ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJsb2NrCmluZGV4IDRiZDllYTUuLjQ0ZjUyYTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1ibG9jawpAQCAtMjYsMyArMjYsMzcgQEAKIAkJSS9PIHN0YXRpc3RpY3Mgb2YgcGFydGl0aW9uIDxwYXJ0Pi4gVGhlIGZvcm1hdCBpcyB0aGUKIAkJc2FtZSBhcyB0aGUgYWJvdmUtd3JpdHRlbiAvc3lzL2Jsb2NrLzxkaXNrPi9zdGF0CiAJCWZvcm1hdC4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L2Zvcm1hdAorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlNZXRhZGF0YSBmb3JtYXQgZm9yIGludGVncml0eSBjYXBhYmxlIGJsb2NrIGRldmljZS4KKwkJRS5nLiBUMTAtRElGLVRZUEUxLUNSQy4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3JlYWRfdmVyaWZ5CitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCUluZGljYXRlcyB3aGV0aGVyIHRoZSBibG9jayBsYXllciBzaG91bGQgdmVyaWZ5IHRoZQorCQlpbnRlZ3JpdHkgb2YgcmVhZCByZXF1ZXN0cyBzZXJ2aWNlZCBieSBkZXZpY2VzIHRoYXQKKwkJc3VwcG9ydCBzZW5kaW5nIGludGVncml0eSBtZXRhZGF0YS4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3RhZ19zaXplCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCU51bWJlciBvZiBieXRlcyBvZiBpbnRlZ3JpdHkgdGFnIHNwYWNlIGF2YWlsYWJsZSBwZXIKKwkJNTEyIGJ5dGVzIG9mIGRhdGEuCisKKworV2hhdDoJCS9zeXMvYmxvY2svPGRpc2s+L2ludGVncml0eS93cml0ZV9nZW5lcmF0ZQorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlJbmRpY2F0ZXMgd2hldGhlciB0aGUgYmxvY2sgbGF5ZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkKKwkJZ2VuZXJhdGUgY2hlY2tzdW1zIGZvciB3cml0ZSByZXF1ZXN0cyBib3VuZCBmb3IKKwkJZGV2aWNlcyB0aGF0IHN1cHBvcnQgcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTg1ZWMyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1idXMtY3NzCkBAIC0wLDAgKzEsMzUgQEAKK1doYXQ6CQkvc3lzL2J1cy9jc3MvZGV2aWNlcy8uLi4vdHlwZQorRGF0ZToJCU1hcmNoIDIwMDgKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgc3ViY2hhbm5lbCB0eXBlLCBhcyByZXBvcnRlZCBieSB0aGUgaGFyZHdhcmUuCisJCVRoaXMgYXR0cmlidXRlIGlzIHByZXNlbnQgZm9yIGFsbCBzdWJjaGFubmVsIHR5cGVzLgorCitXaGF0OgkJL3N5cy9idXMvY3NzL2RldmljZXMvLi4uL21vZGFsaWFzCitEYXRlOgkJTWFyY2ggMjAwOAorQ29udGFjdDoJQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorCQlsaW51eC1zMzkwQHZnZXIua2VybmVsLm9yZworRGVzY3JpcHRpb246CUNvbnRhaW5zIHRoZSBtb2R1bGUgYWxpYXMgYXMgcmVwb3J0ZWQgd2l0aCB1ZXZlbnRzLgorCQlJdCBpcyBvZiB0aGUgZm9ybWF0IGNzczp0PHR5cGU+IGFuZCBwcmVzZW50IGZvciBhbGwKKwkJc3ViY2hhbm5lbCB0eXBlcy4KKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL2NocGlkcworRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgaWRzIG9mIHRoZSBjaGFubmVsIHBhdGhzIHVzZWQgYnkgdGhpcworCQlzdWJjaGFubmVsLCBhcyByZXBvcnRlZCBieSB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0KKwkJZHVyaW5nIHN1YmNoYW5uZWwgcmVjb2duaXRpb24uCisJCU5vdGU6IFRoaXMgaXMgYW4gSS9PLXN1YmNoYW5uZWwgc3BlY2lmaWMgYXR0cmlidXRlLgorVXNlcnM6CQlzMzkwLXRvb2xzLCBIQUwKKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL3BpbXBhbXBvbQorRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgUElNL1BBTS9QT00gdmFsdWVzLCBhcyByZXBvcnRlZCBieSB0aGUKKwkJY2hhbm5lbCBzdWJzeXN0ZW0gd2hlbiBsYXN0IHF1ZXJpZWQgYnkgdGhlIGNvbW1vbiBJL08KKwkJbGF5ZXIgKHRoaXMgaW1wbGllcyB0aGF0IHRoaXMgYXR0cmlidXRlIGlzIG5vdCBuZWNjZXNzYXJpbHkKKwkJaW4gc3luYyB3aXRoIHRoZSB2YWx1ZXMgY3VycmVudCBpbiB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0pLgorCQlOb3RlOiBUaGlzIGlzIGFuIEkvTy1zdWJjaGFubmVsIHNwZWNpZmljIGF0dHJpYnV0ZS4KK1VzZXJzOgkJczM5MC10b29scywgSEFMCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcCBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZmlybXdhcmUtbWVtbWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkOTllZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcApAQCAtMCwwICsxLDcxIEBACitXaGF0OgkJL3N5cy9maXJtd2FyZS9tZW1tYXAvCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CitEZXNjcmlwdGlvbjoKKwkJT24gYWxsIHBsYXRmb3JtcywgdGhlIGZpcm13YXJlIHByb3ZpZGVzIGEgbWVtb3J5IG1hcCB3aGljaCB0aGUKKwkJa2VybmVsIHJlYWRzLiBUaGUgcmVzb3VyY2VzIGZyb20gdGhhdCBtZW1vcnkgbWFwIGFyZSByZWdpc3RlcmVkCisJCWluIHRoZSBrZXJuZWwgcmVzb3VyY2UgdHJlZSBhbmQgZXhwb3NlZCB0byB1c2Vyc3BhY2UgdmlhCisJCS9wcm9jL2lvbWVtICh0b2dldGhlciB3aXRoIG90aGVyIHJlc291cmNlcykuCisKKwkJSG93ZXZlciwgb24gbW9zdCBhcmNoaXRlY3R1cmVzIHRoYXQgZmlybXdhcmUtcHJvdmlkZWQgbWVtb3J5CisJCW1hcCBpcyBtb2RpZmllZCBhZnRlcndhcmRzIGJ5IHRoZSBrZXJuZWwgaXRzZWxmLCBlaXRoZXIgYmVjYXVzZQorCQl0aGUga2VybmVsIG1lcmdlcyB0aGF0IG1lbW9yeSBtYXAgd2l0aCBvdGhlciBpbmZvcm1hdGlvbiBvcgorCQlqdXN0IGJlY2F1c2UgdGhlIHVzZXIgb3ZlcndyaXRlcyB0aGF0IG1lbW9yeSBtYXAgdmlhIGNvbW1hbmQKKwkJbGluZS4KKworCQlrZXhlYyBuZWVkcyB0aGUgcmF3IGZpcm13YXJlLXByb3ZpZGVkIG1lbW9yeSBtYXAgdG8gc2V0dXAgdGhlCisJCXBhcmFtZXRlciBzZWdtZW50IG9mIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgYm9vdGVkIHdpdGgKKwkJa2V4ZWMuIEFsc28sIHRoZSByYXcgbWVtb3J5IG1hcCBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZy4gRm9yCisJCXRoYXQgcmVhc29uLCAvc3lzL2Zpcm13YXJlL21lbW1hcCBpcyBhbiBpbnRlcmZhY2UgdGhhdCBwcm92aWRlcworCQl0aGUgcmF3IG1lbW9yeSBtYXAgdG8gdXNlcnNwYWNlLgorCisJCVRoZSBzdHJ1Y3R1cmUgaXMgYXMgZm9sbG93czogVW5kZXIgL3N5cy9maXJtd2FyZS9tZW1tYXAgdGhlcmUKKwkJYXJlIHN1YmRpcmVjdG9yaWVzIHdpdGggdGhlIG51bWJlciBvZiB0aGUgZW50cnkgYXMgdGhlaXIgbmFtZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMgorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMworCQkJLi4uCisKKwkJVGhlIG1heGltdW0gZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIG1lbW9yeSBtYXAgZW50cmllcyBwcm92aWRlZAorCQlieSB0aGUgZmlybXdhcmUuIFRoZSBvcmRlciBpcyBqdXN0IHRoZSBvcmRlciB0aGF0IHRoZSBmaXJtd2FyZQorCQlwcm92aWRlcy4KKworCQlFYWNoIGRpcmVjdG9yeSBjb250YWlucyB0aHJlZSBmaWxlczoKKworCQlzdGFydAk6IFRoZSBzdGFydCBhZGRyZXNzIChhcyBoZXhhZGVjaW1hbCBudW1iZXIgd2l0aCB0aGUKKwkJCSAgJzB4JyBwcmVmaXgpLgorCQllbmQJOiBUaGUgZW5kIGFkZHJlc3MsIGluY2x1c2l2ZSAocmVnYXJkbGVzcyB3aGV0aGVyIHRoZQorCQkJICBmaXJtd2FyZSBwcm92aWRlcyBpbmNsdXNpdmUgb3IgZXhjbHVzaXZlIHJhbmdlcykuCisJCXR5cGUJOiBUeXBlIG9mIHRoZSBlbnRyeSBhcyBzdHJpbmcuIFNlZSBiZWxvdyBmb3IgYSBsaXN0IG9mCisJCQkgIHZhbGlkIHR5cGVzLgorCisJCVNvLCBmb3IgZXhhbXBsZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9zdGFydAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9lbmQKKwkJCS9zeXMvZmlybXdhcmUvbWVtbWFwLzAvdHlwZQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMS9zdGFydAorCQkJLi4uCisKKwkJQ3VycmVudGx5IGZvbGxvd2luZyB0eXBlcyBleGlzdDoKKworCQkgIC0gU3lzdGVtIFJBTQorCQkgIC0gQUNQSSBUYWJsZXMKKwkJICAtIEFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UKKwkJICAtIHJlc2VydmVkCisKKwkJRm9sbG93aW5nIHNoZWxsIHNuaXBwZXQgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSB0aGF0IG1lbW9yeQorCQltYXAgaW4gYSBodW1hbi1yZWFkYWJsZSBmb3JtYXQ6CisKKwkJLS0tLS0tLS0tLS0tLS0tLS0tLS0gODwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkgICMhL2Jpbi9iYXNoCisJCSAgY2QgL3N5cy9maXJtd2FyZS9tZW1tYXAKKwkJICBmb3IgZGlyIGluICogOyBkbworCQkgICAgICBzdGFydD0kKGNhdCAkZGlyL3N0YXJ0KQorCQkgICAgICBlbmQ9JChjYXQgJGRpci9lbmQpCisJCSAgICAgIHR5cGU9JChjYXQgJGRpci90eXBlKQorCQkgICAgICBwcmludGYgIiUwMTZ4LSUwMTZ4ICglcylcbiIgJHN0YXJ0ICRbICRlbmQgKzFdICIkdHlwZSIKKwkJICBkb25lCisJCS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSE9XVE8gYi9Eb2N1bWVudGF0aW9uL0hPV1RPCmluZGV4IDAyOTFhZGUuLjYxOWU4Y2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vSE9XVE8KKysrIGIvRG9jdW1lbnRhdGlvbi9IT1dUTwpAQCAtMzc3LDcgKzM3Nyw3IEBACiBidWd6aWxsYS5rZXJuZWwub3JnIGlzIHdoZXJlIHRoZSBMaW51eCBrZXJuZWwgZGV2ZWxvcGVycyB0cmFjayBrZXJuZWwKIGJ1Z3MuICBVc2VycyBhcmUgZW5jb3VyYWdlZCB0byByZXBvcnQgYWxsIGJ1Z3MgdGhhdCB0aGV5IGZpbmQgaW4gdGhpcwogdG9vbC4gIEZvciBkZXRhaWxzIG9uIGhvdyB0byB1c2UgdGhlIGtlcm5lbCBidWd6aWxsYSwgcGxlYXNlIHNlZToKLQlodHRwOi8vdGVzdC5rZXJuZWwub3JnL2J1Z3ppbGxhL2ZhcS5odG1sCisJaHR0cDovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvcGFnZS5jZ2k/aWQ9ZmFxLmh0bWwKIAogVGhlIGZpbGUgUkVQT1JUSU5HLUJVR1MgaW4gdGhlIG1haW4ga2VybmVsIHNvdXJjZSBkaXJlY3RvcnkgaGFzIGEgZ29vZAogdGVtcGxhdGUgZm9yIGhvdyB0byByZXBvcnQgYSBwb3NzaWJsZSBrZXJuZWwgYnVnLCBhbmQgZGV0YWlscyB3aGF0IGtpbmQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dCBiL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dAppbmRleCA5MzhkN2RkLi5iNGE2MTViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0lSUS1hZmZpbml0eS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9JUlEtYWZmaW5pdHkudHh0CkBAIC0xLDE3ICsxLDI2IEBACitDaGFuZ2VMb2c6CisJU3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKwlVcGRhdGUgYnkgTWF4IEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotU01QIElSUSBhZmZpbml0eSwgc3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KLQorU01QIElSUSBhZmZpbml0eQogCiAvcHJvYy9pcnEvSVJRIy9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIHdoaWNoIHRhcmdldCBDUFVzIGFyZSBwZXJtaXR0ZWQKIGZvciBhIGdpdmVuIElSUSBzb3VyY2UuIEl0J3MgYSBiaXRtYXNrIG9mIGFsbG93ZWQgQ1BVcy4gSXQncyBub3QgYWxsb3dlZAogdG8gdHVybiBvZmYgYWxsIENQVXMsIGFuZCBpZiBhbiBJUlEgY29udHJvbGxlciBkb2VzIG5vdCBzdXBwb3J0IElSUQogYWZmaW5pdHkgdGhlbiB0aGUgdmFsdWUgd2lsbCBub3QgY2hhbmdlIGZyb20gdGhlIGRlZmF1bHQgMHhmZmZmZmZmZi4KIAotSGVyZSBpcyBhbiBleGFtcGxlIG9mIHJlc3RyaWN0aW5nIElSUTQ0IChldGgxKSB0byBDUFUwLTMgdGhlbiByZXN0cmljdGluZwotdGhlIElSUSB0byBDUFU0LTcgKHRoaXMgaXMgYW4gOC1DUFUgU01QIGJveCk6CisvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIGRlZmF1bHQgYWZmaW5pdHkgbWFzayB0aGF0IGFwcGxpZXMKK3RvIGFsbCBub24tYWN0aXZlIElSUXMuIE9uY2UgSVJRIGlzIGFsbG9jYXRlZC9hY3RpdmF0ZWQgaXRzIGFmZmluaXR5IGJpdG1hc2sKK3dpbGwgYmUgc2V0IHRvIHRoZSBkZWZhdWx0IG1hc2suIEl0IGNhbiB0aGVuIGJlIGNoYW5nZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorRGVmYXVsdCBtYXNrIGlzIDB4ZmZmZmZmZmYuCiAKK0hlcmUgaXMgYW4gZXhhbXBsZSBvZiByZXN0cmljdGluZyBJUlE0NCAoZXRoMSkgdG8gQ1BVMC0zIHRoZW4gcmVzdHJpY3RpbmcKK2l0IHRvIENQVTQtNyAodGhpcyBpcyBhbiA4LUNQVSBTTVAgYm94KToKKworW3Jvb3RAbW9vbiA0NF0jIGNkIC9wcm9jL2lycS80NAogW3Jvb3RAbW9vbiA0NF0jIGNhdCBzbXBfYWZmaW5pdHkKIGZmZmZmZmZmCisKIFtyb290QG1vb24gNDRdIyBlY2hvIDBmID4gc21wX2FmZmluaXR5CiBbcm9vdEBtb29uIDQ0XSMgY2F0IHNtcF9hZmZpbml0eQogMDAwMDAwMGYKQEAgLTIxLDE3ICszMCwyNyBAQAogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogNjAyOSBwYWNrZXRzIHRyYW5zbWl0dGVkLCA2MDI3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuMS8wLjQgbXMKLVtyb290QG1vb24gNDRdIyBjYXQgL3Byb2MvaW50ZXJydXB0cyB8IGdyZXAgNDQ6Ci0gNDQ6ICAgICAgICAgIDAgICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgMTc4MyAgICAgICAgICAxCi0xICAgICAgICAgIDAgICBJTy1BUElDLWxldmVsICBldGgxCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCBncmVwICdDUFVcfDQ0OicKKyAgICAgICAgICAgQ1BVMCAgICAgICBDUFUxICAgICAgIENQVTIgICAgICAgQ1BVMyAgICAgIENQVTQgICAgICAgQ1BVNSAgICAgICAgQ1BVNiAgICAgICBDUFU3CisgNDQ6ICAgICAgIDEwNjggICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgIDAgICAgICAgICAwICAgIElPLUFQSUMtbGV2ZWwgIGV0aDEKKworQXMgY2FuIGJlIHNlZW4gZnJvbSB0aGUgbGluZSBhYm92ZSBJUlE0NCB3YXMgZGVsaXZlcmVkIG9ubHkgdG8gdGhlIGZpcnN0IGZvdXIKK3Byb2Nlc3NvcnMgKDAtMykuCitOb3cgbGV0cyByZXN0cmljdCB0aGF0IElSUSB0byBDUFUoNC03KS4KKwogW3Jvb3RAbW9vbiA0NF0jIGVjaG8gZjAgPiBzbXBfYWZmaW5pdHkKK1tyb290QG1vb24gNDRdIyBjYXQgc21wX2FmZmluaXR5CiswMDAwMDBmMAogW3Jvb3RAbW9vbiA0NF0jIHBpbmcgLWYgaAogUElORyBoZWxsICgxOTUuNC43LjMpOiA1NiBkYXRhIGJ5dGVzCiAuLgogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogMjc3OSBwYWNrZXRzIHRyYW5zbWl0dGVkLCAyNzc3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuNS81ODUuNCBtcwotW3Jvb3RAbW9vbiA0NF0jIGNhdCAvcHJvYy9pbnRlcnJ1cHRzIHwgZ3JlcCA0NDoKLSA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4NCAgICAgICAxNzg0ICAgICAgIDEwNjkgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQotW3Jvb3RAbW9vbiA0NF0jCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCAgJ0NQVVx8NDQ6JworICAgICAgICAgICBDUFUwICAgICAgIENQVTEgICAgICAgQ1BVMiAgICAgICBDUFUzICAgICAgQ1BVNCAgICAgICBDUFU1ICAgICAgICBDUFU2ICAgICAgIENQVTcKKyA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4MyAgICAgIDE3ODQgICAgICAgMTA2OSAgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQorCitUaGlzIHRpbWUgYXJvdW5kIElSUTQ0IHdhcyBkZWxpdmVyZWQgb25seSB0byB0aGUgbGFzdCBmb3VyIHByb2Nlc3NvcnMuCitpLmUgY291bnRlcnMgZm9yIHRoZSBDUFUwLTMgZGlkIG5vdCBjaGFuZ2UuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUkNVL05NSS1SQ1UudHh0IGIvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKaW5kZXggYzY0MTU4ZS4uYTZkMzJlNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKQEAgLTkzLDYgKzkzLDkgQEAKIG5vdCB0byByZXR1cm4gdW50aWwgYWxsIG9uZ29pbmcgTk1JIGhhbmRsZXJzIGV4aXQuICBJdCBpcyB0aGVyZWZvcmUgc2FmZQogdG8gZnJlZSB1cCB0aGUgaGFuZGxlcidzIGRhdGEgYXMgc29vbiBhcyBzeW5jaHJvbml6ZV9zY2hlZCgpIHJldHVybnMuCiAKK0ltcG9ydGFudCBub3RlOiBmb3IgdGhpcyB0byB3b3JrLCB0aGUgYXJjaGl0ZWN0dXJlIGluIHF1ZXN0aW9uIG11c3QKK2ludm9rZSBpcnFfZW50ZXIoKSBhbmQgaXJxX2V4aXQoKSBvbiBOTUkgZW50cnkgYW5kIGV4aXQsIHJlc3BlY3RpdmVseS4KKwogCiBBbnN3ZXIgdG8gUXVpY2sgUXVpegogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JDVS9SVEZQLnR4dCBiL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CmluZGV4IDM5YWQ4ZjUuLjlmNzExZDIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CkBAIC01Miw2ICs1MiwxMCBAQAogc3RydWN0dXJlZCBkYXRhLCBzdWNoIGFzIHRoZSBtYXRyaWNlcyB1c2VkIGluIHNjaWVudGlmaWMgcHJvZ3JhbXMsIGFuZAogaXMgdGh1cyBpbmFwcGxpY2FibGUgdG8gbW9zdCBkYXRhIHN0cnVjdHVyZXMgaW4gb3BlcmF0aW5nLXN5c3RlbSBrZXJuZWxzLgogCitJbiAxOTkyLCBIZW5yeSAobm93IEFsZXhpYSkgTWFzc2FsaW4gY29tcGxldGVkIGEgZGlzc2VydGF0aW9uIGFkdmlzaW5nCitwYXJhbGxlbCBwcm9ncmFtbWVycyB0byBkZWZlciBwcm9jZXNzaW5nIHdoZW4gZmVhc2libGUgdG8gc2ltcGxpZnkKK3N5bmNocm9uaXphdGlvbi4gIFJDVSBtYWtlcyBleHRyZW1lbHkgaGVhdnkgdXNlIG9mIHRoaXMgYWR2aWNlLgorCiBJbiAxOTkzLCBKYWNvYnNvbiBbSmFjb2Jzb245M10gdmVyYmFsbHkgZGVzY3JpYmVkIHdoYXQgaXMgcGVyaGFwcyB0aGUKIHNpbXBsZXN0IGRlZmVycmVkLWZyZWUgdGVjaG5pcXVlOiBzaW1wbHkgd2FpdGluZyBhIGZpeGVkIGFtb3VudCBvZiB0aW1lCiBiZWZvcmUgZnJlZWluZyBibG9ja3MgYXdhaXRpbmcgZGVmZXJyZWQgZnJlZS4gIEphY29ic29uIGRpZCBub3QgZGVzY3JpYmUKQEAgLTEzOCw2ICsxNDIsMTMgQEAKIFJvYmVydCBPbHNzb24gZGVzY3JpYmVkIGFuIFJDVS1wcm90ZWN0ZWQgdHJpZS1oYXNoIGNvbWJpbmF0aW9uCiBbUm9iZXJ0T2xzc29uMjAwNmFdLgogCisyMDA3IHNhdyB0aGUgam91cm5hbCB2ZXJzaW9uIG9mIHRoZSBhd2FyZC13aW5uaW5nIFJDVSBwYXBlciBmcm9tIDIwMDYKK1tUaG9tYXNFSGFydDIwMDdhXSwgYXMgd2VsbCBhcyBhIHBhcGVyIGRlbW9uc3RyYXRpbmcgdXNlIG9mIFByb21lbGEKK2FuZCBTcGluIHRvIG1lY2hhbmljYWxseSB2ZXJpZnkgYW4gb3B0aW1pemF0aW9uIHRvIE9sZWcgTmVzdGVyb3YncworUVJDVSBbUGF1bEVNY0tlbm5leTIwMDdRUkNVc3Bpbl0sIGEgZGVzaWduIGRvY3VtZW50IGRlc2NyaWJpbmcKK3ByZWVtcHRpYmxlIFJDVSBbUGF1bEVNY0tlbm5leTIwMDdQcmVlbXB0aWJsZVJDVV0sIGFuZCB0aGUgdGhyZWUtcGFydAorTFdOICJXaGF0IGlzIFJDVT8iIHNlcmllcyBbUGF1bEVNY0tlbm5leTIwMDdXaGF0SXNSQ1VGdW5kYW1lbnRhbGx5LAorUGF1bEVNY0tlbm5leTIwMDhXaGF0SXNSQ1VVc2FnZSwgYW5kIFBhdWxFTWNLZW5uZXkyMDA4V2hhdElzUkNVQVBJXS4KIAogQmlidGV4IEVudHJpZXMKIApAQCAtMjAyLDYgKzIxMywyMCBAQAogLFllYXI9IjE5OTEiCiB9CiAKK0BwaGR0aGVzaXN7SE1hc3NhbGluUGhECissYXV0aG9yPSJILiBNYXNzYWxpbiIKKyx0aXRsZT0iU3ludGhlc2lzOiBBbiBFZmZpY2llbnQgSW1wbGVtZW50YXRpb24gb2YgRnVuZGFtZW50YWwgT3BlcmF0aW5nCitTeXN0ZW0gU2VydmljZXMiCissc2Nob29sPSJDb2x1bWJpYSBVbml2ZXJzaXR5IgorLGFkZHJlc3M9Ik5ldyBZb3JrLCBOWSIKKyx5ZWFyPSIxOTkyIgorLGFubm90YXRpb249IgorCU1vbmRvIG9wdGltaXppbmcgY29tcGlsZXIuCisJV2FpdC1mcmVlIHN0dWZmLgorCUdvb2QgYWR2aWNlOiBkZWZlciB3b3JrIHRvIGF2b2lkIHN5bmNocm9uaXphdGlvbi4KKyIKK30KKwogQHVucHVibGlzaGVke0phY29ic29uOTMKICxhdXRob3I9IlZhbiBKYWNvYnNvbiIKICx0aXRsZT0iQXZvaWQgUmVhZC1TaWRlIExvY2tpbmcgVmlhIERlbGF5ZWQgRnJlZSIKQEAgLTYzNSwzICs2NjAsODYgQEAKICIKIH0KIAorQHVucHVibGlzaGVke1BhdWxFTWNLZW5uZXkyMDA3UHJlZW1wdGlibGVSQ1UKKyxBdXRob3I9IlBhdWwgRS4gTWNLZW5uZXkiCissVGl0bGU9IlRoZSBkZXNpZ24gb2YgcHJlZW1wdGlibGUgcmVhZC1jb3B5LXVwZGF0ZSIKKyxtb250aD0iT2N0b2JlciIKKyxkYXk9IjgiCisseWVhcj0iMjAwNyIKKyxub3RlPSJBdmFpbGFibGU6CitcdXJse2h0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI1MzY1MS99CitbVmlld2VkIE9jdG9iZXIgMjUsIDIwMDddIgorLGFubm90YXRpb249IgorCUxXTiBhcnRpY2xlIGRlc2NyaWJpbmcgdGhlIGRlc2lnbiBvZiBwcmVlbXB0aWJsZSBSQ1UuCisiCit9CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIwkiV2hhdCBpcyBSQ1U/IiBMV04gc2VyaWVzLgorIworCitAdW5wdWJsaXNoZWR7UGF1bEVNY0tlbm5leTIwMDdXaGF0SXNSQ1VGdW5kYW1lbnRhbGx5CissQXV0aG9yPSJQYXVsIEUuIE1jS2VubmV5IGFuZCBKb25hdGhhbiBXYWxwb2xlIgorLFRpdGxlPSJXaGF0IGlzIHtSQ1V9LCBGdW5kYW1lbnRhbGx5PyIKKyxtb250aD0iRGVjZW1iZXIiCissZGF5PSIxNyIKKyx5ZWFyPSIyMDA3IgorLG5vdGU9IkF2YWlsYWJsZToKK1x1cmx7aHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjYyNDY0L30KK1tWaWV3ZWQgRGVjZW1iZXIgMjcsIDIwMDddIgorLGFubm90YXRpb249IgorCUxheXMgb3V0IHRoZSB0aHJlZSBiYXNpYyBjb21wb25lbnRzIG9mIFJDVTogKDEpIHB1Ymxpc2gtc3Vic2NyaWJlLAorCSgyKSB3YWl0IGZvciBwcmUtZXhpc3RpbmcgcmVhZGVycyB0byBjb21wbGV0ZSwgYW5kICgyKSBtYWludGFpbgorCW11bHRpcGxlIHZlcnNpb25zLgorIgorfQorCitAdW5wdWJsaXNoZWR7UGF1bEVNY0tlbm5leTIwMDhXaGF0SXNSQ1VVc2FnZQorLEF1dGhvcj0iUGF1bCBFLiBNY0tlbm5leSIKKyxUaXRsZT0iV2hhdCBpcyB7UkNVfT8gUGFydCAyOiBVc2FnZSIKKyxtb250aD0iSmFudWFyeSIKKyxkYXk9IjQiCisseWVhcj0iMjAwOCIKKyxub3RlPSJBdmFpbGFibGU6CitcdXJse2h0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI2MzEzMC99CitbVmlld2VkIEphbnVhcnkgNCwgMjAwOF0iCissYW5ub3RhdGlvbj0iCisJTGF5cyBvdXQgc2l4IHVzZXMgb2YgUkNVOgorCTEuIFJDVSBpcyBhIFJlYWRlci1Xcml0ZXIgTG9jayBSZXBsYWNlbWVudAorCTIuIFJDVSBpcyBhIFJlc3RyaWN0ZWQgUmVmZXJlbmNlLUNvdW50aW5nIE1lY2hhbmlzbQorCTMuIFJDVSBpcyBhIEJ1bGsgUmVmZXJlbmNlLUNvdW50aW5nIE1lY2hhbmlzbQorCTQuIFJDVSBpcyBhIFBvb3IgTWFuJ3MgR2FyYmFnZSBDb2xsZWN0b3IKKwk1LiBSQ1UgaXMgYSBXYXkgb2YgUHJvdmlkaW5nIEV4aXN0ZW5jZSBHdWFyYW50ZWVzCisJNi4gUkNVIGlzIGEgV2F5IG9mIFdhaXRpbmcgZm9yIFRoaW5ncyB0byBGaW5pc2ggCisiCit9CisKK0B1bnB1Ymxpc2hlZHtQYXVsRU1jS2VubmV5MjAwOFdoYXRJc1JDVUFQSQorLEF1dGhvcj0iUGF1bCBFLiBNY0tlbm5leSIKKyxUaXRsZT0ie1JDVX0gcGFydCAzOiB0aGUge1JDVX0ge0FQSX0iCissbW9udGg9IkphbnVhcnkiCissZGF5PSIxNyIKKyx5ZWFyPSIyMDA4IgorLG5vdGU9IkF2YWlsYWJsZToKK1x1cmx7aHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjY0MDkwL30KK1tWaWV3ZWQgSmFudWFyeSAxMCwgMjAwOF0iCissYW5ub3RhdGlvbj0iCisJR2l2ZXMgYW4gb3ZlcnZpZXcgb2YgdGhlIExpbnV4LWtlcm5lbCBSQ1UgQVBJIGFuZCBhIGJyaWVmIGFubm90YXRlZCBSQ1UKKwliaWJsaW9ncmFwaHkuCisiCit9CisKK0BhcnRpY2xle0RpbmFrYXJHdW5pZ3VudGFsYTIwMDhJQk1TeXNKCissYXV0aG9yPSJELiBHdW5pZ3VudGFsYSBhbmQgUC4gRS4gTWNLZW5uZXkgYW5kIEouIFRyaXBsZXR0IGFuZCBKLiBXYWxwb2xlIgorLHRpdGxlPSJUaGUgcmVhZC1jb3B5LXVwZGF0ZSBtZWNoYW5pc20gZm9yIHN1cHBvcnRpbmcgcmVhbC10aW1lIGFwcGxpY2F0aW9ucyBvbiBzaGFyZWQtbWVtb3J5IG11bHRpcHJvY2Vzc29yIHN5c3RlbXMgd2l0aCB7TGludXh9IgorLFllYXI9IjIwMDgiCissTW9udGg9IkFwcmlsIgorLGpvdXJuYWw9IklCTSBTeXN0ZW1zIEpvdXJuYWwiCissdm9sdW1lPSI0NyIKKyxudW1iZXI9IjIiCisscGFnZXM9IkBALUBAIgorLGFubm90YXRpb249IgorCVJDVSwgcmVhbHRpbWUgUkNVLCBzbGVlcGFibGUgUkNVLCBwZXJmb3JtYW5jZS4KKyIKK30KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUkNVL2NoZWNrbGlzdC50eHQgYi9Eb2N1bWVudGF0aW9uL1JDVS9jaGVja2xpc3QudHh0CmluZGV4IDQyYjAxYmMuLmNmNTU2MmMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUkNVL2NoZWNrbGlzdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SQ1UvY2hlY2tsaXN0LnR4dApAQCAtMTMsMTAgKzEzLDEzIEBACiAJZGV0YWlsZWQgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzIHNob3cgdGhhdCBSQ1UgaXMgbm9uZXRoZWxlc3MKIAl0aGUgcmlnaHQgdG9vbCBmb3IgdGhlIGpvYi4KIAotCVRoZSBvdGhlciBleGNlcHRpb24gd291bGQgYmUgd2hlcmUgcGVyZm9ybWFuY2UgaXMgbm90IGFuIGlzc3VlLAotCWFuZCBSQ1UgcHJvdmlkZXMgYSBzaW1wbGVyIGltcGxlbWVudGF0aW9uLiAgQW4gZXhhbXBsZSBvZiB0aGlzCi0Jc2l0dWF0aW9uIGlzIHRoZSBkeW5hbWljIE5NSSBjb2RlIGluIHRoZSBMaW51eCAyLjYga2VybmVsLAotCWF0IGxlYXN0IG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUgTk1JcyBhcmUgcmFyZS4KKwlBbm90aGVyIGV4Y2VwdGlvbiBpcyB3aGVyZSBwZXJmb3JtYW5jZSBpcyBub3QgYW4gaXNzdWUsIGFuZCBSQ1UKKwlwcm92aWRlcyBhIHNpbXBsZXIgaW1wbGVtZW50YXRpb24uICBBbiBleGFtcGxlIG9mIHRoaXMgc2l0dWF0aW9uCisJaXMgdGhlIGR5bmFtaWMgTk1JIGNvZGUgaW4gdGhlIExpbnV4IDIuNiBrZXJuZWwsIGF0IGxlYXN0IG9uCisJYXJjaGl0ZWN0dXJlcyB3aGVyZSBOTUlzIGFyZSByYXJlLgorCisJWWV0IGFub3RoZXIgZXhjZXB0aW9uIGlzIHdoZXJlIHRoZSBsb3cgcmVhbC10aW1lIGxhdGVuY3kgb2YgUkNVJ3MKKwlyZWFkLXNpZGUgcHJpbWl0aXZlcyBpcyBjcml0aWNhbGx5IGltcG9ydGFudC4KIAogMS4JRG9lcyB0aGUgdXBkYXRlIGNvZGUgaGF2ZSBwcm9wZXIgbXV0dWFsIGV4Y2x1c2lvbj8KIApAQCAtMzksOSArNDIsMTAgQEAKIAogMi4JRG8gdGhlIFJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgbWFrZSBwcm9wZXIgdXNlIG9mCiAJcmN1X3JlYWRfbG9jaygpIGFuZCBmcmllbmRzPyAgVGhlc2UgcHJpbWl0aXZlcyBhcmUgbmVlZGVkCi0JdG8gc3VwcHJlc3MgcHJlZW1wdGlvbiAob3IgYm90dG9tIGhhbHZlcywgaW4gdGhlIGNhc2Ugb2YKLQlyY3VfcmVhZF9sb2NrX2JoKCkpIGluIHRoZSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMsCi0JYW5kIGFyZSBhbHNvIGFuIGV4Y2VsbGVudCBhaWQgdG8gcmVhZGFiaWxpdHkuCisJdG8gcHJldmVudCBncmFjZSBwZXJpb2RzIGZyb20gZW5kaW5nIHByZW1hdHVyZWx5LCB3aGljaAorCWNvdWxkIHJlc3VsdCBpbiBkYXRhIGJlaW5nIHVuY2VyZW1vbmlvdXNseSBmcmVlZCBvdXQgZnJvbQorCXVuZGVyIHlvdXIgcmVhZC1zaWRlIGNvZGUsIHdoaWNoIGNhbiBncmVhdGx5IGluY3JlYXNlIHRoZQorCWFjdHVhcmlhbCByaXNrIG9mIHlvdXIga2VybmVsLgogCiAJQXMgYSByb3VnaCBydWxlIG9mIHRodW1iLCBhbnkgZGVyZWZlcmVuY2Ugb2YgYW4gUkNVLXByb3RlY3RlZAogCXBvaW50ZXIgbXVzdCBiZSBjb3ZlcmVkIGJ5IHJjdV9yZWFkX2xvY2soKSBvciByY3VfcmVhZF9sb2NrX2JoKCkKQEAgLTU0LDE1ICs1OCwzMCBAQAogCWJlIHJ1bm5pbmcgd2hpbGUgdXBkYXRlcyBhcmUgaW4gcHJvZ3Jlc3MuICBUaGVyZSBhcmUgYSBudW1iZXIKIAlvZiB3YXlzIHRvIGhhbmRsZSB0aGlzIGNvbmN1cnJlbmN5LCBkZXBlbmRpbmcgb24gdGhlIHNpdHVhdGlvbjoKIAotCWEuCU1ha2UgdXBkYXRlcyBhcHBlYXIgYXRvbWljIHRvIHJlYWRlcnMuICBGb3IgZXhhbXBsZSwKKwlhLglVc2UgdGhlIFJDVSB2YXJpYW50cyBvZiB0aGUgbGlzdCBhbmQgaGxpc3QgdXBkYXRlCisJCXByaW1pdGl2ZXMgdG8gYWRkLCByZW1vdmUsIGFuZCByZXBsYWNlIGVsZW1lbnRzIG9uIGFuCisJCVJDVS1wcm90ZWN0ZWQgbGlzdC4gIEFsdGVybmF0aXZlbHksIHVzZSB0aGUgUkNVLXByb3RlY3RlZAorCQl0cmVlcyB0aGF0IGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgTGludXgga2VybmVsLgorCisJCVRoaXMgaXMgYWxtb3N0IGFsd2F5cyB0aGUgYmVzdCBhcHByb2FjaC4KKworCWIuCVByb2NlZWQgYXMgaW4gKGEpIGFib3ZlLCBidXQgYWxzbyBtYWludGFpbiBwZXItZWxlbWVudAorCQlsb2NrcyAodGhhdCBhcmUgYWNxdWlyZWQgYnkgYm90aCByZWFkZXJzIGFuZCB3cml0ZXJzKQorCQl0aGF0IGd1YXJkIHBlci1lbGVtZW50IHN0YXRlLiAgT2YgY291cnNlLCBmaWVsZHMgdGhhdAorCQl0aGUgcmVhZGVycyByZWZyYWluIGZyb20gYWNjZXNzaW5nIGNhbiBiZSBndWFyZGVkIGJ5IHRoZQorCQl1cGRhdGUtc2lkZSBsb2NrLgorCisJCVRoaXMgd29ya3MgcXVpdGUgd2VsbCwgYWxzby4KKworCWMuCU1ha2UgdXBkYXRlcyBhcHBlYXIgYXRvbWljIHRvIHJlYWRlcnMuICBGb3IgZXhhbXBsZSwKIAkJcG9pbnRlciB1cGRhdGVzIHRvIHByb3Blcmx5IGFsaWduZWQgZmllbGRzIHdpbGwgYXBwZWFyCiAJCWF0b21pYywgYXMgd2lsbCBpbmRpdmlkdWFsIGF0b21pYyBwcmltaXRpdmVzLiAgT3BlcmF0aW9ucwogCQlwZXJmb3JtZWQgdW5kZXIgYSBsb2NrIGFuZCBzZXF1ZW5jZXMgb2YgbXVsdGlwbGUgYXRvbWljCiAJCXByaW1pdGl2ZXMgd2lsbCAtbm90LSBhcHBlYXIgdG8gYmUgYXRvbWljLgogCi0JCVRoaXMgaXMgYWxtb3N0IGFsd2F5cyB0aGUgYmVzdCBhcHByb2FjaC4KKwkJVGhpcyBjYW4gd29yaywgYnV0IGlzIHN0YXJ0aW5nIHRvIGdldCBhIGJpdCB0cmlja3kuCiAKLQliLglDYXJlZnVsbHkgb3JkZXIgdGhlIHVwZGF0ZXMgYW5kIHRoZSByZWFkcyBzbyB0aGF0CisJZC4JQ2FyZWZ1bGx5IG9yZGVyIHRoZSB1cGRhdGVzIGFuZCB0aGUgcmVhZHMgc28gdGhhdAogCQlyZWFkZXJzIHNlZSB2YWxpZCBkYXRhIGF0IGFsbCBwaGFzZXMgb2YgdGhlIHVwZGF0ZS4KIAkJVGhpcyBpcyBvZnRlbiBtb3JlIGRpZmZpY3VsdCB0aGFuIGl0IHNvdW5kcywgZXNwZWNpYWxseQogCQlnaXZlbiBtb2Rlcm4gQ1BVcycgdGVuZGVuY3kgdG8gcmVvcmRlciBtZW1vcnkgcmVmZXJlbmNlcy4KQEAgLTEyMywxOCArMTQyLDIyIEBACiAJCXdoZW4gcHVibGljaXppbmcgYSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIHRoYXQgY2FuCiAJCWJlIHRyYXZlcnNlZCBieSBhbiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb24uCiAKLTUuCUlmIGNhbGxfcmN1KCksIG9yIGEgcmVsYXRlZCBwcmltaXRpdmUgc3VjaCBhcyBjYWxsX3JjdV9iaCgpLAotCWlzIHVzZWQsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtdXN0IGJlIHdyaXR0ZW4gdG8gYmUgY2FsbGVkCi0JZnJvbSBzb2Z0aXJxIGNvbnRleHQuICBJbiBwYXJ0aWN1bGFyLCBpdCBjYW5ub3QgYmxvY2suCis1LglJZiBjYWxsX3JjdSgpLCBvciBhIHJlbGF0ZWQgcHJpbWl0aXZlIHN1Y2ggYXMgY2FsbF9yY3VfYmgoKSBvcgorCWNhbGxfcmN1X3NjaGVkKCksIGlzIHVzZWQsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtdXN0IGJlCisJd3JpdHRlbiB0byBiZSBjYWxsZWQgZnJvbSBzb2Z0aXJxIGNvbnRleHQuICBJbiBwYXJ0aWN1bGFyLAorCWl0IGNhbm5vdCBibG9jay4KIAogNi4JU2luY2Ugc3luY2hyb25pemVfcmN1KCkgY2FuIGJsb2NrLCBpdCBjYW5ub3QgYmUgY2FsbGVkIGZyb20KLQlhbnkgc29ydCBvZiBpcnEgY29udGV4dC4KKwlhbnkgc29ydCBvZiBpcnEgY29udGV4dC4gIERpdHRvIGZvciBzeW5jaHJvbml6ZV9zY2hlZCgpIGFuZAorCXN5bmNocm9uaXplX3NyY3UoKS4KIAogNy4JSWYgdGhlIHVwZGF0ZXIgdXNlcyBjYWxsX3JjdSgpLCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIHJlYWRlcnMKIAltdXN0IHVzZSByY3VfcmVhZF9sb2NrKCkgYW5kIHJjdV9yZWFkX3VubG9jaygpLiAgSWYgdGhlIHVwZGF0ZXIKIAl1c2VzIGNhbGxfcmN1X2JoKCksIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgcmVhZGVycyBtdXN0IHVzZQotCXJjdV9yZWFkX2xvY2tfYmgoKSBhbmQgcmN1X3JlYWRfdW5sb2NrX2JoKCkuICBNaXhpbmcgdGhpbmdzIHVwCi0Jd2lsbCByZXN1bHQgaW4gY29uZnVzaW9uIGFuZCBicm9rZW4ga2VybmVscy4KKwlyY3VfcmVhZF9sb2NrX2JoKCkgYW5kIHJjdV9yZWFkX3VubG9ja19iaCgpLiAgSWYgdGhlIHVwZGF0ZXIKKwl1c2VzIGNhbGxfcmN1X3NjaGVkKCksIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgcmVhZGVycyBtdXN0CisJZGlzYWJsZSBwcmVlbXB0aW9uLiAgTWl4aW5nIHRoaW5ncyB1cCB3aWxsIHJlc3VsdCBpbiBjb25mdXNpb24KKwlhbmQgYnJva2VuIGtlcm5lbHMuCiAKIAlPbmUgZXhjZXB0aW9uIHRvIHRoaXMgcnVsZTogcmN1X3JlYWRfbG9jaygpIGFuZCByY3VfcmVhZF91bmxvY2soKQogCW1heSBiZSBzdWJzdGl0dXRlZCBmb3IgcmN1X3JlYWRfbG9ja19iaCgpIGFuZCByY3VfcmVhZF91bmxvY2tfYmgoKQpAQCAtMTQzLDkgKzE2Niw5IEBACiAJc3VjaCBjYXNlcyBpcyBhIG11c3QsIG9mIGNvdXJzZSEgIEFuZCB0aGUganVyeSBpcyBzdGlsbCBvdXQgb24KIAl3aGV0aGVyIHRoZSBpbmNyZWFzZWQgc3BlZWQgaXMgd29ydGggaXQuCiAKLTguCUFsdGhvdWdoIHN5bmNocm9uaXplX3JjdSgpIGlzIGEgYml0IHNsb3dlciB0aGFuIGlzIGNhbGxfcmN1KCksCi0JaXQgdXN1YWxseSByZXN1bHRzIGluIHNpbXBsZXIgY29kZS4gIFNvLCB1bmxlc3MgdXBkYXRlCi0JcGVyZm9ybWFuY2UgaXMgY3JpdGljYWxseSBpbXBvcnRhbnQgb3IgdGhlIHVwZGF0ZXJzIGNhbm5vdCBibG9jaywKKzguCUFsdGhvdWdoIHN5bmNocm9uaXplX3JjdSgpIGlzIHNsb3dlciB0aGFuIGlzIGNhbGxfcmN1KCksIGl0CisJdXN1YWxseSByZXN1bHRzIGluIHNpbXBsZXIgY29kZS4gIFNvLCB1bmxlc3MgdXBkYXRlIHBlcmZvcm1hbmNlCisJaXMgY3JpdGljYWxseSBpbXBvcnRhbnQgb3IgdGhlIHVwZGF0ZXJzIGNhbm5vdCBibG9jaywKIAlzeW5jaHJvbml6ZV9yY3UoKSBzaG91bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIGNhbGxfcmN1KCkuCiAKIAlBbiBlc3BlY2lhbGx5IGltcG9ydGFudCBwcm9wZXJ0eSBvZiB0aGUgc3luY2hyb25pemVfcmN1KCkKQEAgLTE4NywyMyArMjEwLDIzIEBACiAJCW51bWJlciBvZiB1cGRhdGVzIHBlciBncmFjZSBwZXJpb2QuCiAKIDkuCUFsbCBSQ1UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgd2hpY2ggaW5jbHVkZQotCWxpc3RfZm9yX2VhY2hfcmN1KCksIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksCisJcmN1X2RlcmVmZXJlbmNlKCksIGxpc3RfZm9yX2VhY2hfcmN1KCksIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksCiAJbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UoKSwgYW5kIGxpc3RfZm9yX2VhY2hfc2FmZV9yY3UoKSwKLQltdXN0IGJlIHdpdGhpbiBhbiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb24uICBSQ1UKKwltdXN0IGJlIGVpdGhlciB3aXRoaW4gYW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uIG9yCisJbXVzdCBiZSBwcm90ZWN0ZWQgYnkgYXBwcm9wcmlhdGUgdXBkYXRlLXNpZGUgbG9ja3MuICBSQ1UKIAlyZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgYXJlIGRlbGltaXRlZCBieSByY3VfcmVhZF9sb2NrKCkKIAlhbmQgcmN1X3JlYWRfdW5sb2NrKCksIG9yIGJ5IHNpbWlsYXIgcHJpbWl0aXZlcyBzdWNoIGFzCiAJcmN1X3JlYWRfbG9ja19iaCgpIGFuZCByY3VfcmVhZF91bmxvY2tfYmgoKS4KIAotCVVzZSBvZiB0aGUgX3JjdSgpIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMgb3V0c2lkZSBvZiBhbgotCVJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbiBjYXVzZXMgbm8gaGFybSBvdGhlciB0aGFuCi0JYSBzbGlnaHQgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gb24gQWxwaGEgQ1BVcy4gIEl0IGNhbgotCWFsc28gYmUgcXVpdGUgaGVscGZ1bCBpbiByZWR1Y2luZyBjb2RlIGJsb2F0IHdoZW4gY29tbW9uCi0JY29kZSBpcyBzaGFyZWQgYmV0d2VlbiByZWFkZXJzIGFuZCB1cGRhdGVycy4KKwlUaGUgcmVhc29uIHRoYXQgaXQgaXMgcGVybWlzc2libGUgdG8gdXNlIFJDVSBsaXN0LXRyYXZlcnNhbAorCXByaW1pdGl2ZXMgd2hlbiB0aGUgdXBkYXRlLXNpZGUgbG9jayBpcyBoZWxkIGlzIHRoYXQgZG9pbmcgc28KKwljYW4gYmUgcXVpdGUgaGVscGZ1bCBpbiByZWR1Y2luZyBjb2RlIGJsb2F0IHdoZW4gY29tbW9uIGNvZGUgaXMKKwlzaGFyZWQgYmV0d2VlbiByZWFkZXJzIGFuZCB1cGRhdGVycy4KIAogMTAuCUNvbnZlcnNlbHksIGlmIHlvdSBhcmUgaW4gYW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uLAotCXlvdSAtbXVzdC0gdXNlIHRoZSAiX3JjdSgpIiB2YXJpYW50cyBvZiB0aGUgbGlzdCBtYWNyb3MuCi0JRmFpbGluZyB0byBkbyBzbyB3aWxsIGJyZWFrIEFscGhhIGFuZCBjb25mdXNlIHBlb3BsZSByZWFkaW5nCi0JeW91ciBjb2RlLgorCWFuZCB5b3UgZG9uJ3QgaG9sZCB0aGUgYXBwcm9wcmlhdGUgdXBkYXRlLXNpZGUgbG9jaywgeW91IC1tdXN0LQorCXVzZSB0aGUgIl9yY3UoKSIgdmFyaWFudHMgb2YgdGhlIGxpc3QgbWFjcm9zLiAgRmFpbGluZyB0byBkbyBzbworCXdpbGwgYnJlYWsgQWxwaGEgYW5kIGNvbmZ1c2UgcGVvcGxlIHJlYWRpbmcgeW91ciBjb2RlLgogCiAxMS4JTm90ZSB0aGF0IHN5bmNocm9uaXplX3JjdSgpIC1vbmx5LSBndWFyYW50ZWVzIHRvIHdhaXQgdW50aWwKIAlhbGwgY3VycmVudGx5IGV4ZWN1dGluZyByY3VfcmVhZF9sb2NrKCktcHJvdGVjdGVkIFJDVSByZWFkLXNpZGUKQEAgLTIzMCw2ICsyNTMsMTQgQEAKIAltdXN0IHVzZSB3aGF0ZXZlciBsb2NraW5nIG9yIG90aGVyIHN5bmNocm9uaXphdGlvbiBpcyByZXF1aXJlZAogCXRvIHNhZmVseSBhY2Nlc3MgYW5kL29yIG1vZGlmeSB0aGF0IGRhdGEgc3RydWN0dXJlLgogCisJUkNVIGNhbGxiYWNrcyBhcmUgLXVzdWFsbHktIGV4ZWN1dGVkIG9uIHRoZSBzYW1lIENQVSB0aGF0IGV4ZWN1dGVkCisJdGhlIGNvcnJlc3BvbmRpbmcgY2FsbF9yY3UoKSwgY2FsbF9yY3VfYmgoKSwgb3IgY2FsbF9yY3Vfc2NoZWQoKSwKKwlidXQgYXJlIGJ5IC1uby0gbWVhbnMgZ3VhcmFudGVlZCB0byBiZS4gIEZvciBleGFtcGxlLCBpZiBhIGdpdmVuCisJQ1BVIGdvZXMgb2ZmbGluZSB3aGlsZSBoYXZpbmcgYW4gUkNVIGNhbGxiYWNrIHBlbmRpbmcsIHRoZW4gdGhhdAorCVJDVSBjYWxsYmFjayB3aWxsIGV4ZWN1dGUgb24gc29tZSBzdXJ2aXZpbmcgQ1BVLiAgKElmIHRoaXMgd2FzCisJbm90IHRoZSBjYXNlLCBhIHNlbGYtc3Bhd25pbmcgUkNVIGNhbGxiYWNrIHdvdWxkIHByZXZlbnQgdGhlCisJdmljdGltIENQVSBmcm9tIGV2ZXIgZ29pbmcgb2ZmbGluZS4pCisKIDE0LglTUkNVIChzcmN1X3JlYWRfbG9jaygpLCBzcmN1X3JlYWRfdW5sb2NrKCksIGFuZCBzeW5jaHJvbml6ZV9zcmN1KCkpCiAJbWF5IG9ubHkgYmUgaW52b2tlZCBmcm9tIHByb2Nlc3MgY29udGV4dC4gIFVubGlrZSBvdGhlciBmb3JtcyBvZgogCVJDVSwgaXQgLWlzLSBwZXJtaXNzaWJsZSB0byBibG9jayBpbiBhbiBTUkNVIHJlYWQtc2lkZSBjcml0aWNhbApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SQ1UvdG9ydHVyZS50eHQgYi9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dAppbmRleCAyOTY3YTY1Li5hMzQyYjZlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dApAQCAtMTAsMjMgKzEwLDMwIEBACiBjb21tYW5kIChwZXJoYXBzIGdyZXBwaW5nIGZvciAidG9ydHVyZSIpLiAgVGhlIHRlc3QgaXMgc3RhcnRlZAogd2hlbiB0aGUgbW9kdWxlIGlzIGxvYWRlZCwgYW5kIHN0b3BzIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZC4KIAotSG93ZXZlciwgYWN0dWFsbHkgc2V0dGluZyB0aGlzIGNvbmZpZyBvcHRpb24gdG8gInkiIHJlc3VsdHMgaW4gdGhlIHN5c3RlbQotcnVubmluZyB0aGUgdGVzdCBpbW1lZGlhdGVseSB1cG9uIGJvb3QsIGFuZCBlbmRpbmcgb25seSB3aGVuIHRoZSBzeXN0ZW0KLWlzIHRha2VuIGRvd24uICBOb3JtYWxseSwgb25lIHdpbGwgaW5zdGVhZCB3YW50IHRvIGJ1aWxkIHRoZSBzeXN0ZW0KLXdpdGggQ09ORklHX1JDVV9UT1JUVVJFX1RFU1Q9bSBhbmQgdG8gdXNlIG1vZHByb2JlIGFuZCBybW1vZCB0byBjb250cm9sCi10aGUgdGVzdCwgcGVyaGFwcyB1c2luZyBhIHNjcmlwdCBzaW1pbGFyIHRvIHRoZSBvbmUgc2hvd24gYXQgdGhlIGVuZCBvZgotdGhpcyBkb2N1bWVudC4gIE5vdGUgdGhhdCB5b3Ugd2lsbCBuZWVkIENPTkZJR19NT0RVTEVfVU5MT0FEIGluIG9yZGVyCi10byBiZSBhYmxlIHRvIGVuZCB0aGUgdGVzdC4KK0NPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFCisKK0l0IGlzIGFsc28gcG9zc2libGUgdG8gc3BlY2lmeSBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVD15LCB3aGljaCB3aWxsCityZXN1bHQgaW4gdGhlIHRlc3RzIGJlaW5nIGxvYWRlZCBpbnRvIHRoZSBiYXNlIGtlcm5lbC4gIEluIHRoaXMgY2FzZSwKK3RoZSBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSBjb25maWcgb3B0aW9uIGlzIHVzZWQgdG8gc3BlY2lmeQord2hldGhlciB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgYXJlIHRvIGJlIHN0YXJ0ZWQgaW1tZWRpYXRlbHkgZHVyaW5nCitib290IG9yIHdoZXRoZXIgdGhlIC9wcm9jL3N5cy9rZXJuZWwvcmN1dG9ydHVyZV9ydW5uYWJsZSBmaWxlIGlzIHVzZWQKK3RvIGVuYWJsZSB0aGVtLiAgVGhpcyAvcHJvYyBmaWxlIGNhbiBiZSB1c2VkIHRvIHJlcGVhdGVkbHkgcGF1c2UgYW5kCityZXN0YXJ0IHRoZSB0ZXN0cywgcmVnYXJkbGVzcyBvZiB0aGUgaW5pdGlhbCBzdGF0ZSBzcGVjaWZpZWQgYnkgdGhlCitDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSBjb25maWcgb3B0aW9uLgorCitZb3Ugd2lsbCBub3JtYWxseSAtbm90LSB3YW50IHRvIHN0YXJ0IHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cyBkdXJpbmcgYm9vdAorKGFuZCB0aHVzIHRoZSBkZWZhdWx0IGlzIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFPW4pLCBidXQgZG9pbmcKK3RoaXMgY2FuIHNvbWV0aW1lcyBiZSB1c2VmdWwgaW4gZmluZGluZyBib290LXRpbWUgYnVncy4KIAogCiBNT0RVTEUgUEFSQU1FVEVSUwogCiBUaGlzIG1vZHVsZSBoYXMgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgogCi1ucmVhZGVycwlUaGlzIGlzIHRoZSBudW1iZXIgb2YgUkNVIHJlYWRpbmcgdGhyZWFkcyBzdXBwb3J0ZWQuCi0JCVRoZSBkZWZhdWx0IGlzIHR3aWNlIHRoZSBudW1iZXIgb2YgQ1BVcy4gIFdoeSB0d2ljZT8KLQkJVG8gcHJvcGVybHkgZXhlcmNpc2UgUkNVIGltcGxlbWVudGF0aW9ucyB3aXRoIHByZWVtcHRpYmxlCi0JCXJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9ucy4KK2lycXJlYWRlcnMJU2F5cyB0byBpbnZva2UgUkNVIHJlYWRlcnMgZnJvbSBpcnEgbGV2ZWwuICBUaGlzIGlzIGN1cnJlbnRseQorCQlkb25lIHZpYSB0aW1lcnMuICBEZWZhdWx0cyB0byAiMSIgZm9yIHZhcmlhbnRzIG9mIFJDVSB0aGF0CisJCXBlcm1pdCB0aGlzLiAgKE9yLCBtb3JlIGFjY3VyYXRlbHksIHZhcmlhbnRzIG9mIFJDVSB0aGF0IGRvCisJCS1ub3QtIHBlcm1pdCB0aGlzIGtub3cgdG8gaWdub3JlIHRoaXMgdmFyaWFibGUuKQogCiBuZmFrZXdyaXRlcnMJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIFJDVSBmYWtlIHdyaXRlciB0aHJlYWRzIHRvIHJ1bi4gIEZha2UKIAkJd3JpdGVyIHRocmVhZHMgcmVwZWF0ZWRseSB1c2UgdGhlIHN5bmNocm9ub3VzICJ3YWl0IGZvcgpAQCAtMzcsNiArNDQsMTYgQEAKIAkJdG8gdHJpZ2dlciBzcGVjaWFsIGNhc2VzIGNhdXNlZCBieSBtdWx0aXBsZSB3cml0ZXJzLCBzdWNoIGFzCiAJCXRoZSBzeW5jaHJvbml6ZV9zcmN1KCkgZWFybHkgcmV0dXJuIG9wdGltaXphdGlvbi4KIAorbnJlYWRlcnMJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIFJDVSByZWFkaW5nIHRocmVhZHMgc3VwcG9ydGVkLgorCQlUaGUgZGVmYXVsdCBpcyB0d2ljZSB0aGUgbnVtYmVyIG9mIENQVXMuICBXaHkgdHdpY2U/CisJCVRvIHByb3Blcmx5IGV4ZXJjaXNlIFJDVSBpbXBsZW1lbnRhdGlvbnMgd2l0aCBwcmVlbXB0aWJsZQorCQlyZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMuCisKK3NodWZmbGVfaW50ZXJ2YWwKKwkJVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGtlZXAgdGhlIHRlc3QgdGhyZWFkcyBhZmZpbml0aWVkCisJCXRvIGEgcGFydGljdWxhciBzdWJzZXQgb2YgdGhlIENQVXMsIGRlZmF1bHRzIHRvIDMgc2Vjb25kcy4KKwkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRlc3Rfbm9faWRsZV9oei4KKwogc3RhdF9pbnRlcnZhbAlUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiBvdXRwdXQgb2YgdG9ydHVyZQogCQlzdGF0aXN0aWNzICh2aWEgcHJpbnRrKCkpLiAgUmVnYXJkbGVzcyBvZiB0aGUgaW50ZXJ2YWwsCiAJCXN0YXRpc3RpY3MgYXJlIHByaW50ZWQgd2hlbiB0aGUgbW9kdWxlIGlzIHVubG9hZGVkLgpAQCAtNDQsMTAgKzYxLDExIEBACiAJCWJlIHByaW50ZWQgLW9ubHktIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZCwgYW5kIHRoaXMKIAkJaXMgdGhlIGRlZmF1bHQuCiAKLXNodWZmbGVfaW50ZXJ2YWwKLQkJVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGtlZXAgdGhlIHRlc3QgdGhyZWFkcyBhZmZpbml0aWVkCi0JCXRvIGEgcGFydGljdWxhciBzdWJzZXQgb2YgdGhlIENQVXMsIGRlZmF1bHRzIHRvIDUgc2Vjb25kcy4KLQkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRlc3Rfbm9faWRsZV9oei4KK3N0dXR0ZXIJCVRoZSBsZW5ndGggb2YgdGltZSB0byBydW4gdGhlIHRlc3QgYmVmb3JlIHBhdXNpbmcgZm9yIHRoaXMKKwkJc2FtZSBwZXJpb2Qgb2YgdGltZS4gIERlZmF1bHRzIHRvICJzdHV0dGVyPTUiLCBzbyBhcworCQl0byBydW4gYW5kIHBhdXNlIGZvciAocm91Z2hseSkgZml2ZS1zZWNvbmQgaW50ZXJ2YWxzLgorCQlTcGVjaWZ5aW5nICJzdHV0dGVyPTAiIGNhdXNlcyB0aGUgdGVzdCB0byBydW4gY29udGludW91c2x5CisJCXdpdGhvdXQgcGF1c2luZywgd2hpY2ggaXMgdGhlIG9sZCBkZWZhdWx0IGJlaGF2aW9yLgogCiB0ZXN0X25vX2lkbGVfaHoJV2hldGhlciBvciBub3QgdG8gdGVzdCB0aGUgYWJpbGl0eSBvZiBSQ1UgdG8gb3BlcmF0ZSBpbgogCQlhIGtlcm5lbCB0aGF0IGRpc2FibGVzIHRoZSBzY2hlZHVsaW5nLWNsb2NrIGludGVycnVwdCB0bwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SQ1Uvd2hhdGlzUkNVLnR4dCBiL0RvY3VtZW50YXRpb24vUkNVL3doYXRpc1JDVS50eHQKaW5kZXggZTBkNmQ5OS4uZTA0ZDY0MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SQ1Uvd2hhdGlzUkNVLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JDVS93aGF0aXNSQ1UudHh0CkBAIC0xLDMgKzEsMTEgQEAKK1BsZWFzZSBub3RlIHRoYXQgdGhlICJXaGF0IGlzIFJDVT8iIExXTiBzZXJpZXMgaXMgYW4gZXhjZWxsZW50IHBsYWNlCit0byBzdGFydCBsZWFybmluZyBhYm91dCBSQ1U6CisKKzEuCVdoYXQgaXMgUkNVLCBGdW5kYW1lbnRhbGx5PyAgaHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjYyNDY0LworMi4JV2hhdCBpcyBSQ1U/IFBhcnQgMjogVXNhZ2UgICBodHRwOi8vbHduLm5ldC9BcnRpY2xlcy8yNjMxMzAvCiszLglSQ1UgcGFydCAzOiB0aGUgUkNVIEFQSSAgICAgIGh0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI2NDA5MC8KKworCiBXaGF0IGlzIFJDVT8KIAogUkNVIGlzIGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0aGF0IHdhcyBhZGRlZCB0byB0aGUgTGludXgga2VybmVsCkBAIC03NzIsMjYgKzc4MCwxOCBAQAogQVBJcywgc2luY2UgdGhlcmUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgd2F5IHRvIGNhdGVnb3JpemUgdGhlbQogaW4gZG9jYm9vay4gIEhlcmUgaXMgdGhlIGxpc3QsIGJ5IGNhdGVnb3J5LgogCi1NYXJrZXJzIGZvciBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb25zOgotCi0JcmN1X3JlYWRfbG9jawotCXJjdV9yZWFkX3VubG9jawotCXJjdV9yZWFkX2xvY2tfYmgKLQlyY3VfcmVhZF91bmxvY2tfYmgKLQlzcmN1X3JlYWRfbG9jawotCXNyY3VfcmVhZF91bmxvY2sKLQogUkNVIHBvaW50ZXIvbGlzdCB0cmF2ZXJzYWw6CiAKIAlyY3VfZGVyZWZlcmVuY2UKLQlsaXN0X2Zvcl9lYWNoX3JjdQkJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YKLQkJCQkJIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KQogCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1Ci0JbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgbmV3Ci0JCQkJCSBsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JjdSkKIAlobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UKIAotUkNVIHBvaW50ZXIgdXBkYXRlOgorCWxpc3RfZm9yX2VhY2hfcmN1CQkodG8gYmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZgorCQkJCQkgbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UpCisJbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgbmV3CisJCQkJCSBsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JjdSkKKworUkNVIHBvaW50ZXIvbGlzdCB1cGRhdGU6CiAKIAlyY3VfYXNzaWduX3BvaW50ZXIKIAlsaXN0X2FkZF9yY3UKQEAgLTc5OSwxNiArNzk5LDM2IEBACiAJbGlzdF9kZWxfcmN1CiAJbGlzdF9yZXBsYWNlX3JjdQogCWhsaXN0X2RlbF9yY3UKKwlobGlzdF9hZGRfYWZ0ZXJfcmN1CisJaGxpc3RfYWRkX2JlZm9yZV9yY3UKIAlobGlzdF9hZGRfaGVhZF9yY3UKKwlobGlzdF9yZXBsYWNlX3JjdQorCWxpc3Rfc3BsaWNlX2luaXRfcmN1KCkKIAotUkNVIGdyYWNlIHBlcmlvZDoKK1JDVToJQ3JpdGljYWwgc2VjdGlvbnMJR3JhY2UgcGVyaW9kCQlCYXJyaWVyCiAKLQlzeW5jaHJvbml6ZV9uZXQKLQlzeW5jaHJvbml6ZV9zY2hlZAotCXN5bmNocm9uaXplX3JjdQotCXN5bmNocm9uaXplX3NyY3UKLQljYWxsX3JjdQotCWNhbGxfcmN1X2JoCisJcmN1X3JlYWRfbG9jawkJc3luY2hyb25pemVfbmV0CQlyY3VfYmFycmllcgorCXJjdV9yZWFkX3VubG9jawkJc3luY2hyb25pemVfcmN1CisJCQkJY2FsbF9yY3UKKworCitiaDoJQ3JpdGljYWwgc2VjdGlvbnMJR3JhY2UgcGVyaW9kCQlCYXJyaWVyCisKKwlyY3VfcmVhZF9sb2NrX2JoCWNhbGxfcmN1X2JoCQlyY3VfYmFycmllcl9iaAorCXJjdV9yZWFkX3VubG9ja19iaAorCisKK3NjaGVkOglDcml0aWNhbCBzZWN0aW9ucwlHcmFjZSBwZXJpb2QJCUJhcnJpZXIKKworCVtwcmVlbXB0X2Rpc2FibGVdCXN5bmNocm9uaXplX3NjaGVkCXJjdV9iYXJyaWVyX3NjaGVkCisJW2FuZCBmcmllbmRzXQkJY2FsbF9yY3Vfc2NoZWQKKworCitTUkNVOglDcml0aWNhbCBzZWN0aW9ucwlHcmFjZSBwZXJpb2QJCUJhcnJpZXIKKworCXNyY3VfcmVhZF9sb2NrCQlzeW5jaHJvbml6ZV9zcmN1CU4vQQorCXNyY3VfcmVhZF91bmxvY2sKKwogCiBTZWUgdGhlIGNvbW1lbnQgaGVhZGVycyBpbiB0aGUgc291cmNlIGNvZGUgKG9yIHRoZSBkb2Nib29rIGdlbmVyYXRlZAogZnJvbSB0aGVtKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0IGIvRG9jdW1lbnRhdGlvbi9ibG9jay9kYXRhLWludGVncml0eS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlkYzhkOAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0CkBAIC0wLDAgKzEsMzI3IEBACistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxLiBJTlRST0RVQ1RJT04KKworTW9kZXJuIGZpbGVzeXN0ZW1zIGZlYXR1cmUgY2hlY2tzdW1taW5nIG9mIGRhdGEgYW5kIG1ldGFkYXRhIHRvCitwcm90ZWN0IGFnYWluc3QgZGF0YSBjb3JydXB0aW9uLiAgSG93ZXZlciwgdGhlIGRldGVjdGlvbiBvZiB0aGUKK2NvcnJ1cHRpb24gaXMgZG9uZSBhdCByZWFkIHRpbWUgd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgbW9udGhzCithZnRlciB0aGUgZGF0YSB3YXMgd3JpdHRlbi4gIEF0IHRoYXQgcG9pbnQgdGhlIG9yaWdpbmFsIGRhdGEgdGhhdCB0aGUKK2FwcGxpY2F0aW9uIHRyaWVkIHRvIHdyaXRlIGlzIG1vc3QgbGlrZWx5IGxvc3QuCisKK1RoZSBzb2x1dGlvbiBpcyB0byBlbnN1cmUgdGhhdCB0aGUgZGlzayBpcyBhY3R1YWxseSBzdG9yaW5nIHdoYXQgdGhlCithcHBsaWNhdGlvbiBtZWFudCBpdCB0by4gIFJlY2VudCBhZGRpdGlvbnMgdG8gYm90aCB0aGUgU0NTSSBmYW1pbHkKK3Byb3RvY29scyAoU0JDIERhdGEgSW50ZWdyaXR5IEZpZWxkLCBTQ0MgcHJvdGVjdGlvbiBwcm9wb3NhbCkgYXMgd2VsbAorYXMgU0FUQS9UMTMgKEV4dGVybmFsIFBhdGggUHJvdGVjdGlvbikgdHJ5IHRvIHJlbWVkeSB0aGlzIGJ5IGFkZGluZworc3VwcG9ydCBmb3IgYXBwZW5kaW5nIGludGVncml0eSBtZXRhZGF0YSB0byBhbiBJL08uICBUaGUgaW50ZWdyaXR5CittZXRhZGF0YSAob3IgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBpbiBTQ1NJIHRlcm1pbm9sb2d5KSBpbmNsdWRlcyBhCitjaGVja3N1bSBmb3IgZWFjaCBzZWN0b3IgYXMgd2VsbCBhcyBhbiBpbmNyZW1lbnRpbmcgY291bnRlciB0aGF0CitlbnN1cmVzIHRoZSBpbmRpdmlkdWFsIHNlY3RvcnMgYXJlIHdyaXR0ZW4gaW4gdGhlIHJpZ2h0IG9yZGVyLiAgQW5kCitmb3Igc29tZSBwcm90ZWN0aW9uIHNjaGVtZXMgYWxzbyB0aGF0IHRoZSBJL08gaXMgd3JpdHRlbiB0byB0aGUgcmlnaHQKK3BsYWNlIG9uIGRpc2suCisKK0N1cnJlbnQgc3RvcmFnZSBjb250cm9sbGVycyBhbmQgZGV2aWNlcyBpbXBsZW1lbnQgdmFyaW91cyBwcm90ZWN0aXZlCittZWFzdXJlcywgZm9yIGluc3RhbmNlIGNoZWNrc3VtbWluZyBhbmQgc2NydWJiaW5nLiAgQnV0IHRoZXNlCit0ZWNobm9sb2dpZXMgYXJlIHdvcmtpbmcgaW4gdGhlaXIgb3duIGlzb2xhdGVkIGRvbWFpbnMgb3IgYXQgYmVzdAorYmV0d2VlbiBhZGphY2VudCBub2RlcyBpbiB0aGUgSS9PIHBhdGguICBUaGUgaW50ZXJlc3RpbmcgdGhpbmcgYWJvdXQKK0RJRiBhbmQgdGhlIG90aGVyIGludGVncml0eSBleHRlbnNpb25zIGlzIHRoYXQgdGhlIHByb3RlY3Rpb24gZm9ybWF0CitpcyB3ZWxsIGRlZmluZWQgYW5kIGV2ZXJ5IG5vZGUgaW4gdGhlIEkvTyBwYXRoIGNhbiB2ZXJpZnkgdGhlCitpbnRlZ3JpdHkgb2YgdGhlIEkvTyBhbmQgcmVqZWN0IGl0IGlmIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQuICBUaGlzCithbGxvd3Mgbm90IG9ubHkgY29ycnVwdGlvbiBwcmV2ZW50aW9uIGJ1dCBhbHNvIGlzb2xhdGlvbiBvZiB0aGUgcG9pbnQKK29mIGZhaWx1cmUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIuIFRIRSBEQVRBIElOVEVHUklUWSBFWFRFTlNJT05TCisKK0FzIHdyaXR0ZW4sIHRoZSBwcm90b2NvbCBleHRlbnNpb25zIG9ubHkgcHJvdGVjdCB0aGUgcGF0aCBiZXR3ZWVuCitjb250cm9sbGVyIGFuZCBzdG9yYWdlIGRldmljZS4gIEhvd2V2ZXIsIG1hbnkgY29udHJvbGxlcnMgYWN0dWFsbHkKK2FsbG93IHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRvIGludGVyYWN0IHdpdGggdGhlIGludGVncml0eSBtZXRhZGF0YQorKElNRCkuICBXZSBoYXZlIGJlZW4gd29ya2luZyB3aXRoIHNldmVyYWwgRkMvU0FTIEhCQSB2ZW5kb3JzIHRvIGVuYWJsZQordGhlIHByb3RlY3Rpb24gaW5mb3JtYXRpb24gdG8gYmUgdHJhbnNmZXJyZWQgdG8gYW5kIGZyb20gdGhlaXIKK2NvbnRyb2xsZXJzLgorCitUaGUgU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCB3b3JrcyBieSBhcHBlbmRpbmcgOCBieXRlcyBvZiBwcm90ZWN0aW9uCitpbmZvcm1hdGlvbiB0byBlYWNoIHNlY3Rvci4gIFRoZSBkYXRhICsgaW50ZWdyaXR5IG1ldGFkYXRhIGlzIHN0b3JlZAoraW4gNTIwIGJ5dGUgc2VjdG9ycyBvbiBkaXNrLiAgRGF0YSArIElNRCBhcmUgaW50ZXJsZWF2ZWQgd2hlbgordHJhbnNmZXJyZWQgYmV0d2VlbiB0aGUgY29udHJvbGxlciBhbmQgdGFyZ2V0LiAgVGhlIFQxMyBwcm9wb3NhbCBpcworc2ltaWxhci4KKworQmVjYXVzZSBpdCBpcyBoaWdobHkgaW5jb252ZW5pZW50IGZvciBvcGVyYXRpbmcgc3lzdGVtcyB0byBkZWFsIHdpdGgKKzUyMCAoYW5kIDQxMDQpIGJ5dGUgc2VjdG9ycywgd2UgYXBwcm9hY2hlZCBzZXZlcmFsIEhCQSB2ZW5kb3JzIGFuZAorZW5jb3VyYWdlZCB0aGVtIHRvIGFsbG93IHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YQorc2NhdHRlci1nYXRoZXIgbGlzdHMuCisKK1RoZSBjb250cm9sbGVyIHdpbGwgaW50ZXJsZWF2ZSB0aGUgYnVmZmVycyBvbiB3cml0ZSBhbmQgc3BsaXQgdGhlbSBvbgorcmVhZC4gIFRoaXMgbWVhbnMgdGhhdCB0aGUgTGludXggY2FuIERNQSB0aGUgZGF0YSBidWZmZXJzIHRvIGFuZCBmcm9tCitob3N0IG1lbW9yeSB3aXRob3V0IGNoYW5nZXMgdG8gdGhlIHBhZ2UgY2FjaGUuCisKK0Fsc28sIHRoZSAxNi1iaXQgQ1JDIGNoZWNrc3VtIG1hbmRhdGVkIGJ5IGJvdGggdGhlIFNDU0kgYW5kIFNBVEEgc3BlY3MKK2lzIHNvbWV3aGF0IGhlYXZ5IHRvIGNvbXB1dGUgaW4gc29mdHdhcmUuICBCZW5jaG1hcmtzIGZvdW5kIHRoYXQKK2NhbGN1bGF0aW5nIHRoaXMgY2hlY2tzdW0gaGFkIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIHN5c3RlbQorcGVyZm9ybWFuY2UgZm9yIGEgbnVtYmVyIG9mIHdvcmtsb2Fkcy4gIFNvbWUgY29udHJvbGxlcnMgYWxsb3cgYQorbGlnaHRlci13ZWlnaHQgY2hlY2tzdW0gdG8gYmUgdXNlZCB3aGVuIGludGVyZmFjaW5nIHdpdGggdGhlIG9wZXJhdGluZworc3lzdGVtLiAgRW11bGV4LCBmb3IgaW5zdGFuY2UsIHN1cHBvcnRzIHRoZSBUQ1AvSVAgY2hlY2tzdW0gaW5zdGVhZC4KK1RoZSBJUCBjaGVja3N1bSByZWNlaXZlZCBmcm9tIHRoZSBPUyBpcyBjb252ZXJ0ZWQgdG8gdGhlIDE2LWJpdCBDUkMKK3doZW4gd3JpdGluZyBhbmQgdmljZSB2ZXJzYS4gIFRoaXMgYWxsb3dzIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8gYmUKK2dlbmVyYXRlZCBieSBMaW51eCBvciB0aGUgYXBwbGljYXRpb24gYXQgdmVyeSBsb3cgY29zdCAoY29tcGFyYWJsZSB0bworc29mdHdhcmUgUkFJRDUpLgorCitUaGUgSVAgY2hlY2tzdW0gaXMgd2Vha2VyIHRoYW4gdGhlIENSQyBpbiB0ZXJtcyBvZiBkZXRlY3RpbmcgYml0CitlcnJvcnMuICBIb3dldmVyLCB0aGUgc3RyZW5ndGggaXMgcmVhbGx5IGluIHRoZSBzZXBhcmF0aW9uIG9mIHRoZSBkYXRhCitidWZmZXJzIGFuZCB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhlc2UgdHdvIGRpc3RpbmN0IGJ1ZmZlcnMgbXVjaAorbWF0Y2ggdXAgZm9yIGFuIEkvTyB0byBjb21wbGV0ZS4KKworVGhlIHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YSBidWZmZXJzIGFzIHdlbGwgYXMKK3RoZSBjaG9pY2UgaW4gY2hlY2tzdW1zIGlzIHJlZmVycmVkIHRvIGFzIHRoZSBEYXRhIEludGVncml0eQorRXh0ZW5zaW9ucy4gIEFzIHRoZXNlIGV4dGVuc2lvbnMgYXJlIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoZSBwcm90b2NvbAorYm9kaWVzIChUMTAsIFQxMyksIE9yYWNsZSBhbmQgaXRzIHBhcnRuZXJzIGFyZSB0cnlpbmcgdG8gc3RhbmRhcmRpemUKK3RoZW0gd2l0aGluIHRoZSBTdG9yYWdlIE5ldHdvcmtpbmcgSW5kdXN0cnkgQXNzb2NpYXRpb24uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzMuIEtFUk5FTCBDSEFOR0VTCisKK1RoZSBkYXRhIGludGVncml0eSBmcmFtZXdvcmsgaW4gTGludXggZW5hYmxlcyBwcm90ZWN0aW9uIGluZm9ybWF0aW9uCit0byBiZSBwaW5uZWQgdG8gSS9PcyBhbmQgc2VudCB0by9yZWNlaXZlZCBmcm9tIGNvbnRyb2xsZXJzIHRoYXQKK3N1cHBvcnQgaXQuCisKK1RoZSBhZHZhbnRhZ2UgdG8gdGhlIGludGVncml0eSBleHRlbnNpb25zIGluIFNDU0kgYW5kIFNBVEEgaXMgdGhhdAordGhleSBlbmFibGUgdXMgdG8gcHJvdGVjdCB0aGUgZW50aXJlIHBhdGggZnJvbSBhcHBsaWNhdGlvbiB0byBzdG9yYWdlCitkZXZpY2UuICBIb3dldmVyLCBhdCB0aGUgc2FtZSB0aW1lIHRoaXMgaXMgYWxzbyB0aGUgYmlnZ2VzdAorZGlzYWR2YW50YWdlLiBJdCBtZWFucyB0aGF0IHRoZSBwcm90ZWN0aW9uIGluZm9ybWF0aW9uIG11c3QgYmUgaW4gYQorZm9ybWF0IHRoYXQgY2FuIGJlIHVuZGVyc3Rvb2QgYnkgdGhlIGRpc2suCisKK0dlbmVyYWxseSBMaW51eC9QT1NJWCBhcHBsaWNhdGlvbnMgYXJlIGFnbm9zdGljIHRvIHRoZSBpbnRyaWNhY2llcyBvZgordGhlIHN0b3JhZ2UgZGV2aWNlcyB0aGV5IGFyZSBhY2Nlc3NpbmcuICBUaGUgdmlydHVhbCBmaWxlc3lzdGVtIHN3aXRjaAorYW5kIHRoZSBibG9jayBsYXllciBtYWtlIHRoaW5ncyBsaWtlIGhhcmR3YXJlIHNlY3RvciBzaXplIGFuZAordHJhbnNwb3J0IHByb3RvY29scyBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IHRvIHRoZSBhcHBsaWNhdGlvbi4KKworSG93ZXZlciwgdGhpcyBsZXZlbCBvZiBkZXRhaWwgaXMgcmVxdWlyZWQgd2hlbiBwcmVwYXJpbmcgdGhlCitwcm90ZWN0aW9uIGluZm9ybWF0aW9uIHRvIHNlbmQgdG8gYSBkaXNrLiAgQ29uc2VxdWVudGx5LCB0aGUgdmVyeQorY29uY2VwdCBvZiBhbiBlbmQtdG8tZW5kIHByb3RlY3Rpb24gc2NoZW1lIGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLgorSXQgaXMgY29tcGxldGVseSB1bnJlYXNvbmFibGUgZm9yIGFuIGFwcGxpY2F0aW9uIHRvIGJlIGF3YXJlIHdoZXRoZXIKK2l0IGlzIGFjY2Vzc2luZyBhIFNDU0kgb3IgU0FUQSBkaXNrLgorCitUaGUgZGF0YSBpbnRlZ3JpdHkgc3VwcG9ydCBpbXBsZW1lbnRlZCBpbiBMaW51eCBhdHRlbXB0cyB0byBoaWRlIHRoaXMKK2Zyb20gdGhlIGFwcGxpY2F0aW9uLiAgQXMgZmFyIGFzIHRoZSBhcHBsaWNhdGlvbiAoYW5kIHRvIHNvbWUgZXh0ZW50Cit0aGUga2VybmVsKSBpcyBjb25jZXJuZWQsIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaXMgb3BhcXVlIGluZm9ybWF0aW9uCit0aGF0J3MgYXR0YWNoZWQgdG8gdGhlIEkvTy4KKworVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gYWxsb3dzIHRoZSBibG9jayBsYXllciB0byBhdXRvbWF0aWNhbGx5CitnZW5lcmF0ZSB0aGUgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBmb3IgYW55IEkvTy4gIEV2ZW50dWFsbHkgdGhlCitpbnRlbnQgaXMgdG8gbW92ZSB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIGNhbGN1bGF0aW9uIHRvIHVzZXJzcGFjZSBmb3IKK3VzZXIgZGF0YS4gIE1ldGFkYXRhIGFuZCBvdGhlciBJL08gdGhhdCBvcmlnaW5hdGVzIHdpdGhpbiB0aGUga2VybmVsCit3aWxsIHN0aWxsIHVzZSB0aGUgYXV0b21hdGljIGdlbmVyYXRpb24gaW50ZXJmYWNlLgorCitTb21lIHN0b3JhZ2UgZGV2aWNlcyBhbGxvdyBlYWNoIGhhcmR3YXJlIHNlY3RvciB0byBiZSB0YWdnZWQgd2l0aCBhCisxNi1iaXQgdmFsdWUuICBUaGUgb3duZXIgb2YgdGhpcyB0YWcgc3BhY2UgaXMgdGhlIG93bmVyIG9mIHRoZSBibG9jaworZGV2aWNlLiAgSS5lLiB0aGUgZmlsZXN5c3RlbSBpbiBtb3N0IGNhc2VzLiAgVGhlIGZpbGVzeXN0ZW0gY2FuIHVzZQordGhpcyBleHRyYSBzcGFjZSB0byB0YWcgc2VjdG9ycyBhcyB0aGV5IHNlZSBmaXQuICBCZWNhdXNlIHRoZSB0YWcKK3NwYWNlIGlzIGxpbWl0ZWQsIHRoZSBibG9jayBpbnRlcmZhY2UgYWxsb3dzIHRhZ2dpbmcgYmlnZ2VyIGNodW5rcyBieQord2F5IG9mIGludGVybGVhdmluZy4gIFRoaXMgd2F5LCA4KjE2IGJpdHMgb2YgaW5mb3JtYXRpb24gY2FuIGJlCithdHRhY2hlZCB0byBhIHR5cGljYWwgNEtCIGZpbGVzeXN0ZW0gYmxvY2suCisKK1RoaXMgYWxzbyBtZWFucyB0aGF0IGFwcGxpY2F0aW9ucyBzdWNoIGFzIGZzY2sgYW5kIG1rZnMgd2lsbCBuZWVkCithY2Nlc3MgdG8gbWFuaXB1bGF0ZSB0aGUgdGFncyBmcm9tIHVzZXIgc3BhY2UuICBBIHBhc3N0aHJvdWdoCitpbnRlcmZhY2UgZm9yIHRoaXMgaXMgYmVpbmcgd29ya2VkIG9uLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzQuIEJMT0NLIExBWUVSIElNUExFTUVOVEFUSU9OIERFVEFJTFMKKworNC4xIEJJTworCitUaGUgZGF0YSBpbnRlZ3JpdHkgcGF0Y2hlcyBhZGQgYSBuZXcgZmllbGQgdG8gc3RydWN0IGJpbyB3aGVuCitDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgaXMgZW5hYmxlZC4gIGJpby0+YmlfaW50ZWdyaXR5IGlzIGEgcG9pbnRlcgordG8gYSBzdHJ1Y3QgYmlwIHdoaWNoIGNvbnRhaW5zIHRoZSBiaW8gaW50ZWdyaXR5IHBheWxvYWQuICBFc3NlbnRpYWxseQorYSBiaXAgaXMgYSB0cmltbWVkIGRvd24gc3RydWN0IGJpbyB3aGljaCBob2xkcyBhIGJpb192ZWMgY29udGFpbmluZwordGhlIGludGVncml0eSBtZXRhZGF0YSBhbmQgdGhlIHJlcXVpcmVkIGhvdXNla2VlcGluZyBpbmZvcm1hdGlvbiAoYnZlYworcG9vbCwgdmVjdG9yIGNvdW50LCBldGMuKQorCitBIGtlcm5lbCBzdWJzeXN0ZW0gY2FuIGVuYWJsZSBkYXRhIGludGVncml0eSBwcm90ZWN0aW9uIG9uIGEgYmlvIGJ5CitjYWxsaW5nIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvKS4gIFRoaXMgd2lsbCBhbGxvY2F0ZSBhbmQgYXR0YWNoIHRoZQorYmlwIHRvIHRoZSBiaW8uCisKK0luZGl2aWR1YWwgcGFnZXMgY29udGFpbmluZyBpbnRlZ3JpdHkgbWV0YWRhdGEgY2FuIHN1YnNlcXVlbnRseSBiZQorYXR0YWNoZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpLgorCitiaW9fZnJlZSgpIHdpbGwgYXV0b21hdGljYWxseSBmcmVlIHRoZSBiaXAuCisKKworNC4yIEJMT0NLIERFVklDRQorCitCZWNhdXNlIHRoZSBmb3JtYXQgb2YgdGhlIHByb3RlY3Rpb24gZGF0YSBpcyB0aWVkIHRvIHRoZSBwaHlzaWNhbAorZGlzaywgZWFjaCBibG9jayBkZXZpY2UgaGFzIGJlZW4gZXh0ZW5kZWQgd2l0aCBhIGJsb2NrIGludGVncml0eQorcHJvZmlsZSAoc3RydWN0IGJsa19pbnRlZ3JpdHkpLiAgVGhpcyBvcHRpb25hbCBwcm9maWxlIGlzIHJlZ2lzdGVyZWQKK3dpdGggdGhlIGJsb2NrIGxheWVyIHVzaW5nIGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoKS4KKworVGhlIHByb2ZpbGUgY29udGFpbnMgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBnZW5lcmF0aW5nIGFuZCB2ZXJpZnlpbmcKK3RoZSBwcm90ZWN0aW9uIGRhdGEsIGFzIHdlbGwgYXMgZ2V0dGluZyBhbmQgc2V0dGluZyBhcHBsaWNhdGlvbiB0YWdzLgorVGhlIHByb2ZpbGUgYWxzbyBjb250YWlucyBhIGZldyBjb25zdGFudHMgdG8gYWlkIGluIGNvbXBsZXRpbmcsCittZXJnaW5nIGFuZCBzcGxpdHRpbmcgdGhlIGludGVncml0eSBtZXRhZGF0YS4KKworTGF5ZXJlZCBibG9jayBkZXZpY2VzIHdpbGwgbmVlZCB0byBwaWNrIGEgcHJvZmlsZSB0aGF0J3MgYXBwcm9wcmlhdGUKK2ZvciBhbGwgc3ViZGV2aWNlcy4gIGJsa19pbnRlZ3JpdHlfY29tcGFyZSgpIGNhbiBoZWxwIHdpdGggdGhhdC4gIERNCithbmQgTUQgbGluZWFyLCBSQUlEMCBhbmQgUkFJRDEgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuICBSQUlENC81LzYKK3dpbGwgcmVxdWlyZSBleHRyYSB3b3JrIGR1ZSB0byB0aGUgYXBwbGljYXRpb24gdGFnLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzUuMCBCTE9DSyBMQVlFUiBJTlRFR1JJVFkgQVBJCisKKzUuMSBOT1JNQUwgRklMRVNZU1RFTQorCisgICAgVGhlIG5vcm1hbCBmaWxlc3lzdGVtIGlzIHVuYXdhcmUgdGhhdCB0aGUgdW5kZXJseWluZyBibG9jayBkZXZpY2UKKyAgICBpcyBjYXBhYmxlIG9mIHNlbmRpbmcvcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4gIFRoZSBJTUQgd2lsbAorICAgIGJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBibG9jayBsYXllciBhdCBzdWJtaXRfYmlvKCkgdGltZQorICAgIGluIGNhc2Ugb2YgYSBXUklURS4gIEEgUkVBRCByZXF1ZXN0IHdpbGwgY2F1c2UgdGhlIEkvTyBpbnRlZ3JpdHkKKyAgICB0byBiZSB2ZXJpZmllZCB1cG9uIGNvbXBsZXRpb24uCisKKyAgICBJTUQgZ2VuZXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIGNhbiBiZSB0b2dnbGVkIHVzaW5nIHRoZQorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvd3JpdGVfZ2VuZXJhdGUKKworICAgIGFuZAorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvcmVhZF92ZXJpZnkKKworICAgIGZsYWdzLgorCisKKzUuMiBJTlRFR1JJVFktQVdBUkUgRklMRVNZU1RFTQorCisgICAgQSBmaWxlc3lzdGVtIHRoYXQgaXMgaW50ZWdyaXR5LWF3YXJlIGNhbiBwcmVwYXJlIEkvT3Mgd2l0aCBJTUQKKyAgICBhdHRhY2hlZC4gIEl0IGNhbiBhbHNvIHVzZSB0aGUgYXBwbGljYXRpb24gdGFnIHNwYWNlIGlmIHRoaXMgaXMKKyAgICBzdXBwb3J0ZWQgYnkgdGhlIGJsb2NrIGRldmljZS4KKworCisgICAgaW50IGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoYmxvY2tfZGV2aWNlLCBpbnQgcncpOworCisgICAgICBiZGV2X2ludGVncml0eV9lbmFibGVkKCkgd2lsbCByZXR1cm4gMSBpZiB0aGUgYmxvY2sgZGV2aWNlCisgICAgICBzdXBwb3J0cyBpbnRlZ3JpdHkgbWV0YWRhdGEgdHJhbnNmZXIgZm9yIHRoZSBkYXRhIGRpcmVjdGlvbgorICAgICAgc3BlY2lmaWVkIGluICdydycuCisKKyAgICAgIGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoKSBob25vcnMgdGhlIHdyaXRlX2dlbmVyYXRlIGFuZAorICAgICAgcmVhZF92ZXJpZnkgZmxhZ3MgaW4gc3lzZnMgYW5kIHdpbGwgcmVzcG9uZCBhY2NvcmRpbmdseS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfcHJlcChiaW8pOworCisgICAgICBUbyBnZW5lcmF0ZSBJTUQgZm9yIFdSSVRFIGFuZCB0byBzZXQgdXAgYnVmZmVycyBmb3IgUkVBRCwgdGhlCisgICAgICBmaWxlc3lzdGVtIG11c3QgY2FsbCBiaW9faW50ZWdyaXR5X3ByZXAoYmlvKS4KKworICAgICAgUHJpb3IgdG8gY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCB0aGUgYmlvIGRhdGEgZGlyZWN0aW9uIGFuZCBzdGFydAorICAgICAgc2VjdG9yIG11c3QgYmUgc2V0LCBhbmQgdGhlIGJpbyBzaG91bGQgaGF2ZSBhbGwgZGF0YSBwYWdlcworICAgICAgYWRkZWQuICBJdCBpcyB1cCB0byB0aGUgY2FsbGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBiaW8gZG9lcyBub3QKKyAgICAgIGNoYW5nZSB3aGlsZSBJL08gaXMgaW4gcHJvZ3Jlc3MuCisKKyAgICAgIGJpb19pbnRlZ3JpdHlfcHJlcCgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZgorICAgICAgYmlvX2ludGVncml0eV9lbmFibGVkKCkgcmV0dXJuZWQgMS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoYmlvKTsKKworICAgICAgSWYgdGhlIGZpbGVzeXN0ZW0gd2FudHMgdG8gdXNlIHRoZSBhcHBsaWNhdGlvbiB0YWcgc3BhY2UgaXQgd2lsbAorICAgICAgZmlyc3QgaGF2ZSB0byBmaW5kIG91dCBob3cgbXVjaCBzdG9yYWdlIHNwYWNlIGlzIGF2YWlsYWJsZS4KKyAgICAgIEJlY2F1c2UgdGFnIHNwYWNlIGlzIGdlbmVyYWxseSBsaW1pdGVkICh1c3VhbGx5IDIgYnl0ZXMgcGVyCisgICAgICBzZWN0b3IgcmVnYXJkbGVzcyBvZiBzZWN0b3Igc2l6ZSksIHRoZSBpbnRlZ3JpdHkgZnJhbWV3b3JrCisgICAgICBzdXBwb3J0cyBpbnRlcmxlYXZpbmcgdGhlIGluZm9ybWF0aW9uIGJldHdlZW4gdGhlIHNlY3RvcnMgaW4gYW4KKyAgICAgIEkvTy4KKworICAgICAgRmlsZXN5c3RlbXMgY2FuIGNhbGwgYmlvX2ludGVncml0eV90YWdfc2l6ZShiaW8pIHRvIGZpbmQgb3V0IGhvdworICAgICAgbWFueSBieXRlcyBvZiBzdG9yYWdlIGFyZSBhdmFpbGFibGUgZm9yIHRoYXQgcGFydGljdWxhciBiaW8uCisKKyAgICAgIEFub3RoZXIgb3B0aW9uIGlzIGJkZXZfZ2V0X3RhZ19zaXplKGJsb2NrX2RldmljZSkgd2hpY2ggd2lsbAorICAgICAgcmV0dXJuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGJ5dGVzIHBlciBoYXJkd2FyZSBzZWN0b3IuCisKKworICAgIGludCBiaW9faW50ZWdyaXR5X3NldF90YWcoYmlvLCB2b2lkICp0YWdfYnVmLCBsZW4pOworCisgICAgICBBZnRlciBhIHN1Y2Nlc3NmdWwgcmV0dXJuIGZyb20gYmlvX2ludGVncml0eV9wcmVwKCksCisgICAgICBiaW9faW50ZWdyaXR5X3NldF90YWcoKSBjYW4gYmUgdXNlZCB0byBhdHRhY2ggYW4gb3BhcXVlIHRhZworICAgICAgYnVmZmVyIHRvIGEgYmlvLiAgT2J2aW91c2x5IHRoaXMgb25seSBtYWtlcyBzZW5zZSBpZiB0aGUgSS9PIGlzCisgICAgICBhIFdSSVRFLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKGJpbywgdm9pZCAqdGFnX2J1ZiwgbGVuKTsKKworICAgICAgU2ltaWxhcmx5LCBhdCBSRUFEIEkvTyBjb21wbGV0aW9uIHRpbWUgdGhlIGZpbGVzeXN0ZW0gY2FuCisgICAgICByZXRyaWV2ZSB0aGUgdGFnIGJ1ZmZlciB1c2luZyBiaW9faW50ZWdyaXR5X2dldF90YWcoKS4KKworCis2LjMgUEFTU0lORyBFWElTVElORyBJTlRFR1JJVFkgTUVUQURBVEEKKworICAgIEZpbGVzeXN0ZW1zIHRoYXQgZWl0aGVyIGdlbmVyYXRlIHRoZWlyIG93biBpbnRlZ3JpdHkgbWV0YWRhdGEgb3IKKyAgICBhcmUgY2FwYWJsZSBvZiB0cmFuc2ZlcnJpbmcgSU1EIGZyb20gdXNlciBzcGFjZSBjYW4gdXNlIHRoZQorICAgIGZvbGxvd2luZyBjYWxsczoKKworCisgICAgc3RydWN0IGJpcCAqIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvLCBnZnBfbWFzaywgbnJfcGFnZXMpOworCisgICAgICBBbGxvY2F0ZXMgdGhlIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgaGFuZ3MgaXQgb2ZmIG9mIHRoZSBiaW8uCisgICAgICBucl9wYWdlcyBpbmRpY2F0ZSBob3cgbWFueSBwYWdlcyBvZiBwcm90ZWN0aW9uIGRhdGEgbmVlZCB0byBiZQorICAgICAgc3RvcmVkIGluIHRoZSBpbnRlZ3JpdHkgYmlvX3ZlYyBsaXN0IChzaW1pbGFyIHRvIGJpb19hbGxvYygpKS4KKworICAgICAgVGhlIGludGVncml0eSBwYXlsb2FkIHdpbGwgYmUgZnJlZWQgYXQgYmlvX2ZyZWUoKSB0aW1lLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9hZGRfcGFnZShiaW8sIHBhZ2UsIGxlbiwgb2Zmc2V0KTsKKworICAgICAgQXR0YWNoZXMgYSBwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhIHRvIGFuIGV4aXN0aW5nCisgICAgICBiaW8uICBUaGUgYmlvIG11c3QgaGF2ZSBhbiBleGlzdGluZyBiaXAsCisgICAgICBpLmUuIGJpb19pbnRlZ3JpdHlfYWxsb2MoKSBtdXN0IGhhdmUgYmVlbiBjYWxsZWQuICBGb3IgYSBXUklURSwKKyAgICAgIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gdGhlIHBhZ2VzIG11c3QgYmUgaW4gYSBmb3JtYXQKKyAgICAgIHVuZGVyc3Rvb2QgYnkgdGhlIHRhcmdldCBkZXZpY2Ugd2l0aCB0aGUgbm90YWJsZSBleGNlcHRpb24gdGhhdAorICAgICAgdGhlIHNlY3RvciBudW1iZXJzIHdpbGwgYmUgcmVtYXBwZWQgYXMgdGhlIHJlcXVlc3QgdHJhdmVyc2VzIHRoZQorICAgICAgSS9PIHN0YWNrLiAgVGhpcyBpbXBsaWVzIHRoYXQgdGhlIHBhZ2VzIGFkZGVkIHVzaW5nIHRoaXMgY2FsbAorICAgICAgd2lsbCBiZSBtb2RpZmllZCBkdXJpbmcgSS9PISAgVGhlIGZpcnN0IHJlZmVyZW5jZSB0YWcgaW4gdGhlCisgICAgICBpbnRlZ3JpdHkgbWV0YWRhdGEgbXVzdCBoYXZlIGEgdmFsdWUgb2YgYmlwLT5iaXBfc2VjdG9yLgorCisgICAgICBQYWdlcyBjYW4gYmUgYWRkZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpIGFzIGxvbmcgYXMKKyAgICAgIHRoZXJlIGlzIHJvb20gaW4gdGhlIGJpcCBiaW9fdmVjIGFycmF5IChucl9wYWdlcykuCisKKyAgICAgIFVwb24gY29tcGxldGlvbiBvZiBhIFJFQUQgb3BlcmF0aW9uLCB0aGUgYXR0YWNoZWQgcGFnZXMgd2lsbAorICAgICAgY29udGFpbiB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIHJlY2VpdmVkIGZyb20gdGhlIHN0b3JhZ2UgZGV2aWNlLgorICAgICAgSXQgaXMgdXAgdG8gdGhlIHJlY2VpdmVyIHRvIHByb2Nlc3MgdGhlbSBhbmQgdmVyaWZ5IGRhdGEKKyAgICAgIGludGVncml0eSB1cG9uIGNvbXBsZXRpb24uCisKKworNi40IFJFR0lTVEVSSU5HIEEgQkxPQ0sgREVWSUNFIEFTIENBUEFCTEUgT0YgRVhDSEFOR0lORyBJTlRFR1JJVFkKKyAgICBNRVRBREFUQQorCisgICAgVG8gZW5hYmxlIGludGVncml0eSBleGNoYW5nZSBvbiBhIGJsb2NrIGRldmljZSB0aGUgZ2VuZGlzayBtdXN0IGJlCisgICAgcmVnaXN0ZXJlZCBhcyBjYXBhYmxlOgorCisgICAgaW50IGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoZ2VuZGlzaywgYmxrX2ludGVncml0eSk7CisKKyAgICAgIFRoZSBibGtfaW50ZWdyaXR5IHN0cnVjdCBpcyBhIHRlbXBsYXRlIGFuZCBzaG91bGQgY29udGFpbiB0aGUKKyAgICAgIGZvbGxvd2luZzoKKworICAgICAgICBzdGF0aWMgc3RydWN0IGJsa19pbnRlZ3JpdHkgbXlfcHJvZmlsZSA9IHsKKyAgICAgICAgICAgIC5uYW1lICAgICAgICAgICAgICAgICAgID0gIlNUQU5EQVJEU0JPRFktVFlQRS1WQVJJQU5ULUNTVU0iLAorICAgICAgICAgICAgLmdlbmVyYXRlX2ZuICAgICAgICAgICAgPSBteV9nZW5lcmF0ZV9mbiwKKyAgICAgICAJICAgIC52ZXJpZnlfZm4gICAgICAgICAgICAgID0gbXlfdmVyaWZ5X2ZuLAorICAgICAgIAkgICAgLmdldF90YWdfZm4gICAgICAgICAgICAgPSBteV9nZXRfdGFnX2ZuLAorICAgICAgIAkgICAgLnNldF90YWdfZm4gICAgICAgICAgICAgPSBteV9zZXRfdGFnX2ZuLAorCSAgICAudHVwbGVfc2l6ZSAgICAgICAgICAgICA9IHNpemVvZihzdHJ1Y3QgbXlfdHVwbGVfc2l6ZSksCisJICAgIC50YWdfc2l6ZSAgICAgICAgICAgICAgID0gPHRhZyBieXRlcyBwZXIgaHcgc2VjdG9yPiwKKyAgICAgICAgfTsKKworICAgICAgJ25hbWUnIGlzIGEgdGV4dCBzdHJpbmcgd2hpY2ggd2lsbCBiZSB2aXNpYmxlIGluIHN5c2ZzLiAgVGhpcyBpcworICAgICAgcGFydCBvZiB0aGUgdXNlcmxhbmQgQVBJIHNvIGNob3NlIGl0IGNhcmVmdWxseSBhbmQgbmV2ZXIgY2hhbmdlCisgICAgICBpdC4gIFRoZSBmb3JtYXQgaXMgc3RhbmRhcmRzIGJvZHktdHlwZS12YXJpYW50LgorICAgICAgRS5nLiBUMTAtRElGLVRZUEUxLUlQIG9yIFQxMy1FUFAtMC1DUkMuCisKKyAgICAgICdnZW5lcmF0ZV9mbicgZ2VuZXJhdGVzIGFwcHJvcHJpYXRlIGludGVncml0eSBtZXRhZGF0YSAoZm9yIFdSSVRFKS4KKworICAgICAgJ3ZlcmlmeV9mbicgdmVyaWZpZXMgdGhhdCB0aGUgZGF0YSBidWZmZXIgbWF0Y2hlcyB0aGUgaW50ZWdyaXR5CisgICAgICBtZXRhZGF0YS4KKworICAgICAgJ3R1cGxlX3NpemUnIG11c3QgYmUgc2V0IHRvIG1hdGNoIHRoZSBzaXplIG9mIHRoZSBpbnRlZ3JpdHkKKyAgICAgIG1ldGFkYXRhIHBlciBzZWN0b3IuICBJLmUuIDggZm9yIERJRiBhbmQgRVBQLgorCisgICAgICAndGFnX3NpemUnIG11c3QgYmUgc2V0IHRvIGlkZW50aWZ5IGhvdyBtYW55IGJ5dGVzIG9mIHRhZyBzcGFjZQorICAgICAgYXJlIGF2YWlsYWJsZSBwZXIgaGFyZHdhcmUgc2VjdG9yLiAgRm9yIERJRiB0aGlzIGlzIGVpdGhlciAyIG9yCisgICAgICAwIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlIENvbnRyb2wgTW9kZSBQYWdlIEFUTyBiaXQuCisKKyAgICAgIFNlZSA2LjIgZm9yIGEgZGVzY3JpcHRpb24gb2YgZ2V0X3RhZ19mbiBhbmQgc2V0X3RhZ19mbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNy0xMi0yNCBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jcHV0b3BvbG9neS50eHQgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAppbmRleCBiNjFjYjk1Li5iZDY5OWRhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dApAQCAtMTQsOSArMTQsOCBAQAogVG8gaW1wbGVtZW50IGl0IGluIGFuIGFyY2hpdGVjdHVyZS1uZXV0cmFsIHdheSwgYSBuZXcgc291cmNlIGZpbGUsCiBkcml2ZXJzL2Jhc2UvdG9wb2xvZ3kuYywgaXMgdG8gZXhwb3J0IHRoZSA0IGF0dHJpYnV0ZXMuCiAKLUlmIG9uZSBhcmNoaXRlY3R1cmUgd2FudHMgdG8gc3VwcG9ydCB0aGlzIGZlYXR1cmUsIGl0IGp1c3QgbmVlZHMgdG8KLWltcGxlbWVudCA0IGRlZmluZXMsIHR5cGljYWxseSBpbiBmaWxlIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotVGhlIDQgZGVmaW5lcyBhcmU6CitGb3IgYW4gYXJjaGl0ZWN0dXJlIHRvIHN1cHBvcnQgdGhpcyBmZWF0dXJlLCBpdCBtdXN0IGRlZmluZSBzb21lIG9mCit0aGVzZSBtYWNyb3MgaW4gaW5jbHVkZS9hc20tWFhYL3RvcG9sb2d5Lmg6CiAjZGVmaW5lIHRvcG9sb2d5X3BoeXNpY2FsX3BhY2thZ2VfaWQoY3B1KQogI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkKICNkZWZpbmUgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzKGNwdSkKQEAgLTI1LDE3ICsyNCwxMCBAQAogVGhlIHR5cGUgb2YgKipfaWQgaXMgaW50LgogVGhlIHR5cGUgb2Ygc2libGluZ3MgaXMgY3B1bWFza190LgogCi1UbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCB0aGUgNCBhdHRyaWJ1dGVzIHNob3VsZCBoYXZlCi1kZWZhdWx0IHZhbHVlcyBpZiB0aGVpciB2YWx1ZXMgYXJlIHVuYXZhaWxhYmxlLiBCZWxvdyBpcyB0aGUgcnVsZS4KLTEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IElmIGNwdSBoYXMgbm8gcGh5c2ljYWwgcGFja2FnZSBpZCwgLTEgaXMgdGhlCi1kZWZhdWx0IHZhbHVlLgotMikgY29yZV9pZDogSWYgY3B1IGRvZXNuJ3Qgc3VwcG9ydCBtdWx0aS1jb3JlLCBpdHMgY29yZSBpZCBpcyAwLgotMykgdGhyZWFkX3NpYmxpbmdzOiBKdXN0IGluY2x1ZGUgaXRzZWxmLCBpZiB0aGUgY3B1IGRvZXNuJ3Qgc3VwcG9ydAotSFQvbXVsdGktdGhyZWFkLgotNCkgY29yZV9zaWJsaW5nczogSnVzdCBpbmNsdWRlIGl0c2VsZiwgaWYgdGhlIGNwdSBkb2Vzbid0IHN1cHBvcnQKLW11bHRpLWNvcmUgYW5kIEhUL011bHRpLXRocmVhZC4KLQotU28gYmUgY2FyZWZ1bCB3aGVuIGRlY2xhcmluZyB0aGUgNCBkZWZpbmVzIGluIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotCi1JZiBhbiBhdHRyaWJ1dGUgaXNuJ3QgZGVmaW5lZCBvbiBhbiBhcmNoaXRlY3R1cmUsIGl0IHdvbid0IGJlIGV4cG9ydGVkLgotCitUbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCBpbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKK3Byb3ZpZGVzIGRlZmF1bHQgZGVmaW5pdGlvbnMgZm9yIGFueSBvZiB0aGUgYWJvdmUgbWFjcm9zIHRoYXQgYXJlCitub3QgZGVmaW5lZCBieSBpbmNsdWRlL2FzbS1YWFgvdG9wb2xvZ3kuaDoKKzEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IC0xCisyKSBjb3JlX2lkOiAwCiszKSB0aHJlYWRfc2libGluZ3M6IGp1c3QgdGhlIGdpdmVuIENQVQorNCkgY29yZV9zaWJsaW5nczoganVzdCB0aGUgZ2l2ZW4gQ1BVCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQKaW5kZXggNDZlY2UzZi4uNjVhMTQ4MiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9mZWF0dXJlLXJlbW92YWwtc2NoZWR1bGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmVhdHVyZS1yZW1vdmFsLXNjaGVkdWxlLnR4dApAQCAtMjIyLDEzICsyMjIsNiBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2hhdDoJaTJjLWk4MTAsIGkyYy1wcm9zYXZhZ2UgYW5kIGkyYy1zYXZhZ2U0Ci1XaGVuOglNYXkgMjAwOAotV2h5OglUaGVzZSBkcml2ZXJzIGFyZSBzdXBlcnNlZGVkIGJ5IGk4MTBmYiwgaW50ZWxmYiBhbmQgc2F2YWdlZmIuCi1XaG86CUplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQogV2hhdCAoV2h5KToKIAktIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X1RPUy5oIGlwdF90b3MuaCBoZWFkZXIgZmlsZXMKIAkgIChzdXBlcnNlZGVkIGJ5IHh0X1RPUy94dF90b3MgdGFyZ2V0ICYgbWF0Y2gpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9leHQ0LnR4dAppbmRleCAwYzUwODZkLi44MGUxOTNkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvZXh0NC50eHQKQEAgLTEzLDcyICsxMyw5MyBAQAogMS4gUXVpY2sgdXNhZ2UgaW5zdHJ1Y3Rpb25zOgogPT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLSAgLSBHcmFiIHVwZGF0ZWQgZTJmc3Byb2dzIGZyb20KLSAgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgva2VybmVsL3Blb3BsZS90eXRzby9lMmZzcHJvZ3MtaW50ZXJpbS8KLSAgICBUaGlzIGlzIGEgcGF0Y2hzZXQgb24gdG9wIG9mIGUyZnNwcm9ncy0xLjM5LCB3aGljaCBjYW4gYmUgZm91bmQgYXQKKyAgLSBDb21waWxlIGFuZCBpbnN0YWxsIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBlMmZzcHJvZ3MgKGFzIG9mIHRoaXMKKyAgICB3cml0aW5nIHZlcnNpb24gMS40MSkgZnJvbToKKworICAgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zaG93ZmlsZXMucGhwP2dyb3VwX2lkPTI0MDYKKwkKKwlvcgorCiAgICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L2tlcm5lbC9wZW9wbGUvdHl0c28vZTJmc3Byb2dzLwogCi0gIC0gSXQncyBzdGlsbCBta2UyZnMgLWogL2Rldi9oZGExCisJb3IgZ3JhYiB0aGUgbGF0ZXN0IGdpdCByZXBvc2l0b3J5IGZyb206CiAKLSAgLSBtb3VudCAvZGV2L2hkYTEgL3doZXJldmVyIC10IGV4dDRkZXYKKyAgICBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2ZzL2V4dDIvZTJmc3Byb2dzLmdpdAogCi0gIC0gVG8gZW5hYmxlIGV4dGVudHMsCisgIC0gQ3JlYXRlIGEgbmV3IGZpbGVzeXN0ZW0gdXNpbmcgdGhlIGV4dDRkZXYgZmlsZXN5c3RlbSB0eXBlOgogCi0JbW91bnQgL2Rldi9oZGExIC93aGVyZXZlciAtdCBleHQ0ZGV2IC1vIGV4dGVudHMKKyAgICAJIyBta2UyZnMgLXQgZXh0NGRldiAvZGV2L2hkYTEKIAotICAtIFRoZSBmaWxlc3lzdGVtIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgZXh0MyBkcml2ZXIgdW50aWwgeW91IGFkZCBhIGZpbGUKLSAgICB3aGljaCBoYXMgZXh0ZW50cyAoaWU6IGBtb3VudCAtbyBleHRlbnRzJywgdGhlbiBjcmVhdGUgYSBmaWxlKS4KKyAgICBPciBjb25maWd1cmUgYW4gZXhpc3RpbmcgZXh0MyBmaWxlc3lzdGVtIHRvIHN1cHBvcnQgZXh0ZW50cyBhbmQgc2V0CisgICAgdGhlIHRlc3RfZnMgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IGl0J3Mgb2sgZm9yIGFuIGluLWRldmVsb3BtZW50CisgICAgZmlsZXN5c3RlbSB0byB0b3VjaCB0aGlzIGZpbGVzeXN0ZW06CiAKLSAgICBOT1RFOiBUaGUgImV4dGVudHMiIG1vdW50IGZsYWcgaXMgdGVtcG9yYXJ5LiAgSXQgd2lsbCBzb29uIGdvIGF3YXkgYW5kCi0gICAgZXh0ZW50cyB3aWxsIGJlIGVuYWJsZWQgYnkgdGhlICItbyBleHRlbnRzIiBmbGFnIHRvIG1rZTJmcyBvciB0dW5lMmZzCisJIyB0dW5lMmZzIC1PIGV4dGVudHMgLUUgdGVzdF9mcyAvZGV2L2hkYTEKKworICAgIElmIHRoZSBmaWxlc3lzdGVtIHdhcyBjcmVhdGVkIHdpdGggMTI4IGJ5dGUgaW5vZGVzLCBpdCBjYW4gYmUKKyAgICBjb252ZXJ0ZWQgdG8gdXNlIDI1NiBieXRlIGZvciBncmVhdGVyIGVmZmljaWVuY3kgdmlhOgorCisgICAgICAgICMgdHVuZTJmcyAtSSAyNTYgL2Rldi9oZGExCisKKyAgICAoTm90ZTogd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIHRvb2xzIHRvIGNvbnZlcnQgYW4gZXh0NGRldgorICAgIGZpbGVzeXN0ZW0gYmFjayB0byBleHQzOyBzbyBwbGVhc2UgZG8gbm90IGRvIHRyeSB0aGlzIG9uIHByb2R1Y3Rpb24KKyAgICBmaWxlc3lzdGVtcy4pCisKKyAgLSBNb3VudGluZzoKKworCSMgbW91bnQgLXQgZXh0NGRldiAvZGV2L2hkYTEgL3doZXJldmVyCiAKICAgLSBXaGVuIGNvbXBhcmluZyBwZXJmb3JtYW5jZSB3aXRoIG90aGVyIGZpbGVzeXN0ZW1zLCByZW1lbWJlciB0aGF0Ci0gICAgZXh0My80IGJ5IGRlZmF1bHQgb2ZmZXJzIGhpZ2hlciBkYXRhIGludGVncml0eSBndWFyYW50ZWVzIHRoYW4gbW9zdC4gIFNvCi0gICAgd2hlbiBjb21wYXJpbmcgd2l0aCBhIG1ldGFkYXRhLW9ubHkgam91cm5hbGxpbmcgZmlsZXN5c3RlbSwgdXNlIGBtb3VudCAtbwotICAgIGRhdGE9d3JpdGViYWNrJy4gIEFuZCB5b3UgbWlnaHQgYXMgd2VsbCB1c2UgYG1vdW50IC1vIG5vYmgnIHRvbyBhbG9uZwotICAgIHdpdGggaXQuICBNYWtpbmcgdGhlIGpvdXJuYWwgbGFyZ2VyIHRoYW4gdGhlIG1rZTJmcyBkZWZhdWx0IG9mdGVuIGhlbHBzCi0gICAgcGVyZm9ybWFuY2Ugd2l0aCBtZXRhZGF0YS1pbnRlbnNpdmUgd29ya2xvYWRzLgorICAgIGV4dDMvNCBieSBkZWZhdWx0IG9mZmVycyBoaWdoZXIgZGF0YSBpbnRlZ3JpdHkgZ3VhcmFudGVlcyB0aGFuIG1vc3QuCisgICAgU28gd2hlbiBjb21wYXJpbmcgd2l0aCBhIG1ldGFkYXRhLW9ubHkgam91cm5hbGxpbmcgZmlsZXN5c3RlbSwgc3VjaAorICAgIGFzIGV4dDMsIHVzZSBgbW91bnQgLW8gZGF0YT13cml0ZWJhY2snLiAgQW5kIHlvdSBtaWdodCBhcyB3ZWxsIHVzZQorICAgIGBtb3VudCAtbyBub2JoJyB0b28gYWxvbmcgd2l0aCBpdC4gIE1ha2luZyB0aGUgam91cm5hbCBsYXJnZXIgdGhhbgorICAgIHRoZSBta2UyZnMgZGVmYXVsdCBvZnRlbiBoZWxwcyBwZXJmb3JtYW5jZSB3aXRoIG1ldGFkYXRhLWludGVuc2l2ZQorICAgIHdvcmtsb2Fkcy4KIAogMi4gRmVhdHVyZXMKID09PT09PT09PT09CiAKIDIuMSBDdXJyZW50bHkgYXZhaWxhYmxlCiAKLSogYWJpbGl0eSB0byB1c2UgZmlsZXN5c3RlbXMgPiAxNlRCCisqIGFiaWxpdHkgdG8gdXNlIGZpbGVzeXN0ZW1zID4gMTZUQiAoZTJmc3Byb2dzIHN1cHBvcnQgbm90IGF2YWlsYWJsZSB5ZXQpCiAqIGV4dGVudCBmb3JtYXQgcmVkdWNlcyBtZXRhZGF0YSBvdmVyaGVhZCAoUkFNLCBJTyBmb3IgYWNjZXNzLCB0cmFuc2FjdGlvbnMpCiAqIGV4dGVudCBmb3JtYXQgbW9yZSByb2J1c3QgaW4gZmFjZSBvZiBvbi1kaXNrIGNvcnJ1cHRpb24gZHVlIHRvIG1hZ2ljcywKICogaW50ZXJuYWwgcmVkdW5hbmN5IGluIHRyZWUKLQotMi4xIFByZXZpb3VzbHkgYXZhaWxhYmxlLCBzb29uIHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBieSAibWtlZnMuZXh0NCI6Ci0KLSogZGlyX2luZGV4IGFuZCByZXNpemUgaW5vZGUgd2lsbCBiZSBvbiBieSBkZWZhdWx0Ci0qIGxhcmdlIGlub2RlcyB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdCBmb3IgZmFzdCBFQXMsIG5zZWMgdGltZXN0YW1wcywgZXRjCisqIGltcHJvdmVkIGZpbGUgYWxsb2NhdGlvbiAobXVsdGktYmxvY2sgYWxsb2MpCisqIGZpeCAzMjAwMCBzdWJkaXJlY3RvcnkgbGltaXQKKyogbnNlYyB0aW1lc3RhbXBzIGZvciBtdGltZSwgYXRpbWUsIGN0aW1lLCBjcmVhdGUgdGltZQorKiBpbm9kZSB2ZXJzaW9uIGZpZWxkIG9uIGRpc2sgKE5GU3Y0LCBMdXN0cmUpCisqIHJlZHVjZWQgZTJmc2NrIHRpbWUgdmlhIHVuaW5pdF9iZyBmZWF0dXJlCisqIGpvdXJuYWwgY2hlY2tzdW1taW5nIGZvciByb2J1c3RuZXNzLCBwZXJmb3JtYW5jZQorKiBwZXJzaXN0ZW50IGZpbGUgcHJlYWxsb2NhdGlvbiAoZS5nIGZvciBzdHJlYW1pbmcgbWVkaWEsIGRhdGFiYXNlcykKKyogYWJpbGl0eSB0byBwYWNrIGJpdG1hcHMgYW5kIGlub2RlIHRhYmxlcyBpbnRvIGxhcmdlciB2aXJ0dWFsIGdyb3VwcyB2aWEgdGhlCisgIGZsZXhfYmcgZmVhdHVyZQorKiBsYXJnZSBmaWxlIHN1cHBvcnQKKyogSW5vZGUgYWxsb2NhdGlvbiB1c2luZyBsYXJnZSB2aXJ0dWFsIGJsb2NrIGdyb3VwcyB2aWEgZmxleF9iZworKiBkZWxheWVkIGFsbG9jYXRpb24KKyogbGFyZ2UgYmxvY2sgKHVwIHRvIHBhZ2VzaXplKSBzdXBwb3J0CisqIGVmZmljZW50IG5ldyBvcmRlcmVkIG1vZGUgaW4gSkJEMiBhbmQgZXh0NChhdm9pZCB1c2luZyBidWZmZXIgaGVhZCB0byBmb3JjZQorICB0aGUgb3JkZXJpbmcpCiAKIDIuMiBDYW5kaWRhdGUgZmVhdHVyZXMgZm9yIGZ1dHVyZSBpbmNsdXNpb24KIAotVGhlcmUgYXJlIHNldmVyYWwgdW5kZXIgZGlzY3Vzc2lvbiwgd2hldGhlciB0aGV5IGFsbCBtYWtlIGl0IGluIGlzCi1wYXJ0bHkgYSBmdW5jdGlvbiBvZiBob3cgbXVjaCB0aW1lIGV2ZXJ5b25lIGhhcyB0byB3b3JrIG9uIHRoZW06CisqIE9ubGluZSBkZWZyYWcgKHBhdGNoZXMgYXZhaWxhYmxlIGJ1dCBub3Qgd2VsbCB0ZXN0ZWQpCisqIHJlZHVjZWQgbWtlMmZzIHRpbWUgdmlhIGxhenkgaXRhYmxlIGluaXRpYWxpemF0aW9uIGluIGNvbmp1Y3Rpb24gd2l0aAorICB0aGUgdW5pbml0X2JnIGZlYXR1cmUgKGNhcGFiaWxpdHkgdG8gZG8gdGhpcyBpcyBhdmFpbGFibGUgaW4gZTJmc3Byb2dzCisgIGJ1dCBhIGtlcm5lbCB0aHJlYWQgdG8gZG8gbGF6eSB6ZXJvaW5nIG9mIHVudXNlZCBpbm9kZSB0YWJsZSBibG9ja3MKKyAgYWZ0ZXIgZmlsZXN5c3RlbSBpcyBmaXJzdCBtb3VudGVkIGlzIHJlcXVpcmVkIGZvciBzYWZldHkpCiAKLSogaW1wcm92ZWQgZmlsZSBhbGxvY2F0aW9uIChtdWx0aS1ibG9jayBhbGxvYywgZGVsYXllZCBhbGxvYzsgYmFzaWNhbGx5IGRvbmUpCi0qIGZpeCAzMjAwMCBzdWJkaXJlY3RvcnkgbGltaXQgKHBhdGNoIGV4aXN0cywgbmVlZHMgc29tZSBlMmZzY2sgd29yaykKLSogbnNlYyB0aW1lc3RhbXBzIGZvciBtdGltZSwgYXRpbWUsIGN0aW1lLCBjcmVhdGUgdGltZSAocGF0Y2ggZXhpc3RzLAotICBuZWVkcyBzb21lIGUyZnNjayB3b3JrKQotKiBpbm9kZSB2ZXJzaW9uIGZpZWxkIG9uIGRpc2sgKE5GU3Y0LCBMdXN0cmU7IHByb3RvdHlwZSBleGlzdHMpCi0qIHJlZHVjZWQgbWtlMmZzL2UyZnNjayB0aW1lIHZpYSB1bmluaXRpYWxpemVkIGdyb3VwcyAocHJvdG90eXBlIGV4aXN0cykKLSogam91cm5hbCBjaGVja3N1bW1pbmcgZm9yIHJvYnVzdG5lc3MsIHBlcmZvcm1hbmNlIChwcm90b3R5cGUgZXhpc3RzKQotKiBwZXJzaXN0ZW50IGZpbGUgcHJlYWxsb2NhdGlvbiAoZS5nIGZvciBzdHJlYW1pbmcgbWVkaWEsIGRhdGFiYXNlcykKK1RoZXJlIGFyZSBzZXZlcmFsIG90aGVycyB1bmRlciBkaXNjdXNzaW9uLCB3aGV0aGVyIHRoZXkgYWxsIG1ha2UgaXQgaW4gaXMKK3BhcnRseSBhIGZ1bmN0aW9uIG9mIGhvdyBtdWNoIHRpbWUgZXZlcnlvbmUgaGFzIHRvIHdvcmsgb24gdGhlbS4gRmVhdHVyZXMgbGlrZQorbWV0YWRhdGEgY2hlY2tzdW1taW5nIGhhdmUgYmVlbiBkaXNjdXNzZWQgYW5kIHBsYW5uZWQgZm9yIGEgYml0IGJ1dCBubyBwYXRjaGVzCitleGlzdCB5ZXQgc28gSSdtIG5vdCBzdXJlIHRoZXkncmUgaW4gdGhlIG5lYXItdGVybSByb2FkbWFwLgogCi1GZWF0dXJlcyBsaWtlIG1ldGFkYXRhIGNoZWNrc3VtbWluZyBoYXZlIGJlZW4gZGlzY3Vzc2VkIGFuZCBwbGFubmVkIGZvcgotYSBiaXQgYnV0IG5vIHBhdGNoZXMgZXhpc3QgeWV0IHNvIEknbSBub3Qgc3VyZSB0aGV5J3JlIGluIHRoZSBuZWFyLXRlcm0KLXJvYWRtYXAuCitUaGUgYmlnIHBlcmZvcm1hbmNlIHdpbiB3aWxsIGNvbWUgd2l0aCBtYmFsbG9jLCBkZWxhbGxvYyBhbmQgZmxleF9iZworZ3JvdXBpbmcgb2YgYml0bWFwcyBhbmQgaW5vZGUgdGFibGVzLiAgU29tZSB0ZXN0IHJlc3VsdHMgYXZhaWxhYmxlIGhlcmU6CiAKLVRoZSBiaWcgcGVyZm9ybWFuY2Ugd2luIHdpbGwgY29tZSB3aXRoIG1iYWxsb2MgYW5kIGRlbGFsbG9jLiAgQ0ZTIGhhcwotYmVlbiB1c2luZyBtYmFsbG9jIGZvciBhIGZldyB5ZWFycyBhbHJlYWR5IHdpdGggTHVzdHJlLCBhbmQgSUJNICsgQnVsbAotZGlkIGEgbG90IG9mIGJlbmNobWFya2luZyBvbiBpdC4gIFRoZSByZWFzb24gaXQgaXNuJ3QgaW4gdGhlIGZpcnN0IHNldCBvZgotcGF0Y2hlcyBpcyBwYXJ0bHkgYSBtYW5hZ2VhYmlsaXR5IGlzc3VlLCBhbmQgcGFydGx5IGJlY2F1c2UgaXQgZG9lc24ndAotZGlyZWN0bHkgYWZmZWN0IHRoZSBvbi1kaXNrIGZvcm1hdCAob3V0c2lkZSBvZiBtdWNoIGJldHRlciBhbGxvY2F0aW9uKQotc28gaXQgaXNuJ3QgY3JpdGljYWwgdG8gZ2V0IGludG8gdGhlIGZpcnN0IHJvdW5kIG9mIGNoYW5nZXMuICBJIGJlbGlldmUKLUFsZXggaXMgd29ya2luZyBvbiBhIG5ldyBzZXQgb2YgcGF0Y2hlcyByaWdodCBub3cuCisgLSBodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LzIwMDgwNTMwL2Zmc2Itd3JpdGUtMi42LjI2LXJjMi5odG1sCisgLSBodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LzIwMDgwNTMwL2Zmc2ItcmVhZHdyaXRlLTIuNi4yNi1yYzIuaHRtbAogCiAzLiBPcHRpb25zCiA9PT09PT09PT09CkBAIC0yMjIsOSArMjQzLDExIEBACiAJCQl0byB1c2UgZm9yIGFsbG9jYXRpb24gc2l6ZSBhbmQgYWxpZ25tZW50LiBGb3IgUkFJRDUvNgogCQkJc3lzdGVtcyB0aGlzIHNob3VsZCBiZSB0aGUgbnVtYmVyIG9mIGRhdGEKIAkJCWRpc2tzICogIFJBSUQgY2h1bmsgc2l6ZSBpbiBmaWxlIHN5c3RlbSBibG9ja3MuCi0KK2RlbGFsbG9jCSgqKQlEZWZlcnJpbmcgYmxvY2sgYWxsb2NhdGlvbiB1bnRpbCB3cml0ZS1vdXQgdGltZS4KK25vZGVsYWxsb2MJCURpc2FibGUgZGVsYXllZCBhbGxvY2F0aW9uLiBCbG9ja3MgYXJlIGFsbG9jYXRpb24KKwkJCXdoZW4gZGF0YSBpcyBjb3BpZWQgZnJvbSB1c2VyIHRvIHBhZ2UgY2FjaGUuCiBEYXRhIE1vZGUKLS0tLS0tLS0tLQorPT09PT09PT09CiBUaGVyZSBhcmUgMyBkaWZmZXJlbnQgZGF0YSBtb2RlczoKIAogKiB3cml0ZWJhY2sgbW9kZQpAQCAtMjM2LDEwICsyNTksMTAgQEAKIAogKiBvcmRlcmVkIG1vZGUKIEluIGRhdGE9b3JkZXJlZCBtb2RlLCBleHQ0IG9ubHkgb2ZmaWNpYWxseSBqb3VybmFscyBtZXRhZGF0YSwgYnV0IGl0IGxvZ2ljYWxseQotZ3JvdXBzIG1ldGFkYXRhIGFuZCBkYXRhIGJsb2NrcyBpbnRvIGEgc2luZ2xlIHVuaXQgY2FsbGVkIGEgdHJhbnNhY3Rpb24uICBXaGVuCi1pdCdzIHRpbWUgdG8gd3JpdGUgdGhlIG5ldyBtZXRhZGF0YSBvdXQgdG8gZGlzaywgdGhlIGFzc29jaWF0ZWQgZGF0YSBibG9ja3MKLWFyZSB3cml0dGVuIGZpcnN0LiAgSW4gZ2VuZXJhbCwgdGhpcyBtb2RlIHBlcmZvcm1zIHNsaWdodGx5IHNsb3dlciB0aGFuCi13cml0ZWJhY2sgYnV0IHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gam91cm5hbCBtb2RlLgorZ3JvdXBzIG1ldGFkYXRhIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gZGF0YSBjaGFuZ2VzIHdpdGggdGhlIGRhdGEgYmxvY2tzIGludG8gYQorc2luZ2xlIHVuaXQgY2FsbGVkIGEgdHJhbnNhY3Rpb24uICBXaGVuIGl0J3MgdGltZSB0byB3cml0ZSB0aGUgbmV3IG1ldGFkYXRhCitvdXQgdG8gZGlzaywgdGhlIGFzc29jaWF0ZWQgZGF0YSBibG9ja3MgYXJlIHdyaXR0ZW4gZmlyc3QuICBJbiBnZW5lcmFsLAordGhpcyBtb2RlIHBlcmZvcm1zIHNsaWdodGx5IHNsb3dlciB0aGFuIHdyaXRlYmFjayBidXQgc2lnbmlmaWNhbnRseSBmYXN0ZXIgdGhhbiBqb3VybmFsIG1vZGUuCiAKICogam91cm5hbCBtb2RlCiBkYXRhPWpvdXJuYWwgbW9kZSBwcm92aWRlcyBmdWxsIGRhdGEgYW5kIG1ldGFkYXRhIGpvdXJuYWxpbmcuICBBbGwgbmV3IGRhdGEgaXMKQEAgLTI0Nyw3ICsyNzAsOCBAQAogSW4gdGhlIGV2ZW50IG9mIGEgY3Jhc2gsIHRoZSBqb3VybmFsIGNhbiBiZSByZXBsYXllZCwgYnJpbmdpbmcgYm90aCBkYXRhIGFuZAogbWV0YWRhdGEgaW50byBhIGNvbnNpc3RlbnQgc3RhdGUuICBUaGlzIG1vZGUgaXMgdGhlIHNsb3dlc3QgZXhjZXB0IHdoZW4gZGF0YQogbmVlZHMgdG8gYmUgcmVhZCBmcm9tIGFuZCB3cml0dGVuIHRvIGRpc2sgYXQgdGhlIHNhbWUgdGltZSB3aGVyZSBpdAotb3V0cGVyZm9ybXMgYWxsIG90aGVycyBtb2Rlcy4KK291dHBlcmZvcm1zIGFsbCBvdGhlcnMgbW9kZXMuICBDdXJlbnRseSBleHQ0IGRvZXMgbm90IGhhdmUgZGVsYXllZAorYWxsb2NhdGlvbiBzdXBwb3J0IGlmIHRoaXMgZGF0YSBqb3VybmFsbGluZyBtb2RlIGlzIHNlbGVjdGVkLgogCiBSZWZlcmVuY2VzCiA9PT09PT09PT09CkBAIC0yNTYsNyArMjgwLDggQEAKIAkJPGZpbGU6ZnMvamJkMi8+CiAKIHByb2dyYW1zOglodHRwOi8vZTJmc3Byb2dzLnNvdXJjZWZvcmdlLm5ldC8KLQkJaHR0cDovL2V4dDJyZXNpemUuc291cmNlZm9yZ2UubmV0CiAKIHVzZWZ1bCBsaW5rczoJaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvZXh0My1kZXZlbAogCQlodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LworCQlodHRwOi8vZXh0NC53aWtpLmtlcm5lbC5vcmcvaW5kZXgucGhwL01haW5fUGFnZQorCQlodHRwOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWF0dXJlcy9FeHQ0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2dmczItZ2xvY2tzLnR4dCBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvZ2ZzMi1nbG9ja3MudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkYWU5YTMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2dmczItZ2xvY2tzLnR4dApAQCAtMCwwICsxLDExNCBAQAorICAgICAgICAgICAgICAgICAgIEdsb2NrIGludGVybmFsIGxvY2tpbmcgcnVsZXMKKyAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIGRvY3VtZW50cyB0aGUgYmFzaWMgcHJpbmNpcGxlcyBvZiB0aGUgZ2xvY2sgc3RhdGUgbWFjaGluZQoraW50ZXJuYWxzLiBFYWNoIGdsb2NrIChzdHJ1Y3QgZ2ZzMl9nbG9jayBpbiBmcy9nZnMyL2luY29yZS5oKQoraGFzIHR3byBtYWluIChpbnRlcm5hbCkgbG9ja3M6CisKKyAxLiBBIHNwaW5sb2NrIChnbF9zcGluKSB3aGljaCBwcm90ZWN0cyB0aGUgaW50ZXJuYWwgc3RhdGUgc3VjaAorICAgIGFzIGdsX3N0YXRlLCBnbF90YXJnZXQgYW5kIHRoZSBsaXN0IG9mIGhvbGRlcnMgKGdsX2hvbGRlcnMpCisgMi4gQSBub24tYmxvY2tpbmcgYml0IGxvY2ssIEdMRl9MT0NLLCB3aGljaCBpcyB1c2VkIHRvIHByZXZlbnQgb3RoZXIKKyAgICB0aHJlYWRzIGZyb20gbWFraW5nIGNhbGxzIHRvIHRoZSBETE0sIGV0Yy4gYXQgdGhlIHNhbWUgdGltZS4gSWYgYQorICAgIHRocmVhZCB0YWtlcyB0aGlzIGxvY2ssIGl0IG11c3QgdGhlbiBjYWxsIHJ1bl9xdWV1ZSAodXN1YWxseSB2aWEgdGhlCisgICAgd29ya3F1ZXVlKSB3aGVuIGl0IHJlbGVhc2VzIGl0IGluIG9yZGVyIHRvIGVuc3VyZSBhbnkgcGVuZGluZyB0YXNrcworICAgIGFyZSBjb21wbGV0ZWQuCisKK1RoZSBnbF9ob2xkZXJzIGxpc3QgY29udGFpbnMgYWxsIHRoZSBxdWV1ZWQgbG9jayByZXF1ZXN0cyAobm90CitqdXN0IHRoZSBob2xkZXJzKSBhc3NvY2lhdGVkIHdpdGggdGhlIGdsb2NrLiBJZiB0aGVyZSBhcmUgYW55CitoZWxkIGxvY2tzLCB0aGVuIHRoZXkgd2lsbCBiZSBjb250aWd1b3VzIGVudHJpZXMgYXQgdGhlIGhlYWQKK29mIHRoZSBsaXN0LiBMb2NrcyBhcmUgZ3JhbnRlZCBpbiBzdHJpY3RseSB0aGUgb3JkZXIgdGhhdCB0aGV5CithcmUgcXVldWVkLCBleGNlcHQgZm9yIHRob3NlIG1hcmtlZCBMTV9GTEFHX1BSSU9SSVRZIHdoaWNoIGFyZQordXNlZCBvbmx5IGR1cmluZyByZWNvdmVyeSwgYW5kIGV2ZW4gdGhlbiBvbmx5IGZvciBqb3VybmFsIGxvY2tzLgorCitUaGVyZSBhcmUgdGhyZWUgbG9jayBzdGF0ZXMgdGhhdCB1c2VycyBvZiB0aGUgZ2xvY2sgbGF5ZXIgY2FuIHJlcXVlc3QsCituYW1lbHkgc2hhcmVkIChTSCksIGRlZmVycmVkIChERikgYW5kIGV4Y2x1c2l2ZSAoRVgpLiBUaG9zZSB0cmFuc2xhdGUKK3RvIHRoZSBmb2xsb3dpbmcgRExNIGxvY2sgbW9kZXM6CisKK0dsb2NrIG1vZGUgICAgfCBETE0gbG9jayBtb2RlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICBVTiAgICAgICAgfCAgICBJVi9OTCAgVW5sb2NrZWQgKG5vIERMTSBsb2NrIGFzc29jaWF0ZWQgd2l0aCBnbG9jaykgb3IgTkwKKyAgICBTSCAgICAgICAgfCAgICBQUiAgICAgKFByb3RlY3RlZCByZWFkKQorICAgIERGICAgICAgICB8ICAgIENXICAgICAoQ29uY3VycmVudCB3cml0ZSkKKyAgICBFWCAgICAgICAgfCAgICBFWCAgICAgKEV4Y2x1c2l2ZSkKKworVGh1cyBERiBpcyBiYXNpY2FsbHkgYSBzaGFyZWQgbW9kZSB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgIm5vcm1hbCIKK3NoYXJlZCBsb2NrIG1vZGUsIFNILiBJbiBHRlMyIHRoZSBERiBtb2RlIGlzIHVzZWQgZXhjbHVzaXZlbHkgZm9yIGRpcmVjdCBJL08KK29wZXJhdGlvbnMuIFRoZSBnbG9ja3MgYXJlIGJhc2ljYWxseSBhIGxvY2sgcGx1cyBzb21lIHJvdXRpbmVzIHdoaWNoIGRlYWwKK3dpdGggY2FjaGUgbWFuYWdlbWVudC4gVGhlIGZvbGxvd2luZyBydWxlcyBhcHBseSBmb3IgdGhlIGNhY2hlOgorCitHbG9jayBtb2RlICAgfCAgQ2FjaGUgZGF0YSB8IENhY2hlIE1ldGFkYXRhIHwgRGlydHkgRGF0YSB8IERpcnR5IE1ldGFkYXRhCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIFVOICAgICAgIHwgICAgIE5vICAgICAgfCAgICAgICBObyAgICAgICB8ICAgICBObyAgICAgfCAgICAgIE5vCisgICAgU0ggICAgICAgfCAgICAgWWVzICAgICB8ICAgICAgIFllcyAgICAgIHwgICAgIE5vICAgICB8ICAgICAgTm8KKyAgICBERiAgICAgICB8ICAgICBObyAgICAgIHwgICAgICAgWWVzICAgICAgfCAgICAgTm8gICAgIHwgICAgICBObworICAgIEVYICAgICAgIHwgICAgIFllcyAgICAgfCAgICAgICBZZXMgICAgICB8ICAgICBZZXMgICAgfCAgICAgIFllcworCitUaGVzZSBydWxlcyBhcmUgaW1wbGVtZW50ZWQgdXNpbmcgdGhlIHZhcmlvdXMgZ2xvY2sgb3BlcmF0aW9ucyB3aGljaAorYXJlIGRlZmluZWQgZm9yIGVhY2ggdHlwZSBvZiBnbG9jay4gTm90IGFsbCB0eXBlcyBvZiBnbG9ja3MgdXNlCithbGwgdGhlIG1vZGVzLiBPbmx5IGlub2RlIGdsb2NrcyB1c2UgdGhlIERGIG1vZGUgZm9yIGV4YW1wbGUuCisKK1RhYmxlIG9mIGdsb2NrIG9wZXJhdGlvbnMgYW5kIHBlciB0eXBlIGNvbnN0YW50czoKKworRmllbGQgICAgICAgICAgICB8IFB1cnBvc2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2dvX3htb3RlX3RoICAgICAgfCBDYWxsZWQgYmVmb3JlIHJlbW90ZSBzdGF0ZSBjaGFuZ2UgKGUuZy4gdG8gc3luYyBkaXJ0eSBkYXRhKQorZ29feG1vdGVfYmggICAgICB8IENhbGxlZCBhZnRlciByZW1vdGUgc3RhdGUgY2hhbmdlIChlLmcuIHRvIHJlZmlsbCBjYWNoZSkKK2dvX2ludmFsICAgICAgICAgfCBDYWxsZWQgaWYgcmVtb3RlIHN0YXRlIGNoYW5nZSByZXF1aXJlcyBpbnZhbGlkYXRpbmcgdGhlIGNhY2hlCitnb19kZW1vdGVfb2sgICAgIHwgUmV0dXJucyBib29sZWFuIHZhbHVlIG9mIHdoZXRoZXIgaXRzIG9rIHRvIGRlbW90ZSBhIGdsb2NrCisgICAgICAgICAgICAgICAgIHwgKGUuZy4gY2hlY2tzIHRpbWVvdXQsIGFuZCB0aGF0IHRoZXJlIGlzIG5vIGNhY2hlZCBkYXRhKQorZ29fbG9jayAgICAgICAgICB8IENhbGxlZCBmb3IgdGhlIGZpcnN0IGxvY2FsIGhvbGRlciBvZiBhIGxvY2sKK2dvX3VubG9jayAgICAgICAgfCBDYWxsZWQgb24gdGhlIGZpbmFsIGxvY2FsIHVubG9jayBvZiBhIGxvY2sKK2dvX2R1bXAgICAgICAgICAgfCBDYWxsZWQgdG8gcHJpbnQgY29udGVudCBvZiBvYmplY3QgZm9yIGRlYnVnZnMgZmlsZSwgb3Igb24KKyAgICAgICAgICAgICAgICAgfCBlcnJvciB0byBkdW1wIGdsb2NrIHRvIHRoZSBsb2cuCitnb190eXBlOyAgICAgICAgIHwgVGhlIHR5cGUgb2YgdGhlIGdsb2NrLCBMTV9UWVBFXy4uLi4uCitnb19taW5faG9sZF90aW1lIHwgVGhlIG1pbmltdW0gaG9sZCB0aW1lCisKK1RoZSBtaW5pbXVtIGhvbGQgdGltZSBmb3IgZWFjaCBsb2NrIGlzIHRoZSB0aW1lIGFmdGVyIGEgcmVtb3RlIGxvY2sKK2dyYW50IGZvciB3aGljaCB3ZSBpZ25vcmUgcmVtb3RlIGRlbW90ZSByZXF1ZXN0cy4gVGhpcyBpcyBpbiBvcmRlciB0bworcHJldmVudCBhIHNpdHVhdGlvbiB3aGVyZSBsb2NrcyBhcmUgYmVpbmcgYm91bmNlZCBhcm91bmQgdGhlIGNsdXN0ZXIKK2Zyb20gbm9kZSB0byBub2RlIHdpdGggbm9uZSBvZiB0aGUgbm9kZXMgbWFraW5nIGFueSBwcm9ncmVzcy4gVGhpcwordGVuZHMgdG8gc2hvdyB1cCBtb3N0IHdpdGggc2hhcmVkIG1tYXBlZCBmaWxlcyB3aGljaCBhcmUgYmVpbmcgd3JpdHRlbgordG8gYnkgbXVsdGlwbGUgbm9kZXMuIEJ5IGRlbGF5aW5nIHRoZSBkZW1vdGlvbiBpbiByZXNwb25zZSB0byBhCityZW1vdGUgY2FsbGJhY2ssIHRoYXQgZ2l2ZXMgdGhlIHVzZXJzcGFjZSBwcm9ncmFtIHRpbWUgdG8gbWFrZQorc29tZSBwcm9ncmVzcyBiZWZvcmUgdGhlIHBhZ2VzIGFyZSB1bm1hcHBlZC4KKworVGhlcmUgaXMgYSBwbGFuIHRvIHRyeSBhbmQgcmVtb3ZlIHRoZSBnb19sb2NrIGFuZCBnb191bmxvY2sgY2FsbGJhY2tzCitpZiBwb3NzaWJsZSwgaW4gb3JkZXIgdG8gdHJ5IGFuZCBzcGVlZCB1cCB0aGUgZmFzdCBwYXRoIHRob3VnaCB0aGUgbG9ja2luZy4KK0Fsc28sIGV2ZW50dWFsbHkgd2UgaG9wZSB0byBtYWtlIHRoZSBnbG9jayAiRVgiIG1vZGUgbG9jYWxseSBzaGFyZWQKK3N1Y2ggdGhhdCBhbnkgbG9jYWwgbG9ja2luZyB3aWxsIGJlIGRvbmUgd2l0aCB0aGUgaV9tdXRleCBhcyByZXF1aXJlZAorcmF0aGVyIHRoYW4gdmlhIHRoZSBnbG9jay4KKworTG9ja2luZyBydWxlcyBmb3IgZ2xvY2sgb3BlcmF0aW9uczoKKworT3BlcmF0aW9uICAgICB8ICBHTEZfTE9DSyBiaXQgbG9jayBoZWxkIHwgIGdsX3NwaW4gc3BpbmxvY2sgaGVsZAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2dvX3htb3RlX3RoICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb194bW90ZV9iaCAgIHwgICAgICAgWWVzICAgICAgICAgICAgICAgfCAgICAgICBObworZ29faW52YWwgICAgICB8ICAgICAgIFllcyAgICAgICAgICAgICAgIHwgICAgICAgTm8KK2dvX2RlbW90ZV9vayAgfCAgICAgICBTb21ldGltZXMgICAgICAgICB8ICAgICAgIFllcworZ29fbG9jayAgICAgICB8ICAgICAgIFllcyAgICAgICAgICAgICAgIHwgICAgICAgTm8KK2dvX3VubG9jayAgICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb19kdW1wICAgICAgIHwgICAgICAgU29tZXRpbWVzICAgICAgICAgfCAgICAgICBZZXMKKworTi5CLiBPcGVyYXRpb25zIG11c3Qgbm90IGRyb3AgZWl0aGVyIHRoZSBiaXQgbG9jayBvciB0aGUgc3BpbmxvY2sKK2lmIGl0cyBoZWxkIG9uIGVudHJ5LiBnb19kdW1wIGFuZCBkb19kZW1vdGVfb2sgbXVzdCBuZXZlciBibG9jay4KK05vdGUgdGhhdCBnb19kdW1wIHdpbGwgb25seSBiZSBjYWxsZWQgaWYgdGhlIGdsb2NrJ3Mgc3RhdGUKK2luZGljYXRlcyB0aGF0IGl0IGlzIGNhY2hpbmcgdXB0b2RhdGUgZGF0YS4KKworR2xvY2sgbG9ja2luZyBvcmRlciB3aXRoaW4gR0ZTMjoKKworIDEuIGlfbXV0ZXggKGlmIHJlcXVpcmVkKQorIDIuIFJlbmFtZSBnbG9jayAoZm9yIHJlbmFtZSBvbmx5KQorIDMuIElub2RlIGdsb2NrKHMpCisgICAgKFBhcmVudHMgYmVmb3JlIGNoaWxkcmVuLCBpbm9kZXMgYXQgInNhbWUgbGV2ZWwiIHdpdGggc2FtZSBwYXJlbnQgaW4KKyAgICAgbG9jayBudW1iZXIgb3JkZXIpCisgNC4gUmdycCBnbG9jayhzKSAoZm9yIChkZSlhbGxvY2F0aW9uIG9wZXJhdGlvbnMpCisgNS4gVHJhbnNhY3Rpb24gZ2xvY2sgKHZpYSBnZnMyX3RyYW5zX2JlZ2luKSBmb3Igbm9uLXJlYWQgb3BlcmF0aW9ucworIDYuIFBhZ2UgbG9jayAgKGFsd2F5cyBsYXN0LCB2ZXJ5IGltcG9ydGFudCEpCisKK1RoZXJlIGFyZSB0d28gZ2xvY2tzIHBlciBpbm9kZS4gT25lIGRlYWxzIHdpdGggYWNjZXNzIHRvIHRoZSBpbm9kZQoraXRzZWxmIChsb2NraW5nIG9yZGVyIGFzIGFib3ZlKSwgYW5kIHRoZSBvdGhlciwga25vd24gYXMgdGhlIGlvcGVuCitnbG9jayBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGlfbmxpbmsgZmllbGQgaW4gdGhlIGlub2RlIHRvCitkZXRlcm1pbmUgdGhlIGxpZmV0aW1lIG9mIHRoZSBpbm9kZSBpbiBxdWVzdGlvbi4gTG9ja2luZyBvZiBpbm9kZXMKK2lzIG9uIGEgcGVyLWlub2RlIGJhc2lzLiBMb2NraW5nIG9mIHJncnBzIGlzIG9uIGEgcGVyIHJncnAgYmFzaXMuCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Byb2MudHh0CmluZGV4IGRiYzNjNmEuLjdmMjY4ZjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9wcm9jLnR4dApAQCAtMzgwLDI4ICszODAsMzUgQEAKIE9mIHNvbWUgaW50ZXJlc3QgaXMgdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgL3Byb2MvaXJxIGRpcmVjdG9yeSB0byAyLjQuCiBJdCBjb3VsZCBiZSB1c2VkIHRvIHNldCBJUlEgdG8gQ1BVIGFmZmluaXR5LCB0aGlzIG1lYW5zIHRoYXQgeW91IGNhbiAiaG9vayIgYW4KIElSUSB0byBvbmx5IG9uZSBDUFUsIG9yIHRvIGV4Y2x1ZGUgYSBDUFUgb2YgaGFuZGxpbmcgSVJRcy4gVGhlIGNvbnRlbnRzIG9mIHRoZQotaXJxIHN1YmRpciBpcyBvbmUgc3ViZGlyIGZvciBlYWNoIElSUSwgYW5kIG9uZSBmaWxlOyBwcm9mX2NwdV9tYXNrCitpcnEgc3ViZGlyIGlzIG9uZSBzdWJkaXIgZm9yIGVhY2ggSVJRLCBhbmQgdHdvIGZpbGVzOyBkZWZhdWx0X3NtcF9hZmZpbml0eSBhbmQKK3Byb2ZfY3B1X21hc2suCiAKIEZvciBleGFtcGxlIAogICA+IGxzIC9wcm9jL2lycS8KICAgMCAgMTAgIDEyICAxNCAgMTYgIDE4ICAyICA0ICA2ICA4ICBwcm9mX2NwdV9tYXNrCi0gIDEgIDExICAxMyAgMTUgIDE3ICAxOSAgMyAgNSAgNyAgOQorICAxICAxMSAgMTMgIDE1ICAxNyAgMTkgIDMgIDUgIDcgIDkgIGRlZmF1bHRfc21wX2FmZmluaXR5CiAgID4gbHMgL3Byb2MvaXJxLzAvCiAgIHNtcF9hZmZpbml0eQogCi1UaGUgY29udGVudHMgb2YgdGhlIHByb2ZfY3B1X21hc2sgZmlsZSBhbmQgZWFjaCBzbXBfYWZmaW5pdHkgZmlsZSBmb3IgZWFjaCBJUlEKLWlzIHRoZSBzYW1lIGJ5IGRlZmF1bHQ6CitzbXBfYWZmaW5pdHkgaXMgYSBiaXRtYXNrLCBpbiB3aGljaCB5b3UgY2FuIHNwZWNpZnkgd2hpY2ggQ1BVcyBjYW4gaGFuZGxlIHRoZQorSVJRLCB5b3UgY2FuIHNldCBpdCBieSBkb2luZzoKIAotICA+IGNhdCAvcHJvYy9pcnEvMC9zbXBfYWZmaW5pdHkgCisgID4gZWNobyAxID4gL3Byb2MvaXJxLzEwL3NtcF9hZmZpbml0eQorCitUaGlzIG1lYW5zIHRoYXQgb25seSB0aGUgZmlyc3QgQ1BVIHdpbGwgaGFuZGxlIHRoZSBJUlEsIGJ1dCB5b3UgY2FuIGFsc28gZWNobworNSB3aGljaCBtZWFucyB0aGF0IG9ubHkgdGhlIGZpcnN0IGFuZCBmb3VydGggQ1BVIGNhbiBoYW5kbGUgdGhlIElSUS4KKworVGhlIGNvbnRlbnRzIG9mIGVhY2ggc21wX2FmZmluaXR5IGZpbGUgaXMgdGhlIHNhbWUgYnkgZGVmYXVsdDoKKworICA+IGNhdCAvcHJvYy9pcnEvMC9zbXBfYWZmaW5pdHkKICAgZmZmZmZmZmYKIAotSXQncyBhIGJpdG1hc2ssIGluIHdoaWNoIHlvdSBjYW4gc3BlY2lmeSB3aGljaCBDUFVzIGNhbiBoYW5kbGUgdGhlIElSUSwgeW91IGNhbgotc2V0IGl0IGJ5IGRvaW5nOgorVGhlIGRlZmF1bHRfc21wX2FmZmluaXR5IG1hc2sgYXBwbGllcyB0byBhbGwgbm9uLWFjdGl2ZSBJUlFzLCB3aGljaCBhcmUgdGhlCitJUlFzIHdoaWNoIGhhdmUgbm90IHlldCBiZWVuIGFsbG9jYXRlZC9hY3RpdmF0ZWQsIGFuZCBoZW5jZSB3aGljaCBsYWNrIGEKKy9wcm9jL2lycS9bMC05XSogZGlyZWN0b3J5LgogCi0gID4gZWNobyAxID4gL3Byb2MvaXJxL3Byb2ZfY3B1X21hc2sKLQotVGhpcyBtZWFucyB0aGF0IG9ubHkgdGhlIGZpcnN0IENQVSB3aWxsIGhhbmRsZSB0aGUgSVJRLCBidXQgeW91IGNhbiBhbHNvIGVjaG8gNQotd2hpY2ggbWVhbnMgdGhhdCBvbmx5IHRoZSBmaXJzdCBhbmQgZm91cnRoIENQVSBjYW4gaGFuZGxlIHRoZSBJUlEuCitwcm9mX2NwdV9tYXNrIHNwZWNpZmllcyB3aGljaCBDUFVzIGFyZSB0byBiZSBwcm9maWxlZCBieSB0aGUgc3lzdGVtIHdpZGUKK3Byb2ZpbGVyLiBEZWZhdWx0IHZhbHVlIGlzIGZmZmZmZmZmIChhbGwgY3B1cykuCiAKIFRoZSB3YXkgSVJRcyBhcmUgcm91dGVkIGlzIGhhbmRsZWQgYnkgdGhlIElPLUFQSUMsIGFuZCBpdCdzIFJvdW5kIFJvYmluCiBiZXR3ZWVuIGFsbCB0aGUgQ1BVcyB3aGljaCBhcmUgYWxsb3dlZCB0byBoYW5kbGUgaXQuIEFzIHVzdWFsIHRoZSBrZXJuZWwgaGFzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Z0cmFjZS50eHQgYi9Eb2N1bWVudGF0aW9uL2Z0cmFjZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkM2ZhYQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZnRyYWNlLnR4dApAQCAtMCwwICsxLDEzNjEgQEAKKwkJZnRyYWNlIC0gRnVuY3Rpb24gVHJhY2VyCisJCT09PT09PT09PT09PT09PT09PT09PT09PQorCitDb3B5cmlnaHQgMjAwOCBSZWQgSGF0IEluYy4KKyAgIEF1dGhvcjogICBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAgTGljZW5zZTogICBUaGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMgorUmV2aWV3ZXJzOiAgIEVsaWFzIE9sdG1hbm5zIGFuZCBSYW5keSBEdW5sYXAKKworV3JpdGVuIGZvcjogMi42LjI2LXJjOCBsaW51eC0yLjYtdGlwLmdpdCB0aXAvdHJhY2luZy9mdHJhY2UgYnJhbmNoCisKK0ludHJvZHVjdGlvbgorLS0tLS0tLS0tLS0tCisKK0Z0cmFjZSBpcyBhbiBpbnRlcm5hbCB0cmFjZXIgZGVzaWduZWQgdG8gaGVscCBvdXQgZGV2ZWxvcGVycyBhbmQKK2Rlc2lnbmVycyBvZiBzeXN0ZW1zIHRvIGZpbmQgd2hhdCBpcyBnb2luZyBvbiBpbnNpZGUgdGhlIGtlcm5lbC4KK0l0IGNhbiBiZSB1c2VkIGZvciBkZWJ1Z2dpbmcgb3IgYW5hbHl6aW5nIGxhdGVuY2llcyBhbmQgcGVyZm9ybWFuY2UKK2lzc3VlcyB0aGF0IHRha2UgcGxhY2Ugb3V0c2lkZSBvZiB1c2VyLXNwYWNlLgorCitBbHRob3VnaCBmdHJhY2UgaXMgdGhlIGZ1bmN0aW9uIHRyYWNlciwgaXQgYWxzbyBpbmNsdWRlcyBhbgoraW5mcmFzdHJ1Y3R1cmUgdGhhdCBhbGxvd3MgZm9yIG90aGVyIHR5cGVzIG9mIHRyYWNpbmcuIFNvbWUgb2YgdGhlCit0cmFjZXJzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiBmdHJhY2UgaXMgYSB0cmFjZXIgdG8gdHJhY2UKK2NvbnRleHQgc3dpdGNoZXMsIHRoZSB0aW1lIGl0IHRha2VzIGZvciBhIGhpZ2ggcHJpb3JpdHkgdGFzayB0bworcnVuIGFmdGVyIGl0IHdhcyB3b2tlbiB1cCwgdGhlIHRpbWUgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIGFuZAorbW9yZS4KKworCitUaGUgRmlsZSBTeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLQorCitGdHJhY2UgdXNlcyB0aGUgZGVidWdmcyBmaWxlIHN5c3RlbSB0byBob2xkIHRoZSBjb250cm9sIGZpbGVzIGFzIHdlbGwKK2FzIHRoZSBmaWxlcyB0byBkaXNwbGF5IG91dHB1dC4KKworVG8gbW91bnQgdGhlIGRlYnVnZnMgc3lzdGVtOgorCisgICMgbWtkaXIgL2RlYnVnCisgICMgbW91bnQgLXQgZGVidWdmcyBub2RldiAvZGVidWcKKworCitUaGF0J3MgaXQhIChhc3N1bWluZyB0aGF0IHlvdSBoYXZlIGZ0cmFjZSBjb25maWd1cmVkIGludG8geW91ciBrZXJuZWwpCisKK0FmdGVyIG1vdW50aW5nIHRoZSBkZWJ1Z2ZzLCB5b3UgY2FuIHNlZSBhIGRpcmVjdG9yeSBjYWxsZWQKKyJ0cmFjaW5nIi4gIFRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIHRoZSBjb250cm9sIGFuZCBvdXRwdXQgZmlsZXMKK29mIGZ0cmFjZS4gSGVyZSBpcyBhIGxpc3Qgb2Ygc29tZSBvZiB0aGUga2V5IGZpbGVzOgorCisKKyBOb3RlOiBhbGwgdGltZSB2YWx1ZXMgYXJlIGluIG1pY3Jvc2Vjb25kcy4KKworICBjdXJyZW50X3RyYWNlciA6IFRoaXMgaXMgdXNlZCB0byBzZXQgb3IgZGlzcGxheSB0aGUgY3VycmVudCB0cmFjZXIKKwkJdGhhdCBpcyBjb25maWd1cmVkLgorCisgIGF2YWlsYWJsZV90cmFjZXJzIDogVGhpcyBob2xkcyB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHRyYWNlcnMgdGhhdAorCQloYXZlIGJlZW4gY29tcGlsZWQgaW50byB0aGUga2VybmVsLiBUaGUgdHJhY2VycworCQlsaXN0ZWQgaGVyZSBjYW4gYmUgY29uZmlndXJlZCBieSBlY2hvaW5nIGluIHRoZWlyCisJCW5hbWUgaW50byBjdXJyZW50X3RyYWNlci4KKworICB0cmFjaW5nX2VuYWJsZWQgOiBUaGlzIHNldHMgb3IgZGlzcGxheXMgd2hldGhlciB0aGUgY3VycmVudF90cmFjZXIKKwkJaXMgYWN0aXZhdGVkIGFuZCB0cmFjaW5nIG9yIG5vdC4gRWNobyAwIGludG8gdGhpcworCQlmaWxlIHRvIGRpc2FibGUgdGhlIHRyYWNlciBvciAxIChvciBub24temVybykgdG8KKwkJZW5hYmxlIGl0LgorCisgIHRyYWNlIDogVGhpcyBmaWxlIGhvbGRzIHRoZSBvdXRwdXQgb2YgdGhlIHRyYWNlIGluIGEgaHVtYW4gcmVhZGFibGUKKwkJZm9ybWF0LgorCisgIGxhdGVuY3lfdHJhY2UgOiBUaGlzIGZpbGUgc2hvd3MgdGhlIHNhbWUgdHJhY2UgYnV0IHRoZSBpbmZvcm1hdGlvbgorCQlpcyBvcmdhbml6ZWQgbW9yZSB0byBkaXNwbGF5IHBvc3NpYmxlIGxhdGVuY2llcworCQlpbiB0aGUgc3lzdGVtLgorCisgIHRyYWNlX3BpcGUgOiBUaGUgb3V0cHV0IGlzIHRoZSBzYW1lIGFzIHRoZSAidHJhY2UiIGZpbGUgYnV0IHRoaXMKKwkJZmlsZSBpcyBtZWFudCB0byBiZSBzdHJlYW1lZCB3aXRoIGxpdmUgdHJhY2luZy4KKwkJUmVhZHMgZnJvbSB0aGlzIGZpbGUgd2lsbCBibG9jayB1bnRpbCBuZXcgZGF0YQorCQlpcyByZXRyaWV2ZWQuIFVubGlrZSB0aGUgInRyYWNlIiBhbmQgImxhdGVuY3lfdHJhY2UiCisJCWZpbGVzLCB0aGlzIGZpbGUgaXMgYSBjb25zdW1lci4gVGhpcyBtZWFucyByZWFkaW5nCisJCWZyb20gdGhpcyBmaWxlIGNhdXNlcyBzZXF1ZW50aWFsIHJlYWRzIHRvIGRpc3BsYXkKKwkJbW9yZSBjdXJyZW50IGRhdGEuIE9uY2UgZGF0YSBpcyByZWFkIGZyb20gdGhpcworCQlmaWxlLCBpdCBpcyBjb25zdW1lZCwgYW5kIHdpbGwgbm90IGJlIHJlYWQKKwkJYWdhaW4gd2l0aCBhIHNlcXVlbnRpYWwgcmVhZC4gVGhlICJ0cmFjZSIgYW5kCisJCSJsYXRlbmN5X3RyYWNlIiBmaWxlcyBhcmUgc3RhdGljLCBhbmQgaWYgdGhlCisJCXRyYWNlciBpc24ndCBhZGRpbmcgbW9yZSBkYXRhLCB0aGV5IHdpbGwgZGlzcGxheQorCQl0aGUgc2FtZSBpbmZvcm1hdGlvbiBldmVyeSB0aW1lIHRoZXkgYXJlIHJlYWQuCisKKyAgaXRlcl9jdHJsIDogVGhpcyBmaWxlIGxldHMgdGhlIHVzZXIgY29udHJvbCB0aGUgYW1vdW50IG9mIGRhdGEKKwkJdGhhdCBpcyBkaXNwbGF5ZWQgaW4gb25lIG9mIHRoZSBhYm92ZSBvdXRwdXQKKwkJZmlsZXMuCisKKyAgdHJhY2VfbWF4X2xhdGVuY3kgOiBTb21lIG9mIHRoZSB0cmFjZXJzIHJlY29yZCB0aGUgbWF4IGxhdGVuY3kuCisJCUZvciBleGFtcGxlLCB0aGUgdGltZSBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZC4KKwkJVGhpcyB0aW1lIGlzIHNhdmVkIGluIHRoaXMgZmlsZS4gVGhlIG1heCB0cmFjZQorCQl3aWxsIGFsc28gYmUgc3RvcmVkLCBhbmQgZGlzcGxheWVkIGJ5IGVpdGhlcgorCQkidHJhY2UiIG9yICJsYXRlbmN5X3RyYWNlIi4gIEEgbmV3IG1heCB0cmFjZSB3aWxsCisJCW9ubHkgYmUgcmVjb3JkZWQgaWYgdGhlIGxhdGVuY3kgaXMgZ3JlYXRlciB0aGFuCisJCXRoZSB2YWx1ZSBpbiB0aGlzIGZpbGUuIChpbiBtaWNyb3NlY29uZHMpCisKKyAgdHJhY2VfZW50cmllcyA6IFRoaXMgc2V0cyBvciBkaXNwbGF5cyB0aGUgbnVtYmVyIG9mIHRyYWNlCisJCWVudHJpZXMgZWFjaCBDUFUgYnVmZmVyIGNhbiBob2xkLiBUaGUgdHJhY2VyIGJ1ZmZlcnMKKwkJYXJlIHRoZSBzYW1lIHNpemUgZm9yIGVhY2ggQ1BVLCBzbyBjYXJlIG11c3QgYmUKKwkJdGFrZW4gd2hlbiBtb2RpZnlpbmcgdGhlIHRyYWNlX2VudHJpZXMuIFRoZSB0cmFjZQorCQlidWZmZXJzIGFyZSBhbGxvY2F0ZWQgaW4gcGFnZXMgKGJsb2NrcyBvZiBtZW1vcnkgdGhhdAorCQl0aGUga2VybmVsIHVzZXMgZm9yIGFsbG9jYXRpb24sIHVzdWFsbHkgNCBLQiBpbiBzaXplKS4KKwkJU2luY2UgZWFjaCBlbnRyeSBpcyBzbWFsbGVyIHRoYW4gYSBwYWdlLCBpZiB0aGUgbGFzdAorCQlhbGxvY2F0ZWQgcGFnZSBoYXMgcm9vbSBmb3IgbW9yZSBlbnRyaWVzIHRoYW4gd2VyZQorCQlyZXF1ZXN0ZWQsIHRoZSByZXN0IG9mIHRoZSBwYWdlIGlzIHVzZWQgdG8gYWxsb2NhdGUKKwkJZW50cmllcy4KKworCQlUaGlzIGNhbiBvbmx5IGJlIHVwZGF0ZWQgd2hlbiB0aGUgY3VycmVudF90cmFjZXIKKwkJaXMgc2V0IHRvICJub25lIi4KKworCQlOT1RFOiBJdCBpcyBwbGFubmVkIG9uIGNoYW5naW5nIHRoZSBhbGxvY2F0ZWQgYnVmZmVycworCQkgICAgICBmcm9tIGJlaW5nIHRoZSBudW1iZXIgb2YgcG9zc2libGUgQ1BVUyB0bworCQkgICAgICB0aGUgbnVtYmVyIG9mIG9ubGluZSBDUFVTLgorCisgIHRyYWNpbmdfY3B1bWFzayA6IFRoaXMgaXMgYSBtYXNrIHRoYXQgbGV0cyB0aGUgdXNlciBvbmx5IHRyYWNlCisJCW9uIHNwZWNpZmllZCBDUFVTLiBUaGUgZm9ybWF0IGlzIGEgaGV4IHN0cmluZworCQlyZXByZXNlbnRpbmcgdGhlIENQVVMuCisKKyAgc2V0X2Z0cmFjZV9maWx0ZXIgOiBXaGVuIGR5bmFtaWMgZnRyYWNlIGlzIGNvbmZpZ3VyZWQgaW4sIHRoZQorCQljb2RlIGlzIGR5bmFtaWNhbGx5IG1vZGlmaWVkIHRvIGRpc2FibGUgY2FsbGluZworCQlvZiB0aGUgZnVuY3Rpb24gcHJvZmlsZXIgKG1jb3VudCkuIFRoaXMgbGV0cworCQl0cmFjaW5nIGJlIGNvbmZpZ3VyZWQgaW4gd2l0aCBwcmFjdGljYWxseSBubyBvdmVyaGVhZAorCQlpbiBwZXJmb3JtYW5jZS4gIFRoaXMgYWxzbyBoYXMgYSBzaWRlIGVmZmVjdCBvZgorCQllbmFibGluZyBvciBkaXNhYmxpbmcgc3BlY2lmaWMgZnVuY3Rpb25zIHRvIGJlCisJCXRyYWNlZC4gIEVjaG9pbmcgaW4gbmFtZXMgb2YgZnVuY3Rpb25zIGludG8gdGhpcworCQlmaWxlIHdpbGwgbGltaXQgdGhlIHRyYWNlIHRvIG9ubHkgdGhlc2UgZnVuY3Rpb25zLgorCisgIHNldF9mdHJhY2Vfbm90cmFjZTogVGhpcyBoYXMgdGhlIG9wcG9zaXRlIGVmZmVjdCB0aGF0CisJCXNldF9mdHJhY2VfZmlsdGVyIGhhcy4gQW55IGZ1bmN0aW9uIHRoYXQgaXMgYWRkZWQKKwkJaGVyZSB3aWxsIG5vdCBiZSB0cmFjZWQuIElmIGEgZnVuY3Rpb24gZXhpc3RzCisJCWluIGJvdGggc2V0X2Z0cmFjZV9maWx0ZXIgYW5kIHNldF9mdHJhY2Vfbm90cmFjZSwKKwkJdGhlIGZ1bmN0aW9uIHdpbGwgX25vdF8gYmUgdHJhY2VkLgorCisgIGF2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zIDogV2hlbiBhIGZ1bmN0aW9uIGlzIGVuY291bnRlcmVkIHRoZSBmaXJzdAorCQl0aW1lIGJ5IHRoZSBkeW5hbWljIHRyYWNlciwgaXQgaXMgcmVjb3JkZWQgYW5kCisJCWxhdGVyIHRoZSBjYWxsIGlzIGNvbnZlcnRlZCBpbnRvIGEgbm9wLiBUaGlzIGZpbGUKKwkJbGlzdHMgdGhlIGZ1bmN0aW9ucyB0aGF0IGhhdmUgYmVlbiByZWNvcmRlZAorCQlieSB0aGUgZHluYW1pYyB0cmFjZXIgYW5kIHRoZXNlIGZ1bmN0aW9ucyBjYW4KKwkJYmUgdXNlZCB0byBzZXQgdGhlIGZ0cmFjZSBmaWx0ZXIgYnkgdGhlIGFib3ZlCisJCSJzZXRfZnRyYWNlX2ZpbHRlciIgZmlsZS4KKworCitUaGUgVHJhY2VycworLS0tLS0tLS0tLS0KKworSGVyZSBhcmUgdGhlIGxpc3Qgb2YgY3VycmVudCB0cmFjZXJzIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQuCisKKyAgZnRyYWNlIC0gZnVuY3Rpb24gdHJhY2VyIHRoYXQgdXNlcyBtY291bnQgdG8gdHJhY2UgYWxsIGZ1bmN0aW9ucy4KKwkJSXQgaXMgcG9zc2libGUgdG8gZmlsdGVyIG91dCB3aGljaCBmdW5jdGlvbnMgdGhhdCBhcmUKKwkJdG8gYmUgdHJhY2VkIHdoZW4gZHluYW1pYyBmdHJhY2UgaXMgY29uZmlndXJlZCBpbi4KKworICBzY2hlZF9zd2l0Y2ggLSB0cmFjZXMgdGhlIGNvbnRleHQgc3dpdGNoZXMgYmV0d2VlbiB0YXNrcy4KKworICBpcnFzb2ZmIC0gdHJhY2VzIHRoZSBhcmVhcyB0aGF0IGRpc2FibGUgaW50ZXJydXB0cyBhbmQgc2F2ZXMgb2ZmCisgIAkJdGhlIHRyYWNlIHdpdGggdGhlIGxvbmdlc3QgbWF4IGxhdGVuY3kuCisJCVNlZSB0cmFjaW5nX21heF9sYXRlbmN5LiAgV2hlbiBhIG5ldyBtYXggaXMgcmVjb3JkZWQsCisJCWl0IHJlcGxhY2VzIHRoZSBvbGQgdHJhY2UuIEl0IGlzIGJlc3QgdG8gdmlldyB0aGlzCisJCXRyYWNlIHdpdGggdGhlIGxhdGVuY3lfdHJhY2UgZmlsZS4KKworICBwcmVlbXB0b2ZmIC0gU2ltaWxhciB0byBpcnFzb2ZmIGJ1dCB0cmFjZXMgYW5kIHJlY29yZHMgdGhlIHRpbWUKKwkJcHJlZW1wdGlvbiBpcyBkaXNhYmxlZC4KKworICBwcmVlbXB0aXJxc29mZiAtIFNpbWlsYXIgdG8gaXJxc29mZiBhbmQgcHJlZW1wdG9mZiwgYnV0IHRyYWNlcyBhbmQKKwkJIHJlY29yZHMgdGhlIGxhcmdlc3QgdGltZSBpcnFzIGFuZC9vciBwcmVlbXB0aW9uIGlzCisJCSBkaXNhYmxlZC4KKworICB3YWtldXAgLSBUcmFjZXMgYW5kIHJlY29yZHMgdGhlIG1heCBsYXRlbmN5IHRoYXQgaXQgdGFrZXMgZm9yCisJCXRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgdG8gZ2V0IHNjaGVkdWxlZCBhZnRlcgorCQlpdCBoYXMgYmVlbiB3b2tlbiB1cC4KKworICBub25lIC0gVGhpcyBpcyBub3QgYSB0cmFjZXIuIFRvIHJlbW92ZSBhbGwgdHJhY2VycyBmcm9tIHRyYWNpbmcKKwkJc2ltcGx5IGVjaG8gIm5vbmUiIGludG8gY3VycmVudF90cmFjZXIuCisKKworRXhhbXBsZXMgb2YgdXNpbmcgdGhlIHRyYWNlcgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitIZXJlIGFyZSB0eXBpY2FsIGV4YW1wbGVzIG9mIHVzaW5nIHRoZSB0cmFjZXJzIHdpdGggb25seSBjb250cm9sbGluZwordGhlbSB3aXRoIHRoZSBkZWJ1Z2ZzIGludGVyZmFjZSAod2l0aG91dCB1c2luZyBhbnkgdXNlci1sYW5kIHV0aWxpdGllcykuCisKK091dHB1dCBmb3JtYXQ6CistLS0tLS0tLS0tLS0tLQorCitIZXJlJ3MgYW4gZXhhbXBsZSBvZiB0aGUgb3V0cHV0IGZvcm1hdCBvZiB0aGUgZmlsZSAidHJhY2UiCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0KKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgICBiYXNoLTQyNTEgIFswMV0gMTAxNTIuNTgzODU0OiBwYXRoX3B1dCA8LXBhdGhfd2FsaworICAgICAgICAgICAgYmFzaC00MjUxICBbMDFdIDEwMTUyLjU4Mzg1NTogZHB1dCA8LXBhdGhfcHV0CisgICAgICAgICAgICBiYXNoLTQyNTEgIFswMV0gMTAxNTIuNTgzODU1OiBfYXRvbWljX2RlY19hbmRfbG9jayA8LWRwdXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0KKworQSBoZWFkZXIgaXMgcHJpbnRlZCB3aXRoIHRoZSB0cmFjZSB0aGF0IGlzIHJlcHJlc2VudGVkLiBJbiB0aGlzIGNhc2UKK3RoZSB0cmFjZXIgaXMgImZ0cmFjZSIuIFRoZW4gYSBoZWFkZXIgc2hvd2luZyB0aGUgZm9ybWF0LiBUYXNrIG5hbWUKKyJiYXNoIiwgdGhlIHRhc2sgUElEICI0MjUxIiwgdGhlIENQVSB0aGF0IGl0IHdhcyBydW5uaW5nIG9uCisiMDEiLCB0aGUgdGltZXN0YW1wIGluIDxzZWNzPi48dXNlY3M+IGZvcm1hdCwgdGhlIGZ1bmN0aW9uIG5hbWUgdGhhdCB3YXMKK3RyYWNlZCAicGF0aF9wdXQiIGFuZCB0aGUgcGFyZW50IGZ1bmN0aW9uIHRoYXQgY2FsbGVkIHRoaXMgZnVuY3Rpb24KKyJwYXRoX3dhbGsiLgorCitUaGUgc2NoZWRfc3dpdGNoIHRyYWNlciBhbHNvIGluY2x1ZGVzIHRyYWNpbmcgb2YgdGFzayB3YWtlIHVwcyBhbmQKK2NvbnRleHQgc3dpdGNoZXMuCisKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiAgICsgIDI5MTY6MTE1OlMKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiAgICsgICAgMTA6MTE1OlMKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiA9PT4gICAgMTA6MTE1OlIKKyAgICAgICAgZXZlbnRzLzEtMTAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAxMDoxMTU6UyA9PT4gIDI5MTY6MTE1OlIKKyAgICAga29uZGVtYW5kLzEtMjkxNiAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgMjkxNjoxMTU6UyA9PT4gICAgIDc6MTE1OlIKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UyA9PT4gICAgIDA6MTQwOlIKKworV2FrZSB1cHMgYXJlIHJlcHJlc2VudGVkIGJ5IGEgIisiIGFuZCB0aGUgY29udGV4dCBzd2l0Y2hlcyBzaG93CisiPT0+Ii4gIFRoZSBmb3JtYXQgaXM6CisKKyBDb250ZXh0IHN3aXRjaGVzOgorCisgICAgICAgUHJldmlvdXMgdGFzayAgICAgICAgICAgICAgTmV4dCBUYXNrCisKKyAgPHBpZD46PHByaW8+OjxzdGF0ZT4gID09PiAgPHBpZD46PHByaW8+OjxzdGF0ZT4KKworIFdha2UgdXBzOgorCisgICAgICAgQ3VycmVudCB0YXNrICAgICAgICAgICAgICAgVGFzayB3YWtpbmcgdXAKKworICA8cGlkPjo8cHJpbz46PHN0YXRlPiAgICArICA8cGlkPjo8cHJpbz46PHN0YXRlPgorCitUaGUgcHJpbyBpcyB0aGUgaW50ZXJuYWwga2VybmVsIHByaW9yaXR5LCB3aGljaCBpcyBpbnZlcnNlIHRvIHRoZQorcHJpb3JpdHkgdGhhdCBpcyB1c3VhbGx5IGRpc3BsYXllZCBieSB1c2VyLXNwYWNlIHRvb2xzLiBaZXJvIHJlcHJlc2VudHMKK3RoZSBoaWdoZXN0IHByaW9yaXR5ICg5OSkuIFByaW8gMTAwIHN0YXJ0cyB0aGUgIm5pY2UiIHByaW9yaXRpZXMgd2l0aAorMTAwIGJlaW5nIGVxdWFsIHRvIG5pY2UgLTIwIGFuZCAxMzkgYmVpbmcgbmljZSAxOS4gVGhlIHByaW8gIjE0MCIgaXMKK3Jlc2VydmVkIGZvciB0aGUgaWRsZSB0YXNrIHdoaWNoIGlzIHRoZSBsb3dlc3QgcHJpb3JpdHkgdGhyZWFkIChwaWQgMCkuCisKKworTGF0ZW5jeSB0cmFjZSBmb3JtYXQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0ZvciB0cmFjZXMgdGhhdCBkaXNwbGF5IGxhdGVuY3kgdGltZXMsIHRoZSBsYXRlbmN5X3RyYWNlIGZpbGUgZ2l2ZXMKK2EgYml0IG1vcmUgaW5mb3JtYXRpb24gdG8gc2VlIHdoeSBhIGxhdGVuY3kgaGFwcGVuZWQuIEhlcmUncyBhIHR5cGljYWwKK3RyYWNlLgorCisjIHRyYWNlcjogaXJxc29mZgorIworaXJxc29mZiBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAyLjYuMjYtcmM4CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxhdGVuY3k6IDk3IHVzLCAjMy8zLCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHN3YXBwZXItMCAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IGFwaWNfdGltZXJfaW50ZXJydXB0CisgPT4gZW5kZWQgYXQ6ICAgZG9fc29mdGlycQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICA8aWRsZT4tMCAgICAgMGQuLjEgICAgMHVzKzogdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rIChhcGljX3RpbWVyX2ludGVycnVwdCkKKyAgPGlkbGU+LTAgICAgIDBkLnMuICAgOTd1cyA6IF9fZG9fc29mdGlycSAoZG9fc29mdGlycSkKKyAgPGlkbGU+LTAgICAgIDBkLnMxICAgOTh1cyA6IHRyYWNlX2hhcmRpcnFzX29uIChkb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKKworVGhpcyBzaG93cyB0aGF0IHRoZSBjdXJyZW50IHRyYWNlciBpcyAiaXJxc29mZiIgdHJhY2luZyB0aGUgdGltZQoraW50ZXJydXB0cyBhcmUgZGlzYWJsZWQuIEl0IGdpdmVzIHRoZSB0cmFjZSB2ZXJzaW9uIGFuZCB0aGUga2VybmVsCit0aGlzIHdhcyBleGVjdXRlZCBvbiAoMi42LjI2LXJjOCkuIFRoZW4gaXQgZGlzcGxheXMgdGhlIG1heCBsYXRlbmN5CitpbiBtaWNyb3NlY3MgKDk3IHVzKS4gVGhlIG51bWJlciBvZiB0cmFjZSBlbnRyaWVzIGRpc3BsYXllZAorYnkgdGhlIHRvdGFsIG51bWJlciByZWNvcmRlZCAoYm90aCBhcmUgdGhyZWU6ICMzLzMpLiBUaGUgdHlwZSBvZgorcHJlZW1wdGlvbiB0aGF0IHdhcyB1c2VkIChQUkVFTVBUKS4gVlAsIEtQLCBTUCwgYW5kIEhQIGFyZSBhbHdheXMgemVybworYW5kIHJlc2VydmVkIGZvciBsYXRlciB1c2UuICNQIGlzIHRoZSBudW1iZXIgb2Ygb25saW5lIENQVVMgKCNQOjIpLgorCitUaGUgdGFzayBpcyB0aGUgcHJvY2VzcyB0aGF0IHdhcyBydW5uaW5nIHdoZW4gdGhlIGxhdGVuY3kgaGFwcGVuZWQuCisoc3dhcHBlciBwaWQ6IDApLgorCitUaGUgc3RhcnQgYW5kIHN0b3AgdGhhdCBjYXVzZWQgdGhlIGxhdGVuY2llczoKKworICBhcGljX3RpbWVyX2ludGVycnVwdCBpcyB3aGVyZSB0aGUgaW50ZXJydXB0cyB3ZXJlIGRpc2FibGVkLgorICBkb19zb2Z0aXJxIGlzIHdoZXJlIHRoZXkgd2VyZSBlbmFibGVkIGFnYWluLgorCitUaGUgbmV4dCBsaW5lcyBhZnRlciB0aGUgaGVhZGVyIGFyZSB0aGUgdHJhY2UgaXRzZWxmLiBUaGUgaGVhZGVyCitleHBsYWlucyB3aGljaCBpcyB3aGljaC4KKworICBjbWQ6IFRoZSBuYW1lIG9mIHRoZSBwcm9jZXNzIGluIHRoZSB0cmFjZS4KKworICBwaWQ6IFRoZSBQSUQgb2YgdGhhdCBwcm9jZXNzLgorCisgIENQVSM6IFRoZSBDUFUgdGhhdCB0aGUgcHJvY2VzcyB3YXMgcnVubmluZyBvbi4KKworICBpcnFzLW9mZjogJ2QnIGludGVycnVwdHMgYXJlIGRpc2FibGVkLiAnLicgb3RoZXJ3aXNlLgorCisgIG5lZWQtcmVzY2hlZDogJ04nIHRhc2sgbmVlZF9yZXNjaGVkIGlzIHNldCwgJy4nIG90aGVyd2lzZS4KKworICBoYXJkaXJxL3NvZnRpcnE6CisJJ0gnIC0gaGFyZCBpcnEgaGFwcGVuZWQgaW5zaWRlIGEgc29mdGlycS4KKwknaCcgLSBoYXJkIGlycSBpcyBydW5uaW5nCisJJ3MnIC0gc29mdCBpcnEgaXMgcnVubmluZworCScuJyAtIG5vcm1hbCBjb250ZXh0LgorCisgIHByZWVtcHQtZGVwdGg6IFRoZSBsZXZlbCBvZiBwcmVlbXB0X2Rpc2FibGVkCisKK1RoZSBhYm92ZSBpcyBtb3N0bHkgbWVhbmluZ2Z1bCBmb3Iga2VybmVsIGRldmVsb3BlcnMuCisKKyAgdGltZTogVGhpcyBkaWZmZXJzIGZyb20gdGhlIHRyYWNlIGZpbGUgb3V0cHV0LiBUaGUgdHJhY2UgZmlsZSBvdXRwdXQKKwlpbmNsdWRlZCBhbiBhYnNvbHV0ZSB0aW1lc3RhbXAuIFRoZSB0aW1lc3RhbXAgdXNlZCBieSB0aGUKKwlsYXRlbmN5X3RyYWNlIGZpbGUgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSB0cmFjZS4KKworICBkZWxheTogVGhpcyBpcyBqdXN0IHRvIGhlbHAgY2F0Y2ggeW91ciBleWUgYSBiaXQgYmV0dGVyLiBBbmQKKwluZWVkcyB0byBiZSBmaXhlZCB0byBiZSBvbmx5IHJlbGF0aXZlIHRvIHRoZSBzYW1lIENQVS4KKwlUaGUgbWFya3MgYXJlIGRldGVybWluZWQgYnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzCisJY3VycmVudCB0cmFjZSBhbmQgdGhlIG5leHQgdHJhY2UuCisJICchJyAtIGdyZWF0ZXIgdGhhbiBwcmVlbXB0X21hcmtfdGhyZXNoIChkZWZhdWx0IDEwMCkKKwkgJysnIC0gZ3JlYXRlciB0aGFuIDEgbWljcm9zZWNvbmQKKwkgJyAnIC0gbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEgbWljcm9zZWNvbmQuCisKKyAgVGhlIHJlc3QgaXMgdGhlIHNhbWUgYXMgdGhlICd0cmFjZScgZmlsZS4KKworCitpdGVyX2N0cmwKKy0tLS0tLS0tLQorCitUaGUgaXRlcl9jdHJsIGZpbGUgaXMgdXNlZCB0byBjb250cm9sIHdoYXQgZ2V0cyBwcmludGVkIGluIHRoZSB0cmFjZQorb3V0cHV0LiBUbyBzZWUgd2hhdCBpcyBhdmFpbGFibGUsIHNpbXBseSBjYXQgdGhlIGZpbGU6CisKKyAgY2F0IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybAorICBwcmludC1wYXJlbnQgbm9zeW0tb2Zmc2V0IG5vc3ltLWFkZHIgbm92ZXJib3NlIG5vcmF3IG5vaGV4IG5vYmluIFwKKyBub2Jsb2NrIG5vc3RhY2t0cmFjZSBub3NjaGVkLXRyZWUKKworVG8gZGlzYWJsZSBvbmUgb2YgdGhlIG9wdGlvbnMsIGVjaG8gaW4gdGhlIG9wdGlvbiBwcmVwZW5kZWQgd2l0aCAibm8iLgorCisgIGVjaG8gbm9wcmludC1wYXJlbnQgPiAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmwKKworVG8gZW5hYmxlIGFuIG9wdGlvbiwgbGVhdmUgb2ZmIHRoZSAibm8iLgorCisgIGVjaG8gc3ltLW9mZnNldCA+IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybAorCitIZXJlIGFyZSB0aGUgYXZhaWxhYmxlIG9wdGlvbnM6CisKKyAgcHJpbnQtcGFyZW50IC0gT24gZnVuY3Rpb24gdHJhY2VzLCBkaXNwbGF5IHRoZSBjYWxsaW5nIGZ1bmN0aW9uCisJCWFzIHdlbGwgYXMgdGhlIGZ1bmN0aW9uIGJlaW5nIHRyYWNlZC4KKworICBwcmludC1wYXJlbnQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bCA8LXN0cmljdF9zdHJ0b3VsCisKKyAgbm9wcmludC1wYXJlbnQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bAorCisKKyAgc3ltLW9mZnNldCAtIERpc3BsYXkgbm90IG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUsIGJ1dCBhbHNvIHRoZSBvZmZzZXQKKwkJaW4gdGhlIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZSwgaW5zdGVhZCBvZiBzZWVpbmcganVzdAorCQkia3RpbWVfZ2V0IiwgeW91IHdpbGwgc2VlICJrdGltZV9nZXQrMHhiLzB4MjAiLgorCisgIHN5bS1vZmZzZXQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bCsweDYvMHhhMAorCisgIHN5bS1hZGRyIC0gdGhpcyB3aWxsIGFsc28gZGlzcGxheSB0aGUgZnVuY3Rpb24gYWRkcmVzcyBhcyB3ZWxsIGFzCisJCXRoZSBmdW5jdGlvbiBuYW1lLgorCisgIHN5bS1hZGRyOgorICAgYmFzaC00MDAwICBbMDFdICAxNDc3LjYwNjY5NDogc2ltcGxlX3N0cnRvdWwgPGMwMzM5MzQ2PgorCisgIHZlcmJvc2UgLSBUaGlzIGRlYWxzIHdpdGggdGhlIGxhdGVuY3lfdHJhY2UgZmlsZS4KKworICAgIGJhc2ggIDQwMDAgMSAwIDAwMDAwMDAwIDAwMDEwYTk1IFs1ODEyN2QyNl0gMTcyMC40MTVtcyBcCisgICAgKCswLjAwMG1zKTogc2ltcGxlX3N0cnRvdWwgKHN0cmljdF9zdHJ0b3VsKQorCisgIHJhdyAtIFRoaXMgd2lsbCBkaXNwbGF5IHJhdyBudW1iZXJzLiBUaGlzIG9wdGlvbiBpcyBiZXN0IGZvciB1c2Ugd2l0aAorCXVzZXIgYXBwbGljYXRpb25zIHRoYXQgY2FuIHRyYW5zbGF0ZSB0aGUgcmF3IG51bWJlcnMgYmV0dGVyIHRoYW4KKwloYXZpbmcgaXQgZG9uZSBpbiB0aGUga2VybmVsLgorCisgIGhleCAtIFNpbWlsYXIgdG8gcmF3LCBidXQgdGhlIG51bWJlcnMgd2lsbCBiZSBpbiBhIGhleGFkZWNpbWFsIGZvcm1hdC4KKworICBiaW4gLSBUaGlzIHdpbGwgcHJpbnQgb3V0IHRoZSBmb3JtYXRzIGluIHJhdyBiaW5hcnkuCisKKyAgYmxvY2sgLSBUQkQgKG5lZWRzIHVwZGF0ZSkKKworICBzdGFja3RyYWNlIC0gVGhpcyBpcyBvbmUgb2YgdGhlIG9wdGlvbnMgdGhhdCBjaGFuZ2VzIHRoZSB0cmFjZSBpdHNlbGYuCisJCVdoZW4gYSB0cmFjZSBpcyByZWNvcmRlZCwgc28gaXMgdGhlIHN0YWNrIG9mIGZ1bmN0aW9ucy4KKwkJVGhpcyBhbGxvd3MgZm9yIGJhY2sgdHJhY2VzIG9mIHRyYWNlIHNpdGVzLgorCisgIHNjaGVkLXRyZWUgLSBUQkQgKGFueSB1c2Vycz8/KQorCisKK3NjaGVkX3N3aXRjaAorLS0tLS0tLS0tLS0tCisKK1RoaXMgdHJhY2VyIHNpbXBseSByZWNvcmRzIHNjaGVkdWxlIHN3aXRjaGVzLiBIZXJlJ3MgYW4gZXhhbXBsZQorb2YgaG93IHRvIHVzZSBpdC4KKworICMgZWNobyBzY2hlZF9zd2l0Y2ggPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorCisjIHRyYWNlcjogc2NoZWRfc3dpdGNoCisjCisjICAgICAgICAgICBUQVNLLVBJRCAgIENQVSMgICAgVElNRVNUQU1QICBGVU5DVElPTgorIyAgICAgICAgICAgICAgfCB8ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfAorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjI4MTogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjI4NDogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMjM3MTogICA0MDU1OjEyMDpTID09PiAgMzk5NzoxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ1NDogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6UworICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ1NzogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMjQ2MDogICA0MDU1OjEyMDpEID09PiAgMzk5NzoxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ2MzogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6RAorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ2NTogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU4OTogICAgICAwOjE0MDpSICAgKyAgICAgNDoxMTU6UworICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5MTogICAgICAwOjE0MDpSID09PiAgICAgNDoxMTU6UgorICAgICBrc29mdGlycWQvMC00ICAgICBbMDBdICAgMjQwLjEzMjU5NTogICAgICA0OjExNTpTID09PiAgICAgMDoxNDA6UgorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5ODogICAgICAwOjE0MDpSICAgKyAgICAgNDoxMTU6UworICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5OTogICAgICAwOjE0MDpSID09PiAgICAgNDoxMTU6UgorICAgICBrc29mdGlycWQvMC00ICAgICBbMDBdICAgMjQwLjEzMjYwMzogICAgICA0OjExNTpTID09PiAgICAgMDoxNDA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMzA1ODogICA0MDU1OjEyMDpTID09PiAgMzk5NzoxMjA6UgorIFsuLi5dCisKKworQXMgd2UgaGF2ZSBkaXNjdXNzZWQgcHJldmlvdXNseSBhYm91dCB0aGlzIGZvcm1hdCwgdGhlIGhlYWRlciBzaG93cwordGhlIG5hbWUgb2YgdGhlIHRyYWNlIGFuZCBwb2ludHMgdG8gdGhlIG9wdGlvbnMuIFRoZSAiRlVOQ1RJT04iCitpcyBhIG1pc25vbWVyIHNpbmNlIGhlcmUgaXQgcmVwcmVzZW50cyB0aGUgd2FrZSB1cHMgYW5kIGNvbnRleHQKK3N3aXRjaGVzLgorCitUaGUgc2NoZWRfc3dpdGNoIG9ubHkgbGlzdHMgdGhlIHdha2UgdXBzIChyZXByZXNlbnRlZCB3aXRoICcrJykKK2FuZCBjb250ZXh0IHN3aXRjaGVzICgnPT0+Jykgd2l0aCB0aGUgcHJldmlvdXMgdGFzayBvciBjdXJyZW50CitmaXJzdCBmb2xsb3dlZCBieSB0aGUgbmV4dCB0YXNrIG9yIHRhc2sgd2FraW5nIHVwLiBUaGUgZm9ybWF0IGZvciBib3RoCitvZiB0aGVzZSBpcyBQSUQ6S0VSTkVMLVBSSU86VEFTSy1TVEFURS4gUmVtZW1iZXIgdGhhdCB0aGUgS0VSTkVMLVBSSU8KK2lzIHRoZSBpbnZlcnNlIG9mIHRoZSBhY3R1YWwgcHJpb3JpdHkgd2l0aCB6ZXJvICgwKSBiZWluZyB0aGUgaGlnaGVzdAorcHJpb3JpdHkgYW5kIHRoZSBuaWNlIHZhbHVlcyBzdGFydGluZyBhdCAxMDAgKG5pY2UgLTIwKS4gQmVsb3cgaXMKK2EgcXVpY2sgY2hhcnQgdG8gbWFwIHRoZSBrZXJuZWwgcHJpb3JpdHkgdG8gdXNlciBsYW5kIHByaW9yaXRpZXMuCisKKyAgS2VybmVsIHByaW9yaXR5OiAwIHRvIDk5ICAgID09PiB1c2VyIFJUIHByaW9yaXR5IDk5IHRvIDAKKyAgS2VybmVsIHByaW9yaXR5OiAxMDAgdG8gMTM5ID09PiB1c2VyIG5pY2UgLTIwIHRvIDE5CisgIEtlcm5lbCBwcmlvcml0eTogMTQwICAgICAgICA9PT4gaWRsZSB0YXNrIHByaW9yaXR5CisKK1RoZSB0YXNrIHN0YXRlcyBhcmU6CisKKyBSIC0gcnVubmluZyA6IHdhbnRzIHRvIHJ1biwgbWF5IG5vdCBhY3R1YWxseSBiZSBydW5uaW5nCisgUyAtIHNsZWVwICAgOiBwcm9jZXNzIGlzIHdhaXRpbmcgdG8gYmUgd29rZW4gdXAgKGhhbmRsZXMgc2lnbmFscykKKyBEIC0gZGVlcCBzbGVlcCA6IHByb2Nlc3MgbXVzdCBiZSB3b2tlbiB1cCAoaWdub3JlcyBzaWduYWxzKQorIFQgLSBzdG9wcGVkIDogcHJvY2VzcyBzdXNwZW5kZWQKKyB0IC0gdHJhY2VkICA6IHByb2Nlc3MgaXMgYmVpbmcgdHJhY2VkICh3aXRoIHNvbWV0aGluZyBsaWtlIGdkYikKKyBaIC0gem9tYmllICA6IHByb2Nlc3Mgd2FpdGluZyB0byBiZSBjbGVhbmVkIHVwCisgWCAtIHVua25vd24KKworCitmdHJhY2VfZW5hYmxlZAorLS0tLS0tLS0tLS0tLS0KKworVGhlIGZvbGxvd2luZyB0cmFjZXJzIGdpdmUgZGlmZmVyZW50IG91dHB1dCBkZXBlbmRpbmcgb24gd2hldGhlcgorb3Igbm90IHRoZSBzeXNjdGwgZnRyYWNlX2VuYWJsZWQgaXMgc2V0LiBUbyBzZXQgZnRyYWNlX2VuYWJsZWQsCitvbmUgY2FuIGVpdGhlciB1c2UgdGhlIHN5c2N0bCBmdW5jdGlvbiBvciBzZXQgaXQgdmlhIHRoZSBwcm9jCitmaWxlIHN5c3RlbSBpbnRlcmZhY2UuCisKKyAgc3lzY3RsIGtlcm5lbC5mdHJhY2VfZW5hYmxlZD0xCisKKyBvcgorCisgIGVjaG8gMSA+IC9wcm9jL3N5cy9rZXJuZWwvZnRyYWNlX2VuYWJsZWQKKworVG8gZGlzYWJsZSBmdHJhY2VfZW5hYmxlZCBzaW1wbHkgcmVwbGFjZSB0aGUgJzEnIHdpdGggJzAnIGluCit0aGUgYWJvdmUgY29tbWFuZHMuCisKK1doZW4gZnRyYWNlX2VuYWJsZWQgaXMgc2V0IHRoZSB0cmFjZXJzIHdpbGwgYWxzbyByZWNvcmQgdGhlIGZ1bmN0aW9ucwordGhhdCBhcmUgd2l0aGluIHRoZSB0cmFjZS4gVGhlIGRlc2NyaXB0aW9ucyBvZiB0aGUgdHJhY2Vycword2lsbCBhbHNvIHNob3cgYW4gZXhhbXBsZSB3aXRoIGZ0cmFjZSBlbmFibGVkLgorCisKK2lycXNvZmYKKy0tLS0tLS0KKworV2hlbiBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgdGhlIENQVSBjYW4gbm90IHJlYWN0IHRvIGFueSBvdGhlcgorZXh0ZXJuYWwgZXZlbnQgKGJlc2lkZXMgTk1JcyBhbmQgU01JcykuIFRoaXMgcHJldmVudHMgdGhlIHRpbWVyCitpbnRlcnJ1cHQgZnJvbSB0cmlnZ2VyaW5nIG9yIHRoZSBtb3VzZSBpbnRlcnJ1cHQgZnJvbSBsZXR0aW5nIHRoZQora2VybmVsIGtub3cgb2YgYSBuZXcgbW91c2UgZXZlbnQuIFRoZSByZXN1bHQgaXMgYSBsYXRlbmN5IHdpdGggdGhlCityZWFjdGlvbiB0aW1lLgorCitUaGUgaXJxc29mZiB0cmFjZXIgdHJhY2tzIHRoZSB0aW1lIGludGVycnVwdHMgYXJlIGRpc2FibGVkIHRvIHRoZSB0aW1lCit0aGV5IGFyZSByZS1lbmFibGVkLiBXaGVuIGEgbmV3IG1heGltdW0gbGF0ZW5jeSBpcyBoaXQsIGl0IHNhdmVzIG9mZgordGhlIHRyYWNlIHNvIHRoYXQgaXQgbWF5IGJlIHJldHJpZXZlZCBhdCBhIGxhdGVyIHRpbWUuIEV2ZXJ5IHRpbWUgYQorbmV3IG1heGltdW0gaW4gcmVhY2hlZCwgdGhlIG9sZCBzYXZlZCB0cmFjZSBpcyBkaXNjYXJkZWQgYW5kIHRoZSBuZXcKK3RyYWNlIGlzIHNhdmVkLgorCitUbyByZXNldCB0aGUgbWF4aW11bSwgZWNobyAwIGludG8gdHJhY2luZ19tYXhfbGF0ZW5jeS4gSGVyZSdzIGFuCitleGFtcGxlOgorCisgIyBlY2hvIGlycXNvZmYgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBscyAtbHRyCisgWy4uLl0KKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL2xhdGVuY3lfdHJhY2UKKyMgdHJhY2VyOiBpcnFzb2ZmCisjCitpcnFzb2ZmIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNiB1cywgIzMvMywgQ1BVIzEgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBiYXNoLTQyNjkgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBjb3B5X3BhZ2VfcmFuZ2UKKyA9PiBlbmRlZCBhdDogICBjb3B5X3BhZ2VfcmFuZ2UKKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KKyAgICBiYXNoLTQyNjkgIDEuLi4xICAgIDB1cys6IF9zcGluX2xvY2sgKGNvcHlfcGFnZV9yYW5nZSkKKyAgICBiYXNoLTQyNjkgIDEuLi4xICAgIDd1cyA6IF9zcGluX3VubG9jayAoY29weV9wYWdlX3JhbmdlKQorICAgIGJhc2gtNDI2OSAgMS4uLjIgICAgN3VzIDogdHJhY2VfcHJlZW1wdF9vbiAoY29weV9wYWdlX3JhbmdlKQorCisKK3ZpbTpmdD1oZWxwCisKK0hlcmUgd2Ugc2VlIHRoYXQgdGhhdCB3ZSBoYWQgYSBsYXRlbmN5IG9mIDYgbWljcm9zZWNzICh3aGljaCBpcwordmVyeSBnb29kKS4gVGhlIHNwaW5fbG9jayBpbiBjb3B5X3BhZ2VfcmFuZ2UgZGlzYWJsZWQgaW50ZXJydXB0cy4KK1RoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIDYgYW5kIHRoZSBkaXNwbGF5ZWQgdGltZXN0YW1wIDd1cyBpcworYmVjYXVzZSB0aGUgY2xvY2sgbXVzdCBoYXZlIGluY3JlbWVudGVkIGJldHdlZW4gdGhlIHRpbWUgb2YgcmVjb3JkaW5nCit0aGUgbWF4IGxhdGVuY3kgYW5kIHJlY29yZGluZyB0aGUgZnVuY3Rpb24gdGhhdCBoYWQgdGhhdCBsYXRlbmN5LgorCitOb3RlIHRoZSBhYm92ZSBoYWQgZnRyYWNlX2VuYWJsZWQgbm90IHNldC4gSWYgd2Ugc2V0IHRoZSBmdHJhY2VfZW5hYmxlZCwKK3dlIGdldCBhIG11Y2ggbGFyZ2VyIG91dHB1dDoKKworIyB0cmFjZXI6IGlycXNvZmYKKyMKK2lycXNvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA1MCB1cywgIzEwMS8xMDEsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogbHMtNDMzOSAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwKKyA9PiBlbmRlZCBhdDogICBfX2FsbG9jX3BhZ2VzX2ludGVybmFsCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgICBscy00MzM5ICAwLi4uMSAgICAwdXMrOiBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0IChfX2FsbG9jX3BhZ2VzX2ludGVybmFsKQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgM3VzIDogcm1xdWV1ZV9idWxrIChnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgM3VzIDogX3NwaW5fbG9jayAocm1xdWV1ZV9idWxrKQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgNHVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2spCisgICAgICBscy00MzM5ICAwZC4uMiAgICA0dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDV1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgNXVzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgICA2dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDZ1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgN3VzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgICA3dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDh1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorWy4uLl0KKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDZ1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA0N3VzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ3dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDh1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA0OHVzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ5dXMgOiBfc3Bpbl91bmxvY2sgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChfc3Bpbl91bmxvY2spCisgICAgICBscy00MzM5ICAwZC4uMSAgIDUwdXMgOiBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0IChfX2FsbG9jX3BhZ2VzX2ludGVybmFsKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA1MXVzIDogdHJhY2VfaGFyZGlycXNfb24gKF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwpCisKKwordmltOmZ0PWhlbHAKKworCitIZXJlIHdlIHRyYWNlZCBhIDUwIG1pY3Jvc2Vjb25kIGxhdGVuY3kuIEJ1dCB3ZSBhbHNvIHNlZSBhbGwgdGhlCitmdW5jdGlvbnMgdGhhdCB3ZXJlIGNhbGxlZCBkdXJpbmcgdGhhdCB0aW1lLiBOb3RlIHRoYXQgYnkgZW5hYmxpbmcKK2Z1bmN0aW9uIHRyYWNpbmcsIHdlIGVuZHVyZSBhbiBhZGRlZCBvdmVyaGVhZC4gVGhpcyBvdmVyaGVhZCBtYXkKK2V4dGVuZCB0aGUgbGF0ZW5jeSB0aW1lcy4gQnV0IG5ldmVydGhlbGVzcywgdGhpcyB0cmFjZSBoYXMgcHJvdmlkZWQKK3NvbWUgdmVyeSBoZWxwZnVsIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4KKworCitwcmVlbXB0b2ZmCistLS0tLS0tLS0tCisKK1doZW4gcHJlZW1wdGlvbiBpcyBkaXNhYmxlZCwgd2UgbWF5IGJlIGFibGUgdG8gcmVjZWl2ZSBpbnRlcnJ1cHRzIGJ1dAordGhlIHRhc2sgY2Fubm90IGJlIHByZWVtcHRlZCBhbmQgYSBoaWdoZXIgcHJpb3JpdHkgdGFzayBtdXN0IHdhaXQKK2ZvciBwcmVlbXB0aW9uIHRvIGJlIGVuYWJsZWQgYWdhaW4gYmVmb3JlIGl0IGNhbiBwcmVlbXB0IGEgbG93ZXIKK3ByaW9yaXR5IHRhc2suCisKK1RoZSBwcmVlbXB0b2ZmIHRyYWNlciB0cmFjZXMgdGhlIHBsYWNlcyB0aGF0IGRpc2FibGUgcHJlZW1wdGlvbi4KK0xpa2UgdGhlIGlycXNvZmYsIGl0IHJlY29yZHMgdGhlIG1heGltdW0gbGF0ZW5jeSB0aGF0IHByZWVtcHRpb24KK3dhcyBkaXNhYmxlZC4gVGhlIGNvbnRyb2wgb2YgcHJlZW1wdG9mZiBpcyBtdWNoIGxpa2UgdGhlIGlycXNvZmYuCisKKyAjIGVjaG8gcHJlZW1wdG9mZiA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX21heF9sYXRlbmN5CisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGxzIC1sdHIKKyBbLi4uXQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvbGF0ZW5jeV90cmFjZQorIyB0cmFjZXI6IHByZWVtcHRvZmYKKyMKK3ByZWVtcHRvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiAyOSB1cywgIzMvMywgQ1BVIzAgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzc2hkLTQyNjEgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBkb19JUlEKKyA9PiBlbmRlZCBhdDogICBfX2RvX3NvZnRpcnEKKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KKyAgICBzc2hkLTQyNjEgIDBkLmguICAgIDB1cys6IGlycV9lbnRlciAoZG9fSVJRKQorICAgIHNzaGQtNDI2MSAgMGQucy4gICAyOXVzIDogX2xvY2FsX2JoX2VuYWJsZSAoX19kb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuczEgICAzMHVzIDogdHJhY2VfcHJlZW1wdF9vbiAoX19kb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKK1RoaXMgaGFzIHNvbWUgbW9yZSBjaGFuZ2VzLiBQcmVlbXB0aW9uIHdhcyBkaXNhYmxlZCB3aGVuIGFuIGludGVycnVwdAorY2FtZSBpbiAobm90aWNlIHRoZSAnaCcpLCBhbmQgd2FzIGVuYWJsZWQgd2hpbGUgZG9pbmcgYSBzb2Z0aXJxLgorKG5vdGljZSB0aGUgJ3MnKS4gQnV0IHdlIGFsc28gc2VlIHRoYXQgaW50ZXJydXB0cyBoYXZlIGJlZW4gZGlzYWJsZWQKK3doZW4gZW50ZXJpbmcgdGhlIHByZWVtcHQgb2ZmIHNlY3Rpb24gYW5kIGxlYXZpbmcgaXQgKHRoZSAnZCcpLgorV2UgZG8gbm90IGtub3cgaWYgaW50ZXJydXB0cyB3ZXJlIGVuYWJsZWQgaW4gdGhlIG1lYW4gdGltZS4KKworIyB0cmFjZXI6IHByZWVtcHRvZmYKKyMKK3ByZWVtcHRvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA2MyB1cywgIzg3Lzg3LCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHNzaGQtNDI2MSAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IHJlbW92ZV93YWl0X3F1ZXVlCisgPT4gZW5kZWQgYXQ6ICAgX19kb19zb2Z0aXJxCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgc3NoZC00MjYxICAwZC4uMSAgICAwdXMgOiBfc3Bpbl9sb2NrX2lycXNhdmUgKHJlbW92ZV93YWl0X3F1ZXVlKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMXVzIDogX3NwaW5fdW5sb2NrX2lycXJlc3RvcmUgKHJlbW92ZV93YWl0X3F1ZXVlKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMnVzIDogZG9fSVJRIChjb21tb25faW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMnVzIDogaXJxX2VudGVyIChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC4uMSAgICAydXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgM3VzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgIDN1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5oLiAgICA0dXMgOiBoYW5kbGVfZmFzdGVvaV9pcnEgKGRvX0lSUSkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5oLiAgIDEydXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX3NwaW5fbG9jaykKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMTJ1cyA6IGFja19pb2FwaWNfcXVpcmtfaXJxIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDEzdXMgOiBtb3ZlX25hdGl2ZV9pcnEgKGFja19pb2FwaWNfcXVpcmtfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAxM3VzIDogX3NwaW5fdW5sb2NrIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDE0dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX3NwaW5fdW5sb2NrKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAxNHVzIDogaXJxX2V4aXQgKGRvX0lSUSkKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMTV1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTV1cyA6IGRvX3NvZnRpcnEgKGlycV9leGl0KQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAxNXVzIDogX19kb19zb2Z0aXJxIChkb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAxNnVzIDogX19sb2NhbF9iaF9kaXNhYmxlIChfX2RvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC4uLiAgIDE2dXMrOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczQgICAyMHVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9fbG9jYWxfYmhfZGlzYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgMjF1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDIxdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnM2ICAgNDF1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNiAgIDQydXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczcgICA0MnVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM1ICAgNDN1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDQzdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlX2lwKQorICAgIHNzaGQtNDI2MSAgMGQuczYgICA0NHVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZV9pcCkKKyAgICBzc2hkLTQyNjEgIDBkLnM1ICAgNDR1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDQ1dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnMuICAgNjN1cyA6IF9sb2NhbF9iaF9lbmFibGUgKF9fZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLnMxICAgNjR1cyA6IHRyYWNlX3ByZWVtcHRfb24gKF9fZG9fc29mdGlycSkKKworCitUaGUgYWJvdmUgaXMgYW4gZXhhbXBsZSBvZiB0aGUgcHJlZW1wdG9mZiB0cmFjZSB3aXRoIGZ0cmFjZV9lbmFibGVkCitzZXQuIEhlcmUgd2Ugc2VlIHRoYXQgaW50ZXJydXB0cyB3ZXJlIGRpc2FibGVkIHRoZSBlbnRpcmUgdGltZS4KK1RoZSBpcnFfZW50ZXIgY29kZSBsZXRzIHVzIGtub3cgdGhhdCB3ZSBlbnRlcmVkIGFuIGludGVycnVwdCAnaCcuCitCZWZvcmUgdGhhdCwgdGhlIGZ1bmN0aW9ucyBiZWluZyB0cmFjZWQgc3RpbGwgc2hvdyB0aGF0IGl0IGlzIG5vdAoraW4gYW4gaW50ZXJydXB0LCBidXQgd2UgY2FuIHNlZSBieSB0aGUgZnVuY3Rpb25zIHRoZW1zZWx2ZXMgdGhhdAordGhpcyBpcyBub3QgdGhlIGNhc2UuCisKK05vdGljZSB0aGF0IHRoZSBfX2RvX3NvZnRpcnEgd2hlbiBjYWxsZWQgZG9lc24ndCBoYXZlIGEgcHJlZW1wdF9jb3VudC4KK0l0IG1heSBzZWVtIHRoYXQgd2UgbWlzc2VkIGEgcHJlZW1wdCBlbmFibGVkLiBXaGF0IHJlYWxseSBoYXBwZW5lZAoraXMgdGhhdCB0aGUgcHJlZW1wdCBjb3VudCBpcyBoZWxkIG9uIHRoZSB0aHJlYWRzIHN0YWNrIGFuZCB3ZQorc3dpdGNoZWQgdG8gdGhlIHNvZnRpcnEgc3RhY2sgKDRLIHN0YWNrcyBpbiBlZmZlY3QpLiBUaGUgY29kZQorZG9lcyBub3QgY29weSB0aGUgcHJlZW1wdCBjb3VudCwgYnV0IGJlY2F1c2UgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsCit3ZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGl0LiBIYXZpbmcgYSB0cmFjZXIgbGlrZSB0aGlzIGlzIGdvb2QKK3RvIGxldCBwZW9wbGUga25vdyB3aGF0IHJlYWxseSBoYXBwZW5zIGluc2lkZSB0aGUga2VybmVsLgorCisKK3ByZWVtcHRpcnFzb2ZmCistLS0tLS0tLS0tLS0tLQorCitLbm93aW5nIHRoZSBsb2NhdGlvbnMgdGhhdCBoYXZlIGludGVycnVwdHMgZGlzYWJsZWQgb3IgcHJlZW1wdGlvbgorZGlzYWJsZWQgZm9yIHRoZSBsb25nZXN0IHRpbWVzIGlzIGhlbHBmdWwuIEJ1dCBzb21ldGltZXMgd2Ugd291bGQKK2xpa2UgdG8ga25vdyB3aGVuIGVpdGhlciBwcmVlbXB0aW9uIGFuZC9vciBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZC4KKworVGhlIGZvbGxvd2luZyBjb2RlOgorCisgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKKyAgICBjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19vZmYoKTsKKyAgICBwcmVlbXB0X2Rpc2FibGUoKTsKKyAgICBjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19hbmRfcHJlZW1wdGlvbl9vZmYoKTsKKyAgICBsb2NhbF9pcnFfZW5hYmxlKCk7CisgICAgY2FsbF9mdW5jdGlvbl93aXRoX3ByZWVtcHRpb25fb2ZmKCk7CisgICAgcHJlZW1wdF9lbmFibGUoKTsKKworVGhlIGlycXNvZmYgdHJhY2VyIHdpbGwgcmVjb3JkIHRoZSB0b3RhbCBsZW5ndGggb2YKK2NhbGxfZnVuY3Rpb25fd2l0aF9pcnFzX29mZigpIGFuZAorY2FsbF9mdW5jdGlvbl93aXRoX2lycXNfYW5kX3ByZWVtcHRpb25fb2ZmKCkuCisKK1RoZSBwcmVlbXB0b2ZmIHRyYWNlciB3aWxsIHJlY29yZCB0aGUgdG90YWwgbGVuZ3RoIG9mCitjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19hbmRfcHJlZW1wdGlvbl9vZmYoKSBhbmQKK2NhbGxfZnVuY3Rpb25fd2l0aF9wcmVlbXB0aW9uX29mZigpLgorCitCdXQgbmVpdGhlciB3aWxsIHRyYWNlIHRoZSB0aW1lIHRoYXQgaW50ZXJydXB0cyBhbmQvb3IgcHJlZW1wdGlvbgoraXMgZGlzYWJsZWQuIFRoaXMgdG90YWwgdGltZSBpcyB0aGUgdGltZSB0aGF0IHdlIGNhbiBub3Qgc2NoZWR1bGUuCitUbyByZWNvcmQgdGhpcyB0aW1lLCB1c2UgdGhlIHByZWVtcHRpcnFzb2ZmIHRyYWNlci4KKworQWdhaW4sIHVzaW5nIHRoaXMgdHJhY2UgaXMgbXVjaCBsaWtlIHRoZSBpcnFzb2ZmIGFuZCBwcmVlbXB0b2ZmIHRyYWNlcnMuCisKKyAjIGVjaG8gcHJlZW1wdGlycXNvZmYgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBscyAtbHRyCisgWy4uLl0KKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL2xhdGVuY3lfdHJhY2UKKyMgdHJhY2VyOiBwcmVlbXB0aXJxc29mZgorIworcHJlZW1wdGlycXNvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiAyOTMgdXMsICMzLzMsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogbHMtNDg2MCAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IGFwaWNfdGltZXJfaW50ZXJydXB0CisgPT4gZW5kZWQgYXQ6ICAgX19kb19zb2Z0aXJxCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgICBscy00ODYwICAwZC4uLiAgICAwdXMhOiB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmsgKGFwaWNfdGltZXJfaW50ZXJydXB0KQorICAgICAgbHMtNDg2MCAgMGQucy4gIDI5NHVzIDogX2xvY2FsX2JoX2VuYWJsZSAoX19kb19zb2Z0aXJxKQorICAgICAgbHMtNDg2MCAgMGQuczEgIDI5NHVzIDogdHJhY2VfcHJlZW1wdF9vbiAoX19kb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKKworVGhlIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayBpcyBjYWxsZWQgZnJvbSBhc3NlbWJseSBvbiB4ODYgd2hlbgoraW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgaW4gdGhlIGFzc2VtYmx5IGNvZGUuIFdpdGhvdXQgdGhlIGZ1bmN0aW9uCit0cmFjaW5nLCB3ZSBkb24ndCBrbm93IGlmIGludGVycnVwdHMgd2VyZSBlbmFibGVkIHdpdGhpbiB0aGUgcHJlZW1wdGlvbgorcG9pbnRzLiBXZSBkbyBzZWUgdGhhdCBpdCBzdGFydGVkIHdpdGggcHJlZW1wdGlvbiBlbmFibGVkLgorCitIZXJlIGlzIGEgdHJhY2Ugd2l0aCBmdHJhY2VfZW5hYmxlZCBzZXQ6CisKKworIyB0cmFjZXI6IHByZWVtcHRpcnFzb2ZmCisjCitwcmVlbXB0aXJxc29mZiBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAyLjYuMjYtcmM4CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxhdGVuY3k6IDEwNSB1cywgIzE4My8xODMsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogc3NoZC00MjYxICh1aWQ6MCBuaWNlOjAgcG9saWN5OjAgcnRfcHJpbzowKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgPT4gc3RhcnRlZCBhdDogd3JpdGVfY2hhbgorID0+IGVuZGVkIGF0OiAgIF9fZG9fc29mdGlycQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICAgICAgbHMtNDQ3MyAgMC5OLi4gICAgMHVzIDogcHJlZW1wdF9zY2hlZHVsZSAod3JpdGVfY2hhbikKKyAgICAgIGxzLTQ0NzMgIDBkTi4xICAgIDF1cyA6IF9zcGluX2xvY2sgKHNjaGVkdWxlKQorICAgICAgbHMtNDQ3MyAgMGROLjEgICAgMnVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2spCisgICAgICBscy00NDczICAwZC4uMiAgICAydXMgOiBwdXRfcHJldl90YXNrX2ZhaXIgKHNjaGVkdWxlKQorWy4uLl0KKyAgICAgIGxzLTQ0NzMgIDBkLi4yICAgMTN1cyA6IHNldF9ub3JtYWxpemVkX3RpbWVzcGVjIChrdGltZV9nZXRfdHMpCisgICAgICBscy00NDczICAwZC4uMiAgIDEzdXMgOiBfX3N3aXRjaF90byAoc2NoZWR1bGUpCisgICAgc3NoZC00MjYxICAwZC4uMiAgIDE0dXMgOiBmaW5pc2hfdGFza19zd2l0Y2ggKHNjaGVkdWxlKQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxNHVzIDogX3NwaW5fdW5sb2NrX2lycSAoZmluaXNoX3Rhc2tfc3dpdGNoKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAxNXVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2tfaXJxc2F2ZSkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTZ1cyA6IF9zcGluX3VubG9ja19pcnFyZXN0b3JlIChocnRpY2tfc2V0KQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxNnVzIDogZG9fSVJRIChjb21tb25faW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxN3VzIDogaXJxX2VudGVyIChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC4uMiAgIDE3dXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxOHVzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLmgyICAgMTh1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5oLiAgIDE4dXMgOiBoYW5kbGVfZmFzdGVvaV9pcnEgKGRvX0lSUSkKKyAgICBzc2hkLTQyNjEgIDBkLmguICAgMTl1cyA6IF9zcGluX2xvY2sgKGhhbmRsZV9mYXN0ZW9pX2lycSkKKyAgICBzc2hkLTQyNjEgIDBkLmguICAgMTl1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAyMHVzIDogX3NwaW5fdW5sb2NrIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDIwdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX3NwaW5fdW5sb2NrKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMjh1cyA6IF9zcGluX3VubG9jayAoaGFuZGxlX2Zhc3Rlb2lfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAyOXVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9zcGluX3VubG9jaykKKyAgICBzc2hkLTQyNjEgIDBkLmgyICAgMjl1cyA6IGlycV9leGl0IChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC5oMiAgIDI5dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC4uMyAgIDMwdXMgOiBkb19zb2Z0aXJxIChpcnFfZXhpdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMzB1cyA6IF9fZG9fc29mdGlycSAoZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMzF1cyA6IF9fbG9jYWxfYmhfZGlzYWJsZSAoX19kb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAzMXVzKzogYWRkX3ByZWVtcHRfY291bnQgKF9fbG9jYWxfYmhfZGlzYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgMzR1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCitbLi4uXQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0M3VzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZV9pcCkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgNDR1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGVfaXApCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDQ0dXMgOiBzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQgKGFwaWNfdGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0NXVzIDogaXJxX2VudGVyIChzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQpCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDQ1dXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0NnVzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgNDZ1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDQ3dXMgOiBocnRpbWVyX2ludGVycnVwdCAoc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA0N3VzIDoga3RpbWVfZ2V0IChocnRpbWVyX2ludGVycnVwdCkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgxdXMgOiB0aWNrX3Byb2dyYW1fZXZlbnQgKGhydGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4MnVzIDoga3RpbWVfZ2V0ICh0aWNrX3Byb2dyYW1fZXZlbnQpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgydXMgOiBrdGltZV9nZXRfdHMgKGt0aW1lX2dldCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODN1cyA6IGdldG5zdGltZW9mZGF5IChrdGltZV9nZXRfdHMpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgzdXMgOiBzZXRfbm9ybWFsaXplZF90aW1lc3BlYyAoa3RpbWVfZ2V0X3RzKQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4NHVzIDogY2xvY2tldmVudHNfcHJvZ3JhbV9ldmVudCAodGlja19wcm9ncmFtX2V2ZW50KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4NHVzIDogbGFwaWNfbmV4dF9ldmVudCAoY2xvY2tldmVudHNfcHJvZ3JhbV9ldmVudCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODV1cyA6IGlycV9leGl0IChzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDg1dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC5zNCAgIDg2dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDg2dXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnMxICAgOTh1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChuZXRfcnhfYWN0aW9uKQorICAgIHNzaGQtNDI2MSAgMGQucy4gICA5OXVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2tfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuczEgICA5OXVzKzogX3NwaW5fdW5sb2NrX2lycSAocnVuX3RpbWVyX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC5zLiAgMTA0dXMgOiBfbG9jYWxfYmhfZW5hYmxlIChfX2RvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC5zLiAgMTA0dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX2xvY2FsX2JoX2VuYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnMuICAxMDV1cyA6IF9sb2NhbF9iaF9lbmFibGUgKF9fZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLnMxICAxMDV1cyA6IHRyYWNlX3ByZWVtcHRfb24gKF9fZG9fc29mdGlycSkKKworCitUaGlzIGlzIGEgdmVyeSBpbnRlcmVzdGluZyB0cmFjZS4gSXQgc3RhcnRlZCB3aXRoIHRoZSBwcmVlbXB0aW9uIG9mCit0aGUgbHMgdGFzay4gV2Ugc2VlIHRoYXQgdGhlIHRhc2sgaGFkIHRoZSAibmVlZF9yZXNjaGVkIiBiaXQgc2V0Cit3aXRoIHRoZSAnTicgaW4gdGhlIHRyYWNlLiAgSW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgaW4gdGhlIHNwaW5fbG9jaworYW5kIHRoZSB0cmFjZSBzdGFydGVkLiBXZSBzZWUgdGhhdCBhIHNjaGVkdWxlIHRvb2sgcGxhY2UgdG8gcnVuCitzc2hkLiAgV2hlbiB0aGUgaW50ZXJydXB0cyB3ZXJlIGVuYWJsZWQsIHdlIHRvb2sgYW4gaW50ZXJydXB0LgorT24gcmV0dXJuIGZyb20gdGhlIGludGVycnVwdCBoYW5kbGVyLCB0aGUgc29mdGlycSByYW4uIFdlIHRvb2sgYW5vdGhlcgoraW50ZXJydXB0IHdoaWxlIHJ1bm5pbmcgdGhlIHNvZnRpcnEgYXMgd2Ugc2VlIHdpdGggdGhlIGNhcGl0YWwgJ0gnLgorCisKK3dha2V1cAorLS0tLS0tCisKK0luIFJlYWwtVGltZSBlbnZpcm9ubWVudCBpdCBpcyB2ZXJ5IGltcG9ydGFudCB0byBrbm93IHRoZSB3YWtldXAKK3RpbWUgaXQgdGFrZXMgZm9yIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgdGhhdCB3YWtlcyB1cCB0byB0aGUKK3RpbWUgaXQgZXhlY3V0ZXMuIFRoaXMgaXMgYWxzbyBrbm93biBhcyAic2NoZWR1bGUgbGF0ZW5jeSIuCitJIHN0cmVzcyB0aGUgcG9pbnQgdGhhdCB0aGlzIGlzIGFib3V0IFJUIHRhc2tzLiBJdCBpcyBhbHNvIGltcG9ydGFudAordG8ga25vdyB0aGUgc2NoZWR1bGluZyBsYXRlbmN5IG9mIG5vbi1SVCB0YXNrcywgYnV0IHRoZSBhdmVyYWdlCitzY2hlZHVsZSBsYXRlbmN5IGlzIGJldHRlciBmb3Igbm9uLVJUIHRhc2tzLiBUb29scyBsaWtlCitMYXRlbmN5VG9wIGFyZSBtb3JlIGFwcHJvcHJpYXRlIGZvciBzdWNoIG1lYXN1cmVtZW50cy4KKworUmVhbC1UaW1lIGVudmlyb25tZW50cyBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgd29yc3QgY2FzZSBsYXRlbmN5LgorVGhhdCBpcyB0aGUgbG9uZ2VzdCBsYXRlbmN5IGl0IHRha2VzIGZvciBzb21ldGhpbmcgdG8gaGFwcGVuLCBhbmQKK25vdCB0aGUgYXZlcmFnZS4gV2UgY2FuIGhhdmUgYSB2ZXJ5IGZhc3Qgc2NoZWR1bGVyIHRoYXQgbWF5IG9ubHkKK2hhdmUgYSBsYXJnZSBsYXRlbmN5IG9uY2UgaW4gYSB3aGlsZSwgYnV0IHRoYXQgd291bGQgbm90IHdvcmsgd2VsbAord2l0aCBSZWFsLVRpbWUgdGFza3MuICBUaGUgd2FrZXVwIHRyYWNlciB3YXMgZGVzaWduZWQgdG8gcmVjb3JkCit0aGUgd29yc3QgY2FzZSB3YWtldXBzIG9mIFJUIHRhc2tzLiBOb24tUlQgdGFza3MgYXJlIG5vdCByZWNvcmRlZAorYmVjYXVzZSB0aGUgdHJhY2VyIG9ubHkgcmVjb3JkcyBvbmUgd29yc3QgY2FzZSBhbmQgdHJhY2luZyBub24tUlQKK3Rhc2tzIHRoYXQgYXJlIHVucHJlZGljdGFibGUgd2lsbCBvdmVyd3JpdGUgdGhlIHdvcnN0IGNhc2UgbGF0ZW5jeQorb2YgUlQgdGFza3MuCisKK1NpbmNlIHRoaXMgdHJhY2VyIG9ubHkgZGVhbHMgd2l0aCBSVCB0YXNrcywgd2Ugd2lsbCBydW4gdGhpcyBzbGlnaHRseQorZGlmZmVyZW50bHkgdGhhbiB3ZSBkaWQgd2l0aCB0aGUgcHJldmlvdXMgdHJhY2Vycy4gSW5zdGVhZCBvZiBwZXJmb3JtaW5nCithbiAnbHMnLCB3ZSB3aWxsIHJ1biAnc2xlZXAgMScgdW5kZXIgJ2NocnQnIHdoaWNoIGNoYW5nZXMgdGhlCitwcmlvcml0eSBvZiB0aGUgdGFzay4KKworICMgZWNobyB3YWtldXAgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjaHJ0IC1mIDUgc2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvbGF0ZW5jeV90cmFjZQorIyB0cmFjZXI6IHdha2V1cAorIword2FrZXVwIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNCB1cywgIzIvMiwgQ1BVIzEgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzbGVlcC00OTAxICh1aWQ6MCBuaWNlOjAgcG9saWN5OjEgcnRfcHJpbzo1KQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgIDxpZGxlPi0wICAgICAxZC5oNCAgICAwdXMrOiB0cnlfdG9fd2FrZV91cCAod2FrZV91cF9wcm9jZXNzKQorICA8aWRsZT4tMCAgICAgMWQuLjQgICAgNHVzIDogc2NoZWR1bGUgKGNwdV9pZGxlKQorCisKK3ZpbTpmdD1oZWxwCisKKworUnVubmluZyB0aGlzIG9uIGFuIGlkbGUgc3lzdGVtLCB3ZSBzZWUgdGhhdCBpdCBvbmx5IHRvb2sgNCBtaWNyb3NlY29uZHMKK3RvIHBlcmZvcm0gdGhlIHRhc2sgc3dpdGNoLiAgTm90ZSwgc2luY2UgdGhlIHRyYWNlIG1hcmtlciBpbiB0aGUKK3NjaGVkdWxlIGlzIGJlZm9yZSB0aGUgYWN0dWFsICJzd2l0Y2giLCB3ZSBzdG9wIHRoZSB0cmFjaW5nIHdoZW4KK3RoZSByZWNvcmRlZCB0YXNrIGlzIGFib3V0IHRvIHNjaGVkdWxlIGluLiBUaGlzIG1heSBjaGFuZ2UgaWYKK3dlIGFkZCBhIG5ldyBtYXJrZXIgYXQgdGhlIGVuZCBvZiB0aGUgc2NoZWR1bGVyLgorCitOb3RpY2UgdGhhdCB0aGUgcmVjb3JkZWQgdGFzayBpcyAnc2xlZXAnIHdpdGggdGhlIFBJRCBvZiA0OTAxIGFuZCBpdAoraGFzIGFuIHJ0X3ByaW8gb2YgNS4gVGhpcyBwcmlvcml0eSBpcyB1c2VyLXNwYWNlIHByaW9yaXR5IGFuZCBub3QKK3RoZSBpbnRlcm5hbCBrZXJuZWwgcHJpb3JpdHkuIFRoZSBwb2xpY3kgaXMgMSBmb3IgU0NIRURfRklGTyBhbmQgMgorZm9yIFNDSEVEX1JSLgorCitEb2luZyB0aGUgc2FtZSB3aXRoIGNocnQgLXIgNSBhbmQgZnRyYWNlX2VuYWJsZWQgc2V0LgorCisjIHRyYWNlcjogd2FrZXVwCisjCit3YWtldXAgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA1MCB1cywgIzYwLzYwLCBDUFUjMSB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHNsZWVwLTQwNjggKHVpZDowIG5pY2U6MCBwb2xpY3k6MiBydF9wcmlvOjUpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDB1cyA6IHRyeV90b193YWtlX3VwICh3YWtlX3VwX3Byb2Nlc3MpCitrc29mdGlycS03ICAgICAxZC5INCAgICAxdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobWFya2VyX3Byb2JlX2NiKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgMnVzIDogY2hlY2tfcHJlZW1wdF93YWtldXAgKHRyeV90b193YWtlX3VwKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgM3VzIDogdXBkYXRlX2N1cnIgKGNoZWNrX3ByZWVtcHRfd2FrZXVwKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgNHVzIDogY2FsY19kZWx0YV9taW5lICh1cGRhdGVfY3VycikKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDV1cyA6IF9fcmVzY2hlZF90YXNrIChjaGVja19wcmVlbXB0X3dha2V1cCkKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDZ1cyA6IHRhc2tfd2FrZV91cF9ydCAodHJ5X3RvX3dha2VfdXApCitrc29mdGlycS03ICAgICAxZC5IMyAgICA3dXMgOiBfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSAodHJ5X3RvX3dha2VfdXApCitbLi4uXQora3NvZnRpcnEtNyAgICAgMWQuSDIgICAxN3VzIDogaXJxX2V4aXQgKHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCkKK2tzb2Z0aXJxLTcgICAgIDFkLkgyICAgMTh1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKK2tzb2Z0aXJxLTcgICAgIDFkLnMzICAgMTl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKK2tzb2Z0aXJxLTcgICAgIDEuLnMyICAgMjB1cyA6IHJjdV9wcm9jZXNzX2NhbGxiYWNrcyAoX19kb19zb2Z0aXJxKQorWy4uLl0KK2tzb2Z0aXJxLTcgICAgIDEuLnMyICAgMjZ1cyA6IF9fcmN1X3Byb2Nlc3NfY2FsbGJhY2tzIChyY3VfcHJvY2Vzc19jYWxsYmFja3MpCitrc29mdGlycS03ICAgICAxZC5zMiAgIDI3dXMgOiBfbG9jYWxfYmhfZW5hYmxlIChfX2RvX3NvZnRpcnEpCitrc29mdGlycS03ICAgICAxZC5zMiAgIDI4dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX2xvY2FsX2JoX2VuYWJsZSkKK2tzb2Z0aXJxLTcgICAgIDEuTi4zICAgMjl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChrc29mdGlycWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMwdXMgOiBfY29uZF9yZXNjaGVkIChrc29mdGlycWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMxdXMgOiBfX2NvbmRfcmVzY2hlZCAoX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzJ1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzN1cyA6IHNjaGVkdWxlIChfX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzN1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDEuTi4zICAgMzR1cyA6IGhydGlja19jbGVhciAoc2NoZWR1bGUpCitrc29mdGlycS03ICAgICAxZE4uMyAgIDM1dXMgOiBfc3Bpbl9sb2NrIChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDFkTi4zICAgMzZ1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrKQora3NvZnRpcnEtNyAgICAgMWQuLjQgICAzN3VzIDogcHV0X3ByZXZfdGFza19mYWlyIChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDFkLi40ICAgMzh1cyA6IHVwZGF0ZV9jdXJyIChwdXRfcHJldl90YXNrX2ZhaXIpCitbLi4uXQora3NvZnRpcnEtNyAgICAgMWQuLjUgICA0N3VzIDogX3NwaW5fdHJ5bG9jayAodHJhY2luZ19yZWNvcmRfY21kbGluZSkKK2tzb2Z0aXJxLTcgICAgIDFkLi41ICAgNDh1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl90cnlsb2NrKQora3NvZnRpcnEtNyAgICAgMWQuLjYgICA0OXVzIDogX3NwaW5fdW5sb2NrICh0cmFjaW5nX3JlY29yZF9jbWRsaW5lKQora3NvZnRpcnEtNyAgICAgMWQuLjYgICA0OXVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9zcGluX3VubG9jaykKK2tzb2Z0aXJxLTcgICAgIDFkLi40ICAgNTB1cyA6IHNjaGVkdWxlIChfX2NvbmRfcmVzY2hlZCkKKworVGhlIGludGVycnVwdCB3ZW50IG9mZiB3aGlsZSBydW5uaW5nIGtzb2Z0aXJxZC4gVGhpcyB0YXNrIHJ1bnMgYXQKK1NDSEVEX09USEVSLiBXaHkgZGlkbid0IHdlIHNlZSB0aGUgJ04nIHNldCBlYXJseT8gVGhpcyBtYXkgYmUKK2EgaGFybWxlc3MgYnVnIHdpdGggeDg2XzMyIGFuZCA0SyBzdGFja3MuIE9uIHg4Nl8zMiB3aXRoIDRLIHN0YWNrcworY29uZmlndXJlZCwgdGhlIGludGVycnVwdCBhbmQgc29mdGlycSBydW5zIHdpdGggdGhlaXIgb3duIHN0YWNrLgorU29tZSBpbmZvcm1hdGlvbiBpcyBoZWxkIG9uIHRoZSB0b3Agb2YgdGhlIHRhc2sncyBzdGFjayAobmVlZF9yZXNjaGVkCithbmQgcHJlZW1wdF9jb3VudCBhcmUgYm90aCBzdG9yZWQgdGhlcmUpLiBUaGUgc2V0dGluZyBvZiB0aGUgTkVFRF9SRVNDSEVECitiaXQgaXMgZG9uZSBkaXJlY3RseSB0byB0aGUgdGFzaydzIHN0YWNrLCBidXQgdGhlIHJlYWRpbmcgb2YgdGhlCitORUVEX1JFU0NIRUQgaXMgZG9uZSBieSBsb29raW5nIGF0IHRoZSBjdXJyZW50IHN0YWNrLCB3aGljaCBpbiB0aGlzIGNhc2UKK2lzIHRoZSBzdGFjayBmb3IgdGhlIGhhcmQgaW50ZXJydXB0LiBUaGlzIGhpZGVzIHRoZSBmYWN0IHRoYXQgTkVFRF9SRVNDSEVECitoYXMgYmVlbiBzZXQuIFdlIGRvbid0IHNlZSB0aGUgJ04nIHVudGlsIHdlIHN3aXRjaCBiYWNrIHRvIHRoZSB0YXNrJ3MKK2Fzc2lnbmVkIHN0YWNrLgorCitmdHJhY2UKKy0tLS0tLQorCitmdHJhY2UgaXMgbm90IG9ubHkgdGhlIG5hbWUgb2YgdGhlIHRyYWNpbmcgaW5mcmFzdHJ1Y3R1cmUsIGJ1dCBpdAoraXMgYWxzbyBhIG5hbWUgb2Ygb25lIG9mIHRoZSB0cmFjZXJzLiBUaGUgdHJhY2VyIGlzIHRoZSBmdW5jdGlvbgordHJhY2VyLiBFbmFibGluZyB0aGUgZnVuY3Rpb24gdHJhY2VyIGNhbiBiZSBkb25lIGZyb20gdGhlCitkZWJ1ZyBmaWxlIHN5c3RlbS4gTWFrZSBzdXJlIHRoZSBmdHJhY2VfZW5hYmxlZCBpcyBzZXQgb3RoZXJ3aXNlCit0aGlzIHRyYWNlciBpcyBhIG5vcC4KKworICMgc3lzY3RsIGtlcm5lbC5mdHJhY2VfZW5hYmxlZD0xCisgIyBlY2hvIGZ0cmFjZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIHVzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTM6IGZpbmlzaF90YXNrX3N3aXRjaCA8LXNjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE0OiBfc3Bpbl91bmxvY2tfaXJxIDwtZmluaXNoX3Rhc2tfc3dpdGNoCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE0OiBzdWJfcHJlZW1wdF9jb3VudCA8LV9zcGluX3VubG9ja19pcnEKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTU6IGhydGlja19zZXQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNTogX3NwaW5fbG9ja19pcnFzYXZlIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNjogYWRkX3ByZWVtcHRfY291bnQgPC1fc3Bpbl9sb2NrX2lycXNhdmUKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTY6IF9zcGluX3VubG9ja19pcnFyZXN0b3JlIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNzogc3ViX3ByZWVtcHRfY291bnQgPC1fc3Bpbl91bmxvY2tfaXJxcmVzdG9yZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNzogaHJ0aWNrX2NsZWFyIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxODogc3ViX3ByZWVtcHRfY291bnQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxODogc3ViX3ByZWVtcHRfY291bnQgPC1wcmVlbXB0X3NjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE5OiB3YWl0X2Zvcl9jb21wbGV0aW9uIDwtX19zdG9wX21hY2hpbmVfcnVuCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE5OiB3YWl0X2Zvcl9jb21tb24gPC13YWl0X2Zvcl9jb21wbGV0aW9uCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzIwOiBfc3Bpbl9sb2NrX2lycSA8LXdhaXRfZm9yX2NvbW1vbgorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcyMDogYWRkX3ByZWVtcHRfY291bnQgPC1fc3Bpbl9sb2NrX2lycQorWy4uLl0KKworCitOb3RlOiBJdCBpcyBzb21ldGltZXMgYmV0dGVyIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRyYWNpbmcgZGlyZWN0bHkgZnJvbQorYSBwcm9ncmFtLCBiZWNhdXNlIHRoZSBidWZmZXIgbWF5IGJlIG92ZXJmbG93ZWQgYnkgdGhlIGVjaG8gY29tbWFuZHMKK2JlZm9yZSB5b3UgZ2V0IHRvIHRoZSBwb2ludCB5b3Ugd2FudCB0byB0cmFjZS4gSXQgaXMgYWxzbyBlYXNpZXIgdG8KK3N0b3AgdGhlIHRyYWNpbmcgYXQgdGhlIHBvaW50IHRoYXQgeW91IGhpdCB0aGUgcGFydCB0aGF0IHlvdSBhcmUKK2ludGVyZXN0ZWQgaW4uIFNpbmNlIHRoZSBmdHJhY2UgYnVmZmVyIGlzIGEgcmluZyBidWZmZXIgd2l0aCB0aGUKK29sZGVzdCBkYXRhIGJlaW5nIG92ZXJ3cml0dGVuLCB1c3VhbGx5IGl0IGlzIHN1ZmZpY2llbnQgdG8gc3RhcnQgdGhlCit0cmFjZXIgd2l0aCBhbiBlY2hvIGNvbW1hbmQgYnV0IGhhdmUgeW91IGNvZGUgc3RvcCBpdC4gU29tZXRoaW5nCitsaWtlIHRoZSBmb2xsb3dpbmcgaXMgdXN1YWxseSBhcHByb3ByaWF0ZSBmb3IgdGhpcy4KKworaW50IHRyYWNlX2ZkOworWy4uLl0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKwlbLi4uXQorCXRyYWNlX2ZkID0gb3BlbigiL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkIiwgT19XUk9OTFkpOworCVsuLi5dCisJaWYgKGNvbmRpdGlvbl9oaXQoKSkgeworCXdyaXRlKHRyYWNlX2ZkLCAiMCIsIDEpOworCX0KKwlbLi4uXQorfQorCisKK2R5bmFtaWMgZnRyYWNlCistLS0tLS0tLS0tLS0tLQorCitJZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgaXMgc2V0LCB0aGVuIHRoZSBzeXN0ZW0gd2lsbCBydW4gd2l0aAordmlydHVhbGx5IG5vIG92ZXJoZWFkIHdoZW4gZnVuY3Rpb24gdHJhY2luZyBpcyBkaXNhYmxlZC4gVGhlIHdheQordGhpcyB3b3JrcyBpcyB0aGUgbWNvdW50IGZ1bmN0aW9uIGNhbGwgKHBsYWNlZCBhdCB0aGUgc3RhcnQgb2YKK2V2ZXJ5IGtlcm5lbCBmdW5jdGlvbiwgcHJvZHVjZWQgYnkgdGhlIC1wZyBzd2l0Y2ggaW4gZ2NjKSwgc3RhcnRzCitvZiBwb2ludGluZyB0byBhIHNpbXBsZSByZXR1cm4uCisKK1doZW4gZHluYW1pYyBmdHJhY2UgaXMgaW5pdGlhbGl6ZWQsIGl0IGNhbGxzIGtzdG9wX21hY2hpbmUgdG8gbWFrZQordGhlIG1hY2hpbmUgYWN0IGxpa2UgYSB1bmlwcm9jZXNzb3Igc28gdGhhdCBpdCBjYW4gZnJlZWx5IG1vZGlmeSBjb2RlCit3aXRob3V0IHdvcnJ5aW5nIGFib3V0IG90aGVyIHByb2Nlc3NvcnMgZXhlY3V0aW5nIHRoYXQgc2FtZSBjb2RlLiAgQXQKK2luaXRpYWxpemF0aW9uLCB0aGUgbWNvdW50IGNhbGxzIGFyZSBjaGFuZ2VkIHRvIGNhbGwgYSAicmVjb3JkX2lwIgorZnVuY3Rpb24uICBBZnRlciB0aGlzLCB0aGUgZmlyc3QgdGltZSBhIGtlcm5lbCBmdW5jdGlvbiBpcyBjYWxsZWQsCitpdCBoYXMgdGhlIGNhbGxpbmcgYWRkcmVzcyBzYXZlZCBpbiBhIGhhc2ggdGFibGUuCisKK0xhdGVyIG9uIHRoZSBmdHJhY2VkIGtlcm5lbCB0aHJlYWQgaXMgYXdva2VuIGFuZCB3aWxsIGFnYWluIGNhbGwKK2tzdG9wX21hY2hpbmUgaWYgbmV3IGZ1bmN0aW9ucyBoYXZlIGJlZW4gcmVjb3JkZWQuIFRoZSBmdHJhY2VkIHRocmVhZAord2lsbCBjaGFuZ2UgYWxsIGNhbGxzIHRvIG1jb3VudCB0byAibm9wIi4gIEp1c3QgY2FsbGluZyBtY291bnQKK2FuZCBoYXZpbmcgbWNvdW50IHJldHVybiBoYXMgc2hvd24gYSAxMCUgb3ZlcmhlYWQuIEJ5IGNvbnZlcnRpbmcKK2l0IHRvIGEgbm9wLCB0aGVyZSBpcyBubyByZWNvcmRhYmxlIG92ZXJoZWFkIHRvIHRoZSBzeXN0ZW0uCisKK09uZSBzcGVjaWFsIHNpZGUtZWZmZWN0IHRvIHRoZSByZWNvcmRpbmcgb2YgdGhlIGZ1bmN0aW9ucyBiZWluZwordHJhY2VkLCBpcyB0aGF0IHdlIGNhbiBub3cgc2VsZWN0aXZlbHkgY2hvb3NlIHdoaWNoIGZ1bmN0aW9ucyB3ZQord2FudCB0byB0cmFjZSBhbmQgd2hpY2ggb25lcyB3ZSB3YW50IHRoZSBtY291bnQgY2FsbHMgdG8gcmVtYWluIGFzCitub3BzLgorCitUd28gZmlsZXMgYXJlIHVzZWQsIG9uZSBmb3IgZW5hYmxpbmcgYW5kIG9uZSBmb3IgZGlzYWJsaW5nIHRoZSB0cmFjaW5nCitvZiByZWNvcmRlZCBmdW5jdGlvbnMuIFRoZXkgYXJlOgorCisgIHNldF9mdHJhY2VfZmlsdGVyCisKK2FuZAorCisgIHNldF9mdHJhY2Vfbm90cmFjZQorCitBIGxpc3Qgb2YgYXZhaWxhYmxlIGZ1bmN0aW9ucyB0aGF0IHlvdSBjYW4gYWRkIHRvIHRoZXNlIGZpbGVzIGlzIGxpc3RlZAoraW46CisKKyAgIGF2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9hdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucworcHV0X3ByZXZfdGFza19pZGxlCitrbWVtX2NhY2hlX2NyZWF0ZQorcGlja19uZXh0X3Rhc2tfcnQKK2dldF9vbmxpbmVfY3B1cworcGlja19uZXh0X3Rhc2tfZmFpcgorbXV0ZXhfbG9jaworWy4uLl0KKworSWYgSSdtIG9ubHkgaW50ZXJlc3RlZCBpbiBzeXNfbmFub3NsZWVwIGFuZCBocnRpbWVyX2ludGVycnVwdDoKKworICMgZWNobyBzeXNfbmFub3NsZWVwIGhydGltZXJfaW50ZXJydXB0IFwKKwkJPiAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorICMgZWNobyBmdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyB1c2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2UKKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgdXNsZWVwLTQxMzQgIFswMF0gIDEzMTcuMDcwMDE3OiBocnRpbWVyX2ludGVycnVwdCA8LXNtcF9hcGljX3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIHVzbGVlcC00MTM0ICBbMDBdICAxMzE3LjA3MDExMTogc3lzX25hbm9zbGVlcCA8LXN5c2NhbGxfY2FsbAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxMzE3LjA3MDExNTogaHJ0aW1lcl9pbnRlcnJ1cHQgPC1zbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQKKworVG8gc2VlIHdoYXQgZnVuY3Rpb25zIGFyZSBiZWluZyB0cmFjZWQsIHlvdSBjYW4gY2F0IHRoZSBmaWxlOgorCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKK2hydGltZXJfaW50ZXJydXB0CitzeXNfbmFub3NsZWVwCisKKworUGVyaGFwcyB0aGlzIGlzbid0IGVub3VnaC4gVGhlIGZpbHRlcnMgYWxzbyBhbGxvdyBzaW1wbGUgd2lsZCBjYXJkcy4KK09ubHkgdGhlIGZvbGxvd2luZyBhcmUgY3VycmVudGx5IGF2YWlsYWJsZQorCisgIDxtYXRjaD4qICAtIHdpbGwgbWF0Y2ggZnVuY3Rpb25zIHRoYXQgYmVnaW4gd2l0aCA8bWF0Y2g+CisgICo8bWF0Y2g+ICAtIHdpbGwgbWF0Y2ggZnVuY3Rpb25zIHRoYXQgZW5kIHdpdGggPG1hdGNoPgorICAqPG1hdGNoPiogLSB3aWxsIG1hdGNoIGZ1bmN0aW9ucyB0aGF0IGhhdmUgPG1hdGNoPiBpbiBpdAorCitUaGF0cyBhbGwgdGhlIHdpbGQgY2FyZHMgdGhhdCBhcmUgYWxsb3dlZC4KKworICA8bWF0Y2g+KjxtYXRjaD4gd2lsbCBub3Qgd29yay4KKworICMgZWNobyBocnRpbWVyXyogPiAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorCitQcm9kdWNlczoKKworIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgMTQ4MC42MTE3OTQ6IGhydGltZXJfaW5pdCA8LWNvcHlfcHJvY2VzcworICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAxNDgwLjYxMTk0MTogaHJ0aW1lcl9zdGFydCA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgMTQ4MC42MTE5NTY6IGhydGltZXJfY2FuY2VsIDwtaHJ0aWNrX2NsZWFyCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gIDE0ODAuNjExOTU2OiBocnRpbWVyX3RyeV90b19jYW5jZWwgPC1ocnRpbWVyX2NhbmNlbAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAxOTogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAyNTogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAzMjogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAzNzogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjM4MjogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorCisKK05vdGljZSB0aGF0IHdlIGxvc3QgdGhlIHN5c19uYW5vc2xlZXAuCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgoraHJ0aW1lcl9ydW5fcXVldWVzCitocnRpbWVyX3J1bl9wZW5kaW5nCitocnRpbWVyX2luaXQKK2hydGltZXJfY2FuY2VsCitocnRpbWVyX3RyeV90b19jYW5jZWwKK2hydGltZXJfZm9yd2FyZAoraHJ0aW1lcl9zdGFydAoraHJ0aW1lcl9yZXByb2dyYW0KK2hydGltZXJfZm9yY2VfcmVwcm9ncmFtCitocnRpbWVyX2dldF9uZXh0X2V2ZW50CitocnRpbWVyX2ludGVycnVwdAoraHJ0aW1lcl9uYW5vc2xlZXAKK2hydGltZXJfd2FrZXVwCitocnRpbWVyX2dldF9yZW1haW5pbmcKK2hydGltZXJfZ2V0X3JlcworaHJ0aW1lcl9pbml0X3NsZWVwZXIKKworCitUaGlzIGlzIGJlY2F1c2UgdGhlICc+JyBhbmQgJz4+JyBhY3QganVzdCBsaWtlIHRoZXkgZG8gaW4gYmFzaC4KK1RvIHJld3JpdGUgdGhlIGZpbHRlcnMsIHVzZSAnPicKK1RvIGFwcGVuZCB0byB0aGUgZmlsdGVycywgdXNlICc+PicKKworVG8gY2xlYXIgb3V0IGEgZmlsdGVyIHNvIHRoYXQgYWxsIGZ1bmN0aW9ucyB3aWxsIGJlIHJlY29yZGVkIGFnYWluOgorCisgIyBlY2hvID4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorICMKKworQWdhaW4sIG5vdyB3ZSB3YW50IHRvIGFwcGVuZC4KKworICMgZWNobyBzeXNfbmFub3NsZWVwID4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorc3lzX25hbm9zbGVlcAorICMgZWNobyBocnRpbWVyXyogPj4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgoraHJ0aW1lcl9ydW5fcXVldWVzCitocnRpbWVyX3J1bl9wZW5kaW5nCitocnRpbWVyX2luaXQKK2hydGltZXJfY2FuY2VsCitocnRpbWVyX3RyeV90b19jYW5jZWwKK2hydGltZXJfZm9yd2FyZAoraHJ0aW1lcl9zdGFydAoraHJ0aW1lcl9yZXByb2dyYW0KK2hydGltZXJfZm9yY2VfcmVwcm9ncmFtCitocnRpbWVyX2dldF9uZXh0X2V2ZW50CitocnRpbWVyX2ludGVycnVwdAorc3lzX25hbm9zbGVlcAoraHJ0aW1lcl9uYW5vc2xlZXAKK2hydGltZXJfd2FrZXVwCitocnRpbWVyX2dldF9yZW1haW5pbmcKK2hydGltZXJfZ2V0X3JlcworaHJ0aW1lcl9pbml0X3NsZWVwZXIKKworCitUaGUgc2V0X2Z0cmFjZV9ub3RyYWNlIHByZXZlbnRzIHRob3NlIGZ1bmN0aW9ucyBmcm9tIGJlaW5nIHRyYWNlZC4KKworICMgZWNobyAnKnByZWVtcHQqJyAnKmxvY2sqJyA+IC9kZWJ1Zy90cmFjaW5nL3NldF9mdHJhY2Vfbm90cmFjZQorCitQcm9kdWNlczoKKworIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDQ6IGZpbmlzaF90YXNrX3N3aXRjaCA8LXNjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ1OiBocnRpY2tfc2V0IDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDU6IGhydGlja19jbGVhciA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDY6IHdhaXRfZm9yX2NvbXBsZXRpb24gPC1fX3N0b3BfbWFjaGluZV9ydW4KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDc6IHdhaXRfZm9yX2NvbW1vbiA8LXdhaXRfZm9yX2NvbXBsZXRpb24KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDc6IGt0aHJlYWRfc3RvcCA8LXN0b3BfbWFjaGluZV9ydW4KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDg6IGluaXRfd2FpdHF1ZXVlX2hlYWQgPC1rdGhyZWFkX3N0b3AKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDg6IHdha2VfdXBfcHJvY2VzcyA8LWt0aHJlYWRfc3RvcAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDFdICAgMTE1LjI4MTY0OTogdHJ5X3RvX3dha2VfdXAgPC13YWtlX3VwX3Byb2Nlc3MKKworV2UgY2FuIHNlZSB0aGF0IHRoZXJlJ3Mgbm8gbW9yZSBsb2NrIG9yIHByZWVtcHQgdHJhY2luZy4KKworZnRyYWNlZAorLS0tLS0tLQorCitBcyBtZW50aW9uZWQgYWJvdmUsIHdoZW4gZHluYW1pYyBmdHJhY2UgaXMgY29uZmlndXJlZCBpbiwgYSBrZXJuZWwKK3RocmVhZCB3YWtlcyB1cCBvbmNlIGEgc2Vjb25kIGFuZCBjaGVja3MgdG8gc2VlIGlmIHRoZXJlIGFyZSBtY291bnQKK2NhbGxzIHRoYXQgbmVlZCB0byBiZSBjb252ZXJ0ZWQgaW50byBub3BzLiBJZiB0aGVyZSBhcmUgbm90IGFueSwgdGhlbgoraXQgc2ltcGx5IGdvZXMgYmFjayB0byBzbGVlcC4gQnV0IGlmIHRoZXJlIGFyZSBzb21lLCBpdCB3aWxsIGNhbGwKK2tzdG9wX21hY2hpbmUgdG8gY29udmVydCB0aGUgY2FsbHMgdG8gbm9wcy4KKworVGhlcmUgbWF5IGJlIGEgY2FzZSB0aGF0IHlvdSBkbyBub3Qgd2FudCB0aGlzIGFkZGVkIGxhdGVuY3kuCitQZXJoYXBzIHlvdSBhcmUgZG9pbmcgc29tZSBhdWRpbyByZWNvcmRpbmcgYW5kIHRoaXMgYWN0aXZpdHkgbWlnaHQKK2NhdXNlIHNraXBzIGluIHRoZSBwbGF5YmFjay4gVGhlcmUgaXMgYW4gaW50ZXJmYWNlIHRvIGRpc2FibGUKK2FuZCBlbmFibGUgdGhlIGZ0cmFjZWQga2VybmVsIHRocmVhZC4KKworICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvZnRyYWNlZF9lbmFibGVkCisKK1RoaXMgd2lsbCBkaXNhYmxlIHRoZSBjYWxsaW5nIG9mIHRoZSBrc3RvcF9tYWNoaW5lIHRvIHVwZGF0ZSB0aGUKK21jb3VudCBjYWxscyB0byBub3BzLiBSZW1lbWJlciB0aGF0IHRoZXJlJ3MgYSBsYXJnZSBvdmVyaGVhZAordG8gY2FsbGluZyBtY291bnQuIFdpdGhvdXQgdGhpcyBrZXJuZWwgdGhyZWFkLCB0aGF0IG92ZXJoZWFkIHdpbGwKK2V4aXN0LgorCitJZiB0aGVyZSBhcmUgcmVjb3JkZWQgY2FsbHMgdG8gbWNvdW50LCBhbnkgd3JpdGUgdG8gdGhlIGZ0cmFjZWRfZW5hYmxlZAorZmlsZSB3aWxsIGNhdXNlIHRoZSBrc3RvcF9tYWNoaW5lIHRvIHJ1bi4gVGhpcyBtZWFucyB0aGF0IGEKK3VzZXIgY2FuIG1hbnVhbGx5IHBlcmZvcm0gdGhlIHVwZGF0ZXMgd2hlbiB0aGV5IHdhbnQgdG8gYnkgc2ltcGx5CitlY2hvaW5nIGEgJzAnIGludG8gdGhlIGZ0cmFjZWRfZW5hYmxlZCBmaWxlLgorCitUaGUgdXBkYXRlcyBhcmUgYWxzbyBkb25lIGF0IHRoZSBiZWdpbm5pbmcgb2YgZW5hYmxpbmcgYSB0cmFjZXIKK3RoYXQgdXNlcyBmdHJhY2UgZnVuY3Rpb24gcmVjb3JkaW5nLgorCisKK3RyYWNlX3BpcGUKKy0tLS0tLS0tLS0KKworVGhlIHRyYWNlX3BpcGUgb3V0cHV0cyB0aGUgc2FtZSBhcyB0cmFjZSwgYnV0IHRoZSBlZmZlY3Qgb24gdGhlCit0cmFjaW5nIGlzIGRpZmZlcmVudC4gRXZlcnkgcmVhZCBmcm9tIHRyYWNlX3BpcGUgaXMgY29uc3VtZWQuCitUaGlzIG1lYW5zIHRoYXQgc3Vic2VxdWVudCByZWFkcyB3aWxsIGJlIGRpZmZlcmVudC4gVGhlIHRyYWNlCitpcyBsaXZlLgorCisgIyBlY2hvIGZ0cmFjZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfcGlwZSA+IC90bXAvdHJhY2Uub3V0ICYKK1sxXSA0MTUzCisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIHVzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKworICMKKyAjIGNhdCAvdG1wL3RyYWNlLm91dAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwNjogZmluaXNoX3Rhc2tfc3dpdGNoIDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDY6IGhydGlja19zZXQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwNzogaHJ0aWNrX2NsZWFyIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwODogd2FpdF9mb3JfY29tcGxldGlvbiA8LV9fc3RvcF9tYWNoaW5lX3J1bgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwODogd2FpdF9mb3JfY29tbW9uIDwtd2FpdF9mb3JfY29tcGxldGlvbgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwOToga3RocmVhZF9zdG9wIDwtc3RvcF9tYWNoaW5lX3J1bgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwOTogaW5pdF93YWl0cXVldWVfaGVhZCA8LWt0aHJlYWRfc3RvcAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzExMDogd2FrZV91cF9wcm9jZXNzIDwta3RocmVhZF9zdG9wCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMF0gNDEuMjY3MTEwOiB0cnlfdG9fd2FrZV91cCA8LXdha2VfdXBfcHJvY2VzcworICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzExMTogc2VsZWN0X3Rhc2tfcnFfcnQgPC10cnlfdG9fd2FrZV91cAorCisKK05vdGUsIHJlYWRpbmcgdGhlIHRyYWNlX3BpcGUgd2lsbCBibG9jayB1bnRpbCBtb3JlIGlucHV0IGlzIGFkZGVkLgorQnkgY2hhbmdpbmcgdGhlIHRyYWNlciwgdHJhY2VfcGlwZSB3aWxsIGlzc3VlIGFuIEVPRi4gV2UgbmVlZGVkCit0byBzZXQgdGhlIGZ0cmFjZSB0cmFjZXIgX2JlZm9yZV8gY2F0aW5nIHRoZSB0cmFjZV9waXBlIGZpbGUuCisKKwordHJhY2UgZW50cmllcworLS0tLS0tLS0tLS0tLQorCitIYXZpbmcgdG9vIG11Y2ggb3Igbm90IGVub3VnaCBkYXRhIGNhbiBiZSB0cm91Ymxlc29tZSBpbiBkaWFnbm9zaW5nCitzb21lIGlzc3VlIGluIHRoZSBrZXJuZWwuIFRoZSBmaWxlIHRyYWNlX2VudHJpZXMgaXMgdXNlZCB0byBtb2RpZnkKK3RoZSBzaXplIG9mIHRoZSBpbnRlcm5hbCB0cmFjZSBidWZmZXJzLiBUaGUgbnVtYmVyIGxpc3RlZAoraXMgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoYXQgY2FuIGJlIHJlY29yZGVkIHBlciBDUFUuIFRvIGtub3cKK3RoZSBmdWxsIHNpemUsIG11bHRpcGx5IHRoZSBudW1iZXIgb2YgcG9zc2libGUgQ1BVUyB3aXRoIHRoZQorbnVtYmVyIG9mIGVudHJpZXMuCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis2NTYyMAorCitOb3RlLCB0byBtb2RpZnkgdGhpcywgeW91IG11c3QgaGF2ZSB0cmFjaW5nIGNvbXBsZXRlbHkgZGlzYWJsZWQuIFRvIGRvIHRoYXQsCitlY2hvICJub25lIiBpbnRvIHRoZSBjdXJyZW50X3RyYWNlci4KKworICMgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gMTAwMDAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworICMgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKKzEwMDA0NQorCisKK05vdGljZSB0aGF0IHdlIGVjaG9lZCBpbiAxMDAsMDAwIGJ1dCB0aGUgc2l6ZSBpcyAxMDAsMDQ1LiBUaGUgZW50cmllcworYXJlIGhlbGQgYnkgaW5kaXZpZHVhbCBwYWdlcy4gSXQgYWxsb2NhdGVzIHRoZSBudW1iZXIgb2YgcGFnZXMgaXQgdGFrZXMKK3RvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuIElmIG1vcmUgZW50cmllcyBtYXkgZml0IG9uIHRoZSBsYXN0IHBhZ2UKK2l0IHdpbGwgYWRkIHRoZW0uCisKKyAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis4NQorCitUaGlzIHNob3dzIHVzIHRoYXQgODUgZW50cmllcyBjYW4gZml0IG9uIGEgc2luZ2xlIHBhZ2UuCisKK1RoZSBudW1iZXIgb2YgcGFnZXMgdGhhdCB3aWxsIGJlIGFsbG9jYXRlZCBpcyBhIHBlcmNlbnRhZ2Ugb2YgYXZhaWxhYmxlCittZW1vcnkuIEFsbG9jYXRpbmcgdG9vIG11Y2ggd2lsbCBwcm9kdWNlIGFuIGVycm9yLgorCisgIyBlY2hvIDEwMDAwMDAwMDAwMDAgPiAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCistYmFzaDogZWNobzogd3JpdGUgZXJyb3I6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis4NQorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLWk4MTAgYi9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLWk4MTAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3ODIxMGUuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1pODEwCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotS2VybmVsIGRyaXZlciBpMmMtaTgxMAotCi1TdXBwb3J0ZWQgYWRhcHRlcnM6Ci0gICogSW50ZWwgODI4MTAsIDgyODEwLURDMTAwLCA4MjgxMEUsIGFuZCA4MjgxNSAoR01DSCkKLSAgKiBJbnRlbCA4Mjg0NUcgKEdNQ0gpCi0KLUF1dGhvcnM6IAotCUZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIAotCVBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCi0gICAgICAgIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+LAotCVJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sCi0JTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotCi1NYWluIGNvbnRhY3Q6IE1hcmsgU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLQotRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLSAKLQotV0FSTklORzogSWYgeW91IGhhdmUgYW4gJzgxMCcgb3IgJzgxNScgbW90aGVyYm9hcmQsIHlvdXIgc3RhbmRhcmQgSTJDCi10ZW1wZXJhdHVyZSBzZW5zb3JzIGFyZSBtb3N0IGxpa2VseSBvbiB0aGUgODAxJ3MgSTJDIGJ1cy4gWW91IHdhbnQgdGhlCi1pMmMtaTgwMSBkcml2ZXIgZm9yIHRob3NlLCBub3QgdGhpcyBkcml2ZXIuCi0KLU5vdyBmb3IgdGhlIGkyYy1pODEwLi4uCi0KLVRoZSBHTUNIIGNoaXAgY29udGFpbnMgdHdvIEkyQyBpbnRlcmZhY2VzLgotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4KLQotVGhlIHNlY29uZCBpbnRlcmZhY2UgaXMgYSBnZW5lcmFsLXB1cnBvc2UgSTJDIGJ1cy4gSXQgbWF5IGJlIGNvbm5lY3RlZCB0byBhCi1UVi1vdXQgY2hpcCBzdWNoIGFzIHRoZSBCVDg2OSBvciBwb3NzaWJseSB0byBhIGRpZ2l0YWwgZmxhdC1wYW5lbCBkaXNwbGF5LgotCi1GZWF0dXJlcwotLS0tLS0tLS0gCi0KLUJvdGggYnVzc2VzIHVzZSB0aGUgaTJjLWFsZ28tYml0IGRyaXZlciBmb3IgJ2JpdCBiYW5naW5nJwotYW5kIHN1cHBvcnQgZm9yIHNwZWNpZmljIHRyYW5zYWN0aW9ucyBpcyBwcm92aWRlZCBieSBpMmMtYWxnby1iaXQuCi0KLUlzc3VlcwotLS0tLS0tCi0KLUlmIHlvdSBlbmFibGUgYnVzIHRlc3RpbmcgaW4gaTJjLWFsZ28tYml0IChpbnNtb2QgaTJjLWFsZ28tYml0IGJpdF90ZXN0PTEpLAotdGhlIHRlc3QgbWF5IGZhaWw7IGlmIHNvLCB0aGUgaTJjLWk4MTAgZHJpdmVyIHdvbid0IGJlIGluc2VydGVkLiBIb3dldmVyLAotd2UgdGhpbmsgdGhpcyBoYXMgYmVlbiBmaXhlZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlIGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwMzY4NzkuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1LZXJuZWwgZHJpdmVyIGkyYy1wcm9zYXZhZ2UKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotCQotCVMzL1ZJQSBLTTI2Ni9WVDgzNzUgYWthIFByb1NhdmFnZTggCi0JUzMvVklBIEtNMTMzL1ZUODM2NSBha2EgU2F2YWdlNCAKLQotQXV0aG9yOiBIZW5rIFZlcmdvbmV0IDxoZW5rQGdvZC5keW5kbnMub3JnPgotCi1EZXNjcmlwdGlvbgotLS0tLS0tLS0tLS0KLQotVGhlIFNhdmFnZTQgY2hpcHMgY29udGFpbiB0d28gSTJDIGludGVyZmFjZXMgKGFrYSBhIEkyQyAnbWFzdGVyJyBvcgotJ2hvc3QnKS4gCi0KLVRoZSBmaXJzdCBpbnRlcmZhY2UgaXMgdXNlZCBmb3IgRERDIChEYXRhIERpc3BsYXkgQ2hhbm5lbCkgd2hpY2ggaXMgYQotc2VyaWFsIGNoYW5uZWwgdGhyb3VnaCB0aGUgVkdBIG1vbml0b3IgY29ubmVjdG9yIHRvIGEgRERDLWNvbXBsaWFudAotbW9uaXRvci4gVGhpcyBpbnRlcmZhY2UgaXMgZGVmaW5lZCBieSB0aGUgVmlkZW8gRWxlY3Ryb25pY3MgU3RhbmRhcmRzCi1Bc3NvY2lhdGlvbiAoVkVTQSkuIFRoZSBzdGFuZGFyZHMgYXJlIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UgYXQKLWh0dHA6Ly93d3cudmVzYS5vcmcgLiBUaGUgc2Vjb25kIGludGVyZmFjZSBpcyBhIGdlbmVyYWwtcHVycG9zZSBJMkMgYnVzLgotCi1Vc2VmdWxsIGZvciBnYWluaW5nIGFjY2VzcyB0byB0aGUgVFYgRW5jb2RlciBjaGlwcy4KLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0IGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWNjZWFiLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUtlcm5lbCBkcml2ZXIgaTJjLXNhdmFnZTQKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotICAqIFNhdmFnZTQKLSAgKiBTYXZhZ2UyMDAwCi0KLUF1dGhvcnM6IAotCUFsZXhhbmRlciBXb2xkIDxhd29sZEBiaWdmb290LmNvbT4sCi0JTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiAKLQotRGVzY3JpcHRpb24KLS0tLS0tLS0tLS0tCi0KLVRoZSBTYXZhZ2U0IGNoaXBzIGNvbnRhaW4gdHdvIEkyQyBpbnRlcmZhY2VzIChha2EgYSBJMkMgJ21hc3RlcicKLW9yICdob3N0JykuIAotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4gVGhlIEREQyBidXMgaXMgbm90IHlldCBzdXBwb3J0ZWQgYmVjYXVzZSBpdHMgcmVnaXN0ZXIKLWlzIG5vdCBkaXJlY3RseSBtZW1vcnktbWFwcGVkLgotCi1UaGUgc2Vjb25kIGludGVyZmFjZSBpcyBhIGdlbmVyYWwtcHVycG9zZSBJMkMgYnVzLiBUaGlzIGlzIHRoZSBvbmx5Ci1pbnRlcmZhY2Ugc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgYXQgdGhlIG1vbWVudC4KLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMgYi9Eb2N1bWVudGF0aW9uL2kyYy9mYXVsdC1jb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDU3NjVjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMKQEAgLTAsMCArMSwxMjcgQEAKK1RoaXMgaXMgYSBzdW1tYXJ5IG9mIHRoZSBtb3N0IGltcG9ydGFudCBjb252ZW50aW9ucyBmb3IgdXNlIG9mIGZhdWx0Citjb2RlcyBpbiB0aGUgSTJDL1NNQnVzIHN0YWNrLgorCisKK0EgIkZhdWx0IiBpcyBub3QgYWx3YXlzIGFuICJFcnJvciIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK05vdCBhbGwgZmF1bHQgcmVwb3J0cyBpbXBseSBlcnJvcnM7ICJwYWdlIGZhdWx0cyIgc2hvdWxkIGJlIGEgZmFtaWxpYXIKK2V4YW1wbGUuICBTb2Z0d2FyZSBvZnRlbiByZXRyaWVzIGlkZW1wb3RlbnQgb3BlcmF0aW9ucyBhZnRlciB0cmFuc2llbnQKK2ZhdWx0cy4gIFRoZXJlIG1heSBiZSBmYW5jaWVyIHJlY292ZXJ5IHNjaGVtZXMgdGhhdCBhcmUgYXBwcm9wcmlhdGUgaW4KK3NvbWUgY2FzZXMsIHN1Y2ggYXMgcmUtaW5pdGlhbGl6aW5nIChhbmQgbWF5YmUgcmVzZXR0aW5nKS4gIEFmdGVyIHN1Y2gKK3JlY292ZXJ5LCB0cmlnZ2VyZWQgYnkgYSBmYXVsdCByZXBvcnQsIHRoZXJlIGlzIG5vIGVycm9yLgorCitJbiBhIHNpbWlsYXIgd2F5LCBzb21ldGltZXMgYSAiZmF1bHQiIGNvZGUganVzdCByZXBvcnRzIG9uZSBkZWZpbmVkCityZXN1bHQgZm9yIGFuIG9wZXJhdGlvbiAuLi4gaXQgZG9lc24ndCBpbmRpY2F0ZSB0aGF0IGFueXRoaW5nIGlzIHdyb25nCithdCBhbGwsIGp1c3QgdGhhdCB0aGUgb3V0Y29tZSB3YXNuJ3Qgb24gdGhlICJnb2xkZW4gcGF0aCIuCisKK0luIHNob3J0LCB5b3VyIEkyQyBkcml2ZXIgY29kZSBtYXkgbmVlZCB0byBrbm93IHRoZXNlIGNvZGVzIGluIG9yZGVyCit0byByZXNwb25kIGNvcnJlY3RseS4gIE90aGVyIGNvZGUgbWF5IG5lZWQgdG8gcmVseSBvbiBZT1VSIGNvZGUgcmVwb3J0aW5nCit0aGUgcmlnaHQgZmF1bHQgY29kZSwgc28gdGhhdCBpdCBjYW4gKGluIHR1cm4pIGJlaGF2ZSBjb3JyZWN0bHkuCisKKworSTJDIGFuZCBTTUJ1cyBmYXVsdCBjb2RlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhlc2UgYXJlIHJldHVybmVkIGFzIG5lZ2F0aXZlIG51bWJlcnMgZnJvbSBtb3N0IGNhbGxzLCB3aXRoIHplcm8gb3IKK3NvbWUgcG9zaXRpdmUgbnVtYmVyIGluZGljYXRpbmcgYSBub24tZmF1bHQgcmV0dXJuLiAgVGhlIHNwZWNpZmljCitudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGVzZSBzeW1ib2xzIGRpZmZlciBiZXR3ZWVuIGFyY2hpdGVjdHVyZXMsCit0aG91Z2ggbW9zdCBMaW51eCBzeXN0ZW1zIHVzZSA8YXNtLWdlbmVyaWMvZXJybm8qLmg+IG51bWJlcmluZy4KKworTm90ZSB0aGF0IHRoZSBkZXNjcmlwdGlvbnMgaGVyZSBhcmUgbm90IGV4aGF1c3RpdmUuICBUaGVyZSBhcmUgb3RoZXIKK2NvZGVzIHRoYXQgbWF5IGJlIHJldHVybmVkLCBhbmQgb3RoZXIgY2FzZXMgd2hlcmUgdGhlc2UgY29kZXMgc2hvdWxkCitiZSByZXR1cm5lZC4gIEhvd2V2ZXIsIGRyaXZlcnMgc2hvdWxkIG5vdCByZXR1cm4gb3RoZXIgY29kZXMgZm9yIHRoZXNlCitjYXNlcyAodW5sZXNzIHRoZSBoYXJkd2FyZSBkb2Vzbid0IHByb3ZpZGUgdW5pcXVlIGZhdWx0IHJlcG9ydHMpLgorCitBbHNvLCBjb2RlcyByZXR1cm5lZCBieSBhZGFwdGVyIHByb2JlIG1ldGhvZHMgZm9sbG93IHJ1bGVzIHdoaWNoIGFyZQorc3BlY2lmaWMgdG8gdGhlaXIgaG9zdCBidXMgKHN1Y2ggYXMgUENJLCBvciB0aGUgcGxhdGZvcm0gYnVzKS4KKworCitFQUdBSU4KKwlSZXR1cm5lZCBieSBJMkMgYWRhcHRlcnMgd2hlbiB0aGV5IGxvc2UgYXJiaXRyYXRpb24gaW4gbWFzdGVyCisJdHJhbnNtaXQgbW9kZTogIHNvbWUgb3RoZXIgbWFzdGVyIHdhcyB0cmFuc21pdHRpbmcgZGlmZmVyZW50CisJZGF0YSBhdCB0aGUgc2FtZSB0aW1lLgorCisJQWxzbyByZXR1cm5lZCB3aGVuIHRyeWluZyB0byBpbnZva2UgYW4gSTJDIG9wZXJhdGlvbiBpbiBhbgorCWF0b21pYyBjb250ZXh0LCB3aGVuIHNvbWUgdGFzayBpcyBhbHJlYWR5IHVzaW5nIHRoYXQgSTJDIGJ1cworCXRvIGV4ZWN1dGUgc29tZSBvdGhlciBvcGVyYXRpb24uCisKK0VCQURNU0cKKwlSZXR1cm5lZCBieSBTTUJ1cyBsb2dpYyB3aGVuIGFuIGludmFsaWQgUGFja2V0IEVycm9yIENvZGUgYnl0ZQorCWlzIHJlY2VpdmVkLiAgVGhpcyBjb2RlIGlzIGEgQ1JDIGNvdmVyaW5nIGFsbCBieXRlcyBpbiB0aGUKKwl0cmFuc2FjdGlvbiwgYW5kIGlzIHNlbnQgYmVmb3JlIHRoZSB0ZXJtaW5hdGluZyBTVE9QLiAgVGhpcworCWZhdWx0IGlzIG9ubHkgcmVwb3J0ZWQgb24gcmVhZCB0cmFuc2FjdGlvbnM7IHRoZSBTTUJ1cyBzbGF2ZQorCW1heSBoYXZlIGEgd2F5IHRvIHJlcG9ydCBQRUMgbWlzbWF0Y2hlcyBvbiB3cml0ZXMgZnJvbSB0aGUKKwlob3N0LiAgTm90ZSB0aGF0IGV2ZW4gaWYgUEVDcyBhcmUgaW4gdXNlLCB5b3Ugc2hvdWxkIG5vdCByZWx5CisJb24gdGhlc2UgYXMgdGhlIG9ubHkgd2F5IHRvIGRldGVjdCBpbmNvcnJlY3QgZGF0YSB0cmFuc2ZlcnMuCisKK0VCVVNZCisJUmV0dXJuZWQgYnkgU01CdXMgYWRhcHRlcnMgd2hlbiB0aGUgYnVzIHdhcyBidXN5IGZvciBsb25nZXIKKwl0aGFuIGFsbG93ZWQuICBUaGlzIHVzdWFsbHkgaW5kaWNhdGVzIHNvbWUgZGV2aWNlIChtYXliZSB0aGUKKwlTTUJ1cyBhZGFwdGVyKSBuZWVkcyBzb21lIGZhdWx0IHJlY292ZXJ5IChzdWNoIGFzIHJlc2V0dGluZyksCisJb3IgdGhhdCB0aGUgcmVzZXQgd2FzIGF0dGVtcHRlZCBidXQgZmFpbGVkLgorCitFSU5WQUwKKwlUaGlzIHJhdGhlciB2YWd1ZSBlcnJvciBtZWFucyBhbiBpbnZhbGlkIHBhcmFtZXRlciBoYXMgYmVlbgorCWRldGVjdGVkIGJlZm9yZSBhbnkgSS9PIG9wZXJhdGlvbiB3YXMgc3RhcnRlZC4gIFVzZSBhIG1vcmUKKwlzcGVjaWZpYyBmYXVsdCBjb2RlIHdoZW4geW91IGNhbi4KKworCU9uZSBleGFtcGxlIHdvdWxkIGJlIGEgZHJpdmVyIHRyeWluZyBhbiBTTUJ1cyBCbG9jayBXcml0ZQorCXdpdGggYmxvY2sgc2l6ZSBvdXRzaWRlIHRoZSByYW5nZSBvZiAxLTMyIGJ5dGVzLgorCitFSU8KKwlUaGlzIHJhdGhlciB2YWd1ZSBlcnJvciBtZWFucyBzb21ldGhpbmcgd2VudCB3cm9uZyB3aGVuCisJcGVyZm9ybWluZyBhbiBJL08gb3BlcmF0aW9uLiAgVXNlIGEgbW9yZSBzcGVjaWZpYyBmYXVsdAorCWNvZGUgd2hlbiB5b3UgY2FuLgorCitFTk9ERVYKKwlSZXR1cm5lZCBieSBkcml2ZXIgcHJvYmUoKSBtZXRob2RzLiAgVGhpcyBpcyBhIGJpdCBtb3JlCisJc3BlY2lmaWMgdGhhbiBFTlhJTywgaW1wbHlpbmcgdGhlIHByb2JsZW0gaXNuJ3Qgd2l0aCB0aGUKKwlhZGRyZXNzLCBidXQgd2l0aCB0aGUgZGV2aWNlIGZvdW5kIHRoZXJlLiAgRHJpdmVyIHByb2JlcworCW1heSB2ZXJpZnkgdGhlIGRldmljZSByZXR1cm5zICpjb3JyZWN0KiByZXNwb25zZXMsIGFuZAorCXJldHVybiB0aGlzIGFzIGFwcHJvcHJpYXRlLiAgKFRoZSBkcml2ZXIgY29yZSB3aWxsIHdhcm4KKwlhYm91dCBwcm9iZSBmYXVsdHMgb3RoZXIgdGhhbiBFTlhJTyBhbmQgRU5PREVWLikKKworRU5PTUVNCisJUmV0dXJuZWQgYnkgYW55IGNvbXBvbmVudCB0aGF0IGNhbid0IGFsbG9jYXRlIG1lbW9yeSB3aGVuCisJaXQgbmVlZHMgdG8gZG8gc28uCisKK0VOWElPCisJUmV0dXJuZWQgYnkgSTJDIGFkYXB0ZXJzIHRvIGluZGljYXRlIHRoYXQgdGhlIGFkZHJlc3MgcGhhc2UKKwlvZiBhIHRyYW5zZmVyIGRpZG4ndCBnZXQgYW4gQUNLLiAgV2hpbGUgaXQgbWlnaHQganVzdCBtZWFuCisJYW4gSTJDIGRldmljZSB3YXMgdGVtcG9yYXJpbHkgbm90IHJlc3BvbmRpbmcsIHVzdWFsbHkgaXQKKwltZWFucyB0aGVyZSdzIG5vdGhpbmcgbGlzdGVuaW5nIGF0IHRoYXQgYWRkcmVzcy4KKworCVJldHVybmVkIGJ5IGRyaXZlciBwcm9iZSgpIG1ldGhvZHMgdG8gaW5kaWNhdGUgdGhhdCB0aGV5CisJZm91bmQgbm8gZGV2aWNlIHRvIGJpbmQgdG8uICAoRU5PREVWIG1heSBhbHNvIGJlIHVzZWQuKQorCitFT1BOT1RTVVBQCisJUmV0dXJuZWQgYnkgYW4gYWRhcHRlciB3aGVuIGFza2VkIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uCisJdGhhdCBpdCBkb2Vzbid0LCBvciBjYW4ndCwgc3VwcG9ydC4KKworCUZvciBleGFtcGxlLCB0aGlzIHdvdWxkIGJlIHJldHVybmVkIHdoZW4gYW4gYWRhcHRlciB0aGF0CisJZG9lc24ndCBzdXBwb3J0IFNNQnVzIGJsb2NrIHRyYW5zZmVycyBpcyBhc2tlZCB0byBleGVjdXRlCisJb25lLiAgSW4gdGhhdCBjYXNlLCB0aGUgZHJpdmVyIG1ha2luZyB0aGF0IHJlcXVlc3Qgc2hvdWxkCisJaGF2ZSB2ZXJpZmllZCB0aGF0IGZ1bmN0aW9uYWxpdHkgd2FzIHN1cHBvcnRlZCBiZWZvcmUgaXQKKwltYWRlIHRoYXQgYmxvY2sgdHJhbnNmZXIgcmVxdWVzdC4KKworCVNpbWlsYXJseSwgaWYgYW4gSTJDIGFkYXB0ZXIgY2FuJ3QgZXhlY3V0ZSBhbGwgbGVnYWwgSTJDCisJbWVzc2FnZXMsIGl0IHNob3VsZCByZXR1cm4gdGhpcyB3aGVuIGFza2VkIHRvIHBlcmZvcm0gYQorCXRyYW5zYWN0aW9uIGl0IGNhbid0LiAgKFRoZXNlIGxpbWl0YXRpb25zIGNhbid0IGJlIHNlZW4gaW4KKwl0aGUgYWRhcHRlcidzIGZ1bmN0aW9uYWxpdHkgbWFzaywgc2luY2UgdGhlIGFzc3VtcHRpb24gaXMKKwl0aGF0IGlmIGFuIGFkYXB0ZXIgc3VwcG9ydHMgSTJDIGl0IHN1cHBvcnRzIGFsbCBvZiBJMkMuKQorCitFUFJPVE8KKwlSZXR1cm5lZCB3aGVuIHNsYXZlIGRvZXMgbm90IGNvbmZvcm0gdG8gdGhlIHJlbGV2YW50IEkyQworCW9yIFNNQnVzIChvciBjaGlwLXNwZWNpZmljKSBwcm90b2NvbCBzcGVjaWZpY2F0aW9ucy4gIE9uZQorCWNhc2UgaXMgd2hlbiB0aGUgbGVuZ3RoIG9mIGFuIFNNQnVzIGJsb2NrIGRhdGEgcmVzcG9uc2UKKwkoZnJvbSB0aGUgU01CdXMgc2xhdmUpIGlzIG91dHNpZGUgdGhlIHJhbmdlIDEtMzIgYnl0ZXMuCisKK0VUSU1FRE9VVAorCVRoaXMgaXMgcmV0dXJuZWQgYnkgZHJpdmVycyB3aGVuIGFuIG9wZXJhdGlvbiB0b29rIHRvbyBtdWNoCisJdGltZSwgYW5kIHdhcyBhYm9ydGVkIGJlZm9yZSBpdCBjb21wbGV0ZWQuCisKKwlTTUJ1cyBhZGFwdGVycyBtYXkgcmV0dXJuIGl0IHdoZW4gYW4gb3BlcmF0aW9uIHRvb2sgbW9yZQorCXRpbWUgdGhhbiBhbGxvd2VkIGJ5IHRoZSBTTUJ1cyBzcGVjaWZpY2F0aW9uOyBmb3IgZXhhbXBsZSwKKwl3aGVuIGEgc2xhdmUgc3RyZXRjaGVzIGNsb2NrcyB0b28gZmFyLiAgSTJDIGhhcyBubyBzdWNoCisJdGltZW91dHMsIGJ1dCBpdCdzIG5vcm1hbCBmb3IgSTJDIGFkYXB0ZXJzIHRvIGltcG9zZSBzb21lCisJYXJiaXRyYXJ5IGxpbWl0cyAobXVjaCBsb25nZXIgdGhhbiBTTUJ1cyEpIHRvby4KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wgYi9Eb2N1bWVudGF0aW9uL2kyYy9zbWJ1cy1wcm90b2NvbAppbmRleCAwM2YwOGZiLi4yNGJmYjY1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2kyYy9zbWJ1cy1wcm90b2NvbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9zbWJ1cy1wcm90b2NvbApAQCAtNDIsOCArNDIsOCBAQAogWy4uXTogRGF0YSBzZW50IGJ5IEkyQyBkZXZpY2UsIGFzIG9wcG9zZWQgdG8gZGF0YSBzZW50IGJ5IHRoZSBob3N0IGFkYXB0ZXIuCiAKIAotU01CdXMgUXVpY2sgQ29tbWFuZDogIGkyY19zbWJ1c193cml0ZV9xdWljaygpCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1NNQnVzIFF1aWNrIENvbW1hbmQKKz09PT09PT09PT09PT09PT09PT0KIAogVGhpcyBzZW5kcyBhIHNpbmdsZSBiaXQgdG8gdGhlIGRldmljZSwgYXQgdGhlIHBsYWNlIG9mIHRoZSBSZC9XciBiaXQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL3dyaXRpbmctY2xpZW50cyBiL0RvY3VtZW50YXRpb24vaTJjL3dyaXRpbmctY2xpZW50cwppbmRleCBkNGNkNDEyLi42YjYxYjNhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2kyYy93cml0aW5nLWNsaWVudHMKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvd3JpdGluZy1jbGllbnRzCkBAIC00NCw2ICs0NCwxMCBAQAogCS5pZF90YWJsZQk9IGZvb19pZHMsCiAJLnByb2JlCQk9IGZvb19wcm9iZSwKIAkucmVtb3ZlCQk9IGZvb19yZW1vdmUsCisJLyogaWYgZGV2aWNlIGF1dG9kZXRlY3Rpb24gaXMgbmVlZGVkOiAqLworCS5jbGFzcwkJPSBJMkNfQ0xBU1NfU09NRVRISU5HLAorCS5kZXRlY3QJCT0gZm9vX2RldGVjdCwKKwkuYWRkcmVzc19kYXRhCT0gJmFkZHJfZGF0YSwKIAogCS8qIGVsc2UsIGRyaXZlciB1c2VzICJsZWdhY3kiIGJpbmRpbmcgbW9kZWw6ICovCiAJLmF0dGFjaF9hZGFwdGVyCT0gZm9vX2F0dGFjaF9hZGFwdGVyLApAQCAtMjE3LDYgKzIyMSwzMSBAQAogcmVmZXJlbmNlIGZvciBsYXRlciB1c2UuCiAKIAorRGV2aWNlIERldGVjdGlvbiAoU3RhbmRhcmQgZHJpdmVyIG1vZGVsKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitTb21ldGltZXMgeW91IGRvIG5vdCBrbm93IGluIGFkdmFuY2Ugd2hpY2ggSTJDIGRldmljZXMgYXJlIGNvbm5lY3RlZCB0bworYSBnaXZlbiBJMkMgYnVzLiAgVGhpcyBpcyBmb3IgZXhhbXBsZSB0aGUgY2FzZSBvZiBoYXJkd2FyZSBtb25pdG9yaW5nCitkZXZpY2VzIG9uIGEgUEMncyBTTUJ1cy4gIEluIHRoYXQgY2FzZSwgeW91IG1heSB3YW50IHRvIGxldCB5b3VyIGRyaXZlcgorZGV0ZWN0IHN1cHBvcnRlZCBkZXZpY2VzIGF1dG9tYXRpY2FsbHkuICBUaGlzIGlzIGhvdyB0aGUgbGVnYWN5IG1vZGVsCit3YXMgd29ya2luZywgYW5kIGlzIG5vdyBhdmFpbGFibGUgYXMgYW4gZXh0ZW5zaW9uIHRvIHRoZSBzdGFuZGFyZAorZHJpdmVyIG1vZGVsIChzbyB0aGF0IHdlIGNhbiBmaW5hbGx5IGdldCByaWQgb2YgdGhlIGxlZ2FjeSBtb2RlbC4pCisKK1lvdSBzaW1wbHkgaGF2ZSB0byBkZWZpbmUgYSBkZXRlY3QgY2FsbGJhY2sgd2hpY2ggd2lsbCBhdHRlbXB0IHRvCitpZGVudGlmeSBzdXBwb3J0ZWQgZGV2aWNlcyAocmV0dXJuaW5nIDAgZm9yIHN1cHBvcnRlZCBvbmVzIGFuZCAtRU5PREVWCitmb3IgdW5zdXBwb3J0ZWQgb25lcyksIGEgbGlzdCBvZiBhZGRyZXNzZXMgdG8gcHJvYmUsIGFuZCBhIGRldmljZSB0eXBlCisob3IgY2xhc3MpIHNvIHRoYXQgb25seSBJMkMgYnVzZXMgd2hpY2ggbWF5IGhhdmUgdGhhdCB0eXBlIG9mIGRldmljZQorY29ubmVjdGVkIChhbmQgbm90IG90aGVyd2lzZSBlbnVtZXJhdGVkKSB3aWxsIGJlIHByb2JlZC4gIFRoZSBpMmMKK2NvcmUgd2lsbCB0aGVuIGNhbGwgeW91IGJhY2sgYXMgbmVlZGVkIGFuZCB3aWxsIGluc3RhbnRpYXRlIGEgZGV2aWNlCitmb3IgeW91IGZvciBldmVyeSBzdWNjZXNzZnVsIGRldGVjdGlvbi4KKworTm90ZSB0aGF0IHRoaXMgbWVjaGFuaXNtIGlzIHB1cmVseSBvcHRpb25hbCBhbmQgbm90IHN1aXRhYmxlIGZvciBhbGwKK2RldmljZXMuICBZb3UgbmVlZCBzb21lIHJlbGlhYmxlIHdheSB0byBpZGVudGlmeSB0aGUgc3VwcG9ydGVkIGRldmljZXMKKyh0eXBpY2FsbHkgdXNpbmcgZGV2aWNlLXNwZWNpZmljLCBkZWRpY2F0ZWQgaWRlbnRpZmljYXRpb24gcmVnaXN0ZXJzKSwKK290aGVyd2lzZSBtaXNkZXRlY3Rpb25zIGFyZSBsaWtlbHkgdG8gb2NjdXIgYW5kIHRoaW5ncyBjYW4gZ2V0IHdyb25nCitxdWlja2x5LgorCisKIERldmljZSBEZWxldGlvbiAoU3RhbmRhcmQgZHJpdmVyIG1vZGVsKQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTU2OSw3ICs1OTgsNiBAQAogICBpbiB0ZXJtcyBvZiBpdC4gTmV2ZXIgdXNlIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkhCiAKIAotICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCB2YWx1ZSk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCBjb21tYW5kKTsKQEAgLTU3OCwzMCArNjA2LDMxIEBACiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfd29yZF9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCBjb21tYW5kKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfd29yZF9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTE2IHZhbHVlKTsKKyAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggKnZhbHVlcyk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4ICp2YWx1ZXMpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2kyY19ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwgdTggKnZhbHVlcyk7Ci0KLVRoZXNlIG9uZXMgd2VyZSByZW1vdmVkIGluIExpbnV4IDIuNi4xMCBiZWNhdXNlIHRoZXkgaGFkIG5vIHVzZXJzLCBidXQgY291bGQKLWJlIGFkZGVkIGJhY2sgbGF0ZXIgaWYgbmVlZGVkOgotCi0gIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4ICp2YWx1ZXMpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9pMmNfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCAqdmFsdWVzKTsKKworVGhlc2Ugb25lcyB3ZXJlIHJlbW92ZWQgZnJvbSBpMmMtY29yZSBiZWNhdXNlIHRoZXkgaGFkIG5vIHVzZXJzLCBidXQgY291bGQKK2JlIGFkZGVkIGJhY2sgbGF0ZXIgaWYgbmVlZGVkOgorCisgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX3F1aWNrKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCB2YWx1ZSk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3Byb2Nlc3NfY2FsbChzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHUxNiB2YWx1ZSk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX2Jsb2NrX3Byb2Nlc3NfY2FsbChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggKnZhbHVlcykKIAotQWxsIHRoZXNlIHRyYW5zYWN0aW9ucyByZXR1cm4gLTEgb24gZmFpbHVyZS4gVGhlICd3cml0ZScgdHJhbnNhY3Rpb25zIAotcmV0dXJuIDAgb24gc3VjY2VzczsgdGhlICdyZWFkJyB0cmFuc2FjdGlvbnMgcmV0dXJuIHRoZSByZWFkIHZhbHVlLCBleGNlcHQgCi1mb3IgcmVhZF9ibG9jaywgd2hpY2ggcmV0dXJucyB0aGUgbnVtYmVyIG9mIHZhbHVlcyByZWFkLiBUaGUgYmxvY2sgYnVmZmVycyAKLW5lZWQgbm90IGJlIGxvbmdlciB0aGFuIDMyIGJ5dGVzLgorQWxsIHRoZXNlIHRyYW5zYWN0aW9ucyByZXR1cm4gYSBuZWdhdGl2ZSBlcnJubyB2YWx1ZSBvbiBmYWlsdXJlLiBUaGUgJ3dyaXRlJwordHJhbnNhY3Rpb25zIHJldHVybiAwIG9uIHN1Y2Nlc3M7IHRoZSAncmVhZCcgdHJhbnNhY3Rpb25zIHJldHVybiB0aGUgcmVhZAordmFsdWUsIGV4Y2VwdCBmb3IgYmxvY2sgdHJhbnNhY3Rpb25zLCB3aGljaCByZXR1cm4gdGhlIG51bWJlciBvZiB2YWx1ZXMKK3JlYWQuIFRoZSBibG9jayBidWZmZXJzIG5lZWQgbm90IGJlIGxvbmdlciB0aGFuIDMyIGJ5dGVzLgogCiBZb3UgY2FuIHJlYWQgdGhlIGZpbGUgYHNtYnVzLXByb3RvY29sJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUKIGFjdHVhbCBTTUJ1cyBwcm90b2NvbC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaW9jdGwtbnVtYmVyLnR4dCBiL0RvY3VtZW50YXRpb24vaW9jdGwtbnVtYmVyLnR4dAppbmRleCAyNDBjZTdhLi4zYmI1ZjQ2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2lvY3RsLW51bWJlci50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9pb2N0bC1udW1iZXIudHh0CkBAIC0xMTcsNiArMTE3LDcgQEAKIAkJCQkJPG1haWx0bzpuYXRhbGlhQG5pa2hlZmsubmlraGVmLm5sPgogJ2MnCTAwLTdGCWxpbnV4L2NvbXN0YXRzLmgJY29uZmxpY3QhCiAnYycJMDAtN0YJbGludXgvY29kYS5oCQljb25mbGljdCEKKydjJwk4MC05Rglhc20tczM5MC9jaHNjLmgKICdkJwkwMC1GRglsaW51eC9jaGFyL2RybS9kcm0vaAljb25mbGljdCEKICdkJwkwMC1ERglsaW51eC92aWRlb19kZWNvZGVyLmgJY29uZmxpY3QhCiAnZCcJRjAtRkYJbGludXgvZGlnaTEuaApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9rZHVtcC9rZHVtcC50eHQgYi9Eb2N1bWVudGF0aW9uL2tkdW1wL2tkdW1wLnR4dAppbmRleCBiOGU1MmMwLi45NjkxYzdmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2tkdW1wL2tkdW1wLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2tkdW1wL2tkdW1wLnR4dApAQCAtMTA5LDcgKzEwOSw3IEBACiAyKSBPciB1c2UgdGhlIHN5c3RlbSBrZXJuZWwgYmluYXJ5IGl0c2VsZiBhcyBkdW1wLWNhcHR1cmUga2VybmVsIGFuZCB0aGVyZSBpcwogICAgbm8gbmVlZCB0byBidWlsZCBhIHNlcGFyYXRlIGR1bXAtY2FwdHVyZSBrZXJuZWwuIFRoaXMgaXMgcG9zc2libGUKICAgIG9ubHkgd2l0aCB0aGUgYXJjaGl0ZWN1dHJlcyB3aGljaCBzdXBwb3J0IGEgcmVsb2NhdGFibGUga2VybmVsLiBBcwotICAgb2YgdG9kYXkgaTM4NiBhbmQgaWE2NCBhcmNoaXRlY3R1cmVzIHN1cHBvcnQgcmVsb2NhdGFibGUga2VybmVsLgorICAgb2YgdG9kYXksIGkzODYsIHg4Nl82NCBhbmQgaWE2NCBhcmNoaXRlY3R1cmVzIHN1cHBvcnQgcmVsb2NhdGFibGUga2VybmVsLgogCiBCdWlsZGluZyBhIHJlbG9jYXRhYmxlIGtlcm5lbCBpcyBhZHZhbnRhZ2VvdXMgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyB0aGF0CiBvbmUgZG9lcyBub3QgaGF2ZSB0byBidWlsZCBhIHNlY29uZCBrZXJuZWwgZm9yIGNhcHR1cmluZyB0aGUgZHVtcC4gQnV0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dCBiL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0CmluZGV4IGI1MmY0N2QuLjMxMmZlNzcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0CkBAIC0yNzEsNiArMjcxLDE3IEBACiAJYWljNzl4eD0JW0hXLFNDU0ldCiAJCQlTZWUgRG9jdW1lbnRhdGlvbi9zY3NpL2FpYzc5eHgudHh0LgogCisJYW1kX2lvbW11PQlbSFcsWDg2LTg0XQorCQkJUGFzcyBwYXJhbWV0ZXJzIHRvIHRoZSBBTUQgSU9NTVUgZHJpdmVyIGluIHRoZSBzeXN0ZW0uCisJCQlQb3NzaWJsZSB2YWx1ZXMgYXJlOgorCQkJaXNvbGF0ZSAtIGVuYWJsZSBkZXZpY2UgaXNvbGF0aW9uIChlYWNoIGRldmljZSwgYXMgZmFyCisJCQkgICAgICAgICAgYXMgcG9zc2libGUsIHdpbGwgZ2V0IGl0cyBvd24gcHJvdGVjdGlvbgorCQkJICAgICAgICAgIGRvbWFpbikKKwlhbWRfaW9tbXVfc2l6ZT0gW0hXLFg4Ni02NF0KKwkJCURlZmluZSB0aGUgc2l6ZSBvZiB0aGUgYXBlcnR1cmUgZm9yIHRoZSBBTUQgSU9NTVUKKwkJCWRyaXZlci4gUG9zc2libGUgdmFsdWVzIGFyZToKKwkJCSczMk0nLCAnNjRNJyAoZGVmYXVsdCksICcxMjhNJywgJzI1Nk0nLCAnNTEyTScsICcxRycKKwogCWFtaWpveS5tYXA9CVtIVyxKT1ldIEFtaWdhIGpveXN0aWNrIHN1cHBvcnQKIAkJCU1hcCBvZiBkZXZpY2VzIGF0dGFjaGVkIHRvIEpPWTBEQVQgYW5kIEpPWTFEQVQKIAkJCUZvcm1hdDogPGE+LDxiPgpAQCAtNTYwLDYgKzU3MSw4IEBACiAKIAlkZWJ1Z19vYmplY3RzCVtLTkxdIEVuYWJsZSBvYmplY3QgZGVidWdnaW5nCiAKKwlkZWJ1Z3BhdAlbWDg2XSBFbmFibGUgUEFUIGRlYnVnZ2luZworCiAJZGVjbmV0LmFkZHI9CVtIVyxORVRdCiAJCQlGb3JtYXQ6IDxhcmVhPlssPG5vZGU+XQogCQkJU2VlIGFsc28gRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RlY25ldC50eHQuCkBAIC01OTksNiArNjEyLDI5IEBACiAJCQlTZWUgZHJpdmVycy9jaGFyL1JFQURNRS5lcGNhIGFuZAogCQkJRG9jdW1lbnRhdGlvbi9kaWdpZXBjYS50eHQuCiAKKwlkaXNhYmxlX210cnJfY2xlYW51cCBbWDg2XQorCWVuYWJsZV9tdHJyX2NsZWFudXAgW1g4Nl0KKwkJCVRoZSBrZXJuZWwgdHJpZXMgdG8gYWRqdXN0IE1UUlIgbGF5b3V0IGZyb20gY29udGludW91cworCQkJdG8gZGlzY3JldGUsIHRvIG1ha2UgWCBzZXJ2ZXIgZHJpdmVyIGFibGUgdG8gYWRkIFdCCisJCQllbnRyeSBsYXRlci4gVGhpcyBwYXJhbWV0ZXIgZW5hYmxlcy9kaXNhYmxlcyB0aGF0LgorCisJbXRycl9jaHVua19zaXplPW5uW0tNR10gW1g4Nl0KKwkJCXVzZWQgZm9yIG10cnIgY2xlYW51cC4gSXQgaXMgbGFyZ2VzdCBjb250aW5vdXMgY2h1bmsKKwkJCXRoYXQgY291bGQgaG9sZCBob2xlcyBha2EuIFVDIGVudHJpZXMuCisKKwltdHJyX2dyYW5fc2l6ZT1ubltLTUddIFtYODZdCisJCQlVc2VkIGZvciBtdHJyIGNsZWFudXAuIEl0IGlzIGdyYW51bGFyaXR5IG9mIG10cnIgYmxvY2suCisJCQlEZWZhdWx0IGlzIDEuCisJCQlMYXJnZSB2YWx1ZSBjb3VsZCBwcmV2ZW50IHNtYWxsIGFsaWdubWVudCBmcm9tCisJCQl1c2luZyB1cCBNVFJScy4KKworCW10cnJfc3BhcmVfcmVnX25yPW4gW1g4Nl0KKwkJCUZvcm1hdDogPGludGVnZXI+CisJCQlSYW5nZTogMCw3IDogc3BhcmUgcmVnIG51bWJlcgorCQkJRGVmYXVsdCA6IDEKKwkJCVVzZWQgZm9yIG10cnIgY2xlYW51cC4gSXQgaXMgc3BhcmUgbXRyciBlbnRyaWVzIG51bWJlci4KKwkJCVNldCB0byAyIG9yIG1vcmUgaWYgeW91ciBncmFwaGljYWwgY2FyZCBuZWVkcyBtb3JlLgorCiAJZGlzYWJsZV9tdHJyX3RyaW0gW1g4NiwgSW50ZWwgYW5kIEFNRCBvbmx5XQogCQkJQnkgZGVmYXVsdCB0aGUga2VybmVsIHdpbGwgdHJpbSBhbnkgdW5jYWNoZWFibGUKIAkJCW1lbW9yeSBvdXQgb2YgeW91ciBhdmFpbGFibGUgbWVtb3J5IHBvb2wgYmFzZWQgb24KQEAgLTcyMiw5ICs3NTgsNiBAQAogCWhkPQkJW0VJREVdIChFKUlERSBoYXJkIGRyaXZlIHN1YnN5c3RlbSBnZW9tZXRyeQogCQkJRm9ybWF0OiA8Y3lsPiw8aGVhZD4sPHNlY3Q+CiAKLQloZD89CQlbSFddIChFKUlERSBzdWJzeXN0ZW0KLQloZD9sdW49CQlTZWUgRG9jdW1lbnRhdGlvbi9pZGUvaWRlLnR4dC4KLQogCWhpZ2htZW09bm5bS01HXQlbS05MLEJPT1RdIGZvcmNlcyB0aGUgaGlnaG1lbSB6b25lIHRvIGhhdmUgYW4gZXhhY3QKIAkJCXNpemUgb2YgPG5uPi4gVGhpcyB3b3JrcyBldmVuIG9uIGJveGVzIHRoYXQgaGF2ZSBubwogCQkJaGlnaG1lbSBvdGhlcndpc2UuIFRoaXMgYWxzbyB3b3JrcyB0byByZWR1Y2UgaGlnaG1lbQpAQCAtMTIwOCw2ICsxMjQxLDExIEBACiAJbXRkcGFydHM9CVtNVERdCiAJCQlTZWUgZHJpdmVycy9tdGQvY21kbGluZXBhcnQuYy4KIAorCW10ZHNldD0JCVtBUk1dCisJCQlBUk0vUzNDMjQxMiBKSVZFIGJvb3QgY29udHJvbAorCisJCQlTZWUgYXJjaC9hcm0vbWFjaC1zM2MyNDEyL21hY2gtaml2ZS5jCisKIAltdG91Y2h1c2IucmF3X2Nvb3JkaW5hdGVzPQogCQkJW0hXXSBNYWtlIHRoZSBNaWNyb1RvdWNoIFVTQiBkcml2ZXIgdXNlIHJhdyBjb29yZGluYXRlcwogCQkJKCd5JywgZGVmYXVsdCkgb3IgY29va2VkIGNvb3JkaW5hdGVzICgnbicpCkBAIC0xNTcxLDYgKzE2MDksMTAgQEAKIAkJCUZvcm1hdDogeyBwYXJwb3J0PG5yPiB8IHRpbWlkIHwgMCB9CiAJCQlTZWUgYWxzbyBEb2N1bWVudGF0aW9uL3BhcnBvcnQudHh0LgogCisJcG10bXI9CQlbWDg2XSBNYW51YWwgc2V0dXAgb2YgcG10bXIgSS9PIFBvcnQuIAorCQkJT3ZlcnJpZGUgcG10aW1lciBJT1BvcnQgd2l0aCBhIGhleCB2YWx1ZS4KKwkJCWUuZy4gcG10bXI9MHg1MDgKKwogCXBucGFjcGk9CVtBQ1BJXQogCQkJeyBvZmYgfQogCkBAIC0yMTE2LDYgKzIxNTgsOSBAQAogCXVzYmhpZC5tb3VzZXBvbGw9CiAJCQlbVVNCSElEXSBUaGUgaW50ZXJ2YWwgd2hpY2ggbWljZSBhcmUgdG8gYmUgcG9sbGVkIGF0LgogCisJYWRkX2VmaV9tZW1tYXAJW0VGSTsgeDg2LTMyLFg4Ni02NF0gSW5jbHVkZSBFRkkgbWVtb3J5IG1hcCBpbgorCQkJa2VybmVsJ3MgbWFwIG9mIGF2YWlsYWJsZSBwaHlzaWNhbCBSQU0uCisKIAl2ZHNvPQkJW1g4Ni0zMixTSCx4ODYtNjRdCiAJCQl2ZHNvPTI6IGVuYWJsZSBjb21wYXQgVkRTTyAoZGVmYXVsdCB3aXRoIENPTVBBVF9WRFNPKQogCQkJdmRzbz0xOiBlbmFibGUgVkRTTyAoZGVmYXVsdCkKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0IGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQKaW5kZXggMTdmMWY5MS4uOTQ2YjY2ZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQKQEAgLTE0OCw5ICsxNDgsOSBAQAogCWJ1dCBub3QgbG9hZGVkLgogCiB0Y3BfYmFzZV9tc3MgLSBJTlRFR0VSCi0JVGhlIGluaXRpYWwgdmFsdWUgb2Ygc2VhcmNoX2xvdyB0byBiZSB1c2VkIGJ5IFBhY2tldGl6YXRpb24gTGF5ZXIKLQlQYXRoIE1UVSBEaXNjb3ZlcnkgKE1UVSBwcm9iaW5nKS4gIElmIE1UVSBwcm9iaW5nIGlzIGVuYWJsZWQsCi0JdGhpcyBpcyB0aGUgaW5pdGFsIE1TUyB1c2VkIGJ5IHRoZSBjb25uZWN0aW9uLgorCVRoZSBpbml0aWFsIHZhbHVlIG9mIHNlYXJjaF9sb3cgdG8gYmUgdXNlZCBieSB0aGUgcGFja2V0aXphdGlvbiBsYXllcgorCVBhdGggTVRVIGRpc2NvdmVyeSAoTVRVIHByb2JpbmcpLiAgSWYgTVRVIHByb2JpbmcgaXMgZW5hYmxlZCwKKwl0aGlzIGlzIHRoZSBpbml0aWFsIE1TUyB1c2VkIGJ5IHRoZSBjb25uZWN0aW9uLgogCiB0Y3BfY29uZ2VzdGlvbl9jb250cm9sIC0gU1RSSU5HCiAJU2V0IHRoZSBjb25nZXN0aW9uIGNvbnRyb2wgYWxnb3JpdGhtIHRvIGJlIHVzZWQgZm9yIG5ldwpAQCAtMTg1LDEwICsxODUsOSBAQAogCXRpbWVvdXRzLiAgSXQgaXMgcGFydGljdWxhcmx5IGJlbmVmaWNpYWwgaW4gd2lyZWxlc3MgZW52aXJvbm1lbnRzCiAJd2hlcmUgcGFja2V0IGxvc3MgaXMgdHlwaWNhbGx5IGR1ZSB0byByYW5kb20gcmFkaW8gaW50ZXJmZXJlbmNlCiAJcmF0aGVyIHRoYW4gaW50ZXJtZWRpYXRlIHJvdXRlciBjb25nZXN0aW9uLiAgRi1SVE8gaXMgc2VuZGVyLXNpZGUKLQlvbmx5IG1vZGlmaWNhdGlvbi4gIFRoZXJlZm9yZSBpdCBkb2VzIG5vdCByZXF1aXJlIGFueSBzdXBwb3J0IGZyb20KLQl0aGUgcGVlciwgYnV0IGluIGEgdHlwaWNhbCBjYXNlLCBob3dldmVyLCB3aGVyZSB3aXJlbGVzcyBsaW5rIGlzCi0JdGhlIGxvY2FsIGFjY2VzcyBsaW5rIGFuZCBtb3N0IG9mIHRoZSBkYXRhIGZsb3dzIGRvd25saW5rLCB0aGUKLQlmYXJhd2F5IHNlcnZlcnMgc2hvdWxkIGhhdmUgRi1SVE8gZW5hYmxlZCB0byB0YWtlIGFkdmFudGFnZSBvZiBpdC4KKwlvbmx5IG1vZGlmaWNhdGlvbi4gVGhlcmVmb3JlIGl0IGRvZXMgbm90IHJlcXVpcmUgYW55IHN1cHBvcnQgZnJvbQorCXRoZSBwZWVyLgorCiAJSWYgc2V0IHRvIDEsIGJhc2ljIHZlcnNpb24gaXMgZW5hYmxlZC4gIDIgZW5hYmxlcyBTQUNLIGVuaGFuY2VkCiAJRi1SVE8gaWYgZmxvdyB1c2VzIFNBQ0suICBUaGUgYmFzaWMgdmVyc2lvbiBjYW4gYmUgdXNlZCBhbHNvIHdoZW4KIAlTQUNLIGlzIGluIHVzZSB0aG91Z2ggc2NlbmFyaW8ocykgd2l0aCBpdCBleGlzdHMgd2hlcmUgRi1SVE8KQEAgLTI3Niw3ICsyNzUsNyBAQAogCW1lbW9yeS4KIAogdGNwX21vZGVyYXRlX3JjdmJ1ZiAtIEJPT0xFQU4KLQlJZiBzZXQsIFRDUCBwZXJmb3JtcyByZWNlaXZlIGJ1ZmZlciBhdXRvdHVuaW5nLCBhdHRlbXB0aW5nIHRvCisJSWYgc2V0LCBUQ1AgcGVyZm9ybXMgcmVjZWl2ZSBidWZmZXIgYXV0by10dW5pbmcsIGF0dGVtcHRpbmcgdG8KIAlhdXRvbWF0aWNhbGx5IHNpemUgdGhlIGJ1ZmZlciAobm8gZ3JlYXRlciB0aGFuIHRjcF9ybWVtWzJdKSB0bwogCW1hdGNoIHRoZSBzaXplIHJlcXVpcmVkIGJ5IHRoZSBwYXRoIGZvciBmdWxsIHRocm91Z2hwdXQuICBFbmFibGVkIGJ5CiAJZGVmYXVsdC4KQEAgLTMzNiw3ICszMzUsNyBAQAogCXByZXNzdXJlLgogCURlZmF1bHQ6IDhLCiAKLQlkZWZhdWx0OiBkZWZhdWx0IHNpemUgb2YgcmVjZWl2ZSBidWZmZXIgdXNlZCBieSBUQ1Agc29ja2V0cy4KKwlkZWZhdWx0OiBpbml0aWFsIHNpemUgb2YgcmVjZWl2ZSBidWZmZXIgdXNlZCBieSBUQ1Agc29ja2V0cy4KIAlUaGlzIHZhbHVlIG92ZXJyaWRlcyBuZXQuY29yZS5ybWVtX2RlZmF1bHQgdXNlZCBieSBvdGhlciBwcm90b2NvbHMuCiAJRGVmYXVsdDogODczODAgYnl0ZXMuIFRoaXMgdmFsdWUgcmVzdWx0cyBpbiB3aW5kb3cgb2YgNjU1MzUgd2l0aAogCWRlZmF1bHQgc2V0dGluZyBvZiB0Y3BfYWR2X3dpbl9zY2FsZSBhbmQgdGNwX2FwcF93aW46MCBhbmQgYSBiaXQKQEAgLTM0NCw4ICszNDMsMTAgQEAKIAogCW1heDogbWF4aW1hbCBzaXplIG9mIHJlY2VpdmUgYnVmZmVyIGFsbG93ZWQgZm9yIGF1dG9tYXRpY2FsbHkKIAlzZWxlY3RlZCByZWNlaXZlciBidWZmZXJzIGZvciBUQ1Agc29ja2V0LiBUaGlzIHZhbHVlIGRvZXMgbm90IG92ZXJyaWRlCi0JbmV0LmNvcmUucm1lbV9tYXgsICJzdGF0aWMiIHNlbGVjdGlvbiB2aWEgU09fUkNWQlVGIGRvZXMgbm90IHVzZSB0aGlzLgotCURlZmF1bHQ6IDg3MzgwKjIgYnl0ZXMuCisJbmV0LmNvcmUucm1lbV9tYXguICBDYWxsaW5nIHNldHNvY2tvcHQoKSB3aXRoIFNPX1JDVkJVRiBkaXNhYmxlcworCWF1dG9tYXRpYyB0dW5pbmcgb2YgdGhhdCBzb2NrZXQncyByZWNlaXZlIGJ1ZmZlciBzaXplLCBpbiB3aGljaAorCWNhc2UgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkLgorCURlZmF1bHQ6IGJldHdlZW4gODczODBCIGFuZCA0TUIsIGRlcGVuZGluZyBvbiBSQU0gc2l6ZS4KIAogdGNwX3NhY2sgLSBCT09MRUFOCiAJRW5hYmxlIHNlbGVjdCBhY2tub3dsZWRnbWVudHMgKFNBQ0tTKS4KQEAgLTM1OCw3ICszNTksNyBAQAogCURlZmF1bHQ6IDEKIAogdGNwX3N0ZHVyZyAtIEJPT0xFQU4KLQlVc2UgdGhlIEhvc3QgcmVxdWlyZW1lbnRzIGludGVycHJldGF0aW9uIG9mIHRoZSBUQ1AgdXJnIHBvaW50ZXIgZmllbGQuCisJVXNlIHRoZSBIb3N0IHJlcXVpcmVtZW50cyBpbnRlcnByZXRhdGlvbiBvZiB0aGUgVENQIHVyZ2VudCBwb2ludGVyIGZpZWxkLgogCU1vc3QgaG9zdHMgdXNlIHRoZSBvbGRlciBCU0QgaW50ZXJwcmV0YXRpb24sIHNvIGlmIHlvdSB0dXJuIHRoaXMgb24KIAlMaW51eCBtaWdodCBub3QgY29tbXVuaWNhdGUgY29ycmVjdGx5IHdpdGggdGhlbS4KIAlEZWZhdWx0OiBGQUxTRQpAQCAtMzcxLDEyICszNzIsMTIgQEAKIHRjcF9zeW5jb29raWVzIC0gQk9PTEVBTgogCU9ubHkgdmFsaWQgd2hlbiB0aGUga2VybmVsIHdhcyBjb21waWxlZCB3aXRoIENPTkZJR19TWU5DT09LSUVTCiAJU2VuZCBvdXQgc3luY29va2llcyB3aGVuIHRoZSBzeW4gYmFja2xvZyBxdWV1ZSBvZiBhIHNvY2tldAotCW92ZXJmbG93cy4gVGhpcyBpcyB0byBwcmV2ZW50IGFnYWluc3QgdGhlIGNvbW1vbiAnc3luIGZsb29kIGF0dGFjaycKKwlvdmVyZmxvd3MuIFRoaXMgaXMgdG8gcHJldmVudCBhZ2FpbnN0IHRoZSBjb21tb24gJ1NZTiBmbG9vZCBhdHRhY2snCiAJRGVmYXVsdDogRkFMU0UKIAogCU5vdGUsIHRoYXQgc3luY29va2llcyBpcyBmYWxsYmFjayBmYWNpbGl0eS4KIAlJdCBNVVNUIE5PVCBiZSB1c2VkIHRvIGhlbHAgaGlnaGx5IGxvYWRlZCBzZXJ2ZXJzIHRvIHN0YW5kCi0JYWdhaW5zdCBsZWdhbCBjb25uZWN0aW9uIHJhdGUuIElmIHlvdSBzZWUgc3luZmxvb2Qgd2FybmluZ3MKKwlhZ2FpbnN0IGxlZ2FsIGNvbm5lY3Rpb24gcmF0ZS4gSWYgeW91IHNlZSBTWU4gZmxvb2Qgd2FybmluZ3MKIAlpbiB5b3VyIGxvZ3MsIGJ1dCBpbnZlc3RpZ2F0aW9uCXNob3dzIHRoYXQgdGhleSBvY2N1cgogCWJlY2F1c2Ugb2Ygb3ZlcmxvYWQgd2l0aCBsZWdhbCBjb25uZWN0aW9ucywgeW91IHNob3VsZCB0dW5lCiAJYW5vdGhlciBwYXJhbWV0ZXJzIHVudGlsIHRoaXMgd2FybmluZyBkaXNhcHBlYXIuCkBAIC0zODYsNyArMzg3LDcgQEAKIAl0byB1c2UgVENQIGV4dGVuc2lvbnMsIGNhbiByZXN1bHQgaW4gc2VyaW91cyBkZWdyYWRhdGlvbgogCW9mIHNvbWUgc2VydmljZXMgKGYuZS4gU01UUCByZWxheWluZyksIHZpc2libGUgbm90IGJ5IHlvdSwKIAlidXQgeW91ciBjbGllbnRzIGFuZCByZWxheXMsIGNvbnRhY3RpbmcgeW91LiBXaGlsZSB5b3Ugc2VlCi0Jc3luZmxvb2Qgd2FybmluZ3MgaW4gbG9ncyBub3QgYmVpbmcgcmVhbGx5IGZsb29kZWQsIHlvdXIgc2VydmVyCisJU1lOIGZsb29kIHdhcm5pbmdzIGluIGxvZ3Mgbm90IGJlaW5nIHJlYWxseSBmbG9vZGVkLCB5b3VyIHNlcnZlcgogCWlzIHNlcmlvdXNseSBtaXNjb25maWd1cmVkLgogCiB0Y3Bfc3luX3JldHJpZXMgLSBJTlRFR0VSCkBAIC00MTksMTkgKzQyMCwyMSBAQAogCUVuYWJsZSB3aW5kb3cgc2NhbGluZyBhcyBkZWZpbmVkIGluIFJGQzEzMjMuCiAKIHRjcF93bWVtIC0gdmVjdG9yIG9mIDMgSU5URUdFUnM6IG1pbiwgZGVmYXVsdCwgbWF4Ci0JbWluOiBBbW91bnQgb2YgbWVtb3J5IHJlc2VydmVkIGZvciBzZW5kIGJ1ZmZlcnMgZm9yIFRDUCBzb2NrZXQuCisJbWluOiBBbW91bnQgb2YgbWVtb3J5IHJlc2VydmVkIGZvciBzZW5kIGJ1ZmZlcnMgZm9yIFRDUCBzb2NrZXRzLgogCUVhY2ggVENQIHNvY2tldCBoYXMgcmlnaHRzIHRvIHVzZSBpdCBkdWUgdG8gZmFjdCBvZiBpdHMgYmlydGguCiAJRGVmYXVsdDogNEsKIAotCWRlZmF1bHQ6IEFtb3VudCBvZiBtZW1vcnkgYWxsb3dlZCBmb3Igc2VuZCBidWZmZXJzIGZvciBUQ1Agc29ja2V0Ci0JYnkgZGVmYXVsdC4gVGhpcyB2YWx1ZSBvdmVycmlkZXMgbmV0LmNvcmUud21lbV9kZWZhdWx0IHVzZWQKLQlieSBvdGhlciBwcm90b2NvbHMsIGl0IGlzIHVzdWFsbHkgbG93ZXIgdGhhbiBuZXQuY29yZS53bWVtX2RlZmF1bHQuCisJZGVmYXVsdDogaW5pdGlhbCBzaXplIG9mIHNlbmQgYnVmZmVyIHVzZWQgYnkgVENQIHNvY2tldHMuICBUaGlzCisJdmFsdWUgb3ZlcnJpZGVzIG5ldC5jb3JlLndtZW1fZGVmYXVsdCB1c2VkIGJ5IG90aGVyIHByb3RvY29scy4KKwlJdCBpcyB1c3VhbGx5IGxvd2VyIHRoYW4gbmV0LmNvcmUud21lbV9kZWZhdWx0LgogCURlZmF1bHQ6IDE2SwogCi0JbWF4OiBNYXhpbWFsIGFtb3VudCBvZiBtZW1vcnkgYWxsb3dlZCBmb3IgYXV0b21hdGljYWxseSBzZWxlY3RlZAotCXNlbmQgYnVmZmVycyBmb3IgVENQIHNvY2tldC4gVGhpcyB2YWx1ZSBkb2VzIG5vdCBvdmVycmlkZQotCW5ldC5jb3JlLndtZW1fbWF4LCAic3RhdGljIiBzZWxlY3Rpb24gdmlhIFNPX1NOREJVRiBkb2VzIG5vdCB1c2UgdGhpcy4KLQlEZWZhdWx0OiAxMjhLCisJbWF4OiBNYXhpbWFsIGFtb3VudCBvZiBtZW1vcnkgYWxsb3dlZCBmb3IgYXV0b21hdGljYWxseSB0dW5lZAorCXNlbmQgYnVmZmVycyBmb3IgVENQIHNvY2tldHMuIFRoaXMgdmFsdWUgZG9lcyBub3Qgb3ZlcnJpZGUKKwluZXQuY29yZS53bWVtX21heC4gIENhbGxpbmcgc2V0c29ja29wdCgpIHdpdGggU09fU05EQlVGIGRpc2FibGVzCisJYXV0b21hdGljIHR1bmluZyBvZiB0aGF0IHNvY2tldCdzIHNlbmQgYnVmZmVyIHNpemUsIGluIHdoaWNoIGNhc2UKKwl0aGlzIHZhbHVlIGlzIGlnbm9yZWQuCisJRGVmYXVsdDogYmV0d2VlbiA2NEsgYW5kIDRNQiwgZGVwZW5kaW5nIG9uIFJBTSBzaXplLgogCiB0Y3Bfd29ya2Fyb3VuZF9zaWduZWRfd2luZG93cyAtIEJPT0xFQU4KIAlJZiBzZXQsIGFzc3VtZSBubyByZWNlaXB0IG9mIGEgd2luZG93IHNjYWxpbmcgb3B0aW9uIG1lYW5zIHRoZQpAQCAtMTA2MCwyNCArMTA2MywxOTMgQEAKIAlEZWZhdWx0OiAxCiAKIAorcHJvYy9zeXMvbmV0L3NjdHAvKiBWYXJpYWJsZXM6CisKK2FkZGlwX2VuYWJsZSAtIEJPT0xFQU4KKwlFbmFibGUgb3IgZGlzYWJsZSBleHRlbnNpb24gb2YgIER5bmFtaWMgQWRkcmVzcyBSZWNvbmZpZ3VyYXRpb24KKwkoQURELUlQKSBmdW5jdGlvbmFsaXR5IHNwZWNpZmllZCBpbiBSRkM1MDYxLiAgVGhpcyBleHRlbnNpb24gcHJvdmlkZXMKKwl0aGUgYWJpbGl0eSB0byBkeW5hbWljYWxseSBhZGQgYW5kIHJlbW92ZSBuZXcgYWRkcmVzc2VzIGZvciB0aGUgU0NUUAorCWFzc29jaWF0aW9ucy4KKworCTE6IEVuYWJsZSBleHRlbnNpb24uCisKKwkwOiBEaXNhYmxlIGV4dGVuc2lvbi4KKworCURlZmF1bHQ6IDAKKworYWRkaXBfbm9hdXRoX2VuYWJsZSAtIEJPT0xFQU4KKwlEeW5hbWljIEFkZHJlc3MgUmVjb25maWd1cmF0aW9uIChBREQtSVApIHJlcXVpcmVzIHRoZSB1c2Ugb2YKKwlhdXRoZW50aWNhdGlvbiB0byBwcm90ZWN0IHRoZSBvcGVyYXRpb25zIG9mIGFkZGluZyBvciByZW1vdmluZyBuZXcKKwlhZGRyZXNzZXMuICBUaGlzIHJlcXVpcmVtZW50IGlzIG1hbmRhdGVkIHNvIHRoYXQgdW5hdXRob3JpemVkIGhvc3RzCisJd291bGQgbm90IGJlIGFibGUgdG8gaGlqYWNrIGFzc29jaWF0aW9ucy4gIEhvd2V2ZXIsIG9sZGVyCisJaW1wbGVtZW50YXRpb25zIG1heSBub3QgaGF2ZSBpbXBsZW1lbnRlZCB0aGlzIHJlcXVpcmVtZW50IHdoaWxlCisJYWxsb3dpbmcgdGhlIEFERC1JUCBleHRlbnNpb24uICBGb3IgcmVhc29ucyBvZiBpbnRlcm9wZXJhYmlsaXR5LAorCXdlIHByb3ZpZGUgdGhpcyB2YXJpYWJsZSB0byBjb250cm9sIHRoZSBlbmZvcmNlbWVudCBvZiB0aGUKKwlhdXRoZW50aWNhdGlvbiByZXF1aXJlbWVudC4KKworCTE6IEFsbG93IEFERC1JUCBleHRlbnNpb24gdG8gYmUgdXNlZCB3aXRob3V0IGF1dGhlbnRpY2F0aW9uLiAgVGhpcworCSAgIHNob3VsZCBvbmx5IGJlIHNldCBpbiBhIGNsb3NlZCBlbnZpcm9ubWVudCBmb3IgaW50ZXJvcGVyYWJpbGl0eQorCSAgIHdpdGggb2xkZXIgaW1wbGVtZW50YXRpb25zLgorCisJMDogRW5mb3JjZSB0aGUgYXV0aGVudGljYXRpb24gcmVxdWlyZW1lbnQKKworCURlZmF1bHQ6IDAKKworYXV0aF9lbmFibGUgLSBCT09MRUFOCisJRW5hYmxlIG9yIGRpc2FibGUgQXV0aGVudGljYXRlZCBDaHVua3MgZXh0ZW5zaW9uLiAgVGhpcyBleHRlbnNpb24KKwlwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBzZW5kIGFuZCByZWNlaXZlIGF1dGhlbnRpY2F0ZWQgY2h1bmtzIGFuZCBpcworCXJlcXVpcmVkIGZvciBzZWN1cmUgb3BlcmF0aW9uIG9mIER5bmFtaWMgQWRkcmVzcyBSZWNvbmZpZ3VyYXRpb24KKwkoQURELUlQKSBleHRlbnNpb24uCisKKwkxOiBFbmFibGUgdGhpcyBleHRlbnNpb24uCisJMDogRGlzYWJsZSB0aGlzIGV4dGVuc2lvbi4KKworCURlZmF1bHQ6IDAKKworcHJzY3RwX2VuYWJsZSAtIEJPT0xFQU4KKwlFbmFibGUgb3IgZGlzYWJsZSB0aGUgUGFydGlhbCBSZWxpYWJpbGl0eSBleHRlbnNpb24gKFJGQzM3NTgpIHdoaWNoCisJaXMgdXNlZCB0byBub3RpZnkgcGVlcnMgdGhhdCBhIGdpdmVuIERBVEEgc2hvdWxkIG5vIGxvbmdlciBiZSBleHBlY3RlZC4KKworCTE6IEVuYWJsZSBleHRlbnNpb24KKwkwOiBEaXNhYmxlCisKKwlEZWZhdWx0OiAxCisKK21heF9idXJzdCAtIElOVEVHRVIKKwlUaGUgbGltaXQgb2YgdGhlIG51bWJlciBvZiBuZXcgcGFja2V0cyB0aGF0IGNhbiBiZSBpbml0aWFsbHkgc2VudC4gIEl0CisJY29udHJvbHMgaG93IGJ1cnN0eSB0aGUgZ2VuZXJhdGVkIHRyYWZmaWMgY2FuIGJlLgorCisJRGVmYXVsdDogNAorCithc3NvY2lhdGlvbl9tYXhfcmV0cmFucyAtIElOVEVHRVIKKwlTZXQgdGhlIG1heGltdW0gbnVtYmVyIGZvciByZXRyYW5zbWlzc2lvbnMgdGhhdCBhbiBhc3NvY2lhdGlvbiBjYW4KKwlhdHRlbXB0IGRlY2lkaW5nIHRoYXQgdGhlIHJlbW90ZSBlbmQgaXMgdW5yZWFjaGFibGUuICBJZiB0aGlzIHZhbHVlCisJaXMgZXhjZWVkZWQsIHRoZSBhc3NvY2lhdGlvbiBpcyB0ZXJtaW5hdGVkLgorCisJRGVmYXVsdDogMTAKKworbWF4X2luaXRfcmV0cmFuc21pdHMgLSBJTlRFR0VSCisJVGhlIG1heGltdW0gbnVtYmVyIG9mIHJldHJhbnNtaXNzaW9ucyBvZiBJTklUIGFuZCBDT09LSUUtRUNITyBjaHVua3MKKwl0aGF0IGFuIGFzc29jaWF0aW9uIHdpbGwgYXR0ZW1wdCBiZWZvcmUgZGVjbGFyaW5nIHRoZSBkZXN0aW5hdGlvbgorCXVucmVhY2hhYmxlIGFuZCB0ZXJtaW5hdGluZy4KKworCURlZmF1bHQ6IDgKKworcGF0aF9tYXhfcmV0cmFucyAtIElOVEVHRVIKKwlUaGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmFuc21pc3Npb25zIHRoYXQgd2lsbCBiZSBhdHRlbXB0ZWQgb24gYSBnaXZlbgorCXBhdGguICBPbmNlIHRoaXMgdGhyZXNob2xkIGlzIGV4Y2VlZGVkLCB0aGUgcGF0aCBpcyBjb25zaWRlcmVkCisJdW5yZWFjaGFibGUsIGFuZCBuZXcgdHJhZmZpYyB3aWxsIHVzZSBhIGRpZmZlcmVudCBwYXRoIHdoZW4gdGhlCisJYXNzb2NpYXRpb24gaXMgbXVsdGlob21lZC4KKworCURlZmF1bHQ6IDUKKworcnRvX2luaXRpYWwgLSBJTlRFR0VSCisJVGhlIGluaXRpYWwgcm91bmQgdHJpcCB0aW1lb3V0IHZhbHVlIGluIG1pbGxpc2Vjb25kcyB0aGF0IHdpbGwgYmUgdXNlZAorCWluIGNhbGN1bGF0aW5nIHJvdW5kIHRyaXAgdGltZXMuICBUaGlzIGlzIHRoZSBpbml0aWFsIHRpbWUgaW50ZXJ2YWwKKwlmb3IgcmV0cmFuc21pc3Npb25zLgorCisJRGVmYXVsdDogMzAwMAorCitydG9fbWF4IC0gSU5URUdFUgorCVRoZSBtYXhpbXVtIHZhbHVlIChpbiBtaWxsaXNlY29uZHMpIG9mIHRoZSByb3VuZCB0cmlwIHRpbWVvdXQuICBUaGlzCisJaXMgdGhlIGxhcmdlc3QgdGltZSBpbnRlcnZhbCB0aGF0IGNhbiBlbGFwc2UgYmV0d2VlbiByZXRyYW5zbWlzc2lvbnMuCisKKwlEZWZhdWx0OiA2MDAwMAorCitydG9fbWluIC0gSU5URUdFUgorCVRoZSBtaW5pbXVtIHZhbHVlIChpbiBtaWxsaXNlY29uZHMpIG9mIHRoZSByb3VuZCB0cmlwIHRpbWVvdXQuICBUaGlzCisJaXMgdGhlIHNtYWxsZXN0IHRpbWUgaW50ZXJ2YWwgdGhlIGNhbiBlbGFwc2UgYmV0d2VlbiByZXRyYW5zbWlzc2lvbnMuCisKKwlEZWZhdWx0OiAxMDAwCisKK2hiX2ludGVydmFsIC0gSU5URUdFUgorCVRoZSBpbnRlcnZhbCAoaW4gbWlsbGlzZWNvbmRzKSBiZXR3ZWVuIEhFQVJUQkVBVCBjaHVua3MuICBUaGVzZSBjaHVua3MKKwlhcmUgc2VudCBhdCB0aGUgc3BlY2lmaWVkIGludGVydmFsIG9uIGlkbGUgcGF0aHMgdG8gcHJvYmUgdGhlIHN0YXRlIG9mCisJYSBnaXZlbiBwYXRoIGJldHdlZW4gMiBhc3NvY2lhdGlvbnMuCisKKwlEZWZhdWx0OiAzMDAwMAorCitzYWNrX3RpbWVvdXQgLSBJTlRFR0VSCisJVGhlIGFtb3VudCBvZiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIHdpbGwgd2FpdAorCXRvIHNlbmQgYSBTQUNLLgorCisJRGVmYXVsdDogMjAwCisKK3ZhbGlkX2Nvb2tpZV9saWZlIC0gSU5URUdFUgorCVRoZSBkZWZhdWx0IGxpZmV0aW1lIG9mIHRoZSBTQ1RQIGNvb2tpZSAoaW4gbWlsbGlzZWNvbmRzKS4gIFRoZSBjb29raWUKKwlpcyB1c2VkIGR1cmluZyBhc3NvY2lhdGlvbiBlc3RhYmxpc2htZW50LgorCisJRGVmYXVsdDogNjAwMDAKKworY29va2llX3ByZXNlcnZlX2VuYWJsZSAtIEJPT0xFQU4KKwlFbmFibGUgb3IgZGlzYWJsZSB0aGUgYWJpbGl0eSB0byBleHRlbmQgdGhlIGxpZmV0aW1lIG9mIHRoZSBTQ1RQIGNvb2tpZQorCXRoYXQgaXMgdXNlZCBkdXJpbmcgdGhlIGVzdGFibGlzaG1lbnQgcGhhc2Ugb2YgU0NUUCBhc3NvY2lhdGlvbgorCisJMTogRW5hYmxlIGNvb2tpZSBsaWZldGltZSBleHRlbnNpb24uCisJMDogRGlzYWJsZQorCisJRGVmYXVsdDogMQorCityY3ZidWZfcG9saWN5IC0gSU5URUdFUgorCURldGVybWluZXMgaWYgdGhlIHJlY2VpdmUgYnVmZmVyIGlzIGF0dHJpYnV0ZWQgdG8gdGhlIHNvY2tldCBvciB0bworCWFzc29jaWF0aW9uLiAgIFNDVFAgc3VwcG9ydHMgdGhlIGNhcGFiaWxpdHkgdG8gY3JlYXRlIG11bHRpcGxlCisJYXNzb2NpYXRpb25zIG9uIGEgc2luZ2xlIHNvY2tldC4gIFdoZW4gdXNpbmcgdGhpcyBjYXBhYmlsaXR5LCBpdCBpcworCXBvc3NpYmxlIHRoYXQgYSBzaW5nbGUgc3RhbGxlZCBhc3NvY2lhdGlvbiB0aGF0J3MgYnVmZmVyaW5nIGEgbG90CisJb2YgZGF0YSBtYXkgYmxvY2sgb3RoZXIgYXNzb2NpYXRpb25zIGZyb20gZGVsaXZlcmluZyB0aGVpciBkYXRhIGJ5CisJY29uc3VtaW5nIGFsbCBvZiB0aGUgcmVjZWl2ZSBidWZmZXIgc3BhY2UuICBUbyB3b3JrIGFyb3VuZCB0aGlzLAorCXRoZSByY3ZidWZfcG9saWN5IGNvdWxkIGJlIHNldCB0byBhdHRyaWJ1dGUgdGhlIHJlY2VpdmVyIGJ1ZmZlciBzcGFjZQorCXRvIGVhY2ggYXNzb2NpYXRpb24gaW5zdGVhZCBvZiB0aGUgc29ja2V0LiAgVGhpcyBwcmV2ZW50cyB0aGUgZGVzY3JpYmVkCisJYmxvY2tpbmcuCisKKwkxOiByY3ZidWYgc3BhY2UgaXMgcGVyIGFzc29jaWF0aW9uCisJMDogcmVjYnVmIHNwYWNlIGlzIHBlciBzb2NrZXQKKworCURlZmF1bHQ6IDAKKworc25kYnVmX3BvbGljeSAtIElOVEVHRVIKKwlTaW1pbGFyIHRvIHJjdmJ1Zl9wb2xpY3kgYWJvdmUsIHRoaXMgYXBwbGllcyB0byBzZW5kIGJ1ZmZlciBzcGFjZS4KKworCTE6IFNlbmQgYnVmZmVyIGlzIHRyYWNrZWQgcGVyIGFzc29jaWF0aW9uCisJMDogU2VuZCBidWZmZXIgaXMgdHJhY2tlZCBwZXIgc29ja2V0LgorCisJRGVmYXVsdDogMAorCitzY3RwX21lbSAtIHZlY3RvciBvZiAzIElOVEVHRVJzOiBtaW4sIHByZXNzdXJlLCBtYXgKKwlOdW1iZXIgb2YgcGFnZXMgYWxsb3dlZCBmb3IgcXVldWVpbmcgYnkgYWxsIFNDVFAgc29ja2V0cy4KKworCW1pbjogQmVsb3cgdGhpcyBudW1iZXIgb2YgcGFnZXMgU0NUUCBpcyBub3QgYm90aGVyZWQgYWJvdXQgaXRzCisJbWVtb3J5IGFwcGV0aXRlLiBXaGVuIGFtb3VudCBvZiBtZW1vcnkgYWxsb2NhdGVkIGJ5IFNDVFAgZXhjZWVkcworCXRoaXMgbnVtYmVyLCBTQ1RQIHN0YXJ0cyB0byBtb2RlcmF0ZSBtZW1vcnkgdXNhZ2UuCisKKwlwcmVzc3VyZTogVGhpcyB2YWx1ZSB3YXMgaW50cm9kdWNlZCB0byBmb2xsb3cgZm9ybWF0IG9mIHRjcF9tZW0uCisKKwltYXg6IE51bWJlciBvZiBwYWdlcyBhbGxvd2VkIGZvciBxdWV1ZWluZyBieSBhbGwgU0NUUCBzb2NrZXRzLgorCisJRGVmYXVsdCBpcyBjYWxjdWxhdGVkIGF0IGJvb3QgdGltZSBmcm9tIGFtb3VudCBvZiBhdmFpbGFibGUgbWVtb3J5LgorCitzY3RwX3JtZW0gLSB2ZWN0b3Igb2YgMyBJTlRFR0VSczogbWluLCBkZWZhdWx0LCBtYXgKKwlTZWUgdGNwX3JtZW0gZm9yIGEgZGVzY3JpcHRpb24uCisKK3NjdHBfd21lbSAgLSB2ZWN0b3Igb2YgMyBJTlRFR0VSczogbWluLCBkZWZhdWx0LCBtYXgKKwlTZWUgdGNwX3dtZW0gZm9yIGEgZGVzY3JpcHRpb24uCisKIFVORE9DVU1FTlRFRDoKIAotZGV2X3dlaWdodCBGSVhNRQotZGlzY292ZXJ5X3Nsb3RzIEZJWE1FCi1kaXNjb3ZlcnlfdGltZW91dCBGSVhNRQotZmFzdF9wb2xsX2luY3JlYXNlIEZJWE1FCi1pcDZfcXVldWVfbWF4bGVuIEZJWE1FCi1sYXBfa2VlcGFsaXZlX3RpbWUgRklYTUUKLWxvX2NvbmcgRklYTUUKLW1heF9iYXVkX3JhdGUgRklYTUUKLW1heF9kZ3JhbV9xbGVuIEZJWE1FCi1tYXhfbm9yZXBseV90aW1lIEZJWE1FCi1tYXhfdHhfZGF0YV9zaXplIEZJWE1FCi1tYXhfdHhfd2luZG93IEZJWE1FCi1taW5fdHhfdHVybl90aW1lIEZJWE1FCi1tb2RfY29uZyBGSVhNRQotbm9fY29uZyBGSVhNRQotbm9fY29uZ190aHJlc2ggRklYTUUKLXNsb3RfdGltZW91dCBGSVhNRQotd2Fybl9ub3JlcGx5X3RpbWUgRklYTUUKKy9wcm9jL3N5cy9uZXQvY29yZS8qCisJZGV2X3dlaWdodCBGSVhNRQogCisvcHJvYy9zeXMvbmV0L3VuaXgvKgorCW1heF9kZ3JhbV9xbGVuIEZJWE1FCisKKy9wcm9jL3N5cy9uZXQvaXJkYS8qCisJZmFzdF9wb2xsX2luY3JlYXNlIEZJWE1FCisJd2Fybl9ub3JlcGx5X3RpbWUgRklYTUUKKwlkaXNjb3Zlcnlfc2xvdHMgRklYTUUKKwlzbG90X3RpbWVvdXQgRklYTUUKKwltYXhfYmF1ZF9yYXRlIEZJWE1FCisJZGlzY292ZXJ5X3RpbWVvdXQgRklYTUUKKwlsYXBfa2VlcGFsaXZlX3RpbWUgRklYTUUKKwltYXhfbm9yZXBseV90aW1lIEZJWE1FCisJbWF4X3R4X2RhdGFfc2l6ZSBGSVhNRQorCW1heF90eF93aW5kb3cgRklYTUUKKwltaW5fdHhfdHVybl90aW1lIEZJWE1FCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL25taV93YXRjaGRvZy50eHQgYi9Eb2N1bWVudGF0aW9uL25taV93YXRjaGRvZy50eHQKaW5kZXggNzU3YzcyOS4uOTBhYTQ1MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ubWlfd2F0Y2hkb2cudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbm1pX3dhdGNoZG9nLnR4dApAQCAtMTAsNyArMTAsNyBAQAogd2hpY2ggZ2V0IGV4ZWN1dGVkIGV2ZW4gaWYgdGhlIHN5c3RlbSBpcyBvdGhlcndpc2UgbG9ja2VkIHVwIGhhcmQpLgogVGhpcyBjYW4gYmUgdXNlZCB0byBkZWJ1ZyBoYXJkIGtlcm5lbCBsb2NrdXBzLiAgQnkgZXhlY3V0aW5nIHBlcmlvZGljCiBOTUkgaW50ZXJydXB0cywgdGhlIGtlcm5lbCBjYW4gbW9uaXRvciB3aGV0aGVyIGFueSBDUFUgaGFzIGxvY2tlZCB1cCwKLWFuZCBwcmludCBvdXQgZGVidWdnaW5nIG1lc3NhZ2VzIGlmIHNvLiAgCithbmQgcHJpbnQgb3V0IGRlYnVnZ2luZyBtZXNzYWdlcyBpZiBzby4KIAogSW4gb3JkZXIgdG8gdXNlIHRoZSBOTUkgd2F0Y2hkb2csIHlvdSBuZWVkIHRvIGhhdmUgQVBJQyBzdXBwb3J0IGluIHlvdXIKIGtlcm5lbC4gRm9yIFNNUCBrZXJuZWxzLCBBUElDIHN1cHBvcnQgZ2V0cyBjb21waWxlZCBpbiBhdXRvbWF0aWNhbGx5LiBGb3IKQEAgLTIyLDggKzIyLDcgQEAKIGtlcm5lbCBkZWJ1Z2dpbmcgb3B0aW9ucywgc3VjaCBhcyBLZXJuZWwgU3RhY2sgTWV0ZXIgb3IgS2VybmVsIFRyYWNlciwKIG1heSBpbXBsaWNpdGx5IGRpc2FibGUgdGhlIE5NSSB3YXRjaGRvZy5dCiAKLUZvciB4ODYtNjQsIHRoZSBuZWVkZWQgQVBJQyBpcyBhbHdheXMgY29tcGlsZWQgaW4sIGFuZCB0aGUgTk1JIHdhdGNoZG9nIGlzCi1hbHdheXMgZW5hYmxlZCB3aXRoIEkvTy1BUElDIG1vZGUgKG5taV93YXRjaGRvZz0xKS4KK0ZvciB4ODYtNjQsIHRoZSBuZWVkZWQgQVBJQyBpcyBhbHdheXMgY29tcGlsZWQgaW4uCiAKIFVzaW5nIGxvY2FsIEFQSUMgKG5taV93YXRjaGRvZz0yKSBuZWVkcyB0aGUgZmlyc3QgcGVyZm9ybWFuY2UgcmVnaXN0ZXIsIHNvCiB5b3UgY2FuJ3QgdXNlIGl0IGZvciBvdGhlciBwdXJwb3NlcyAoc3VjaCBhcyBoaWdoIHByZWNpc2lvbiBwZXJmb3JtYW5jZQpAQCAtNjMsMTYgKzYyLDE1IEBACiAiaGx0IiwgdGhlbiB5b3UgYXJlIG91dCBvZiBsdWNrIC0tIHRoZSBldmVudCB3aWxsIG5vdCBoYXBwZW4gYXQgYWxsIGFuZCB0aGUKIHdhdGNoZG9nIHdvbid0IHRyaWdnZXIuIFRoaXMgaXMgYSBzaG9ydGNvbWluZyBvZiB0aGUgbG9jYWwgQVBJQyB3YXRjaGRvZwogLS0gdW5mb3J0dW5hdGVseSB0aGVyZSBpcyBubyAiY2xvY2sgdGlja3MiIGV2ZW50IHRoYXQgd291bGQgd29yayBhbGwgdGhlCi10aW1lLiBUaGUgSS9PIEFQSUMgd2F0Y2hkb2cgaXMgZHJpdmVuIGV4dGVybmFsbHkgYW5kIGhhcyBubyBzdWNoIHNob3J0Y29taW5nLiAgCit0aW1lLiBUaGUgSS9PIEFQSUMgd2F0Y2hkb2cgaXMgZHJpdmVuIGV4dGVybmFsbHkgYW5kIGhhcyBubyBzdWNoIHNob3J0Y29taW5nLgogQnV0IGl0cyBOTUkgZnJlcXVlbmN5IGlzIG11Y2ggaGlnaGVyLCByZXN1bHRpbmcgaW4gYSBtb3JlIHNpZ25pZmljYW50IGhpdAogdG8gdGhlIG92ZXJhbGwgc3lzdGVtIHBlcmZvcm1hbmNlLgogCi1OT1RFOiBzdGFydGluZyB3aXRoIDIuNC4yLWFjMTggdGhlIE5NSS1vb3BzZXIgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCwKLXlvdSBoYXZlIHRvIGVuYWJsZSBpdCB3aXRoIGEgYm9vdCB0aW1lIHBhcmFtZXRlci4gIFByaW9yIHRvIDIuNC4yLWFjMTgKLXRoZSBOTUktb29wc2VyIGlzIGVuYWJsZWQgdW5jb25kaXRpb25hbGx5IG9uIHg4NiBTTVAgYm94ZXMuCitPbiB4ODYgbm1pX3dhdGNoZG9nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgc28geW91IGhhdmUgdG8gZW5hYmxlIGl0IHdpdGgKK2EgYm9vdCB0aW1lIHBhcmFtZXRlci4KIAotT24geDg2LTY0IHRoZSBOTUkgb29wc2VyIGlzIG9uIGJ5IGRlZmF1bHQuIE9uIDY0Yml0IEludGVsIENQVXMKLWl0IHVzZXMgSU8tQVBJQyBieSBkZWZhdWx0IGFuZCBvbiBBTUQgaXQgdXNlcyBsb2NhbCBBUElDLgorTk9URTogSW4ga2VybmVscyBwcmlvciB0byAyLjQuMi1hYzE4IHRoZSBOTUktb29wc2VyIGlzIGVuYWJsZWQgdW5jb25kaXRpb25hbGx5CitvbiB4ODYgU01QIGJveGVzLgogCiBbIGZlZWwgZnJlZSB0byBzZW5kIGJ1ZyByZXBvcnRzLCBzdWdnZXN0aW9ucyBhbmQgcGF0Y2hlcyB0bwogICBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4gb3IgdGhlIExpbnV4IFNNUCBtYWlsaW5nCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1kb21haW5zLnR4dCBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CmluZGV4IGE5ZTk5MGEuLjM3M2NlYWMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CkBAIC02MSwxMCArNjEsNyBAQAogYXJjaF9pbml0X3NjaGVkX2RvbWFpbnMgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gd2lsbCBhdHRhY2ggZG9tYWlucyB0byBhbGwKIENQVXMgdXNpbmcgY3B1X2F0dGFjaF9kb21haW4uCiAKLUltcGxlbWVudG9ycyBzaG91bGQgY2hhbmdlIHRoZSBsaW5lCi0jdW5kZWYgU0NIRURfRE9NQUlOX0RFQlVHCi10bwotI2RlZmluZSBTQ0hFRF9ET01BSU5fREVCVUcKLWluIGtlcm5lbC9zY2hlZC5jIGFzIHRoaXMgZW5hYmxlcyBhbiBlcnJvciBjaGVja2luZyBwYXJzZSBvZiB0aGUgc2NoZWQgZG9tYWlucworVGhlIHNjaGVkLWRvbWFpbnMgZGVidWdnaW5nIGluZnJhc3RydWN0dXJlIGNhbiBiZSBlbmFibGVkIGJ5IGVuYWJsaW5nCitDT05GSUdfU0NIRURfREVCVUcuIFRoaXMgZW5hYmxlcyBhbiBlcnJvciBjaGVja2luZyBwYXJzZSBvZiB0aGUgc2NoZWQgZG9tYWlucwogd2hpY2ggc2hvdWxkIGNhdGNoIG1vc3QgcG9zc2libGUgZXJyb3JzIChkZXNjcmliZWQgYWJvdmUpLiBJdCBhbHNvIHByaW50cyBvdXQKIHRoZSBkb21haW4gc3RydWN0dXJlIGluIGEgdmlzdWFsIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLXJ0LWdyb3VwLnR4dCBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLXJ0LWdyb3VwLnR4dAppbmRleCAxNGY5MDFmLi4zZWYzMzlmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1ydC1ncm91cC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtcnQtZ3JvdXAudHh0CkBAIC01MSw5ICs1MSw5IEBACiAwLjAwMDE1cy4gU28gdGhpcyBncm91cCBjYW4gYmUgc2NoZWR1bGVkIHdpdGggYSBwZXJpb2Qgb2YgMC4wMDVzIGFuZCBhIHJ1biB0aW1lCiBvZiAwLjAwMDE1cy4KIAotVGhlIHJlbWFpbmluZyBDUFUgdGltZSB3aWxsIGJlIHVzZWQgZm9yIHVzZXIgaW5wdXQgYW5kIG90aGVyIHRhc3MuIEJlY2F1c2UKK1RoZSByZW1haW5pbmcgQ1BVIHRpbWUgd2lsbCBiZSB1c2VkIGZvciB1c2VyIGlucHV0IGFuZCBvdGhlciB0YXNrcy4gQmVjYXVzZQogcmVhbHRpbWUgdGFza3MgaGF2ZSBleHBsaWNpdGx5IGFsbG9jYXRlZCB0aGUgQ1BVIHRpbWUgdGhleSBuZWVkIHRvIHBlcmZvcm0KLXRoZWlyIHRhc2tzLCBidWZmZXIgdW5kZXJydW5zIGluIHRoZSBncmFwaG9jcyBvciBhdWRpbyBjYW4gYmUgZWxpbWluYXRlZC4KK3RoZWlyIHRhc2tzLCBidWZmZXIgdW5kZXJydW5zIGluIHRoZSBncmFwaGljcyBvciBhdWRpbyBjYW4gYmUgZWxpbWluYXRlZC4KIAogTk9URTogdGhlIGFib3ZlIGV4YW1wbGUgaXMgbm90IGZ1bGx5IGltcGxlbWVudGVkIGFzIG9mIHlldCAoMi42LjI1KS4gV2Ugc3RpbGwKIGxhY2sgYW4gRURGIHNjaGVkdWxlciB0byBtYWtlIG5vbi11bmlmb3JtIHBlcmlvZHMgdXNhYmxlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0FMU0EtQ29uZmlndXJhdGlvbi50eHQgYi9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dAppbmRleCAwYmJlZTM4Li43MmFmZjYxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dApAQCAtNzUzLDggKzc1MywxMSBAQAogCiAgICAgW011bHRpcGxlIG9wdGlvbnMgZm9yIGVhY2ggY2FyZCBpbnN0YW5jZV0KICAgICBtb2RlbAktIGZvcmNlIHRoZSBtb2RlbCBuYW1lCi0gICAgcG9zaXRpb25fZml4IC0gRml4IERNQSBwb2ludGVyICgwID0gYXV0bywgMSA9IG5vbmUsIDIgPSBQT1NCVUYsIDMgPSBGSUZPIHNpemUpCisgICAgcG9zaXRpb25fZml4IC0gRml4IERNQSBwb2ludGVyICgwID0gYXV0bywgMSA9IHVzZSBMUElCLCAyID0gUE9TQlVGKQogICAgIHByb2JlX21hc2sgIC0gQml0bWFzayB0byBwcm9iZSBjb2RlY3MgKGRlZmF1bHQgPSAtMSwgbWVhbmluZyBhbGwgc2xvdHMpCisgICAgYmRsX3Bvc19hZGoJLSBTcGVjaWZpZXMgdGhlIERNQSBJUlEgdGltaW5nIGRlbGF5IGluIHNhbXBsZXMuCisJCVBhc3NpbmcgLTEgd2lsbCBtYWtlIHRoZSBkcml2ZXIgdG8gY2hvb3NlIHRoZSBhcHByb3ByaWF0ZQorCQl2YWx1ZSBiYXNlZCBvbiB0aGUgY29udHJvbGxlciBjaGlwLgogICAgIAogICAgIFtTaW5nbGUgKGdsb2JhbCkgb3B0aW9uc10KICAgICBzaW5nbGVfY21kICAtIFVzZSBzaW5nbGUgaW1tZWRpYXRlIGNvbW1hbmRzIHRvIGNvbW11bmljYXRlIHdpdGgKQEAgLTg0NSw3ICs4NDgsNyBAQAogCUFMQzI2OQogCSAgYmFzaWMJCUJhc2ljIHByZXNldAogCi0JQUxDNjYyCisJQUxDNjYyLzY2MwogCSAgM3N0YWNrLWRpZwkzLXN0YWNrICgyLWNoYW5uZWwpIHdpdGggU1BESUYKIAkgIDNzdGFjay02Y2gJIDMtc3RhY2sgKDYtY2hhbm5lbCkKIAkgIDNzdGFjay02Y2gtZGlnIDMtc3RhY2sgKDYtY2hhbm5lbCkgd2l0aCBTUERJRgpAQCAtODUzLDYgKzg1NiwxMCBAQAogCSAgbGVub3ZvLTEwMWUJIExlbm92byBsYXB0b3AKIAkgIGVlZXBjLXA3MDEJQVNVUyBFZWVwYyBQNzAxCiAJICBlZWVwYy1lcDIwCUFTVVMgRWVlcGMgRVAyMAorCSAgbTUxdmEJCUFTVVMgTTUxVkEKKwkgIGc3MXYJCUFTVVMgRzcxVgorCSAgaDEzCQlBU1VTIEgxMworCSAgZzUwdgkJQVNVUyBHNTBWCiAJICBhdXRvCQlhdXRvLWNvbmZpZyByZWFkaW5nIEJJT1MgKGRlZmF1bHQpCiAKIAlBTEM4ODIvODg1CkBAIC0xMDkxLDcgKzEwOTgsNyBAQAogICAgIFRoaXMgb2NjdXJzIHdoZW4gdGhlIGFjY2VzcyB0byBub24tZXhpc3Rpbmcgb3Igbm9uLXdvcmtpbmcgY29kZWMgc2xvdAogICAgIChsaWtlbHkgYSBtb2RlbSBvbmUpIGNhdXNlcyBhIHN0YWxsIG9mIHRoZSBjb21tdW5pY2F0aW9uIHZpYSBIRC1hdWRpbwogICAgIGJ1cy4gIFlvdSBjYW4gc2VlIHdoaWNoIGNvZGVjIHNsb3RzIGFyZSBwcm9iZWQgYnkgZW5hYmxpbmcKLSAgICBDT05GSUdfU05EX0RFQlVHX0RFVEVDVCwgb3Igc2ltcGx5IGZyb20gdGhlIGZpbGUgbmFtZSBvZiB0aGUgY29kZWMKKyAgICBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UsIG9yIHNpbXBseSBmcm9tIHRoZSBmaWxlIG5hbWUgb2YgdGhlIGNvZGVjCiAgICAgcHJvYyBmaWxlcy4gIFRoZW4gbGltaXQgdGhlIHNsb3RzIHRvIHByb2JlIGJ5IHByb2JlX21hc2sgb3B0aW9uLgogICAgIEZvciBleGFtcGxlLCBwcm9iZV9tYXNrPTEgbWVhbnMgdG8gcHJvYmUgb25seSB0aGUgZmlyc3Qgc2xvdCwgYW5kCiAgICAgcHJvYmVfbWFzaz00IG1lYW5zIG9ubHkgdGhlIHRoaXJkIHNsb3QuCkBAIC0yMjY3LDYgKzIyNzQsMTAgQEAKIG90aGVyIGRyaXZlciAoZS5nLiBzbmQtdXNiLWF1ZGlvKSBpcyBsb2FkZWQgYmVmb3JlIHNuZC1pbnRlcndhdmUgb3IKIHNuZC1lbnMxMzcxLCBpdCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoZSB0aGlyZCBvciBsYXRlciBzbG90LgogCitXaGVuIGEgbW9kdWxlIG5hbWUgaXMgZ2l2ZW4gd2l0aCAnIScsIHRoZSBzbG90IHdpbGwgYmUgZ2l2ZW4gZm9yIGFueQorbW9kdWxlcyBidXQgdGhhdCBuYW1lLiAgRm9yIGV4YW1wbGUsICJzbG90cz0hc25kLXBjc3AiIHdpbGwgcmVzZXJ2ZQordGhlIGZpcnN0IHNsb3QgZm9yIGFueSBtb2R1bGVzIGJ1dCBzbmQtcGNzcC4gCisKIAogQUxTQSBQQ00gZGV2aWNlcyB0byBPU1MgZGV2aWNlcyBtYXBwaW5nCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9Eb2NCb29rL3dyaXRpbmctYW4tYWxzYS1kcml2ZXIudG1wbCBiL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9Eb2NCb29rL3dyaXRpbmctYW4tYWxzYS1kcml2ZXIudG1wbAppbmRleCBiMDNkZjRkLi5lMTNjNGU2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvRG9jQm9vay93cml0aW5nLWFuLWFsc2EtZHJpdmVyLnRtcGwKKysrIGIvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0RvY0Jvb2svd3JpdGluZy1hbi1hbHNhLWRyaXZlci50bXBsCkBAIC02MTI3LDggKzYxMjcsOCBAQAogCiAgICAgICA8cGFyYT4KICAgICAgICAgPGZ1bmN0aW9uPnNuZF9wcmludGRkKCk8L2Z1bmN0aW9uPiBpcyBjb21waWxlZCBpbiBvbmx5IHdoZW4KLSAgICAgIDxjb25zdGFudD5DT05GSUdfU05EX0RFQlVHX0RFVEVDVDwvY29uc3RhbnQ+IGlzIHNldC4gUGxlYXNlIG5vdGUKLSAgICAgIHRoYXQgPGNvbnN0YW50PkRFQlVHX0RFVEVDVDwvY29uc3RhbnQ+IGlzIG5vdCBzZXQgYXMgZGVmYXVsdAorICAgICAgPGNvbnN0YW50PkNPTkZJR19TTkRfREVCVUdfVkVSQk9TRTwvY29uc3RhbnQ+IGlzIHNldC4gUGxlYXNlIG5vdGUKKyAgICAgIHRoYXQgPGNvbnN0YW50PkNPTkZJR19TTkRfREVCVUdfVkVSQk9TRTwvY29uc3RhbnQ+IGlzIG5vdCBzZXQgYXMgZGVmYXVsdAogICAgICAgZXZlbiBpZiB5b3UgY29uZmlndXJlIHRoZSBhbHNhLWRyaXZlciB3aXRoCiAgICAgICA8b3B0aW9uPi0td2l0aC1kZWJ1Zz1mdWxsPC9vcHRpb24+IG9wdGlvbi4gWW91IG5lZWQgdG8gZ2l2ZQogICAgICAgZXhwbGljaXRseSA8b3B0aW9uPi0td2l0aC1kZWJ1Zz1kZXRlY3Q8L29wdGlvbj4gb3B0aW9uIGluc3RlYWQuIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90cmFjZXJzL21taW90cmFjZS50eHQgYi9Eb2N1bWVudGF0aW9uL3RyYWNlcnMvbW1pb3RyYWNlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGFmYjU2Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi90cmFjZXJzL21taW90cmFjZS50eHQKQEAgLTAsMCArMSwxNjQgQEAKKwkJSW4ta2VybmVsIG1lbW9yeS1tYXBwZWQgSS9PIHRyYWNpbmcKKworCitIb21lIHBhZ2UgYW5kIGxpbmtzIHRvIG9wdGlvbmFsIHVzZXIgc3BhY2UgdG9vbHM6CisKKwlodHRwOi8vbm91dmVhdS5mcmVlZGVza3RvcC5vcmcvd2lraS9NbWlvVHJhY2UKKworTU1JTyB0cmFjaW5nIHdhcyBvcmlnaW5hbGx5IGRldmVsb3BlZCBieSBJbnRlbCBhcm91bmQgMjAwMyBmb3IgdGhlaXIgRmF1bHQKK0luamVjdGlvbiBUZXN0IEhhcm5lc3MuIEluIERlYyAyMDA2IC0gSmFuIDIwMDcsIHVzaW5nIHRoZSBjb2RlIGZyb20gSW50ZWwsCitKZWZmIE11aXplbGFhciBjcmVhdGVkIGEgdG9vbCBmb3IgdHJhY2luZyBNTUlPIGFjY2Vzc2VzIHdpdGggdGhlIE5vdXZlYXUKK3Byb2plY3QgaW4gbWluZC4gU2luY2UgdGhlbiBtYW55IHBlb3BsZSBoYXZlIGNvbnRyaWJ1dGVkLgorCitNbWlvdHJhY2Ugd2FzIGJ1aWx0IGZvciByZXZlcnNlIGVuZ2luZWVyaW5nIGFueSBtZW1vcnktbWFwcGVkIElPIGRldmljZSB3aXRoCit0aGUgTm91dmVhdSBwcm9qZWN0IGFzIHRoZSBmaXJzdCByZWFsIHVzZXIuIE9ubHkgeDg2IGFuZCB4ODZfNjQgYXJjaGl0ZWN0dXJlcworYXJlIHN1cHBvcnRlZC4KKworT3V0LW9mLXRyZWUgbW1pb3RyYWNlIHdhcyBvcmlnaW5hbGx5IG1vZGlmaWVkIGZvciBtYWlubGluZSBpbmNsdXNpb24gYW5kCitmdHJhY2UgZnJhbWV3b3JrIGJ5IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+LgorCisKK1ByZXBhcmF0aW9uCistLS0tLS0tLS0tLQorCitNbWlvdHJhY2UgZmVhdHVyZSBpcyBjb21waWxlZCBpbiBieSB0aGUgQ09ORklHX01NSU9UUkFDRSBvcHRpb24uIFRyYWNpbmcgaXMKK2Rpc2FibGVkIGJ5IGRlZmF1bHQsIHNvIGl0IGlzIHNhZmUgdG8gaGF2ZSB0aGlzIHNldCB0byB5ZXMuIFNNUCBzeXN0ZW1zIGFyZQorc3VwcG9ydGVkLCBidXQgdHJhY2luZyBpcyB1bnJlbGlhYmxlIGFuZCBtYXkgbWlzcyBldmVudHMgaWYgbW9yZSB0aGFuIG9uZSBDUFUKK2lzIG9uLWxpbmUsIHRoZXJlZm9yZSBtbWlvdHJhY2UgdGFrZXMgYWxsIGJ1dCBvbmUgQ1BVIG9mZi1saW5lIGR1cmluZyBydW4tdGltZQorYWN0aXZhdGlvbi4gWW91IGNhbiByZS1lbmFibGUgQ1BVcyBieSBoYW5kLCBidXQgeW91IGhhdmUgYmVlbiB3YXJuZWQsIHRoZXJlCitpcyBubyB3YXkgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgaWYgeW91IGFyZSBsb3NpbmcgZXZlbnRzIGR1ZSB0byBDUFVzIHJhY2luZy4KKworCitVc2FnZSBRdWljayBSZWZlcmVuY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiskIG1vdW50IC10IGRlYnVnZnMgZGVidWdmcyAvZGVidWcKKyQgZWNobyBtbWlvdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorJCBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfcGlwZSA+IG15ZHVtcC50eHQgJgorU3RhcnQgWCBvciB3aGF0ZXZlci4KKyQgZWNobyAiWCBpcyB1cCIgPiAvZGVidWcvdHJhY2luZy9tYXJrZXIKKyQgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKK0NoZWNrIGZvciBsb3N0IGV2ZW50cy4KKworCitVc2FnZQorLS0tLS0KKworTWFrZSBzdXJlIGRlYnVnZnMgaXMgbW91bnRlZCB0byAvZGVidWcuIElmIG5vdCwgKHJlcXVpcmVzIHJvb3QgcHJpdmlsZWdlcykKKyQgbW91bnQgLXQgZGVidWdmcyBkZWJ1Z2ZzIC9kZWJ1ZworCitDaGVjayB0aGF0IHRoZSBkcml2ZXIgeW91IGFyZSBhYm91dCB0byB0cmFjZSBpcyBub3QgbG9hZGVkLgorCitBY3RpdmF0ZSBtbWlvdHJhY2UgKHJlcXVpcmVzIHJvb3QgcHJpdmlsZWdlcyk6CiskIGVjaG8gbW1pb3RyYWNlID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKworU3RhcnQgc3RvcmluZyB0aGUgdHJhY2U6CiskIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9waXBlID4gbXlkdW1wLnR4dCAmCitUaGUgJ2NhdCcgcHJvY2VzcyBzaG91bGQgc3RheSBydW5uaW5nIChzbGVlcGluZykgaW4gdGhlIGJhY2tncm91bmQuCisKK0xvYWQgdGhlIGRyaXZlciB5b3Ugd2FudCB0byB0cmFjZSBhbmQgdXNlIGl0LiBNbWlvdHJhY2Ugd2lsbCBvbmx5IGNhdGNoIE1NSU8KK2FjY2Vzc2VzIHRvIGFyZWFzIHRoYXQgYXJlIGlvcmVtYXBwZWQgd2hpbGUgbW1pb3RyYWNlIGlzIGFjdGl2ZS4KKworW1VuaW1wbGVtZW50ZWQgZmVhdHVyZTpdCitEdXJpbmcgdHJhY2luZyB5b3UgY2FuIHBsYWNlIGNvbW1lbnRzIChtYXJrZXJzKSBpbnRvIHRoZSB0cmFjZSBieQorJCBlY2hvICJYIGlzIHVwIiA+IC9kZWJ1Zy90cmFjaW5nL21hcmtlcgorVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gc2VlIHdoaWNoIHBhcnQgb2YgdGhlIChodWdlKSB0cmFjZSBjb3JyZXNwb25kcyB0bword2hpY2ggYWN0aW9uLiBJdCBpcyByZWNvbW1lbmRlZCB0byBwbGFjZSBkZXNjcmlwdGl2ZSBtYXJrZXJzIGFib3V0IHdoYXQgeW91Citkby4KKworU2h1dCBkb3duIG1taW90cmFjZSAocmVxdWlyZXMgcm9vdCBwcml2aWxlZ2VzKToKKyQgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKK1RoZSAnY2F0JyBwcm9jZXNzIGV4aXRzLiBJZiBpdCBkb2VzIG5vdCwga2lsbCBpdCBieSBpc3N1aW5nICdmZycgY29tbWFuZCBhbmQKK3ByZXNzaW5nIGN0cmwrYy4KKworQ2hlY2sgdGhhdCBtbWlvdHJhY2UgZGlkIG5vdCBsb3NlIGV2ZW50cyBkdWUgdG8gYSBidWZmZXIgZmlsbGluZyB1cC4gRWl0aGVyCiskIGdyZXAgLWkgbG9zdCBteWR1bXAudHh0Cit3aGljaCB0ZWxscyB5b3UgZXhhY3RseSBob3cgbWFueSBldmVudHMgd2VyZSBsb3N0LCBvciB1c2UKKyQgZG1lc2cKK3RvIHZpZXcgeW91ciBrZXJuZWwgbG9nIGFuZCBsb29rIGZvciAibW1pb3RyYWNlIGhhcyBsb3N0IGV2ZW50cyIgd2FybmluZy4gSWYKK2V2ZW50cyB3ZXJlIGxvc3QsIHRoZSB0cmFjZSBpcyBpbmNvbXBsZXRlLiBZb3Ugc2hvdWxkIGVubGFyZ2UgdGhlIGJ1ZmZlcnMgYW5kCit0cnkgYWdhaW4uIEJ1ZmZlcnMgYXJlIGVubGFyZ2VkIGJ5IGZpcnN0IHNlZWluZyBob3cgbGFyZ2UgdGhlIGN1cnJlbnQgYnVmZmVycworYXJlOgorJCBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworZ2l2ZXMgeW91IGEgbnVtYmVyLiBBcHByb3hpbWF0ZWx5IGRvdWJsZSB0aGlzIG51bWJlciBhbmQgd3JpdGUgaXQgYmFjaywgZm9yCitpbnN0YW5jZToKKyQgZWNobyAxMjgwMDAgPiAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCitUaGVuIHN0YXJ0IGFnYWluIGZyb20gdGhlIHRvcC4KKworSWYgeW91IGFyZSBkb2luZyBhIHRyYWNlIGZvciBhIGRyaXZlciBwcm9qZWN0LCBlLmcuIE5vdXZlYXUsIHlvdSBzaG91bGQgYWxzbworZG8gdGhlIGZvbGxvd2luZyBiZWZvcmUgc2VuZGluZyB5b3VyIHJlc3VsdHM6CiskIGxzcGNpIC12dnYgPiBsc3BjaS50eHQKKyQgZG1lc2cgPiBkbWVzZy50eHQKKyQgdGFyIHpjZiBwY2lpZC1uaWNrLW1taW90cmFjZS50YXIuZ3ogbXlkdW1wLnR4dCBsc3BjaS50eHQgZG1lc2cudHh0CithbmQgdGhlbiBzZW5kIHRoZSAudGFyLmd6IGZpbGUuIFRoZSB0cmFjZSBjb21wcmVzc2VzIGNvbnNpZGVyYWJseS4gUmVwbGFjZQorInBjaWlkIiBhbmQgIm5pY2siIHdpdGggdGhlIFBDSSBJRCBvciBtb2RlbCBuYW1lIG9mIHlvdXIgcGllY2Ugb2YgaGFyZHdhcmUKK3VuZGVyIGludmVzdGlnYXRpb24gYW5kIHlvdXIgbmljayBuYW1lLgorCisKK0hvdyBNbWlvdHJhY2UgV29ya3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWNjZXNzIHRvIGhhcmR3YXJlIElPLW1lbW9yeSBpcyBnYWluZWQgYnkgbWFwcGluZyBhZGRyZXNzZXMgZnJvbSBQQ0kgYnVzIGJ5CitjYWxsaW5nIG9uZSBvZiB0aGUgaW9yZW1hcF8qKCkgZnVuY3Rpb25zLiBNbWlvdHJhY2UgaXMgaG9va2VkIGludG8gdGhlCitfX2lvcmVtYXAoKSBmdW5jdGlvbiBhbmQgZ2V0cyBjYWxsZWQgd2hlbmV2ZXIgYSBtYXBwaW5nIGlzIGNyZWF0ZWQuIE1hcHBpbmcgaXMKK2FuIGV2ZW50IHRoYXQgaXMgcmVjb3JkZWQgaW50byB0aGUgdHJhY2UgbG9nLiBOb3RlLCB0aGF0IElTQSByYW5nZSBtYXBwaW5ncworYXJlIG5vdCBjYXVnaHQsIHNpbmNlIHRoZSBtYXBwaW5nIGFsd2F5cyBleGlzdHMgYW5kIGlzIHJldHVybmVkIGRpcmVjdGx5LgorCitNTUlPIGFjY2Vzc2VzIGFyZSByZWNvcmRlZCB2aWEgcGFnZSBmYXVsdHMuIEp1c3QgYmVmb3JlIF9faW9yZW1hcCgpIHJldHVybnMsCit0aGUgbWFwcGVkIHBhZ2VzIGFyZSBtYXJrZWQgYXMgbm90IHByZXNlbnQuIEFueSBhY2Nlc3MgdG8gdGhlIHBhZ2VzIGNhdXNlcyBhCitmYXVsdC4gVGhlIHBhZ2UgZmF1bHQgaGFuZGxlciBjYWxscyBtbWlvdHJhY2UgdG8gaGFuZGxlIHRoZSBmYXVsdC4gTW1pb3RyYWNlCittYXJrcyB0aGUgcGFnZSBwcmVzZW50LCBzZXRzIFRGIGZsYWcgdG8gYWNoaWV2ZSBzaW5nbGUgc3RlcHBpbmcgYW5kIGV4aXRzIHRoZQorZmF1bHQgaGFuZGxlci4gVGhlIGluc3RydWN0aW9uIHRoYXQgZmF1bHRlZCBpcyBleGVjdXRlZCBhbmQgZGVidWcgdHJhcCBpcworZW50ZXJlZC4gSGVyZSBtbWlvdHJhY2UgYWdhaW4gbWFya3MgdGhlIHBhZ2UgYXMgbm90IHByZXNlbnQuIFRoZSBpbnN0cnVjdGlvbgoraXMgZGVjb2RlZCB0byBnZXQgdGhlIHR5cGUgb2Ygb3BlcmF0aW9uIChyZWFkL3dyaXRlKSwgZGF0YSB3aWR0aCBhbmQgdGhlIHZhbHVlCityZWFkIG9yIHdyaXR0ZW4uIFRoZXNlIGFyZSBzdG9yZWQgdG8gdGhlIHRyYWNlIGxvZy4KKworU2V0dGluZyB0aGUgcGFnZSBwcmVzZW50IGluIHRoZSBwYWdlIGZhdWx0IGhhbmRsZXIgaGFzIGEgcmFjZSBjb25kaXRpb24gb24gU01QCittYWNoaW5lcy4gRHVyaW5nIHRoZSBzaW5nbGUgc3RlcHBpbmcgb3RoZXIgQ1BVcyBtYXkgcnVuIGZyZWVseSBvbiB0aGF0IHBhZ2UKK2FuZCBldmVudHMgY2FuIGJlIG1pc3NlZCB3aXRob3V0IGEgbm90aWNlLiBSZS1lbmFibGluZyBvdGhlciBDUFVzIGR1cmluZwordHJhY2luZyBpcyBkaXNjb3VyYWdlZC4KKworCitUcmFjZSBMb2cgRm9ybWF0CistLS0tLS0tLS0tLS0tLS0tCisKK1RoZSByYXcgbG9nIGlzIHRleHQgYW5kIGVhc2lseSBmaWx0ZXJlZCB3aXRoIGUuZy4gZ3JlcCBhbmQgYXdrLiBPbmUgcmVjb3JkIGlzCitvbmUgbGluZSBpbiB0aGUgbG9nLiBBIHJlY29yZCBzdGFydHMgd2l0aCBhIGtleXdvcmQsIGZvbGxvd2VkIGJ5IGtleXdvcmQKK2RlcGVuZGFudCBhcmd1bWVudHMuIEFyZ3VtZW50cyBhcmUgc2VwYXJhdGVkIGJ5IGEgc3BhY2UsIG9yIGNvbnRpbnVlIHVudGlsIHRoZQorZW5kIG9mIGxpbmUuIFRoZSBmb3JtYXQgZm9yIHZlcnNpb24gMjAwNzA4MjQgaXMgYXMgZm9sbG93czoKKworRXhwbGFuYXRpb24JS2V5d29yZAlTcGFjZSBzZXBhcmF0ZWQgYXJndW1lbnRzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworcmVhZCBldmVudAlSCXdpZHRoLCB0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZhbHVlLCBQQywgUElECit3cml0ZSBldmVudAlXCXdpZHRoLCB0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZhbHVlLCBQQywgUElECitpb3JlbWFwIGV2ZW50CU1BUAl0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZpcnR1YWwsIGxlbmd0aCwgUEMsIFBJRAoraW91bm1hcCBldmVudAlVTk1BUAl0aW1lc3RhbXAsIG1hcCBpZCwgUEMsIFBJRAorbWFya2VyCQlNQVJLCXRpbWVzdGFtcCwgdGV4dAordmVyc2lvbgkJVkVSU0lPTgl0aGUgc3RyaW5nICIyMDA3MDgyNCIKK2luZm8gZm9yIHJlYWRlcglMU1BDSQlvbmUgbGluZSBmcm9tIGxzcGNpIC12CitQQ0kgYWRkcmVzcyBtYXAJUENJREVWCXNwYWNlIHNlcGFyYXRlZCAvcHJvYy9idXMvcGNpL2RldmljZXMgZGF0YQordW5rLiBvcGNvZGUJVU5LTk9XTgl0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIGRhdGEsIFBDLCBQSUQKKworVGltZXN0YW1wIGlzIGluIHNlY29uZHMgd2l0aCBkZWNpbWFscy4gUGh5c2ljYWwgaXMgYSBQQ0kgYnVzIGFkZHJlc3MsIHZpcnR1YWwKK2lzIGEga2VybmVsIHZpcnR1YWwgYWRkcmVzcy4gV2lkdGggaXMgdGhlIGRhdGEgd2lkdGggaW4gYnl0ZXMgYW5kIHZhbHVlIGlzIHRoZQorZGF0YSB2YWx1ZS4gTWFwIGlkIGlzIGFuIGFyYml0cmFyeSBpZCBudW1iZXIgaWRlbnRpZnlpbmcgdGhlIG1hcHBpbmcgdGhhdCB3YXMKK3VzZWQgaW4gYW4gb3BlcmF0aW9uLiBQQyBpcyB0aGUgcHJvZ3JhbSBjb3VudGVyIGFuZCBQSUQgaXMgcHJvY2VzcyBpZC4gUEMgaXMKK3plcm8gaWYgaXQgaXMgbm90IHJlY29yZGVkLiBQSUQgaXMgYWx3YXlzIHplcm8gYXMgdHJhY2luZyBNTUlPIGFjY2Vzc2VzCitvcmlnaW5hdGluZyBpbiB1c2VyIHNwYWNlIG1lbW9yeSBpcyBub3QgeWV0IHN1cHBvcnRlZC4KKworRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93aW5nIGF3ayBmaWx0ZXIgd2lsbCBwYXNzIGFsbCAzMi1iaXQgd3JpdGVzIHRoYXQgdGFyZ2V0CitwaHlzaWNhbCBhZGRyZXNzZXMgaW4gdGhlIHJhbmdlIFsweGZiNzNjZTQwLCAweGZiODAwMDAwWworCiskIGF3ayAnL1cgNCAvIHsgYWRyPXN0cnRvbnVtKCQ1KTsgaWYgKGFkciA+PSAweGZiNzNjZTQwICYmCithZHIgPCAweGZiODAwMDAwKSBwcmludDsgfScKKworCitUb29scyBmb3IgRGV2ZWxvcGVycworLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIHVzZXIgc3BhY2UgdG9vbHMgaW5jbHVkZSB1dGlsaXRpZXMgZm9yOgorLSByZXBsYWNpbmcgbnVtZXJpYyBhZGRyZXNzZXMgYW5kIHZhbHVlcyB3aXRoIGhhcmR3YXJlIHJlZ2lzdGVyIG5hbWVzCistIHJlcGxheWluZyBNTUlPIGxvZ3MsIGkuZS4sIHJlLWV4ZWN1dGluZyB0aGUgcmVjb3JkZWQgd3JpdGVzCisKKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMzg2L0lPLUFQSUMudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9JTy1BUElDLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi9pMzg2L0lPLUFQSUMudHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni9pMzg2L0lPLUFQSUMudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kzODYvYm9vdC50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni9pMzg2L2Jvb3QudHh0CnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24vaTM4Ni9ib290LnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9ib290LnR4dAppbmRleCA5NWFkMTVjLi4xNDdiZmU1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2kzODYvYm9vdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9ib290LnR4dApAQCAtMSwxNyArMSwxNCBAQAotCQkgICAgIFRIRSBMSU5VWC9JMzg2IEJPT1QgUFJPVE9DT0wKLQkJICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJCSAgICAgVEhFIExJTlVYL3g4NiBCT09UIFBST1RPQ09MCisJCSAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLQkJICAgIEguIFBldGVyIEFudmluIDxocGFAenl0b3IuY29tPgotCQkJTGFzdCB1cGRhdGUgMjAwNy0wNS0yMwotCi1PbiB0aGUgaTM4NiBwbGF0Zm9ybSwgdGhlIExpbnV4IGtlcm5lbCB1c2VzIGEgcmF0aGVyIGNvbXBsaWNhdGVkIGJvb3QKK09uIHRoZSB4ODYgcGxhdGZvcm0sIHRoZSBMaW51eCBrZXJuZWwgdXNlcyBhIHJhdGhlciBjb21wbGljYXRlZCBib290CiBjb252ZW50aW9uLiAgVGhpcyBoYXMgZXZvbHZlZCBwYXJ0aWFsbHkgZHVlIHRvIGhpc3RvcmljYWwgYXNwZWN0cywgYXMKIHdlbGwgYXMgdGhlIGRlc2lyZSBpbiB0aGUgZWFybHkgZGF5cyB0byBoYXZlIHRoZSBrZXJuZWwgaXRzZWxmIGJlIGEKIGJvb3RhYmxlIGltYWdlLCB0aGUgY29tcGxpY2F0ZWQgUEMgbWVtb3J5IG1vZGVsIGFuZCBkdWUgdG8gY2hhbmdlZAogZXhwZWN0YXRpb25zIGluIHRoZSBQQyBpbmR1c3RyeSBjYXVzZWQgYnkgdGhlIGVmZmVjdGl2ZSBkZW1pc2Ugb2YKIHJlYWwtbW9kZSBET1MgYXMgYSBtYWluc3RyZWFtIG9wZXJhdGluZyBzeXN0ZW0uCiAKLUN1cnJlbnRseSwgdGhlIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiB0aGUgTGludXgvaTM4NiBib290IHByb3RvY29sIGV4aXN0LgorQ3VycmVudGx5LCB0aGUgZm9sbG93aW5nIHZlcnNpb25zIG9mIHRoZSBMaW51eC94ODYgYm9vdCBwcm90b2NvbCBleGlzdC4KIAogT2xkIGtlcm5lbHM6CXpJbWFnZS9JbWFnZSBzdXBwb3J0IG9ubHkuICBTb21lIHZlcnkgZWFybHkga2VybmVscwogCQltYXkgbm90IGV2ZW4gc3VwcG9ydCBhIGNvbW1hbmQgbGluZS4KQEAgLTM3MiwxMCArMzY5LDE3IEBACiAJLSBJZiAwLCB0aGUgcHJvdGVjdGVkLW1vZGUgY29kZSBpcyBsb2FkZWQgYXQgMHgxMDAwMC4KIAktIElmIDEsIHRoZSBwcm90ZWN0ZWQtbW9kZSBjb2RlIGlzIGxvYWRlZCBhdCAweDEwMDAwMC4KIAorICBCaXQgNSAod3JpdGUpOiBRVUlFVF9GTEFHCisJLSBJZiAwLCBwcmludCBlYXJseSBtZXNzYWdlcy4KKwktIElmIDEsIHN1cHByZXNzIGVhcmx5IG1lc3NhZ2VzLgorCQlUaGlzIHJlcXVlc3RzIHRvIHRoZSBrZXJuZWwgKGRlY29tcHJlc3NvciBhbmQgZWFybHkKKwkJa2VybmVsKSB0byBub3Qgd3JpdGUgZWFybHkgbWVzc2FnZXMgdGhhdCByZXF1aXJlCisJCWFjY2Vzc2luZyB0aGUgZGlzcGxheSBoYXJkd2FyZSBkaXJlY3RseS4KKwogICBCaXQgNiAod3JpdGUpOiBLRUVQX1NFR01FTlRTCiAJUHJvdG9jb2w6IDIuMDcrCi0JLSBpZiAwLCByZWxvYWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSAzMmJpdCBlbnRyeSBwb2ludC4KLQktIGlmIDEsIGRvIG5vdCByZWxvYWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSAzMmJpdCBlbnRyeSBwb2ludC4KKwktIElmIDAsIHJlbG9hZCB0aGUgc2VnbWVudCByZWdpc3RlcnMgaW4gdGhlIDMyYml0IGVudHJ5IHBvaW50LgorCS0gSWYgMSwgZG8gbm90IHJlbG9hZCB0aGUgc2VnbWVudCByZWdpc3RlcnMgaW4gdGhlIDMyYml0IGVudHJ5IHBvaW50LgogCQlBc3N1bWUgdGhhdCAlY3MgJWRzICVzcyAlZXMgYXJlIGFsbCBzZXQgdG8gZmxhdCBzZWdtZW50cyB3aXRoCiAJCWEgYmFzZSBvZiAwIChvciB0aGUgZXF1aXZhbGVudCBmb3IgdGhlaXIgZW52aXJvbm1lbnQpLgogCkBAIC01MDQsNyArNTA4LDcgQEAKICAgbWF4aW11bSBzaXplIHdhcyAyNTUuCiAKIEZpZWxkIG5hbWU6CWhhcmR3YXJlX3N1YmFyY2gKLVR5cGU6CQl3cml0ZQorVHlwZToJCXdyaXRlIChvcHRpb25hbCwgZGVmYXVsdHMgdG8geDg2L1BDKQogT2Zmc2V0L3NpemU6CTB4MjNjLzQKIFByb3RvY29sOgkyLjA3KwogCkBAIC01MjAsMTEgKzUyNCwxMyBAQAogICAweDAwMDAwMDAyCVhlbgogCiBGaWVsZCBuYW1lOgloYXJkd2FyZV9zdWJhcmNoX2RhdGEKLVR5cGU6CQl3cml0ZQorVHlwZToJCXdyaXRlIChzdWJhcmNoLWRlcGVuZGVudCkKIE9mZnNldC9zaXplOgkweDI0MC84CiBQcm90b2NvbDoJMi4wNysKIAogICBBIHBvaW50ZXIgdG8gZGF0YSB0aGF0IGlzIHNwZWNpZmljIHRvIGhhcmR3YXJlIHN1YmFyY2gKKyAgVGhpcyBmaWVsZCBpcyBjdXJyZW50bHkgdW51c2VkIGZvciB0aGUgZGVmYXVsdCB4ODYvUEMgZW52aXJvbm1lbnQsCisgIGRvIG5vdCBtb2RpZnkuCiAKIEZpZWxkIG5hbWU6CXBheWxvYWRfb2Zmc2V0CiBUeXBlOgkJcmVhZApAQCAtNTQ1LDYgKzU1MSwzNCBAQAogCiAgIFRoZSBsZW5ndGggb2YgdGhlIHBheWxvYWQuCiAKK0ZpZWxkIG5hbWU6CXNldHVwX2RhdGEKK1R5cGU6CQl3cml0ZSAoc3BlY2lhbCkKK09mZnNldC9zaXplOgkweDI1MC84CitQcm90b2NvbDoJMi4wOSsKKworICBUaGUgNjQtYml0IHBoeXNpY2FsIHBvaW50ZXIgdG8gTlVMTCB0ZXJtaW5hdGVkIHNpbmdsZSBsaW5rZWQgbGlzdCBvZgorICBzdHJ1Y3Qgc2V0dXBfZGF0YS4gVGhpcyBpcyB1c2VkIHRvIGRlZmluZSBhIG1vcmUgZXh0ZW5zaWJsZSBib290CisgIHBhcmFtZXRlcnMgcGFzc2luZyBtZWNoYW5pc20uIFRoZSBkZWZpbml0aW9uIG9mIHN0cnVjdCBzZXR1cF9kYXRhIGlzCisgIGFzIGZvbGxvdzoKKworICBzdHJ1Y3Qgc2V0dXBfZGF0YSB7CisJICB1NjQgbmV4dDsKKwkgIHUzMiB0eXBlOworCSAgdTMyIGxlbjsKKwkgIHU4ICBkYXRhWzBdOworICB9OworCisgIFdoZXJlLCB0aGUgbmV4dCBpcyBhIDY0LWJpdCBwaHlzaWNhbCBwb2ludGVyIHRvIHRoZSBuZXh0IG5vZGUgb2YKKyAgbGlua2VkIGxpc3QsIHRoZSBuZXh0IGZpZWxkIG9mIHRoZSBsYXN0IG5vZGUgaXMgMDsgdGhlIHR5cGUgaXMgdXNlZAorICB0byBpZGVudGlmeSB0aGUgY29udGVudHMgb2YgZGF0YTsgdGhlIGxlbiBpcyB0aGUgbGVuZ3RoIG9mIGRhdGEKKyAgZmllbGQ7IHRoZSBkYXRhIGhvbGRzIHRoZSByZWFsIHBheWxvYWQuCisKKyAgVGhpcyBsaXN0IG1heSBiZSBtb2RpZmllZCBhdCBhIG51bWJlciBvZiBwb2ludHMgZHVyaW5nIHRoZSBib290dXAKKyAgcHJvY2Vzcy4gIFRoZXJlZm9yZSwgd2hlbiBtb2RpZnlpbmcgdGhpcyBsaXN0IG9uZSBzaG91bGQgYWx3YXlzIG1ha2UKKyAgc3VyZSB0byBjb25zaWRlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGlua2VkIGxpc3QgYWxyZWFkeSBjb250YWlucworICBlbnRyaWVzLgorCisKICoqKiogVEhFIElNQUdFIENIRUNLU1VNCiAKIEZyb20gYm9vdCBwcm90b2NvbCB2ZXJzaW9uIDIuMDggb253YXJkcyB0aGUgQ1JDLTMyIGlzIGNhbGN1bGF0ZWQgb3ZlcgpAQCAtNTUzLDYgKzU4Nyw3IEBACiBmaWxlOyB0aGVyZWZvcmUgdGhlIENSQyBvZiB0aGUgZmlsZSB1cCB0byB0aGUgbGltaXQgc3BlY2lmaWVkIGluIHRoZQogc3lzc2l6ZSBmaWVsZCBvZiB0aGUgaGVhZGVyIGlzIGFsd2F5cyAwLgogCisKICoqKiogVEhFIEtFUk5FTCBDT01NQU5EIExJTkUKIAogVGhlIGtlcm5lbCBjb21tYW5kIGxpbmUgaGFzIGJlY29tZSBhbiBpbXBvcnRhbnQgd2F5IGZvciB0aGUgYm9vdApAQCAtNTg0LDI4ICs2MTksNiBAQAogCWNvdmVyZWQgYnkgc2V0dXBfbW92ZV9zaXplLCBzbyB5b3UgbWF5IG5lZWQgdG8gYWRqdXN0IHRoaXMKIAlmaWVsZC4KIAotRmllbGQgbmFtZToJc2V0dXBfZGF0YQotVHlwZToJCXdyaXRlIChvYmxpZ2F0b3J5KQotT2Zmc2V0L3NpemU6CTB4MjUwLzgKLVByb3RvY29sOgkyLjA5KwotCi0gIFRoZSA2NC1iaXQgcGh5c2ljYWwgcG9pbnRlciB0byBOVUxMIHRlcm1pbmF0ZWQgc2luZ2xlIGxpbmtlZCBsaXN0IG9mCi0gIHN0cnVjdCBzZXR1cF9kYXRhLiBUaGlzIGlzIHVzZWQgdG8gZGVmaW5lIGEgbW9yZSBleHRlbnNpYmxlIGJvb3QKLSAgcGFyYW1ldGVycyBwYXNzaW5nIG1lY2hhbmlzbS4gVGhlIGRlZmluaXRpb24gb2Ygc3RydWN0IHNldHVwX2RhdGEgaXMKLSAgYXMgZm9sbG93OgotCi0gIHN0cnVjdCBzZXR1cF9kYXRhIHsKLQkgIHU2NCBuZXh0OwotCSAgdTMyIHR5cGU7Ci0JICB1MzIgbGVuOwotCSAgdTggIGRhdGFbMF07Ci0gIH07Ci0KLSAgV2hlcmUsIHRoZSBuZXh0IGlzIGEgNjQtYml0IHBoeXNpY2FsIHBvaW50ZXIgdG8gdGhlIG5leHQgbm9kZSBvZgotICBsaW5rZWQgbGlzdCwgdGhlIG5leHQgZmllbGQgb2YgdGhlIGxhc3Qgbm9kZSBpcyAwOyB0aGUgdHlwZSBpcyB1c2VkCi0gIHRvIGlkZW50aWZ5IHRoZSBjb250ZW50cyBvZiBkYXRhOyB0aGUgbGVuIGlzIHRoZSBsZW5ndGggb2YgZGF0YQotICBmaWVsZDsgdGhlIGRhdGEgaG9sZHMgdGhlIHJlYWwgcGF5bG9hZC4KLQogCiAqKioqIE1FTU9SWSBMQVlPVVQgT0YgVEhFIFJFQUwtTU9ERSBDT0RFCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL2kzODYvdXNiLWxlZ2FjeS1zdXBwb3J0LnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kzODYvemVyby1wYWdlLnR4dCBiL0RvY3VtZW50YXRpb24veDg2L2kzODYvemVyby1wYWdlLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi9pMzg2L3plcm8tcGFnZS50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L2kzODYvemVyby1wYWdlLnR4dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvMDAtSU5ERVggYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvMDAtSU5ERVgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0LzAwLUlOREVYCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvMDAtSU5ERVgKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2Jvb3Qtb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvYm9vdC1vcHRpb25zLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvYm9vdC1vcHRpb25zLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2Jvb3Qtb3B0aW9ucy50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2NwdS1ob3RwbHVnLXNwZWMgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvY3B1LWhvdHBsdWctc3BlYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvY3B1LWhvdHBsdWctc3BlYwpyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2NwdS1ob3RwbHVnLXNwZWMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9mYWtlLW51bWEtZm9yLWNwdXNldHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cwpyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQva2VybmVsLXN0YWNrcyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9rZXJuZWwtc3RhY2tzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC9rZXJuZWwtc3RhY2tzCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQva2VybmVsLXN0YWNrcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvbWFjaGluZWNoZWNrIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21hY2hpbmVjaGVjawpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvbWFjaGluZWNoZWNrCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbWFjaGluZWNoZWNrCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9tbS50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbW0udHh0CnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L21tLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21tLnR4dAppbmRleCBiODliNmQyLi5lZmNlNzUwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9tbS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21tLnR4dApAQCAtMTEsOSArMTEsOCBAQAogZmZmZmMyMDAwMDAwMDAwMCAtIGZmZmZlMWZmZmZmZmZmZmYgKD00NSBiaXRzKSB2bWFsbG9jL2lvcmVtYXAgc3BhY2UKIGZmZmZlMjAwMDAwMDAwMDAgLSBmZmZmZTJmZmZmZmZmZmZmICg9NDAgYml0cykgdmlydHVhbCBtZW1vcnkgbWFwICgxVEIpCiAuLi4gdW51c2VkIGhvbGUgLi4uCi1mZmZmZmZmZjgwMDAwMDAwIC0gZmZmZmZmZmY4MjgwMDAwMCAoPTQwIE1CKSAgIGtlcm5lbCB0ZXh0IG1hcHBpbmcsIGZyb20gcGh5cyAwCi0uLi4gdW51c2VkIGhvbGUgLi4uCi1mZmZmZmZmZjg4MDAwMDAwIC0gZmZmZmZmZmZmZmYwMDAwMCAoPTE5MTkgTUIpIG1vZHVsZSBtYXBwaW5nIHNwYWNlCitmZmZmZmZmZjgwMDAwMDAwIC0gZmZmZmZmZmZhMDAwMDAwMCAoPTUxMiBNQikgIGtlcm5lbCB0ZXh0IG1hcHBpbmcsIGZyb20gcGh5cyAwCitmZmZmZmZmZmEwMDAwMDAwIC0gZmZmZmZmZmZmZmYwMDAwMCAoPTE1MzYgTUIpIG1vZHVsZSBtYXBwaW5nIHNwYWNlCiAKIFRoZSBkaXJlY3QgbWFwcGluZyBjb3ZlcnMgYWxsIG1lbW9yeSBpbiB0aGUgc3lzdGVtIHVwIHRvIHRoZSBoaWdoZXN0CiBtZW1vcnkgYWRkcmVzcyAodGhpcyBtZWFucyBpbiBzb21lIGNhc2VzIGl0IGNhbiBhbHNvIGluY2x1ZGUgUENJIG1lbW9yeQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvdWVmaS50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvdWVmaS50eHQKc2ltaWxhcml0eSBpbmRleCA4NCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvdWVmaS50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC91ZWZpLnR4dAppbmRleCA3ZDc3MTIwLi5hNWUyYjRmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC91ZWZpLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvdWVmaS50eHQKQEAgLTM2LDMgKzM2LDcgQEAKICAgc2VydmljZXMuCiAJbm9lZmkJCXR1cm4gb2ZmIGFsbCBFRkkgcnVudGltZSBzZXJ2aWNlcwogCXJlYm9vdF90eXBlPWsJdHVybiBvZmYgRUZJIHJlYm9vdCBydW50aW1lIHNlcnZpY2UKKy0gSWYgdGhlIEVGSSBtZW1vcnkgbWFwIGhhcyBhZGRpdGlvbmFsIGVudHJpZXMgbm90IGluIHRoZSBFODIwIG1hcCwKKyAgeW91IGNhbiBpbmNsdWRlIHRob3NlIGVudHJpZXMgaW4gdGhlIGtlcm5lbHMgbWVtb3J5IG1hcCBvZiBhdmFpbGFibGUKKyAgcGh5c2ljYWwgUkFNIGJ5IHVzaW5nIHRoZSBmb2xsb3dpbmcga2VybmVsIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIuCisJYWRkX2VmaV9tZW1tYXAJaW5jbHVkZSBFRkkgbWVtb3J5IG1hcCBvZiBhdmFpbGFibGUgcGh5c2ljYWwgUkFNCmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IDY0NzYxMjUuLmZjNmMwMDUgMTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01BSU5UQUlORVJTCkBAIC0zNzYsNiArMzc2LDEyIEBACiBXOglodHRwOi8vd3d3LmFtZC5jb20vdXMtZW4vQ29ubmVjdGl2aXR5U29sdXRpb25zL1RlY2huaWNhbFJlc291cmNlcy8wLCw1MF8yMzM0XzI0NTJfMTEzNjMsMDAuaHRtbAogUzoJU3VwcG9ydGVkCiAKK0FNRCBJT01NVSAoQU1ELVZJKQorUDoJSm9lcmcgUm9lZGVsCitNOglqb2VyZy5yb2VkZWxAYW1kLmNvbQorTDoJaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKK1M6CVN1cHBvcnRlZAorCiBBTVMgKEFwcGxlIE1vdGlvbiBTZW5zb3IpIERSSVZFUgogUDoJU3RlbGlhbiBQb3AKIE06CXN0ZWxpYW5AcG9waWVzLm5ldApAQCAtMTY4MCw2ICsxNjg2LDEzIEBACiBMOglsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCiBTOglNYWludGFpbmVkCiAKK0ZSRUVTQ0FMRSBJMkMgQ1BNIERSSVZFUgorUDoJSm9jaGVuIEZyaWVkcmljaAorTToJam9jaGVuQHNjcmFtLmRlCitMOglsaW51eHBwYy1kZXZAb3psYWJzLm9yZworTDoJaTJjQGxtLXNlbnNvcnMub3JnCitTOglNYWludGFpbmVkCisKIEZSRUVTQ0FMRSBTT0MgRlNfRU5FVCBEUklWRVIKIFA6CVBhbnRlbGlzIEFudG9uaW91CiBNOglwYW50ZWxpcy5hbnRvbmlvdUBnbWFpbC5jb20KQEAgLTE3NjQsNiArMTc3NywxMSBAQAogVzoJZnRwOi8vZnRwLm9wZW5saW51eC5vcmcvcHViL3Blb3BsZS9oY2gvdnhmcwogUzoJTWFpbnRhaW5lZAogCitGVFJBQ0UKK1A6CVN0ZXZlbiBSb3N0ZWR0CitNOglzcm9zdGVkdEByZWRoYXQuY29tCitTOglNYWludGFpbmVkCisKIEZVSklUU1UgRlItViAoRlJWKSBQT1JUCiBQOglEYXZpZCBIb3dlbGxzCiBNOglkaG93ZWxsc0ByZWRoYXQuY29tCkBAIC0zMDgyLDggKzMxMDAsOCBAQAogUzoJTWFpbnRhaW5lZAogCiBPUFJPRklMRQotUDoJUGhpbGlwcGUgRWxpZQotTToJcGhpbC5lbEB3YW5hZG9vLmZyCitQOglSb2JlcnQgUmljaHRlcgorTToJcm9iZXJ0LnJpY2h0ZXJAYW1kLmNvbQogTDoJb3Byb2ZpbGUtbGlzdEBsaXN0cy5zZi5uZXQKIFM6CU1haW50YWluZWQKIApkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA2MzE1NDI0Li41ZWZkZDg4IDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtMSw3ICsxLDcgQEAKIFZFUlNJT04gPSAyCiBQQVRDSExFVkVMID0gNgogU1VCTEVWRUwgPSAyNgotRVhUUkFWRVJTSU9OID0gLXJjOQorRVhUUkFWRVJTSU9OID0KIE5BTUUgPSBSb3RhcnkgV29tYmF0CiAKICMgKkRPQ1VNRU5UQVRJT04qCkBAIC00NTAsNyArNDUwLDcgQEAKIAogIyBPYmplY3RzIHdlIHdpbGwgbGluayBpbnRvIHZtbGludXggLyBzdWJkaXJzIHdlIG5lZWQgdG8gdmlzaXQKIGluaXQteQkJOj0gaW5pdC8KLWRyaXZlcnMteQk6PSBkcml2ZXJzLyBzb3VuZC8KK2RyaXZlcnMteQk6PSBkcml2ZXJzLyBzb3VuZC8gZmlybXdhcmUvCiBuZXQteQkJOj0gbmV0LwogbGlicy15CQk6PSBsaWIvCiBjb3JlLXkJCTo9IHVzci8KQEAgLTUyOCw2ICs1MjgsMTAgQEAKIEtCVUlMRF9BRkxBR1MJKz0gLWdkd2FyZi0yCiBlbmRpZgogCitpZmRlZiBDT05GSUdfRlRSQUNFCitLQlVJTERfQ0ZMQUdTCSs9IC1wZworZW5kaWYKKwogIyBXZSB0cmlnZ2VyIGFkZGl0aW9uYWwgbWlzbWF0Y2hlcyB3aXRoIGxlc3MgaW5saW5pbmcKIGlmZGVmIENPTkZJR19ERUJVR19TRUNUSU9OX01JU01BVENICiBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sIC1mbm8taW5saW5lLWZ1bmN0aW9ucy1jYWxsZWQtb25jZSkKQEAgLTk5NSw2ICs5OTksMTYgQEAKIAlAZWNobyAnKioqIFdhcm5pbmc6IG1ha2UgJEAgaXMgdW5uZWNlc3Nhcnkgbm93LicKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRmlybXdhcmUgaW5zdGFsbAorSU5TVEFMTF9GV19QQVRIPSQoSU5TVEFMTF9NT0RfUEFUSCkvbGliL2Zpcm13YXJlCitleHBvcnQgSU5TVEFMTF9GV19QQVRICisKK1BIT05ZICs9IGZpcm13YXJlX2luc3RhbGwKK2Zpcm13YXJlX2luc3RhbGw6IEZPUkNFCisJQG1rZGlyIC1wICQob2JqdHJlZSkvZmlybXdhcmUKKwkkKFEpJChNQUtFKSAtZiAkKHNyY3RyZWUpL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0IG9iaj1maXJtd2FyZSBfX2Z3X2luc3RhbGwKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgS2VybmVsIGhlYWRlcnMKIElOU1RBTExfSERSX1BBVEg9JChvYmp0cmVlKS91c3IKIGV4cG9ydCBJTlNUQUxMX0hEUl9QQVRICkBAIC0xMDgwLDYgKzEwOTQsNyBAQAogIyBib290IHNjcmlwdCBkZXBtb2QgaXMgdGhlIG1hc3RlciB2ZXJzaW9uLgogUEhPTlkgKz0gX21vZGluc3RfcG9zdAogX21vZGluc3RfcG9zdDogX21vZGluc3RfCisJJChRKSQoTUFLRSkgLWYgJChzcmN0cmVlKS9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdCBvYmo9ZmlybXdhcmUgX19md19tb2RpbnN0CiAJJChjYWxsIGNtZCxkZXBtb2QpCiAKIGVsc2UgIyBDT05GSUdfTU9EVUxFUwpAQCAtMTE5Nyw2ICsxMjEyLDggQEAKIAlAZWNobyAgJyogdm1saW51eAkgIC0gQnVpbGQgdGhlIGJhcmUga2VybmVsJwogCUBlY2hvICAnKiBtb2R1bGVzCSAgLSBCdWlsZCBhbGwgbW9kdWxlcycKIAlAZWNobyAgJyAgbW9kdWxlc19pbnN0YWxsIC0gSW5zdGFsbCBhbGwgbW9kdWxlcyB0byBJTlNUQUxMX01PRF9QQVRIIChkZWZhdWx0OiAvKScKKwlAZWNobyAgJyAgZmlybXdhcmVfaW5zdGFsbC0gSW5zdGFsbCBhbGwgZmlybXdhcmUgdG8gSU5TVEFMTF9GV19QQVRIJworCUBlY2hvICAnICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDogJCQoSU5TVEFMTF9NT0RfUEFUSCkvbGliL2Zpcm13YXJlKScKIAlAZWNobyAgJyAgZGlyLyAgICAgICAgICAgIC0gQnVpbGQgYWxsIGZpbGVzIGluIGRpciBhbmQgYmVsb3cnCiAJQGVjaG8gICcgIGRpci9maWxlLltvaXNdICAtIEJ1aWxkIHNwZWNpZmllZCB0YXJnZXQgb25seScKIAlAZWNobyAgJyAgZGlyL2ZpbGUua28gICAgIC0gQnVpbGQgbW9kdWxlIGluY2x1ZGluZyBmaW5hbCBsaW5rJwpkaWZmIC0tZ2l0IGEvYXJjaC9LY29uZmlnIGIvYXJjaC9LY29uZmlnCmluZGV4IDNlYTMzMmIuLmFkODlhMzMgMTAwNjQ0Ci0tLSBhL2FyY2gvS2NvbmZpZworKysgYi9hcmNoL0tjb25maWcKQEAgLTM5LDMgKzM5LDYgQEAKIAogY29uZmlnIEhBVkVfRE1BX0FUVFJTCiAJZGVmX2Jvb2wgbgorCitjb25maWcgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKKwlkZWZfYm9vbCBuCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL0tjb25maWcgYi9hcmNoL2FscGhhL0tjb25maWcKaW5kZXggNzI5Y2RiZC4uZGJlOGMyOCAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9LY29uZmlnCisrKyBiL2FyY2gvYWxwaGEvS2NvbmZpZwpAQCAtNTI4LDYgKzUyOCw3IEBACiBjb25maWcgU01QCiAJYm9vbCAiU3ltbWV0cmljIG11bHRpLXByb2Nlc3Npbmcgc3VwcG9ydCIKIAlkZXBlbmRzIG9uIEFMUEhBX1NBQkxFIHx8IEFMUEhBX0xZTlggfHwgQUxQSEFfUkFXSElERSB8fCBBTFBIQV9EUDI2NCB8fCBBTFBIQV9XSUxERklSRSB8fCBBTFBIQV9USVRBTiB8fCBBTFBIQV9HRU5FUklDIHx8IEFMUEhBX1NIQVJLIHx8IEFMUEhBX01BUlZFTAorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL2tlcm5lbC9jb3JlX21hcnZlbC5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvY29yZV9tYXJ2ZWwuYwppbmRleCBiMDRmMWZlLi4wNGRjYzVlIDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9jb3JlX21hcnZlbC5jCisrKyBiL2FyY2gvYWxwaGEva2VybmVsL2NvcmVfbWFydmVsLmMKQEAgLTY2MCw5ICs2NjAsOSBAQAogCiAjaWZkZWYgQ09ORklHX1NNUAogCQlpZiAoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IGJvb3RfY3B1aWQpCi0JCQlzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoX19tYXJ2ZWxfYWNjZXNzX3J0YywKLQkJCQkJCSAmcnRjX2FjY2VzcywgMSwgMSwKLQkJCQkJCSBjcHVtYXNrX29mX2NwdShib290X2NwdWlkKSk7CisJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoYm9vdF9jcHVpZCwKKwkJCQkJCSBfX21hcnZlbF9hY2Nlc3NfcnRjLAorCQkJCQkJICZydGNfYWNjZXNzLCAxKTsKIAkJZWxzZQogCQkJX19tYXJ2ZWxfYWNjZXNzX3J0YygmcnRjX2FjY2Vzcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvaXJxLmMgYi9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYwppbmRleCBmYWNmODJhLi5jNjI2YTgyIDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYworKysgYi9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYwpAQCAtNDIsOCArNDIsNyBAQAogI2lmZGVmIENPTkZJR19TTVAgCiBzdGF0aWMgY2hhciBpcnFfdXNlcl9hZmZpbml0eVtOUl9JUlFTXTsKIAotaW50Ci1zZWxlY3Rfc21wX2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpCitpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXN0YXRpYyBpbnQgbGFzdF9jcHU7CiAJaW50IGNwdSA9IGxhc3RfY3B1ICsgMTsKQEAgLTUxLDcgKzUwLDcgQEAKIAlpZiAoIWlycV9kZXNjW2lycV0uY2hpcC0+c2V0X2FmZmluaXR5IHx8IGlycV91c2VyX2FmZmluaXR5W2lycV0pCiAJCXJldHVybiAxOwogCi0Jd2hpbGUgKCFjcHVfcG9zc2libGUoY3B1KSkKKwl3aGlsZSAoIWNwdV9wb3NzaWJsZShjcHUpIHx8ICFjcHVfaXNzZXQoY3B1LCBpcnFfZGVmYXVsdF9hZmZpbml0eSkpCiAJCWNwdSA9IChjcHUgPCAoTlJfQ1BVUy0xKSA/IGNwdSArIDEgOiAwKTsKIAlsYXN0X2NwdSA9IGNwdTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IDk2ZWQ4MmYuLjM1MTQwN2UgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL2FscGhhL2tlcm5lbC9wcm9jZXNzLmMKQEAgLTE2MCw3ICsxNjAsNyBAQAogCXN0cnVjdCBoYWx0X2luZm8gYXJnczsKIAlhcmdzLm1vZGUgPSBtb2RlOwogCWFyZ3MucmVzdGFydF9jbWQgPSByZXN0YXJ0X2NtZDsKLQlvbl9lYWNoX2NwdShjb21tb25fc2h1dGRvd25fMSwgJmFyZ3MsIDEsIDApOworCW9uX2VhY2hfY3B1KGNvbW1vbl9zaHV0ZG93bl8xLCAmYXJncywgMCk7CiB9CiAKIHZvaWQKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEva2VybmVsL3NtcC5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKaW5kZXggMjUyNTY5Mi4uODNkZjU0MSAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKQEAgLTYyLDYgKzYyLDcgQEAKIGVudW0gaXBpX21lc3NhZ2VfdHlwZSB7CiAJSVBJX1JFU0NIRURVTEUsCiAJSVBJX0NBTExfRlVOQywKKwlJUElfQ0FMTF9GVU5DX1NJTkdMRSwKIAlJUElfQ1BVX1NUT1AsCiB9OwogCkBAIC01NTgsNTEgKzU1OSw2IEBACiAJCXdyaXBpcihpKTsKIH0KIAotLyogU3RydWN0dXJlIGFuZCBkYXRhIGZvciBzbXBfY2FsbF9mdW5jdGlvbi4gIFRoaXMgaXMgZGVzaWduZWQgdG8gCi0gICBtaW5pbWl6ZSBzdGF0aWMgbWVtb3J5IHJlcXVpcmVtZW50cy4gIFBsdXMgaXQgbG9va3MgY2xlYW5lci4gICovCi0KLXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlsb25nIHdhaXQ7Ci0JYXRvbWljX3QgdW5zdGFydGVkX2NvdW50OwotCWF0b21pY190IHVuZmluaXNoZWRfY291bnQ7Ci19OwotCi1zdGF0aWMgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqc21wX2NhbGxfZnVuY3Rpb25fZGF0YTsKLQotLyogQXRvbWljbHkgZHJvcCBkYXRhIGludG8gYSBzaGFyZWQgcG9pbnRlci4gIFRoZSBwb2ludGVyIGlzIGZyZWUgaWYKLSAgIGl0IGlzIGluaXRpYWxseSBsb2NrZWQuICBJZiByZXRyeSwgc3BpbiB1bnRpbCBmcmVlLiAgKi8KLQotc3RhdGljIGludAotcG9pbnRlcl9sb2NrICh2b2lkICpsb2NrLCB2b2lkICpkYXRhLCBpbnQgcmV0cnkpCi17Ci0Jdm9pZCAqb2xkLCAqdG1wOwotCi0JbWIoKTsKLSBhZ2FpbjoKLQkvKiBDb21wYXJlIGFuZCBzd2FwIHdpdGggemVyby4gICovCi0JYXNtIHZvbGF0aWxlICgKLQkiMToJbGRxX2wJJTAsJTFcbiIKLQkiCW1vdgklMywlMlxuIgotCSIJYm5lCSUwLDJmXG4iCi0JIglzdHFfYwklMiwlMVxuIgotCSIJYmVxCSUyLDFiXG4iCi0JIjI6IgotCTogIj0mciIob2xkKSwgIj1tIigqKHZvaWQgKiopbG9jayksICI9JnIiKHRtcCkKLQk6ICJyIihkYXRhKQotCTogIm1lbW9yeSIpOwotCi0JaWYgKG9sZCA9PSAwKQotCQlyZXR1cm4gMDsKLQlpZiAoISByZXRyeSkKLQkJcmV0dXJuIC1FQlVTWTsKLQotCXdoaWxlICgqKHZvaWQgKiopbG9jaykKLQkJYmFycmllcigpOwotCWdvdG8gYWdhaW47Ci19Ci0KIHZvaWQKIGhhbmRsZV9pcGkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CkBAIC02MzIsMzEgKzU4OCwxMiBAQAogCQkJYnJlYWs7CiAKIAkJY2FzZSBJUElfQ0FMTF9GVU5DOgotCQkgICAgewotCQkJc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqZGF0YTsKLQkJCXZvaWQgKCpmdW5jKSh2b2lkICppbmZvKTsKLQkJCXZvaWQgKmluZm87Ci0JCQlpbnQgd2FpdDsKLQotCQkJZGF0YSA9IHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGE7Ci0JCQlmdW5jID0gZGF0YS0+ZnVuYzsKLQkJCWluZm8gPSBkYXRhLT5pbmZvOwotCQkJd2FpdCA9IGRhdGEtPndhaXQ7Ci0KLQkJCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUgZGF0YSBoYXMgYmVlbgotCQkJICAgcmVjZWl2ZWQsIGFuZCBleGVjdXRpb24gaXMgYWJvdXQgdG8gYmVnaW4uICAqLwotCQkJbWIoKTsKLQkJCWF0b21pY19kZWMgKCZkYXRhLT51bnN0YXJ0ZWRfY291bnQpOwotCi0JCQkvKiBBdCB0aGlzIHBvaW50IHRoZSBzdHJ1Y3R1cmUgbWF5IGJlIGdvbmUgdW5sZXNzCi0JCQkgICB3YWl0IGlzIHRydWUuICAqLwotCQkJKCpmdW5jKShpbmZvKTsKLQotCQkJLyogTm90aWZ5IHRoZSBzZW5kaW5nIENQVSB0aGF0IHRoZSB0YXNrIGlzIGRvbmUuICAqLwotCQkJbWIoKTsKLQkJCWlmICh3YWl0KSBhdG9taWNfZGVjICgmZGF0YS0+dW5maW5pc2hlZF9jb3VudCk7CisJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCQkJYnJlYWs7Ci0JCSAgICB9CisKKwkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCQkJYnJlYWs7CiAKIAkJY2FzZSBJUElfQ1BVX1NUT1A6CiAJCQloYWx0KCk7CkBAIC03MDAsMTAyICs2MzcsMTUgQEAKIAlzZW5kX2lwaV9tZXNzYWdlKHRvX3dob20sIElQSV9DUFVfU1RPUCk7CiB9CiAKLS8qCi0gKiBSdW4gYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgQ1BVcy4KLSAqICA8ZnVuYz4JVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgPHJldHJ5PglJZiB0cnVlLCBrZWVwIHJldHJ5aW5nIHVudGlsIHJlYWR5LgotICogIDx3YWl0PglJZiB0cnVlLCB3YWl0IHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqICBbUkVUVVJOU10gICAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBEb2VzIG5vdCByZXR1cm4gdW50aWwgcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPgotICogb3IgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi0KLWludAotc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1ICh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksCi0JCQkgIGludCB3YWl0LCBjcHVtYXNrX3QgdG9fd2hvbSkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgZGF0YTsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Ci0JaW50IG51bV9jcHVzX3RvX2NhbGw7Ci0JCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlkYXRhLndhaXQgPSB3YWl0OwotCi0JY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgdG9fd2hvbSk7Ci0JbnVtX2NwdXNfdG9fY2FsbCA9IGNwdXNfd2VpZ2h0KHRvX3dob20pOwotCi0JYXRvbWljX3NldCgmZGF0YS51bnN0YXJ0ZWRfY291bnQsIG51bV9jcHVzX3RvX2NhbGwpOwotCWF0b21pY19zZXQoJmRhdGEudW5maW5pc2hlZF9jb3VudCwgbnVtX2NwdXNfdG9fY2FsbCk7Ci0KLQkvKiBBY3F1aXJlIHRoZSBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhIG11dGV4LiAgKi8KLQlpZiAocG9pbnRlcl9sb2NrKCZzbXBfY2FsbF9mdW5jdGlvbl9kYXRhLCAmZGF0YSwgcmV0cnkpKQotCQlyZXR1cm4gLUVCVVNZOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gdGhlIHJlcXVlc3RlZCBDUFVzLiAgKi8KLQlzZW5kX2lwaV9tZXNzYWdlKHRvX3dob20sIElQSV9DQUxMX0ZVTkMpOwotCi0JLyogV2FpdCBmb3IgYSBtaW5pbWFsIHJlc3BvbnNlLiAgKi8KLQl0aW1lb3V0ID0gamlmZmllcyArIEhaOwotCXdoaWxlIChhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDAKLQkgICAgICAgJiYgdGltZV9iZWZvcmUgKGppZmZpZXMsIHRpbWVvdXQpKQotCQliYXJyaWVyKCk7Ci0KLQkvKiBJZiB0aGVyZSdzIG5vIHJlc3BvbnNlIHlldCwgbG9nIGEgbWVzc2FnZSBidXQgYWxsb3cgYSBsb25nZXIKLQkgKiB0aW1lb3V0IHBlcmlvZCAtLSBpZiB3ZSBnZXQgYSByZXNwb25zZSB0aGlzIHRpbWUsIGxvZwotCSAqIGEgbWVzc2FnZSBzYXlpbmcgd2hlbiB3ZSBnb3QgaXQuLiAKLQkgKi8KLQlpZiAoYXRvbWljX3JlYWQoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApIHsKLQkJbG9uZyBzdGFydF90aW1lID0gamlmZmllczsKLQkJcHJpbnRrKEtFUk5fRVJSICIlczogaW5pdGlhbCB0aW1lb3V0IC0tIHRyeWluZyBsb25nIHdhaXRcbiIsCi0JCSAgICAgICBfX2Z1bmNfXyk7Ci0JCXRpbWVvdXQgPSBqaWZmaWVzICsgMzAgKiBIWjsKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPiAwCi0JCSAgICAgICAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkKLQkJCWJhcnJpZXIoKTsKLQkJaWYgKGF0b21pY19yZWFkKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPD0gMCkgewotCQkJbG9uZyBkZWx0YSA9IGppZmZpZXMgLSBzdGFydF90aW1lOwotCQkJcHJpbnRrKEtFUk5fRVJSIAotCQkJICAgICAgICIlczogcmVzcG9uc2UgJWxkLiVsZCBzZWNvbmRzIGludG8gbG9uZyB3YWl0XG4iLAotCQkJICAgICAgIF9fZnVuY19fLCBkZWx0YSAvIEhaLAotCQkJICAgICAgICgxMDAgKiAoZGVsdGEgLSAoKGRlbHRhIC8gSFopICogSFopKSkgLyBIWik7Ci0JCX0KLQl9Ci0KLQkvKiBXZSBlaXRoZXIgZ290IG9uZSBvciB0aW1lZCBvdXQgLS0gY2xlYXIgdGhlIGxvY2suICovCi0JbWIoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbl9kYXRhID0gTlVMTDsKLQotCS8qIAotCSAqIElmIGFmdGVyIGJvdGggdGhlIGluaXRpYWwgYW5kIGxvbmcgdGltZW91dCBwZXJpb2RzIHdlIHN0aWxsIGRvbid0Ci0JICogaGF2ZSBhIHJlc3BvbnNlLCBzb21ldGhpbmcgaXMgdmVyeSB3cm9uZy4uLgotCSAqLwotCUJVR19PTihhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApOwotCi0JLyogV2FpdCBmb3IgYSBjb21wbGV0ZSByZXNwb25zZSwgaWYgbmVlZGVkLiAgKi8KLQlpZiAod2FpdCkgewotCQl3aGlsZSAoYXRvbWljX3JlYWQgKCZkYXRhLnVuZmluaXNoZWRfY291bnQpID4gMCkKLQkJCWJhcnJpZXIoKTsKLQl9Ci0KLQlyZXR1cm4gMDsKKwlzZW5kX2lwaV9tZXNzYWdlKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUpOwogCi1pbnQKLXNtcF9jYWxsX2Z1bmN0aW9uICh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdSAoZnVuYywgaW5mbywgcmV0cnksIHdhaXQsCi0JCQkJCSBjcHVfb25saW5lX21hcCk7CisJc2VuZF9pcGlfbWVzc2FnZShjcHVtYXNrX29mX2NwdShjcHUpLCBJUElfQ0FMTF9GVU5DX1NJTkdMRSk7CiB9Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKIAogc3RhdGljIHZvaWQKIGlwaV9pbWIodm9pZCAqaWdub3JlZCkKQEAgLTgwNyw3ICs2NTcsNyBAQAogc21wX2ltYih2b2lkKQogewogCS8qIE11c3Qgd2FpdCBvdGhlciBwcm9jZXNzb3JzIHRvIGZsdXNoIHRoZWlyIGljYWNoZSBiZWZvcmUgY29udGludWUuICovCi0JaWYgKG9uX2VhY2hfY3B1KGlwaV9pbWIsIE5VTEwsIDEsIDEpKQorCWlmIChvbl9lYWNoX2NwdShpcGlfaW1iLCBOVUxMLCAxKSkKIAkJcHJpbnRrKEtFUk5fQ1JJVCAic21wX2ltYjogdGltZWQgb3V0XG4iKTsKIH0KIEVYUE9SVF9TWU1CT0woc21wX2ltYik7CkBAIC04MjMsNyArNjczLDcgQEAKIHsKIAkvKiBBbHRob3VnaCB3ZSBkb24ndCBoYXZlIGFueSBkYXRhIHRvIHBhc3MsIHdlIGRvIHdhbnQgdG8KIAkgICBzeW5jaHJvbml6ZSB3aXRoIHRoZSBvdGhlciBwcm9jZXNzb3JzLiAgKi8KLQlpZiAob25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpKSB7CisJaWYgKG9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfYWxsLCBOVUxMLCAxKSkgewogCQlwcmludGsoS0VSTl9DUklUICJmbHVzaF90bGJfYWxsOiB0aW1lZCBvdXRcbiIpOwogCX0KIH0KQEAgLTg2MCw3ICs3MTAsNyBAQAogCQl9CiAJfQogCi0JaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9mbHVzaF90bGJfbW0sIG1tLCAxLCAxKSkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfdGxiX21tLCBtbSwgMSkpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAiZmx1c2hfdGxiX21tOiB0aW1lZCBvdXRcbiIpOwogCX0KIApAQCAtOTEzLDcgKzc2Myw3IEBACiAJZGF0YS5tbSA9IG1tOwogCWRhdGEuYWRkciA9IGFkZHI7CiAKLQlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2ZsdXNoX3RsYl9wYWdlLCAmZGF0YSwgMSwgMSkpIHsKKwlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2ZsdXNoX3RsYl9wYWdlLCAmZGF0YSwgMSkpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAiZmx1c2hfdGxiX3BhZ2U6IHRpbWVkIG91dFxuIik7CiAJfQogCkBAIC05NjUsNyArODE1LDcgQEAKIAkJfQogCX0KIAotCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfaWNhY2hlX3BhZ2UsIG1tLCAxLCAxKSkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfaWNhY2hlX3BhZ2UsIG1tLCAxKSkgewogCQlwcmludGsoS0VSTl9DUklUICJmbHVzaF9pY2FjaGVfcGFnZTogdGltZWQgb3V0XG4iKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEvb3Byb2ZpbGUvY29tbW9uLmMgYi9hcmNoL2FscGhhL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IDlmYzBlZWIuLjdjM2Q1ZWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEvb3Byb2ZpbGUvY29tbW9uLmMKKysrIGIvYXJjaC9hbHBoYS9vcHJvZmlsZS9jb21tb24uYwpAQCAtNjUsNyArNjUsNyBAQAogCW1vZGVsLT5yZWdfc2V0dXAoJnJlZywgY3RyLCAmc3lzKTsKIAogCS8qIENvbmZpZ3VyZSB0aGUgcmVnaXN0ZXJzIG9uIGFsbCBjcHVzLiAgKi8KLQkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihtb2RlbC0+Y3B1X3NldHVwLCAmcmVnLCAwLCAxKTsKKwkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihtb2RlbC0+Y3B1X3NldHVwLCAmcmVnLCAxKTsKIAltb2RlbC0+Y3B1X3NldHVwKCZyZWcpOwogCXJldHVybiAwOwogfQpAQCAtODYsNyArODYsNyBAQAogc3RhdGljIGludAogb3BfYXhwX3N0YXJ0KHZvaWQpCiB7Ci0JKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdGFydCwgTlVMTCwgMSk7CiAJb3BfYXhwX2NwdV9zdGFydChOVUxMKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTEwMSw3ICsxMDEsNyBAQAogc3RhdGljIHZvaWQKIG9wX2F4cF9zdG9wKHZvaWQpCiB7Ci0JKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdG9wLCBOVUxMLCAwLCAxKTsKKwkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihvcF9heHBfY3B1X3N0b3AsIE5VTEwsIDEpOwogCW9wX2F4cF9jcHVfc3RvcChOVUxMKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vS2NvbmZpZyBiL2FyY2gvYXJtL0tjb25maWcKaW5kZXggYjc4NmU2OC4uYzdhZDMyNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vS2NvbmZpZworKysgYi9hcmNoL2FybS9LY29uZmlnCkBAIC0xNCw2ICsxNCw4IEBACiAJc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTIGlmICghWElQX0tFUk5FTCkKIAlzZWxlY3QgSEFWRV9LUkVUUFJPQkVTIGlmIChIQVZFX0tQUk9CRVMpCisJc2VsZWN0IEhBVkVfRlRSQUNFIGlmICghWElQX0tFUk5FTCkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRSBpZiAoSEFWRV9GVFJBQ0UpCiAJaGVscAogCSAgVGhlIEFSTSBzZXJpZXMgaXMgYSBsaW5lIG9mIGxvdy1wb3dlci1jb25zdW1wdGlvbiBSSVNDIGNoaXAgZGVzaWducwogCSAgbGljZW5zZWQgYnkgQVJNIEx0ZCBhbmQgdGFyZ2V0ZWQgYXQgZW1iZWRkZWQgYXBwbGljYXRpb25zIGFuZApAQCAtMjIsNiArMjQsOSBAQAogCSAgRXVyb3BlLiAgVGhlcmUgaXMgYW4gQVJNIExpbnV4IHByb2plY3Qgd2l0aCBhIHdlYiBwYWdlIGF0CiAJICA8aHR0cDovL3d3dy5hcm0ubGludXgub3JnLnVrLz4uCiAKK2NvbmZpZyBIQVZFX1BXTQorCWJvb2wKKwogY29uZmlnIFNZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OCiAJYm9vbAogCkBAIC04NCw2ICs4OSwxMSBAQAogCWJvb2wKIAlkZWZhdWx0IHkKIAorY29uZmlnIEhBVkVfTEFURU5DWVRPUF9TVVBQT1JUCisJYm9vbAorCWRlcGVuZHMgb24gIVNNUAorCWRlZmF1bHQgeQorCiBjb25maWcgTE9DS0RFUF9TVVBQT1JUCiAJYm9vbAogCWRlZmF1bHQgeQpAQCAtMTQ3LDYgKzE1NywxMCBAQAogY29uZmlnIEFSQ0hfTVREX1hJUAogCWJvb2wKIAorY29uZmlnIEdFTkVSSUNfSEFSRElSUVNfTk9fX0RPX0lSUQorCWJvb2wKKwlkZWZfYm9vbCB5CisKIGlmIE9QUk9GSUxFCiAKIGNvbmZpZyBPUFJPRklMRV9BUk1WNgpAQCAtMjMyLDEzICsyNDYsNiBAQAogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIENpcnJ1cyBMb2dpYyA3MTF4LzcyMXggYmFzZWQgYm9hcmRzLgogCi1jb25maWcgQVJDSF9DTzI4NQotCWJvb2wgIkNvLUVCU0EyODUiCi0Jc2VsZWN0IEZPT1RCUklER0UKLQlzZWxlY3QgRk9PVEJSSURHRV9BRERJTgotCWhlbHAKLQkgIFN1cHBvcnQgZm9yIEludGVsJ3MgRUJTQTI4NSBjb21wYW5pb24gY2hpcC4KLQogY29uZmlnIEFSQ0hfRUJTQTExMAogCWJvb2wgIkVCU0EtMTEwIgogCXNlbGVjdCBJU0EKQEAgLTI5OSw2ICszMDYsOCBAQAogCWRlcGVuZHMgb24gTU1VCiAJc2VsZWN0IFBMQVRfSU9QCiAJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEludGVsJ3MgODAyMTkgYW5kIElPUDMyWCAoWFNjYWxlKSBmYW1pbHkgb2YKIAkgIHByb2Nlc3NvcnMuCkBAIC0zMDgsNiArMzE3LDggQEAKIAlkZXBlbmRzIG9uIE1NVQogCXNlbGVjdCBQTEFUX0lPUAogCXNlbGVjdCBQQ0kKKwlzZWxlY3QgR0VORVJJQ19HUElPCisJc2VsZWN0IEhBVkVfR1BJT19MSUIKIAloZWxwCiAJICBTdXBwb3J0IGZvciBJbnRlbCdzIElPUDMzWCAoWFNjYWxlKSBmYW1pbHkgb2YgcHJvY2Vzc29ycy4KIApAQCAtMzQ3LDYgKzM1OCwxNiBAQAogCSAgSWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucyBvciBjb21tZW50cyBhYm91dCB0aGUgTGludXgga2VybmVsIHBvcnQKIAkgIHRvIHRoaXMgYm9hcmQsIHNlbmQgZS1tYWlsIHRvIDxzamhpbGxAY290dy5jb20+LgogCitjb25maWcgQVJDSF9LSVJLV09PRAorCWJvb2wgIk1hcnZlbGwgS2lya3dvb2QiCisJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX1RJTUUKKwlzZWxlY3QgR0VORVJJQ19DTE9DS0VWRU5UUworCXNlbGVjdCBQTEFUX09SSU9OCisJaGVscAorCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIEtpcmt3b29kIHNlcmllcyBTb0NzOgorCSAgODhGNjE4MCwgODhGNjE5MiBhbmQgODhGNjI4MS4KKwogY29uZmlnIEFSQ0hfS1M4Njk1CiAJYm9vbCAiTWljcmVsL0tlbmRpbiBLUzg2OTUiCiAJc2VsZWN0IEdFTkVSSUNfR1BJTwpAQCAtMzY1LDkgKzM4NiwzMSBAQAogCiAJICA8aHR0cDovL3d3dy5kaWdpLmNvbS9wcm9kdWN0cy9taWNyb3Byb2Nlc3NvcnMvaW5kZXguanNwPgogCitjb25maWcgQVJDSF9MT0tJCisJYm9vbCAiTWFydmVsbCBMb2tpICg4OFJDODQ4MCkiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCisJc2VsZWN0IFBMQVRfT1JJT04KKwloZWxwCisJICBTdXBwb3J0IGZvciB0aGUgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DLgorCitjb25maWcgQVJDSF9NVjc4WFgwCisJYm9vbCAiTWFydmVsbCBNVjc4eHgwIgorCXNlbGVjdCBQQ0kKKwlzZWxlY3QgR0VORVJJQ19USU1FCisJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKKwlzZWxlY3QgUExBVF9PUklPTgorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgTWFydmVsbCBNVjc4eHgwIHNlcmllcyBTb0NzOgorCSAgTVY3ODF4MCwgTVY3ODJ4MC4KKwogY29uZmlnIEFSQ0hfTVhDCiAJYm9vbCAiRnJlZXNjYWxlIE1YQy9pTVgtYmFzZWQiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCiAJc2VsZWN0IEFSQ0hfTVREX1hJUAorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEZyZWVzY2FsZSBNWEMvaU1YLWJhc2VkIGZhbWlseSBvZiBwcm9jZXNzb3JzCiAKQEAgLTM4MSw3ICs0MjQsOCBAQAogCXNlbGVjdCBQTEFUX09SSU9OCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIE9yaW9uIDV4IHNlcmllcyBTb0NzOgotCSAgT3Jpb24tMSAoNTE4MSksIE9yaW9uLU5BUyAoNTE4MiksIE9yaW9uLTIgKDUyODEuKQorCSAgT3Jpb24tMSAoNTE4MSksIE9yaW9uLVZvSVAgKDUxODFMKSwgT3Jpb24tTkFTICg1MTgyKSwKKwkgIE9yaW9uLTIgKDUyODEpLgogCiBjb25maWcgQVJDSF9QTlg0MDA4CiAJYm9vbCAiUGhpbGlwcyBOZXhwZXJpYSBQTlg0MDA4IE1vYmlsZSIKQEAgLTQwNiw2ICs0NTAsNyBAQAogCXNlbGVjdCBGSVEKIAlzZWxlY3QgVElNRVJfQUNPUk4KIAlzZWxlY3QgQVJDSF9NQVlfSEFWRV9QQ19GREMKKwlzZWxlY3QgSEFWRV9QQVRBX1BMQVRGT1JNCiAJc2VsZWN0IElTQV9ETUFfQVBJCiAJc2VsZWN0IE5PX0lPUE9SVAogCWhlbHAKQEAgLTUwMiw2ICs1NDcsMTAgQEAKIAogc291cmNlICJhcmNoL2FybS9tYWNoLWl4cDIzeHgvS2NvbmZpZyIKIAorc291cmNlICJhcmNoL2FybS9tYWNoLWxva2kvS2NvbmZpZyIKKworc291cmNlICJhcmNoL2FybS9tYWNoLW12Nzh4eDAvS2NvbmZpZyIKKwogc291cmNlICJhcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnIgogCiBzb3VyY2UgImFyY2gvYXJtL21hY2gtc2ExMTAwL0tjb25maWciCkBAIC01MTQsNiArNTYzLDggQEAKIAogc291cmNlICJhcmNoL2FybS9tYWNoLW9yaW9uNXgvS2NvbmZpZyIKIAorc291cmNlICJhcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWciCisKIHNvdXJjZSAiYXJjaC9hcm0vcGxhdC1zM2MyNHh4L0tjb25maWciCiBzb3VyY2UgImFyY2gvYXJtL3BsYXQtczNjL0tjb25maWciCiAKQEAgLTY1MCw2ICs3MDEsNyBAQAogY29uZmlnIFNNUAogCWJvb2wgIlN5bW1ldHJpYyBNdWx0aS1Qcm9jZXNzaW5nIChFWFBFUklNRU5UQUwpIgogCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIChSRUFMVklFV19FQl9BUk0xMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMU1QKQorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCkBAIC03MDMsMjcgKzc1NSw2IEBACiAJICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgYnVpbGRpbmcgYSBrZXJuZWwgZm9yIGEgZGVza3RvcCwgZW1iZWRkZWQKIAkgIG9yIHJlYWwtdGltZSBzeXN0ZW0uICBTYXkgTiBpZiB5b3UgYXJlIHVuc3VyZS4KIAotY29uZmlnIE5PX0lETEVfSFoKLQlib29sICJEeW5hbWljIHRpY2sgdGltZXIiCi0JZGVwZW5kcyBvbiAhR0VORVJJQ19DTE9DS0VWRU5UUwotCWhlbHAKLQkgIFNlbGVjdCB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGNvbnRpbnVvdXMgdGltZXIgdGlja3MKLQkgIGFuZCBoYXZlIHRoZW0gcHJvZ3JhbW1lZCB0byBvY2N1ciBhcyByZXF1aXJlZC4gVGhpcyBvcHRpb24gc2F2ZXMKLQkgIHBvd2VyIGFzIHRoZSBzeXN0ZW0gY2FuIHJlbWFpbiBpbiBpZGxlIHN0YXRlIGZvciBsb25nZXIuCi0KLQkgIEJ5IGRlZmF1bHQgZHluYW1pYyB0aWNrIGlzIGRpc2FibGVkIGR1cmluZyB0aGUgYm9vdCwgYW5kIGNhbiBiZQotCSAgbWFudWFsbHkgZW5hYmxlZCB3aXRoOgotCi0JICAgIGVjaG8gMSA+IC9zeXMvZGV2aWNlcy9zeXN0ZW0vdGltZXIvdGltZXIwL2R5bl90aWNrCi0KLQkgIEFsdGVybmF0aXZlbHksIGlmIHlvdSB3YW50IGR5bmFtaWMgdGljayBhdXRvbWF0aWNhbGx5IGVuYWJsZWQKLQkgIGR1cmluZyBib290LCBwYXNzICJkeW50aWNrPWVuYWJsZSIgdmlhIHRoZSBrZXJuZWwgY29tbWFuZCBzdHJpbmcuCi0KLQkgIFBsZWFzZSBub3RlIHRoYXQgZHluYW1pYyB0aWNrIG1heSBhZmZlY3QgdGhlIGFjY3VyYWN5IG9mCi0JICB0aW1la2VlcGluZyBvbiBzb21lIHBsYXRmb3JtcyBkZXBlbmRpbmcgb24gdGhlIGltcGxlbWVudGF0aW9uLgotCSAgQ3VycmVudGx5IGF0IGxlYXN0IE9NQVAsIFBYQTJ4eCBhbmQgU0ExMXgwIHBsYXRmb3JtcyBhcmUga25vd24KLQkgIHRvIGhhdmUgYWNjdXJhdGUgdGltZWtlZXBpbmcgd2l0aCBkeW5hbWljIHRpY2suCi0KIGNvbmZpZyBIWgogCWludAogCWRlZmF1bHQgMTI4IGlmIEFSQ0hfTDcyMDAKQEAgLTc4OSw3ICs4MjAsNyBAQAogCiBjb25maWcgTEVEUwogCWJvb2wgIlRpbWVyIGFuZCBDUFUgdXNhZ2UgTEVEcyIKLQlkZXBlbmRzIG9uIEFSQ0hfQ0RCODk3MTIgfHwgQVJDSF9DTzI4NSB8fCBBUkNIX0VCU0ExMTAgfHwgXAorCWRlcGVuZHMgb24gQVJDSF9DREI4OTcxMiB8fCBBUkNIX0VCU0ExMTAgfHwgXAogCQkgICBBUkNIX0VCU0EyODUgfHwgQVJDSF9JTVggfHwgQVJDSF9JTlRFR1JBVE9SIHx8IFwKIAkJICAgQVJDSF9MVUJCT0NLIHx8IE1BQ0hfTUFJTlNUT05FIHx8IEFSQ0hfTkVUV0lOREVSIHx8IFwKIAkJICAgQVJDSF9PTUFQIHx8IEFSQ0hfUDcyMFQgfHwgQVJDSF9QWEFfSURQIHx8IFwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL01ha2VmaWxlIGIvYXJjaC9hcm0vTWFrZWZpbGUKaW5kZXggZTcyZGIyNy4uYjIwOTk1YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vTWFrZWZpbGUKQEAgLTEwMCw4ICsxMDAsNiBAQAogICBpbmNkaXItJChDT05GSUdfQVJDSF9DTFBTNzUwMCkgICA6PSBjbDc1MDAKICBtYWNoaW5lLSQoQ09ORklHX0ZPT1RCUklER0UpCSAgIDo9IGZvb3RicmlkZ2UKICAgaW5jZGlyLSQoQ09ORklHX0ZPT1RCUklER0UpCSAgIDo9IGVic2EyODUKLSBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfQ08yODUpCSAgIDo9IGZvb3RicmlkZ2UKLSAgaW5jZGlyLSQoQ09ORklHX0FSQ0hfQ08yODUpCSAgIDo9IGVic2EyODUKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfU0hBUkspCSAgIDo9IHNoYXJrCiAgbWFjaGluZS0kKENPTkZJR19BUkNIX1NBMTEwMCkJICAgOj0gc2ExMTAwCiBpZmVxICgkKENPTkZJR19BUkNIX1NBMTEwMCkseSkKQEAgLTEzNSwxMSArMTMzLDE1IEBACiAgbWFjaGluZS0kKENPTkZJR19BUkNIX05FVFgpCSAgIDo9IG5ldHgKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTlM5WFhYKQkgICA6PSBuczl4eHgKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfREFWSU5DSSkJICAgOj0gZGF2aW5jaQorIG1hY2hpbmUtJChDT05GSUdfQVJDSF9LSVJLV09PRCkgICA6PSBraXJrd29vZAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9LUzg2OTUpICAgICA6PSBrczg2OTUKICAgaW5jZGlyLSQoQ09ORklHX0FSQ0hfTVhDKQkgICA6PSBteGMKKyBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTVgyKQkgICA6PSBteDIKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTVgzKQkgICA6PSBteDMKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfT1JJT041WCkJICAgOj0gb3Jpb241eAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NU003WDAwQSkgICA6PSBtc20KKyBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTE9LSSkgICAgICAgOj0gbG9raQorIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NVjc4WFgwKSAgICA6PSBtdjc4eHgwCiAKIGlmZXEgKCQoQ09ORklHX0FSQ0hfRUJTQTExMCkseSkKICMgVGhpcyBpcyB3aGF0IGhhcHBlbnMgaWYgeW91IGZvcmdldCB0aGUgSU9DUzE2IGxpbmUuCkBAIC0xOTAsOCArMTkyLDYgQEAKIGNvcmUtJChDT05GSUdfQVJDSF9NWEMpCQkrPSBhcmNoL2FybS9wbGF0LW14Yy8KIAogZHJpdmVycy0kKENPTkZJR19PUFJPRklMRSkgICAgICArPSBhcmNoL2FybS9vcHJvZmlsZS8KLWRyaXZlcnMtJChDT05GSUdfQVJDSF9DTFBTNzUwMCkJKz0gZHJpdmVycy9hY29ybi9jaGFyLwotZHJpdmVycy0kKENPTkZJR19BUkNIX0w3MjAwKQkrPSBkcml2ZXJzL2Fjb3JuL2NoYXIvCiAKIGxpYnMteQkJCQk6PSBhcmNoL2FybS9saWIvICQobGlicy15KQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUgYi9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUKaW5kZXggZGU5ZDllZS4uOTViYWFjNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9NYWtlZmlsZQpAQCAtNjksNiArNjksMTIgQEAKIAogdGFyZ2V0cyAgICAgICA6PSB2bWxpbnV4IHZtbGludXgubGRzIHBpZ2d5Lmd6IHBpZ2d5Lm8gZm9udC5vIGZvbnQuYyBcCiAJCSBoZWFkLm8gbWlzYy5vICQoT0JKUykKKworaWZlcSAoJChDT05GSUdfRlRSQUNFKSx5KQorT1JJR19DRkxBR1MgOj0gJChLQlVJTERfQ0ZMQUdTKQorS0JVSUxEX0NGTEFHUyA9ICQoc3Vic3QgLXBnLCAsICQoT1JJR19DRkxBR1MpKQorZW5kaWYKKwogRVhUUkFfQ0ZMQUdTICA6PSAtZnBpYyAtZm5vLWJ1aWx0aW4KIEVYVFJBX0FGTEFHUyAgOj0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL2hlYWQuUyBiL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9oZWFkLlMKaW5kZXggM2MyYzhmMi4uZGU0MWRhZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL2hlYWQuUworKysgYi9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvaGVhZC5TCkBAIC02MjMsOCArNjIzLDggQEAKIAkJYglfX2FybXY0X21tdV9jYWNoZV9vZmYKIAkJYglfX2FybXY0X21tdV9jYWNoZV9mbHVzaAogCi0JCS53b3JkCTB4NTYwNTUzMTAJCUAgRmVyb2Nlb24KLQkJLndvcmQJMHhmZmZmZmZmMAorCQkud29yZAkweDU2MDUwMDAwCQlAIEZlcm9jZW9uCisJCS53b3JkCTB4ZmYwZjAwMDAKIAkJYglfX2FybXY0X21tdV9jYWNoZV9vbgogCQliCV9fYXJtdjRfbW11X2NhY2hlX29mZgogCQliCV9fYXJtdjV0ZWpfbW11X2NhY2hlX2ZsdXNoCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb21tb24vTWFrZWZpbGUgYi9hcmNoL2FybS9jb21tb24vTWFrZWZpbGUKaW5kZXggM2QwYjlmYS4uMzI1ZTRiNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29tbW9uL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL2NvbW1vbi9NYWtlZmlsZQpAQCAtMiw3ICsyLDYgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBsaW51eCBrZXJuZWwuCiAjCiAKLW9iai15CQkJCSs9IHJ0Y3RpbWUubwogb2JqLSQoQ09ORklHX0FSTV9HSUMpCQkrPSBnaWMubwogb2JqLSQoQ09ORklHX0FSTV9WSUMpCQkrPSB2aWMubwogb2JqLSQoQ09ORklHX0lDU1Q1MjUpCQkrPSBpY3N0NTI1Lm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbW1vbi9ydGN0aW1lLmMgYi9hcmNoL2FybS9jb21tb24vcnRjdGltZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYThmNzczLi4wMDAwMDAwCi0tLSBhL2FyY2gvYXJtL2NvbW1vbi9ydGN0aW1lLmMKKysrIC9kZXYvbnVsbApAQCAtMSw0MzQgKzAsMCBAQAotLyoKLSAqICBsaW51eC9hcmNoL2FybS9jb21tb24vcnRjdGltZS5jCi0gKgotICogIENvcHlyaWdodCAoQykgMjAwMyBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZC4KLSAqICBCYXNlZCBvbiBzYTExMDAtcnRjLmMsIE5pbHMgRmFlcmJlciwgQ0lILCBOaWNvbGFzIFBpdHJlLgotICogIEJhc2VkIG9uIHJ0Yy5jIGJ5IFBhdWwgR29ydG1ha2VyCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqLwotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KLSNpbmNsdWRlIDxsaW51eC9ydGMuaD4KLSNpbmNsdWRlIDxsaW51eC9wb2xsLmg+Ci0jaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgotI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgotI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KLSNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgotCi0jaW5jbHVkZSA8YXNtL3J0Yy5oPgotCi1zdGF0aWMgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQocnRjX3dhaXQpOwotc3RhdGljIHN0cnVjdCBmYXN5bmNfc3RydWN0ICpydGNfYXN5bmNfcXVldWU7Ci0KLS8qCi0gKiBydGNfbG9jayBwcm90ZWN0cyBydGNfaXJxX2RhdGEKLSAqLwotc3RhdGljIERFRklORV9TUElOTE9DSyhydGNfbG9jayk7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBydGNfaXJxX2RhdGE7Ci0KLS8qCi0gKiBydGNfc2VtIHByb3RlY3RzIHJ0Y19pbnVzZSBhbmQgcnRjX29wcwotICovCi1zdGF0aWMgREVGSU5FX01VVEVYKHJ0Y19tdXRleCk7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBydGNfaW51c2U7Ci1zdGF0aWMgc3RydWN0IHJ0Y19vcHMgKnJ0Y19vcHM7Ci0KLSNkZWZpbmUgcnRjX2Vwb2NoIDE5MDBVTAotCi0vKgotICogQ2FsY3VsYXRlIHRoZSBuZXh0IGFsYXJtIHRpbWUgZ2l2ZW4gdGhlIHJlcXVlc3RlZCBhbGFybSB0aW1lIG1hc2sKLSAqIGFuZCB0aGUgY3VycmVudCB0aW1lLgotICovCi12b2lkIHJ0Y19uZXh0X2FsYXJtX3RpbWUoc3RydWN0IHJ0Y190aW1lICpuZXh0LCBzdHJ1Y3QgcnRjX3RpbWUgKm5vdywgc3RydWN0IHJ0Y190aW1lICphbHJtKQotewotCXVuc2lnbmVkIGxvbmcgbmV4dF90aW1lOwotCXVuc2lnbmVkIGxvbmcgbm93X3RpbWU7Ci0KLQluZXh0LT50bV95ZWFyID0gbm93LT50bV95ZWFyOwotCW5leHQtPnRtX21vbiA9IG5vdy0+dG1fbW9uOwotCW5leHQtPnRtX21kYXkgPSBub3ctPnRtX21kYXk7Ci0JbmV4dC0+dG1faG91ciA9IGFscm0tPnRtX2hvdXI7Ci0JbmV4dC0+dG1fbWluID0gYWxybS0+dG1fbWluOwotCW5leHQtPnRtX3NlYyA9IGFscm0tPnRtX3NlYzsKLQotCXJ0Y190bV90b190aW1lKG5vdywgJm5vd190aW1lKTsKLQlydGNfdG1fdG9fdGltZShuZXh0LCAmbmV4dF90aW1lKTsKLQotCWlmIChuZXh0X3RpbWUgPCBub3dfdGltZSkgewotCQkvKiBBZHZhbmNlIG9uZSBkYXkgKi8KLQkJbmV4dF90aW1lICs9IDYwICogNjAgKiAyNDsKLQkJcnRjX3RpbWVfdG9fdG0obmV4dF90aW1lLCBuZXh0KTsKLQl9Ci19Ci1FWFBPUlRfU1lNQk9MKHJ0Y19uZXh0X2FsYXJtX3RpbWUpOwotCi1zdGF0aWMgaW5saW5lIGludCBydGNfYXJtX3JlYWRfdGltZShzdHJ1Y3QgcnRjX29wcyAqb3BzLCBzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCW1lbXNldCh0bSwgMCwgc2l6ZW9mKHN0cnVjdCBydGNfdGltZSkpOwotCXJldHVybiBvcHMtPnJlYWRfdGltZSh0bSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19hcm1fc2V0X3RpbWUoc3RydWN0IHJ0Y19vcHMgKm9wcywgc3RydWN0IHJ0Y190aW1lICp0bSkKLXsKLQlpbnQgcmV0OwotCi0JcmV0ID0gcnRjX3ZhbGlkX3RtKHRtKTsKLQlpZiAocmV0ID09IDApCi0JCXJldCA9IG9wcy0+c2V0X3RpbWUodG0pOwotCi0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgcnRjX2FybV9yZWFkX2FsYXJtKHN0cnVjdCBydGNfb3BzICpvcHMsIHN0cnVjdCBydGNfd2thbHJtICphbHJtKQotewotCWludCByZXQgPSAtRUlOVkFMOwotCWlmIChvcHMtPnJlYWRfYWxhcm0pIHsKLQkJbWVtc2V0KGFscm0sIDAsIHNpemVvZihzdHJ1Y3QgcnRjX3drYWxybSkpOwotCQlyZXQgPSBvcHMtPnJlYWRfYWxhcm0oYWxybSk7Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19hcm1fc2V0X2FsYXJtKHN0cnVjdCBydGNfb3BzICpvcHMsIHN0cnVjdCBydGNfd2thbHJtICphbHJtKQotewotCWludCByZXQgPSAtRUlOVkFMOwotCWlmIChvcHMtPnNldF9hbGFybSkKLQkJcmV0ID0gb3BzLT5zZXRfYWxhcm0oYWxybSk7Ci0JcmV0dXJuIHJldDsKLX0KLQotdm9pZCBydGNfdXBkYXRlKHVuc2lnbmVkIGxvbmcgbnVtLCB1bnNpZ25lZCBsb25nIGV2ZW50cykKLXsKLQlzcGluX2xvY2soJnJ0Y19sb2NrKTsKLQlydGNfaXJxX2RhdGEgPSAocnRjX2lycV9kYXRhICsgKG51bSA8PCA4KSkgfCBldmVudHM7Ci0Jc3Bpbl91bmxvY2soJnJ0Y19sb2NrKTsKLQotCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmcnRjX3dhaXQpOwotCWtpbGxfZmFzeW5jKCZydGNfYXN5bmNfcXVldWUsIFNJR0lPLCBQT0xMX0lOKTsKLX0KLUVYUE9SVF9TWU1CT0wocnRjX3VwZGF0ZSk7Ci0KLQotc3RhdGljIHNzaXplX3QKLXJ0Y19yZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKLXsKLQlERUNMQVJFX1dBSVRRVUVVRSh3YWl0LCBjdXJyZW50KTsKLQl1bnNpZ25lZCBsb25nIGRhdGE7Ci0Jc3NpemVfdCByZXQ7Ci0KLQlpZiAoY291bnQgPCBzaXplb2YodW5zaWduZWQgbG9uZykpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JYWRkX3dhaXRfcXVldWUoJnJ0Y193YWl0LCAmd2FpdCk7Ci0JZG8gewotCQlfX3NldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJSVVBUSUJMRSk7Ci0KLQkJc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwotCQlkYXRhID0gcnRjX2lycV9kYXRhOwotCQlydGNfaXJxX2RhdGEgPSAwOwotCQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKLQotCQlpZiAoZGF0YSAhPSAwKSB7Ci0JCQlyZXQgPSAwOwotCQkJYnJlYWs7Ci0JCX0KLQkJaWYgKGZpbGUtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSB7Ci0JCQlyZXQgPSAtRUFHQUlOOwotCQkJYnJlYWs7Ci0JCX0KLQkJaWYgKHNpZ25hbF9wZW5kaW5nKGN1cnJlbnQpKSB7Ci0JCQlyZXQgPSAtRVJFU1RBUlRTWVM7Ci0JCQlicmVhazsKLQkJfQotCQlzY2hlZHVsZSgpOwotCX0gd2hpbGUgKDEpOwotCXNldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklORyk7Ci0JcmVtb3ZlX3dhaXRfcXVldWUoJnJ0Y193YWl0LCAmd2FpdCk7Ci0KLQlpZiAocmV0ID09IDApIHsKLQkJcmV0ID0gcHV0X3VzZXIoZGF0YSwgKHVuc2lnbmVkIGxvbmcgX191c2VyICopYnVmKTsKLQkJaWYgKHJldCA9PSAwKQotCQkJcmV0ID0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpOwotCX0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IHJ0Y19wb2xsKHN0cnVjdCBmaWxlICpmaWxlLCBwb2xsX3RhYmxlICp3YWl0KQotewotCXVuc2lnbmVkIGxvbmcgZGF0YTsKLQotCXBvbGxfd2FpdChmaWxlLCAmcnRjX3dhaXQsIHdhaXQpOwotCi0Jc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwotCWRhdGEgPSBydGNfaXJxX2RhdGE7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7Ci0KLQlyZXR1cm4gZGF0YSAhPSAwID8gUE9MTElOIHwgUE9MTFJETk9STSA6IDA7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAotCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQotewotCXN0cnVjdCBydGNfb3BzICpvcHMgPSBmaWxlLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHJ0Y190aW1lIHRtOwotCXN0cnVjdCBydGNfd2thbHJtIGFscm07Ci0Jdm9pZCBfX3VzZXIgKnVhcmcgPSAodm9pZCBfX3VzZXIgKilhcmc7Ci0JaW50IHJldCA9IC1FSU5WQUw7Ci0KLQlzd2l0Y2ggKGNtZCkgewotCWNhc2UgUlRDX0FMTV9SRUFEOgotCQlyZXQgPSBydGNfYXJtX3JlYWRfYWxhcm0ob3BzLCAmYWxybSk7Ci0JCWlmIChyZXQpCi0JCQlicmVhazsKLQkJcmV0ID0gY29weV90b191c2VyKHVhcmcsICZhbHJtLnRpbWUsIHNpemVvZih0bSkpOwotCQlpZiAocmV0KQotCQkJcmV0ID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19BTE1fU0VUOgotCQlyZXQgPSBjb3B5X2Zyb21fdXNlcigmYWxybS50aW1lLCB1YXJnLCBzaXplb2YodG0pKTsKLQkJaWYgKHJldCkgewotCQkJcmV0ID0gLUVGQVVMVDsKLQkJCWJyZWFrOwotCQl9Ci0JCWFscm0uZW5hYmxlZCA9IDA7Ci0JCWFscm0ucGVuZGluZyA9IDA7Ci0JCWFscm0udGltZS50bV9tZGF5ID0gLTE7Ci0JCWFscm0udGltZS50bV9tb24gPSAtMTsKLQkJYWxybS50aW1lLnRtX3llYXIgPSAtMTsKLQkJYWxybS50aW1lLnRtX3dkYXkgPSAtMTsKLQkJYWxybS50aW1lLnRtX3lkYXkgPSAtMTsKLQkJYWxybS50aW1lLnRtX2lzZHN0ID0gLTE7Ci0JCXJldCA9IHJ0Y19hcm1fc2V0X2FsYXJtKG9wcywgJmFscm0pOwotCQlicmVhazsKLQotCWNhc2UgUlRDX1JEX1RJTUU6Ci0JCXJldCA9IHJ0Y19hcm1fcmVhZF90aW1lKG9wcywgJnRtKTsKLQkJaWYgKHJldCkKLQkJCWJyZWFrOwotCQlyZXQgPSBjb3B5X3RvX3VzZXIodWFyZywgJnRtLCBzaXplb2YodG0pKTsKLQkJaWYgKHJldCkKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfU0VUX1RJTUU6Ci0JCWlmICghY2FwYWJsZShDQVBfU1lTX1RJTUUpKSB7Ci0JCQlyZXQgPSAtRUFDQ0VTOwotCQkJYnJlYWs7Ci0JCX0KLQkJcmV0ID0gY29weV9mcm9tX3VzZXIoJnRtLCB1YXJnLCBzaXplb2YodG0pKTsKLQkJaWYgKHJldCkgewotCQkJcmV0ID0gLUVGQVVMVDsKLQkJCWJyZWFrOwotCQl9Ci0JCXJldCA9IHJ0Y19hcm1fc2V0X3RpbWUob3BzLCAmdG0pOwotCQlicmVhazsKLQotCWNhc2UgUlRDX0VQT0NIX1NFVDoKLSNpZm5kZWYgcnRjX2Vwb2NoCi0JCS8qCi0JCSAqIFRoZXJlIHdlcmUgbm8gUlRDIGNsb2NrcyBiZWZvcmUgMTkwMC4KLQkJICovCi0JCWlmIChhcmcgPCAxOTAwKSB7Ci0JCQlyZXQgPSAtRUlOVkFMOwotCQkJYnJlYWs7Ci0JCX0KLQkJaWYgKCFjYXBhYmxlKENBUF9TWVNfVElNRSkpIHsKLQkJCXJldCA9IC1FQUNDRVM7Ci0JCQlicmVhazsKLQkJfQotCQlydGNfZXBvY2ggPSBhcmc7Ci0JCXJldCA9IDA7Ci0jZW5kaWYKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19FUE9DSF9SRUFEOgotCQlyZXQgPSBwdXRfdXNlcihydGNfZXBvY2gsICh1bnNpZ25lZCBsb25nIF9fdXNlciAqKXVhcmcpOwotCQlicmVhazsKLQotCWNhc2UgUlRDX1dLQUxNX1NFVDoKLQkJcmV0ID0gY29weV9mcm9tX3VzZXIoJmFscm0sIHVhcmcsIHNpemVvZihhbHJtKSk7Ci0JCWlmIChyZXQpIHsKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCQlicmVhazsKLQkJfQotCQlyZXQgPSBydGNfYXJtX3NldF9hbGFybShvcHMsICZhbHJtKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19XS0FMTV9SRDoKLQkJcmV0ID0gcnRjX2FybV9yZWFkX2FsYXJtKG9wcywgJmFscm0pOwotCQlpZiAocmV0KQotCQkJYnJlYWs7Ci0JCXJldCA9IGNvcHlfdG9fdXNlcih1YXJnLCAmYWxybSwgc2l6ZW9mKGFscm0pKTsKLQkJaWYgKHJldCkKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCi0JZGVmYXVsdDoKLQkJaWYgKG9wcy0+aW9jdGwpCi0JCQlyZXQgPSBvcHMtPmlvY3RsKGNtZCwgYXJnKTsKLQkJYnJlYWs7Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JaW50IHJldDsKLQotCW11dGV4X2xvY2soJnJ0Y19tdXRleCk7Ci0KLQlpZiAocnRjX2ludXNlKSB7Ci0JCXJldCA9IC1FQlVTWTsKLQl9IGVsc2UgaWYgKCFydGNfb3BzIHx8ICF0cnlfbW9kdWxlX2dldChydGNfb3BzLT5vd25lcikpIHsKLQkJcmV0ID0gLUVOT0RFVjsKLQl9IGVsc2UgewotCQlmaWxlLT5wcml2YXRlX2RhdGEgPSBydGNfb3BzOwotCi0JCXJldCA9IHJ0Y19vcHMtPm9wZW4gPyBydGNfb3BzLT5vcGVuKCkgOiAwOwotCQlpZiAocmV0ID09IDApIHsKLQkJCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKLQkJCXJ0Y19pcnFfZGF0YSA9IDA7Ci0JCQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKLQotCQkJcnRjX2ludXNlID0gMTsKLQkJfQotCX0KLQltdXRleF91bmxvY2soJnJ0Y19tdXRleCk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IHJ0Y19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQotewotCXN0cnVjdCBydGNfb3BzICpvcHMgPSBmaWxlLT5wcml2YXRlX2RhdGE7Ci0KLQlpZiAob3BzLT5yZWxlYXNlKQotCQlvcHMtPnJlbGVhc2UoKTsKLQotCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKLQlydGNfaXJxX2RhdGEgPSAwOwotCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOwotCi0JbW9kdWxlX3B1dChydGNfb3BzLT5vd25lcik7Ci0JcnRjX2ludXNlID0gMDsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHJ0Y19mYXN5bmMoaW50IGZkLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IG9uKQotewotCXJldHVybiBmYXN5bmNfaGVscGVyKGZkLCBmaWxlLCBvbiwgJnJ0Y19hc3luY19xdWV1ZSk7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHJ0Y19mb3BzID0gewotCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkubGxzZWVrCQk9IG5vX2xsc2VlaywKLQkucmVhZAkJPSBydGNfcmVhZCwKLQkucG9sbAkJPSBydGNfcG9sbCwKLQkuaW9jdGwJCT0gcnRjX2lvY3RsLAotCS5vcGVuCQk9IHJ0Y19vcGVuLAotCS5yZWxlYXNlCT0gcnRjX3JlbGVhc2UsCi0JLmZhc3luYwkJPSBydGNfZmFzeW5jLAotfTsKLQotc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIHJ0Y19taXNjZGV2ID0gewotCS5taW5vcgkJPSBSVENfTUlOT1IsCi0JLm5hbWUJCT0gInJ0YyIsCi0JLmZvcHMJCT0gJnJ0Y19mb3BzLAotfTsKLQotCi1zdGF0aWMgaW50IHJ0Y19yZWFkX3Byb2MoY2hhciAqcGFnZSwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmYsIGludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IHJ0Y19vcHMgKm9wcyA9IGRhdGE7Ci0Jc3RydWN0IHJ0Y193a2Fscm0gYWxybTsKLQlzdHJ1Y3QgcnRjX3RpbWUgdG07Ci0JY2hhciAqcCA9IHBhZ2U7Ci0KLQlpZiAocnRjX2FybV9yZWFkX3RpbWUob3BzLCAmdG0pID09IDApIHsKLQkJcCArPSBzcHJpbnRmKHAsCi0JCQkicnRjX3RpbWVcdDogJTAyZDolMDJkOiUwMmRcbiIKLQkJCSJydGNfZGF0ZVx0OiAlMDRkLSUwMmQtJTAyZFxuIgotCQkJInJ0Y19lcG9jaFx0OiAlMDRsdVxuIiwKLQkJCXRtLnRtX2hvdXIsIHRtLnRtX21pbiwgdG0udG1fc2VjLAotCQkJdG0udG1feWVhciArIDE5MDAsIHRtLnRtX21vbiArIDEsIHRtLnRtX21kYXksCi0JCQlydGNfZXBvY2gpOwotCX0KLQotCWlmIChydGNfYXJtX3JlYWRfYWxhcm0ob3BzLCAmYWxybSkgPT0gMCkgewotCQlwICs9IHNwcmludGYocCwgImFscm1fdGltZVx0OiAiKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX2hvdXIgPD0gMjQpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmQ6IiwgYWxybS50aW1lLnRtX2hvdXIpOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqOiIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1fbWluIDw9IDU5KQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDJkOiIsIGFscm0udGltZS50bV9taW4pOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqOiIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1fc2VjIDw9IDU5KQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDJkXG4iLCBhbHJtLnRpbWUudG1fc2VjKTsKLQkJZWxzZQotCQkJcCArPSBzcHJpbnRmKHAsICIqKlxuIik7Ci0KLQkJcCArPSBzcHJpbnRmKHAsICJhbHJtX2RhdGVcdDogIik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV95ZWFyIDw9IDIwMCkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTA0ZC0iLCBhbHJtLnRpbWUudG1feWVhciArIDE5MDApOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqKiotIik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9tb24gPD0gMTEpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmQtIiwgYWxybS50aW1lLnRtX21vbiArIDEpOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqLSIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1fbWRheSA8PSAzMSkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTAyZFxuIiwgYWxybS50aW1lLnRtX21kYXkpOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqXG4iKTsKLQkJcCArPSBzcHJpbnRmKHAsICJhbHJtX3dha2V1cFx0OiAlc1xuIiwKLQkJCSAgICAgYWxybS5lbmFibGVkID8gInllcyIgOiAibm8iKTsKLQkJcCArPSBzcHJpbnRmKHAsICJhbHJtX3BlbmRpbmdcdDogJXNcbiIsCi0JCQkgICAgIGFscm0ucGVuZGluZyA/ICJ5ZXMiIDogIm5vIik7Ci0JfQotCi0JaWYgKG9wcy0+cHJvYykKLQkJcCArPSBvcHMtPnByb2MocCk7Ci0KLQlyZXR1cm4gcCAtIHBhZ2U7Ci19Ci0KLWludCByZWdpc3Rlcl9ydGMoc3RydWN0IHJ0Y19vcHMgKm9wcykKLXsKLQlpbnQgcmV0ID0gLUVCVVNZOwotCi0JbXV0ZXhfbG9jaygmcnRjX211dGV4KTsKLQlpZiAocnRjX29wcyA9PSBOVUxMKSB7Ci0JCXJ0Y19vcHMgPSBvcHM7Ci0KLQkJcmV0ID0gbWlzY19yZWdpc3RlcigmcnRjX21pc2NkZXYpOwotCQlpZiAocmV0ID09IDApCi0JCQljcmVhdGVfcHJvY19yZWFkX2VudHJ5KCJkcml2ZXIvcnRjIiwgMCwgTlVMTCwKLQkJCQkJICAgICAgIHJ0Y19yZWFkX3Byb2MsIG9wcyk7Ci0JfQotCW11dGV4X3VubG9jaygmcnRjX211dGV4KTsKLQotCXJldHVybiByZXQ7Ci19Ci1FWFBPUlRfU1lNQk9MKHJlZ2lzdGVyX3J0Yyk7Ci0KLXZvaWQgdW5yZWdpc3Rlcl9ydGMoc3RydWN0IHJ0Y19vcHMgKnJ0YykKLXsKLQltdXRleF9sb2NrKCZydGNfbXV0ZXgpOwotCWlmIChydGMgPT0gcnRjX29wcykgewotCQlyZW1vdmVfcHJvY19lbnRyeSgiZHJpdmVyL3J0YyIsIE5VTEwpOwotCQltaXNjX2RlcmVnaXN0ZXIoJnJ0Y19taXNjZGV2KTsKLQkJcnRjX29wcyA9IE5VTEw7Ci0JfQotCW11dGV4X3VubG9jaygmcnRjX211dGV4KTsKLX0KLUVYUE9SVF9TWU1CT0wodW5yZWdpc3Rlcl9ydGMpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29tbW9uL3NoYXJwc2xfcG0uYyBiL2FyY2gvYXJtL2NvbW1vbi9zaGFycHNsX3BtLmMKaW5kZXggNWJiYTUyNS4uODgyMmI2OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29tbW9uL3NoYXJwc2xfcG0uYworKysgYi9hcmNoL2FybS9jb21tb24vc2hhcnBzbF9wbS5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3BtLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NoYXJwc2wuaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUvc2hhcnBzbF9wbS5oPgogCkBAIC0xNTcsNiArMTU4LDcgQEAKIAlkZXZfZGJnKHNoYXJwc2xfcG0uZGV2LCAiQmF0dGVyeTogdm9sdGFnZTogJWQsIHN0YXR1czogJWQsIHBlcmNlbnRhZ2U6ICVkLCB0aW1lOiAlbGRcbiIsIHZvbHRhZ2UsCiAJCQlzaGFycHNsX3BtLmJhdHRzdGF0Lm1haW5iYXRfc3RhdHVzLCBzaGFycHNsX3BtLmJhdHRzdGF0Lm1haW5iYXRfcGVyY2VudCwgamlmZmllcyk7CiAKKyNpZmRlZiBDT05GSUdfQkFDS0xJR0hUX0NPUkdJCiAJLyogSWYgYmF0dGVyeSBpcyBsb3cuIGxpbWl0IGJhY2tsaWdodCBpbnRlbnNpdHkgdG8gc2F2ZSBwb3dlci4gKi8KIAlpZiAoKHNoYXJwc2xfcG0uYmF0dHN0YXQuYWNfc3RhdHVzICE9IEFQTV9BQ19PTkxJTkUpCiAJCQkmJiAoKHNoYXJwc2xfcG0uYmF0dHN0YXQubWFpbmJhdF9zdGF0dXMgPT0gQVBNX0JBVFRFUllfU1RBVFVTX0xPVykgfHwKQEAgLTE2OSw2ICsxNzEsNyBAQAogCQlzaGFycHNsX3BtLm1hY2hpbmZvLT5iYWNrbGlnaHRfbGltaXQoMCk7CiAJCXNoYXJwc2xfcG0uZmxhZ3MgJj0gflNIQVJQU0xfQkxfTElNSVQ7CiAJfQorI2VuZGlmCiAKIAkvKiBTdXNwZW5kIGlmIGNyaXRpY2FsIGJhdHRlcnkgbGV2ZWwgKi8KIAlpZiAoKHNoYXJwc2xfcG0uYmF0dHN0YXQuYWNfc3RhdHVzICE9IEFQTV9BQ19PTkxJTkUpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFjYXA5YWRrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MWNhcDlhZGtfZGVmY29uZmlnCmluZGV4IGUzMmU3MzYuLmJlMmIyZjMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MWNhcDlhZGtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MWNhcDlhZGtfZGVmY29uZmlnCkBAIC0yMTMsNyArMjEzLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CkBAIC05MDcsNyArOTA2LDMyIEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkE9eQorQ09ORklHX1VTQl9BVE1FTF9VU0JBPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRlNMX1VTQjIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ORVQyMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTTY2NTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfR09LVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEPXkKKyMgQ09ORklHX1VTQl9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRVRIPW0KK0NPTkZJR19VU0JfRVRIX1JORElTPXkKKyMgQ09ORklHX1VTQl9HQURHRVRGUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRT1tCisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSURJX0dBREdFVCBpcyBub3Qgc2V0CiBDT05GSUdfTU1DPXkKICMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CkBAIC05MjYsNyArOTUwLDU5IEBACiAjIENPTkZJR19NTUNfU1BJIGlzIG5vdCBzZXQKICMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKLSMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0NMQVNTPXkKK0NPTkZJR19SVENfSENUT1NZUz15CitDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKKworIworIyBSVEMgaW50ZXJmYWNlcworIworQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKK0NPTkZJR19SVENfSU5URl9QUk9DPXkKK0NPTkZJR19SVENfSU5URl9ERVY9eQorIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUjk3MDEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKworIworIyBQbGF0Zm9ybSBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CisKKyMKKyMgb24tQ1BVIFJUQyBkcml2ZXJzCisjCitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOT15CitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOV9SVFQ9MAorQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTlfR1BCUj0wCiAKICMKICMgRmlsZSBzeXN0ZW1zCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBka19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBka19kZWZjb25maWcKaW5kZXggMmRiYmJjMy4uODY4ZmI3YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZGtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGRrX2RlZmNvbmZpZwpAQCAtMTY5LDcgKzE2OSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZWtfZGVmY29uZmlnCmluZGV4IDZlOTk0ZjcuLmRlNDNmYzYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGVrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBla19kZWZjb25maWcKQEAgLTE2MCw3ICsxNjAsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjBla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYwZWtfZGVmY29uZmlnCmluZGV4IGY2NTljOTMuLjIwMTFhZGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjBla19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MGVrX2RlZmNvbmZpZwpAQCAtMjIwLDcgKzIyMCw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYxZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MWVrX2RlZmNvbmZpZwppbmRleCAzODAyZTg1Li40MDQ5NzY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYxZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjFla19kZWZjb25maWcKQEAgLTIxMyw3ICsyMTMsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2M2VrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjNla19kZWZjb25maWcKaW5kZXggMzJhMGQ3NC4uZmExYzVhZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2M2VrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYzZWtfZGVmY29uZmlnCkBAIC0yMTMsNyArMjEzLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05ZzIwZWtfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNzAlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOWcyMGVrX2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi5jMDY4NjM4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlnMjBla19kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAorIyBUdWUgSnVuIDEwIDE1OjUxOjUyIDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIyLDQ1ICsyMiw0MCBAQAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19TV0FQPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNworIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQogQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKLUNPTkZJR19FTUJFRERFRD15CisjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKIENPTkZJR19LQUxMU1lNUz15Ci0jIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKQEAgLTcxLDQyICs2NiwzNSBAQAogQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CiBDT05GSUdfU0lHTkFMRkQ9eQotQ09ORklHX1RJTUVSRkQ9eQogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKICMKIENPTkZJR19JT1NDSEVEX05PT1A9eQogQ09ORklHX0lPU0NIRURfQVM9eQotQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQotQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQVM9eQogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CkBAIC0xMjAsNyArMTA4LDcgQEAKICMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxPXkKICMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKQEAgLTEzOSw4ICsxMjcsOSBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNTAsMjUgKzEzOSw2MCBAQAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEJvb3Qgb3B0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcAorIworIyBDT05GSUdfQVJDSF9BVDkxUk05MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxU0FNOUcyMD15CisjIENPTkZJR19BUkNIX0FUOTFDQVA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVg0MCBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9QTUNfVU5JVD15CisKKyMKKyMgQVQ5MVNBTTlHMjAgQm9hcmQgVHlwZQorIworQ09ORklHX01BQ0hfQVQ5MVNBTTlHMjBFSz15CisKKyMKKyMgQVQ5MSBCb2FyZCBPcHRpb25zCisjCisjIENPTkZJR19NVERfQVQ5MV9EQVRBRkxBU0hfQ0FSRCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2IGlzIG5vdCBzZXQKKworIworIyBBVDkxIEZlYXR1cmUgU2VsZWN0aW9ucworIworQ09ORklHX0FUOTFfUFJPR1JBTU1BQkxFX0NMT0NLUz15CisjIENPTkZJR19BVDkxX1NMT1dfQ0xPQ0sgaXMgbm90IHNldAorQ09ORklHX0FUOTFfVElNRVJfSFo9MTAwCitDT05GSUdfQVQ5MV9FQVJMWV9EQkdVPXkKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ1IGlzIG5vdCBzZXQKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQogQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTc2LDI4ICsyMDAsMjggQEAKICMKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCi1DT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0FSTV9USFVNQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfTk9fSFogaXMgbm90IHNldAorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyMzMsMTQgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKK0NPTkZJR19MRURTPXkKK0NPTkZJR19MRURTX0NQVT15CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjQ4LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJtZW09NjRNIGNvbnNvbGU9dHR5UzAsMTE1MjAwIGluaXRyZD0weDIxMTAwMDAwLDMxNDU3Mjggcm9vdD0vZGV2L3JhbTAgcnciCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIApAQCAtMjMzLDYgKzI2Miw3IEBACiBDT05GSUdfRlBFX05XRlBFPXkKICMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CisjIENPTkZJR19WRlAgaXMgbm90IHNldAogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjQ1LDEwICsyNzUsMTIgQEAKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15CisjIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkRfVVBfUE9TU0lCTEU9eQorQ09ORklHX1NVU1BFTkQ9eQorIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjYxLDE3ICsyOTMsMTMgQEAKIENPTkZJR19QQUNLRVQ9eQogIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAogQ09ORklHX1VOSVg9eQotQ09ORklHX1hGUk09eQotIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15CiAjIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKQEAgLTI4Myw5ICszMTEsMTAgQEAKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQEAgLTMxMSwxMCArMzQwLDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIzLDI4ICszNDgsNyBAQAogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zNTMsMTMgKzM1Nyw5IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDIzICszNjgsMTggQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLUNPTkZJR19GV19MT0FERVI9eQotIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NPTkNBVD15CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAogCiAjCkBAIC0zOTgsMTUgKzM5MywxMyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDI1LDEyICs0MTgsMTMgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKK0NPTkZJR19NVERfREFUQUZMQVNIPXkKKyMgQ09ORklHX01URF9NMjVQODAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQ0NiwzMiArNDQwLDIzIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9BVDkxPXkKK0NPTkZJR19NVERfTkFORF9BVDkxX0VDQ19TT0ZUPXkKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX0hXIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX05PTkUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKQEAgLTQ3OSwyMCArNDY0LDI0IEBACiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCitDT05GSUdfQkxLX0RFVl9SQU1fU0laRT04MTkyCiBDT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERSBpcyBub3Qgc2V0CitDT05GSUdfTUlTQ19ERVZJQ0VTPXkKK0NPTkZJR19BVE1FTF9QV009eQorIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKK0NPTkZJR19BVE1FTF9TU0M9eQogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs0OTYsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSwzOSArNTA4LDQ2IEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCi0jIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorQ09ORklHX1BIWUxJQj15CiAKICMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCisjIE1JSSBQSFkgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBVklDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19MWFRfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJQ0FEQV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfVklURVNTRV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQlJPQURDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lDUExVU19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfRklYRURfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorQ09ORklHX01BQ0I9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAKQEAgLTU2OCw3ICs1NjQsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldApAQCAtNTc3LDEwICs1NzIsNiBAQAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTk1LDEwICs1ODYsOSBAQAogIwogQ09ORklHX0lOUFVUX01PVVNFREVWPXkKICMgQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MzIwCitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9MjQwCiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtNjEyLDI5ICs2MDIsMTggQEAKICMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0tFWUJPQVJEX0dQSU89eQogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwogQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15CitDT05GSUdfU0VSSU9fU0VSUE9SVD15CiAjIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCkBAIC02NTUsNDUgKzYzNCw1MCBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQVRNRUw9eQorQ09ORklHX1NFUklBTF9BVE1FTF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF9BVE1FTF9UVFlBVCBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCitDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkMgaXMgbm90IHNldAogCiAjCiAjIFNQSSBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKK0NPTkZJR19TUElfTUFTVEVSPXkKIAogIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCiAjCitDT05GSUdfU1BJX0FUTUVMPXkKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorQ09ORklHX1NQSV9TUElERVY9eQorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIAogIwotIyBNaXNjIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwpAQCAtNzAxLDE5ICs2ODUsNiBAQAogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIAogIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi0KLSMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldApAQCAtNzIzLDgxICs2OTQsNTEgQEAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KK0NPTkZJR19TT1VORD15CiAKICMKICMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCiAjCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0CitDT05GSUdfU05EPXkKK0NPTkZJR19TTkRfVElNRVI9eQorQ09ORklHX1NORF9QQ009eQorQ09ORklHX1NORF9TRVFVRU5DRVI9eQorIyBDT05GSUdfU05EX1NFUV9EVU1NWSBpcyBub3Qgc2V0CiBDT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KK0NPTkZJR19TTkRfTUlYRVJfT1NTPXkKK0NPTkZJR19TTkRfUENNX09TUz15CiBDT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15CitDT05GSUdfU05EX1NFUVVFTkNFUl9PU1M9eQogIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKIENPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQorIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIEdlbmVyaWMgZGV2aWNlcwogIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KICMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSTUlESSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAogIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAogIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CkBAIC04MDUsOCArNzQ2LDEzIEBACiAjCiAjIEFMU0EgQVJNIGRldmljZXMKICMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KKyMgQ09ORklHX1NORF9BVDkxX0FDOTcgaXMgbm90IHNldAorCisjCisjIFNQSSBkZXZpY2VzCisjCitDT05GSUdfU05EX0FUNzNDMjEzPXkKK0NPTkZJR19TTkRfQVQ3M0MyMTNfVEFSR0VUX0JJVFJBVEU9NDgwMDAKIAogIwogIyBVU0IgZGV2aWNlcwpAQCAtODIwLDE2ICs3NjYsMTcgQEAKICMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAogCiAjCisjIFNvQyBBdWRpbyBzdXBwb3J0IGZvciBTdXBlckgKKyMKKworIwogIyBPcGVuIFNvdW5kIFN5c3RlbQogIwogIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIworQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTgzOCwxMCArNzg1LDcgQEAKICMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAogIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAotCi0jCi0jIFVTQiBzdXBwb3J0Ci0jCitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKQEAgLTg1NSw2ICs3OTksNyBAQAogIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKQEAgLTg2Niw2ICs4MTEsNyBAQAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCkBAIC04ODQsNiArODMwLDcgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldApAQCAtODk4LDcgKzg0NSw3IEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCkBAIC05MzksMjYgKzg4Niw2NiBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZJTEVTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX1NFTEVDVEVEPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfQU1ENTUzNlVEQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUOTE9eQorQ09ORklHX1VTQl9BVDkxPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVNTVlfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfWkVSTz1tCisjIENPTkZJR19VU0JfRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VURlM9bQorQ09ORklHX1VTQl9GSUxFX1NUT1JBR0U9bQorIyBDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRV9URVNUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR19TRVJJQUw9bQorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKK0NPTkZJR19NTUM9eQogIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KK0NPTkZJR19NTUNfQkxPQ0s9eQorQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQorIyBDT05GSUdfU0RJT19VQVJUIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KK0NPTkZJR19NTUNfQVQ5MT15CisjIENPTkZJR19NTUNfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIExFRCBkcml2ZXJzCiAjCitDT05GSUdfTEVEU19BVE1FTF9QV009eQorQ09ORklHX0xFRFNfR1BJTz15CisKKyMKKyMgTEVEIFRyaWdnZXJzCisjCitDT05GSUdfTEVEU19UUklHR0VSUz15CitDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQorQ09ORklHX1JUQ19DTEFTUz15CitDT05GSUdfUlRDX0hDVE9TWVM9eQorQ09ORklHX1JUQ19IQ1RPU1lTX0RFVklDRT0icnRjMCIKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgUlRDIGludGVyZmFjZXMKQEAgLTk3MCwyNiArOTU3LDI4IEBACiAjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIEkyQyBSVEMgZHJpdmVycwotIwotCi0jCiAjIFNQSSBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CiAKICMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KK0NPTkZJR19SVENfRFJWX0FUOTFTQU05PXkKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05X1JUVD0wCitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOV9HUEJSPTAKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5NywxNCArOTg2LDggQEAKIENPTkZJR19FWFQyX0ZTPXkKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAotQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CkBAIC0xMDQ2LDcgKzEwMjksNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MiwyMiArMTA0NCwyMSBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1NVTU1BUlk9eQogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CkBAIC0xMDkyLDI5ICsxMDczLDIzIEBACiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCiAjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTQ1LDEwOCArMTEyMCwzNiBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMTU9eQogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAotCi0jCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVFJVTUVOVEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRCBpcyBub3Qgc2V0CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0tFUk5FTD15Ci0jIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15Ci0jIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKLSMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAotIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQotQ09ORklHX0RFQlVHX0xMPXkKLSMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotCi0jCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucwotIwotQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQotIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KLSMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQotIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKLSMKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwpAQCAtMTI1NiwxMCArMTE1OSwxMCBAQAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQotQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOXJsZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOXJsZWtfZGVmY29uZmlnCmluZGV4IDk4ZTY3NDYuLmQ4ZWM1ZjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlybGVrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05cmxla19kZWZjb25maWcKQEAgLTIxMSw3ICsyMTEsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdGViOTIwMF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0ZWI5MjAwX2RlZmNvbmZpZwppbmRleCBkODQ2YTQ5Li44NWM4MGY3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0ZWI5MjAwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0ZWI5MjAwX2RlZmNvbmZpZwpAQCAtMTcxLDcgKzE3MSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotQ09ORklHX05PX0lETEVfSFo9eQogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY29sbGllX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvY29sbGllX2RlZmNvbmZpZwppbmRleCA0MjY0ZTI3Li5mNzYyMmU2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2NvbGxpZV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9jb2xsaWVfZGVmY29uZmlnCkBAIC0xNjYsNyArMTY2LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2NvcmdpX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvY29yZ2lfZGVmY29uZmlnCmluZGV4IGU4OTgwYTkuLjliODc0OGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY29yZ2lfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvY29yZ2lfZGVmY29uZmlnCkBAIC0xNjUsNyArMTY1LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lY2JhdDkxX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvZWNiYXQ5MV9kZWZjb25maWcKaW5kZXggOTBlZDIxNC4uY2ZlYjgxNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lY2JhdDkxX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2VjYmF0OTFfZGVmY29uZmlnCkBAIC0yMzAsNyArMjMwLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VwOTN4eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2VwOTN4eF9kZWZjb25maWcKaW5kZXggMjRhNzAxYS4uMjFhYTAxMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lcDkzeHhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvZXA5M3h4X2RlZmNvbmZpZwpAQCAtMTg0LDcgKzE4NCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VzZXJpZXNfcHhhX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvZXNlcmllc19weGFfZGVmY29uZmlnCmluZGV4IGVkNDg3YjkuLjQ5M2VjZWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZXNlcmllc19weGFfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvZXNlcmllc19weGFfZGVmY29uZmlnCkBAIC0yNTEsNyArMjUxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2lteDI3YWRzX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW14MjdhZHNfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZDk1YjgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9jb25maWdzL2lteDI3YWRzX2RlZmNvbmZpZwpAQCAtMCwwICsxLDgyNiBAQAorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAorIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNgorIyBGcmkgSnVuIDIwIDE2OjI5OjM0IDIwMDgKKyMKK0NPTkZJR19BUk09eQorQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKK0NPTkZJR19HRU5FUklDX0dQSU89eQorQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfTU1VPXkKKyMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQorQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQorQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19aT05FX0RNQT15CitDT05GSUdfQVJDSF9NVERfWElQPXkKK0NPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAorQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKKworIworIyBHZW5lcmFsIHNldHVwCisjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU1lTVklQQ19TWVNDVEw9eQorQ09ORklHX1BPU0lYX01RVUVVRT15CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CisjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNDVEw9eQorQ09ORklHX0VNQkVEREVEPXkKK0NPTkZJR19VSUQxNj15CitDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKK0NPTkZJR19LQUxMU1lNUz15CitDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUz15CitDT05GSUdfSE9UUExVRz15CitDT05GSUdfUFJJTlRLPXkKK0NPTkZJR19CVUc9eQorQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKK0NPTkZJR19CQVNFX0ZVTEw9eQorQ09ORklHX0ZVVEVYPXkKK0NPTkZJR19BTk9OX0lOT0RFUz15CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKK0NPTkZJR19TSE1FTT15CitDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQorQ09ORklHX1NMQUI9eQorIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQorQ09ORklHX1JUX01VVEVYRVM9eQorIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CitDT05GSUdfQkFTRV9TTUFMTD0wCitDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CitDT05GSUdfTU9EVUxFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKK0NPTkZJR19CTE9DSz15CisjIENPTkZJR19MQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorCisjCisjIElPIFNjaGVkdWxlcnMKKyMKK0NPTkZJR19JT1NDSEVEX05PT1A9eQorIyBDT05GSUdfSU9TQ0hFRF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9OT09QPXkKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9Im5vb3AiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQorCisjCisjIFN5c3RlbSBUeXBlCisjCisjIENPTkZJR19BUkNIX0FBRUMyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VCU0ExMTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FUDkzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9GT09UQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0g3MjBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMyWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMzWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVhDPXkKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0hBUksgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zCisjCitDT05GSUdfQVJDSF9NWDI9eQorIyBDT05GSUdfQVJDSF9NWDMgaXMgbm90IHNldAorCisjCisjIE1YMiBmYW1pbHkgQ1BVIHN1cHBvcnQKKyMKK0NPTkZJR19NQUNIX01YMjc9eQorCisjCisjIE1YMiBQbGF0Zm9ybXMKKyMKK0NPTkZJR19NQUNIX01YMjdBRFM9eQorIyBDT05GSUdfTUFDSF9QQ00wMzggaXMgbm90IHNldAorCisjCisjIFByb2Nlc3NvciBUeXBlCisjCitDT05GSUdfQ1BVXzMyPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CitDT05GSUdfQ1BVXzMydjU9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CitDT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NQMTU9eQorQ09ORklHX0NQVV9DUDE1X01NVT15CisKKyMKKyMgUHJvY2Vzc29yIEZlYXR1cmVzCisjCitDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKKworIworIyBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgRmVhdHVyZXMKKyMKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQorQ09ORklHX0haPTEwMAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19GTEFUTUVNPXkKK0NPTkZJR19GTEFUX05PREVfTUVNX01BUD15CisjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CisjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAorQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKK0NPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKK0NPTkZJR19aQk9PVF9ST01fQlNTPTB4MAorQ09ORklHX0NNRExJTkU9IiIKKyMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAorCisjCisjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgorIworCisjCisjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAorIworIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKKworIworIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKKyMKK0NPTkZJR19CSU5GTVRfRUxGPXkKKyMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKKyMKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorCisjCisjIE5ldHdvcmtpbmcKKyMKK0NPTkZJR19ORVQ9eQorCisjCisjIE5ldHdvcmtpbmcgb3B0aW9ucworIworQ09ORklHX1BBQ0tFVD15CitDT05GSUdfUEFDS0VUX01NQVA9eQorQ09ORklHX1VOSVg9eQorIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CitDT05GSUdfSU5FVD15CitDT05GSUdfSVBfTVVMVElDQVNUPXkKKyMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfRklCX0hBU0g9eQorQ09ORklHX0lQX1BOUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CisjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19DVUJJQz15CitDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCisjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAorIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE0gaXMgbm90IHNldAorIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAorIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xMQzIgaXMgbm90IHNldAorIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CisjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisKKyMKKyMgTmV0d29yayB0ZXN0aW5nCisjCisjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CisjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcworIworIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKKworIworIyBEZXZpY2UgRHJpdmVycworIworCisjCisjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKKyMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCitDT05GSUdfU1RBTkRBTE9ORT15CitDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAorIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAorIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19NVEQ9eQorIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAorQ09ORklHX01URF9QQVJUSVRJT05TPXkKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CisjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAorCisjCisjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCisjCitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAorIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAorIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CisKKyMKKyMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKKyMKK0NPTkZJR19NVERfQ0ZJPXkKKyMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMSBpcyBub3Qgc2V0CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JMT15CisjIENPTkZJR19NVERfQ0ZJX0kyIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKKyMgQ09ORklHX01URF9DRklfQU1EU1REIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9VVElMPXkKKyMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAorCisjCisjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKKyMKKyMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwMDAwMDAwMAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MgorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKKworIworIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQkxPQ0syTVREIGlzIG5vdCBzZXQKKworIworIyBEaXNrLU9uLUNoaXAgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CisKKyMKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCisjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVY9eQorIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfTE9PUCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisKKyMKKyMgU0NTSSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfTUQgaXMgbm90IHNldAorQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CisjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAorIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRVRIRVJORVQ9eQorIyBDT05GSUdfTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAorIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQ19PTEQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcyBMQU4KKyMKKyMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTRE4gaXMgbm90IHNldAorCisjCisjIElucHV0IGRldmljZSBzdXBwb3J0CisjCitDT05GSUdfSU5QVVQ9eQorIyBDT05GSUdfSU5QVVRfRkZfTUVNTEVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT0xMREVWIGlzIG5vdCBzZXQKKworIworIyBVc2VybGFuZCBpbnRlcmZhY2VzCisjCisjIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWREVWPXkKKyMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfSU5QVVRfS0VZQk9BUkQgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAorCisjCisjIEhhcmR3YXJlIEkvTyBwb3J0cworIworIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAorCisjCisjIENoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CisjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorCisjCisjIFNlcmlhbCBkcml2ZXJzCisjCisjIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CisKKyMKKyMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAorIworIyBDT05GSUdfU0VSSUFMX0lNWCBpcyBub3Qgc2V0CitDT05GSUdfVU5JWDk4X1BUWVM9eQorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CisjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSSBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9HUElPX0xJQj15CisKKyMKKyMgR1BJTyBTdXBwb3J0CisjCisKKyMKKyMgSTJDIEdQSU8gZXhwYW5kZXJzOgorIworCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkZXZpY2VzCisjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAorCisjCisjIEdyYXBoaWNzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBTb3VuZAorIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorIyBDT05GSUdfSElEX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAorCisjCisjIEZpbGUgc3lzdGVtcworIworIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRE5PVElGWSBpcyBub3Qgc2V0CisjIENPTkZJR19JTk9USUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorCisjCisjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKKworIworIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WRkFUX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAorCisjCisjIFBzZXVkbyBmaWxlc3lzdGVtcworIworQ09ORklHX1BST0NfRlM9eQorQ09ORklHX1BST0NfU1lTQ1RMPXkKK0NPTkZJR19TWVNGUz15CitDT05GSUdfVE1QRlM9eQorIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBmaWxlc3lzdGVtcworIworIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CitDT05GSUdfTkZTX0ZTPXkKK0NPTkZJR19ORlNfVjM9eQorIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CitDT05GSUdfUk9PVF9ORlM9eQorQ09ORklHX0xPQ0tEPXkKK0NPTkZJR19MT0NLRF9WND15CitDT05GSUdfTkZTX0NPTU1PTj15CitDT05GSUdfU1VOUlBDPXkKKyMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQYXJ0aXRpb24gVHlwZXMKKyMKKyMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKK0NPTkZJR19OTFM9eQorQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCitDT05GSUdfTkxTX0NPREVQQUdFXzQzNz1tCisjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9bQorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY5IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV84IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMT15CisjIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xNT1tCisjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAorIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgaGFja2luZworIworIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQorQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKKworIworIyBTZWN1cml0eSBvcHRpb25zCisjCisjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CisKKyMKKyMgTGlicmFyeSByb3V0aW5lcworIworQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKK0NPTkZJR19QTElTVD15CitDT05GSUdfSEFTX0lPTUVNPXkKK0NPTkZJR19IQVNfSU9QT1JUPXkKK0NPTkZJR19IQVNfRE1BPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMTN4eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2lvcDEzeHhfZGVmY29uZmlnCmluZGV4IDk4OGI0ZDEuLjQ4MmU1NzAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMTN4eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9pb3AxM3h4X2RlZmNvbmZpZwpAQCAtMTk3LDcgKzE5Nyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2lvcDMyeF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2lvcDMyeF9kZWZjb25maWcKaW5kZXggODNmNDBkNC4uODYxMmY1OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9pb3AzMnhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzJ4X2RlZmNvbmZpZwpAQCAtMjAxLDcgKzIwMSw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2lvcDMzeF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2lvcDMzeF9kZWZjb25maWcKaW5kZXggOTE3YWZiNS4uOGIwMDk4ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9pb3AzM3hfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzN4X2RlZmNvbmZpZwpAQCAtMTk3LDcgKzE5Nyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2l4cDIwMDBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9peHAyMDAwX2RlZmNvbmZpZwppbmRleCBmOGY5NzkzLi44NDY4MGRiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2l4cDIwMDBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjAwMF9kZWZjb25maWcKQEAgLTE4NCw3ICsxODQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9peHAyM3h4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjN4eF9kZWZjb25maWcKaW5kZXggMjdjZjAyMi4uNGEyZjdiMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9peHAyM3h4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2l4cDIzeHhfZGVmY29uZmlnCkBAIC0xODAsNyArMTgwLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwNHh4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwNHh4X2RlZmNvbmZpZwppbmRleCBlZmEwNDg1Li5mYzE0OTMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2l4cDR4eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9peHA0eHhfZGVmY29uZmlnCkBAIC0xNjUsNiArMTY1LDcgQEAKIENPTkZJR19NQUNIX05BUzEwMEQ9eQogQ09ORklHX01BQ0hfRFNNRzYwMD15CiBDT05GSUdfQVJDSF9JWERQNFhYPXkKK0NPTkZJR19NQUNIX0ZTRz15CiBDT05GSUdfQ1BVX0lYUDQ2WD15CiBDT05GSUdfQ1BVX0lYUDQzWD15CiBDT05GSUdfTUFDSF9HVFdYNTcxNT15CkBAIC03NzAsNyArNzcxLDcgQEAKICMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAotIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAorQ09ORklHX1NBVEFfVklBPXkKICMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKQEAgLTExNDMsNyArMTE0NCw3IEBACiAjIENPTkZJR19TRU5TT1JTX1ZJQTY4NkEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19WVDgyMzEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX1c4Mzc4MUQ9eQogIyBDT05GSUdfU0VOU09SU19XODM3OTFEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0CkBAIC0xMzM0LDggKzEzMzUsOCBAQAogIwogIyBMRUQgZHJpdmVycwogIwotIyBDT05GSUdfTEVEU19JWFA0WFggaXMgbm90IHNldAogQ09ORklHX0xFRFNfR1BJTz15CitDT05GSUdfTEVEU19GU0c9eQogCiAjCiAjIExFRCBUcmlnZ2VycwpAQCAtMTM2Nyw3ICsxMzY4LDcgQEAKICMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX0lTTDEyMDg9eQogQ09ORklHX1JUQ19EUlZfWDEyMDU9eQogQ09ORklHX1JUQ19EUlZfUENGODU2Mz15CiAjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9rYWZhX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2FmYV9kZWZjb25maWcKaW5kZXggYWU1MWE0MC4uNmRkOTVhMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9rYWZhX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2thZmFfZGVmY29uZmlnCkBAIC0xNjIsNyArMTYyLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2tiOTIwMl9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2tiOTIwMl9kZWZjb25maWcKaW5kZXggYzE2NTM3ZC4uOGU3NGM2NiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9rYjkyMDJfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2I5MjAyX2RlZmNvbmZpZwpAQCAtMTI2LDcgKzEyNiw2IEBACiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2tpcmt3b29kX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZwpjb3B5IHRvIGFyY2gvYXJtL2NvbmZpZ3Mva2lya3dvb2RfZGVmY29uZmlnCmluZGV4IDVjYWIwODMuLmUzMzU3YmEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9raXJrd29vZF9kZWZjb25maWcKQEAgLTEsMTcgKzEsMTggQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBXZWQgSnVsIDE4IDE0OjExOjQ4IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzUKKyMgU3VuIEp1biAyMiAxNTo1MToyNSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CiBDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIENPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQpAQCAtMjEsNDMgKzIyLDQxIEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCi0jIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiAjIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CkBAIC02NSwyNyArNjQsNDAgQEAKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKLSMgQ09ORklHX0VQT0xMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NJR05BTEZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSRkQgaXMgbm90IHNldAotIyBDT05GSUdfRVZFTlRGRCBpcyBub3Qgc2V0CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfT1BST0ZJTEU9eQorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0Ci1DT05GSUdfS01PRD15CisjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CkBAIC05OSwxMSArMTExLDEyIEBACiBDT05GSUdfSU9TQ0hFRF9BUz15CiBDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CiBDT05GSUdfSU9TQ0hFRF9DRlE9eQotQ09ORklHX0RFRkFVTFRfQVM9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAotQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTI5LDEwICsxNDIsMTUgQEAKICMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0tJUktXT09EPXkKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTE9LSSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01WNzhYWDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE0MCwyOSArMTU4LDM2IEBACiAjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0Ci1DT05GSUdfRE1BQk9VTkNFPXkKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgTWFydmVsbCBLaXJrd29vZCBJbXBsZW1lbnRhdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0FSTUNPUkU9eQotQ09ORklHX1BYQTI3eD15CitDT05GSUdfTUFDSF9EQjg4RjYyODFfQlA9eQorQ09ORklHX01BQ0hfUkQ4OEY2MTkyX05BUz15CitDT05GSUdfTUFDSF9SRDg4RjYyODE9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKK0NPTkZJR19QTEFUX09SSU9OPXkKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0ZFUk9DRU9OPXkKKyMgQ09ORklHX0NQVV9GRVJPQ0VPTl9PTERfSUQgaXMgbm90IHNldAogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15Ci1DT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NPUFlfRkVST0NFT049eQorQ09ORklHX0NQVV9UTEJfRkVST0NFT049eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQogCkBAIC0xNzAsMzMgKzE5NSwzMiBAQAogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKIENPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKK0NPTkZJR19PVVRFUl9DQUNIRT15CitDT05GSUdfQ0FDSEVfRkVST0NFT05fTDI9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCiBDT05GSUdfUENJPXkKIENPTkZJR19QQ0lfU1lTQ0FMTD15Ci1DT05GSUdfUENJX0hPU1RfSVRFODE1Mj15CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CitDT05GSUdfUENJX0xFR0FDWT15CiAjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQogQ09ORklHX0haPTEwMAotIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpAQCAtMjA1LDYgKzIyOSw4IEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKQEAgLTIyOCw5ICsyNTQsNyBAQAogIwogIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKICMKLUNPTkZJR19GUEVfTldGUEU9eQotIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yMzgsMTYgKzI2MiwxMiBAQAogQ09ORklHX0JJTkZNVF9FTEY9eQogIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAogIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAotIyBDT05GSUdfQVJUSFVSIGlzIG5vdCBzZXQKIAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKLUNPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI1OCwxNSArMjc4LDE2IEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKQEAgLTI3NSw2ICsyOTYsNyBAQAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjg1LDYgKzMwNyw3IEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0yOTIsOCArMzE1LDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMCwxNyArMzMxLDE1IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCi0jIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUEtUR0VOPW0KKyMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CkBAIC0zMzEsMTIgKzM1MCw3IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiBDT05GSUdfV0lSRUxFU1NfRVhUPXkKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKQEAgLTM0Nyw2ICszNjEsNyBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15CkBAIC0zNTQsMzQgKzM2OSw0MiBAQAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0Ci1DT05GSUdfTVREPW0KK0NPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCiAjCi1DT05GSUdfTVREX0NIQVI9bQotQ09ORklHX01URF9CTEtERVZTPW0KLUNPTkZJR19NVERfQkxPQ0s9bQotIyBDT05GSUdfTVREX0JMT0NLX1JPIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CiAjIENPTkZJR19GVEwgaXMgbm90IHNldAogIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CitDT05GSUdfTVREX0pFREVDUFJPQkU9eQorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQotQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldApAQCAtMzg5LDYgKzQxMiwxMSBAQAogQ09ORklHX01URF9DRklfSTI9eQogIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorIyBDT05GSUdfTVREX0NGSV9BTURTVEQgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfU1RBQT15CitDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKQEAgLTM5NywxMyArNDI1LDIyIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTVBBNyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU5URUxfVlJfTk9SIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9QTUM1NTEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RBVEFGTEFTSCBpcyBub3Qgc2V0CitDT05GSUdfTVREX00yNVA4MD15CitDT05GSUdfTTI1UFhYX1VTRV9GQVNUX1JFQUQ9eQogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQxNSwxOCArNDUyLDE3IEBACiAjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EPW0KLSMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkQ9eQorQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURT15CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0lEUz1tCitDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9DQUZFIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9DTV9YMjcwPW0KICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfT1JJT049eQogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCkBAIC00NDUsMzggKzQ4MSwxMiBAQAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9TWDggaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPW0KLUNPTkZJR19JREVfTUFYX0hXSUZTPTQKLUNPTkZJR19CTEtfREVWX0lERT1tCi0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9bQotIyBDT05GSUdfSURFRElTS19NVUxUSV9NT0RFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUNEPW0KLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi0jIENPTkZJR19JREVfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVQQ0lfUENJQlVTX09SREVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVETUEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNDk0LDggKzUwNCw5IEBACiBDT05GSUdfQkxLX0RFVl9TRD15CiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIUl9ERVZfU0cgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1I9bQorIyBDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1IgaXMgbm90IHNldAorQ09ORklHX0NIUl9ERVZfU0c9bQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCiAjCkBAIC01MTMsMTIgKzUyNCw5IEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKQEAgLTUyOSw2ICs1MzcsNyBAQAogIyBDT05GSUdfU0NTSV9BSUM3OVhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RQVF9JMk8gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTEVHQUNZIGlzIG5vdCBzZXQKQEAgLTUzOSw4ICs1NDgsMTAgQEAKICMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX01WU0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldApAQCAtNTUwLDE2ICs1NjEsNjggQEAKICMgQ09ORklHX1NDU0lfTlNQMzIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEEgaXMgbm90IHNldAorQ09ORklHX0FUQT15CisjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1NBVEFfUE1QPXkKKyMgQ09ORklHX1NBVEFfQUhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9QSUlYIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX01WPXkKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAorIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTUQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NFggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MjAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DWVBSRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfRUZBUiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfR0VORVJJQyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM2NiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMk4gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMTMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9KTUlDUk9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDMTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUERDMjAyN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKICMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CkBAIC01NzQsNiArNjM3LDcgQEAKICMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CkBAIC01ODQsMjggKzY0OCwyOCBAQAogIyBDT05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRU5DMjhKNjAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAogIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAogIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5VE9PPW0KLSMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0Ci0jIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR184MTM5VE9PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKQEAgLTYxNSw3ICs2NzksMTMgQEAKIENPTkZJR19ORVRERVZfMTAwMD15CiAjIENPTkZJR19BQ0VOSUMgaXMgbm90IHNldAogIyBDT05GSUdfREwySyBpcyBub3Qgc2V0Ci0jIENPTkZJR19FMTAwMCBpcyBub3Qgc2V0CitDT05GSUdfRTEwMDA9eQorQ09ORklHX0UxMDAwX05BUEk9eQorIyBDT05GSUdfRTEwMDBfRElTQUJMRV9QQUNLRVRfU1BMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JR0IgaXMgbm90IHNldAogIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKICMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0CkBAIC02MjYsMTYgKzY5NiwxMCBAQAogIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0CiAjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKK0NPTkZJR19NVjY0M1hYX0VUSD15CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwMD15Ci0jIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TMklPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAotIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKQEAgLTY0Myw2ICs3MDcsNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTY1MSw3ICs3MTYsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GRERJIGlzIG5vdCBzZXQKQEAgLTY1OSw3ICs3MjMsNiBAQAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CkBAIC02NzUsMTAgKzczOCwxMiBAQAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCi0jIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTU9VU0VERVY9eQorQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX0VWREVWPXkKKyMgQ09ORklHX0lOUFVUX0VWREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIAogIwpAQCAtNjg4LDE2ICs3NTMsNyBAQAogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDA9bQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwpAQCAtNzA5LDI3NSArNzY1LDE1OCBAQAogIwogIyBDaGFyYWN0ZXIgZGV2aWNlcwogIwotQ09ORklHX1ZUPXkKLUNPTkZJR19WVF9DT05TT0xFPXkKLUNPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19WVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERVZLTUVNIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCiAjCi0jIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTA9eQorQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMXzgyNTBfUENJIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CitDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz0yCisjIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIENPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CitDT05GSUdfSTJDX01WNjRYWFg9eQorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAorQ09ORklHX1NQST15CisjIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NQSV9NQVNURVI9eQorCisjCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCisjCisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX09SSU9OPXkKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAotQ09ORklHX01JU0NfREVWSUNFUz15Ci0jIENPTkZJR19QSEFOVE9NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLUNPTkZJR19ORVdfTEVEUz15Ci1DT05GSUdfTEVEU19DTEFTUz15Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLUNPTkZJR19MRURTX0NNX1gyNzA9eQotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0Ci1DT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19EUk0gaXMgbm90IHNldAorIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9DSVJSVVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0NZQkVSMjAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9JTVNUVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9OVklESUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUklWQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAotIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BUksgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotQ09ORklHX0ZCX01CWD1tCi0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKLQotIwotIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKLSMKLSMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKLUNPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIFBDSSBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9HSU5BMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RBUkxBMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0dJTkEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTU9OQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUlBIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FQ0hPM0cgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPSU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTVUxMEsxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTVUxMEsxWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU5TMTM3MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FUzE5NjggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0ZNODAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IREFfSU5URUwgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9LT1JHMTIxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01JWEFSVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTk0yNTYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUUzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTk2NTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NPTklDVklCRVMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQorIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTk5MiwyNiArOTMxLDI4IEBACiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKLSMgQ09ORklHX1VTQl9FSENJX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VIQ0lfSENEPXkKK0NPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVD15CitDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQ9eQogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09IQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldApAQCAtMTAyMCw3ICs5NjEsOCBAQAogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAorQ09ORklHX1VTQl9QUklOVEVSPXkKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTEwMzEsMTUgKzk3MywxOCBAQAogIwogQ09ORklHX1VTQl9TVE9SQUdFPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCPXkKK0NPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NPXkKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfRFBDTT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSMDk9eQorQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NT15CitDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1Q9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA0NywxNSArOTkyLDExIEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX01PTj15CisjIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNzYsNDMgKzEwMTcsMjcgQEAKICMgQ09ORklHX1VTQl9JRE1PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FQUExFRElTUExBWSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0lTVVNCVkdBIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKKyMgQ09ORklHX0xFRFNfQ0xBU1MgaXMgbm90IHNldAogCiAjCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKKyMgTEVEIGRyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQotQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQogCiAjCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIyBMRUQgVHJpZ2dlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KLSMgQ09ORklHX01NQ19TREhDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVElGTV9TRCBpcyBub3Qgc2V0Ci0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCisjIENPTkZJR19MRURTX1RSSUdHRVJTIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQotQ09ORklHX1JUQ19IQ1RPU1lTPXkKLUNPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCiAjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAogCiAjCkBAIC0xMTI1LDMyICsxMDUwLDU2IEBACiAjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCisjIEkyQyBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX01WPXkKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SOTcwMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorCisjCiAjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD15CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD15Ci0KLSMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKLQotIwotIyBETUEgQ2xpZW50cwotIworQ09ORklHX0RNQURFVklDRVM9eQogCiAjCiAjIERNQSBEZXZpY2VzCiAjCitDT05GSUdfTVZfWE9SPXkKK0NPTkZJR19ETUFfRU5HSU5FPXkKKworIworIyBETUEgQ2xpZW50cworIworIyBDT05GSUdfTkVUX0RNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtMTE1OSwyNSArMTEwOCwyMiBAQAogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19YRlNfRlM9eQorIyBDT05GSUdfWEZTX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTE4NSw4ICsxMTMxLDExIEBACiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKLSMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAotIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19JU085NjYwX0ZTPXkKK0NPTkZJR19KT0xJRVQ9eQorIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19VREZfRlM9bQorQ09ORklHX1VERl9OTFM9eQogCiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKQEAgLTEyMDcsNyArMTE1Niw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjIwLDIyICsxMTY4LDMwIEBACiAjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfSkZGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEyNDUsOCArMTIwMSw3IEBACiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTUsMTggKzEyMTAsMzAgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfT1NGX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BTUlHQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ19QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKKyMgQ09ORklHX0JTRF9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTklYV0FSRV9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMjg4LDcgKzEyNTUsNyBAQAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfSVNPODg1OV8xPXkKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzI9eQogIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldApAQCAtMTMwMCw1MyArMTI2Nyw1NyBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKK0NPTkZJR19OTFNfVVRGOD15CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAogQ09ORklHX01BR0lDX1NZU1JRPXkKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NIRURfREVCVUc9eQorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKKyMgQ09ORklHX1NDSEVEX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1BSRUVNUFQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0lORk89eQogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15CiBDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMzU1LDU1ICsxMzI2LDEwMCBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQVNZTkNfQ09SRT15CiBDT05GSUdfQ1JZUFRPPXkKKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKIENPTkZJR19DUllQVE9fQUxHQVBJPW0KIENPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KIENPTkZJR19DUllQVE9fTUFOQUdFUj1tCisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci0jIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfQ0NJVFQ9eQorQ09ORklHX0NSQzE2PXkKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAotIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19MSUJDUkMzMkM9eQorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKIENPTkZJR19IQVNfSU9QT1JUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mva3M4Njk1X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mva3M4Njk1X2RlZmNvbmZpZwppbmRleCA4YWIyMWEwLi42MDc3ZjJjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2tzODY5NV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9rczg2OTVfZGVmY29uZmlnCkBAIC0xNzQsNyArMTc0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2xva2lfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjUlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9sb2tpX2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi4xN2RhN2MzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbG9raV9kZWZjb25maWcKQEAgLTEsMTcgKzEsMTggQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzUKKyMgRnJpIEp1biAxMyAwMzowNzo0OSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15Ci1DT05GSUdfR0VORVJJQ19HUElPPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiBDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKQEAgLTIxLDUxICsyMiw0OCBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCi0jIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15Ci0jIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15CkBAIC03OCwyNyArNzYsMzAgQEAKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0Ci1DT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwpAQCAtMTA3LDExICsxMDgsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMzcsMTAgKzEzOSwxNSBAQAogIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LSVJLV09PRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9MT0tJPXkKKyMgQ09ORklHX0FSQ0hfTVY3OFhYMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTQ4LDI4ICsxNTUsMzQgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgSW1wbGVtZW50YXRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorQ09ORklHX01BQ0hfTEI4OFJDODQ4MD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworQ09ORklHX1BMQVRfT1JJT049eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfRkVST0NFT049eQorIyBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRCBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ09QWV9GRVJPQ0VPTj15CitDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTj15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CiAKQEAgLTE3NywyNyArMTkwLDI1IEBACiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwogQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyMjAsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjMwLDkgKzI0NSw5IEBACiAjCiAjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAogIwotQ09ORklHX0ZQRV9OV0ZQRT15Ci0jIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAorIyBDT05GSUdfRlBFX05XRlBFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDQsMTEgKzI1OSw4IEBACiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwotQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNTksMTUgKzI3MSwxNiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CkBAIC0yNzYsNiArMjg5LDcgQEAKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4Niw2ICszMDAsNyBAQAogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMjkzLDggKzMwOCw2IEBACiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMTEsNTUgKzMyNCwyNyBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmsgdGVzdGluZwogIwotIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BLVEdFTj1tCiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwogIyBXaXJlbGVzcwogIwogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKK0NPTkZJR19XSVJFTEVTU19FWFQ9eQogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDI0ICszNTMsMjAgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQotIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCkBAIC0zOTMsMjAgKzM3NCwyNSBAQAogQ09ORklHX01URF9DSEFSPXkKIENPTkZJR19NVERfQkxLREVWUz15CiBDT05GSUdfTVREX0JMT0NLPXkKLSMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKK0NPTkZJR19GVEw9eQorQ09ORklHX05GVEw9eQorIyBDT05GSUdfTkZUTF9SVyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CitDT05GSUdfTVREX0pFREVDUFJPQkU9eQorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKICMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQxNSw4ICs0MDEsMTMgQEAKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NGSV9JMT15CiBDT05GSUdfTVREX0NGSV9JMj15Ci0jIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0k0PXkKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorQ09ORklHX01URF9DRklfU1RBQT15CitDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKQEAgLTQyNSwxMiArNDE2LDIwIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTVBBNyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NVERfREFUQUZMQVNIIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTTI1UDgwPXkKK0NPTkZJR19NMjVQWFhfVVNFX0ZBU1RfUkVBRD15CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDQzLDQ2ICs0NDIsMzMgQEAKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkQ9eQotIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEU9eQogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX09SSU9OPXkKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKICMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKQEAgLTQ5MCw2ICs0NzYsNyBAQAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CkBAIC01MDAsOCArNDg3LDkgQEAKIENPTkZJR19CTEtfREVWX1NEPXkKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU1IgaXMgbm90IHNldAotIyBDT05GSUdfQ0hSX0RFVl9TRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUj1tCisjIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQ0hSX0RFVl9TRz1tCiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKICMKQEAgLTUxOSw0MCArNTA3LDQxIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCitDT05GSUdfQVRBPXkKKyMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9QTVA9eQorQ09ORklHX0FUQV9TRkY9eQorQ09ORklHX1NBVEFfTVY9eQorIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKLQotIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKLSMKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQzI4SjYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwPXkKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKK0NPTkZJR19NVjY0M1hYX0VUSD15CiAjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogCiAjCkBAIC01NjAsNiArNTQ5LDcgQEAKICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC01NjgsMTkgKzU1OCwxMyBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTk0LDQ4ICs1NzgsMjcgQEAKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwogQ09ORklHX0lOUFVUX01PVVNFREVWPXkKLSMgQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9FVkRFVj15CisjIENPTkZJR19JTlBVVF9FVkRFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKICMKLUNPTkZJR19JTlBVVF9LRVlCT0FSRD15Ci0jIENPTkZJR19LRVlCT0FSRF9BVEtCRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9TVU5LQkQgaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfTEtLQkQgaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9LRVlCT0FSRCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi1DT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKLSMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTY0NSwxOTEgKzYwOCwxMzcgQEAKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKICMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCiAjCi0jIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTA9eQorQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKK0NPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTIKKyMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKIAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKK0NPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogQ09ORklHX0hXX1JBTkRPTT1tCiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9eQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CitDT05GSUdfSTJDX01WNjRYWFg9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CiAjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKK0NPTkZJR19TUElfTUFTVEVSPXkKKworIworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycworIworIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQogIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIworIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIwogIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTgzOCw0MCArNzQ3LDM5IEBACiAjIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKICMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKLQotIwotIyBVU0Igc3VwcG9ydAotIworQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKLUNPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CisjIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAorQ09ORklHX1VTQl9QUklOVEVSPXkKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTg4MiwxNSArNzkwLDE4IEBACiAjCiBDT05GSUdfVVNCX1NUT1JBR0U9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUI9eQorQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT009eQorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EUENNPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOT15CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVD15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC05MDMsMTAgKzgxNCw2IEBACiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtOTMxLDY1ICs4MzgsMjMgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorIyBDT05GSUdfTEVEU19DTEFTUyBpcyBub3Qgc2V0CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCiAKICMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjIExFRCBUcmlnZ2VycwogIwotQ09ORklHX01NQ19QWEE9bQotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworIyBDT05GSUdfTEVEU19UUklHR0VSUyBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KLQotIwotIyBSVEMgaW50ZXJmYWNlcwotIwotQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKLUNPTkZJR19SVENfSU5URl9QUk9DPXkKLUNPTkZJR19SVENfSU5URl9ERVY9eQotIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgU1BJIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKLSMKLSMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCi0KLSMKLSMgb24tQ1BVIFJUQyBkcml2ZXJzCi0jCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC05OTgsMjUgKzg2MywyMiBAQAogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19YRlNfRlM9eQorIyBDT05GSUdfWEZTX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTAyNCw4ICs4ODYsMTEgQEAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9eQorIyBDT05GSUdfSk9MSUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CitDT05GSUdfVURGX0ZTPW0KK0NPTkZJR19VREZfTkxTPXkKIAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCkBAIC0xMDQ2LDcgKzkxMSw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDI3ICs5MjYsMjcgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CkBAIC0xMDkyLDI5ICs5NTYsNDAgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19PU0ZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworQ09ORklHX0JTRF9ESVNLTEFCRUw9eQorQ09ORklHX01JTklYX1NVQlBBUlRJVElPTj15CitDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OPXkKK0NPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQorQ09ORklHX0xETV9QQVJUSVRJT049eQorQ09ORklHX0xETV9ERUJVRz15CisjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NVTl9QQVJUSVRJT049eQorIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTEzNiw3ICsxMDExLDcgQEAKICMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CiBDT05GSUdfTkxTX0lTTzg4NTlfMT15Ci0jIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8yPXkKICMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKQEAgLTExNDgsMTE1ICsxMDIzLDEyMiBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAogQ09ORklHX01BR0lDX1NZU1JRPXkKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0tFUk5FTD15Ci0jIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQotIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKLSMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAotIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15Ci1DT05GSUdfREVCVUdfRVJST1JTPXkKLUNPTkZJR19ERUJVR19MTD15Ci0jIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CiAKICMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgogIwotQ09ORklHX0NSWVBUTz15CiBDT05GSUdfQ1JZUFRPX0FMR0FQST1tCiBDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCiBDT05GSUdfQ1JZUFRPX01BTkFHRVI9bQotIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KLSMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQotIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCiAjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQotIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0NDSVRUPXkKK0NPTkZJR19DUkMxNj15CitDT05GSUdfQ1JDX0lUVV9UPW0KIENPTkZJR19DUkMzMj15Ci0jIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CitDT05GSUdfTElCQ1JDMzJDPXkKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9scGQyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9scGQyNzBfZGVmY29uZmlnCmluZGV4IGEzYmY1ODMuLjFhMzhkOGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvbHBkMjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2xwZDI3MF9kZWZjb25maWcKQEAgLTE3Myw3ICsxNzMsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9scGQ3YTQwNF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2xwZDdhNDA0X2RlZmNvbmZpZwppbmRleCA0NmEwZjdmLi43YTJlOTMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2xwZDdhNDA0X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2xwZDdhNDA0X2RlZmNvbmZpZwpAQCAtMTQ4LDcgKzE0OCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFPXkKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL212Nzh4eDBfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjElCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9tdjc4eHgwX2RlZmNvbmZpZwppbmRleCA1Y2FiMDgzLi5kMzhlYmY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXY3OHh4MF9kZWZjb25maWcKQEAgLTEsMTcgKzEsMTggQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBXZWQgSnVsIDE4IDE0OjExOjQ4IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzUKKyMgRnJpIEp1biAxMyAwMjo1NzozMiAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15Ci1DT05GSUdfR0VORVJJQ19HUElPPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiBDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKQEAgLTIxLDcxICsyMiw4MyBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwogQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgotIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKLSMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CitDT05GSUdfS0FMTFNZTVNfQUxMPXkKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAogQ09ORklHX0hPVFBMVUc9eQogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQotIyBDT05GSUdfRVBPTEwgaXMgbm90IHNldAotIyBDT05GSUdfU0lHTkFMRkQgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FVkVOVEZEIGlzIG5vdCBzZXQKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15Ci1DT05GSUdfU0xBQj15Ci0jIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfT1BST0ZJTEU9eQorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKLUNPTkZJR19LTU9EPXkKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKQEAgLTk5LDExICsxMTIsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMjksMTAgKzE0MywxNSBAQAogIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LSVJLV09PRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xPS0kgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVY3OFhYMD15CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTQwLDI5ICsxNTksMzQgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKLUNPTkZJR19ETUFCT1VOQ0U9eQorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBNYXJ2ZWxsIE1WNzh4eDAgSW1wbGVtZW50YXRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9BUk1DT1JFPXkKLUNPTkZJR19QWEEyN3g9eQorQ09ORklHX01BQ0hfREI3OFgwMF9CUD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworQ09ORklHX1BMQVRfT1JJT049eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfRkVST0NFT049eQorQ09ORklHX0NQVV9GRVJPQ0VPTl9PTERfSUQ9eQogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15Ci1DT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NPUFlfRkVST0NFT049eQorQ09ORklHX0NQVV9UTEJfRkVST0NFT049eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQogCkBAIC0xNzAsMzMgKzE5NCwzMiBAQAogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKIENPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKK0NPTkZJR19PVVRFUl9DQUNIRT15CitDT05GSUdfQ0FDSEVfRkVST0NFT05fTDI9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCiBDT05GSUdfUENJPXkKIENPTkZJR19QQ0lfU1lTQ0FMTD15Ci1DT05GSUdfUENJX0hPU1RfSVRFODE1Mj15CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CitDT05GSUdfUENJX0xFR0FDWT15CiAjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQogQ09ORklHX0haPTEwMAotIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorQ09ORklHX0FFQUJJPXkKK0NPTkZJR19PQUJJX0NPTVBBVD15CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKQEAgLTIwNSw2ICsyMjgsOCBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCkBAIC0yMzEsNiArMjU2LDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKK0NPTkZJR19WRlA9eQogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjM4LDE2ICsyNjQsMTIgQEAKIENPTkZJR19CSU5GTVRfRUxGPXkKICMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSVEhVUiBpcyBub3Qgc2V0CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCi1DT05GSUdfUE09eQotIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNTgsMTUgKzI4MCwxNiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CkBAIC0yNzUsNiArMjk4LDcgQEAKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4NSw2ICszMDksNyBAQAogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMjkyLDggKzMxNyw2IEBACiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMTAsMTcgKzMzMywxNSBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmsgdGVzdGluZwogIwotIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BLVEdFTj1tCisjIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAogIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldApAQCAtMzMxLDEyICszNTIsNyBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogQ09ORklHX1dJUkVMRVNTX0VYVD15CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCkBAIC0zNDcsNiArMzYzLDcgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQpAQCAtMzU0LDMxICszNzEsMzkgQEAKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAotQ09ORklHX01URD1tCitDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwogIwotQ09ORklHX01URF9DSEFSPW0KLUNPTkZJR19NVERfQkxLREVWUz1tCi1DT05GSUdfTVREX0JMT0NLPW0KLSMgQ09ORklHX01URF9CTE9DS19STyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQogIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GVEwgaXMgbm90IHNldAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKLSMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9DRkk9eQorQ09ORklHX01URF9KRURFQ1BST0JFPXkKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC0zODksNiArNDE0LDExIEBACiBDT05GSUdfTVREX0NGSV9JMj15CiAjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldApAQCAtMzk3LDcgKzQyNywxMyBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MHgwCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTAKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU1QQTcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lOVEVMX1ZSX05PUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKQEAgLTQxNSwxOCArNDUxLDE3IEBACiAjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EPW0KLSMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkQ9eQorQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURT15CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0lEUz1tCitDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9DQUZFIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9DTV9YMjcwPW0KICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfT1JJT049eQogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCkBAIC00NDUsMzggKzQ4MCwxNyBAQAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9TWDggaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPW0KLUNPTkZJR19JREVfTUFYX0hXSUZTPTQKLUNPTkZJR19CTEtfREVWX0lERT1tCi0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9bQotIyBDT05GSUdfSURFRElTS19NVUxUSV9NT0RFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUNEPW0KLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi0jIENPTkZJR19JREVfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVQQ0lfUENJQlVTX09SREVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVETUEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CitDT05GSUdfTUlTQ19ERVZJQ0VTPXkKKyMgQ09ORklHX1BIQU5UT00gaXMgbm90IHNldAorIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNDk0LDggKzUwOCw5IEBACiBDT05GSUdfQkxLX0RFVl9TRD15CiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIUl9ERVZfU0cgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1I9bQorIyBDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1IgaXMgbm90IHNldAorQ09ORklHX0NIUl9ERVZfU0c9bQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCiAjCkBAIC01MTMsMTIgKzUyOCw5IEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKQEAgLTUyOSw2ICs1NDEsNyBAQAogIyBDT05GSUdfU0NTSV9BSUM3OVhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RQVF9JMk8gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTEVHQUNZIGlzIG5vdCBzZXQKQEAgLTUzOSw4ICs1NTIsMTAgQEAKICMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX01WU0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldApAQCAtNTUwLDE2ICs1NjUsNjggQEAKICMgQ09ORklHX1NDU0lfTlNQMzIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEEgaXMgbm90IHNldAorQ09ORklHX0FUQT15CisjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1NBVEFfUE1QPXkKKyMgQ09ORklHX1NBVEFfQUhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9QSUlYIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX01WPXkKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAorIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTUQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NFggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MjAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DWVBSRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfRUZBUiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfR0VORVJJQyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM2NiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMk4gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMTMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9KTUlDUk9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDMTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUERDMjAyN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKICMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CkBAIC01NzQsNiArNjQxLDcgQEAKICMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CkBAIC01ODQsMjggKzY1MiwyNyBAQAogIyBDT05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAogIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAogIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5VE9PPW0KLSMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0Ci0jIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR184MTM5VE9PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKQEAgLTYxNiw2ICs2ODMsMTAgQEAKICMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRSBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JUDEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUdCIGlzIG5vdCBzZXQKICMgQ09ORklHX05TODM4MjAgaXMgbm90IHNldAogIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0CiAjIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldApAQCAtNjI2LDE2ICs2OTcsMTAgQEAKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19USUdPTjMgaXMgbm90IHNldAogIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CitDT05GSUdfTVY2NDNYWF9FVEg9eQogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKLUNPTkZJR19ORVRERVZfMTAwMDA9eQotIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lYR0IgaXMgbm90IHNldAotIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogIyBDT05GSUdfVFIgaXMgbm90IHNldAogCiAjCkBAIC02NDMsNiArNzA4LDcgQEAKICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC02NTEsNyArNzE3LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CkBAIC02NTksNyArNzI0LDYgQEAKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldApAQCAtNjc3LDcgKzc0MSw2IEBACiAjCiAjIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtNjg4LDE2ICs3NTEsNyBAQAogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDA9bQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwpAQCAtNzA5LDI3NSArNzYzLDE5NSBAQAogIwogIyBDaGFyYWN0ZXIgZGV2aWNlcwogIwotQ09ORklHX1ZUPXkKLUNPTkZJR19WVF9DT05TT0xFPXkKLUNPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIAogIwogIyBTZXJpYWwgZHJpdmVycwogIwotIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwPXkKK0NPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF84MjUwX1BDSSBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NAorQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9MgorIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKICMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90IHNldAogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKK0NPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldAotIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiBDT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9eQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1NjMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1EODExMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgwMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX05GT1JDRTIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUFJPU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTOTZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorQ09ORklHX0kyQ19NVjY0WFhYPXkKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKLUNPTkZJR19NSVNDX0RFVklDRVM9eQotIyBDT05GSUdfUEhBTlRPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAotIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAotIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CitDT05GSUdfSFdNT049eQorIyBDT05GSUdfSFdNT05fVklEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQUQ3NDE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyOSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEVDc0NzMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BVFhQMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0k1S19BTUIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzE4MDVGIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjcxODgyRkcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzUzNzVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfR0w1MThTTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0dMNTIwU00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19JVDg3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE02MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTc3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE03OCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVgxNjE5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjY1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDODczNjAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQzg3NDI3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RNRTE3MzcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xOTIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdCMzk3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURTNzgyOCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RITUM1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1ZJQTY4NkEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19WVDgyMzEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi1DT05GSUdfTkVXX0xFRFM9eQotQ09ORklHX0xFRFNfQ0xBU1M9eQotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi1DT05GSUdfTEVEU19DTV9YMjcwPXkKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLUNPTkZJR19MRURTX1RSSUdHRVJTPXkKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfSURFX0RJU0sgaXMgbm90IHNldAotQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotQ09ORklHX0RBQj15Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfQ0lSUlVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1BNMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9DWUJFUjIwMDAgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVNJTElBTlQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfSU1TVFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1JJVkEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFUUk9YIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1JBREVPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BVFkxMjggaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1MzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NBVkFHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TSVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTkVPTUFHSUMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfS1lSTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl8zREZYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZPT0RPTzEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVlQ4NjIzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9NQlg9bQotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0Ci0jCi0jIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0Ci1DT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBQQ0kgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX0FEMTg4OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUxTMzAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FUSUlYUF9NT0RFTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODEwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgzMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVpUMzMyOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREFSTEEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9MQVlMQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9EQVJMQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0xBWUxBMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01PTkEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRUNITzNHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR08gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHT0lPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR09ESiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU1VMTBLMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU1VMTBLMVggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VOUzEzNzAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VOUzEzNzEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VTMTkzOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRVMxOTY4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERBX0lOVEVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NSVhBUlQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9QQ1hIUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfWU1GUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BQzk3X1BPV0VSX1NBVkUgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKIENPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCkBAIC05OTIsMjYgKzk2NiwyOCBAQAogQ09ORklHX1VTQl9BUkNIX0hBU19FSENJPXkKIENPTkZJR19VU0I9eQogIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCi0jIENPTkZJR19VU0JfRUhDSV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAorQ09ORklHX1VTQl9FSENJX0hDRD15CitDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQ9eQorQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEPXkKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVUhDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKQEAgLTEwMjAsNyArOTk2LDggQEAKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCiAjCiAjIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QUklOVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfUFJJTlRFUj15CisjIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQKIAogIwogIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCkBAIC0xMDMxLDE1ICsxMDA4LDE4IEBACiAjCiBDT05GSUdfVVNCX1NUT1JBR0U9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUI9eQorQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT009eQorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EUENNPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOT15CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVD15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDQ3LDE1ICsxMDI3LDExIEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX01PTj15CisjIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNzYsMzkgKzEwNTIsMjggQEAKICMgQ09ORklHX1VTQl9JRE1PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FQUExFRElTUExBWSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0lTVVNCVkdBIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCisjIExFRCBkcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KLUNPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0jIENPTkZJR19NTUNfU0RIQ0kgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1RJRk1fU0QgaXMgbm90IHNldAotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUj15CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKIENPTkZJR19SVENfSENUT1NZUz15CkBAIC0xMTI1LDMyICsxMDkwLDQxIEBACiAjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCisjIEkyQyBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfRFMxMzA3PXkKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9SUzVDMzcyPXkKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfTTQxVDgwPXkKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworCisjCiAjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD15CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD15Ci0KLSMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKLQotIwotIyBETUEgQ2xpZW50cwotIwotCi0jCi0jIERNQSBEZXZpY2VzCi0jCisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtMTE1OSwyNSArMTEzMywxOCBAQAogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTg1LDggKzExNTIsMTEgQEAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9bQorQ09ORklHX0pPTElFVD15CisjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1VERl9GUz1tCitDT05GSUdfVURGX05MUz15CiAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwpAQCAtMTIwNyw3ICsxMTc3LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyMjAsMjIgKzExODksMzAgQEAKICMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19KRkZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTI0NSw4ICsxMjIyLDcgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldApAQCAtMTI1NSwxOCArMTIzMSwzMCBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19PU0ZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworQ09ORklHX0JTRF9ESVNLTEFCRUw9eQorIyBDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTklYV0FSRV9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMjg4LDcgKzEyNzYsNyBAQAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfSVNPODg1OV8xPXkKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzI9eQogIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldApAQCAtMTMwMSw1MiArMTI4OSw1NSBAQAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CiBDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CiBDT05GSUdfU0NIRURfREVCVUc9eQotIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CitDT05GSUdfU0NIRURTVEFUUz15CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1BSRUVNUFQ9eQogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0lORk89eQogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15CiBDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMzU1LDU1ICsxMzQ2LDk5IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIwogQ09ORklHX0NSWVBUT19BTEdBUEk9bQogQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQogQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIwogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE9fSFc9eQorIyBDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVggaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQ19JVFVfVD1tCiBDT05GSUdfQ1JDMzI9eQogIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKIENPTkZJR19IQVNfSU9QT1JUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWFkc19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL214MzFhZHNfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTI3MTcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9jb25maWdzL214MzFhZHNfZGVmY29uZmlnCkBAIC0wLDAgKzEsODM5IEBACisjCisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM2CisjIEZyaSBKdW4gMjAgMTY6MjE6MTEgMjAwOAorIworQ09ORklHX0FSTT15CitDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQorQ09ORklHX0dFTkVSSUNfR1BJTz15CitDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKK0NPTkZJR19NTVU9eQorIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CitDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CitDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX1pPTkVfRE1BPXkKK0NPTkZJR19BUkNIX01URF9YSVA9eQorQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCitDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgorCisjCisjIEdlbmVyYWwgc2V0dXAKKyMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CitDT05GSUdfU1dBUD15CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU1lTVklQQ19TWVNDVEw9eQorIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKK0NPTkZJR19JS0NPTkZJRz15CitDT05GSUdfSUtDT05GSUdfUFJPQz15CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKKyMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKK0NPTkZJR19TWVNDVEw9eQorQ09ORklHX0VNQkVEREVEPXkKK0NPTkZJR19VSUQxNj15CitDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKK0NPTkZJR19LQUxMU1lNUz15CisjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19IT1RQTFVHPXkKK0NPTkZJR19QUklOVEs9eQorQ09ORklHX0JVRz15CitDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQorQ09ORklHX0JBU0VfRlVMTD15CitDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQorQ09ORklHX1NITUVNPXkKK0NPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CitDT05GSUdfUlRfTVVURVhFUz15CisjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX1NNQUxMPTAKK0NPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RVTEVfVU5MT0FEPXkKK0NPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKK0NPTkZJR19NT0RWRVJTSU9OUz15CisjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAorQ09ORklHX0tNT0Q9eQorQ09ORklHX0JMT0NLPXkKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CisKKyMKKyMgSU8gU2NoZWR1bGVycworIworQ09ORklHX0lPU0NIRURfTk9PUD15CitDT05GSUdfSU9TQ0hFRF9BUz15CitDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CitDT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CisjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKKworIworIyBTeXN0ZW0gVHlwZQorIworIyBDT05GSUdfQVJDSF9BQUVDMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FQlNBMTEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRVA5M1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRk9PVEJSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworIyBDT05GSUdfQVJDSF9NWDIgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVgzPXkKKworIworIyBNWDMgT3B0aW9ucworIworQ09ORklHX01BQ0hfTVgzMUFEUz15CisjIENPTkZJR19NQUNIX1BDTTAzNyBpcyBub3Qgc2V0CisKKyMKKyMgUHJvY2Vzc29yIFR5cGUKKyMKK0NPTkZJR19DUFVfMzI9eQorQ09ORklHX0NQVV9WNj15CisjIENPTkZJR19DUFVfMzJ2NksgaXMgbm90IHNldAorQ09ORklHX0NQVV8zMnY2PXkKK0NPTkZJR19DUFVfQUJSVF9FVjY9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WNj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJUFQ9eQorQ09ORklHX0NQVV9DT1BZX1Y2PXkKK0NPTkZJR19DUFVfVExCX1Y2PXkKK0NPTkZJR19DUFVfSEFTX0FTSUQ9eQorQ09ORklHX0NQVV9DUDE1PXkKK0NPTkZJR19DUFVfQ1AxNV9NTVU9eQorCisjCisjIFByb2Nlc3NvciBGZWF0dXJlcworIworQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9CUFJFRElDVF9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKKworIworIyBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgRmVhdHVyZXMKKyMKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQorQ09ORklHX0haPTEwMAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19GTEFUTUVNPXkKK0NPTkZJR19GTEFUX05PREVfTUVNX01BUD15CisjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CisjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAorQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKK0NPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKK0NPTkZJR19aQk9PVF9ST01fQlNTPTB4MAorQ09ORklHX0NNRExJTkU9Im5vaW5pdHJkIGNvbnNvbGU9dHR5bXhjMCwxMTUyMDAgcm9vdD0vZGV2L210ZGJsb2NrMiBydyBpcD1vZmYiCisjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKKworIworIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KKyMKKworIworIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKKyMKK0NPTkZJR19WRlA9eQorCisjCisjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cworIworQ09ORklHX0JJTkZNVF9FTEY9eQorIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAorIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucworIworIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisKKyMKKyMgTmV0d29ya2luZworIworQ09ORklHX05FVD15CisKKyMKKyMgTmV0d29ya2luZyBvcHRpb25zCisjCitDT05GSUdfUEFDS0VUPXkKKyMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19VTklYPXkKK0NPTkZJR19YRlJNPXkKKyMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUPXkKKyMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0ZJQl9IQVNIPXkKK0NPTkZJR19JUF9QTlA9eQorQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CitDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKK0NPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX0RJQUc9eQorQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0NVQklDPXkKK0NPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKKyMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CisjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CisjIENPTkZJR19CUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUNORVQgaXMgbm90IHNldAorIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFggaXMgbm90IHNldAorIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldAorIyBDT05GSUdfWDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBUEIgaXMgbm90IHNldAorIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKKworIworIyBOZXR3b3JrIHRlc3RpbmcKKyMKKyMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lSREEgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCisjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAorCisjCisjIERldmljZSBEcml2ZXJzCisjCisKKyMKKyMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucworIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKK0NPTkZJR19TVEFOREFMT05FPXkKK0NPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKK0NPTkZJR19GV19MT0FERVI9bQorIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAorIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19NVEQ9eQorIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAorQ09ORklHX01URF9QQVJUSVRJT05TPXkKK0NPTkZJR19NVERfUkVEQk9PVF9QQVJUUz15CitDT05GSUdfTVREX1JFREJPT1RfRElSRUNUT1JZX0JMT0NLPS0xCisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19VTkFMTE9DQVRFRCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19SRUFET05MWSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQorIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKKworIworIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycworIworQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKKyMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAorIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAorCisjCisjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCisjCitDT05GSUdfTVREX0NGST15CisjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzEgaXMgbm90IHNldAorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSTE9eQorIyBDT05GSUdfTVREX0NGSV9JMiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0lOVEVMRVhUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfVVRJTD15CitDT05GSUdfTVREX1JBTT15CisjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CisKKyMKKyMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcworIworIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIWVNNQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKKworIworIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQkxPQ0syTVREIGlzIG5vdCBzZXQKKworIworIyBEaXNrLU9uLUNoaXAgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkQ9eQorIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfSURTPXkKKyMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CisKKyMKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCisjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisKKyMKKyMgU0NTSSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfTUQgaXMgbm90IHNldAorQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CisjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAorIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRVRIRVJORVQ9eQorQ09ORklHX01JST15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzIExBTgorIworIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19XQU4gaXMgbm90IHNldAorIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0lOUFVUIGlzIG5vdCBzZXQKKworIworIyBIYXJkd2FyZSBJL08gcG9ydHMKKyMKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKKworIworIyBDaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfVlQgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQorIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKworIworIyBTZXJpYWwgZHJpdmVycworIworIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorCisjCisjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKKyMKK0NPTkZJR19TRVJJQUxfSU1YPXkKK0NPTkZJR19TRVJJQUxfSU1YX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9DT1JFPXkKK0NPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKK0NPTkZJR19VTklYOThfUFRZUz15CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkMgaXMgbm90IHNldAorIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIFNvdW5kCisjCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKKyMgRmlsZSBzeXN0ZW1zCisjCisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKK0NPTkZJR19JTk9USUZZPXkKK0NPTkZJR19JTk9USUZZX1VTRVI9eQorIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CisKKyMKKyMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorCisjCisjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUHNldWRvIGZpbGVzeXN0ZW1zCisjCitDT05GSUdfUFJPQ19GUz15CitDT05GSUdfUFJPQ19TWVNDVEw9eQorQ09ORklHX1NZU0ZTPXkKK0NPTkZJR19UTVBGUz15CisjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQorIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CitDT05GSUdfTkZTX0ZTPXkKKyMgQ09ORklHX05GU19WMyBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CitDT05GSUdfUk9PVF9ORlM9eQorQ09ORklHX0xPQ0tEPXkKK0NPTkZJR19ORlNfQ09NTU9OPXkKK0NPTkZJR19TVU5SUEM9eQorIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CisjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAorCisjCisjIFBhcnRpdGlvbiBUeXBlcworIworIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19NU0RPU19QQVJUSVRJT049eQorIyBDT05GSUdfTkxTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIGhhY2tpbmcKKyMKK0NPTkZJR19QUklOVEtfVElNRT15CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CitDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAorCisjCisjIFNlY3VyaXR5IG9wdGlvbnMKKyMKKyMgQ09ORklHX0tFWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCisjIENPTkZJR19DUllQVE9fTUFOQUdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0NCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKKworIworIyBMaWJyYXJ5IHJvdXRpbmVzCisjCitDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKK0NPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQorQ09ORklHX1BMSVNUPXkKK0NPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19JT1BPUlQ9eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWxpdGVraXRfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjQlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9teDMxbGl0ZWtpdF9kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uNGY0MWM0MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL214MzFsaXRla2l0X2RlZmNvbmZpZwpAQCAtMSwxMiArMSwxMiBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNQorIyBGcmkgSnVuIDEzIDE0OjIzOjM5IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKLUNPTkZJR19HRU5FUklDX0dQSU89eQotQ09ORklHX0dFTkVSSUNfVElNRT15CisjIENPTkZJR19HRU5FUklDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19USU1FIGlzIG5vdCBzZXQKICMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldApAQCAtMjEsNDQgKzIxLDQ0IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQogQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKLSMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAogQ09ORklHX0lLQ09ORklHPXkKIENPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiAjIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CkBAIC02Niw2ICs2Niw3IEBACiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15CkBAIC03OCwyNyArNzksMzAgQEAKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15CiBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15Ci0jIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfTU9EVkVSU0lPTlM9eQogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwpAQCAtMTA3LDExICsxMTEsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMzksOCArMTQ0LDEwIEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTQ4LDI4ICsxNTUsNDEgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgQm9vdCBvcHRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworQ09ORklHX0FSQ0hfTVgzPXkKKworIworIyBNWDMgT3B0aW9ucworIworIyBDT05GSUdfTUFDSF9NWDMxQURTIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX01YMzFMSVRFPXkKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15Ci1DT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQotQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfVjY9eQorIyBDT05GSUdfQ1BVXzMydjZLIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfMzJ2Nj15CitDT05GSUdfQ1BVX0FCUlRfRVY2PXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVjY9eQorQ09ORklHX0NQVV9DQUNIRV9WSVBUPXkKK0NPTkZJR19DUFVfQ09QWV9WNj15CitDT05GSUdfQ1BVX1RMQl9WNj15CitDT05GSUdfQ1BVX0hBU19BU0lEPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKIApAQCAtMTc3LDMwICsxOTcsMzMgQEAKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCiBDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0JQUkVESUNUX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0NBUkQ9bQorIyBDT05GSUdfUENNQ0lBX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQSBpcyBub3Qgc2V0CiAKICMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAorIyBQQy1jYXJkIGJyaWRnZXMKICMKLSMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0CitDT05GSUdfUFJFRU1QVD15CiAjIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15Ci1DT05GSUdfT0FCSV9DT01QQVQ9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CkBAIC0yMDksOSArMjMyLDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0Ci1DT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQorQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjQ2LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJub2luaXRyZCBjb25zb2xlPXR0eW14YzAsMTE1MjAwIHJvb3Q9L2Rldi9tdGRibG9jazIgcncgaXA9b2ZmIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKQEAgLTIzMCwyNSArMjU3LDIzIEBACiAjCiAjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAogIwotQ09ORklHX0ZQRV9OV0ZQRT15Ci0jIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAotIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorQ09ORklHX1ZGUD15CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCiAjCiBDT05GSUdfQklORk1UX0VMRj15Ci0jIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CitDT05GSUdfQklORk1UX0FPVVQ9eQogIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAogCiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCisjIENPTkZJR19TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjY1LDYgKzI5MCw3IEBACiAjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15CiAjIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldApAQCAtMjcyLDcgKzI5OCw3IEBACiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CiBDT05GSUdfSVBfUE5QX0RIQ1A9eQotQ09ORklHX0lQX1BOUF9CT09UUD15CisjIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKQEAgLTI4Niw2ICszMTIsNyBAQAogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMjkzLDggKzMyMCw2IEBACiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMTEsMTAgKzMzNiw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMiwyOSArMzQzLDkgQEAKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzU0LDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjQgKzM2NSwyNSBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CitDT05GSUdfRldfTE9BREVSPW0KICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX0NPTkNBVD15CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15Ci0jIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX1JFREJPT1RfUEFSVFM9eQorQ09ORklHX01URF9SRURCT09UX0RJUkVDVE9SWV9CTE9DSz0tMQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFNfVU5BTExPQ0FURUQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFNfUkVBRE9OTFkgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKQEAgLTM5OCwzNCArMzk2LDQ1IEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CiAjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQogIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAotQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15Ci1DT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NGSV9JMT15Ci1DT05GSUdfTVREX0NGSV9JMj15CisjIENPTkZJR19NVERfQ0ZJX0kyIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JTlRFTEVYVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQorQ09ORklHX01URF9SQU09eQogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAogCiAjCiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhZU01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCkBAIC00NDYsNDMgKzQ1NSwyMSBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCi0jIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfTE9PUD15Ci0jIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0Ci0jIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQogIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwpAQCAtNDkwLDkgKzQ3NywxMCBAQAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzQ5NSw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDM5ICs1MDcsMzIgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAotCi0jCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQotIwogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogCkBAIC01NjAsNiArNTQxLDcgQEAKICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC01NjgsMTkgKzU1MCwxMyBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTkzLDEyICs1NjksOCBAQAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCi1DT05GSUdfSU5QVVRfTU9VU0VERVY9eQotIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC02MTIsMTIgKzU4NCwxMSBAQAogIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CkBAIC02MzIsMTAgKzYwMyw3IEBACiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15Ci0jIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC02NDUsNiArNjEzLDcgQEAKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKICMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogCiAjCkBAIC02NTUsOTIgKzYyNCwxMTAgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15Ci1DT05GSUdfU0VSSUFMX0NPUkU9eQotQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCitDT05GSUdfSFdfUkFORE9NPXkKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQyBpcyBub3Qgc2V0Ci0KLSMKLSMgU1BJIHN1cHBvcnQKLSMKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKLQotIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCi0jCiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorQ09ORklHX1dBVENIRE9HPXkKK0NPTkZJR19XQVRDSERPR19OT1dBWU9VVD15CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFdhdGNoZG9nIERldmljZSBEcml2ZXJzCiAjCisjIENPTkZJR19TT0ZUX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBVU0ItYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIworIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwotIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworQ09ORklHX1ZJREVPX0RFVj15CitDT05GSUdfVklERU9fVjRMMl9DT01NT049eQorQ09ORklHX1ZJREVPX0FMTE9XX1Y0TDE9eQorQ09ORklHX1ZJREVPX1Y0TDFfQ09NUEFUPXkKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CitDT05GSUdfVklERU9fTUVESUE9eQorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfTUVESUFfQVRUQUNIIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19WNEwyPXkKK0NPTkZJR19WSURFT19WNEwxPXkKK0NPTkZJR19WSURFT19DQVBUVVJFX0RSSVZFUlM9eQorIyBDT05GSUdfVklERU9fQURWX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19IRUxQRVJfQ0hJUFNfQVVUTz15CisjIENPTkZJR19WSURFT19WSVZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX0NQSUEgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fQ1BJQTIgaXMgbm90IHNldAorQ09ORklHX1Y0TF9VU0JfRFJJVkVSUz15CisjIENPTkZJR19VU0JfVklDQU0gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lCTUNBTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfS09OSUNBV0MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1FVSUNLQ0FNX01FU1NFTkdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfRVQ2MVgyNTEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09WNTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRTQwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU045QzEwMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RWNjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aQzAzMDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BXQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWlIzNjRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RLV0VCQ0FNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPQ19DQU1FUkEgaXMgbm90IHNldAorQ09ORklHX1JBRElPX0FEQVBURVJTPXkKKyMgQ09ORklHX1VTQl9EU0JSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TSTQ3MFggaXMgbm90IHNldAorQ09ORklHX0RBQj15CisjIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAotCi0jCi0jIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CiBDT05GSUdfRkI9eQogIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQogIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldApAQCAtNzUxLDEwICs3MzgsMTMgQEAKICMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKICMKICMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydApAQCAtNzYyLDExNiArNzUyLDU1IEBACiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15CiBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAogQ09ORklHX0ZPTlRfOHg4PXkKIENPTkZJR19GT05UXzh4MTY9eQogQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15CisjIENPTkZJR19MT0dPX0xJTlVYX01PTk8gaXMgbm90IHNldAorIyBDT05GSUdfTE9HT19MSU5VWF9WR0ExNiBpcyBub3Qgc2V0CiBDT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKLUNPTkZJR19ISUQ9eQotIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgSW5wdXQgRGV2aWNlcwotIwotQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIHN1cHBvcnQKLSMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRF9TVVBQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15Ci1DT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQorIyBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0kgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldAogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCi1DT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0RFVklDRUZTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0hDRD15Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQKIAogIwogIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCkBAIC04ODAsMTcgKzgwOSw3IEBACiAjCiAjIG1heSBhbHNvIGJlIG5lZWRlZDsgc2VlIFVTQl9TVE9SQUdFIEhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24KICMKLUNPTkZJR19VU0JfU1RPUkFHRT15Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC04OTgsMTUgKzgxNywxMSBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC05MzAsOTMgKzg0NSwyOSBAQAogIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKLQotIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCi0jCi1DT05GSUdfTU1DX0JMT0NLPW0KLQotIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKLSMKLUNPTkZJR19NTUNfUFhBPW0KLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KLQotIwotIyBSVEMgaW50ZXJmYWNlcwotIwotQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKLUNPTkZJR19SVENfSU5URl9QUk9DPXkKLUNPTkZJR19SVENfSU5URl9ERVY9eQotIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgU1BJIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKLSMKLSMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCi0KLSMKLSMgb24tQ1BVIFJUQyBkcml2ZXJzCi0jCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCiAjCi1DT05GSUdfRVhUMl9GUz15Ci0jIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAotQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMDMwLDExICs4ODEsOCBAQAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiAjCi1DT05GSUdfRkFUX0ZTPXkKLUNPTkZJR19NU0RPU19GUz15Ci1DT05GSUdfVkZBVF9GUz15Ci1DT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3Ci1DT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WRkFUX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDQ2LDcgKzg5NCw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDEzOCArOTA5LDkzIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci1DT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15Ci1DT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfTkZTX1YzIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKLUNPTkZJR19MT0NLRF9WND15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwotQ09ORklHX05MUz15Ci1DT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKLUNPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKLSMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAotQ09ORklHX05MU19JU084ODU5XzE9eQotIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV82IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCi0jIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfUFJJTlRLX1RJTUU9eQorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUFJFRU1QVD15CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAotQ09ORklHX0RFQlVHX1VTRVI9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEyMDIsNjAgKzEwMDQsOTMgQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CiAKICMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgogIwotQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQotIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUFOQUdFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KLSMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQotIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCiAjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0NCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQotIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfQ0NJVFQ9bQogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9uZXR4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbmV0eF9kZWZjb25maWcKaW5kZXggNTdmMzJmMy4uMDg4NGYyMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9uZXR4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL25ldHhfZGVmY29uZmlnCkBAIC0xNTQsNyArMTU0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL29uZWFybV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL29uZWFybV9kZWZjb25maWcKaW5kZXggNjUwYTI0OC4uNDE4Y2EyZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9vbmVhcm1fZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mvb25lYXJtX2RlZmNvbmZpZwpAQCAtMjAyLDcgKzIwMiw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL29yaW9uNXhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9vcmlvbjV4X2RlZmNvbmZpZwppbmRleCA1MmNkOTliLi45NTc4YjVkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL29yaW9uNXhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mvb3Jpb241eF9kZWZjb25maWcKQEAgLTEsNyArMSw3IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKLSMgVGh1IEZlYiAgNyAxNDoxMDozMCAyMDA4CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM0CisjIE1vbiBKdW4gIDIgMjM6NTQ6NDggMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQpAQCAtMjEsNiArMjEsNyBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKQEAgLTQwLDI0ICs0MSwyNCBAQAogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAotIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKIENPTkZJR19MT0dfQlVGX1NISUZUPTE0CiAjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKLUNPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKLUNPTkZJR19GQUlSX1VTRVJfU0NIRUQ9eQotIyBDT05GSUdfRkFJUl9DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAogQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKK0NPTkZJR19LQUxMU1lNU19BTEw9eQogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKQEAgLTczLDIwICs3NCwyNSBAQAogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15Ci1DT05GSUdfU0xBQj15Ci0jIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKICMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX09QUk9GSUxFPXkKIENPTkZJR19IQVZFX09QUk9GSUxFPXkKLSMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQogQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15Ci1DT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15CiAjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKQEAgLTExMSw3ICsxMTcsNiBAQAogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKIENPTkZJR19DTEFTU0lDX1JDVT15Ci0jIENPTkZJR19QUkVFTVBUX1JDVSBpcyBub3Qgc2V0CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTE2MCw2ICsxNjUsMTUgQEAKIENPTkZJR19NQUNIX0tVUk9CT1hfUFJPPXkKIENPTkZJR19NQUNIX0ROUzMyMz15CiBDT05GSUdfTUFDSF9UUzIwOT15CitDT05GSUdfTUFDSF9MSU5LU1RBVElPTl9QUk89eQorQ09ORklHX01BQ0hfVFM0MDk9eQorQ09ORklHX01BQ0hfV1JUMzUwTl9WMj15CitDT05GSUdfTUFDSF9UUzc4WFg9eQorQ09ORklHX01BQ0hfTVYyMTIwPXkKK0NPTkZJR19NQUNIX01TUzI9eQorQ09ORklHX01BQ0hfV05SODU0VD15CitDT05GSUdfTUFDSF9SRDg4RjUxODFMX0dFPXkKK0NPTkZJR19NQUNIX1JEODhGNTE4MUxfRlhPPXkKIAogIwogIyBCb290IG9wdGlvbnMKQEAgLTE2OCw2ICsxODIsNyBAQAogIwogIyBQb3dlciBtYW5hZ2VtZW50CiAjCitDT05GSUdfUExBVF9PUklPTj15CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKQEAgLTE3Nyw4ICsxOTIsOSBAQAogQ09ORklHX0NQVV9GRVJPQ0VPTl9PTERfSUQ9eQogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15Ci1DT05GSUdfQ1BVX0NPUFlfVjRXQj15CitDT05GSUdfQ1BVX0NPUFlfRkVST0NFT049eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTg5LDcgKzIwNSw2IEBACiBDT05GSUdfQVJNX1RIVU1CPXkKICMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAogCiAjCkBAIC0xOTksNiArMjE0LDcgQEAKIENPTkZJR19QQ0lfU1lTQ0FMTD15CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CiBDT05GSUdfUENJX0xFR0FDWT15CisjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwpAQCAtMjIxLDYgKzIzNyw3IEBACiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKQEAgLTIzOCw3ICsyNTUsNiBAQAogQ09ORklHX0NNRExJTkU9IiIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAotIyBDT05GSUdfQVRBR1NfUFJPQyBpcyBub3Qgc2V0CiAKICMKICMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCkBAIC0zMTEsOCArMzI3LDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMzNSw2ICszNDksNyBAQAogIyBOZXR3b3JrIHRlc3RpbmcKICMKIENPTkZJR19ORVRfUEtUR0VOPW0KKyMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CkBAIC0zNjIsNiArMzc3LDggQEAKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQorIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CkBAIC0zNzEsNiArMzg4LDcgQEAKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCkBAIC0zNzgsOSArMzk2LDggQEAKIENPTkZJR19NVERfQ0hBUj15CiBDT05GSUdfTVREX0JMS0RFVlM9eQogQ09ORklHX01URF9CTE9DSz15Ci1DT05GSUdfRlRMPXkKLUNPTkZJR19ORlRMPXkKLSMgQ09ORklHX05GVExfUlcgaXMgbm90IHNldAorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CkBAIC00MDUsMTIgKzQyMiwxMiBAQAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX0kxPXkKIENPTkZJR19NVERfQ0ZJX0kyPXkKLUNPTkZJR19NVERfQ0ZJX0k0PXkKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKIENPTkZJR19NVERfQ0ZJX0FNRFNURD15Ci1DT05GSUdfTVREX0NGSV9TVEFBPXkKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CkBAIC00ODEsNiArNDk4LDkgQEAKICMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CiAjIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0CiAjIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTU0Miw2ICs1NjIsNyBAQAogIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldApAQCAtNTU2LDcgKzU3NywxMCBAQAogIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAogQ09ORklHX0FUQT15CiAjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1NBVEFfUE1QPXkKICMgQ09ORklHX1NBVEFfQUhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKICMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9QSUlYIGlzIG5vdCBzZXQKIENPTkZJR19TQVRBX01WPXkKQEAgLTU2Niw3ICs1OTAsNiBAQAogIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldApAQCAtNjExLDYgKzYzNCw3IEBACiAjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNJT04gaXMgbm90IHNldAogCkBAIC02NTIsNyArNjc2LDcgQEAKICMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19GT1JDRURFVEggaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAotQ09ORklHX0UxMDA9eQorIyBDT05GSUdfRTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CkBAIC02NjgsOSArNjkyLDcgQEAKIENPTkZJR19ORVRERVZfMTAwMD15CiAjIENPTkZJR19BQ0VOSUMgaXMgbm90IHNldAogIyBDT05GSUdfREwySyBpcyBub3Qgc2V0Ci1DT05GSUdfRTEwMDA9eQotQ09ORklHX0UxMDAwX05BUEk9eQotIyBDT05GSUdfRTEwMDBfRElTQUJMRV9QQUNLRVRfU1BMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDAgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CkBAIC02ODAsMjcgKzcwMiwxNSBAQAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKICMgQ09ORklHX1I4MTY5IGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0Ci1DT05GSUdfU0tHRT15Ci1DT05GSUdfU0tZMj15Ci0jIENPTkZJR19TSzk4TElOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NLR0UgaXMgbm90IHNldAorIyBDT05GSUdfU0tZMiBpcyBub3Qgc2V0CiAjIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAotQ09ORklHX1RJR09OMz15CisjIENPTkZJR19USUdPTjMgaXMgbm90IHNldAogIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CiBDT05GSUdfTVY2NDNYWF9FVEg9eQogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKLUNPTkZJR19ORVRERVZfMTAwMDA9eQotIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lYR0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lYR0IgaXMgbm90IHNldAotIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX05JVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAotIyBDT05GSUdfVEVIVVRJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JOWDJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKQEAgLTcwOCw2ICs3MTgsNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTczOCwxMiArNzQ5LDkgQEAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwotQ09ORklHX0lOUFVUX01PVVNFREVWPXkKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAorIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX0VWREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKICMKQEAgLTc2NSwxMCArNzczLDggQEAKICMKICMgQ2hhcmFjdGVyIGRldmljZXMKICMKLUNPTkZJR19WVD15Ci1DT05GSUdfVlRfQ09OU09MRT15Ci1DT05GSUdfSFdfQ09OU09MRT15Ci0jIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfVlQgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKICMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKQEAgLTc3Nyw3ICs3ODMsNyBAQAogIwogQ09ORklHX1NFUklBTF84MjUwPXkKIENPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKLUNPTkZJR19TRVJJQUxfODI1MF9QQ0k9eQorIyBDT05GSUdfU0VSSUFMXzgyNTBfUENJIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CiBDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz0yCiAjIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CkBAIC03OTIsNyArNzk4LDcgQEAKIENPTkZJR19MRUdBQ1lfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKQEAgLTgwNCwxMyArODEwLDYgQEAKIENPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgSTJDIEFsZ29yaXRobXMKLSMKLSMgQ09ORklHX0kyQ19BTEdPQklUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19BTEdPUENGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19BTEdPUENBIGlzIG5vdCBzZXQKLQotIwogIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKICMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKQEAgLTgzNyw2ICs4MzYsNyBAQAogIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAogQ09ORklHX0kyQ19NVjY0WFhYPXkKIAogIwpAQCAtODQ3LDE5ICs4NDcsMTMgQEAKICMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UUFM2NTAxMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAogIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAotCi0jCi0jIFNQSSBzdXBwb3J0Ci0jCiAjIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CiAjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogQ09ORklHX0hXTU9OPXkKQEAgLTg3Miw2ICs4NjYsNyBAQAogIyBDT05GSUdfU0VOU09SU19BRE0xMDMxIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX0FEVDc0NzAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFQ3NDczIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfQVRYUDEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19EUzE2MjEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19JNUtfQU1CIGlzIG5vdCBzZXQKQEAgLTkwMSw2ICs4OTYsNyBAQAogIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xOTIgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19TTVNDNDdCMzk3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURTNzgyOCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1RITUM1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1ZJQTY4NkEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldApAQCAtOTEwLDYgKzkwNiw3IEBACiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKQEAgLTkyNSwxNCArOTIyLDI0IEBACiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CkBAIC05NDksMTIgKzk1Niw2IEBACiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCi0jIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAotIwotIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAotQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotCi0jCiAjIFNvdW5kCiAjCiAjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CkBAIC05ODUsMTQgKzk4NiwxOCBAQAogQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfRUhDSV9IQ0Q9eQogQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUPXkKIENPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRD15CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVUhDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CkBAIC0xMDAzLDYgKzEwMDgsNyBAQAogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX1BSSU5URVI9eQorIyBDT05GSUdfVVNCX1dETSBpcyBub3Qgc2V0CiAKICMKICMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwpAQCAtMTAyMiw3ICsxMDI4LDkgQEAKIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTU9eQogQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjAsNiArMTA2OCw3IEBACiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUMgaXMgbm90IHNldAogQ09ORklHX05FV19MRURTPXkKQEAgLTEwNjgsNyArMTA3Nyw3IEBACiAjCiAjIExFRCBkcml2ZXJzCiAjCi0jIENPTkZJR19MRURTX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0xFRFNfR1BJTz15CiAKICMKICMgTEVEIFRyaWdnZXJzCkBAIC0xMDc2LDYgKzEwODUsNyBAQAogQ09ORklHX0xFRFNfVFJJR0dFUlM9eQogQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUj15CiBDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CitDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT049eQogQ09ORklHX1JUQ19MSUI9eQogQ09ORklHX1JUQ19DTEFTUz15CiBDT05GSUdfUlRDX0hDVE9TWVM9eQpAQCAtMTEwNSw2ICsxMTE1LDcgQEAKICMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0RSVl9NNDFUODA9eQogIyBDT05GSUdfUlRDX0RSVl9NNDFUODBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CiAKICMKICMgU1BJIFJUQyBkcml2ZXJzCkBAIC0xMTI1LDYgKzExMzYsNyBAQAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC0xMTQwLDE0ICsxMTUyLDExIEBACiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTU1LDggKzExNjQsOCBAQAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCi1DT05GSUdfSVNPOTY2MF9GUz15Ci0jIENPTkZJR19KT0xJRVQgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9bQorQ09ORklHX0pPTElFVD15CiAjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAogQ09ORklHX1VERl9GUz1tCiBDT05GSUdfVURGX05MUz15CkBAIC0xMjA1LDggKzEyMTQsMTAgQEAKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKIENPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CkBAIC0xMjE0LDcgKzEyMjUsNiBAQAogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEyNDEsMTQgKzEyNTEsMTMgQEAKICMgQ09ORklHX01BQ19QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15CiBDT05GSUdfQlNEX0RJU0tMQUJFTD15Ci1DT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKLUNPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT049eQotQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTD15Ci1DT05GSUdfTERNX1BBUlRJVElPTj15Ci1DT05GSUdfTERNX0RFQlVHPXkKKyMgQ09ORklHX01JTklYX1NVQlBBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfU0dJX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKLUNPTkZJR19TVU5fUEFSVElUSU9OPXkKKyMgQ09ORklHX1NVTl9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CkBAIC0xMzAwLDE1ICsxMzA5LDQ4IEBACiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CiBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorQ09ORklHX01BR0lDX1NZU1JRPXkKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19LRVJORUw9eQorIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CitDT05GSUdfU0NIRURTVEFUUz15CisjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19QUkVFTVBUPXkKKyMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAorIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19JTkZPPXkKKyMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CisjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAogIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15CitDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19MTD15CisjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKQEAgLTEzMTcsNTAgKzEzNTksNzkgQEAKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIwogQ09ORklHX0NSWVBUT19BTEdBUEk9bQogQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE9fTUFOQUdFUj1tCisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIwogIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE9fSFc9eQogIyBDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVggaXMgbm90IHNldApAQCAtMTM2OSwxMiArMTQ0MCwxNCBAQAogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci1DT05GSUdfQ1JDX0NDSVRUPXkKLUNPTkZJR19DUkMxNj15Ci0jIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAotQ09ORklHX0xJQkNSQzMyQz15CisjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3BjbTAzN19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3BjbTAzN19kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI3NDc0NQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM3X2RlZmNvbmZpZwpAQCAtMCwwICsxLDc0OCBAQAorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAorIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNgorIyBXZWQgSnVuIDI1IDExOjUyOjQyIDIwMDgKKyMKK0NPTkZJR19BUk09eQorQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKK0NPTkZJR19HRU5FUklDX0dQSU89eQorQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfTU1VPXkKKyMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQorQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQorQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19aT05FX0RNQT15CitDT05GSUdfQVJDSF9NVERfWElQPXkKK0NPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAorQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKKworIworIyBHZW5lcmFsIHNldHVwCisjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorQ09ORklHX1NXQVA9eQorQ09ORklHX1NZU1ZJUEM9eQorQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKKyMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CitDT05GSUdfSUtDT05GSUc9eQorQ09ORklHX0lLQ09ORklHX1BST0M9eQorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKKyMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CisjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKK0NPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CitDT05GSUdfU1lTQ1RMPXkKK0NPTkZJR19FTUJFRERFRD15CitDT05GSUdfVUlEMTY9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CitDT05GSUdfS0FMTFNZTVM9eQorIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CitDT05GSUdfSE9UUExVRz15CitDT05GSUdfUFJJTlRLPXkKK0NPTkZJR19CVUc9eQorQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKK0NPTkZJR19CQVNFX0ZVTEw9eQorQ09ORklHX0ZVVEVYPXkKK0NPTkZJR19BTk9OX0lOT0RFUz15CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKK0NPTkZJR19TSE1FTT15CitDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQorQ09ORklHX1NMQUI9eQorIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQorQ09ORklHX1JUX01VVEVYRVM9eQorIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CitDT05GSUdfQkFTRV9TTUFMTD0wCitDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CitDT05GSUdfTU9EVUxFX1VOTE9BRD15CitDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CitDT05GSUdfTU9EVkVSU0lPTlM9eQorIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKK0NPTkZJR19LTU9EPXkKK0NPTkZJR19CTE9DSz15CisjIENPTkZJR19MQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorCisjCisjIElPIFNjaGVkdWxlcnMKKyMKK0NPTkZJR19JT1NDSEVEX05PT1A9eQorQ09ORklHX0lPU0NIRURfQVM9eQorQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQorQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQorIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CisKKyMKKyMgU3lzdGVtIFR5cGUKKyMKKyMgQ09ORklHX0FSQ0hfQUFFQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRUJTQTExMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VQOTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0ZPT1RCUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ORVRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSDcyMFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWEM9eQorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TSEFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgRnJlZXNjYWxlIE1YQyBJbXBsZW1lbnRhdGlvbnMKKyMKK0NPTkZJR19BUkNIX01YMz15CisKKyMKKyMgTVgzIE9wdGlvbnMKKyMKKyMgQ09ORklHX01BQ0hfTVgzMUFEUyBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9QQ00wMzc9eQorCisjCisjIFByb2Nlc3NvciBUeXBlCisjCitDT05GSUdfQ1BVXzMyPXkKK0NPTkZJR19DUFVfVjY9eQorIyBDT05GSUdfQ1BVXzMydjZLIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfMzJ2Nj15CitDT05GSUdfQ1BVX0FCUlRfRVY2PXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVjY9eQorQ09ORklHX0NQVV9DQUNIRV9WSVBUPXkKK0NPTkZJR19DUFVfQ09QWV9WNj15CitDT05GSUdfQ1BVX1RMQl9WNj15CitDT05GSUdfQ1BVX0hBU19BU0lEPXkKK0NPTkZJR19DUFVfQ1AxNT15CitDT05GSUdfQ1BVX0NQMTVfTU1VPXkKKworIworIyBQcm9jZXNzb3IgRmVhdHVyZXMKKyMKK0NPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQlBSRURJQ1RfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0CisKKyMKKyMgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIEZlYXR1cmVzCisjCitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKK0NPTkZJR19IWj0xMDAKK0NPTkZJR19BRUFCST15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQorQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKKyMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX01BTlVBTCBpcyBub3Qgc2V0CitDT05GSUdfRkxBVE1FTT15CitDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQorIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CitDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAorIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKK0NPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKK0NPTkZJR19BTElHTk1FTlRfVFJBUD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCitDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCitDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKK0NPTkZJR19DTURMSU5FPSJub2luaXRyZCBjb25zb2xlPXR0eW14YzAsMTE1MjAwIHJvb3Q9L2Rldi9tdGRibG9jazIgcncgaXA9b2ZmIgorIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CisKKyMKKyMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCisjCisKKyMKKyMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCisjCitDT05GSUdfVkZQPXkKKworIworIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKKyMKK0NPTkZJR19CSU5GTVRfRUxGPXkKKyMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKKyMKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorCisjCisjIE5ldHdvcmtpbmcKKyMKK0NPTkZJR19ORVQ9eQorCisjCisjIE5ldHdvcmtpbmcgb3B0aW9ucworIworQ09ORklHX1BBQ0tFVD15CisjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfVU5JWD15CisjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUPXkKKyMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0ZJQl9IQVNIPXkKK0NPTkZJR19JUF9QTlA9eQorQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgorIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CisjIENPTkZJR19YMjUgaXMgbm90IHNldAorIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CisjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAorIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorCisjCisjIE5ldHdvcmsgdGVzdGluZworIworIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAorIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MKKyMKKyMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CisKKyMKKyMgRGV2aWNlIERyaXZlcnMKKyMKKworIworIyBHZW5lcmljIERyaXZlciBPcHRpb25zCisjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgorQ09ORklHX1NUQU5EQUxPTkU9eQorQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQorQ09ORklHX0ZXX0xPQURFUj1tCisjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX01URD15CisjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BBUlRJVElPTlM9eQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKKyMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CisKKyMKKyMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKKyMKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKKworIworIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycworIworQ09ORklHX01URF9DRkk9eQorIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9HRU5fUFJPQkU9eQorIyBDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0kxPXkKK0NPTkZJR19NVERfQ0ZJX0kyPXkKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0lOVEVMRVhUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfQU1EU1REIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisKKyMKKyMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcworIworIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0yCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAorCisjCisjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9CTE9DSzJNVEQgaXMgbm90IHNldAorCisjCisjIERpc2stT24tQ2hpcCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKKworIworIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKKyMKKyMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAorIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKworIworIyBTQ1NJIGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CisjIENPTkZJR19NRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CisjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorQ09ORklHX05FVF9FVEhFUk5FVD15CitDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAorQ09ORklHX1NNQzkxWD15CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzIExBTgorIworIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19XQU4gaXMgbm90IHNldAorIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0lOUFVUIGlzIG5vdCBzZXQKKworIworIyBIYXJkd2FyZSBJL08gcG9ydHMKKyMKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKKworIworIyBDaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfVlQgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQorIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKworIworIyBTZXJpYWwgZHJpdmVycworIworIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorCisjCisjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKKyMKK0NPTkZJR19TRVJJQUxfSU1YPXkKK0NPTkZJR19TRVJJQUxfSU1YX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9DT1JFPXkKK0NPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKK0NPTkZJR19VTklYOThfUFRZUz15CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkMgaXMgbm90IHNldAorIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIFNvdW5kCisjCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKKyMgRmlsZSBzeXN0ZW1zCisjCisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKK0NPTkZJR19JTk9USUZZPXkKK0NPTkZJR19JTk9USUZZX1VTRVI9eQorIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CisKKyMKKyMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorCisjCisjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUHNldWRvIGZpbGVzeXN0ZW1zCisjCitDT05GSUdfUFJPQ19GUz15CitDT05GSUdfUFJPQ19TWVNDVEw9eQorQ09ORklHX1NZU0ZTPXkKK0NPTkZJR19UTVBGUz15CisjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKK0NPTkZJR19ORlNfRlM9eQorIyBDT05GSUdfTkZTX1YzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKK0NPTkZJR19ST09UX05GUz15CitDT05GSUdfTE9DS0Q9eQorQ09ORklHX05GU19DT01NT049eQorQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUGFydGl0aW9uIFR5cGVzCisjCisjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX01TRE9TX1BBUlRJVElPTj15CisjIENPTkZJR19OTFMgaXMgbm90IHNldAorIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgaGFja2luZworIworIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRCBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CisKKyMKKyMgU2VjdXJpdHkgb3B0aW9ucworIworIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE8gaXMgbm90IHNldAorCisjCisjIExpYnJhcnkgcm91dGluZXMKKyMKK0NPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAorIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CitDT05GSUdfUExJU1Q9eQorQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0lPUE9SVD15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3BjbTAzOF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3BjbTAzOF9kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI3OThjMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM4X2RlZmNvbmZpZwpAQCAtMCwwICsxLDEwMDggQEAKKyMKKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzYKKyMgRnJpIEp1biAyMCAxNjozODozNiAyMDA4CisjCitDT05GSUdfQVJNPXkKK0NPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CitDT05GSUdfR0VORVJJQ19HUElPPXkKK0NPTkZJR19HRU5FUklDX1RJTUU9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQorQ09ORklHX01NVT15CisjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKK0NPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKK0NPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfWk9ORV9ETUE9eQorQ09ORklHX0FSQ0hfTVREX1hJUD15CitDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCisKKyMKKyMgR2VuZXJhbCBzZXR1cAorIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAorQ09ORklHX1NZU1ZJUEM9eQorQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKK0NPTkZJR19QT1NJWF9NUVVFVUU9eQorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CisjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKK0NPTkZJR19SVF9HUk9VUF9TQ0hFRD15CitDT05GSUdfVVNFUl9TQ0hFRD15CisjIENPTkZJR19DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CisjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNDVEw9eQorQ09ORklHX0VNQkVEREVEPXkKK0NPTkZJR19VSUQxNj15CitDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKK0NPTkZJR19LQUxMU1lNUz15CitDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUz15CitDT05GSUdfSE9UUExVRz15CitDT05GSUdfUFJJTlRLPXkKK0NPTkZJR19CVUc9eQorQ09ORklHX0VMRl9DT1JFPXkKKyMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAorQ09ORklHX0JBU0VfRlVMTD15CitDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQorQ09ORklHX1NITUVNPXkKK0NPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CitDT05GSUdfTUFSS0VSUz15CitDT05GSUdfT1BST0ZJTEU9eQorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0NfUEFHRV9NT05JVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CitDT05GSUdfUlRfTVVURVhFUz15CisjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX1NNQUxMPTAKK0NPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RVTEVfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAorIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAorIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAorQ09ORklHX0JMT0NLPXkKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CisKKyMKKyMgSU8gU2NoZWR1bGVycworIworQ09ORklHX0lPU0NIRURfTk9PUD15CisjIENPTkZJR19JT1NDSEVEX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX05PT1A9eQorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0ibm9vcCIKK0NPTkZJR19DTEFTU0lDX1JDVT15CisKKyMKKyMgU3lzdGVtIFR5cGUKKyMKKyMgQ09ORklHX0FSQ0hfQUFFQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRUJTQTExMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VQOTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0ZPT1RCUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ORVRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSDcyMFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWEM9eQorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TSEFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgRnJlZXNjYWxlIE1YQyBJbXBsZW1lbnRhdGlvbnMKKyMKK0NPTkZJR19BUkNIX01YMj15CisjIENPTkZJR19BUkNIX01YMyBpcyBub3Qgc2V0CisKKyMKKyMgTVgyIGZhbWlseSBDUFUgc3VwcG9ydAorIworQ09ORklHX01BQ0hfTVgyNz15CisKKyMKKyMgTVgyIFBsYXRmb3JtcworIworIyBDT05GSUdfTUFDSF9NWDI3QURTIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX1BDTTAzOD15CitDT05GSUdfTUFDSF9QQ005NzBfQkFTRUJPQVJEPXkKKworIworIyBQcm9jZXNzb3IgVHlwZQorIworQ09ORklHX0NQVV8zMj15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQorQ09ORklHX0NQVV8zMnY1PXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQorQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9DUDE1PXkKK0NPTkZJR19DUFVfQ1AxNV9NTVU9eQorCisjCisjIFByb2Nlc3NvciBGZWF0dXJlcworIworQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CisjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0CisKKyMKKyMgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIEZlYXR1cmVzCisjCitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKK0NPTkZJR19IWj0xMDAKK0NPTkZJR19BRUFCST15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQorQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKKyMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX01BTlVBTCBpcyBub3Qgc2V0CitDT05GSUdfRkxBVE1FTT15CitDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQorIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CitDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgorIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKK0NPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKK0NPTkZJR19BTElHTk1FTlRfVFJBUD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCitDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCitDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKK0NPTkZJR19DTURMSU5FPSIiCisjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKKworIworIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KKyMKKworIworIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKKyMKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CisKKyMKKyMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCisjCitDT05GSUdfQklORk1UX0VMRj15CisjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CisjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCisjCisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKKworIworIyBOZXR3b3JraW5nCisjCitDT05GSUdfTkVUPXkKKworIworIyBOZXR3b3JraW5nIG9wdGlvbnMKKyMKK0NPTkZJR19QQUNLRVQ9eQorQ09ORklHX1BBQ0tFVF9NTUFQPXkKK0NPTkZJR19VTklYPXkKKyMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAorQ09ORklHX0lORVQ9eQorQ09ORklHX0lQX01VTFRJQ0FTVD15CisjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0ZJQl9IQVNIPXkKK0NPTkZJR19JUF9QTlA9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgorIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CisjIENPTkZJR19YMjUgaXMgbm90IHNldAorIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CisjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAorIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorCisjCisjIE5ldHdvcmsgdGVzdGluZworIworIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAorIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lSREEgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCisjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAorCisjCisjIERldmljZSBEcml2ZXJzCisjCisKKyMKKyMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucworIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKK0NPTkZJR19TVEFOREFMT05FPXkKK0NPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKK0NPTkZJR19GV19MT0FERVI9eQorIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAorIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19NVEQ9eQorIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAorQ09ORklHX01URF9QQVJUSVRJT05TPXkKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CisjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAorCisjCisjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCisjCitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAorIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAorIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CisKKyMKKyMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKKyMKK0NPTkZJR19NVERfQ0ZJPXkKKyMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMSBpcyBub3Qgc2V0CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JMT15CisjIENPTkZJR19NVERfQ0ZJX0kyIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKKyMgQ09ORklHX01URF9DRklfQU1EU1REIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9VVElMPXkKKyMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAorCisjCisjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKKyMKKyMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwMDAwMDAwMAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MgorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKKworIworIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01URF9EQVRBRkxBU0ggaXMgbm90IHNldAorIyBDT05GSUdfTVREX00yNVA4MCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0JMT0NLMk1URCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzay1Pbi1DaGlwIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAorCisjCisjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcworIworIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWPXkKKyMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0xPT1AgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAorCisjCisjIFNDU0kgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0RNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAorIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VUSEVSTkVUPXkKKyMgQ09ORklHX01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRU5DMjhKNjAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfRkVDX09MRD15CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzIExBTgorIworIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19XQU4gaXMgbm90IHNldAorIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKKyMKK0NPTkZJR19JTlBVVD15CisjIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAorCisjCisjIFVzZXJsYW5kIGludGVyZmFjZXMKKyMKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZERVY9eQorIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorCisjCisjIElucHV0IERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19JTlBVVF9LRVlCT0FSRCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBIYXJkd2FyZSBJL08gcG9ydHMKKyMKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKKworIworIyBDaGFyYWN0ZXIgZGV2aWNlcworIworQ09ORklHX1ZUPXkKK0NPTkZJR19WVF9DT05TT0xFPXkKK0NPTkZJR19IV19DT05TT0xFPXkKKyMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CisjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorCisjCisjIFNlcmlhbCBkcml2ZXJzCisjCisjIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CisKKyMKKyMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAorIworQ09ORklHX1NFUklBTF9JTVg9eQorQ09ORklHX1NFUklBTF9JTVhfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0NPUkU9eQorQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQorQ09ORklHX1VOSVg5OF9QVFlTPXkKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAorIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorIyBDT05GSUdfSTJDX0NIQVJERVYgaXMgbm90IHNldAorCisjCisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfVFBTNjUwMTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorQ09ORklHX1NQSV9NQVNURVI9eQorCisjCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCisjCitDT05GSUdfU1BJX0JJVEJBTkc9eQorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19HUElPX1BDQTk1M1ggaXMgbm90IHNldAorIyBDT05GSUdfR1BJT19QQ0Y4NTdYIGlzIG5vdCBzZXQKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19HUElPX01DUDIzUzA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkZXZpY2VzCisjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKK0NPTkZJR19WSURFT19ERVY9eQorQ09ORklHX1ZJREVPX1Y0TDJfQ09NTU9OPXkKK0NPTkZJR19WSURFT19BTExPV19WNEwxPXkKK0NPTkZJR19WSURFT19WNEwxX0NPTVBBVD15CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CitDT05GSUdfVklERU9fTUVESUE9eQorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfTUVESUFfQVRUQUNIIGlzIG5vdCBzZXQKK0NPTkZJR19NRURJQV9UVU5FUj15CisjIENPTkZJR19NRURJQV9UVU5FUl9DVVNUT01JWkUgaXMgbm90IHNldAorQ09ORklHX01FRElBX1RVTkVSX1NJTVBMRT15CitDT05GSUdfTUVESUFfVFVORVJfVERBODI5MD15CitDT05GSUdfTUVESUFfVFVORVJfVERBOTg4Nz15CitDT05GSUdfTUVESUFfVFVORVJfVEVBNTc2MT15CitDT05GSUdfTUVESUFfVFVORVJfVEVBNTc2Nz15CitDT05GSUdfTUVESUFfVFVORVJfTVQyMFhYPXkKK0NPTkZJR19NRURJQV9UVU5FUl9YQzIwMjg9eQorQ09ORklHX01FRElBX1RVTkVSX1hDNTAwMD15CitDT05GSUdfVklERU9fVjRMMj15CitDT05GSUdfVklERU9fVjRMMT15CitDT05GSUdfVklERU9fQ0FQVFVSRV9EUklWRVJTPXkKKyMgQ09ORklHX1ZJREVPX0FEVl9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfVklERU9fSEVMUEVSX0NISVBTX0FVVE89eQorIyBDT05GSUdfVklERU9fVklWSSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19DUElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX1NBQTUyNDZBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX1NBQTUyNDkgaXMgbm90IHNldAorIyBDT05GSUdfVFVORVJfMzAzNiBpcyBub3Qgc2V0CisjIENPTkZJR19TT0NfQ0FNRVJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBRElPX0FEQVBURVJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorQ09ORklHX0ZCPXkKKyMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKKworIworIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycworIworIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAorIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CisjCisjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CitDT05GSUdfRFVNTVlfQ09OU09MRT15CitDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAorQ09ORklHX0ZPTlRTPXkKK0NPTkZJR19GT05UXzh4OD15CisjIENPTkZJR19GT05UXzh4MTYgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF82eDExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfN3gxNCBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX1BFQVJMXzh4OCBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX0FDT1JOXzh4OCBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX01JTklfNHg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfU1VOOHgxNiBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX1NVTjEyeDIyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfMTB4MTggaXMgbm90IHNldAorIyBDT05GSUdfTE9HTyBpcyBub3Qgc2V0CisKKyMKKyMgU291bmQKKyMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRF9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CitDT05GSUdfUlRDX0NMQVNTPXkKK0NPTkZJR19SVENfSENUT1NZUz15CitDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKKworIworIyBSVEMgaW50ZXJmYWNlcworIworQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKK0NPTkZJR19SVENfSU5URl9QUk9DPXkKK0NPTkZJR19SVENfSU5URl9ERVY9eQorIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX1BDRjg1NjM9eQorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0ZNMzEzMCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SOTcwMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorCisjCisjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKKworIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKKyMgRmlsZSBzeXN0ZW1zCisjCisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOT1RJRlkgaXMgbm90IHNldAorIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CisKKyMKKyMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorCisjCisjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUHNldWRvIGZpbGVzeXN0ZW1zCisjCitDT05GSUdfUFJPQ19GUz15CitDT05GSUdfUFJPQ19TWVNDVEw9eQorQ09ORklHX1NZU0ZTPXkKK0NPTkZJR19UTVBGUz15CisjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKK0NPTkZJR19ORlNfRlM9eQorQ09ORklHX05GU19WMz15CisjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKK0NPTkZJR19ST09UX05GUz15CitDT05GSUdfTE9DS0Q9eQorQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQ09NTU9OPXkKK0NPTkZJR19TVU5SUEM9eQorIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CisjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAorCisjCisjIFBhcnRpdGlvbiBUeXBlcworIworIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19NU0RPU19QQVJUSVRJT049eQorQ09ORklHX05MUz15CitDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKK0NPTkZJR19OTFNfQ09ERVBBR0VfNDM3PW0KKyMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD1tCisjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjEgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85MzIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xPXkKKyMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzE1PW0KKyMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CisjIENPTkZJR19ETE0gaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBoYWNraW5nCisjCisjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CitDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAorCisjCisjIFNlY3VyaXR5IG9wdGlvbnMKKyMKKyMgQ09ORklHX0tFWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKKworIworIyBMaWJyYXJ5IHJvdXRpbmVzCisjCitDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKK0NPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQorQ09ORklHX1BMSVNUPXkKK0NPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19JT1BPUlQ9eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9waWNvdHV4MjAwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGljb3R1eDIwMF9kZWZjb25maWcKaW5kZXggOTVhMjJmNS4uMTQ4MjZmMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9waWNvdHV4MjAwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3BpY290dXgyMDBfZGVmY29uZmlnCkBAIC0yMDEsNyArMjAxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLUNPTkZJR19OT19JRExFX0haPXkKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9wbng0MDA4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcG54NDAwOF9kZWZjb25maWcKaW5kZXggYjVlMTFhYS4uODExYjhmNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9wbng0MDA4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3BueDQwMDhfZGVmY29uZmlnCkBAIC0xNTEsNyArMTUxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9xaWwtYTkyNjBfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjclCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9xaWwtYTkyNjBfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLmVmOTAzYmUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9xaWwtYTkyNjBfZGVmY29uZmlnCkBAIC0xLDEzICsxLDEzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKKyMgVHVlIEFwciAxNSAxMjoyODozOCAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkBAIC0yMiw0MSArMjIsMzggQEAKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0Ci1DT05GSUdfU1dBUD15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfRkFJUl9DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKLUNPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CisjIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CiBDT05GSUdfU1lTQ1RMPXkKLUNPTkZJR19FTUJFRERFRD15CisjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKIENPTkZJR19LQUxMU1lNUz15CkBAIC03MSw0MiArNjgsMzUgQEAKIENPTkZJR19BTk9OX0lOT0RFUz15CiBDT05GSUdfRVBPTEw9eQogQ09ORklHX1NJR05BTEZEPXkKLUNPTkZJR19USU1FUkZEPXkKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKIENPTkZJR19JT1NDSEVEX0FTPXkKLUNPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKLUNPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0FTPXkKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldApAQCAtMTIwLDcgKzExMCw3IEBACiAjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MT15CiAjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CkBAIC0xMzksOCArMTI5LDkgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTUwLDI1ICsxNDEsNjYgQEAKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEF0bWVsIEFUOTEgU3lzdGVtLW9uLUNoaXAKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxU0FNOTI2MD15CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOVJMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MUNBUDkgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxWDQwIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1BNQ19VTklUPXkKKworIworIyBBVDkxU0FNOTI2MCBWYXJpYW50cworIworIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MF9TQU05WEUgaXMgbm90IHNldAorCisjCisjIEFUOTFTQU05MjYwIC8gQVQ5MVNBTTlYRSBCb2FyZCBUeXBlCisjCisjIENPTkZJR19NQUNIX0FUOTFTQU05MjYwRUsgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9DQU02MCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1NBTTlfTDkyNjAgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9VU0JfQTkyNjAgaXMgbm90IHNldAorQ09ORklHX01BQ0hfUUlMX0E5MjYwPXkKKworIworIyBBVDkxIEJvYXJkIE9wdGlvbnMKKyMKKworIworIyBBVDkxIEZlYXR1cmUgU2VsZWN0aW9ucworIworIyBDT05GSUdfQVQ5MV9QUk9HUkFNTUFCTEVfQ0xPQ0tTIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1NMT1dfQ0xPQ0s9eQorQ09ORklHX0FUOTFfVElNRVJfSFo9MTAwCisjIENPTkZJR19BVDkxX0VBUkxZX0RCR1UgaXMgbm90IHNldAorQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQwPXkKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ1IGlzIG5vdCBzZXQKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQogQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTc2LDI4ICsyMDgsMjggQEAKICMKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCi1DT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0FSTV9USFVNQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfTk9fSFogaXMgbm90IHNldAorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyNDEsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKKyMgQ09ORklHX0xFRFMgaXMgbm90IHNldAogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjE5LDcgKzI1NSw3IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0ibWVtPTY0TSBjb25zb2xlPXR0eVMxLDExNTIwMCIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzMsNiArMjY5LDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDUsMTAgKzI4MiwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKKyMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORF9VUF9QT1NTSUJMRT15CitDT05GSUdfU1VTUEVORD15CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjEsMjEgKzMwMCwyNSBAQAogQ09ORklHX1BBQ0tFVD15CiAjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15Ci1DT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9ST1VURV9NVUxUSVBBVEggaXMgbm90IHNldAorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQogQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAogQ09ORklHX0lQX1BOUF9CT09UUD15Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUE5QX1JBUlA9eQogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjgzLDExICszMjYsMTEgQEAKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgpAQCAtMzExLDEwICszNTQsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjMsMjggKzM2Miw3IEBACiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzcxLDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjMgKzM4MiwyMCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKIAogIwpAQCAtMzk4LDE1ICs0MDksMTMgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCiAjIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQyNSwxMiArNDM0LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCitDT05GSUdfTVREX0RBVEFGTEFTSD15CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDYsNTMgKzQ1Niw0MiBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfQVQ5MT15CitDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfU09GVD15CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19IVyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19OT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs1MDYsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSw0MSArNTE4LDUwIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19QSFlMSUI9eQogCiAjCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQorIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NQVJWRUxMX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19EQVZJQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTFhUX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19DSUNBREFfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJVEVTU0VfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0NfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZJWEVEX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKK0NPTkZJR19NQUNCPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwPXkKK0NPTkZJR19ORVRERVZfMTAwMDA9eQogCiAjCiAjIFdpcmVsZXNzIExBTgpAQCAtNTY4LDcgKzU3Niw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CkBAIC01NzcsMTAgKzU4NCw2IEBACiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTgsOSArNjAxLDggQEAKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKLSMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkJVRz15CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKQEAgLTYxMiwzMCArNjE0LDE3IEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9HUElPPXkKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjU1LDQ1ICs2NDQsMTAxIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9BVE1FTD15CitDT05GSUdfU0VSSUFMX0FUTUVMX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMX0FUTUVMX1RUWUFUIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KK0NPTkZJR19IV19SQU5ET009eQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPXkKIAogIwotIyBUUE0gZGV2aWNlcworIyBJMkMgQWxnb3JpdGhtcwogIwotIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMR09CSVQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMR09QQ0YgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMR09QQ0EgaXMgbm90IHNldAorCisjCisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19TRU5TT1JTX0RTMTMzNyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENBOTUzOSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorQ09ORklHX1NQST15CisjIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NQSV9NQVNURVI9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKICMKK0NPTkZJR19TUElfQVRNRUw9eQorIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CitDT05GSUdfV0FUQ0hET0c9eQorQ09ORklHX1dBVENIRE9HX05PV0FZT1VUPXkKIAogIwotIyBNaXNjIGRldmljZXMKKyMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKICMKKyMgQ09ORklHX1NPRlRfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MVNBTTlfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwpAQCAtNzAxLDE5ICs3NDYsNiBAQAogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIAogIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi0KLSMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldApAQCAtNzIzLDEyNSArNzU1LDQyIEBACiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwotQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSElEIGlzIG5vdCBzZXQKIAogIwotIyBVU0Igc3VwcG9ydAorIyBVU0IgSElEIEJvb3QgUHJvdG9jb2wgZHJpdmVycwogIworIyBDT05GSUdfVVNCX0tCRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTU9VU0UgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CkBAIC04NTIsOSArODAxLDEwIEBACiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKQEAgLTg2Niw2ICs4MTYsNyBAQAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCkBAIC04ODQsNiArODM1LDcgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldApAQCAtODk4LDcgKzg1MCw3IEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCkBAIC05MzksMjYgKzg5MSw2NiBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0ZTTF9VU0IyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTkVUMjI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX002NjU5MiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0dPS1UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1MzQzI0MTAgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVQ5MT15CitDT05GSUdfVVNCX0FUOTE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pFUk8gaXMgbm90IHNldAorQ09ORklHX1VTQl9FVEg9eQorQ09ORklHX1VTQl9FVEhfUk5ESVM9eQorIyBDT05GSUdfVVNCX0dBREdFVEZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9GSUxFX1NUT1JBR0UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSURJX0dBREdFVCBpcyBub3Qgc2V0CitDT05GSUdfTU1DPXkKICMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CiAKICMKICMgTU1DL1NEIENhcmQgRHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCitDT05GSUdfTU1DX0JMT0NLPXkKK0NPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKKyMgQ09ORklHX1NESU9fVUFSVCBpcyBub3Qgc2V0CiAKICMKICMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCitDT05GSUdfTU1DX0FUOTE9eQorIyBDT05GSUdfTU1DX1NQSSBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBMRUQgZHJpdmVycwogIworQ09ORklHX0xFRFNfR1BJTz15CisKKyMKKyMgTEVEIFRyaWdnZXJzCisjCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCitDT05GSUdfUlRDX0NMQVNTPXkKK0NPTkZJR19SVENfSENUT1NZUz15CitDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBSVEMgaW50ZXJmYWNlcwpAQCAtOTcyLDI0ICs5NjQsMzkgQEAKICMKICMgSTJDIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAogCiAjCiAjIFNQSSBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9NNDFUOTQ9eQogCiAjCiAjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfRFJWX0FUOTFTQU05IGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5NywxNyArMTAwNCwxMSBAQAogQ09ORklHX0VYVDJfRlM9eQogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldApAQCAtMTAxOSw3ICsxMDIwLDcgQEAKIENPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorQ09ORklHX0ZVU0VfRlM9bQogCiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKQEAgLTEwMzEsNyArMTAzMiw3IEBACiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKIENPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19WRkFUX0ZTPXkKIENPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKIENPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKQEAgLTEwNDYsNyArMTA0Nyw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDEwICsxMDYyLDEyIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci1DT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldApAQCAtMTA3NCw0NyArMTA3Niw0MCBAQAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKK0NPTkZJR19ORlNfVjNfQUNMPXkKK0NPTkZJR19ORlNfVjQ9eQogIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CiBDT05GSUdfTE9DS0RfVjQ9eQorQ09ORklHX05GU19BQ0xfU1VQUE9SVD15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKK0NPTkZJR19TVU5SUENfR1NTPXkKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKK0NPTkZJR19SUENTRUNfR1NTX0tSQjU9eQogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwogIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTE0OCwzMCArMTE0MywyNCBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAotCi0jCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVFJVTUVOVEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldApAQCAtMTE4MSwxOSArMTE3MCwyMyBAQAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQorQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQorIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKIENPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15Ci1DT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX0VSUk9SUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTIwMiw1MSArMTE5NSw0OCBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0KLSMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCi0jCisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19FQ0IgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19DQkM9eQorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CiAjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKLSMKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19IVyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwpAQCAtMTI1Niw2ICsxMjQ2LDcgQEAKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXctc21wX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXctc21wX2RlZmNvbmZpZwppbmRleCBmYzM5YmExLi4wYzA5YjIzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3LXNtcF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlldy1zbXBfZGVmY29uZmlnCkBAIC0xNzcsNyArMTc3LDYgQEAKIENPTkZJR19IT1RQTFVHX0NQVT15CiBDT05GSUdfTE9DQUxfVElNRVJTPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlld19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3X2RlZmNvbmZpZwppbmRleCBhY2NiZjUyLi45MDdlNTQzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3X2RlZmNvbmZpZwpAQCAtMTI2LDcgKzEyNiw2IEBACiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcnBjX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcnBjX2RlZmNvbmZpZwppbmRleCA1ZGRlY2I5Li5mNjJkMTgxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3JwY19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9ycGNfZGVmY29uZmlnCkBAIC0xOTAsNyArMTkwLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvczNjMjQxMF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3MzYzI0MTBfZGVmY29uZmlnCmluZGV4IGY4YTE2NDUuLjM1ZmFhZWEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvczNjMjQxMF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9zM2MyNDEwX2RlZmNvbmZpZwpAQCAtMSwxNSArMSwxOCBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIxLXJjNgotIyBNb24gQXByICA5IDEwOjEyOjU4IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzgKKyMgTW9uIEp1bCAgNyAxNjo1OToyMyAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKICMgQ09ORklHX0dFTkVSSUNfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKIENPTkZJR19NTVU9eQogQ09ORklHX05PX0lPUE9SVD15CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CiBDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQpAQCAtMTgsMzQgKzIxLDM5IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19JS0NPTkZJRz1tCitDT05GSUdfSUtDT05GSUdfUFJPQz15CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNgorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CitDT05GSUdfTkFNRVNQQUNFUz15CisjIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAorIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKQEAgLTUzLDYgKzYxLDcgQEAKICMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiAjIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CkBAIC02MCwzNCArNjksNDMgQEAKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKLUNPTkZJR19TTEFCPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLSMgQ09ORklHX1NMT0IgaXMgbm90IHNldAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15CiAjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKQEAgLTEwMSw2ICsxMTksNyBAQAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTExOSwxNCArMTM4LDE3IEBACiAjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lYUDIzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CkBAIC0xMzQsMTggKzE1NiwzMiBAQAogQ09ORklHX0FSQ0hfUzNDMjQxMD15CiAjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogQ09ORklHX1BMQVRfUzNDMjRYWD15CiBDT05GSUdfQ1BVX1MzQzI0NFg9eQorIyBDT05GSUdfUzNDMjRYWF9QV00gaXMgbm90IHNldAogQ09ORklHX1BNX1NJTVRFQz15Ci0jIENPTkZJR19TM0NfQk9PVF9XQVRDSERPRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TM0NfQk9PVF9FUlJPUl9SRVNFVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TM0MyNDEwX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MzQzI0MTBfUE1fQ0hFQ0sgaXMgbm90IHNldAotQ09ORklHX1MzQ19MT1dMRVZFTF9VQVJUX1BPUlQ9MAogQ09ORklHX1MzQzI0MTBfRE1BPXkKICMgQ09ORklHX1MzQzI0MTBfRE1BX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19NQUNIX1NNREs9eQorQ09ORklHX1BMQVRfUzNDPXkKK0NPTkZJR19DUFVfTExTRVJJQUxfUzNDMjQxMD15CitDT05GSUdfQ1BVX0xMU0VSSUFMX1MzQzI0NDA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworIyBDT05GSUdfUzNDX0JPT1RfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfUzNDX0JPT1RfRVJST1JfUkVTRVQgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKyMgQ09ORklHX1MzQzI0MTBfUE1fREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfUzNDMjQxMF9QTV9DSEVDSyBpcyBub3Qgc2V0CitDT05GSUdfUzNDX0xPV0xFVkVMX1VBUlRfUE9SVD0wCiAKICMKICMgUzNDMjQwMCBNYWNoaW5lcwpAQCAtMTU1LDYgKzE5MSw4IEBACiBDT05GSUdfUzNDMjQxMF9QTT15CiBDT05GSUdfUzNDMjQxMF9HUElPPXkKIENPTkZJR19TM0MyNDEwX0NMT0NLPXkKK0NPTkZJR19TSU1URUNfTk9SPXkKK0NPTkZJR19NQUNIX0JBU1RfSURFPXkKIAogIwogIyBTM0MyNDEwIE1hY2hpbmVzCkBAIC0xNjcsNiArMjA1LDcgQEAKIENPTkZJR19NQUNIX09UT009eQogQ09ORklHX01BQ0hfQU1MX001OTAwPXkKIENPTkZJR19CQVNUX1BDMTA0X0lSUT15CisjIENPTkZJR19NQUNIX1RDVF9IQU1NRVIgaXMgbm90IHNldAogQ09ORklHX01BQ0hfVlIxMDAwPXkKIENPTkZJR19NQUNIX1FUMjQxMD15CiBDT05GSUdfQ1BVX1MzQzI0MTI9eQpAQCAtMTc2LDggKzIxNSwxMCBAQAogIwogIyBTM0MyNDEyIE1hY2hpbmVzCiAjCisjIENPTkZJR19NQUNIX0pJVkUgaXMgbm90IHNldAogQ09ORklHX01BQ0hfU01ESzI0MTM9eQogQ09ORklHX01BQ0hfUzNDMjQxMz15CisjIENPTkZJR19NQUNIX1NNREsyNDEyIGlzIG5vdCBzZXQKIENPTkZJR19NQUNIX1ZTVE1TPXkKIENPTkZJR19DUFVfUzNDMjQ0MD15CiBDT05GSUdfUzNDMjQ0MF9ETUE9eQpAQCAtMTkxLDYgKzIzMiw3IEBACiBDT05GSUdfQVJDSF9TM0MyNDQwPXkKIENPTkZJR19NQUNIX05FWENPREVSXzI0NDA9eQogQ09ORklHX1NNREsyNDQwX0NQVTI0NDA9eQorIyBDT05GSUdfTUFDSF9BVDI0NDBFVkIgaXMgbm90IHNldAogQ09ORklHX0NQVV9TM0MyNDQyPXkKIAogIwpAQCAtMjE1LDYgKzI1Nyw3IEBACiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNFQ9eQogQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVjRXVD15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQogQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQpAQCAtMjM2LDE3ICsyNzksMTUgQEAKICMgQnVzIHN1cHBvcnQKICMKIENPTkZJR19JU0E9eQotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCisjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0yMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CkBAIC0yNTcsOSArMjk4LDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTI3OSw3ICszMjQsNyBAQAogIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKICMKIENPTkZJR19GUEVfTldGUEU9eQotIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKK0NPTkZJR19GUEVfTldGUEVfWFA9eQogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAogIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIApAQCAtMjk1LDEwICszNDAsMTIgQEAKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkQ9eQorQ09ORklHX1NVU1BFTkRfRlJFRVpFUj15CitDT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0zMDgsNTkgKzM1NSw2NyBAQAogIwogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKLSMgQ09ORklHX05FVERFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBQ0tFVCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUPXkKKyMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15Ci0jIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUE5QX0RIQ1A9eQogQ09ORklHX0lQX1BOUF9CT09UUD15CiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX1RVTk5FTD1tCiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CitDT05GSUdfSVBWNj1tCitDT05GSUdfSVBWNl9QUklWQUNZPXkKK0NPTkZJR19JUFY2X1JPVVRFUl9QUkVGPXkKKyMgQ09ORklHX0lQVjZfUk9VVEVfSU5GTyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2X09QVElNSVNUSUNfREFEIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUNl9BSD1tCitDT05GSUdfSU5FVDZfRVNQPW0KK0NPTkZJR19JTkVUNl9JUENPTVA9bQorQ09ORklHX0lQVjZfTUlQNj1tCitDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUw9bQorQ09ORklHX0lORVQ2X1RVTk5FTD1tCitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RSQU5TUE9SVD1tCitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTD1tCitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQ9bQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9ST1VURU9QVElNSVpBVElPTj1tCitDT05GSUdfSVBWNl9TSVQ9bQorQ09ORklHX0lQVjZfTkRJU0NfTk9ERVRZUEU9eQorQ09ORklHX0lQVjZfVFVOTkVMPW0KKyMgQ09ORklHX0lQVjZfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjZfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAotCi0jCi0jIERDQ1AgQ29uZmlndXJhdGlvbiAoRVhQRVJJTUVOVEFMKQotIwogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NUUCBDb25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwpCi0jCiAjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKLQotIwotIyBUSVBDIENvbmZpZ3VyYXRpb24gKEVYUEVSSU1FTlRBTCkKLSMKICMgQ09ORklHX1RJUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKICMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CkBAIC0zNzMsMjAgKzQyOCw3MSBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hfRklGTz15CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUIGlzIG5vdCBzZXQKK0NPTkZJR19CVD1tCitDT05GSUdfQlRfTDJDQVA9bQorQ09ORklHX0JUX1NDTz1tCitDT05GSUdfQlRfUkZDT01NPW0KK0NPTkZJR19CVF9SRkNPTU1fVFRZPXkKK0NPTkZJR19CVF9CTkVQPW0KK0NPTkZJR19CVF9CTkVQX01DX0ZJTFRFUj15CitDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVI9eQorQ09ORklHX0JUX0hJRFA9bQorCisjCisjIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycworIworQ09ORklHX0JUX0hDSVVTQj1tCitDT05GSUdfQlRfSENJVVNCX1NDTz15CitDT05GSUdfQlRfSENJVUFSVD1tCitDT05GSUdfQlRfSENJVUFSVF9IND15CitDT05GSUdfQlRfSENJVUFSVF9CQ1NQPXkKK0NPTkZJR19CVF9IQ0lVQVJUX0xMPXkKK0NPTkZJR19CVF9IQ0lCQ00yMDNYPW0KK0NPTkZJR19CVF9IQ0lCUEExMFg9bQorQ09ORklHX0JUX0hDSUJGVVNCPW0KK0NPTkZJR19CVF9IQ0lWSENJPW0KKyMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcworIworQ09ORklHX0NGRzgwMjExPW0KK0NPTkZJR19OTDgwMjExPXkKK0NPTkZJR19XSVJFTEVTU19FWFQ9eQorQ09ORklHX01BQzgwMjExPW0KKworIworIyBSYXRlIGNvbnRyb2wgYWxnb3JpdGhtIHNlbGVjdGlvbgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfUElEPXkKKyMgQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfTk9ORSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZWN0aW5nICd5JyBmb3IgYW4gYWxnb3JpdGhtIHdpbGwKKyMKKworIworIyBidWlsZCB0aGUgYWxnb3JpdGhtIGludG8gbWFjODAyMTEuCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVD0icGlkIgorQ09ORklHX01BQzgwMjExX1JDX1BJRD15CitDT05GSUdfTUFDODAyMTFfTUVTSD15CitDT05GSUdfTUFDODAyMTFfTEVEUz15CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR19QQUNLRVRfQUxJR05NRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzk1LDIxICs1MDEsMTQgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLSMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CitDT05GSUdfRldfTE9BREVSPW0KICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgTWVtb3J5IFRlY2hub2xvZ3kgRGV2aWNlcyAoTVREKQotIwogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CkBAIC00MjAsNiArNTE5LDcgQEAKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTX1JFQURPTkxZIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCkBAIC00MzIsNiArNTMyLDcgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCkBAIC00NTcsNyArNTU4LDYgQEAKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogQ09ORklHX01URF9ST009eQogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfT0JTT0xFVEVfQ0hJUFMgaXMgbm90IHNldAogCiAjCiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKQEAgLTQ4NiwxMyArNTg2LDEwIEBACiAjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAotCi0jCi0jIE5BTkQgRmxhc2ggRGV2aWNlIERyaXZlcnMKLSMKIENPTkZJR19NVERfTkFORD15CiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogQ09ORklHX01URF9OQU5EX1MzQzI0MTA9eQogIyBDT05GSUdfTVREX05BTkRfUzNDMjQxMF9ERUJVRyBpcyBub3Qgc2V0CkBAIC01MDAsMzAgKzU5NywyNSBAQAogIyBDT05GSUdfTVREX05BTkRfUzNDMjQxMF9DTEtTVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci0KLSMKLSMgT25lTkFORCBGbGFzaCBEZXZpY2UgRHJpdmVycwotIworIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0CisjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIworIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0CiBDT05GSUdfUEFSUE9SVD15Ci0jIENPTkZJR19QQVJQT1JUX1BDIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJQT1JUX1BDPW0KKyMgQ09ORklHX1BBUlBPUlRfUENfRklGTyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJQT1JUX1BDX1NVUEVSSU8gaXMgbm90IHNldAogIyBDT05GSUdfUEFSUE9SVF9HU0MgaXMgbm90IHNldAotIyBDT05GSUdfUEFSUE9SVF9BWDg4Nzk2IGlzIG5vdCBzZXQKK0NPTkZJR19QQVJQT1JUX0FYODg3OTY9bQogQ09ORklHX1BBUlBPUlRfMTI4ND15Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCitDT05GSUdfUEFSUE9SVF9OT1RfUEM9eQogIyBDT05GSUdfUE5QIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKKyMgQ09ORklHX1BBUklERSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldApAQCAtNTMyLDM0ICs2MjQsMzQgQEAKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKIENPTkZJR19CTEtfREVWX1JBTV9TSVpFPTQwOTYKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9YSVAgaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiBDT05GSUdfQVRBX09WRVJfRVRIPW0KLQotIwotIyBBVEEvQVRBUEkvTUZNL1JMTCBzdXBwb3J0Ci0jCitDT05GSUdfTUlTQ19ERVZJQ0VTPXkKKyMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKIENPTkZJR19JREU9eQogQ09ORklHX0JMS19ERVZfSURFPXkKIAogIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKKyMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwogIwogIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9JREVESVNLPXkKICMgQ09ORklHX0lERURJU0tfTVVMVElfTU9ERSBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9JREVDRD15CitDT05GSUdfQkxLX0RFVl9JREVDRF9WRVJCT1NFX0VSUk9SUz15CiBDT05GSUdfQkxLX0RFVl9JREVUQVBFPW0KIENPTkZJR19CTEtfREVWX0lERUZMT1BQWT1tCisjIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAogIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAorQ09ORklHX0lERV9QUk9DX0ZTPXkKIAogIwogIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCiAjCi1DT05GSUdfSURFX0dFTkVSSUM9eQotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVfQkFTVD15Ci0jIENPTkZJR19JREVfQ0hJUFNFVFMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9QTEFURk9STSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lERURNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKIApAQCAtNTY3LDEwMSArNjU5LDExOSBAQAogIyBTQ1NJIGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKK0NPTkZJR19TQ1NJX1RHVD1tCiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKLSMgU2VyaWFsIEFUQSAocHJvZCkgYW5kIFBhcmFsbGVsIEFUQSAoZXhwZXJpbWVudGFsKSBkcml2ZXJzCisjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCiAjCitDT05GSUdfQkxLX0RFVl9TRD15CitDT05GSUdfQ0hSX0RFVl9TVD1tCisjIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1I9bQorQ09ORklHX0JMS19ERVZfU1JfVkVORE9SPXkKK0NPTkZJR19DSFJfREVWX1NHPXkKK0NPTkZJR19DSFJfREVWX1NDSD1tCisKKyMKKyMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCisjCitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQorQ09ORklHX1NDU0lfQ09OU1RBTlRTPXkKKyMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9TQ0FOX0FTWU5DPXkKK0NPTkZJR19TQ1NJX1dBSVRfU0NBTj1tCisKKyMKKyMgU0NTSSBUcmFuc3BvcnRzCisjCisjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKKyMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FIQTE1MlggaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BSUM3WFhYX09MRCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSU4yMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRFRDMzI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9HRU5FUklDX05DUjUzODAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9HRU5FUklDX05DUjUzODBfTU1JTyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1BQQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0lNTSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05DUjUzQzQwNkEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9QQVMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1FMT0dJQ19GQVMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TWU01M0M0MTYgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9UMTI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIworQ09ORklHX0hBVkVfUEFUQV9QTEFURk9STT15CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwotIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKLQotIwotIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0Ci0jCi0KLSMKLSMgSTJPIGRldmljZSBzdXBwb3J0Ci0jCi0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLQotIwotIyBBUkNuZXQgZGV2aWNlcwotIworIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNORVQgaXMgbm90IHNldAotCi0jCi0jIFBIWSBkZXZpY2Ugc3VwcG9ydAotIwogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKLQotIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKLSMKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVkVORE9SX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAogQ09ORklHX0RNOTAwMD15CisjIENPTkZJR19FTkMyOEo2MCBpcyBub3Qgc2V0CitDT05GSUdfRE05MDAwX0RFQlVHTEVWRUw9NAogIyBDT05GSUdfTkVUX1ZFTkRPUl9SQUNBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVDE3MDAgaXMgbm90IHNldAogIyBDT05GSUdfREVQQ0EgaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lTQSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPQ0tFVCBpcyBub3Qgc2V0Ci0KLSMKLSMgRXRoZXJuZXQgKDEwMDAgTWJpdCkKLSMKLQotIwotIyBFdGhlcm5ldCAoMTAwMDAgTWJpdCkKLSMKLQotIwotIyBUb2tlbiBSaW5nIGRldmljZXMKLSMKK0NPTkZJR19ORVRERVZfMTAwMD15CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDAwPXkKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwotIyBXaXJlbGVzcyBMQU4gKG5vbi1oYW1yYWRpbykKKyMgV2lyZWxlc3MgTEFOCiAjCi0jIENPTkZJR19ORVRfUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKLSMgV2FuIGludGVyZmFjZXMKKyMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKICMKKyMgQ09ORklHX1VTQl9DQVRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUExJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNjY5LDYgKzc3OSw3IEBACiAjCiBDT05GSUdfSU5QVVQ9eQogIyBDT05GSUdfSU5QVVRfRkZfTUVNTEVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT0xMREVWIGlzIG5vdCBzZXQKIAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCkBAIC02NzgsNyArNzg5LDYgQEAKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfRVZERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC02OTUsMTIgKzgwNSwyMSBAQAogIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfTU9VU0U9eQogQ09ORklHX01PVVNFX1BTMj15CitDT05GSUdfTU9VU0VfUFMyX0FMUFM9eQorQ09ORklHX01PVVNFX1BTMl9MT0dJUFMyUFA9eQorQ09ORklHX01PVVNFX1BTMl9TWU5BUFRJQ1M9eQorQ09ORklHX01PVVNFX1BTMl9MSUZFQk9PSz15CitDT05GSUdfTU9VU0VfUFMyX1RSQUNLUE9JTlQ9eQorIyBDT05GSUdfTU9VU0VfUFMyX1RPVUNIS0lUIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CisjIENPTkZJR19NT1VTRV9BUFBMRVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX0lOUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9MT0dJQk0gaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfUEMxMTBQQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfVlNYWFhBQSBpcyBub3Qgc2V0CisjIENPTkZJR19NT1VTRV9HUElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIApAQCAtNzIxLDYgKzg0MCw3IEBACiBDT05GSUdfVlRfQ09OU09MRT15CiBDT05GSUdfSFdfQ09OU09MRT15CiAjIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogQ09ORklHX1NFUklBTF9OT05TVEFOREFSRD15CiAjIENPTkZJR19DT01QVVRPTkUgaXMgbm90IHNldAogIyBDT05GSUdfUk9DS0VUUE9SVCBpcyBub3Qgc2V0CkBAIC03MjgsOCArODQ4LDYgQEAKICMgQ09ORklHX0RJR0lFUENBIGlzIG5vdCBzZXQKICMgQ09ORklHX01PWEFfSU5URUxMSU8gaXMgbm90IHNldAogIyBDT05GSUdfTU9YQV9TTUFSVElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01PWEFfU01BUlRJT19ORVcgaXMgbm90IHNldAotIyBDT05GSUdfU1lOQ0xJTktNUCBpcyBub3Qgc2V0CiAjIENPTkZJR19OX0hETEMgaXMgbm90IHNldAogIyBDT05GSUdfUklTQ09NOCBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEVDSUFMSVggaXMgbm90IHNldApAQCAtNzU4LDggKzg3NiwxMiBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCitDT05GSUdfU0VSSUFMX1NBTVNVTkc9eQorIyBDT05GSUdfU0VSSUFMX1NBTVNVTkdfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF9TQU1TVU5HX0NPTlNPTEU9eQogQ09ORklHX1NFUklBTF9TM0MyNDEwPXkKLUNPTkZJR19TRVJJQUxfUzNDMjQxMF9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfUzNDMjQxMj15CitDT05GSUdfU0VSSUFMX1MzQzI0NDA9eQogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CkBAIC03NjgsMTYgKzg5MCwxMzkgQEAKIENPTkZJR19QUklOVEVSPXkKICMgQ09ORklHX0xQX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX1BQREVWPXkKLSMgQ09ORklHX1RJUEFSIGlzIG5vdCBzZXQKLQotIwotIyBJUE1JCi0jCiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorQ09ORklHX0hXX1JBTkRPTT15CisjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19EVExLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CitDT05GSUdfREVWUE9SVD15CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj1tCitDT05GSUdfSTJDX0FMR09CSVQ9eQogCiAjCi0jIFdhdGNoZG9nIENhcmRzCisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfSTJDX0VMRUtUT1IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CitDT05GSUdfSTJDX1MzQzI0MTA9eQorQ09ORklHX0kyQ19TSU1URUM9eQorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX0lTQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19FRVBST009bQorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RQUzY1MDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CisKKyMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKKyMKK0NPTkZJR19TUElfQklUQkFORz1tCisjIENPTkZJR19TUElfQlVUVEVSRkxZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9MTTcwX0xMUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJX1MzQzI0WFg9bQorQ09ORklHX1NQSV9TM0MyNFhYX0dQSU89bQorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKyMgQ09ORklHX0RFQlVHX0dQSU8gaXMgbm90IHNldAorCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fUENBOTUzWCBpcyBub3Qgc2V0CisjIENPTkZJR19HUElPX1BDRjg1N1ggaXMgbm90IHNldAorCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fTUNQMjNTMDggaXMgbm90IHNldAorIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKK0NPTkZJR19IV01PTj15CitDT05GSUdfSFdNT05fVklEPW0KKyMgQ09ORklHX1NFTlNPUlNfQUQ3NDE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyOSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEVDc0NzMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BVFhQMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3MTgwNUYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzE4ODJGRyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3NTM3NVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19HTDUxOFNNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfR0w1MjBTTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE03MCBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19MTTc1PW0KKyMgQ09ORklHX1NFTlNPUlNfTE03NyBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19MTTc4PW0KKyMgQ09ORklHX1NFTlNPUlNfTE04MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODMgaXMgbm90IHNldAorQ09ORklHX1NFTlNPUlNfTE04NT1tCisjIENPTkZJR19TRU5TT1JTX0xNODcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVgxNjE5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjY1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDODczNjAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQzg3NDI3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRE1FMTczNyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFM3ODI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVEhNQzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzgxRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzTDc4NVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzTDc4Nk5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNjI3SEYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM2MjdFSEYgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiBDT05GSUdfV0FUQ0hET0c9eQogIyBDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQgaXMgbm90IHNldAogCkBAIC03OTgsMTc5ICsxMDQzLDU0IEBACiAjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcwogIwogIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPXkKLSMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RUTEsgaXMgbm90IHNldAotIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAotIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiAKICMKLSMgVFBNIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCi0jIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgc3VwcG9ydAotIwotQ09ORklHX0kyQz15Ci1DT05GSUdfSTJDX0NIQVJERVY9bQotCi0jCi0jIEkyQyBBbGdvcml0aG1zCi0jCi1DT05GSUdfSTJDX0FMR09CSVQ9bQotIyBDT05GSUdfSTJDX0FMR09QQ0YgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0FMR09QQ0EgaXMgbm90IHNldAotCi0jCi0jIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAotIwotIyBDT05GSUdfSTJDX0VMRUtUT1IgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfUEFSUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0Ci1DT05GSUdfSTJDX1MzQzI0MTA9eQotIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX1BDQV9JU0EgaXMgbm90IHNldAotCi0jCi0jIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAotIwotIyBDT05GSUdfU0VOU09SU19EUzEzMzcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19EUzEzNzQgaXMgbm90IHNldAotQ09ORklHX1NFTlNPUlNfRUVQUk9NPW0KLSMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1BDQTk1MzkgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKLQotIwotIyBTUEkgc3VwcG9ydAotIwotQ09ORklHX1NQST15Ci0jIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAotQ09ORklHX1NQSV9NQVNURVI9eQotCi0jCi0jIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCi0jCi1DT05GSUdfU1BJX0JJVEJBTkc9bQotIyBDT05GSUdfU1BJX0JVVFRFUkZMWSBpcyBub3Qgc2V0Ci1DT05GSUdfU1BJX1MzQzI0WFg9bQotQ09ORklHX1NQSV9TM0MyNFhYX0dQSU89bQotCi0jCi0jIFNQSSBQcm90b2NvbCBNYXN0ZXJzCi0jCi0jIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0Ci0KLSMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cwotIwotIyBDT05GSUdfVzEgaXMgbm90IHNldAotCi0jCi0jIEhhcmR3YXJlIE1vbml0b3Jpbmcgc3VwcG9ydAotIwotQ09ORklHX0hXTU9OPXkKLUNPTkZJR19IV01PTl9WSUQ9bQotIyBDT05GSUdfU0VOU09SU19BQklUVUdVUlUgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDIxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNMTAyNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTEwMjYgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDI5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNMTAzMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTkyNDAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BU0IxMDAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BVFhQMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0Y3MTgwNUYgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19GU0NIRVIgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19GU0NQT1MgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19HTDUxOFNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfR0w1MjBTTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTYzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTE03MCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VOU09SU19MTTc1PW0KLSMgQ09ORklHX1NFTlNPUlNfTE03NyBpcyBub3Qgc2V0Ci1DT05GSUdfU0VOU09SU19MTTc4PW0KLSMgQ09ORklHX1NFTlNPUlNfTE04MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0xNODMgaXMgbm90IHNldAotQ09ORklHX1NFTlNPUlNfTE04NT1tCi0jIENPTkZJR19TRU5TT1JTX0xNODcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTkwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTE05MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX01BWDE2MTkgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19QQzg3MzYwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfUEM4NzQyNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19IV01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKLQotIwotIyBNaXNjIGRldmljZXMKLSMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCi0jIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi1DT05GSUdfTkVXX0xFRFM9eQotQ09ORklHX0xFRFNfQ0xBU1M9bQotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi1DT05GSUdfTEVEU19TM0MyNFhYPW0KLUNPTkZJR19MRURTX0gxOTQwPW0KLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLUNPTkZJR19MRURTX1RSSUdHRVJTPXkKLUNPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9bQotIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKLUNPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPW0KK0NPTkZJR19NRkRfU001MDE9eQorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKLSMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAKICMKLSMgRGlnaXRhbCBWaWRlbyBCcm9hZGNhc3RpbmcgRGV2aWNlcworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAogIwotIyBDT05GSUdfRFZCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIwotIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKIENPTkZJR19GQj15CiBDT05GSUdfRklSTVdBUkVfRURJRD15CiAjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAogQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15CiBDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKIENPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAogIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAogIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKQEAgLTk3OCwxMiArMTA5OCwxOSBAQAogIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKIAogIwotIyBGcmFtYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKKyMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKICMKICMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKIENPTkZJR19GQl9TM0MyNDEwPXkKICMgQ09ORklHX0ZCX1MzQzI0MTBfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0ZCX1NNNTAxPXkKICMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydApAQCAtOTkyLDY4ICsxMTE5LDIxIEBACiAjIENPTkZJR19NREFfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15CiBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAogQ09ORklHX0ZPTlRfOHg4PXkKIENPTkZJR19GT05UXzh4MTY9eQotCi0jCi0jIExvZ28gY29uZmlndXJhdGlvbgotIwogIyBDT05GSUdfTE9HTyBpcyBub3Qgc2V0CiAKICMKICMgU291bmQKICMKICMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKLQotIwotIyBISUQgRGV2aWNlcwotIworQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBVU0Igc3VwcG9ydAotIwotQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQotQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKLSMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKLUNPTkZJR19VU0I9eQotIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCi0jCi1DT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKLSMKLSMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQotIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCi0jCi0jIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QUklOVEVSIGlzIG5vdCBzZXQKLQotIwotIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCi0jCi0KLSMKLSMgbWF5IGFsc28gYmUgbmVlZGVkOyBzZWUgVVNCX1NUT1JBR0UgSGVscCBmb3IgbW9yZSBpbmZvcm1hdGlvbgotIwotIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTEwNjUsNDUgKzExNDUsMTIyIEBACiAjCiAjIENPTkZJR19VU0JfS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NT1VTRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQUlQVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9XQUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQUNFQ0FEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9LQlRBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUE9XRVJNQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfWUVBTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfWFBBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQVRJX1JFTU9URSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQVRJX1JFTU9URTIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0tFWVNQQU5fUkVNT1RFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BUFBMRVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9HVENPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VQUE9SVD15CitDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CitDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQorIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldAorQ09ORklHX1VTQj15CisjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCisjCitDT05GSUdfVVNCX0RFVklDRUZTPXkKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKKyMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKworIworIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAorQ09ORklHX1VTQl9PSENJX0hDRD15CisjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CisKKyMKKyMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCisjCitDT05GSUdfVVNCX0FDTT1tCitDT05GSUdfVVNCX1BSSU5URVI9bQorQ09ORklHX1VTQl9XRE09bQorCisjCisjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKKyMKKworIworIyBtYXkgYWxzbyBiZSBuZWVkZWQ7IHNlZSBVU0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uCisjCitDT05GSUdfVVNCX1NUT1JBR0U9bQorIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAorQ09ORklHX1VTQl9MSUJVU1VBTD15CiAKICMKICMgVVNCIEltYWdpbmcgZGV2aWNlcwogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKLSMKLSMgQ09ORklHX1VTQl9DQVRDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAogQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9VU1M3MjAgaXMgbm90IHNldAotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKLSMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAorQ09ORklHX1VTQl9TRVJJQUw9eQorIyBDT05GSUdfVVNCX1NFUklBTF9DT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9FWlVTQiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTF9HRU5FUklDPXkKKyMgQ09ORklHX1VTQl9TRVJJQUxfQUlSQ0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9BSVJQUklNRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0FSSzMxMTYgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9CRUxLSU4gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9DSDM0MSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1dISVRFSEVBVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0RJR0lfQUNDRUxFUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0NQMjEwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0NZUFJFU1NfTTggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9FTVBFRyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTF9GVERJX1NJTz15CisjIENPTkZJR19VU0JfU0VSSUFMX0ZVTlNPRlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9WSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0lQQVEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9JUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0VER0VQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfRURHRVBPUlRfVEkgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9HQVJNSU4gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9JUFcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9JVVUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1BEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU4gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9LTFNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfS09CSUxfU0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfTUNUX1UyMzIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9NT1M3NzIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfTU9TNzg0MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX01PVE9ST0xBIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMX05BVk1BTj1tCitDT05GSUdfVVNCX1NFUklBTF9QTDIzMDM9eQorIyBDT05GSUdfVVNCX1NFUklBTF9PVEk2ODU4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfU1BDUDhYNSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0hQNFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9TQUZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfU0lFUlJBV0lSRUxFU1MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9USSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0NZQkVSSkFDSyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1hJUkNPTSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTF9PUFRJT049bQorIyBDT05GSUdfVVNCX1NFUklBTF9PTU5JTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBNaXNjZWxsYW5lb3VzIGRyaXZlcnMKQEAgLTExMTYsMzUgKzEyNzMsMzggQEAKICMgQ09ORklHX1VTQl9MRUdPVE9XRVIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQkVSUllfQ0hBUkdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9MRUQgaXMgbm90IHNldAorQ09ORklHX1VTQl9MRUQ9bQogIyBDT05GSUdfVVNCX0NZUFJFU1NfQ1k3QzYzIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9DWVRIRVJNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QSElER0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JRE1PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FQUExFRElTUExBWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAorQ09ORklHX1VTQl9MRD1tCiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci0KLSMKLSMgTU1DL1NEIENhcmQgc3VwcG9ydAotIwogIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz1tCiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIExFRCBkcml2ZXJzCiAjCitDT05GSUdfTEVEU19TM0MyNFhYPW0KK0NPTkZJR19MRURTX0gxOTQwPW0KKyMgQ09ORklHX0xFRFNfR1BJTyBpcyBub3Qgc2V0CisKKyMKKyMgTEVEIFRyaWdnZXJzCisjCitDT05GSUdfTEVEU19UUklHR0VSUz15CitDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPW0KKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD1tCisjIENPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKIENPTkZJR19SVENfSENUT1NZUz15CkBAIC0xMTU4LDYxICsxMzE4LDg2IEBACiBDT05GSUdfUlRDX0lOVEZfUFJPQz15CiBDT05GSUdfUlRDX0lOVEZfREVWPXkKICMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIFJUQyBkcml2ZXJzCisjIEkyQyBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0ZNMzEzMCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SOTcwMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorCisjCisjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfUzNDPXkKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX1MzQz15CisjIENPTkZJR19VSU8gaXMgbm90IHNldAorCisjCiAjIEZpbGUgc3lzdGVtcwogIwogQ09ORklHX0VYVDJfRlM9eQotIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CitDT05GSUdfRVhUMl9GU19YQVRUUj15CitDT05GSUdfRVhUMl9GU19QT1NJWF9BQ0w9eQorQ09ORklHX0VYVDJfRlNfU0VDVVJJVFk9eQogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAogQ09ORklHX0VYVDNfRlM9eQogQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotQ09ORklHX1JPTUZTX0ZTPXkKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19BQ0w9eQogCiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKLSMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAotIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19JU085NjYwX0ZTPXkKK0NPTkZJR19KT0xJRVQ9eQorIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19VREZfRlM9bQorQ09ORklHX1VERl9OTFM9eQogCiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKQEAgLTEyMjIsNyArMTQwNyw5IEBACiBDT05GSUdfVkZBVF9GUz15CiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCi0jIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19OVEZTX0ZTPW0KKyMgQ09ORklHX05URlNfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19SVyBpcyBub3Qgc2V0CiAKICMKICMgUHNldWRvIGZpbGVzeXN0ZW1zCkBAIC0xMjMwLDEwICsxNDE3LDEwIEBACiBDT05GSUdfUFJPQ19GUz15CiBDT05GSUdfUFJPQ19TWVNDVEw9eQogQ09ORklHX1NZU0ZTPXkKLSMgQ09ORklHX1RNUEZTIGlzIG5vdCBzZXQKK0NPTkZJR19UTVBGUz15CitDT05GSUdfVE1QRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQotIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0NPTkZJR0ZTX0ZTPW0KIAogIwogIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCkBAIC0xMjQ4LDMxICsxNDM1LDMyIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci0jIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9TVU1NQVJZPXkKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiBDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorQ09ORklHX1JPTUZTX0ZTPXkKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiAjIENPTkZJR19ORlNfVjMgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQogQ09ORklHX05GU19DT01NT049eQogQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CkBAIC0xMjgwLDcgKzE0NjgsNiBAQAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKQEAgLTEzMDIsOTQgKzE0ODksOTMgQEAKICMgQ09ORklHX1NVTl9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCi0jIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCitDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CitDT05GSUdfTkxTX0NPREVQQUdFXzczNz1tCitDT05GSUdfTkxTX0NPREVQQUdFXzc3NT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CitDT05GSUdfTkxTX0NPREVQQUdFXzg1Mj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg1NT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg1Nz1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2MD1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2MT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2Mj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2Mz1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2ND1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2NT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2Nj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2OT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzkzNj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzk1MD1tCitDT05GSUdfTkxTX0NPREVQQUdFXzkzMj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzk0OT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg3ND1tCitDT05GSUdfTkxTX0lTTzg4NTlfOD1tCitDT05GSUdfTkxTX0NPREVQQUdFXzEyNTA9bQorQ09ORklHX05MU19DT0RFUEFHRV8xMjUxPW0KK0NPTkZJR19OTFNfQVNDSUk9eQorQ09ORklHX05MU19JU084ODU5XzE9eQorQ09ORklHX05MU19JU084ODU5XzI9bQorQ09ORklHX05MU19JU084ODU5XzM9bQorQ09ORklHX05MU19JU084ODU5XzQ9bQorQ09ORklHX05MU19JU084ODU5XzU9bQorQ09ORklHX05MU19JU084ODU5XzY9bQorQ09ORklHX05MU19JU084ODU5Xzc9bQorQ09ORklHX05MU19JU084ODU5Xzk9bQorQ09ORklHX05MU19JU084ODU5XzEzPW0KK0NPTkZJR19OTFNfSVNPODg1OV8xND1tCitDT05GSUdfTkxTX0lTTzg4NTlfMTU9bQorQ09ORklHX05MU19LT0k4X1I9bQorQ09ORklHX05MU19LT0k4X1U9bQorQ09ORklHX05MU19VVEY4PW0KICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CiBDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE2CiBDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19NVVRFWEVTPXkKKyMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAorIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQogQ09ORklHX0RFQlVHX0lORk89eQogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLSMgQ09ORklHX0RFQlVHX0VSUk9SUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1MzQ19QT1JUPXkKQEAgLTE0MDAsMjEgKzE1ODYsMTAwIEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQogCiAjCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKICMKLSMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FMR0FQST1tCitDT05GSUdfQ1JZUFRPX0FFQUQ9bQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQorQ09ORklHX0NSWVBUT19IQVNIPW0KK0NPTkZJR19DUllQVE9fTUFOQUdFUj1tCisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FVVEhFTkM9bQorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj1tCisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fSE1BQz1tCisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9bQorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fU0hBMT1tCisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKK0NPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz1tCisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKK0NPTkZJR19DUllQVE9fREVGTEFURT1tCisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fSFc9eQogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0lUVV9UPW0KIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9zYW05X2w5MjYwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc2FtOV9sOTI2MF9kZWZjb25maWcKaW5kZXggNDg0ZGM5Ny4uODY4ODM2MiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9zYW05X2w5MjYwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3NhbTlfbDkyNjBfZGVmY29uZmlnCkBAIC0yMTEsNyArMjExLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3NwaXR6X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpdHpfZGVmY29uZmlnCmluZGV4IGFhN2EwMTEuLjdkNTlmYjEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpdHpfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpdHpfZGVmY29uZmlnCkBAIC0xNjQsNyArMTY0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy90Y3RfaGFtbWVyX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvdGN0X2hhbW1lcl9kZWZjb25maWcKaW5kZXggNTc2YjgzMy4uMDdkZmI5OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy90Y3RfaGFtbWVyX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3RjdF9oYW1tZXJfZGVmY29uZmlnCkBAIC0yNDcsNyArMjQ3LDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTIwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvdHJpemVwczRfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy90cml6ZXBzNF9kZWZjb25maWcKaW5kZXggNmRiNjM5Mi4uOGI3YTQzMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy90cml6ZXBzNF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy90cml6ZXBzNF9kZWZjb25maWcKQEAgLTE5NSw3ICsxOTUsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjBfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNzAlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjBfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLjM2ODBiZDIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjBfZGVmY29uZmlnCkBAIC0xLDEzICsxLDEzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKKyMgVHVlIEFwciAxNSAxMTozOTozNSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkBAIC0yMiw0MSArMjIsMzggQEAKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0Ci1DT05GSUdfU1dBUD15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfRkFJUl9DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKLUNPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CisjIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CiBDT05GSUdfU1lTQ1RMPXkKLUNPTkZJR19FTUJFRERFRD15CisjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKIENPTkZJR19LQUxMU1lNUz15CkBAIC03MSw0MiArNjgsMzUgQEAKIENPTkZJR19BTk9OX0lOT0RFUz15CiBDT05GSUdfRVBPTEw9eQogQ09ORklHX1NJR05BTEZEPXkKLUNPTkZJR19USU1FUkZEPXkKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKIENPTkZJR19JT1NDSEVEX0FTPXkKLUNPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKLUNPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0FTPXkKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldApAQCAtMTIwLDcgKzExMCw3IEBACiAjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MT15CiAjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CkBAIC0xMzksOCArMTI5LDkgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTUwLDI1ICsxNDEsNjYgQEAKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEF0bWVsIEFUOTEgU3lzdGVtLW9uLUNoaXAKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxU0FNOTI2MD15CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOVJMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MUNBUDkgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxWDQwIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1BNQ19VTklUPXkKKworIworIyBBVDkxU0FNOTI2MCBWYXJpYW50cworIworIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MF9TQU05WEUgaXMgbm90IHNldAorCisjCisjIEFUOTFTQU05MjYwIC8gQVQ5MVNBTTlYRSBCb2FyZCBUeXBlCisjCisjIENPTkZJR19NQUNIX0FUOTFTQU05MjYwRUsgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9DQU02MCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1NBTTlfTDkyNjAgaXMgbm90IHNldAorQ09ORklHX01BQ0hfVVNCX0E5MjYwPXkKKyMgQ09ORklHX01BQ0hfUUlMX0E5MjYwIGlzIG5vdCBzZXQKKworIworIyBBVDkxIEJvYXJkIE9wdGlvbnMKKyMKKworIworIyBBVDkxIEZlYXR1cmUgU2VsZWN0aW9ucworIworIyBDT05GSUdfQVQ5MV9QUk9HUkFNTUFCTEVfQ0xPQ0tTIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1NMT1dfQ0xPQ0s9eQorQ09ORklHX0FUOTFfVElNRVJfSFo9MTAwCitDT05GSUdfQVQ5MV9FQVJMWV9EQkdVPXkKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ1IGlzIG5vdCBzZXQKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQogQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTc2LDI4ICsyMDgsMjggQEAKICMKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCi1DT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0FSTV9USFVNQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfTk9fSFogaXMgbm90IHNldAorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyNDEsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKKyMgQ09ORklHX0xFRFMgaXMgbm90IHNldAogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjE5LDcgKzI1NSw3IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0ibWVtPTY0TSBjb25zb2xlPXR0eVMwLDExNTIwMCIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzMsNiArMjY5LDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDUsMTAgKzI4MiwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKKyMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORF9VUF9QT1NTSUJMRT15CitDT05GSUdfU1VTUEVORD15CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjEsMjEgKzMwMCwyNSBAQAogQ09ORklHX1BBQ0tFVD15CiAjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15Ci1DT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9ST1VURV9NVUxUSVBBVEggaXMgbm90IHNldAorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQogQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAogQ09ORklHX0lQX1BOUF9CT09UUD15Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUE5QX1JBUlA9eQogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjgzLDExICszMjYsMTEgQEAKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgpAQCAtMzExLDEwICszNTQsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjMsMjggKzM2Miw3IEBACiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzcxLDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjMgKzM4MiwyMCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKIAogIwpAQCAtMzk4LDE1ICs0MDksMTMgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCiAjIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQyNSwxMiArNDM0LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCitDT05GSUdfTVREX0RBVEFGTEFTSD15CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDYsNTMgKzQ1Niw0MiBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfQVQ5MT15CitDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfU09GVD15CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19IVyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19OT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs1MDYsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSw0MSArNTE4LDUwIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19QSFlMSUI9eQogCiAjCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQorIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NQVJWRUxMX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19EQVZJQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTFhUX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19DSUNBREFfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJVEVTU0VfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0NfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZJWEVEX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKK0NPTkZJR19NQUNCPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwPXkKK0NPTkZJR19ORVRERVZfMTAwMDA9eQogCiAjCiAjIFdpcmVsZXNzIExBTgpAQCAtNTY4LDcgKzU3Niw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CkBAIC01NzcsMTAgKzU4NCw2IEBACiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTgsOSArNjAxLDggQEAKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKLSMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkJVRz15CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKQEAgLTYxMiwzMCArNjE0LDE3IEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9HUElPPXkKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjU1LDQ1ICs2NDQsNTEgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0FUTUVMPXkKK0NPTkZJR19TRVJJQUxfQVRNRUxfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfQVRNRUxfVFRZQVQgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIwogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkMgaXMgbm90IHNldAogCiAjCiAjIFNQSSBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycwogIworQ09ORklHX1NQSV9BVE1FTD15CisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIAogIwotIyBNaXNjIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwpAQCAtNzAxLDE5ICs2OTYsNiBAQAogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIAogIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi0KLSMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldApAQCAtNzIzLDEyNSArNzA1LDQyIEBACiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwotQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSElEIGlzIG5vdCBzZXQKIAogIwotIyBVU0Igc3VwcG9ydAorIyBVU0IgSElEIEJvb3QgUHJvdG9jb2wgZHJpdmVycwogIworIyBDT05GSUdfVVNCX0tCRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTU9VU0UgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CkBAIC04NTIsOSArNzUxLDEwIEBACiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKQEAgLTg2Niw2ICs3NjYsNyBAQAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCkBAIC04ODQsNiArNzg1LDcgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldApAQCAtODk4LDcgKzgwMCw3IEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCkBAIC05MzksNTcgKzg0MSw0OCBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZJTEVTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX1NFTEVDVEVEPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfQU1ENTUzNlVEQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUOTE9eQorQ09ORklHX1VTQl9BVDkxPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVNTVlfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRVRIPXkKK0NPTkZJR19VU0JfRVRIX1JORElTPXkKKyMgQ09ORklHX1VTQl9HQURHRVRGUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HX1NFUklBTCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTUlESV9HQURHRVQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCitDT05GSUdfTEVEU19HUElPPXkKIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCi0KLSMKLSMgUlRDIGludGVyZmFjZXMKLSMKLUNPTkZJR19SVENfSU5URl9TWVNGUz15Ci1DT05GSUdfUlRDX0lOVEZfUFJPQz15Ci1DT05GSUdfUlRDX0lOVEZfREVWPXkKLSMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEkyQyBSVEMgZHJpdmVycwotIwotCi0jCi0jIFNQSSBSVEMgZHJpdmVycwotIwotCi0jCi0jIFBsYXRmb3JtIFJUQyBkcml2ZXJzCi0jCi0jIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQotCi0jCi0jIG9uLUNQVSBSVEMgZHJpdmVycwotIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC05OTcsMTcgKzg5MCwxMSBAQAogQ09ORklHX0VYVDJfRlM9eQogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldApAQCAtMTAxOSw3ICs5MDYsNyBAQAogQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CitDT05GSUdfRlVTRV9GUz1tCiAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwpAQCAtMTAzMSw3ICs5MTgsNyBAQAogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiAjCiBDT05GSUdfRkFUX0ZTPXkKLUNPTkZJR19NU0RPU19GUz15CisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfVkZBVF9GUz15CiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCkBAIC0xMDQ2LDcgKzkzMyw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDEwICs5NDgsMTIgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CkBAIC0xMDc0LDQ3ICs5NjIsNDAgQEAKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CitDT05GSUdfTkZTX1YzX0FDTD15CitDT05GSUdfTkZTX1Y0PXkKICMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQogQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQUNMX1NVUFBPUlQ9eQogQ09ORklHX05GU19DT01NT049eQogQ09ORklHX1NVTlJQQz15CitDT05GSUdfU1VOUlBDX0dTUz15CiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CitDT05GSUdfUlBDU0VDX0dTU19LUkI1PXkKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTExNDgsMzAgKzEwMjksMjQgQEAKICMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKLQotIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOU1RSVU1FTlRBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKQEAgLTExODEsMTkgKzEwNTYsMjMgQEAKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15CiBDT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQotQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19FUlJPUlMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEyMDIsNTEgKzEwODEsNDggQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotCi0jCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucwotIworIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT15CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQogIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEhhcmR3YXJlIGNyeXB0byBkZXZpY2VzCi0jCisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fSFcgaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKQEAgLTEyNTYsNiArMTEzMiw3IEBACiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjNfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNzAlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKcmVuYW1lIHRvIGFyY2gvYXJtL2NvbmZpZ3MvdXNiLWE5MjYzX2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi40OGQ0NTViIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvdXNiLWE5MjYzX2RlZmNvbmZpZwpAQCAtMSwxMyArMSwxMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI0CisjIFR1ZSBBcHIgMTUgMTE6MTU6MTkgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpAQCAtMjIsNDEgKzIyLDM4IEBACiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgogIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAotQ09ORklHX1NXQVA9eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0ZBSVJfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCi1DT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkUgaXMgbm90IHNldAogQ09ORklHX1NZU0NUTD15Ci1DT05GSUdfRU1CRURERUQ9eQorIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CiBDT05GSUdfS0FMTFNZTVM9eQpAQCAtNzEsNDIgKzY4LDM1IEBACiBDT05GSUdfQU5PTl9JTk9ERVM9eQogQ09ORklHX0VQT0xMPXkKIENPTkZJR19TSUdOQUxGRD15Ci1DT05GSUdfVElNRVJGRD15CiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwogIwogQ09ORklHX0lPU0NIRURfTk9PUD15CiBDT05GSUdfSU9TQ0hFRF9BUz15Ci1DT05GSUdfSU9TQ0hFRF9ERUFETElORT15Ci1DT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9BUz15CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKQEAgLTEyMCw3ICsxMTAsNyBAQAogIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTE9eQogIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldApAQCAtMTM5LDggKzEyOSw5IEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE1MCwyNSArMTQxLDU4IEBACiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgQm9vdCBvcHRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBBdG1lbCBBVDkxIFN5c3RlbS1vbi1DaGlwCisjCisjIENPTkZJR19BUkNIX0FUOTFSTTkyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTFTQU05MjYzPXkKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFDQVA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVg0MCBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9QTUNfVU5JVD15CisKKyMKKyMgQVQ5MVNBTTkyNjMgQm9hcmQgVHlwZQorIworIyBDT05GSUdfTUFDSF9BVDkxU0FNOTI2M0VLIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX1VTQl9BOTI2Mz15CisKKyMKKyMgQVQ5MSBCb2FyZCBPcHRpb25zCisjCisKKyMKKyMgQVQ5MSBGZWF0dXJlIFNlbGVjdGlvbnMKKyMKKyMgQ09ORklHX0FUOTFfUFJPR1JBTU1BQkxFX0NMT0NLUyBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9TTE9XX0NMT0NLPXkKK0NPTkZJR19BVDkxX1RJTUVSX0haPTEwMAorQ09ORklHX0FUOTFfRUFSTFlfREJHVT15CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMSBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMiBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMyBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNSBpcyBub3Qgc2V0CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9BUk05MjZUPXkKIENPTkZJR19DUFVfMzJ2NT15Ci1DT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKK0NPTkZJR19DUFVfQ09QWV9WNFdCPXkKIENPTkZJR19DUFVfVExCX1Y0V0JJPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKQEAgLTE3NiwyOCArMjAwLDI4IEBACiAjCiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwotQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19BUk1fVEhVTUIgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQ0FDSEVfUk9VTkRfUk9CSU4gaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PX0haIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJR0hfUkVTX1RJTUVSUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CkBAIC0yMDksOSArMjMzLDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CisjIENPTkZJR19MRURTIGlzIG5vdCBzZXQKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIxOSw3ICsyNDcsNyBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9Im1lbT02NE0gY29uc29sZT10dHlTMCwxMTUyMDAiCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIApAQCAtMjMzLDYgKzI2MSw3IEBACiBDT05GSUdfRlBFX05XRlBFPXkKICMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CisjIENPTkZJR19WRlAgaXMgbm90IHNldAogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjQ1LDEwICsyNzQsMTIgQEAKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15CisjIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkRfVVBfUE9TU0lCTEU9eQorQ09ORklHX1NVU1BFTkQ9eQorIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjYxLDIxICsyOTIsMjUgQEAKIENPTkZJR19QQUNLRVQ9eQogIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAogQ09ORklHX1VOSVg9eQotQ09ORklHX1hGUk09eQotIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAotIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQorQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUj15CitDT05GSUdfQVNLX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX0ZJQl9UUklFIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKIENPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKIENPTkZJR19JUF9QTlBfQk9PVFA9eQotIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorQ09ORklHX0lQX1BOUF9SQVJQPXkKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVJPVVRFPXkKK0NPTkZJR19JUF9QSU1TTV9WMT15CitDT05GSUdfSVBfUElNU01fVjI9eQogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4MywxMSArMzE4LDExIEBACiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKQEAgLTMxMSwxMCArMzQ2LDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIzLDI4ICszNTQsNyBAQAogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zNTMsMTMgKzM2Myw5IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDIzICszNzQsMjAgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLUNPTkZJR19GV19MT0FERVI9eQorIyBDT05GSUdfRldfTE9BREVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX0NPTkNBVD15CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CiAKICMKQEAgLTM5OCwxNSArNDAxLDEzIEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwogIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC00MjUsMTIgKzQyNiwxMyBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIworQ09ORklHX01URF9EQVRBRkxBU0g9eQorIyBDT05GSUdfTVREX00yNVA4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDQ2LDUzICs0NDgsNDIgQEAKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX0FUOTE9eQorQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX1NPRlQ9eQorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfSFcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfTk9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREUgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDcsNyArNDk4LDcgQEAKICMKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCi0jIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQogIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CkBAIC01MTksNDEgKzUxMCw1MCBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIwogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CitDT05GSUdfUEhZTElCPXkKIAogIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKKyMgTUlJIFBIWSBkZXZpY2UgZHJpdmVycwogIworIyBDT05GSUdfTUFSVkVMTF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfREFWSUNPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfUVNFTUlfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xYVF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQ0lDQURBX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVRFU1NFX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19CUk9BRENPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfSUNQTFVTX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19GSVhFRF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTURJT19CSVRCQU5HIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CitDT05GSUdfTUFDQj15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZfMTAwMD15CitDT05GSUdfTkVUREVWXzEwMDAwPXkKIAogIwogIyBXaXJlbGVzcyBMQU4KQEAgLTU2OCw3ICs1NjgsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldApAQCAtNTc3LDEwICs1NzYsNiBAQAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTk4LDkgKzU5Myw4IEBACiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15Ci0jIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZCVUc9eQogCiAjCiAjIElucHV0IERldmljZSBEcml2ZXJzCkBAIC02MTIsMzAgKzYwNiwxNyBAQAogIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZQk9BUkRfR1BJTz15CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi1DT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKLSMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTY1NSw0NSArNjM2LDUxIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9BVE1FTD15CitDT05GSUdfU0VSSUFMX0FUTUVMX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMX0FUTUVMX1RUWUFUIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KK0NPTkZJR19IV19SQU5ET009eQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgVFBNIGRldmljZXMKLSMKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorQ09ORklHX1NQST15CisjIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NQSV9NQVNURVI9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKICMKK0NPTkZJR19TUElfQVRNRUw9eQorIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQogIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKQEAgLTcwMSwxOSArNjg4LDYgQEAKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CiAKICMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotCi0jCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKQEAgLTcyMywxMjUgKzY5Nyw0MiBAQAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKICMKLUNPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0hJRCBpcyBub3Qgc2V0CiAKICMKLSMgVVNCIHN1cHBvcnQKKyMgVVNCIEhJRCBCb290IFByb3RvY29sIGRyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9LQkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01PVVNFIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldApAQCAtODUyLDkgKzc0MywxMCBAQAogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAogCiAjCkBAIC04NjYsNiArNzU4LDcgQEAKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwpAQCAtODg0LDYgKzc3Nyw3IEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKQEAgLTg5OCw3ICs3OTIsNyBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwpAQCAtOTM5LDU3ICs4MzMsNDggQEAKICMKICMgVVNCIEdhZGdldCBTdXBwb3J0CiAjCi0jIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GSUxFUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9TRUxFQ1RFRD15CisjIENPTkZJR19VU0JfR0FER0VUX0FNRDU1MzZVREMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRlNMX1VTQjIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ORVQyMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTTY2NTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfR09LVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUzNDMjQxMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9BVDkxPXkKK0NPTkZJR19VU0JfQVQ5MT15CisjIENPTkZJR19VU0JfR0FER0VUX0RVTU1ZX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RVQUxTUEVFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkVSTyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VUSD15CitDT05GSUdfVVNCX0VUSF9STkRJUz15CisjIENPTkZJR19VU0JfR0FER0VURlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR19TRVJJQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKKyMgTEVEIGRyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQorQ09ORklHX0xFRFNfR1BJTz15CiAKICMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjIExFRCBUcmlnZ2VycwogIwotQ09ORklHX01NQ19QWEE9bQotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQotCi0jCi0jIFJUQyBpbnRlcmZhY2VzCi0jCi1DT05GSUdfUlRDX0lOVEZfU1lTRlM9eQotQ09ORklHX1JUQ19JTlRGX1BST0M9eQotQ09ORklHX1JUQ19JTlRGX0RFVj15Ci0jIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBTUEkgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwotIwotIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KLQotIwotIyBvbi1DUFUgUlRDIGRyaXZlcnMKLSMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtOTk3LDE3ICs4ODIsMTEgQEAKIENPTkZJR19FWFQyX0ZTPXkKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAotQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CitDT05GSUdfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKQEAgLTEwMTksNyArODk4LDcgQEAKIENPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorQ09ORklHX0ZVU0VfRlM9bQogCiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKQEAgLTEwMzEsNyArOTEwLDcgQEAKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwogIwogQ09ORklHX0ZBVF9GUz15Ci1DT05GSUdfTVNET1NfRlM9eQorIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAogQ09ORklHX1ZGQVRfRlM9eQogQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwogQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgpAQCAtMTA0Niw3ICs5MjUsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MiwxMCArOTQwLDEyIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci1DT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldApAQCAtMTA3NCw0NyArOTU0LDQwIEBACiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorQ09ORklHX05GU19WM19BQ0w9eQorQ09ORklHX05GU19WND15CiAjIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKIENPTkZJR19MT0NLRF9WND15CitDT05GSUdfTkZTX0FDTF9TVVBQT1JUPXkKIENPTkZJR19ORlNfQ09NTU9OPXkKIENPTkZJR19TVU5SUEM9eQorQ09ORklHX1NVTlJQQ19HU1M9eQogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorQ09ORklHX1JQQ1NFQ19HU1NfS1JCNT15CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCiAjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTQ4LDMwICsxMDIxLDI0IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci0KLSMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlNUUlVNRU5UQVRJT04gaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CkBAIC0xMTgxLDE5ICsxMDQ4LDIzIEBACiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQogQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfRVJST1JTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMjAyLDUxICsxMDczLDQ4IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLQotIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKLSMKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KK0NPTkZJR19DUllQVE9fQUxHQVBJPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPXkKICMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLQotIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwotIworIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCkBAIC0xMjU2LDYgKzExMjQsNyBAQAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy92ZXJzYXRpbGVfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy92ZXJzYXRpbGVfZGVmY29uZmlnCmluZGV4IDQ4ZGNhNjkuLjgzNTVmODggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvdmVyc2F0aWxlX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3ZlcnNhdGlsZV9kZWZjb25maWcKQEAgLTE1MSw3ICsxNTEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MveG1feDI3MF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2NiUKcmVuYW1lIGZyb20gYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZwpyZW5hbWUgdG8gYXJjaC9hcm0vY29uZmlncy94bV94MjcwX2RlZmNvbmZpZwppbmRleCA1Y2FiMDgzLi5hYTQwZDkxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MveG1feDI3MF9kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBXZWQgSnVsIDE4IDE0OjExOjQ4IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNQorIyBTdW4gTWF5IDExIDE1OjEyOjUyIDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIxLDIxICsyMSwxOCBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKIENPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CiBDT05GSUdfU1dBUD15CkBAIC00NCwxMyArNDEsMjAgQEAKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKIENPTkZJR19JS0NPTkZJRz15CiBDT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNworQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKKyMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKQEAgLTU4LDYgKzYyLDcgQEAKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQogIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldApAQCAtNjUsMjQgKzcwLDM0IEBACiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKKyMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKLSMgQ09ORklHX0VQT0xMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NJR05BTEZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSRkQgaXMgbm90IHNldAotIyBDT05GSUdfRVZFTlRGRCBpcyBub3Qgc2V0CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15Ci1DT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQotQ09ORklHX1NMQUI9eQotIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMQUIgaXMgbm90IHNldAorQ09ORklHX1NMVUI9eQogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9DX1BBR0VfTU9OSVRPUiBpcyBub3Qgc2V0CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKIENPTkZJR19NT0RVTEVTPXkKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKQEAgLTk5LDExICsxMTQsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMzEsNiArMTQ3LDggQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9QWEE9eQogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldApAQCAtMTQwLDE5ICsxNTgsNDEgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogQ09ORklHX0RNQUJPVU5DRT15CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBJbnRlbCBQWEEyeHgvUFhBM3h4IEltcGxlbWVudGF0aW9ucwogIworCisjCisjIFNlbGVjdCB0YXJnZXQgYm9hcmRzCisjCisjIENPTkZJR19BUkNIX0dVTVNUSVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAogIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKICMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBX0VTRVJJRVMgaXMgbm90IHNldAogIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9FTV9YMjcwPXkKKyMgQ09ORklHX01BQ0hfQ09MSUJSSSBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1pZTE9OSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfTElUVExFVE9OIGlzIG5vdCBzZXQKIENPTkZJR19NQUNIX0FSTUNPUkU9eQorIyBDT05GSUdfTUFDSF9NQUdJQ0lBTiBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1BDTTAyNyBpcyBub3Qgc2V0CiBDT05GSUdfUFhBMjd4PXkKKyMgQ09ORklHX1BYQV9QV00gaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKIAogIwogIyBQcm9jZXNzb3IgVHlwZQpAQCAtMTYxLDYgKzIwMSw3IEBACiBDT05GSUdfQ1BVX1hTQ0FMRT15CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKIENPTkZJR19DUFVfVExCX1Y0V0JJPXkKIENPTkZJR19DUFVfQ1AxNT15CkBAIC0xODIsMjEgKzIyMyw0MCBAQAogQ09ORklHX1BDSV9TWVNDQUxMPXkKIENPTkZJR19QQ0lfSE9TVF9JVEU4MTUyPXkKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lfTEVHQUNZPXkKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUENDQVJEPW0KKyMgQ09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUENNQ0lBPW0KK0NPTkZJR19QQ01DSUFfTE9BRF9DSVM9eQorQ09ORklHX1BDTUNJQV9JT0NUTD15CitDT05GSUdfQ0FSREJVUz15CiAKICMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAorIyBQQy1jYXJkIGJyaWRnZXMKICMKLSMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CitDT05GSUdfWUVOVEE9bQorIyBDT05GSUdfWUVOVEFfTzIgaXMgbm90IHNldAorIyBDT05GSUdfWUVOVEFfUklDT0ggaXMgbm90IHNldAorQ09ORklHX1lFTlRBX1RJPXkKKyMgQ09ORklHX1lFTlRBX0VORV9UVU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1lFTlRBX1RPU0hJQkEgaXMgbm90IHNldAorIyBDT05GSUdfUEQ2NzI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0k4MjA5MiBpcyBub3Qgc2V0CitDT05GSUdfUENNQ0lBX1BYQTJYWD1tCitDT05GSUdfUENDQVJEX05PTlNUQVRJQz1tCiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCi0jIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CitDT05GSUdfQUVBQkk9eQorQ09ORklHX09BQklfQ09NUEFUPXkKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpAQCAtMjA1LDYgKzI2NSw4IEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKQEAgLTIxNywxMSArMjc5LDE2IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0icm9vdD0xZjAzIG1lbT0zMk0iCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIAogIworIyBDUFUgRnJlcXVlbmN5IHNjYWxpbmcKKyMKKyMgQ09ORklHX0NQVV9GUkVRIGlzIG5vdCBzZXQKKworIwogIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KICMKIApAQCAtMjM4LDE2ICszMDUsMTcgQEAKIENPTkZJR19CSU5GTVRfRUxGPXkKICMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSVEhVUiBpcyBub3Qgc2V0CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkQ9eQorQ09ORklHX1NVU1BFTkRfRlJFRVpFUj15CitDT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNTgsMTUgKzMyNiwxNiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CkBAIC0yNzUsNiArMzQ0LDcgQEAKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4NSwxNSArMzU1LDEzIEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMCwxMCArMzc4LDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIxLDggKzM4NSwzMyBAQAogIwogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVCBpcyBub3Qgc2V0CitDT05GSUdfQlQ9bQorQ09ORklHX0JUX0wyQ0FQPW0KK0NPTkZJR19CVF9TQ089bQorQ09ORklHX0JUX1JGQ09NTT1tCisjIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKK0NPTkZJR19CVF9CTkVQPW0KKyMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19CVF9ISURQPW0KKworIworIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKKyMKK0NPTkZJR19CVF9IQ0lVU0I9bQorQ09ORklHX0JUX0hDSVVTQl9TQ089eQorIyBDT05GSUdfQlRfSENJQlRTRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSVVBUlQgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQkNNMjAzWCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCUEExMFggaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQkZVU0IgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJRFRMMSBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCVDNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJMVUVDQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJUVUFSVCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzMxLDEyICs0MjAsNyBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogQ09ORklHX1dJUkVMRVNTX0VYVD15CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCkBAIC0zNDcsMzggKzQzMSw0NyBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CitDT05GSUdfRldfTE9BREVSPW0KICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKLUNPTkZJR19NVEQ9bQorQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKICMKLUNPTkZJR19NVERfQ0hBUj1tCi1DT05GSUdfTVREX0JMS0RFVlM9bQotQ09ORklHX01URF9CTE9DSz1tCi0jIENPTkZJR19NVERfQkxPQ0tfUk8gaXMgbm90IHNldAorQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKICMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKK0NPTkZJR19NVERfSkVERUNQUk9CRT15CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9HRU9NRVRSWSBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC0zODksMTUgKzQ4MiwyOSBAQAogQ09ORklHX01URF9DRklfSTI9eQogIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorQ09ORklHX01URF9DRklfQU1EU1REPXkKK0NPTkZJR19NVERfQ0ZJX1NUQUE9eQorQ09ORklHX01URF9DRklfVVRJTD15CiAjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfWElQIGlzIG5vdCBzZXQKIAogIwogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDQwMDAwMAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0yCitDT05GSUdfTVREX1BYQTJYWD15CisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lNUEE3IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU5URUxfVlJfTk9SIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwpAQCAtNDE1LDE4ICs1MjIsMTkgQEAKICMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkQ9bQorQ09ORklHX01URF9OQU5EPXkKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0lEUz1tCitDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9DQUZFIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9DTV9YMjcwPW0KK0NPTkZJR19NVERfTkFORF9DTV9YMjcwPXkKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCkBAIC00NDcsMzYgKzU1NSwxMyBAQAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9SQU09eQogQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CitDT05GSUdfQkxLX0RFVl9SQU1fU0laRT00MDk2CisjIENPTkZJR19CTEtfREVWX1hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPW0KLUNPTkZJR19JREVfTUFYX0hXSUZTPTQKLUNPTkZJR19CTEtfREVWX0lERT1tCi0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9bQotIyBDT05GSUdfSURFRElTS19NVUxUSV9NT0RFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUNEPW0KLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi0jIENPTkZJR19JREVfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVQQ0lfUENJQlVTX09SREVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVETUEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNDg2LDcgKzU3MSw3IEBACiBDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTEzLDEyICs1OTgsOSBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0CkBAIC01MjksNiArNjExLDcgQEAKICMgQ09ORklHX1NDU0lfQUlDNzlYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQURWQU5TWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTkVXR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qgc2V0CkBAIC01MzksOCArNjIyLDEwIEBACiAjIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9NVlNBUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQKQEAgLTU1MCwxNiArNjM1LDY5IEBACiAjIENPTkZJR19TQ1NJX05TUDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAotIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUxfUENNQ0lBIGlzIG5vdCBzZXQKK0NPTkZJR19BVEE9bQorIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUE1QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfQUhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9QSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CisjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9FRkFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gyTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0pNSUNST04gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CitDT05GSUdfUEFUQV9QQ01DSUE9bQorIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDMTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUERDMjAyN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUExBVEZPUk0gaXMgbm90IHNldAogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKICMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CkBAIC01NzQsNiArNzEyLDcgQEAKICMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CkBAIC01ODUsNjQgKzcyNCw2NSBAQAogIyBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CiBDT05GSUdfRE05MDAwPXkKK0NPTkZJR19ETTkwMDBfREVCVUdMRVZFTD0xCiAjIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9UVUxJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogQ09ORklHX05FVF9QQ0k9eQogIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKICMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19GT1JDRURFVEggaXMgbm90IHNldAotIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0Ci1DT05GSUdfODEzOVRPTz1tCitDT05GSUdfODEzOVRPTz15CiAjIENPTkZJR184MTM5VE9PX1BJTyBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5VE9PX1RVTkVfVFdJU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAogIyBDT05GSUdfODEzOV9PTERfUlhfUkVTRVQgaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldAogIyBDT05GSUdfVExBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19WSUFfUkhJTkUgaXMgbm90IHNldAogIyBDT05GSUdfU0M5MjAzMSBpcyBub3Qgc2V0Ci1DT05GSUdfTkVUREVWXzEwMDA9eQotIyBDT05GSUdfQUNFTklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RMMksgaXMgbm90IHNldAotIyBDT05GSUdfRTEwMDAgaXMgbm90IHNldAotIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SODE2OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSVMxOTAgaXMgbm90IHNldAotIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TS1kyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19USUdPTjMgaXMgbm90IHNldAotIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUTDEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwMD15Ci0jIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TMklPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAotIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKICMgV2lyZWxlc3MgTEFOCiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorQ09ORklHX1dMQU5fODAyMTE9eQorIyBDT05GSUdfUENNQ0lBX1JBWUNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjIwMCBpcyBub3Qgc2V0CitDT05GSUdfTElCRVJUQVM9bQorIyBDT05GSUdfTElCRVJUQVNfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkVSVEFTX0NTIGlzIG5vdCBzZXQKK0NPTkZJR19MSUJFUlRBU19TRElPPW0KKyMgQ09ORklHX0xJQkVSVEFTX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFUk1FUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE1FTCBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9XTDM1MDEgaXMgbm90IHNldAorIyBDT05GSUdfUFJJU001NCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ORVRfUk5ESVNfV0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19IT1NUQVAgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC02NTEsMTUgKzc5MSwyNCBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QQ01DSUEgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZEREkgaXMgbm90IHNldAogIyBDT05GSUdfSElQUEkgaXMgbm90IHNldAotIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKK0NPTkZJR19QUFA9bQorQ09ORklHX1BQUF9NVUxUSUxJTks9eQorQ09ORklHX1BQUF9GSUxURVI9eQorQ09ORklHX1BQUF9BU1lOQz1tCisjIENPTkZJR19QUFBfU1lOQ19UVFkgaXMgbm90IHNldAorQ09ORklHX1BQUF9ERUZMQVRFPW0KK0NPTkZJR19QUFBfQlNEQ09NUD1tCisjIENPTkZJR19QUFBfTVBQRSBpcyBub3Qgc2V0CisjIENPTkZJR19QUFBPRSBpcyBub3Qgc2V0CisjIENPTkZJR19QUFBPTDJUUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKK0NPTkZJR19TTEhDPW0KICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldApAQCAtNjc1LDIwICs4MjQsMzIgQEAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwotIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX01PVVNFREVWPXkKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAorQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BUE1QT1dFUiBpcyBub3Qgc2V0CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKICMKLSMgQ09ORklHX0lOUFVUX0tFWUJPQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9LRVlCT0FSRD15CitDT05GSUdfS0VZQk9BUkRfQVRLQkQ9eQorIyBDT05GSUdfS0VZQk9BUkRfU1VOS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWUJPQVJEX0xLS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CisjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0CitDT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KKyMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldApAQCAtNjk3LDEzICs4NTgsMjIgQEAKICMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAogQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDA9bQorQ09ORklHX1RPVUNIU0NSRUVOX1dNOTdYWD1tCisjIENPTkZJR19UT1VDSFNDUkVFTl9XTTk3MDUgaXMgbm90IHNldAorQ09ORklHX1RPVUNIU0NSRUVOX1dNOTcxMj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9XTTk3MTMgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fV005N1hYX01BSU5TVE9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorQ09ORklHX1NFUklPPXkKKyMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU9fUENJUFMyIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJT19MSUJQUzI9eQorIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNzEzLDcgKzg4Myw5IEBACiBDT05GSUdfVlRfQ09OU09MRT15CiBDT05GSUdfSFdfQ09OU09MRT15CiAjIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKQEAgLTczMCw4MyArOTAyLDE0MSBAQAogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAorCisjCisjIFBDTUNJQSBjaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfU1lOQ0xJTktfQ1MgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDA0MCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFdJUkVMRVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiBDT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9bQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1NjMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1EODExMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgwMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CitDT05GSUdfSTJDX1BYQT15CisjIENPTkZJR19JMkNfUFhBX1NMQVZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RQUzY1MDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9HUElPX0xJQj15CisKKyMKKyMgR1BJTyBTdXBwb3J0CisjCisjIENPTkZJR19ERUJVR19HUElPIGlzIG5vdCBzZXQKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19HUElPX1BDQTk1M1ggaXMgbm90IHNldAorIyBDT05GSUdfR1BJT19QQ0Y4NTdYIGlzIG5vdCBzZXQKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAotQ09ORklHX01JU0NfREVWSUNFUz15Ci0jIENPTkZJR19QSEFOVE9NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLUNPTkZJR19ORVdfTEVEUz15Ci1DT05GSUdfTEVEU19DTEFTUz15Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLUNPTkZJR19MRURTX0NNX1gyNzA9eQotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0Ci1DT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotQ09ORklHX0RBQj15Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIwotIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKIENPTkZJR19GQj15CiAjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CiBDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKIENPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQogQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAogQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKICMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldApAQCAtODQyLDkgKzEwNzIsMTcgQEAKICMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAogQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QWEFfU01BUlRQQU5FTCBpcyBub3Qgc2V0CitDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlM9eQogQ09ORklHX0ZCX01CWD1tCisjIENPTkZJR19GQl9BTTIwMEVQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKQEAgLTkwNCwxMCArMTE0MiwxMiBAQAogIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FXMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQVpUMzMyOCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAogIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9PWFlHRU4gaXMgbm90IHNldAogIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKQEAgLTkzMiw2ICsxMTcyLDcgQEAKICMgQ09ORklHX1NORF9IREFfSU5URUwgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ISUZJRVIgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBzZXQKQEAgLTk0OSw2ICsxMTkwLDcgQEAKICMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJUVU9TTyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAogIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQUM5N19QT1dFUl9TQVZFIGlzIG5vdCBzZXQKQEAgLTk2NiwxOCArMTIwOCwzMyBAQAogIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0CiAKICMKKyMgUENNQ0lBIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9WWFBPQ0tFVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUERBVURJT0NGIGlzIG5vdCBzZXQKKworIwogIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0CiAjCiAjIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKIAogIworIyBBTFNBIFNvQyBhdWRpbyBmb3IgRnJlZXNjYWxlIFNPQ3MKKyMKKworIworIyBTb0MgQXVkaW8gZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQCisjCisKKyMKICMgT3BlbiBTb3VuZCBTeXN0ZW0KICMKICMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKIENPTkZJR19BQzk3X0JVUz1tCiBDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15Ci0jIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0hJRF9ERUJVRz15CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCkBAIC05OTIsNiArMTI0OSw3IEBACiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCkBAIC0xMDAwLDggKzEyNTgsOSBAQAogIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwpAQCAtMTAzMywxMyArMTI5MiwxNiBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA1MiwxMCArMTMxNCw2IEBACiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA4MCwxNCArMTMzOCw2IEBACiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKIENPTkZJR19NTUM9bQogIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKQEAgLTEwOTgsNiArMTM0OCw3IEBACiAjCiBDT05GSUdfTU1DX0JMT0NLPW0KIENPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKKyMgQ09ORklHX1NESU9fVUFSVCBpcyBub3Qgc2V0CiAKICMKICMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCkBAIC0xMTA1LDEwICsxMzU2LDIyIEBACiBDT05GSUdfTU1DX1BYQT1tCiAjIENPTkZJR19NTUNfU0RIQ0kgaXMgbm90IHNldAogIyBDT05GSUdfTU1DX1RJRk1fU0QgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgTEVEIGRyaXZlcnMKICMKKyMgQ09ORklHX0xFRFNfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19DTV9YMjcwPXkKKworIworIyBMRUQgVHJpZ2dlcnMKKyMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKIENPTkZJR19SVENfSENUT1NZUz15CkBAIC0xMTI1LDExICsxMzg4LDMyIEBACiAjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCisjIEkyQyBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisKKyMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKIENPTkZJR19SVENfRFJWX1YzMDIwPXkKQEAgLTExMzgsMTkgKzE0MjIsNyBAQAogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKIENPTkZJR19SVENfRFJWX1NBMTEwMD15Ci0KLSMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKLQotIwotIyBETUEgQ2xpZW50cwotIwotCi0jCi0jIERNQSBEZXZpY2VzCi0jCisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtMTE2NCwyMCArMTQzNiwxNiBAQAogIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTExOTEsOSArMTQ1OSw5IEBACiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKLUNPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKLUNPTkZJR19WRkFUX0ZTPXkKK0NPTkZJR19GQVRfRlM9bQorIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorQ09ORklHX1ZGQVRfRlM9bQogQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwogQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgogIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CkBAIC0xMjA3LDcgKzE0NzUsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTIyMCwyMiArMTQ4NywzMCBAQAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0pGRlMyX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEyNDUsOSArMTUyMCwxMyBAQAogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CitDT05GSUdfQ0lGUz1tCisjIENPTkZJR19DSUZTX1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlNfV0VBS19QV19IQVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGU19ERUJVRzIgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGU19FWFBFUklNRU5UQUwgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTUsMTUgKzE1MzQsMjcgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfT1NGX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BTUlHQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ19QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKLUNPTkZJR19OTFM9eQorIyBDT05GSUdfQlNEX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9TVUJQQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TVU5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX05MUz1tCiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKLUNPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKK0NPTkZJR19OTFNfQ09ERVBBR0VfNDM3PW0KICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKQEAgLTEyODcsNyArMTU3OCw3IEBACiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAotQ09ORklHX05MU19JU084ODU5XzE9eQorQ09ORklHX05MU19JU084ODU5XzE9bQogIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldApAQCAtMTMwMCw1MyArMTU5MSw1MiBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKK0NPTkZJR19OTFNfVVRGOD1tCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKK0NPTkZJR19GUkFNRV9XQVJOPTAKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NIRURfREVCVUc9eQorIyBDT05GSUdfU0NIRURfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQorIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQogQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTM1NSw1NSArMTY0NSw5NiBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCisjIENPTkZJR19DUllQVE9fTUFOQUdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0NCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19IVyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQotIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfQ0NJVFQ9bQogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CiAjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL01ha2VmaWxlIGIvYXJjaC9hcm0va2VybmVsL01ha2VmaWxlCmluZGV4IGFkNDU1ZmYuLmViOTA5MmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9rZXJuZWwvTWFrZWZpbGUKQEAgLTQsNiArNCwxMCBAQAogCiBBRkxBR1NfaGVhZC5vIDo9IC1EVEVYVF9PRkZTRVQ9JChURVhUX09GRlNFVCkKIAoraWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitDRkxBR1NfUkVNT1ZFX2Z0cmFjZS5vID0gLXBnCitlbmRpZgorCiAjIE9iamVjdCBmaWxlIGxpc3RzLgogCiBvYmoteQkJOj0gY29tcGF0Lm8gZW50cnktYXJtdi5vIGVudHJ5LWNvbW1vbi5vIGlycS5vIFwKQEAgLTE4LDYgKzIyLDcgQEAKIG9iai0kKENPTkZJR19JU0FfRE1BKQkJKz0gZG1hLWlzYS5vCiBvYmotJChDT05GSUdfUENJKQkJKz0gYmlvczMyLm8gaXNhLm8KIG9iai0kKENPTkZJR19TTVApCQkrPSBzbXAubworb2JqLSQoQ09ORklHX0RZTkFNSUNfRlRSQUNFKQkrPSBmdHJhY2Uubwogb2JqLSQoQ09ORklHX0tFWEVDKQkJKz0gbWFjaGluZV9rZXhlYy5vIHJlbG9jYXRlX2tlcm5lbC5vCiBvYmotJChDT05GSUdfS1BST0JFUykJCSs9IGtwcm9iZXMubyBrcHJvYmVzLWRlY29kZS5vCiBvYmotJChDT05GSUdfQVRBR1NfUFJPQykJKz0gYXRhZ3MubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2FybWtzeW1zLmMgYi9hcmNoL2FybS9rZXJuZWwvYXJta3N5bXMuYwppbmRleCA2ODhiN2IxLi5jYzdiMjQ2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvYXJta3N5bXMuYworKysgYi9hcmNoL2FybS9rZXJuZWwvYXJta3N5bXMuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogLyoKICAqIGxpYmdjYyBmdW5jdGlvbnMgLSBmdW5jdGlvbnMgdGhhdCBhcmUgdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZQpAQCAtMTgxLDMgKzE4Miw3IEBACiAjZW5kaWYKIAogRVhQT1JUX1NZTUJPTChjb3B5X3BhZ2UpOworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorRVhQT1JUX1NZTUJPTChtY291bnQpOworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvYXRhZ3MuYyBiL2FyY2gvYXJtL2tlcm5lbC9hdGFncy5jCmluZGV4IDY0YzQyMDguLjQyYTFhMTQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9hdGFncy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9hdGFncy5jCkBAIC0xLDUgKzEsNCBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KQEAgLTcsOSArNiw4IEBACiAKIHN0cnVjdCBidWZmZXIgewogCXNpemVfdCBzaXplOwotCWNoYXIgKmRhdGE7CisJY2hhciBkYXRhW107CiB9Owotc3RhdGljIHN0cnVjdCBidWZmZXIgdGFnc19idWZmZXI7CiAKIHN0YXRpYyBpbnQKIHJlYWRfYnVmZmVyKGNoYXIqIHBhZ2UsIGNoYXIqKiBzdGFydCwgb2ZmX3Qgb2ZmLCBpbnQgY291bnQsCkBAIC0yOSw1OCArMjcsNTcgQEAKIAlyZXR1cm4gY291bnQ7CiB9CiAKLQotc3RhdGljIGludAotY3JlYXRlX3Byb2NfZW50cmllcyh2b2lkKQotewotCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSogdGFnc19lbnRyeTsKLQotCXRhZ3NfZW50cnkgPSBjcmVhdGVfcHJvY19yZWFkX2VudHJ5KCJhdGFncyIsIDA0MDAsIE5VTEwsIHJlYWRfYnVmZmVyLCAmdGFnc19idWZmZXIpOwotCWlmICghdGFnc19lbnRyeSkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgY2hhciBfX2luaXRkYXRhIGF0YWdzX2NvcHlfYnVmW0tFWEVDX0JPT1RfUEFSQU1TX1NJWkVdOwotc3RhdGljIGNoYXIgX19pbml0ZGF0YSAqYXRhZ3NfY29weTsKKyNkZWZpbmUgQk9PVF9QQVJBTVNfU0laRSAxNTM2CitzdGF0aWMgY2hhciBfX2luaXRkYXRhIGF0YWdzX2NvcHlbQk9PVF9QQVJBTVNfU0laRV07CiAKIHZvaWQgX19pbml0IHNhdmVfYXRhZ3MoY29uc3Qgc3RydWN0IHRhZyAqdGFncykKIHsKLQlhdGFnc19jb3B5ID0gYXRhZ3NfY29weV9idWY7Ci0JbWVtY3B5KGF0YWdzX2NvcHksIHRhZ3MsIEtFWEVDX0JPT1RfUEFSQU1TX1NJWkUpOworCW1lbWNweShhdGFnc19jb3B5LCB0YWdzLCBzaXplb2YoYXRhZ3NfY29weSkpOwogfQogCi0KIHN0YXRpYyBpbnQgX19pbml0IGluaXRfYXRhZ3NfcHJvY2ZzKHZvaWQpCiB7Ci0Jc3RydWN0IHRhZyAqdGFnOwotCWludCBlcnJvcjsKKwkvKgorCSAqIFRoaXMgY2Fubm90IGdvIGludG8gc2F2ZV9hdGFncygpIGJlY2F1c2Uga21hbGxvYyBhbmQgcHJvYyBkb24ndCB3b3JrCisJICogeWV0IHdoZW4gaXQgaXMgY2FsbGVkLgorCSAqLworCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqdGFnc19lbnRyeTsKKwlzdHJ1Y3QgdGFnICp0YWcgPSAoc3RydWN0IHRhZyAqKWF0YWdzX2NvcHk7CisJc3RydWN0IGJ1ZmZlciAqYjsKKwlzaXplX3Qgc2l6ZTsKIAotCWlmICghYXRhZ3NfY29weSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJFeHBvcnRpbmcgQVRBR3M6IE5vIHNhdmVkIHRhZ3MgZm91bmRcbiIpOwotCQlyZXR1cm4gLUVJTzsKKwlpZiAodGFnLT5oZHIudGFnICE9IEFUQUdfQ09SRSkgeworCQlwcmludGsoS0VSTl9JTkZPICJObyBBVEFHcz8iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JZm9yICh0YWcgPSAoc3RydWN0IHRhZyAqKSBhdGFnc19jb3B5OyB0YWctPmhkci5zaXplOyB0YWcgPSB0YWdfbmV4dCh0YWcpKQorCWZvciAoOyB0YWctPmhkci5zaXplOyB0YWcgPSB0YWdfbmV4dCh0YWcpKQogCQk7CiAKLQl0YWdzX2J1ZmZlci5zaXplID0gKChjaGFyICopIHRhZyAtIGF0YWdzX2NvcHkpICsgc2l6ZW9mKHRhZy0+aGRyKTsKLQl0YWdzX2J1ZmZlci5kYXRhID0ga21hbGxvYyh0YWdzX2J1ZmZlci5zaXplLCBHRlBfS0VSTkVMKTsKLQlpZiAodGFnc19idWZmZXIuZGF0YSA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKLQltZW1jcHkodGFnc19idWZmZXIuZGF0YSwgYXRhZ3NfY29weSwgdGFnc19idWZmZXIuc2l6ZSk7CisJLyogaW5jbHVkZSB0aGUgdGVybWluYXRpbmcgQVRBR19OT05FICovCisJc2l6ZSA9IChjaGFyICopdGFnIC0gYXRhZ3NfY29weSArIHNpemVvZihzdHJ1Y3QgdGFnX2hlYWRlcik7CiAKLQllcnJvciA9IGNyZWF0ZV9wcm9jX2VudHJpZXMoKTsKLQlpZiAoZXJyb3IpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJFeHBvcnRpbmcgQVRBR3M6IG5vdCBlbm91Z2ggbWVtb3J5XG4iKTsKLQkJa2ZyZWUodGFnc19idWZmZXIuZGF0YSk7Ci0JCXRhZ3NfYnVmZmVyLnNpemUgPSAwOwotCQl0YWdzX2J1ZmZlci5kYXRhID0gTlVMTDsKLQl9CisJV0FSTl9PTih0YWctPmhkci50YWcgIT0gQVRBR19OT05FKTsKIAotCXJldHVybiBlcnJvcjsKKwliID0ga21hbGxvYyhzaXplb2YoKmIpICsgc2l6ZSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFiKQorCQlnb3RvIG5vbWVtOworCisJYi0+c2l6ZSA9IHNpemU7CisJbWVtY3B5KGItPmRhdGEsIGF0YWdzX2NvcHksIHNpemUpOworCisJdGFnc19lbnRyeSA9IGNyZWF0ZV9wcm9jX3JlYWRfZW50cnkoImF0YWdzIiwgMDQwMCwKKwkJCU5VTEwsIHJlYWRfYnVmZmVyLCBiKTsKKworCWlmICghdGFnc19lbnRyeSkKKwkJZ290byBub21lbTsKKworCXJldHVybiAwOworCitub21lbToKKwlrZnJlZShiKTsKKwlwcmludGsoS0VSTl9FUlIgIkV4cG9ydGluZyBBVEFHczogbm90IGVub3VnaCBtZW1vcnlcbiIpOworCisJcmV0dXJuIC1FTk9NRU07CiB9Ci0KIGFyY2hfaW5pdGNhbGwoaW5pdF9hdGFnc19wcm9jZnMpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2VjYXJkLmMgYi9hcmNoL2FybS9rZXJuZWwvZWNhcmQuYwppbmRleCBhNTNjMGFiLi44YmZkMjk5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvZWNhcmQuYworKysgYi9hcmNoL2FybS9rZXJuZWwvZWNhcmQuYwpAQCAtNjgwLDcgKzY4MCw3IEBACiAjZGVmaW5lIElPX0VDX01FTUM4X0JBU0UgMAogI2VuZGlmCiAKLXVuc2lnbmVkIGludCBfX2VjYXJkX2FkZHJlc3MoZWNhcmRfdCAqZWMsIGNhcmRfdHlwZV90IHR5cGUsIGNhcmRfc3BlZWRfdCBzcGVlZCkKK3N0YXRpYyB1bnNpZ25lZCBpbnQgX19lY2FyZF9hZGRyZXNzKGVjYXJkX3QgKmVjLCBjYXJkX3R5cGVfdCB0eXBlLCBjYXJkX3NwZWVkX3Qgc3BlZWQpCiB7CiAJdW5zaWduZWQgbG9uZyBhZGRyZXNzID0gMDsKIAlpbnQgc2xvdCA9IGVjLT5zbG90X25vOwpAQCAtMTAwMiw3ICsxMDAyLDcgQEAKIAl9CiAKIAlyYyA9IC1FTk9ERVY7Ci0JaWYgKChlYy0+cG9kYWRkciA9IGVjYXJkX2FkZHJlc3MoZWMsIHR5cGUsIEVDQVJEX1NZTkMpKSA9PSAwKQorCWlmICgoZWMtPnBvZGFkZHIgPSBfX2VjYXJkX2FkZHJlc3MoZWMsIHR5cGUsIEVDQVJEX1NZTkMpKSA9PSAwKQogCQlnb3RvIG5vZGV2OwogCiAJY2lkLnJfemVybyA9IDE7CkBAIC0xMTQxLDEwICsxMTQxLDEwIEBACiAKIAlpZCA9IGVjYXJkX21hdGNoX2RldmljZShkcnYtPmlkX3RhYmxlLCBlYyk7CiAKLQllY2FyZF9jbGFpbShlYyk7CisJZWMtPmNsYWltZWQgPSAxOwogCXJldCA9IGRydi0+cHJvYmUoZWMsIGlkKTsKIAlpZiAocmV0KQotCQllY2FyZF9yZWxlYXNlKGVjKTsKKwkJZWMtPmNsYWltZWQgPSAwOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTExNTQsNyArMTE1NCw3IEBACiAJc3RydWN0IGVjYXJkX2RyaXZlciAqZHJ2ID0gRUNBUkRfRFJWKGRldi0+ZHJpdmVyKTsKIAogCWRydi0+cmVtb3ZlKGVjKTsKLQllY2FyZF9yZWxlYXNlKGVjKTsKKwllYy0+Y2xhaW1lZCA9IDA7CiAKIAkvKgogCSAqIFJlc3RvcmUgdGhlIGRlZmF1bHQgb3BlcmF0aW9ucy4gIFdlIGVuc3VyZSB0aGF0IHRoZQpAQCAtMTE4Miw3ICsxMTgyLDcgQEAKIAlpZiAoZGV2LT5kcml2ZXIpIHsKIAkJaWYgKGRydi0+c2h1dGRvd24pCiAJCQlkcnYtPnNodXRkb3duKGVjKTsKLQkJZWNhcmRfcmVsZWFzZShlYyk7CisJCWVjLT5jbGFpbWVkID0gMDsKIAl9CiAKIAkvKgpAQCAtMTIzOSw3ICsxMjM5LDYgQEAKIHBvc3Rjb3JlX2luaXRjYWxsKGVjYXJkX2J1c19pbml0KTsKIAogRVhQT1JUX1NZTUJPTChlY2FyZF9yZWFkY2h1bmspOwotRVhQT1JUX1NZTUJPTChfX2VjYXJkX2FkZHJlc3MpOwogRVhQT1JUX1NZTUJPTChlY2FyZF9yZWdpc3Rlcl9kcml2ZXIpOwogRVhQT1JUX1NZTUJPTChlY2FyZF9yZW1vdmVfZHJpdmVyKTsKIEVYUE9SVF9TWU1CT0woZWNhcmRfYnVzX3R5cGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2VjYXJkLmggYi9hcmNoL2FybS9rZXJuZWwvZWNhcmQuaAppbmRleCBkN2MyZGFjLi40NjQyZDQzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvZWNhcmQuaAorKysgYi9hcmNoL2FybS9rZXJuZWwvZWNhcmQuaApAQCAtNTQsMyArNTQsMTYgQEAKICNkZWZpbmUgY19sZW4oeCkJKCh4KS0+cl9sZW5bMF18KCh4KS0+cl9sZW5bMV08PDgpfCgoeCktPnJfbGVuWzJdPDwxNikpCiAjZGVmaW5lIGNfc3RhcnQoeCkJKCh4KS0+cl9zdGFydCkKIH07CisKK3R5cGVkZWYgZW51bSBlY2FyZF90eXBlIHsJCS8qIENhcmRzIGFkZHJlc3Mgc3BhY2UJCSovCisJRUNBUkRfSU9DLAorCUVDQVJEX01FTUMsCisJRUNBUkRfRUFTSQorfSBjYXJkX3R5cGVfdDsKKwordHlwZWRlZiBlbnVtIHsJCQkJLyogU3BlZWQgZm9yIEVDQVJEX0lPQyBzcGFjZQkqLworCUVDQVJEX1NMT1cJID0gMCwKKwlFQ0FSRF9NRURJVU0JID0gMSwKKwlFQ0FSRF9GQVNUCSA9IDIsCisJRUNBUkRfU1lOQwkgPSAzCit9IGNhcmRfc3BlZWRfdDsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUyBiL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUwppbmRleCA1OTdlZDAwLi44NDY5NGU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvZW50cnktY29tbW9uLlMKKysrIGIvYXJjaC9hcm0va2VybmVsL2VudHJ5LWNvbW1vbi5TCkBAIC05LDYgKzksNyBAQAogICovCiAKICNpbmNsdWRlIDxhc20vdW5pc3RkLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2VudHJ5LW1hY3JvLlM+CiAKICNpbmNsdWRlICJlbnRyeS1oZWFkZXIuUyIKQEAgLTk5LDYgKzEwMCw1NiBAQAogI3VuZGVmIENBTEwKICNkZWZpbmUgQ0FMTCh4KSAubG9uZyB4CiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitFTlRSWShtY291bnQpCisJc3RtZGIgc3AhLCB7cjAtcjMsIGxyfQorCW1vdiByMCwgbHIKKwlzdWIgcjAsIHIwLCAjTUNPVU5UX0lOU05fU0laRQorCisJLmdsb2JsIG1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwlibCBmdHJhY2Vfc3R1YgorCWxkbWlhIHNwISwge3IwLXIzLCBwY30KKworRU5UUlkoZnRyYWNlX2NhbGxlcikKKwlzdG1kYiBzcCEsIHtyMC1yMywgbHJ9CisJbGRyIHIxLCBbZnAsICMtNF0KKwltb3YgcjAsIGxyCisJc3ViIHIwLCByMCwgI01DT1VOVF9JTlNOX1NJWkUKKworCS5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJYmwgZnRyYWNlX3N0dWIKKwlsZG1pYSBzcCEsIHtyMC1yMywgcGN9CisKKyNlbHNlCisKK0VOVFJZKG1jb3VudCkKKwlzdG1kYiBzcCEsIHtyMC1yMywgbHJ9CisJbGRyIHIwLCA9ZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisJbGRyIHIyLCBbcjBdCisJYWRyIHIwLCBmdHJhY2Vfc3R1YgorCWNtcCByMCwgcjIKKwlibmUgdHJhY2UKKwlsZG1pYSBzcCEsIHtyMC1yMywgcGN9CisKK3RyYWNlOgorCWxkciByMSwgW2ZwLCAjLTRdCisJbW92IHIwLCBscgorCXN1YiByMCwgcjAsICNNQ09VTlRfSU5TTl9TSVpFCisJbW92IGxyLCBwYworCW1vdiBwYywgcjIKKwlsZG1pYSBzcCEsIHtyMC1yMywgcGN9CisKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworCS5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJbW92IHBjLCBscgorCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgKiBTV0kgaGFuZGxlcgogICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9hcm0va2VybmVsL2Z0cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2ZDUwZTYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9rZXJuZWwvZnRyYWNlLmMKQEAgLTAsMCArMSwxMTYgQEAKKy8qCisgKiBEeW5hbWljIGZ1bmN0aW9uIHRyYWNpbmcgc3VwcG9ydC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQWJoaXNoZWsgU2FnYXIgPHNhZ2FyLmFiaGlzaGVrQGdtYWlsLmNvbT4KKyAqCisgKiBGb3IgbGljZW5jaW5nIGRldGFpbHMsIHNlZSBDT1BZSU5HLgorICoKKyAqIERlZmluZXMgbG93LWxldmVsIGhhbmRsaW5nIG9mIG1jb3VudCBjYWxscyB3aGVuIHRoZSBrZXJuZWwKKyAqIGlzIGNvbXBpbGVkIHdpdGggdGhlIC1wZyBmbGFnLiBXaGVuIHVzaW5nIGR5bmFtaWMgZnRyYWNlLCB0aGUKKyAqIG1jb3VudCBjYWxsLXNpdGVzIGdldCBwYXRjaGVkIGxhemlseSB3aXRoIE5PUCB0aWxsIHRoZXkgYXJlCisgKiBlbmFibGVkLiBBbGwgY29kZSBtdXRhdGlvbiByb3V0aW5lcyBoZXJlIHRha2UgZWZmZWN0IGF0b21pY2FsbHkuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorCisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKyNkZWZpbmUgUENfT0ZGU0VUICAgICAgOAorI2RlZmluZSBCTF9PUENPREUgICAgICAweGViMDAwMDAwCisjZGVmaW5lIEJMX09GRlNFVF9NQVNLIDB4MDBmZmZmZmYKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgYmxfaW5zbjsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIE5PUCA9IDB4ZTFhMDAwMDA7IC8qIG1vdiByMCwgcjAgKi8KKwordW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpCit7CisJcmV0dXJuIChjaGFyICopJk5PUDsKK30KKworLyogY29uc3RydWN0IGEgYnJhbmNoIChCTCkgaW5zdHJ1Y3Rpb24gdG8gYWRkciAqLwordW5zaWduZWQgY2hhciAqZnRyYWNlX2NhbGxfcmVwbGFjZSh1bnNpZ25lZCBsb25nIHBjLCB1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJbG9uZyBvZmZzZXQ7CisKKwlvZmZzZXQgPSAobG9uZylhZGRyIC0gKGxvbmcpKHBjICsgUENfT0ZGU0VUKTsKKwlpZiAodW5saWtlbHkob2Zmc2V0IDwgLTMzNTU0NDMyIHx8IG9mZnNldCA+IDMzNTU0NDI4KSkgeworCQkvKiBDYW4ndCBnZW5lcmF0ZSBicmFuY2hlcyB0aGF0IGZhciAoZnJvbSBBUk0gQVJNKS4gRnRyYWNlCisJCSAqIGRvZXNuJ3QgZ2VuZXJhdGUgYnJhbmNoZXMgb3V0c2lkZSBvZiBrZXJuZWwgdGV4dC4KKwkJICovCisJCVdBUk5fT05fT05DRSgxKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCW9mZnNldCA9IChvZmZzZXQgPj4gMikgJiBCTF9PRkZTRVRfTUFTSzsKKwlibF9pbnNuID0gQkxfT1BDT0RFIHwgb2Zmc2V0OworCXJldHVybiAodW5zaWduZWQgY2hhciAqKSZibF9pbnNuOworfQorCitpbnQgZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgcGMsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICAgICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdW5zaWduZWQgbG9uZyBlcnIgPSAwLCByZXBsYWNlZCA9IDAsIG9sZCwgbmV3OworCisJb2xkID0gKih1bnNpZ25lZCBsb25nICopb2xkX2NvZGU7CisJbmV3ID0gKih1bnNpZ25lZCBsb25nICopbmV3X2NvZGU7CisKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCisJCSIxOiAgbGRyICAgICUxLCBbJTJdICBcbiIKKwkJIiAgICBjbXAgICAgJTEsICU0ICAgIFxuIgorCQkiMjogIHN0cmVxICAlMywgWyUyXSAgXG4iCisJCSIgICAgY21wbmUgICUxLCAlMyAgICBcbiIKKwkJIiAgICBtb3ZuZSAgJTAsICMyICAgIFxuIgorCQkiMzpcbiIKKworCQkiLnNlY3Rpb24gLmZpeHVwLCBcImF4XCJcbiIKKwkJIjQ6ICBtb3YgICUwLCAjMSAgXG4iCisJCSIgICAgYiAgICAzYiAgICAgIFxuIgorCQkiLnByZXZpb3VzXG4iCisKKwkJIi5zZWN0aW9uIF9fZXhfdGFibGUsIFwiYVwiXG4iCisJCSIgICAgLmxvbmcgMWIsIDRiIFxuIgorCQkiICAgIC5sb25nIDJiLCA0YiBcbiIKKwkJIi5wcmV2aW91c1xuIgorCisJCTogIj1yIihlcnIpLCAiPXIiKHJlcGxhY2VkKQorCQk6ICJyIihwYyksICJyIihuZXcpLCAiciIob2xkKSwgIjAiKGVyciksICIxIihyZXBsYWNlZCkKKwkJOiAibWVtb3J5Iik7CisKKwlpZiAoIWVyciAmJiAocmVwbGFjZWQgPT0gb2xkKSkKKwkJZmx1c2hfaWNhY2hlX3JhbmdlKHBjLCBwYyArIE1DT1VOVF9JTlNOX1NJWkUpOworCisJcmV0dXJuIGVycjsKK30KKworaW50IGZ0cmFjZV91cGRhdGVfZnRyYWNlX2Z1bmMoZnRyYWNlX2Z1bmNfdCBmdW5jKQoreworCWludCByZXQ7CisJdW5zaWduZWQgbG9uZyBwYywgb2xkOworCXVuc2lnbmVkIGNoYXIgKm5ldzsKKworCXBjID0gKHVuc2lnbmVkIGxvbmcpJmZ0cmFjZV9jYWxsOworCW1lbWNweSgmb2xkLCAmZnRyYWNlX2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UocGMsICh1bnNpZ25lZCBsb25nKWZ1bmMpOworCXJldCA9IGZ0cmFjZV9tb2RpZnlfY29kZShwYywgKHVuc2lnbmVkIGNoYXIgKikmb2xkLCBuZXcpOworCXJldHVybiByZXQ7Cit9CisKK2ludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgcGMsIG9sZDsKKwl1bnNpZ25lZCBsb25nICphZGRyID0gZGF0YTsKKwl1bnNpZ25lZCBjaGFyICpuZXc7CisKKwlwYyA9ICh1bnNpZ25lZCBsb25nKSZtY291bnRfY2FsbDsKKwltZW1jcHkoJm9sZCwgJm1jb3VudF9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKHBjLCAqYWRkcik7CisJKmFkZHIgPSBmdHJhY2VfbW9kaWZ5X2NvZGUocGMsICh1bnNpZ25lZCBjaGFyICopJm9sZCwgbmV3KTsKKwlyZXR1cm4gMDsKK30KKworLyogcnVuIGZyb20ga3N0b3BfbWFjaGluZSAqLworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2twcm9iZXMuYyBiL2FyY2gvYXJtL2tlcm5lbC9rcHJvYmVzLmMKaW5kZXggNTU5M2RkMi4uNWVlMzllMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2twcm9iZXMuYworKysgYi9hcmNoL2FybS9rZXJuZWwva3Byb2Jlcy5jCkBAIC0yNzQsNyArMjc0LDcgQEAKICAqIGZvciBrcmV0cHJvYmUgaGFuZGxlcnMgd2hpY2ggc2hvdWxkIG5vcm1hbGx5IGJlIGludGVyZXN0ZWQgaW4gcjAgb25seQogICogYW55d2F5LgogICovCi1zdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChuYWtlZCkpIF9fa3Byb2JlcyBrcmV0cHJvYmVfdHJhbXBvbGluZSh2b2lkKQordm9pZCBfX25ha2VkIF9fa3Byb2JlcyBrcmV0cHJvYmVfdHJhbXBvbGluZSh2b2lkKQogewogCV9fYXNtX18gX192b2xhdGlsZV9fICgKIAkJInN0bWRiCXNwISwge3IwIC0gcjExfQkJXG5cdCIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL2FybS9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IDQ2YmYyZWRlLi4xOTliMzY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMKQEAgLTEzMywxMCArMTMzLDggQEAKIAkJY3B1X3JlbGF4KCk7CiAJZWxzZSB7CiAJCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCWlmICghbmVlZF9yZXNjaGVkKCkpIHsKLQkJCXRpbWVyX2R5bl9yZXByb2dyYW0oKTsKKwkJaWYgKCFuZWVkX3Jlc2NoZWQoKSkKIAkJCWFyY2hfaWRsZSgpOwotCQl9CiAJCWxvY2FsX2lycV9lbmFibGUoKTsKIAl9CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvc21wLmMgYi9hcmNoL2FybS9rZXJuZWwvc21wLmMKaW5kZXggZWVmYWUxZC4uNWE3YzA5NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL3NtcC5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9zbXAuYwpAQCAtNjgsMjAgKzY4LDEwIEBACiAJSVBJX1RJTUVSLAogCUlQSV9SRVNDSEVEVUxFLAogCUlQSV9DQUxMX0ZVTkMsCisJSVBJX0NBTExfRlVOQ19TSU5HTEUsCiAJSVBJX0NQVV9TVE9QLAogfTsKIAotc3RydWN0IHNtcF9jYWxsX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JaW50IHdhaXQ7Ci0JY3B1bWFza190IHBlbmRpbmc7Ci0JY3B1bWFza190IHVuZmluaXNoZWQ7Ci19OwotCi1zdGF0aWMgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqIHZvbGF0aWxlIHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGE7Ci1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKHNtcF9jYWxsX2Z1bmN0aW9uX2xvY2spOwotCiBpbnQgX19jcHVpbml0IF9fY3B1X3VwKHVuc2lnbmVkIGludCBjcHUpCiB7CiAJc3RydWN0IGNwdWluZm9fYXJtICpjaSA9ICZwZXJfY3B1KGNwdV9kYXRhLCBjcHUpOwpAQCAtMzY2LDExNCArMzU2LDE1IEBACiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQogCi0vKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMsIGZyb20gYQotICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIsIG5vciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotc3RhdGljIGludCBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUodm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSAgICBpbnQgcmV0cnksIGludCB3YWl0LCBjcHVtYXNrX3QgY2FsbG1hcCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgZGF0YTsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Ci0JaW50IHJldCA9IDA7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQotCWNwdV9jbGVhcihzbXBfcHJvY2Vzc29yX2lkKCksIGNhbGxtYXApOwotCWlmIChjcHVzX2VtcHR5KGNhbGxtYXApKQotCQlnb3RvIG91dDsKLQotCWRhdGEucGVuZGluZyA9IGNhbGxtYXA7Ci0JaWYgKHdhaXQpCi0JCWRhdGEudW5maW5pc2hlZCA9IGNhbGxtYXA7Ci0KLQkvKgotCSAqIHRyeSB0byBnZXQgdGhlIG11dGV4IG9uIHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEKLQkgKi8KLQlzcGluX2xvY2soJnNtcF9jYWxsX2Z1bmN0aW9uX2xvY2spOwotCXNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgPSAmZGF0YTsKLQotCXNlbmRfaXBpX21lc3NhZ2UoY2FsbG1hcCwgSVBJX0NBTExfRlVOQyk7Ci0KLQl0aW1lb3V0ID0gamlmZmllcyArIEhaOwotCXdoaWxlICghY3B1c19lbXB0eShkYXRhLnBlbmRpbmcpICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKQotCQliYXJyaWVyKCk7Ci0KLQkvKgotCSAqIGRpZCB3ZSB0aW1lIG91dD8KLQkgKi8KLQlpZiAoIWNwdXNfZW1wdHkoZGF0YS5wZW5kaW5nKSkgewotCQkvKgotCQkgKiB0aGlzIG1heSBiZSBjYXVzaW5nIG91ciBwYW5pYyAtIHJlcG9ydCBpdAotCQkgKi8KLQkJcHJpbnRrKEtFUk5fQ1JJVAotCQkgICAgICAgIkNQVSV1OiBzbXBfY2FsbF9mdW5jdGlvbiB0aW1lb3V0IGZvciAlcCglcClcbiIKLQkJICAgICAgICIgICAgICBjYWxsbWFwICVseCBwZW5kaW5nICVseCwgJXN3YWl0XG4iLAotCQkgICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpLCBmdW5jLCBpbmZvLCAqY3B1c19hZGRyKGNhbGxtYXApLAotCQkgICAgICAgKmNwdXNfYWRkcihkYXRhLnBlbmRpbmcpLCB3YWl0ID8gIiIgOiAibm8gIik7Ci0KLQkJLyoKLQkJICogVFJBQ0UKLQkJICovCi0JCXRpbWVvdXQgPSBqaWZmaWVzICsgKDUgKiBIWik7Ci0JCXdoaWxlICghY3B1c19lbXB0eShkYXRhLnBlbmRpbmcpICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKQotCQkJYmFycmllcigpOwotCi0JCWlmIChjcHVzX2VtcHR5KGRhdGEucGVuZGluZykpCi0JCQlwcmludGsoS0VSTl9DUklUICIgICAgIFJFU09MVkVEXG4iKTsKLQkJZWxzZQotCQkJcHJpbnRrKEtFUk5fQ1JJVCAiICAgICBTVElMTCBTVFVDS1xuIik7Ci0JfQotCi0JLyoKLQkgKiB3aGF0ZXZlciBoYXBwZW5lZCwgd2UncmUgZG9uZSB3aXRoIHRoZSBkYXRhLCBzbyByZWxlYXNlIGl0Ci0JICovCi0Jc21wX2NhbGxfZnVuY3Rpb25fZGF0YSA9IE5VTEw7Ci0Jc3Bpbl91bmxvY2soJnNtcF9jYWxsX2Z1bmN0aW9uX2xvY2spOwotCi0JaWYgKCFjcHVzX2VtcHR5KGRhdGEucGVuZGluZykpIHsKLQkJcmV0ID0gLUVUSU1FRE9VVDsKLQkJZ290byBvdXQ7Ci0JfQotCi0JaWYgKHdhaXQpCi0JCXdoaWxlICghY3B1c19lbXB0eShkYXRhLnVuZmluaXNoZWQpKQotCQkJYmFycmllcigpOwotIG91dDoKLQotCXJldHVybiAwOworCXNlbmRfaXBpX21lc3NhZ2UobWFzaywgSVBJX0NBTExfRlVOQyk7CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCByZXRyeSwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQogewotCXJldHVybiBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoZnVuYywgaW5mbywgcmV0cnksIHdhaXQsCi0JCQkJCWNwdV9vbmxpbmVfbWFwKTsKKwlzZW5kX2lwaV9tZXNzYWdlKGNwdW1hc2tfb2ZfY3B1KGNwdSksIElQSV9DQUxMX0ZVTkNfU0lOR0xFKTsKIH0KLUVYUE9SVF9TWU1CT0xfR1BMKHNtcF9jYWxsX2Z1bmN0aW9uKTsKLQotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCB2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkgICAgIGludCByZXRyeSwgaW50IHdhaXQpCi17Ci0JLyogcHJldmVudCBwcmVlbXB0aW9uIGFuZCByZXNjaGVkdWxlIG9uIGFub3RoZXIgcHJvY2Vzc29yICovCi0JaW50IGN1cnJlbnRfY3B1ID0gZ2V0X2NwdSgpOwotCWludCByZXQgPSAwOwotCi0JaWYgKGNwdSA9PSBjdXJyZW50X2NwdSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JfSBlbHNlCi0JCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdShmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCwKLQkJCQkJICAgICAgIGNwdW1hc2tfb2ZfY3B1KGNwdSkpOwotCi0JcHV0X2NwdSgpOwotCi0JcmV0dXJuIHJldDsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSk7CiAKIHZvaWQgc2hvd19pcGlfbGlzdChzdHJ1Y3Qgc2VxX2ZpbGUgKnApCiB7CkBAIC01MjEsMjcgKzQxMiw2IEBACiB9CiAjZW5kaWYKIAotLyoKLSAqIGlwaV9jYWxsX2Z1bmN0aW9uIC0gaGFuZGxlIElQSSBmcm9tIHNtcF9jYWxsX2Z1bmN0aW9uKCkKLSAqCi0gKiBOb3RlIHRoYXQgd2UgY29weSBkYXRhIG91dCBvZiB0aGUgY3Jvc3MtY2FsbCBzdHJ1Y3R1cmUgYW5kIHRoZW4KLSAqIGxldCB0aGUgY2FsbGVyIGtub3cgdGhhdCB3ZSdyZSBoZXJlIGFuZCBoYXZlIGRvbmUgd2l0aCB0aGVpciBkYXRhCi0gKi8KLXN0YXRpYyB2b2lkIGlwaV9jYWxsX2Z1bmN0aW9uKHVuc2lnbmVkIGludCBjcHUpCi17Ci0Jc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqZGF0YSA9IHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGE7Ci0Jdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pID0gZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gZGF0YS0+aW5mbzsKLQlpbnQgd2FpdCA9IGRhdGEtPndhaXQ7Ci0KLQljcHVfY2xlYXIoY3B1LCBkYXRhLT5wZW5kaW5nKTsKLQotCWZ1bmMoaW5mbyk7Ci0KLQlpZiAod2FpdCkKLQkJY3B1X2NsZWFyKGNwdSwgZGF0YS0+dW5maW5pc2hlZCk7Ci19Ci0KIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc3RvcF9sb2NrKTsKIAogLyoKQEAgLTYxMSw3ICs0ODEsMTEgQEAKIAkJCQlicmVhazsKIAogCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgotCQkJCWlwaV9jYWxsX2Z1bmN0aW9uKGNwdSk7CisJCQkJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSBJUElfQ1BVX1NUT1A6CkBAIC02NjIsMTQgKzUzNiwxMyBAQAogfQogCiBzdGF0aWMgaW50Ci1vbl9lYWNoX2NwdV9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0LAotCQkgY3B1bWFza190IG1hc2spCitvbl9lYWNoX2NwdV9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLCBpbnQgd2FpdCwgY3B1bWFza190IG1hc2spCiB7CiAJaW50IHJldCA9IDA7CiAKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAotCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdShmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCwgbWFzayk7CisJcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhtYXNrLCBmdW5jLCBpbmZvLCB3YWl0KTsKIAlpZiAoY3B1X2lzc2V0KHNtcF9wcm9jZXNzb3JfaWQoKSwgbWFzaykpCiAJCWZ1bmMoaW5mbyk7CiAKQEAgLTczMSwxNCArNjA0LDE0IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfYWxsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2FsbCwgTlVMTCwgMSk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogewogCWNwdW1hc2tfdCBtYXNrID0gbW0tPmNwdV92bV9tYXNrOwogCi0Jb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX21tLCBtbSwgMSwgMSwgbWFzayk7CisJb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX21tLCBtbSwgMSwgbWFzayk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX3BhZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgdWFkZHIpCkBAIC03NDksNyArNjIyLDcgQEAKIAl0YS50YV92bWEgPSB2bWE7CiAJdGEudGFfc3RhcnQgPSB1YWRkcjsKIAotCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9wYWdlLCAmdGEsIDEsIDEsIG1hc2spOworCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9wYWdlLCAmdGEsIDEsIG1hc2spOwogfQogCiB2b2lkIGZsdXNoX3RsYl9rZXJuZWxfcGFnZSh1bnNpZ25lZCBsb25nIGthZGRyKQpAQCAtNzU4LDcgKzYzMSw3IEBACiAKIAl0YS50YV9zdGFydCA9IGthZGRyOwogCi0Jb25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9rZXJuZWxfcGFnZSwgJnRhLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2tlcm5lbF9wYWdlLCAmdGEsIDEpOwogfQogCiB2b2lkIGZsdXNoX3RsYl9yYW5nZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKQEAgLTc3MSw3ICs2NDQsNyBAQAogCXRhLnRhX3N0YXJ0ID0gc3RhcnQ7CiAJdGEudGFfZW5kID0gZW5kOwogCi0Jb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX3JhbmdlLCAmdGEsIDEsIDEsIG1hc2spOworCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9yYW5nZSwgJnRhLCAxLCBtYXNrKTsKIH0KIAogdm9pZCBmbHVzaF90bGJfa2VybmVsX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQpAQCAtNzgxLDUgKzY1NCw1IEBACiAJdGEudGFfc3RhcnQgPSBzdGFydDsKIAl0YS50YV9lbmQgPSBlbmQ7CiAKLQlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2tlcm5lbF9yYW5nZSwgJnRhLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2tlcm5lbF9yYW5nZSwgJnRhLCAxKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL2FybS9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGFlMzFkZWIuLmZjNjUwZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtMzYsNiArMzYsNyBAQAogI2lmZGVmIENPTkZJR19TVEFDS1RSQUNFCiBzdHJ1Y3Qgc3RhY2tfdHJhY2VfZGF0YSB7CiAJc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZTsKKwl1bnNpZ25lZCBpbnQgbm9fc2NoZWRfZnVuY3Rpb25zOwogCXVuc2lnbmVkIGludCBza2lwOwogfTsKIApAQCAtNDMsMjcgKzQ0LDUzIEBACiB7CiAJc3RydWN0IHN0YWNrX3RyYWNlX2RhdGEgKmRhdGEgPSBkOwogCXN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UgPSBkYXRhLT50cmFjZTsKKwl1bnNpZ25lZCBsb25nIGFkZHIgPSBmcmFtZS0+bHI7CiAKKwlpZiAoZGF0YS0+bm9fc2NoZWRfZnVuY3Rpb25zICYmIGluX3NjaGVkX2Z1bmN0aW9ucyhhZGRyKSkKKwkJcmV0dXJuIDA7CiAJaWYgKGRhdGEtPnNraXApIHsKIAkJZGF0YS0+c2tpcC0tOwogCQlyZXR1cm4gMDsKIAl9CiAKLQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IGZyYW1lLT5scjsKKwl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IGFkZHI7CiAKIAlyZXR1cm4gdHJhY2UtPm5yX2VudHJpZXMgPj0gdHJhY2UtPm1heF9lbnRyaWVzOwogfQogCi12b2lkIHNhdmVfc3RhY2tfdHJhY2Uoc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSkKK3ZvaWQgc2F2ZV9zdGFja190cmFjZV90c2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UpCiB7CiAJc3RydWN0IHN0YWNrX3RyYWNlX2RhdGEgZGF0YTsKIAl1bnNpZ25lZCBsb25nIGZwLCBiYXNlOwogCiAJZGF0YS50cmFjZSA9IHRyYWNlOwogCWRhdGEuc2tpcCA9IHRyYWNlLT5za2lwOwotCWJhc2UgPSAodW5zaWduZWQgbG9uZyl0YXNrX3N0YWNrX3BhZ2UoY3VycmVudCk7Ci0JYXNtKCJtb3YgJTAsIGZwIiA6ICI9ciIgKGZwKSk7CisJYmFzZSA9ICh1bnNpZ25lZCBsb25nKXRhc2tfc3RhY2tfcGFnZSh0c2spOworCisJaWYgKHRzayAhPSBjdXJyZW50KSB7CisjaWZkZWYgQ09ORklHX1NNUAorCQkvKgorCQkgKiBXaGF0IGd1YXJhbnRlZXMgZG8gd2UgaGF2ZSBoZXJlIHRoYXQgJ3RzaycKKwkJICogaXMgbm90IHJ1bm5pbmcgb24gYW5vdGhlciBDUFU/CisJCSAqLworCQlCVUcoKTsKKyNlbHNlCisJCWRhdGEubm9fc2NoZWRfZnVuY3Rpb25zID0gMTsKKwkJZnAgPSB0aHJlYWRfc2F2ZWRfZnAodHNrKTsKKyNlbmRpZgorCX0gZWxzZSB7CisJCWRhdGEubm9fc2NoZWRfZnVuY3Rpb25zID0gMDsKKwkJYXNtKCJtb3YgJTAsIGZwIiA6ICI9ciIgKGZwKSk7CisJfQogCiAJd2Fsa19zdGFja2ZyYW1lKGZwLCBiYXNlLCBiYXNlICsgVEhSRUFEX1NJWkUsIHNhdmVfdHJhY2UsICZkYXRhKTsKKwlpZiAodHJhY2UtPm5yX2VudHJpZXMgPCB0cmFjZS0+bWF4X2VudHJpZXMpCisJCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gVUxPTkdfTUFYOwogfQorCit2b2lkIHNhdmVfc3RhY2tfdHJhY2Uoc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSkKK3sKKwlzYXZlX3N0YWNrX3RyYWNlX3RzayhjdXJyZW50LCB0cmFjZSk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3RpbWUuYyBiL2FyY2gvYXJtL2tlcm5lbC90aW1lLmMKaW5kZXggYjU4NjdlYy4uY2M1MTQ1YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL3RpbWUuYworKysgYi9hcmNoL2FybS9rZXJuZWwvdGltZS5jCkBAIC0zNjUsMTA4ICszNjUsNiBAQAogCS5yZXN1bWUJCT0gdGltZXJfcmVzdW1lLAogfTsKIAotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi1zdGF0aWMgaW50IHRpbWVyX2R5bl90aWNrX2VuYWJsZSh2b2lkKQotewotCXN0cnVjdCBkeW5fdGlja190aW1lciAqZHluX3RpY2sgPSBzeXN0ZW1fdGltZXItPmR5bl90aWNrOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldCA9IC1FTk9ERVY7Ci0KLQlpZiAoZHluX3RpY2spIHsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JCXJldCA9IDA7Ci0JCWlmICghKGR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpKSB7Ci0JCQlyZXQgPSBkeW5fdGljay0+ZW5hYmxlKCk7Ci0KLQkJCWlmIChyZXQgPT0gMCkKLQkJCQlkeW5fdGljay0+c3RhdGUgfD0gRFlOX1RJQ0tfRU5BQkxFRDsKLQkJfQotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotCX0KLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgdGltZXJfZHluX3RpY2tfZGlzYWJsZSh2b2lkKQotewotCXN0cnVjdCBkeW5fdGlja190aW1lciAqZHluX3RpY2sgPSBzeXN0ZW1fdGltZXItPmR5bl90aWNrOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldCA9IC1FTk9ERVY7Ci0KLQlpZiAoZHluX3RpY2spIHsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JCXJldCA9IDA7Ci0JCWlmIChkeW5fdGljay0+c3RhdGUgJiBEWU5fVElDS19FTkFCTEVEKSB7Ci0JCQlyZXQgPSBkeW5fdGljay0+ZGlzYWJsZSgpOwotCi0JCQlpZiAocmV0ID09IDApCi0JCQkJZHluX3RpY2stPnN0YXRlICY9IH5EWU5fVElDS19FTkFCTEVEOwotCQl9Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JfQotCi0JcmV0dXJuIHJldDsKLX0KLQotLyoKLSAqIFJlcHJvZ3JhbSB0aGUgc3lzdGVtIHRpbWVyIGZvciBhdCBsZWFzdCB0aGUgY2FsY3VsYXRlZCB0aW1lIGludGVydmFsLgotICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGZyb20gdGhlIGlkbGUgdGhyZWFkIHdpdGggSVJRcyBkaXNhYmxlZCwKLSAqIGltbWVkaWF0ZWx5IGJlZm9yZSBzbGVlcGluZy4KLSAqLwotdm9pZCB0aW1lcl9keW5fcmVwcm9ncmFtKHZvaWQpCi17Ci0Jc3RydWN0IGR5bl90aWNrX3RpbWVyICpkeW5fdGljayA9IHN5c3RlbV90aW1lci0+ZHluX3RpY2s7Ci0JdW5zaWduZWQgbG9uZyBuZXh0LCBzZXEsIGZsYWdzOwotCi0JaWYgKCFkeW5fdGljaykKLQkJcmV0dXJuOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpIHsKLQkJbmV4dCA9IG5leHRfdGltZXJfaW50ZXJydXB0KCk7Ci0JCWRvIHsKLQkJCXNlcSA9IHJlYWRfc2VxYmVnaW4oJnh0aW1lX2xvY2spOwotCQkJZHluX3RpY2stPnJlcHJvZ3JhbShuZXh0IC0gamlmZmllcyk7Ci0JCX0gd2hpbGUgKHJlYWRfc2VxcmV0cnkoJnh0aW1lX2xvY2ssIHNlcSkpOwotCX0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgc3NpemVfdCB0aW1lcl9zaG93X2R5bl90aWNrKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikKLXsKLQlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwKLQkJICAgICAgIChzeXN0ZW1fdGltZXItPmR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpID4+IDEpOwotfQotCi1zdGF0aWMgc3NpemVfdCB0aW1lcl9zZXRfZHluX3RpY2soc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY29uc3QgY2hhciAqYnVmLAotCQkJCSAgc2l6ZV90IGNvdW50KQotewotCXVuc2lnbmVkIGludCBlbmFibGUgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDIpOwotCi0JaWYgKGVuYWJsZSkKLQkJdGltZXJfZHluX3RpY2tfZW5hYmxlKCk7Ci0JZWxzZQotCQl0aW1lcl9keW5fdGlja19kaXNhYmxlKCk7Ci0KLQlyZXR1cm4gY291bnQ7Ci19Ci1zdGF0aWMgU1lTREVWX0FUVFIoZHluX3RpY2ssIDA2NDQsIHRpbWVyX3Nob3dfZHluX3RpY2ssIHRpbWVyX3NldF9keW5fdGljayk7Ci0KLS8qCi0gKiBkeW50aWNrPWVuYWJsZXxkaXNhYmxlCi0gKi8KLXN0YXRpYyBjaGFyIGR5bnRpY2tfc3RyWzRdIF9faW5pdGRhdGEgPSAiIjsKLQotc3RhdGljIGludCBfX2luaXQgZHludGlja19zZXR1cChjaGFyICpzdHIpCi17Ci0JaWYgKHN0cikKLQkJc3RybGNweShkeW50aWNrX3N0ciwgc3RyLCBzaXplb2YoZHludGlja19zdHIpKTsKLQlyZXR1cm4gMTsKLX0KLQotX19zZXR1cCgiZHludGljaz0iLCBkeW50aWNrX3NldHVwKTsKLSNlbmRpZgotCiBzdGF0aWMgaW50IF9faW5pdCB0aW1lcl9pbml0X3N5c2ZzKHZvaWQpCiB7CiAJaW50IHJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmdGltZXJfc3lzY2xhc3MpOwpAQCAtNDc1LDE5ICszNzMsNiBAQAogCQlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJnN5c3RlbV90aW1lci0+ZGV2KTsKIAl9CiAKLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCWlmIChyZXQgPT0gMCAmJiBzeXN0ZW1fdGltZXItPmR5bl90aWNrKSB7Ci0JCXJldCA9IHN5c2Rldl9jcmVhdGVfZmlsZSgmc3lzdGVtX3RpbWVyLT5kZXYsICZhdHRyX2R5bl90aWNrKTsKLQotCQkvKgotCQkgKiBUdXJuIG9uIGR5bmFtaWMgdGljayBhZnRlciBjYWxpYnJhdGUgZGVsYXkKLQkJICogZm9yIGNvcnJlY3QgYm9nb21pcHMKLQkJICovCi0JCWlmIChyZXQgPT0gMCAmJiBkeW50aWNrX3N0clswXSA9PSAnZScpCi0JCQlyZXQgPSB0aW1lcl9keW5fdGlja19lbmFibGUoKTsKLQl9Ci0jZW5kaWYKLQogCXJldHVybiByZXQ7CiB9CiAKQEAgLTUwMCwxMCArMzg1LDUgQEAKIAkJc3lzdGVtX3RpbWVyLT5vZmZzZXQgPSBkdW1teV9nZXR0aW1lb2Zmc2V0OwogI2VuZGlmCiAJc3lzdGVtX3RpbWVyLT5pbml0KCk7Ci0KLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCWlmIChzeXN0ZW1fdGltZXItPmR5bl90aWNrKQotCQlzcGluX2xvY2tfaW5pdCgmc3lzdGVtX3RpbWVyLT5keW5fdGljay0+bG9jayk7Ci0jZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbGliL2NvcHlfdGVtcGxhdGUuUyBiL2FyY2gvYXJtL2xpYi9jb3B5X3RlbXBsYXRlLlMKaW5kZXggY2FiMzU1Yy4uMTM5Y2NlNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbGliL2NvcHlfdGVtcGxhdGUuUworKysgYi9hcmNoL2FybS9saWIvY29weV90ZW1wbGF0ZS5TCkBAIC0xMywxNCArMTMsNiBAQAogICovCiAKIC8qCi0gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGVuYWJsZSBjb2RlIHRvIGNhY2hlbGluZSBhbGlnbiB0aGUgc291cmNlIHBvaW50ZXIuCi0gKiBFeHBlcmltZW50cyBvbiB0ZXN0ZWQgYXJjaGl0ZWN0dXJlcyAoU3Ryb25nQVJNIGFuZCBYU2NhbGUpIGRpZG4ndCBzaG93Ci0gKiB0aGlzIGEgd29ydGh3aGlsZSB0aGluZyB0byBkby4gIFRoYXQgbWlnaHQgYmUgZGlmZmVyZW50IGluIHRoZSBmdXR1cmUuCi0gKi8KLS8vI2RlZmluZSBDQUxHTihjb2RlLi4uKQljb2RlCi0jZGVmaW5lIENBTEdOKGNvZGUuLi4pCi0KLS8qCiAgKiBUaGVvcnkgb2Ygb3BlcmF0aW9uCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgpAQCAtODIsNyArNzQsNyBAQAogCQlzdG1mZAlzcCEsIHtyNSAtIHI4fQogCQlibHQJNWYKIAotCUNBTEdOKAlhbmRzCWlwLCByMSwgIzMxCQkpCisJQ0FMR04oCWFuZHMJaXAsIHIwLCAjMzEJCSkKIAlDQUxHTigJcnNiCXIzLCBpcCwgIzMyCQkpCiAJQ0FMR04oCXNiY25lcwlyNCwgcjMsIHIyCQkpICBAIEMgaXMgYWx3YXlzIHNldCBoZXJlCiAJQ0FMR04oCWJjcwkyZgkJCSkKQEAgLTE2OCw3ICsxNjAsNyBAQAogCQlzdWJzCXIyLCByMiwgIzI4CiAJCWJsdAkxNGYKIAotCUNBTEdOKAlhbmRzCWlwLCByMSwgIzMxCQkpCisJQ0FMR04oCWFuZHMJaXAsIHIwLCAjMzEJCSkKIAlDQUxHTigJcnNiCWlwLCBpcCwgIzMyCQkpCiAJQ0FMR04oCXNiY25lcwlyNCwgaXAsIHIyCQkpICBAIEMgaXMgYWx3YXlzIHNldCBoZXJlCiAJQ0FMR04oCXN1YmNjCXIyLCByMiwgaXAJCSkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYi9tZW1tb3ZlLlMgYi9hcmNoL2FybS9saWIvbWVtbW92ZS5TCmluZGV4IGVmN2ZkZGMuLjJlMzAxYjcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2xpYi9tZW1tb3ZlLlMKKysrIGIvYXJjaC9hcm0vbGliL21lbW1vdmUuUwpAQCAtMTMsMTQgKzEzLDYgQEAKICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CiAjaW5jbHVkZSA8YXNtL2Fzc2VtYmxlci5oPgogCi0vKgotICogVGhpcyBjYW4gYmUgdXNlZCB0byBlbmFibGUgY29kZSB0byBjYWNoZWxpbmUgYWxpZ24gdGhlIHNvdXJjZSBwb2ludGVyLgotICogRXhwZXJpbWVudHMgb24gdGVzdGVkIGFyY2hpdGVjdHVyZXMgKFN0cm9uZ0FSTSBhbmQgWFNjYWxlKSBkaWRuJ3Qgc2hvdwotICogdGhpcyBhIHdvcnRod2hpbGUgdGhpbmcgdG8gZG8uICBUaGF0IG1pZ2h0IGJlIGRpZmZlcmVudCBpbiB0aGUgZnV0dXJlLgotICovCi0vLyNkZWZpbmUgQ0FMR04oY29kZS4uLikgICAgICAgIGNvZGUKLSNkZWZpbmUgQ0FMR04oY29kZS4uLikKLQogCQkudGV4dAogCiAvKgpAQCAtNTUsMTEgKzQ3LDEyIEBACiAJCXN0bWZkCXNwISwge3I1IC0gcjh9CiAJCWJsdAk1ZgogCi0JQ0FMR04oCWFuZHMJaXAsIHIxLCAjMzEJCSkKKwlDQUxHTigJYW5kcwlpcCwgcjAsICMzMQkJKQogCUNBTEdOKAlzYmNuZXMJcjQsIGlwLCByMgkJKSAgQCBDIGlzIGFsd2F5cyBzZXQgaGVyZQogCUNBTEdOKAliY3MJMmYJCQkpCiAJQ0FMR04oCWFkcglyNCwgNmYJCQkpCiAJQ0FMR04oCXN1YnMJcjIsIHIyLCBpcAkJKSAgQCBDIGlzIHNldCBoZXJlCisJQ0FMR04oCXJzYglpcCwgaXAsICMzMgkJKQogCUNBTEdOKAlhZGQJcGMsIHI0LCBpcAkJKQogCiAJUExEKAlwbGQJW3IxLCAjLTRdCQkpCkBAIC0xMzgsOCArMTMxLDcgQEAKIAkJc3VicwlyMiwgcjIsICMyOAogCQlibHQJMTRmCiAKLQlDQUxHTigJYW5kcwlpcCwgcjEsICMzMQkJKQotCUNBTEdOKAlyc2IJaXAsIGlwLCAjMzIJCSkKKwlDQUxHTigJYW5kcwlpcCwgcjAsICMzMQkJKQogCUNBTEdOKAlzYmNuZXMJcjQsIGlwLCByMgkJKSAgQCBDIGlzIGFsd2F5cyBzZXQgaGVyZQogCUNBTEdOKAlzdWJjYwlyMiwgcjIsIGlwCQkpCiAJQ0FMR04oCWJjYwkxNWYJCQkpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIvbWVtc2V0LlMgYi9hcmNoL2FybS9saWIvbWVtc2V0LlMKaW5kZXggOTViMTEwYi4uYjQ3N2Q0YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbGliL21lbXNldC5TCisrKyBiL2FyY2gvYXJtL2xpYi9tZW1zZXQuUwpAQCAtMzksNiArMzksOSBAQAogCW1vdglyMywgcjEKIAljbXAJcjIsICMxNgogCWJsdAk0ZgorCisjaWYgISBDQUxHTigxKSswCisKIC8qCiAgKiBXZSBuZWVkIGFuIGV4dHJhIHJlZ2lzdGVyIGZvciB0aGlzIGxvb3AgLSBzYXZlIHRoZSByZXR1cm4gYWRkcmVzcyBhbmQKICAqIHVzZSB0aGUgTFIKQEAgLTY0LDYgKzY3LDQ5IEBACiAJc3RtbmVpYQlyMCEsIHtyMSwgcjMsIGlwLCBscn0KIAlsZHIJbHIsIFtzcF0sICM0CiAKKyNlbHNlCisKKy8qCisgKiBUaGlzIHZlcnNpb24gYWxpZ25zIHRoZSBkZXN0aW5hdGlvbiBwb2ludGVyIGluIG9yZGVyIHRvIHdyaXRlCisgKiB3aG9sZSBjYWNoZSBsaW5lcyBhdCBvbmNlLgorICovCisKKwlzdG1mZAlzcCEsIHtyNC1yNywgbHJ9CisJbW92CXI0LCByMQorCW1vdglyNSwgcjEKKwltb3YJcjYsIHIxCisJbW92CXI3LCByMQorCW1vdglpcCwgcjEKKwltb3YJbHIsIHIxCisKKwljbXAJcjIsICM5NgorCXRzdGd0CXIwLCAjMzEKKwlibGUJM2YKKworCWFuZAlpcCwgcjAsICMzMQorCXJzYglpcCwgaXAsICMzMgorCXN1YglyMiwgcjIsIGlwCisJbW92cwlpcCwgaXAsIGxzbCAjKDMyIC0gNCkKKwlzdG1jc2lhCXIwISwge3I0LCByNSwgcjYsIHI3fQorCXN0bW1paWEJcjAhLCB7cjQsIHI1fQorCXRzdAlpcCwgIygxIDw8IDMwKQorCW1vdglpcCwgcjEKKwlzdHJuZQlyMSwgW3IwXSwgIzQKKworMzoJc3VicwlyMiwgcjIsICM2NAorCXN0bWdlaWEJcjAhLCB7cjEsIHIzLXI3LCBpcCwgbHJ9CisJc3RtZ2VpYQlyMCEsIHtyMSwgcjMtcjcsIGlwLCBscn0KKwliZ3QJM2IKKwlsZG1lcWZkCXNwISwge3I0LXI3LCBwY30KKworCXRzdAlyMiwgIzMyCisJc3RtbmVpYQlyMCEsIHtyMSwgcjMtcjcsIGlwLCBscn0KKwl0c3QJcjIsICMxNgorCXN0bW5laWEJcjAhLCB7cjQtcjd9CisJbGRtZmQJc3AhLCB7cjQtcjcsIGxyfQorCisjZW5kaWYKKwogNDoJdHN0CXIyLCAjOAogCXN0bW5laWEJcjAhLCB7cjEsIHIzfQogCXRzdAlyMiwgIzQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYi9tZW16ZXJvLlMgYi9hcmNoL2FybS9saWIvbWVtemVyby5TCmluZGV4IGFiZjI1MDguLmI4Zjc5ZDggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2xpYi9tZW16ZXJvLlMKKysrIGIvYXJjaC9hcm0vbGliL21lbXplcm8uUwpAQCAtMzksNiArMzksOSBAQAogICovCiAJY21wCXIxLCAjMTYJCQlAIDEgd2UgY2FuIHNraXAgdGhpcyBjaHVuayBpZiB3ZQogCWJsdAk0ZgkJCUAgMSBoYXZlIDwgMTYgYnl0ZXMKKworI2lmICEgQ0FMR04oMSkrMAorCiAvKgogICogV2UgbmVlZCBhbiBleHRyYSByZWdpc3RlciBmb3IgdGhpcyBsb29wIC0gc2F2ZSB0aGUgcmV0dXJuIGFkZHJlc3MgYW5kCiAgKiB1c2UgdGhlIExSCkBAIC02NCw2ICs2Nyw0NyBAQAogCXN0bW5laWEJcjAhLCB7cjIsIHIzLCBpcCwgbHJ9CUAgNAogCWxkcglsciwgW3NwXSwgIzQJCUAgMQogCisjZWxzZQorCisvKgorICogVGhpcyB2ZXJzaW9uIGFsaWducyB0aGUgZGVzdGluYXRpb24gcG9pbnRlciBpbiBvcmRlciB0byB3cml0ZQorICogd2hvbGUgY2FjaGUgbGluZXMgYXQgb25jZS4KKyAqLworCisJc3RtZmQJc3AhLCB7cjQtcjcsIGxyfQorCW1vdglyNCwgcjIKKwltb3YJcjUsIHIyCisJbW92CXI2LCByMgorCW1vdglyNywgcjIKKwltb3YJaXAsIHIyCisJbW92CWxyLCByMgorCisJY21wCXIxLCAjOTYKKwlhbmRndHMJaXAsIHIwLCAjMzEKKwlibGUJM2YKKworCXJzYglpcCwgaXAsICMzMgorCXN1YglyMSwgcjEsIGlwCisJbW92cwlpcCwgaXAsIGxzbCAjKDMyIC0gNCkKKwlzdG1jc2lhCXIwISwge3I0LCByNSwgcjYsIHI3fQorCXN0bW1paWEJcjAhLCB7cjQsIHI1fQorCW1vdnMJaXAsIGlwLCBsc2wgIzIKKwlzdHJjcwlyMiwgW3IwXSwgIzQKKworMzoJc3VicwlyMSwgcjEsICM2NAorCXN0bWdlaWEJcjAhLCB7cjItcjcsIGlwLCBscn0KKwlzdG1nZWlhCXIwISwge3IyLXI3LCBpcCwgbHJ9CisJYmd0CTNiCisJbGRtZXFmZAlzcCEsIHtyNC1yNywgcGN9CisKKwl0c3QJcjEsICMzMgorCXN0bW5laWEJcjAhLCB7cjItcjcsIGlwLCBscn0KKwl0c3QJcjEsICMxNgorCXN0bW5laWEJcjAhLCB7cjQtcjd9CisJbGRtZmQJc3AhLCB7cjQtcjcsIGxyfQorCisjZW5kaWYKKwogNDoJdHN0CXIxLCAjOAkJCUAgMSA4IGJ5dGVzIG9yIG1vcmU/CiAJc3RtbmVpYQlyMCEsIHtyMiwgcjN9CQlAIDIKIAl0c3QJcjEsICM0CQkJQCAxIDQgYnl0ZXMgb3IgbW9yZT8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKaW5kZXggMGZjMDdiNi4uNWJhZDZiOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKQEAgLTMwLDYgKzMwLDExIEBACiAJc2VsZWN0IEdFTkVSSUNfVElNRQogCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCiAKK2NvbmZpZyBBUkNIX0FUOTFTQU05RzIwCisJYm9vbCAiQVQ5MVNBTTlHMjAiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCisKIGNvbmZpZyBBUkNIX0FUOTFDQVA5CiAJYm9vbCAiQVQ5MUNBUDkiCiAJc2VsZWN0IEdFTkVSSUNfVElNRQpAQCAtMTI2LDYgKzEzMSwxMiBAQAogCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBlbVFiaXQncyBFQ0JfQVQ5MSBib2FyZC4KIAkgIDxodHRwOi8vd2lraS5lbXFiaXQuY29tL2ZyZWUtZWNiLWF0OTE+CiAKK2NvbmZpZyBNQUNIX1lMOTIwMAorCWJvb2wgInVjRHJhZ29uIFlMLTkyMDAiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFSTTkyMDAKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIHRoZSB1Y0RyYWdvbiBZTC05MjAwIGJvYXJkLgorCiBlbmRpZgogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTE2NCw2ICsxNzUsMjAgQEAKIAkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgT2xpbWV4J3MgU0FNOS1MOTI2MCBib2FyZCBiYXNlZCBvbiB0aGUgQXRtZWwgQVQ5MVNBTTkyNjAuCiAJICA8aHR0cDovL3d3dy5vbGltZXguY29tL2Rldi9zYW05LUw5MjYwLmh0bWw+CiAKK2NvbmZpZyBNQUNIX1VTQl9BOTI2MAorCWJvb2wgIkNBTEFPIFVTQi1BOTI2MCIKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjAKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIGEgQ2FsYW8gU3lzdGVtcyBVU0ItQTkyNjAuCisJICA8aHR0cDovL3d3dy5jYWxhby1zeXN0ZW1zLmNvbT4KKworY29uZmlnIE1BQ0hfUUlMX0E5MjYwCisJYm9vbCAiQ0FMQU8gUUlMLUE5MjYwIGJvYXJkIgorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MAorCWhlbHAKKwkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgYSBDYWxhbyBTeXN0ZW1zIFFJTC1BOTI2MCBCb2FyZC4KKwkgIDxodHRwOi8vd3d3LmNhbGFvLXN5c3RlbXMuY29tPgorCiBlbmRpZgogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTE5NCw2ICsyMTksMTMgQEAKIAkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgQXRtZWwncyBBVDkxU0FNOTI2My1FSyBFdmFsdWF0aW9uIEtpdC4KIAkgIDxodHRwOi8vd3d3LmF0bWVsLmNvbS9keW4vcHJvZHVjdHMvdG9vbHNfY2FyZC5hc3A/dG9vbF9pZD00MDU3PgogCitjb25maWcgTUFDSF9VU0JfQTkyNjMKKwlib29sICJDQUxBTyBVU0ItQTkyNjMiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYzCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBhIENhbGFvIFN5c3RlbXMgVVNCLUE5MjYzLgorCSAgPGh0dHA6Ly93d3cuY2FsYW8tc3lzdGVtcy5jb20+CisKIGVuZGlmCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjEyLDYgKzI0NCwyMCBAQAogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAoraWYgQVJDSF9BVDkxU0FNOUcyMAorCitjb21tZW50ICJBVDkxU0FNOUcyMCBCb2FyZCBUeXBlIgorCitjb25maWcgTUFDSF9BVDkxU0FNOUcyMEVLCisJYm9vbCAiQXRtZWwgQVQ5MVNBTTlHMjAtRUsgRXZhbHVhdGlvbiBLaXQiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05RzIwCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBBdG1lbCdzIEFUOTFTQU05RzIwLUVLIEV2YWx1YXRpb24gS2l0LgorCitlbmRpZgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwogaWYgQVJDSF9BVDkxQ0FQOQogCiBjb21tZW50ICJBVDkxQ0FQOSBCb2FyZCBUeXBlIgpAQCAtMjQ3LDEzICsyOTMsMTMgQEAKIAogY29uZmlnIE1URF9BVDkxX0RBVEFGTEFTSF9DQVJECiAJYm9vbCAiRW5hYmxlIERhdGFGbGFzaCBDYXJkIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiAoQVJDSF9BVDkxUk05MjAwREsgfHwgTUFDSF9BVDkxUk05MjAwRUsgfHwgTUFDSF9BVDkxU0FNOTI2MEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjFFSyB8fCBNQUNIX0FUOTFTQU05MjYzRUsgfHwgTUFDSF9BVDkxQ0FQOUFESyB8fCBNQUNIX1NBTTlfTDkyNjAgfHwgTUFDSF9FQ0JBVDkxKQorCWRlcGVuZHMgb24gKEFSQ0hfQVQ5MVJNOTIwMERLIHx8IE1BQ0hfQVQ5MVJNOTIwMEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjBFSyB8fCBNQUNIX0FUOTFTQU05MjYxRUsgfHwgTUFDSF9BVDkxU0FNOTI2M0VLIHx8IE1BQ0hfQVQ5MVNBTTlHMjBFSyB8fCBNQUNIX0VDQkFUOTEgfHwgTUFDSF9TQU05X0w5MjYwIHx8IE1BQ0hfQVQ5MUNBUDlBREspCiAJaGVscAogCSAgRW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBEYXRhRmxhc2ggY2FyZC4KIAogY29uZmlnIE1URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYKIAlib29sICJFbmFibGUgMTYtYml0IGRhdGEgYnVzIGludGVyZmFjZSB0byBOQU5EIGZsYXNoIgotCWRlcGVuZHMgb24gKE1BQ0hfQVQ5MVNBTTkyNjBFSyB8fCBNQUNIX0FUOTFTQU05MjYxRUsgfHwgTUFDSF9BVDkxU0FNOTI2M0VLIHx8IE1BQ0hfQVQ5MUNBUDlBREspCisJZGVwZW5kcyBvbiAoTUFDSF9BVDkxU0FNOTI2MEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjFFSyB8fCBNQUNIX0FUOTFTQU05MjYzRUsgfHwgTUFDSF9BVDkxU0FNOUcyMEVLIHx8IE1BQ0hfQVQ5MUNBUDlBREspCiAJaGVscAogCSAgT24gQVQ5MVNBTTkyNnggYm9hcmRzIGJvdGggdHlwZXMgb2YgTkFORCBmbGFzaCBjYW4gYmUgcHJlc2VudAogCSAgKDggYW5kIDE2IGJpdCBkYXRhIGJ1cyB3aWR0aCkuCkBAIC0zMDIsMTUgKzM0OCwxNSBAQAogCiBjb25maWcgQVQ5MV9FQVJMWV9VU0FSVDMKIAlib29sICJVU0FSVDMiCi0JZGVwZW5kcyBvbiAoQVJDSF9BVDkxUk05MjAwIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBBUkNIX0FUOTFTQU05MjYwKQorCWRlcGVuZHMgb24gKEFSQ0hfQVQ5MVJNOTIwMCB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05RzIwKQogCiBjb25maWcgQVQ5MV9FQVJMWV9VU0FSVDQKIAlib29sICJVU0FSVDQiCi0JZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTlHMjAKIAogY29uZmlnIEFUOTFfRUFSTFlfVVNBUlQ1CiAJYm9vbCAiVVNBUlQ1IgotCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MAorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05RzIwCiAKIGVuZGNob2ljZQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWF0OTEvTWFrZWZpbGUKaW5kZXggOGQ5YmMwMS4uN2Q2NDFmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9NYWtlZmlsZQpAQCAtMTUsNiArMTUsNyBAQAogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCSs9IGF0OTFzYW05MjYxLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYxX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpCSs9IGF0OTFzYW05MjYzLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYzX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCkJKz0gYXQ5MXNhbTlybC5vIGF0OTFzYW05MjZ4X3RpbWUubyBhdDkxc2FtOXJsX2RldmljZXMubworb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCSs9IGF0OTFzYW05MjYwLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYwX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCSs9IGF0OTFjYXA5Lm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFjYXA5X2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVg0MCkJKz0gYXQ5MXg0MC5vIGF0OTF4NDBfdGltZS5vCiAKQEAgLTMwLDIxICszMSwyOCBAQAogb2JqLSQoQ09ORklHX01BQ0hfS0FGQSkJCSs9IGJvYXJkLWthZmEubwogb2JqLSQoQ09ORklHX01BQ0hfUElDT1RVWDJYWCkJKz0gYm9hcmQtcGljb3R1eDIwMC5vCiBvYmotJChDT05GSUdfTUFDSF9FQ0JBVDkxKQkrPSBib2FyZC1lY2JhdDkxLm8KK29iai0kKENPTkZJR19NQUNIX1lMOTIwMCkJKz0gYm9hcmQteWwtOTIwMC5vCiAKICMgQVQ5MVNBTTkyNjAgYm9hcmQtc3BlY2lmaWMgc3VwcG9ydAogb2JqLSQoQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjBFSykgKz0gYm9hcmQtc2FtOTI2MGVrLm8KIG9iai0kKENPTkZJR19NQUNIX0NBTTYwKQkrPSBib2FyZC1jYW02MC5vCiBvYmotJChDT05GSUdfTUFDSF9TQU05X0w5MjYwKQkrPSBib2FyZC1zYW05LWw5MjYwLm8KK29iai0kKENPTkZJR19NQUNIX1VTQl9BOTI2MCkJKz0gYm9hcmQtdXNiLWE5MjYwLm8KK29iai0kKENPTkZJR19NQUNIX1FJTF9BOTI2MCkJKz0gYm9hcmQtcWlsLWE5MjYwLm8KIAogIyBBVDkxU0FNOTI2MSBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOTI2MUVLKSArPSBib2FyZC1zYW05MjYxZWsubwogCiAjIEFUOTFTQU05MjYzIGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFTQU05MjYzRUspICs9IGJvYXJkLXNhbTkyNjNlay5vCitvYmotJChDT05GSUdfTUFDSF9VU0JfQTkyNjMpCSs9IGJvYXJkLXVzYi1hOTI2My5vCiAKICMgQVQ5MVNBTTlSTCBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOVJMRUspCSs9IGJvYXJkLXNhbTlybGVrLm8KIAorIyBBVDkxU0FNOUcyMCBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CitvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOUcyMEVLKSArPSBib2FyZC1zYW05ZzIwZWsubworCiAjIEFUOTFDQVA5IGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFDQVA5QURLKQkrPSBib2FyZC1jYXA5YWRrLm8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFjYXA5X2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxY2FwOV9kZXZpY2VzLmMKaW5kZXggYmU1MjY3NC4uNzQ3YjlkZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFjYXA5X2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MWNhcDlfZGV2aWNlcy5jCkBAIC04NCw2ICs4NCwxMDUgQEAKIAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogIFVTQiBIUyBEZXZpY2UgKEdhZGdldCkKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKyNpZiBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEpIHx8IGRlZmluZWQoQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQV9NT0RVTEUpCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdXNiYV91ZGNfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBBVDkxQ0FQOV9VRFBIU19GSUZPLAorCQkuZW5kCT0gQVQ5MUNBUDlfVURQSFNfRklGTyArIFNaXzUxMksgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MUNBUDlfQkFTRV9VRFBIUywKKwkJLmVuZAk9IEFUOTFDQVA5X0JBU0VfVURQSFMgKyBTWl8xSyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBBVDkxQ0FQOV9JRF9VRFBIUywKKwkJLmVuZAk9IEFUOTFDQVA5X0lEX1VEUEhTLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworI2RlZmluZSBFUChuYW0sIGlkeCwgbWF4cGt0LCBtYXhiaywgZG1hLCBpc29jKQkJCVwKKwlbaWR4XSA9IHsJCQkJCQlcCisJCS5uYW1lCQk9IG5hbSwJCQkJXAorCQkuaW5kZXgJCT0gaWR4LAkJCQlcCisJCS5maWZvX3NpemUJPSBtYXhwa3QsCQkJXAorCQkubnJfYmFua3MJPSBtYXhiaywJCQlcCisJCS5jYW5fZG1hCT0gZG1hLAkJCQlcCisJCS5jYW5faXNvYwk9IGlzb2MsCQkJCVwKKwl9CisKK3N0YXRpYyBzdHJ1Y3QgdXNiYV9lcF9kYXRhIHVzYmFfdWRjX2VwW10gPSB7CisJRVAoImVwMCIsIDAsICAgNjQsIDEsIDAsIDApLAorCUVQKCJlcDEiLCAxLCAxMDI0LCAzLCAxLCAxKSwKKwlFUCgiZXAyIiwgMiwgMTAyNCwgMywgMSwgMSksCisJRVAoImVwMyIsIDMsIDEwMjQsIDIsIDEsIDEpLAorCUVQKCJlcDQiLCA0LCAxMDI0LCAyLCAxLCAxKSwKKwlFUCgiZXA1IiwgNSwgMTAyNCwgMiwgMSwgMCksCisJRVAoImVwNiIsIDYsIDEwMjQsIDIsIDEsIDApLAorCUVQKCJlcDciLCA3LCAxMDI0LCAyLCAwLCAwKSwKK307CisKKyN1bmRlZiBFUAorCisvKgorICogcGRhdGEgZG9lc24ndCBoYXZlIHJvb20gZm9yIGFueSBlbmRwb2ludHMsIHNvIHdlIG5lZWQgdG8KKyAqIGFwcGVuZCByb29tIGZvciB0aGUgb25lcyB3ZSBuZWVkIHJpZ2h0IGFmdGVyIGl0LgorICovCitzdGF0aWMgc3RydWN0IHsKKwlzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIHBkYXRhOworCXN0cnVjdCB1c2JhX2VwX2RhdGEgZXBbOF07Cit9IHVzYmFfdWRjX2RhdGE7CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0OTFfdXNiYV91ZGNfZGV2aWNlID0geworCS5uYW1lCQk9ICJhdG1lbF91c2JhX3VkYyIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnVzYmFfdWRjX2RhdGEucGRhdGEsCisJfSwKKwkucmVzb3VyY2UJPSB1c2JhX3VkY19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHVzYmFfdWRjX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKQoreworCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX1VEUEhTLCBBVDkxX01BVFJJWF9TRUxFQ1RfVURQSFMgfAorCQkJCQkgIEFUOTFfTUFUUklYX1VEUEhTX0JZUEFTU19MT0NLKTsKKworCS8qCisJICogSW52YWxpZCBwaW5zIGFyZSAwIG9uIEFUOTEsIGJ1dCB0aGUgdXNiYSBkcml2ZXIgaXMgc2hhcmVkCisJICogd2l0aCBBVlIzMiwgd2hpY2ggdXNlIG5lZ2F0aXZlIHZhbHVlcyBpbnN0ZWFkLiBPbmNlL2lmCisJICogZ3Bpb19pc192YWxpZCgpIGlzIHBvcnRlZCB0byBBVDkxLCByZXZpc2l0IHRoaXMgY29kZS4KKwkgKi8KKwl1c2JhX3VkY19kYXRhLnBkYXRhLnZidXNfcGluID0gLUVJTlZBTDsKKwl1c2JhX3VkY19kYXRhLnBkYXRhLm51bV9lcCA9IEFSUkFZX1NJWkUodXNiYV91ZGNfZXApOworCW1lbWNweSh1c2JhX3VkY19kYXRhLmVwLCB1c2JhX3VkY19lcCwgc2l6ZW9mKHVzYmFfdWRjX2VwKSk7OworCisJaWYgKGRhdGEgJiYgZGF0YS0+dmJ1c19waW4gPiAwKSB7CisJCWF0OTFfc2V0X2dwaW9faW5wdXQoZGF0YS0+dmJ1c19waW4sIDApOworCQlhdDkxX3NldF9kZWdsaXRjaChkYXRhLT52YnVzX3BpbiwgMSk7CisJCXVzYmFfdWRjX2RhdGEucGRhdGEudmJ1c19waW4gPSBkYXRhLT52YnVzX3BpbjsKKwl9CisKKwkvKiBQdWxsdXAgcGluIGlzIGhhbmRsZWQgaW50ZXJuYWxseSBieSBVU0IgZGV2aWNlIHBlcmlwaGVyYWwgKi8KKworCS8qIENsb2NrcyAqLworCWF0OTFfY2xvY2tfYXNzb2NpYXRlKCJ1dG1pX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJoY2xrIik7CisJYXQ5MV9jbG9ja19hc3NvY2lhdGUoInVkcGhzX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJwY2xrIik7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmF0OTFfdXNiYV91ZGNfZGV2aWNlKTsKK30KKyNlbHNlCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKSB7fQorI2VuZGlmCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBFdGhlcm5ldAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYwppbmRleCBlZTI2NTUwLi4zODBmMTJhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYwpAQCAtNDcsNiArNDcsMjAgQEAKIAl9CiB9OwogCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGF0OTFzYW05ZzIwX3NyYW1fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEFUOTFfSU9fVklSVF9CQVNFIC0gQVQ5MVNBTTlHMjBfU1JBTTBfU0laRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFUOTFTQU05RzIwX1NSQU0wX0JBU0UpLAorCQkubGVuZ3RoCQk9IEFUOTFTQU05RzIwX1NSQU0wX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CisJCS52aXJ0dWFsCT0gQVQ5MV9JT19WSVJUX0JBU0UgLSBBVDkxU0FNOUcyMF9TUkFNMF9TSVpFIC0gQVQ5MVNBTTlHMjBfU1JBTTFfU0laRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFUOTFTQU05RzIwX1NSQU0xX0JBU0UpLAorCQkubGVuZ3RoCQk9IEFUOTFTQU05RzIwX1NSQU0xX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9Cit9OworCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGF0OTFzYW05eGVfc3JhbV9kZXNjW10gX19pbml0ZGF0YSA9IHsKIAl7CiAJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBVDkxU0FNOVhFX1NSQU1fQkFTRSksCkBAIC0zMDcsNiArMzIxLDggQEAKIAogCWlmIChjcHVfaXNfYXQ5MXNhbTl4ZSgpKQogCQlhdDkxc2FtOXhlX2luaXRpYWxpemUoKTsKKwllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTlnMjAoKSkKKwkJaW90YWJsZV9pbml0KGF0OTFzYW05ZzIwX3NyYW1fZGVzYywgQVJSQVlfU0laRShhdDkxc2FtOWcyMF9zcmFtX2Rlc2MpKTsKIAllbHNlCiAJCWlvdGFibGVfaW5pdChhdDkxc2FtOTI2MF9zcmFtX2Rlc2MsIEFSUkFZX1NJWkUoYXQ5MXNhbTkyNjBfc3JhbV9kZXNjKSk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MF9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjBfZGV2aWNlcy5jCmluZGV4IDM5M2EzMmEuLjg2Y2JhNGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MF9kZXZpY2VzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwX2RldmljZXMuYwpAQCAtMTgsNiArMTgsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY3B1Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTkyNjAuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOTI2MF9tYXRyaXguaD4KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOV9zbWMuaD4KQEAgLTMyMCwyMCArMzIxLDQxIEBACiAJY3NhID0gYXQ5MV9zeXNfcmVhZChBVDkxX01BVFJJWF9FQklDU0EpOwogCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX0VCSUNTQSwgY3NhIHwgQVQ5MV9NQVRSSVhfQ1MzQV9TTUNfU01BUlRNRURJQSk7CiAKLQkvKiBzZXQgdGhlIGJ1cyBpbnRlcmZhY2UgY2hhcmFjdGVyaXN0aWNzICovCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygwKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQotCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOworCWlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSkgeworCQkvKiBUaW1pbmcgZm9yIHNhbTkyNjAgKi8KKwkJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQotCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCisJCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg1KSB8IEFUOTFfU01DX05SRENZQ0xFXyg1KSk7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNSkgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNSkpOwogCi0JaWYgKGRhdGEtPmJ1c193aWR0aF8xNikKLQkJbW9kZSA9IEFUOTFfU01DX0RCV18xNjsKLQllbHNlCi0JCW1vZGUgPSBBVDkxX1NNQ19EQldfODsKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygyKSk7CisJCWlmIChkYXRhLT5idXNfd2lkdGhfMTYpCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzE2OworCQllbHNlCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzg7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDIpKTsKKwl9CisKKwlpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKKwkJLyogVGltaW5nIGZvciBzYW05ZzIwICovCisJCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygyKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDIpIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDQpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDQpCisJCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oNCkgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oNCkpOworCisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNykgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNykpOworCisJCWlmIChkYXRhLT5idXNfd2lkdGhfMTYpCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzE2OworCQllbHNlCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzg7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDMpKTsKKwl9CiAKIAkvKiBlbmFibGUgcGluICovCiAJaWYgKGRhdGEtPmVuYWJsZV9waW4pCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjFfZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYxX2RldmljZXMuYwppbmRleCAwYmFiYjY0Li5lYzE4OTEzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjFfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MV9kZXZpY2VzLmMKQEAgLTIzMiwxOSArMjMyLDE5IEBACiAJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9NQVRSSVhfRUJJQ1NBLCBjc2EgfCBBVDkxX01BVFJJWF9DUzNBX1NNQ19TTUFSVE1FRElBKTsKIAogCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCi0JCQl8IEFUOTFfU01DX05SRFNFVFVQXygwKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygxKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygyKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXyg1KQotCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMikgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oNSkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oMykKKwkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDMpKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNykgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNykpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNSkgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNSkpOwogCiAJaWYgKGRhdGEtPmJ1c193aWR0aF8xNikKIAkJbW9kZSA9IEFUOTFfU01DX0RCV18xNjsKIAllbHNlCiAJCW1vZGUgPSBBVDkxX1NNQ19EQldfODsKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygxKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgbW9kZSB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMikpOwogCiAJLyogZW5hYmxlIHBpbiAqLwogCWlmIChkYXRhLT5lbmFibGVfcGluKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYzX2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2M19kZXZpY2VzLmMKaW5kZXggNzE5NjY3ZS4uOGE4MWY3NiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYzX2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjNfZGV2aWNlcy5jCkBAIC0zOTEsOCArMzkxLDggQEAKIAlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9FQkkwQ1NBLCBjc2EgfCBBVDkxX01BVFJJWF9FQkkwX0NTM0FfU01DX1NNQVJUTUVESUEpOwogCiAJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKLQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQl8IEFUOTFfU01DX05SRFNFVFVQXygxKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CiAKIAlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCiAJCQl8IEFUOTFfU01DX05SRFBVTFNFXygzKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXygzKSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTlybF9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTlybF9kZXZpY2VzLmMKaW5kZXggNDUwZGIzMC4uYWUyODEwMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05cmxfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOXJsX2RldmljZXMuYwpAQCAtMjYsNiArMjYsMTAxIEBACiAKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICBVU0IgSFMgRGV2aWNlIChHYWRnZXQpCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjaWYgZGVmaW5lZChDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBKSB8fCBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkFfTU9EVUxFKQorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVzYmFfdWRjX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MVNBTTlSTF9VRFBIU19GSUZPLAorCQkuZW5kCT0gQVQ5MVNBTTlSTF9VRFBIU19GSUZPICsgU1pfNTEySyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQJPSBBVDkxU0FNOVJMX0JBU0VfVURQSFMsCisJCS5lbmQJPSBBVDkxU0FNOVJMX0JBU0VfVURQSFMgKyBTWl8xSyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBBVDkxU0FNOVJMX0lEX1VEUEhTLAorCQkuZW5kCT0gQVQ5MVNBTTlSTF9JRF9VRFBIUywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKKyNkZWZpbmUgRVAobmFtLCBpZHgsIG1heHBrdCwgbWF4YmssIGRtYSwgaXNvYykJCQlcCisJW2lkeF0gPSB7CQkJCQkJXAorCQkubmFtZQkJPSBuYW0sCQkJCVwKKwkJLmluZGV4CQk9IGlkeCwJCQkJXAorCQkuZmlmb19zaXplCT0gbWF4cGt0LAkJCVwKKwkJLm5yX2JhbmtzCT0gbWF4YmssCQkJXAorCQkuY2FuX2RtYQk9IGRtYSwJCQkJXAorCQkuY2FuX2lzb2MJPSBpc29jLAkJCQlcCisJfQorCitzdGF0aWMgc3RydWN0IHVzYmFfZXBfZGF0YSB1c2JhX3VkY19lcFtdIF9faW5pdGRhdGEgPSB7CisJRVAoImVwMCIsIDAsIDY0LCAxLCAwLCAwKSwKKwlFUCgiZXAxIiwgMSwgMTAyNCwgMiwgMSwgMSksCisJRVAoImVwMiIsIDIsIDEwMjQsIDIsIDEsIDEpLAorCUVQKCJlcDMiLCAzLCAxMDI0LCAzLCAxLCAwKSwKKwlFUCgiZXA0IiwgNCwgMTAyNCwgMywgMSwgMCksCisJRVAoImVwNSIsIDUsIDEwMjQsIDMsIDEsIDEpLAorCUVQKCJlcDYiLCA2LCAxMDI0LCAzLCAxLCAxKSwKK307CisKKyN1bmRlZiBFUAorCisvKgorICogcGRhdGEgZG9lc24ndCBoYXZlIHJvb20gZm9yIGFueSBlbmRwb2ludHMsIHNvIHdlIG5lZWQgdG8KKyAqIGFwcGVuZCByb29tIGZvciB0aGUgb25lcyB3ZSBuZWVkIHJpZ2h0IGFmdGVyIGl0LgorICovCitzdGF0aWMgc3RydWN0IHsKKwlzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIHBkYXRhOworCXN0cnVjdCB1c2JhX2VwX2RhdGEgZXBbN107Cit9IHVzYmFfdWRjX2RhdGE7CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0OTFfdXNiYV91ZGNfZGV2aWNlID0geworCS5uYW1lCQk9ICJhdG1lbF91c2JhX3VkYyIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnVzYmFfdWRjX2RhdGEucGRhdGEsCisJfSwKKwkucmVzb3VyY2UJPSB1c2JhX3VkY19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHVzYmFfdWRjX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKQoreworCS8qCisJICogSW52YWxpZCBwaW5zIGFyZSAwIG9uIEFUOTEsIGJ1dCB0aGUgdXNiYSBkcml2ZXIgaXMgc2hhcmVkCisJICogd2l0aCBBVlIzMiwgd2hpY2ggdXNlIG5lZ2F0aXZlIHZhbHVlcyBpbnN0ZWFkLiBPbmNlL2lmCisJICogZ3Bpb19pc192YWxpZCgpIGlzIHBvcnRlZCB0byBBVDkxLCByZXZpc2l0IHRoaXMgY29kZS4KKwkgKi8KKwl1c2JhX3VkY19kYXRhLnBkYXRhLnZidXNfcGluID0gLUVJTlZBTDsKKwl1c2JhX3VkY19kYXRhLnBkYXRhLm51bV9lcCA9IEFSUkFZX1NJWkUodXNiYV91ZGNfZXApOworCW1lbWNweSh1c2JhX3VkY19kYXRhLmVwLCB1c2JhX3VkY19lcCwgc2l6ZW9mKHVzYmFfdWRjX2VwKSk7OworCisJaWYgKGRhdGEgJiYgZGF0YS0+dmJ1c19waW4gPiAwKSB7CisJCWF0OTFfc2V0X2dwaW9faW5wdXQoZGF0YS0+dmJ1c19waW4sIDApOworCQlhdDkxX3NldF9kZWdsaXRjaChkYXRhLT52YnVzX3BpbiwgMSk7CisJCXVzYmFfdWRjX2RhdGEucGRhdGEudmJ1c19waW4gPSBkYXRhLT52YnVzX3BpbjsKKwl9CisKKwkvKiBQdWxsdXAgcGluIGlzIGhhbmRsZWQgaW50ZXJuYWxseSBieSBVU0IgZGV2aWNlIHBlcmlwaGVyYWwgKi8KKworCS8qIENsb2NrcyAqLworCWF0OTFfY2xvY2tfYXNzb2NpYXRlKCJ1dG1pX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJoY2xrIik7CisJYXQ5MV9jbG9ja19hc3NvY2lhdGUoInVkcGhzX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJwY2xrIik7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmF0OTFfdXNiYV91ZGNfZGV2aWNlKTsKK30KKyNlbHNlCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKSB7fQorI2VuZGlmCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBNTUMgLyBTRAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTM4LDE1ICsyMzMsMTUgQEAKIAlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9FQklDU0EsIGNzYSB8IEFUOTFfTUFUUklYX0NTM0FfU01DX1NNQVJUTUVESUEpOwogCiAJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKLQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQl8IEFUOTFfU01DX05SRFNFVFVQXygxKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDIpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDUpCi0JCQl8IEFUOTFfU01DX05SRFBVTFNFXygyKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXyg1KSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQorCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg3KSB8IEFUOTFfU01DX05SRENZQ0xFXyg3KSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg1KSB8IEFUOTFfU01DX05SRENZQ0xFXyg1KSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBBVDkxX1NNQ19EQldfOCB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMSkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIEFUOTFfU01DX0RCV184IHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygyKSk7CiAKIAkvKiBlbmFibGUgcGluICovCiAJaWYgKGRhdGEtPmVuYWJsZV9waW4pCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FwOWFkay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcDlhZGsuYwppbmRleCBlNTUxMmQxLi44YTJhOTU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FwOWFkay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXA5YWRrLmMKQEAgLTc4LDYgKzc4LDEyIEBACiAJLnBvcnRzCQk9IDIsCiB9OwogCisvKgorICogVVNCIEhTIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIF9faW5pdGRhdGEgY2FwOWFka191c2JhX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BCMzEsCit9OwogCiAvKgogICogQURTNzg0NiBUb3VjaHNjcmVlbgpAQCAtMzI2LDYgKzMzMiw5IEBACiAJLyogVVNCIEhvc3QgKi8KIAlzZXRfaXJxX3R5cGUoQVQ5MUNBUDlfSURfVUhQLCBJUlFUX0hJR0gpOwogCWF0OTFfYWRkX2RldmljZV91c2JoKCZjYXA5YWRrX3VzYmhfZGF0YSk7CisJLyogVVNCIEhTICovCisJc2V0X2lycV90eXBlKEFUOTFDQVA5X0lEX1VEUEhTLCBJUlFUX0hJR0gpOworCWF0OTFfYWRkX2RldmljZV91c2JhKCZjYXA5YWRrX3VzYmFfdWRjX2RhdGEpOwogCS8qIFNQSSAqLwogCWF0OTFfYWRkX2RldmljZV9zcGkoY2FwOWFka19zcGlfZGV2aWNlcywgQVJSQVlfU0laRShjYXA5YWRrX3NwaV9kZXZpY2VzKSk7CiAJLyogVG91Y2hzY3JlZW4gKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXJtZXZhLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FybWV2YS5jCmluZGV4IDBmMDg3ODIuLjk4NTRmYzMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXJtZXZhLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcm1ldmEuYwpAQCAtNDAsMjQgKzQwLDIxIEBACiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICovCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSBjYXJtZXZhX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAyLAotCS50dHlfbWFwCT0geyA0LCAxLCAtMSwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCiBzdGF0aWMgdm9pZCBfX2luaXQgY2FybWV2YV9tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMjAuMDAwIE1IeiBjcnlzdGFsICovCiAJYXQ5MXJtOTIwMF9pbml0aWFsaXplKDIwMDAwMDAwLCBBVDkxUk05MjAwX0JHQSk7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmY2FybWV2YV91YXJ0X2NvbmZpZyk7CisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCSAgIHwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQkgICB8IEFUTUVMX1VBUlRfUkkpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGNhcm1ldmFfaW5pdF9pcnEodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jc2I2MzcuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jc2I2MzcuYwppbmRleCA0MTlmZDE5Li5iYjFhNTQ3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY3NiNjM3LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNzYjYzNy5jCkBAIC00NSwxMCArNDUsMTAgQEAKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMy42ODY0IE1IeiBjcnlzdGFsICovCiAJYXQ5MXJtOTIwMF9pbml0aWFsaXplKDM2ODY0MDAsIEFUOTFSTTkyMDBfQkdBKTsKIAotCS8qIERCR1Ugb24gdHR5UzAgKi8KKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLwogCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKIAotCS8qIG1ha2UgY29uc29sZT10dHlTMCB0aGUgZGVmYXVsdCAqLworCS8qIG1ha2UgY29uc29sZT10dHlTMCAoaWUsIERCR1UpIHRoZSBkZWZhdWx0ICovCiAJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1kay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWRrLmMKaW5kZXggYzFhODEzYy4uZGFiOTU4ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWRrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWRrLmMKQEAgLTQ1LDE3ICs0NSw2IEBACiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICovCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSBka191YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMiwKLQkudHR5X21hcAk9IHsgNCwgMSwgLTEsIC0xLCAtMSB9CQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGRrX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxOC40MzIgTUh6IGNyeXN0YWwgKi8KQEAgLTY0LDggKzUzLDE2IEBACiAJLyogU2V0dXAgdGhlIExFRHMgKi8KIAlhdDkxX2luaXRfbGVkcyhBVDkxX1BJTl9QQjIsIEFUOTFfUElOX1BCMik7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmZGtfdWFydF9jb25maWcpOworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQkgICB8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJICAgfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBka19pbml0X2lycSh2b2lkKQpAQCAtMTYzLDcgKzE2MCw3IEBACiAjZGVmaW5lIERLX0ZMQVNIX1NJWkUJMHgyMDAwMDAKIAogc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgZGtfZmxhc2hfZGF0YSA9IHsKLQkud2lkdGgJPSAyLAorCS53aWR0aAkJPSAyLAogfTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBka19mbGFzaF9yZXNvdXJjZSA9IHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lYjkyMDAuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lYjkyMDAuYwppbmRleCBhZjFhMWQ4Li4zZmUwNTRlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWI5MjAwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWViOTIwMC5jCkBAIC00MCwyNCArNDAsMjQgQEAKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGViOTIwMF91YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMiwKLQkudHR5X21hcAk9IHsgNCwgMSwgLTEsIC0xLCAtMSB9CQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGViOTIwMF9tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTguNDMyIE1IeiBjcnlzdGFsICovCiAJYXQ5MXJtOTIwMF9pbml0aWFsaXplKDE4NDMyMDAwLCBBVDkxUk05MjAwX0JHQSk7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmZWI5MjAwX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCXwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBVU0FSVDIgb24gdHR5UzIuIChSeCwgVHgpIC0gSVJEQSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMiwgMiwgMCk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgZWI5MjAwX2luaXRfaXJxKHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWsuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lay5jCmluZGV4IDA1NzRlNTAuLjc0YWE0MzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lay5jCkBAIC00NSwxNyArNDUsNiBAQAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqLwotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEgZWtfdWFydF9jb25maWcgPSB7Ci0JLmNvbnNvbGVfdHR5CT0gMCwJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDIsCi0JLnR0eV9tYXAJPSB7IDQsIDEsIC0xLCAtMSwgLTEgfQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBla19tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTguNDMyIE1IeiBjcnlzdGFsICovCkBAIC02NCw4ICs1MywxNiBAQAogCS8qIFNldHVwIHRoZSBMRURzICovCiAJYXQ5MV9pbml0X2xlZHMoQVQ5MV9QSU5fUEIxLCBBVDkxX1BJTl9QQjIpOwogCi0JLyogU2V0dXAgdGhlIHNlcmlhbCBwb3J0cyBhbmQgY29uc29sZSAqLwotCWF0OTFfaW5pdF9zZXJpYWwoJmVrX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJICAgfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCSAgIHwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgZWtfaW5pdF9pcnEodm9pZCkKQEAgLTEyMiw3ICsxMTksNyBAQAogI2RlZmluZSBFS19GTEFTSF9TSVpFCTB4MjAwMDAwCiAKIHN0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIGVrX2ZsYXNoX2RhdGEgPSB7Ci0JLndpZHRoCT0gMiwKKwkud2lkdGgJCT0gMiwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZWtfZmxhc2hfcmVzb3VyY2UgPSB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQta2I5MjAyLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQta2I5MjAyLmMKaW5kZXggNGIzOWI5Yy4uY2IwNjVmZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWtiOTIwMi5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1rYjkyMDIuYwpAQCAtMzcsMjAgKzM3LDExIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CiAKKyNpbmNsdWRlIDxhc20vYXJjaC9hdDkxcm05MjAwX21jLmg+CisKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGtiOTIwMl91YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDMsCi0JLnR0eV9tYXAJPSB7IDQsIDAsIDEsIC0xLCAtMSB9CQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBrYjkyMDJfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDEwIE1IeiBjcnlzdGFsICovCkBAIC01OSw4ICs1MCwyMCBAQAogCS8qIFNldCB1cCB0aGUgTEVEcyAqLwogCWF0OTFfaW5pdF9sZWRzKEFUOTFfUElOX1BDMTksIEFUOTFfUElOX1BDMTgpOwogCi0JLyogU2V0dXAgdGhlIHNlcmlhbCBwb3J0cyBhbmQgY29uc29sZSAqLwotCWF0OTFfaW5pdF9zZXJpYWwoJmtiOTIwMl91YXJ0X2NvbmZpZyk7CisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDAgb24gdHR5UzEgKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzAsIDEsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMyIChSeCAmIFR4IG9ubHkpIC0gSVJEQSAob3B0aW9uYWwpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAyLCAwKTsKKworCS8qIFVTQVJUMyBvbiB0dHlTMyAoUngsIFR4LCBDVFMsIFJUUykgLSBSUzQ4NSAob3B0aW9uYWwpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMzLCAzLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBrYjkyMDJfaW5pdF9pcnEodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1xaWwtYTkyNjAuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1xaWwtYTkyNjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWI0ZWMzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXFpbC1hOTI2MC5jCkBAIC0wLDAgKzEsMjU1IEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXFpbC1hOTI2MC5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwNSBTQU4gUGVvcGxlCisgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEF0bWVsCisgKiAgQ29weXJpZ2h0IChDKSAyMDA3IENhbGFvLXN5c3RlbXMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfc2hkd2MuaD4KKworI2luY2x1ZGUgImdlbmVyaWMuaCIKKworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfbWFwX2lvKHZvaWQpCit7CisJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDEyLjAwMCBNSHogY3J5c3RhbCAqLworCWF0OTFzYW05MjYwX2luaXRpYWxpemUoMTIwMDAwMDApOworCisJLyogREdCVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDAgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVNBTTkyNjBfSURfVVMwLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQkgICB8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJICAgfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMi4gKFJ4LCBUeCwgQ1RTLCBSVFMpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFTQU05MjYwX0lEX1VTMSwgMiwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUyk7CisKKwkvKiBVU0FSVDIgb24gdHR5UzMuIChSeCwgVHgsIENUUywgUlRTKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxU0FNOTI2MF9JRF9VUzIsIDMsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMxIChpZSwgVVNBUlQwKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDEpOworCit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19pbml0X2lycSh2b2lkKQoreworCWF0OTFzYW05MjYwX2luaXRfaW50ZXJydXB0cyhOVUxMKTsKK30KKworCisvKgorICogVVNCIEhvc3QgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIF9faW5pdGRhdGEgZWtfdXNiaF9kYXRhID0geworCS5wb3J0cwkJPSAyLAorfTsKKworLyoKKyAqIFVTQiBEZXZpY2UgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSBla191ZGNfZGF0YSA9IHsKKwkudmJ1c19waW4JPSBBVDkxX1BJTl9QQzUsCisJLnB1bGx1cF9waW4JPSAwLAkJLyogcHVsbC11cCBkcml2ZW4gYnkgVURDICovCit9OworCisvKgorICogU1BJIGRldmljZXMuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8gZWtfc3BpX2RldmljZXNbXSA9IHsKKyNpZiBkZWZpbmVkKENPTkZJR19SVENfRFJWX000MVQ5NCkKKwl7CS8qIE00MVQ5NCBSVEMgKi8KKwkJLm1vZGFsaWFzCT0gIm00MXQ5NCIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tYXhfc3BlZWRfaHoJPSAxICogMTAwMCAqIDEwMDAsCisJCS5idXNfbnVtCT0gMCwKKwl9CisjZW5kaWYKK307CisKKy8qCisgKiBNQUNCIEV0aGVybmV0IGRldmljZQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfZXRoX2RhdGEgX19pbml0ZGF0YSBla19tYWNiX2RhdGEgPSB7CisJLnBoeV9pcnFfcGluCT0gQVQ5MV9QSU5fUEEzMSwKKwkuaXNfcm1paQk9IDEsCit9OworCisvKgorICogTkFORCBmbGFzaAorICovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gX19pbml0ZGF0YSBla19uYW5kX3BhcnRpdGlvbltdID0geworCXsKKwkJLm5hbWUJPSAiVWJvb3QgJiBLZXJuZWwiLAorCQkub2Zmc2V0CT0gMHgwMDAwMDAwMCwKKwkJLnNpemUJPSAxNiAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJSb290IEZTIiwKKwkJLm9mZnNldAk9IDB4MDEwMDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIkZTIiwKKwkJLm9mZnNldAk9IDB4MDg4MDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiAqIF9faW5pdCBuYW5kX3BhcnRpdGlvbnMoaW50IHNpemUsIGludCAqbnVtX3BhcnRpdGlvbnMpCit7CisJKm51bV9wYXJ0aXRpb25zID0gQVJSQVlfU0laRShla19uYW5kX3BhcnRpdGlvbik7CisJcmV0dXJuIGVrX25hbmRfcGFydGl0aW9uOworfQorCitzdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgZWtfbmFuZF9kYXRhID0geworCS5hbGUJCT0gMjEsCisJLmNsZQkJPSAyMiwKKy8vCS5kZXRfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKKwkucmR5X3Bpbgk9IEFUOTFfUElOX1BDMTMsCisJLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE0LAorCS5wYXJ0aXRpb25faW5mbwk9IG5hbmRfcGFydGl0aW9ucywKKyNpZiBkZWZpbmVkKENPTkZJR19NVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2KQorCS5idXNfd2lkdGhfMTYJPSAxLAorI2Vsc2UKKwkuYnVzX3dpZHRoXzE2CT0gMCwKKyNlbmRpZgorfTsKKworLyoKKyAqIE1DSSAoU0QvTU1DKQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfbW1jX2RhdGEgX19pbml0ZGF0YSBla19tbWNfZGF0YSA9IHsKKwkuc2xvdF9iCQk9IDAsCisJLndpcmU0CQk9IDEsCisvLwkuZGV0X3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCisvLwkud3BfcGluCQk9IC4uLiBub3QgY29ubmVjdGVkCisvLwkudmNjX3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCit9OworCisvKgorICogR1BJTyBCdXR0b25zCisgKi8KKyNpZiBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPKSB8fCBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPX01PRFVMRSkKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBla19idXR0b25zW10gPSB7CisJewkvKiBVU0VSIFBVU0ggQlVUVE9OICovCisJCS5jb2RlCQk9IEtFWV9FTlRFUiwKKwkJLmdwaW8JCT0gQVQ5MV9QSU5fUEIxMCwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCQkuZGVzYwkJPSAidXNlcl9wYiIsCisJCS53YWtldXAJCT0gMSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIGVrX2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gZWtfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKGVrX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZWtfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZla19idXR0b25fZGF0YSwKKwl9Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYWRkX2RldmljZV9idXR0b25zKHZvaWQpCit7CisJYXQ5MV9zZXRfR1BJT19wZXJpcGgoQVQ5MV9QSU5fUEIxMCwgMSk7CS8qIHVzZXIgcHVzaCBidXR0b24sIHB1bGwgdXAgZW5hYmxlZCAqLworCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BCMTAsIDEpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZla19idXR0b25fZGV2aWNlKTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYWRkX2RldmljZV9idXR0b25zKHZvaWQpIHt9CisjZW5kaWYKKworLyoKKyAqIExFRHMKKyAqLworc3RhdGljIHN0cnVjdCBncGlvX2xlZCBla19sZWRzW10gPSB7CisJewkvKiB1c2VyX2xlZCAoZ3JlZW4pICovCisJCS5uYW1lCQkJPSAidXNlcl9sZWQiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIyMSwKKwkJLmFjdGl2ZV9sb3cJCT0gMCwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19ib2FyZF9pbml0KHZvaWQpCit7CisJLyogU2VyaWFsICovCisJYXQ5MV9hZGRfZGV2aWNlX3NlcmlhbCgpOworCS8qIFVTQiBIb3N0ICovCisJYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJmVrX3VzYmhfZGF0YSk7CisJLyogVVNCIERldmljZSAqLworCWF0OTFfYWRkX2RldmljZV91ZGMoJmVrX3VkY19kYXRhKTsKKwkvKiBTUEkgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc3BpKGVrX3NwaV9kZXZpY2VzLCBBUlJBWV9TSVpFKGVrX3NwaV9kZXZpY2VzKSk7CisJLyogTkFORCAqLworCWF0OTFfYWRkX2RldmljZV9uYW5kKCZla19uYW5kX2RhdGEpOworCS8qIEkyQyAqLworCWF0OTFfYWRkX2RldmljZV9pMmMoTlVMTCwgMCk7CisJLyogRXRoZXJuZXQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfZXRoKCZla19tYWNiX2RhdGEpOworCS8qIE1NQyAqLworCWF0OTFfYWRkX2RldmljZV9tbWMoMCwgJmVrX21tY19kYXRhKTsKKwkvKiBQdXNoIEJ1dHRvbnMgKi8KKwlla19hZGRfZGV2aWNlX2J1dHRvbnMoKTsKKwkvKiBMRURzICovCisJYXQ5MV9ncGlvX2xlZHMoZWtfbGVkcywgQVJSQVlfU0laRShla19sZWRzKSk7CisJLyogc2h1dGRvd24gY29udHJvbGxlciwgd2FrZXVwIGJ1dHRvbiAoNSBtc2VjIGxvdykgKi8KKwlhdDkxX3N5c193cml0ZShBVDkxX1NIRFdfTVIsIEFUOTFfU0hEV19DUFRXSzBfKDEwKSB8IEFUOTFfU0hEV19XS01PREUwX0xPVworCQkJCXwgQVQ5MV9TSERXX1JUVFdLRU4pOworfQorCitNQUNISU5FX1NUQVJUKFFJTF9BOTI2MCwgIkNBTEFPIFFJTF9BOTI2MCIpCisJLyogTWFpbnRhaW5lcjogY2FsYW8tc3lzdGVtcyAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKKwkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCisJLnRpbWVyCQk9ICZhdDkxc2FtOTI2eF90aW1lciwKKwkubWFwX2lvCQk9IGVrX21hcF9pbywKKwkuaW5pdF9pcnEJPSBla19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0gZWtfYm9hcmRfaW5pdCwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOWcyMGVrLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOWcyMGVrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU2MTdjMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05ZzIwZWsuYwpAQCAtMCwwICsxLDIxOCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUgU0FOIFBlb3BsZQorICogIENvcHlyaWdodCAoQykgMjAwOCBBdG1lbAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisjaW5jbHVkZSA8bGludXgvc3BpL2F0NzNjMjEzLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorCisjaW5jbHVkZSAiZ2VuZXJpYy5oIgorCisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19tYXBfaW8odm9pZCkKK3sKKwkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTguNDMyIE1IeiBjcnlzdGFsICovCisJYXQ5MXNhbTkyNjBfaW5pdGlhbGl6ZSgxODQzMjAwMCk7CisKKwkvKiBER0JVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMCBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxU0FNOTI2MF9JRF9VUzAsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCSAgIHwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQkgICB8IEFUTUVMX1VBUlRfUkkpOworCisJLyogVVNBUlQxIG9uIHR0eVMyLiAoUngsIFR4LCBSVFMsIENUUykgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVNBTTkyNjBfSURfVVMxLCAyLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19pbml0X2lycSh2b2lkKQoreworCWF0OTFzYW05MjYwX2luaXRfaW50ZXJydXB0cyhOVUxMKTsKK30KKworCisvKgorICogVVNCIEhvc3QgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIF9faW5pdGRhdGEgZWtfdXNiaF9kYXRhID0geworCS5wb3J0cwkJPSAyLAorfTsKKworLyoKKyAqIFVTQiBEZXZpY2UgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSBla191ZGNfZGF0YSA9IHsKKwkudmJ1c19waW4JPSBBVDkxX1BJTl9QQzUsCisJLnB1bGx1cF9waW4JPSAwLAkJLyogcHVsbC11cCBkcml2ZW4gYnkgVURDICovCit9OworCisKKy8qCisgKiBTUEkgZGV2aWNlcy4KKyAqLworc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyBla19zcGlfZGV2aWNlc1tdID0geworI2lmICFkZWZpbmVkKENPTkZJR19NTUNfQVQ5MSkKKwl7CS8qIERhdGFGbGFzaCBjaGlwICovCisJCS5tb2RhbGlhcwk9ICJtdGRfZGF0YWZsYXNoIiwKKwkJLmNoaXBfc2VsZWN0CT0gMSwKKwkJLm1heF9zcGVlZF9oegk9IDE1ICogMTAwMCAqIDEwMDAsCisJCS5idXNfbnVtCT0gMCwKKwl9LAorI2lmIGRlZmluZWQoQ09ORklHX01URF9BVDkxX0RBVEFGTEFTSF9DQVJEKQorCXsJLyogRGF0YUZsYXNoIGNhcmQgKi8KKwkJLm1vZGFsaWFzCT0gIm10ZF9kYXRhZmxhc2giLAorCQkuY2hpcF9zZWxlY3QJPSAwLAorCQkubWF4X3NwZWVkX2h6CT0gMTUgKiAxMDAwICogMTAwMCwKKwkJLmJ1c19udW0JPSAwLAorCX0sCisjZW5kaWYKKyNlbmRpZgorfTsKKworCisvKgorICogTUFDQiBFdGhlcm5ldCBkZXZpY2UKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgZWtfbWFjYl9kYXRhID0geworCS5waHlfaXJxX3Bpbgk9IEFUOTFfUElOX1BBNywKKwkuaXNfcm1paQk9IDEsCit9OworCisKKy8qCisgKiBOQU5EIGZsYXNoCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIGVrX25hbmRfcGFydGl0aW9uW10gPSB7CisJeworCQkubmFtZSAgID0gIkJvb3RzdHJhcCIsCisJCS5vZmZzZXQgPSAwLAorCQkuc2l6ZSAgID0gNCAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJQYXJ0aXRpb24gMSIsCisJCS5vZmZzZXQJPSA0ICogMTAyNCAqIDEwMjQsCisJCS5zaXplCT0gNjAgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiUGFydGl0aW9uIDIiLAorCQkub2Zmc2V0CT0gNjQgKiAxMDI0ICogMTAyNCwKKwkJLnNpemUJPSBNVERQQVJUX1NJWl9GVUxMLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gKiBfX2luaXQgbmFuZF9wYXJ0aXRpb25zKGludCBzaXplLCBpbnQgKm51bV9wYXJ0aXRpb25zKQoreworCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoZWtfbmFuZF9wYXJ0aXRpb24pOworCXJldHVybiBla19uYW5kX3BhcnRpdGlvbjsKK30KKworLyogZGV0X3BpbiBpcyBub3QgY29ubmVjdGVkICovCitzdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgZWtfbmFuZF9kYXRhID0geworCS5hbGUJCT0gMjEsCisJLmNsZQkJPSAyMiwKKwkucmR5X3Bpbgk9IEFUOTFfUElOX1BDMTMsCisJLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE0LAorCS5wYXJ0aXRpb25faW5mbwk9IG5hbmRfcGFydGl0aW9ucywKKyNpZiBkZWZpbmVkKENPTkZJR19NVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2KQorCS5idXNfd2lkdGhfMTYJPSAxLAorI2Vsc2UKKwkuYnVzX3dpZHRoXzE2CT0gMCwKKyNlbmRpZgorfTsKKworCisvKgorICogTUNJIChTRC9NTUMpCisgKiBkZXRfcGluLCB3cF9waW4gYW5kIHZjY19waW4gYXJlIG5vdCBjb25uZWN0ZWQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX21tY19kYXRhIF9faW5pdGRhdGEgZWtfbW1jX2RhdGEgPSB7CisJLnNsb3RfYgkJPSAxLAorCS53aXJlNAkJPSAxLAorfTsKKworCisvKgorICogTEVEcworICovCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIGVrX2xlZHNbXSA9IHsKKwl7CS8qICJib3R0b20iIGxlZCwgZ3JlZW4sIHVzZXJsZWQxIHRvIGJlIGRlZmluZWQgKi8KKwkJLm5hbWUJCQk9ICJkczUiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEE2LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gIm5vbmUiLAorCX0sCisJewkvKiAicG93ZXIiIGxlZCwgeWVsbG93ICovCisJCS5uYW1lCQkJPSAiZHMxIiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BBOSwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19ib2FyZF9pbml0KHZvaWQpCit7CisJLyogU2VyaWFsICovCisJYXQ5MV9hZGRfZGV2aWNlX3NlcmlhbCgpOworCS8qIFVTQiBIb3N0ICovCisJYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJmVrX3VzYmhfZGF0YSk7CisJLyogVVNCIERldmljZSAqLworCWF0OTFfYWRkX2RldmljZV91ZGMoJmVrX3VkY19kYXRhKTsKKwkvKiBTUEkgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc3BpKGVrX3NwaV9kZXZpY2VzLCBBUlJBWV9TSVpFKGVrX3NwaV9kZXZpY2VzKSk7CisJLyogTkFORCAqLworCWF0OTFfYWRkX2RldmljZV9uYW5kKCZla19uYW5kX2RhdGEpOworCS8qIEV0aGVybmV0ICovCisJYXQ5MV9hZGRfZGV2aWNlX2V0aCgmZWtfbWFjYl9kYXRhKTsKKwkvKiBNTUMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbW1jKDAsICZla19tbWNfZGF0YSk7CisJLyogSTJDICovCisJYXQ5MV9hZGRfZGV2aWNlX2kyYyhOVUxMLCAwKTsKKwkvKiBMRURzICovCisJYXQ5MV9ncGlvX2xlZHMoZWtfbGVkcywgQVJSQVlfU0laRShla19sZWRzKSk7Cit9CisKK01BQ0hJTkVfU1RBUlQoQVQ5MVNBTTlHMjBFSywgIkF0bWVsIEFUOTFTQU05RzIwLUVLIikKKwkvKiBNYWludGFpbmVyOiBBdG1lbCAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKKwkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCisJLnRpbWVyCQk9ICZhdDkxc2FtOTI2eF90aW1lciwKKwkubWFwX2lvCQk9IGVrX21hcF9pbywKKwkuaW5pdF9pcnEJPSBla19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0gZWtfYm9hcmRfaW5pdCwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOXJsZWsuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05cmxlay5jCmluZGV4IGZmYzA1OTcuLmI2YTcwZmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05cmxlay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05cmxlay5jCkBAIC01Niw2ICs1NiwxNCBAQAogCiAKIC8qCisgKiBVU0IgSFMgRGV2aWNlIHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgX19pbml0ZGF0YSBla191c2JhX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BBOCwKK307CisKKworLyoKICAqIE1DSSAoU0QvTU1DKQogICovCiBzdGF0aWMgc3RydWN0IGF0OTFfbW1jX2RhdGEgX19pbml0ZGF0YSBla19tbWNfZGF0YSA9IHsKQEAgLTE3NSw2ICsxODMsOCBAQAogewogCS8qIFNlcmlhbCAqLwogCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKKwkvKiBVU0IgSFMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdXNiYSgmZWtfdXNiYV91ZGNfZGF0YSk7CiAJLyogSTJDICovCiAJYXQ5MV9hZGRfZGV2aWNlX2kyYyhOVUxMLCAwKTsKIAkvKiBOQU5EICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYwLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM3YWVkZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjAuYwpAQCAtMCwwICsxLDIxNSBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjAuYworICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUgU0FOIFBlb3BsZQorICogIENvcHlyaWdodCAoQykgMjAwNiBBdG1lbAorICogIENvcHlyaWdodCAoQykgMjAwNyBDYWxhby1zeXN0ZW1zCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdDkxX3NoZHdjLmg+CisKKyNpbmNsdWRlICJnZW5lcmljLmgiCisKKworc3RhdGljIHZvaWQgX19pbml0IGVrX21hcF9pbyh2b2lkKQoreworCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxMi4wMDAgTUh6IGNyeXN0YWwgKi8KKwlhdDkxc2FtOTI2MF9pbml0aWFsaXplKDEyMDAwMDAwKTsKKworCS8qIERHQlUgb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVrX2luaXRfaXJxKHZvaWQpCit7CisJYXQ5MXNhbTkyNjBfaW5pdF9pbnRlcnJ1cHRzKE5VTEwpOworfQorCisKKy8qCisgKiBVU0IgSG9zdCBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSBla191c2JoX2RhdGEgPSB7CisJLnBvcnRzCQk9IDIsCit9OworCisvKgorICogVVNCIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSBfX2luaXRkYXRhIGVrX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BDNSwKKwkucHVsbHVwX3Bpbgk9IDAsCQkvKiBwdWxsLXVwIGRyaXZlbiBieSBVREMgKi8KK307CisKKy8qCisgKiBNQUNCIEV0aGVybmV0IGRldmljZQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfZXRoX2RhdGEgX19pbml0ZGF0YSBla19tYWNiX2RhdGEgPSB7CisJLnBoeV9pcnFfcGluCT0gQVQ5MV9QSU5fUEEzMSwKKwkuaXNfcm1paQk9IDEsCit9OworCisvKgorICogTkFORCBmbGFzaAorICovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gX19pbml0ZGF0YSBla19uYW5kX3BhcnRpdGlvbltdID0geworCXsKKwkJLm5hbWUJPSAiVWJvb3QgJiBLZXJuZWwiLAorCQkub2Zmc2V0CT0gMHgwMDAwMDAwMCwKKwkJLnNpemUJPSAxNiAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJSb290IEZTIiwKKwkJLm9mZnNldAk9IDB4MDEwMDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIkZTIiwKKwkJLm9mZnNldAk9IDB4MDg4MDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uICogX19pbml0IG5hbmRfcGFydGl0aW9ucyhpbnQgc2l6ZSwgaW50ICpudW1fcGFydGl0aW9ucykKK3sKKwkqbnVtX3BhcnRpdGlvbnMgPSBBUlJBWV9TSVpFKGVrX25hbmRfcGFydGl0aW9uKTsKKwlyZXR1cm4gZWtfbmFuZF9wYXJ0aXRpb247Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9uYW5kX2RhdGEgX19pbml0ZGF0YSBla19uYW5kX2RhdGEgPSB7CisJLmFsZQkJPSAyMSwKKwkuY2xlCQk9IDIyLAorLy8JLmRldF9waW4JPSAuLi4gbm90IGNvbm5lY3RlZAorCS5yZHlfcGluCT0gQVQ5MV9QSU5fUEMxMywKKwkuZW5hYmxlX3Bpbgk9IEFUOTFfUElOX1BDMTQsCisJLnBhcnRpdGlvbl9pbmZvCT0gbmFuZF9wYXJ0aXRpb25zLAorI2lmIGRlZmluZWQoQ09ORklHX01URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYpCisJLmJ1c193aWR0aF8xNgk9IDEsCisjZWxzZQorCS5idXNfd2lkdGhfMTYJPSAwLAorI2VuZGlmCit9OworCisvKgorICogR1BJTyBCdXR0b25zCisgKi8KKworI2lmIGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU8pIHx8IGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU9fTU9EVUxFKQorc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIGVrX2J1dHRvbnNbXSA9IHsKKwl7CS8qIFVTRVIgUFVTSCBCVVRUT04gKi8KKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjEwLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJCS5kZXNjCQk9ICJ1c2VyX3BiIiwKKwkJLndha2V1cAkJPSAxLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZWtfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBla19idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUoZWtfYnV0dG9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBla19idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmVrX2J1dHRvbl9kYXRhLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkKK3sKKwlhdDkxX3NldF9HUElPX3BlcmlwaChBVDkxX1BJTl9QQjEwLCAxKTsJLyogdXNlciBwdXNoIGJ1dHRvbiwgcHVsbCB1cCBlbmFibGVkICovCisJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEIxMCwgMSk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmVrX2J1dHRvbl9kZXZpY2UpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkge30KKyNlbmRpZgorCisvKgorICogTEVEcworICovCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIGVrX2xlZHNbXSA9IHsKKwl7CS8qIHVzZXJfbGVkIChncmVlbikgKi8KKwkJLm5hbWUJCQk9ICJ1c2VyX2xlZCIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjIxLAorCQkuYWN0aXZlX2xvdwkJPSAwLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCisJfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGVrX2JvYXJkX2luaXQodm9pZCkKK3sKKwkvKiBTZXJpYWwgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc2VyaWFsKCk7CisJLyogVVNCIEhvc3QgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmZWtfdXNiaF9kYXRhKTsKKwkvKiBVU0IgRGV2aWNlICovCisJYXQ5MV9hZGRfZGV2aWNlX3VkYygmZWtfdWRjX2RhdGEpOworCS8qIE5BTkQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbmFuZCgmZWtfbmFuZF9kYXRhKTsKKwkvKiBJMkMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfaTJjKE5VTEwsIDApOworCS8qIEV0aGVybmV0ICovCisJYXQ5MV9hZGRfZGV2aWNlX2V0aCgmZWtfbWFjYl9kYXRhKTsKKwkvKiBQdXNoIEJ1dHRvbnMgKi8KKwlla19hZGRfZGV2aWNlX2J1dHRvbnMoKTsKKwkvKiBMRURzICovCisJYXQ5MV9ncGlvX2xlZHMoZWtfbGVkcywgQVJSQVlfU0laRShla19sZWRzKSk7CisJLyogc2h1dGRvd24gY29udHJvbGxlciwgd2FrZXVwIGJ1dHRvbiAoNSBtc2VjIGxvdykgKi8KKwlhdDkxX3N5c193cml0ZShBVDkxX1NIRFdfTVIsIEFUOTFfU0hEV19DUFRXSzBfKDEwKSB8IEFUOTFfU0hEV19XS01PREUwX0xPVworCQkJCXwgQVQ5MV9TSERXX1JUVFdLRU4pOworfQorCitNQUNISU5FX1NUQVJUKFVTQl9BOTI2MCwgIkNBTEFPIFVTQl9BOTI2MCIpCisJLyogTWFpbnRhaW5lcjogY2FsYW8tc3lzdGVtcyAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKKwkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCisJLnRpbWVyCQk9ICZhdDkxc2FtOTI2eF90aW1lciwKKwkubWFwX2lvCQk9IGVrX21hcF9pbywKKwkuaW5pdF9pcnEJPSBla19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0gZWtfYm9hcmRfaW5pdCwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU4MDBkMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjMuYwpAQCAtMCwwICsxLDIzMCBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjMuYworICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUgU0FOIFBlb3BsZQorICogIENvcHlyaWdodCAoQykgMjAwNyBBdG1lbCBDb3Jwb3JhdGlvbi4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQ2FsYW8tc3lzdGVtcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9zaGR3Yy5oPgorCisjaW5jbHVkZSAiZ2VuZXJpYy5oIgorCisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19tYXBfaW8odm9pZCkKK3sKKwkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTIuMDAgTUh6IGNyeXN0YWwgKi8KKwlhdDkxc2FtOTI2M19pbml0aWFsaXplKDEyMDAwMDAwKTsKKworCS8qIERHQlUgb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVrX2luaXRfaXJxKHZvaWQpCit7CisJYXQ5MXNhbTkyNjNfaW5pdF9pbnRlcnJ1cHRzKE5VTEwpOworfQorCisKKy8qCisgKiBVU0IgSG9zdCBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSBla191c2JoX2RhdGEgPSB7CisJLnBvcnRzCQk9IDIsCit9OworCisvKgorICogVVNCIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSBfX2luaXRkYXRhIGVrX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BCMTEsCisJLnB1bGx1cF9waW4JPSAwLAkJLyogcHVsbC11cCBkcml2ZW4gYnkgVURDICovCit9OworCisvKgorICogU1BJIGRldmljZXMuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8gZWtfc3BpX2RldmljZXNbXSA9IHsKKyNpZiAhZGVmaW5lZChDT05GSUdfTU1DX0FUOTEpCisJewkvKiBEYXRhRmxhc2ggY2hpcCAqLworCQkubW9kYWxpYXMJPSAibXRkX2RhdGFmbGFzaCIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tYXhfc3BlZWRfaHoJPSAxNSAqIDEwMDAgKiAxMDAwLAorCQkuYnVzX251bQk9IDAsCisJfQorI2VuZGlmCit9OworCisvKgorICogTUFDQiBFdGhlcm5ldCBkZXZpY2UKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgZWtfbWFjYl9kYXRhID0geworCS5waHlfaXJxX3Bpbgk9IEFUOTFfUElOX1BFMzEsCisJLmlzX3JtaWkJPSAxLAorfTsKKworLyoKKyAqIE5BTkQgZmxhc2gKKyAqLworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIF9faW5pdGRhdGEgZWtfbmFuZF9wYXJ0aXRpb25bXSA9IHsKKwl7CisJCS5uYW1lCT0gIkxpbnV4IEtlcm5lbCIsCisJCS5vZmZzZXQJPSAweDAwMDAwMDAwLAorCQkuc2l6ZQk9IDE2ICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIlJvb3QgRlMiLAorCQkub2Zmc2V0CT0gMHgwMTAwMDAwMCwKKwkJLnNpemUJPSAxMjAgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiRlMiLAorCQkub2Zmc2V0CT0gMHgwODgwMDAwMCwKKwkJLnNpemUJPSAxMjAgKiAxMDI0ICogMTAyNCwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gKiBfX2luaXQgbmFuZF9wYXJ0aXRpb25zKGludCBzaXplLCBpbnQgKm51bV9wYXJ0aXRpb25zKQoreworCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoZWtfbmFuZF9wYXJ0aXRpb24pOworCXJldHVybiBla19uYW5kX3BhcnRpdGlvbjsKK30KKworc3RhdGljIHN0cnVjdCBhdDkxX25hbmRfZGF0YSBfX2luaXRkYXRhIGVrX25hbmRfZGF0YSA9IHsKKwkuYWxlCQk9IDIxLAorCS5jbGUJCT0gMjIsCisvLwkuZGV0X3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCisJLnJkeV9waW4JPSBBVDkxX1BJTl9QQTIyLAorCS5lbmFibGVfcGluCT0gQVQ5MV9QSU5fUEQxNSwKKwkucGFydGl0aW9uX2luZm8JPSBuYW5kX3BhcnRpdGlvbnMsCisjaWYgZGVmaW5lZChDT05GSUdfTVREX05BTkRfQVQ5MV9CVVNXSURUSF8xNikKKwkuYnVzX3dpZHRoXzE2CT0gMSwKKyNlbHNlCisJLmJ1c193aWR0aF8xNgk9IDAsCisjZW5kaWYKK307CisKKy8qCisgKiBHUElPIEJ1dHRvbnMKKyAqLworI2lmIGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU8pIHx8IGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU9fTU9EVUxFKQorc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIGVrX2J1dHRvbnNbXSA9IHsKKwl7CS8qIFVTRVIgUFVTSCBCVVRUT04gKi8KKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjEwLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJCS5kZXNjCQk9ICJ1c2VyX3BiIiwKKwkJLndha2V1cAkJPSAxLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZWtfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBla19idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUoZWtfYnV0dG9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBla19idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmVrX2J1dHRvbl9kYXRhLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkKK3sKKwlhdDkxX3NldF9HUElPX3BlcmlwaChBVDkxX1BJTl9QQjEwLCAxKTsJLyogdXNlciBwdXNoIGJ1dHRvbiwgcHVsbCB1cCBlbmFibGVkICovCisJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEIxMCwgMSk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmVrX2J1dHRvbl9kZXZpY2UpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkge30KKyNlbmRpZgorCisvKgorICogTEVEcworICovCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIGVrX2xlZHNbXSA9IHsKKwl7CS8qIHVzZXJfbGVkIChncmVlbikgKi8KKwkJLm5hbWUJCQk9ICJ1c2VyX2xlZCIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjIxLAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCisJfQorfTsKKworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYm9hcmRfaW5pdCh2b2lkKQoreworCS8qIFNlcmlhbCAqLworCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKKwkvKiBVU0IgSG9zdCAqLworCWF0OTFfYWRkX2RldmljZV91c2JoKCZla191c2JoX2RhdGEpOworCS8qIFVTQiBEZXZpY2UgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdWRjKCZla191ZGNfZGF0YSk7CisJLyogU1BJICovCisJYXQ5MV9hZGRfZGV2aWNlX3NwaShla19zcGlfZGV2aWNlcywgQVJSQVlfU0laRShla19zcGlfZGV2aWNlcykpOworCS8qIEV0aGVybmV0ICovCisJYXQ5MV9hZGRfZGV2aWNlX2V0aCgmZWtfbWFjYl9kYXRhKTsKKwkvKiBOQU5EICovCisJYXQ5MV9hZGRfZGV2aWNlX25hbmQoJmVrX25hbmRfZGF0YSk7CisJLyogSTJDICovCisJYXQ5MV9hZGRfZGV2aWNlX2kyYyhOVUxMLCAwKTsKKwkvKiBQdXNoIEJ1dHRvbnMgKi8KKwlla19hZGRfZGV2aWNlX2J1dHRvbnMoKTsKKwkvKiBMRURzICovCisJYXQ5MV9ncGlvX2xlZHMoZWtfbGVkcywgQVJSQVlfU0laRShla19sZWRzKSk7CisJLyogc2h1dGRvd24gY29udHJvbGxlciwgd2FrZXVwIGJ1dHRvbiAoNSBtc2VjIGxvdykgKi8KKwlhdDkxX3N5c193cml0ZShBVDkxX1NIRFdfTVIsIEFUOTFfU0hEV19DUFRXSzBfKDEwKSB8IEFUOTFfU0hEV19XS01PREUwX0xPVworCQkJCXwgQVQ5MV9TSERXX1JUVFdLRU4pOworfQorCitNQUNISU5FX1NUQVJUKFVTQl9BOTI2MywgIkNBTEFPIFVTQl9BOTI2MyIpCisJLyogTWFpbnRhaW5lcjogY2FsYW8tc3lzdGVtcyAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKKwkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCisJLnRpbWVyCQk9ICZhdDkxc2FtOTI2eF90aW1lciwKKwkubWFwX2lvCQk9IGVrX21hcF9pbywKKwkuaW5pdF9pcnEJPSBla19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0gZWtfYm9hcmRfaW5pdCwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQteWwtOTIwMC5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXlsLTkyMDAuYwppbmRleCBiNTcxNzEwLi43MDc5MDUwIDEwMDc1NQotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQteWwtOTIwMC5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC15bC05MjAwLmMKQEAgLTEsMTEgKzEsMTAgQEAKIC8qCiAgKiBsaW51eC9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQteWwtOTIwMC5jCiAgKgotICogQWRhcHRlZCBmcm9tOgotICp2YXJpb3VzIGJvYXJkIGZpbGVzIGluCi0gKiAvYXJjaC9hcm0vbWFjaC1hdDkxCi0gKiBtb2RpZmljYXRpb25zICB0byBjb252ZXJ0IHRvICBZTC05MjAwIHBsYXRmb3JtCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA3IFMuQmlydGxlcworICogQWRhcHRlZCBmcm9tIHZhcmlvdXMgYm9hcmQgZmlsZXMgaW4gYXJjaC9hcm0vbWFjaC1hdDkxCisgKgorICogTW9kaWZpY2F0aW9ucyBmb3IgWUwtOTIwMCBwbGF0Zm9ybToKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDcgUy4gQmlydGxlcwogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtMjYsMTMgKzI1LDE0IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+Ci0vKiNpbmNsdWRlIDxsaW51eC9jYW5fYnVzL2NhbmRhdGEuaD4qLwogI2luY2x1ZGUgPGxpbnV4L3NwaS9hZHM3ODQ2Lmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogCi0vKiNpbmNsdWRlIDxzb3VuZC9ncGlvX3NvdW5kZXIuaD4qLwogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CkBAIC00NSwxNzkgKzQ1LDEwOCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFybTkyMDBfbWMuaD4KLSNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgotI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfcGlvLmg+CiAKLSNkZWZpbmUgWUxfOTIwMF9GTEFTSF9CQVNFCUFUOTFfQ0hJUFNFTEVDVF8wCi0jZGVmaW5lIFlMXzkyMDBfRkxBU0hfU0laRQkweDgwMDAwMAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqYXRtZWxfdXNhcnQuMDogdHR5UzAgYXQgTU1JTyAweGZlZmZmMjAwIChpcnEgPSAxKSBpcyBhIEFUTUVMX1NFUklBTAotICphdG1lbF91c2FydC4xOiB0dHlTMSBhdCBNTUlPIDB4ZmZmYzAwMDAgKGlycSA9IDYpIGlzIGEgQVRNRUxfU0VSSUFMCi0gKmF0bWVsX3VzYXJ0LjI6IHR0eVMyIGF0IE1NSU8gMHhmZmZjNDAwMCAoaXJxID0gNykgaXMgYSBBVE1FTF9TRVJJQUwKLSAqYXRtZWxfdXNhcnQuMzogdHR5UzMgYXQgTU1JTyAweGZmZmM4MDAwIChpcnEgPSA4KSBpcyBhIEFUTUVMX1NFUklBTAotICphdG1lbF91c2FydC40OiB0dHlTNCBhdCBNTUlPIDB4ZmZmY2MwMDAgKGlycSA9IDkpIGlzIGEgQVRNRUxfU0VSSUFMCi0gKiBvbiB0aGUgWUwtOTIwMCB3ZSBhcmUgc2l0dGluZyBhdCB0aGUgZm9sbG93aW5nCi0gKnR0eVMwIGF0IE1NSU8gMHhmZWZmZjIwMCAoaXJxID0gMSkgaXMgYSBBVDkxX1NFUklBTAotICp0dHlTMSBhdCBNTUlPIDB4ZmVmYzQwMDAgKGlycSA9IDcpIGlzIGEgQVQ5MV9TRVJJQUwKLSAqLwotCi0vKiBleHRlcm4gdm9pZCBfX2luaXQgeWxfOTIwMF9hZGRfZGV2aWNlX3NvdW5kZXIoc3RydWN0IGdwaW9fc291bmRlciAqc291bmRlcnMsIGludCBucik7Ki8KLQotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEgeWxfOTIwMF91YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMywKLQkudHR5X21hcAk9IHsgNCwgMSwgMCwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9tYXBfaW8odm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDE4LjQzMiBNSHogY3J5c3RhbCAqLwotCS8qQWxzbyBpbml0aWFsaXNlcyByZWdpc3RlciBjbG9ja3MgJiBncGlvKi8KLQlhdDkxcm05MjAwX2luaXRpYWxpemUoMTg0MzIwMDAsIEFUOTFSTTkyMDBfUFFGUCk7IC8qd2UgaGF2ZSBhIDMgYmFuayBzeXN0ZW0qLworCWF0OTFybTkyMDBfaW5pdGlhbGl6ZSgxODQzMjAwMCwgQVQ5MVJNOTIwMF9QUUZQKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZ5bF85MjAwX3VhcnRfY29uZmlnKTsKKwkvKiBTZXR1cCB0aGUgTEVEcyBEMj1QQjE3ICh0aW1lciksIEQzPVBCMTYgKGNwdSkgKi8KKwlhdDkxX2luaXRfbGVkcyhBVDkxX1BJTl9QQjE2LCBBVDkxX1BJTl9QQjE3KTsKIAotCS8qIFNldHVwIHRoZSBMRURzIEQyPVBCMTcsRDM9UEIxNiAqLwotCWF0OTFfaW5pdF9sZWRzKEFUOTFfUElOX1BCMTYsQVQ5MV9QSU5fUEIxNyk7IC8qY3B1LWxlZCx0aW1lci1sZWQqLworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQl8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIFVTQVJUMCBvbiB0dHlTMi4gKFJ4ICYgVHggb25seSB0byBKUDMpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMwLCAyLCAwKTsKKworCS8qIFVTQVJUMyBvbiB0dHlTMy4gKFJ4LCBUeCwgUlRTIC0gUlM0ODUgaW50ZXJmYWNlKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMywgMywgQVRNRUxfVUFSVF9SVFMpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IHlsXzkyMDBfaW5pdF9pcnEodm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfaW5pdF9pcnEodm9pZCkKIHsKIAlhdDkxcm05MjAwX2luaXRfaW50ZXJydXB0cyhOVUxMKTsKIH0KIAotc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF9ldGhfZGF0YSA9IHsKLQkucGh5X2lycV9waW4JPSBBVDkxX1BJTl9QQjI4LAotCS5pc19ybWlpCT0gMSwKLX07CiAKLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSB5bF85MjAwX3VzYmhfZGF0YSA9IHsKLQkucG9ydHMJCT0gMSwgIC8qIHRoaXMgc2hvdWxkIGJlIDEgbm90IDIgZm9yIHRoZSBZbDkyMDAqLwotfTsKLQotc3RhdGljIHN0cnVjdCBhdDkxX3VkY19kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF91ZGNfZGF0YSA9IHsKLS8qb24gc2hlZXQgNyBTY2hlbWl0aWMgcmV2IDEuMCovCi0JLnB1bGx1cF9waW4JPSBBVDkxX1BJTl9QQzQsCi0JLnZidXNfcGluPSAgQVQ5MV9QSU5fUEM1LAotCS5wdWxsdXBfYWN0aXZlX2xvdyA9IDEsIC8qQUNUSVZFIExPVyEhIGR1ZSB0byBQTlAgdHJhbnNpc3RvciBvbiBwYWdlIDcqLwotCi19OwogLyoKLXN0YXRpYyBzdHJ1Y3QgYXQ5MV9jZl9kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF9jZl9kYXRhID0gewotVE9ETyBTLkJJUlRMRVMKLQkuZGV0X3Bpbgk9IEFUOTFfUElOX3h4eCwKLQkucnN0X3Bpbgk9IEFUOTFfUElOX3h4eCwKLQkuaXJxX3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCi0JLnZjY19waW4JPSAuLi4gYWx3YXlzIHBvd2VyZWQKKyAqIExFRHMKKyAqLworc3RhdGljIHN0cnVjdCBncGlvX2xlZCB5bDkyMDBfbGVkc1tdID0geworCXsJLyogRDIgKi8KKwkJLm5hbWUJCQk9ICJsZWQyIiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCMTcsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAidGltZXIiLAorCX0sCisJewkvKiBEMyAqLworCQkubmFtZQkJCT0gImxlZDMiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIxNiwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAorCX0sCisJewkvKiBENCAqLworCQkubmFtZQkJCT0gImxlZDQiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIxNSwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwl9LAorCXsJLyogRDUgKi8KKwkJLm5hbWUJCQk9ICJsZWQ1IiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCOCwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwl9Cit9OworCisvKgorICogRXRoZXJuZXQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgeWw5MjAwX2V0aF9kYXRhID0geworCS5waHlfaXJxX3BpbgkJPSBBVDkxX1BJTl9QQjI4LAorCS5pc19ybWlpCQk9IDEsCit9OworCisvKgorICogVVNCIEhvc3QKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VzYmhfZGF0YSBfX2luaXRkYXRhIHlsOTIwMF91c2JoX2RhdGEgPSB7CisJLnBvcnRzCQkJPSAxLAkvKiBQUUZQIHZlcnNpb24gb2YgQVQ5MVJNOTIwMCAqLworfTsKKworLyoKKyAqIFVTQiBEZXZpY2UKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VkY19kYXRhIF9faW5pdGRhdGEgeWw5MjAwX3VkY19kYXRhID0geworCS5wdWxsdXBfcGluCQk9IEFUOTFfUElOX1BDNCwKKwkudmJ1c19waW4JCT0gQVQ5MV9QSU5fUEM1LAorCS5wdWxsdXBfYWN0aXZlX2xvdwk9IDEsCS8qIEFjdGl2ZSBMb3cgZHVlIHRvIFBOUCB0cmFuc2lzdG9yIChwZyA3KSAqLwogCiB9OwotKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV9tbWNfZGF0YSBfX2luaXRkYXRhIHlsXzkyMDBfbW1jX2RhdGEgPSB7Ci0JLmRldF9waW4JPSBBVDkxX1BJTl9QQjksIC8qVEhJUyBMT09LUyBDT1JSRUNUIFNIRUVUNyovCi0vKgkud3BfcGluCQk9IC4uLiBub3QgY29ubmVjdGVkICBTSEVFVDcqLwotCS5zbG90X2IJCT0gMCwKKworLyoKKyAqIE1NQworICovCitzdGF0aWMgc3RydWN0IGF0OTFfbW1jX2RhdGEgX19pbml0ZGF0YSB5bDkyMDBfbW1jX2RhdGEgPSB7CisJLmRldF9waW4JPSBBVDkxX1BJTl9QQjksCisJLy8gLndwX3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCiAJLndpcmU0CQk9IDEsCi0KIH07CiAKLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiAgVG91Y2ggc2NyZWVuCi0gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwotI2lmIGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYpIHx8IGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDZfTU9EVUxFKQotc3RhdGljIGludCBhZHM3ODQzX3BlbmRvd25fc3RhdGUodm9pZCkKLXsKLQlyZXR1cm4gIWF0OTFfZ2V0X2dwaW9fdmFsdWUoQVQ5MV9QSU5fUEIxMSk7CS8qIFRvdWNoc2NyZWVuIFBFTklSUSAqLwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgYXQ5MV9pbml0X2RldmljZV90cyh2b2lkKQotewotLypJTVBPUlRBTlQgTk9URSBUSEUgU1BJIElOVEVSRkFDRSBJUyBBTFJFQURZIENPTkZJR1VSRUQgQlkgWFhYX0RFVklDRVMuQwotVEhBVCBJUyBUTyBTQVkgVEhBVCAgTUlTTyxNT1NJLFNQQ0sgQU5EIENTICBhcmUgYWxyZWFkeSBjb25maWd1cmVkCi13ZSBvbmx5IG5lZWQgdG8gZW5hYmxlIHRoZSBvdGhlciBkYXRhcGlucyB3aGljaCBhcmU6Ci1QQjEwL1JLMSBCVVNZCi0qLwotLyogVG91Y2hzY3JlZW4gQlVTWSBzaWduYWwgLCAgcGluLHVzZSBwdWxsdXAgKCBUT0RPIG5vdCBjdXJyZW50bHkgdXNlZCBpbiB0aGUgQURTNzg0My82LmMgZHJpdmVyKSovCi1hdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMTAsIDEpOwotfQotCi0jZWxzZQotc3RhdGljIHZvaWQgX19pbml0IGF0OTFfaW5pdF9kZXZpY2VfdHModm9pZCkge30KLSNlbmRpZgotCi1zdGF0aWMgc3RydWN0IGFkczc4NDZfcGxhdGZvcm1fZGF0YSBhZHNfaW5mbyA9IHsKLQkubW9kZWwJCQk9IDc4NDMsCi0JLnhfbWluCQkJPSAxNTAsCi0JLnhfbWF4CQkJPSAzODMwLAotCS55X21pbgkJCT0gMTkwLAotCS55X21heAkJCT0gMzgzMCwKLQkudnJlZl9kZWxheV91c2Vjcwk9IDEwMCwKLS8qIGZvciBhIDgiIHRvdWNoIHNjcmVlbiovCi0JLy8ueF9wbGF0ZV9vaG1zCQk9IDYwMywgLy89IDQ1MCwgUy5CaXJ0bGVzIFRPRE8KLQkvLy55X3BsYXRlX29obXMJCT0gMzMyLCAvLz0gMjUwLCBTLkJpcnRsZXMgVE9ETwotLypmb3IgYSAxMC40IiB0b3VjaCBzY3JlZW4qLwotCS8vLnhfcGxhdGVfb2htcwkJPTYxMSwKLQkvLy55X3BsYXRlX29obXMJCT0zMjUsCi0KLQkueF9wbGF0ZV9vaG1zCT0gNTc2LAotCS55X3BsYXRlX29obXMJPSAzNjYsCi0JCS8vCi0JLnByZXNzdXJlX21heAkJPSAxNTAwMCwgLypnZW5lcmFsbHkgbm9uc2Vuc2Ugb24gdGhlIDc4NDMqLwotCSAvKm51bWJlciBvZiB0aW1lcyB0byBzZW5kIHF1ZXJ5IHRvIGNoaXAgaW4gYSBnaXZlbiBydW4gMCBlcXVhbHMgb25lIHRpbWUgKGRvIG5vdCBzZXQgdG8gMCEhICx0aGVyZSBpcyBhIGJ1ZyBpbiBBRFMgNzg0NiBjb2RlKSovCi0JLmRlYm91bmNlX21heAkJPSAxLAotCS5kZWJvdW5jZV9yZXAJCT0gMCwKLQkuZGVib3VuY2VfdG9sCQk9ICh+MCksCi0JLmdldF9wZW5kb3duX3N0YXRlCT0gYWRzNzg0M19wZW5kb3duX3N0YXRlLAotfTsKLQotLypzdGF0aWMgc3RydWN0IGNhbmJ1c19wbGF0Zm9ybV9kYXRhIGNhbl9pbmZvID0gewotCS5tb2RlbAkJCT0gMjUxMCwKLX07Ci0qLwotCi1zdGF0aWMgc3RydWN0IHNwaV9ib2FyZF9pbmZvIHlsXzkyMDBfc3BpX2RldmljZXNbXSA9IHsKLS8qdGhpcyBzdGlja3MgaXQgYXQ6Ci0gL3N5cy9kZXZpY2VzL3BsYXRmb3JtL2F0bWVsX3NwaS4wL3NwaTAuMAotIC9zeXMvYnVzL3BsYXRmb3JtL2RldmljZXMvCi1Eb2N1bWVudGF0aW9uL3NwaSBJSVJDKi8KLQotI2lmIGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYpIHx8IGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDZfTU9EVUxFKQotIC8qKHRoaXMgSVMgY29ycmVjdCAwNC1OT1YtMjAwNykqLwotCXsKLQkJLm1vZGFsaWFzCQk9ICJhZHM3ODQ2IiwgLyogYmVjYXVzZSB0aGUgZHJpdmVyIGlzIGNhbGxlZCBhZHM3ODQ2Ki8KLQkJLmNoaXBfc2VsZWN0CT0gMCwgLypUSElTIE1VU1QgQkUgQU4gSU5ERVggSU5UTyBBTiBBUlJBWSBPRiAgcGlucyAqLwotLyp0aGlzIGlzIE9OTFkgVE8gQkUgVVNFRCBpZiBjaGlwc2VsZWN0IGFib3ZlIGlzIG5vdCB1c2VkLCBpdCBwYXNzZXMgYSBwaW4gZGlyZWN0bHkgZm9yIHRoZSBjaGlwIHNlbGVjdCovCi0JCS8qLmNvbnRyb2xsZXJfZGF0YSA9QVQ5MV9QSU5fUEEzICwqLwotCQkubWF4X3NwZWVkX2h6CT0gNTAwMCoyNiwgLyooNDcwMCAqIDI2KS0xMjUwMDAgKiAyNiwgKG1heCBzYW1wbGUgcmF0ZSBAIDNWKSAqIChjbWQgKyBkYXRhICsgb3ZlcmhlYWQpICovCi0JCS5idXNfbnVtCQk9IDAsCi0JCS5wbGF0Zm9ybV9kYXRhCT0gJmFkc19pbmZvLAotCQkuaXJxCQkJPSBBVDkxX1BJTl9QQjExLAotCX0sCi0jZW5kaWYKLS8qd2UgbmVlZCB0byBwdXQgb3VyIENBTiBkcml2ZXIgZGF0YSBoZXJlISEqLwotLypUSElTIElTIEFMTCBEVU1NWSBEQVRBKi8KLS8qCXsKLQkJLm1vZGFsaWFzCQk9ICJtY3AyNTEwIiwgLy9EVU1NWSBmb3IgTUNQMjUxMCBjaGlwCi0JCS5jaGlwX3NlbGVjdAk9IDEsKi8gLypUSElTIE1VU1QgQkUgQU4gSU5ERVggSU5UTyBBTiBBUlJBWSBPRiAgcGlucyAqLwotCS8qdGhpcyBpcyBPTkxZIFRPIEJFIFVTRUQgaWYgY2hpcHNlbGVjdCBhYm92ZSBpcyBub3QgdXNlZCwgaXQgcGFzc2VzIGEgcGluIGRpcmVjdGx5IGZvciB0aGUgY2hpcCBzZWxlY3QgKi8KLQkvKiAgLmNvbnRyb2xsZXJfZGF0YSA9QVQ5MV9QSU5fUEE0ICwKLQkJLm1heF9zcGVlZF9oegk9IDI1MDAwICogMjYsCi0JCS5idXNfbnVtCQk9IDAsCi0JCS5wbGF0Zm9ybV9kYXRhCT0gJmNhbl9pbmZvLAotCQkuaXJxCQkJPSBBVDkxX1BJTl9QQzAsCi0JfSwKLQkqLwotCS8vbWF4IFNQSSBjaGlwIG5lZWRzIHRvIGdvIGhlcmUKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIHlsXzkyMDBfbmFuZF9wYXJ0aXRpb25bXSA9IHsKKy8qCisgKiBOQU5EIEZsYXNoCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIHlsOTIwMF9uYW5kX3BhcnRpdGlvbltdID0gewogCXsKIAkJLm5hbWUJPSAiQVQ5MSBOQU5EIHBhcnRpdGlvbiAxLCBib290IiwKIAkJLm9mZnNldAk9IDAsCkBAIC0yNDIsNDQyICsxNzEsNDM0IEBACiAJCS5uYW1lCT0gIkFUOTEgTkFORCBwYXJ0aXRpb24gNSwgZXh0LWZzIiwKIAkJLm9mZnNldAk9IDMyICogU1pfMU0sCiAJCS5zaXplCT0gMzIgKiBTWl8xTQotCX0sCisJfQogfTsKIAogc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uICogX19pbml0IG5hbmRfcGFydGl0aW9ucyhpbnQgc2l6ZSwgaW50ICpudW1fcGFydGl0aW9ucykKIHsKLQkqbnVtX3BhcnRpdGlvbnMgPSBBUlJBWV9TSVpFKHlsXzkyMDBfbmFuZF9wYXJ0aXRpb24pOwotCXJldHVybiB5bF85MjAwX25hbmRfcGFydGl0aW9uOworCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoeWw5MjAwX25hbmRfcGFydGl0aW9uKTsKKwlyZXR1cm4geWw5MjAwX25hbmRfcGFydGl0aW9uOwogfQogCi1zdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF9uYW5kX2RhdGEgPSB7Ci0JLmFsZT0gNiwKLQkuY2xlPSA3LAotCS8qLmRldF9waW4JPSBBVDkxX1BJTl9QQ3h4LCovICAgLyp3ZSBkb24ndCBoYXZlIGEgZGV0IHBpbiBiZWNhdXNlIE5hbmRGbGFzaCBpcyBmaXhlZCB0byBib2FyZCovCi0JLnJkeV9waW4JPSBBVDkxX1BJTl9QQzE0LCAgLypSLyFCIFNoZWV0MTAqLwotCS5lbmFibGVfcGluCT0gQVQ5MV9QSU5fUEMxNSwgIC8qIUNFICBTaGVldDEwICovCitzdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgeWw5MjAwX25hbmRfZGF0YSA9IHsKKwkuYWxlCQk9IDYsCisJLmNsZQkJPSA3LAorCS8vIC5kZXRfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKKwkucmR5X3Bpbgk9IEFUOTFfUElOX1BDMTQsCS8qIFIvIUIgKFNoZWV0MTApICovCisJLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE1LAkvKiAhQ0UgIChTaGVldDEwKSAqLwogCS5wYXJ0aXRpb25faW5mbwk9IG5hbmRfcGFydGl0aW9ucywKIH07CiAKLQotCiAvKgotVE9ETyBTLkJpcnRsZXMKLXBvdGVudGlhbGx5IGEgcHJvYmxlbSB3aXRoIHRoZSBzaXplIGFib3ZlCi1waHlzbWFwIHBsYXRmb3JtIGZsYXNoIGRldmljZTogMDA4MDAwMDAgYXQgMTAwMDAwMDAKLXBoeXNtYXAtZmxhc2guMDogRm91bmQgMSB4MTYgZGV2aWNlcyBhdCAweDAgaW4gMTYtYml0IGJhbmsKLU5PUiBjaGlwIHRvbyBsYXJnZSB0byBmaXQgaW4gbWFwcGluZy4gQXR0ZW1wdGluZyB0byBjb3BlLi4uCi0gSW50ZWwvU2hhcnAgRXh0ZW5kZWQgUXVlcnkgVGFibGUgYXQgMHgwMDMxCi1Vc2luZyBidWZmZXIgd3JpdGUgbWV0aG9kCi1jZmlfY21kc2V0XzAwMDE6IEVyYXNlIHN1c3BlbmQgb24gd3JpdGUgZW5hYmxlZAotUmVkdWNpbmcgdmlzaWJpbGl0eSBvZiAxNjM4NEtpQiBjaGlwIHRvIDgxOTJLaUIKLSovCisgKiBOT1IgRmxhc2gKKyAqLworI2RlZmluZSBZTDkyMDBfRkxBU0hfQkFTRQlBVDkxX0NISVBTRUxFQ1RfMAorI2RlZmluZSBZTDkyMDBfRkxBU0hfU0laRQkweDEwMDAwMDAKIAotc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHlsXzkyMDBfZmxhc2hfcGFydGl0aW9uc1tdID0geworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHlsOTIwMF9mbGFzaF9wYXJ0aXRpb25zW10gPSB7CiAJewotCQkubmFtZSA9CQkiQm9vdGxvYWRlciIsCi0JCS5zaXplID0JCTB4MDAwNDAwMDAsCi0JCS5vZmZzZXQgPQkwLAotCQkubWFza19mbGFncyA9CU1URF9XUklURUFCTEUgIC8qIGZvcmNlIHJlYWQtb25seSAqLwotCX0sewotCQkubmFtZSA9CQkiS2VybmVsIiwKLQkJLnNpemUgPQkJMHgwMDFDMDAwMCwKLQkJLm9mZnNldCA9CTB4MDAwNDAwMDAsCi0JfSx7Ci0JCS5uYW1lID0JCSJGaWxlc3lzdGVtIiwKLQkJLnNpemUgPQkJTVREUEFSVF9TSVpfRlVMTCwKLQkJLm9mZnNldCA9CTB4MDAyMDAwMDAKLQl9Ci0KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHlsXzkyMDBfZmxhc2hfZGF0YSA9IHsKLQkud2lkdGgJPSAyLAotCS5wYXJ0cyAgICAgICAgICA9IHlsXzkyMDBfZmxhc2hfcGFydGl0aW9ucywKLQkubnJfcGFydHMgICAgICAgPSBBUlJBWV9TSVpFKHlsXzkyMDBfZmxhc2hfcGFydGl0aW9ucyksCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHlsXzkyMDBfZmxhc2hfcmVzb3VyY2VzW10gPSB7Ci17Ci0JLnN0YXJ0CQk9IFlMXzkyMDBfRkxBU0hfQkFTRSwKLQkuZW5kCQk9IFlMXzkyMDBfRkxBU0hfQkFTRSArIFlMXzkyMDBfRkxBU0hfU0laRSAtIDEsCi0JLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCQkubmFtZQkJPSAiQm9vdGxvYWRlciIsCisJCS5zaXplCQk9IDB4MDAwNDAwMDAsCisJCS5vZmZzZXQJCT0gMCwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAkvKiBmb3JjZSByZWFkLW9ubHkgKi8KKwl9LAorCXsKKwkJLm5hbWUJCT0gIktlcm5lbCIsCisJCS5zaXplCQk9IDB4MDAxQzAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDA0MDAwMCwKKwl9LAorCXsKKwkJLm5hbWUJCT0gIkZpbGVzeXN0ZW0iLAorCQkuc2l6ZQkJPSBNVERQQVJUX1NJWl9GVUxMLAorCQkub2Zmc2V0CQk9IDB4MDAyMDAwMDAKIAl9CiB9OwogCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB5bF85MjAwX2ZsYXNoID0geworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgeWw5MjAwX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDIsCisJLnBhcnRzCQk9IHlsOTIwMF9mbGFzaF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUoeWw5MjAwX2ZsYXNoX3BhcnRpdGlvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB5bDkyMDBfZmxhc2hfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBZTDkyMDBfRkxBU0hfQkFTRSwKKwkJLmVuZAk9IFlMOTIwMF9GTEFTSF9CQVNFICsgWUw5MjAwX0ZMQVNIX1NJWkUgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB5bDkyMDBfZmxhc2ggPSB7CiAJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAogCS5pZAkJPSAwLAogCS5kZXYJCT0gewotCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnlsXzkyMDBfZmxhc2hfZGF0YSwKKwkJCQkucGxhdGZvcm1fZGF0YQk9ICZ5bDkyMDBfZmxhc2hfZGF0YSwKIAkJCX0sCi0JLnJlc291cmNlCT0geWxfOTIwMF9mbGFzaF9yZXNvdXJjZXMsCi0JLm51bV9yZXNvdXJjZXMgID0gQVJSQVlfU0laRSh5bF85MjAwX2ZsYXNoX3Jlc291cmNlcyksCisJLnJlc291cmNlCT0geWw5MjAwX2ZsYXNoX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoeWw5MjAwX2ZsYXNoX3Jlc291cmNlcyksCiB9OwogCi0KLXN0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgeWxfOTIwMF9sZWRzW10gPSB7Ci0vKkQyICZEMyBhcmUgcGFzc2VkIGRpcmVjdGx5IGluIHZpYSBhdDkxX2luaXRfbGVkcyovCi0JewotCQkubmFtZQkJCT0gImxlZDQiLCAgLypENCovCi0JCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjE1LAotCQkuYWN0aXZlX2xvdwkJPSAxLAotCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCi0JCS8qLmRlZmF1bHRfdHJpZ2dlcgk9ICJ0aW1lciIsKi8KLQl9LAotCXsKLQkJLm5hbWUJCQk9ICJsZWQ1IiwgIC8qRDUqLwotCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEI4LAotCQkuYWN0aXZlX2xvdwkJPSAxLAotCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCi0JfQotfTsKLQotLy9zdGF0aWMgc3RydWN0IGdwaW9fc291bmRlciB5bF85MjAwX3NvdW5kZXJbXSA9IHsqLwotLypUaGlzIGlzIGEgc2ltcGxlIHNwZWFrZXIgYXR0YWNoZWQgdG8gYSBncG8gbGluZSovCi0KLS8vCXsKLS8vCQkubmFtZQkJCT0gIlNwZWFrZXIiLCAgLypMUzEqLwotLy8JCS5ncGlvCQkJPSBBVDkxX1BJTl9QQTIyLAotLy8JCS5hY3RpdmVfbG93CQk9IDAsCi0vLwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAotCQkvKi5kZWZhdWx0X3RyaWdnZXIJPSAidGltZXIiLCovCi0vLwl9LAotLy99OwotCi0KLQotc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHlsXzkyMDBfaTJjX2RldmljZXNbXSA9IHsKLQl7Ci0JLypUT0RPKi8KLQkJSTJDX0JPQVJEX0lORk8oIkNTNDMzNCIsIDB4MDApLAotCX0KLX07Ci0KLQotIC8qCi0gKiBHUElPIEJ1dHRvbnMKKy8qCisgKiBJMkMgKFRXSSkKICAqLworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHlsOTIwMF9pMmNfZGV2aWNlc1tdID0geworCXsJLyogRUVQUk9NICovCisJCUkyQ19CT0FSRF9JTkZPKCIyNGMxMjgiLCAweDUwKSwKKwl9Cit9OworCisvKgorICogR1BJTyBCdXR0b25zCisqLwogI2lmIGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU8pIHx8IGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU9fTU9EVUxFKQotc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIHlsXzkyMDBfYnV0dG9uc1tdID0geworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIHlsOTIwMF9idXR0b25zW10gPSB7CiAJewogCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQTI0LAotCQkuY29kZQk9IEJUTl8yLAorCQkuY29kZQkJPSBCVE5fMiwKIAkJLmRlc2MJCT0gIlNXMiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKIAkJLndha2V1cAkJPSAxLAogCX0sCiAJewogCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjEsCi0JCS5jb2RlCT0gQlROXzMsCisJCS5jb2RlCQk9IEJUTl8zLAogCQkuZGVzYwkJPSAiU1czIiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAogCQkud2FrZXVwCQk9IDEsCiAJfSwKIAl7CiAJCS5ncGlvCQk9IEFUOTFfUElOX1BCMiwKLQkJLmNvZGUJPSBCVE5fNCwKKwkJLmNvZGUJCT0gQlROXzQsCiAJCS5kZXNjCQk9ICJTVzQiLAogCQkuYWN0aXZlX2xvdwk9IDEsCiAJCS53YWtldXAJCT0gMSwKIAl9LAogCXsKIAkJLmdwaW8JCT0gQVQ5MV9QSU5fUEI2LAotCQkuY29kZQk9IEJUTl81LAorCQkuY29kZQkJPSBCVE5fNSwKIAkJLmRlc2MJCT0gIlNXNSIsCiAJCS5hY3RpdmVfbG93CT0gMSwKIAkJLndha2V1cAkJPSAxLAotCX0sCi0KKwl9CiB9OwogCi1zdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIHlsXzkyMDBfYnV0dG9uX2RhdGEgPSB7Ci0JLmJ1dHRvbnMJPSB5bF85MjAwX2J1dHRvbnMsCi0JLm5idXR0b25zCT0gQVJSQVlfU0laRSh5bF85MjAwX2J1dHRvbnMpLAorc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSB5bDkyMDBfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSB5bDkyMDBfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKHlsOTIwMF9idXR0b25zKSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsXzkyMDBfYnV0dG9uX2RldmljZSA9IHsKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsOTIwMF9idXR0b25fZGV2aWNlID0gewogCS5uYW1lCQk9ICJncGlvLWtleXMiLAogCS5pZAkJPSAtMSwKIAkubnVtX3Jlc291cmNlcwk9IDAsCiAJLmRldgkJPSB7Ci0JLnBsYXRmb3JtX2RhdGEJPSAmeWxfOTIwMF9idXR0b25fZGF0YSwKKwkJLnBsYXRmb3JtX2RhdGEJPSAmeWw5MjAwX2J1dHRvbl9kYXRhLAogCX0KIH07CiAKLXN0YXRpYyB2b2lkIF9faW5pdCB5bF85MjAwX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkKIHsKLQkvL1NXMgotCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEEyNCwgMCk7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQTI0LCAxKTsJLyogU1cyICovCiAJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEEyNCwgMSk7Ci0KLQkvL1NXMwotCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIxLCAwKTsKKwlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMSwgMSk7CS8qIFNXMyAqLwogCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BCMSwgMSk7Ci0JLy9TVzQKLQlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMiwgMCk7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjIsIDEpOwkvKiBTVzQgKi8KIAlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQjIsIDEpOwotCi0JLy9TVzUKLQlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCNiwgMCk7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjYsIDEpOwkvKiBTVzUgKi8KIAlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQjYsIDEpOwogCisJLyogRW5hYmxlIGJ1dHRvbnMgKFNoZWV0IDUpICovCisJYXQ5MV9zZXRfZ3Bpb19vdXRwdXQoQVQ5MV9QSU5fUEI3LCAxKTsKIAotCWF0OTFfc2V0X2dwaW9fb3V0cHV0KEFUOTFfUElOX1BCNywgMSk7CS8qICNUVVJOIEJVVFRPTlMgT04sIFNIRUVUIDUgIG9mIHNjaGVtYXRpY3MgKi8KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnlsXzkyMDBfYnV0dG9uX2RldmljZSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ5bDkyMDBfYnV0dG9uX2RldmljZSk7CiB9CiAjZWxzZQotc3RhdGljIHZvaWQgX19pbml0IHlsXzkyMDBfYWRkX2RldmljZV9idXR0b25zKHZvaWQpIHt9CitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKSB7fQogI2VuZGlmCiAKKy8qCisgKiBUb3VjaHNjcmVlbgorICovCisjaWYgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NikgfHwgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0Nl9NT0RVTEUpCitzdGF0aWMgaW50IGFkczc4NDNfcGVuZG93bl9zdGF0ZSh2b2lkKQoreworCXJldHVybiAhYXQ5MV9nZXRfZ3Bpb192YWx1ZShBVDkxX1BJTl9QQjExKTsJLyogVG91Y2hzY3JlZW4gUEVOSVJRICovCit9CisKK3N0YXRpYyBzdHJ1Y3QgYWRzNzg0Nl9wbGF0Zm9ybV9kYXRhIGFkc19pbmZvID0geworCS5tb2RlbAkJCT0gNzg0MywKKwkueF9taW4JCQk9IDE1MCwKKwkueF9tYXgJCQk9IDM4MzAsCisJLnlfbWluCQkJPSAxOTAsCisJLnlfbWF4CQkJPSAzODMwLAorCS52cmVmX2RlbGF5X3VzZWNzCT0gMTAwLAorCisJLyogRm9yIGEgOCIgdG91Y2gtc2NyZWVuICovCisJLy8gLnhfcGxhdGVfb2htcwkJPSA2MDMsCisJLy8gLnlfcGxhdGVfb2htcwkJPSAzMzIsCisKKwkvKiBGb3IgYSAxMC40IiB0b3VjaC1zY3JlZW4gKi8KKwkvLyAueF9wbGF0ZV9vaG1zCQk9IDYxMSwKKwkvLyAueV9wbGF0ZV9vaG1zCQk9IDMyNSwKKworCS54X3BsYXRlX29obXMJCT0gNTc2LAorCS55X3BsYXRlX29obXMJCT0gMzY2LAorCisJLnByZXNzdXJlX21heAkJPSAxNTAwMCwgLyogZ2VuZXJhbGx5IG5vbnNlbnNlIG9uIHRoZSA3ODQzICovCisJLmRlYm91bmNlX21heAkJPSAxLAorCS5kZWJvdW5jZV9yZXAJCT0gMCwKKwkuZGVib3VuY2VfdG9sCQk9ICh+MCksCisJLmdldF9wZW5kb3duX3N0YXRlCT0gYWRzNzg0M19wZW5kb3duX3N0YXRlLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX3RzKHZvaWQpCit7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjExLCAxKTsJLyogVG91Y2hzY3JlZW4gaW50ZXJydXB0IHBpbiAqLworCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIxMCwgMSk7CS8qIFRvdWNoc2NyZWVuIEJVU1kgc2lnbmFsIC0gbm90IHVzZWQhICovCit9CisjZWxzZQorc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX3RzKHZvaWQpIHt9CisjZW5kaWYKKworLyoKKyAqIFNQSSBkZXZpY2VzCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8geWw5MjAwX3NwaV9kZXZpY2VzW10gPSB7CisjaWYgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NikgfHwgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0Nl9NT0RVTEUpCisJewkvKiBUb3VjaHNjcmVlbiAqLworCQkubW9kYWxpYXMJPSAiYWRzNzg0NiIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tYXhfc3BlZWRfaHoJPSA1MDAwICogMjYsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJmFkc19pbmZvLAorCQkuaXJxCQk9IEFUOTFfUElOX1BCMTEsCisJfSwKKyNlbmRpZgorCXsJLyogQ0FOICovCisJCS5tb2RhbGlhcwk9ICJtY3AyNTEwIiwKKwkJLmNoaXBfc2VsZWN0CT0gMSwKKwkJLm1heF9zcGVlZF9oegk9IDI1MDAwICogMjYsCisJCS5pcnEJCT0gQVQ5MV9QSU5fUEMwLAorCX0KK307CisKKy8qCisgKiBMQ0QgLyBWR0EKKyAqCisgKiBFUFNPTiBTMUQxMzgwNiBGQiAoZGlzY29udGludWVkIGNoaXApCisgKiBFUFNPTiBTMUQxMzUwNiBGQgorICovCiAjaWYgZGVmaW5lZChDT05GSUdfRkJfUzFEMTM1WFgpIHx8IGRlZmluZWQoQ09ORklHX0ZCX1MxRDEzWFhYX01PRFVMRSkKICNpbmNsdWRlIDx2aWRlby9zMWQxM3h4eGZiLmg+CiAKLS8qIEVQU09OIFMxRDEzODA2IEZCIChkaXNjb250aW51ZWQgY2hpcCkqLwotLyogRVBTT04gUzFEMTM1MDYgRkIgKi8KLQogI2RlZmluZSBBVDkxX0ZCX1JFR19CQVNFCTB4ODAwMDAwMDBMCiAjZGVmaW5lIEFUOTFfRkJfUkVHX1NJWkUJMHgyMDAKICNkZWZpbmUgQVQ5MV9GQl9WTUVNX0JBU0UJMHg4MDIwMDAwMEwKICNkZWZpbmUgQVQ5MV9GQl9WTUVNX1NJWkUJMHgyMDAwMDBMCiAKLS8qI2RlZmluZSBTMURfRElTUExBWV9XSURUSCAgICAgICAgICAgNjQwKi8KLS8qI2RlZmluZSBTMURfRElTUExBWV9IRUlHSFQgICAgICAgICAgNDgwKi8KLQotCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9pbml0X3ZpZGVvKHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2luaXRfdmlkZW8odm9pZCkKIHsKLQlhdDkxX3N5c193cml0ZShBVDkxX1BJT0MgKyBQSU9fQVNSLEFUOTFfUElOX1BDNik7Ci0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9QSU9DICsgUElPX0JTUiwwKTsKLQlhdDkxX3N5c193cml0ZShBVDkxX1BJT0MgKyBQSU9fQVNSLEFUOTFfUElOX1BDNik7CisJLyogTldBSVQgU2lnbmFsICovCisJYXQ5MV9zZXRfQV9wZXJpcGgoQVQ5MV9QSU5fUEM2LCAwKTsKIAotCWF0OTFfc3lzX3dyaXRlKCBBVDkxX1NNQ19DU1IoMiksCi0JQVQ5MV9TTUNfTldTXygweDQpIHwKLQlBVDkxX1NNQ19XU0VOIHwKLQlBVDkxX1NNQ19UREZfKDB4MTAwKSB8Ci0JQVQ5MV9TTUNfREJXCisJLyogSW5pdGlhbGl6YXRpb24gb2YgdGhlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciBmb3IgQ2hpcCBTZWxlY3QgMiAqLworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NTUigyKSwgQVQ5MV9TTUNfREJXXzE2CQkvKiAxNiBiaXQgKi8KKwkJCXwgQVQ5MV9TTUNfV1NFTiB8IEFUOTFfU01DX05XU18oMHg0KQkvKiB3YWl0IHN0YXRlcyAqLworCQkJfCBBVDkxX1NNQ19UREZfKDB4MTAwKQkJCS8qIGZsb2F0IHRpbWUgKi8KIAkpOwotCi0KLQogfQogCi0KLXN0YXRpYyBzdHJ1Y3QgczFkMTN4eHhmYl9yZWd2YWwgeWxfOTIwMF9zMWRmYl9pbml0cmVnc1tdID0KK3N0YXRpYyBzdHJ1Y3QgczFkMTN4eHhmYl9yZWd2YWwgeWw5MjAwX3MxZGZiX2luaXRyZWdzW10gPQogewotCXtTMURSRUdfTUlTQywJCQkJMHgwMH0sICAgLyogTWlzY2VsbGFuZW91cyBSZWdpc3RlciovCi0Je1MxRFJFR19DT01fRElTUF9NT0RFLAkJMHgwMX0sICAgLyogRGlzcGxheSBNb2RlIFJlZ2lzdGVyLCBMQ0Qgb25seSovCi0Je1MxRFJFR19HUElPX0NORjAsCQkJMHgwMH0sICAgLyogR2VuZXJhbCBJTyBQaW5zIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfR1BJT19DVEwwLAkJCTB4MDB9LCAgIC8qIEdlbmVyYWwgSU8gUGlucyBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NMS19DTkYsCQkJMHgxMX0sICAgLyogTWVtb3J5IENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NMS19DTkYsCQkweDEwfSwgICAvKiBMQ0QgUGl4ZWwgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ0xLX0NORiwJCTB4MTJ9LCAgIC8qIENSVC9UViBQaXhlbCBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX01QTFVHX0NMS19DTkYsCQkweDAxfSwgICAvKiBNZWRpYVBsdWcgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19DUFUyTUVNX1dTVF9TRUwsCTB4MDJ9LCAgIC8qIENQVSBUbyBNZW1vcnkgV2FpdCBTdGF0ZSBTZWxlY3QgUmVnaXN0ZXIqLwotCXtTMURSRUdfTUVNX0NORiwJCQkweDAwfSwgICAvKiBNZW1vcnkgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19TRFJBTV9SRUZfUkFURSwJCTB4MDR9LCAgIC8qIERSQU0gUmVmcmVzaCBSYXRlIFJlZ2lzdGVyLCBNQ0xLIHNvdXJjZSovCi0Je1MxRFJFR19TRFJBTV9UQzAsCQkJMHgxMn0sICAgLyogRFJBTSBUaW1pbmdzIENvbnRyb2wgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19TRFJBTV9UQzEsCQkJMHgwMn0sICAgLyogRFJBTSBUaW1pbmdzIENvbnRyb2wgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19QQU5FTF9UWVBFLAkJCTB4MjV9LCAgIC8qIFBhbmVsIFR5cGUgUmVnaXN0ZXIqLwotCXtTMURSRUdfTU9EX1JBVEUsCQkJMHgwMH0sICAgLyogTU9EIFJhdGUgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfSFdJRFRILAkweDRGfSwgICAvKiBMQ0QgSG9yaXpvbnRhbCBEaXNwbGF5IFdpZHRoIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ORElTUF9IUEVSLAkJMHgxM30sICAgLyogTENEIEhvcml6b250YWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1RGVF9GUExJTkVfU1RBUlQsCTB4MDF9LCAgIC8qIFRGVCBGUExJTkUgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfVEZUX0ZQTElORV9QV0lEVEgsCTB4MGN9LCAgIC8qIFRGVCBGUExJTkUgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfVkhFSUdIVDAsCTB4REZ9LCAgIC8qIExDRCBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0xDRF9ESVNQX1ZIRUlHSFQxLAkweDAxfSwgICAvKiBMQ0QgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MQ0RfTkRJU1BfVlBFUiwJCTB4MmN9LCAgIC8qIExDRCBWZXJ0aWNhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLwotCXtTMURSRUdfVEZUX0ZQRlJBTUVfU1RBUlQsCTB4MGF9LCAgIC8qIFRGVCBGUEZSQU1FIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1RGVF9GUEZSQU1FX1BXSURUSCwJMHgwMn0sICAgLyogVEZUIEZQRlJBTUUgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfTU9ERSwJCTB4MDV9LCAgIC8qIExDRCBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX01JU0MsCQkJMHgwMX0sICAgLyogTENEIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfU1RBUlQwLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfTENEX0RJU1BfU1RBUlQxLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfTENEX0RJU1BfU1RBUlQyLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLwotCXtTMURSRUdfTENEX01FTV9PRkYwLAkJMHg4MH0sICAgLyogTENEIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0xDRF9NRU1fT0ZGMSwJCTB4MDJ9LCAgIC8qIExDRCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MQ0RfUElYX1BBTiwJCTB4MDN9LCAgIC8qIExDRCBQaXhlbCBQYW5uaW5nIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ESVNQX0ZJRk9fSFRDLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBGSUZPIEhpZ2ggVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfRklGT19MVEMsCTB4MDB9LCAgIC8qIExDRCBEaXNwbGF5IEZJRk8gTG93IFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9ESVNQX0hXSURUSCwJMHg0Rn0sICAgLyogQ1JUL1RWIEhvcml6b250YWwgRGlzcGxheSBXaWR0aCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfTkRJU1BfSFBFUiwJCTB4MTN9LCAgIC8qIENSVC9UViBIb3Jpem9udGFsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfSFJUQ19TVEFSVCwJCTB4MDF9LCAgIC8qIENSVC9UViBIUlRDIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9IUlRDX1BXSURUSCwJMHgwQn0sICAgLyogQ1JUL1RWIEhSVEMgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0RJU1BfVkhFSUdIVDAsCTB4REZ9LCAgIC8qIENSVC9UViBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0NSVF9ESVNQX1ZIRUlHSFQxLAkweDAxfSwgICAvKiBDUlQvVFYgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19DUlRfTkRJU1BfVlBFUiwJCTB4MkJ9LCAgIC8qIENSVC9UViBWZXJ0aWNhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX1ZSVENfU1RBUlQsCQkweDA5fSwgICAvKiBDUlQvVFYgVlJUQyBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfVlJUQ19QV0lEVEgsCTB4MDF9LCAgIC8qIENSVC9UViBWUlRDIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1RWX09VVF9DVEwsCQkJMHgxOH0sICAgLyogVFYgT3V0cHV0IENvbnRyb2wgUmVnaXN0ZXIgKi8KLQl7UzFEUkVHX0NSVF9ESVNQX01PREUsCQkweDA1fSwgICAvKiBDUlQvVFYgRGlzcGxheSBNb2RlIFJlZ2lzdGVyLCAxNkJQUCovCi0Je1MxRFJFR19DUlRfRElTUF9TVEFSVDAsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19DUlRfRElTUF9TVEFSVDEsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19DUlRfRElTUF9TVEFSVDIsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCi0Je1MxRFJFR19DUlRfTUVNX09GRjAsCQkweDgwfSwgICAvKiBDUlQvVFYgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQ1JUX01FTV9PRkYxLAkJMHgwMn0sICAgLyogQ1JUL1RWIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0NSVF9QSVhfUEFOLAkJMHgwMH0sICAgLyogQ1JUL1RWIFBpeGVsIFBhbm5pbmcgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0RJU1BfRklGT19IVEMsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IEZJRk8gSGlnaCBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfRElTUF9GSUZPX0xUQywJMHgwMH0sICAgLyogQ1JUL1RWIERpc3BsYXkgRklGTyBMb3cgVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9DVEwsCQkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfU1RBUlQsCQkweDAxfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfWFBPUzAsCQkweDAwfSwgICAvKiBMQ0QgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19MQ0RfQ1VSX1hQT1MxLAkJMHgwMH0sICAgLyogTENEIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfTENEX0NVUl9ZUE9TMCwJCTB4MDB9LCAgIC8qIExDRCBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0xDRF9DVVJfWVBPUzEsCQkweDAwfSwgICAvKiBMQ0QgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MQ0RfQ1VSX0JDVEwwLAkJMHgwMH0sICAgLyogTENEIEluay9DdXJzb3IgQmx1ZSBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfR0NUTDAsCQkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfUkNUTDAsCQkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBSZWQgQ29sb3IgMCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX0JDVEwxLAkJMHgxRn0sICAgLyogTENEIEluay9DdXJzb3IgQmx1ZSBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfR0NUTDEsCQkweDNGfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfUkNUTDEsCQkweDFGfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBSZWQgQ29sb3IgMSBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX0ZJRk9fSFRDLAkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBGSUZPIFRocmVzaG9sZCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX0NUTCwJCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9TVEFSVCwJCTB4MDF9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9YUE9TMCwJCTB4MDB9LCAgIC8qIENSVC9UViBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0NSVF9DVVJfWFBPUzEsCQkweDAwfSwgICAvKiBDUlQvVFYgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19DUlRfQ1VSX1lQT1MwLAkJMHgwMH0sICAgLyogQ1JUL1RWIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQ1JUX0NVUl9ZUE9TMSwJCTB4MDB9LCAgIC8qIENSVC9UViBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0NSVF9DVVJfQkNUTDAsCQkweDAwfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDAgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9HQ1RMMCwJCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDAgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9SQ1RMMCwJCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIFJlZCBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfQkNUTDEsCQkweDFGfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDEgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9HQ1RMMSwJCTB4M0Z9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDEgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9SQ1RMMSwJCTB4MUZ9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIFJlZCBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfRklGT19IVEMsCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIEZJRk8gVGhyZXNob2xkIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0JCTFRfQ1RMMCwJCQkweDAwfSwgICAvKiBCaXRCbHQgQ29udHJvbCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfQ1RMMSwJCQkweDAxfSwgICAvKiBCaXRCbHQgQ29udHJvbCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfQ0NfRVhQLAkJMHgwMH0sICAgLyogQml0Qmx0IFJPUCBDb2RlL0NvbG9yIEV4cGFuc2lvbiBSZWdpc3RlciovCi0Je1MxRFJFR19CQkxUX09QLAkJCTB4MDB9LCAgIC8qIEJpdEJsdCBPcGVyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfQkJMVF9TUkNfU1RBUlQwLAkweDAwfSwgICAvKiBCaXRCbHQgU291cmNlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX1NSQ19TVEFSVDEsCTB4MDB9LCAgIC8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMiwJMHgwMH0sICAgLyogQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLwotCXtTMURSRUdfQkJMVF9EU1RfU1RBUlQwLAkweDAwfSwgICAvKiBCaXRCbHQgRGVzdGluYXRpb24gU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfRFNUX1NUQVJUMSwJMHgwMH0sICAgLyogQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX0RTVF9TVEFSVDIsCTB4MDB9LCAgIC8qIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLwotCXtTMURSRUdfQkJMVF9NRU1fT0ZGMCwJCTB4MDB9LCAgIC8qIEJpdEJsdCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX01FTV9PRkYxLAkJMHgwMH0sICAgLyogQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfV0lEVEgwLAkJMHgwMH0sICAgLyogQml0Qmx0IFdpZHRoIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9XSURUSDEsCQkweDAwfSwgICAvKiBCaXRCbHQgV2lkdGggUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX0hFSUdIVDAsCQkweDAwfSwgICAvKiBCaXRCbHQgSGVpZ2h0IFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9IRUlHSFQxLAkJMHgwMH0sICAgLyogQml0Qmx0IEhlaWdodCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfQkdDMCwJCQkweDAwfSwgICAvKiBCaXRCbHQgQmFja2dyb3VuZCBDb2xvciBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfQkdDMSwJCQkweDAwfSwgICAvKiBCaXRCbHQgQmFja2dyb3VuZCBDb2xvciBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfRkdDMCwJCQkweDAwfSwgICAvKiBCaXRCbHQgRm9yZWdyb3VuZCBDb2xvciBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfRkdDMSwJCQkweDAwfSwgICAvKiBCaXRCbHQgRm9yZWdyb3VuZCBDb2xvciBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0xLVVBfTU9ERSwJCQkweDAwfSwgICAvKiBMb29rLVVwIFRhYmxlIE1vZGUgUmVnaXN0ZXIqLwotCXtTMURSRUdfTEtVUF9BRERSLAkJCTB4MDB9LCAgIC8qIExvb2stVXAgVGFibGUgQWRkcmVzcyBSZWdpc3RlciovCi0Je1MxRFJFR19QU19DTkYsCQkJCTB4MDB9LCAgIC8qIFBvd2VyIFNhdmUgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19QU19TVEFUVVMsCQkJMHgwMH0sICAgLyogUG93ZXIgU2F2ZSBTdGF0dXMgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1BVMk1FTV9XRE9HVCwJCTB4MDB9LCAgIC8qIENQVS10by1NZW1vcnkgQWNjZXNzIFdhdGNoZG9nIFRpbWVyIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NPTV9ESVNQX01PREUsCQkweDAxfSwgICAvKiBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIExDRCBvbmx5Ki8KKwl7UzFEUkVHX01JU0MsCQkJMHgwMH0sCS8qIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIqLworCXtTMURSRUdfQ09NX0RJU1BfTU9ERSwJCTB4MDF9LAkvKiBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIExDRCBvbmx5Ki8KKwl7UzFEUkVHX0dQSU9fQ05GMCwJCTB4MDB9LAkvKiBHZW5lcmFsIElPIFBpbnMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19HUElPX0NUTDAsCQkweDAwfSwJLyogR2VuZXJhbCBJTyBQaW5zIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfQ0xLX0NORiwJCTB4MTF9LAkvKiBNZW1vcnkgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ0xLX0NORiwJCTB4MTB9LAkvKiBMQ0QgUGl4ZWwgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ0xLX0NORiwJCTB4MTJ9LAkvKiBDUlQvVFYgUGl4ZWwgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19NUExVR19DTEtfQ05GLAkJMHgwMX0sCS8qIE1lZGlhUGx1ZyBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NQVTJNRU1fV1NUX1NFTCwJMHgwMn0sCS8qIENQVSBUbyBNZW1vcnkgV2FpdCBTdGF0ZSBTZWxlY3QgUmVnaXN0ZXIqLworCXtTMURSRUdfTUVNX0NORiwJCTB4MDB9LAkvKiBNZW1vcnkgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19TRFJBTV9SRUZfUkFURSwJCTB4MDR9LAkvKiBEUkFNIFJlZnJlc2ggUmF0ZSBSZWdpc3RlciwgTUNMSyBzb3VyY2UqLworCXtTMURSRUdfU0RSQU1fVEMwLAkJMHgxMn0sCS8qIERSQU0gVGltaW5ncyBDb250cm9sIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfU0RSQU1fVEMxLAkJMHgwMn0sCS8qIERSQU0gVGltaW5ncyBDb250cm9sIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfUEFORUxfVFlQRSwJCTB4MjV9LAkvKiBQYW5lbCBUeXBlIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX01PRF9SQVRFLAkJMHgwMH0sCS8qIE1PRCBSYXRlIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ESVNQX0hXSURUSCwJMHg0Rn0sCS8qIExDRCBIb3Jpem9udGFsIERpc3BsYXkgV2lkdGggUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX05ESVNQX0hQRVIsCQkweDEzfSwJLyogTENEIEhvcml6b250YWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1RGVF9GUExJTkVfU1RBUlQsCTB4MDF9LAkvKiBURlQgRlBMSU5FIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1RGVF9GUExJTkVfUFdJRFRILAkweDBjfSwJLyogVEZUIEZQTElORSBQdWxzZSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfRElTUF9WSEVJR0hUMCwJMHhERn0sCS8qIExDRCBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0xDRF9ESVNQX1ZIRUlHSFQxLAkweDAxfSwJLyogTENEIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTENEX05ESVNQX1ZQRVIsCQkweDJjfSwJLyogTENEIFZlcnRpY2FsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCisJe1MxRFJFR19URlRfRlBGUkFNRV9TVEFSVCwJMHgwYX0sCS8qIFRGVCBGUEZSQU1FIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1RGVF9GUEZSQU1FX1BXSURUSCwJMHgwMn0sCS8qIFRGVCBGUEZSQU1FIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ESVNQX01PREUsCQkweDA1fSwJLyogTENEIERpc3BsYXkgTW9kZSBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfTUlTQywJCTB4MDF9LAkvKiBMQ0QgTWlzY2VsbGFuZW91cyBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfRElTUF9TVEFSVDAsCTB4MDB9LAkvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfTENEX0RJU1BfU1RBUlQxLAkweDAwfSwJLyogTENEIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0xDRF9ESVNQX1NUQVJUMiwJMHgwMH0sCS8qIExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCisJe1MxRFJFR19MQ0RfTUVNX09GRjAsCQkweDgwfSwJLyogTENEIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0xDRF9NRU1fT0ZGMSwJCTB4MDJ9LAkvKiBMQ0QgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTENEX1BJWF9QQU4sCQkweDAzfSwJLyogTENEIFBpeGVsIFBhbm5pbmcgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0RJU1BfRklGT19IVEMsCTB4MDB9LAkvKiBMQ0QgRGlzcGxheSBGSUZPIEhpZ2ggVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0RJU1BfRklGT19MVEMsCTB4MDB9LAkvKiBMQ0QgRGlzcGxheSBGSUZPIExvdyBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfRElTUF9IV0lEVEgsCTB4NEZ9LAkvKiBDUlQvVFYgSG9yaXpvbnRhbCBEaXNwbGF5IFdpZHRoIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9ORElTUF9IUEVSLAkJMHgxM30sCS8qIENSVC9UViBIb3Jpem9udGFsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfSFJUQ19TVEFSVCwJCTB4MDF9LAkvKiBDUlQvVFYgSFJUQyBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfSFJUQ19QV0lEVEgsCTB4MEJ9LAkvKiBDUlQvVFYgSFJUQyBQdWxzZSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfRElTUF9WSEVJR0hUMCwJMHhERn0sCS8qIENSVC9UViBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0NSVF9ESVNQX1ZIRUlHSFQxLAkweDAxfSwJLyogQ1JUL1RWIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQ1JUX05ESVNQX1ZQRVIsCQkweDJCfSwJLyogQ1JUL1RWIFZlcnRpY2FsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfVlJUQ19TVEFSVCwJCTB4MDl9LAkvKiBDUlQvVFYgVlJUQyBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfVlJUQ19QV0lEVEgsCTB4MDF9LAkvKiBDUlQvVFYgVlJUQyBQdWxzZSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19UVl9PVVRfQ1RMLAkJMHgxOH0sCS8qIFRWIE91dHB1dCBDb250cm9sIFJlZ2lzdGVyICovCisJe1MxRFJFR19DUlRfRElTUF9NT0RFLAkJMHgwNX0sCS8qIENSVC9UViBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIDE2QlBQKi8KKwl7UzFEUkVHX0NSVF9ESVNQX1NUQVJUMCwJMHgwMH0sCS8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19DUlRfRElTUF9TVEFSVDEsCTB4MDB9LAkvKiBDUlQvVFYgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQ1JUX0RJU1BfU1RBUlQyLAkweDAwfSwJLyogQ1JUL1RWIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KKwl7UzFEUkVHX0NSVF9NRU1fT0ZGMCwJCTB4ODB9LAkvKiBDUlQvVFYgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQ1JUX01FTV9PRkYxLAkJMHgwMn0sCS8qIENSVC9UViBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19DUlRfUElYX1BBTiwJCTB4MDB9LAkvKiBDUlQvVFYgUGl4ZWwgUGFubmluZyBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfRElTUF9GSUZPX0hUQywJMHgwMH0sCS8qIENSVC9UViBEaXNwbGF5IEZJRk8gSGlnaCBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfRElTUF9GSUZPX0xUQywJMHgwMH0sCS8qIENSVC9UViBEaXNwbGF5IEZJRk8gTG93IFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfQ1RMLAkJMHgwMH0sCS8qIExDRCBJbmsvQ3Vyc29yIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9TVEFSVCwJCTB4MDF9LAkvKiBMQ0QgSW5rL0N1cnNvciBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfWFBPUzAsCQkweDAwfSwJLyogTENEIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfTENEX0NVUl9YUE9TMSwJCTB4MDB9LAkvKiBMQ0QgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMSovCisJe1MxRFJFR19MQ0RfQ1VSX1lQT1MwLAkJMHgwMH0sCS8qIExDRCBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0xDRF9DVVJfWVBPUzEsCQkweDAwfSwJLyogTENEIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTENEX0NVUl9CQ1RMMCwJCTB4MDB9LAkvKiBMQ0QgSW5rL0N1cnNvciBCbHVlIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9HQ1RMMCwJCTB4MDB9LAkvKiBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAwIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfUkNUTDAsCQkweDAwfSwJLyogTENEIEluay9DdXJzb3IgUmVkIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9CQ1RMMSwJCTB4MUZ9LAkvKiBMQ0QgSW5rL0N1cnNvciBCbHVlIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9HQ1RMMSwJCTB4M0Z9LAkvKiBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAxIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfUkNUTDEsCQkweDFGfSwJLyogTENEIEluay9DdXJzb3IgUmVkIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9GSUZPX0hUQywJMHgwMH0sCS8qIExDRCBJbmsvQ3Vyc29yIEZJRk8gVGhyZXNob2xkIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfQ1RMLAkJMHgwMH0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9TVEFSVCwJCTB4MDF9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfWFBPUzAsCQkweDAwfSwJLyogQ1JUL1RWIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQ1JUX0NVUl9YUE9TMSwJCTB4MDB9LAkvKiBDUlQvVFYgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMSovCisJe1MxRFJFR19DUlRfQ1VSX1lQT1MwLAkJMHgwMH0sCS8qIENSVC9UViBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0NSVF9DVVJfWVBPUzEsCQkweDAwfSwJLyogQ1JUL1RWIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQ1JUX0NVUl9CQ1RMMCwJCTB4MDB9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9HQ1RMMCwJCTB4MDB9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAwIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfUkNUTDAsCQkweDAwfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgUmVkIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9CQ1RMMSwJCTB4MUZ9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9HQ1RMMSwJCTB4M0Z9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAxIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfUkNUTDEsCQkweDFGfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgUmVkIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9GSUZPX0hUQywJMHgwMH0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIEZJRk8gVGhyZXNob2xkIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0JCTFRfQ1RMMCwJCTB4MDB9LAkvKiBCaXRCbHQgQ29udHJvbCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfQ1RMMSwJCTB4MDF9LAkvKiBCaXRCbHQgQ29udHJvbCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfQ0NfRVhQLAkJMHgwMH0sCS8qIEJpdEJsdCBST1AgQ29kZS9Db2xvciBFeHBhbnNpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfQkJMVF9PUCwJCTB4MDB9LAkvKiBCaXRCbHQgT3BlcmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMCwJMHgwMH0sCS8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMSwJMHgwMH0sCS8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMiwJMHgwMH0sCS8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KKwl7UzFEUkVHX0JCTFRfRFNUX1NUQVJUMCwJMHgwMH0sCS8qIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9EU1RfU1RBUlQxLAkweDAwfSwJLyogQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX0RTVF9TVEFSVDIsCTB4MDB9LAkvKiBCaXRCbHQgRGVzdGluYXRpb24gU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KKwl7UzFEUkVHX0JCTFRfTUVNX09GRjAsCQkweDAwfSwJLyogQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfTUVNX09GRjEsCQkweDAwfSwJLyogQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfV0lEVEgwLAkJMHgwMH0sCS8qIEJpdEJsdCBXaWR0aCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfV0lEVEgxLAkJMHgwMH0sCS8qIEJpdEJsdCBXaWR0aCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfSEVJR0hUMCwJCTB4MDB9LAkvKiBCaXRCbHQgSGVpZ2h0IFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9IRUlHSFQxLAkJMHgwMH0sCS8qIEJpdEJsdCBIZWlnaHQgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX0JHQzAsCQkweDAwfSwJLyogQml0Qmx0IEJhY2tncm91bmQgQ29sb3IgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX0JHQzEsCQkweDAwfSwJLyogQml0Qmx0IEJhY2tncm91bmQgQ29sb3IgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX0ZHQzAsCQkweDAwfSwJLyogQml0Qmx0IEZvcmVncm91bmQgQ29sb3IgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX0ZHQzEsCQkweDAwfSwJLyogQml0Qmx0IEZvcmVncm91bmQgQ29sb3IgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19MS1VQX01PREUsCQkweDAwfSwJLyogTG9vay1VcCBUYWJsZSBNb2RlIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xLVVBfQUREUiwJCTB4MDB9LAkvKiBMb29rLVVwIFRhYmxlIEFkZHJlc3MgUmVnaXN0ZXIqLworCXtTMURSRUdfUFNfQ05GLAkJCTB4MDB9LAkvKiBQb3dlciBTYXZlIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfUFNfU1RBVFVTLAkJMHgwMH0sCS8qIFBvd2VyIFNhdmUgU3RhdHVzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NQVTJNRU1fV0RPR1QsCQkweDAwfSwJLyogQ1BVLXRvLU1lbW9yeSBBY2Nlc3MgV2F0Y2hkb2cgVGltZXIgUmVnaXN0ZXIqLworCXtTMURSRUdfQ09NX0RJU1BfTU9ERSwJCTB4MDF9LAkvKiBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIExDRCBvbmx5Ki8KIH07CiAKLXN0YXRpYyB1NjQgczFkZmJfZG1hbWFzayA9IDB4ZmZmZmZmZmZVTDsKK3N0YXRpYyB1NjQgczFkZmJfZG1hbWFzayA9IERNQV9CSVRfTUFTSygzMik7CiAKLXN0YXRpYyBzdHJ1Y3QgczFkMTN4eHhmYl9wZGF0YSB5bF85MjAwX3MxZGZiX3BkYXRhID0gewotCQkuaW5pdHJlZ3MJCQkJPSB5bF85MjAwX3MxZGZiX2luaXRyZWdzLAotCQkuaW5pdHJlZ3NzaXplCQkJPSBBUlJBWV9TSVpFKHlsXzkyMDBfczFkZmJfaW5pdHJlZ3MpLAotCQkucGxhdGZvcm1faW5pdF92aWRlbwk9IHlsXzkyMDBfaW5pdF92aWRlbywKK3N0YXRpYyBzdHJ1Y3QgczFkMTN4eHhmYl9wZGF0YSB5bDkyMDBfczFkZmJfcGRhdGEgPSB7CisJLmluaXRyZWdzCQk9IHlsOTIwMF9zMWRmYl9pbml0cmVncywKKwkuaW5pdHJlZ3NzaXplCQk9IEFSUkFZX1NJWkUoeWw5MjAwX3MxZGZiX2luaXRyZWdzKSwKKwkucGxhdGZvcm1faW5pdF92aWRlbwk9IHlsOTIwMF9pbml0X3ZpZGVvLAogfTsKIAotc3RhdGljIHN0cnVjdCByZXNvdXJjZSB5bF85MjAwX3MxZGZiX3Jlc291cmNlW10gPSB7CitzdGF0aWMgc3RydWN0IHJlc291cmNlIHlsOTIwMF9zMWRmYl9yZXNvdXJjZVtdID0gewogCVswXSA9IHsJLyogdmlkZW8gbWVtICovCi0JCS5uYW1lICAgPSAiczFkMTN4eHhmYiBtZW1vcnkiLAotCS8qCS5uYW1lICAgPSAiczFkMTM4MDYgbWVtb3J5IiwqLwotCQkuc3RhcnQgID0gQVQ5MV9GQl9WTUVNX0JBU0UsCi0JCS5lbmQgICAgPSBBVDkxX0ZCX1ZNRU1fQkFTRSArIEFUOTFfRkJfVk1FTV9TSVpFIC0xLAotCQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCisJCS5uYW1lCT0gInMxZDEzeHh4ZmIgbWVtb3J5IiwKKwkJLnN0YXJ0CT0gQVQ5MV9GQl9WTUVNX0JBU0UsCisJCS5lbmQJPSBBVDkxX0ZCX1ZNRU1fQkFTRSArIEFUOTFfRkJfVk1FTV9TSVpFIC0xLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LAogCVsxXSA9IHsJLyogdmlkZW8gcmVnaXN0ZXJzICovCi0JCS5uYW1lICAgPSAiczFkMTN4eHhmYiByZWdpc3RlcnMiLAotCS8qCS5uYW1lICAgPSAiczFkMTM4MDYgcmVnaXN0ZXJzIiwqLwotCQkuc3RhcnQgID0gQVQ5MV9GQl9SRUdfQkFTRSwKLQkJLmVuZCAgICA9IEFUOTFfRkJfUkVHX0JBU0UgKyBBVDkxX0ZCX1JFR19TSVpFIC0xLAotCQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCisJCS5uYW1lCT0gInMxZDEzeHh4ZmIgcmVnaXN0ZXJzIiwKKwkJLnN0YXJ0CT0gQVQ5MV9GQl9SRUdfQkFTRSwKKwkJLmVuZAk9IEFUOTFfRkJfUkVHX0JBU0UgKyBBVDkxX0ZCX1JFR19TSVpFIC0xLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LAogfTsKIAotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgeWxfOTIwMF9zMWRmYl9kZXZpY2UgPSB7Ci0JLypUT0RPIFMuQmlydGxlcyAsIHJlYWxseSB3ZSBuZWVkIHRoZSBjaGlwIHJldmlzaW9uIGluIGhlcmUgYXMgd2VsbCovCi0JCS5uYW1lCQk9ICJzMWQxMzgwNmZiIiwKLQkvKiAgLm5hbWUJCT0gInMxZDEzNTA2ZmIiLCovCi0JCS5pZAkJCT0gLTEsCi0JCS5kZXYJCT0gewotCS8qVE9ETyB0aGVyZXMgYSB3YXJpbmcgaGVyZSEhKi8KLQkvKldBUk5JTkc6IHZtbGludXgubyguZGF0YSsweDJkYmMpOiBTZWN0aW9uIG1pc21hdGNoOiByZWZlcmVuY2UgdG8gLmluaXQudGV4dDogKGJldHdlZW4gJ3lsXzkyMDBfczFkZmJfcGRhdGEnIGFuZCAnczFkZmJfZG1hbWFzaycpKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsOTIwMF9zMWRmYl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gInMxZDEzODA2ZmIiLAorCS5pZAkJPSAtMSwKKwkuZGV2CT0gewogCQkuZG1hX21hc2sJCT0gJnMxZGZiX2RtYW1hc2ssCi0JCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCi0JCS5wbGF0Zm9ybV9kYXRhCQk9ICZ5bF85MjAwX3MxZGZiX3BkYXRhLAorCQkuY29oZXJlbnRfZG1hX21hc2sJPSBETUFfQklUX01BU0soMzIpLAorCQkucGxhdGZvcm1fZGF0YQkJPSAmeWw5MjAwX3MxZGZiX3BkYXRhLAogCX0sCi0JLnJlc291cmNlCT0geWxfOTIwMF9zMWRmYl9yZXNvdXJjZSwKLQkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoeWxfOTIwMF9zMWRmYl9yZXNvdXJjZSksCisJLnJlc291cmNlCT0geWw5MjAwX3MxZGZiX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRSh5bDkyMDBfczFkZmJfcmVzb3VyY2UpLAogfTsKIAotdm9pZCBfX2luaXQgeWxfOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKHZvaWQpCit2b2lkIF9faW5pdCB5bDkyMDBfYWRkX2RldmljZV92aWRlbyh2b2lkKQogewotCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWxfOTIwMF9zMWRmYl9kZXZpY2UpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWw5MjAwX3MxZGZiX2RldmljZSk7CiB9CiAjZWxzZQotCXZvaWQgX19pbml0IHlsXzkyMDBfYWRkX2RldmljZV92aWRlbyh2b2lkKSB7fQordm9pZCBfX2luaXQgeWw5MjAwX2FkZF9kZXZpY2VfdmlkZW8odm9pZCkge30KICNlbmRpZgogCi0vKnRoaXMgaXMgbm90IGNhbGxlZCBmaXJzdCAsIHlsXzkyMDBfbWFwX2lvIGlzIGNhbGxlZCBmaXJzdCovCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9ib2FyZF9pbml0KHZvaWQpCisKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfYm9hcmRfaW5pdCh2b2lkKQogewogCS8qIFNlcmlhbCAqLwogCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKIAkvKiBFdGhlcm5ldCAqLwotCWF0OTFfYWRkX2RldmljZV9ldGgoJnlsXzkyMDBfZXRoX2RhdGEpOworCWF0OTFfYWRkX2RldmljZV9ldGgoJnlsOTIwMF9ldGhfZGF0YSk7CiAJLyogVVNCIEhvc3QgKi8KLQlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmeWxfOTIwMF91c2JoX2RhdGEpOworCWF0OTFfYWRkX2RldmljZV91c2JoKCZ5bDkyMDBfdXNiaF9kYXRhKTsKIAkvKiBVU0IgRGV2aWNlICovCi0JYXQ5MV9hZGRfZGV2aWNlX3VkYygmeWxfOTIwMF91ZGNfZGF0YSk7Ci0JLyogcHVsbHVwX3BpbiBpdCBpcyAgYWN0dWFsbHkgYWN0aXZlIGxvdywgYnV0IHRoaXMgaXMgbm90IG5lZWRlZCwgZHJpdmVyIHNldHMgaXQgdXAgKi8KLQkvKmF0OTFfc2V0X211bHRpX2RyaXZlKHlsXzkyMDBfdWRjX2RhdGEucHVsbHVwX3BpbiwgMCk7Ki8KLQotCS8qIENvbXBhY3QgRmxhc2ggKi8KLQkvKmF0OTFfYWRkX2RldmljZV9jZigmeWxfOTIwMF9jZl9kYXRhKTsqLwotCisJYXQ5MV9hZGRfZGV2aWNlX3VkYygmeWw5MjAwX3VkY19kYXRhKTsKIAkvKiBJMkMgKi8KLQlhdDkxX2FkZF9kZXZpY2VfaTJjKHlsXzkyMDBfaTJjX2RldmljZXMsIEFSUkFZX1NJWkUoeWxfOTIwMF9pMmNfZGV2aWNlcykpOwotCS8qIFNQSSAqLwotCS8qVE9ETyBZTDkyMDAgd2UgaGF2ZSAyIHNwaSBpbnRlcmZhY2VzIHRvdWNoIHNjcmVlbiAmIENBTiovCi0JLyogQVQ5MV9QSU5fUEE1LCBBVDkxX1BJTl9QQTYgLCBhcmUgdXNlZCBvbiB0aGUgIG1heCA0ODUgTk9UIFNQSSovCi0KLQkvKnRvdWNoIHNjcmVlbiBhbmQgQ0FOKi8KLQlhdDkxX2FkZF9kZXZpY2Vfc3BpKHlsXzkyMDBfc3BpX2RldmljZXMsIEFSUkFZX1NJWkUoeWxfOTIwMF9zcGlfZGV2aWNlcykpOwotCi0JLypCYXNpY2FsbHkgdGhlICBUUyB1c2VzICBQQjExICYgUEIxMCAsIFBCMTEgaXMgY29uZmlndXJlZCBieSB0aGUgU1BJIHN5c3RlbSBCUDEwIElTIE5PVCBVU0VEISEqLwotCS8qIHdlIG5lZWQgdGhpcyBpbmNhc2UgdGhlIGJvYXJkIGlzIHJ1bm5pbmcgd2l0aG91dCBhIHRvdWNoIHNjcmVlbiovCi0JI2lmIGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYpIHx8IGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDZfTU9EVUxFKQotCWF0OTFfaW5pdF9kZXZpY2VfdHMoKTsgLyppbml0IHRoZSB0b3VjaCBzY3JlZW4gZGV2aWNlKi8KLQkjZW5kaWYKLQkvKiBEYXRhRmxhc2ggY2FyZCAqLwotCWF0OTFfYWRkX2RldmljZV9tbWMoMCwgJnlsXzkyMDBfbW1jX2RhdGEpOworCWF0OTFfYWRkX2RldmljZV9pMmMoeWw5MjAwX2kyY19kZXZpY2VzLCBBUlJBWV9TSVpFKHlsOTIwMF9pMmNfZGV2aWNlcykpOworCS8qIE1NQyAqLworCWF0OTFfYWRkX2RldmljZV9tbWMoMCwgJnlsOTIwMF9tbWNfZGF0YSk7CiAJLyogTkFORCAqLwotCWF0OTFfYWRkX2RldmljZV9uYW5kKCZ5bF85MjAwX25hbmRfZGF0YSk7CisJYXQ5MV9hZGRfZGV2aWNlX25hbmQoJnlsOTIwMF9uYW5kX2RhdGEpOwogCS8qIE5PUiBGbGFzaCAqLwotCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWxfOTIwMF9mbGFzaCk7Ci0JLyogTEVEcy4gTm90ZSEhIHRoaXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgbGVkJ3Mgd2UgcGFzc2VkIGZvciB0aGUgcHJvY2Vzc29yIHN0YXR1cyAqLwotCWF0OTFfZ3Bpb19sZWRzKHlsXzkyMDBfbGVkcywgQVJSQVlfU0laRSh5bF85MjAwX2xlZHMpKTsKLQkvKiBWR0EgICovCi0JLyp0aGlzIGlzIHNlbGYgcmVnaXN0ZXJlZCBieSBpbmNsdWRpbmcgdGhlIHMxZDEzeHh4IGNoaXAgaW4gdGhlIGtlcm5lbCBidWlsZCovCi0JeWxfOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ5bDkyMDBfZmxhc2gpOworI2lmIGRlZmluZWQoQ09ORklHX1NQSV9BVE1FTCkgfHwgZGVmaW5lZChDT05GSUdfU1BJX0FUTUVMX01PRFVMRSkKKwkvKiBTUEkgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc3BpKHlsOTIwMF9zcGlfZGV2aWNlcywgQVJSQVlfU0laRSh5bDkyMDBfc3BpX2RldmljZXMpKTsKKwkvKiBUb3VjaHNjcmVlbiAqLworCXlsOTIwMF9hZGRfZGV2aWNlX3RzKCk7CisjZW5kaWYKKwkvKiBMRURzLiAqLworCWF0OTFfZ3Bpb19sZWRzKHlsOTIwMF9sZWRzLCBBUlJBWV9TSVpFKHlsOTIwMF9sZWRzKSk7CiAJLyogUHVzaCBCdXR0b25zICovCi0JeWxfOTIwMF9hZGRfZGV2aWNlX2J1dHRvbnMoKTsKLQkvKlRPRE8gZml4dXAgdGhlIFNvdW5kZXIgKi8KLS8vCXlsXzkyMDBfYWRkX2RldmljZV9zb3VuZGVyKHlsXzkyMDBfc291bmRlcixBUlJBWV9TSVpFKHlsXzkyMDBfc291bmRlcikpOwotCisJeWw5MjAwX2FkZF9kZXZpY2VfYnV0dG9ucygpOworCS8qIFZHQSAqLworCXlsOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKCk7CiB9CiAKIE1BQ0hJTkVfU1RBUlQoWUw5MjAwLCAidUNkcmFnb24gWUwtOTIwMCIpCi0JLyogTWFpbnRhaW5lcjogUy5CaXJ0bGVzKi8KLQkucGh5c19pbwkJPSBBVDkxX0JBU0VfU1lTLAorCS8qIE1haW50YWluZXI6IFMuQmlydGxlcyAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKIAkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCiAJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCi0JLnRpbWVyCQkJPSAmYXQ5MXJtOTIwMF90aW1lciwKLQkubWFwX2lvCQkJPSB5bF85MjAwX21hcF9pbywKLQkuaW5pdF9pcnEJCT0geWxfOTIwMF9pbml0X2lycSwKLQkuaW5pdF9tYWNoaW5lCT0geWxfOTIwMF9ib2FyZF9pbml0LAorCS50aW1lcgkJPSAmYXQ5MXJtOTIwMF90aW1lciwKKwkubWFwX2lvCQk9IHlsOTIwMF9tYXBfaW8sCisJLmluaXRfaXJxCT0geWw5MjAwX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUJPSB5bDkyMDBfYm9hcmRfaW5pdCwKIE1BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9jbG9jay5jCmluZGV4IGEzM2RmZTQuLjQ2NGJkYmIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9jbG9jay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9jbG9jay5jCkBAIC0xMTIsMTIgKzExMiwzNCBAQAogCQlhdDkxX3N5c193cml0ZShBVDkxX1BNQ19TQ0RSLCBjbGstPnBtY19tYXNrKTsKIH0KIAorc3RhdGljIHZvaWQgcG1jX3Vja3JfbW9kZShzdHJ1Y3QgY2xrICpjbGssIGludCBpc19vbikKK3sKKwl1bnNpZ25lZCBpbnQgdWNrciA9IGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1VDS1IpOworCisJaWYgKGlzX29uKSB7CisJCWlzX29uID0gQVQ5MV9QTUNfTE9DS1U7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfQ0tHUl9VQ0tSLCB1Y2tyIHwgY2xrLT5wbWNfbWFzayk7CisJfSBlbHNlCisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfQ0tHUl9VQ0tSLCB1Y2tyICYgfihjbGstPnBtY19tYXNrKSk7CisKKwlkbyB7CisJCWNwdV9yZWxheCgpOworCX0gd2hpbGUgKChhdDkxX3N5c19yZWFkKEFUOTFfUE1DX1NSKSAmIEFUOTFfUE1DX0xPQ0tVKSAhPSBpc19vbik7Cit9CisKIC8qIFVTQiBmdW5jdGlvbiBjbG9ja3MgKFBMTEIgbXVzdCBiZSA0OCBNSHopICovCiBzdGF0aWMgc3RydWN0IGNsayB1ZHBjayA9IHsKIAkubmFtZQkJPSAidWRwY2siLAogCS5wYXJlbnQJCT0gJnBsbGIsCiAJLm1vZGUJCT0gcG1jX3N5c19tb2RlLAogfTsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHV0bWlfY2xrID0geworCS5uYW1lCQk9ICJ1dG1pX2NsayIsCisJLnBhcmVudAkJPSAmbWFpbl9jbGssCisJLnBtY19tYXNrCT0gQVQ5MV9QTUNfVVBMTEVOLAkvKiBpbiBDS0dSX1VDS1IgKi8KKwkubW9kZQkJPSBwbWNfdWNrcl9tb2RlLAorCS50eXBlCQk9IENMS19UWVBFX1BMTCwKK307CiBzdGF0aWMgc3RydWN0IGNsayB1aHBjayA9IHsKIAkubmFtZQkJPSAidWhwY2siLAogCS5wYXJlbnQJCT0gJnBsbGIsCkBAIC0zNjEsNyArMzgzLDcgQEAKIAogc3RhdGljIGludCBhdDkxX2Nsa19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdW51c2VkKQogewotCXUzMgkJc2NzciwgcGNzciwgc3I7CisJdTMyCQlzY3NyLCBwY3NyLCB1Y2tyID0gMCwgc3I7CiAJc3RydWN0IGNsawkqY2xrOwogCiAJc2VxX3ByaW50ZihzLCAiU0NTUiA9ICU4eFxuIiwgc2NzciA9IGF0OTFfc3lzX3JlYWQoQVQ5MV9QTUNfU0NTUikpOwpAQCAtMzY5LDcgKzM5MSwxMCBAQAogCXNlcV9wcmludGYocywgIk1PUiAgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX01PUikpOwogCXNlcV9wcmludGYocywgIk1DRlIgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX01DRlIpKTsKIAlzZXFfcHJpbnRmKHMsICJQTExBID0gJTh4XG4iLCBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9QTExBUikpOwotCXNlcV9wcmludGYocywgIlBMTEIgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1BMTEJSKSk7CisJaWYgKCFjcHVfaXNfYXQ5MXNhbTlybCgpKQorCQlzZXFfcHJpbnRmKHMsICJQTExCID0gJTh4XG4iLCBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9QTExCUikpOworCWlmIChjcHVfaXNfYXQ5MWNhcDkoKSB8fCBjcHVfaXNfYXQ5MXNhbTlybCgpKQorCQlzZXFfcHJpbnRmKHMsICJVQ0tSID0gJTh4XG4iLCB1Y2tyID0gYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfVUNLUikpOwogCXNlcV9wcmludGYocywgIk1DS1IgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9QTUNfTUNLUikpOwogCXNlcV9wcmludGYocywgIlNSICAgPSAlOHhcbiIsIHNyID0gYXQ5MV9zeXNfcmVhZChBVDkxX1BNQ19TUikpOwogCkBAIC0zODIsNiArNDA3LDggQEAKIAkJCXN0YXRlID0gKHNjc3IgJiBjbGstPnBtY19tYXNrKSA/ICJvbiIgOiAib2ZmIjsKIAkJZWxzZSBpZiAoY2xrLT5tb2RlID09IHBtY19wZXJpcGhfbW9kZSkKIAkJCXN0YXRlID0gKHBjc3IgJiBjbGstPnBtY19tYXNrKSA/ICJvbiIgOiAib2ZmIjsKKwkJZWxzZSBpZiAoY2xrLT5tb2RlID09IHBtY191Y2tyX21vZGUpCisJCQlzdGF0ZSA9ICh1Y2tyICYgY2xrLT5wbWNfbWFzaykgPyAib24iIDogIm9mZiI7CiAJCWVsc2UgaWYgKGNsay0+cG1jX21hc2spCiAJCQlzdGF0ZSA9IChzciAmIGNsay0+cG1jX21hc2spID8gIm9uIiA6ICJvZmYiOwogCQllbHNlIGlmIChjbGsgPT0gJmNsazMyayB8fCBjbGsgPT0gJm1haW5fY2xrKQpAQCAtNDg4LDE0ICs1MTUsMTkgQEAKIAkJLyoKIAkJICogUExMIGlucHV0IGJldHdlZW4gMU1IeiBhbmQgMzJNSHogcGVyIHNwZWMsIGJ1dCBsb3dlcgogCQkgKiBmcmVxdWVuY2VzIHNlZW0gbmVjZXNzYXJ5IGluIHNvbWUgY2FzZXMgc28gYWxsb3cgMTAwSy4KKwkJICogV2FybmluZzogc29tZSBuZXdlciBwcm9kdWN0cyBuZWVkIDJNSHogbWluLgogCQkgKi8KIAkJaW5wdXQgPSBtYWluX2ZyZXEgLyBpOworCQlpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkgJiYgaW5wdXQgPCAyMDAwMDAwKQorCQkJY29udGludWU7CiAJCWlmIChpbnB1dCA8IDEwMDAwMCkKIAkJCWNvbnRpbnVlOwogCQlpZiAoaW5wdXQgPiAzMjAwMDAwMCkKIAkJCWNvbnRpbnVlOwogCiAJCW11bDEgPSBvdXRfZnJlcSAvIGlucHV0OworCQlpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkgJiYgbXVsID4gNjMpCisJCQljb250aW51ZTsKIAkJaWYgKG11bDEgPiAyMDQ4KQogCQkJY29udGludWU7CiAJCWlmIChtdWwxIDwgMikKQEAgLTU1NSw3ICs1ODcsOCBAQAogCiAJLyogcmVwb3J0IGlmIFBMTEEgaXMgbW9yZSB0aGFuIG1pbGRseSBvdmVyY2xvY2tlZCAqLwogCXBsbGEucmF0ZV9oeiA9IGF0OTFfcGxsX3JhdGUoJnBsbGEsIG1haW5fY2xvY2ssIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1BMTEFSKSk7Ci0JaWYgKHBsbGEucmF0ZV9oeiA+IDIwOTAwMDAwMCkKKwlpZiAoKCFjcHVfaXNfYXQ5MXNhbTlnMjAoKSAmJiBwbGxhLnJhdGVfaHogPiAyMDkwMDAwMDApCisJICAgfHwgKGNwdV9pc19hdDkxc2FtOWcyMCgpICYmIHBsbGEucmF0ZV9oeiA+IDgwMDAwMDAwMCkpCiAJCXByX2luZm8oIkNsb2NrczogUExMQSBvdmVyY2xvY2tlZCwgJWxkIE1IelxuIiwgcGxsYS5yYXRlX2h6IC8gMTAwMDAwMCk7CiAKIAkvKgpAQCAtNTcwLDcgKzYwMyw3IEBACiAJCXVocGNrLnBtY19tYXNrID0gQVQ5MVJNOTIwMF9QTUNfVUhQOwogCQl1ZHBjay5wbWNfbWFzayA9IEFUOTFSTTkyMDBfUE1DX1VEUDsKIAkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9QTUNfU0NFUiwgQVQ5MVJNOTIwMF9QTUNfTUNLVURQKTsKLQl9IGVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MSgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpKSB7CisJfSBlbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjEoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSB8fCBjcHVfaXNfYXQ5MXNhbTlnMjAoKSkgewogCQl1aHBjay5wbWNfbWFzayA9IEFUOTFTQU05MjZ4X1BNQ19VSFA7CiAJCXVkcGNrLnBtY19tYXNrID0gQVQ5MVNBTTkyNnhfUE1DX1VEUDsKIAl9IGVsc2UgaWYgKGNwdV9pc19hdDkxY2FwOSgpKSB7CkBAIC01ODIsNiArNjE1LDE3IEBACiAJdWhwY2sucmF0ZV9oeiA9IGF0OTFfdXNiX3JhdGUoJnBsbGIsIHBsbGIucmF0ZV9oeiwgYXQ5MV9wbGxiX3VzYl9pbml0KTsKIAogCS8qCisJICogVVNCIEhTIGNsb2NrIGluaXQKKwkgKi8KKwlpZiAoY3B1X2lzX2F0OTFjYXA5KCkgfHwgY3B1X2lzX2F0OTFzYW05cmwoKSkgeworCQkvKgorCQkgKiBtdWx0aXBsaWVyIGlzIGhhcmQtd2lyZWQgdG8gNDAKKwkJICogKG9idGFpbiB0aGUgVVNCIEhpZ2ggU3BlZWQgNDgwIE1IeiB3aGVuIGlucHV0IGlzIDEyIE1IeikKKwkJICovCisJCXV0bWlfY2xrLnJhdGVfaHogPSA0MCAqIHV0bWlfY2xrLnBhcmVudC0+cmF0ZV9oejsKKwl9CisKKwkvKgogCSAqIE1DSyBhbmQgQ1BVIGRlcml2ZSBmcm9tIG9uZSBvZiB0aG9zZSBwcmltYXJ5IGNsb2Nrcy4KIAkgKiBGb3Igbm93LCBhc3N1bWUgdGhpcyBwYXJlbnRhZ2Ugd29uJ3QgY2hhbmdlLgogCSAqLwpAQCAtNTkxLDEzICs2MzUsMjEgQEAKIAlmcmVxIC89ICgxIDw8ICgobWNrciAmIEFUOTFfUE1DX1BSRVMpID4+IDIpKTsJCQkJLyogcHJlc2NhbGUgKi8KIAlpZiAoY3B1X2lzX2F0OTFybTkyMDAoKSkKIAkJbWNrLnJhdGVfaHogPSBmcmVxIC8gKDEgKyAoKG1ja3IgJiBBVDkxX1BNQ19NRElWKSA+PiA4KSk7CS8qIG1kaXYgKi8KLQllbHNlCi0JCW1jay5yYXRlX2h6ID0gZnJlcSAvICgxIDw8ICgobWNrciAmIEFUOTFfUE1DX01ESVYpID4+IDgpKTsJLyogbWRpdiAqLworCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOWcyMCgpKSB7CisJCW1jay5yYXRlX2h6ID0gKG1ja3IgJiBBVDkxX1BNQ19NRElWKSA/CisJCQlmcmVxIC8gKChtY2tyICYgQVQ5MV9QTUNfTURJVikgPj4gNykgOiBmcmVxOwkvKiBtZGl2IDsgKHggPj4gNykgPSAoKHggPj4gOCkgKiAyKSAqLworCQlpZiAobWNrciAmIEFUOTFfUE1DX1BESVYpCisJCQlmcmVxIC89IDI7CQkvKiBwcm9jZXNzb3IgY2xvY2sgZGl2aXNpb24gKi8KKwl9IGVsc2UKKwkJbWNrLnJhdGVfaHogPSBmcmVxIC8gKDEgPDwgKChtY2tyICYgQVQ5MV9QTUNfTURJVikgPj4gOCkpOyAgICAgIC8qIG1kaXYgKi8KIAogCS8qIFJlZ2lzdGVyIHRoZSBQTUMncyBzdGFuZGFyZCBjbG9ja3MgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9wbWNfY2xvY2tzKTsgaSsrKQogCQlsaXN0X2FkZF90YWlsKCZzdGFuZGFyZF9wbWNfY2xvY2tzW2ldLT5ub2RlLCAmY2xvY2tzKTsKIAorCWlmIChjcHVfaXNfYXQ5MWNhcDkoKSB8fCBjcHVfaXNfYXQ5MXNhbTlybCgpKQorCQlsaXN0X2FkZF90YWlsKCZ1dG1pX2Nsay5ub2RlLCAmY2xvY2tzKTsKKwogCS8qIE1DSyBhbmQgQ1BVIGNsb2NrIGFyZSAiYWx3YXlzIG9uIiAqLwogCWNsa19lbmFibGUoJm1jayk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9wbS5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL3BtLmMKaW5kZXggYWE4NjNjMS4uOGFiNGZlYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL3BtLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL3BtLmMKQEAgLTIwMiw3ICsyMDIsNyBAQAogCQkJcHJfZGVidWcoIkFUOTE6IFBNIC0gU3VzcGVuZC10by1SQU0gd2l0aCBVU0Igc3RpbGwgYWN0aXZlXG4iKTsKIAkJCXJldHVybiAwOwogCQl9Ci0JfSBlbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjEoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSkgeworCX0gZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYxKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkgfHwgY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKIAkJaWYgKChzY3NyICYgKEFUOTFTQU05MjZ4X1BNQ19VSFAgfCBBVDkxU0FNOTI2eF9QTUNfVURQKSkgIT0gMCkgewogCQkJcHJfZGVidWcoIkFUOTE6IFBNIC0gU3VzcGVuZC10by1SQU0gd2l0aCBVU0Igc3RpbGwgYWN0aXZlXG4iKTsKIAkJCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1lcDkzeHgvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtZXA5M3h4L2Nsb2NrLmMKaW5kZXggOWQ3NTE1Yy4uZjYyYzM1NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1lcDkzeHgvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLWVwOTN4eC9jbG9jay5jCkBAIC03NCw2ICs3NCw3IEBACiAKIAlyZXR1cm4gRVJSX1BUUigtRU5PRU5UKTsKIH0KK0VYUE9SVF9TWU1CT0woY2xrX2dldCk7CiAKIGludCBjbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKIHsKQEAgLTg2LDYgKzg3LDcgQEAKIAogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChjbGtfZW5hYmxlKTsKIAogdm9pZCBjbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCiB7CkBAIC05NiwxNSArOTgsMTggQEAKIAkJX19yYXdfd3JpdGVsKHZhbHVlICYgfmNsay0+ZW5hYmxlX21hc2ssIGNsay0+ZW5hYmxlX3JlZyk7CiAJfQogfQorRVhQT1JUX1NZTUJPTChjbGtfZGlzYWJsZSk7CiAKIHVuc2lnbmVkIGxvbmcgY2xrX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKIHsKIAlyZXR1cm4gY2xrLT5yYXRlOwogfQorRVhQT1JUX1NZTUJPTChjbGtfZ2V0X3JhdGUpOwogCiB2b2lkIGNsa19wdXQoc3RydWN0IGNsayAqY2xrKQogewogfQorRVhQT1JUX1NZTUJPTChjbGtfcHV0KTsKIAogCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9NYWtlZmlsZQppbmRleCAwNjk0YWQ2Li4zMmY4NjA5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL01ha2VmaWxlCkBAIC0xNCwxMiArMTQsMTAgQEAKIHBjaS0kKENPTkZJR19BUkNIX05FVFdJTkRFUikgKz0gbmV0d2luZGVyLXBjaS5vCiBwY2ktJChDT05GSUdfQVJDSF9QRVJTT05BTF9TRVJWRVIpICs9IHBlcnNvbmFsLXBjaS5vCiAKLWxlZHMtJChDT05GSUdfQVJDSF9DTzI4NSkgKz0gZWJzYTI4NS1sZWRzLm8KIGxlZHMtJChDT05GSUdfQVJDSF9FQlNBMjg1KSArPSBlYnNhMjg1LWxlZHMubwogbGVkcy0kKENPTkZJR19BUkNIX05FVFdJTkRFUikgKz0gbmV0d2luZGVyLWxlZHMubwogCiBvYmotJChDT05GSUdfQVJDSF9DQVRTKSArPSBjYXRzLWh3Lm8gaXNhLXRpbWVyLm8KLW9iai0kKENPTkZJR19BUkNIX0NPMjg1KSArPSBjbzI4NS5vIGRjMjEyODUtdGltZXIubwogb2JqLSQoQ09ORklHX0FSQ0hfRUJTQTI4NSkgKz0gZWJzYTI4NS5vIGRjMjEyODUtdGltZXIubwogb2JqLSQoQ09ORklHX0FSQ0hfTkVUV0lOREVSKSArPSBuZXR3aW5kZXItaHcubyBpc2EtdGltZXIubwogb2JqLSQoQ09ORklHX0FSQ0hfUEVSU09OQUxfU0VSVkVSKSArPSBwZXJzb25hbC5vIGRjMjEyODUtdGltZXIubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvMjg1LmMgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY28yODUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDU0NTU3Ni4uMDAwMDAwMAotLS0gYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY28yODUuYworKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLS8qCi0gKiBsaW51eC9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY28yODUuYwotICoKLSAqIENPMjg1IG1hY2hpbmUgZml4dXAKLSAqLwotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLQotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9kZWMyMTI4NS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+Ci0KLSNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+Ci0KLSNpbmNsdWRlICJjb21tb24uaCIKLQotc3RhdGljIHZvaWQgX19pbml0Ci1maXh1cF9jb2Vic2EyODUoc3RydWN0IG1hY2hpbmVfZGVzYyAqZGVzYywgc3RydWN0IHRhZyAqdGFncywKLQkJY2hhciAqKmNtZGxpbmUsIHN0cnVjdCBtZW1pbmZvICptaSkKLXsKLQlleHRlcm4gdW5zaWduZWQgbG9uZyBib290X21lbW9yeV9lbmQ7Ci0JZXh0ZXJuIGNoYXIgYm9vdF9jb21tYW5kX2xpbmVbXTsKLQotCW1pLT5ucl9iYW5rcyAgICAgID0gMTsKLQltaS0+YmFua1swXS5zdGFydCA9IFBIWVNfT0ZGU0VUOwotCW1pLT5iYW5rWzBdLnNpemUgID0gYm9vdF9tZW1vcnlfZW5kOwotCW1pLT5iYW5rWzBdLm5vZGUgID0gMDsKLQotCSpjbWRsaW5lID0gYm9vdF9jb21tYW5kX2xpbmU7Ci19Ci0KLU1BQ0hJTkVfU1RBUlQoQ08yODUsICJjby1FQlNBMjg1IikKLQkvKiBNYWludGFpbmVyOiBNYXJrIHZhbiBEb2VzYnVyZyAqLwotCS5waHlzX2lvCT0gREMyMTI4NV9BUk1DU1JfQkFTRSwKLQkuaW9fcGdfb2Zmc3QJPSAoKDB4N2NmMDAwMDApID4+IDE4KSAmIDB4ZmZmYywKLQkuZml4dXAJCT0gZml4dXBfY29lYnNhMjg1LAotCS5tYXBfaW8JCT0gZm9vdGJyaWRnZV9tYXBfaW8sCi0JLmluaXRfaXJxCT0gZm9vdGJyaWRnZV9pbml0X2lycSwKLQkudGltZXIJCT0gJmZvb3RicmlkZ2VfdGltZXIsCi1NQUNISU5FX0VORAotCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY29tbW9uLmMKaW5kZXggZWYyOWZjMy4uYjA4YWI1MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvbW1vbi5jCisrKyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jb21tb24uYwpAQCAtMTc3LDI1ICsxNzcsNiBAQAogI2VuZGlmCiB9OwogCi0vKgotICogVGhlIENPLWVic2EyODUgbWFwcGluZy4KLSAqLwotc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBjbzI4NV9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKLSNpZmRlZiBDT05GSUdfQVJDSF9DTzI4NQotCXsKLQkJLnZpcnR1YWwJPSBQQ0lPX0JBU0UsCi0JCS5wZm4JCT0gX19waHlzX3RvX3BmbihEQzIxMjg1X1BDSV9JTyksCi0JCS5sZW5ndGgJCT0gUENJT19TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UsCi0JfSwgewotCQkudmlydHVhbAk9IFBDSU1FTV9CQVNFLAotCQkucGZuCQk9IF9fcGh5c190b19wZm4oREMyMTI4NV9QQ0lfTUVNKSwKLQkJLmxlbmd0aAkJPSBQQ0lNRU1fU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFLAotCX0sCi0jZW5kaWYKLX07Ci0KIHZvaWQgX19pbml0IGZvb3RicmlkZ2VfbWFwX2lvKHZvaWQpCiB7CiAJLyoKQEAgLTIwOCw4ICsxODksNiBAQAogCSAqIE5vdywgd29yayBvdXQgd2hhdCB3ZSd2ZSBnb3QgdG8gbWFwIGluIGFkZGl0aW9uIG9uIHRoaXMKIAkgKiBwbGF0Zm9ybS4KIAkgKi8KLQlpZiAobWFjaGluZV9pc19jbzI4NSgpKQotCQlpb3RhYmxlX2luaXQoY28yODVfaW9fZGVzYywgQVJSQVlfU0laRShjbzI4NV9pb19kZXNjKSk7CiAJaWYgKGZvb3RicmlkZ2VfY2ZuX21vZGUoKSkKIAkJaW90YWJsZV9pbml0KGVic2EyODVfaG9zdF9pb19kZXNjLCBBUlJBWV9TSVpFKGVic2EyODVfaG9zdF9pb19kZXNjKSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvZWJzYTI4NS1sZWRzLmMgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvZWJzYTI4NS1sZWRzLmMKaW5kZXggYTY0ZTIyMi4uMDljMWZiYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2Vic2EyODUtbGVkcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9lYnNhMjg1LWxlZHMuYwpAQCAtMTI4LDcgKzEyOCw3IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGxlZHNfaW5pdCh2b2lkKQogewotCWlmIChtYWNoaW5lX2lzX2Vic2EyODUoKSB8fCBtYWNoaW5lX2lzX2NvMjg1KCkpCisJaWYgKG1hY2hpbmVfaXNfZWJzYTI4NSgpKQogCQlsZWRzX2V2ZW50ID0gZWJzYTI4NV9sZWRzX2V2ZW50OwogCiAJbGVkc19ldmVudChsZWRfc3RhcnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL3RpbWUuYyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS90aW1lLmMKaW5kZXggNWQwMmU5NS4uZDVjZmNkYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL3RpbWUuYworKysgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvdGltZS5jCkBAIC0xMTUsOCArMTE1LDcgQEAKIAogdm9pZCBfX2luaXQgaXNhX3J0Y19pbml0KHZvaWQpCiB7Ci0JaWYgKG1hY2hpbmVfaXNfY28yODUoKSB8fAotCSAgICBtYWNoaW5lX2lzX3BlcnNvbmFsX3NlcnZlcigpKQorCWlmIChtYWNoaW5lX2lzX3BlcnNvbmFsX3NlcnZlcigpKQogCQkvKgogCQkgKiBBZGQtaW4gMjEyODVzIHNob3VsZG4ndCBhY2Nlc3MgdGhlIFJUQwogCQkgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1pbXgvTWFrZWZpbGUKaW5kZXggODhkNWU2MS4uYjA0N2M3ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvTWFrZWZpbGUKQEAgLTQsNyArNCw3IEBACiAKICMgT2JqZWN0IGZpbGUgbGlzdHMuCiAKLW9iai15CQkJKz0gaXJxLm8gdGltZS5vIGRtYS5vIGdlbmVyaWMubworb2JqLXkJCQkrPSBpcnEubyB0aW1lLm8gZG1hLm8gZ2VuZXJpYy5vIGNsb2NrLm8KIAogb2JqLSQoQ09ORklHX0NQVV9GUkVRX0lNWCkJKz0gY3B1ZnJlcS5vCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLWlteC9jbG9jay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhOTBmZTUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWlteC9jbG9jay5jCkBAIC0wLDAgKzEsMjA1IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwOCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L21hdGg2NC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorCisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXJlZ3MuaD4KKworLyoKKyAqIFZlcnkgc2ltcGxlIGFwcHJvYWNoOiBXZSBjYW4ndCBkaXNhYmxlIGNsb2Nrcywgc28gd2UgZG8KKyAqIG5vdCBuZWVkIHJlZmNvdW50aW5nCisgKi8KKworc3RydWN0IGNsayB7CisJc3RydWN0IGxpc3RfaGVhZCBub2RlOworCWNvbnN0IGNoYXIgKm5hbWU7CisJdW5zaWduZWQgbG9uZyAoKmdldF9yYXRlKSh2b2lkKTsKK307CisKKy8qCisgKiAgZ2V0IHRoZSBzeXN0ZW0gcGxsIGNsb2NrIGluIEh6CisgKgorICogICAgICAgICAgICAgICAgICBtZmkgKyBtZm4gLyAobWZkICsxKQorICogIGYgPSAyICogZl9yZWYgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLQorICogICAgICAgICAgICAgICAgICAgICAgICBwZCArIDEKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2RlY29kZV9wbGwodW5zaWduZWQgaW50IHBsbCwgdTMyIGZfcmVmKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBsbDsKKwl1bnNpZ25lZCBsb25nIHF1b3Q7CisKKwl1MzIgbWZpID0gKHBsbCA+PiAxMCkgJiAweGY7CisJdTMyIG1mbiA9IHBsbCAmIDB4M2ZmOworCXUzMiBtZmQgPSAocGxsID4+IDE2KSAmIDB4M2ZmOworCXUzMiBwZCA9ICAocGxsID4+IDI2KSAmIDB4ZjsKKworCW1maSA9IG1maSA8PSA1ID8gNSA6IG1maTsKKworCWxsID0gMiAqICh1bnNpZ25lZCBsb25nIGxvbmcpZl9yZWYgKgorCQkoKG1maSA8PCAxNikgKyAobWZuIDw8IDE2KSAvIChtZmQgKyAxKSk7CisJcXVvdCA9IChwZCArIDEpICogKDEgPDwgMTYpOworCWxsICs9IHF1b3QgLyAyOworCWRvX2RpdihsbCwgcXVvdCk7CisJcmV0dXJuICh1bnNpZ25lZCBsb25nKWxsOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X3N5c3RlbV9jbGsodm9pZCkKK3sKKwl1MzIgZl9yZWYgPSAoQ1NDUiAmIENTQ1JfU1lTVEVNX1NFTCkgPyAxNjAwMDAwMCA6IChDTEszMiAqIDUxMik7CisKKwlyZXR1cm4gaW14X2RlY29kZV9wbGwoU1BDVEwwLCBmX3JlZik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGlteF9nZXRfbWN1X2Nsayh2b2lkKQoreworCXJldHVybiBpbXhfZGVjb2RlX3BsbChNUENUTDAsIENMSzMyICogNTEyKTsKK30KKworLyoKKyAqICBnZXQgcGVyaXBoZXJhbCBjbG9jayAxICggVUFSVFsxMl0sIFRpbWVyWzEyXSwgUFdNICkKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2dldF9wZXJjbGsxKHZvaWQpCit7CisJcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUikgJiAweGYpKzEpOworfQorCisvKgorICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDIgKCBMQ0QsIFNELCBTUElbMTJdICkKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2dldF9wZXJjbGsyKHZvaWQpCit7CisJcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUj4+NCkgJiAweGYpKzEpOworfQorCisvKgorICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDMgKCBTU0kgKQorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X3BlcmNsazModm9pZCkKK3sKKwlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChQQ0RSPj4xNikgJiAweDdmKSsxKTsKK30KKworLyoKKyAqICBnZXQgaGNsayAoIFNEUkFNLCBDU0ksIE1lbW9yeSBTdGljaywgSTJDLCBETUEgKQorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X2hjbGsodm9pZCkKK3sKKwlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChDU0NSPj4xMCkgJiAweGYpKzEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfc3lzdGVtX2NsayA9IHsKKwkubmFtZSA9ICJzeXN0ZW1fY2xrIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X3N5c3RlbV9jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfaGNsayA9IHsKKwkubmFtZSA9ICJoY2xrIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X2hjbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfbWN1X2NsayA9IHsKKwkubmFtZSA9ICJtY3VfY2xrIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X21jdV9jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfcGVyY2xrMSA9IHsKKwkubmFtZSA9ICJwZXJjbGsxIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X3BlcmNsazEsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfdWFydF9jbGsgPSB7CisJLm5hbWUgPSAidWFydF9jbGsiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfcGVyY2xrMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19wZXJjbGsyID0geworCS5uYW1lID0gInBlcmNsazIiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfcGVyY2xrMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19wZXJjbGszID0geworCS5uYW1lID0gInBlcmNsazMiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfcGVyY2xrMywKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrICpjbGtzW10gPSB7CisJJmNsa19wZXJjbGsxLAorCSZjbGtfcGVyY2xrMiwKKwkmY2xrX3BlcmNsazMsCisJJmNsa19zeXN0ZW1fY2xrLAorCSZjbGtfaGNsaywKKwkmY2xrX21jdV9jbGssCisJJmNsa191YXJ0X2NsaywKK307CisKK3N0YXRpYyBMSVNUX0hFQUQoY2xvY2tzKTsKK3N0YXRpYyBERUZJTkVfTVVURVgoY2xvY2tzX211dGV4KTsKKworc3RydWN0IGNsayAqY2xrX2dldChzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmlkKQoreworCXN0cnVjdCBjbGsgKnAsICpjbGsgPSBFUlJfUFRSKC1FTk9FTlQpOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHAsICZjbG9ja3MsIG5vZGUpIHsKKwkJaWYgKCFzdHJjbXAocC0+bmFtZSwgaWQpKSB7CisJCQljbGsgPSBwOworCQkJZ290byBmb3VuZDsKKwkJfQorCX0KKworZm91bmQ6CisJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOworCisJcmV0dXJuIGNsazsKK30KKwordm9pZCBjbGtfcHV0KHN0cnVjdCBjbGsgKmNsaykKK3sKK30KKworaW50IGNsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiAwOworfQorCit2b2lkIGNsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKK30KKwordW5zaWduZWQgbG9uZyBjbGtfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBjbGstPmdldF9yYXRlKCk7Cit9CisKK2ludCBpbXhfY2xvY2tzX2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKworCW11dGV4X2xvY2soJmNsb2Nrc19tdXRleCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY2xrcyk7IGkrKykKKwkJbGlzdF9hZGQoJmNsa3NbaV0tPm5vZGUsICZjbG9ja3MpOworCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiAwOworfQorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9jcHVmcmVxLmMgYi9hcmNoL2FybS9tYWNoLWlteC9jcHVmcmVxLmMKaW5kZXggZTU0OGJhNy4uYmUwODA5YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvY3B1ZnJlcS5jCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L2NwdWZyZXEuYwpAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KQEAgLTUyLDYgKzU0LDggQEAKIHN0YXRpYyB1MzIgbXBjdGwwX2F0X2Jvb3Q7CiBzdGF0aWMgdTMyIGJjbGtfZGl2X2F0X2Jvb3Q7CiAKK3N0YXRpYyBzdHJ1Y3QgY2xrICpzeXN0ZW1fY2xrLCAqbWN1X2NsazsKKwogc3RhdGljIHZvaWQgaW14X3NldF9hc3luY19tb2RlKHZvaWQpCiB7CiAJYWRqdXN0X2NyKENSXzkyMFRfQ0xPQ0tfTU9ERSwgQ1JfOTIwVF9BU1lOQ19NT0RFKTsKQEAgLTE2MCwxMCArMTY0LDEwIEBACiAJY3IgPSBnZXRfY3IoKTsKIAogCWlmKChjciAmIENSXzkyMFRfQ0xPQ0tfTU9ERSkgPT0gQ1JfOTIwVF9GQVNUQlVTX01PREUpIHsKLQkJZnJlcSA9IGlteF9nZXRfc3lzdGVtX2NsaygpOworCQlmcmVxID0gY2xrX2dldF9yYXRlKHN5c3RlbV9jbGspOwogCQlmcmVxID0gKGZyZXEgKyBiY2xrX2Rpdi8yKSAvIGJjbGtfZGl2OwogCX0gZWxzZSB7Ci0JCWZyZXEgPSBpbXhfZ2V0X21jdV9jbGsoKTsKKwkJZnJlcSA9IGNsa19nZXRfcmF0ZShtY3VfY2xrKTsKIAkJaWYgKGNzY3IgJiBDU0NSX01QVV9QUkVTQykKIAkJCWZyZXEgLz0gMjsKIAl9CkBAIC0yMDEsNyArMjA1LDcgQEAKIAlwcl9kZWJ1ZyhLRVJOX0RFQlVHICJpbXg6IHJlcXVlc3RlZCBmcmVxdWVuY3kgJWxkIEh6LCBtcGN0bDAgYXQgYm9vdCAweCUwOHhcbiIsCiAJCQlmcmVxLCBtcGN0bDBfYXRfYm9vdCk7CiAKLQlzeXNjbGsgPSBpbXhfZ2V0X3N5c3RlbV9jbGsoKTsKKwlzeXNjbGsgPSBjbGtfZ2V0X3JhdGUoc3lzdGVtX2Nsayk7CiAKIAlpZiAoZnJlcSA+IHN5c2NsayAvIGJjbGtfZGl2X2F0X2Jvb3QgKyAxMDAwMDAwKSB7CiAJCWZyZXEgPSBpbXhfY29tcHV0ZV9tcGN0bCgmbXBjdGwwLCBtcGN0bDBfYXRfYm9vdCwgQ0xLMzIgKiA1MTIsIGZyZXEsIHJlbGF0aW9uKTsKQEAgLTI5MCw2ICsyOTQsMTYgQEAKIAliY2xrX2Rpdl9hdF9ib290ID0gX19tZmxkMnZhbChDU0NSX0JDTEtfRElWLCBDU0NSKSArIDE7CiAJbXBjdGwwX2F0X2Jvb3QgPSAwOwogCisJc3lzdGVtX2NsayA9IGNsa19nZXQoTlVMTCwgInN5c3RlbV9jbGsiKTsKKwlpZiAoSVNfRVJSKHN5c3RlbV9jbGspKQorCQlyZXR1cm4gUFRSX0VSUihzeXN0ZW1fY2xrKTsKKworCW1jdV9jbGsgPSBjbGtfZ2V0KE5VTEwsICJtY3VfY2xrIik7CisJaWYgKElTX0VSUihtY3VfY2xrKSkgeworCQljbGtfcHV0KHN5c3RlbV9jbGspOworCQlyZXR1cm4gUFRSX0VSUihtY3VfY2xrKTsKKwl9CisKIAlpZigoQ1NDUiAmIENTQ1JfTVBFTikgJiYKIAkgICAoKGdldF9jcigpICYgQ1JfOTIwVF9DTE9DS19NT0RFKSAhPSBDUl85MjBUX0ZBU1RCVVNfTU9ERSkpCiAJCW1wY3RsMF9hdF9ib290ID0gTVBDVEwwOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvZG1hLmMgYi9hcmNoL2FybS9tYWNoLWlteC9kbWEuYwppbmRleCBhNTlmZjI5Li5lZTFjNmYwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC9kbWEuYworKysgYi9hcmNoL2FybS9tYWNoLWlteC9kbWEuYwpAQCAtNDEwLDcgKzQxMCw2IEBACiAKIC8qKgogICogaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8gLSBmaW5kIGFuZCByZXF1ZXN0IHNvbWUgb2YgZnJlZSBjaGFubmVscyBiZXN0IHN1aXRpbmcgcmVxdWVzdGVkIHByaW9yaXR5Ci0gKiBAZG1hX2NoOiBpLk1YIERNQSBjaGFubmVsIG51bWJlcgogICogQG5hbWU6IHRoZSBkcml2ZXIvY2FsbGVyIG93biBub24tJU5VTEwgaWRlbnRpZmljYXRpb24KICAqIEBwcmlvOiBvbmUgb2YgdGhlIGhhcmR3YXJlIGRpc3Rpbmd1aXNoZWQgcHJpb3JpdHkgbGV2ZWw6CiAgKiAgICAgICAgJURNQV9QUklPX0hJR0gsICVETUFfUFJJT19NRURJVU0sICVETUFfUFJJT19MT1cKQEAgLTQyMCwxMSArNDE5LDkgQEAKICAqIGluIHRoZSBoaWdoZXIgYW5kIHRoZW4gZXZlbiBsb3dlciBwcmlvcml0eSBncm91cHMuCiAgKgogICogUmV0dXJuIHZhbHVlOiBJZiB0aGVyZSBpcyBubyBmcmVlIGNoYW5uZWwgdG8gYWxsb2NhdGUsIC0lRU5PREVWIGlzIHJldHVybmVkLgotICogICAgICAgICAgICAgICBaZXJvIHZhbHVlIGluZGljYXRlcyBzdWNjZXNzZnVsIGNoYW5uZWwgYWxsb2NhdGlvbi4KKyAqICAgICAgICAgICAgICAgT24gc3VjY2Vzc2Z1bCBhbGxvY2F0aW9uIGNoYW5uZWwgaXMgcmV0dXJuZWQuCiAgKi8KLWludAotaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oaW14X2RtYWNoX3QgKiBwZG1hX2NoLCBjb25zdCBjaGFyICpuYW1lLAotCQkJaW14X2RtYV9wcmlvIHByaW8pCitpbXhfZG1hY2hfdCBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyhjb25zdCBjaGFyICpuYW1lLCBpbXhfZG1hX3ByaW8gcHJpbykKIHsKIAlpbnQgaTsKIAlpbnQgYmVzdDsKQEAgLTQ0NCwxNSArNDQxLDEzIEBACiAKIAlmb3IgKGkgPSBiZXN0OyBpIDwgSU1YX0RNQV9DSEFOTkVMUzsgaSsrKSB7CiAJCWlmICghaW14X2RtYV9yZXF1ZXN0KGksIG5hbWUpKSB7Ci0JCQkqcGRtYV9jaCA9IGk7Ci0JCQlyZXR1cm4gMDsKKwkJCXJldHVybiBpOwogCQl9CiAJfQogCiAJZm9yIChpID0gYmVzdCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAJCWlmICghaW14X2RtYV9yZXF1ZXN0KGksIG5hbWUpKSB7Ci0JCQkqcGRtYV9jaCA9IGk7Ci0JCQlyZXR1cm4gMDsKKwkJCXJldHVybiBpOwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9nZW5lcmljLmMgYi9hcmNoL2FybS9tYWNoLWlteC9nZW5lcmljLmMKaW5kZXggNGNmYzlkMy4uOThkZGQ4YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvZ2VuZXJpYy5jCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L2dlbmVyaWMuYwpAQCAtMjE0LDgyICsyMTQsNiBAQAogCiBFWFBPUlRfU1lNQk9MKGlteF9pcnFfdG9fZ3Bpbyk7CiAKLS8qCi0gKiAgZ2V0IHRoZSBzeXN0ZW0gcGxsIGNsb2NrIGluIEh6Ci0gKgotICogICAgICAgICAgICAgICAgICBtZmkgKyBtZm4gLyAobWZkICsxKQotICogIGYgPSAyICogZl9yZWYgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLQotICogICAgICAgICAgICAgICAgICAgICAgICBwZCArIDEKLSAqLwotc3RhdGljIHVuc2lnbmVkIGludCBpbXhfZGVjb2RlX3BsbCh1bnNpZ25lZCBpbnQgcGxsLCB1MzIgZl9yZWYpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIGxsOwotCXVuc2lnbmVkIGxvbmcgcXVvdDsKLQotCXUzMiBtZmkgPSAocGxsID4+IDEwKSAmIDB4ZjsKLQl1MzIgbWZuID0gcGxsICYgMHgzZmY7Ci0JdTMyIG1mZCA9IChwbGwgPj4gMTYpICYgMHgzZmY7Ci0JdTMyIHBkID0gIChwbGwgPj4gMjYpICYgMHhmOwotCi0JbWZpID0gbWZpIDw9IDUgPyA1IDogbWZpOwotCi0JbGwgPSAyICogKHVuc2lnbmVkIGxvbmcgbG9uZylmX3JlZiAqICggKG1maTw8MTYpICsgKG1mbjw8MTYpIC8gKG1mZCsxKSApOwotCXF1b3QgPSAocGQrMSkgKiAoMTw8MTYpOwotCWxsICs9IHF1b3QgLyAyOwotCWRvX2RpdihsbCwgcXVvdCk7Ci0JcmV0dXJuICh1bnNpZ25lZCBpbnQpIGxsOwotfQotCi11bnNpZ25lZCBpbnQgaW14X2dldF9zeXN0ZW1fY2xrKHZvaWQpCi17Ci0JdTMyIGZfcmVmID0gKENTQ1IgJiBDU0NSX1NZU1RFTV9TRUwpID8gMTYwMDAwMDAgOiAoQ0xLMzIgKiA1MTIpOwotCi0JcmV0dXJuIGlteF9kZWNvZGVfcGxsKFNQQ1RMMCwgZl9yZWYpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X3N5c3RlbV9jbGspOwotCi11bnNpZ25lZCBpbnQgaW14X2dldF9tY3VfY2xrKHZvaWQpCi17Ci0JcmV0dXJuIGlteF9kZWNvZGVfcGxsKE1QQ1RMMCwgQ0xLMzIgKiA1MTIpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X21jdV9jbGspOwotCi0vKgotICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDEgKCBVQVJUWzEyXSwgVGltZXJbMTJdLCBQV00gKQotICovCi11bnNpZ25lZCBpbnQgaW14X2dldF9wZXJjbGsxKHZvaWQpCi17Ci0JcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUikgJiAweGYpKzEpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X3BlcmNsazEpOwotCi0vKgotICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDIgKCBMQ0QsIFNELCBTUElbMTJdICkKLSAqLwotdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMih2b2lkKQotewotCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKFBDRFI+PjQpICYgMHhmKSsxKTsKLX0KLUVYUE9SVF9TWU1CT0woaW14X2dldF9wZXJjbGsyKTsKLQotLyoKLSAqICBnZXQgcGVyaXBoZXJhbCBjbG9jayAzICggU1NJICkKLSAqLwotdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMyh2b2lkKQotewotCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKFBDRFI+PjE2KSAmIDB4N2YpKzEpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X3BlcmNsazMpOwotCi0vKgotICogIGdldCBoY2xrICggU0RSQU0sIENTSSwgTWVtb3J5IFN0aWNrLCBJMkMsIERNQSApCi0gKi8KLXVuc2lnbmVkIGludCBpbXhfZ2V0X2hjbGsodm9pZCkKLXsKLQlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChDU0NSPj4xMCkgJiAweGYpKzEpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X2hjbGspOwotCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGlteF9tbWNfcmVzb3VyY2VzW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSAweDAwMjE0MDAwLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvbXgxYWRzLmMgYi9hcmNoL2FybS9tYWNoLWlteC9teDFhZHMuYwppbmRleCBhOTc3OGMxLi45NjM1ZDU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC9teDFhZHMuYworKysgYi9hcmNoL2FybS9tYWNoLWlteC9teDFhZHMuYwpAQCAtNjksNiArNjksMTEgQEAKIAkJLmVuZAk9IChVQVJUMV9NSU5UX1RYKSwKIAkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCiAJfSwKKwlbM10gPSB7CisJCS5zdGFydAk9IFVBUlQxX01JTlRfUlRTLAorCQkuZW5kCT0gVUFSVDFfTUlOVF9SVFMsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBpbXhfdWFydDFfZGV2aWNlID0gewpAQCAtOTcsNiArMTAyLDExIEBACiAJCS5lbmQJPSAoVUFSVDJfTUlOVF9UWCksCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAogCX0sCisJWzNdID0geworCQkuc3RhcnQJPSBVQVJUMl9NSU5UX1JUUywKKwkJLmVuZAk9IFVBUlQyX01JTlRfUlRTLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgaW14X3VhcnQyX2RldmljZSA9IHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L3RpbWUuYyBiL2FyY2gvYXJtL21hY2gtaW14L3RpbWUuYwppbmRleCBkODZkMTI0Li41YTQxZTk2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC90aW1lLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvdGltZS5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvdGltZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CiAjaW5jbHVkZSA8bGludXgvY2xvY2tjaGlwcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC04NiwxMCArODcsMTAgQEAKIAkuZmxhZ3MJCT0gQ0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVMsCiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBpbXhfY2xvY2tzb3VyY2VfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgaW14X2Nsb2Nrc291cmNlX2luaXQodW5zaWduZWQgbG9uZyByYXRlKQogewogCWNsb2Nrc291cmNlX2lteC5tdWx0ID0KLQkJY2xvY2tzb3VyY2VfaHoybXVsdChpbXhfZ2V0X3BlcmNsazEoKSwgY2xvY2tzb3VyY2VfaW14LnNoaWZ0KTsKKwkJY2xvY2tzb3VyY2VfaHoybXVsdChyYXRlLCBjbG9ja3NvdXJjZV9pbXguc2hpZnQpOwogCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV9pbXgpOwogCiAJcmV0dXJuIDA7CkBAIC0xNzQsOSArMTc1LDkgQEAKIAkucmF0aW5nCQk9IDIwMCwKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IGlteF9jbG9ja2V2ZW50X2luaXQodm9pZCkKK3N0YXRpYyBpbnQgX19pbml0IGlteF9jbG9ja2V2ZW50X2luaXQodW5zaWduZWQgbG9uZyByYXRlKQogewotCWNsb2NrZXZlbnRfaW14Lm11bHQgPSBkaXZfc2MoaW14X2dldF9wZXJjbGsxKCksIE5TRUNfUEVSX1NFQywKKwljbG9ja2V2ZW50X2lteC5tdWx0ID0gZGl2X3NjKHJhdGUsIE5TRUNfUEVSX1NFQywKIAkJCQkJY2xvY2tldmVudF9pbXguc2hpZnQpOwogCWNsb2NrZXZlbnRfaW14Lm1heF9kZWx0YV9ucyA9CiAJCWNsb2NrZXZlbnRfZGVsdGEybnMoMHhmZmZmZmZmZSwgJmNsb2NrZXZlbnRfaW14KTsKQEAgLTE5MCwxMyArMTkxLDIzIEBACiAJcmV0dXJuIDA7CiB9CiAKK2V4dGVybiBpbnQgaW14X2Nsb2Nrc19pbml0KHZvaWQpOwogCiBzdGF0aWMgdm9pZCBfX2luaXQgaW14X3RpbWVyX2luaXQodm9pZCkKIHsKLQlpbXhfdGltZXJfaGFyZHdhcmVfaW5pdCgpOwotCWlteF9jbG9ja3NvdXJjZV9pbml0KCk7CisJc3RydWN0IGNsayAqY2xrOworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKIAotCWlteF9jbG9ja2V2ZW50X2luaXQoKTsKKwlpbXhfY2xvY2tzX2luaXQoKTsKKworCWNsayA9IGNsa19nZXQoTlVMTCwgInBlcmNsazEiKTsKKwljbGtfZW5hYmxlKGNsayk7CisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGspOworCisJaW14X3RpbWVyX2hhcmR3YXJlX2luaXQoKTsKKwlpbXhfY2xvY2tzb3VyY2VfaW5pdChyYXRlKTsKKworCWlteF9jbG9ja2V2ZW50X2luaXQocmF0ZSk7CiAKIAkvKgogCSAqIE1ha2UgaXJxcyBoYXBwZW4gZm9yIHRoZSBzeXN0ZW0gdGltZXIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci9NYWtlZmlsZQppbmRleCAxNThkYWFmLi42YTVlZjhkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL01ha2VmaWxlCkBAIC00LDcgKzQsNyBAQAogCiAjIE9iamVjdCBmaWxlIGxpc3RzLgogCi1vYmoteQkJCQkJOj0gY2xvY2subyBjb3JlLm8gbG0ubyB0aW1lLm8KK29iai15CQkJCQk6PSBjbG9jay5vIGNvcmUubyBsbS5vCiBvYmotJChDT05GSUdfQVJDSF9JTlRFR1JBVE9SX0FQKQkrPSBpbnRlZ3JhdG9yX2FwLm8KIG9iai0kKENPTkZJR19BUkNIX0lOVEVHUkFUT1JfQ1ApCSs9IGludGVncmF0b3JfY3AubwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvdGltZS5jIGIvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL3RpbWUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODUwOGEwZC4uMDAwMDAwMAotLS0gYS9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvdGltZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMjIzICswLDAgQEAKLS8qCi0gKiAgbGludXgvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL3RpbWUuYwotICoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMSBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZS5oPgotI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L2FtYmEvYnVzLmg+Ci0KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGFzbS9ydGMuaD4KLQotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLQotI2RlZmluZSBSVENfRFIJCSgwKQotI2RlZmluZSBSVENfTVIJCSg0KQotI2RlZmluZSBSVENfU1RBVAkoOCkKLSNkZWZpbmUgUlRDX0VPSQkJKDgpCi0jZGVmaW5lIFJUQ19MUgkJKDEyKQotI2RlZmluZSBSVENfQ1IJCSgxNikKLSNkZWZpbmUgUlRDX0NSX01JRQkoMSA8PCAwKQotCi1leHRlcm4gaW50ICgqc2V0X3J0Yykodm9pZCk7Ci1zdGF0aWMgdm9pZCBfX2lvbWVtICpydGNfYmFzZTsKLQotc3RhdGljIGludCBpbnRlZ3JhdG9yX3NldF9ydGModm9pZCkKLXsKLQlfX3Jhd193cml0ZWwoeHRpbWUudHZfc2VjLCBydGNfYmFzZSArIFJUQ19MUik7Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbnQgaW50ZWdyYXRvcl9ydGNfcmVhZF9hbGFybShzdHJ1Y3QgcnRjX3drYWxybSAqYWxybSkKLXsKLQlydGNfdGltZV90b190bShyZWFkbChydGNfYmFzZSArIFJUQ19NUiksICZhbHJtLT50aW1lKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgaW50ZWdyYXRvcl9ydGNfc2V0X2FsYXJtKHN0cnVjdCBydGNfd2thbHJtICphbHJtKQotewotCXVuc2lnbmVkIGxvbmcgdGltZTsKLQlpbnQgcmV0OwotCi0JLyoKLQkgKiBBdCB0aGUgbW9tZW50LCB3ZSBjYW4gb25seSBkZWFsIHdpdGggbm9uLXdpbGRjYXJkZWQgYWxhcm0gdGltZXMuCi0JICovCi0JcmV0ID0gcnRjX3ZhbGlkX3RtKCZhbHJtLT50aW1lKTsKLQlpZiAocmV0ID09IDApCi0JCXJldCA9IHJ0Y190bV90b190aW1lKCZhbHJtLT50aW1lLCAmdGltZSk7Ci0JaWYgKHJldCA9PSAwKQotCQl3cml0ZWwodGltZSwgcnRjX2Jhc2UgKyBSVENfTVIpOwotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgaW50ZWdyYXRvcl9ydGNfcmVhZF90aW1lKHN0cnVjdCBydGNfdGltZSAqdG0pCi17Ci0JcnRjX3RpbWVfdG9fdG0ocmVhZGwocnRjX2Jhc2UgKyBSVENfRFIpLCB0bSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBTZXQgdGhlIFJUQyB0aW1lLiAgVW5mb3J0dW5hdGVseSwgd2UgY2FuJ3QgYWNjdXJhdGVseSBzZXQKLSAqIHRoZSBwb2ludCBhdCB3aGljaCB0aGUgY291bnRlciB1cGRhdGVzLgotICoKLSAqIEFsc28sIHNpbmNlIFJUQ19MUiBpcyB0cmFuc2ZlcnJlZCB0byBSVENfQ1Igb24gbmV4dCByaXNpbmcKLSAqIGVkZ2Ugb2YgdGhlIDFIeiBjbG9jaywgd2UgbXVzdCB3cml0ZSB0aGUgdGltZSBvbmUgc2Vjb25kCi0gKiBpbiBhZHZhbmNlLgotICovCi1zdGF0aWMgaW5saW5lIGludCBpbnRlZ3JhdG9yX3J0Y19zZXRfdGltZShzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCXVuc2lnbmVkIGxvbmcgdGltZTsKLQlpbnQgcmV0OwotCi0JcmV0ID0gcnRjX3RtX3RvX3RpbWUodG0sICZ0aW1lKTsKLQlpZiAocmV0ID09IDApCi0JCXdyaXRlbCh0aW1lICsgMSwgcnRjX2Jhc2UgKyBSVENfTFIpOwotCi0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIHN0cnVjdCBydGNfb3BzIHJ0Y19vcHMgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5yZWFkX3RpbWUJPSBpbnRlZ3JhdG9yX3J0Y19yZWFkX3RpbWUsCi0JLnNldF90aW1lCT0gaW50ZWdyYXRvcl9ydGNfc2V0X3RpbWUsCi0JLnJlYWRfYWxhcm0JPSBpbnRlZ3JhdG9yX3J0Y19yZWFkX2FsYXJtLAotCS5zZXRfYWxhcm0JPSBpbnRlZ3JhdG9yX3J0Y19zZXRfYWxhcm0sCi19OwotCi1zdGF0aWMgaXJxcmV0dXJuX3QgYXJtX3J0Y19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQotewotCXdyaXRlbCgwLCBydGNfYmFzZSArIFJUQ19FT0kpOwotCXJldHVybiBJUlFfSEFORExFRDsKLX0KLQotc3RhdGljIGludCBydGNfcHJvYmUoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYsIHZvaWQgKmlkKQotewotCWludCByZXQ7Ci0KLQlpZiAocnRjX2Jhc2UpCi0JCXJldHVybiAtRUJVU1k7Ci0KLQlyZXQgPSBhbWJhX3JlcXVlc3RfcmVnaW9ucyhkZXYsIE5VTEwpOwotCWlmIChyZXQpCi0JCWdvdG8gb3V0OwotCi0JcnRjX2Jhc2UgPSBpb3JlbWFwKGRldi0+cmVzLnN0YXJ0LCBTWl80Syk7Ci0JaWYgKCFydGNfYmFzZSkgewotCQlyZXQgPSAtRU5PTUVNOwotCQlnb3RvIHJlc19vdXQ7Ci0JfQotCi0JX19yYXdfd3JpdGVsKDAsIHJ0Y19iYXNlICsgUlRDX0NSKTsKLQlfX3Jhd193cml0ZWwoMCwgcnRjX2Jhc2UgKyBSVENfRU9JKTsKLQotCXh0aW1lLnR2X3NlYyA9IF9fcmF3X3JlYWRsKHJ0Y19iYXNlICsgUlRDX0RSKTsKLQotCS8qIG5vdGUgdGhhdCAnZGV2JyBpcyBtZXJlbHkgdXNlZCBmb3IgaXJxIGRpc2FtYmlndWF0aW9uOwotCSAqIGl0IGlzIG5vdCBhY3R1YWxseSByZWZlcmVuY2VkIGluIHRoZSBpcnEgaGFuZGxlcgotCSAqLwotCXJldCA9IHJlcXVlc3RfaXJxKGRldi0+aXJxWzBdLCBhcm1fcnRjX2ludGVycnVwdCwgSVJRRl9ESVNBQkxFRCwKLQkJCSAgInJ0Yy1wbDAzMCIsIGRldik7Ci0JaWYgKHJldCkKLQkJZ290byBtYXBfb3V0OwotCi0JcmV0ID0gcmVnaXN0ZXJfcnRjKCZydGNfb3BzKTsKLQlpZiAocmV0KQotCQlnb3RvIGlycV9vdXQ7Ci0KLQlzZXRfcnRjID0gaW50ZWdyYXRvcl9zZXRfcnRjOwotCXJldHVybiAwOwotCi0gaXJxX291dDoKLQlmcmVlX2lycShkZXYtPmlycVswXSwgZGV2KTsKLSBtYXBfb3V0OgotCWlvdW5tYXAocnRjX2Jhc2UpOwotCXJ0Y19iYXNlID0gTlVMTDsKLSByZXNfb3V0OgotCWFtYmFfcmVsZWFzZV9yZWdpb25zKGRldik7Ci0gb3V0OgotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX3JlbW92ZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldikKLXsKLQlzZXRfcnRjID0gTlVMTDsKLQotCXdyaXRlbCgwLCBydGNfYmFzZSArIFJUQ19DUik7Ci0KLQlmcmVlX2lycShkZXYtPmlycVswXSwgZGV2KTsKLQl1bnJlZ2lzdGVyX3J0YygmcnRjX29wcyk7Ci0KLQlpb3VubWFwKHJ0Y19iYXNlKTsKLQlydGNfYmFzZSA9IE5VTEw7Ci0JYW1iYV9yZWxlYXNlX3JlZ2lvbnMoZGV2KTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IHRpbWVzcGVjIHJ0Y19kZWx0YTsKLQotc3RhdGljIGludCBydGNfc3VzcGVuZChzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQotewotCXN0cnVjdCB0aW1lc3BlYyBydGM7Ci0KLQlydGMudHZfc2VjID0gcmVhZGwocnRjX2Jhc2UgKyBSVENfRFIpOwotCXJ0Yy50dl9uc2VjID0gMDsKLQlzYXZlX3RpbWVfZGVsdGEoJnJ0Y19kZWx0YSwgJnJ0Yyk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBydGNfcmVzdW1lKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2KQotewotCXN0cnVjdCB0aW1lc3BlYyBydGM7Ci0KLQlydGMudHZfc2VjID0gcmVhZGwocnRjX2Jhc2UgKyBSVENfRFIpOwotCXJ0Yy50dl9uc2VjID0gMDsKLQlyZXN0b3JlX3RpbWVfZGVsdGEoJnJ0Y19kZWx0YSwgJnJ0Yyk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBhbWJhX2lkIHJ0Y19pZHNbXSA9IHsKLQl7Ci0JCS5pZAk9IDB4MDAwNDEwMzAsCi0JCS5tYXNrCT0gMHgwMDBmZmZmZiwKLQl9LAotCXsgMCwgMCB9LAotfTsKLQotc3RhdGljIHN0cnVjdCBhbWJhX2RyaXZlciBydGNfZHJpdmVyID0gewotCS5kcnYJCT0gewotCQkubmFtZQk9ICJydGMtcGwwMzAiLAotCX0sCi0JLnByb2JlCQk9IHJ0Y19wcm9iZSwKLQkucmVtb3ZlCQk9IHJ0Y19yZW1vdmUsCi0JLnN1c3BlbmQJPSBydGNfc3VzcGVuZCwKLQkucmVzdW1lCQk9IHJ0Y19yZXN1bWUsCi0JLmlkX3RhYmxlCT0gcnRjX2lkcywKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGludGVncmF0b3JfcnRjX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gYW1iYV9kcml2ZXJfcmVnaXN0ZXIoJnJ0Y19kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgaW50ZWdyYXRvcl9ydGNfZXhpdCh2b2lkKQotewotCWFtYmFfZHJpdmVyX3VucmVnaXN0ZXIoJnJ0Y19kcml2ZXIpOwotfQotCi1tb2R1bGVfaW5pdChpbnRlZ3JhdG9yX3J0Y19pbml0KTsKLW1vZHVsZV9leGl0KGludGVncmF0b3JfcnRjX2V4aXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L0tjb25maWcKaW5kZXggZTc3NDQ0Ny4uZGI4YjVmZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9LY29uZmlnCkBAIC0xMjUsNiArMTI1LDE1IEBACiAJZGVwZW5kcyBvbiBBUkNIX0lYRFA0MjUgfHwgTUFDSF9JWERQNDY1IHx8IE1BQ0hfS0lYUlA0MzUKIAlkZWZhdWx0IHkKIAorY29uZmlnIE1BQ0hfRlNHCisJYm9vbAorCXByb21wdCAiRnJlZWNvbSBGU0ctMyIKKwlzZWxlY3QgUENJCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgRnJlZWNvbSdzCisJICBGU0ctMyBkZXZpY2UuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgcGxhdGZvcm0sCisJICBzZWUgaHR0cDovL3d3dy5uc2x1Mi1saW51eC5vcmcvd2lraS9GU0czL0hvbWVQYWdlCisKICMKICMgQ2VydGFpbiByZWdpc3RlcnMgYW5kIElSUXMgYXJlIG9ubHkgZW5hYmxlZCBpZiBzdXBwb3J0aW5nIElYUDQ2NSBDUFVzCiAjCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L01ha2VmaWxlCmluZGV4IGMxOTU2ODguLjJlNmJiZjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L01ha2VmaWxlCkBAIC0xNSw2ICsxNSw3IEBACiBvYmotcGNpLSQoQ09ORklHX01BQ0hfRFNNRzYwMCkJCSs9IGRzbWc2MDAtcGNpLm8KIG9iai1wY2ktJChDT05GSUdfTUFDSF9HQVRFV0FZNzAwMSkJKz0gZ2F0ZXdheTcwMDEtcGNpLm8KIG9iai1wY2ktJChDT05GSUdfTUFDSF9XRzMwMlYyKQkJKz0gd2czMDJ2Mi1wY2kubworb2JqLXBjaS0kKENPTkZJR19NQUNIX0ZTRykJCSs9IGZzZy1wY2kubwogCiBvYmoteQkrPSBjb21tb24ubwogCkBAIC0yOCw2ICsyOSw3IEBACiBvYmotJChDT05GSUdfTUFDSF9EU01HNjAwKSAgICAgICs9IGRzbWc2MDAtc2V0dXAubwogb2JqLSQoQ09ORklHX01BQ0hfR0FURVdBWTcwMDEpCSs9IGdhdGV3YXk3MDAxLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX1dHMzAyVjIpCSs9IHdnMzAydjItc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfRlNHKQkJKz0gZnNnLXNldHVwLm8KIAogb2JqLSQoQ09ORklHX1BDSSkJCSs9ICQob2JqLXBjaS0kKENPTkZJR19QQ0kpKSBjb21tb24tcGNpLm8KIG9iai0kKENPTkZJR19JWFA0WFhfUU1HUikJKz0gaXhwNHh4X3FtZ3IubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9jb21tb24uYwppbmRleCBmNmQ2NmRjLi4zNzgxYjNkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9jb21tb24uYworKysgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9jb21tb24uYwpAQCAtMzI2LDExICszMjYsMTEgQEAKIH07CiAKIC8qCi0gKiBVU0IgZGV2aWNlIGNvbnRyb2xsZXIuIFRoZSBJWFA0eHggdXNlcyB0aGUgc2FtZSBjb250cm9sbGVyIGFzIFBYQTJYWCwKKyAqIFVTQiBkZXZpY2UgY29udHJvbGxlci4gVGhlIElYUDR4eCB1c2VzIHRoZSBzYW1lIGNvbnRyb2xsZXIgYXMgUFhBMjVYLAogICogc28gd2UganVzdCB1c2UgdGhlIHNhbWUgZGV2aWNlLgogICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBpeHA0eHhfdWRjX2RldmljZSA9IHsKLQkubmFtZSAgICAgICAgICAgPSAicHhhMnh4LXVkYyIsCisJLm5hbWUgICAgICAgICAgID0gInB4YTI1eC11ZGMiLAogCS5pZCAgICAgICAgICAgICA9IC0xLAogCS5udW1fcmVzb3VyY2VzICA9IDIsCiAJLnJlc291cmNlICAgICAgID0gaXhwNHh4X3VkY19yZXNvdXJjZXMsCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctcGNpLmMgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctcGNpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE5ZjNmNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L2ZzZy1wY2kuYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogYXJjaC9hcmNoL21hY2gtaXhwNHh4L2ZzZy1wY2kuYworICoKKyAqIEZTRyBib2FyZC1sZXZlbCBQQ0kgaW5pdGlhbGl6YXRpb24KKyAqCisgKiBBdXRob3I6IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CisgKiBNYWludGFpbmVyOiBodHRwOi8vd3d3Lm5zbHUyLWxpbnV4Lm9yZy8KKyAqCisgKiBiYXNlZCBvbiBpeGRwNDI1LXBjaS5jOgorICoJQ29weXJpZ2h0IChDKSAyMDAyIEludGVsIENvcnBvcmF0aW9uLgorICoJQ29weXJpZ2h0IChDKSAyMDAzLTIwMDQgTW9udGFWaXN0YSBTb2Z0d2FyZSwgSW5jLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorCit2b2lkIF9faW5pdCBmc2dfcGNpX3ByZWluaXQodm9pZCkKK3sKKwlzZXRfaXJxX3R5cGUoSVJRX0ZTR19QQ0lfSU5UQSwgSVJRVF9MT1cpOworCXNldF9pcnFfdHlwZShJUlFfRlNHX1BDSV9JTlRCLCBJUlFUX0xPVyk7CisJc2V0X2lycV90eXBlKElSUV9GU0dfUENJX0lOVEMsIElSUVRfTE9XKTsKKworCWl4cDR4eF9wY2lfcHJlaW5pdCgpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmc2dfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJc3RhdGljIGludCBwY2lfaXJxX3RhYmxlW0ZTR19QQ0lfSVJRX0xJTkVTXSA9IHsKKwkJSVJRX0ZTR19QQ0lfSU5UQywKKwkJSVJRX0ZTR19QQ0lfSU5UQiwKKwkJSVJRX0ZTR19QQ0lfSU5UQSwKKwl9OworCisJaW50IGlycSA9IC0xOworCXNsb3QgPSBzbG90IC0gMTE7CisKKwlpZiAoc2xvdCA+PSAxICYmIHNsb3QgPD0gRlNHX1BDSV9NQVhfREVWICYmCisJICAgIHBpbiA+PSAxICYmIHBpbiA8PSBGU0dfUENJX0lSUV9MSU5FUykKKwkJaXJxID0gcGNpX2lycV90YWJsZVsoc2xvdCAtIDEpXTsKKwlwcmludGsoS0VSTl9JTkZPICIlczogTWFwcGVkIHNsb3QgJWQgcGluICVkIHRvIElSUSAlZFxuIiwKKwkgICAgICAgX19mdW5jX18sIHNsb3QsIHBpbiwgaXJxKTsKKworCXJldHVybiBpcnE7Cit9CisKK3N0cnVjdCBod19wY2kgZnNnX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycyA9IDEsCisJLnByZWluaXQgPQkgIGZzZ19wY2lfcHJlaW5pdCwKKwkuc3dpenpsZSA9CSAgcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cCA9CSAgaXhwNHh4X3NldHVwLAorCS5zY2FuID0JCSAgaXhwNHh4X3NjYW5fYnVzLAorCS5tYXBfaXJxID0JICBmc2dfbWFwX2lycSwKK307CisKK2ludCBfX2luaXQgZnNnX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfZnNnKCkpCisJCXBjaV9jb21tb25faW5pdCgmZnNnX3BjaSk7CisJcmV0dXJuIDA7Cit9CisKK3N1YnN5c19pbml0Y2FsbChmc2dfcGNpX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGIzYTkwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXNldHVwLmMKQEAgLTAsMCArMSwyNzYgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctc2V0dXAuYworICoKKyAqIEZTRyBib2FyZC1zZXR1cAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBSb2QgV2hpdGJ5IDxyb2RAd2hpdGJ5LmlkLmF1PgorICoKKyAqIGJhc2VkIG9uIGl4ZHA0MjUtc2V0dXAuYzoKKyAqCUNvcHlyaWdodCAoQykgMjAwMy0yMDA0IE1vbnRhVmlzdGEgU29mdHdhcmUsIEluYy4KKyAqIGJhc2VkIG9uIG5zbHUyLXBvd2VyLmMKKyAqCUNvcHlyaWdodCAoQykgMjAwNSBUb3dlciBUZWNobm9sb2dpZXMKKyAqCisgKiBBdXRob3I6IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CisgKiBNYWludGFpbmVyczogaHR0cDovL3d3dy5uc2x1Mi1saW51eC5vcmcvCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF84MjUwLmg+CisjaW5jbHVkZSA8bGludXgvbGVkcy5oPgorI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy1ncGlvLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9mbGFzaC5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisKK3N0YXRpYyBzdHJ1Y3QgZmxhc2hfcGxhdGZvcm1fZGF0YSBmc2dfZmxhc2hfZGF0YSA9IHsKKwkubWFwX25hbWUJCT0gImNmaV9wcm9iZSIsCisJLndpZHRoCQkJPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBmc2dfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQkJPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGZzZ19mbGFzaCA9IHsKKwkubmFtZQkJCT0gIklYUDRYWC1GbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmZzZ19mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJmZzZ19mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2dwaW9fcGxhdGZvcm1fZGF0YSBmc2dfaTJjX2dwaW9fZGF0YSA9IHsKKwkuc2RhX3BpbgkJPSBGU0dfU0RBX1BJTiwKKwkuc2NsX3BpbgkJPSBGU0dfU0NMX1BJTiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGZzZ19pMmNfZ3BpbyA9IHsKKwkubmFtZQkJCT0gImkyYy1ncGlvIiwKKwkuaWQJCQk9IDAsCisJLmRldiA9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZnNnX2kyY19ncGlvX2RhdGEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gX19pbml0ZGF0YSBmc2dfaTJjX2JvYXJkX2luZm8gW10gPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygicnRjLWlzbDEyMDgiLCAweDZmKSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBmc2dfdWFydF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBJWFA0WFhfVUFSVDFfQkFTRV9QSFlTLAorCQkuZW5kCQk9IElYUDRYWF9VQVJUMV9CQVNFX1BIWVMgKyAweDBmZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCXsKKwkJLnN0YXJ0CQk9IElYUDRYWF9VQVJUMl9CQVNFX1BIWVMsCisJCS5lbmQJCT0gSVhQNFhYX1VBUlQyX0JBU0VfUEhZUyArIDB4MGZmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgZnNnX3VhcnRfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBJWFA0WFhfVUFSVDFfQkFTRV9QSFlTLAorCQkubWVtYmFzZQk9IChjaGFyICopSVhQNFhYX1VBUlQxX0JBU0VfVklSVCArIFJFR19PRkZTRVQsCisJCS5pcnEJCT0gSVJRX0lYUDRYWF9VQVJUMSwKKwkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GIHwgVVBGX1NLSVBfVEVTVCwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBJWFA0WFhfVUFSVF9YVEFMLAorCX0sCisJeworCQkubWFwYmFzZQk9IElYUDRYWF9VQVJUMl9CQVNFX1BIWVMsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilJWFA0WFhfVUFSVDJfQkFTRV9WSVJUICsgUkVHX09GRlNFVCwKKwkJLmlycQkJPSBJUlFfSVhQNFhYX1VBUlQyLAorCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYgfCBVUEZfU0tJUF9URVNULAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IElYUDRYWF9VQVJUX1hUQUwsCisJfSwKKwl7IH0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGZzZ191YXJ0ID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSBQTEFUODI1MF9ERVZfUExBVEZPUk0sCisJLmRldiA9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBmc2dfdWFydF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShmc2dfdWFydF9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZQkJPSBmc2dfdWFydF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBmc2dfbGVkcyA9IHsKKwkubmFtZQkJPSAiZnNnLWxlZCIsCisJLmlkCQk9IC0xLAorfTsKKworLyogQnVpbHQtaW4gMTAvMTAwIEV0aGVybmV0IE1BQyBpbnRlcmZhY2VzICovCitzdGF0aWMgc3RydWN0IGV0aF9wbGF0X2luZm8gZnNnX3BsYXRfZXRoW10gPSB7CisJeworCQkucGh5CQk9IDUsCisJCS5yeHEJCT0gMywKKwkJLnR4cmVhZHlxCT0gMjAsCisJfSwgeworCQkucGh5CQk9IDQsCisJCS5yeHEJCT0gNCwKKwkJLnR4cmVhZHlxCT0gMjEsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZnNnX2V0aFtdID0geworCXsKKwkJLm5hbWUJCQk9ICJpeHA0eHhfZXRoIiwKKwkJLmlkCQkJPSBJWFA0WFhfRVRIX05QRUIsCisJCS5kZXYgPSB7CisJCQkucGxhdGZvcm1fZGF0YQk9IGZzZ19wbGF0X2V0aCwKKwkJfSwKKwl9LCB7CisJCS5uYW1lCQkJPSAiaXhwNHh4X2V0aCIsCisJCS5pZAkJCT0gSVhQNFhYX0VUSF9OUEVDLAorCQkuZGV2ID0geworCQkJLnBsYXRmb3JtX2RhdGEJPSBmc2dfcGxhdF9ldGggKyAxLAorCQl9LAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpmc2dfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJmZzZ19pMmNfZ3BpbywKKwkmZnNnX2ZsYXNoLAorCSZmc2dfbGVkcywKKwkmZnNnX2V0aFswXSwKKwkmZnNnX2V0aFsxXSwKK307CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBmc2dfcG93ZXJfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJLyogU2lnbmFsIGluaXQgdG8gZG8gdGhlIGN0cmxhbHRkZWwgYWN0aW9uLCB0aGlzIHdpbGwgYnlwYXNzIGluaXQgaWYKKwkgKiBpdCBoYXNuJ3Qgc3RhcnRlZCBhbmQgZG8gYSBrZXJuZWxfcmVzdGFydC4KKwkgKi8KKwljdHJsX2FsdF9kZWwoKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGlycXJldHVybl90IGZzZ19yZXNldF9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwkvKiBUaGlzIGlzIHRoZSBwYXBlci1jbGlwIHJlc2V0IHdoaWNoIGRvZXMgYW4gZW1lcmdlbmN5IHJlYm9vdC4gKi8KKwlwcmludGsoS0VSTl9JTkZPICJSZXN0YXJ0aW5nIHN5c3RlbS5cbiIpOworCW1hY2hpbmVfcmVzdGFydChOVUxMKTsKKworCS8qIFRoaXMgc2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQuICovCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnNnX2luaXQodm9pZCkKK3sKKwlERUNMQVJFX01BQ19CVUYobWFjX2J1Zik7CisJdWludDhfdCBfX2lvbWVtICpmOworCWludCBpOworCisJaXhwNHh4X3N5c19pbml0KCk7CisKKwlmc2dfZmxhc2hfcmVzb3VyY2Uuc3RhcnQgPSBJWFA0WFhfRVhQX0JVU19CQVNFKDApOworCWZzZ19mbGFzaF9yZXNvdXJjZS5lbmQgPQorCQlJWFA0WFhfRVhQX0JVU19CQVNFKDApICsgaXhwNHh4X2V4cF9idXNfc2l6ZSAtIDE7CisKKwkqSVhQNFhYX0VYUF9DUzAgfD0gSVhQNFhYX0ZMQVNIX1dSSVRBQkxFOworCSpJWFA0WFhfRVhQX0NTMSA9ICpJWFA0WFhfRVhQX0NTMDsKKworCS8qIENvbmZpZ3VyZSBDUzIgZm9yIG9wZXJhdGlvbiwgOGJpdCBhbmQgd3JpdGFibGUgKi8KKwkqSVhQNFhYX0VYUF9DUzIgPSAweGJmZmYwMDAyOworCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgZnNnX2kyY19ib2FyZF9pbmZvLAorCQkJCUFSUkFZX1NJWkUoZnNnX2kyY19ib2FyZF9pbmZvKSk7CisKKwkvKiBUaGlzIGlzIG9ubHkgdXNlZnVsIG9uIGEgbW9kaWZpZWQgbWFjaGluZSwgYnV0IGl0IGlzIHZhbHVhYmxlCisJICogdG8gaGF2ZSBpdCBmaXJzdCBpbiBvcmRlciB0byBzZWUgZGVidWcgbWVzc2FnZXMsIGFuZCBzbyB0aGF0CisJICogaXQgZG9lcyAqbm90KiBnZXQgcmVtb3ZlZCBpZiBwbGF0Zm9ybV9hZGRfZGV2aWNlcyBmYWlscyEKKwkgKi8KKwkodm9pZClwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmZzZ191YXJ0KTsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGZzZ19kZXZpY2VzLCBBUlJBWV9TSVpFKGZzZ19kZXZpY2VzKSk7CisKKwlpZiAocmVxdWVzdF9pcnEoZ3Bpb190b19pcnEoRlNHX1JCX0dQSU8pLCAmZnNnX3Jlc2V0X2hhbmRsZXIsCisJCQlJUlFGX0RJU0FCTEVEIHwgSVJRRl9UUklHR0VSX0xPVywKKwkJCSJGU0cgcmVzZXQgYnV0dG9uIiwgTlVMTCkgPCAwKSB7CisKKwkJcHJpbnRrKEtFUk5fREVCVUcgIlJlc2V0IEJ1dHRvbiBJUlEgJWQgbm90IGF2YWlsYWJsZVxuIiwKKwkJCWdwaW9fdG9faXJxKEZTR19SQl9HUElPKSk7CisJfQorCisJaWYgKHJlcXVlc3RfaXJxKGdwaW9fdG9faXJxKEZTR19TQl9HUElPKSwgJmZzZ19wb3dlcl9oYW5kbGVyLAorCQkJSVJRRl9ESVNBQkxFRCB8IElSUUZfVFJJR0dFUl9MT1csCisJCQkiRlNHIHBvd2VyIGJ1dHRvbiIsIE5VTEwpIDwgMCkgeworCisJCXByaW50ayhLRVJOX0RFQlVHICJQb3dlciBCdXR0b24gSVJRICVkIG5vdCBhdmFpbGFibGVcbiIsCisJCQlncGlvX3RvX2lycShGU0dfU0JfR1BJTykpOworCX0KKworCS8qCisJICogTWFwIGluIGEgcG9ydGlvbiBvZiB0aGUgZmxhc2ggYW5kIHJlYWQgdGhlIE1BQyBhZGRyZXNzZXMuCisJICogU2luY2UgaXQgaXMgc3RvcmVkIGluIEJFIGluIHRoZSBmbGFzaCBpdHNlbGYsIHdlIG5lZWQgdG8KKwkgKiBieXRlc3dhcCBpdCBpZiB3ZSdyZSBpbiBMRSBtb2RlLgorCSAqLworCWYgPSBpb3JlbWFwKElYUDRYWF9FWFBfQlVTX0JBU0UoMCksIDB4NDAwMDAwKTsKKwlpZiAoZikgeworI2lmZGVmIF9fQVJNRUJfXworCQlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKSB7CisJCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyW2ldID0gcmVhZGIoZiArIDB4M0MwNDIyICsgaSk7CisJCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyW2ldID0gcmVhZGIoZiArIDB4M0MwNDNCICsgaSk7CisJCX0KKyNlbHNlCisKKwkJLyoKKwkJICBFbmRpYW4tc3dhcHBlZCByZWFkcyBmcm9tIHVuYWxpZ25lZCBhZGRyZXNzZXMgYXJlCisJCSAgcmVxdWlyZWQgdG8gZXh0cmFjdCB0aGUgdHdvIE1BQ3MgZnJvbSB0aGUgYmlnLWVuZGlhbgorCQkgIFJlZGJvb3QgY29uZmlnIGFyZWEgaW4gZmxhc2guCisJCSovCisKKwkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkclswXSA9IHJlYWRiKGYgKyAweDNDMDQyMSk7CisJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbMV0gPSByZWFkYihmICsgMHgzQzA0MjApOworCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyWzJdID0gcmVhZGIoZiArIDB4M0MwNDI3KTsKKwkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkclszXSA9IHJlYWRiKGYgKyAweDNDMDQyNik7CisJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbNF0gPSByZWFkYihmICsgMHgzQzA0MjUpOworCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyWzVdID0gcmVhZGIoZiArIDB4M0MwNDI0KTsKKworCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyWzBdID0gcmVhZGIoZiArIDB4M0MwNDM5KTsKKwkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkclsxXSA9IHJlYWRiKGYgKyAweDNDMDQzRik7CisJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbMl0gPSByZWFkYihmICsgMHgzQzA0M0UpOworCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyWzNdID0gcmVhZGIoZiArIDB4M0MwNDNEKTsKKwkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkcls0XSA9IHJlYWRiKGYgKyAweDNDMDQzQyk7CisJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbNV0gPSByZWFkYihmICsgMHgzQzA0NDMpOworI2VuZGlmCisJCWlvdW5tYXAoZik7CisJfQorCXByaW50ayhLRVJOX0lORk8gIkZTRzogVXNpbmcgTUFDIGFkZHJlc3MgJXMgZm9yIHBvcnQgMFxuIiwKKwkgICAgICAgcHJpbnRfbWFjKG1hY19idWYsIGZzZ19wbGF0X2V0aFswXS5od2FkZHIpKTsKKwlwcmludGsoS0VSTl9JTkZPICJGU0c6IFVzaW5nIE1BQyBhZGRyZXNzICVzIGZvciBwb3J0IDFcbiIsCisJICAgICAgIHByaW50X21hYyhtYWNfYnVmLCBmc2dfcGxhdF9ldGhbMV0uaHdhZGRyKSk7CisKK30KKworTUFDSElORV9TVEFSVChGU0csICJGcmVlY29tIEZTRy0zIikKKwkvKiBNYWludGFpbmVyOiB3d3cubnNsdTItbGludXgub3JnICovCisJLnBoeXNfaW8JPSBJWFA0WFhfUEVSSVBIRVJBTF9CQVNFX1BIWVMsCisJLmlvX3BnX29mZnN0CT0gKChJWFA0WFhfUEVSSVBIRVJBTF9CQVNFX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkubWFwX2lvCQk9IGl4cDR4eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gaXhwNHh4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmaXhwNHh4X3RpbWVyLAorCS5ib290X3BhcmFtcwk9IDB4MDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gZnNnX2luaXQsCitNQUNISU5FX0VORAorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzYwMGNkOQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvS2NvbmZpZwpAQCAtMCwwICsxLDI1IEBACitpZiBBUkNIX0tJUktXT09ECisKK21lbnUgIk1hcnZlbGwgS2lya3dvb2QgSW1wbGVtZW50YXRpb25zIgorCitjb25maWcgTUFDSF9EQjg4RjYyODFfQlAKKwlib29sICJNYXJ2ZWxsIERCLTg4RjYyODEtQlAgRGV2ZWxvcG1lbnQgQm9hcmQiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXJ2ZWxsIERCLTg4RjYyODEtQlAgRGV2ZWxvcG1lbnQgQm9hcmQuCisKK2NvbmZpZyBNQUNIX1JEODhGNjE5Ml9OQVMKKwlib29sICJNYXJ2ZWxsIFJELTg4RjYxOTItTkFTIFJlZmVyZW5jZSBCb2FyZCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgUkQtODhGNjE5Mi1OQVMgUmVmZXJlbmNlIEJvYXJkLgorCitjb25maWcgTUFDSF9SRDg4RjYyODEKKwlib29sICJNYXJ2ZWxsIFJELTg4RjYyODEgUmVmZXJlbmNlIEJvYXJkIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBSRC04OEY2MjgxIFJlZmVyZW5jZSBCb2FyZC4KKworZW5kbWVudQorCitlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE0YmY0MAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvTWFrZWZpbGUKQEAgLTAsMCArMSw1IEBACitvYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIGlycS5vIHBjaWUubworCitvYmotJChDT05GSUdfTUFDSF9EQjg4RjYyODFfQlApCQkrPSBkYjg4ZjYyODEtYnAtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfUkQ4OEY2MTkyX05BUykJKz0gcmQ4OGY2MTkyLW5hcy1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9SRDg4RjYxOTJfTkFTKQkrPSByZDg4ZjYyODEtc2V0dXAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZS5ib290IGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZS5ib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MDM5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL01ha2VmaWxlLmJvb3QKQEAgLTAsMCArMSwzIEBACisgICB6cmVsYWRkci15CTo9IDB4MDAwMDgwMDAKK3BhcmFtc19waHlzLXkJOj0gMHgwMDAwMDEwMAoraW5pdHJkX3BoeXMteQk6PSAweDAwODAwMDAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2FkZHItbWFwLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2FkZHItbWFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM5ZjBmMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvYWRkci1tYXAuYwpAQCAtMCwwICsxLDEzOSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvYWRkci1tYXAuYworICoKKyAqIEFkZHJlc3MgbWFwIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworLyoKKyAqIEdlbmVyaWMgQWRkcmVzcyBEZWNvZGUgV2luZG93cyBiaXQgc2V0dGluZ3MKKyAqLworI2RlZmluZSBUQVJHRVRfRERSCQkwCisjZGVmaW5lIFRBUkdFVF9ERVZfQlVTCQkxCisjZGVmaW5lIFRBUkdFVF9QQ0lFCQk0CisjZGVmaW5lIEFUVFJfREVWX1NQSV9ST00JMHgxZQorI2RlZmluZSBBVFRSX0RFVl9CT09UCQkweDFkCisjZGVmaW5lIEFUVFJfREVWX05BTkQJCTB4MmYKKyNkZWZpbmUgQVRUUl9ERVZfQ1MzCQkweDM3CisjZGVmaW5lIEFUVFJfREVWX0NTMgkJMHgzYgorI2RlZmluZSBBVFRSX0RFVl9DUzEJCTB4M2QKKyNkZWZpbmUgQVRUUl9ERVZfQ1MwCQkweDNlCisjZGVmaW5lIEFUVFJfUENJRV9JTwkJMHhlMAorI2RlZmluZSBBVFRSX1BDSUVfTUVNCQkweGU4CisKKy8qCisgKiBIZWxwZXJzIHRvIGdldCBERFIgYmFuayBpbmZvCisgKi8KKyNkZWZpbmUgRERSX0JBU0VfQ1NfT0ZGKG4pCSgweDAwMDAgKyAoKG4pIDw8IDMpKQorI2RlZmluZSBERFJfU0laRV9DU19PRkYobikJKDB4MDAwNCArICgobikgPDwgMykpCisKKy8qCisgKiBDUFUgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKKyAqLworI2RlZmluZSBXSU5fT0ZGKG4pCQkoQlJJREdFX1ZJUlRfQkFTRSArIDB4MDAwMCArICgobikgPDwgNCkpCisjZGVmaW5lIFdJTl9DVFJMX09GRgkJMHgwMDAwCisjZGVmaW5lIFdJTl9CQVNFX09GRgkJMHgwMDA0CisjZGVmaW5lIFdJTl9SRU1BUF9MT19PRkYJMHgwMDA4CisjZGVmaW5lIFdJTl9SRU1BUF9ISV9PRkYJMHgwMDBjCisKKworc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBraXJrd29vZF9tYnVzX2RyYW1faW5mbzsKKworc3RhdGljIGludCBfX2luaXQgY3B1X3dpbl9jYW5fcmVtYXAoaW50IHdpbikKK3sKKwlpZiAod2luIDwgNCkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV93aW4oaW50IHdpbiwgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSB1OCB0YXJnZXQsIHU4IGF0dHIsIGludCByZW1hcCkKK3sKKwl2b2lkIF9faW9tZW0gKmFkZHIgPSAodm9pZCBfX2lvbWVtICopV0lOX09GRih3aW4pOworCXUzMiBjdHJsOworCisJYmFzZSAmPSAweGZmZmYwMDAwOworCWN0cmwgPSAoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAodGFyZ2V0IDw8IDQpIHwgMTsKKworCXdyaXRlbChiYXNlLCBhZGRyICsgV0lOX0JBU0VfT0ZGKTsKKwl3cml0ZWwoY3RybCwgYWRkciArIFdJTl9DVFJMX09GRik7CisJaWYgKGNwdV93aW5fY2FuX3JlbWFwKHdpbikpIHsKKwkJaWYgKHJlbWFwIDwgMCkKKwkJCXJlbWFwID0gYmFzZTsKKworCQl3cml0ZWwocmVtYXAgJiAweGZmZmYwMDAwLCBhZGRyICsgV0lOX1JFTUFQX0xPX09GRik7CisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0hJX09GRik7CisJfQorfQorCit2b2lkIF9faW5pdCBraXJrd29vZF9zZXR1cF9jcHVfbWJ1cyh2b2lkKQoreworCXZvaWQgX19pb21lbSAqYWRkcjsKKwlpbnQgaTsKKwlpbnQgY3M7CisKKwkvKgorCSAqIEZpcnN0LCBkaXNhYmxlIGFuZCBjbGVhciB3aW5kb3dzLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKwkJYWRkciA9ICh2b2lkIF9faW9tZW0gKilXSU5fT0ZGKGkpOworCisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX0JBU0VfT0ZGKTsKKwkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fQ1RSTF9PRkYpOworCQlpZiAoY3B1X3dpbl9jYW5fcmVtYXAoaSkpIHsKKwkJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0xPX09GRik7CisJCQl3cml0ZWwoMCwgYWRkciArIFdJTl9SRU1BUF9ISV9PRkYpOworCQl9CisJfQorCisJLyoKKwkgKiBTZXR1cCB3aW5kb3dzIGZvciBQQ0llIElPK01FTSBzcGFjZS4KKwkgKi8KKwlzZXR1cF9jcHVfd2luKDAsIEtJUktXT09EX1BDSUVfSU9fUEhZU19CQVNFLCBLSVJLV09PRF9QQ0lFX0lPX1NJWkUsCisJCSAgICAgIFRBUkdFVF9QQ0lFLCBBVFRSX1BDSUVfSU8sIEtJUktXT09EX1BDSUVfSU9fQlVTX0JBU0UpOworCXNldHVwX2NwdV93aW4oMSwgS0lSS1dPT0RfUENJRV9NRU1fUEhZU19CQVNFLCBLSVJLV09PRF9QQ0lFX01FTV9TSVpFLAorCQkgICAgICBUQVJHRVRfUENJRSwgQVRUUl9QQ0lFX01FTSwgLTEpOworCisJLyoKKwkgKiBTZXR1cCB3aW5kb3cgZm9yIE5BTkQgY29udHJvbGxlci4KKwkgKi8KKwlzZXR1cF9jcHVfd2luKDIsIEtJUktXT09EX05BTkRfTUVNX1BIWVNfQkFTRSwgS0lSS1dPT0RfTkFORF9NRU1fU0laRSwKKwkJICAgICAgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX05BTkQsIC0xKTsKKworCS8qCisJICogU2V0dXAgTUJVUyBkcmFtIHRhcmdldCBpbmZvLgorCSAqLworCWtpcmt3b29kX21idXNfZHJhbV9pbmZvLm1idXNfZHJhbV90YXJnZXRfaWQgPSBUQVJHRVRfRERSOworCisJYWRkciA9ICh2b2lkIF9faW9tZW0gKilERFJfV0lORE9XX0NQVV9CQVNFOworCisJZm9yIChpID0gMCwgY3MgPSAwOyBpIDwgNDsgaSsrKSB7CisJCXUzMiBiYXNlID0gcmVhZGwoYWRkciArIEREUl9CQVNFX0NTX09GRihpKSk7CisJCXUzMiBzaXplID0gcmVhZGwoYWRkciArIEREUl9TSVpFX0NTX09GRihpKSk7CisKKwkJLyoKKwkJICogQ2hpcCBzZWxlY3QgZW5hYmxlZD8KKwkJICovCisJCWlmIChzaXplICYgMSkgeworCQkJc3RydWN0IG1idXNfZHJhbV93aW5kb3cgKnc7CisKKwkJCXcgPSAma2lya3dvb2RfbWJ1c19kcmFtX2luZm8uY3NbY3MrK107CisJCQl3LT5jc19pbmRleCA9IGk7CisJCQl3LT5tYnVzX2F0dHIgPSAweGYgJiB+KDEgPDwgaSk7CisJCQl3LT5iYXNlID0gYmFzZSAmIDB4ZmZmZjAwMDA7CisJCQl3LT5zaXplID0gKHNpemUgfCAweDAwMDBmZmZmKSArIDE7CisJCX0KKwl9CisJa2lya3dvb2RfbWJ1c19kcmFtX2luZm8ubnVtX2NzID0gY3M7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTM4YTNiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uYwpAQCAtMCwwICsxLDMzMSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmMKKyAqCisgKiBDb3JlIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3RpbWV4Lmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9laGNpLW9yaW9uLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL3RpbWUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJL08gQWRkcmVzcyBNYXBwaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2Mga2lya3dvb2RfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEtJUktXT09EX1BDSUVfSU9fVklSVF9CQVNFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oS0lSS1dPT0RfUENJRV9JT19QSFlTX0JBU0UpLAorCQkubGVuZ3RoCQk9IEtJUktXT09EX1BDSUVfSU9fU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKKwkJLnZpcnR1YWwJPSBLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEtJUktXT09EX1JFR1NfUEhZU19CQVNFKSwKKwkJLmxlbmd0aAkJPSBLSVJLV09PRF9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfbWFwX2lvKHZvaWQpCit7CisJaW90YWJsZV9pbml0KGtpcmt3b29kX2lvX2Rlc2MsIEFSUkFZX1NJWkUoa2lya3dvb2RfaW9fZGVzYykpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uX2VoY2lfZGF0YSBraXJrd29vZF9laGNpX2RhdGEgPSB7CisJLmRyYW0JCT0gJmtpcmt3b29kX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHU2NCBlaGNpX2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX2VoY2lfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBVU0JfUEhZU19CQVNFLAorCQkuZW5kCT0gVVNCX1BIWVNfQkFTRSArIDB4MGZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfS0lSS1dPT0RfVVNCLAorCQkuZW5kCT0gSVJRX0tJUktXT09EX1VTQiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX2VoY2kgPSB7CisJLm5hbWUJCT0gIm9yaW9uLWVoY2kiLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkuZG1hX21hc2sJCT0gJmVoY2lfZG1hbWFzaywKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwkJLnBsYXRmb3JtX2RhdGEJCT0gJmtpcmt3b29kX2VoY2lfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9IGtpcmt3b29kX2VoY2lfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShraXJrd29vZF9laGNpX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF9laGNpX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX2VoY2kpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UwMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEga2lya3dvb2RfZ2UwMF9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gS0lSS1dPT0RfVENMSywKKwkuZHJhbQkJPSAma2lya3dvb2RfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX2dlMDBfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMCBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UwMF9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTAwX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX2dlMDBfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZraXJrd29vZF9nZTAwX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IGtpcmt3b29kX2dlMDBfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2RfZ2UwMF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMDAgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0tJUktXT09EX0dFMDBfU1VNLAorCQkuZW5kCT0gSVJRX0tJUktXT09EX0dFMDBfU1VNLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Uga2lya3dvb2RfZ2UwMCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAwLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBraXJrd29vZF9nZTAwX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX2dlMDBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZraXJrd29vZF9nZTAwX3NoYXJlZDsKKwlraXJrd29vZF9nZTAwLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX2dlMDBfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX2dlMDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU29DIFJUQworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX3J0Y19yZXNvdXJjZSA9IHsKKwkuc3RhcnQJPSBSVENfUEhZU19CQVNFLAorCS5lbmQJPSBSVENfUEhZU19CQVNFICsgU1pfMTYgLSAxLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfcnRjX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfc2ltcGxlKCJydGMtbXYiLCAtMSwgJmtpcmt3b29kX3J0Y19yZXNvdXJjZSwgMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTQVRBCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2Rfc2F0YV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gInNhdGEgYmFzZSIsCisJCS5zdGFydAk9IFNBVEFfUEhZU19CQVNFLAorCQkuZW5kCT0gU0FUQV9QSFlTX0JBU0UgKyAweDUwMDAgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gInNhdGEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0tJUktXT09EX1NBVEEsCisJCS5lbmQJPSBJUlFfS0lSS1dPT0RfU0FUQSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX3NhdGEgPSB7CisJLm5hbWUJCT0gInNhdGFfbXYiLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGtpcmt3b29kX3NhdGFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJPSBraXJrd29vZF9zYXRhX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX3NhdGFfaW5pdChzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhICpzYXRhX2RhdGEpCit7CisJc2F0YV9kYXRhLT5kcmFtID0gJmtpcmt3b29kX21idXNfZHJhbV9pbmZvOworCWtpcmt3b29kX3NhdGEuZGV2LnBsYXRmb3JtX2RhdGEgPSBzYXRhX2RhdGE7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZraXJrd29vZF9zYXRhKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQga2lya3dvb2RfdWFydDBfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMF9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX0tJUktXT09EX1VBUlRfMCwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBLSVJLV09PRF9UQ0xLLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBraXJrd29vZF91YXJ0MF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9LSVJLV09PRF9VQVJUXzAsCisJCS5lbmQJCT0gSVJRX0tJUktXT09EX1VBUlRfMCwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBraXJrd29vZF91YXJ0MCA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMCwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0ga2lya3dvb2RfdWFydDBfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBraXJrd29vZF91YXJ0MF9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShraXJrd29vZF91YXJ0MF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfdWFydDBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma2lya3dvb2RfdWFydDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBraXJrd29vZF91YXJ0MV9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQxX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfS0lSS1dPT0RfVUFSVF8xLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IEtJUktXT09EX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX3VhcnQxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX0tJUktXT09EX1VBUlRfMSwKKwkJLmVuZAkJPSBJUlFfS0lSS1dPT0RfVUFSVF8xLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX3VhcnQxID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAxLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBraXJrd29vZF91YXJ0MV9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IGtpcmt3b29kX3VhcnQxX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKGtpcmt3b29kX3VhcnQxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF91YXJ0MV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZraXJrd29vZF91YXJ0MSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaW1lIGhhbmRsaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIGtpcmt3b29kX3RpbWVyX2luaXQodm9pZCkKK3sKKwlvcmlvbl90aW1lX2luaXQoSVJRX0tJUktXT09EX0JSSURHRSwgS0lSS1dPT0RfVENMSyk7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIga2lya3dvb2RfdGltZXIgPSB7CisJLmluaXQgPSBraXJrd29vZF90aW1lcl9pbml0LAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIGNoYXIgKiBfX2luaXQga2lya3dvb2RfaWQodm9pZCkKK3sKKwlzd2l0Y2ggKHJlYWRsKERFVklDRV9JRCkgJiAweDMpIHsKKwljYXNlIDA6CisJCXJldHVybiAiODhGNjE4MCI7CisJY2FzZSAxOgorCQlyZXR1cm4gIjg4RjYxOTIiOworCWNhc2UgMjoKKwkJcmV0dXJuICI4OEY2MjgxIjsKKwl9CisKKwlyZXR1cm4gInVua25vd24gODhGNjAwMCB2YXJpYW50IjsKK30KKworc3RhdGljIGludCBfX2luaXQgaXNfbDJfd3JpdGV0aHJvdWdoKHZvaWQpCit7CisJcmV0dXJuICEhKHJlYWRsKEwyX0NPTkZJR19SRUcpICYgTDJfV1JJVEVUSFJPVUdIKTsKK30KKwordm9pZCBfX2luaXQga2lya3dvb2RfaW5pdCh2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gIktpcmt3b29kOiAlcywgVENMSz0lZC5cbiIsCisJCWtpcmt3b29kX2lkKCksIEtJUktXT09EX1RDTEspOworCisJa2lya3dvb2Rfc2V0dXBfY3B1X21idXMoKTsKKworI2lmZGVmIENPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMgorCWZlcm9jZW9uX2wyX2luaXQoaXNfbDJfd3JpdGV0aHJvdWdoKCkpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGVlMmY2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uaApAQCAtMCwwICsxLDQyIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uaAorICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9LSVJLV09PRF9DT01NT05fSAorI2RlZmluZSBfX0FSQ0hfS0lSS1dPT0RfQ09NTU9OX0gKKworc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGE7CitzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhOworCisvKgorICogQmFzaWMgS2lya3dvb2QgaW5pdCBmdW5jdGlvbnMgdXNlZCBlYXJseSBieSBtYWNoaW5lLXNldHVwLgorICovCit2b2lkIGtpcmt3b29kX21hcF9pbyh2b2lkKTsKK3ZvaWQga2lya3dvb2RfaW5pdCh2b2lkKTsKK3ZvaWQga2lya3dvb2RfaW5pdF9pcnEodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIGtpcmt3b29kX21idXNfZHJhbV9pbmZvOwordm9pZCBraXJrd29vZF9zZXR1cF9jcHVfbWJ1cyh2b2lkKTsKK3ZvaWQga2lya3dvb2Rfc2V0dXBfcGNpZV9pb193aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCWludCBtYWosIGludCBtaW4pOwordm9pZCBraXJrd29vZF9zZXR1cF9wY2llX21lbV93aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSBpbnQgbWFqLCBpbnQgbWluKTsKKwordm9pZCBraXJrd29vZF9laGNpX2luaXQodm9pZCk7Cit2b2lkIGtpcmt3b29kX2dlMDBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBraXJrd29vZF9wY2llX2luaXQodm9pZCk7Cit2b2lkIGtpcmt3b29kX3J0Y19pbml0KHZvaWQpOwordm9pZCBraXJrd29vZF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKTsKK3ZvaWQga2lya3dvb2RfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQga2lya3dvb2RfdWFydDFfaW5pdCh2b2lkKTsKKworZXh0ZXJuIHN0cnVjdCBzeXNfdGltZXIga2lya3dvb2RfdGltZXI7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2RiODhmNjI4MS1icC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9kYjg4ZjYyODEtYnAtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWM0ODJjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9kYjg4ZjYyODEtYnAtc2V0dXAuYwpAQCAtMCwwICsxLDY4IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9kYjg4ZjYyODEtYnAtc2V0dXAuYworICoKKyAqIE1hcnZlbGwgREItODhGNjI4MS1CUCBEZXZlbG9wbWVudCBCb2FyZCBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI4OGY2MjgxX2dlMDBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSA4LAorfTsKKworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgZGI4OGY2MjgxX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZGI4OGY2MjgxX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIEJhc2ljIHNldHVwLiBOZWVkcyB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJa2lya3dvb2RfaW5pdCgpOworCisJa2lya3dvb2RfZWhjaV9pbml0KCk7CisJa2lya3dvb2RfZ2UwMF9pbml0KCZkYjg4ZjYyODFfZ2UwMF9kYXRhKTsKKwlraXJrd29vZF9ydGNfaW5pdCgpOworCWtpcmt3b29kX3NhdGFfaW5pdCgmZGI4OGY2MjgxX3NhdGFfZGF0YSk7CisJa2lya3dvb2RfdWFydDBfaW5pdCgpOworCWtpcmt3b29kX3VhcnQxX2luaXQoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgZGI4OGY2MjgxX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfZGI4OGY2MjgxX2JwKCkpCisJCWtpcmt3b29kX3BjaWVfaW5pdCgpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwoZGI4OGY2MjgxX3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChEQjg4RjYyODFfQlAsICJNYXJ2ZWxsIERCLTg4RjYyODEtQlAgRGV2ZWxvcG1lbnQgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IFNhZWVkIEJpc2hhcmEgPHNhZWVkQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IGRiODhmNjI4MV9pbml0LAorCS5tYXBfaW8JCT0ga2lya3dvb2RfbWFwX2lvLAorCS5pbml0X2lycQk9IGtpcmt3b29kX2luaXRfaXJxLAorCS50aW1lcgkJPSAma2lya3dvb2RfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9pcnEuYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvaXJxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAyYmIyYwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvaXJxLmMKQEAgLTAsMCArMSwyMiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvaXJxLmMKKyAqCisgKiBLaXJrd29vZCBJUlEgaGFuZGxpbmcuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2lycS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCit2b2lkIF9faW5pdCBraXJrd29vZF9pbml0X2lycSh2b2lkKQoreworCW9yaW9uX2lycV9pbml0KDAsICh2b2lkIF9faW9tZW0gKikoSVJRX1ZJUlRfQkFTRSArIElSUV9NQVNLX0xPV19PRkYpKTsKKwlvcmlvbl9pcnFfaW5pdCgzMiwgKHZvaWQgX19pb21lbSAqKShJUlFfVklSVF9CQVNFICsgSVJRX01BU0tfSElHSF9PRkYpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcGNpZS5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9wY2llLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI4MmQwZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcGNpZS5jCkBAIC0wLDAgKzEsMTgwIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9wY2llLmMKKyAqCisgKiBQQ0llIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9wY2llLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKworI2RlZmluZSBQQ0lFX0JBU0UJKCh2b2lkIF9faW9tZW0gKilQQ0lFX1ZJUlRfQkFTRSkKKworc3RhdGljIGludCBwY2llX3ZhbGlkX2NvbmZpZyhpbnQgYnVzLCBpbnQgZGV2KQoreworCS8qCisJICogRG9uJ3QgZ28gb3V0IHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyAtLQorCSAqIDEuIG5vbmV4aXN0aW5nIGRldmljZSBvbiBsb2NhbCBidXMKKwkgKiAyLiB3aGVyZSB0aGVyZSdzIG5vIGRldmljZSBjb25uZWN0ZWQgKG5vIGxpbmspCisJICovCisJaWYgKGJ1cyA9PSAwICYmIGRldiA9PSAwKQorCQlyZXR1cm4gMTsKKworCWlmICghb3Jpb25fcGNpZV9saW5rX3VwKFBDSUVfQkFTRSkpCisJCXJldHVybiAwOworCisJaWYgKGJ1cyA9PSAwICYmIGRldiAhPSAxKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCisKKy8qCisgKiBQQ0llIGNvbmZpZyBjeWNsZXMgYXJlIGRvbmUgYnkgcHJvZ3JhbW1pbmcgdGhlIFBDSUVfQ09ORl9BRERSIHJlZ2lzdGVyCisgKiBhbmQgdGhlbiByZWFkaW5nIHRoZSBQQ0lFX0NPTkZfREFUQSByZWdpc3Rlci4gTmVlZCB0byBtYWtlIHN1cmUgdGhlc2UKKyAqIHRyYW5zYWN0aW9ucyBhcmUgYXRvbWljLgorICovCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGtpcmt3b29kX3BjaWVfbG9jayk7CisKK3N0YXRpYyBpbnQgcGNpZV9yZF9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwgaW50IHdoZXJlLAorCQkJaW50IHNpemUsIHUzMiAqdmFsKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHJldDsKKworCWlmIChwY2llX3ZhbGlkX2NvbmZpZyhidXMtPm51bWJlciwgUENJX1NMT1QoZGV2Zm4pKSA9PSAwKSB7CisJCSp2YWwgPSAweGZmZmZmZmZmOworCQlyZXR1cm4gUENJQklPU19ERVZJQ0VfTk9UX0ZPVU5EOworCX0KKworCXNwaW5fbG9ja19pcnFzYXZlKCZraXJrd29vZF9wY2llX2xvY2ssIGZsYWdzKTsKKwlyZXQgPSBvcmlvbl9wY2llX3JkX2NvbmYoUENJRV9CQVNFLCBidXMsIGRldmZuLCB3aGVyZSwgc2l6ZSwgdmFsKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZraXJrd29vZF9wY2llX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGNpZV93cl9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKKwkJCWludCB3aGVyZSwgaW50IHNpemUsIHUzMiB2YWwpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0OworCisJaWYgKHBjaWVfdmFsaWRfY29uZmlnKGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbikpID09IDApCisJCXJldHVybiBQQ0lCSU9TX0RFVklDRV9OT1RfRk9VTkQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgma2lya3dvb2RfcGNpZV9sb2NrLCBmbGFncyk7CisJcmV0ID0gb3Jpb25fcGNpZV93cl9jb25mKFBDSUVfQkFTRSwgYnVzLCBkZXZmbiwgd2hlcmUsIHNpemUsIHZhbCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgma2lya3dvb2RfcGNpZV9sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IHBjaV9vcHMgcGNpZV9vcHMgPSB7CisJLnJlYWQgPSBwY2llX3JkX2NvbmYsCisJLndyaXRlID0gcGNpZV93cl9jb25mLAorfTsKKworCitzdGF0aWMgaW50IGtpcmt3b29kX3BjaWVfc2V0dXAoaW50IG5yLCBzdHJ1Y3QgcGNpX3N5c19kYXRhICpzeXMpCit7CisJc3RydWN0IHJlc291cmNlICpyZXM7CisKKwkvKgorCSAqIEdlbmVyaWMgUENJZSB1bml0IHNldHVwLgorCSAqLworCW9yaW9uX3BjaWVfc2V0dXAoUENJRV9CQVNFLCAma2lya3dvb2RfbWJ1c19kcmFtX2luZm8pOworCisJLyoKKwkgKiBSZXF1ZXN0IHJlc291cmNlcy4KKwkgKi8KKwlyZXMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgcmVzb3VyY2UpICogMiwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXMpCisJCXBhbmljKCJwY2llX3NldHVwIHVuYWJsZSB0byBhbGxvYyByZXNvdXJjZXMiKTsKKworCS8qCisJICogSU9SRVNPVVJDRV9JTworCSAqLworCXJlc1swXS5uYW1lID0gIlBDSWUgSS9PIFNwYWNlIjsKKwlyZXNbMF0uZmxhZ3MgPSBJT1JFU09VUkNFX0lPOworCXJlc1swXS5zdGFydCA9IEtJUktXT09EX1BDSUVfSU9fUEhZU19CQVNFOworCXJlc1swXS5lbmQgPSByZXNbMF0uc3RhcnQgKyBLSVJLV09PRF9QQ0lFX0lPX1NJWkUgLSAxOworCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZpb3BvcnRfcmVzb3VyY2UsICZyZXNbMF0pKQorCQlwYW5pYygiUmVxdWVzdCBQQ0llIElPIHJlc291cmNlIGZhaWxlZFxuIik7CisJc3lzLT5yZXNvdXJjZVswXSA9ICZyZXNbMF07CisKKwkvKgorCSAqIElPUkVTT1VSQ0VfTUVNCisJICovCisJcmVzWzFdLm5hbWUgPSAiUENJZSBNZW1vcnkgU3BhY2UiOworCXJlc1sxXS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNOworCXJlc1sxXS5zdGFydCA9IEtJUktXT09EX1BDSUVfTUVNX1BIWVNfQkFTRTsKKwlyZXNbMV0uZW5kID0gcmVzWzFdLnN0YXJ0ICsgS0lSS1dPT0RfUENJRV9NRU1fU0laRSAtIDE7CisJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmcmVzWzFdKSkKKwkJcGFuaWMoIlJlcXVlc3QgUENJZSBNZW1vcnkgcmVzb3VyY2UgZmFpbGVkXG4iKTsKKwlzeXMtPnJlc291cmNlWzFdID0gJnJlc1sxXTsKKworCXN5cy0+cmVzb3VyY2VbMl0gPSBOVUxMOworCXN5cy0+aW9fb2Zmc2V0ID0gMDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBfX2RldmluaXQgcmNfcGNpX2ZpeHVwKHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJLyoKKwkgKiBQcmV2ZW50IGVudW1lcmF0aW9uIG9mIHJvb3QgY29tcGxleC4KKwkgKi8KKwlpZiAoZGV2LT5idXMtPnBhcmVudCA9PSBOVUxMICYmIGRldi0+ZGV2Zm4gPT0gMCkgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgREVWSUNFX0NPVU5UX1JFU09VUkNFOyBpKyspIHsKKwkJCWRldi0+cmVzb3VyY2VbaV0uc3RhcnQgPSAwOworCQkJZGV2LT5yZXNvdXJjZVtpXS5lbmQgICA9IDA7CisJCQlkZXYtPnJlc291cmNlW2ldLmZsYWdzID0gMDsKKwkJfQorCX0KK30KK0RFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX01BUlZFTEwsIFBDSV9BTllfSUQsIHJjX3BjaV9maXh1cCk7CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2J1cyBfX2luaXQgKgora2lya3dvb2RfcGNpZV9zY2FuX2J1cyhpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cykKK3sKKwlzdHJ1Y3QgcGNpX2J1cyAqYnVzOworCisJaWYgKG5yID09IDApIHsKKwkJYnVzID0gcGNpX3NjYW5fYnVzKHN5cy0+YnVzbnIsICZwY2llX29wcywgc3lzKTsKKwl9IGVsc2UgeworCQlidXMgPSBOVUxMOworCQlCVUcoKTsKKwl9CisKKwlyZXR1cm4gYnVzOworfQorCitzdGF0aWMgaW50IF9faW5pdCBraXJrd29vZF9wY2llX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCXJldHVybiBJUlFfS0lSS1dPT0RfUENJRTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kga2lya3dvb2RfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMSwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0ga2lya3dvb2RfcGNpZV9zZXR1cCwKKwkuc2NhbgkJPSBraXJrd29vZF9wY2llX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0ga2lya3dvb2RfcGNpZV9tYXBfaXJxLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfcGNpZV9pbml0KHZvaWQpCit7CisJcGNpX2NvbW1vbl9pbml0KCZraXJrd29vZF9wY2kpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYxOTItbmFzLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjE5Mi1uYXMtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2Y2NDJjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYxOTItbmFzLXNldHVwLmMKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MTkyLW5hcy1zZXR1cC5jCisgKgorICogTWFydmVsbCBSRC04OEY2MTkyLU5BUyBSZWZlcmVuY2UgQm9hcmQgU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworI2RlZmluZSBSRDg4RjYxOTJfR1BJT19VU0JfVkJVUwkJMTAKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHJkODhmNjE5Ml9nZTAwX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIHJkODhmNjE5Ml9zYXRhX2RhdGEgPSB7CisJLm5fcG9ydHMJPSAyLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJkODhmNjE5Ml9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBCYXNpYyBzZXR1cC4gTmVlZHMgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCWtpcmt3b29kX2luaXQoKTsKKworCWtpcmt3b29kX2VoY2lfaW5pdCgpOworCWtpcmt3b29kX2dlMDBfaW5pdCgmcmQ4OGY2MTkyX2dlMDBfZGF0YSk7CisJa2lya3dvb2RfcnRjX2luaXQoKTsKKwlraXJrd29vZF9zYXRhX2luaXQoJnJkODhmNjE5Ml9zYXRhX2RhdGEpOworCWtpcmt3b29kX3VhcnQwX2luaXQoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY2MTkyX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfcmQ4OGY2MTkyX25hcygpKQorCQlraXJrd29vZF9wY2llX2luaXQoKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNjE5Ml9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoUkQ4OEY2MTkyX05BUywgIk1hcnZlbGwgUkQtODhGNjE5Mi1OQVMgRGV2ZWxvcG1lbnQgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IFNhZWVkIEJpc2hhcmEgPHNhZWVkQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHJkODhmNjE5Ml9pbml0LAorCS5tYXBfaW8JCT0ga2lya3dvb2RfbWFwX2lvLAorCS5pbml0X2lycQk9IGtpcmt3b29kX2luaXRfaXJxLAorCS50aW1lcgkJPSAma2lya3dvb2RfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYyODEtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MjgxLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFmOGRlMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MjgxLXNldHVwLmMKQEAgLTAsMCArMSwxMTMgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjI4MS1zZXR1cC5jCisgKgorICogTWFydmVsbCBSRC04OEY2MjgxIFJlZmVyZW5jZSBCb2FyZCBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHJkODhmNjI4MV9uYW5kX3BhcnRzW10gPSB7CisJeworCQkubmFtZSA9ICJ1LWJvb3QiLAorCQkub2Zmc2V0ID0gMCwKKwkJLnNpemUgPSBTWl8xTQorCX0sIHsKKwkJLm5hbWUgPSAidUltYWdlIiwKKwkJLm9mZnNldCA9IE1URFBBUlRfT0ZTX05YVEJMSywKKwkJLnNpemUgPSBTWl8yTQorCX0sIHsKKwkJLm5hbWUgPSAicm9vdCIsCisJCS5vZmZzZXQgPSBNVERQQVJUX09GU19OWFRCTEssCisJCS5zaXplID0gTVREUEFSVF9TSVpfRlVMTAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHJkODhmNjI4MV9uYW5kX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gS0lSS1dPT0RfTkFORF9NRU1fUEhZU19CQVNFLAorCS5lbmQJCT0gS0lSS1dPT0RfTkFORF9NRU1fUEhZU19CQVNFICsKKwkJCSAgS0lSS1dPT0RfTkFORF9NRU1fU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IG9yaW9uX25hbmRfZGF0YSByZDg4ZjYyODFfbmFuZF9kYXRhID0geworCS5wYXJ0cwkJPSByZDg4ZjYyODFfbmFuZF9wYXJ0cywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHJkODhmNjI4MV9uYW5kX3BhcnRzKSwKKwkuY2xlCQk9IDAsCisJLmFsZQkJPSAxLAorCS53aWR0aAkJPSA4LAorCS5jaGlwX2RlbGF5CT0gMjUsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSByZDg4ZjYyODFfbmFuZF9mbGFzaCA9IHsKKwkubmFtZQkJPSAib3Jpb25fbmFuZCIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZyZDg4ZjYyODFfbmFuZF9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gJnJkODhmNjI4MV9uYW5kX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjYyODFfZ2UwMF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgcmQ4OGY2MjgxX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY2MjgxX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIEJhc2ljIHNldHVwLiBOZWVkcyB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJa2lya3dvb2RfaW5pdCgpOworCisJa2lya3dvb2RfZWhjaV9pbml0KCk7CisJa2lya3dvb2RfZ2UwMF9pbml0KCZyZDg4ZjYyODFfZ2UwMF9kYXRhKTsKKwlraXJrd29vZF9ydGNfaW5pdCgpOworCWtpcmt3b29kX3NhdGFfaW5pdCgmcmQ4OGY2MjgxX3NhdGFfZGF0YSk7CisJa2lya3dvb2RfdWFydDBfaW5pdCgpOworCWtpcmt3b29kX3VhcnQxX2luaXQoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY2MjgxX25hbmRfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdCByZDg4ZjYyODFfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19yZDg4ZjYyODEoKSkKKwkJa2lya3dvb2RfcGNpZV9pbml0KCk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChyZDg4ZjYyODFfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFJEODhGNjI4MSwgIk1hcnZlbGwgUkQtODhGNjI4MSBSZWZlcmVuY2UgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IFNhZWVkIEJpc2hhcmEgPHNhZWVkQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHJkODhmNjI4MV9pbml0LAorCS5tYXBfaW8JCT0ga2lya3dvb2RfbWFwX2lvLAorCS5pbml0X2lycQk9IGtpcmt3b29kX2luaXRfaXJxLAorCS50aW1lcgkJPSAma2lya3dvb2RfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLWxva2kvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDQ1YmRkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL0tjb25maWcKQEAgLTAsMCArMSwxMyBAQAoraWYgQVJDSF9MT0tJCisKK21lbnUgIk1hcnZlbGwgTG9raSAoODhSQzg0ODApIEltcGxlbWVudGF0aW9ucyIKKworY29uZmlnIE1BQ0hfTEI4OFJDODQ4MAorCWJvb2wgIk1hcnZlbGwgTEI4OFJDODQ4MCBEZXZlbG9wbWVudCBCb2FyZCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgTEI4OFJDODQ4MCBEZXZlbG9wbWVudCBCb2FyZC4KKworZW5kbWVudQorCitlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MzIzM2UKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvTWFrZWZpbGUKQEAgLTAsMCArMSwzIEBACitvYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIGlycS5vCisKK29iai0kKENPTkZJR19NQUNIX0xCODhSQzg0ODApCSs9IGxiODhyYzg0ODAtc2V0dXAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlLmJvb3QgYi9hcmNoL2FybS9tYWNoLWxva2kvTWFrZWZpbGUuYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzAzOWMzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlLmJvb3QKQEAgLTAsMCArMSwzIEBACisgICB6cmVsYWRkci15CTo9IDB4MDAwMDgwMDAKK3BhcmFtc19waHlzLXkJOj0gMHgwMDAwMDEwMAoraW5pdHJkX3BoeXMteQk6PSAweDAwODAwMDAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvYWRkci1tYXAuYyBiL2FyY2gvYXJtL21hY2gtbG9raS9hZGRyLW1hcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhMjVlNTYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvYWRkci1tYXAuYwpAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9hZGRyLW1hcC5jCisgKgorICogQWRkcmVzcyBtYXAgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKy8qCisgKiBHZW5lcmljIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgYml0IHNldHRpbmdzCisgKi8KKyNkZWZpbmUgVEFSR0VUX0REUgkJMAorI2RlZmluZSBUQVJHRVRfREVWX0JVUwkJMQorI2RlZmluZSBUQVJHRVRfUENJRTAJCTMKKyNkZWZpbmUgVEFSR0VUX1BDSUUxCQk0CisjZGVmaW5lIEFUVFJfREVWX0JPT1QJCTB4MGYKKyNkZWZpbmUgQVRUUl9ERVZfQ1MyCQkweDFiCisjZGVmaW5lIEFUVFJfREVWX0NTMQkJMHgxZAorI2RlZmluZSBBVFRSX0RFVl9DUzAJCTB4MWUKKyNkZWZpbmUgQVRUUl9QQ0lFX0lPCQkweDUxCisjZGVmaW5lIEFUVFJfUENJRV9NRU0JCTB4NTkKKworLyoKKyAqIEhlbHBlcnMgdG8gZ2V0IEREUiBiYW5rIGluZm8KKyAqLworI2RlZmluZSBERFJfU0laRV9DUyhuKQkJRERSX1JFRygweDE1MDAgKyAoKG4pIDw8IDMpKQorI2RlZmluZSBERFJfQkFTRV9DUyhuKQkJRERSX1JFRygweDE1MDQgKyAoKG4pIDw8IDMpKQorCisvKgorICogQ1BVIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgcmVnaXN0ZXJzCisgKi8KKyNkZWZpbmUgQ1BVX1dJTl9DVFJMKG4pCQlCUklER0VfUkVHKDB4MDAwIHwgKChuKSA8PCA0KSkKKyNkZWZpbmUgQ1BVX1dJTl9CQVNFKG4pCQlCUklER0VfUkVHKDB4MDA0IHwgKChuKSA8PCA0KSkKKyNkZWZpbmUgQ1BVX1dJTl9SRU1BUF9MTyhuKQlCUklER0VfUkVHKDB4MDA4IHwgKChuKSA8PCA0KSkKKyNkZWZpbmUgQ1BVX1dJTl9SRU1BUF9ISShuKQlCUklER0VfUkVHKDB4MDBjIHwgKChuKSA8PCA0KSkKKworCitzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIGxva2lfbWJ1c19kcmFtX2luZm87CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVfd2luKGludCB3aW4sIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQkgdTggdGFyZ2V0LCB1OCBhdHRyLCBpbnQgcmVtYXApCit7CisJdTMyIGN0cmw7CisKKwliYXNlICY9IDB4ZmZmZjAwMDA7CisJY3RybCA9ICgoc2l6ZSAtIDEpICYgMHhmZmZmMDAwMCkgfCAoYXR0ciA8PCA4KSB8ICgxIDw8IDUpIHwgdGFyZ2V0OworCisJd3JpdGVsKGJhc2UsIENQVV9XSU5fQkFTRSh3aW4pKTsKKwl3cml0ZWwoY3RybCwgQ1BVX1dJTl9DVFJMKHdpbikpOworCWlmICh3aW4gPCAyKSB7CisJCWlmIChyZW1hcCA8IDApCisJCQlyZW1hcCA9IGJhc2U7CisKKwkJd3JpdGVsKHJlbWFwICYgMHhmZmZmMDAwMCwgQ1BVX1dJTl9SRU1BUF9MTyh3aW4pKTsKKwkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkod2luKSk7CisJfQorfQorCit2b2lkIF9faW5pdCBsb2tpX3NldHVwX2NwdV9tYnVzKHZvaWQpCit7CisJaW50IGk7CisJaW50IGNzOworCisJLyoKKwkgKiBGaXJzdCwgZGlzYWJsZSBhbmQgY2xlYXIgd2luZG93cy4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7CisJCXdyaXRlbCgwLCBDUFVfV0lOX0JBU0UoaSkpOworCQl3cml0ZWwoMCwgQ1BVX1dJTl9DVFJMKGkpKTsKKwkJaWYgKGkgPCAyKSB7CisJCQl3cml0ZWwoMCwgQ1BVX1dJTl9SRU1BUF9MTyhpKSk7CisJCQl3cml0ZWwoMCwgQ1BVX1dJTl9SRU1BUF9ISShpKSk7CisJCX0KKwl9CisKKwkvKgorCSAqIFNldHVwIHdpbmRvd3MgZm9yIFBDSWUgSU8rTUVNIHNwYWNlLgorCSAqLworCXNldHVwX2NwdV93aW4oMiwgTE9LSV9QQ0lFMF9NRU1fUEhZU19CQVNFLCBMT0tJX1BDSUUwX01FTV9TSVpFLAorCQkgICAgICBUQVJHRVRfUENJRTAsIEFUVFJfUENJRV9NRU0sIC0xKTsKKwlzZXR1cF9jcHVfd2luKDMsIExPS0lfUENJRTFfTUVNX1BIWVNfQkFTRSwgTE9LSV9QQ0lFMV9NRU1fU0laRSwKKwkJICAgICAgVEFSR0VUX1BDSUUxLCBBVFRSX1BDSUVfTUVNLCAtMSk7CisKKwkvKgorCSAqIFNldHVwIE1CVVMgZHJhbSB0YXJnZXQgaW5mby4KKwkgKi8KKwlsb2tpX21idXNfZHJhbV9pbmZvLm1idXNfZHJhbV90YXJnZXRfaWQgPSBUQVJHRVRfRERSOworCisJZm9yIChpID0gMCwgY3MgPSAwOyBpIDwgNDsgaSsrKSB7CisJCXUzMiBiYXNlID0gcmVhZGwoRERSX0JBU0VfQ1MoaSkpOworCQl1MzIgc2l6ZSA9IHJlYWRsKEREUl9TSVpFX0NTKGkpKTsKKworCQkvKgorCQkgKiBDaGlwIHNlbGVjdCBlbmFibGVkPworCQkgKi8KKwkJaWYgKHNpemUgJiAxKSB7CisJCQlzdHJ1Y3QgbWJ1c19kcmFtX3dpbmRvdyAqdzsKKworCQkJdyA9ICZsb2tpX21idXNfZHJhbV9pbmZvLmNzW2NzKytdOworCQkJdy0+Y3NfaW5kZXggPSBpOworCQkJdy0+bWJ1c19hdHRyID0gMHhmICYgfigxIDw8IGkpOworCQkJdy0+YmFzZSA9IGJhc2UgJiAweGZmZmYwMDAwOworCQkJdy0+c2l6ZSA9IChzaXplIHwgMHgwMDAwZmZmZikgKyAxOworCQl9CisJfQorCWxva2lfbWJ1c19kcmFtX2luZm8ubnVtX2NzID0gY3M7Cit9CisKK3ZvaWQgX19pbml0IGxva2lfc2V0dXBfZGV2X2Jvb3Rfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKK3sKKwlzZXR1cF9jcHVfd2luKDQsIGJhc2UsIHNpemUsIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9CT09ULCAtMSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEwZjUwMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9jb21tb24uYwpAQCAtMCwwICsxLDMwNSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9jb21tb24uYworICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3RpbWV4Lmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vdGltZS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkvTyBBZGRyZXNzIE1hcHBpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBsb2tpX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBMT0tJX1JFR1NfVklSVF9CQVNFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oTE9LSV9SRUdTX1BIWVNfQkFTRSksCisJCS5sZW5ndGgJCT0gTE9LSV9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQgbG9raV9tYXBfaW8odm9pZCkKK3sKKwlpb3RhYmxlX2luaXQobG9raV9pb19kZXNjLCBBUlJBWV9TSVpFKGxva2lfaW9fZGVzYykpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBsb2tpX2dlMF9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gTE9LSV9UQ0xLLAorCS5kcmFtCQk9ICZsb2tpX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX2dlMF9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAgYmFzZSIsCisJCS5zdGFydAk9IEdFMF9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTBfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV9nZTBfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZsb2tpX2dlMF9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBsb2tpX2dlMF9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX2dlMF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMCBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTE9LSV9HQkVfQV9JTlQsCisJCS5lbmQJPSBJUlFfTE9LSV9HQkVfQV9JTlQsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX2dlMCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAwLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBsb2tpX2dlMF9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBsb2tpX2dlMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJmxva2lfZ2UwX3NoYXJlZDsKKwlsb2tpX2dlMC5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJd3JpdGVsKDB4MDAwNzkyMjAsIEdFMF9WSVJUX0JBU0UgKyAweDIwYjApOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV9nZTBfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfZ2UwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbG9raV9nZTFfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IExPS0lfVENMSywKKwkuZHJhbQkJPSAmbG9raV9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV9nZTFfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxIGJhc2UiLAorCQkuc3RhcnQJPSBHRTFfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UxX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfZ2UxX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbG9raV9nZTFfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbG9raV9nZTFfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV9nZTFfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0xPS0lfR0JFX0JfSU5ULAorCQkuZW5kCT0gSVJRX0xPS0lfR0JFX0JfSU5ULAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV9nZTEgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbG9raV9nZTFfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbG9raV9nZTFfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZsb2tpX2dlMV9zaGFyZWQ7CisJbG9raV9nZTEuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXdyaXRlbCgweDAwMDc5MjIwLCBHRTFfVklSVF9CQVNFICsgMHgyMGIwKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfZ2UxX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX2dlMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTQVMvU0FUQQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxva2lfc2FzX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAibXZzYXMwIG1lbSIsCisJCS5zdGFydAk9IFNBUzBfUEhZU19CQVNFLAorCQkuZW5kCT0gU0FTMF9QSFlTX0JBU0UgKyAweDAxZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAibXZzYXMwIGlycSIsCisJCS5zdGFydAk9IElSUV9MT0tJX1NBU19BLAorCQkuZW5kCT0gSVJRX0xPS0lfU0FTX0EsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sIHsKKwkJLm5hbWUJPSAibXZzYXMxIG1lbSIsCisJCS5zdGFydAk9IFNBUzFfUEhZU19CQVNFLAorCQkuZW5kCT0gU0FTMV9QSFlTX0JBU0UgKyAweDAxZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAibXZzYXMxIGlycSIsCisJCS5zdGFydAk9IElSUV9MT0tJX1NBU19CLAorCQkuZW5kCT0gSVJRX0xPS0lfU0FTX0IsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX3NhcyA9IHsKKwkubmFtZQkJPSAibXZzYXMiLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGxva2lfc2FzX3Jlc291cmNlcyksCisJLnJlc291cmNlCT0gbG9raV9zYXNfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbG9raV9zYXNfaW5pdCh2b2lkKQoreworCXdyaXRlbCgweDgzMDBmNzA3LCBERFJfUkVHKDB4MTQyNCkpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV9zYXMpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBsb2tpX3VhcnQwX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9MT0tJX1VBUlQwLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IExPS0lfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV91YXJ0MF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9MT0tJX1VBUlQwLAorCQkuZW5kCQk9IElSUV9MT0tJX1VBUlQwLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfdWFydDAgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDAsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IGxva2lfdWFydDBfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBsb2tpX3VhcnQwX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKGxva2lfdWFydDBfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IGxva2lfdWFydDBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV91YXJ0MCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IGxva2lfdWFydDFfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMV9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX0xPS0lfVUFSVDEsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gTE9LSV9UQ0xLLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX3VhcnQxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX0xPS0lfVUFSVDEsCisJCS5lbmQJCT0gSVJRX0xPS0lfVUFSVDEsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV91YXJ0MSA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMSwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gbG9raV91YXJ0MV9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IGxva2lfdWFydDFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUobG9raV91YXJ0MV9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbG9raV91YXJ0MV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX3VhcnQxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRpbWUgaGFuZGxpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHZvaWQgbG9raV90aW1lcl9pbml0KHZvaWQpCit7CisJb3Jpb25fdGltZV9pbml0KElSUV9MT0tJX0JSSURHRSwgTE9LSV9UQ0xLKTsKK30KKworc3RydWN0IHN5c190aW1lciBsb2tpX3RpbWVyID0geworCS5pbml0ID0gbG9raV90aW1lcl9pbml0LAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBfX2luaXQgbG9raV9pbml0KHZvaWQpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAiTG9raSBJRDogODhSQzg0ODAuIFRDTEs9JWQuXG4iLCBMT0tJX1RDTEspOworCisJbG9raV9zZXR1cF9jcHVfbWJ1cygpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MDU0ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9jb21tb24uaAorICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FSQ0hfTE9LSV9DT01NT05fSAorI2RlZmluZSBfX0FSQ0hfTE9LSV9DT01NT05fSAorCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YTsKKworLyoKKyAqIEJhc2ljIExva2kgaW5pdCBmdW5jdGlvbnMgdXNlZCBlYXJseSBieSBtYWNoaW5lLXNldHVwLgorICovCit2b2lkIGxva2lfbWFwX2lvKHZvaWQpOwordm9pZCBsb2tpX2luaXQodm9pZCk7Cit2b2lkIGxva2lfaW5pdF9pcnEodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIGxva2lfbWJ1c19kcmFtX2luZm87Cit2b2lkIGxva2lfc2V0dXBfY3B1X21idXModm9pZCk7Cit2b2lkIGxva2lfc2V0dXBfZGV2X2Jvb3Rfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSk7CisKK3ZvaWQgbG9raV9nZTBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBsb2tpX2dlMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIGxva2lfc2FzX2luaXQodm9pZCk7Cit2b2lkIGxva2lfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQgbG9raV91YXJ0MV9pbml0KHZvaWQpOworCitleHRlcm4gc3RydWN0IHN5c190aW1lciBsb2tpX3RpbWVyOworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL2lycS5jIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2lycS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MzlhZjkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvaXJxLmMKQEAgLTAsMCArMSwyMSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9pcnEuYworICoKKyAqIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIElSUSBoYW5kbGluZy4KKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2lycS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCit2b2lkIF9faW5pdCBsb2tpX2luaXRfaXJxKHZvaWQpCit7CisJb3Jpb25faXJxX2luaXQoMCwgKHZvaWQgX19pb21lbSAqKShJUlFfVklSVF9CQVNFICsgSVJRX01BU0tfT0ZGKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvbGI4OHJjODQ4MC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2xiODhyYzg0ODAtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWI5ZTZlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2xiODhyYzg0ODAtc2V0dXAuYwpAQCAtMCwwICsxLDEwMCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9sYjg4cmM4NDgwLXNldHVwLmMKKyAqCisgKiBNYXJ2ZWxsIExCODhSQzg0ODAgRGV2ZWxvcG1lbnQgQm9hcmQgU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisjZGVmaW5lIExCODhSQzg0ODBfRkxBU0hfQk9PVF9DU19CQVNFCTB4ZjgwMDAwMDAKKyNkZWZpbmUgTEI4OFJDODQ4MF9GTEFTSF9CT09UX0NTX1NJWkUJU1pfMTI4TQorCisjZGVmaW5lIExCODhSQzg0ODBfTk9SX0JPT1RfQkFTRQkweGZmMDAwMDAwCisjZGVmaW5lIExCODhSQzg0ODBfTk9SX0JPT1RfU0laRQlTWl8xNk0KKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIGxiODhyYzg0ODBfYm9vdF9mbGFzaF9wYXJ0c1tdID0geworCXsKKwkJLm5hbWUJPSAia2VybmVsIiwKKwkJLm9mZnNldAk9IDAsCisJCS5zaXplCT0gU1pfMk0sCisJfSwgeworCQkubmFtZQk9ICJyb290LWZzIiwKKwkJLm9mZnNldAk9IFNaXzJNLAorCQkuc2l6ZQk9IChTWl84TSArIFNaXzRNICsgU1pfMU0pLAorCX0sIHsKKwkJLm5hbWUJPSAidS1ib290IiwKKwkJLm9mZnNldAk9IChTWl84TSArIFNaXzRNICsgU1pfMk0gKyBTWl8xTSksCisJCS5zaXplCT0gU1pfMU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIGxiODhyYzg0ODBfYm9vdF9mbGFzaF9kYXRhID0geworCS5wYXJ0cwkJPSBsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfcGFydHMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRShsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfcGFydHMpLAorCS53aWR0aAkJPSAxLAkvKiA4IGJpdCBidXMgd2lkdGggKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbGI4OHJjODQ4MF9ib290X2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAk9IExCODhSQzg0ODBfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCT0gTEI4OFJDODQ4MF9OT1JfQk9PVF9CQVNFICsgTEI4OFJDODQ4MF9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxiODhyYzg0ODBfYm9vdF9mbGFzaCA9IHsKKwkubmFtZQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJPSAwLAorCS5kZXYJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmxiODhyYzg0ODBfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9ICZsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgbGI4OHJjODQ4MF9nZTBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSAxLAorCS5tYWNfYWRkcgk9IHsgMHgwMCwgMHg1MCwgMHg0MywgMHgxMSwgMHgyMiwgMHgzMyB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGxiODhyYzg0ODBfaW5pdCh2b2lkKQoreworCS8qCisJICogQmFzaWMgc2V0dXAuIE5lZWRzIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlsb2tpX2luaXQoKTsKKworCWxva2lfZ2UwX2luaXQoJmxiODhyYzg0ODBfZ2UwX2RhdGEpOworCWxva2lfc2FzX2luaXQoKTsKKwlsb2tpX3VhcnQwX2luaXQoKTsKKwlsb2tpX3VhcnQxX2luaXQoKTsKKworCWxva2lfc2V0dXBfZGV2X2Jvb3Rfd2luKExCODhSQzg0ODBfRkxBU0hfQk9PVF9DU19CQVNFLAorCQkJCUxCODhSQzg0ODBfRkxBU0hfQk9PVF9DU19TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxiODhyYzg0ODBfYm9vdF9mbGFzaCk7Cit9CisKK01BQ0hJTkVfU1RBUlQoTEI4OFJDODQ4MCwgIk1hcnZlbGwgTEI4OFJDODQ4MCBEZXZlbG9wbWVudCBCb2FyZCIpCisJLyogTWFpbnRhaW5lcjogS2UgV2VpIDxrZXdlaUBtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IExPS0lfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChMT0tJX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gbGI4OHJjODQ4MF9pbml0LAorCS5tYXBfaW8JCT0gbG9raV9tYXBfaW8sCisJLmluaXRfaXJxCT0gbG9raV9pbml0X2lycSwKKwkudGltZXIJCT0gJmxva2lfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODNjYjg2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL0tjb25maWcKQEAgLTAsMCArMSwxMyBAQAoraWYgQVJDSF9NVjc4WFgwCisKK21lbnUgIk1hcnZlbGwgTVY3OHh4MCBJbXBsZW1lbnRhdGlvbnMiCisKK2NvbmZpZyBNQUNIX0RCNzhYMDBfQlAKKwlib29sICJNYXJ2ZWxsIERCLTc4eDAwLUJQIERldmVsb3BtZW50IEJvYXJkIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBEQi03OHgwMC1CUCBEZXZlbG9wbWVudCBCb2FyZC4KKworZW5kbWVudQorCitlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMTZjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUKQEAgLTAsMCArMSwyIEBACitvYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIGlycS5vIHBjaWUubworb2JqLSQoQ09ORklHX01BQ0hfREI3OFgwMF9CUCkJKz0gZGI3OHgwMC1icC1zZXR1cC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUuYm9vdCBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9NYWtlZmlsZS5ib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MDM5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUuYm9vdApAQCAtMCwwICsxLDMgQEAKKyAgIHpyZWxhZGRyLXkJOj0gMHgwMDAwODAwMAorcGFyYW1zX3BoeXMteQk6PSAweDAwMDAwMTAwCitpbml0cmRfcGh5cy15CTo9IDB4MDA4MDAwMDAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9hZGRyLW1hcC5jIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2FkZHItbWFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDAwNGI2NwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9hZGRyLW1hcC5jCkBAIC0wLDAgKzEsMTU2IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2FkZHItbWFwLmMKKyAqCisgKiBBZGRyZXNzIG1hcCBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKy8qCisgKiBHZW5lcmljIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgYml0IHNldHRpbmdzCisgKi8KKyNkZWZpbmUgVEFSR0VUX0REUgkJMAorI2RlZmluZSBUQVJHRVRfREVWX0JVUwkJMQorI2RlZmluZSBUQVJHRVRfUENJRTAJCTQKKyNkZWZpbmUgVEFSR0VUX1BDSUUxCQk4CisjZGVmaW5lIFRBUkdFVF9QQ0lFKGkpCQkoKGkpID8gVEFSR0VUX1BDSUUxIDogVEFSR0VUX1BDSUUwKQorI2RlZmluZSBBVFRSX0RFVl9TUElfUk9NCTB4MWYKKyNkZWZpbmUgQVRUUl9ERVZfQk9PVAkJMHgyZgorI2RlZmluZSBBVFRSX0RFVl9DUzMJCTB4MzcKKyNkZWZpbmUgQVRUUl9ERVZfQ1MyCQkweDNiCisjZGVmaW5lIEFUVFJfREVWX0NTMQkJMHgzZAorI2RlZmluZSBBVFRSX0RFVl9DUzAJCTB4M2UKKyNkZWZpbmUgQVRUUl9QQ0lFX0lPKGwpCQkoMHhmMCAmIH4oMHgxMCA8PCAobCkpKQorI2RlZmluZSBBVFRSX1BDSUVfTUVNKGwpCSgweGY4ICYgfigweDEwIDw8IChsKSkpCisKKy8qCisgKiBIZWxwZXJzIHRvIGdldCBERFIgYmFuayBpbmZvCisgKi8KKyNkZWZpbmUgRERSX0JBU0VfQ1NfT0ZGKG4pCSgweDAwMDAgKyAoKG4pIDw8IDMpKQorI2RlZmluZSBERFJfU0laRV9DU19PRkYobikJKDB4MDAwNCArICgobikgPDwgMykpCisKKy8qCisgKiBDUFUgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKKyAqLworI2RlZmluZSBXSU4wX09GRihuKQkJKEJSSURHRV9WSVJUX0JBU0UgKyAweDAwMDAgKyAoKG4pIDw8IDQpKQorI2RlZmluZSBXSU44X09GRihuKQkJKEJSSURHRV9WSVJUX0JBU0UgKyAweDA5MDAgKyAoKChuKSAtIDgpIDw8IDQpKQorI2RlZmluZSBXSU5fQ1RSTF9PRkYJCTB4MDAwMAorI2RlZmluZSBXSU5fQkFTRV9PRkYJCTB4MDAwNAorI2RlZmluZSBXSU5fUkVNQVBfTE9fT0ZGCTB4MDAwOAorI2RlZmluZSBXSU5fUkVNQVBfSElfT0ZGCTB4MDAwYworCisKK3N0cnVjdCBtYnVzX2RyYW1fdGFyZ2V0X2luZm8gbXY3OHh4MF9tYnVzX2RyYW1faW5mbzsKKworc3RhdGljIHZvaWQgX19pbml0IF9faW9tZW0gKndpbl9jZmdfYmFzZShpbnQgd2luKQoreworCS8qCisJICogRmluZCB0aGUgY29udHJvbCByZWdpc3RlciBiYXNlIGFkZHJlc3MgZm9yIHRoaXMgd2luZG93LgorCSAqCisJICogQlJJREdFX1ZJUlRfQkFTRSBwb2ludHMgdG8gdGhlIHJpZ2h0IChDUFUwJ3Mgb3IgQ1BVMSdzKQorCSAqIE1CVVMgYnJpZGdlIGRlcGVuZGluZyBvbiB3aGljaCBDUFUgY29yZSB3ZSdyZSBydW5uaW5nIG9uLAorCSAqIHNvIHdlIGRvbid0IG5lZWQgdG8gdGFrZSB0aGF0IGludG8gYWNjb3VudCBoZXJlLgorCSAqLworCisJcmV0dXJuICh2b2lkIF9faW9tZW0gKikoKHdpbiA8IDgpID8gV0lOMF9PRkYod2luKSA6IFdJTjhfT0ZGKHdpbikpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBjcHVfd2luX2Nhbl9yZW1hcChpbnQgd2luKQoreworCWlmICh3aW4gPCA4KQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfY3B1X3dpbihpbnQgd2luLCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJIHU4IHRhcmdldCwgdTggYXR0ciwgaW50IHJlbWFwKQoreworCXZvaWQgX19pb21lbSAqYWRkciA9IHdpbl9jZmdfYmFzZSh3aW4pOworCXUzMiBjdHJsOworCisJYmFzZSAmPSAweGZmZmYwMDAwOworCWN0cmwgPSAoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAodGFyZ2V0IDw8IDQpIHwgMTsKKworCXdyaXRlbChiYXNlLCBhZGRyICsgV0lOX0JBU0VfT0ZGKTsKKwl3cml0ZWwoY3RybCwgYWRkciArIFdJTl9DVFJMX09GRik7CisJaWYgKGNwdV93aW5fY2FuX3JlbWFwKHdpbikpIHsKKwkJaWYgKHJlbWFwIDwgMCkKKwkJCXJlbWFwID0gYmFzZTsKKworCQl3cml0ZWwocmVtYXAgJiAweGZmZmYwMDAwLCBhZGRyICsgV0lOX1JFTUFQX0xPX09GRik7CisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0hJX09GRik7CisJfQorfQorCit2b2lkIF9faW5pdCBtdjc4eHgwX3NldHVwX2NwdV9tYnVzKHZvaWQpCit7CisJdm9pZCBfX2lvbWVtICphZGRyOworCWludCBpOworCWludCBjczsKKworCS8qCisJICogRmlyc3QsIGRpc2FibGUgYW5kIGNsZWFyIHdpbmRvd3MuCisJICovCisJZm9yIChpID0gMDsgaSA8IDE0OyBpKyspIHsKKwkJYWRkciA9IHdpbl9jZmdfYmFzZShpKTsKKworCQl3cml0ZWwoMCwgYWRkciArIFdJTl9CQVNFX09GRik7CisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX0NUUkxfT0ZGKTsKKwkJaWYgKGNwdV93aW5fY2FuX3JlbWFwKGkpKSB7CisJCQl3cml0ZWwoMCwgYWRkciArIFdJTl9SRU1BUF9MT19PRkYpOworCQkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fUkVNQVBfSElfT0ZGKTsKKwkJfQorCX0KKworCS8qCisJICogU2V0dXAgTUJVUyBkcmFtIHRhcmdldCBpbmZvLgorCSAqLworCW12Nzh4eDBfbWJ1c19kcmFtX2luZm8ubWJ1c19kcmFtX3RhcmdldF9pZCA9IFRBUkdFVF9ERFI7CisKKwlpZiAobXY3OHh4MF9jb3JlX2luZGV4KCkgPT0gMCkKKwkJYWRkciA9ICh2b2lkIF9faW9tZW0gKilERFJfV0lORE9XX0NQVTBfQkFTRTsKKwllbHNlCisJCWFkZHIgPSAodm9pZCBfX2lvbWVtICopRERSX1dJTkRPV19DUFUxX0JBU0U7CisKKwlmb3IgKGkgPSAwLCBjcyA9IDA7IGkgPCA0OyBpKyspIHsKKwkJdTMyIGJhc2UgPSByZWFkbChhZGRyICsgRERSX0JBU0VfQ1NfT0ZGKGkpKTsKKwkJdTMyIHNpemUgPSByZWFkbChhZGRyICsgRERSX1NJWkVfQ1NfT0ZGKGkpKTsKKworCQkvKgorCQkgKiBDaGlwIHNlbGVjdCBlbmFibGVkPworCQkgKi8KKwkJaWYgKHNpemUgJiAxKSB7CisJCQlzdHJ1Y3QgbWJ1c19kcmFtX3dpbmRvdyAqdzsKKworCQkJdyA9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLmNzW2NzKytdOworCQkJdy0+Y3NfaW5kZXggPSBpOworCQkJdy0+bWJ1c19hdHRyID0gMHhmICYgfigxIDw8IGkpOworCQkJdy0+YmFzZSA9IGJhc2UgJiAweGZmZmYwMDAwOworCQkJdy0+c2l6ZSA9IChzaXplIHwgMHgwMDAwZmZmZikgKyAxOworCQl9CisJfQorCW12Nzh4eDBfbWJ1c19kcmFtX2luZm8ubnVtX2NzID0gY3M7Cit9CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfc2V0dXBfcGNpZV9pb193aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSAgICAgIGludCBtYWosIGludCBtaW4pCit7CisJc2V0dXBfY3B1X3dpbih3aW5kb3csIGJhc2UsIHNpemUsIFRBUkdFVF9QQ0lFKG1haiksCisJCSAgICAgIEFUVFJfUENJRV9JTyhtaW4pLCAtMSk7Cit9CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfc2V0dXBfcGNpZV9tZW1fd2luKGludCB3aW5kb3csIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQkgICAgICAgaW50IG1haiwgaW50IG1pbikKK3sKKwlzZXR1cF9jcHVfd2luKHdpbmRvdywgYmFzZSwgc2l6ZSwgVEFSR0VUX1BDSUUobWFqKSwKKwkJICAgICAgQVRUUl9QQ0lFX01FTShtaW4pLCAtMSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI3YjgzYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uYwpAQCAtMCwwICsxLDc1NCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uYworICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsXzgyNTAuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vZWhjaS1vcmlvbi5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi90aW1lLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb21tb24gYml0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitpbnQgbXY3OHh4MF9jb3JlX2luZGV4KHZvaWQpCit7CisJdTMyIGV4dHJhOworCisJLyoKKwkgKiBSZWFkIEV4dHJhIEZlYXR1cmVzIHJlZ2lzdGVyLgorCSAqLworCV9fYXNtX18oIm1yYyBwMTUsIDEsICUwLCBjMTUsIGMxLCAwIiA6ICI9ciIgKGV4dHJhKSk7CisKKwlyZXR1cm4gISEoZXh0cmEgJiAweDAwMDA0MDAwKTsKK30KKworc3RhdGljIGludCBnZXRfaGNsayh2b2lkKQoreworCWludCBoY2xrOworCisJLyoKKwkgKiBIQ0xLIHRpY2sgcmF0ZSBpcyBjb25maWd1cmVkIGJ5IERFVl9EWzc6NV0gcGlucy4KKwkgKi8KKwlzd2l0Y2ggKChyZWFkbChTQU1QTEVfQVRfUkVTRVRfTE9XKSA+PiA1KSAmIDcpIHsKKwljYXNlIDA6CisJCWhjbGsgPSAxNjY2NjY2Njc7CisJCWJyZWFrOworCWNhc2UgMToKKwkJaGNsayA9IDIwMDAwMDAwMDsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQloY2xrID0gMjY2NjY2NjY3OworCQlicmVhazsKKwljYXNlIDM6CisJCWhjbGsgPSAzMzMzMzMzMzM7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJaGNsayA9IDQwMDAwMDAwMDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcGFuaWMoInVua25vd24gSENMSyBQTEwgc2V0dGluZzogJS44eFxuIiwKKwkJCXJlYWRsKFNBTVBMRV9BVF9SRVNFVF9MT1cpKTsKKwl9CisKKwlyZXR1cm4gaGNsazsKK30KKworc3RhdGljIHZvaWQgZ2V0X3BjbGtfbDJjbGsoaW50IGhjbGssIGludCBjb3JlX2luZGV4LCBpbnQgKnBjbGssIGludCAqbDJjbGspCit7CisJdTMyIGNmZzsKKworCS8qCisJICogQ29yZSAjMCBQQ0xLL0wyQ0xLIGlzIGNvbmZpZ3VyZWQgYnkgYml0cyBbMTM6OF0sIGNvcmUgIzEKKwkgKiBQQ0xLL0wyQ0xLIGJ5IGJpdHMgWzE5OjE0XS4KKwkgKi8KKwlpZiAoY29yZV9pbmRleCA9PSAwKSB7CisJCWNmZyA9IChyZWFkbChTQU1QTEVfQVRfUkVTRVRfTE9XKSA+PiA4KSAmIDB4M2Y7CisJfSBlbHNlIHsKKwkJY2ZnID0gKHJlYWRsKFNBTVBMRV9BVF9SRVNFVF9MT1cpID4+IDE0KSAmIDB4M2Y7CisJfQorCisJLyoKKwkgKiBCaXRzIFsxMTo4XSAoWzE3OjE0XSBmb3IgY29yZSAjMSkgY29uZmlndXJlIHRoZSBQQ0xLOkhDTEsKKwkgKiByYXRpbyAoMSwgMS41LCAyLCAyLjUsIDMsIDMuNSwgNCwgNC41LCA1LCA1LjUsIDYpLgorCSAqLworCSpwY2xrID0gKCh1NjQpaGNsayAqICgyICsgKGNmZyAmIDB4ZikpKSA+PiAxOworCisJLyoKKwkgKiBCaXRzIFsxMzoxMl0gKFsxOToxOF0gZm9yIGNvcmUgIzEpIGNvbmZpZ3VyZSB0aGUgUENMSzpMMkNMSworCSAqIHJhdGlvICgxLCAyLCAzKS4KKwkgKi8KKwkqbDJjbGsgPSAqcGNsayAvICgoKGNmZyA+PiA0KSAmIDMpICsgMSk7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3RjbGsodm9pZCkKK3sKKwlpbnQgdGNsazsKKworCS8qCisJICogVENMSyB0aWNrIHJhdGUgaXMgY29uZmlndXJlZCBieSBERVZfQVsyOjBdIHN0cmFwIHBpbnMuCisJICovCisJc3dpdGNoICgocmVhZGwoU0FNUExFX0FUX1JFU0VUX0hJR0gpID4+IDYpICYgNykgeworCWNhc2UgMToKKwkJdGNsayA9IDE2NjY2NjY2NzsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQl0Y2xrID0gMjAwMDAwMDAwOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlwYW5pYygidW5rbm93biBUQ0xLIFBMTCBzZXR0aW5nOiAlLjh4XG4iLAorCQkJcmVhZGwoU0FNUExFX0FUX1JFU0VUX0hJR0gpKTsKKwl9CisKKwlyZXR1cm4gdGNsazsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkvTyBBZGRyZXNzIE1hcHBpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBtdjc4eHgwX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBNVjc4WFgwX0NPUkVfUkVHU19WSVJUX0JBU0UsCisJCS5wZm4JCT0gMCwKKwkJLmxlbmd0aAkJPSBNVjc4WFgwX0NPUkVfUkVHU19TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgeworCQkudmlydHVhbAk9IE1WNzhYWDBfUENJRV9JT19WSVJUX0JBU0UoMCksCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKDApKSwKKwkJLmxlbmd0aAkJPSBNVjc4WFgwX1BDSUVfSU9fU0laRSAqIDgsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CisJCS52aXJ0dWFsCT0gTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UpLAorCQkubGVuZ3RoCQk9IE1WNzhYWDBfUkVHU19TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfbWFwX2lvKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBwaHlzOworCisJLyoKKwkgKiBNYXAgdGhlIHJpZ2h0IHNldCBvZiBwZXItY29yZSByZWdpc3RlcnMgZGVwZW5kaW5nIG9uCisJICogd2hpY2ggY29yZSB3ZSBhcmUgcnVubmluZyBvbi4KKwkgKi8KKwlpZiAobXY3OHh4MF9jb3JlX2luZGV4KCkgPT0gMCkgeworCQlwaHlzID0gTVY3OFhYMF9DT1JFMF9SRUdTX1BIWVNfQkFTRTsKKwl9IGVsc2UgeworCQlwaHlzID0gTVY3OFhYMF9DT1JFMV9SRUdTX1BIWVNfQkFTRTsKKwl9CisJbXY3OHh4MF9pb19kZXNjWzBdLnBmbiA9IF9fcGh5c190b19wZm4ocGh5cyk7CisKKwlpb3RhYmxlX2luaXQobXY3OHh4MF9pb19kZXNjLCBBUlJBWV9TSVpFKG12Nzh4eDBfaW9fZGVzYykpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uX2VoY2lfZGF0YSBtdjc4eHgwX2VoY2lfZGF0YSA9IHsKKwkuZHJhbQkJPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyB1NjQgZWhjaV9kbWFtYXNrID0gMHhmZmZmZmZmZlVMOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2VoY2kwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gVVNCMF9QSFlTX0JBU0UsCisJCS5lbmQJPSBVU0IwX1BIWVNfQkFTRSArIDB4MGZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9VU0JfMCwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX1VTQl8wLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9laGNpMCA9IHsKKwkubmFtZQkJPSAib3Jpb24tZWhjaSIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5kbWFfbWFzawkJPSAmZWhjaV9kbWFtYXNrLAorCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCQkucGxhdGZvcm1fZGF0YQkJPSAmbXY3OHh4MF9laGNpX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2VoY2kwX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUobXY3OHh4MF9laGNpMF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9laGNpMF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2VoY2kwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9laGNpMV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IFVTQjFfUEhZU19CQVNFLAorCQkuZW5kCT0gVVNCMV9QSFlTX0JBU0UgKyAweDBmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfVVNCXzEsCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9VU0JfMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZWhjaTEgPSB7CisJLm5hbWUJCT0gIm9yaW9uLWVoY2kiLAorCS5pZAkJPSAxLAorCS5kZXYJCT0geworCQkuZG1hX21hc2sJCT0gJmVoY2lfZG1hbWFzaywKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwkJLnBsYXRmb3JtX2RhdGEJCT0gJm12Nzh4eDBfZWhjaV9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gbXY3OHh4MF9laGNpMV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG12Nzh4eDBfZWhjaTFfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZWhjaTFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9laGNpMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZWhjaTJfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBVU0IyX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFVTQjJfUEhZU19CQVNFICsgMHgwZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAk9IElSUV9NVjc4WFgwX1VTQl8yLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfVVNCXzIsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2VoY2kyID0geworCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKKwkuaWQJCT0gMiwKKwkuZGV2CQk9IHsKKwkJLmRtYV9tYXNrCQk9ICZlaGNpX2RtYW1hc2ssCisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJCS5wbGF0Zm9ybV9kYXRhCQk9ICZtdjc4eHgwX2VoY2lfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZWhjaTJfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShtdjc4eHgwX2VoY2kyX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2VoY2kyX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZWhjaTIpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UwMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbXY3OHh4MF9nZTAwX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSAwLAorCS5kcmFtCQk9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMDBfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMCBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UwMF9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTAwX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UwMF9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12Nzh4eDBfZ2UwMF9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMDBfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTAwX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMCBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9HRTAwX1NVTSwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX0dFMDBfU1VNLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTAwID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDAsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UwMF9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2dlMDBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZtdjc4eHgwX2dlMDBfc2hhcmVkOworCW12Nzh4eDBfZ2UwMC5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMDBfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UwMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHRTAxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBtdjc4eHgwX2dlMDFfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IDAsCisJLmRyYW0JCT0gJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UwMV9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAxIGJhc2UiLAorCQkuc3RhcnQJPSBHRTAxX1BIWVNfQkFTRSArIDB4MjAwMCwKKwkJLmVuZAk9IEdFMDFfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTAxX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXY3OHh4MF9nZTAxX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UwMV9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMDFfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAxIGlycSIsCisJCS5zdGFydAk9IElSUV9NVjc4WFgwX0dFMDFfU1VNLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfR0UwMV9TVU0sCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMDEgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTAxX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZ2UwMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJm12Nzh4eDBfZ2UwMV9zaGFyZWQ7CisJZXRoX2RhdGEtPnNoYXJlZF9zbWkgPSAmbXY3OHh4MF9nZTAwX3NoYXJlZDsKKwltdjc4eHgwX2dlMDEuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTAxX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMDEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UxMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbXY3OHh4MF9nZTEwX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSAwLAorCS5kcmFtCQk9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMTBfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxMCBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UxMF9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTEwX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UxMF9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDIsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12Nzh4eDBfZ2UxMF9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMTBfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTEwX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxMCBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9HRTEwX1NVTSwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX0dFMTBfU1VNLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTEwID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDIsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UxMF9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2dlMTBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZtdjc4eHgwX2dlMTBfc2hhcmVkOworCWV0aF9kYXRhLT5zaGFyZWRfc21pID0gJm12Nzh4eDBfZ2UwMF9zaGFyZWQ7CisJbXY3OHh4MF9nZTEwLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UxMF9zaGFyZWQpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTEwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMTEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIG12Nzh4eDBfZ2UxMV9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gMCwKKwkuZHJhbQkJPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTExX3NoYXJlZF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMTEgYmFzZSIsCisJCS5zdGFydAk9IEdFMTFfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UxMV9QSFlTX0JBU0UgKyAweDNmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMTFfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAzLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtdjc4eHgwX2dlMTFfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTExX3NoYXJlZF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UxMV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMTEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfR0UxMV9TVU0sCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9HRTExX1NVTSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UxMSA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAzLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMTFfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9nZTExX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKQoreworCWV0aF9kYXRhLT5zaGFyZWQgPSAmbXY3OHh4MF9nZTExX3NoYXJlZDsKKwlldGhfZGF0YS0+c2hhcmVkX3NtaSA9ICZtdjc4eHgwX2dlMDBfc2hhcmVkOworCW12Nzh4eDBfZ2UxMS5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMTFfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UxMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTQVRBCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9zYXRhX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAic2F0YSBiYXNlIiwKKwkJLnN0YXJ0CT0gU0FUQV9QSFlTX0JBU0UsCisJCS5lbmQJPSBTQVRBX1BIWVNfQkFTRSArIDB4NTAwMCAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAic2F0YSBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9TQVRBLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfU0FUQSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfc2F0YSA9IHsKKwkubmFtZQkJPSAic2F0YV9tdiIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUobXY3OHh4MF9zYXRhX3Jlc291cmNlcyksCisJLnJlc291cmNlCT0gbXY3OHh4MF9zYXRhX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSkKK3sKKwlzYXRhX2RhdGEtPmRyYW0gPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbzsKKwltdjc4eHgwX3NhdGEuZGV2LnBsYXRmb3JtX2RhdGEgPSBzYXRhX2RhdGE7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX3NhdGEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBtdjc4eHgwX3VhcnQwX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9NVjc4WFgwX1VBUlRfMCwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSAwLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3VhcnQwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMF9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX01WNzhYWDBfVUFSVF8wLAorCQkuZW5kCQk9IElSUV9NVjc4WFgwX1VBUlRfMCwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3VhcnQwID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBtdjc4eHgwX3VhcnQwX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbXY3OHh4MF91YXJ0MF9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShtdjc4eHgwX3VhcnQwX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3VhcnQwX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfdWFydDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBtdjc4eHgwX3VhcnQxX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDFfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDFfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9NVjc4WFgwX1VBUlRfMSwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSAwLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3VhcnQxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX01WNzhYWDBfVUFSVF8xLAorCQkuZW5kCQk9IElSUV9NVjc4WFgwX1VBUlRfMSwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3VhcnQxID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAxLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBtdjc4eHgwX3VhcnQxX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbXY3OHh4MF91YXJ0MV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShtdjc4eHgwX3VhcnQxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3VhcnQxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfdWFydDEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDIKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBtdjc4eHgwX3VhcnQyX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDJfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDJfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9NVjc4WFgwX1VBUlRfMiwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSAwLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3VhcnQyX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQyX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMl9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX01WNzhYWDBfVUFSVF8yLAorCQkuZW5kCQk9IElSUV9NVjc4WFgwX1VBUlRfMiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3VhcnQyID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAyLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBtdjc4eHgwX3VhcnQyX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbXY3OHh4MF91YXJ0Ml9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShtdjc4eHgwX3VhcnQyX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3VhcnQyX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfdWFydDIpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBtdjc4eHgwX3VhcnQzX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDNfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDNfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9NVjc4WFgwX1VBUlRfMywKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSAwLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3VhcnQzX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQzX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUM19QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX01WNzhYWDBfVUFSVF8zLAorCQkuZW5kCQk9IElSUV9NVjc4WFgwX1VBUlRfMywKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3VhcnQzID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAzLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBtdjc4eHgwX3VhcnQzX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbXY3OHh4MF91YXJ0M19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShtdjc4eHgwX3VhcnQzX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3VhcnQzX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfdWFydDMpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGltZSBoYW5kbGluZworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBtdjc4eHgwX3RpbWVyX2luaXQodm9pZCkKK3sKKwlvcmlvbl90aW1lX2luaXQoSVJRX01WNzhYWDBfVElNRVJfMSwgZ2V0X3RjbGsoKSk7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgbXY3OHh4MF90aW1lciA9IHsKKwkuaW5pdCA9IG12Nzh4eDBfdGltZXJfaW5pdCwKK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbnQgX19pbml0IGlzX2wyX3dyaXRldGhyb3VnaCh2b2lkKQoreworCXJldHVybiAhIShyZWFkbChDUFVfQ09OVFJPTCkgJiBMMl9XUklURVRIUk9VR0gpOworfQorCit2b2lkIF9faW5pdCBtdjc4eHgwX2luaXQodm9pZCkKK3sKKwlpbnQgY29yZV9pbmRleDsKKwlpbnQgaGNsazsKKwlpbnQgcGNsazsKKwlpbnQgbDJjbGs7CisJaW50IHRjbGs7CisKKwljb3JlX2luZGV4ID0gbXY3OHh4MF9jb3JlX2luZGV4KCk7CisJaGNsayA9IGdldF9oY2xrKCk7CisJZ2V0X3BjbGtfbDJjbGsoaGNsaywgY29yZV9pbmRleCwgJnBjbGssICZsMmNsayk7CisJdGNsayA9IGdldF90Y2xrKCk7CisKKwlwcmludGsoS0VSTl9JTkZPICJNVjc4eHgwIGNvcmUgIyVkLCAiLCBjb3JlX2luZGV4KTsKKwlwcmludGsoIlBDTEsgPSAlZE1IeiwgIiwgKHBjbGsgKyA0OTk5OTkpIC8gMTAwMDAwMCk7CisJcHJpbnRrKCJMMiA9ICVkTUh6LCAiLCAobDJjbGsgKyA0OTk5OTkpIC8gMTAwMDAwMCk7CisJcHJpbnRrKCJIQ0xLID0gJWRNSHosICIsIChoY2xrICsgNDk5OTk5KSAvIDEwMDAwMDApOworCXByaW50aygiVENMSyA9ICVkTUh6XG4iLCAodGNsayArIDQ5OTk5OSkgLyAxMDAwMDAwKTsKKworCW12Nzh4eDBfc2V0dXBfY3B1X21idXMoKTsKKworI2lmZGVmIENPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMgorCWZlcm9jZW9uX2wyX2luaXQoaXNfbDJfd3JpdGV0aHJvdWdoKCkpOworI2VuZGlmCisKKwltdjc4eHgwX2dlMDBfc2hhcmVkX2RhdGEudF9jbGsgPSB0Y2xrOworCW12Nzh4eDBfZ2UwMV9zaGFyZWRfZGF0YS50X2NsayA9IHRjbGs7CisJbXY3OHh4MF9nZTEwX3NoYXJlZF9kYXRhLnRfY2xrID0gdGNsazsKKwltdjc4eHgwX2dlMTFfc2hhcmVkX2RhdGEudF9jbGsgPSB0Y2xrOworCW12Nzh4eDBfdWFydDBfZGF0YVswXS51YXJ0Y2xrID0gdGNsazsKKwltdjc4eHgwX3VhcnQxX2RhdGFbMF0udWFydGNsayA9IHRjbGs7CisJbXY3OHh4MF91YXJ0Ml9kYXRhWzBdLnVhcnRjbGsgPSB0Y2xrOworCW12Nzh4eDBfdWFydDNfZGF0YVswXS51YXJ0Y2xrID0gdGNsazsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uaCBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGFmNWRlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmgKKyAqCisgKiBDb3JlIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9NVjc4WFgwX0NPTU1PTl9ICisjZGVmaW5lIF9fQVJDSF9NVjc4WFgwX0NPTU1PTl9ICisKK3N0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhOworc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YTsKKworLyoKKyAqIEJhc2ljIE1WNzh4eDAgaW5pdCBmdW5jdGlvbnMgdXNlZCBlYXJseSBieSBtYWNoaW5lLXNldHVwLgorICovCitpbnQgbXY3OHh4MF9jb3JlX2luZGV4KHZvaWQpOwordm9pZCBtdjc4eHgwX21hcF9pbyh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX2luaXRfaXJxKHZvaWQpOworCitleHRlcm4gc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBtdjc4eHgwX21idXNfZHJhbV9pbmZvOwordm9pZCBtdjc4eHgwX3NldHVwX2NwdV9tYnVzKHZvaWQpOwordm9pZCBtdjc4eHgwX3NldHVwX3BjaWVfaW9fd2luKGludCB3aW5kb3csIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCSAgICAgICBpbnQgbWFqLCBpbnQgbWluKTsKK3ZvaWQgbXY3OHh4MF9zZXR1cF9wY2llX21lbV93aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCWludCBtYWosIGludCBtaW4pOworCit2b2lkIG12Nzh4eDBfZWhjaTBfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9laGNpMV9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX2VoY2kyX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfZ2UwMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG12Nzh4eDBfZ2UwMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG12Nzh4eDBfZ2UxMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG12Nzh4eDBfZ2UxMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG12Nzh4eDBfcGNpZV9pbml0KGludCBpbml0X3BvcnQwLCBpbnQgaW5pdF9wb3J0MSk7Cit2b2lkIG12Nzh4eDBfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Cit2b2lkIG12Nzh4eDBfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF91YXJ0MV9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX3VhcnQyX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfdWFydDNfaW5pdCh2b2lkKTsKKworZXh0ZXJuIHN0cnVjdCBzeXNfdGltZXIgbXY3OHh4MF90aW1lcjsKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9kYjc4eDAwLWJwLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvZGI3OHgwMC1icC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOTNkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvZGI3OHgwMC1icC1zZXR1cC5jCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW12Nzh4eDAvZGI3OHgwMC1icC1zZXR1cC5jCisgKgorICogTWFydmVsbCBEQi03OHgwMC1CUCBEZXZlbG9wbWVudCBCb2FyZCBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkYjc4eDAwX2dlMDBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSA4LAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGRiNzh4MDBfZ2UwMV9kYXRhID0geworCS5waHlfYWRkcgk9IDksCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI3OHgwMF9nZTEwX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI3OHgwMF9nZTExX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBkYjc4eDAwX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZGI3OHgwMF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBCYXNpYyBNVjc4eHgwIHNldHVwLiBOZWVkcyB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJbXY3OHh4MF9pbml0KCk7CisKKwkvKgorCSAqIFBhcnRpdGlvbiBvbi1jaGlwIHBlcmlwaGVyYWxzIGJldHdlZW4gdGhlIHR3byBDUFUgY29yZXMuCisJICovCisJaWYgKG12Nzh4eDBfY29yZV9pbmRleCgpID09IDApIHsKKwkJbXY3OHh4MF9laGNpMF9pbml0KCk7CisJCW12Nzh4eDBfZWhjaTFfaW5pdCgpOworCQltdjc4eHgwX2VoY2kyX2luaXQoKTsKKwkJbXY3OHh4MF9nZTAwX2luaXQoJmRiNzh4MDBfZ2UwMF9kYXRhKTsKKwkJbXY3OHh4MF9nZTAxX2luaXQoJmRiNzh4MDBfZ2UwMV9kYXRhKTsKKwkJbXY3OHh4MF9nZTEwX2luaXQoJmRiNzh4MDBfZ2UxMF9kYXRhKTsKKwkJbXY3OHh4MF9nZTExX2luaXQoJmRiNzh4MDBfZ2UxMV9kYXRhKTsKKwkJbXY3OHh4MF9zYXRhX2luaXQoJmRiNzh4MDBfc2F0YV9kYXRhKTsKKwkJbXY3OHh4MF91YXJ0MF9pbml0KCk7CisJCW12Nzh4eDBfdWFydDJfaW5pdCgpOworCX0gZWxzZSB7CisJCW12Nzh4eDBfdWFydDFfaW5pdCgpOworCQltdjc4eHgwX3VhcnQzX2luaXQoKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGRiNzh4MDBfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19kYjc4eDAwX2JwKCkpIHsKKwkJLyoKKwkJICogQXNzaWduIHRoZSB4MTYgUENJZSBzbG90IG9uIHRoZSBib2FyZCB0byBDUFUgY29yZQorCQkgKiAjMCwgYW5kIGxldCBDUFUgY29yZSAjMSBoYXZlIHRoZSBmb3VyIHgxIHNsb3RzLgorCQkgKi8KKwkJaWYgKG12Nzh4eDBfY29yZV9pbmRleCgpID09IDApCisJCQltdjc4eHgwX3BjaWVfaW5pdCgwLCAxKTsKKwkJZWxzZQorCQkJbXY3OHh4MF9wY2llX2luaXQoMSwgMCk7CisJfQorCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwoZGI3OHgwMF9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoREI3OFgwMF9CUCwgIk1hcnZlbGwgREItNzh4MDAtQlAgRGV2ZWxvcG1lbnQgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IExlbm5lcnQgQnV5dGVuaGVrIDxidXl0ZW5oQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSBkYjc4eDAwX2luaXQsCisJLm1hcF9pbwkJPSBtdjc4eHgwX21hcF9pbywKKwkuaW5pdF9pcnEJPSBtdjc4eHgwX2luaXRfaXJxLAorCS50aW1lcgkJPSAmbXY3OHh4MF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvaXJxLmMgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvaXJxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBmNGVlNAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9pcnEuYwpAQCAtMCwwICsxLDIyIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2lycS5jCisgKgorICogTVY3OHh4MCBJUlEgaGFuZGxpbmcuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vaXJxLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3ZvaWQgX19pbml0IG12Nzh4eDBfaW5pdF9pcnEodm9pZCkKK3sKKwlvcmlvbl9pcnFfaW5pdCgwLCAodm9pZCBfX2lvbWVtICopKElSUV9WSVJUX0JBU0UgKyBJUlFfTUFTS19MT1dfT0ZGKSk7CisJb3Jpb25faXJxX2luaXQoMzIsICh2b2lkIF9faW9tZW0gKikoSVJRX1ZJUlRfQkFTRSArIElSUV9NQVNLX0hJR0hfT0ZGKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvcGNpZS5jIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL3BjaWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzhlMTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL3BjaWUuYwpAQCAtMCwwICsxLDMxMiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbXY3OHh4MC9wY2llLmMKKyAqCisgKiBQQ0llIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL3BjaWUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworc3RydWN0IHBjaWVfcG9ydCB7CisJdTgJCQltYWo7CisJdTgJCQltaW47CisJdTgJCQlyb290X2J1c19ucjsKKwl2b2lkIF9faW9tZW0JCSpiYXNlOworCXNwaW5sb2NrX3QJCWNvbmZfbG9jazsKKwljaGFyCQkJaW9fc3BhY2VfbmFtZVsxNl07CisJY2hhcgkJCW1lbV9zcGFjZV9uYW1lWzE2XTsKKwlzdHJ1Y3QgcmVzb3VyY2UJCXJlc1syXTsKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGNpZV9wb3J0IHBjaWVfcG9ydFs4XTsKK3N0YXRpYyBpbnQgbnVtX3BjaWVfcG9ydHM7CitzdGF0aWMgc3RydWN0IHJlc291cmNlIHBjaWVfaW9fc3BhY2U7CitzdGF0aWMgc3RydWN0IHJlc291cmNlIHBjaWVfbWVtX3NwYWNlOworCisKK3N0YXRpYyB2b2lkIF9faW5pdCBtdjc4eHgwX3BjaWVfcHJlaW5pdCh2b2lkKQoreworCWludCBpOworCXUzMiBzaXplX2VhY2g7CisJdTMyIHN0YXJ0OworCWludCB3aW47CisKKwlwY2llX2lvX3NwYWNlLm5hbWUgPSAiUENJZSBJL08gU3BhY2UiOworCXBjaWVfaW9fc3BhY2Uuc3RhcnQgPSBNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKDApOworCXBjaWVfaW9fc3BhY2UuZW5kID0KKwkJTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRSgwKSArIE1WNzhYWDBfUENJRV9JT19TSVpFICogOCAtIDE7CisJcGNpZV9pb19zcGFjZS5mbGFncyA9IElPUkVTT1VSQ0VfSU87CisJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmcGNpZV9pb19zcGFjZSkpCisJCXBhbmljKCJjYW4ndCBhbGxvY2F0ZSBQQ0llIEkvTyBzcGFjZSIpOworCisJcGNpZV9tZW1fc3BhY2UubmFtZSA9ICJQQ0llIE1FTSBTcGFjZSI7CisJcGNpZV9tZW1fc3BhY2Uuc3RhcnQgPSBNVjc4WFgwX1BDSUVfTUVNX1BIWVNfQkFTRTsKKwlwY2llX21lbV9zcGFjZS5lbmQgPQorCQlNVjc4WFgwX1BDSUVfTUVNX1BIWVNfQkFTRSArIE1WNzhYWDBfUENJRV9NRU1fU0laRSAtIDE7CisJcGNpZV9tZW1fc3BhY2UuZmxhZ3MgPSBJT1JFU09VUkNFX01FTTsKKwlpZiAocmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZwY2llX21lbV9zcGFjZSkpCisJCXBhbmljKCJjYW4ndCBhbGxvY2F0ZSBQQ0llIE1FTSBzcGFjZSIpOworCisJZm9yIChpID0gMDsgaSA8IG51bV9wY2llX3BvcnRzOyBpKyspIHsKKwkJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBwY2llX3BvcnQgKyBpOworCisJCXNucHJpbnRmKHBwLT5pb19zcGFjZV9uYW1lLCBzaXplb2YocHAtPmlvX3NwYWNlX25hbWUpLAorCQkJIlBDSWUgJWQuJWQgSS9PIiwgcHAtPm1haiwgcHAtPm1pbik7CisJCXBwLT5pb19zcGFjZV9uYW1lW3NpemVvZihwcC0+aW9fc3BhY2VfbmFtZSkgLSAxXSA9IDA7CisJCXBwLT5yZXNbMF0ubmFtZSA9IHBwLT5pb19zcGFjZV9uYW1lOworCQlwcC0+cmVzWzBdLnN0YXJ0ID0gTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRShpKTsKKwkJcHAtPnJlc1swXS5lbmQgPSBwcC0+cmVzWzBdLnN0YXJ0ICsgTVY3OFhYMF9QQ0lFX0lPX1NJWkUgLSAxOworCQlwcC0+cmVzWzBdLmZsYWdzID0gSU9SRVNPVVJDRV9JTzsKKworCQlzbnByaW50ZihwcC0+bWVtX3NwYWNlX25hbWUsIHNpemVvZihwcC0+bWVtX3NwYWNlX25hbWUpLAorCQkJIlBDSWUgJWQuJWQgTUVNIiwgcHAtPm1haiwgcHAtPm1pbik7CisJCXBwLT5tZW1fc3BhY2VfbmFtZVtzaXplb2YocHAtPm1lbV9zcGFjZV9uYW1lKSAtIDFdID0gMDsKKwkJcHAtPnJlc1sxXS5uYW1lID0gcHAtPm1lbV9zcGFjZV9uYW1lOworCQlwcC0+cmVzWzFdLmZsYWdzID0gSU9SRVNPVVJDRV9NRU07CisJfQorCisJc3dpdGNoIChudW1fcGNpZV9wb3J0cykgeworCWNhc2UgMDoKKwkJc2l6ZV9lYWNoID0gMDsKKwkJYnJlYWs7CisKKwljYXNlIDE6CisJCXNpemVfZWFjaCA9IDB4MzAwMDAwMDA7CisJCWJyZWFrOworCisJY2FzZSAyIC4uLiAzOgorCQlzaXplX2VhY2ggPSAweDEwMDAwMDAwOworCQlicmVhazsKKworCWNhc2UgNCAuLi4gNjoKKwkJc2l6ZV9lYWNoID0gMHgwODAwMDAwMDsKKwkJYnJlYWs7CisKKwljYXNlIDc6CisJCXNpemVfZWFjaCA9IDB4MDQwMDAwMDA7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcGFuaWMoImludmFsaWQgbnVtYmVyIG9mIFBDSWUgcG9ydHMiKTsKKwl9CisKKwlzdGFydCA9IE1WNzhYWDBfUENJRV9NRU1fUEhZU19CQVNFOworCWZvciAoaSA9IDA7IGkgPCBudW1fcGNpZV9wb3J0czsgaSsrKSB7CisJCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gcGNpZV9wb3J0ICsgaTsKKworCQlwcC0+cmVzWzFdLnN0YXJ0ID0gc3RhcnQ7CisJCXBwLT5yZXNbMV0uZW5kID0gc3RhcnQgKyBzaXplX2VhY2ggLSAxOworCQlzdGFydCArPSBzaXplX2VhY2g7CisJfQorCisJZm9yIChpID0gMDsgaSA8IG51bV9wY2llX3BvcnRzOyBpKyspIHsKKwkJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBwY2llX3BvcnQgKyBpOworCisJCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZwY2llX2lvX3NwYWNlLCAmcHAtPnJlc1swXSkpCisJCQlwYW5pYygiY2FuJ3QgYWxsb2NhdGUgUENJZSBJL08gc3ViLXNwYWNlIik7CisKKwkJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJnBjaWVfbWVtX3NwYWNlLCAmcHAtPnJlc1sxXSkpCisJCQlwYW5pYygiY2FuJ3QgYWxsb2NhdGUgUENJZSBNRU0gc3ViLXNwYWNlIik7CisJfQorCisJd2luID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3BjaWVfcG9ydHM7IGkrKykgeworCQlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IHBjaWVfcG9ydCArIGk7CisKKwkJbXY3OHh4MF9zZXR1cF9wY2llX2lvX3dpbih3aW4rKywgcHAtPnJlc1swXS5zdGFydCwKKwkJCXBwLT5yZXNbMF0uZW5kIC0gcHAtPnJlc1swXS5zdGFydCArIDEsCisJCQlwcC0+bWFqLCBwcC0+bWluKTsKKworCQltdjc4eHgwX3NldHVwX3BjaWVfbWVtX3dpbih3aW4rKywgcHAtPnJlc1sxXS5zdGFydCwKKwkJCXBwLT5yZXNbMV0uZW5kIC0gcHAtPnJlc1sxXS5zdGFydCArIDEsCisJCQlwcC0+bWFqLCBwcC0+bWluKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG12Nzh4eDBfcGNpZV9zZXR1cChpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cykKK3sKKwlzdHJ1Y3QgcGNpZV9wb3J0ICpwcDsKKworCWlmIChuciA+PSBudW1fcGNpZV9wb3J0cykKKwkJcmV0dXJuIDA7CisKKwlwcCA9ICZwY2llX3BvcnRbbnJdOworCXBwLT5yb290X2J1c19uciA9IHN5cy0+YnVzbnI7CisKKwkvKgorCSAqIEdlbmVyaWMgUENJZSB1bml0IHNldHVwLgorCSAqLworCW9yaW9uX3BjaWVfc2V0X2xvY2FsX2J1c19ucihwcC0+YmFzZSwgc3lzLT5idXNucik7CisJb3Jpb25fcGNpZV9zZXR1cChwcC0+YmFzZSwgJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8pOworCisJc3lzLT5yZXNvdXJjZVswXSA9ICZwcC0+cmVzWzBdOworCXN5cy0+cmVzb3VyY2VbMV0gPSAmcHAtPnJlc1sxXTsKKwlzeXMtPnJlc291cmNlWzJdID0gTlVMTDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgc3RydWN0IHBjaWVfcG9ydCAqYnVzX3RvX3BvcnQoaW50IGJ1cykKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IG51bV9wY2llX3BvcnRzIC0gMTsgaSA+PSAwOyBpLS0pIHsKKwkJaW50IHJidXMgPSBwY2llX3BvcnRbaV0ucm9vdF9idXNfbnI7CisJCWlmIChyYnVzICE9IC0xICYmIHJidXMgPD0gYnVzKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIGkgPj0gMCA/IHBjaWVfcG9ydCArIGkgOiBOVUxMOworfQorCitzdGF0aWMgaW50IHBjaWVfdmFsaWRfY29uZmlnKHN0cnVjdCBwY2llX3BvcnQgKnBwLCBpbnQgYnVzLCBpbnQgZGV2KQoreworCS8qCisJICogRG9uJ3QgZ28gb3V0IHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyBub25leGlzdGluZyBkZXZpY2VzCisJICogb24gdGhlIGxvY2FsIGJ1cy4KKwkgKi8KKwlpZiAoYnVzID09IHBwLT5yb290X2J1c19uciAmJiBkZXYgPiAxKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHBjaWVfcmRfY29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sIGludCB3aGVyZSwKKwkJCWludCBzaXplLCB1MzIgKnZhbCkKK3sKKwlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IGJ1c190b19wb3J0KGJ1cy0+bnVtYmVyKTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQ7CisKKwlpZiAocGNpZV92YWxpZF9jb25maWcocHAsIGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbikpID09IDApIHsKKwkJKnZhbCA9IDB4ZmZmZmZmZmY7CisJCXJldHVybiBQQ0lCSU9TX0RFVklDRV9OT1RfRk9VTkQ7CisJfQorCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBwLT5jb25mX2xvY2ssIGZsYWdzKTsKKwlyZXQgPSBvcmlvbl9wY2llX3JkX2NvbmYocHAtPmJhc2UsIGJ1cywgZGV2Zm4sIHdoZXJlLCBzaXplLCB2YWwpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBwLT5jb25mX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGNpZV93cl9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKKwkJCWludCB3aGVyZSwgaW50IHNpemUsIHUzMiB2YWwpCit7CisJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBidXNfdG9fcG9ydChidXMtPm51bWJlcik7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0OworCisJaWYgKHBjaWVfdmFsaWRfY29uZmlnKHBwLCBidXMtPm51bWJlciwgUENJX1NMT1QoZGV2Zm4pKSA9PSAwKQorCQlyZXR1cm4gUENJQklPU19ERVZJQ0VfTk9UX0ZPVU5EOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBwLT5jb25mX2xvY2ssIGZsYWdzKTsKKwlyZXQgPSBvcmlvbl9wY2llX3dyX2NvbmYocHAtPmJhc2UsIGJ1cywgZGV2Zm4sIHdoZXJlLCBzaXplLCB2YWwpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBwLT5jb25mX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX29wcyBwY2llX29wcyA9IHsKKwkucmVhZCA9IHBjaWVfcmRfY29uZiwKKwkud3JpdGUgPSBwY2llX3dyX2NvbmYsCit9OworCitzdGF0aWMgdm9pZCBfX2RldmluaXQgcmNfcGNpX2ZpeHVwKHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJLyoKKwkgKiBQcmV2ZW50IGVudW1lcmF0aW9uIG9mIHJvb3QgY29tcGxleC4KKwkgKi8KKwlpZiAoZGV2LT5idXMtPnBhcmVudCA9PSBOVUxMICYmIGRldi0+ZGV2Zm4gPT0gMCkgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgREVWSUNFX0NPVU5UX1JFU09VUkNFOyBpKyspIHsKKwkJCWRldi0+cmVzb3VyY2VbaV0uc3RhcnQgPSAwOworCQkJZGV2LT5yZXNvdXJjZVtpXS5lbmQgICA9IDA7CisJCQlkZXYtPnJlc291cmNlW2ldLmZsYWdzID0gMDsKKwkJfQorCX0KK30KK0RFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX01BUlZFTEwsIFBDSV9BTllfSUQsIHJjX3BjaV9maXh1cCk7CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2J1cyBfX2luaXQgKgorbXY3OHh4MF9wY2llX3NjYW5fYnVzKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKQoreworCXN0cnVjdCBwY2lfYnVzICpidXM7CisKKwlpZiAobnIgPCBudW1fcGNpZV9wb3J0cykgeworCQlidXMgPSBwY2lfc2Nhbl9idXMoc3lzLT5idXNuciwgJnBjaWVfb3BzLCBzeXMpOworCX0gZWxzZSB7CisJCWJ1cyA9IE5VTEw7CisJCUJVRygpOworCX0KKworCXJldHVybiBidXM7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG12Nzh4eDBfcGNpZV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IGJ1c190b19wb3J0KGRldi0+YnVzLT5udW1iZXIpOworCisJcmV0dXJuIElSUV9NVjc4WFgwX1BDSUVfMDAgKyAocHAtPm1haiA8PCAyKSArIHBwLT5taW47Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaHdfcGNpIG12Nzh4eDBfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gOCwKKwkucHJlaW5pdAk9IG12Nzh4eDBfcGNpZV9wcmVpbml0LAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBtdjc4eHgwX3BjaWVfc2V0dXAsCisJLnNjYW4JCT0gbXY3OHh4MF9wY2llX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gbXY3OHh4MF9wY2llX21hcF9pcnEsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgYWRkX3BjaWVfcG9ydChpbnQgbWFqLCBpbnQgbWluLCB1bnNpZ25lZCBsb25nIGJhc2UpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAiTVY3OHh4MCBQQ0llIHBvcnQgJWQuJWQ6ICIsIG1haiwgbWluKTsKKworCWlmIChvcmlvbl9wY2llX2xpbmtfdXAoKHZvaWQgX19pb21lbSAqKWJhc2UpKSB7CisJCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gJnBjaWVfcG9ydFtudW1fcGNpZV9wb3J0cysrXTsKKworCQlwcmludGsoImxpbmsgdXBcbiIpOworCisJCXBwLT5tYWogPSBtYWo7CisJCXBwLT5taW4gPSBtaW47CisJCXBwLT5yb290X2J1c19uciA9IC0xOworCQlwcC0+YmFzZSA9ICh2b2lkIF9faW9tZW0gKiliYXNlOworCQlzcGluX2xvY2tfaW5pdCgmcHAtPmNvbmZfbG9jayk7CisJCW1lbXNldChwcC0+cmVzLCAwLCBzaXplb2YocHAtPnJlcykpOworCX0gZWxzZSB7CisJCXByaW50aygibGluayBkb3duLCBpZ25vcmluZ1xuIik7CisJfQorfQorCit2b2lkIF9faW5pdCBtdjc4eHgwX3BjaWVfaW5pdChpbnQgaW5pdF9wb3J0MCwgaW50IGluaXRfcG9ydDEpCit7CisJaWYgKGluaXRfcG9ydDApIHsKKwkJYWRkX3BjaWVfcG9ydCgwLCAwLCBQQ0lFMDBfVklSVF9CQVNFKTsKKwkJaWYgKCFvcmlvbl9wY2llX3g0X21vZGUoKHZvaWQgX19pb21lbSAqKVBDSUUwMF9WSVJUX0JBU0UpKSB7CisJCQlhZGRfcGNpZV9wb3J0KDAsIDEsIFBDSUUwMV9WSVJUX0JBU0UpOworCQkJYWRkX3BjaWVfcG9ydCgwLCAyLCBQQ0lFMDJfVklSVF9CQVNFKTsKKwkJCWFkZF9wY2llX3BvcnQoMCwgMywgUENJRTAzX1ZJUlRfQkFTRSk7CisJCX0KKwl9CisKKwlpZiAoaW5pdF9wb3J0MSkgeworCQlhZGRfcGNpZV9wb3J0KDEsIDAsIFBDSUUxMF9WSVJUX0JBU0UpOworCQlpZiAoIW9yaW9uX3BjaWVfeDRfbW9kZSgodm9pZCBfX2lvbWVtICopUENJRTEwX1ZJUlRfQkFTRSkpIHsKKwkJCWFkZF9wY2llX3BvcnQoMSwgMSwgUENJRTExX1ZJUlRfQkFTRSk7CisJCQlhZGRfcGNpZV9wb3J0KDEsIDIsIFBDSUUxMl9WSVJUX0JBU0UpOworCQkJYWRkX3BjaWVfcG9ydCgxLCAzLCBQQ0lFMTNfVklSVF9CQVNFKTsKKwkJfQorCX0KKworCXBjaV9jb21tb25faW5pdCgmbXY3OHh4MF9wY2kpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtbXgyL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVhYTk3YwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL0tjb25maWcKQEAgLTAsMCArMSwzOSBAQAorY29tbWVudCAiTVgyIGZhbWlseSBDUFUgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSQ0hfTVgyCisKK2NvbmZpZyBNQUNIX01YMjcKKwlib29sICJpLk1YMjcgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSQ0hfTVgyCisJaGVscAorCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIEZyZWVzY2FsZSdzIE1YMiBiYXNlZCBpLk1YMjcgcHJvY2Vzc29yLgorCitjb21tZW50ICJNWDIgUGxhdGZvcm1zIgorCWRlcGVuZHMgb24gQVJDSF9NWDIKKworY29uZmlnIE1BQ0hfTVgyN0FEUworCWJvb2wgIk1YMjdBRFMgcGxhdGZvcm0iCisJZGVwZW5kcyBvbiBNQUNIX01YMjcKKwloZWxwCisJICBJbmNsdWRlIHN1cHBvcnQgZm9yIE1YMjdBRFMgcGxhdGZvcm0uIFRoaXMgaW5jbHVkZXMgc3BlY2lmaWMKKwkgIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgYm9hcmQgYW5kIGl0cyBwZXJpcGhlcmFscy4KKworY29uZmlnIE1BQ0hfUENNMDM4CisJYm9vbCAiUGh5dGVjIHBoeUNPUkUtaS5NWDI3IENQVSBtb2R1bGUgKHBjbTAzOCkiCisJZGVwZW5kcyBvbiBNQUNIX01YMjcKKwloZWxwCisJICBJbmNsdWRlIHN1cHBvcnQgZm9yIHBoeUNPUkUtaS5NWDI3IChha2EgcGNtMDM4KSBwbGF0Zm9ybS4gVGhpcworCSAgaW5jbHVkZXMgc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBtb2R1bGUgYW5kIGl0cyBwZXJpcGhlcmFscy4KKworY2hvaWNlCisJcHJvbXB0ICJCYXNlYm9hcmQiCisJZGVwZW5kcyBvbiBNQUNIX1BDTTAzOAorCWRlZmF1bHQgTUFDSF9QQ005NzBfQkFTRUJPQVJECisKK2NvbmZpZyBNQUNIX1BDTTk3MF9CQVNFQk9BUkQKKwlwcm9tcHQgIlBIWVRFQyBQQ005NzAgZGV2ZWxvcG1lbnQgYm9hcmQiCisJYm9vbAorCWhlbHAKKwkgIFRoaXMgYWRkcyBib2FyZCBzcGVjaWZpYyBkZXZpY2VzIHRoYXQgY2FuIGJlIGZvdW5kIG9uIFBoeXRlYydzCisJICBQQ005NzAgZXZhbHVhdGlvbiBib2FyZC4KKworZW5kY2hvaWNlCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4MmQ4NjAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZQpAQCAtMCwwICsxLDE0IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgbGludXgga2VybmVsLgorIworCisjIE9iamVjdCBmaWxlIGxpc3RzLgorCitvYmoteQk6PSAgc3lzdGVtLm8gZ2VuZXJpYy5vIGRldmljZXMubyBzZXJpYWwubworCitvYmotJChDT05GSUdfTUFDSF9NWDI3KSArPSBjcHVfaW14Mjcubworb2JqLSQoQ09ORklHX01BQ0hfTVgyNykgKz0gY2xvY2tfaW14MjcubworCitvYmotJChDT05GSUdfTUFDSF9NWDI3QURTKSArPSBteDI3YWRzLm8KK29iai0kKENPTkZJR19NQUNIX1BDTTAzOCkgKz0gcGNtMDM4Lm8KK29iai0kKENPTkZJR19NQUNIX1BDTTk3MF9CQVNFQk9BUkQpICs9IHBjbTk3MC1iYXNlYm9hcmQubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUuYm9vdCBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlLmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk2ODMxZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlLmJvb3QKQEAgLTAsMCArMSwzIEBACisgICB6cmVsYWRkci15CTo9IDB4QTAwMDgwMDAKK3BhcmFtc19waHlzLXkJOj0gMHhBMDAwMDEwMAoraW5pdHJkX3BoeXMteQk6PSAweEEwODAwMDAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jbG9ja19pbXgyNy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvY2xvY2tfaW14MjcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTI5ZWYyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvY2xvY2tfaW14MjcuYwpAQCAtMCwwICsxLDE2MjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisKKyNpbmNsdWRlICJjcm1fcmVncy5oIgorCitzdGF0aWMgc3RydWN0IGNsayBja2lsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1wbGxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgbXBsbF9tYWluX2Nsa1tdOworc3RhdGljIHN0cnVjdCBjbGsgc3BsbF9jbGs7CisKK3N0YXRpYyBpbnQgX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgfD0gMSA8PCBjbGstPmVuYWJsZV9zaGlmdDsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyAmPSB+KDEgPDwgY2xrLT5lbmFibGVfc2hpZnQpOworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19zcGxsX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fQ1NDUik7CisJcmVnIHw9IENDTV9DU0NSX1NQRU47CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX0NTQ1IpOworCisJd2hpbGUgKChfX3Jhd19yZWFkbChDQ01fU1BDVEwxKSAmIENDTV9TUENUTDFfTEYpID09IDApCisJCTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NwbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fQ1NDUik7CisJcmVnICY9IH5DQ01fQ1NDUl9TUEVOOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9DU0NSKTsKK30KKworc3RhdGljIHZvaWQgX2Nsa19wY2NyMDFfZW5hYmxlKHVuc2lnbmVkIGxvbmcgbWFzazAsIHVuc2lnbmVkIGxvbmcgbWFzazEpCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyB8PSBtYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgfD0gbWFzazE7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKKworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IwMV9kaXNhYmxlKHVuc2lnbmVkIGxvbmcgbWFzazAsIHVuc2lnbmVkIGxvbmcgbWFzazEpCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyAmPSB+bWFzazA7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IwKTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnICY9IH5tYXNrMTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IxMF9lbmFibGUodW5zaWduZWQgbG9uZyBtYXNrMSwgdW5zaWduZWQgbG9uZyBtYXNrMCkKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnIHw9IG1hc2sxOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMSk7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyB8PSBtYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IxMF9kaXNhYmxlKHVuc2lnbmVkIGxvbmcgbWFzazEsIHVuc2lnbmVkIGxvbmcgbWFzazApCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjEpOworCXJlZyAmPSB+bWFzazE7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMCk7CisJcmVnICY9IH5tYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworfQorCitzdGF0aWMgaW50IF9jbGtfZG1hX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9ETUFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRE1BX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZG1hX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX0RNQV9NQVNLLCBDQ01fUENDUjFfSENMS19ETUFfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19ydGljX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9SVElDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1JUSUNfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19ydGljX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX1JUSUNfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfUlRJQ19NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX2VtbWFfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX0VNTUFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRU1NQV9NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2VtbWFfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfRU1NQV9NQVNLLCBDQ01fUENDUjFfSENMS19FTU1BX01BU0spOworfQorCitzdGF0aWMgaW50IF9jbGtfc2xjZGNfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX1NMQ0RDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NMQ0RDX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfc2xjZGNfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfU0xDRENfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfU0xDRENfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19mZWNfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX0ZFQ19NQVNLLCBDQ01fUENDUjFfSENMS19GRUNfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19mZWNfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfRkVDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX0ZFQ19NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX3ZwdV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgfD0gQ0NNX1BDQ1IxX1ZQVV9CQVVEX01BU0sgfCBDQ01fUENDUjFfSENMS19WUFVfTUFTSzsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfdnB1X2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgJj0gfihDQ01fUENDUjFfVlBVX0JBVURfTUFTSyB8IENDTV9QQ0NSMV9IQ0xLX1ZQVV9NQVNLKTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworfQorCitzdGF0aWMgaW50IF9jbGtfc2FoYXJhMl9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2VuYWJsZShDQ01fUENDUjBfU0FIQVJBX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NhaGFyYTJfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfU0FIQVJBX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX21zdGljazFfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IxMF9lbmFibGUoQ0NNX1BDQ1IxX01TSENfQkFVRF9NQVNLLCBDQ01fUENDUjBfTVNIQ19NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX21zdGljazFfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMTBfZGlzYWJsZShDQ01fUENDUjFfTVNIQ19CQVVEX01BU0ssIENDTV9QQ0NSMF9NU0hDX01BU0spOworfQorCisjZGVmaW5lIENTQ1IoKSAoX19yYXdfcmVhZGwoQ0NNX0NTQ1IpKQorI2RlZmluZSBQQ0RSMCgpIChfX3Jhd19yZWFkbChDQ01fUENEUjApKQorI2RlZmluZSBQQ0RSMSgpIChfX3Jhd19yZWFkbChDQ01fUENEUjEpKQorCitzdGF0aWMgaW50IF9jbGtfY3B1X3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJaW50IGNzY3IgPSBDU0NSKCk7CisKKwlpZiAoY2xrLT5wYXJlbnQgPT0gcGFyZW50KQorCQlyZXR1cm4gMDsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCWlmIChwYXJlbnQgPT0gJm1wbGxfbWFpbl9jbGtbMF0pIHsKKwkJCWNzY3IgfD0gQ0NNX0NTQ1JfQVJNX1NSQzsKKwkJfSBlbHNlIHsKKwkJCWlmIChwYXJlbnQgPT0gJm1wbGxfbWFpbl9jbGtbMV0pCisJCQkJY3NjciAmPSB+Q0NNX0NTQ1JfQVJNX1NSQzsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQlfX3Jhd193cml0ZWwoY3NjciwgQ0NNX0NTQ1IpOworCX0gZWxzZQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNsay0+cGFyZW50ID0gcGFyZW50OworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NwdV9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWludCBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAocGFyZW50X3JhdGUgJSByYXRlKQorCQlkaXYrKzsKKworCWlmIChkaXYgPiA0KQorCQlkaXYgPSA0OworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gZGl2OworfQorCitzdGF0aWMgaW50IF9jbGtfY3B1X3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXVuc2lnbmVkIGludCBkaXY7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnRfcmF0ZSAvIHJhdGU7CisKKwlpZiAoZGl2ID4gNCB8fCBkaXYgPCAxIHx8ICgocGFyZW50X3JhdGUgLyBkaXYpICE9IHJhdGUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpdi0tOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX0NTQ1IpOworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXJlZyAmPSB+Q0NNX0NTQ1JfQVJNX01BU0s7CisJCXJlZyB8PSBkaXYgPDwgQ0NNX0NTQ1JfQVJNX09GRlNFVDsKKwkJcmVnICY9IH4weDA2OworCQlfX3Jhd193cml0ZWwocmVnIHwgMHg4MDAwMDAwMCwgQ0NNX0NTQ1IpOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ2FudCBzZXQgQ1BVIGZyZXF1ZW5jeSFcbiIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3BlcmNsa3hfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssCisJCQkJCSAgICAgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAocGFyZW50X3JhdGUgJSByYXRlKQorCQlkaXYrKzsKKworCWlmIChkaXYgPiA2NCkKKwkJZGl2ID0gNjQ7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19wZXJjbGt4X3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWc7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJaWYgKGNsay0+aWQgPCAwIHx8IGNsay0+aWQgPiAzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAoZGl2ID4gNjQgfHwgZGl2IDwgMSB8fCAoKHBhcmVudF9yYXRlIC8gZGl2KSAhPSByYXRlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZGl2LS07CisKKwlyZWcgPQorCSAgICBfX3Jhd19yZWFkbChDQ01fUENEUjEpICYgfihDQ01fUENEUjFfUEVSRElWMV9NQVNLIDw8CisJCQkJICAgICAgIChjbGstPmlkIDw8IDMpKTsKKwlyZWcgfD0gZGl2IDw8IChjbGstPmlkIDw8IDMpOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0RSMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa191c2JfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVzYl9wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXVzYl9wZGYgPSAoQ1NDUigpICYgQ0NNX0NTQ1JfVVNCX01BU0spID4+IENDTV9DU0NSX1VTQl9PRkZTRVQ7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyAodXNiX3BkZiArIDFVKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kxX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBzc2kxX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJc3NpMV9wZGYgPSAoUENEUjAoKSAmIENDTV9QQ0RSMF9TU0kxQkFVRERJVl9NQVNLKSA+PgorCQkJCQlDQ01fUENEUjBfU1NJMUJBVURESVZfT0ZGU0VUOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCXNzaTFfcGRmICs9IDQ7CisJZWxzZQorCQlzc2kxX3BkZiA9IChzc2kxX3BkZiA8IDIpID8gMTI0VUwgOiBzc2kxX3BkZjsKKworCXJldHVybiAyVUwgKiBwYXJlbnRfcmF0ZSAvIHNzaTFfcGRmOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3NzaTJfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTJfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlzc2kyX3BkZiA9IChQQ0RSMCgpICYgQ0NNX1BDRFIwX1NTSTJCQVVERElWX01BU0spID4+CisJICAgIENDTV9QQ0RSMF9TU0kyQkFVRERJVl9PRkZTRVQ7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkKKwkJc3NpMl9wZGYgKz0gNDsKKwllbHNlCisJCXNzaTJfcGRmID0gKHNzaTJfcGRmIDwgMikgPyAxMjRVTCA6IHNzaTJfcGRmOworCisJcmV0dXJuIDJVTCAqIHBhcmVudF9yYXRlIC8gc3NpMl9wZGY7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbmZjX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBuZmNfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkgeworCQluZmNfcGRmID0KKwkJICAgIChQQ0RSMCgpICYgQ0NNX1BDRFIwX05GQ0RJVjJfTUFTSykgPj4KKwkJICAgIENDTV9QQ0RSMF9ORkNESVYyX09GRlNFVDsKKwl9IGVsc2UgeworCQluZmNfcGRmID0KKwkJICAgIChQQ0RSMCgpICYgQ0NNX1BDRFIwX05GQ0RJVl9NQVNLKSA+PgorCQkgICAgQ0NNX1BDRFIwX05GQ0RJVl9PRkZTRVQ7CisJfQorCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gKG5mY19wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa192cHVfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHZwdV9wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXZwdV9wZGYgPQorCQkgICAgKFBDRFIwKCkgJiBDQ01fUENEUjBfVlBVRElWMl9NQVNLKSA+PgorCQkgICAgQ0NNX1BDRFIwX1ZQVURJVjJfT0ZGU0VUOworCQl2cHVfcGRmICs9IDQ7CisJfSBlbHNlIHsKKwkJdnB1X3BkZiA9CisJCSAgICAoUENEUjAoKSAmIENDTV9QQ0RSMF9WUFVESVZfTUFTSykgPj4KKwkJICAgIENDTV9QQ0RSMF9WUFVESVZfT0ZGU0VUOworCQl2cHVfcGRmID0gKHZwdV9wZGYgPCAyKSA/IDEyNCA6IHZwdV9wZGY7CisJfQorCXJldHVybiAyVUwgKiBwYXJlbnRfcmF0ZSAvIHZwdV9wZGY7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGFyZW50X3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJcmV0dXJuIGNsay0+cGFyZW50LT5yb3VuZF9yYXRlKGNsay0+cGFyZW50LCByYXRlKTsKK30KKworc3RhdGljIGludCBfY2xrX3BhcmVudF9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwlyZXR1cm4gY2xrLT5wYXJlbnQtPnNldF9yYXRlKGNsay0+cGFyZW50LCByYXRlKTsKK30KKworLyogaW4gSHogKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGV4dGVybmFsX2hpZ2hfcmVmZXJlbmNlID0gMjYwMDAwMDA7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9oaWdoX3JlZmVyZW5jZV9jbG9ja19yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gZXh0ZXJuYWxfaGlnaF9yZWZlcmVuY2U7Cit9CisKKy8qCisgKiB0aGUgaGlnaCBmcmVxdWVuY3kgZXh0ZXJuYWwgY2xvY2sgcmVmZXJlbmNlCisgKiBEZWZhdWx0IGNhc2UgaXMgMjZNSHouIENvdWxkIGJlIGNoYW5nZWQgYXQgcnVudGltZQorICogd2l0aCBhIGNhbGwgdG8gY2hhbmdlX2V4dGVybmFsX2hpZ2hfcmVmZXJlbmNlKCkKKyAqLworc3RhdGljIHN0cnVjdCBjbGsgY2tpaF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpaCIsCisJLmdldF9yYXRlID0gZ2V0X2hpZ2hfcmVmZXJlbmNlX2Nsb2NrX3JhdGUsCit9OworCisvKiBpbiBIeiAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgZXh0ZXJuYWxfbG93X3JlZmVyZW5jZSA9IDMyNzY4OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfbG93X3JlZmVyZW5jZV9jbG9ja19yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gZXh0ZXJuYWxfbG93X3JlZmVyZW5jZTsKK30KKworLyoKKyAqIHRoZSBsb3cgZnJlcXVlbmN5IGV4dGVybmFsIGNsb2NrIHJlZmVyZW5jZQorICogRGVmYXVsdCBjYXNlIGlzIDMyLjc2OGtIeiBDb3VsZCBiZSBjaGFuZ2VkIGF0IHJ1bnRpbWUKKyAqIHdpdGggYSBjYWxsIHRvIGNoYW5nZV9leHRlcm5hbF9sb3dfcmVmZXJlbmNlKCkKKyAqLworc3RhdGljIHN0cnVjdCBjbGsgY2tpbF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpbCIsCisJLmdldF9yYXRlID0gZ2V0X2xvd19yZWZlcmVuY2VfY2xvY2tfcmF0ZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9tcGxsX2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcmVmX2NsazsKKwl1bnNpZ25lZCBsb25nIG1maSA9IDAsIG1mbiA9IDAsIG1mZCA9IDAsIHBkZiA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIHRlbXA7CisKKwlyZWZfY2xrID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9NUENUTDApOworCXBkZiA9IChyZWcgJiBDQ01fTVBDVEwwX1BEX01BU0spID4+IENDTV9NUENUTDBfUERfT0ZGU0VUOworCW1mZCA9IChyZWcgJiBDQ01fTVBDVEwwX01GRF9NQVNLKSA+PiBDQ01fTVBDVEwwX01GRF9PRkZTRVQ7CisJbWZpID0gKHJlZyAmIENDTV9NUENUTDBfTUZJX01BU0spID4+IENDTV9NUENUTDBfTUZJX09GRlNFVDsKKwltZm4gPSAocmVnICYgQ0NNX01QQ1RMMF9NRk5fTUFTSykgPj4gQ0NNX01QQ1RMMF9NRk5fT0ZGU0VUOworCisJbWZpID0gKG1maSA8PSA1KSA/IDUgOiBtZmk7CisJdGVtcCA9IDJMTCAqIHJlZl9jbGsgKiBtZm47CisJZG9fZGl2KHRlbXAsIG1mZCArIDEpOworCXRlbXAgPSAyTEwgKiByZWZfY2xrICogbWZpICsgdGVtcDsKKwlkb19kaXYodGVtcCwgcGRmICsgMSk7CisKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpdGVtcDsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgbXBsbF9jbGsgPSB7CisJLm5hbWUgPSAibXBsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuZ2V0X3JhdGUgPSBnZXRfbXBsbF9jbGssCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX21wbGxfbWFpbl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCS8qIGkuTVgyNyBUTzI6CisJICogY2xrLT5pZCA9PSAwOiBhcm0gY2xvY2sgc291cmNlIHBhdGggMSB3aGljaCBpcyBmcm9tIDIqTVBMTC9ESVZfMgorCSAqIGNsay0+aWQgPT0gMTogYXJtIGNsb2NrIHNvdXJjZSBwYXRoIDIgd2hpY2ggaXMgZnJvbSAyKk1QTEwvRElWXzMKKwkgKi8KKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wICYmIGNsay0+aWQgPT0gMSkKKwkJcmV0dXJuIDJVTCAqIHBhcmVudF9yYXRlIC8gM1VMOworCisJcmV0dXJuIHBhcmVudF9yYXRlOworfQorCitzdGF0aWMgc3RydWN0IGNsayBtcGxsX21haW5fY2xrW10gPSB7CisJeworCQkvKiBGb3IgaS5NWDI3IFRPMiwgaXQgaXMgdGhlIE1QTEwgcGF0aCAxIG9mIEFSTSBjb3JlCisJCSAqIEl0IHByb3ZpZGUgdGhlIGNsb2NrIHNvdXJjZSB3aG9zZSByYXRlIGlzIHNhbWUgYXMgTVBMTAorCQkgKi8KKwkJLm5hbWUgPSAibXBsbF9tYWluIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZtcGxsX2NsaywKKwkJLmdldF9yYXRlID0gX2Nsa19tcGxsX21haW5fZ2V0X3JhdGUKKwl9LCB7CisJCS8qIEZvciBpLk1YMjcgVE8yLCBpdCBpcyB0aGUgTVBMTCBwYXRoIDIgb2YgQVJNIGNvcmUKKwkJICogSXQgcHJvdmlkZSB0aGUgY2xvY2sgc291cmNlIHdob3NlIHJhdGUgaXMgc2FtZSBNUExMICogMi8zCisJCSAqLworCQkubmFtZSA9ICJtcGxsX21haW4iLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJm1wbGxfY2xrLAorCQkuZ2V0X3JhdGUgPSBfY2xrX21wbGxfbWFpbl9nZXRfcmF0ZQorCX0KK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9zcGxsX2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcmVmX2NsazsKKwl1bnNpZ25lZCBsb25nIG1maSA9IDAsIG1mbiA9IDAsIG1mZCA9IDAsIHBkZiA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIHRlbXA7CisKKwlyZWZfY2xrID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9TUENUTDApOworCS8qVE9ETzogVGhpcyBpcyBUTzIgQnVnICovCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCV9fcmF3X3dyaXRlbChyZWcsIENDTV9TUENUTDApOworCisJcGRmID0gKHJlZyAmIENDTV9TUENUTDBfUERfTUFTSykgPj4gQ0NNX1NQQ1RMMF9QRF9PRkZTRVQ7CisJbWZkID0gKHJlZyAmIENDTV9TUENUTDBfTUZEX01BU0spID4+IENDTV9TUENUTDBfTUZEX09GRlNFVDsKKwltZmkgPSAocmVnICYgQ0NNX1NQQ1RMMF9NRklfTUFTSykgPj4gQ0NNX1NQQ1RMMF9NRklfT0ZGU0VUOworCW1mbiA9IChyZWcgJiBDQ01fU1BDVEwwX01GTl9NQVNLKSA+PiBDQ01fU1BDVEwwX01GTl9PRkZTRVQ7CisKKwltZmkgPSAobWZpIDw9IDUpID8gNSA6IG1maTsKKwl0ZW1wID0gMkxMICogcmVmX2NsayAqIG1mbjsKKwlkb19kaXYodGVtcCwgbWZkICsgMSk7CisJdGVtcCA9IDJMTCAqIHJlZl9jbGsgKiBtZmkgKyB0ZW1wOworCWRvX2Rpdih0ZW1wLCBwZGYgKyAxKTsKKworCXJldHVybiAodW5zaWduZWQgbG9uZyl0ZW1wOworfQorCitzdGF0aWMgc3RydWN0IGNsayBzcGxsX2NsayA9IHsKKwkubmFtZSA9ICJzcGxsIiwKKwkucGFyZW50ID0gJmNraWhfY2xrLAorCS5nZXRfcmF0ZSA9IGdldF9zcGxsX2NsaywKKwkuZW5hYmxlID0gX2Nsa19zcGxsX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfc3BsbF9kaXNhYmxlLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2NwdV9jbGsoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyByYXRlOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCWRpdiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9BUk1fTUFTSykgPj4gQ0NNX0NTQ1JfQVJNX09GRlNFVDsKKwllbHNlCisJCWRpdiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9QUkVTQ19NQVNLKSA+PiBDQ01fQ1NDUl9QUkVTQ19PRkZTRVQ7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwlyZXR1cm4gcmF0ZSAvIChkaXYgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY3B1X2NsayA9IHsKKwkubmFtZSA9ICJjcHVfY2xrIiwKKwkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJLnNldF9wYXJlbnQgPSBfY2xrX2NwdV9zZXRfcGFyZW50LAorCS5yb3VuZF9yYXRlID0gX2Nsa19jcHVfcm91bmRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBnZXRfY3B1X2NsaywKKwkuc2V0X3JhdGUgPSBfY2xrX2NwdV9zZXRfcmF0ZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9haGJfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisJdW5zaWduZWQgbG9uZyBiY2xrX3BkZjsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKQorCQliY2xrX3BkZiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9BSEJfTUFTSykKKwkJCQkJPj4gQ0NNX0NTQ1JfQUhCX09GRlNFVDsKKwllbHNlCisJCWJjbGtfcGRmID0gKENTQ1IoKSAmIENDTV9DU0NSX0JDTEtfTUFTSykKKwkJCQkJPj4gQ0NNX0NTQ1JfQkNMS19PRkZTRVQ7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwlyZXR1cm4gcmF0ZSAvIChiY2xrX3BkZiArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBhaGJfY2xrID0geworCS5uYW1lID0gImFoYl9jbGsiLAorCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkuZ2V0X3JhdGUgPSBnZXRfYWhiX2NsaywKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9pcGdfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisJdW5zaWduZWQgbG9uZyBpcGdfcGRmOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCWVsc2UKKwkJaXBnX3BkZiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9JUERJVikgPj4gQ0NNX0NTQ1JfSVBESVZfT0ZGU0VUOworCisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJcmV0dXJuIHJhdGUgLyAoaXBnX3BkZiArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBpcGdfY2xrID0geworCS5uYW1lID0gImlwZ19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZ2V0X3JhdGUgPSBnZXRfaXBnX2NsaywKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGVyY2xreF9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcGVyY2xrX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJaWYgKGNsay0+aWQgPCAwIHx8IGNsay0+aWQgPiAzKQorCQlyZXR1cm4gMDsKKworCXBlcmNsa19wZGYgPSAoUENEUjEoKSA+PiAoY2xrLT5pZCA8PCAzKSkgJiBDQ01fUENEUjFfUEVSRElWMV9NQVNLOworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gKHBlcmNsa19wZGYgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgcGVyX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAicGVyX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLmdldF9yYXRlID0gX2Nsa19wZXJjbGt4X3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9QRVJDTEsxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJwZXJfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1BFUkNMSzJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInBlcl9jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wZXJjbGt4X3JvdW5kX3JhdGUsCisJCS5zZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9zZXRfcmF0ZSwKKwkJLmdldF9yYXRlID0gX2Nsa19wZXJjbGt4X3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9QRVJDTEszX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJwZXJfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkucm91bmRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yb3VuZF9yYXRlLAorCQkuc2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfc2V0X3JhdGUsCisJCS5nZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfUEVSQ0xLNF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDFfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0Ml9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0M19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQ0X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSAzLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDRfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQ0X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDVfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDQsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0NV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSA0LAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDVfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0Nl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gNSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQ2X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDUsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUNl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDFfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0Ml9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0Ml9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQyX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDNfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDNfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQ0X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDMsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQ0X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDRfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0NV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSA0LAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0NV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDQsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQ1X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDZfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gNSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDZfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSA1LAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUNl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBwd21fY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJwd21fY2xrIiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnB3bV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJwd21fY2xrIiwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1BXTV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjMV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjMl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMyX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjM19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpMV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpMl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkyX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpM19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBsY2RjX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAibGNkY19jbGsiLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMl0sCisJCS5zZWNvbmRhcnkgPSAmbGNkY19jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wYXJlbnRfcm91bmRfcmF0ZSwKKwkJLnNldF9yYXRlID0gX2Nsa19wYXJlbnRfc2V0X3JhdGUsCisJfSwgeworCQkubmFtZSA9ICJsY2RjX2lwZ19jbGsiLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5zZWNvbmRhcnkgPSAmbGNkY19jbGtbMl0sCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfTENEQ19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAibGNkY19haGJfY2xrIiwKKwkJLnBhcmVudCA9ICZhaGJfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX0hDTEtfTENEQ19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc2lfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJjc2lfcGVyY2xrIiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzNdLAorCQkuc2Vjb25kYXJ5ID0gJmNzaV9jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wYXJlbnRfcm91bmRfcmF0ZSwKKwkJLnNldF9yYXRlID0gX2Nsa19wYXJlbnRfc2V0X3JhdGUsCisJfSwgeworCQkubmFtZSA9ICJjc2lfYWhiX2NsayIsCisJCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0NTSV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayB1c2JfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1c2JfY2xrIiwKKwkJLnBhcmVudCA9ICZzcGxsX2NsaywKKwkJLmdldF9yYXRlID0gX2Nsa191c2JfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VTQk9UR19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAidXNiX2FoYl9jbGsiLAorCQkucGFyZW50ID0gJmFoYl9jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19VU0JPVEdfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGNsayBzc2kxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAic3NpX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZzc2kxX2Nsa1sxXSwKKwkJLmdldF9yYXRlID0gX2Nsa19zc2kxX3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9TU0kxX0JBVURfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInNzaV9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NTSTFfSVBHX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNzaTJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJzc2lfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNzaTJfY2xrWzFdLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3NzaTJfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1NTSTJfQkFVRF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAic3NpX2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfU1NJMl9JUEdfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbmZjX2NsayA9IHsKKwkubmFtZSA9ICJuZmNfY2xrIiwKKwkucGFyZW50ID0gJmNwdV9jbGssCisJLmdldF9yYXRlID0gX2Nsa19uZmNfcmVjYWxjLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX05GQ19CQVVEX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHZwdV9jbGsgPSB7CisJLm5hbWUgPSAidnB1X2NsayIsCisJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCS5nZXRfcmF0ZSA9IF9jbGtfdnB1X3JlY2FsYywKKwkuZW5hYmxlID0gX2Nsa192cHVfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa192cHVfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGRtYV9jbGsgPSB7CisJLm5hbWUgPSAiZG1hX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2RtYV9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2RtYV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcnRpY19jbGsgPSB7CisJLm5hbWUgPSAicnRpY19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19ydGljX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfcnRpY19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgYnJvbV9jbGsgPSB7CisJLm5hbWUgPSAiYnJvbV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0JST01fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZW1tYV9jbGsgPSB7CisJLm5hbWUgPSAiZW1tYV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbW1hX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfZW1tYV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2xjZGNfY2xrID0geworCS5uYW1lID0gInNsY2RjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX3NsY2RjX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfc2xjZGNfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGZlY19jbGsgPSB7CisJLm5hbWUgPSAiZmVjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2ZlY19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2ZlY19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZW1pX2NsayA9IHsKKwkubmFtZSA9ICJlbWlfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19FTUlfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2FoYXJhMl9jbGsgPSB7CisJLm5hbWUgPSAic2FoYXJhX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX3NhaGFyYTJfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19zYWhhcmEyX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBhdGFfY2xrID0geworCS5uYW1lID0gImF0YV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0FUQV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBtc3RpY2sxX2NsayA9IHsKKwkubmFtZSA9ICJtc3RpY2sxX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX21zdGljazFfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19tc3RpY2sxX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB3ZG9nX2NsayA9IHsKKwkubmFtZSA9ICJ3ZG9nX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1dEVF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncGlvX2NsayA9IHsKKwkubmFtZSA9ICJncGlvX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQSU9fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaTJjX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiaTJjX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9JMkMxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJpMmNfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0kyQzJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaWltX2NsayA9IHsKKwkubmFtZSA9ICJpaW1fY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfSUlNX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGtwcF9jbGsgPSB7CisJLm5hbWUgPSAia3BwX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0tQUF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBvd2lyZV9jbGsgPSB7CisJLm5hbWUgPSAib3dpcmVfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfT1dJUkVfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcnRjX2NsayA9IHsKKwkubmFtZSA9ICJydGNfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfUlRDX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNjY19jbGsgPSB7CisJLm5hbWUgPSAic2NjX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NDQ19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2Nsa29fcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCWlmIChwYXJlbnRfcmF0ZSAlIHJhdGUpCisJCWRpdisrOworCisJaWYgKGRpdiA+IDgpCisJCWRpdiA9IDg7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWc7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCisJaWYgKGRpdiA+IDggfHwgZGl2IDwgMSB8fCAoKHBhcmVudF9yYXRlIC8gZGl2KSAhPSByYXRlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZGl2LS07CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENEUjApICYgfkNDTV9QQ0RSMF9DTEtPRElWX01BU0s7CisJcmVnIHw9IGRpdiA8PCBDQ01fUENEUjBfQ0xLT0RJVl9PRkZTRVQ7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDRFIwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2Nsa29fcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBfX3Jhd19yZWFkbChDQ01fUENEUjApICYgQ0NNX1BDRFIwX0NMS09ESVZfTUFTSyA+PgorCQlDQ01fUENEUjBfQ0xLT0RJVl9PRkZTRVQ7CisJZGl2Kys7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9DQ1NSKSAmIH5DQ01fQ0NTUl9DTEtPU0VMX01BU0s7CisKKwlpZiAocGFyZW50ID09ICZja2lsX2NsaykKKwkJcmVnIHw9IDAgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZja2loX2NsaykKKwkJcmVnIHw9IDIgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IG1wbGxfY2xrLnBhcmVudCkKKwkJcmVnIHw9IDMgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IHNwbGxfY2xrLnBhcmVudCkKKwkJcmVnIHw9IDQgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZtcGxsX2NsaykKKwkJcmVnIHw9IDUgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZzcGxsX2NsaykKKwkJcmVnIHw9IDYgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZjcHVfY2xrKQorCQlyZWcgfD0gNyA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmFoYl9jbGspCisJCXJlZyB8PSA4IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmaXBnX2NsaykKKwkJcmVnIHw9IDkgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZwZXJfY2xrWzBdKQorCQlyZWcgfD0gMHhBIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmcGVyX2Nsa1sxXSkKKwkJcmVnIHw9IDB4QiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnBlcl9jbGtbMl0pCisJCXJlZyB8PSAweEMgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZwZXJfY2xrWzNdKQorCQlyZWcgfD0gMHhEIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmc3NpMV9jbGtbMF0pCisJCXJlZyB8PSAweEUgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZzc2kyX2Nsa1swXSkKKwkJcmVnIHw9IDB4RiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJm5mY19jbGspCisJCXJlZyB8PSAweDEwIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmbXN0aWNrMV9jbGspCisJCXJlZyB8PSAweDExIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmdnB1X2NsaykKKwkJcmVnIHw9IDB4MTIgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZ1c2JfY2xrWzBdKQorCQlyZWcgfD0gMHgxNSA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX0NDU1IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0RSMCkgfCBDQ01fUENEUjBfQ0xLT19FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENEUjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfY2xrb19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDRFIwKSAmIH5DQ01fUENEUjBfQ0xLT19FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENEUjApOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtvX2NsayA9IHsKKwkubmFtZSA9ICJjbGtvX2NsayIsCisJLmdldF9yYXRlID0gX2Nsa19jbGtvX3JlY2FsYywKKwkuc2V0X3JhdGUgPSBfY2xrX2Nsa29fc2V0X3JhdGUsCisJLnJvdW5kX3JhdGUgPSBfY2xrX2Nsa29fcm91bmRfcmF0ZSwKKwkuc2V0X3BhcmVudCA9IF9jbGtfY2xrb19zZXRfcGFyZW50LAorCS5lbmFibGUgPSBfY2xrX2Nsa29fZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19jbGtvX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayAqbXhjX2Nsa3NbXSA9IHsKKwkmY2tpaF9jbGssCisJJmNraWxfY2xrLAorCSZtcGxsX2NsaywKKwkmbXBsbF9tYWluX2Nsa1swXSwKKwkmbXBsbF9tYWluX2Nsa1sxXSwKKwkmc3BsbF9jbGssCisJJmNwdV9jbGssCisJJmFoYl9jbGssCisJJmlwZ19jbGssCisJJnBlcl9jbGtbMF0sCisJJnBlcl9jbGtbMV0sCisJJnBlcl9jbGtbMl0sCisJJnBlcl9jbGtbM10sCisJJmNsa29fY2xrLAorCSZ1YXJ0MV9jbGtbMF0sCisJJnVhcnQxX2Nsa1sxXSwKKwkmdWFydDJfY2xrWzBdLAorCSZ1YXJ0Ml9jbGtbMV0sCisJJnVhcnQzX2Nsa1swXSwKKwkmdWFydDNfY2xrWzFdLAorCSZ1YXJ0NF9jbGtbMF0sCisJJnVhcnQ0X2Nsa1sxXSwKKwkmdWFydDVfY2xrWzBdLAorCSZ1YXJ0NV9jbGtbMV0sCisJJnVhcnQ2X2Nsa1swXSwKKwkmdWFydDZfY2xrWzFdLAorCSZncHQxX2Nsa1swXSwKKwkmZ3B0MV9jbGtbMV0sCisJJmdwdDJfY2xrWzBdLAorCSZncHQyX2Nsa1sxXSwKKwkmZ3B0M19jbGtbMF0sCisJJmdwdDNfY2xrWzFdLAorCSZncHQ0X2Nsa1swXSwKKwkmZ3B0NF9jbGtbMV0sCisJJmdwdDVfY2xrWzBdLAorCSZncHQ1X2Nsa1sxXSwKKwkmZ3B0Nl9jbGtbMF0sCisJJmdwdDZfY2xrWzFdLAorCSZwd21fY2xrWzBdLAorCSZwd21fY2xrWzFdLAorCSZzZGhjMV9jbGtbMF0sCisJJnNkaGMxX2Nsa1sxXSwKKwkmc2RoYzJfY2xrWzBdLAorCSZzZGhjMl9jbGtbMV0sCisJJnNkaGMzX2Nsa1swXSwKKwkmc2RoYzNfY2xrWzFdLAorCSZjc3BpMV9jbGtbMF0sCisJJmNzcGkxX2Nsa1sxXSwKKwkmY3NwaTJfY2xrWzBdLAorCSZjc3BpMl9jbGtbMV0sCisJJmNzcGkzX2Nsa1swXSwKKwkmY3NwaTNfY2xrWzFdLAorCSZsY2RjX2Nsa1swXSwKKwkmbGNkY19jbGtbMV0sCisJJmxjZGNfY2xrWzJdLAorCSZjc2lfY2xrWzBdLAorCSZjc2lfY2xrWzFdLAorCSZ1c2JfY2xrWzBdLAorCSZ1c2JfY2xrWzFdLAorCSZzc2kxX2Nsa1swXSwKKwkmc3NpMV9jbGtbMV0sCisJJnNzaTJfY2xrWzBdLAorCSZzc2kyX2Nsa1sxXSwKKwkmbmZjX2NsaywKKwkmdnB1X2NsaywKKwkmZG1hX2NsaywKKwkmcnRpY19jbGssCisJJmJyb21fY2xrLAorCSZlbW1hX2NsaywKKwkmc2xjZGNfY2xrLAorCSZmZWNfY2xrLAorCSZlbWlfY2xrLAorCSZzYWhhcmEyX2NsaywKKwkmYXRhX2NsaywKKwkmbXN0aWNrMV9jbGssCisJJndkb2dfY2xrLAorCSZncGlvX2NsaywKKwkmaTJjX2Nsa1swXSwKKwkmaTJjX2Nsa1sxXSwKKwkmaWltX2NsaywKKwkma3BwX2NsaywKKwkmb3dpcmVfY2xrLAorCSZydGNfY2xrLAorCSZzY2NfY2xrLAorfTsKKwordm9pZCBfX2luaXQgY2hhbmdlX2V4dGVybmFsX2xvd19yZWZlcmVuY2UodW5zaWduZWQgbG9uZyBuZXdfcmVmKQoreworCWV4dGVybmFsX2xvd19yZWZlcmVuY2UgPSBuZXdfcmVmOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdCBjbGtfZWFybHlfZ2V0X3RpbWVyX3JhdGUodm9pZCkKK3sKKwlyZXR1cm4gY2xrX2dldF9yYXRlKCZwZXJfY2xrWzBdKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHByb2JlX214Y19jbG9ja3Modm9pZCkKK3sKKwlpbnQgaTsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCWlmIChDU0NSKCkgJiAweDgwMDApCisJCQljcHVfY2xrLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzBdOworCisJCWlmICghKENTQ1IoKSAmIDB4MDA4MDAwMDApKQorCQkJc3NpMl9jbGtbMF0ucGFyZW50ID0gJnNwbGxfY2xrOworCisJCWlmICghKENTQ1IoKSAmIDB4MDA0MDAwMDApKQorCQkJc3NpMV9jbGtbMF0ucGFyZW50ID0gJnNwbGxfY2xrOworCisJCWlmICghKENTQ1IoKSAmIDB4MDAyMDAwMDApKQorCQkJdnB1X2Nsay5wYXJlbnQgPSAmc3BsbF9jbGs7CisJfSBlbHNlIHsKKwkJY3B1X2Nsay5wYXJlbnQgPSAmbXBsbF9jbGs7CisJCWNwdV9jbGsuc2V0X3BhcmVudCA9IE5VTEw7CisJCWNwdV9jbGsucm91bmRfcmF0ZSA9IE5VTEw7CisJCWNwdV9jbGsuc2V0X3JhdGUgPSBOVUxMOworCQlhaGJfY2xrLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHBlcl9jbGspIC8gc2l6ZW9mKHBlcl9jbGtbMF0pOyBpKyspCisJCQlwZXJfY2xrW2ldLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQlzc2kxX2Nsa1swXS5wYXJlbnQgPSAmbXBsbF9jbGs7CisJCXNzaTJfY2xrWzBdLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQl2cHVfY2xrLnBhcmVudCA9ICZtcGxsX2NsazsKKwl9Cit9CisKKy8qCisgKiBtdXN0IGJlIGNhbGxlZCB2ZXJ5IGVhcmx5IHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAqIGF2YWlsYWJsZSBjbG9jayByYXRlIHdoZW4gdGhlIHRpbWVyIGZyYW1ld29yayBzdGFydHMKKyAqLworaW50IF9faW5pdCBteGNfY2xvY2tzX2luaXQodW5zaWduZWQgbG9uZyBmcmVmKQoreworCXUzMiBjc2NyOworCXN0cnVjdCBjbGsgKipjbGtwOworCisJZXh0ZXJuYWxfaGlnaF9yZWZlcmVuY2UgPSBmcmVmOworCisJLyogZGV0ZWN0IGNsb2NrIHJlZmVyZW5jZSBmb3IgYm90aCBzeXN0ZW0gUExMICovCisJY3NjciA9IENTQ1IoKTsKKwlpZiAoY3NjciAmIENDTV9DU0NSX01DVSkKKwkJbXBsbF9jbGsucGFyZW50ID0gJmNraWhfY2xrOworCWVsc2UKKwkJbXBsbF9jbGsucGFyZW50ID0gJmNraWxfY2xrOworCisJaWYgKGNzY3IgJiBDQ01fQ1NDUl9TUCkKKwkJc3BsbF9jbGsucGFyZW50ID0gJmNraWhfY2xrOworCWVsc2UKKwkJc3BsbF9jbGsucGFyZW50ID0gJmNraWxfY2xrOworCisJcHJvYmVfbXhjX2Nsb2NrcygpOworCisJcGVyX2Nsa1swXS5lbmFibGUoJnBlcl9jbGtbMF0pOworCWdwdDFfY2xrWzFdLmVuYWJsZSgmZ3B0MV9jbGtbMV0pOworCisJZm9yIChjbGtwID0gbXhjX2Nsa3M7IGNsa3AgPCBteGNfY2xrcyArIEFSUkFZX1NJWkUobXhjX2Nsa3MpOyBjbGtwKyspCisJCWNsa19yZWdpc3RlcigqY2xrcCk7CisKKwkvKiBUdXJuIG9mZiBhbGwgcG9zc2libGUgY2xvY2tzICovCisJX19yYXdfd3JpdGVsKENDTV9QQ0NSMF9HUFQxX01BU0ssIENDTV9QQ0NSMCk7CisJX19yYXdfd3JpdGVsKENDTV9QQ0NSMV9QRVJDTEsxX01BU0sgfCBDQ01fUENDUjFfSENMS19FTUlfTUFTSywKKwkJICAgICBDQ01fUENDUjEpOworCXNwbGxfY2xrLmRpc2FibGUoJnNwbGxfY2xrKTsKKworCS8qIFRoaXMgd2lsbCBwcm9wYWdhdGUgdG8gYWxsIGNoaWxkcmVuIGFuZCBpbml0IGFsbCB0aGUgY2xvY2sgcmF0ZXMgKi8KKworCWNsa19lbmFibGUoJmVtaV9jbGspOworCWNsa19lbmFibGUoJmdwaW9fY2xrKTsKKwljbGtfZW5hYmxlKCZpaW1fY2xrKTsKKwljbGtfZW5hYmxlKCZncHQxX2Nsa1swXSk7CisjaWZkZWYgQ09ORklHX0RFQlVHX0xMX0NPTlNPTEUKKwljbGtfZW5hYmxlKCZ1YXJ0MV9jbGtbMF0pOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jcHVfaW14MjcuYyBiL2FyY2gvYXJtL21hY2gtbXgyL2NwdV9pbXgyNy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2YjVjMmUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9jcHVfaW14MjcuYwpAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IDIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworLyoKKyAqIGkuTVgyNyBzcGVjaWZpYyBDUFUgZGV0ZWN0aW9uIGNvZGUKKyAqLworCisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorCisjaW5jbHVkZSAiY3JtX3JlZ3MuaCIKKworc3RhdGljIGludCBjcHVfc2lsaWNvbl9yZXYgPSAtMTsKK3N0YXRpYyBpbnQgY3B1X3BhcnRudW1iZXI7CisKK3N0YXRpYyB2b2lkIHF1ZXJ5X3NpbGljb25fcGFyYW1ldGVyKHZvaWQpCit7CisJdTMyIHZhbDsKKwkvKgorCSAqIG5vdyB3ZSBoYXZlIGFjY2VzcyB0byB0aGUgSU8gcmVnaXN0ZXJzLiBBcyB3ZSBuZWVkCisJICogdGhlIHNpbGljb24gcmV2aXNpb24gdmVyeSBlYXJseSB3ZSByZWFkIGl0IGhlcmUgdG8KKwkgKiBhdm9pZCBhbnkgZnVydGhlciBob29rcworCSovCisJdmFsID0gX19yYXdfcmVhZGwoSU9fQUREUkVTUyhTWVNDVFJMX0JBU0VfQUREUikgKyBTWVNfQ0hJUF9JRCk7CisKKwljcHVfc2lsaWNvbl9yZXYgPSAoaW50KSh2YWwgPj4gMjgpOworCWNwdV9wYXJ0bnVtYmVyID0gKGludCkoKHZhbCA+PiAxMikgJiAweEZGRkYpOworfQorCisvKgorICogUmV0dXJuczoKKyAqCXRoZSBzaWxpY29uIHJldmlzaW9uIG9mIHRoZSBjcHUKKyAqCS1FSU5WQUwgLSBub3QgYSBteDI3CisgKi8KK2ludCBteDI3X3JldmlzaW9uKHZvaWQpCit7CisJaWYgKGNwdV9zaWxpY29uX3JldiA9PSAtMSkKKwkJcXVlcnlfc2lsaWNvbl9wYXJhbWV0ZXIoKTsKKworCWlmIChjcHVfcGFydG51bWJlciAhPSAweDg4MjEpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIGNwdV9zaWxpY29uX3JldjsKK30KK0VYUE9SVF9TWU1CT0wobXgyN19yZXZpc2lvbik7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jcm1fcmVncy5oIGIvYXJjaC9hcm0vbWFjaC1teDIvY3JtX3JlZ3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDBhOWI5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvY3JtX3JlZ3MuaApAQCAtMCwwICsxLDI3MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FSQ0hfQVJNX01BQ0hfTVgyX0NSTV9SRUdTX0hfXworI2RlZmluZSBfX0FSQ0hfQVJNX01BQ0hfTVgyX0NSTV9SRUdTX0hfXworCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKworLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLworI2RlZmluZSBDQ01fQ1NDUiAgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MCkKKyNkZWZpbmUgQ0NNX01QQ1RMMCAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDQpCisjZGVmaW5lIENDTV9NUENUTDEgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHg4KQorI2RlZmluZSBDQ01fU1BDVEwwICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4QykKKyNkZWZpbmUgQ0NNX1NQQ1RMMSAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDEwKQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MTQpCisjZGVmaW5lIENDTV9QQ0RSMCAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgxOCkKKyNkZWZpbmUgQ0NNX1BDRFIxICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDFjKQorI2RlZmluZSBDQ01fUENDUjAgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MjApCisjZGVmaW5lIENDTV9QQ0NSMSAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgyNCkKKyNkZWZpbmUgQ0NNX0NDU1IgICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDI4KQorI2RlZmluZSBDQ01fUE1DVEwgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MmMpCisjZGVmaW5lIENDTV9QTUNPVU5UICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgzMCkKKyNkZWZpbmUgQ0NNX1dLR0RDVEwgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDM0KQorCisjZGVmaW5lIENDTV9DU0NSX1VTQl9PRkZTRVQgICAgIDI4CisjZGVmaW5lIENDTV9DU0NSX1VTQl9NQVNLICAgICAgICgweDcgPDwgMjgpCisjZGVmaW5lIENDTV9DU0NSX1NEX09GRlNFVCAgICAgIDI0CisjZGVmaW5lIENDTV9DU0NSX1NEX01BU0sgICAgICAgICgweDMgPDwgMjQpCisjZGVmaW5lIENDTV9DU0NSX1NTSTIgICAgICAgICAgICgxIDw8IDIzKQorI2RlZmluZSBDQ01fQ1NDUl9TU0kyX09GRlNFVCAgICAyMworI2RlZmluZSBDQ01fQ1NDUl9TU0kxICAgICAgICAgICAoMSA8PCAyMikKKyNkZWZpbmUgQ0NNX0NTQ1JfU1NJMV9PRkZTRVQgICAgMjIKKyNkZWZpbmUgQ0NNX0NTQ1JfVlBVICAgICAgICAgICAoMSA8PCAyMSkKKyNkZWZpbmUgQ0NNX0NTQ1JfVlBVX09GRlNFVCAgICAyMQorI2RlZmluZSBDQ01fQ1NDUl9NU0hDICAgICAgICAgICAoMSA8PCAyMCkKKyNkZWZpbmUgQ0NNX0NTQ1JfU1BMTFJFUyAgICAgICAgKDEgPDwgMTkpCisjZGVmaW5lIENDTV9DU0NSX01QTExSRVMgICAgICAgICgxIDw8IDE4KQorI2RlZmluZSBDQ01fQ1NDUl9TUCAgICAgICAgICAgICAoMSA8PCAxNykKKyNkZWZpbmUgQ0NNX0NTQ1JfTUNVICAgICAgICAgICAgKDEgPDwgMTYpCisvKiBDQ01fQ1NDUl9BUk1feHh4IGp1c3QgYmUgYXZhbGlhYmxlIG9uIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fQ1NDUl9BUk1fU1JDICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX0NTQ1JfQVJNX09GRlNFVCAgICAgMTIKKyNkZWZpbmUgQ0NNX0NTQ1JfQVJNX01BU0sgICAgICAgKDB4MyA8PCAxMikKKy8qIENDTV9DU0NSX0FSTV94eHgganVzdCBiZSBhdmFsaWFibGUgb24gaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9DU0NSX1BSRVNDX09GRlNFVCAgIDEzCisjZGVmaW5lIENDTV9DU0NSX1BSRVNDX01BU0sgICAgICgweDcgPDwgMTMpCisjZGVmaW5lIENDTV9DU0NSX0JDTEtfT0ZGU0VUICAgIDkKKyNkZWZpbmUgQ0NNX0NTQ1JfQkNMS19NQVNLICAgICAgKDB4ZiA8PCA5KQorI2RlZmluZSBDQ01fQ1NDUl9JUERJVl9PRkZTRVQgICA4CisjZGVmaW5lIENDTV9DU0NSX0lQRElWICAgICAgICAgICgxIDw8IDgpCisvKiBDQ01fQ1NDUl9BSEJfeHh4IGp1c3QgYmUgYXZhbGlhYmxlIG9uIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fQ1NDUl9BSEJfT0ZGU0VUICAgICA4CisjZGVmaW5lIENDTV9DU0NSX0FIQl9NQVNLICAgICAgICgweDMgPDwgOCkKKy8qIENDTV9DU0NSX0FIQl94eHgganVzdCBiZSBhdmFsaWFibGUgb24gaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9DU0NSX09TQzI2TURJViAgICAgICgxIDw8IDQpCisjZGVmaW5lIENDTV9DU0NSX09TQzI2TSAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIENDTV9DU0NSX0ZQTSAgICAgICAgICAgICgxIDw8IDIpCisjZGVmaW5lIENDTV9DU0NSX1NQRU4gICAgICAgICAgICgxIDw8IDEpCisjZGVmaW5lIENDTV9DU0NSX01QRU4gICAgICAgICAgIDEKKworI2RlZmluZSBDQ01fTVBDVEwwX0NQTE0gICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgQ0NNX01QQ1RMMF9QRF9PRkZTRVQgICAgMjYKKyNkZWZpbmUgQ0NNX01QQ1RMMF9QRF9NQVNLICAgICAgKDB4ZiA8PCAyNikKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRkRfT0ZGU0VUICAgMTYKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRkRfTUFTSyAgICAgKDB4M2ZmIDw8IDE2KQorI2RlZmluZSBDQ01fTVBDVEwwX01GSV9PRkZTRVQgICAxMAorI2RlZmluZSBDQ01fTVBDVEwwX01GSV9NQVNLICAgICAoMHhmIDw8IDEwKQorI2RlZmluZSBDQ01fTVBDVEwwX01GTl9PRkZTRVQgICAwCisjZGVmaW5lIENDTV9NUENUTDBfTUZOX01BU0sgICAgIDB4M2ZmCisKKyNkZWZpbmUgQ0NNX01QQ1RMMV9MRiAgICAgICAgICAgKDEgPDwgMTUpCisjZGVmaW5lIENDTV9NUENUTDFfQlJNTyAgICAgICAgICgxIDw8IDYpCisKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9DUExNICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIENDTV9TUENUTDBfUERfT0ZGU0VUICAgIDI2CisjZGVmaW5lIENDTV9TUENUTDBfUERfTUFTSyAgICAgICgweGYgPDwgMjYpCisjZGVmaW5lIENDTV9TUENUTDBfTUZEX09GRlNFVCAgIDE2CisjZGVmaW5lIENDTV9TUENUTDBfTUZEX01BU0sgICAgICgweDNmZiA8PCAxNikKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRklfT0ZGU0VUICAgMTAKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRklfTUFTSyAgICAgKDB4ZiA8PCAxMCkKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRk5fT0ZGU0VUICAgMAorI2RlZmluZSBDQ01fU1BDVEwwX01GTl9NQVNLICAgICAweDNmZgorCisjZGVmaW5lIENDTV9TUENUTDFfTEYgICAgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fU1BDVEwxX0JSTU8gICAgICAgICAoMSA8PCA2KQorCisjZGVmaW5lIENDTV9PU0MyNk1DVExfUEVBS19PRkZTRVQgICAgICAgMTYKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9QRUFLX01BU0sgICAgICAgICAoMHgzIDw8IDE2KQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX0FHQ19PRkZTRVQgICAgICAgIDgKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9BR0NfTUFTSyAgICAgICAgICAoMHgzZiA8PCA4KQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX0FOQVRFU1RfT0ZGU0VUICAgIDAKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9BTkFURVNUX01BU0sgICAgICAweDNmCisKKyNkZWZpbmUgQ0NNX1BDRFIwX1NTSTJCQVVERElWX09GRlNFVCAgICAyNgorI2RlZmluZSBDQ01fUENEUjBfU1NJMkJBVURESVZfTUFTSyAgICAgICgweDNmIDw8IDI2KQorI2RlZmluZSBDQ01fUENEUjBfQ0xLT19FTiAgICAgICAgICAgICAgIDI1CisjZGVmaW5lIENDTV9QQ0RSMF9DTEtPRElWX09GRlNFVCAgICAgICAgMjIKKyNkZWZpbmUgQ0NNX1BDRFIwX0NMS09ESVZfTUFTSyAgICAgICAgICAoMHg3IDw8IDIyKQorI2RlZmluZSBDQ01fUENEUjBfU1NJMUJBVURESVZfT0ZGU0VUICAgIDE2CisjZGVmaW5lIENDTV9QQ0RSMF9TU0kxQkFVRERJVl9NQVNLICAgICAgKDB4M2YgPDwgMTYpCisvKlRoZSBkaWZpbml0aW9uIGZvciBpLk1YMjcgVE8yKi8KKyNkZWZpbmUgQ0NNX1BDRFIwX1ZQVURJVjJfT0ZGU0VUICAgICAgICAxMAorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWMl9NQVNLICAgICAgICAgICgweDNmIDw8IDEwKQorI2RlZmluZSBDQ01fUENEUjBfTkZDRElWMl9PRkZTRVQgICAgICAgICA2CisjZGVmaW5lIENDTV9QQ0RSMF9ORkNESVYyX01BU0sgICAgICAgICAgICgweGYgPDwgNikKKyNkZWZpbmUgQ0NNX1BDRFIwX01TSENESVYyX01BU0sgICAgICAgICAgMHgzZgorLypUaGUgZGlmaW5pdGlvbiBmb3IgaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9QQ0RSMF9ORkNESVZfT0ZGU0VUICAgICAgICAgMTIKKyNkZWZpbmUgQ0NNX1BDRFIwX05GQ0RJVl9NQVNLICAgICAgICAgICAoMHhmIDw8IDEyKQorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWX09GRlNFVCAgICAgICAgOAorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWX01BU0sgICAgICAgICAgKDB4ZiA8PCA4KQorI2RlZmluZSBDQ01fUENEUjBfTVNIQ0RJVl9PRkZTRVQgICAgICAgIDAKKyNkZWZpbmUgQ0NNX1BDRFIwX01TSENESVZfTUFTSyAgICAgICAgICAweDFmCisKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjRfT0ZGU0VUICAgICAgICAyNAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWNF9NQVNLICAgICAgICAgICgweDNmIDw8IDI0KQorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWM19PRkZTRVQgICAgICAgIDE2CisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYzX01BU0sgICAgICAgICAgKDB4M2YgPDwgMTYpCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYyX09GRlNFVCAgICAgICAgOAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWMl9NQVNLICAgICAgICAgICgweDNmIDw8IDgpCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYxX09GRlNFVCAgICAgICAgMAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWMV9NQVNLICAgICAgICAgIDB4M2YKKworI2RlZmluZSBDQ01fUENDUjBfQ1NQSTFfT0ZGU0VUICAgICAgICAgIDMxCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJMV9NQVNLICAgICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJMl9PRkZTRVQgICAgICAgICAgMzAKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkyX01BU0sgICAgICAgICAgICAoMSA8PCAzMCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkzX09GRlNFVCAgICAgICAgICAyOQorI2RlZmluZSBDQ01fUENDUjBfQ1NQSTNfTUFTSyAgICAgICAgICAgICgxIDw8IDI5KQorI2RlZmluZSBDQ01fUENDUjBfRE1BX09GRlNFVCAgICAgICAgICAgIDI4CisjZGVmaW5lIENDTV9QQ0NSMF9ETUFfTUFTSyAgICAgICAgICAgICAgKDEgPDwgMjgpCisjZGVmaW5lIENDTV9QQ0NSMF9FTU1BX09GRlNFVCAgICAgICAgICAgMjcKKyNkZWZpbmUgQ0NNX1BDQ1IwX0VNTUFfTUFTSyAgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgQ0NNX1BDQ1IwX0ZFQ19PRkZTRVQgICAgICAgICAgICAyNgorI2RlZmluZSBDQ01fUENDUjBfRkVDX01BU0sgICAgICAgICAgICAgICgxIDw8IDI2KQorI2RlZmluZSBDQ01fUENDUjBfR1BJT19PRkZTRVQgICAgICAgICAgIDI1CisjZGVmaW5lIENDTV9QQ0NSMF9HUElPX01BU0sgICAgICAgICAgICAgKDEgPDwgMjUpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQxX09GRlNFVCAgICAgICAgICAgMjQKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDFfTUFTSyAgICAgICAgICAgICAoMSA8PCAyNCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDJfT0ZGU0VUICAgICAgICAgICAyMworI2RlZmluZSBDQ01fUENDUjBfR1BUMl9NQVNLICAgICAgICAgICAgICgxIDw8IDIzKQorI2RlZmluZSBDQ01fUENDUjBfR1BUM19PRkZTRVQgICAgICAgICAgIDIyCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQzX01BU0sgICAgICAgICAgICAgKDEgPDwgMjIpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ0X09GRlNFVCAgICAgICAgICAgMjEKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDRfTUFTSyAgICAgICAgICAgICAoMSA8PCAyMSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDVfT0ZGU0VUICAgICAgICAgICAyMAorI2RlZmluZSBDQ01fUENDUjBfR1BUNV9NQVNLICAgICAgICAgICAgICgxIDw8IDIwKQorI2RlZmluZSBDQ01fUENDUjBfR1BUNl9PRkZTRVQgICAgICAgICAgIDE5CisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ2X01BU0sgICAgICAgICAgICAgKDEgPDwgMTkpCisjZGVmaW5lIENDTV9QQ0NSMF9JMkMxX09GRlNFVCAgICAgICAgICAgMTgKKyNkZWZpbmUgQ0NNX1BDQ1IwX0kyQzFfTUFTSyAgICAgICAgICAgICAoMSA8PCAxOCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0kyQzJfT0ZGU0VUICAgICAgICAgICAxNworI2RlZmluZSBDQ01fUENDUjBfSTJDMl9NQVNLICAgICAgICAgICAgICgxIDw8IDE3KQorI2RlZmluZSBDQ01fUENDUjBfSUlNX09GRlNFVCAgICAgICAgICAgIDE2CisjZGVmaW5lIENDTV9QQ0NSMF9JSU1fTUFTSyAgICAgICAgICAgICAgKDEgPDwgMTYpCisjZGVmaW5lIENDTV9QQ0NSMF9LUFBfT0ZGU0VUICAgICAgICAgICAgMTUKKyNkZWZpbmUgQ0NNX1BDQ1IwX0tQUF9NQVNLICAgICAgICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0xDRENfT0ZGU0VUICAgICAgICAgICAxNAorI2RlZmluZSBDQ01fUENDUjBfTENEQ19NQVNLICAgICAgICAgICAgICgxIDw8IDE0KQorI2RlZmluZSBDQ01fUENDUjBfTVNIQ19PRkZTRVQgICAgICAgICAgIDEzCisjZGVmaW5lIENDTV9QQ0NSMF9NU0hDX01BU0sgICAgICAgICAgICAgKDEgPDwgMTMpCisjZGVmaW5lIENDTV9QQ0NSMF9PV0lSRV9PRkZTRVQgICAgICAgICAgMTIKKyNkZWZpbmUgQ0NNX1BDQ1IwX09XSVJFX01BU0sgICAgICAgICAgICAoMSA8PCAxMikKKyNkZWZpbmUgQ0NNX1BDQ1IwX1BXTV9PRkZTRVQgICAgICAgICAgICAxMQorI2RlZmluZSBDQ01fUENDUjBfUFdNX01BU0sgICAgICAgICAgICAgICgxIDw8IDExKQorI2RlZmluZSBDQ01fUENDUjBfUlRDX09GRlNFVCAgICAgICAgICAgIDkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1JUQ19NQVNLICAgICAgICAgICAgICAoMSA8PCA5KQorI2RlZmluZSBDQ01fUENDUjBfUlRJQ19PRkZTRVQgICAgICAgICAgIDgKKyNkZWZpbmUgQ0NNX1BDQ1IwX1JUSUNfTUFTSyAgICAgICAgICAgICAoMSA8PCA4KQorI2RlZmluZSBDQ01fUENDUjBfU0FIQVJBX09GRlNFVCAgICAgICAgIDcKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NBSEFSQV9NQVNLICAgICAgICAgICAoMSA8PCA3KQorI2RlZmluZSBDQ01fUENDUjBfU0NDX09GRlNFVCAgICAgICAgICAgIDYKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NDQ19NQVNLICAgICAgICAgICAgICAoMSA8PCA2KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzFfT0ZGU0VUICAgICAgICAgIDUKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMxX01BU0sgICAgICAgICAgICAoMSA8PCA1KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzJfT0ZGU0VUICAgICAgICAgIDQKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMyX01BU0sgICAgICAgICAgICAoMSA8PCA0KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzNfT0ZGU0VUICAgICAgICAgIDMKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMzX01BU0sgICAgICAgICAgICAoMSA8PCAzKQorI2RlZmluZSBDQ01fUENDUjBfU0xDRENfT0ZGU0VUICAgICAgICAgIDIKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NMQ0RDX01BU0sgICAgICAgICAgICAoMSA8PCAyKQorI2RlZmluZSBDQ01fUENDUjBfU1NJMV9JUEdfT0ZGU0VUICAgICAgIDEKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NTSTFfSVBHX01BU0sgICAgICAgICAoMSA8PCAxKQorI2RlZmluZSBDQ01fUENDUjBfU1NJMl9JUEdfT0ZGU0VUICAgICAgIDAKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NTSTJfSVBHX01BU0sgICAgICAgICAoMSA8PCAwKQorCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUMV9PRkZTRVQgICAgICAgICAgMzEKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQxX01BU0sgICAgICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQyX09GRlNFVCAgICAgICAgICAzMAorI2RlZmluZSBDQ01fUENDUjFfVUFSVDJfTUFTSyAgICAgICAgICAgICgxIDw8IDMwKQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDNfT0ZGU0VUICAgICAgICAgIDI5CisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUM19NQVNLICAgICAgICAgICAgKDEgPDwgMjkpCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNF9PRkZTRVQgICAgICAgICAgMjgKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ0X01BU0sgICAgICAgICAgICAoMSA8PCAyOCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ1X09GRlNFVCAgICAgICAgICAyNworI2RlZmluZSBDQ01fUENDUjFfVUFSVDVfTUFTSyAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDZfT0ZGU0VUICAgICAgICAgIDI2CisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNl9NQVNLICAgICAgICAgICAgKDEgPDwgMjYpCisjZGVmaW5lIENDTV9QQ0NSMV9VU0JPVEdfT0ZGU0VUICAgICAgICAgMjUKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VTQk9UR19NQVNLICAgICAgICAgICAoMSA8PCAyNSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1dEVF9PRkZTRVQgICAgICAgICAgICAyNAorI2RlZmluZSBDQ01fUENDUjFfV0RUX01BU0sgICAgICAgICAgICAgICgxIDw8IDI0KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19BVEFfT0ZGU0VUICAgICAgIDIzCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0FUQV9NQVNLICAgICAgICAgKDEgPDwgMjMpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0JST01fT0ZGU0VUICAgICAgMjIKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQlJPTV9NQVNLICAgICAgICAoMSA8PCAyMikKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQ1NJX09GRlNFVCAgICAgICAyMQorI2RlZmluZSBDQ01fUENDUjFfSENMS19DU0lfTUFTSyAgICAgICAgICgxIDw8IDIxKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19ETUFfT0ZGU0VUICAgICAgIDIwCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0RNQV9NQVNLICAgICAgICAgKDEgPDwgMjApCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0VNSV9PRkZTRVQgICAgICAgMTkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRU1JX01BU0sgICAgICAgICAoMSA8PCAxOSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRU1NQV9PRkZTRVQgICAgICAxOAorI2RlZmluZSBDQ01fUENDUjFfSENMS19FTU1BX01BU0sgICAgICAgICgxIDw8IDE4KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19GRUNfT0ZGU0VUICAgICAgIDE3CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0ZFQ19NQVNLICAgICAgICAgKDEgPDwgMTcpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1ZQVV9PRkZTRVQgICAgICAgMTYKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfVlBVX01BU0sgICAgICAgICAoMSA8PCAxNikKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfTENEQ19PRkZTRVQgICAgICAxNQorI2RlZmluZSBDQ01fUENDUjFfSENMS19MQ0RDX01BU0sgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19SVElDX09GRlNFVCAgICAgIDE0CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1JUSUNfTUFTSyAgICAgICAgKDEgPDwgMTQpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9PRkZTRVQgICAgMTMKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfU0FIQVJBX01BU0sgICAgICAoMSA8PCAxMykKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfU0xDRENfT0ZGU0VUICAgICAxMgorI2RlZmluZSBDQ01fUENDUjFfSENMS19TTENEQ19NQVNLICAgICAgICgxIDw8IDEyKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19VU0JPVEdfT0ZGU0VUICAgIDExCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1VTQk9UR19NQVNLICAgICAgKDEgPDwgMTEpCisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEsxX09GRlNFVCAgICAgICAgMTAKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzFfTUFTSyAgICAgICAgICAoMSA8PCAxMCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzJfT0ZGU0VUICAgICAgICA5CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEsyX01BU0sgICAgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzNfT0ZGU0VUICAgICAgICA4CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEszX01BU0sgICAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzRfT0ZGU0VUICAgICAgICA3CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEs0X01BU0sgICAgICAgICAgKDEgPDwgNykKKyNkZWZpbmUgQ0NNX1BDQ1IxX1ZQVV9CQVVEX09GRlNFVCAgICAgICA2CisjZGVmaW5lIENDTV9QQ0NSMV9WUFVfQkFVRF9NQVNLICAgICAgICAgKDEgPDwgNikKKyNkZWZpbmUgQ0NNX1BDQ1IxX1NTSTFfQkFVRF9PRkZTRVQgICAgICA1CisjZGVmaW5lIENDTV9QQ0NSMV9TU0kxX0JBVURfTUFTSyAgICAgICAgKDEgPDwgNSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1NTSTJfQkFVRF9PRkZTRVQgICAgICA0CisjZGVmaW5lIENDTV9QQ0NSMV9TU0kyX0JBVURfTUFTSyAgICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX05GQ19CQVVEX09GRlNFVCAgICAgICAzCisjZGVmaW5lIENDTV9QQ0NSMV9ORkNfQkFVRF9NQVNLICAgICAgICAgKDEgPDwgMykKKyNkZWZpbmUgQ0NNX1BDQ1IxX01TSENfQkFVRF9PRkZTRVQgICAgICAyCisjZGVmaW5lIENDTV9QQ0NSMV9NU0hDX0JBVURfTUFTSyAgICAgICAgKDEgPDwgMikKKworI2RlZmluZSBDQ01fQ0NTUl8zMktTUiAgICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLTU9ERTEgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLTU9ERTAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQgMAorI2RlZmluZSBDQ01fQ0NTUl9DTEtPU0VMX01BU0sgICAweDFmCisKKyNkZWZpbmUgU1lTX0ZNQ1IgICAgICAgICAgICAgICAgMHgxNAkvKiAgRnVuY3Rpb25hbCBNdXhpbmcgQ29udHJvbCBSZWcgKi8KKyNkZWZpbmUgU1lTX0NISVBfSUQgICAgICAgICAgICAgMHgwMAkvKiBUaGUgb2Zmc2V0IG9mIENISVAgSUQgcmVnaXN0ZXIgKi8KKworI2VuZGlmIC8qIF9fQVJDSF9BUk1fTUFDSF9NWDJfQ1JNX1JFR1NfSF9fICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9kZXZpY2VzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmNDRjMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL2RldmljZXMuYwpAQCAtMCwwICsxLDIzMSBAQAorLyoKKyAqIEF1dGhvcjogTW9udGFWaXN0YSBTb2Z0d2FyZSwgSW5jLgorICogICAgICAgPHNvdXJjZUBtdmlzdGEuY29tPgorICoKKyAqIEJhc2VkIG9uIHRoZSBPTUFQIGRldmljZXMuYworICoKKyAqIDIwMDUgKGMpIE1vbnRhVmlzdGEgU29mdHdhcmUsIEluYy4gVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4gVGhpcyBwcm9ncmFtIGlzCisgKiBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55IHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3MKKyAqIG9yIGltcGxpZWQuCisgKgorICogQ29weXJpZ2h0IDIwMDYtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworLyoKKyAqIFJlc291cmNlIGRlZmluaXRpb24gZm9yIHRoZSBNWEMgSXJEQQorICovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG14Y19pcmRhX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ICAgPSBVQVJUM19CQVNFX0FERFIsCisJCS5lbmQgICAgID0gVUFSVDNfQkFTRV9BRERSICsgU1pfNEsgLSAxLAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfVUFSVDMsCisJCS5lbmQgICAgID0gTVhDX0lOVF9VQVJUMywKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworLyogUGxhdGZvcm0gRGF0YSBmb3IgTVhDIElyREEgKi8KK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2lyZGFfZGV2aWNlID0geworCS5uYW1lID0gIm14Y19pcmRhIiwKKwkuaWQgPSAwLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRShteGNfaXJkYV9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IG14Y19pcmRhX3Jlc291cmNlcywKK307CisKKy8qCisgKiBHZW5lcmFsIFB1cnBvc2UgVGltZXIKKyAqIC0gaS5NWDE6IDIgdGltZXIgKHNsaWdobHkgZGlmZmVyZW50IHJlZ2lzdGVyIGhhbmRsaW5nKQorICogLSBpLk1YMjE6IDMgdGltZXIKKyAqIC0gaS5NWDI3OiA2IHRpbWVyCisgKi8KKworLyogV2UgdXNlIGdwdDAgYXMgc3lzdGVtIHRpbWVyLCBzbyBkbyBub3QgYWRkIGEgZGV2aWNlIGZvciB0aGlzIG9uZSAqLworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyMV9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDJfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUMl9CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUMiwKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDIsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0MSA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSAxLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjFfcmVzb3VyY2VzCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyMl9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDNfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUM19CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUMywKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDMsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0MiA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSAyLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjJfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjJfcmVzb3VyY2VzCit9OworCisjaWZkZWYgQ09ORklHX01BQ0hfTVgyNworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjNfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ0X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDRfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDQsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ0LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDMgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gMywKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXIzX3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXIzX3Jlc291cmNlcworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjRfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ1X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDVfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDUsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ1LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDQgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gNCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXI0X3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXI0X3Jlc291cmNlcworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjVfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ2X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDZfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDYsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ2LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDUgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gNSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXI1X3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXI1X3Jlc291cmNlcworfTsKKyNlbmRpZgorCisvKgorICogV2F0Y2hkb2c6CisgKiAtIGkuTVgxCisgKiAtIGkuTVgyMQorICogLSBpLk1YMjcKKyAqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBteGNfd2R0X3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gV0RPR19CQVNFX0FERFIsCisJCS5lbmQJPSBXRE9HX0JBU0VfQUREUiArIDB4MzAsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y193ZHQgPSB7CisJLm5hbWUgPSAibXhjX3dkdCIsCisJLmlkID0gMCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUobXhjX3dkdF9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IG14Y193ZHRfcmVzb3VyY2VzLAorfTsKKworLyogR1BJTyBwb3J0IGRlc2NyaXB0aW9uICovCitzdGF0aWMgc3RydWN0IG14Y19ncGlvX3BvcnQgaW14X2dwaW9fcG9ydHNbXSA9IHsKKwlbMF0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMCIsCisJCS5pcnEgPSBNWENfSU5UX0dQSU8sCisJCS5iYXNlID0gKHZvaWQqKShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgxNTAwMCArIDB4MTAwICogMCksCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19NQVhfSU5UX0xJTkVTLAorCX0sCisJWzFdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTEiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDEpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDMyLAorCX0sCisJWzJdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTIiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDIpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDY0LAorCX0sCisJWzNdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTMiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDMpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDk2LAorCX0sCisJWzRdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTQiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDQpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDEyOCwKKwl9LAorCVs1XSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby01IiwKKwkJLmJhc2UgPSAodm9pZCopKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDE1MDAwICsgMHgxMDAgKiA1KSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX01BWF9JTlRfTElORVMgKyAxNjAsCisJfQorfTsKKworaW50IF9faW5pdCBteGNfcmVnaXN0ZXJfZ3Bpb3Modm9pZCkKK3sKKwlyZXR1cm4gbXhjX2dwaW9faW5pdChpbXhfZ3Bpb19wb3J0cywgQVJSQVlfU0laRShpbXhfZ3Bpb19wb3J0cykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvZ2VuZXJpYy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvZ2VuZXJpYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ODc1Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9nZW5lcmljLmMKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIGdlbmVyaWMuYworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKworLyogTVgyNyBtZW1vcnkgbWFwIGRlZmluaXRpb24gKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbXhjX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCS8qCisJICogdGhpcyBmaXhlZCBtYXBwaW5nIGNvdmVyczoKKwkgKiAtIEFJUEkxCisJICogLSBBSVBJMgorCSAqIC0gQUlUQworCSAqIC0gUk9NIFBhdGNoCisJICogLSBhbmQgc29tZSByZXNlcnZlZCBzcGFjZQorCSAqLworCXsKKwkJLnZpcnR1YWwgPSBBSVBJX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihBSVBJX0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBBSVBJX1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfSwKKwkvKgorCSAqIHRoaXMgZml4ZWQgbWFwcGluZyBjb3ZlcnM6CisJICogLSBDU0kKKwkgKiAtIEFUQQorCSAqLworCXsKKwkJLnZpcnR1YWwgPSBTQUhCMV9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oU0FIQjFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFNBSEIxX1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfSwKKwkvKgorCSAqIHRoaXMgZml4ZWQgbWFwcGluZyBjb3ZlcnM6CisJICogLSBFTUkKKwkgKi8KKwl7CisJCS52aXJ0dWFsID0gWF9NRU1DX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihYX01FTUNfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFhfTUVNQ19TSVpFLAorCQkudHlwZSA9IE1UX0RFVklDRQorCX0KK307CisKKy8qCisgKiBJbml0aWFsaXplIHRoZSBtZW1vcnkgbWFwLiBJdCBpcyBjYWxsZWQgZHVyaW5nIHRoZQorICogc3lzdGVtIHN0YXJ0dXAgdG8gY3JlYXRlIHN0YXRpYyBwaHlzaWNhbCB0byB2aXJ0dWFsCisgKiBtZW1vcnkgbWFwIGZvciB0aGUgSU8gbW9kdWxlcy4KKyAqLwordm9pZCBfX2luaXQgbXhjX21hcF9pbyh2b2lkKQoreworCWlvdGFibGVfaW5pdChteGNfaW9fZGVzYywgQVJSQVlfU0laRShteGNfaW9fZGVzYykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvbXgyN2Fkcy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvbXgyN2Fkcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZmYwMWYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9teDI3YWRzLmMKQEAgLTAsMCArMSwzMDQgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDAwIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkCisgKiAgQ29weXJpZ2h0IChDKSAyMDAyIFNoYW5lIE5heSAoc2hhbmVAbWluaXJsLmNvbSkKKyAqICBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9wYXJ0aXRpb25zLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW9tdXgtbXgxLW14Mi5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MjdhZHMuaD4KKworLyogQURTJ3MgTk9SIGZsYXNoICovCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBteDI3YWRzX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoID0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXgyN2Fkc19mbGFzaF9yZXNvdXJjZSA9IHsKKwkuc3RhcnQgPSAweGMwMDAwMDAwLAorCS5lbmQgPSAweGMwMDAwMDAwICsgMHgwMjAwMDAwMCAtIDEsCisJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14MjdhZHNfbm9yX210ZF9kZXZpY2UgPSB7CisJLm5hbWUgPSAicGh5c21hcC1mbGFzaCIsCisJLmlkID0gMCwKKwkuZGV2ID0geworCQkucGxhdGZvcm1fZGF0YSA9ICZteDI3YWRzX2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcyA9IDEsCisJLnJlc291cmNlID0gJm14MjdhZHNfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgaW50IG14Y191YXJ0MF9waW5zW10gPSB7CisJUEUxMl9QRl9VQVJUMV9UWEQsCisJUEUxM19QRl9VQVJUMV9SWEQsCisJUEUxNF9QRl9VQVJUMV9DVFMsCisJUEUxNV9QRl9VQVJUMV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQwIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0MV9waW5zW10gPSB7CisJUEUzX1BGX1VBUlQyX0NUUywKKwlQRTRfUEZfVUFSVDJfUlRTLAorCVBFNl9QRl9VQVJUMl9UWEQsCisJUEU3X1BGX1VBUlQyX1JYRAorfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDEiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQxIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQyX3BpbnNbXSA9IHsKKwlQRThfUEZfVUFSVDNfVFhELAorCVBFOV9QRl9VQVJUM19SWEQsCisJUEUxMF9QRl9VQVJUM19DVFMsCisJUEUxMV9QRl9VQVJUM19SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQyIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMiIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0M19waW5zW10gPSB7CisJUEIyNl9BRl9VQVJUNF9SVFMsCisJUEIyOF9BRl9VQVJUNF9UWEQsCisJUEIyOV9BRl9VQVJUNF9DVFMsCisJUEIzMV9BRl9VQVJUNF9SWEQKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDNfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0M19waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQzIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDNfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0M19waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMyIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0NF9waW5zW10gPSB7CisJUEIxOF9BRl9VQVJUNV9UWEQsCisJUEIxOV9BRl9VQVJUNV9SWEQsCisJUEIyMF9BRl9VQVJUNV9DVFMsCisJUEIyMV9BRl9VQVJUNV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDRfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDRfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQ0Iik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDRfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDRfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUNCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0NV9waW5zW10gPSB7CisJUEIxMF9BRl9VQVJUNl9UWEQsCisJUEIxMl9BRl9VQVJUNl9DVFMsCisJUEIxMV9BRl9VQVJUNl9SWEQsCisJUEIxM19BRl9VQVJUNl9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDVfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDVfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQ1Iik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDVfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDVfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUNSIpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJm14MjdhZHNfbm9yX210ZF9kZXZpY2UsCit9OworCitzdGF0aWMgaW50IG14Y19mZWNfcGluc1tdID0geworCVBEMF9BSU5fRkVDX1RYRDAsCisJUEQxX0FJTl9GRUNfVFhEMSwKKwlQRDJfQUlOX0ZFQ19UWEQyLAorCVBEM19BSU5fRkVDX1RYRDMsCisJUEQ0X0FPVVRfRkVDX1JYX0VSLAorCVBENV9BT1VUX0ZFQ19SWEQxLAorCVBENl9BT1VUX0ZFQ19SWEQyLAorCVBEN19BT1VUX0ZFQ19SWEQzLAorCVBEOF9BRl9GRUNfTURJTywKKwlQRDlfQUlOX0ZFQ19NREMsCisJUEQxMF9BT1VUX0ZFQ19DUlMsCisJUEQxMV9BT1VUX0ZFQ19UWF9DTEssCisJUEQxMl9BT1VUX0ZFQ19SWEQwLAorCVBEMTNfQU9VVF9GRUNfUlhfRFYsCisJUEQxNF9BT1VUX0ZFQ19DTFIsCisJUEQxNV9BT1VUX0ZFQ19DT0wsCisJUEQxNl9BSU5fRkVDX1RYX0VSLAorCVBGMjNfQUlOX0ZFQ19UWF9FTgorfTsKKworc3RhdGljIHZvaWQgZ3Bpb19mZWNfYWN0aXZlKHZvaWQpCit7CisJbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfZmVjX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y19mZWNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIkZFQyIpOworfQorCitzdGF0aWMgdm9pZCBncGlvX2ZlY19pbmFjdGl2ZSh2b2lkKQoreworCW14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX2ZlY19waW5zLAorCQkJQVJSQVlfU0laRShteGNfZmVjX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiRkVDIik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHVhcnRfcGRhdGFbXSA9IHsKKwl7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDBfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0MF9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0MV9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQxX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQyX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDJfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDNfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0M19leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0NF9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQ0X2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQ1X2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDVfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IG14MjdhZHNfYm9hcmRfaW5pdCh2b2lkKQoreworCWludCBpOworCisJZ3Bpb19mZWNfYWN0aXZlKCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQorCQlpbXhfaW5pdF91YXJ0KGksICZ1YXJ0X3BkYXRhW2ldKTsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgbXgyN2Fkc190aW1lcl9pbml0KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmcmVmID0gMjYwMDAwMDA7CisKKwlpZiAoKF9fcmF3X3JlYWR3KFBCQ19WRVJTSU9OX1JFRykgJiBDS0lIXzI3TUhaX0JJVF9TRVQpID09IDApCisJCWZyZWYgPSAyNzAwMDAwMDsKKworCW14Y19jbG9ja3NfaW5pdChmcmVmKTsKKwlteGNfdGltZXJfaW5pdCgiZ3B0X2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgbXgyN2Fkc190aW1lciA9IHsKKwkuaW5pdAk9IG14MjdhZHNfdGltZXJfaW5pdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbXgyN2Fkc19pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsID0gUEJDX0JBU0VfQUREUkVTUywKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQ1M0X0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBTWl8xTSwKKwkJLnR5cGUgPSBNVF9ERVZJQ0UsCisJfSwKK307CisKK3ZvaWQgX19pbml0IG14MjdhZHNfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChteDI3YWRzX2lvX2Rlc2MsIEFSUkFZX1NJWkUobXgyN2Fkc19pb19kZXNjKSk7Cit9CisKK01BQ0hJTkVfU1RBUlQoTVgyN0FEUywgIkZyZWVzY2FsZSBpLk1YMjdBRFMiKQorCS8qIG1haW50YWluZXI6IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuICovCisJLnBoeXNfaW8gICAgICAgID0gQUlQSV9CQVNFX0FERFIsCisJLmlvX3BnX29mZnN0ICAgID0gKChBSVBJX0JBU0VfQUREUl9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zICAgID0gUEhZU19PRkZTRVQgKyAweDEwMCwKKwkubWFwX2lvICAgICAgICAgPSBteDI3YWRzX21hcF9pbywKKwkuaW5pdF9pcnEgICAgICAgPSBteGNfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZSAgID0gbXgyN2Fkc19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZteDI3YWRzX3RpbWVyLAorTUFDSElORV9FTkQKKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvcGNtMDM4LmMgYi9hcmNoL2FybS9tYWNoLW14Mi9wY20wMzguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWEyOGY1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvcGNtMDM4LmMKQEAgLTAsMCArMSwyMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNyBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14MS1teDIuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXVhcnQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1wY20wMzguaD4KKworLyoKKyAqIFBoeXRlYydzIHBoeUNPUkUtaS5NWDI3IGNvbWVzIHdpdGggMzJNaUIgZmxhc2gsCisgKiAxNiBiaXQgd2lkdGgKKyAqLworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgcGNtMDM4X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoID0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcGNtMDM4X2ZsYXNoX3Jlc291cmNlID0geworCS5zdGFydCA9IDB4YzAwMDAwMDAsCisJLmVuZCAgID0gMHhjMWZmZmZmZiwKKwkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBjbTAzOF9ub3JfbXRkX2RldmljZSA9IHsKKwkubmFtZSA9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQgPSAwLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhID0gJnBjbTAzOF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMgPSAxLAorCS5yZXNvdXJjZSA9ICZwY20wMzhfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgaW50IG14Y191YXJ0MF9waW5zW10gPSB7CisJUEUxMl9QRl9VQVJUMV9UWEQsCisJUEUxM19QRl9VQVJUMV9SWEQsCisJUEUxNF9QRl9VQVJUMV9DVFMsCisJUEUxNV9QRl9VQVJUMV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQwIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0MV9waW5zW10gPSB7CisJUEUzX1BGX1VBUlQyX0NUUywKKwlQRTRfUEZfVUFSVDJfUlRTLAorCVBFNl9QRl9VQVJUMl9UWEQsCisJUEU3X1BGX1VBUlQyX1JYRAorfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDEiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQxIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQyX3BpbnNbXSA9IHsgUEUxMF9QRl9VQVJUM19DVFMsCisJCQkJUEU5X1BGX1VBUlQzX1JYRCwKKwkJCQlQRTEwX1BGX1VBUlQzX0NUUywKKwkJCQlQRTlfUEZfVUFSVDNfUlhEIH07CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQyIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMiIpOworfQorCitzdGF0aWMgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSB1YXJ0X3BkYXRhW10gPSB7CisJeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQwX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDBfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDFfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0MV9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0Ml9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQyX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwKK307CisKK3N0YXRpYyBpbnQgbXhjX2ZlY19waW5zW10gPSB7CisJUEQwX0FJTl9GRUNfVFhEMCwKKwlQRDFfQUlOX0ZFQ19UWEQxLAorCVBEMl9BSU5fRkVDX1RYRDIsCisJUEQzX0FJTl9GRUNfVFhEMywKKwlQRDRfQU9VVF9GRUNfUlhfRVIsCisJUEQ1X0FPVVRfRkVDX1JYRDEsCisJUEQ2X0FPVVRfRkVDX1JYRDIsCisJUEQ3X0FPVVRfRkVDX1JYRDMsCisJUEQ4X0FGX0ZFQ19NRElPLAorCVBEOV9BSU5fRkVDX01EQywKKwlQRDEwX0FPVVRfRkVDX0NSUywKKwlQRDExX0FPVVRfRkVDX1RYX0NMSywKKwlQRDEyX0FPVVRfRkVDX1JYRDAsCisJUEQxM19BT1VUX0ZFQ19SWF9EViwKKwlQRDE0X0FPVVRfRkVDX0NMUiwKKwlQRDE1X0FPVVRfRkVDX0NPTCwKKwlQRDE2X0FJTl9GRUNfVFhfRVIsCisJUEYyM19BSU5fRkVDX1RYX0VOCit9OworCitzdGF0aWMgdm9pZCBncGlvX2ZlY19hY3RpdmUodm9pZCkKK3sKKwlteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y19mZWNfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX2ZlY19waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiRkVDIik7Cit9CisKK3N0YXRpYyB2b2lkIGdwaW9fZmVjX2luYWN0aXZlKHZvaWQpCit7CisJbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfZmVjX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y19mZWNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJGRUMiKTsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRmb3JtX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZwY20wMzhfbm9yX210ZF9kZXZpY2UsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcGNtMDM4X2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKwlncGlvX2ZlY19hY3RpdmUoKTsKKworCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspCisJCWlteF9pbml0X3VhcnQoaSwgJnVhcnRfcGRhdGFbaV0pOworCisJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7CisKKyNpZmRlZiBDT05GSUdfTUFDSF9QQ005NzBfQkFTRUJPQVJECisJcGNtOTcwX2Jhc2Vib2FyZF9pbml0KCk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgX19pbml0IHBjbTAzOF90aW1lcl9pbml0KHZvaWQpCit7CisJbXhjX2Nsb2Nrc19pbml0KDI2MDAwMDAwKTsKKwlteGNfdGltZXJfaW5pdCgiZ3B0X2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgcGNtMDM4X3RpbWVyID0geworCS5pbml0ID0gcGNtMDM4X3RpbWVyX2luaXQsCit9OworCitNQUNISU5FX1NUQVJUKFBDTTAzOCwgInBoeUNPUkUtaS5NWDI3IikKKwkucGh5c19pbyAgICAgICAgPSBBSVBJX0JBU0VfQUREUiwKKwkuaW9fcGdfb2Zmc3QgICAgPSAoKEFJUElfQkFTRV9BRERSX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMgICAgPSBQSFlTX09GRlNFVCArIDB4MTAwLAorCS5tYXBfaW8gICAgICAgICA9IG14Y19tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IHBjbTAzOF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZwY20wMzhfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvcGNtOTcwLWJhc2Vib2FyZC5jIGIvYXJjaC9hcm0vbWFjaC1teDIvcGNtOTcwLWJhc2Vib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyOGFjNGQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9wY205NzAtYmFzZWJvYXJkLmMKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisKKy8qCisgKiBzeXN0ZW0gaW5pdCBmb3IgYmFzZWJvYXJkIHVzYWdlLiBXaWxsIGJlIGNhbGxlZCBieSBwY20wMzggaW5pdC4KKyAqCisgKiBBZGQgcGxhdGZvcm0gZGV2aWNlcyBwcmVzZW50IG9uIHRoaXMgYmFzZWJvYXJkIGFuZCBpbml0CisgKiB0aGVtIGZyb20gQ1BVIHNpZGUgYXMgZmFyIGFzIHJlcXVpcmVkIHRvIHVzZSB0aGVtIGxhdGVyIG9uCisgKi8KK3ZvaWQgX19pbml0IHBjbTk3MF9iYXNlYm9hcmRfaW5pdCh2b2lkKQoreworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvc2VyaWFsLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9zZXJpYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzBjMDJiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvc2VyaWFsLmMKQEAgLTAsMCArMSwxNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pbXgtdWFydC5oPgorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQwW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUMV9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUMV9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQxLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTAgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDAsCisJLnJlc291cmNlID0gdWFydDAsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQwKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDFbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQyX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQyX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDIsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQyLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMSA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMSwKKwkucmVzb3VyY2UgPSB1YXJ0MSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDEpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MltdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDNfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDNfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMywKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UyID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAyLAorCS5yZXNvdXJjZSA9IHVhcnQyLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MiksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQzW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUNF9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUNF9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQ0LAorCQkuZW5kID0gTVhDX0lOVF9VQVJUNCwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTMgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDMsCisJLnJlc291cmNlID0gdWFydDMsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQzKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDRbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ1X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ1X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDUsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlNCA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gNCwKKwkucmVzb3VyY2UgPSB1YXJ0NCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDQpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0NVtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDZfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDZfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNiwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2U1ID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSA1LAorCS5yZXNvdXJjZSA9IHVhcnQ1LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0NSksCit9OworCisvKgorICogUmVnaXN0ZXIgb25seSB0aG9zZSBVQVJUcyB0aGF0IHBoeXNpY2FsbHkgZXhpc3RzCisgKi8KK2ludCBfX2luaXQgaW14X2luaXRfdWFydChpbnQgdWFydF9ubywgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGEpCit7CisJc3dpdGNoICh1YXJ0X25vKSB7CisJY2FzZSAwOgorCQlteGNfdWFydF9kZXZpY2UwLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMCk7CisJCWJyZWFrOworCWNhc2UgMToKKwkJbXhjX3VhcnRfZGV2aWNlMS5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTEpOworCQlicmVhazsKKyNpZm5kZWYgQ09ORklHX01YQ19JUkRBCisJY2FzZSAyOgorCQlteGNfdWFydF9kZXZpY2UyLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMik7CisJCWJyZWFrOworI2VuZGlmCisJY2FzZSAzOgorCQlteGNfdWFydF9kZXZpY2UzLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMyk7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJbXhjX3VhcnRfZGV2aWNlNC5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTQpOworCQlicmVhazsKKwljYXNlIDU6CisJCW14Y191YXJ0X2RldmljZTUuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2U1KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9zeXN0ZW0uYyBiL2FyY2gvYXJtL21hY2gtbXgyL3N5c3RlbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5MzA0NjQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9zeXN0ZW0uYwpAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IEFSTSBMaW1pdGVkCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQKKyAqIENvcHlyaWdodCAyMDA2LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vcHJvYy1mbnMuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisKKy8qCisgKiBQdXQgdGhlIENQVSBpbnRvIGlkbGUgbW9kZS4gSXQgaXMgY2FsbGVkIGJ5IGRlZmF1bHRfaWRsZSgpCisgKiBpbiBwcm9jZXNzLmMgZmlsZS4KKyAqLwordm9pZCBhcmNoX2lkbGUodm9pZCkKK3sKKwkvKgorCSAqIFRoaXMgc2hvdWxkIGRvIGFsbCB0aGUgY2xvY2sgc3dpdGNoaW5nCisJICogYW5kIHdhaXQgZm9yIGludGVycnVwdCB0cmlja3MuCisJICovCisJY3B1X2RvX2lkbGUoKTsKK30KKworI2RlZmluZSBXRE9HX1dDUl9SRUcgICAgICAgICAgICAgICAgICAgIElPX0FERFJFU1MoV0RPR19CQVNFX0FERFIpCisjZGVmaW5lIFdET0dfV0NSX1NSUyAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKKworLyoKKyAqIFJlc2V0IHRoZSBzeXN0ZW0uIEl0IGlzIGNhbGxlZCBieSBtYWNoaW5lX3Jlc3RhcnQoKS4KKyAqLwordm9pZCBhcmNoX3Jlc2V0KGNoYXIgbW9kZSkKK3sKKwlzdHJ1Y3QgY2xrICpjbGs7CisKKwljbGsgPSBjbGtfZ2V0KE5VTEwsICJ3ZG9nX2NsayIpOworCWlmICghY2xrKSB7CisJCXByaW50ayhLRVJOX0VSUiJDYW5ub3QgYWN0aXZhdGUgdGhlIHdhdGNoZG9nLiBHaXZpbmcgdXBcbiIpOworCQlyZXR1cm47CisJfQorCisJY2xrX2VuYWJsZShjbGspOworCisJLyogQXNzZXJ0IFNSUyBzaWduYWwgKi8KKwlfX3Jhd193cml0ZXcoX19yYXdfcmVhZHcoV0RPR19XQ1JfUkVHKSAmIH5XRE9HX1dDUl9TUlMsIFdET0dfV0NSX1JFRyk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1teDMvS2NvbmZpZwppbmRleCA1ZmU4NjA2Li5kYjk0MzFkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL0tjb25maWcKQEAgLTgsNSArOCwxOCBAQAogCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBNWDMxQURTIHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzIHNwZWNpZmljCiAJICBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCiAKK2NvbmZpZyBNQUNIX1BDTTAzNworCWJvb2wgIlN1cHBvcnQgUGh5dGVjIHBjbTAzNyBwbGF0Zm9ybXMiCisJaGVscAorCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBQaHl0ZWMgcGNtMDM3IHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzCisJICBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCisKK2NvbmZpZyBNQUNIX01YMzFMSVRFCisJYm9vbCAiU3VwcG9ydCBNWDMxIExJVEVLSVQgKExvZ2ljUEQpIgorCWRlZmF1bHQgbgorCWhlbHAKKwkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgTVgzMSBMSVRFS0lUIHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzIHNwZWNpZmljCisJICBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCisKIGVuZG1lbnUKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQppbmRleCBjYmVjOTk3Li44YjIxYWJiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQpAQCAtNCw1ICs0LDcgQEAKIAogIyBPYmplY3QgZmlsZSBsaXN0cy4KIAotb2JqLXkJCQk6PSBtbS5vIHRpbWUubworb2JqLXkJCQk6PSBtbS5vIGNsb2NrLm8gZGV2aWNlcy5vIGlvbXV4Lm8KIG9iai0kKENPTkZJR19NQUNIX01YMzFBRFMpCSs9IG14MzFhZHMubworb2JqLSQoQ09ORklHX01BQ0hfTVgzMUxJVEUpCSs9IG14MzFsaXRlLm8KK29iai0kKENPTkZJR19NQUNIX1BDTTAzNykJKz0gcGNtMDM3Lm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLW14My9jbG9jay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMzYzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9jbG9jay5jCkBAIC0wLDAgKzEsMTE0NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA1LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vZGl2NjQuaD4KKworI2luY2x1ZGUgImNybV9yZWdzLmgiCisKKyNkZWZpbmUgUFJFX0RJVl9NSU5fRlJFUSAgICAxMDAwMDAwMCAvKiBNaW5pbXVtIEZyZXF1ZW5jeSBhZnRlciBQcmVkaXZpZGVyICovCisKK3N0YXRpYyB2b2lkIF9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyh1MzIgZGl2LCB1MzIgKnByZSwgdTMyICpwb3N0KQoreworCXUzMiBtaW5fcHJlLCB0ZW1wX3ByZSwgb2xkX2VyciwgZXJyOworCisJaWYgKGRpdiA+PSA1MTIpIHsKKwkJKnByZSA9IDg7CisJCSpwb3N0ID0gNjQ7CisJfSBlbHNlIGlmIChkaXYgPj0gNjQpIHsKKwkJbWluX3ByZSA9IChkaXYgLSAxKSAvIDY0ICsgMTsKKwkJb2xkX2VyciA9IDg7CisJCWZvciAodGVtcF9wcmUgPSA4OyB0ZW1wX3ByZSA+PSBtaW5fcHJlOyB0ZW1wX3ByZS0tKSB7CisJCQllcnIgPSBkaXYgJSB0ZW1wX3ByZTsKKwkJCWlmIChlcnIgPT0gMCkgeworCQkJCSpwcmUgPSB0ZW1wX3ByZTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWVyciA9IHRlbXBfcHJlIC0gZXJyOworCQkJaWYgKGVyciA8IG9sZF9lcnIpIHsKKwkJCQlvbGRfZXJyID0gZXJyOworCQkJCSpwcmUgPSB0ZW1wX3ByZTsKKwkJCX0KKwkJfQorCQkqcG9zdCA9IChkaXYgKyAqcHJlIC0gMSkgLyAqcHJlOworCX0gZWxzZSBpZiAoZGl2IDw9IDgpIHsKKwkJKnByZSA9IGRpdjsKKwkJKnBvc3QgPSAxOworCX0gZWxzZSB7CisJCSpwcmUgPSAxOworCQkqcG9zdCA9IGRpdjsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1jdV9wbGxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgbWN1X21haW5fY2xrOworc3RhdGljIHN0cnVjdCBjbGsgdXNiX3BsbF9jbGs7CitzdGF0aWMgc3RydWN0IGNsayBzZXJpYWxfcGxsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlwZ19jbGs7CitzdGF0aWMgc3RydWN0IGNsayBja2loX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIGFoYl9jbGs7CisKK3N0YXRpYyBpbnQgX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyB8PSAzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0OworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgJj0gfigzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0KTsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2VtaV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgJj0gfigzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0KTsKKwlyZWcgfD0gKDEgPDwgY2xrLT5lbmFibGVfc2hpZnQpOworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19wbGxfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZzsKKwlzaWduZWQgbG9uZyBwZCA9IDE7CS8qIFByZS1kaXZpZGVyICovCisJc2lnbmVkIGxvbmcgbWZpOwkvKiBNdWx0aXBsaWNhdGlvbiBGYWN0b3IgKEludGVnZXIgcGFydCkgKi8KKwlzaWduZWQgbG9uZyBtZm47CS8qIE11bHRpcGxpY2F0aW9uIEZhY3RvciAoSW50ZWdlciBwYXJ0KSAqLworCXNpZ25lZCBsb25nIG1mZDsJLyogTXVsdGlwbGljYXRpb24gRmFjdG9yIChEZW5vbWluYXRvciBQYXJ0KSAqLworCXNpZ25lZCBsb25nIHRtcDsKKwl1MzIgcmVmX2ZyZXEgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJd2hpbGUgKCgocmVmX2ZyZXEgLyBwZCkgKiAxMCkgPiByYXRlKQorCQlwZCsrOworCisJaWYgKChyZWZfZnJlcSAvIHBkKSA8IFBSRV9ESVZfTUlOX0ZSRVEpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogdGhlIHJlZl9mcmVxLzIgaW4gdGhlIGZvbGxvd2luZyBpcyB0byByb3VuZCB1cCAqLworCW1maSA9ICgoKHJhdGUgLyAyKSAqIHBkKSArIChyZWZfZnJlcSAvIDIpKSAvIHJlZl9mcmVxOworCWlmIChtZmkgPCA1IHx8IG1maSA+IDE1KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIHBpY2sgYSBtZmQgdmFsdWUgdGhhdCB3aWxsIHdvcmsKKwkgKiB0aGVuIHNvbHZlIGZvciBtZm4gKi8KKwltZmQgPSByZWZfZnJlcSAvIDUwMDAwOworCisJLyoKKwkgKiAgICAgICAgICBwbGxfZnJlcSAqIHBkICogbWZkCisJICogICBtZm4gPSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAgLSAgKG1maSAqIG1mZCkKKwkgKiAgICAgICAgICAgMiAqIHJlZl9mcmVxCisJICovCisJLyogdGhlIHRtcC8yIGlzIGZvciByb3VuZGluZyAqLworCXRtcCA9IHJlZl9mcmVxIC8gMTAwMDA7CisJbWZuID0KKwkgICAgKCgoKCgocmF0ZSAvIDIpICsgKHRtcCAvIDIpKSAvIHRtcCkgKiBwZCkgKiBtZmQpIC8gMTAwMDApIC0KKwkgICAgKG1maSAqIG1mZCk7CisKKwltZm4gPSBtZm4gJiAweDNmZjsKKwlwZC0tOworCW1mZC0tOworCisJLyogQ2hhbmdlIHRoZSBQbGwgdmFsdWUgKi8KKwlyZWcgPSAobWZpIDw8IE1YQ19DQ01fUENUTF9NRklfT0ZGU0VUKSB8CisJICAgIChtZm4gPDwgTVhDX0NDTV9QQ1RMX01GTl9PRkZTRVQpIHwKKwkgICAgKG1mZCA8PCBNWENfQ0NNX1BDVExfTUZEX09GRlNFVCkgfCAocGQgPDwgTVhDX0NDTV9QQ1RMX1BEX09GRlNFVCk7CisKKwlpZiAoY2xrID09ICZtY3VfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9NUENUTCk7CisJZWxzZSBpZiAoY2xrID09ICZ1c2JfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9VUENUTCk7CisJZWxzZSBpZiAoY2xrID09ICZzZXJpYWxfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9TUlBDVEwpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGxsX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlsb25nIG1maSwgbWZuLCBtZmQsIHBkZiwgcmVmX2NsaywgbWZuX2FiczsKKwl1bnNpZ25lZCBsb25nIHJlZywgY2NtcjsKKwlzNjQgdGVtcDsKKwl1bnNpZ25lZCBpbnQgcHJjczsKKworCWNjbXIgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXByY3MgPSAoY2NtciAmIE1YQ19DQ01fQ0NNUl9QUkNTX01BU0spID4+IE1YQ19DQ01fQ0NNUl9QUkNTX09GRlNFVDsKKwlpZiAocHJjcyA9PSAweDEpCisJCXJlZl9jbGsgPSBDS0lMX0NMS19GUkVRICogMTAyNDsKKwllbHNlCisJCXJlZl9jbGsgPSBjbGtfZ2V0X3JhdGUoJmNraWhfY2xrKTsKKworCWlmIChjbGsgPT0gJm1jdV9wbGxfY2xrKSB7CisJCWlmICgoY2NtciAmIE1YQ19DQ01fQ0NNUl9NUEUpID09IDApCisJCQlyZXR1cm4gcmVmX2NsazsKKwkJaWYgKChjY21yICYgTVhDX0NDTV9DQ01SX01EUykgIT0gMCkKKwkJCXJldHVybiByZWZfY2xrOworCQlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX01QQ1RMKTsKKwl9IGVsc2UgaWYgKGNsayA9PSAmdXNiX3BsbF9jbGspCisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fVVBDVEwpOworCWVsc2UgaWYgKGNsayA9PSAmc2VyaWFsX3BsbF9jbGspCisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fU1JQQ1RMKTsKKwllbHNlIHsKKwkJQlVHKCk7CisJCXJldHVybiAwOworCX0KKworCXBkZiA9IChyZWcgJiBNWENfQ0NNX1BDVExfUERfTUFTSykgPj4gTVhDX0NDTV9QQ1RMX1BEX09GRlNFVDsKKwltZmQgPSAocmVnICYgTVhDX0NDTV9QQ1RMX01GRF9NQVNLKSA+PiBNWENfQ0NNX1BDVExfTUZEX09GRlNFVDsKKwltZmkgPSAocmVnICYgTVhDX0NDTV9QQ1RMX01GSV9NQVNLKSA+PiBNWENfQ0NNX1BDVExfTUZJX09GRlNFVDsKKwltZmkgPSAobWZpIDw9IDUpID8gNSA6IG1maTsKKwltZm4gPSBtZm5fYWJzID0gcmVnICYgTVhDX0NDTV9QQ1RMX01GTl9NQVNLOworCisJaWYgKG1mbiA+PSAweDIwMCkgeworCQltZm4gfD0gMHhGRkZGRkUwMDsKKwkJbWZuX2FicyA9IC1tZm47CisJfQorCisJcmVmX2NsayAqPSAyOworCXJlZl9jbGsgLz0gcGRmICsgMTsKKworCXRlbXAgPSAodTY0KSByZWZfY2xrICogbWZuX2FiczsKKwlkb19kaXYodGVtcCwgbWZkICsgMSk7CisJaWYgKG1mbiA8IDApCisJCXRlbXAgPSAtdGVtcDsKKwl0ZW1wID0gKHJlZl9jbGsgKiBtZmkpICsgdGVtcDsKKworCXJldHVybiB0ZW1wOworfQorCitzdGF0aWMgaW50IF9jbGtfdXNiX3BsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXJlZyB8PSBNWENfQ0NNX0NDTVJfVVBFOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ0NNUik7CisKKwkvKiBObyBsb2NrIGJpdCBvbiBNWDMxLCBzbyB1c2luZyBtYXggdGltZSBmcm9tIHNwZWMgKi8KKwl1ZGVsYXkoODApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfdXNiX3BsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlyZWcgJj0gfk1YQ19DQ01fQ0NNUl9VUEU7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DQ01SKTsKK30KKworc3RhdGljIGludCBfY2xrX3NlcmlhbF9wbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlyZWcgfD0gTVhDX0NDTV9DQ01SX1NQRTsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NDTVIpOworCisJLyogTm8gbG9jayBiaXQgb24gTVgzMSwgc28gdXNpbmcgbWF4IHRpbWUgZnJvbSBzcGVjICovCisJdWRlbGF5KDgwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NlcmlhbF9wbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ0NNUik7CisJcmVnICY9IH5NWENfQ0NNX0NDTVJfU1BFOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ0NNUik7Cit9CisKKyNkZWZpbmUgUERSMChtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIwKSAmIG1hc2spID4+IG9mZikKKyNkZWZpbmUgUERSMShtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIxKSAmIG1hc2spID4+IG9mZikKKyNkZWZpbmUgUERSMihtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIyKSAmIG1hc2spID4+IG9mZikKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tY3VfbWFpbl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHBtY3IwID0gX19yYXdfcmVhZGwoTVhDX0NDTV9QTUNSMCk7CisKKwlpZiAoKHBtY3IwICYgTVhDX0NDTV9QTUNSMF9ERlNVUDEpID09IE1YQ19DQ01fUE1DUjBfREZTVVAxX1NQTEwpCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoJnNlcmlhbF9wbGxfY2xrKTsKKwllbHNlCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoJm1jdV9wbGxfY2xrKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19oY2xrX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1heF9wZGY7CisKKwltYXhfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfTUFYX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKG1heF9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19pcGdfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgaXBnX3BkZjsKKworCWlwZ19wZGYgPSBQRFIwKE1YQ19DQ01fUERSMF9JUEdfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIwX0lQR19QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoaXBnX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX25mY19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBuZmNfcGRmOworCisJbmZjX3BkZiA9IFBEUjAoTVhDX0NDTV9QRFIwX05GQ19QT0RGX01BU0ssCisJCSAgICAgICBNWENfQ0NNX1BEUjBfTkZDX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChuZmNfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfaHNwX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGhzcF9wZGY7CisKKwloc3BfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfSFNQX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9IU1BfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKGhzcF9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa191c2JfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdXNiX3BkZiwgdXNiX3ByZXBkZjsKKworCXVzYl9wZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9VU0JfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIxX1VTQl9QT0RGX09GRlNFVCk7CisJdXNiX3ByZXBkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX1VTQl9QUkRGX01BU0ssCisJCQkgIE1YQ19DQ01fUERSMV9VU0JfUFJERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHVzYl9wcmVwZGYgKyAxKSAvICh1c2JfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY3NpX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnLCBwcmUsIHBvc3Q7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjApOworCXByZSA9IChyZWcgJiBNWENfQ0NNX1BEUjBfQ1NJX1BSREZfTUFTSykgPj4KKwkgICAgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVDsKKwlwcmUrKzsKKwlwb3N0ID0gKHJlZyAmIE1YQ19DQ01fUERSMF9DU0lfUE9ERl9NQVNLKSA+PgorCSAgICBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfT0ZGU0VUOworCXBvc3QrKzsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChwcmUgKiBwb3N0KTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19jc2lfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcHJlLCBwb3N0LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCXUzMiBkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKHBhcmVudCAlIHJhdGUpCisJCWRpdisrOworCisJX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKGRpdiwgJnByZSwgJnBvc3QpOworCisJcmV0dXJuIHBhcmVudCAvIChwcmUgKiBwb3N0KTsKK30KKworc3RhdGljIGludCBfY2xrX2NzaV9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcmVnLCBkaXYsIHByZSwgcG9zdCwgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudCAvIHJhdGU7CisKKwlpZiAoKHBhcmVudCAvIGRpdikgIT0gcmF0ZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX2NhbGNfcHJlX3Bvc3RfZGl2aWRlcnMoZGl2LCAmcHJlLCAmcG9zdCk7CisKKwkvKiBTZXQgQ1NJIGNsb2NrIGRpdmlkZXIgKi8KKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjApICYKKwkgICAgfihNWENfQ0NNX1BEUjBfQ1NJX1BPREZfTUFTSyB8IE1YQ19DQ01fUERSMF9DU0lfUFJERl9NQVNLKTsKKwlyZWcgfD0gKHBvc3QgLSAxKSA8PCBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfT0ZGU0VUOworCXJlZyB8PSAocHJlIC0gMSkgPDwgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVDsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX1BEUjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGVyX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHBlcl9wZGY7CisKKwlwZXJfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfUEVSX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9QRVJfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHBlcl9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kxX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTFfcGRmLCBzc2kxX3ByZXBkZjsKKworCXNzaTFfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfU1NJMV9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfU1NJMV9QT0RGX09GRlNFVCk7CisJc3NpMV9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9TU0kxX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfU1NJMV9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHNzaTFfcHJlcGRmICsgMSkgLyAoc3NpMV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kyX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTJfcGRmLCBzc2kyX3ByZXBkZjsKKworCXNzaTJfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX09GRlNFVCk7CisJc3NpMl9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9TU0kyX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfU1NJMl9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHNzaTJfcHJlcGRmICsgMSkgLyAoc3NpMl9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19maXJpX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGZpcmlfcGRmLCBmaXJpX3ByZXBkZjsKKworCWZpcmlfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfRklSSV9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfRklSSV9QT0RGX09GRlNFVCk7CisJZmlyaV9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKGZpcmlfcHJlcGRmICsgMSkgLyAoZmlyaV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19maXJpX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHByZSwgcG9zdDsKKwl1MzIgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1MzIgZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmIChwYXJlbnQgJSByYXRlKQorCQlkaXYrKzsKKworCV9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyhkaXYsICZwcmUsICZwb3N0KTsKKworCXJldHVybiBwYXJlbnQgLyAocHJlICogcG9zdCk7CisKK30KKworc3RhdGljIGludCBfY2xrX2Zpcmlfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZywgZGl2LCBwcmUsIHBvc3QsIHBhcmVudCA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKChwYXJlbnQgLyBkaXYpICE9IHJhdGUpCisJCXJldHVybiAtRUlOVkFMOworCisJX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKGRpdiwgJnByZSwgJnBvc3QpOworCisJLyogU2V0IEZJUkkgY2xvY2sgZGl2aWRlciAqLworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUERSMSkgJgorCSAgICB+KE1YQ19DQ01fUERSMV9GSVJJX1BPREZfTUFTSyB8IE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX01BU0spOworCXJlZyB8PSAocHJlIC0gMSkgPDwgTVhDX0NDTV9QRFIxX0ZJUklfUFJFX1BPREZfT0ZGU0VUOworCXJlZyB8PSAocG9zdCAtIDEpIDw8IE1YQ19DQ01fUERSMV9GSVJJX1BPREZfT0ZGU0VUOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fUERSMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tYnhfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gMjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tc3RpY2sxX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1zdGlfcGRmOworCisJbXN0aV9wZGYgPSBQRFIyKE1YQ19DQ01fUERSMl9NU1QxX1BERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIyX01TVDFfUERGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAobXN0aV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tc3RpY2syX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1zdGlfcGRmOworCisJbXN0aV9wZGYgPSBQRFIyKE1YQ19DQ01fUERSMl9NU1QyX1BERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIyX01TVDJfUERGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAobXN0aV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2tpaF9yYXRlOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbGtfY2tpaF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIGNraWhfcmF0ZTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2tpaF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpaCIsCisJLmdldF9yYXRlID0gY2xrX2NraWhfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbGtfY2tpbF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIENLSUxfQ0xLX0ZSRVE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNraWxfY2xrID0geworCS5uYW1lID0gImNraWwiLAorCS5nZXRfcmF0ZSA9IGNsa19ja2lsX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbWN1X3BsbF9jbGsgPSB7CisJLm5hbWUgPSAibWN1X3BsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuc2V0X3JhdGUgPSBfY2xrX3BsbF9zZXRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBfY2xrX3BsbF9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1jdV9tYWluX2NsayA9IHsKKwkubmFtZSA9ICJtY3VfbWFpbl9jbGsiLAorCS5wYXJlbnQgPSAmbWN1X3BsbF9jbGssCisJLmdldF9yYXRlID0gX2Nsa19tY3VfbWFpbl9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNlcmlhbF9wbGxfY2xrID0geworCS5uYW1lID0gInNlcmlhbF9wbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLnNldF9yYXRlID0gX2Nsa19wbGxfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19wbGxfZ2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfc2VyaWFsX3BsbF9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3NlcmlhbF9wbGxfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHVzYl9wbGxfY2xrID0geworCS5uYW1lID0gInVzYl9wbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLnNldF9yYXRlID0gX2Nsa19wbGxfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19wbGxfZ2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfdXNiX3BsbF9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3VzYl9wbGxfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGFoYl9jbGsgPSB7CisJLm5hbWUgPSAiYWhiX2NsayIsCisJLnBhcmVudCA9ICZtY3VfbWFpbl9jbGssCisJLmdldF9yYXRlID0gX2Nsa19oY2xrX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcGVyX2NsayA9IHsKKwkubmFtZSA9ICJwZXJfY2xrIiwKKwkucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfcGVyX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcGVyY2xrX2NsayA9IHsKKwkubmFtZSA9ICJwZXJjbGtfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfQ1NQSTFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfQ1NQSTJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAyLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfQ1NQSTNfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaXBnX2NsayA9IHsKKwkubmFtZSA9ICJpcGdfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmdldF9yYXRlID0gX2Nsa19pcGdfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBlbWlfY2xrID0geworCS5uYW1lID0gImVtaV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9FTUlfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19lbWlfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdF9jbGsgPSB7CisJLm5hbWUgPSAiZ3B0X2NsayIsCisJLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0dQVF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBwd21fY2xrID0geworCS5uYW1lID0gInB3bV9jbGsiLAorCS5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9QV01fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZXBpdF9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gImVwaXRfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0VQSVQxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gImVwaXRfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0VQSVQyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG5mY19jbGsgPSB7CisJLm5hbWUgPSAibmZjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfbmZjX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2NjX2NsayA9IHsKKwkubmFtZSA9ICJzY2NfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBpcHVfY2xrID0geworCS5uYW1lID0gImlwdV9jbGsiLAorCS5wYXJlbnQgPSAmbWN1X21haW5fY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfaHNwX2dldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0lQVV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBrcHBfY2xrID0geworCS5uYW1lID0gImtwcF9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9LUFBfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgd2RvZ19jbGsgPSB7CisJLm5hbWUgPSAid2RvZ19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9XRE9HX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CitzdGF0aWMgc3RydWN0IGNsayBydGNfY2xrID0geworCS5uYW1lID0gInJ0Y19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9SVENfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdXNiX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAidXNiX2NsayIsCisJIC5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJIC5nZXRfcmF0ZSA9IF9jbGtfdXNiX2dldF9yYXRlLH0sCisJeworCSAubmFtZSA9ICJ1c2JfYWhiX2NsayIsCisJIC5wYXJlbnQgPSAmYWhiX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9VU0JPVEdfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY3NpX2NsayA9IHsKKwkubmFtZSA9ICJjc2lfY2xrIiwKKwkucGFyZW50ID0gJnNlcmlhbF9wbGxfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfY3NpX2dldF9yYXRlLAorCS5yb3VuZF9yYXRlID0gX2Nsa19jc2lfcm91bmRfcmF0ZSwKKwkuc2V0X3JhdGUgPSBfY2xrX2NzaV9zZXRfcmF0ZSwKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9DU0lfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdWFydF9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1VBUlQxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1VBUlQyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMiwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQzX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMywKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQ0X09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gNCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQ1X09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGkyY19jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gImkyY19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfSTJDMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJpMmNfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0kyQzJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiaTJjX2NsayIsCisJIC5pZCA9IDIsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9JMkMzX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG93aXJlX2NsayA9IHsKKwkubmFtZSA9ICJvd2lyZV9jbGsiLAorCS5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX09XSVJFX09GRlNFVCwKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAic2RoY19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzZGhjX2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9TRF9NTUMyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNzaV9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInNzaV9jbGsiLAorCSAucGFyZW50ID0gJnNlcmlhbF9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX3NzaTFfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU1NJMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzc2lfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZzZXJpYWxfcGxsX2NsaywKKwkgLmdldF9yYXRlID0gX2Nsa19zc2kyX2dldF9yYXRlLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX1NTSTJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZmlyaV9jbGsgPSB7CisJLm5hbWUgPSAiZmlyaV9jbGsiLAorCS5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJLnJvdW5kX3JhdGUgPSBfY2xrX2Zpcmlfcm91bmRfcmF0ZSwKKwkuc2V0X3JhdGUgPSBfY2xrX2Zpcmlfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19maXJpX2dldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0ZJUklfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgYXRhX2NsayA9IHsKKwkubmFtZSA9ICJhdGFfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfQVRBX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1ieF9jbGsgPSB7CisJLm5hbWUgPSAibWJ4X2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0dBQ0NfT0ZGU0VULAorCS5nZXRfcmF0ZSA9IF9jbGtfbWJ4X2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdnB1X2NsayA9IHsKKwkubmFtZSA9ICJ2cHVfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfR0FDQ19PRkZTRVQsCisJLmdldF9yYXRlID0gX2Nsa19tYnhfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBydGljX2NsayA9IHsKKwkubmFtZSA9ICJydGljX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX1JUSUNfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcm5nX2NsayA9IHsKKwkubmFtZSA9ICJybmdfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfUk5HX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkbWFfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJzZG1hX2FoYl9jbGsiLAorCSAucGFyZW50ID0gJmFoYl9jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU0RNQV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzZG1hX2lwZ19jbGsiLAorCSAucGFyZW50ID0gJmlwZ19jbGssfQorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbXBlZzRfY2xrID0geworCS5uYW1lID0gIm1wZWc0X2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0hBTlRST19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB2bDJjY19jbGsgPSB7CisJLm5hbWUgPSAidmwyY2NfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfSEFOVFJPX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1zdGlja19jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gIm1zdGlja19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX21zdGljazFfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gIm1zdGlja19jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX21zdGljazJfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlpbV9jbGsgPSB7CisJLm5hbWUgPSAiaWltX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0lJTV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NrbzFfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgZGl2LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50IC8gcmF0ZTsKKwlpZiAocGFyZW50ICUgcmF0ZSkKKwkJZGl2Kys7CisKKwlpZiAoZGl2ID4gOCkKKwkJZGl2ID0gMTY7CisJZWxzZSBpZiAoZGl2ID4gNCkKKwkJZGl2ID0gODsKKwllbHNlIGlmIChkaXYgPiAyKQorCQlkaXYgPSA0OworCisJcmV0dXJuIHBhcmVudCAvIGRpdjsKK30KKworc3RhdGljIGludCBfY2xrX2NrbzFfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZywgZGl2LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmIChkaXYgPT0gMTYpCisJCWRpdiA9IDQ7CisJZWxzZSBpZiAoZGl2ID09IDgpCisJCWRpdiA9IDM7CisJZWxzZSBpZiAoZGl2ID09IDQpCisJCWRpdiA9IDI7CisJZWxzZSBpZiAoZGl2ID09IDIpCisJCWRpdiA9IDE7CisJZWxzZSBpZiAoZGl2ID09IDEpCisJCWRpdiA9IDA7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ09TUikgJiB+TVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLOworCXJlZyB8PSBkaXYgPDwgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9PRkZTRVQ7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DT1NSKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NrbzFfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiBkaXY7CisKKwlkaXYgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpICYgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLID4+CisJICAgIE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfT0ZGU0VUOworCisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoMSA8PCBkaXYpOworfQorCitzdGF0aWMgaW50IF9jbGtfY2tvMV9zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpICYgfk1YQ19DQ01fQ09TUl9DTEtPU0VMX01BU0s7CisKKwlpZiAocGFyZW50ID09ICZtY3VfbWFpbl9jbGspCisJCXJlZyB8PSAwIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmlwZ19jbGspCisJCXJlZyB8PSAxIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnVzYl9wbGxfY2xrKQorCQlyZWcgfD0gMiA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IG1jdV9tYWluX2Nsay5wYXJlbnQpCisJCXJlZyB8PSAzIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmFoYl9jbGspCisJCXJlZyB8PSA1IDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnNlcmlhbF9wbGxfY2xrKQorCQlyZWcgfD0gNyA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZja2loX2NsaykKKwkJcmVnIHw9IDggPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmZW1pX2NsaykKKwkJcmVnIHw9IDkgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmaXB1X2NsaykKKwkJcmVnIHw9IDB4QSA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZuZmNfY2xrKQorCQlyZWcgfD0gMHhCIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnVhcnRfY2xrWzBdKQorCQlyZWcgfD0gMHhDIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DT1NSKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9jbGtfY2tvMV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpIHwgTVhDX0NDTV9DT1NSX0NMS09FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NPU1IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfY2tvMV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DT1NSKSAmIH5NWENfQ0NNX0NPU1JfQ0xLT0VOOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ09TUik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNrbzFfY2xrID0geworCS5uYW1lID0gImNrbzFfY2xrIiwKKwkuZ2V0X3JhdGUgPSBfY2xrX2NrbzFfZ2V0X3JhdGUsCisJLnNldF9yYXRlID0gX2Nsa19ja28xX3NldF9yYXRlLAorCS5yb3VuZF9yYXRlID0gX2Nsa19ja28xX3JvdW5kX3JhdGUsCisJLnNldF9wYXJlbnQgPSBfY2xrX2NrbzFfc2V0X3BhcmVudCwKKwkuZW5hYmxlID0gX2Nsa19ja28xX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfY2tvMV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgKm14Y19jbGtzW10gPSB7CisJJmNraWhfY2xrLAorCSZja2lsX2NsaywKKwkmbWN1X3BsbF9jbGssCisJJnVzYl9wbGxfY2xrLAorCSZzZXJpYWxfcGxsX2NsaywKKwkmbWN1X21haW5fY2xrLAorCSZhaGJfY2xrLAorCSZwZXJfY2xrLAorCSZwZXJjbGtfY2xrLAorCSZja28xX2NsaywKKwkmZW1pX2NsaywKKwkmY3NwaV9jbGtbMF0sCisJJmNzcGlfY2xrWzFdLAorCSZjc3BpX2Nsa1syXSwKKwkmaXBnX2NsaywKKwkmZ3B0X2NsaywKKwkmcHdtX2NsaywKKwkmd2RvZ19jbGssCisJJnJ0Y19jbGssCisJJmVwaXRfY2xrWzBdLAorCSZlcGl0X2Nsa1sxXSwKKwkmbmZjX2NsaywKKwkmaXB1X2NsaywKKwkma3BwX2NsaywKKwkmdXNiX2Nsa1swXSwKKwkmdXNiX2Nsa1sxXSwKKwkmY3NpX2NsaywKKwkmdWFydF9jbGtbMF0sCisJJnVhcnRfY2xrWzFdLAorCSZ1YXJ0X2Nsa1syXSwKKwkmdWFydF9jbGtbM10sCisJJnVhcnRfY2xrWzRdLAorCSZpMmNfY2xrWzBdLAorCSZpMmNfY2xrWzFdLAorCSZpMmNfY2xrWzJdLAorCSZvd2lyZV9jbGssCisJJnNkaGNfY2xrWzBdLAorCSZzZGhjX2Nsa1sxXSwKKwkmc3NpX2Nsa1swXSwKKwkmc3NpX2Nsa1sxXSwKKwkmZmlyaV9jbGssCisJJmF0YV9jbGssCisJJnJ0aWNfY2xrLAorCSZybmdfY2xrLAorCSZzZG1hX2Nsa1swXSwKKwkmc2RtYV9jbGtbMV0sCisJJm1zdGlja19jbGtbMF0sCisJJm1zdGlja19jbGtbMV0sCisJJnNjY19jbGssCisJJmlpbV9jbGssCit9OworCitpbnQgX19pbml0IG14Y19jbG9ja3NfaW5pdCh1bnNpZ25lZCBsb25nIGZyZWYpCit7CisJdTMyIHJlZzsKKwlzdHJ1Y3QgY2xrICoqY2xrcDsKKworCWNraWhfcmF0ZSA9IGZyZWY7CisKKwlmb3IgKGNsa3AgPSBteGNfY2xrczsgY2xrcCA8IG14Y19jbGtzICsgQVJSQVlfU0laRShteGNfY2xrcyk7IGNsa3ArKykKKwkJY2xrX3JlZ2lzdGVyKCpjbGtwKTsKKworCWlmIChjcHVfaXNfbXgzMSgpKSB7CisJCWNsa19yZWdpc3RlcigmbXBlZzRfY2xrKTsKKwkJY2xrX3JlZ2lzdGVyKCZtYnhfY2xrKTsKKwl9IGVsc2UgeworCQljbGtfcmVnaXN0ZXIoJnZwdV9jbGspOworCQljbGtfcmVnaXN0ZXIoJnZsMmNjX2Nsayk7CisJfQorCisJLyogVHVybiBvZmYgYWxsIHBvc3NpYmxlIGNsb2NrcyAqLworCV9fcmF3X3dyaXRlbChNWENfQ0NNX0NHUjBfR1BUX01BU0ssIE1YQ19DQ01fQ0dSMCk7CisJX19yYXdfd3JpdGVsKDAsIE1YQ19DQ01fQ0dSMSk7CisKKwlfX3Jhd193cml0ZWwoTVhDX0NDTV9DR1IyX0VNSV9NQVNLIHwKKwkJICAgICBNWENfQ0NNX0NHUjJfSVBNVVgxX01BU0sgfAorCQkgICAgIE1YQ19DQ01fQ0dSMl9JUE1VWDJfTUFTSyB8CisJCSAgICAgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIE1YQ19DQ01fQ0dSMl9DSElLQ0FNUEVOX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIE1YQ19DQ01fQ0dSMl9PVlJWUFVCVVNZX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIDEgPDwgMjcgfCAxIDw8IDI4LCAvKiBCaXQgMjcgYW5kIDI4IGFyZSBub3QgZGVmaW5lZCBmb3IKKwkJCQkJICAgTVgzMiwgYnV0IHN0aWxsIHJlcXVpcmVkIHRvIGJlIHNldCAqLworCQkgICAgIE1YQ19DQ01fQ0dSMik7CisKKwljbGtfZGlzYWJsZSgmY2tvMV9jbGspOworCWNsa19kaXNhYmxlKCZ1c2JfcGxsX2Nsayk7CisKKwlwcl9pbmZvKCJDbG9jayBpbnB1dCBzb3VyY2UgaXMgJWxkXG4iLCBjbGtfZ2V0X3JhdGUoJmNraWhfY2xrKSk7CisKKwljbGtfZW5hYmxlKCZncHRfY2xrKTsKKwljbGtfZW5hYmxlKCZlbWlfY2xrKTsKKwljbGtfZW5hYmxlKCZpaW1fY2xrKTsKKworCWNsa19lbmFibGUoJnNlcmlhbF9wbGxfY2xrKTsKKworCWlmIChteDMxX3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUE1DUjEpOworCQkvKiBObyBQTEwgcmVzdGFydCBvbiBEVkZTIHN3aXRjaDsgZW5hYmxlIGF1dG8gRU1JIGhhbmRzaGFrZSAqLworCQlyZWcgfD0gTVhDX0NDTV9QTUNSMV9QTExSRElTIHwgTVhDX0NDTV9QTUNSMV9FTUlSUV9FTjsKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9QTUNSMSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL2NybV9yZWdzLmggYi9hcmNoL2FybS9tYWNoLW14My9jcm1fcmVncy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMGUwZWQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9jcm1fcmVncy5oCkBAIC0wLDAgKzEsNDAxIEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BUkNIX0FSTV9NQUNIX01YM19DUk1fUkVHU19IX18KKyNkZWZpbmUgX19BUkNIX0FSTV9NQUNIX01YM19DUk1fUkVHU19IX18KKworI2RlZmluZSBDS0lIX0NMS19GUkVRICAgICAgICAgICAyNjAwMDAwMAorI2RlZmluZSBDS0lIX0NMS19GUkVRXzI3TUhaICAgICAyNzAwMDAwMAorI2RlZmluZSBDS0lMX0NMS19GUkVRICAgICAgICAgICAzMjc2OAorCisjZGVmaW5lIE1YQ19DQ01fQkFTRQkJSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKQorCisvKiBSZWdpc3RlciBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTVhDX0NDTV9DQ01SCQkoTVhDX0NDTV9CQVNFICsgMHgwMCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwCQkoTVhDX0NDTV9CQVNFICsgMHgwNCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxCQkoTVhDX0NDTV9CQVNFICsgMHgwOCkKKyNkZWZpbmUgTVhDX0NDTV9SQ1NSCQkoTVhDX0NDTV9CQVNFICsgMHgwQykKKyNkZWZpbmUgTVhDX0NDTV9NUENUTAkJKE1YQ19DQ01fQkFTRSArIDB4MTApCisjZGVmaW5lIE1YQ19DQ01fVVBDVEwJCShNWENfQ0NNX0JBU0UgKyAweDE0KQorI2RlZmluZSBNWENfQ0NNX1NSUENUTAkJKE1YQ19DQ01fQkFTRSArIDB4MTgpCisjZGVmaW5lIE1YQ19DQ01fQ09TUgkJKE1YQ19DQ01fQkFTRSArIDB4MUMpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMAkJKE1YQ19DQ01fQkFTRSArIDB4MjApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMQkJKE1YQ19DQ01fQkFTRSArIDB4MjQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMgkJKE1YQ19DQ01fQkFTRSArIDB4MjgpCisjZGVmaW5lIE1YQ19DQ01fV0lNUgkJKE1YQ19DQ01fQkFTRSArIDB4MkMpCisjZGVmaW5lIE1YQ19DQ01fTERDCQkoTVhDX0NDTV9CQVNFICsgMHgzMCkKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSMAkJKE1YQ19DQ01fQkFTRSArIDB4MzQpCisjZGVmaW5lIE1YQ19DQ01fRENWUjEJCShNWENfQ0NNX0JBU0UgKyAweDM4KQorI2RlZmluZSBNWENfQ0NNX0RDVlIyCQkoTVhDX0NDTV9CQVNFICsgMHgzQykKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSMwkJKE1YQ19DQ01fQkFTRSArIDB4NDApCisjZGVmaW5lIE1YQ19DQ01fTFRSMAkJKE1YQ19DQ01fQkFTRSArIDB4NDQpCisjZGVmaW5lIE1YQ19DQ01fTFRSMQkJKE1YQ19DQ01fQkFTRSArIDB4NDgpCisjZGVmaW5lIE1YQ19DQ01fTFRSMgkJKE1YQ19DQ01fQkFTRSArIDB4NEMpCisjZGVmaW5lIE1YQ19DQ01fTFRSMwkJKE1YQ19DQ01fQkFTRSArIDB4NTApCisjZGVmaW5lIE1YQ19DQ01fTFRCUjAJCShNWENfQ0NNX0JBU0UgKyAweDU0KQorI2RlZmluZSBNWENfQ0NNX0xUQlIxCQkoTVhDX0NDTV9CQVNFICsgMHg1OCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMAkJKE1YQ19DQ01fQkFTRSArIDB4NUMpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjEJCShNWENfQ0NNX0JBU0UgKyAweDYwKQorI2RlZmluZSBNWENfQ0NNX1BEUjIJCShNWENfQ0NNX0JBU0UgKyAweDY0KQorCisvKiBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1dCRU4gICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfQ1NDUyAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjUpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QRVJDUyAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NTSTFTX09GRlNFVCAgICAgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9TU0kxU19NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU1NJMlNfT0ZGU0VUICAgICAgICAgICAgICAgMjEKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NTSTJTX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjEpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9MUE1fT0ZGU0VUICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNWENfQ0NNX0NDTVJfTFBNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX0ZJUlNfT0ZGU0VUICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9GSVJTX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX0NDTVJfVVBFICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NQRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9NRFMgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU0JZQ1MgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX01QRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QUkNTX09GRlNFVCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QUkNTX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0NTSV9QT0RGX09GRlNFVCAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fUERSMF9DU0lfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHgzRiA8PCAyNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVCAgICAgICAgICAgIDIzCisjZGVmaW5lIE1YQ19DQ01fUERSMF9DU0lfUFJERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDIzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfUEVSX1BPREZfT0ZGU0VUICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX1BFUl9QT0RGX01BU0sgICAgICAgICAgICAgICgweDFGIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX1BPREZfT0ZGU0VUICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9QT0RGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfUE9ERl9PRkZTRVQgICAgICAgICAgICA4CisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfUE9ERl9PRkZTRVQgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHgzIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9PRkZTRVQgICAgICAgICAgICAzCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfUE9ERl9PRkZTRVQgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfUE9ERl9NQVNLICAgICAgICAgICAgICAweDcKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MCA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfMiAgICAgICAgICAgICAgICAgICgweDEgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzMgICAgICAgICAgICAgICAgICAoMHgyIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl80ICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfNSAgICAgICAgICAgICAgICAgICgweDQgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzYgICAgICAgICAgICAgICAgICAoMHg1IDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl83ICAgICAgICAgICAgICAgICAgKDB4NiA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfOCAgICAgICAgICAgICAgICAgICgweDcgPDwgMTEpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMSAgICAgICAgICAgICAgICAgICgweDAgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMiAgICAgICAgICAgICAgICAgICgweDEgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMyAgICAgICAgICAgICAgICAgICgweDIgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfNCAgICAgICAgICAgICAgICAgICgweDMgPDwgNikKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MCA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8yICAgICAgICAgICAgICAgICAgKDB4MSA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8zICAgICAgICAgICAgICAgICAgKDB4MiA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl80ICAgICAgICAgICAgICAgICAgKDB4MyA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl81ICAgICAgICAgICAgICAgICAgKDB4NCA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl82ICAgICAgICAgICAgICAgICAgKDB4NSA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl83ICAgICAgICAgICAgICAgICAgKDB4NiA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl84ICAgICAgICAgICAgICAgICAgKDB4NyA8PCAzKQorCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzEgICAgICAgICAgICAgICAgICAoMHgwIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzIgICAgICAgICAgICAgICAgICAoMHgxIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzMgICAgICAgICAgICAgICAgICAoMHgyIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzQgICAgICAgICAgICAgICAgICAoMHgzIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzUgICAgICAgICAgICAgICAgICAoMHg0IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzYgICAgICAgICAgICAgICAgICAoMHg1IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzcgICAgICAgICAgICAgICAgICAoMHg2IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzggICAgICAgICAgICAgICAgICAoMHg3IDw8IDgpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfMSAgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl8yICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzMgICAgICAgICAgICAgICAgICAweDIKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfNCAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl81ICAgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzYgICAgICAgICAgICAgICAgICAweDUKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfNyAgICAgICAgICAgICAgICAgIDB4NgorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl84ICAgICAgICAgICAgICAgICAgMHg3CisKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1VTQl9QUkRGX09GRlNFVCAgICAgICAgICAgIDMwCisjZGVmaW5lIE1YQ19DQ01fUERSMV9VU0JfUFJERl9NQVNLICAgICAgICAgICAgICAoMHgzIDw8IDMwKQorI2RlZmluZSBNWENfQ0NNX1BEUjFfVVNCX1BPREZfT0ZGU0VUICAgICAgICAgICAgMjcKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1VTQl9QT0RGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgMjcpCisjZGVmaW5lIE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX09GRlNFVCAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9NQVNLICAgICAgICAgKDB4NyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX0ZJUklfUE9ERl9PRkZTRVQgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fUERSMV9GSVJJX1BPREZfTUFTSyAgICAgICAgICAgICAoMHgzRiA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTJfUFJFX1BPREZfT0ZGU0VUICAgICAgIDE1CisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kyX1BSRV9QT0RGX01BU0sgICAgICAgICAoMHg3IDw8IDE1KQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX09GRlNFVCAgICAgICAgICAgOQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX01BU0sgICAgICAgICAgICAgKDB4M0YgPDwgOSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUFJFX1BPREZfT0ZGU0VUICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUFJFX1BPREZfTUFTSyAgICAgICAgICgweDcgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUE9ERl9PRkZTRVQgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUE9ERl9NQVNLICAgICAgICAgICAgIDB4M0YKKworLyogQml0IGRlZmluaXRpb25zIGZvciBSQ1NSICovCisjZGVmaW5lIE1YQ19DQ01fUkNTUl9ORjE2QgkJCTB4ODAwMDAwMDAKKworLyogQml0IGRlZmluaXRpb25zIGZvciBib3RoIE1DVSwgVVNCIGFuZCBTUiBQTEwgY29udHJvbCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX0JSTSAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX1BEX09GRlNFVCAgICAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fUENUTF9QRF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZEX09GRlNFVCAgICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GRF9NQVNLICAgICAgICAgICAgICAgICAgICgweDNGRiA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GSV9PRkZTRVQgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1YQ19DQ01fUENUTF9NRklfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGIDw8IDEwKQorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZOX09GRlNFVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZOX01BU0sgICAgICAgICAgICAgICAgICAgMHgzRkYKKworI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9PRkZTRVQgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9NQVNLICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMl9PRkZTRVQgICAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMl9NQVNLICAgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfR1BUX09GRlNFVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjBfR1BUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDFfT0ZGU0VUICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDFfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDJfT0ZGU0VUICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDJfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfSUlNX09GRlNFVCAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0lJTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9BVEFfT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjBfQVRBX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NETUFfT0ZGU0VUICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TRE1BX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfQ1NQSTNfT0ZGU0VUICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0NTUEkzX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9STkdfT0ZGU0VUICAgICAgICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX0NHUjBfUk5HX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1VBUlQxX09GRlNFVCAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9VQVJUMV9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDIwKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfVUFSVDJfT0ZGU0VUICAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1VBUlQyX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TU0kxX09GRlNFVCAgICAgICAgICAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX0NHUjBfU1NJMV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzFfT0ZGU0VUICAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMxX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDMl9PRkZTRVQgICAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzJfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMzX09GRlNFVCAgICAgICAgICAgICAgICAzMAorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDM19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAzMCkKKworI2RlZmluZSBNWENfQ0NNX0NHUjFfSEFOVFJPX09GRlNFVCAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjFfSEFOVFJPX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX09GRlNFVCAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX01BU0sgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX09GRlNFVCAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX01BU0sgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfQ1NJX09GRlNFVCAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjFfQ1NJX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfUlRDX09GRlNFVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjFfUlRDX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfV0RPR19PRkZTRVQgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1dET0dfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9QV01fT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjFfUFdNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1NJTV9PRkZTRVQgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9TSU1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfRUNUX09GRlNFVCAgICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0VDVF9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VU0JPVEdfT0ZGU0VUICAgICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX0NHUjFfVVNCT1RHX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0tQUF9PRkZTRVQgICAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9LUFBfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDIwKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfSVBVX09GRlNFVCAgICAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0lQVV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMjIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUM19PRkZTRVQgICAgICAgICAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDNfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQ0X09GRlNFVCAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUNF9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDVfT0ZGU0VUICAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQ1X01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9PV0lSRV9PRkZTRVQgICAgICAgICAgICAgICAzMAorI2RlZmluZSBNWENfQ0NNX0NHUjFfT1dJUkVfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAzMCkKKworI2RlZmluZSBNWENfQ0NNX0NHUjJfU1NJMl9PRkZTRVQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjJfU1NJMl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTFfT0ZGU0VUICAgICAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTFfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTJfT0ZGU0VUICAgICAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTJfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfR0FDQ19PRkZTRVQgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjJfR0FDQ19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfRU1JX09GRlNFVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjJfRU1JX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfUlRJQ19PRkZTRVQgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX1JUSUNfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9GSVJJX09GRlNFVCAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjJfRklSSV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0lQTVVYMV9PRkZTRVQgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9JUE1VWDFfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfSVBNVVgyX09GRlNFVCAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0lQTVVYMl9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisKKy8qIFRoZXNlIG5ldyBDR1IyIGJpdHMgYXJlIGFkZGVkIGluIE1YMzIgKi8KKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVNZU0NMS1NFTF9PRkZTRVQJMTgKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVNZU0NMS1NFTF9NQVNLCQkoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNU1NJQ0xLU0VMX09GRlNFVAkyMAorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNU1NJQ0xLU0VMX01BU0sJCSgweDMgPDwgMjApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1QRVJDTEtTRUxfT0ZGU0VUCTIyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1QRVJDTEtTRUxfTUFTSwkJKDB4MyA8PCAyMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX09GRlNFVAkJMjQKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX01BU0sJCSgweDEgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9DSElLQ0FNUEVOX09GRlNFVAkJMjUKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0NISUtDQU1QRU5fTUFTSwkJKDB4MSA8PCAyNSkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX09WUlZQVUJVU1lfT0ZGU0VUCQkyNgorI2RlZmluZSBNWENfQ0NNX0NHUjJfT1ZSVlBVQlVTWV9NQVNLCQkoMHgxIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNRU5BX09GRlNFVAkJMzAKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FPTUVOQV9NQVNLCQkoMHgxIDw8IDMwKQorCisvKgorICogTFRSMCByZWdpc3RlciBvZmZzZXRzCisgKi8KKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0RJVjNDS19PRkZTRVQgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0RJVjNDS19NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMSkKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0ROVEhSX09GRlNFVCAgICAgICAgICAgICAgIDE2CisjZGVmaW5lIE1YQ19DQ01fTFRSMF9ETlRIUl9NQVNLICAgICAgICAgICAgICAgICAoMHgzRiA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX1VQVEhSX09GRlNFVCAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fTFRSMF9VUFRIUl9NQVNLICAgICAgICAgICAgICAgICAoMHgzRiA8PCAyMikKKworLyoKKyAqIExUUjEgcmVnaXN0ZXIgb2Zmc2V0cworICovCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9QTkNUSFJfT0ZGU0VUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9QTkNUSFJfTUFTSyAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9VUENOVF9PRkZTRVQgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fTFRSMV9VUENOVF9NQVNLICAgICAgICAgICAgICAgICAoMHhGRiA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0xUUjFfRE5DTlRfT0ZGU0VUICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0ROQ05UX01BU0sgICAgICAgICAgICAgICAgICgweEZGIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0xUUjFfTFRCUlNSX01BU0sgICAgICAgICAgICAgICAgMHg0MDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0xUQlJTUl9PRkZTRVQgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9MVEJSU1IgICAgICAgICAgICAgICAgICAgICAweDQwMDAwMAorI2RlZmluZSBNWENfQ0NNX0xUUjFfTFRCUlNIICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAKKworLyoKKyAqIExUUjIgYml0IGRlZmluaXRpb25zLiB4IHJhbmdlcyBmcm9tIDAgZm9yIFdTVzkgdG8gNiBmb3IgV1NXMTUKKyAqLworI2RlZmluZSBNWENfQ0NNX0xUUjJfV1NXX09GRlNFVCh4KSAgICAgICAgICAgICAgKDExICsgKHgpICogMykKKyNkZWZpbmUgTVhDX0NDTV9MVFIyX1dTV19NQVNLKHgpICAgICAgICAgICAgICAgICgweDcgPDwgXAorCQkJCQlNWENfQ0NNX0xUUjJfV1NXX09GRlNFVCgoeCkpKQorI2RlZmluZSBNWENfQ0NNX0xUUjJfRU1BQ19PRkZTRVQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0xUUjJfRU1BQ19NQVNLICAgICAgICAgICAgICAgICAgMHgxRkYKKworLyoKKyAqIExUUjMgYml0IGRlZmluaXRpb25zLiB4IHJhbmdlcyBmcm9tIDAgZm9yIFdTVzAgdG8gOCBmb3IgV1NXOAorICovCisjZGVmaW5lIE1YQ19DQ01fTFRSM19XU1dfT0ZGU0VUKHgpICAgICAgICAgICAgICAoNSArICh4KSAqIDMpCisjZGVmaW5lIE1YQ19DQ01fTFRSM19XU1dfTUFTSyh4KSAgICAgICAgICAgICAgICAoMHg3IDw8IFwKKwkJCQkJTVhDX0NDTV9MVFIzX1dTV19PRkZTRVQoKHgpKSkKKworI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMSAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMV9TUExMICAgICAgICAgICAgICAgKDAgPDwgMzEpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAxX01QTEwgICAgICAgICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDAgICAgICAgICAgICAgICAgICAgIDB4NDAwMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDBfUExMICAgICAgICAgICAgICAgICgwIDw8IDMwKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMF9QRFIgICAgICAgICAgICAgICAgKDEgPDwgMzApCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVBfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDMwKQorCisjZGVmaW5lIERWU1VQX1RVUkJPCQkJCTAKKyNkZWZpbmUgRFZTVVBfSElHSAkJCQkxCisjZGVmaW5lIERWU1VQX01FRElVTQkJCQkyCisjZGVmaW5lIERWU1VQX0xPVwkJCQkzCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfVFVSQk8gICAgICAgICAgICAgICAoRFZTVVBfVFVSQk8gPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfSElHSCAgICAgICAgICAgICAgICAoRFZTVVBfSElHSCA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9NRURJVU0gICAgICAgICAgICAgIChEVlNVUF9NRURJVU0gPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfTE9XICAgICAgICAgICAgICAgICAoRFZTVVBfTE9XIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWU1VQX09GRlNFVCAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVURTQyAgICAgICAgICAgICAgICAgICAgICAweDA4MDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVURTQ19NQVNLICAgICAgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9VRFNDX1VQICAgICAgICAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1VEU0NfRE9XTiAgICAgICAgICAgICAgICAgKDAgPDwgMjcpCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF8xICAgICAgICAgICAgICAgICAgICgweDAgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfMiAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzMgICAgICAgICAgICAgICAgICAgKDB4MiA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF80ICAgICAgICAgICAgICAgICAgICgweDMgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfNSAgICAgICAgICAgICAgICAgICAoMHg0IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzYgICAgICAgICAgICAgICAgICAgKDB4NSA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF83ICAgICAgICAgICAgICAgICAgICgweDYgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfOCAgICAgICAgICAgICAgICAgICAoMHg3IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UX09GRlNFVCAgICAgICAgICAgICAgMjQKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF9NQVNLICAgICAgICAgICAgICAgICgweDcgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGRVYgICAgICAgICAgICAgICAgICAgICAweDAwODAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGSVMgICAgICAgICAgICAgICAgICAgICAweDAwNDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJNSSAgICAgICAgICAgICAgICAgICAgICAweDAwMjAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJGTCAgICAgICAgICAgICAgICAgICAgICAweDAwMTAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl80ICAgICAgICAgICAgICAgICAgICAoMHgwIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfOCAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGXzEyICAgICAgICAgICAgICAgICAgICgweDIgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl8xNiAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfT0ZGU0VUICAgICAgICAgICAgICAgMTgKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWSVMgICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVVBEVEVOICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVVBEVEVOX01BU0sgICAgICAgICAgICAgICAoMHgxIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0ZTVkFJTSAgICAgICAgICAgICAgICAgICAgMHgwMDAwODAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0ZTVkFJX09GRlNFVCAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9GU1ZBSV9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMTMpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBWQ1IgICAgICAgICAgICAgICAgICAgICAweDAwMDAxMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBWViAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwODAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfV0ZJTSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTMgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTIgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTEgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDQwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRENSICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDIwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGRU4gICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDEwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlNICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4CisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlfT0ZGU0VUICAgICAgICAgICAgICAxCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDEpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBURU4gICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9EVkdQX09GRlNFVCAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9EVkdQX01BU0sgICAgICAgICAgICAgICAgICgweEYpCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9QTExSRElTICAgICAgICAgICAgICAgICAgICAgICgweDEgPDwgNykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9FTUlSUV9FTiAgICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDgpCisKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX1VMVl9NQVNLICAgICAgICAgICAgICAgICAgICgweDNGRiA8PCAyMikKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX1VMVl9PRkZTRVQgICAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fRENWUl9MTFZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzRkYgPDwgMTIpCisjZGVmaW5lIE1YQ19DQ01fRENWUl9MTFZfT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0RDVlJfRUxWX01BU0sgICAgICAgICAgICAgICAgICAgKDB4M0ZGIDw8IDIpCisjZGVmaW5lIE1YQ19DQ01fRENWUl9FTFZfT0ZGU0VUICAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIyX01TVDJfUERGX01BU0sgICAgICAgICAgICAgICgweDNGIDw8IDcpCisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QyX1BERl9PRkZTRVQgICAgICAgICAgICA3CisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QxX1BERl9NQVNLICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QxX1BERl9PRkZTRVQgICAgICAgICAgICAwCisKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MEYKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLICAgICAgICAgICAgICgweDA3IDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfT0ZGU0VUICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPRU4gICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQorCisvKgorICogUE1DUjAgcmVnaXN0ZXIgb2Zmc2V0cworICovCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJGTF9PRkZTRVQgICAyMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMF9PRkZTRVQgMzAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDFfT0ZGU0VUIDMxCisKKyNlbmRpZgkJCQkvKiBfX0FSQ0hfQVJNX01BQ0hfTVgzX0NSTV9SRUdTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1teDMvZGV2aWNlcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjMDMyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9kZXZpY2VzLmMKQEAgLTAsMCArMSwxODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBTYXNjaGEgSGF1ZXIsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDBbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQxX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQxX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDEsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMCA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMCwKKwkucmVzb3VyY2UgPSB1YXJ0MCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MVtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDJfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDJfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMiwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDIsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UxID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAxLAorCS5yZXNvdXJjZSA9IHVhcnQxLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MSksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQyW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUM19CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUM19CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQzLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTIgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDIsCisJLnJlc291cmNlID0gdWFydDIsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQyKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDNbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ0X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ0X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDQsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ0LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMyA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMywKKwkucmVzb3VyY2UgPSB1YXJ0MywKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0NFtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDVfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDVfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNSwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2U0ID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSA0LAorCS5yZXNvdXJjZSA9IHVhcnQ0LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0NCksCit9OworCisvKgorICogUmVnaXN0ZXIgb25seSB0aG9zZSBVQVJUcyB0aGF0IHBoeXNpY2FsbHkgZXhpc3QKKyAqLworaW50IF9faW5pdCBpbXhfaW5pdF91YXJ0KGludCB1YXJ0X25vLCBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICpwZGF0YSkKK3sKKwlzd2l0Y2ggKHVhcnRfbm8pIHsKKwljYXNlIDA6CisJCW14Y191YXJ0X2RldmljZTAuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UwKTsKKwkJYnJlYWs7CisJY2FzZSAxOgorCQlteGNfdWFydF9kZXZpY2UxLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMSk7CisJCWJyZWFrOworCWNhc2UgMjoKKwkJbXhjX3VhcnRfZGV2aWNlMi5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTIpOworCQlicmVhazsKKwljYXNlIDM6CisJCW14Y191YXJ0X2RldmljZTMuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UzKTsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQlteGNfdWFydF9kZXZpY2U0LmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlNCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PREVWOworCX0KKworCXJldHVybiAwOworfQorCisvKiBHUElPIHBvcnQgZGVzY3JpcHRpb24gKi8KK3N0YXRpYyBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCBpbXhfZ3Bpb19wb3J0c1tdID0geworCVswXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0wIiwKKwkJLmJhc2UgPSBJT19BRERSRVNTKEdQSU8xX0JBU0VfQUREUiksCisJCS5pcnEgPSBNWENfSU5UX0dQSU8xLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfR1BJT19JTlRfQkFTRQorCX0sCisJWzFdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTEiLAorCQkuYmFzZSA9IElPX0FERFJFU1MoR1BJTzJfQkFTRV9BRERSKSwKKwkJLmlycSA9IE1YQ19JTlRfR1BJTzIsCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19HUElPX0lOVF9CQVNFICsgR1BJT19OVU1fUElOCisJfSwKKwlbMl0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMiIsCisJCS5iYXNlID0gSU9fQUREUkVTUyhHUElPM19CQVNFX0FERFIpLAorCQkuaXJxID0gTVhDX0lOVF9HUElPMywKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX0dQSU9fSU5UX0JBU0UgKyBHUElPX05VTV9QSU4gKiAyCisJfQorfTsKKworaW50IF9faW5pdCBteGNfcmVnaXN0ZXJfZ3Bpb3Modm9pZCkKK3sKKwlyZXR1cm4gbXhjX2dwaW9faW5pdChpbXhfZ3Bpb19wb3J0cywgQVJSQVlfU0laRShpbXhfZ3Bpb19wb3J0cykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvaW9tdXguYyBiL2FyY2gvYXJtL21hY2gtbXgzL2lvbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRjNTFmZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL2lvbXV4LmMKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14My5oPgorCisvKgorICogSU9NVVggcmVnaXN0ZXIgKGJhc2UpIGFkZHJlc3NlcworICovCisjZGVmaW5lIElPTVVYX0JBU0UJSU9fQUREUkVTUyhJT01VWENfQkFTRV9BRERSKQorI2RlZmluZSBJT01VWElOVF9PQlMxCShJT01VWF9CQVNFICsgMHgwMDApCisjZGVmaW5lIElPTVVYSU5UX09CUzIJKElPTVVYX0JBU0UgKyAweDAwNCkKKyNkZWZpbmUgSU9NVVhHUFIJKElPTVVYX0JBU0UgKyAweDAwOCkKKyNkZWZpbmUgSU9NVVhTV19NVVhfQ1RMCShJT01VWF9CQVNFICsgMHgwMEMpCisjZGVmaW5lIElPTVVYU1dfUEFEX0NUTAkoSU9NVVhfQkFTRSArIDB4MTU0KQorCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGdwaW9fbXV4X2xvY2spOworCisjZGVmaW5lIElPTVVYX1JFR19NQVNLIChJT01VWF9QQUROVU1fTUFTSyAmIH4weDMpCisvKgorICogc2V0IHRoZSBtb2RlIGZvciBhIElPTVVYIHBpbi4KKyAqLworaW50IG14Y19pb211eF9tb2RlKHVuc2lnbmVkIGludCBwaW5fbW9kZSkKK3sKKwl1MzIgcmVnLCBmaWVsZCwgbCwgbW9kZSwgcmV0ID0gMDsKKworCXJlZyA9IElPTVVYU1dfTVVYX0NUTCArIChwaW5fbW9kZSAmIElPTVVYX1JFR19NQVNLKTsKKwlmaWVsZCA9IHBpbl9tb2RlICYgMHgzOworCW1vZGUgPSAocGluX21vZGUgJiBJT01VWF9NT0RFX01BU0spID4+IElPTVVYX01PREVfU0hJRlQ7CisKKwlwcl9kZWJ1ZygiJXM6IHJlZyBvZmZzZXQgPSAweCV4IGZpZWxkID0gJWQgbW9kZSA9IDB4JTAyeFxuIiwKKwkJCV9fZnVuY19fLCAocGluX21vZGUgJiBJT01VWF9SRUdfTUFTSyksIGZpZWxkLCBtb2RlKTsKKworCXNwaW5fbG9jaygmZ3Bpb19tdXhfbG9jayk7CisKKwlsID0gX19yYXdfcmVhZGwocmVnKTsKKwlsICY9IH4oMHhmZiA8PCAoZmllbGQgKiA4KSk7CisJbCB8PSBtb2RlIDw8IChmaWVsZCAqIDgpOworCV9fcmF3X3dyaXRlbChsLCByZWcpOworCisJc3Bpbl91bmxvY2soJmdwaW9fbXV4X2xvY2spOworCisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2lvbXV4X21vZGUpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBwYWQgdmFsdWUgZm9yIGEgSU9NVVggcGluLgorICovCit2b2lkIG14Y19pb211eF9zZXRfcGFkKGVudW0gaW9tdXhfcGlucyBwaW4sIHUzMiBjb25maWcpCit7CisJdTMyIHJlZywgZmllbGQsIGw7CisKKwlyZWcgPSBJT01VWFNXX1BBRF9DVEwgKyAocGluICsgMikgLyAzOworCWZpZWxkID0gKHBpbiArIDIpICUgMzsKKworCXByX2RlYnVnKCIlczogcmVnIG9mZnNldCA9IDB4JXggZmllbGQgPSAlZFxuIiwKKwkJCV9fZnVuY19fLCAocGluICsgMikgLyAzLCBmaWVsZCk7CisKKwlzcGluX2xvY2soJmdwaW9fbXV4X2xvY2spOworCisJbCA9IF9fcmF3X3JlYWRsKHJlZyk7CisJbCAmPSB+KDB4MWZmIDw8IChmaWVsZCAqIDkpKTsKKwlsIHw9IGNvbmZpZyA8PCAoZmllbGQgKiA5KTsKKwlfX3Jhd193cml0ZWwobCwgcmVnKTsKKworCXNwaW5fdW5sb2NrKCZncGlvX211eF9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2lvbXV4X3NldF9wYWQpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzL2Rpc2FibGVzIHRoZSBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb24gZm9yIGEgcGFydGljdWxhcgorICogc2lnbmFsLgorICovCit2b2lkIG14Y19pb211eF9zZXRfZ3ByKGVudW0gaW9tdXhfZ3BfZnVuYyBncCwgYm9vbCBlbikKK3sKKwl1MzIgbDsKKworCXNwaW5fbG9jaygmZ3Bpb19tdXhfbG9jayk7CisJbCA9IF9fcmF3X3JlYWRsKElPTVVYR1BSKTsKKwlpZiAoZW4pCisJCWwgfD0gZ3A7CisJZWxzZQorCQlsICY9IH5ncDsKKworCV9fcmF3X3dyaXRlbChsLCBJT01VWEdQUik7CisJc3Bpbl91bmxvY2soJmdwaW9fbXV4X2xvY2spOworfQorRVhQT1JUX1NZTUJPTChteGNfaW9tdXhfc2V0X2dwcik7CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL214MzFhZHMuYyBiL2FyY2gvYXJtL21hY2gtbXgzL214MzFhZHMuYwppbmRleCA3ZTg5YmRjLi5lYmEzZTBjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9teDMxYWRzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWFkcy5jCkBAIC0yNiw5ICsyNiwxMSBAQAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KICNpbmNsdWRlIDxhc20vbWVtb3J5Lmg+CiAjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWFkcy5oPgogCiAvKiEKICAqIEBmaWxlIG14MzFhZHMuYwpAQCAtMTI2LDYgKzEyOCwxNiBAQAogCW14Y19pbml0X2V4dHVhcnQoKTsKIH0KIAorc3RhdGljIHZvaWQgX19pbml0IG14MzFhZHNfdGltZXJfaW5pdCh2b2lkKQoreworCW14Y19jbG9ja3NfaW5pdCgyNjAwMDAwMCk7CisJbXhjX3RpbWVyX2luaXQoImlwZ19jbGsuMCIpOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIG14MzFhZHNfdGltZXIgPSB7CisJLmluaXQJPSBteDMxYWRzX3RpbWVyX2luaXQsCit9OworCiAvKgogICogVGhlIGZvbGxvd2luZyB1c2VzIHN0YW5kYXJkIGtlcm5lbCBtYWNyb3MgZGVmaW5lZCBpbiBhcmNoLmggaW4gb3JkZXIgdG8KICAqIGluaXRpYWxpemUgX19tYWNoX2Rlc2NfTVgzMUFEUyBkYXRhIHN0cnVjdHVyZS4KQEAgLTEzOCw1ICsxNTAsNSBAQAogCS5tYXBfaW8gICAgICAgICA9IG14MzFhZHNfbWFwX2lvLAogCS5pbml0X2lycSAgICAgICA9IG14Y19pbml0X2lycSwKIAkuaW5pdF9tYWNoaW5lICAgPSBteGNfYm9hcmRfaW5pdCwKLQkudGltZXIgICAgICAgICAgPSAmbXhjX3RpbWVyLAorCS50aW1lciAgICAgICAgICA9ICZteDMxYWRzX3RpbWVyLAogTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL214MzFsaXRlLmMgYi9hcmNoL2FybS9tYWNoLW14My9teDMxbGl0ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNzJjMWEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9teDMxbGl0ZS5jCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwMCBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZAorICogIENvcHlyaWdodCAoQykgMjAwMiBTaGFuZSBOYXkgKHNoYW5lQG1pbmlybC5jb20pCisgKiAgQ29weXJpZ2h0IDIwMDUtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbWVtb3J5Lmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxbGl0ZS5oPgorCisvKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBib2FyZC1zcGVjaWZpYyBpbml0aWFsaXphdGlvbiByb3V0aW5lcy4KKyAqLworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgZGVmaW5lcyB0aGUgTVgzMSBtZW1vcnkgbWFwLgorICovCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG14MzFsaXRlX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwgPSBBSVBTMV9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQUlQUzFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IEFJUFMxX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBTUEJBMF9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oU1BCQTBfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFNQQkEwX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBBSVBTMl9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQUlQUzJfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IEFJUFMyX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBDUzRfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKENTNF9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gQ1M0X1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfQorfTsKKworLyoKKyAqIFNldCB1cCBzdGF0aWMgdmlydHVhbCBtYXBwaW5ncy4KKyAqLwordm9pZCBfX2luaXQgbXgzMWxpdGVfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChteDMxbGl0ZV9pb19kZXNjLCBBUlJBWV9TSVpFKG14MzFsaXRlX2lvX2Rlc2MpKTsKK30KKworLyoKKyAqIEJvYXJkIHNwZWNpZmljIGluaXRpYWxpemF0aW9uLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgbXhjX2JvYXJkX2luaXQodm9pZCkKK3sKK30KKworc3RhdGljIHZvaWQgX19pbml0IG14MzFsaXRlX3RpbWVyX2luaXQodm9pZCkKK3sKKwlteGNfY2xvY2tzX2luaXQoMjYwMDAwMDApOworCW14Y190aW1lcl9pbml0KCJpcGdfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBteDMxbGl0ZV90aW1lciA9IHsKKwkuaW5pdAk9IG14MzFsaXRlX3RpbWVyX2luaXQsCit9OworCisvKgorICogVGhlIGZvbGxvd2luZyB1c2VzIHN0YW5kYXJkIGtlcm5lbCBtYWNyb3MgZGVmaW5lZCBpbiBhcmNoLmggaW4gb3JkZXIgdG8KKyAqIGluaXRpYWxpemUgX19tYWNoX2Rlc2NfTVgzMUxJVEUgZGF0YSBzdHJ1Y3R1cmUuCisgKi8KKworTUFDSElORV9TVEFSVChNWDMxTElURSwgIkxvZ2ljUEQgTVgzMSBMSVRFS0lUIikKKwkvKiBNYWludGFpbmVyOiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiAqLworCS5waHlzX2lvICAgICAgICA9IEFJUFMxX0JBU0VfQUREUiwKKwkuaW9fcGdfb2Zmc3QgICAgPSAoKEFJUFMxX0JBU0VfQUREUl9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zICAgID0gUEhZU19PRkZTRVQgKyAweDEwMCwKKwkubWFwX2lvICAgICAgICAgPSBteDMxbGl0ZV9tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IG14Y19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZteDMxbGl0ZV90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9wY20wMzcuYyBiL2FyY2gvYXJtL21hY2gtbXgzL3BjbTAzNy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNGFlNmQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9wY20wMzcuYwpAQCAtMCwwICsxLDEzMCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L21lbW9yeS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW9tdXgtbXgzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtcGNtMDM3Lmg+CisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHBjbTAzN19mbGFzaF9kYXRhID0geworCS53aWR0aCAgPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBwY20wMzdfZmxhc2hfcmVzb3VyY2UgPSB7CisJLnN0YXJ0CT0gMHhhMDAwMDAwMCwKKwkuZW5kCT0gMHhhMWZmZmZmZiwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBjbTAzN19mbGFzaCA9IHsKKwkubmFtZQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJPSAwLAorCS5kZXYJPSB7CisJCS5wbGF0Zm9ybV9kYXRhICA9ICZwY20wMzdfZmxhc2hfZGF0YSwKKwl9LAorCS5yZXNvdXJjZSA9ICZwY20wMzdfZmxhc2hfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMgPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgdWFydF9wZGF0YSA9IHsKKwkuZmxhZ3MgPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZXNbXSBfX2luaXRkYXRhID0geworCSZwY20wMzdfZmxhc2gsCit9OworCisvKgorICogQm9hcmQgc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24uCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBteGNfYm9hcmRfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGRldmljZXMsIEFSUkFZX1NJWkUoZGV2aWNlcykpOworCisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fQ1RTMV9fQ1RTMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fUlRTMV9fUlRTMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fVFhEMV9fVFhEMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fUlhEMV9fUlhEMSk7CisKKwlpbXhfaW5pdF91YXJ0KDAsICZ1YXJ0X3BkYXRhKTsKKworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX0NTUEkzX01PU0lfX1JYRDMpOworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX0NTUEkzX01JU09fX1RYRDMpOworCisJaW14X2luaXRfdWFydCgyLCAmdWFydF9wZGF0YSk7Cit9CisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSBkZWZpbmVzIHN0YXRpYyBtYXBwaW5ncyBmb3IgdGhlIHBjbTAzNyBib2FyZC4KKyAqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBwY20wMzdfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEFJUFMxX0JBU0VfQUREUl9WSVJULAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oQUlQUzFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aAkJPSBBSVBTMV9TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UKKwl9LCB7CisJCS52aXJ0dWFsCT0gQUlQUzJfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBSVBTMl9CQVNFX0FERFIpLAorCQkubGVuZ3RoCQk9IEFJUFMyX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRQorCX0sCit9OworCisvKgorICogU2V0IHVwIHN0YXRpYyB2aXJ0dWFsIG1hcHBpbmdzLgorICovCit2b2lkIF9faW5pdCBwY20wMzdfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChwY20wMzdfaW9fZGVzYywgQVJSQVlfU0laRShwY20wMzdfaW9fZGVzYykpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcGNtMDM3X3RpbWVyX2luaXQodm9pZCkKK3sKKwlteGNfY2xvY2tzX2luaXQoMjYwMDAwMDApOworCW14Y190aW1lcl9pbml0KCJpcGdfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBwY20wMzdfdGltZXIgPSB7CisJLmluaXQJPSBwY20wMzdfdGltZXJfaW5pdCwKK307CisKK01BQ0hJTkVfU1RBUlQoUENNMDM3LCAiUGh5dGVjIFBoeWNvcmUgcGNtMDM3IikKKwkvKiBNYWludGFpbmVyOiBQZW5ndXRyb25peCAqLworCS5waHlzX2lvCT0gQUlQUzFfQkFTRV9BRERSLAorCS5pb19wZ19vZmZzdAk9ICgoQUlQUzFfQkFTRV9BRERSX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMgICAgPSBQSFlTX09GRlNFVCArIDB4MTAwLAorCS5tYXBfaW8gICAgICAgICA9IHBjbTAzN19tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IG14Y19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZwY20wMzdfdGltZXIsCitNQUNISU5FX0VORAorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My90aW1lLmMgYi9hcmNoL2FybS9tYWNoLW14My90aW1lLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNTY1YzkuLjAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vbWFjaC1teDMvdGltZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTQ4ICswLDAgQEAKLS8qCi0gKiBTeXN0ZW0gVGltZXIgSW50ZXJydXB0IHJlY29uZmlndXJlZCB0byBydW4gaW4gZnJlZS1ydW4gbW9kZS4KLSAqIEF1dGhvcjogVml0YWx5IFdvb2wKLSAqIENvcHlyaWdodCAyMDA0IE1vbnRhVmlzdGEgU29mdHdhcmUgSW5jLgotICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICovCi0KLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0KLS8qIQotICogQGZpbGUgdGltZS5jCi0gKiBAYnJpZWYgVGhpcyBmaWxlIGNvbnRhaW5zIE9TIHRpY2sgYW5kIHdkb2cgdGltZXIgaW1wbGVtZW50YXRpb25zLgotICoKLSAqIFRoaXMgZmlsZSBjb250YWlucyBPUyB0aWNrIGFuZCB3ZG9nIHRpbWVyIGltcGxlbWVudGF0aW9ucy4KLSAqCi0gKiBAaW5ncm91cCBUaW1lcnMKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2lycS5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KLQotLyohCi0gKiBUaGlzIGlzIHRoZSB0aW1lciBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIHRvIGRvIHJlcXVpcmVkIHRhc2tzLgotICogSXQgYWxzbyBzZXJ2aWNlcyB0aGUgV0RPRyB0aW1lciBhdCB0aGUgZnJlcXVlbmN5IG9mIHR3aWNlIHBlciBXRE9HCi0gKiB0aW1lb3V0IHZhbHVlLiBGb3IgZXhhbXBsZSwgaWYgdGhlIFdET0cncyB0aW1lb3V0IHZhbHVlIGlzIDQgKDIKLSAqIHNlY29uZHMgc2luY2UgdGhlIFdET0cgcnVucyBhdCAwLjVIeiksIGl0IHdpbGwgYmUgc2VydmljZWQgb25jZQotICogZXZlcnkgMi8yPTEgc2Vjb25kLgotICoKLSAqIEBwYXJhbSAgaXJxICAgICAgICAgIEdQVCBpbnRlcnJ1cHQgc291cmNlIG51bWJlciAobm90IHVzZWQpCi0gKiBAcGFyYW0gIGRldl9pZCAgICAgICB0aGlzIHBhcmFtZXRlciBpcyBub3QgdXNlZAotICogQHJldHVybiBhbHdheXMgcmV0dXJucyBcYiBJUlFfSEFORExFRCBhcyBkZWZpbmVkIGluCi0gKiAgICAgICAgIGluY2x1ZGUvbGludXgvaW50ZXJydXB0LmguCi0gKi8KLXN0YXRpYyBpcnFyZXR1cm5fdCBteGNfdGltZXJfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbmV4dF9tYXRjaDsKLQotCWlmIChfX3Jhd19yZWFkbChNWENfR1BUX0dQVFNSKSAmIEdQVFNSX09GMSkgewotCQlkbyB7Ci0JCQl0aW1lcl90aWNrKCk7Ci0JCQluZXh0X21hdGNoID0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRPQ1IxKSArIExBVENIOwotCQkJX19yYXdfd3JpdGVsKEdQVFNSX09GMSwgTVhDX0dQVF9HUFRTUik7Ci0JCQlfX3Jhd193cml0ZWwobmV4dF9tYXRjaCwgTVhDX0dQVF9HUFRPQ1IxKTsKLQkJfSB3aGlsZSAoKHNpZ25lZCBsb25nKShuZXh0X21hdGNoIC0KLQkJCQkgICAgICAgX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDTlQpKSA8PSAwKTsKLQl9Ci0KLQlyZXR1cm4gSVJRX0hBTkRMRUQ7Ci19Ci0KLS8qIQotICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIG9idGFpbiB0aGUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyBzaW5jZSB0aGUgbGFzdAotICogdGltZXIgaW50ZXJydXB0LiBOb3RlIHRoYXQgaW50ZXJydXB0cyBpcyBkaXNhYmxlZCBieSBkb19nZXR0aW1lb2ZkYXkoKS4KLSAqCi0gKiBAcmV0dXJuIHRoZSBudW1iZXIgb2YgbWljcm9zZWNvbmRzIHNpbmNlIHRoZSBsYXN0IHRpbWVyIGludGVycnVwdC4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbXhjX2dldHRpbWVvZmZzZXQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHRpY2tzX3RvX21hdGNoLCBlbGFwc2VkLCB1c2VjLCB0aWNrX3VzZWMsIGk7Ci0KLQkvKiBHZXQgdGlja3MgYmVmb3JlIG5leHQgdGltZXIgbWF0Y2ggKi8KLQl0aWNrc190b19tYXRjaCA9Ci0JICAgIF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUT0NSMSkgLSBfX3Jhd19yZWFkbChNWENfR1BUX0dQVENOVCk7Ci0KLQkvKiBXZSBuZWVkIGVsYXBzZWQgdGlja3Mgc2luY2UgbGFzdCBtYXRjaCAqLwotCWVsYXBzZWQgPSBMQVRDSCAtIHRpY2tzX3RvX21hdGNoOwotCi0JLyogTm93IGNvbnZlcnQgdGhlbSB0byB1c2VjICovCi0JLyogSW5zdXJlIG5vIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgdGhlIHVzZWMgYmVsb3cgKi8KLQlmb3IgKGkgPSAxLCB0aWNrX3VzZWMgPSB0aWNrX25zZWMgLyAxMDAwOzsgaSAqPSAyKSB7Ci0JCXRpY2tfdXNlYyAvPSBpOwotCQlpZiAoKDB4RkZGRkZGRkYgLyB0aWNrX3VzZWMpID4gZWxhcHNlZCkKLQkJCWJyZWFrOwotCX0KLQl1c2VjID0gKHVuc2lnbmVkIGxvbmcpKGVsYXBzZWQgKiB0aWNrX3VzZWMpIC8gKExBVENIIC8gaSk7Ci0KLQlyZXR1cm4gdXNlYzsKLX0KLQotLyohCi0gKiBUaGUgT1MgdGljayB0aW1lciBpbnRlcnJ1cHQgc3RydWN0dXJlLgotICovCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiB0aW1lcl9pcnEgPSB7Ci0JLm5hbWUgPSAiTVhDIFRpbWVyIFRpY2siLAotCS5mbGFncyA9IElSUUZfRElTQUJMRUQgfCBJUlFGX1RJTUVSLAotCS5oYW5kbGVyID0gbXhjX3RpbWVyX2ludGVycnVwdAotfTsKLQotLyohCi0gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgR1BUIHRvIHByb2R1Y2UgYW4gaW50ZXJydXB0Ci0gKiBiYXNlZCBvbiBIWi4gIEl0IGlzIGNhbGxlZCBieSBzdGFydF9rZXJuZWwoKSBkdXJpbmcgc3lzdGVtIHN0YXJ0dXAuCi0gKi8KLXZvaWQgX19pbml0IG14Y19pbml0X3RpbWUodm9pZCkKLXsKLQl1MzIgcmVnLCB2OwotCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpOwotCXJlZyAmPSB+R1BUQ1JfRU5BQkxFOwotCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19HUFRfR1BUQ1IpOwotCXJlZyB8PSBHUFRDUl9TV1I7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRDUik7Ci0KLQl3aGlsZSAoKF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpICYgR1BUQ1JfU1dSKSAhPSAwKQotCQljcHVfcmVsYXgoKTsKLQotCXJlZyA9IEdQVENSX0ZSUiB8IEdQVENSX0NMS1NSQ19ISUdIRlJFUTsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVENSKTsKLQotCS8qIFRPRE86IGdldCB0aW1lciByYXRlIGZyb20gY2xrIGRyaXZlciAqLwotCXYgPSA2NjUwMDAwMDsKLQotCV9fcmF3X3dyaXRlbCgodiAvIENMT0NLX1RJQ0tfUkFURSkgLSAxLCBNWENfR1BUX0dQVFBSKTsKLQotCWlmICgodiAlIENMT0NLX1RJQ0tfUkFURSkgIT0gMCkgewotCQlwcl9pbmZvKCJcbldBUk5JTkc6IENhbid0IGdlbmVyYXRlIENMT0NLX1RJQ0tfUkFURSBhdCAlZCBIelxuIiwKLQkJCUNMT0NLX1RJQ0tfUkFURSk7Ci0JfQotCXByX2luZm8oIkFjdHVhbCBDTE9DS19USUNLX1JBVEUgaXMgJWQgSHpcbiIsCi0JCXYgLyAoKF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUUFIpICYgMHhGRkYpICsgMSkpOwotCi0JcmVnID0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDTlQpOwotCXJlZyArPSBMQVRDSDsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVE9DUjEpOwotCi0Jc2V0dXBfaXJxKE1YQ19JTlRfR1BULCAmdGltZXJfaXJxKTsKLQotCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpOwotCXJlZyA9Ci0JICAgIEdQVENSX0ZSUiB8IEdQVENSX0NMS1NSQ19ISUdIRlJFUSB8IEdQVENSX1NUT1BFTiB8IEdQVENSX0RPWkVOIHwKLQkgICAgR1BUQ1JfV0FJVEVOIHwgR1BUQ1JfRU5NT0QgfCBHUFRDUl9FTkFCTEU7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRDUik7Ci0KLQlfX3Jhd193cml0ZWwoR1BUSVJfT0YxSUUsIE1YQ19HUFRfR1BUSVIpOwotfQotCi1zdHJ1Y3Qgc3lzX3RpbWVyIG14Y190aW1lciA9IHsKLQkuaW5pdCA9IG14Y19pbml0X3RpbWUsCi0JLm9mZnNldCA9IG14Y19nZXR0aW1lb2Zmc2V0LAotfTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9tYXAxL01ha2VmaWxlCmluZGV4IGMwNmY1MjUuLjFiZGE4ZjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9NYWtlZmlsZQpAQCAtMyw3ICszLDkgQEAKICMKIAogIyBDb21tb24gc3VwcG9ydAotb2JqLXkgOj0gaW8ubyBpZC5vIGNsb2NrLm8gaXJxLm8gbXV4Lm8gc2VyaWFsLm8gZGV2aWNlcy5vCitvYmoteSA6PSBpby5vIGlkLm8gc3JhbS5vIGNsb2NrLm8gaXJxLm8gbXV4Lm8gc2VyaWFsLm8gZGV2aWNlcy5vCisKK29iai0kKENPTkZJR19PTUFQX01DQlNQKSArPSBtY2JzcC5vCiAKIG9iai0kKENPTkZJR19PTUFQX01QVV9USU1FUikJKz0gdGltZS5vCiBvYmotJChDT05GSUdfT01BUF8zMktfVElNRVIpCSs9IHRpbWVyMzJrLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtbm9raWE3NzAuYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtbm9raWE3NzAuYwppbmRleCBiY2I5ODRmLi4zZjM5ZTBlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW5va2lhNzcwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1ub2tpYTc3MC5jCkBAIC0xMCw2ICsxMCw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgpAQCAtMjAyLDcgKzIwMyw3IEBACiAjZGVmaW5lCUFNUExJRklFUl9DVFJMX0dQSU8JNTgKIAogc3RhdGljIHN0cnVjdCBjbGsgKmRzcHhvcl9jazsKLXN0YXRpYyBERUNMQVJFX01VVEVYKGF1ZGlvX3B3cl9zZW0pOworc3RhdGljIERFRklORV9NVVRFWChhdWRpb19wd3JfbG9jayk7CiAvKgogICogYXVkaW9fcHdyX3N0YXRlCiAgKiArLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCkBAIC0yMTgsNyArMjE5LDcgQEAKIHN0YXRpYyBpbnQgYXVkaW9fcHdyX3N0YXRlID0gLTE7CiAKIC8qCi0gKiBhdWRpb19wd3JfdXAgLyBkb3duIHNob3VsZCBiZSBjYWxsZWQgdW5kZXIgYXVkaW9fcHdyX3NlbQorICogYXVkaW9fcHdyX3VwIC8gZG93biBzaG91bGQgYmUgY2FsbGVkIHVuZGVyIGF1ZGlvX3B3cl9sb2NrCiAgKi8KIHN0YXRpYyB2b2lkIG5va2lhNzcwX2F1ZGlvX3B3cl91cCh2b2lkKQogewpAQCAtMjM3LDExICsyMzgsMTEgQEAKIAogc3RhdGljIHZvaWQgY29kZWNfZGVsYXllZF9wb3dlcl9kb3duKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlkb3duKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF9sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJaWYgKGF1ZGlvX3B3cl9zdGF0ZSA9PSAtMSkKIAkJYWljMjNfcG93ZXJfZG93bigpOwogCWNsa19kaXNhYmxlKGRzcHhvcl9jayk7Ci0JdXAoJmF1ZGlvX3B3cl9zZW0pOworCW11dGV4X3VubG9jaygmYXVkaW9fcHdyX2xvY2spOwogfQogCiBzdGF0aWMgREVDTEFSRV9ERUxBWUVEX1dPUksoY29kZWNfcG93ZXJfZG93bl93b3JrLCBjb2RlY19kZWxheWVkX3Bvd2VyX2Rvd24pOwpAQCAtMjU4LDE5ICsyNTksMTkgQEAKIHN0YXRpYyBpbnQKIG5va2lhNzcwX2F1ZGlvX3B3cl91cF9yZXF1ZXN0KHN0cnVjdCBkc3Bfa2Z1bmNfZGV2aWNlICprZGV2LCBpbnQgc3RhZ2UpCiB7Ci0JZG93bigmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfbG9jaygmYXVkaW9fcHdyX2xvY2spOwogCWlmIChhdWRpb19wd3Jfc3RhdGUgPT0gLTEpCiAJCW5va2lhNzcwX2F1ZGlvX3B3cl91cCgpOwogCS8qIGZvcmNlIGF1ZGlvX3B3cl9zdGF0ZSA9IDAsIGV2ZW4gaWYgaXQgd2FzIDEuICovCiAJYXVkaW9fcHdyX3N0YXRlID0gMDsKLQl1cCgmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfdW5sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQKIG5va2lhNzcwX2F1ZGlvX3B3cl9kb3duX3JlcXVlc3Qoc3RydWN0IGRzcF9rZnVuY19kZXZpY2UgKmtkZXYsIGludCBzdGFnZSkKIHsKLQlkb3duKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF9sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJc3dpdGNoIChzdGFnZSkgewogCWNhc2UgMToKIAkJaWYgKGF1ZGlvX3B3cl9zdGF0ZSA9PSAwKQpAQCAtMjgzLDcgKzI4NCw3IEBACiAJCX0KIAkJYnJlYWs7CiAJfQotCXVwKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF91bmxvY2soJmF1ZGlvX3B3cl9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1vc2suYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtb3NrLmMKaW5kZXggYTY2NTA1Zi4uODQ1YzY2MyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1vc2suYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW9zay5jCkBAIC0yNjcsMTMgKzI2NywxNyBAQAogCiBzdGF0aWMgdm9pZCBfX2luaXQgb3NrX2luaXRfc21jOTF4KHZvaWQpCiB7CisJdTMyIGw7CisKIAlpZiAoKGdwaW9fcmVxdWVzdCgwLCAic21jX2lycSIpKSA8IDApIHsKIAkJcHJpbnRrKCJFcnJvciByZXF1ZXN0aW5nIGdwaW8gMCBmb3Igc21jOTF4IGlycVxuIik7CiAJCXJldHVybjsKIAl9CiAKIAkvKiBDaGVjayBFTUlGUyB3YWl0IHN0YXRlcyB0byBmaXggZXJyb3JzIHdpdGggU01DX0dFVF9QS1RfSERSICovCi0JRU1JRlNfQ0NTKDEpIHw9IDB4MzsKKwlsID0gb21hcF9yZWFkbChFTUlGU19DQ1MoMSkpOworCWwgfD0gMHgzOworCW9tYXBfd3JpdGVsKGwsIEVNSUZTX0NDUygxKSk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBvc2tfaW5pdF9jZih2b2lkKQpAQCAtNTI2LDIwICs1MzAsMjYgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG9za19pbml0KHZvaWQpCiB7CisJdTMyIGw7CisKIAkvKiBXb3JrYXJvdW5kIGZvciB3cm9uZyBDUzMgKE5PUiBmbGFzaCkgdGltaW5nCiAJICogVGhlcmUgYXJlIHNvbWUgVS1Cb290IHZlcnNpb25zIG91dCB0aGVyZSB3aGljaCBjb25maWd1cmUKIAkgKiB3cm9uZyBDUzMgbWVtb3J5IHRpbWluZ3MuIFRoaXMgbWFpbmx5IGxlYWRzIHRvIENSQwogCSAqIG9yIHNpbWlsYXIgZXJyb3JzIGlmIHlvdSB1c2UgTk9SIGZsYXNoIChlLmcuIHdpdGggSkZGUzIpCiAJICovCi0JaWYgKEVNSUZTX0NDUygzKSAhPSBFTUlGU19DUzNfVkFMKQotCQlFTUlGU19DQ1MoMykgPSBFTUlGU19DUzNfVkFMOworCWwgPSBvbWFwX3JlYWRsKEVNSUZTX0NDUygzKSk7CisJaWYgKGwgIT0gRU1JRlNfQ1MzX1ZBTCkKKwkJb21hcF93cml0ZWwoRU1JRlNfQ1MzX1ZBTCwgRU1JRlNfQ0NTKDMpKTsKIAogCW9za19mbGFzaF9yZXNvdXJjZS5lbmQgPSBvc2tfZmxhc2hfcmVzb3VyY2Uuc3RhcnQgPSBvbWFwX2NzM19waHlzKCk7CiAJb3NrX2ZsYXNoX3Jlc291cmNlLmVuZCArPSBTWl8zMk0gLSAxOwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG9zazU5MTJfZGV2aWNlcywgQVJSQVlfU0laRShvc2s1OTEyX2RldmljZXMpKTsKIAlvbWFwX2JvYXJkX2NvbmZpZyA9IG9za19jb25maWc7CiAJb21hcF9ib2FyZF9jb25maWdfc2l6ZSA9IEFSUkFZX1NJWkUob3NrX2NvbmZpZyk7Ci0JVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHIHw9ICgzIDw8IDEpOworCisJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCWwgfD0gKDMgPDwgMSk7CisJb21hcF93cml0ZWwobCwgVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOwogCiAJLyogaXJxIGZvciB0cHM2NTAxMCBjaGlwICovCiAJLyogYm9vdGxvYWRlciBlZmZlY3RpdmVseSBkb2VzOiAgb21hcF9jZmdfcmVnKFUxOV8xNjEwX01QVUlPMSk7ICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL2ZwZ2EuYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCmluZGV4IDMwZTE4ODEuLjBjZjYyZWYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCkBAIC0zMiw3ICszMiw3IEBACiAKIHN0YXRpYyB2b2lkIGZwZ2FfbWFza19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlpcnEgLT0gT01BUDE1MTBfSUhfRlBHQV9CQVNFOworCWlycSAtPSBPTUFQX0ZQR0FfSVJRX0JBU0U7CiAKIAlpZiAoaXJxIDwgOCkKIAkJX19yYXdfd3JpdGViKChfX3Jhd19yZWFkYihPTUFQMTUxMF9GUEdBX0lNUl9MTykKQEAgLTY1LDcgKzY1LDcgQEAKIAogc3RhdGljIHZvaWQgZnBnYV91bm1hc2tfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JaXJxIC09IE9NQVAxNTEwX0lIX0ZQR0FfQkFTRTsKKwlpcnEgLT0gT01BUF9GUEdBX0lSUV9CQVNFOwogCiAJaWYgKGlycSA8IDgpCiAJCV9fcmF3X3dyaXRlYigoX19yYXdfcmVhZGIoT01BUDE1MTBfRlBHQV9JTVJfTE8pIHwgKDEgPDwgaXJxKSksCkBAIC05NSw4ICs5NSw4IEBACiAJaWYgKCFzdGF0KQogCQlyZXR1cm47CiAKLQlmb3IgKGZwZ2FfaXJxID0gT01BUDE1MTBfSUhfRlBHQV9CQVNFOwotCSAgICAgKGZwZ2FfaXJxIDwgKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIE5SX0ZQR0FfSVJRUykpICYmIHN0YXQ7CisJZm9yIChmcGdhX2lycSA9IE9NQVBfRlBHQV9JUlFfQkFTRTsKKwkgICAgIChmcGdhX2lycSA8IE9NQVBfRlBHQV9JUlFfRU5EKSAmJiBzdGF0OwogCSAgICAgZnBnYV9pcnErKywgc3RhdCA+Pj0gMSkgewogCQlpZiAoc3RhdCAmIDEpIHsKIAkJCWQgPSBpcnFfZGVzYyArIGZwZ2FfaXJxOwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJX19yYXdfd3JpdGViKDAsIE9NQVAxNTEwX0ZQR0FfSU1SX0hJKTsKIAlfX3Jhd193cml0ZWIoMCwgSU5OT1ZBVE9SX0ZQR0FfSU1SMik7CiAKLQlmb3IgKGkgPSBPTUFQMTUxMF9JSF9GUEdBX0JBU0U7IGkgPCAoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgTlJfRlBHQV9JUlFTKTsgaSsrKSB7CisJZm9yIChpID0gT01BUF9GUEdBX0lSUV9CQVNFOyBpIDwgT01BUF9GUEdBX0lSUV9FTkQ7IGkrKykgewogCiAJCWlmIChpID09IE9NQVAxNTEwX0lOVF9GUEdBX1RTKSB7CiAJCQkvKgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9tY2JzcC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9tY2JzcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMmMyNTIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL21jYnNwLmMKQEAgLTAsMCArMSwyODAgQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAxL21jYnNwLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5zdGl0dXRvIE5va2lhIGRlIFRlY25vbG9naWEKKyAqIENvbnRhY3Q6IEVkdWFyZG8gVmFsZW50aW4gPGVkdWFyZG8udmFsZW50aW5AaW5kdC5vcmcuYnI+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBNdWx0aWNoYW5uZWwgbW9kZSBub3Qgc3VwcG9ydGVkLgorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9kbWEuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdXguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jcHUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tY2JzcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2RzcF9jb21tb24uaD4KKworI2RlZmluZSBEUFNfUlNUQ1QyX1BFUl9FTgkoMSA8PCAwKQorI2RlZmluZSBEU1BfUlNUQ1QyX1dEX1BFUl9FTgkoMSA8PCAxKQorCitzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIHsKKwlzdHJ1Y3QgY2xrIGNsazsKKwlzdHJ1Y3QgY2xrICoqY2hpbGRzOworCWludCBuX2NoaWxkczsKK307CisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNVhYKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNlhYKQorc3RhdGljIHZvaWQgb21hcF9tY2JzcF9jbGtfaW5pdChzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrKQoreworCWNvbnN0IGNoYXIgKmNsa19uYW1lc1tdID0geyAiZHNwX2NrIiwgImFwaV9jayIsICJkc3B4b3JfY2siIH07CisJaW50IGk7CisKKwltY2xrLT5uX2NoaWxkcyA9IEFSUkFZX1NJWkUoY2xrX25hbWVzKTsKKwltY2xrLT5jaGlsZHMgPSBremFsbG9jKG1jbGstPm5fY2hpbGRzICogc2l6ZW9mKHN0cnVjdCBjbGsgKiksCisJCQkJR0ZQX0tFUk5FTCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykgeworCQkvKiBXZSBmYWtlIGEgcGxhdGZvcm0gZGV2aWNlIHRvIGdldCBjb3JyZWN0IGRldmljZSBpZCAqLworCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBkZXY7CisKKwkJcGRldi5kZXYuYnVzID0gJnBsYXRmb3JtX2J1c190eXBlOworCQlwZGV2LmlkID0gbWNsay0+Y2xrLmlkOworCQltY2xrLT5jaGlsZHNbaV0gPSBjbGtfZ2V0KCZwZGV2LmRldiwgY2xrX25hbWVzW2ldKTsKKwkJaWYgKElTX0VSUihtY2xrLT5jaGlsZHNbaV0pKQorCQkJcHJpbnRrKEtFUk5fRVJSICJDb3VsZCBub3QgZ2V0IGNsb2NrICVzICglZCkuXG4iLAorCQkJCWNsa19uYW1lc1tpXSwgbWNsay0+Y2xrLmlkKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrID0gY29udGFpbmVyX29mKGNsaywKKwkJCQkJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsaywgY2xrKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKQorCQljbGtfZW5hYmxlKG1jbGstPmNoaWxkc1tpXSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG9tYXBfbWNic3BfY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGsgPSBjb250YWluZXJfb2YoY2xrLAorCQkJCQlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrLCBjbGspOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspCisJCWNsa19kaXNhYmxlKG1jbGstPmNoaWxkc1tpXSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIG9tYXBfbWNic3BfY2xrc1tdID0geworCXsKKwkJLmNsayA9IHsKKwkJCS5uYW1lIAkJPSAibWNic3BfY2xrIiwKKwkJCS5pZAkJPSAxLAorCQkJLmVuYWJsZQkJPSBvbWFwX21jYnNwX2Nsa19lbmFibGUsCisJCQkuZGlzYWJsZQk9IG9tYXBfbWNic3BfY2xrX2Rpc2FibGUsCisJCX0sCisJfSwKKwl7CisJCS5jbGsgPSB7CisJCQkubmFtZSAJCT0gIm1jYnNwX2NsayIsCisJCQkuaWQJCT0gMywKKwkJCS5lbmFibGUJCT0gb21hcF9tY2JzcF9jbGtfZW5hYmxlLAorCQkJLmRpc2FibGUJPSBvbWFwX21jYnNwX2Nsa19kaXNhYmxlLAorCQl9LAorCX0sCit9OworCisjZGVmaW5lIG9tYXBfbWNic3BfY2xrc19zaXplCUFSUkFZX1NJWkUob21hcF9tY2JzcF9jbGtzKQorI2Vsc2UKKyNkZWZpbmUgb21hcF9tY2JzcF9jbGtzX3NpemUJMAorc3RhdGljIHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgX19pbml0ZGF0YSAqb21hcF9tY2JzcF9jbGtzOworc3RhdGljIGlubGluZSB2b2lkIG9tYXBfbWNic3BfY2xrX2luaXQoc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsaykKK3sgfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgb21hcDFfbWNic3BfY2hlY2sodW5zaWduZWQgaW50IGlkKQoreworCS8qIFJFVklTSVQ6IENoZWNrIGNvcnJlY3RseSBmb3IgbnVtYmVyIG9mIHJlZ2lzdGVyZWQgTWNCU1BzICovCisJaWYgKGNwdV9pc19vbWFwNzMwKCkpIHsKKwkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAyKSB7CisJCSAgICAgICBwcmludGsoS0VSTl9FUlIgIk9NQVAtTWNCU1A6IE1jQlNQJWQgZG9lc24ndCBleGlzdFxuIiwKKwkJCQlpZCArIDEpOworCQkgICAgICAgcmV0dXJuIC1FTk9ERVY7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKGNwdV9pc19vbWFwMTV4eCgpIHx8IGNwdV9pc19vbWFwMTZ4eCgpKSB7CisJCWlmIChpZCA+IE9NQVBfTUFYX01DQlNQX0NPVU5UIC0gMSkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJPTUFQLU1jQlNQOiBNY0JTUCVkIGRvZXNuJ3QgZXhpc3RcbiIsCisJCQkJaWQgKyAxKTsKKwkJCXJldHVybiAtRU5PREVWOworCQl9CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAtRU5PREVWOworfQorCitzdGF0aWMgdm9pZCBvbWFwMV9tY2JzcF9yZXF1ZXN0KHVuc2lnbmVkIGludCBpZCkKK3sKKwkvKgorCSAqIE9uIDE1MTAsIDE2MTAgYW5kIDE3MTAsIE1jQlNQMSBhbmQgTWNCU1AzCisJICogYXJlIERTUCBwdWJsaWMgcGVyaXBoZXJhbHMuCisJICovCisJaWYgKGlkID09IE9NQVBfTUNCU1AxIHx8IGlkID09IE9NQVBfTUNCU1AzKSB7CisJCW9tYXBfZHNwX3JlcXVlc3RfbWVtKCk7CisJCS8qCisJCSAqIERTUCBleHRlcm5hbCBwZXJpcGhlcmFsIHJlc2V0CisJCSAqIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtb3ZlZCB0byBkc3AgY29kZQorCQkgKi8KKwkJX19yYXdfd3JpdGV3KF9fcmF3X3JlYWR3KERTUF9SU1RDVDIpIHwgRFBTX1JTVENUMl9QRVJfRU4gfAorCQkJCURTUF9SU1RDVDJfV0RfUEVSX0VOLCBEU1BfUlNUQ1QyKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIG9tYXAxX21jYnNwX2ZyZWUodW5zaWduZWQgaW50IGlkKQoreworCWlmIChpZCA9PSBPTUFQX01DQlNQMSB8fCBpZCA9PSBPTUFQX01DQlNQMykKKwkJb21hcF9kc3BfcmVsZWFzZV9tZW0oKTsKK30KKworc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX29wcyBvbWFwMV9tY2JzcF9vcHMgPSB7CisJLmNoZWNrCQk9IG9tYXAxX21jYnNwX2NoZWNrLAorCS5yZXF1ZXN0CT0gb21hcDFfbWNic3BfcmVxdWVzdCwKKwkuZnJlZQkJPSBvbWFwMV9tY2JzcF9mcmVlLAorfTsKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVA3MzAKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXA3MzBfbWNic3BfcGRhdGFbXSA9IHsKKwl7CisJCS52aXJ0X2Jhc2UJPSBpb19wMnYoT01BUDczMF9NQ0JTUDFfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF83MzBfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UXzczMF9NY0JTUDFUWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19UWCwKKwkJLnJ4X2lycQkJPSBJTlRfNzMwX01jQlNQMlJYLAorCQkudHhfaXJxCQk9IElOVF83MzBfTWNCU1AyVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwl9LAorfTsKKyNkZWZpbmUgT01BUDczMF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwNzMwX21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDczMF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQNzMwX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAxNVhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMTV4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNTEwX01DQlNQMV9CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQMVRYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCQl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IGlvX3AydihPTUFQMTUxMF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMl9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AyX1RYLAorCQkucnhfaXJxCQk9IElOVF8xNTEwX1NQSV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMTUxMF9TUElfVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNTEwX01DQlNQM19CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AzUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQM1RYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCit9OworI2RlZmluZSBPTUFQMTVYWF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwMTV4eF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXAxNXh4X21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVAxNVhYX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAxNlhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMTZ4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNjEwX01DQlNQMV9CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQMVRYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gaW9fcDJ2KE9NQVAxNjEwX01DQlNQMl9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AyX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDJfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzE2MTBfTWNCU1AyX1JYLAorCQkudHhfaXJxCQk9IElOVF8xNjEwX01jQlNQMl9UWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gT01BUDE2MTBfTUNCU1AzX0JBU0UsCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AzX1RYLAorCQkucnhfaXJxCQk9IElOVF9NY0JTUDNSWCwKKwkJLnR4X2lycQkJPSBJTlRfTWNCU1AzVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKK307CisjZGVmaW5lIE9NQVAxNlhYX01DQlNQX1BEQVRBX1NaCQlBUlJBWV9TSVpFKG9tYXAxNnh4X21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDE2eHhfbWNic3BfcGRhdGEJCU5VTEwKKyNkZWZpbmUgT01BUDE2WFhfTUNCU1BfUERBVEFfU1oJCTAKKyNlbmRpZgorCitpbnQgX19pbml0IG9tYXAxX21jYnNwX2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBvbWFwX21jYnNwX2Nsa3Nfc2l6ZTsgaSsrKSB7CisJCWlmIChjcHVfaXNfb21hcDE1eHgoKSB8fCBjcHVfaXNfb21hcDE2eHgoKSkgeworCQkJb21hcF9tY2JzcF9jbGtfaW5pdCgmb21hcF9tY2JzcF9jbGtzW2ldKTsKKwkJCWNsa19yZWdpc3Rlcigmb21hcF9tY2JzcF9jbGtzW2ldLmNsayk7CisJCX0KKwl9CisKKwlpZiAoY3B1X2lzX29tYXA3MzAoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDczMF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVA3MzBfTUNCU1BfUERBVEFfU1opOworCisJaWYgKGNwdV9pc19vbWFwMTV4eCgpKQorCQlvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhvbWFwMTV4eF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVAxNVhYX01DQlNQX1BEQVRBX1NaKTsKKworCWlmIChjcHVfaXNfb21hcDE2eHgoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDE2eHhfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQMTZYWF9NQ0JTUF9QREFUQV9TWik7CisKKwlyZXR1cm4gb21hcF9tY2JzcF9pbml0KCk7Cit9CisKK2FyY2hfaW5pdGNhbGwob21hcDFfbWNic3BfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL3BtLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAxL3BtLmMKaW5kZXggZTZjNjRlMS4uNzQyZjc5ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9wbS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvcG0uYwpAQCAtMTE2LDEzICsxMTYsNiBAQAogCQlyZXR1cm47CiAJfQogCi0JLyoKLQkgKiBTaW5jZSBhbiBpbnRlcnJ1cHQgbWF5IHNldCB1cCBhIHRpbWVyLCB3ZSBkb24ndCB3YW50IHRvCi0JICogcmVwcm9ncmFtIHRoZSBoYXJkd2FyZSB0aW1lciB3aXRoIGludGVycnVwdHMgZW5hYmxlZC4KLQkgKiBSZS1lbmFibGUgaW50ZXJydXB0cyBvbmx5IGFmdGVyIHJldHVybmluZyBmcm9tIGlkbGUuCi0JICovCi0JdGltZXJfZHluX3JlcHJvZ3JhbSgpOwotCiAjaWZkZWYgQ09ORklHX09NQVBfTVBVX1RJTUVSCiAjd2FybmluZyBFbmFibGUgMzJrSHogT1MgdGltZXIgaW4gb3JkZXIgdG8gYWxsb3cgc2xlZXAgc3RhdGVzIGluIGlkbGUKIAl1c2VfaWRsZWN0MSA9IHVzZV9pZGxlY3QxICYgfigxIDw8IDkpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL3NyYW0tZm4uUyBiL2FyY2gvYXJtL21hY2gtb21hcDEvc3JhbS5TCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL3BsYXQtb21hcC9zcmFtLWZuLlMKcmVuYW1lIHRvIGFyY2gvYXJtL21hY2gtb21hcDEvc3JhbS5TCmluZGV4IDllMTgxM2MuLjEyNmQyNTIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLWZuLlMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9zcmFtLlMKQEAgLTE4LDcgKzE4LDcgQEAKIC8qCiAgKiBSZXByb2dyYW1zIFVMUEQgYW5kIENLQ1RMLgogICovCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9jbG9jaykKK0VOVFJZKG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrKQogCXN0bWZkCXNwISwge3IwIC0gcjEyLCBscn0JCUAgc2F2ZSByZWdpc3RlcnMgb24gc3RhY2sKIAogCW1vdglyMiwgI0lPX0FERFJFU1MoRFBMTF9DVEwpICYgMHhmZjAwMDAwMApAQCAtNTMsNSArNTMsNSBAQAogCiBvdXQ6CiAJbGRtZmQJc3AhLCB7cjAgLSByMTIsIHBjfQkJQCByZXN0b3JlIHJlZ3MgYW5kIHJldHVybgotRU5UUlkoc3JhbV9yZXByb2dyYW1fY2xvY2tfc3opCi0JLndvcmQJLiAtIHNyYW1fcmVwcm9ncmFtX2Nsb2NrCitFTlRSWShvbWFwMV9zcmFtX3JlcHJvZ3JhbV9jbG9ja19zeikKKwkud29yZAkuIC0gb21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2sKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9tYXAyL01ha2VmaWxlCmluZGV4IDJmZWI2ODcuLjkzZWU5OTAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9NYWtlZmlsZQpAQCAtMyw5ICszLDE1IEBACiAjCiAKICMgQ29tbW9uIHN1cHBvcnQKLW9iai15IDo9IGlycS5vIGlkLm8gaW8ubyBzcmFtLWZuLm8gbWVtb3J5Lm8gY29udHJvbC5vIHByY20ubyBjbG9jay5vIG11eC5vIFwKK29iai15IDo9IGlycS5vIGlkLm8gaW8ubyBtZW1vcnkubyBjb250cm9sLm8gcHJjbS5vIGNsb2NrLm8gbXV4Lm8gXAogCQlkZXZpY2VzLm8gc2VyaWFsLm8gZ3BtYy5vIHRpbWVyLWdwLm8KIAorb2JqLSQoQ09ORklHX09NQVBfTUNCU1ApICs9IG1jYnNwLm8KKworIyBGdW5jdGlvbnMgbG9hZGVkIHRvIFNSQU0KK29iai0kKENPTkZJR19BUkNIX09NQVAyNDIwKQkJKz0gc3JhbTI0Mngubworb2JqLSQoQ09ORklHX0FSQ0hfT01BUDI0MzApCQkrPSBzcmFtMjQzeC5vCisKICMgUG93ZXIgTWFuYWdlbWVudAogb2JqLSQoQ09ORklHX1BNKSArPSBwbS5vIHNsZWVwLm8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5jCmluZGV4IGFiOWZjNTcuLjE1Njc1YmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmMKQEAgLTQxLDYgKzQxLDI0IEBACiAKICNkZWZpbmUgTUFYX0NMT0NLX0VOQUJMRV9XQUlUCQkxMDAwMDAKIAorLyogRFBMTCByYXRlIHJvdW5kaW5nOiBtaW5pbXVtIERQTEwgbXVsdGlwbGllciwgZGl2aWRlciB2YWx1ZXMgKi8KKyNkZWZpbmUgRFBMTF9NSU5fTVVMVElQTElFUgkJMQorI2RlZmluZSBEUExMX01JTl9ESVZJREVSCQkxCisKKy8qIFBvc3NpYmxlIGVycm9yIHJlc3VsdHMgZnJvbSBfZHBsbF90ZXN0X211bHQgKi8KKyNkZWZpbmUgRFBMTF9NVUxUX1VOREVSRkxPVwkJKDEgPDwgMCkKKworLyoKKyAqIFNjYWxlIGZhY3RvciB0byBtaXRpZ2F0ZSByb3VuZG9mZiBlcnJvcnMgaW4gRFBMTCByYXRlIHJvdW5kaW5nLgorICogVGhlIGhpZ2hlciB0aGUgc2NhbGUgZmFjdG9yLCB0aGUgZ3JlYXRlciB0aGUgcmlzayBvZiBhcml0aG1ldGljIG92ZXJmbG93LAorICogYnV0IHRoZSBjbG9zZXIgdGhlIHJvdW5kZWQgcmF0ZSB0byB0aGUgdGFyZ2V0IHJhdGUuICBEUExMX1NDQUxFX0ZBQ1RPUgorICogbXVzdCBiZSBhIHBvd2VyIG9mIERQTExfU0NBTEVfQkFTRS4KKyAqLworI2RlZmluZSBEUExMX1NDQUxFX0ZBQ1RPUgkJNjQKKyNkZWZpbmUgRFBMTF9TQ0FMRV9CQVNFCQkJMgorI2RlZmluZSBEUExMX1JPVU5ESU5HX1ZBTAkJKChEUExMX1NDQUxFX0JBU0UgLyAyKSAqIFwKKwkJCQkJIChEUExMX1NDQUxFX0ZBQ1RPUiAvIERQTExfU0NBTEVfQkFTRSkpCisKIHU4IGNwdV9tYXNrOwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk1LDcgKzExMyw3IEBACiB7CiAJbG9uZyBsb25nIGRwbGxfY2xrOwogCXUzMiBkcGxsX211bHQsIGRwbGxfZGl2LCBkcGxsOwotCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCXN0cnVjdCBkcGxsX2RhdGEgKmRkOwogCiAJZGQgPSBjbGstPmRwbGxfZGF0YTsKIAkvKiBSRVZJU0lUOiBXaGF0IGRvIHdlIHJldHVybiBvbiBlcnJvcj8gKi8KQEAgLTYwMyw3ICs2MjEsOCBAQAogCWNsay0+cmF0ZSA9IGNsay0+cGFyZW50LT5yYXRlIC8gbmV3X2RpdjsKIAogCWlmIChjbGstPmZsYWdzICYgREVMQVlFRF9BUFAgJiYgY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJX19yYXdfd3JpdGVsKE9NQVAyNFhYX1ZBTElEX0NPTkZJRywgT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTCk7CisJCXBybV93cml0ZV9tb2RfcmVnKE9NQVAyNFhYX1ZBTElEX0NPTkZJRywKKwkJCU9NQVAyNFhYX0dSX01PRCwgT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTF9PRkZTRVQpOwogCQl3bWIoKTsKIAl9CiAKQEAgLTcyMyw2ICs3NDIsMTg0IEBACiAJcmV0dXJuIDA7CiB9CiAKKy8qIERQTEwgcmF0ZSByb3VuZGluZyBjb2RlICovCisKKy8qKgorICogb21hcDJfZHBsbF9zZXRfcmF0ZV90b2xlcmFuY2U6IHNldCB0aGUgZXJyb3IgdG9sZXJhbmNlIGR1cmluZyByYXRlIHJvdW5kaW5nCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogb2YgdGhlIERQTEwKKyAqIEB0b2xlcmFuY2U6IG1heGltdW0gcmF0ZSBlcnJvciB0b2xlcmFuY2UKKyAqCisgKiBTZXQgdGhlIG1heGltdW0gRFBMTCByYXRlIGVycm9yIHRvbGVyYW5jZSBmb3IgdGhlIHJhdGUgcm91bmRpbmcKKyAqIGFsZ29yaXRobS4gIFRoZSByYXRlIHRvbGVyYW5jZSBpcyBhbiBhdHRlbXB0IHRvIGJhbGFuY2UgRFBMTCBwb3dlcgorICogc2F2aW5nICh0aGUgbGVhc3QgZGl2aWRlciB2YWx1ZSAibiIpIHZzLiByYXRlIGZpZGVsaXR5ICh0aGUgbGVhc3QKKyAqIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgZGVzaXJlZCBEUExMIHRhcmdldCByYXRlIGFuZCB0aGUgcm91bmRlZAorICogcmF0ZSBvdXQgb2YgdGhlIGFsZ29yaXRobSkuICBTbywgaW5jcmVhc2luZyB0aGUgdG9sZXJhbmNlIGlzIGxpa2VseQorICogdG8gZGVjcmVhc2UgRFBMTCBwb3dlciBjb25zdW1wdGlvbiBhbmQgaW5jcmVhc2UgRFBMTCByYXRlIGVycm9yLgorICogUmV0dXJucyAtRUlOVkFMIGlmIHByb3ZpZGVkIGEgbnVsbCBjbG9jayBwdHIgb3IgYSBjbGsgdGhhdCBpcyBub3QgYQorICogRFBMTDsgb3IgMCB1cG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBvbWFwMl9kcGxsX3NldF9yYXRlX3RvbGVyYW5jZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGludCB0b2xlcmFuY2UpCit7CisJaWYgKCFjbGsgfHwgIWNsay0+ZHBsbF9kYXRhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNsay0+ZHBsbF9kYXRhLT5yYXRlX3RvbGVyYW5jZSA9IHRvbGVyYW5jZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfZHBsbF9jb21wdXRlX25ld19yYXRlKHVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGUsIHVuc2lnbmVkIGludCBtLCB1bnNpZ25lZCBpbnQgbikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbnVtOworCisJbnVtID0gKHVuc2lnbmVkIGxvbmcgbG9uZylwYXJlbnRfcmF0ZSAqIG07CisJZG9fZGl2KG51bSwgbik7CisJcmV0dXJuIG51bTsKK30KKworLyoKKyAqIF9kcGxsX3Rlc3RfbXVsdCAtIHRlc3QgYSBEUExMIG11bHRpcGxpZXIgdmFsdWUKKyAqIEBtOiBwb2ludGVyIHRvIHRoZSBEUExMIG0gKG11bHRpcGxpZXIpIHZhbHVlIHVuZGVyIHRlc3QKKyAqIEBuOiBjdXJyZW50IERQTEwgbiAoZGl2aWRlcikgdmFsdWUgdW5kZXIgdGVzdAorICogQG5ld19yYXRlOiBwb2ludGVyIHRvIHN0b3JhZ2UgZm9yIHRoZSByZXN1bHRpbmcgcm91bmRlZCByYXRlCisgKiBAdGFyZ2V0X3JhdGU6IHRoZSBkZXNpcmVkIERQTEwgcmF0ZQorICogQHBhcmVudF9yYXRlOiB0aGUgRFBMTCdzIHBhcmVudCBjbG9jayByYXRlCisgKgorICogVGhpcyBjb2RlIHRlc3RzIGEgRFBMTCBtdWx0aXBsaWVyIHZhbHVlLCBlbnN1cmluZyB0aGF0IHRoZQorICogcmVzdWx0aW5nIHJhdGUgd2lsbCBub3QgYmUgaGlnaGVyIHRoYW4gdGhlIHRhcmdldF9yYXRlLCBhbmQgdGhhdAorICogdGhlIG11bHRpcGxpZXIgdmFsdWUgaXRzZWxmIGlzIHZhbGlkIGZvciB0aGUgRFBMTC4gIEluaXRpYWxseSwgdGhlCisgKiBpbnRlZ2VyIHBvaW50ZWQgdG8gYnkgdGhlIG0gYXJndW1lbnQgc2hvdWxkIGJlIHByZXNjYWxlZCBieQorICogbXVsdGlwbHlpbmcgYnkgRFBMTF9TQ0FMRV9GQUNUT1IuICBUaGUgY29kZSB3aWxsIHJlcGxhY2UgdGhpcyB3aXRoCisgKiBhIG5vbi1zY2FsZWQgbSB1cG9uIHJldHVybi4gIFRoaXMgbm9uLXNjYWxlZCBtIHdpbGwgcmVzdWx0IGluIGEKKyAqIG5ld19yYXRlIGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRhcmdldF9yYXRlIChidXQgbm90IGdyZWF0ZXIgdGhhbgorICogdGFyZ2V0X3JhdGUpIGdpdmVuIHRoZSBjdXJyZW50IChwYXJlbnRfcmF0ZSwgbiwgcHJlc2NhbGVkIG0pCisgKiB0cmlwbGUuIFJldHVybnMgRFBMTF9NVUxUX1VOREVSRkxPVyBpbiB0aGUgZXZlbnQgdGhhdCB0aGUKKyAqIG5vbi1zY2FsZWQgbSBhdHRlbXB0ZWQgdG8gdW5kZXJmbG93LCB3aGljaCBjYW4gYWxsb3cgdGhlIGNhbGxpbmcKKyAqIGZ1bmN0aW9uIHRvIGJhaWwgb3V0IGVhcmx5OyBvciAwIHVwb24gc3VjY2Vzcy4KKyAqLworc3RhdGljIGludCBfZHBsbF90ZXN0X211bHQoaW50ICptLCBpbnQgbiwgdW5zaWduZWQgbG9uZyAqbmV3X3JhdGUsCisJCQkgICB1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlLAorCQkJICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZSkKK3sKKwlpbnQgZmxhZ3MgPSAwLCBjYXJyeSA9IDA7CisKKwkvKiBVbnNjYWxlIG0gYW5kIHJvdW5kIGlmIG5lY2Vzc2FyeSAqLworCWlmICgqbSAlIERQTExfU0NBTEVfRkFDVE9SID49IERQTExfUk9VTkRJTkdfVkFMKQorCQljYXJyeSA9IDE7CisJKm0gPSAoKm0gLyBEUExMX1NDQUxFX0ZBQ1RPUikgKyBjYXJyeTsKKworCS8qCisJICogVGhlIG5ldyByYXRlIG11c3QgYmUgPD0gdGhlIHRhcmdldCByYXRlIHRvIGF2b2lkIHByb2dyYW1taW5nCisJICogYSByYXRlIHRoYXQgaXMgaW1wb3NzaWJsZSBmb3IgdGhlIGhhcmR3YXJlIHRvIGhhbmRsZQorCSAqLworCSpuZXdfcmF0ZSA9IF9kcGxsX2NvbXB1dGVfbmV3X3JhdGUocGFyZW50X3JhdGUsICptLCBuKTsKKwlpZiAoKm5ld19yYXRlID4gdGFyZ2V0X3JhdGUpIHsKKwkJKCptKS0tOworCQkqbmV3X3JhdGUgPSAwOworCX0KKworCS8qIEd1YXJkIGFnYWluc3QgbSB1bmRlcmZsb3cgKi8KKwlpZiAoKm0gPCBEUExMX01JTl9NVUxUSVBMSUVSKSB7CisJCSptID0gRFBMTF9NSU5fTVVMVElQTElFUjsKKwkJKm5ld19yYXRlID0gMDsKKwkJZmxhZ3MgPSBEUExMX01VTFRfVU5ERVJGTE9XOworCX0KKworCWlmICgqbmV3X3JhdGUgPT0gMCkKKwkJKm5ld19yYXRlID0gX2RwbGxfY29tcHV0ZV9uZXdfcmF0ZShwYXJlbnRfcmF0ZSwgKm0sIG4pOworCisJcmV0dXJuIGZsYWdzOworfQorCisvKioKKyAqIG9tYXAyX2RwbGxfcm91bmRfcmF0ZSAtIHJvdW5kIGEgdGFyZ2V0IHJhdGUgZm9yIGFuIE9NQVAgRFBMTAorICogQGNsazogc3RydWN0IGNsayAqIGZvciBhIERQTEwKKyAqIEB0YXJnZXRfcmF0ZTogZGVzaXJlZCBEUExMIGNsb2NrIHJhdGUKKyAqCisgKiBHaXZlbiBhIERQTEwsIGEgZGVzaXJlZCB0YXJnZXQgcmF0ZSwgYW5kIGEgcmF0ZSB0b2xlcmFuY2UsIHJvdW5kCisgKiB0aGUgdGFyZ2V0IHJhdGUgdG8gYSBwb3NzaWJsZSwgcHJvZ3JhbW1hYmxlIHJhdGUgZm9yIHRoaXMgRFBMTC4KKyAqIFJhdGUgdG9sZXJhbmNlIGlzIGFzc3VtZWQgdG8gYmUgc2V0IGJ5IHRoZSBjYWxsZXIgYmVmb3JlIHRoaXMKKyAqIGZ1bmN0aW9uIGlzIGNhbGxlZC4gIEF0dGVtcHRzIHRvIHNlbGVjdCB0aGUgbWluaW11bSBwb3NzaWJsZSBuCisgKiB3aXRoaW4gdGhlIHRvbGVyYW5jZSB0byByZWR1Y2UgcG93ZXIgY29uc3VtcHRpb24uICBTdG9yZXMgdGhlCisgKiBjb21wdXRlZCAobSwgbikgaW4gdGhlIERQTEwncyBkcGxsX2RhdGEgc3RydWN0dXJlIHNvIHNldF9yYXRlKCkKKyAqIHdpbGwgbm90IG5lZWQgdG8gY2FsbCB0aGlzIChleHBlbnNpdmUpIGZ1bmN0aW9uIGFnYWluLiAgUmV0dXJucyB+MAorICogaWYgdGhlIHRhcmdldCByYXRlIGNhbm5vdCBiZSByb3VuZGVkLCBlaXRoZXIgYmVjYXVzZSB0aGUgcmF0ZSBpcworICogdG9vIGxvdyBvciBiZWNhdXNlIHRoZSByYXRlIHRvbGVyYW5jZSBpcyBzZXQgdG9vIHRpZ2h0bHk7IG9yIHRoZQorICogcm91bmRlZCByYXRlIHVwb24gc3VjY2Vzcy4KKyAqLworbG9uZyBvbWFwMl9kcGxsX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlKQoreworCWludCBtLCBuLCByLCBlLCBzY2FsZWRfbWF4X207CisJdW5zaWduZWQgbG9uZyBzY2FsZWRfcnRfcnAsIG5ld19yYXRlOworCWludCBtaW5fZSA9IC0xLCBtaW5fZV9tID0gLTEsIG1pbl9lX24gPSAtMTsKKworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuIH4wOworCisJcHJfZGVidWcoImNsb2NrOiBzdGFydGluZyBEUExMIHJvdW5kX3JhdGUgZm9yIGNsb2NrICVzLCB0YXJnZXQgcmF0ZSAiCisJCSAiJWxkXG4iLCBjbGstPm5hbWUsIHRhcmdldF9yYXRlKTsKKworCXNjYWxlZF9ydF9ycCA9IHRhcmdldF9yYXRlIC8gKGNsay0+cGFyZW50LT5yYXRlIC8gRFBMTF9TQ0FMRV9GQUNUT1IpOworCXNjYWxlZF9tYXhfbSA9IGNsay0+ZHBsbF9kYXRhLT5tYXhfbXVsdGlwbGllciAqIERQTExfU0NBTEVfRkFDVE9SOworCisJY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9yYXRlID0gMDsKKworCWZvciAobiA9IGNsay0+ZHBsbF9kYXRhLT5tYXhfZGl2aWRlcjsgbiA+PSBEUExMX01JTl9ESVZJREVSOyBuLS0pIHsKKworCQkvKiBDb21wdXRlIHRoZSBzY2FsZWQgRFBMTCBtdWx0aXBsaWVyLCBiYXNlZCBvbiB0aGUgZGl2aWRlciAqLworCQltID0gc2NhbGVkX3J0X3JwICogbjsKKworCQkvKgorCQkgKiBTaW5jZSB3ZSdyZSBjb3VudGluZyBuIGRvd24sIGEgbSBvdmVyZmxvdyBtZWFucyB3ZSBjYW4KKwkJICogY2FuIGltbWVkaWF0ZWx5IHNraXAgdG8gdGhlIG5leHQgbgorCQkgKi8KKwkJaWYgKG0gPiBzY2FsZWRfbWF4X20pCisJCQljb250aW51ZTsKKworCQlyID0gX2RwbGxfdGVzdF9tdWx0KCZtLCBuLCAmbmV3X3JhdGUsIHRhcmdldF9yYXRlLAorCQkJCSAgICBjbGstPnBhcmVudC0+cmF0ZSk7CisKKwkJZSA9IHRhcmdldF9yYXRlIC0gbmV3X3JhdGU7CisJCXByX2RlYnVnKCJjbG9jazogbiA9ICVkOiBtID0gJWQ6IHJhdGUgZXJyb3IgaXMgJWQgIgorCQkJICIobmV3X3JhdGUgPSAlbGQpXG4iLCBuLCBtLCBlLCBuZXdfcmF0ZSk7CisKKwkJaWYgKG1pbl9lID09IC0xIHx8CisJCSAgICBtaW5fZSA+PSAoaW50KShhYnMoZSkgLSBjbGstPmRwbGxfZGF0YS0+cmF0ZV90b2xlcmFuY2UpKSB7CisJCQltaW5fZSA9IGU7CisJCQltaW5fZV9tID0gbTsKKwkJCW1pbl9lX24gPSBuOworCisJCQlwcl9kZWJ1ZygiY2xvY2s6IGZvdW5kIG5ldyBsZWFzdCBlcnJvciAlZFxuIiwgbWluX2UpOworCQl9CisKKwkJLyoKKwkJICogU2luY2Ugd2UncmUgY291bnRpbmcgbiBkb3duLCBhIG0gdW5kZXJmbG93IG1lYW5zIHdlCisJCSAqIGNhbiBiYWlsIG91dCBjb21wbGV0ZWx5IChzaW5jZSBhcyBuIGRlY3JlYXNlcyBpbgorCQkgKiB0aGUgbmV4dCBpdGVyYXRpb24sIHRoZXJlJ3Mgbm8gd2F5IHRoYXQgbSBjYW4KKwkJICogaW5jcmVhc2UgYmV5b25kIHRoZSBjdXJyZW50IG0pCisJCSAqLworCQlpZiAociAmIERQTExfTVVMVF9VTkRFUkZMT1cpCisJCQlicmVhazsKKwl9CisKKwlpZiAobWluX2UgPCAwKSB7CisJCXByX2RlYnVnKCJjbG9jazogZXJyb3I6IHRhcmdldCByYXRlIG9yIHRvbGVyYW5jZSB0b28gbG93XG4iKTsKKwkJcmV0dXJuIH4wOworCX0KKworCWNsay0+ZHBsbF9kYXRhLT5sYXN0X3JvdW5kZWRfbSA9IG1pbl9lX207CisJY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9uID0gbWluX2VfbjsKKwljbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGUgPQorCQlfZHBsbF9jb21wdXRlX25ld19yYXRlKGNsay0+cGFyZW50LT5yYXRlLCBtaW5fZV9tLCAgbWluX2Vfbik7CisKKwlwcl9kZWJ1ZygiY2xvY2s6IGZpbmFsIGxlYXN0IGVycm9yOiBlID0gJWQsIG0gPSAlZCwgbiA9ICVkXG4iLAorCQkgbWluX2UsIG1pbl9lX20sIG1pbl9lX24pOworCXByX2RlYnVnKCJjbG9jazogZmluYWwgcmF0ZTogJWxkICAodGFyZ2V0IHJhdGU6ICVsZClcbiIsCisJCSBjbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGUsIHRhcmdldF9yYXRlKTsKKworCXJldHVybiBjbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGU7Cit9CisKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogT21hcDIgY2xvY2sgcmVzZXQgYW5kIGluaXQgZnVuY3Rpb25zCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5oCmluZGV4IGQ1OTgwYTkuLjNjZDM3Y2IgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmgKQEAgLTE4LDExICsxOCwxNiBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KIAorLyogVGhlIG1heGltdW0gZXJyb3IgYmV0d2VlbiBhIHRhcmdldCBEUExMIHJhdGUgYW5kIHRoZSByb3VuZGVkIHJhdGUgaW4gSHogKi8KKyNkZWZpbmUgREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCTUwMDAwCisKIGludCBvbWFwMl9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CiB2b2lkIG9tYXAyX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsayk7CiBsb25nIG9tYXAyX2Nsa19yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIGludCBvbWFwMl9jbGtfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpOwogaW50IG9tYXAyX2Nsa19zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqbmV3X3BhcmVudCk7CitpbnQgb21hcDJfZHBsbF9yYXRlX3RvbGVyYW5jZV9zZXQoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBpbnQgdG9sZXJhbmNlKTsKK2xvbmcgb21hcDJfZHBsbF9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyB0YXJnZXRfcmF0ZSk7CiAKICNpZmRlZiBDT05GSUdfT01BUF9SRVNFVF9DTE9DS1MKIHZvaWQgb21hcDJfY2xrX2Rpc2FibGVfdW51c2VkKHN0cnVjdCBjbGsgKmNsayk7CkBAIC00Miw2ICs0Nyw3IEBACiBpbnQgb21hcDJfY2xrc2VsX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIHUzMiBvbWFwMl9nZXRfZHBsbF9yYXRlKHN0cnVjdCBjbGsgKmNsayk7CiBpbnQgb21hcDJfd2FpdF9jbG9ja19yZWFkeSh2b2lkIF9faW9tZW0gKnJlZywgdTMyIGN2YWwsIGNvbnN0IGNoYXIgKm5hbWUpOwordm9pZCBvbWFwMl9jbGtfcHJlcGFyZV9mb3JfcmVib290KHZvaWQpOwogCiBleHRlcm4gdTggY3B1X21hc2s7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5jCmluZGV4IGVjZTMyZDguLmFhNTY3ODcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguYwpAQCAtMTU0LDcgKzE1NCw3IEBACiAgKiBVc2VzIHRoZSBjdXJyZW50IHByY20gc2V0IHRvIHRlbGwgaWYgYSByYXRlIGlzIHZhbGlkLgogICogWW91IGNhbiBnbyBzbG93ZXIsIGJ1dCBub3QgZmFzdGVyIHdpdGhpbiBhIGdpdmVuIHJhdGUgc2V0LgogICovCi1zdGF0aWMgdTMyIG9tYXAyX2RwbGxfcm91bmRfcmF0ZSh1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlKQorbG9uZyBvbWFwMl9kcGxsY29yZV9yb3VuZF9yYXRlKHVuc2lnbmVkIGxvbmcgdGFyZ2V0X3JhdGUpCiB7CiAJdTMyIGhpZ2gsIGxvdywgY29yZV9jbGtfc3JjOwogCkBAIC0xODMsMTQgKzE4MywxNCBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIG9tYXAyX2RwbGxfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3N0YXRpYyB2b2lkIG9tYXAyX2RwbGxjb3JlX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCiB7CiAJY2xrLT5yYXRlID0gb21hcDJfZ2V0X2RwbGxfcmF0ZV8yNHh4KGNsayk7CiAKIAlwcm9wYWdhdGVfcmF0ZShjbGspOwogfQogCi1zdGF0aWMgaW50IG9tYXAyX3JlcHJvZ3JhbV9kcGxsKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQorc3RhdGljIGludCBvbWFwMl9yZXByb2dyYW1fZHBsbGNvcmUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCiB7CiAJdTMyIGN1cl9yYXRlLCBsb3csIG11bHQsIGRpdiwgdmFsaWRfcmF0ZSwgZG9uZV9yYXRlOwogCXUzMiBieXBhc3MgPSAwOwpAQCAtMjA5LDcgKzIwOSw3IEBACiAJfSBlbHNlIGlmICgocmF0ZSA9PSAoY3VyX3JhdGUgKiAyKSkgJiYgKG11bHQgPT0gMSkpIHsKIAkJb21hcDJfcmVwcm9ncmFtX3NkcmMoQ09SRV9DTEtfU1JDX0RQTExfWDIsIDEpOwogCX0gZWxzZSBpZiAocmF0ZSAhPSBjdXJfcmF0ZSkgewotCQl2YWxpZF9yYXRlID0gb21hcDJfZHBsbF9yb3VuZF9yYXRlKHJhdGUpOworCQl2YWxpZF9yYXRlID0gb21hcDJfZHBsbGNvcmVfcm91bmRfcmF0ZShyYXRlKTsKIAkJaWYgKHZhbGlkX3JhdGUgIT0gcmF0ZSkKIAkJCWdvdG8gZHBsbF9leGl0OwogCkBAIC0yNTYsNyArMjU2LDcgQEAKIAkJb21hcDJfaW5pdF9tZW1vcnlfcGFyYW1zKG9tYXAyX2RsbF9mb3JjZV9uZWVkZWQoKSk7CiAJCW9tYXAyX3JlcHJvZ3JhbV9zZHJjKGRvbmVfcmF0ZSwgMCk7CiAJfQotCW9tYXAyX2RwbGxfcmVjYWxjKCZkcGxsX2NrKTsKKwlvbWFwMl9kcGxsY29yZV9yZWNhbGMoJmRwbGxfY2spOwogCXJldCA9IDA7CiAKIGRwbGxfZXhpdDoKQEAgLTM4Myw3ICszODMsNyBAQAogCiAJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAl9Ci0Jb21hcDJfZHBsbF9yZWNhbGMoJmRwbGxfY2spOworCW9tYXAyX2RwbGxjb3JlX3JlY2FsYygmZHBsbF9jayk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5oCmluZGV4IDg4MDgxZWQuLmJlNGUyNTUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguaApAQCAtMzAsMTIgKzMwLDEyIEBACiBzdGF0aWMgdm9pZCBvbWFwMl9zeXNfY2xrX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDJfb3NjX2Nsa19yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX3N5c19jbGtfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7Ci1zdGF0aWMgdm9pZCBvbWFwMl9kcGxsX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIHZvaWQgb21hcDJfZHBsbGNvcmVfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgaW50IG9tYXAyX2Nsa19maXhlZF9lbmFibGUoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX2Nsa19maXhlZF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgaW50IG9tYXAyX2VuYWJsZV9vc2NfY2soc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX2Rpc2FibGVfb3NjX2NrKHN0cnVjdCBjbGsgKmNsayk7Ci1zdGF0aWMgaW50IG9tYXAyX3JlcHJvZ3JhbV9kcGxsKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKK3N0YXRpYyBpbnQgb21hcDJfcmVwcm9ncmFtX2RwbGxjb3JlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIAogLyogS2V5IGRpdmlkZXJzIHdoaWNoIG1ha2UgdXAgYSBQUkNNIHNldC4gUmF0aW8ncyBmb3IgYSBQUkNNIGFyZSBtYW5kYXRlZC4KICAqIHh0YWxfc3BlZWQsIGRwbGxfc3BlZWQsIG1wdV9zcGVlZCwgQ01fQ0xLU0VMX01QVSxDTV9DTEtTRUxfRFNQCkBAIC02NjUsMjAgKzY2NSwyNyBAQAogICogZGVhbCB3aXRoIHRoaXMKICAqLwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsX2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbF9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwkJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMSksCiAJLm11bHRfbWFzawkJPSBPTUFQMjRYWF9EUExMX01VTFRfTUFTSywKIAkuZGl2MV9tYXNrCQk9IE9NQVAyNFhYX0RQTExfRElWX01BU0ssCisJLm1heF9tdWx0aXBsaWVyCQk9IDEwMjQsCisJLm1heF9kaXZpZGVyCQk9IDE2LAorCS5yYXRlX3RvbGVyYW5jZQkJPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKKy8qCisgKiBYWFggQ2Fubm90IGFkZCByb3VuZF9yYXRlIGhlcmUgeWV0LCBhcyB0aGlzIGlzIHN0aWxsIGEgY29tcG9zaXRlIGNsb2NrLAorICogbm90IGp1c3QgYSBEUExMCisgKi8KIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGxfY2sgPSB7CiAJLm5hbWUJCT0gImRwbGxfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywJCS8qIENhbiBiZSBmdW5jXzMyayBhbHNvICovCiAJLmRwbGxfZGF0YQk9ICZkcGxsX2RkLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYIHwKIAkJCQlSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKLQkucmVjYWxjCQk9ICZvbWFwMl9kcGxsX3JlY2FsYywKLQkuc2V0X3JhdGUJPSAmb21hcDJfcmVwcm9ncmFtX2RwbGwsCisJLnJlY2FsYwkJPSAmb21hcDJfZHBsbGNvcmVfcmVjYWxjLAorCS5zZXRfcmF0ZQk9ICZvbWFwMl9yZXByb2dyYW1fZHBsbGNvcmUsCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBhcGxsOTZfY2sgPSB7CkBAIC0xNzQ3LDcgKzE3NTQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AxX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AxX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDEsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjEpLApAQCAtMTc1Niw3ICsxNzY0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAxLAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9GQ0xLRU4xKSwKQEAgLTE3NjUsNyArMTc3NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDJfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDJfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMiwKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0MlggfCBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMSksCkBAIC0xNzc0LDcgKzE3ODQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDIsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLApAQCAtMTc4Myw3ICsxNzk0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAzLAogCS5wYXJlbnQJCT0gJmw0X2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMiksCkBAIC0xNzkyLDcgKzE4MDQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AzX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AzX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDMsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBPTUFQMjRYWF9DTV9GQ0xLRU4yKSwKQEAgLTE4MDEsNyArMTgxNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gNCwKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjIpLApAQCAtMTgxMCw3ICsxODI0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNF9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNF9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSA0LAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgT01BUDI0WFhfQ01fRkNMS0VOMiksCkBAIC0xODE5LDcgKzE4MzQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A1X2ljayA9IHsKLQkubmFtZQkJPSAibWNic3A1X2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDUsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4yKSwKQEAgLTE4MjgsNyArMTg0NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDVfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDVfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gNSwKIAkucGFyZW50CQk9ICZmdW5jXzk2bV9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIE9NQVAyNFhYX0NNX0ZDTEtFTjIpLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmMKaW5kZXggYjQyYmRkNi4uNDI2MzA5OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5jCkBAIC0xLDEwICsxLDExIEBACiAvKgogICogT01BUDMtc3BlY2lmaWMgY2xvY2sgZnJhbWV3b3JrIGZ1bmN0aW9ucwogICoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBUZXhhcyBJbnN0cnVtZW50cywgSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDA3IE5va2lhIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUZXhhcyBJbnN0cnVtZW50cywgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggTm9raWEgQ29ycG9yYXRpb24KICAqCiAgKiBXcml0dGVuIGJ5IFBhdWwgV2FsbXNsZXkKKyAqIFRlc3RpbmcgYW5kIGludGVncmF0aW9uIGZpeGVzIGJ5IEpvdW5pIEjDtmdhbmRlcgogICoKICAqIFBhcnRzIG9mIHRoaXMgY29kZSBhcmUgYmFzZWQgb24gY29kZSB3cml0dGVuIGJ5CiAgKiBSaWNoYXJkIFdvb2RydWZmLCBUb255IExpbmRncmVuLCBUdXVra2EgVGlra2FuZW4sIEthcnRoaWsgRGFzdQpAQCAtMjMsNiArMjQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9saW1pdHMuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL2Nsb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgpAQCAtMzcsOCArMzksMTEgQEAKICNpbmNsdWRlICJjbS5oIgogI2luY2x1ZGUgImNtLXJlZ2JpdHMtMzR4eC5oIgogCi0vKiBDTV9DTEtFTl9QTEwqLkVOKiBiaXQgdmFsdWVzICovCi0jZGVmaW5lIERQTExfTE9DS0VECQkweDcKKy8qIENNX0FVVE9JRExFX1BMTCouQVVUT18qIGJpdCB2YWx1ZXMgKi8KKyNkZWZpbmUgRFBMTF9BVVRPSURMRV9ESVNBQkxFCQkJMHgwCisjZGVmaW5lIERQTExfQVVUT0lETEVfTE9XX1BPV0VSX1NUT1AJCTB4MQorCisjZGVmaW5lIE1BWF9EUExMX1dBSVRfVFJJRVMJCTEwMDAwMDAKIAogLyoqCiAgKiBvbWFwM19kcGxsX3JlY2FsYyAtIHJlY2FsY3VsYXRlIERQTEwgcmF0ZQpAQCAtNTMsNiArNTgsMjkwIEBACiAJcHJvcGFnYXRlX3JhdGUoY2xrKTsKIH0KIAorLyogX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4gLSB3cml0ZSBjbGtlbl9iaXRzIGFyZyB0byBhIERQTEwncyBlbmFibGUgYml0cyAqLworc3RhdGljIHZvaWQgX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4oc3RydWN0IGNsayAqY2xrLCB1OCBjbGtlbl9iaXRzKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCWNtX3Jtd19yZWdfYml0cyhkZC0+ZW5hYmxlX21hc2ssIGNsa2VuX2JpdHMgPDwgX19mZnMoZGQtPmVuYWJsZV9tYXNrKSwKKwkJCWRkLT5jb250cm9sX3JlZyk7Cit9CisKKy8qIF9vbWFwM193YWl0X2RwbGxfc3RhdHVzOiB3YWl0IGZvciBhIERQTEwgdG8gZW50ZXIgYSBzcGVjaWZpYyBzdGF0ZSAqLworc3RhdGljIGludCBfb21hcDNfd2FpdF9kcGxsX3N0YXR1cyhzdHJ1Y3QgY2xrICpjbGssIHU4IHN0YXRlKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCWludCBpID0gMDsKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKwl1MzIgaWRsZXN0X21hc2s7CisKKwlkZCA9IGNsay0+ZHBsbF9kYXRhOworCisJc3RhdGUgPDw9IGRkLT5pZGxlc3RfYml0OworCWlkbGVzdF9tYXNrID0gMSA8PCBkZC0+aWRsZXN0X2JpdDsKKworCXdoaWxlICgoKGNtX3JlYWRfcmVnKGRkLT5pZGxlc3RfcmVnKSAmIGlkbGVzdF9tYXNrKSAhPSBzdGF0ZSkgJiYKKwkgICAgICAgaSA8IE1BWF9EUExMX1dBSVRfVFJJRVMpIHsKKwkJaSsrOworCQl1ZGVsYXkoMSk7CisJfQorCisJaWYgKGkgPT0gTUFYX0RQTExfV0FJVF9UUklFUykgeworCQlwcmludGsoS0VSTl9FUlIgImNsb2NrOiAlcyBmYWlsZWQgdHJhbnNpdGlvbiB0byAnJXMnXG4iLAorCQkgICAgICAgY2xrLT5uYW1lLCAoc3RhdGUpID8gImxvY2tlZCIgOiAiYnlwYXNzZWQiKTsKKwl9IGVsc2UgeworCQlwcl9kZWJ1ZygiY2xvY2s6ICVzIHRyYW5zaXRpb24gdG8gJyVzJyBpbiAlZCBsb29wc1xuIiwKKwkJCSBjbGstPm5hbWUsIChzdGF0ZSkgPyAibG9ja2VkIiA6ICJieXBhc3NlZCIsIGkpOworCisJCXJldCA9IDA7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworLyogTm9uLUNPUkUgRFBMTCAoZS5nLiwgRFBMTHMgdGhhdCBkbyBub3QgY29udHJvbCBTRFJDKSBjbG9jayBmdW5jdGlvbnMgKi8KKworLyoKKyAqIF9vbWFwM19ub25jb3JlX2RwbGxfbG9jayAtIGluc3RydWN0IGEgRFBMTCB0byBsb2NrIGFuZCB3YWl0IGZvciByZWFkaW5lc3MKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGxvY2suICBXYWl0cyBmb3IgdGhlIERQTEwgdG8gcmVwb3J0CisgKiByZWFkaW5lc3MgYmVmb3JlIHJldHVybmluZy4gIFdpbGwgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgRFBMTCdzCisgKiBhdXRvaWRsZSBzdGF0ZSBhY3Jvc3MgdGhlIGVuYWJsZSwgcGVyIHRoZSBDRFAgY29kZS4gIElmIHRoZSBEUExMCisgKiBsb2NrZWQgc3VjY2Vzc2Z1bGx5LCByZXR1cm4gMDsgaWYgdGhlIERQTEwgZGlkIG5vdCBsb2NrIGluIHRoZSB0aW1lCisgKiBhbGxvdHRlZCwgb3IgRFBMTDMgd2FzIHBhc3NlZCBpbiwgcmV0dXJuIC1FSU5WQUwuCisgKi8KK3N0YXRpYyBpbnQgX29tYXAzX25vbmNvcmVfZHBsbF9sb2NrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1OCBhaTsKKwlpbnQgcjsKKworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogbG9ja2luZyBEUExMICVzXG4iLCBjbGstPm5hbWUpOworCisJYWkgPSBvbWFwM19kcGxsX2F1dG9pZGxlX3JlYWQoY2xrKTsKKworCV9vbWFwM19kcGxsX3dyaXRlX2Nsa2VuKGNsaywgRFBMTF9MT0NLRUQpOworCisJaWYgKGFpKSB7CisJCS8qCisJCSAqIElmIG5vIGRvd25zdHJlYW0gY2xvY2tzIGFyZSBlbmFibGVkLCBDTV9JRExFU1QgYml0CisJCSAqIG1heSBuZXZlciBiZWNvbWUgYWN0aXZlLCBzbyBkb24ndCB3YWl0IGZvciBEUExMIHRvIGxvY2suCisJCSAqLworCQlyID0gMDsKKwkJb21hcDNfZHBsbF9hbGxvd19pZGxlKGNsayk7CisJfSBlbHNlIHsKKwkJciA9IF9vbWFwM193YWl0X2RwbGxfc3RhdHVzKGNsaywgMSk7CisJCW9tYXAzX2RwbGxfZGVueV9pZGxlKGNsayk7CisJfTsKKworCXJldHVybiByOworfQorCisvKgorICogb21hcDNfbm9uY29yZV9kcGxsX2J5cGFzcyAtIGluc3RydWN0IGEgRFBMTCB0byBieXBhc3MgYW5kIHdhaXQgZm9yIHJlYWRpbmVzcworICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gZW50ZXIgbG93LXBvd2VyIGJ5cGFzcyBtb2RlLiAgSW4KKyAqIGJ5cGFzcyBtb2RlLCB0aGUgRFBMTCdzIHJhdGUgaXMgc2V0IGVxdWFsIHRvIGl0cyBwYXJlbnQgY2xvY2sncworICogcmF0ZS4gIFdhaXRzIGZvciB0aGUgRFBMTCB0byByZXBvcnQgcmVhZGluZXNzIGJlZm9yZSByZXR1cm5pbmcuCisgKiBXaWxsIHNhdmUgYW5kIHJlc3RvcmUgdGhlIERQTEwncyBhdXRvaWRsZSBzdGF0ZSBhY3Jvc3MgdGhlIGVuYWJsZSwKKyAqIHBlciB0aGUgQ0RQIGNvZGUuICBJZiB0aGUgRFBMTCBlbnRlcmVkIGJ5cGFzcyBtb2RlIHN1Y2Nlc3NmdWxseSwKKyAqIHJldHVybiAwOyBpZiB0aGUgRFBMTCBkaWQgbm90IGVudGVyIGJ5cGFzcyBpbiB0aGUgdGltZSBhbGxvdHRlZCwgb3IKKyAqIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90IHN1cHBvcnQgbG93LXBvd2VyIGJ5cGFzcywKKyAqIHJldHVybiAtRUlOVkFMLgorICovCitzdGF0aWMgaW50IF9vbWFwM19ub25jb3JlX2RwbGxfYnlwYXNzKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpbnQgcjsKKwl1OCBhaTsKKworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghKGNsay0+ZHBsbF9kYXRhLT5tb2RlcyAmICgxIDw8IERQTExfTE9XX1BPV0VSX0JZUEFTUykpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogY29uZmlndXJpbmcgRFBMTCAlcyBmb3IgbG93LXBvd2VyIGJ5cGFzc1xuIiwKKwkJIGNsay0+bmFtZSk7CisKKwlhaSA9IG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChjbGspOworCisJX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4oY2xrLCBEUExMX0xPV19QT1dFUl9CWVBBU1MpOworCisJciA9IF9vbWFwM193YWl0X2RwbGxfc3RhdHVzKGNsaywgMCk7CisKKwlpZiAoYWkpCisJCW9tYXAzX2RwbGxfYWxsb3dfaWRsZShjbGspOworCWVsc2UKKwkJb21hcDNfZHBsbF9kZW55X2lkbGUoY2xrKTsKKworCXJldHVybiByOworfQorCisvKgorICogX29tYXAzX25vbmNvcmVfZHBsbF9zdG9wIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIHN0b3AKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGVudGVyIGxvdy1wb3dlciBzdG9wLiBXaWxsIHNhdmUgYW5kCisgKiByZXN0b3JlIHRoZSBEUExMJ3MgYXV0b2lkbGUgc3RhdGUgYWNyb3NzIHRoZSBzdG9wLCBwZXIgdGhlIENEUAorICogY29kZS4gIElmIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90IHN1cHBvcnQKKyAqIGxvdy1wb3dlciBzdG9wLCByZXR1cm4gLUVJTlZBTDsgb3RoZXJ3aXNlLCByZXR1cm4gMC4KKyAqLworc3RhdGljIGludCBfb21hcDNfbm9uY29yZV9kcGxsX3N0b3Aoc3RydWN0IGNsayAqY2xrKQoreworCXU4IGFpOworCisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCEoY2xrLT5kcGxsX2RhdGEtPm1vZGVzICYgKDEgPDwgRFBMTF9MT1dfUE9XRVJfU1RPUCkpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogc3RvcHBpbmcgRFBMTCAlc1xuIiwgY2xrLT5uYW1lKTsKKworCWFpID0gb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkKGNsayk7CisKKwlfb21hcDNfZHBsbF93cml0ZV9jbGtlbihjbGssIERQTExfTE9XX1BPV0VSX1NUT1ApOworCisJaWYgKGFpKQorCQlvbWFwM19kcGxsX2FsbG93X2lkbGUoY2xrKTsKKwllbHNlCisJCW9tYXAzX2RwbGxfZGVueV9pZGxlKGNsayk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIGVudGVyIGJ5cGFzcyBvciBsb2NrIG1vZGUKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGVuYWJsZSwgZS5nLiwgdG8gZW50ZXIgYnlwYXNzIG9yIGxvY2suCisgKiBUaGUgY2hvaWNlIG9mIG1vZGVzIGRlcGVuZHMgb24gdGhlIERQTEwncyBwcm9ncmFtbWVkIHJhdGU6IGlmIGl0IGlzCisgKiB0aGUgc2FtZSBhcyB0aGUgRFBMTCdzIHBhcmVudCBjbG9jaywgaXQgd2lsbCBlbnRlciBieXBhc3M7CisgKiBvdGhlcndpc2UsIGl0IHdpbGwgZW50ZXIgbG9jay4gIFRoaXMgY29kZSB3aWxsIHdhaXQgZm9yIHRoZSBEUExMIHRvCisgKiBpbmRpY2F0ZSByZWFkaW5lc3MgYmVmb3JlIHJldHVybmluZywgdW5sZXNzIHRoZSBEUExMIHRha2VzIHRvbyBsb25nCisgKiB0byBlbnRlciB0aGUgdGFyZ2V0IHN0YXRlLiAgSW50ZW5kZWQgdG8gYmUgdXNlZCBhcyB0aGUgc3RydWN0IGNsaydzCisgKiBlbmFibGUgZnVuY3Rpb24uICBJZiBEUExMMyB3YXMgcGFzc2VkIGluLCBvciB0aGUgRFBMTCBkb2VzIG5vdAorICogc3VwcG9ydCBsb3ctcG93ZXIgc3RvcCwgb3IgaWYgdGhlIERQTEwgdG9vayB0b28gbG9uZyB0byBlbnRlcgorICogYnlwYXNzIG9yIGxvY2ssIHJldHVybiAtRUlOVkFMOyBvdGhlcndpc2UsIHJldHVybiAwLgorICovCitzdGF0aWMgaW50IG9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCWludCByOworCisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNsay0+cGFyZW50LT5yYXRlID09IGNsa19nZXRfcmF0ZShjbGspKQorCQlyID0gX29tYXAzX25vbmNvcmVfZHBsbF9ieXBhc3MoY2xrKTsKKwllbHNlCisJCXIgPSBfb21hcDNfbm9uY29yZV9kcGxsX2xvY2soY2xrKTsKKworCXJldHVybiByOworfQorCisvKioKKyAqIG9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUgLSBpbnN0cnVjdCBhIERQTEwgdG8gZW50ZXIgYnlwYXNzIG9yIGxvY2sgbW9kZQorICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gZW5hYmxlLCBlLmcuLCB0byBlbnRlciBieXBhc3Mgb3IgbG9jay4KKyAqIFRoZSBjaG9pY2Ugb2YgbW9kZXMgZGVwZW5kcyBvbiB0aGUgRFBMTCdzIHByb2dyYW1tZWQgcmF0ZTogaWYgaXQgaXMKKyAqIHRoZSBzYW1lIGFzIHRoZSBEUExMJ3MgcGFyZW50IGNsb2NrLCBpdCB3aWxsIGVudGVyIGJ5cGFzczsKKyAqIG90aGVyd2lzZSwgaXQgd2lsbCBlbnRlciBsb2NrLiAgVGhpcyBjb2RlIHdpbGwgd2FpdCBmb3IgdGhlIERQTEwgdG8KKyAqIGluZGljYXRlIHJlYWRpbmVzcyBiZWZvcmUgcmV0dXJuaW5nLCB1bmxlc3MgdGhlIERQTEwgdGFrZXMgdG9vIGxvbmcKKyAqIHRvIGVudGVyIHRoZSB0YXJnZXQgc3RhdGUuICBJbnRlbmRlZCB0byBiZSB1c2VkIGFzIHRoZSBzdHJ1Y3QgY2xrJ3MKKyAqIGVuYWJsZSBmdW5jdGlvbi4gIElmIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90CisgKiBzdXBwb3J0IGxvdy1wb3dlciBzdG9wLCBvciBpZiB0aGUgRFBMTCB0b29rIHRvbyBsb25nIHRvIGVudGVyCisgKiBieXBhc3Mgb3IgbG9jaywgcmV0dXJuIC1FSU5WQUw7IG90aGVyd2lzZSwgcmV0dXJuIDAuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09ICZkcGxsM19jaykKKwkJcmV0dXJuOworCisJX29tYXAzX25vbmNvcmVfZHBsbF9zdG9wKGNsayk7Cit9CisKKy8qKgorICogb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkIC0gcmVhZCBhIERQTEwncyBhdXRvaWRsZSBiaXRzCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogb2YgdGhlIERQTEwgdG8gcmVhZAorICoKKyAqIFJldHVybiB0aGUgRFBMTCdzIGF1dG9pZGxlIGJpdHMsIHNoaWZ0ZWQgZG93biB0byBiaXQgMC4gIFJldHVybnMKKyAqIC1FSU5WQUwgaWYgcGFzc2VkIGEgbnVsbCBwb2ludGVyIG9yIGlmIHRoZSBzdHJ1Y3QgY2xrIGRvZXMgbm90CisgKiBhcHBlYXIgdG8gcmVmZXIgdG8gYSBEUExMLgorICovCitzdGF0aWMgdTMyIG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChzdHJ1Y3QgY2xrICpjbGspCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisJdTMyIHY7CisKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybiAtRUlOVkFMOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCXYgPSBjbV9yZWFkX3JlZyhkZC0+YXV0b2lkbGVfcmVnKTsKKwl2ICY9IGRkLT5hdXRvaWRsZV9tYXNrOworCXYgPj49IF9fZmZzKGRkLT5hdXRvaWRsZV9tYXNrKTsKKworCXJldHVybiB2OworfQorCisvKioKKyAqIG9tYXAzX2RwbGxfYWxsb3dfaWRsZSAtIGVuYWJsZSBEUExMIGF1dG9pZGxlIGJpdHMKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBvZiB0aGUgRFBMTCB0byBvcGVyYXRlIG9uCisgKgorICogRW5hYmxlIERQTEwgYXV0b21hdGljIGlkbGUgY29udHJvbC4gIFRoaXMgYXV0b21hdGljIGlkbGUgbW9kZQorICogc3dpdGNoaW5nIHRha2VzIGVmZmVjdCBvbmx5IHdoZW4gdGhlIERQTEwgaXMgbG9ja2VkLCBhdCBsZWFzdCBvbgorICogT01BUDM0MzAuICBUaGUgRFBMTCB3aWxsIGVudGVyIGxvdy1wb3dlciBzdG9wIHdoZW4gaXRzIGRvd25zdHJlYW0KKyAqIGNsb2NrcyBhcmUgZ2F0ZWQuICBObyByZXR1cm4gdmFsdWUuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfYWxsb3dfaWRsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybjsKKworCWRkID0gY2xrLT5kcGxsX2RhdGE7CisKKwkvKgorCSAqIFJFVklTSVQ6IENPUkUgRFBMTCBjYW4gb3B0aW9uYWxseSBlbnRlciBsb3ctcG93ZXIgYnlwYXNzCisJICogYnkgd3JpdGluZyAweDUgaW5zdGVhZCBvZiAweDEuICBBZGQgc29tZSBtZWNoYW5pc20gdG8KKwkgKiBvcHRpb25hbGx5IGVudGVyIHRoaXMgbW9kZS4KKwkgKi8KKwljbV9ybXdfcmVnX2JpdHMoZGQtPmF1dG9pZGxlX21hc2ssCisJCQlEUExMX0FVVE9JRExFX0xPV19QT1dFUl9TVE9QIDw8IF9fZmZzKGRkLT5hdXRvaWRsZV9tYXNrKSwKKwkJCWRkLT5hdXRvaWRsZV9yZWcpOworfQorCisvKioKKyAqIG9tYXAzX2RwbGxfZGVueV9pZGxlIC0gcHJldmVudCBEUExMIGZyb20gYXV0b21hdGljYWxseSBpZGxpbmcKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBvZiB0aGUgRFBMTCB0byBvcGVyYXRlIG9uCisgKgorICogRGlzYWJsZSBEUExMIGF1dG9tYXRpYyBpZGxlIGNvbnRyb2wuICBObyByZXR1cm4gdmFsdWUuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfZGVueV9pZGxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKKworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCWNtX3Jtd19yZWdfYml0cyhkZC0+YXV0b2lkbGVfbWFzaywKKwkJCURQTExfQVVUT0lETEVfRElTQUJMRSA8PCBfX2ZmcyhkZC0+YXV0b2lkbGVfbWFzayksCisJCQlkZC0+YXV0b2lkbGVfcmVnKTsKK30KKworLyogQ2xvY2sgY29udHJvbCBmb3IgRFBMTCBvdXRwdXRzICovCisKIC8qKgogICogb21hcDNfY2xrb3V0eDJfcmVjYWxjIC0gcmVjYWxjdWxhdGUgRFBMTCBYMiBvdXRwdXQgdmlydHVhbCBjbG9jayByYXRlCiAgKiBAY2xrOiBEUExMIG91dHB1dCBzdHJ1Y3QgY2xrCkBAIC04OSw2ICszNzgsOCBAQAogCQlwcm9wYWdhdGVfcmF0ZShjbGspOwogfQogCisvKiBDb21tb24gY2xvY2sgY29kZSAqLworCiAvKgogICogQXMgaXQgaXMgc3RydWN0dXJlZCBub3csIHRoaXMgd2lsbCBwcmV2ZW50IGFuIE9NQVAyLzMgbXVsdGlib290CiAgKiBrZXJuZWwgZnJvbSBjb21waWxpbmcuICBUaGlzIHdpbGwgbmVlZCBmdXJ0aGVyIGF0dGVudGlvbi4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5oCmluZGV4IGM5YzU5NzIuLjA1NzU3ZWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguaApAQCAtMSwxNCArMSwxOSBAQAogLyoKICAqIE9NQVAzIGNsb2NrIGZyYW1ld29yawogICoKLSAqIFZpcnR1YWwgY2xvY2tzIGFyZSBpbnRyb2R1Y2VkIGFzIGEgY29udmVuaWVudCB0b29scy4KLSAqIFRoZXkgYXJlIHNvdXJjZXMgZm9yIG90aGVyIGNsb2NrcyBhbmQgbm90IHN1cHBvc2VkCi0gKiB0byBiZSByZXF1ZXN0ZWQgZnJvbSBkcml2ZXJzIGRpcmVjdGx5LgotICoKICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFRleGFzIEluc3RydW1lbnRzLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbgogICoKICAqIFdyaXR0ZW4gYnkgUGF1bCBXYWxtc2xleQorICogV2l0aCBtYW55IGRldmljZSBjbG9jayBmaXhlcyBieSBLZXZpbiBIaWxtYW4gYW5kIEpvdW5pIEjDtmdhbmRlcgorICogRFBMTCBieXBhc3MgY2xvY2sgc3VwcG9ydCBhZGRlZCBieSBSb21hbiBUZXJlc2hvbmtvdgorICoKKyAqLworCisvKgorICogVmlydHVhbCBjbG9ja3MgYXJlIGludHJvZHVjZWQgYXMgY29udmVuaWVudCB0b29scy4KKyAqIFRoZXkgYXJlIHNvdXJjZXMgZm9yIG90aGVyIGNsb2NrcyBhbmQgbm90IHN1cHBvc2VkCisgKiB0byBiZSByZXF1ZXN0ZWQgZnJvbSBkcml2ZXJzIGRpcmVjdGx5LgogICovCiAKICNpZm5kZWYgX19BUkNIX0FSTV9NQUNIX09NQVAyX0NMT0NLMzRYWF9ICkBAIC0yNCw2ICsyOSwxNSBAQAogCiBzdGF0aWMgdm9pZCBvbWFwM19kcGxsX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDNfY2xrb3V0eDJfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdm9pZCBvbWFwM19kcGxsX2FsbG93X2lkbGUoc3RydWN0IGNsayAqY2xrKTsKK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfZGVueV9pZGxlKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdTMyIG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIGludCBvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdm9pZCBvbWFwM19ub25jb3JlX2RwbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspOworCisvKiBNYXhpbXVtIERQTEwgbXVsdGlwbGllciwgZGl2aWRlciB2YWx1ZXMgZm9yIE9NQVAzICovCisjZGVmaW5lIE9NQVAzX01BWF9EUExMX01VTFQJCTIwNDgKKyNkZWZpbmUgT01BUDNfTUFYX0RQTExfRElWCQkxMjgKIAogLyoKICAqIERQTEwxIHN1cHBsaWVzIGNsb2NrIHRvIHRoZSBNUFUuCkBAIC0zMyw2ICs0NywxMSBAQAogICogRFBMTDUgc3VwcGxpZXMgb3RoZXIgcGVyaXBoZXJhbCBjbG9ja3MgKFVTQkhPU1QsIFVTSU0pLgogICovCiAKKy8qIENNX0NMS0VOX1BMTCouRU4qIGJpdCB2YWx1ZXMgLSBub3QgYWxsIGFyZSBhdmFpbGFibGUgZm9yIGV2ZXJ5IERQTEwgKi8KKyNkZWZpbmUgRFBMTF9MT1dfUE9XRVJfU1RPUAkJMHgxCisjZGVmaW5lIERQTExfTE9XX1BPV0VSX0JZUEFTUwkJMHg1CisjZGVmaW5lIERQTExfTE9DS0VECQkJMHg3CisKIC8qIFBSTSBDTE9DS1MgKi8KIAogLyogQWNjb3JkaW5nIHRvIHRpbWVyMzJrLmMsIHRoaXMgaXMgYSAzMjc2OEh6IGNsb2NrLCBub3QgYSAzMjAwMEh6IGNsb2NrLiAqLwpAQCAtMjQwLDE1ICsyNTksMjMgQEAKIC8qIERQTEwxICovCiAvKiBNUFUgY2xvY2sgc291cmNlICovCiAvKiBUeXBlOiBEUExMICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsMV9kZCA9IHsKK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwxX2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKE1QVV9NT0QsIE9NQVAzNDMwX0NNX0NMS1NFTDFfUExMKSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBfTVBVX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9NUFVfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoTVBVX01PRCwgT01BUDM0MzBfQ01fQ0xLRU5fUExMKSwKIAkuZW5hYmxlX21hc2sJPSBPTUFQMzQzMF9FTl9NUFVfRFBMTF9NQVNLLAorCS5tb2RlcwkJPSAoMSA8PCBEUExMX0xPV19QT1dFUl9CWVBBU1MpIHwgKDEgPDwgRFBMTF9MT0NLRUQpLAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwX0VOX01QVV9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX01QVV9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9NUFVfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE1QVV9NT0QsIE9NQVAzNDMwX0NNX0FVVE9JRExFX1BMTCksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMF9BVVRPX01QVV9EUExMX01BU0ssCisJLmlkbGVzdF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoTVBVX01PRCwgT01BUDM0MzBfQ01fSURMRVNUX1BMTCksCisJLmlkbGVzdF9iaXQJPSBPTUFQMzQzMF9TVF9NUFVfQ0xLX1NISUZULAorCS5tYXhfbXVsdGlwbGllciA9IE9NQVAzX01BWF9EUExMX01VTFQsCisJLm1heF9kaXZpZGVyCT0gT01BUDNfTUFYX0RQTExfRElWLAorCS5yYXRlX3RvbGVyYW5jZSA9IERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgZHBsbDFfY2sgPSB7CkBAIC0yNTYsNiArMjgzLDcgQEAKIAkucGFyZW50CQk9ICZzeXNfY2ssCiAJLmRwbGxfZGF0YQk9ICZkcGxsMV9kZCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKKwkucm91bmRfcmF0ZQk9ICZvbWFwMl9kcGxsX3JvdW5kX3JhdGUsCiAJLnJlY2FsYwkJPSAmb21hcDNfZHBsbF9yZWNhbGMsCiB9OwogCkBAIC0yOTcsMjIgKzMyNSwzNCBAQAogLyogSVZBMiBjbG9jayBzb3VyY2UgKi8KIC8qIFR5cGU6IERQTEwgKi8KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDJfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsMl9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9JVkEyX01PRCwgT01BUDM0MzBfQ01fQ0xLU0VMMV9QTEwpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMF9JVkEyX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9JVkEyX0RQTExfRElWX01BU0ssCiAJLmNvbnRyb2xfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0lWQTJfTU9ELCBPTUFQMzQzMF9DTV9DTEtFTl9QTEwpLAogCS5lbmFibGVfbWFzawk9IE9NQVAzNDMwX0VOX0lWQTJfRFBMTF9NQVNLLAorCS5tb2RlcwkJPSAoMSA8PCBEUExMX0xPV19QT1dFUl9TVE9QKSB8ICgxIDw8IERQTExfTE9DS0VEKSB8CisJCQkJKDEgPDwgRFBMTF9MT1dfUE9XRVJfQllQQVNTKSwKIAkuYXV0b19yZWNhbF9iaXQJPSBPTUFQMzQzMF9FTl9JVkEyX0RQTExfRFJJRlRHVUFSRF9TSElGVCwKIAkucmVjYWxfZW5fYml0CT0gT01BUDM0MzBfUFJNX0lSUUVOQUJMRV9NUFVfSVZBMl9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9QUk1fSVJRU1RBVFVTX01QVV9JVkEyX0RQTExfU1RfU0hJRlQsCisJLmF1dG9pZGxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9JVkEyX01PRCwgT01BUDM0MzBfQ01fQVVUT0lETEVfUExMKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwX0FVVE9fSVZBMl9EUExMX01BU0ssCisJLmlkbGVzdF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfSVZBMl9NT0QsIE9NQVAzNDMwX0NNX0lETEVTVF9QTEwpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBfU1RfSVZBMl9DTEtfU0hJRlQsCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsMl9jayA9IHsKIAkubmFtZQkJPSAiZHBsbDJfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGwyX2RkLAotCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8IEFMV0FZU19FTkFCTEVELAorCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUywKKwkuZW5hYmxlCQk9ICZvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlLAorCS5kaXNhYmxlCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlLAorCS5yb3VuZF9yYXRlCT0gJm9tYXAyX2RwbGxfcm91bmRfcmF0ZSwKIAkucmVjYWxjCQk9ICZvbWFwM19kcGxsX3JlY2FsYywKIH07CiAKQEAgLTMzOCwxMCArMzc4LDEyIEBACiAJLnJlY2FsYwkJPSAmb21hcDJfY2xrc2VsX3JlY2FsYywKIH07CiAKLS8qIERQTEwzICovCi0vKiBTb3VyY2UgY2xvY2sgZm9yIGFsbCBpbnRlcmZhY2VzIGFuZCBmb3Igc29tZSBkZXZpY2UgZmNsa3MgKi8KLS8qIFR5cGU6IERQTEwgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwzX2RkID0geworLyoKKyAqIERQTEwzCisgKiBTb3VyY2UgY2xvY2sgZm9yIGFsbCBpbnRlcmZhY2VzIGFuZCBmb3Igc29tZSBkZXZpY2UgZmNsa3MKKyAqIFJFVklTSVQ6IEFsc28gc3VwcG9ydHMgZmFzdCByZWxvY2sgYnlwYXNzIC0gbm90IGluY2x1ZGVkIGJlbG93CisgKi8KK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwzX2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDEpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMF9DT1JFX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9DT1JFX0RQTExfRElWX01BU0ssCkBAIC0zNTAsNiArMzkyLDExIEBACiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBfRU5fQ09SRV9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX0NPUkVfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBfQ09SRV9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQVVUT0lETEUpLAorCS5hdXRvaWRsZV9tYXNrCT0gT01BUDM0MzBfQVVUT19DT1JFX0RQTExfTUFTSywKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGwzX2NrID0gewpAQCAtMzU3LDYgKzQwNCw3IEBACiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDNfZGQsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtNDM5LDcgKzQ4Nyw3IEBACiAJLm5hbWUJCT0gImNvcmVfY2siLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY29yZV9ja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC00NTYsNyArNTA0LDcgQEAKIAkubmFtZQkJPSAiZHBsbDNfbTJ4Ml9jayIsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBkcGxsM19tMngyX2NrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTUwMyw3ICs1NTEsNyBAQAogCS5wYXJlbnQJCT0gJmRwbGwzX20zeDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBlbXVfY29yZV9hbHdvbl9ja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC01MTMsMjIgKzU2MSwzMyBAQAogLyogRFBMTDQgKi8KIC8qIFN1cHBsaWVzIDk2TUh6LCA1NE1oeiBUViBEQUMsIERTUyBmY2xrLCBDQU0gc2Vuc29yIGNsb2NrLCBlbXVsIHRyYWNlIGNsayAqLwogLyogVHlwZTogRFBMTCAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDRfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsNF9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBfUEVSSVBIX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9QRVJJUEhfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLRU4pLAogCS5lbmFibGVfbWFzawk9IE9NQVAzNDMwX0VOX1BFUklQSF9EUExMX01BU0ssCisJLm1vZGVzCQk9ICgxIDw8IERQTExfTE9XX1BPV0VSX1NUT1ApIHwgKDEgPDwgRFBMTF9MT0NLRUQpLAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwX0VOX1BFUklQSF9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX1BFUklQSF9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9QRVJJUEhfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0FVVE9JRExFKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwX0FVVE9fUEVSSVBIX0RQTExfTUFTSywKKwkuaWRsZXN0X3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19TSElGVCwKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGw0X2NrID0gewogCS5uYW1lCQk9ICJkcGxsNF9jayIsCiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDRfZGQsCi0JLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCisJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTLAorCS5lbmFibGUJCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUsCisJLmRpc2FibGUJPSAmb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtNTg0LDcgKzY0Myw3IEBACiAJLnBhcmVudAkJPSAmZHBsbDRfbTJ4Ml9jaywKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBvbWFwXzk2bV9hbHdvbl9mY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8CiAJCQkJIFBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTYxMCw3ICs2NjksNyBAQAogCS5wYXJlbnQJCT0gJmRwbGw0X20yeDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY21fOTZtX2Zja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC02NTIsNyArNzExLDcgQEAKIAkucGFyZW50CQk9ICZkcGxsNF9tM3gyX2NrLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IHZpcnRfb21hcF81NG1fZmNrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTgwNCwyMyArODYzLDMzIEBACiAvKiBTdXBwbGllcyAxMjBNSHogY2xvY2ssIFVTSU0gc291cmNlIGNsb2NrICovCiAvKiBUeXBlOiBEUExMICovCiAvKiAzNDMwRVMyIG9ubHkgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGw1X2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbDVfZGQgPSB7CiAJLm11bHRfZGl2MV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQ0xLU0VMNCksCiAJLm11bHRfbWFzawk9IE9NQVAzNDMwRVMyX1BFUklQSDJfRFBMTF9NVUxUX01BU0ssCiAJLmRpdjFfbWFzawk9IE9NQVAzNDMwRVMyX1BFUklQSDJfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQ0xLRU4yKSwKIAkuZW5hYmxlX21hc2sJPSBPTUFQMzQzMEVTMl9FTl9QRVJJUEgyX0RQTExfTUFTSywKKwkubW9kZXMJCT0gKDEgPDwgRFBMTF9MT1dfUE9XRVJfU1RPUCkgfCAoMSA8PCBEUExMX0xPQ0tFRCksCiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBFUzJfRU5fUEVSSVBIMl9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwRVMyX1NORF9QRVJJUEhfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBFUzJfU05EX1BFUklQSF9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQVVUT0lETEUyX1BMTCksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9NQVNLLAorCS5pZGxlc3RfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVDIpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBFUzJfU1RfUEVSSVBIMl9DTEtfU0hJRlQsCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsNV9jayA9IHsKIAkubmFtZQkJPSAiZHBsbDVfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGw1X2RkLAotCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzMEVTMiB8IFJBVEVfUFJPUEFHQVRFUyB8Ci0JCQkJQUxXQVlTX0VOQUJMRUQsCisJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDMwRVMyIHwgUkFURV9QUk9QQUdBVEVTLAorCS5lbmFibGUJCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUsCisJLmRpc2FibGUJPSAmb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtMTM2NSw3ICsxNDM0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSA1LAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1A1X1NISUZULApAQCAtMTM3Nyw3ICsxNDQ3LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAxLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AxX1NISUZULApAQCAtMTc4OSw3ICsxODYwLDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNV9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNV9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSA1LAogCS5wYXJlbnQJCT0gJmNvcmVfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4xKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQNV9TSElGVCwKQEAgLTE3OTgsNyArMTg3MCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDFfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDFfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMSwKIAkucGFyZW50CQk9ICZjb3JlX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMSksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDFfU0hJRlQsCkBAIC0xOTM1LDcgKzIwMDgsNyBAQAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0RTU19NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9EU1MxX1NISUZULAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBkc3MxX2Fsd29uX2Zja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYLAogCS5yZWNhbGMJCT0gJm9tYXAyX2Nsa3NlbF9yZWNhbGMsCkBAIC0xOTkxLDcgKzIwNjQsNyBAQAogCS5wYXJlbnQJCT0gJmRwbGw0X201eDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY2FtX21jbGtfY2xrc2VsLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0NBTV9NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9DQU1fU0hJRlQsCkBAIC0yNTQxLDcgKzI2MTQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDIsCiAJLnBhcmVudAkJPSAmcGVyX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9JQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AyX1NISUZULApAQCAtMjU1MCw3ICsyNjI0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAzLAogCS5wYXJlbnQJCT0gJnBlcl9sNF9pY2ssCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fSUNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQM19TSElGVCwKQEAgLTI1NTksNyArMjYzNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gNCwKIAkucGFyZW50CQk9ICZwZXJfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0lDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDRfU0hJRlQsCkBAIC0yNTc0LDcgKzI2NTAsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDIsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9GQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AyX1NISUZULApAQCAtMjU4Niw3ICsyNjYzLDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAzLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fRkNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQM19TSElGVCwKQEAgLTI1OTgsNyArMjY3Niw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gNCwKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDRfU0hJRlQsCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLXJlZ2JpdHMtMzR4eC5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS1yZWdiaXRzLTM0eHguaAppbmRleCAzYzM4Mzk1Li5lZTRjMGNhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLXJlZ2JpdHMtMzR4eC5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY20tcmVnYml0cy0zNHh4LmgKQEAgLTcyLDcgKzcyLDggQEAKICNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMgkJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1RfUExMX0lWQTIgKi8KLSNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMl9DTEsJCQkJKDEgPDwgMCkKKyNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMl9DTEtfU0hJRlQJCQkwCisjZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTJfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9BVVRPSURMRV9QTExfSVZBMiAqLwogI2RlZmluZSBPTUFQMzQzMF9BVVRPX0lWQTJfRFBMTF9TSElGVAkJCTAKQEAgLTExNSwxMCArMTE2LDcgQEAKICNkZWZpbmUgT01BUDM0MzBfU1RfTVBVCQkJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1RfUExMX01QVSAqLwotI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLCQkJCSgxIDw8IDApCi0jZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTJfQ0xLX01BU0sJCQkoMSA8PCAwKQotCi0vKiBDTV9JRExFU1RfUExMX01QVSAqLworI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLX1NISUZUCQkJMAogI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9BVVRPSURMRV9QTExfTVBVICovCkBAIC00MDgsOCArNDA2LDEwIEBACiAjZGVmaW5lIE9NQVAzNDMwX1NUXzEyTV9DTEsJCQkJKDEgPDwgNCkKICNkZWZpbmUgT01BUDM0MzBfU1RfNDhNX0NMSwkJCQkoMSA8PCAzKQogI2RlZmluZSBPTUFQMzQzMF9TVF85Nk1fQ0xLCQkJCSgxIDw8IDIpCi0jZGVmaW5lIE9NQVAzNDMwX1NUX1BFUklQSF9DTEsJCQkJKDEgPDwgMSkKLSNkZWZpbmUgT01BUDM0MzBfU1RfQ09SRV9DTEsJCQkJKDEgPDwgMCkKKyNkZWZpbmUgT01BUDM0MzBfU1RfUEVSSVBIX0NMS19TSElGVAkJCTEKKyNkZWZpbmUgT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLCQkJKDEgPDwgMSkKKyNkZWZpbmUgT01BUDM0MzBfU1RfQ09SRV9DTEtfU0hJRlQJCQkwCisjZGVmaW5lIE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1QyX0NLR0VOICovCiAjZGVmaW5lIE9NQVAzNDMwRVMyX1NUXzEyME1fQ0xLX1NISUZUCQkJMQpAQCAtNDIzLDYgKzQyMywxMCBAQAogI2RlZmluZSBPTUFQMzQzMF9BVVRPX0NPUkVfRFBMTF9TSElGVAkJCTAKICNkZWZpbmUgT01BUDM0MzBfQVVUT19DT1JFX0RQTExfTUFTSwkJCSgweDcgPDwgMCkKIAorLyogQ01fQVVUT0lETEUyX1BMTCAqLworI2RlZmluZSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9TSElGVAkJMAorI2RlZmluZSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9NQVNLCQkoMHg3IDw8IDApCisKIC8qIENNX0NMS1NFTDFfUExMICovCiAvKiBOb3RlIHRoYXQgT01BUDM0MzBfQ09SRV9EUExMX0NMS09VVF9ESVZfTUFTSyB3YXMgKDB4MyA8PCAyNykgb24gMzQzMEVTMSAqLwogI2RlZmluZSBPTUFQMzQzMF9DT1JFX0RQTExfQ0xLT1VUX0RJVl9TSElGVAkJMjcKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY20uaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvY20uaAppbmRleCA4NDg5ZjMwLi44N2E0NGM3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS5oCkBAIC04MSw2ICs4MSw3IEBACiAjZGVmaW5lIE9NQVAzNDMwRVMyX0NNX0ZDTEtFTjMJCQkJMHgwMDA4CiAjZGVmaW5lIE9NQVAzNDMwX0NNX0lETEVTVF9QTEwJCQkJQ01fSURMRVNUMgogI2RlZmluZSBPTUFQMzQzMF9DTV9BVVRPSURMRV9QTEwJCQlDTV9BVVRPSURMRTIKKyNkZWZpbmUgT01BUDM0MzBFUzJfQ01fQVVUT0lETEUyX1BMTAkJCUNNX0FVVE9JRExFMgogI2RlZmluZSBPTUFQMzQzMF9DTV9DTEtTRUwxCQkJCUNNX0NMS1NFTAogI2RlZmluZSBPTUFQMzQzMF9DTV9DTEtTRUwxX1BMTAkJCQlDTV9DTEtTRUwKICNkZWZpbmUgT01BUDM0MzBfQ01fQ0xLU0VMMl9QTEwJCQkJQ01fQ0xLU0VMMgpAQCAtOTYsMTUgKzk3LDIxIEBACiAvKiBDbG9jayBtYW5hZ2VtZW50IGRvbWFpbiByZWdpc3RlciBnZXQvc2V0ICovCiAKICNpZm5kZWYgX19BU1NFTUJMRVJfXwotc3RhdGljIGlubGluZSB2b2lkIGNtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgczE2IGlkeCkKKworZXh0ZXJuIHUzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCk7CitleHRlcm4gdm9pZCBjbV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpOworZXh0ZXJuIHUzMiBjbV9ybXdfbW9kX3JlZ19iaXRzKHUzMiBtYXNrLCB1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCk7CisKK3N0YXRpYyBpbmxpbmUgdTMyIGNtX3NldF9tb2RfcmVnX2JpdHModTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCiB7Ci0JX19yYXdfd3JpdGVsKHZhbCwgT01BUF9DTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIGNtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgYml0cywgbW9kdWxlLCBpZHgpOwogfQogCi1zdGF0aWMgaW5saW5lIHUzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgczE2IGlkeCkKK3N0YXRpYyBpbmxpbmUgdTMyIGNtX2NsZWFyX21vZF9yZWdfYml0cyh1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKIHsKLQlyZXR1cm4gX19yYXdfcmVhZGwoT01BUF9DTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIGNtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgMHgwLCBtb2R1bGUsIGlkeCk7CiB9CisKICNlbmRpZgogCiAvKiBDTSByZWdpc3RlciBiaXRzIHNoYXJlZCBiZXR3ZWVuIDI0WFggYW5kIDM0MzAgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY29udHJvbC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKaW5kZXggYTVkODZhNC4uNTFmNzAzMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKQEAgLTEzLDIyICsxMywyMSBAQAogI3VuZGVmIERFQlVHCiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CiAKLXN0YXRpYyB1MzIgb21hcDJfY3RybF9iYXNlOworc3RhdGljIHZvaWQgX19pb21lbSAqb21hcDJfY3RybF9iYXNlOwogCi0jZGVmaW5lIE9NQVBfQ1RSTF9SRUdBRERSKHJlZykJKHZvaWQgX19pb21lbSAqKUlPX0FERFJFU1Mob21hcDJfY3RybF9iYXNlIFwKLQkJCQkJCQkJKyAocmVnKSkKKyNkZWZpbmUgT01BUF9DVFJMX1JFR0FERFIocmVnKQkJKG9tYXAyX2N0cmxfYmFzZSArIChyZWcpKQogCi12b2lkIG9tYXBfY3RybF9iYXNlX3NldCh1MzIgYmFzZSkKK3ZvaWQgX19pbml0IG9tYXAyX3NldF9nbG9iYWxzX2NvbnRyb2woc3RydWN0IG9tYXBfZ2xvYmFscyAqb21hcDJfZ2xvYmFscykKIHsKLQlvbWFwMl9jdHJsX2Jhc2UgPSBiYXNlOworCW9tYXAyX2N0cmxfYmFzZSA9IG9tYXAyX2dsb2JhbHMtPmN0cmw7CiB9CiAKLXUzMiBvbWFwX2N0cmxfYmFzZV9nZXQodm9pZCkKK3ZvaWQgX19pb21lbSAqb21hcF9jdHJsX2Jhc2VfZ2V0KHZvaWQpCiB7CiAJcmV0dXJuIG9tYXAyX2N0cmxfYmFzZTsKIH0KQEAgLTUwLDI1ICs0OSwxNiBAQAogCiB2b2lkIG9tYXBfY3RybF93cml0ZWIodTggdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGViOiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGViKHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKIHZvaWQgb21hcF9jdHJsX3dyaXRldyh1MTYgdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGV3OiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGV3KHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKIHZvaWQgb21hcF9jdHJsX3dyaXRlbCh1MzIgdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGVsOiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGVsKHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYwppbmRleCA0ZGZkODc4Li5kZmY0YjE2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2lkLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9pZC5jCkBAIC0xNywxNiArMTcsMjMgQEAKIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjQyMCkKLSNkZWZpbmUgT01BUDI0WFhfVEFQX0JBU0UJaW9fcDJ2KDB4NDgwMTQwMDApCi0jZW5kaWYKKyNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY3B1Lmg+CiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDMwKQotI2RlZmluZSBPTUFQMjRYWF9UQVBfQkFTRQlpb19wMnYoMHg0OTAwQTAwMCkKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDIwKQorI2RlZmluZSBUQVBfQkFTRQlpb19wMnYoMHg0ODAxNDAwMCkKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MzApCisjZGVmaW5lIFRBUF9CQVNFCWlvX3AydigweDQ5MDBBMDAwKQorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzRYWCkKKyNkZWZpbmUgVEFQX0JBU0UJaW9fcDJ2KDB4NDgzMEEwMDApCiAjZW5kaWYKIAogI2RlZmluZSBPTUFQX1RBUF9JRENPREUJCTB4MDIwNAorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0WFgpCisjZGVmaW5lIE9NQVBfVEFQX1BST0RfSUQJMHgwMjEwCisjZWxzZQogI2RlZmluZSBPTUFQX1RBUF9QUk9EX0lECTB4MDIwOAorI2VuZGlmCiAKICNkZWZpbmUgT01BUF9UQVBfRElFX0lEXzAJMHgwMjE4CiAjZGVmaW5lIE9NQVBfVEFQX0RJRV9JRF8xCTB4MDIxQwpAQCAtNTYsOSArNjMsMTM0IEBACiAJeyAuaGF3a2V5ZSA9IDB4YjY4YSwgLmRldiA9IDB4MCwgLnR5cGUgPSAweDI0MzAwMDAwIH0sCiB9OwogCitzdGF0aWMgc3RydWN0IG9tYXBfY2hpcF9pZCBvbWFwX2NoaXA7CisKKy8qKgorICogb21hcF9jaGlwX2lzIC0gdGVzdCB3aGV0aGVyIGN1cnJlbnRseSBydW5uaW5nIE9NQVAgbWF0Y2hlcyBhIGNoaXAgdHlwZQorICogQG9jOiBvbWFwX2NoaXBfdCB0byB0ZXN0IGFnYWluc3QKKyAqCisgKiBUZXN0IHdoZXRoZXIgdGhlIGN1cnJlbnRseS1ydW5uaW5nIE9NQVAgY2hpcCBtYXRjaGVzIHRoZSBzdXBwbGllZAorICogY2hpcCB0eXBlICdvYycuICBSZXR1cm5zIDEgdXBvbiBhIG1hdGNoOyAwIHVwb24gZmFpbHVyZS4KKyAqLworaW50IG9tYXBfY2hpcF9pcyhzdHJ1Y3Qgb21hcF9jaGlwX2lkIG9jaSkKK3sKKwlyZXR1cm4gKG9jaS5vYyAmIG9tYXBfY2hpcC5vYykgPyAxIDogMDsKK30KK0VYUE9SVF9TWU1CT0wob21hcF9jaGlwX2lzKTsKKwogc3RhdGljIHUzMiBfX2luaXQgcmVhZF90YXBfcmVnKGludCByZWcpCiB7Ci0JcmV0dXJuIF9fcmF3X3JlYWRsKE9NQVAyNFhYX1RBUF9CQVNFICsgcmVnKTsKKwl1bnNpZ25lZCBpbnQgcmVndmFsID0gMDsKKwl1MzIgY3B1aWQ7CisKKwkvKiBSZWFkaW5nIHRoZSBJRENPREUgcmVnaXN0ZXIgb24gMzQzMCBFUzEgcmVzdWx0cyBpbiBhCisJICogZGF0YSBhYm9ydCBhcyB0aGUgcmVnaXN0ZXIgaXMgbm90IGV4cG9zZWQgb24gdGhlIE9DUAorCSAqIEhlbmNlIHJlYWRpbmcgdGhlIENvcnRleCBSZXYKKwkgKi8KKwljcHVpZCA9IHJlYWRfY3B1aWQoQ1BVSURfSUQpOworCisJLyogSWYgdGhlIHByb2Nlc3NvciB0eXBlIGlzIENvcnRleC1BOCBhbmQgdGhlIHJldmlzaW9uIGlzIDB4MAorCSAqIGl0IG1lYW5zIGl0cyBDb3J0ZXggcjBwMCB3aGljaCBpcyAzNDMwIEVTMQorCSAqLworCWlmICgoKChjcHVpZCA+PiA0KSAmIDB4RkZGKSA9PSAweEMwOCkgJiYgKChjcHVpZCAmIDB4RikgPT0gMHgwKSkgeworCQlzd2l0Y2ggKHJlZykgeworCQljYXNlIE9NQVBfVEFQX0lEQ09ERSAgOiByZWd2YWwgPSAweDBCN0FFMDJGOyBicmVhazsKKwkJLyogTWFraW5nIERldlR5cGUgYXMgMHhGIGluIEVTMSB0byBkaWZmZXIgZnJvbSBFUzIgKi8KKwkJY2FzZSBPTUFQX1RBUF9QUk9EX0lEIDogcmVndmFsID0gMHgwMDBGMDBGMDsgYnJlYWs7CisJCWNhc2UgT01BUF9UQVBfRElFX0lEXzA6IHJlZ3ZhbCA9IDB4MDEwMDAwMDA7IGJyZWFrOworCQljYXNlIE9NQVBfVEFQX0RJRV9JRF8xOiByZWd2YWwgPSAweDEwMTJkNjg3OyBicmVhazsKKwkJY2FzZSBPTUFQX1RBUF9ESUVfSURfMjoJcmVndmFsID0gMHgwMDAwMDAwMDsgYnJlYWs7CisJCWNhc2UgT01BUF9UQVBfRElFX0lEXzM6CXJlZ3ZhbCA9IDB4MmQyYzAwMDA7IGJyZWFrOworCQl9CisJfSBlbHNlCisJCXJlZ3ZhbCA9IF9fcmF3X3JlYWRsKFRBUF9CQVNFICsgcmVnKTsKKworCXJldHVybiByZWd2YWw7CisKK30KKworLyoKKyAqIF9zZXRfc3lzdGVtX3JldiAtIHNldCB0aGUgc3lzdGVtX3JldiBnbG9iYWwgYmFzZWQgb24gY3VycmVudCBPTUFQIGNoaXAgdHlwZQorICoKKyAqIFNldCB0aGUgc3lzdGVtX3JldiBnbG9iYWwuICBUaGlzIGlzIHByaW1hcmlseSB1c2VkIGJ5IHRoZSBjcHVfaXNfb21hcHh4eHgoKQorICogbWFjcm9zLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX3NldF9zeXN0ZW1fcmV2KHUzMiB0eXBlLCB1OCByZXYpCit7CisJdTMyIGksIGN0cmxfc3RhdHVzOworCisJLyoKKwkgKiBzeXN0ZW1fcmV2IGVuY29kaW5nIGlzIGFzIGZvbGxvd3MKKwkgKiBzeXN0ZW1fcmV2ICYgMHhmZjAwMDAwMCAtPiBPbWFwIENsYXNzICgyNHh4LzM0eHgpCisJICogc3lzdGVtX3JldiAmIDB4ZmZmMDAwMDAgLT4gT21hcCBTdWIgQ2xhc3MgKDI0MngvMzQzeCkKKwkgKiBzeXN0ZW1fcmV2ICYgMHhmZmZmMDAwMCAtPiBPbWFwIHR5cGUgKDI0MjAvMjQyMi8yNDIzLzI0MzAvMzQzMCkKKwkgKiBzeXN0ZW1fcmV2ICYgMHgwMDAwZjAwMCAtPiBTaWxpY29uIHJldmlzaW9uIChFUzEsIEVTMiApCisJICogc3lzdGVtX3JldiAmIDB4MDAwMDA3MDAgLT4gRGV2aWNlIFR5cGUgKCBFTVUvSFMvR1AvQkFEICkKKwkgKiBzeXN0ZW1fcmV2ICYgMHgwMDAwMDBjMCAtPiBJRENPREUgcmV2aXNpb25bNjo3XQorCSAqIHN5c3RlbV9yZXYgJiAweDAwMDAwMDNmIC0+IHN5c19ib290WzA6NV0KKwkgKi8KKwkvKiBFbWJlZGRpbmcgdGhlIEVTIHJldmlzaW9uIGluZm8gaW4gdHlwZSBmaWVsZCAqLworCXN5c3RlbV9yZXYgPSB0eXBlOworCS8qIEFsc28gYWRkIElEQ09ERSByZXZpc2lvbiBpbmZvIG9ubHkgdHdvIGxvd2VyIGJpdHMgKi8KKwlzeXN0ZW1fcmV2IHw9ICgocmV2ICYgMHgzKSA8PCA2KTsKKworCS8qIEFkZCBpbiB0aGUgZGV2aWNlIHR5cGUgYW5kIHN5c19ib290IGZpZWxkcyAoc2VlIGFib3ZlKSAqLworCWlmIChjcHVfaXNfb21hcDI0eHgoKSkgeworCQlpID0gT01BUDI0WFhfQ09OVFJPTF9TVEFUVVM7CisJfSBlbHNlIGlmIChjcHVfaXNfb21hcDM0M3goKSkgeworCQlpID0gT01BUDM0M1hfQ09OVFJPTF9TVEFUVVM7CisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJpZDogdW5rbm93biBDUFUgdHlwZVxuIik7CisJCUJVRygpOworCX0KKwljdHJsX3N0YXR1cyA9IG9tYXBfY3RybF9yZWFkbChpKTsKKwlzeXN0ZW1fcmV2IHw9IChjdHJsX3N0YXR1cyAmIChPTUFQMl9TWVNCT09UXzVfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF80X01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfM19NQVNLIHwKKwkJCQkgICAgICBPTUFQMl9TWVNCT09UXzJfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF8xX01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfMF9NQVNLKSk7CisJc3lzdGVtX3JldiB8PSAoY3RybF9zdGF0dXMgJiBPTUFQMl9ERVZJQ0VUWVBFX01BU0spOworfQorCisKKy8qCisgKiBfc2V0X29tYXBfY2hpcCAtIHNldCB0aGUgb21hcF9jaGlwIGdsb2JhbCBiYXNlZCBvbiBPTUFQIGNoaXAgdHlwZQorICoKKyAqIEJ1aWxkIHRoZSBvbWFwX2NoaXAgYml0cy4gIFRoaXMgdmFyaWFibGUgaXMgdXNlZCBieSBwb3dlcmRvbWFpbiBhbmQKKyAqIGNsb2NrZG9tYWluIGNvZGUgdG8gaW5kaWNhdGUgd2hldGhlciBzdHJ1Y3R1cmVzIGFyZSBhcHBsaWNhYmxlIGZvcgorICogdGhlIGN1cnJlbnQgT01BUCBjaGlwIHR5cGUgYnkgQU5EaW5nIGl0IGFnYWluc3QgYSAncGxhdGZvcm0nIGJpdGZpZWxkCisgKiBpbiB0aGUgc3RydWN0dXJlLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX3NldF9vbWFwX2NoaXAodm9pZCkKK3sKKwlpZiAoY3B1X2lzX29tYXAzNDN4KCkpIHsKKworCQlvbWFwX2NoaXAub2MgPSBDSElQX0lTX09NQVAzNDMwOworCQlpZiAoaXNfc2lsX3Jldl9lcXVhbF90byhPTUFQMzQzMF9SRVZfRVMxXzApKQorCQkJb21hcF9jaGlwLm9jIHw9IENISVBfSVNfT01BUDM0MzBFUzE7CisJCWVsc2UgaWYgKGlzX3NpbF9yZXZfZ3JlYXRlcl90aGFuKE9NQVAzNDMwX1JFVl9FUzFfMCkpCisJCQlvbWFwX2NoaXAub2MgfD0gQ0hJUF9JU19PTUFQMzQzMEVTMjsKKworCX0gZWxzZSBpZiAoY3B1X2lzX29tYXAyNDN4KCkpIHsKKworCQkvKiBDdXJyZW50bHkgb25seSBzdXBwb3J0cyAyNDMwRVMyLjEgYW5kIDI0MzAtYWxsICovCisJCW9tYXBfY2hpcC5vYyB8PSBDSElQX0lTX09NQVAyNDMwOworCisJfSBlbHNlIGlmIChjcHVfaXNfb21hcDI0MngoKSkgeworCisJCS8qIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIDI0MjBFUzIuMS4xIGFuZCAyNDIwLWFsbCAqLworCQlvbWFwX2NoaXAub2MgfD0gQ0hJUF9JU19PTUFQMjQyMDsKKworCX0gZWxzZSB7CisKKwkJLyogQ3VycmVudCBDUFUgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvZGUuICovCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk9NQVAgY2hpcCB0eXBlIGNvZGUgZG9lcyBub3QgeWV0IHN1cHBvcnQgIgorCQkgICAgICAgInRoaXMgQ1BVIHR5cGUuXG4iKTsKKwkJV0FSTl9PTigxKTsKKworCX0KKwogfQogCiB2b2lkIF9faW5pdCBvbWFwMl9jaGVja19yZXZpc2lvbih2b2lkKQpAQCAtNzYsMjEgKzIwOCwzMSBAQAogCXJldiA9IChpZGNvZGUgPj4gMjgpICYgMHgwZjsKIAlkZXZfdHlwZSA9IChwcm9kX2lkID4+IDE2KSAmIDB4MGY7CiAKLSNpZmRlZiBERUJVRwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9JRENPREUgMHglMDh4IFJFViAlaSBIQVdLRVlFIDB4JTA0eCBNQU5GICUwM3hcbiIsCi0JCWlkY29kZSwgcmV2LCBoYXdrZXllLCAoaWRjb2RlID4+IDEpICYgMHg3ZmYpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9ESUVfSURfMDogMHglMDh4XG4iLAotCQlyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzApKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfRElFX0lEXzE6IDB4JTA4eCBERVZfUkVWOiAlaVxuIiwKLQkJcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8xKSwKLQkgICAgICAgKHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMSkgPj4gMjgpICYgMHhmKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfRElFX0lEXzI6IDB4JTA4eFxuIiwKLQkJcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8yKSk7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIk9NQVBfVEFQX0RJRV9JRF8zOiAweCUwOHhcbiIsCi0JCXJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMykpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9QUk9EX0lEXzA6IDB4JTA4eCBERVZfVFlQRTogJWlcbiIsCi0JCXByb2RfaWQsIGRldl90eXBlKTsKLSNlbmRpZgorCXByX2RlYnVnKCJPTUFQX1RBUF9JRENPREUgMHglMDh4IFJFViAlaSBIQVdLRVlFIDB4JTA0eCBNQU5GICUwM3hcbiIsCisJCSBpZGNvZGUsIHJldiwgaGF3a2V5ZSwgKGlkY29kZSA+PiAxKSAmIDB4N2ZmKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfRElFX0lEXzA6IDB4JTA4eFxuIiwKKwkJIHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMCkpOworCXByX2RlYnVnKCJPTUFQX1RBUF9ESUVfSURfMTogMHglMDh4IERFVl9SRVY6ICVpXG4iLAorCQkgcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8xKSwKKwkJIChyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzEpID4+IDI4KSAmIDB4Zik7CisJcHJfZGVidWcoIk9NQVBfVEFQX0RJRV9JRF8yOiAweCUwOHhcbiIsCisJCSByZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzIpKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfRElFX0lEXzM6IDB4JTA4eFxuIiwKKwkJIHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMykpOworCXByX2RlYnVnKCJPTUFQX1RBUF9QUk9EX0lEXzA6IDB4JTA4eCBERVZfVFlQRTogJWlcbiIsCisJCSBwcm9kX2lkLCBkZXZfdHlwZSk7CisKKwkvKgorCSAqIERldGVjdGlvbiBmb3IgMzR4eCBFUzIuMCBhbmQgYWJvdmUgY2FuIGJlIGRvbmUgd2l0aCBqdXN0CisJICogaGF3a2V5ZSBhbmQgcmV2LiBTZWUgVFJNIDEuNS4yIERldmljZSBJZGVudGlmaWNhdGlvbi4KKwkgKiBOb3RlIHRoYXQgcmV2IGNhbm5vdCBiZSB1c2VkIGRpcmVjdGx5IGFzIEVTMS4wIHVzZXMgdmFsdWUgMC4KKwkgKi8KKwlpZiAoaGF3a2V5ZSA9PSAweGI3YWUpIHsKKwkJc3lzdGVtX3JldiA9IDB4MzQzMDAwMDAgfCAoKDEgKyByZXYpIDw8IDEyKTsKKwkJcHJfaW5mbygiT01BUCUwNHggRVMyLiVpXG4iLCBzeXN0ZW1fcmV2ID4+IDE2LCByZXYpOworCQlfc2V0X29tYXBfY2hpcCgpOworCQlyZXR1cm47CisJfQogCiAJLyogQ2hlY2sgaGF3a2V5ZSBpZHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShvbWFwX2lkcyk7IGkrKykgewpAQCAtMTE0LDE2ICsyNTYsMTUgQEAKIAkJCQlvbWFwX2lkc1tpXS50eXBlID4+IDE2KTsKIAkJaiA9IGk7CiAJfQotCXN5c3RlbV9yZXYgPSBvbWFwX2lkc1tqXS50eXBlOwogCi0Jc3lzdGVtX3JldiB8PSByZXYgPDwgODsKKwlfc2V0X3N5c3RlbV9yZXYob21hcF9pZHNbal0udHlwZSwgcmV2KTsKIAotCS8qIEFkZCB0aGUgY3B1IGNsYXNzIGluZm8gKDI0eHgpICovCi0Jc3lzdGVtX3JldiB8PSAweDI0OworCV9zZXRfb21hcF9jaGlwKCk7CiAKIAlwcl9pbmZvKCJPTUFQJTA0eCIsIHN5c3RlbV9yZXYgPj4gMTYpOwogCWlmICgoc3lzdGVtX3JldiA+PiA4KSAmIDB4MGYpCi0JCXByaW50aygiJXgiLCAoc3lzdGVtX3JldiA+PiA4KSAmIDB4MGYpOwotCXByaW50aygiXG4iKTsKKwkJcHJfaW5mbygiRVMleCIsIChzeXN0ZW1fcmV2ID4+IDEyKSAmIDB4Zik7CisJcHJfaW5mbygiXG4iKTsKKwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL21jYnNwLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL21jYnNwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdjZjE5OQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbWNic3AuYwpAQCAtMCwwICsxLDIwOCBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvbWNic3AuYworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbnN0aXR1dG8gTm9raWEgZGUgVGVjbm9sb2dpYQorICogQ29udGFjdDogRWR1YXJkbyBWYWxlbnRpbiA8ZWR1YXJkby52YWxlbnRpbkBpbmR0Lm9yZy5icj4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE11bHRpY2hhbm5lbCBtb2RlIG5vdCBzdXBwb3J0ZWQuCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2RtYS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL211eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NwdS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL21jYnNwLmg+CisKK3N0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgeworCXN0cnVjdCBjbGsgY2xrOworCXN0cnVjdCBjbGsgKipjaGlsZHM7CisJaW50IG5fY2hpbGRzOworfTsKKworI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0WFgpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0WFgpCitzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2Nsa19pbml0KHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGspCit7CisJY29uc3QgY2hhciAqY2xrX25hbWVzW10gPSB7ICJtY2JzcF9pY2siLCAibWNic3BfZmNrIiB9OworCWludCBpOworCisJbWNsay0+bl9jaGlsZHMgPSBBUlJBWV9TSVpFKGNsa19uYW1lcyk7CisJbWNsay0+Y2hpbGRzID0ga3phbGxvYyhtY2xrLT5uX2NoaWxkcyAqIHNpemVvZihzdHJ1Y3QgY2xrICopLAorCQkJCUdGUF9LRVJORUwpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspIHsKKwkJLyogV2UgZmFrZSBhIHBsYXRmb3JtIGRldmljZSB0byBnZXQgY29ycmVjdCBkZXZpY2UgaWQgKi8KKwkJc3RydWN0IHBsYXRmb3JtX2RldmljZSBwZGV2OworCisJCXBkZXYuZGV2LmJ1cyA9ICZwbGF0Zm9ybV9idXNfdHlwZTsKKwkJcGRldi5pZCA9IG1jbGstPmNsay5pZDsKKwkJbWNsay0+Y2hpbGRzW2ldID0gY2xrX2dldCgmcGRldi5kZXYsIGNsa19uYW1lc1tpXSk7CisJCWlmIChJU19FUlIobWNsay0+Y2hpbGRzW2ldKSkKKwkJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGdldCBjbG9jayAlcyAoJWQpLlxuIiwKKwkJCQljbGtfbmFtZXNbaV0sIG1jbGstPmNsay5pZCk7CisJfQorfQorCitzdGF0aWMgaW50IG9tYXBfbWNic3BfY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsayA9IGNvbnRhaW5lcl9vZihjbGssCisJCQkJCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGssIGNsayk7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykKKwkJY2xrX2VuYWJsZShtY2xrLT5jaGlsZHNbaV0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrID0gY29udGFpbmVyX29mKGNsaywKKwkJCQkJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsaywgY2xrKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKQorCQljbGtfZGlzYWJsZShtY2xrLT5jaGlsZHNbaV0pOworfQorCitzdGF0aWMgc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayBvbWFwX21jYnNwX2Nsa3NbXSA9IHsKKwl7CisJCS5jbGsgPSB7CisJCQkubmFtZSAJCT0gIm1jYnNwX2NsayIsCisJCQkuaWQJCT0gMSwKKwkJCS5lbmFibGUJCT0gb21hcF9tY2JzcF9jbGtfZW5hYmxlLAorCQkJLmRpc2FibGUJPSBvbWFwX21jYnNwX2Nsa19kaXNhYmxlLAorCQl9LAorCX0sCisJeworCQkuY2xrID0geworCQkJLm5hbWUgCQk9ICJtY2JzcF9jbGsiLAorCQkJLmlkCQk9IDIsCisJCQkuZW5hYmxlCQk9IG9tYXBfbWNic3BfY2xrX2VuYWJsZSwKKwkJCS5kaXNhYmxlCT0gb21hcF9tY2JzcF9jbGtfZGlzYWJsZSwKKwkJfSwKKwl9LAorfTsKKworI2RlZmluZSBvbWFwX21jYnNwX2Nsa3Nfc2l6ZQlBUlJBWV9TSVpFKG9tYXBfbWNic3BfY2xrcykKKyNlbHNlCisjZGVmaW5lIG9tYXBfbWNic3BfY2xrc19zaXplCTAKK3N0YXRpYyBzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIF9faW5pdGRhdGEgKm9tYXBfbWNic3BfY2xrczsKK3N0YXRpYyBpbmxpbmUgdm9pZCBvbWFwX21jYnNwX2Nsa19pbml0KHN0cnVjdCBjbGsgKmNsaykKK3sgfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIG9tYXAyX21jYnNwMl9tdXhfc2V0dXAodm9pZCkKK3sKKwlvbWFwX2NmZ19yZWcoWTE1XzI0WFhfTUNCU1AyX0NMS1gpOworCW9tYXBfY2ZnX3JlZyhSMTRfMjRYWF9NQ0JTUDJfRlNYKTsKKwlvbWFwX2NmZ19yZWcoVzE1XzI0WFhfTUNCU1AyX0RSKTsKKwlvbWFwX2NmZ19yZWcoVjE1XzI0WFhfTUNCU1AyX0RYKTsKKwlvbWFwX2NmZ19yZWcoVjE0XzI0WFhfR1BJTzExNyk7CisJLyoKKwkgKiBUT0RPOiBOZWVkIHRvIGFkZCBNVVggc2V0dGluZ3MgZm9yIE9NQVAgMjQzMCBTRFAKKwkgKi8KK30KKworc3RhdGljIHZvaWQgb21hcDJfbWNic3BfcmVxdWVzdCh1bnNpZ25lZCBpbnQgaWQpCit7CisJaWYgKGNwdV9pc19vbWFwMjQyMCgpICYmIChpZCA9PSBPTUFQX01DQlNQMikpCisJCW9tYXAyX21jYnNwMl9tdXhfc2V0dXAoKTsKK30KKworc3RhdGljIGludCBvbWFwMl9tY2JzcF9jaGVjayh1bnNpZ25lZCBpbnQgaWQpCit7CisJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAxKSB7CisJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBkb2Vzbid0IGV4aXN0XG4iLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9vcHMgb21hcDJfbWNic3Bfb3BzID0geworCS5yZXF1ZXN0CT0gb21hcDJfbWNic3BfcmVxdWVzdCwKKwkuY2hlY2sJCT0gb21hcDJfbWNic3BfY2hlY2ssCit9OworCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDI0WFgKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXAyNHh4X21jYnNwX3BkYXRhW10gPSB7CisJeworCQkudmlydF9iYXNlCT0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDFfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDFfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AxX0lSUV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDFfSVJRX1RYLAorCQkub3BzCQk9ICZvbWFwMl9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AyX0lSUV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1RYLAorCQkub3BzCQk9ICZvbWFwMl9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCit9OworI2RlZmluZSBPTUFQMjRYWF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwMjR4eF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXAyNHh4X21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVAyNFhYX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAzNFhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMzR4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IElPX0FERFJFU1MoT01BUDM0WFhfTUNCU1AxX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF8yNFhYX01DQlNQMV9JUlFfUlgsCisJCS50eF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AxX0lSUV9UWCwKKwkJLm9wcwkJPSAmb21hcDJfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IElPX0FERFJFU1MoT01BUDM0WFhfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AyX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AyX1RYLAorCQkucnhfaXJxCQk9IElOVF8yNFhYX01DQlNQMl9JUlFfUlgsCisJCS50eF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AyX0lSUV9UWCwKKwkJLm9wcwkJPSAmb21hcDJfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorfTsKKyNkZWZpbmUgT01BUDM0WFhfTUNCU1BfUERBVEFfU1oJCUFSUkFZX1NJWkUob21hcDM0eHhfbWNic3BfcGRhdGEpCisjZWxzZQorI2RlZmluZSBvbWFwMzR4eF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQMzRYWF9NQ0JTUF9QREFUQV9TWgkJMAorI2VuZGlmCisKK2ludCBfX2luaXQgb21hcDJfbWNic3BfaW5pdCh2b2lkKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG9tYXBfbWNic3BfY2xrc19zaXplOyBpKyspIHsKKwkJLyogT25jZSB3ZSBjYWxsIGNsa19nZXQgaW5zaWRlIGluaXQsIHdlIGRvIG5vdCByZWdpc3RlciBpdCAqLworCQlvbWFwX21jYnNwX2Nsa19pbml0KCZvbWFwX21jYnNwX2Nsa3NbaV0pOworCQljbGtfcmVnaXN0ZXIoJm9tYXBfbWNic3BfY2xrc1tpXS5jbGspOworCX0KKworCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDI0eHhfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQMjRYWF9NQ0JTUF9QREFUQV9TWik7CisKKwlpZiAoY3B1X2lzX29tYXAzNHh4KCkpCisJCW9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKG9tYXAzNHh4X21jYnNwX3BkYXRhLAorCQkJCQkJT01BUDM0WFhfTUNCU1BfUERBVEFfU1opOworCisJcmV0dXJuIG9tYXBfbWNic3BfaW5pdCgpOworfQorYXJjaF9pbml0Y2FsbChvbWFwMl9tY2JzcF9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvbWVtb3J5LmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL21lbW9yeS5jCmluZGV4IDEyNDc5MDguLjczY2FkYjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvbWVtb3J5LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tZW1vcnkuYwpAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NyYW0uaD4KIApAQCAtMzIsOCArMzMsOCBAQAogI2luY2x1ZGUgIm1lbW9yeS5oIgogI2luY2x1ZGUgInNkcmMuaCIKIAotdW5zaWduZWQgbG9uZyBvbWFwMl9zZHJjX2Jhc2U7Ci11bnNpZ25lZCBsb25nIG9tYXAyX3Ntc19iYXNlOwordm9pZCBfX2lvbWVtICpvbWFwMl9zZHJjX2Jhc2U7Cit2b2lkIF9faW9tZW0gKm9tYXAyX3Ntc19iYXNlOwogCiBzdGF0aWMgc3RydWN0IG1lbW9yeV90aW1pbmdzIG1lbV90aW1pbmdzOwogc3RhdGljIHUzMiBjdXJyX3BlcmZfbGV2ZWwgPSBDT1JFX0NMS19TUkNfRFBMTF9YMjsKQEAgLTE1NCw2ICsxNTUsMTIgQEAKIAltZW1fdGltaW5ncy5zbG93X2RsbF9jdHJsIHw9ICgoMSA8PCAxKSB8ICgzIDw8IDgpKTsKIH0KIAordm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfbWVtb3J5KHN0cnVjdCBvbWFwX2dsb2JhbHMgKm9tYXAyX2dsb2JhbHMpCit7CisJb21hcDJfc2RyY19iYXNlID0gb21hcDJfZ2xvYmFscy0+c2RyYzsKKwlvbWFwMl9zbXNfYmFzZSA9IG9tYXAyX2dsb2JhbHMtPnNtczsKK30KKwogLyogdHVybiBvbiBzbWFydCBpZGxlIG1vZGVzIGZvciBTRFJBTSBzY2hlZHVsZXIgYW5kIGNvbnRyb2xsZXIgKi8KIHZvaWQgX19pbml0IG9tYXAyX2luaXRfbWVtb3J5KHZvaWQpCiB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tdXguYwppbmRleCA5MzA3NzAwLi44Zjk4YjIwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbXV4LmMKQEAgLTIzNiw3ICsyMzYsNyBAQAogCXdhcm4gPSAob3JpZyAhPSByZWcpOwogCWlmIChkZWJ1ZyB8fCB3YXJuKQogCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCQkiTVVYOiBzZXR1cCAlcyAoMHglMDh4KTogMHglMDJ4IC0+IDB4JTAyeFxuIiwKKwkJCSJNVVg6IHNldHVwICVzICgweCVwKTogMHglMDR4IC0+IDB4JTA0eFxuIiwKIAkJCWNmZy0+bmFtZSwgb21hcF9jdHJsX2Jhc2VfZ2V0KCkgKyBjZmctPm11eF9yZWcsCiAJCQlvcmlnLCByZWcpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wbS5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wbS5jCmluZGV4IGFhZDc4MWQuLmQ2YzlkZTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcG0uYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3BtLmMKQEAgLTU3LDEzICs1Nyw2IEBACiAJCXJldHVybjsKIAl9CiAKLQkvKgotCSAqIFNpbmNlIGFuIGludGVycnVwdCBtYXkgc2V0IHVwIGEgdGltZXIsIHdlIGRvbid0IHdhbnQgdG8KLQkgKiByZXByb2dyYW0gdGhlIGhhcmR3YXJlIHRpbWVyIHdpdGggaW50ZXJydXB0cyBlbmFibGVkLgotCSAqIFJlLWVuYWJsZSBpbnRlcnJ1cHRzIG9ubHkgYWZ0ZXIgcmV0dXJuaW5nIGZyb20gaWRsZS4KLQkgKi8KLQl0aW1lcl9keW5fcmVwcm9ncmFtKCk7Ci0KIAlvbWFwMl9zcmFtX2lkbGUoKTsKIAlsb2NhbF9maXFfZW5hYmxlKCk7CiAJbG9jYWxfaXJxX2VuYWJsZSgpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLWNvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLWNvbW1vbi5oCmluZGV4IGNhY2IzNDAuLjU0YzMyZjQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS1jb21tb24uaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20tY29tbW9uLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogCiAvKiBDaGlwLXNwZWNpZmljIG1vZHVsZSBvZmZzZXRzICovCisjZGVmaW5lIE9NQVAyNFhYX0dSX01PRAkJCQkJT0NQX01PRAogI2RlZmluZSBPTUFQMjRYWF9EU1BfTU9ECQkJCTB4ODAwCiAKICNkZWZpbmUgT01BUDI0MzBfTURNX01PRAkJCQkweGMwMApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYwppbmRleCBiMTJmNDIzLi5mZDkyYTgwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYwpAQCAtMTYsMTYgKzE2LDIxIEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKLSNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9wcmNtLmg+CiAKKyNpbmNsdWRlICJjbG9jay5oIgogI2luY2x1ZGUgInBybS5oIgogI2luY2x1ZGUgInBybS1yZWdiaXRzLTI0eHguaCIKIAotZXh0ZXJuIHZvaWQgb21hcDJfY2xrX3ByZXBhcmVfZm9yX3JlYm9vdCh2b2lkKTsKK3N0YXRpYyB2b2lkIF9faW9tZW0gKnBybV9iYXNlOworc3RhdGljIHZvaWQgX19pb21lbSAqY21fYmFzZTsKIAogdTMyIG9tYXBfcHJjbV9nZXRfcmVzZXRfc291cmNlcyh2b2lkKQogeworCS8qIFhYWCBUaGlzIHByZXN1bWFibHkgbmVlZHMgbW9kaWZpY2F0aW9uIGZvciAzNFhYICovCiAJcmV0dXJuIHBybV9yZWFkX21vZF9yZWcoV0tVUF9NT0QsIFJNX1JTVFNUKSAmIDB4N2Y7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfcHJjbV9nZXRfcmVzZXRfc291cmNlcyk7CkBAIC0zMywxMSArMzgsOTAgQEAKIC8qIFJlc2V0cyBjbG9jayByYXRlcyBhbmQgcmVib290cyB0aGUgc3lzdGVtLiBPbmx5IGNhbGxlZCBmcm9tIHN5c3RlbS5oICovCiB2b2lkIG9tYXBfcHJjbV9hcmNoX3Jlc2V0KGNoYXIgbW9kZSkKIHsKLQl1MzIgd2t1cDsKKwlzMTYgcHJjbV9vZmZzOwogCW9tYXAyX2Nsa19wcmVwYXJlX2Zvcl9yZWJvb3QoKTsKIAotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkgewotCQl3a3VwID0gcHJtX3JlYWRfbW9kX3JlZyhXS1VQX01PRCwgUk1fUlNUQ1RSTCkgfCBPTUFQX1JTVF9EUExMMzsKLQkJcHJtX3dyaXRlX21vZF9yZWcod2t1cCwgV0tVUF9NT0QsIFJNX1JTVENUUkwpOwotCX0KKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpCisJCXByY21fb2ZmcyA9IFdLVVBfTU9EOworCWVsc2UgaWYgKGNwdV9pc19vbWFwMzR4eCgpKQorCQlwcmNtX29mZnMgPSBPTUFQMzQzMF9HUl9NT0Q7CisJZWxzZQorCQlXQVJOX09OKDEpOworCisJcHJtX3NldF9tb2RfcmVnX2JpdHMoT01BUF9SU1RfRFBMTDMsIHByY21fb2ZmcywgUk1fUlNUQ1RSTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyIF9fb21hcF9wcmNtX3JlYWQodm9pZCBfX2lvbWVtICpiYXNlLCBzMTYgbW9kdWxlLCB1MTYgcmVnKQoreworCUJVR19PTighYmFzZSk7CisJcmV0dXJuIF9fcmF3X3JlYWRsKGJhc2UgKyBtb2R1bGUgKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX19vbWFwX3ByY21fd3JpdGUodTMyIHZhbHVlLCB2b2lkIF9faW9tZW0gKmJhc2UsCisJCQkJCQlzMTYgbW9kdWxlLCB1MTYgcmVnKQoreworCUJVR19PTighYmFzZSk7CisJX19yYXdfd3JpdGVsKHZhbHVlLCBiYXNlICsgbW9kdWxlICsgcmVnKTsKK30KKworLyogUmVhZCBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZSAqLwordTMyIHBybV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCkKK3sKKwlyZXR1cm4gX19vbWFwX3ByY21fcmVhZChwcm1fYmFzZSwgbW9kdWxlLCBpZHgpOworfQorRVhQT1JUX1NZTUJPTChwcm1fcmVhZF9tb2RfcmVnKTsKKworLyogV3JpdGUgaW50byBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZSAqLwordm9pZCBwcm1fd3JpdGVfbW9kX3JlZyh1MzIgdmFsLCBzMTYgbW9kdWxlLCB1MTYgaWR4KQoreworCV9fb21hcF9wcmNtX3dyaXRlKHZhbCwgcHJtX2Jhc2UsIG1vZHVsZSwgaWR4KTsKK30KK0VYUE9SVF9TWU1CT0wocHJtX3dyaXRlX21vZF9yZWcpOworCisvKiBSZWFkLW1vZGlmeS13cml0ZSBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZS4gQ2FsbGVyIG11c3QgbG9jayAqLwordTMyIHBybV9ybXdfbW9kX3JlZ19iaXRzKHUzMiBtYXNrLCB1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKK3sKKwl1MzIgdjsKKworCXYgPSBwcm1fcmVhZF9tb2RfcmVnKG1vZHVsZSwgaWR4KTsKKwl2ICY9IH5tYXNrOworCXYgfD0gYml0czsKKwlwcm1fd3JpdGVfbW9kX3JlZyh2LCBtb2R1bGUsIGlkeCk7CisKKwlyZXR1cm4gdjsKK30KK0VYUE9SVF9TWU1CT0wocHJtX3Jtd19tb2RfcmVnX2JpdHMpOworCisvKiBSZWFkIGEgcmVnaXN0ZXIgaW4gYSBDTSBtb2R1bGUgKi8KK3UzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCkKK3sKKwlyZXR1cm4gX19vbWFwX3ByY21fcmVhZChjbV9iYXNlLCBtb2R1bGUsIGlkeCk7Cit9CitFWFBPUlRfU1lNQk9MKGNtX3JlYWRfbW9kX3JlZyk7CisKKy8qIFdyaXRlIGludG8gYSByZWdpc3RlciBpbiBhIENNIG1vZHVsZSAqLwordm9pZCBjbV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpCit7CisJX19vbWFwX3ByY21fd3JpdGUodmFsLCBjbV9iYXNlLCBtb2R1bGUsIGlkeCk7Cit9CitFWFBPUlRfU1lNQk9MKGNtX3dyaXRlX21vZF9yZWcpOworCisvKiBSZWFkLW1vZGlmeS13cml0ZSBhIHJlZ2lzdGVyIGluIGEgQ00gbW9kdWxlLiBDYWxsZXIgbXVzdCBsb2NrICovCit1MzIgY21fcm13X21vZF9yZWdfYml0cyh1MzIgbWFzaywgdTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCit7CisJdTMyIHY7CisKKwl2ID0gY21fcmVhZF9tb2RfcmVnKG1vZHVsZSwgaWR4KTsKKwl2ICY9IH5tYXNrOworCXYgfD0gYml0czsKKwljbV93cml0ZV9tb2RfcmVnKHYsIG1vZHVsZSwgaWR4KTsKKworCXJldHVybiB2OworfQorRVhQT1JUX1NZTUJPTChjbV9ybXdfbW9kX3JlZ19iaXRzKTsKKwordm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfcHJjbShzdHJ1Y3Qgb21hcF9nbG9iYWxzICpvbWFwMl9nbG9iYWxzKQoreworCXBybV9iYXNlID0gb21hcDJfZ2xvYmFscy0+cHJtOworCWNtX2Jhc2UgPSBvbWFwMl9nbG9iYWxzLT5jbTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJtLmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL3BybS5oCmluZGV4IDYxOGY4MTEuLmJiZjQxZmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJtLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcm0uaApAQCAtMzgsMTMgKzM4LDI5IEBACiAgKgogICovCiAKKy8qIEdsb2JhbCAyNHh4IHJlZ2lzdGVycyBpbiBHUl9NT0QgKFNhbWUgYXMgT0NQX01PRCBmb3IgMjR4eCkgKi8KKyNkZWZpbmUgT01BUDI0WFhfUFJDTV9WT0xUQ1RSTF9PRkZTRVQJCTB4MDA1MAorI2RlZmluZSBPTUFQMjRYWF9QUkNNX0NMS0NGR19DVFJMX09GRlNFVAkweDAwODAKKworLyogMjQyeCBHUl9NT0QgcmVnaXN0ZXJzLCB1c2UgdGhlc2Ugb25seSBmb3IgYXNzZW1ibHkgY29kZSAqLworI2RlZmluZSBPTUFQMjQyWF9QUkNNX1ZPTFRDVFJMCQlPTUFQMjQyMF9QUk1fUkVHQUREUihPTUFQMjRYWF9HUl9NT0QsCVwKKwkJCQkJCU9NQVAyNFhYX1BSQ01fVk9MVENUUkxfT0ZGU0VUKQorI2RlZmluZSBPTUFQMjQyWF9QUkNNX0NMS0NGR19DVFJMCU9NQVAyNDIwX1BSTV9SRUdBRERSKE9NQVAyNFhYX0dSX01PRCwJXAorCQkJCQkJT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTF9PRkZTRVQpCisKKy8qIDI0M3ggR1JfTU9EIHJlZ2lzdGVycywgdXNlIHRoZXNlIG9ubHkgZm9yIGFzc2VtYmx5IGNvZGUgKi8KKyNkZWZpbmUgT01BUDI0M1hfUFJDTV9WT0xUQ1RSTAkJT01BUDI0MzBfUFJNX1JFR0FERFIoT01BUDI0WFhfR1JfTU9ELAlcCisJCQkJCQlPTUFQMjRYWF9QUkNNX1ZPTFRDVFJMX09GRlNFVCkKKyNkZWZpbmUgT01BUDI0M1hfUFJDTV9DTEtDRkdfQ1RSTAlPTUFQMjQzMF9QUk1fUkVHQUREUihPTUFQMjRYWF9HUl9NT0QsCVwKKwkJCQkJCU9NQVAyNFhYX1BSQ01fQ0xLQ0ZHX0NUUkxfT0ZGU0VUKQorCisvKiBUaGVzZSB3aWxsIGRpc2FwcGVhciAqLwogI2RlZmluZSBPTUFQMjRYWF9QUkNNX1JFVklTSU9OCQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDAwMCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9TWVNDT05GSUcJCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDEwKQogCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fSVJRU1RBVFVTX01QVQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDAxOCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9JUlFFTkFCTEVfTVBVCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDFjKQogCi0jZGVmaW5lIE9NQVAyNFhYX1BSQ01fVk9MVENUUkwJCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDUwKQogI2RlZmluZSBPTUFQMjRYWF9QUkNNX1ZPTFRTVAkJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNTQpCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fQ0xLU1JDX0NUUkwJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNjApCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fQ0xLT1VUX0NUUkwJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNzApCkBAIC0xNTAsMTUgKzE2NiwxOSBAQAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCiAKIC8qIFBvd2VyL3Jlc2V0IG1hbmFnZW1lbnQgZG9tYWluIHJlZ2lzdGVyIGdldC9zZXQgKi8KK2V4dGVybiB1MzIgcHJtX3JlYWRfbW9kX3JlZyhzMTYgbW9kdWxlLCB1MTYgaWR4KTsKK2V4dGVybiB2b2lkIHBybV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpOworZXh0ZXJuIHUzMiBwcm1fcm13X21vZF9yZWdfYml0cyh1MzIgbWFzaywgdTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpOwogCi1zdGF0aWMgaW5saW5lIHZvaWQgcHJtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgczE2IGlkeCkKKy8qIFJlYWQtbW9kaWZ5LXdyaXRlIGJpdHMgaW4gYSBQUk0gcmVnaXN0ZXIgKGJ5IGRvbWFpbikgKi8KK3N0YXRpYyBpbmxpbmUgdTMyIHBybV9zZXRfbW9kX3JlZ19iaXRzKHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQogewotCV9fcmF3X3dyaXRlbCh2YWwsIE9NQVBfUFJNX1JFR0FERFIobW9kdWxlLCBpZHgpKTsKKwlyZXR1cm4gcHJtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgYml0cywgbW9kdWxlLCBpZHgpOwogfQogCi1zdGF0aWMgaW5saW5lIHUzMiBwcm1fcmVhZF9tb2RfcmVnKHMxNiBtb2R1bGUsIHMxNiBpZHgpCitzdGF0aWMgaW5saW5lIHUzMiBwcm1fY2xlYXJfbW9kX3JlZ19iaXRzKHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQogewotCXJldHVybiBfX3Jhd19yZWFkbChPTUFQX1BSTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIHBybV9ybXdfbW9kX3JlZ19iaXRzKGJpdHMsIDB4MCwgbW9kdWxlLCBpZHgpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvc2RyYy5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKaW5kZXggZDdmMjNiYy4uMWIxZmU0ZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKQEAgLTE4LDEzICsxOCwxMSBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL3NkcmMuaD4KIAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCi1leHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMl9zZHJjX2Jhc2U7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMl9zbXNfYmFzZTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKm9tYXAyX3NkcmNfYmFzZTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKm9tYXAyX3Ntc19iYXNlOwogCi0jZGVmaW5lIE9NQVBfU0RSQ19SRUdBRERSKHJlZykJCQkJCQlcCi0JCSh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKG9tYXAyX3NkcmNfYmFzZSArIChyZWcpKQotI2RlZmluZSBPTUFQX1NNU19SRUdBRERSKHJlZykJCQkJCQlcCi0JCSh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKG9tYXAyX3Ntc19iYXNlICsgKHJlZykpCisjZGVmaW5lIE9NQVBfU0RSQ19SRUdBRERSKHJlZykJCQkob21hcDJfc2RyY19iYXNlICsgKHJlZykpCisjZGVmaW5lIE9NQVBfU01TX1JFR0FERFIocmVnKQkJCShvbWFwMl9zbXNfYmFzZSArIChyZWcpKQogCiAvKiBTRFJDIGdsb2JhbCByZWdpc3RlciBnZXQvc2V0ICovCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQyeC5TCnNpbWlsYXJpdHkgaW5kZXggODAlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCnJlbmFtZSB0byBhcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDJ4LlMKaW5kZXggNGE5ZTQ5MS4uNGMyNzQ1MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQyeC5TCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDJ4LlMKICAqCiAgKiBPbWFwMiBzcGVjaWZpYyBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGJlIHJ1biBpbiBpbnRlcm5hbCBTUkFNCiAgKgpAQCAtMjcsMjIgKzI3LDIwIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvaW8uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2luY2x1ZGUgInNkcmMuaCIKICNpbmNsdWRlICJwcm0uaCIKICNpbmNsdWRlICJjbS5oIgotCi0jZGVmaW5lIFRJTUVSXzMyS1NZTkNUX0NSX1YJSU9fQUREUkVTUyhPTUFQMjQyMF8zMktTWU5DVF9CQVNFICsgMHgwMTApCisjaW5jbHVkZSAic2RyYy5oIgogCiAJLnRleHQKIAotRU5UUlkoc3JhbV9kZHJfaW5pdCkKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTIsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAKIAltb3YJcjEyLCByMgkJCUAgY2FwdHVyZSBDUzEgdnMgQ1MwCiAJbW92CXI4LCByMwkJCUAgY2FwdHVyZSBmb3JjZSBwYXJhbWV0ZXIKIAogCS8qIGZyZXF1ZW5jeSBzaGlmdCBkb3duICovCi0JbGRyCXIyLCBjbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIGRwbGxvdXQgcmVnCisJbGRyCXIyLCBvbWFwMjQyeF9zZGlfY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBkcGxsb3V0IHJlZwogCW1vdglyMywgIzB4MQkJQCB2YWx1ZSBmb3IgMXggb3BlcmF0aW9uCiAJc3RyCXIzLCBbcjJdCQlAIGdvIHRvIEwxLWZyZXEgb3BlcmF0aW9uCiAKQEAgLTUxLDcgKzQ5LDcgQEAKIAlibCB2b2x0YWdlX3NoaWZ0CQlAIGdvIGRyb3Agdm9sdGFnZQogCiAJLyogZGxsIGxvY2sgbW9kZSAqLwotCWxkcglyMTEsIHNkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKKwlsZHIJcjExLCBvbWFwMjQyeF9zZGlfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAogCWxkcglyMTAsIFtyMTFdCQlAIGdldCBjdXJyZW50IHZhbAogCWNtcAlyMTIsICMweDEJCUAgY3MxIGJhc2UgKDI0MjIgZXMyLjA1LzEpCiAJYWRkZXEJcjExLCByMTEsICMweDgJCUAgaWYgY3MxIGJhc2UsIG1vdmUgdG8gRExMQgpAQCAtMTAyLDcgKzEwMCw3IEBACiAJICogd2FpdCBmb3IgaXQgdG8gZmluaXNoLCB1c2UgMzJrIHN5bmMgY291bnRlciwgMXRpY2s9MzF1Uy4KIAkgKi8KIHZvbHRhZ2Vfc2hpZnQ6Ci0JbGRyCXI0LCBwcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsLgorCWxkcglyNCwgb21hcDI0Mnhfc2RpX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwuCiAJbGRyCXI1LCBbcjRdCQlAIGdldCB2YWx1ZS4KIAlsZHIJcjYsIHByY21fbWFza192YWwJQCBnZXQgdmFsdWUgb2YgbWFzawogCWFuZAlyNSwgcjUsIHI2CQlAIGFwcGx5IG1hc2sgdG8gY2xlYXIgYml0cwpAQCAtMTEyLDcgKzExMCw3IEBACiAJb3JyCXI1LCByNSwgcjMJCUAgYnVpbGQgdmFsdWUgZm9yIGZvcmNlCiAJc3RyCXI1LCBbcjRdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMywgdGltZXJfMzJrc3luY3RfY3IJQCBnZXQgYWRkciBvZiBjb3VudGVyCisJbGRyCXIzLCBvbWFwMjQyeF9zZGlfdGltZXJfMzJrc3luY3RfY3IJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI1LCBbcjNdCQlAIGdldCB2YWx1ZQogCWFkZAlyNSwgcjUsICMweDMJCUAgZ2l2ZSBpdCBhdCBtb3N0IDkzdVMKIHZvbHRfZGVsYXk6CkBAIC0xMjEsMzIgKzExOSwzMSBAQAogCWJoaQl2b2x0X2RlbGF5CQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyLgogCi0vKiByZWxhdGl2ZSBsb2FkIGNvbnN0YW50cyAqLwotY21fY2xrc2VsMl9wbGw6CitvbWFwMjQyeF9zZGlfY21fY2xrc2VsMl9wbGw6CiAJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQotc2RyY19kbGxhX2N0cmw6CitvbWFwMjQyeF9zZGlfc2RyY19kbGxhX2N0cmw6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotcHJjbV92b2x0Y3RybDoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDUwKQorb21hcDI0Mnhfc2RpX3ByY21fdm9sdGN0cmw6CisJLndvcmQgT01BUDI0MlhfUFJDTV9WT0xUQ1RSTAogcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi10aW1lcl8zMmtzeW5jdF9jcjoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCi1FTlRSWShzcmFtX2Rkcl9pbml0X3N6KQotCS53b3JkCS4gLSBzcmFtX2Rkcl9pbml0CitvbWFwMjQyeF9zZGlfdGltZXJfMzJrc3luY3RfY3I6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCitFTlRSWShvbWFwMjQyeF9zcmFtX2Rkcl9pbml0X3N6KQorCS53b3JkCS4gLSBvbWFwMjQyeF9zcmFtX2Rkcl9pbml0CiAKIC8qCiAgKiBSZXByb2dyYW1zIG1lbW9yeSB0aW1pbmdzLgogICogcjAgPSBbUFJDTV9GVUxMIHwgUFJDTV9IQUxGXSByMSA9IFNEUkNfRExMQV9DVFJMIHZhbHVlIHIyID0gW0REUiB8IFNEUl0KICAqIFBSQ01fRlVMTCA9IDIsIFBSQ01fSEFMRiA9IDEsIEREUiA9IDEsIFNEUiA9IDAKICAqLwotRU5UUlkoc3JhbV9yZXByb2dyYW1fc2RyYykKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmMpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTAsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAJbW92CXIzLCAjMHgwCQlAIGNsZWFyIGZvciBtcmMgY2FsbAogCW1jcglwMTUsIDAsIHIzLCBjNywgYzEwLCA0CUAgbWVtb3J5IGJhcnJpZXIsIGZpbmlzaCBBUk0gU0RSL0REUgogCW5vcAogCW5vcAotCWxkcglyNiwgZGRyX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZworCWxkcglyNiwgb21hcDI0Mnhfc3JzX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZwogCWxkcglyNSwgW3I2XQkJQCBnZXQgdmFsdWUKIAltb3YJcjUsIHI1LCBsc3IgIzgJCUAgaXNvbGF0ZSByZnIgZmllbGQgYW5kIGRyb3AgYnVyc3QKIApAQCAtMTYwLDcgKzE1Nyw3IEBACiAJbW92bmUJcjUsIHI1LCBsc2wgIzEJCUAgbXVsdCBieSAyIGlmIHRvIGZ1bGwKIAltb3YJcjUsIHI1LCBsc2wgIzgJCUAgcHV0IHJmciBmaWVsZCBiYWNrIGludG8gcGxhY2UKIAlhZGQJcjUsIHI1LCAjMHgxCQlAIHR1cm4gb24gYnVyc3Qgb2YgMQotCWxkcglyNCwgZGRyX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZworCWxkcglyNCwgb21hcDI0Mnhfc3JzX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZwogCWxkcglyMywgW3I0XQkJQCBnZXQgY3VyciB2YWx1ZQogCW9ycglyMywgcjMsICMweDMKIAliaWMJcjMsIHIzLCAjMHgzCQlAIGNsZWFyIGxvd2VyIGJpdHMKQEAgLTE4MSw3ICsxNzgsNyBAQAogCWJuZQlmcmVxX291dAkJQCBsZWF2ZSBpZiBTRFIsIG5vIERMTCBmdW5jdGlvbgogCiAJLyogV2l0aCBERFIsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIHRoZSBETEwgZm9yIHRoZSBmcmVxdWVuY3kgY2hhbmdlICovCi0JbGRyCXIyLCBkZHJfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAorCWxkcglyMiwgb21hcDI0Mnhfc3JzX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlzdHIJcjEsIFtyMl0JCUAgd3JpdGUgb3V0IG5ldyBTRFJDX0RMTEFfQ1RSTAogCWFkZAlyMiwgcjIsICMweDgJCUAgYWRkciB0byBTRFJDX0RMTEJfQ1RSTAogCXN0cglyMSwgW3IyXQkJQCBjb21taXQgdG8gU0RSQ19ETExCX0NUUkwKQEAgLTE5Nyw3ICsxOTQsNyBAQAogICAgICAqCXdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAgICAgICovCiB2b2x0YWdlX3NoaWZ0X2M6Ci0JbGRyCXIxMCwgZGRyX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwKKwlsZHIJcjEwLCBvbWFwMjQyeF9zcnNfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybAogCWxkcglyOCwgW3IxMF0JCUAgZ2V0IHZhbHVlCiAJbGRyCXI3LCBkZHJfcHJjbV9tYXNrX3ZhbAlAIGdldCB2YWx1ZSBvZiBtYXNrCiAJYW5kCXI4LCByOCwgcjcJCUAgYXBwbHkgbWFzayB0byBjbGVhciBiaXRzCkBAIC0yMDcsNyArMjA0LDcgQEAKIAlvcnIJcjgsIHI4LCByNwkJQCBidWlsZCB2YWx1ZSBmb3IgZm9yY2UKIAlzdHIJcjgsIFtyMTBdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMTAsIGRkcl90aW1lcl8zMmtzeW5jdAlAIGdldCBhZGRyIG9mIGNvdW50ZXIKKwlsZHIJcjEwLCBvbWFwMjQyeF9zcnNfdGltZXJfMzJrc3luY3QJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI4LCBbcjEwXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjgsIHI4LCAjMHgyCQlAIGdpdmUgaXQgYXQgbW9zdCA2MnVTIChtaW4gMzErKQogdm9sdF9kZWxheV9jOgpAQCAtMjE2LDM5ICsyMTMsMzkgQEAKIAliaGkJdm9sdF9kZWxheV9jCQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyCiAKLWRkcl9jbV9jbGtzZWwyX3BsbDoKK29tYXAyNDJ4X3Nyc19jbV9jbGtzZWwyX3BsbDoKIAkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCi1kZHJfc2RyY19kbGxhX2N0cmw6CitvbWFwMjQyeF9zcnNfc2RyY19kbGxhX2N0cmw6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotZGRyX3NkcmNfcmZyX2N0cmw6CitvbWFwMjQyeF9zcnNfc2RyY19yZnJfY3RybDoKIAkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQotZGRyX3ByY21fdm9sdGN0cmw6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg1MCkKK29tYXAyNDJ4X3Nyc19wcmNtX3ZvbHRjdHJsOgorCS53b3JkIE9NQVAyNDJYX1BSQ01fVk9MVENUUkwKIGRkcl9wcmNtX21hc2tfdmFsOgogCS53b3JkIDB4RkZGRjNGRkMKLWRkcl90aW1lcl8zMmtzeW5jdDoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCitvbWFwMjQyeF9zcnNfdGltZXJfMzJrc3luY3Q6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCiAKLUVOVFJZKHNyYW1fcmVwcm9ncmFtX3NkcmNfc3opCi0JLndvcmQJLiAtIHNyYW1fcmVwcm9ncmFtX3NkcmMKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3opCisJLndvcmQJLiAtIG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmMKIAogLyoKICAqIFNldCBkaXZpZGVycyBhbmQgcGxsLiBBbHNvIHJlY2FsY3VsYXRlIERMTCB2YWx1ZSBmb3IgRERSIGFuZCB1bmxvY2sgbW9kZS4KICAqLwotRU5UUlkoc3JhbV9zZXRfcHJjbSkKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fc2V0X3ByY20pCiAJc3RtZmQJc3AhLCB7cjAtcjEyLCBscn0JQCByZWdzIHRvIHN0YWNrCiAJYWRyCXI0LCBwYmVnaW4JCUAgYWRkciBvZiBwcmVsb2FkIHN0YXJ0CiAJYWRyCXI4LCBwZW5kCQlAIGFkZHIgb2YgcHJlbG9hZCBlbmQKIAltY3JyCXAxNSwgMSwgcjgsIHI0LCBjMTIJQCBwcmVsb2FkIGludG8gaWNhY2hlCiBwYmVnaW46CiAJLyogbW92ZSBpbnRvIGZhc3QgcmVsb2NrIGJ5cGFzcyAqLwotCWxkcglyOCwgcGxsX2N0bAkJQCBnZXQgYWRkcgorCWxkcglyOCwgb21hcDI0Mnhfc3NwX3BsbF9jdGwJQCBnZXQgYWRkcgogCWxkcglyNSwgW3I4XQkJQCBnZXQgdmFsCiAJbXZuCXI2LCAjMHgzCQlAIGNsZWFyIG1hc2sKIAlhbmQJcjUsIHI1LCByNgkJQCBjbGVhciBmaWVsZAogCW9ycglyNywgcjUsICMweDIJCUAgZmFzdCByZWxvY2sgdmFsCiAJc3RyCXI3LCBbcjhdCQlAIGdvIHRvIGZhc3QgcmVsb2NrCi0JbGRyCXI0LCBwbGxfc3RhdAkJQCBhZGRyIG9mIHN0YXQKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9wbGxfc3RhdAlAIGFkZHIgb2Ygc3RhdAogYmxvY2s6CiAJLyogd2FpdCBmb3IgYnlwYXNzICovCiAJbGRyCXI4LCBbcjRdCQlAIHN0YXQgdmFsdWUKQEAgLTI1NywxMCArMjU0LDEwIEBACiAJYm5lCWJsb2NrCQkJQCBsb29wIGlmIG5vdAogCiAJLyogc2V0IG5ldyBkcGxsIGRpdmlkZXJzIF9hZnRlcl8gaW4gYnlwYXNzICovCi0JbGRyCXI0LCBwbGxfZGl2CQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQyeF9zc3BfcGxsX2RpdglAIGdldCBhZGRyCiAJc3RyCXIwLCBbcjRdCQlAIHNldCBkcGxsIGN0cmwgdmFsCiAKLQlsZHIJcjQsIHNldF9jb25maWcJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9zZXRfY29uZmlnCUAgZ2V0IGFkZHIKIAltb3YJcjgsICMxCQkJQCB2YWxpZCBjZmcgbXNrCiAJc3RyCXI4LCBbcjRdCQlAIG1ha2UgZGl2aWRlcnMgdGFrZQogCkBAIC0yNzQsOCArMjcxLDggQEAKIAliZXEJcGVuZAkJCUAganVtcCBvdmVyIGRwbGwgcmVsb2NrCiAKIAkvKiByZWxvY2sgRFBMTCB3aXRoIG5ldyB2YWxzICovCi0JbGRyCXI1LCBwbGxfc3RhdAkJQCBnZXQgYWRkcgotCWxkcglyNCwgcGxsX2N0bAkJQCBnZXQgYWRkcgorCWxkcglyNSwgb21hcDI0Mnhfc3NwX3BsbF9zdGF0CUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9wbGxfY3RsCUAgZ2V0IGFkZHIKIAlvcnIJcjgsIHI3LCAjMHgzCQlAIHZhbCBmb3IgbG9jayBkcGxsCiAJc3RyCXI4LCBbcjRdCQlAIHNldCB2YWwKIAltb3YJcjAsICMxMDAwCQlAIGRlYWQgc3BpbiBhIGJpdApAQCAtMjg5LDkgKzI4Niw5IEBACiAJYm5lCXdhaXRfbG9jawkJQCB3YWl0IGlmIG5vdAogcGVuZDoKIAkvKiB1cGRhdGUgbWVtb3J5IHRpbWluZ3MgJiBicmllZmx5IGxvY2sgZGxsICovCi0JbGRyCXI0LCBzZHJjX3JmcgkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0Mnhfc3NwX3NkcmNfcmZyCUAgZ2V0IGFkZHIKIAlzdHIJcjEsIFtyNF0JCUAgdXBkYXRlIHJlZnJlc2ggdGltaW5nCi0JbGRyCXIxMSwgZGxsYV9jdHJsCQlAIGdldCBhZGRyIG9mIERMTEEgY3RybAorCWxkcglyMTEsIG9tYXAyNDJ4X3NzcF9kbGxhX2N0cmwJQCBnZXQgYWRkciBvZiBETExBIGN0cmwKIAlsZHIJcjEwLCBbcjExXQkJQCBnZXQgY3VycmVudCB2YWwKIAltdm4JcjksICMweDQJCUAgbWFzayB0byBnZXQgY2xlYXIgYml0MgogCWFuZAlyMTAsIHIxMCwgcjkJCUAgY2xlYXIgYml0MiBmb3IgbG9jayBtb2RlCkBAIC0zMDcsMTggKzMwNCwxOCBAQAogCW5vcAogCWxkbWZkCXNwISwge3IwLXIxMiwgcGN9CUAgcmVzdG9yZSByZWdzIGFuZCByZXR1cm4KIAotc2V0X2NvbmZpZzoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDgwKQotcGxsX2N0bDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0ZDTEtFTjEpCi1wbGxfc3RhdDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVDEpCi1wbGxfZGl2OgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMKQotc2RyY19yZnI6CitvbWFwMjQyeF9zc3Bfc2V0X2NvbmZpZzoKKwkud29yZCBPTUFQMjQyWF9QUkNNX0NMS0NGR19DVFJMCitvbWFwMjQyeF9zc3BfcGxsX2N0bDoKKwkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS0VOKQorb21hcDI0Mnhfc3NwX3BsbF9zdGF0OgorCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKQorb21hcDI0Mnhfc3NwX3BsbF9kaXY6CisJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwxKQorb21hcDI0Mnhfc3NwX3NkcmNfcmZyOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCi1kbGxhX2N0cmw6CitvbWFwMjQyeF9zc3BfZGxsYV9jdHJsOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKIAotRU5UUlkoc3JhbV9zZXRfcHJjbV9zeikKLQkud29yZAkuIC0gc3JhbV9zZXRfcHJjbQorRU5UUlkob21hcDI0Mnhfc3JhbV9zZXRfcHJjbV9zeikKKwkud29yZAkuIC0gb21hcDI0Mnhfc3JhbV9zZXRfcHJjbQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDN4LlMKc2ltaWxhcml0eSBpbmRleCA3NyUKY29weSBmcm9tIGFyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCmNvcHkgdG8gYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQzeC5TCmluZGV4IDRhOWU0OTEuLmEzZmE0OGQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0M3guUwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUworICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQzeC5TCiAgKgogICogT21hcDIgc3BlY2lmaWMgZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSBydW4gaW4gaW50ZXJuYWwgU1JBTQogICoKQEAgLTI3LDIyICsyNywyMCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNpbmNsdWRlICJzZHJjLmgiCiAjaW5jbHVkZSAicHJtLmgiCiAjaW5jbHVkZSAiY20uaCIKLQotI2RlZmluZSBUSU1FUl8zMktTWU5DVF9DUl9WCUlPX0FERFJFU1MoT01BUDI0MjBfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQorI2luY2x1ZGUgInNkcmMuaCIKIAogCS50ZXh0CiAKLUVOVFJZKHNyYW1fZGRyX2luaXQpCitFTlRSWShvbWFwMjQzeF9zcmFtX2Rkcl9pbml0KQogCXN0bWZkCXNwISwge3IwIC0gcjEyLCBscn0JQCBzYXZlIHJlZ2lzdGVycyBvbiBzdGFjawogCiAJbW92CXIxMiwgcjIJCQlAIGNhcHR1cmUgQ1MxIHZzIENTMAogCW1vdglyOCwgcjMJCQlAIGNhcHR1cmUgZm9yY2UgcGFyYW1ldGVyCiAKIAkvKiBmcmVxdWVuY3kgc2hpZnQgZG93biAqLwotCWxkcglyMiwgY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBkcGxsb3V0IHJlZworCWxkcglyMiwgb21hcDI0M3hfc2RpX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2YgZHBsbG91dCByZWcKIAltb3YJcjMsICMweDEJCUAgdmFsdWUgZm9yIDF4IG9wZXJhdGlvbgogCXN0cglyMywgW3IyXQkJQCBnbyB0byBMMS1mcmVxIG9wZXJhdGlvbgogCkBAIC01MSw3ICs0OSw3IEBACiAJYmwgdm9sdGFnZV9zaGlmdAkJQCBnbyBkcm9wIHZvbHRhZ2UKIAogCS8qIGRsbCBsb2NrIG1vZGUgKi8KLQlsZHIJcjExLCBzZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCisJbGRyCXIxMSwgb21hcDI0M3hfc2RpX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlsZHIJcjEwLCBbcjExXQkJQCBnZXQgY3VycmVudCB2YWwKIAljbXAJcjEyLCAjMHgxCQlAIGNzMSBiYXNlICgyNDIyIGVzMi4wNS8xKQogCWFkZGVxCXIxMSwgcjExLCAjMHg4CQlAIGlmIGNzMSBiYXNlLCBtb3ZlIHRvIERMTEIKQEAgLTEwMiw3ICsxMDAsNyBAQAogCSAqIHdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAJICovCiB2b2x0YWdlX3NoaWZ0OgotCWxkcglyNCwgcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybC4KKwlsZHIJcjQsIG9tYXAyNDN4X3NkaV9wcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsLgogCWxkcglyNSwgW3I0XQkJQCBnZXQgdmFsdWUuCiAJbGRyCXI2LCBwcmNtX21hc2tfdmFsCUAgZ2V0IHZhbHVlIG9mIG1hc2sKIAlhbmQJcjUsIHI1LCByNgkJQCBhcHBseSBtYXNrIHRvIGNsZWFyIGJpdHMKQEAgLTExMiw3ICsxMTAsNyBAQAogCW9ycglyNSwgcjUsIHIzCQlAIGJ1aWxkIHZhbHVlIGZvciBmb3JjZQogCXN0cglyNSwgW3I0XQkJQCBGb3JjZSB0cmFuc2l0aW9uIHRvIEwxCiAKLQlsZHIJcjMsIHRpbWVyXzMya3N5bmN0X2NyCUAgZ2V0IGFkZHIgb2YgY291bnRlcgorCWxkcglyMywgb21hcDI0M3hfc2RpX3RpbWVyXzMya3N5bmN0X2NyCUAgZ2V0IGFkZHIgb2YgY291bnRlcgogCWxkcglyNSwgW3IzXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjUsIHI1LCAjMHgzCQlAIGdpdmUgaXQgYXQgbW9zdCA5M3VTCiB2b2x0X2RlbGF5OgpAQCAtMTIxLDMyICsxMTksMzEgQEAKIAliaGkJdm9sdF9kZWxheQkJQCBub3QgeWV0LT5icmFuY2gKIAltb3YJcGMsIGxyCQkJQCBiYWNrIHRvIGNhbGxlci4KIAotLyogcmVsYXRpdmUgbG9hZCBjb25zdGFudHMgKi8KLWNtX2Nsa3NlbDJfcGxsOgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMikKLXNkcmNfZGxsYV9jdHJsOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKLXByY21fdm9sdGN0cmw6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg1MCkKK29tYXAyNDN4X3NkaV9jbV9jbGtzZWwyX3BsbDoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCitvbWFwMjQzeF9zZGlfc2RyY19kbGxhX2N0cmw6CisJLndvcmQgT01BUDI0M1hfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQorb21hcDI0M3hfc2RpX3ByY21fdm9sdGN0cmw6CisJLndvcmQgT01BUDI0M1hfUFJDTV9WT0xUQ1RSTAogcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi10aW1lcl8zMmtzeW5jdF9jcjoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCi1FTlRSWShzcmFtX2Rkcl9pbml0X3N6KQotCS53b3JkCS4gLSBzcmFtX2Rkcl9pbml0CitvbWFwMjQzeF9zZGlfdGltZXJfMzJrc3luY3RfY3I6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCitFTlRSWShvbWFwMjQzeF9zcmFtX2Rkcl9pbml0X3N6KQorCS53b3JkCS4gLSBvbWFwMjQzeF9zcmFtX2Rkcl9pbml0CiAKIC8qCiAgKiBSZXByb2dyYW1zIG1lbW9yeSB0aW1pbmdzLgogICogcjAgPSBbUFJDTV9GVUxMIHwgUFJDTV9IQUxGXSByMSA9IFNEUkNfRExMQV9DVFJMIHZhbHVlIHIyID0gW0REUiB8IFNEUl0KICAqIFBSQ01fRlVMTCA9IDIsIFBSQ01fSEFMRiA9IDEsIEREUiA9IDEsIFNEUiA9IDAKICAqLwotRU5UUlkoc3JhbV9yZXByb2dyYW1fc2RyYykKK0VOVFJZKG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmMpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTAsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAJbW92CXIzLCAjMHgwCQlAIGNsZWFyIGZvciBtcmMgY2FsbAogCW1jcglwMTUsIDAsIHIzLCBjNywgYzEwLCA0CUAgbWVtb3J5IGJhcnJpZXIsIGZpbmlzaCBBUk0gU0RSL0REUgogCW5vcAogCW5vcAotCWxkcglyNiwgZGRyX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZworCWxkcglyNiwgb21hcDI0M3hfc3JzX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZwogCWxkcglyNSwgW3I2XQkJQCBnZXQgdmFsdWUKIAltb3YJcjUsIHI1LCBsc3IgIzgJCUAgaXNvbGF0ZSByZnIgZmllbGQgYW5kIGRyb3AgYnVyc3QKIApAQCAtMTYwLDcgKzE1Nyw3IEBACiAJbW92bmUJcjUsIHI1LCBsc2wgIzEJCUAgbXVsdCBieSAyIGlmIHRvIGZ1bGwKIAltb3YJcjUsIHI1LCBsc2wgIzgJCUAgcHV0IHJmciBmaWVsZCBiYWNrIGludG8gcGxhY2UKIAlhZGQJcjUsIHI1LCAjMHgxCQlAIHR1cm4gb24gYnVyc3Qgb2YgMQotCWxkcglyNCwgZGRyX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZworCWxkcglyNCwgb21hcDI0M3hfc3JzX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZwogCWxkcglyMywgW3I0XQkJQCBnZXQgY3VyciB2YWx1ZQogCW9ycglyMywgcjMsICMweDMKIAliaWMJcjMsIHIzLCAjMHgzCQlAIGNsZWFyIGxvd2VyIGJpdHMKQEAgLTE4MSw3ICsxNzgsNyBAQAogCWJuZQlmcmVxX291dAkJQCBsZWF2ZSBpZiBTRFIsIG5vIERMTCBmdW5jdGlvbgogCiAJLyogV2l0aCBERFIsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIHRoZSBETEwgZm9yIHRoZSBmcmVxdWVuY3kgY2hhbmdlICovCi0JbGRyCXIyLCBkZHJfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAorCWxkcglyMiwgb21hcDI0M3hfc3JzX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlzdHIJcjEsIFtyMl0JCUAgd3JpdGUgb3V0IG5ldyBTRFJDX0RMTEFfQ1RSTAogCWFkZAlyMiwgcjIsICMweDgJCUAgYWRkciB0byBTRFJDX0RMTEJfQ1RSTAogCXN0cglyMSwgW3IyXQkJQCBjb21taXQgdG8gU0RSQ19ETExCX0NUUkwKQEAgLTE5Nyw3ICsxOTQsNyBAQAogICAgICAqCXdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAgICAgICovCiB2b2x0YWdlX3NoaWZ0X2M6Ci0JbGRyCXIxMCwgZGRyX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwKKwlsZHIJcjEwLCBvbWFwMjQzeF9zcnNfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybAogCWxkcglyOCwgW3IxMF0JCUAgZ2V0IHZhbHVlCiAJbGRyCXI3LCBkZHJfcHJjbV9tYXNrX3ZhbAlAIGdldCB2YWx1ZSBvZiBtYXNrCiAJYW5kCXI4LCByOCwgcjcJCUAgYXBwbHkgbWFzayB0byBjbGVhciBiaXRzCkBAIC0yMDcsNyArMjA0LDcgQEAKIAlvcnIJcjgsIHI4LCByNwkJQCBidWlsZCB2YWx1ZSBmb3IgZm9yY2UKIAlzdHIJcjgsIFtyMTBdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMTAsIGRkcl90aW1lcl8zMmtzeW5jdAlAIGdldCBhZGRyIG9mIGNvdW50ZXIKKwlsZHIJcjEwLCBvbWFwMjQzeF9zcnNfdGltZXJfMzJrc3luY3QJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI4LCBbcjEwXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjgsIHI4LCAjMHgyCQlAIGdpdmUgaXQgYXQgbW9zdCA2MnVTIChtaW4gMzErKQogdm9sdF9kZWxheV9jOgpAQCAtMjE2LDM5ICsyMTMsMzkgQEAKIAliaGkJdm9sdF9kZWxheV9jCQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyCiAKLWRkcl9jbV9jbGtzZWwyX3BsbDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCi1kZHJfc2RyY19kbGxhX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotZGRyX3NkcmNfcmZyX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfUkZSX0NUUkxfMCkKLWRkcl9wcmNtX3ZvbHRjdHJsOgotCS53b3JkIE9NQVAyNDIwX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4NTApCitvbWFwMjQzeF9zcnNfY21fY2xrc2VsMl9wbGw6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQorb21hcDI0M3hfc3JzX3NkcmNfZGxsYV9jdHJsOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKK29tYXAyNDN4X3Nyc19zZHJjX3Jmcl9jdHJsOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCitvbWFwMjQzeF9zcnNfcHJjbV92b2x0Y3RybDoKKwkud29yZCBPTUFQMjQzWF9QUkNNX1ZPTFRDVFJMCiBkZHJfcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi1kZHJfdGltZXJfMzJrc3luY3Q6Ci0JLndvcmQgVElNRVJfMzJLU1lOQ1RfQ1JfVgorb21hcDI0M3hfc3JzX3RpbWVyXzMya3N5bmN0OgorCS53b3JkIElPX0FERFJFU1MoT01BUDJfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQogCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KQotCS53b3JkCS4gLSBzcmFtX3JlcHJvZ3JhbV9zZHJjCitFTlRSWShvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KQorCS53b3JkCS4gLSBvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjCiAKIC8qCiAgKiBTZXQgZGl2aWRlcnMgYW5kIHBsbC4gQWxzbyByZWNhbGN1bGF0ZSBETEwgdmFsdWUgZm9yIEREUiBhbmQgdW5sb2NrIG1vZGUuCiAgKi8KLUVOVFJZKHNyYW1fc2V0X3ByY20pCitFTlRSWShvbWFwMjQzeF9zcmFtX3NldF9wcmNtKQogCXN0bWZkCXNwISwge3IwLXIxMiwgbHJ9CUAgcmVncyB0byBzdGFjawogCWFkcglyNCwgcGJlZ2luCQlAIGFkZHIgb2YgcHJlbG9hZCBzdGFydAogCWFkcglyOCwgcGVuZAkJQCBhZGRyIG9mIHByZWxvYWQgZW5kCiAJbWNycglwMTUsIDEsIHI4LCByNCwgYzEyCUAgcHJlbG9hZCBpbnRvIGljYWNoZQogcGJlZ2luOgogCS8qIG1vdmUgaW50byBmYXN0IHJlbG9jayBieXBhc3MgKi8KLQlsZHIJcjgsIHBsbF9jdGwJCUAgZ2V0IGFkZHIKKwlsZHIJcjgsIG9tYXAyNDN4X3NzcF9wbGxfY3RsCUAgZ2V0IGFkZHIKIAlsZHIJcjUsIFtyOF0JCUAgZ2V0IHZhbAogCW12bglyNiwgIzB4MwkJQCBjbGVhciBtYXNrCiAJYW5kCXI1LCByNSwgcjYJCUAgY2xlYXIgZmllbGQKIAlvcnIJcjcsIHI1LCAjMHgyCQlAIGZhc3QgcmVsb2NrIHZhbAogCXN0cglyNywgW3I4XQkJQCBnbyB0byBmYXN0IHJlbG9jawotCWxkcglyNCwgcGxsX3N0YXQJCUAgYWRkciBvZiBzdGF0CisJbGRyCXI0LCBvbWFwMjQzeF9zc3BfcGxsX3N0YXQJQCBhZGRyIG9mIHN0YXQKIGJsb2NrOgogCS8qIHdhaXQgZm9yIGJ5cGFzcyAqLwogCWxkcglyOCwgW3I0XQkJQCBzdGF0IHZhbHVlCkBAIC0yNTcsMTAgKzI1NCwxMCBAQAogCWJuZQlibG9jawkJCUAgbG9vcCBpZiBub3QKIAogCS8qIHNldCBuZXcgZHBsbCBkaXZpZGVycyBfYWZ0ZXJfIGluIGJ5cGFzcyAqLwotCWxkcglyNCwgcGxsX2RpdgkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0M3hfc3NwX3BsbF9kaXYJQCBnZXQgYWRkcgogCXN0cglyMCwgW3I0XQkJQCBzZXQgZHBsbCBjdHJsIHZhbAogCi0JbGRyCXI0LCBzZXRfY29uZmlnCQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQzeF9zc3Bfc2V0X2NvbmZpZwlAIGdldCBhZGRyCiAJbW92CXI4LCAjMQkJCUAgdmFsaWQgY2ZnIG1zawogCXN0cglyOCwgW3I0XQkJQCBtYWtlIGRpdmlkZXJzIHRha2UKIApAQCAtMjc0LDggKzI3MSw4IEBACiAJYmVxCXBlbmQJCQlAIGp1bXAgb3ZlciBkcGxsIHJlbG9jawogCiAJLyogcmVsb2NrIERQTEwgd2l0aCBuZXcgdmFscyAqLwotCWxkcglyNSwgcGxsX3N0YXQJCUAgZ2V0IGFkZHIKLQlsZHIJcjQsIHBsbF9jdGwJCUAgZ2V0IGFkZHIKKwlsZHIJcjUsIG9tYXAyNDN4X3NzcF9wbGxfc3RhdAlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQzeF9zc3BfcGxsX2N0bAlAIGdldCBhZGRyCiAJb3JyCXI4LCByNywgIzB4MwkJQCB2YWwgZm9yIGxvY2sgZHBsbAogCXN0cglyOCwgW3I0XQkJQCBzZXQgdmFsCiAJbW92CXIwLCAjMTAwMAkJQCBkZWFkIHNwaW4gYSBiaXQKQEAgLTI4OSw5ICsyODYsOSBAQAogCWJuZQl3YWl0X2xvY2sJCUAgd2FpdCBpZiBub3QKIHBlbmQ6CiAJLyogdXBkYXRlIG1lbW9yeSB0aW1pbmdzICYgYnJpZWZseSBsb2NrIGRsbCAqLwotCWxkcglyNCwgc2RyY19yZnIJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDN4X3NzcF9zZHJjX3JmcglAIGdldCBhZGRyCiAJc3RyCXIxLCBbcjRdCQlAIHVwZGF0ZSByZWZyZXNoIHRpbWluZwotCWxkcglyMTEsIGRsbGFfY3RybAkJQCBnZXQgYWRkciBvZiBETExBIGN0cmwKKwlsZHIJcjExLCBvbWFwMjQzeF9zc3BfZGxsYV9jdHJsCUAgZ2V0IGFkZHIgb2YgRExMQSBjdHJsCiAJbGRyCXIxMCwgW3IxMV0JCUAgZ2V0IGN1cnJlbnQgdmFsCiAJbXZuCXI5LCAjMHg0CQlAIG1hc2sgdG8gZ2V0IGNsZWFyIGJpdDIKIAlhbmQJcjEwLCByMTAsIHI5CQlAIGNsZWFyIGJpdDIgZm9yIGxvY2sgbW9kZQpAQCAtMzA3LDE4ICszMDQsMTggQEAKIAlub3AKIAlsZG1mZAlzcCEsIHtyMC1yMTIsIHBjfQlAIHJlc3RvcmUgcmVncyBhbmQgcmV0dXJuCiAKLXNldF9jb25maWc6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg4MCkKLXBsbF9jdGw6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9GQ0xLRU4xKQotcGxsX3N0YXQ6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QxKQotcGxsX2RpdjoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTCkKLXNkcmNfcmZyOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCi1kbGxhX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQorb21hcDI0M3hfc3NwX3NldF9jb25maWc6CisJLndvcmQgT01BUDI0M1hfUFJDTV9DTEtDRkdfQ1RSTAorb21hcDI0M3hfc3NwX3BsbF9jdGw6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtFTikKK29tYXAyNDN4X3NzcF9wbGxfc3RhdDoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCkKK29tYXAyNDN4X3NzcF9wbGxfZGl2OgorCS53b3JkIE9NQVAyNDMwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMSkKK29tYXAyNDN4X3NzcF9zZHJjX3JmcjoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQorb21hcDI0M3hfc3NwX2RsbGFfY3RybDoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCiAKLUVOVFJZKHNyYW1fc2V0X3ByY21fc3opCi0JLndvcmQJLiAtIHNyYW1fc2V0X3ByY20KK0VOVFJZKG9tYXAyNDN4X3NyYW1fc2V0X3ByY21fc3opCisJLndvcmQJLiAtIG9tYXAyNDN4X3NyYW1fc2V0X3ByY20KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYwppbmRleCA3OGQwNWYyLi41NTc2MDNmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3RpbWVyLWdwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi90aW1lci1ncC5jCkBAIC01OSw4ICs1OSw3IEBACiBzdGF0aWMgaW50IG9tYXAyX2dwX3RpbWVyX3NldF9uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgY3ljbGVzLAogCQkJCQkgc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqZXZ0KQogewotCW9tYXBfZG1fdGltZXJfc2V0X2xvYWQoZ3B0aW1lciwgMCwgMHhmZmZmZmZmZiAtIGN5Y2xlcyk7Ci0Jb21hcF9kbV90aW1lcl9zdGFydChncHRpbWVyKTsKKwlvbWFwX2RtX3RpbWVyX3NldF9sb2FkX3N0YXJ0KGdwdGltZXIsIDAsIDB4ZmZmZmZmZmYgLSBjeWNsZXMpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC03Nyw4ICs3Niw3IEBACiAJCXBlcmlvZCA9IGNsa19nZXRfcmF0ZShvbWFwX2RtX3RpbWVyX2dldF9mY2xrKGdwdGltZXIpKSAvIEhaOwogCQlwZXJpb2QgLT0gMTsKIAotCQlvbWFwX2RtX3RpbWVyX3NldF9sb2FkKGdwdGltZXIsIDEsIDB4ZmZmZmZmZmYgLSBwZXJpb2QpOwotCQlvbWFwX2RtX3RpbWVyX3N0YXJ0KGdwdGltZXIpOworCQlvbWFwX2RtX3RpbWVyX3NldF9sb2FkX3N0YXJ0KGdwdGltZXIsIDEsIDB4ZmZmZmZmZmYgLSBwZXJpb2QpOwogCQlicmVhazsKIAljYXNlIENMT0NLX0VWVF9NT0RFX09ORVNIT1Q6CiAJCWJyZWFrOwpAQCAtMTcyLDggKzE3MCw3IEBACiAJdGlja19yYXRlID0gY2xrX2dldF9yYXRlKG9tYXBfZG1fdGltZXJfZ2V0X2ZjbGsoZ3B0KSk7CiAJdGlja19wZXJpb2QgPSAodGlja19yYXRlIC8gSFopIC0gMTsKIAotCW9tYXBfZG1fdGltZXJfc2V0X2xvYWQoZ3B0LCAxLCAwKTsKLQlvbWFwX2RtX3RpbWVyX3N0YXJ0KGdwdCk7CisJb21hcF9kbV90aW1lcl9zZXRfbG9hZF9zdGFydChncHQsIDEsIDApOwogCiAJY2xvY2tzb3VyY2VfZ3B0Lm11bHQgPQogCQljbG9ja3NvdXJjZV9raHoybXVsdCh0aWNrX3JhdGUvMTAwMCwgY2xvY2tzb3VyY2VfZ3B0LnNoaWZ0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKaW5kZXggOTNkZWJmMy4uZGRjZDQxYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKQEAgLTQ0LDYgKzQ0LDU0IEBACiAJICBCdWZmYWxvIExpbmtzdGF0aW9uIFByby9MaXZlIHBsYXRmb3JtLiBCb3RoIHYxIGFuZAogCSAgdjIgZGV2aWNlcyBhcmUgc3VwcG9ydGVkLgogCitjb25maWcgTUFDSF9UUzQwOQorCWJvb2wgIlFOQVAgVFMtNDA5IgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgUU5BUCBUUy00MDkgcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX1dSVDM1ME5fVjIKKwlib29sICJMaW5rc3lzIFdSVDM1ME4gdjIiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBMaW5rc3lzIFdSVDM1ME4gdjIgcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX1RTNzhYWAorCWJvb2wgIlRlY2hub2xvZ2ljIFN5c3RlbXMgVFMtNzh4eCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIFRlY2hub2xvZ2ljIFN5c3RlbXMgVFMtNzh4eCBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfTVYyMTIwCisJYm9vbCAiSFAgTWVkaWEgVmF1bHQgbXYyMTIwIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgSFAgTWVkaWEgVmF1bHQgbXYyMTIwIG9yIG12NTEwMC4KKworY29uZmlnIE1BQ0hfTVNTMgorCWJvb2wgIk1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfV05SODU0VAorCWJvb2wgIk5ldGdlYXIgV05SODU0VCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE5ldGdlYXIgV05SODU0VCBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfUkQ4OEY1MTgxTF9HRQorCWJvb2wgIk1hcnZlbGwgT3Jpb24tVm9JUCBHRSBSZWZlcmVuY2UgRGVzaWduIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBPcmlvbi1Wb0lQIEdFICg4OEY1MTgxTCkgUkQuCisKK2NvbmZpZyBNQUNIX1JEODhGNTE4MUxfRlhPCisJYm9vbCAiTWFydmVsbCBPcmlvbi1Wb0lQIEZYTyBSZWZlcmVuY2UgRGVzaWduIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBPcmlvbi1Wb0lQIEZYTyAoODhGNTE4MUwpIFJELgorCiBlbmRtZW51CiAKIGVuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvTWFrZWZpbGUKaW5kZXggOTMwMWJmNS4uZmNjNDhhOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9NYWtlZmlsZQpAQCAtMSw3ICsxLDE1IEBACi1vYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIHBjaS5vIGdwaW8ubyBpcnEubworb2JqLXkJCQkJKz0gY29tbW9uLm8gYWRkci1tYXAubyBwY2kubyBncGlvLm8gaXJxLm8gbXBwLm8KIG9iai0kKENPTkZJR19NQUNIX0RCODhGNTI4MSkJKz0gZGI4OGY1MjgxLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX1JEODhGNTE4MikJKz0gcmQ4OGY1MTgyLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX0tVUk9CT1hfUFJPKQkrPSBrdXJvYm94X3Byby1zZXR1cC5vCiBvYmotJChDT05GSUdfTUFDSF9MSU5LU1RBVElPTl9QUk8pICs9IGt1cm9ib3hfcHJvLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX0ROUzMyMykJKz0gZG5zMzIzLXNldHVwLm8KLW9iai0kKENPTkZJR19NQUNIX1RTMjA5KQkrPSB0czIwOS1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9UUzIwOSkJKz0gdHMyMDktc2V0dXAubyB0c3gwOS1jb21tb24ubworb2JqLSQoQ09ORklHX01BQ0hfVFM0MDkpCSs9IHRzNDA5LXNldHVwLm8gdHN4MDktY29tbW9uLm8KK29iai0kKENPTkZJR19NQUNIX1dSVDM1ME5fVjIpCSs9IHdydDM1MG4tdjItc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfVFM3OFhYKQkrPSB0czc4eHgtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfTVYyMTIwKQkrPSBtdjIxMjAtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfTVNTMikJCSs9IG1zczItc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfV05SODU0VCkJKz0gd25yODU0dC1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9SRDg4RjUxODFMX0dFKQkrPSByZDg4ZjUxODFsLWdlLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1JEODhGNTE4MUxfRlhPKQkrPSByZDg4ZjUxODFsLWZ4by1zZXR1cC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvYWRkci1tYXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCmluZGV4IGU2M2ZiMDUuLjZmMGRiZGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCkBAIC03MCw2ICs3MCw3IEBACiAKIAogc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBvcmlvbjV4X21idXNfZHJhbV9pbmZvOworc3RhdGljIGludCBfX2luaXRkYXRhIHdpbl9hbGxvY19jb3VudDsKIAogc3RhdGljIGludCBfX2luaXQgb3Jpb241eF9jcHVfd2luX2Nhbl9yZW1hcChpbnQgd2luKQogewpAQCAtODcsMTYgKzg4LDIyIEBACiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfY3B1X3dpbihpbnQgd2luLCB1MzIgYmFzZSwgdTMyIHNpemUsCiAJCQkJIHU4IHRhcmdldCwgdTggYXR0ciwgaW50IHJlbWFwKQogewotCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9CQVNFKHdpbiksIGJhc2UgJiAweGZmZmYwMDAwKTsKLQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fQ1RSTCh3aW4pLAotCQkoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAodGFyZ2V0IDw8IDQpIHwgMSk7CisJaWYgKHdpbiA+PSA4KSB7CisJCXByaW50ayhLRVJOX0VSUiAic2V0dXBfY3B1X3dpbjogdHJ5aW5nIHRvIGFsbG9jYXRlICIKKwkJCQkid2luZG93ICVkXG4iLCB3aW4pOworCQlyZXR1cm47CisJfQorCisJd3JpdGVsKGJhc2UgJiAweGZmZmYwMDAwLCBDUFVfV0lOX0JBU0Uod2luKSk7CisJd3JpdGVsKCgoc2l6ZSAtIDEpICYgMHhmZmZmMDAwMCkgfCAoYXR0ciA8PCA4KSB8ICh0YXJnZXQgPDwgNCkgfCAxLAorCQlDUFVfV0lOX0NUUkwod2luKSk7CiAKIAlpZiAob3Jpb241eF9jcHVfd2luX2Nhbl9yZW1hcCh3aW4pKSB7CiAJCWlmIChyZW1hcCA8IDApCiAJCQlyZW1hcCA9IGJhc2U7CiAKLQkJb3Jpb241eF93cml0ZShDUFVfV0lOX1JFTUFQX0xPKHdpbiksIHJlbWFwICYgMHhmZmZmMDAwMCk7Ci0JCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9SRU1BUF9ISSh3aW4pLCAwKTsKKwkJd3JpdGVsKHJlbWFwICYgMHhmZmZmMDAwMCwgQ1BVX1dJTl9SRU1BUF9MTyh3aW4pKTsKKwkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkod2luKSk7CiAJfQogfQogCkBAIC0xMDksMTEgKzExNiwxMSBAQAogCSAqIEZpcnN0LCBkaXNhYmxlIGFuZCBjbGVhciB3aW5kb3dzLgogCSAqLwogCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKLQkJb3Jpb241eF93cml0ZShDUFVfV0lOX0JBU0UoaSksIDApOwotCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fQ1RSTChpKSwgMCk7CisJCXdyaXRlbCgwLCBDUFVfV0lOX0JBU0UoaSkpOworCQl3cml0ZWwoMCwgQ1BVX1dJTl9DVFJMKGkpKTsKIAkJaWYgKG9yaW9uNXhfY3B1X3dpbl9jYW5fcmVtYXAoaSkpIHsKLQkJCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9SRU1BUF9MTyhpKSwgMCk7Ci0JCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fUkVNQVBfSEkoaSksIDApOworCQkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfTE8oaSkpOworCQkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkoaSkpOwogCQl9CiAJfQogCkBAIC0xMjgsNiArMTM1LDcgQEAKIAkJVEFSR0VUX1BDSUUsIEFUVFJfUENJRV9NRU0sIC0xKTsKIAlzZXR1cF9jcHVfd2luKDMsIE9SSU9ONVhfUENJX01FTV9QSFlTX0JBU0UsIE9SSU9ONVhfUENJX01FTV9TSVpFLAogCQlUQVJHRVRfUENJLCBBVFRSX1BDSV9NRU0sIC0xKTsKKwl3aW5fYWxsb2NfY291bnQgPSA0OwogCiAJLyoKIAkgKiBTZXR1cCBNQlVTIGRyYW0gdGFyZ2V0IGluZm8uCkBAIC0xNDcsOCArMTU1LDggQEAKIAkJCXcgPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mby5jc1tjcysrXTsKIAkJCXctPmNzX2luZGV4ID0gaTsKIAkJCXctPm1idXNfYXR0ciA9IDB4ZiAmIH4oMSA8PCBpKTsKLQkJCXctPmJhc2UgPSBiYXNlICYgMHhmZjAwMDAwMDsKLQkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDBmZmZmZmYpICsgMTsKKwkJCXctPmJhc2UgPSBiYXNlICYgMHhmZmZmMDAwMDsKKwkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDAwMGZmZmYpICsgMTsKIAkJfQogCX0KIAlvcmlvbjV4X21idXNfZHJhbV9pbmZvLm51bV9jcyA9IGNzOwpAQCAtMTU2LDI1ICsxNjQsMzAgQEAKIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNCwgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0JPT1QsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQk9PVCwgLTEpOwogfQogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX2RldjBfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDUsIGJhc2UsIHNpemUsIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzAsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MwLCAtMSk7CiB9CiAKIHZvaWQgX19pbml0IG9yaW9uNXhfc2V0dXBfZGV2MV93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNiwgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMSwgLTEpOworCXNldHVwX2NwdV93aW4od2luX2FsbG9jX2NvdW50KyssIGJhc2UsIHNpemUsCisJCSAgICAgIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzEsIC0xKTsKIH0KIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9kZXYyX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpCiB7Ci0Jc2V0dXBfY3B1X3dpbig3LCBiYXNlLCBzaXplLCBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MyLCAtMSk7CisJc2V0dXBfY3B1X3dpbih3aW5fYWxsb2NfY291bnQrKywgYmFzZSwgc2l6ZSwKKwkJICAgICAgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMiwgLTEpOwogfQogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDcsIGJhc2UsIHNpemUsIFRBUkdFVF9QQ0lFLCBBVFRSX1BDSUVfV0EsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfUENJRSwgQVRUUl9QQ0lFX1dBLCAtMSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmMKaW5kZXggNGYxM2ZkMC4uZmFmNGUzMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uYwpAQCAtMzksMjUgKzM5LDIyIEBACiAJCS52aXJ0dWFsCT0gT1JJT041WF9SRUdTX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUkVHU19QSFlTX0JBU0UpLAogCQkubGVuZ3RoCQk9IE9SSU9ONVhfUkVHU19TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UKLQl9LAotCXsKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKIAkJLnZpcnR1YWwJPSBPUklPTjVYX1BDSUVfSU9fVklSVF9CQVNFLAogCQkucGZuCQk9IF9fcGh5c190b19wZm4oT1JJT041WF9QQ0lFX0lPX1BIWVNfQkFTRSksCiAJCS5sZW5ndGgJCT0gT1JJT041WF9QQ0lFX0lPX1NJWkUsCi0JCS50eXBlCQk9IE1UX0RFVklDRQotCX0sCi0JeworCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgewogCQkudmlydHVhbAk9IE9SSU9ONVhfUENJX0lPX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUENJX0lPX1BIWVNfQkFTRSksCiAJCS5sZW5ndGgJCT0gT1JJT041WF9QQ0lfSU9fU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFCi0JfSwKLQl7CisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CiAJCS52aXJ0dWFsCT0gT1JJT041WF9QQ0lFX1dBX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UpLAogCQkubGVuZ3RoCQk9IE9SSU9ONVhfUENJRV9XQV9TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAogCX0sCiB9OwogCkBAIC02NiwxMDEgKzYzLDMyIEBACiAJaW90YWJsZV9pbml0KG9yaW9uNXhfaW9fZGVzYywgQVJSQVlfU0laRShvcmlvbjV4X2lvX2Rlc2MpKTsKIH0KIAorCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIFVBUlQKKyAqIEVIQ0kKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfdWFydF9yZXNvdXJjZXNbXSA9IHsKLQl7Ci0JCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCi0JCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKLQkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkuc3RhcnQJCT0gSVJRX09SSU9ONVhfVUFSVDAsCi0JCS5lbmQJCT0gSVJRX09SSU9ONVhfVUFSVDAsCi0JCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKLQl9LAotCXsKLQkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKLQkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAotCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQl7Ci0JCS5zdGFydAkJPSBJUlFfT1JJT041WF9VQVJUMSwKLQkJLmVuZAkJPSBJUlFfT1JJT041WF9VQVJUMSwKLQkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCi1zdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG9yaW9uNXhfdWFydF9kYXRhW10gPSB7Ci0JewotCQkubWFwYmFzZQk9IFVBUlQwX1BIWVNfQkFTRSwKLQkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQwX1ZJUlRfQkFTRSwKLQkJLmlycQkJPSBJUlFfT1JJT041WF9VQVJUMCwKLQkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKLQkJLmlvdHlwZQkJPSBVUElPX01FTSwKLQkJLnJlZ3NoaWZ0CT0gMiwKLQkJLnVhcnRjbGsJPSBPUklPTjVYX1RDTEssCi0JfSwKLQl7Ci0JCS5tYXBiYXNlCT0gVUFSVDFfUEhZU19CQVNFLAotCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDFfVklSVF9CQVNFLAotCQkuaXJxCQk9IElSUV9PUklPTjVYX1VBUlQxLAotCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAotCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkucmVnc2hpZnQJPSAyLAotCQkudWFydGNsawk9IE9SSU9ONVhfVENMSywKLQl9LAotCXsgfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfdWFydCA9IHsKLQkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAotCS5pZAkJCT0gUExBVDgyNTBfREVWX1BMQVRGT1JNLAotCS5kZXYJCQk9IHsKLQkJLnBsYXRmb3JtX2RhdGEJPSBvcmlvbjV4X3VhcnRfZGF0YSwKLQl9LAotCS5yZXNvdXJjZQkJPSBvcmlvbjV4X3VhcnRfcmVzb3VyY2VzLAotCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUob3Jpb241eF91YXJ0X3Jlc291cmNlcyksCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogVVNCIENvbnRyb2xsZXIgLSAyIGludGVyZmFjZXMKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9laGNpMF9yZXNvdXJjZXNbXSA9IHsKLQl7Ci0JCS5zdGFydAk9IE9SSU9ONVhfVVNCMF9QSFlTX0JBU0UsCi0JCS5lbmQJPSBPUklPTjVYX1VTQjBfUEhZU19CQVNFICsgU1pfNEsgLSAxLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAotCQkuZW5kCT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKLQl9LAotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2VoY2kxX3Jlc291cmNlc1tdID0gewotCXsKLQkJLnN0YXJ0CT0gT1JJT041WF9VU0IxX1BIWVNfQkFTRSwKLQkJLmVuZAk9IE9SSU9ONVhfVVNCMV9QSFlTX0JBU0UgKyBTWl80SyAtIDEsCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkuc3RhcnQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCi0JCS5lbmQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCiBzdGF0aWMgc3RydWN0IG9yaW9uX2VoY2lfZGF0YSBvcmlvbjV4X2VoY2lfZGF0YSA9IHsKIAkuZHJhbQkJPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mbywKIH07CiAKIHN0YXRpYyB1NjQgZWhjaV9kbWFtYXNrID0gMHhmZmZmZmZmZlVMOwogCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2VoY2kwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gT1JJT041WF9VU0IwX1BIWVNfQkFTRSwKKwkJLmVuZAk9IE9SSU9ONVhfVVNCMF9QSFlTX0JBU0UgKyBTWl80SyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAorCQkuZW5kCT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF9laGNpMCA9IHsKIAkubmFtZQkJPSAib3Jpb24tZWhjaSIsCiAJLmlkCQk9IDAsCkBAIC0xNzMsNiArMTAxLDI3IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG9yaW9uNXhfZWhjaTBfcmVzb3VyY2VzKSwKIH07CiAKK3ZvaWQgX19pbml0IG9yaW9uNXhfZWhjaTBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfZWhjaTFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBPUklPTjVYX1VTQjFfUEhZU19CQVNFLAorCQkuZW5kCT0gT1JJT041WF9VU0IxX1BIWVNfQkFTRSArIFNaXzRLIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCisJCS5lbmQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X2VoY2kxID0gewogCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKIAkuaWQJCT0gMSwKQEAgLTE4NSwxMSArMTM0LDE1IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG9yaW9uNXhfZWhjaTFfcmVzb3VyY2VzKSwKIH07CiAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogR2lnYWJpdCBFdGhlcm5ldCBwb3J0Ci0gKiAoVGhlIE9yaW9uIGFuZCBEaXNjb3ZlcnkgKE1WNjQzeHgpIGZhbWlsaWVzIHVzZSB0aGUgc2FtZSBFdGhlcm5ldCBkcml2ZXIpCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgX19pbml0IG9yaW9uNXhfZWhjaTFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMSk7Cit9CiAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHaWdFCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBvcmlvbjV4X2V0aF9zaGFyZWRfZGF0YSA9IHsKIAkuZHJhbQkJPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mbywKIAkudF9jbGsJCT0gT1JJT041WF9UQ0xLLApAQCAtMjE5LDcgKzE3Miw3IEBACiAJCS5zdGFydAk9IElSUV9PUklPTjVYX0VUSF9TVU0sCiAJCS5lbmQJPSBJUlFfT1JJT041WF9FVEhfU1VNLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfZXRoID0gewpAQCAtMjM4LDExICsxOTEsMTAgQEAKIAlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfZXRoKTsKIH0KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBJMkMgY29udHJvbGxlcgotICogKFRoZSBPcmlvbiBhbmQgRGlzY292ZXJ5IChNVjY0M3h4KSBmYW1pbGllcyBzaGFyZSB0aGUgc2FtZSBJMkMgY29udHJvbGxlcikKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkyQworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12NjR4eHhfaTJjX3BkYXRhIG9yaW9uNXhfaTJjX3BkYXRhID0gewogCS5mcmVxX20JCT0gOCwgLyogYXNzdW1lcyAxNjYgTUh6IFRDTEsgKi8KIAkuZnJlcV9uCQk9IDMsCkBAIC0yNTEsMTYgKzIwMywxNSBAQAogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfaTJjX3Jlc291cmNlc1tdID0gewogCXsKLQkJLm5hbWUgICA9ICJpMmMgYmFzZSIsCi0JCS5zdGFydCAgPSBJMkNfUEhZU19CQVNFLAotCQkuZW5kICAgID0gSTJDX1BIWVNfQkFTRSArIDB4MjAgLTEsCi0JCS5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLm5hbWUgICA9ICJpMmMgaXJxIiwKLQkJLnN0YXJ0ICA9IElSUV9PUklPTjVYX0kyQywKLQkJLmVuZCAgICA9IElSUV9PUklPTjVYX0kyQywKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfSVJRLAorCQkubmFtZQk9ICJpMmMgYmFzZSIsCisJCS5zdGFydAk9IEkyQ19QSFlTX0JBU0UsCisJCS5lbmQJPSBJMkNfUEhZU19CQVNFICsgMHgxZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkubmFtZQk9ICJpMmMgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfSTJDLAorCQkuZW5kCT0gSVJRX09SSU9ONVhfSTJDLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKIAl9LAogfTsKIApAQCAtMjcwLDM2ICsyMjEsNDEgQEAKIAkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUob3Jpb241eF9pMmNfcmVzb3VyY2VzKSwKIAkucmVzb3VyY2UJPSBvcmlvbjV4X2kyY19yZXNvdXJjZXMsCiAJLmRldgkJPSB7Ci0JCS5wbGF0Zm9ybV9kYXRhID0gJm9yaW9uNXhfaTJjX3BkYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZvcmlvbjV4X2kyY19wZGF0YSwKIAl9LAogfTsKIAordm9pZCBfX2luaXQgb3Jpb241eF9pMmNfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9pMmMpOworfQorCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogU2F0YSBwb3J0CisgKiBTQVRBCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9zYXRhX3Jlc291cmNlc1tdID0gewotICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLm5hbWUgICA9ICJzYXRhIGJhc2UiLAotICAgICAgICAgICAgICAgIC5zdGFydCAgPSBPUklPTjVYX1NBVEFfUEhZU19CQVNFLAotICAgICAgICAgICAgICAgIC5lbmQgICAgPSBPUklPTjVYX1NBVEFfUEhZU19CQVNFICsgMHg1MDAwIC0gMSwKLSAgICAgICAgICAgICAgICAuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCi0gICAgICAgIH0sCiAJewotICAgICAgICAgICAgICAgIC5uYW1lICAgPSAic2F0YSBpcnEiLAotICAgICAgICAgICAgICAgIC5zdGFydCAgPSBJUlFfT1JJT041WF9TQVRBLAotICAgICAgICAgICAgICAgIC5lbmQgICAgPSBJUlFfT1JJT041WF9TQVRBLAotICAgICAgICAgICAgICAgIC5mbGFncyAgPSBJT1JFU09VUkNFX0lSUSwKLSAgICAgICAgfSwKKwkJLm5hbWUJPSAic2F0YSBiYXNlIiwKKwkJLnN0YXJ0CT0gT1JJT041WF9TQVRBX1BIWVNfQkFTRSwKKwkJLmVuZAk9IE9SSU9ONVhfU0FUQV9QSFlTX0JBU0UgKyAweDUwMDAgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gInNhdGEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfU0FUQSwKKwkJLmVuZAk9IElSUV9PUklPTjVYX1NBVEEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X3NhdGEgPSB7Ci0JLm5hbWUgICAgICAgICAgID0gInNhdGFfbXYiLAotCS5pZCAgICAgICAgICAgICA9IDAsCisJLm5hbWUJCT0gInNhdGFfbXYiLAorCS5pZAkJPSAwLAogCS5kZXYJCT0gewogCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAogCX0sCi0JLm51bV9yZXNvdXJjZXMgID0gQVJSQVlfU0laRShvcmlvbjV4X3NhdGFfcmVzb3VyY2VzKSwKLQkucmVzb3VyY2UgICAgICAgPSBvcmlvbjV4X3NhdGFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShvcmlvbjV4X3NhdGFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJPSBvcmlvbjV4X3NhdGFfcmVzb3VyY2VzLAogfTsKIAogdm9pZCBfX2luaXQgb3Jpb241eF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKQpAQCAtMzA5LDIzICsyNjUsMTExIEBACiAJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X3NhdGEpOwogfQogCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBvcmlvbjV4X3VhcnQwX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IE9SSU9ONVhfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF91YXJ0MF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZW5kCQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfdWFydDAgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IFBMQVQ4MjUwX0RFVl9QTEFURk9STSwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gb3Jpb241eF91YXJ0MF9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IG9yaW9uNXhfdWFydDBfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUob3Jpb241eF91YXJ0MF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgb3Jpb241eF91YXJ0MF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X3VhcnQwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgb3Jpb241eF91YXJ0MV9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQxX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBPUklPTjVYX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfdWFydDFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDFfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQxX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmVuZAkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X3VhcnQxID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSBQTEFUODI1MF9ERVZfUExBVEZPUk0xLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBvcmlvbjV4X3VhcnQxX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gb3Jpb241eF91YXJ0MV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShvcmlvbjV4X3VhcnQxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBvcmlvbjV4X3VhcnQxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfdWFydDEpOworfQorCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogVGltZSBoYW5kbGluZwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KIHN0YXRpYyB2b2lkIG9yaW9uNXhfdGltZXJfaW5pdCh2b2lkKQogewogCW9yaW9uX3RpbWVfaW5pdChJUlFfT1JJT041WF9CUklER0UsIE9SSU9ONVhfVENMSyk7CiB9CiAKIHN0cnVjdCBzeXNfdGltZXIgb3Jpb241eF90aW1lciA9IHsKLSAgICAgICAgLmluaXQgPSBvcmlvbjV4X3RpbWVyX2luaXQsCisJLmluaXQgPSBvcmlvbjV4X3RpbWVyX2luaXQsCiB9OwogCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogR2VuZXJhbAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KIC8qCiAgKiBJZGVudGlmeSBkZXZpY2UgSUQgYW5kIHJldiBmcm9tIFBDSWUgY29uZmlndXJhdGlvbiBoZWFkZXIgc3BhY2UgJzAnLgogICovCkBAIC0zNTAsOCArMzk0LDEwIEBACiAJfSBlbHNlIGlmICgqZGV2ID09IE1WODhGNTE4MV9ERVZfSUQpIHsKIAkJaWYgKCpyZXYgPT0gTVY4OEY1MTgxX1JFVl9CMSkgewogCQkJKmRldl9uYW1lID0gIk1WODhGNTE4MS1SZXYtQjEiOworCQl9IGVsc2UgaWYgKCpyZXYgPT0gTVY4OEY1MTgxTF9SRVZfQTEpIHsKKwkJCSpkZXZfbmFtZSA9ICJNVjg4RjUxODFMLVJldi1BMSI7CiAJCX0gZWxzZSB7Ci0JCQkqZGV2X25hbWUgPSAiTVY4OEY1MTgxLVJldi1VbnN1cHBvcnRlZCI7CisJCQkqZGV2X25hbWUgPSAiTVY4OEY1MTgxKEwpLVJldi1VbnN1cHBvcnRlZCI7CiAJCX0KIAl9IGVsc2UgewogCQkqZGV2X25hbWUgPSAiRGV2aWNlLVVua25vd24iOwpAQCAtMzcwLDE1ICs0MTYsNiBAQAogCSAqIFNldHVwIE9yaW9uIGFkZHJlc3MgbWFwCiAJICovCiAJb3Jpb241eF9zZXR1cF9jcHVfbWJ1c19icmlkZ2UoKTsKLQotCS8qCi0JICogUmVnaXN0ZXIgZGV2aWNlcy4KLQkgKi8KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfdWFydCk7Ci0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2VoY2kwKTsKLQlpZiAoZGV2ID09IE1WODhGNTE4Ml9ERVZfSUQpCi0JCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMSk7Ci0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2kyYyk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmgKaW5kZXggYmQwZjA1ZC4uZjcyY2YwZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5oCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uaApAQCAtMSwxMCArMSwxMiBAQAogI2lmbmRlZiBfX0FSQ0hfT1JJT041WF9DT01NT05fSAogI2RlZmluZSBfX0FSQ0hfT1JJT041WF9DT01NT05fSAogCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YTsKK3N0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGE7CisKIC8qCiAgKiBCYXNpYyBPcmlvbiBpbml0IGZ1bmN0aW9ucyB1c2VkIGVhcmx5IGJ5IG1hY2hpbmUtc2V0dXAuCiAgKi8KLQogdm9pZCBvcmlvbjV4X21hcF9pbyh2b2lkKTsKIHZvaWQgb3Jpb241eF9pbml0X2lycSh2b2lkKTsKIHZvaWQgb3Jpb241eF9pbml0KHZvaWQpOwpAQCAtMjMsMTUgKzI1LDIyIEBACiB2b2lkIG9yaW9uNXhfc2V0dXBfZGV2Ml93aW4odTMyIGJhc2UsIHUzMiBzaXplKTsKIHZvaWQgb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpOwogCi0vKgotICogU2hhcmVkIGNvZGUgdXNlZCBpbnRlcm5hbGx5IGJ5IG90aGVyIE9yaW9uIGNvcmUgZnVuY3Rpb25zLgotICogKC9tYWNoLW9yaW9uL3BjaS5jKQotICovCit2b2lkIG9yaW9uNXhfZWhjaTBfaW5pdCh2b2lkKTsKK3ZvaWQgb3Jpb241eF9laGNpMV9pbml0KHZvaWQpOwordm9pZCBvcmlvbjV4X2V0aF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG9yaW9uNXhfaTJjX2luaXQodm9pZCk7Cit2b2lkIG9yaW9uNXhfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Cit2b2lkIG9yaW9uNXhfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQgb3Jpb241eF91YXJ0MV9pbml0KHZvaWQpOwogCi1zdHJ1Y3QgcGNpX3N5c19kYXRhOworLyoKKyAqIFBDSWUvUENJIGZ1bmN0aW9ucy4KKyAqLwogc3RydWN0IHBjaV9idXM7CitzdHJ1Y3QgcGNpX3N5c19kYXRhOwogCiB2b2lkIG9yaW9uNXhfcGNpZV9pZCh1MzIgKmRldiwgdTMyICpyZXYpOwordm9pZCBvcmlvbjV4X3BjaV9zZXRfY2FyZGJ1c19tb2RlKHZvaWQpOwogaW50IG9yaW9uNXhfcGNpX3N5c19zZXR1cChpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cyk7CiBzdHJ1Y3QgcGNpX2J1cyAqb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKTsKIGludCBvcmlvbjV4X3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbik7CkBAIC00MCwyNiArNDksOSBAQAogICogVmFsaWQgR1BJTyBwaW5zIGFjY29yZGluZyB0byBNUFAgc2V0dXAsIHVzZWQgYnkgbWFjaGluZS1zZXR1cC4KICAqICgvbWFjaC1vcmlvbi9ncGlvLmMpLgogICovCi0KLXZvaWQgb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKHUzMiBwaW5zKTsKK3ZvaWQgb3Jpb241eF9ncGlvX3NldF92YWxpZCh1bnNpZ25lZCBwaW4sIGludCB2YWxpZCk7CiB2b2lkIGdwaW9fZGlzcGxheSh2b2lkKTsJLyogZGVidWcgKi8KIAotLyoKLSAqIFB1bGwgaW4gT3Jpb24gRXRoZXJuZXQgcGxhdGZvcm1fZGF0YSwgdXNlZCBieSBtYWNoaW5lLXNldHVwCi0gKi8KLQotc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGE7Ci0KLXZvaWQgb3Jpb241eF9ldGhfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwotCi0vKgotICogT3Jpb24gU2F0YSBwbGF0Zm9ybV9kYXRhLCB1c2VkIGJ5IG1hY2hpbmUtc2V0dXAKLSAqLwotCi1zdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhOwotCi12b2lkIG9yaW9uNXhfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Ci0KIHN0cnVjdCBtYWNoaW5lX2Rlc2M7CiBzdHJ1Y3QgbWVtaW5mbzsKIHN0cnVjdCB0YWc7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZGI4OGY1MjgxLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZGI4OGY1MjgxLXNldHVwLmMKaW5kZXggNDRjNjQzNC4uODg0MDVlNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RiODhmNTI4MS1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kYjg4ZjUyODEtc2V0dXAuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CiAjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogREItODhGNTI4MSBvbiBib2FyZCBkZXZpY2VzCkBAIC04Niw3ICs4Nyw3IEBACiAJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAogCS5pZAkJPSAwLAogCS5kZXYJCT0gewotCQkucGxhdGZvcm1fZGF0YSA9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9kYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9kYXRhLAogCX0sCiAJLm51bV9yZXNvdXJjZXMJPSAxLAogCS5yZXNvdXJjZQk9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9yZXNvdXJjZSwKQEAgLTExMCw3ICsxMTEsNyBAQAogCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKIAkuaWQJCT0gMSwKIAkuZGV2CQk9IHsKLQkJLnBsYXRmb3JtX2RhdGEgPSAmZGI4OGY1MjgxX25vcl9mbGFzaF9kYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZkYjg4ZjUyODFfbm9yX2ZsYXNoX2RhdGEsCiAJfSwKIAkubnVtX3Jlc291cmNlcwk9IDEsCiAJLnJlc291cmNlCT0gJmRiODhmNTI4MV9ub3JfZmxhc2hfcmVzb3VyY2UsCkBAIC0xMjUsMTggKzEyNiwxNSBAQAogCQkubmFtZSA9ICJrZXJuZWwiLAogCQkub2Zmc2V0ID0gMCwKIAkJLnNpemUgPSBTWl8yTSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lID0gInJvb3QiLAogCQkub2Zmc2V0ID0gU1pfMk0sCiAJCS5zaXplID0gKFNaXzE2TSAtIFNaXzJNKSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lID0gInVzZXIiLAogCQkub2Zmc2V0ID0gU1pfMTZNLAogCQkuc2l6ZSA9IFNaXzhNLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUgPSAicmVjb3ZlcnkiLAogCQkub2Zmc2V0ID0gKFNaXzE2TSArIFNaXzhNKSwKIAkJLnNpemUgPSBTWl84TSwKQEAgLTI4OCw3ICsyODYsNiBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI4OGY1MjgxX2V0aF9kYXRhID0gewogCS5waHlfYWRkcgk9IDgsCi0JLmZvcmNlX3BoeV9hZGRyID0gMSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMzAxLDExICsyOTgsMjggQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogR2VuZXJhbCBTZXR1cAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkYjg4ZjUyODFfZGV2c1tdIF9faW5pdGRhdGEgPSB7Ci0JJmRiODhmNTI4MV9ib290X2ZsYXNoLAotCSZkYjg4ZjUyODFfbm9yX2ZsYXNoLAotCSZkYjg4ZjUyODFfbmFuZF9mbGFzaCwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBkYjg4ZjUyODFfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogVVNCIE92ZXIgQ3VycmVudCAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBVU0IgVmJhdCBpbnB1dCAqLworCXsgIDIsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfUkVRblsyXSAqLworCXsgIDMsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfR05UblsyXSAqLworCXsgIDQsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfUkVRblszXSAqLworCXsgIDUsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfR05UblszXSAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBKUDAsIENPTjE3LjIgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogSlAxLCBDT04xNy4xICovCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIEpQMiwgQ09OMTEuMiAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBKUDMsIENPTjExLjMgKi8KKwl7IDEwLCBNUFBfR1BJTyB9LAkJLyogUlRDIGludCAqLworCXsgMTEsIE1QUF9HUElPIH0sCQkvKiBCYXVkIFJhdGUgR2VuZXJhdG9yICovCisJeyAxMiwgTVBQX0dQSU8gfSwJCS8qIFBDSSBpbnQgMSAqLworCXsgMTMsIE1QUF9HUElPIH0sCQkvKiBQQ0kgaW50IDIgKi8KKwl7IDE0LCBNUFBfTkFORCB9LAkJLyogTkFORF9SRW5bMl0gKi8KKwl7IDE1LCBNUFBfTkFORCB9LAkJLyogTkFORF9XRW5bMl0gKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfUlggKi8KKwl7IDE3LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfVFggKi8KKwl7IDE4LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfQ1RTbiAqLworCXsgMTksIE1QUF9VQVJUIH0sCQkvKiBVQVJUMV9SVFNuICovCisJeyAtMSB9LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IGRiODhmNTI4MV9pbml0KHZvaWQpCkBAIC0zMTUsMzkgKzMyOSwzMSBAQAogCSAqLwogCW9yaW9uNXhfaW5pdCgpOwogCisJb3Jpb241eF9tcHBfY29uZihkYjg4ZjUyODFfbXBwX21vZGVzKTsKKwl3cml0ZWwoMCwgTVBQX0RFVl9DVFJMKTsJCS8qIERFVl9EWzMxOjE2XSAqLworCiAJLyoKLQkgKiBTZXR1cCB0aGUgQ1BVIGFkZHJlc3MgZGVjb2RlIHdpbmRvd3MgZm9yIG91ciBvbi1ib2FyZCBkZXZpY2VzCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgogCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJmRiODhmNTI4MV9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCW9yaW9uNXhfdWFydDFfaW5pdCgpOworCiAJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oREI4OEY1MjgxX05PUl9CT09UX0JBU0UsCiAJCQkJREI4OEY1MjgxX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX2Jvb3RfZmxhc2gpOworCiAJb3Jpb241eF9zZXR1cF9kZXYwX3dpbihEQjg4RjUyODFfN1NFR19CQVNFLCBEQjg4RjUyODFfN1NFR19TSVpFKTsKKwogCW9yaW9uNXhfc2V0dXBfZGV2MV93aW4oREI4OEY1MjgxX05PUl9CQVNFLCBEQjg4RjUyODFfTk9SX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX25vcl9mbGFzaCk7CisKIAlvcmlvbjV4X3NldHVwX2RldjJfd2luKERCODhGNTI4MV9OQU5EX0JBU0UsIERCODhGNTI4MV9OQU5EX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX25hbmRfZmxhc2gpOwogCi0JLyoKLQkgKiBTZXR1cCBNdWx0aXBsZXhpbmcgUGluczoKLQkgKiBNUFAwOiBHUElPIChVU0IgT3ZlciBDdXJyZW50KQlNUFAxOiBHUElPIChVU0IgVmJhdCBpbnB1dCkKLQkgKiBNUFAyOiBQQ0lfUkVRblsyXQkJCU1QUDM6IFBDSV9HTlRuWzJdCi0JICogTVBQNDogUENJX1JFUW5bM10JCQlNUFA1OiBQQ0lfR05UblszXQotCSAqIE1QUDY6IEdQSU8gKEpQMCwgQ09OMTcuMikJCU1QUDc6IEdQSU8gKEpQMSwgQ09OMTcuMSkKLQkgKiBNUFA4OiBHUElPIChKUDIsIENPTjExLjIpCQlNUFA5OiBHUElPIChKUDMsIENPTjExLjMpCi0JICogTVBQMTA6IEdQSU8gKFJUQyBpbnQpCQlNUFAxMTogR1BJTyAoQmF1ZCBSYXRlIEdlbmVyYXRvcikKLQkgKiBNUFAxMjogR1BJTyAoUENJIGludCAxKQkJTVBQMTM6IEdQSU8gKFBDSSBpbnQgMikKLQkgKiBNUFAxNDogTkFORF9SRW5bMl0JCQlNUFAxNTogTkFORF9XRW5bMl0KLQkgKiBNUFAxNjogVUFSVDFfUlgJCQlNUFAxNzogVUFSVDFfVFgKLQkgKiBNUFAxODogVUFSVDFfQ1RTCQkJTVBQMTk6IFVBUlQxX1JUUwotCSAqIE1QUC1ERVY6IERFVl9EWzE2OjMxXQotCSAqLwotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAweDAwMjIyMjAzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NDQwMDAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDApOwotCW9yaW9uNXhfd3JpdGUoTVBQX0RFVl9DVFJMLCAwKTsKLQotCW9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucygweDAwMDAzZmMzKTsKLQotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGRiODhmNTI4MV9kZXZzLCBBUlJBWV9TSVpFKGRiODhmNTI4MV9kZXZzKSk7CiAJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJmRiODhmNTI4MV9pMmNfcnRjLCAxKTsKLQlvcmlvbjV4X2V0aF9pbml0KCZkYjg4ZjUyODFfZXRoX2RhdGEpOwogfQogCiBNQUNISU5FX1NUQVJUKERCODhGNTI4MSwgIk1hcnZlbGwgT3Jpb24tMiBEZXZlbG9wbWVudCBCb2FyZCIpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZG5zMzIzLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZG5zMzIzLXNldHVwLmMKaW5kZXggMjdjZTk2Ny4uMzc5MWNhNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RuczMyMy1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kbnMzMjMtc2V0dXAuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKIAogI2RlZmluZSBETlMzMjNfR1BJT19MRURfUklHSFRfQU1CRVIJMQogI2RlZmluZSBETlMzMjNfR1BJT19MRURfTEVGVF9BTUJFUgkyCkBAIC01Miw4ICs1Myw2IEBACiAJaWYgKGlycSAhPSAtMSkKIAkJcmV0dXJuIGlycTsKIAotCXByX2VycigiJXM6IHJlcXVlc3RlZCBtYXBwaW5nIGZvciB1bmtub3duIGRldmljZVxuIiwgX19mdW5jX18pOwotCiAJcmV0dXJuIC0xOwogfQogCkBAIC04MSw3ICs4MCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkbnMzMjNfZXRoX2RhdGEgPSB7CiAJLnBoeV9hZGRyID0gOCwKLQkuZm9yY2VfcGh5X2FkZHIgPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTExOSw3ICsxMTcsNyBAQAogCQkubmFtZQk9ICJ1LWJvb3QiLAogCQkuc2l6ZQk9IDB4MDAwMzAwMDAsCiAJCS5vZmZzZXQJPSAweDAwN2QwMDAwLAotCX0KKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgZG5zMzIzX25vcl9mbGFzaF9kYXRhID0gewpAQCAtMTM3LDcgKzEzNSw5IEBACiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfbm9yX2ZsYXNoID0gewogCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKIAkuaWQJCT0gMCwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgPSAmZG5zMzIzX25vcl9mbGFzaF9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfbm9yX2ZsYXNoX2RhdGEsCisJfSwKIAkucmVzb3VyY2UJPSAmZG5zMzIzX25vcl9mbGFzaF9yZXNvdXJjZSwKIAkubnVtX3Jlc291cmNlcwk9IDEsCiB9OwpAQCAtMTcwLDcgKzE3MCw5IEBACiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfZ3Bpb19sZWRzID0gewogCS5uYW1lCQk9ICJsZWRzLWdwaW8iLAogCS5pZAkJPSAtMSwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgPSAmZG5zMzIzX2xlZF9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfbGVkX2RhdGEsCisJfSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xODMsMzUgKzE4NSw1MyBAQAogCQkuZ3BpbwkJPSBETlMzMjNfR1BJT19LRVlfUkVTRVQsCiAJCS5kZXNjCQk9ICJSZXNldCBCdXR0b24iLAogCQkuYWN0aXZlX2xvdwk9IDEsCi0JfSwKLQl7CisJfSwgewogCQkuY29kZQkJPSBLRVlfUE9XRVIsCiAJCS5ncGlvCQk9IEROUzMyM19HUElPX0tFWV9QT1dFUiwKIAkJLmRlc2MJCT0gIlBvd2VyIEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZG5zMzIzX2J1dHRvbl9kYXRhID0gewogCS5idXR0b25zCT0gZG5zMzIzX2J1dHRvbnMsCi0JLm5idXR0b25zICAgICAgID0gQVJSQVlfU0laRShkbnMzMjNfYnV0dG9ucyksCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShkbnMzMjNfYnV0dG9ucyksCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfYnV0dG9uX2RldmljZSA9IHsKIAkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKIAkuaWQJCT0gLTEsCiAJLm51bV9yZXNvdXJjZXMJPSAwLAotCS5kZXYJCT0geyAucGxhdGZvcm1fZGF0YSAgPSAmZG5zMzIzX2J1dHRvbl9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfYnV0dG9uX2RhdGEsCisJfSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKi8KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRuczMyM19wbGF0X2RldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZkbnMzMjNfbm9yX2ZsYXNoLAotCSZkbnMzMjNfZ3Bpb19sZWRzLAotCSZkbnMzMjNfYnV0dG9uX2RldmljZSwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBkbnMzMjNfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfUENJRV9SU1RfT1VUbiB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiByaWdodCBhbWJlciBMRUQgKHNhdGEgY2gwKSAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBsZWZ0IGFtYmVyIExFRCAoc2F0YSBjaDEpICovCisJeyAgMywgTVBQX1VOVVNFRCB9LAorCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBwb3dlciBidXR0b24gTEVEICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIHBvd2VyIGJ1dHRvbiBMRUQgKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogR01UIEc3NTEtMmYgb3ZlcnRlbXAgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogTTQxVDgwIG5JUlEvT1VUL1NRVyAqLworCXsgIDgsIE1QUF9HUElPIH0sCQkvKiB0cmlnZ2VycyBwb3dlciBvZmYgKi8KKwl7ICA5LCBNUFBfR1BJTyB9LAkJLyogcG93ZXIgYnV0dG9uIHN3aXRjaCAqLworCXsgMTAsIE1QUF9HUElPIH0sCQkvKiByZXNldCBidXR0b24gc3dpdGNoICovCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9VTlVTRUQgfSwKKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX1VOVVNFRCB9LAorCXsgMTUsIE1QUF9VTlVTRUQgfSwKKwl7IDE2LCBNUFBfVU5VU0VEIH0sCisJeyAxNywgTVBQX1VOVVNFRCB9LAorCXsgMTgsIE1QUF9VTlVTRUQgfSwKKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAogfTsKIAogLyoKQEAgLTIyNSwxNyArMjQ1LDE1IEBACiBzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgZG5zMzIzX2kyY19kZXZpY2VzW10gPSB7CiAJewogCQlJMkNfQk9BUkRfSU5GTygiZzc2MGEiLCAweDNlKSwKLQl9LAogI2lmIDAKIAkvKiB0aGlzIGVudHJ5IHJlcXVpcmVzIHRoZSBuZXctc3R5bGUgZHJpdmVyIG1vZGVsIGxtNzUgZHJpdmVyLAogCSAqIGZvciB0aGUgbWVhbnRpbWUgImluc21vZCBsbTc1LmtvIGZvcmNlX2xtNzU9MCwweDQ4IiBpcyBuZWVkZWQgKi8KLQl7CisJfSwgewogCQlJMkNfQk9BUkRfSU5GTygiZzc1MSIsIDB4NDgpLAotCX0sCiAjZW5kaWYKLQl7CisJfSwgewogCQlJMkNfQk9BUkRfSU5GTygibTQxdDgwIiwgMHg2OCksCi0JfQorCX0sCiB9OwogCiAvKiBETlMtMzIzIHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgKi8KQEAgLTI1MCw2MiArMjY4LDM1IEBACiAJLyogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4gKi8KIAlvcmlvbjV4X2luaXQoKTsKIAorCW9yaW9uNXhfbXBwX2NvbmYoZG5zMzIzX21wcF9tb2Rlcyk7CisJd3JpdGVsKDAsIE1QUF9ERVZfQ1RSTCk7CQkvKiBERVZfRFszMToxNl0gKi8KKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJmRuczMyM19ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCiAJLyogc2V0dXAgZmxhc2ggbWFwcGluZwogCSAqIENTMyBob2xkcyBhIDggTUIgU3BhbnNpb24gUzI5R0wwNjRNOTBURklSNAogCSAqLwogCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKEROUzMyM19OT1JfQk9PVF9CQVNFLCBETlMzMjNfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZkbnMzMjNfbm9yX2ZsYXNoKTsKIAotCS8qIEROUy0zMjMgaGFzIGEgTWFydmVsbCA4OFg3MDQyIFNBVEEgY29udHJvbGxlciBhdHRhY2hlZCB2aWEgUENJZQotCSAqCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCi0JICovCi0Jb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAotCQkJCU9SSU9ONVhfUENJRV9XQV9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRuczMyM19ncGlvX2xlZHMpOwogCi0JLyogc2V0IE1QUCB0byAwIGFzIEQtTGluaydzIDIuNi4xMi42IGtlcm5lbCBkaWQgKi8KLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfOF8xNV9DVFJMLCAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF8xNl8xOV9DVFJMLCAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF9ERVZfQ1RSTCwgMCk7Ci0KLQkvKiBEZWZpbmUgdXNlZCBHUElPIHBpbnMKLQotCSAgR1BJTyBNYXA6Ci0KLQkgIHwgIDAgfCAgICAgfCBQRVhfUlNUX09VVCAobm90IGNvbnRyb2xsZWQgYnkgR1BJTykKLQkgIHwgIDEgfCBPdXQgfCByaWdodCBhbWJlciBMRUQgKD0gc2F0YSBjaDAgTEVEKSAgKGxvdy1hY3RpdmUpCi0JICB8ICAyIHwgT3V0IHwgbGVmdCAgYW1iZXIgTEVEICg9IHNhdGEgY2gxIExFRCkgIChsb3ctYWN0aXZlKQotCSAgfCAgMyB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8ICA0IHwgT3V0IHwgcG93ZXIgYnV0dG9uIExFRCAobG93LWFjdGl2ZSwgdG9nZXRoZXIgd2l0aCBwaW4gIzUpCi0JICB8ICA1IHwgT3V0IHwgcG93ZXIgYnV0dG9uIExFRCAobG93LWFjdGl2ZSwgdG9nZXRoZXIgd2l0aCBwaW4gIzQpCi0JICB8ICA2IHwgSW4gIHwgR01UIEc3NTEtMmYgb3ZlcnRlbXAuIHNodXRkb3duIHNpZ25hbCAobG93LWFjdGl2ZSkKLQkgIHwgIDcgfCBJbiAgfCBNNDFUODAgbklSUS9PVVQvU1FXIHNpZ25hbAotCSAgfCAgOCB8IE91dCB8IHRyaWdnZXJzIHBvd2VyIG9mZiAoaGlnaC1hY3RpdmUpCi0JICB8ICA5IHwgSW4gIHwgcG93ZXIgYnV0dG9uIHN3aXRjaCAobG93LWFjdGl2ZSkKLQkgIHwgMTAgfCBJbiAgfCByZXNldCBidXR0b24gc3dpdGNoIChsb3ctYWN0aXZlKQotCSAgfCAxMSB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8IDEyIHwgT3V0IHwgLy91bmtub3duLy8KLQkgIHwgMTMgfCBPdXQgfCAvL3Vua25vd24vLwotCSAgfCAxNCB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8IDE1IHwgT3V0IHwgLy91bmtub3duLy8KLQkqLwotCW9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucygweDA3ZjYpOwotCi0JLyogcmVnaXN0ZXIgZG5zMzIzIHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KLQlpZiAoKGdwaW9fcmVxdWVzdChETlMzMjNfR1BJT19QT1dFUl9PRkYsICJQT1dFUk9GRiIpICE9IDApCi0JICAgIHx8IChncGlvX2RpcmVjdGlvbl9vdXRwdXQoRE5TMzIzX0dQSU9fUE9XRVJfT0ZGLCAwKSAhPSAwKSkKLQkJcHJfZXJyKCJETlMzMjM6IGZhaWxlZCB0byBzZXR1cCBwb3dlci1vZmYgR1BJT1xuIik7Ci0KLQlwbV9wb3dlcl9vZmYgPSBkbnMzMjNfcG93ZXJfb2ZmOwotCi0JLyogcmVnaXN0ZXIgZmxhc2ggYW5kIG90aGVyIHBsYXRmb3JtIGRldmljZXMgKi8KLQlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhkbnMzMjNfcGxhdF9kZXZpY2VzLAotCQkJICAgICBBUlJBWV9TSVpFKGRuczMyM19wbGF0X2RldmljZXMpKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRuczMyM19idXR0b25fZGV2aWNlKTsKIAogCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIGRuczMyM19pMmNfZGV2aWNlcywKIAkJCQlBUlJBWV9TSVpFKGRuczMyM19pMmNfZGV2aWNlcykpOwogCi0Jb3Jpb241eF9ldGhfaW5pdCgmZG5zMzIzX2V0aF9kYXRhKTsKKwkvKiByZWdpc3RlciBkbnMzMjMgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCWlmIChncGlvX3JlcXVlc3QoRE5TMzIzX0dQSU9fUE9XRVJfT0ZGLCAiUE9XRVJPRkYiKSAhPSAwIHx8CisJICAgIGdwaW9fZGlyZWN0aW9uX291dHB1dChETlMzMjNfR1BJT19QT1dFUl9PRkYsIDApICE9IDApCisJCXByX2VycigiRE5TMzIzOiBmYWlsZWQgdG8gc2V0dXAgcG93ZXItb2ZmIEdQSU9cbiIpOworCXBtX3Bvd2VyX29mZiA9IGRuczMyM19wb3dlcl9vZmY7CiB9CiAKIC8qIFdhcm5pbmc6IEQtTGluayB1c2VzIGEgd3JvbmcgbWFjaC10eXBlICg9NTI2KSBpbiB0aGVpciBib290bG9hZGVyICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZ3Bpby5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2dwaW8uYwppbmRleCA4MTA4YzMxLi5kMDk3OTc5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZ3Bpby5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9ncGlvLmMKQEAgLTI0LDkgKzI0LDEyIEBACiBzdGF0aWMgdW5zaWduZWQgbG9uZyBncGlvX3ZhbGlkW0JJVFNfVE9fTE9OR1MoR1BJT19NQVgpXTsKIHN0YXRpYyBjb25zdCBjaGFyICpncGlvX2xhYmVsW0dQSU9fTUFYXTsgIC8qIG5vbiBudWxsIGZvciBhbGxvY2F0ZWQgR1BJT3MgKi8KIAotdm9pZCBfX2luaXQgb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKHUzMiBwaW5zKQordm9pZCBfX2luaXQgb3Jpb241eF9ncGlvX3NldF92YWxpZCh1bnNpZ25lZCBwaW4sIGludCB2YWxpZCkKIHsKLQlncGlvX3ZhbGlkWzBdID0gcGluczsKKwlpZiAodmFsaWQpCisJCV9fc2V0X2JpdChwaW4sIGdwaW9fdmFsaWQpOworCWVsc2UKKwkJX19jbGVhcl9iaXQocGluLCBncGlvX3ZhbGlkKTsKIH0KIAogLyoKQEAgLTkzLDEwICs5NiwxMCBAQAogewogCWludCB2YWwsIG1hc2sgPSAxIDw8IHBpbjsKIAotCWlmIChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmIG1hc2spCi0JCXZhbCA9IG9yaW9uNXhfcmVhZChHUElPX0RBVEFfSU4pIF4gb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKTsKKwlpZiAocmVhZGwoR1BJT19JT19DT05GKSAmIG1hc2spCisJCXZhbCA9IHJlYWRsKEdQSU9fREFUQV9JTikgXiByZWFkbChHUElPX0lOX1BPTCk7CiAJZWxzZQotCQl2YWwgPSBvcmlvbjV4X3JlYWQoR1BJT19PVVQpOworCQl2YWwgPSByZWFkbChHUElPX09VVCk7CiAKIAlyZXR1cm4gdmFsICYgbWFzazsKIH0KQEAgLTE4OCwzOSArMTkxLDM5IEBACiAJCQlwcmludGsoIkdQSU8sIGZyZWVcbiIpOwogCQl9IGVsc2UgewogCQkJcHJpbnRrKCJHUElPLCB1c2VkIGJ5ICVzLCAiLCBncGlvX2xhYmVsW2ldKTsKLQkJCWlmIChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmICgxIDw8IGkpKSB7CisJCQlpZiAocmVhZGwoR1BJT19JT19DT05GKSAmICgxIDw8IGkpKSB7CiAJCQkJcHJpbnRrKCJpbnB1dCwgYWN0aXZlICVzLCBsZXZlbCAlcywgZWRnZSAlc1xuIiwKLQkJCQkoKG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCkgPj4gaSkgJiAxKSA/ICJsb3ciIDogImhpZ2giLAotCQkJCSgob3Jpb241eF9yZWFkKEdQSU9fTEVWRUxfTUFTSykgPj4gaSkgJiAxKSA/ICJlbmFibGVkIiA6ICJtYXNrZWQiLAotCQkJCSgob3Jpb241eF9yZWFkKEdQSU9fRURHRV9NQVNLKSA+PiBpKSAmIDEpID8gImVuYWJsZWQiIDogIm1hc2tlZCIpOworCQkJCSgocmVhZGwoR1BJT19JTl9QT0wpID4+IGkpICYgMSkgPyAibG93IiA6ICJoaWdoIiwKKwkJCQkoKHJlYWRsKEdQSU9fTEVWRUxfTUFTSykgPj4gaSkgJiAxKSA/ICJlbmFibGVkIiA6ICJtYXNrZWQiLAorCQkJCSgocmVhZGwoR1BJT19FREdFX01BU0spID4+IGkpICYgMSkgPyAiZW5hYmxlZCIgOiAibWFza2VkIik7CiAJCQl9IGVsc2UgewotCQkJCXByaW50aygib3V0cHV0LCB2YWw9JWRcbiIsIChvcmlvbjV4X3JlYWQoR1BJT19PVVQpID4+IGkpICYgMSk7CisJCQkJcHJpbnRrKCJvdXRwdXQsIHZhbD0lZFxuIiwgKHJlYWRsKEdQSU9fT1VUKSA+PiBpKSAmIDEpOwogCQkJfQogCQl9CiAJfQogCiAJcHJpbnRrKEtFUk5fREVCVUcgIk1QUF8wXzdfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfMF83X0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfMF83X0NUUkwpKTsKKwkJCQlNUFBfMF83X0NUUkwsIHJlYWRsKE1QUF8wXzdfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJNUFBfOF8xNV9DVFJMICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCU1QUF84XzE1X0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfOF8xNV9DVFJMKSk7CisJCQkJTVBQXzhfMTVfQ1RSTCwgcmVhZGwoTVBQXzhfMTVfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJNUFBfMTZfMTlfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfMTZfMTlfQ1RSTCwgb3Jpb241eF9yZWFkKE1QUF8xNl8xOV9DVFJMKSk7CisJCQkJTVBQXzE2XzE5X0NUUkwsIHJlYWRsKE1QUF8xNl8xOV9DVFJMKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIk1QUF9ERVZfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfREVWX0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfREVWX0NUUkwpKTsKKwkJCQlNUFBfREVWX0NUUkwsIHJlYWRsKE1QUF9ERVZfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX09VVCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX09VVCwgb3Jpb241eF9yZWFkKEdQSU9fT1VUKSk7CisJCQkJR1BJT19PVVQsIHJlYWRsKEdQSU9fT1VUKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fSU9fQ09ORiAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0lPX0NPTkYsIG9yaW9uNXhfcmVhZChHUElPX0lPX0NPTkYpKTsKKwkJCQlHUElPX0lPX0NPTkYsIHJlYWRsKEdQSU9fSU9fQ09ORikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0JMSU5LX0VOICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fQkxJTktfRU4sIG9yaW9uNXhfcmVhZChHUElPX0JMSU5LX0VOKSk7CisJCQkJR1BJT19CTElOS19FTiwgcmVhZGwoR1BJT19CTElOS19FTikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0lOX1BPTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0lOX1BPTCwgb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKSk7CisJCQkJR1BJT19JTl9QT0wsIHJlYWRsKEdQSU9fSU5fUE9MKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fREFUQV9JTiAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0RBVEFfSU4sIG9yaW9uNXhfcmVhZChHUElPX0RBVEFfSU4pKTsKKwkJCQlHUElPX0RBVEFfSU4sIHJlYWRsKEdQSU9fREFUQV9JTikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0xFVkVMX01BU0sgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19MRVZFTF9NQVNLLCBvcmlvbjV4X3JlYWQoR1BJT19MRVZFTF9NQVNLKSk7CisJCQkJR1BJT19MRVZFTF9NQVNLLCByZWFkbChHUElPX0xFVkVMX01BU0spKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19FREdFX0NBVVNFICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fRURHRV9DQVVTRSwgb3Jpb241eF9yZWFkKEdQSU9fRURHRV9DQVVTRSkpOworCQkJCUdQSU9fRURHRV9DQVVTRSwgcmVhZGwoR1BJT19FREdFX0NBVVNFKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fRURHRV9NQVNLICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fRURHRV9NQVNLLCBvcmlvbjV4X3JlYWQoR1BJT19FREdFX01BU0spKTsKKwkJCQlHUElPX0VER0VfTUFTSywgcmVhZGwoR1BJT19FREdFX01BU0spKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9pcnEuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9pcnEuYwppbmRleCBkZDIxZjM4Li5lMmEwMDg0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvaXJxLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2lycS5jCkBAIC04Miw3ICs4Miw3IEBACiAJaW50IHBpbiA9IGlycV90b19ncGlvKGlycSk7CiAJc3RydWN0IGlycV9kZXNjICpkZXNjOwogCi0JaWYgKChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmICgxIDw8IHBpbikpID09IDApIHsKKwlpZiAoKHJlYWRsKEdQSU9fSU9fQ09ORikgJiAoMSA8PCBwaW4pKSA9PSAwKSB7CiAJCXByaW50ayhLRVJOX0VSUiAib3Jpb241eF9ncGlvX3NldF9pcnFfdHlwZSBmYWlsZWQgIgogCQkJCSIoaXJxICVkLCBwaW4gJWQpLlxuIiwgaXJxLCBwaW4pOwogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTExNyw3ICsxMTcsNyBAQAogCQkvKgogCQkgKiBzZXQgaW5pdGlhbCBwb2xhcml0eSBiYXNlZCBvbiBjdXJyZW50IGlucHV0IGxldmVsCiAJCSAqLwotCQlpZiAoKG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCkgXiBvcmlvbjV4X3JlYWQoR1BJT19EQVRBX0lOKSkKKwkJaWYgKChyZWFkbChHUElPX0lOX1BPTCkgXiByZWFkbChHUElPX0RBVEFfSU4pKQogCQkgICAgJiAoMSA8PCBwaW4pKQogCQkJb3Jpb241eF9zZXRiaXRzKEdQSU9fSU5fUE9MLCAoMSA8PCBwaW4pKTsgLyogZmFsbGluZyAqLwogCQllbHNlCkBAIC0xNDksOCArMTQ5LDggQEAKIAogCUJVR19PTihpcnEgPCBJUlFfT1JJT041WF9HUElPXzBfNyB8fCBpcnEgPiBJUlFfT1JJT041WF9HUElPXzI0XzMxKTsKIAlvZmZzID0gKGlycSAtIElSUV9PUklPTjVYX0dQSU9fMF83KSAqIDg7Ci0JY2F1c2UgPSAob3Jpb241eF9yZWFkKEdQSU9fREFUQV9JTikgJiBvcmlvbjV4X3JlYWQoR1BJT19MRVZFTF9NQVNLKSkgfAotCQkob3Jpb241eF9yZWFkKEdQSU9fRURHRV9DQVVTRSkgJiBvcmlvbjV4X3JlYWQoR1BJT19FREdFX01BU0spKTsKKwljYXVzZSA9IChyZWFkbChHUElPX0RBVEFfSU4pICYgcmVhZGwoR1BJT19MRVZFTF9NQVNLKSkgfAorCQkocmVhZGwoR1BJT19FREdFX0NBVVNFKSAmIHJlYWRsKEdQSU9fRURHRV9NQVNLKSk7CiAKIAlmb3IgKHBpbiA9IG9mZnM7IHBpbiA8IG9mZnMgKyA4OyBwaW4rKykgewogCQlpZiAoY2F1c2UgJiAoMSA8PCBwaW4pKSB7CkBAIC0xNTgsOSArMTU4LDkgQEAKIAkJCWRlc2MgPSBpcnFfZGVzYyArIGlycTsKIAkJCWlmICgoZGVzYy0+c3RhdHVzICYgSVJRX1RZUEVfU0VOU0VfTUFTSykgPT0gSVJRVF9CT1RIRURHRSkgewogCQkJCS8qIFN3YXAgcG9sYXJpdHkgKHJhY2Ugd2l0aCBHUElPIGxpbmUpICovCi0JCQkJdTMyIHBvbGFyaXR5ID0gb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKTsKKwkJCQl1MzIgcG9sYXJpdHkgPSByZWFkbChHUElPX0lOX1BPTCk7CiAJCQkJcG9sYXJpdHkgXj0gMSA8PCBwaW47Ci0JCQkJb3Jpb241eF93cml0ZShHUElPX0lOX1BPTCwgcG9sYXJpdHkpOworCQkJCXdyaXRlbChwb2xhcml0eSwgR1BJT19JTl9QT0wpOwogCQkJfQogCQkJZGVzY19oYW5kbGVfaXJxKGlycSwgZGVzYyk7CiAJCX0KQEAgLTE3NSw5ICsxNzUsOSBAQAogCS8qCiAJICogTWFzayBhbmQgY2xlYXIgR1BJTyBJUlEgaW50ZXJydXB0cwogCSAqLwotCW9yaW9uNXhfd3JpdGUoR1BJT19MRVZFTF9NQVNLLCAweDApOwotCW9yaW9uNXhfd3JpdGUoR1BJT19FREdFX01BU0ssIDB4MCk7Ci0Jb3Jpb241eF93cml0ZShHUElPX0VER0VfQ0FVU0UsIDB4MCk7CisJd3JpdGVsKDB4MCwgR1BJT19MRVZFTF9NQVNLKTsKKwl3cml0ZWwoMHgwLCBHUElPX0VER0VfTUFTSyk7CisJd3JpdGVsKDB4MCwgR1BJT19FREdFX0NBVVNFKTsKIAogCS8qCiAJICogUmVnaXN0ZXIgY2hhaW5lZCBsZXZlbCBoYW5kbGVycyBmb3IgR1BJTyBJUlFzIGJ5IGRlZmF1bHQuCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgva3Vyb2JveF9wcm8tc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCmluZGV4IGY1MDc0YjguLjg0ZmVhYzQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCkBAIC0xMywxMCArMTMsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KICNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KICNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9ncGlvLmg+CkBAIC0yNSw2ICsyNyw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgogI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBLVVJPQk9YLVBSTyBJbmZvCkBAIC01MywxMyArNTYsMTEgQEAKIAkJLm5hbWUJPSAidUltYWdlIiwKIAkJLm9mZnNldAk9IDAsCiAJCS5zaXplCT0gU1pfNE0sCi0JfSwKLQl7CisJfSwgewogCQkubmFtZQk9ICJyb290ZnMiLAogCQkub2Zmc2V0CT0gU1pfNE0sCiAJCS5zaXplCT0gU1pfNjRNLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUJPSAiZXh0cmEiLAogCQkub2Zmc2V0CT0gU1pfNE0gKyBTWl82NE0sCiAJCS5zaXplCT0gU1pfMjU2TSAtIChTWl80TSArIFNaXzY0TSksCkBAIC0xMzIsOCArMTMzLDYgQEAKIAkvKgogCSAqIFBDSSBpc24ndCB1c2VkIG9uIHRoZSBLdXJvCiAJICovCi0JcHJpbnRrKEtFUk5fRVJSICJrdXJvYm94X3Byb19wY2lfbWFwX2lycSBmYWlsZWQsIHVua25vd24gYnVzXG4iKTsKLQogCXJldHVybiAtMTsKIH0KIApAQCAtMTYxLDcgKzE2MCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBrdXJvYm94X3Byb19ldGhfZGF0YSA9IHsKIAkucGh5X2FkZHIJPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTE3NSwxMiArMTczLDE2OSBAQAogICogU0FUQQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBrdXJvYm94X3Byb19zYXRhX2RhdGEgPSB7Ci0JLm5fcG9ydHMgICAgICAgID0gMiwKKwkubl9wb3J0cwk9IDIsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEt1cm9ib3ggUHJvIHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgdmlhIFVBUlQxLWF0dGFjaGVkIG1pY3JvY29udHJvbGxlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVUFSVDFfUkVHKHgpCShVQVJUMV9WSVJUX0JBU0UgKyAoKFVBUlRfIyN4KSA8PCAyKSkKKworc3RhdGljIGludCBrdXJvYm94X3Byb19taWNvbnJlYWQodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY291bnQpCit7CisJaW50IGk7CisJaW50IHRpbWVvdXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQl0aW1lb3V0ID0gMTA7CisKKwkJd2hpbGUgKCEocmVhZGwoVUFSVDFfUkVHKExTUikpICYgVUFSVF9MU1JfRFIpKSB7CisJCQlpZiAoLS10aW1lb3V0ID09IDApCisJCQkJYnJlYWs7CisJCQl1ZGVsYXkoMTAwMCk7CisJCX0KKworCQlpZiAodGltZW91dCA9PSAwKQorCQkJYnJlYWs7CisJCWJ1ZltpXSA9IHJlYWRsKFVBUlQxX1JFRyhSWCkpOworCX0KKworCS8qIHJldHVybiByZWFkIGJ5dGVzICovCisJcmV0dXJuIGk7Cit9CisKK3N0YXRpYyBpbnQga3Vyb2JveF9wcm9fbWljb253cml0ZShjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCkKK3sKKwlpbnQgaSA9IDA7CisKKwl3aGlsZSAoY291bnQtLSkgeworCQl3aGlsZSAoIShyZWFkbChVQVJUMV9SRUcoTFNSKSkgJiBVQVJUX0xTUl9USFJFKSkKKwkJCWJhcnJpZXIoKTsKKwkJd3JpdGVsKGJ1ZltpKytdLCBVQVJUMV9SRUcoVFgpKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBrdXJvYm94X3Byb19taWNvbnNlbmQoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGNvdW50KQoreworCWludCBpOworCXVuc2lnbmVkIGNoYXIgY2hlY2tzdW0gPSAwOworCXVuc2lnbmVkIGNoYXIgcmVjdl9idWZbNDBdOworCXVuc2lnbmVkIGNoYXIgc2VuZF9idWZbNDBdOworCXVuc2lnbmVkIGNoYXIgY29ycmVjdF9hY2tbM107CisJaW50IHJldHJ5ID0gMjsKKworCS8qIEdlbmVyYXRlIGNoZWNrc3VtICovCisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspCisJCWNoZWNrc3VtIC09ICBkYXRhW2ldOworCisJZG8geworCQkvKiBTZW5kIGRhdGEgKi8KKwkJa3Vyb2JveF9wcm9fbWljb253cml0ZShkYXRhLCBjb3VudCk7CisKKwkJLyogc2VuZCBjaGVja3N1bSAqLworCQlrdXJvYm94X3Byb19taWNvbndyaXRlKCZjaGVja3N1bSwgMSk7CisKKwkJaWYgKGt1cm9ib3hfcHJvX21pY29ucmVhZChyZWN2X2J1Ziwgc2l6ZW9mKHJlY3ZfYnVmKSkgPD0gMykgeworCQkJcHJpbnRrKEtFUk5fRVJSICI+JXM6IHJlY2VpdmUgZmFpbGVkLlxuIiwgX19mdW5jX18pOworCisJCQkvKiBzZW5kIHByZWFtYmxlIHRvIGNsZWFyIHRoZSByZWNlaXZlIGJ1ZmZlciAqLworCQkJbWVtc2V0KCZzZW5kX2J1ZiwgMHhmZiwgc2l6ZW9mKHNlbmRfYnVmKSk7CisJCQlrdXJvYm94X3Byb19taWNvbndyaXRlKHNlbmRfYnVmLCBzaXplb2Yoc2VuZF9idWYpKTsKKworCQkJLyogbWFrZSBkdW1teSByZWFkcyAqLworCQkJbWRlbGF5KDEwMCk7CisJCQlrdXJvYm94X3Byb19taWNvbnJlYWQocmVjdl9idWYsIHNpemVvZihyZWN2X2J1ZikpOworCQl9IGVsc2UgeworCQkJLyogR2VuZXJhdGUgZXhwZWN0ZWQgYWNrICovCisJCQljb3JyZWN0X2Fja1swXSA9IDB4MDE7CisJCQljb3JyZWN0X2Fja1sxXSA9IGRhdGFbMV07CisJCQljb3JyZWN0X2Fja1syXSA9IDB4MDA7CisKKwkJCS8qIGNoZWNrc3VtIENoZWNrICovCisJCQlpZiAoKHJlY3ZfYnVmWzBdICsgcmVjdl9idWZbMV0gKyByZWN2X2J1ZlsyXSArCisJCQkgICAgIHJlY3ZfYnVmWzNdKSAmIDB4RkYpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIj4lczogQ2hlY2tzdW0gRXJyb3IgOiAiCisJCQkJCSJSZWNlaXZlZCBkYXRhWyUwMngsICUwMngsICUwMngsICUwMnhdIgorCQkJCQkiXG4iLCBfX2Z1bmNfXywgcmVjdl9idWZbMF0sCisJCQkJCXJlY3ZfYnVmWzFdLCByZWN2X2J1ZlsyXSwgcmVjdl9idWZbM10pOworCQkJfSBlbHNlIHsKKwkJCQkvKiBDaGVjayBSZWNlaXZlZCBEYXRhICovCisJCQkJaWYgKGNvcnJlY3RfYWNrWzBdID09IHJlY3ZfYnVmWzBdICYmCisJCQkJICAgIGNvcnJlY3RfYWNrWzFdID09IHJlY3ZfYnVmWzFdICYmCisJCQkJICAgIGNvcnJlY3RfYWNrWzJdID09IHJlY3ZfYnVmWzJdKSB7CisJCQkJCS8qIEludGVydmFsIGZvciBuZXh0IGNvbW1hbmQgKi8KKwkJCQkJbWRlbGF5KDEwKTsKKworCQkJCQkvKiBSZWNlaXZlIEFDSyAqLworCQkJCQlyZXR1cm4gMDsKKwkJCQl9CisJCQl9CisJCQkvKiBSZWNlaXZlZCBOQUsgb3IgaWxsZWdhbCBEYXRhICovCisJCQlwcmludGsoS0VSTl9FUlIgIj4lczogRXJyb3IgOiBOQUsgb3IgSWxsZWdhbCBEYXRhICIKKwkJCQkJIlJlY2VpdmVkXG4iLCBfX2Z1bmNfXyk7CisJCX0KKwl9IHdoaWxlIChyZXRyeS0tKTsKKworCS8qIEludGVydmFsIGZvciBuZXh0IGNvbW1hbmQgKi8KKwltZGVsYXkoMTApOworCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBrdXJvYm94X3Byb19wb3dlcl9vZmYodm9pZCkKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyIHdhdGNoZG9na2lsbFtdCT0gezB4MDEsIDB4MzUsIDB4MDB9OworCWNvbnN0IHVuc2lnbmVkIGNoYXIgc2h1dGRvd253YWl0W10JPSB7MHgwMCwgMHgwY307CisJY29uc3QgdW5zaWduZWQgY2hhciBwb3dlcm9mZltdCQk9IHsweDAwLCAweDA2fTsKKwkvKiAzODQwMCBiYXVkIGRpdmlzb3IgKi8KKwljb25zdCB1bnNpZ25lZCBkaXZpc29yID0gKChPUklPTjVYX1RDTEsgKyAoOCAqIDM4NDAwKSkgLyAoMTYgKiAzODQwMCkpOworCisJcHJfaW5mbygiJXM6IHRyaWdnZXJpbmcgcG93ZXItb2ZmLi4uXG4iLCBfX2Z1bmNfXyk7CisKKwkvKiBoaWphY2sgdWFydDEgYW5kIHJlc2V0IGludG8gc2FuZSBzdGF0ZSAoMzg0MDAsOG4xLGV2ZW4gcGFyaXR5KSAqLworCXdyaXRlbCgweDgzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKGRpdmlzb3IgJiAweGZmLCBVQVJUMV9SRUcoRExMKSk7CisJd3JpdGVsKChkaXZpc29yID4+IDgpICYgMHhmZiwgVUFSVDFfUkVHKERMTSkpOworCXdyaXRlbCgweDFiLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKDB4MDAsIFVBUlQxX1JFRyhJRVIpKTsKKwl3cml0ZWwoMHgwNywgVUFSVDFfUkVHKEZDUikpOworCXdyaXRlbCgweDAwLCBVQVJUMV9SRUcoTUNSKSk7CisKKwkvKiBTZW5kIHRoZSBjb21tYW5kcyB0byBzaHV0ZG93biB0aGUgS3Vyb2JveCBQcm8gKi8KKwlrdXJvYm94X3Byb19taWNvbnNlbmQod2F0Y2hkb2draWxsLCBzaXplb2Yod2F0Y2hkb2draWxsKSkgOworCWt1cm9ib3hfcHJvX21pY29uc2VuZChzaHV0ZG93bndhaXQsIHNpemVvZihzaHV0ZG93bndhaXQpKSA7CisJa3Vyb2JveF9wcm9fbWljb25zZW5kKHBvd2Vyb2ZmLCBzaXplb2YocG93ZXJvZmYpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBrdXJvYm94X3Byb19tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9VTlVTRUQgfSwKKwl7ICAxLCBNUFBfVU5VU0VEIH0sCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEdQSU8gTWljb24gKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogR1BJTyBSdGMgKi8KKwl7ICA0LCBNUFBfVU5VU0VEIH0sCisJeyAgNSwgTVBQX1VOVVNFRCB9LAorCXsgIDYsIE1QUF9OQU5EIH0sCQkvKiBOQU5EIEZsYXNoIFJFbiAqLworCXsgIDcsIE1QUF9OQU5EIH0sCQkvKiBOQU5EIEZsYXNoIFdFbiAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwKKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX1VOVVNFRCB9LAorCXsgMTEsIE1QUF9VTlVTRUQgfSwKKwl7IDEyLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBwcmVzZW5jZSAqLworCXsgMTMsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIHByZXNlbmNlICovCisJeyAxNCwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgYWN0aXZlICovCisJeyAxNSwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgYWN0aXZlICovCisJeyAxNiwgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFJYRCAqLworCXsgMTcsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBUWEQgKi8KKwl7IDE4LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgQ1RTbiAqLworCXsgMTksIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBSVFNuICovCisJeyAtMSB9LAorfTsKIAogc3RhdGljIHZvaWQgX19pbml0IGt1cm9ib3hfcHJvX2luaXQodm9pZCkKIHsKQEAgLTE4OSw0NiArMzQ0LDMzIEBACiAJICovCiAJb3Jpb241eF9pbml0KCk7CiAKLQkvKgotCSAqIFNldHVwIHRoZSBDUFUgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3Igb3VyIGRldmljZXMKLQkgKi8KLQlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihLVVJPQk9YX1BST19OT1JfQk9PVF9CQVNFLAotCQkJCUtVUk9CT1hfUFJPX05PUl9CT09UX1NJWkUpOwotCW9yaW9uNXhfc2V0dXBfZGV2MF93aW4oS1VST0JPWF9QUk9fTkFORF9CQVNFLCBLVVJPQk9YX1BST19OQU5EX1NJWkUpOworCW9yaW9uNXhfbXBwX2NvbmYoa3Vyb2JveF9wcm9fbXBwX21vZGVzKTsKIAogCS8qCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgogCSAqLwotCW9yaW9uNXhfc2V0dXBfcGNpZV93YV93aW4oT1JJT041WF9QQ0lFX1dBX1BIWVNfQkFTRSwKLQkJCQlPUklPTjVYX1BDSUVfV0FfU0laRSk7Ci0KLQkvKgotCSAqIFNldHVwIE11bHRpcGxleGluZyBQaW5zIC0tCi0JICogTVBQWzAtMV0gTm90IHVzZWQKLQkgKiBNUFBbMl0gR1BJTyBNaWNvbgotCSAqIE1QUFszXSBHUElPIFJUQwotCSAqIE1QUFs0LTVdIE5vdCB1c2VkCi0JICogTVBQWzZdIE5hbmQgRmxhc2ggUkVuCi0JICogTVBQWzddIE5hbmQgRmxhc2ggV0VuCi0JICogTVBQWzgtMTFdIE5vdCB1c2VkCi0JICogTVBQWzEyXSBTQVRBIDAgcHJlc2VuY2UgSW5kaWNhdGlvbgotCSAqIE1QUFsxM10gU0FUQSAxIHByZXNlbmNlIEluZGljYXRpb24KLQkgKiBNUFBbMTRdIFNBVEEgMCBhY3RpdmUgSW5kaWNhdGlvbgotCSAqIE1QUFsxNV0gU0FUQSAxIGFjdGl2ZSBpbmRpY2F0aW9uCi0JICogTVBQWzE2LTE5XSBOb3QgdXNlZAotCSAqLwotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAweDQ0MjIwMDAzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NTU1NTAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDB4MCk7Ci0KLQlvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnMoMHgwMDAwMDAwYyk7Ci0KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmt1cm9ib3hfcHJvX25vcl9mbGFzaCk7Ci0JaWYgKG1hY2hpbmVfaXNfa3Vyb2JveF9wcm8oKSkKLQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19uYW5kX2ZsYXNoKTsKLQlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAma3Vyb2JveF9wcm9faTJjX3J0YywgMSk7CisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CiAJb3Jpb241eF9ldGhfaW5pdCgma3Vyb2JveF9wcm9fZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKIAlvcmlvbjV4X3NhdGFfaW5pdCgma3Vyb2JveF9wcm9fc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKwlvcmlvbjV4X3VhcnQxX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKEtVUk9CT1hfUFJPX05PUl9CT09UX0JBU0UsCisJCQkJICAgS1VST0JPWF9QUk9fTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19ub3JfZmxhc2gpOworCisJaWYgKG1hY2hpbmVfaXNfa3Vyb2JveF9wcm8oKSkgeworCQlvcmlvbjV4X3NldHVwX2RldjBfd2luKEtVUk9CT1hfUFJPX05BTkRfQkFTRSwKKwkJCQkgICAgICAgS1VST0JPWF9QUk9fTkFORF9TSVpFKTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19uYW5kX2ZsYXNoKTsKKwl9CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAma3Vyb2JveF9wcm9faTJjX3J0YywgMSk7CisKKwkvKiByZWdpc3RlciBLdXJvYm94IFBybyBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0ga3Vyb2JveF9wcm9fcG93ZXJfb2ZmOwogfQogCiAjaWZkZWYgQ09ORklHX01BQ0hfS1VST0JPWF9QUk8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDhjYWRiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5jCkBAIC0wLDAgKzEsMTYzIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5jCisgKgorICogTVBQIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBPcmlvbiA1eCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKK3N0YXRpYyBpbnQgaXNfNTE4MWwodm9pZCkKK3sKKwl1MzIgZGV2OworCXUzMiByZXY7CisKKwlvcmlvbjV4X3BjaWVfaWQoJmRldiwgJnJldik7CisKKwlyZXR1cm4gISEoZGV2ID09IE1WODhGNTE4MV9ERVZfSUQgJiYgcmV2ID49IE1WODhGNTE4MUxfUkVWX0EwKTsKK30KKworc3RhdGljIGludCBpc181MTgyKHZvaWQpCit7CisJdTMyIGRldjsKKwl1MzIgcmV2OworCisJb3Jpb241eF9wY2llX2lkKCZkZXYsICZyZXYpOworCisJcmV0dXJuICEhKGRldiA9PSBNVjg4RjUxODJfREVWX0lEKTsKK30KKworc3RhdGljIGludCBpc181MjgxKHZvaWQpCit7CisJdTMyIGRldjsKKwl1MzIgcmV2OworCisJb3Jpb241eF9wY2llX2lkKCZkZXYsICZyZXYpOworCisJcmV0dXJuICEhKGRldiA9PSBNVjg4RjUyODFfREVWX0lEKTsKK30KKworc3RhdGljIGludCBfX2luaXQgZGV0ZXJtaW5lX3R5cGVfZW5jb2RpbmcoaW50IG1wcCwgZW51bSBvcmlvbjV4X21wcF90eXBlIHR5cGUpCit7CisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBNUFBfVU5VU0VEOgorCWNhc2UgTVBQX0dQSU86CisJCWlmIChtcHAgPT0gMCkKKwkJCXJldHVybiAzOworCQlpZiAobXBwID49IDEgJiYgbXBwIDw9IDE1KQorCQkJcmV0dXJuIDA7CisJCWlmIChtcHAgPj0gMTYgJiYgbXBwIDw9IDE5KSB7CisJCQlpZiAoaXNfNTE4MigpKQorCQkJCXJldHVybiA1OworCQkJaWYgKHR5cGUgPT0gTVBQX1VOVVNFRCkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9QQ0lFX1JTVF9PVVRuOgorCQlpZiAobXBwID09IDApCisJCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfUENJX0FSQjoKKwkJaWYgKG1wcCA+PSAwICYmIG1wcCA8PSA3KQorCQkJcmV0dXJuIDI7CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1BDSV9QTUVuOgorCQlpZiAobXBwID09IDIpCisJCQlyZXR1cm4gMzsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfR0lHRToKKwkJaWYgKG1wcCA+PSA4ICYmIG1wcCA8PSAxOSkKKwkJCXJldHVybiAxOworCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9OQU5EOgorCQlpZiAoaXNfNTE4MigpIHx8IGlzXzUyODEoKSkgeworCQkJaWYgKG1wcCA+PSA0ICYmIG1wcCA8PSA3KQorCQkJCXJldHVybiA0OworCQkJaWYgKG1wcCA+PSAxMiAmJiBtcHAgPD0gMTcpCisJCQkJcmV0dXJuIDQ7CisJCX0KKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfUENJX0NMSzoKKwkJaWYgKGlzXzUxODFsKCkgJiYgbXBwID49IDYgJiYgbXBwIDw9IDcpCisJCQlyZXR1cm4gNTsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfU0FUQV9MRUQ6CisJCWlmIChpc181MTgyKCkpIHsKKwkJCWlmIChtcHAgPj0gNCAmJiBtcHAgPD0gNykKKwkJCQlyZXR1cm4gNTsKKwkJCWlmIChtcHAgPj0gMTIgJiYgbXBwIDw9IDE1KQorCQkJCXJldHVybiA1OworCQl9CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1VBUlQ6CisJCWlmIChtcHAgPj0gMTYgJiYgbXBwIDw9IDE5KQorCQkJcmV0dXJuIDA7CisJCXJldHVybiAtMTsKKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJ1bmtub3duIE1QUCB0eXBlICVkXG4iLCB0eXBlKTsKKworCXJldHVybiAtMTsKK30KKwordm9pZCBfX2luaXQgb3Jpb241eF9tcHBfY29uZihzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSAqbW9kZSkKK3sKKwl1MzIgbXBwXzBfN19jdHJsID0gcmVhZGwoTVBQXzBfN19DVFJMKTsKKwl1MzIgbXBwXzhfMTVfY3RybCA9IHJlYWRsKE1QUF84XzE1X0NUUkwpOworCXUzMiBtcHBfMTZfMTlfY3RybCA9IHJlYWRsKE1QUF8xNl8xOV9DVFJMKTsKKworCXdoaWxlIChtb2RlLT5tcHAgPj0gMCkgeworCQl1MzIgKnJlZzsKKwkJaW50IG51bV90eXBlOworCQlpbnQgc2hpZnQ7CisKKwkJaWYgKG1vZGUtPm1wcCA+PSAwICYmIG1vZGUtPm1wcCA8PSA3KQorCQkJcmVnID0gJm1wcF8wXzdfY3RybDsKKwkJZWxzZSBpZiAobW9kZS0+bXBwID49IDggJiYgbW9kZS0+bXBwIDw9IDE1KQorCQkJcmVnID0gJm1wcF84XzE1X2N0cmw7CisJCWVsc2UgaWYgKG1vZGUtPm1wcCA+PSAxNiAmJiBtb2RlLT5tcHAgPD0gMTkpCisJCQlyZWcgPSAmbXBwXzE2XzE5X2N0cmw7CisJCWVsc2UgeworCQkJcHJpbnRrKEtFUk5fRVJSICJvcmlvbjV4X21wcF9jb25mOiBpbnZhbGlkIE1QUCAiCisJCQkJCSIoJWQpXG4iLCBtb2RlLT5tcHApOworCQkJY29udGludWU7CisJCX0KKworCQludW1fdHlwZSA9IGRldGVybWluZV90eXBlX2VuY29kaW5nKG1vZGUtPm1wcCwgbW9kZS0+dHlwZSk7CisJCWlmIChudW1fdHlwZSA8IDApIHsKKwkJCXByaW50ayhLRVJOX0VSUiAib3Jpb241eF9tcHBfY29uZjogaW52YWxpZCBNUFAgIgorCQkJCQkiY29tYmluYXRpb24gKCVkLCAlZClcbiIsIG1vZGUtPm1wcCwKKwkJCQkJbW9kZS0+dHlwZSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCXNoaWZ0ID0gKG1vZGUtPm1wcCAmIDcpIDw8IDI7CisJCSpyZWcgJj0gfigweGYgPDwgc2hpZnQpOworCQkqcmVnIHw9IChudW1fdHlwZSAmIDB4ZikgPDwgc2hpZnQ7CisKKwkJb3Jpb241eF9ncGlvX3NldF92YWxpZChtb2RlLT5tcHAsICEhKG1vZGUtPnR5cGUgPT0gTVBQX0dQSU8pKTsKKworCQltb2RlKys7CisJfQorCisJd3JpdGVsKG1wcF8wXzdfY3RybCwgTVBQXzBfN19DVFJMKTsKKwl3cml0ZWwobXBwXzhfMTVfY3RybCwgTVBQXzhfMTVfQ1RSTCk7CisJd3JpdGVsKG1wcF8xNl8xOV9jdHJsLCBNUFBfMTZfMTlfQ1RSTCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkwZTYxMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuaApAQCAtMCwwICsxLDc0IEBACisjaWZuZGVmIF9fQVJDSF9PUklPTjVYX01QUF9ICisjZGVmaW5lIF9fQVJDSF9PUklPTjVYX01QUF9ICisKK2VudW0gb3Jpb241eF9tcHBfdHlwZSB7CisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1bnVzZWQuCisJICovCisJTVBQX1VOVVNFRCwKKworCS8qCisJICogVGhpcyBNUFAgcGluIGlzIHVzZWQgYXMgYSBnZW5lcmljIEdQSU8gcGluLiAgVmFsaWQgZm9yCisJICogTVBQcyAwLTE1IGFuZCBkZXZpY2UgYnVzIGRhdGEgcGlucyAxNi0zMS4gIE9uIDUxODIsIGFsc28KKwkgKiB2YWxpZCBmb3IgTVBQcyAxNi0xOS4KKwkgKi8KKwlNUFBfR1BJTywKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBQQ0llX1JTVF9PVVRuIHBpbi4gIFZhbGlkIGZvcgorCSAqIE1QUCAwIG9ubHkuCisJICovCisJTVBQX1BDSUVfUlNUX09VVG4sCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgUENJIGFyYml0ZXIgcGluIChSRVFuL0dOVG4pLgorCSAqIFZhbGlkIGZvciBNUFBzIDAtNyBvbmx5LgorCSAqLworCU1QUF9QQ0lfQVJCLAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIFBDSV9QTUVuIHBpbi4gIFZhbGlkIGZvciBNUFAgMiBvbmx5LgorCSAqLworCU1QUF9QQ0lfUE1FbiwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBHaWdFIGhhbGYtZHVwbGV4IChDT0wsIENSUykgb3IgR01JSQorCSAqIChSWEVSUiwgQ1JTLCBUWEVSUiwgVFhEWzc6NF0sIFJYRFs3OjRdKSBwaW4uICBWYWxpZCBmb3IKKwkgKiBNUFBzIDgtMTkgb25seS4KKwkgKi8KKwlNUFBfR0lHRSwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBOQU5EIFJFbi9XRW4gcGluLiAgVmFsaWQgZm9yIE1QUHMKKwkgKiA0LTcgYW5kIDEyLTE3IG9ubHksIGFuZCBvbmx5IG9uIHRoZSA1MTgxbC81MTgyLzUyODEuCisJICovCisJTVBQX05BTkQsCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgYSBQQ0kgY2xvY2sgb3V0cHV0IHBpbi4gIFZhbGlkIGZvcgorCSAqIE1QUHMgNi03IG9ubHksIGFuZCBvbmx5IG9uIHRoZSA1MTgxbC4KKwkgKi8KKwlNUFBfUENJX0NMSywKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBhIFNBVEEgcHJlc2VuY2UvYWN0aXZpdHkgTEVELgorCSAqIFZhbGlkIGZvciBNUFBzIDQtNyBhbmQgMTItMTUgb25seSwgYW5kIG9ubHkgb24gdGhlIDUxODIuCisJICovCisJTVBQX1NBVEFfTEVELAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIFVBUlQxIFJYRC9UWEQvQ1RTbi9SVFNuIHBpbi4KKwkgKiBWYWxpZCBmb3IgTVBQcyAxNi0xOSBvbmx5LgorCSAqLworCU1QUF9VQVJULAorfTsKKworc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgeworCWludAkJCW1wcDsKKwllbnVtIG9yaW9uNXhfbXBwX3R5cGUJdHlwZTsKK307CisKK3ZvaWQgb3Jpb241eF9tcHBfY29uZihzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSAqbW9kZSk7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXNzMi1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21zczItc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2U5ZTQwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21zczItc2V0dXAuYwpAQCAtMCwwICsxLDI3MCBAQAorLyoKKyAqIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSBCb2FyZCBTZXR1cAorICoKKyAqIE1haW50YWluZXI6IFN5bHZlciBCcnVuZWF1IDxzeWx2ZXIuYnJ1bmVhdUBnb29nbGVtYWlsLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCisgKiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2xlZHMuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKyNkZWZpbmUgTVNTMl9OT1JfQk9PVF9CQVNFCTB4ZmY4MDAwMDAKKyNkZWZpbmUgTVNTMl9OT1JfQk9PVF9TSVpFCVNaXzI1NksKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkgSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkgaGFyZHdhcmUgOgorICogLSBNYXJ2ZWxsIDg4RjUxODItQTIgQzUwMAorICogLSBNYXJ2ZWxsIDg4RTExMTEgR2lnYWJpdCBFdGhlcm5ldCBQSFkKKyAqIC0gUlRDIE00MVQ4MSAoQDB4NjgpIG9uIEkyQyBidXMKKyAqIC0gMjU2S0IgTk9SIGZsYXNoCisgKiAtIDY0TUIgb2YgUkFNCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAyNTZLQiBOT1IgRmxhc2ggb24gQk9PVCBEZXZpY2UKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBtc3MyX25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtc3MyX25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IE1TUzJfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IE1TUzJfTk9SX0JPT1RfQkFTRSArIE1TUzJfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtc3MyX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm1zczJfbm9yX2ZsYXNoX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSAmbXNzMl9ub3JfZmxhc2hfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFBDSSBzZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgaW50IF9faW5pdCBtc3MyX3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSBtc3MyX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycyA9IDIsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKKwkuc2NhbgkJPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSBtc3MyX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgbXNzMl9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX21zczIoKSkKKwkJcGNpX2NvbW1vbl9pbml0KCZtc3MyX3BjaSk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChtc3MyX3BjaV9pbml0KTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEV0aGVybmV0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIG1zczJfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU0FUQQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIG1zczJfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR1BJTyBidXR0b25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBNU1MyX0dQSU9fS0VZX1JFU0VUCTEyCisjZGVmaW5lIE1TUzJfR1BJT19LRVlfUE9XRVIJMTEKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIG1zczJfYnV0dG9uc1tdID0geworCXsKKwkJLmNvZGUJCT0gS0VZX1BPV0VSLAorCQkuZ3BpbwkJPSBNU1MyX0dQSU9fS0VZX1BPV0VSLAorCQkuZGVzYwkJPSAiUG93ZXIiLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJfSwgeworCQkuY29kZQkJPSBLRVlfUkVTVEFSVCwKKwkJLmdwaW8JCT0gTVNTMl9HUElPX0tFWV9SRVNFVCwKKwkJLmRlc2MJCT0gIlJlc2V0IiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIG1zczJfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBtc3MyX2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShtc3MyX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXNzMl9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXNzMl9idXR0b25fZGF0YSwKKwl9LAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSVEMgbTQxdDgxIG9uIEkyQyBidXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIE1TUzJfR1BJT19SVENfSVJRCTMKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIG1zczJfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygibTQxdDgxIiwgMHg2OCksCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIE1TUzIgcG93ZXIgb2ZmIG1ldGhvZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogT24gdGhlIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSwgdGhlIHNodXRkb3duIHByb2Nlc3MgaXMgdGhlIGZvbGxvd2luZyA6CisgKiAtIFVzZXJsYW5kIG1vZGlmaWVzIFUtYm9vdCBlbnYgdG8gdGVsbCBVLWJvb3QgdG8gZ28gaWRsZSBhdCBuZXh0IGJvb3QKKyAqIC0gVGhlIGJvYXJkIHJlYm9vdHMKKyAqIC0gVS1ib290IHN0YXJ0cyBhbmQgZ28gaW50byBhbiBpZGxlIG1vZGUgdW50aWwgdGhlIHVzZXIgcHJlc3MgInBvd2VyIgorICovCitzdGF0aWMgdm9pZCBtc3MyX3Bvd2VyX29mZih2b2lkKQoreworCXUzMiByZWc7CisKKwkvKgorCSAqIEVuYWJsZSBhbmQgaXNzdWUgc29mdCByZXNldAorCSAqLworCXJlZyA9IHJlYWRsKENQVV9SRVNFVF9NQVNLKTsKKwlyZWcgfD0gMSA8PCAyOworCXdyaXRlbChyZWcsIENQVV9SRVNFVF9NQVNLKTsKKworCXJlZyA9IHJlYWRsKENQVV9TT0ZUX1JFU0VUKTsKKwlyZWcgfD0gMTsKKwl3cml0ZWwocmVnLCBDUFVfU09GVF9SRVNFVCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsIFNldHVwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBtc3MyX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBFcnJvciBMRUQgKi8KKwl7ICAyLCBNUFBfVU5VU0VEIH0sCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogSEREIGluZC4gKFNpbmdsZS9EdWFsKSovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIEhEMCA1ViBjb250cm9sICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIEhEMCAxMlYgY29udHJvbCAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBIRDEgNVYgY29udHJvbCAqLworCXsgIDgsIE1QUF9HUElPIH0sCQkvKiBIRDEgMTJWIGNvbnRyb2wgKi8KKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIEZhbiBjb250cm9sICovCisJeyAxMSwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIGJ1dHRvbiAqLworCXsgMTIsIE1QUF9HUElPIH0sCQkvKiBSZXNldCBidXR0b24gKi8KKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgYWN0aXZlICovCisJeyAxNSwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgYWN0aXZlICovCisJeyAxNiwgTVBQX1VOVVNFRCB9LAorCXsgMTcsIE1QUF9VTlVTRUQgfSwKKwl7IDE4LCBNUFBfVU5VU0VEIH0sCisJeyAxOSwgTVBQX1VOVVNFRCB9LAorCXsgLTEgfSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBtc3MyX2luaXQodm9pZCkKK3sKKwkvKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LiAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihtc3MyX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIE1QUFsyMF0gVW51c2VkCisJICogTVBQWzIxXSBQQ0kgY2xvY2sKKwkgKiBNUFBbMjJdIFVTQiAwIG92ZXIgY3VycmVudAorCSAqIE1QUFsyM10gVVNCIDEgb3ZlciBjdXJyZW50CisJICovCisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2VoY2kxX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZtc3MyX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF9zYXRhX2luaXQoJm1zczJfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKE1TUzJfTk9SX0JPT1RfQkFTRSwgTVNTMl9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm1zczJfbm9yX2ZsYXNoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXNzMl9idXR0b25fZGV2aWNlKTsKKworCWlmIChncGlvX3JlcXVlc3QoTVNTMl9HUElPX1JUQ19JUlEsICJydGMiKSA9PSAwKSB7CisJCWlmIChncGlvX2RpcmVjdGlvbl9pbnB1dChNU1MyX0dQSU9fUlRDX0lSUSkgPT0gMCkKKwkJCW1zczJfaTJjX3J0Yy5pcnEgPSBncGlvX3RvX2lycShNU1MyX0dQSU9fUlRDX0lSUSk7CisJCWVsc2UKKwkJCWdwaW9fZnJlZShNU1MyX0dQSU9fUlRDX0lSUSk7CisJfQorCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZtc3MyX2kyY19ydGMsIDEpOworCisJLyogcmVnaXN0ZXIgbXNzMiBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0gbXNzMl9wb3dlcl9vZmY7Cit9CisKK01BQ0hJTkVfU1RBUlQoTVNTMiwgIk1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSIpCisJLyogTWFpbnRhaW5lcjogU3lsdmVyIEJydW5lYXUgPHN5bHZlci5icnVuZWF1QGdvb2dsZW1haWwuY29tPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSBtc3MyX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L212MjEyMC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L212MjEyMC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1ZjNiMGYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXYyMTIwLXNldHVwLmMKQEAgLTAsMCArMSwyMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgSGVyYmVydCBWYWxlcmlvIFJpZWRlbCA8aHZyQGdudS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWFydGluIE1pY2hsbWF5ciA8dGJtQGN5cml1cy5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKKyAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvbGVkcy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKyNkZWZpbmUgTVYyMTIwX05PUl9CT09UX0JBU0UJMHhmNDAwMDAwMAorI2RlZmluZSBNVjIxMjBfTk9SX0JPT1RfU0laRQlTWl81MTJLCisKKyNkZWZpbmUgTVYyMTIwX0dQSU9fUlRDX0lSUQkzCisjZGVmaW5lIE1WMjEyMF9HUElPX0tFWV9SRVNFVAkxNworI2RlZmluZSBNVjIxMjBfR1BJT19LRVlfUE9XRVIJMTgKKyNkZWZpbmUgTVYyMTIwX0dQSU9fUE9XRVJfT0ZGCTE5CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFdGhlcm5ldAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgbXYyMTIwX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBtdjIxMjBfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBtdjIxMjBfcGFydGl0aW9uc1tdID0geworCXsKKwkJLm5hbWUJPSAiZmlybXdhcmUiLAorCQkuc2l6ZQk9IDB4MDAwODAwMDAsCisJCS5vZmZzZXQJPSAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBtdjIxMjBfbm9yX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCisJLnBhcnRzCQk9IG12MjEyMF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUobXYyMTIwX3BhcnRpdGlvbnMpCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12MjEyMF9ub3JfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBNVjIxMjBfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IE1WMjEyMF9OT1JfQk9PVF9CQVNFICsgTVYyMTIwX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXYyMTIwX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12MjEyMF9ub3JfZmxhc2hfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9ICZtdjIxMjBfbm9yX2ZsYXNoX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBtdjIxMjBfYnV0dG9uc1tdID0geworCXsKKwkJLmNvZGUJCT0gS0VZX1JFU1RBUlQsCisJCS5ncGlvCQk9IE1WMjEyMF9HUElPX0tFWV9SRVNFVCwKKwkJLmRlc2MJCT0gInJlc2V0IiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sIHsKKwkJLmNvZGUJCT0gS0VZX1BPV0VSLAorCQkuZ3BpbwkJPSBNVjIxMjBfR1BJT19LRVlfUE9XRVIsCisJCS5kZXNjCQk9ICJwb3dlciIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBtdjIxMjBfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBtdjIxMjBfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKG12MjEyMF9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12MjEyMF9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12MjEyMF9idXR0b25fZGF0YSwKKwl9LAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgbXYyMTIwX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIFN5cyBzdGF0dXMgTEVEICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFN5cyBlcnJvciBMRUQgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogT3ZlclRlbXAgaW50ZXJydXB0ICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogVl9MRUQgNVYgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogVl9MRUQgMy4zViAqLworCXsgIDYsIE1QUF9VTlVTRUQgfSwKKwl7ICA3LCBNUFBfVU5VU0VEIH0sCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIFNBVEEgMCBmYWlsIExFRCAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBTQVRBIDEgZmFpbCBMRUQgKi8KKwl7IDEwLCBNUFBfVU5VU0VEIH0sCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIHByZXNlbmNlICovCisJeyAxMywgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgcHJlc2VuY2UgKi8KKwl7IDE0LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBhY3RpdmUgKi8KKwl7IDE1LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBhY3RpdmUgKi8KKwl7IDE2LCBNUFBfVU5VU0VEIH0sCisJeyAxNywgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IGJ1dHRvbiAqLworCXsgMTgsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBidXR0b24gKi8KKwl7IDE5LCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgb2ZmICovCisJeyAtMSB9LAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIG12MjEyMF9pMmNfcnRjID0geworCUkyQ19CT0FSRF9JTkZPKCJwY2Y4NTYzIiwgMHg1MSksCisJLmlycQk9IDAsCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIG12MjEyMF9sZWRfcGluc1tdID0geworCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6Ymx1ZTpoZWFsdGgiLAorCQkuZ3BpbwkJCT0gMCwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6cmVkOmhlYWx0aCIsCisJCS5ncGlvCQkJPSAxLAorCX0sCisJeworCQkubmFtZQkJCT0gIm12MjEyMDpsZWQ6YnJpZ2h0IiwKKwkJLmdwaW8JCQk9IDQsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAiZGVmYXVsdC1vbiIsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOmxlZDpkaW1tZWQiLAorCQkuZ3BpbwkJCT0gNSwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6cmVkOnNhdGEwIiwKKwkJLmdwaW8JCQk9IDgsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOnJlZDpzYXRhMSIsCisJCS5ncGlvCQkJPSA5LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCX0sCisKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWRfcGxhdGZvcm1fZGF0YSBtdjIxMjBfbGVkX2RhdGEgPSB7CisJLmxlZHMJCT0gbXYyMTIwX2xlZF9waW5zLAorCS5udW1fbGVkcwk9IEFSUkFZX1NJWkUobXYyMTIwX2xlZF9waW5zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12MjEyMF9sZWRzID0geworCS5uYW1lCT0gImxlZHMtZ3BpbyIsCisJLmlkCT0gLTEsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXYyMTIwX2xlZF9kYXRhLAorCX0KK307CisKK3N0YXRpYyB2b2lkIG12MjEyMF9wb3dlcl9vZmYodm9pZCkKK3sKKwlwcl9pbmZvKCIlczogdHJpZ2dlcmluZyBwb3dlci1vZmYuLi5cbiIsIF9fZnVuY19fKTsKKwlncGlvX3NldF92YWx1ZShNVjIxMjBfR1BJT19QT1dFUl9PRkYsIDApOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgbXYyMTIwX2luaXQodm9pZCkKK3sKKwkvKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LiAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihtdjIxMjBfbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJm12MjEyMF9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfc2F0YV9pbml0KCZtdjIxMjBfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKE1WMjEyMF9OT1JfQk9PVF9CQVNFLCBNVjIxMjBfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjIxMjBfbm9yX2ZsYXNoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXYyMTIwX2J1dHRvbl9kZXZpY2UpOworCisJaWYgKGdwaW9fcmVxdWVzdChNVjIxMjBfR1BJT19SVENfSVJRLCAicnRjIikgPT0gMCkgeworCQlpZiAoZ3Bpb19kaXJlY3Rpb25faW5wdXQoTVYyMTIwX0dQSU9fUlRDX0lSUSkgPT0gMCkKKwkJCW12MjEyMF9pMmNfcnRjLmlycSA9IGdwaW9fdG9faXJxKE1WMjEyMF9HUElPX1JUQ19JUlEpOworCQllbHNlCisJCQlncGlvX2ZyZWUoTVYyMTIwX0dQSU9fUlRDX0lSUSk7CisJfQorCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZtdjIxMjBfaTJjX3J0YywgMSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjIxMjBfbGVkcyk7CisKKwkvKiByZWdpc3RlciBtdjIxMjAgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCWlmIChncGlvX3JlcXVlc3QoTVYyMTIwX0dQSU9fUE9XRVJfT0ZGLCAiUE9XRVJPRkYiKSAhPSAwIHx8CisJICAgIGdwaW9fZGlyZWN0aW9uX291dHB1dChNVjIxMjBfR1BJT19QT1dFUl9PRkYsIDEpICE9IDApCisJCXByX2VycigibXYyMTIwOiBmYWlsZWQgdG8gc2V0dXAgcG93ZXItb2ZmIEdQSU9cbiIpOworCXBtX3Bvd2VyX29mZiA9IG12MjEyMF9wb3dlcl9vZmY7Cit9CisKKy8qIFdhcm5pbmc6IEhQIHVzZXMgYSB3cm9uZyBtYWNoLXR5cGUgKD01MjYpIGluIHRoZWlyIGJvb3Rsb2FkZXIgKi8KK01BQ0hJTkVfU1RBUlQoTVYyMTIwLCAiSFAgTWVkaWEgVmF1bHQgbXYyMTIwIikKKwkvKiBNYWludGFpbmVyOiBNYXJ0aW4gTWljaGxtYXlyIDx0Ym1AY3lyaXVzLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gbXYyMTIwX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3BjaS5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3BjaS5jCmluZGV4IDlkNWQzOWYuLjI1NmE0ZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9wY2kuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcGNpLmMKQEAgLTE1Miw2ICsxNTIsOCBAQAogCWlmIChkZXYgPT0gTVY4OEY1MTgxX0RFVl9JRCB8fCBkZXYgPT0gTVY4OEY1MTgyX0RFVl9JRCkgewogCQlwcmludGsoS0VSTl9OT1RJQ0UgIkFwcGx5aW5nIE9yaW9uLTEvT3Jpb24tTkFTIFBDSWUgY29uZmlnICIKIAkJCQkgICAicmVhZCB0cmFuc2FjdGlvbiB3b3JrYXJvdW5kXG4iKTsKKwkJb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAorCQkJCQkgIE9SSU9ONVhfUENJRV9XQV9TSVpFKTsKIAkJcGNpZV9vcHMucmVhZCA9IHBjaWVfcmRfY29uZl93YTsKIAl9CiAKQEAgLTI0MCwxMyArMjQyLDEzIEBACiAgKiBQQ0kgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKICAqLwogI2RlZmluZSBQQ0lfQkFSX1NJWkVfRERSX0NTKG4pCSgoKG4pID09IDApID8gT1JJT041WF9QQ0lfUkVHKDB4YzA4KSA6IFwKLQkJCQkoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDA4KSA6ICBcCi0JCQkJKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGMwYykgOiAgXAotCQkJCSgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkMGMpIDogMCkKLSNkZWZpbmUgUENJX0JBUl9SRU1BUF9ERFJfQ1MobikJKCgobikgPT0wKSA/IE9SSU9ONVhfUENJX1JFRygweGM0OCkgOiAgXAotCQkJCSgobikgPT0gMSkgPyBPUklPTjVYX1BDSV9SRUcoMHhkNDgpIDogIFwKLQkJCQkoKG4pID09IDIpID8gT1JJT041WF9QQ0lfUkVHKDB4YzRjKSA6ICBcCi0JCQkJKChuKSA9PSAzKSA/IE9SSU9ONVhfUENJX1JFRygweGQ0YykgOiAwKQorCQkJCSAoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDA4KSA6IFwKKwkJCQkgKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGMwYykgOiBcCisJCQkJICgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkMGMpIDogMCkKKyNkZWZpbmUgUENJX0JBUl9SRU1BUF9ERFJfQ1MobikJKCgobikgPT0gMCkgPyBPUklPTjVYX1BDSV9SRUcoMHhjNDgpIDogXAorCQkJCSAoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDQ4KSA6IFwKKwkJCQkgKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGM0YykgOiBcCisJCQkJICgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkNGMpIDogMCkKICNkZWZpbmUgUENJX0JBUl9FTkFCTEUJCU9SSU9ONVhfUENJX1JFRygweGMzYykKICNkZWZpbmUgUENJX0FERFJfREVDT0RFX0NUUkwJT1JJT041WF9QQ0lfUkVHKDB4ZDNjKQogCkBAIC0yNjQsOSArMjY2LDExIEBACiAgKi8KIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sob3Jpb241eF9wY2lfbG9jayk7CiAKK3N0YXRpYyBpbnQgb3Jpb241eF9wY2lfY2FyZGJ1c19tb2RlOworCiBzdGF0aWMgaW50IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucih2b2lkKQogewotCXUzMiBjb25mID0gb3Jpb241eF9yZWFkKFBDSV9QMlBfQ09ORik7CisJdTMyIGNvbmYgPSByZWFkbChQQ0lfUDJQX0NPTkYpOwogCXJldHVybigoY29uZiAmIFBDSV9QMlBfQlVTX01BU0spID4+IFBDSV9QMlBfQlVTX09GRlMpOwogfQogCkBAIC0yNzYsMTEgKzI4MCwxMSBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJm9yaW9uNXhfcGNpX2xvY2ssIGZsYWdzKTsKIAotCW9yaW9uNXhfd3JpdGUoUENJX0NPTkZfQUREUiwgUENJX0NPTkZfQlVTKGJ1cykgfAotCQkJUENJX0NPTkZfREVWKGRldikgfCBQQ0lfQ09ORl9SRUcod2hlcmUpIHwKLQkJCVBDSV9DT05GX0ZVTkMoZnVuYykgfCBQQ0lfQ09ORl9BRERSX0VOKTsKKwl3cml0ZWwoUENJX0NPTkZfQlVTKGJ1cykgfAorCQlQQ0lfQ09ORl9ERVYoZGV2KSB8IFBDSV9DT05GX1JFRyh3aGVyZSkgfAorCQlQQ0lfQ09ORl9GVU5DKGZ1bmMpIHwgUENJX0NPTkZfQUREUl9FTiwgUENJX0NPTkZfQUREUik7CiAKLQkqdmFsID0gb3Jpb241eF9yZWFkKFBDSV9DT05GX0RBVEEpOworCSp2YWwgPSByZWFkbChQQ0lfQ09ORl9EQVRBKTsKIAogCWlmIChzaXplID09IDEpCiAJCSp2YWwgPSAoKnZhbCA+PiAoOCood2hlcmUgJiAweDMpKSkgJiAweGZmOwpAQCAtMzAwLDkgKzMwNCw5IEBACiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmb3Jpb241eF9wY2lfbG9jaywgZmxhZ3MpOwogCi0Jb3Jpb241eF93cml0ZShQQ0lfQ09ORl9BRERSLCBQQ0lfQ09ORl9CVVMoYnVzKSB8Ci0JCQlQQ0lfQ09ORl9ERVYoZGV2KSB8IFBDSV9DT05GX1JFRyh3aGVyZSkgfAotCQkJUENJX0NPTkZfRlVOQyhmdW5jKSB8IFBDSV9DT05GX0FERFJfRU4pOworCXdyaXRlbChQQ0lfQ09ORl9CVVMoYnVzKSB8CisJCVBDSV9DT05GX0RFVihkZXYpIHwgUENJX0NPTkZfUkVHKHdoZXJlKSB8CisJCVBDSV9DT05GX0ZVTkMoZnVuYykgfCBQQ0lfQ09ORl9BRERSX0VOLCBQQ0lfQ09ORl9BRERSKTsKIAogCWlmIChzaXplID09IDQpIHsKIAkJX19yYXdfd3JpdGVsKHZhbCwgUENJX0NPTkZfREFUQSk7CkBAIC0zMTksMTQgKzMyMywzMCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgb3Jpb241eF9wY2lfdmFsaWRfY29uZmlnKGludCBidXMsIHUzMiBkZXZmbikKK3sKKwlpZiAoYnVzID09IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucigpKSB7CisJCS8qCisJCSAqIERvbid0IGdvIG91dCBmb3IgbG9jYWwgZGV2aWNlCisJCSAqLworCQlpZiAoUENJX1NMT1QoZGV2Zm4pID09IDAgJiYgUENJX0ZVTkMoZGV2Zm4pICE9IDApCisJCQlyZXR1cm4gMDsKKworCQkvKgorCQkgKiBXaGVuIHRoZSBQQ0kgc2lnbmFscyBhcmUgZGlyZWN0bHkgY29ubmVjdGVkIHRvIGEKKwkJICogQ2FyZGJ1cyBzbG90LCBpZ25vcmUgYWxsIGJ1dCBkZXZpY2UgSURzIDAgYW5kIDEuCisJCSAqLworCQlpZiAob3Jpb241eF9wY2lfY2FyZGJ1c19tb2RlICYmIFBDSV9TTE9UKGRldmZuKSA+IDEpCisJCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGludCBvcmlvbjV4X3BjaV9yZF9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKIAkJCQlpbnQgd2hlcmUsIGludCBzaXplLCB1MzIgKnZhbCkKIHsKLQkvKgotCSAqIERvbid0IGdvIG91dCBmb3IgbG9jYWwgZGV2aWNlCi0JICovCi0JaWYgKGJ1cy0+bnVtYmVyID09IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucigpICYmCi0JICAgIFBDSV9TTE9UKGRldmZuKSA9PSAwICYmIFBDSV9GVU5DKGRldmZuKSAhPSAwKSB7CisJaWYgKCFvcmlvbjV4X3BjaV92YWxpZF9jb25maWcoYnVzLT5udW1iZXIsIGRldmZuKSkgewogCQkqdmFsID0gMHhmZmZmZmZmZjsKIAkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKIAl9CkBAIC0zMzgsOCArMzU4LDcgQEAKIHN0YXRpYyBpbnQgb3Jpb241eF9wY2lfd3JfY29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sCiAJCQkJaW50IHdoZXJlLCBpbnQgc2l6ZSwgdTMyIHZhbCkKIHsKLQlpZiAoYnVzLT5udW1iZXIgPT0gb3Jpb241eF9wY2lfbG9jYWxfYnVzX25yKCkgJiYKLQkgICAgUENJX1NMT1QoZGV2Zm4pID09IDAgJiYgUENJX0ZVTkMoZGV2Zm4pICE9IDApCisJaWYgKCFvcmlvbjV4X3BjaV92YWxpZF9jb25maWcoYnVzLT5udW1iZXIsIGRldmZuKSkKIAkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKIAogCXJldHVybiBvcmlvbjV4X3BjaV9od193cl9jb25mKGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbiksCkBAIC0zNTMsOSArMzcyLDkgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG9yaW9uNXhfcGNpX3NldF9idXNfbnIoaW50IG5yKQogewotCXUzMiBwMnAgPSBvcmlvbjV4X3JlYWQoUENJX1AyUF9DT05GKTsKKwl1MzIgcDJwID0gcmVhZGwoUENJX1AyUF9DT05GKTsKIAotCWlmIChvcmlvbjV4X3JlYWQoUENJX01PREUpICYgUENJX01PREVfUENJWCkgeworCWlmIChyZWFkbChQQ0lfTU9ERSkgJiBQQ0lfTU9ERV9QQ0lYKSB7CiAJCS8qCiAJCSAqIFBDSS1YIG1vZGUKIAkJICovCkBAIC0zNzIsNyArMzkxLDcgQEAKIAkJICovCiAJCXAycCAmPSB+UENJX1AyUF9CVVNfTUFTSzsKIAkJcDJwIHw9IChuciA8PCBQQ0lfUDJQX0JVU19PRkZTKTsKLQkJb3Jpb241eF93cml0ZShQQ0lfUDJQX0NPTkYsIHAycCk7CisJCXdyaXRlbChwMnAsIFBDSV9QMlBfQ09ORik7CiAJfQogfQogCkBAIC0zOTksNyArNDE4LDcgQEAKIAkgKiBGaXJzdCwgZGlzYWJsZSB3aW5kb3dzLgogCSAqLwogCXdpbl9lbmFibGUgPSAweGZmZmZmZmZmOwotCW9yaW9uNXhfd3JpdGUoUENJX0JBUl9FTkFCTEUsIHdpbl9lbmFibGUpOworCXdyaXRlbCh3aW5fZW5hYmxlLCBQQ0lfQkFSX0VOQUJMRSk7CiAKIAkvKgogCSAqIFNldHVwIHdpbmRvd3MgZm9yIEREUiBiYW5rcy4KQEAgLTQyNSwxMCArNDQ0LDEwIEBACiAJCSAqLwogCQlyZWcgPSBQQ0lfQ09ORl9SRUdfQkFSX0hJX0NTKGNzLT5jc19pbmRleCk7CiAJCW9yaW9uNXhfcGNpX2h3X3dyX2NvbmYoYnVzLCAwLCBmdW5jLCByZWcsIDQsIDApOwotCQlvcmlvbjV4X3dyaXRlKFBDSV9CQVJfU0laRV9ERFJfQ1MoY3MtPmNzX2luZGV4KSwKLQkJCQkoY3MtPnNpemUgLSAxKSAmIDB4ZmZmZmYwMDApOwotCQlvcmlvbjV4X3dyaXRlKFBDSV9CQVJfUkVNQVBfRERSX0NTKGNzLT5jc19pbmRleCksCi0JCQkJY3MtPmJhc2UgJiAweGZmZmZmMDAwKTsKKwkJd3JpdGVsKChjcy0+c2l6ZSAtIDEpICYgMHhmZmZmZjAwMCwKKwkJCVBDSV9CQVJfU0laRV9ERFJfQ1MoY3MtPmNzX2luZGV4KSk7CisJCXdyaXRlbChjcy0+YmFzZSAmIDB4ZmZmZmYwMDAsCisJCQlQQ0lfQkFSX1JFTUFQX0REUl9DUyhjcy0+Y3NfaW5kZXgpKTsKIAogCQkvKgogCQkgKiBFbmFibGUgZGVjb2RlIHdpbmRvdyBmb3IgdGhpcyBjaGlwIHNlbGVjdC4KQEAgLTQzOSw3ICs0NTgsNyBAQAogCS8qCiAJICogUmUtZW5hYmxlIGRlY29kZSB3aW5kb3dzLgogCSAqLwotCW9yaW9uNXhfd3JpdGUoUENJX0JBUl9FTkFCTEUsIHdpbl9lbmFibGUpOworCXdyaXRlbCh3aW5fZW5hYmxlLCBQQ0lfQkFSX0VOQUJMRSk7CiAKIAkvKgogCSAqIERpc2FibGUgYXV0b21hdGljIHVwZGF0ZSBvZiBhZGRyZXNzIHJlbWFwaW5nIHdoZW4gd3JpdGluZyB0byBCQVJzLgpAQCAtNTIyLDYgKzU0MSwxMSBAQAogfQogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfTUFSVkVMTCwgUENJX0FOWV9JRCwgcmNfcGNpX2ZpeHVwKTsKIAordm9pZCBfX2luaXQgb3Jpb241eF9wY2lfc2V0X2NhcmRidXNfbW9kZSh2b2lkKQoreworCW9yaW9uNXhfcGNpX2NhcmRidXNfbW9kZSA9IDE7Cit9CisKIGludCBfX2luaXQgb3Jpb241eF9wY2lfc3lzX3NldHVwKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKQogewogCWludCByZXQgPSAwOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZnhvLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1meG8tc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTBlMzY1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZnhvLXNldHVwLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1meG8tc2V0dXAuYworICoKKyAqIE1hcnZlbGwgT3Jpb24tVm9JUCBGWE8gUmVmZXJlbmNlIERlc2lnbiBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbGVkcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUkQtODhGNTE4MUwgRlhPIEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIDhNIE5PUiBmbGFzaCBEZXZpY2UgYnVzIGJvb3QgY2hpcCBzZWxlY3QKKyAqLworI2RlZmluZSBSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9CQVNFCQkweGZmODAwMDAwCisjZGVmaW5lIFJEODhGNTE4MUxfRlhPX05PUl9CT09UX1NJWkUJCVNaXzhNCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiA4TSBOT1IgRmxhc2ggb24gRGV2aWNlIGJ1cyBCb290IGNoaXAgc2VsZWN0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gUkQ4OEY1MTgxTF9GWE9fTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFJEODhGNTE4MUxfRlhPX05PUl9CT09UX0JBU0UgKworCQkJICBSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoID0geworCS5uYW1lCQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZyZDg4ZjUxODFsX2Z4b19ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX3Jlc291cmNlLAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwgU2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHJkODhmNTE4MWxfZnhvX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIExFRDEgQ2FyZEJ1cyBMRUQgKGZyb250IHBhbmVsKSAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBQQ0lfaW50QSAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBIYXJkIFJlc2V0IC8gRmFjdG9yeSBJbml0Ki8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogRlhTIG9yIERBQSBzZWxlY3QgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogTEVENiAtIHBob25lIExFRCAoZnJvbnQgcGFuZWwpICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIExFRDUgLSBwaG9uZSBMRUQgKGZyb250IHBhbmVsKSAqLworCXsgIDYsIE1QUF9QQ0lfQ0xLIH0sCQkvKiBDUFUgUENJIHJlZmNsayAqLworCXsgIDcsIE1QUF9QQ0lfQ0xLIH0sCQkvKiBQQ0kvUENJZSByZWZjbGsgKi8KKwl7ICA4LCBNUFBfR1BJTyB9LAkJLyogQ2FyZEJ1cyByZXNldCAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBHRV9SWEVSUiAqLworCXsgMTAsIE1QUF9HUElPIH0sCQkvKiBMRUQyIE1pbmlQQ0kgTEVEIChmcm9udCBwYW5lbCkgKi8KKwl7IDExLCBNUFBfR1BJTyB9LAkJLyogTGlmZWxpbmUgY29udHJvbCAqLworCXsgMTIsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNF0gKi8KKwl7IDEzLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzVdICovCisJeyAxNCwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs2XSAqLworCXsgMTUsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbN10gKi8KKwl7IDE2LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzRdICovCisJeyAxNywgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs1XSAqLworCXsgMTgsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNl0gKi8KKwl7IDE5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzddICovCisJeyAtMSB9LAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHJkODhmNTE4MWxfZnhvX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJkODhmNTE4MWxfZnhvX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJb3Jpb241eF9pbml0KCk7CisKKwlvcmlvbjV4X21wcF9jb25mKHJkODhmNTE4MWxfZnhvX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZyZDg4ZjUxODFsX2Z4b19ldGhfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFJEODhGNTE4MUxfRlhPX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY1MTgxbF9meG9fbm9yX2Jvb3RfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdAorcmQ4OGY1MTgxbF9meG9fcGNpX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCWludCBpcnE7CisKKwkvKgorCSAqIENoZWNrIGZvciBkZXZpY2VzIHdpdGggaGFyZC13aXJlZCBJUlFzLgorCSAqLworCWlycSA9IG9yaW9uNXhfcGNpX21hcF9pcnEoZGV2LCBzbG90LCBwaW4pOworCWlmIChpcnEgIT0gLTEpCisJCXJldHVybiBpcnE7CisKKwkvKgorCSAqIE1pbmktUENJIC8gQ2FyZGJ1cyBzbG90LgorCSAqLworCXJldHVybiBncGlvX3RvX2lycSgxKTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgcmQ4OGY1MTgxbF9meG9fcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMiwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHJkODhmNTE4MWxfZnhvX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY1MTgxbF9meG9fcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19yZDg4ZjUxODFsX2Z4bygpKSB7CisJCW9yaW9uNXhfcGNpX3NldF9jYXJkYnVzX21vZGUoKTsKKwkJcGNpX2NvbW1vbl9pbml0KCZyZDg4ZjUxODFsX2Z4b19wY2kpOworCX0KKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNTE4MWxfZnhvX3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChSRDg4RjUxODFMX0ZYTywgIk1hcnZlbGwgT3Jpb24tVm9JUCBGWE8gUmVmZXJlbmNlIERlc2lnbiIpCisJLyogTWFpbnRhaW5lcjogTmljb2xhcyBQaXRyZSA8bmljb0BtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gcmQ4OGY1MTgxbF9meG9faW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZ2Utc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWdlLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU2NDQ3ZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWdlLXNldHVwLmMKQEAgLTAsMCArMSwxNzIgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1nZS1zZXR1cC5jCisgKgorICogTWFydmVsbCBPcmlvbi1Wb0lQIEdFIFJlZmVyZW5jZSBEZXNpZ24gU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2xlZHMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFJELTg4RjUxODFMIEdFIEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIDE2TSBOT1IgZmxhc2ggRGV2aWNlIGJ1cyBib290IGNoaXAgc2VsZWN0CisgKi8KKyNkZWZpbmUgUkQ4OEY1MTgxTF9HRV9OT1JfQk9PVF9CQVNFCQkweGZmMDAwMDAwCisjZGVmaW5lIFJEODhGNTE4MUxfR0VfTk9SX0JPT1RfU0laRQkJU1pfMTZNCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAxNk0gTk9SIEZsYXNoIG9uIERldmljZSBidXMgQm9vdCBjaGlwIHNlbGVjdAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSByZDg4ZjUxODFsX2dlX25vcl9ib290X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UsCisJLmVuZAkJPSBSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UgKworCQkJICBSRDg4RjUxODFMX0dFX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaCA9IHsKKwkubmFtZQkJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgcmQ4OGY1MTgxbF9nZV9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBMRUQxICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIExFRDUgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogTEVENCAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBMRUQzICovCisJeyAgNCwgTVBQX0dQSU8gfSwJCS8qIFBDSV9pbnRBICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA2LCBNUFBfUENJX0NMSyB9LAkJLyogQ1BVIFBDSSByZWZjbGsgKi8KKwl7ICA3LCBNUFBfUENJX0NMSyB9LAkJLyogUENJL1BDSWUgcmVmY2xrICovCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIDg4ZTYxMzEgaW50ZXJydXB0ICovCisJeyAgOSwgTVBQX0dQSU8gfSwJCS8qIEdFX1JYRVJSICovCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIFBDSV9pbnRCICovCisJeyAxMSwgTVBQX0dQSU8gfSwJCS8qIExFRDIgKi8KKwl7IDEyLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzRdICovCisJeyAxMywgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs1XSAqLworCXsgMTQsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNl0gKi8KKwl7IDE1LCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzddICovCisJeyAxNiwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs0XSAqLworCXsgMTcsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNV0gKi8KKwl7IDE4LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzZdICovCisJeyAxOSwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs3XSAqLworCXsgLTEgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODFsX2dlX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHJkODhmNTE4MWxfZ2VfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygiZHMxMzM4IiwgMHg2OCksCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY1MTgxbF9nZV9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihyZDg4ZjUxODFsX2dlX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZyZDg4ZjUxODFsX2dlX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UsCisJCQkJICAgUkQ4OEY1MTgxTF9HRV9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2gpOworCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJnJkODhmNTE4MWxfZ2VfaTJjX3J0YywgMSk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CityZDg4ZjUxODFsX2dlX3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJLyoKKwkgKiBDYXJkYnVzIHNsb3QuCisJICovCisJaWYgKHBpbiA9PSAxKQorCQlyZXR1cm4gZ3Bpb190b19pcnEoNCk7CisJZWxzZQorCQlyZXR1cm4gZ3Bpb190b19pcnEoMTApOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSByZDg4ZjUxODFsX2dlX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycwk9IDIsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKKwkuc2NhbgkJPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSByZDg4ZjUxODFsX2dlX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY1MTgxbF9nZV9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX3JkODhmNTE4MWxfZ2UoKSkgeworCQlvcmlvbjV4X3BjaV9zZXRfY2FyZGJ1c19tb2RlKCk7CisJCXBjaV9jb21tb25faW5pdCgmcmQ4OGY1MTgxbF9nZV9wY2kpOworCX0KKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNTE4MWxfZ2VfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFJEODhGNTE4MUxfR0UsICJNYXJ2ZWxsIE9yaW9uLVZvSVAgR0UgUmVmZXJlbmNlIERlc2lnbiIpCisJLyogTWFpbnRhaW5lcjogTGVubmVydCBCdXl0ZW5oZWsgPGJ1eXRlbmhAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHJkODhmNTE4MWxfZ2VfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4Mi1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4Mi1zZXR1cC5jCmluZGV4IDgxYWJjMTAuLjEwYWU2MjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODItc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgyLXNldHVwLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CiAjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUkQtODhGNTE4MiBJbmZvCkBAIC0xMjUsNiArMTI2LDcgQEAKIAogCQlsZWRzX2V2ZW50ID0gcmQ4OGY1MTgyX2RiZ2xlZF9ldmVudDsKIAl9CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjIwLDcgKzIyMiw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODJfZXRoX2RhdGEgPSB7CiAJLnBoeV9hZGRyCT0gOCwKLQkuZm9yY2VfcGh5X2FkZHIgPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0yMzQsMTUgKzIzNSwzNCBAQAogICogU2F0YQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODJfc2F0YV9kYXRhID0gewotCS5uX3BvcnRzICAgICAgICA9IDIsCisJLm5fcG9ydHMJPSAyLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnJkODhmNTE4Ml9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcmQ4OGY1MTgyX25vcl9mbGFzaCwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSByZDg4ZjUxODJfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogRGVidWcgTGVkICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IFN3aXRjaCAqLworCXsgIDIsIE1QUF9VTlVTRUQgfSwKKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogUlRDIEludCAqLworCXsgIDQsIE1QUF9HUElPIH0sCisJeyAgNSwgTVBQX0dQSU8gfSwKKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogUENJX2ludEEgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogUENJX2ludEIgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgcHJlc2VuY2UgKi8KKwl7IDEzLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBwcmVzZW5jZSAqLworCXsgMTQsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIGFjdGl2ZSAqLworCXsgMTUsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIGFjdGl2ZSAqLworCXsgMTYsIE1QUF9VTlVTRUQgfSwKKwl7IDE3LCBNUFBfVU5VU0VEIH0sCisJeyAxOCwgTVBQX1VOVVNFRCB9LAorCXsgMTksIE1QUF9VTlVTRUQgfSwKKwl7IC0xIH0sCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY1MTgyX2luaXQodm9pZCkKQEAgLTI1MiwzNSArMjcyLDkgQEAKIAkgKi8KIAlvcmlvbjV4X2luaXQoKTsKIAotCS8qCi0JICogU2V0dXAgdGhlIENQVSBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciBvdXIgZGV2aWNlcwotCSAqLwotCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFJEODhGNTE4Ml9OT1JfQk9PVF9CQVNFLAotCQkJCVJEODhGNTE4Ml9OT1JfQk9PVF9TSVpFKTsKLQlvcmlvbjV4X3NldHVwX2RldjFfd2luKFJEODhGNTE4Ml9OT1JfQkFTRSwgUkQ4OEY1MTgyX05PUl9TSVpFKTsKKwlvcmlvbjV4X21wcF9jb25mKHJkODhmNTE4Ml9tcHBfbW9kZXMpOwogCiAJLyoKLQkgKiBPcGVuIGEgc3BlY2lhbCBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciB0aGUgUENJZSBXQS4KLQkgKi8KLQlvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UsCi0JCQkJT1JJT041WF9QQ0lFX1dBX1NJWkUpOwotCi0JLyoKLQkgKiBTZXR1cCBNdWx0aXBsZXhpbmcgUGlucyAtLQotCSAqIE1QUFswXSBEZWJ1ZyBMZWQgKEdQSU8gLSBPdXQpCi0JICogTVBQWzFdIERlYnVnIExlZCAoR1BJTyAtIE91dCkKLQkgKiBNUFBbMl0gTi9BCi0JICogTVBQWzNdIFJUQ19JbnQgKEdQSU8gLSBJbikKLQkgKiBNUFBbNF0gR1BJTwotCSAqIE1QUFs1XSBHUElPCi0JICogTVBQWzZdIFBDSV9pbnRBIChHUElPIC0gSW4pCi0JICogTVBQWzddIFBDSV9pbnRCIChHUElPIC0gSW4pCi0JICogTVBQWzgtMTFdIE4vQQotCSAqIE1QUFsxMl0gU0FUQSAwIHByZXNlbmNlIEluZGljYXRpb24KLQkgKiBNUFBbMTNdIFNBVEEgMSBwcmVzZW5jZSBJbmRpY2F0aW9uCi0JICogTVBQWzE0XSBTQVRBIDAgYWN0aXZlIEluZGljYXRpb24KLQkgKiBNUFBbMTVdIFNBVEEgMSBhY3RpdmUgaW5kaWNhdGlvbgotCSAqIE1QUFsxNi0xOV0gTm90IHVzZWQKIAkgKiBNUFBbMjBdIFBDSSBDbG9jayB0byBNVjg4RjUxODIKIAkgKiBNUFBbMjFdIFBDSSBDbG9jayB0byBtaW5pIFBDSSBDT04xMQogCSAqIE1QUFsyMl0gVVNCIDAgb3ZlciBjdXJyZW50IGluZGljYXRpb24KQEAgLTI4OSwxNiArMjgzLDIzIEBACiAJICogTVBQWzI1XSBVU0IgMCBvdmVyIGN1cnJlbnQgZW5hYmxlCiAJICovCiAKLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMHgwMDAwMDAwMyk7Ci0Jb3Jpb241eF93cml0ZShNUFBfOF8xNV9DVFJMLCAweDU1NTUwMDAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF8xNl8xOV9DVFJMLCAweDU1NTUpOwotCi0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4MDAwMDAwZmIpOwotCi0JcGxhdGZvcm1fYWRkX2RldmljZXMocmQ4OGY1MTgyX2RldmljZXMsIEFSUkFZX1NJWkUocmQ4OGY1MTgyX2RldmljZXMpKTsKLQlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcmQ4OGY1MTgyX2kyY19ydGMsIDEpOworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOwogCW9yaW9uNXhfZXRoX2luaXQoJnJkODhmNTE4Ml9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOwogCW9yaW9uNXhfc2F0YV9pbml0KCZyZDg4ZjUxODJfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFJEODhGNTE4Ml9OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFJEODhGNTE4Ml9OT1JfQk9PVF9TSVpFKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2MV93aW4oUkQ4OEY1MTgyX05PUl9CQVNFLCBSRDg4RjUxODJfTk9SX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY1MTgyX25vcl9mbGFzaCk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcmQ4OGY1MTgyX2kyY19ydGMsIDEpOwogfQogCiBNQUNISU5FX1NUQVJUKFJEODhGNTE4MiwgIk1hcnZlbGwgT3Jpb24tTkFTIFJlZmVyZW5jZSBEZXNpZ24iKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzMjA5LXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYwppbmRleCA5YWZiNDFlLi5hOWNlZjk3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYwpAQCAtMjgsNiArMjgsOCBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKyNpbmNsdWRlICJ0c3gwOS1jb21tb24uaCIKIAogI2RlZmluZSBRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgMHhmNDAwMDAwMAogI2RlZmluZSBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUgU1pfOE0KQEAgLTQ3LDUyICs0OSw1NCBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBxbmFwX3RzMjA5X3BhcnRpdGlvbnNbXSA9IHsKIAl7Ci0JCS5uYW1lICAgICAgID0gIlUtQm9vdCIsCi0JCS5zaXplICAgICAgID0gMHgwMDA4MDAwMCwKLQkJLm9mZnNldCAgICAgPSAweDAwNzgwMDAwLAotCQkubWFza19mbGFncyA9IE1URF9XUklURUFCTEUsCisJCS5uYW1lCQk9ICJVLUJvb3QiLAorCQkuc2l6ZQkJPSAweDAwMDgwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3ODAwMDAsCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwKIAl9LCB7Ci0JCS5uYW1lICAgPSAiS2VybmVsIiwKLQkJLnNpemUgICA9IDB4MDAyMDAwMDAsCi0JCS5vZmZzZXQgPSAwLAorCQkubmFtZQkJPSAiS2VybmVsIiwKKwkJLnNpemUJCT0gMHgwMDIwMDAwMCwKKwkJLm9mZnNldAkJPSAwLAogCX0sIHsKLQkJLm5hbWUgICA9ICJSb290RlMxIiwKLQkJLnNpemUgICA9IDB4MDA0MDAwMDAsCi0JCS5vZmZzZXQgPSAweDAwMjAwMDAwLAorCQkubmFtZQkJPSAiUm9vdEZTMSIsCisJCS5zaXplCQk9IDB4MDA0MDAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDIwMDAwMCwKIAl9LCB7Ci0JCS5uYW1lICAgPSAiUm9vdEZTMiIsCi0JCS5zaXplICAgPSAweDAwMTAwMDAwLAotCQkub2Zmc2V0ID0gMHgwMDYwMDAwMCwKKwkJLm5hbWUJCT0gIlJvb3RGUzIiLAorCQkuc2l6ZQkJPSAweDAwMTAwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA2MDAwMDAsCiAJfSwgewotCQkubmFtZSAgID0gIlUtQm9vdCBDb25maWciLAotCQkuc2l6ZSAgID0gMHgwMDAyMDAwMCwKLQkJLm9mZnNldCA9IDB4MDA3NjAwMDAsCisJCS5uYW1lCQk9ICJVLUJvb3QgQ29uZmlnIiwKKwkJLnNpemUJCT0gMHgwMDAyMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAogCX0sIHsKLQkJLm5hbWUgICAgICAgPSAiTkFTIENvbmZpZyIsCi0JCS5zaXplICAgICAgID0gMHgwMDA2MDAwMCwKLQkJLm9mZnNldCAgICAgPSAweDAwNzAwMDAwLAotCQkubWFza19mbGFncyA9IE1URF9XUklURUFCTEUsCi0JfQorCQkubmFtZQkJPSAiTkFTIENvbmZpZyIsCisJCS5zaXplCQk9IDB4MDAwNjAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDcwMDAwMCwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBxbmFwX3RzMjA5X25vcl9mbGFzaF9kYXRhID0gewotCS53aWR0aCAgICA9IDEsCi0JLnBhcnRzICAgID0gcW5hcF90czIwOV9wYXJ0aXRpb25zLAotCS5ucl9wYXJ0cyA9IEFSUkFZX1NJWkUocW5hcF90czIwOV9wYXJ0aXRpb25zKQorCS53aWR0aAkJPSAxLAorCS5wYXJ0cwkJPSBxbmFwX3RzMjA5X3BhcnRpdGlvbnMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRShxbmFwX3RzMjA5X3BhcnRpdGlvbnMpCiB9OwogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIHFuYXBfdHMyMDlfbm9yX2ZsYXNoX3Jlc291cmNlID0gewotCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAotCS5zdGFydCA9IFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKLQkuZW5kICAgPSBRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgKyBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUgLSAxLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAk9IFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCT0gUU5BUF9UUzIwOV9OT1JfQk9PVF9CQVNFICsgUU5BUF9UUzIwOV9OT1JfQk9PVF9TSVpFIC0gMSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHFuYXBfdHMyMDlfbm9yX2ZsYXNoID0gewotCS5uYW1lICAgICAgICAgID0gInBoeXNtYXAtZmxhc2giLAotCS5pZCAgICAgICAgICAgID0gMCwKLQkuZGV2ICAgICAgICAgICA9IHsgLnBsYXRmb3JtX2RhdGEgPSAmcW5hcF90czIwOV9ub3JfZmxhc2hfZGF0YSwgfSwKLQkucmVzb3VyY2UgICAgICA9ICZxbmFwX3RzMjA5X25vcl9mbGFzaF9yZXNvdXJjZSwKLQkubnVtX3Jlc291cmNlcyA9IDEsCisJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzMjA5X25vcl9mbGFzaF9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gJnFuYXBfdHMyMDlfbm9yX2ZsYXNoX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTY0LDEyICsxNjgsMTIgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBod19wY2kgcW5hcF90czIwOV9wY2kgX19pbml0ZGF0YSA9IHsKLQkubnJfY29udHJvbGxlcnMgPSAyLAotCS5wcmVpbml0ICAgICAgICA9IHFuYXBfdHMyMDlfcGNpX3ByZWluaXQsCi0JLnN3aXp6bGUgICAgICAgID0gcGNpX3N0ZF9zd2l6emxlLAotCS5zZXR1cCAgICAgICAgICA9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKLQkuc2NhbiAgICAgICAgICAgPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCi0JLm1hcF9pcnEgICAgICAgID0gcW5hcF90czIwOV9wY2lfbWFwX2lycSwKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5wcmVpbml0CT0gcW5hcF90czIwOV9wY2lfcHJlaW5pdCwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHFuYXBfdHMyMDlfcGNpX21hcF9pcnEsCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzMjA5X3BjaV9pbml0KHZvaWQpCkBAIC0xODMsOTYgKzE4Nyw2IEBACiBzdWJzeXNfaW5pdGNhbGwocW5hcF90czIwOV9wY2lfaW5pdCk7CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogRXRoZXJuZXQKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9ldGhfZGF0YSA9IHsKLQkucGh5X2FkZHIgICAgICAgPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oZXhfbmliYmxlKGNoYXIgbikKLXsKLQlpZiAobiA+PSAnMCcgJiYgbiA8PSAnOScpCi0JCXJldHVybiBuIC0gJzAnOwotCi0JaWYgKG4gPj0gJ0EnICYmIG4gPD0gJ0YnKQotCQlyZXR1cm4gbiAtICdBJyArIDEwOwotCi0JaWYgKG4gPj0gJ2EnICYmIG4gPD0gJ2YnKQotCQlyZXR1cm4gbiAtICdhJyArIDEwOwotCi0JcmV0dXJuIC0xOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oZXhfYnl0ZShjb25zdCBjaGFyICpiKQotewotCWludCBoaTsKLQlpbnQgbG87Ci0KLQloaSA9IHBhcnNlX2hleF9uaWJibGUoYlswXSk7Ci0JbG8gPSBwYXJzZV9oZXhfbmliYmxlKGJbMV0pOwotCi0JaWYgKGhpIDwgMCB8fCBsbyA8IDApCi0JCXJldHVybiAtMTsKLQotCXJldHVybiAoaGkgPDwgNCkgfCBsbzsKLX0KLQotc3RhdGljIGludCBfX2luaXQgY2hlY2tfbWFjX2FkZHIoY29uc3QgY2hhciAqYWRkcl9zdHIpCi17Ci0JdV9pbnQ4X3QgYWRkcls2XTsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspIHsKLQkJaW50IGJ5dGU7Ci0KLQkJLyoKLQkJICogRW5mb3JjZSAieHg6eHg6eHg6eHg6eHg6eHhcbiIgZm9ybWF0LgotCQkgKi8KLQkJaWYgKGFkZHJfc3RyWyhpICogMykgKyAyXSAhPSAoKGkgPCA1KSA/ICc6JyA6ICdcbicpKQotCQkJcmV0dXJuIC0xOwotCi0JCWJ5dGUgPSBwYXJzZV9oZXhfYnl0ZShhZGRyX3N0ciArIChpICogMykpOwotCQlpZiAoYnl0ZSA8IDApCi0JCQlyZXR1cm4gLTE7Ci0JCWFkZHJbaV0gPSBieXRlOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8gInRzMjA5OiBmb3VuZCBldGhlcm5ldCBtYWMgYWRkcmVzcyAiKTsKLQlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQotCQlwcmludGsoIiUuMnglcyIsIGFkZHJbaV0sIChpIDwgNSkgPyAiOiIgOiAiLlxuIik7Ci0KLQltZW1jcHkocW5hcF90czIwOV9ldGhfZGF0YS5tYWNfYWRkciwgYWRkciwgNik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIFRoZSAnTkFTIENvbmZpZycgZmxhc2ggcGFydGl0aW9uIGhhcyBhbiBleHQyIGZpbGVzeXN0ZW0gd2hpY2gKLSAqIGNvbnRhaW5zIGEgZmlsZSB0aGF0IGhhcyB0aGUgZXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gcGxhaW4gdGV4dAotICogKGZvcm1hdCAieHg6eHg6eHg6eHg6eHg6eHhcbiIuKQotICovCi1zdGF0aWMgdm9pZCBfX2luaXQgdHMyMDlfZmluZF9tYWNfYWRkcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgYWRkcjsKLQotCWZvciAoYWRkciA9IDB4MDA3MDAwMDA7IGFkZHIgPCAweDAwNzYwMDAwOyBhZGRyICs9IDEwMjQpIHsKLQkJY2hhciAqbm9yX3BhZ2U7Ci0JCWludCByZXQgPSAwOwotCi0JCW5vcl9wYWdlID0gaW9yZW1hcChRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgKyBhZGRyLCAxMDI0KTsKLQkJaWYgKG5vcl9wYWdlICE9IE5VTEwpIHsKLQkJCXJldCA9IGNoZWNrX21hY19hZGRyKG5vcl9wYWdlKTsKLQkJCWlvdW5tYXAobm9yX3BhZ2UpOwotCQl9Ci0KLQkJaWYgKHJldCA9PSAwKQotCQkJYnJlYWs7Ci0JfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFJUQyBTMzUzOTBBIG9uIEkyQyBidXMKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCkBAIC0yODAsNyArMTk0LDcgQEAKIAogc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHFuYXBfdHMyMDlfaTJjX3J0YyA9IHsKIAlJMkNfQk9BUkRfSU5GTygiczM1MzkwYSIsIDB4MzApLAotICAgICAgIC5pcnEgICAgICAgICA9IDAsCisJLmlycQk9IDAsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMjk3LDcwICsyMTEsNjMgQEAKIAkJLmdwaW8JCT0gUU5BUF9UUzIwOV9HUElPX0tFWV9NRURJQSwKIAkJLmRlc2MJCT0gIlVTQiBDb3B5IEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9LAotCXsKKwl9LCB7CiAJCS5jb2RlCQk9IEtFWV9QT1dFUiwKIAkJLmdwaW8JCT0gUU5BUF9UUzIwOV9HUElPX0tFWV9SRVNFVCwKIAkJLmRlc2MJCT0gIlJlc2V0IEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9idXR0b25fZGF0YSA9IHsKIAkuYnV0dG9ucwk9IHFuYXBfdHMyMDlfYnV0dG9ucywKLQkubmJ1dHRvbnMgICAgICAgPSBBUlJBWV9TSVpFKHFuYXBfdHMyMDlfYnV0dG9ucyksCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShxbmFwX3RzMjA5X2J1dHRvbnMpLAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcW5hcF90czIwOV9idXR0b25fZGV2aWNlID0gewogCS5uYW1lCQk9ICJncGlvLWtleXMiLAogCS5pZAkJPSAtMSwKIAkubnVtX3Jlc291cmNlcwk9IDAsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhICA9ICZxbmFwX3RzMjA5X2J1dHRvbl9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzMjA5X2J1dHRvbl9kYXRhLAorCX0sCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFNBVEEKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9zYXRhX2RhdGEgPSB7Ci0JLm5fcG9ydHMgICAgICAgID0gMiwKKwkubl9wb3J0cwk9IDIsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAogICogR2VuZXJhbCBTZXR1cAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpxbmFwX3RzMjA5X2RldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZxbmFwX3RzMjA5X25vcl9mbGFzaCwKLQkmcW5hcF90czIwOV9idXR0b25fZGV2aWNlLAorc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHRzMjA5X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBVU0IgY29weSBidXR0b24gKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogTG9hZCBkZWZhdWx0cyBidXR0b24gKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogR1BJTyBSVEMgKi8KKwl7ICA0LCBNUFBfVU5VU0VEIH0sCisJeyAgNSwgTVBQX1VOVVNFRCB9LAorCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBQQ0kgSW50IEEgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogUENJIEludCBCICovCisJeyAgOCwgTVBQX1VOVVNFRCB9LAorCXsgIDksIE1QUF9VTlVTRUQgfSwKKwl7IDEwLCBNUFBfVU5VU0VEIH0sCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIHByZXNlbmNlICovCisJeyAxMywgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgcHJlc2VuY2UgKi8KKwl7IDE0LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBhY3RpdmUgKi8KKwl7IDE1LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBhY3RpdmUgKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgUlhEICovCisJeyAxNywgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFRYRCAqLworCXsgMTgsIE1QUF9HUElPIH0sCQkvKiBTV19SU1QgKi8KKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAogfTsKIAotLyoKLSAqIFFOQVAgVFMtWzEyXTA5IHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgdmlhIFVBUlQxLWF0dGFjaGVkIFBJQwotICovCi0KLSNkZWZpbmUgVUFSVDFfUkVHKHgpICAoVUFSVDFfVklSVF9CQVNFICsgKChVQVJUXyMjeCkgPDwgMikpCi0KLXN0YXRpYyB2b2lkIHFuYXBfdHMyMDlfcG93ZXJfb2ZmKHZvaWQpCi17Ci0JLyogMTkyMDAgYmF1ZCBkaXZpc29yICovCi0JY29uc3QgdW5zaWduZWQgZGl2aXNvciA9ICgoT1JJT041WF9UQ0xLICsgKDggKiAxOTIwMCkpIC8gKDE2ICogMTkyMDApKTsKLQotCXByX2luZm8oIiVzOiB0cmlnZ2VyaW5nIHBvd2VyLW9mZi4uLlxuIiwgX19mdW5jX18pOwotCi0JLyogaGlqYWNrIHVhcnQxIGFuZCByZXNldCBpbnRvIHNhbmUgc3RhdGUgKDE5MjAwLDhuMSkgKi8KLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhMQ1IpLCAweDgzKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhETEwpLCBkaXZpc29yICYgMHhmZik7Ci0Jb3Jpb241eF93cml0ZShVQVJUMV9SRUcoRExNKSwgKGRpdmlzb3IgPj4gOCkgJiAweGZmKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhMQ1IpLCAweDAzKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhJRVIpLCAweDAwKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhGQ1IpLCAweDAwKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhNQ1IpLCAweDAwKTsKLQotCS8qIHNlbmQgdGhlIHBvd2VyLW9mZiBjb21tYW5kICdBJyB0byBQSUMgKi8KLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhUWCksICdBJyk7Ci19Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBxbmFwX3RzMjA5X2luaXQodm9pZCkKIHsKIAkvKgpAQCAtMzY4LDUxICsyNzUsMzMgQEAKIAkgKi8KIAlvcmlvbjV4X2luaXQoKTsKIAotCS8qCi0JICogU2V0dXAgZmxhc2ggbWFwcGluZwotCSAqLwotCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKLQkJCSAgICBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUpOworCW9yaW9uNXhfbXBwX2NvbmYodHMyMDlfbXBwX21vZGVzKTsKIAogCS8qCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCi0JICovCi0Jb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAotCQkJCU9SSU9ONVhfUENJRV9XQV9TSVpFKTsKLQotCS8qCi0JICogU2V0dXAgTXVsdGlwbGV4aW5nIFBpbnMgLS0KLQkgKiBNUFBbMF0gUmVzZXJ2ZWQKLQkgKiBNUFBbMV0gVVNCIGNvcHkgYnV0dG9uICgwIGFjdGl2ZSkKLQkgKiBNUFBbMl0gTG9hZCBkZWZhdWx0cyBidXR0b24gKDAgYWN0aXZlKQotCSAqIE1QUFszXSBHUElPIFJUQwotCSAqIE1QUFs0LTVdIFJlc2VydmVkCi0JICogTVBQWzZdIFBDSSBJbnQgQQotCSAqIE1QUFs3XSBQQ0kgSW50IEIKLQkgKiBNUFBbOC0xMV0gUmVzZXJ2ZWQKLQkgKiBNUFBbMTJdIFNBVEEgMCBwcmVzZW5jZQotCSAqIE1QUFsxM10gU0FUQSAxIHByZXNlbmNlCi0JICogTVBQWzE0XSBTQVRBIDAgYWN0aXZlCi0JICogTVBQWzE1XSBTQVRBIDEgYWN0aXZlCi0JICogTVBQWzE2XSBVQVJUMSBSWEQKLQkgKiBNUFBbMTddIFVBUlQxIFRYRAotCSAqIE1QUFsxOF0gU1dfUlNUICgwIGFjdGl2ZSkKLQkgKiBNUFBbMTldIFJlc2VydmVkCiAJICogTVBQWzIwXSBQQ0kgY2xvY2sgMAogCSAqIE1QUFsyMV0gUENJIGNsb2NrIDEKIAkgKiBNUFBbMjJdIFVTQiAwIG92ZXIgY3VycmVudAogCSAqIE1QUFsyMy0yNV0gUmVzZXJ2ZWQKIAkgKi8KLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMHgzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NTU1NTAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDB4NTUwMCk7Ci0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4M2NjMGZmZik7CiAKLQkvKiByZWdpc3RlciB0czIwOSBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCi0JcG1fcG93ZXJfb2ZmID0gcW5hcF90czIwOV9wb3dlcl9vZmY7CisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CisJcW5hcF90c3gwOV9maW5kX21hY19hZGRyKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSArCisJCQkJIHFuYXBfdHMyMDlfcGFydGl0aW9uc1s1XS5vZmZzZXQsCisJCQkJIHFuYXBfdHMyMDlfcGFydGl0aW9uc1s1XS5zaXplKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZxbmFwX3RzeDA5X2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF9zYXRhX2luaXQoJnFuYXBfdHMyMDlfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKIAotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHFuYXBfdHMyMDlfZGV2aWNlcywKLQkJCQlBUlJBWV9TSVpFKHFuYXBfdHMyMDlfZGV2aWNlcykpOworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcW5hcF90czIwOV9ub3JfZmxhc2gpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZxbmFwX3RzMjA5X2J1dHRvbl9kZXZpY2UpOwogCiAJLyogR2V0IFJUQyBJUlEgYW5kIHJlZ2lzdGVyIHRoZSBjaGlwICovCiAJaWYgKGdwaW9fcmVxdWVzdChUUzIwOV9SVENfR1BJTywgInJ0YyIpID09IDApIHsKQEAgLTQyNSwxNCArMzE0LDEyIEBACiAJCXByX3dhcm5pbmcoInFuYXBfdHMyMDlfaW5pdDogZmFpbGVkIHRvIGdldCBSVEMgSVJRXG4iKTsKIAlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcW5hcF90czIwOV9pMmNfcnRjLCAxKTsKIAotCXRzMjA5X2ZpbmRfbWFjX2FkZHIoKTsKLQlvcmlvbjV4X2V0aF9pbml0KCZxbmFwX3RzMjA5X2V0aF9kYXRhKTsKLQotCW9yaW9uNXhfc2F0YV9pbml0KCZxbmFwX3RzMjA5X3NhdGFfZGF0YSk7CisJLyogcmVnaXN0ZXIgdHN4MDkgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCXBtX3Bvd2VyX29mZiA9IHFuYXBfdHN4MDlfcG93ZXJfb2ZmOwogfQogCiBNQUNISU5FX1NUQVJUKFRTMjA5LCAiUU5BUCBUUy0xMDkvVFMtMjA5IikKLQkvKiBNYWludGFpbmVyOiAgQnlyb24gQnJhZGxleSA8Ynlyb24uYmJyYWRsZXlAZ21haWwuY29tPiAqLworCS8qIE1haW50YWluZXI6IEJ5cm9uIEJyYWRsZXkgPGJ5cm9uLmJicmFkbGV5QGdtYWlsLmNvbT4gKi8KIAkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCiAJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCiAJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czQwOS1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNDA5LXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJmMGZmMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czQwOS1zZXR1cC5jCkBAIC0wLDAgKzEsMjczIEBACisvKgorICogUU5BUCBUUy00MDkgQm9hcmQgU2V0dXAKKyAqCisgKiBNYWludGFpbmVyOiBTeWx2ZXIgQnJ1bmVhdSA8c3lsdmVyLmJydW5lYXVAZ21haWwuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24KKyAqIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisjaW5jbHVkZSAidHN4MDktY29tbW9uLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUU5BUCBUUy00MDkgSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBRTkFQIFRTLTQwOSBoYXJkd2FyZSA6CisgKiAtIE1hcnZlbGwgODhGNTI4MS1EMAorICogLSBNYXJ2ZWxsIDg4U1g3MDQyIFNBVEEgY29udHJvbGxlciAoUENJZSkKKyAqIC0gTWFydmVsbCA4OEUxMTE4IEdpZ2FiaXQgRXRoZXJuZXQgUEhZCisgKiAtIFJUQyBTMzUzOTBBIChAMHgzMCkgb24gSTJDIGJ1cworICogLSA4TUIgTk9SIGZsYXNoCisgKiAtIDI1Nk1CIG9mIEREUi0yIFJBTQorICovCisKKy8qCisgKiA4TUIgTk9SIGZsYXNoIERldmljZSBidXMgYm9vdCBjaGlwIHNlbGVjdAorICovCisKKyNkZWZpbmUgUU5BUF9UUzQwOV9OT1JfQk9PVF9CQVNFIDB4ZmY4MDAwMDAKKyNkZWZpbmUgUU5BUF9UUzQwOV9OT1JfQk9PVF9TSVpFIFNaXzhNCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiA4TWlCIE5PUiBmbGFzaC4gVGhlIHN0cnVjdCBtdGRfcGFydGl0aW9uIGlzIG5vdCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUKKyAqICAgICBwYXJ0aXRpb25zIG9uIHRoZSBkZXZpY2UgYmVjYXVzZSB3ZSB3YW50IHRvIGtlZXAgY29tcGF0YWJpbGl0eSB3aXRoCisgKiAgICAgZXhpc3RpbmcgUU5BUCBmaXJtd2FyZS4KKyAqCisgKiBMYXlvdXQgYXMgdXNlZCBieSBRTkFQOgorICogIFsyXSAweDAwMDAwMDAwLTB4MDAyMDAwMDAgOiAiS2VybmVsIgorICogIFszXSAweDAwMjAwMDAwLTB4MDA2MDAwMDAgOiAiUm9vdEZTMSIKKyAqICBbNF0gMHgwMDYwMDAwMC0weDAwNzAwMDAwIDogIlJvb3RGUzIiCisgKiAgWzZdIDB4MDA3MDAwMDAtMHgwMDc2MDAwMCA6ICJOQVMgQ29uZmlnIiAocmVhZC1vbmx5KQorICogIFs1XSAweDAwNzYwMDAwLTB4MDA3ODAwMDAgOiAiVS1Cb290IENvbmZpZyIKKyAqICBbMV0gMHgwMDc4MDAwMC0weDAwODAwMDAwIDogIlUtQm9vdCIgKHJlYWQtb25seSkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gcW5hcF90czQwOV9wYXJ0aXRpb25zW10gPSB7CisJeworCQkubmFtZQkJPSAiVS1Cb290IiwKKwkJLnNpemUJCT0gMHgwMDA4MDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzgwMDAwLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsCisJfSwgeworCQkubmFtZQkJPSAiS2VybmVsIiwKKwkJLnNpemUJCT0gMHgwMDIwMDAwMCwKKwkJLm9mZnNldAkJPSAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIlJvb3RGUzEiLAorCQkuc2l6ZQkJPSAweDAwNDAwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDAyMDAwMDAsCisJfSwgeworCQkubmFtZQkJPSAiUm9vdEZTMiIsCisJCS5zaXplCQk9IDB4MDAxMDAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDYwMDAwMCwKKwl9LCB7CisJCS5uYW1lCQk9ICJVLUJvb3QgQ29uZmlnIiwKKwkJLnNpemUJCT0gMHgwMDAyMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIk5BUyBDb25maWciLAorCQkuc2l6ZQkJPSAweDAwMDYwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3MDAwMDAsCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgcW5hcF90czQwOV9ub3JfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gcW5hcF90czQwOV9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUocW5hcF90czQwOV9wYXJ0aXRpb25zKQorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBxbmFwX3RzNDA5X25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJPSBRTkFQX1RTNDA5X05PUl9CT09UX0JBU0UsCisJLmVuZAk9IFFOQVBfVFM0MDlfTk9SX0JPT1RfQkFTRSArIFFOQVBfVFM0MDlfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBxbmFwX3RzNDA5X25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhID0gJnFuYXBfdHM0MDlfbm9yX2ZsYXNoX2RhdGEsIH0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9ICZxbmFwX3RzNDA5X25vcl9mbGFzaF9yZXNvdXJjZSwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUENJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludCBfX2luaXQgcW5hcF90czQwOV9wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJaW50IGlycTsKKworCS8qCisJICogQ2hlY2sgZm9yIGRldmljZXMgd2l0aCBoYXJkLXdpcmVkIElSUXMuCisJICovCisJaXJxID0gb3Jpb241eF9wY2lfbWFwX2lycShkZXYsIHNsb3QsIHBpbik7CisJaWYgKGlycSAhPSAtMSkKKwkJcmV0dXJuIGlycTsKKworCS8qCisJICogUENJIGlzbid0IHVzZWQgb24gdGhlIFRTLTQwOQorCSAqLworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgcW5hcF90czQwOV9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gcW5hcF90czQwOV9wY2lfbWFwX2lycSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHFuYXBfdHM0MDlfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc190czQwOSgpKQorCQlwY2lfY29tbW9uX2luaXQoJnFuYXBfdHM0MDlfcGNpKTsKKworCXJldHVybiAwOworfQorCitzdWJzeXNfaW5pdGNhbGwocW5hcF90czQwOV9wY2lfaW5pdCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUlRDIFMzNTM5MEEgb24gSTJDIGJ1cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVFM0MDlfUlRDX0dQSU8JMTAKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHFuYXBfdHM0MDlfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygiczM1MzkwYSIsIDB4MzApLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdQSU8gQXR0YWNoZWQgS2V5cworICogICAgIFBvd2VyIGJ1dHRvbiBpcyBhdHRhY2hlZCB0byB0aGUgUElDIG1pY3JvY29udHJvbGxlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgUU5BUF9UUzQwOV9HUElPX0tFWV9NRURJQQkxNQorCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gcW5hcF90czQwOV9idXR0b25zW10gPSB7CisJeworCQkuY29kZQkJPSBLRVlfUkVTVEFSVCwKKwkJLmdwaW8JCT0gUU5BUF9UUzQwOV9HUElPX0tFWV9NRURJQSwKKwkJLmRlc2MJCT0gIlVTQiBDb3B5IEJ1dHRvbiIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBxbmFwX3RzNDA5X2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gcW5hcF90czQwOV9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUocW5hcF90czQwOV9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHFuYXBfdHM0MDlfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzNDA5X2J1dHRvbl9kYXRhLAorCX0sCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwgU2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHRzNDA5X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9VTlVTRUQgfSwKKwl7ICAyLCBNUFBfVU5VU0VEIH0sCisJeyAgMywgTVBQX1VOVVNFRCB9LAorCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBIREQgMSBzdGF0dXMgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogSEREIDIgc3RhdHVzICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIEhERCAzIHN0YXR1cyAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBIREQgNCBzdGF0dXMgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9HUElPIH0sCQkvKiBSVEMgaW50ICovCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9VTlVTRUQgfSwKKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX0dQSU8gfSwJCS8qIFNXX1JTVCAqLworCXsgMTUsIE1QUF9HUElPIH0sCQkvKiBVU0IgY29weSBidXR0b24gKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgUlhEICovCisJeyAxNywgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFRYRCAqLworCXsgMTgsIE1QUF9VTlVTRUQgfSwKKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHFuYXBfdHM0MDlfaW5pdCh2b2lkKQoreworCS8qCisJICogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYodHM0MDlfbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCXFuYXBfdHN4MDlfZmluZF9tYWNfYWRkcihRTkFQX1RTNDA5X05PUl9CT09UX0JBU0UgKworCQkJCSBxbmFwX3RzNDA5X3BhcnRpdGlvbnNbNV0ub2Zmc2V0LAorCQkJCSBxbmFwX3RzNDA5X3BhcnRpdGlvbnNbNV0uc2l6ZSk7CisJb3Jpb241eF9ldGhfaW5pdCgmcW5hcF90c3gwOV9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oUU5BUF9UUzQwOV9OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFFOQVBfVFM0MDlfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZxbmFwX3RzNDA5X25vcl9mbGFzaCk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnFuYXBfdHM0MDlfYnV0dG9uX2RldmljZSk7CisKKwkvKiBHZXQgUlRDIElSUSBhbmQgcmVnaXN0ZXIgdGhlIGNoaXAgKi8KKwlpZiAoZ3Bpb19yZXF1ZXN0KFRTNDA5X1JUQ19HUElPLCAicnRjIikgPT0gMCkgeworCQlpZiAoZ3Bpb19kaXJlY3Rpb25faW5wdXQoVFM0MDlfUlRDX0dQSU8pID09IDApCisJCQlxbmFwX3RzNDA5X2kyY19ydGMuaXJxID0gZ3Bpb190b19pcnEoVFM0MDlfUlRDX0dQSU8pOworCQllbHNlCisJCQlncGlvX2ZyZWUoVFM0MDlfUlRDX0dQSU8pOworCX0KKwlpZiAocW5hcF90czQwOV9pMmNfcnRjLmlycSA9PSAwKQorCQlwcl93YXJuaW5nKCJxbmFwX3RzNDA5X2luaXQ6IGZhaWxlZCB0byBnZXQgUlRDIElSUVxuIik7CisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJnFuYXBfdHM0MDlfaTJjX3J0YywgMSk7CisKKwkvKiByZWdpc3RlciB0c3gwOSBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0gcW5hcF90c3gwOV9wb3dlcl9vZmY7Cit9CisKK01BQ0hJTkVfU1RBUlQoVFM0MDksICJRTkFQIFRTLTQwOSIpCisJLyogTWFpbnRhaW5lcjogIFN5bHZlciBCcnVuZWF1IDxzeWx2ZXIuYnJ1bmVhdUBnbWFpbC5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHFuYXBfdHM0MDlfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNzh4eC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNzh4eC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZTlmMzUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM3OHh4LXNldHVwLmMKQEAgLTAsMCArMSwyNzcgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM3OHh4LXNldHVwLmMKKyAqCisgKiBNYWludGFpbmVyOiBBbGV4YW5kZXIgQ2xvdXRlciA8YWxleEBkaWdyaXoub3JnLnVrPgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L200OHQ4Ni5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUUy03OHh4IEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogRlBHQSAtIGxpdmVzIHdoZXJlIHRoZSBQQ0kgYnVzIHdvdWxkIGJlIGF0IE9SSU9ONVhfUENJX01FTV9QSFlTX0JBU0UKKyAqLworI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1BIWVNfQkFTRQkweGU4MDAwMDAwCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFCTB4ZmY5MDAwMDAKKyNkZWZpbmUgVFM3OFhYX0ZQR0FfUkVHU19TSVpFCQlTWl8xTQorCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfU1lTQ09OX0lECShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDAwKQorI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1NZU0NPTl9MQ0RJCShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDA0KQorI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1NZU0NPTl9MQ0RPCShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDA4KQorCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfUlRDX0NUUkwJKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHg4MDgpCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfUlRDX0RBVEEJKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHg4MGMpCisKKy8qCisgKiA1MTJrQiBOT1IgZmxhc2ggRGV2aWNlCisgKi8KKyNkZWZpbmUgVFM3OFhYX05PUl9CT09UX0JBU0UJCTB4ZmY4MDAwMDAKKyNkZWZpbmUgVFM3OFhYX05PUl9CT09UX1NJWkUJCVNaXzUxMksKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJL08gQWRkcmVzcyBNYXBwaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgdHM3OHh4X2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKFRTNzhYWF9GUEdBX1JFR1NfUEhZU19CQVNFKSwKKwkJLmxlbmd0aAkJPSBUUzc4WFhfRlBHQV9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQgdHM3OHh4X21hcF9pbyh2b2lkKQoreworCW9yaW9uNXhfbWFwX2lvKCk7CisJaW90YWJsZV9pbml0KHRzNzh4eF9pb19kZXNjLCBBUlJBWV9TSVpFKHRzNzh4eF9pb19kZXNjKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogNTEya0IgTk9SIEJvb3QgRmxhc2ggLSB0aGUgY2hpcCBpcyBhIE0yNVA0MAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gdHM3OHh4X25vcl9ib290X2ZsYXNoX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJCT0gInRzLWJvb3Ryb20iLAorCQkub2Zmc2V0CQk9IDAsCisJCS8qIG9ubHkgdGhlIGZpcnN0IDI1NmtCIGlzIHVzZWQgKi8KKwkJLnNpemUJCT0gU1pfMjU2SywKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB0czc4eHhfbm9yX2Jvb3RfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gdHM3OHh4X25vcl9ib290X2ZsYXNoX3Jlc291cmNlcywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHRzNzh4eF9ub3JfYm9vdF9mbGFzaF9yZXNvdXJjZXMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0czc4eHhfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBUUzc4WFhfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFRTNzhYWF9OT1JfQk9PVF9CQVNFICsgVFM3OFhYX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdHM3OHh4X25vcl9ib290X2ZsYXNoID0geworCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCT0gLTEsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnRzNzh4eF9ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9ICZ0czc4eHhfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEV0aGVybmV0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSB0czc4eHhfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gMCwKKwkuZm9yY2VfcGh5X2FkZHIgPSAxLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSVEMgTTQ4VDg2IC0gbmlja2VkXldib3Jyb3dlZCBmcm9tIGFyY2gvYXJtL21hY2gtZXA5M3h4L3RzNzJ4eC5jCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZmRlZiBDT05GSUdfUlRDX0RSVl9NNDhUODYKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHRzNzh4eF9ydGNfcmVhZGJ5dGUodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXdyaXRlYihhZGRyLCBUUzc4WFhfRlBHQV9SRUdTX1JUQ19DVFJMKTsKKwlyZXR1cm4gcmVhZGIoVFM3OFhYX0ZQR0FfUkVHU19SVENfREFUQSk7Cit9CisKK3N0YXRpYyB2b2lkIHRzNzh4eF9ydGNfd3JpdGVieXRlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwl3cml0ZWIoYWRkciwgVFM3OFhYX0ZQR0FfUkVHU19SVENfQ1RSTCk7CisJd3JpdGViKHZhbHVlLCBUUzc4WFhfRlBHQV9SRUdTX1JUQ19EQVRBKTsKK30KKworc3RhdGljIHN0cnVjdCBtNDh0ODZfb3BzIHRzNzh4eF9ydGNfb3BzID0geworCS5yZWFkYnl0ZQk9IHRzNzh4eF9ydGNfcmVhZGJ5dGUsCisJLndyaXRlYnl0ZQk9IHRzNzh4eF9ydGNfd3JpdGVieXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdHM3OHh4X3J0Y19kZXZpY2UgPSB7CisJLm5hbWUJCT0gInJ0Yy1tNDh0ODYiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmdHM3OHh4X3J0Y19vcHMsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCit9OworCisvKgorICogVFMgdXNlcyBzb21lIG9mIHRoZSB1c2VyIHN0b3JhZ2Ugc3BhY2Ugb24gdGhlIFJUQyBjaGlwIHNvIHNlZSBpZiBpdCBpcworICogcHJlc2VudDsgYXMgaXQncyBhbiBvcHRpb25hbCBmZWF0dXJlIGF0IHB1cmNoYXNlIHRpbWUgYW5kIG5vdCBhbGwgYm9hcmRzCisgKiB3aWxsIGhhdmUgaXQgcHJlc2VudAorICoKKyAqIEkndmUgdXNlZCB0aGUgbWV0aG9kIFRTIHVzZSBpbiB0aGVpciBydGM3ODAwLmMgZXhhbXBsZSBmb3IgdGhlIGRldGVjdGlvbgorICoKKyAqIFRPRE86IHRyYWNrIGRvd24gYSBndWluZWEgcGlnIHdpdGhvdXQgYW4gUlRDIHRvIHNlZSBpZiB3ZSBjYW4gd29yayBvdXQgYQorICogCQliZXR0ZXIgUlRDIGRldGVjdGlvbiByb3V0aW5lCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IHRzNzh4eF9ydGNfaW5pdCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgdG1wX3J0YzAsIHRtcF9ydGMxOworCisJdG1wX3J0YzAgPSB0czc4eHhfcnRjX3JlYWRieXRlKDEyNik7CisJdG1wX3J0YzEgPSB0czc4eHhfcnRjX3JlYWRieXRlKDEyNyk7CisKKwl0czc4eHhfcnRjX3dyaXRlYnl0ZSgweDAwLCAxMjYpOworCXRzNzh4eF9ydGNfd3JpdGVieXRlKDB4NTUsIDEyNyk7CisJaWYgKHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI3KSA9PSAweDU1KSB7CisJCXRzNzh4eF9ydGNfd3JpdGVieXRlKDB4YWEsIDEyNyk7CisJCWlmICh0czc4eHhfcnRjX3JlYWRieXRlKDEyNykgPT0gMHhhYQorCQkJCSYmIHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI2KSA9PSAweDAwKSB7CisJCQl0czc4eHhfcnRjX3dyaXRlYnl0ZSh0bXBfcnRjMCwgMTI2KTsKKwkJCXRzNzh4eF9ydGNfd3JpdGVieXRlKHRtcF9ydGMxLCAxMjcpOworCQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ0czc4eHhfcnRjX2RldmljZSk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworCXJldHVybiAwOworfTsKKyNlbHNlCitzdGF0aWMgaW50IF9faW5pdCB0czc4eHhfcnRjX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFNBVEEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgdHM3OHh4X3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHByaW50IHNvbWUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBib2FyZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBfX2luaXQgdHM3OHh4X3ByaW50X2JvYXJkX2lkKHZvaWQpCit7CisJdW5zaWduZWQgaW50IGJvYXJkX2luZm87CisKKwlib2FyZF9pbmZvID0gcmVhZGwoVFM3OFhYX0ZQR0FfUkVHU19TWVNDT05fSUQpOworCXByaW50ayhLRVJOX0lORk8gIlRTLTc4eHggSW5mbzogRlBHQSByZXY9JS4yeCwgQm9hcmQgTWFnaWM9JS42eCwgIiwKKwkJCQlib2FyZF9pbmZvICYgMHhmZiwKKwkJCQkoYm9hcmRfaW5mbyA+PiA4KSAmIDB4ZmZmZmZmKTsKKwlib2FyZF9pbmZvID0gcmVhZGwoVFM3OFhYX0ZQR0FfUkVHU19TWVNDT05fTENESSk7CisJcHJpbnRrKCJKUDE9JWQsIEpQMj0lZFxuIiwKKwkJCQkoYm9hcmRfaW5mbyA+PiAzMCkgJiAweDEsCisJCQkJKGJvYXJkX2luZm8gPj4gMzEpICYgMHgxKTsKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgdHM3OHh4X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBKVEFHIENsb2NrICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEpUQUcgRGF0YSBJbiAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBMYXQgRUNQMiAyNTYgRlBHQSAtIFBCMkIgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogSlRBRyBEYXRhIE91dCAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiBKVEFHIFRNUyAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBMYXQgRUNQMiAyNTYgRlBHQSAtIFBCMzFBX0NMSzQrICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIExhdCBFQ1AyIDI1NiBGUEdBIC0gUEIyMkIgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1VOVVNFRCB9LAorCXsgMTMsIE1QUF9VTlVTRUQgfSwKKwl7IDE0LCBNUFBfVU5VU0VEIH0sCisJeyAxNSwgTVBQX1VOVVNFRCB9LAorCXsgMTYsIE1QUF9VQVJUIH0sCisJeyAxNywgTVBQX1VBUlQgfSwKKwl7IDE4LCBNUFBfVUFSVCB9LAorCXsgMTksIE1QUF9VQVJUIH0sCisJeyAtMSB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHRzNzh4eF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJdHM3OHh4X3ByaW50X2JvYXJkX2lkKCk7CisKKwlvcmlvbjV4X21wcF9jb25mKHRzNzh4eF9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBNUFBbMjBdIFBDSSBDbG9jayBPdXQgMQorCSAqIE1QUFsyMV0gUENJIENsb2NrIE91dCAwCisJICogTVBQWzIyXSBVbnVzZWQKKwkgKiBNUFBbMjNdIFVudXNlZAorCSAqIE1QUFsyNF0gVW51c2VkCisJICogTVBQWzI1XSBVbnVzZWQKKwkgKi8KKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJnRzNzh4eF9ldGhfZGF0YSk7CisJb3Jpb241eF9zYXRhX2luaXQoJnRzNzh4eF9zYXRhX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCW9yaW9uNXhfdWFydDFfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oVFM3OFhYX05PUl9CT09UX0JBU0UsCisJCQkJICAgVFM3OFhYX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmdHM3OHh4X25vcl9ib290X2ZsYXNoKTsKKworCWlmICghdHM3OHh4X3J0Y19pbml0KCkpCisJCXByaW50ayhLRVJOX0lORk8gIlRTLTc4eHggUlRDIG5vdCBkZXRlY3RlZCBvciBlbmFibGVkXG4iKTsKK30KKworTUFDSElORV9TVEFSVChUUzc4WFgsICJUZWNobm9sb2dpYyBTeXN0ZW1zIFRTLTc4eHggU0JDIikKKwkvKiBNYWludGFpbmVyOiBBbGV4YW5kZXIgQ2xvdXRlciA8YWxleEBkaWdyaXoub3JnLnVrPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSB0czc4eHhfaW5pdCwKKwkubWFwX2lvCQk9IHRzNzh4eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzeDA5LWNvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzeDA5LWNvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZmVhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmMKQEAgLTAsMCArMSwxMzMgQEAKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgY29tbW9uIGZ1bmN0aW9ucworICoKKyAqIE1haW50YWluZXJzOiBMZW5uZXJ0IEJ1eXRlbmhlayA8YnV5dGVuaEBtYXJ2ZWxsLmNvbT4KKyAqCQlCeXJvbiBCcmFkbGV5IDxieXJvbi5iYnJhZGxleUBnbWFpbC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgorICogMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlICJ0c3gwOS1jb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBRTkFQIFRTLXgwOSBzcGVjaWZpYyBwb3dlciBvZmYgbWV0aG9kIHZpYSBVQVJUMS1hdHRhY2hlZCBQSUMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIFVBUlQxX1JFRyh4KQkoVUFSVDFfVklSVF9CQVNFICsgKChVQVJUXyMjeCkgPDwgMikpCisKK3ZvaWQgcW5hcF90c3gwOV9wb3dlcl9vZmYodm9pZCkKK3sKKwkvKiAxOTIwMCBiYXVkIGRpdmlzb3IgKi8KKwljb25zdCB1bnNpZ25lZCBkaXZpc29yID0gKChPUklPTjVYX1RDTEsgKyAoOCAqIDE5MjAwKSkgLyAoMTYgKiAxOTIwMCkpOworCisJcHJfaW5mbygiJXM6IHRyaWdnZXJpbmcgcG93ZXItb2ZmLi4uXG4iLCBfX2Z1bmNfXyk7CisKKwkvKiBoaWphY2sgdWFydDEgYW5kIHJlc2V0IGludG8gc2FuZSBzdGF0ZSAoMTkyMDAsOG4xKSAqLworCXdyaXRlbCgweDgzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKGRpdmlzb3IgJiAweGZmLCBVQVJUMV9SRUcoRExMKSk7CisJd3JpdGVsKChkaXZpc29yID4+IDgpICYgMHhmZiwgVUFSVDFfUkVHKERMTSkpOworCXdyaXRlbCgweDAzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKDB4MDAsIFVBUlQxX1JFRyhJRVIpKTsKKwl3cml0ZWwoMHgwMCwgVUFSVDFfUkVHKEZDUikpOworCXdyaXRlbCgweDAwLCBVQVJUMV9SRUcoTUNSKSk7CisKKwkvKiBzZW5kIHRoZSBwb3dlci1vZmYgY29tbWFuZCAnQScgdG8gUElDICovCisJd3JpdGVsKCdBJywgVUFSVDFfUkVHKFRYKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRXRoZXJuZXQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBxbmFwX3RzeDA5X2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoY2hhciBuKQoreworCWlmIChuID49ICcwJyAmJiBuIDw9ICc5JykKKwkJcmV0dXJuIG4gLSAnMCc7CisKKwlpZiAobiA+PSAnQScgJiYgbiA8PSAnRicpCisJCXJldHVybiBuIC0gJ0EnICsgMTA7CisKKwlpZiAobiA+PSAnYScgJiYgbiA8PSAnZicpCisJCXJldHVybiBuIC0gJ2EnICsgMTA7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHFuYXBfdHN4MDlfcGFyc2VfaGV4X2J5dGUoY29uc3QgY2hhciAqYikKK3sKKwlpbnQgaGk7CisJaW50IGxvOworCisJaGkgPSBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoYlswXSk7CisJbG8gPSBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoYlsxXSk7CisKKwlpZiAoaGkgPCAwIHx8IGxvIDwgMCkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIChoaSA8PCA0KSB8IGxvOworfQorCitzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzeDA5X2NoZWNrX21hY19hZGRyKGNvbnN0IGNoYXIgKmFkZHJfc3RyKQoreworCXVfaW50OF90IGFkZHJbNl07CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKSB7CisJCWludCBieXRlOworCisJCS8qCisJCSAqIEVuZm9yY2UgInh4Onh4Onh4Onh4Onh4Onh4XG4iIGZvcm1hdC4KKwkJICovCisJCWlmIChhZGRyX3N0clsoaSAqIDMpICsgMl0gIT0gKChpIDwgNSkgPyAnOicgOiAnXG4nKSkKKwkJCXJldHVybiAtMTsKKworCQlieXRlID0gcW5hcF90c3gwOV9wYXJzZV9oZXhfYnl0ZShhZGRyX3N0ciArIChpICogMykpOworCQlpZiAoYnl0ZSA8IDApCisJCQlyZXR1cm4gLTE7CisJCWFkZHJbaV0gPSBieXRlOworCX0KKworCXByaW50ayhLRVJOX0lORk8gInRzeDA5OiBmb3VuZCBldGhlcm5ldCBtYWMgYWRkcmVzcyAiKTsKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQorCQlwcmludGsoIiUuMnglcyIsIGFkZHJbaV0sIChpIDwgNSkgPyAiOiIgOiAiLlxuIik7CisKKwltZW1jcHkocW5hcF90c3gwOV9ldGhfZGF0YS5tYWNfYWRkciwgYWRkciwgNik7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFRoZSAnTkFTIENvbmZpZycgZmxhc2ggcGFydGl0aW9uIGhhcyBhbiBleHQyIGZpbGVzeXN0ZW0gd2hpY2gKKyAqIGNvbnRhaW5zIGEgZmlsZSB0aGF0IGhhcyB0aGUgZXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gcGxhaW4gdGV4dAorICogKGZvcm1hdCAieHg6eHg6eHg6eHg6eHg6eHhcbiIpLgorICovCit2b2lkIF9faW5pdCBxbmFwX3RzeDA5X2ZpbmRfbWFjX2FkZHIodTMyIG1lbV9iYXNlLCB1MzIgc2l6ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisKKwlmb3IgKGFkZHIgPSBtZW1fYmFzZTsgYWRkciA8IChtZW1fYmFzZSArIHNpemUpOyBhZGRyICs9IDEwMjQpIHsKKwkJY2hhciAqbm9yX3BhZ2U7CisJCWludCByZXQgPSAwOworCisJCW5vcl9wYWdlID0gaW9yZW1hcChhZGRyLCAxMDI0KTsKKwkJaWYgKG5vcl9wYWdlICE9IE5VTEwpIHsKKwkJCXJldCA9IHFuYXBfdHN4MDlfY2hlY2tfbWFjX2FkZHIobm9yX3BhZ2UpOworCQkJaW91bm1hcChub3JfcGFnZSk7CisJCX0KKworCQlpZiAocmV0ID09IDApCisJCQlicmVhazsKKwl9Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk4NDI2NAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90c3gwOS1jb21tb24uaApAQCAtMCwwICsxLDIwIEBACisjaWZuZGVmIF9fQVJDSF9PUklPTjVYX1RTWDA5X0NPTU1PTl9ICisjZGVmaW5lIF9fQVJDSF9PUklPTjVYX1RTWDA5X0NPTU1PTl9ICisKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgcG93ZXItb2ZmIGZ1bmN0aW9uCisgKi8KK2V4dGVybiB2b2lkIHFuYXBfdHN4MDlfcG93ZXJfb2ZmKHZvaWQpOworCisvKgorICogUU5BUCBUUy14MDkgQm9hcmRzIGZ1bmN0aW9uIHRvIGZpbmQgRXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gZmxhc2ggbWVtb3J5CisgKi8KK2V4dGVybiB2b2lkIF9faW5pdCBxbmFwX3RzeDA5X2ZpbmRfbWFjX2FkZHIodTMyIG1lbV9iYXNlLCB1MzIgc2l6ZSk7CisKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgZXRoZXJuZXQgZGVjbGFyYXRpb24KKyAqLworZXh0ZXJuIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHFuYXBfdHN4MDlfZXRoX2RhdGE7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvd25yODU0dC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3ducjg1NHQtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWYwOTNmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3ducjg1NHQtc2V0dXAuYwpAQCAtMCwwICsxLDE2NCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtb3Jpb241eC93bnI4NTR0LXNldHVwLmMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgd25yODU0dF9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBMRUQgZ3JlZW4gKDA9b24pICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IEJ1dHRvbiAoMD1vZmYpICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCBibGluayAoMD1vZmYpICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFdBTiBTdGF0dXMgTEVEIGFtYmVyICgwPW9mZikgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogUENJIGludCAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiA/Pz8gKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogPz8/ICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qID8/PyAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgIDksIE1QUF9HSUdFIH0sCQkvKiBHRV9SWEVSUiAqLworCXsgMTAsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgMTEsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgMTIsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNF0gKi8KKwl7IDEzLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzVdICovCisJeyAxNCwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs2XSAqLworCXsgMTUsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbN10gKi8KKwl7IDE2LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzRdICovCisJeyAxNywgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs1XSAqLworCXsgMTgsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNl0gKi8KKwl7IDE5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzddICovCisJeyAtMSB9LAorfTsKKworLyoKKyAqIDhNIE5PUiBmbGFzaCBEZXZpY2UgYnVzIGJvb3QgY2hpcCBzZWxlY3QKKyAqLworI2RlZmluZSBXTlI4NTRUX05PUl9CT09UX0JBU0UJMHhmNDAwMDAwMAorI2RlZmluZSBXTlI4NTRUX05PUl9CT09UX1NJWkUJU1pfOE0KKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHducjg1NHRfbm9yX2ZsYXNoX3BhcnRpdGlvbnNbXSA9IHsKKwl7CisJCS5uYW1lCQk9ICJrZXJuZWwiLAorCQkub2Zmc2V0CQk9IDB4MDAwMDAwMDAsCisJCS5zaXplCQk9IDB4MDAxMDAwMDAsCisJfSwgeworCQkubmFtZQkJPSAicm9vdGZzIiwKKwkJLm9mZnNldAkJPSAweDAwMTAwMDAwLAorCQkuc2l6ZQkJPSAweDAwNjYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInVib290IiwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDQwMDAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB3bnI4NTR0X25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAyLAorCS5wYXJ0cwkJPSB3bnI4NTR0X25vcl9mbGFzaF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUod25yODU0dF9ub3JfZmxhc2hfcGFydGl0aW9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHducjg1NHRfbm9yX2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gV05SODU0VF9OT1JfQk9PVF9CQVNFLAorCS5lbmQJCT0gV05SODU0VF9OT1JfQk9PVF9CQVNFICsgV05SODU0VF9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHducjg1NHRfbm9yX2ZsYXNoID0geworCS5uYW1lCQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZ3bnI4NTR0X25vcl9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnducjg1NHRfbm9yX2ZsYXNoX3Jlc291cmNlLAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHducjg1NHRfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgd25yODU0dF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZih3bnI4NTR0X21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2V0aF9pbml0KCZ3bnI4NTR0X2V0aF9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFdOUjg1NFRfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBXTlI4NTRUX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmd25yODU0dF9ub3JfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdCB3bnI4NTR0X3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJLyoKKwkgKiBNaW5pLVBDSSBzbG90LgorCSAqLworCWlmIChzbG90ID09IDcpCisJCXJldHVybiBncGlvX3RvX2lycSg0KTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgd25yODU0dF9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gd25yODU0dF9wY2lfbWFwX2lycSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHducjg1NHRfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc193bnI4NTR0KCkpCisJCXBjaV9jb21tb25faW5pdCgmd25yODU0dF9wY2kpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwod25yODU0dF9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoV05SODU0VCwgIk5ldGdlYXIgV05SODU0VCIpCisJLyogTWFpbnRhaW5lcjogSW1yZSBLYWxveiA8a2Fsb3pAb3BlbndydC5vcmc+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHducjg1NHRfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3dydDM1MG4tdjItc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC93cnQzNTBuLXYyLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVhYjU1YwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC93cnQzNTBuLXYyLXNldHVwLmMKQEAgLTAsMCArMSwxNzMgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvd3J0MzUwbi12Mi1zZXR1cC5jCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHdydDM1MG5fdjJfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgTEVEIGdyZWVuICgwPW9uKSAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBTZWN1cml0eSBMRUQgKDA9b24pICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEludGVybmFsIEJ1dHRvbiAoMD1vbikgKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogUmVzZXQgQnV0dG9uICgwPW9uKSAqLworCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBQQ0kgaW50ICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCBvcmFuZ2UgKDA9b24pICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIFVTQiBMRUQgKDA9b24pICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIFdpcmVsZXNzIExFRCAoMD1vbikgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7ICA5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhFUlIgKi8KKwl7IDEwLCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7IDExLCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7IDEyLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzRdICovCisJeyAxMywgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs1XSAqLworCXsgMTQsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNl0gKi8KKwl7IDE1LCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzddICovCisJeyAxNiwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs0XSAqLworCXsgMTcsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNV0gKi8KKwl7IDE4LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzZdICovCisJeyAxOSwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs3XSAqLworCXsgLTEgfSwKK307CisKKy8qCisgKiA4TSBOT1IgZmxhc2ggRGV2aWNlIGJ1cyBib290IGNoaXAgc2VsZWN0CisgKi8KKyNkZWZpbmUgV1JUMzUwTl9WMl9OT1JfQk9PVF9CQVNFCTB4ZjQwMDAwMDAKKyNkZWZpbmUgV1JUMzUwTl9WMl9OT1JfQk9PVF9TSVpFCVNaXzhNCisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiB3cnQzNTBuX3YyX25vcl9mbGFzaF9wYXJ0aXRpb25zW10gPSB7CisJeworCQkubmFtZQkJPSAia2VybmVsIiwKKwkJLm9mZnNldAkJPSAweDAwMDAwMDAwLAorCQkuc2l6ZQkJPSAweDAwNzYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInJvb3RmcyIsCisJCS5vZmZzZXQJCT0gMHgwMDFhMDAwMCwKKwkJLnNpemUJCT0gMHgwMDVjMDAwMCwKKwl9LCB7CisJCS5uYW1lCQk9ICJsYW5nIiwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDQwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIm52cmFtIiwKKwkJLm9mZnNldAkJPSAweDAwN2EwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDIwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInUtYm9vdCIsCisJCS5vZmZzZXQJCT0gMHgwMDdjMDAwMCwKKwkJLnNpemUJCT0gMHgwMDA0MDAwMCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgd3J0MzUwbl92Ml9ub3JfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gd3J0MzUwbl92Ml9ub3JfZmxhc2hfcGFydGl0aW9ucywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHdydDM1MG5fdjJfbm9yX2ZsYXNoX3BhcnRpdGlvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB3cnQzNTBuX3YyX25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IFdSVDM1ME5fVjJfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFdSVDM1ME5fVjJfTk9SX0JPT1RfQkFTRSArIFdSVDM1ME5fVjJfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB3cnQzNTBuX3YyX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmd3J0MzUwbl92Ml9ub3JfZmxhc2hfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCQk9IDEsCisJLnJlc291cmNlCQk9ICZ3cnQzNTBuX3YyX25vcl9mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSB3cnQzNTBuX3YyX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHdydDM1MG5fdjJfaW5pdCh2b2lkKQoreworCS8qCisJICogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYod3J0MzUwbl92Ml9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9ldGhfaW5pdCgmd3J0MzUwbl92Ml9ldGhfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihXUlQzNTBOX1YyX05PUl9CT09UX0JBU0UsCisJCQkJICAgV1JUMzUwTl9WMl9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJndydDM1MG5fdjJfbm9yX2ZsYXNoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgd3J0MzUwbl92Ml9wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJaW50IGlycTsKKworCS8qCisJICogQ2hlY2sgZm9yIGRldmljZXMgd2l0aCBoYXJkLXdpcmVkIElSUXMuCisJICovCisJaXJxID0gb3Jpb241eF9wY2lfbWFwX2lycShkZXYsIHNsb3QsIHBpbik7CisJaWYgKGlycSAhPSAtMSkKKwkJcmV0dXJuIGlycTsKKworCS8qCisJICogTWluaS1QQ0kgc2xvdC4KKwkgKi8KKwlpZiAoc2xvdCA9PSA3KQorCQlyZXR1cm4gZ3Bpb190b19pcnEoNCk7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaHdfcGNpIHdydDM1MG5fdjJfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMiwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHdydDM1MG5fdjJfcGNpX21hcF9pcnEsCit9OworCitzdGF0aWMgaW50IF9faW5pdCB3cnQzNTBuX3YyX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfd3J0MzUwbl92MigpKQorCQlwY2lfY29tbW9uX2luaXQoJndydDM1MG5fdjJfcGNpKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHdydDM1MG5fdjJfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFdSVDM1ME5fVjIsICJMaW5rc3lzIFdSVDM1ME4gdjIiKQorCS8qIE1haW50YWluZXI6IExlbm5lcnQgQnV5dGVuaGVrIDxidXl0ZW5oQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSB3cnQzNTBuX3YyX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnCmluZGV4IDVkYTdhNjguLjkxNGJiMzMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvS2NvbmZpZwpAQCAtMjAsOCArMjAsNyBAQAogCiBlbmRpZgogCi1jaG9pY2UKLQlwcm9tcHQgIlNlbGVjdCB0YXJnZXQgYm9hcmQiCittZW51ICJTZWxlY3QgdGFyZ2V0IGJvYXJkcyIKIAogY29uZmlnIEFSQ0hfR1VNU1RJWAogCWJvb2wgIkd1bXN0aXggWFNjYWxlIGJvYXJkcyIKQEAgLTM3LDEwICszNiwxMiBAQAogY29uZmlnIE1BQ0hfTE9HSUNQRF9QWEEyNzAKIAlib29sICJMb2dpY1BEIFBYQTI3MCBDYXJkIEVuZ2luZSBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBMjd4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBNQUNIX01BSU5TVE9ORQogCWJvb2wgIkludGVsIEhDRERCQlZBMCBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBMjd4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBBUkNIX1BYQV9JRFAKIAlib29sICJBY2NlbGVudCBYc2NhbGUgSURQIgpAQCAtMTE2LDYgKzExNyw3IEBACiBjb25maWcgTUFDSF9aWUxPTklURQogCWJvb2wgIlBYQTN4eCBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBM3h4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBNQUNIX0xJVFRMRVRPTgogCWJvb2wgIlBYQTN4eCBGb3JtIEZhY3RvciBQbGF0Zm9ybSAoYWthIExpdHRsZXRvbikiCkBAIC0xMzgsNyArMTQwLDcgQEAKIAlzZWxlY3QgUFhBMjd4CiAJc2VsZWN0IElXTU1YVAogCi1lbmRjaG9pY2UKK2VuZG1lbnUKIAogY2hvaWNlCiAJcHJvbXB0ICJVc2VkIGJhc2Vib2FyZCIKQEAgLTE0NiwyNiArMTQ4LDI1IEBACiAKIGNvbmZpZyBNQUNIX1BDTTk5MF9CQVNFQk9BUkQKIAlib29sICJQSFlURUMgUENNLTk5MCBkZXZlbG9wbWVudCBib2FyZCIKKwlzZWxlY3QgSEFWRV9QV00KIAogZW5kY2hvaWNlCiAKLWlmIFBYQV9TSEFSUFNMCi0KIGNob2ljZQotCXByb21wdCAiU2VsZWN0IHRhcmdldCBTaGFycCBaYXVydXMgZGV2aWNlIHJhbmdlIgorCXByb21wdCAiZGlzcGxheSBvbiBwY205OTAiCisJZGVwZW5kcyBvbiBNQUNIX1BDTTk5MF9CQVNFQk9BUkQKIAotY29uZmlnIFBYQV9TSEFSUFNMXzI1eAotCWJvb2wgIlNoYXJwIFBYQTI1eCBtb2RlbHMgKFNMLTU2MDAsIFNMLUM3eHggYW5kIFNMLUM2MDAweCkiCi0Jc2VsZWN0IFBYQTI1eAorY29uZmlnIFBDTTk5MF9ESVNQTEFZX1NIQVJQCisJYm9vbCAic2hhcnAgbHEwODR2MWRnMjEgc3RuIGRpc3BsYXkiCiAKLWNvbmZpZyBQWEFfU0hBUlBTTF8yN3gKLQlib29sICJTaGFycCBQWEEyNzAgbW9kZWxzIChTTC1DeHgwMCkiCi0Jc2VsZWN0IFBYQTI3eAorY29uZmlnIFBDTTk5MF9ESVNQTEFZX05FQworCWJvb2wgIm5lYyBubDY0NDhiYzIwXzE4ZCB0ZnQgZGlzcGxheSIKKworY29uZmlnIFBDTTk5MF9ESVNQTEFZX05PTkUKKwlib29sICJubyBkaXNwbGF5IgogCiBlbmRjaG9pY2UKIAotZW5kaWYKLQogaWYgQVJDSF9HVU1TVElYCiAKIGNob2ljZQpAQCAtMTk5LDI4ICsyMDAsMzMgQEAKIAogY29uZmlnIE1BQ0hfUE9PRExFCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLTU2MDAgKFBvb2RsZSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAJc2VsZWN0IFNIQVJQX0xPQ09NTwogCXNlbGVjdCBQWEFfU1NQCiAKIGNvbmZpZyBNQUNIX0NPUkdJCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLUM3MDAgKENvcmdpKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjV4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyNXgKIAlzZWxlY3QgUFhBX1NIQVJQX0M3eHgKIAogY29uZmlnIE1BQ0hfU0hFUEhFUkQKIAlib29sICJFbmFibGUgU2hhcnAgU0wtQzc1MCAoU2hlcGhlcmQpIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yNXgKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI1eAogCXNlbGVjdCBQWEFfU0hBUlBfQzd4eAogCiBjb25maWcgTUFDSF9IVVNLWQogCWJvb2wgIkVuYWJsZSBTaGFycCBTTC1DNzYwIChIdXNreSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAJc2VsZWN0IFBYQV9TSEFSUF9DN3h4CiAKIGNvbmZpZyBNQUNIX0FLSVRBCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLTEwMDAgKEFraXRhKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjd4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyN3gKIAlzZWxlY3QgUFhBX1NIQVJQX0N4eDAwCiAJc2VsZWN0IE1BQ0hfU1BJVFoKIAlzZWxlY3QgSTJDCkBAIC0yMjgsMTcgKzIzNCwyMCBAQAogCiBjb25maWcgTUFDSF9TUElUWgogCWJvb2wgIkVuYWJsZSBTaGFycCBaYXVydXMgU0wtMzAwMCAoU3BpdHopIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yN3gKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBQWEFfU0hBUlBfQ3h4MDAKIAogY29uZmlnIE1BQ0hfQk9SWk9JCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFphdXJ1cyBTTC0zMTAwIChCb3J6b2kpIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yN3gKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBQWEFfU0hBUlBfQ3h4MDAKIAogY29uZmlnIE1BQ0hfVE9TQQogCWJvb2wgIkVuYWJsZSBTaGFycCBTTC02MDAweCAoVG9zYSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAKIGNvbmZpZyBQWEEyNXgKIAlib29sCkBAIC0yNzMsNCArMjgyLDEwIEBACiAJdHJpc3RhdGUKIAloZWxwCiAJICBFbmFibGUgc3VwcG9ydCBmb3IgUFhBMnh4IFNTUCBwb3J0cworCitjb25maWcgUFhBX1BXTQorCXRyaXN0YXRlCisJZGVmYXVsdCBCQUNLTElHSFRfUFdNCisJaGVscAorCSAgRW5hYmxlIHN1cHBvcnQgZm9yIFBYQTJ4eC9QWEEzeHggUFdNIGNvbnRyb2xsZXJzCiBlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQppbmRleCAwZTZkMDViLi5jNGRmYmU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQpAQCAtMTAsMTAgKzEwLDExIEBACiAKICMgR2VuZXJpYyBkcml2ZXJzIHRoYXQgb3RoZXIgZHJpdmVycyBtYXkgZGVwZW5kIHVwb24KIG9iai0kKENPTkZJR19QWEFfU1NQKQkJKz0gc3NwLm8KK29iai0kKENPTkZJR19QWEFfUFdNKQkJKz0gcHdtLm8KIAogIyBTb0Mtc3BlY2lmaWMgY29kZQotb2JqLSQoQ09ORklHX1BYQTI1eCkJCSs9IG1mcC1weGEyeHgubyBweGEyNXgubwotb2JqLSQoQ09ORklHX1BYQTI3eCkJCSs9IG1mcC1weGEyeHgubyBweGEyN3gubworb2JqLSQoQ09ORklHX1BYQTI1eCkJCSs9IG1mcC1weGEyeHgubyBweGEyeHgubyBweGEyNXgubworb2JqLSQoQ09ORklHX1BYQTI3eCkJCSs9IG1mcC1weGEyeHgubyBweGEyeHgubyBweGEyN3gubwogb2JqLSQoQ09ORklHX1BYQTN4eCkJCSs9IG1mcC1weGEzeHgubyBweGEzeHgubyBzbWVtYy5vCiBvYmotJChDT05GSUdfQ1BVX1BYQTMwMCkJKz0gcHhhMzAwLm8KIG9iai0kKENPTkZJR19DUFVfUFhBMzIwKQkrPSBweGEzMjAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmMKaW5kZXggZTk3ZGM1OS4uYjRkMDQ5NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5jCkBAIC0xMiw3ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KIAotI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCkBAIC00Nyw2ICs0Nyw5IEBACiAJCWNsayA9IHA7CiAJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOwogCisJaWYgKCFJU19FUlIoY2xrKSAmJiBjbGstPm9wcyA9PSBOVUxMKQorCQljbGsgPSBjbGstPm90aGVyOworCiAJcmV0dXJuIGNsazsKIH0KIEVYUE9SVF9TWU1CT0woY2xrX2dldCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5oIGIvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suaAppbmRleCBiYzZiNzdlLi44M2NiZmFiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5oCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmgKQEAgLTE1LDYgKzE1LDcgQEAKIAl1bnNpZ25lZCBpbnQJCWNrZW47CiAJdW5zaWduZWQgaW50CQlkZWxheTsKIAl1bnNpZ25lZCBpbnQJCWVuYWJsZWQ7CisJc3RydWN0IGNsawkJKm90aGVyOwogfTsKIAogI2RlZmluZSBJTklUX0NLRU4oX25hbWUsIF9ja2VuLCBfcmF0ZSwgX2RlbGF5LCBfZGV2KQlcCkBAIC0zNSw2ICszNiwxNyBAQAogCQkuY2tlbgk9IENLRU5fIyNfY2tlbiwJCQlcCiAJfQogCisvKgorICogVGhpcyBpcyBhIHBsYWNlaG9sZGVyIHRvIGFsaWFzIG9uZSBjbG9jayBkZXZpY2UrbmFtZSBwYWlyCisgKiB0byBhbm90aGVyIHN0cnVjdCBjbGsuCisgKi8KKyNkZWZpbmUgSU5JVF9DS09USEVSKF9uYW1lLCBfb3RoZXIsIF9kZXYpCQlcCisJewkJCQkJCVwKKwkJLm5hbWUJPSBfbmFtZSwJCQlcCisJCS5kZXYJPSBfZGV2LAkJCQlcCisJCS5vdGhlcgk9IF9vdGhlciwJCQlcCisJfQorCiBleHRlcm4gY29uc3Qgc3RydWN0IGNsa29wcyBjbGtfY2tlbl9vcHM7CiAKIHZvaWQgY2xrX2NrZW5fZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLXBjaS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvY20teDI3MC1wY2kuYwppbmRleCBhYzdmMDVmLi4zMTljOWZmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLXBjaS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAtcGNpLmMKQEAgLTQxLDE4ICs0MSwyMCBAQAogewogCXVuc2lnbmVkIGludCBzeiA9IFNaXzY0TSA+PiBQQUdFX1NISUZUOwogCi0JcHJfaW5mbygiQWRqdXN0aW5nIHpvbmVzIGZvciBDTS14MjcwXG4iKTsKKwlpZiAobWFjaGluZV9pc19hcm1jb3JlKCkpIHsKKwkJcHJfaW5mbygiQWRqdXN0aW5nIHpvbmVzIGZvciBDTS14MjcwXG4iKTsKIAotCS8qCi0JICogT25seSBhZGp1c3QgaWYgPiA2NE0gb24gY3VycmVudCBzeXN0ZW0KLQkgKi8KLQlpZiAobm9kZSB8fCAoem9uZV9zaXplWzBdIDw9IHN6KSkKLQkJcmV0dXJuOworCQkvKgorCQkgKiBPbmx5IGFkanVzdCBpZiA+IDY0TSBvbiBjdXJyZW50IHN5c3RlbQorCQkgKi8KKwkJaWYgKG5vZGUgfHwgKHpvbmVfc2l6ZVswXSA8PSBzeikpCisJCQlyZXR1cm47CiAKLQl6b25lX3NpemVbMV0gPSB6b25lX3NpemVbMF0gLSBzejsKLQl6b25lX3NpemVbMF0gPSBzejsKLQl6aG9sZV9zaXplWzFdID0gemhvbGVfc2l6ZVswXTsKLQl6aG9sZV9zaXplWzBdID0gMDsKKwkJem9uZV9zaXplWzFdID0gem9uZV9zaXplWzBdIC0gc3o7CisJCXpvbmVfc2l6ZVswXSA9IHN6OworCQl6aG9sZV9zaXplWzFdID0gemhvbGVfc2l6ZVswXTsKKwkJemhvbGVfc2l6ZVswXSA9IDA7CisJfQogfQogCiBzdGF0aWMgdm9pZCBjbXgyNzBfaXQ4MTUyX2lycV9kZW11eCh1bnNpZ25lZCBpbnQgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLmMKaW5kZXggZjU4NTFkMS4uMDFiOTk2NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY20teDI3MC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAuYwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CkBAIC04MSwxMiArODIsNiBAQAogCX0KIH07CiAKLS8qIGF1ZGlvIGRldmljZSAqLwotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgY214MjcwX2F1ZGlvX2RldmljZSA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIC8qIHRvdWNoc2NyZWVuIGNvbnRyb2xsZXIgKi8KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGNteDI3MF90c19kZXZpY2UgPSB7CiAJLm5hbWUJCT0gInVjYjE0MDBfdHMiLApAQCAtMjE5LDcgKzIxNCw2IEBACiAvKiBwbGF0Zm9ybSBkZXZpY2VzICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmNteDI3MF9kZXZpY2VfZG05aywKLQkmY214MjcwX2F1ZGlvX2RldmljZSwKIAkmY214MjcwX3J0Y19kZXZpY2UsCiAJJmNteDI3MF8yNzAwRywKIAkmY214MjcwX2xlZF9kZXZpY2UsCkBAIC01OTQsNiArNTg4LDcgQEAKIAogCS8qIHJlZ2lzdGVyIENNLVgyNzAgcGxhdGZvcm0gZGV2aWNlcyAqLwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOworCXB4YV9zZXRfYWM5N19pbmZvKE5VTEwpOwogCiAJLyogc2V0IE1DSSBhbmQgT0hDSSBwbGF0Zm9ybSBwYXJhbWV0ZXJzICovCiAJcHhhX3NldF9tY2lfaW5mbygmY214MjcwX21jaV9wbGF0Zm9ybV9kYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaS5jCmluZGV4IGI3NTdkZDcuLmIzNzY3MWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2kuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJkYS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2lfcG0uYyBiL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpX3BtLmMKaW5kZXggMGE4NWY3MC4uZTkxYzBmMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2lfcG0uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaV9wbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc2hhcnBzbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NvcmdpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSAic2hhcnBzbC5oIgogCkBAIC0yMDQsNyArMjA1LDkgQEAKIAkucmVhZF9kZXZkYXRhICAgID0gY29yZ2lwbV9yZWFkX2RldmRhdGEsCiAJLmNoYXJnZXJfd2FrZXVwICA9IGNvcmdpX2NoYXJnZXJfd2FrZXVwLAogCS5zaG91bGRfd2FrZXVwICAgPSBjb3JnaV9zaG91bGRfd2FrZXVwLAorI2lmZGVmIENPTkZJR19CQUNLTElHSFRfQ09SR0kKIAkuYmFja2xpZ2h0X2xpbWl0ID0gY29yZ2libF9saW1pdF9pbnRlbnNpdHksCisjZW5kaWYKIAkuY2hhcmdlX29uX3ZvbHQJICA9IFNIQVJQU0xfQ0hBUkdFX09OX1ZPTFQsCiAJLmNoYXJnZV9vbl90ZW1wCSAgPSBTSEFSUFNMX0NIQVJHRV9PTl9URU1QLAogCS5jaGFyZ2VfYWNpbl9oaWdoID0gU0hBUlBTTF9DSEFSR0VfT05fQUNJTl9ISUdILApAQCAtMjI2LDYgKzIyOSwxMCBAQAogewogCWludCByZXQ7CiAKKwlpZiAoIW1hY2hpbmVfaXNfY29yZ2koKSAmJiAhbWFjaGluZV9pc19zaGVwaGVyZCgpCisJCQkmJiAhbWFjaGluZV9pc19odXNreSgpKQorCQlyZXR1cm4gLUVOT0RFVjsKKwogCWNvcmdpcG1fZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzaGFycHNsLXBtIiwgLTEpOwogCWlmICghY29yZ2lwbV9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5jCmluZGV4IGQ2YzA1YjYuLmE2ZjIzOTAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmMKQEAgLTEwLDExICsxMCwxNCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9pMmMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMjd4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb2hjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTI3eF9rZXlwYWQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jYW1lcmEuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdWRpby5oPgogCiAjaW5jbHVkZSAiZGV2aWNlcy5oIgorI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogdm9pZCBfX2luaXQgcHhhX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCiB7CkBAIC05MSw4ICs5NCwxOSBAQAogCiBzdGF0aWMgdTY0IHVkY19kbWFfbWFzayA9IH4odTMyKTA7CiAKLXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV91ZGMgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC11ZGMiLAorc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3VkYyA9IHsKKwkubmFtZQkJPSAicHhhMjV4LXVkYyIsCisJLmlkCQk9IC0xLAorCS5yZXNvdXJjZQk9IHB4YTJ4eF91ZGNfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyeHhfdWRjX3Jlc291cmNlcyksCisJLmRldgkJPSAgeworCQkucGxhdGZvcm1fZGF0YQk9ICZweGFfdWRjX2luZm8sCisJCS5kbWFfbWFzawk9ICZ1ZGNfZG1hX21hc2ssCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3VkYyA9IHsKKwkubmFtZQkJPSAicHhhMjd4LXVkYyIsCiAJLmlkCQk9IC0xLAogCS5yZXNvdXJjZQk9IHB4YTJ4eF91ZGNfcmVzb3VyY2VzLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyeHhfdWRjX3Jlc291cmNlcyksCkBAIC0yMzMsOCArMjQ3LDE1IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YWkyY19yZXNvdXJjZXMpLAogfTsKIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgcHhhMjd4X2kyY19tZnBfY2ZnW10gPSB7CisJR1BJTzExN19JMkNfU0NMLAorCUdQSU8xMThfSTJDX1NEQSwKK307CisKIHZvaWQgX19pbml0IHB4YV9zZXRfaTJjX2luZm8oc3RydWN0IGkyY19weGFfcGxhdGZvcm1fZGF0YSAqaW5mbykKIHsKKwlpZiAoY3B1X2lzX3B4YTI3eCgpKQorCQlweGEyeHhfbWZwX2NvbmZpZyhBUlJBWV9BTkRfU0laRShweGEyN3hfaTJjX21mcF9jZmcpKTsKIAlweGFfcmVnaXN0ZXJfZGV2aWNlKCZweGFfZGV2aWNlX2kyYywgaW5mbyk7CiB9CiAKQEAgLTI3OCw4ICsyOTksNjkgQEAKIAkuaWQJCT0gLTEsCiB9OwogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YV9hYzk3X3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ICA9IDB4NDA1MDAwMDAsCisJCS5lbmQJPSAweDQwNTAwMDAwICsgMHhmZmYsCisJCS5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICA9IElSUV9BQzk3LAorCQkuZW5kICAgID0gSVJRX0FDOTcsCisJCS5mbGFncyAgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHU2NCBweGFfYWM5N19kbWFtYXNrID0gMHhmZmZmZmZmZlVMOworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfYWM5NyA9IHsKKwkubmFtZSAgICAgICAgICAgPSAicHhhMnh4LWFjOTciLAorCS5pZCAgICAgICAgICAgICA9IC0xLAorCS5kZXYgICAgICAgICAgICA9IHsKKwkJLmRtYV9tYXNrID0gJnB4YV9hYzk3X2RtYW1hc2ssCisJCS5jb2hlcmVudF9kbWFfbWFzayA9IDB4ZmZmZmZmZmYsCisJfSwKKwkubnVtX3Jlc291cmNlcyAgPSBBUlJBWV9TSVpFKHB4YV9hYzk3X3Jlc291cmNlcyksCisJLnJlc291cmNlICAgICAgID0gcHhhX2FjOTdfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgcHhhX3NldF9hYzk3X2luZm8ocHhhMnh4X2F1ZGlvX29wc190ICpvcHMpCit7CisJcHhhX3JlZ2lzdGVyX2RldmljZSgmcHhhX2RldmljZV9hYzk3LCBvcHMpOworfQorCiAjaWZkZWYgQ09ORklHX1BYQTI1eAogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YTI1eF9yZXNvdXJjZV9wd20wW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSAweDQwYjAwMDAwLAorCQkuZW5kCT0gMHg0MGIwMDAwZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjV4X2RldmljZV9wd20wID0geworCS5uYW1lCQk9ICJweGEyNXgtcHdtIiwKKwkuaWQJCT0gMCwKKwkucmVzb3VyY2UJPSBweGEyNXhfcmVzb3VyY2VfcHdtMCwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhMjV4X3Jlc291cmNlX3B3bTApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyNXhfcmVzb3VyY2VfcHdtMVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gMHg0MGMwMDAwMCwKKwkJLmVuZAk9IDB4NDBjMDAwMGYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfcHdtMSA9IHsKKwkubmFtZQkJPSAicHhhMjV4LXB3bSIsCisJLmlkCQk9IDEsCisJLnJlc291cmNlCT0gcHhhMjV4X3Jlc291cmNlX3B3bTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTI1eF9yZXNvdXJjZV9wd20xKSwKK307CisKIHN0YXRpYyB1NjQgcHhhMjV4X3NzcF9kbWFfbWFzayA9IERNQV9CSVRfTUFTSygzMik7CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjV4X3Jlc291cmNlX3NzcFtdID0gewpAQCAtNTY4LDYgKzY1MCwzNiBAQAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyN3hfcmVzb3VyY2Vfc3NwMyksCiB9OwogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YTI3eF9yZXNvdXJjZV9wd20wW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSAweDQwYjAwMDAwLAorCQkuZW5kCT0gMHg0MGIwMDAxZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9wd20wID0geworCS5uYW1lCQk9ICJweGEyN3gtcHdtIiwKKwkuaWQJCT0gMCwKKwkucmVzb3VyY2UJPSBweGEyN3hfcmVzb3VyY2VfcHdtMCwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhMjd4X3Jlc291cmNlX3B3bTApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyN3hfcmVzb3VyY2VfcHdtMVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gMHg0MGMwMDAwMCwKKwkJLmVuZAk9IDB4NDBjMDAwMWYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfcHdtMSA9IHsKKwkubmFtZQkJPSAicHhhMjd4LXB3bSIsCisJLmlkCQk9IDEsCisJLnJlc291cmNlCT0gcHhhMjd4X3Jlc291cmNlX3B3bTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTI3eF9yZXNvdXJjZV9wd20xKSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjd4X3Jlc291cmNlX2NhbWVyYVtdID0gewogCVswXSA9IHsKIAkJLnN0YXJ0CT0gMHg1MDAwMDAwMCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuaCBiL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuaAppbmRleCBmY2FiMDE3Li5iODUyZWIxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5oCkBAIC0xLDcgKzEsOCBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9tY2k7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEzeHhfZGV2aWNlX21jaTI7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEzeHhfZGV2aWNlX21jaTM7Ci1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX3VkYzsKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfdWRjOworZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV91ZGM7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2ZiOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9mZnVhcnQ7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2J0dWFydDsKQEAgLTExLDYgKzEyLDcgQEAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfaTJzOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9maWNwOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9ydGM7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2FjOTc7CiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfaTJjX3Bvd2VyOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9vaGNpOwpAQCAtMjQsNCArMjYsOSBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9zc3AzOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhM3h4X2RldmljZV9zc3A0OwogCitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3B3bTA7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3B3bTE7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3B3bTA7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3B3bTE7CisKIHZvaWQgX19pbml0IHB4YV9yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2VtLXgyNzAuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2VtLXgyNzAuYwppbmRleCA5YzU3NzAwLi4xYmY2ODA3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9lbS14MjcwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZW0teDI3MC5jCkBAIC0yNCw2ICsyNCw4IEBACiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMjd4LXVkYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CkBAIC03MiwxMiArNzQsNiBAQAogCX0KIH07CiAKLS8qIGF1ZGlvIGRldmljZSAqLwotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZW1feDI3MF9hdWRpbyA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIC8qIFdNOTcxMiB0b3VjaHNjcmVlbiBjb250cm9sbGVyLiBIb3BlZnVsbHkgdGhlIGRyaXZlciB3aWxsIG1ha2UgaXQgdG8KICAqIHRoZSBtYWluc3RyZWFtIHNvbWV0aW1lICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBlbV94MjcwX3RzID0gewpAQCAtMjE3LDcgKzIxMyw2IEBACiAvKiBwbGF0Zm9ybSBkZXZpY2VzICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmVtX3gyNzBfZG05aywKLQkmZW1feDI3MF9hdWRpbywKIAkmZW1feDI3MF90cywKIAkmZW1feDI3MF9ydGMsCiAJJmVtX3gyNzBfbmFuZCwKQEAgLTMyNSw2ICszMjAsNyBAQAogCiAJLyogcmVnaXN0ZXIgRU0tWDI3MCBwbGF0Zm9ybSBkZXZpY2VzICovCiAJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7CisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CiAKIAkvKiBzZXQgTUNJIGFuZCBPSENJIHBsYXRmb3JtIHBhcmFtZXRlcnMgKi8KIAlweGFfc2V0X21jaV9pbmZvKCZlbV94MjcwX21jaV9wbGF0Zm9ybV9kYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2dlbmVyaWMuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2dlbmVyaWMuYwppbmRleCA0NDYxNzkzLi5jYTA1MzIyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9nZW5lcmljLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZ2VuZXJpYy5jCkBAIC02MCwyMyArNjAsNiBAQAogRVhQT1JUX1NZTUJPTChnZXRfbWVtY2xrX2ZyZXF1ZW5jeV8xMGtoeik7CiAKIC8qCi0gKiBSb3V0aW5lIHRvIHNhZmVseSBlbmFibGUgb3IgZGlzYWJsZSBhIGNsb2NrIGluIHRoZSBDS0VOCi0gKi8KLXZvaWQgX19weGFfc2V0X2NrZW4oaW50IGNsb2NrLCBpbnQgZW5hYmxlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCi0JaWYgKGVuYWJsZSkKLQkJQ0tFTiB8PSAoMSA8PCBjbG9jayk7Ci0JZWxzZQotCQlDS0VOICY9IH4oMSA8PCBjbG9jayk7Ci0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci19Ci1FWFBPUlRfU1lNQk9MKF9fcHhhX3NldF9ja2VuKTsKLQotLyoKICAqIEludGVsIFBYQTJ4eCBpbnRlcm5hbCByZWdpc3RlciBtYXBwaW5nLgogICoKICAqIE5vdGUgMTogbm90IGFsbCBQWEEyeHggdmFyaWFudHMgaW1wbGVtZW50IGFsbCB0aG9zZSBhZGRyZXNzZXMuCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9pcnEuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCmluZGV4IGE5YTBjM2YuLmZiZmY1NTcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCkBAIC0yMSw3ICsyMSw2IEBACiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KIAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbHBkMjcwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYwppbmRleCBhMjBlNGIxLi5jYzFjNGZhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvcGFydGl0aW9ucy5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bV9iYWNrbGlnaHQuaD4KIAogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgpAQCAtMTM0LDkgKzEzNSwxMiBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBscGQyNzBfaXJxX2RldmljZV9pbml0KHZvaWQpCiB7Ci0JaW50IHJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmbHBkMjcwX2lycV9zeXNjbGFzcyk7Ci0JaWYgKHJldCA9PSAwKQotCQlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJmxwZDI3MF9pcnFfZGV2aWNlKTsKKwlpbnQgcmV0ID0gLUVOT0RFVjsKKwlpZiAobWFjaGluZV9pc19sb2dpY3BkX3B4YTI3MCgpKSB7CisJCXJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmbHBkMjcwX2lycV9zeXNjbGFzcyk7CisJCWlmIChyZXQgPT0gMCkKKwkJCXJldCA9IHN5c2Rldl9yZWdpc3RlcigmbHBkMjcwX2lycV9kZXZpY2UpOworCX0KIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xNjQsMTEgKzE2OCw2IEBACiAJLnJlc291cmNlCT0gc21jOTF4X3Jlc291cmNlcywKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxwZDI3MF9hdWRpb19kZXZpY2UgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC1hYzk3IiwKLQkuaWQJCT0gLTEsCi19OwotCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGxwZDI3MF9mbGFzaF9yZXNvdXJjZXNbXSA9IHsKIAlbMF0gPSB7CiAJCS5zdGFydAk9IFBYQV9DUzBfUEhZUywKQEAgLTIzMywyMSArMjMyLDIwIEBACiAJfSwKIH07CiAKLXN0YXRpYyB2b2lkIGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIoaW50IG9uKQotewotCWlmIChvbikgewotCQlweGFfZ3Bpb19tb2RlKEdQSU8xNl9QV00wX01EKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMSk7Ci0JCVBXTV9DVFJMMCA9IDA7Ci0JCVBXTV9QV0RVVFkwID0gMHgzZmY7Ci0JCVBXTV9QRVJWQUwwID0gMHgzZmY7Ci0JfSBlbHNlIHsKLQkJUFdNX0NUUkwwID0gMDsKLQkJUFdNX1BXRFVUWTAgPSAweDA7Ci0JCVBXTV9QRVJWQUwwID0gMHgzRkY7Ci0JCXB4YV9zZXRfY2tlbihDS0VOX1BXTTAsIDApOwotCX0KLX0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIGxwZDI3MF9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMSwKKwkuZGZ0X2JyaWdodG5lc3MJPSAxLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBscGQyNzBfYmFja2xpZ2h0X2RldmljZSA9IHsKKwkubmFtZQkJPSAicHdtLWJhY2tsaWdodCIsCisJLmRldgkJPSB7CisJCS5wYXJlbnQJPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmbHBkMjcwX2JhY2tsaWdodF9kYXRhLAorCX0sCit9OwogCiAvKiA1LjciIFRGVCBRVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDEpICovCiBzdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyBzaGFycF9scTA1N3EzZGMwMl9tb2RlID0gewpAQCAtMjY5LDcgKzI2Nyw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAxMi4xIiBURlQgU1ZHQSAoTG9MbyBkaXNwbGF5IG51bWJlciAyKSAqLwpAQCAtMjkyLDcgKzI4OSw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAzLjYiIFRGVCBRVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDMpICovCkBAIC0zMTUsNyArMzExLDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDYuNCIgVEZUIFZHQSAoTG9MbyBkaXNwbGF5IG51bWJlciA1KSAqLwpAQCAtMzM4LDcgKzMzMyw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAxMC40IiBURlQgVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDcpICovCkBAIC0zNjEsNyArMzU1LDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDMuNSIgVEZUIFFWR0EgKExvTG8gZGlzcGxheSBudW1iZXIgOCkgKi8KQEAgLTM4NCw3ICszNzcsNiBAQAogCS5udW1fbW9kZXMJCT0gMSwKIAkubGNjcjAJCQk9IDB4MDc4MDAwODAsCiAJLmxjY3IzCQkJPSAweDAwNDAwMDAwLAotCS5weGFmYl9iYWNrbGlnaHRfcG93ZXIJPSBscGQyNzBfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8gKmxwZDI3MF9sY2RfdG9fdXNlOwpAQCAtNDE0LDcgKzQwNiw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmc21jOTF4X2RldmljZSwKLQkmbHBkMjcwX2F1ZGlvX2RldmljZSwKKwkmbHBkMjcwX2JhY2tsaWdodF9kZXZpY2UsCiAJJmxwZDI3MF9mbGFzaF9kZXZpY2VbMF0sCiAJJmxwZDI3MF9mbGFzaF9kZXZpY2VbMV0sCiB9OwpAQCAtNDU0LDkgKzQ0NiwxMiBAQAogCSAqIE9uIExvZ2ljUEQgUFhBMjcwLCB3ZSByb3V0ZSBBQzk3X1NZU0NMSyB2aWEgR1BJTzQ1LgogCSAqLwogCXB4YV9ncGlvX21vZGUoR1BJTzQ1X1NZU0NMS19BQzk3X01EKTsKKwlweGFfZ3Bpb19tb2RlKEdQSU8xNl9QV00wX01EKTsKIAogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOwogCisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CisKIAlpZiAobHBkMjcwX2xjZF90b191c2UgIT0gTlVMTCkKIAkJc2V0X3B4YV9mYl9pbmZvKGxwZDI3MF9sY2RfdG9fdXNlKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbHViYm9jay5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbHViYm9jay5jCmluZGV4IDdiOWJkZDAuLmEzZmFlNDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2x1YmJvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9sdWJib2NrLmMKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTI1eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbHViYm9jay5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3VkYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KQEAgLTE5NiwxMSArMTk3LDYgQEAKIAkvLyBubyBEKyBwdWxsdXA7IGx1YmJvY2sgY2FuJ3QgY29ubmVjdC9kaXNjb25uZWN0IGluIHNvZnR3YXJlCiB9OwogCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsdWJfYXVkaW9fZGV2aWNlID0gewotCS5uYW1lCQk9ICJweGEyeHgtYWM5NyIsCi0JLmlkCQk9IC0xLAotfTsKLQogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzYTExMTFfcmVzb3VyY2VzW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSAweDEwMDAwMDAwLApAQCAtMzY4LDcgKzM2NCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmc2ExMTExX2RldmljZSwKLQkmbHViX2F1ZGlvX2RldmljZSwKIAkmc21jOTF4X2RldmljZSwKIAkmbHViYm9ja19mbGFzaF9kZXZpY2VbMF0sCiAJJmx1YmJvY2tfZmxhc2hfZGV2aWNlWzFdLApAQCAtNDk0LDYgKzQ4OSw3IEBACiAJc2V0X3B4YV9mYl9pbmZvKCZzaGFycF9sbTh2MzEpOwogCXB4YV9zZXRfbWNpX2luZm8oJmx1YmJvY2tfbWNpX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfZmljcF9pbmZvKCZsdWJib2NrX2ZpY3BfcGxhdGZvcm1fZGF0YSk7CisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CiAKIAlsdWJib2NrX2ZsYXNoX2RhdGFbMF0ud2lkdGggPSBsdWJib2NrX2ZsYXNoX2RhdGFbMV0ud2lkdGggPQogCQkoQk9PVF9ERUYgJiAxKSA/IDIgOiA0OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbWFnaWNpYW4uYyBiL2FyY2gvYXJtL21hY2gtcHhhL21hZ2ljaWFuLmMKaW5kZXggYmFkYmEwNi4uMDFiMmZhNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbWFnaWNpYW4uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9tYWdpY2lhbi5jCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvcGRhX3Bvd2VyLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8YXNtL2dwaW8uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KQEAgLTMzLDEyICszNCwxNCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL21hZ2ljaWFuLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTI3eC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2kyYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAKKyNpbmNsdWRlICJkZXZpY2VzLmgiCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBtYWdpY2lhbl9waW5fY29uZmlnW10gPSB7CkBAIC0zNDgsNDAgKzM1MSw1OCBAQAogICogQmFja2xpZ2h0CiAgKi8KIAotc3RhdGljIHZvaWQgbWFnaWNpYW5fc2V0X2JsX2ludGVuc2l0eShpbnQgaW50ZW5zaXR5KQorc3RhdGljIGludCBtYWdpY2lhbl9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0JaWYgKGludGVuc2l0eSkgewotCQlQV01fQ1RSTDAgPSAxOwotCQlQV01fUEVSVkFMMCA9IDB4Yzg7Ci0JCWlmIChpbnRlbnNpdHkgPiAweGM3KSB7Ci0JCQlQV01fUFdEVVRZMCA9IGludGVuc2l0eSAtIDB4NDg7Ci0JCQlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUjIsIDEpOwotCQl9IGVsc2UgewotCQkJUFdNX1BXRFVUWTAgPSBpbnRlbnNpdHk7Ci0JCQlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUjIsIDApOwotCQl9Ci0JCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSLCAxKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMSk7CisJaW50IHJldDsKKworCXJldCA9IGdwaW9fcmVxdWVzdChFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUiwgIkJMX1BPV0VSIik7CisJaWYgKHJldCkKKwkJZ290byBlcnI7CisJcmV0ID0gZ3Bpb19yZXF1ZXN0KEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgIkJMX1BPV0VSMiIpOworCWlmIChyZXQpCisJCWdvdG8gZXJyMjsKKwlyZXR1cm4gMDsKKworZXJyMjoKKwlncGlvX2ZyZWUoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIpOworZXJyOgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgbWFnaWNpYW5fYmFja2xpZ2h0X25vdGlmeShpbnQgYnJpZ2h0bmVzcykKK3sKKwlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUiwgYnJpZ2h0bmVzcyk7CisJaWYgKGJyaWdodG5lc3MgPj0gMjAwKSB7CisJCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgMSk7CisJCXJldHVybiBicmlnaHRuZXNzIC0gNzI7CiAJfSBlbHNlIHsKLQkJLyogUFdNX1BXRFVUWTAgPSBpbnRlbnNpdHk7ICovCi0JCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSLCAwKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMCk7CisJCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgMCk7CisJCXJldHVybiBicmlnaHRuZXNzOwogCX0KIH0KIAotc3RhdGljIHN0cnVjdCBnZW5lcmljX2JsX2luZm8gYmFja2xpZ2h0X2luZm8gPSB7Ci0JLmRlZmF1bHRfaW50ZW5zaXR5ID0gMHg2NCwKLQkubGltaXRfbWFzayAgICAgICAgPSAweDBiLAotCS5tYXhfaW50ZW5zaXR5ICAgICA9IDB4YzcrMHg0OCwKLQkuc2V0X2JsX2ludGVuc2l0eSAgPSBtYWdpY2lhbl9zZXRfYmxfaW50ZW5zaXR5LAorc3RhdGljIHZvaWQgbWFnaWNpYW5fYmFja2xpZ2h0X2V4aXQoc3RydWN0IGRldmljZSAqZGV2KQoreworCWdwaW9fZnJlZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUik7CisJZ3Bpb19mcmVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIGJhY2tsaWdodF9kYXRhID0geworCS5wd21faWQgICAgICAgICA9IDAsCisJLm1heF9icmlnaHRuZXNzID0gMjcyLAorCS5kZnRfYnJpZ2h0bmVzcyA9IDEwMCwKKwkucHdtX3BlcmlvZF9ucyAgPSAzMDkyMywKKwkuaW5pdCAgICAgICAgICAgPSBtYWdpY2lhbl9iYWNrbGlnaHRfaW5pdCwKKwkubm90aWZ5ICAgICAgICAgPSBtYWdpY2lhbl9iYWNrbGlnaHRfbm90aWZ5LAorCS5leGl0ICAgICAgICAgICA9IG1hZ2ljaWFuX2JhY2tsaWdodF9leGl0LAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFja2xpZ2h0ID0gewotCS5uYW1lID0gImdlbmVyaWMtYmwiLAorCS5uYW1lID0gInB3bS1iYWNrbGlnaHQiLAogCS5kZXYgID0gewotCQkucGxhdGZvcm1fZGF0YSA9ICZiYWNrbGlnaHRfaW5mbywKKwkJLnBhcmVudCAgICAgICAgPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYmFja2xpZ2h0X2RhdGEsCiAJfSwKLQkuaWQgICA9IC0xLAogfTsKIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL21haW5zdG9uZS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKaW5kZXggNzM5OWZiMy4uZjJlOWU3YyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKQEAgLTIzLDkgKzIzLDkgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KLSNpbmNsdWRlIDxsaW51eC9iYWNrbGlnaHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bV9iYWNrbGlnaHQuaD4KIAogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgpAQCAtMjgwLDEyICsyODAsNiBAQAogCS5yZXN1bWUJCT0gbXN0X2F1ZGlvX3Jlc3VtZSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG1zdF9hdWRpb19kZXZpY2UgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC1hYzk3IiwKLQkuaWQJCT0gLTEsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhID0gJm1zdF9hdWRpb19vcHMgfSwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZmxhc2hfcmVzb3VyY2VzW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSBQWEFfQ1MwX1BIWVMsCkBAIC0zNDksNTYgKzM0MywyNyBAQAogCX0sCiB9OwogCi0jaWZkZWYgQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0UKLXN0YXRpYyBpbnQgbWFpbnN0b25lX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKLXsKLQlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRuZXNzOworI2lmIGRlZmluZWQoQ09ORklHX0ZCX1BYQSkgfHwgZGVmaW5lZChDT05GSUdfRkJfUFhBX01PRFVMRSkKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIG1haW5zdG9uZV9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMTAyMywKKwkuZGZ0X2JyaWdodG5lc3MJPSAxMDIzLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OwogCi0JaWYgKGJsLT5wcm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LIHx8Ci0JICAgIGJsLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19VTkJMQU5LKQotCQlicmlnaHRuZXNzID0gMDsKLQotCWlmIChicmlnaHRuZXNzICE9IDApCi0JCXB4YV9zZXRfY2tlbihDS0VOX1BXTTAsIDEpOwotCi0JUFdNX0NUUkwwID0gMDsKLQlQV01fUFdEVVRZMCA9IGJyaWdodG5lc3M7Ci0JUFdNX1BFUlZBTDAgPSBibC0+cHJvcHMubWF4X2JyaWdodG5lc3M7Ci0KLQlpZiAoYnJpZ2h0bmVzcyA9PSAwKQotCQlweGFfc2V0X2NrZW4oQ0tFTl9QV00wLCAwKTsKLQlyZXR1cm4gMDsgLyogcG9pbnRsZXNzIHJldHVybiB2YWx1ZSAqLwotfQotCi1zdGF0aWMgaW50IG1haW5zdG9uZV9iYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQotewotCXJldHVybiBQV01fUFdEVVRZMDsKLX0KLQotc3RhdGljIC8qY29uc3QqLyBzdHJ1Y3QgYmFja2xpZ2h0X29wcyBtYWluc3RvbmVfYmFja2xpZ2h0X29wcyA9IHsKLQkudXBkYXRlX3N0YXR1cwk9IG1haW5zdG9uZV9iYWNrbGlnaHRfdXBkYXRlX3N0YXR1cywKLQkuZ2V0X2JyaWdodG5lc3MJPSBtYWluc3RvbmVfYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzLAorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbWFpbnN0b25lX2JhY2tsaWdodF9kZXZpY2UgPSB7CisJLm5hbWUJCT0gInB3bS1iYWNrbGlnaHQiLAorCS5kZXYJCT0geworCQkucGFyZW50ID0gJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYsCisJCS5wbGF0Zm9ybV9kYXRhID0gJm1haW5zdG9uZV9iYWNrbGlnaHRfZGF0YSwKKwl9LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IG1haW5zdG9uZV9iYWNrbGlnaHRfcmVnaXN0ZXIodm9pZCkKIHsKLQlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmw7Ci0KLQlibCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoIm1haW5zdG9uZS1ibCIsICZweGFfZGV2aWNlX2ZiLmRldiwKLQkJCQkgICAgICAgTlVMTCwgJm1haW5zdG9uZV9iYWNrbGlnaHRfb3BzKTsKLQlpZiAoSVNfRVJSKGJsKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1haW5zdG9uZTogdW5hYmxlIHRvIHJlZ2lzdGVyIGJhY2tsaWdodDogJWxkXG4iLAotCQkgICAgICAgUFRSX0VSUihibCkpOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBicm9rZW4gZGVzaWduIC0gcmVnaXN0ZXItdGhlbi1zZXR1cCBpbnRlcmZhY2VzIGFyZQotCSAqIHV0dGVybHkgYnJva2VuIGJ5IGRlZmluaXRpb24uCi0JICovCi0JYmwtPnByb3BzLm1heF9icmlnaHRuZXNzID0gMTAyMzsKLQlibC0+cHJvcHMuYnJpZ2h0bmVzcyA9IDEwMjM7Ci0JYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmwpOworCWludCByZXQgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm1haW5zdG9uZV9iYWNrbGlnaHRfZGV2aWNlKTsKKwlpZiAocmV0KQorCQlwcmludGsoS0VSTl9FUlIgIm1haW5zdG9uZTogZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodCBkZXZpY2U6ICVkXG4iLCByZXQpOwogfQogI2Vsc2UKICNkZWZpbmUgbWFpbnN0b25lX2JhY2tsaWdodF9yZWdpc3RlcigpCWRvIHsgfSB3aGlsZSAoMCkKQEAgLTUyOCw3ICs0OTMsNiBAQAogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJnNtYzkxeF9kZXZpY2UsCi0JJm1zdF9hdWRpb19kZXZpY2UsCiAJJm1zdF9mbGFzaF9kZXZpY2VbMF0sCiAJJm1zdF9mbGFzaF9kZXZpY2VbMV0sCiAJJm1zdF9ncGlvX2tleXNfZGV2aWNlLApAQCAtNjM4LDYgKzYwMiw3IEBACiAJcHhhX3NldF9maWNwX2luZm8oJm1haW5zdG9uZV9maWNwX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfb2hjaV9pbmZvKCZtYWluc3RvbmVfb2hjaV9wbGF0Zm9ybV9kYXRhKTsKIAlweGFfc2V0X2kyY19pbmZvKE5VTEwpOworCXB4YV9zZXRfYWM5N19pbmZvKCZtc3RfYXVkaW9fb3BzKTsKIAogCW1haW5zdG9uZV9pbml0X2tleXBhZCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbWZwLXB4YTJ4eC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbWZwLXB4YTJ4eC5jCmluZGV4IDIyMDk3YTEuLmQxY2RiNGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL21mcC1weGEyeHguYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9tZnAtcHhhMnh4LmMKQEAgLTIwLDYgKzIwLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21mcC1weGEyeHguaD4KIAogI2luY2x1ZGUgImdlbmVyaWMuaCIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3BjbTk5MC1iYXNlYm9hcmQuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3BjbTk5MC1iYXNlYm9hcmQuYwppbmRleCA0OWQ5NTFkLi41ZDg3YzdjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9wY205OTAtYmFzZWJvYXJkLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvcGNtOTkwLWJhc2Vib2FyZC5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaWRlLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8bWVkaWEvc29jX2NhbWVyYS5oPgogCkBAIC0zMywxMiArMzQsMTAzIEBACiAjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb2hjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3BjbTk5MF9iYXNlYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgorCisjaW5jbHVkZSAiZGV2aWNlcy5oIgogCiAvKgotICogVGhlIFBDTS05OTAgZGV2ZWxvcG1lbnQgYmFzZWJvYXJkIHVzZXMgUENNLTAyNydzIGhhcmRld2FyZSBpbiB0aGUKKyAqIHBjbTk5MF9sY2RfcG93ZXIgLSBjb250cm9sIHBvd2VyIHN1cHBseSB0byB0aGUgTENECisgKiBAb246IDAgPSBzd2l0Y2ggb2ZmLCAxID0gc3dpdGNoIG9uCisgKgorICogQ2FsbGVkIGJ5IHRoZSBweGFmYiBkcml2ZXIKKyAqLworI2lmbmRlZiBDT05GSUdfUENNOTkwX0RJU1BMQVlfTk9ORQorc3RhdGljIHZvaWQgcGNtOTkwX2xjZF9wb3dlcihpbnQgb24sIHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyKQoreworCWlmIChvbikgeworCQkvKiBlbmFibGUgTENELUxhdGNoZXMKKwkJICogcG93ZXIgb24gTENECisJCSAqLworCQlfX1BDTTk5MF9DVFJMX1JFRyhQQ005OTBfQ1RSTF9QSFlTICsgUENNOTkwX0NUUkxfUkVHMykgPQorCQkJUENNOTkwX0NUUkxfTENEUFdSICsgUENNOTkwX0NUUkxfTENET047CisJfSBlbHNlIHsKKwkJLyogZGlzYWJsZSBMQ0QtTGF0Y2hlcworCQkgKiBwb3dlciBvZmYgTENECisJCSAqLworCQlfX1BDTTk5MF9DVFJMX1JFRyhQQ005OTBfQ1RSTF9QSFlTICsgUENNOTkwX0NUUkxfUkVHMykgPSAweDAwOworCX0KK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfUENNOTkwX0RJU1BMQVlfU0hBUlApCitzdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyBmYl9pbmZvX3NoYXJwX2xxMDg0djFkZzIxID0geworCS5waXhjbG9jawkJPSAyODAwMCwKKwkueHJlcwkJCT0gNjQwLAorCS55cmVzCQkJPSA0ODAsCisJLmJwcAkJCT0gMTYsCisJLmhzeW5jX2xlbgkJPSAyMCwKKwkubGVmdF9tYXJnaW4JCT0gMTAzLAorCS5yaWdodF9tYXJnaW4JCT0gNDcsCisJLnZzeW5jX2xlbgkJPSA2LAorCS51cHBlcl9tYXJnaW4JCT0gMjgsCisJLmxvd2VyX21hcmdpbgkJPSA1LAorCS5zeW5jCQkJPSAwLAorCS5jbWFwX2dyZXlzY2FsZQkJPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8gcGNtOTkwX2ZiaW5mbyBfX2luaXRkYXRhID0geworCS5tb2RlcwkJCT0gJmZiX2luZm9fc2hhcnBfbHEwODR2MWRnMjEsCisJLm51bV9tb2RlcwkJPSAxLAorCS5sY2NyMAkJCT0gTENDUjBfUEFTLAorCS5sY2NyMwkJCT0gTENDUjNfUENQLAorCS5weGFmYl9sY2RfcG93ZXIJPSBwY205OTBfbGNkX3Bvd2VyLAorfTsKKyNlbGlmIGRlZmluZWQoQ09ORklHX1BDTTk5MF9ESVNQTEFZX05FQykKK3N0cnVjdCBweGFmYl9tb2RlX2luZm8gZmJfaW5mb19uZWNfbmw2NDQ4YmMyMF8xOGQgPSB7CisJLnBpeGNsb2NrCQk9IDM5NzIwLAorCS54cmVzCQkJPSA2NDAsCisJLnlyZXMJCQk9IDQ4MCwKKwkuYnBwCQkJPSAxNiwKKwkuaHN5bmNfbGVuCQk9IDMyLAorCS5sZWZ0X21hcmdpbgkJPSAxNiwKKwkucmlnaHRfbWFyZ2luCQk9IDQ4LAorCS52c3luY19sZW4JCT0gMiwKKwkudXBwZXJfbWFyZ2luCQk9IDEyLAorCS5sb3dlcl9tYXJnaW4JCT0gMTcsCisJLnN5bmMJCQk9IDAsCisJLmNtYXBfZ3JleXNjYWxlCQk9IDAsCit9OworCitzdGF0aWMgc3RydWN0IHB4YWZiX21hY2hfaW5mbyBwY205OTBfZmJpbmZvIF9faW5pdGRhdGEgPSB7CisJLm1vZGVzCQkJPSAmZmJfaW5mb19uZWNfbmw2NDQ4YmMyMF8xOGQsCisJLm51bV9tb2RlcwkJPSAxLAorCS5sY2NyMAkJCT0gTENDUjBfQWN0LAorCS5sY2NyMwkJCT0gTENDUjNfUGl4RmxFZGcsCisJLnB4YWZiX2xjZF9wb3dlcgk9IHBjbTk5MF9sY2RfcG93ZXIsCit9OworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIHBjbTk5MF9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMTAyMywKKwkuZGZ0X2JyaWdodG5lc3MJPSAxMDIzLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBwY205OTBfYmFja2xpZ2h0X2RldmljZSA9IHsKKwkubmFtZQkJPSAicHdtLWJhY2tsaWdodCIsCisJLmRldgkJPSB7CisJCS5wYXJlbnQgPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmcGNtOTkwX2JhY2tsaWdodF9kYXRhLAorCX0sCit9OworCisvKgorICogVGhlIFBDTS05OTAgZGV2ZWxvcG1lbnQgYmFzZWJvYXJkIHVzZXMgUENNLTAyNydzIGhhcmR3YXJlIGluIHRoZQogICogZm9sbG93aW5nIHdheToKICAqCiAgKiAtIExDRCBzdXBwb3J0IGlzIGluIHVzZQpAQCAtMzMzLDM2ICs0MjUsNiBAQAogI2VuZGlmIC8qIENPTkZJR19WSURFT19QWEEyN3ggfHxDT05GSUdfVklERU9fUFhBMjd4X01PRFVMRSAqLwogCiAvKgotICogQUM5NyBzdXBwb3J0Ci0gKiBOb3RlOiBUaGUgY29ubmVjdGVkIEFDOTcgbWl4ZXIgYWxzbyByZXBvcnRzIGludGVycnVwdHMgYXQgUENNOTkwX0FDOTdfSVJRCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjd4X2FjOTdfcmVzb3VyY2VzW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQgID0gMHg0MDUwMDAwMCwKLQkJLmVuZAk9IDB4NDA1MDAwMDAgKyAweGZmZiwKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JWzFdID0gewotCQkuc3RhcnQgID0gSVJRX0FDOTcsCi0JCS5lbmQgICAgPSBJUlFfQUM5NywKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCi1zdGF0aWMgdTY0IHB4YV9hYzk3X2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfYWM5NyA9IHsKLQkubmFtZSAgICAgICAgICAgPSAicHhhMnh4LWFjOTciLAotCS5pZCAgICAgICAgICAgICA9IC0xLAotCS5kZXYgICAgICAgICAgICA9IHsKLQkJLmRtYV9tYXNrID0gJnB4YV9hYzk3X2RtYW1hc2ssCi0JCS5jb2hlcmVudF9kbWFfbWFzayA9IDB4ZmZmZmZmZmYsCi0JfSwKLQkubnVtX3Jlc291cmNlcyAgPSBBUlJBWV9TSVpFKHB4YTI3eF9hYzk3X3Jlc291cmNlcyksCi0JLnJlc291cmNlICAgICAgID0gcHhhMjd4X2FjOTdfcmVzb3VyY2VzLAotfTsKLQotLyoKICAqIGVuYWJsZSBnZW5lcmljIGFjY2VzcyB0byB0aGUgYmFzZSBib2FyZCBjb250cm9sIENQTERzIFU2IGFuZCBVNwogICovCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIHBjbTk5MF9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKQEAgLTM5Myw3ICs0NTUsMTEgQEAKIAkvKiByZWdpc3RlciBDUExEJ3MgSVJRIGNvbnRyb2xsZXIgKi8KIAlwY205OTBfaW5pdF9pcnEoKTsKIAotCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcHhhMjd4X2RldmljZV9hYzk3KTsKKyNpZm5kZWYgQ09ORklHX1BDTTk5MF9ESVNQTEFZX05PTkUKKwlzZXRfcHhhX2ZiX2luZm8oJnBjbTk5MF9mYmluZm8pOworI2VuZGlmCisJcHhhX2dwaW9fbW9kZShHUElPMTZfUFdNMF9NRCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZwY205OTBfYmFja2xpZ2h0X2RldmljZSk7CiAKIAkvKiBNTUMgKi8KIAlweGFfc2V0X21jaV9pbmZvKCZwY205OTBfbWNpX3BsYXRmb3JtX2RhdGEpOwpAQCAtNDAyLDYgKzQ2OCw3IEBACiAJcHhhX3NldF9vaGNpX2luZm8oJnBjbTk5MF9vaGNpX3BsYXRmb3JtX2RhdGEpOwogCiAJcHhhX3NldF9pMmNfaW5mbyhOVUxMKTsKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKIAogI2lmIGRlZmluZWQoQ09ORklHX1ZJREVPX1BYQTI3eCkgfHwgZGVmaW5lZChDT05GSUdfVklERU9fUFhBMjd4X01PRFVMRSkKIAlweGFfc2V0X2NhbWVyYV9pbmZvKCZwY205OTBfcHhhY2FtZXJhX3BsYXRmb3JtX2RhdGEpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcG9vZGxlLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYwppbmRleCAwYjMwZjI1Li5mODFjMTBjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvdWRjLmg+CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9wd20uYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B3bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMjhjZDkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9wd20uYwpAQCAtMCwwICsxLDMxOSBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtcHhhL3B3bS5jCisgKgorICogc2ltcGxlIGRyaXZlciBmb3IgUFdNIChQdWxzZSBXaWR0aCBNb2R1bGF0b3IpIGNvbnRyb2xsZXIKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIDIwMDgtMDItMTMJaW5pdGlhbCB2ZXJzaW9uCisgKiAJCWVyaWMgbWlhbyA8ZXJpYy5taWFvQG1hcnZlbGwuY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bS5oPgorCisjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKworLyogUFdNIHJlZ2lzdGVycyBhbmQgYml0cyBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQV01DUgkJKDB4MDApCisjZGVmaW5lIFBXTURDUgkJKDB4MDQpCisjZGVmaW5lIFBXTVBDUgkJKDB4MDgpCisKKyNkZWZpbmUgUFdNQ1JfU0QJKDEgPDwgNikKKyNkZWZpbmUgUFdNRENSX0ZECSgxIDw8IDEwKQorCitzdHJ1Y3QgcHdtX2RldmljZSB7CisJc3RydWN0IGxpc3RfaGVhZAlub2RlOworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisKKwljb25zdCBjaGFyCSpsYWJlbDsKKwlzdHJ1Y3QgY2xrCSpjbGs7CisJaW50CQljbGtfZW5hYmxlZDsKKwl2b2lkIF9faW9tZW0JKm1taW9fYmFzZTsKKworCXVuc2lnbmVkIGludAl1c2VfY291bnQ7CisJdW5zaWduZWQgaW50CXB3bV9pZDsKK307CisKKy8qCisgKiBwZXJpb2RfbnMgPSAxMF45ICogKFBSRVNDQUxFICsgMSkgKiAoUFYgKyAxKSAvIFBXTV9DTEtfUkFURQorICogZHV0eV9ucyAgID0gMTBeOSAqIChQUkVTQ0FMRSArIDEpICogREMgLyBQV01fQ0xLX1JBVEUKKyAqLworaW50IHB3bV9jb25maWcoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgaW50IGR1dHlfbnMsIGludCBwZXJpb2RfbnMpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIGM7CisJdW5zaWduZWQgbG9uZyBwZXJpb2RfY3ljbGVzLCBwcmVzY2FsZSwgcHYsIGRjOworCisJaWYgKHB3bSA9PSBOVUxMIHx8IHBlcmlvZF9ucyA9PSAwIHx8IGR1dHlfbnMgPiBwZXJpb2RfbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJYyA9IGNsa19nZXRfcmF0ZShwd20tPmNsayk7CisJYyA9IGMgKiBwZXJpb2RfbnM7CisJZG9fZGl2KGMsIDEwMDAwMDAwMDApOworCXBlcmlvZF9jeWNsZXMgPSBjOworCisJaWYgKHBlcmlvZF9jeWNsZXMgPCAwKQorCQlwZXJpb2RfY3ljbGVzID0gMTsKKwlwcmVzY2FsZSA9IChwZXJpb2RfY3ljbGVzIC0gMSkgLyAxMDI0OworCXB2ID0gcGVyaW9kX2N5Y2xlcyAvIChwcmVzY2FsZSArIDEpIC0gMTsKKworCWlmIChwcmVzY2FsZSA+IDYzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChkdXR5X25zID09IHBlcmlvZF9ucykKKwkJZGMgPSBQV01EQ1JfRkQ7CisJZWxzZQorCQlkYyA9IChwdiArIDEpICogZHV0eV9ucyAvIHBlcmlvZF9uczsKKworCS8qIE5PVEU6IHRoZSBjbG9jayB0byBQV00gaGFzIHRvIGJlIGVuYWJsZWQgZmlyc3QKKwkgKiBiZWZvcmUgd3JpdGluZyB0byB0aGUgcmVnaXN0ZXJzCisJICovCisJY2xrX2VuYWJsZShwd20tPmNsayk7CisJX19yYXdfd3JpdGVsKHByZXNjYWxlLCBwd20tPm1taW9fYmFzZSArIFBXTUNSKTsKKwlfX3Jhd193cml0ZWwoZGMsIHB3bS0+bW1pb19iYXNlICsgUFdNRENSKTsKKwlfX3Jhd193cml0ZWwocHYsIHB3bS0+bW1pb19iYXNlICsgUFdNUENSKTsKKwljbGtfZGlzYWJsZShwd20tPmNsayk7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2NvbmZpZyk7CisKK2ludCBwd21fZW5hYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJaW50IHJjID0gMDsKKworCWlmICghcHdtLT5jbGtfZW5hYmxlZCkgeworCQlyYyA9IGNsa19lbmFibGUocHdtLT5jbGspOworCQlpZiAoIXJjKQorCQkJcHdtLT5jbGtfZW5hYmxlZCA9IDE7CisJfQorCXJldHVybiByYzsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2VuYWJsZSk7CisKK3ZvaWQgcHdtX2Rpc2FibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKK3sKKwlpZiAocHdtLT5jbGtfZW5hYmxlZCkgeworCQljbGtfZGlzYWJsZShwd20tPmNsayk7CisJCXB3bS0+Y2xrX2VuYWJsZWQgPSAwOworCX0KK30KK0VYUE9SVF9TWU1CT0wocHdtX2Rpc2FibGUpOworCitzdGF0aWMgREVGSU5FX01VVEVYKHB3bV9sb2NrKTsKK3N0YXRpYyBMSVNUX0hFQUQocHdtX2xpc3QpOworCitzdHJ1Y3QgcHdtX2RldmljZSAqcHdtX3JlcXVlc3QoaW50IHB3bV9pZCwgY29uc3QgY2hhciAqbGFiZWwpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bTsKKwlpbnQgZm91bmQgPSAwOworCisJbXV0ZXhfbG9jaygmcHdtX2xvY2spOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwd20sICZwd21fbGlzdCwgbm9kZSkgeworCQlpZiAocHdtLT5wd21faWQgPT0gcHdtX2lkKSB7CisJCQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChmb3VuZCkgeworCQlpZiAocHdtLT51c2VfY291bnQgPT0gMCkgeworCQkJcHdtLT51c2VfY291bnQrKzsKKwkJCXB3bS0+bGFiZWwgPSBsYWJlbDsKKwkJfSBlbHNlCisJCQlwd20gPSBFUlJfUFRSKC1FQlVTWSk7CisJfSBlbHNlCisJCXB3bSA9IEVSUl9QVFIoLUVOT0VOVCk7CisKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKKwlyZXR1cm4gcHdtOworfQorRVhQT1JUX1NZTUJPTChwd21fcmVxdWVzdCk7CisKK3ZvaWQgcHdtX2ZyZWUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKK3sKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisKKwlpZiAocHdtLT51c2VfY291bnQpIHsKKwkJcHdtLT51c2VfY291bnQtLTsKKwkJcHdtLT5sYWJlbCA9IE5VTEw7CisJfSBlbHNlCisJCXByX3dhcm5pbmcoIlBXTSBkZXZpY2UgYWxyZWFkeSBmcmVlZFxuIik7CisKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2ZyZWUpOworCitzdGF0aWMgaW5saW5lIHZvaWQgX19hZGRfcHdtKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJbXV0ZXhfbG9jaygmcHdtX2xvY2spOworCWxpc3RfYWRkX3RhaWwoJnB3bS0+bm9kZSwgJnB3bV9saXN0KTsKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKK30KKworc3RhdGljIHN0cnVjdCBwd21fZGV2aWNlICpwd21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJdW5zaWduZWQgaW50IHB3bV9pZCwgc3RydWN0IHB3bV9kZXZpY2UgKnBhcmVudF9wd20pCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IHJldCA9IDA7CisKKwlwd20gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgcHdtX2RldmljZSksIEdGUF9LRVJORUwpOworCWlmIChwd20gPT0gTlVMTCkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5XG4iKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJfQorCisJcHdtLT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJQV01DTEsiKTsKKwlpZiAoSVNfRVJSKHB3bS0+Y2xrKSkgeworCQlyZXQgPSBQVFJfRVJSKHB3bS0+Y2xrKTsKKwkJZ290byBlcnJfZnJlZTsKKwl9CisJcHdtLT5jbGtfZW5hYmxlZCA9IDA7CisKKwlwd20tPnVzZV9jb3VudCA9IDA7CisJcHdtLT5wd21faWQgPSBwd21faWQ7CisJcHdtLT5wZGV2ID0gcGRldjsKKworCWlmIChwYXJlbnRfcHdtICE9IE5VTEwpIHsKKwkJLyogcmVnaXN0ZXJzIGZvciB0aGUgc2Vjb25kIFBXTSBoYXMgb2Zmc2V0IG9mIDB4MTAgKi8KKwkJcHdtLT5tbWlvX2Jhc2UgPSBwYXJlbnRfcHdtLT5tbWlvX2Jhc2UgKyAweDEwOworCQlfX2FkZF9wd20ocHdtKTsKKwkJcmV0dXJuIHB3bTsKKwl9CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAociA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgIm5vIG1lbW9yeSByZXNvdXJjZSBkZWZpbmVkXG4iKTsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBlcnJfZnJlZV9jbGs7CisJfQorCisJciA9IHJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLCBwZGV2LT5uYW1lKTsKKwlpZiAociA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZXF1ZXN0IG1lbW9yeSByZXNvdXJjZVxuIik7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBlcnJfZnJlZV9jbGs7CisJfQorCisJcHdtLT5tbWlvX2Jhc2UgPSBpb3JlbWFwKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworCWlmIChwd20tPm1taW9fYmFzZSA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBpb3JlbWFwKCkgcmVnaXN0ZXJzXG4iKTsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBlcnJfZnJlZV9tZW07CisJfQorCisJX19hZGRfcHdtKHB3bSk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcHdtKTsKKwlyZXR1cm4gcHdtOworCitlcnJfZnJlZV9tZW06CisJcmVsZWFzZV9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworZXJyX2ZyZWVfY2xrOgorCWNsa19wdXQocHdtLT5jbGspOworZXJyX2ZyZWU6CisJa2ZyZWUocHdtKTsKKwlyZXR1cm4gRVJSX1BUUihyZXQpOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdCBweGEyNXhfcHdtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bSA9IHB3bV9wcm9iZShwZGV2LCBwZGV2LT5pZCwgTlVMTCk7CisKKwlpZiAoSVNfRVJSKHB3bSkpCisJCXJldHVybiBQVFJfRVJSKHB3bSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgcHhhMjd4X3B3bV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBwd21fZGV2aWNlICpwd207CisKKwlwd20gPSBwd21fcHJvYmUocGRldiwgcGRldi0+aWQsIE5VTEwpOworCWlmIChJU19FUlIocHdtKSkKKwkJcmV0dXJuIFBUUl9FUlIocHdtKTsKKworCXB3bSA9IHB3bV9wcm9iZShwZGV2LCBwZGV2LT5pZCArIDIsIHB3bSk7CisJaWYgKElTX0VSUihwd20pKQorCQlyZXR1cm4gUFRSX0VSUihwd20pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZleGl0IHB3bV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCXN0cnVjdCByZXNvdXJjZSAqcjsKKworCXB3bSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCWlmIChwd20gPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisJbGlzdF9kZWwoJnB3bS0+bm9kZSk7CisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisKKwlpb3VubWFwKHB3bS0+bW1pb19iYXNlKTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCXJlbGVhc2VfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxKTsKKworCWNsa19wdXQocHdtLT5jbGspOworCWtmcmVlKHB3bSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHB4YTI1eF9wd21fZHJpdmVyID0geworCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJweGEyNXgtcHdtIiwKKwl9LAorCS5wcm9iZQkJPSBweGEyNXhfcHdtX3Byb2JlLAorCS5yZW1vdmUJCT0gX19kZXZleGl0X3AocHdtX3JlbW92ZSksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBweGEyN3hfcHdtX2RyaXZlciA9IHsKKwkuZHJpdmVyCQk9IHsKKwkJLm5hbWUJPSAicHhhMjd4LXB3bSIsCisJfSwKKwkucHJvYmUJCT0gcHhhMjd4X3B3bV9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHB3bV9yZW1vdmUpLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcHdtX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHhhMjV4X3B3bV9kcml2ZXIpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgcHhhMjV4X3B3bV9kcml2ZXJcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHhhMjd4X3B3bV9kcml2ZXIpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgcHhhMjd4X3B3bV9kcml2ZXJcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiByZXQ7Cit9CithcmNoX2luaXRjYWxsKHB3bV9pbml0KTsKKworc3RhdGljIHZvaWQgX19leGl0IHB3bV9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnB4YTI1eF9wd21fZHJpdmVyKTsKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmcHhhMjd4X3B3bV9kcml2ZXIpOworfQorbW9kdWxlX2V4aXQocHdtX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9weGEyNXguYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCmluZGV4IGU1YjQxN2QuLjRjZDUwZTMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJxcy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMjV4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG0uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9kbWEuaD4KQEAgLTExNywyOSArMTE4LDM1IEBACiAJSU5JVF9DS0VOKCJVQVJUQ0xLIiwgSFdVQVJULCAxNDc0NTYwMCwgMSwgJnB4YV9kZXZpY2VfaHd1YXJ0LmRldikKIDsKIAorLyoKKyAqIFBYQSAyeHggY2xvY2sgZGVjbGFyYXRpb25zLiBPcmRlciBpcyBpbXBvcnRhbnQgKHNlZSBhbGlhc2VzIGJlbG93KQorICogUGxlYXNlIGJlIGNhcmVmdWwgbm90IHRvIGRpc3J1cHQgdGhlIG9yZGVyaW5nLgorICovCiBzdGF0aWMgc3RydWN0IGNsayBweGEyNXhfY2xrc1tdID0gewogCUlOSVRfQ0soIkxDRENMSyIsIExDRCwgJmNsa19weGEyNXhfbGNkX29wcywgJnB4YV9kZXZpY2VfZmIuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBGRlVBUlQsIDE0NzQ1NjAwLCAxLCAmcHhhX2RldmljZV9mZnVhcnQuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBCVFVBUlQsIDE0NzQ1NjAwLCAxLCAmcHhhX2RldmljZV9idHVhcnQuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBTVFVBUlQsIDE0NzQ1NjAwLCAxLCBOVUxMKSwKLQlJTklUX0NLRU4oIlVEQ0NMSyIsIFVTQiwgNDc5MjMwMDAsIDUsICZweGFfZGV2aWNlX3VkYy5kZXYpLAorCUlOSVRfQ0tFTigiVURDQ0xLIiwgVVNCLCA0NzkyMzAwMCwgNSwgJnB4YTI1eF9kZXZpY2VfdWRjLmRldiksCiAJSU5JVF9DS0VOKCJNTUNDTEsiLCBNTUMsIDE5MTY5MDAwLCAwLCAmcHhhX2RldmljZV9tY2kuZGV2KSwKIAlJTklUX0NLRU4oIkkyQ0NMSyIsIEkyQywgMzE5NDkwMDAsIDAsICZweGFfZGV2aWNlX2kyYy5kZXYpLAogCiAJSU5JVF9DS0VOKCJTU1BDTEsiLCAgU1NQLCAzNjg2NDAwLCAwLCAmcHhhMjV4X2RldmljZV9zc3AuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIE5TU1AsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX25zc3AuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIEFTU1AsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX2Fzc3AuZGV2KSwKKwlJTklUX0NLRU4oIlBXTUNMSyIsIFBXTTAsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX3B3bTAuZGV2KSwKKwlJTklUX0NLRU4oIlBXTUNMSyIsIFBXTTEsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX3B3bTEuZGV2KSwKIAogCUlOSVRfQ0tFTigiQUM5N0NMSyIsICAgICBBQzk3LCAgICAgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCiAJLyoKLQlJTklUX0NLRU4oIlBXTUNMSyIsICBQV00wLCAzNjg2NDAwLCAgMCwgTlVMTCksCi0JSU5JVF9DS0VOKCJQV01DTEsiLCAgUFdNMCwgMzY4NjQwMCwgIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiSTJTQ0xLIiwgIEkyUywgIDE0NzQ1NjAwLCAwLCBOVUxMKSwKIAkqLwogCUlOSVRfQ0tFTigiRklDUENMSyIsIEZJQ1AsIDQ3OTIzMDAwLCAwLCBOVUxMKSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwaW83X2NsayA9IElOSVRfQ0tPVEhFUigiR1BJTzdfQ0siLCAmcHhhMjV4X2Nsa3NbNF0sIE5VTEwpOworCiAjaWZkZWYgQ09ORklHX1BNCiAKICNkZWZpbmUgU0FWRSh4KQkJc2xlZXBfc2F2ZVtTTEVFUF9TQVZFXyMjeF0gPSB4CkBAIC0yNjAsNyArMjY3LDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnB4YTI1eF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcHhhX2RldmljZV91ZGMsCisJJnB4YTI1eF9kZXZpY2VfdWRjLAogCSZweGFfZGV2aWNlX2ZmdWFydCwKIAkmcHhhX2RldmljZV9idHVhcnQsCiAJJnB4YV9kZXZpY2Vfc3R1YXJ0LApAQCAtMjY5LDYgKzI3Niw4IEBACiAJJnB4YTI1eF9kZXZpY2Vfc3NwLAogCSZweGEyNXhfZGV2aWNlX25zc3AsCiAJJnB4YTI1eF9kZXZpY2VfYXNzcCwKKwkmcHhhMjV4X2RldmljZV9wd20wLAorCSZweGEyNXhfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhMjV4X3N5c2RldltdID0gewpAQCAtMzExLDYgKzMyMCw4IEBACiAJaWYgKGNwdV9pc19weGEyNXgoKSkKIAkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZweGFfZGV2aWNlX2h3dWFydCk7CiAKKwljbGtzX3JlZ2lzdGVyKCZncGlvN19jbGssIDEpOworCiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhMjd4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYwppbmRleCA3ZTk0NTgzLi5kNWQxNGVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYwpAQCAtMTQ2LDcgKzE0Niw3IEBACiAKIAlJTklUX0NLRU4oIkkyU0NMSyIsICBJMlMsICAxNDY4MjAwMCwgMCwgJnB4YV9kZXZpY2VfaTJzLmRldiksCiAJSU5JVF9DS0VOKCJJMkNDTEsiLCAgSTJDLCAgMzI4NDIwMDAsIDAsICZweGFfZGV2aWNlX2kyYy5kZXYpLAotCUlOSVRfQ0tFTigiVURDQ0xLIiwgIFVTQiwgIDQ4MDAwMDAwLCA1LCAmcHhhX2RldmljZV91ZGMuZGV2KSwKKwlJTklUX0NLRU4oIlVEQ0NMSyIsICBVU0IsICA0ODAwMDAwMCwgNSwgJnB4YTI3eF9kZXZpY2VfdWRjLmRldiksCiAJSU5JVF9DS0VOKCJNTUNDTEsiLCAgTU1DLCAgMTk1MDAwMDAsIDAsICZweGFfZGV2aWNlX21jaS5kZXYpLAogCUlOSVRfQ0tFTigiRklDUENMSyIsIEZJQ1AsIDQ4MDAwMDAwLCAwLCAmcHhhX2RldmljZV9maWNwLmRldiksCiAKQEAgLTE1NywxMiArMTU3LDEzIEBACiAJSU5JVF9DS0VOKCJTU1BDTEsiLCBTU1AxLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMS5kZXYpLAogCUlOSVRfQ0tFTigiU1NQQ0xLIiwgU1NQMiwgMTMwMDAwMDAsIDAsICZweGEyN3hfZGV2aWNlX3NzcDIuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIFNTUDMsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9zc3AzLmRldiksCisJSU5JVF9DS0VOKCJQV01DTEsiLCBQV00wLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYpLAorCUlOSVRfQ0tFTigiUFdNQ0xLIiwgUFdNMSwgMTMwMDAwMDAsIDAsICZweGEyN3hfZGV2aWNlX3B3bTEuZGV2KSwKIAogCUlOSVRfQ0tFTigiQUM5N0NMSyIsICAgICBBQzk3LCAgICAgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiQUM5N0NPTkZDTEsiLCBBQzk3Q09ORiwgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCiAJLyoKLQlJTklUX0NLRU4oIlBXTUNMSyIsICBQV00wLCAxMzAwMDAwMCwgMCwgTlVMTCksCiAJSU5JVF9DS0VOKCJNU0xDTEsiLCAgTVNMLCAgNDgwMDAwMDAsIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiVVNJTUNMSyIsIFVTSU0sIDQ4MDAwMDAwLCAwLCBOVUxMKSwKIAlJTklUX0NLRU4oIk1TVEtDTEsiLCBNRU1TVEssIDE5NTAwMDAwLCAwLCBOVUxMKSwKQEAgLTM0OSwxMSArMzUwLDE0IEBACiAKIHZvaWQgX19pbml0IHB4YV9zZXRfaTJjX3Bvd2VyX2luZm8oc3RydWN0IGkyY19weGFfcGxhdGZvcm1fZGF0YSAqaW5mbykKIHsKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCVBDRlIgfD0gUENGUl9QSTJDRU47CisJbG9jYWxfaXJxX2VuYWJsZSgpOwogCXB4YTI3eF9kZXZpY2VfaTJjX3Bvd2VyLmRldi5wbGF0Zm9ybV9kYXRhID0gaW5mbzsKIH0KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZweGFfZGV2aWNlX3VkYywKKwkmcHhhMjd4X2RldmljZV91ZGMsCiAJJnB4YV9kZXZpY2VfZmZ1YXJ0LAogCSZweGFfZGV2aWNlX2J0dWFydCwKIAkmcHhhX2RldmljZV9zdHVhcnQsCkBAIC0zNjMsNiArMzY3LDggQEAKIAkmcHhhMjd4X2RldmljZV9zc3AxLAogCSZweGEyN3hfZGV2aWNlX3NzcDIsCiAJJnB4YTI3eF9kZXZpY2Vfc3NwMywKKwkmcHhhMjd4X2RldmljZV9wd20wLAorCSZweGEyN3hfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhMjd4X3N5c2RldltdID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhMnh4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyeHguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGY2NDE1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvcHhhMnh4LmMKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtcHhhL3B4YTJ4eC5jCisgKgorICogY29kZSBzcGVjaWZpYyB0byBweGEyeHgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggRG1pdHJ5IEJhcnlzaGtvdgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTJ4eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL21mcC1weGEyNXguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pcmRhLmg+CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHB4YTJ4eF9tZnBfZmlyW10gPSB7CisJR1BJTzQ2X0ZJQ1BfUlhELAorCUdQSU80N19GSUNQX1RYRCwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHB4YTJ4eF9tZnBfc2lyW10gPSB7CisJR1BJTzQ2X1NUVUFSVF9SWEQsCisJR1BJTzQ3X1NUVUFSVF9UWEQsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBweGEyeHhfbWZwX29mZltdID0geworCUdQSU80Nl9HUElPIHwgTUZQX0xQTV9EUklWRV9MT1csCisJR1BJTzQ3X0dQSU8gfCBNRlBfTFBNX0RSSVZFX0xPVywKK307CisKK3ZvaWQgcHhhMnh4X3RyYW5zY2VpdmVyX21vZGUoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgbW9kZSkKK3sKKwlpZiAobW9kZSAmIElSX09GRikgeworCQlweGEyeHhfbWZwX2NvbmZpZyhweGEyeHhfbWZwX29mZiwgQVJSQVlfU0laRShweGEyeHhfbWZwX29mZikpOworCX0gZWxzZSBpZiAobW9kZSAmIElSX1NJUk1PREUpIHsKKwkJcHhhMnh4X21mcF9jb25maWcocHhhMnh4X21mcF9zaXIsIEFSUkFZX1NJWkUocHhhMnh4X21mcF9zaXIpKTsKKwl9IGVsc2UgaWYgKG1vZGUgJiBJUl9GSVJNT0RFKSB7CisJCXB4YTJ4eF9tZnBfY29uZmlnKHB4YTJ4eF9tZnBfZmlyLCBBUlJBWV9TSVpFKHB4YTJ4eF9tZnBfZmlyKSk7CisJfSBlbHNlCisJCUJVRygpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhM3h4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYwppbmRleCA2NDQ1NTBiLi4xNTY4NWQyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYwpAQCAtMjMxLDcgKzIzMSw3IEBACiAJUFhBM3h4X0NLRU4oIlVBUlRDTEsiLCBTVFVBUlQsIDE0ODU3MDAwLCAxLCBOVUxMKSwKIAogCVBYQTN4eF9DS0VOKCJJMkNDTEsiLCBJMkMsICAzMjg0MjAwMCwgMCwgJnB4YV9kZXZpY2VfaTJjLmRldiksCi0JUFhBM3h4X0NLRU4oIlVEQ0NMSyIsIFVEQywgIDQ4MDAwMDAwLCA1LCAmcHhhX2RldmljZV91ZGMuZGV2KSwKKwlQWEEzeHhfQ0tFTigiVURDQ0xLIiwgVURDLCAgNDgwMDAwMDAsIDUsICZweGEyN3hfZGV2aWNlX3VkYy5kZXYpLAogCVBYQTN4eF9DS0VOKCJVU0JDTEsiLCBVU0JILCA0ODAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfb2hjaS5kZXYpLAogCVBYQTN4eF9DS0VOKCJLQkRDTEsiLCBLRVlQQUQsICAzMjc2OCwgMCwgJnB4YTI3eF9kZXZpY2Vfa2V5cGFkLmRldiksCiAKQEAgLTIzOSw2ICsyMzksOCBAQAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1AyLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMi5kZXYpLAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1AzLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMy5kZXYpLAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1A0LCAxMzAwMDAwMCwgMCwgJnB4YTN4eF9kZXZpY2Vfc3NwNC5kZXYpLAorCVBYQTN4eF9DS0VOKCJQV01DTEsiLCBQV00wLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYpLAorCVBYQTN4eF9DS0VOKCJQV01DTEsiLCBQV00xLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMS5kZXYpLAogCiAJUFhBM3h4X0NLRU4oIk1NQ0NMSyIsIE1NQzEsIDE5NTAwMDAwLCAwLCAmcHhhX2RldmljZV9tY2kuZGV2KSwKIAlQWEEzeHhfQ0tFTigiTU1DQ0xLIiwgTU1DMiwgMTk1MDAwMDAsIDAsICZweGEzeHhfZGV2aWNlX21jaTIuZGV2KSwKQEAgLTUyMCw3ICs1MjIsNyBAQAogICovCiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcHhhX2RldmljZV91ZGMsCisvKgkmcHhhX2RldmljZV91ZGMsCVRoZSBVREMgZHJpdmVyIGlzIFBYQTI1eCBvbmx5ICovCiAJJnB4YV9kZXZpY2VfZmZ1YXJ0LAogCSZweGFfZGV2aWNlX2J0dWFydCwKIAkmcHhhX2RldmljZV9zdHVhcnQsCkBAIC01MzAsNiArNTMyLDggQEAKIAkmcHhhMjd4X2RldmljZV9zc3AyLAogCSZweGEyN3hfZGV2aWNlX3NzcDMsCiAJJnB4YTN4eF9kZXZpY2Vfc3NwNCwKKwkmcHhhMjd4X2RldmljZV9wd20wLAorCSZweGEyN3hfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhM3h4X3N5c2RldltdID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvc3BpdHpfcG0uYyBiL2FyY2gvYXJtL21hY2gtcHhhL3NwaXR6X3BtLmMKaW5kZXggMjNmMDUwZi4uMzYwMzU0MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvc3BpdHpfcG0uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9zcGl0el9wbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc2hhcnBzbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NwaXR6Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSAic2hhcnBzbC5oIgogCkBAIC0yMDcsNyArMjA4LDkgQEAKIAkucmVhZF9kZXZkYXRhICAgICA9IHNwaXR6cG1fcmVhZF9kZXZkYXRhLAogCS5jaGFyZ2VyX3dha2V1cCAgID0gc3BpdHpfY2hhcmdlcl93YWtldXAsCiAJLnNob3VsZF93YWtldXAgICAgPSBzcGl0el9zaG91bGRfd2FrZXVwLAorI2lmZGVmIENPTkZJR19CQUNLTElHSFRfQ09SR0kKICAgICAgICAgLmJhY2tsaWdodF9saW1pdCAgPSBjb3JnaWJsX2xpbWl0X2ludGVuc2l0eSwKKyNlbmRpZgogCS5jaGFyZ2Vfb25fdm9sdAkgID0gU0hBUlBTTF9DSEFSR0VfT05fVk9MVCwKIAkuY2hhcmdlX29uX3RlbXAJICA9IFNIQVJQU0xfQ0hBUkdFX09OX1RFTVAsCiAJLmNoYXJnZV9hY2luX2hpZ2ggPSBTSEFSUFNMX0NIQVJHRV9PTl9BQ0lOX0hJR0gsCkBAIC0yMjksNiArMjMyLDEwIEBACiB7CiAJaW50IHJldDsKIAorCWlmICghbWFjaGluZV9pc19zcGl0eigpICYmICFtYWNoaW5lX2lzX2FraXRhKCkKKwkJCSYmICFtYWNoaW5lX2lzX2JvcnpvaSgpKQorCQlyZXR1cm4gLUVOT0RFVjsKKwogCXNwaXR6cG1fZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzaGFycHNsLXBtIiwgLTEpOwogCWlmICghc3BpdHpwbV9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvc3RhbmRieS5TIGIvYXJjaC9hcm0vbWFjaC1weGEvc3RhbmRieS5TCmluZGV4IDE2NzQxMmUuLjQwYmI3MGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3N0YW5kYnkuUworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9zdGFuZGJ5LlMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KIAogCQkudGV4dAogCkBAIC0zNSwyMCArMzYsMjAgQEAKIAogI2lmZGVmIENPTkZJR19QWEEzeHgKIAotI2RlZmluZSBNRENORkcJCTB4MDAwMAotI2RlZmluZSBNRENORkdfRE1DRU4JKDEgPDwgMzApCi0jZGVmaW5lIEREUl9IQ0FMCTB4MDA2MAotI2RlZmluZSBERFJfSENBTF9IQ1JORwkweDFmCi0jZGVmaW5lIEREUl9IQ0FMX0hDUFJPRwkoMSA8PCAyOCkKLSNkZWZpbmUgRERSX0hDQUxfSENFTgkoMSA8PCAzMSkKLSNkZWZpbmUgRE1DSUVSCQkweDAwNzAKLSNkZWZpbmUgRE1DSUVSX0VETFAJKDEgPDwgMjkpCi0jZGVmaW5lIERNQ0lTUgkJMHgwMDc4Ci0jZGVmaW5lIFJDT01QCQkweDAxMDAKLSNkZWZpbmUgUkNPTVBfU1dFVkFMCSgxIDw8IDMxKQorI2RlZmluZSBQWEEzX01EQ05GRwkJMHgwMDAwCisjZGVmaW5lIFBYQTNfTURDTkZHX0RNQ0VOCSgxIDw8IDMwKQorI2RlZmluZSBQWEEzX0REUl9IQ0FMCQkweDAwNjAKKyNkZWZpbmUgUFhBM19ERFJfSENBTF9IQ1JORwkweDFmCisjZGVmaW5lIFBYQTNfRERSX0hDQUxfSENQUk9HCSgxIDw8IDI4KQorI2RlZmluZSBQWEEzX0REUl9IQ0FMX0hDRU4JKDEgPDwgMzEpCisjZGVmaW5lIFBYQTNfRE1DSUVSCQkweDAwNzAKKyNkZWZpbmUgUFhBM19ETUNJRVJfRURMUAkoMSA8PCAyOSkKKyNkZWZpbmUgUFhBM19ETUNJU1IJCTB4MDA3OAorI2RlZmluZSBQWEEzX1JDT01QCQkweDAxMDAKKyNkZWZpbmUgUFhBM19SQ09NUF9TV0VWQUwJKDEgPDwgMzEpCiAKIEVOVFJZKHBtX2VudGVyX3N0YW5kYnlfc3RhcnQpCi0JbW92CXIxLCAjMHhmNjAwMDAwMAkJQCBETUVNQ19SRUdfQkFTRSAoTURDTkZHKQorCW1vdglyMSwgIzB4ZjYwMDAwMDAJCQlAIERNRU1DX1JFR19CQVNFIChQWEEzX01EQ05GRykKIAlhZGQJcjEsIHIxLCAjMHgwMDEwMDAwMAogCiAJLyoKQEAgLTU5LDU0ICs2MCw1NCBAQAogCSAqIFRoaXMgYWxzbyBtZWFucyB0aGF0IG9ubHkgdGhlIGR5bmFtaWMgbWVtb3J5IGNvbnRyb2xsZXIKIAkgKiBjYW4gYmUgcmVsaWFibHkgYWNjZXNzZWQgaW4gdGhlIGNvZGUgZm9sbG93aW5nIHN0YW5kYnkuCiAJICovCi0JbGRyCXIyLCBbcjFdCQlAIER1bW15IHJlYWQgTURDTkZHCisJbGRyCXIyLCBbcjFdCQkJQCBEdW1teSByZWFkIFBYQTNfTURDTkZHCiAKIAltY3IJcDE0LCAwLCByMCwgYzcsIGMwLCAwCiAJLnJlcHQJOAogCW5vcAogCS5lbmRyCiAKLQlsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQlAIENsZWFyIChhbmQgd2FpdCBmb3IpIEhDRU4KLQliaWMJcjAsIHIwLCAjRERSX0hDQUxfSENFTgotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCi0xOglsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQotCXRzdAlyMCwgI0REUl9IQ0FMX0hDRU4KKwlsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCUAgQ2xlYXIgKGFuZCB3YWl0IGZvcikgSENFTgorCWJpYwlyMCwgcjAsICNQWEEzX0REUl9IQ0FMX0hDRU4KKwlzdHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCisJdHN0CXIwLCAjUFhBM19ERFJfSENBTF9IQ0VOCiAJYm5lCTFiCiAKLQlsZHIJcjAsIFtyMSwgI1JDT01QXQlAIEluaXRpYXRlIFJDT01QCi0Jb3JyCXIwLCByMCwgI1JDT01QX1NXRVZBTAotCXN0cglyMCwgW3IxLCAjUkNPTVBdCisJbGRyCXIwLCBbcjEsICNQWEEzX1JDT01QXQkJQCBJbml0aWF0ZSBSQ09NUAorCW9ycglyMCwgcjAsICNQWEEzX1JDT01QX1NXRVZBTAorCXN0cglyMCwgW3IxLCAjUFhBM19SQ09NUF0KIAotCW1vdglyMCwgI34wCQkJQCBDbGVhciBpbnRlcnJ1cHRzCi0Jc3RyCXIwLCBbcjEsICNETUNJU1JdCisJbW92CXIwLCAjfjAJCQkJQCBDbGVhciBpbnRlcnJ1cHRzCisJc3RyCXIwLCBbcjEsICNQWEEzX0RNQ0lTUl0KIAotCWxkcglyMCwgW3IxLCAjRE1DSUVSXQlAIHNldCBETUlFUltFRExQXQotCW9ycglyMCwgcjAsICNETUNJRVJfRURMUAotCXN0cglyMCwgW3IxLCAjRE1DSUVSXQorCWxkcglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCQlAIHNldCBETUlFUltFRExQXQorCW9ycglyMCwgcjAsICNQWEEzX0RNQ0lFUl9FRExQCisJc3RyCXIwLCBbcjEsICNQWEEzX0RNQ0lFUl0KIAotCWxkcglyMCwgW3IxLCAjRERSX0hDQUxdCUAgY2xlYXIgSENSTkcsIHNldCBIQ1BST0csIEhDRU4KLQliaWMJcjAsIHIwLCAjRERSX0hDQUxfSENSTkcKLQlvcnIJcjAsIHIwLCAjRERSX0hDQUxfSENFTiB8IEREUl9IQ0FMX0hDUFJPRwotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCisJbGRyCXIwLCBbcjEsICNQWEEzX0REUl9IQ0FMXQlAIGNsZWFyIEhDUk5HLCBzZXQgSENQUk9HLCBIQ0VOCisJYmljCXIwLCByMCwgI1BYQTNfRERSX0hDQUxfSENSTkcKKwlvcnIJcjAsIHIwLCAjUFhBM19ERFJfSENBTF9IQ0VOIHwgUFhBM19ERFJfSENBTF9IQ1BST0cKKwlzdHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCiAKLTE6CWxkcglyMCwgW3IxLCAjRE1DSVNSXQotCXRzdAlyMCwgI0RNQ0lFUl9FRExQCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfRE1DSVNSXQorCXRzdAlyMCwgI1BYQTNfRE1DSUVSX0VETFAKIAliZXEJMWIKIAotCWxkcglyMCwgW3IxLCAjTURDTkZHXQlAIHNldCBNRENORkdbRE1DRU5dCi0Jb3JyCXIwLCByMCwgI01EQ05GR19ETUNFTgotCXN0cglyMCwgW3IxLCAjTURDTkZHXQotMToJbGRyCXIwLCBbcjEsICNNRENORkddCi0JdHN0CXIwLCAjTURDTkZHX0RNQ0VOCisJbGRyCXIwLCBbcjEsICNQWEEzX01EQ05GR10JCUAgc2V0IFBYQTNfTURDTkZHW0RNQ0VOXQorCW9ycglyMCwgcjAsICNQWEEzX01EQ05GR19ETUNFTgorCXN0cglyMCwgW3IxLCAjUFhBM19NRENORkddCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfTURDTkZHXQorCXRzdAlyMCwgI1BYQTNfTURDTkZHX0RNQ0VOCiAJYmVxCTFiCiAKLQlsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQlAIHNldCBERFJfSENBTFtIQ1JOR10KKwlsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCUAgc2V0IFBYQTNfRERSX0hDQUxbSENSTkddCiAJb3JyCXIwLCByMCwgIzIgQCBIQ1JORwotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCisJc3RyCXIwLCBbcjEsICNQWEEzX0REUl9IQ0FMXQogCi0JbGRyCXIwLCBbcjEsICNETUNJRVJdCUAgQ2xlYXIgdGhlIGludGVycnVwdAorCWxkcglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCQlAIENsZWFyIHRoZSBpbnRlcnJ1cHQKIAliaWMJcjAsIHIwLCAjMHgyMDAwMDAwMAotCXN0cglyMCwgW3IxLCAjRE1DSUVSXQorCXN0cglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCiAKIAltb3YJcGMsIGxyCiBFTlRSWShwbV9lbnRlcl9zdGFuZGJ5X2VuZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3RyaXplcHM0LmMgYi9hcmNoL2FybS9tYWNoLXB4YS90cml6ZXBzNC5jCmluZGV4IDkzMTg4NWQuLjYxZTI0NDAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3RyaXplcHM0LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvdHJpemVwczQuYwpAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2ZsYXNoLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC90cml6ZXBzNC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CkBAIC0xNzUsMTkgKzE3NiwxMCBAQAogCS5yZXNvdXJjZQk9IE5VTEwsCiB9OwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIFBYQTI3MCBhYzk3IHNvdW5kIGNvZGVjCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBhYzk3X2F1ZGlvX2RldmljZSA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICogdHJpemVwczRfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmZsYXNoX2RldmljZSwKIAkmdWFydF9kZXZpY2VzLAogCSZkbTkwMDBfZGV2aWNlLAotCSZhYzk3X2F1ZGlvX2RldmljZSwKIH07CiAKICNpZmRlZiBDT05GSUdfTUFDSF9UUklaRVBTNF9DT05YUwpAQCAtNDM4LDYgKzQzMCw3IEBACiAJcHhhX3NldF9tY2lfaW5mbygmdHJpemVwczRfbWNpX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfZmljcF9pbmZvKCZ0cml6ZXBzNF9maWNwX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfb2hjaV9pbmZvKCZ0cml6ZXBzNF9vaGNpX3BsYXRmb3JtX2RhdGEpOworCXB4YV9zZXRfYWM5N19pbmZvKE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgdHJpemVwczRfbWFwX2lvKHZvaWQpCkBAIC00ODcsNiArNDgwLDcgQEAKIAlDb25YU19CQ1IgPSB0cml6ZXBzX2NvbnhzX2JjcjsKICNlbmRpZgogCisjd2FybmluZyBGSVhNRSAtIGFjY2Vzc2luZyBQTSByZWdpc3RlcnMgZGlyZWN0bHkgaXMgZGVwcmVjYXRlZAogCVBXRVIgID0gMHgwMDAwMDAwMjsKIAlQRkVSICA9IDB4MDAwMDAwMDA7CiAJUFJFUiAgPSAweDAwMDAwMDAyOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGUuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlLmMKaW5kZXggNGEwMDI4MC4uNjZiNDQ2YyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGUuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZS5jCkBAIC0xOCwyMiArMTgsMjQgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC96eWxvbml0ZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTI3eF9rZXlwYWQuaD4KIAorI2luY2x1ZGUgImRldmljZXMuaCIKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKICNkZWZpbmUgTUFYX1NMT1RTCTMKIHN0cnVjdCBwbGF0Zm9ybV9tbWNfc2xvdCB6eWxvbml0ZV9tbWNfc2xvdFtNQVhfU0xPVFNdOwogCi1pbnQgZ3Bpb19iYWNrbGlnaHQ7CiBpbnQgZ3Bpb19ldGhfaXJxOwogCiBpbnQgd205NzEzX2lycTsKQEAgLTYyLDEwICs2NCwyMCBAQAogfTsKIAogI2lmIGRlZmluZWQoQ09ORklHX0ZCX1BYQSkgfHwgZGVmaW5lZChDT05GSUdfRkJfUFhBX01PRFVMRSkKLXN0YXRpYyB2b2lkIHp5bG9uaXRlX2JhY2tsaWdodF9wb3dlcihpbnQgb24pCi17Ci0JZ3Bpb19zZXRfdmFsdWUoZ3Bpb19iYWNrbGlnaHQsIG9uKTsKLX0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIHp5bG9uaXRlX2JhY2tsaWdodF9kYXRhID0geworCS5wd21faWQJCT0gMywKKwkubWF4X2JyaWdodG5lc3MJPSAxMDAsCisJLmRmdF9icmlnaHRuZXNzCT0gMTAwLAorCS5wd21fcGVyaW9kX25zCT0gMTAwMDAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB6eWxvbml0ZV9iYWNrbGlnaHRfZGV2aWNlID0geworCS5uYW1lCQk9ICJwd20tYmFja2xpZ2h0IiwKKwkuZGV2CQk9IHsKKwkJLnBhcmVudCA9ICZweGEyN3hfZGV2aWNlX3B3bTEuZGV2LAorCQkucGxhdGZvcm1fZGF0YQk9ICZ6eWxvbml0ZV9iYWNrbGlnaHRfZGF0YSwKKwl9LAorfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tb2RlX2luZm8gdG9zaGliYV9sdG0wMzVhNzc2Y19tb2RlID0gewogCS5waXhjbG9jawkJPSAxMTAwMDAsCkBAIC05OCw3ICsxMTAsNiBAQAogc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8genlsb25pdGVfdG9zaGliYV9sY2RfaW5mbyA9IHsKIAkubnVtX21vZGVzICAgICAgCT0gMSwKIAkubGNkX2Nvbm4JCT0gTENEX0NPTE9SX1RGVF8xNkJQUCB8IExDRF9QQ0xLX0VER0VfRkFMTCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0genlsb25pdGVfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tb2RlX2luZm8gc2hhcnBfbHMwMzdfbW9kZXNbXSA9IHsKQEAgLTEzNCwxMyArMTQ1LDExIEBACiAJLm1vZGVzCQkJPSBzaGFycF9sczAzN19tb2RlcywKIAkubnVtX21vZGVzCQk9IDIsCiAJLmxjZF9jb25uCQk9IExDRF9DT0xPUl9URlRfMTZCUFAgfCBMQ0RfUENMS19FREdFX0ZBTEwsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IHp5bG9uaXRlX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCB6eWxvbml0ZV9pbml0X2xjZCh2b2lkKQogewotCS8qIGJhY2tsaWdodCBHUElPOiBvdXRwdXQsIGRlZmF1bHQgb24gKi8KLQlncGlvX2RpcmVjdGlvbl9vdXRwdXQoZ3Bpb19iYWNrbGlnaHQsIDEpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmenlsb25pdGVfYmFja2xpZ2h0X2RldmljZSk7CiAKIAlpZiAobGNkX2lkICYgMHgyMCkgewogCQlzZXRfcHhhX2ZiX2luZm8oJnp5bG9uaXRlX3NoYXJwX2xjZF9pbmZvKTsKQEAgLTMyOSw2ICszMzgsNyBAQAogCXNtYzkxeF9yZXNvdXJjZXNbMV0uZW5kICAgPSBncGlvX3RvX2lycShncGlvX2V0aF9pcnEpOwogCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmc21jOTF4X2RldmljZSk7CiAKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKIAl6eWxvbml0ZV9pbml0X2xjZCgpOwogCXp5bG9uaXRlX2luaXRfbW1jKCk7CiAJenlsb25pdGVfaW5pdF9rZXlwYWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlX3B4YTMwMC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKaW5kZXggMzI0ZmI5ZC4uNmY3YWU5NyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKQEAgLTUwLDYgKzUwLDcgQEAKIAlHUElPNzVfTENEX0JJQVMsCiAJR1BJTzc2X0xDRF9WU1lOQywKIAlHUElPMTI3X0xDRF9DU19OLAorCUdQSU8yMF9QV00zX09VVCwJLyogYmFja2xpZ2h0ICovCiAKIAkvKiBCVFVBUlQgKi8KIAlHUElPMTExX1VBUlQyX1JUUywKQEAgLTIwMCw5ICsyMDEsNiBAQAogCQkvKiBkZXRlY3QgTENEIHBhbmVsICovCiAJCXp5bG9uaXRlX2RldGVjdF9sY2RfcGFuZWwoKTsKIAotCQkvKiBHUElPIHBpbiBhc3NpZ25tZW50ICovCi0JCWdwaW9fYmFja2xpZ2h0ID0gbWZwX3RvX2dwaW8oTUZQX1BJTl9HUElPMjApOwotCiAJCS8qIE1NQyBjYXJkIGRldGVjdCAmIHdyaXRlIHByb3RlY3QgZm9yIGNvbnRyb2xsZXIgMCAqLwogCQl6eWxvbml0ZV9tbWNfc2xvdFswXS5ncGlvX2NkICA9IEVYVF9HUElPKDApOwogCQl6eWxvbml0ZV9tbWNfc2xvdFswXS5ncGlvX3dwICA9IEVYVF9HUElPKDIpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzIwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYwppbmRleCAxOTNkMDc5Li4yYjRmYzM0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYwpAQCAtNDksNiArNDksNyBAQAogCUdQSU8xNV8yX0xDRF9MQ0xLLAogCUdQSU8xNl8yX0xDRF9QQ0xLLAogCUdQSU8xN18yX0xDRF9CSUFTLAorCUdQSU8xNF9QV00zX09VVCwJLyogYmFja2xpZ2h0ICovCiAKIAkvKiBGRlVBUlQgKi8KIAlHUElPNDFfVUFSVDFfUlhEIHwgTUZQX0xQTV9FREdFX0ZBTEwsCkBAIC0xODcsNyArMTg4LDYgQEAKIAkJenlsb25pdGVfZGV0ZWN0X2xjZF9wYW5lbCgpOwogCiAJCS8qIEdQSU8gcGluIGFzc2lnbm1lbnQgKi8KLQkJZ3Bpb19iYWNrbGlnaHQJPSBtZnBfdG9fZ3BpbyhNRlBfUElOX0dQSU8xNCk7CiAJCWdwaW9fZXRoX2lycQk9IG1mcF90b19ncGlvKE1GUF9QSU5fR1BJTzkpOwogCiAJCS8qIE1NQyBjYXJkIGRldGVjdCAmIHdyaXRlIHByb3RlY3QgZm9yIGNvbnRyb2xsZXIgMCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZwppbmRleCBjZDNkYzA4Li45OWZkYzczIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZwpAQCAtMzcsNiArMzcsMTcgQEAKIAloZWxwCiAJICBDbG9jayBjb2RlIGZvciB0aGUgUzNDMjQxMCwgYW5kIHNpbWlsYXIgcHJvY2Vzc29ycwogCitjb25maWcgU0lNVEVDX05PUgorCWJvb2wKKwloZWxwCisJICBJbnRlcm5hbCBub2RlIHRvIHNwZWNpZnkgbWFjaGluZSBoYXMgc2ltdGVjIE5PUiBtYXBwaW5nCisKK2NvbmZpZyBNQUNIX0JBU1RfSURFCisJYm9vbAorCXNlbGVjdCBIQVZFX1BBVEFfUExBVEZPUk0KKwloZWxwCisJICBJbnRlcm5hbCBub2RlIGZvciBtYWNoaW5lcyB3aXRoIGFuIEJBU1Qgc3R5bGUgSURFCisJICBpbnRlcmZhY2UKIAogbWVudSAiUzNDMjQxMCBNYWNoaW5lcyIKIApAQCAtNjEsMTUgKzcyLDE4IEBACiAJICBJbnRlcm5hbCBub2RlIGZvciBIMTk0MCBhbmQgcmVsYXRlZCBQTQogCiBjb25maWcgTUFDSF9OMzAKLQlib29sICJBY2VyIE4zMCIKKwlib29sICJBY2VyIE4zMCBmYW1pbHkiCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJaGVscAotCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBBY2VyIE4zMAorCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCBzdXBwdCBmb3IgdGhlIEFjZXIgTjMwLCBBY2VyIE4zNSwKKwkgIE5hdm1hbiBQaU41NzAsIFlha3VtbyBBbHBoYVggb3IgQWlyaXMgTkMwNSBQREFzLgogCiBjb25maWcgQVJDSF9CQVNUCiAJYm9vbCAiU2ltdGVjIEVsZWN0cm9uaWNzIEJBU1QgKEVCMjQxMElUWCkiCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJc2VsZWN0IFBNX1NJTVRFQyBpZiBQTQorCXNlbGVjdCBTSU1URUNfTk9SCisJc2VsZWN0IE1BQ0hfQkFTVF9JREUKIAlzZWxlY3QgSVNBCiAJaGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBTaW10ZWMgRWxlY3Ryb25pY3MgRUIyNDEwSVRYCkBAIC0xMDcsNiArMTIxLDggQEAKIGNvbmZpZyBNQUNIX1ZSMTAwMAogCWJvb2wgIlRob3Jjb20gVlIxMDAwIgogCXNlbGVjdCBQTV9TSU1URUMgaWYgUE0KKwlzZWxlY3QgU0lNVEVDX05PUgorCXNlbGVjdCBNQUNIX0JBU1RfSURFCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJaGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBUaG9yY29tIFZSMTAwMCBib2FyZC4KQEAgLTExOCw0ICsxMzQsMyBAQAogCSAgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgQXJtem9uZSBRVDI0MTAKIAogZW5kbWVudQotCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvTWFrZWZpbGUKaW5kZXggY2FiYzEzYy4uMDBmMzFmOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9NYWtlZmlsZQpAQCAtMzAsMyArMzAsMTEgQEAKIG9iai0kKENPTkZJR19NQUNIX1RDVF9IQU1NRVIpCSs9IG1hY2gtdGN0X2hhbW1lci5vCiBvYmotJChDT05GSUdfTUFDSF9WUjEwMDApCSs9IG1hY2gtdnIxMDAwLm8gdXNiLXNpbXRlYy5vCiBvYmotJChDT05GSUdfTUFDSF9RVDI0MTApCSs9IG1hY2gtcXQyNDEwLm8KKworIyBDb21tb24gYml0cyBvZiBtYWNoaW5lIHN1cHBvcnQKKworb2JqLSQoQ09ORklHX1NJTVRFQ19OT1IpCSs9IG5vci1zaW10ZWMubworCisjIG1hY2hpbmUgYWRkaXRpb25zCisKK29iai0kKENPTkZJR19NQUNIX0JBU1RfSURFKQkrPSBiYXN0LWlkZS5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvYmFzdC1pZGUuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9iYXN0LWlkZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmOTVmZTMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvYmFzdC1pZGUuYwpAQCAtMCwwICsxLDExMiBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL2Jhc3QtaWRlLmMKKyAqCisgKiBDb3B5cmlnaHQgMjAwNyBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly93d3cuc2ltdGVjLmNvLnVrL3Byb2R1Y3RzL0VCMjQxMElUWC8KKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2Jhc3QtbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYmFzdC1pcnEuaD4KKworLyogSURFIHBvcnRzICovCisKK3N0YXRpYyBzdHJ1Y3QgcGF0YV9wbGF0Zm9ybV9pbmZvIGJhc3RfaWRlX3BsYXRkYXRhID0geworCS5pb3BvcnRfc2hpZnQJPSA1LAorfTsKKworI2RlZmluZSBJREVfQ1MJUzNDMjQxMF9DUzUKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBiYXN0X2lkZTBfcmVzb3VyY2VbXSA9IHsKKwlbMF0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFUFJJLAorCQkuZW5kCT0gSURFX0NTICsgQkFTVF9QQV9JREVQUkkgKyAoOCAqIDB4MjApIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFUFJJQVVYICsgKDYgKiAweDIwKSAsCisJCS5lbmQJPSBJREVfQ1MgKyBCQVNUX1BBX0lERVBSSUFVWCArICg3ICogMHgyMCkgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsyXQk9IHsKKwkJLnN0YXJ0CT0gSVJRX0lERTAsCisJCS5lbmQJPSBJUlFfSURFMCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGJhc3RfZGV2aWNlX2lkZTAgPSB7CisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAorCS5pZAkJPSAwLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShiYXN0X2lkZTBfcmVzb3VyY2UpLAorCS5yZXNvdXJjZQk9IGJhc3RfaWRlMF9yZXNvdXJjZSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYmFzdF9pZGVfcGxhdGRhdGEsCisJCS5jb2hlcmVudF9kbWFfbWFzayA9IH4wLAorCX0KKworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBiYXN0X2lkZTFfcmVzb3VyY2VbXSA9IHsKKwlbMF0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDLAorCQkuZW5kCT0gSURFX0NTICsgQkFTVF9QQV9JREVTRUMgKyAoOCAqIDB4MjApIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDQVVYICsgKDYgKiAweDIwKSwKKwkJLmVuZAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDQVVYICsgKDcgKiAweDIwKSAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdCT0geworCQkuc3RhcnQJPSBJUlFfSURFMSwKKwkJLmVuZAk9IElSUV9JREUxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFzdF9kZXZpY2VfaWRlMSA9IHsKKwkubmFtZQkJPSAicGF0YV9wbGF0Zm9ybSIsCisJLmlkCQk9IDEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGJhc3RfaWRlMV9yZXNvdXJjZSksCisJLnJlc291cmNlCT0gYmFzdF9pZGUxX3Jlc291cmNlLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZiYXN0X2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmJhc3RfaWRlX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZiYXN0X2RldmljZV9pZGUwLAorCSZiYXN0X2RldmljZV9pZGUxLAorfTsKKworc3RhdGljIF9faW5pdCBpbnQgYmFzdF9pZGVfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX2Jhc3QoKSB8fCBtYWNoaW5lX2lzX3ZyMTAwMCgpKQorCQlyZXR1cm4gcGxhdGZvcm1fYWRkX2RldmljZXMoYmFzdF9pZGVfZGV2aWNlcywKKwkJCQkJICAgIEFSUkFZX1NJWkUoYmFzdF9pZGVfZGV2aWNlcykpOworCisJcmV0dXJuIDA7Cit9CisKK2ZzX2luaXRjYWxsKGJhc3RfaWRlX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtYmFzdC5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtYmFzdC5jCmluZGV4IDI3ZjYzZDUuLjk2NWYyNzEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLWJhc3QuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1iYXN0LmMKQEAgLTEsNiArMSw2IEBACiAvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1iYXN0LmMKICAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCiAgKiAgIEJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCiAgKiBodHRwOi8vd3d3LnNpbXRlYy5jby51ay9wcm9kdWN0cy9FQjI0MTBJVFgvCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kbTkwMDAuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPG5ldC9heDg4Nzk2Lmg+CiAKQEAgLTU2LDcgKzU4LDkgQEAKICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKwogI2luY2x1ZGUgInVzYi1zaW10ZWMuaCIKKyNpbmNsdWRlICJub3Itc2ltdGVjLmgiCiAKICNkZWZpbmUgQ09QWVJJR0hUICIsIChjKSAyMDA0LTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzIgogCkBAIC0xMzQsMzcgKzEzOCwyMSBAQAogICB7IFZBX0MyKEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTMihCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DMihCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzIoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzIoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1MyKEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTMyhCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMihCQVNUX1ZBX0lERVNFQyksICBQQV9DUzMoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogc2xvdywgd29yZCAqLwogICB7IFZBX0MzKEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTMyhCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DMyhCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzMoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzMoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1MzKEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTMyhCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhCQVNUX1ZBX0lERVNFQyksICBQQV9DUzMoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzMoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzMoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogZmFzdCwgYnl0ZSAqLwogICB7IFZBX0M0KEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTNChCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DNChCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzQoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzQoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1M0KEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M0KEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTNShCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChCQVNUX1ZBX0lERVNFQyksICBQQV9DUzUoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogZmFzdCwgd29yZCAqLwogICB7IFZBX0M1KEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTNShCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DNShCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzUoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzUoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1M1KEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTNShCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNShCQVNUX1ZBX0lERVNFQyksICBQQV9DUzUoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiB9OwogCiAjZGVmaW5lIFVDT04gUzNDMjQxMF9VQ09OX0RFRkFVTFQgfCBTM0MyNDEwX1VDT05fVUNMSwpAQCAtMjE4LDIzICsyMDYsNiBAQAogCX0KIH07CiAKLS8qIE5PUiBGbGFzaCBvbiBCQVNUIGJvYXJkICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYmFzdF9ub3JfcmVzb3VyY2VbXSA9IHsKLQlbMF0gPSB7Ci0JCS5zdGFydCA9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwLAotCQkuZW5kICAgPSBTM0MyNDEwX0NTMSArIDB4NDAwMDAwMCArICgzMioxMDI0KjEwMjQpIC0gMSwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCi0JfQotfTsKLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFzdF9kZXZpY2Vfbm9yID0gewotCS5uYW1lCQk9ICJiYXN0LW5vciIsCi0JLmlkCQk9IC0xLAotCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShiYXN0X25vcl9yZXNvdXJjZSksCi0JLnJlc291cmNlCT0gYmFzdF9ub3JfcmVzb3VyY2UsCi19OwotCiAvKiBOQU5EIEZsYXNoIG9uIEJBU1QgYm9hcmQgKi8KIAogI2lmZGVmIENPTkZJR19QTQpAQCAtMzc0LDcgKzM0NSw3IEBACiAJWzJdID0gewogCQkuc3RhcnQgPSBJUlFfRE05MDAwLAogCQkuZW5kICAgPSBJUlFfRE05MDAwLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiAKIH07CkBAIC01NjQsNiArNTM1LDE4IEBACiAJLmRlZmF1bHRfZGlzcGxheSA9IDEsCiB9OwogCisvKiBJMkMgZGV2aWNlcyBmaXR0ZWQuICovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gYmFzdF9pMmNfZGV2c1tdIF9faW5pdGRhdGEgPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygidGx2MzIwYWljMjMiLCAweDFhKSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJzaW10ZWMtcG11IiwgMHg2YiksCisJfSwgeworCQlJMkNfQk9BUkRfSU5GTygiY2g3MDEzIiwgMHg3NSksCisJfSwKK307CisKIC8qIFN0YW5kYXJkIEJBU1QgZGV2aWNlcyAqLwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYmFzdF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTU3Myw3ICs1NTYsNiBAQAogCSZzM2NfZGV2aWNlX2kyYywKICAJJnMzY19kZXZpY2VfcnRjLAogCSZzM2NfZGV2aWNlX25hbmQsCi0JJmJhc3RfZGV2aWNlX25vciwKIAkmYmFzdF9kZXZpY2VfZG05aywKIAkmYmFzdF9kZXZpY2VfYXNpeCwKIAkmYmFzdF9kZXZpY2VfYXhwcCwKQEAgLTYyMiw2ICs2MDQsMTEgQEAKIAogCXMzYzI0eHhfZmJfc2V0X3BsYXRkYXRhKCZiYXN0X2ZiX2luZm8pOwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGJhc3RfZGV2aWNlcywgQVJSQVlfU0laRShiYXN0X2RldmljZXMpKTsKKworCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIGJhc3RfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRShiYXN0X2kyY19kZXZzKSk7CisKKwlub3Jfc2ltdGVjX2luaXQoKTsKIH0KIAogTUFDSElORV9TVEFSVChCQVNULCAiU2ltdGVjLUJBU1QiKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtbjMwLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYwppbmRleCA2MjFmNTQ4Li40M2MyZTkxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYwpAQCAtMSw5ICsxLDEwIEBACi0vKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYworLyogTWFjaGluZSBzcGVjaWZpYyBjb2RlIGZvciB0aGUgQWNlciBuMzAsIEFjZXIgTjM1LCBOYXZtYW4gUGlOIDU3MCwKKyAqIFlha3VtbyBBbHBoYVggYW5kIEFpcmlzIE5DMDUgUERBcy4KICAqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDUgQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgorICogQ29weXJpZ2h0IChjKSAyMDA1LTIwMDggQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgogICoKICAqIFRoZXJlIGlzIGEgd2lraSB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG4zMCBwb3J0IGF0CiAgKiBodHRwOi8vaGFuZGhlbGRzLm9yZy9tb2luL21vaW4uY2dpL0FjZXJOMzBEb2N1bWVudGF0aW9uIC4KQEAgLTExLDM2ICsxMiw0MiBAQAogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCiAgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSovCisgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0jaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KLSNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CiAKLSNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KIAotI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2ZiLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbGVkcy1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+Ci0jaW5jbHVkZSA8YXNtL3BsYXQtczNjL2lpYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbGNkLmg+CiAKLSNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3MzYzI0MTAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvaWljLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CisKICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+Ci0jaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3MzYzI0MTAuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3VkYy5oPgogCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG4zMF9pb2Rlc2NbXSBfX2luaXRkYXRhID0gewogCS8qIG5vdGhpbmcgaGVyZSB5ZXQgKi8KQEAgLTY0LDcgKzcxLDggQEAKIAkJLnVsY29uCSAgICAgPSAweDQzLAogCQkudWZjb24JICAgICA9IDB4NTEsCiAJfSwKLQkvKiBUaGUgQmx1ZVRvb3RoIGNvbnRyb2xsZXIgaXMgY29ubmVjdGVkIHRvIHBvcnQgMiAqLworCS8qIE9uIHRoZSBOMzAgdGhlIGJsdWV0b290aCBjb250cm9sbGVyIGlzIGNvbm5lY3RlZCBoZXJlLgorCSAqIE9uIHRoZSBOMzUgYW5kIHZhcmlhbnRzIHRoZSBHUFMgcmVjZWl2ZXIgaXMgY29ubmVjdGVkIGhlcmUuICovCiAJWzJdID0gewogCQkuaHdwb3J0CSAgICAgPSAyLAogCQkuZmxhZ3MJICAgICA9IDAsCkBAIC03NCwxMyArODIsMjYwIEBACiAJfSwKIH07CiAKK3N0YXRpYyB2b2lkIG4zMF91ZGNfcHVsbHVwKGVudW0gczNjMjQxMF91ZGNfY21kX2UgY21kKQoreworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTM0MyNDEwX1VEQ19QX0VOQUJMRSA6CisJCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEIzLCAxKTsKKwkJYnJlYWs7CisJY2FzZSBTM0MyNDEwX1VEQ19QX0RJU0FCTEUgOgorCQlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BCMywgMCk7CisJCWJyZWFrOworCWNhc2UgUzNDMjQxMF9VRENfUF9SRVNFVCA6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VkY19tYWNoX2luZm8gbjMwX3VkY19jZmcgX19pbml0ZGF0YSA9IHsKKwkudWRjX2NvbW1hbmQJCT0gbjMwX3VkY19wdWxsdXAsCisJLnZidXNfcGluCQk9IFMzQzI0MTBfR1BHMSwKKwkudmJ1c19waW5faW52ZXJ0ZWQJPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIG4zMF9idXR0b25zW10gPSB7CisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjAsCisJCS5jb2RlCQk9IEtFWV9QT1dFUiwKKwkJLmRlc2MJCT0gIlBvd2VyIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzksCisJCS5jb2RlCQk9IEtFWV9VUCwKKwkJLmRlc2MJCT0gIlRodW1id2hlZWwgVXAiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHOCwKKwkJLmNvZGUJCT0gS0VZX0RPV04sCisJCS5kZXNjCQk9ICJUaHVtYndoZWVsIERvd24iLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNywKKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZGVzYwkJPSAiVGh1bWJ3aGVlbCBQcmVzcyIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY3LAorCQkuY29kZQkJPSBLRVlfSE9NRVBBR0UsCisJCS5kZXNjCQk9ICJIb21lIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjYsCisJCS5jb2RlCQk9IEtFWV9DQUxFTkRBUiwKKwkJLmRlc2MJCT0gIkNhbGVuZGFyIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjUsCisJCS5jb2RlCQk9IEtFWV9BRERSRVNTQk9PSywKKwkJLmRlc2MJCT0gIkNvbnRhY3RzIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjQsCisJCS5jb2RlCQk9IEtFWV9NQUlMLAorCQkuZGVzYwkJPSAiTWFpbCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBuMzBfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBuMzBfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKG4zMF9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG4zMF9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX2J1dHRvbl9kYXRhLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBuMzVfYnV0dG9uc1tdID0geworCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEYwLAorCQkuY29kZQkJPSBLRVlfUE9XRVIsCisJCS5kZXNjCQk9ICJQb3dlciIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc5LAorCQkuY29kZQkJPSBLRVlfVVAsCisJCS5kZXNjCQk9ICJKb3lzdGljayBVcCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc4LAorCQkuY29kZQkJPSBLRVlfRE9XTiwKKwkJLmRlc2MJCT0gIkpveXN0aWNrIERvd24iLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNiwKKwkJLmNvZGUJCT0gS0VZX0RPV04sCisJCS5kZXNjCQk9ICJKb3lzdGljayBMZWZ0IiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzUsCisJCS5jb2RlCQk9IEtFWV9ET1dOLAorCQkuZGVzYwkJPSAiSm95c3RpY2sgUmlnaHQiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNywKKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZGVzYwkJPSAiSm95c3RpY2sgUHJlc3MiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGNywKKwkJLmNvZGUJCT0gS0VZX0hPTUVQQUdFLAorCQkuZGVzYwkJPSAiSG9tZSIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY2LAorCQkuY29kZQkJPSBLRVlfQ0FMRU5EQVIsCisJCS5kZXNjCQk9ICJDYWxlbmRhciIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY1LAorCQkuY29kZQkJPSBLRVlfQUREUkVTU0JPT0ssCisJCS5kZXNjCQk9ICJDb250YWN0cyIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY0LAorCQkuY29kZQkJPSBLRVlfTUFJTCwKKwkJLmRlc2MJCT0gIk1haWwiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGMywKKwkJLmNvZGUJCT0gU1dfUkFESU8sCisJCS5kZXNjCQk9ICJHUFMgQW50ZW5uYSIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEcyLAorCQkuY29kZQkJPSBTV19IRUFEUEhPTkVfSU5TRVJULAorCQkuZGVzYwkJPSAiSGVhZHBob25lIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIG4zNV9idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IG4zNV9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUobjM1X2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbjM1X2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjM1X2J1dHRvbl9kYXRhLAorCX0KK307CisKKy8qIFRoaXMgaXMgdGhlIGJsdWV0b290aCBMRUQgb24gdGhlIGRldmljZS4gKi8KK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF9sZWRfcGxhdGRhdGEgbjMwX2JsdWVfbGVkX3BkYXRhID0geworCS5uYW1lCQk9ICJibHVlX2xlZCIsCisJLmdwaW8JCT0gUzNDMjQxMF9HUEc2LAorCS5kZWZfdHJpZ2dlcgk9ICIiLAorfTsKKworLyogVGhpcyBMRUQgaXMgZHJpdmVuIGJ5IHRoZSBiYXR0ZXJ5IG1pY3JvY29udHJvbGxlciwgYW5kIGlzIGJsaW5raW5nCisgKiByZWQsIGJsaW5raW5nIGdyZWVuIG9yIHNvbGlkIGdyZWVuIHdoZW4gdGhlIGJhdHRlcnkgaXMgbG93LAorICogY2hhcmdpbmcgb3IgZnVsbCByZXNwZWN0aXZlbHkuICBCeSBkcml2aW5nIEdQRDkgbG93LCBpdCdzIHBvc3NpYmxlCisgKiB0byBmb3JjZSB0aGUgTEVEIHRvIGJsaW5rIHJlZCwgc28gY2FsbCB0aGF0IHdhcm5pbmcgTEVELiAgKi8KK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF9sZWRfcGxhdGRhdGEgbjMwX3dhcm5pbmdfbGVkX3BkYXRhID0geworCS5uYW1lCQk9ICJ3YXJuaW5nX2xlZCIsCisJLmZsYWdzICAgICAgICAgID0gUzNDMjRYWF9MRURGX0FDVExPVywKKwkuZ3BpbwkJPSBTM0MyNDEwX0dQRDksCisJLmRlZl90cmlnZ2VyCT0gIiIsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBuMzBfYmx1ZV9sZWQgPSB7CisJLm5hbWUJCT0gInMzYzI0eHhfbGVkIiwKKwkuaWQJCT0gMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX2JsdWVfbGVkX3BkYXRhLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBuMzBfd2FybmluZ19sZWQgPSB7CisJLm5hbWUJCT0gInMzYzI0eHhfbGVkIiwKKwkuaWQJCT0gMiwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX3dhcm5pbmdfbGVkX3BkYXRhLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBmYl9kaXNwbGF5IG4zMF9kaXNwbGF5IF9faW5pdGRhdGEgPSB7CisJLnR5cGUJCT0gUzNDMjQxMF9MQ0RDT04xX1RGVCwKKwkud2lkdGgJCT0gMjQwLAorCS5oZWlnaHQJCT0gMzIwLAorCS5waXhjbG9jawk9IDE3MDAwMCwKKworCS54cmVzCQk9IDI0MCwKKwkueXJlcwkJPSAzMjAsCisJLmJwcAkJPSAxNiwKKwkubGVmdF9tYXJnaW4JPSAzLAorCS5yaWdodF9tYXJnaW4JPSA0MCwKKwkuaHN5bmNfbGVuCT0gNDAsCisJLnVwcGVyX21hcmdpbgk9IDIsCisJLmxvd2VyX21hcmdpbgk9IDMsCisJLnZzeW5jX2xlbgk9IDIsCisKKwkubGNkY29uNSA9IFMzQzI0MTBfTENEQ09ONV9JTlZWTElORSB8IFMzQzI0MTBfTENEQ09ONV9JTlZWRlJBTUUsCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBmYl9tYWNoX2luZm8gbjMwX2ZiX2luZm8gX19pbml0ZGF0YSA9IHsKKwkuZGlzcGxheXMJPSAmbjMwX2Rpc3BsYXksCisJLm51bV9kaXNwbGF5cwk9IDEsCisJLmRlZmF1bHRfZGlzcGxheSA9IDAsCisJLmxwY3NlbAkJPSAweDA2LAorfTsKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm4zMF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmczNjX2RldmljZV9sY2QsCisJJnMzY19kZXZpY2Vfd2R0LAorCSZzM2NfZGV2aWNlX2kyYywKKwkmczNjX2RldmljZV9paXMsCiAJJnMzY19kZXZpY2VfdXNiLAorCSZzM2NfZGV2aWNlX3VzYmdhZGdldCwKKwkmbjMwX2J1dHRvbl9kZXZpY2UsCisJJm4zMF9ibHVlX2xlZCwKKwkmbjMwX3dhcm5pbmdfbGVkLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm4zNV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmczNjX2RldmljZV9sY2QsCiAJJnMzY19kZXZpY2Vfd2R0LAogCSZzM2NfZGV2aWNlX2kyYywKIAkmczNjX2RldmljZV9paXMsCiAJJnMzY19kZXZpY2VfdXNiZ2FkZ2V0LAorCSZuMzVfYnV0dG9uX2RldmljZSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgczNjMjQxMF9wbGF0Zm9ybV9pMmMgbjMwX2kyY2NmZyA9IHsKQEAgLTkwLDkgKzM0NSwxNDggQEAKIAkubWF4X2ZyZXEJPSAxMCoxMDAwLAogfTsKIAorLyogTG90cyBvZiBoYXJkY29kZWQgc3R1ZmYsIGJ1dCBpdCBzZXRzIHVwIHRoZSBoYXJkd2FyZSBpbiBhIHVzZWZ1bAorICogc3RhdGUgc28gdGhhdCB3ZSBjYW4gYm9vdCBMaW51eCBkaXJlY3RseSBmcm9tIGZsYXNoLiAqLworc3RhdGljIHZvaWQgX19pbml0IG4zMF9od2luaXQodm9pZCkKK3sKKwkvKiBHUEEwLTExIHNwZWNpYWwgZnVuY3Rpb25zIC0tIHVua25vd24gd2hhdCB0aGV5IGRvCisJICogR1BBMTIgTjMwIHNwZWNpYWwgZnVuY3Rpb24gLS0gdW5rbm93biB3aGF0IGl0IGRvZXMKKwkgKiAgICAgICBOMzUvUGlOIG91dHB1dCAtLSB1bmtub3duIHdoYXQgaXQgZG9lcworCSAqCisJICogQTEyIGlzIG5HQ1MxIG9uIHRoZSBOMzAgYW5kIGFuIG91dHB1dCBvbiB0aGUgTjM1L1BpTi4gIEkKKwkgKiBkb24ndCB0aGluayBpdCBkb2VzIGFueXRoaW5nIHVzZWZ1bCBvbiB0aGUgTjMwLCBzbyBJIG91Z2h0CisJICogdG8gbWFrZSBpdCBhbiBvdXRwdXQgdGhlcmUgdG9vIHNpbmNlIGl0IGFsd2F5cyBkcml2ZW4gdG8gMAorCSAqIGFzIGZhciBhcyBJIGNhbiB0ZWxsLiAqLworCWlmIChtYWNoaW5lX2lzX24zMCgpKQorCQlfX3Jhd193cml0ZWwoMHgwMDdmZmZmZiwgUzNDMjQxMF9HUEFDT04pOworCWlmIChtYWNoaW5lX2lzX24zNSgpKQorCQlfX3Jhd193cml0ZWwoMHgwMDdmZWZmZiwgUzNDMjQxMF9HUEFDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwMDAwLCBTM0MyNDEwX0dQQURBVCk7CisKKwkvKiBHUEIwIFRPVVQwIGJhY2tsaWdodCBsZXZlbAorCSAqIEdQQjEgb3V0cHV0IDE9YmFja2xpZ2h0IG9uCisJICogR1BCMiBvdXRwdXQgSXJEQSBlbmFibGUgMD10cmFuc2NlaXZlciBlbmFibGVkLCAxPWRpc2FibGVkCisJICogR1BCMyBvdXRwdXQgVVNCIEQrIHB1bGwgdXAgMD1kaXNhYmxlZCwgMT1lbmFibGVkCisJICogR1BCNCBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgIE4zMC9QaU4gR1BTIGNvbnRyb2wgMD1HUFMgZW5hYmxlZCwgMT1HUFMgZGlzYWJsZWQKKwkgKiBHUEI1IG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BCNiBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BCNyBvdXRwdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQQjggb3V0cHV0IC0tIHByb2JhYmx5IExDRCBkcml2ZXIgZW5hYmxlCisJICogR1BCOSBvdXRwdXQgLS0gcHJvYmFibHkgTENEIFZTWU5DIGRyaXZlciBlbmFibGUKKwkgKiBHUEIxMCBvdXRwdXQgLS0gcHJvYmFibHkgTENEIEhTWU5DIGRyaXZlciBlbmFibGUKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHgwMDE1NDU1NiwgUzNDMjQxMF9HUEJDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwNzUwLCBTM0MyNDEwX0dQQkRBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMDAwNzMsIFMzQzI0MTBfR1BCVVApOworCisJLyogR1BDMCBpbnB1dCBSUzIzMiBEQ0QvRFNSL1JJCisJICogR1BDMSBMQ0QKKwkgKiBHUEMyIG91dHB1dCBSUzIzMiBEVFI/CisJICogR1BDMyBpbnB1dCBSUzIzMiBEQ0QvRFNSL1JJCisJICogR1BDNCBMQ0QKKwkgKiBHUEM1IG91dHB1dCAwPU5BTkQgd3JpdGUgZW5hYmxlZCwgMT1OQU5EIHdyaXRlIHByb3RlY3QKKwkgKiBHUEM2IGlucHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEM3IGlucHV0IGNoYXJnZXIgc3RhdHVzIDA9Y2hhcmdlciBjb25uZWN0ZWQKKwkgKiAgICAgIHRoaXMgaW5wdXQgY2FuIGJlIHRyaWdnZXJlZCBieSBwb3dlciBvbiB0aGUgVVNCIGRldmljZQorCSAqICAgICAgcG9ydCB0b28sIGJ1dCB3aWxsIGdvIGJhY2sgdG8gZGlzY29ubmVjdGVkIHNvb24gYWZ0ZXIuCisJICogR1BDOCBOMzAvTjM1IG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uLCBhbHdheXMgZHJpdmVuIHRvIDEKKwkgKiAgICAgIFBpTiBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uLCBhbHdheXMgcmVhZCBhcyAxCisJICogICAgICBNYWtlIGl0IGFuIGlucHV0IHdpdGggYSBwdWxsIHVwIGZvciBhbGwgbW9kZWxzLgorCSAqIEdQQzktMTUgTENECisJICovCisJX19yYXdfd3JpdGVsKDB4YWFhODA2MTgsIFMzQzI0MTBfR1BDQ09OKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDE0YywgUzNDMjQxMF9HUENEQVQpOworCV9fcmF3X3dyaXRlbCgweDAwMDBmZWYyLCBTM0MyNDEwX0dQQ1VQKTsKKworCS8qIEdQRDAgaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQRDEtRDcgTENECisJICogR1BEOCBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgIE4zNS9QaU4gb3V0cHV0IDE9R1BTIExFRCBvbgorCSAqIEdQRDkgb3V0cHV0IDA9cG93ZXIgbGVkIGJsaW5rcyByZWQsIDE9bm9ybWFsIHBvd2VyIGxlZCBmdW5jdGlvbgorCSAqIEdQRDEwIG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BEMTEtMTUgTENEIGRyaXZlcnMKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHhhYTk1YWFhNCwgUzNDMjQxMF9HUERDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwNjAxLCBTM0MyNDEwX0dQRERBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGZiZmUsIFMzQzI0MTBfR1BEVVApOworCisJLyogR1BFMC00IEkyUyBhdWRpbyBidXMKKwkgKiBHUEU1LTEwIFNEL01NQyBidXMKKwkgKiBFMTEtMTMgb3V0cHV0cyAtLSB1bmtub3duIGZ1bmN0aW9uLCBwcm9iYWJseSBwb3dlciBtYW5hZ2VtZW50CisJICogRTE0LTE1IEkyQyBidXMgY29ubmVjdGVkIHRvIHRoZSBiYXR0ZXJ5IGNvbnRyb2xsZXIKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHhhNTZhYWFhYSwgUzNDMjQxMF9HUEVDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDBlZmM1LCBTM0MyNDEwX0dQRURBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGY4MWYsIFMzQzI0MTBfR1BFVVApOworCisJLyogR1BGMCAgaW5wdXQgMD1wb3dlciBidXR0b24gcHJlc3NlZAorCSAqIEdQRjEgIGlucHV0IFNEL01NQyBzd2l0Y2ggMD1jYXJkIHByZXNlbnQKKwkgKiBHUEYyICBOMzAgMT1yZXNldCBidXR0b24gcHJlc3NlZCAoaW52ZXJ0ZWQgY29tcGFyZWQgdG8gdGhlIHJlc3QpCisJICoJIE4zNS9QaU4gMD1yZXNldCBidXR0b24gcHJlc3NlZAorCSAqIEdQRjMgIE4zMC9QaU4gaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgIE4zNSBpbnB1dCBHUFMgYW50ZW5uYSBwb3NpdGlvbiwgMD1hbnRlbm5hIGNsb3NlZCwgMT1vcGVuCisJICogR1BGNCAgaW5wdXQgMD1idXR0b24gNCBwcmVzc2VkCisJICogR1BGNSAgaW5wdXQgMD1idXR0b24gMyBwcmVzc2VkCisJICogR1BGNiAgaW5wdXQgMD1idXR0b24gMiBwcmVzc2VkCisJICogR1BGNyAgaW5wdXQgMD1idXR0b24gMSBwcmVzc2VkCisJICovCisJX19yYXdfd3JpdGVsKDB4MDAwMGFhYWEsIFMzQzI0MTBfR1BGQ09OKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDAwMCwgUzNDMjQxMF9HUEZEQVQpOworCV9fcmF3X3dyaXRlbCgweDAwMDAwMGZmLCBTM0MyNDEwX0dQRlVQKTsKKworCS8qIEdQRzAgIGlucHV0IFJTMjMyIERDRC9EU1IvUkkKKwkgKiBHUEcxICBpbnB1dCAxPVVTQiBnYWRnZXQgcG9ydCBoYXMgcG93ZXIgZnJvbSBhIGhvc3QKKwkgKiBHUEcyICBOMzAgaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgIE4zNS9QaU4gaW5wdXQgMD1oZWFkcGhvbmVzIHBsdWdnZWQgaW4sIDE9bm90IHBsdWdnZWQgaW4KKwkgKiBHUEczICBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgICBOMzUvUGlOIGlucHV0IHdpdGggdW5rbm93biBmdW5jdGlvbgorCSAqIEdQRzQgIE4zMCBvdXRwdXQgMD1NTUMgZW5hYmxlZCwgMT1NTUMgZGlzYWJsZWQKKwkgKiBHUEc1ICBOMzAgb3V0cHV0IDA9Qmx1ZVRvb3RoIGNoaXAgZGlzYWJsZWQsIDE9ZW5hYmxlZAorCSAqICAgICAgIE4zNS9QaU4gaW5wdXQgam95c3RpY2sgcmlnaHQKKwkgKiBHUEc2ICBOMzAgb3V0cHV0IDA9Ymx1ZSBsZWQgb24sIDE9b2ZmCisJICogICAgICAgTjM1L1BpTiBpbnB1dCBqb3lzdGljayBsZWZ0CisJICogR1BHNyAgaW5wdXQgMD10aHVtYndoZWVsIHByZXNzZWQKKwkgKiBHUEc4ICBpbnB1dCAwPXRodW1id2hlZWwgZG93bgorCSAqIEdQRzkgIGlucHV0IDA9dGh1bWJ3aGVlbCB1cAorCSAqIEdQRzEwIGlucHV0IFNEL01NQyB3cml0ZSBwcm90ZWN0IHN3aXRjaAorCSAqIEdQRzExIE4zMCBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogICAgICAgTjM1IG91dHB1dCAwPUdQUyBhbnRlbm5hIHBvd2VyZWQsIDE9bm90IHBvd2VyZWQKKwkgKiAgICAgICBQaU4gb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEcxMi0xNSB0b3VjaCBzY3JlZW4gZnVuY3Rpb25zCisJICoKKwkgKiBUaGUgcHVsbHVwcyBkaWZmZXIgYmV0d2VlbiB0aGUgbW9kZWxzLCBzbyBlbmFibGUgYWxsCisJICogcHVsbHVwcyB0aGF0IGFyZSBlbmFibGVkIG9uIGFueSBvZiB0aGUgbW9kZWxzLgorCSAqLworCWlmIChtYWNoaW5lX2lzX24zMCgpKQorCQlfX3Jhd193cml0ZWwoMHhmZjBhOTU2YSwgUzNDMjQxMF9HUEdDT04pOworCWlmIChtYWNoaW5lX2lzX24zNSgpKQorCQlfX3Jhd193cml0ZWwoMHhmZjRhYTkyYSwgUzNDMjQxMF9HUEdDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDBlODAwLCBTM0MyNDEwX0dQR0RBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGY4NmYsIFMzQzI0MTBfR1BHVVApOworCisJLyogR1BIMC8xLzIvMyBSUzIzMiBzZXJpYWwgcG9ydAorCSAqIEdQSDQvNSBJckRBIHNlcmlhbCBwb3J0CisJICogR1BINi83ICBOMzAgQmx1ZVRvb3RoIHNlcmlhbCBwb3J0CisJICogICAgICAgICBOMzUvUGlOIEdQUyByZWNlaXZlcgorCSAqIEdQSDggaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQSDkgQ0xLT1VUMCBIQ0xLIC0tIHVua25vd24gdXNlCisJICogR1BIMTAgQ0xLT1VUMSBGQ0xLIC0tIHVua25vd24gdXNlCisJICoKKwkgKiBUaGUgcHVsbCB1cHMgZm9yIEg2L0g3IGFyZSBlbmFibGVkIG9uIE4zMCBidXQgbm90IG9uIHRoZQorCSAqIE4zNS9QaU4uICBJIHN1cHBvc2UgaXMgdXNlZnVsIGZvciBhIGJ1ZGdldCBtb2RlbCBvZiB0aGUgTjMwCisJICogd2l0aCBubyBibHVldG9vaC4gIEl0IGRvZXNuJ3QgaHVydCB0byBoYXZlIHRoZSBwdWxsIHVwcworCSAqIGVuYWJsZWQgb24gdGhlIE4zNSwgc28gbGVhdmUgdGhlbSBlbmFibGVkIGZvciBhbGwgbW9kZWxzLgorCSAqLworCV9fcmF3X3dyaXRlbCgweDAwMjhhYWFhLCBTM0MyNDEwX0dQSENPTik7CisJX19yYXdfd3JpdGVsKDB4MDAwMDA1ZWYsIFMzQzI0MTBfR1BIREFUKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDYzZiwgUzNDMjQxMF9HUEhVUCk7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBuMzBfbWFwX2lvKHZvaWQpCiB7CiAJczNjMjR4eF9pbml0X2lvKG4zMF9pb2Rlc2MsIEFSUkFZX1NJWkUobjMwX2lvZGVzYykpOworCW4zMF9od2luaXQoKTsKIAlzM2MyNHh4X2luaXRfY2xvY2tzKDApOwogCXMzYzI0eHhfaW5pdF91YXJ0cyhuMzBfdWFydGNmZ3MsIEFSUkFZX1NJWkUobjMwX3VhcnRjZmdzKSk7CiB9CkBAIC0xMDYsNyArNTAwLDkgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG4zMF9pbml0KHZvaWQpCiB7CisJczNjMjR4eF9mYl9zZXRfcGxhdGRhdGEoJm4zMF9mYl9pbmZvKTsKIAlzM2NfZGV2aWNlX2kyYy5kZXYucGxhdGZvcm1fZGF0YSA9ICZuMzBfaTJjY2ZnOworCXMzYzI0eHhfdWRjX3NldF9wbGF0ZGF0YSgmbjMwX3VkY19jZmcpOwogCiAJLyogVHVybiBvZmYgc3VzcGVuZCBvbiBib3RoIFVTQiBwb3J0cywgYW5kIHN3aXRjaCB0aGUKIAkgKiBzZWxlY3RhYmxlIFVTQiBwb3J0IHRvIFVTQiBkZXZpY2UgbW9kZS4gKi8KQEAgLTExNSw3ICs1MTEsMzIgQEAKIAkJCSAgICAgIFMzQzI0MTBfTUlTQ0NSX1VTQlNVU1BORDAgfAogCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMSwgMHgwKTsKIAotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG4zMF9kZXZpY2VzLCBBUlJBWV9TSVpFKG4zMF9kZXZpY2VzKSk7CisJaWYgKG1hY2hpbmVfaXNfbjMwKCkpIHsKKwkJLyogVHVybiBvZmYgc3VzcGVuZCBvbiBib3RoIFVTQiBwb3J0cywgYW5kIHN3aXRjaCB0aGUKKwkJICogc2VsZWN0YWJsZSBVU0IgcG9ydCB0byBVU0IgZGV2aWNlIG1vZGUuICovCisJCXMzYzI0MTBfbW9kaWZ5X21pc2NjcihTM0MyNDEwX01JU0NDUl9VU0JIT1NUIHwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQwIHwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxLCAweDApOworCisJCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG4zMF9kZXZpY2VzLCBBUlJBWV9TSVpFKG4zMF9kZXZpY2VzKSk7CisJfQorCisJaWYgKG1hY2hpbmVfaXNfbjM1KCkpIHsKKwkJLyogVHVybiBvZmYgc3VzcGVuZCBhbmQgc3dpdGNoIHRoZSBzZWxlY3RhYmxlIFVTQiBwb3J0CisJCSAqIHRvIFVTQiBkZXZpY2UgbW9kZS4gIFR1cm4gb24gc3VzcGVuZCBmb3IgdGhlIGhvc3QKKwkJICogcG9ydCBzaW5jZSBpdCBpcyBub3QgY29ubmVjdGVkIG9uIHRoZSBOMzUuCisJCSAqCisJCSAqIEFjdHVhbGx5LCB0aGUgaG9zdCBwb3J0IGlzIGF2YWlsYWJsZSBhdCBzb21lIHBhZHMKKwkJICogb24gdGhlIGJhY2sgb2YgdGhlIGRldmljZSwgc28gaXQgd291bGQgYWN0dWFsbHkgYmUKKwkJICogcG9zc2libGUgdG8gYWRkIGEgVVNCIGRldmljZSBpbnNpZGUgdGhlIE4zNSBpZiB5b3UKKwkJICogYXJlIHdpbGxpbmcgdG8gZG8gc29tZSBoYXJkd2FyZSBtb2RpZmljYXRpb25zLiAqLworCQlzM2MyNDEwX21vZGlmeV9taXNjY3IoUzNDMjQxMF9NSVNDQ1JfVVNCSE9TVCB8CisJCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMCB8CisJCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMSwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxKTsKKworCQlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhuMzVfZGV2aWNlcywgQVJSQVlfU0laRShuMzVfZGV2aWNlcykpOworCX0KIH0KIAogTUFDSElORV9TVEFSVChOMzAsICJBY2VyLU4zMCIpCkBAIC0xMzEsOSArNTUyLDE0IEBACiAJLm1hcF9pbwkJPSBuMzBfbWFwX2lvLAogTUFDSElORV9FTkQKIAotLyoKLSAgICBMb2NhbCB2YXJpYWJsZXM6Ci0gICAgICAgIGNvbXBpbGUtY29tbWFuZDogIm1ha2UgQVJDSD1hcm0gQ1JPU1NfQ09NUElMRT0vdXNyL2xvY2FsL2FybS8zLjMuMi9iaW4vYXJtLWxpbnV4LSAtayAtQyAuLi8uLi8uLiIKLSAgICAgICAgYy1iYXNpYy1vZmZzZXQ6IDgKLSAgICBFbmQ6Ci0qLworTUFDSElORV9TVEFSVChOMzUsICJBY2VyLU4zNSIpCisJLyogTWFpbnRhaW5lcjogQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgorCSovCisJLnBoeXNfaW8JPSBTM0MyNDEwX1BBX1VBUlQsCisJLmlvX3BnX29mZnN0CT0gKCgodTMyKVMzQzI0WFhfVkFfVUFSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IFMzQzI0MTBfU0RSQU1fUEEgKyAweDEwMCwKKwkudGltZXIJCT0gJnMzYzI0eHhfdGltZXIsCisJLmluaXRfbWFjaGluZQk9IG4zMF9pbml0LAorCS5pbml0X2lycQk9IG4zMF9pbml0X2lycSwKKwkubWFwX2lvCQk9IG4zMF9tYXBfaW8sCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtdnIxMDAwLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYwppbmRleCA0YzRiNWM0Li45YTA5NjVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLXZyMTAwMC5jCiAgKgotICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICogICBCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CiAgKgogICogTWFjaGluZSBzdXBwb3J0IGZvciBUaG9yY29tIFZSMTAwMCBib2FyZC4gRGVzaWduZWQgZm9yIFRob3Jjb20gYnkKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kbTkwMDAuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgpAQCAtNDYsNyArNDcsOSBAQAogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorCiAjaW5jbHVkZSAidXNiLXNpbXRlYy5oIgorI2luY2x1ZGUgIm5vci1zaW10ZWMuaCIKIAogLyogbWFjcm9zIGZvciB2aXJ0dWFsIGFkZHJlc3MgbW9kcyBmb3IgdGhlIGlvIHNwYWNlIGVudHJpZXMgKi8KICNkZWZpbmUgVkFfQzUoaXRlbSkgKCh1bnNpZ25lZCBsb25nKShpdGVtKSArIEJBU1RfVkFNX0NTNSkKQEAgLTk3LDM0ICsxMDAsNiBAQAogCSAgLmxlbmd0aAk9IFNaXzFNLAogCSAgLnR5cGUJCT0gTVRfREVWSUNFLAogICB9LAotCi0gIC8qIHBlcmlwaGVyYWwgc3BhY2UuLi4gb25lIGZvciBlYWNoIG9mIGZhc3Qvc2xvdy9ieXRlLzE2Yml0ICovCi0gIC8qIG5vdGUsIGlkZSBpcyBvbmx5IGRlY29kZWQgaW4gd29yZCBzcGFjZSwgZXZlbiB0aG91Z2ggc29tZSByZWdpc3RlcnMKLSAgICogYXJlIG9ubHkgOGJpdCAqLwotCi0gIC8qIHNsb3csIGJ5dGUgKi8KLSAgeyBWQV9DMihWUjEwMDBfVkFfSURFUFJJKSwgIFBBX0NTMyhWUjEwMDBfUEFfSURFUFJJKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKFZSMTAwMF9WQV9JREVTRUMpLCAgUEFfQ1MzKFZSMTAwMF9QQV9JREVTRUMpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoVlIxMDAwX1ZBX0lERVBSSUFVWCksIFBBX0NTMyhWUjEwMDBfUEFfSURFUFJJQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKFZSMTAwMF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoVlIxMDAwX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLQotICAvKiBzbG93LCB3b3JkICovCi0gIHsgVkFfQzMoVlIxMDAwX1ZBX0lERVBSSSksICBQQV9DUzMoVlIxMDAwX1BBX0lERVBSSSksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhWUjEwMDBfVkFfSURFU0VDKSwgIFBBX0NTMyhWUjEwMDBfUEFfSURFU0VDKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKFZSMTAwMF9WQV9JREVQUklBVVgpLCBQQV9DUzMoVlIxMDAwX1BBX0lERVBSSUFVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhWUjEwMDBfVkFfSURFU0VDQVVYKSwgUEFfQ1MzKFZSMTAwMF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0KLSAgLyogZmFzdCwgYnl0ZSAqLwotICB7IFZBX0M0KFZSMTAwMF9WQV9JREVQUkkpLCAgUEFfQ1M1KFZSMTAwMF9QQV9JREVQUkkpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoVlIxMDAwX1ZBX0lERVNFQyksICBQQV9DUzUoVlIxMDAwX1BBX0lERVNFQyksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChWUjEwMDBfVkFfSURFUFJJQVVYKSwgUEFfQ1M1KFZSMTAwMF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoVlIxMDAwX1ZBX0lERVNFQ0FVWCksIFBBX0NTNShWUjEwMDBfUEFfSURFU0VDQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotCi0gIC8qIGZhc3QsIHdvcmQgKi8KLSAgeyBWQV9DNShWUjEwMDBfVkFfSURFUFJJKSwgIFBBX0NTNShWUjEwMDBfUEFfSURFUFJJKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KFZSMTAwMF9WQV9JREVTRUMpLCAgUEFfQ1M1KFZSMTAwMF9QQV9JREVTRUMpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoVlIxMDAwX1ZBX0lERVBSSUFVWCksIFBBX0NTNShWUjEwMDBfUEFfSURFUFJJQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KFZSMTAwMF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoVlIxMDAwX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKIH07CiAKICNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVCB8IFMzQzI0MTBfVUNPTl9VQ0xLCkBAIC0yMzAsMjMgKzIwNSw2IEBACiAJfSwKIH07CiAKLS8qIE1URCBOT1IgRmxhc2ggKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2cjEwMDBfbm9yX3Jlc291cmNlW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQJPSBTM0MyNDEwX0NTMSArIDB4NDAwMDAwMCwKLQkJLmVuZAk9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwICsgU1pfMTZNIC0gMSwKLQkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCi0JfQotfTsKLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdnIxMDAwX25vciA9IHsKLQkubmFtZQkJPSAiYmFzdC1ub3IiLAotCS5pZAkJPSAtMSwKLQkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUodnIxMDAwX25vcl9yZXNvdXJjZSksCi0JLnJlc291cmNlCT0gdnIxMDAwX25vcl9yZXNvdXJjZSwKLX07Ci0KIC8qIERNOTAwMCBldGhlcm5ldCBkZXZpY2VzICovCiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdnIxMDAwX2RtOWswX3Jlc291cmNlW10gPSB7CkBAIC0yNjMsNyArMjIxLDcgQEAKIAlbMl0gPSB7CiAJCS5zdGFydCA9IElSUV9WUjEwMDBfRE05MDAwQSwKIAkJLmVuZCAgID0gSVJRX1ZSMTAwMF9ETTkwMDBBLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiAKIH07CkBAIC0yODIsNyArMjQwLDcgQEAKIAlbMl0gPSB7CiAJCS5zdGFydCA9IElSUV9WUjEwMDBfRE05MDAwTiwKIAkJLmVuZCAgID0gSVJRX1ZSMTAwMF9ETTkwMDBOLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiB9OwogCkBAIC0zNTgsNiArMzE2LDE4IEBACiAJfSwKIH07CiAKKy8qIEkyQyBkZXZpY2VzLiAqLworCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIHZyMTAwMF9pMmNfZGV2c1tdIF9faW5pdGRhdGEgPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygidGx2MzIwYWljMjMiLCAweDFhKSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJ0bXAxMDEiLCAweDQ4KSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJtNDFzdDg3IiwgMHg2OCksCisJfSwKK307CisKIC8qIGRldmljZXMgZm9yIHRoaXMgYm9hcmQgKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnZyMTAwMF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTM2Nyw3ICszMzcsNiBAQAogCSZzM2NfZGV2aWNlX2kyYywKIAkmczNjX2RldmljZV9hZGMsCiAJJnNlcmlhbF9kZXZpY2UsCi0JJnZyMTAwMF9ub3IsCiAJJnZyMTAwMF9kbTlrMCwKIAkmdnIxMDAwX2RtOWsxLAogCSZ2cjEwMDBfbGVkMSwKQEAgLTQxNiw2ICszODUsMTEgQEAKIHN0YXRpYyB2b2lkIF9faW5pdCB2cjEwMDBfaW5pdCh2b2lkKQogewogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHZyMTAwMF9kZXZpY2VzLCBBUlJBWV9TSVpFKHZyMTAwMF9kZXZpY2VzKSk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCB2cjEwMDBfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRSh2cjEwMDBfaTJjX2RldnMpKTsKKworCW5vcl9zaW10ZWNfaW5pdCgpOwogfQogCiBNQUNISU5FX1NUQVJUKFZSMTAwMCwgIlRob3Jjb20tVlIxMDAwIikKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbm9yLXNpbXRlYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NGUyMWIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbm9yLXNpbXRlYy5jCkBAIC0wLDAgKzEsODYgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIFNpbXRlYyBOT1IgbWFwcGluZworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2Jhc3QtbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYmFzdC1jcGxkLmg+CisKKworc3RhdGljIHZvaWQgc2ltdGVjX25vcl92cHAoc3RydWN0IG1hcF9pbmZvICptYXAsIGludCB2cHApCit7CisJdW5zaWduZWQgaW50IHZhbDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCXZhbCA9IF9fcmF3X3JlYWRiKEJBU1RfVkFfQ1RSTDMpOworCisJcHJpbnRrKEtFUk5fREVCVUcgIiVzKCVkKVxuIiwgX19mdW5jX18sIHZwcCk7CisKKwlpZiAodnBwKQorCQl2YWwgfD0gQkFTVF9DUExEX0NUUkwzX1JPTVdFTjsKKwllbHNlCisJCXZhbCAmPSB+QkFTVF9DUExEX0NUUkwzX1JPTVdFTjsKKworCV9fcmF3X3dyaXRlYih2YWwsIEJBU1RfVkFfQ1RSTDMpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBzaW10ZWNfbm9yX3BkYXRhID0geworCS53aWR0aAkJPSAyLAorCS5zZXRfdnBwCT0gc2ltdGVjX25vcl92cHAsCisJLm5yX3BhcnRzCT0gMCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc2ltdGVjX25vcl9yZXNvdXJjZVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ID0gUzNDMjQxMF9DUzEgKyAweDQwMDAwMDAsCisJCS5lbmQgICA9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwICsgU1pfOE0gLSAxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBzaW10ZWNfZGV2aWNlX25vciA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShzaW10ZWNfbm9yX3Jlc291cmNlKSwKKwkucmVzb3VyY2UJPSBzaW10ZWNfbm9yX3Jlc291cmNlLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZzaW10ZWNfbm9yX3BkYXRhLAorCX0sCit9OworCit2b2lkIF9faW5pdCBub3Jfc2ltdGVjX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZzaW10ZWNfZGV2aWNlX25vcik7CisJaWYgKHJldCA8IDApCisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIHJlZ2lzdGVyIHBoeXNtYXAtZmxhc2ggZGV2aWNlXG4iKTsKKwllbHNlCisJCXNpbXRlY19ub3JfdnBwKE5VTEwsIDEpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuaCBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxOWMxZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmgKQEAgLTAsMCArMSwxNCBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuaAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CisgKgorICogU2ltdGVjIE5PUiBtYXBwaW5nCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKK2V4dGVybiB2b2lkIG5vcl9zaW10ZWNfaW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMi9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKaW5kZXggMGI0MzQzMS4uYzU5YTlkMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKQEAgLTM0LDYgKzM0LDE2IEBACiAKIG1lbnUgIlMzQzI0MTIgTWFjaGluZXMiCiAKK2NvbmZpZyBNQUNIX0pJVkUKKwlib29sICJMb2dpdGVjaCBKaXZlIgorCXNlbGVjdCBDUFVfUzNDMjQxMgorCWhlbHAKKwkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgTG9naXRlY2ggSml2ZS4KKworY29uZmlnIE1BQ0hfSklWRV9TSE9XX0JPT1RMT0FERVIKKwlib29sICJBbGxvdyBhY2Nlc3MgdG8gYm9vdGxvYWRlciBwYXJ0aXRpb25zIGluIE1URCIKKwlkZXBlbmRzIG9uIE1BQ0hfSklWRSAmJiBFWFBFUklNRU5UQUwKKwogY29uZmlnIE1BQ0hfU01ESzI0MTMKIAlib29sICJTTURLMjQxMyIKIAlzZWxlY3QgQ1BVX1MzQzI0MTIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMi9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtczNjMjQxMi9NYWtlZmlsZQppbmRleCAyNjdmMzM0Li4yMDkxOGQ1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL01ha2VmaWxlCkBAIC0xOCw1ICsxOCw2IEBACiAKICMgTWFjaGluZSBzdXBwb3J0CiAKK29iai0kKENPTkZJR19NQUNIX0pJVkUpCQkrPSBtYWNoLWppdmUubwogb2JqLSQoQ09ORklHX01BQ0hfU01ESzI0MTMpCSs9IG1hY2gtc21kazI0MTMubwogb2JqLSQoQ09ORklHX01BQ0hfVlNUTVMpCSs9IG1hY2gtdnN0bXMubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYwppbmRleCAyNjk3YTY1Li4xMTU3YjVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYwpAQCAtNjMxLDYgKzYzMSwxNyBAQAogCQkuYml0CT0gUzNDMjQxMl9DTEtTUkNfVVNCQ0xLX0hDTEssCiAJCS5zcmNfMAk9ICZjbGtfdXN5c2NsaywKIAkJLnNyY18xCT0gJmNsa19oLAorCS8qIGhlcmUgd2UgYXNzdW1lICBPTVs0XSBzZWxlY3QgeHRhbCAqLworCX0sIHsKKwkJLmNsawk9ICZjbGtfZXJlZmNsaywKKwkJLmJpdAk9IFMzQzI0MTJfQ0xLU1JDX0VSRUZDTEtfRVhUQ0xLLAorCQkuc3JjXzAJPSAmY2xrX3h0YWwsCisJCS5zcmNfMQk9ICZjbGtfZXh0LAorCX0sIHsKKwkJLmNsawk9ICZjbGtfdXJlZmNsaywKKwkJLmJpdAk9IFMzQzI0MTJfQ0xLU1JDX1VSRUZDTEtfRVhUQ0xLLAorCQkuc3JjXzAJPSAmY2xrX3h0YWwsCisJCS5zcmNfMQk9ICZjbGtfZXh0LAogCX0sCiB9OwogCkBAIC02NjYsOCArNjc3LDYgQEAKIHN0YXRpYyBzdHJ1Y3QgY2xrICpjbGtzW10gX19pbml0ZGF0YSA9IHsKIAkmY2xrX2V4dCwKIAkmY2xrX3VzYl9idXMsCi0JJmNsa19lcmVmY2xrLAotCSZjbGtfdXJlZmNsaywKIAkmY2xrX21yZWZjbGssCiAJJmNsa19hcm1jbGssCiB9OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL21hY2gtaml2ZS5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL21hY2gtaml2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNTkyNDcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvbWFjaC1qaXZlLmMKQEAgLTAsMCArMSw2ODcgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLWppdmUuYworICoKKyAqIENvcHlyaWdodCAyMDA3IFNpbXRlYyBFbGVjdHJvbmljcworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIGh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisKKyNpbmNsdWRlIDx2aWRlby9pbGk5MzIwLmg+CisKKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisKKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9uYW5kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL2lpYy5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1wb3dlci5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbWVtLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1sY2QuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9zcGktZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2ZiLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorCisjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmRfZWNjLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvcG0uaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3VkYy5oPgorCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGppdmVfaW9kZXNjW10gX19pbml0ZGF0YSA9IHsKK307CisKKyNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVAorI2RlZmluZSBVTENPTiBTM0MyNDEwX0xDT05fQ1M4IHwgUzNDMjQxMF9MQ09OX1BOT05FCisjZGVmaW5lIFVGQ09OIFMzQzI0MTBfVUZDT05fUlhUUklHOCB8IFMzQzI0MTBfVUZDT05fRklGT01PREUKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgaml2ZV91YXJ0Y2Znc1tdID0geworCVswXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMCwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9LAorCVsxXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMSwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9LAorCVsyXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMiwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9Cit9OworCisvKiBKaXZlIGZsYXNoIGFzc2lnbm1lbnQKKyAqCisgKiAweDAwMDAwMDAwLTB4MDAwMjgwMDAgOiB1Ym9vdAorICogMHgwMDAyODAwMC0weDAwMDJjMDAwIDogdWJvb3QgZW52CisgKiAweDAwMDJjMDAwLTB4MDAwMzAwMDAgOiBzcGFyZQorICogMHgwMDAzMDAwMC0weDAwMjAwMDAwIDogemltYWdlIEEKKyAqIDB4MDAyMDAwMDAtMHgwMTYwMDAwMCA6IGNyYW1mcyBBCisgKiAweDAxNjAwMDAwLTB4MDE3ZDAwMDAgOiB6aW1hZ2UgQgorICogMHgwMTdkMDAwMC0weDAyYmQwMDAwIDogY3JhbWZzIEIKKyAqIDB4MDJiZDAwMDAtMHgwM2ZkMDAwMCA6IHlhZmZzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBqaXZlX2ltYWdlQV9uYW5kX3BhcnRbXSA9IHsKKworI2lmZGVmIENPTkZJR19NQUNIX0pJVkVfU0hPV19CT09UTE9BREVSCisJLyogRG9uJ3QgYWxsb3cgYWNjZXNzIHRvIHRoZSBib290bG9hZGVyIGZyb20gbGludXggKi8KKwl7CisJCS5uYW1lICAgICAgICAgICA9ICJ1Ym9vdCIsCisJCS5vZmZzZXQgICAgICAgICA9IDAsCisJCS5zaXplICAgICAgICAgICA9ICgxNjAgKiBTWl8xSyksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisJfSwKKworCS8qIHNwYXJlICovCisgICAgICAgIHsKKyAgICAgICAgICAgICAgICAubmFtZSAgICAgICAgICAgPSAic3BhcmUiLAorICAgICAgICAgICAgICAgIC5vZmZzZXQgICAgICAgICA9ICgxNzYgKiBTWl8xSyksCisgICAgICAgICAgICAgICAgLnNpemUgICAgICAgICAgID0gKDE2ICogU1pfMUspLAorICAgICAgICB9LAorI2VuZGlmCisKKwkvKiBib290ZWQgaW1hZ2VzICovCisgICAgICAgIHsKKwkJLm5hbWUJCT0gImtlcm5lbCAocm8pIiwKKwkJLm9mZnNldAkJPSAoMTkyICogU1pfMUspLAorCQkuc2l6ZQkJPSAoU1pfMk0pIC0gKDE5MiAqIFNaXzFLKSwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLCAvKiBmb3JjZSByZWFkLW9ubHkgKi8KKyAgICAgICAgfSwgeworICAgICAgICAgICAgICAgIC5uYW1lICAgICAgICAgICA9ICJyb290IChybykiLAorICAgICAgICAgICAgICAgIC5vZmZzZXQgICAgICAgICA9IChTWl8yTSksCisgICAgICAgICAgICAgICAgLnNpemUgICAgICAgICAgID0gKDIwICogU1pfMU0pLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworICAgICAgICB9LAorCisJLyogeWFmZnMgKi8KKwl7CisJCS5uYW1lCQk9ICJ5YWZmcyIsCisJCS5vZmZzZXQJCT0gKDQ0ICogU1pfMU0pLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisJfSwKKworCS8qIGJvb3Rsb2FkZXIgZW52aXJvbm1lbnQgKi8KKwl7CisgICAgICAgICAgICAgICAgLm5hbWUJCT0gImVudiIsCisJCS5vZmZzZXQJCT0gKDE2MCAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDE2ICogU1pfMUspLAorCX0sCisKKwkvKiB1cGdyYWRlIGltYWdlcyAqLworICAgICAgICB7CisJCS5uYW1lCQk9ICJ6aW1hZ2UiLAorCQkub2Zmc2V0CQk9ICgyMiAqIFNaXzFNKSwKKwkJLnNpemUJCT0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorICAgICAgICB9LCB7CisJCS5uYW1lCQk9ICJjcmFtZnMiLAorCQkub2Zmc2V0CQk9ICgyNCAqIFNaXzFNKSAtICgxOTIqU1pfMUspLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisgICAgICAgIH0sCit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gaml2ZV9pbWFnZUJfbmFuZF9wYXJ0W10gPSB7CisKKyNpZmRlZiBDT05GSUdfTUFDSF9KSVZFX1NIT1dfQk9PVExPQURFUgorCS8qIERvbid0IGFsbG93IGFjY2VzcyB0byB0aGUgYm9vdGxvYWRlciBmcm9tIGxpbnV4ICovCisJeworCQkubmFtZSAgICAgICAgICAgPSAidWJvb3QiLAorCQkub2Zmc2V0ICAgICAgICAgPSAwLAorCQkuc2l6ZSAgICAgICAgICAgPSAoMTYwICogU1pfMUspLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworCX0sCisKKwkvKiBzcGFyZSAqLworICAgICAgICB7CisgICAgICAgICAgICAgICAgLm5hbWUgICAgICAgICAgID0gInNwYXJlIiwKKyAgICAgICAgICAgICAgICAub2Zmc2V0ICAgICAgICAgPSAoMTc2ICogU1pfMUspLAorICAgICAgICAgICAgICAgIC5zaXplICAgICAgICAgICA9ICgxNiAqIFNaXzFLKSwKKyAgICAgICAgfSwKKyNlbmRpZgorCisJLyogYm9vdGVkIGltYWdlcyAqLworICAgICAgICB7CisJCS5uYW1lICAgICAgICAgICA9ICJrZXJuZWwgKHJvKSIsCisJCS5vZmZzZXQgICAgICAgICA9ICgyMiAqIFNaXzFNKSwKKwkJLnNpemUgICAgICAgICAgID0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworICAgICAgICB9LAorCXsKKwkJLm5hbWUJCT0gInJvb3QgKHJvKSIsCisJCS5vZmZzZXQJCT0gKDI0ICogU1pfMU0pIC0gKDE5MiAqIFNaXzFLKSwKKyAgICAgICAgICAgICAgICAuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisJfSwKKworCS8qIHlhZmZzICovCisJeworCQkubmFtZQkJPSAieWFmZnMiLAorCQkub2Zmc2V0CQk9ICg0NCAqIFNaXzFNKSwKKwkJLnNpemUJCT0gKDIwICogU1pfMU0pLAorICAgICAgICB9LAorCisJLyogYm9vdGxvYWRlciBlbnZpcm9ubWVudCAqLworCXsKKwkJLm5hbWUJCT0gImVudiIsCisJCS5vZmZzZXQJCT0gKDE2MCAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDE2ICogU1pfMUspLAorCX0sCisKKwkvKiB1cGdyYWRlIGltYWdlcyAqLworCXsKKwkJLm5hbWUJCT0gInppbWFnZSIsCisJCS5vZmZzZXQJCT0gKDE5MiAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorICAgICAgICB9LCB7CisJCS5uYW1lCQk9ICJjcmFtZnMiLAorCQkub2Zmc2V0CQk9ICgyICogU1pfMU0pLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisgICAgICAgIH0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfbmFuZF9zZXQgaml2ZV9uYW5kX3NldHNbXSA9IHsKKwlbMF0gPSB7CisJCS5uYW1lICAgICAgICAgICA9ICJmbGFzaCIsCisJCS5ucl9jaGlwcyAgICAgICA9IDEsCisJCS5ucl9wYXJ0aXRpb25zICA9IEFSUkFZX1NJWkUoaml2ZV9pbWFnZUFfbmFuZF9wYXJ0KSwKKwkJLnBhcnRpdGlvbnMgICAgID0gaml2ZV9pbWFnZUFfbmFuZF9wYXJ0LAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfcGxhdGZvcm1fbmFuZCBqaXZlX25hbmRfaW5mbyA9IHsKKwkvKiBzZXQgdGFrZW4gZnJvbSBvc2lyaXMgbmFuZCB0aW1pbmdzLCBwb3NzaWJseSBzdGlsbCBjb25zZXJ2YXRpdmUgKi8KKwkudGFjbHMJCT0gMzAsCisJLnR3cnBoMAkJPSA1NSwKKwkudHdycGgxCQk9IDQwLAorCS5zZXRzCQk9IGppdmVfbmFuZF9zZXRzLAorCS5ucl9zZXRzCT0gQVJSQVlfU0laRShqaXZlX25hbmRfc2V0cyksCit9OworCitzdGF0aWMgaW50IF9faW5pdCBqaXZlX210ZHNldChjaGFyICpvcHRpb25zKQoreworCXN0cnVjdCBzM2MyNDEwX25hbmRfc2V0ICpuYW5kID0gJmppdmVfbmFuZF9zZXRzWzBdOworCXVuc2lnbmVkIGxvbmcgc2V0OworCisJaWYgKG9wdGlvbnMgPT0gTlVMTCB8fCBvcHRpb25zWzBdID09ICdcMCcpCisJCXJldHVybiAwOworCisJaWYgKHN0cmljdF9zdHJ0b3VsKG9wdGlvbnMsIDEwLCAmc2V0KSkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBwYXJzZSBtdGRzZXQ9JXNcbiIsIG9wdGlvbnMpOworCQlyZXR1cm4gMDsKKwl9CisKKwlzd2l0Y2ggKHNldCkgeworCWNhc2UgMToKKwkJbmFuZC0+bnJfcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoaml2ZV9pbWFnZUJfbmFuZF9wYXJ0KTsKKwkJbmFuZC0+cGFydGl0aW9ucyA9IGppdmVfaW1hZ2VCX25hbmRfcGFydDsKKwljYXNlIDA6CisJCS8qIHRoaXMgaXMgYWxyZWFkeSBzZXR1cCBpbiB0aGUgbmFuZCBpbmZvICovCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAiVW5rbm93biBtdGQgc2V0ICVsZCBzcGVjaWZpZWQsIgorCQkgICAgICAgInVzaW5nIGRlZmF1bHQuIiwgc2V0KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogcGFyc2UgdGhlIG10ZHNldD0gb3B0aW9uIGdpdmVuIHRvIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lICovCitfX3NldHVwKCJtdGRzZXQ9Iiwgaml2ZV9tdGRzZXQpOworCisvKiBMQ0QgdGltaW5nIGFuZCBzZXR1cCAqLworCisjZGVmaW5lIExDRF9YUkVTCSAoMjQwKQorI2RlZmluZSBMQ0RfWVJFUwkgKDMyMCkKKyNkZWZpbmUgTENEX0xFRlRfTUFSR0lOICAoMTIpCisjZGVmaW5lIExDRF9SSUdIVF9NQVJHSU4gKDEyKQorI2RlZmluZSBMQ0RfTE9XRVJfTUFSR0lOICgxMikKKyNkZWZpbmUgTENEX1VQUEVSX01BUkdJTiAoMTIpCisjZGVmaW5lIExDRF9WU1lOQwkgKDIpCisjZGVmaW5lIExDRF9IU1lOQwkgKDIpCisKKyNkZWZpbmUgTENEX1JFRlJFU0gJICg2MCkKKworI2RlZmluZSBMQ0RfSFRPVCAoTENEX0hTWU5DICsgTENEX0xFRlRfTUFSR0lOICsgTENEX1hSRVMgKyBMQ0RfUklHSFRfTUFSR0lOKQorI2RlZmluZSBMQ0RfVlRPVCAoTENEX1ZTWU5DICsgTENEX0xPV0VSX01BUkdJTiArIExDRF9ZUkVTICsgTENEX1VQUEVSX01BUkdJTikKKworc3RydWN0IHMzYzI0MTBmYl9kaXNwbGF5IGppdmVfdmdnMjQzMmE0X2Rpc3BsYXlbXSA9IHsKKwlbMF0gPSB7CisJCS53aWR0aAkJPSBMQ0RfWFJFUywKKwkJLmhlaWdodAkJPSBMQ0RfWVJFUywKKwkJLnhyZXMJCT0gTENEX1hSRVMsCisJCS55cmVzCQk9IExDRF9ZUkVTLAorCQkubGVmdF9tYXJnaW4JPSBMQ0RfTEVGVF9NQVJHSU4sCisJCS5yaWdodF9tYXJnaW4JPSBMQ0RfUklHSFRfTUFSR0lOLAorCQkudXBwZXJfbWFyZ2luCT0gTENEX1VQUEVSX01BUkdJTiwKKwkJLmxvd2VyX21hcmdpbgk9IExDRF9MT1dFUl9NQVJHSU4sCisJCS5oc3luY19sZW4JPSBMQ0RfSFNZTkMsCisJCS52c3luY19sZW4JPSBMQ0RfVlNZTkMsCisKKwkJLnBpeGNsb2NrCT0gKDEwMDAwMDAwMDAwMDBMTCAvCisJCQkJICAgKExDRF9SRUZSRVNIICogTENEX0hUT1QgKiBMQ0RfVlRPVCkpLAorCisJCS5icHAJCT0gMTYsCisJCS50eXBlCQk9IChTM0MyNDEwX0xDRENPTjFfVEZUMTZCUFAgfAorCQkJCSAgIFMzQzI0MTBfTENEQ09OMV9URlQpLAorCisJCS5sY2Rjb241CT0gKFMzQzI0MTBfTENEQ09ONV9GUk01NjUgfAorCQkJCSAgIFMzQzI0MTBfTENEQ09ONV9JTlZWTElORSB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT041X0lOVlZGUkFNRSB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT041X0lOVlZERU4gfAorCQkJCSAgIFMzQzI0MTBfTENEQ09ONV9QV1JFTiksCisJfSwKK307CisKKy8qIHRvZG8gLSBwdXQgaW50byBncGlvIGhlYWRlciAqLworCisjZGVmaW5lIFMzQzI0MTBfR1BDQ09OX01BU0soeCkJKDMgPDwgKCh4KSAqIDIpKQorI2RlZmluZSBTM0MyNDEwX0dQRENPTl9NQVNLKHgpCSgzIDw8ICgoeCkgKiAyKSkKKworc3RydWN0IHMzYzI0MTBmYl9tYWNoX2luZm8gaml2ZV9sY2RfY29uZmlnID0geworCS5kaXNwbGF5cwkgPSBqaXZlX3ZnZzI0MzJhNF9kaXNwbGF5LAorCS5udW1fZGlzcGxheXMJID0gQVJSQVlfU0laRShqaXZlX3ZnZzI0MzJhNF9kaXNwbGF5KSwKKwkuZGVmYXVsdF9kaXNwbGF5ID0gMCwKKworCS8qIEVuYWJsZSBWRFsyLi43XSwgVkRbMTAuLjE1XSwgVkRbMTguLjIzXSBhbmQgVkNMSywgc3luY3MsIFZERU4KKwkgKiBhbmQgZGlzYWJsZSB0aGUgcHVsbCBkb3duIHJlc2lzdG9ycyBvbiBwaW5zIHdlIGFyZSB1c2luZyBmb3IgTENECisJICogZGF0YS4gKi8KKworCS5ncGN1cAkJPSAoMHhmIDw8IDEpIHwgKDB4M2YgPDwgMTApLAorCisJLmdwY2NvbgkJPSAoUzNDMjQxMF9HUEMxX1ZDTEsgICB8IFMzQzI0MTBfR1BDMl9WTElORSB8CisJCQkgICBTM0MyNDEwX0dQQzNfVkZSQU1FIHwgUzNDMjQxMF9HUEM0X1ZNIHwKKwkJCSAgIFMzQzI0MTBfR1BDMTBfVkQyICAgfCBTM0MyNDEwX0dQQzExX1ZEMyB8CisJCQkgICBTM0MyNDEwX0dQQzEyX1ZENCAgIHwgUzNDMjQxMF9HUEMxM19WRDUgfAorCQkJICAgUzNDMjQxMF9HUEMxNF9WRDYgICB8IFMzQzI0MTBfR1BDMTVfVkQ3KSwKKworCS5ncGNjb25fbWFzawk9IChTM0MyNDEwX0dQQ0NPTl9NQVNLKDEpICB8IFMzQzI0MTBfR1BDQ09OX01BU0soMikgIHwKKwkJCSAgIFMzQzI0MTBfR1BDQ09OX01BU0soMykgIHwgUzNDMjQxMF9HUENDT05fTUFTSyg0KSAgfAorCQkJICAgUzNDMjQxMF9HUENDT05fTUFTSygxMCkgfCBTM0MyNDEwX0dQQ0NPTl9NQVNLKDExKSB8CisJCQkgICBTM0MyNDEwX0dQQ0NPTl9NQVNLKDEyKSB8IFMzQzI0MTBfR1BDQ09OX01BU0soMTMpIHwKKwkJCSAgIFMzQzI0MTBfR1BDQ09OX01BU0soMTQpIHwgUzNDMjQxMF9HUENDT05fTUFTSygxNSkpLAorCisJLmdwZHVwCQk9ICgweDNmIDw8IDIpIHwgKDB4M2YgPDwgMTApLAorCisJLmdwZGNvbgkJPSAoUzNDMjQxMF9HUEQyX1ZEMTAgIHwgUzNDMjQxMF9HUEQzX1ZEMTEgfAorCQkJICAgUzNDMjQxMF9HUEQ0X1ZEMTIgIHwgUzNDMjQxMF9HUEQ1X1ZEMTMgfAorCQkJICAgUzNDMjQxMF9HUEQ2X1ZEMTQgIHwgUzNDMjQxMF9HUEQ3X1ZEMTUgfAorCQkJICAgUzNDMjQxMF9HUEQxMF9WRDE4IHwgUzNDMjQxMF9HUEQxMV9WRDE5IHwKKwkJCSAgIFMzQzI0MTBfR1BEMTJfVkQyMCB8IFMzQzI0MTBfR1BEMTNfVkQyMSB8CisJCQkgICBTM0MyNDEwX0dQRDE0X1ZEMjIgfCBTM0MyNDEwX0dQRDE1X1ZEMjMpLAorCisJLmdwZGNvbl9tYXNrCT0gKFMzQzI0MTBfR1BEQ09OX01BU0soMikgIHwgUzNDMjQxMF9HUERDT05fTUFTSygzKSB8CisJCQkgICBTM0MyNDEwX0dQRENPTl9NQVNLKDQpICB8IFMzQzI0MTBfR1BEQ09OX01BU0soNSkgfAorCQkJICAgUzNDMjQxMF9HUERDT05fTUFTSyg2KSAgfCBTM0MyNDEwX0dQRENPTl9NQVNLKDcpIHwKKwkJCSAgIFMzQzI0MTBfR1BEQ09OX01BU0soMTApIHwgUzNDMjQxMF9HUERDT05fTUFTSygxMSl8CisJCQkgICBTM0MyNDEwX0dQRENPTl9NQVNLKDEyKSB8IFMzQzI0MTBfR1BEQ09OX01BU0soMTMpfAorCQkJICAgUzNDMjQxMF9HUERDT05fTUFTSygxNCkgfCBTM0MyNDEwX0dQRENPTl9NQVNLKDE1KSksCit9OworCisvKiBJTEk5MzIwIHN1cHBvcnQuICovCisKK3N0YXRpYyB2b2lkIGppdmVfbGNtX3Jlc2V0KHVuc2lnbmVkIGludCBzZXQpCit7CisJcHJpbnRrKEtFUk5fREVCVUcgIiVzKCVkKVxuIiwgX19mdW5jX18sIHNldCk7CisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BHMTMsIHNldCk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQRzEzLCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKK30KKworI3VuZGVmIExDRF9VUFBFUl9NQVJHSU4KKyNkZWZpbmUgTENEX1VQUEVSX01BUkdJTiAyCisKK3N0YXRpYyBzdHJ1Y3QgaWxpOTMyMF9wbGF0ZGF0YSBqaXZlX2xjbV9jb25maWcgPSB7CisJLmhzaXplCQk9IExDRF9YUkVTLAorCS52c2l6ZQkJPSBMQ0RfWVJFUywKKworCS5yZXNldAkJPSBqaXZlX2xjbV9yZXNldCwKKwkuc3VzcGVuZAk9IElMSTkzMjBfU1VTUEVORF9ERUVQLAorCisJLmVudHJ5X21vZGUJPSBJTEk5MzIwX0VOVFJZTU9ERV9JRCgzKSB8IElMSTkzMjBfRU5UUllNT0RFX0JHUiwKKwkuZGlzcGxheTIJPSAoSUxJOTMyMF9ESVNQTEFZMl9GUChMQ0RfVVBQRVJfTUFSR0lOKSB8CisJCQkgICBJTEk5MzIwX0RJU1BMQVkyX0JQKExDRF9MT1dFUl9NQVJHSU4pKSwKKwkuZGlzcGxheTMJPSAweDAsCisJLmRpc3BsYXk0CT0gMHgwLAorCS5yZ2JfaWYxCT0gKElMSTkzMjBfUkdCSUYxX1JJTV9SR0IxOCB8CisJCQkgICBJTEk5MzIwX1JHQklGMV9STSB8IElMSTkzMjBfUkdCSUYxX0NMS19SR0JJRiksCisJLnJnYl9pZjIJPSBJTEk5MzIwX1JHQklGMl9EUEwsCisJLmludGVyZmFjZTIJPSAweDAsCisJLmludGVyZmFjZTMJPSAweDMsCisJLmludGVyZmFjZTQJPSAoSUxJOTMyMF9JTlRFUkZBQ0U0X1JUTkUoMTYpIHwKKwkJCSAgIElMSTkzMjBfSU5URVJGQUNFNF9ESVZFKDEpKSwKKwkuaW50ZXJmYWNlNQk9IDB4MCwKKwkuaW50ZXJmYWNlNgk9IDB4MCwKK307CisKKy8qIExDRCBTUEkgc3VwcG9ydCAqLworCitzdGF0aWMgdm9pZCBqaXZlX2xjZF9zcGlfY2hpcHNlbGVjdChzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gKnNwaSwgaW50IGNzKQoreworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEI3LCBjcyA/IDAgOiAxKTsKK30KKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3NwaWdwaW9faW5mbyBqaXZlX2xjZF9zcGkgPSB7CisJLmJ1c19udW0JPSAwLAorCS5waW5fY2xrCT0gUzNDMjQxMF9HUEc4LAorCS5waW5fbW9zaQk9IFMzQzI0MTBfR1BCOCwKKwkuY2hpcF9zZWxlY3QJPSBqaXZlX2xjZF9zcGlfY2hpcHNlbGVjdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGppdmVfZGV2aWNlX2xjZHNwaSA9IHsKKwkubmFtZQkJPSAiczNjMjR4eC1zcGktZ3BpbyIsCisJLmlkCQk9IDEsCisJLm51bV9yZXNvdXJjZXMgID0gMCwKKwkuZGV2LnBsYXRmb3JtX2RhdGEgPSAmaml2ZV9sY2Rfc3BpLAorfTsKKworLyogV004NzUwIGF1ZGlvIGNvZGUgU1BJIGRlZmluaXRpb24gKi8KKworc3RhdGljIHZvaWQgaml2ZV93bTg3NTBfY2hpcHNlbGVjdChzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gKnNwaSwgaW50IGNzKQoreworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEgxMCwgY3MgPyAwIDogMSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gaml2ZV93bTg3NTBfc3BpID0geworCS5idXNfbnVtCT0gMiwKKwkucGluX2Nsawk9IFMzQzI0MTBfR1BCNCwKKwkucGluX21vc2kJPSBTM0MyNDEwX0dQQjksCisJLmNoaXBfc2VsZWN0CT0gaml2ZV93bTg3NTBfY2hpcHNlbGVjdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGppdmVfZGV2aWNlX3dtODc1MCA9IHsKKwkubmFtZQkJPSAiczNjMjR4eC1zcGktZ3BpbyIsCisJLmlkCQk9IDIsCisJLm51bV9yZXNvdXJjZXMgID0gMCwKKwkuZGV2LnBsYXRmb3JtX2RhdGEgPSAmaml2ZV93bTg3NTBfc3BpLAorfTsKKworLyogSklWRSBTUEkgZGV2aWNlcy4gKi8KKworc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyBfX2luaXRkYXRhIGppdmVfc3BpX2RldnNbXSA9IHsKKwlbMF0gPSB7CisJCS5tb2RhbGlhcwk9ICJWR0cyNDMyQTQiLAorCQkuYnVzX251bQk9IDEsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tb2RlCQk9IFNQSV9NT0RFXzMsCS8qIENQT0w9MSwgQ1BIQT0xICovCisJCS5tYXhfc3BlZWRfaHoJPSAxMDAwMDAsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJmppdmVfbGNtX2NvbmZpZywKKwl9LCB7CisJCS5tb2RhbGlhcwk9ICJXTTg3NTAiLAorCQkuYnVzX251bQk9IDIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tb2RlCQk9IFNQSV9NT0RFXzAsCS8qIENQT0w9MCwgQ1BIQT0wICovCisJCS5tYXhfc3BlZWRfaHoJPSAxMDAwMDAsCisJfSwKK307CisKKy8qIEkyQyBidXMgYW5kIGRldmljZSBjb25maWd1cmF0aW9uLiAqLworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfcGxhdGZvcm1faTJjIGppdmVfaTJjX2NmZyA9IHsKKwkubWF4X2ZyZXEJPSA4MCAqIDEwMDAsCisJLmJ1c19mcmVxCT0gNTAgKiAxMDAwLAorCS5mbGFncwkJPSBTM0NfSUlDRkxHX0ZJTFRFUiwKKwkuc2RhX2RlbGF5CT0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gaml2ZV9pMmNfZGV2c1tdID0geworCVswXSA9IHsKKwkJSTJDX0JPQVJEX0lORk8oImxpczMwMmRsIiwgMHgxYyksCisJCS5pcnEJPSBJUlFfRUlOVDE0LAorCX0sCit9OworCisvKiBUaGUgcGxhdGZvcm0gZGV2aWNlcyBiZWluZyB1c2VkLiAqLworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqaml2ZV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmczNjX2RldmljZV91c2IsCisJJnMzY19kZXZpY2VfcnRjLAorCSZzM2NfZGV2aWNlX3dkdCwKKwkmczNjX2RldmljZV9pMmMsCisJJnMzY19kZXZpY2VfbGNkLAorCSZqaXZlX2RldmljZV9sY2RzcGksCisJJmppdmVfZGV2aWNlX3dtODc1MCwKKwkmczNjX2RldmljZV9uYW5kLAorCSZzM2NfZGV2aWNlX3VzYmdhZGdldCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF91ZGNfbWFjaF9pbmZvIGppdmVfdWRjX2NmZyBfX2luaXRkYXRhID0geworCS52YnVzX3Bpbgk9IFMzQzI0MTBfR1BHMSwJCS8qIGRldGVjdCBpcyBvbiBHUEcxICovCit9OworCisvKiBKaXZlIHBvd2VyIG1hbmFnZW1lbnQgZGV2aWNlICovCisKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgaml2ZV9wbV9zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpzZCwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCS8qIFdyaXRlIHRoZSBtYWdpYyB2YWx1ZSB1LWJvb3QgdXNlcyB0byBjaGVjayBmb3IgcmVzdW1lIGludG8KKwkgKiB0aGUgSU5GT1JNMCByZWdpc3RlciwgYW5kIGVuc3VyZSBJTkZPUk0xIGlzIHNldCB0byB0aGUKKwkgKiBjb3JyZWN0IGFkZHJlc3MgdG8gcmVzdW1lIGZyb20uICovCisKKwlfX3Jhd193cml0ZWwoMHgyQkVELCBTM0MyNDEyX0lORk9STTApOworCV9fcmF3X3dyaXRlbCh2aXJ0X3RvX3BoeXMoczNjMjQxMF9jcHVfcmVzdW1lKSwgUzNDMjQxMl9JTkZPUk0xKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGppdmVfcG1fcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpzZCkKK3sKKwlfX3Jhd193cml0ZWwoMHgwLCBTM0MyNDEyX0lORk9STTApOworCXJldHVybiAwOworfQorCisjZWxzZQorI2RlZmluZSBqaXZlX3BtX3N1c3BlbmQgTlVMTAorI2RlZmluZSBqaXZlX3BtX3Jlc3VtZSBOVUxMCisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3Mgaml2ZV9wbV9zeXNjbGFzcyA9IHsKKwkubmFtZQkJPSAiaml2ZS1wbSIsCisJLnN1c3BlbmQJPSBqaXZlX3BtX3N1c3BlbmQsCisJLnJlc3VtZQkJPSBqaXZlX3BtX3Jlc3VtZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBqaXZlX3BtX3N5c2RldiA9IHsKKwkuY2xzCQk9ICZqaXZlX3BtX3N5c2NsYXNzLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGppdmVfbWFwX2lvKHZvaWQpCit7CisJczNjMjR4eF9pbml0X2lvKGppdmVfaW9kZXNjLCBBUlJBWV9TSVpFKGppdmVfaW9kZXNjKSk7CisJczNjMjR4eF9pbml0X2Nsb2NrcygxMjAwMDAwMCk7CisJczNjMjR4eF9pbml0X3VhcnRzKGppdmVfdWFydGNmZ3MsIEFSUkFZX1NJWkUoaml2ZV91YXJ0Y2ZncykpOworfQorCitzdGF0aWMgdm9pZCBqaXZlX3Bvd2VyX29mZih2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gInBvd2VyaW5nIHN5c3RlbSBkb3duLi4uXG4iKTsKKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEM1LCAxKTsKKwlzM2MyNDEwX2dwaW9fY2ZncGluKFMzQzI0MTBfR1BDNSwgUzNDMjQxMF9HUElPX09VVFBVVCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBqaXZlX21hY2hpbmVfaW5pdCh2b2lkKQoreworCS8qIHJlZ2lzdGVyIHN5c3RlbSBkZXZpY2VzIGZvciBtYW5hZ2luZyBsb3cgbGV2ZWwgc3VzcGVuZCAqLworCisJc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZqaXZlX3BtX3N5c2NsYXNzKTsKKwlzeXNkZXZfcmVnaXN0ZXIoJmppdmVfcG1fc3lzZGV2KTsKKworCS8qIHdyaXRlIG91ciBzbGVlcCBjb25maWd1cmF0aW9ucyBmb3IgdGhlIElPLiBQdWxsIGRvd24gYWxsIHVudXNlZAorCSAqIElPLCBlbnN1cmUgdGhhdCB3ZSBoYXZlIHR1cm5lZCBvZmYgYWxsIHBlcmlwaGVyYWxzIHdlIGRvIG5vdAorCSAqIG5lZWQsIGFuZCBjb25maWd1cmUgdGhlIG9uZXMgd2UgZG8gbmVlZC4gKi8KKworCS8qIFBvcnQgQiBzbGVlcCAqLworCisJX19yYXdfd3JpdGVsKFMzQzI0MTJfU0xQQ09OX0lOKDApICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0hJR0goMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0hJR0goNykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTApLCBTM0MyNDEyX0dQQlNMUENPTik7CisKKwkvKiBQb3J0IEMgc2xlZXAgKi8KKworCV9fcmF3X3dyaXRlbChTM0MyNDEyX1NMUENPTl9QVUxMKDApIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDIpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDMpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDQpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDUpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9MT1coNikgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDYpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDcpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDgpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDkpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEwKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTIpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEzKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTUpLCBTM0MyNDEyX0dQQ1NMUENPTik7CisKKwkvKiBQb3J0IEQgc2xlZXAgKi8KKworCV9fcmF3X3dyaXRlbChTM0MyNDEyX1NMUENPTl9BTExfUFVMTCwgUzNDMjQxMl9HUERTTFBDT04pOworCisJLyogUG9ydCBGIHNsZWVwICovCisKKwlfX3Jhd193cml0ZWwoUzNDMjQxMl9TTFBDT05fTE9XKDApICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fTE9XKDEpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fTE9XKDIpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCgzKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg0KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg1KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg2KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg3KSwgUzNDMjQxMl9HUEZTTFBDT04pOworCisJLyogUG9ydCBHIHNsZWVwICovCisKKwlfX3Jhd193cml0ZWwoUzNDMjQxMl9TTFBDT05fSU4oMCkgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTigyKSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oMykgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDQpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTig1KSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oNikgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDcpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDgpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg5KSAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEwKSAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDExKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTMpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTigxNCkgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxNSksIFMzQzI0MTJfR1BHU0xQQ09OKTsKKworCS8qIFBvcnQgSCBzbGVlcCAqLworCisJX19yYXdfd3JpdGVsKFMzQzI0MTJfU0xQQ09OX1BVTEwoMCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDcpICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDgpICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEwKSwgUzNDMjQxMl9HUEhTTFBDT04pOworCisJLyogaW5pdGlhbGlzZSB0aGUgcG93ZXIgbWFuYWdlbWVudCBub3cgd2UndmUgc2V0dXAgZXZlcnl0aGluZy4gKi8KKworCXMzYzI0MTBfcG1faW5pdCgpOworCisJczNjX2RldmljZV9uYW5kLmRldi5wbGF0Zm9ybV9kYXRhID0gJmppdmVfbmFuZF9pbmZvOworCisJLyogaW5pdGlhbGlzZSB0aGUgc3BpICovCisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BHMTMsIDApOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEcxMywgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BCNywgMSk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQQjcsIFMzQzI0MTBfR1BJT19PVVRQVVQpOworCisJczNjMjQxMF9ncGlvX3NldHBpbihTM0MyNDEwX0dQQjYsIDApOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEI2LCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEc4LCAxKTsKKwlzM2MyNDEwX2dwaW9fY2ZncGluKFMzQzI0MTBfR1BHOCwgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwkvKiBpbml0aWFsaXNlIHRoZSBXTTg3NTAgc3BpICovCisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BIMTAsIDEpOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEgxMCwgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwkvKiBUdXJuIG9mZiBzdXNwZW5kIG9uIGJvdGggVVNCIHBvcnRzLCBhbmQgc3dpdGNoIHRoZQorCSAqIHNlbGVjdGFibGUgVVNCIHBvcnQgdG8gVVNCIGRldmljZSBtb2RlLiAqLworCisJczNjMjQxMF9tb2RpZnlfbWlzY2NyKFMzQzI0MTBfTUlTQ0NSX1VTQkhPU1QgfAorCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMCB8CisJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxLCAweDApOworCisJczNjMjR4eF91ZGNfc2V0X3BsYXRkYXRhKCZqaXZlX3VkY19jZmcpOworCXMzYzI0eHhfZmJfc2V0X3BsYXRkYXRhKCZqaXZlX2xjZF9jb25maWcpOworCisJc3BpX3JlZ2lzdGVyX2JvYXJkX2luZm8oaml2ZV9zcGlfZGV2cywgQVJSQVlfU0laRShqaXZlX3NwaV9kZXZzKSk7CisKKwlzM2NfZGV2aWNlX2kyYy5kZXYucGxhdGZvcm1fZGF0YSA9ICZqaXZlX2kyY19jZmc7CisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgaml2ZV9pMmNfZGV2cywgQVJSQVlfU0laRShqaXZlX2kyY19kZXZzKSk7CisKKwlwbV9wb3dlcl9vZmYgPSBqaXZlX3Bvd2VyX29mZjsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGppdmVfZGV2aWNlcywgQVJSQVlfU0laRShqaXZlX2RldmljZXMpKTsKK30KKworTUFDSElORV9TVEFSVChKSVZFLCAiSklWRSIpCisJLyogTWFpbnRhaW5lcjogQmVuIERvb2tzIDxiZW5AZmx1ZmYub3JnPiAqLworCS5waHlzX2lvCT0gUzNDMjQxMF9QQV9VQVJULAorCS5pb19wZ19vZmZzdAk9ICgoKHUzMilTM0MyNFhYX1ZBX1VBUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSBTM0MyNDEwX1NEUkFNX1BBICsgMHgxMDAsCisKKwkuaW5pdF9pcnEJPSBzM2MyNHh4X2luaXRfaXJxLAorCS5tYXBfaW8JCT0gaml2ZV9tYXBfaW8sCisJLmluaXRfbWFjaGluZQk9IGppdmVfbWFjaGluZV9pbml0LAorCS50aW1lcgkJPSAmczNjMjR4eF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCmluZGV4IGYxOTE1YmQuLjI1ZGUwNDIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCkBAIC0yOSw2ICsyOSw3IEBACiAJYm9vbCAiU2ltdGVjIEVsZWN0cm9uaWNzIEFOVUJJUyIKIAlzZWxlY3QgQ1BVX1MzQzI0NDAKIAlzZWxlY3QgUE1fU0lNVEVDIGlmIFBNCisJc2VsZWN0IEhBVkVfUEFUQV9QTEFURk9STQogCWhlbHAKIAkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgU2ltdGVjIEVsZWN0cm9uaWNzIEFOVUJJUwogCSAgZGV2ZWxvcG1lbnQgc3lzdGVtCkBAIC02Nyw2ICs2OCwxMSBAQAogCWRlZmF1bHQgeSBpZiBBUkNIX1MzQzI0NDAKIAlzZWxlY3QgQ1BVX1MzQzI0NDAKIAorY29uZmlnIE1BQ0hfQVQyNDQwRVZCCisJYm9vbCAiQXZhbnRlY2ggQVQyNDQwRVZCIGRldmVsb3BtZW50IGJvYXJkIgorCXNlbGVjdCBDUFVfUzNDMjQ0MAorCWhlbHAKKwkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgQVQyNDQwRVZCIGRldmVsb3BtZW50IGJvYXJkCiAKIGVuZG1lbnUKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL01ha2VmaWxlCmluZGV4IGM4MWVkNjIuLjBiNDQ0MGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvTWFrZWZpbGUKQEAgLTIxLDMgKzIxLDQgQEAKIG9iai0kKENPTkZJR19NQUNIX1JYMzcxNSkJKz0gbWFjaC1yeDM3MTUubwogb2JqLSQoQ09ORklHX0FSQ0hfUzNDMjQ0MCkJKz0gbWFjaC1zbWRrMjQ0MC5vCiBvYmotJChDT05GSUdfTUFDSF9ORVhDT0RFUl8yNDQwKSArPSBtYWNoLW5leGNvZGVyLm8KK29iai0kKENPTkZJR19NQUNIX0FUMjQ0MEVWQikgKz0gbWFjaC1hdDI0NDBldmIubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtYW51YmlzLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYwppbmRleCA0NzI1ODkxLi4wOWFmOGIyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWFudWJpcy5jCiAgKgotICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCkBAIC0xNyw2ICsxNyw4IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAKICNpbmNsdWRlIDxsaW51eC9zbTUwMS5oPgogI2luY2x1ZGUgPGxpbnV4L3NtNTAxLXJlZ3MuaD4KQEAgLTI0MSwxNCArMjQzLDE4IEBACiAKIC8qIElERSBjaGFubmVscyAqLwogCitzdHJ1Y3QgcGF0YV9wbGF0Zm9ybV9pbmZvIGFudWJpc19pZGVfcGxhdGRhdGEgPSB7CisJLmlvcG9ydF9zaGlmdAk9IDUsCit9OworCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGFudWJpc19pZGUwX3Jlc291cmNlW10gPSB7CiAJewogCQkuc3RhcnQJPSBTM0MyNDEwX0NTMywKIAkJLmVuZAk9IFMzQzI0MTBfQ1MzICsgKDgqMzIpIC0gMSwKIAkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCiAJfSwgewotCQkuc3RhcnQJPSBTM0MyNDEwX0NTMyArICgxPDwyNiksCi0JCS5lbmQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoOCozMikgLSAxLAorCQkuc3RhcnQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoNiozMiksCisJCS5lbmQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoNyozMikgLSAxLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LCB7CiAJCS5zdGFydAk9IElSUV9JREUwLApAQCAtMjU4LDEwICsyNjQsMTQgQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGFudWJpc19kZXZpY2VfaWRlMCA9IHsKLQkubmFtZQkJPSAic2ltdGVjLWlkZSIsCisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAogCS5pZAkJPSAwLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShhbnViaXNfaWRlMF9yZXNvdXJjZSksCiAJLnJlc291cmNlCT0gYW51YmlzX2lkZTBfcmVzb3VyY2UsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYW51YmlzX2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYW51YmlzX2lkZTFfcmVzb3VyY2VbXSA9IHsKQEAgLTI3MCw4ICsyODAsOCBAQAogCQkuZW5kCT0gUzNDMjQxMF9DUzQgKyAoOCozMikgLSAxLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LCB7Ci0JCS5zdGFydAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSwKLQkJLmVuZAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg4KjMyKSAtIDEsCisJCS5zdGFydAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg2KjMyKSwKKwkJLmVuZAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg3KjMyKSAtIDEsCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAogCX0sIHsKIAkJLnN0YXJ0CT0gSVJRX0lERTAsCkBAIC0yODAsMTIgKzI5MCwxNSBAQAogCX0sCiB9OwogCi0KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGFudWJpc19kZXZpY2VfaWRlMSA9IHsKLQkubmFtZQkJPSAic2ltdGVjLWlkZSIsCisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAogCS5pZAkJPSAxLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShhbnViaXNfaWRlMV9yZXNvdXJjZSksCiAJLnJlc291cmNlCT0gYW51YmlzX2lkZTFfcmVzb3VyY2UsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYW51YmlzX2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfSwKIH07CiAKIC8qIEFzaXggQVg4ODc5NiAxMC8xMDAgZXRoZXJuZXQgY29udHJvbGxlciAqLwpAQCAtNDA5LDYgKzQyMiwxNSBAQAogCSZzM2MyNHh4X3VjbGssCiB9OwogCisvKiBJMkMgZGV2aWNlcy4gKi8KKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBhbnViaXNfaTJjX2RldnNbXSBfX2luaXRkYXRhID0geworCXsKKwkJSTJDX0JPQVJEX0lORk8oInRwczY1MDExIiwgMHg0OCksCisJCS5pcnEJPSBJUlFfRUlOVDIwLAorCX0KK307CisKIHN0YXRpYyB2b2lkIF9faW5pdCBhbnViaXNfbWFwX2lvKHZvaWQpCiB7CiAJLyogaW5pdGlhbGlzZSB0aGUgY2xvY2tzICovCkBAIC00NDgsNiArNDcwLDkgQEAKIHN0YXRpYyB2b2lkIF9faW5pdCBhbnViaXNfaW5pdCh2b2lkKQogewogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGFudWJpc19kZXZpY2VzLCBBUlJBWV9TSVpFKGFudWJpc19kZXZpY2VzKSk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBhbnViaXNfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRShhbnViaXNfaTJjX2RldnMpKTsKIH0KIAogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hdDI0NDBldmIuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWF0MjQ0MGV2Yi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZTNjN2YKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hdDI0NDBldmIuYwpAQCAtMCwwICsxLDE5OCBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtYXQyNDQwZXZiLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggUmFtYXggTG8gPHJhbWF4bG9AZ21haWwuY29tPgorICogICAgICBCYXNlZCBvbiBtYWNoLWFudWJpcy5jIGJ5IEJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KKyAqICAgICAgYW5kIG1vZGlmaWNhdGlvbnMgYnkgU0JaIDxzYnpAc3BndWkub3JnPiBhbmQKKyAqICAgICAgV2VpYmluZyA8aHR0cDovL3dlaWJpbmcuYmxvZ2J1cy5jb20+CisgKgorICogRm9yIHByb2R1Y3QgaW5mb3JtYXRpb24sIHZpc2l0IGh0dHA6Ly93d3cuYXJtOWUuY29tLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtOTAwMC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLW1lbS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbGNkLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL25hbmQuaD4KKworI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kX2VjYy5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9wYXJ0aXRpb25zLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBhdDI0NDBldmJfaW9kZXNjW10gX19pbml0ZGF0YSA9IHsKKwkvKiBOb3RoaW5nIGhlcmUgKi8KK307CisKKyNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVAorI2RlZmluZSBVTENPTiAoUzNDMjQxMF9MQ09OX0NTOCB8IFMzQzI0MTBfTENPTl9QTk9ORSkKKyNkZWZpbmUgVUZDT04gKFMzQzI0MTBfVUZDT05fUlhUUklHOCB8IFMzQzI0MTBfVUZDT05fRklGT01PREUpCisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyBhdDI0NDBldmJfc2VyaWFsX2Nsb2Nrc1tdID0geworCVswXSA9IHsKKwkJLm5hbWUJCT0gInVjbGsiLAorCQkuZGl2aXNvcgk9IDEsCisJCS5taW5fYmF1ZAk9IDAsCisJCS5tYXhfYmF1ZAk9IDAsCisJfSwKKwlbMV0gPSB7CisJCS5uYW1lCQk9ICJwY2xrIiwKKwkJLmRpdmlzb3IJPSAxLAorCQkubWluX2JhdWQJPSAwLAorCQkubWF4X2JhdWQJPSAwLAorCX0KK307CisKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgYXQyNDQwZXZiX3VhcnRjZmdzW10gX19pbml0ZGF0YSA9IHsKKwlbMF0gPSB7CisJCS5od3BvcnQJICAgICA9IDAsCisJCS5mbGFncwkgICAgID0gMCwKKwkJLnVjb24JICAgICA9IFVDT04sCisJCS51bGNvbgkgICAgID0gVUxDT04sCisJCS51ZmNvbgkgICAgID0gVUZDT04sCisJCS5jbG9ja3MJICAgICA9IGF0MjQ0MGV2Yl9zZXJpYWxfY2xvY2tzLAorCQkuY2xvY2tzX3NpemUgPSBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9zZXJpYWxfY2xvY2tzKSwKKwl9LAorCVsxXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMSwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwkJLmNsb2NrcwkgICAgID0gYXQyNDQwZXZiX3NlcmlhbF9jbG9ja3MsCisJCS5jbG9ja3Nfc2l6ZSA9IEFSUkFZX1NJWkUoYXQyNDQwZXZiX3NlcmlhbF9jbG9ja3MpLAorCX0sCit9OworCisvKiBOQU5EIEZsYXNoIG9uIEFUMjQ0MEVWQiBib2FyZCAqLworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gYXQyNDQwZXZiX2RlZmF1bHRfbmFuZF9wYXJ0W10gPSB7CisJWzBdID0geworCQkubmFtZQk9ICJCb290IEFnZW50IiwKKwkJLnNpemUJPSBTWl8yNTZLLAorCQkub2Zmc2V0CT0gMCwKKwl9LAorCVsxXSA9IHsKKwkJLm5hbWUJPSAiS2VybmVsIiwKKwkJLnNpemUJPSBTWl8yTSwKKwkJLm9mZnNldAk9IFNaXzI1NkssCisJfSwKKwlbMl0gPSB7CisJCS5uYW1lCT0gIlJvb3QiLAorCQkub2Zmc2V0CT0gU1pfMjU2SyArIFNaXzJNLAorCQkuc2l6ZQk9IE1URFBBUlRfU0laX0ZVTEwsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9uYW5kX3NldCBhdDI0NDBldmJfbmFuZF9zZXRzW10gPSB7CisJWzBdID0geworCQkubmFtZQkJPSAibmFuZCIsCisJCS5ucl9jaGlwcwk9IDEsCisJCS5ucl9wYXJ0aXRpb25zCT0gQVJSQVlfU0laRShhdDI0NDBldmJfZGVmYXVsdF9uYW5kX3BhcnQpLAorCQkucGFydGl0aW9ucwk9IGF0MjQ0MGV2Yl9kZWZhdWx0X25hbmRfcGFydCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3BsYXRmb3JtX25hbmQgYXQyNDQwZXZiX25hbmRfaW5mbyA9IHsKKwkudGFjbHMJCT0gMjUsCisJLnR3cnBoMAkJPSA1NSwKKwkudHdycGgxCQk9IDQwLAorCS5ucl9zZXRzCT0gQVJSQVlfU0laRShhdDI0NDBldmJfbmFuZF9zZXRzKSwKKwkuc2V0cwkJPSBhdDI0NDBldmJfbmFuZF9zZXRzLAorfTsKKworLyogRE05MDAwQUVQIDEwLzEwMCBldGhlcm5ldCBjb250cm9sbGVyICovCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXQyNDQwZXZiX2RtOWtfcmVzb3VyY2VbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydCA9IFMzQzI0MTBfQ1MzLAorCQkuZW5kICAgPSBTM0MyNDEwX0NTMyArIDMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCA9IFMzQzI0MTBfQ1MzICsgNCwKKwkJLmVuZCAgID0gUzNDMjQxMF9DUzMgKyA3LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzJdID0geworCQkuc3RhcnQgPSBJUlFfRUlOVDcsCisJCS5lbmQgICA9IElSUV9FSU5UNywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEgfCBJT1JFU09VUkNFX0lSUV9ISUdIRURHRSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGRtOTAwMF9wbGF0X2RhdGEgYXQyNDQwZXZiX2RtOWtfcGRhdGEgPSB7CisJLmZsYWdzCQk9IChETTkwMDBfUExBVEZfMTZCSVRPTkxZIHwgRE05MDAwX1BMQVRGX05PX0VFUFJPTSksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBhdDI0NDBldmJfZGV2aWNlX2V0aCA9IHsKKwkubmFtZQkJPSAiZG05MDAwIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9kbTlrX3Jlc291cmNlKSwKKwkucmVzb3VyY2UJPSBhdDI0NDBldmJfZG05a19yZXNvdXJjZSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmYXQyNDQwZXZiX2RtOWtfcGRhdGEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDI0NDBldmJfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJnMzY19kZXZpY2VfdXNiLAorCSZzM2NfZGV2aWNlX3dkdCwKKwkmczNjX2RldmljZV9hZGMsCisJJnMzY19kZXZpY2VfaTJjLAorCSZzM2NfZGV2aWNlX3J0YywKKwkmczNjX2RldmljZV9uYW5kLAorCSZhdDI0NDBldmJfZGV2aWNlX2V0aCwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhdDI0NDBldmJfbWFwX2lvKHZvaWQpCit7CisJczNjX2RldmljZV9uYW5kLmRldi5wbGF0Zm9ybV9kYXRhID0gJmF0MjQ0MGV2Yl9uYW5kX2luZm87CisKKwlzM2MyNHh4X2luaXRfaW8oYXQyNDQwZXZiX2lvZGVzYywgQVJSQVlfU0laRShhdDI0NDBldmJfaW9kZXNjKSk7CisJczNjMjR4eF9pbml0X2Nsb2NrcygxNjkzNDQwMCk7CisJczNjMjR4eF9pbml0X3VhcnRzKGF0MjQ0MGV2Yl91YXJ0Y2ZncywgQVJSQVlfU0laRShhdDI0NDBldmJfdWFydGNmZ3MpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGF0MjQ0MGV2Yl9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fYWRkX2RldmljZXMoYXQyNDQwZXZiX2RldmljZXMsIEFSUkFZX1NJWkUoYXQyNDQwZXZiX2RldmljZXMpKTsKK30KKworCitNQUNISU5FX1NUQVJUKEFUMjQ0MEVWQiwgIkFUMjQ0MEVWQiIpCisJLnBoeXNfaW8JPSBTM0MyNDEwX1BBX1VBUlQsCisJLmlvX3BnX29mZnN0CT0gKCgodTMyKVMzQzI0WFhfVkFfVUFSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IFMzQzI0MTBfU0RSQU1fUEEgKyAweDEwMCwKKwkubWFwX2lvCQk9IGF0MjQ0MGV2Yl9tYXBfaW8sCisJLmluaXRfbWFjaGluZQk9IGF0MjQ0MGV2Yl9pbml0LAorCS5pbml0X2lycQk9IHMzYzI0eHhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZzM2MyNHh4X3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLW9zaXJpcy5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKaW5kZXggOGE4YWNkYi4uYWY5OTZiMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKQEAgLTEsNiArMSw2IEBACiAvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1vc2lyaXMuYwogICoKLSAqIENvcHlyaWdodCAoYykgMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoYykgMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KICNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KQEAgLTMyMiw2ICszMjMsMTUgQEAKIAkuY2xzCQk9ICZvc2lyaXNfcG1fc3lzY2xhc3MsCiB9OwogCisvKiBJMkMgZGV2aWNlcyBmaXR0ZWQuICovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gb3NpcmlzX2kyY19kZXZzW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCUkyQ19CT0FSRF9JTkZPKCJ0cHM2NTAxMSIsIDB4NDgpLAorCQkuaXJxCT0gSVJRX0VJTlQyMCwKKwl9LAorfTsKKwogLyogU3RhbmRhcmQgT3NpcmlzIGRldmljZXMgKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm9zaXJpc19kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTM4OCw2ICszOTgsOSBAQAogCXN5c2Rldl9jbGFzc19yZWdpc3Rlcigmb3NpcmlzX3BtX3N5c2NsYXNzKTsKIAlzeXNkZXZfcmVnaXN0ZXIoJm9zaXJpc19wbV9zeXNkZXYpOwogCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgb3NpcmlzX2kyY19kZXZzLAorCQkJCUFSUkFZX1NJWkUob3NpcmlzX2kyY19kZXZzKSk7CisKIAlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhvc2lyaXNfZGV2aWNlcywgQVJSQVlfU0laRShvc2lyaXNfZGV2aWNlcykpOwogfTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQzL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYwppbmRleCBiNDJmOTU2Li4xN2YwNjRmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYwpAQCAtODEsNyArODEsNyBAQAogCWVsc2UKIAkJY2xrY29uICY9IH5jbG9ja3M7CiAKLQlfX3Jhd193cml0ZWwoY2xrY29uLCBTM0MyNDQzX0hDTEtDT04pOworCV9fcmF3X3dyaXRlbChjbGtjb24sIFMzQzI0NDNfUENMS0NPTik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIyMSw3ICsyMjEsNiBAQAogCS5nZXRfcmF0ZQk9IHMzYzI0NDNfZ2V0cmF0ZV9tZGl2Y2xrLAogfTsKIAotCiBzdGF0aWMgaW50IHMzYzI0NDNfc2V0cGFyZW50X21zeXNjbGsoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCiB7CiAJdW5zaWduZWQgbG9uZyBjbGtzcmMgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS1NSQyk7CkBAIC0yNDksNiArMjQ4LDQ2IEBACiAJLnNldF9wYXJlbnQJPSBzM2MyNDQzX3NldHBhcmVudF9tc3lzY2xrLAogfTsKIAorLyogYXJtZGl2CisgKgorICogdGhpcyBjbG9jayBpcyBzb3VyY2VkIGZyb20gbXN5c2NsayBhbmQgY2FuIGhhdmUgYSBudW1iZXIgb2YKKyAqIGRpdmlkZXIgdmFsdWVzIGFwcGxpZWQgdG8gaXQgdG8gdGhlbiBiZSBmZWQgaW50byBhcm1jbGsuCisqLworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfYXJtZGl2ID0geworCS5uYW1lCQk9ICJhcm1kaXYiLAorCS5pZAkJPSAtMSwKKwkucGFyZW50CQk9ICZjbGtfbXN5c2NsaywKK307CisKKy8qIGFybWNsaworICoKKyAqIHRoaXMgaXMgdGhlIGNsb2NrIGZlZCBpbnRvIHRoZSBBUk0gY29yZSBpdHNlbGYsIGVpdGhlciBmcm9tCisgKiBhcm1kaXYgb3IgZnJvbSBoY2xrLgorICovCisKK3N0YXRpYyBpbnQgczNjMjQ0M19zZXRwYXJlbnRfYXJtY2xrKHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXVuc2lnbmVkIGxvbmcgY2xrZGl2MDsKKworCWNsa2RpdjAgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS0RJVjApOworCisJaWYgKHBhcmVudCA9PSAmY2xrX2FybWRpdikKKwkJY2xrZGl2MCAmPSB+UzNDMjQ0M19DTEtESVYwX0RWUzsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmNsa19oKQorCQljbGtkaXYwIHw9IFMzQzI0NDNfQ0xLRElWMF9EVlM7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fcmF3X3dyaXRlbChjbGtkaXYwLCBTM0MyNDQzX0NMS0RJVjApOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfYXJtID0geworCS5uYW1lCQk9ICJhcm1jbGsiLAorCS5pZAkJPSAtMSwKKwkuc2V0X3BhcmVudAk9IHMzYzI0NDNfc2V0cGFyZW50X2FybWNsaywKK307CiAKIC8qIGVzeXNjbGsKICAqCkBAIC02MzksNiArNjc4LDI5IEBACiAJLnJvdW5kX3JhdGUJPSBzM2MyNDQzX3JvdW5kcmF0ZV9jbGtzcmMyNTYsCiB9OwogCisvKiBwcmVkaXYKKyAqCisgKiB0aGlzIGRpdmlkZXMgdGhlIG1zeXNjbGsgZG93biB0byBwYXNzIHRvIGgvcC9ldGMuCisgKi8KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1bnNpZ25lZCBsb25nIGNsa2RpdjAgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS0RJVjApOworCisJY2xrZGl2MCAmPSBTM0MyNDQzX0NMS0RJVjBfUFJFRElWX01BU0s7CisJY2xrZGl2MCA+Pj0gUzNDMjQ0M19DTEtESVYwX1BSRURJVl9TSElGVDsKKworCXJldHVybiByYXRlIC8gKGNsa2RpdjAgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX3ByZWRpdiA9IHsKKwkubmFtZQkJPSAicHJlZGl2IiwKKwkuaWQJCT0gLTEsCisJLnBhcmVudAkJPSAmY2xrX21zeXNjbGssCisJLmdldF9yYXRlCT0gczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZSwKK307CisKIC8qIHN0YW5kYXJkIGNsb2NrIGRlZmluaXRpb25zICovCiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGluaXRfY2xvY2tzX2Rpc2FibGVbXSA9IHsKQEAgLTg4Nyw2ICs5NDksMTUgQEAKIAl9CiAKIAljbGtfaW5pdF9zZXRfcGFyZW50KCZjbGtfbXN5c2NsaywgcGFyZW50KTsKKworCS8qIGFybSAqLworCisJaWYgKF9fcmF3X3JlYWRsKFMzQzI0NDNfQ0xLRElWMCkgJiBTM0MyNDQzX0NMS0RJVjBfRFZTKQorCQlwYXJlbnQgPSAmY2xrX2g7CisJZWxzZQorCQlwYXJlbnQgPSAmY2xrX2FybWRpdjsKKworCWNsa19pbml0X3NldF9wYXJlbnQoJmNsa19hcm0sIHBhcmVudCk7CiB9CiAKIC8qIGFybWRpdiBkaXZpc29yIHRhYmxlICovCkBAIC05MDksMTAgKzk4MCw5IEBACiAJcmV0dXJuIGFybWRpdltjbGtjb24wID4+IFMzQzI0NDNfQ0xLRElWMF9BUk1ESVZfU0hJRlRdOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgczNjMjQ0M19nZXRfcHJlZGl2KHVuc2lnbmVkIGxvbmcgY2xrY29uMCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBzM2MyNDQzX2dldF9oZGl2KHVuc2lnbmVkIGxvbmcgY2xrY29uMCkKIHsKLQljbGtjb24wICY9IFMzQzI0NDNfQ0xLRElWMF9QUkVESVZfTUFTSzsKLQljbGtjb24wID4+PSBTM0MyNDQzX0NMS0RJVjBfUFJFRElWX1NISUZUOworCWNsa2NvbjAgJj0gUzNDMjQ0M19DTEtESVYwX0hDTEtESVZfTUFTSzsKIAogCXJldHVybiBjbGtjb24wICsgMTsKIH0KQEAgLTkzNiw2ICsxMDA2LDkgQEAKIAkmY2xrX2hzc3BpLAogCSZjbGtfaHNtbWNfZGl2LAogCSZjbGtfaHNtbWMsCisJJmNsa19hcm1kaXYsCisJJmNsa19hcm0sCisJJmNsa19wcmVkaXYsCiB9OwogCiB2b2lkIF9faW5pdCBzM2MyNDQzX2luaXRfY2xvY2tzKGludCB4dGFsKQpAQCAtOTUxLDEwICsxMDI0LDE2IEBACiAJaW50IHJldDsKIAlpbnQgcHRyOwogCisJLyogczNjMjQ0MyBwYXJlbnRzIGggYW5kIHAgY2xvY2tzIGZyb20gcHJlZGl2ICovCisJY2xrX2gucGFyZW50ID0gJmNsa19wcmVkaXY7CisJY2xrX3AucGFyZW50ID0gJmNsa19wcmVkaXY7CisKIAlwbGwgPSBzM2MyNDQzX2dldF9tcGxsKG1wbGxjb24sIHh0YWwpOworCWNsa19tc3lzY2xrLnJhdGUgPSBwbGw7CiAKIAlmY2xrID0gcGxsIC8gczNjMjQ0M19mY2xrX2RpdihjbGtkaXYwKTsKLQloY2xrID0gZmNsayAvIHMzYzI0NDNfZ2V0X3ByZWRpdihjbGtkaXYwKTsKKwloY2xrID0gczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZSgmY2xrX3ByZWRpdik7CisJaGNsayA9IGhjbGsgLyBzM2MyNDQzX2dldF9oZGl2KGNsa2RpdjApOwogCWhjbGsgPSBoY2xrIC8gKChjbGtkaXYwICYgUzNDMjQ0M19DTEtESVYwX0hBTEZfSENMSykgPyAyIDogMSk7CiAgCXBjbGsgPSBoY2xrIC8gKChjbGtkaXYwICYgUzNDMjQ0M19DTEtESVYwX0hBTEZfUENMSykgPyAyIDogMSk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL0tjb25maWcgYi9hcmNoL2FybS9tbS9LY29uZmlnCmluZGV4IDMzZWQwNDguLjNhNmM4ZWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbW0vS2NvbmZpZwpAQCAtMTgwLDggKzE4MCwyMSBAQAogIyBBUk05MjZUCiBjb25maWcgQ1BVX0FSTTkyNlQKIAlib29sICJTdXBwb3J0IEFSTTkyNlQgcHJvY2Vzc29yIgotCWRlcGVuZHMgb24gQVJDSF9JTlRFR1JBVE9SIHx8IEFSQ0hfVkVSU0FUSUxFX1BCIHx8IE1BQ0hfVkVSU0FUSUxFX0FCIHx8IEFSQ0hfT01BUDczMCB8fCBBUkNIX09NQVAxNlhYIHx8IE1BQ0hfUkVBTFZJRVdfRUIgfHwgQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxQ0FQOSB8fCBBUkNIX05TOVhYWCB8fCBBUkNIX0RBVklOQ0kKLQlkZWZhdWx0IHkgaWYgQVJDSF9WRVJTQVRJTEVfUEIgfHwgTUFDSF9WRVJTQVRJTEVfQUIgfHwgQVJDSF9PTUFQNzMwIHx8IEFSQ0hfT01BUDE2WFggfHwgQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxQ0FQOSB8fCBBUkNIX05TOVhYWCB8fCBBUkNIX0RBVklOQ0kKKwlkZXBlbmRzIG9uIEFSQ0hfSU5URUdSQVRPUiB8fCBBUkNIX1ZFUlNBVElMRV9QQiB8fCBcCisJCU1BQ0hfVkVSU0FUSUxFX0FCIHx8IEFSQ0hfT01BUDczMCB8fCBcCisJCUFSQ0hfT01BUDE2WFggfHwgTUFDSF9SRUFMVklFV19FQiB8fCBcCisJCUFSQ0hfUE5YNDAwOCB8fCBBUkNIX05FVFggfHwgQ1BVX1MzQzI0MTIgfHwgXAorCQlBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgXAorCQlBUkNIX0FUOTFTQU05MjYzIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBcCisJCUFSQ0hfQVQ5MVNBTTlHMjAgfHwgQVJDSF9BVDkxQ0FQOSB8fCBcCisJCUFSQ0hfTlM5WFhYIHx8IEFSQ0hfREFWSU5DSQorCWRlZmF1bHQgeSBpZiBBUkNIX1ZFUlNBVElMRV9QQiB8fCBNQUNIX1ZFUlNBVElMRV9BQiB8fCBcCisJCUFSQ0hfT01BUDczMCB8fCBBUkNIX09NQVAxNlhYIHx8IFwKKwkJQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBcCisJCUFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MSB8fCBcCisJCUFSQ0hfQVQ5MVNBTTkyNjMgfHwgQVJDSF9BVDkxU0FNOVJMIHx8IFwKKwkJQVJDSF9BVDkxU0FNOUcyMCB8fCBBUkNIX0FUOTFDQVA5IHx8IFwKKwkJQVJDSF9OUzlYWFggfHwgQVJDSF9EQVZJTkNJIHx8IEFSQ0hfTVgyCiAJc2VsZWN0IENQVV8zMnY1CiAJc2VsZWN0IENQVV9BQlJUX0VWNVRKCiAJc2VsZWN0IENQVV9QQUJSVF9OT0lGQVIKQEAgLTM2NSw3ICszNzgsNyBAQAogIyBGZXJvY2VvbgogY29uZmlnIENQVV9GRVJPQ0VPTgogCWJvb2wKLQlkZXBlbmRzIG9uIEFSQ0hfT1JJT041WAorCWRlcGVuZHMgb24gQVJDSF9PUklPTjVYIHx8IEFSQ0hfTE9LSSB8fCBBUkNIX0tJUktXT09EIHx8IEFSQ0hfTVY3OFhYMAogCWRlZmF1bHQgeQogCXNlbGVjdCBDUFVfMzJ2NQogCXNlbGVjdCBDUFVfQUJSVF9FVjVUCkBAIC0zNzMsNyArMzg2LDcgQEAKIAlzZWxlY3QgQ1BVX0NBQ0hFX1ZJVlQKIAlzZWxlY3QgQ1BVX0NQMTVfTU1VCiAJc2VsZWN0IENQVV9DT1BZX0ZFUk9DRU9OIGlmIE1NVQotCXNlbGVjdCBDUFVfVExCX1Y0V0JJIGlmIE1NVQorCXNlbGVjdCBDUFVfVExCX0ZFUk9DRU9OIGlmIE1NVQogCiBjb25maWcgQ1BVX0ZFUk9DRU9OX09MRF9JRAogCWJvb2wgIkFjY2VwdCBlYXJseSBGZXJvY2VvbiBjb3JlcyB3aXRoIGFuIEFSTTkyNiBJRCIKQEAgLTU1MSw2ICs1NjQsMTEgQEAKIAkgIEFSTSBBcmNoaXRlY3R1cmUgVmVyc2lvbiA0IFRMQiB3aXRoIHdyaXRlYmFjayBjYWNoZSBhbmQgaW52YWxpZGF0ZQogCSAgaW5zdHJ1Y3Rpb24gY2FjaGUgZW50cnkuCiAKK2NvbmZpZyBDUFVfVExCX0ZFUk9DRU9OCisJYm9vbAorCWhlbHAKKwkgIEZlcm9jZW9uIFRMQiAodjR3Ymkgd2l0aCBub24tb3V0ZXItY2FjaGFibGUgcGFnZSB0YWJsZSB3YWxrcykuCisKIGNvbmZpZyBDUFVfVExCX1Y2CiAJYm9vbAogCkBAIC03MDksNiArNzI3LDE0IEBACiAJYm9vbAogCWRlZmF1bHQgbgogCitjb25maWcgQ0FDSEVfRkVST0NFT05fTDIKKwlib29sICJFbmFibGUgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBBUkNIX0tJUktXT09EIHx8IEFSQ0hfTVY3OFhYMAorCWRlZmF1bHQgeQorCXNlbGVjdCBPVVRFUl9DQUNIRQorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIuCisKIGNvbmZpZyBDQUNIRV9MMlgwCiAJYm9vbCAiRW5hYmxlIHRoZSBMMngwIG91dGVyIGNhY2hlIGNvbnRyb2xsZXIiCiAJZGVwZW5kcyBvbiBSRUFMVklFV19FQl9BUk0xMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMTc2CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9NYWtlZmlsZSBiL2FyY2gvYXJtL21tL01ha2VmaWxlCmluZGV4IDMyYjJkMmQuLmY2NGI5MjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21tL01ha2VmaWxlCkBAIC00Niw2ICs0Niw3IEBACiBvYmotJChDT05GSUdfQ1BVX1RMQl9WNFdUKQkrPSB0bGItdjQubwogb2JqLSQoQ09ORklHX0NQVV9UTEJfVjRXQikJKz0gdGxiLXY0d2Iubwogb2JqLSQoQ09ORklHX0NQVV9UTEJfVjRXQkkpCSs9IHRsYi12NHdiaS5vCitvYmotJChDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTikJKz0gdGxiLXY0d2JpLm8JIyByZXVzZSB2NHdiaSBUTEIgZnVuY3Rpb25zCiBvYmotJChDT05GSUdfQ1BVX1RMQl9WNikJKz0gdGxiLXY2Lm8KIG9iai0kKENPTkZJR19DUFVfVExCX1Y3KQkrPSB0bGItdjcubwogCkBAIC03Myw0ICs3NCw1IEBACiBvYmotJChDT05GSUdfQ1BVX1Y2KQkJKz0gcHJvYy12Ni5vCiBvYmotJChDT05GSUdfQ1BVX1Y3KQkJKz0gcHJvYy12Ny5vCiAKK29iai0kKENPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMikJKz0gY2FjaGUtZmVyb2Nlb24tbDIubwogb2JqLSQoQ09ORklHX0NBQ0hFX0wyWDApCSs9IGNhY2hlLWwyeDAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbW0vY2FjaGUtZmVyb2Nlb24tbDIuYyBiL2FyY2gvYXJtL21tL2NhY2hlLWZlcm9jZW9uLWwyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlZWM0YgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21tL2NhY2hlLWZlcm9jZW9uLWwyLmMKQEAgLTAsMCArMSwzMTggQEAKKy8qCisgKiBhcmNoL2FybS9tbS9jYWNoZS1mZXJvY2Vvbi1sMi5jIC0gRmVyb2Nlb24gTDIgY2FjaGUgY29udHJvbGxlciBzdXBwb3J0CisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IE1hcnZlbGwgU2VtaWNvbmR1Y3RvcgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICoKKyAqIFJlZmVyZW5jZXM6CisgKiAtIFVuaWZpZWQgTGF5ZXIgMiBDYWNoZSBmb3IgRmVyb2Nlb24gQ1BVIENvcmVzLAorICogICBEb2N1bWVudCBJRCBNVi1TMTA0ODU4LTAwLCBSZXYuIEEsIE9jdG9iZXIgMjMgMjAwNy4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaD4KKworCisvKgorICogTG93LWxldmVsIGNhY2hlIG1haW50ZW5hbmNlIG9wZXJhdGlvbnMuCisgKgorICogQXMgd2VsbCBhcyB0aGUgcmVndWxhciAnY2xlYW4vaW52YWxpZGF0ZS9mbHVzaCBMMiBjYWNoZSBsaW5lIGJ5CisgKiBNVkEnIGluc3RydWN0aW9ucywgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIgYWxzbyBmZWF0dXJlcworICogJ2NsZWFuL2ludmFsaWRhdGUgTDIgcmFuZ2UgYnkgTVZBJyBvcGVyYXRpb25zLgorICoKKyAqIENhY2hlIHJhbmdlIG9wZXJhdGlvbnMgYXJlIGluaXRpYXRlZCBieSB3cml0aW5nIHRoZSBzdGFydCBhbmQKKyAqIGVuZCBhZGRyZXNzZXMgdG8gc3VjY2Vzc2l2ZSBjcDE1IHJlZ2lzdGVycywgYW5kIHByb2Nlc3MgZXZlcnkKKyAqIGNhY2hlIGxpbmUgd2hvc2UgZmlyc3QgYnl0ZSBhZGRyZXNzIGxpZXMgaW4gdGhlIGluY2x1c2l2ZSByYW5nZQorICogW3N0YXJ0OmVuZF0uCisgKgorICogVGhlIGNhY2hlIHJhbmdlIG9wZXJhdGlvbnMgc3RhbGwgdGhlIENQVSBwaXBlbGluZSB1bnRpbCBjb21wbGV0aW9uLgorICoKKyAqIFRoZSByYW5nZSBvcGVyYXRpb25zIHJlcXVpcmUgdHdvIHN1Y2Nlc3NpdmUgY3AxNSB3cml0ZXMsIGluCisgKiBiZXR3ZWVuIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gYmUgcHJlZW1wdGVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfY2xlYW5fcGEodW5zaWduZWQgbG9uZyBhZGRyKQoreworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGM5LCAzIiA6IDogInIiIChhZGRyKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBsMl9jbGVhbl9tdmFfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qCisJICogTWFrZSBzdXJlICdzdGFydCcgYW5kICdlbmQnIHJlZmVyZW5jZSB0aGUgc2FtZSBwYWdlLCBhcworCSAqIEwyIGlzIFBJUFQgYW5kIHJhbmdlIG9wZXJhdGlvbnMgb25seSBkbyBhIFRMQiBsb29rdXAgb24KKwkgKiB0aGUgc3RhcnQgYWRkcmVzcy4KKwkgKi8KKwlCVUdfT04oKHN0YXJ0IF4gZW5kKSAmIH4oUEFHRV9TSVpFIC0gMSkpOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjOSwgNCIgOiA6ICJyIiAoc3RhcnQpKTsKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjOSwgNSIgOiA6ICJyIiAoZW5kKSk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2NsZWFuX3BhX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCWwyX2NsZWFuX212YV9yYW5nZShfX3BoeXNfdG9fdmlydChzdGFydCksIF9fcGh5c190b192aXJ0KGVuZCkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfY2xlYW5faW52X3BhKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjMTAsIDMiIDogOiAiciIgKGFkZHIpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2ludl9wYSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJX19hc21fXygibWNyIHAxNSwgMSwgJTAsIGMxNSwgYzExLCAzIiA6IDogInIiIChhZGRyKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBsMl9pbnZfbXZhX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkvKgorCSAqIE1ha2Ugc3VyZSAnc3RhcnQnIGFuZCAnZW5kJyByZWZlcmVuY2UgdGhlIHNhbWUgcGFnZSwgYXMKKwkgKiBMMiBpcyBQSVBUIGFuZCByYW5nZSBvcGVyYXRpb25zIG9ubHkgZG8gYSBUTEIgbG9va3VwIG9uCisJICogdGhlIHN0YXJ0IGFkZHJlc3MuCisJICovCisJQlVHX09OKChzdGFydCBeIGVuZCkgJiB+KFBBR0VfU0laRSAtIDEpKTsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJX19hc21fXygibWNyIHAxNSwgMSwgJTAsIGMxNSwgYzExLCA0IiA6IDogInIiIChzdGFydCkpOworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGMxMSwgNSIgOiA6ICJyIiAoZW5kKSk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2ludl9wYV9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlsMl9pbnZfbXZhX3JhbmdlKF9fcGh5c190b192aXJ0KHN0YXJ0KSwgX19waHlzX3RvX3ZpcnQoZW5kKSk7Cit9CisKKworLyoKKyAqIExpbnV4IHByaW1pdGl2ZXMuCisgKgorICogTm90ZSB0aGF0IHRoZSBlbmQgYWRkcmVzc2VzIHBhc3NlZCB0byBMaW51eCBwcmltaXRpdmVzIGFyZQorICogbm9uaW5jbHVzaXZlLCB3aGlsZSB0aGUgaGFyZHdhcmUgY2FjaGUgcmFuZ2Ugb3BlcmF0aW9ucyB1c2UKKyAqIGluY2x1c2l2ZSBzdGFydCBhbmQgZW5kIGFkZHJlc3Nlcy4KKyAqLworI2RlZmluZSBDQUNIRV9MSU5FX1NJWkUJCTMyCisjZGVmaW5lIE1BWF9SQU5HRV9TSVpFCQkxMDI0CisKK3N0YXRpYyBpbnQgbDJfd3Rfb3ZlcnJpZGU7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNhbGNfcmFuZ2VfZW5kKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCXVuc2lnbmVkIGxvbmcgcmFuZ2VfZW5kOworCisJQlVHX09OKHN0YXJ0ICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKTsKKwlCVUdfT04oZW5kICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKTsKKworCS8qCisJICogVHJ5IHRvIHByb2Nlc3MgYWxsIGNhY2hlIGxpbmVzIGJldHdlZW4gJ3N0YXJ0JyBhbmQgJ2VuZCcuCisJICovCisJcmFuZ2VfZW5kID0gZW5kOworCisJLyoKKwkgKiBMaW1pdCB0aGUgbnVtYmVyIG9mIGNhY2hlIGxpbmVzIHByb2Nlc3NlZCBhdCBvbmNlLAorCSAqIHNpbmNlIGNhY2hlIHJhbmdlIG9wZXJhdGlvbnMgc3RhbGwgdGhlIENQVSBwaXBlbGluZQorCSAqIHVudGlsIGNvbXBsZXRpb24uCisJICovCisJaWYgKHJhbmdlX2VuZCA+IHN0YXJ0ICsgTUFYX1JBTkdFX1NJWkUpCisJCXJhbmdlX2VuZCA9IHN0YXJ0ICsgTUFYX1JBTkdFX1NJWkU7CisKKwkvKgorCSAqIENhY2hlIHJhbmdlIG9wZXJhdGlvbnMgY2FuJ3Qgc3RyYWRkbGUgYSBwYWdlIGJvdW5kYXJ5LgorCSAqLworCWlmIChyYW5nZV9lbmQgPiAoc3RhcnQgfCAoUEFHRV9TSVpFIC0gMSkpICsgMSkKKwkJcmFuZ2VfZW5kID0gKHN0YXJ0IHwgKFBBR0VfU0laRSAtIDEpKSArIDE7CisKKwlyZXR1cm4gcmFuZ2VfZW5kOworfQorCitzdGF0aWMgdm9pZCBmZXJvY2Vvbl9sMl9pbnZfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJLyoKKwkgKiBDbGVhbiBhbmQgaW52YWxpZGF0ZSBwYXJ0aWFsIGZpcnN0IGNhY2hlIGxpbmUuCisJICovCisJaWYgKHN0YXJ0ICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKSB7CisJCWwyX2NsZWFuX2ludl9wYShzdGFydCAmIH4oQ0FDSEVfTElORV9TSVpFIC0gMSkpOworCQlzdGFydCA9IChzdGFydCB8IChDQUNIRV9MSU5FX1NJWkUgLSAxKSkgKyAxOworCX0KKworCS8qCisJICogQ2xlYW4gYW5kIGludmFsaWRhdGUgcGFydGlhbCBsYXN0IGNhY2hlIGxpbmUuCisJICovCisJaWYgKGVuZCAmIChDQUNIRV9MSU5FX1NJWkUgLSAxKSkgeworCQlsMl9jbGVhbl9pbnZfcGEoZW5kICYgfihDQUNIRV9MSU5FX1NJWkUgLSAxKSk7CisJCWVuZCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCX0KKworCS8qCisJICogSW52YWxpZGF0ZSBhbGwgZnVsbCBjYWNoZSBsaW5lcyBiZXR3ZWVuICdzdGFydCcgYW5kICdlbmQnLgorCSAqLworCXdoaWxlIChzdGFydCAhPSBlbmQpIHsKKwkJdW5zaWduZWQgbG9uZyByYW5nZV9lbmQgPSBjYWxjX3JhbmdlX2VuZChzdGFydCwgZW5kKTsKKwkJbDJfaW52X3BhX3JhbmdlKHN0YXJ0LCByYW5nZV9lbmQgLSBDQUNIRV9MSU5FX1NJWkUpOworCQlzdGFydCA9IHJhbmdlX2VuZDsKKwl9CisKKwlkc2IoKTsKK30KKworc3RhdGljIHZvaWQgZmVyb2Nlb25fbDJfY2xlYW5fcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJLyoKKwkgKiBJZiBMMiBpcyBmb3JjZWQgdG8gV1QsIHRoZSBMMiB3aWxsIGFsd2F5cyBiZSBjbGVhbiBhbmQgd2UKKwkgKiBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nIGhlcmUuCisJICovCisJaWYgKCFsMl93dF9vdmVycmlkZSkgeworCQlzdGFydCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCQllbmQgPSAoZW5kICsgQ0FDSEVfTElORV9TSVpFIC0gMSkgJiB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCQl3aGlsZSAoc3RhcnQgIT0gZW5kKSB7CisJCQl1bnNpZ25lZCBsb25nIHJhbmdlX2VuZCA9IGNhbGNfcmFuZ2VfZW5kKHN0YXJ0LCBlbmQpOworCQkJbDJfY2xlYW5fcGFfcmFuZ2Uoc3RhcnQsIHJhbmdlX2VuZCAtIENBQ0hFX0xJTkVfU0laRSk7CisJCQlzdGFydCA9IHJhbmdlX2VuZDsKKwkJfQorCX0KKworCWRzYigpOworfQorCitzdGF0aWMgdm9pZCBmZXJvY2Vvbl9sMl9mbHVzaF9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlzdGFydCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCWVuZCA9IChlbmQgKyBDQUNIRV9MSU5FX1NJWkUgLSAxKSAmIH4oQ0FDSEVfTElORV9TSVpFIC0gMSk7CisJd2hpbGUgKHN0YXJ0ICE9IGVuZCkgeworCQl1bnNpZ25lZCBsb25nIHJhbmdlX2VuZCA9IGNhbGNfcmFuZ2VfZW5kKHN0YXJ0LCBlbmQpOworCQlpZiAoIWwyX3d0X292ZXJyaWRlKQorCQkJbDJfY2xlYW5fcGFfcmFuZ2Uoc3RhcnQsIHJhbmdlX2VuZCAtIENBQ0hFX0xJTkVfU0laRSk7CisJCWwyX2ludl9wYV9yYW5nZShzdGFydCwgcmFuZ2VfZW5kIC0gQ0FDSEVfTElORV9TSVpFKTsKKwkJc3RhcnQgPSByYW5nZV9lbmQ7CisJfQorCisJZHNiKCk7Cit9CisKKworLyoKKyAqIFJvdXRpbmVzIHRvIGRpc2FibGUgYW5kIHJlLWVuYWJsZSB0aGUgRC1jYWNoZSBhbmQgSS1jYWNoZSBhdCBydW4KKyAqIHRpbWUuICBUaGVzZSBhcmUgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIEwyIGNhY2hlIGNhbiBvbmx5IGJlIGVuYWJsZWQKKyAqIG9yIGRpc2FibGVkIHdoaWxlIHRoZSBMMSBEY2FjaGUgYW5kIEljYWNoZSBhcmUgYm90aCBkaXNhYmxlZC4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IGludmFsaWRhdGVfYW5kX2Rpc2FibGVfZGNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoY3IgJiBDUl9DKSB7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkJZmx1c2hfY2FjaGVfYWxsKCk7CisJCXNldF9jcihjciAmIH5DUl9DKTsKKwkJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfZGNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoIShjciAmIENSX0MpKQorCQlzZXRfY3IoY3IgfCBDUl9DKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IF9faW52YWxpZGF0ZV9pY2FjaGUodm9pZCkKK3sKKwlpbnQgZHVtbXk7CisKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXygibWNyIHAxNSwgMCwgJTAsIGM3LCBjNSwgMFxuIiA6ICI9ciIgKGR1bW15KSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbnZhbGlkYXRlX2FuZF9kaXNhYmxlX2ljYWNoZSh2b2lkKQoreworCXUzMiBjcjsKKworCWNyID0gZ2V0X2NyKCk7CisJaWYgKGNyICYgQ1JfSSkgeworCQlzZXRfY3IoY3IgJiB+Q1JfSSk7CisJCV9faW52YWxpZGF0ZV9pY2FjaGUoKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfaWNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoIShjciAmIENSX0kpKQorCQlzZXRfY3IoY3IgfCBDUl9JKTsKK30KKworc3RhdGljIGlubGluZSB1MzIgcmVhZF9leHRyYV9mZWF0dXJlcyh2b2lkKQoreworCXUzMiB1OworCisJX19hc21fXygibXJjIHAxNSwgMSwgJTAsIGMxNSwgYzEsIDAiIDogIj1yIiAodSkpOworCisJcmV0dXJuIHU7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9leHRyYV9mZWF0dXJlcyh1MzIgdSkKK3sKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjMSwgMCIgOiA6ICJyIiAodSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZGlzYWJsZV9sMl9wcmVmZXRjaCh2b2lkKQoreworCXUzMiB1OworCisJLyoKKwkgKiBSZWFkIHRoZSBDUFUgRXh0cmEgRmVhdHVyZXMgcmVnaXN0ZXIgYW5kIHZlcmlmeSB0aGF0IHRoZQorCSAqIERpc2FibGUgTDIgUHJlZmV0Y2ggYml0IGlzIHNldC4KKwkgKi8KKwl1ID0gcmVhZF9leHRyYV9mZWF0dXJlcygpOworCWlmICghKHUgJiAweDAxMDAwMDAwKSkgeworCQlwcmludGsoS0VSTl9JTkZPICJGZXJvY2VvbiBMMjogRGlzYWJsaW5nIEwyIHByZWZldGNoLlxuIik7CisJCXdyaXRlX2V4dHJhX2ZlYXR1cmVzKHUgfCAweDAxMDAwMDAwKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfbDIodm9pZCkKK3sKKwl1MzIgdTsKKworCXUgPSByZWFkX2V4dHJhX2ZlYXR1cmVzKCk7CisJaWYgKCEodSAmIDB4MDA0MDAwMDApKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkZlcm9jZW9uIEwyOiBFbmFibGluZyBMMlxuIik7CisKKwkJaW52YWxpZGF0ZV9hbmRfZGlzYWJsZV9kY2FjaGUoKTsKKwkJaW52YWxpZGF0ZV9hbmRfZGlzYWJsZV9pY2FjaGUoKTsKKwkJd3JpdGVfZXh0cmFfZmVhdHVyZXModSB8IDB4MDA0MDAwMDApOworCQllbmFibGVfaWNhY2hlKCk7CisJCWVuYWJsZV9kY2FjaGUoKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IGZlcm9jZW9uX2wyX2luaXQoaW50IF9fbDJfd3Rfb3ZlcnJpZGUpCit7CisJbDJfd3Rfb3ZlcnJpZGUgPSBfX2wyX3d0X292ZXJyaWRlOworCisJZGlzYWJsZV9sMl9wcmVmZXRjaCgpOworCisJb3V0ZXJfY2FjaGUuaW52X3JhbmdlID0gZmVyb2Nlb25fbDJfaW52X3JhbmdlOworCW91dGVyX2NhY2hlLmNsZWFuX3JhbmdlID0gZmVyb2Nlb25fbDJfY2xlYW5fcmFuZ2U7CisJb3V0ZXJfY2FjaGUuZmx1c2hfcmFuZ2UgPSBmZXJvY2Vvbl9sMl9mbHVzaF9yYW5nZTsKKworCWVuYWJsZV9sMigpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiRmVyb2Nlb24gTDI6IENhY2hlIHN1cHBvcnQgaW5pdGlhbGlzZWQlcy5cbiIsCisJCQkgbDJfd3Rfb3ZlcnJpZGUgPyAiLCBpbiBXVCBvdmVycmlkZSBtb2RlIiA6ICIiKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL2ZhdWx0LWFybXYuYyBiL2FyY2gvYXJtL21tL2ZhdWx0LWFybXYuYwppbmRleCA0NDU1OGQ1Li5mYmZhMjYwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tbS9mYXVsdC1hcm12LmMKKysrIGIvYXJjaC9hcm0vbW0vZmF1bHQtYXJtdi5jCkBAIC0xNDQsMTMgKzE0NCwxNyBAQAogCXBhZ2UgPSBwZm5fdG9fcGFnZShwZm4pOwogCW1hcHBpbmcgPSBwYWdlX21hcHBpbmcocGFnZSk7CiAJaWYgKG1hcHBpbmcpIHsKKyNpZm5kZWYgQ09ORklHX1NNUAogCQlpbnQgZGlydHkgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoUEdfZGNhY2hlX2RpcnR5LCAmcGFnZS0+ZmxhZ3MpOwogCiAJCWlmIChkaXJ0eSkKIAkJCV9fZmx1c2hfZGNhY2hlX3BhZ2UobWFwcGluZywgcGFnZSk7CisjZW5kaWYKIAogCQlpZiAoY2FjaGVfaXNfdml2dCgpKQogCQkJbWFrZV9jb2hlcmVudChtYXBwaW5nLCB2bWEsIGFkZHIsIHBmbik7CisJCWVsc2UgaWYgKHZtYS0+dm1fZmxhZ3MgJiBWTV9FWEVDKQorCQkJX19mbHVzaF9pY2FjaGVfYWxsKCk7CiAJfQogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9mbHVzaC5jIGIvYXJjaC9hcm0vbW0vZmx1c2guYwppbmRleCA5ZGY1MDdkLi4wMjllZTY1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tbS9mbHVzaC5jCisrKyBiL2FyY2gvYXJtL21tL2ZsdXNoLmMKQEAgLTE5OSw2ICsxOTksOCBAQAogCQlfX2ZsdXNoX2RjYWNoZV9wYWdlKG1hcHBpbmcsIHBhZ2UpOwogCQlpZiAobWFwcGluZyAmJiBjYWNoZV9pc192aXZ0KCkpCiAJCQlfX2ZsdXNoX2RjYWNoZV9hbGlhc2VzKG1hcHBpbmcsIHBhZ2UpOworCQllbHNlIGlmIChtYXBwaW5nKQorCQkJX19mbHVzaF9pY2FjaGVfYWxsKCk7CiAJfQogfQogRVhQT1JUX1NZTUJPTChmbHVzaF9kY2FjaGVfcGFnZSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9wcm9jLWZlcm9jZW9uLlMgYi9hcmNoL2FybS9tbS9wcm9jLWZlcm9jZW9uLlMKaW5kZXggYTAyYzE3MS4uZjJlNTg4NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbW0vcHJvYy1mZXJvY2Vvbi5TCisrKyBiL2FyY2gvYXJtL21tL3Byb2MtZmVyb2Nlb24uUwpAQCAtNDQsMTEgKzQ0LDMxIEBACiAgKi8KICNkZWZpbmUgQ0FDSEVfRExJTkVTSVpFCTMyCiAKKwkuYnNzCisJLmFsaWduIDMKK19fY2FjaGVfcGFyYW1zX2xvYzoKKwkuc3BhY2UJOAorCiAJLnRleHQKK19fY2FjaGVfcGFyYW1zOgorCS53b3JkCV9fY2FjaGVfcGFyYW1zX2xvYworCiAvKgogICogY3B1X2Zlcm9jZW9uX3Byb2NfaW5pdCgpCiAgKi8KIEVOVFJZKGNwdV9mZXJvY2Vvbl9wcm9jX2luaXQpCisJbXJjCXAxNSwgMCwgcjAsIGMwLCBjMCwgMQkJQCByZWFkIGNhY2hlIHR5cGUgcmVnaXN0ZXIKKwlsZHIJcjEsIF9fY2FjaGVfcGFyYW1zCisJbW92CXIyLCAjKDE2IDw8IDUpCisJdHN0CXIwLCAjKDEgPDwgMTYpCQkJQCBnZXQgd2F5CisJbW92CXIwLCByMCwgbHNyICMxOAkJCUAgZ2V0IGNhY2hlIHNpemUgb3JkZXIKKwltb3ZuZQlyMywgIygoNCAtIDEpIDw8IDMwKQkJQCA0LXdheQorCWFuZAlyMCwgcjAsICMweGYKKwltb3ZlcQlyMywgIzAJCQkJQCAxLXdheQorCW1vdglyMiwgcjIsIGxzbCByMAkJCUAgYWN0dWFsIGNhY2hlIHNpemUKKwltb3ZuZQlyMiwgcjIsIGxzciAjMgkJCUAgdHVybmVkIGludG8gIyBvZiBzZXRzCisJc3ViCXIyLCByMiwgIygxIDw8IDUpCisJc3RtaWEJcjEsIHtyMiwgcjN9CiAJbW92CXBjLCBscgogCiAvKgpAQCAtNTksNiArNzksMTMgQEAKIAltb3YJaXAsICNQU1JfRl9CSVQgfCBQU1JfSV9CSVQgfCBTVkNfTU9ERQogCW1zcgljcHNyX2MsIGlwCiAJYmwJZmVyb2Nlb25fZmx1c2hfa2Vybl9jYWNoZV9hbGwKKworI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorCW1vdglyMCwgIzAKKwltY3IJcDE1LCAxLCByMCwgYzE1LCBjOSwgMAkJQCBjbGVhbiBMMgorCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisjZW5kaWYKKwogCW1yYwlwMTUsIDAsIHIwLCBjMSwgYzAsIDAJCUAgY3RybCByZWdpc3RlcgogCWJpYwlyMCwgcjAsICMweDEwMDAJCQlAIC4uLmkuLi4uLi4uLi4uLi4KIAliaWMJcjAsIHIwLCAjMHgwMDBlCQkJQCAuLi4uLi4uLi4uLi53Y2EuCkBAIC0xMTcsMTEgKzE0NCwxOSBAQAogICovCiBFTlRSWShmZXJvY2Vvbl9mbHVzaF9rZXJuX2NhY2hlX2FsbCkKIAltb3YJcjIsICNWTV9FWEVDCi0JbW92CWlwLCAjMAorCiBfX2ZsdXNoX3dob2xlX2NhY2hlOgotMToJbXJjCXAxNSwgMCwgcjE1LCBjNywgYzE0LCAzIAlAIHRlc3QsY2xlYW4saW52YWxpZGF0ZQotCWJuZQkxYgorCWxkcglyMSwgX19jYWNoZV9wYXJhbXMKKwlsZG1pYQlyMSwge3IxLCByM30KKzE6CW9ycglpcCwgcjEsIHIzCisyOgltY3IJcDE1LCAwLCBpcCwgYzcsIGMxNCwgMgkJQCBjbGVhbiArIGludmFsaWRhdGUgRCBzZXQvd2F5CisJc3VicwlpcCwgaXAsICMoMSA8PCAzMCkJCUAgbmV4dCB3YXkKKwliY3MJMmIKKwlzdWJzCXIxLCByMSwgIygxIDw8IDUpCQlAIG5leHQgc2V0CisJYmNzCTFiCisKIAl0c3QJcjIsICNWTV9FWEVDCisJbW92CWlwLCAjMAogCW1jcm5lCXAxNSwgMCwgaXAsIGM3LCBjNSwgMAkJQCBpbnZhbGlkYXRlIEkgY2FjaGUKIAltY3JuZQlwMTUsIDAsIGlwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgpAQCAtMTM4LDcgKzE3Myw2IEBACiAgKi8KIAkuYWxpZ24JNQogRU5UUlkoZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9yYW5nZSkKLQltb3YJaXAsICMwCiAJc3ViCXIzLCByMSwgcjAJCQlAIGNhbGN1bGF0ZSB0b3RhbCBzaXplCiAJY21wCXIzLCAjQ0FDSEVfRExJTUlUCiAJYmd0CV9fZmx1c2hfd2hvbGVfY2FjaGUKQEAgLTE1Miw2ICsxODYsNyBAQAogCWNtcAlyMCwgcjEKIAlibG8JMWIKIAl0c3QJcjIsICNWTV9FWEVDCisJbW92CWlwLCAjMAogCW1jcm5lCXAxNSwgMCwgaXAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCiAKQEAgLTIwOSw2ICsyNDQsMjAgQEAKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogCW1vdglwYywgbHIKIAorCS5hbGlnbgk1CitFTlRSWShmZXJvY2Vvbl9yYW5nZV9mbHVzaF9rZXJuX2RjYWNoZV9wYWdlKQorCW1ycwlyMiwgY3BzcgorCWFkZAlyMSwgcjAsICNQQUdFX1NaIC0gQ0FDSEVfRExJTkVTSVpFCUAgdG9wIGFkZHIgaXMgaW5jbHVzaXZlCisJb3JyCXIzLCByMiwgI1BTUl9JX0JJVAorCW1zcgljcHNyX2MsIHIzCQkJQCBkaXNhYmxlIGludGVycnVwdHMKKwltY3IJcDE1LCA1LCByMCwgYzE1LCBjMTUsIDAJCUAgRCBjbGVhbi9pbnYgcmFuZ2Ugc3RhcnQKKwltY3IJcDE1LCA1LCByMSwgYzE1LCBjMTUsIDEJCUAgRCBjbGVhbi9pbnYgcmFuZ2UgdG9wCisJbXNyCWNwc3JfYywgcjIJCQlAIHJlc3RvcmUgaW50ZXJydXB0cworCW1vdglyMCwgIzAKKwltY3IJcDE1LCAwLCByMCwgYzcsIGM1LCAwCQlAIGludmFsaWRhdGUgSSBjYWNoZQorCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisJbW92CXBjLCBscgorCiAvKgogICoJZG1hX2ludl9yYW5nZShzdGFydCwgZW5kKQogICoKQEAgLTIyNSwxMCArMjc0LDEwIEBACiAJLmFsaWduCTUKIEVOVFJZKGZlcm9jZW9uX2RtYV9pbnZfcmFuZ2UpCiAJdHN0CXIwLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQorCWJpYwlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCiAJbWNybmUJcDE1LCAwLCByMCwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CiAJdHN0CXIxLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQogCW1jcm5lCXAxNSwgMCwgcjEsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQotCWJpYwlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCiAxOgltY3IJcDE1LCAwLCByMCwgYzcsIGM2LCAxCQlAIGludmFsaWRhdGUgRCBlbnRyeQogCWFkZAlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUKIAljbXAJcjAsIHIxCkBAIC0yMzYsNiArMjg1LDIyIEBACiAJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCiAKKwkuYWxpZ24JNQorRU5UUlkoZmVyb2Nlb25fcmFuZ2VfZG1hX2ludl9yYW5nZSkKKwltcnMJcjIsIGNwc3IKKwl0c3QJcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCisJbWNybmUJcDE1LCAwLCByMCwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CisJdHN0CXIxLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQorCW1jcm5lCXAxNSwgMCwgcjEsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQorCWNtcAlyMSwgcjAKKwlzdWJuZQlyMSwgcjEsICMxCQkJQCB0b3AgYWRkcmVzcyBpcyBpbmNsdXNpdmUKKwlvcnIJcjMsIHIyLCAjUFNSX0lfQklUCisJbXNyCWNwc3JfYywgcjMJCQlAIGRpc2FibGUgaW50ZXJydXB0cworCW1jcglwMTUsIDUsIHIwLCBjMTUsIGMxNCwgMAkJQCBEIGludiByYW5nZSBzdGFydAorCW1jcglwMTUsIDUsIHIxLCBjMTUsIGMxNCwgMQkJQCBEIGludiByYW5nZSB0b3AKKwltc3IJY3Bzcl9jLCByMgkJCUAgcmVzdG9yZSBpbnRlcnJ1cHRzCisJbW92CXBjLCBscgorCiAvKgogICoJZG1hX2NsZWFuX3JhbmdlKHN0YXJ0LCBlbmQpCiAgKgpAQCAtMjU2LDYgKzMyMSwxOSBAQAogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgogCisJLmFsaWduCTUKK0VOVFJZKGZlcm9jZW9uX3JhbmdlX2RtYV9jbGVhbl9yYW5nZSkKKwltcnMJcjIsIGNwc3IKKwljbXAJcjEsIHIwCisJc3VibmUJcjEsIHIxLCAjMQkJCUAgdG9wIGFkZHJlc3MgaXMgaW5jbHVzaXZlCisJb3JyCXIzLCByMiwgI1BTUl9JX0JJVAorCW1zcgljcHNyX2MsIHIzCQkJQCBkaXNhYmxlIGludGVycnVwdHMKKwltY3IJcDE1LCA1LCByMCwgYzE1LCBjMTMsIDAJCUAgRCBjbGVhbiByYW5nZSBzdGFydAorCW1jcglwMTUsIDUsIHIxLCBjMTUsIGMxMywgMQkJQCBEIGNsZWFuIHJhbmdlIHRvcAorCW1zcgljcHNyX2MsIHIyCQkJQCByZXN0b3JlIGludGVycnVwdHMKKwltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgorCW1vdglwYywgbHIKKwogLyoKICAqCWRtYV9mbHVzaF9yYW5nZShzdGFydCwgZW5kKQogICoKQEAgLTI3NCw2ICszNTIsMTkgQEAKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogCW1vdglwYywgbHIKIAorCS5hbGlnbgk1CitFTlRSWShmZXJvY2Vvbl9yYW5nZV9kbWFfZmx1c2hfcmFuZ2UpCisJbXJzCXIyLCBjcHNyCisJY21wCXIxLCByMAorCXN1Ym5lCXIxLCByMSwgIzEJCQlAIHRvcCBhZGRyZXNzIGlzIGluY2x1c2l2ZQorCW9ycglyMywgcjIsICNQU1JfSV9CSVQKKwltc3IJY3Bzcl9jLCByMwkJCUAgZGlzYWJsZSBpbnRlcnJ1cHRzCisJbWNyCXAxNSwgNSwgcjAsIGMxNSwgYzE1LCAwCQlAIEQgY2xlYW4vaW52IHJhbmdlIHN0YXJ0CisJbWNyCXAxNSwgNSwgcjEsIGMxNSwgYzE1LCAxCQlAIEQgY2xlYW4vaW52IHJhbmdlIHRvcAorCW1zcgljcHNyX2MsIHIyCQkJQCByZXN0b3JlIGludGVycnVwdHMKKwltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgorCW1vdglwYywgbHIKKwogRU5UUlkoZmVyb2Nlb25fY2FjaGVfZm5zKQogCS5sb25nCWZlcm9jZW9uX2ZsdXNoX2tlcm5fY2FjaGVfYWxsCiAJLmxvbmcJZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9hbGwKQEAgLTI4NSwxMiArMzc2LDMzIEBACiAJLmxvbmcJZmVyb2Nlb25fZG1hX2NsZWFuX3JhbmdlCiAJLmxvbmcJZmVyb2Nlb25fZG1hX2ZsdXNoX3JhbmdlCiAKK0VOVFJZKGZlcm9jZW9uX3JhbmdlX2NhY2hlX2ZucykKKwkubG9uZwlmZXJvY2Vvbl9mbHVzaF9rZXJuX2NhY2hlX2FsbAorCS5sb25nCWZlcm9jZW9uX2ZsdXNoX3VzZXJfY2FjaGVfYWxsCisJLmxvbmcJZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9yYW5nZQorCS5sb25nCWZlcm9jZW9uX2NvaGVyZW50X2tlcm5fcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9jb2hlcmVudF91c2VyX3JhbmdlCisJLmxvbmcJZmVyb2Nlb25fcmFuZ2VfZmx1c2hfa2Vybl9kY2FjaGVfcGFnZQorCS5sb25nCWZlcm9jZW9uX3JhbmdlX2RtYV9pbnZfcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9kbWFfY2xlYW5fcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9kbWFfZmx1c2hfcmFuZ2UKKwogCS5hbGlnbgk1CiBFTlRSWShjcHVfZmVyb2Nlb25fZGNhY2hlX2NsZWFuX2FyZWEpCisjaWYgZGVmaW5lZChDT05GSUdfQ0FDSEVfRkVST0NFT05fTDIpICYmICFkZWZpbmVkKENPTkZJR19MMl9DQUNIRV9XUklURVRIUk9VR0gpCisJbW92CXIyLCByMAorCW1vdglyMywgcjEKKyNlbmRpZgogMToJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQogCWFkZAlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUKIAlzdWJzCXIxLCByMSwgI0NBQ0hFX0RMSU5FU0laRQogCWJoaQkxYgorI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorMToJbWNyCXAxNSwgMSwgcjIsIGMxNSwgYzksIDEJCUAgY2xlYW4gTDIgZW50cnkKKwlhZGQJcjIsIHIyLCAjQ0FDSEVfRExJTkVTSVpFCisJc3VicwlyMywgcjMsICNDQUNIRV9ETElORVNJWkUKKwliaGkJMWIKKyNlbmRpZgogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgogCkBAIC0zMDYsMTYgKzQxOCwyNSBAQAogCS5hbGlnbgk1CiBFTlRSWShjcHVfZmVyb2Nlb25fc3dpdGNoX21tKQogI2lmZGVmIENPTkZJR19NTVUKLQltb3YJaXAsICMwCi1AICYmICdDbGVhbiAmIEludmFsaWRhdGUgd2hvbGUgRENhY2hlJwotMToJbXJjCXAxNSwgMCwgcjE1LCBjNywgYzE0LCAzIAlAIHRlc3QsY2xlYW4saW52YWxpZGF0ZQotCWJuZQkxYgotCW1jcglwMTUsIDAsIGlwLCBjNywgYzUsIDAJCUAgaW52YWxpZGF0ZSBJIGNhY2hlCi0JbWNyCXAxNSwgMCwgaXAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKKwkvKgorCSAqIE5vdGU6IHdlIHdpc2ggdG8gY2FsbCBfX2ZsdXNoX3dob2xlX2NhY2hlIGJ1dCB3ZSBuZWVkIHRvIHByZXNlcnZlCisJICogbHIgdG8gZG8gc28uICBUaGUgb25seSB3YXkgd2l0aG91dCB0b3VjaGluZyBtYWluIG1lbW9yeSBpcyB0bworCSAqIHVzZSByMiB3aGljaCBpcyBub3JtYWxseSB1c2VkIHRvIHRlc3QgdGhlIFZNX0VYRUMgZmxhZywgYW5kCisJICogY29tcGVuc2F0ZSBsb2NhbGx5IGZvciB0aGUgc2tpcHBlZCBvcHMgaWYgaXQgaXMgbm90IHNldC4KKwkgKi8KKwltb3YJcjIsIGxyCQkJCUAgYWJ1c2UgcjIgdG8gcHJlc2VydmUgbHIKKwlibAlfX2ZsdXNoX3dob2xlX2NhY2hlCisJQCBpZiByMiBjb250YWlucyB0aGUgVk1fRVhFQyBiaXQgdGhlbiB0aGUgbmV4dCAyIG9wcyBhcmUgZG9uZSBhbHJlYWR5CisJdHN0CXIyLCAjVk1fRVhFQworCW1jcmVxCXAxNSwgMCwgaXAsIGM3LCBjNSwgMAkJQCBpbnZhbGlkYXRlIEkgY2FjaGUKKwltY3JlcQlwMTUsIDAsIGlwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisKIAltY3IJcDE1LCAwLCByMCwgYzIsIGMwLCAwCQlAIGxvYWQgcGFnZSB0YWJsZSBwb2ludGVyCiAJbWNyCXAxNSwgMCwgaXAsIGM4LCBjNywgMAkJQCBpbnZhbGlkYXRlIEkgJiBEIFRMQnMKLSNlbmRpZgorCW1vdglwYywgcjIKKyNlbHNlCiAJbW92CXBjLCBscgorI2VuZGlmCiAKIC8qCiAgKiBjcHVfZmVyb2Nlb25fc2V0X3B0ZV9leHQocHRlcCwgcHRlLCBleHQpCkBAIC0zNDUsNiArNDY2LDkgQEAKIAlzdHIJcjIsIFtyMF0JCQlAIGhhcmR3YXJlIHZlcnNpb24KIAltb3YJcjAsIHIwCiAJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQorI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorCW1jcglwMTUsIDEsIHIwLCBjMTUsIGM5LCAxCQlAIGNsZWFuIEwyIGVudHJ5CisjZW5kaWYKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogI2VuZGlmCiAJbW92CXBjLCBscgpAQCAtMzY5LDE0ICs0OTMsMTUgQEAKIAkuc2l6ZQlfX2Zlcm9jZW9uX3NldHVwLCAuIC0gX19mZXJvY2Vvbl9zZXR1cAogCiAJLyoKLQkgKiAgUgotCSAqIC5SVkkgWkZSUyBCTERQIFdDQU0KLQkgKiAuMDExIDAwMDEgLi4xMSAwMTAxCisJICogICAgICBCCisJICogIFIgICBQCisJICogLlJWSSBVRlJTIEJMRFAgV0NBTQorCSAqIC4wMTEgLjAwMSAuLjExIDAxMDEKIAkgKgogCSAqLwogCS50eXBlCWZlcm9jZW9uX2NydmFsLCAjb2JqZWN0CiBmZXJvY2Vvbl9jcnZhbDoKLQljcnZhbAljbGVhcj0weDAwMDA3ZjNmLCBtbXVzZXQ9MHgwMDAwMzEzNSwgdWNzZXQ9MHgwMDAwMTEzNAorCWNydmFsCWNsZWFyPTB4MDAwMDc3M2YsIG1tdXNldD0weDAwMDAzMTM1LCB1Y3NldD0weDAwMDAxMTM0CiAKIAlfX0lOSVREQVRBCiAKQEAgLTQxNCw2ICs1MzksMjEgQEAKIAkuYXNjaXoJIkZlcm9jZW9uIgogCS5zaXplCWNwdV9mZXJvY2Vvbl9uYW1lLCAuIC0gY3B1X2Zlcm9jZW9uX25hbWUKIAorCS50eXBlCWNwdV84OGZyNTMxX25hbWUsICNvYmplY3QKK2NwdV84OGZyNTMxX25hbWU6CisJLmFzY2l6CSJGZXJvY2VvbiA4OEZSNTMxLXZkIgorCS5zaXplCWNwdV84OGZyNTMxX25hbWUsIC4gLSBjcHVfODhmcjUzMV9uYW1lCisKKwkudHlwZQljcHVfODhmcjU3MV9uYW1lLCAjb2JqZWN0CitjcHVfODhmcjU3MV9uYW1lOgorCS5hc2NpegkiRmVyb2Nlb24gODhGUjU3MS12ZCIKKwkuc2l6ZQljcHVfODhmcjU3MV9uYW1lLCAuIC0gY3B1Xzg4ZnI1NzFfbmFtZQorCisJLnR5cGUJY3B1Xzg4ZnIxMzFfbmFtZSwgI29iamVjdAorY3B1Xzg4ZnIxMzFfbmFtZToKKwkuYXNjaXoJIkZlcm9jZW9uIDg4RlIxMzEiCisJLnNpemUJY3B1Xzg4ZnIxMzFfbmFtZSwgLiAtIGNwdV84OGZyMTMxX25hbWUKKwogCS5hbGlnbgogCiAJLnNlY3Rpb24gIi5wcm9jLmluZm8uaW5pdCIsICNhbGxvYywgI2V4ZWNpbnN0cgpAQCAtNDIxLDE1ICs1NjEsMTUgQEAKICNpZmRlZiBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRAogCS50eXBlCV9fZmVyb2Nlb25fb2xkX2lkX3Byb2NfaW5mbywjb2JqZWN0CiBfX2Zlcm9jZW9uX29sZF9pZF9wcm9jX2luZm86Ci0JLmxvbmcJMHg0MTA2OTI2MAotCS5sb25nCTB4ZmZmZmZmZjAKLQkubG9uZyAgIFBNRF9UWVBFX1NFQ1QgfCBcCisJLmxvbmcJMHg0MTAwOTI2MAorCS5sb25nCTB4ZmYwMGZmZjAKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAogCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCiAJCVBNRF9CSVQ0IHwgXAogCQlQTURfU0VDVF9BUF9XUklURSB8IFwKIAkJUE1EX1NFQ1RfQVBfUkVBRAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfQklUNCB8IFwKIAkJUE1EX1NFQ1RfQVBfV1JJVEUgfCBcCiAJCVBNRF9TRUNUX0FQX1JFQUQKQEAgLTQ0NSwxNyArNTg1LDE3IEBACiAJLnNpemUJX19mZXJvY2Vvbl9vbGRfaWRfcHJvY19pbmZvLCAuIC0gX19mZXJvY2Vvbl9vbGRfaWRfcHJvY19pbmZvCiAjZW5kaWYKIAotCS50eXBlCV9fZmVyb2Nlb25fcHJvY19pbmZvLCNvYmplY3QKLV9fZmVyb2Nlb25fcHJvY19pbmZvOgorCS50eXBlCV9fODhmcjUzMV9wcm9jX2luZm8sI29iamVjdAorX184OGZyNTMxX3Byb2NfaW5mbzoKIAkubG9uZwkweDU2MDU1MzEwCiAJLmxvbmcJMHhmZmZmZmZmMAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAogCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCiAJCVBNRF9CSVQ0IHwgXAogCQlQTURfU0VDVF9BUF9XUklURSB8IFwKIAkJUE1EX1NFQ1RfQVBfUkVBRAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfQklUNCB8IFwKIAkJUE1EX1NFQ1RfQVBfV1JJVEUgfCBcCiAJCVBNRF9TRUNUX0FQX1JFQUQKQEAgLTQ2Myw5ICs2MDMsNTkgQEAKIAkubG9uZwljcHVfYXJjaF9uYW1lCiAJLmxvbmcJY3B1X2VsZl9uYW1lCiAJLmxvbmcJSFdDQVBfU1dQfEhXQ0FQX0hBTEZ8SFdDQVBfVEhVTUJ8SFdDQVBfRkFTVF9NVUxUfEhXQ0FQX0VEU1AKLQkubG9uZwljcHVfZmVyb2Nlb25fbmFtZQorCS5sb25nCWNwdV84OGZyNTMxX25hbWUKIAkubG9uZwlmZXJvY2Vvbl9wcm9jZXNzb3JfZnVuY3Rpb25zCiAJLmxvbmcJdjR3YmlfdGxiX2ZucwogCS5sb25nCWZlcm9jZW9uX3VzZXJfZm5zCiAJLmxvbmcJZmVyb2Nlb25fY2FjaGVfZm5zCi0JLnNpemUJX19mZXJvY2Vvbl9wcm9jX2luZm8sIC4gLSBfX2Zlcm9jZW9uX3Byb2NfaW5mbworCS5zaXplCV9fODhmcjUzMV9wcm9jX2luZm8sIC4gLSBfXzg4ZnI1MzFfcHJvY19pbmZvCisKKwkudHlwZQlfXzg4ZnI1NzFfcHJvY19pbmZvLCNvYmplY3QKK19fODhmcjU3MV9wcm9jX2luZm86CisJLmxvbmcJMHg1NjE1NTcxMAorCS5sb25nCTB4ZmZmZmZmZjAKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAorCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAorCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCisJCVBNRF9CSVQ0IHwgXAorCQlQTURfU0VDVF9BUF9XUklURSB8IFwKKwkJUE1EX1NFQ1RfQVBfUkVBRAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCisJCVBNRF9CSVQ0IHwgXAorCQlQTURfU0VDVF9BUF9XUklURSB8IFwKKwkJUE1EX1NFQ1RfQVBfUkVBRAorCWIJX19mZXJvY2Vvbl9zZXR1cAorCS5sb25nCWNwdV9hcmNoX25hbWUKKwkubG9uZwljcHVfZWxmX25hbWUKKwkubG9uZwlIV0NBUF9TV1B8SFdDQVBfSEFMRnxIV0NBUF9USFVNQnxIV0NBUF9GQVNUX01VTFR8SFdDQVBfRURTUAorCS5sb25nCWNwdV84OGZyNTcxX25hbWUKKwkubG9uZwlmZXJvY2Vvbl9wcm9jZXNzb3JfZnVuY3Rpb25zCisJLmxvbmcJdjR3YmlfdGxiX2ZucworCS5sb25nCWZlcm9jZW9uX3VzZXJfZm5zCisJLmxvbmcJZmVyb2Nlb25fcmFuZ2VfY2FjaGVfZm5zCisJLnNpemUJX184OGZyNTcxX3Byb2NfaW5mbywgLiAtIF9fODhmcjU3MV9wcm9jX2luZm8KKworCS50eXBlCV9fODhmcjEzMV9wcm9jX2luZm8sI29iamVjdAorX184OGZyMTMxX3Byb2NfaW5mbzoKKwkubG9uZwkweDU2MjUxMzEwCisJLmxvbmcJMHhmZmZmZmZmMAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCisJCVBNRF9TRUNUX0JVRkZFUkFCTEUgfCBcCisJCVBNRF9TRUNUX0NBQ0hFQUJMRSB8IFwKKwkJUE1EX0JJVDQgfCBcCisJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAorCQlQTURfU0VDVF9BUF9SRUFECisJLmxvbmcJUE1EX1RZUEVfU0VDVCB8IFwKKwkJUE1EX0JJVDQgfCBcCisJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAorCQlQTURfU0VDVF9BUF9SRUFECisJYglfX2Zlcm9jZW9uX3NldHVwCisJLmxvbmcJY3B1X2FyY2hfbmFtZQorCS5sb25nCWNwdV9lbGZfbmFtZQorCS5sb25nCUhXQ0FQX1NXUHxIV0NBUF9IQUxGfEhXQ0FQX1RIVU1CfEhXQ0FQX0ZBU1RfTVVMVHxIV0NBUF9FRFNQCisJLmxvbmcJY3B1Xzg4ZnIxMzFfbmFtZQorCS5sb25nCWZlcm9jZW9uX3Byb2Nlc3Nvcl9mdW5jdGlvbnMKKwkubG9uZwl2NHdiaV90bGJfZm5zCisJLmxvbmcJZmVyb2Nlb25fdXNlcl9mbnMKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9jYWNoZV9mbnMKKwkuc2l6ZQlfXzg4ZnIxMzFfcHJvY19pbmZvLCAuIC0gX184OGZyMTMxX3Byb2NfaW5mbwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vb3Byb2ZpbGUvb3BfbW9kZWxfbXBjb3JlLmMgYi9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYwppbmRleCA3NGZhZTYwLi40NDU4NzA1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYworKysgYi9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYwpAQCAtMjAxLDcgKzIwMSw3IEBACiAJZGF0YS5yZXQgPSAwOwogCiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oZW1fZnVuYywgJmRhdGEsIDEsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGVtX2Z1bmMsICZkYXRhLCAxKTsKIAllbV9mdW5jKCZkYXRhKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LWlvcC9ncGlvLmMgYi9hcmNoL2FybS9wbGF0LWlvcC9ncGlvLmMKaW5kZXggZWRhNDM2MC4uNjQwZTQ5OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1pb3AvZ3Bpby5jCisrKyBiL2FyY2gvYXJtL3BsYXQtaW9wL2dwaW8uYwpAQCAtMTEsNiArMTEsMTAgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2lvcDN4eC5oPgogCiB2b2lkIGdwaW9fbGluZV9jb25maWcoaW50IGxpbmUsIGludCBkaXJlY3Rpb24pCkBAIC00NiwzICs1MCw0MiBAQAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0woZ3Bpb19saW5lX3NldCk7CisKK3N0YXRpYyBpbnQgaW9wM3h4X2dwaW9fZGlyZWN0aW9uX2lucHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8pCit7CisJZ3Bpb19saW5lX2NvbmZpZyhncGlvLCBHUElPX0lOKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb3AzeHhfZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8sIGludCBsZXZlbCkKK3sKKwlncGlvX2xpbmVfc2V0KGdwaW8sIGxldmVsKTsKKwlncGlvX2xpbmVfY29uZmlnKGdwaW8sIEdQSU9fT1VUKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb3AzeHhfZ3Bpb19nZXRfdmFsdWUoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgZ3BpbykKK3sKKwlyZXR1cm4gZ3Bpb19saW5lX2dldChncGlvKTsKK30KKworc3RhdGljIHZvaWQgaW9wM3h4X2dwaW9fc2V0X3ZhbHVlKHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8sIGludCB2YWx1ZSkKK3sKKwlncGlvX2xpbmVfc2V0KGdwaW8sIHZhbHVlKTsKK30KKworc3RhdGljIHN0cnVjdCBncGlvX2NoaXAgaW9wM3h4X2NoaXAgPSB7CisJLmxhYmVsCQkJPSAiaW9wM3h4IiwKKwkuZGlyZWN0aW9uX2lucHV0CT0gaW9wM3h4X2dwaW9fZGlyZWN0aW9uX2lucHV0LAorCS5nZXQJCQk9IGlvcDN4eF9ncGlvX2dldF92YWx1ZSwKKwkuZGlyZWN0aW9uX291dHB1dAk9IGlvcDN4eF9ncGlvX2RpcmVjdGlvbl9vdXRwdXQsCisJLnNldAkJCT0gaW9wM3h4X2dwaW9fc2V0X3ZhbHVlLAorCS5iYXNlCQkJPSAwLAorCS5uZ3BpbwkJCT0gSU9QM1hYX05fR1BJT1MsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBpb3AzeHhfZ3Bpb19zZXR1cCh2b2lkKQoreworCXJldHVybiBncGlvY2hpcF9hZGQoJmlvcDN4eF9jaGlwKTsKK30KK2FyY2hfaW5pdGNhbGwoaW9wM3h4X2dwaW9fc2V0dXApOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1teGMvS2NvbmZpZyBiL2FyY2gvYXJtL3BsYXQtbXhjL0tjb25maWcKaW5kZXggYmI2ZTEyNy4uZTE0ZWFhZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1teGMvS2NvbmZpZworKysgYi9hcmNoL2FybS9wbGF0LW14Yy9LY29uZmlnCkBAIC0zLDkgKzMsMTQgQEAKIG1lbnUgIkZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zIgogCiBjaG9pY2UKLQlwcm9tcHQgIk1YQy9pTVggU3lzdGVtIFR5cGUiCisJcHJvbXB0ICJNWEMvaU1YIEJhc2UgVHlwZSIKIAlkZWZhdWx0IEFSQ0hfTVgzCiAKK2NvbmZpZyBBUkNIX01YMgorCWJvb2wgIk1YMi1iYXNlZCIKKwloZWxwCisJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3Igc3lzdGVtcyBiYXNlZCBvbiB0aGUgRnJlZXNjYWxlIGkuTVgyIGZhbWlseQorCiBjb25maWcgQVJDSF9NWDMKIAlib29sICJNWDMtYmFzZWQiCiAJaGVscApAQCAtMTMsNiArMTgsNyBAQAogCiBlbmRjaG9pY2UKIAorc291cmNlICJhcmNoL2FybS9tYWNoLW14Mi9LY29uZmlnIgogc291cmNlICJhcmNoL2FybS9tYWNoLW14My9LY29uZmlnIgogCiBlbmRtZW51CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9NYWtlZmlsZSBiL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCmluZGV4IGY5NmRjMDMuLmRiNjZlOWEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCkBAIC0zLDQgKzMsNiBAQAogIwogCiAjIENvbW1vbiBzdXBwb3J0Ci1vYmoteSA6PSBpcnEubworb2JqLXkgOj0gaXJxLm8gY2xvY2subyBncGlvLm8gdGltZS5vCisKK29iai0kKENPTkZJR19BUkNIX01YMikgKz0gaW9tdXgtbXgxLW14Mi5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9jbG9jay5jIGIvYXJjaC9hcm0vcGxhdC1teGMvY2xvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWE4NmZkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vcGxhdC1teGMvY2xvY2suYwpAQCAtMCwwICsxLDMzMSBAQAorLyoKKyAqIEJhc2VkIG9uIGFyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0IC0gMjAwNSBOb2tpYSBjb3Jwb3JhdGlvbgorICogV3JpdHRlbiBieSBUdXVra2EgVGlra2FuZW4gPHR1dWtrYS50aWtrYW5lbkBlbGVrdHJvYml0LmNvbT4KKyAqIE1vZGlmaWVkIGZvciBvbWFwIHNoYXJlZCBjbG9jayBmcmFtZXdvcmsgYnkgVG9ueSBMaW5kZ3JlbiA8dG9ueUBhdG9taWRlLmNvbT4KKyAqIENvcHlyaWdodCAyMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvKiAjZGVmaW5lIERFQlVHICovCisKKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZW1hcGhvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgorCitzdGF0aWMgTElTVF9IRUFEKGNsb2Nrcyk7CitzdGF0aWMgREVGSU5FX01VVEVYKGNsb2Nrc19tdXRleCk7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogU3RhbmRhcmQgY2xvY2sgZnVuY3Rpb25zIGRlZmluZWQgaW4gaW5jbHVkZS9saW51eC9jbGsuaAorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIFJldHJpZXZlIGEgY2xvY2sgYnkgbmFtZS4KKyAqCisgKiBOb3RlIHRoYXQgd2UgZmlyc3QgdHJ5IHRvIHVzZSBkZXZpY2UgaWQgb24gdGhlIGJ1cworICogYW5kIGNsb2NrIG5hbWUuIElmIHRoaXMgZmFpbHMsIHdlIHRyeSB0byB1c2UgIjxuYW1lPi48aWQ+Ii4gSWYgdGhpcyBmYWlscywKKyAqIHdlIHRyeSB0byB1c2UgY2xvY2sgbmFtZSBvbmx5LgorICogVGhlIHJlZmVyZW5jZSBjb3VudCB0byB0aGUgY2xvY2sncyBtb2R1bGUgb3duZXIgcmVmIGNvdW50IGlzIGluY3JlbWVudGVkLgorICovCitzdHJ1Y3QgY2xrICpjbGtfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqaWQpCit7CisJc3RydWN0IGNsayAqcCwgKmNsayA9IEVSUl9QVFIoLUVOT0VOVCk7CisJaW50IGlkbm87CisJY29uc3QgY2hhciAqc3RyOworCisJaWYgKGlkID09IE5VTEwpCisJCXJldHVybiBjbGs7CisKKwlpZiAoZGV2ID09IE5VTEwgfHwgZGV2LT5idXMgIT0gJnBsYXRmb3JtX2J1c190eXBlKQorCQlpZG5vID0gLTE7CisJZWxzZQorCQlpZG5vID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRldiktPmlkOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgeworCQlpZiAocC0+aWQgPT0gaWRubyAmJgorCQkgICAgc3RyY21wKGlkLCBwLT5uYW1lKSA9PSAwICYmIHRyeV9tb2R1bGVfZ2V0KHAtPm93bmVyKSkgeworCQkJY2xrID0gcDsKKwkJCWdvdG8gZm91bmQ7CisJCX0KKwl9CisKKwlzdHIgPSBzdHJyY2hyKGlkLCAnLicpOworCWlmIChzdHIpIHsKKwkJaW50IGNudCA9IHN0ciAtIGlkOworCQlzdHIrKzsKKwkJaWRubyA9IHNpbXBsZV9zdHJ0b2woc3RyLCBOVUxMLCAxMCk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgeworCQkJaWYgKHAtPmlkID09IGlkbm8gJiYKKwkJCSAgICBzdHJsZW4ocC0+bmFtZSkgPT0gY250ICYmCisJCQkgICAgc3RybmNtcChpZCwgcC0+bmFtZSwgY250KSA9PSAwICYmCisJCQkgICAgdHJ5X21vZHVsZV9nZXQocC0+b3duZXIpKSB7CisJCQkJY2xrID0gcDsKKwkJCQlnb3RvIGZvdW5kOworCQkJfQorCQl9CisJfQorCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwLCAmY2xvY2tzLCBub2RlKSB7CisJCWlmIChzdHJjbXAoaWQsIHAtPm5hbWUpID09IDAgJiYgdHJ5X21vZHVsZV9nZXQocC0+b3duZXIpKSB7CisJCQljbGsgPSBwOworCQkJZ290byBmb3VuZDsKKwkJfQorCX0KKworCXByaW50ayhLRVJOX1dBUk5JTkcgImNsazogVW5hYmxlIHRvIGdldCByZXF1ZXN0ZWQgY2xvY2s6ICVzXG4iLCBpZCk7CisKK2ZvdW5kOgorCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiBjbGs7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19nZXQpOworCitzdGF0aWMgdm9pZCBfX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybjsKKworCV9fY2xrX2Rpc2FibGUoY2xrLT5wYXJlbnQpOworCV9fY2xrX2Rpc2FibGUoY2xrLT5zZWNvbmRhcnkpOworCisJaWYgKCEoLS1jbGstPnVzZWNvdW50KSAmJiBjbGstPmRpc2FibGUpCisJCWNsay0+ZGlzYWJsZShjbGspOworfQorCitzdGF0aWMgaW50IF9fY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fY2xrX2VuYWJsZShjbGstPnBhcmVudCk7CisJX19jbGtfZW5hYmxlKGNsay0+c2Vjb25kYXJ5KTsKKworCWlmIChjbGstPnVzZWNvdW50KysgPT0gMCAmJiBjbGstPmVuYWJsZSkKKwkJY2xrLT5lbmFibGUoY2xrKTsKKworCXJldHVybiAwOworfQorCisvKiBUaGlzIGZ1bmN0aW9uIGluY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudCBvbiB0aGUgY2xvY2sgYW5kIGVuYWJsZXMgdGhlCisgKiBjbG9jayBpZiBub3QgYWxyZWFkeSBlbmFibGVkLiBUaGUgcGFyZW50IGNsb2NrIHRyZWUgaXMgcmVjdXJzaXZlbHkgZW5hYmxlZAorICovCitpbnQgY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybiAtRUlOVkFMOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKwlyZXQgPSBfX2Nsa19lbmFibGUoY2xrKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfZW5hYmxlKTsKKworLyogVGhpcyBmdW5jdGlvbiBkZWNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQgb24gdGhlIGNsb2NrIGFuZCBkaXNhYmxlcworICogdGhlIGNsb2NrIHdoZW4gcmVmZXJlbmNlIGNvdW50IGlzIDAuIFRoZSBwYXJlbnQgY2xvY2sgdHJlZSBpcworICogcmVjdXJzaXZlbHkgZGlzYWJsZWQKKyAqLwordm9pZCBjbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCV9fY2xrX2Rpc2FibGUoY2xrKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19kaXNhYmxlKTsKKworLyogUmV0cmlldmUgdGhlICpjdXJyZW50KiBjbG9jayByYXRlLiBJZiB0aGUgY2xvY2sgaXRzZWxmCisgKiBkb2VzIG5vdCBwcm92aWRlIGEgc3BlY2lhbCBjYWxjdWxhdGlvbiByb3V0aW5lLCBhc2sKKyAqIGl0cyBwYXJlbnQgYW5kIHNvIG9uLCB1bnRpbCBvbmUgaXMgYWJsZSB0byByZXR1cm4KKyAqIGEgdmFsaWQgY2xvY2sgcmF0ZQorICovCit1bnNpZ25lZCBsb25nIGNsa19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gMFVMOworCisJaWYgKGNsay0+Z2V0X3JhdGUpCisJCXJldHVybiBjbGstPmdldF9yYXRlKGNsayk7CisKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKK30KK0VYUE9SVF9TWU1CT0woY2xrX2dldF9yYXRlKTsKKworLyogRGVjcmVtZW50IHRoZSBjbG9jaydzIG1vZHVsZSByZWZlcmVuY2UgY291bnQgKi8KK3ZvaWQgY2xrX3B1dChzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayAmJiAhSVNfRVJSKGNsaykpCisJCW1vZHVsZV9wdXQoY2xrLT5vd25lcik7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19wdXQpOworCisvKiBSb3VuZCB0aGUgcmVxdWVzdGVkIGNsb2NrIHJhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkCisgKiByYXRlIHRoYXQgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSByZXF1ZXN0ZWQgcmF0ZS4KKyAqIFRoaXMgaXMgZGVwZW5kZW50IG9uIHRoZSBjbG9jaydzIGN1cnJlbnQgcGFyZW50LgorICovCitsb25nIGNsa19yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWlmIChjbGsgPT0gTlVMTCB8fCBJU19FUlIoY2xrKSB8fCAhY2xrLT5yb3VuZF9yYXRlKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBjbGstPnJvdW5kX3JhdGUoY2xrLCByYXRlKTsKK30KK0VYUE9SVF9TWU1CT0woY2xrX3JvdW5kX3JhdGUpOworCisvKiBTZXQgdGhlIGNsb2NrIHRvIHRoZSByZXF1ZXN0ZWQgY2xvY2sgcmF0ZS4gVGhlIHJhdGUgbXVzdAorICogbWF0Y2ggYSBzdXBwb3J0ZWQgcmF0ZSBleGFjdGx5IGJhc2VkIG9uIHdoYXQgY2xrX3JvdW5kX3JhdGUgcmV0dXJucworICovCitpbnQgY2xrX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWludCByZXQgPSAtRUlOVkFMOworCisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspIHx8IGNsay0+c2V0X3JhdGUgPT0gTlVMTCB8fCByYXRlID09IDApCisJCXJldHVybiByZXQ7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCXJldCA9IGNsay0+c2V0X3JhdGUoY2xrLCByYXRlKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfc2V0X3JhdGUpOworCisvKiBTZXQgdGhlIGNsb2NrJ3MgcGFyZW50IHRvIGFub3RoZXIgY2xvY2sgc291cmNlICovCitpbnQgY2xrX3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJaW50IHJldCA9IC1FSU5WQUw7CisKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykgfHwgcGFyZW50ID09IE5VTEwgfHwKKwkgICAgSVNfRVJSKHBhcmVudCkgfHwgY2xrLT5zZXRfcGFyZW50ID09IE5VTEwpCisJCXJldHVybiByZXQ7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCXJldCA9IGNsay0+c2V0X3BhcmVudChjbGssIHBhcmVudCk7CisJaWYgKHJldCA9PSAwKQorCQljbGstPnBhcmVudCA9IHBhcmVudDsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfc2V0X3BhcmVudCk7CisKKy8qIFJldHJpZXZlIHRoZSBjbG9jaydzIHBhcmVudCBjbG9jayBzb3VyY2UgKi8KK3N0cnVjdCBjbGsgKmNsa19nZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgY2xrICpyZXQgPSBOVUxMOworCisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gcmV0OworCisJcmV0dXJuIGNsay0+cGFyZW50OworfQorRVhQT1JUX1NZTUJPTChjbGtfZ2V0X3BhcmVudCk7CisKKy8qCisgKiBBZGQgYSBuZXcgY2xvY2sgdG8gdGhlIGNsb2NrIHRyZWUuCisgKi8KK2ludCBjbGtfcmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrKQoreworCWlmIChjbGsgPT0gTlVMTCB8fCBJU19FUlIoY2xrKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCWxpc3RfYWRkKCZjbGstPm5vZGUsICZjbG9ja3MpOworCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChjbGtfcmVnaXN0ZXIpOworCisvKiBSZW1vdmUgYSBjbG9jayBmcm9tIHRoZSBjbG9jayB0cmVlICovCit2b2lkIGNsa191bnJlZ2lzdGVyKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmNsb2Nrc19tdXRleCk7CisJbGlzdF9kZWwoJmNsay0+bm9kZSk7CisJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOworfQorRVhQT1JUX1NZTUJPTChjbGtfdW5yZWdpc3Rlcik7CisKKyNpZmRlZiBDT05GSUdfUFJPQ19GUworc3RhdGljIGludCBteGNfY2xvY2tfcmVhZF9wcm9jKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAorCQkJCWludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNsayAqY2xrcDsKKwljaGFyICpwID0gcGFnZTsKKwlpbnQgbGVuOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShjbGtwLCAmY2xvY2tzLCBub2RlKSB7CisJCXAgKz0gc3ByaW50ZihwLCAiJXMtJWQ6XHRcdCVsdSwgJWQiLCBjbGtwLT5uYW1lLCBjbGtwLT5pZCwKKwkJCQljbGtfZ2V0X3JhdGUoY2xrcCksIGNsa3AtPnVzZWNvdW50KTsKKwkJaWYgKGNsa3AtPnBhcmVudCkKKwkJCXAgKz0gc3ByaW50ZihwLCAiLCAlcy0lZFxuIiwgY2xrcC0+cGFyZW50LT5uYW1lLAorCQkJCSAgICAgY2xrcC0+cGFyZW50LT5pZCk7CisJCWVsc2UKKwkJCXAgKz0gc3ByaW50ZihwLCAiXG4iKTsKKwl9CisKKwlsZW4gPSAocCAtIHBhZ2UpIC0gb2ZmOworCWlmIChsZW4gPCAwKQorCQlsZW4gPSAwOworCisJKmVvZiA9IChsZW4gPD0gY291bnQpID8gMSA6IDA7CisJKnN0YXJ0ID0gcGFnZSArIG9mZjsKKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG14Y19zZXR1cF9wcm9jX2VudHJ5KHZvaWQpCit7CisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICpyZXM7CisKKwlyZXMgPSBjcmVhdGVfcHJvY19yZWFkX2VudHJ5KCJjcHUvY2xvY2tzIiwgMCwgTlVMTCwKKwkJCQkgICAgIG14Y19jbG9ja19yZWFkX3Byb2MsIE5VTEwpOworCWlmICghcmVzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGNyZWF0ZSBwcm9jL2NwdS9jbG9ja3NcbiIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2xhdGVfaW5pdGNhbGwobXhjX3NldHVwX3Byb2NfZW50cnkpOworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9ncGlvLmMgYi9hcmNoL2FybS9wbGF0LW14Yy9ncGlvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE3NzM2NwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL2dwaW8uYwpAQCAtMCwwICsxLDI1MyBAQAorLyoKKyAqIE1YQyBHUElPIHN1cHBvcnQuIChjKSAyMDA4IERhbmllbCBNYWNrIDxkYW5pZWxAY2FpYXEuZGU+CisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSBGcmVlc2NhbGUsCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9idWcuaD4KKworc3RhdGljIHN0cnVjdCBteGNfZ3Bpb19wb3J0ICpteGNfZ3Bpb19wb3J0czsKK3N0YXRpYyBpbnQgZ3Bpb190YWJsZV9zaXplOworCisvKiBOb3RlOiBUaGlzIGRyaXZlciBhc3N1bWVzIDMyIEdQSU9zIGFyZSBoYW5kbGVkIGluIG9uZSByZWdpc3RlciAqLworCitzdGF0aWMgdm9pZCBfY2xlYXJfZ3Bpb19pcnFzdGF0dXMoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIHUzMiBpbmRleCkKK3sKKwlfX3Jhd193cml0ZWwoMSA8PCBpbmRleCwgcG9ydC0+YmFzZSArIEdQSU9fSVNSKTsKK30KKworc3RhdGljIHZvaWQgX3NldF9ncGlvX2lycWVuYWJsZShzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCwgdTMyIGluZGV4LAorCQkJCWludCBlbmFibGUpCit7CisJdTMyIGw7CisKKwlsID0gX19yYXdfcmVhZGwocG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKKwlsID0gKGwgJiAofigxIDw8IGluZGV4KSkpIHwgKCEhZW5hYmxlIDw8IGluZGV4KTsKKwlfX3Jhd193cml0ZWwobCwgcG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKK30KKworc3RhdGljIHZvaWQgZ3Bpb19hY2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9jbGVhcl9ncGlvX2lycXN0YXR1cygmbXhjX2dwaW9fcG9ydHNbZ3BpbyAvIDMyXSwgZ3BpbyAmIDB4MWYpOworfQorCitzdGF0aWMgdm9pZCBncGlvX21hc2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9zZXRfZ3Bpb19pcnFlbmFibGUoJm14Y19ncGlvX3BvcnRzW2dwaW8gLyAzMl0sIGdwaW8gJiAweDFmLCAwKTsKK30KKworc3RhdGljIHZvaWQgZ3Bpb191bm1hc2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9zZXRfZ3Bpb19pcnFlbmFibGUoJm14Y19ncGlvX3BvcnRzW2dwaW8gLyAzMl0sIGdwaW8gJiAweDFmLCAxKTsKK30KKworc3RhdGljIGludCBncGlvX3NldF9pcnFfdHlwZSh1MzIgaXJxLCB1MzIgdHlwZSkKK3sKKwl1MzIgZ3BpbyA9IGlycV90b19ncGlvKGlycSk7CisJc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQgPSAmbXhjX2dwaW9fcG9ydHNbZ3BpbyAvIDMyXTsKKwl1MzIgYml0LCB2YWw7CisJaW50IGVkZ2U7CisJdm9pZCBfX2lvbWVtICpyZWcgPSBwb3J0LT5iYXNlOworCisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBJUlFUX1JJU0lORzoKKwkJZWRnZSA9IEdQSU9fSU5UX1JJU0VfRURHRTsKKwkJYnJlYWs7CisJY2FzZSBJUlFUX0ZBTExJTkc6CisJCWVkZ2UgPSBHUElPX0lOVF9GQUxMX0VER0U7CisJCWJyZWFrOworCWNhc2UgSVJRVF9MT1c6CisJCWVkZ2UgPSBHUElPX0lOVF9MT1dfTEVWOworCQlicmVhazsKKwljYXNlIElSUVRfSElHSDoKKwkJZWRnZSA9IEdQSU9fSU5UX0hJR0hfTEVWOworCQlicmVhazsKKwlkZWZhdWx0OgkvKiB0aGlzIGluY2x1ZGVzIElSUVRfQk9USEVER0UgKi8KKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmVnICs9IEdQSU9fSUNSMSArICgoZ3BpbyAmIDB4MTApID4+IDIpOyAvKiBsb3dlciBvciB1cHBlciByZWdpc3RlciAqLworCWJpdCA9IGdwaW8gJiAweGY7CisJdmFsID0gX19yYXdfcmVhZGwocmVnKSAmIH4oMHgzIDw8IChiaXQgPDwgMSkpOworCV9fcmF3X3dyaXRlbCh2YWwgfCAoZWRnZSA8PCAoYml0IDw8IDEpKSwgcmVnKTsKKwlfY2xlYXJfZ3Bpb19pcnFzdGF0dXMocG9ydCwgZ3BpbyAmIDB4MWYpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGhhbmRsZSBuIGludGVycnVwdHMgaW4gb25lIHN0YXR1cyByZWdpc3RlciAqLworc3RhdGljIHZvaWQgbXhjX2dwaW9faXJxX2hhbmRsZXIoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIHUzMiBpcnFfc3RhdCkKK3sKKwl1MzIgZ3Bpb19pcnFfbm87CisKKwlncGlvX2lycV9ubyA9IHBvcnQtPnZpcnR1YWxfaXJxX3N0YXJ0OworCWZvciAoOyBpcnFfc3RhdCAhPSAwOyBpcnFfc3RhdCA+Pj0gMSwgZ3Bpb19pcnFfbm8rKykgeworCisJCWlmICgoaXJxX3N0YXQgJiAxKSA9PSAwKQorCQkJY29udGludWU7CisKKwkJQlVHX09OKCEoaXJxX2Rlc2NbZ3Bpb19pcnFfbm9dLmhhbmRsZV9pcnEpKTsKKwkJaXJxX2Rlc2NbZ3Bpb19pcnFfbm9dLmhhbmRsZV9pcnEoZ3Bpb19pcnFfbm8sCisJCQkJJmlycV9kZXNjW2dwaW9faXJxX25vXSk7CisJfQorfQorCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgzCisvKiBNWDMgaGFzIG9uZSBpbnRlcnJ1cHQgKnBlciogZ3BpbyBwb3J0ICovCitzdGF0aWMgdm9pZCBteDNfZ3Bpb19pcnFfaGFuZGxlcih1MzIgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCit7CisJdTMyIGlycV9zdGF0OworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0gKHN0cnVjdCBteGNfZ3Bpb19wb3J0ICopZ2V0X2lycV9kYXRhKGlycSk7CisKKwlpcnFfc3RhdCA9IF9fcmF3X3JlYWRsKHBvcnQtPmJhc2UgKyBHUElPX0lTUikgJgorCQkJX19yYXdfcmVhZGwocG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKKwlCVUdfT04oIWlycV9zdGF0KTsKKwlteGNfZ3Bpb19pcnFfaGFuZGxlcihwb3J0LCBpcnFfc3RhdCk7Cit9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorLyogTVgyIGhhcyBvbmUgaW50ZXJydXB0ICpmb3IgYWxsKiBncGlvIHBvcnRzICovCitzdGF0aWMgdm9pZCBteDJfZ3Bpb19pcnFfaGFuZGxlcih1MzIgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCit7CisJaW50IGk7CisJdTMyIGlycV9tc2ssIGlycV9zdGF0OworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0gKHN0cnVjdCBteGNfZ3Bpb19wb3J0ICopZ2V0X2lycV9kYXRhKGlycSk7CisKKwkvKiB3YWxrIHRocm91Z2ggYWxsIGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXJzICovCisJZm9yIChpID0gMDsgaSA8IGdwaW9fdGFibGVfc2l6ZTsgaSsrKSB7CisJCWlycV9tc2sgPSBfX3Jhd19yZWFkbChwb3J0W2ldLmJhc2UgKyBHUElPX0lNUik7CisJCWlmICghaXJxX21zaykKKwkJCWNvbnRpbnVlOworCisJCWlycV9zdGF0ID0gX19yYXdfcmVhZGwocG9ydFtpXS5iYXNlICsgR1BJT19JU1IpICYgaXJxX21zazsKKwkJaWYgKGlycV9zdGF0KQorCQkJbXhjX2dwaW9faXJxX2hhbmRsZXIoJnBvcnRbaV0sIGlycV9zdGF0KTsKKwl9Cit9CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBncGlvX2lycV9jaGlwID0geworCS5hY2sgPSBncGlvX2Fja19pcnEsCisJLm1hc2sgPSBncGlvX21hc2tfaXJxLAorCS51bm1hc2sgPSBncGlvX3VubWFza19pcnEsCisJLnNldF90eXBlID0gZ3Bpb19zZXRfaXJxX3R5cGUsCit9OworCitzdGF0aWMgdm9pZCBfc2V0X2dwaW9fZGlyZWN0aW9uKHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIG9mZnNldCwKKwkJCQlpbnQgZGlyKQoreworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0KKwkJY29udGFpbmVyX29mKGNoaXAsIHN0cnVjdCBteGNfZ3Bpb19wb3J0LCBjaGlwKTsKKwl1MzIgbDsKKworCWwgPSBfX3Jhd19yZWFkbChwb3J0LT5iYXNlICsgR1BJT19HRElSKTsKKwlpZiAoZGlyKQorCQlsIHw9IDEgPDwgb2Zmc2V0OworCWVsc2UKKwkJbCAmPSB+KDEgPDwgb2Zmc2V0KTsKKwlfX3Jhd193cml0ZWwobCwgcG9ydC0+YmFzZSArIEdQSU9fR0RJUik7Cit9CisKK3N0YXRpYyB2b2lkIG14Y19ncGlvX3NldChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCA9CisJCWNvbnRhaW5lcl9vZihjaGlwLCBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCwgY2hpcCk7CisJdm9pZCBfX2lvbWVtICpyZWcgPSBwb3J0LT5iYXNlICsgR1BJT19EUjsKKwl1MzIgbDsKKworCWwgPSAoX19yYXdfcmVhZGwocmVnKSAmICh+KDEgPDwgb2Zmc2V0KSkpIHwgKHZhbHVlIDw8IG9mZnNldCk7CisJX19yYXdfd3JpdGVsKGwsIHJlZyk7Cit9CisKK3N0YXRpYyBpbnQgbXhjX2dwaW9fZ2V0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIG9mZnNldCkKK3sKKwlzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCA9CisJCWNvbnRhaW5lcl9vZihjaGlwLCBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCwgY2hpcCk7CisKKwlyZXR1cm4gKF9fcmF3X3JlYWRsKHBvcnQtPmJhc2UgKyBHUElPX0RSKSA+PiBvZmZzZXQpICYgMTsKK30KKworc3RhdGljIGludCBteGNfZ3Bpb19kaXJlY3Rpb25faW5wdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCV9zZXRfZ3Bpb19kaXJlY3Rpb24oY2hpcCwgb2Zmc2V0LCAwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBteGNfZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsCisJCQkJICAgICB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlfc2V0X2dwaW9fZGlyZWN0aW9uKGNoaXAsIG9mZnNldCwgMSk7CisJbXhjX2dwaW9fc2V0KGNoaXAsIG9mZnNldCwgdmFsdWUpOworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IG14Y19ncGlvX2luaXQoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIGludCBjbnQpCit7CisJaW50IGksIGo7CisKKwkvKiBzYXZlIGZvciBsb2NhbCB1c2FnZSAqLworCW14Y19ncGlvX3BvcnRzID0gcG9ydDsKKwlncGlvX3RhYmxlX3NpemUgPSBjbnQ7CisKKwlwcmludGsoS0VSTl9JTkZPICJNWEMgR1BJTyBoYXJkd2FyZVxuIik7CisKKwlmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKwkJLyogZGlzYWJsZSB0aGUgaW50ZXJydXB0IGFuZCBjbGVhciB0aGUgc3RhdHVzICovCisJCV9fcmF3X3dyaXRlbCgwLCBwb3J0W2ldLmJhc2UgKyBHUElPX0lNUik7CisJCV9fcmF3X3dyaXRlbCh+MCwgcG9ydFtpXS5iYXNlICsgR1BJT19JU1IpOworCQlmb3IgKGogPSBwb3J0W2ldLnZpcnR1YWxfaXJxX3N0YXJ0OworCQkJaiA8IHBvcnRbaV0udmlydHVhbF9pcnFfc3RhcnQgKyAzMjsgaisrKSB7CisJCQlzZXRfaXJxX2NoaXAoaiwgJmdwaW9faXJxX2NoaXApOworCQkJc2V0X2lycV9oYW5kbGVyKGosIGhhbmRsZV9lZGdlX2lycSk7CisJCQlzZXRfaXJxX2ZsYWdzKGosIElSUUZfVkFMSUQpOworCQl9CisKKwkJLyogcmVnaXN0ZXIgZ3BpbyBjaGlwICovCisJCXBvcnRbaV0uY2hpcC5kaXJlY3Rpb25faW5wdXQgPSBteGNfZ3Bpb19kaXJlY3Rpb25faW5wdXQ7CisJCXBvcnRbaV0uY2hpcC5kaXJlY3Rpb25fb3V0cHV0ID0gbXhjX2dwaW9fZGlyZWN0aW9uX291dHB1dDsKKwkJcG9ydFtpXS5jaGlwLmdldCA9IG14Y19ncGlvX2dldDsKKwkJcG9ydFtpXS5jaGlwLnNldCA9IG14Y19ncGlvX3NldDsKKwkJcG9ydFtpXS5jaGlwLmJhc2UgPSBpICogMzI7CisJCXBvcnRbaV0uY2hpcC5uZ3BpbyA9IDMyOworCisJCS8qIGl0cyBhIHNlcmlvdXMgY29uZmlndXJhdGlvbiBidWcgd2hlbiBpdCBmYWlscyAqLworCQlCVUdfT04oIGdwaW9jaGlwX2FkZCgmcG9ydFtpXS5jaGlwKSA8IDAgKTsKKworI2lmZGVmIENPTkZJR19BUkNIX01YMworCQkvKiBzZXR1cCBvbmUgaGFuZGxlciBmb3IgZWFjaCBlbnRyeSAqLworCQlzZXRfaXJxX2NoYWluZWRfaGFuZGxlcihwb3J0W2ldLmlycSwgbXgzX2dwaW9faXJxX2hhbmRsZXIpOworCQlzZXRfaXJxX2RhdGEocG9ydFtpXS5pcnEsICZwb3J0W2ldKTsKKyNlbmRpZgorCX0KKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorCS8qIHNldHVwIG9uZSBoYW5kbGVyIGZvciBhbGwgR1BJTyBpbnRlcnJ1cHRzICovCisJc2V0X2lycV9jaGFpbmVkX2hhbmRsZXIocG9ydFswXS5pcnEsIG14Ml9ncGlvX2lycV9oYW5kbGVyKTsKKwlzZXRfaXJxX2RhdGEocG9ydFswXS5pcnEsIHBvcnQpOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9pb211eC1teDEtbXgyLmMgYi9hcmNoL2FybS9wbGF0LW14Yy9pb211eC1teDEtbXgyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk4NTU3MQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL2lvbXV4LW14MS1teDIuYwpAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqICBhcmNoL2FybS9tYWNoLW14Yy9nZW5lcmljLmMKKyAqCisgKiAgYXV0aG9yOiBTYXNjaGEgSGF1ZXIKKyAqICBDcmVhdGVkOiBhcHJpbCAyMHRoLCAyMDA0CisgKiAgQ29weXJpZ2h0OiBTeW5lcnRyb25peHggR21iSAorICoKKyAqICBDb21tb24gY29kZSBmb3IgaS5NWCBtYWNoaW5lcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14MS1teDIuaD4KKwordm9pZCBteGNfZ3Bpb19tb2RlKGludCBncGlvX21vZGUpCit7CisJdW5zaWduZWQgaW50IHBpbiA9IGdwaW9fbW9kZSAmIEdQSU9fUElOX01BU0s7CisJdW5zaWduZWQgaW50IHBvcnQgPSAoZ3Bpb19tb2RlICYgR1BJT19QT1JUX01BU0spID4+IEdQSU9fUE9SVF9TSElGVDsKKwl1bnNpZ25lZCBpbnQgb2NyID0gKGdwaW9fbW9kZSAmIEdQSU9fT0NSX01BU0spID4+IEdQSU9fT0NSX1NISUZUOworCXVuc2lnbmVkIGludCB0bXA7CisKKwkvKiBQdWxsdXAgZW5hYmxlICovCisJdG1wID0gX19yYXdfcmVhZGwoVkFfR1BJT19CQVNFICsgTVhDX1BVRU4ocG9ydCkpOworCWlmIChncGlvX21vZGUgJiBHUElPX1BVRU4pCisJCXRtcCB8PSAoMSA8PCBwaW4pOworCWVsc2UKKwkJdG1wICY9IH4oMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19QVUVOKHBvcnQpKTsKKworCS8qIERhdGEgZGlyZWN0aW9uICovCisJdG1wID0gX19yYXdfcmVhZGwoVkFfR1BJT19CQVNFICsgTVhDX0RESVIocG9ydCkpOworCWlmIChncGlvX21vZGUgJiBHUElPX09VVCkKKwkJdG1wIHw9IDEgPDwgcGluOworCWVsc2UKKwkJdG1wICY9IH4oMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19ERElSKHBvcnQpKTsKKworCS8qIFByaW1hcnkgLyBhbHRlcm5hdGUgZnVuY3Rpb24gKi8KKwl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfR1BSKHBvcnQpKTsKKwlpZiAoZ3Bpb19tb2RlICYgR1BJT19BRikKKwkJdG1wIHw9ICgxIDw8IHBpbik7CisJZWxzZQorCQl0bXAgJj0gfigxIDw8IHBpbik7CisJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0dQUihwb3J0KSk7CisKKwkvKiB1c2UgYXMgZ3Bpbz8gKi8KKwl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfR0lVUyhwb3J0KSk7CisJaWYgKGdwaW9fbW9kZSAmIChHUElPX1BGIHwgR1BJT19BRikpCisJCXRtcCAmPSB+KDEgPDwgcGluKTsKKwllbHNlCisJCXRtcCB8PSAoMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19HSVVTKHBvcnQpKTsKKworCWlmIChwaW4gPCAxNikgeworCQl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfT0NSMShwb3J0KSk7CisJCXRtcCAmPSB+KDMgPDwgKHBpbiAqIDIpKTsKKwkJdG1wIHw9IChvY3IgPDwgKHBpbiAqIDIpKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX09DUjEocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkExKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19BT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQTEocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkIxKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19CT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQjEocG9ydCkpOworCX0gZWxzZSB7CisJCXBpbiAtPSAxNjsKKworCQl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfT0NSMihwb3J0KSk7CisJCXRtcCAmPSB+KDMgPDwgKHBpbiAqIDIpKTsKKwkJdG1wIHw9IChvY3IgPDwgKHBpbiAqIDIpKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX09DUjIocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkEyKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19BT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQTIocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkIyKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19CT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQjIocG9ydCkpOworCX0KK30KK0VYUE9SVF9TWU1CT0wobXhjX2dwaW9fbW9kZSk7CisKK2ludCBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKGNvbnN0IGludCAqcGluX2xpc3QsIHVuc2lnbmVkIGNvdW50LAorCQkJCWludCBhbGxvY19tb2RlLCBjb25zdCBjaGFyICpsYWJlbCkKK3sKKwljb25zdCBpbnQgKnAgPSBwaW5fbGlzdDsKKwlpbnQgaTsKKwl1bnNpZ25lZCBncGlvOworCXVuc2lnbmVkIG1vZGU7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlncGlvID0gKnAgJiAoR1BJT19QSU5fTUFTSyB8IEdQSU9fUE9SVF9NQVNLKTsKKwkJbW9kZSA9ICpwICYgfihHUElPX1BJTl9NQVNLIHwgR1BJT19QT1JUX01BU0spOworCisJCWlmIChncGlvID49IChHUElPX1BPUlRfTUFYICsgMSkgKiAzMikKKwkJCWdvdG8gc2V0dXBfZXJyb3I7CisKKwkJaWYgKGFsbG9jX21vZGUgJiBNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UpCisJCQlncGlvX2ZyZWUoZ3Bpbyk7CisJCWVsc2UgaWYgKCEoYWxsb2NfbW9kZSAmIE1YQ19HUElPX0FMTE9DX01PREVfTk9fQUxMT0MpKQorCQkJaWYgKGdwaW9fcmVxdWVzdChncGlvLCBsYWJlbCkKKwkJCSAgICYmICEoYWxsb2NfbW9kZSAmIE1YQ19HUElPX0FMTE9DX01PREVfVFJZX0FMTE9DKSkKKwkJCQlnb3RvIHNldHVwX2Vycm9yOworCisJCWlmICghKGFsbG9jX21vZGUgJiAoTVhDX0dQSU9fQUxMT0NfTU9ERV9BTExPQ19PTkxZIHwKKwkJCQkgICAgTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFKSkpCisJCQlteGNfZ3Bpb19tb2RlKGdwaW8gfCBtb2RlKTsKKworCQlwKys7CisJfQorCXJldHVybiAwOworCitzZXR1cF9lcnJvcjoKKwlpZiAoYWxsb2NfbW9kZSAmIChNWENfR1BJT19BTExPQ19NT0RFX05PX0FMTE9DIHwKKwkgICAgTVhDX0dQSU9fQUxMT0NfTU9ERV9UUllfQUxMT0MpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXdoaWxlIChwICE9IHBpbl9saXN0KSB7CisJCXAtLTsKKwkJZ3BpbyA9ICpwICYgKEdQSU9fUElOX01BU0sgfCBHUElPX1BPUlRfTUFTSyk7CisJCWdwaW9fZnJlZShncGlvKTsKKwl9CisKKwlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyk7CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtbXhjL2lycS5jIGIvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKaW5kZXggMmFkNWE2OS4uMWZiZTAxZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKQEAgLTEsMjQgKzEsNTkgQEAKIC8qCi0gKiAgQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgogCisjZGVmaW5lIEFWSUNfQkFTRQkJSU9fQUREUkVTUyhBVklDX0JBU0VfQUREUikKKyNkZWZpbmUgQVZJQ19JTlRDTlRMCQkoQVZJQ19CQVNFICsgMHgwMCkJLyogaW50IGNvbnRyb2wgcmVnICovCisjZGVmaW5lIEFWSUNfTklNQVNLCQkoQVZJQ19CQVNFICsgMHgwNCkJLyogaW50IG1hc2sgcmVnICovCisjZGVmaW5lIEFWSUNfSU5URU5OVU0JCShBVklDX0JBU0UgKyAweDA4KQkvKiBpbnQgZW5hYmxlIG51bWJlciByZWcgKi8KKyNkZWZpbmUgQVZJQ19JTlRESVNOVU0JCShBVklDX0JBU0UgKyAweDBDKQkvKiBpbnQgZGlzYWJsZSBudW1iZXIgcmVnICovCisjZGVmaW5lIEFWSUNfSU5URU5BQkxFSAkJKEFWSUNfQkFTRSArIDB4MTApCS8qIGludCBlbmFibGUgcmVnIGhpZ2ggKi8KKyNkZWZpbmUgQVZJQ19JTlRFTkFCTEVMCQkoQVZJQ19CQVNFICsgMHgxNCkJLyogaW50IGVuYWJsZSByZWcgbG93ICovCisjZGVmaW5lIEFWSUNfSU5UVFlQRUgJCShBVklDX0JBU0UgKyAweDE4KQkvKiBpbnQgdHlwZSByZWcgaGlnaCAqLworI2RlZmluZSBBVklDX0lOVFRZUEVMCQkoQVZJQ19CQVNFICsgMHgxQykJLyogaW50IHR5cGUgcmVnIGxvdyAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFk3CShBVklDX0JBU0UgKyAweDIwKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw3ICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTYJKEFWSUNfQkFTRSArIDB4MjQpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDYgKi8KKyNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNQkoQVZJQ19CQVNFICsgMHgyOCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNSAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFk0CShBVklDX0JBU0UgKyAweDJDKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw0ICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTMJKEFWSUNfQkFTRSArIDB4MzApCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDMgKi8KKyNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMgkoQVZJQ19CQVNFICsgMHgzNCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMiAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFkxCShBVklDX0JBU0UgKyAweDM4KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwxICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTAJKEFWSUNfQkFTRSArIDB4M0MpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDAgKi8KKyNkZWZpbmUgQVZJQ19OSVZFQ1NSCQkoQVZJQ19CQVNFICsgMHg0MCkJLyogbm9ybSBpbnQgdmVjdG9yL3N0YXR1cyAqLworI2RlZmluZSBBVklDX0ZJVkVDU1IJCShBVklDX0JBU0UgKyAweDQ0KQkvKiBmYXN0IGludCB2ZWN0b3Ivc3RhdHVzICovCisjZGVmaW5lIEFWSUNfSU5UU1JDSAkJKEFWSUNfQkFTRSArIDB4NDgpCS8qIGludCBzb3VyY2UgcmVnIGhpZ2ggKi8KKyNkZWZpbmUgQVZJQ19JTlRTUkNMCQkoQVZJQ19CQVNFICsgMHg0QykJLyogaW50IHNvdXJjZSByZWcgbG93ICovCisjZGVmaW5lIEFWSUNfSU5URlJDSAkJKEFWSUNfQkFTRSArIDB4NTApCS8qIGludCBmb3JjZSByZWcgaGlnaCAqLworI2RlZmluZSBBVklDX0lOVEZSQ0wJCShBVklDX0JBU0UgKyAweDU0KQkvKiBpbnQgZm9yY2UgcmVnIGxvdyAqLworI2RlZmluZSBBVklDX05JUE5ESAkJKEFWSUNfQkFTRSArIDB4NTgpCS8qIG5vcm0gaW50IHBlbmRpbmcgaGlnaCAqLworI2RlZmluZSBBVklDX05JUE5ETAkJKEFWSUNfQkFTRSArIDB4NUMpCS8qIG5vcm0gaW50IHBlbmRpbmcgbG93ICovCisjZGVmaW5lIEFWSUNfRklQTkRICQkoQVZJQ19CQVNFICsgMHg2MCkJLyogZmFzdCBpbnQgcGVuZGluZyBoaWdoICovCisjZGVmaW5lIEFWSUNfRklQTkRMCQkoQVZJQ19CQVNFICsgMHg2NCkJLyogZmFzdCBpbnQgcGVuZGluZyBsb3cgKi8KKworI2RlZmluZSBTWVNURU1fUFJFVl9SRUcJCUlPX0FERFJFU1MoSUlNX0JBU0VfQUREUiArIDB4MjApCisjZGVmaW5lIFNZU1RFTV9TUkVWX1JFRwkJSU9fQUREUkVTUyhJSU1fQkFTRV9BRERSICsgMHgyNCkKKyNkZWZpbmUgSUlNX1BST0RfUkVWX1NICQkzCisjZGVmaW5lIElJTV9QUk9EX1JFVl9MRU4JNQorCiAvKiBEaXNhYmxlIGludGVycnVwdCBudW1iZXIgImlycSIgaW4gdGhlIEFWSUMgKi8KIHN0YXRpYyB2b2lkIG14Y19tYXNrX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewpAQCAtMzIsNyArNjcsNyBAQAogfQogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIG14Y19hdmljX2NoaXAgPSB7Ci0JLm1hc2tfYWNrID0gbXhjX21hc2tfaXJxLAorCS5hY2sgPSBteGNfbWFza19pcnEsCiAJLm1hc2sgPSBteGNfbWFza19pcnEsCiAJLnVubWFzayA9IG14Y191bm1hc2tfaXJxLAogfTsKQEAgLTcxLDUgKzEwNiw4IEBACiAJcmVnIHw9ICgweEYgPDwgMjgpOwogCV9fcmF3X3dyaXRlbChyZWcsIEFWSUNfTklQUklPUklUWTYpOwogCisJLyogaW5pdCBhcmNoaXRlY3R1cmVzIGNoYWluZWQgaW50ZXJydXB0IGhhbmRsZXIgKi8KKwlteGNfcmVnaXN0ZXJfZ3Bpb3MoKTsKKwogCXByaW50ayhLRVJOX0lORk8gIk1YQyBJUlEgaW5pdGlhbGl6ZWRcbiIpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jIGIvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiZjg2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9wbGF0LW14Yy90aW1lLmMKQEAgLTAsMCArMSwyMjggQEAKKy8qCisgKiAgbGludXgvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIERlZXAgQmx1ZSBTb2x1dGlvbnMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDIgU2hhbmUgTmF5IChzaGFuZUBtaW5pcmwuY29tKQorICogIENvcHlyaWdodCAoQykgMjAwNi0yMDA3IFBhdmVsIFBpc2EgKHBwaXNhQHBpa3Jvbi5jb20pCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja2NoaXBzLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXhjX3RpbWVyLmg+CisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlIGNsb2NrZXZlbnRfbXhjOworc3RhdGljIGVudW0gY2xvY2tfZXZlbnRfbW9kZSBjbG9ja2V2ZW50X21vZGUgPSBDTE9DS19FVlRfTU9ERV9VTlVTRUQ7CisKKy8qIGNsb2NrIHNvdXJjZSBmb3IgdGhlIHRpbWVyICovCitzdGF0aWMgc3RydWN0IGNsayAqdGltZXJfY2xrOworCisvKiBjbG9jayBzb3VyY2UgKi8KKworc3RhdGljIGN5Y2xlX3QgbXhjX2dldF9jeWNsZXModm9pZCkKK3sKKwlyZXR1cm4gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ04pOworfQorCitzdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX214YyA9IHsKKwkubmFtZSAJCT0gIm14Y190aW1lcjEiLAorCS5yYXRpbmcJCT0gMjAwLAorCS5yZWFkCQk9IG14Y19nZXRfY3ljbGVzLAorCS5tYXNrCQk9IENMT0NLU09VUkNFX01BU0soMzIpLAorCS5zaGlmdCAJCT0gMjAsCisJLmZsYWdzCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTLAorfTsKKworc3RhdGljIGludCBfX2luaXQgbXhjX2Nsb2Nrc291cmNlX2luaXQodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgY2xvY2s7CisKKwljbG9jayA9IGNsa19nZXRfcmF0ZSh0aW1lcl9jbGspOworCisJY2xvY2tzb3VyY2VfbXhjLm11bHQgPSBjbG9ja3NvdXJjZV9oejJtdWx0KGNsb2NrLAorCQkJCQljbG9ja3NvdXJjZV9teGMuc2hpZnQpOworCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV9teGMpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGNsb2NrIGV2ZW50ICovCisKK3N0YXRpYyBpbnQgbXhjX3NldF9uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZXZ0LAorCQkJICAgICAgc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqdW51c2VkKQoreworCXVuc2lnbmVkIGxvbmcgdGNtcDsKKworCXRjbXAgPSBfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDTikgKyBldnQ7CisJX19yYXdfd3JpdGVsKHRjbXAsIFRJTUVSX0JBU0UgKyBNWENfVENNUCk7CisKKwlyZXR1cm4gKGludCkodGNtcCAtIF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENOKSkgPCAwID8KKwkJCQktRVRJTUUgOiAwOworfQorCisjaWZkZWYgREVCVUcKK3N0YXRpYyBjb25zdCBjaGFyICpjbG9ja19ldmVudF9tb2RlX2xhYmVsW10gPSB7CisJW0NMT0NLX0VWVF9NT0RFX1BFUklPRElDXSA9ICJDTE9DS19FVlRfTU9ERV9QRVJJT0RJQyIsCisJW0NMT0NLX0VWVF9NT0RFX09ORVNIT1RdICA9ICJDTE9DS19FVlRfTU9ERV9PTkVTSE9UIiwKKwlbQ0xPQ0tfRVZUX01PREVfU0hVVERPV05dID0gIkNMT0NLX0VWVF9NT0RFX1NIVVRET1dOIiwKKwlbQ0xPQ0tfRVZUX01PREVfVU5VU0VEXSAgID0gIkNMT0NLX0VWVF9NT0RFX1VOVVNFRCIKK307CisjZW5kaWYgLyogREVCVUcgKi8KKworc3RhdGljIHZvaWQgbXhjX3NldF9tb2RlKGVudW0gY2xvY2tfZXZlbnRfbW9kZSBtb2RlLAorCQkJCXN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJLyoKKwkgKiBUaGUgdGltZXIgaW50ZXJydXB0IGdlbmVyYXRpb24gaXMgZGlzYWJsZWQgYXQgbGVhc3QKKwkgKiBmb3IgZW5vdWdoIHRpbWUgdG8gY2FsbCBteGNfc2V0X25leHRfZXZlbnQoKQorCSAqLworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCS8qIERpc2FibGUgaW50ZXJydXB0IGluIEdQVCBtb2R1bGUgKi8KKwlncHRfaXJxX2Rpc2FibGUoKTsKKworCWlmIChtb2RlICE9IGNsb2NrZXZlbnRfbW9kZSkgeworCQkvKiBTZXQgZXZlbnQgdGltZSBpbnRvIGZhci1mYXIgZnV0dXJlICovCisJCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDTikgLSAzLAorCQkJCVRJTUVSX0JBU0UgKyBNWENfVENNUCk7CisJCS8qIENsZWFyIHBlbmRpbmcgaW50ZXJydXB0ICovCisJCWdwdF9pcnFfYWNrbm93bGVkZ2UoKTsKKwl9CisKKyNpZmRlZiBERUJVRworCXByaW50ayhLRVJOX0lORk8gIm14Y19zZXRfbW9kZTogY2hhbmdpbmcgbW9kZSBmcm9tICVzIHRvICVzXG4iLAorCQljbG9ja19ldmVudF9tb2RlX2xhYmVsW2Nsb2NrZXZlbnRfbW9kZV0sCisJCWNsb2NrX2V2ZW50X21vZGVfbGFiZWxbbW9kZV0pOworI2VuZGlmIC8qIERFQlVHICovCisKKwkvKiBSZW1lbWJlciB0aW1lciBtb2RlICovCisJY2xvY2tldmVudF9tb2RlID0gbW9kZTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlzd2l0Y2ggKG1vZGUpIHsKKwljYXNlIENMT0NLX0VWVF9NT0RFX1BFUklPRElDOgorCQlwcmludGsoS0VSTl9FUlIibXhjX3NldF9tb2RlOiBQZXJpb2RpYyBtb2RlIGlzIG5vdCAiCisJCQkJInN1cHBvcnRlZCBmb3IgaS5NWFxuIik7CisJCWJyZWFrOworCWNhc2UgQ0xPQ0tfRVZUX01PREVfT05FU0hPVDoKKwkvKgorCSAqIERvIG5vdCBwdXQgb3ZlcmhlYWQgb2YgaW50ZXJydXB0IGVuYWJsZS9kaXNhYmxlIGludG8KKwkgKiBteGNfc2V0X25leHRfZXZlbnQoKSwgdGhlIGNvcmUgaGFzIGFib3V0IDQgbWludXRlcworCSAqIHRvIGNhbGwgbXhjX3NldF9uZXh0X2V2ZW50KCkgb3Igc2h1dGRvd24gY2xvY2sgYWZ0ZXIKKwkgKiBtb2RlIHN3aXRjaGluZworCSAqLworCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCWdwdF9pcnFfZW5hYmxlKCk7CisJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwkJYnJlYWs7CisJY2FzZSBDTE9DS19FVlRfTU9ERV9TSFVURE9XTjoKKwljYXNlIENMT0NLX0VWVF9NT0RFX1VOVVNFRDoKKwljYXNlIENMT0NLX0VWVF9NT0RFX1JFU1VNRToKKwkJLyogTGVmdCBldmVudCBzb3VyY2VzIGRpc2FibGVkLCBubyBtb3JlIGludGVycnVwdHMgYXBwZWFyICovCisJCWJyZWFrOworCX0KK30KKworLyoKKyAqIElSUSBoYW5kbGVyIGZvciB0aGUgdGltZXIKKyAqLworc3RhdGljIGlycXJldHVybl90IG14Y190aW1lcl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCA9ICZjbG9ja2V2ZW50X214YzsKKwl1aW50MzJfdCB0c3RhdDsKKworCXRzdGF0ID0gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UU1RBVCk7CisKKwlncHRfaXJxX2Fja25vd2xlZGdlKCk7CisKKwlldnQtPmV2ZW50X2hhbmRsZXIoZXZ0KTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gbXhjX3RpbWVyX2lycSA9IHsKKwkubmFtZQkJPSAiaS5NWCBUaW1lciBUaWNrIiwKKwkuZmxhZ3MJCT0gSVJRRl9ESVNBQkxFRCB8IElSUUZfVElNRVIgfCBJUlFGX0lSUVBPTEwsCisJLmhhbmRsZXIJPSBteGNfdGltZXJfaW50ZXJydXB0LAorfTsKKworc3RhdGljIHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgY2xvY2tldmVudF9teGMgPSB7CisJLm5hbWUJCT0gIm14Y190aW1lcjEiLAorCS5mZWF0dXJlcwk9IENMT0NLX0VWVF9GRUFUX09ORVNIT1QsCisJLnNoaWZ0CQk9IDMyLAorCS5zZXRfbW9kZQk9IG14Y19zZXRfbW9kZSwKKwkuc2V0X25leHRfZXZlbnQJPSBteGNfc2V0X25leHRfZXZlbnQsCisJLnJhdGluZwkJPSAyMDAsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBteGNfY2xvY2tldmVudF9pbml0KHZvaWQpCit7CisJdW5zaWduZWQgaW50IGNsb2NrOworCisJY2xvY2sgPSBjbGtfZ2V0X3JhdGUodGltZXJfY2xrKTsKKworCWNsb2NrZXZlbnRfbXhjLm11bHQgPSBkaXZfc2MoY2xvY2ssIE5TRUNfUEVSX1NFQywKKwkJCQkJY2xvY2tldmVudF9teGMuc2hpZnQpOworCWNsb2NrZXZlbnRfbXhjLm1heF9kZWx0YV9ucyA9CisJCQljbG9ja2V2ZW50X2RlbHRhMm5zKDB4ZmZmZmZmZmUsICZjbG9ja2V2ZW50X214Yyk7CisJY2xvY2tldmVudF9teGMubWluX2RlbHRhX25zID0KKwkJCWNsb2NrZXZlbnRfZGVsdGEybnMoMHhmZiwgJmNsb2NrZXZlbnRfbXhjKTsKKworCWNsb2NrZXZlbnRfbXhjLmNwdW1hc2sgPSBjcHVtYXNrX29mX2NwdSgwKTsKKworCWNsb2NrZXZlbnRzX3JlZ2lzdGVyX2RldmljZSgmY2xvY2tldmVudF9teGMpOworCisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgX19pbml0IG14Y190aW1lcl9pbml0KGNvbnN0IGNoYXIgKmNsa190aW1lcikKK3sKKwl0aW1lcl9jbGsgPSBjbGtfZ2V0KE5VTEwsIGNsa190aW1lcik7CisJaWYgKCF0aW1lcl9jbGspIHsKKwkJcHJpbnRrKEtFUk5fRVJSIkNhbm5vdCBkZXRlcm1pbmUgdGltZXIgY2xvY2suIEdpdmluZyB1cC5cbiIpOworCQlyZXR1cm47CisJfQorCisJY2xrX2VuYWJsZSh0aW1lcl9jbGspOworCisJLyoKKwkgKiBJbml0aWFsaXNlIHRvIGEga25vd24gc3RhdGUgKGFsbCB0aW1lcnMgb2ZmLCBhbmQgdGltaW5nIHJlc2V0KQorCSAqLworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX1RQUkVSKTsgLyogc2VlIGRhdGFzaGVldCBub3RlICovCisKKwlfX3Jhd193cml0ZWwoVENUTF9GUlIgfAkvKiBmcmVlIHJ1bm5pbmcgKi8KKwkJICAgICBUQ1RMX1ZBTCB8CS8qIHNldCBjbG9ja3NvdXJjZSBhbmQgYXJjaCBzcGVjaWZpYyBiaXRzICovCisJCSAgICAgVENUTF9URU4sCS8qIHN0YXJ0IHRoZSB0aW1lciAqLworCQkgICAgIFRJTUVSX0JBU0UgKyBNWENfVENUTCk7CisKKwkvKiBpbml0IGFuZCByZWdpc3RlciB0aGUgdGltZXIgdG8gdGhlIGZyYW1ld29yayAqLworCW14Y19jbG9ja3NvdXJjZV9pbml0KCk7CisJbXhjX2Nsb2NrZXZlbnRfaW5pdCgpOworCisJLyogTWFrZSBpcnFzIGhhcHBlbiAqLworCXNldHVwX2lycShUSU1FUl9JTlRFUlJVUFQsICZteGNfdGltZXJfaXJxKTsKK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL01ha2VmaWxlIGIvYXJjaC9hcm0vcGxhdC1vbWFwL01ha2VmaWxlCmluZGV4IGJjNjM5YTMuLjJjNDA1MWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvTWFrZWZpbGUKQEAgLTMsNyArMyw3IEBACiAjCiAKICMgQ29tbW9uIHN1cHBvcnQKLW9iai15IDo9IGNvbW1vbi5vIHNyYW0ubyBzcmFtLWZuLm8gY2xvY2subyBkZXZpY2VzLm8gZG1hLm8gbXV4Lm8gZ3Bpby5vIFwKK29iai15IDo9IGNvbW1vbi5vIHNyYW0ubyBjbG9jay5vIGRldmljZXMubyBkbWEubyBtdXgubyBncGlvLm8gXAogCSB1c2IubyBmYi5vCiBvYmotbSA6PQogb2JqLW4gOj0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKaW5kZXggMmRiNTU4MC4uYzJlNzQxZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKQEAgLTEsNyArMSw3IEBACiAvKgogICogIGxpbnV4L2FyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jCiAgKgotICogIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMDUgTm9raWEgY29ycG9yYXRpb24KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgLSAyMDA4IE5va2lhIGNvcnBvcmF0aW9uCiAgKiAgV3JpdHRlbiBieSBUdXVra2EgVGlra2FuZW4gPHR1dWtrYS50aWtrYW5lbkBlbGVrdHJvYml0LmNvbT4KICAqCiAgKiAgTW9kaWZpZWQgZm9yIG9tYXAgc2hhcmVkIGNsb2NrIGZyYW1ld29yayBieSBUb255IExpbmRncmVuIDx0b255QGF0b21pZGUuY29tPgpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCkBAIC0zMyw0MSArMzQsNiBAQAogCiBzdGF0aWMgc3RydWN0IGNsa19mdW5jdGlvbnMgKmFyY2hfY2xvY2s7CiAKLSNpZmRlZiBDT05GSUdfUE1fREVCVUcKLQotc3RhdGljIHZvaWQgcHJpbnRfcGFyZW50cyhzdHJ1Y3QgY2xrICpjbGspCi17Ci0Jc3RydWN0IGNsayAqcDsKLQlpbnQgcHJpbnRlZCA9IDA7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHAsICZjbG9ja3MsIG5vZGUpIHsKLQkJaWYgKHAtPnBhcmVudCA9PSBjbGsgJiYgcC0+dXNlY291bnQpIHsKLQkJCWlmICghY2xrLT51c2Vjb3VudCAmJiAhcHJpbnRlZCkgewotCQkJCXByaW50aygiTUlTTUFUQ0g6ICVzXG4iLCBjbGstPm5hbWUpOwotCQkJCXByaW50ZWQgPSAxOwotCQkJfQotCQkJcHJpbnRrKCJcdCUtMTVzXG4iLCBwLT5uYW1lKTsKLQkJfQotCX0KLX0KLQotdm9pZCBjbGtfcHJpbnRfdXNlY291bnRzKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlzdHJ1Y3QgY2xrICpwOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNsb2NrZndfbG9jaywgZmxhZ3MpOwotCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgewotCQlpZiAocC0+dXNlY291bnQpCi0JCQlwcmludGsoIiUtMTVzOiAlZFxuIiwgcC0+bmFtZSwgcC0+dXNlY291bnQpOwotCQlwcmludF9wYXJlbnRzKHApOwotCi0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNsb2NrZndfbG9jaywgZmxhZ3MpOwotfQotCi0jZW5kaWYKLQogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBTdGFuZGFyZCBjbG9jayBmdW5jdGlvbnMgZGVmaW5lZCBpbiBpbmNsdWRlL2xpbnV4L2Nsay5oCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNDQ2LDMgKzQxMiw5MyBAQAogCXJldHVybiAwOwogfQogCisjaWYgZGVmaW5lZChDT05GSUdfUE1fREVCVUcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKQorLyoKKyAqCWRlYnVnZnMgc3VwcG9ydCB0byB0cmFjZSBjbG9jayB0cmVlIGhpZXJhcmNoeSBhbmQgYXR0cmlidXRlcworICovCitzdGF0aWMgc3RydWN0IGRlbnRyeSAqY2xrX2RlYnVnZnNfcm9vdDsKKworc3RhdGljIGludCBjbGtfZGVidWdmc19yZWdpc3Rlcl9vbmUoc3RydWN0IGNsayAqYykKK3sKKwlpbnQgZXJyOworCXN0cnVjdCBkZW50cnkgKmQsICpjaGlsZDsKKwlzdHJ1Y3QgY2xrICpwYSA9IGMtPnBhcmVudDsKKwljaGFyIHNbMjU1XTsKKwljaGFyICpwID0gczsKKworCXAgKz0gc3ByaW50ZihwLCAiJXMiLCBjLT5uYW1lKTsKKwlpZiAoYy0+aWQgIT0gMCkKKwkJc3ByaW50ZihwLCAiOiVkIiwgYy0+aWQpOworCWQgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIocywgcGEgPyBwYS0+ZGVudCA6IGNsa19kZWJ1Z2ZzX3Jvb3QpOworCWlmIChJU19FUlIoZCkpCisJCXJldHVybiBQVFJfRVJSKGQpOworCWMtPmRlbnQgPSBkOworCisJZCA9IGRlYnVnZnNfY3JlYXRlX3U4KCJ1c2Vjb3VudCIsIFNfSVJVR08sIGMtPmRlbnQsICh1OCAqKSZjLT51c2Vjb3VudCk7CisJaWYgKElTX0VSUihkKSkgeworCQllcnIgPSBQVFJfRVJSKGQpOworCQlnb3RvIGVycl9vdXQ7CisJfQorCWQgPSBkZWJ1Z2ZzX2NyZWF0ZV91MzIoInJhdGUiLCBTX0lSVUdPLCBjLT5kZW50LCAodTMyICopJmMtPnJhdGUpOworCWlmIChJU19FUlIoZCkpIHsKKwkJZXJyID0gUFRSX0VSUihkKTsKKwkJZ290byBlcnJfb3V0OworCX0KKwlkID0gZGVidWdmc19jcmVhdGVfeDMyKCJmbGFncyIsIFNfSVJVR08sIGMtPmRlbnQsICh1MzIgKikmYy0+ZmxhZ3MpOworCWlmIChJU19FUlIoZCkpIHsKKwkJZXJyID0gUFRSX0VSUihkKTsKKwkJZ290byBlcnJfb3V0OworCX0KKwlyZXR1cm4gMDsKKworZXJyX291dDoKKwlkID0gYy0+ZGVudDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoaWxkLCAmZC0+ZF9zdWJkaXJzLCBkX3UuZF9jaGlsZCkKKwkJZGVidWdmc19yZW1vdmUoY2hpbGQpOworCWRlYnVnZnNfcmVtb3ZlKGMtPmRlbnQpOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgY2xrX2RlYnVnZnNfcmVnaXN0ZXIoc3RydWN0IGNsayAqYykKK3sKKwlpbnQgZXJyOworCXN0cnVjdCBjbGsgKnBhID0gYy0+cGFyZW50OworCisJaWYgKHBhICYmICFwYS0+ZGVudCkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3RlcihwYSk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKworCWlmICghYy0+ZGVudCkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3Rlcl9vbmUoYyk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgY2xrX2RlYnVnZnNfaW5pdCh2b2lkKQoreworCXN0cnVjdCBjbGsgKmM7CisJc3RydWN0IGRlbnRyeSAqZDsKKwlpbnQgZXJyOworCisJZCA9IGRlYnVnZnNfY3JlYXRlX2RpcigiY2xvY2siLCBOVUxMKTsKKwlpZiAoSVNfRVJSKGQpKQorCQlyZXR1cm4gUFRSX0VSUihkKTsKKwljbGtfZGVidWdmc19yb290ID0gZDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoYywgJmNsb2Nrcywgbm9kZSkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3RlcihjKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gZXJyX291dDsKKwl9CisJcmV0dXJuIDA7CitlcnJfb3V0OgorCWRlYnVnZnNfcmVtb3ZlKGNsa19kZWJ1Z2ZzX3Jvb3QpOyAvKiBSRVZJU0lUOiBDbGVhbnVwIGNvcnJlY3RseSAqLworCXJldHVybiBlcnI7Cit9CitsYXRlX2luaXRjYWxsKGNsa19kZWJ1Z2ZzX2luaXQpOworCisjZW5kaWYgLyogZGVmaW5lZChDT05GSUdfUE1fREVCVUcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL2NvbW1vbi5jIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2NvbW1vbi5jCmluZGV4IGJkMWNlZjIuLjhkMDQ5MjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9jb21tb24uYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvY29tbW9uLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY29udHJvbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL211eC5oPgpAQCAtMjQxLDMwICsyNDIsNzAgQEAKIAogLyogR2xvYmFsIGFkZHJlc3MgYmFzZSBzZXR1cCBjb2RlICovCiAKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQorCitzdGF0aWMgc3RydWN0IG9tYXBfZ2xvYmFscyAqb21hcDJfZ2xvYmFsczsKKworc3RhdGljIHZvaWQgX19pbml0IF9fb21hcDJfc2V0X2dsb2JhbHModm9pZCkKK3sKKwlvbWFwMl9zZXRfZ2xvYmFsc19tZW1vcnkob21hcDJfZ2xvYmFscyk7CisJb21hcDJfc2V0X2dsb2JhbHNfY29udHJvbChvbWFwMl9nbG9iYWxzKTsKKwlvbWFwMl9zZXRfZ2xvYmFsc19wcmNtKG9tYXAyX2dsb2JhbHMpOworfQorCisjZW5kaWYKKwogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MjApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAyNDJ4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0ODAxNDAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDI0MjBfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMjQyMF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMjQyeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAyNDIwX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAyNDIwX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMjQyMF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDI0MnhfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MzApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAyNDN4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0OTAwYTAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDNYX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDI0M1hfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMjQzWF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDMwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDMwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMjQzeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAyNDNYX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAyNDNYX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMjQzWF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDI0M3hfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0MzApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAzNDN4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0ODMwQTAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDNYX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDM0M1hfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMzQzWF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDMwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDMwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMzQzeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAzNDNYX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAzNDNYX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMzQzWF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDM0M3hfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RldmljZXMuYyBiL2FyY2gvYXJtL3BsYXQtb21hcC9kZXZpY2VzLmMKaW5kZXggNGE1M2Y5Yi4uODEwMDJiNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RldmljZXMuYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvZGV2aWNlcy5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21lbmVsYXVzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbWNic3AuaD4KIAogI2lmCWRlZmluZWQoQ09ORklHX09NQVBfRFNQKSB8fCBkZWZpbmVkKENPTkZJR19PTUFQX0RTUF9NT0RVTEUpCiAKQEAgLTE0NSw2ICsxNDYsNTMgQEAKICNlbmRpZgogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmIGRlZmluZWQoQ09ORklHX09NQVBfTUNCU1ApIHx8IGRlZmluZWQoQ09ORklHX09NQVBfTUNCU1BfTU9EVUxFKQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKm9tYXBfbWNic3BfZGV2aWNlczsKKwordm9pZCBvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpjb25maWcsCisJCQkJCWludCBzaXplKQoreworCWludCBpOworCisJaWYgKHNpemUgPiBPTUFQX01BWF9NQ0JTUF9DT1VOVCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJSZWdpc3RlcmVkIHRvbyBtYW55IE1jQlNQcyBwbGF0Zm9ybV9kYXRhLiIKKwkJCSIgVXNpbmcgbWF4aW11bSAoJWQpIGF2YWlsYWJsZS5cbiIsCisJCQlPTUFQX01BWF9NQ0JTUF9DT1VOVCk7CisJCXNpemUgPSBPTUFQX01BWF9NQ0JTUF9DT1VOVDsKKwl9CisKKwlvbWFwX21jYnNwX2RldmljZXMgPSBremFsbG9jKHNpemUgKiBzaXplb2Yoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKSwKKwkJCQkgICAgIEdGUF9LRVJORUwpOworCWlmICghb21hcF9tY2JzcF9kZXZpY2VzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IHJlZ2lzdGVyIE1jQlNQIGRldmljZXNcbiIpOworCQlyZXR1cm47CisJfQorCisJZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgeworCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpuZXdfbWNic3A7CisJCWludCByZXQ7CisKKwkJbmV3X21jYnNwID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJvbWFwLW1jYnNwIiwgaSArIDEpOworCQlpZiAoIW5ld19tY2JzcCkKKwkJCWNvbnRpbnVlOworCQluZXdfbWNic3AtPmRldi5wbGF0Zm9ybV9kYXRhID0gJmNvbmZpZ1tpXTsKKwkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChuZXdfbWNic3ApOworCQlpZiAocmV0KSB7CisJCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KG5ld19tY2JzcCk7CisJCQljb250aW51ZTsKKwkJfQorCQlvbWFwX21jYnNwX2RldmljZXNbaV0gPSBuZXdfbWNic3A7CisJfQorfQorCisjZWxzZQordm9pZCBvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpjb25maWcsCisJCQkJCWludCBzaXplKQoreyAgfQorI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKICNpZglkZWZpbmVkKENPTkZJR19NTUNfT01BUCkgfHwgZGVmaW5lZChDT05GSUdfTU1DX09NQVBfTU9EVUxFKQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMKaW5kZXggMzljNjM3Yi4uZmFjOGU5OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RtYS5jCisrKyBiL2FyY2gvYXJtL3BsYXQtb21hcC9kbWEuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBsaW51eC9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgTm9raWEgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoQykgMjAwMyAtIDIwMDggTm9raWEgQ29ycG9yYXRpb24KICAqIEF1dGhvcjogSnVoYSBZcmrDtmzDpCA8anVoYS55cmpvbGFAbm9raWEuY29tPgogICogRE1BIGNoYW5uZWwgbGlua2luZyBmb3IgMTYxMCBieSBTYW11ZWwgT3J0aXogPHNhbXVlbC5vcnRpekBub2tpYS5jb20+CiAgKiBHcmFwaGljcyBETUEgYW5kIExDRCBETUEgZ3JhcGhpY3MgdHJhbmZvcm1hdGlvbnMKQEAgLTI1LDExICsyNSwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC90Yy5oPgogCkBAIC00MywxMyArNDMsMTMgQEAKIGVudW0geyBETUFfQ0hBSU5fU1RBUlRFRCwgRE1BX0NIQUlOX05PVFNUQVJURUQgfTsKICNlbmRpZgogCi0jZGVmaW5lIE9NQVBfRE1BX0FDVElWRQkJMHgwMQotI2RlZmluZSBPTUFQX0RNQV9DQ1JfRU4JCSgxIDw8IDcpCisjZGVmaW5lIE9NQVBfRE1BX0FDVElWRQkJCTB4MDEKKyNkZWZpbmUgT01BUF9ETUFfQ0NSX0VOCQkJKDEgPDwgNykKICNkZWZpbmUgT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLCTB4ZmZlCiAKLSNkZWZpbmUgT01BUF9GVU5DX01VWF9BUk1fQkFTRQkoMHhmZmZlMTAwMCArIDB4ZWMpCisjZGVmaW5lIE9NQVBfRlVOQ19NVVhfQVJNX0JBU0UJCSgweGZmZmUxMDAwICsgMHhlYykKIAotc3RhdGljIGludCBlbmFibGVfMTUxMF9tb2RlID0gMDsKK3N0YXRpYyBpbnQgZW5hYmxlXzE1MTBfbW9kZTsKIAogc3RydWN0IG9tYXBfZG1hX2xjaCB7CiAJaW50IG5leHRfbGNoOwpAQCAtNTcsNyArNTcsNyBAQAogCXUxNiBzYXZlZF9jc3I7CiAJdTE2IGVuYWJsZWRfaXJxczsKIAljb25zdCBjaGFyICpkZXZfbmFtZTsKLQl2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKTsKKwl2b2lkICgqY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpOwogCXZvaWQgKmRhdGE7CiAKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKQEAgLTcyLDcgKzcyLDYgQEAKIAlsb25nIGZsYWdzOwogfTsKIAotI2lmbmRlZiBDT05GSUdfQVJDSF9PTUFQMQogc3RydWN0IGRtYV9saW5rX2luZm8gewogCWludCAqbGlua2VkX2RtYWNoX3E7CiAJaW50IG5vX29mX2xjaHNfbGlua2VkOwpAQCAtODYsNyArODUsOSBAQAogCiB9OwogCi1zdGF0aWMgc3RydWN0IGRtYV9saW5rX2luZm8gZG1hX2xpbmtlZF9sY2hbT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVF07CitzdGF0aWMgc3RydWN0IGRtYV9saW5rX2luZm8gKmRtYV9saW5rZWRfbGNoOworCisjaWZuZGVmIENPTkZJR19BUkNIX09NQVAxCiAKIC8qIENoYWluIGhhbmRsaW5nIG1hY3JvcyAqLwogI2RlZmluZSBPTUFQX0RNQV9DSEFJTl9RSU5JVChjaGFpbl9pZCkJCQkJCVwKQEAgLTExOSwxMiArMTIwLDE1IEBACiAJCWRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5xX2NvdW50Kys7IFwKIAl9IHdoaWxlICgwKQogI2VuZGlmCisKK3N0YXRpYyBpbnQgZG1hX2xjaF9jb3VudDsKIHN0YXRpYyBpbnQgZG1hX2NoYW5fY291bnQ7CiAKIHN0YXRpYyBzcGlubG9ja190IGRtYV9jaGFuX2xvY2s7Ci1zdGF0aWMgc3RydWN0IG9tYXBfZG1hX2xjaCBkbWFfY2hhbltPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9kbWFfbGNoICpkbWFfY2hhbjsKK3N0YXRpYyB2b2lkIF9faW9tZW0gKm9tYXBfZG1hX2Jhc2U7CiAKLXN0YXRpYyBjb25zdCB1OCBvbWFwMV9kbWFfaXJxW09NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdID0geworc3RhdGljIGNvbnN0IHU4IG9tYXAxX2RtYV9pcnFbT01BUDFfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdID0gewogCUlOVF9ETUFfQ0gwXzYsIElOVF9ETUFfQ0gxXzcsIElOVF9ETUFfQ0gyXzgsIElOVF9ETUFfQ0gzLAogCUlOVF9ETUFfQ0g0LCBJTlRfRE1BX0NINSwgSU5UXzE2MTBfRE1BX0NINiwgSU5UXzE2MTBfRE1BX0NINywKIAlJTlRfMTYxMF9ETUFfQ0g4LCBJTlRfMTYxMF9ETUFfQ0g5LCBJTlRfMTYxMF9ETUFfQ0gxMCwKQEAgLTEzOSw2ICsxNDMsMjQgQEAKICNkZWZpbmUgUkVWSVNJVF8yNFhYKCkJCXByaW50ayhLRVJOX0VSUiAiRklYTUU6IG5vICVzIG9uIDI0eHhcbiIsIFwKIAkJCQkJCV9fZnVuY19fKTsKIAorI2RlZmluZSBkbWFfcmVhZChyZWcpCQkJCQkJCVwKKyh7CQkJCQkJCQkJXAorCXUzMiBfX3ZhbDsJCQkJCQkJXAorCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkJCQkJCVwKKwkJX192YWwgPSBfX3Jhd19yZWFkdyhvbWFwX2RtYV9iYXNlICsgT01BUDFfRE1BXyMjcmVnKTsJXAorCWVsc2UJCQkJCQkJCVwKKwkJX192YWwgPSBfX3Jhd19yZWFkbChvbWFwX2RtYV9iYXNlICsgT01BUF9ETUE0XyMjcmVnKTsJXAorCV9fdmFsOwkJCQkJCQkJXAorfSkKKworI2RlZmluZSBkbWFfd3JpdGUodmFsLCByZWcpCQkJCQkJXAorKHsJCQkJCQkJCQlcCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQkJCQkJXAorCQlfX3Jhd193cml0ZXcoKHUxNikodmFsKSwgb21hcF9kbWFfYmFzZSArIE9NQVAxX0RNQV8jI3JlZyk7IFwKKwllbHNlCQkJCQkJCQlcCisJCV9fcmF3X3dyaXRlbCgodmFsKSwgb21hcF9kbWFfYmFzZSArIE9NQVBfRE1BNF8jI3JlZyk7CVwKK30pCisKICNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAogLyogUmV0dXJucyAxIGlmIHRoZSBETUEgbW9kdWxlIGlzIGluIE9NQVAxNTEwLWNvbXBhdGlibGUgbW9kZSwgMCBvdGhlcndpc2UgKi8KIGludCBvbWFwX2RtYV9pbl8xNTEwX21vZGUodm9pZCkKQEAgLTE3MywxMyArMTk1LDE0IEBACiAjZGVmaW5lIHNldF9nZG1hX2RldihyZXEsIGRldikJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKIAorLyogT21hcDEgb25seSAqLwogc3RhdGljIHZvaWQgY2xlYXJfbGNoX3JlZ3MoaW50IGxjaCkKIHsKIAlpbnQgaTsKLQl1MzIgbGNoX2Jhc2UgPSBPTUFQX0RNQV9CQVNFICsgbGNoICogMHg0MDsKKwl2b2lkIF9faW9tZW0gKmxjaF9iYXNlID0gb21hcF9kbWFfYmFzZSArIE9NQVAxX0RNQV9DSF9CQVNFKGxjaCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgMHgyYzsgaSArPSAyKQotCQlvbWFwX3dyaXRldygwLCBsY2hfYmFzZSArIGkpOworCQlfX3Jhd193cml0ZXcoMCwgbGNoX2Jhc2UgKyBpKTsKIH0KIAogdm9pZCBvbWFwX3NldF9kbWFfcHJpb3JpdHkoaW50IGxjaCwgaW50IGRzdF9wb3J0LCBpbnQgcHJpb3JpdHkpCkBAIC0yMTIsMzMgKzIzNSw0OSBAQAogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgeworCQl1MzIgY2NyOworCisJCWNjciA9IGRtYV9yZWFkKENDUihsY2gpKTsKIAkJaWYgKHByaW9yaXR5KQotCQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9ICgxIDw8IDYpOworCQkJY2NyIHw9ICgxIDw8IDYpOwogCQllbHNlCi0JCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfigxIDw8IDYpOworCQkJY2NyICY9IH4oMSA8PCA2KTsKKwkJZG1hX3dyaXRlKGNjciwgQ0NSKGxjaCkpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3ByaW9yaXR5KTsKIAogdm9pZCBvbWFwX3NldF9kbWFfdHJhbnNmZXJfcGFyYW1zKGludCBsY2gsIGludCBkYXRhX3R5cGUsIGludCBlbGVtX2NvdW50LAogCQkJCSAgaW50IGZyYW1lX2NvdW50LCBpbnQgc3luY19tb2RlLAogCQkJCSAgaW50IGRtYV90cmlnZ2VyLCBpbnQgc3JjX29yX2RzdF9zeW5jaCkKIHsKLQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4weDAzOwotCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgfD0gZGF0YV90eXBlOworCXUzMiBsOworCisJbCA9IGRtYV9yZWFkKENTRFAobGNoKSk7CisJbCAmPSB+MHgwMzsKKwlsIHw9IGRhdGFfdHlwZTsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfigxIDw8IDUpOwotCQlpZiAoc3luY19tb2RlID09IE9NQVBfRE1BX1NZTkNfRlJBTUUpCi0JCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgfD0gMSA8PCA1OworCQl1MTYgY2NyOwogCi0JCU9NQVAxX0RNQV9DQ1IyX1JFRyhsY2gpICY9IH4oMSA8PCAyKTsKKwkJY2NyID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCQljY3IgJj0gfigxIDw8IDUpOworCQlpZiAoc3luY19tb2RlID09IE9NQVBfRE1BX1NZTkNfRlJBTUUpCisJCQljY3IgfD0gMSA8PCA1OworCQlkbWFfd3JpdGUoY2NyLCBDQ1IobGNoKSk7CisKKwkJY2NyID0gZG1hX3JlYWQoQ0NSMihsY2gpKTsKKwkJY2NyICY9IH4oMSA8PCAyKTsKIAkJaWYgKHN5bmNfbW9kZSA9PSBPTUFQX0RNQV9TWU5DX0JMT0NLKQotCQkJT01BUDFfRE1BX0NDUjJfUkVHKGxjaCkgfD0gMSA8PCAyOworCQkJY2NyIHw9IDEgPDwgMjsKKwkJZG1hX3dyaXRlKGNjciwgQ0NSMihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgZG1hX3RyaWdnZXIpIHsKLQkJdTMyIHZhbCA9IE9NQVBfRE1BX0NDUl9SRUcobGNoKTsKKwkJdTMyIHZhbDsKIAorCQl2YWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CiAJCXZhbCAmPSB+KDMgPDwgMTkpOwogCQlpZiAoZG1hX3RyaWdnZXIgPiA2MykKIAkJCXZhbCB8PSAxIDw8IDIwOwpAQCAtMjYzLDEyICszMDIsMTMgQEAKIAkJZWxzZQogCQkJdmFsICY9IH4oMSA8PCAyNCk7CS8qIGRlc3Qgc3luY2ggKi8KIAotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB2YWw7CisJCWRtYV93cml0ZSh2YWwsIENDUihsY2gpKTsKIAl9CiAKLQlPTUFQX0RNQV9DRU5fUkVHKGxjaCkgPSBlbGVtX2NvdW50OwotCU9NQVBfRE1BX0NGTl9SRUcobGNoKSA9IGZyYW1lX2NvdW50OworCWRtYV93cml0ZShlbGVtX2NvdW50LCBDRU4obGNoKSk7CisJZG1hX3dyaXRlKGZyYW1lX2NvdW50LCBDRk4obGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV90cmFuc2Zlcl9wYXJhbXMpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9jb2xvcl9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfY29sb3JfbW9kZSBtb2RlLCB1MzIgY29sb3IpCiB7CkBAIC0yODEsNyArMzIxLDkgQEAKIAkJcmV0dXJuOwogCX0KIAotCXcgPSBPTUFQMV9ETUFfQ0NSMl9SRUcobGNoKSAmIH4weDAzOworCXcgPSBkbWFfcmVhZChDQ1IyKGxjaCkpOworCXcgJj0gfjB4MDM7CisKIAlzd2l0Y2ggKG1vZGUpIHsKIAljYXNlIE9NQVBfRE1BX0NPTlNUQU5UX0ZJTEw6CiAJCXcgfD0gMHgwMTsKQEAgLTI5NCw1MiArMzM2LDgxIEBACiAJZGVmYXVsdDoKIAkJQlVHKCk7CiAJfQotCU9NQVAxX0RNQV9DQ1IyX1JFRyhsY2gpID0gdzsKKwlkbWFfd3JpdGUodywgQ0NSMihsY2gpKTsKIAotCXcgPSBPTUFQMV9ETUFfTENIX0NUUkxfUkVHKGxjaCkgJiB+MHgwZjsKKwl3ID0gZG1hX3JlYWQoTENIX0NUUkwobGNoKSk7CisJdyAmPSB+MHgwZjsKIAkvKiBEZWZhdWx0IGlzIGNoYW5uZWwgdHlwZSAyRCAqLwogCWlmIChtb2RlKSB7Ci0JCU9NQVAxX0RNQV9DT0xPUl9MX1JFRyhsY2gpID0gKHUxNiljb2xvcjsKLQkJT01BUDFfRE1BX0NPTE9SX1VfUkVHKGxjaCkgPSAodTE2KShjb2xvciA+PiAxNik7CisJCWRtYV93cml0ZSgodTE2KWNvbG9yLCBDT0xPUl9MKGxjaCkpOworCQlkbWFfd3JpdGUoKHUxNikoY29sb3IgPj4gMTYpLCBDT0xPUl9VKGxjaCkpOwogCQl3IHw9IDE7CQkvKiBDaGFubmVsIHR5cGUgRyAqLwogCX0KLQlPTUFQMV9ETUFfTENIX0NUUkxfUkVHKGxjaCkgPSB3OworCWRtYV93cml0ZSh3LCBMQ0hfQ1RSTChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2NvbG9yX21vZGUpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV93cml0ZV9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfd3JpdGVfbW9kZSBtb2RlKQogewogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4oMHgzIDw8IDE2KTsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSAobW9kZSA8PCAxNik7CisJCXUzMiBjc2RwOworCisJCWNzZHAgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCQljc2RwICY9IH4oMHgzIDw8IDE2KTsKKwkJY3NkcCB8PSAobW9kZSA8PCAxNik7CisJCWRtYV93cml0ZShjc2RwLCBDU0RQKGxjaCkpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3dyaXRlX21vZGUpOworCit2b2lkIG9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV9jaGFubmVsX21vZGUgbW9kZSkKK3sKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCXUzMiBsOworCisJCWwgPSBkbWFfcmVhZChMQ0hfQ1RSTChsY2gpKTsKKwkJbCAmPSB+MHg3OworCQlsIHw9IG1vZGU7CisJCWRtYV93cml0ZShsLCBMQ0hfQ1RSTChsY2gpKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUpOwogCiAvKiBOb3RlIHRoYXQgc3JjX3BvcnQgaXMgb25seSBmb3Igb21hcDEgKi8KIHZvaWQgb21hcF9zZXRfZG1hX3NyY19wYXJhbXMoaW50IGxjaCwgaW50IHNyY19wb3J0LCBpbnQgc3JjX2Ftb2RlLAogCQkJICAgICB1bnNpZ25lZCBsb25nIHNyY19zdGFydCwKIAkJCSAgICAgaW50IHNyY19laSwgaW50IHNyY19maSkKIHsKKwl1MzIgbDsKKwogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4oMHgxZiA8PCAyKTsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSBzcmNfcG9ydCA8PCAyOworCQl1MTYgdzsKKworCQl3ID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwkJdyAmPSB+KDB4MWYgPDwgMik7CisJCXcgfD0gc3JjX3BvcnQgPDwgMjsKKwkJZG1hX3dyaXRlKHcsIENTRFAobGNoKSk7CiAJfQogCi0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpICY9IH4oMHgwMyA8PCAxMik7Ci0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9IHNyY19hbW9kZSA8PCAxMjsKKwlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCWwgJj0gfigweDAzIDw8IDEyKTsKKwlsIHw9IHNyY19hbW9kZSA8PCAxMjsKKwlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOwogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCU9NQVAxX0RNQV9DU1NBX1VfUkVHKGxjaCkgPSBzcmNfc3RhcnQgPj4gMTY7Ci0JCU9NQVAxX0RNQV9DU1NBX0xfUkVHKGxjaCkgPSBzcmNfc3RhcnQ7CisJCWRtYV93cml0ZShzcmNfc3RhcnQgPj4gMTYsIENTU0FfVShsY2gpKTsKKwkJZG1hX3dyaXRlKCh1MTYpc3JjX3N0YXJ0LCBDU1NBX0wobGNoKSk7CiAJfQogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQotCQlPTUFQMl9ETUFfQ1NTQV9SRUcobGNoKSA9IHNyY19zdGFydDsKKwkJZG1hX3dyaXRlKHNyY19zdGFydCwgQ1NTQShsY2gpKTsKIAotCU9NQVBfRE1BX0NTRUlfUkVHKGxjaCkgPSBzcmNfZWk7Ci0JT01BUF9ETUFfQ1NGSV9SRUcobGNoKSA9IHNyY19maTsKKwlkbWFfd3JpdGUoc3JjX2VpLCBDU0VJKGxjaCkpOworCWRtYV93cml0ZShzcmNfZmksIENTRkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfcGFyYW1zKTsKIAotdm9pZCBvbWFwX3NldF9kbWFfcGFyYW1zKGludCBsY2gsIHN0cnVjdCBvbWFwX2RtYV9jaGFubmVsX3BhcmFtcyAqIHBhcmFtcykKK3ZvaWQgb21hcF9zZXRfZG1hX3BhcmFtcyhpbnQgbGNoLCBzdHJ1Y3Qgb21hcF9kbWFfY2hhbm5lbF9wYXJhbXMgKnBhcmFtcykKIHsKIAlvbWFwX3NldF9kbWFfdHJhbnNmZXJfcGFyYW1zKGxjaCwgcGFyYW1zLT5kYXRhX3R5cGUsCiAJCQkJICAgICBwYXJhbXMtPmVsZW1fY291bnQsIHBhcmFtcy0+ZnJhbWVfY291bnQsCkBAIC0zNTYsMjggKzQyNywzNyBAQAogCQlvbWFwX2RtYV9zZXRfcHJpb19sY2gobGNoLCBwYXJhbXMtPnJlYWRfcHJpbywKIAkJCQkgICAgICBwYXJhbXMtPndyaXRlX3ByaW8pOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfcGFyYW1zKTsKIAogdm9pZCBvbWFwX3NldF9kbWFfc3JjX2luZGV4KGludCBsY2gsIGludCBlaWR4LCBpbnQgZmlkeCkKIHsKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKLQkJUkVWSVNJVF8yNFhYKCk7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQogCQlyZXR1cm47Ci0JfQotCU9NQVBfRE1BX0NTRUlfUkVHKGxjaCkgPSBlaWR4OwotCU9NQVBfRE1BX0NTRklfUkVHKGxjaCkgPSBmaWR4OworCisJZG1hX3dyaXRlKGVpZHgsIENTRUkobGNoKSk7CisJZG1hX3dyaXRlKGZpZHgsIENTRkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfaW5kZXgpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9zcmNfZGF0YV9wYWNrKGludCBsY2gsIGludCBlbmFibGUpCiB7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDEgPDwgNik7CisJdTMyIGw7CisKKwlsID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwlsICY9IH4oMSA8PCA2KTsKIAlpZiAoZW5hYmxlKQotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9ICgxIDw8IDYpOworCQlsIHw9ICgxIDw8IDYpOworCWRtYV93cml0ZShsLCBDU0RQKGxjaCkpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfc3JjX2RhdGFfcGFjayk7CiAKIHZvaWQgb21hcF9zZXRfZG1hX3NyY19idXJzdF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfYnVyc3RfbW9kZSBidXJzdF9tb2RlKQogewogCXVuc2lnbmVkIGludCBidXJzdCA9IDA7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MDMgPDwgNyk7CisJdTMyIGw7CisKKwlsID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwlsICY9IH4oMHgwMyA8PCA3KTsKIAogCXN3aXRjaCAoYnVyc3RfbW9kZSkgewogCWNhc2UgT01BUF9ETUFfREFUQV9CVVJTVF9ESVM6CkBAIC00MDgsNTUgKzQ4OCw3MyBAQAogCWRlZmF1bHQ6CiAJCUJVRygpOwogCX0KLQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9IChidXJzdCA8PCA3KTsKKworCWwgfD0gKGJ1cnN0IDw8IDcpOworCWRtYV93cml0ZShsLCBDU0RQKGxjaCkpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfc3JjX2J1cnN0X21vZGUpOwogCiAvKiBOb3RlIHRoYXQgZGVzdF9wb3J0IGlzIG9ubHkgZm9yIE9NQVAxICovCiB2b2lkIG9tYXBfc2V0X2RtYV9kZXN0X3BhcmFtcyhpbnQgbGNoLCBpbnQgZGVzdF9wb3J0LCBpbnQgZGVzdF9hbW9kZSwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZGVzdF9zdGFydCwKIAkJCSAgICAgIGludCBkc3RfZWksIGludCBkc3RfZmkpCiB7CisJdTMyIGw7CisKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MWYgPDwgOSk7Ci0JCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgfD0gZGVzdF9wb3J0IDw8IDk7CisJCWwgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCQlsICY9IH4oMHgxZiA8PCA5KTsKKwkJbCB8PSBkZXN0X3BvcnQgPDwgOTsKKwkJZG1hX3dyaXRlKGwsIENTRFAobGNoKSk7CiAJfQogCi0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpICY9IH4oMHgwMyA8PCAxNCk7Ci0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9IGRlc3RfYW1vZGUgPDwgMTQ7CisJbCA9IGRtYV9yZWFkKENDUihsY2gpKTsKKwlsICY9IH4oMHgwMyA8PCAxNCk7CisJbCB8PSBkZXN0X2Ftb2RlIDw8IDE0OworCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUDFfRE1BX0NEU0FfVV9SRUcobGNoKSA9IGRlc3Rfc3RhcnQgPj4gMTY7Ci0JCU9NQVAxX0RNQV9DRFNBX0xfUkVHKGxjaCkgPSBkZXN0X3N0YXJ0OworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCA+PiAxNiwgQ0RTQV9VKGxjaCkpOworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCwgQ0RTQV9MKGxjaCkpOwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJT01BUDJfRE1BX0NEU0FfUkVHKGxjaCkgPSBkZXN0X3N0YXJ0OworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCwgQ0RTQShsY2gpKTsKIAotCU9NQVBfRE1BX0NERUlfUkVHKGxjaCkgPSBkc3RfZWk7Ci0JT01BUF9ETUFfQ0RGSV9SRUcobGNoKSA9IGRzdF9maTsKKwlkbWFfd3JpdGUoZHN0X2VpLCBDREVJKGxjaCkpOworCWRtYV93cml0ZShkc3RfZmksIENERkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X3BhcmFtcyk7CiAKIHZvaWQgb21hcF9zZXRfZG1hX2Rlc3RfaW5kZXgoaW50IGxjaCwgaW50IGVpZHgsIGludCBmaWR4KQogewotCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewotCQlSRVZJU0lUXzI0WFgoKTsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXJldHVybjsKLQl9Ci0JT01BUF9ETUFfQ0RFSV9SRUcobGNoKSA9IGVpZHg7Ci0JT01BUF9ETUFfQ0RGSV9SRUcobGNoKSA9IGZpZHg7CisKKwlkbWFfd3JpdGUoZWlkeCwgQ0RFSShsY2gpKTsKKwlkbWFfd3JpdGUoZmlkeCwgQ0RGSShsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfaW5kZXgpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9kZXN0X2RhdGFfcGFjayhpbnQgbGNoLCBpbnQgZW5hYmxlKQogewotCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgJj0gfigxIDw8IDEzKTsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCWwgJj0gfigxIDw8IDEzKTsKIAlpZiAoZW5hYmxlKQotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9IDEgPDwgMTM7CisJCWwgfD0gMSA8PCAxMzsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfZGF0YV9wYWNrKTsKIAogdm9pZCBvbWFwX3NldF9kbWFfZGVzdF9idXJzdF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfYnVyc3RfbW9kZSBidXJzdF9tb2RlKQogewogCXVuc2lnbmVkIGludCBidXJzdCA9IDA7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MDMgPDwgMTQpOworCXUzMiBsOworCisJbCA9IGRtYV9yZWFkKENTRFAobGNoKSk7CisJbCAmPSB+KDB4MDMgPDwgMTQpOwogCiAJc3dpdGNoIChidXJzdF9tb2RlKSB7CiAJY2FzZSBPTUFQX0RNQV9EQVRBX0JVUlNUX0RJUzoKQEAgLTQ4Niw4ICs1ODQsMTAgQEAKIAkJQlVHKCk7CiAJCXJldHVybjsKIAl9Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSAoYnVyc3QgPDwgMTQpOworCWwgfD0gKGJ1cnN0IDw8IDE0KTsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfYnVyc3RfbW9kZSk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBvbWFwX2VuYWJsZV9jaGFubmVsX2lycShpbnQgbGNoKQogewpAQCAtNDk1LDYyICs1OTUsNzQgQEAKIAogCS8qIENsZWFyIENTUiAqLwogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKLQkJc3RhdHVzID0gT01BUF9ETUFfQ1NSX1JFRyhsY2gpOworCQlzdGF0dXMgPSBkbWFfcmVhZChDU1IobGNoKSk7CiAJZWxzZSBpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCi0JCU9NQVBfRE1BX0NTUl9SRUcobGNoKSA9IE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSzsKKwkJZG1hX3dyaXRlKE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSywgQ1NSKGxjaCkpOwogCiAJLyogRW5hYmxlIHNvbWUgbmljZSBpbnRlcnJ1cHRzLiAqLwotCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSBkbWFfY2hhbltsY2hdLmVuYWJsZWRfaXJxczsKKwlkbWFfd3JpdGUoZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMsIENJQ1IobGNoKSk7CiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfZGlzYWJsZV9jaGFubmVsX2lycShpbnQgbGNoKQogewogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJT01BUF9ETUFfQ0lDUl9SRUcobGNoKSA9IDA7CisJCWRtYV93cml0ZSgwLCBDSUNSKGxjaCkpOwogfQogCiB2b2lkIG9tYXBfZW5hYmxlX2RtYV9pcnEoaW50IGxjaCwgdTE2IGJpdHMpCiB7CiAJZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMgfD0gYml0czsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9lbmFibGVfZG1hX2lycSk7CiAKIHZvaWQgb21hcF9kaXNhYmxlX2RtYV9pcnEoaW50IGxjaCwgdTE2IGJpdHMpCiB7CiAJZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMgJj0gfmJpdHM7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZGlzYWJsZV9kbWFfaXJxKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGVuYWJsZV9sbmsoaW50IGxjaCkKIHsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDTE5LX0NUUkwobGNoKSk7CisKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCi0JCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoKSAmPSB+KDEgPDwgMTQpOworCQlsICY9IH4oMSA8PCAxNCk7CiAKIAkvKiBTZXQgdGhlIEVOQUJMRV9MTksgYml0cyAqLwogCWlmIChkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKQotCQlPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaCkgPQotCQkJZG1hX2NoYW5bbGNoXS5uZXh0X2xjaCB8ICgxIDw8IDE1KTsKKwkJbCA9IGRtYV9jaGFuW2xjaF0ubmV4dF9sY2ggfCAoMSA8PCAxNSk7CiAKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKLQlpZiAoZG1hX2NoYW5bbGNoXS5uZXh0X2xpbmtlZF9jaCAhPSAtMSkKLQkJT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2gpID0KLQkJCWRtYV9jaGFuW2xjaF0ubmV4dF9saW5rZWRfY2ggfCAoMSA8PCAxNSk7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQorCQlpZiAoZG1hX2NoYW5bbGNoXS5uZXh0X2xpbmtlZF9jaCAhPSAtMSkKKwkJCWwgPSBkbWFfY2hhbltsY2hdLm5leHRfbGlua2VkX2NoIHwgKDEgPDwgMTUpOwogI2VuZGlmCisKKwlkbWFfd3JpdGUobCwgQ0xOS19DVFJMKGxjaCkpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZGlzYWJsZV9sbmsoaW50IGxjaCkKIHsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDTE5LX0NUUkwobGNoKSk7CisKIAkvKiBEaXNhYmxlIGludGVycnVwdHMgKi8KIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUF9ETUFfQ0lDUl9SRUcobGNoKSA9IDA7CisJCWRtYV93cml0ZSgwLCBDSUNSKGxjaCkpOwogCQkvKiBTZXQgdGhlIFNUT1BfTE5LIGJpdCAqLwotCQlPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaCkgfD0gMSA8PCAxNDsKKwkJbCB8PSAxIDw8IDE0OwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewogCQlvbWFwX2Rpc2FibGVfY2hhbm5lbF9pcnEobGNoKTsKIAkJLyogQ2xlYXIgdGhlIEVOQUJMRV9MTksgYml0ICovCi0JCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoKSAmPSB+KDEgPDwgMTUpOworCQlsICY9IH4oMSA8PCAxNSk7CiAJfQogCisJZG1hX3dyaXRlKGwsIENMTktfQ1RSTChsY2gpKTsKIAlkbWFfY2hhbltsY2hdLmZsYWdzICY9IH5PTUFQX0RNQV9BQ1RJVkU7CiB9CiAKQEAgLTU2MSwxMyArNjczLDEzIEBACiAJaWYgKCFjcHVfY2xhc3NfaXNfb21hcDIoKSkKIAkJcmV0dXJuOwogCi0JdmFsID0gb21hcF9yZWFkbChPTUFQX0RNQTRfSVJRRU5BQkxFX0wwKTsKKwl2YWwgPSBkbWFfcmVhZChJUlFFTkFCTEVfTDApOwogCXZhbCB8PSAxIDw8IGxjaDsKLQlvbWFwX3dyaXRlbCh2YWwsIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDApOworCWRtYV93cml0ZSh2YWwsIElSUUVOQUJMRV9MMCk7CiB9CiAKIGludCBvbWFwX3JlcXVlc3RfZG1hKGludCBkZXZfaWQsIGNvbnN0IGNoYXIgKmRldl9uYW1lLAotCQkgICAgIHZvaWQgKCogY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAorCQkgICAgIHZvaWQgKCpjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCiAJCSAgICAgdm9pZCAqZGF0YSwgaW50ICpkbWFfY2hfb3V0KQogewogCWludCBjaCwgZnJlZV9jaCA9IC0xOwpAQCAtNjAwLDEwICs3MTIsMTQgQEAKIAljaGFuLT5kZXZfbmFtZSA9IGRldl9uYW1lOwogCWNoYW4tPmNhbGxiYWNrID0gY2FsbGJhY2s7CiAJY2hhbi0+ZGF0YSA9IGRhdGE7CisKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKLQljaGFuLT5jaGFpbl9pZCA9IC0xOwotCWNoYW4tPm5leHRfbGlua2VkX2NoID0gLTE7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7CisJCWNoYW4tPmNoYWluX2lkID0gLTE7CisJCWNoYW4tPm5leHRfbGlua2VkX2NoID0gLTE7CisJfQogI2VuZGlmCisKIAljaGFuLT5lbmFibGVkX2lycXMgPSBPTUFQX0RNQV9EUk9QX0lSUSB8IE9NQVBfRE1BX0JMT0NLX0lSUTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKQEAgLTYxOCwyNiArNzM0LDI4IEBACiAJCQlzZXRfZ2RtYV9kZXYoZnJlZV9jaCArIDEsIGRldl9pZCk7CiAJCQlkZXZfaWQgPSBmcmVlX2NoICsgMTsKIAkJfQotCQkvKiBEaXNhYmxlIHRoZSAxNTEwIGNvbXBhdGliaWxpdHkgbW9kZSBhbmQgc2V0IHRoZSBzeW5jIGRldmljZQotCQkgKiBpZC4gKi8KLQkJT01BUF9ETUFfQ0NSX1JFRyhmcmVlX2NoKSA9IGRldl9pZCB8ICgxIDw8IDEwKTsKKwkJLyoKKwkJICogRGlzYWJsZSB0aGUgMTUxMCBjb21wYXRpYmlsaXR5IG1vZGUgYW5kIHNldCB0aGUgc3luYyBkZXZpY2UKKwkJICogaWQuCisJCSAqLworCQlkbWFfd3JpdGUoZGV2X2lkIHwgKDEgPDwgMTApLCBDQ1IoZnJlZV9jaCkpOwogCX0gZWxzZSBpZiAoY3B1X2lzX29tYXA3MzAoKSB8fCBjcHVfaXNfb21hcDE1eHgoKSkgewotCQlPTUFQX0RNQV9DQ1JfUkVHKGZyZWVfY2gpID0gZGV2X2lkOworCQlkbWFfd3JpdGUoZGV2X2lkLCBDQ1IoZnJlZV9jaCkpOwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewogCQlvbWFwMl9lbmFibGVfaXJxX2xjaChmcmVlX2NoKTsKLQogCQlvbWFwX2VuYWJsZV9jaGFubmVsX2lycShmcmVlX2NoKTsKIAkJLyogQ2xlYXIgdGhlIENTUiByZWdpc3RlciBhbmQgSVJRIHN0YXR1cyByZWdpc3RlciAqLwotCQlPTUFQX0RNQV9DU1JfUkVHKGZyZWVfY2gpID0gT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLOwotCQlvbWFwX3dyaXRlbCgxIDw8IGZyZWVfY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQlkbWFfd3JpdGUoT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLLCBDU1IoZnJlZV9jaCkpOworCQlkbWFfd3JpdGUoMSA8PCBmcmVlX2NoLCBJUlFTVEFUVVNfTDApOwogCX0KIAogCSpkbWFfY2hfb3V0ID0gZnJlZV9jaDsKIAogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hKTsKIAogdm9pZCBvbWFwX2ZyZWVfZG1hKGludCBsY2gpCiB7CkBAIC02NDUsMTEgKzc2MywxMiBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmRtYV9jaGFuX2xvY2ssIGZsYWdzKTsKIAlpZiAoZG1hX2NoYW5bbGNoXS5kZXZfaWQgPT0gLTEpIHsKLQkJcHJpbnRrKCJvbWFwX2RtYTogdHJ5aW5nIHRvIGZyZWUgbm9uYWxsb2NhdGVkIERNQSBjaGFubmVsICVkXG4iLAorCQlwcl9lcnIoIm9tYXBfZG1hOiB0cnlpbmcgdG8gZnJlZSB1bmFsbG9jYXRlZCBETUEgY2hhbm5lbCAlZFxuIiwKIAkJICAgICAgIGxjaCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRtYV9jaGFuX2xvY2ssIGZsYWdzKTsKIAkJcmV0dXJuOwogCX0KKwogCWRtYV9jaGFuW2xjaF0uZGV2X2lkID0gLTE7CiAJZG1hX2NoYW5bbGNoXS5uZXh0X2xjaCA9IC0xOwogCWRtYV9jaGFuW2xjaF0uY2FsbGJhY2sgPSBOVUxMOwpAQCAtNjU3LDMwICs3NzYsMzEgQEAKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewogCQkvKiBEaXNhYmxlIGFsbCBETUEgaW50ZXJydXB0cyBmb3IgdGhlIGNoYW5uZWwuICovCi0JCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0lDUihsY2gpKTsKIAkJLyogTWFrZSBzdXJlIHRoZSBETUEgdHJhbnNmZXIgaXMgc3RvcHBlZC4gKi8KLQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpID0gMDsKKwkJZG1hX3dyaXRlKDAsIENDUihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJdTMyIHZhbDsKIAkJLyogRGlzYWJsZSBpbnRlcnJ1cHRzICovCi0JCXZhbCA9IG9tYXBfcmVhZGwoT01BUF9ETUE0X0lSUUVOQUJMRV9MMCk7CisJCXZhbCA9IGRtYV9yZWFkKElSUUVOQUJMRV9MMCk7CiAJCXZhbCAmPSB+KDEgPDwgbGNoKTsKLQkJb21hcF93cml0ZWwodmFsLCBPTUFQX0RNQTRfSVJRRU5BQkxFX0wwKTsKKwkJZG1hX3dyaXRlKHZhbCwgSVJRRU5BQkxFX0wwKTsKIAogCQkvKiBDbGVhciB0aGUgQ1NSIHJlZ2lzdGVyIGFuZCBJUlEgc3RhdHVzIHJlZ2lzdGVyICovCi0JCU9NQVBfRE1BX0NTUl9SRUcobGNoKSA9IE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSzsKLQkJb21hcF93cml0ZWwoMSA8PCBsY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQlkbWFfd3JpdGUoT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLLCBDU1IobGNoKSk7CisJCWRtYV93cml0ZSgxIDw8IGxjaCwgSVJRU1RBVFVTX0wwKTsKIAogCQkvKiBEaXNhYmxlIGFsbCBETUEgaW50ZXJydXB0cyBmb3IgdGhlIGNoYW5uZWwuICovCi0JCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0lDUihsY2gpKTsKIAogCQkvKiBNYWtlIHN1cmUgdGhlIERNQSB0cmFuc2ZlciBpcyBzdG9wcGVkLiAqLwotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0NSKGxjaCkpOwogCQlvbWFwX2NsZWFyX2RtYShsY2gpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9mcmVlX2RtYSk7CiAKIC8qKgogICogQGJyaWVmIG9tYXBfZG1hX3NldF9nbG9iYWxfcGFyYW1zIDogU2V0IGdsb2JhbCBwcmlvcml0eSBzZXR0aW5ncyBmb3IgZG1hCkBAIC03MDgsNyArODI4LDcgQEAKIAlyZWcgPSAoYXJiX3JhdGUgJiAweGZmKSA8PCAxNjsKIAlyZWcgfD0gKDB4ZmYgJiBtYXhfZmlmb19kZXB0aCk7CiAKLQlvbWFwX3dyaXRlbChyZWcsIE9NQVBfRE1BNF9HQ1JfUkVHKTsKKwlkbWFfd3JpdGUocmVnLCBHQ1IpOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX2RtYV9zZXRfZ2xvYmFsX3BhcmFtcyk7CiAKQEAgLTcyNSwyMCArODQ1LDIxIEBACiBvbWFwX2RtYV9zZXRfcHJpb19sY2goaW50IGxjaCwgdW5zaWduZWQgY2hhciByZWFkX3ByaW8sCiAJCSAgICAgIHVuc2lnbmVkIGNoYXIgd3JpdGVfcHJpbykKIHsKLQl1MzIgdzsKKwl1MzIgbDsKIAotCWlmICh1bmxpa2VseSgobGNoIDwgMCB8fCBsY2ggPj0gT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCkpKSB7CisJaWYgKHVubGlrZWx5KChsY2ggPCAwIHx8IGxjaCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYW5uZWwgaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9Ci0JdyA9IE9NQVBfRE1BX0NDUl9SRUcobGNoKTsKLQl3ICY9IH4oKDEgPDwgNikgfCAoMSA8PCAyNikpOworCWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CisJbCAmPSB+KCgxIDw8IDYpIHwgKDEgPDwgMjYpKTsKIAlpZiAoY3B1X2lzX29tYXAyNDMwKCkgfHwgY3B1X2lzX29tYXAzNHh4KCkpCi0JCXcgfD0gKChyZWFkX3ByaW8gJiAweDEpIDw8IDYpIHwgKCh3cml0ZV9wcmlvICYgMHgxKSA8PCAyNik7CisJCWwgfD0gKChyZWFkX3ByaW8gJiAweDEpIDw8IDYpIHwgKCh3cml0ZV9wcmlvICYgMHgxKSA8PCAyNik7CiAJZWxzZQotCQl3IHw9ICgocmVhZF9wcmlvICYgMHgxKSA8PCA2KTsKKwkJbCB8PSAoKHJlYWRfcHJpbyAmIDB4MSkgPDwgNik7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB3OworCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9kbWFfc2V0X3ByaW9fbGNoKTsKQEAgLTc1NCwyOCArODc1LDM0IEBACiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCWludCBzdGF0dXM7Ci0JCU9NQVBfRE1BX0NDUl9SRUcobGNoKSAmPSB+T01BUF9ETUFfQ0NSX0VOOworCQl1MzIgbDsKKworCQlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCQlsICY9IH5PTUFQX0RNQV9DQ1JfRU47CisJCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CiAKIAkJLyogQ2xlYXIgcGVuZGluZyBpbnRlcnJ1cHRzICovCi0JCXN0YXR1cyA9IE9NQVBfRE1BX0NTUl9SRUcobGNoKTsKKwkJbCA9IGRtYV9yZWFkKENTUihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJaW50IGk7Ci0JCXUzMiBsY2hfYmFzZSA9IE9NQVBfRE1BNF9CQVNFICsgbGNoICogMHg2MCArIDB4ODA7CisJCXZvaWQgX19pb21lbSAqbGNoX2Jhc2UgPSBvbWFwX2RtYV9iYXNlICsgT01BUF9ETUE0X0NIX0JBU0UobGNoKTsKIAkJZm9yIChpID0gMDsgaSA8IDB4NDQ7IGkgKz0gNCkKLQkJCW9tYXBfd3JpdGVsKDAsIGxjaF9iYXNlICsgaSk7CisJCQlfX3Jhd193cml0ZWwoMCwgbGNoX2Jhc2UgKyBpKTsKIAl9CiAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfY2xlYXJfZG1hKTsKIAogdm9pZCBvbWFwX3N0YXJ0X2RtYShpbnQgbGNoKQogeworCXUzMiBsOworCiAJaWYgKCFvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSAmJiBkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKSB7CiAJCWludCBuZXh0X2xjaCwgY3VyX2xjaDsKLQkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKKwkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdOwogCiAJCWRtYV9jaGFuX2xpbmtfbWFwW2xjaF0gPSAxOwogCQkvKiBTZXQgdGhlIGxpbmsgcmVnaXN0ZXIgb2YgdGhlIGZpcnN0IGNoYW5uZWwgKi8KQEAgLTc5OSwyNyArOTI2LDM0IEBACiAJCX0gd2hpbGUgKG5leHRfbGNoICE9IC0xKTsKIAl9IGVsc2UgaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7CiAJCS8qIEVycmF0YTogTmVlZCB0byB3cml0ZSBsY2ggZXZlbiBpZiBub3QgdXNpbmcgY2hhaW5pbmcgKi8KLQkJT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2gpID0gbGNoOworCQlkbWFfd3JpdGUobGNoLCBDTE5LX0NUUkwobGNoKSk7CiAJfQogCiAJb21hcF9lbmFibGVfY2hhbm5lbF9pcnEobGNoKTsKIAotCS8qIEVycmF0YTogT24gRVMyLjAgQlVGRkVSSU5HIGRpc2FibGUgbXVzdCBiZSBzZXQuCi0JICogVGhpcyB3aWxsIGFsd2F5cyBmYWlsIG9uIEVTMS4wICovCi0JaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7Ci0JCU9NQVBfRE1BX0NDUl9SRUcobGNoKSB8PSBPTUFQX0RNQV9DQ1JfRU47Ci0JfQorCWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgfD0gT01BUF9ETUFfQ0NSX0VOOworCS8qCisJICogRXJyYXRhOiBPbiBFUzIuMCBCVUZGRVJJTkcgZGlzYWJsZSBtdXN0IGJlIHNldC4KKwkgKiBUaGlzIHdpbGwgYWx3YXlzIGZhaWwgb24gRVMxLjAKKwkgKi8KKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpCisJCWwgfD0gT01BUF9ETUFfQ0NSX0VOOworCisJbCB8PSBPTUFQX0RNQV9DQ1JfRU47CisJZG1hX3dyaXRlKGwsIENDUihsY2gpKTsKIAogCWRtYV9jaGFuW2xjaF0uZmxhZ3MgfD0gT01BUF9ETUFfQUNUSVZFOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3N0YXJ0X2RtYSk7CiAKIHZvaWQgb21hcF9zdG9wX2RtYShpbnQgbGNoKQogeworCXUzMiBsOworCiAJaWYgKCFvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSAmJiBkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKSB7CiAJCWludCBuZXh0X2xjaCwgY3VyX2xjaCA9IGxjaDsKLQkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKKwkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdOwogCiAJCW1lbXNldChkbWFfY2hhbl9saW5rX21hcCwgMCwgc2l6ZW9mKGRtYV9jaGFuX2xpbmtfbWFwKSk7CiAJCWRvIHsKQEAgLTg0MCwxOCArOTc0LDIyIEBACiAKIAkvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzIG9uIHRoZSBjaGFubmVsICovCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQotCQlPTUFQX0RNQV9DSUNSX1JFRyhsY2gpID0gMDsKKwkJZG1hX3dyaXRlKDAsIENJQ1IobGNoKSk7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfk9NQVBfRE1BX0NDUl9FTjsKKwlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCWwgJj0gfk9NQVBfRE1BX0NDUl9FTjsKKwlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOworCiAJZG1hX2NoYW5bbGNoXS5mbGFncyAmPSB+T01BUF9ETUFfQUNUSVZFOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3N0b3BfZG1hKTsKIAogLyoKICAqIEFsbG93cyBjaGFuZ2luZyB0aGUgRE1BIGNhbGxiYWNrIGZ1bmN0aW9uIG9yIGRhdGEuIFRoaXMgbWF5IGJlIG5lZWRlZCBpZgogICogdGhlIGRyaXZlciBzaGFyZXMgYSBzaW5nbGUgRE1BIGNoYW5uZWwgZm9yIG11bHRpcGxlIGRtYSB0cmlnZ2Vycy4KICAqLwogaW50IG9tYXBfc2V0X2RtYV9jYWxsYmFjayhpbnQgbGNoLAotCQkJICB2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKKwkJCSAgdm9pZCAoKmNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCSAgdm9pZCAqZGF0YSkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtODcxLDYgKzEwMDksNyBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jYWxsYmFjayk7CiAKIC8qCiAgKiBSZXR1cm5zIGN1cnJlbnQgcGh5c2ljYWwgc291cmNlIGFkZHJlc3MgZm9yIHRoZSBnaXZlbiBETUEgY2hhbm5lbC4KQEAgLTg4NCwxNSArMTAyMywyNCBAQAogewogCWRtYV9hZGRyX3Qgb2Zmc2V0ID0gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKLQkJb2Zmc2V0ID0gKGRtYV9hZGRyX3QpIChPTUFQMV9ETUFfQ1NTQV9MX1JFRyhsY2gpIHwKLQkJCQkgICAgICAgKE9NQVAxX0RNQV9DU1NBX1VfUkVHKGxjaCkgPDwgMTYpKTsKKwlpZiAoY3B1X2lzX29tYXAxNXh4KCkpCisJCW9mZnNldCA9IGRtYV9yZWFkKENQQyhsY2gpKTsKKwllbHNlCisJCW9mZnNldCA9IGRtYV9yZWFkKENTQUMobGNoKSk7CiAKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCi0JCW9mZnNldCA9IE9NQVBfRE1BX0NTQUNfUkVHKGxjaCk7CisJLyoKKwkgKiBvbWFwIDMuMi8zLjMgZXJyYXR1bTogc29tZXRpbWVzIDAgaXMgcmV0dXJuZWQgaWYgQ1NBQy9DREFDIGlzCisJICogcmVhZCBiZWZvcmUgdGhlIERNQSBjb250cm9sbGVyIGZpbmlzaGVkIGRpc2FibGluZyB0aGUgY2hhbm5lbC4KKwkgKi8KKwlpZiAoIWNwdV9pc19vbWFwMTV4eCgpICYmIG9mZnNldCA9PSAwKQorCQlvZmZzZXQgPSBkbWFfcmVhZChDU0FDKGxjaCkpOworCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQorCQlvZmZzZXQgfD0gKGRtYV9yZWFkKENTU0FfVShsY2gpKSA8PCAxNik7CiAKIAlyZXR1cm4gb2Zmc2V0OwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfc3JjX3Bvcyk7CiAKIC8qCiAgKiBSZXR1cm5zIGN1cnJlbnQgcGh5c2ljYWwgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdGhlIGdpdmVuIERNQSBjaGFubmVsLgpAQCAtOTA2LDI1ICsxMDU0LDMwIEBACiB7CiAJZG1hX2FkZHJfdCBvZmZzZXQgPSAwOwogCi0JaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQotCQlvZmZzZXQgPSAoZG1hX2FkZHJfdCkgKE9NQVAxX0RNQV9DRFNBX0xfUkVHKGxjaCkgfAotCQkJCSAgICAgICAoT01BUDFfRE1BX0NEU0FfVV9SRUcobGNoKSA8PCAxNikpOworCWlmIChjcHVfaXNfb21hcDE1eHgoKSkKKwkJb2Zmc2V0ID0gZG1hX3JlYWQoQ1BDKGxjaCkpOworCWVsc2UKKwkJb2Zmc2V0ID0gZG1hX3JlYWQoQ0RBQyhsY2gpKTsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJb2Zmc2V0ID0gT01BUF9ETUFfQ0RBQ19SRUcobGNoKTsKKwkvKgorCSAqIG9tYXAgMy4yLzMuMyBlcnJhdHVtOiBzb21ldGltZXMgMCBpcyByZXR1cm5lZCBpZiBDU0FDL0NEQUMgaXMKKwkgKiByZWFkIGJlZm9yZSB0aGUgRE1BIGNvbnRyb2xsZXIgZmluaXNoZWQgZGlzYWJsaW5nIHRoZSBjaGFubmVsLgorCSAqLworCWlmICghY3B1X2lzX29tYXAxNXh4KCkgJiYgb2Zmc2V0ID09IDApCisJCW9mZnNldCA9IGRtYV9yZWFkKENEQUMobGNoKSk7CisKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCisJCW9mZnNldCB8PSAoZG1hX3JlYWQoQ0RTQV9VKGxjaCkpIDw8IDE2KTsKIAogCXJldHVybiBvZmZzZXQ7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9kc3RfcG9zKTsKIAotLyoKLSAqIFJldHVybnMgY3VycmVudCBzb3VyY2UgdHJhbnNmZXIgY291bnRpbmcgZm9yIHRoZSBnaXZlbiBETUEgY2hhbm5lbC4KLSAqIENhbiBiZSB1c2VkIHRvIG1vbml0b3IgdGhlIHByb2dyZXNzIG9mIGEgdHJhbnNmZXIgaW5zaWRlIGEgYmxvY2suCi0gKiBJdCBtdXN0IGJlIGNhbGxlZCB3aXRoIGRpc2FibGVkIGludGVycnVwdHMuCi0gKi8KLWludCBvbWFwX2dldF9kbWFfc3JjX2FkZHJfY291bnRlcihpbnQgbGNoKQoraW50IG9tYXBfZ2V0X2RtYV9hY3RpdmVfc3RhdHVzKGludCBsY2gpCiB7Ci0JcmV0dXJuIChkbWFfYWRkcl90KSBPTUFQX0RNQV9DU0FDX1JFRyhsY2gpOworCXJldHVybiAoZG1hX3JlYWQoQ0NSKGxjaCkpICYgT01BUF9ETUFfQ0NSX0VOKSAhPSAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfYWN0aXZlX3N0YXR1cyk7CiAKIGludCBvbWFwX2RtYV9ydW5uaW5nKHZvaWQpCiB7CkBAIC05MzYsNyArMTA4OSw3IEBACiAJCQlyZXR1cm4gMTsKIAogCWZvciAobGNoID0gMDsgbGNoIDwgZG1hX2NoYW5fY291bnQ7IGxjaCsrKQotCQlpZiAoT01BUF9ETUFfQ0NSX1JFRyhsY2gpICYgT01BUF9ETUFfQ0NSX0VOKQorCQlpZiAoZG1hX3JlYWQoQ0NSKGxjaCkpICYgT01BUF9ETUFfQ0NSX0VOKQogCQkJcmV0dXJuIDE7CiAKIAlyZXR1cm4gMDsKQEAgLTk0Nyw3ICsxMTAwLDcgQEAKICAqIEZvciB0aGlzIERNQSBsaW5rIHRvIHN0YXJ0LCB5b3Ugc3RpbGwgbmVlZCB0byBzdGFydCAoc2VlIG9tYXBfc3RhcnRfZG1hKQogICogdGhlIGZpcnN0IG9uZS4gVGhhdCB3aWxsIGZpcmUgdXAgdGhlIGVudGlyZSBxdWV1ZS4KICAqLwotdm9pZCBvbWFwX2RtYV9saW5rX2xjaCAoaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKQordm9pZCBvbWFwX2RtYV9saW5rX2xjaChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpCiB7CiAJaWYgKG9tYXBfZG1hX2luXzE1MTBfbW9kZSgpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiRE1BIGxpbmtpbmcgaXMgbm90IHN1cHBvcnRlZCBpbiAxNTEwIG1vZGVcbiIpOwpAQCAtOTY0LDExICsxMTE3LDEyIEBACiAKIAlkbWFfY2hhbltsY2hfaGVhZF0ubmV4dF9sY2ggPSBsY2hfcXVldWU7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2xpbmtfbGNoKTsKIAogLyoKICAqIE9uY2UgdGhlIERNQSBxdWV1ZSBpcyBzdG9wcGVkLCB3ZSBjYW4gZGVzdHJveSBpdC4KICAqLwotdm9pZCBvbWFwX2RtYV91bmxpbmtfbGNoIChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpCit2b2lkIG9tYXBfZG1hX3VubGlua19sY2goaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKQogewogCWlmIChvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkRNQSBsaW5raW5nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gMTUxMCBtb2RlXG4iKTsKQEAgLTk4Myw3ICsxMTM3LDYgQEAKIAkJZHVtcF9zdGFjaygpOwogCX0KIAotCiAJaWYgKChkbWFfY2hhbltsY2hfaGVhZF0uZmxhZ3MgJiBPTUFQX0RNQV9BQ1RJVkUpIHx8CiAJICAgIChkbWFfY2hhbltsY2hfaGVhZF0uZmxhZ3MgJiBPTUFQX0RNQV9BQ1RJVkUpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAib21hcF9kbWE6IFlvdSBuZWVkIHRvIHN0b3AgdGhlIERNQSBjaGFubmVscyAiCkBAIC05OTMsMTIgKzExNDYsMTUgQEAKIAogCWRtYV9jaGFuW2xjaF9oZWFkXS5uZXh0X2xjaCA9IC0xOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2RtYV91bmxpbmtfbGNoKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogI2lmbmRlZiBDT05GSUdfQVJDSF9PTUFQMQogLyogQ3JlYXRlIGNoYWluIG9mIERNQSBjaGFubmVzbHMgKi8KIHN0YXRpYyB2b2lkIGNyZWF0ZV9kbWFfbGNoX2NoYWluKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSkKIHsKLQl1MzIgdzsKKwl1MzIgbDsKIAogCS8qIENoZWNrIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGxpbmsgaW4gY2hhaW4gKi8KIAlpZiAoZG1hX2NoYW5bbGNoX2hlYWRdLm5leHRfbGlua2VkX2NoID09IC0xKSB7CkBAIC0xMDE4LDE1ICsxMTc0LDE1IEBACiAJCQkJCWxjaF9xdWV1ZTsKIAl9CiAKLQl3ID0gT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2hfaGVhZCk7Ci0JdyAmPSB+KDB4MWYpOwotCXcgfD0gbGNoX3F1ZXVlOwotCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoX2hlYWQpID0gdzsKKwlsID0gZG1hX3JlYWQoQ0xOS19DVFJMKGxjaF9oZWFkKSk7CisJbCAmPSB+KDB4MWYpOworCWwgfD0gbGNoX3F1ZXVlOworCWRtYV93cml0ZShsLCBDTE5LX0NUUkwobGNoX2hlYWQpKTsKIAotCXcgPSBPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaF9xdWV1ZSk7Ci0JdyAmPSB+KDB4MWYpOwotCXcgfD0gKGRtYV9jaGFuW2xjaF9xdWV1ZV0ubmV4dF9saW5rZWRfY2gpOwotCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoX3F1ZXVlKSA9IHc7CisJbCA9IGRtYV9yZWFkKENMTktfQ1RSTChsY2hfcXVldWUpKTsKKwlsICY9IH4oMHgxZik7CisJbCB8PSAoZG1hX2NoYW5bbGNoX3F1ZXVlXS5uZXh0X2xpbmtlZF9jaCk7CisJZG1hX3dyaXRlKGwsIENMTktfQ1RSTChsY2hfcXVldWUpKTsKIH0KIAogLyoqCkBAIC0xMDYxLDcgKzEyMTcsNyBAQAogCX0KIAogCWlmICh1bmxpa2VseSgobm9fb2ZfY2hhbnMgPCAxCi0JCQl8fCBub19vZl9jaGFucyA+IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCQkJfHwgbm9fb2ZfY2hhbnMgPiBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIE51bWJlciBvZiBjaGFubmVscyByZXF1ZXN0ZWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMTE2LDYgKzEyNzIsNyBAQAogCQlmb3IgKGkgPSAwOyBpIDwgKG5vX29mX2NoYW5zIC0gMSk7IGkrKykKIAkJCWNyZWF0ZV9kbWFfbGNoX2NoYWluKGNoYW5uZWxzW2ldLCBjaGFubmVsc1tpICsgMV0pOwogCX0KKwogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hX2NoYWluKTsKQEAgLTExMzgsNyArMTI5NSw3IEBACiAKIAkvKiBDaGVjayBmb3IgaW5wdXQgcGFyYW1zICovCiAJaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAKLQkJCXx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCQkJfHwgY2hhaW5faWQgPj0gZG1hX2xjaF9jb3VudCkpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCBjaGFpbiBpZFxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KQEAgLTExNTgsNiArMTMxNSw3IEBACiAJCSAqLwogCQlvbWFwX3NldF9kbWFfcGFyYW1zKGNoYW5uZWxzW2ldLCAmcGFyYW1zKTsKIAl9CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9tb2RpZnlfZG1hX2NoYWluX3BhcmFtcyk7CkBAIC0xMTc2LDcgKzEzMzQsNyBAQAogCXUzMiBpOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMjAxLDYgKzEzNTksNyBAQAogCWRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5saW5rZWRfZG1hY2hfcSA9IE5VTEw7CiAJZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX21vZGUgPSAtMTsKIAlkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0uY2hhaW5fc3RhdGUgPSAtMTsKKwogCXJldHVybiAoMCk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZnJlZV9kbWFfY2hhaW4pOwpAQCAtMTIxNiw3ICsxMzc1LDcgQEAKIGludCBvbWFwX2RtYV9jaGFpbl9zdGF0dXMoaW50IGNoYWluX2lkKQogewogCS8qIENoZWNrIGZvciBpbnB1dCBwYXJhbXMgKi8KLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTIzMSw2ICsxMzkwLDcgQEAKIAogCWlmIChPTUFQX0RNQV9DSEFJTl9RRU1QVFkoY2hhaW5faWQpKQogCQlyZXR1cm4gT01BUF9ETUFfQ0hBSU5fSU5BQ1RJVkU7CisKIAlyZXR1cm4gT01BUF9ETUFfQ0hBSU5fQUNUSVZFOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX2RtYV9jaGFpbl9zdGF0dXMpOwpAQCAtMTI1MywxMSArMTQxMywxMyBAQAogCQkJaW50IGVsZW1fY291bnQsIGludCBmcmFtZV9jb3VudCwgdm9pZCAqY2FsbGJrX2RhdGEpCiB7CiAJaW50ICpjaGFubmVsczsKLQl1MzIgdywgbGNoOworCXUzMiBsLCBsY2g7CiAJaW50IHN0YXJ0X2RtYSA9IDA7CiAKLQkvKiBpZiBidWZmZXIgc2l6ZSBpcyBsZXNzIHRoYW4gMSB0aGVuIHRoZXJlIGlzCi0JICogbm8gdXNlIG9mIHN0YXJ0aW5nIHRoZSBjaGFpbiAqLworCS8qCisJICogaWYgYnVmZmVyIHNpemUgaXMgbGVzcyB0aGFuIDEgdGhlbiB0aGVyZSBpcworCSAqIG5vIHVzZSBvZiBzdGFydGluZyB0aGUgY2hhaW4KKwkgKi8KIAlpZiAoZWxlbV9jb3VudCA8IDEpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGJ1ZmZlciBzaXplXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xMjY1LDcgKzE0MjcsNyBAQAogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwogCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwCi0JCQl8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwkJCXx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMjk0LDIwICsxNDU2LDI0IEBACiAKIAkvKiBTZXQgdGhlIHBhcmFtcyB0byB0aGUgZnJlZSBjaGFubmVsICovCiAJaWYgKHNyY19zdGFydCAhPSAwKQotCQlPTUFQMl9ETUFfQ1NTQV9SRUcobGNoKSA9IHNyY19zdGFydDsKKwkJZG1hX3dyaXRlKHNyY19zdGFydCwgQ1NTQShsY2gpKTsKIAlpZiAoZGVzdF9zdGFydCAhPSAwKQotCQlPTUFQMl9ETUFfQ0RTQV9SRUcobGNoKSA9IGRlc3Rfc3RhcnQ7CisJCWRtYV93cml0ZShkZXN0X3N0YXJ0LCBDRFNBKGxjaCkpOwogCiAJLyogV3JpdGUgdGhlIGJ1ZmZlciBzaXplICovCi0JT01BUF9ETUFfQ0VOX1JFRyhsY2gpID0gZWxlbV9jb3VudDsKLQlPTUFQX0RNQV9DRk5fUkVHKGxjaCkgPSBmcmFtZV9jb3VudDsKKwlkbWFfd3JpdGUoZWxlbV9jb3VudCwgQ0VOKGxjaCkpOworCWRtYV93cml0ZShmcmFtZV9jb3VudCwgQ0ZOKGxjaCkpOwogCi0JLyogSWYgdGhlIGNoYWluIGlzIGR5bmFtaWNhbGx5IGxpbmtlZCwKLQkgKiB0aGVuIHdlIG1heSBoYXZlIHRvIHN0YXJ0IHRoZSBjaGFpbiBpZiBpdHMgbm90IGFjdGl2ZSAqLworCS8qCisJICogSWYgdGhlIGNoYWluIGlzIGR5bmFtaWNhbGx5IGxpbmtlZCwKKwkgKiB0aGVuIHdlIG1heSBoYXZlIHRvIHN0YXJ0IHRoZSBjaGFpbiBpZiBpdHMgbm90IGFjdGl2ZQorCSAqLwogCWlmIChkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0uY2hhaW5fbW9kZSA9PSBPTUFQX0RNQV9EWU5BTUlDX0NIQUlOKSB7CiAKLQkJLyogSW4gRHluYW1pYyBjaGFpbiwgaWYgdGhlIGNoYWluIGlzIG5vdCBzdGFydGVkLAotCQkgKiBxdWV1ZSB0aGUgY2hhbm5lbCAqLworCQkvKgorCQkgKiBJbiBEeW5hbWljIGNoYWluLCBpZiB0aGUgY2hhaW4gaXMgbm90IHN0YXJ0ZWQsCisJCSAqIHF1ZXVlIHRoZSBjaGFubmVsCisJCSAqLwogCQlpZiAoZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX3N0YXRlID09CiAJCQkJCQlETUFfQ0hBSU5fTk9UU1RBUlRFRCkgewogCQkJLyogRW5hYmxlIHRoZSBsaW5rIGluIHByZXZpb3VzIGNoYW5uZWwgKi8KQEAgLTEzMTcsOCArMTQ4MywxMCBAQAogCQkJZG1hX2NoYW5bbGNoXS5zdGF0ZSA9IERNQV9DSF9RVUVVRUQ7CiAJCX0KIAotCQkvKiBDaGFpbiBpcyBhbHJlYWR5IHN0YXJ0ZWQsIG1ha2Ugc3VyZSBpdHMgYWN0aXZlLAotCQkgKiBpZiBub3QgdGhlbiBzdGFydCB0aGUgY2hhaW4gKi8KKwkJLyoKKwkJICogQ2hhaW4gaXMgYWxyZWFkeSBzdGFydGVkLCBtYWtlIHN1cmUgaXRzIGFjdGl2ZSwKKwkJICogaWYgbm90IHRoZW4gc3RhcnQgdGhlIGNoYWluCisJCSAqLwogCQllbHNlIHsKIAkJCXN0YXJ0X2RtYSA9IDE7CiAKQEAgLTEzMjcsOCArMTQ5NSw4IEBACiAJCQkJZW5hYmxlX2xuayhkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKTsKIAkJCQlkbWFfY2hhbltsY2hdLnN0YXRlID0gRE1BX0NIX1FVRVVFRDsKIAkJCQlzdGFydF9kbWEgPSAwOwotCQkJCWlmICgwID09ICgoMSA8PCA3KSAmIChPTUFQX0RNQV9DQ1JfUkVHCi0JCQkJCShkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKSkpKSB7CisJCQkJaWYgKDAgPT0gKCgxIDw8IDcpICYgZG1hX3JlYWQoCisJCQkJCUNDUihkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKSkpKSB7CiAJCQkJCWRpc2FibGVfbG5rKGRtYV9jaGFuW2xjaF0uCiAJCQkJCQkgICAgcHJldl9saW5rZWRfY2gpOwogCQkJCQlwcl9kZWJ1ZygiXG4gcHJldiBjaCBpcyBzdG9wcGVkXG4iKTsKQEAgLTEzNDQsMjcgKzE1MTIsMjggQEAKIAkJCX0KIAkJCW9tYXBfZW5hYmxlX2NoYW5uZWxfaXJxKGxjaCk7CiAKLQkJCXcgPSBPTUFQX0RNQV9DQ1JfUkVHKGxjaCk7CisJCQlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOwogCi0JCQlpZiAoKDAgPT0gKHcgJiAoMSA8PCAyNCkpKSkKLQkJCQl3ICY9IH4oMSA8PCAyNSk7CisJCQlpZiAoKDAgPT0gKGwgJiAoMSA8PCAyNCkpKSkKKwkJCQlsICY9IH4oMSA8PCAyNSk7CiAJCQllbHNlCi0JCQkJdyB8PSAoMSA8PCAyNSk7CisJCQkJbCB8PSAoMSA8PCAyNSk7CiAJCQlpZiAoc3RhcnRfZG1hID09IDEpIHsKLQkJCQlpZiAoMCA9PSAodyAmICgxIDw8IDcpKSkgewotCQkJCQl3IHw9ICgxIDw8IDcpOworCQkJCWlmICgwID09IChsICYgKDEgPDwgNykpKSB7CisJCQkJCWwgfD0gKDEgPDwgNyk7CiAJCQkJCWRtYV9jaGFuW2xjaF0uc3RhdGUgPSBETUFfQ0hfU1RBUlRFRDsKIAkJCQkJcHJfZGVidWcoInN0YXJ0aW5nICVkXG4iLCBsY2gpOwotCQkJCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB3OworCQkJCQlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOwogCQkJCX0gZWxzZQogCQkJCQlzdGFydF9kbWEgPSAwOwogCQkJfSBlbHNlIHsKLQkJCQlpZiAoMCA9PSAodyAmICgxIDw8IDcpKSkKLQkJCQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpID0gdzsKKwkJCQlpZiAoMCA9PSAobCAmICgxIDw8IDcpKSkKKwkJCQkJZG1hX3dyaXRlKGwsIENDUihsY2gpKTsKIAkJCX0KIAkJCWRtYV9jaGFuW2xjaF0uZmxhZ3MgfD0gT01BUF9ETUFfQUNUSVZFOwogCQl9CiAJfQorCiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2NoYWluX2FfdHJhbnNmZXIpOwpAQCAtMTM4MCw5ICsxNTQ5LDkgQEAKIGludCBvbWFwX3N0YXJ0X2RtYV9jaGFpbl90cmFuc2ZlcnMoaW50IGNoYWluX2lkKQogewogCWludCAqY2hhbm5lbHM7Ci0JdTMyIHcsIGk7CisJdTMyIGwsIGk7CiAKLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTQwNCwxOCArMTU3MywxOSBAQAogCQlvbWFwX2VuYWJsZV9jaGFubmVsX2lycShjaGFubmVsc1swXSk7CiAJfQogCi0JdyA9IE9NQVBfRE1BX0NDUl9SRUcoY2hhbm5lbHNbMF0pOwotCXcgfD0gKDEgPDwgNyk7CisJbCA9IGRtYV9yZWFkKENDUihjaGFubmVsc1swXSkpOworCWwgfD0gKDEgPDwgNyk7CiAJZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX3N0YXRlID0gRE1BX0NIQUlOX1NUQVJURUQ7CiAJZG1hX2NoYW5bY2hhbm5lbHNbMF1dLnN0YXRlID0gRE1BX0NIX1NUQVJURUQ7CiAKLQlpZiAoKDAgPT0gKHcgJiAoMSA8PCAyNCkpKSkKLQkJdyAmPSB+KDEgPDwgMjUpOworCWlmICgoMCA9PSAobCAmICgxIDw8IDI0KSkpKQorCQlsICY9IH4oMSA8PCAyNSk7CiAJZWxzZQotCQl3IHw9ICgxIDw8IDI1KTsKLQlPTUFQX0RNQV9DQ1JfUkVHKGNoYW5uZWxzWzBdKSA9IHc7CisJCWwgfD0gKDEgPDwgMjUpOworCWRtYV93cml0ZShsLCBDQ1IoY2hhbm5lbHNbMF0pKTsKIAogCWRtYV9jaGFuW2NoYW5uZWxzWzBdXS5mbGFncyB8PSBPTUFQX0RNQV9BQ1RJVkU7CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9zdGFydF9kbWFfY2hhaW5fdHJhbnNmZXJzKTsKQEAgLTE0MzEsMTEgKzE2MDEsMTEgQEAKIGludCBvbWFwX3N0b3BfZG1hX2NoYWluX3RyYW5zZmVycyhpbnQgY2hhaW5faWQpCiB7CiAJaW50ICpjaGFubmVsczsKLQl1MzIgdywgaTsKKwl1MzIgbCwgaTsKIAl1MzIgc3lzX2NmOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xNDQ3LDIxICsxNjE3LDIyIEBACiAJfQogCWNoYW5uZWxzID0gZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmxpbmtlZF9kbWFjaF9xOwogCi0JLyogRE1BIEVycmF0YToKKwkvKgorCSAqIERNQSBFcnJhdGE6CiAJICogU3BlY2lhbCBwcm9ncmFtbWluZyBtb2RlbCBuZWVkZWQgdG8gZGlzYWJsZSBETUEgYmVmb3JlIGVuZCBvZiBibG9jawogCSAqLwotCXN5c19jZiA9IG9tYXBfcmVhZGwoT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOwotCXcgPSBzeXNfY2Y7CisJc3lzX2NmID0gZG1hX3JlYWQoT0NQX1NZU0NPTkZJRyk7CisJbCA9IHN5c19jZjsKIAkvKiBNaWRkbGUgbW9kZSByZWcgc2V0IG5vIFN0YW5kYnkgKi8KLQl3ICY9IH4oKDEgPDwgMTIpfCgxIDw8IDEzKSk7Ci0Jb21hcF93cml0ZWwodywgT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOworCWwgJj0gfigoMSA8PCAxMil8KDEgPDwgMTMpKTsKKwlkbWFfd3JpdGUobCwgT0NQX1NZU0NPTkZJRyk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLm5vX29mX2xjaHNfbGlua2VkOyBpKyspIHsKIAogCQkvKiBTdG9wIHRoZSBDaGFubmVsIHRyYW5zbWlzc2lvbiAqLwotCQl3ID0gT01BUF9ETUFfQ0NSX1JFRyhjaGFubmVsc1tpXSk7Ci0JCXcgJj0gfigxIDw8IDcpOwotCQlPTUFQX0RNQV9DQ1JfUkVHKGNoYW5uZWxzW2ldKSA9IHc7CisJCWwgPSBkbWFfcmVhZChDQ1IoY2hhbm5lbHNbaV0pKTsKKwkJbCAmPSB+KDEgPDwgNyk7CisJCWRtYV93cml0ZShsLCBDQ1IoY2hhbm5lbHNbaV0pKTsKIAogCQkvKiBEaXNhYmxlIHRoZSBsaW5rIGluIGFsbCB0aGUgY2hhbm5lbHMgKi8KIAkJZGlzYWJsZV9sbmsoY2hhbm5lbHNbaV0pOwpAQCAtMTQ3NCw3ICsxNjQ1LDggQEAKIAlPTUFQX0RNQV9DSEFJTl9RSU5JVChjaGFpbl9pZCk7CiAKIAkvKiBFcnJhdGEgLSBwdXQgaW4gdGhlIG9sZCB2YWx1ZSAqLwotCW9tYXBfd3JpdGVsKHN5c19jZiwgT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOworCWRtYV93cml0ZShzeXNfY2YsIE9DUF9TWVNDT05GSUcpOworCiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfc3RvcF9kbWFfY2hhaW5fdHJhbnNmZXJzKTsKQEAgLTE0OTcsNyArMTY2OSw3IEBACiAJaW50ICpjaGFubmVsczsKIAogCS8qIENoZWNrIGZvciBpbnB1dCBwYXJhbXMgKi8KLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTUxNSw4ICsxNjg3LDggQEAKIAkvKiBHZXQgdGhlIGN1cnJlbnQgY2hhbm5lbCAqLwogCWxjaCA9IGNoYW5uZWxzW2RtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5xX2hlYWRdOwogCi0JKmVpID0gT01BUDJfRE1BX0NDRU5fUkVHKGxjaCk7Ci0JKmZpID0gT01BUDJfRE1BX0NDRk5fUkVHKGxjaCk7CisJKmVpID0gZG1hX3JlYWQoQ0NFTihsY2gpKTsKKwkqZmkgPSBkbWFfcmVhZChDQ0ZOKGxjaCkpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNTM3LDcgKzE3MDksNyBAQAogCWludCAqY2hhbm5lbHM7CiAKIAkvKiBDaGVjayBmb3IgaW5wdXQgcGFyYW1zICovCi0JaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAgfHwgY2hhaW5faWQgPj0gT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCkpKSB7CisJaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAgfHwgY2hhaW5faWQgPj0gZG1hX2xjaF9jb3VudCkpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCBjaGFpbiBpZFxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KQEAgLTE1NTMsNyArMTcyNSw3IEBACiAJLyogR2V0IHRoZSBjdXJyZW50IGNoYW5uZWwgKi8KIAlsY2ggPSBjaGFubmVsc1tkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0ucV9oZWFkXTsKIAotCXJldHVybiAoT01BUF9ETUFfQ0RBQ19SRUcobGNoKSk7CisJcmV0dXJuIGRtYV9yZWFkKENEQUMobGNoKSk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9jaGFpbl9kc3RfcG9zKTsKIApAQCAtMTU3MSw3ICsxNzQzLDcgQEAKIAlpbnQgKmNoYW5uZWxzOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xNTg3LDEwICsxNzU5LDEwIEBACiAJLyogR2V0IHRoZSBjdXJyZW50IGNoYW5uZWwgKi8KIAlsY2ggPSBjaGFubmVsc1tkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0ucV9oZWFkXTsKIAotCXJldHVybiAoT01BUF9ETUFfQ1NBQ19SRUcobGNoKSk7CisJcmV0dXJuIGRtYV9yZWFkKENTQUMobGNoKSk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9jaGFpbl9zcmNfcG9zKTsKLSNlbmRpZgorI2VuZGlmCS8qIGlmbmRlZiBDT05GSUdfQVJDSF9PTUFQMSAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xNTk4LDEzICsxNzcwLDEzIEBACiAKIHN0YXRpYyBpbnQgb21hcDFfZG1hX2hhbmRsZV9jaChpbnQgY2gpCiB7Ci0JdTE2IGNzcjsKKwl1MzIgY3NyOwogCiAJaWYgKGVuYWJsZV8xNTEwX21vZGUgJiYgY2ggPj0gNikgewogCQljc3IgPSBkbWFfY2hhbltjaF0uc2F2ZWRfY3NyOwogCQlkbWFfY2hhbltjaF0uc2F2ZWRfY3NyID0gMDsKIAl9IGVsc2UKLQkJY3NyID0gT01BUF9ETUFfQ1NSX1JFRyhjaCk7CisJCWNzciA9IGRtYV9yZWFkKENTUihjaCkpOwogCWlmIChlbmFibGVfMTUxMF9tb2RlICYmIGNoIDw9IDIgJiYgKGNzciA+PiA3KSAhPSAwKSB7CiAJCWRtYV9jaGFuW2NoICsgNl0uc2F2ZWRfY3NyID0gY3NyID4+IDc7CiAJCWNzciAmPSAweDdmOwpAQCAtMTYyNiw2ICsxNzk4LDcgQEAKIAkJZG1hX2NoYW5bY2hdLmZsYWdzICY9IH5PTUFQX0RNQV9BQ1RJVkU7CiAJaWYgKGxpa2VseShkbWFfY2hhbltjaF0uY2FsbGJhY2sgIT0gTlVMTCkpCiAJCWRtYV9jaGFuW2NoXS5jYWxsYmFjayhjaCwgY3NyLCBkbWFfY2hhbltjaF0uZGF0YSk7CisKIAlyZXR1cm4gMTsKIH0KIApAQCAtMTY1NiwxMiArMTgyOSwxMyBAQAogCiBzdGF0aWMgaW50IG9tYXAyX2RtYV9oYW5kbGVfY2goaW50IGNoKQogewotCXUzMiBzdGF0dXMgPSBPTUFQX0RNQV9DU1JfUkVHKGNoKTsKKwl1MzIgc3RhdHVzID0gZG1hX3JlYWQoQ1NSKGNoKSk7CiAKIAlpZiAoIXN0YXR1cykgewogCQlpZiAocHJpbnRrX3JhdGVsaW1pdCgpKQotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiU3B1cmlvdXMgRE1BIElSUSBmb3IgbGNoICVkXG4iLCBjaCk7Ci0JCW9tYXBfd3JpdGVsKDEgPDwgY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiU3B1cmlvdXMgRE1BIElSUSBmb3IgbGNoICVkXG4iLAorCQkJCWNoKTsKKwkJZG1hX3dyaXRlKDEgPDwgY2gsIElSUVNUQVRVU19MMCk7CiAJCXJldHVybiAwOwogCX0KIAlpZiAodW5saWtlbHkoZG1hX2NoYW5bY2hdLmRldl9pZCA9PSAtMSkpIHsKQEAgLTE2ODQsMTQgKzE4NTgsMTQgQEAKIAkJcHJpbnRrKEtFUk5fSU5GTyAiRE1BIG1pc2FsaWduZWQgZXJyb3Igd2l0aCBkZXZpY2UgJWRcbiIsCiAJCSAgICAgICBkbWFfY2hhbltjaF0uZGV2X2lkKTsKIAotCU9NQVBfRE1BX0NTUl9SRUcoY2gpID0gT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLOwotCW9tYXBfd3JpdGVsKDEgPDwgY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCWRtYV93cml0ZShPTUFQMl9ETUFfQ1NSX0NMRUFSX01BU0ssIENTUihjaCkpOworCWRtYV93cml0ZSgxIDw8IGNoLCBJUlFTVEFUVVNfTDApOwogCiAJLyogSWYgdGhlIGNoIGlzIG5vdCBjaGFpbmVkIHRoZW4gY2hhaW5faWQgd2lsbCBiZSAtMSAqLwogCWlmIChkbWFfY2hhbltjaF0uY2hhaW5faWQgIT0gLTEpIHsKIAkJaW50IGNoYWluX2lkID0gZG1hX2NoYW5bY2hdLmNoYWluX2lkOwogCQlkbWFfY2hhbltjaF0uc3RhdGUgPSBETUFfQ0hfTk9UU1RBUlRFRDsKLQkJaWYgKE9NQVBfRE1BX0NMTktfQ1RSTF9SRUcoY2gpICYgKDEgPDwgMTUpKQorCQlpZiAoZG1hX3JlYWQoQ0xOS19DVFJMKGNoKSkgJiAoMSA8PCAxNSkpCiAJCQlkbWFfY2hhbltkbWFfY2hhbltjaF0ubmV4dF9saW5rZWRfY2hdLnN0YXRlID0KIAkJCQkJCQlETUFfQ0hfU1RBUlRFRDsKIAkJaWYgKGRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5jaGFpbl9tb2RlID09CkBAIC0xNzAxLDEzICsxODc1LDEzIEBACiAJCWlmICghT01BUF9ETUFfQ0hBSU5fUUVNUFRZKGNoYWluX2lkKSkKIAkJCU9NQVBfRE1BX0NIQUlOX0lOQ1FIRUFEKGNoYWluX2lkKTsKIAotCQlzdGF0dXMgPSBPTUFQX0RNQV9DU1JfUkVHKGNoKTsKKwkJc3RhdHVzID0gZG1hX3JlYWQoQ1NSKGNoKSk7CiAJfQogCiAJaWYgKGxpa2VseShkbWFfY2hhbltjaF0uY2FsbGJhY2sgIT0gTlVMTCkpCiAJCWRtYV9jaGFuW2NoXS5jYWxsYmFjayhjaCwgc3RhdHVzLCBkbWFfY2hhbltjaF0uZGF0YSk7CiAKLQlPTUFQX0RNQV9DU1JfUkVHKGNoKSA9IHN0YXR1czsKKwlkbWFfd3JpdGUoc3RhdHVzLCBDU1IoY2gpKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTcxOCwxMyArMTg5MiwxMyBAQAogCXUzMiB2YWw7CiAJaW50IGk7CiAKLQl2YWwgPSBvbWFwX3JlYWRsKE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCXZhbCA9IGRtYV9yZWFkKElSUVNUQVRVU19MMCk7CiAJaWYgKHZhbCA9PSAwKSB7CiAJCWlmIChwcmludGtfcmF0ZWxpbWl0KCkpCiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJTcHVyaW91cyBETUEgSVJRXG4iKTsKIAkJcmV0dXJuIElSUV9IQU5ETEVEOwogCX0KLQlmb3IgKGkgPSAwOyBpIDwgT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCAmJiB2YWwgIT0gMDsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGRtYV9sY2hfY291bnQgJiYgdmFsICE9IDA7IGkrKykgewogCQlpZiAodmFsICYgMSkKIAkJCW9tYXAyX2RtYV9oYW5kbGVfY2goaSk7CiAJCXZhbCA+Pj0gMTsKQEAgLTE3NDgsNyArMTkyMiw3IEBACiBzdGF0aWMgc3RydWN0IGxjZF9kbWFfaW5mbyB7CiAJc3BpbmxvY2tfdCBsb2NrOwogCWludCByZXNlcnZlZDsKLQl2b2lkICgqIGNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKTsKKwl2b2lkICgqY2FsbGJhY2spKHUxNiBzdGF0dXMsIHZvaWQgKmRhdGEpOwogCXZvaWQgKmNiX2RhdGE7CiAKIAlpbnQgYWN0aXZlOwpAQCAtMTc3MCw2ICsxOTQ0LDcgQEAKIAlsY2RfZG1hLnhyZXMgPSBmYl94cmVzOwogCWxjZF9kbWEueXJlcyA9IGZiX3lyZXM7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjEpOwogCiB2b2lkIG9tYXBfc2V0X2xjZF9kbWFfc3JjX3BvcnQoaW50IHBvcnQpCiB7CkBAIC0xNzgwLDEyICsxOTU1LDEzIEBACiB7CiAJbGNkX2RtYS5leHRfY3RybCA9IGV4dGVybmFsOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2V4dF9jb250cm9sbGVyKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX3NpbmdsZV90cmFuc2ZlcihpbnQgc2luZ2xlKQogewogCWxjZF9kbWEuc2luZ2xlX3RyYW5zZmVyID0gc2luZ2xlOwogfQotCitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfc2luZ2xlX3RyYW5zZmVyKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX2IxX3JvdGF0aW9uKGludCByb3RhdGUpCiB7CkBAIC0xNzk2LDYgKzE5NzIsNyBAQAogCX0KIAlsY2RfZG1hLnJvdGF0ZSA9IHJvdGF0ZTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfbGNkX2RtYV9iMV9yb3RhdGlvbik7CiAKIHZvaWQgb21hcF9zZXRfbGNkX2RtYV9iMV9taXJyb3IoaW50IG1pcnJvcikKIHsKQEAgLTE4MDUsNiArMTk4Miw3IEBACiAJfQogCWxjZF9kbWEubWlycm9yID0gbWlycm9yOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX21pcnJvcik7CiAKIHZvaWQgb21hcF9zZXRfbGNkX2RtYV9iMV92eHJlcyh1bnNpZ25lZCBsb25nIHZ4cmVzKQogewpAQCAtMTgxNSw2ICsxOTkzLDcgQEAKIAl9CiAJbGNkX2RtYS52eHJlcyA9IHZ4cmVzOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3Z4cmVzKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX2IxX3NjYWxlKHVuc2lnbmVkIGludCB4c2NhbGUsIHVuc2lnbmVkIGludCB5c2NhbGUpCiB7CkBAIC0xODI1LDYgKzIwMDQsNyBAQAogCWxjZF9kbWEueHNjYWxlID0geHNjYWxlOwogCWxjZF9kbWEueXNjYWxlID0geXNjYWxlOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3NjYWxlKTsKIAogc3RhdGljIHZvaWQgc2V0X2IxX3JlZ3Modm9pZCkKIHsKQEAgLTE4NTUsOCArMjAzNSwxMSBAQAogCXhzY2FsZSA9IGxjZF9kbWEueHNjYWxlID8gbGNkX2RtYS54c2NhbGUgOiAxOwogCXlzY2FsZSA9IGxjZF9kbWEueXNjYWxlID8gbGNkX2RtYS55c2NhbGUgOiAxOwogCUJVR19PTih2eHJlcyA8IGxjZF9kbWEueHJlcyk7Ci0jZGVmaW5lIFBJWEFERFIoeCx5KSAobGNkX2RtYS5hZGRyICsgKCh5KSAqIHZ4cmVzICogeXNjYWxlICsgKHgpICogeHNjYWxlKSAqIGVzKQorCisjZGVmaW5lIFBJWEFERFIoeCwgeSkgKGxjZF9kbWEuYWRkciArCQkJCQlcCisJCSgoeSkgKiB2eHJlcyAqIHlzY2FsZSArICh4KSAqIHhzY2FsZSkgKiBlcykKICNkZWZpbmUgUElYU1RFUChzeCwgc3ksIGR4LCBkeSkgKFBJWEFERFIoZHgsIGR5KSAtIFBJWEFERFIoc3gsIHN5KSAtIGVzICsgMSkKKwogCXN3aXRjaCAobGNkX2RtYS5yb3RhdGUpIHsKIAljYXNlIDA6CiAJCWlmICghbGNkX2RtYS5taXJyb3IpIHsKQEAgLTE4NjUsOCArMjA0OCw4IEBACiAJCQkvKiAxNTEwIERNQSByZXF1aXJlcyB0aGUgYm90dG9tIGFkZHJlc3MgdG8gYmUgMiBtb3JlCiAJCQkgKiB0aGFuIHRoZSBhY3R1YWwgbGFzdCBtZW1vcnkgYWNjZXNzIGxvY2F0aW9uLiAqLwogCQkJaWYgKG9tYXBfZG1hX2luXzE1MTBfbW9kZSgpICYmCi0JCQkgICAgbGNkX2RtYS5kYXRhX3R5cGUgPT0gT01BUF9ETUFfREFUQV9UWVBFX1MzMikKLQkJCQlib3R0b20gKz0gMjsKKwkJCQlsY2RfZG1hLmRhdGFfdHlwZSA9PSBPTUFQX0RNQV9EQVRBX1RZUEVfUzMyKQorCQkJCQlib3R0b20gKz0gMjsKIAkJCWVpID0gUElYU1RFUCgwLCAwLCAxLCAwKTsKIAkJCWZpID0gUElYU1RFUChsY2RfZG1hLnhyZXMgLSAxLCAwLCAwLCAxKTsKIAkJfSBlbHNlIHsKQEAgLTE5OTMsNyArMjE3Niw3IEBACiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCi1pbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKiBjYWxsYmFjaykodTE2IHN0YXR1cywgdm9pZCAqZGF0YSksCitpbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKmNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCSB2b2lkICpkYXRhKQogewogCXNwaW5fbG9ja19pcnEoJmxjZF9kbWEubG9jayk7CkBAIC0yMDE5LDYgKzIyMDIsNyBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfcmVxdWVzdF9sY2RfZG1hKTsKIAogdm9pZCBvbWFwX2ZyZWVfbGNkX2RtYSh2b2lkKQogewpAQCAtMjAzNSwxMiArMjIxOSwxNCBAQAogCWxjZF9kbWEucmVzZXJ2ZWQgPSAwOwogCXNwaW5fdW5sb2NrKCZsY2RfZG1hLmxvY2spOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2ZyZWVfbGNkX2RtYSk7CiAKIHZvaWQgb21hcF9lbmFibGVfbGNkX2RtYSh2b2lkKQogewogCXUxNiB3OwogCi0JLyogU2V0IHRoZSBFbmFibGUgYml0IG9ubHkgaWYgYW4gZXh0ZXJuYWwgY29udHJvbGxlciBpcworCS8qCisJICogU2V0IHRoZSBFbmFibGUgYml0IG9ubHkgaWYgYW4gZXh0ZXJuYWwgY29udHJvbGxlciBpcwogCSAqIGNvbm5lY3RlZC4gT3RoZXJ3aXNlIHRoZSBPTUFQIGludGVybmFsIGNvbnRyb2xsZXIgd2lsbAogCSAqIHN0YXJ0IHRoZSB0cmFuc2ZlciB3aGVuIGl0IGdldHMgZW5hYmxlZC4KIAkgKi8KQEAgLTIwNTcsNiArMjI0Myw3IEBACiAJdyB8PSAxIDw8IDc7CiAJb21hcF93cml0ZXcodywgT01BUDE2MTBfRE1BX0xDRF9DQ1IpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2VuYWJsZV9sY2RfZG1hKTsKIAogdm9pZCBvbWFwX3NldHVwX2xjZF9kbWEodm9pZCkKIHsKQEAgLTIwNzIsMTYgKzIyNTksMTggQEAKIAkJdTE2IHc7CiAKIAkJdyA9IG9tYXBfcmVhZHcoT01BUDE2MTBfRE1BX0xDRF9DQ1IpOwotCQkvKiBJZiBETUEgd2FzIGFscmVhZHkgYWN0aXZlIHNldCB0aGUgZW5kX3Byb2cgYml0IHRvIGhhdmUKKwkJLyoKKwkJICogSWYgRE1BIHdhcyBhbHJlYWR5IGFjdGl2ZSBzZXQgdGhlIGVuZF9wcm9nIGJpdCB0byBoYXZlCiAJCSAqIHRoZSBwcm9ncmFtbWVkIHJlZ2lzdGVyIHNldCBsb2FkZWQgaW50byB0aGUgYWN0aXZlCiAJCSAqIHJlZ2lzdGVyIHNldC4KIAkJICovCiAJCXcgfD0gMSA8PCAxMTsJCS8qIEVuZF9wcm9nICovCiAJCWlmICghbGNkX2RtYS5zaW5nbGVfdHJhbnNmZXIpCi0JICAgICAgICAJdyB8PSAoMyA8PCA4KTsJLyogQXV0b19pbml0LCByZXBlYXQgKi8KKwkJCXcgfD0gKDMgPDwgOCk7CS8qIEF1dG9faW5pdCwgcmVwZWF0ICovCiAJCW9tYXBfd3JpdGV3KHcsIE9NQVAxNjEwX0RNQV9MQ0RfQ0NSKTsKIAl9CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0dXBfbGNkX2RtYSk7CiAKIHZvaWQgb21hcF9zdG9wX2xjZF9kbWEodm9pZCkKIHsKQEAgLTIwOTksNiArMjI4OCw3IEBACiAJdyAmPSB+KDEgPDwgOCk7CiAJb21hcF93cml0ZXcodywgT01BUDE2MTBfRE1BX0xDRF9DVFJMKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zdG9wX2xjZF9kbWEpOwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0yMTA2LDI3ICsyMjk2LDU1IEBACiB7CiAJaW50IGNoLCByOwogCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7CisJCW9tYXBfZG1hX2Jhc2UgPSAodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhPTUFQMV9ETUFfQkFTRSk7CisJCWRtYV9sY2hfY291bnQgPSBPTUFQMV9MT0dJQ0FMX0RNQV9DSF9DT1VOVDsKKwl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7CisJCW9tYXBfZG1hX2Jhc2UgPSAodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhPTUFQMjRYWF9ETUE0X0JBU0UpOworCQlkbWFfbGNoX2NvdW50ID0gT01BUF9ETUE0X0xPR0lDQUxfRE1BX0NIX0NPVU5UOworCX0gZWxzZSBpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJb21hcF9kbWFfYmFzZSA9ICh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKE9NQVAzNFhYX0RNQTRfQkFTRSk7CisJCWRtYV9sY2hfY291bnQgPSBPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlQ7CisJfSBlbHNlIHsKKwkJcHJfZXJyKCJETUEgaW5pdCBmYWlsZWQgZm9yIHVuc3VwcG9ydGVkIG9tYXBcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbWFfY2hhbiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBvbWFwX2RtYV9sY2gpICogZG1hX2xjaF9jb3VudCwKKwkJCQlHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9jaGFuKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgeworCQlkbWFfbGlua2VkX2xjaCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkbWFfbGlua19pbmZvKSAqCisJCQkJCQlkbWFfbGNoX2NvdW50LCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFkbWFfbGlua2VkX2xjaCkgeworCQkJa2ZyZWUoZG1hX2NoYW4pOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwl9CisKIAlpZiAoY3B1X2lzX29tYXAxNXh4KCkpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiRE1BIHN1cHBvcnQgZm9yIE9NQVAxNXh4IGluaXRpYWxpemVkXG4iKTsKIAkJZG1hX2NoYW5fY291bnQgPSA5OwogCQllbmFibGVfMTUxMF9tb2RlID0gMTsKIAl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMTZ4eCgpIHx8IGNwdV9pc19vbWFwNzMwKCkpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiT01BUCBETUEgaGFyZHdhcmUgdmVyc2lvbiAlZFxuIiwKLQkJICAgICAgIG9tYXBfcmVhZHcoT01BUF9ETUFfSFdfSUQpKTsKKwkJICAgICAgIGRtYV9yZWFkKEhXX0lEKSk7CiAJCXByaW50ayhLRVJOX0lORk8gIkRNQSBjYXBhYmlsaXRpZXM6ICUwOHg6JTA4eDolMDR4OiUwNHg6JTA0eFxuIiwKLQkJICAgICAgIChvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfMF9VKSA8PCAxNikgfAotCQkgICAgICAgb21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzBfTCksCi0JCSAgICAgICAob21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzFfVSkgPDwgMTYpIHwKLQkJICAgICAgIG9tYXBfcmVhZHcoT01BUF9ETUFfQ0FQU18xX0wpLAotCQkgICAgICAgb21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzIpLCBvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfMyksCi0JCSAgICAgICBvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfNCkpOworCQkgICAgICAgKGRtYV9yZWFkKENBUFNfMF9VKSA8PCAxNikgfAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18wX0wpLAorCQkgICAgICAgKGRtYV9yZWFkKENBUFNfMV9VKSA8PCAxNikgfAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18xX0wpLAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18yKSwgZG1hX3JlYWQoQ0FQU18zKSwKKwkJICAgICAgIGRtYV9yZWFkKENBUFNfNCkpOwogCQlpZiAoIWVuYWJsZV8xNTEwX21vZGUpIHsKIAkJCXUxNiB3OwogCiAJCQkvKiBEaXNhYmxlIE9NQVAgMy4wLzMuMSBjb21wYXRpYmlsaXR5IG1vZGUuICovCi0JCQl3ID0gb21hcF9yZWFkdyhPTUFQX0RNQV9HU0NSKTsKKwkJCXcgPSBkbWFfcmVhZChHU0NSKTsKIAkJCXcgfD0gMSA8PCAzOwotCQkJb21hcF93cml0ZXcodywgT01BUF9ETUFfR1NDUik7CisJCQlkbWFfd3JpdGUodywgR1NDUik7CiAJCQlkbWFfY2hhbl9jb3VudCA9IDE2OwogCQl9IGVsc2UKIAkJCWRtYV9jaGFuX2NvdW50ID0gOTsKQEAgLTIxMzksMTkgKzIzNTcsMTcgQEAKIAkJCW9tYXBfd3JpdGV3KHcsIE9NQVAxNjEwX0RNQV9MQ0RfQ1RSTCk7CiAJCX0KIAl9IGVsc2UgaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7Ci0JCXU4IHJldmlzaW9uID0gb21hcF9yZWFkYihPTUFQX0RNQTRfUkVWSVNJT04pOworCQl1OCByZXZpc2lvbiA9IGRtYV9yZWFkKFJFVklTSU9OKSAmIDB4ZmY7CiAJCXByaW50ayhLRVJOX0lORk8gIk9NQVAgRE1BIGhhcmR3YXJlIHJldmlzaW9uICVkLiVkXG4iLAogCQkgICAgICAgcmV2aXNpb24gPj4gNCwgcmV2aXNpb24gJiAweGYpOwotCQlkbWFfY2hhbl9jb3VudCA9IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQ7CisJCWRtYV9jaGFuX2NvdW50ID0gT01BUF9ETUE0X0xPR0lDQUxfRE1BX0NIX0NPVU5UOwogCX0gZWxzZSB7CiAJCWRtYV9jaGFuX2NvdW50ID0gMDsKIAkJcmV0dXJuIDA7CiAJfQogCi0JbWVtc2V0KCZsY2RfZG1hLCAwLCBzaXplb2YobGNkX2RtYSkpOwogCXNwaW5fbG9ja19pbml0KCZsY2RfZG1hLmxvY2spOwogCXNwaW5fbG9ja19pbml0KCZkbWFfY2hhbl9sb2NrKTsKLQltZW1zZXQoJmRtYV9jaGFuLCAwLCBzaXplb2YoZG1hX2NoYW4pKTsKIAogCWZvciAoY2ggPSAwOyBjaCA8IGRtYV9jaGFuX2NvdW50OyBjaCsrKSB7CiAJCW9tYXBfY2xlYXJfZG1hKGNoKTsKQEAgLTIxNjIsOCArMjM3OCwxMCBAQAogCQkJY29udGludWU7CiAKIAkJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCQkvKiByZXF1ZXN0X2lycSgpIGRvZXNuJ3QgbGlrZSBkZXZfaWQgKGllLiBjaCkgYmVpbmcKLQkJCSAqIHplcm8sIHNvIHdlIGhhdmUgdG8ga2x1ZGdlIGFyb3VuZCB0aGlzLiAqLworCQkJLyoKKwkJCSAqIHJlcXVlc3RfaXJxKCkgZG9lc24ndCBsaWtlIGRldl9pZCAoaWUuIGNoKSBiZWluZworCQkJICogemVybywgc28gd2UgaGF2ZSB0byBrbHVkZ2UgYXJvdW5kIHRoaXMuCisJCQkgKi8KIAkJCXIgPSByZXF1ZXN0X2lycShvbWFwMV9kbWFfaXJxW2NoXSwKIAkJCQkJb21hcDFfZG1hX2lycV9oYW5kbGVyLCAwLCAiRE1BIiwKIAkJCQkJKHZvaWQgKikgKGNoICsgMSkpOwpAQCAtMjIwOCw0OCArMjQyNiw0IEBACiAKIGFyY2hfaW5pdGNhbGwob21hcF9pbml0X2RtYSk7CiAKLUVYUE9SVF9TWU1CT0wob21hcF9nZXRfZG1hX3NyY19wb3MpOwotRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfZHN0X3Bvcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9zcmNfYWRkcl9jb3VudGVyKTsKLUVYUE9SVF9TWU1CT0wob21hcF9jbGVhcl9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfcHJpb3JpdHkpOwotRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hKTsKLUVYUE9SVF9TWU1CT0wob21hcF9mcmVlX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc3RhcnRfZG1hKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zdG9wX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jYWxsYmFjayk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZW5hYmxlX2RtYV9pcnEpOwotRVhQT1JUX1NZTUJPTChvbWFwX2Rpc2FibGVfZG1hX2lycSk7Ci0KLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jb2xvcl9tb2RlKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3dyaXRlX21vZGUpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfcGFyYW1zKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3NyY19pbmRleCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfZGF0YV9wYWNrKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3NyY19idXJzdF9tb2RlKTsKLQotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfZGVzdF9pbmRleCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X2RhdGFfcGFjayk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X2J1cnN0X21vZGUpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9wYXJhbXMpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2xpbmtfbGNoKTsKLUVYUE9SVF9TWU1CT0wob21hcF9kbWFfdW5saW5rX2xjaCk7Ci0KLUVYUE9SVF9TWU1CT0wob21hcF9yZXF1ZXN0X2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX2ZyZWVfbGNkX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZW5hYmxlX2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldHVwX2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3N0b3BfbGNkX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX3NpbmdsZV90cmFuc2Zlcik7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfZXh0X2NvbnRyb2xsZXIpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3JvdGF0aW9uKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfbGNkX2RtYV9iMV92eHJlcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjFfc2NhbGUpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX21pcnJvcik7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9kbXRpbWVyLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvZG10aW1lci5jCmluZGV4IDMwMmFkOGQuLmYyMjUwNmEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9kbXRpbWVyLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2RtdGltZXIuYwpAQCAtMzgsMzQgKzM4LDExMyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2lycXMuaD4KIAogLyogcmVnaXN0ZXIgb2Zmc2V0cyAqLwotI2RlZmluZSBPTUFQX1RJTUVSX0lEX1JFRwkJMHgwMAotI2RlZmluZSBPTUFQX1RJTUVSX09DUF9DRkdfUkVHCQkweDEwCi0jZGVmaW5lIE9NQVBfVElNRVJfU1lTX1NUQVRfUkVHCQkweDE0Ci0jZGVmaW5lIE9NQVBfVElNRVJfU1RBVF9SRUcJCTB4MTgKLSNkZWZpbmUgT01BUF9USU1FUl9JTlRfRU5fUkVHCQkweDFjCi0jZGVmaW5lIE9NQVBfVElNRVJfV0FLRVVQX0VOX1JFRwkweDIwCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9SRUcJCTB4MjQKLSNkZWZpbmUgT01BUF9USU1FUl9DT1VOVEVSX1JFRwkJMHgyOAotI2RlZmluZSBPTUFQX1RJTUVSX0xPQURfUkVHCQkweDJjCi0jZGVmaW5lIE9NQVBfVElNRVJfVFJJR0dFUl9SRUcJCTB4MzAKLSNkZWZpbmUgT01BUF9USU1FUl9XUklURV9QRU5EX1JFRwkweDM0Ci0jZGVmaW5lIE9NQVBfVElNRVJfTUFUQ0hfUkVHCQkweDM4Ci0jZGVmaW5lIE9NQVBfVElNRVJfQ0FQVFVSRV9SRUcJCTB4M2MKLSNkZWZpbmUgT01BUF9USU1FUl9JRl9DVFJMX1JFRwkJMHg0MAorI2RlZmluZSBfT01BUF9USU1FUl9JRF9PRkZTRVQJCTB4MDAKKyNkZWZpbmUgX09NQVBfVElNRVJfT0NQX0NGR19PRkZTRVQJMHgxMAorI2RlZmluZSBfT01BUF9USU1FUl9TWVNfU1RBVF9PRkZTRVQJMHgxNAorI2RlZmluZSBfT01BUF9USU1FUl9TVEFUX09GRlNFVAkJMHgxOAorI2RlZmluZSBfT01BUF9USU1FUl9JTlRfRU5fT0ZGU0VUCTB4MWMKKyNkZWZpbmUgX09NQVBfVElNRVJfV0FLRVVQX0VOX09GRlNFVAkweDIwCisjZGVmaW5lIF9PTUFQX1RJTUVSX0NUUkxfT0ZGU0VUCQkweDI0CisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfR1BPQ0ZHCQkoMSA8PCAxNCkKKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9DQVBUTU9ERQkoMSA8PCAxMykKKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9QVAkJKDEgPDwgMTIpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0xPV1RPSElHSAkoMHgxIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0hJR0hUT0xPVwkoMHgyIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0JPVEhFREdFUwkoMHgzIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfU0NQV00JCSgxIDw8IDcpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfQ0UJCSgxIDw8IDYpIC8qIGNvbXBhcmUgZW5hYmxlICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUFJFCQkoMSA8PCA1KSAvKiBwcmVzY2FsZXIgZW5hYmxlICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUFRWX1NISUZUCTIgLyogcHJlc2NhbGVyIHZhbHVlIHNoaWZ0ICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUE9TVEVECQkoMSA8PCAyKQorI2RlZmluZQkJT01BUF9USU1FUl9DVFJMX0FSCQkoMSA8PCAxKSAvKiBhdXRvLXJlbG9hZCBlbmFibGUgKi8KKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9TVAkJKDEgPDwgMCkgLyogc3RhcnQgdGltZXIgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfQ09VTlRFUl9PRkZTRVQJMHgyOAorI2RlZmluZSBfT01BUF9USU1FUl9MT0FEX09GRlNFVAkJMHgyYworI2RlZmluZSBfT01BUF9USU1FUl9UUklHR0VSX09GRlNFVAkweDMwCisjZGVmaW5lIF9PTUFQX1RJTUVSX1dSSVRFX1BFTkRfT0ZGU0VUCTB4MzQKKyNkZWZpbmUJCVdQX05PTkUJCQkwCS8qIG5vIHdyaXRlIHBlbmRpbmcgYml0ICovCisjZGVmaW5lCQlXUF9UQ0xSCQkJKDEgPDwgMCkKKyNkZWZpbmUJCVdQX1RDUlIJCQkoMSA8PCAxKQorI2RlZmluZQkJV1BfVExEUgkJCSgxIDw8IDIpCisjZGVmaW5lCQlXUF9UVEdSCQkJKDEgPDwgMykKKyNkZWZpbmUJCVdQX1RNQVIJCQkoMSA8PCA0KQorI2RlZmluZQkJV1BfVFBJUgkJCSgxIDw8IDUpCisjZGVmaW5lCQlXUF9UTklSCQkJKDEgPDwgNikKKyNkZWZpbmUJCVdQX1RDVlIJCQkoMSA8PCA3KQorI2RlZmluZQkJV1BfVE9DUgkJCSgxIDw8IDgpCisjZGVmaW5lCQlXUF9UT1dSCQkJKDEgPDwgOSkKKyNkZWZpbmUgX09NQVBfVElNRVJfTUFUQ0hfT0ZGU0VUCTB4MzgKKyNkZWZpbmUgX09NQVBfVElNRVJfQ0FQVFVSRV9PRkZTRVQJMHgzYworI2RlZmluZSBfT01BUF9USU1FUl9JRl9DVFJMX09GRlNFVAkweDQwCisjZGVmaW5lIF9PTUFQX1RJTUVSX0NBUFRVUkUyX09GRlNFVAkJMHg0NAkvKiBUQ0FSMiwgMzR4eCBvbmx5ICovCisjZGVmaW5lIF9PTUFQX1RJTUVSX1RJQ0tfUE9TX09GRlNFVAkJMHg0OAkvKiBUUElSLCAzNHh4IG9ubHkgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfVElDS19ORUdfT0ZGU0VUCQkweDRjCS8qIFROSVIsIDM0eHggb25seSAqLworI2RlZmluZSBfT01BUF9USU1FUl9USUNLX0NPVU5UX09GRlNFVAkJMHg1MAkvKiBUQ1ZSLCAzNHh4IG9ubHkgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfVElDS19JTlRfTUFTS19TRVRfT0ZGU0VUCTB4NTQJLyogVE9DUiwgMzR4eCBvbmx5ICovCisjZGVmaW5lIF9PTUFQX1RJTUVSX1RJQ0tfSU5UX01BU0tfQ09VTlRfT0ZGU0VUCTB4NTgJLyogVE9XUiwgMzR4eCBvbmx5ICovCiAKLS8qIHRpbWVyIGNvbnRyb2wgcmVnIGJpdHMgKi8KLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX0dQT0NGRwkJKDEgPDwgMTQpCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9DQVBUTU9ERQkoMSA8PCAxMykKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1BUCQkoMSA8PCAxMikKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1RDTV9MT1dUT0hJR0gJKDB4MSA8PCA4KQotI2RlZmluZSBPTUFQX1RJTUVSX0NUUkxfVENNX0hJR0hUT0xPVwkoMHgyIDw8IDgpCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9UQ01fQk9USEVER0VTCSgweDMgPDwgOCkKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1NDUFdNCQkoMSA8PCA3KQotI2RlZmluZSBPTUFQX1RJTUVSX0NUUkxfQ0UJCSgxIDw8IDYpCS8qIGNvbXBhcmUgZW5hYmxlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9QUkUJCSgxIDw8IDUpCS8qIHByZXNjYWxlciBlbmFibGUgKi8KLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1BUVl9TSElGVAkyCQkvKiBob3cgbXVjaCB0byBzaGlmdCB0aGUgcHJlc2NhbGVyIHZhbHVlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9BUgkJKDEgPDwgMSkJLyogYXV0by1yZWxvYWQgZW5hYmxlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9TVAkJKDEgPDwgMCkJLyogc3RhcnQgdGltZXIgKi8KKy8qIHJlZ2lzdGVyIG9mZnNldHMgd2l0aCB0aGUgd3JpdGUgcGVuZGluZyBiaXQgZW5jb2RlZCAqLworI2RlZmluZQlXUFNISUZUCQkJCQkxNgorCisjZGVmaW5lIE9NQVBfVElNRVJfSURfUkVHCQkJKF9PTUFQX1RJTUVSX0lEX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX09DUF9DRkdfUkVHCQkJKF9PTUFQX1RJTUVSX09DUF9DRkdfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfU1lTX1NUQVRfUkVHCQkJKF9PTUFQX1RJTUVSX1NZU19TVEFUX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1NUQVRfUkVHCQkJKF9PTUFQX1RJTUVSX1NUQVRfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfSU5UX0VOX1JFRwkJCShfT01BUF9USU1FUl9JTlRfRU5fT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfV0FLRVVQX0VOX1JFRwkJKF9PTUFQX1RJTUVSX1dBS0VVUF9FTl9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1JFRwkJCShfT01BUF9USU1FUl9DVFJMX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVENMUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX0NPVU5URVJfUkVHCQkJKF9PTUFQX1RJTUVSX0NPVU5URVJfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UQ1JSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfTE9BRF9SRUcJCQkoX09NQVBfVElNRVJfTE9BRF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX1RMRFIgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9UUklHR0VSX1JFRwkJCShfT01BUF9USU1FUl9UUklHR0VSX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVFRHUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1dSSVRFX1BFTkRfUkVHCQkoX09NQVBfVElNRVJfV1JJVEVfUEVORF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9NQVRDSF9SRUcJCQkoX09NQVBfVElNRVJfTUFUQ0hfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UTUFSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfQ0FQVFVSRV9SRUcJCQkoX09NQVBfVElNRVJfQ0FQVFVSRV9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9JRl9DVFJMX1JFRwkJCShfT01BUF9USU1FUl9JRl9DVFJMX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX0NBUFRVUkUyX1JFRwkJCShfT01BUF9USU1FUl9DQVBUVVJFMl9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX1BPU19SRUcJCQkoX09NQVBfVElNRVJfVElDS19QT1NfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UUElSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfVElDS19ORUdfUkVHCQkJKF9PTUFQX1RJTUVSX1RJQ0tfTkVHX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVE5JUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1RJQ0tfQ09VTlRfUkVHCQkoX09NQVBfVElNRVJfVElDS19DT1VOVF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX1RDVlIgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX1NFVF9SRUcJCQkJXAorCQkoX09NQVBfVElNRVJfVElDS19JTlRfTUFTS19TRVRfT0ZGU0VUIHwgKFdQX1RPQ1IgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX0NPVU5UX1JFRwkJCQlcCisJCShfT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX0NPVU5UX09GRlNFVCB8IChXUF9UT1dSIDw8IFdQU0hJRlQpKQogCiBzdHJ1Y3Qgb21hcF9kbV90aW1lciB7CiAJdW5zaWduZWQgbG9uZyBwaHlzX2Jhc2U7CkBAIC03Niw2ICsxNTUsNyBAQAogCXZvaWQgX19pb21lbSAqaW9fYmFzZTsKIAl1bnNpZ25lZCByZXNlcnZlZDoxOwogCXVuc2lnbmVkIGVuYWJsZWQ6MTsKKwl1bnNpZ25lZCBwb3N0ZWQ6MTsKIH07CiAKICNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQpAQCAtMTgxLDE2ICsyNjEsMzQgQEAKIAogc3RhdGljIHNwaW5sb2NrX3QgZG1fdGltZXJfbG9jazsKIAotc3RhdGljIGlubGluZSB1MzIgb21hcF9kbV90aW1lcl9yZWFkX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCByZWcpCisvKgorICogUmVhZHMgdGltZXIgcmVnaXN0ZXJzIGluIHBvc3RlZCBhbmQgbm9uLXBvc3RlZCBtb2RlLiBUaGUgcG9zdGVkIG1vZGUgYml0CisgKiBpcyBlbmNvZGVkIGluIHJlZy4gTm90ZSB0aGF0IGluIHBvc3RlZCBtb2RlIHdyaXRlIHBlbmRpbmcgYml0IG11c3QgYmUKKyAqIGNoZWNrZWQuIE90aGVyd2lzZSBhIHJlYWQgb2YgYSBub24gY29tcGxldGVkIHdyaXRlIHdpbGwgcHJvZHVjZSBhbiBlcnJvci4KKyAqLworc3RhdGljIGlubGluZSB1MzIgb21hcF9kbV90aW1lcl9yZWFkX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIHUzMiByZWcpCiB7Ci0JcmV0dXJuIHJlYWRsKHRpbWVyLT5pb19iYXNlICsgcmVnKTsKKwlpZiAodGltZXItPnBvc3RlZCkKKwkJd2hpbGUgKHJlYWRsKHRpbWVyLT5pb19iYXNlICsgKE9NQVBfVElNRVJfV1JJVEVfUEVORF9SRUcgJiAweGZmKSkKKwkJCQkmIChyZWcgPj4gV1BTSElGVCkpCisJCQljcHVfcmVsYXgoKTsKKwlyZXR1cm4gcmVhZGwodGltZXItPmlvX2Jhc2UgKyAocmVnICYgMHhmZikpOwogfQogCi1zdGF0aWMgdm9pZCBvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCByZWcsIHUzMiB2YWx1ZSkKKy8qCisgKiBXcml0ZXMgdGltZXIgcmVnaXN0ZXJzIGluIHBvc3RlZCBhbmQgbm9uLXBvc3RlZCBtb2RlLiBUaGUgcG9zdGVkIG1vZGUgYml0CisgKiBpcyBlbmNvZGVkIGluIHJlZy4gTm90ZSB0aGF0IGluIHBvc3RlZCBtb2RlIHRoZSB3cml0ZSBwZW5kaW5nIGJpdCBtdXN0IGJlCisgKiBjaGVja2VkLiBPdGhlcndpc2UgYSB3cml0ZSBvbiBhIHJlZ2lzdGVyIHdoaWNoIGhhcyBhIHBlbmRpbmcgd3JpdGUgd2lsbCBiZQorICogbG9zdC4KKyAqLworc3RhdGljIHZvaWQgb21hcF9kbV90aW1lcl93cml0ZV9yZWcoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCB1MzIgcmVnLAorCQkJCQkJdTMyIHZhbHVlKQogewotCXdyaXRlbCh2YWx1ZSwgdGltZXItPmlvX2Jhc2UgKyByZWcpOwotCXdoaWxlIChvbWFwX2RtX3RpbWVyX3JlYWRfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX1dSSVRFX1BFTkRfUkVHKSkKLQkJOworCWlmICh0aW1lci0+cG9zdGVkKQorCQl3aGlsZSAocmVhZGwodGltZXItPmlvX2Jhc2UgKyAoT01BUF9USU1FUl9XUklURV9QRU5EX1JFRyAmIDB4ZmYpKQorCQkJCSYgKHJlZyA+PiBXUFNISUZUKSkKKwkJCWNwdV9yZWxheCgpOworCXdyaXRlbCh2YWx1ZSwgdGltZXItPmlvX2Jhc2UgKyAocmVnICYgMHhmZikpOwogfQogCiBzdGF0aWMgdm9pZCBvbWFwX2RtX3RpbWVyX3dhaXRfZm9yX3Jlc2V0KHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lcikKQEAgLTIxNywxNyArMzE1LDIzIEBACiAJfQogCW9tYXBfZG1fdGltZXJfc2V0X3NvdXJjZSh0aW1lciwgT01BUF9USU1FUl9TUkNfMzJfS0haKTsKIAotCS8qIFNldCB0byBzbWFydC1pZGxlIG1vZGUgKi8KIAlsID0gb21hcF9kbV90aW1lcl9yZWFkX3JlZyh0aW1lciwgT01BUF9USU1FUl9PQ1BfQ0ZHX1JFRyk7Ci0JbCB8PSAweDAyIDw8IDM7CisJbCB8PSAweDAyIDw8IDM7ICAvKiBTZXQgdG8gc21hcnQtaWRsZSBtb2RlICovCisJbCB8PSAweDIgPDwgODsgICAvKiBTZXQgY2xvY2sgYWN0aXZpdHkgdG8gcGVyc2VydmUgZi1jbG9jayBvbiBpZGxlICovCiAKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgdGltZXIgPT0gJmRtX3RpbWVyc1swXSkgewotCQkvKiBFbmFibGUgd2FrZS11cCBvbmx5IGZvciBHUFQxIG9uIE9NQVAyIENQVXMqLworCS8qCisJICogRW5hYmxlIHdha2UtdXAgb25seSBmb3IgR1BUMSBvbiBPTUFQMiBDUFVzLgorCSAqIEZJWE1FOiBBbGwgdGltZXJzIHNob3VsZCBoYXZlIHdha2UtdXAgZW5hYmxlZCBhbmQgY2xlYXIKKwkgKiBQUkNNIHN0YXR1cy4KKwkgKi8KKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgKHRpbWVyID09ICZkbV90aW1lcnNbMF0pKQogCQlsIHw9IDEgPDwgMjsKLQkJLyogTm9uLXBvc3RlZCBtb2RlICovCi0JCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0lGX0NUUkxfUkVHLCAwKTsKLQl9CiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfT0NQX0NGR19SRUcsIGwpOworCisJLyogTWF0Y2ggaGFyZHdhcmUgcmVzZXQgZGVmYXVsdCBvZiBwb3N0ZWQgbW9kZSAqLworCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0lGX0NUUkxfUkVHLAorCQkJT01BUF9USU1FUl9DVFJMX1BPU1RFRCk7CisJdGltZXItPnBvc3RlZCA9IDE7CiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfZG1fdGltZXJfcHJlcGFyZShzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIpCkBAIC00MzQsOSArNTM4LDMyIEBACiAJCWwgJj0gfk9NQVBfVElNRVJfQ1RSTF9BUjsKIAlvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyh0aW1lciwgT01BUF9USU1FUl9DVFJMX1JFRywgbCk7CiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfTE9BRF9SRUcsIGxvYWQpOworCisJLyogUkVWSVNJVDogaHcgZmVhdHVyZSwgdHRnciBvdmVydGFraW5nIHRsZHI/ICovCisJd2hpbGUgKHJlYWRsKHRpbWVyLT5pb19iYXNlICsgKE9NQVBfVElNRVJfV1JJVEVfUEVORF9SRUcgJiAweGZmKSkpCisJCWNwdV9yZWxheCgpOworCiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfVFJJR0dFUl9SRUcsIDApOwogfQogCisvKiBPcHRpbWl6ZWQgc2V0X2xvYWQgd2hpY2ggcmVtb3ZlcyBjb3N0bHkgc3BpbiB3YWl0IGluIHRpbWVyX3N0YXJ0ICovCit2b2lkIG9tYXBfZG1fdGltZXJfc2V0X2xvYWRfc3RhcnQoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgYXV0b3JlbG9hZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbG9hZCkKK3sKKwl1MzIgbDsKKworCWwgPSBvbWFwX2RtX3RpbWVyX3JlYWRfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0NUUkxfUkVHKTsKKwlpZiAoYXV0b3JlbG9hZCkKKwkJbCB8PSBPTUFQX1RJTUVSX0NUUkxfQVI7CisJZWxzZQorCQlsICY9IH5PTUFQX1RJTUVSX0NUUkxfQVI7CisJbCB8PSBPTUFQX1RJTUVSX0NUUkxfU1Q7CisKKwlvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyh0aW1lciwgT01BUF9USU1FUl9DT1VOVEVSX1JFRywgbG9hZCk7CisJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfTE9BRF9SRUcsIGxvYWQpOworCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0NUUkxfUkVHLCBsKTsKK30KKwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9tYXRjaChzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBlbmFibGUsCiAJCQkgICAgIHVuc2lnbmVkIGludCBtYXRjaCkKIHsKQEAgLTQ1MSw3ICs1NzgsNiBAQAogCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX01BVENIX1JFRywgbWF0Y2gpOwogfQogCi0KIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfcHdtKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IGRlZl9vbiwKIAkJCSAgIGludCB0b2dnbGUsIGludCB0cmlnZ2VyKQogewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL21jYnNwLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYwppbmRleCA5Y2Y4M2M0Li5jN2Y3NDA2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYwpAQCAtMTUsOTUgKzE1LDY2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvaXJxcy5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL2RzcF9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tY2JzcC5oPgogCi0jaWZkZWYgQ09ORklHX01DQlNQX0RFQlVHCi0jZGVmaW5lIERCRyh4Li4uKQlwcmludGsoeCkKLSNlbHNlCi0jZGVmaW5lIERCRyh4Li4uKQkJCWRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgotCi1zdHJ1Y3Qgb21hcF9tY2JzcCB7Ci0JdTMyICAgICAgICAgICAgICAgICAgICAgICAgICBpb19iYXNlOwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ7Ci0JdTggICAgICAgICAgICAgICAgICAgICAgICAgICBmcmVlOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggICAgICAgcnhfd29yZF9sZW5ndGg7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCAgICAgICB0eF93b3JkX2xlbmd0aDsKLQotCW9tYXBfbWNic3BfaW9fdHlwZV90ICAgICAgICAgaW9fdHlwZTsgLyogSVJRIG9yIHBvbGwgKi8KLQkvKiBJUlEgYmFzZWQgVFgvUlggKi8KLQlpbnQgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4X2lycTsKLQlpbnQgICAgICAgICAgICAgICAgICAgICAgICAgIHR4X2lycTsKLQotCS8qIERNQSBzdHVmZiAqLwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hX3J4X3N5bmM7Ci0Jc2hvcnQgICAgICAgICAgICAgICAgICAgICAgICBkbWFfcnhfbGNoOwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hX3R4X3N5bmM7Ci0Jc2hvcnQgICAgICAgICAgICAgICAgICAgICAgICBkbWFfdHhfbGNoOwotCi0JLyogQ29tcGxldGlvbiBxdWV1ZXMgKi8KLQlzdHJ1Y3QgY29tcGxldGlvbiAgICAgICAgICAgIHR4X2lycV9jb21wbGV0aW9uOwotCXN0cnVjdCBjb21wbGV0aW9uICAgICAgICAgICAgcnhfaXJxX2NvbXBsZXRpb247Ci0Jc3RydWN0IGNvbXBsZXRpb24gICAgICAgICAgICB0eF9kbWFfY29tcGxldGlvbjsKLQlzdHJ1Y3QgY29tcGxldGlvbiAgICAgICAgICAgIHJ4X2RtYV9jb21wbGV0aW9uOwotCi0Jc3BpbmxvY2tfdCAgICAgICAgICAgICAgICAgICBsb2NrOwotfTsKLQogc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwIG1jYnNwW09NQVBfTUFYX01DQlNQX0NPVU5UXTsKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQotc3RhdGljIHN0cnVjdCBjbGsgKm1jYnNwX2RzcF9jayA9IDA7Ci1zdGF0aWMgc3RydWN0IGNsayAqbWNic3BfYXBpX2NrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcF9kc3B4b3JfY2sgPSAwOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDFfaWNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDFfZmNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDJfaWNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDJfZmNrID0gMDsKLSNlbmRpZgorCisjZGVmaW5lIG9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpCShtY2JzcFtpZF0ucGRhdGEgJiYgXAorCQkJCQltY2JzcFtpZF0ucGRhdGEtPm9wcyAmJiBcCisJCQkJCW1jYnNwW2lkXS5wZGF0YS0+b3BzLT5jaGVjayAmJiBcCisJCQkJCShtY2JzcFtpZF0ucGRhdGEtPm9wcy0+Y2hlY2soaWQpID09IDApKQogCiBzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2R1bXBfcmVnKHU4IGlkKQogewotCURCRygiKioqKiBNQ0JTUCVkIHJlZ3MgKioqKlxuIiwgbWNic3BbaWRdLmlkKTsKLQlEQkcoIkRSUjI6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFJSMikpOwotCURCRygiRFJSMTogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBEUlIxKSk7Ci0JREJHKCJEWFIyOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERYUjIpKTsKLQlEQkcoIkRYUjE6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFhSMSkpOwotCURCRygiU1BDUjI6IDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMikpOwotCURCRygiU1BDUjE6IDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMSkpOwotCURCRygiUkNSMjogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBSQ1IyKSk7Ci0JREJHKCJSQ1IxOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFJDUjEpKTsKLQlEQkcoIlhDUjI6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgWENSMikpOwotCURCRygiWENSMTogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBYQ1IxKSk7Ci0JREJHKCJTUkdSMjogMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IyKSk7Ci0JREJHKCJTUkdSMTogMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IxKSk7Ci0JREJHKCJQQ1IwOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFBDUjApKTsKLQlEQkcoIioqKioqKioqKioqKioqKioqKioqKioqXG4iKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICIqKioqIE1jQlNQJWQgcmVncyAqKioqXG4iLCBtY2JzcFtpZF0uaWQpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIkRSUjI6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERSUjIpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJEUlIxOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBEUlIxKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiRFhSMjogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFhSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIkRYUjE6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERYUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJTUENSMjogMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlNQQ1IxOiAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNQQ1IxKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiUkNSMjogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgUkNSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlJDUjE6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFJDUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJYQ1IyOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBYQ1IyKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiWENSMTogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgWENSMSkpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlNSR1IyOiAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IyKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiU1JHUjE6IDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgU1JHUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJQQ1IwOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBQQ1IwKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwogfQogCiBzdGF0aWMgaXJxcmV0dXJuX3Qgb21hcF9tY2JzcF90eF9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CiAJc3RydWN0IG9tYXBfbWNic3AgKm1jYnNwX3R4ID0gZGV2X2lkOwogCi0JREJHKCJUWCBJUlEgY2FsbGJhY2sgOiAweCV4XG4iLAotCSAgICBPTUFQX01DQlNQX1JFQUQobWNic3BfdHgtPmlvX2Jhc2UsIFNQQ1IyKSk7CisJZGV2X2RiZyhtY2JzcF90eC0+ZGV2LCAiVFggSVJRIGNhbGxiYWNrIDogMHgleFxuIiwKKwkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwX3R4LT5pb19iYXNlLCBTUENSMikpOwogCiAJY29tcGxldGUoJm1jYnNwX3R4LT50eF9pcnFfY29tcGxldGlvbik7CisKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTExMSwxMCArODIsMTEgQEAKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3BfcnggPSBkZXZfaWQ7CiAKLQlEQkcoIlJYIElSUSBjYWxsYmFjayA6IDB4JXhcbiIsCi0JICAgIE9NQVBfTUNCU1BfUkVBRChtY2JzcF9yeC0+aW9fYmFzZSwgU1BDUjIpKTsKKwlkZXZfZGJnKG1jYnNwX3J4LT5kZXYsICJSWCBJUlEgY2FsbGJhY2sgOiAweCV4XG4iLAorCQlPTUFQX01DQlNQX1JFQUQobWNic3BfcngtPmlvX2Jhc2UsIFNQQ1IyKSk7CiAKIAljb21wbGV0ZSgmbWNic3BfcngtPnJ4X2lycV9jb21wbGV0aW9uKTsKKwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIApAQCAtMTIyLDggKzk0LDggQEAKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3BfZG1hX3R4ID0gZGF0YTsKIAotCURCRygiVFggRE1BIGNhbGxiYWNrIDogMHgleFxuIiwKLQkgICAgT01BUF9NQ0JTUF9SRUFEKG1jYnNwX2RtYV90eC0+aW9fYmFzZSwgU1BDUjIpKTsKKwlkZXZfZGJnKG1jYnNwX2RtYV90eC0+ZGV2LCAiVFggRE1BIGNhbGxiYWNrIDogMHgleFxuIiwKKwkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwX2RtYV90eC0+aW9fYmFzZSwgU1BDUjIpKTsKIAogCS8qIFdlIGNhbiBmcmVlIHRoZSBjaGFubmVscyAqLwogCW9tYXBfZnJlZV9kbWEobWNic3BfZG1hX3R4LT5kbWFfdHhfbGNoKTsKQEAgLTEzNiw4ICsxMDgsOCBAQAogewogCXN0cnVjdCBvbWFwX21jYnNwICptY2JzcF9kbWFfcnggPSBkYXRhOwogCi0JREJHKCJSWCBETUEgY2FsbGJhY2sgOiAweCV4XG4iLAotCSAgICBPTUFQX01DQlNQX1JFQUQobWNic3BfZG1hX3J4LT5pb19iYXNlLCBTUENSMikpOworCWRldl9kYmcobWNic3BfZG1hX3J4LT5kZXYsICJSWCBETUEgY2FsbGJhY2sgOiAweCV4XG4iLAorCQlPTUFQX01DQlNQX1JFQUQobWNic3BfZG1hX3J4LT5pb19iYXNlLCBTUENSMikpOwogCiAJLyogV2UgY2FuIGZyZWUgdGhlIGNoYW5uZWxzICovCiAJb21hcF9mcmVlX2RtYShtY2JzcF9kbWFfcngtPmRtYV9yeF9sY2gpOwpAQCAtMTQ2LDE5ICsxMTgsMjQgQEAKIAljb21wbGV0ZSgmbWNic3BfZG1hX3J4LT5yeF9kbWFfY29tcGxldGlvbik7CiB9CiAKLQogLyoKICAqIG9tYXBfbWNic3BfY29uZmlnIHNpbXBseSB3cml0ZSBhIGNvbmZpZyB0byB0aGUKICAqIGFwcHJvcHJpYXRlIE1jQlNQLgogICogWW91IGVpdGhlciBjYWxsIHRoaXMgZnVuY3Rpb24gb3Igc2V0IHRoZSBNY0JTUCByZWdpc3RlcnMKICAqIGJ5IHlvdXJzZWxmIGJlZm9yZSBjYWxsaW5nIG9tYXBfbWNic3Bfc3RhcnQoKS4KICAqLwotCi12b2lkIG9tYXBfbWNic3BfY29uZmlnKHVuc2lnbmVkIGludCBpZCwgY29uc3Qgc3RydWN0IG9tYXBfbWNic3BfcmVnX2NmZyAqIGNvbmZpZykKK3ZvaWQgb21hcF9tY2JzcF9jb25maWcodW5zaWduZWQgaW50IGlkLCBjb25zdCBzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnICpjb25maWcpCiB7Ci0JdTMyIGlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwl1MzIgaW9fYmFzZTsKIAotCURCRygiT01BUC1NY0JTUDogTWNCU1AlZCAgaW9fYmFzZTogMHglOHhcbiIsIGlkKzEsIGlvX2Jhc2UpOworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuOworCX0KKworCWlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJDb25maWd1cmluZyBNY0JTUCVkICBpb19iYXNlOiAweCU4eFxuIiwKKwkJCW1jYnNwW2lkXS5pZCwgaW9fYmFzZSk7CiAKIAkvKiBXZSB3cml0ZSB0aGUgZ2l2ZW4gY29uZmlnICovCiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBTUENSMiwgY29uZmlnLT5zcGNyMik7CkBAIC0xNzMsODMgKzE1MCw3IEBACiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBNQ1IxLCBjb25maWctPm1jcjEpOwogCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgUENSMCwgY29uZmlnLT5wY3IwKTsKIH0KLQotCi0KLXN0YXRpYyBpbnQgb21hcF9tY2JzcF9jaGVjayh1bnNpZ25lZCBpbnQgaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwNzMwKCkpIHsKLQkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAxKSB7Ci0JCSAgICAgICBwcmludGsoS0VSTl9FUlIgIk9NQVAtTWNCU1A6IE1jQlNQJWQgZG9lc24ndCBleGlzdFxuIiwgaWQgKyAxKTsKLQkJICAgICAgIHJldHVybiAtMTsKLQkJfQotCQlyZXR1cm4gMDsKLQl9Ci0KLQlpZiAoY3B1X2lzX29tYXAxNXh4KCkgfHwgY3B1X2lzX29tYXAxNnh4KCkgfHwgY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQpIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBkb2Vzbid0IGV4aXN0XG4iLCBpZCArIDEpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiAtMTsKLX0KLQotI2lmZGVmIENPTkZJR19BUkNIX09NQVAxCi1zdGF0aWMgdm9pZCBvbWFwX21jYnNwX2RzcF9yZXF1ZXN0KHZvaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwMTV4eCgpIHx8IGNwdV9pc19vbWFwMTZ4eCgpKSB7Ci0JCWludCByZXQ7Ci0KLQkJcmV0ID0gb21hcF9kc3BfcmVxdWVzdF9tZW0oKTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGdldCBkc3AgbWVtb3J5OiAlaVxuIiwgcmV0KTsKLQkJCXJldHVybjsKLQkJfQotCi0JCWNsa19lbmFibGUobWNic3BfZHNwX2NrKTsKLQkJY2xrX2VuYWJsZShtY2JzcF9hcGlfY2spOwotCi0JCS8qIGVuYWJsZSAxMk1IeiBjbG9jayB0byBtY2JzcCAxICYgMyAqLwotCQljbGtfZW5hYmxlKG1jYnNwX2RzcHhvcl9jayk7Ci0KLQkJLyoKLQkJICogRFNQIGV4dGVybmFsIHBlcmlwaGVyYWwgcmVzZXQKLQkJICogRklYTUU6IFRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIGRzcCBjb2RlCi0JCSAqLwotCQlfX3Jhd193cml0ZXcoX19yYXdfcmVhZHcoRFNQX1JTVENUMikgfCAxIHwgMSA8PCAxLAotCQkJICAgICBEU1BfUlNUQ1QyKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIG9tYXBfbWNic3BfZHNwX2ZyZWUodm9pZCkKLXsKLQlpZiAoY3B1X2lzX29tYXAxNXh4KCkgfHwgY3B1X2lzX29tYXAxNnh4KCkpIHsKLQkJb21hcF9kc3BfcmVsZWFzZV9tZW0oKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfZHNweG9yX2NrKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfZHNwX2NrKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfYXBpX2NrKTsKLQl9Ci19Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19BUkNIX09NQVAyCi1zdGF0aWMgdm9pZCBvbWFwMl9tY2JzcDJfbXV4X3NldHVwKHZvaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwMjQyMCgpKSB7Ci0JCW9tYXBfY2ZnX3JlZyhZMTVfMjRYWF9NQ0JTUDJfQ0xLWCk7Ci0JCW9tYXBfY2ZnX3JlZyhSMTRfMjRYWF9NQ0JTUDJfRlNYKTsKLQkJb21hcF9jZmdfcmVnKFcxNV8yNFhYX01DQlNQMl9EUik7Ci0JCW9tYXBfY2ZnX3JlZyhWMTVfMjRYWF9NQ0JTUDJfRFgpOwotCQlvbWFwX2NmZ19yZWcoVjE0XzI0WFhfR1BJTzExNyk7Ci0JfQotCS8qCi0JICogTmVlZCB0byBhZGQgTVVYIHNldHRpbmdzIGZvciBPTUFQIDI0MzAgU0RQCi0JICovCi19Ci0jZW5kaWYKK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9jb25maWcpOwogCiAvKgogICogV2UgY2FuIGNob29zZSBiZXR3ZWVuIElSUSBiYXNlZCBvciBwb2xsZWQgSU8uCkBAIC0yNTcsMTMgKzE1OCwxNiBAQAogICovCiBpbnQgb21hcF9tY2JzcF9zZXRfaW9fdHlwZSh1bnNpZ25lZCBpbnQgaWQsIG9tYXBfbWNic3BfaW9fdHlwZV90IGlvX3R5cGUpCiB7Ci0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKIAlzcGluX2xvY2soJm1jYnNwW2lkXS5sb2NrKTsKIAogCWlmICghbWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBpcyBjdXJyZW50bHkgaW4gdXNlXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIGlzIGN1cnJlbnRseSBpbiB1c2VcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0yNzQsMzggKzE3OCwyNiBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3Bfc2V0X2lvX3R5cGUpOwogCiBpbnQgb21hcF9tY2JzcF9yZXF1ZXN0KHVuc2lnbmVkIGludCBpZCkKIHsKIAlpbnQgZXJyOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQotCS8qCi0JICogT24gMTUxMCwgMTYxMCBhbmQgMTcxMCwgTWNCU1AxIGFuZCBNY0JTUDMKLQkgKiBhcmUgRFNQIHB1YmxpYyBwZXJpcGhlcmFscy4KLQkgKi8KLQlpZiAoaWQgPT0gT01BUF9NQ0JTUDEgfHwgaWQgPT0gT01BUF9NQ0JTUDMpCi0JCW9tYXBfbWNic3BfZHNwX3JlcXVlc3QoKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxKSB7Ci0JCQljbGtfZW5hYmxlKG1jYnNwMV9pY2spOwotCQkJY2xrX2VuYWJsZShtY2JzcDFfZmNrKTsKLQkJfSBlbHNlIHsKLQkJCWNsa19lbmFibGUobWNic3AyX2ljayk7Ci0JCQljbGtfZW5hYmxlKG1jYnNwMl9mY2spOwotCQl9CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKIAl9Ci0jZW5kaWYKKworCWlmIChtY2JzcFtpZF0ucGRhdGEtPm9wcy0+cmVxdWVzdCkKKwkJbWNic3BbaWRdLnBkYXRhLT5vcHMtPnJlcXVlc3QoaWQpOworCisJY2xrX2VuYWJsZShtY2JzcFtpZF0uY2xrKTsKIAogCXNwaW5fbG9jaygmbWNic3BbaWRdLmxvY2spOwogCWlmICghbWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBpcyBjdXJyZW50bHkgaW4gdXNlXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIGlzIGN1cnJlbnRseSBpbiB1c2VcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm4gLTE7CiAJfQpAQCAtMzE1LDI0ICsyMDcsMjMgQEAKIAogCWlmIChtY2JzcFtpZF0uaW9fdHlwZSA9PSBPTUFQX01DQlNQX0lSUV9JTykgewogCQkvKiBXZSBuZWVkIHRvIGdldCBJUlFzIGhlcmUgKi8KLQkJZXJyID0gcmVxdWVzdF9pcnEobWNic3BbaWRdLnR4X2lycSwgb21hcF9tY2JzcF90eF9pcnFfaGFuZGxlciwgMCwKLQkJCQkgICJNY0JTUCIsCi0JCQkJICAodm9pZCAqKSAoJm1jYnNwW2lkXSkpOworCQllcnIgPSByZXF1ZXN0X2lycShtY2JzcFtpZF0udHhfaXJxLCBvbWFwX21jYnNwX3R4X2lycV9oYW5kbGVyLAorCQkJCQkwLCAiTWNCU1AiLCAodm9pZCAqKSAoJm1jYnNwW2lkXSkpOwogCQlpZiAoZXJyICE9IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogVW5hYmxlIHRvIHJlcXVlc3QgVFggSVJRICVkIGZvciBNY0JTUCVkXG4iLAotCQkJICAgICAgIG1jYnNwW2lkXS50eF9pcnEsIG1jYnNwW2lkXS5pZCk7CisJCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJVbmFibGUgdG8gcmVxdWVzdCBUWCBJUlEgJWQgIgorCQkJCQkiZm9yIE1jQlNQJWRcbiIsIG1jYnNwW2lkXS50eF9pcnEsCisJCQkJCW1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CiAKIAkJaW5pdF9jb21wbGV0aW9uKCYobWNic3BbaWRdLnR4X2lycV9jb21wbGV0aW9uKSk7CiAKLQotCQllcnIgPSByZXF1ZXN0X2lycShtY2JzcFtpZF0ucnhfaXJxLCBvbWFwX21jYnNwX3J4X2lycV9oYW5kbGVyLCAwLAotCQkJCSAgIk1jQlNQIiwKLQkJCQkgICh2b2lkICopICgmbWNic3BbaWRdKSk7CisJCWVyciA9IHJlcXVlc3RfaXJxKG1jYnNwW2lkXS5yeF9pcnEsIG9tYXBfbWNic3BfcnhfaXJxX2hhbmRsZXIsCisJCQkJCTAsICJNY0JTUCIsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJCWlmIChlcnIgIT0gMCkgewotCQkJcHJpbnRrKEtFUk5fRVJSICJPTUFQLU1jQlNQOiBVbmFibGUgdG8gcmVxdWVzdCBSWCBJUlEgJWQgZm9yIE1jQlNQJWRcbiIsCi0JCQkgICAgICAgbWNic3BbaWRdLnJ4X2lycSwgbWNic3BbaWRdLmlkKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIlVuYWJsZSB0byByZXF1ZXN0IFJYIElSUSAlZCAiCisJCQkJCSJmb3IgTWNCU1AlZFxuIiwgbWNic3BbaWRdLnJ4X2lycSwKKwkJCQkJbWNic3BbaWRdLmlkKTsKIAkJCWZyZWVfaXJxKG1jYnNwW2lkXS50eF9pcnEsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CkBAIC0zNDEsMzYgKzIzMiwyNSBAQAogCX0KIAogCXJldHVybiAwOwotCiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVxdWVzdCk7CiAKIHZvaWQgb21hcF9tY2JzcF9mcmVlKHVuc2lnbmVkIGludCBpZCkKIHsKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQorCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKIAkJcmV0dXJuOwotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDEKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxIHx8IGlkID09IE9NQVBfTUNCU1AzKQotCQkJb21hcF9tY2JzcF9kc3BfZnJlZSgpOwogCX0KLSNlbmRpZgogCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxKSB7Ci0JCQljbGtfZGlzYWJsZShtY2JzcDFfaWNrKTsKLQkJCWNsa19kaXNhYmxlKG1jYnNwMV9mY2spOwotCQl9IGVsc2UgewotCQkJY2xrX2Rpc2FibGUobWNic3AyX2ljayk7Ci0JCQljbGtfZGlzYWJsZShtY2JzcDJfZmNrKTsKLQkJfQotCX0KLSNlbmRpZgorCWlmIChtY2JzcFtpZF0ucGRhdGEtPm9wcy0+ZnJlZSkKKwkJbWNic3BbaWRdLnBkYXRhLT5vcHMtPmZyZWUoaWQpOworCisJY2xrX2Rpc2FibGUobWNic3BbaWRdLmNsayk7CiAKIAlzcGluX2xvY2soJm1jYnNwW2lkXS5sb2NrKTsKIAlpZiAobWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCB3YXMgbm90IHJlc2VydmVkXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIHdhcyBub3QgcmVzZXJ2ZWRcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm47CiAJfQpAQCAtMzg0LDYgKzI2NCw3IEBACiAJCWZyZWVfaXJxKG1jYnNwW2lkXS50eF9pcnEsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJfQogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX2ZyZWUpOwogCiAvKgogICogSGVyZSB3ZSBzdGFydCB0aGUgTWNCU1AsIGJ5IGVuYWJsaW5nIHRoZSBzYW1wbGUKQEAgLTM5NSwxMyArMjc2LDE1IEBACiAJdTMyIGlvX2Jhc2U7CiAJdTE2IHc7CiAKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQorCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKIAkJcmV0dXJuOworCX0KIAogCWlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKIAotCW1jYnNwW2lkXS5yeF93b3JkX2xlbmd0aCA9ICgoT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFJDUjEpID4+IDUpICYgMHg3KTsKLQltY2JzcFtpZF0udHhfd29yZF9sZW5ndGggPSAoKE9NQVBfTUNCU1BfUkVBRChpb19iYXNlLCBYQ1IxKSA+PiA1KSAmIDB4Nyk7CisJbWNic3BbaWRdLnJ4X3dvcmRfbGVuZ3RoID0gKE9NQVBfTUNCU1BfUkVBRChpb19iYXNlLCBSQ1IxKSA+PiA1KSAmIDB4NzsKKwltY2JzcFtpZF0udHhfd29yZF9sZW5ndGggPSAoT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFhDUjEpID4+IDUpICYgMHg3OwogCiAJLyogU3RhcnQgdGhlIHNhbXBsZSBnZW5lcmF0b3IgKi8KIAl3ID0gT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFNQQ1IyKTsKQEAgLTQyMiwyMCArMzA1LDIyIEBACiAKIAkvKiBEdW1wIE1jQlNQIFJlZ3MgKi8KIAlvbWFwX21jYnNwX2R1bXBfcmVnKGlkKTsKLQogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0YXJ0KTsKIAogdm9pZCBvbWFwX21jYnNwX3N0b3AodW5zaWduZWQgaW50IGlkKQogewogCXUzMiBpb19iYXNlOwogCXUxNiB3OwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CiAJCXJldHVybjsKKwl9CiAKIAlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CiAKLSAgICAgICAgLyogUmVzZXQgdHJhbnNtaXR0ZXIgKi8KKwkvKiBSZXNldCB0cmFuc21pdHRlciAqLwogCXcgPSBPTUFQX01DQlNQX1JFQUQoaW9fYmFzZSwgU1BDUjIpOwogCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjIsIHcgJiB+KDEpKTsKIApAQCAtNDQ3LDEyICszMzIsMTkgQEAKIAl3ID0gT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFNQQ1IyKTsKIAlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCB3ICYgfigxIDw8IDYpKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0b3ApOwogCiAvKiBwb2xsZWQgbWNic3AgaS9vIG9wZXJhdGlvbnMgKi8KIGludCBvbWFwX21jYnNwX3BvbGx3cml0ZSh1bnNpZ25lZCBpbnQgaWQsIHUxNiBidWYpCiB7Ci0JdTMyIGJhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwl1MzIgYmFzZTsKKworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwogCXdyaXRldyhidWYsIGJhc2UgKyBPTUFQX01DQlNQX1JFR19EWFIxKTsKIAkvKiBpZiBmcmFtZSBzeW5jIGVycm9yIC0gY2xlYXIgdGhlIGVycm9yICovCiAJaWYgKHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19TUENSMikgJiBYU1lOQ19FUlIpIHsKQEAgLTQ3NCwxOCArMzY2LDI3IEBACiAJCQkJICAgICAgIChYUlNUKSwKIAkJCQkgICAgICAgYmFzZSArIE9NQVBfTUNCU1BfUkVHX1NQQ1IyKTsKIAkJCQl1ZGVsYXkoMTApOwotCQkJCXByaW50ayhLRVJOX0VSUgotCQkJCSAgICAgICAiIENvdWxkIG5vdCB3cml0ZSB0byBNY0JTUCBSZWdpc3RlclxuIik7CisJCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiQ291bGQgbm90IHdyaXRlIHRvIgorCQkJCQkiIE1jQlNQJWQgUmVnaXN0ZXJcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQkJcmV0dXJuIC0yOwogCQkJfQogCQl9CiAJfQorCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcG9sbHdyaXRlKTsKIAotaW50IG9tYXBfbWNic3BfcG9sbHJlYWQodW5zaWduZWQgaW50IGlkLCB1MTYgKiBidWYpCitpbnQgb21hcF9tY2JzcF9wb2xscmVhZCh1bnNpZ25lZCBpbnQgaWQsIHUxNiAqYnVmKQogewotCXUzMiBiYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdTMyIGJhc2U7CisKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCWJhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKIAkvKiBpZiBmcmFtZSBzeW5jIGVycm9yIC0gY2xlYXIgdGhlIGVycm9yICovCiAJaWYgKHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19TUENSMSkgJiBSU1lOQ19FUlIpIHsKIAkJLyogY2xlYXIgZXJyb3IgKi8KQEAgLTUwNiwxNSArNDA3LDE3IEBACiAJCQkJICAgICAgIChSUlNUKSwKIAkJCQkgICAgICAgYmFzZSArIE9NQVBfTUNCU1BfUkVHX1NQQ1IxKTsKIAkJCQl1ZGVsYXkoMTApOwotCQkJCXByaW50ayhLRVJOX0VSUgotCQkJCSAgICAgICAiIENvdWxkIG5vdCByZWFkIGZyb20gTWNCU1AgUmVnaXN0ZXJcbiIpOworCQkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIkNvdWxkIG5vdCByZWFkIGZyb20iCisJCQkJCSIgTWNCU1AlZCBSZWdpc3RlclxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCQlyZXR1cm4gLTI7CiAJCQl9CiAJCX0KIAl9CiAJKmJ1ZiA9IHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19EUlIxKTsKKwogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3BvbGxyZWFkKTsKIAogLyoKICAqIElSUSBiYXNlZCB3b3JkIHRyYW5zbWlzc2lvbi4KQEAgLTUyMiwxMiArNDI1LDE1IEBACiB2b2lkIG9tYXBfbWNic3BfeG1pdF93b3JkKHVuc2lnbmVkIGludCBpZCwgdTMyIHdvcmQpCiB7CiAJdTMyIGlvX2Jhc2U7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCB3b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS50eF93b3JkX2xlbmd0aDsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHdvcmRfbGVuZ3RoOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CiAJCXJldHVybjsKKwl9CiAKIAlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CiAKIAl3YWl0X2Zvcl9jb21wbGV0aW9uKCYobWNic3BbaWRdLnR4X2lycV9jb21wbGV0aW9uKSk7CiAKQEAgLTUzNSwxNiArNDQxLDIwIEBACiAJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgRFhSMiwgd29yZCA+PiAxNik7CiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBEWFIxLCB3b3JkICYgMHhmZmZmKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF94bWl0X3dvcmQpOwogCiB1MzIgb21hcF9tY2JzcF9yZWN2X3dvcmQodW5zaWduZWQgaW50IGlkKQogewogCXUzMiBpb19iYXNlOwogCXUxNiB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisJb21hcF9tY2JzcF93b3JkX2xlbmd0aCB3b3JkX2xlbmd0aDsKIAotCWlmIChvbWFwX21jYnNwX2NoZWNrKGlkKSA8IDApCi0JCXJldHVybiAtRUlOVkFMOworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQogCisJd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CiAJaW9fYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwogCiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS5yeF9pcnFfY29tcGxldGlvbikpOwpAQCAtNTU1LDE1ICs0NjUsMjQgQEAKIAogCXJldHVybiAod29yZF9sc2IgfCAod29yZF9tc2IgPDwgMTYpKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3JlY3Zfd29yZCk7CiAKIGludCBvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwodW5zaWduZWQgaW50IGlkLCB1MzIgd29yZCkKIHsKLQl1MzIgaW9fYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCByeF93b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS5yeF93b3JkX2xlbmd0aDsKKwl1MzIgaW9fYmFzZTsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHR4X3dvcmRfbGVuZ3RoOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggcnhfd29yZF9sZW5ndGg7CiAJdTE2IHNwY3IyLCBzcGNyMSwgYXR0ZW1wdHMgPSAwLCB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwogCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CisJcnhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisKIAlpZiAodHhfd29yZF9sZW5ndGggIT0gcnhfd29yZF9sZW5ndGgpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC01NzcsNyArNDk2LDggQEAKIAkJCXVkZWxheSgxMCk7CiAJCQlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCBzcGNyMiB8IFhSU1QpOwogCQkJdWRlbGF5KDEwKTsKLQkJCXByaW50aygiTWNCU1AgdHJhbnNtaXR0ZXIgbm90IHJlYWR5XG4iKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgdHJhbnNtaXR0ZXIgbm90ICIKKwkJCQkicmVhZHlcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQogCX0KQEAgLTU5Nyw3ICs1MTcsOCBAQAogCQkJdWRlbGF5KDEwKTsKIAkJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjEsIHNwY3IxIHwgUlJTVCk7CiAJCQl1ZGVsYXkoMTApOwotCQkJcHJpbnRrKCJNY0JTUCByZWNlaXZlciBub3QgcmVhZHlcbiIpOworCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiTWNCU1AlZCByZWNlaXZlciBub3QgIgorCQkJCSJyZWFkeVxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9CiAJfQpAQCAtNjA5LDE0ICs1MzAsMjQgQEAKIAogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwpOwogCi1pbnQgb21hcF9tY2JzcF9zcGlfbWFzdGVyX3JlY3Zfd29yZF9wb2xsKHVuc2lnbmVkIGludCBpZCwgdTMyICogd29yZCkKK2ludCBvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwodW5zaWduZWQgaW50IGlkLCB1MzIgKndvcmQpCiB7Ci0JdTMyIGlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZSwgY2xvY2tfd29yZCA9IDA7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCB0eF93b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS50eF93b3JkX2xlbmd0aDsKLQlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHJ4X3dvcmRfbGVuZ3RoID0gbWNic3BbaWRdLnJ4X3dvcmRfbGVuZ3RoOworCXUzMiBpb19iYXNlLCBjbG9ja193b3JkID0gMDsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHR4X3dvcmRfbGVuZ3RoOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggcnhfd29yZF9sZW5ndGg7CiAJdTE2IHNwY3IyLCBzcGNyMSwgYXR0ZW1wdHMgPSAwLCB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwogCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CisJcnhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisKIAlpZiAodHhfd29yZF9sZW5ndGggIT0gcnhfd29yZF9sZW5ndGgpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC02MzAsNyArNTYxLDggQEAKIAkJCXVkZWxheSgxMCk7CiAJCQlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCBzcGNyMiB8IFhSU1QpOwogCQkJdWRlbGF5KDEwKTsKLQkJCXByaW50aygiTWNCU1AgdHJhbnNtaXR0ZXIgbm90IHJlYWR5XG4iKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgdHJhbnNtaXR0ZXIgbm90ICIKKwkJCQkicmVhZHlcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQogCX0KQEAgLTY1MCw3ICs1ODIsOCBAQAogCQkJdWRlbGF5KDEwKTsKIAkJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjEsIHNwY3IxIHwgUlJTVCk7CiAJCQl1ZGVsYXkoMTApOwotCQkJcHJpbnRrKCJNY0JTUCByZWNlaXZlciBub3QgcmVhZHlcbiIpOworCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiTWNCU1AlZCByZWNlaXZlciBub3QgIgorCQkJCSJyZWFkeVxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9CiAJfQpAQCAtNjY0LDcgKzU5Nyw3IEBACiAKIAlyZXR1cm4gMDsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwpOwogCiAvKgogICogU2ltcGxlIERNQSBiYXNlZCBidWZmZXIgcngvdHggcm91dGluZXMuCkBAIC02NzMsMjUgKzYwNiwzMiBAQAogICogRm9yIGFueXRoaW5nIGZhbmNpZXIsIHlvdSBzaG91bGQgdXNlIHlvdXIgb3duIGN1c3RvbWl6ZWQgRE1BCiAgKiByb3V0aW5lcyBhbmQgY2FsbGJhY2tzLgogICovCi1pbnQgb21hcF9tY2JzcF94bWl0X2J1ZmZlcih1bnNpZ25lZCBpbnQgaWQsIGRtYV9hZGRyX3QgYnVmZmVyLCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQoraW50IG9tYXBfbWNic3BfeG1pdF9idWZmZXIodW5zaWduZWQgaW50IGlkLCBkbWFfYWRkcl90IGJ1ZmZlciwKKwkJCQl1bnNpZ25lZCBpbnQgbGVuZ3RoKQogewogCWludCBkbWFfdHhfY2g7CiAJaW50IHNyY19wb3J0ID0gMDsKIAlpbnQgZGVzdF9wb3J0ID0gMDsKIAlpbnQgc3luY19kZXYgPSAwOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKLQlpZiAob21hcF9yZXF1ZXN0X2RtYShtY2JzcFtpZF0uZG1hX3R4X3N5bmMsICJNY0JTUCBUWCIsIG9tYXBfbWNic3BfdHhfZG1hX2NhbGxiYWNrLAotCQkJICAgICAmbWNic3BbaWRdLAotCQkJICAgICAmZG1hX3R4X2NoKSkgewotCQlwcmludGsoIk9NQVAtTWNCU1A6IFVuYWJsZSB0byByZXF1ZXN0IERNQSBjaGFubmVsIGZvciBNY0JTUCVkIFRYLiBUcnlpbmcgSVJRIGJhc2VkIFRYXG4iLCBpZCsxKTsKKwlpZiAob21hcF9yZXF1ZXN0X2RtYShtY2JzcFtpZF0uZG1hX3R4X3N5bmMsICJNY0JTUCBUWCIsCisJCQkJb21hcF9tY2JzcF90eF9kbWFfY2FsbGJhY2ssCisJCQkJJm1jYnNwW2lkXSwKKwkJCQkmZG1hX3R4X2NoKSkgeworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICIgVW5hYmxlIHRvIHJlcXVlc3QgRE1BIGNoYW5uZWwgZm9yICIKKwkJCQkiTWNCU1AlZCBUWC4gVHJ5aW5nIElSUSBiYXNlZCBUWFxuIiwKKwkJCQltY2JzcFtpZF0uaWQpOwogCQlyZXR1cm4gLUVBR0FJTjsKIAl9CiAJbWNic3BbaWRdLmRtYV90eF9sY2ggPSBkbWFfdHhfY2g7CiAKLQlEQkcoIlRYIERNQSBvbiBjaGFubmVsICVkXG4iLCBkbWFfdHhfY2gpOworCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgVFggRE1BIG9uIGNoYW5uZWwgJWRcbiIsIG1jYnNwW2lkXS5pZCwKKwkJZG1hX3R4X2NoKTsKIAogCWluaXRfY29tcGxldGlvbigmKG1jYnNwW2lkXS50eF9kbWFfY29tcGxldGlvbikpOwogCkBAIC02OTksNyArNjM5LDcgQEAKIAkJc3JjX3BvcnQgPSBPTUFQX0RNQV9QT1JUX1RJUEI7CiAJCWRlc3RfcG9ydCA9IE9NQVBfRE1BX1BPUlRfRU1JRkY7CiAJfQotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXN5bmNfZGV2ID0gbWNic3BbaWRdLmRtYV90eF9zeW5jOwogCiAJb21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3R4X2xjaCwKQEAgLTcyMiwyOSArNjYyLDM3IEBACiAKIAlvbWFwX3N0YXJ0X2RtYShtY2JzcFtpZF0uZG1hX3R4X2xjaCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS50eF9kbWFfY29tcGxldGlvbikpOworCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfeG1pdF9idWZmZXIpOwogCi0KLWludCBvbWFwX21jYnNwX3JlY3ZfYnVmZmVyKHVuc2lnbmVkIGludCBpZCwgZG1hX2FkZHJfdCBidWZmZXIsIHVuc2lnbmVkIGludCBsZW5ndGgpCitpbnQgb21hcF9tY2JzcF9yZWN2X2J1ZmZlcih1bnNpZ25lZCBpbnQgaWQsIGRtYV9hZGRyX3QgYnVmZmVyLAorCQkJCXVuc2lnbmVkIGludCBsZW5ndGgpCiB7CiAJaW50IGRtYV9yeF9jaDsKIAlpbnQgc3JjX3BvcnQgPSAwOwogCWludCBkZXN0X3BvcnQgPSAwOwogCWludCBzeW5jX2RldiA9IDA7CiAKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQotCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CisJCXJldHVybiAtRU5PREVWOworCX0KIAotCWlmIChvbWFwX3JlcXVlc3RfZG1hKG1jYnNwW2lkXS5kbWFfcnhfc3luYywgIk1jQlNQIFJYIiwgb21hcF9tY2JzcF9yeF9kbWFfY2FsbGJhY2ssCi0JCQkgICAgICZtY2JzcFtpZF0sCi0JCQkgICAgICZkbWFfcnhfY2gpKSB7Ci0JCXByaW50aygiVW5hYmxlIHRvIHJlcXVlc3QgRE1BIGNoYW5uZWwgZm9yIE1jQlNQJWQgUlguIFRyeWluZyBJUlEgYmFzZWQgUlhcbiIsIGlkKzEpOworCWlmIChvbWFwX3JlcXVlc3RfZG1hKG1jYnNwW2lkXS5kbWFfcnhfc3luYywgIk1jQlNQIFJYIiwKKwkJCQlvbWFwX21jYnNwX3J4X2RtYV9jYWxsYmFjaywKKwkJCQkmbWNic3BbaWRdLAorCQkJCSZkbWFfcnhfY2gpKSB7CisJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIlVuYWJsZSB0byByZXF1ZXN0IERNQSBjaGFubmVsIGZvciAiCisJCQkJIk1jQlNQJWQgUlguIFRyeWluZyBJUlEgYmFzZWQgUlhcbiIsCisJCQkJbWNic3BbaWRdLmlkKTsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQogCW1jYnNwW2lkXS5kbWFfcnhfbGNoID0gZG1hX3J4X2NoOwogCi0JREJHKCJSWCBETUEgb24gY2hhbm5lbCAlZFxuIiwgZG1hX3J4X2NoKTsKKwlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIFJYIERNQSBvbiBjaGFubmVsICVkXG4iLCBtY2JzcFtpZF0uaWQsCisJCWRtYV9yeF9jaCk7CiAKIAlpbml0X2NvbXBsZXRpb24oJihtY2JzcFtpZF0ucnhfZG1hX2NvbXBsZXRpb24pKTsKIApAQCAtNzUyLDE0ICs3MDAsMTQgQEAKIAkJc3JjX3BvcnQgPSBPTUFQX0RNQV9QT1JUX1RJUEI7CiAJCWRlc3RfcG9ydCA9IE9NQVBfRE1BX1BPUlRfRU1JRkY7CiAJfQotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXN5bmNfZGV2ID0gbWNic3BbaWRdLmRtYV9yeF9zeW5jOwogCiAJb21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3J4X2xjaCwKLQkJCQkgICAgIE9NQVBfRE1BX0RBVEFfVFlQRV9TMTYsCi0JCQkJICAgICBsZW5ndGggPj4gMSwgMSwKLQkJCQkgICAgIE9NQVBfRE1BX1NZTkNfRUxFTUVOVCwKLQkgc3luY19kZXYsIDApOworCQkJCQlPTUFQX0RNQV9EQVRBX1RZUEVfUzE2LAorCQkJCQlsZW5ndGggPj4gMSwgMSwKKwkJCQkJT01BUF9ETUFfU1lOQ19FTEVNRU5ULAorCQkJCQlzeW5jX2RldiwgMCk7CiAKIAlvbWFwX3NldF9kbWFfc3JjX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3J4X2xjaCwKIAkJCQlzcmNfcG9ydCwKQEAgLTc2OCwxNiArNzE2LDE3IEBACiAJCQkJMCwgMCk7CiAKIAlvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMobWNic3BbaWRdLmRtYV9yeF9sY2gsCi0JCQkJIGRlc3RfcG9ydCwKLQkJCQkgT01BUF9ETUFfQU1PREVfUE9TVF9JTkMsCi0JCQkJIGJ1ZmZlciwKLQkJCQkgMCwgMCk7CisJCQkJCWRlc3RfcG9ydCwKKwkJCQkJT01BUF9ETUFfQU1PREVfUE9TVF9JTkMsCisJCQkJCWJ1ZmZlciwKKwkJCQkJMCwgMCk7CiAKIAlvbWFwX3N0YXJ0X2RtYShtY2JzcFtpZF0uZG1hX3J4X2xjaCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS5yeF9kbWFfY29tcGxldGlvbikpOworCiAJcmV0dXJuIDA7CiB9Ci0KK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9yZWN2X2J1ZmZlcik7CiAKIC8qCiAgKiBTUEkgd3JhcHBlci4KQEAgLTc4NSwxMiArNzM0LDE1IEBACiAgKiB0aGlzIHdyYXBwZXIganVzdCBuZWVkIGFuIG9tYXBfbWNic3Bfc3BpX2NmZyBzdHJ1Y3R1cmUgYXMgYW4gaW5wdXQuCiAgKiBPbmNlIHRoaXMgaXMgZG9uZSwgeW91IGNhbiBjYWxsIG9tYXBfbWNic3Bfc3RhcnQoKS4KICAqLwotdm9pZCBvbWFwX21jYnNwX3NldF9zcGlfbW9kZSh1bnNpZ25lZCBpbnQgaWQsIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX3NwaV9jZmcgKiBzcGlfY2ZnKQordm9pZCBvbWFwX21jYnNwX3NldF9zcGlfbW9kZSh1bnNpZ25lZCBpbnQgaWQsCisJCQkJY29uc3Qgc3RydWN0IG9tYXBfbWNic3Bfc3BpX2NmZyAqc3BpX2NmZykKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnIG1jYnNwX2NmZzsKIAotCWlmIChvbWFwX21jYnNwX2NoZWNrKGlkKSA8IDApCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOwogCQlyZXR1cm47CisJfQogCiAJbWVtc2V0KCZtY2JzcF9jZmcsIDAsIHNpemVvZihzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnKSk7CiAKQEAgLTc5OCw3ICs3NTAsNyBAQAogCW1jYnNwX2NmZy5yY3IxIHw9IChSV0RMRU4xKHNwaV9jZmctPndvcmRfbGVuZ3RoKSB8IFJGUkxFTjEoMCkpOwogCW1jYnNwX2NmZy54Y3IxIHw9IChYV0RMRU4xKHNwaV9jZmctPndvcmRfbGVuZ3RoKSB8IFhGUkxFTjEoMCkpOwogCi0gICAgICAgIC8qIENsb2NrIHN0b3AgbW9kZSAqLworCS8qIENsb2NrIHN0b3AgbW9kZSAqLwogCWlmIChzcGlfY2ZnLT5jbGtfc3RwX21vZGUgPT0gT01BUF9NQ0JTUF9DTEtfU1RQX01PREVfTk9fREVMQVkpCiAJCW1jYnNwX2NmZy5zcGNyMSB8PSAoMSA8PCAxMik7CiAJZWxzZQpAQCAtODI3LDEzICs3NzksMTIgQEAKIAogCWlmIChzcGlfY2ZnLT5zcGlfbW9kZSA9PSBPTUFQX01DQlNQX1NQSV9NQVNURVIpIHsKIAkJbWNic3BfY2ZnLnBjcjAgfD0gQ0xLWE07Ci0JCW1jYnNwX2NmZy5zcmdyMSB8PSBDTEtHRFYoc3BpX2NmZy0+Y2xrX2RpdiAtMSk7CisJCW1jYnNwX2NmZy5zcmdyMSB8PSBDTEtHRFYoc3BpX2NmZy0+Y2xrX2RpdiAtIDEpOwogCQltY2JzcF9jZmcucGNyMCB8PSBGU1hNOwogCQltY2JzcF9jZmcuc3JncjIgJj0gfkZTR007CiAJCW1jYnNwX2NmZy54Y3IyIHw9IFhEQVRETFkoMSk7CiAJCW1jYnNwX2NmZy5yY3IyIHw9IFJEQVRETFkoMSk7Ci0JfQotCWVsc2UgeworCX0gZWxzZSB7CiAJCW1jYnNwX2NmZy5wY3IwICY9IH5DTEtYTTsKIAkJbWNic3BfY2ZnLnNyZ3IxIHw9IENMS0dEVigxKTsKIAkJbWNic3BfY2ZnLnBjcjAgJj0gfkZTWE07CkBAIC04NDYsMTk5ICs3OTcsOTkgQEAKIAogCW9tYXBfbWNic3BfY29uZmlnKGlkLCAmbWNic3BfY2ZnKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NldF9zcGlfbW9kZSk7CiAKIC8qCiAgKiBNY0JTUDEgYW5kIE1jQlNQMyBhcmUgZGlyZWN0bHkgbWFwcGVkIG9uIDE2MTAgYW5kIDE1MTAuCiAgKiA3MzAgaGFzIG9ubHkgMiBNY0JTUCwgYW5kIGJvdGggb2YgdGhlbSBhcmUgTVBVIHBlcmlwaGVyYWxzLgogICovCi1zdHJ1Y3Qgb21hcF9tY2JzcF9pbmZvIHsKLQl1MzIgdmlydF9iYXNlOwotCXU4IGRtYV9yeF9zeW5jLCBkbWFfdHhfc3luYzsKLQl1MTYgcnhfaXJxLCB0eF9pcnE7Ci19OwotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDczMAotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfNzMwW10gPSB7Ci0JWzBdID0geyAudmlydF9iYXNlID0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AxX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF83MzBfTWNCU1AxUlgsCi0JCS50eF9pcnEgPSBJTlRfNzMwX01jQlNQMVRYIH0sCi0JWzFdID0geyAudmlydF9iYXNlID0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AyX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19UWCwKLQkJLnJ4X2lycSA9IElOVF83MzBfTWNCU1AyUlgsCi0JCS50eF9pcnEgPSBJTlRfNzMwX01jQlNQMlRYIH0sCi19OwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMTUxMFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IE9NQVAxNTEwX01DQlNQMV9CQVNFLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF9NY0JTUDFSWCwKLQkJLnR4X2lycSA9IElOVF9NY0JTUDFUWCB9LAotCVsxXSA9IHsgLnZpcnRfYmFzZSA9IGlvX3AydihPTUFQMTUxMF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQMl9SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AyX1RYLAotCQkucnhfaXJxID0gSU5UXzE1MTBfU1BJX1JYLAotCQkudHhfaXJxID0gSU5UXzE1MTBfU1BJX1RYIH0sCi0JWzJdID0geyAudmlydF9iYXNlID0gT01BUDE1MTBfTUNCU1AzX0JBU0UsCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AzX1RYLAotCQkucnhfaXJxID0gSU5UX01jQlNQM1JYLAotCQkudHhfaXJxID0gSU5UX01jQlNQM1RYIH0sCi19OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNlhYKQotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMTYxMFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IE9NQVAxNjEwX01DQlNQMV9CQVNFLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF9NY0JTUDFSWCwKLQkJLnR4X2lycSA9IElOVF9NY0JTUDFUWCB9LAotCVsxXSA9IHsgLnZpcnRfYmFzZSA9IGlvX3AydihPTUFQMTYxMF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQMl9SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AyX1RYLAotCQkucnhfaXJxID0gSU5UXzE2MTBfTWNCU1AyX1JYLAotCQkudHhfaXJxID0gSU5UXzE2MTBfTWNCU1AyX1RYIH0sCi0JWzJdID0geyAudmlydF9iYXNlID0gT01BUDE2MTBfTUNCU1AzX0JBU0UsCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AzX1RYLAotCQkucnhfaXJxID0gSU5UX01jQlNQM1JYLAotCQkudHhfaXJxID0gSU5UX01jQlNQM1RYIH0sCi19OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNFhYKQotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMjR4eFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IElPX0FERFJFU1MoT01BUDI0WFhfTUNCU1AxX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYLAotCQkuZG1hX3R4X3N5bmMgPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYLAotCQkucnhfaXJxID0gSU5UXzI0WFhfTUNCU1AxX0lSUV9SWCwKLQkJLnR4X2lycSA9IElOVF8yNFhYX01DQlNQMV9JUlFfVFgsCi0JCX0sCi0JWzFdID0geyAudmlydF9iYXNlID0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgsCi0JCS5yeF9pcnEgPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1JYLAotCQkudHhfaXJxID0gSU5UXzI0WFhfTUNCU1AyX0lSUV9UWCwKLQkJfSwKLX07Ci0jZW5kaWYKLQotc3RhdGljIGludCBfX2luaXQgb21hcF9tY2JzcF9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBvbWFwX21jYnNwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0JaW50IG1jYnNwX2NvdW50ID0gMCwgaTsKLQlzdGF0aWMgY29uc3Qgc3RydWN0IG9tYXBfbWNic3BfaW5mbyAqbWNic3BfaW5mbzsKKwlzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCWludCBpZCA9IHBkZXYtPmlkIC0gMTsKKwlpbnQgcmV0ID0gMDsKIAotCXByaW50aygiSW5pdGlhbGl6aW5nIE9NQVAgTWNCU1Agc3lzdGVtXG4iKTsKKwlpZiAoIXBkYXRhKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgIk1jQlNQIGRldmljZSBpbml0aWFsaXplZCB3aXRob3V0IgorCQkJCSJwbGF0Zm9ybSBkYXRhXG4iKTsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KIAotI2lmZGVmIENPTkZJR19BUkNIX09NQVAxCi0JbWNic3BfZHNwX2NrID0gY2xrX2dldCgwLCAiZHNwX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9kc3BfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGRzcF9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfZHNwX2NrKTsKLQl9Ci0JbWNic3BfYXBpX2NrID0gY2xrX2dldCgwLCAiYXBpX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9hcGlfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGFwaV9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfYXBpX2NrKTsKLQl9Ci0JbWNic3BfZHNweG9yX2NrID0gY2xrX2dldCgwLCAiZHNweG9yX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9kc3B4b3JfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGRzcHhvcl9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfZHNweG9yX2NrKTsKLQl9Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMgotCW1jYnNwMV9pY2sgPSBjbGtfZ2V0KDAsICJtY2JzcDFfaWNrIik7Ci0JaWYgKElTX0VSUihtY2JzcDFfaWNrKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1jYnNwOiBjb3VsZCBub3QgYWNxdWlyZSBtY2JzcDFfaWNrIGhhbmRsZS5cbiIpOwotCQlyZXR1cm4gUFRSX0VSUihtY2JzcDFfaWNrKTsKLQl9Ci0JbWNic3AxX2ZjayA9IGNsa19nZXQoMCwgIm1jYnNwMV9mY2siKTsKLQlpZiAoSVNfRVJSKG1jYnNwMV9mY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIG1jYnNwMV9mY2sgaGFuZGxlLlxuIik7Ci0JCXJldHVybiBQVFJfRVJSKG1jYnNwMV9mY2spOwotCX0KLQltY2JzcDJfaWNrID0gY2xrX2dldCgwLCAibWNic3AyX2ljayIpOwotCWlmIChJU19FUlIobWNic3AyX2ljaykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJtY2JzcDogY291bGQgbm90IGFjcXVpcmUgbWNic3AyX2ljayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3AyX2ljayk7Ci0JfQotCW1jYnNwMl9mY2sgPSBjbGtfZ2V0KDAsICJtY2JzcDJfZmNrIik7Ci0JaWYgKElTX0VSUihtY2JzcDJfZmNrKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1jYnNwOiBjb3VsZCBub3QgYWNxdWlyZSBtY2JzcDJfZmNrIGhhbmRsZS5cbiIpOwotCQlyZXR1cm4gUFRSX0VSUihtY2JzcDJfZmNrKTsKLQl9Ci0jZW5kaWYKKwlkZXZfZGJnKCZwZGV2LT5kZXYsICJJbml0aWFsaXppbmcgT01BUCBNY0JTUCAoJWQpLlxuIiwgcGRldi0+aWQpOwogCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDczMAotCWlmIChjcHVfaXNfb21hcDczMCgpKSB7Ci0JCW1jYnNwX2luZm8gPSBtY2JzcF83MzA7Ci0JCW1jYnNwX2NvdW50ID0gQVJSQVlfU0laRShtY2JzcF83MzApOworCWlmIChpZCA+PSBPTUFQX01BWF9NQ0JTUF9DT1VOVCkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJJbnZhbGlkIE1jQlNQIGRldmljZSBpZCAoJWQpXG4iLCBpZCk7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gZXhpdDsKIAl9Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAotCWlmIChjcHVfaXNfb21hcDE1eHgoKSkgewotCQltY2JzcF9pbmZvID0gbWNic3BfMTUxMDsKLQkJbWNic3BfY291bnQgPSBBUlJBWV9TSVpFKG1jYnNwXzE1MTApOwotCX0KLSNlbmRpZgotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDE2WFgpCi0JaWYgKGNwdV9pc19vbWFwMTZ4eCgpKSB7Ci0JCW1jYnNwX2luZm8gPSBtY2JzcF8xNjEwOwotCQltY2JzcF9jb3VudCA9IEFSUkFZX1NJWkUobWNic3BfMTYxMCk7Ci0JfQotI2VuZGlmCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjRYWCkKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJbWNic3BfaW5mbyA9IG1jYnNwXzI0eHg7Ci0JCW1jYnNwX2NvdW50ID0gQVJSQVlfU0laRShtY2JzcF8yNHh4KTsKLQkJb21hcDJfbWNic3AyX211eF9zZXR1cCgpOwotCX0KLSNlbmRpZgotCWZvciAoaSA9IDA7IGkgPCBPTUFQX01BWF9NQ0JTUF9DT1VOVCA7IGkrKykgewotCQlpZiAoaSA+PSBtY2JzcF9jb3VudCkgewotCQkJbWNic3BbaV0uaW9fYmFzZSA9IDA7Ci0JCQltY2JzcFtpXS5mcmVlID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCQl9Ci0JCW1jYnNwW2ldLmlkID0gaSArIDE7Ci0JCW1jYnNwW2ldLmZyZWUgPSAxOwotCQltY2JzcFtpXS5kbWFfdHhfbGNoID0gLTE7Ci0JCW1jYnNwW2ldLmRtYV9yeF9sY2ggPSAtMTsKIAotCQltY2JzcFtpXS5pb19iYXNlID0gbWNic3BfaW5mb1tpXS52aXJ0X2Jhc2U7Ci0JCW1jYnNwW2ldLmlvX3R5cGUgPSBPTUFQX01DQlNQX0lSUV9JTzsgLyogRGVmYXVsdCBJL08gaXMgSVJRIGJhc2VkICovCi0JCW1jYnNwW2ldLnR4X2lycSA9IG1jYnNwX2luZm9baV0udHhfaXJxOwotCQltY2JzcFtpXS5yeF9pcnEgPSBtY2JzcF9pbmZvW2ldLnJ4X2lycTsKLQkJbWNic3BbaV0uZG1hX3J4X3N5bmMgPSBtY2JzcF9pbmZvW2ldLmRtYV9yeF9zeW5jOwotCQltY2JzcFtpXS5kbWFfdHhfc3luYyA9IG1jYnNwX2luZm9baV0uZG1hX3R4X3N5bmM7Ci0JCXNwaW5fbG9ja19pbml0KCZtY2JzcFtpXS5sb2NrKTsKKwlzcGluX2xvY2tfaW5pdCgmbWNic3BbaWRdLmxvY2spOworCW1jYnNwW2lkXS5pZCA9IGlkICsgMTsKKwltY2JzcFtpZF0uZnJlZSA9IDE7CisJbWNic3BbaWRdLmRtYV90eF9sY2ggPSAtMTsKKwltY2JzcFtpZF0uZG1hX3J4X2xjaCA9IC0xOworCisJbWNic3BbaWRdLmlvX2Jhc2UgPSBwZGF0YS0+dmlydF9iYXNlOworCS8qIERlZmF1bHQgSS9PIGlzIElSUSBiYXNlZCAqLworCW1jYnNwW2lkXS5pb190eXBlID0gT01BUF9NQ0JTUF9JUlFfSU87CisJbWNic3BbaWRdLnR4X2lycSA9IHBkYXRhLT50eF9pcnE7CisJbWNic3BbaWRdLnJ4X2lycSA9IHBkYXRhLT5yeF9pcnE7CisJbWNic3BbaWRdLmRtYV9yeF9zeW5jID0gcGRhdGEtPmRtYV9yeF9zeW5jOworCW1jYnNwW2lkXS5kbWFfdHhfc3luYyA9IHBkYXRhLT5kbWFfdHhfc3luYzsKKworCWlmIChwZGF0YS0+Y2xrX25hbWUpCisJCW1jYnNwW2lkXS5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsIHBkYXRhLT5jbGtfbmFtZSk7CisJaWYgKElTX0VSUihtY2JzcFtpZF0uY2xrKSkgeworCQltY2JzcFtpZF0uZnJlZSA9IDA7CisJCWRldl9lcnIoJnBkZXYtPmRldiwKKwkJCSJJbnZhbGlkIGNsb2NrIGNvbmZpZ3VyYXRpb24gZm9yIE1jQlNQJWQuXG4iLAorCQkJbWNic3BbaWRdLmlkKTsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KKworCW1jYnNwW2lkXS5wZGF0YSA9IHBkYXRhOworCW1jYnNwW2lkXS5kZXYgPSAmcGRldi0+ZGV2OworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsICZtY2JzcFtpZF0pOworCitleGl0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3AgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCWlmIChtY2JzcCkgeworCisJCWlmIChtY2JzcC0+cGRhdGEgJiYgbWNic3AtPnBkYXRhLT5vcHMgJiYKKwkJCQltY2JzcC0+cGRhdGEtPm9wcy0+ZnJlZSkKKwkJCW1jYnNwLT5wZGF0YS0+b3BzLT5mcmVlKG1jYnNwLT5pZCk7CisKKwkJY2xrX2Rpc2FibGUobWNic3AtPmNsayk7CisJCWNsa19wdXQobWNic3AtPmNsayk7CisKKwkJbWNic3AtPmNsayA9IE5VTEw7CisJCW1jYnNwLT5mcmVlID0gMDsKKwkJbWNic3AtPmRldiA9IE5VTEw7CiAJfQogCiAJcmV0dXJuIDA7CiB9CiAKLWFyY2hfaW5pdGNhbGwob21hcF9tY2JzcF9pbml0KTsKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG9tYXBfbWNic3BfZHJpdmVyID0geworCS5wcm9iZQkJPSBvbWFwX21jYnNwX3Byb2JlLAorCS5yZW1vdmUJCT0gb21hcF9tY2JzcF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gIm9tYXAtbWNic3AiLAorCX0sCit9OwogCi1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfY29uZmlnKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9yZXF1ZXN0KTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9zZXRfaW9fdHlwZSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfZnJlZSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3Bfc3RhcnQpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0b3ApOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3BvbGxyZWFkKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9wb2xsd3JpdGUpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3htaXRfd29yZCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVjdl93b3JkKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF94bWl0X2J1ZmZlcik7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVjdl9idWZmZXIpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NldF9zcGlfbW9kZSk7CitpbnQgX19pbml0IG9tYXBfbWNic3BfaW5pdCh2b2lkKQoreworCS8qIFJlZ2lzdGVyIHRoZSBNY0JTUCBkcml2ZXIgKi8KKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZvbWFwX21jYnNwX2RyaXZlcik7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvc3JhbS5jCmluZGV4IDFmMjNmMDQuLjU1NGVlNTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL3NyYW0uYwpAQCAtMTAsNiArMTAsNyBAQAogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKICAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICovCisjdW5kZWYgREVCVUcKIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpAQCAtMjQsMjUgKzI1LDQzIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAKKyNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQorIyBpbmNsdWRlICIuLi9tYWNoLW9tYXAyL3BybS5oIgorIyBpbmNsdWRlICIuLi9tYWNoLW9tYXAyL2NtLmgiCisjIGluY2x1ZGUgIi4uL21hY2gtb21hcDIvc2RyYy5oIgorI2VuZGlmCisKICNkZWZpbmUgT01BUDFfU1JBTV9QQQkJMHgyMDAwMDAwMAotI2RlZmluZSBPTUFQMV9TUkFNX1ZBCQkweGQwMDAwMDAwCisjZGVmaW5lIE9NQVAxX1NSQU1fVkEJCVZNQUxMT0NfRU5ECiAjZGVmaW5lIE9NQVAyX1NSQU1fUEEJCTB4NDAyMDAwMDAKICNkZWZpbmUgT01BUDJfU1JBTV9QVUJfUEEJMHg0MDIwZjgwMAotI2RlZmluZSBPTUFQMl9TUkFNX1ZBCQkweGQwMDAwMDAwCi0jZGVmaW5lIE9NQVAyX1NSQU1fUFVCX1ZBCTB4ZDAwMDA4MDAKKyNkZWZpbmUgT01BUDJfU1JBTV9WQQkJVk1BTExPQ19FTkQKKyNkZWZpbmUgT01BUDJfU1JBTV9QVUJfVkEJKFZNQUxMT0NfRU5EICsgMHg4MDApCisjZGVmaW5lIE9NQVAzX1NSQU1fUEEgICAgICAgICAgIDB4NDAyMDAwMDAKKyNkZWZpbmUgT01BUDNfU1JBTV9WQSAgICAgICAgICAgMHhkNzAwMDAwMAorI2RlZmluZSBPTUFQM19TUkFNX1BVQl9QQSAgICAgICAweDQwMjA4MDAwCisjZGVmaW5lIE9NQVAzX1NSQU1fUFVCX1ZBICAgICAgIDB4ZDcwMDgwMDAKIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0WFgpCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjRYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzRYWCkKICNkZWZpbmUgU1JBTV9CT09UTE9BREVSX1NaCTB4MDAKICNlbHNlCiAjZGVmaW5lIFNSQU1fQk9PVExPQURFUl9TWgkweDgwCiAjZW5kaWYKIAotI2RlZmluZSBWQV9SRVFJTkZPUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAwNTA0OCkKLSNkZWZpbmUgVkFfUkVBRFBFUk0wCQlJT19BRERSRVNTKDB4NjgwMDUwNTApCi0jZGVmaW5lIFZBX1dSSVRFUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAwNTA1OCkKLSNkZWZpbmUgVkFfQ09OVFJPTF9TVEFUCQlJT19BRERSRVNTKDB4NDgwMDAyRjgpCisjZGVmaW5lIE9NQVAyNFhYX1ZBX1JFUUlORk9QRVJNMAlJT19BRERSRVNTKDB4NjgwMDUwNDgpCisjZGVmaW5lIE9NQVAyNFhYX1ZBX1JFQURQRVJNMAkJSU9fQUREUkVTUygweDY4MDA1MDUwKQorI2RlZmluZSBPTUFQMjRYWF9WQV9XUklURVBFUk0wCQlJT19BRERSRVNTKDB4NjgwMDUwNTgpCisKKyNkZWZpbmUgT01BUDM0WFhfVkFfUkVRSU5GT1BFUk0wCUlPX0FERFJFU1MoMHg2ODAxMjg0OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfUkVBRFBFUk0wCQlJT19BRERSRVNTKDB4NjgwMTI4NTApCisjZGVmaW5lIE9NQVAzNFhYX1ZBX1dSSVRFUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAxMjg1OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfQUREUl9NQVRDSDIJCUlPX0FERFJFU1MoMHg2ODAxMjg4MCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfU01TX1JHX0FUVDAJCUlPX0FERFJFU1MoMHg2QzAwMDA0OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfQ09OVFJPTF9TVEFUCUlPX0FERFJFU1MoMHg0ODAwMjJGMCkKKwogI2RlZmluZSBHUF9ERVZJQ0UJCTB4MzAwCi0jZGVmaW5lIFRZUEVfTUFTSwkJMHg3MDAKIAogI2RlZmluZSBST1VORF9ET1dOKHZhbHVlLGJvdW5kYXJ5KQkoKHZhbHVlKSAmICh+KChib3VuZGFyeSktMSkpKQogCkBAIC02OCwxNCArODcsMjEgQEAKIAlpbnQgdHlwZSA9IDA7CiAKIAlpZiAoY3B1X2lzX29tYXAyNDJ4KCkpCi0JCXR5cGUgPSBfX3Jhd19yZWFkbChWQV9DT05UUk9MX1NUQVQpICYgVFlQRV9NQVNLOworCQl0eXBlID0gc3lzdGVtX3JldiAmIE9NQVAyX0RFVklDRVRZUEVfTUFTSzsKIAogCWlmICh0eXBlID09IEdQX0RFVklDRSkgewogCQkvKiBSQU1GVzogUi9XIGFjY2VzcyB0byBhbGwgaW5pdGlhdG9ycyBmb3IgYWxsIHF1YWxpZmllciBzZXRzICovCiAJCWlmIChjcHVfaXNfb21hcDI0MngoKSkgewotCQkJX19yYXdfd3JpdGVsKDB4RkYsIFZBX1JFUUlORk9QRVJNMCk7IC8qIGFsbCBxLXZlY3RzICovCi0JCQlfX3Jhd193cml0ZWwoMHhDRkRFLCBWQV9SRUFEUEVSTTApOyAgLyogYWxsIGktcmVhZCAqLwotCQkJX19yYXdfd3JpdGVsKDB4Q0ZERSwgVkFfV1JJVEVQRVJNMCk7IC8qIGFsbCBpLXdyaXRlICovCisJCQlfX3Jhd193cml0ZWwoMHhGRiwgT01BUDI0WFhfVkFfUkVRSU5GT1BFUk0wKTsgLyogYWxsIHEtdmVjdHMgKi8KKwkJCV9fcmF3X3dyaXRlbCgweENGREUsIE9NQVAyNFhYX1ZBX1JFQURQRVJNMCk7ICAvKiBhbGwgaS1yZWFkICovCisJCQlfX3Jhd193cml0ZWwoMHhDRkRFLCBPTUFQMjRYWF9WQV9XUklURVBFUk0wKTsgLyogYWxsIGktd3JpdGUgKi8KKwkJfQorCQlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJCV9fcmF3X3dyaXRlbCgweEZGRkYsIE9NQVAzNFhYX1ZBX1JFUUlORk9QRVJNMCk7IC8qIGFsbCBxLXZlY3RzICovCisJCQlfX3Jhd193cml0ZWwoMHhGRkZGLCBPTUFQMzRYWF9WQV9SRUFEUEVSTTApOyAgLyogYWxsIGktcmVhZCAqLworCQkJX19yYXdfd3JpdGVsKDB4RkZGRiwgT01BUDM0WFhfVkFfV1JJVEVQRVJNMCk7IC8qIGFsbCBpLXdyaXRlICovCisJCQlfX3Jhd193cml0ZWwoMHgwLCBPTUFQMzRYWF9WQV9BRERSX01BVENIMik7CisJCQlfX3Jhd193cml0ZWwoMHhGRkZGRkZGRiwgT01BUDM0WFhfVkFfU01TX1JHX0FUVDApOwogCQl9CiAJCXJldHVybiAwOwogCX0gZWxzZQpAQCAtOTIsMTggKzExOCwzMCBAQAogewogCXVuc2lnbmVkIGxvbmcgcmVzZXJ2ZWQ7CiAKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJaWYgKGlzX3NyYW1fbG9ja2VkKCkpIHsKLQkJCW9tYXBfc3JhbV9iYXNlID0gT01BUDJfU1JBTV9QVUJfVkE7Ci0JCQlvbWFwX3NyYW1fc3RhcnQgPSBPTUFQMl9TUkFNX1BVQl9QQTsKLQkJCW9tYXBfc3JhbV9zaXplID0gMHg4MDA7IC8qIDJLICovCisJCQlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJCQlvbWFwX3NyYW1fYmFzZSA9IE9NQVAzX1NSQU1fUFVCX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAzX1NSQU1fUFVCX1BBOworCQkJCW9tYXBfc3JhbV9zaXplID0gMHg4MDAwOyAvKiAzMksgKi8KKwkJCX0gZWxzZSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1BVQl9WQTsKKwkJCQlvbWFwX3NyYW1fc3RhcnQgPSBPTUFQMl9TUkFNX1BVQl9QQTsKKwkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4ODAwOyAvKiAySyAqLworCQkJfQogCQl9IGVsc2UgewotCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1ZBOwotCQkJb21hcF9zcmFtX3N0YXJ0ID0gT01BUDJfU1JBTV9QQTsKLQkJCWlmIChjcHVfaXNfb21hcDI0MngoKSkKLQkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4YTAwMDA7IC8qIDY0MEsgKi8KLQkJCWVsc2UgaWYgKGNwdV9pc19vbWFwMjQzeCgpKQorCQkJaWYgKGNwdV9pc19vbWFwMzR4eCgpKSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQM19TUkFNX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAzX1NSQU1fUEE7CiAJCQkJb21hcF9zcmFtX3NpemUgPSAweDEwMDAwOyAvKiA2NEsgKi8KKwkJCX0gZWxzZSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAyX1NSQU1fUEE7CisJCQkJaWYgKGNwdV9pc19vbWFwMjQyeCgpKQorCQkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4YTAwMDA7IC8qIDY0MEsgKi8KKwkJCQllbHNlIGlmIChjcHVfaXNfb21hcDI0M3goKSkKKwkJCQkJb21hcF9zcmFtX3NpemUgPSAweDEwMDAwOyAvKiA2NEsgKi8KKwkJCX0KIAkJfQogCX0gZWxzZSB7CiAJCW9tYXBfc3JhbV9iYXNlID0gT01BUDFfU1JBTV9WQTsKQEAgLTE1Nyw2ICsxOTUsMTMgQEAKIAkJb21hcF9zcmFtX2lvX2Rlc2NbMF0ucGZuID0gX19waHlzX3RvX3BmbihiYXNlKTsKIAl9CiAKKwlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJb21hcF9zcmFtX2lvX2Rlc2NbMF0udmlydHVhbCA9IE9NQVAzX1NSQU1fVkE7CisJCWJhc2UgPSBPTUFQM19TUkFNX1BBOworCQliYXNlID0gUk9VTkRfRE9XTihiYXNlLCBQQUdFX1NJWkUpOworCQlvbWFwX3NyYW1faW9fZGVzY1swXS5wZm4gPSBfX3BoeXNfdG9fcGZuKGJhc2UpOworCX0KKwogCW9tYXBfc3JhbV9pb19kZXNjWzBdLmxlbmd0aCA9IDEwMjQgKiAxMDI0OwkvKiBVc2Ugc2VjdGlvbiBkZXNjICovCiAJaW90YWJsZV9pbml0KG9tYXBfc3JhbV9pb19kZXNjLCBBUlJBWV9TSVpFKG9tYXBfc3JhbV9pb19kZXNjKSk7CiAKQEAgLTE5MSw2ICsyMzYsNyBAQAogCW9tYXBfc3JhbV9jZWlsIC09IHNpemU7CiAJb21hcF9zcmFtX2NlaWwgPSBST1VORF9ET1dOKG9tYXBfc3JhbV9jZWlsLCBzaXplb2Yodm9pZCAqKSk7CiAJbWVtY3B5KCh2b2lkICopb21hcF9zcmFtX2NlaWwsIHN0YXJ0LCBzaXplKTsKKwlmbHVzaF9pY2FjaGVfcmFuZ2UoKHVuc2lnbmVkIGxvbmcpc3RhcnQsICh1bnNpZ25lZCBsb25nKShzdGFydCArIHNpemUpKTsKIAogCXJldHVybiAodm9pZCAqKW9tYXBfc3JhbV9jZWlsOwogfQpAQCAtMjE0LDggKzI2MCw5IEBACiAKIGludCBfX2luaXQgb21hcDFfc3JhbV9pbml0KHZvaWQpCiB7Ci0JX29tYXBfc3JhbV9yZXByb2dyYW1fY2xvY2sgPSBvbWFwX3NyYW1fcHVzaChzcmFtX3JlcHJvZ3JhbV9jbG9jaywKLQkJCQkJCSAgICBzcmFtX3JlcHJvZ3JhbV9jbG9ja19zeik7CisJX29tYXBfc3JhbV9yZXByb2dyYW1fY2xvY2sgPQorCQkJb21hcF9zcmFtX3B1c2gob21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2ssCisJCQkJCW9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6KTsKIAogCXJldHVybiAwOwogfQpAQCAtMjI0LDcgKzI3MSw3IEBACiAjZGVmaW5lIG9tYXAxX3NyYW1faW5pdCgpCWRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMgorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDIpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpCiAKIHN0YXRpYyB2b2lkICgqX29tYXAyX3NyYW1fZGRyX2luaXQpKHUzMiAqc2xvd19kbGxfY3RybCwgdTMyIGZhc3RfZGxsX2N0cmwsCiAJCQkgICAgICB1MzIgYmFzZV9jcywgdTMyIGZvcmNlX3VubG9jayk7CkBAIC0yNTksMTkgKzMwNiwxMDkgQEAKIAogCXJldHVybiBfb21hcDJfc2V0X3ByY20oZHBsbF9jdHJsX3ZhbCwgc2RyY19yZnJfdmFsLCBieXBhc3MpOwogfQorI2VuZGlmCiAKLWludCBfX2luaXQgb21hcDJfc3JhbV9pbml0KHZvaWQpCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDI0MjAKK2ludCBfX2luaXQgb21hcDI0Mnhfc3JhbV9pbml0KHZvaWQpCiB7Ci0JX29tYXAyX3NyYW1fZGRyX2luaXQgPSBvbWFwX3NyYW1fcHVzaChzcmFtX2Rkcl9pbml0LCBzcmFtX2Rkcl9pbml0X3N6KTsKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAyNDJ4X3NyYW1fZGRyX2luaXRfc3opOwogCi0JX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChzcmFtX3JlcHJvZ3JhbV9zZHJjLAotCQkJCQkJICAgIHNyYW1fcmVwcm9ncmFtX3NkcmNfc3opOwotCV9vbWFwMl9zZXRfcHJjbSA9IG9tYXBfc3JhbV9wdXNoKHNyYW1fc2V0X3ByY20sIHNyYW1fc2V0X3ByY21fc3opOworCV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9zZHJjID0gb21hcF9zcmFtX3B1c2gob21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyYywKKwkJCQkJICAgIG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3opOworCisJX29tYXAyX3NldF9wcmNtID0gb21hcF9zcmFtX3B1c2gob21hcDI0Mnhfc3JhbV9zZXRfcHJjbSwKKwkJCQkJIG9tYXAyNDJ4X3NyYW1fc2V0X3ByY21fc3opOwogCiAJcmV0dXJuIDA7CiB9CiAjZWxzZQotI2RlZmluZSBvbWFwMl9zcmFtX2luaXQoKQlkbyB7fSB3aGlsZSAoMCkKK3N0YXRpYyBpbmxpbmUgaW50IG9tYXAyNDJ4X3NyYW1faW5pdCh2b2lkKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMjQzMAoraW50IF9faW5pdCBvbWFwMjQzeF9zcmFtX2luaXQodm9pZCkKK3sKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAyNDN4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAyNDN4X3NyYW1fZGRyX2luaXRfc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjLAorCQkJCQkgICAgb21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyY19zeik7CisKKwlfb21hcDJfc2V0X3ByY20gPSBvbWFwX3NyYW1fcHVzaChvbWFwMjQzeF9zcmFtX3NldF9wcmNtLAorCQkJCQkgb21hcDI0M3hfc3JhbV9zZXRfcHJjbV9zeik7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBvbWFwMjQzeF9zcmFtX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDMKKworc3RhdGljIHUzMiAoKl9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jKSh1MzIgcGVyZl9sZXZlbCk7Cit1MzIgb21hcDJfc3JhbV9yZXByb2dyYW1fZ3BtYyh1MzIgcGVyZl9sZXZlbCkKK3sKKwlpZiAoIV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jKQorCQlvbWFwX3NyYW1fZXJyb3IoKTsKKworCXJldHVybiBfb21hcDJfc3JhbV9yZXByb2dyYW1fZ3BtYyhwZXJmX2xldmVsKTsKK30KKworc3RhdGljIHUzMiAoKl9vbWFwMl9zcmFtX2NvbmZpZ3VyZV9jb3JlX2RwbGwpKHUzMiBtLCB1MzIgbiwKKwkJCQkJCXUzMiBmcmVxc2VsLCB1MzIgbTIpOwordTMyIG9tYXAyX3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCh1MzIgbSwgdTMyIG4sIHUzMiBmcmVxc2VsLCB1MzIgbTIpCit7CisJaWYgKCFfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsKQorCQlvbWFwX3NyYW1fZXJyb3IoKTsKKworCXJldHVybiBfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsKG0sIG4sIGZyZXFzZWwsIG0yKTsKK30KKworLyogUkVWSVNJVDogU2hvdWxkIHRoaXMgYmUgc2FtZSBhcyBvbWFwMzR4eF9zcmFtX2luaXQoKSBhZnRlciBvZmYtaWRsZT8gKi8KK3ZvaWQgcmVzdG9yZV9zcmFtX2Z1bmN0aW9ucyh2b2lkKQoreworCW9tYXBfc3JhbV9jZWlsID0gb21hcF9zcmFtX2Jhc2UgKyBvbWFwX3NyYW1fc2l6ZTsKKworCV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jID0gb21hcF9zcmFtX3B1c2gob21hcDM0eHhfc3JhbV9yZXByb2dyYW1fZ3BtYywKKwkJb21hcDM0eHhfc3JhbV9yZXByb2dyYW1fZ3BtY19zeik7CisKKwlfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsID0KKwkJCW9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCwKKwkJCQkJb21hcDM0eHhfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsX3N6KTsKK30KKworaW50IF9faW5pdCBvbWFwMzR4eF9zcmFtX2luaXQodm9pZCkKK3sKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAzNHh4X3NyYW1fZGRyX2luaXRfc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9zZHJjLAorCQkJCQlvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KTsKKworCV9vbWFwMl9zZXRfcHJjbSA9IG9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fc2V0X3ByY20sCisJCQkJCW9tYXAzNHh4X3NyYW1fc2V0X3ByY21fc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX2dwbWMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9ncG1jLAorCQkJCQlvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9ncG1jX3N6KTsKKworCV9vbWFwMl9zcmFtX2NvbmZpZ3VyZV9jb3JlX2RwbGwgPQorCQkJCW9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCwKKwkJCQkJb21hcDM0eHhfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsX3N6KTsKKworCXJldHVybiAwOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IG9tYXAzNHh4X3NyYW1faW5pdCh2b2lkKQoreworCXJldHVybiAwOworfQogI2VuZGlmCiAKIGludCBfX2luaXQgb21hcF9zcmFtX2luaXQodm9pZCkKQEAgLTI3OSwxMCArNDE2LDE0IEBACiAJb21hcF9kZXRlY3Rfc3JhbSgpOwogCW9tYXBfbWFwX3NyYW0oKTsKIAotCWlmICghY3B1X2lzX29tYXAyNHh4KCkpCisJaWYgKCEoY3B1X2NsYXNzX2lzX29tYXAyKCkpKQogCQlvbWFwMV9zcmFtX2luaXQoKTsKLQllbHNlCi0JCW9tYXAyX3NyYW1faW5pdCgpOworCWVsc2UgaWYgKGNwdV9pc19vbWFwMjQyeCgpKQorCQlvbWFwMjQyeF9zcmFtX2luaXQoKTsKKwllbHNlIGlmIChjcHVfaXNfb21hcDI0MzAoKSkKKwkJb21hcDI0M3hfc3JhbV9pbml0KCk7CisJZWxzZSBpZiAoY3B1X2lzX29tYXAzNHh4KCkpCisJCW9tYXAzNHh4X3NyYW1faW5pdCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW9tYXAvdXNiLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvdXNiLmMKaW5kZXggYTYxOTQ3NS4uMjY5OWMxNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL3VzYi5jCisrKyBiL2FyY2gvYXJtL3BsYXQtb21hcC91c2IuYwpAQCAtMSw0ICsxLDQgQEAKLS8qCisgLyoKICAqIGFyY2gvYXJtL3BsYXQtb21hcC91c2IuYyAtLSBwbGF0Zm9ybSBsZXZlbCBVU0IgaW5pdGlhbGl6YXRpb24KICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMsIEluYy4KQEAgLTE1Niw4ICsxNTYsMTIgQEAKIAogCWlmIChud2lyZXMgPT0gMCkgewogCQlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCQl1MzIgbDsKKwogCQkJLyogcHVsbGRvd24gRCsvRC0gKi8KLQkJCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+KDMgPDwgMSk7CisJCQlsID0gb21hcF9yZWFkbChVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCQlsICY9IH4oMyA8PCAxKTsKKwkJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKIAkJfQogCQlyZXR1cm4gMDsKIAl9CkBAIC0xNzEsNiArMTc1LDggQEAKIAogCS8qIGludGVybmFsIHRyYW5zY2VpdmVyICh1bmF2YWlsYWJsZSBvbiAxN3h4LCAyNHh4KSAqLwogCWlmICghY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgbndpcmVzID09IDIpIHsKKwkJdTMyIGw7CisKIAkJLy8gb21hcF9jZmdfcmVnKFA5X1VTQl9EUCk7CiAJCS8vIG9tYXBfY2ZnX3JlZyhSOF9VU0JfRE0pOwogCkBAIC0xODUsOSArMTkxLDExIEBACiAJCSAqICAtIE9URyBzdXBwb3J0IG9uIHRoaXMgcG9ydCBub3QgeWV0IHdyaXR0ZW4KIAkJICovCiAKLQkJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHICY9IH4oNyA8PCA0KTsKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH4oNyA8PCA0KTsKIAkJaWYgKCFpc19kZXZpY2UpCi0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gKDMgPDwgMSk7CisJCQlsIHw9ICgzIDw8IDEpOworCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAKIAkJcmV0dXJuIDMgPDwgMTY7CiAJfQpAQCAtMjE3LDggKzIyNSwxMyBAQAogCSAqIHdpdGggVkJVUyBzd2l0Y2hpbmcgYW5kIG92ZXJjdXJyZW50IGRldGVjdGlvbi4KIAkgKi8KIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiBud2lyZXMgIT0gNikKLQkJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHICY9IH5DT05GX1VTQjJfVU5JX1I7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpICYmIG53aXJlcyAhPSA2KSB7CisJCXUzMiBsOworCisJCWwgPSBvbWFwX3JlYWRsKFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwkJbCAmPSB+Q09ORl9VU0IyX1VOSV9SOworCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJfQogCiAJc3dpdGNoIChud2lyZXMpIHsKIAljYXNlIDM6CkBAIC0yMzgsOSArMjUxLDEzIEBACiAJCQlvbWFwX2NmZ19yZWcoSzIwXzI0WFhfVVNCMF9WTSk7CiAJCQlvbWFwMl91c2JfZGV2Y29uZl9zZXQoMCwgVVNCX1VOSURJUik7CiAJCX0gZWxzZSB7CisJCQl1MzIgbDsKKwogCQkJb21hcF9jZmdfcmVnKEFBOV9VU0IwX1ZQKTsKIAkJCW9tYXBfY2ZnX3JlZyhSOV9VU0IwX1ZNKTsKLQkJCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyB8PSBDT05GX1VTQjJfVU5JX1I7CisJCQlsID0gb21hcF9yZWFkbChVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCQlsIHw9IENPTkZfVVNCMl9VTklfUjsKKwkJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKIAkJfQogCQlicmVhazsKIAlkZWZhdWx0OgpAQCAtMjU0LDggKzI3MSwxMyBAQAogewogCXUzMglzeXNjb24xID0gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpCi0JCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+Q09ORl9VU0IxX1VOSV9SOworCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH5DT05GX1VTQjFfVU5JX1I7CisJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwl9CiAJaWYgKGNwdV9pc19vbWFwMjR4eCgpKQogCQlvbWFwMl91c2JfZGV2Y29uZl9jbGVhcigxLCBVU0JfQklESVJfVExMKTsKIApAQCAtMzE2LDggKzMzOCwxMyBAQAogCQlzeXNjb24xID0gMzsKIAkJb21hcF9jZmdfcmVnKFVTQjFfVlApOwogCQlvbWFwX2NmZ19yZWcoVVNCMV9WTSk7Ci0JCWlmICghY3B1X2lzX29tYXAxNXh4KCkpCi0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gQ09ORl9VU0IxX1VOSV9SOworCQlpZiAoIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCQl1MzIgbDsKKworCQkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQkJbCB8PSBDT05GX1VTQjFfVU5JX1I7CisJCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCX0KIAkJYnJlYWs7CiAJZGVmYXVsdDoKIGJhZDoKQEAgLTM0MCw4ICszNjcsMTMgQEAKIAlpZiAoYWx0X3Bpbmdyb3VwIHx8IG53aXJlcyA9PSAwKQogCQlyZXR1cm4gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpCi0JCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+Q09ORl9VU0IyX1VOSV9SOworCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH5DT05GX1VTQjJfVU5JX1I7CisJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwl9CiAKIAkvKiBleHRlcm5hbCB0cmFuc2NlaXZlciAqLwogCWlmIChjcHVfaXNfb21hcDE1eHgoKSkgewpAQCAtNDEwLDkgKzQ0MiwxMyBAQAogCQkJb21hcF9jZmdfcmVnKFVTQjJfVlApOwogCQkJb21hcF9jZmdfcmVnKFVTQjJfVk0pOwogCQl9IGVsc2UgeworCQkJdTMyIGw7CisKIAkJCW9tYXBfY2ZnX3JlZyhBQTlfVVNCMl9WUCk7CiAJCQlvbWFwX2NmZ19yZWcoUjlfVVNCMl9WTSk7Ci0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gQ09ORl9VU0IyX1VOSV9SOworCQkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQkJbCB8PSBDT05GX1VTQjJfVU5JX1I7CisJCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAJCX0KIAkJYnJlYWs7CiAJZGVmYXVsdDoKQEAgLTUzMSwxMCArNTY3LDYgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotI2RlZmluZSBVTFBEX0NMT0NLX0NUUkxfUkVHCV9fUkVHMTYoVUxQRF9DTE9DS19DVFJMKQotI2RlZmluZSBVTFBEX1NPRlRfUkVRX1JFRwlfX1JFRzE2KFVMUERfU09GVF9SRVEpCi0KLQogLy8gRklYTUUgY29ycmVjdCBhbnN3ZXIgZGVwZW5kcyBvbiBobWNfbW9kZSwKIC8vIGFzIGRvZXMgKG9uIG9tYXAxKSBhbnkgbm9uemVybyB2YWx1ZSBmb3IgY29uZmlnLT5vdGcgcG9ydCBudW1iZXIKICNpZmRlZglDT05GSUdfVVNCX0dBREdFVF9PTUFQCkBAIC01NTAsMTcgKzU4MiwxNyBAQAogdm9pZCBfX2luaXQKIG9tYXBfb3RnX2luaXQoc3RydWN0IG9tYXBfdXNiX2NvbmZpZyAqY29uZmlnKQogewotCXUzMgkJc3lzY29uID0gT1RHX1NZU0NPTl8xX1JFRyAmIDB4ZmZmZjsKKwl1MzIJCXN5c2NvbjsKIAlpbnQJCXN0YXR1czsKIAlpbnQJCWFsdF9waW5ncm91cCA9IDA7CiAKIAkvKiBOT1RFOiAgbm8gYnVzIG9yIGNsb2NrIHNldHVwICh5ZXQ/KSAqLwogCi0Jc3lzY29uID0gT1RHX1NZU0NPTl8xX1JFRyAmIDB4ZmZmZjsKKwlzeXNjb24gPSBvbWFwX3JlYWRsKE9UR19TWVNDT05fMSkgJiAweGZmZmY7CiAJaWYgKCEoc3lzY29uICYgT1RHX1JFU0VUX0RPTkUpKQogCQlwcl9kZWJ1ZygiVVNCIHJlc2V0cyBub3QgY29tcGxldGU/XG4iKTsKIAotCS8vIE9UR19JUlFfRU5fUkVHID0gMDsKKwkvL29tYXBfd3JpdGV3KDAsIE9UR19JUlFfRU4pOwogCiAJLyogcGluIG11eGluZyBhbmQgdHJhbnNjZWl2ZXIgcGlub3V0cyAqLwogCWlmIChjb25maWctPnBpbnNbMF0gPiAyKQkvKiBhbHQgcGluZ3JvdXAgMiAqLwpAQCAtNTY4LDggKzYwMCw4IEBACiAJc3lzY29uIHw9IG9tYXBfdXNiMF9pbml0KGNvbmZpZy0+cGluc1swXSwgaXNfdXNiMF9kZXZpY2UoY29uZmlnKSk7CiAJc3lzY29uIHw9IG9tYXBfdXNiMV9pbml0KGNvbmZpZy0+cGluc1sxXSk7CiAJc3lzY29uIHw9IG9tYXBfdXNiMl9pbml0KGNvbmZpZy0+cGluc1syXSwgYWx0X3Bpbmdyb3VwKTsKLQlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xX1JFRyA9ICUwOHhcbiIsIHN5c2Nvbik7Ci0JT1RHX1NZU0NPTl8xX1JFRyA9IHN5c2NvbjsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzEpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMSk7CiAKIAlzeXNjb24gPSBjb25maWctPmhtY19tb2RlOwogCXN5c2NvbiB8PSBVU0JYX1NZTkNIUk8gfCAoNCA8PCAxNikgLyogQl9BU0UwX0JSU1QgKi87CkBAIC01NzgsOSArNjEwLDEwIEBACiAJCXN5c2NvbiB8PSBPVEdfRU47CiAjZW5kaWYKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCi0JCXByX2RlYnVnKCJVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgPSAlMDN4XG4iLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcpOwotCXByX2RlYnVnKCJPVEdfU1lTQ09OXzJfUkVHID0gJTA4eFxuIiwgc3lzY29uKTsKLQlPVEdfU1lTQ09OXzJfUkVHID0gc3lzY29uOworCQlwcl9kZWJ1ZygiVVNCX1RSQU5TQ0VJVkVSX0NUUkwgPSAlMDN4XG4iLAorCQkJIG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpKTsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8yID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMik7CiAKIAlwcmludGsoIlVTQjogaG1jICVkIiwgY29uZmlnLT5obWNfbW9kZSk7CiAJaWYgKCFhbHRfcGluZ3JvdXApCkBAIC01OTcsMTIgKzYzMCwxOSBAQAogCXByaW50aygiXG4iKTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgeworCQl1MTYgdzsKKwogCQkvKiBsZWF2ZSBVU0IgY2xvY2tzL2NvbnRyb2xsZXJzIG9mZiB1bnRpbCBuZWVkZWQgKi8KLQkJVUxQRF9TT0ZUX1JFUV9SRUcgJj0gflNPRlRfVVNCX0NMS19SRVE7Ci0JCVVMUERfQ0xPQ0tfQ1RSTF9SRUcgJj0gflVTQl9NQ0xLX0VOOwotCQlVTFBEX0NMT0NLX0NUUkxfUkVHIHw9IERJU19VU0JfUFZDSV9DTEs7CisJCXcgPSBvbWFwX3JlYWR3KFVMUERfU09GVF9SRVEpOworCQl3ICY9IH5TT0ZUX1VTQl9DTEtfUkVROworCQlvbWFwX3dyaXRldyh3LCBVTFBEX1NPRlRfUkVRKTsKKworCQl3ID0gb21hcF9yZWFkdyhVTFBEX0NMT0NLX0NUUkwpOworCQl3ICY9IH5VU0JfTUNMS19FTjsKKwkJdyB8PSBESVNfVVNCX1BWQ0lfQ0xLOworCQlvbWFwX3dyaXRldyh3LCBVTFBEX0NMT0NLX0NUUkwpOwogCX0KLQlzeXNjb24gPSBPVEdfU1lTQ09OXzFfUkVHOworCXN5c2NvbiA9IG9tYXBfcmVhZGwoT1RHX1NZU0NPTl8xKTsKIAlzeXNjb24gfD0gSFNUX0lETEVfRU58REVWX0lETEVfRU58T1RHX0lETEVfRU47CiAKICNpZmRlZglDT05GSUdfVVNCX0dBREdFVF9PTUFQCkBAIC02MzksOCArNjc5LDggQEAKIAkJCXByX2RlYnVnKCJjYW4ndCByZWdpc3RlciBPVEcgZGV2aWNlLCAlZFxuIiwgc3RhdHVzKTsKIAl9CiAjZW5kaWYKLQlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xX1JFRyA9ICUwOHhcbiIsIHN5c2Nvbik7Ci0JT1RHX1NZU0NPTl8xX1JFRyA9IHN5c2NvbjsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzEpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMSk7CiAKIAlzdGF0dXMgPSAwOwogfQpAQCAtNjUzLDE4ICs2OTMsMTkgQEAKIAogI2lmZGVmCUNPTkZJR19BUkNIX09NQVAxNVhYCiAKLSNkZWZpbmUgVUxQRF9EUExMX0NUUkxfUkVHCV9fUkVHMTYoVUxQRF9EUExMX0NUUkwpCisvKiBVTFBEX0RQTExfQ1RSTCAqLwogI2RlZmluZSBEUExMX0lPQgkJKDEgPDwgMTMpCiAjZGVmaW5lIERQTExfUExMX0VOQUJMRQkJKDEgPDwgNCkKICNkZWZpbmUgRFBMTF9MT0NLCQkoMSA8PCAwKQogCi0jZGVmaW5lIFVMUERfQVBMTF9DVFJMX1JFRwlfX1JFRzE2KFVMUERfQVBMTF9DVFJMKQorLyogVUxQRF9BUExMX0NUUkwgKi8KICNkZWZpbmUgQVBMTF9ORFBMTF9TV0lUQ0gJKDEgPDwgMCkKIAogCiBzdGF0aWMgdm9pZCBfX2luaXQgb21hcF8xNTEwX3VzYl9pbml0KHN0cnVjdCBvbWFwX3VzYl9jb25maWcgKmNvbmZpZykKIHsKIAl1bnNpZ25lZCBpbnQgdmFsOworCXUxNiB3OwogCiAJb21hcF91c2IwX2luaXQoY29uZmlnLT5waW5zWzBdLCBpc191c2IwX2RldmljZShjb25maWcpKTsKIAlvbWFwX3VzYjFfaW5pdChjb25maWctPnBpbnNbMV0pOwpAQCAtNjg1LDEyICs3MjYsMjIgQEAKIAlwcmludGsoIlxuIik7CiAKIAkvKiB1c2UgRFBMTCBmb3IgNDggTUh6IGZ1bmN0aW9uIGNsb2NrICovCi0JcHJfZGVidWcoIkFQTEwgJTA0eCBEUExMICUwNHggUkVRICUwNHhcbiIsIFVMUERfQVBMTF9DVFJMX1JFRywKLQkJCVVMUERfRFBMTF9DVFJMX1JFRywgVUxQRF9TT0ZUX1JFUV9SRUcpOwotCVVMUERfQVBMTF9DVFJMX1JFRyAmPSB+QVBMTF9ORFBMTF9TV0lUQ0g7Ci0JVUxQRF9EUExMX0NUUkxfUkVHIHw9IERQTExfSU9CIHwgRFBMTF9QTExfRU5BQkxFOwotCVVMUERfU09GVF9SRVFfUkVHIHw9IFNPRlRfVURDX1JFUSB8IFNPRlRfRFBMTF9SRVE7Ci0Jd2hpbGUgKCEoVUxQRF9EUExMX0NUUkxfUkVHICYgRFBMTF9MT0NLKSkKKwlwcl9kZWJ1ZygiQVBMTCAlMDR4IERQTEwgJTA0eCBSRVEgJTA0eFxuIiwgb21hcF9yZWFkdyhVTFBEX0FQTExfQ1RSTCksCisJCQlvbWFwX3JlYWR3KFVMUERfRFBMTF9DVFJMKSwgb21hcF9yZWFkdyhVTFBEX1NPRlRfUkVRKSk7CisKKwl3ID0gb21hcF9yZWFkdyhVTFBEX0FQTExfQ1RSTCk7CisJdyAmPSB+QVBMTF9ORFBMTF9TV0lUQ0g7CisJb21hcF93cml0ZXcodywgVUxQRF9BUExMX0NUUkwpOworCisJdyA9IG9tYXBfcmVhZHcoVUxQRF9EUExMX0NUUkwpOworCXcgfD0gRFBMTF9JT0IgfCBEUExMX1BMTF9FTkFCTEU7CisJb21hcF93cml0ZXcodywgVUxQRF9EUExMX0NUUkwpOworCisJdyA9IG9tYXBfcmVhZHcoVUxQRF9TT0ZUX1JFUSk7CisJdyB8PSBTT0ZUX1VEQ19SRVEgfCBTT0ZUX0RQTExfUkVROworCW9tYXBfd3JpdGV3KHcsIFVMUERfU09GVF9SRVEpOworCisJd2hpbGUgKCEob21hcF9yZWFkdyhVTFBEX0RQTExfQ1RSTCkgJiBEUExMX0xPQ0spKQogCQljcHVfcmVsYXgoKTsKIAogI2lmZGVmCUNPTkZJR19VU0JfR0FER0VUX09NQVAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vaXJxLmMgYi9hcmNoL2FybS9wbGF0LW9yaW9uL2lycS5jCmluZGV4IGM1YjY2OWQuLmZlNjZhMTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vaXJxLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9pcnEuYwpAQCAtMzYsOCArMzYsOCBAQAogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIG9yaW9uX2lycV9jaGlwID0gewogCS5uYW1lCQk9ICJvcmlvbl9pcnEiLAotCS5hY2sJCT0gb3Jpb25faXJxX21hc2ssCiAJLm1hc2sJCT0gb3Jpb25faXJxX21hc2ssCisJLm1hc2tfYWNrCT0gb3Jpb25faXJxX21hc2ssCiAJLnVubWFzawkJPSBvcmlvbl9pcnFfdW5tYXNrLAogfTsKIApAQCAtNTksNiArNTksNyBAQAogCQlzZXRfaXJxX2NoaXAoaXJxLCAmb3Jpb25faXJxX2NoaXApOwogCQlzZXRfaXJxX2NoaXBfZGF0YShpcnEsIG1hc2thZGRyKTsKIAkJc2V0X2lycV9oYW5kbGVyKGlycSwgaGFuZGxlX2xldmVsX2lycSk7CisJCWlycV9kZXNjW2lycV0uc3RhdHVzIHw9IElSUV9MRVZFTDsKIAkJc2V0X2lycV9mbGFncyhpcnEsIElSUUZfVkFMSUQpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vcGNpZS5jIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKaW5kZXggYWJmZGE1My4uY2EzMmM2MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNkZWZpbmUgUENJRV9DT05GX0RBVEFfT0ZGCTB4MThmYwogI2RlZmluZSBQQ0lFX01BU0tfT0ZGCQkweDE5MTAKICNkZWZpbmUgUENJRV9DVFJMX09GRgkJMHgxYTAwCisjZGVmaW5lICBQQ0lFX0NUUkxfWDFfTU9ERQkJMHgwMDAxCiAjZGVmaW5lIFBDSUVfU1RBVF9PRkYJCTB4MWEwNAogI2RlZmluZSAgUENJRV9TVEFUX0RFVl9PRkZTCQkyMAogI2RlZmluZSAgUENJRV9TVEFUX0RFVl9NQVNLCQkweDFmCkBAIC02Miw2ICs2MywxMSBAQAogCXJldHVybiAhKHJlYWRsKGJhc2UgKyBQQ0lFX1NUQVRfT0ZGKSAmIFBDSUVfU1RBVF9MSU5LX0RPV04pOwogfQogCitpbnQgX19pbml0IG9yaW9uX3BjaWVfeDRfbW9kZSh2b2lkIF9faW9tZW0gKmJhc2UpCit7CisJcmV0dXJuICEocmVhZGwoYmFzZSArIFBDSUVfQ1RSTF9PRkYpICYgUENJRV9DVFJMX1gxX01PREUpOworfQorCiBpbnQgb3Jpb25fcGNpZV9nZXRfbG9jYWxfYnVzX25yKHZvaWQgX19pb21lbSAqYmFzZSkKIHsKIAl1MzIgc3RhdCA9IHJlYWRsKGJhc2UgKyBQQ0lFX1NUQVRfT0ZGKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vdGltZS5jIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKaW5kZXggMjhiNTI4NS4uOTNjNGVmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKQEAgLTc0LDcgKzc0LDcgQEAKIAkvKgogCSAqIENsZWFyIGFuZCBlbmFibGUgY2xvY2tldmVudCB0aW1lciBpbnRlcnJ1cHQuCiAJICovCi0Jd3JpdGVsKH5CUklER0VfSU5UX1RJTUVSMSwgQlJJREdFX0NBVVNFKTsKKwl3cml0ZWwoQlJJREdFX0lOVF9USU1FUjFfQ0xSLCBCUklER0VfQ0FVU0UpOwogCiAJdSA9IHJlYWRsKEJSSURHRV9NQVNLKTsKIAl1IHw9IEJSSURHRV9JTlRfVElNRVIxOwpAQCAtMTM4LDcgKzEzOCw3IEBACiAJCS8qCiAJCSAqIEFDSyBwZW5kaW5nIHRpbWVyIGludGVycnVwdC4KIAkJICovCi0JCXdyaXRlbCh+QlJJREdFX0lOVF9USU1FUjEsIEJSSURHRV9DQVVTRSk7CisJCXdyaXRlbChCUklER0VfSU5UX1RJTUVSMV9DTFIsIEJSSURHRV9DQVVTRSk7CiAKIAl9CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwpAQCAtMTU5LDcgKzE1OSw3IEBACiAJLyoKIAkgKiBBQ0sgdGltZXIgaW50ZXJydXB0IGFuZCBjYWxsIGV2ZW50IGhhbmRsZXIuCiAJICovCi0Jd3JpdGVsKH5CUklER0VfSU5UX1RJTUVSMSwgQlJJREdFX0NBVVNFKTsKKwl3cml0ZWwoQlJJREdFX0lOVF9USU1FUjFfQ0xSLCBCUklER0VfQ0FVU0UpOwogCW9yaW9uX2Nsa2V2dC5ldmVudF9oYW5kbGVyKCZvcmlvbl9jbGtldnQpOwogCiAJcmV0dXJuIElSUV9IQU5ETEVEOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L0tjb25maWcgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZwppbmRleCBiNjZmYjNjLi41ZTI4YzIxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZworKysgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZwpAQCAtOSw2ICs5LDcgQEAKIAlkZXBlbmRzIG9uIEFSQ0hfUzNDMjQxMAogCWRlZmF1bHQgeSBpZiBBUkNIX1MzQzI0MTAKIAlzZWxlY3QgTk9fSU9QT1JUCisJc2VsZWN0IEhBVkVfR1BJT19MSUIKIAloZWxwCiAJICBCYXNlIHBsYXRmb3JtIGNvZGUgZm9yIGFueSBTYW1zdW5nIFMzQzI0WFggZGV2aWNlCiAKQEAgLTIwLDYgKzIxLDEzIEBACiAJaGVscAogCSAgU3VwcG9ydCBmb3IgUzNDMjQ0MCBhbmQgUzNDMjQ0MiBTYW1zdW5nIE1vYmlsZSBDUFUgYmFzZWQgc3lzdGVtcy4KIAorY29uZmlnIFMzQzI0WFhfUFdNCisJYm9vbCAiUFdNIGRldmljZSBzdXBwb3J0IgorCXNlbGVjdCBIQVZFX1BXTQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIGV4cG9ydGluZyB0aGUgUFdNIHRpbWVyIGJsb2NrcyB2aWEgdGhlIHB3bSBkZXZpY2UKKwkgIHN5c3RlbS4KKwogY29uZmlnIFBNX1NJTVRFQwogCWJvb2wKIAloZWxwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvTWFrZWZpbGUgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvTWFrZWZpbGUKaW5kZXggMTMxZDIwMi4uZDgyNzY3YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9NYWtlZmlsZQpAQCAtMTYsOCArMTYsMTAgQEAKIG9iai15CQkJCSs9IGlycS5vCiBvYmoteQkJCQkrPSBkZXZzLm8KIG9iai15CQkJCSs9IGdwaW8ubworb2JqLXkJCQkJKz0gZ3Bpb2xpYi5vCiBvYmoteQkJCQkrPSB0aW1lLm8KIG9iai15CQkJCSs9IGNsb2NrLm8KK29iai15CQkJCSs9IHB3bS1jbG9jay5vCiAKICMgQXJjaGl0ZWN0dXJlIGRlcGVuZGFudCBidWlsZHMKIApAQCAtMjcsNSArMjksNiBAQAogb2JqLSQoQ09ORklHX1BNX1NJTVRFQykJCSs9IHBtLXNpbXRlYy5vCiBvYmotJChDT05GSUdfUE0pCQkrPSBwbS5vCiBvYmotJChDT05GSUdfUE0pCQkrPSBzbGVlcC5vCitvYmotJChDT05GSUdfSEFWRV9QV00pCQkrPSBwd20ubwogb2JqLSQoQ09ORklHX1MzQzI0MTBfRE1BKQkrPSBkbWEubwogb2JqLSQoQ09ORklHX01BQ0hfU01ESykJCSs9IGNvbW1vbi1zbWRrLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9kZXZzLmMgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvZGV2cy5jCmluZGV4IGU1NDZlOTMuLmVlYTNiMzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9kZXZzLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L2RldnMuYwpAQCAtNDk1LDEwNiArNDk1LDYgQEAKIAogRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3NwaTEpOwogCi0vKiBwd20gdGltZXIgYmxvY2tzICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgczNjX3RpbWVyMF9yZXNvdXJjZVtdID0gewotCVswXSA9IHsKLQkJLnN0YXJ0ID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MEMsCi0JCS5lbmQgICA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDBDICsgMHhCLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCVsxXSA9IHsKLQkJLnN0YXJ0ID0gSVJRX1RJTUVSMCwKLQkJLmVuZCAgID0gSVJRX1RJTUVSMCwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCi0JfQotCi19OwotCi1zdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIwID0gewotCS5uYW1lCQkgID0gInMzYzI0MTAtdGltZXIiLAotCS5pZAkJICA9IDAsCi0JLm51bV9yZXNvdXJjZXMJICA9IEFSUkFZX1NJWkUoczNjX3RpbWVyMF9yZXNvdXJjZSksCi0JLnJlc291cmNlCSAgPSBzM2NfdGltZXIwX3Jlc291cmNlLAotfTsKLQotRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3RpbWVyMCk7Ci0KLS8qIHRpbWVyIDEgKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzM2NfdGltZXIxX3Jlc291cmNlW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQgPSBTM0MyNFhYX1BBX1RJTUVSICsgMHgxOCwKLQkJLmVuZCAgID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MjMsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JWzFdID0gewotCQkuc3RhcnQgPSBJUlFfVElNRVIxLAotCQkuZW5kICAgPSBJUlFfVElNRVIxLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKLQl9Ci0KLX07Ci0KLXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjEgPSB7Ci0JLm5hbWUJCSAgPSAiczNjMjQxMC10aW1lciIsCi0JLmlkCQkgID0gMSwKLQkubnVtX3Jlc291cmNlcwkgID0gQVJSQVlfU0laRShzM2NfdGltZXIxX3Jlc291cmNlKSwKLQkucmVzb3VyY2UJICA9IHMzY190aW1lcjFfcmVzb3VyY2UsCi19OwotCi1FWFBPUlRfU1lNQk9MKHMzY19kZXZpY2VfdGltZXIxKTsKLQotLyogdGltZXIgMiAqLwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHMzY190aW1lcjJfcmVzb3VyY2VbXSA9IHsKLQlbMF0gPSB7Ci0JCS5zdGFydCA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDI0LAotCQkuZW5kICAgPSBTM0MyNFhYX1BBX1RJTUVSICsgMHgyRiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQlbMV0gPSB7Ci0JCS5zdGFydCA9IElSUV9USU1FUjIsCi0JCS5lbmQgICA9IElSUV9USU1FUjIsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAotCX0KLQotfTsKLQotc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMiA9IHsKLQkubmFtZQkJICA9ICJzM2MyNDEwLXRpbWVyIiwKLQkuaWQJCSAgPSAyLAotCS5udW1fcmVzb3VyY2VzCSAgPSBBUlJBWV9TSVpFKHMzY190aW1lcjJfcmVzb3VyY2UpLAotCS5yZXNvdXJjZQkgID0gczNjX3RpbWVyMl9yZXNvdXJjZSwKLX07Ci0KLUVYUE9SVF9TWU1CT0woczNjX2RldmljZV90aW1lcjIpOwotCi0vKiB0aW1lciAzICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgczNjX3RpbWVyM19yZXNvdXJjZVtdID0gewotCVswXSA9IHsKLQkJLnN0YXJ0ID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MzAsCi0JCS5lbmQgICA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDNCLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCVsxXSA9IHsKLQkJLnN0YXJ0ID0gSVJRX1RJTUVSMywKLQkJLmVuZCAgID0gSVJRX1RJTUVSMywKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCi0JfQotCi19OwotCi1zdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIzID0gewotCS5uYW1lCQkgID0gInMzYzI0MTAtdGltZXIiLAotCS5pZAkJICA9IDMsCi0JLm51bV9yZXNvdXJjZXMJICA9IEFSUkFZX1NJWkUoczNjX3RpbWVyM19yZXNvdXJjZSksCi0JLnJlc291cmNlCSAgPSBzM2NfdGltZXIzX3Jlc291cmNlLAotfTsKLQotRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3RpbWVyMyk7Ci0KICNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0NDAKIAogLyogQ2FtaWYgQ29udHJvbGxlciAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L2dwaW9saWIuYyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI1ZDhkMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKQEAgLTAsMCArMSwyNTkgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIFMzQzI0WFggR1BJT2xpYiBzdXBwb3J0CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCitzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgeworCXN0cnVjdCBncGlvX2NoaXAJY2hpcDsKKwl2b2lkIF9faW9tZW0JCSpiYXNlOworfTsKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgKnRvX3MzY19jaGlwKHN0cnVjdCBncGlvX2NoaXAgKmdwYykKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKGdwYywgc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwLCBjaGlwKTsKK30KKworLyogdGhlc2Ugcm91dGluZXMgYXJlIGV4cG9ydGVkIGZvciB1c2UgYnkgb3RoZXIgcGFydHMgb2YgdGhlIHBsYXRmb3JtCisgKiBhbmQgc3lzdGVtIHN1cHBvcnQsIGJ1dCBhcmUgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgYnkgdGhlCisgKiBkcml2ZXJzIHRoZW1zZXZsZXMuCisgKi8KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpvdXJjaGlwID0gdG9fczNjX2NoaXAoY2hpcCk7CisJdm9pZCBfX2lvbWVtICpiYXNlID0gb3VyY2hpcC0+YmFzZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgY29uOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWNvbiAmPSB+KDMgPDwgKG9mZnNldCAqIDIpKTsKKwljb24gfD0gKFMzQzI0MTBfR1BJT19PVVRQVVQgJiAweGYpIDw8IChvZmZzZXQgKiAyKTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9vdXRwdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwKKwkJCQkgIHVuc2lnbmVkIG9mZnNldCwgaW50IHZhbHVlKQoreworCXN0cnVjdCBzM2MyNHh4X2dwaW9fY2hpcCAqb3VyY2hpcCA9IHRvX3MzY19jaGlwKGNoaXApOworCXZvaWQgX19pb21lbSAqYmFzZSA9IG91cmNoaXAtPmJhc2U7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIGRhdDsKKwl1bnNpZ25lZCBsb25nIGNvbjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCWRhdCA9IF9fcmF3X3JlYWRsKGJhc2UgKyAweDA0KTsKKwlkYXQgJj0gfigxIDw8IG9mZnNldCk7CisJaWYgKHZhbHVlKQorCQlkYXQgfD0gMSA8PCBvZmZzZXQ7CisJX19yYXdfd3JpdGVsKGRhdCwgYmFzZSArIDB4MDQpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWNvbiAmPSB+KDMgPDwgKG9mZnNldCAqIDIpKTsKKwljb24gfD0gKFMzQzI0MTBfR1BJT19PVVRQVVQgJiAweGYpIDw8IChvZmZzZXQgKiAyKTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKwlfX3Jhd193cml0ZWwoZGF0LCBiYXNlICsgMHgwNCk7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgczNjMjR4eF9ncGlvbGliX3NldChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgKm91cmNoaXAgPSB0b19zM2NfY2hpcChjaGlwKTsKKwl2b2lkIF9faW9tZW0gKmJhc2UgPSBvdXJjaGlwLT5iYXNlOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBkYXQ7CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwlkYXQgPSBfX3Jhd19yZWFkbChiYXNlICsgMHgwNCk7CisJZGF0ICY9IH4oMSA8PCBvZmZzZXQpOworCWlmICh2YWx1ZSkKKwkJZGF0IHw9IDEgPDwgb2Zmc2V0OworCV9fcmF3X3dyaXRlbChkYXQsIGJhc2UgKyAweDA0KTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9nZXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCXN0cnVjdCBzM2MyNHh4X2dwaW9fY2hpcCAqb3VyY2hpcCA9IHRvX3MzY19jaGlwKGNoaXApOworCXVuc2lnbmVkIGxvbmcgdmFsOworCisJdmFsID0gX19yYXdfcmVhZGwob3VyY2hpcC0+YmFzZSArIDB4MDQpOworCXZhbCA+Pj0gb2Zmc2V0OworCXZhbCAmPSAxOworCisJcmV0dXJuIHZhbDsKK30KKworc3RhdGljIGludCBzM2MyNHh4X2dwaW9saWJfYmFua2FfaW5wdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IHMzYzI0eHhfZ3Bpb2xpYl9iYW5rYV9vdXRwdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwKKwkJCQkJdW5zaWduZWQgb2Zmc2V0LCBpbnQgdmFsdWUpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpvdXJjaGlwID0gdG9fczNjX2NoaXAoY2hpcCk7CisJdm9pZCBfX2lvbWVtICpiYXNlID0gb3VyY2hpcC0+YmFzZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgZGF0OworCXVuc2lnbmVkIGxvbmcgY29uOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWRhdCA9IF9fcmF3X3JlYWRsKGJhc2UgKyAweDA0KTsKKworCWRhdCAmPSB+KDEgPDwgb2Zmc2V0KTsKKwlpZiAodmFsdWUpCisJCWRhdCB8PSAxIDw8IG9mZnNldDsKKworCV9fcmF3X3dyaXRlbChkYXQsIGJhc2UgKyAweDA0KTsKKworCWNvbiAmPSB+KDEgPDwgb2Zmc2V0KTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKwlfX3Jhd193cml0ZWwoZGF0LCBiYXNlICsgMHgwNCk7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKKworc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwIGdwaW9zW10gPSB7CisJWzBdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BBMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BBMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQSIsCisJCQkubmdwaW8JCQk9IDI0LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9iYW5rYV9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX2JhbmthX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzFdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BCMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BCMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQiIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzJdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BDMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BDMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQyIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzNdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BEMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BEMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPRCIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzRdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BFMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BFMCwKKwkJCS5sYWJlbAkJCT0gIkdQSU9FIiwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzVdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BGMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BGMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPRiIsCisJCQkubmdwaW8JCQk9IDgsCisJCQkuZGlyZWN0aW9uX2lucHV0CT0gczNjMjR4eF9ncGlvbGliX2lucHV0LAorCQkJLmRpcmVjdGlvbl9vdXRwdXQJPSBzM2MyNHh4X2dwaW9saWJfb3V0cHV0LAorCQkJLnNldAkJCT0gczNjMjR4eF9ncGlvbGliX3NldCwKKwkJCS5nZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9nZXQsCisJCX0sCisJfSwKKwlbNl0gPSB7CisJCS5iYXNlCT0gUzNDMjRYWF9HUElPX0JBU0UoUzNDMjQxMF9HUEcwKSwKKwkJLmNoaXAJPSB7CisJCQkuYmFzZQkJCT0gUzNDMjQxMF9HUEcwLAorCQkJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKKwkJCS5sYWJlbAkJCT0gIkdQSU9HIiwKKwkJCS5uZ3BpbwkJCT0gMTAsCisJCQkuZGlyZWN0aW9uX2lucHV0CT0gczNjMjR4eF9ncGlvbGliX2lucHV0LAorCQkJLmRpcmVjdGlvbl9vdXRwdXQJPSBzM2MyNHh4X2dwaW9saWJfb3V0cHV0LAorCQkJLnNldAkJCT0gczNjMjR4eF9ncGlvbGliX3NldCwKKwkJCS5nZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9nZXQsCisJCX0sCisJfSwKK307CisKK3N0YXRpYyBfX2luaXQgaW50IHMzYzI0eHhfZ3Bpb2xpYl9pbml0KHZvaWQpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpjaGlwID0gZ3Bpb3M7CisJaW50IGdwbjsKKworCWZvciAoZ3BuID0gMDsgZ3BuIDwgQVJSQVlfU0laRShncGlvcyk7IGdwbisrLCBjaGlwKyspCisJCWdwaW9jaGlwX2FkZCgmY2hpcC0+Y2hpcCk7CisKKwlyZXR1cm4gMDsKK30KKworYXJjaF9pbml0Y2FsbChzM2MyNHh4X2dwaW9saWJfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLWNsb2NrLmMgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLWNsb2NrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNkYTNlMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9wd20tY2xvY2suYwpAQCAtMCwwICsxLDQzNyBAQAorLyogbGludXgvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS1jbG9jay5jCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA3IFNpbXRlYyBFbGVjdHJvbmljcworICogQ29weXJpZ2h0IChjKSAyMDA3LCAyMDA4IEJlbiBEb29rcworICoJQmVuIERvb2tzIDxiZW4tbGludXhAZmx1ZmYub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorCisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3MtdGltZXIuaD4KKworLyogRWFjaCBvZiB0aGUgdGltZXJzIDAgdGhyb3VnaCA1IGdvIHRocm91Z2ggdGhlIGZvbGxvd2luZworICogY2xvY2sgdHJlZSwgd2l0aCB0aGUgaW5wdXRzIGRlcGVuZGluZyBvbiB0aGUgdGltZXJzLgorICoKKyAqIHBjbGsgLS0tLSBbIHByZXNjYWxlciAwIF0gLSstLS0+IHRpbWVyIDAKKyAqCQkJICAgICAgKy0tLT4gdGltZXIgMQorICoKKyAqIHBjbGsgLS0tLSBbIHByZXNjYWxlciAxIF0gLSstLS0+IHRpbWVyIDIKKyAqCQkJICAgICAgKy0tLT4gdGltZXIgMworICoJCQkgICAgICBcLS0tPiB0aW1lciA0CisgKgorICogV2hpY2ggYXJlIGZlZCBpbnRvIHRoZSB0aW1lcnMgYXMgc286CisgKgorICogcHJlc2NhbGVkIDAgLS0tLSBbIGRpdiAyLDQsOCwxNiBdIC0tLVwKKyAqCQkJCSAgICAgICBbbXV4XSAtPiB0aW1lciAwCisgKiB0Y2xrIDAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLworICoKKyAqIHByZXNjYWxlZCAwIC0tLS0gWyBkaXYgMiw0LDgsMTYgXSAtLS1cCisgKgkJCQkgICAgICAgW211eF0gLT4gdGltZXIgMQorICogdGNsayAwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyAqCisgKgorICogcHJlc2NhbGVkIDEgLS0tLSBbIGRpdiAyLDQsOCwxNiBdIC0tLVwKKyAqCQkJCSAgICAgICBbbXV4XSAtPiB0aW1lciAyCisgKiB0Y2xrIDEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLworICoKKyAqIHByZXNjYWxlZCAxIC0tLS0gWyBkaXYgMiw0LDgsMTYgXSAtLS1cCisgKgkJCQkgICAgICAgW211eF0gLT4gdGltZXIgMworICogdGNsayAxIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyAqCisgKiBwcmVzY2FsZWQgMSAtLS0tIFsgZGl2IDIsNCw4LCAxNiBdIC0tXAorICoJCQkJICAgICAgIFttdXhdIC0+IHRpbWVyIDQKKyAqIHRjbGsgMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vCisgKgorICogU2luY2UgdGhlIG11eCBhbmQgdGhlIGRpdmlkZXIgYXJlIHRpZWQgdG9nZXRoZXIgaW4gdGhlCisgKiBzYW1lIHJlZ2lzdGVyIHNwYWNlLCBpdCBpcyBpbXBvc3NpYmxlIHRvIHNldCB0aGUgcGFyZW50CisgKiBhbmQgdGhlIHJhdGUgYXQgdGhlIHNhbWUgdGltZS4gVG8gYXZvaWQgdGhpcywgd2UgYWRkIGFuCisgKiBpbnRlcm1lZGlhdGUgJ3ByZXNjYWxlZC1hbmQtZGl2aWRlZCcgY2xvY2sgdG8gc2VsZWN0CisgKiBhcyB0aGUgcGFyZW50IGZvciB0aGUgdGltZXIgaW5wdXQgY2xvY2sgY2FsbGVkIHRkaXYuCisgKgorICogcHJlc2NhbGVkIGNsayAtLT4gcHdtLXRkaXYgLS0tXAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgbXV4IF0gLS0+IHRpbWVyIFgKKyAqIHRjbGsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyovCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fc2NhbGVyX2dldHJhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdGNmZzAgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcwKTsKKworCWlmIChjbGstPmlkID09IDEpIHsKKwkJdGNmZzAgJj0gUzNDMjQxMF9UQ0ZHX1BSRVNDQUxFUjFfTUFTSzsKKwkJdGNmZzAgPj49IFMzQzI0MTBfVENGR19QUkVTQ0FMRVIxX1NISUZUOworCX0gZWxzZSB7CisJCXRjZmcwICY9IFMzQzI0MTBfVENGR19QUkVTQ0FMRVIwX01BU0s7CisJfQorCisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAodGNmZzAgKyAxKTsKK30KKworLyogVE9ETyAtIGFkZCBzZXQgcmF0ZSBjYWxscy4gKi8KKworc3RydWN0IGNsayBjbGtfdGltZXJfc2NhbGVyW10gPSB7CisJWzBdCT0geworCQkubmFtZQkJPSAicHdtLXNjYWxlcjAiLAorCQkuaWQJCT0gLTEsCisJCS5nZXRfcmF0ZQk9IGNsa19wd21fc2NhbGVyX2dldHJhdGUsCisJfSwKKwlbMV0JPSB7CisJCS5uYW1lCQk9ICJwd20tc2NhbGVyMSIsCisJCS5pZAkJPSAtMSwKKwkJLmdldF9yYXRlCT0gY2xrX3B3bV9zY2FsZXJfZ2V0cmF0ZSwKKwl9LAorfTsKKworc3RydWN0IGNsayBjbGtfdGltZXJfdGNsa1tdID0geworCVswXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10Y2xrMCIsCisJCS5pZAkJPSAtMSwKKwl9LAorCVsxXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10Y2xrMSIsCisJCS5pZAkJPSAtMSwKKwl9LAorfTsKKworc3RydWN0IHB3bV90ZGl2X2NsayB7CisJc3RydWN0IGNsawljbGs7CisJdW5zaWduZWQgaW50CWRpdmlzb3I7Cit9OworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBwd21fdGRpdl9jbGsgKnRvX3RkaXYoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBjb250YWluZXJfb2YoY2xrLCBzdHJ1Y3QgcHdtX3RkaXZfY2xrLCBjbGspOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdGNmZ190b19kaXZpc29yKHVuc2lnbmVkIGxvbmcgdGNmZzEpCit7CisJcmV0dXJuIDEgPDwgKDEgKyB0Y2ZnMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMSA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENGRzEpOworCXVuc2lnbmVkIGludCBkaXZpc29yOworCisJdGNmZzEgPj49IFMzQzI0MTBfVENGRzFfU0hJRlQoY2xrLT5pZCk7CisJdGNmZzEgJj0gUzNDMjQxMF9UQ0ZHMV9NVVhfTUFTSzsKKworCWlmICh0Y2ZnMSA9PSBTM0MyNDEwX1RDRkcxX01VWF9UQ0xLKQorCQlkaXZpc29yID0gdG9fdGRpdihjbGspLT5kaXZpc29yOworCWVsc2UKKwkJZGl2aXNvciA9IHRjZmdfdG9fZGl2aXNvcih0Y2ZnMSk7CisKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIGRpdmlzb3I7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywKKwkJCQkJICAgICB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKwl1bnNpZ25lZCBsb25nIGRpdmlzb3I7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJZGl2aXNvciA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKworCWlmIChkaXZpc29yIDw9IDIpCisJCWRpdmlzb3IgPSAyOworCWVsc2UgaWYgKGRpdmlzb3IgPD0gNCkKKwkJZGl2aXNvciA9IDQ7CisJZWxzZSBpZiAoZGl2aXNvciA8PSA4KQorCQlkaXZpc29yID0gODsKKwllbHNlCisJCWRpdmlzb3IgPSAxNjsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIGRpdmlzb3I7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9iaXRzKHN0cnVjdCBwd21fdGRpdl9jbGsgKmRpdmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGJpdHM7CisKKwlzd2l0Y2ggKGRpdmNsay0+ZGl2aXNvcikgeworCWNhc2UgMjoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjI7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjQ7CisJCWJyZWFrOworCWNhc2UgODoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjg7CisJCWJyZWFrOworCWNhc2UgMTY6CisJZGVmYXVsdDoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjE2OworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gYml0czsKK30KKworc3RhdGljIHZvaWQgY2xrX3B3bV90ZGl2X3VwZGF0ZShzdHJ1Y3QgcHdtX3RkaXZfY2xrICpkaXZjbGspCit7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMSA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENGRzEpOworCXVuc2lnbmVkIGxvbmcgYml0cyA9IGNsa19wd21fdGRpdl9iaXRzKGRpdmNsayk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNoaWZ0ID0gIFMzQzI0MTBfVENGRzFfU0hJRlQoZGl2Y2xrLT5jbGsuaWQpOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl0Y2ZnMSAmPSB+KFMzQzI0MTBfVENGRzFfTVVYX01BU0sgPDwgc2hpZnQpOworCXRjZmcxIHw9IGJpdHMgPDwgc2hpZnQ7CisJX19yYXdfd3JpdGVsKHRjZmcxLCBTM0MyNDEwX1RDRkcxKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGludCBjbGtfcHdtX3RkaXZfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJc3RydWN0IHB3bV90ZGl2X2NsayAqZGl2Y2xrID0gdG9fdGRpdihjbGspOworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1bnNpZ25lZCBsb25nIGRpdmlzb3I7CisKKwl0Y2ZnMSA+Pj0gUzNDMjQxMF9UQ0ZHMV9TSElGVChjbGstPmlkKTsKKwl0Y2ZnMSAmPSBTM0MyNDEwX1RDRkcxX01VWF9NQVNLOworCisJcmF0ZSA9IGNsa19yb3VuZF9yYXRlKGNsaywgcmF0ZSk7CisJZGl2aXNvciA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKworCWlmIChkaXZpc29yID4gMTYpCisJCXJldHVybiAtRUlOVkFMOworCisJZGl2Y2xrLT5kaXZpc29yID0gZGl2aXNvcjsKKworCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBNVVggc2V0dGluZ3MgaWYgd2UgYXJlIGN1cnJlbnRseQorCSAqIHNlbGVjdGVkIGFzIHRoZSBjbG9jayBzb3VyY2UgZm9yIHRoaXMgY2xvY2suICovCisKKwlpZiAodGNmZzEgIT0gUzNDMjQxMF9UQ0ZHMV9NVVhfVENMSykKKwkJY2xrX3B3bV90ZGl2X3VwZGF0ZShkaXZjbGspOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBwd21fdGRpdl9jbGsgY2xrX3RpbWVyX3RkaXZbXSA9IHsKKwlbMF0JPSB7CisJCS5jbGsJPSB7CisJCQkubmFtZQkJPSAicHdtLXRkaXYiLAorCQkJLnBhcmVudAkJPSAmY2xrX3RpbWVyX3NjYWxlclswXSwKKwkJCS5nZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9nZXRfcmF0ZSwKKwkJCS5zZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9zZXRfcmF0ZSwKKwkJCS5yb3VuZF9yYXRlCT0gY2xrX3B3bV90ZGl2X3JvdW5kX3JhdGUsCisJCX0sCisJfSwKKwlbMV0JPSB7CisJCS5jbGsJPSB7CisJCQkubmFtZQkJPSAicHdtLXRkaXYiLAorCQkJLnBhcmVudAkJPSAmY2xrX3RpbWVyX3NjYWxlclswXSwKKwkJCS5nZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9nZXRfcmF0ZSwKKwkJCS5zZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9zZXRfcmF0ZSwKKwkJCS5yb3VuZF9yYXRlCT0gY2xrX3B3bV90ZGl2X3JvdW5kX3JhdGUsCisJCX0KKwl9LAorCVsyXQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorCVszXQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorCVs0XQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorfTsKKworc3RhdGljIGludCBfX2luaXQgY2xrX3B3bV90ZGl2X3JlZ2lzdGVyKHVuc2lnbmVkIGludCBpZCkKK3sKKwlzdHJ1Y3QgcHdtX3RkaXZfY2xrICpkaXZjbGsgPSAmY2xrX3RpbWVyX3RkaXZbaWRdOworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKworCXRjZmcxID4+PSBTM0MyNDEwX1RDRkcxX1NISUZUKGlkKTsKKwl0Y2ZnMSAmPSBTM0MyNDEwX1RDRkcxX01VWF9NQVNLOworCisJZGl2Y2xrLT5jbGsuaWQgPSBpZDsKKwlkaXZjbGstPmRpdmlzb3IgPSB0Y2ZnX3RvX2Rpdmlzb3IodGNmZzEpOworCisJcmV0dXJuIHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmRpdmNsay0+Y2xrKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY2xrICpzM2MyNHh4X3B3bWNsa190Y2xrKHVuc2lnbmVkIGludCBpZCkKK3sKKwlyZXR1cm4gKGlkID49IDIpID8gJmNsa190aW1lcl90Y2xrWzFdIDogJmNsa190aW1lcl90Y2xrWzBdOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjbGsgKnMzYzI0eHhfcHdtY2xrX3RkaXYodW5zaWduZWQgaW50IGlkKQoreworCXJldHVybiAmY2xrX3RpbWVyX3RkaXZbaWRdLmNsazsKK30KKworc3RhdGljIGludCBjbGtfcHdtX3Rpbl9zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXVuc2lnbmVkIGludCBpZCA9IGNsay0+aWQ7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgYml0czsKKwl1bnNpZ25lZCBsb25nIHNoaWZ0ID0gUzNDMjQxMF9UQ0ZHMV9TSElGVChpZCk7CisKKwlpZiAocGFyZW50ID09IHMzYzI0eHhfcHdtY2xrX3RjbGsoaWQpKQorCQliaXRzID0gUzNDMjQxMF9UQ0ZHMV9NVVhfVENMSyA8PCBzaGlmdDsKKwllbHNlIGlmIChwYXJlbnQgPT0gczNjMjR4eF9wd21jbGtfdGRpdihpZCkpCisJCWJpdHMgPSBjbGtfcHdtX3RkaXZfYml0cyh0b190ZGl2KGNsaykpIDw8IHNoaWZ0OworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljbGstPnBhcmVudCA9IHBhcmVudDsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCXRjZmcxID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ0ZHMSk7CisJdGNmZzEgJj0gfihTM0MyNDEwX1RDRkcxX01VWF9NQVNLIDw8IHNoaWZ0KTsKKwlfX3Jhd193cml0ZWwodGNmZzEgfCBiaXRzLCBTM0MyNDEwX1RDRkcxKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfdGluW10gPSB7CisJWzBdCT0geworCQkubmFtZQkJPSAicHdtLXRpbiIsCisJCS5pZAkJPSAwLAorCQkuc2V0X3BhcmVudAk9IGNsa19wd21fdGluX3NldF9wYXJlbnQsCisJfSwKKwlbMV0JPSB7CisJCS5uYW1lCQk9ICJwd20tdGluIiwKKwkJLmlkCQk9IDEsCisJCS5zZXRfcGFyZW50CT0gY2xrX3B3bV90aW5fc2V0X3BhcmVudCwKKwl9LAorCVsyXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10aW4iLAorCQkuaWQJCT0gMiwKKwkJLnNldF9wYXJlbnQJPSBjbGtfcHdtX3Rpbl9zZXRfcGFyZW50LAorCX0sCisJWzNdCT0geworCQkubmFtZQkJPSAicHdtLXRpbiIsCisJCS5pZAkJPSAzLAorCQkuc2V0X3BhcmVudAk9IGNsa19wd21fdGluX3NldF9wYXJlbnQsCisJfSwKKwlbNF0JPSB7CisJCS5uYW1lCQk9ICJwd20tdGluIiwKKwkJLmlkCQk9IDQsCisJCS5zZXRfcGFyZW50CT0gY2xrX3B3bV90aW5fc2V0X3BhcmVudCwKKwl9LAorfTsKKworc3RhdGljIF9faW5pdCBpbnQgY2xrX3B3bV90aW5fcmVnaXN0ZXIoc3RydWN0IGNsayAqcHdtKQoreworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl1bnNpZ25lZCBpbnQgaWQgPSBwd20tPmlkOworCisJc3RydWN0IGNsayAqcGFyZW50OworCWludCByZXQ7CisKKwlyZXQgPSBzM2MyNHh4X3JlZ2lzdGVyX2Nsb2NrKHB3bSk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwl0Y2ZnMSA+Pj0gUzNDMjQxMF9UQ0ZHMV9TSElGVChpZCk7CisJdGNmZzEgJj0gUzNDMjQxMF9UQ0ZHMV9NVVhfTUFTSzsKKworCWlmICh0Y2ZnMSA9PSBTM0MyNDEwX1RDRkcxX01VWF9UQ0xLKQorCQlwYXJlbnQgPSBzM2MyNHh4X3B3bWNsa190Y2xrKGlkKTsKKwllbHNlCisJCXBhcmVudCA9IHMzYzI0eHhfcHdtY2xrX3RkaXYoaWQpOworCisJcmV0dXJuIGNsa19zZXRfcGFyZW50KHB3bSwgcGFyZW50KTsKK30KKworc3RhdGljIF9faW5pdCBpbnQgczNjMjR4eF9wd21jbGtfaW5pdCh2b2lkKQoreworCXN0cnVjdCBjbGsgKmNsa190aW1lcnM7CisJdW5zaWduZWQgaW50IGNsazsKKwlpbnQgcmV0OworCisJY2xrX3RpbWVycyA9IGNsa19nZXQoTlVMTCwgInRpbWVycyIpOworCWlmIChJU19FUlIoY2xrX3RpbWVycykpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogbm8gcGFyZW50IGNsb2NrXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWZvciAoY2xrID0gMDsgY2xrIDwgQVJSQVlfU0laRShjbGtfdGltZXJfc2NhbGVyKTsgY2xrKyspIHsKKwkJY2xrX3RpbWVyX3NjYWxlcltjbGtdLnBhcmVudCA9IGNsa190aW1lcnM7CisJCXJldCA9IHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmNsa190aW1lcl9zY2FsZXJbY2xrXSk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgImVycm9yIGFkZGluZyBwd20gc2NhbGVyJWQgY2xvY2tcbiIsIGNsayk7CisJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCWZvciAoY2xrID0gMDsgY2xrIDwgQVJSQVlfU0laRShjbGtfdGltZXJfdGNsayk7IGNsaysrKSB7CisJCXJldCA9IHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmNsa190aW1lcl90Y2xrW2Nsa10pOworCQlpZiAocmV0IDwgMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJlcnJvciBhZGRpbmcgcHd3IHRjbGslZFxuIiwgY2xrKTsKKwkJCWdvdG8gZXJyOworCQl9CisJfQorCisJZm9yIChjbGsgPSAwOyBjbGsgPCBBUlJBWV9TSVpFKGNsa190aW1lcl90ZGl2KTsgY2xrKyspIHsKKwkJcmV0ID0gY2xrX3B3bV90ZGl2X3JlZ2lzdGVyKGNsayk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgImVycm9yIGFkZGluZyBwd20lZCB0ZGl2IGNsb2NrXG4iLCBjbGspOworCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwlmb3IgKGNsayA9IDA7IGNsayA8IEFSUkFZX1NJWkUoY2xrX3Rpbik7IGNsaysrKSB7CisJCXJldCA9IGNsa19wd21fdGluX3JlZ2lzdGVyKCZjbGtfdGluW2Nsa10pOworCQlpZiAocmV0IDwgMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJlcnJvciBhZGRpbmcgcHdtJWQgdGluIGNsb2NrXG4iLCBjbGspOworCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKKworIGVycjoKKwlyZXR1cm4gcmV0OworfQorCithcmNoX2luaXRjYWxsKHMzYzI0eHhfcHdtY2xrX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS5jIGIvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YzRiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLmMKQEAgLTAsMCArMSw0MDIgQEAKKy8qIGFyY2gvYXJtL3BsYXQtczNjMjR4eC9wd20uYworICoKKyAqIENvcHlyaWdodCAoYykgMjAwNyBCZW4gRG9va3MKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4sIDxiZW4tbGludXhAZmx1ZmYub3JnPgorICoKKyAqIFMzQzI0WFggUFdNIGRldmljZSBjb3JlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcHdtLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy10aW1lci5oPgorCitzdHJ1Y3QgcHdtX2RldmljZSB7CisJc3RydWN0IGxpc3RfaGVhZAkgbGlzdDsKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlCSpwZGV2OworCisJc3RydWN0IGNsawkJKmNsa19kaXY7CisJc3RydWN0IGNsawkJKmNsazsKKwljb25zdCBjaGFyCQkqbGFiZWw7CisKKwl1bnNpZ25lZCBpbnQJCSBwZXJpb2RfbnM7CisJdW5zaWduZWQgaW50CQkgZHV0eV9uczsKKworCXVuc2lnbmVkIGNoYXIJCSB0Y29uX2Jhc2U7CisJdW5zaWduZWQgY2hhcgkJIHJ1bm5pbmc7CisJdW5zaWduZWQgY2hhcgkJIHVzZV9jb3VudDsKKwl1bnNpZ25lZCBjaGFyCQkgcHdtX2lkOworfTsKKworI2RlZmluZSBwd21fZGJnKF9wd20sIG1zZy4uLikgZGV2X2luZm8oJihfcHdtKS0+cGRldi0+ZGV2LCBtc2cpCisKK3N0YXRpYyBzdHJ1Y3QgY2xrICpjbGtfc2NhbGVyWzJdOworCisvKiBTdGFuZGFyZCBzZXR1cCBmb3IgYSB0aW1lciBibG9jay4gKi8KKworI2RlZmluZSBUSU1FUl9SRVNPVVJDRV9TSVpFICgxKQorCisjZGVmaW5lIFRJTUVSX1JFU09VUkNFKF90bXIsIF9pcnEpCQkJXAorCShzdHJ1Y3QgcmVzb3VyY2UgW1RJTUVSX1JFU09VUkNFX1NJWkVdKSB7CVwKKwkJWzBdID0gewkJCQkJXAorCQkJLnN0YXJ0CT0gX2lycSwJCQlcCisJCQkuZW5kCT0gX2lycSwJCQlcCisJCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUQlcCisJCX0JCQkJCVwKKwl9CisKKyNkZWZpbmUgREVGSU5FX1RJTUVSKF90bXJfbm8sIF9pcnEpCQkJXAorCS5uYW1lCQk9ICJzM2MyNHh4LXB3bSIsCQlcCisJLmlkCQk9IF90bXJfbm8sCQkJXAorCS5udW1fcmVzb3VyY2VzCT0gVElNRVJfUkVTT1VSQ0VfU0laRSwJCVwKKwkucmVzb3VyY2UJPSBUSU1FUl9SRVNPVVJDRShfdG1yX25vLCBfaXJxKSwJXAorCisvKiBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgYW4gc3RhdGljIG1hcHBpbmcgZm9yIHRoZSB0aW1lciwgd2UgZG8gbm90CisgKiBib3RoZXIgc2V0dGluZyBhbnkgSU8gcmVzb3VyY2UgZm9yIHRoZSBiYXNlLgorICovCisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcltdID0geworCVswXSA9IHsgREVGSU5FX1RJTUVSKDAsIElSUV9USU1FUjApIH0sCisJWzFdID0geyBERUZJTkVfVElNRVIoMSwgSVJRX1RJTUVSMSkgfSwKKwlbMl0gPSB7IERFRklORV9USU1FUigyLCBJUlFfVElNRVIyKSB9LAorCVszXSA9IHsgREVGSU5FX1RJTUVSKDMsIElSUV9USU1FUjMpIH0sCisJWzRdID0geyBERUZJTkVfVElNRVIoNCwgSVJRX1RJTUVSNCkgfSwKK307CisKK3N0YXRpYyBpbmxpbmUgaW50IHB3bV9pc190ZGl2KHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJcmV0dXJuIGNsa19nZXRfcGFyZW50KHB3bS0+Y2xrKSA9PSBwd20tPmNsa19kaXY7Cit9CisKK3N0YXRpYyBERUZJTkVfTVVURVgocHdtX2xvY2spOworc3RhdGljIExJU1RfSEVBRChwd21fbGlzdCk7CisKK3N0cnVjdCBwd21fZGV2aWNlICpwd21fcmVxdWVzdChpbnQgcHdtX2lkLCBjb25zdCBjaGFyICpsYWJlbCkKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCWludCBmb3VuZCA9IDA7CisKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHB3bSwgJnB3bV9saXN0LCBsaXN0KSB7CisJCWlmIChwd20tPnB3bV9pZCA9PSBwd21faWQpIHsKKwkJCWZvdW5kID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKGZvdW5kKSB7CisJCWlmIChwd20tPnVzZV9jb3VudCA9PSAwKSB7CisJCQlwd20tPnVzZV9jb3VudCA9IDE7CisJCQlwd20tPmxhYmVsID0gbGFiZWw7CisJCX0gZWxzZQorCQkJcHdtID0gRVJSX1BUUigtRUJVU1kpOworCX0gZWxzZQorCQlwd20gPSBFUlJfUFRSKC1FTk9FTlQpOworCisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisJcmV0dXJuIHB3bTsKK30KKworRVhQT1JUX1NZTUJPTChwd21fcmVxdWVzdCk7CisKKwordm9pZCBwd21fZnJlZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKQoreworCW11dGV4X2xvY2soJnB3bV9sb2NrKTsKKworCWlmIChwd20tPnVzZV9jb3VudCkgeworCQlwd20tPnVzZV9jb3VudC0tOworCQlwd20tPmxhYmVsID0gTlVMTDsKKwl9IGVsc2UKKwkJcHJpbnRrKEtFUk5fRVJSICJQV00lZCBkZXZpY2UgYWxyZWFkeSBmcmVlZFxuIiwgcHdtLT5wd21faWQpOworCisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7Cit9CisKK0VYUE9SVF9TWU1CT0wocHdtX2ZyZWUpOworCisjZGVmaW5lIHB3bV90Y29uX3N0YXJ0KHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMCkpCisjZGVmaW5lIHB3bV90Y29uX2ludmVydChwd20pICgxIDw8IChwd20tPnRjb25fYmFzZSArIDIpKQorI2RlZmluZSBwd21fdGNvbl9hdXRvcmVsb2FkKHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMykpCisjZGVmaW5lIHB3bV90Y29uX21hbnVsdXBkYXRlKHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMSkpCisKK2ludCBwd21fZW5hYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHRjb247CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX3N0YXJ0KHB3bSk7CisJX19yYXdfd3JpdGVsKHRjb24sIFMzQzI0MTBfVENPTik7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlwd20tPnJ1bm5pbmcgPSAxOworCXJldHVybiAwOworfQorCitFWFBPUlRfU1lNQk9MKHB3bV9lbmFibGUpOworCit2b2lkIHB3bV9kaXNhYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHRjb247CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uICY9IH5wd21fdGNvbl9zdGFydChwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcHdtLT5ydW5uaW5nID0gMDsKK30KKworRVhQT1JUX1NZTUJPTChwd21fZGlzYWJsZSk7CisKK3Vuc2lnbmVkIGxvbmcgcHdtX2NhbGNfdGluKHN0cnVjdCBwd21fZGV2aWNlICpwd20sIHVuc2lnbmVkIGxvbmcgZnJlcSkKK3sKKwl1bnNpZ25lZCBsb25nIHRpbl9wYXJlbnRfcmF0ZTsKKwl1bnNpZ25lZCBpbnQgZGl2OworCisJdGluX3BhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsa19nZXRfcGFyZW50KHB3bS0+Y2xrX2RpdikpOworCXB3bV9kYmcocHdtLCAidGluIHBhcmVudCBhdCAlbHVcbiIsIHRpbl9wYXJlbnRfcmF0ZSk7CisKKwlmb3IgKGRpdiA9IDI7IGRpdiA8PSAxNjsgZGl2ICo9IDIpIHsKKwkJaWYgKCh0aW5fcGFyZW50X3JhdGUgLyAoZGl2IDw8IDE2KSkgPCBmcmVxKQorCQkJcmV0dXJuIHRpbl9wYXJlbnRfcmF0ZSAvIGRpdjsKKwl9CisKKwlyZXR1cm4gdGluX3BhcmVudF9yYXRlIC8gMTY7Cit9CisKKyNkZWZpbmUgTlNfSU5fSFogKDEwMDAwMDAwMDBVTCkKKworaW50IHB3bV9jb25maWcoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgaW50IGR1dHlfbnMsIGludCBwZXJpb2RfbnMpCit7CisJdW5zaWduZWQgbG9uZyB0aW5fcmF0ZTsKKwl1bnNpZ25lZCBsb25nIHRpbl9uczsKKwl1bnNpZ25lZCBsb25nIHBlcmlvZDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgdGNvbjsKKwl1bnNpZ25lZCBsb25nIHRjbnQ7CisJbG9uZyB0Y21wOworCisJLyogV2UgY3VycmVudGx5IGF2b2lkIHVzaW5nIDY0Yml0IGFyaXRobWV0aWMgYnkgdXNpbmcgdGhlCisJICogZmFjdCB0aGF0IGFueXRoaW5nIGZhc3RlciB0aGFuIDFIeiBpcyBlYXNpbHkgcmVwcmVzZW50YWJsZQorCSAqIGJ5IDMyYml0cy4gKi8KKworCWlmIChwZXJpb2RfbnMgPiBOU19JTl9IWiB8fCBkdXR5X25zID4gTlNfSU5fSFopCisJCXJldHVybiAtRVJBTkdFOworCisJaWYgKGR1dHlfbnMgPiBwZXJpb2RfbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHBlcmlvZF9ucyA9PSBwd20tPnBlcmlvZF9ucyAmJgorCSAgICBkdXR5X25zID09IHB3bS0+ZHV0eV9ucykKKwkJcmV0dXJuIDA7CisKKwkvKiBUaGUgVENNUCBhbmQgVENOVCBjYW4gYmUgcmVhZCB3aXRob3V0IGEgbG9jaywgdGhleSdyZSBub3QKKwkgKiBzaGFyZWQgYmV0d2VlbiB0aGUgdGltZXJzLiAqLworCisJdGNtcCA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENNUEIocHdtLT5wd21faWQpKTsKKwl0Y250ID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ05UQihwd20tPnB3bV9pZCkpOworCisJcGVyaW9kID0gTlNfSU5fSFogLyBwZXJpb2RfbnM7CisKKwlwd21fZGJnKHB3bSwgImR1dHlfbnM9JWQsIHBlcmlvZF9ucz0lZCAoJWx1KVxuIiwKKwkJZHV0eV9ucywgcGVyaW9kX25zLCBwZXJpb2QpOworCisJLyogQ2hlY2sgdG8gc2VlIGlmIHdlIGFyZSBjaGFuZ2luZyB0aGUgY2xvY2sgcmF0ZSBvZiB0aGUgUFdNICovCisKKwlpZiAocHdtLT5wZXJpb2RfbnMgIT0gcGVyaW9kX25zKSB7CisJCWlmIChwd21faXNfdGRpdihwd20pKSB7CisJCQl0aW5fcmF0ZSA9IHB3bV9jYWxjX3Rpbihwd20sIHBlcmlvZCk7CisJCQljbGtfc2V0X3JhdGUocHdtLT5jbGtfZGl2LCB0aW5fcmF0ZSk7CisJCX0gZWxzZQorCQkJdGluX3JhdGUgPSBjbGtfZ2V0X3JhdGUocHdtLT5jbGspOworCisJCXB3bS0+cGVyaW9kX25zID0gcGVyaW9kX25zOworCisJCXB3bV9kYmcocHdtLCAidGluX3JhdGU9JWx1XG4iLCB0aW5fcmF0ZSk7CisKKwkJdGluX25zID0gTlNfSU5fSFogLyB0aW5fcmF0ZTsKKwkJdGNudCA9IHBlcmlvZF9ucyAvIHRpbl9uczsKKwl9IGVsc2UKKwkJdGluX25zID0gTlNfSU5fSFogLyBjbGtfZ2V0X3JhdGUocHdtLT5jbGspOworCisJLyogTm90ZSwgY291bnRlcnMgY291bnQgZG93biAqLworCisJdGNtcCA9IGR1dHlfbnMgLyB0aW5fbnM7CisJdGNtcCA9IHRjbnQgLSB0Y21wOworCisJcHdtX2RiZyhwd20sICJ0aW5fbnM9JWx1LCB0Y21wPSVsZC8lbHVcbiIsIHRpbl9ucywgdGNtcCwgdGNudCk7CisKKwlpZiAodGNtcCA8IDApCisJCXRjbXAgPSAwOworCisJLyogVXBkYXRlIHRoZSBQV00gcmVnaXN0ZXIgYmxvY2suICovCisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwlfX3Jhd193cml0ZWwodGNtcCwgUzNDMjQxMF9UQ01QQihwd20tPnB3bV9pZCkpOworCV9fcmF3X3dyaXRlbCh0Y250LCBTM0MyNDEwX1RDTlRCKHB3bS0+cHdtX2lkKSk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX21hbnVsdXBkYXRlKHB3bSk7CisJdGNvbiB8PSBwd21fdGNvbl9hdXRvcmVsb2FkKHB3bSk7CisJX19yYXdfd3JpdGVsKHRjb24sIFMzQzI0MTBfVENPTik7CisKKwl0Y29uICY9IH5wd21fdGNvbl9tYW51bHVwZGF0ZShwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcmV0dXJuIDA7Cit9CisKK0VYUE9SVF9TWU1CT0wocHdtX2NvbmZpZyk7CisKK3N0YXRpYyBpbnQgcHdtX3JlZ2lzdGVyKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJcHdtLT5kdXR5X25zID0gLTE7CisJcHdtLT5wZXJpb2RfbnMgPSAtMTsKKworCW11dGV4X2xvY2soJnB3bV9sb2NrKTsKKwlsaXN0X2FkZF90YWlsKCZwd20tPmxpc3QsICZwd21fbGlzdCk7CisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzM2NfcHdtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyB0Y29uOworCXVuc2lnbmVkIGludCBpZCA9IHBkZXYtPmlkOworCWludCByZXQ7CisKKwlpZiAoaWQgPT0gNCkgeworCQlkZXZfZXJyKGRldiwgIlRJTUVSNCBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZFxuIik7CisJCXJldHVybiAtRU5YSU87CisJfQorCisJcHdtID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHB3bV9kZXZpY2UpLCBHRlBfS0VSTkVMKTsKKwlpZiAocHdtID09IE5VTEwpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcHdtX2RldmljZVxuIik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCXB3bS0+cGRldiA9IHBkZXY7CisJcHdtLT5wd21faWQgPSBpZDsKKworCS8qIGNhbGN1bGF0ZSBiYXNlIG9mIGNvbnRyb2wgYml0cyBpbiBUQ09OICovCisJcHdtLT50Y29uX2Jhc2UgPSBpZCA9PSAwID8gMCA6IChpZCAqIDQpICsgNDsKKworCXB3bS0+Y2xrID0gY2xrX2dldChkZXYsICJwd20tdGluIik7CisJaWYgKElTX0VSUihwd20tPmNsaykpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHB3bSB0aW4gY2xrXG4iKTsKKwkJcmV0ID0gUFRSX0VSUihwd20tPmNsayk7CisJCWdvdG8gZXJyX2FsbG9jOworCX0KKworCXB3bS0+Y2xrX2RpdiA9IGNsa19nZXQoZGV2LCAicHdtLXRkaXYiKTsKKwlpZiAoSVNfRVJSKHB3bS0+Y2xrX2RpdikpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHB3bSB0ZGl2IGNsa1xuIik7CisJCXJldCA9IFBUUl9FUlIocHdtLT5jbGtfZGl2KTsKKwkJZ290byBlcnJfY2xrX3RpbjsKKwl9CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX2ludmVydChwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisKKwlyZXQgPSBwd21fcmVnaXN0ZXIocHdtKTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIHB3bVxuIik7CisJCWdvdG8gZXJyX2Nsa190ZGl2OworCX0KKworCXB3bV9kYmcocHdtLCAiY29uZmlnIGJpdHMgJTAyeFxuIiwKKwkJKF9fcmF3X3JlYWRsKFMzQzI0MTBfVENPTikgPj4gcHdtLT50Y29uX2Jhc2UpICYgMHgwZik7CisKKwlkZXZfaW5mbyhkZXYsICJ0aW4gYXQgJWx1LCB0ZGl2IGF0ICVsdSwgdGluPSVzY2xrLCBiYXNlICVkXG4iLAorCQkgY2xrX2dldF9yYXRlKHB3bS0+Y2xrKSwKKwkJIGNsa19nZXRfcmF0ZShwd20tPmNsa19kaXYpLAorCQkgcHdtX2lzX3RkaXYocHdtKSA/ICJkaXYiIDogImV4dCIsIHB3bS0+dGNvbl9iYXNlKTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIHB3bSk7CisJcmV0dXJuIDA7CisKKyBlcnJfY2xrX3RkaXY6CisJY2xrX3B1dChwd20tPmNsa19kaXYpOworCisgZXJyX2Nsa190aW46CisJY2xrX3B1dChwd20tPmNsayk7CisKKyBlcnJfYWxsb2M6CisJa2ZyZWUocHdtKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHMzY19wd21fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJY2xrX3B1dChwd20tPmNsa19kaXYpOworCWNsa19wdXQocHdtLT5jbGspOworCWtmcmVlKHB3bSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjX3B3bV9kcml2ZXIgPSB7CisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0eHgtcHdtIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUJCT0gczNjX3B3bV9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHMzY19wd21fcmVtb3ZlKSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHB3bV9pbml0KHZvaWQpCit7CisJaW50IHJldDsKKworCWNsa19zY2FsZXJbMF0gPSBjbGtfZ2V0KE5VTEwsICJwd20tc2NhbGVyMCIpOworCWNsa19zY2FsZXJbMV0gPSBjbGtfZ2V0KE5VTEwsICJwd20tc2NhbGVyMSIpOworCisJaWYgKElTX0VSUihjbGtfc2NhbGVyWzBdKSB8fCBJU19FUlIoY2xrX3NjYWxlclsxXSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogZmFpbGVkIHRvIGdldCBzY2FsZXIgY2xvY2tzXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmczNjX3B3bV9kcml2ZXIpOworCWlmIChyZXQpCisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGZhaWxlZCB0byBhZGQgcHdtIGRyaXZlclxuIiwgX19mdW5jX18pOworCisJcmV0dXJuIHJldDsKK30KKworYXJjaF9pbml0Y2FsbChwd21faW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS90b29scy9tYWNoLXR5cGVzIGIvYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcwppbmRleCAyMDdhOGI1Li4wYmU1NjMwIDEwMDY0NAotLS0gYS9hcmNoL2FybS90b29scy9tYWNoLXR5cGVzCisrKyBiL2FyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMKQEAgLTEyLDcgKzEyLDcgQEAKICMKICMgICBodHRwOi8vd3d3LmFybS5saW51eC5vcmcudWsvZGV2ZWxvcGVyL21hY2hpbmVzLz9hY3Rpb249bmV3CiAjCi0jIExhc3QgdXBkYXRlOiBTYXQgQXByIDE5IDExOjIzOjM4IDIwMDgKKyMgTGFzdCB1cGRhdGU6IE1vbiBKdWwgNyAxNjoyNTozOSAyMDA4CiAjCiAjIG1hY2hpbmVfaXNfeHh4CUNPTkZJR194eHh4CQlNQUNIX1RZUEVfeHh4CQludW1iZXIKICMKQEAgLTU2MCw3ICs1NjAsNiBAQAogYm94ZXIJCQlNQUNIX0JPWEVSCQlCT1hFUgkJCTU0NAogc2hlcGhlcmQJCU1BQ0hfU0hFUEhFUkQJCVNIRVBIRVJECQk1NDUKIGFtbDQyODAwYWEJCU1BQ0hfQU1MNDI4MDBBQQkJQU1MNDI4MDBBQQkJNTQ2Ci1tbDY3NDAwMQkJTUFDSF9NQUNIX1RZUEVfTUw2NzQwMDEJTUFDSF9UWVBFX01MNjc0MDAxCTU0NwogbHBjMjI5NAkJCU1BQ0hfTFBDMjI5NAkJTFBDMjI5NAkJCTU0OAogc3dpdGNoZ3Jhc3MJCU1BQ0hfU1dJVENIR1JBU1MJU1dJVENIR1JBU1MJCTU0OQogZW5zX2NtdQkJCU1BQ0hfRU5TX0NNVQkJRU5TX0NNVQkJCTU1MApAQCAtNzQ4LDcgKzc0Nyw2IEBACiBpdGU4MTUyCQkJTUFDSF9JVEU4MTUyCQlJVEU4MTUyCQkJNzM1CiBscGMzeHh4CQkJTUFDSF9MUEMzWFhYCQlMUEMzWFhYCQkJNzM2CiBwdXBwZXRlZXIJCU1BQ0hfUFVQUEVURUVSCQlQVVBQRVRFRVIJCTczNwotdnQwMDEJCQlNQUNIX01BQ0hfVkFEQVRFQ0gJTUFDSF9WQURBVEVDSAkJNzM4CiBlNTcwCQkJTUFDSF9FNTcwCQlFNTcwCQkJNzM5CiB4NTAJCQlNQUNIX1g1MAkJWDUwCQkJNzQwCiByZWNvbgkJCU1BQ0hfUkVDT04JCVJFQ09OCQkJNzQxCkBAIC04MzksNyArODM3LDcgQEAKIG9tYXBfZ3NhbXBsZQkJTUFDSF9PTUFQX0dTQU1QTEUJT01BUF9HU0FNUExFCQk4MjYKIHJlYWx2aWV3X2ViCQlNQUNIX1JFQUxWSUVXX0VCCVJFQUxWSUVXX0VCCQk4MjcKIHNhbW9hCQkJTUFDSF9TQU1PQQkJU0FNT0EJCQk4MjgKLXQzeHNjYWxlCQlNQUNIX1QzWFNDQUxFCQlUM1hTQ0FMRQkJODI5CitwYWxtdDMJCQlNQUNIX1BBTE1UMwkJUEFMTVQzCQkJODI5CiBpODc4CQkJTUFDSF9JODc4CQlJODc4CQkJODMwCiBib3J6b2kJCQlNQUNIX0JPUlpPSQkJQk9SWk9JCQkJODMxCiBnZWNrbwkJCU1BQ0hfR0VDS08JCUdFQ0tPCQkJODMyCkBAIC04OTUsNyArODkzLDcgQEAKIG9taV9ib2FyZAkJTUFDSF9PTUlfQk9BUkQJCU9NSV9CT0FSRAkJODgyCiBteDIxY2l2CQkJTUFDSF9NWDIxQ0lWCQlNWDIxQ0lWCQkJODgzCiBtYWhpX2NkYWMJCU1BQ0hfTUFISV9DREFDCQlNQUhJX0NEQUMJCTg4NAoteHNjYWxlX3BhbG10eAkJTUFDSF9YU0NBTEVfUEFMTVRYCVhTQ0FMRV9QQUxNVFgJCTg4NQorcGFsbXR4CQkJTUFDSF9QQUxNVFgJCVBBTE1UWAkJCTg4NQogczNjMjQxMwkJCU1BQ0hfUzNDMjQxMwkJUzNDMjQxMwkJCTg4Nwogc2Ftc3lzX2VwMAkJTUFDSF9TQU1TWVNfRVAwCQlTQU1TWVNfRVAwCQk4ODgKIHdnMzAydjEJCQlNQUNIX1dHMzAyVjEJCVdHMzAyVjEJCQk4ODkKQEAgLTkxOCw3ICs5MTYsNyBAQAogYXBmOTMyOAkJCU1BQ0hfQVBGOTMyOAkJQVBGOTMyOAkJCTkwNgogb21hcF93aXBvcQkJTUFDSF9PTUFQX1dJUE9RCQlPTUFQX1dJUE9RCQk5MDcKIG9tYXBfdHdpcAkJTUFDSF9PTUFQX1RXSVAJCU9NQVBfVFdJUAkJOTA4Ci14c2NhbGVfdHJlbzY1MAkJTUFDSF9YU0NBTEVfUEFMTVRSRU82NTAJWFNDQUxFX1BBTE1UUkVPNjUwCTkwOQorcGFsbXRyZW82NTAJCU1BQ0hfUEFMTVRSRU82NTAJUEFMTVRSRU82NTAJCTkwOQogYWN1bWVuCQkJTUFDSF9BQ1VNRU4JCUFDVU1FTgkJCTkxMAogeHAxMDAJCQlNQUNIX1hQMTAwCQlYUDEwMAkJCTkxMQogZnMyNDEwCQkJTUFDSF9GUzI0MTAJCUZTMjQxMAkJCTkxMgpAQCAtOTI2LDggKzkyNCw4IEBACiBzcTJmdGxwYWxtCQlNQUNIX1NRMkZUTFBBTE0JCVNRMkZUTFBBTE0JCTkxNAogYnNlbXNlcnZlcgkJTUFDSF9CU0VNU0VSVkVSCQlCU0VNU0VSVkVSCQk5MTUKIG5ldGNsaWVudAkJTUFDSF9ORVRDTElFTlQJCU5FVENMSUVOVAkJOTE2Ci14c2NhbGVfcGFsbXR0NQkJTUFDSF9YU0NBTEVfUEFMTVRUNQlYU0NBTEVfUEFMTVRUNQkJOTE3Ci14c2NhbGVfcGFsbXRjCQlNQUNIX09NQVBfUEFMTVRDCU9NQVBfUEFMTVRDCQk5MTgKK3BhbG10NQkJCU1BQ0hfUEFMTVQ1CQlQQUxNVDUJCQk5MTcKK3BhbG10YwkJCU1BQ0hfUEFMTVRDCQlQQUxNVEMJCQk5MTgKIG9tYXBfYXBvbGxvbgkJTUFDSF9PTUFQX0FQT0xMT04JT01BUF9BUE9MTE9OCQk5MTkKIG14YzMwMDMwZXZiCQlNQUNIX01YQzMwMDMwRVZCCU1YQzMwMDMwRVZCCQk5MjAKIHJlYV8yZAkJCU1BQ0hfUkVBXzJECQlSRUFfMkQJCQk5MjEKQEAgLTEyMjAsNyArMTIxOCw2IEBACiBlbTcyMTAJCQlNQUNIX0VNNzIxMAkJRU03MjEwCQkJMTIxMgogaHRjaGVybWVzCQlNQUNIX0hUQ0hFUk1FUwkJSFRDSEVSTUVTCQkxMjEzCiBldGlfYzEJCQlNQUNIX0VUSV9DMQkJRVRJX0MxCQkJMTIxNAotbWFjaF9kZXAyNDEwCQlNQUNIX01BQ0hfREVQMjQxMAlNQUNIX0RFUDI0MTAJCTEyMTUKIGFjMTAwCQkJTUFDSF9BQzEwMAkJQUMxMDAJCQkxMjE2CiBzbmVldGNoCQkJTUFDSF9TTkVFVENICQlTTkVFVENICQkJMTIxNwogc3R1ZGVudG1hdGUJCU1BQ0hfU1RVREVOVE1BVEUJU1RVREVOVE1BVEUJCTEyMTgKQEAgLTE0MjEsMTAgKzE0MTgsMTAgQEAKIGNudHlfdGl0YW4JCU1BQ0hfQ05UWV9USVRBTgkJQ05UWV9USVRBTgkJMTQxOAogYXBwM3h4CQkJTUFDSF9BUFAzWFgJCUFQUDNYWAkJCTE0MTkKIHNpZGVvYXRzZ3JhbWEJCU1BQ0hfU0lERU9BVFNHUkFNQQlTSURFT0FUU0dSQU1BCQkxNDIwCi14c2NhbGVfcGFsbXQ3MDBwCU1BQ0hfWFNDQUxFX1BBTE1UNzAwUAlYU0NBTEVfUEFMTVQ3MDBQCTE0MjEKLXhzY2FsZV9wYWxtdDcwMHcJTUFDSF9YU0NBTEVfUEFMTVQ3MDBXCVhTQ0FMRV9QQUxNVDcwMFcJMTQyMgoteHNjYWxlX3BhbG10NzUwCQlNQUNIX1hTQ0FMRV9QQUxNVDc1MAlYU0NBTEVfUEFMTVQ3NTAJCTE0MjMKLXhzY2FsZV9wYWxtdDc1NXAJTUFDSF9YU0NBTEVfUEFMTVQ3NTVQCVhTQ0FMRV9QQUxNVDc1NVAJMTQyNAorcGFsbXRyZW83MDBwCQlNQUNIX1BBTE1UUkVPNzAwUAlQQUxNVFJFTzcwMFAJCTE0MjEKK3BhbG10cmVvNzAwdwkJTUFDSF9QQUxNVFJFTzcwMFcJUEFMTVRSRU83MDBXCQkxNDIyCitwYWxtdHJlbzc1MAkJTUFDSF9QQUxNVFJFTzc1MAlQQUxNVFJFTzc1MAkJMTQyMworcGFsbXRyZW83NTVwCQlNQUNIX1BBTE1UUkVPNzU1UAlQQUxNVFJFTzc1NVAJCTE0MjQKIGV6cmVnYW51dDkyMDAJCU1BQ0hfRVpSRUdBTlVUOTIwMAlFWlJFR0FOVVQ5MjAwCQkxNDI1CiBzYXJnZQkJCU1BQ0hfU0FSR0UJCVNBUkdFCQkJMTQyNgogYTY5NgkJCU1BQ0hfQTY5NgkJQTY5NgkJCTE0MjcKQEAgLTE0NjMsNyArMTQ2MCw3IEBACiBodGN0aXRhbgkJTUFDSF9IVENUSVRBTgkJSFRDVElUQU4JCTE0NjMKIHFyYW5pdW0JCQlNQUNIX1FSQU5JVU0JCVFSQU5JVU0JCQkxNDY0CiBhZHhfd3NjMgkJTUFDSF9BRFhfV1NDMgkJQURYX1dTQzIJCTE0NjUKLWFkeF9tZWRjb20JCU1BQ0hfQURYX01FRElORVQJQURYX01FRElORVQJCTE0NjYKK2FkeF9tZWRjb20JCU1BQ0hfQURYX01FRENPTQkJQURYX01FRENPTQkJMTQ2NgogYmJvYXJkCQkJTUFDSF9CQk9BUkQJCUJCT0FSRAkJCTE0NjcKIGNhbWJyaWEJCQlNQUNIX0NBTUJSSUEJCUNBTUJSSUEJCQkxNDY4CiBtdDd4eHgJCQlNQUNIX01UN1hYWAkJTVQ3WFhYCQkJMTQ2OQpAQCAtMTUxOSw3ICsxNTE2LDcgQEAKIGNvcnNpY2EJCQlNQUNIX0NPUlNJQ0EJCUNPUlNJQ0EJCQkxNTE5CiBiaWdleWUJCQlNQUNIX0JJR0VZRQkJQklHRVlFCQkJMTUyMAogdGxsNTAwMAkJCU1BQ0hfVExMNTAwMAkJVExMNTAwMAkJCTE1MjIKLWhuaTI3MAkJCU1BQ0hfSE5JX1gyNzAJCUhOSV9YMjcwCQkxNTIzCitiZWJvdAkJCU1BQ0hfQkVCT1QJCUJFQk9UCQkJMTUyMwogcW9uZwkJCU1BQ0hfUU9ORwkJUU9ORwkJCTE1MjQKIHRjb21wYWN0CQlNQUNIX1RDT01QQUNUCQlUQ09NUEFDVAkJMTUyNQogcHVtYTUJCQlNQUNIX1BVTUE1CQlQVU1BNQkJCTE1MjYKQEAgLTE2MzYsNyArMTYzMyw2IEBACiBwYWxlcm1vYwkJTUFDSF9QQUxFUk1PQwkJUEFMRVJNT0MJCTE2MzgKIG9tYXBfbGRwCQlNQUNIX09NQVBfTERQCQlPTUFQX0xEUAkJMTYzOQogaXA1MDAJCQlNQUNIX0lQNTAwCQlJUDUwMAkJCTE2NDAKLW14MzVhZHMJCQlNQUNIX01BQ0hfTVgzNUFEUwlNQUNIX01YMzVBRFMJCTE2NDEKIGFzZTIJCQlNQUNIX0FTRTIJCUFTRTIJCQkxNjQyCiBteDM1ZXZiCQkJTUFDSF9NWDM1RVZCCQlNWDM1RVZCCQkJMTY0MwogYW1sX204MDUwCQlNQUNIX0FNTF9NODA1MAkJQU1MX004MDUwCQkxNjQ0CkBAIC0xNjQ3LDcgKzE2NDMsNyBAQAogdHJpemVwczR3bAkJTUFDSF9UUklaRVBTNFdMCQlUUklaRVBTNFdMCQkxNjQ5CiB0cml6ZXBzNQkJTUFDSF9UUklaRVBTNQkJVFJJWkVQUzUJCTE2NTAKIG1hcmxpbgkJCU1BQ0hfTUFSTElOCQlNQVJMSU4JCQkxNjUxCi10czc4MDAJCQlNQUNIX1RTNzgwMAkJVFM3ODAwCQkJMTY1MgordHM3OHh4CQkJTUFDSF9UUzc4WFgJCVRTNzhYWAkJCTE2NTIKIGhwaXBhcTIxNAkJTUFDSF9IUElQQVEyMTQJCUhQSVBBUTIxNAkJMTY1MwogYXQ1NzJkOTQwZGNtCQlNQUNIX0FUNTcyRDk0MERDTQlBVDU3MkQ5NDBEQ00JCTE2NTQKIG5lMWJvYXJkCQlNQUNIX05FMUJPQVJECQlORTFCT0FSRAkJMTY1NQpAQCAtMTcyMCwzICsxNzE2LDk5IEBACiBsZ19rczIwCQkJTUFDSF9MR19LUzIwCQlMR19LUzIwCQkJMTcyNQogaGhncHMJCQlNQUNIX0hIR1BTCQlISEdQUwkJCTE3MjYKIG5va2lhX244MTBfd2ltYXgJTUFDSF9OT0tJQV9OODEwX1dJTUFYCU5PS0lBX044MTBfV0lNQVgJMTcyNworaW5zaWdodAkJCU1BQ0hfSU5TSUdIVAkJSU5TSUdIVAkJCTE3MjgKK3NhcHBoaXJlCQlNQUNIX1NBUFBISVJFCQlTQVBQSElSRQkJMTcyOQorY3NiNjM3eG8JCU1BQ0hfQ1NCNjM3WE8JCUNTQjYzN1hPCQkxNzMwCitldmlzaW9uZwkJTUFDSF9FVklTSU9ORwkJRVZJU0lPTkcJCTE3MzEKK3N0bXAzN3h4CQlNQUNIX1NUTVAzN1hYCQlTVE1QMzdYWAkJMTczMgorc3RtcDM3OHgJCU1BQ0hfU1RNUDM4WFgJCVNUTVAzOFhYCQkxNzMzCit0bnQJCQlNQUNIX1ROVAkJVE5UCQkJMTczNAordGJ4dAkJCU1BQ0hfVEJYVAkJVEJYVAkJCTE3MzUKK3BsYXltYXRlCQlNQUNIX1BMQVlNQVRFCQlQTEFZTUFURQkJMTczNgorcG5zMTAJCQlNQUNIX1BOUzEwCQlQTlMxMAkJCTE3MzcKK2V6bmF2aQkJCU1BQ0hfRVpOQVZJCQlFWk5BVkkJCQkxNzM4CitwczQwMDAJCQlNQUNIX1BTNDAwMAkJUFM0MDAwCQkJMTczOQorZXp4X2E3ODAJCU1BQ0hfRVpYX0E3ODAJCUVaWF9BNzgwCQkxNzQwCitlenhfZTY4MAkJTUFDSF9FWlhfRTY4MAkJRVpYX0U2ODAJCTE3NDEKK2V6eF9hMTIwMAkJTUFDSF9FWlhfQTEyMDAJCUVaWF9BMTIwMAkJMTc0MgorZXp4X2U2CQkJTUFDSF9FWlhfRTYJCUVaWF9FNgkJCTE3NDMKK2V6eF9lMgkJCU1BQ0hfRVpYX0UyCQlFWlhfRTIJCQkxNzQ0CitlenhfYTkxMAkJTUFDSF9FWlhfQTkxMAkJRVpYX0E5MTAJCTE3NDUKK2N3bXgzMQkJCU1BQ0hfQ1dNWDMxCQlDV01YMzEJCQkxNzQ2CitzbDIzMTIJCQlNQUNIX1NMMjMxMgkJU0wyMzEyCQkJMTc0NworYmxlbm55CQkJTUFDSF9CTEVOTlkJCUJMRU5OWQkJCTE3NDgKK2RzMTA3CQkJTUFDSF9EUzEwNwkJRFMxMDcJCQkxNzQ5Citkc3gwNwkJCU1BQ0hfRFNYMDcJCURTWDA3CQkJMTc1MAorcGljb2NvbTEJCU1BQ0hfUElDT0NPTTEJCVBJQ09DT00xCQkxNzUxCitseW54X3dvbHZlcmluZQkJTUFDSF9MWU5YX1dPTFZFUklORQlMWU5YX1dPTFZFUklORQkJMTc1MgordWJpc3lzX3A5X3NjMTkJCU1BQ0hfVUJJU1lTX1A5X1NDMTkJVUJJU1lTX1A5X1NDMTkJCTE3NTMKK2tyYXRvc19sb3cJCU1BQ0hfS1JBVE9TX0xPVwkJS1JBVE9TX0xPVwkJMTc1NAorbTcwMAkJCU1BQ0hfTTcwMAkJTTcwMAkJCTE3NTUKK2VkbWluaV92MgkJTUFDSF9FRE1JTklfVjIJCUVETUlOSV9WMgkJMTc1NgoremlwaXQyCQkJTUFDSF9aSVBJVDIJCVpJUElUMgkJCTE3NTcKK2hzbGZlbXRvY2VsbAkJTUFDSF9IU0xGRU1UT0NFTEwJSFNMRkVNVE9DRUxMCQkxNzU4CitkYWludHJlZV9hdDkxCQlNQUNIX0RBSU5UUkVFX0FUOTEJREFJTlRSRUVfQVQ5MQkJMTc1OQorc2c1NjB1c2IJCU1BQ0hfU0c1NjBVU0IJCVNHNTYwVVNCCQkxNzYwCitvbWFwM19wYW5kb3JhCQlNQUNIX09NQVAzX1BBTkRPUkEJT01BUDNfUEFORE9SQQkJMTc2MQordXNyODIwMAkJCU1BQ0hfVVNSODIwMAkJVVNSODIwMAkJCTE3NjIKK3MxczY1awkJCU1BQ0hfUzFTNjVLCQlTMVM2NUsJCQkxNzYzCitzMnM2NWEJCQlNQUNIX1MyUzY1QQkJUzJTNjVBCQkJMTc2NAoraWNvcmUJCQlNQUNIX0lDT1JFCQlJQ09SRQkJCTE3NjUKK21zczIJCQlNQUNIX01TUzIJCU1TUzIJCQkxNzY2CitiZWxtb250CQkJTUFDSF9CRUxNT05UCQlCRUxNT05UCQkJMTc2NworYXN1c3A1MjUJCU1BQ0hfQVNVU1A1MjUJCUFTVVNQNTI1CQkxNzY4CitsYjg4cmM4NDgwCQlNQUNIX0xCODhSQzg0ODAJCUxCODhSQzg0ODAJCTE3NjkKK2hpcHhhCQkJTUFDSF9ISVBYQQkJSElQWEEJCQkxNzcwCitteDI1XzNkcwkJTUFDSF9NWDI1XzNEUwkJTVgyNV8zRFMJCTE3NzEKK204MDAJCQlNQUNIX004MDAJCU04MDAJCQkxNzcyCitvbWFwMzUzMF9sdl9zb20JCU1BQ0hfT01BUDM1MzBfTFZfU09NCU9NQVAzNTMwX0xWX1NPTQkJMTc3MworcHJpbWFfZXZiCQlNQUNIX1BSSU1BX0VWQgkJUFJJTUFfRVZCCQkxNzc0CitteDMxYnQxCQkJTUFDSF9NWDMxQlQxCQlNWDMxQlQxCQkJMTc3NQorYXRsYXM0X2V2YgkJTUFDSF9BVExBUzRfRVZCCQlBVExBUzRfRVZCCQkxNzc2CitteDMxY2ljYWRhCQlNQUNIX01YMzFDSUNBREEJCU1YMzFDSUNBREEJCTE3NzcKK21pNDI0d3IJCQlNQUNIX01JNDI0V1IJCU1JNDI0V1IJCQkxNzc4CitheHNfdWx0cmF4CQlNQUNIX0FYU19VTFRSQVgJCUFYU19VTFRSQVgJCTE3NzkKK2F0NTcyZDk0MGRlYgkJTUFDSF9BVDU3MkQ5NDBERUIJQVQ1NzJEOTQwREVCCQkxNzgwCitkYXZpbmNpX2RhOHh4X2V2bQlNQUNIX0RBVklOQ0lfREE4WFhfRVZNCURBVklOQ0lfREE4WFhfRVZNCTE3ODEKK2VwOTMwMgkJCU1BQ0hfRVA5MzAyCQlFUDkzMDIJCQkxNzgyCithdDU3MmQ5NDBoZmViCQlNQUNIX0FUNTcyRDk0MEhGRUIJQVQ1NzJEOTQwSEZFQgkJMTc4MworY3lib29rMwkJCU1BQ0hfQ1lCT09LMwkJQ1lCT09LMwkJCTE3ODQKK3dkZzAwMgkJCU1BQ0hfV0RHMDAyCQlXREcwMDIJCQkxNzg1CitzZzU2MGFkc2wJCU1BQ0hfU0c1NjBBRFNMCQlTRzU2MEFEU0wJCTE3ODYKK25leHRpb19uMjgwMF9pY2EJTUFDSF9ORVhUSU9fTjI4MDBfSUNBCU5FWFRJT19OMjgwMF9JQ0EJMTc4NworbWFydmVsbF9uZXdkYgkJTUFDSF9NQVJWRUxMX05FV0RCCU1BUlZFTExfTkVXREIJCTE3ODkKK3ZhbmRpaHVkCQlNQUNIX1ZBTkRJSFVECQlWQU5ESUhVRAkJMTc5MAorbWFneF9lOAkJCU1BQ0hfTUFHWF9FOAkJTUFHWF9FOAkJCTE3OTEKK21hZ3hfejYJCQlNQUNIX01BR1hfWjYJCU1BR1hfWjYJCQkxNzkyCittYWd4X3Y4CQkJTUFDSF9NQUdYX1Y4CQlNQUdYX1Y4CQkJMTc5MworbWFneF91OQkJCU1BQ0hfTUFHWF9VOQkJTUFHWF9VOQkJCTE3OTQKK3RvdWdoY2YwOAkJTUFDSF9UT1VHSENGMDgJCVRPVUdIQ0YwOAkJMTc5NQorenc0NDAwCQkJTUFDSF9aVzQ0MDAJCVpXNDQwMAkJCTE3OTYKK21hcmF0OTEJCQlNQUNIX01BUkFUOTEJCU1BUkFUOTEJCQkxNzk3CitvdmVybwkJCU1BQ0hfT1ZFUk8JCU9WRVJPCQkJMTc5OAorYXQyNDQwZXZiCQlNQUNIX0FUMjQ0MEVWQgkJQVQyNDQwRVZCCQkxNzk5CituZW9jb3JlOTI2CQlNQUNIX05FT0NPUkU5MjYJCU5FT0NPUkU5MjYJCTE4MDAKK3ducjg1NHQJCQlNQUNIX1dOUjg1NFQJCVdOUjg1NFQJCQkxODAxCitpbXgyNwkJCU1BQ0hfSU1YMjcJCUlNWDI3CQkJMTgwMgorbW9vc2VfZGIJCU1BQ0hfTU9PU0VfREIJCU1PT1NFX0RCCQkxODAzCitmYWI0CQkJTUFDSF9GQUI0CQlGQUI0CQkJMTgwNAoraHRjZGlhbW9uZAkJTUFDSF9IVENESUFNT05ECQlIVENESUFNT05ECQkxODA1CitmaW9uYQkJCU1BQ0hfRklPTkEJCUZJT05BCQkJMTgwNgorbXhjMzAwMzBfeAkJTUFDSF9NWEMzMDAzMF9YCQlNWEMzMDAzMF9YCQkxODA3CitibXAxMDAwCQkJTUFDSF9CTVAxMDAwCQlCTVAxMDAwCQkJMTgwOAorbG9naTkyMDAJCU1BQ0hfTE9HSTkyMDAJCUxPR0k5MjAwCQkxODA5Cit0cW1hMzEJCQlNQUNIX1RRTUEzMQkJVFFNQTMxCQkJMTgxMAorY2N3OXA5MjE1anMJCU1BQ0hfQ0NXOVA5MjE1SlMJQ0NXOVA5MjE1SlMJCTE4MTEKK3JkODhmNTE4MWxfZ2UJCU1BQ0hfUkQ4OEY1MTgxTF9HRQlSRDg4RjUxODFMX0dFCQkxODEyCitzaWZtYWluCQkJTUFDSF9TSUZNQUlOCQlTSUZNQUlOCQkJMTgxMworc2FtOV9sOTI2MQkJTUFDSF9TQU05X0w5MjYxCQlTQU05X0w5MjYxCQkxODE0CitjYzltMjQ0M2pzCQlNQUNIX0NDOU0yNDQzSlMJCUNDOU0yNDQzSlMJCTE4MTUKK3hhcmlhMzAwCQlNQUNIX1hBUklBMzAwCQlYQVJJQTMwMAkJMTgxNgoraXQ5MjAwCQkJTUFDSF9JVDkyMDAJCUlUOTIwMAkJCTE4MTcKK3JkODhmNTE4MWxfZnhvCQlNQUNIX1JEODhGNTE4MUxfRlhPCVJEODhGNTE4MUxfRlhPCQkxODE4Citrcmlzc19zZW5zb3IJCU1BQ0hfS1JJU1NfU0VOU09SCUtSSVNTX1NFTlNPUgkJMTgxOQorcGlsel9wbWk1CQlNQUNIX1BJTFpfUE1JNQkJUElMWl9QTUk1CQkxODIwCitqYWRlCQkJTUFDSF9KQURFCQlKQURFCQkJMTgyMQora3M4Njk1X3NvZnRwbGMJCU1BQ0hfS1M4Njk1X1NPRlRQTEMJS1M4Njk1X1NPRlRQTEMJCTE4MjIKK2dwcmlzYzQJCQlNQUNIX0dQUklTQzQJCUdQUklTQzQJCQkxODIzCitzdGFtcDkyNjAJCU1BQ0hfU1RBTVA5MjYwCQlTVEFNUDkyNjAJCTE4MjQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3ZmcC92ZnBtb2R1bGUuYyBiL2FyY2gvYXJtL3ZmcC92ZnBtb2R1bGUuYwppbmRleCAzMjQ1NWM2Li5jMGQyYzliIDEwMDY0NAotLS0gYS9hcmNoL2FybS92ZnAvdmZwbW9kdWxlLmMKKysrIGIvYXJjaC9hcm0vdmZwL3ZmcG1vZHVsZS5jCkBAIC0zNTIsNyArMzUyLDcgQEAKIAllbHNlIGlmICh2ZnBzaWQgJiBGUFNJRF9OT0RPVUJMRSkgewogCQlwcmludGsoIm5vIGRvdWJsZSBwcmVjaXNpb24gc3VwcG9ydFxuIik7CiAJfSBlbHNlIHsKLQkJc21wX2NhbGxfZnVuY3Rpb24odmZwX2VuYWJsZSwgTlVMTCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKHZmcF9lbmFibGUsIE5VTEwsIDEpOwogCiAJCVZGUF9hcmNoID0gKHZmcHNpZCAmIEZQU0lEX0FSQ0hfTUFTSykgPj4gRlBTSURfQVJDSF9CSVQ7ICAvKiBFeHRyYWN0IHRoZSBhcmNoaXRlY3R1cmUgdmVyc2lvbiAqLwogCQlwcmludGsoImltcGxlbWVudG9yICUwMnggYXJjaGl0ZWN0dXJlICVkIHBhcnQgJTAyeCB2YXJpYW50ICV4IHJldiAleFxuIiwKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvS2NvbmZpZyBiL2FyY2gvYXZyMzIvS2NvbmZpZwppbmRleCAwOWFkNzk5Li40NWQ2M2M5IDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL0tjb25maWcKKysrIGIvYXJjaC9hdnIzMi9LY29uZmlnCkBAIC04OCw2ICs4OCw3IEBACiAJc2VsZWN0IE1NVQogCXNlbGVjdCBQRVJGT1JNQU5DRV9DT1VOVEVSUwogCXNlbGVjdCBIQVZFX0dQSU9fTElCCisJc2VsZWN0IEdFTkVSSUNfQUxMT0NBVE9SCiAKICMKICMgQ1BVIHR5cGVzCkBAIC0xNDcsNiArMTQ4LDkgQEAKIAogc291cmNlICJrZXJuZWwvS2NvbmZpZy5wcmVlbXB0IgogCitjb25maWcgUVVJQ0tMSVNUCisJZGVmX2Jvb2wgeQorCiBjb25maWcgSEFWRV9BUkNIX0JPT1RNRU1fTk9ERQogCWRlZl9ib29sIG4KIApAQCAtMjAxLDYgKzIwNSwxMSBAQAogCiBtZW51ICJQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMiCiAKK3NvdXJjZSAia2VybmVsL3Bvd2VyL0tjb25maWciCisKK2NvbmZpZyBBUkNIX1NVU1BFTkRfUE9TU0lCTEUKKwlkZWZfYm9vbCB5CisKIG1lbnUgIkNQVSBGcmVxdWVuY3kgc2NhbGluZyIKIAogc291cmNlICJkcml2ZXJzL2NwdWZyZXEvS2NvbmZpZyIKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0bmd3MTAwL3NldHVwLmMgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdG5ndzEwMC9zZXR1cC5jCmluZGV4IGEzOThiZTIuLmE1MWJiOWYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0bmd3MTAwL3NldHVwLmMKKysrIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRuZ3cxMDAvc2V0dXAuYwpAQCAtOSw2ICs5LDggQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2V0aGVyZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLWdwaW8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgpAQCAtMjUsNiArMjcsMTMgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9pbml0Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG9ydG11eC5oPgogCisvKiBPc2NpbGxhdG9yIGZyZXF1ZW5jaWVzLiBUaGVzZSBhcmUgYm9hcmQtc3BlY2lmaWMgKi8KK3Vuc2lnbmVkIGxvbmcgYXQzMl9ib2FyZF9vc2NfcmF0ZXNbM10gPSB7CisJWzBdID0gMzI3NjgsCS8qIDMyLjc2OCBrSHogb24gUlRDIG9zYyAqLworCVsxXSA9IDIwMDAwMDAwLAkvKiAyMCBNSHogb24gb3NjMCAqLworCVsyXSA9IDEyMDAwMDAwLAkvKiAxMiBNSHogb24gb3NjMSAqLworfTsKKwogLyogSW5pdGlhbGl6ZWQgYnkgYm9vdGxvYWRlci1zcGVjaWZpYyBzdGFydHVwIGNvZGUuICovCiBzdHJ1Y3QgdGFnICpib290bG9hZGVyX3RhZ3MgX19pbml0ZGF0YTsKIApAQCAtMTQwLDYgKzE0OSwxMCBAQAogCX0sCiB9OwogCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgaTJjX2luZm9bXSA9IHsKKwkvKiBOT1RFOiAgb3JpZ2luYWwgQVR0aW55MjQgZmlybXdhcmUgaXMgYXQgYWRkcmVzcyAweDBiICovCit9OworCiBzdGF0aWMgaW50IF9faW5pdCBhdG5ndzEwMF9pbml0KHZvaWQpCiB7CiAJdW5zaWduZWQJaTsKQEAgLTE2NSwxMiArMTc4LDI4IEBACiAJfQogCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmbmd3X2dwaW9fbGVkcyk7CiAKKwkvKiBhbGwgdGhlc2UgaTJjL3NtYnVzIHBpbnMgc2hvdWxkIGhhdmUgZXh0ZXJuYWwgcHVsbHVwcyBmb3IKKwkgKiBvcGVuLWRyYWluIHNoYXJpbmcgYW1vbmcgYWxsIEkyQyBkZXZpY2VzLiAgU0RBIGFuZCBTQ0wgZG87CisJICogUEIyOC9FWFRJTlQzIGRvZXNuJ3Q7IGl0IHNob3VsZCBiZSBTTUJBTEVSVCMgKGZvciBQTUJ1cyksCisJICogYnV0IGl0J3Mgbm90IGF2YWlsYWJsZSBvZmYtYm9hcmQuCisJICovCisJYXQzMl9zZWxlY3RfcGVyaXBoKEdQSU9fUElOX1BCKDI4KSwgMCwgQVQzMl9HUElPRl9QVUxMVVApOwogCWF0MzJfc2VsZWN0X2dwaW8oaTJjX2dwaW9fZGF0YS5zZGFfcGluLAogCQlBVDMyX0dQSU9GX01VTFRJRFJWIHwgQVQzMl9HUElPRl9PVVRQVVQgfCBBVDMyX0dQSU9GX0hJR0gpOwogCWF0MzJfc2VsZWN0X2dwaW8oaTJjX2dwaW9fZGF0YS5zY2xfcGluLAogCQlBVDMyX0dQSU9GX01VTFRJRFJWIHwgQVQzMl9HUElPRl9PVVRQVVQgfCBBVDMyX0dQSU9GX0hJR0gpOwogCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmaTJjX2dwaW9fZGV2aWNlKTsKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBpMmNfaW5mbywgQVJSQVlfU0laRShpMmNfaW5mbykpOwogCiAJcmV0dXJuIDA7CiB9CiBwb3N0Y29yZV9pbml0Y2FsbChhdG5ndzEwMF9pbml0KTsKKworc3RhdGljIGludCBfX2luaXQgYXRuZ3cxMDBfYXJjaF9pbml0KHZvaWQpCit7CisJLyogc2V0X2lycV90eXBlKCkgYWZ0ZXIgdGhlIGFyY2hfaW5pdGNhbGwgZm9yIEVJQyBoYXMgcnVuLCBhbmQKKwkgKiBiZWZvcmUgdGhlIEkyQyBzdWJzeXN0ZW0gY291bGQgdHJ5IHVzaW5nIHRoaXMgSVJRLgorCSAqLworCXJldHVybiBzZXRfaXJxX3R5cGUoQVQzMl9FWFRJTlQoMyksIElSUV9UWVBFX0VER0VfRkFMTElORyk7Cit9CithcmNoX2luaXRjYWxsKGF0bmd3MTAwX2FyY2hfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAyLmMgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAyLmMKaW5kZXggMDAwZWI0Mi4uODZiMzYzYyAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMi5jCisrKyBiL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDIuYwpAQCAtMjgsNiArMjgsMTIgQEAKIAogI2luY2x1ZGUgImF0c3RrMTAwMC5oIgogCisvKiBPc2NpbGxhdG9yIGZyZXF1ZW5jaWVzLiBUaGVzZSBhcmUgYm9hcmQgc3BlY2lmaWMgKi8KK3Vuc2lnbmVkIGxvbmcgYXQzMl9ib2FyZF9vc2NfcmF0ZXNbM10gPSB7CisJWzBdID0gMzI3NjgsCS8qIDMyLjc2OCBrSHogb24gUlRDIG9zYyAqLworCVsxXSA9IDIwMDAwMDAwLAkvKiAyMCBNSHogb24gb3NjMCAqLworCVsyXSA9IDEyMDAwMDAwLAkvKiAxMiBNSHogb24gb3NjMSAqLworfTsKIAogc3RydWN0IGV0aF9hZGRyIHsKIAl1OCBhZGRyWzZdOwpAQCAtMjMyLDcgKzIzOCw3IEBACiAJc2V0X2h3X2FkZHIoYXQzMl9hZGRfZGV2aWNlX2V0aCgxLCAmZXRoX2RhdGFbMV0pKTsKICNlbHNlCiAJYXQzMl9hZGRfZGV2aWNlX2xjZGMoMCwgJmF0c3RrMTAwMF9sY2RjX2RhdGEsCi0JCQkgICAgIGZibWVtX3N0YXJ0LCBmYm1lbV9zaXplKTsKKwkJCSAgICAgZmJtZW1fc3RhcnQsIGZibWVtX3NpemUsIDApOwogI2VuZGlmCiAJYXQzMl9hZGRfZGV2aWNlX3VzYmEoMCwgTlVMTCk7CiAjaWZuZGVmIENPTkZJR19CT0FSRF9BVFNUSzEwMFhfU1czX0NVU1RPTQpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMy5jIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMy5jCmluZGV4IGEwYjIyM2QuLmVhMTA5ZjQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDMuYworKysgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAzLmMKQEAgLTI3LDYgKzI3LDEzIEBACiAKICNpbmNsdWRlICJhdHN0azEwMDAuaCIKIAorLyogT3NjaWxsYXRvciBmcmVxdWVuY2llcy4gVGhlc2UgYXJlIGJvYXJkIHNwZWNpZmljICovCit1bnNpZ25lZCBsb25nIGF0MzJfYm9hcmRfb3NjX3JhdGVzWzNdID0geworCVswXSA9IDMyNzY4LAkvKiAzMi43Njgga0h6IG9uIFJUQyBvc2MgKi8KKwlbMV0gPSAyMDAwMDAwMCwJLyogMjAgTUh6IG9uIG9zYzAgKi8KKwlbMl0gPSAxMjAwMDAwMCwJLyogMTIgTUh6IG9uIG9zYzEgKi8KK307CisKICNpZmRlZiBDT05GSUdfQk9BUkRfQVRTVEsxMDAwX0VYVERBQwogc3RhdGljIHN0cnVjdCBhdDczYzIxM19ib2FyZF9pbmZvIGF0NzNjMjEzX2RhdGEgPSB7CiAJLnNzY19pZAkJPSAwLApkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwNC5jIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwNC5jCmluZGV4IGU3NjVhODYuLmM3MjM2ZGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDQuYworKysgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDA0LmMKQEAgLTI5LDYgKzI5LDEzIEBACiAKICNpbmNsdWRlICJhdHN0azEwMDAuaCIKIAorLyogT3NjaWxsYXRvciBmcmVxdWVuY2llcy4gVGhlc2UgYXJlIGJvYXJkIHNwZWNpZmljICovCit1bnNpZ25lZCBsb25nIGF0MzJfYm9hcmRfb3NjX3JhdGVzWzNdID0geworCVswXSA9IDMyNzY4LAkvKiAzMi43Njgga0h6IG9uIFJUQyBvc2MgKi8KKwlbMV0gPSAyMDAwMDAwMCwJLyogMjAgTUh6IG9uIG9zYzAgKi8KKwlbMl0gPSAxMjAwMDAwMCwJLyogMTIgTUh6IG9uIG9zYzEgKi8KK307CisKICNpZmRlZiBDT05GSUdfQk9BUkRfQVRTVEsxMDAwX0VYVERBQwogc3RhdGljIHN0cnVjdCBhdDczYzIxM19ib2FyZF9pbmZvIGF0NzNjMjEzX2RhdGEgPSB7CiAJLnNzY19pZAkJPSAwLApAQCAtMTMzLDcgKzE0MCw3IEBACiAJYXQzMl9hZGRfZGV2aWNlX21jaSgwKTsKICNlbmRpZgogCWF0MzJfYWRkX2RldmljZV9sY2RjKDAsICZhdHN0azEwMDBfbGNkY19kYXRhLAotCQkJICAgICBmYm1lbV9zdGFydCwgZmJtZW1fc2l6ZSk7CisJCQkgICAgIGZibWVtX3N0YXJ0LCBmYm1lbV9zaXplLCAwKTsKIAlhdDMyX2FkZF9kZXZpY2VfdXNiYSgwLCBOVUxMKTsKICNpZm5kZWYgQ09ORklHX0JPQVJEX0FUU1RLMTAwWF9TVzNfQ1VTVE9NCiAJYXQzMl9hZGRfZGV2aWNlX3NzYygwLCBBVE1FTF9TU0NfVFgpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9rZXJuZWwvZW50cnktYXZyMzJiLlMgYi9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUwppbmRleCA1ZjMxNzAyLi4yYjM5OGNhIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUworKysgYi9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUwpAQCAtNzQsNTAgKzc0LDQxIEBACiAJLmFsaWduCTIKIAlicmFsCWRvX2R0bGJfbW9kaWZpZWQKIAotCS8qCi0JICogcjAgOglQR0QvUFQvUFRFCi0JICogcjEgOiBPZmZlbmRpbmcgYWRkcmVzcwotCSAqIHIyIDogU2NyYXRjaCByZWdpc3RlcgotCSAqIHIzIDogQ2F1c2UgKDUsIDEyIG9yIDEzKQotCSAqLwogI2RlZmluZQl0bGJtaXNzX3NhdmUJcHVzaG0JcjAtcjMKICNkZWZpbmUgdGxibWlzc19yZXN0b3JlCXBvcG0JcjAtcjMKIAotCS5zZWN0aW9uIC50bGJ4LmV4LnRleHQsImF4IixAcHJvZ2JpdHMKKwkub3JnCTB4NTAKIAkuZ2xvYmFsCWl0bGJfbWlzcwogaXRsYl9taXNzOgogCXRsYm1pc3Nfc2F2ZQogCXJqbXAJdGxiX21pc3NfY29tbW9uCiAKLQkuc2VjdGlvbiAudGxici5leC50ZXh0LCJheCIsQHByb2diaXRzCisJLm9yZwkweDYwCiBkdGxiX21pc3NfcmVhZDoKIAl0bGJtaXNzX3NhdmUKIAlyam1wCXRsYl9taXNzX2NvbW1vbgogCi0JLnNlY3Rpb24gLnRsYncuZXgudGV4dCwiYXgiLEBwcm9nYml0cworCS5vcmcJMHg3MAogZHRsYl9taXNzX3dyaXRlOgogCXRsYm1pc3Nfc2F2ZQogCiAJLmdsb2JhbAl0bGJfbWlzc19jb21tb24KKwkuYWxpZ24JMgogdGxiX21pc3NfY29tbW9uOgogCW1mc3IJcjAsIFNZU1JFR19UTEJFQVIKIAltZnNyCXIxLCBTWVNSRUdfUFRCUgogCi0JLyogSXMgaXQgdGhlIHZtYWxsb2Mgc3BhY2U/ICovCi0JYmxkCXIwLCAzMQotCWJyY3MJaGFuZGxlX3ZtYWxsb2NfbWlzcwotCi0JLyogRmlyc3QgbGV2ZWwgbG9va3VwICovCisJLyoKKwkgKiBGaXJzdCBsZXZlbCBsb29rdXA6IFRoZSBQR0QgY29udGFpbnMgdmlydHVhbCBwb2ludGVycyB0bworCSAqIHRoZSBzZWNvbmQtbGV2ZWwgcGFnZSB0YWJsZXMsIGJ1dCB0aGV5IG1heSBiZSBOVUxMIGlmIG5vdAorCSAqIHByZXNlbnQuCisJICovCiBwZ3RibF9sb29rdXA6CiAJbHNyCXIyLCByMCwgUEdESVJfU0hJRlQKIAlsZC53CXIzLCByMVtyMiA8PCAyXQogCWJmZXh0dQlyMSwgcjAsIFBBR0VfU0hJRlQsIFBHRElSX1NISUZUIC0gUEFHRV9TSElGVAotCWJsZAlyMywgX1BBR0VfQklUX1BSRVNFTlQKLQlicmNjCXBhZ2VfdGFibGVfbm90X3ByZXNlbnQKLQotCS8qIFRyYW5zbGF0ZSB0byB2aXJ0dWFsIGFkZHJlc3MgaW4gUDEuICovCi0JYW5kbAlyMywgMHhmMDAwCi0Jc2JyCXIzLCAzMQorCWNwLncJcjMsIDAKKwlicmVxCXBhZ2VfdGFibGVfbm90X3ByZXNlbnQKIAogCS8qIFNlY29uZCBsZXZlbCBsb29rdXAgKi8KIAlsZC53CXIyLCByM1tyMSA8PCAyXQpAQCAtMTQ4LDE2ICsxMzksNTUgQEAKIAl0bGJtaXNzX3Jlc3RvcmUKIAlyZXRlCiAKLWhhbmRsZV92bWFsbG9jX21pc3M6Ci0JLyogU2ltcGx5IGRvIHRoZSBsb29rdXAgaW4gaW5pdCdzIHBhZ2UgdGFibGUgKi8KKwkvKiBUaGUgc2xvdyBwYXRoIG9mIHRoZSBUTEIgbWlzcyBoYW5kbGVyICovCisJLmFsaWduCTIKK3BhZ2VfdGFibGVfbm90X3ByZXNlbnQ6CisJLyogRG8gd2UgbmVlZCB0byBzeW5jaHJvbml6ZSB3aXRoIHN3YXBwZXJfcGdfZGlyPyAqLworCWJsZAlyMCwgMzEKKwlicmNzCXN5bmNfd2l0aF9zd2FwcGVyX3BnX2RpcgorCitwYWdlX25vdF9wcmVzZW50OgorCXRsYm1pc3NfcmVzdG9yZQorCXN1YglzcCwgNAorCXN0bXRzCS0tc3AsIHIwLWxyCisJcmNhbGwJc2F2ZV9mdWxsX2NvbnRleHRfZXgKKwltZnNyCXIxMiwgU1lTUkVHX0VDUgorCW1vdglyMTEsIHNwCisJcmNhbGwJZG9fcGFnZV9mYXVsdAorCXJqbXAJcmV0X2Zyb21fZXhjZXB0aW9uCisKKwkuYWxpZ24JMgorc3luY193aXRoX3N3YXBwZXJfcGdfZGlyOgorCS8qCisJICogSWYgc3dhcHBlcl9wZ19kaXIgY29udGFpbnMgYSBub24tTlVMTCBzZWNvbmQtbGV2ZWwgcGFnZQorCSAqIHRhYmxlIHBvaW50ZXIsIGNvcHkgaXQgaW50byB0aGUgY3VycmVudCBQR0QuIElmIG5vdCwgd2UKKwkgKiBtdXN0IGhhbmRsZSBpdCBhcyBhIGZ1bGwtYmxvd24gcGFnZSBmYXVsdC4KKwkgKgorCSAqIEp1bXBpbmcgYmFjayB0byBwZ3RibF9sb29rdXAgY2F1c2VzIGFuIHVubmVjZXNzYXJ5IGxvb2t1cCwKKwkgKiBidXQgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSBhIGNhY2hlIGhpdCwgaXQgd29uJ3QgaGFwcGVuCisJICogdmVyeSBvZnRlbiwgYW5kIHdlIGFic29sdXRlbHkgZG8gbm90IHdhbnQgdG8gc2FjcmlmaWNlIGFueQorCSAqIHBlcmZvcm1hbmNlIGluIHRoZSBmYXN0IHBhdGggaW4gb3JkZXIgdG8gaW1wcm92ZSB0aGlzLgorCSAqLwogCW1vdglyMSwgbG8oc3dhcHBlcl9wZ19kaXIpCiAJb3JoCXIxLCBoaShzd2FwcGVyX3BnX2RpcikKKwlsZC53CXIzLCByMVtyMiA8PCAyXQorCWNwLncJcjMsIDAKKwlicmVxCXBhZ2Vfbm90X3ByZXNlbnQKKwltZnNyCXIxLCBTWVNSRUdfUFRCUgorCXN0LncJcjFbcjIgPDwgMl0sIHIzCiAJcmptcAlwZ3RibF9sb29rdXAKIAorCS8qCisJICogV2UgY3VycmVudGx5IGhhdmUgdHdvIGJ5dGVzIGxlZnQgYXQgdGhpcyBwb2ludCB1bnRpbCB3ZQorCSAqIGNyYXNoIGludG8gdGhlIHN5c3RlbSBjYWxsIGhhbmRsZXIuLi4KKwkgKgorCSAqIERvbid0IHdvcnJ5LCB0aGUgYXNzZW1ibGVyIHdpbGwgbGV0IHVzIGtub3cuCisJICovCisKIAogCS8qIC0tLSAgICAgICAgICAgICAgICAgICAgU3lzdGVtIENhbGwgICAgICAgICAgICAgICAgICAgIC0tLSAqLwogCi0JLnNlY3Rpb24gLnNjYWxsLnRleHQsImF4IixAcHJvZ2JpdHMKKwkub3JnCTB4MTAwCiBzeXN0ZW1fY2FsbDoKICNpZmRlZiBDT05GSUdfUFJFRU1QVAogCW1hc2tfaW50ZXJydXB0cwpAQCAtMjY2LDE4ICsyOTYsNiBAQAogCWJyY2MJc3lzY2FsbF9leGl0X2NvbnQKIAlyam1wCWVudGVyX21vbml0b3JfbW9kZQogCi0JLyogVGhlIHNsb3cgcGF0aCBvZiB0aGUgVExCIG1pc3MgaGFuZGxlciAqLwotcGFnZV90YWJsZV9ub3RfcHJlc2VudDoKLXBhZ2Vfbm90X3ByZXNlbnQ6Ci0JdGxibWlzc19yZXN0b3JlCi0Jc3ViCXNwLCA0Ci0Jc3RtdHMJLS1zcCwgcjAtbHIKLQlyY2FsbAlzYXZlX2Z1bGxfY29udGV4dF9leAotCW1mc3IJcjEyLCBTWVNSRUdfRUNSCi0JbW92CXIxMSwgc3AKLQlyY2FsbAlkb19wYWdlX2ZhdWx0Ci0JcmptcAlyZXRfZnJvbV9leGNlcHRpb24KLQogCS8qIFRoaXMgZnVuY3Rpb24gZXhwZWN0cyB0byBmaW5kIG9mZmVuZGluZyBQQyBpbiBTWVNSRUdfUkFSX0VYICovCiAJLnR5cGUJc2F2ZV9mdWxsX2NvbnRleHRfZXgsIEBmdW5jdGlvbgogCS5hbGlnbgkyCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2tlcm5lbC9zaWduYWwuYyBiL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCmluZGV4IDU2MTZhMDAuLmM1YjExZjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCisrKyBiL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCkBAIC05Myw2ICs5Myw5IEBACiAJaWYgKHJlc3RvcmVfc2lnY29udGV4dChyZWdzLCAmZnJhbWUtPnVjLnVjX21jb250ZXh0KSkKIAkJZ290byBiYWRmcmFtZTsKIAorCWlmIChkb19zaWdhbHRzdGFjaygmZnJhbWUtPnVjLnVjX3N0YWNrLCBOVUxMLCByZWdzLT5zcCkgPT0gLUVGQVVMVCkKKwkJZ290byBiYWRmcmFtZTsKKwogCXByX2RlYnVnKCJDb250ZXh0IHJlc3RvcmVkOiBwYyA9ICUwOGx4LCBsciA9ICUwOGx4LCBzcCA9ICUwOGx4XG4iLAogCQkgcmVncy0+cGMsIHJlZ3MtPmxyLCByZWdzLT5zcCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvYXZyMzIva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCA5YTY4MTkwLi5mNGJkYjQ0IDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9hdnIzMi9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC01MSwzICs1MSw0IEBACiAJCWZwID0gZnJhbWUtPmZwOwogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9rZXJuZWwvdGltZS5jIGIvYXJjaC9hdnIzMi9rZXJuZWwvdGltZS5jCmluZGV4IDAwYTk4NjIuLmFiZDk1NGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3RpbWUuYworKysgYi9hcmNoL2F2cjMyL2tlcm5lbC90aW1lLmMKQEAgLTcsMjEgKzcsMTMgQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2NrY2hpcHMuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcHJvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgotI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KIAotI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgogI2luY2x1ZGUgPGFzbS9zeXNyZWcuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL3BtLmg+CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL2F2cjMyL2tlcm5lbC92bWxpbnV4Lmxkcy5TCmluZGV4IDQ4MWNmZDQuLjc5MTBkNDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9hdnIzMi9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjgsMTQgKzY4LDYgQEAKIAkJX2V2YmEgPSAuOwogCQlfdGV4dCA9IC47CiAJCSooLmV4LnRleHQpCi0JCS4gPSAweDUwOwotCQkqKC50bGJ4LmV4LnRleHQpCi0JCS4gPSAweDYwOwotCQkqKC50bGJyLmV4LnRleHQpCi0JCS4gPSAweDcwOwotCQkqKC50bGJ3LmV4LnRleHQpCi0JCS4gPSAweDEwMDsKLQkJKiguc2NhbGwudGV4dCkKIAkJKiguaXJxLnRleHQpCiAJCUtQUk9CRVNfVEVYVAogCQlURVhUX1RFWFQKQEAgLTkzLDggKzg1LDYgQEAKIAkJX19zdG9wX19fZXhfdGFibGUgPSAuOwogCX0KIAotCUJVR19UQUJMRQotCiAJUk9EQVRBCiAKIAkuID0gQUxJR04oVEhSRUFEX1NJWkUpOwpAQCAtMTA3LDYgKzk3LDEwIEBACiAJCSAqLwogCQkqKC5kYXRhLmluaXRfdGFzaykKIAorCQkvKiBUaGVuLCB0aGUgcGFnZS1hbGlnbmVkIGRhdGEgKi8KKwkJLiA9IEFMSUdOKFBBR0VfU0laRSk7CisJCSooLmRhdGEucGFnZV9hbGlnbmVkKQorCiAJCS8qIFRoZW4sIHRoZSBjYWNoZWxpbmUgYWxpZ25lZCBkYXRhICovCiAJCS4gPSBBTElHTihMMV9DQUNIRV9CWVRFUyk7CiAJCSooLmRhdGEuY2FjaGVsaW5lX2FsaWduZWQpCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2xpYi9pby1yZWFkc2IuUyBiL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCmluZGV4IDJiZTVkYTcuLmNiMmQ4NjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCisrKyBiL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCkBAIC00MSw3ICs0MSw3IEBACiAyOglzdWIJcjEwLCAtNAogCXJldGVxCXIxMgogCi0zOglsZC51aAlyOCwgcjEyWzBdCiszOglsZC51YglyOCwgcjEyWzBdCiAJc3ViCXIxMCwgMQogCXN0LmIJcjExKyssIHI4CiAJYnJuZQkzYgpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9NYWtlZmlsZSBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvTWFrZWZpbGUKaW5kZXggZTg5MDA5NC4uZDUwMThlMiAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9NYWtlZmlsZQorKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL01ha2VmaWxlCkBAIC0xLDMgKzEsOCBAQAotb2JqLXkJCQkJKz0gYXQzMmFwLm8gY2xvY2subyBpbnRjLm8gZXh0aW50Lm8gcGlvLm8gaHNtYy5vCitvYmoteQkJCQkrPSBwZGMubyBjbG9jay5vIGludGMubyBleHRpbnQubyBwaW8ubyBoc21jLm8KIG9iai0kKENPTkZJR19DUFVfQVQzMkFQNzAwWCkJKz0gYXQzMmFwNzAweC5vIHBtLWF0MzJhcDcwMHgubwogb2JqLSQoQ09ORklHX0NQVV9GUkVRX0FUMzJBUCkJKz0gY3B1ZnJlcS5vCitvYmotJChDT05GSUdfUE0pCQkrPSBwbS5vCisKK2lmZXEgKCQoQ09ORklHX1BNX0RFQlVHKSx5KQorQ0ZMQUdTX3BtLm8JKz0gLURERUJVRworZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwNzAweC5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKaW5kZXggMGYyNGI0Zi4uMDdiMjFiMSAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9hdDMyYXA3MDB4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9wb3J0bXV4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgogCiAjaW5jbHVkZSA8dmlkZW8vYXRtZWxfbGNkYy5oPgogCkBAIC05MywxOSArOTQsMTIgQEAKIAogc3RhdGljIERFRklORV9TUElOTE9DSyhwbV9sb2NrKTsKIAotdW5zaWduZWQgbG9uZyBhdDMyYXA3MDAwX29zY19yYXRlc1szXSA9IHsKLQlbMF0gPSAzMjc2OCwKLQkvKiBGSVhNRTogdGhlc2UgYXJlIEFUU1RLMTAwMi1zcGVjaWZpYyAqLwotCVsxXSA9IDIwMDAwMDAwLAotCVsyXSA9IDEyMDAwMDAwLAotfTsKLQogc3RhdGljIHN0cnVjdCBjbGsgb3NjMDsKIHN0YXRpYyBzdHJ1Y3QgY2xrIG9zYzE7CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIG9zY19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCiB7Ci0JcmV0dXJuIGF0MzJhcDcwMDBfb3NjX3JhdGVzW2Nsay0+aW5kZXhdOworCXJldHVybiBhdDMyX2JvYXJkX29zY19yYXRlc1tjbGstPmluZGV4XTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgcGxsX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyBjb250cm9sKQpAQCAtNjgyLDYgKzY3NiwxNCBAQAogCS51c2VycwkJPSAxLAogCS5pbmRleAkJPSAzLAogfTsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkcmFtY19jbGsgPSB7CisJLm5hbWUJCT0gInNkcmFtY19jbGsiLAorCS5wYXJlbnQJCT0gJnBiYl9jbGssCisJLm1vZGUJCT0gcGJiX2Nsa19tb2RlLAorCS5nZXRfcmF0ZQk9IHBiYl9jbGtfZ2V0X3JhdGUsCisJLnVzZXJzCQk9IDEsCisJLmluZGV4CQk9IDE0LAorfTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzbWMwX3Jlc291cmNlW10gPSB7CiAJUEJNRU0oMHhmZmYwMzQwMCksCkBAIC04NDEsNiArODQzLDgxIEBACiB9CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiAgUFNJRgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXRtZWxfcHNpZjBfcmVzb3VyY2VbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnN0YXJ0CT0gMHhmZmUwM2MwMCwKKwkJLmVuZAk9IDB4ZmZlMDNjZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJSVJRKDE4KSwKK307CitzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wc2lmMF9wY2xrID0geworCS5uYW1lCQk9ICJwY2xrIiwKKwkucGFyZW50CQk9ICZwYmFfY2xrLAorCS5tb2RlCQk9IHBiYV9jbGtfbW9kZSwKKwkuZ2V0X3JhdGUJPSBwYmFfY2xrX2dldF9yYXRlLAorCS5pbmRleAkJPSAxNSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXRtZWxfcHNpZjFfcmVzb3VyY2VbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnN0YXJ0CT0gMHhmZmUwM2QwMCwKKwkJLmVuZAk9IDB4ZmZlMDNkZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJSVJRKDE4KSwKK307CitzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wc2lmMV9wY2xrID0geworCS5uYW1lCQk9ICJwY2xrIiwKKwkucGFyZW50CQk9ICZwYmFfY2xrLAorCS5tb2RlCQk9IHBiYV9jbGtfbW9kZSwKKwkuZ2V0X3JhdGUJPSBwYmFfY2xrX2dldF9yYXRlLAorCS5pbmRleAkJPSAxNSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKl9faW5pdCBhdDMyX2FkZF9kZXZpY2VfcHNpZih1bnNpZ25lZCBpbnQgaWQpCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKworCWlmICghKGlkID09IDAgfHwgaWQgPT0gMSkpCisJCXJldHVybiBOVUxMOworCisJcGRldiA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygiYXRtZWxfcHNpZiIsIGlkKTsKKwlpZiAoIXBkZXYpCisJCXJldHVybiBOVUxMOworCisJc3dpdGNoIChpZCkgeworCWNhc2UgMDoKKwkJaWYgKHBsYXRmb3JtX2RldmljZV9hZGRfcmVzb3VyY2VzKHBkZXYsIGF0bWVsX3BzaWYwX3Jlc291cmNlLAorCQkJCQlBUlJBWV9TSVpFKGF0bWVsX3BzaWYwX3Jlc291cmNlKSkpCisJCQlnb3RvIGVycl9hZGRfcmVzb3VyY2VzOworCQlhdG1lbF9wc2lmMF9wY2xrLmRldiA9ICZwZGV2LT5kZXY7CisJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDgpLCBQRVJJUEhfQSwgMCk7IC8qIENMT0NLICovCisJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDkpLCBQRVJJUEhfQSwgMCk7IC8qIERBVEEgICovCisJCWJyZWFrOworCWNhc2UgMToKKwkJaWYgKHBsYXRmb3JtX2RldmljZV9hZGRfcmVzb3VyY2VzKHBkZXYsIGF0bWVsX3BzaWYxX3Jlc291cmNlLAorCQkJCQlBUlJBWV9TSVpFKGF0bWVsX3BzaWYxX3Jlc291cmNlKSkpCisJCQlnb3RvIGVycl9hZGRfcmVzb3VyY2VzOworCQlhdG1lbF9wc2lmMV9wY2xrLmRldiA9ICZwZGV2LT5kZXY7CisJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDExKSwgUEVSSVBIX0EsIDApOyAvKiBDTE9DSyAqLworCQlzZWxlY3RfcGVyaXBoZXJhbChQQigxMiksIFBFUklQSF9BLCAwKTsgLyogREFUQSAgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcGxhdGZvcm1fZGV2aWNlX2FkZChwZGV2KTsKKwlyZXR1cm4gcGRldjsKKworZXJyX2FkZF9yZXNvdXJjZXM6CisJcGxhdGZvcm1fZGV2aWNlX3B1dChwZGV2KTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBVU0FSVAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTExMyw3ICsxMTkwLDggQEAKIAlzd2l0Y2ggKGlkKSB7CiAJY2FzZSAwOgogCQlwZGV2ID0gJmF0bWVsX3NwaTBfZGV2aWNlOwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgwKSwgIFBFUklQSF9BLCAwKTsJLyogTUlTTwkgKi8KKwkJLyogcHVsbHVwIE1JU08gc28gYSBsZXZlbCBpcyBhbHdheXMgZGVmaW5lZCAqLworCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgwKSwgIFBFUklQSF9BLCBBVDMyX0dQSU9GX1BVTExVUCk7CiAJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDEpLCAgUEVSSVBIX0EsIDApOwkvKiBNT1NJCSAqLwogCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgyKSwgIFBFUklQSF9BLCAwKTsJLyogU0NLCSAqLwogCQlhdDMyX3NwaV9zZXR1cF9zbGF2ZXMoMCwgYiwgbiwgc3BpMF9waW5zKTsKQEAgLTExMjEsNyArMTE5OSw4IEBACiAKIAljYXNlIDE6CiAJCXBkZXYgPSAmYXRtZWxfc3BpMV9kZXZpY2U7Ci0JCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDApLCAgUEVSSVBIX0IsIDApOwkvKiBNSVNPICAqLworCQkvKiBwdWxsdXAgTUlTTyBzbyBhIGxldmVsIGlzIGFsd2F5cyBkZWZpbmVkICovCisJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDApLCAgUEVSSVBIX0IsIEFUMzJfR1BJT0ZfUFVMTFVQKTsKIAkJc2VsZWN0X3BlcmlwaGVyYWwoUEIoMSksICBQRVJJUEhfQiwgMCk7CS8qIE1PU0kgICovCiAJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDUpLCAgUEVSSVBIX0IsIDApOwkvKiBTQ0sgICAqLwogCQlhdDMyX3NwaV9zZXR1cF9zbGF2ZXMoMSwgYiwgbiwgc3BpMV9waW5zKTsKQEAgLTEyNjQsNyArMTM0Myw4IEBACiAKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKl9faW5pdAogYXQzMl9hZGRfZGV2aWNlX2xjZGModW5zaWduZWQgaW50IGlkLCBzdHJ1Y3QgYXRtZWxfbGNkZmJfaW5mbyAqZGF0YSwKLQkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbikKKwkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbiwKKwkJICAgICB1bnNpZ25lZCBpbnQgcGluX2NvbmZpZykKIHsKIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2OwogCXN0cnVjdCBhdG1lbF9sY2RmYl9pbmZvICppbmZvOwpAQCAtMTI5MSwzNyArMTM3MSw3NyBAQAogCXN3aXRjaCAoaWQpIHsKIAljYXNlIDA6CiAJCXBkZXYgPSAmYXRtZWxfbGNkZmIwX2RldmljZTsKLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMTkpLCBQRVJJUEhfQSwgMCk7CS8qIENDCSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjApLCBQRVJJUEhfQSwgMCk7CS8qIEhTWU5DICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyMSksIFBFUklQSF9BLCAwKTsJLyogUENMSwkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIyKSwgUEVSSVBIX0EsIDApOwkvKiBWU1lOQyAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjMpLCBQRVJJUEhfQSwgMCk7CS8qIERWQUwJICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNCksIFBFUklQSF9BLCAwKTsJLyogTU9ERQkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI1KSwgUEVSSVBIX0EsIDApOwkvKiBQV1IJICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTAgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI3KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjgpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOSksIFBFUklQSF9BLCAwKTsJLyogREFUQTMgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDMwKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBNCAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMzEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEE1ICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgwKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTYgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBNyAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMiksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE4ICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgzKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDQpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMSAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg2KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEyICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDcpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTMgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNCAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg5KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE1ICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEwKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTYgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExNyAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMiksIFBFUklQSF9BLCAwKTsJLyogREFUQTE4ICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEzKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTkgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTQpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMCAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNSksIFBFUklQSF9BLCAwKTsJLyogREFUQTIxICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDE2KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMjIgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTcpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMyAqLworCisJCXN3aXRjaCAocGluX2NvbmZpZykgeworCQljYXNlIDA6CisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygxOSksIFBFUklQSF9BLCAwKTsJLyogQ0MJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjApLCBQRVJJUEhfQSwgMCk7CS8qIEhTWU5DICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjEpLCBQRVJJUEhfQSwgMCk7CS8qIFBDTEsJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjIpLCBQRVJJUEhfQSwgMCk7CS8qIFZTWU5DICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjMpLCBQRVJJUEhfQSwgMCk7CS8qIERWQUwJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjQpLCBQRVJJUEhfQSwgMCk7CS8qIE1PREUJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjUpLCBQRVJJUEhfQSwgMCk7CS8qIFBXUgkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTAgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNyksIFBFUklQSF9BLCAwKTsJLyogREFUQTEgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOCksIFBFUklQSF9BLCAwKTsJLyogREFUQTIgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOSksIFBFUklQSF9BLCAwKTsJLyogREFUQTMgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygzMCksIFBFUklQSF9BLCAwKTsJLyogREFUQTQgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygzMSksIFBFUklQSF9BLCAwKTsJLyogREFUQTUgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgwKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTYgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTcgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgyKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTggICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgzKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg0KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEwICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg1KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTExICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg2KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEyICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg3KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEzICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg4KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE0ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg5KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE1ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMCksIFBFUklQSF9BLCAwKTsJLyogREFUQTE2ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMSksIFBFUklQSF9BLCAwKTsJLyogREFUQTE3ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMiksIFBFUklQSF9BLCAwKTsJLyogREFUQTE4ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMyksIFBFUklQSF9BLCAwKTsJLyogREFUQTE5ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNCksIFBFUklQSF9BLCAwKTsJLyogREFUQTIwICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNSksIFBFUklQSF9BLCAwKTsJLyogREFUQTIxICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTIyICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNyksIFBFUklQSF9BLCAwKTsJLyogREFUQTIzICovCisJCQlicmVhazsKKwkJY2FzZSAxOgorCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMCksICBQRVJJUEhfQiwgMCk7CS8qIENDCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIwKSwgUEVSSVBIX0EsIDApOwkvKiBIU1lOQyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIxKSwgUEVSSVBIX0EsIDApOwkvKiBQQ0xLCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIyKSwgUEVSSVBIX0EsIDApOwkvKiBWU1lOQyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDEpLCAgUEVSSVBIX0IsIDApOwkvKiBEVkFMCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDIpLCAgUEVSSVBIX0IsIDApOwkvKiBNT0RFCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI1KSwgUEVSSVBIX0EsIDApOwkvKiBQV1IJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMyksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEwICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNCksICBQRVJJUEhfQiwgMCk7CS8qIERBVEExICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNSksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEyICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNiksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEzICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNyksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE0ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMzEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEE1ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE2ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE3ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoOCksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE4ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoOSksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE5ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTApLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTEpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTIpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNyksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMyAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTMpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExNiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTQpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExNyAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTUpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExOCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTYpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExOSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTcpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEEyMCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTgpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEEyMSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTYpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTcpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMyAqLworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlnb3RvIGVycl9pbnZhbGlkX2lkOworCQl9CiAKIAkJY2xrX3NldF9wYXJlbnQoJmF0bWVsX2xjZGZiMF9waXhjbGssICZwbGwwKTsKIAkJY2xrX3NldF9yYXRlKCZhdG1lbF9sY2RmYjBfcGl4Y2xrLCBjbGtfZ2V0X3JhdGUoJnBsbDApKTsKQEAgLTEzNjAsNyArMTQ4MCw3IEBACiAJSVJRKDI0KSwKIH07CiBzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wd20wX21jayA9IHsKLQkubmFtZQkJPSAibWNrIiwKKwkubmFtZQkJPSAicHdtX2NsayIsCiAJLnBhcmVudAkJPSAmcGJiX2NsaywKIAkubW9kZQkJPSBwYmJfY2xrX21vZGUsCiAJLmdldF9yYXRlCT0gcGJiX2Nsa19nZXRfcmF0ZSwKQEAgLTE4ODcsNiArMjAwNyw3IEBACiAJJmhtYXRyaXhfY2xrLAogCSZlYmlfY2xrLAogCSZocmFtY19jbGssCisJJnNkcmFtY19jbGssCiAJJnNtYzBfcGNsaywKIAkmc21jMF9tY2ssCiAJJnBkY19oY2xrLApAQCAtMTkwMCw2ICsyMDIxLDggQEAKIAkmcGlvNF9tY2ssCiAJJmF0MzJfdGNiMF90MF9jbGssCiAJJmF0MzJfdGNiMV90MF9jbGssCisJJmF0bWVsX3BzaWYwX3BjbGssCisJJmF0bWVsX3BzaWYxX3BjbGssCiAJJmF0bWVsX3VzYXJ0MF91c2FydCwKIAkmYXRtZWxfdXNhcnQxX3VzYXJ0LAogCSZhdG1lbF91c2FydDJfdXNhcnQsCkBAIC0xOTM1LDE2ICsyMDU4LDcgQEAKIH07CiB1bnNpZ25lZCBpbnQgYXQzMl9ucl9jbG9ja3MgPSBBUlJBWV9TSVpFKGF0MzJfY2xvY2tfbGlzdCk7CiAKLXZvaWQgX19pbml0IGF0MzJfcG9ydG11eF9pbml0KHZvaWQpCi17Ci0JYXQzMl9pbml0X3BpbygmcGlvMF9kZXZpY2UpOwotCWF0MzJfaW5pdF9waW8oJnBpbzFfZGV2aWNlKTsKLQlhdDMyX2luaXRfcGlvKCZwaW8yX2RldmljZSk7Ci0JYXQzMl9pbml0X3BpbygmcGlvM19kZXZpY2UpOwotCWF0MzJfaW5pdF9waW8oJnBpbzRfZGV2aWNlKTsKLX0KLQotdm9pZCBfX2luaXQgYXQzMl9jbG9ja19pbml0KHZvaWQpCit2b2lkIF9faW5pdCBzZXR1cF9wbGF0Zm9ybSh2b2lkKQogewogCXUzMiBjcHVfbWFzayA9IDAsIGhzYl9tYXNrID0gMCwgcGJhX21hc2sgPSAwLCBwYmJfbWFzayA9IDA7CiAJaW50IGk7CkBAIC0xOTk5LDQgKzIxMTMsMzYgQEAKIAlwbV93cml0ZWwoSFNCX01BU0ssIGhzYl9tYXNrKTsKIAlwbV93cml0ZWwoUEJBX01BU0ssIHBiYV9tYXNrKTsKIAlwbV93cml0ZWwoUEJCX01BU0ssIHBiYl9tYXNrKTsKKworCS8qIEluaXRpYWxpemUgdGhlIHBvcnQgbXV4ZXMgKi8KKwlhdDMyX2luaXRfcGlvKCZwaW8wX2RldmljZSk7CisJYXQzMl9pbml0X3BpbygmcGlvMV9kZXZpY2UpOworCWF0MzJfaW5pdF9waW8oJnBpbzJfZGV2aWNlKTsKKwlhdDMyX2luaXRfcGlvKCZwaW8zX2RldmljZSk7CisJYXQzMl9pbml0X3BpbygmcGlvNF9kZXZpY2UpOwogfQorCitzdHJ1Y3QgZ2VuX3Bvb2wgKnNyYW1fcG9vbDsKKworc3RhdGljIGludCBfX2luaXQgc3JhbV9pbml0KHZvaWQpCit7CisJc3RydWN0IGdlbl9wb29sICpwb29sOworCisJLyogMUtpQiBncmFudWxhcml0eSAqLworCXBvb2wgPSBnZW5fcG9vbF9jcmVhdGUoMTAsIC0xKTsKKwlpZiAoIXBvb2wpCisJCWdvdG8gZmFpbDsKKworCWlmIChnZW5fcG9vbF9hZGQocG9vbCwgMHgyNDAwMDAwMCwgMHg4MDAwLCAtMSkpCisJCWdvdG8gZXJyX3Bvb2xfYWRkOworCisJc3JhbV9wb29sID0gcG9vbDsKKwlyZXR1cm4gMDsKKworZXJyX3Bvb2xfYWRkOgorCWdlbl9wb29sX2Rlc3Ryb3kocG9vbCk7CitmYWlsOgorCXByX2VycigiRmFpbGVkIHRvIGNyZWF0ZSBTUkFNIHBvb2xcbiIpOworCXJldHVybiAtRU5PTUVNOworfQorY29yZV9pbml0Y2FsbChzcmFtX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL2ludGMuYwppbmRleCAwOTdjZjRlLi45OTRjNDU0NSAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEF0bWVsIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDggQXRtZWwgQ29ycG9yYXRpb24KICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKQEAgLTEyLDE0ICsxMiwyMCBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlICJpbnRjLmgiCiAKIHN0cnVjdCBpbnRjIHsKLQl2b2lkIF9faW9tZW0JKnJlZ3M7Ci0Jc3RydWN0IGlycV9jaGlwCWNoaXA7CisJdm9pZCBfX2lvbWVtCQkqcmVnczsKKwlzdHJ1Y3QgaXJxX2NoaXAJCWNoaXA7CisJc3RydWN0IHN5c19kZXZpY2UJc3lzZGV2OworI2lmZGVmIENPTkZJR19QTQorCXVuc2lnbmVkIGxvbmcJCXN1c3BlbmRfaXByOworCXVuc2lnbmVkIGxvbmcJCXNhdmVkX2lwcls2NF07CisjZW5kaWYKIH07CiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0MzJfaW50YzBfZGV2aWNlOwpAQCAtMTM2LDYgKzE0Miw3NCBAQAogCXBhbmljKCJJbnRlcnJ1cHQgY29udHJvbGxlciBpbml0aWFsaXphdGlvbiBmYWlsZWQhXG4iKTsKIH0KIAorI2lmZGVmIENPTkZJR19QTQordm9pZCBpbnRjX3NldF9zdXNwZW5kX2hhbmRsZXIodW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJaW50YzAuc3VzcGVuZF9pcHIgPSBvZmZzZXQ7Cit9CisKK3N0YXRpYyBpbnQgaW50Y19zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpzZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IGludGMgKmludGMgPSBjb250YWluZXJfb2Yoc2Rldiwgc3RydWN0IGludGMsIHN5c2Rldik7CisJaW50IGk7CisKKwlpZiAodW5saWtlbHkoIWlycXNfZGlzYWJsZWQoKSkpIHsKKwkJcHJfZXJyKCJpbnRjX3N1c3BlbmQ6IGNhbGxlZCB3aXRoIGludGVycnVwdHMgZW5hYmxlZFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmICh1bmxpa2VseSghaW50Yy0+c3VzcGVuZF9pcHIpKSB7CisJCXByX2VycigiaW50Y19zdXNwZW5kOiBzdXNwZW5kX2lwciBub3QgaW5pdGlhbGl6ZWRcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgNjQ7IGkrKykgeworCQlpbnRjLT5zYXZlZF9pcHJbaV0gPSBpbnRjX3JlYWRsKGludGMsIElOVFBSMCArIDQgKiBpKTsKKwkJaW50Y193cml0ZWwoaW50YywgSU5UUFIwICsgNCAqIGksIGludGMtPnN1c3BlbmRfaXByKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpbnRjX3Jlc3VtZShzdHJ1Y3Qgc3lzX2RldmljZSAqc2RldikKK3sKKwlzdHJ1Y3QgaW50YyAqaW50YyA9IGNvbnRhaW5lcl9vZihzZGV2LCBzdHJ1Y3QgaW50Yywgc3lzZGV2KTsKKwlpbnQgaTsKKworCVdBUk5fT04oIWlycXNfZGlzYWJsZWQoKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjQ7IGkrKykKKwkJaW50Y193cml0ZWwoaW50YywgSU5UUFIwICsgNCAqIGksIGludGMtPnNhdmVkX2lwcltpXSk7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCisjZGVmaW5lIGludGNfc3VzcGVuZAlOVUxMCisjZGVmaW5lIGludGNfcmVzdW1lCU5VTEwKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBpbnRjX2NsYXNzID0geworCS5uYW1lCQk9ICJpbnRjIiwKKwkuc3VzcGVuZAk9IGludGNfc3VzcGVuZCwKKwkucmVzdW1lCQk9IGludGNfcmVzdW1lLAorfTsKKworc3RhdGljIGludCBfX2luaXQgaW50Y19pbml0X3N5c2Rldih2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmludGNfY2xhc3MpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlpbnRjMC5zeXNkZXYuaWQgPSAwOworCWludGMwLnN5c2Rldi5jbHMgPSAmaW50Y19jbGFzczsKKwlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJmludGMwLnN5c2Rldik7CisKKwlyZXR1cm4gcmV0OworfQorZGV2aWNlX2luaXRjYWxsKGludGNfaW5pdF9zeXNkZXYpOworCiB1bnNpZ25lZCBsb25nIGludGNfZ2V0X3BlbmRpbmcodW5zaWduZWQgaW50IGdyb3VwKQogewogCXJldHVybiBpbnRjX3JlYWRsKCZpbnRjMCwgSU5UUkVRMCArIDQgKiBncm91cCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL2F0MzJhcC5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wZGMuYwpzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBhcmNoL2F2cjMyL21hY2gtYXQzMmFwL2F0MzJhcC5jCnJlbmFtZSB0byBhcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BkYy5jCmluZGV4IDdjNDk4N2YuLjEwNDBiZGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwLmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wZGMuYwpAQCAtMTEsMTQgKzExLDYgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAKLSNpbmNsdWRlIDxhc20vYXJjaC9pbml0Lmg+Ci0KLXZvaWQgX19pbml0IHNldHVwX3BsYXRmb3JtKHZvaWQpCi17Ci0JYXQzMl9jbG9ja19pbml0KCk7Ci0JYXQzMl9wb3J0bXV4X2luaXQoKTsKLX0KLQogc3RhdGljIGludCBfX2luaXQgcGRjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGNsayAqcGNsaywgKmhjbGs7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uYwppbmRleCAzOGE4ZmEzLi42MGRhMDNiIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5jCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmMKQEAgLTMxOCw2ICszMTgsOCBAQAogCQljb25zdCBjaGFyICpsYWJlbDsKIAogCQlsYWJlbCA9IGdwaW9jaGlwX2lzX3JlcXVlc3RlZChjaGlwLCBpKTsKKwkJaWYgKCFsYWJlbCAmJiAoaW1yICYgbWFzaykpCisJCQlsYWJlbCA9ICJbaXJxXSI7CiAJCWlmICghbGFiZWwpCiAJCQljb250aW51ZTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uaCBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmgKaW5kZXggNzc5NTExNi4uOTQ4NGRmYyAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uaAorKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5oCkBAIC01Nyw3ICs1Nyw3IEBACiAKIC8qIEJpdGZpZWxkcyBpbiBJRkRSICovCiAKLS8qIEJpdGZpZWxkcyBpbiBJU0ZSICovCisvKiBCaXRmaWVsZHMgaW4gSUZTUiAqLwogCiAvKiBCaXRmaWVsZHMgaW4gU09EUiAqLwogCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLWF0MzJhcDcwMHguUyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCmluZGV4IDk0OWUyNDguLjBhNTNhZDMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCkBAIC0xMiw2ICsxMiwxMiBAQAogI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3BtLmg+CiAKKyNpbmNsdWRlICJwbS5oIgorI2luY2x1ZGUgInNkcmFtYy5oIgorCisvKiBTYW1lIGFzIDB4ZmZmMDAwMDAgYnV0IGZpdHMgaW4gYSAyMSBiaXQgc2lnbmVkIGltbWVkaWF0ZSAqLworI2RlZmluZSBQTV9CQVNFCS0weDEwMDAwMAorCiAJLnNlY3Rpb24gLmJzcywgIndhIiwgQG5vYml0cwogCS5nbG9iYWwJZGlzYWJsZV9pZGxlX3NsZWVwCiAJLnR5cGUJZGlzYWJsZV9pZGxlX3NsZWVwLCBAb2JqZWN0CkBAIC02NCwzICs3MCwxMDUgQEAKIAl1bm1hc2tfaW50ZXJydXB0cwogCXJldGFsCXIxMgogCS5zaXplCWNwdV9pZGxlX3NraXBfc2xlZXAsIC4gLSBjcHVfaWRsZV9za2lwX3NsZWVwCisKKyNpZmRlZiBDT05GSUdfUE0KKwkuc2VjdGlvbiAuaW5pdC50ZXh0LCAiYXgiLCBAcHJvZ2JpdHMKKworCS5nbG9iYWwJcG1fZXhjZXB0aW9uCisJLnR5cGUJcG1fZXhjZXB0aW9uLCBAZnVuY3Rpb24KK3BtX2V4Y2VwdGlvbjoKKwkvKgorCSAqIEV4Y2VwdGlvbnMgYXJlIG1hc2tlZCB3aGVuIHdlIHN3aXRjaCB0byB0aGlzIGhhbmRsZXIsIHNvCisJICogd2UnbGwgb25seSBnZXQgInVucmVjb3ZlcmFibGUiIGV4Y2VwdGlvbnMgKG9mZnNldCAwLikKKwkgKi8KKwlzdWIJcjEyLCBwYywgLiAtIC5McGFuaWNfbXNnCisJbGRkcGMJcGMsIC5McGFuaWNfYWRkcgorCisJLmFsaWduCTIKKy5McGFuaWNfYWRkcjoKKwkubG9uZwlwYW5pYworLkxwYW5pY19tc2c6CisJLmFzY2l6CSJVbnJlY292ZXJhYmxlIGV4Y2VwdGlvbiBkdXJpbmcgc3VzcGVuZFxuIgorCS5zaXplCXBtX2V4Y2VwdGlvbiwgLiAtIHBtX2V4Y2VwdGlvbgorCisJLmdsb2JhbAlwbV9pcnEwCisJLnR5cGUJcG1faXJxMCwgQGZ1bmN0aW9uCitwbV9pcnEwOgorCS8qIERpc2FibGUgaW50ZXJydXB0cyBhbmQgcmV0dXJuIGFmdGVyIHRoZSBzbGVlcCBpbnN0cnVjdGlvbiAqLworCW1mc3IJcjksIFNZU1JFR19SU1JfSU5UMAorCW10c3IJU1lTUkVHX1JBUl9JTlQwLCByOAorCXNicglyOSwgU1lTUkVHX0dNX09GRlNFVAorCW10c3IJU1lTUkVHX1JTUl9JTlQwLCByOQorCXJldGUKKworCS8qCisJICogdm9pZCBjcHVfZW50ZXJfc3RhbmRieSh1bnNpZ25lZCBsb25nIHNkcmFtY19iYXNlKQorCSAqCisJICogRW50ZXIgUE1fU1VTUEVORF9TVEFOREJZIG1vZGUuIEF0IHRoaXMgcG9pbnQsIGFsbCBkcml2ZXJzCisJICogYXJlIHN1c3BlbmRlZCBhbmQgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQuIEludGVycnVwdHMKKwkgKiBtYXJrZWQgYXMgJ3dha2V1cCcgZXZlbnQgc291cmNlcyBtYXkgc3RpbGwgY29tZSBhbG9uZyBhbmQKKwkgKiBnZXQgdXMgb3V0IG9mIGhlcmUuCisJICoKKwkgKiBUaGUgU0RSQU0gd2lsbCBiZSBwdXQgaW50byBzZWxmLXJlZnJlc2ggbW9kZSAod2hpY2ggZG9lcworCSAqIG5vdCByZXF1aXJlIGEgY2xvY2sgZnJvbSB0aGUgQ1BVKSwgYW5kIHRoZSBDUFUgd2lsbCBiZSBwdXQKKwkgKiBpbnRvICJmcm96ZW4iIG1vZGUgKEhTQiBidXMgc3RvcHBlZCkuIFRoZSBTRFJBTSBjb250cm9sbGVyCisJICogd2lsbCBhdXRvbWF0aWNhbGx5IGJyaW5nIHRoZSBTRFJBTSBpbnRvIG5vcm1hbCBtb2RlIG9uIHRoZQorCSAqIGZpcnN0IGFjY2VzcywgYW5kIHRoZSBwb3dlciBtYW5hZ2VyIHdpbGwgYXV0b21hdGljYWxseQorCSAqIHN0YXJ0IHRoZSBIU0IgYW5kIENQVSBjbG9ja3MgdXBvbiBhIHdha2V1cCBldmVudC4KKwkgKgorCSAqIFRoaXMgY29kZSB1c2VzIHRoZSBzYW1lICJza2lwIHNsZWVwIiB0ZWNobmlxdWUgYXMgYWJvdmUuCisJICogSXQgaXMgdmVyeSBpbXBvcnRhbnQgdGhhdCB3ZSBqdW1wIGRpcmVjdGx5IHRvCisJICogY3B1X2FmdGVyX3NsZWVwIGFmdGVyIHRoZSBzbGVlcCBpbnN0cnVjdGlvbiBzaW5jZSB0aGF0J3MKKwkgKiB3aGVyZSB3ZSdsbCBlbmQgdXAgaWYgdGhlIGludGVycnVwdCBoYW5kbGVyIGRlY2lkZXMgdGhhdCB3ZQorCSAqIG5lZWQgdG8gc2tpcCB0aGUgc2xlZXAgaW5zdHJ1Y3Rpb24uCisJICovCisJLmdsb2JhbAlwbV9zdGFuZGJ5CisJLnR5cGUJcG1fc3RhbmRieSwgQGZ1bmN0aW9uCitwbV9zdGFuZGJ5OgorCS8qCisJICogaW50ZXJydXB0cyBhcmUgYWxyZWFkeSBtYXNrZWQgYXQgdGhpcyBwb2ludCwgYW5kIEVWQkEKKwkgKiBwb2ludHMgdG8gcG1fZXhjZXB0aW9uIGFib3ZlLgorCSAqLworCWxkLncJcjEwLCByMTJbU0RSQU1DX0xQUl0KKwlzdWIJcjgsIHBjLCAuIC0gMWYJCS8qIHJldHVybiBhZGRyZXNzIGZvciBpcnEgaGFuZGxlciAqLworCW1vdglyMTEsIFNEUkFNQ19MUFJfTFBDQl9TRUxGX1JGUgorCWJmaW5zCXIxMCwgcjExLCAwLCAyCQkvKiBMUENCIDwtIHNlbGYgUmVmcmVzaCAqLworCXN5bmMJMAkJCS8qIGZsdXNoIHdyaXRlIGJ1ZmZlciAqLworCXN0LncJcjEyW1NEUkFNQ19MUFJdLCByMTEJLyogcHV0IFNEUkFNIGluIHNlbGYtcmVmcmVzaCBtb2RlICovCisJbGQudwlyMTEsIHIxMltTRFJBTUNfTFBSXQorCXVubWFza19pbnRlcnJ1cHRzCisJc2xlZXAJQ1BVX1NMRUVQX0ZST1pFTgorMToJbWFza19pbnRlcnJ1cHRzCisJcmV0YWwJcjEyCisJLnNpemUJcG1fc3RhbmRieSwgLiAtIHBtX3N0YW5kYnkKKworCS5nbG9iYWwJcG1fc3VzcGVuZF90b19yYW0KKwkudHlwZQlwbV9zdXNwZW5kX3RvX3JhbSwgQGZ1bmN0aW9uCitwbV9zdXNwZW5kX3RvX3JhbToKKwkvKgorCSAqIGludGVycnVwdHMgYXJlIGFscmVhZHkgbWFza2VkIGF0IHRoaXMgcG9pbnQsIGFuZCBFVkJBCisJICogcG9pbnRzIHRvIHBtX2V4Y2VwdGlvbiBhYm92ZS4KKwkgKi8KKwltb3YJcjExLCAwCisJY2FjaGUJcjExWzJdLCA4CQkvKiBjbGVhbiBhbGwgZGNhY2hlIGxpbmVzICovCisJc3luYwkwCQkJLyogZmx1c2ggd3JpdGUgYnVmZmVyICovCisJbGQudwlyMTAsIHIxMltTRFJBTUNfTFBSXQorCXN1YglyOCwgcGMsIC4gLSAxZgkJLyogcmV0dXJuIGFkZHJlc3MgZm9yIGlycSBoYW5kbGVyICovCisJbW92CXIxMSwgU0RSQU1DX0xQUl9MUENCX1NFTEZfUkZSCisJYmZpbnMJcjEwLCByMTEsIDAsIDIJCS8qIExQQ0IgPC0gc2VsZiByZWZyZXNoICovCisJc3QudwlyMTJbU0RSQU1DX0xQUl0sIHIxMAkvKiBwdXQgU0RSQU0gaW4gc2VsZi1yZWZyZXNoIG1vZGUgKi8KKwlsZC53CXIxMSwgcjEyW1NEUkFNQ19MUFJdCisKKwl1bm1hc2tfaW50ZXJydXB0cworCXNsZWVwCUNQVV9TTEVFUF9TVE9QCisxOgltYXNrX2ludGVycnVwdHMKKworCXJldGFsCXIxMgorCS5zaXplCXBtX3N1c3BlbmRfdG9fcmFtLCAuIC0gcG1fc3VzcGVuZF90b19yYW0KKworCS5nbG9iYWwJcG1fc3JhbV9lbmQKKwkudHlwZQlwbV9zcmFtX2VuZCwgQGZ1bmN0aW9uCitwbV9zcmFtX2VuZDoKKwkuc2l6ZQlwbV9zcmFtX2VuZCwgMAorCisjZW5kaWYgLyogQ09ORklHX1BNICovCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLmMgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI3NjQzMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0uYwpAQCAtMCwwICsxLDI0NSBAQAorLyoKKyAqIEFWUjMyIEFQIFBvd2VyIE1hbmFnZW1lbnQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXRtZWwgQ29ycG9yYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CisjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorCisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vc3lzcmVnLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9wbS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3NyYW0uaD4KKworLyogRklYTUU6IFRoaXMgaXMgb25seSB2YWxpZCBmb3IgQVA3MDAwICovCisjZGVmaW5lIFNEUkFNQ19CQVNFCTB4ZmZmMDM4MDAKKworI2luY2x1ZGUgInNkcmFtYy5oIgorCisjZGVmaW5lIFNSQU1fUEFHRV9GTEFHUwkoU1lTUkVHX0JJVChUTEJFTE9fRCkgfCBTWVNSRUdfQkYoU1osIDEpCVwKKwkJCQl8IFNZU1JFR19CRihBUCwgMykgfCBTWVNSRUdfQklUKEcpKQorCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nCXBtX3NyYW1fc3RhcnQ7CitzdGF0aWMgc2l6ZV90CQlwbV9zcmFtX3NpemU7CitzdGF0aWMgc3RydWN0IHZtX3N0cnVjdAkqcG1fc3JhbV9hcmVhOworCitzdGF0aWMgdm9pZCAoKmF2cjMyX3BtX2VudGVyX3N0YW5kYnkpKHVuc2lnbmVkIGxvbmcgc2RyYW1jX2Jhc2UpOworc3RhdGljIHZvaWQgKCphdnIzMl9wbV9lbnRlcl9zdHIpKHVuc2lnbmVkIGxvbmcgc2RyYW1jX2Jhc2UpOworCisvKgorICogTXVzdCBiZSBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkLiBFeGNlcHRpb25zIHdpbGwgYmUgbWFza2VkCisgKiBvbiByZXR1cm4gKGkuZS4gYWxsIGV4Y2VwdGlvbnMgd2lsbCBiZSAidW5yZWNvdmVyYWJsZSIuKQorICovCitzdGF0aWMgdm9pZCAqYXZyMzJfcG1fbWFwX3NyYW0odm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nCXZhZGRyOworCXVuc2lnbmVkIGxvbmcJcGFnZV9hZGRyOworCXUzMgkJdGxiZWhpOworCXUzMgkJbW11Y3I7CisKKwl2YWRkciA9ICh1bnNpZ25lZCBsb25nKXBtX3NyYW1fYXJlYS0+YWRkcjsKKwlwYWdlX2FkZHIgPSBwbV9zcmFtX3N0YXJ0ICYgUEFHRV9NQVNLOworCisJLyoKKwkgKiBNYXNrIGV4Y2VwdGlvbnMgYW5kIGdyYWIgdGhlIGZpcnN0IFRMQiBlbnRyeS4gV2Ugd29uJ3QgYmUKKwkgKiBuZWVkaW5nIGl0IHdoaWxlIHNsZWVwaW5nLgorCSAqLworCWFzbSB2b2xhdGlsZSgic3NyZgklMCIgOiA6ICJpIihTWVNSRUdfRU1fT0ZGU0VUKSA6ICJtZW1vcnkiKTsKKworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOworCXRsYmVoaSA9IHN5c3JlZ19yZWFkKFRMQkVISSk7CisJc3lzcmVnX3dyaXRlKE1NVUNSLCBTWVNSRUdfQkZJTlMoRFJQLCAwLCBtbXVjcikpOworCisJdGxiZWhpID0gU1lTUkVHX0JGKEFTSUQsIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpKTsKKwl0bGJlaGkgfD0gdmFkZHIgJiBQQUdFX01BU0s7CisJdGxiZWhpIHw9IFNZU1JFR19CSVQoVExCRUhJX1YpOworCisJc3lzcmVnX3dyaXRlKFRMQkVMTywgcGFnZV9hZGRyIHwgU1JBTV9QQUdFX0ZMQUdTKTsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCV9fYnVpbHRpbl90bGJ3KCk7CisKKwlyZXR1cm4gKHZvaWQgKikodmFkZHIgKyBwbV9zcmFtX3N0YXJ0IC0gcGFnZV9hZGRyKTsKK30KKworLyoKKyAqIE11c3QgYmUgY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4gRXhjZXB0aW9ucyB3aWxsIGJlCisgKiB1bm1hc2tlZCBvbiByZXR1cm4uCisgKi8KK3N0YXRpYyB2b2lkIGF2cjMyX3BtX3VubWFwX3NyYW0odm9pZCkKK3sKKwl1MzIJbW11Y3I7CisJdTMyCXRsYmVoaTsKKwl1MzIJdGxiYXJsbzsKKworCS8qIEdvaW5nIHRvIHVwZGF0ZSBUTEIgZW50cnkgYXQgaW5kZXggMCAqLworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOworCXRsYmVoaSA9IHN5c3JlZ19yZWFkKFRMQkVISSk7CisJc3lzcmVnX3dyaXRlKE1NVUNSLCBTWVNSRUdfQkZJTlMoRFJQLCAwLCBtbXVjcikpOworCisJLyogQ2xlYXIgdGhlICJ2YWxpZCIgYml0ICovCisJdGxiZWhpID0gU1lTUkVHX0JGKEFTSUQsIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpKTsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCisJLyogTWFyayBpdCBhcyAibm90IGFjY2Vzc2VkIiAqLworCXRsYmFybG8gPSBzeXNyZWdfcmVhZChUTEJBUkxPKTsKKwlzeXNyZWdfd3JpdGUoVExCQVJMTywgdGxiYXJsbyB8IDB4ODAwMDAwMDBVKTsKKworCS8qIFVwZGF0ZSB0aGUgVExCICovCisJX19idWlsdGluX3RsYncoKTsKKworCS8qIFVubWFzayBleGNlcHRpb25zICovCisJYXNtIHZvbGF0aWxlKCJjc3JmCSUwIiA6IDogImkiKFNZU1JFR19FTV9PRkZTRVQpIDogIm1lbW9yeSIpOworfQorCitzdGF0aWMgaW50IGF2cjMyX3BtX3ZhbGlkX3N0YXRlKHN1c3BlbmRfc3RhdGVfdCBzdGF0ZSkKK3sKKwlzd2l0Y2ggKHN0YXRlKSB7CisJY2FzZSBQTV9TVVNQRU5EX09OOgorCWNhc2UgUE1fU1VTUEVORF9TVEFOREJZOgorCWNhc2UgUE1fU1VTUEVORF9NRU06CisJCXJldHVybiAxOworCisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW50IGF2cjMyX3BtX2VudGVyKHN1c3BlbmRfc3RhdGVfdCBzdGF0ZSkKK3sKKwl1MzIJCWxwcl9zYXZlZDsKKwl1MzIJCWV2YmFfc2F2ZWQ7CisJdm9pZAkJKnNyYW07CisKKwlzd2l0Y2ggKHN0YXRlKSB7CisJY2FzZSBQTV9TVVNQRU5EX1NUQU5EQlk6CisJCXNyYW0gPSBhdnIzMl9wbV9tYXBfc3JhbSgpOworCisJCS8qIFN3aXRjaCB0byBpbi1zcmFtIGV4Y2VwdGlvbiBoYW5kbGVycyAqLworCQlldmJhX3NhdmVkID0gc3lzcmVnX3JlYWQoRVZCQSk7CisJCXN5c3JlZ193cml0ZShFVkJBLCAodW5zaWduZWQgbG9uZylzcmFtKTsKKworCQkvKgorCQkgKiBTYXZlIHRoZSBMUFIgcmVnaXN0ZXIgc28gdGhhdCB3ZSBjYW4gcmUtZW5hYmxlCisJCSAqIFNEUkFNIExvdyBQb3dlciBtb2RlIG9uIHJlc3VtZS4KKwkJICovCisJCWxwcl9zYXZlZCA9IHNkcmFtY19yZWFkbChMUFIpOworCQlwcl9kZWJ1ZygiJXM6IEVudGVyaW5nIHN0YW5kYnkuLi5cbiIsIF9fZnVuY19fKTsKKwkJYXZyMzJfcG1fZW50ZXJfc3RhbmRieShTRFJBTUNfQkFTRSk7CisJCXNkcmFtY193cml0ZWwoTFBSLCBscHJfc2F2ZWQpOworCisJCS8qIFN3aXRjaCBiYWNrIHRvIHJlZ3VsYXIgZXhjZXB0aW9uIGhhbmRsZXJzICovCisJCXN5c3JlZ193cml0ZShFVkJBLCBldmJhX3NhdmVkKTsKKworCQlhdnIzMl9wbV91bm1hcF9zcmFtKCk7CisJCWJyZWFrOworCisJY2FzZSBQTV9TVVNQRU5EX01FTToKKwkJc3JhbSA9IGF2cjMyX3BtX21hcF9zcmFtKCk7CisKKwkJLyogU3dpdGNoIHRvIGluLXNyYW0gZXhjZXB0aW9uIGhhbmRsZXJzICovCisJCWV2YmFfc2F2ZWQgPSBzeXNyZWdfcmVhZChFVkJBKTsKKwkJc3lzcmVnX3dyaXRlKEVWQkEsICh1bnNpZ25lZCBsb25nKXNyYW0pOworCisJCS8qCisJCSAqIFNhdmUgdGhlIExQUiByZWdpc3RlciBzbyB0aGF0IHdlIGNhbiByZS1lbmFibGUKKwkJICogU0RSQU0gTG93IFBvd2VyIG1vZGUgb24gcmVzdW1lLgorCQkgKi8KKwkJbHByX3NhdmVkID0gc2RyYW1jX3JlYWRsKExQUik7CisJCXByX2RlYnVnKCIlczogRW50ZXJpbmcgc3VzcGVuZC10by1yYW0uLi5cbiIsIF9fZnVuY19fKTsKKwkJYXZyMzJfcG1fZW50ZXJfc3RyKFNEUkFNQ19CQVNFKTsKKwkJc2RyYW1jX3dyaXRlbChMUFIsIGxwcl9zYXZlZCk7CisKKwkJLyogU3dpdGNoIGJhY2sgdG8gcmVndWxhciBleGNlcHRpb24gaGFuZGxlcnMgKi8KKwkJc3lzcmVnX3dyaXRlKEVWQkEsIGV2YmFfc2F2ZWQpOworCisJCWF2cjMyX3BtX3VubWFwX3NyYW0oKTsKKwkJYnJlYWs7CisKKwljYXNlIFBNX1NVU1BFTkRfT046CisJCXByX2RlYnVnKCIlczogRW50ZXJpbmcgaWRsZS4uLlxuIiwgX19mdW5jX18pOworCQljcHVfZW50ZXJfaWRsZSgpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXByX2RlYnVnKCIlczogSW52YWxpZCBzdXNwZW5kIHN0YXRlICVkXG4iLCBfX2Z1bmNfXywgc3RhdGUpOworCQlnb3RvIG91dDsKKwl9CisKKwlwcl9kZWJ1ZygiJXM6IHdha2V1cFxuIiwgX19mdW5jX18pOworCitvdXQ6CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fc3VzcGVuZF9vcHMgYXZyMzJfcG1fb3BzID0geworCS52YWxpZAk9IGF2cjMyX3BtX3ZhbGlkX3N0YXRlLAorCS5lbnRlcgk9IGF2cjMyX3BtX2VudGVyLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgYXZyMzJfcG1fb2Zmc2V0KHZvaWQgKnN5bWJvbCkKK3sKKwlleHRlcm4gdTggcG1fZXhjZXB0aW9uW107CisKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpc3ltYm9sIC0gKHVuc2lnbmVkIGxvbmcpcG1fZXhjZXB0aW9uOworfQorCitzdGF0aWMgaW50IF9faW5pdCBhdnIzMl9wbV9pbml0KHZvaWQpCit7CisJZXh0ZXJuIHU4IHBtX2V4Y2VwdGlvbltdOworCWV4dGVybiB1OCBwbV9pcnEwW107CisJZXh0ZXJuIHU4IHBtX3N0YW5kYnlbXTsKKwlleHRlcm4gdTggcG1fc3VzcGVuZF90b19yYW1bXTsKKwlleHRlcm4gdTggcG1fc3JhbV9lbmRbXTsKKwl2b2lkICpkc3Q7CisKKwkvKgorCSAqIFRvIGtlZXAgdGhpbmdzIHNpbXBsZSwgd2UgZGVwZW5kIG9uIG5vdCBuZWVkaW5nIG1vcmUgdGhhbiBhCisJICogc2luZ2xlIHBhZ2UuCisJICovCisJcG1fc3JhbV9zaXplID0gYXZyMzJfcG1fb2Zmc2V0KHBtX3NyYW1fZW5kKTsKKwlpZiAocG1fc3JhbV9zaXplID4gUEFHRV9TSVpFKQorCQlnb3RvIGVycjsKKworCXBtX3NyYW1fc3RhcnQgPSBzcmFtX2FsbG9jKHBtX3NyYW1fc2l6ZSk7CisJaWYgKCFwbV9zcmFtX3N0YXJ0KQorCQlnb3RvIGVycl9hbGxvY19zcmFtOworCisJLyogR3JhYiBhIHZpcnR1YWwgYXJlYSB3ZSBjYW4gdXNlIGxhdGVyIG9uLiAqLworCXBtX3NyYW1fYXJlYSA9IGdldF92bV9hcmVhKHBtX3NyYW1fc2l6ZSwgVk1fSU9SRU1BUCk7CisJaWYgKCFwbV9zcmFtX2FyZWEpCisJCWdvdG8gZXJyX3ZtX2FyZWE7CisJcG1fc3JhbV9hcmVhLT5waHlzX2FkZHIgPSBwbV9zcmFtX3N0YXJ0OworCisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwlkc3QgPSBhdnIzMl9wbV9tYXBfc3JhbSgpOworCW1lbWNweShkc3QsIHBtX2V4Y2VwdGlvbiwgcG1fc3JhbV9zaXplKTsKKwlmbHVzaF9kY2FjaGVfcmVnaW9uKGRzdCwgcG1fc3JhbV9zaXplKTsKKwlpbnZhbGlkYXRlX2ljYWNoZV9yZWdpb24oZHN0LCBwbV9zcmFtX3NpemUpOworCWF2cjMyX3BtX3VubWFwX3NyYW0oKTsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisKKwlhdnIzMl9wbV9lbnRlcl9zdGFuZGJ5ID0gZHN0ICsgYXZyMzJfcG1fb2Zmc2V0KHBtX3N0YW5kYnkpOworCWF2cjMyX3BtX2VudGVyX3N0ciA9IGRzdCArIGF2cjMyX3BtX29mZnNldChwbV9zdXNwZW5kX3RvX3JhbSk7CisJaW50Y19zZXRfc3VzcGVuZF9oYW5kbGVyKGF2cjMyX3BtX29mZnNldChwbV9pcnEwKSk7CisKKwlzdXNwZW5kX3NldF9vcHMoJmF2cjMyX3BtX29wcyk7CisKKwlwcmludGsoIkFWUjMyIEFQIFBvd2VyIE1hbmFnZW1lbnQgZW5hYmxlZFxuIik7CisKKwlyZXR1cm4gMDsKKworZXJyX3ZtX2FyZWE6CisJc3JhbV9mcmVlKHBtX3NyYW1fc3RhcnQsIHBtX3NyYW1fc2l6ZSk7CitlcnJfYWxsb2Nfc3JhbToKK2VycjoKKwlwcl9lcnIoIkFWUjMyIFBvd2VyIE1hbmFnZW1lbnQgaW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iKTsKKwlyZXR1cm4gLUVOT01FTTsKK30KK2FyY2hfaW5pdGNhbGwoYXZyMzJfcG1faW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3NkcmFtYy5oIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9zZHJhbWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmVlYWVkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9zZHJhbWMuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogUmVnaXN0ZXIgZGVmaW5pdGlvbnMgZm9yIHRoZSBBVDMyQVAgU0RSQU0gQ29udHJvbGxlcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBdG1lbCBDb3Jwb3JhdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLworI2RlZmluZSBTRFJBTUNfTVIJCQkweDAwMDAKKyNkZWZpbmUgU0RSQU1DX1RSCQkJMHgwMDA0CisjZGVmaW5lIFNEUkFNQ19DUgkJCTB4MDAwOAorI2RlZmluZSBTRFJBTUNfSFNSCQkJMHgwMDBjCisjZGVmaW5lIFNEUkFNQ19MUFIJCQkweDAwMTAKKyNkZWZpbmUgU0RSQU1DX0lFUgkJCTB4MDAxNAorI2RlZmluZSBTRFJBTUNfSURSCQkJMHgwMDE4CisjZGVmaW5lIFNEUkFNQ19JTVIJCQkweDAwMWMKKyNkZWZpbmUgU0RSQU1DX0lTUgkJCTB4MDAyMAorI2RlZmluZSBTRFJBTUNfTURSCQkJMHgwMDI0CisKKy8qIE1SIC0gTW9kZSBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9OT1JNQUwJCSggIDAgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19NUl9NT0RFX05PUAkJKCAgMSA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01SX01PREVfQkFOS1NfUFJFQ0hBUkdFCSggIDIgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19NUl9NT0RFX0xPQURfTU9ERQkoICAzIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9BVVRPX1JFRlJFU0gJKCAgNCA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01SX01PREVfRVhUX0xPQURfTU9ERQkoICA1IDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9QT1dFUl9ET1dOCSggIDYgPDwgIDApCisKKy8qIENSIC0gQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfQ1JfTkNfOF9CSVRTCQkoICAwIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfQ1JfTkNfOV9CSVRTCQkoICAxIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfQ1JfTkNfMTBfQklUUwkJKCAgMiA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0NSX05DXzExX0JJVFMJCSggIDMgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19DUl9OUl8xMV9CSVRTCQkoICAwIDw8ICAyKQorI2RlZmluZSBTRFJBTUNfQ1JfTlJfMTJfQklUUwkJKCAgMSA8PCAgMikKKyNkZWZpbmUgU0RSQU1DX0NSX05SXzEzX0JJVFMJCSggIDIgPDwgIDIpCisjZGVmaW5lIFNEUkFNQ19DUl9OQl8yX0JBTktTCQkoICAwIDw8ICA0KQorI2RlZmluZSBTRFJBTUNfQ1JfTkJfNF9CQU5LUwkJKCAgMSA8PCAgNCkKKyNkZWZpbmUgU0RSQU1DX0NSX0NBUyh4KQkJKCh4KSA8PCAgNSkKKyNkZWZpbmUgU0RSQU1DX0NSX0RCV18zMl9CSVRTCQkoICAwIDw8ICA3KQorI2RlZmluZSBTRFJBTUNfQ1JfREJXXzE2X0JJVFMJCSggIDEgPDwgIDcpCisjZGVmaW5lIFNEUkFNQ19DUl9UV1IoeCkJCSgoeCkgPDwgIDgpCisjZGVmaW5lIFNEUkFNQ19DUl9UUkMoeCkJCSgoeCkgPDwgMTIpCisjZGVmaW5lIFNEUkFNQ19DUl9UUlAoeCkJCSgoeCkgPDwgMTYpCisjZGVmaW5lIFNEUkFNQ19DUl9UUkNEKHgpCQkoKHgpIDw8IDIwKQorI2RlZmluZSBTRFJBTUNfQ1JfVFJBUyh4KQkJKCh4KSA8PCAyNCkKKyNkZWZpbmUgU0RSQU1DX0NSX1RYU1IoeCkJCSgoeCkgPDwgMjgpCisKKy8qIEhTUiAtIEhpZ2ggU3BlZWQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0RSQU1DX0hTUl9EQQkJCSggIDEgPDwgIDApCisKKy8qIExQUiAtIExvdyBQb3dlciBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTFBSX0xQQ0JfSU5ISUJJVAkJKCAgMCA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9MUENCX1NFTEZfUkZSCSggIDEgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19MUFJfTFBDQl9QRE9XTgkJKCAgMiA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9MUENCX0RFRVBfUERPV04JKCAgMyA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9QQVNSKHgpCQkoKHgpIDw8ICA0KQorI2RlZmluZSBTRFJBTUNfTFBSX1RDU1IoeCkJCSgoeCkgPDwgIDgpCisjZGVmaW5lIFNEUkFNQ19MUFJfRFMoeCkJCSgoeCkgPDwgMTApCisjZGVmaW5lIFNEUkFNQ19MUFJfVElNRU9VVCh4KQkJKCh4KSA8PCAxMikKKworLyogSUVSL0lEUi9JTVIvSVNSIC0gSW50ZXJydXB0IEVuYWJsZS9EaXNhYmxlL01hc2svU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNEUkFNQ19JU1JfUkVTCQkJKCAgMSA8PCAgMCkKKworLyogTURSIC0gTWVtb3J5IERldmljZSBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTURSX01EX1NEUkFNCQkoICAwIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTURSX01EX0xPV19QV1JfU0RSQU0JKCAgMSA8PCAgMCkKKworLyogUmVnaXN0ZXIgYWNjZXNzIG1hY3JvcyAqLworI2RlZmluZSBzZHJhbWNfcmVhZGwocmVnKSBcCisJX19yYXdfcmVhZGwoKHZvaWQgX19pb21lbSBfX2ZvcmNlICopU0RSQU1DX0JBU0UgKyBTRFJBTUNfIyNyZWcpCisjZGVmaW5lIHNkcmFtY193cml0ZWwocmVnLCB2YWx1ZSkgXAorCV9fcmF3X3dyaXRlbCh2YWx1ZSwgKHZvaWQgX19pb21lbSBfX2ZvcmNlICopU0RSQU1DX0JBU0UgKyBTRFJBTUNfIyNyZWcpCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21tL2luaXQuYyBiL2FyY2gvYXZyMzIvbW0vaW5pdC5jCmluZGV4IDBlNjRkZGMuLjNmOTBhODcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbW0vaW5pdC5jCisrKyBiL2FyY2gvYXZyMzIvbW0vaW5pdC5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+CkBAIC0yMywxMSArMjQsMTQgQEAKICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KIAorI2RlZmluZSBfX3BhZ2VfYWxpZ25lZAlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuZGF0YS5wYWdlX2FsaWduZWQiKSkpCisKIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbXVfZ2F0aGVyLCBtbXVfZ2F0aGVycyk7CiAKLXBnZF90IHN3YXBwZXJfcGdfZGlyW1BUUlNfUEVSX1BHRF07CitwZ2RfdCBzd2FwcGVyX3BnX2RpcltQVFJTX1BFUl9QR0RdIF9fcGFnZV9hbGlnbmVkOwogCiBzdHJ1Y3QgcGFnZSAqZW1wdHlfemVyb19wYWdlOworRVhQT1JUX1NZTUJPTChlbXB0eV96ZXJvX3BhZ2UpOwogCiAvKgogICogQ2FjaGUgb2YgTU1VIGNvbnRleHQgbGFzdCB1c2VkLgpAQCAtMTA2LDE5ICsxMTAsOSBAQAogCXplcm9fcGFnZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzX25vZGUoTk9ERV9EQVRBKDApLAogCQkJCQkJIFBBR0VfU0laRSk7CiAKLQl7Ci0JCXBnZF90ICpwZ19kaXI7Ci0JCWludCBpOwotCi0JCXBnX2RpciA9IHN3YXBwZXJfcGdfZGlyOwotCQlzeXNyZWdfd3JpdGUoUFRCUiwgKHVuc2lnbmVkIGxvbmcpcGdfZGlyKTsKLQotCQlmb3IgKGkgPSAwOyBpIDwgUFRSU19QRVJfUEdEOyBpKyspCi0JCQlwZ2RfdmFsKHBnX2RpcltpXSkgPSAwOwotCi0JCWVuYWJsZV9tbXUoKTsKLQkJcHJpbnRrICgiQ1BVOiBQYWdpbmcgZW5hYmxlZFxuIik7Ci0JfQorCXN5c3JlZ193cml0ZShQVEJSLCAodW5zaWduZWQgbG9uZylzd2FwcGVyX3BnX2Rpcik7CisJZW5hYmxlX21tdSgpOworCXByaW50ayAoIkNQVTogUGFnaW5nIGVuYWJsZWRcbiIpOwogCiAJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7CiAJCXBnX2RhdGFfdCAqcGdkYXQgPSBOT0RFX0RBVEEobmlkKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbW0vdGxiLmMgYi9hcmNoL2F2cjMyL21tL3RsYi5jCmluZGV4IGNkMTJlZGIuLjA2Njc3YmUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbW0vdGxiLmMKKysrIGIvYXJjaC9hdnIzMi9tbS90bGIuYwpAQCAtMTEsMjEgKzExLDIxIEBACiAKICNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KIAotI2RlZmluZSBfVExCRUhJX0kJMHgxMDAKKy8qIFRPRE86IEdldCB0aGUgY29ycmVjdCBudW1iZXIgZnJvbSB0aGUgQ09ORklHMSBzeXN0ZW0gcmVnaXN0ZXIgKi8KKyNkZWZpbmUgTlJfVExCX0VOVFJJRVMgMzIKIAotdm9pZCBzaG93X2R0bGJfZW50cnkodW5zaWduZWQgaW50IGluZGV4KQorc3RhdGljIHZvaWQgc2hvd19kdGxiX2VudHJ5KHVuc2lnbmVkIGludCBpbmRleCkKIHsKLQl1bnNpZ25lZCBpbnQgdGxiZWhpLCB0bGJlaGlfc2F2ZSwgdGxiZWxvLCBtbXVjciwgbW11Y3Jfc2F2ZTsKKwl1MzIgdGxiZWhpLCB0bGJlaGlfc2F2ZSwgdGxiZWxvLCBtbXVjciwgbW11Y3Jfc2F2ZTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCW1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CiAJdGxiZWhpX3NhdmUgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCW1tdWNyID0gbW11Y3Jfc2F2ZSAmIDB4MTM7Ci0JbW11Y3IgfD0gaW5kZXggPDwgMTQ7CisJbW11Y3IgPSBTWVNSRUdfQkZJTlMoRFJQLCBpbmRleCwgbW11Y3Jfc2F2ZSk7CiAJc3lzcmVnX3dyaXRlKE1NVUNSLCBtbXVjcik7CiAKLQlhc20gdm9sYXRpbGUoInRsYnIiIDogOiA6ICJtZW1vcnkiKTsKKwlfX2J1aWx0aW5fdGxicigpOwogCWNwdV9zeW5jX3BpcGVsaW5lKCk7CiAKIAl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwpAQCAtMzMsMTUgKzMzLDE3IEBACiAKIAlwcmludGsoIiUydTogJWMgJWMgJTAyeCAgICUwNXggJTA1eCAlbyAgJW8gICVjICVjICVjICVjXG4iLAogCSAgICAgICBpbmRleCwKLQkgICAgICAgKHRsYmVoaSAmIDB4MjAwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgxMDApPycxJzonMCcsCi0JICAgICAgICh0bGJlaGkgJiAweGZmKSwKLQkgICAgICAgKHRsYmVoaSA+PiAxMiksICh0bGJlbG8gPj4gMTIpLAotCSAgICAgICAodGxiZWxvID4+IDQpICYgNywgKHRsYmVsbyA+PiAyKSAmIDMsCi0JICAgICAgICh0bGJlbG8gJiAweDIwMCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MDgwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgwMDEpPycxJzonMCcsCi0JICAgICAgICh0bGJlbG8gJiAweDAwMik/JzEnOicwJyk7CisJICAgICAgIFNZU1JFR19CRkVYVChUTEJFSElfViwgdGxiZWhpKSA/ICcxJyA6ICcwJywKKwkgICAgICAgU1lTUkVHX0JGRVhUKEcsIHRsYmVsbykgPyAnMScgOiAnMCcsCisJICAgICAgIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpLAorCSAgICAgICBTWVNSRUdfQkZFWFQoVlBOLCB0bGJlaGkpID4+IDIsCisJICAgICAgIFNZU1JFR19CRkVYVChQRk4sIHRsYmVsbykgPj4gMiwKKwkgICAgICAgU1lTUkVHX0JGRVhUKEFQLCB0bGJlbG8pLAorCSAgICAgICBTWVNSRUdfQkZFWFQoU1osIHRsYmVsbyksCisJICAgICAgIFNZU1JFR19CRkVYVChUTEJFTE9fQywgdGxiZWxvKSA/ICdDJyA6ICcgJywKKwkgICAgICAgU1lTUkVHX0JGRVhUKEIsIHRsYmVsbykgPyAnQicgOiAnICcsCisJICAgICAgIFNZU1JFR19CRkVYVChXLCB0bGJlbG8pID8gJ1cnIDogJyAnLAorCSAgICAgICBTWVNSRUdfQkZFWFQoVExCRUxPX0QsIHRsYmVsbykgPyAnRCcgOiAnICcpOwogCiAJc3lzcmVnX3dyaXRlKE1NVUNSLCBtbXVjcl9zYXZlKTsKIAlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGlfc2F2ZSk7CkBAIC01NCwyOSArNTYsMzMgQEAKIAl1bnNpZ25lZCBpbnQgaTsKIAogCXByaW50aygiSUQgIFYgRyBBU0lEIFZQTiAgIFBGTiAgIEFQIFNaIEMgQiBXIERcbiIpOwotCWZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBOUl9UTEJfRU5UUklFUzsgaSsrKQogCQlzaG93X2R0bGJfZW50cnkoaSk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxhc3RfbW11Y3I7Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcmVwbGFjZW1lbnRfcG9pbnRlcih1bnNpZ25lZCBzaGlmdCkKK3N0YXRpYyB2b2lkIHVwZGF0ZV9kdGxiKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgcHRlX3QgcHRlKQogewotCXVuc2lnbmVkIGxvbmcgbW11Y3IsIG1tdWNyX3NhdmU7CisJdTMyIHRsYmVoaTsKKwl1MzIgbW11Y3I7CiAKLQltbXVjciA9IG1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CisJLyoKKwkgKiBXZSdyZSBub3QgY2hhbmdpbmcgdGhlIEFTSUQgaGVyZSwgc28gbm8gbmVlZCB0byBmbHVzaCB0aGUKKwkgKiBwaXBlbGluZS4KKwkgKi8KKwl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOworCXRsYmVoaSA9IFNZU1JFR19CRihBU0lELCBTWVNSRUdfQkZFWFQoQVNJRCwgdGxiZWhpKSk7CisJdGxiZWhpIHw9IGFkZHJlc3MgJiBNTVVfVlBOX01BU0s7CisJdGxiZWhpIHw9IFNZU1JFR19CSVQoVExCRUhJX1YpOworCXN5c3JlZ193cml0ZShUTEJFSEksIHRsYmVoaSk7CiAKIAkvKiBEb2VzIHRoaXMgbWFwcGluZyBhbHJlYWR5IGV4aXN0PyAqLwotCV9fYXNtX18gX192b2xhdGlsZV9fKAotCQkiCXRsYnNcbiIKLQkJIgltZnNyICUwLCAlMSIKLQkJOiAiPXIiKG1tdWNyKQotCQk6ICJpIihTWVNSRUdfTU1VQ1IpKTsKKwlfX2J1aWx0aW5fdGxicygpOworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOwogCiAJaWYgKG1tdWNyICYgU1lTUkVHX0JJVChNTVVDUl9OKSkgewogCQkvKiBOb3QgZm91bmQgLS0gcGljayBhIG5vdC1yZWNlbnRseS1hY2Nlc3NlZCBlbnRyeSAqLwotCQl1bnNpZ25lZCBsb25nIHJwOwotCQl1bnNpZ25lZCBsb25nIHRsYmFyID0gc3lzcmVnX3JlYWQoVExCQVJMTyk7CisJCXVuc2lnbmVkIGludCBycDsKKwkJdTMyIHRsYmFyID0gc3lzcmVnX3JlYWQoVExCQVJMTyk7CiAKIAkJcnAgPSAzMiAtIGZscyh0bGJhcik7CiAJCWlmIChycCA9PSAzMikgewpAQCAtODQsMzAgKzkwLDE0IEBACiAJCQlzeXNyZWdfd3JpdGUoVExCQVJMTywgLTFMKTsKIAkJfQogCi0JCW1tdWNyICY9IDB4MTM7Ci0JCW1tdWNyIHw9IChycCA8PCBzaGlmdCk7Ci0KKwkJbW11Y3IgPSBTWVNSRUdfQkZJTlMoRFJQLCBycCwgbW11Y3IpOwogCQlzeXNyZWdfd3JpdGUoTU1VQ1IsIG1tdWNyKTsKIAl9CiAKLQlsYXN0X21tdWNyID0gbW11Y3I7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9kdGxiKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgcHRlX3QgcHRlLCB1bnNpZ25lZCBsb25nIGFzaWQpCi17Ci0JdW5zaWduZWQgbG9uZyB2cG47Ci0KLQl2cG4gPSAoYWRkcmVzcyAmIE1NVV9WUE5fTUFTSykgfCBfVExCRUhJX1ZBTElEIHwgYXNpZDsKLQlzeXNyZWdfd3JpdGUoVExCRUhJLCB2cG4pOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7Ci0KLQlzZXRfcmVwbGFjZW1lbnRfcG9pbnRlcigxNCk7Ci0KIAlzeXNyZWdfd3JpdGUoVExCRUxPLCBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9GTEFHU19IQVJEV0FSRV9NQVNLKTsKIAogCS8qIExldCdzIGdvICovCi0JYXNtIHZvbGF0aWxlKCJub3Bcblx0dGxidyIgOiA6IDogIm1lbW9yeSIpOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7CisJX19idWlsdGluX3RsYncoKTsKIH0KIAogdm9pZCB1cGRhdGVfbW11X2NhY2hlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLApAQCAtMTIwLDM5ICsxMTAsNDAgQEAKIAkJcmV0dXJuOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXVwZGF0ZV9kdGxiKGFkZHJlc3MsIHB0ZSwgZ2V0X2FzaWQoKSk7CisJdXBkYXRlX2R0bGIoYWRkcmVzcywgcHRlKTsKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKLXZvaWQgX19mbHVzaF90bGJfcGFnZSh1bnNpZ25lZCBsb25nIGFzaWQsIHVuc2lnbmVkIGxvbmcgcGFnZSkKK3N0YXRpYyB2b2lkIF9fZmx1c2hfdGxiX3BhZ2UodW5zaWduZWQgbG9uZyBhc2lkLCB1bnNpZ25lZCBsb25nIHBhZ2UpCiB7Ci0JdW5zaWduZWQgbG9uZyBtbXVjciwgdGxiZWhpOworCXUzMiBtbXVjciwgdGxiZWhpOwogCi0JcGFnZSB8PSBhc2lkOwotCXN5c3JlZ193cml0ZShUTEJFSEksIHBhZ2UpOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7Ci0JYXNtIHZvbGF0aWxlKCJ0bGJzIik7CisJLyoKKwkgKiBDYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIG1hc2tpbmcgb3V0IG5vbi1QRk4gYml0cyBpbiBwYWdlCisJICogYW5kIGNoYW5naW5nIHRoZSBjdXJyZW50IEFTSUQgaWYgbmVjZXNzYXJ5LiBUaGlzIG1lYW5zIHRoYXQKKwkgKiB3ZSBkb24ndCBuZWVkIHRvIGZsdXNoIHRoZSBwaXBlbGluZSBhZnRlciB3cml0aW5nIFRMQkVISS4KKwkgKi8KKwl0bGJlaGkgPSBwYWdlIHwgYXNpZDsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCisJX19idWlsdGluX3RsYnMoKTsKIAltbXVjciA9IHN5c3JlZ19yZWFkKE1NVUNSKTsKIAogCWlmICghKG1tdWNyICYgU1lTUkVHX0JJVChNTVVDUl9OKSkpIHsKLQkJdW5zaWduZWQgbG9uZyB0bGJhcmxvOwotCQl1bnNpZ25lZCBsb25nIGVudHJ5OworCQl1bnNpZ25lZCBpbnQgZW50cnk7CisJCXUzMiB0bGJhcmxvOwogCiAJCS8qIENsZWFyIHRoZSAidmFsaWQiIGJpdCAqLwotCQl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCQl0bGJlaGkgJj0gfl9UTEJFSElfVkFMSUQ7CiAJCXN5c3JlZ193cml0ZShUTEJFSEksIHRsYmVoaSk7Ci0JCWNwdV9zeW5jX3BpcGVsaW5lKCk7CiAKIAkJLyogbWFyayB0aGUgZW50cnkgYXMgIm5vdCBhY2Nlc3NlZCIgKi8KLQkJZW50cnkgPSAobW11Y3IgPj4gMTQpICYgMHgzZjsKKwkJZW50cnkgPSBTWVNSRUdfQkZFWFQoRFJQLCBtbXVjcik7CiAJCXRsYmFybG8gPSBzeXNyZWdfcmVhZChUTEJBUkxPKTsKLQkJdGxiYXJsbyB8PSAoMHg4MDAwMDAwMCA+PiBlbnRyeSk7CisJCXRsYmFybG8gfD0gKDB4ODAwMDAwMDBVTCA+PiBlbnRyeSk7CiAJCXN5c3JlZ193cml0ZShUTEJBUkxPLCB0bGJhcmxvKTsKIAogCQkvKiB1cGRhdGUgdGhlIGVudHJ5IHdpdGggdmFsaWQgYml0IGNsZWFyICovCi0JCWFzbSB2b2xhdGlsZSgidGxidyIpOwotCQljcHVfc3luY19waXBlbGluZSgpOworCQlfX2J1aWx0aW5fdGxidygpOwogCX0KIH0KIApAQCAtMTkwLDE3ICsxODEsMjIgQEAKIAogCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJCXNpemUgPSAoZW5kIC0gc3RhcnQgKyAoUEFHRV9TSVpFIC0gMSkpID4+IFBBR0VfU0hJRlQ7CisKIAkJaWYgKHNpemUgPiAoTU1VX0RUTEJfRU5UUklFUyAvIDQpKSB7IC8qIFRvbyBtYW55IGVudHJpZXMgdG8gZmx1c2ggKi8KIAkJCW1tLT5jb250ZXh0ID0gTk9fQ09OVEVYVDsKIAkJCWlmIChtbSA9PSBjdXJyZW50LT5tbSkKIAkJCQlhY3RpdmF0ZV9jb250ZXh0KG1tKTsKIAkJfSBlbHNlIHsKLQkJCXVuc2lnbmVkIGxvbmcgYXNpZCA9IG1tLT5jb250ZXh0ICYgTU1VX0NPTlRFWFRfQVNJRF9NQVNLOwotCQkJdW5zaWduZWQgbG9uZyBzYXZlZF9hc2lkID0gTU1VX05PX0FTSUQ7CisJCQl1bnNpZ25lZCBsb25nIGFzaWQ7CisJCQl1bnNpZ25lZCBsb25nIHNhdmVkX2FzaWQ7CisKKwkJCWFzaWQgPSBtbS0+Y29udGV4dCAmIE1NVV9DT05URVhUX0FTSURfTUFTSzsKKwkJCXNhdmVkX2FzaWQgPSBNTVVfTk9fQVNJRDsKIAogCQkJc3RhcnQgJj0gUEFHRV9NQVNLOwogCQkJZW5kICs9IChQQUdFX1NJWkUgLSAxKTsKIAkJCWVuZCAmPSBQQUdFX01BU0s7CisKIAkJCWlmIChtbSAhPSBjdXJyZW50LT5tbSkgewogCQkJCXNhdmVkX2FzaWQgPSBnZXRfYXNpZCgpOwogCQkJCXNldF9hc2lkKGFzaWQpOwpAQCAtMjE4LDMzICsyMTQsMzQgQEAKIH0KIAogLyoKLSAqIFRPRE86IElmIHRoaXMgaXMgb25seSBjYWxsZWQgZm9yIGFkZHJlc3NlcyA+IFRBU0tfU0laRSwgd2UgY2FuIHByb2JhYmx5Ci0gKiBza2lwIHRoZSBBU0lEIHN0dWZmIGFuZCBqdXN0IHVzZSB0aGUgR2xvYmFsIGJpdC4uLgorICogVGhpcyBmdW5jdGlvbiBkZXBlbmRzIG9uIHRoZSBwYWdlcyB0byBiZSBmbHVzaGVkIGhhdmluZyB0aGUgRworICogKGdsb2JhbCkgYml0IHNldCBpbiB0aGVpciBwdGUuIFRoaXMgaXMgdHJ1ZSBmb3IgYWxsCisgKiBQQUdFX0tFUk5FTChfUk8pIHBhZ2VzLgogICovCiB2b2lkIGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgc2l6ZTsKIAotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAlzaXplID0gKGVuZCAtIHN0YXJ0ICsgKFBBR0VfU0laRSAtIDEpKSA+PiBQQUdFX1NISUZUOwogCWlmIChzaXplID4gKE1NVV9EVExCX0VOVFJJRVMgLyA0KSkgeyAvKiBUb28gbWFueSBlbnRyaWVzIHRvIGZsdXNoICovCiAJCWZsdXNoX3RsYl9hbGwoKTsKIAl9IGVsc2UgewotCQl1bnNpZ25lZCBsb25nIGFzaWQgPSBpbml0X21tLmNvbnRleHQgJiBNTVVfQ09OVEVYVF9BU0lEX01BU0s7Ci0JCXVuc2lnbmVkIGxvbmcgc2F2ZWRfYXNpZCA9IGdldF9hc2lkKCk7CisJCXVuc2lnbmVkIGxvbmcgYXNpZDsKKworCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCWFzaWQgPSBnZXRfYXNpZCgpOwogCiAJCXN0YXJ0ICY9IFBBR0VfTUFTSzsKIAkJZW5kICs9IChQQUdFX1NJWkUgLSAxKTsKIAkJZW5kICY9IFBBR0VfTUFTSzsKLQkJc2V0X2FzaWQoYXNpZCk7CisKIAkJd2hpbGUgKHN0YXJ0IDwgZW5kKSB7CiAJCQlfX2ZsdXNoX3RsYl9wYWdlKGFzaWQsIHN0YXJ0KTsKIAkJCXN0YXJ0ICs9IFBBR0VfU0laRTsKIAkJfQotCQlzZXRfYXNpZChzYXZlZF9hc2lkKTsKKwkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCX0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQpAQCAtMjgwLDcgKzI3Nyw3IEBACiB7CiAJc3RhdGljIHVuc2lnbmVkIGxvbmcgdGxiX2luZGV4OwogCi0JaWYgKCpwb3MgPj0gMzIpCisJaWYgKCpwb3MgPj0gTlJfVExCX0VOVFJJRVMpCiAJCXJldHVybiBOVUxMOwogCiAJdGxiX2luZGV4ID0gMDsKQEAgLTI5MSw3ICsyODgsNyBAQAogewogCXVuc2lnbmVkIGxvbmcgKmluZGV4ID0gdjsKIAotCWlmICgqaW5kZXggPj0gMzEpCisJaWYgKCppbmRleCA+PSBOUl9UTEJfRU5UUklFUyAtIDEpCiAJCXJldHVybiBOVUxMOwogCiAJKysqcG9zOwpAQCAtMzEzLDE2ICszMTAsMTYgQEAKIAlpZiAoKmluZGV4ID09IDApCiAJCXNlcV9wdXRzKHRsYiwgIklEICBWIEcgQVNJRCBWUE4gICBQRk4gICBBUCBTWiBDIEIgVyBEXG4iKTsKIAotCUJVR19PTigqaW5kZXggPj0gMzIpOworCUJVR19PTigqaW5kZXggPj0gTlJfVExCX0VOVFJJRVMpOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCW1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CiAJdGxiZWhpX3NhdmUgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCW1tdWNyID0gbW11Y3Jfc2F2ZSAmIDB4MTM7Ci0JbW11Y3IgfD0gKmluZGV4IDw8IDE0OworCW1tdWNyID0gU1lTUkVHX0JGSU5TKERSUCwgKmluZGV4LCBtbXVjcl9zYXZlKTsKIAlzeXNyZWdfd3JpdGUoTU1VQ1IsIG1tdWNyKTsKIAotCWFzbSB2b2xhdGlsZSgidGxiciIgOiA6IDogIm1lbW9yeSIpOworCS8qIFRMQlIgbWlnaHQgY2hhbmdlIHRoZSBBU0lEICovCisJX19idWlsdGluX3RsYnIoKTsKIAljcHVfc3luY19waXBlbGluZSgpOwogCiAJdGxiZWhpID0gc3lzcmVnX3JlYWQoVExCRUhJKTsKQEAgLTMzNCwxNiArMzMxLDE4IEBACiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCiAJc2VxX3ByaW50Zih0bGIsICIlMmx1OiAlYyAlYyAlMDJ4ICAgJTA1eCAlMDV4ICVvICAlbyAgJWMgJWMgJWMgJWNcbiIsCi0JICAgICAgICppbmRleCwKLQkgICAgICAgKHRsYmVoaSAmIDB4MjAwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgxMDApPycxJzonMCcsCi0JICAgICAgICh0bGJlaGkgJiAweGZmKSwKLQkgICAgICAgKHRsYmVoaSA+PiAxMiksICh0bGJlbG8gPj4gMTIpLAotCSAgICAgICAodGxiZWxvID4+IDQpICYgNywgKHRsYmVsbyA+PiAyKSAmIDMsCi0JICAgICAgICh0bGJlbG8gJiAweDIwMCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MDgwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgwMDEpPycxJzonMCcsCi0JICAgICAgICh0bGJlbG8gJiAweDAwMik/JzEnOicwJyk7CisJCSAgICppbmRleCwKKwkJICAgU1lTUkVHX0JGRVhUKFRMQkVISV9WLCB0bGJlaGkpID8gJzEnIDogJzAnLAorCQkgICBTWVNSRUdfQkZFWFQoRywgdGxiZWxvKSA/ICcxJyA6ICcwJywKKwkJICAgU1lTUkVHX0JGRVhUKEFTSUQsIHRsYmVoaSksCisJCSAgIFNZU1JFR19CRkVYVChWUE4sIHRsYmVoaSkgPj4gMiwKKwkJICAgU1lTUkVHX0JGRVhUKFBGTiwgdGxiZWxvKSA+PiAyLAorCQkgICBTWVNSRUdfQkZFWFQoQVAsIHRsYmVsbyksCisJCSAgIFNZU1JFR19CRkVYVChTWiwgdGxiZWxvKSwKKwkJICAgU1lTUkVHX0JGRVhUKFRMQkVMT19DLCB0bGJlbG8pID8gJzEnIDogJzAnLAorCQkgICBTWVNSRUdfQkZFWFQoQiwgdGxiZWxvKSA/ICcxJyA6ICcwJywKKwkJICAgU1lTUkVHX0JGRVhUKFcsIHRsYmVsbykgPyAnMScgOiAnMCcsCisJCSAgIFNZU1JFR19CRkVYVChUTEJFTE9fRCwgdGxiZWxvKSA/ICcxJyA6ICcwJyk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYmxhY2tmaW4vbWFjaC1iZjU2MS9jb3JlYi5jIGIvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKaW5kZXggMWI0NGU5ZS4uODU5ODA5OCAxMDA2NDQKLS0tIGEvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKKysrIGIvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKQEAgLTE5NCw2ICsxOTQsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKKy8qIE5vIEJLTCBuZWVkZWQgaGVyZSAqLwogc3RhdGljIGludCBjb3JlYl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXNwaW5fbG9ja19pcnEoJmNvcmViX2xvY2spOwpkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZWVwcm9tLmMgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYwppbmRleCBmMWNhYzlkLi4xZjJhZTkwIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYworKysgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAiaTJjLmgiCkBAIC0zNzUsMTAgKzM3Niw5IEBACiB9CiAKIC8qIE9wZW5zIHRoZSBkZXZpY2UuICovCi0KIHN0YXRpYyBpbnQgZWVwcm9tX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKIHsKLQorICBjeWNsZV9rZXJuZWxfbG9jaygpOwogICBpZihpbWlub3IoaW5vZGUpICE9IEVFUFJPTV9NSU5PUl9OUikKICAgICAgcmV0dXJuIC1FTlhJTzsKICAgaWYoaW1ham9yKGlub2RlKSAhPSBFRVBST01fTUFKT1JfTlIpCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9ncGlvLmMgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9ncGlvLmMKaW5kZXggNjhhOTk4Yi4uODYwNDhlNiAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZ3Bpby5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2dwaW8uYwpAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0zMjMsNiArMzI0LDcgQEAKIAlpZiAoIXByaXYpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlwcml2LT5taW5vciA9IHA7CiAKIAkvKiBpbml0aWFsaXplIHRoZSBpby9hbGFybSBzdHJ1Y3QgKi8KQEAgLTM1Nyw2ICszNTksNyBAQAogCWFsYXJtbGlzdCA9IHByaXY7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZ3Bpb19sb2NrLCBmbGFncyk7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2kyYy5jIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKaW5kZXggZDZkMjIwNi4uMjc5N2U2NyAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KQEAgLTU2Niw2ICs1NjcsNyBAQAogc3RhdGljIGludAogaTJjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvc3luY19zZXJpYWwuYyBiL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL3N5bmNfc2VyaWFsLmMKaW5kZXggMDY5NTQ2ZS4uOTFmZWE2MiAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvc3luY19zZXJpYWwuYworKysgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9zeW5jX3NlcmlhbC5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KQEAgLTQ0MywxOCArNDQ0LDIxIEBACiAJaW50IGRldiA9IE1JTk9SKGlub2RlLT5pX3JkZXYpOwogCXN0cnVjdCBzeW5jX3BvcnQgKnBvcnQ7CiAJaW50IG1vZGU7CisJaW50IGVyciA9IC1FQlVTWTsKIAorCWxvY2tfa2VybmVsKCk7CiAJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIk9wZW4gc3luYyBzZXJpYWwgcG9ydCAlZFxuIiwgZGV2KSk7CiAKIAlpZiAoZGV2IDwgMCB8fCBkZXYgPj0gTlVNQkVSX09GX1BPUlRTIHx8ICFwb3J0c1tkZXZdLmVuYWJsZWQpIHsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkludmFsaWQgbWlub3IgJWRcbiIsIGRldikpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCXBvcnQgPSAmcG9ydHNbZGV2XTsKIAkvKiBBbGxvdyBvcGVuIHRoaXMgZGV2aWNlIHR3aWNlIChhc3N1bWluZyBvbmUgcmVhZGVyIGFuZCBvbmUgd3JpdGVyKSAqLwogCWlmIChwb3J0LT5idXN5ID09IDIpIHsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkRldmljZSBpcyBidXN5Li4gXG4iKSk7Ci0JCXJldHVybiAtRUJVU1k7CisJCWdvdG8gb3V0OwogCX0KIAlpZiAocG9ydC0+aW5pdF9pcnFzKSB7CiAJCWlmIChwb3J0LT51c2VfZG1hKSB7CkBAIC00NjUsMTQgKzQ2OSwxNCBAQAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgcG9ydCAxIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKHJlcXVlc3RfaXJxKDI1LCByeF9pbnRlcnJ1cHQsIDAsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDEgZG1hIHJ4IiwKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJZnJlZV9pcnEoMjQsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMSBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzX3JlcXVlc3RfZG1hKDgsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDEgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDgyLDcgKzQ4Niw3IEBACiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDEgIgogCQkJCQkJIlRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc19yZXF1ZXN0X2RtYSg5LAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAxIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC00OTMsNyArNDk3LDcgQEAKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMSAiCiAJCQkJCQkiUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQkJUkVTRVRfRE1BKDgpOyBXQUlUX0RNQSg4KTsKQEAgLTUyMCwxNCArNTI0LDE0IEBACiAJCQkJCQkmcG9ydHNbMV0pKSB7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDMgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoMjEsIHJ4X2ludGVycnVwdCwgMCwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMyBkbWEgcngiLAogCQkJCQkJJnBvcnRzWzFdKSkgewogCQkJCQlmcmVlX2lycSgyMCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMyBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzX3JlcXVlc3RfZG1hKDQsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDMgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNTM3LDcgKzU0MSw3IEBACiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDMgIgogCQkJCQkJIlRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc19yZXF1ZXN0X2RtYSg1LAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAzIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC01NDgsNyArNTUyLDcgQEAKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMyAiCiAJCQkJCQkiUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQkJUkVTRVRfRE1BKDQpOyBXQUlUX0RNQSg0KTsKQEAgLTU4MSw3ICs1ODUsNyBAQAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9IGVsc2UgaWYgKHBvcnQgPT0gJnBvcnRzWzFdKSB7CiAJCQkJaWYgKHJlcXVlc3RfaXJxKDgsCkBAIC01OTEsNyArNTk1LDcgQEAKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIG1hbnVhbCBpcnEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogCQkJfQogCQkJcG9ydC0+aW5pdF9pcnFzID0gMDsKQEAgLTYyMCw3ICs2MjQsMTEgQEAKIAkJCSpSX0lSUV9NQVNLMV9TRVQgPSAxIDw8IHBvcnQtPmRhdGFfYXZhaWxfYml0OwogCQlERUJVRyhwcmludGsoS0VSTl9ERUJVRyAic3NlciVkIHJlYyBzdGFydGVkXG4iLCBkZXYpKTsKIAl9Ci0JcmV0dXJuIDA7CisJcmV0ID0gMDsKKwkKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBzeW5jX3NlcmlhbF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvY3J5cHRvY29wLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYwppbmRleCA5ZmI1ODIwLi42N2M2MWVhIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYworKysgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CiAKQEAgLTIzMDIsMTEgKzIzMDMsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotCiBzdGF0aWMgaW50IGNyeXB0b2NvcF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCWludCBwID0gaW1pbm9yKGlub2RlKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJaWYgKHAgIT0gQ1JZUFRPQ09QX01JTk9SKSByZXR1cm4gLUVJTlZBTDsKIAogCWZpbHAtPnByaXZhdGVfZGF0YSA9IE5VTEw7CmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9pMmMuYyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCmluZGV4IGMyZmI3YTUuLjE3OWU3YjggMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9ldHJheGkyYy5oPgogCkBAIC02MzYsNiArNjM3LDcgQEAKIHN0YXRpYyBpbnQKIGkyY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtYTMvZ3Bpby5jIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKaW5kZXggZGUxMDdkYS4uZWY5ODYwOCAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2V0cmF4Z3Bpby5oPgogI2luY2x1ZGUgPGh3cmVncy9yZWdfbWFwLmg+CkBAIC0zOTAsNiArMzkxLDggQEAKIAogCWlmICghcHJpdikKIAkJcmV0dXJuIC1FTk9NRU07CisKKwlsb2NrX2tlcm5lbCgpOwogCW1lbXNldChwcml2LCAwLCBzaXplb2YoKnByaXYpKTsKIAogCXByaXYtPm1pbm9yID0gcDsKQEAgLTQxMiw2ICs0MTUsNyBAQAogCQlzcGluX3VubG9ja19pcnEoJmdwaW9fbG9jayk7CiAJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9tYWNoLWZzL2dwaW8uYyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCmluZGV4IDc4NjNmZDQuLmZlMWZkZTggMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9ldHJheGdwaW8uaD4KICNpbmNsdWRlIDxod3JlZ3MvcmVnX21hcC5oPgpAQCAtNDI2LDkgKzQyNywxMCBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXByaXYgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgZ3Bpb19wcml2YXRlKSwgR0ZQX0tFUk5FTCk7Ci0KIAlpZiAoIXByaXYpCiAJCXJldHVybiAtRU5PTUVNOworCisJbG9ja19rZXJuZWwoKTsKIAltZW1zZXQocHJpdiwgMCwgc2l6ZW9mKCpwcml2KSk7CiAKIAlwcml2LT5taW5vciA9IHA7CkBAIC00NDksNiArNDUxLDcgQEAKIAlhbGFybWxpc3QgPSBwcml2OwogCXNwaW5fdW5sb2NrX2lycSgmYWxhcm1fbG9jayk7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL3N5bmNfc2VyaWFsLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9zeW5jX3NlcmlhbC5jCmluZGV4IDQ3YzM3N2QuLmQyYTBmYmYgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL3N5bmNfc2VyaWFsLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvc3luY19zZXJpYWwuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtNDI5LDIzICs0MzAsMjYgQEAKIHN0YXRpYyBpbnQgc3luY19zZXJpYWxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlpbnQgZGV2ID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgcmV0ID0gLUVCVVNZOwogCXN5bmNfcG9ydCAqcG9ydDsKIAlyZWdfZG1hX3J3X2NmZyBjZmcgPSB7LmVuID0gcmVna19kbWFfeWVzfTsKIAlyZWdfZG1hX3J3X2ludHJfbWFzayBpbnRyX21hc2sgPSB7LmRhdGEgPSByZWdrX2RtYV95ZXN9OwogCisJbG9ja19rZXJuZWwoKTsKIAlERUJVRyhwcmludGsoS0VSTl9ERUJVRyAiT3BlbiBzeW5jIHNlcmlhbCBwb3J0ICVkXG4iLCBkZXYpKTsKIAogCWlmIChkZXYgPCAwIHx8IGRldiA+PSBOQlJfUE9SVFMgfHwgIXBvcnRzW2Rldl0uZW5hYmxlZCkKIAl7CiAJCURFQlVHKHByaW50ayhLRVJOX0RFQlVHICJJbnZhbGlkIG1pbm9yICVkXG4iLCBkZXYpKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAlwb3J0ID0gJnBvcnRzW2Rldl07CiAJLyogQWxsb3cgb3BlbiB0aGlzIGRldmljZSB0d2ljZSAoYXNzdW1pbmcgb25lIHJlYWRlciBhbmQgb25lIHdyaXRlcikgKi8KIAlpZiAocG9ydC0+YnVzeSA9PSAyKQogCXsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkRldmljZSBpcyBidXN5Li4gXG4iKSk7Ci0JCXJldHVybiAtRUJVU1k7CisJCWdvdG8gb3V0OwogCX0KIAogCkBAIC00NTksNyArNDYzLDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMCBkbWEgdHIiLAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDAgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoRE1BX0lOX0lOVFJfVkVDVCwKIAkJCQkJCXJ4X2ludGVycnVwdCwKIAkJCQkJCTAsCkBAIC00NjcsNyArNDcxLDcgQEAKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJZnJlZV9pcnEoRE1BX09VVF9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAwIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXN2MzJfcmVxdWVzdF9kbWEoT1VUX0RNQV9OQlIsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDAgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDc2LDcgKzQ4MCw3IEBACiAJCQkJCWZyZWVfaXJxKERNQV9PVVRfSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCWZyZWVfaXJxKERNQV9JTl9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAwIFRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc3YzMl9yZXF1ZXN0X2RtYShJTl9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAwIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC00ODYsNyArNDkwLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BX09VVF9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJZnJlZV9pcnEoRE1BX0lOX0lOVFJfVkVDVCwgJnBvcnRbMF0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDEgUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQl9CkBAIC00OTksNyArNTAzLDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMSBkbWEgdHIiLAogCQkJCQkJJnBvcnRzWzFdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDEgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoRE1BN19JTlRSX1ZFQ1QsCiAJCQkJCQkgICAgICAgcnhfaW50ZXJydXB0LAogCQkJCQkJICAgICAgIDAsCkBAIC01MDcsNyArNTExLDcgQEAKIAkJCQkJCSAgICAgICAmcG9ydHNbMV0pKSB7CiAJCQkJCWZyZWVfaXJxKERNQTZfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc3YzMl9yZXF1ZXN0X2RtYSgKIAkJCQkJCVNZTkNfU0VSMV9UWF9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAxIGRtYSB0ciIsCkBAIC01MTcsNyArNTIxLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BNl9JTlRSX1ZFQ1QsICZwb3J0c1sxXSk7CiAJCQkJCWZyZWVfaXJxKERNQTdfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgVFggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzdjMyX3JlcXVlc3RfZG1hKAogCQkJCQkJU1lOQ19TRVIxX1JYX0RNQV9OQlIsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDMgZG1hIHJlYyIsCkBAIC01MjgsNyArNTMyLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BNl9JTlRSX1ZFQ1QsICZwb3J0c1sxXSk7CiAJCQkJCWZyZWVfaXJxKERNQTdfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQl9CkBAIC01NTQsNyArNTU4LDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgbWFudWFsIGlycSIsCiAJCQkJCQkmcG9ydHNbMF0pKSB7CiAJCQkJCXByaW50aygiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9CiAjaWZkZWYgQ09ORklHX0VUUkFYRlMKQEAgLTU2NSw3ICs1NjksNyBAQAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCBtYW51YWwgaXJxIiwKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9CiAjZW5kaWYKQEAgLTU3OCw3ICs1ODIsMTAgQEAKIAl9IC8qIHBvcnQtPmluaXRfaXJxcyAqLwogCiAJcG9ydC0+YnVzeSsrOwotCXJldHVybiAwOworCXJldCA9IDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgc3luY19zZXJpYWxfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9rZXJuZWwvc21wLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIva2VybmVsL3NtcC5jCmluZGV4IGE5YzMzMzQuLjk1MmEyNGIgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2tlcm5lbC9zbXAuYwpAQCAtMTk0LDcgKzE5NCw3IEBACiAvKiBPdGhlciBjYWxscyAqLwogdm9pZCBzbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc3RvcF90aGlzX2NwdSwgTlVMTCwgMSwgMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oc3RvcF90aGlzX2NwdSwgTlVMTCwgMCk7CiB9CiAKIGludCBzZXR1cF9wcm9maWxpbmdfdGltZXIodW5zaWduZWQgaW50IG11bHRpcGxpZXIpCkBAIC0zMTYsOCArMzE2LDcgQEAKICAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQogICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCiAgKi8KLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCSAgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQoraW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCiB7CiAJY3B1bWFza190IGNwdV9tYXNrID0gQ1BVX01BU0tfQUxMOwogCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQvS2NvbmZpZyBiL2FyY2gvaWE2NC9LY29uZmlnCmluZGV4IDE2YmU0MTQuLjE4YmNjMTAgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9LY29uZmlnCisrKyBiL2FyY2gvaWE2NC9LY29uZmlnCkBAIC0zMDMsNiArMzAzLDcgQEAKIAogY29uZmlnIFNNUAogCWJvb2wgIlN5bW1ldHJpYyBtdWx0aS1wcm9jZXNzaW5nIHN1cHBvcnQiCisJc2VsZWN0IFVTRV9HRU5FUklDX1NNUF9IRUxQRVJTCiAJaGVscAogCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHN5c3RlbXMgd2l0aCBtb3JlIHRoYW4gb25lIENQVS4gSWYgeW91IGhhdmUKIAkgIGEgc3lzdGVtIHdpdGggb25seSBvbmUgQ1BVLCBzYXkgTi4gIElmIHlvdSBoYXZlIGEgc3lzdGVtIHdpdGggbW9yZQpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9tY2EuYyBiL2FyY2gvaWE2NC9rZXJuZWwvbWNhLmMKaW5kZXggNzA1MTc2Yi4uN2RkOTZjMSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9tY2EuYworKysgYi9hcmNoL2lhNjQva2VybmVsL21jYS5jCkBAIC03MDcsNyArNzA3LDcgQEAKIHN0YXRpYyB2b2lkCiBpYTY0X21jYV9jbWNfdmVjdG9yX2Rpc2FibGVfa2V2ZW50ZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKnVudXNlZCkKIHsKLQlvbl9lYWNoX2NwdShpYTY0X21jYV9jbWNfdmVjdG9yX2Rpc2FibGUsIE5VTEwsIDEsIDApOworCW9uX2VhY2hfY3B1KGlhNjRfbWNhX2NtY192ZWN0b3JfZGlzYWJsZSwgTlVMTCwgMCk7CiB9CiAKIC8qCkBAIC03MTksNyArNzE5LDcgQEAKIHN0YXRpYyB2b2lkCiBpYTY0X21jYV9jbWNfdmVjdG9yX2VuYWJsZV9rZXZlbnRkKHN0cnVjdCB3b3JrX3N0cnVjdCAqdW51c2VkKQogewotCW9uX2VhY2hfY3B1KGlhNjRfbWNhX2NtY192ZWN0b3JfZW5hYmxlLCBOVUxMLCAxLCAwKTsKKwlvbl9lYWNoX2NwdShpYTY0X21jYV9jbWNfdmVjdG9yX2VuYWJsZSwgTlVMTCwgMCk7CiB9CiAKIC8qCkBAIC0xODgxLDcgKzE4ODEsNyBAQAogCWNhc2UgQ1BVX09OTElORToKIAljYXNlIENQVV9PTkxJTkVfRlJPWkVOOgogCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaG90Y3B1LCBpYTY0X21jYV9jbWNfdmVjdG9yX2FkanVzdCwKLQkJCQkJIE5VTEwsIDEsIDApOworCQkJCQkgTlVMTCwgMCk7CiAJCWJyZWFrOwogCX0KIAlyZXR1cm4gTk9USUZZX09LOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9wYWxpbmZvLmMgYi9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYwppbmRleCA5ZGMwMGY3Li5lNWM1N2Y0IDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYworKysgYi9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYwpAQCAtOTIxLDcgKzkyMSw3IEBACiAKIAogCS8qIHdpbGwgc2VuZCBJUEkgdG8gb3RoZXIgQ1BVIGFuZCB3YWl0IGZvciBjb21wbGV0aW9uIG9mIHJlbW90ZSBjYWxsICovCi0JaWYgKChyZXQ9c21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGYtPnJlcV9jcHUsIHBhbGluZm9fc21wX2NhbGwsICZwdHIsIDAsIDEpKSkgeworCWlmICgocmV0PXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShmLT5yZXFfY3B1LCBwYWxpbmZvX3NtcF9jYWxsLCAmcHRyLCAxKSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJwYWxpbmZvOiByZW1vdGUgQ1BVIGNhbGwgZnJvbSAlZCB0byAlZCBvbiBmdW5jdGlvbiAlZDogIgogCQkgICAgICAgImVycm9yICVkXG4iLCBzbXBfcHJvY2Vzc29yX2lkKCksIGYtPnJlcV9jcHUsIGYtPmZ1bmNfaWQsIHJldCk7CiAJCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9wZXJmbW9uLmMgYi9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYwppbmRleCA3NzE0YTk3Li4xOWQ0NDkzIDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYworKysgYi9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYwpAQCAtMTgyMCw3ICsxODIwLDcgQEAKIAlpbnQgcmV0OwogCiAJRFBSSU5UKCgiY2FsbGluZyBDUFUlZCBmb3IgY2xlYW51cFxuIiwgY3R4LT5jdHhfY3B1KSk7Ci0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGN0eC0+Y3R4X2NwdSwgcGZtX3N5c3dpZGVfZm9yY2Vfc3RvcCwgY3R4LCAwLCAxKTsKKwlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3R4LT5jdHhfY3B1LCBwZm1fc3lzd2lkZV9mb3JjZV9zdG9wLCBjdHgsIDEpOwogCURQUklOVCgoImNhbGxlZCBDUFUlZCBmb3IgY2xlYW51cCByZXQ9JWRcbiIsIGN0eC0+Y3R4X2NwdSwgcmV0KSk7CiB9CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwpAQCAtNjUwOCw3ICs2NTA4LDcgQEAKIAl9CiAKIAkvKiBzYXZlIHRoZSBjdXJyZW50IHN5c3RlbSB3aWRlIHBtdSBzdGF0ZXMgKi8KLQlyZXQgPSBvbl9lYWNoX2NwdShwZm1fYWx0X3NhdmVfcG11X3N0YXRlLCBOVUxMLCAwLCAxKTsKKwlyZXQgPSBvbl9lYWNoX2NwdShwZm1fYWx0X3NhdmVfcG11X3N0YXRlLCBOVUxMLCAxKTsKIAlpZiAocmV0KSB7CiAJCURQUklOVCgoIm9uX2VhY2hfY3B1KCkgZmFpbGVkOiAlZFxuIiwgcmV0KSk7CiAJCWdvdG8gY2xlYW51cF9yZXNlcnZlOwpAQCAtNjU1Myw3ICs2NTUzLDcgQEAKIAogCXBmbV9hbHRfaW50cl9oYW5kbGVyID0gTlVMTDsKIAotCXJldCA9IG9uX2VhY2hfY3B1KHBmbV9hbHRfcmVzdG9yZV9wbXVfc3RhdGUsIE5VTEwsIDAsIDEpOworCXJldCA9IG9uX2VhY2hfY3B1KHBmbV9hbHRfcmVzdG9yZV9wbXVfc3RhdGUsIE5VTEwsIDEpOwogCWlmIChyZXQpIHsKIAkJRFBSSU5UKCgib25fZWFjaF9jcHUoKSBmYWlsZWQ6ICVkXG4iLCByZXQpKTsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQva2VybmVsL3Byb2Nlc3MuYyBiL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IGEzYTM0YjQuLmZhYmFmMDggMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCkBAIC0yODYsNyArMjg2LDcgQEAKIHsKIAlzbXBfbWIoKTsKIAkvKiBraWNrIGFsbCB0aGUgQ1BVcyBzbyB0aGF0IHRoZXkgZXhpdCBvdXQgb2YgcG1faWRsZSAqLwotCXNtcF9jYWxsX2Z1bmN0aW9uKGRvX25vdGhpbmcsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGRvX25vdGhpbmcsIE5VTEwsIDEpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2lkbGVfd2FpdCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMgYi9hcmNoL2lhNjQva2VybmVsL3NtcC5jCmluZGV4IDk4MzI5NmYuLjM2NzY0NjggMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXAuYwpAQCAtNjAsMjUgKzYwLDkgQEAKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGludCwgc2hhZG93X2ZsdXNoX2NvdW50c1tOUl9DUFVTXSkgX19fX2NhY2hlbGluZV9hbGlnbmVkOwogCi0KLS8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2Ugc3RhdGljIG1lbW9yeQotICogcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyAgX19jYWNoZWxpbmVfYWxpZ25lZCBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlsb25nIHdhaXQ7Ci0JYXRvbWljX3Qgc3RhcnRlZDsKLQlhdG9taWNfdCBmaW5pc2hlZDsKLX07Ci0KLXN0YXRpYyB2b2xhdGlsZSBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqY2FsbF9kYXRhOwotCiAjZGVmaW5lIElQSV9DQUxMX0ZVTkMJCTAKICNkZWZpbmUgSVBJX0NQVV9TVE9QCQkxCisjZGVmaW5lIElQSV9DQUxMX0ZVTkNfU0lOR0xFCTIKICNkZWZpbmUgSVBJX0tEVU1QX0NQVV9TVE9QCTMKIAogLyogVGhpcyBuZWVkcyB0byBiZSBjYWNoZWxpbmUgYWxpZ25lZCBiZWNhdXNlIGl0IGlzIHdyaXR0ZW4gdG8gYnkgKm90aGVyKiBDUFVzLiAgKi8KQEAgLTg2LDQzICs3MCw2IEBACiAKIGV4dGVybiB2b2lkIGNwdV9oYWx0ICh2b2lkKTsKIAotdm9pZAotbG9ja19pcGlfY2FsbGxvY2sodm9pZCkKLXsKLQlzcGluX2xvY2tfaXJxKCZjYWxsX2xvY2spOwotfQotCi12b2lkCi11bmxvY2tfaXBpX2NhbGxsb2NrKHZvaWQpCi17Ci0Jc3Bpbl91bmxvY2tfaXJxKCZjYWxsX2xvY2spOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLWhhbmRsZV9jYWxsX2RhdGEodm9pZCkKLXsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqZGF0YTsKLQl2b2lkICgqZnVuYykodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlpbnQgd2FpdDsKLQotCS8qIHJlbGVhc2UgdGhlICdwb2ludGVyIGxvY2snICovCi0JZGF0YSA9IChzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqKWNhbGxfZGF0YTsKLQlmdW5jID0gZGF0YS0+ZnVuYzsKLQlpbmZvID0gZGF0YS0+aW5mbzsKLQl3YWl0ID0gZGF0YS0+d2FpdDsKLQotCW1iKCk7Ci0JYXRvbWljX2luYygmZGF0YS0+c3RhcnRlZCk7Ci0JLyogQXQgdGhpcyBwb2ludCB0aGUgc3RydWN0dXJlIG1heSBiZSBnb25lIHVubGVzcyB3YWl0IGlzIHRydWUuICovCi0JKCpmdW5jKShpbmZvKTsKLQotCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUgdGFzayBpcyBkb25lLiAqLwotCW1iKCk7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19pbmMoJmRhdGEtPmZpbmlzaGVkKTsKLX0KLQogc3RhdGljIHZvaWQKIHN0b3BfdGhpc19jcHUodm9pZCkKIHsKQEAgLTE2MywxMyArMTEwLDE1IEBACiAJCQlvcHMgJj0gfigxIDw8IHdoaWNoKTsKIAogCQkJc3dpdGNoICh3aGljaCkgewotCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgotCQkJCWhhbmRsZV9jYWxsX2RhdGEoKTsKLQkJCQlicmVhazsKLQogCQkJY2FzZSBJUElfQ1BVX1NUT1A6CiAJCQkJc3RvcF90aGlzX2NwdSgpOwogCQkJCWJyZWFrOworCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgorCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJCQkJYnJlYWs7CisJCQljYXNlIElQSV9DQUxMX0ZVTkNfU0lOR0xFOgorCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCQkJCWJyZWFrOwogI2lmZGVmIENPTkZJR19LRVhFQwogCQkJY2FzZSBJUElfS0RVTVBfQ1BVX1NUT1A6CiAJCQkJdW53X2luaXRfcnVubmluZyhrZHVtcF9jcHVfZnJlZXplLCBOVUxMKTsKQEAgLTE4Nyw2ICsxMzYsOCBAQAogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAorCisKIC8qCiAgKiBDYWxsZWQgd2l0aCBwcmVlbXB0aW9uIGRpc2FibGVkLgogICovCkBAIC0zMzQsNyArMjg1LDcgQEAKIHZvaWQKIHNtcF9mbHVzaF90bGJfYWxsICh2b2lkKQogewotCW9uX2VhY2hfY3B1KCh2b2lkICgqKSh2b2lkICopKWxvY2FsX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KCh2b2lkICgqKSh2b2lkICopKWxvY2FsX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQogCiB2b2lkCkBAIC0zNTcsMTkzICszMDgsMTggQEAKIAkgKiBhbnlob3csIGFuZCBvbmNlIGEgQ1BVIGlzIGludGVycnVwdGVkLCB0aGUgY29zdCBvZiBsb2NhbF9mbHVzaF90bGJfYWxsKCkgaXMKIAkgKiByYXRoZXIgdHJpdmlhbC4KIAkgKi8KLQlvbl9lYWNoX2NwdSgodm9pZCAoKikodm9pZCAqKSlsb2NhbF9maW5pc2hfZmx1c2hfdGxiX21tLCBtbSwgMSwgMSk7CisJb25fZWFjaF9jcHUoKHZvaWQgKCopKHZvaWQgKikpbG9jYWxfZmluaXNoX2ZsdXNoX3RsYl9tbSwgbW0sIDEpOwogfQogCi0vKgotICogUnVuIGEgZnVuY3Rpb24gb24gYSBzcGVjaWZpYyBDUFUKLSAqICA8ZnVuYz4JVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgPG5vbmF0b21pYz4JQ3VycmVudGx5IHVudXNlZC4KLSAqICA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKiAgW1JFVFVSTlNdICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogRG9lcyBub3QgcmV0dXJuIHVudGlsIHRoZSByZW1vdGUgQ1BVIGlzIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPgotICogb3IgaXMgb3IgaGFzIGV4ZWN1dGVkLgotICovCi0KLWludAotc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlIChpbnQgY3B1aWQsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQkgIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1cyA9IDE7Ci0JaW50IG1lID0gZ2V0X2NwdSgpOyAvKiBwcmV2ZW50IHByZWVtcHRpb24gYW5kIHJlc2NoZWR1bGUgb24gYW5vdGhlciBwcm9jZXNzb3IgKi8KLQotCWlmIChjcHVpZCA9PSBtZSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCXB1dF9jcHUoKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQlzcGluX2xvY2tfYmgoJmNhbGxfbG9jayk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOwkvKiBlbnN1cmUgc3RvcmUgdG8gY2FsbF9kYXRhIHByZWNlZGVzIHNldHRpbmcgb2YgSVBJX0NBTExfRlVOQyAqLwotICAJc2VuZF9JUElfc2luZ2xlKGNwdWlkLCBJUElfQ0FMTF9GVU5DKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWNwdV9yZWxheCgpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWNwdV9yZWxheCgpOwotCWNhbGxfZGF0YSA9IE5VTEw7Ci0KLQlzcGluX3VubG9ja19iaCgmY2FsbF9sb2NrKTsKLQlwdXRfY3B1KCk7Ci0JcmV0dXJuIDA7CisJc2VuZF9JUElfc2luZ2xlKGNwdSwgSVBJX0NBTExfRlVOQ19TSU5HTEUpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwogCi0vKioKLSAqIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soKTogUnVuIGEgZnVuY3Rpb24gb24gYSBzZXQgb2Ygb3RoZXIgQ1BVcy4KLSAqIDxtYXNrPglUaGUgc2V0IG9mIGNwdXMgdG8gcnVuIG9uLiAgTXVzdCBub3QgaW5jbHVkZSB0aGUgY3VycmVudCBjcHUuCi0gKiA8ZnVuYz4gCVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24KLSAqCQloYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQ7IG90aGVyd2lzZQotICogaXQgcmV0dXJucyBqdXN0IGJlZm9yZSB0aGUgdGFyZ2V0IGNwdSBjYWxscyBAZnVuYy4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywKLQkJCSAgIHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLAotCQkJICAgaW50IHdhaXQpCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKIHsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWNwdW1hc2tfdCBhbGxidXRzZWxmOwotCWludCBjcHVzOwotCi0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCWFsbGJ1dHNlbGYgPSBjcHVfb25saW5lX21hcDsKLQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBhbGxidXRzZWxmKTsKLQotCWNwdXNfYW5kKG1hc2ssIG1hc2ssIGFsbGJ1dHNlbGYpOwotCWNwdXMgPSBjcHVzX3dlaWdodChtYXNrKTsKLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7IC8qIGVuc3VyZSBzdG9yZSB0byBjYWxsX2RhdGEgcHJlY2VkZXMgc2V0dGluZyBvZiBJUElfQ0FMTF9GVU5DKi8KLQotCS8qIFNlbmQgYSBtZXNzYWdlIHRvIG90aGVyIENQVXMgKi8KLQlpZiAoY3B1c19lcXVhbChtYXNrLCBhbGxidXRzZWxmKSkKLQkJc2VuZF9JUElfYWxsYnV0c2VsZihJUElfQ0FMTF9GVU5DKTsKLQllbHNlCi0JCXNlbmRfSVBJX21hc2sobWFzaywgSVBJX0NBTExfRlVOQyk7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzKQotCQljcHVfcmVsYXgoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQljcHVfcmVsYXgoKTsKLQljYWxsX2RhdGEgPSBOVUxMOwotCi0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JcmV0dXJuIDA7Ci0KKwlzZW5kX0lQSV9tYXNrKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKTsKLQotLyoKLSAqIHRoaXMgZnVuY3Rpb24gc2VuZHMgYSAnZ2VuZXJpYyBjYWxsIGZ1bmN0aW9uJyBJUEkgdG8gYWxsIG90aGVyIENQVXMKLSAqIGluIHRoZSBzeXN0ZW0uCi0gKi8KLQotLyoKLSAqICBbU1VNTUFSWV0JUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiAgPGZ1bmM+CVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiAgPGluZm8+CUFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogIDxub25hdG9taWM+CWN1cnJlbnRseSB1bnVzZWQuCi0gKiAgPHdhaXQ+CUlmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqICBbUkVUVVJOU10gICAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBEb2VzIG5vdCByZXR1cm4gdW50aWwgcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPiBvciBhcmUgb3IgaGF2ZQotICogZXhlY3V0ZWQuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotaW50Ci1zbXBfY2FsbF9mdW5jdGlvbiAodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCi17Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1czsKLQotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQljcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCWlmICghY3B1cykgewotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0JbWIoKTsJLyogZW5zdXJlIHN0b3JlIHRvIGNhbGxfZGF0YSBwcmVjZWRlcyBzZXR0aW5nIG9mIElQSV9DQUxMX0ZVTkMgKi8KLQlzZW5kX0lQSV9hbGxidXRzZWxmKElQSV9DQUxMX0ZVTkMpOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJY3B1X3JlbGF4KCk7Ci0KLQlpZiAod2FpdCkKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBjcHVzKQotCQkJY3B1X3JlbGF4KCk7Ci0JY2FsbF9kYXRhID0gTlVMTDsKLQotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCXJldHVybiAwOwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7CiAKIC8qCiAgKiB0aGlzIGZ1bmN0aW9uIGNhbGxzIHRoZSAnc3RvcCcgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMgaW4gdGhlIHN5c3RlbS4KZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvc21wYm9vdC5jIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKaW5kZXggZDdhZDQyYi4uOWQxZDQyOSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKQEAgLTMxNyw3ICszMTcsNyBAQAogCiAJZ29bTUFTVEVSXSA9IDE7CiAKLQlpZiAoc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKG1hc3Rlciwgc3luY19tYXN0ZXIsIE5VTEwsIDEsIDApIDwgMCkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUobWFzdGVyLCBzeW5jX21hc3RlciwgTlVMTCwgMCkgPCAwKSB7CiAJCXByaW50ayhLRVJOX0VSUiAic3luY19pdGM6IGZhaWxlZCB0byBnZXQgYXR0ZW50aW9uIG9mIENQVSAldSFcbiIsIG1hc3Rlcik7CiAJCXJldHVybjsKIAl9CkBAIC0zOTUsMTQgKzM5NSwxNCBAQAogCiAJZml4X2IwX2Zvcl9ic3AoKTsKIAotCWxvY2tfaXBpX2NhbGxsb2NrKCk7CisJaXBpX2NhbGxfbG9ja19pcnEoKTsKIAlzcGluX2xvY2soJnZlY3Rvcl9sb2NrKTsKIAkvKiBTZXR1cCB0aGUgcGVyIGNwdSBpcnEgaGFuZGxpbmcgZGF0YSBzdHJ1Y3R1cmVzICovCiAJX19zZXR1cF92ZWN0b3JfaXJxKGNwdWlkKTsKIAljcHVfc2V0KGNwdWlkLCBjcHVfb25saW5lX21hcCk7CiAJcGVyX2NwdShjcHVfc3RhdGUsIGNwdWlkKSA9IENQVV9PTkxJTkU7CiAJc3Bpbl91bmxvY2soJnZlY3Rvcl9sb2NrKTsKLQl1bmxvY2tfaXBpX2NhbGxsb2NrKCk7CisJaXBpX2NhbGxfdW5sb2NrX2lycSgpOwogCiAJc21wX3NldHVwX3BlcmNwdV90aW1lcigpOwogCmRpZmYgLS1naXQgYS9hcmNoL2lhNjQva2VybmVsL3VuY2FjaGVkLmMgYi9hcmNoL2lhNjQva2VybmVsL3VuY2FjaGVkLmMKaW5kZXggZTc3OTk1YS4uOGVmZjhjMSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC91bmNhY2hlZC5jCisrKyBiL2FyY2gvaWE2NC9rZXJuZWwvdW5jYWNoZWQuYwpAQCAtMTIzLDggKzEyMyw3IEBACiAJc3RhdHVzID0gaWE2NF9wYWxfcHJlZmV0Y2hfdmlzaWJpbGl0eShQQUxfVklTSUJJTElUWV9QSFlTSUNBTCk7CiAJaWYgKHN0YXR1cyA9PSBQQUxfVklTSUJJTElUWV9PS19SRU1PVEVfTkVFREVEKSB7CiAJCWF0b21pY19zZXQoJnVjX3Bvb2wtPnN0YXR1cywgMCk7Ci0JCXN0YXR1cyA9IHNtcF9jYWxsX2Z1bmN0aW9uKHVuY2FjaGVkX2lwaV92aXNpYmlsaXR5LCB1Y19wb29sLAotCQkJCQkgICAwLCAxKTsKKwkJc3RhdHVzID0gc21wX2NhbGxfZnVuY3Rpb24odW5jYWNoZWRfaXBpX3Zpc2liaWxpdHksIHVjX3Bvb2wsIDEpOwogCQlpZiAoc3RhdHVzIHx8IGF0b21pY19yZWFkKCZ1Y19wb29sLT5zdGF0dXMpKQogCQkJZ290byBmYWlsZWQ7CiAJfSBlbHNlIGlmIChzdGF0dXMgIT0gUEFMX1ZJU0lCSUxJVFlfT0spCkBAIC0xNDYsNyArMTQ1LDcgQEAKIAlpZiAoc3RhdHVzICE9IFBBTF9TVEFUVVNfU1VDQ0VTUykKIAkJZ290byBmYWlsZWQ7CiAJYXRvbWljX3NldCgmdWNfcG9vbC0+c3RhdHVzLCAwKTsKLQlzdGF0dXMgPSBzbXBfY2FsbF9mdW5jdGlvbih1bmNhY2hlZF9pcGlfbWNfZHJhaW4sIHVjX3Bvb2wsIDAsIDEpOworCXN0YXR1cyA9IHNtcF9jYWxsX2Z1bmN0aW9uKHVuY2FjaGVkX2lwaV9tY19kcmFpbiwgdWNfcG9vbCwgMSk7CiAJaWYgKHN0YXR1cyB8fCBhdG9taWNfcmVhZCgmdWNfcG9vbC0+c3RhdHVzKSkKIAkJZ290byBmYWlsZWQ7CiAKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvaXJxLmMgYi9hcmNoL2lhNjQvc24va2VybmVsL2lycS5jCmluZGV4IDUzMzUxYzMuLjk2YzMxYjQgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvaXJxLmMKKysrIGIvYXJjaC9pYTY0L3NuL2tlcm5lbC9pcnEuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxhc20vc24vYWRkcnMuaD4KICNpbmNsdWRlIDxhc20vc24vYXJjaC5oPgogI2luY2x1ZGUgPGFzbS9zbi9pbnRyLmg+CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQvc24va2VybmVsL3NuMi9zbl9od3BlcmYuYyBiL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCmluZGV4IDhjYzBjNDcuLjYzNjU4OGUgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCisrKyBiL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCkBAIC02MjksNyArNjI5LDcgQEAKIAkJaWYgKHVzZV9pcGkpIHsKIAkJCS8qIHVzZSBhbiBpbnRlcnByb2Nlc3NvciBpbnRlcnJ1cHQgdG8gY2FsbCBTQUwgKi8KIAkJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIHNuX2h3cGVyZl9jYWxsX3NhbCwKLQkJCQlvcF9pbmZvLCAxLCAxKTsKKwkJCQlvcF9pbmZvLCAxKTsKIAkJfQogCQllbHNlIHsKIAkJCS8qIG1pZ3JhdGUgdGhlIHRhc2sgYmVmb3JlIGNhbGxpbmcgU0FMICovIApkaWZmIC0tZ2l0IGEvYXJjaC9tMzJyL0tjb25maWcgYi9hcmNoL20zMnIvS2NvbmZpZwppbmRleCBkZTE1M2RlLi5hNWY4NjRjIDEwMDY0NAotLS0gYS9hcmNoL20zMnIvS2NvbmZpZworKysgYi9hcmNoL20zMnIvS2NvbmZpZwpAQCAtMjk2LDYgKzI5Niw3IEBACiAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL20zMnIva2VybmVsL20zMnJfa3N5bXMuYyBiL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCmluZGV4IGU2NzA5ZmUuLjE2YmNiMTggMTAwNjQ0Ci0tLSBhL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCisrKyBiL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCkBAIC00Myw5ICs0Myw2IEBACiAjZW5kaWYKIEVYUE9SVF9TWU1CT0woY3B1X2RhdGEpOwogCi0vKiBHbG9iYWwgU01QIHN0dWZmICovCi1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKLQogLyogVExCIGZsdXNoaW5nICovCiBFWFBPUlRfU1lNQk9MKHNtcF9mbHVzaF90bGJfcGFnZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvbTMyci9rZXJuZWwvc21wLmMgYi9hcmNoL20zMnIva2VybmVsL3NtcC5jCmluZGV4IGM4MzdiYzEzLi43NTc3Zjk3IDEwMDY0NAotLS0gYS9hcmNoL20zMnIva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvbTMyci9rZXJuZWwvc21wLmMKQEAgLTM1LDIyICszNSw2IEBACiAvKj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSovCiAKIC8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2UKLSAqIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlhdG9taWNfdCBzdGFydGVkOwotCWF0b21pY190IGZpbmlzaGVkOwotCWludCB3YWl0OwotfSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18oU01QX0NBQ0hFX0JZVEVTKSkpOwotCi1zdGF0aWMgc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKLQotLyoKICAqIEZvciBmbHVzaF9jYWNoZV9hbGwoKQogICovCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGZsdXNoY2FjaGVfbG9jayk7CkBAIC05Niw5ICs4MCw2IEBACiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCk7CiBzdGF0aWMgdm9pZCBzdG9wX3RoaXNfY3B1KHZvaWQgKik7CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqKSAodm9pZCAqKSwgdm9pZCAqLCBpbnQsIGludCk7Ci12b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLQogdm9pZCBzbXBfc2VuZF90aW1lcih2b2lkKTsKIHZvaWQgc21wX2lwaV90aW1lcl9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKik7CiB2b2lkIHNtcF9sb2NhbF90aW1lcl9pbnRlcnJ1cHQodm9pZCk7CkBAIC0yMzEsNyArMjEyLDcgQEAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJX19mbHVzaF90bGJfYWxsKCk7CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9hbGxfaXBpLCBOVUxMLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfYWxsX2lwaSwgTlVMTCwgMSk7CiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIApAQCAtNTI0LDcgKzUwNSw3IEBACiAgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIHZvaWQgc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KgpAQCAtNTY1LDg2ICs1NDYsMTQgQEAKIAlmb3IgKCA7IDsgKTsKIH0KIAotLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwotLyogQ2FsbCBmdW5jdGlvbiBSb3V0aW5lcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwotCi0vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KgotICogTmFtZTogICAgICAgICBzbXBfY2FsbF9mdW5jdGlvbgotICoKLSAqIERlc2NyaXB0aW9uOiAgVGhpcyByb3V0aW5lIHNlbmRzIGEgJ0NBTExfRlVOQ1RJT05fSVBJJyB0byBhbGwgb3RoZXIgQ1BVcwotICogICAgICAgICAgICAgICBpbiB0aGUgc3lzdGVtLgotICoKLSAqIEJvcm4gb24gRGF0ZTogMjAwMi4wMi4wNQotICoKLSAqIEFyZ3VtZW50czogICAgKmZ1bmMgLSBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQKLSAqICAgICAgICAgICAgICAgICAgICAgICBub24tYmxvY2tpbmcuCi0gKiAgICAgICAgICAgICAgICppbmZvIC0gQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgICAgICAgICAgICAgIG5vbmF0b21pYyAtIGN1cnJlbnRseSB1bnVzZWQuCi0gKiAgICAgICAgICAgICAgIHdhaXQgLSBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMKLSAqICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAqIFJldHVybnM6ICAgICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuIERvZXMgbm90IHJldHVybgotICogICAgICAgICAgICAgICB1bnRpbCByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPDxmdW5jPj4gb3IKLSAqICAgICAgICAgICAgICAgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKgotICogQ2F1dGlvbnM6ICAgICBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvcgotICogICAgICAgICAgICAgICBmcm9tIGEgaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIsIHlvdSBtYXkgY2FsbCBpdCBmcm9tIGEKLSAqICAgICAgICAgICAgICAgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqCi0gKiBNb2RpZmljYXRpb24gbG9nOgotICogRGF0ZSAgICAgICBXaG8gRGVzY3JpcHRpb24KLSAqIC0tLS0tLS0tLS0gLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKgotICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQlpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdXM7CisJc2VuZF9JUElfbWFzayhtYXNrLCBDQUxMX0ZVTkNUSU9OX0lQSSwgMCk7Cit9CiAKLSNpZmRlZiBERUJVR19TTVAKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCV9fc2F2ZV9mbGFncyhmbGFncyk7Ci0JaWYgKCEoZmxhZ3MgJiAweDAwNDApKQkvKiBJbnRlcnJ1cHQgRGlzYWJsZSBOT05PTk8gKi8KLQkJQlVHKCk7Ci0jZW5kaWYgLyogREVCVUdfU01QICovCi0KLQkvKiBIb2xkaW5nIGFueSBsb2NrIHN0b3BzIGNwdXMgZnJvbSBnb2luZyBkb3duLiAqLwotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQljcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCi0JaWYgKCFjcHVzKSB7Ci0JCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAqLwotCXNlbmRfSVBJX2FsbGJ1dHNlbGYoQ0FMTF9GVU5DVElPTl9JUEksIDApOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJYmFycmllcigpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWJhcnJpZXIoKTsKLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBDQUxMX0ZVTkNfU0lOR0xFX0lQSSwgMCk7CiB9CiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qCkBAIC02NjYsMjcgKzU3NSwxNiBAQAogICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKQogewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbykgPSBjYWxsX2RhdGEtPmZ1bmM7Ci0Jdm9pZCAqaW5mbyA9IGNhbGxfZGF0YS0+aW5mbzsKLQlpbnQgd2FpdCA9IGNhbGxfZGF0YS0+d2FpdDsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JbWIoKTsKLQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPnN0YXJ0ZWQpOwotCS8qCi0JICogQXQgdGhpcyBwb2ludCB0aGUgaW5mbyBzdHJ1Y3R1cmUgbWF5IGJlIG91dCBvZiBzY29wZSB1bmxlc3Mgd2FpdD09MQotCSAqLwogCWlycV9lbnRlcigpOwotCSgqZnVuYykoaW5mbyk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKIAlpcnFfZXhpdCgpOworfQogCi0JaWYgKHdhaXQpIHsKLQkJbWIoKTsKLQkJYXRvbWljX2luYygmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQordm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpCit7CisJaXJxX2VudGVyKCk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJaXJxX2V4aXQoKTsKIH0KIAogLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwpkaWZmIC0tZ2l0IGEvYXJjaC9tMzJyL2tlcm5lbC90cmFwcy5jIGIvYXJjaC9tMzJyL2tlcm5lbC90cmFwcy5jCmluZGV4IDg5YmE0YTAuLjQ2MTU5YTQgMTAwNjQ0Ci0tLSBhL2FyY2gvbTMyci9rZXJuZWwvdHJhcHMuYworKysgYi9hcmNoL20zMnIva2VybmVsL3RyYXBzLmMKQEAgLTQwLDYgKzQwLDcgQEAKIGV4dGVybiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKIGV4dGVybiB2b2lkIHNtcF9pcGlfdGltZXJfaW50ZXJydXB0KHZvaWQpOwogZXh0ZXJuIHZvaWQgc21wX2ZsdXNoX2NhY2hlX2FsbF9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpOwogCiAvKgogICogZm9yIEJvb3QgQVAgZnVuY3Rpb24KQEAgLTEwMyw3ICsxMDQsNyBAQAogCWVpdF92ZWN0b3JbMTg2XSA9ICh1bnNpZ25lZCBsb25nKXNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdDsKIAllaXRfdmVjdG9yWzE4N10gPSAodW5zaWduZWQgbG9uZylzbXBfaXBpX3RpbWVyX2ludGVycnVwdDsKIAllaXRfdmVjdG9yWzE4OF0gPSAodW5zaWduZWQgbG9uZylzbXBfZmx1c2hfY2FjaGVfYWxsX2ludGVycnVwdDsKLQllaXRfdmVjdG9yWzE4OV0gPSAwOworCWVpdF92ZWN0b3JbMTg5XSA9ICh1bnNpZ25lZCBsb25nKXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQ7CiAJZWl0X3ZlY3RvclsxOTBdID0gMDsKIAllaXRfdmVjdG9yWzE5MV0gPSAwOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMgYi9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMKaW5kZXggYTgxMmQwMy4uZThhYzNmNyAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2J2bWU2MDAwL3J0Yy5jCisrKyBiL2FyY2gvbTY4ay9idm1lNjAwMC9ydGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9mY250bC5oPgpAQCAtMTQwLDEwICsxNDEsMTQgQEAKIAogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZihydGNfc3RhdHVzKQorCWxvY2tfa2VybmVsKCk7CisJaWYocnRjX3N0YXR1cykgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCiAJcnRjX3N0YXR1cyA9IDE7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL202OGsvbXZtZTE2eC9ydGMuYyBiL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCmluZGV4IGUzNDEzODcuLjQzMmE5ZjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCisrKyBiL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+CkBAIC0xMjcsMTEgKzEyOCwxNCBAQAogCiBzdGF0aWMgaW50IHJ0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJaWYoICFhdG9taWNfZGVjX2FuZF90ZXN0KCZydGNfcmVhZHkpICkKIAl7CiAJCWF0b21pY19pbmMoICZydGNfcmVhZHkgKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9LY29uZmlnIGIvYXJjaC9taXBzL0tjb25maWcKaW5kZXggMjRjNWRlZS4uZDJiZTNmZiAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL0tjb25maWcKKysrIGIvYXJjaC9taXBzL0tjb25maWcKQEAgLTE3NjMsNiArMTc2Myw3IEBACiAJYm9vbCAiTXVsdGktUHJvY2Vzc2luZyBzdXBwb3J0IgogCWRlcGVuZHMgb24gU1lTX1NVUFBPUlRTX1NNUAogCXNlbGVjdCBJUlFfUEVSX0NQVQorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvYmFzbGVyL2V4Y2l0ZS9leGNpdGVfaW9kZXYuYyBiL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCmluZGV4IDQ3NmQyMGUuLmExZTM1MjYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCisrKyBiL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJleGNpdGVfaW9kZXYuaCIKIApAQCAtMTEwLDggKzExMSwxNCBAQAogCiBzdGF0aWMgaW50IGlvZGV2X29wZW4oc3RydWN0IGlub2RlICppLCBzdHJ1Y3QgZmlsZSAqZikKIHsKLQlyZXR1cm4gcmVxdWVzdF9pcnEoaW9kZXZfaXJxLCBpb2Rldl9pcnFoZGwsIElSUUZfRElTQUJMRUQsCisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gcmVxdWVzdF9pcnEoaW9kZXZfaXJxLCBpb2Rldl9pcnFoZGwsIElSUUZfRElTQUJMRUQsCiAJCQkgICBpb2Rldl9uYW1lLCAmbWlzY2Rldik7CisJdW5sb2NrX2tlcm5lbCgpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBpb2Rldl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaSwgc3RydWN0IGZpbGUgKmYpCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL2lycS1ybTkwMDAuYyBiL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCmluZGV4IGVkOWZlYmUuLmI0N2U0NjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCkBAIC00OSw3ICs0OSw3IEBACiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgcm05a19wZXJmY291bnRlcl9pcnFfc3RhcnR1cCh1bnNpZ25lZCBpbnQgaXJxKQogewotCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3N0YXJ0dXAsICh2b2lkICopIGlycSwgMCwgMSk7CisJb25fZWFjaF9jcHUobG9jYWxfcm05a19wZXJmY291bnRlcl9pcnFfc3RhcnR1cCwgKHZvaWQgKikgaXJxLCAxKTsKIAogCXJldHVybiAwOwogfQpAQCAtNjYsNyArNjYsNyBAQAogCiBzdGF0aWMgdm9pZCBybTlrX3BlcmZjb3VudGVyX2lycV9zaHV0ZG93bih1bnNpZ25lZCBpbnQgaXJxKQogewotCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3NodXRkb3duLCAodm9pZCAqKSBpcnEsIDAsIDEpOworCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3NodXRkb3duLCAodm9pZCAqKSBpcnEsIDEpOwogfQogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIHJtOWtfaXJxX2NvbnRyb2xsZXIgPSB7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3J0bHguYyBiL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCmluZGV4IGI4OGYxYzEuLmI1NTY0MTkgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L2VsZi5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZWxvYWRlci5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgpAQCAtMzkyLDggKzM5MywxMiBAQAogc3RhdGljIGludCBmaWxlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgZXJyOwogCi0JcmV0dXJuIHJ0bHhfb3BlbihtaW5vciwgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSA/IDAgOiAxKTsKKwlsb2NrX2tlcm5lbCgpOworCWVyciA9IHJ0bHhfb3BlbihtaW5vciwgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSA/IDAgOiAxKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCBmaWxlX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3NtcC5jIGIvYXJjaC9taXBzL2tlcm5lbC9zbXAuYwppbmRleCBjZGY4N2E5Li40NDEwZjE3IDEwMDY0NAotLS0gYS9hcmNoL21pcHMva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvc21wLmMKQEAgLTEzMSwxNDkgKzEzMSwzMCBAQAogCWNwdV9pZGxlKCk7CiB9CiAKLURFRklORV9TUElOTE9DSyhzbXBfY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQoreworCW1wX29wcy0+c2VuZF9pcGlfbWFzayhtYXNrLCBTTVBfQ0FMTF9GVU5DVElPTik7Cit9CiAKIC8qCi0gKiBSdW4gYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgQ1BVcy4KLSAqCi0gKiAgPG1hc2s+CWNwdXNldF90IG9mIGFsbCBwcm9jZXNzb3JzIHRvIHJ1biB0aGUgZnVuY3Rpb24gb24uCi0gKiAgPGZ1bmM+ICAgICAgVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4gICAgICBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqICA8cmV0cnk+ICAgICBJZiB0cnVlLCBrZWVwIHJldHJ5aW5nIHVudGlsIHJlYWR5LgotICogIDx3YWl0PiAgICAgIElmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICogIFtSRVRVUk5TXSAgIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgotICoKLSAqIERvZXMgbm90IHJldHVybiB1bnRpbCByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPGZ1bmM+Ci0gKiBvciBhcmUgb3IgaGF2ZSBleGVjdXRlZC4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyOgotICoKLSAqIENQVSBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVSBCCi0gKiBEaXNhYmxlIGludGVycnVwdHMKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtcF9jYWxsX2Z1bmN0aW9uKCkKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRha2UgY2FsbF9sb2NrCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kIElQSXMKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdhaXQgZm9yIGFsbCBjcHVzIHRvIGFja25vd2xlZGdlIElQSQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1BVIEEgaGFzIG5vdCByZXNwb25kZWQsIHNwaW4gd2FpdGluZwotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNwdSBBIHRvIHJlc3BvbmQsIGhvbGRpbmcgY2FsbF9sb2NrCi0gKiBzbXBfY2FsbF9mdW5jdGlvbigpCi0gKiBTcGluIHdhaXRpbmcgZm9yIGNhbGxfbG9jawotICogRGVhZGxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVhZGxvY2sKKyAqIFdlIHJldXNlIHRoZSBzYW1lIHZlY3RvciBmb3IgdGhlIHNpbmdsZSBJUEkKICAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksCi0Jdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlpbnQgY3B1czsKLQotCS8qCi0JICogQ2FuIGRpZSBzcGVjdGFjdWxhcmx5IGlmIHRoaXMgQ1BVIGlzbid0IHlldCBtYXJrZWQgb25saW5lCi0JICovCi0JQlVHX09OKCFjcHVfb25saW5lKGNwdSkpOwotCi0JY3B1X2NsZWFyKGNwdSwgbWFzayk7Ci0JY3B1cyA9IGNwdXNfd2VpZ2h0KG1hc2spOwotCWlmICghY3B1cykKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQlzcGluX2xvY2soJnNtcF9jYWxsX2xvY2spOwotCWNhbGxfZGF0YSA9ICZkYXRhOwotCXNtcF9tYigpOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAqLwotCW1wX29wcy0+c2VuZF9pcGlfbWFzayhtYXNrLCBTTVBfQ0FMTF9GVU5DVElPTik7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCS8qIEZJWE1FOiBsb2NrLXVwIGRldGVjdGlvbiwgYmFja3RyYWNlIG9uIGxvY2stdXAgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJYmFycmllcigpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWJhcnJpZXIoKTsKLQljYWxsX2RhdGEgPSBOVUxMOwotCXNwaW5fdW5sb2NrKCZzbXBfY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOworCW1wX29wcy0+c2VuZF9pcGlfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBTTVBfQ0FMTF9GVU5DVElPTik7CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksCi0JaW50IHdhaXQpCi17Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1X29ubGluZV9tYXAsIGZ1bmMsIGluZm8sIHJldHJ5LCB3YWl0KTsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwotCisvKgorICogQ2FsbCBpbnRvIGJvdGggaW50ZXJydXB0IGhhbmRsZXJzLCBhcyB3ZSBzaGFyZSB0aGUgSVBJIGZvciB0aGVtCisgKi8KIHZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCWludCB3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCi0JLyoKLQkgKiBOb3RpZnkgaW5pdGlhdGluZyBDUFUgdGhhdCBJJ3ZlIGdyYWJiZWQgdGhlIGRhdGEgYW5kIGFtCi0JICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24uCi0JICovCi0Jc21wX21iKCk7Ci0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQotCS8qCi0JICogQXQgdGhpcyBwb2ludCB0aGUgaW5mbyBzdHJ1Y3R1cmUgbWF5IGJlIG91dCBvZiBzY29wZSB1bmxlc3Mgd2FpdD09MS4KLQkgKi8KIAlpcnFfZW50ZXIoKTsKLQkoKmZ1bmMpKGluZm8pOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJaXJxX2V4aXQoKTsKLQotCWlmICh3YWl0KSB7Ci0JCXNtcF9tYigpOwotCQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPmZpbmlzaGVkKTsKLQl9CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IHJldHJ5LCBpbnQgd2FpdCkKLXsKLQlpbnQgcmV0LCBtZTsKLQotCS8qCi0JICogQ2FuIGRpZSBzcGVjdGFjdWxhcmx5IGlmIHRoaXMgQ1BVIGlzbid0IHlldCBtYXJrZWQgb25saW5lCi0JICovCi0JaWYgKCFjcHVfb25saW5lKGNwdSkpCi0JCXJldHVybiAwOwotCi0JbWUgPSBnZXRfY3B1KCk7Ci0JQlVHX09OKCFjcHVfb25saW5lKG1lKSk7Ci0KLQlpZiAoY3B1ID09IG1lKSB7Ci0JCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCWZ1bmMoaW5mbyk7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJcHV0X2NwdSgpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfb2ZfY3B1KGNwdSksIGZ1bmMsIGluZm8sIHJldHJ5LAotCQkJCSAgICAgd2FpdCk7Ci0KLQlwdXRfY3B1KCk7Ci0JcmV0dXJuIDA7Ci19Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSk7Ci0KIHN0YXRpYyB2b2lkIHN0b3BfdGhpc19jcHUodm9pZCAqZHVtbXkpCiB7CiAJLyoKQEAgLTI4Niw3ICsxNjcsNyBAQAogCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAwKTsKIH0KIAogdm9pZCBfX2luaXQgc21wX2NwdXNfZG9uZSh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpCkBAIC0zNjUsNyArMjQ2LDcgQEAKIAogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9pcGksIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfaXBpLCBOVUxMLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX21tX2lwaSh2b2lkICptbSkKQEAgLTM4NSw3ICsyNjYsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIHNtcF9vbl9vdGhlcl90bGJzKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8pCiB7CiAjaWZuZGVmIENPTkZJR19NSVBTX01UX1NNVEMKLQlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCAxKTsKICNlbmRpZgogfQogCkBAIC00ODUsNyArMzY2LDcgQEAKIAkJLmFkZHIyID0gZW5kLAogCX07CiAKLQlvbl9lYWNoX2NwdShmbHVzaF90bGJfa2VybmVsX3JhbmdlX2lwaSwgJmZkLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF90bGJfa2VybmVsX3JhbmdlX2lwaSwgJmZkLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX3BhZ2VfaXBpKHZvaWQgKmluZm8pCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3NtdGMuYyBiL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCmluZGV4IDNlODYzMTguLmE1MTYyODYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCkBAIC04NzcsNyArODc3LDYgQEAKIAkvKiBSZXR1cm4gZnJvbSBpbnRlcnJ1cHQgc2hvdWxkIGJlIGVub3VnaCB0byBjYXVzZSBzY2hlZHVsZXIgY2hlY2sgKi8KIH0KIAotCiBzdGF0aWMgdm9pZCBpcGlfY2FsbF9pbnRlcnJ1cHQodm9pZCkKIHsKIAkvKiBJbnZva2UgZ2VuZXJpYyBmdW5jdGlvbiBpbnZvY2F0aW9uIGNvZGUgaW4gc21wLmMgKi8KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggZWJkOWRiOC4uNWViNDY4MSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTczLDMgKzczLDQgQEAKIAlwcmVwYXJlX2ZyYW1ldHJhY2UocmVncyk7CiAJc2F2ZV9jb250ZXh0X3N0YWNrKHRyYWNlLCByZWdzKTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC92cGUuYyBiL2FyY2gvbWlwcy9rZXJuZWwvdnBlLmMKaW5kZXggMjc5NDUwMS4uOTcyYjJkMiAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC92cGUuYworKysgYi9hcmNoL21pcHMva2VybmVsL3ZwZS5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L2VsZi5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZWxvYWRlci5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgpAQCAtMTA1MCwxNyArMTA1MSwyMCBAQAogCWVudW0gdnBlX3N0YXRlIHN0YXRlOwogCXN0cnVjdCB2cGVfbm90aWZpY2F0aW9ucyAqbm90OwogCXN0cnVjdCB2cGUgKnY7Ci0JaW50IHJldDsKKwlpbnQgcmV0LCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAobWlub3IgIT0gaW1pbm9yKGlub2RlKSkgewogCQkvKiBhc3N1bWUgb25seSAxIGRldmljZSBhdCB0aGUgbW9tZW50LiAqLwogCQlwcmludGsoS0VSTl9XQVJOSU5HICJWUEUgbG9hZGVyOiBvbmx5IHZwZTEgaXMgc3VwcG9ydGVkXG4iKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCWlmICgodiA9IGdldF92cGUodGNsaW1pdCkpID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiVlBFIGxvYWRlcjogdW5hYmxlIHRvIGdldCB2cGVcbiIpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCiAJc3RhdGUgPSB4Y2hnKCZ2LT5zdGF0ZSwgVlBFX1NUQVRFX0lOVVNFKTsKQEAgLTExMDAsNiArMTEwNCw4IEBACiAJdi0+c2hhcmVkX3B0ciA9IE5VTEw7CiAJdi0+X19zdGFydCA9IDA7CiAKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9tbS9jLXI0ay5jIGIvYXJjaC9taXBzL21tL2MtcjRrLmMKaW5kZXggMjcwOTY3NS4uNzFkZjMzOSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL21tL2MtcjRrLmMKKysrIGIvYXJjaC9taXBzL21tL2MtcjRrLmMKQEAgLTQzLDEyICs0MywxMiBAQAogICogICAgcHJpbWFyeSBjYWNoZS4KICAqLwogc3RhdGljIGlubGluZSB2b2lkIHI0a19vbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0cnksIGludCB3YWl0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2FpdCkKIHsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAogI2lmICFkZWZpbmVkKENPTkZJR19NSVBTX01UX1NNUCkgJiYgIWRlZmluZWQoQ09ORklHX01JUFNfTVRfU01UQykKLQlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCk7CisJc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgd2FpdCk7CiAjZW5kaWYKIAlmdW5jKGluZm8pOwogCXByZWVtcHRfZW5hYmxlKCk7CkBAIC0zNTAsNyArMzUwLDcgQEAKIAogc3RhdGljIHZvaWQgcjRrX19fZmx1c2hfY2FjaGVfYWxsKHZvaWQpCiB7Ci0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19fX2ZsdXNoX2NhY2hlX2FsbCwgTlVMTCwgMSwgMSk7CisJcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19fX2ZsdXNoX2NhY2hlX2FsbCwgTlVMTCwgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGhhc192YWxpZF9hc2lkKGNvbnN0IHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQpAQCAtMzk3LDcgKzM5Nyw3IEBACiAJaW50IGV4ZWMgPSB2bWEtPnZtX2ZsYWdzICYgVk1fRVhFQzsKIAogCWlmIChjcHVfaGFzX2RjX2FsaWFzZXMgfHwgKGV4ZWMgJiYgIWNwdV9oYXNfaWNfZmlsbHNfZl9kYykpCi0JCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfcmFuZ2UsIHZtYSwgMSwgMSk7CisJCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfcmFuZ2UsIHZtYSwgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbF9yNGtfZmx1c2hfY2FjaGVfbW0odm9pZCAqIGFyZ3MpCkBAIC00MjksNyArNDI5LDcgQEAKIAlpZiAoIWNwdV9oYXNfZGNfYWxpYXNlcykKIAkJcmV0dXJuOwogCi0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9tbSwgbW0sIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfbW0sIG1tLCAxKTsKIH0KIAogc3RydWN0IGZsdXNoX2NhY2hlX3BhZ2VfYXJncyB7CkBAIC01MjEsNyArNTIxLDcgQEAKIAlhcmdzLmFkZHIgPSBhZGRyOwogCWFyZ3MucGZuID0gcGZuOwogCi0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9wYWdlLCAmYXJncywgMSwgMSk7CisJcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9wYWdlLCAmYXJncywgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbF9yNGtfZmx1c2hfZGF0YV9jYWNoZV9wYWdlKHZvaWQgKiBhZGRyKQpAQCAtNTM1LDcgKzUzNSw3IEBACiAJCWxvY2FsX3I0a19mbHVzaF9kYXRhX2NhY2hlX3BhZ2UoKHZvaWQgKilhZGRyKTsKIAllbHNlCiAJCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfZGF0YV9jYWNoZV9wYWdlLCAodm9pZCAqKSBhZGRyLAotCQkJICAgICAgICAxLCAxKTsKKwkJCSAgICAgICAgMSk7CiB9CiAKIHN0cnVjdCBmbHVzaF9pY2FjaGVfcmFuZ2VfYXJncyB7CkBAIC01NzEsNyArNTcxLDcgQEAKIAlhcmdzLnN0YXJ0ID0gc3RhcnQ7CiAJYXJncy5lbmQgPSBlbmQ7CiAKLQlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2ljYWNoZV9yYW5nZSwgJmFyZ3MsIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfaWNhY2hlX3JhbmdlLCAmYXJncywgMSk7CiAJaW5zdHJ1Y3Rpb25faGF6YXJkKCk7CiB9CiAKQEAgLTY3Miw3ICs2NzIsNyBAQAogCiBzdGF0aWMgdm9pZCByNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAodW5zaWduZWQgbG9uZyBhZGRyKQogewotCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAsICh2b2lkICopIGFkZHIsIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAsICh2b2lkICopIGFkZHIsIDEpOwogfQogCiBzdGF0aWMgdm9pZCByNGtfZmx1c2hfaWNhY2hlX2FsbCh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL29wcm9maWxlL2NvbW1vbi5jIGIvYXJjaC9taXBzL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IGI1ZjZmNzEuLmRkMmZiZDYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9vcHJvZmlsZS9jb21tb24uYworKysgYi9hcmNoL21pcHMvb3Byb2ZpbGUvY29tbW9uLmMKQEAgLTI3LDcgKzI3LDcgQEAKIAltb2RlbC0+cmVnX3NldHVwKGN0cik7CiAKIAkvKiBDb25maWd1cmUgdGhlIHJlZ2lzdGVycyBvbiBhbGwgY3B1cy4gICovCi0Jb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zZXR1cCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zZXR1cCwgTlVMTCwgMSk7CiAKICAgICAgICAgcmV0dXJuIDA7CiB9CkBAIC01OCw3ICs1OCw3IEBACiAKIHN0YXRpYyBpbnQgb3BfbWlwc19zdGFydCh2b2lkKQogewotCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc3RhcnQsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc3RhcnQsIE5VTEwsIDEpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC02Niw3ICs2Niw3IEBACiBzdGF0aWMgdm9pZCBvcF9taXBzX3N0b3Aodm9pZCkKIHsKIAkvKiBEaXNhYmxlIHBlcmZvcm1hbmNlIG1vbml0b3JpbmcgZm9yIGFsbCBjb3VudGVycy4gICovCi0Jb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zdG9wLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShtb2RlbC0+Y3B1X3N0b3AsIE5VTEwsIDEpOwogfQogCiBpbnQgX19pbml0IG9wcm9maWxlX2FyY2hfaW5pdChzdHJ1Y3Qgb3Byb2ZpbGVfb3BlcmF0aW9ucyAqb3BzKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL29wcm9maWxlL29wX21vZGVsX21pcHN4eC5jIGIvYXJjaC9taXBzL29wcm9maWxlL29wX21vZGVsX21pcHN4eC5jCmluZGV4IGI0MGRmN2QuLjU0NzU5ZjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9vcHJvZmlsZS9vcF9tb2RlbF9taXBzeHguYworKysgYi9hcmNoL21pcHMvb3Byb2ZpbGUvb3BfbW9kZWxfbWlwc3h4LmMKQEAgLTMxMyw3ICszMTMsNyBAQAogCWlmICghY3B1X2hhc19taXBzbXRfcGVydGNjb3VudGVycykKIAkJY291bnRlcnMgPSBjb3VudGVyc190b3RhbF90b19wZXJfY3B1KGNvdW50ZXJzKTsKICNlbmRpZgotCW9uX2VhY2hfY3B1KHJlc2V0X2NvdW50ZXJzLCAodm9pZCAqKShsb25nKWNvdW50ZXJzLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShyZXNldF9jb3VudGVycywgKHZvaWQgKikobG9uZyljb3VudGVycywgMSk7CiAKIAlvcF9tb2RlbF9taXBzeHhfb3BzLm51bV9jb3VudGVycyA9IGNvdW50ZXJzOwogCXN3aXRjaCAoY3VycmVudF9jcHVfdHlwZSgpKSB7CkBAIC0zODIsNyArMzgyLDcgQEAKIAlpbnQgY291bnRlcnMgPSBvcF9tb2RlbF9taXBzeHhfb3BzLm51bV9jb3VudGVyczsKIAogCWNvdW50ZXJzID0gY291bnRlcnNfcGVyX2NwdV90b190b3RhbChjb3VudGVycyk7Ci0Jb25fZWFjaF9jcHUocmVzZXRfY291bnRlcnMsICh2b2lkICopKGxvbmcpY291bnRlcnMsIDAsIDEpOworCW9uX2VhY2hfY3B1KHJlc2V0X2NvdW50ZXJzLCAodm9pZCAqKShsb25nKWNvdW50ZXJzLCAxKTsKIAogCXBlcmZfaXJxID0gc2F2ZV9wZXJmX2lycTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9wbWMtc2llcnJhL3lvc2VtaXRlL3Byb20uYyBiL2FyY2gvbWlwcy9wbWMtc2llcnJhL3lvc2VtaXRlL3Byb20uYwppbmRleCAzNWRjNDM1Li5jZjRjODY4IDEwMDY0NAotLS0gYS9hcmNoL21pcHMvcG1jLXNpZXJyYS95b3NlbWl0ZS9wcm9tLmMKKysrIGIvYXJjaC9taXBzL3BtYy1zaWVycmEveW9zZW1pdGUvcHJvbS5jCkBAIC02NCw3ICs2NCw3IEBACiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChzbXBfcHJvY2Vzc29yX2lkKCkpCiAJCS8qIENQVSAxICovCi0JCXNtcF9jYWxsX2Z1bmN0aW9uKHByb21fY3B1MF9leGl0LCBOVUxMLCAxLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb24ocHJvbV9jcHUwX2V4aXQsIE5VTEwsIDEpOwogI2VuZGlmCiAJcHJvbV9jcHUwX2V4aXQoTlVMTCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL2NmZS9zZXR1cC5jIGIvYXJjaC9taXBzL3NpYnl0ZS9jZmUvc2V0dXAuYwppbmRleCAzM2ZjZTgyLi5mZDk2MDRkIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvc2lieXRlL2NmZS9zZXR1cC5jCisrKyBiL2FyY2gvbWlwcy9zaWJ5dGUvY2ZlL3NldHVwLmMKQEAgLTc0LDcgKzc0LDcgQEAKIAkJaWYgKCFyZWJvb3Rfc21wKSB7CiAJCQkvKiBHZXQgQ1BVIDAgdG8gZG8gdGhlIGNmZV9leGl0ICovCiAJCQlyZWJvb3Rfc21wID0gMTsKLQkJCXNtcF9jYWxsX2Z1bmN0aW9uKGNmZV9saW51eF9leGl0LCBhcmcsIDEsIDApOworCQkJc21wX2NhbGxfZnVuY3Rpb24oY2ZlX2xpbnV4X2V4aXQsIGFyZywgMCk7CiAJCX0KIAl9IGVsc2UgewogCQlwcmludGsoIlBhc3NpbmcgY29udHJvbCBiYWNrIHRvIENGRS4uLlxuIik7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL2NvbW1vbi9zYl90YnByb2YuYyBiL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCmluZGV4IDYzYjQ0NGUuLjI4YjAxMmEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCisrKyBiL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CkBAIC00MDIsMTggKzQwMywyNiBAQAogc3RhdGljIGludCBzYnByb2ZfdGJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlpbnQgbWlub3I7CisJaW50IGVyciA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gaW1pbm9yKGlub2RlKTsKLQlpZiAobWlub3IgIT0gMCkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKG1pbm9yICE9IDApIHsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCi0JaWYgKHhjaGcoJnNicC5vcGVuLCBTQl9PUEVOSU5HKSAhPSBTQl9DTE9TRUQpCi0JCXJldHVybiAtRUJVU1k7CisJaWYgKHhjaGcoJnNicC5vcGVuLCBTQl9PUEVOSU5HKSAhPSBTQl9DTE9TRUQpIHsKKwkJZXJyID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAltZW1zZXQoJnNicCwgMCwgc2l6ZW9mKHN0cnVjdCBzYnByb2ZfdGIpKTsKIAlzYnAuc2Jwcm9mX3RiYnVmID0gdm1hbGxvYyhNQVhfVEJTQU1QTEVfQllURVMpOwotCWlmICghc2JwLnNicHJvZl90YmJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKCFzYnAuc2Jwcm9mX3RiYnVmKSB7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KIAltZW1zZXQoc2JwLnNicHJvZl90YmJ1ZiwgMCwgTUFYX1RCU0FNUExFX0JZVEVTKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzYnAudGJfc3luYyk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmc2JwLnRiX3JlYWQpOwpAQCAtNDIxLDcgKzQzMCw5IEBACiAKIAlzYnAub3BlbiA9IFNCX09QRU47CiAKLQlyZXR1cm4gMDsKKyAgb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IHNicHJvZl90Yl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL3NpYnl0ZS9zYjEyNTAvcHJvbS5jIGIvYXJjaC9taXBzL3NpYnl0ZS9zYjEyNTAvcHJvbS5jCmluZGV4IGNmOGY2YjMuLjY1YjFhZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvc2IxMjUwL3Byb20uYworKysgYi9hcmNoL21pcHMvc2lieXRlL3NiMTI1MC9wcm9tLmMKQEAgLTY2LDcgKzY2LDcgQEAKIHsKICNpZmRlZiBDT05GSUdfU01QCiAJaWYgKHNtcF9wcm9jZXNzb3JfaWQoKSkgewotCQlzbXBfY2FsbF9mdW5jdGlvbihwcm9tX2NwdTBfZXhpdCwgTlVMTCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKHByb21fY3B1MF9leGl0LCBOVUxMLCAxKTsKIAl9CiAjZW5kaWYKIAl3aGlsZSgxKTsKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vTWFrZWZpbGUgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL01ha2VmaWxlCmluZGV4IDE3NzU3NTUuLjI1NWQ2OTIgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vTWFrZWZpbGUKKysrIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9NYWtlZmlsZQpAQCAtMSwzICsxLDQgQEAKIG9iai15CQkJCTo9IHNldHVwLm8gcnRjX3hpY29yMTI0MS5vIHJ0Y19tNDF0ODEubwogCitvYmotJChDT05GSUdfSTJDX0JPQVJESU5GTykJKz0gc3dhcm0taTJjLm8KIG9iai0kKENPTkZJR19LR0RCKQkJKz0gZGJnX2lvLm8KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vc3dhcm0taTJjLmMgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyODJhYzkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKglhcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCisgKgorICoJQnJvYWRjb20gQkNNOTEyNTBBIChTV0FSTSksIGV0Yy4gSTJDIHBsYXRmb3JtIHNldHVwLgorICoKKyAqCUNvcHlyaWdodCAoYykgMjAwOCAgTWFjaWVqIFcuIFJvenlja2kKKyAqCisgKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKgltb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICoJYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCisgKgkyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBzd2FybV9pMmNfaW5mbzFbXSBfX2luaXRkYXRhID0geworCXsKKwkJSTJDX0JPQVJEX0lORk8oIm00MXQ4MSIsIDB4NjgpLAorCX0sCit9OworCitzdGF0aWMgaW50IF9faW5pdCBzd2FybV9pMmNfaW5pdCh2b2lkKQoreworCWludCBlcnI7CisKKwllcnIgPSBpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygxLCBzd2FybV9pMmNfaW5mbzEsCisJCQkJICAgICAgQVJSQVlfU0laRShzd2FybV9pMmNfaW5mbzEpKTsKKwlpZiAoZXJyIDwgMCkKKwkJcHJpbnRrKEtFUk5fRVJSCisJCSAgICAgICAic3dhcm0taTJjOiBjYW5ub3QgcmVnaXN0ZXIgYm9hcmQgSTJDIGRldmljZXNcbiIpOworCXJldHVybiBlcnI7Cit9CisKK2FyY2hfaW5pdGNhbGwoc3dhcm1faTJjX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2MvS2NvbmZpZyBiL2FyY2gvcGFyaXNjL0tjb25maWcKaW5kZXggYmM3YTE5ZC4uYTdkNGZkMzUgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL0tjb25maWcKKysrIGIvYXJjaC9wYXJpc2MvS2NvbmZpZwpAQCAtMTk5LDYgKzE5OSw3IEBACiAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvY2FjaGUuYyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCmluZGV4IGUxMGQyNWQuLjUyNTlkOGMgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCkBAIC01MSwxMiArNTEsMTIgQEAKIHZvaWQKIGZsdXNoX2RhdGFfY2FjaGUodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShmbHVzaF9kYXRhX2NhY2hlX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF9kYXRhX2NhY2hlX2xvY2FsLCBOVUxMLCAxKTsKIH0KIHZvaWQgCiBmbHVzaF9pbnN0cnVjdGlvbl9jYWNoZSh2b2lkKQogewotCW9uX2VhY2hfY3B1KGZsdXNoX2luc3RydWN0aW9uX2NhY2hlX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF9pbnN0cnVjdGlvbl9jYWNoZV9sb2NhbCwgTlVMTCwgMSk7CiB9CiAjZW5kaWYKIApAQCAtNTE1LDcgKzUxNSw3IEBACiAKIHZvaWQgZmx1c2hfY2FjaGVfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoY2FjaGVmbHVzaF9oX3RtcF9mdW5jdGlvbiwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoY2FjaGVmbHVzaF9oX3RtcF9mdW5jdGlvbiwgTlVMTCwgMSk7CiB9CiAKIHZvaWQgZmx1c2hfY2FjaGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqbW0pCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvcGVyZi5jIGIvYXJjaC9wYXJpc2Mva2VybmVsL3BlcmYuYwppbmRleCA4OWQ2ZDVhLi5mNjk2ZjU3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvcGVyZi5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9wZXJmLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMjYwLDEzICsyNjEsMTYgQEAKICAqLwogc3RhdGljIGludCBwZXJmX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJnBlcmZfbG9jayk7CiAJaWYgKHBlcmZfZW5hYmxlZCkgewogCQlzcGluX3VubG9jaygmcGVyZl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlwZXJmX2VuYWJsZWQgPSAxOwogIAlzcGluX3VubG9jaygmcGVyZl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC9zbXAuYyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9zbXAuYwppbmRleCA4NWZjNzc1Li5kNDdmMzk3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9wYXJpc2Mva2VybmVsL3NtcC5jCkBAIC04NCwxOSArODQsMTEgQEAKIAogREVGSU5FX1BFUl9DUFUoc3BpbmxvY2tfdCwgaXBpX2xvY2spID0gU1BJTl9MT0NLX1VOTE9DS0VEOwogCi1zdHJ1Y3Qgc21wX2NhbGxfc3RydWN0IHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JbG9uZyB3YWl0OwotCWF0b21pY190IHVuc3RhcnRlZF9jb3VudDsKLQlhdG9taWNfdCB1bmZpbmlzaGVkX2NvdW50OwotfTsKLXN0YXRpYyB2b2xhdGlsZSBzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0ICpzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotCiBlbnVtIGlwaV9tZXNzYWdlX3R5cGUgewogCUlQSV9OT1A9MCwKIAlJUElfUkVTQ0hFRFVMRT0xLAogCUlQSV9DQUxMX0ZVTkMsCisJSVBJX0NBTExfRlVOQ19TSU5HTEUsCiAJSVBJX0NQVV9TVEFSVCwKIAlJUElfQ1BVX1NUT1AsCiAJSVBJX0NQVV9URVNUCkBAIC0xODcsMzMgKzE3OSwxMiBAQAogCiAJCQljYXNlIElQSV9DQUxMX0ZVTkM6CiAJCQkJc21wX2RlYnVnKDEwMCwgS0VSTl9ERUJVRyAiQ1BVJWQgSVBJX0NBTExfRlVOQ1xuIiwgdGhpc19jcHUpOwotCQkJCXsKLQkJCQkJdm9sYXRpbGUgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqZGF0YTsKLQkJCQkJdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pOwotCQkJCQl2b2lkICppbmZvOwotCQkJCQlpbnQgd2FpdDsKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOworCQkJCWJyZWFrOwogCi0JCQkJCWRhdGEgPSBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotCQkJCQlmdW5jID0gZGF0YS0+ZnVuYzsKLQkJCQkJaW5mbyA9IGRhdGEtPmluZm87Ci0JCQkJCXdhaXQgPSBkYXRhLT53YWl0OwotCi0JCQkJCW1iKCk7Ci0JCQkJCWF0b21pY19kZWMgKChhdG9taWNfdCAqKSZkYXRhLT51bnN0YXJ0ZWRfY291bnQpOwotCi0JCQkJCS8qIEF0IHRoaXMgcG9pbnQsICpkYXRhIGNhbid0Ci0JCQkJCSAqIGJlIHJlbGllZCB1cG9uLgotCQkJCQkgKi8KLQotCQkJCQkoKmZ1bmMpKGluZm8pOwotCi0JCQkJCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUKLQkJCQkJICogdGFzayBpcyBkb25lLgotCQkJCQkgKi8KLQkJCQkJbWIoKTsKLQkJCQkJaWYgKHdhaXQpCi0JCQkJCQlhdG9taWNfZGVjICgoYXRvbWljX3QgKikmZGF0YS0+dW5maW5pc2hlZF9jb3VudCk7Ci0JCQkJfQorCQkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCQlzbXBfZGVidWcoMTAwLCBLRVJOX0RFQlVHICJDUFUlZCBJUElfQ0FMTF9GVU5DX1NJTkdMRVxuIiwgdGhpc19jcHUpOworCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOwogCQkJCWJyZWFrOwogCiAJCQljYXNlIElQSV9DUFVfU1RBUlQ6CkBAIC0yNTYsNiArMjI3LDE0IEBACiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShsb2NrLCBmbGFncyk7CiB9CiAKK3N0YXRpYyB2b2lkCitzZW5kX0lQSV9tYXNrKGNwdW1hc2tfdCBtYXNrLCBlbnVtIGlwaV9tZXNzYWdlX3R5cGUgb3ApCit7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykKKwkJaXBpX3NlbmQoY3B1LCBvcCk7Cit9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAogc2VuZF9JUElfc2luZ2xlKGludCBkZXN0X2NwdSwgZW51bSBpcGlfbWVzc2FnZV90eXBlIG9wKQpAQCAtMjk1LDg2ICsyNzQsMTUgQEAKIAlzZW5kX0lQSV9hbGxidXRzZWxmKElQSV9OT1ApOwogfQogCi0KLS8qKgotICogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiAgPGZ1bmM+CVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiAgPGluZm8+CUFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogIDxyZXRyeT4JSWYgdHJ1ZSwga2VlcCByZXRyeWluZyB1bnRpbCByZWFkeS4KLSAqICA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKiAgW1JFVFVSTlNdICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogRG9lcyBub3QgcmV0dXJuIHVudGlsIHJlbW90ZSBDUFVzIGFyZSBuZWFybHkgcmVhZHkgdG8gZXhlY3V0ZSA8ZnVuYz4KLSAqIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKi8KLQotaW50Ci1zbXBfY2FsbF9mdW5jdGlvbiAodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgZGF0YTsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Ci0Jc3RhdGljIERFRklORV9TUElOTE9DSyhsb2NrKTsKLQlpbnQgcmV0cmllcyA9IDA7Ci0KLQlpZiAobnVtX29ubGluZV9jcHVzKCkgPCAyKQotCQlyZXR1cm4gMDsKLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQkvKiBjYW4gYWxzbyBkZWFkbG9jayBpZiBJUElzIGFyZSBkaXNhYmxlZCAqLwotCVdBUk5fT04oKGdldF9laWVtKCkgJiAoMVVMPDwoQ1BVX0lSUV9NQVggLSBJUElfSVJRKSkpID09IDApOwotCi0JCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JYXRvbWljX3NldCgmZGF0YS51bnN0YXJ0ZWRfY291bnQsIG51bV9vbmxpbmVfY3B1cygpIC0gMSk7Ci0JYXRvbWljX3NldCgmZGF0YS51bmZpbmlzaGVkX2NvdW50LCBudW1fb25saW5lX2NwdXMoKSAtIDEpOwotCi0JaWYgKHJldHJ5KSB7Ci0JCXNwaW5fbG9jayAoJmxvY2spOwotCQl3aGlsZSAoc21wX2NhbGxfZnVuY3Rpb25fZGF0YSAhPSAwKQotCQkJYmFycmllcigpOwotCX0KLQllbHNlIHsKLQkJc3Bpbl9sb2NrICgmbG9jayk7Ci0JCWlmIChzbXBfY2FsbF9mdW5jdGlvbl9kYXRhKSB7Ci0JCQlzcGluX3VubG9jayAoJmxvY2spOwotCQkJcmV0dXJuIC1FQlVTWTsKLQkJfQotCX0KLQotCXNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgPSAmZGF0YTsKLQlzcGluX3VubG9jayAoJmxvY2spOwotCQotCS8qICBTZW5kIGEgbWVzc2FnZSB0byBhbGwgb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICAqLwotCXNlbmRfSVBJX2FsbGJ1dHNlbGYoSVBJX0NBTExfRlVOQyk7Ci0KLSByZXRyeToKLQkvKiAgV2FpdCBmb3IgcmVzcG9uc2UgICovCi0JdGltZW91dCA9IGppZmZpZXMgKyBIWjsKLQl3aGlsZSAoIChhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApICYmCi0JCXRpbWVfYmVmb3JlIChqaWZmaWVzLCB0aW1lb3V0KSApCi0JCWJhcnJpZXIgKCk7Ci0KLQlpZiAoYXRvbWljX3JlYWQgKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPiAwKSB7Ci0JCXByaW50ayhLRVJOX0NSSVQgIlNNUCBDQUxMIEZVTkNUSU9OIFRJTUVEIE9VVCEgKGNwdT0lZCksIHRyeSAlZFxuIiwKLQkJICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpLCArK3JldHJpZXMpOwotCQlnb3RvIHJldHJ5OwotCX0KLQkvKiBXZSBlaXRoZXIgZ290IG9uZSBvciB0aW1lZCBvdXQuIFJlbGVhc2UgdGhlIGxvY2sgKi8KLQotCW1iKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb25fZGF0YSA9IE5VTEw7Ci0KLQl3aGlsZSAod2FpdCAmJiBhdG9taWNfcmVhZCAoJmRhdGEudW5maW5pc2hlZF9jb3VudCkgPiAwKQotCQkJYmFycmllciAoKTsKLQotCXJldHVybiAwOworCXNlbmRfSVBJX21hc2sobWFzaywgSVBJX0NBTExfRlVOQyk7CiB9CiAKLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJc2VuZF9JUElfc2luZ2xlKGNwdSwgSVBJX0NBTExfRlVOQ19TSU5HTEUpOworfQogCiAvKgogICogRmx1c2ggYWxsIG90aGVyIENQVSdzIHRsYiBhbmQgdGhlbiBtaW5lLiAgRG8gdGhpcyB3aXRoIG9uX2VhY2hfY3B1KCkKQEAgLTM4NCw3ICsyOTIsNyBAQAogdm9pZAogc21wX2ZsdXNoX3RsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShmbHVzaF90bGJfYWxsX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF90bGJfYWxsX2xvY2FsLCBOVUxMLCAxKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC92bWxpbnV4Lmxkcy5TIGIvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKaW5kZXggMmU1MTZiOC4uMWEzYjZjYyAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKQEAgLTY3LDcgKzY3LDYgQEAKIAlfZXRleHQgPSAuOwogCiAJUk9EQVRBCi0JQlVHX1RBQkxFCiAKIAkvKiB3cml0ZWFibGUgKi8KIAkvKiBNYWtlIHN1cmUgdGhpcyBpcyBwYWdlIGFsaWduZWQgc28KZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL21tL2luaXQuYyBiL2FyY2gvcGFyaXNjL21tL2luaXQuYwppbmRleCBjZTBkYTY4Li5iNGQ2Yzg3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9tbS9pbml0LmMKKysrIGIvYXJjaC9wYXJpc2MvbW0vaW5pdC5jCkBAIC0xMDUzLDcgKzEwNTMsNyBAQAogCSAgICBkb19yZWN5Y2xlKys7CiAJfQogCXNwaW5fdW5sb2NrKCZzaWRfbG9jayk7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9sb2NhbCwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9sb2NhbCwgTlVMTCwgMSk7CiAJaWYgKGRvX3JlY3ljbGUpIHsKIAkgICAgc3Bpbl9sb2NrKCZzaWRfbG9jayk7CiAJICAgIHJlY3ljbGVfc2lkcyhyZWN5Y2xlX25kaXJ0eSxyZWN5Y2xlX2RpcnR5X2FycmF5KTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9LY29uZmlnIGIvYXJjaC9wb3dlcnBjL0tjb25maWcKaW5kZXggMzkzNGUyNi4uMjBlYWNmMiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL0tjb25maWcKKysrIGIvYXJjaC9wb3dlcnBjL0tjb25maWcKQEAgLTEwNSwxMSArMTA1LDE0IEBACiBjb25maWcgUFBDCiAJYm9vbAogCWRlZmF1bHQgeQorCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFCisJc2VsZWN0IEhBVkVfRlRSQUNFCiAJc2VsZWN0IEhBVkVfSURFCi0Jc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTCiAJc2VsZWN0IEhBVkVfS1JFVFBST0JFUwogCXNlbGVjdCBIQVZFX0xNQgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUyBpZiBTTVAKKwlzZWxlY3QgSEFWRV9PUFJPRklMRQogCiBjb25maWcgRUFSTFlfUFJJTlRLCiAJYm9vbApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvTWFrZWZpbGUKaW5kZXggMjM0NmQyNy4uZjNmNWUyNiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL01ha2VmaWxlCkBAIC0xMiw2ICsxMiwxOCBAQAogQ0ZMQUdTX2J0ZXh0Lm8JCSs9IC1mUElDCiBlbmRpZgogCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCB0cmFjZSBlYXJseSBib290IGNvZGUKK0NGTEFHU19SRU1PVkVfY3B1dGFibGUubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9wcm9tX2luaXQubyA9IC1wZworCitpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKyMgZHluYW1pYyBmdHJhY2Ugc2V0dXAuCitDRkxBR1NfUkVNT1ZFX2Z0cmFjZS5vID0gLXBnCitlbmRpZgorCitlbmRpZgorCiBvYmoteQkJCQk6PSBjcHV0YWJsZS5vIHB0cmFjZS5vIHN5c2NhbGxzLm8gXAogCQkJCSAgIGlycS5vIGFsaWduLm8gc2lnbmFsXzMyLm8gcG1jLm8gdmRzby5vIFwKIAkJCQkgICBpbml0X3Rhc2subyBwcm9jZXNzLm8gc3lzdGJsLm8gaWRsZS5vIFwKQEAgLTc4LDYgKzkwLDggQEAKIG9iai0kKENPTkZJR19BVURJVCkJCSs9IGF1ZGl0Lm8KIG9iajY0LSQoQ09ORklHX0FVRElUKQkJKz0gY29tcGF0X2F1ZGl0Lm8KIAorb2JqLSQoQ09ORklHX0RZTkFNSUNfRlRSQUNFKQkrPSBmdHJhY2UubworCiBvYmotJChDT05GSUdfOFhYX01JTklNQUxfRlBFTVUpICs9IHNvZnRlbXU4eHgubwogCiBpZm5lcSAoJChDT05GSUdfUFBDX0lORElSRUNUX0lPKSx5KQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TCmluZGV4IDBjODYxNGQuLjcyMzFhNzAgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxhc20vcHBjX2FzbS5oPgogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgogI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKICN1bmRlZiBTSE9XX1NZU0NBTExTCiAjdW5kZWYgU0hPV19TWVNDQUxMU19UQVNLCkBAIC0xMDM1LDMgKzEwMzYsMTI5IEBACiAJLyogWFhYIGxvYWQgdXAgQkFUcyBhbmQgcGFuaWMgKi8KIAogI2VuZGlmIC8qIENPTkZJR19QUENfUlRBUyAqLworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorX0dMT0JBTChtY291bnQpCitfR0xPQkFMKF9tY291bnQpCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJc3R3CXI3LCAyOChyMSkKKwltZmNyCXI1CisJc3R3CXI4LCAzMihyMSkKKwlzdHcJcjksIDM2KHIxKQorCXN0dwlyMTAsNDAocjEpCisJc3R3CXIzLCA0NChyMSkKKwlzdHcJcjUsIDgocjEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKwkuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWJsCWZ0cmFjZV9zdHViCisJbm9wCisJbHd6CXI2LCA4KHIxKQorCWx3eglyMCwgNDQocjEpCisJbHd6CXIzLCAxMihyMSkKKwltdGN0cglyMAorCWx3eglyNCwgMTYocjEpCisJbXRjcglyNgorCWx3eglyNSwgMjAocjEpCisJbHd6CXI2LCAyNChyMSkKKwlsd3oJcjAsIDUyKHIxKQorCWx3eglyNywgMjgocjEpCisJbHd6CXI4LCAzMihyMSkKKwltdGxyCXIwCisJbHd6CXI5LCAzNihyMSkKKwlsd3oJcjEwLDQwKHIxKQorCWFkZGkJcjEsIHIxLCA0OAorCWJjdHIKKworX0dMT0JBTChmdHJhY2VfY2FsbGVyKQorCS8qIEJhc2VkIG9mZiBvZiBvYmpkdW1wIG9wdHB1dCBmcm9tIGdsaWJjICovCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJbHd6CXI0LCA1MihyMSkKKwltZmNyCXI1CisJc3R3CXI3LCAyOChyMSkKKwlzdHcJcjgsIDMyKHIxKQorCXN0dwlyOSwgMzYocjEpCisJc3R3CXIxMCw0MChyMSkKKwlzdHcJcjMsIDQ0KHIxKQorCXN0dwlyNSwgOChyMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwlibAlmdHJhY2Vfc3R1YgorCW5vcAorCWx3eglyNiwgOChyMSkKKwlsd3oJcjAsIDQ0KHIxKQorCWx3eglyMywgMTIocjEpCisJbXRjdHIJcjAKKwlsd3oJcjQsIDE2KHIxKQorCW10Y3IJcjYKKwlsd3oJcjUsIDIwKHIxKQorCWx3eglyNiwgMjQocjEpCisJbHd6CXIwLCA1MihyMSkKKwlsd3oJcjcsIDI4KHIxKQorCWx3eglyOCwgMzIocjEpCisJbXRscglyMAorCWx3eglyOSwgMzYocjEpCisJbHd6CXIxMCw0MChyMSkKKwlhZGRpCXIxLCByMSwgNDgKKwliY3RyCisjZWxzZQorX0dMT0JBTChtY291bnQpCitfR0xPQkFMKF9tY291bnQpCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJbHd6CXI0LCA1MihyMSkKKwltZmNyCXI1CisJc3R3CXI3LCAyOChyMSkKKwlzdHcJcjgsIDMyKHIxKQorCXN0dwlyOSwgMzYocjEpCisJc3R3CXIxMCw0MChyMSkKKwlzdHcJcjMsIDQ0KHIxKQorCXN0dwlyNSwgOChyMSkKKworCXN1YmkJcjMsIHIzLCBNQ09VTlRfSU5TTl9TSVpFCisJTE9BRF9SRUdfQUREUihyNSwgZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKQorCWx3eglyNSwwKHI1KQorCisJbXRjdHIJcjUKKwliY3RybAorCisJbm9wCisKKwlsd3oJcjYsIDgocjEpCisJbHd6CXIwLCA0NChyMSkKKwlsd3oJcjMsIDEyKHIxKQorCW10Y3RyCXIwCisJbHd6CXI0LCAxNihyMSkKKwltdGNyCXI2CisJbHd6CXI1LCAyMChyMSkKKwlsd3oJcjYsIDI0KHIxKQorCWx3eglyMCwgNTIocjEpCisJbHd6CXI3LCAyOChyMSkKKwlsd3oJcjgsIDMyKHIxKQorCW10bHIJcjAKKwlsd3oJcjksIDM2KHIxKQorCWx3eglyMTAsNDAocjEpCisJYWRkaQlyMSwgcjEsIDQ4CisJYmN0cgorI2VuZGlmCisKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisKKyNlbmRpZiAvKiBDT05GSUdfTUNPVU5UICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMKaW5kZXggYzBkYjViNy4uMmY1MTFhOSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV82NC5TCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGFzbS9idWcuaD4KICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL2lycWZsYWdzLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogCiAvKgogICogU3lzdGVtIGNhbGxzLgpAQCAtODcwLDMgKzg3MSw2NyBAQAogCWxkCXIwLDE2KHIxKQogCW10bHIgICAgcjAKICAgICAgICAgYmxyCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitfR0xPQkFMKG1jb3VudCkKK19HTE9CQUwoX21jb3VudCkKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJc3RkdQlyMSwgLTExMihyMSkKKwlzdGQJcjMsIDEyOChyMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorCS5nbG9ibCBtY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJYmwJZnRyYWNlX3N0dWIKKwlub3AKKwlsZAlyMCwgMTI4KHIxKQorCW10bHIJcjAKKwlhZGRpCXIxLCByMSwgMTEyCisJYmxyCisKK19HTE9CQUwoZnRyYWNlX2NhbGxlcikKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJbGQJcjExLCAwKHIxKQorCXN0ZHUJcjEsIC0xMTIocjEpCisJc3RkCXIzLCAxMjgocjEpCisJbGQJcjQsIDE2KHIxMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwlibAlmdHJhY2Vfc3R1YgorCW5vcAorCWxkCXIwLCAxMjgocjEpCisJbXRscglyMAorCWFkZGkJcjEsIHIxLCAxMTIKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisjZWxzZQorX0dMT0JBTChtY291bnQpCisJYmxyCisKK19HTE9CQUwoX21jb3VudCkKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJbGQJcjExLCAwKHIxKQorCXN0ZHUJcjEsIC0xMTIocjEpCisJc3RkCXIzLCAxMjgocjEpCisJbGQJcjQsIDE2KHIxMSkKKworCXN1YmkJcjMsIHIzLCBNQ09VTlRfSU5TTl9TSVpFCisJTE9BRF9SRUdfQUREUihyNSxmdHJhY2VfdHJhY2VfZnVuY3Rpb24pCisJbGQJcjUsMChyNSkKKwlsZAlyNSwwKHI1KQorCW10Y3RyCXI1CisJYmN0cmwKKworCW5vcAorCWxkCXIwLCAxMjgocjEpCisJbXRscglyMAorCWFkZGkJcjEsIHIxLCAxMTIKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODU1Y2ViCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDE1NCBAQAorLyoKKyAqIENvZGUgZm9yIHJlcGxhY2luZyBmdHJhY2UgY2FsbHMgd2l0aCBqdW1wcy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGFua3MgZ29lcyBvdXQgdG8gUC5BLiBTZW1pLCBJbmMgZm9yIHN1cHBseWluZyBtZSB3aXRoIGEgUFBDNjQgYm94LgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZnRyYWNlX25vcCA9IDB4NjAwMDAwMDA7CisKKyNpZmRlZiBDT05GSUdfUFBDMzIKKyMgZGVmaW5lIEdFVF9BRERSKGFkZHIpIGFkZHIKKyNlbHNlCisvKiBQb3dlclBDNjQncyBmdW5jdGlvbnMgYXJlIGRhdGEgdGhhdCBwb2ludHMgdG8gdGhlIGZ1bmN0aW9ucyAqLworIyBkZWZpbmUgR0VUX0FERFIoYWRkcikgKih1bnNpZ25lZCBsb25nICopYWRkcgorI2VuZGlmCisKKworc3RhdGljIHVuc2lnbmVkIGludCBub3RyYWNlIGZ0cmFjZV9jYWxjX29mZnNldChsb25nIGlwLCBsb25nIGFkZHIpCit7CisJcmV0dXJuIChpbnQpKGFkZHIgLSBpcCk7Cit9CisKK25vdHJhY2UgdW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpCit7CisJcmV0dXJuIChjaGFyICopJmZ0cmFjZV9ub3A7Cit9CisKK25vdHJhY2UgdW5zaWduZWQgY2hhciAqZnRyYWNlX2NhbGxfcmVwbGFjZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJc3RhdGljIHVuc2lnbmVkIGludCBvcDsKKworCS8qCisJICogSXQgd291bGQgYmUgbmljZSB0byBqdXN0IHVzZSBjcmVhdGVfZnVuY3Rpb25fY2FsbCwgYnV0IHRoYXQgd2lsbAorCSAqIHVwZGF0ZSB0aGUgY29kZSBpdHNlbGYuIEhlcmUgd2UgbmVlZCB0byBqdXN0IHJldHVybiB0aGUKKwkgKiBpbnN0cnVjdGlvbiB0aGF0IGlzIGdvaW5nIHRvIGJlIG1vZGlmaWVkLCB3aXRob3V0IG1vZGlmeWluZyB0aGUKKwkgKiBjb2RlLgorCSAqLworCWFkZHIgPSBHRVRfQUREUihhZGRyKTsKKworCS8qIFNldCB0byAiYmwgYWRkciIgKi8KKwlvcCA9IDB4NDgwMDAwMDEgfCAoZnRyYWNlX2NhbGNfb2Zmc2V0KGlwLCBhZGRyKSAmIDB4MDNmZmZmZmMpOworCisJLyoKKwkgKiBObyBsb2NraW5nIG5lZWRlZCwgdGhpcyBtdXN0IGJlIGNhbGxlZCB2aWEga3N0b3BfbWFjaGluZQorCSAqIHdoaWNoIGluIGVzc2VuY2UgaXMgbGlrZSBydW5uaW5nIG9uIGEgdW5pcHJvY2Vzc29yIG1hY2hpbmUuCisJICovCisJcmV0dXJuICh1bnNpZ25lZCBjaGFyICopJm9wOworfQorCisjaWZkZWYgQ09ORklHX1BQQzY0CisjIGRlZmluZSBfQVNNX0FMSUdOCSIgLmFsaWduIDMgIgorIyBkZWZpbmUgX0FTTV9QVFIJIiAubGxvbmcgIgorI2Vsc2UKKyMgZGVmaW5lIF9BU01fQUxJR04JIiAuYWxpZ24gMiAiCisjIGRlZmluZSBfQVNNX1BUUgkiIC5sb25nICIKKyNlbmRpZgorCitub3RyYWNlIGludAorZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1bnNpZ25lZCByZXBsYWNlZDsKKwl1bnNpZ25lZCBvbGQgPSAqKHVuc2lnbmVkICopb2xkX2NvZGU7CisJdW5zaWduZWQgbmV3ID0gKih1bnNpZ25lZCAqKW5ld19jb2RlOworCWludCBmYXVsdGVkID0gMDsKKworCS8qCisJICogTm90ZTogRHVlIHRvIG1vZHVsZXMgYW5kIF9faW5pdCwgY29kZSBjYW4KKwkgKiAgZGlzYXBwZWFyIGFuZCBjaGFuZ2UsIHdlIG5lZWQgdG8gcHJvdGVjdCBhZ2FpbnN0IGZhdWx0aW5nCisJICogIGFzIHdlbGwgYXMgY29kZSBjaGFuZ2luZy4KKwkgKgorCSAqIE5vIHJlYWwgbG9ja2luZyBuZWVkZWQsIHRoaXMgY29kZSBpcyBydW4gdGhyb3VnaAorCSAqIGtzdG9wX21hY2hpbmUuCisJICovCisJYXNtIHZvbGF0aWxlICgKKwkJIjE6IGx3egkJJTEsIDAoJTIpXG4iCisJCSIgICBjbXB3CSUxLCAlNVxuIgorCQkiICAgYm5lCQkyZlxuIgorCQkiICAgc3R3dQklMywgMCglMilcbiIKKwkJIjI6XG4iCisJCSIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgorCQkiMzoJbGkgJTAsIDFcbiIKKwkJIgliIDJiXG4iCisJCSIucHJldmlvdXNcbiIKKwkJIi5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIKKwkJX0FTTV9BTElHTiAiXG4iCisJCV9BU01fUFRSICIxYiwgM2JcbiIKKwkJIi5wcmV2aW91cyIKKwkJOiAiPXIiKGZhdWx0ZWQpLCAiPXIiKHJlcGxhY2VkKQorCQk6ICJyIihpcCksICJyIihuZXcpLAorCQkgICIwIihmYXVsdGVkKSwgInIiKG9sZCkKKwkJOiAibWVtb3J5Iik7CisKKwlpZiAocmVwbGFjZWQgIT0gb2xkICYmIHJlcGxhY2VkICE9IG5ldykKKwkJZmF1bHRlZCA9IDI7CisKKwlpZiAoIWZhdWx0ZWQpCisJCWZsdXNoX2ljYWNoZV9yYW5nZShpcCwgaXAgKyA4KTsKKworCXJldHVybiBmYXVsdGVkOworfQorCitub3RyYWNlIGludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYykKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKHVuc2lnbmVkIGxvbmcpKCZmdHJhY2VfY2FsbCk7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisJaW50IHJldDsKKworCW1lbWNweShvbGQsICZmdHJhY2VfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKHVuc2lnbmVkIGxvbmcpZnVuYyk7CisJcmV0ID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gcmV0OworfQorCitub3RyYWNlIGludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgaXAgPSAobG9uZykoJm1jb3VudF9jYWxsKTsKKwl1bnNpZ25lZCBsb25nICphZGRyID0gZGF0YTsKKwl1bnNpZ25lZCBjaGFyIG9sZFtNQ09VTlRfSU5TTl9TSVpFXSwgKm5ldzsKKworCS8qCisJICogUmVwbGFjZSB0aGUgbWNvdW50IHN0dWIgd2l0aCBhIHBvaW50ZXIgdG8gdGhlCisJICogaXAgcmVjb3JkZXIgZnVuY3Rpb24uCisJICovCisJbWVtY3B5KG9sZCwgJm1jb3VudF9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAqYWRkcik7CisJKmFkZHIgPSBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKKworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJLyogVGhpcyBpcyBydW5uaW5nIGluIGtzdG9wX21hY2hpbmUgKi8KKworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCisJcmV0dXJuIDA7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYwppbmRleCBlMzFhY2E5Mi4uMTg4MmJmNCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9pby5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYwpAQCAtMTIwLDcgKzEyMCw4IEBACiAKICNkZWZpbmUgSU9fQ0hFQ0tfQUxJR04odixhKSAoKCgodW5zaWduZWQgbG9uZykodikpICYgKChhKSAtIDEpKSA9PSAwKQogCi12b2lkIF9tZW1zZXRfaW8odm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyLCBpbnQgYywgdW5zaWduZWQgbG9uZyBuKQorbm90cmFjZSB2b2lkCitfbWVtc2V0X2lvKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkciwgaW50IGMsIHVuc2lnbmVkIGxvbmcgbikKIHsKIAl2b2lkICpwID0gKHZvaWQgX19mb3JjZSAqKWFkZHI7CiAJdTMyIGxjID0gYzsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2lycS5jCmluZGV4IGJjYzI0OWQuLmRjYzk0NmUgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9pcnEuYwpAQCAtOTgsNyArOTgsNyBAQAogCiBpbnQgZGlzdHJpYnV0ZV9pcnFzID0gMTsKIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGdldF9oYXJkX2VuYWJsZWQodm9pZCkKK3N0YXRpYyBpbmxpbmUgbm90cmFjZSB1bnNpZ25lZCBsb25nIGdldF9oYXJkX2VuYWJsZWQodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIGVuYWJsZWQ7CiAKQEAgLTEwOCwxMyArMTA4LDEzIEBACiAJcmV0dXJuIGVuYWJsZWQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfc29mdF9lbmFibGVkKHVuc2lnbmVkIGxvbmcgZW5hYmxlKQorc3RhdGljIGlubGluZSBub3RyYWNlIHZvaWQgc2V0X3NvZnRfZW5hYmxlZCh1bnNpZ25lZCBsb25nIGVuYWJsZSkKIHsKIAlfX2FzbV9fIF9fdm9sYXRpbGVfXygic3RiICUwLCUxKDEzKSIKIAk6IDogInIiIChlbmFibGUpLCAiaSIgKG9mZnNldG9mKHN0cnVjdCBwYWNhX3N0cnVjdCwgc29mdF9lbmFibGVkKSkpOwogfQogCi12b2lkIHJhd19sb2NhbF9pcnFfcmVzdG9yZSh1bnNpZ25lZCBsb25nIGVuKQorbm90cmFjZSB2b2lkIHJhd19sb2NhbF9pcnFfcmVzdG9yZSh1bnNpZ25lZCBsb25nIGVuKQogewogCS8qCiAJICogZ2V0X3BhY2EoKS0+c29mdF9lbmFibGVkID0gZW47CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCmluZGV4IDcwNDM3NWIuLmI3MzJiNWYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCkBAIC0xNzIsNyArMTcyLDcgQEAKIHsKIAlpbnQgbXlfY3B1LCBpLCBub3RpZmllZD0tMTsKIAotCXNtcF9jYWxsX2Z1bmN0aW9uKGtleGVjX3NtcF9kb3duLCBOVUxMLCAwLCAvKiB3YWl0ICovMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oa2V4ZWNfc21wX2Rvd24sIE5VTEwsIC8qIHdhaXQgKi8wKTsKIAlteV9jcHUgPSBnZXRfY3B1KCk7CiAKIAkvKiBjaGVjayB0aGUgb3RoZXJzIGNwdXMgYXJlIG5vdyBkb3duICh2aWEgcGFjYSBodyBjcHUgaWQgPT0gLTEpICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL29mX3BsYXRmb3JtLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL29mX3BsYXRmb3JtLmMKaW5kZXggZTc5YWQ4YS4uM2YzN2E2ZSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9vZl9wbGF0Zm9ybS5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvb2ZfcGxhdGZvcm0uYwpAQCAtNzYsNiArNzYsOCBAQAogCQlyZXR1cm4gTlVMTDsKIAogCWRldi0+ZG1hX21hc2sgPSAweGZmZmZmZmZmVUw7CisJZGV2LT5kZXYuY29oZXJlbnRfZG1hX21hc2sgPSBETUFfMzJCSVRfTUFTSzsKKwogCWRldi0+ZGV2LmJ1cyA9ICZvZl9wbGF0Zm9ybV9idXNfdHlwZTsKIAogCS8qIFdlIGRvIG5vdCBmaWxsIHRoZSBETUEgb3BzIGZvciBwbGF0Zm9ybSBkZXZpY2VzIGJ5IGRlZmF1bHQuCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3BwY19rc3ltcy5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcGNfa3N5bXMuYwppbmRleCBkM2FjNjMxLi5hOGQwMjUwIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3BwY19rc3ltcy5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcHBjX2tzeW1zLmMKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlIDxhc20vZGl2NjQuaD4KICNpbmNsdWRlIDxhc20vc2lnbmFsLmg+CiAjaW5jbHVkZSA8YXNtL2Rjci5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogI2lmZGVmIENPTkZJR19QUEMzMgogZXh0ZXJuIHZvaWQgdHJhbnNmZXJfdG9faGFuZGxlcih2b2lkKTsKQEAgLTY3LDYgKzY4LDEwIEBACiBFWFBPUlRfU1lNQk9MKHN5c19zaWdyZXR1cm4pOwogI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitFWFBPUlRfU1lNQk9MKF9tY291bnQpOworI2VuZGlmCisKIEVYUE9SVF9TWU1CT0woc3RyY3B5KTsKIEVYUE9SVF9TWU1CT0woc3RybmNweSk7CiBFWFBPUlRfU1lNQk9MKHN0cmNhdCk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3J0YXMuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCmluZGV4IDM0ODQzYzMuLjY0N2YzZTggMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCkBAIC03NDcsNyArNzQ3LDcgQEAKIAkvKiBDYWxsIGZ1bmN0aW9uIG9uIGFsbCBDUFVzLiAgT25lIG9mIHVzIHdpbGwgbWFrZSB0aGUKIAkgKiBydGFzIGNhbGwKIAkgKi8KLQlpZiAob25fZWFjaF9jcHUocnRhc19wZXJjcHVfc3VzcGVuZF9tZSwgJmRhdGEsIDEsIDApKQorCWlmIChvbl9lYWNoX2NwdShydGFzX3BlcmNwdV9zdXNwZW5kX21lLCAmZGF0YSwgMCkpCiAJCWRhdGEuZXJyb3IgPSAtRUlOVkFMOwogCiAJd2FpdF9mb3JfY29tcGxldGlvbigmZG9uZSk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwXzMyLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwXzMyLmMKaW5kZXggNTExMmE0YS4uMTllOGZjYiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zZXR1cF8zMi5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvc2V0dXBfMzIuYwpAQCAtODEsNyArODEsNyBAQAogICogZnJvbSB0aGUgYWRkcmVzcyB0aGF0IGl0IHdhcyBsaW5rZWQgYXQsIHNvIHdlIG11c3QgdXNlIFJFTE9DL1BUUlJFTE9DCiAgKiB0byBhY2Nlc3Mgc3RhdGljIGRhdGEgKGluY2x1ZGluZyBzdHJpbmdzKS4gIC0tIHBhdWx1cwogICovCi11bnNpZ25lZCBsb25nIF9faW5pdCBlYXJseV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyKQorbm90cmFjZSB1bnNpZ25lZCBsb25nIF9faW5pdCBlYXJseV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyKQogewogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gcmVsb2Nfb2Zmc2V0KCk7CiAJc3RydWN0IGNwdV9zcGVjICpzcGVjOwpAQCAtMTExLDcgKzExMSw3IEBACiAgKiBUaGlzIGlzIGNhbGxlZCB2ZXJ5IGVhcmx5IG9uIHRoZSBib290IHByb2Nlc3MsIGFmdGVyIGEgbWluaW1hbAogICogTU1VIGVudmlyb25tZW50IGhhcyBiZWVuIHNldCB1cCBidXQgYmVmb3JlIE1NVV9pbml0IGlzIGNhbGxlZC4KICAqLwotdm9pZCBfX2luaXQgbWFjaGluZV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyLCB1bnNpZ25lZCBsb25nIHBoeXMpCitub3RyYWNlIHZvaWQgX19pbml0IG1hY2hpbmVfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0ciwgdW5zaWduZWQgbG9uZyBwaHlzKQogewogCS8qIEVuYWJsZSBlYXJseSBkZWJ1Z2dpbmcgaWYgYW55IHNwZWNpZmllZCAoc2VlIHVkYmcuaCkgKi8KIAl1ZGJnX2Vhcmx5X2luaXQoKTsKQEAgLTEzMyw3ICsxMzMsNyBAQAogCiAjaWZkZWYgQ09ORklHX0JPT0tFX1dEVAogLyogQ2hlY2tzIHdkdD14IGFuZCB3ZHRfcGVyaW9kPXh4IGNvbW1hbmQtbGluZSBvcHRpb24gKi8KLWludCBfX2luaXQgZWFybHlfcGFyc2Vfd2R0KGNoYXIgKnApCitub3RyYWNlIGludCBfX2luaXQgZWFybHlfcGFyc2Vfd2R0KGNoYXIgKnApCiB7CiAJaWYgKHAgJiYgc3RybmNtcChwLCAiMCIsIDEpICE9IDApCiAJICAgICAgIGJvb2tlX3dkdF9lbmFibGVkID0gMTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc21wLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NtcC5jCmluZGV4IDE0NTdhYTAuLjUxOTFiNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9zbXAuYwpAQCAtNzIsMTIgKzcyLDggQEAKIAogc3RhdGljIHZvbGF0aWxlIHVuc2lnbmVkIGludCBjcHVfY2FsbGluX21hcFtOUl9DUFVTXTsKIAotdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7Ci0KIGludCBzbXRfZW5hYmxlZF9hdF9ib290ID0gMTsKIAotc3RhdGljIGludCBpcGlfZmFpbF9vazsKLQogc3RhdGljIHZvaWQgKCpjcmFzaF9pcGlfZnVuY3Rpb25fcHRyKShzdHJ1Y3QgcHRfcmVncyAqKSA9IE5VTEw7CiAKICNpZmRlZiBDT05GSUdfUFBDNjQKQEAgLTk5LDEyICs5NSwxNSBAQAogewogCXN3aXRjaChtc2cpIHsKIAljYXNlIFBQQ19NU0dfQ0FMTF9GVU5DVElPTjoKLQkJc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJCWJyZWFrOwogCWNhc2UgUFBDX01TR19SRVNDSEVEVUxFOgogCQkvKiBYWFggRG8gd2UgaGF2ZSB0byBkbyB0aGlzPyAqLwogCQlzZXRfbmVlZF9yZXNjaGVkKCk7CiAJCWJyZWFrOworCWNhc2UgUFBDX01TR19DQUxMX0ZVTkNfU0lOR0xFOgorCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKwkJYnJlYWs7CiAJY2FzZSBQUENfTVNHX0RFQlVHR0VSX0JSRUFLOgogCQlpZiAoY3Jhc2hfaXBpX2Z1bmN0aW9uX3B0cikgewogCQkJY3Jhc2hfaXBpX2Z1bmN0aW9uX3B0cihnZXRfaXJxX3JlZ3MoKSk7CkBAIC0xMjgsNiArMTI3LDE5IEBACiAJCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfUkVTQ0hFRFVMRSk7CiB9CiAKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQoreworCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSk7Cit9CisKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQoreworCXVuc2lnbmVkIGludCBjcHU7CisKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spCisJCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfQ0FMTF9GVU5DVElPTik7Cit9CisKICNpZmRlZiBDT05GSUdfREVCVUdHRVIKIHZvaWQgc21wX3NlbmRfZGVidWdnZXJfYnJlYWsoaW50IGNwdSkKIHsKQEAgLTE1NCwyMTUgKzE2Niw5IEBACiAJCTsKIH0KIAotLyoKLSAqIFN0cnVjdHVyZSBhbmQgZGF0YSBmb3Igc21wX2NhbGxfZnVuY3Rpb24oKS4gVGhpcyBpcyBkZXNpZ25lZCB0byBtaW5pbWlzZQotICogc3RhdGljIG1lbW9yeSByZXF1aXJlbWVudHMuIEl0IGFsc28gbG9va3MgY2xlYW5lci4KLSAqIFN0b2xlbiBmcm9tIHRoZSBpMzg2IHZlcnNpb24uCi0gKi8KLXN0YXRpYyAgX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgREVGSU5FX1NQSU5MT0NLKGNhbGxfbG9jayk7Ci0KLXN0YXRpYyBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWF0b21pY190IHN0YXJ0ZWQ7Ci0JYXRvbWljX3QgZmluaXNoZWQ7Ci0JaW50IHdhaXQ7Ci19ICpjYWxsX2RhdGE7Ci0KLS8qIGRlbGF5IG9mIGF0IGxlYXN0IDggc2Vjb25kcyAqLwotI2RlZmluZSBTTVBfQ0FMTF9USU1FT1VUCTgKLQotLyoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzZW5kIGEgJ2dlbmVyaWMgY2FsbCBmdW5jdGlvbicgSVBJIHRvIG90aGVyIG9ubGluZQotICogQ1BVUyBpbiB0aGUgc3lzdGVtLgotICoKLSAqIFtTVU1NQVJZXSBSdW4gYSBmdW5jdGlvbiBvbiBvdGhlciBDUFVzLgotICogPGZ1bmM+IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiA8aW5mbz4gQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiA8bm9uYXRvbWljPiBjdXJyZW50bHkgdW51c2VkLgotICogPHdhaXQ+IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqIFtSRVRVUk5TXSAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4gRG9lcyBub3QgcmV0dXJuIHVudGlsCi0gKiByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPDxmdW5jPj4gb3IgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKiA8bWFwPiBpcyBhIGNwdSBtYXAgb2YgdGhlIGNwdXMgdG8gc2VuZCBJUEkgdG8uCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotc3RhdGljIGludCBfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcCh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSAgIGludCBub25hdG9taWMsIGludCB3YWl0LCBjcHVtYXNrX3QgbWFwKQotewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IHJldCA9IC0xLCBudW1fY3B1czsKLQlpbnQgY3B1OwotCXU2NCB0aW1lb3V0OwotCi0JaWYgKHVubGlrZWx5KHNtcF9vcHMgPT0gTlVMTCkpCi0JCXJldHVybiByZXQ7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCS8qIHJlbW92ZSAnc2VsZicgZnJvbSB0aGUgbWFwICovCi0JaWYgKGNwdV9pc3NldChzbXBfcHJvY2Vzc29yX2lkKCksIG1hcCkpCi0JCWNwdV9jbGVhcihzbXBfcHJvY2Vzc29yX2lkKCksIG1hcCk7Ci0KLQkvKiBzYW5pdHkgY2hlY2sgdGhlIG1hcCwgcmVtb3ZlIGFueSBub24tb25saW5lIHByb2Nlc3NvcnMuICovCi0JY3B1c19hbmQobWFwLCBtYXAsIGNwdV9vbmxpbmVfbWFwKTsKLQotCW51bV9jcHVzID0gY3B1c193ZWlnaHQobWFwKTsKLQlpZiAoIW51bV9jcHVzKQotCQlnb3RvIGRvbmU7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQlzbXBfd21iKCk7Ci0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIENQVXMgaW4gdGhlIG1hcCAqLwotCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFwKQotCQlzbXBfb3BzLT5tZXNzYWdlX3Bhc3MoY3B1LCBQUENfTVNHX0NBTExfRlVOQ1RJT04pOwotCi0JdGltZW91dCA9IGdldF90YigpICsgKHU2NCkgU01QX0NBTExfVElNRU9VVCAqIHRiX3RpY2tzX3Blcl9zZWM7Ci0KLQkvKiBXYWl0IGZvciBpbmRpY2F0aW9uIHRoYXQgdGhleSBoYXZlIHJlY2VpdmVkIHRoZSBtZXNzYWdlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IG51bV9jcHVzKSB7Ci0JCUhNVF9sb3coKTsKLQkJaWYgKGdldF90YigpID49IHRpbWVvdXQpIHsKLQkJCXByaW50aygic21wX2NhbGxfZnVuY3Rpb24gb24gY3B1ICVkOiBvdGhlciBjcHVzIG5vdCAiCi0JCQkJInJlc3BvbmRpbmcgKCVkKVxuIiwgc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQkJCWF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpKTsKLQkJCWlmICghaXBpX2ZhaWxfb2spCi0JCQkJZGVidWdnZXIoTlVMTCk7Ci0JCQlnb3RvIG91dDsKLQkJfQotCX0KLQotCS8qIG9wdGlvbmFsbHkgd2FpdCBmb3IgdGhlIENQVXMgdG8gY29tcGxldGUgKi8KLQlpZiAod2FpdCkgewotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IG51bV9jcHVzKSB7Ci0JCQlITVRfbG93KCk7Ci0JCQlpZiAoZ2V0X3RiKCkgPj0gdGltZW91dCkgewotCQkJCXByaW50aygic21wX2NhbGxfZnVuY3Rpb24gb24gY3B1ICVkOiBvdGhlciAiCi0JCQkJCSJjcHVzIG5vdCBmaW5pc2hpbmcgKCVkLyVkKVxuIiwKLQkJCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQkJCQlhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCksCi0JCQkJCWF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpKTsKLQkJCQlkZWJ1Z2dlcihOVUxMKTsKLQkJCQlnb3RvIG91dDsKLQkJCX0KLQkJfQotCX0KLQotIGRvbmU6Ci0JcmV0ID0gMDsKLQotIG91dDoKLQljYWxsX2RhdGEgPSBOVUxMOwotCUhNVF9tZWRpdW0oKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IF9fc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJICAgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQotewotCWludCByZXQ7Ci0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCXJldCA9X19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0LAotCQkJCSAgICAgICBjcHVfb25saW5lX21hcCk7Ci0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JcmV0dXJuIHJldDsKLX0KLQotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQlpbnQgd2FpdCkKLXsKLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JcmV0dXJuIF9fc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0KTsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwotCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQotewotCWNwdW1hc2tfdCBtYXAgPSBDUFVfTUFTS19OT05FOwotCWludCByZXQgPSAwOwotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWlmICghY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWNwdV9zZXQoY3B1LCBtYXApOwotCWlmIChjcHUgIT0gZ2V0X2NwdSgpKSB7Ci0JCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQkJcmV0ID0gX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0LCBtYXApOwotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQl9IGVsc2UgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JfQotCXB1dF9jcHUoKTsKLQlyZXR1cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwotCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlpbnQgbm9sb2NrOwotCi0JLyogSXQncyBPSyB0byBmYWlsIHNlbmRpbmcgdGhlIElQSSwgc2luY2UgdGhlIGFsdGVybmF0aXZlIGlzIHRvCi0JICogYmUgc3R1Y2sgZm9yZXZlciB3YWl0aW5nIG9uIHRoZSBvdGhlciBDUFUgdG8gdGFrZSB0aGUgaW50ZXJydXB0LgotCSAqCi0JICogSXQncyBiZXR0ZXIgdG8gYXQgbGVhc3QgY29udGludWUgYW5kIGdvIHRocm91Z2ggcmVib290LCBzaW5jZSB0aGlzCi0JICogZnVuY3Rpb24gaXMgdXN1YWxseSBjYWxsZWQgYXQgcGFuaWMgb3IgcmVib290IHRpbWUgaW4gdGhlIGZpcnN0Ci0JICogcGxhY2UuCi0JICovCi0JaXBpX2ZhaWxfb2sgPSAxOwotCi0JLyogRG9uJ3QgZGVhZGxvY2sgaW4gY2FzZSB3ZSBnb3QgY2FsbGVkIHRocm91Z2ggcGFuaWMgKi8KLQlub2xvY2sgPSAhc3Bpbl90cnlsb2NrKCZjYWxsX2xvY2spOwotCV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDAsIGNwdV9vbmxpbmVfbWFwKTsKLQlpZiAoIW5vbG9jaykKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci19Ci0KLXZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCi17Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWludCB3YWl0OwotCi0JLyogY2FsbF9kYXRhIHdpbGwgYmUgTlVMTCBpZiB0aGUgc2VuZGVyIHRpbWVkIG91dCB3aGlsZQotCSAqIHdhaXRpbmcgb24gdXMgdG8gcmVjZWl2ZSB0aGUgY2FsbC4KLQkgKi8KLQlpZiAoIWNhbGxfZGF0YSkKLQkJcmV0dXJuOwotCi0JZnVuYyA9IGNhbGxfZGF0YS0+ZnVuYzsKLQlpbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCXdhaXQgPSBjYWxsX2RhdGEtPndhaXQ7Ci0KLQlpZiAoIXdhaXQpCi0JCXNtcF9tYl9fYmVmb3JlX2F0b21pY19pbmMoKTsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEKLQkgKi8KLQkoKmZ1bmMpKGluZm8pOwotCWlmICh3YWl0KSB7Ci0JCXNtcF9tYl9fYmVmb3JlX2F0b21pY19pbmMoKTsKLQkJYXRvbWljX2luYygmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQorCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiBleHRlcm4gc3RydWN0IGdldHRpbWVvZmRheV9zdHJ1Y3QgZG9fZ3RvZDsKQEAgLTU5Niw5ICs0MDIsOSBAQAogCiAJc2Vjb25kYXJ5X2NwdV90aW1lX2luaXQoKTsKIAotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKKwlpcGlfY2FsbF9sb2NrKCk7CiAJY3B1X3NldChjcHUsIGNwdV9vbmxpbmVfbWFwKTsKLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKKwlpcGlfY2FsbF91bmxvY2soKTsKIAogCWxvY2FsX2lycV9lbmFibGUoKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCA5NjI5NDQwLi4zY2YwZDk0IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtMTIsNiArMTIsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogCiAvKgpAQCAtNDQsMyArNDUsNCBAQAogCQlzcCA9IG5ld3NwOwogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC90YXVfNnh4LmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYwppbmRleCAzNjhhNDkzLi5jM2E1NmQ2IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYwpAQCAtMTkyLDcgKzE5Miw3IEBACiAKIAkvKiBzY2hlZHVsZSBvdXJzZWx2ZXMgdG8gYmUgcnVuIGFnYWluICovCiAJbW9kX3RpbWVyKCZ0YXVfdGltZXIsIGppZmZpZXMgKyBzaHJpbmtfdGltZXIpIDsKLQlvbl9lYWNoX2NwdSh0YXVfdGltZW91dCwgTlVMTCwgMSwgMCk7CisJb25fZWFjaF9jcHUodGF1X3RpbWVvdXQsIE5VTEwsIDApOwogfQogCiAvKgpAQCAtMjM0LDcgKzIzNCw3IEBACiAJdGF1X3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsgc2hyaW5rX3RpbWVyOwogCWFkZF90aW1lcigmdGF1X3RpbWVyKTsKIAotCW9uX2VhY2hfY3B1KFRBVV9pbml0X3NtcCwgTlVMTCwgMSwgMCk7CisJb25fZWFjaF9jcHUoVEFVX2luaXRfc21wLCBOVUxMLCAwKTsKIAogCXByaW50aygiVGhlcm1hbCBhc3Npc3QgdW5pdCAiKTsKICNpZmRlZiBDT05GSUdfVEFVX0lOVApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC90aW1lLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYwppbmRleCA3MzQwMWU4Li5mMWEzOGE2IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYwpAQCAtMzIyLDcgKzMyMiw3IEBACiB7CiAJaWYgKCFjcHVfaGFzX2ZlYXR1cmUoQ1BVX0ZUUl9QVVJSKSkKIAkJcmV0dXJuOwotCW9uX2VhY2hfY3B1KHNuYXBzaG90X3RiX2FuZF9wdXJyLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShzbmFwc2hvdF90Yl9hbmRfcHVyciwgTlVMTCwgMSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMKaW5kZXggMGMzMDAwYi4uNTNkNTdkMSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC92bWxpbnV4Lmxkcy5TCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjQsOCArNjQsNiBAQAogCiAJTk9URVMKIAotCUJVR19UQUJMRQotCiAvKgogICogSW5pdCBzZWN0aW9ucyBkaXNjYXJkZWQgYXQgcnVudGltZQogICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbW0vc2xpY2UuYyBiL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCmluZGV4IGFkOTI4ZWQuLjJiZDEyZDkgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCisrKyBiL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCkBAIC0yMTgsNyArMjE4LDcgQEAKIAltYigpOwogCiAJLyogWFhYIHRoaXMgaXMgc3ViLW9wdGltYWwgYnV0IHdpbGwgZG8gZm9yIG5vdyAqLwotCW9uX2VhY2hfY3B1KHNsaWNlX2ZsdXNoX3NlZ21lbnRzLCBtbSwgMCwgMSk7CisJb25fZWFjaF9jcHUoc2xpY2VfZmx1c2hfc2VnbWVudHMsIG1tLCAxKTsKICNpZmRlZiBDT05GSUdfU1BVX0JBU0UKIAlzcHVfZmx1c2hfYWxsX3NsYnMobW0pOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbW0vdGxiXzY0LmMgYi9hcmNoL3Bvd2VycGMvbW0vdGxiXzY0LmMKaW5kZXggZTJkODY3Yy4uNjlhZDgyOSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL21tL3RsYl82NC5jCisrKyBiL2FyY2gvcG93ZXJwYy9tbS90bGJfNjQuYwpAQCAtNjYsNyArNjYsNyBAQAogewogCXB0ZV9mcmVlbGlzdF9mb3JjZWRfZnJlZSsrOwogCi0Jc21wX2NhbGxfZnVuY3Rpb24ocHRlX2ZyZWVfc21wX3N5bmMsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHB0ZV9mcmVlX3NtcF9zeW5jLCBOVUxMLCAxKTsKIAogCXBndGFibGVfZnJlZShwZ2YpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL29wcm9maWxlL2NvbW1vbi5jIGIvYXJjaC9wb3dlcnBjL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IDQ5MDhkYzkuLjE3ODA3YWMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9vcHJvZmlsZS9jb21tb24uYworKysgYi9hcmNoL3Bvd2VycGMvb3Byb2ZpbGUvY29tbW9uLmMKQEAgLTY1LDcgKzY1LDcgQEAKIAogCS8qIENvbmZpZ3VyZSB0aGUgcmVnaXN0ZXJzIG9uIGFsbCBjcHVzLgkgSWYgYW4gZXJyb3Igb2NjdXJzIG9uIG9uZQogCSAqIG9mIHRoZSBjcHVzLCBvcF9wZXJfY3B1X3JjIHdpbGwgYmUgc2V0IHRvIHRoZSBlcnJvciAqLwotCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3NldHVwLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zZXR1cCwgTlVMTCwgMSk7CiAKIG91dDoJaWYgKG9wX3Blcl9jcHVfcmMpIHsKIAkJLyogZXJyb3Igb24gc2V0dXAgcmVsZWFzZSB0aGUgcGVyZm9ybWFuY2UgY291bnRlciBoYXJkd2FyZSAqLwpAQCAtMTAwLDcgKzEwMCw3IEBACiAJaWYgKG1vZGVsLT5nbG9iYWxfc3RhcnQpCiAJCXJldHVybiBtb2RlbC0+Z2xvYmFsX3N0YXJ0KGN0cik7CiAJaWYgKG1vZGVsLT5zdGFydCkgewotCQlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3N0YXJ0LCBOVUxMLCAxKTsKIAkJcmV0dXJuIG9wX3Blcl9jcHVfcmM7CiAJfQogCXJldHVybiAtRUlPOyAvKiBObyBzdGFydCBmdW5jdGlvbiBpcyBkZWZpbmVkIGZvciB0aGlzCkBAIC0xMTUsNyArMTE1LDcgQEAKIHN0YXRpYyB2b2lkIG9wX3Bvd2VycGNfc3RvcCh2b2lkKQogewogCWlmIChtb2RlbC0+c3RvcCkKLQkJb25fZWFjaF9jcHUob3BfcG93ZXJwY19jcHVfc3RvcCwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3N0b3AsIE5VTEwsIDEpOwogICAgICAgICBpZiAobW9kZWwtPmdsb2JhbF9zdG9wKQogICAgICAgICAgICAgICAgIG1vZGVsLT5nbG9iYWxfc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9jZWxsL2ludGVycnVwdC5jIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9jZWxsL2ludGVycnVwdC5jCmluZGV4IDViZjdkZjEuLjJkNWJiMjIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9pbnRlcnJ1cHQuYworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL2NlbGwvaW50ZXJydXB0LmMKQEAgLTIxOCw2ICsyMTgsNyBAQAogewogCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX0NBTExfRlVOQ1RJT04sICJJUEktY2FsbCIpOwogCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX1JFU0NIRURVTEUsICJJUEktcmVzY2hlZCIpOworCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUsICJJUEktY2FsbC1zaW5nbGUiKTsKICNpZmRlZiBDT05GSUdfREVCVUdHRVIKIAlpaWNfcmVxdWVzdF9pcGkoUFBDX01TR19ERUJVR0dFUl9CUkVBSywgIklQSS1kZWJ1ZyIpOwogI2VuZGlmIC8qIENPTkZJR19ERUJVR0dFUiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm1hYy9NYWtlZmlsZSBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJtYWMvTWFrZWZpbGUKaW5kZXggNGQ3MmM4Zi4uODk3NzQxNyAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm1hYy9NYWtlZmlsZQorKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybWFjL01ha2VmaWxlCkBAIC0xLDUgKzEsMTAgQEAKIENGTEFHU19ib290eF9pbml0Lm8gIAkJKz0gLWZQSUMKIAoraWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgdHJhY2UgZWFybHkgYm9vdCBjb2RlCitDRkxBR1NfUkVNT1ZFX2Jvb3R4X2luaXQubyA9IC1wZworZW5kaWYKKwogb2JqLXkJCQkJKz0gcGljLm8gc2V0dXAubyB0aW1lLm8gZmVhdHVyZS5vIHBjaS5vIFwKIAkJCQkgICBzbGVlcC5vIGxvd19pMmMubyBjYWNoZS5vIHBmdW5jX2NvcmUubyBcCiAJCQkJICAgcGZ1bmNfYmFzZS5vCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzMy9zbXAuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCmluZGV4IGYwYjEyZjIuLmEwOTI3YTMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCkBAIC0xMDUsOSArMTA1LDEwIEBACiAJICogdG8gaW5kZXggbmVlZHMgdG8gYmUgc2V0dXAuCiAJICovCiAKLQlCVUlMRF9CVUdfT04oUFBDX01TR19DQUxMX0ZVTkNUSU9OICAhPSAwKTsKLQlCVUlMRF9CVUdfT04oUFBDX01TR19SRVNDSEVEVUxFICAgICAhPSAxKTsKLQlCVUlMRF9CVUdfT04oUFBDX01TR19ERUJVR0dFUl9CUkVBSyAhPSAzKTsKKwlCVUlMRF9CVUdfT04oUFBDX01TR19DQUxMX0ZVTkNUSU9OICAgICE9IDApOworCUJVSUxEX0JVR19PTihQUENfTVNHX1JFU0NIRURVTEUgICAgICAgIT0gMSk7CisJQlVJTERfQlVHX09OKFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSAhPSAyKTsKKwlCVUlMRF9CVUdfT04oUFBDX01TR19ERUJVR0dFUl9CUkVBSyAgICE9IDMpOwogCiAJZm9yIChpID0gMDsgaSA8IE1TR19DT1VOVDsgaSsrKSB7CiAJCXJlc3VsdCA9IHBzM19ldmVudF9yZWNlaXZlX3BvcnRfc2V0dXAoY3B1LCAmdmlycXNbaV0pOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL3hpY3MuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy94aWNzLmMKaW5kZXggZWJlYmMyOC4uMGZjODMwZiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL3hpY3MuYworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMveGljcy5jCkBAIC0zODMsMTMgKzM4MywxMSBAQAogCQkJbWIoKTsKIAkJCXNtcF9tZXNzYWdlX3JlY3YoUFBDX01TR19SRVNDSEVEVUxFKTsKIAkJfQotI2lmIDAKLQkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX01JR1JBVEVfVEFTSywKKwkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUsCiAJCQkJICAgICAgICZ4aWNzX2lwaV9tZXNzYWdlW2NwdV0udmFsdWUpKSB7CiAJCQltYigpOwotCQkJc21wX21lc3NhZ2VfcmVjdihQUENfTVNHX01JR1JBVEVfVEFTSyk7CisJCQlzbXBfbWVzc2FnZV9yZWN2KFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSk7CiAJCX0KLSNlbmRpZgogI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHR0VSKSB8fCBkZWZpbmVkKENPTkZJR19LRVhFQykKIAkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX0RFQlVHR0VSX0JSRUFLLAogCQkJCSAgICAgICAmeGljc19pcGlfbWVzc2FnZVtjcHVdLnZhbHVlKSkgewpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3N5c2Rldi9tcGljLmMgYi9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYwppbmRleCA3NjgwMDAxLi42YzkwYzk1IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYworKysgYi9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYwpAQCAtMTQ5NCw3ICsxNDk0LDcgQEAKIAlzdGF0aWMgY2hhciAqaXBpX25hbWVzW10gPSB7CiAJCSJJUEkwIChjYWxsIGZ1bmN0aW9uKSIsCiAJCSJJUEkxIChyZXNjaGVkdWxlKSIsCi0JCSJJUEkyICh1bnVzZWQpIiwKKwkJIklQSTIgKGNhbGwgZnVuY3Rpb24gc2luZ2xlKSIsCiAJCSJJUEkzIChkZWJ1Z2dlciBicmVhaykiLAogCX07CiAJQlVHX09OKG1waWMgPT0gTlVMTCk7CmRpZmYgLS1naXQgYS9hcmNoL3BwYy9rZXJuZWwvc21wLmMgYi9hcmNoL3BwYy9rZXJuZWwvc21wLmMKaW5kZXggMDU1OTk4NS4uYmNhYjBkMiAxMDA2NDQKLS0tIGEvYXJjaC9wcGMva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvcHBjL2tlcm5lbC9zbXAuYwpAQCAtMTUyLDcgKzE1Miw3IEBACiAKIHZvaWQgc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL0tjb25maWcgYi9hcmNoL3MzOTAvS2NvbmZpZwppbmRleCAxMDdlNDkyLi41ZGM4ZjgwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvS2NvbmZpZworKysgYi9hcmNoL3MzOTAvS2NvbmZpZwpAQCAtMTQ2LDYgKzE0Niw3IEBACiBjb25maWcgQ09NUEFUCiAJYm9vbCAiS2VybmVsIHN1cHBvcnQgZm9yIDMxIGJpdCBlbXVsYXRpb24iCiAJZGVwZW5kcyBvbiA2NEJJVAorCXNlbGVjdCBDT01QQVRfQklORk1UX0VMRgogCWhlbHAKIAkgIFNlbGVjdCB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBlbmFibGUgeW91ciBzeXN0ZW0ga2VybmVsIHRvCiAJICBoYW5kbGUgc3lzdGVtLWNhbGxzIGZyb20gRUxGIGJpbmFyaWVzIGZvciAzMSBiaXQgRVNBLiAgVGhpcyBvcHRpb24KQEAgLTMxMiw2ICszMTMsMTAgQEAKIGNvbmZpZyBBUkNIX1NFTEVDVF9NRU1PUllfTU9ERUwKICAgICAgICBkZWZfYm9vbCB5CiAKK2NvbmZpZyBBUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRworCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFNQQVJTRU1FTQorCiBzb3VyY2UgIm1tL0tjb25maWciCiAKIGNvbW1lbnQgIkkvTyBzdWJzeXN0ZW0gY29uZmlndXJhdGlvbiIKQEAgLTM0NCw2ICszNDksMjIgQEAKIAogCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAorY29uZmlnIENIU0NfU0NICisJdHJpc3RhdGUgIlN1cHBvcnQgZm9yIENIU0Mgc3ViY2hhbm5lbHMiCisJaGVscAorCSAgVGhpcyBkcml2ZXIgYWxsb3dzIHVzYWdlIG9mIENIU0Mgc3ViY2hhbm5lbHMuIEEgQ0hTQyBzdWJjaGFubmVsCisJICBpcyB1c3VhbGx5IHByZXNlbnQgb24gTFBBUiBvbmx5LgorCSAgVGhlIGRyaXZlciBjcmVhdGVzIGEgZGV2aWNlIC9kZXYvY2hzYywgd2hpY2ggbWF5IGJlIHVzZWQgdG8KKwkgIG9idGFpbiBJL08gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWFjaGluZSBhbmQKKwkgIHRvIGlzc3VlIGFzeW5jaHJvbm91cyBjaHNjIGNvbW1hbmRzIChEQU5HRVJPVVMpLgorCSAgWW91IHdpbGwgdXN1YWxseSBvbmx5IHdhbnQgdG8gdXNlIHRoaXMgaW50ZXJmYWNlIG9uIGEgc3BlY2lhbAorCSAgTFBBUiBkZXNpZ25hdGVkIGZvciBzeXN0ZW0gbWFuYWdlbWVudC4KKworCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlCisJICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgY2hzY19zY2guCisKKwkgIElmIHVuc3VyZSwgc2F5IE4uCisKIGNvbW1lbnQgIk1pc2MiCiAKIGNvbmZpZyBJUEwKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YS5oIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKaW5kZXggZGIzYWU4NS4uMTdhMjYzNiAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKQEAgLTMsMTMgKzMsMTEgQEAKICAqCiAgKiBEZWZpbml0aW9ucyBhbmQgaW50ZXJmYWNlIGZvciBMaW51eCAtIHovVk0gTW9uaXRvciBTdHJlYW0uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDAzLDIwMDYgSUJNIENvcnBvcmF0aW9uLCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSC4KKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMywgMjAwOAogICoKICAqIEF1dGhvcjogR2VyYWxkIFNjaGFlZmVyIDxnZXJhbGQuc2NoYWVmZXJAZGUuaWJtLmNvbT4KICAqLwogCi0vLyNkZWZpbmUgQVBQTERBVEFfREVCVUcJCQkvKiBEZWJ1ZyBtZXNzYWdlcyBvbi9vZmYgKi8KLQogI2RlZmluZSBBUFBMREFUQV9NQVhfUkVDX1NJWkUJICA0MDI0CS8qIE1heGltdW0gc2l6ZSBvZiB0aGUgKi8KIAkJCQkJLyogZGF0YSBidWZmZXIgKi8KICNkZWZpbmUgQVBQTERBVEFfTUFYX1BST0NTIDEwMApAQCAtMzIsMTIgKzMwLDYgQEAKICNkZWZpbmUgUF9FUlJPUih4Li4uKQlwcmludGsoS0VSTl9FUlIgTVlfUFJJTlRfTkFNRSAiIGVycm9yOiAiIHgpCiAjZGVmaW5lIFBfV0FSTklORyh4Li4uKQlwcmludGsoS0VSTl9XQVJOSU5HIE1ZX1BSSU5UX05BTUUgIiBzdGF0dXM6ICIgeCkKIAotI2lmZGVmIEFQUExEQVRBX0RFQlVHCi0jZGVmaW5lIFBfREVCVUcoeC4uLikgICBwcmludGsoS0VSTl9ERUJVRyBNWV9QUklOVF9OQU1FICIgZGVidWc6ICIgeCkKLSNlbHNlCi0jZGVmaW5lIFBfREVCVUcoeC4uLikgICBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotCiBzdHJ1Y3QgYXBwbGRhdGFfb3BzIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CiAJc3RydWN0IGN0bF90YWJsZV9oZWFkZXIgKnN5c2N0bF9oZWFkZXI7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfYmFzZS5jIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX2Jhc2UuYwppbmRleCBhZDQwNzI5Li5hN2Y4OTc5IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfYmFzZS5jCisrKyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9iYXNlLmMKQEAgLTUsNyArNSw3IEBACiAgKiBFeHBvcnRzIGFwcGxkYXRhX3JlZ2lzdGVyX29wcygpIGFuZCBhcHBsZGF0YV91bnJlZ2lzdGVyX29wcygpIGZvciB0aGUKICAqIGRhdGEgZ2F0aGVyaW5nIG1vZHVsZXMuCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDAzLDIwMDYgSUJNIENvcnBvcmF0aW9uLCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSC4KKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMywgMjAwOAogICoKICAqIEF1dGhvcjogR2VyYWxkIFNjaGFlZmVyIDxnZXJhbGQuc2NoYWVmZXJAZGUuaWJtLmNvbT4KICAqLwpAQCAtMTA4LDkgKzEwOCw2IEBACiAgKi8KIHN0YXRpYyB2b2lkIGFwcGxkYXRhX3RpbWVyX2Z1bmN0aW9uKHVuc2lnbmVkIGxvbmcgZGF0YSkKIHsKLQlQX0RFQlVHKCIgICAtPSBUaW1lciA9LVxuIik7Ci0JUF9ERUJVRygiQ1BVOiAlaSwgZXhwaXJlX2NvdW50OiAlaVxuIiwgc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQlhdG9taWNfcmVhZCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50KSk7CiAJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmFwcGxkYXRhX2V4cGlyZV9jb3VudCkpIHsKIAkJYXRvbWljX3NldCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50LCBudW1fb25saW5lX2NwdXMoKSk7CiAJCXF1ZXVlX3dvcmsoYXBwbGRhdGFfd3EsIChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKikgZGF0YSk7CkBAIC0xMjgsMTQgKzEyNSwxMSBAQAogCXN0cnVjdCBhcHBsZGF0YV9vcHMgKm9wczsKIAlpbnQgaTsKIAotCVBfREVCVUcoIiAgLT0gV29yayBRdWV1ZSA9LVxuIik7CiAJaSA9IDA7CiAJZ2V0X29ubGluZV9jcHVzKCk7CiAJc3Bpbl9sb2NrKCZhcHBsZGF0YV9vcHNfbG9jayk7CiAJbGlzdF9mb3JfZWFjaChsaCwgJmFwcGxkYXRhX29wc19saXN0KSB7CiAJCW9wcyA9IGxpc3RfZW50cnkobGgsIHN0cnVjdCBhcHBsZGF0YV9vcHMsIGxpc3QpOwotCQlQX0RFQlVHKCJsaXN0X2Zvcl9lYWNoIGxvb3A6ICVpKSBhY3RpdmUgPSAldSwgbmFtZSA9ICVzXG4iLAotCQkJKytpLCBvcHMtPmFjdGl2ZSwgb3BzLT5uYW1lKTsKIAkJaWYgKG9wcy0+YWN0aXZlID09IDEpIHsKIAkJCW9wcy0+Y2FsbGJhY2sob3BzLT5kYXRhKTsKIAkJfQpAQCAtMjA5LDEwICsyMDMsOSBAQAogCQkJcGVyX2NwdShhcHBsZGF0YV90aW1lciwgaSkuZXhwaXJlcyA9IHBlcl9jcHVfaW50ZXJ2YWw7CiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaSwgYWRkX3ZpcnRfdGltZXJfcGVyaW9kaWMsCiAJCQkJCQkgJnBlcl9jcHUoYXBwbGRhdGFfdGltZXIsIGkpLAotCQkJCQkJIDAsIDEpOworCQkJCQkJIDEpOwogCQl9CiAJCWFwcGxkYXRhX3RpbWVyX2FjdGl2ZSA9IDE7Ci0JCVBfSU5GTygiTW9uaXRvcmluZyB0aW1lciBzdGFydGVkLlxuIik7CiAJCWJyZWFrOwogCWNhc2UgQVBQTERBVEFfREVMX1RJTUVSOgogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGkpCkBAIC0yMjEsNyArMjE0LDYgQEAKIAkJCWJyZWFrOwogCQlhcHBsZGF0YV90aW1lcl9hY3RpdmUgPSAwOwogCQlhdG9taWNfc2V0KCZhcHBsZGF0YV9leHBpcmVfY291bnQsIG51bV9vbmxpbmVfY3B1cygpKTsKLQkJUF9JTkZPKCJNb25pdG9yaW5nIHRpbWVyIHN0b3BwZWQuXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBBUFBMREFUQV9NT0RfVElNRVI6CiAJCXBlcl9jcHVfaW50ZXJ2YWwgPSAodTY0KSAoYXBwbGRhdGFfaW50ZXJ2YWwqMTAwMCAvCkBAIC0yMzYsNyArMjI4LDcgQEAKIAkJCWFyZ3MudGltZXIgPSAmcGVyX2NwdShhcHBsZGF0YV90aW1lciwgaSk7CiAJCQlhcmdzLmV4cGlyZXMgPSBwZXJfY3B1X2ludGVydmFsOwogCQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGksIF9fYXBwbGRhdGFfbW9kX3Z0aW1lcl93cmFwLAotCQkJCQkJICZhcmdzLCAwLCAxKTsKKwkJCQkJCSAmYXJncywgMSk7CiAJCX0KIAl9CiB9CkBAIC0zMTMsMTAgKzMwNSw4IEBACiAJfQogCWludGVydmFsID0gMDsKIAlzc2NhbmYoYnVmLCAiJWkiLCAmaW50ZXJ2YWwpOwotCWlmIChpbnRlcnZhbCA8PSAwKSB7Ci0JCVBfRVJST1IoIlRpbWVyIENQVSBpbnRlcnZhbCBoYXMgdG8gYmUgPiAwIVxuIik7CisJaWYgKGludGVydmFsIDw9IDApCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAogCWdldF9vbmxpbmVfY3B1cygpOwogCXNwaW5fbG9jaygmYXBwbGRhdGFfdGltZXJfbG9jayk7CkBAIC0zMjQsOSArMzE0LDYgQEAKIAlfX2FwcGxkYXRhX3Z0aW1lcl9zZXR1cChBUFBMREFUQV9NT0RfVElNRVIpOwogCXNwaW5fdW5sb2NrKCZhcHBsZGF0YV90aW1lcl9sb2NrKTsKIAlwdXRfb25saW5lX2NwdXMoKTsKLQotCVBfSU5GTygiTW9uaXRvcmluZyBDUFUgaW50ZXJ2YWwgc2V0IHRvICV1IG1pbGxpc2Vjb25kcy5cbiIsCi0JCSBpbnRlcnZhbCk7CiBvdXQ6CiAJKmxlbnAgPSBsZW47CiAJKnBwb3MgKz0gbGVuOwpAQCAtNDA2LDIzICszOTMsMTYgQEAKIAkJCVBfRVJST1IoIlNUQVJUIERJQUcgMHhEQyBmb3IgJXMgZmFpbGVkLCAiCiAJCQkJInJldHVybiBjb2RlOiAlZFxuIiwgb3BzLT5uYW1lLCByYyk7CiAJCQltb2R1bGVfcHV0KG9wcy0+b3duZXIpOwotCQl9IGVsc2UgewotCQkJUF9JTkZPKCJNb25pdG9yaW5nICVzIGRhdGEgZW5hYmxlZCwgIgotCQkJCSJESUFHIDB4REMgc3RhcnRlZC5cbiIsIG9wcy0+bmFtZSk7CisJCX0gZWxzZQogCQkJb3BzLT5hY3RpdmUgPSAxOwotCQl9CiAJfSBlbHNlIGlmICgoYnVmWzBdID09ICcwJykgJiYgKG9wcy0+YWN0aXZlID09IDEpKSB7CiAJCW9wcy0+YWN0aXZlID0gMDsKIAkJcmMgPSBhcHBsZGF0YV9kaWFnKG9wcy0+cmVjb3JkX25yLCBBUFBMREFUQV9TVE9QX1JFQywKIAkJCQkodW5zaWduZWQgbG9uZykgb3BzLT5kYXRhLCBvcHMtPnNpemUsCiAJCQkJb3BzLT5tb2RfbHZsKTsKLQkJaWYgKHJjICE9IDApIHsKKwkJaWYgKHJjICE9IDApCiAJCQlQX0VSUk9SKCJTVE9QIERJQUcgMHhEQyBmb3IgJXMgZmFpbGVkLCAiCiAJCQkJInJldHVybiBjb2RlOiAlZFxuIiwgb3BzLT5uYW1lLCByYyk7Ci0JCX0gZWxzZSB7Ci0JCQlQX0lORk8oIk1vbml0b3JpbmcgJXMgZGF0YSBkaXNhYmxlZCwgIgotCQkJCSJESUFHIDB4REMgc3RvcHBlZC5cbiIsIG9wcy0+bmFtZSk7Ci0JCX0KIAkJbW9kdWxlX3B1dChvcHMtPm93bmVyKTsKIAl9CiAJc3Bpbl91bmxvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKQEAgLTQ2OCw3ICs0NDgsNiBAQAogCW9wcy0+c3lzY3RsX2hlYWRlciA9IHJlZ2lzdGVyX3N5c2N0bF90YWJsZShvcHMtPmN0bF90YWJsZSk7CiAJaWYgKCFvcHMtPnN5c2N0bF9oZWFkZXIpCiAJCWdvdG8gb3V0OwotCVBfSU5GTygiJXMtb3BzIHJlZ2lzdGVyZWQhXG4iLCBvcHMtPm5hbWUpOwogCXJldHVybiAwOwogb3V0OgogCXNwaW5fbG9jaygmYXBwbGRhdGFfb3BzX2xvY2spOwpAQCAtNDkwLDcgKzQ2OSw2IEBACiAJc3Bpbl91bmxvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKIAl1bnJlZ2lzdGVyX3N5c2N0bF90YWJsZShvcHMtPnN5c2N0bF9oZWFkZXIpOwogCWtmcmVlKG9wcy0+Y3RsX3RhYmxlKTsKLQlQX0lORk8oIiVzLW9wcyB1bnJlZ2lzdGVyZWQhXG4iLCBvcHMtPm5hbWUpOwogfQogLyoqKioqKioqKioqKioqKioqKioqKiogbW9kdWxlLW9wcyBtYW5hZ2VtZW50IDxFTkQ+ICoqKioqKioqKioqKioqKioqKioqKioqKioqLwogCkBAIC01NTMsMTQgKzUzMSw5IEBACiB7CiAJaW50IGk7CiAKLQlQX0RFQlVHKCJzaXplb2YocGFyYW1ldGVyX2xpc3QpID0gJWx1XG4iLAotCQlzaXplb2Yoc3RydWN0IGFwcGxkYXRhX3BhcmFtZXRlcl9saXN0KSk7Ci0KIAlhcHBsZGF0YV93cSA9IGNyZWF0ZV9zaW5nbGV0aHJlYWRfd29ya3F1ZXVlKCJhcHBsZGF0YSIpOwotCWlmICghYXBwbGRhdGFfd3EpIHsKLQkJUF9FUlJPUigiQ291bGQgbm90IGNyZWF0ZSB3b3JrIHF1ZXVlXG4iKTsKKwlpZiAoIWFwcGxkYXRhX3dxKQogCQlyZXR1cm4gLUVOT01FTTsKLQl9CiAKIAlnZXRfb25saW5lX2NwdXMoKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGkpCkBAIC01NzEsOCArNTQ0LDYgQEAKIAlyZWdpc3Rlcl9ob3RjcHVfbm90aWZpZXIoJmFwcGxkYXRhX25iKTsKIAogCWFwcGxkYXRhX3N5c2N0bF9oZWFkZXIgPSByZWdpc3Rlcl9zeXNjdGxfdGFibGUoYXBwbGRhdGFfZGlyX3RhYmxlKTsKLQotCVBfREVCVUcoIkJhc2UgaW50ZXJmYWNlIGluaXRpYWxpemVkLlxuIik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU4NCw3ICs1NTUsOSBAQAogRVhQT1JUX1NZTUJPTF9HUEwoYXBwbGRhdGFfdW5yZWdpc3Rlcl9vcHMpOwogRVhQT1JUX1NZTUJPTF9HUEwoYXBwbGRhdGFfZGlhZyk7CiAKKyNpZmRlZiBDT05GSUdfU1dBUAogRVhQT1JUX1NZTUJPTF9HUEwoc2lfc3dhcGluZm8pOworI2VuZGlmCiBFWFBPUlRfU1lNQk9MX0dQTChucl90aHJlYWRzKTsKIEVYUE9SVF9TWU1CT0xfR1BMKG5yX3J1bm5pbmcpOwogRVhQT1JUX1NZTUJPTF9HUEwobnJfaW93YWl0KTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9tZW0uYyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9tZW0uYwppbmRleCA1MTE4MWNjLi4zZWQ1NmI3IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbWVtLmMKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX21lbS5jCkBAIC0xNCwxNCArMTQsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9zd2FwLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlICJhcHBsZGF0YS5oIgogCiAKLSNkZWZpbmUgTVlfUFJJTlRfTkFNRSAiYXBwbGRhdGFfbWVtIgkJLyogZm9yIGRlYnVnIG1lc3NhZ2VzLCBldGMuICovCiAjZGVmaW5lIFAySyh4KSAoKHgpIDw8IChQQUdFX1NISUZUIC0gMTApKQkvKiBDb252ZXJ0cyAjUGFnZXMgdG8gS0IgKi8KIAogLyoKQEAgLTcwLDMwICs2OSw2IEBACiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGFwcGxkYXRhX21lbV9kYXRhOwogCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBhcHBsZGF0YV9kZWJ1Z19wcmludChzdHJ1Y3QgYXBwbGRhdGFfbWVtX2RhdGEgKm1lbV9kYXRhKQotewotCVBfREVCVUcoIi0tLSBNRU0gLSBSRUNPUkQgLS0tXG4iKTsKLQlQX0RFQlVHKCJwZ3BnaW4gICAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnBncGdpbik7Ci0JUF9ERUJVRygicGdwZ291dCAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5wZ3Bnb3V0KTsKLQlQX0RFQlVHKCJwc3dwaW4gICAgID0gJThsdSBQYWdlc1xuIiwgbWVtX2RhdGEtPnBzd3Bpbik7Ci0JUF9ERUJVRygicHN3cG91dCAgICA9ICU4bHUgUGFnZXNcbiIsIG1lbV9kYXRhLT5wc3dwb3V0KTsKLQlQX0RFQlVHKCJwZ2FsbG9jICAgID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ2FsbG9jKTsKLQlQX0RFQlVHKCJwZ2ZhdWx0ICAgID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ2ZhdWx0KTsKLQlQX0RFQlVHKCJwZ21hamZhdWx0ID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ21hamZhdWx0KTsKLQlQX0RFQlVHKCJzaGFyZWRyYW0gID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnNoYXJlZHJhbSk7Ci0JUF9ERUJVRygidG90YWxyYW0gICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT50b3RhbHJhbSk7Ci0JUF9ERUJVRygiZnJlZXJhbSAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlcmFtKTsKLQlQX0RFQlVHKCJ0b3RhbGhpZ2ggID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnRvdGFsaGlnaCk7Ci0JUF9ERUJVRygiZnJlZWhpZ2ggICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlaGlnaCk7Ci0JUF9ERUJVRygiYnVmZmVycmFtICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5idWZmZXJyYW0pOwotCVBfREVCVUcoImNhY2hlZCAgICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+Y2FjaGVkKTsKLQlQX0RFQlVHKCJ0b3RhbHN3YXAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnRvdGFsc3dhcCk7Ci0JUF9ERUJVRygiZnJlZXN3YXAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlc3dhcCk7Ci0JUF9ERUJVRygic3luY19jb3VudF8xID0gJXVcbiIsIG1lbV9kYXRhLT5zeW5jX2NvdW50XzEpOwotCVBfREVCVUcoInN5bmNfY291bnRfMiA9ICV1XG4iLCBtZW1fZGF0YS0+c3luY19jb3VudF8yKTsKLQlQX0RFQlVHKCJ0aW1lc3RhbXAgICAgPSAlbFhcbiIsIG1lbV9kYXRhLT50aW1lc3RhbXApOwotfQotCiAvKgogICogYXBwbGRhdGFfZ2V0X21lbV9kYXRhKCkKICAqCkBAIC0xNDAsOSArMTE1LDYgQEAKIAogCW1lbV9kYXRhLT50aW1lc3RhbXAgPSBnZXRfY2xvY2soKTsKIAltZW1fZGF0YS0+c3luY19jb3VudF8yKys7Ci0jaWZkZWYgQVBQTERBVEFfREVCVUcKLQlhcHBsZGF0YV9kZWJ1Z19wcmludChtZW1fZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0xNjQsMTcgKzEzNiw3IEBACiAgKi8KIHN0YXRpYyBpbnQgX19pbml0IGFwcGxkYXRhX21lbV9pbml0KHZvaWQpCiB7Ci0JaW50IHJjOwotCi0JUF9ERUJVRygic2l6ZW9mKG1lbSkgPSAlbHVcbiIsIHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfbWVtX2RhdGEpKTsKLQotCXJjID0gYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCZvcHMpOwotCWlmIChyYyAhPSAwKSB7Ci0JCVBfRVJST1IoIkVycm9yIHJlZ2lzdGVyaW5nIG9wcywgcmMgPSAlaVxuIiwgcmMpOwotCX0gZWxzZSB7Ci0JCVBfREVCVUcoIiVzLW9wcyByZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwotCX0KLQlyZXR1cm4gcmM7CisJcmV0dXJuIGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKIH0KIAogLyoKQEAgLTE4NSw3ICsxNDcsNiBAQAogc3RhdGljIHZvaWQgX19leGl0IGFwcGxkYXRhX21lbV9leGl0KHZvaWQpCiB7CiAJYXBwbGRhdGFfdW5yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JUF9ERUJVRygiJXMtb3BzIHVucmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKIH0KIAogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbmV0X3N1bS5jIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX25ldF9zdW0uYwppbmRleCA0ZDgzNDQzLi4zYjc0NjU1IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbmV0X3N1bS5jCisrKyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9uZXRfc3VtLmMKQEAgLTIxLDkgKzIxLDYgQEAKICNpbmNsdWRlICJhcHBsZGF0YS5oIgogCiAKLSNkZWZpbmUgTVlfUFJJTlRfTkFNRQkiYXBwbGRhdGFfbmV0X3N1bSIJLyogZm9yIGRlYnVnIG1lc3NhZ2VzLCBldGMuICovCi0KLQogLyoKICAqIE5ldHdvcmsgZGF0YQogICoKQEAgLTYwLDI2ICs1Nyw2IEBACiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGFwcGxkYXRhX25ldF9zdW1fZGF0YTsKIAogCi1zdGF0aWMgaW5saW5lIHZvaWQgYXBwbGRhdGFfcHJpbnRfZGVidWcoc3RydWN0IGFwcGxkYXRhX25ldF9zdW1fZGF0YSAqbmV0X2RhdGEpCi17Ci0JUF9ERUJVRygiLS0tIE5FVCAtIFJFQ09SRCAtLS1cbiIpOwotCi0JUF9ERUJVRygibnJfaW50ZXJmYWNlcyA9ICV1XG4iLCBuZXRfZGF0YS0+bnJfaW50ZXJmYWNlcyk7Ci0JUF9ERUJVRygicnhfcGFja2V0cyAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5yeF9wYWNrZXRzKTsKLQlQX0RFQlVHKCJ0eF9wYWNrZXRzICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X3BhY2tldHMpOwotCVBfREVCVUcoInJ4X2J5dGVzICAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+cnhfYnl0ZXMpOwotCVBfREVCVUcoInR4X2J5dGVzICAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+dHhfYnl0ZXMpOwotCVBfREVCVUcoInJ4X2Vycm9ycyAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+cnhfZXJyb3JzKTsKLQlQX0RFQlVHKCJ0eF9lcnJvcnMgICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X2Vycm9ycyk7Ci0JUF9ERUJVRygicnhfZHJvcHBlZCAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5yeF9kcm9wcGVkKTsKLQlQX0RFQlVHKCJ0eF9kcm9wcGVkICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X2Ryb3BwZWQpOwotCVBfREVCVUcoImNvbGxpc2lvbnMgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+Y29sbGlzaW9ucyk7Ci0KLQlQX0RFQlVHKCJzeW5jX2NvdW50XzEgPSAldVxuIiwgbmV0X2RhdGEtPnN5bmNfY291bnRfMSk7Ci0JUF9ERUJVRygic3luY19jb3VudF8yID0gJXVcbiIsIG5ldF9kYXRhLT5zeW5jX2NvdW50XzIpOwotCVBfREVCVUcoInRpbWVzdGFtcCAgICA9ICVsWFxuIiwgbmV0X2RhdGEtPnRpbWVzdGFtcCk7Ci19Ci0KIC8qCiAgKiBhcHBsZGF0YV9nZXRfbmV0X3N1bV9kYXRhKCkKICAqCkBAIC0xMzUsOSArMTEyLDYgQEAKIAogCW5ldF9kYXRhLT50aW1lc3RhbXAgPSBnZXRfY2xvY2soKTsKIAluZXRfZGF0YS0+c3luY19jb3VudF8yKys7Ci0jaWZkZWYgQVBQTERBVEFfREVCVUcKLQlhcHBsZGF0YV9wcmludF9kZWJ1ZyhuZXRfZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0xNTksMTcgKzEzMyw3IEBACiAgKi8KIHN0YXRpYyBpbnQgX19pbml0IGFwcGxkYXRhX25ldF9pbml0KHZvaWQpCiB7Ci0JaW50IHJjOwotCi0JUF9ERUJVRygic2l6ZW9mKG5ldCkgPSAlbHVcbiIsIHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfbmV0X3N1bV9kYXRhKSk7Ci0KLQlyYyA9IGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKLQlpZiAocmMgIT0gMCkgewotCQlQX0VSUk9SKCJFcnJvciByZWdpc3RlcmluZyBvcHMsIHJjID0gJWlcbiIsIHJjKTsKLQl9IGVsc2UgewotCQlQX0RFQlVHKCIlcy1vcHMgcmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKLQl9Ci0JcmV0dXJuIHJjOworCXJldHVybiBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7CiB9CiAKIC8qCkBAIC0xODAsNyArMTQ0LDYgQEAKIHN0YXRpYyB2b2lkIF9fZXhpdCBhcHBsZGF0YV9uZXRfZXhpdCh2b2lkKQogewogCWFwcGxkYXRhX3VucmVnaXN0ZXJfb3BzKCZvcHMpOwotCVBfREVCVUcoIiVzLW9wcyB1bnJlZ2lzdGVyZWQhXG4iLCBvcHMubmFtZSk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX29zLmMgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYwppbmRleCA2YjNlYWZlLi5lYjQ0ZjlmIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYworKysgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYwpAQCAtODksNDQgKzg5LDYgQEAKIH07CiAKIAotc3RhdGljIGlubGluZSB2b2lkIGFwcGxkYXRhX3ByaW50X2RlYnVnKHN0cnVjdCBhcHBsZGF0YV9vc19kYXRhICpvc19kYXRhKQotewotCWludCBhMCwgYTEsIGEyLCBpOwotCi0JUF9ERUJVRygiLS0tIE9TIC0gUkVDT1JEIC0tLVxuIik7Ci0JUF9ERUJVRygibnJfdGhyZWFkcyAgID0gJXVcbiIsIG9zX2RhdGEtPm5yX3RocmVhZHMpOwotCVBfREVCVUcoIm5yX3J1bm5pbmcgICA9ICV1XG4iLCBvc19kYXRhLT5ucl9ydW5uaW5nKTsKLQlQX0RFQlVHKCJucl9pb3dhaXQgICAgPSAldVxuIiwgb3NfZGF0YS0+bnJfaW93YWl0KTsKLQlQX0RFQlVHKCJhdmVucnVuKGludCkgPSAlOHggLyAlOHggLyAlOHhcbiIsIG9zX2RhdGEtPmF2ZW5ydW5bMF0sCi0JCW9zX2RhdGEtPmF2ZW5ydW5bMV0sIG9zX2RhdGEtPmF2ZW5ydW5bMl0pOwotCWEwID0gb3NfZGF0YS0+YXZlbnJ1blswXTsKLQlhMSA9IG9zX2RhdGEtPmF2ZW5ydW5bMV07Ci0JYTIgPSBvc19kYXRhLT5hdmVucnVuWzJdOwotCVBfREVCVUcoImF2ZW5ydW4oZmxvYXQpID0gJWQuJTAyZCAvICVkLiUwMmQgLyAlZC4lMDJkXG4iLAotCQlMT0FEX0lOVChhMCksIExPQURfRlJBQyhhMCksIExPQURfSU5UKGExKSwgTE9BRF9GUkFDKGExKSwKLQkJTE9BRF9JTlQoYTIpLCBMT0FEX0ZSQUMoYTIpKTsKLQotCVBfREVCVUcoIm5yX2NwdXMgPSAldVxuIiwgb3NfZGF0YS0+bnJfY3B1cyk7Ci0JZm9yIChpID0gMDsgaSA8IG9zX2RhdGEtPm5yX2NwdXM7IGkrKykgewotCQlQX0RFQlVHKCJjcHUldSA6IHVzZXIgPSAldSwgbmljZSA9ICV1LCBzeXN0ZW0gPSAldSwgIgotCQkJImlkbGUgPSAldSwgaXJxID0gJXUsIHNvZnRpcnEgPSAldSwgaW93YWl0ID0gJXUsICIKLQkJCSJzdGVhbCA9ICV1XG4iLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5jcHVfaWQsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfdXNlciwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9uaWNlLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X3N5c3RlbSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9pZGxlLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X2lycSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9zb2Z0aXJxLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X2lvd2FpdCwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9zdGVhbCk7Ci0JfQotCi0JUF9ERUJVRygic3luY19jb3VudF8xID0gJXVcbiIsIG9zX2RhdGEtPnN5bmNfY291bnRfMSk7Ci0JUF9ERUJVRygic3luY19jb3VudF8yID0gJXVcbiIsIG9zX2RhdGEtPnN5bmNfY291bnRfMik7Ci0JUF9ERUJVRygidGltZXN0YW1wICAgID0gJWxYXG4iLCBvc19kYXRhLT50aW1lc3RhbXApOwotfQotCiAvKgogICogYXBwbGRhdGFfZ2V0X29zX2RhdGEoKQogICoKQEAgLTE4MCwxMyArMTQyLDEwIEBACiAJCQkJCSAgIEFQUExEQVRBX1NUQVJUX0lOVEVSVkFMX1JFQywKIAkJCQkJICAgKHVuc2lnbmVkIGxvbmcpIG9wcy5kYXRhLCBuZXdfc2l6ZSwKIAkJCQkJICAgb3BzLm1vZF9sdmwpOwotCQkJaWYgKHJjICE9IDApIHsKKwkJCWlmIChyYyAhPSAwKQogCQkJCVBfRVJST1IoIm9zOiBTVEFSVCBORVcgRElBRyAweERDIGZhaWxlZCwgIgogCQkJCQkicmV0dXJuIGNvZGU6ICVkLCBuZXcgc2l6ZSA9ICVpXG4iLCByYywKIAkJCQkJbmV3X3NpemUpOwotCQkJCVBfSU5GTygib3M6IHN0b3BwaW5nIG9sZCByZWNvcmQgbm93XG4iKTsKLQkJCX0gZWxzZQotCQkJCVBfSU5GTygib3M6IG5ldyByZWNvcmQgc2l6ZSA9ICVpXG4iLCBuZXdfc2l6ZSk7CiAKIAkJCXJjID0gYXBwbGRhdGFfZGlhZyhBUFBMREFUQV9SRUNPUkRfT1NfSUQsCiAJCQkJCSAgIEFQUExEQVRBX1NUT1BfUkVDLApAQCAtMjA0LDkgKzE2Myw2IEBACiAJfQogCW9zX2RhdGEtPnRpbWVzdGFtcCA9IGdldF9jbG9jaygpOwogCW9zX2RhdGEtPnN5bmNfY291bnRfMisrOwotI2lmZGVmIEFQUExEQVRBX0RFQlVHCi0JYXBwbGRhdGFfcHJpbnRfZGVidWcob3NfZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0yMjcsMTIgKzE4Myw5IEBACiAJCXJjID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CiAJfQotCVBfREVCVUcoIm1heC4gc2l6ZW9mKG9zKSA9ICVpLCBzaXplb2Yob3NfY3B1KSA9ICVsdVxuIiwgbWF4X3NpemUsCi0JCXNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfb3NfcGVyX2NwdSkpOwogCiAJYXBwbGRhdGFfb3NfZGF0YSA9IGt6YWxsb2MobWF4X3NpemUsIEdGUF9ETUEpOwogCWlmIChhcHBsZGF0YV9vc19kYXRhID09IE5VTEwpIHsKLQkJUF9FUlJPUigiTm8gbWVtb3J5IGZvciAlcyFcbiIsIG9wcy5uYW1lKTsKIAkJcmMgPSAtRU5PTUVNOwogCQlnb3RvIG91dDsKIAl9CkBAIC0yNDAsMTcgKzE5MywxMiBAQAogCWFwcGxkYXRhX29zX2RhdGEtPnBlcl9jcHVfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfb3NfcGVyX2NwdSk7CiAJYXBwbGRhdGFfb3NfZGF0YS0+Y3B1X29mZnNldCAgID0gb2Zmc2V0b2Yoc3RydWN0IGFwcGxkYXRhX29zX2RhdGEsCiAJCQkJCQkJb3NfY3B1KTsKLQlQX0RFQlVHKCJjcHUgb2Zmc2V0ID0gJXVcbiIsIGFwcGxkYXRhX29zX2RhdGEtPmNwdV9vZmZzZXQpOwogCiAJb3BzLmRhdGEgPSBhcHBsZGF0YV9vc19kYXRhOwogCW9wcy5jYWxsYmFjayAgPSAmYXBwbGRhdGFfZ2V0X29zX2RhdGE7CiAJcmMgPSBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JaWYgKHJjICE9IDApIHsKLQkJUF9FUlJPUigiRXJyb3IgcmVnaXN0ZXJpbmcgb3BzLCByYyA9ICVpXG4iLCByYyk7CisJaWYgKHJjICE9IDApCiAJCWtmcmVlKGFwcGxkYXRhX29zX2RhdGEpOwotCX0gZWxzZSB7Ci0JCVBfREVCVUcoIiVzLW9wcyByZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwotCX0KIG91dDoKIAlyZXR1cm4gcmM7CiB9CkBAIC0yNjQsNyArMjEyLDYgQEAKIHsKIAlhcHBsZGF0YV91bnJlZ2lzdGVyX29wcygmb3BzKTsKIAlrZnJlZShhcHBsZGF0YV9vc19kYXRhKTsKLQlQX0RFQlVHKCIlcy1vcHMgdW5yZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwogfQogCiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9jcnlwdG8vY3J5cHRfczM5MC5oIGIvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKaW5kZXggOTk5MmY5NS4uMGVmOTgyOSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKKysrIGIvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKQEAgLTI5Niw2ICsyOTYsMTAgQEAKIAl1bnNpZ25lZCBjaGFyIHN0YXR1c1sxNl07CiAJaW50IHJldDsKIAorCS8qIGNoZWNrIGlmIENQQUNGIGZhY2lsaXR5IChiaXQgMTcpIGlzIGF2YWlsYWJsZSAqLworCWlmICghKHN0ZmwoKSAmIDFVTEwgPDwgKDMxIC0gMTcpKSkKKwkJcmV0dXJuIDA7CisKIAlzd2l0Y2ggKGZ1bmMgJiBDUllQVF9TMzkwX09QX01BU0spIHsKIAljYXNlIENSWVBUX1MzOTBfS006CiAJCXJldCA9IGNyeXB0X3MzOTBfa20oS01fUVVFUlksICZzdGF0dXMsIE5VTEwsIE5VTEwsIDApOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2NyeXB0by9wcm5nLmMgYi9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYwppbmRleCAwY2ZlZmRkLi5lY2E3MjRkIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYworKysgYi9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgpAQCAtNDgsNiArNDksNyBAQAogCiBzdGF0aWMgaW50IHBybmdfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIH0KIApAQCAtMTg1LDExICsxODcsOCBAQAogCXBybmdfc2VlZCgxNik7CiAKIAlyZXQgPSBtaXNjX3JlZ2lzdGVyKCZwcm5nX2Rldik7Ci0JaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCSAgICAgICAiQ291bGQgbm90IHJlZ2lzdGVyIG1pc2MgZGV2aWNlIGZvciBQUk5HLlxuIik7CisJaWYgKHJldCkKIAkJZ290byBvdXRfYnVmOwotCX0KIAlyZXR1cm4gMDsKIAogb3V0X2J1ZjoKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9oeXBmcy9pbm9kZS5jIGIvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKaW5kZXggNGIwMTBmZi4uNzM4Mzc4MSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKKysrIGIvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKQEAgLTE1MCwzMyArMTUwLDI0IEBACiAJCQkgICAgICB1bnNpZ25lZCBsb25nIG5yX3NlZ3MsIGxvZmZfdCBvZmZzZXQpCiB7CiAJY2hhciAqZGF0YTsKLQlzaXplX3QgbGVuOworCXNzaXplX3QgcmV0OwogCXN0cnVjdCBmaWxlICpmaWxwID0gaW9jYi0+a2lfZmlscDsKIAkvKiBYWFg6IHRlbXBvcmFyeSAqLwogCWNoYXIgX191c2VyICpidWYgPSBpb3ZbMF0uaW92X2Jhc2U7CiAJc2l6ZV90IGNvdW50ID0gaW92WzBdLmlvdl9sZW47CiAKLQlpZiAobnJfc2VncyAhPSAxKSB7Ci0JCWNvdW50ID0gLUVJTlZBTDsKLQkJZ290byBvdXQ7Ci0JfQorCWlmIChucl9zZWdzICE9IDEpCisJCXJldHVybiAtRUlOVkFMOwogCiAJZGF0YSA9IGZpbHAtPnByaXZhdGVfZGF0YTsKLQlsZW4gPSBzdHJsZW4oZGF0YSk7Ci0JaWYgKG9mZnNldCA+IGxlbikgewotCQljb3VudCA9IDA7Ci0JCWdvdG8gb3V0OwotCX0KLQlpZiAoY291bnQgPiBsZW4gLSBvZmZzZXQpCi0JCWNvdW50ID0gbGVuIC0gb2Zmc2V0OwotCWlmIChjb3B5X3RvX3VzZXIoYnVmLCBkYXRhICsgb2Zmc2V0LCBjb3VudCkpIHsKLQkJY291bnQgPSAtRUZBVUxUOwotCQlnb3RvIG91dDsKLQl9Ci0JaW9jYi0+a2lfcG9zICs9IGNvdW50OworCXJldCA9IHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZiwgY291bnQsICZvZmZzZXQsIGRhdGEsIHN0cmxlbihkYXRhKSk7CisJaWYgKHJldCA8PSAwKQorCQlyZXR1cm4gcmV0OworCisJaW9jYi0+a2lfcG9zICs9IHJldDsKIAlmaWxlX2FjY2Vzc2VkKGZpbHApOwotb3V0OgotCXJldHVybiBjb3VudDsKKworCXJldHVybiByZXQ7CiB9CiBzdGF0aWMgc3NpemVfdCBoeXBmc19haW9fd3JpdGUoc3RydWN0IGtpb2NiICppb2NiLCBjb25zdCBzdHJ1Y3QgaW92ZWMgKmlvdiwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbnJfc2VncywgbG9mZl90IG9mZnNldCkKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvTWFrZWZpbGUgYi9hcmNoL3MzOTAva2VybmVsL01ha2VmaWxlCmluZGV4IDYzMDJmNTAuLjUwZjY1N2UgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9NYWtlZmlsZQpAQCAtNyw5ICs3LDE0IEBACiAjCiBDRkxBR1Nfc21wLm8JOj0gLVduby1ub25udWxsCiAKKyMKKyMgUGFzcyBVVFNfTUFDSElORSBmb3IgdXNlcl9yZWdzZXQgZGVmaW5pdGlvbgorIworQ0ZMQUdTX3B0cmFjZS5vCQkrPSAtRFVUU19NQUNISU5FPSciJChVVFNfTUFDSElORSkiJworCiBvYmoteQk6PSAgYml0bWFwLm8gdHJhcHMubyB0aW1lLm8gcHJvY2Vzcy5vIGJhc2UubyBlYXJseS5vIFwKICAgICAgICAgICAgIHNldHVwLm8gc3lzX3MzOTAubyBwdHJhY2UubyBzaWduYWwubyBjcGNtZC5vIGViY2RpYy5vIFwKLQkgICAgczM5MF9leHQubyBkZWJ1Zy5vIGlycS5vIGlwbC5vIGRpcy5vIGRpYWcubworCSAgICBzMzkwX2V4dC5vIGRlYnVnLm8gaXJxLm8gaXBsLm8gZGlzLm8gZGlhZy5vIG1lbV9kZXRlY3QubwogCiBvYmoteQkrPSAkKGlmICQoQ09ORklHXzY0QklUKSxlbnRyeTY0Lm8sZW50cnkubykKIG9iai15CSs9ICQoaWYgJChDT05GSUdfNjRCSVQpLHJlaXBsNjQubyxyZWlwbC5vKQpAQCAtMjMsNyArMjgsNyBAQAogY29tcGF0LW9iai0kKENPTkZJR19BVURJVCkJKz0gY29tcGF0X2F1ZGl0Lm8KIG9iai0kKENPTkZJR19DT01QQVQpCQkrPSBjb21wYXRfbGludXgubyBjb21wYXRfc2lnbmFsLm8gXAogCQkJCQljb21wYXRfd3JhcHBlci5vIGNvbXBhdF9leGVjX2RvbWFpbi5vIFwKLQkJCQkJYmluZm10X2VsZjMyLm8gJChjb21wYXQtb2JqLXkpCisJCQkJCSQoY29tcGF0LW9iai15KQogCiBvYmotJChDT05GSUdfVklSVF9USU1FUikJKz0gdnRpbWUubwogb2JqLSQoQ09ORklHX1NUQUNLVFJBQ0UpCSs9IHN0YWNrdHJhY2UubwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9iaW5mbXRfZWxmMzIuYyBiL2FyY2gvczM5MC9rZXJuZWwvYmluZm10X2VsZjMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlMWMzMTUuLjAwMDAwMDAKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9iaW5mbXRfZWxmMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDIxNCArMCwwIEBACi0vKgotICogU3VwcG9ydCBmb3IgMzItYml0IExpbnV4IGZvciBTMzkwIEVMRiBiaW5hcmllcy4KLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDAgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsIElCTSBDb3Jwb3JhdGlvbgotICogQXV0aG9yKHMpOiBHZXJoYXJkIFRvbm4gKHRvbkBkZS5pYm0uY29tKQotICoKLSAqIEhlYXZpbHkgaW5zcGlyZWQgYnkgdGhlIDMyLWJpdCBTcGFyYyBjb21wYXQgY29kZSB3aGljaCBpcwotICogQ29weXJpZ2h0IChDKSAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4IERhdmlkIFMuIE1pbGxlciAoZGF2ZW1AcmVkaGF0LmNvbSkKLSAqIENvcHlyaWdodCAoQykgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCBKYWt1YiBKZWxpbmVrICAgKGpqQHVsdHJhLmxpbnV4LmN6KQotICovCi0KLSNkZWZpbmUgX19BU01TMzkwX0VMRl9ICi0KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0KLS8qCi0gKiBUaGVzZSBhcmUgdXNlZCB0byBzZXQgcGFyYW1ldGVycyBpbiB0aGUgY29yZSBkdW1wcy4KLSAqLwotI2RlZmluZSBFTEZfQ0xBU1MJRUxGQ0xBU1MzMgotI2RlZmluZSBFTEZfREFUQQlFTEZEQVRBMk1TQgotI2RlZmluZSBFTEZfQVJDSAlFTV9TMzkwCi0KLS8qCi0gKiBUaGlzIGlzIHVzZWQgdG8gZW5zdXJlIHdlIGRvbid0IGxvYWQgc29tZXRoaW5nIGZvciB0aGUgd3JvbmcgYXJjaGl0ZWN0dXJlLgotICovCi0jZGVmaW5lIGVsZl9jaGVja19hcmNoKHgpIFwKLQkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKLSAgICAgICAgICYmICh4KS0+ZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGX0NMQVNTKQotCi0vKiBFTEYgcmVnaXN0ZXIgZGVmaW5pdGlvbnMgKi8KLSNkZWZpbmUgTlVNX0dQUlMgICAgICAxNgotI2RlZmluZSBOVU1fRlBSUyAgICAgIDE2Ci0jZGVmaW5lIE5VTV9BQ1JTICAgICAgMTYgICAgCi0KLS8qIEZvciBTVlI0L1MzOTAgdGhlIGZ1bmN0aW9uIHBvaW50ZXIgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIGBhdGV4aXRgIGlzCi0gICBwYXNzZWQgaW4gUjE0LiAqLwotI2RlZmluZSBFTEZfUExBVF9JTklUKF9yLCBsb2FkX2FkZHIpIFwKLQlkbyB7IFwKLQkJX3ItPmdwcnNbMTRdID0gMDsgXAotCX0gd2hpbGUoMCkKLQotI2RlZmluZSBVU0VfRUxGX0NPUkVfRFVNUAotI2RlZmluZSBFTEZfRVhFQ19QQUdFU0laRSAgICAgICA0MDk2Ci0KLS8qIFRoaXMgaXMgdGhlIGxvY2F0aW9uIHRoYXQgYW4gRVRfRFlOIHByb2dyYW0gaXMgbG9hZGVkIGlmIGV4ZWMnZWQuICBUeXBpY2FsCi0gICB1c2Ugb2YgdGhpcyBpcyB0byBpbnZva2UgIi4vbGQuc28gc29tZXByb2ciIHRvIHRlc3Qgb3V0IGEgbmV3IHZlcnNpb24gb2YKLSAgIHRoZSBsb2FkZXIuICBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGl0IGlzIG91dCBvZiB0aGUgd2F5IG9mIHRoZSBwcm9ncmFtCi0gICB0aGF0IGl0IHdpbGwgImV4ZWMiLCBhbmQgdGhhdCB0aGVyZSBpcyBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBicmsuICAqLwotCi0jZGVmaW5lIEVMRl9FVF9EWU5fQkFTRSAgICAgICAgIChUQVNLX1NJWkUgLyAzICogMikKLQotLyogV293LCB0aGUgIm1haW4iIGFyY2ggbmVlZHMgYXJjaCBkZXBlbmRlbnQgZnVuY3Rpb25zIHRvby4uIDopICovCi0KLS8qIHJlZ3MgaXMgc3RydWN0IHB0X3JlZ3MsIHByX3JlZyBpcyBlbGZfZ3JlZ3NldF90ICh3aGljaCBpcwotICAgbm93IHN0cnVjdF91c2VyX3JlZ3MsIHRoZXkgYXJlIGRpZmZlcmVudCkgKi8KLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX1JFR1MocHJfcmVnLCByZWdzKSBkdW1wX3JlZ3MzMihyZWdzLCAmcHJfcmVnKTsKLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX1RBU0tfUkVHUyh0c2ssIHJlZ3MpIGR1bXBfdGFza19yZWdzMzIodHNrLCByZWdzKQotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfRlBSRUdTKHRzaywgZnByZWdzKSBkdW1wX3Rhc2tfZnB1KHRzaywgZnByZWdzKQotCi0vKiBUaGlzIHlpZWxkcyBhIG1hc2sgdGhhdCB1c2VyIHByb2dyYW1zIGNhbiB1c2UgdG8gZmlndXJlIG91dCB3aGF0Ci0gICBpbnN0cnVjdGlvbiBzZXQgdGhpcyBDUFUgc3VwcG9ydHMuICovCi0KLSNkZWZpbmUgRUxGX0hXQ0FQICgwKQotCi0vKiBUaGlzIHlpZWxkcyBhIHN0cmluZyB0aGF0IGxkLnNvIHdpbGwgdXNlIHRvIGxvYWQgaW1wbGVtZW50YXRpb24KLSAgIHNwZWNpZmljIGxpYnJhcmllcyBmb3Igb3B0aW1pemF0aW9uLiAgVGhpcyBpcyBtb3JlIHNwZWNpZmljIGluCi0gICBpbnRlbnQgdGhhbiBwb2tpbmcgYXQgdW5hbWUgb3IgL3Byb2MvY3B1aW5mby4KLQotICAgRm9yIHRoZSBtb21lbnQsIHdlIGhhdmUgb25seSBvcHRpbWl6YXRpb25zIGZvciB0aGUgSW50ZWwgZ2VuZXJhdGlvbnMsCi0gICBidXQgdGhhdCBjb3VsZCBjaGFuZ2UuLi4gKi8KLQotI2RlZmluZSBFTEZfUExBVEZPUk0gKE5VTEwpCi0KLSNkZWZpbmUgU0VUX1BFUlNPTkFMSVRZKGV4LCBpYmNzMikJCQlcCi1kbyB7CQkJCQkJCVwKLQlpZiAoaWJjczIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JCXNldF9wZXJzb25hbGl0eShQRVJfU1ZSNCk7ICAgICAgICAgICAgICBcCi0JZWxzZSBpZiAoY3VycmVudC0+cGVyc29uYWxpdHkgIT0gUEVSX0xJTlVYMzIpICAgXAotCQlzZXRfcGVyc29uYWxpdHkoUEVSX0xJTlVYKTsgICAgICAgICAgICAgXAotCXNldF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJCVwKLX0gd2hpbGUgKDApCi0KLSNpbmNsdWRlICJjb21wYXRfbGludXguaCIKLQotdHlwZWRlZiBfczM5MF9mcF9yZWdzMzIgZWxmX2ZwcmVnc2V0X3Q7Ci0KLXR5cGVkZWYgc3RydWN0Ci17Ci0JCi0JX3Bzd190MzIJcHN3OwotCV9fdTMyCQlncHJzW19fTlVNX0dQUlNdOyAKLQlfX3UzMgkJYWNyc1tfX05VTV9BQ1JTXTsgCi0JX191MzIJCW9yaWdfZ3ByMjsKLX0gczM5MF9yZWdzMzI7Ci10eXBlZGVmIHMzOTBfcmVnczMyIGVsZl9ncmVnc2V0X3Q7Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfcmVnczMyKHN0cnVjdCBwdF9yZWdzICpwdHJlZ3MsIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0JaW50IGk7Ci0KLQltZW1jcHkoJnJlZ3MtPnBzdy5tYXNrLCAmcHRyZWdzLT5wc3cubWFzaywgNCk7Ci0JbWVtY3B5KCZyZWdzLT5wc3cuYWRkciwgKGNoYXIgKikmcHRyZWdzLT5wc3cuYWRkciArIDQsIDQpOwotCWZvciAoaSA9IDA7IGkgPCBOVU1fR1BSUzsgaSsrKQotCQlyZWdzLT5ncHJzW2ldID0gcHRyZWdzLT5ncHJzW2ldOwotCXNhdmVfYWNjZXNzX3JlZ3MocmVncy0+YWNycyk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfdGFza19yZWdzMzIoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0Jc3RydWN0IHB0X3JlZ3MgKnB0cmVncyA9IHRhc2tfcHRfcmVncyh0c2spOwotCWludCBpOwotCi0JbWVtY3B5KCZyZWdzLT5wc3cubWFzaywgJnB0cmVncy0+cHN3Lm1hc2ssIDQpOwotCW1lbWNweSgmcmVncy0+cHN3LmFkZHIsIChjaGFyICopJnB0cmVncy0+cHN3LmFkZHIgKyA0LCA0KTsKLQlmb3IgKGkgPSAwOyBpIDwgTlVNX0dQUlM7IGkrKykKLQkJcmVncy0+Z3Byc1tpXSA9IHB0cmVncy0+Z3Byc1tpXTsKLQltZW1jcHkocmVncy0+YWNycywgdHNrLT50aHJlYWQuYWNycywgc2l6ZW9mKHJlZ3MtPmFjcnMpKTsKLQlyZWdzLT5vcmlnX2dwcjIgPSBwdHJlZ3MtPm9yaWdfZ3ByMjsKLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgZWxmX2ZwcmVnc2V0X3QgKmZwcmVncykKLXsKLQlpZiAodHNrID09IGN1cnJlbnQpCi0JCXNhdmVfZnBfcmVncygoczM5MF9mcF9yZWdzICopIGZwcmVncyk7Ci0JZWxzZQotCQltZW1jcHkoZnByZWdzLCAmdHNrLT50aHJlYWQuZnBfcmVncywgc2l6ZW9mKGVsZl9mcHJlZ3NldF90KSk7Ci0JcmV0dXJuIDE7Ci19Ci0KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9lbGZjb3JlLmg+Ci0jaW5jbHVkZSA8bGludXgvYmluZm10cy5oPgotI2luY2x1ZGUgPGxpbnV4L2NvbXBhdC5oPgotCi0jZGVmaW5lIGVsZl9wcnN0YXR1cyBlbGZfcHJzdGF0dXMzMgotc3RydWN0IGVsZl9wcnN0YXR1czMyCi17Ci0Jc3RydWN0IGVsZl9zaWdpbmZvIHByX2luZm87CS8qIEluZm8gYXNzb2NpYXRlZCB3aXRoIHNpZ25hbCAqLwotCXNob3J0CXByX2N1cnNpZzsJCS8qIEN1cnJlbnQgc2lnbmFsICovCi0JdTMyCXByX3NpZ3BlbmQ7CS8qIFNldCBvZiBwZW5kaW5nIHNpZ25hbHMgKi8KLQl1MzIJcHJfc2lnaG9sZDsJLyogU2V0IG9mIGhlbGQgc2lnbmFscyAqLwotCXBpZF90CXByX3BpZDsKLQlwaWRfdAlwcl9wcGlkOwotCXBpZF90CXByX3BncnA7Ci0JcGlkX3QJcHJfc2lkOwotCXN0cnVjdCBjb21wYXRfdGltZXZhbCBwcl91dGltZTsJLyogVXNlciB0aW1lICovCi0Jc3RydWN0IGNvbXBhdF90aW1ldmFsIHByX3N0aW1lOwkvKiBTeXN0ZW0gdGltZSAqLwotCXN0cnVjdCBjb21wYXRfdGltZXZhbCBwcl9jdXRpbWU7CS8qIEN1bXVsYXRpdmUgdXNlciB0aW1lICovCi0Jc3RydWN0IGNvbXBhdF90aW1ldmFsIHByX2NzdGltZTsJLyogQ3VtdWxhdGl2ZSBzeXN0ZW0gdGltZSAqLwotCWVsZl9ncmVnc2V0X3QgcHJfcmVnOwkvKiBHUCByZWdpc3RlcnMgKi8KLQlpbnQgcHJfZnB2YWxpZDsJCS8qIFRydWUgaWYgbWF0aCBjby1wcm9jZXNzb3IgYmVpbmcgdXNlZC4gICovCi19OwotCi0jZGVmaW5lIGVsZl9wcnBzaW5mbyBlbGZfcHJwc2luZm8zMgotc3RydWN0IGVsZl9wcnBzaW5mbzMyCi17Ci0JY2hhcglwcl9zdGF0ZTsJLyogbnVtZXJpYyBwcm9jZXNzIHN0YXRlICovCi0JY2hhcglwcl9zbmFtZTsJLyogY2hhciBmb3IgcHJfc3RhdGUgKi8KLQljaGFyCXByX3pvbWI7CS8qIHpvbWJpZSAqLwotCWNoYXIJcHJfbmljZTsJLyogbmljZSB2YWwgKi8KLQl1MzIJcHJfZmxhZzsJLyogZmxhZ3MgKi8KLQl1MTYJcHJfdWlkOwotCXUxNglwcl9naWQ7Ci0JcGlkX3QJcHJfcGlkLCBwcl9wcGlkLCBwcl9wZ3JwLCBwcl9zaWQ7Ci0JLyogTG90cyBtaXNzaW5nICovCi0JY2hhcglwcl9mbmFtZVsxNl07CS8qIGZpbGVuYW1lIG9mIGV4ZWN1dGFibGUgKi8KLQljaGFyCXByX3BzYXJnc1tFTEZfUFJBUkdTWl07CS8qIGluaXRpYWwgcGFydCBvZiBhcmcgbGlzdCAqLwotfTsKLQotI2luY2x1ZGUgPGxpbnV4L2hpZ2h1aWQuaD4KLQotLyoKLSNkZWZpbmUgaW5pdF9lbGZfYmluZm10IGluaXRfZWxmMzJfYmluZm10Ci0qLwotCi0jdW5kZWYgc3RhcnRfdGhyZWFkCi0jZGVmaW5lIHN0YXJ0X3RocmVhZCAgICAgICAgICAgICAgICAgICAgc3RhcnRfdGhyZWFkMzEgCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzdGFydF90aHJlYWQzMShzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBuZXdfcHN3LAotCQkJCSAgdW5zaWduZWQgbG9uZyBuZXdfc3RhY2twKQotewotCXNldF9mcyhVU0VSX0RTKTsKLQlyZWdzLT5wc3cubWFzawk9IHBzd191c2VyMzJfYml0czsKLQlyZWdzLT5wc3cuYWRkcgk9IG5ld19wc3c7Ci0JcmVncy0+Z3Byc1sxNV0JPSBuZXdfc3RhY2twOwotCWNyc3RfdGFibGVfZG93bmdyYWRlKGN1cnJlbnQtPm1tLCAxVUwgPDwgMzEpOwotfQotCi1NT0RVTEVfREVTQ1JJUFRJT04oIkJpbmFyeSBmb3JtYXQgbG9hZGVyIGZvciBjb21wYXRpYmlsaXR5IHdpdGggMzJiaXQgTGludXggZm9yIFMzOTAgYmluYXJpZXMsIgotICAgICAgICAgICAgICAgICAgICIgQ29weXJpZ2h0IDIwMDAgSUJNIENvcnBvcmF0aW9uIik7IAotTU9EVUxFX0FVVEhPUigiR2VyaGFyZCBUb25uIDx0b25AZGUuaWJtLmNvbT4iKTsKLQotI3VuZGVmIE1PRFVMRV9ERVNDUklQVElPTgotI3VuZGVmIE1PRFVMRV9BVVRIT1IKLQotI3VuZGVmIGNwdXRpbWVfdG9fdGltZXZhbAotI2RlZmluZSBjcHV0aW1lX3RvX3RpbWV2YWwgY3B1dGltZV90b19jb21wYXRfdGltZXZhbAotc3RhdGljIGlubGluZSB2b2lkCi1jcHV0aW1lX3RvX2NvbXBhdF90aW1ldmFsKGNvbnN0IGNwdXRpbWVfdCBjcHV0aW1lLCBzdHJ1Y3QgY29tcGF0X3RpbWV2YWwgKnZhbHVlKQotewotCXZhbHVlLT50dl91c2VjID0gY3B1dGltZSAlIDEwMDAwMDA7Ci0JdmFsdWUtPnR2X3NlYyA9IGNwdXRpbWUgLyAxMDAwMDAwOwotfQotCi0jaW5jbHVkZSAiLi4vLi4vLi4vZnMvYmluZm10X2VsZi5jIgotCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2NvbXBhdF9wdHJhY2UuaCBiL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCmluZGV4IDQxOWFlZjkuLmNkZTgxZmEgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCkBAIC0xLDcgKzEsNyBAQAogI2lmbmRlZiBfUFRSQUNFMzJfSAogI2RlZmluZSBfUFRSQUNFMzJfSAogCi0jaW5jbHVkZSAiY29tcGF0X2xpbnV4LmgiICAvKiBuZWVkZWQgZm9yIF9wc3dfdDMyICovCisjaW5jbHVkZSAiY29tcGF0X2xpbnV4LmgiICAvKiBuZWVkZWQgZm9yIHBzd19jb21wYXRfdCAqLwogCiB0eXBlZGVmIHN0cnVjdCB7CiAJX191MzIgY3JbM107CkBAIC0zOCw3ICszOCw3IEBACiAKIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0MzIKIHsKLQlfcHN3X3QzMiBwc3c7CisJcHN3X2NvbXBhdF90IHBzdzsKIAl1MzIgZ3Byc1tOVU1fR1BSU107CiAJdTMyIGFjcnNbTlVNX0FDUlNdOwogCXUzMiBvcmlnX2dwcjI7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2RlYnVnLmMgYi9hcmNoL3MzOTAva2VybmVsL2RlYnVnLmMKaW5kZXggYzkzZDEyOS4uZDgwZmNkNCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9kZWJ1Zy5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvZGVidWcuYwpAQCAtMTA3OSw3ICsxMDc5LDYgQEAKIAlzMzkwZGJmX3N5c2N0bF9oZWFkZXIgPSByZWdpc3Rlcl9zeXNjdGxfdGFibGUoczM5MGRiZl9kaXJfdGFibGUpOwogCW11dGV4X2xvY2soJmRlYnVnX211dGV4KTsKIAlkZWJ1Z19kZWJ1Z2ZzX3Jvb3RfZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoREVCVUdfRElSX1JPT1QsTlVMTCk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiZGVidWc6IEluaXRpYWxpemF0aW9uIGNvbXBsZXRlXG4iKTsKIAlpbml0aWFsaXplZCA9IDE7CiAJbXV0ZXhfdW5sb2NrKCZkZWJ1Z19tdXRleCk7CiAKQEAgLTExOTMsNyArMTE5Miw2IEBACiAJZm9yKDsgaXNzcGFjZSgqYnVmKTsgYnVmKyspOwogCXJjID0gc2ltcGxlX3N0cnRvdWwoYnVmLCAmYnVmLCAxMCk7CiAJaWYoKmJ1Zil7Ci0JCXByaW50aygiZGVidWc6IG5vIGludGVnZXIgc3BlY2lmaWVkIVxuIik7CiAJCXJjID0gLUVJTlZBTDsKIAl9CiAJcmV0dXJuIHJjOwpAQCAtMTM0MCwxOSArMTMzOCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgCW1lbXNldChpZC0+YXJlYXNbaV1bal0sIDAsIFBBR0VfU0laRSk7CiAJCQl9CiAJCX0KLSAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJkZWJ1ZzogJXM6IGFsbCBhcmVhcyBmbHVzaGVkXG4iLGlkLT5uYW1lKTsKICAgICAgICAgfSBlbHNlIGlmKGFyZWEgPj0gMCAmJiBhcmVhIDwgaWQtPm5yX2FyZWFzKSB7CiAgICAgICAgICAgICAgICAgaWQtPmFjdGl2ZV9lbnRyaWVzW2FyZWFdID0gMDsKIAkJaWQtPmFjdGl2ZV9wYWdlc1thcmVhXSA9IDA7CiAJCWZvcihpID0gMDsgaSA8IGlkLT5wYWdlc19wZXJfYXJlYTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgCW1lbXNldChpZC0+YXJlYXNbYXJlYV1baV0sMCxQQUdFX1NJWkUpOwogCQl9Ci0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiZGVidWc6ICVzOiBhcmVhICVpIGhhcyBiZWVuIGZsdXNoZWRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpZC0+bmFtZSwgYXJlYSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTwotICAgICAgICAgICAgICAgICAgICAgICJkZWJ1ZzogJXM6IGFyZWEgJWkgY2Fubm90IGJlIGZsdXNoZWQgKHJhbmdlOiAlaSAtICVpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlkLT5uYW1lLCBhcmVhLCAwLCBpZC0+bnJfYXJlYXMtMSk7CiAgICAgICAgIH0KICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWQtPmxvY2ssZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9lYXJseS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9lYXJseS5jCmluZGV4IGQwZTA5NjguLjJhMmNhMjYgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvZWFybHkuYworKysgYi9hcmNoL3MzOTAva2VybmVsL2Vhcmx5LmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wZm4uaD4KICNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8YXNtL2ViY2RpYy5oPgogI2luY2x1ZGUgPGFzbS9pcGwuaD4KICNpbmNsdWRlIDxhc20vbG93Y29yZS5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KQEAgLTI2LDEyICsyNyw0MCBAQAogLyoKICAqIENyZWF0ZSBhIEtlcm5lbCBOU1MgaWYgdGhlIFNBVkVTWVM9IHBhcmFtZXRlciBpcyBkZWZpbmVkCiAgKi8KLSNkZWZpbmUgREVGU1lTX0NNRF9TSVpFCQk5NgorI2RlZmluZSBERUZTWVNfQ01EX1NJWkUJCTEyOAogI2RlZmluZSBTQVZFU1lTX0NNRF9TSVpFCTMyCiAKIGNoYXIga2VybmVsX25zc19uYW1lW05TU19OQU1FX1NJWkUgKyAxXTsKIAorc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RfY29tbWFuZF9saW5lKHZvaWQpOworCisKICNpZmRlZiBDT05GSUdfU0hBUkVEX0tFUk5FTAoraW50IF9faW5pdCBzYXZlc3lzX2lwbF9uc3MoY2hhciAqY21kLCBjb25zdCBpbnQgY21kbGVuKTsKKworYXNtKAorCSIJLnNlY3Rpb24gLmluaXQudGV4dCxcImF4XCIsQHByb2diaXRzXG4iCisJIgkuYWxpZ24JNFxuIgorCSIJLnR5cGUJc2F2ZXN5c19pcGxfbnNzLCBAZnVuY3Rpb25cbiIKKwkic2F2ZXN5c19pcGxfbnNzOlxuIgorI2lmZGVmIENPTkZJR182NEJJVAorCSIJc3RtZwk2LDE1LDQ4KDE1KVxuIgorCSIJbGdyCTE0LDNcbiIKKwkiCXNhbTMxXG4iCisJIglkaWFnCTIsMTQsMHg4XG4iCisJIglzYW02NFxuIgorCSIJbGdyCTIsMTRcbiIKKwkiCWxtZwk2LDE1LDQ4KDE1KVxuIgorI2Vsc2UKKwkiCXN0bQk2LDE1LDI0KDE1KVxuIgorCSIJbHIJMTQsM1xuIgorCSIJZGlhZwkyLDE0LDB4OFxuIgorCSIJbHIJMiwxNFxuIgorCSIJbG0JNiwxNSwyNCgxNSlcbiIKKyNlbmRpZgorCSIJYnIJMTRcbiIKKwkiCS5zaXplCXNhdmVzeXNfaXBsX25zcywgLi1zYXZlc3lzX2lwbF9uc3NcbiIpOworCiBzdGF0aWMgbm9pbmxpbmUgX19pbml0IHZvaWQgY3JlYXRlX2tlcm5lbF9uc3Modm9pZCkKIHsKIAl1bnNpZ25lZCBpbnQgaSwgc3RleHRfcGZuLCBlc2hhcmVkX3BmbiwgZW5kX3BmbiwgbWluX3NpemU7CkBAIC0zOSw2ICs2OCw3IEBACiAJdW5zaWduZWQgaW50IHNpbml0cmRfcGZuLCBlaW5pdHJkX3BmbjsKICNlbmRpZgogCWludCByZXNwb25zZTsKKwlzaXplX3QgbGVuOwogCWNoYXIgKnNhdmVzeXNfcHRyOwogCWNoYXIgdXBwZXJfY29tbWFuZF9saW5lW0NPTU1BTkRfTElORV9TSVpFXTsKIAljaGFyIGRlZnN5c19jbWRbREVGU1lTX0NNRF9TSVpFXTsKQEAgLTQ5LDggKzc5LDggQEAKIAkJcmV0dXJuOwogCiAJLyogQ29udmVydCBDT01NQU5EX0xJTkUgdG8gdXBwZXIgY2FzZSAqLwotCWZvciAoaSA9IDA7IGkgPCBzdHJsZW4oQ09NTUFORF9MSU5FKTsgaSsrKQotCQl1cHBlcl9jb21tYW5kX2xpbmVbaV0gPSB0b3VwcGVyKENPTU1BTkRfTElORVtpXSk7CisJZm9yIChpID0gMDsgaSA8IHN0cmxlbihib290X2NvbW1hbmRfbGluZSk7IGkrKykKKwkJdXBwZXJfY29tbWFuZF9saW5lW2ldID0gdG91cHBlcihib290X2NvbW1hbmRfbGluZVtpXSk7CiAKIAlzYXZlc3lzX3B0ciA9IHN0cnN0cih1cHBlcl9jb21tYW5kX2xpbmUsICJTQVZFU1lTPSIpOwogCkBAIC04Myw3ICsxMTMsOCBAQAogCX0KICNlbmRpZgogCi0Jc3ByaW50ZihkZWZzeXNfY21kLCAiJXMgRVcgTUlOU0laRT0lLjdpSyIsIGRlZnN5c19jbWQsIG1pbl9zaXplKTsKKwlzcHJpbnRmKGRlZnN5c19jbWQsICIlcyBFVyBNSU5TSVpFPSUuN2lLIFBBUk1SRUdTPTAtMTMiLAorCQlkZWZzeXNfY21kLCBtaW5fc2l6ZSk7CiAJc3ByaW50ZihzYXZlc3lzX2NtZCwgIlNBVkVTWVMgJXMgXG4gSVBMICVzIiwKIAkJa2VybmVsX25zc19uYW1lLCBrZXJuZWxfbnNzX25hbWUpOwogCkBAIC05NCwxMyArMTI1LDI0IEBACiAJCXJldHVybjsKIAl9CiAKLQlfX2NwY21kKHNhdmVzeXNfY21kLCBOVUxMLCAwLCAmcmVzcG9uc2UpOworCWxlbiA9IHN0cmxlbihzYXZlc3lzX2NtZCk7CisJQVNDRUJDKHNhdmVzeXNfY21kLCBsZW4pOworCXJlc3BvbnNlID0gc2F2ZXN5c19pcGxfbnNzKHNhdmVzeXNfY21kLCBsZW4pOwogCi0JaWYgKHJlc3BvbnNlICE9IHN0cmxlbihzYXZlc3lzX2NtZCkpIHsKKwkvKiBPbiBzdWNjZXNzOiByZXNwb25zZSBpcyBlcXVhbCB0byB0aGUgY29tbWFuZCBzaXplLAorCSAqCSAgICAgICBtYXggU0FWRVNZU19DTURfU0laRQorCSAqIE9uIGVycm9yOiByZXNwb25zZSBjb250YWlucyB0aGUgbnVtZXJpYyBwb3J0aW9uIG9mIGNwIGVycm9yIG1lc3NhZ2UuCisJICoJICAgICBmb3IgU0FWRVNZUyBpdCB3aWxsIGJlID49IDI2MworCSAqLworCWlmIChyZXNwb25zZSA+IFNBVkVTWVNfQ01EX1NJWkUpIHsKIAkJa2VybmVsX25zc19uYW1lWzBdID0gJ1wwJzsKIAkJcmV0dXJuOwogCX0KIAorCS8qIHJlLXNldHVwIGJvb3QgY29tbWFuZCBsaW5lIHdpdGggbmV3IGlwbCB2bSBwYXJtcyAqLworCWlwbF91cGRhdGVfcGFyYW1ldGVycygpOworCXNldHVwX2Jvb3RfY29tbWFuZF9saW5lKCk7CisKIAlpcGxfZmxhZ3MgPSBJUExfTlNTX1ZBTElEOwogfQogCkBAIC0xNDEsMTA5ICsxODMsMTEgQEAKIAlpZiAoY3B1aW5mby0+Y3B1X2lkLnZlcnNpb24gPT0gMHhmZikKIAkJbWFjaGluZV9mbGFncyB8PSBNQUNISU5FX0ZMQUdfVk07CiAKLQkvKiBSdW5uaW5nIG9uIGEgUC8zOTAgPyAqLwotCWlmIChjcHVpbmZvLT5jcHVfaWQubWFjaGluZSA9PSAweDc0OTApCi0JCW1hY2hpbmVfZmxhZ3MgfD0gTUFDSElORV9GTEFHX1AzOTA7Ci0KIAkvKiBSdW5uaW5nIHVuZGVyIEtWTSA/ICovCiAJaWYgKGNwdWluZm8tPmNwdV9pZC52ZXJzaW9uID09IDB4ZmUpCiAJCW1hY2hpbmVfZmxhZ3MgfD0gTUFDSElORV9GTEFHX0tWTTsKIH0KIAotI2lmZGVmIENPTkZJR182NEJJVAotc3RhdGljIG5vaW5saW5lIF9faW5pdCBpbnQgbWVtb3J5X2Zhc3RfZGV0ZWN0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyB2YWwwID0gMDsKLQl1bnNpZ25lZCBsb25nIHZhbDEgPSAweGM7Ci0JaW50IHJldCA9IC1FTk9TWVM7Ci0KLQlpZiAoaXBsX2ZsYWdzICYgSVBMX05TU19WQUxJRCkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0KLQlhc20gdm9sYXRpbGUoCi0JCSIJZGlhZwklMSwlMiwweDI2MFxuIgotCQkiMDoJbGhpCSUwLDBcbiIKLQkJIjE6XG4iCi0JCUVYX1RBQkxFKDBiLDFiKQotCQk6ICIrZCIgKHJldCksICIrZCIgKHZhbDApLCAiK2QiICh2YWwxKSA6IDogImNjIik7Ci0KLQlpZiAocmV0IHx8IHZhbDAgIT0gdmFsMSkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0KLQltZW1vcnlfY2h1bmtbMF0uc2l6ZSA9IHZhbDAgKyAxOwotCXJldHVybiAwOwotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgaW50IG1lbW9yeV9mYXN0X2RldGVjdCh2b2lkKQotewotCXJldHVybiAtRU5PU1lTOwotfQotI2VuZGlmCi0KLXN0YXRpYyBpbmxpbmUgX19pbml0IHVuc2lnbmVkIGxvbmcgX190cHJvdCh1bnNpZ25lZCBsb25nIGFkZHIpCi17Ci0JaW50IGNjID0gLTE7Ci0KLQlhc20gdm9sYXRpbGUoCi0JCSIJdHByb3QJMCglMSksMFxuIgotCQkiMDoJaXBtCSUwXG4iCi0JCSIJc3JsCSUwLDI4XG4iCi0JCSIxOlxuIgotCQlFWF9UQUJMRSgwYiwxYikKLQkJOiAiK2QiIChjYykgOiAiYSIgKGFkZHIpIDogImNjIik7Ci0JcmV0dXJuICh1bnNpZ25lZCBsb25nKWNjOwotfQotCi0vKiBDaGVja2luZyBtZW1vcnkgaW4gMTI4S0IgaW5jcmVtZW50cy4gKi8KLSNkZWZpbmUgQ0hVTktfSU5DUgkoMVVMIDw8IDE3KQotI2RlZmluZSBBRERSMkcJCSgxVUwgPDwgMzEpCi0KLXN0YXRpYyBub2lubGluZSBfX2luaXQgdm9pZCBmaW5kX21lbW9yeV9jaHVua3ModW5zaWduZWQgbG9uZyBtZW1zaXplKQotewotCXVuc2lnbmVkIGxvbmcgYWRkciA9IDAsIG9sZF9hZGRyID0gMDsKLQl1bnNpZ25lZCBsb25nIG9sZF9jYyA9IENIVU5LX1JFQURfV1JJVEU7Ci0JdW5zaWduZWQgbG9uZyBjYzsKLQlpbnQgY2h1bmsgPSAwOwotCi0Jd2hpbGUgKGNodW5rIDwgTUVNT1JZX0NIVU5LUykgewotCQljYyA9IF9fdHByb3QoYWRkcik7Ci0JCXdoaWxlIChjYyA9PSBvbGRfY2MpIHsKLQkJCWFkZHIgKz0gQ0hVTktfSU5DUjsKLQkJCWlmIChtZW1zaXplICYmIGFkZHIgPj0gbWVtc2l6ZSkKLQkJCQlicmVhazsKLSNpZm5kZWYgQ09ORklHXzY0QklUCi0JCQlpZiAoYWRkciA9PSBBRERSMkcpCi0JCQkJYnJlYWs7Ci0jZW5kaWYKLQkJCWNjID0gX190cHJvdChhZGRyKTsKLQkJfQotCi0JCWlmIChvbGRfYWRkciAhPSBhZGRyICYmCi0JCSAgICAob2xkX2NjID09IENIVU5LX1JFQURfV1JJVEUgfHwgb2xkX2NjID09IENIVU5LX1JFQURfT05MWSkpIHsKLQkJCW1lbW9yeV9jaHVua1tjaHVua10uYWRkciA9IG9sZF9hZGRyOwotCQkJbWVtb3J5X2NodW5rW2NodW5rXS5zaXplID0gYWRkciAtIG9sZF9hZGRyOwotCQkJbWVtb3J5X2NodW5rW2NodW5rXS50eXBlID0gb2xkX2NjOwotCQkJY2h1bmsrKzsKLQkJfQotCi0JCW9sZF9hZGRyID0gYWRkcjsKLQkJb2xkX2NjID0gY2M7Ci0KLSNpZm5kZWYgQ09ORklHXzY0QklUCi0JCWlmIChhZGRyID09IEFERFIyRykKLQkJCWJyZWFrOwotI2VuZGlmCi0JCS8qCi0JCSAqIEZpbmlzaCBtZW1vcnkgZGV0ZWN0aW9uIGF0IHRoZSBmaXJzdCBob2xlCi0JCSAqIGlmIHN0b3JhZ2Ugc2l6ZSBpcyB1bmtub3duLgotCQkgKi8KLQkJaWYgKGNjID09IC0xVUwgJiYgIW1lbXNpemUpCi0JCQlicmVhazsKLQkJaWYgKG1lbXNpemUgJiYgYWRkciA+PSBtZW1zaXplKQotCQkJYnJlYWs7Ci0JfQotfQotCiBzdGF0aWMgX19pbml0IHZvaWQgZWFybHlfcGdtX2NoZWNrX2hhbmRsZXIodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIGFkZHI7CkBAIC0zODAsMjMgKzMyNCw2MSBAQAogI2VuZGlmCiB9CiAKK3N0YXRpYyBfX2luaXQgdm9pZCByZXNjdWVfaW5pdHJkKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECisJLyoKKwkgKiBNb3ZlIHRoZSBpbml0cmQgcmlnaHQgYmVoaW5kIHRoZSBic3Mgc2VjdGlvbiBpbiBjYXNlIGl0IHN0YXJ0cworCSAqIHdpdGhpbiB0aGUgYnNzIHNlY3Rpb24uIFNvIHdlIGRvbid0IG92ZXJ3cml0ZSBpdCB3aGVuIHRoZSBic3MKKwkgKiBzZWN0aW9uIGdldHMgY2xlYXJlZC4KKwkgKi8KKwlpZiAoIUlOSVRSRF9TVEFSVCB8fCAhSU5JVFJEX1NJWkUpCisJCXJldHVybjsKKwlpZiAoSU5JVFJEX1NUQVJUID49ICh1bnNpZ25lZCBsb25nKSBfX2Jzc19zdG9wKQorCQlyZXR1cm47CisJbWVtbW92ZShfX2Jzc19zdG9wLCAodm9pZCAqKSBJTklUUkRfU1RBUlQsIElOSVRSRF9TSVpFKTsKKwlJTklUUkRfU1RBUlQgPSAodW5zaWduZWQgbG9uZykgX19ic3Nfc3RvcDsKKyNlbmRpZgorfQorCisvKiBTZXQgdXAgYm9vdCBjb21tYW5kIGxpbmUgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ib290X2NvbW1hbmRfbGluZSh2b2lkKQoreworCWNoYXIgKnBhcm0gPSBOVUxMOworCisJLyogY29weSBhcmNoIGNvbW1hbmQgbGluZSAqLworCXN0cmxjcHkoYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORSwgQVJDSF9DT01NQU5EX0xJTkVfU0laRSk7CisJYm9vdF9jb21tYW5kX2xpbmVbQVJDSF9DT01NQU5EX0xJTkVfU0laRSAtIDFdID0gMDsKKworCS8qIGFwcGVuZCBJUEwgUEFSTSBkYXRhIHRvIHRoZSBib290IGNvbW1hbmQgbGluZSAqLworCWlmIChNQUNISU5FX0lTX1ZNKSB7CisJCXBhcm0gPSBib290X2NvbW1hbmRfbGluZSArIHN0cmxlbihib290X2NvbW1hbmRfbGluZSk7CisJCSpwYXJtKysgPSAnICc7CisJCWdldF9pcGxfdm1wYXJtKHBhcm0pOworCQlpZiAocGFybVswXSA9PSAnPScpCisJCQltZW1tb3ZlKGJvb3RfY29tbWFuZF9saW5lLCBwYXJtICsgMSwgc3RybGVuKHBhcm0pKTsKKwl9Cit9CisKKwogLyoKICAqIFNhdmUgaXBsIHBhcmFtZXRlcnMsIGNsZWFyIGJzcyBtZW1vcnksIGluaXRpYWxpemUgc3RvcmFnZSBrZXlzCiAgKiBhbmQgY3JlYXRlIGEga2VybmVsIE5TUyBhdCBzdGFydHVwIGlmIHRoZSBTQVZFU1lTPSBwYXJtIGlzIGRlZmluZWQKICAqLwogdm9pZCBfX2luaXQgc3RhcnR1cF9pbml0KHZvaWQpCiB7Ci0JdW5zaWduZWQgbG9uZyBsb25nIG1lbXNpemU7Ci0KIAlpcGxfc2F2ZV9wYXJhbWV0ZXJzKCk7CisJcmVzY3VlX2luaXRyZCgpOwogCWNsZWFyX2Jzc19zZWN0aW9uKCk7CiAJaW5pdF9rZXJuZWxfc3RvcmFnZV9rZXkoKTsKIAlsb2NrZGVwX2luaXQoKTsKIAlsb2NrZGVwX29mZigpOwotCWRldGVjdF9tYWNoaW5lX3R5cGUoKTsKLQljcmVhdGVfa2VybmVsX25zcygpOwogCXNvcnRfbWFpbl9leHRhYmxlKCk7CiAJc2V0dXBfbG93Y29yZV9lYXJseSgpOworCWRldGVjdF9tYWNoaW5lX3R5cGUoKTsKKwlpcGxfdXBkYXRlX3BhcmFtZXRlcnMoKTsKKwlzZXR1cF9ib290X2NvbW1hbmRfbGluZSgpOworCWNyZWF0ZV9rZXJuZWxfbnNzKCk7CiAJZGV0ZWN0X212cGcoKTsKIAlkZXRlY3RfaWVlZSgpOwogCWRldGVjdF9jc3AoKTsKQEAgLTQwNCwxOCArMzg2LDcgQEAKIAlkZXRlY3RfZGlhZzQ0KCk7CiAJZGV0ZWN0X21hY2hpbmVfZmFjaWxpdGllcygpOwogCXNldHVwX2hwYWdlKCk7Ci0Jc2NscF9yZWFkX2luZm9fZWFybHkoKTsKIAlzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KCk7Ci0JbWVtc2l6ZSA9IHNjbHBfbWVtb3J5X2RldGVjdCgpOwotI2lmbmRlZiBDT05GSUdfNjRCSVQKLQkvKgotCSAqIENhbid0IGRlYWwgd2l0aCBtb3JlIHRoYW4gMkcgaW4gMzEgYml0IGFkZHJlc3NpbmcgbW9kZSwgc28KLQkgKiBsaW1pdCB0aGUgdmFsdWUgaW4gb3JkZXIgdG8gYXZvaWQgc3RyYW5nZSBzaWRlIGVmZmVjdHMuCi0JICovCi0JaWYgKG1lbXNpemUgPiBBRERSMkcpCi0JCW1lbXNpemUgPSBBRERSMkc7Ci0jZW5kaWYKLQlpZiAobWVtb3J5X2Zhc3RfZGV0ZWN0KCkgPCAwKQotCQlmaW5kX21lbW9yeV9jaHVua3MoKHVuc2lnbmVkIGxvbmcpIG1lbXNpemUpOworCWRldGVjdF9tZW1vcnlfbGF5b3V0KG1lbW9yeV9jaHVuayk7CiAJbG9ja2RlcF9vbigpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYyBiL2FyY2gvczM5MC9rZXJuZWwvaXBsLmMKaW5kZXggNTMyNTQyNC4uNTRiMjc3OSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYworKysgYi9hcmNoL3MzOTAva2VybmVsL2lwbC5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8YXNtL2lwbC5oPgogI2luY2x1ZGUgPGFzbS9zbXAuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KQEAgLTIyLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxhc20vZWJjZGljLmg+CiAjaW5jbHVkZSA8YXNtL3Jlc2V0Lmg+CiAjaW5jbHVkZSA8YXNtL3NjbHAuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAogI2RlZmluZSBJUExfUEFSTV9CTE9DS19WRVJTSU9OIDAKIApAQCAtMTIxLDYgKzEyMyw3IEBACiAJUkVJUExfTUVUSE9EX0ZDUF9ST19WTSwKIAlSRUlQTF9NRVRIT0RfRkNQX0RVTVAsCiAJUkVJUExfTUVUSE9EX05TUywKKwlSRUlQTF9NRVRIT0RfTlNTX0RJQUcsCiAJUkVJUExfTUVUSE9EX0RFRkFVTFQsCiB9OwogCkBAIC0xMzQsMTQgKzEzNywxNSBAQAogCiBzdGF0aWMgaW50IGRpYWczMDhfc2V0X3dvcmtzID0gMDsKIAorc3RhdGljIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrIGlwbF9ibG9jazsKKwogc3RhdGljIGludCByZWlwbF9jYXBhYmlsaXRpZXMgPSBJUExfVFlQRV9VTktOT1dOOwogCiBzdGF0aWMgZW51bSBpcGxfdHlwZSByZWlwbF90eXBlID0gSVBMX1RZUEVfVU5LTk9XTjsKIHN0YXRpYyBlbnVtIGlwbF9tZXRob2QgcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX0RFRkFVTFQ7CiBzdGF0aWMgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKnJlaXBsX2Jsb2NrX2ZjcDsKIHN0YXRpYyBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqcmVpcGxfYmxvY2tfY2N3OwotCi1zdGF0aWMgY2hhciByZWlwbF9uc3NfbmFtZVtOU1NfTkFNRV9TSVpFICsgMV07CitzdGF0aWMgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKnJlaXBsX2Jsb2NrX25zczsKIAogc3RhdGljIGludCBkdW1wX2NhcGFiaWxpdGllcyA9IERVTVBfVFlQRV9OT05FOwogc3RhdGljIGVudW0gZHVtcF90eXBlIGR1bXBfdHlwZSA9IERVTVBfVFlQRV9OT05FOwpAQCAtMjYzLDYgKzI2Nyw1NiBAQAogCiBzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19pcGxfdHlwZV9hdHRyID0gX19BVFRSX1JPKGlwbF90eXBlKTsKIAorLyogVk0gSVBMIFBBUk0gcm91dGluZXMgKi8KK3N0YXRpYyB2b2lkIHJlaXBsX2dldF9hc2NpaV92bXBhcm0oY2hhciAqZGVzdCwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQoreworCWludCBpOworCWludCBsZW4gPSAwOworCWNoYXIgaGFzX2xvd2VyY2FzZSA9IDA7CisKKwlpZiAoKGlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICYgRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRCkgJiYKKwkgICAgKGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuID4gMCkpIHsKKworCQlsZW4gPSBpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbjsKKwkJbWVtY3B5KGRlc3QsIGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sIGxlbik7CisJCS8qIElmIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIgaXMgbG93ZXJjYXNlLCB3ZSBhc3N1bWUgbWl4ZWQKKwkJICogY2FzZTsgb3RoZXJ3aXNlIHdlIGNvbnZlcnQgZXZlcnl0aGluZyB0byBsb3dlcmNhc2UuCisJCSAqLworCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCisJCQlpZiAoKGRlc3RbaV0gPiAweDgwICYmIGRlc3RbaV0gPCAweDhhKSB8fCAvKiBhLWkgKi8KKwkJCSAgICAoZGVzdFtpXSA+IDB4OTAgJiYgZGVzdFtpXSA8IDB4OWEpIHx8IC8qIGotciAqLworCQkJICAgIChkZXN0W2ldID4gMHhhMSAmJiBkZXN0W2ldIDwgMHhhYSkpIHsgLyogcy16ICovCisJCQkJaGFzX2xvd2VyY2FzZSA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCWlmICghaGFzX2xvd2VyY2FzZSkKKwkJCUVCQ19UT0xPV0VSKGRlc3QsIGxlbik7CisJCUVCQ0FTQyhkZXN0LCBsZW4pOworCX0KKwlkZXN0W2xlbl0gPSAwOworfQorCit2b2lkIGdldF9pcGxfdm1wYXJtKGNoYXIgKmRlc3QpCit7CisJaWYgKGRpYWczMDhfc2V0X3dvcmtzICYmIChpcGxfYmxvY2suaGRyLnBidCA9PSBESUFHMzA4X0lQTF9UWVBFX0NDVykpCisJCXJlaXBsX2dldF9hc2NpaV92bXBhcm0oZGVzdCwgJmlwbF9ibG9jayk7CisJZWxzZQorCQlkZXN0WzBdID0gMDsKK30KKworc3RhdGljIHNzaXplX3QgaXBsX3ZtX3Bhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJY2hhciBwYXJtW0RJQUczMDhfVk1QQVJNX1NJWkUgKyAxXSA9IHt9OworCisJZ2V0X2lwbF92bXBhcm0ocGFybSk7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCBwYXJtKTsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfaXBsX3ZtX3Bhcm1fYXR0ciA9CisJX19BVFRSKHBhcm0sIFNfSVJVR08sIGlwbF92bV9wYXJtX3Nob3csIE5VTEwpOworCiBzdGF0aWMgc3NpemVfdCBzeXNfaXBsX2RldmljZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCQkJCSAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKIHsKQEAgLTI4NSwxNCArMzM5LDggQEAKIHN0YXRpYyBzc2l6ZV90IGlwbF9wYXJhbWV0ZXJfcmVhZChzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IGJpbl9hdHRyaWJ1dGUgKmF0dHIsCiAJCQkJICBjaGFyICpidWYsIGxvZmZfdCBvZmYsIHNpemVfdCBjb3VudCkKIHsKLQl1bnNpZ25lZCBpbnQgc2l6ZSA9IElQTF9QQVJNQkxPQ0tfU0laRTsKLQotCWlmIChvZmYgPiBzaXplKQotCQlyZXR1cm4gMDsKLQlpZiAob2ZmICsgY291bnQgPiBzaXplKQotCQljb3VudCA9IHNpemUgLSBvZmY7Ci0JbWVtY3B5KGJ1ZiwgKHZvaWQgKilJUExfUEFSTUJMT0NLX1NUQVJUICsgb2ZmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBtZW1vcnlfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCAmb2ZmLCBJUExfUEFSTUJMT0NLX1NUQVJULAorCQkJCQlJUExfUEFSTUJMT0NLX1NJWkUpOwogfQogCiBzdGF0aWMgc3RydWN0IGJpbl9hdHRyaWJ1dGUgaXBsX3BhcmFtZXRlcl9hdHRyID0gewpAQCAtMzEwLDEyICszNTgsNyBAQAogCXVuc2lnbmVkIGludCBzaXplID0gSVBMX1BBUk1CTE9DS19TVEFSVC0+aXBsX2luZm8uZmNwLnNjcF9kYXRhX2xlbjsKIAl2b2lkICpzY3BfZGF0YSA9ICZJUExfUEFSTUJMT0NLX1NUQVJULT5pcGxfaW5mby5mY3Auc2NwX2RhdGE7CiAKLQlpZiAob2ZmID4gc2l6ZSkKLQkJcmV0dXJuIDA7Ci0JaWYgKG9mZiArIGNvdW50ID4gc2l6ZSkKLQkJY291bnQgPSBzaXplIC0gb2ZmOwotCW1lbWNweShidWYsIHNjcF9kYXRhICsgb2ZmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBtZW1vcnlfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCAmb2ZmLCBzY3BfZGF0YSwgc2l6ZSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSBpcGxfc2NwX2RhdGFfYXR0ciA9IHsKQEAgLTM3MCwxNSArNDEzLDI3IEBACiBzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19pcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQogCV9fQVRUUihsb2FkcGFybSwgMDQ0NCwgaXBsX2Njd19sb2FkcGFybV9zaG93LCBOVUxMKTsKIAotc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmlwbF9jY3dfYXR0cnNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcGxfY2N3X2F0dHJzX3ZtW10gPSB7CisJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCisJJnN5c19pcGxfZGV2aWNlX2F0dHIuYXR0ciwKKwkmc3lzX2lwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAorCSZzeXNfaXBsX3ZtX3Bhcm1fYXR0ci5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaXBsX2Njd19hdHRyc19scGFyW10gPSB7CiAJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCiAJJnN5c19pcGxfZGV2aWNlX2F0dHIuYXR0ciwKIAkmc3lzX2lwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAogCU5VTEwsCiB9OwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBpcGxfY2N3X2F0dHJfZ3JvdXAgPSB7Ci0JLmF0dHJzID0gaXBsX2Njd19hdHRycywKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGlwbF9jY3dfYXR0cl9ncm91cF92bSA9IHsKKwkuYXR0cnMgPSBpcGxfY2N3X2F0dHJzX3ZtLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgaXBsX2Njd19hdHRyX2dyb3VwX2xwYXIgPSB7CisJLmF0dHJzID0gaXBsX2Njd19hdHRyc19scGFyCiB9OwogCiAvKiBOU1MgaXBsIGRldmljZSBhdHRyaWJ1dGVzICovCkBAIC0zODgsNiArNDQzLDggQEAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcGxfbnNzX2F0dHJzW10gPSB7CiAJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCiAJJnN5c19pcGxfbnNzX25hbWVfYXR0ci5hdHRyLAorCSZzeXNfaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIsCisJJnN5c19pcGxfdm1fcGFybV9hdHRyLmF0dHIsCiAJTlVMTCwKIH07CiAKQEAgLTQ1MCw3ICs1MDcsMTIgQEAKIAl9CiAJc3dpdGNoIChpcGxfaW5mby50eXBlKSB7CiAJY2FzZSBJUExfVFlQRV9DQ1c6Ci0JCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZpcGxfa3NldC0+a29iaiwgJmlwbF9jY3dfYXR0cl9ncm91cCk7CisJCWlmIChNQUNISU5FX0lTX1ZNKQorCQkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmlwbF9rc2V0LT5rb2JqLAorCQkJCQkJJmlwbF9jY3dfYXR0cl9ncm91cF92bSk7CisJCWVsc2UKKwkJCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZpcGxfa3NldC0+a29iaiwKKwkJCQkJCSZpcGxfY2N3X2F0dHJfZ3JvdXBfbHBhcik7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfRkNQOgogCWNhc2UgSVBMX1RZUEVfRkNQX0RVTVA6CkBAIC00ODEsNiArNTQzLDgzIEBACiAgKiByZWlwbCBzaHV0ZG93biBhY3Rpb246IFJlYm9vdCBMaW51eCBvbiBzaHV0ZG93bi4KICAqLwogCisvKiBWTSBJUEwgUEFSTSBhdHRyaWJ1dGVzICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9nZW5lcmljX3ZtcGFybV9zaG93KHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkJCSAgY2hhciAqcGFnZSkKK3sKKwljaGFyIHZtcGFybVtESUFHMzA4X1ZNUEFSTV9TSVpFICsgMV0gPSB7fTsKKworCXJlaXBsX2dldF9hc2NpaV92bXBhcm0odm1wYXJtLCBpcGIpOworCXJldHVybiBzcHJpbnRmKHBhZ2UsICIlc1xuIiwgdm1wYXJtKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfZ2VuZXJpY192bXBhcm1fc3RvcmUoc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCQkJICBzaXplX3Qgdm1wYXJtX21heCwKKwkJCQkJICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJaW50IGksIGlwX2xlbjsKKworCS8qIGlnbm9yZSB0cmFpbGluZyBuZXdsaW5lICovCisJaXBfbGVuID0gbGVuOworCWlmICgobGVuID4gMCkgJiYgKGJ1ZltsZW4gLSAxXSA9PSAnXG4nKSkKKwkJaXBfbGVuLS07CisKKwlpZiAoaXBfbGVuID4gdm1wYXJtX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBwYXJtIGlzIHVzZWQgdG8gc3RvcmUga2VybmVsIG9wdGlvbnMsIGNoZWNrIGZvciBjb21tb24gY2hhcnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgaXBfbGVuOyBpKyspCisJCWlmICghKGlzYWxudW0oYnVmW2ldKSB8fCBpc2FzY2lpKGJ1ZltpXSkgfHwgaXNwcmludChidWZbaV0pKSkKKwkJCXJldHVybiAtRUlOVkFMOworCisJbWVtc2V0KGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sIDAsIERJQUczMDhfVk1QQVJNX1NJWkUpOworCWlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuID0gaXBfbGVuOworCWlmIChpcF9sZW4gPiAwKSB7CisJCWlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzIHw9IERJQUczMDhfVk1fRkxBR1NfVlBfVkFMSUQ7CisJCW1lbWNweShpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLCBidWYsIGlwX2xlbik7CisJCUFTQ0VCQyhpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLCBpcF9sZW4pOworCX0gZWxzZSB7CisJCWlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICY9IH5ESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEOworCX0KKworCXJldHVybiBsZW47Cit9CisKKy8qIE5TUyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9uc3Nfdm1wYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfdm1wYXJtX3Nob3cocmVpcGxfYmxvY2tfbnNzLCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX3ZtcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX3ZtcGFybV9zdG9yZShyZWlwbF9ibG9ja19uc3MsIDU2LCBidWYsIGxlbik7Cit9CisKKy8qIENDVyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfdm1wYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfdm1wYXJtX3Nob3cocmVpcGxfYmxvY2tfY2N3LCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X3ZtcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX3ZtcGFybV9zdG9yZShyZWlwbF9ibG9ja19jY3csIDY0LCBidWYsIGxlbik7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX25zc192bXBhcm1fYXR0ciA9CisJX19BVFRSKHBhcm0sIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3Nfdm1wYXJtX3Nob3csCisJCQkJCXJlaXBsX25zc192bXBhcm1fc3RvcmUpOworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X3ZtcGFybV9hdHRyID0KKwlfX0FUVFIocGFybSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX2Njd192bXBhcm1fc2hvdywKKwkJCQkJcmVpcGxfY2N3X3ZtcGFybV9zdG9yZSk7CisKIC8qIEZDUCByZWlwbCBkZXZpY2UgYXR0cmlidXRlcyAqLwogCiBERUZJTkVfSVBMX0FUVFJfUlcocmVpcGxfZmNwLCB3d3BuLCAiMHglMDE2bGx4XG4iLCAiJTAxNmxseFxuIiwKQEAgLTUxMywyNyArNjUyLDI2IEBACiBERUZJTkVfSVBMX0FUVFJfUlcocmVpcGxfY2N3LCBkZXZpY2UsICIwLjAuJTA0bGx4XG4iLCAiMC4wLiVsbHhcbiIsCiAJcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cuZGV2bm8pOwogCi1zdGF0aWMgdm9pZCByZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0oY2hhciAqbG9hZHBhcm0pCitzdGF0aWMgdm9pZCByZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0oY2hhciAqbG9hZHBhcm0sCisJCQkJICAgICBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaWJwKQogewotCW1lbWNweShsb2FkcGFybSwgJnJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sCi0JICAgICAgIExPQURQQVJNX0xFTik7CisJbWVtY3B5KGxvYWRwYXJtLCBpYnAtPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIExPQURQQVJNX0xFTik7CiAJRUJDQVNDKGxvYWRwYXJtLCBMT0FEUEFSTV9MRU4pOwogCWxvYWRwYXJtW0xPQURQQVJNX0xFTl0gPSAwOwogCXN0cnN0cmlwKGxvYWRwYXJtKTsKIH0KIAotc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X2xvYWRwYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCi0JCQkJICAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc2hvdyhzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiLAorCQkJCQkgICBjaGFyICpwYWdlKQogewogCWNoYXIgYnVmW0xPQURQQVJNX0xFTiArIDFdOwogCi0JcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGJ1Zik7CisJcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGJ1ZiwgaXBiKTsKIAlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIGJ1Zik7CiB9CiAKLXN0YXRpYyBzc2l6ZV90IHJlaXBsX2Njd19sb2FkcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKLQkJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAotCQkJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCitzdGF0aWMgc3NpemVfdCByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3N0b3JlKHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkJCSAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCiB7CiAJaW50IGksIGxwX2xlbjsKIApAQCAtNTUyLDM1ICs2OTAsMTI4IEBACiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAkvKiBpbml0aWFsaXplIGxvYWRwYXJtIHdpdGggYmxhbmtzICovCi0JbWVtc2V0KCZyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCAnICcsIExPQURQQVJNX0xFTik7CisJbWVtc2V0KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgJyAnLCBMT0FEUEFSTV9MRU4pOwogCS8qIGNvcHkgYW5kIGNvbnZlcnQgdG8gZWJjZGljICovCi0JbWVtY3B5KCZyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCBidWYsIGxwX2xlbik7Ci0JQVNDRUJDKHJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sIExPQURQQVJNX0xFTik7CisJbWVtY3B5KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgYnVmLCBscF9sZW4pOworCUFTQ0VCQyhpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIExPQURQQVJNX0xFTik7CiAJcmV0dXJuIGxlbjsKIH0KIAotc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQotCV9fQVRUUihsb2FkcGFybSwgMDY0NCwgcmVpcGxfY2N3X2xvYWRwYXJtX3Nob3csCi0JICAgICAgIHJlaXBsX2Njd19sb2FkcGFybV9zdG9yZSk7CisvKiBOU1Mgd3JhcHBlciAqLworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX2xvYWRwYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zaG93KHJlaXBsX2Jsb2NrX25zcywgcGFnZSk7Cit9CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9jY3dfYXR0cnNbXSA9IHsKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19sb2FkcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAorCQkJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc3RvcmUocmVpcGxfYmxvY2tfbnNzLCBidWYsIGxlbik7Cit9CisKKy8qIENDVyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfbG9hZHBhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3Nob3cocmVpcGxfYmxvY2tfY2N3LCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X2xvYWRwYXJtX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zdG9yZShyZWlwbF9ibG9ja19jY3csIGJ1ZiwgbGVuKTsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQorCV9fQVRUUihsb2FkcGFybSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX2Njd19sb2FkcGFybV9zaG93LAorCQkJCQkgICAgcmVpcGxfY2N3X2xvYWRwYXJtX3N0b3JlKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnJlaXBsX2Njd19hdHRyc192bVtdID0geworCSZzeXNfcmVpcGxfY2N3X2RldmljZV9hdHRyLmF0dHIsCisJJnN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAorCSZzeXNfcmVpcGxfY2N3X3ZtcGFybV9hdHRyLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9jY3dfYXR0cnNfbHBhcltdID0gewogCSZzeXNfcmVpcGxfY2N3X2RldmljZV9hdHRyLmF0dHIsCiAJJnN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAogCU5VTEwsCiB9OwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCByZWlwbF9jY3dfYXR0cl9ncm91cCA9IHsKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJlaXBsX2Njd19hdHRyX2dyb3VwX3ZtID0gewogCS5uYW1lICA9IElQTF9DQ1dfU1RSLAotCS5hdHRycyA9IHJlaXBsX2Njd19hdHRycywKKwkuYXR0cnMgPSByZWlwbF9jY3dfYXR0cnNfdm0sCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCByZWlwbF9jY3dfYXR0cl9ncm91cF9scGFyID0geworCS5uYW1lICA9IElQTF9DQ1dfU1RSLAorCS5hdHRycyA9IHJlaXBsX2Njd19hdHRyc19scGFyLAogfTsKIAogCiAvKiBOU1MgcmVpcGwgZGV2aWNlIGF0dHJpYnV0ZXMgKi8KK3N0YXRpYyB2b2lkIHJlaXBsX2dldF9hc2NpaV9uc3NfbmFtZShjaGFyICpkc3QsCisJCQkJICAgICBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQoreworCW1lbWNweShkc3QsIGlwYi0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBOU1NfTkFNRV9TSVpFKTsKKwlFQkNBU0MoZHN0LCBOU1NfTkFNRV9TSVpFKTsKKwlkc3RbTlNTX05BTUVfU0laRV0gPSAwOworfQogCi1ERUZJTkVfSVBMX0FUVFJfU1RSX1JXKHJlaXBsX25zcywgbmFtZSwgIiVzXG4iLCAiJXNcbiIsIHJlaXBsX25zc19uYW1lKTsKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19uYW1lX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCWNoYXIgbnNzX25hbWVbTlNTX05BTUVfU0laRSArIDFdID0ge307CisKKwlyZWlwbF9nZXRfYXNjaWlfbnNzX25hbWUobnNzX25hbWUsIHJlaXBsX2Jsb2NrX25zcyk7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCBuc3NfbmFtZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19uYW1lX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlpbnQgbnNzX2xlbjsKKworCS8qIGlnbm9yZSB0cmFpbGluZyBuZXdsaW5lICovCisJbnNzX2xlbiA9IGxlbjsKKwlpZiAoKGxlbiA+IDApICYmIChidWZbbGVuIC0gMV0gPT0gJ1xuJykpCisJCW5zc19sZW4tLTsKKworCWlmIChuc3NfbGVuID4gTlNTX05BTUVfU0laRSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltZW1zZXQocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIDB4NDAsIE5TU19OQU1FX1NJWkUpOworCWlmIChuc3NfbGVuID4gMCkgeworCQlyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy52bV9mbGFncyB8PQorCQkJRElBRzMwOF9WTV9GTEFHU19OU1NfVkFMSUQ7CisJCW1lbWNweShyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwgYnVmLCBuc3NfbGVuKTsKKwkJQVNDRUJDKHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBuc3NfbGVuKTsKKwkJRUJDX1RPVVBQRVIocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIG5zc19sZW4pOworCX0gZWxzZSB7CisJCXJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICY9CisJCQl+RElBRzMwOF9WTV9GTEFHU19OU1NfVkFMSUQ7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfbnNzX25hbWVfYXR0ciA9CisJX19BVFRSKG5hbWUsIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3NfbmFtZV9zaG93LAorCQkJCQlyZWlwbF9uc3NfbmFtZV9zdG9yZSk7CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX25zc19sb2FkcGFybV9hdHRyID0KKwlfX0FUVFIobG9hZHBhcm0sIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3NfbG9hZHBhcm1fc2hvdywKKwkJCQkJICAgIHJlaXBsX25zc19sb2FkcGFybV9zdG9yZSk7CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9uc3NfYXR0cnNbXSA9IHsKIAkmc3lzX3JlaXBsX25zc19uYW1lX2F0dHIuYXR0ciwKKwkmc3lzX3JlaXBsX25zc19sb2FkcGFybV9hdHRyLmF0dHIsCisJJnN5c19yZWlwbF9uc3Nfdm1wYXJtX2F0dHIuYXR0ciwKIAlOVUxMLAogfTsKIApAQCAtNjE3LDcgKzg0OCwxMCBAQAogCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfRkNQX0RVTVA7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfTlNTOgotCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfTlNTOworCQlpZiAoZGlhZzMwOF9zZXRfd29ya3MpCisJCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfTlNTX0RJQUc7CisJCWVsc2UKKwkJCXJlaXBsX21ldGhvZCA9IFJFSVBMX01FVEhPRF9OU1M7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfVU5LTk9XTjoKIAkJcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX0RFRkFVTFQ7CkBAIC02NTUsMTEgKzg4OSwzOCBAQAogCiBzdGF0aWMgc3RydWN0IGtzZXQgKnJlaXBsX2tzZXQ7CiAKK3N0YXRpYyB2b2lkIGdldF9pcGxfc3RyaW5nKGNoYXIgKmRzdCwgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCSAgIGNvbnN0IGVudW0gaXBsX21ldGhvZCBtKQoreworCWNoYXIgbG9hZHBhcm1bTE9BRFBBUk1fTEVOICsgMV0gPSB7fTsKKwljaGFyIHZtcGFybVtESUFHMzA4X1ZNUEFSTV9TSVpFICsgMV0gPSB7fTsKKwljaGFyIG5zc19uYW1lW05TU19OQU1FX1NJWkUgKyAxXSA9IHt9OworCXNpemVfdCBwb3MgPSAwOworCisJcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGxvYWRwYXJtLCBpcGIpOworCXJlaXBsX2dldF9hc2NpaV9uc3NfbmFtZShuc3NfbmFtZSwgaXBiKTsKKwlyZWlwbF9nZXRfYXNjaWlfdm1wYXJtKHZtcGFybSwgaXBiKTsKKworCXN3aXRjaCAobSkgeworCWNhc2UgUkVJUExfTUVUSE9EX0NDV19WTToKKwkJcG9zID0gc3ByaW50Zihkc3QsICJJUEwgJVggQ0xFQVIiLCBpcGItPmlwbF9pbmZvLmNjdy5kZXZubyk7CisJCWJyZWFrOworCWNhc2UgUkVJUExfTUVUSE9EX05TUzoKKwkJcG9zID0gc3ByaW50Zihkc3QsICJJUEwgJXMiLCBuc3NfbmFtZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlpZiAoc3RybGVuKGxvYWRwYXJtKSA+IDApCisJCXBvcyArPSBzcHJpbnRmKGRzdCArIHBvcywgIiBMT0FEUEFSTSAnJXMnIiwgbG9hZHBhcm0pOworCWlmIChzdHJsZW4odm1wYXJtKSA+IDApCisJCXNwcmludGYoZHN0ICsgcG9zLCAiIFBBUk0gJXMiLCB2bXBhcm0pOworfQorCiBzdGF0aWMgdm9pZCByZWlwbF9ydW4oc3RydWN0IHNodXRkb3duX3RyaWdnZXIgKnRyaWdnZXIpCiB7CiAJc3RydWN0IGNjd19kZXZfaWQgZGV2aWQ7Ci0Jc3RhdGljIGNoYXIgYnVmWzEwMF07Ci0JY2hhciBsb2FkcGFybVtMT0FEUEFSTV9MRU4gKyAxXTsKKwlzdGF0aWMgY2hhciBidWZbMTI4XTsKIAogCXN3aXRjaCAocmVpcGxfbWV0aG9kKSB7CiAJY2FzZSBSRUlQTF9NRVRIT0RfQ0NXX0NJTzoKQEAgLTY2OCwxMyArOTI5LDcgQEAKIAkJcmVpcGxfY2N3X2RldigmZGV2aWQpOwogCQlicmVhazsKIAljYXNlIFJFSVBMX01FVEhPRF9DQ1dfVk06Ci0JCXJlaXBsX2dldF9hc2NpaV9sb2FkcGFybShsb2FkcGFybSk7Ci0JCWlmIChzdHJsZW4obG9hZHBhcm0pID09IDApCi0JCQlzcHJpbnRmKGJ1ZiwgIklQTCAlWCBDTEVBUiIsCi0JCQkJcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cuZGV2bm8pOwotCQllbHNlCi0JCQlzcHJpbnRmKGJ1ZiwgIklQTCAlWCBDTEVBUiBMT0FEUEFSTSAnJXMnIiwKLQkJCQlyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5kZXZubywgbG9hZHBhcm0pOworCQlnZXRfaXBsX3N0cmluZyhidWYsIHJlaXBsX2Jsb2NrX2NjdywgUkVJUExfTUVUSE9EX0NDV19WTSk7CiAJCV9fY3BjbWQoYnVmLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUlQTF9NRVRIT0RfQ0NXX0RJQUc6CkBAIC02OTEsOCArOTQ2LDEyIEBACiAJY2FzZSBSRUlQTF9NRVRIT0RfRkNQX1JPX1ZNOgogCQlfX2NwY21kKCJJUEwiLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CisJY2FzZSBSRUlQTF9NRVRIT0RfTlNTX0RJQUc6CisJCWRpYWczMDgoRElBRzMwOF9TRVQsIHJlaXBsX2Jsb2NrX25zcyk7CisJCWRpYWczMDgoRElBRzMwOF9JUEwsIE5VTEwpOworCQlicmVhazsKIAljYXNlIFJFSVBMX01FVEhPRF9OU1M6Ci0JCXNwcmludGYoYnVmLCAiSVBMICVzIiwgcmVpcGxfbnNzX25hbWUpOworCQlnZXRfaXBsX3N0cmluZyhidWYsIHJlaXBsX2Jsb2NrX25zcywgUkVJUExfTUVUSE9EX05TUyk7CiAJCV9fY3BjbWQoYnVmLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUlQTF9NRVRIT0RfREVGQVVMVDoKQEAgLTcwNywxNiArOTY2LDM2IEBACiAJZGlzYWJsZWRfd2FpdCgodW5zaWduZWQgbG9uZykgX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IHJlaXBsX3Byb2JlKHZvaWQpCitzdGF0aWMgdm9pZCByZWlwbF9ibG9ja19jY3dfaW5pdChzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQogewotCXZvaWQgKmJ1ZmZlcjsKKwlpcGItPmhkci5sZW4gPSBJUExfUEFSTV9CTEtfQ0NXX0xFTjsKKwlpcGItPmhkci52ZXJzaW9uID0gSVBMX1BBUk1fQkxPQ0tfVkVSU0lPTjsKKwlpcGItPmhkci5ibGswX2xlbiA9IElQTF9QQVJNX0JMSzBfQ0NXX0xFTjsKKwlpcGItPmhkci5wYnQgPSBESUFHMzA4X0lQTF9UWVBFX0NDVzsKK30KIAotCWJ1ZmZlciA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuOwotCWlmIChkaWFnMzA4KERJQUczMDhfU1RPUkUsIGJ1ZmZlcikgPT0gRElBRzMwOF9SQ19PSykKLQkJZGlhZzMwOF9zZXRfd29ya3MgPSAxOwotCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylidWZmZXIpOworc3RhdGljIHZvaWQgcmVpcGxfYmxvY2tfY2N3X2ZpbGxfcGFybXMoc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYikKK3sKKwkvKiBMT0FEUEFSTSAqLworCS8qIGNoZWNrIGlmIHJlYWQgc2NwIGluZm8gd29ya2VkIGFuZCBzZXQgbG9hZHBhcm0gKi8KKwlpZiAoc2NscF9pcGxfaW5mby5pc192YWxpZCkKKwkJbWVtY3B5KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwKKwkJCQkmc2NscF9pcGxfaW5mby5sb2FkcGFybSwgTE9BRFBBUk1fTEVOKTsKKwllbHNlCisJCS8qIHJlYWQgc2NwIGluZm8gZmFpbGVkOiBzZXQgZW1wdHkgbG9hZHBhcm0gKEVCQ0RJQyBibGFua3MpICovCisJCW1lbXNldChpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIDB4NDAsIExPQURQQVJNX0xFTik7CisJaXBiLT5oZHIuZmxhZ3MgPSBESUFHMzA4X0ZMQUdTX0xQX1ZBTElEOworCisJLyogVk0gUEFSTSAqLworCWlmIChNQUNISU5FX0lTX1ZNICYmIGRpYWczMDhfc2V0X3dvcmtzICYmCisJICAgIChpcGxfYmxvY2suaXBsX2luZm8uY2N3LnZtX2ZsYWdzICYgRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRCkpIHsKKworCQlpcGItPmlwbF9pbmZvLmNjdy52bV9mbGFncyB8PSBESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEOworCQlpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbiA9CisJCQkJCWlwbF9ibG9jay5pcGxfaW5mby5jY3cudm1fcGFybV9sZW47CisJCW1lbWNweShpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLAorCQkgICAgICAgaXBsX2Jsb2NrLmlwbF9pbmZvLmNjdy52bV9wYXJtLCBESUFHMzA4X1ZNUEFSTV9TSVpFKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlaXBsX25zc19pbml0KHZvaWQpCkBAIC03MjUsMTAgKzEwMDQsMzEgQEAKIAogCWlmICghTUFDSElORV9JU19WTSkKIAkJcmV0dXJuIDA7CisKKwlyZWlwbF9ibG9ja19uc3MgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJaWYgKCFyZWlwbF9ibG9ja19uc3MpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKCFkaWFnMzA4X3NldF93b3JrcykKKwkJc3lzX3JlaXBsX25zc192bXBhcm1fYXR0ci5hdHRyLm1vZGUgPSBTX0lSVUdPOworCiAJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosICZyZWlwbF9uc3NfYXR0cl9ncm91cCk7CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7Ci0Jc3RybmNweShyZWlwbF9uc3NfbmFtZSwga2VybmVsX25zc19uYW1lLCBOU1NfTkFNRV9TSVpFICsgMSk7CisKKwlyZWlwbF9ibG9ja19jY3dfaW5pdChyZWlwbF9ibG9ja19uc3MpOworCWlmIChpcGxfaW5mby50eXBlID09IElQTF9UWVBFX05TUykgeworCQltZW1zZXQocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsCisJCQknICcsIE5TU19OQU1FX1NJWkUpOworCQltZW1jcHkocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsCisJCQlrZXJuZWxfbnNzX25hbWUsIHN0cmxlbihrZXJuZWxfbnNzX25hbWUpKTsKKwkJQVNDRUJDKHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBOU1NfTkFNRV9TSVpFKTsKKwkJcmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgfD0KKwkJCURJQUczMDhfVk1fRkxBR1NfTlNTX1ZBTElEOworCisJCXJlaXBsX2Jsb2NrX2Njd19maWxsX3Bhcm1zKHJlaXBsX2Jsb2NrX25zcyk7CisJfQorCiAJcmVpcGxfY2FwYWJpbGl0aWVzIHw9IElQTF9UWVBFX05TUzsKIAlyZXR1cm4gMDsKIH0KQEAgLTc0MCwyOCArMTA0MCwyNyBAQAogCXJlaXBsX2Jsb2NrX2NjdyA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKIAlpZiAoIXJlaXBsX2Jsb2NrX2NjdykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosICZyZWlwbF9jY3dfYXR0cl9ncm91cCk7Ci0JaWYgKHJjKSB7Ci0JCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylyZWlwbF9ibG9ja19jY3cpOwotCQlyZXR1cm4gcmM7CisKKwlpZiAoTUFDSElORV9JU19WTSkgeworCQlpZiAoIWRpYWczMDhfc2V0X3dvcmtzKQorCQkJc3lzX3JlaXBsX2Njd192bXBhcm1fYXR0ci5hdHRyLm1vZGUgPSBTX0lSVUdPOworCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmcmVpcGxfa3NldC0+a29iaiwKKwkJCQkJJnJlaXBsX2Njd19hdHRyX2dyb3VwX3ZtKTsKKwl9IGVsc2UgeworCQlpZighZGlhZzMwOF9zZXRfd29ya3MpCisJCQlzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ci5tb2RlID0gU19JUlVHTzsKKwkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosCisJCQkJCSZyZWlwbF9jY3dfYXR0cl9ncm91cF9scGFyKTsKIAl9Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIubGVuID0gSVBMX1BBUk1fQkxLX0NDV19MRU47Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIudmVyc2lvbiA9IElQTF9QQVJNX0JMT0NLX1ZFUlNJT047Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIuYmxrMF9sZW4gPSBJUExfUEFSTV9CTEswX0NDV19MRU47Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIucGJ0ID0gRElBRzMwOF9JUExfVFlQRV9DQ1c7Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIuZmxhZ3MgPSBESUFHMzA4X0ZMQUdTX0xQX1ZBTElEOwotCS8qIGNoZWNrIGlmIHJlYWQgc2NwIGluZm8gd29ya2VkIGFuZCBzZXQgbG9hZHBhcm0gKi8KLQlpZiAoc2NscF9pcGxfaW5mby5pc192YWxpZCkKLQkJbWVtY3B5KHJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sCi0JCSAgICAgICAmc2NscF9pcGxfaW5mby5sb2FkcGFybSwgTE9BRFBBUk1fTEVOKTsKLQllbHNlCi0JCS8qIHJlYWQgc2NwIGluZm8gZmFpbGVkOiBzZXQgZW1wdHkgbG9hZHBhcm0gKEVCQ0RJQyBibGFua3MpICovCi0JCW1lbXNldChyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCAweDQwLAotCQkgICAgICAgTE9BRFBBUk1fTEVOKTsKLQlpZiAoIU1BQ0hJTkVfSVNfVk0gJiYgIWRpYWczMDhfc2V0X3dvcmtzKQotCQlzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ci5tb2RlID0gU19JUlVHTzsKLQlpZiAoaXBsX2luZm8udHlwZSA9PSBJUExfVFlQRV9DQ1cpCisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlyZWlwbF9ibG9ja19jY3dfaW5pdChyZWlwbF9ibG9ja19jY3cpOworCWlmIChpcGxfaW5mby50eXBlID09IElQTF9UWVBFX0NDVykgewogCQlyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5kZXZubyA9IGlwbF9kZXZubzsKKwkJcmVpcGxfYmxvY2tfY2N3X2ZpbGxfcGFybXMocmVpcGxfYmxvY2tfY2N3KTsKKwl9CisKIAlyZWlwbF9jYXBhYmlsaXRpZXMgfD0gSVBMX1RZUEVfQ0NXOwogCXJldHVybiAwOwogfQpAQCAtMTI5OCw3ICsxNTk3LDYgQEAKIAogc3RhdGljIGludCBfX2luaXQgczM5MF9pcGxfaW5pdCh2b2lkKQogewotCXJlaXBsX3Byb2JlKCk7CiAJc2NscF9nZXRfaXBsX2luZm8oJnNjbHBfaXBsX2luZm8pOwogCXNodXRkb3duX2FjdGlvbnNfaW5pdCgpOwogCXNodXRkb3duX3RyaWdnZXJzX2luaXQoKTsKQEAgLTE0MDUsNiArMTcwMywxMiBAQAogCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwgJm9uX3BhbmljX25iKTsKIH0KIAordm9pZCBfX2luaXQgaXBsX3VwZGF0ZV9wYXJhbWV0ZXJzKHZvaWQpCit7CisJaWYgKGRpYWczMDgoRElBRzMwOF9TVE9SRSwgJmlwbF9ibG9jaykgPT0gRElBRzMwOF9SQ19PSykKKwkJZGlhZzMwOF9zZXRfd29ya3MgPSAxOworfQorCiB2b2lkIF9faW5pdCBpcGxfc2F2ZV9wYXJhbWV0ZXJzKHZvaWQpCiB7CiAJc3RydWN0IGNpb19pcGxpbmZvIGlwbGluZm87CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2twcm9iZXMuYyBiL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCmluZGV4IGVkMDRkMTMuLjI4OGFkNDkgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCkBAIC00MSwxMCArNDEsOCBAQAogCWlmIChpc19wcm9oaWJpdGVkX29wY29kZSgoa3Byb2JlX29wY29kZV90ICopIHAtPmFkZHIpKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWlmICgodW5zaWduZWQgbG9uZylwLT5hZGRyICYgMHgwMSkgewotCQlwcmludGsoIkF0dGVtcHQgdG8gcmVnaXN0ZXIga3Byb2JlIGF0IGFuIHVuYWxpZ25lZCBhZGRyZXNzXG4iKTsKKwlpZiAoKHVuc2lnbmVkIGxvbmcpcC0+YWRkciAmIDB4MDEpCiAJCXJldHVybiAtRUlOVkFMOwotCQl9CiAKIAkvKiBVc2UgdGhlIGdldF9pbnNuX3Nsb3QoKSBmYWNpbGl0eSBmb3IgY29ycmVjdG5lc3MgKi8KIAlpZiAoIShwLT5haW5zbi5pbnNuID0gZ2V0X2luc25fc2xvdCgpKSkKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvbWFjaGluZV9rZXhlYy5jIGIvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKaW5kZXggM2M3N2RkMy4uMTMxZDdlZSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKQEAgLTUyLDcgKzUyLDYgQEAKIAogdm9pZCBtYWNoaW5lX3NodXRkb3duKHZvaWQpCiB7Ci0JcHJpbnRrKEtFUk5fSU5GTyAia2V4ZWM6IG1hY2hpbmVfc2h1dGRvd24gY2FsbGVkXG4iKTsKIH0KIAogdm9pZCBtYWNoaW5lX2tleGVjKHN0cnVjdCBraW1hZ2UgKmltYWdlKQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9tZW1fZGV0ZWN0LmMgYi9hcmNoL3MzOTAva2VybmVsL21lbV9kZXRlY3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGVkN2FiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9tZW1fZGV0ZWN0LmMKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDgKKyAqICAgIEF1dGhvcihzKTogSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9pcGwuaD4KKyNpbmNsdWRlIDxhc20vc2NscC5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorCitzdGF0aWMgaW50IG1lbW9yeV9mYXN0X2RldGVjdChzdHJ1Y3QgbWVtX2NodW5rICpjaHVuaykKK3sKKwl1bnNpZ25lZCBsb25nIHZhbDAgPSAwOworCXVuc2lnbmVkIGxvbmcgdmFsMSA9IDB4YzsKKwlpbnQgcmMgPSAtRU9QTk9UU1VQUDsKKworCWlmIChpcGxfZmxhZ3MgJiBJUExfTlNTX1ZBTElEKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJYXNtIHZvbGF0aWxlKAorCQkiCWRpYWcJJTEsJTIsMHgyNjBcbiIKKwkJIjA6CWxoaQklMCwwXG4iCisJCSIxOlxuIgorCQlFWF9UQUJMRSgwYiwxYikKKwkJOiAiK2QiIChyYyksICIrZCIgKHZhbDApLCAiK2QiICh2YWwxKSA6IDogImNjIik7CisKKwlpZiAocmMgfHwgdmFsMCAhPSB2YWwxKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJY2h1bmstPnNpemUgPSB2YWwwICsgMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgdHByb3QodW5zaWduZWQgbG9uZyBhZGRyKQoreworCWludCByYyA9IC1FRkFVTFQ7CisKKwlhc20gdm9sYXRpbGUoCisJCSIJdHByb3QJMCglMSksMFxuIgorCQkiMDoJaXBtCSUwXG4iCisJCSIJc3JsCSUwLDI4XG4iCisJCSIxOlxuIgorCQlFWF9UQUJMRSgwYiwxYikKKwkJOiAiK2QiIChyYykgOiAiYSIgKGFkZHIpIDogImNjIik7CisJcmV0dXJuIHJjOworfQorCisjZGVmaW5lIEFERFIyRyAoMVVMTCA8PCAzMSkKKworc3RhdGljIHZvaWQgZmluZF9tZW1vcnlfY2h1bmtzKHN0cnVjdCBtZW1fY2h1bmsgY2h1bmtbXSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbWVtc2l6ZSwgcm5tYXgsIHJ6bTsKKwl1bnNpZ25lZCBsb25nIGFkZHIgPSAwLCBzaXplOworCWludCBpID0gMCwgdHlwZTsKKworCXJ6bSA9IHNjbHBfZ2V0X3J6bSgpOworCXJubWF4ID0gc2NscF9nZXRfcm5tYXgoKTsKKwltZW1zaXplID0gcnptICogcm5tYXg7CisJaWYgKCFyem0pCisJCXJ6bSA9IDFVTEwgPDwgMTc7CisJaWYgKHNpemVvZihsb25nKSA9PSA0KSB7CisJCXJ6bSA9IG1pbihBRERSMkcsIHJ6bSk7CisJCW1lbXNpemUgPSBtZW1zaXplID8gbWluKEFERFIyRywgbWVtc2l6ZSkgOiBBRERSMkc7CisJfQorCWRvIHsKKwkJc2l6ZSA9IDA7CisJCXR5cGUgPSB0cHJvdChhZGRyKTsKKwkJZG8geworCQkJc2l6ZSArPSByem07CisJCQlpZiAobWVtc2l6ZSAmJiBhZGRyICsgc2l6ZSA+PSBtZW1zaXplKQorCQkJCWJyZWFrOworCQl9IHdoaWxlICh0eXBlID09IHRwcm90KGFkZHIgKyBzaXplKSk7CisJCWlmICh0eXBlID09IENIVU5LX1JFQURfV1JJVEUgfHwgdHlwZSA9PSBDSFVOS19SRUFEX09OTFkpIHsKKwkJCWNodW5rW2ldLmFkZHIgPSBhZGRyOworCQkJY2h1bmtbaV0uc2l6ZSA9IHNpemU7CisJCQljaHVua1tpXS50eXBlID0gdHlwZTsKKwkJCWkrKzsKKwkJfQorCQlhZGRyICs9IHNpemU7CisJfSB3aGlsZSAoYWRkciA8IG1lbXNpemUgJiYgaSA8IE1FTU9SWV9DSFVOS1MpOworfQorCit2b2lkIGRldGVjdF9tZW1vcnlfbGF5b3V0KHN0cnVjdCBtZW1fY2h1bmsgY2h1bmtbXSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCBjcjA7CisKKwltZW1zZXQoY2h1bmssIDAsIE1FTU9SWV9DSFVOS1MgKiBzaXplb2Yoc3RydWN0IG1lbV9jaHVuaykpOworCWlmIChtZW1vcnlfZmFzdF9kZXRlY3QoJmNodW5rWzBdKSA9PSAwKQorCQlyZXR1cm47CisJLyogRGlzYWJsZSBJUlFzLCBEQVQgYW5kIGxvdyBhZGRyZXNzIHByb3RlY3Rpb24gc28gdHByb3QgZG9lcyB0aGUKKwkgKiByaWdodCB0aGluZyBhbmQgd2UgZG9uJ3QgZ2V0IHNjaGVkdWxlZCBhd2F5IHdpdGggbG93IGFkZHJlc3MKKwkgKiBwcm90ZWN0aW9uIGRpc2FibGVkLgorCSAqLworCWZsYWdzID0gX19yYXdfbG9jYWxfaXJxX3N0bnNtKDB4ZjgpOworCV9fY3RsX3N0b3JlKGNyMCwgMCwgMCk7CisJX19jdGxfY2xlYXJfYml0KDAsIDI4KTsKKwlmaW5kX21lbW9yeV9jaHVua3MoY2h1bmspOworCV9fY3RsX2xvYWQoY3IwLCAwLCAwKTsKKwlfX3Jhd19sb2NhbF9pcnFfc3NtKGZsYWdzKTsKK30KK0VYUE9SVF9TWU1CT0woZGV0ZWN0X21lbW9yeV9sYXlvdXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYwppbmRleCA3OTIwODYxLi44NWRlZmQwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYwpAQCAtNzUsNDYgKzc1LDE5IEBACiAJcmV0dXJuIHNmLT5ncHJzWzhdOwogfQogCi0vKgotICogTmVlZCB0byBrbm93IGFib3V0IENQVXMgZ29pbmcgaWRsZT8KLSAqLwotc3RhdGljIEFUT01JQ19OT1RJRklFUl9IRUFEKGlkbGVfY2hhaW4pOwogREVGSU5FX1BFUl9DUFUoc3RydWN0IHMzOTBfaWRsZV9kYXRhLCBzMzkwX2lkbGUpOwogCi1pbnQgcmVnaXN0ZXJfaWRsZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQotewotCXJldHVybiBhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJmlkbGVfY2hhaW4sIG5iKTsKLX0KLUVYUE9SVF9TWU1CT0wocmVnaXN0ZXJfaWRsZV9ub3RpZmllcik7Ci0KLWludCB1bnJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKLXsKLQlyZXR1cm4gYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJmlkbGVfY2hhaW4sIG5iKTsKLX0KLUVYUE9SVF9TWU1CT0wodW5yZWdpc3Rlcl9pZGxlX25vdGlmaWVyKTsKLQogc3RhdGljIGludCBzMzkwX2lkbGVfZW50ZXIodm9pZCkKIHsKIAlzdHJ1Y3QgczM5MF9pZGxlX2RhdGEgKmlkbGU7Ci0JaW50IG5yX2NhbGxzID0gMDsKLQl2b2lkICpoY3B1OwotCWludCByYzsKIAotCWhjcHUgPSAodm9pZCAqKShsb25nKXNtcF9wcm9jZXNzb3JfaWQoKTsKLQlyYyA9IF9fYXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4oJmlkbGVfY2hhaW4sIFMzOTBfQ1BVX0lETEUsIGhjcHUsIC0xLAotCQkJCQkgICZucl9jYWxscyk7Ci0JaWYgKHJjID09IE5PVElGWV9CQUQpIHsKLQkJbnJfY2FsbHMtLTsKLQkJX19hdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaWRsZV9jaGFpbiwgUzM5MF9DUFVfTk9UX0lETEUsCi0JCQkJCSAgICAgaGNwdSwgbnJfY2FsbHMsIE5VTEwpOwotCQlyZXR1cm4gcmM7Ci0JfQogCWlkbGUgPSAmX19nZXRfY3B1X3ZhcihzMzkwX2lkbGUpOwogCXNwaW5fbG9jaygmaWRsZS0+bG9jayk7CiAJaWRsZS0+aWRsZV9jb3VudCsrOwogCWlkbGUtPmluX2lkbGUgPSAxOwogCWlkbGUtPmlkbGVfZW50ZXIgPSBnZXRfY2xvY2soKTsKIAlzcGluX3VubG9jaygmaWRsZS0+bG9jayk7CisJdnRpbWVfc3RvcF9jcHVfdGltZXIoKTsKIAlyZXR1cm4gTk9USUZZX09LOwogfQogCkBAIC0xMjIsMTMgKzk1LDEyIEBACiB7CiAJc3RydWN0IHMzOTBfaWRsZV9kYXRhICppZGxlOwogCisJdnRpbWVfc3RhcnRfY3B1X3RpbWVyKCk7CiAJaWRsZSA9ICZfX2dldF9jcHVfdmFyKHMzOTBfaWRsZSk7CiAJc3Bpbl9sb2NrKCZpZGxlLT5sb2NrKTsKIAlpZGxlLT5pZGxlX3RpbWUgKz0gZ2V0X2Nsb2NrKCkgLSBpZGxlLT5pZGxlX2VudGVyOwogCWlkbGUtPmluX2lkbGUgPSAwOwogCXNwaW5fdW5sb2NrKCZpZGxlLT5sb2NrKTsKLQlhdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaWRsZV9jaGFpbiwgUzM5MF9DUFVfTk9UX0lETEUsCi0JCQkJICAgKHZvaWQgKikobG9uZykgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIH0KIAogZXh0ZXJuIHZvaWQgczM5MF9oYW5kbGVfbWNjayh2b2lkKTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvcHRyYWNlLmMgYi9hcmNoL3MzOTAva2VybmVsL3B0cmFjZS5jCmluZGV4IDM1ODI3YjkuLjI4MTViZmUgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvcHRyYWNlLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9wdHJhY2UuYwpAQCAtMzMsNiArMzMsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvYXVkaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9lbGYuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWdzZXQuaD4KIAogI2luY2x1ZGUgPGFzbS9zZWdtZW50Lmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KQEAgLTQ3LDYgKzQ5LDExIEBACiAjaW5jbHVkZSAiY29tcGF0X3B0cmFjZS5oIgogI2VuZGlmCiAKK2VudW0gczM5MF9yZWdzZXQgeworCVJFR1NFVF9HRU5FUkFMLAorCVJFR1NFVF9GUCwKK307CisKIHN0YXRpYyB2b2lkCiBGaXhQZXJSZWdpc3RlcnMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQogewpAQCAtMTI2LDI0ICsxMzMsMTAgQEAKICAqIHN0cnVjdCB1c2VyIGNvbnRhaW4gcGFkIGJ5dGVzIHRoYXQgc2hvdWxkIGJlIHJlYWQgYXMgemVyb2VzLgogICogTG92ZWx5Li4uCiAgKi8KLXN0YXRpYyBpbnQKLXBlZWtfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX3BlZWtfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkcikKIHsKIAlzdHJ1Y3QgdXNlciAqZHVtbXkgPSBOVUxMOwotCWFkZHJfdCBvZmZzZXQsIHRtcCwgbWFzazsKLQotCS8qCi0JICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAotCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwuLi4KLQkgKi8KLQltYXNrID0gX19BRERSX01BU0s7Ci0jaWZkZWYgQ09ORklHXzY0QklUCi0JaWYgKGFkZHIgPj0gKGFkZHJfdCkgJmR1bW15LT5yZWdzLmFjcnMgJiYKLQkgICAgYWRkciA8IChhZGRyX3QpICZkdW1teS0+cmVncy5vcmlnX2dwcjIpCi0JCW1hc2sgPSAzOwotI2VuZGlmCi0JaWYgKChhZGRyICYgbWFzaykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSBfX0FERFJfTUFTSykKLQkJcmV0dXJuIC1FSU87CisJYWRkcl90IG9mZnNldCwgdG1wOwogCiAJaWYgKGFkZHIgPCAoYWRkcl90KSAmZHVtbXktPnJlZ3MuYWNycykgewogCQkvKgpAQCAtMTk3LDI0ICsxOTAsMTggQEAKIAl9IGVsc2UKIAkJdG1wID0gMDsKIAotCXJldHVybiBwdXRfdXNlcih0bXAsIChhZGRyX3QgX191c2VyICopIGRhdGEpOworCXJldHVybiB0bXA7CiB9CiAKLS8qCi0gKiBXcml0ZSBhIHdvcmQgdG8gdGhlIHVzZXIgYXJlYSBvZiBhIHByb2Nlc3MgYXQgbG9jYXRpb24gYWRkci4gVGhpcwotICogb3BlcmF0aW9uIGRvZXMgaGF2ZSBhbiBhZGRpdGlvbmFsIHByb2JsZW0gY29tcGFyZWQgdG8gcGVla191c2VyLgotICogU3RvcmVzIHRvIHRoZSBwcm9ncmFtIHN0YXR1cyB3b3JkIGFuZCBvbiB0aGUgZmxvYXRpbmcgcG9pbnQKLSAqIGNvbnRyb2wgcmVnaXN0ZXIgbmVlZHMgdG8gZ2V0IGNoZWNrZWQgZm9yIHZhbGlkaXR5LgotICovCiBzdGF0aWMgaW50Ci1wb2tlX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQorcGVla191c2VyKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKIHsKIAlzdHJ1Y3QgdXNlciAqZHVtbXkgPSBOVUxMOwotCWFkZHJfdCBvZmZzZXQsIG1hc2s7CisJYWRkcl90IHRtcCwgbWFzazsKIAogCS8qCiAJICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAotCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwgaW5kZWVkLi4uCisJICogYW4gYWxpZ25tZW50IG9mIDQuIFByb2dyYW1tZXJzIGZyb20gaGVsbC4uLgogCSAqLwogCW1hc2sgPSBfX0FERFJfTUFTSzsKICNpZmRlZiBDT05GSUdfNjRCSVQKQEAgLTIyNSw2ICsyMTIsMjEgQEAKIAlpZiAoKGFkZHIgJiBtYXNrKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyKSAtIF9fQUREUl9NQVNLKQogCQlyZXR1cm4gLUVJTzsKIAorCXRtcCA9IF9fcGVla191c2VyKGNoaWxkLCBhZGRyKTsKKwlyZXR1cm4gcHV0X3VzZXIodG1wLCAoYWRkcl90IF9fdXNlciAqKSBkYXRhKTsKK30KKworLyoKKyAqIFdyaXRlIGEgd29yZCB0byB0aGUgdXNlciBhcmVhIG9mIGEgcHJvY2VzcyBhdCBsb2NhdGlvbiBhZGRyLiBUaGlzCisgKiBvcGVyYXRpb24gZG9lcyBoYXZlIGFuIGFkZGl0aW9uYWwgcHJvYmxlbSBjb21wYXJlZCB0byBwZWVrX3VzZXIuCisgKiBTdG9yZXMgdG8gdGhlIHByb2dyYW0gc3RhdHVzIHdvcmQgYW5kIG9uIHRoZSBmbG9hdGluZyBwb2ludAorICogY29udHJvbCByZWdpc3RlciBuZWVkcyB0byBnZXQgY2hlY2tlZCBmb3IgdmFsaWRpdHkuCisgKi8KK3N0YXRpYyBpbnQgX19wb2tlX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCXN0cnVjdCB1c2VyICpkdW1teSA9IE5VTEw7CisJYWRkcl90IG9mZnNldDsKKwogCWlmIChhZGRyIDwgKGFkZHJfdCkgJmR1bW15LT5yZWdzLmFjcnMpIHsKIAkJLyoKIAkJICogcHN3IGFuZCBncHJzIGFyZSBzdG9yZWQgb24gdGhlIHN0YWNrCkBAIC0yOTIsNiArMjk0LDI4IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQKK3Bva2VfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCit7CisJc3RydWN0IHVzZXIgKmR1bW15ID0gTlVMTDsKKwlhZGRyX3QgbWFzazsKKworCS8qCisJICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAorCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwgaW5kZWVkLi4uCisJICovCisJbWFzayA9IF9fQUREUl9NQVNLOworI2lmZGVmIENPTkZJR182NEJJVAorCWlmIChhZGRyID49IChhZGRyX3QpICZkdW1teS0+cmVncy5hY3JzICYmCisJICAgIGFkZHIgPCAoYWRkcl90KSAmZHVtbXktPnJlZ3Mub3JpZ19ncHIyKQorCQltYXNrID0gMzsKKyNlbmRpZgorCWlmICgoYWRkciAmIG1hc2spIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gX19BRERSX01BU0spCisJCXJldHVybiAtRUlPOworCisJcmV0dXJuIF9fcG9rZV91c2VyKGNoaWxkLCBhZGRyLCBkYXRhKTsKK30KKwogbG9uZyBhcmNoX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBsb25nIHJlcXVlc3QsIGxvbmcgYWRkciwgbG9uZyBkYXRhKQogewogCXB0cmFjZV9hcmVhIHBhcmVhOyAKQEAgLTM2NywxOCArMzkxLDEzIEBACiAvKgogICogU2FtZSBhcyBwZWVrX3VzZXIgYnV0IGZvciBhIDMxIGJpdCBwcm9ncmFtLgogICovCi1zdGF0aWMgaW50Ci1wZWVrX3VzZXJfZW11MzEoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQorc3RhdGljIHUzMiBfX3BlZWtfdXNlcl9jb21wYXQoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIpCiB7CiAJc3RydWN0IHVzZXIzMiAqZHVtbXkzMiA9IE5VTEw7CiAJcGVyX3N0cnVjdDMyICpkdW1teV9wZXIzMiA9IE5VTEw7CiAJYWRkcl90IG9mZnNldDsKIAlfX3UzMiB0bXA7CiAKLQlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElGXzMxQklUKSB8fAotCSAgICAoYWRkciAmIDMpIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gMykKLQkJcmV0dXJuIC1FSU87Ci0KIAlpZiAoYWRkciA8IChhZGRyX3QpICZkdW1teTMyLT5yZWdzLmFjcnMpIHsKIAkJLyoKIAkJICogcHN3IGFuZCBncHJzIGFyZSBzdG9yZWQgb24gdGhlIHN0YWNrCkBAIC00MzUsMjUgKzQ1NCwzMiBAQAogCX0gZWxzZQogCQl0bXAgPSAwOwogCisJcmV0dXJuIHRtcDsKK30KKworc3RhdGljIGludCBwZWVrX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCV9fdTMyIHRtcDsKKworCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpIHx8CisJICAgIChhZGRyICYgMykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSAzKQorCQlyZXR1cm4gLUVJTzsKKworCXRtcCA9IF9fcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkcik7CiAJcmV0dXJuIHB1dF91c2VyKHRtcCwgKF9fdTMyIF9fdXNlciAqKSBkYXRhKTsKIH0KIAogLyoKICAqIFNhbWUgYXMgcG9rZV91c2VyIGJ1dCBmb3IgYSAzMSBiaXQgcHJvZ3JhbS4KICAqLwotc3RhdGljIGludAotcG9rZV91c2VyX2VtdTMxKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3N0YXRpYyBpbnQgX19wb2tlX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgICBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCiB7CiAJc3RydWN0IHVzZXIzMiAqZHVtbXkzMiA9IE5VTEw7CiAJcGVyX3N0cnVjdDMyICpkdW1teV9wZXIzMiA9IE5VTEw7CisJX191MzIgdG1wID0gKF9fdTMyKSBkYXRhOwogCWFkZHJfdCBvZmZzZXQ7Ci0JX191MzIgdG1wOwotCi0JaWYgKCF0ZXN0X3RocmVhZF9mbGFnKFRJRl8zMUJJVCkgfHwKLQkgICAgKGFkZHIgJiAzKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyMzIpIC0gMykKLQkJcmV0dXJuIC1FSU87Ci0KLQl0bXAgPSAoX191MzIpIGRhdGE7CiAKIAlpZiAoYWRkciA8IChhZGRyX3QpICZkdW1teTMyLT5yZWdzLmFjcnMpIHsKIAkJLyoKQEAgLTUyOCw2ICs1NTQsMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBwb2tlX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpIHx8CisJICAgIChhZGRyICYgMykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcjMyKSAtIDMpCisJCXJldHVybiAtRUlPOworCisJcmV0dXJuIF9fcG9rZV91c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7Cit9CisKIGxvbmcgY29tcGF0X2FyY2hfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGNvbXBhdF9sb25nX3QgcmVxdWVzdCwKIAkJCWNvbXBhdF91bG9uZ190IGNhZGRyLCBjb21wYXRfdWxvbmdfdCBjZGF0YSkKIHsKQEAgLTUzOSwxMSArNTc1LDExIEBACiAJc3dpdGNoIChyZXF1ZXN0KSB7CiAJY2FzZSBQVFJBQ0VfUEVFS1VTUjoKIAkJLyogcmVhZCB0aGUgd29yZCBhdCBsb2NhdGlvbiBhZGRyIGluIHRoZSBVU0VSIGFyZWEuICovCi0JCXJldHVybiBwZWVrX3VzZXJfZW11MzEoY2hpbGQsIGFkZHIsIGRhdGEpOworCQlyZXR1cm4gcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7CiAKIAljYXNlIFBUUkFDRV9QT0tFVVNSOgogCQkvKiB3cml0ZSB0aGUgd29yZCBhdCBsb2NhdGlvbiBhZGRyIGluIHRoZSBVU0VSIGFyZWEgKi8KLQkJcmV0dXJuIHBva2VfdXNlcl9lbXUzMShjaGlsZCwgYWRkciwgZGF0YSk7CisJCXJldHVybiBwb2tlX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCBkYXRhKTsKIAogCWNhc2UgUFRSQUNFX1BFRUtVU1JfQVJFQToKIAljYXNlIFBUUkFDRV9QT0tFVVNSX0FSRUE6CkBAIC01NTUsMTMgKzU5MSwxMyBAQAogCQljb3BpZWQgPSAwOwogCQl3aGlsZSAoY29waWVkIDwgcGFyZWEubGVuKSB7CiAJCQlpZiAocmVxdWVzdCA9PSBQVFJBQ0VfUEVFS1VTUl9BUkVBKQotCQkJCXJldCA9IHBlZWtfdXNlcl9lbXUzMShjaGlsZCwgYWRkciwgZGF0YSk7CisJCQkJcmV0ID0gcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7CiAJCQllbHNlIHsKIAkJCQlfX3UzMiB1dG1wOwogCQkJCWlmIChnZXRfdXNlcih1dG1wLAogCQkJCQkgICAgIChfX3UzMiBfX2ZvcmNlIF9fdXNlciAqKSBkYXRhKSkKIAkJCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCQkJcmV0ID0gcG9rZV91c2VyX2VtdTMxKGNoaWxkLCBhZGRyLCB1dG1wKTsKKwkJCQlyZXQgPSBwb2tlX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCB1dG1wKTsKIAkJCX0KIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKQEAgLTYxMCwzICs2NDYsMjQwIEBACiAJCQkJICAgIHJlZ3MtPmdwcnNbMl0sIHJlZ3MtPm9yaWdfZ3ByMiwgcmVncy0+Z3Byc1szXSwKIAkJCQkgICAgcmVncy0+Z3Byc1s0XSwgcmVncy0+Z3Byc1s1XSk7CiB9CisKKy8qCisgKiB1c2VyX3JlZ3NldCBkZWZpbml0aW9ucy4KKyAqLworCitzdGF0aWMgaW50IHMzOTBfcmVnc19nZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsCisJCQkgdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LAorCQkJIHZvaWQgKmtidWYsIHZvaWQgX191c2VyICp1YnVmKQoreworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCWlmIChrYnVmKSB7CisJCXVuc2lnbmVkIGxvbmcgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQkqaysrID0gX19wZWVrX3VzZXIodGFyZ2V0LCBwb3MpOworCQkJY291bnQgLT0gc2l6ZW9mKCprKTsKKwkJCXBvcyArPSBzaXplb2YoKmspOworCQl9CisJfSBlbHNlIHsKKwkJdW5zaWduZWQgbG9uZyBfX3VzZXIgKnUgPSB1YnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQlpZiAoX19wdXRfdXNlcihfX3BlZWtfdXNlcih0YXJnZXQsIHBvcyksIHUrKykpCisJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQljb3VudCAtPSBzaXplb2YoKnUpOworCQkJcG9zICs9IHNpemVvZigqdSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczM5MF9yZWdzX3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwKKwkJCSB1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQgY291bnQsCisJCQkgY29uc3Qgdm9pZCAqa2J1ZiwgY29uc3Qgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaW50IHJjID0gMDsKKworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCWlmIChrYnVmKSB7CisJCWNvbnN0IHVuc2lnbmVkIGxvbmcgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwICYmICFyYykgeworCQkJcmMgPSBfX3Bva2VfdXNlcih0YXJnZXQsIHBvcywgKmsrKyk7CisJCQljb3VudCAtPSBzaXplb2YoKmspOworCQkJcG9zICs9IHNpemVvZigqayk7CisJCX0KKwl9IGVsc2UgeworCQljb25zdCB1bnNpZ25lZCBsb25nICBfX3VzZXIgKnUgPSB1YnVmOworCQl3aGlsZSAoY291bnQgPiAwICYmICFyYykgeworCQkJdW5zaWduZWQgbG9uZyB3b3JkOworCQkJcmMgPSBfX2dldF91c2VyKHdvcmQsIHUrKyk7CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisJCQlyYyA9IF9fcG9rZV91c2VyKHRhcmdldCwgcG9zLCB3b3JkKTsKKwkJCWNvdW50IC09IHNpemVvZigqdSk7CisJCQlwb3MgKz0gc2l6ZW9mKCp1KTsKKwkJfQorCX0KKworCWlmIChyYyA9PSAwICYmIHRhcmdldCA9PSBjdXJyZW50KQorCQlyZXN0b3JlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHMzOTBfZnByZWdzX2dldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSAgIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LCB1bnNpZ25lZCBpbnQgcG9zLAorCQkJICAgdW5zaWduZWQgaW50IGNvdW50LCB2b2lkICprYnVmLCB2b2lkIF9fdXNlciAqdWJ1ZikKK3sKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfZnBfcmVncygmdGFyZ2V0LT50aHJlYWQuZnBfcmVncyk7CisKKwlyZXR1cm4gdXNlcl9yZWdzZXRfY29weW91dCgmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwKKwkJCQkgICAmdGFyZ2V0LT50aHJlYWQuZnBfcmVncywgMCwgLTEpOworfQorCitzdGF0aWMgaW50IHMzOTBfZnByZWdzX3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSAgIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LCB1bnNpZ25lZCBpbnQgcG9zLAorCQkJICAgdW5zaWduZWQgaW50IGNvdW50LCBjb25zdCB2b2lkICprYnVmLAorCQkJICAgY29uc3Qgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaW50IHJjID0gMDsKKworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9mcF9yZWdzKCZ0YXJnZXQtPnRocmVhZC5mcF9yZWdzKTsKKworCS8qIElmIHNldHRpbmcgRlBDLCBtdXN0IHZhbGlkYXRlIGl0IGZpcnN0LiAqLworCWlmIChjb3VudCA+IDAgJiYgcG9zIDwgb2Zmc2V0b2YoczM5MF9mcF9yZWdzLCBmcHJzKSkgeworCQl1MzIgZnBjWzJdID0geyB0YXJnZXQtPnRocmVhZC5mcF9yZWdzLmZwYywgMCB9OworCQlyYyA9IHVzZXJfcmVnc2V0X2NvcHlpbigmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwgJmZwYywKKwkJCQkJMCwgb2Zmc2V0b2YoczM5MF9mcF9yZWdzLCBmcHJzKSk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJaWYgKChmcGNbMF0gJiB+RlBDX1ZBTElEX01BU0spICE9IDAgfHwgZnBjWzFdICE9IDApCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJdGFyZ2V0LT50aHJlYWQuZnBfcmVncy5mcGMgPSBmcGNbMF07CisJfQorCisJaWYgKHJjID09IDAgJiYgY291bnQgPiAwKQorCQlyYyA9IHVzZXJfcmVnc2V0X2NvcHlpbigmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwKKwkJCQkJdGFyZ2V0LT50aHJlYWQuZnBfcmVncy5mcHJzLAorCQkJCQlvZmZzZXRvZihzMzkwX2ZwX3JlZ3MsIGZwcnMpLCAtMSk7CisKKwlpZiAocmMgPT0gMCAmJiB0YXJnZXQgPT0gY3VycmVudCkKKwkJcmVzdG9yZV9mcF9yZWdzKCZ0YXJnZXQtPnRocmVhZC5mcF9yZWdzKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCBzMzkwX3JlZ3NldHNbXSA9IHsKKwlbUkVHU0VUX0dFTkVSQUxdID0geworCQkuY29yZV9ub3RlX3R5cGUgPSBOVF9QUlNUQVRVUywKKwkJLm4gPSBzaXplb2YoczM5MF9yZWdzKSAvIHNpemVvZihsb25nKSwKKwkJLnNpemUgPSBzaXplb2YobG9uZyksCisJCS5hbGlnbiA9IHNpemVvZihsb25nKSwKKwkJLmdldCA9IHMzOTBfcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX3JlZ3Nfc2V0LAorCX0sCisJW1JFR1NFVF9GUF0gPSB7CisJCS5jb3JlX25vdGVfdHlwZSA9IE5UX1BSRlBSRUcsCisJCS5uID0gc2l6ZW9mKHMzOTBfZnBfcmVncykgLyBzaXplb2YobG9uZyksCisJCS5zaXplID0gc2l6ZW9mKGxvbmcpLAorCQkuYWxpZ24gPSBzaXplb2YobG9uZyksCisJCS5nZXQgPSBzMzkwX2ZwcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX2ZwcmVnc19zZXQsCisJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyB1c2VyX3MzOTBfdmlldyA9IHsKKwkubmFtZSA9IFVUU19NQUNISU5FLAorCS5lX21hY2hpbmUgPSBFTV9TMzkwLAorCS5yZWdzZXRzID0gczM5MF9yZWdzZXRzLAorCS5uID0gQVJSQVlfU0laRShzMzkwX3JlZ3NldHMpCit9OworCisjaWZkZWYgQ09ORklHX0NPTVBBVAorc3RhdGljIGludCBzMzkwX2NvbXBhdF9yZWdzX2dldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCQljb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwKKwkJCQl1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQgY291bnQsCisJCQkJdm9pZCAqa2J1Ziwgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaWYgKHRhcmdldCA9PSBjdXJyZW50KQorCQlzYXZlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJaWYgKGtidWYpIHsKKwkJY29tcGF0X3Vsb25nX3QgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQkqaysrID0gX19wZWVrX3VzZXJfY29tcGF0KHRhcmdldCwgcG9zKTsKKwkJCWNvdW50IC09IHNpemVvZigqayk7CisJCQlwb3MgKz0gc2l6ZW9mKCprKTsKKwkJfQorCX0gZWxzZSB7CisJCWNvbXBhdF91bG9uZ190IF9fdXNlciAqdSA9IHVidWY7CisJCXdoaWxlIChjb3VudCA+IDApIHsKKwkJCWlmIChfX3B1dF91c2VyKF9fcGVla191c2VyX2NvbXBhdCh0YXJnZXQsIHBvcyksIHUrKykpCisJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQljb3VudCAtPSBzaXplb2YoKnUpOworCQkJcG9zICs9IHNpemVvZigqdSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczM5MF9jb21wYXRfcmVnc19zZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkJY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsCisJCQkJdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LAorCQkJCWNvbnN0IHZvaWQgKmtidWYsIGNvbnN0IHZvaWQgX191c2VyICp1YnVmKQoreworCWludCByYyA9IDA7CisKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfYWNjZXNzX3JlZ3ModGFyZ2V0LT50aHJlYWQuYWNycyk7CisKKwlpZiAoa2J1ZikgeworCQljb25zdCBjb21wYXRfdWxvbmdfdCAqayA9IGtidWY7CisJCXdoaWxlIChjb3VudCA+IDAgJiYgIXJjKSB7CisJCQlyYyA9IF9fcG9rZV91c2VyX2NvbXBhdCh0YXJnZXQsIHBvcywgKmsrKyk7CisJCQljb3VudCAtPSBzaXplb2YoKmspOworCQkJcG9zICs9IHNpemVvZigqayk7CisJCX0KKwl9IGVsc2UgeworCQljb25zdCBjb21wYXRfdWxvbmdfdCAgX191c2VyICp1ID0gdWJ1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCAmJiAhcmMpIHsKKwkJCWNvbXBhdF91bG9uZ190IHdvcmQ7CisJCQlyYyA9IF9fZ2V0X3VzZXIod29yZCwgdSsrKTsKKwkJCWlmIChyYykKKwkJCQlicmVhazsKKwkJCXJjID0gX19wb2tlX3VzZXJfY29tcGF0KHRhcmdldCwgcG9zLCB3b3JkKTsKKwkJCWNvdW50IC09IHNpemVvZigqdSk7CisJCQlwb3MgKz0gc2l6ZW9mKCp1KTsKKwkJfQorCX0KKworCWlmIChyYyA9PSAwICYmIHRhcmdldCA9PSBjdXJyZW50KQorCQlyZXN0b3JlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0IHMzOTBfY29tcGF0X3JlZ3NldHNbXSA9IHsKKwlbUkVHU0VUX0dFTkVSQUxdID0geworCQkuY29yZV9ub3RlX3R5cGUgPSBOVF9QUlNUQVRVUywKKwkJLm4gPSBzaXplb2YoczM5MF9jb21wYXRfcmVncykgLyBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5zaXplID0gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuYWxpZ24gPSBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5nZXQgPSBzMzkwX2NvbXBhdF9yZWdzX2dldCwKKwkJLnNldCA9IHMzOTBfY29tcGF0X3JlZ3Nfc2V0LAorCX0sCisJW1JFR1NFVF9GUF0gPSB7CisJCS5jb3JlX25vdGVfdHlwZSA9IE5UX1BSRlBSRUcsCisJCS5uID0gc2l6ZW9mKHMzOTBfZnBfcmVncykgLyBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5zaXplID0gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuYWxpZ24gPSBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5nZXQgPSBzMzkwX2ZwcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX2ZwcmVnc19zZXQsCisJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyB1c2VyX3MzOTBfY29tcGF0X3ZpZXcgPSB7CisJLm5hbWUgPSAiczM5MCIsCisJLmVfbWFjaGluZSA9IEVNX1MzOTAsCisJLnJlZ3NldHMgPSBzMzkwX2NvbXBhdF9yZWdzZXRzLAorCS5uID0gQVJSQVlfU0laRShzMzkwX2NvbXBhdF9yZWdzZXRzKQorfTsKKyNlbmRpZgorCitjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyAqdGFza191c2VyX3JlZ3NldF92aWV3KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKK3sKKyNpZmRlZiBDT05GSUdfQ09NUEFUCisJaWYgKHRlc3RfdHNrX3RocmVhZF9mbGFnKHRhc2ssIFRJRl8zMUJJVCkpCisJCXJldHVybiAmdXNlcl9zMzkwX2NvbXBhdF92aWV3OworI2VuZGlmCisJcmV0dXJuICZ1c2VyX3MzOTBfdmlldzsKK30KZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvc2V0dXAuYyBiL2FyY2gvczM5MC9rZXJuZWwvc2V0dXAuYwppbmRleCAyYmM3MGI2Li5iMzU4ZTE4IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3NldHVwLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9zZXR1cC5jCkBAIC03Nyw3ICs3Nyw3IEBACiB1bnNpZ25lZCBsb25nIGVsZl9od2NhcCA9IDA7CiBjaGFyIGVsZl9wbGF0Zm9ybVtFTEZfUExBVEZPUk1fU0laRV07CiAKLXN0cnVjdCBtZW1fY2h1bmsgX19tZW1pbml0ZGF0YSBtZW1vcnlfY2h1bmtbTUVNT1JZX0NIVU5LU107CitzdHJ1Y3QgbWVtX2NodW5rIF9faW5pdGRhdGEgbWVtb3J5X2NodW5rW01FTU9SWV9DSFVOS1NdOwogdm9sYXRpbGUgaW50IF9fY3B1X2xvZ2ljYWxfbWFwW05SX0NQVVNdOyAvKiBsb2dpY2FsIGNwdSB0byBjcHUgYWRkcmVzcyAqLwogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBtZW1vcnlfZW5kOwogCkBAIC0yMDUsMTIgKzIwNSw2IEBACiAJCQlTRVRfQ09OU09MRV9TQ0xQOwogI2VuZGlmCiAJCX0KLSAgICAgICAgfSBlbHNlIGlmIChNQUNISU5FX0lTX1AzOTApIHsKLSNpZiBkZWZpbmVkKENPTkZJR19UTjMyMTVfQ09OU09MRSkKLQkJU0VUX0NPTlNPTEVfMzIxNTsKLSNlbGlmIGRlZmluZWQoQ09ORklHX1ROMzI3MF9DT05TT0xFKQotCQlTRVRfQ09OU09MRV8zMjcwOwotI2VuZGlmCiAJfSBlbHNlIHsKICNpZiBkZWZpbmVkKENPTkZJR19TQ0xQX0NPTlNPTEUpIHx8IGRlZmluZWQoQ09ORklHX1NDTFBfVlQyMjBfQ09OU09MRSkKIAkJU0VUX0NPTlNPTEVfU0NMUDsKQEAgLTIyMSwxOCArMjE1LDE3IEBACiAjaWYgZGVmaW5lZChDT05GSUdfWkZDUERVTVApIHx8IGRlZmluZWQoQ09ORklHX1pGQ1BEVU1QX01PRFVMRSkKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF96ZmNwZHVtcCh1bnNpZ25lZCBpbnQgY29uc29sZV9kZXZubykKIHsKLQlzdGF0aWMgY2hhciBzdHJbNjRdOworCXN0YXRpYyBjaGFyIHN0cls0MV07CiAKIAlpZiAoaXBsX2luZm8udHlwZSAhPSBJUExfVFlQRV9GQ1BfRFVNUCkKIAkJcmV0dXJuOwogCWlmIChjb25zb2xlX2Rldm5vICE9IC0xKQotCQlzcHJpbnRmKHN0ciwgImNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCwhMC4wLiUwNHgiLAorCQlzcHJpbnRmKHN0ciwgIiBjaW9faWdub3JlPWFsbCwhMC4wLiUwNHgsITAuMC4lMDR4IiwKIAkJCWlwbF9pbmZvLmRhdGEuZmNwLmRldl9pZC5kZXZubywgY29uc29sZV9kZXZubyk7CiAJZWxzZQotCQlzcHJpbnRmKHN0ciwgImNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCIsCisJCXNwcmludGYoc3RyLCAiIGNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCIsCiAJCQlpcGxfaW5mby5kYXRhLmZjcC5kZXZfaWQuZGV2bm8pOwotCXN0cmNhdChDT01NQU5EX0xJTkUsICIgIik7Ci0Jc3RyY2F0KENPTU1BTkRfTElORSwgc3RyKTsKKwlzdHJjYXQoYm9vdF9jb21tYW5kX2xpbmUsIHN0cik7CiAJY29uc29sZV9sb2dsZXZlbCA9IDI7CiB9CiAjZWxzZQpAQCAtMjg5LDMyICsyODIsNiBAQAogfQogZWFybHlfcGFyYW0oIm1lbSIsIGVhcmx5X3BhcnNlX21lbSk7CiAKLS8qCi0gKiAiaXBsZGVsYXk9WFhYW3NtXSIgc2V0cyBpcGwgZGVsYXkgaW4gc2Vjb25kcyBvciBtaW51dGVzCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGVhcmx5X3BhcnNlX2lwbGRlbGF5KGNoYXIgKnApCi17Ci0JdW5zaWduZWQgbG9uZyBkZWxheSA9IDA7Ci0KLQlkZWxheSA9IHNpbXBsZV9zdHJ0b3VsKHAsICZwLCAwKTsKLQotCXN3aXRjaCAoKnApIHsKLQljYXNlICdzJzoKLQljYXNlICdTJzoKLQkJZGVsYXkgKj0gMTAwMDAwMDsKLQkJYnJlYWs7Ci0JY2FzZSAnbSc6Ci0JY2FzZSAnTSc6Ci0JCWRlbGF5ICo9IDYwICogMTAwMDAwMDsKLQl9Ci0KLQkvKiBub3cgd2FpdCBmb3IgdGhlIHJlcXVlc3RlZCBhbW91bnQgb2YgdGltZSAqLwotCXVkZWxheShkZWxheSk7Ci0KLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJpcGxkZWxheSIsIGVhcmx5X3BhcnNlX2lwbGRlbGF5KTsKLQogI2lmZGVmIENPTkZJR19TMzkwX1NXSVRDSF9BTU9ERQogI2lmZGVmIENPTkZJR19QR1NURQogdW5zaWduZWQgaW50IHN3aXRjaF9hbW9kZSA9IDE7CkBAIC04MDQsMTEgKzc3MSw5IEBACiAJCXByaW50aygiV2UgYXJlIHJ1bm5pbmcgbmF0aXZlICg2NCBiaXQgbW9kZSlcbiIpOwogI2VuZGlmIC8qIENPTkZJR182NEJJVCAqLwogCi0JLyogU2F2ZSB1bnBhcnNlZCBjb21tYW5kIGxpbmUgY29weSBmb3IgL3Byb2MvY21kbGluZSAqLwotCXN0cmxjcHkoYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORSwgQ09NTUFORF9MSU5FX1NJWkUpOwotCi0JKmNtZGxpbmVfcCA9IENPTU1BTkRfTElORTsKLQkqKCpjbWRsaW5lX3AgKyBDT01NQU5EX0xJTkVfU0laRSAtIDEpID0gJ1wwJzsKKwkvKiBIYXZlIG9uZSBjb21tYW5kIGxpbmUgdGhhdCBpcyBwYXJzZWQgYW5kIHNhdmVkIGluIC9wcm9jL2NtZGxpbmUgKi8KKwkvKiBib290X2NvbW1hbmRfbGluZSBoYXMgYmVlbiBhbHJlYWR5IHNldCB1cCBpbiBlYXJseS5jICovCisJKmNtZGxpbmVfcCA9IGJvb3RfY29tbWFuZF9saW5lOwogCiAgICAgICAgIFJPT1RfREVWID0gUm9vdF9SQU0wOwogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3NtcC5jIGIvYXJjaC9zMzkwL2tlcm5lbC9zbXAuYwppbmRleCA1ZDRmYTRiLi5iNjc4MTAzIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvc21wLmMKQEAgLTEwOSw3ICsxMDksNyBAQAogfQogCiBzdGF0aWMgdm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcCh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSAgICBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCwgY3B1bWFza190IG1hcCkKKwkJCQkgICAgaW50IHdhaXQsIGNwdW1hc2tfdCBtYXApCiB7CiAJc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKIAlpbnQgY3B1LCBsb2NhbCA9IDA7CkBAIC0xNjIsNyArMTYyLDYgQEAKICAqIHNtcF9jYWxsX2Z1bmN0aW9uOgogICogQGZ1bmM6IHRoZSBmdW5jdGlvbiB0byBydW47IHRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcKICAqIEBpbmZvOiBhbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbgotICogQG5vbmF0b21pYzogdW51c2VkCiAgKiBAd2FpdDogaWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzCiAgKgogICogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCkBAIC0xNzAsMTUgKzE2OSwxNCBAQAogICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMsIGZyb20gYQogICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmLgogICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQkJICAgICAgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCiB7CiAJY3B1bWFza190IG1hcDsKIAogCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKIAltYXAgPSBjcHVfb25saW5lX21hcDsKIAljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXApOwotCV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKGZ1bmMsIGluZm8sIG5vbmF0b21pYywgd2FpdCwgbWFwKTsKKwlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCB3YWl0LCBtYXApOwogCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwogCXJldHVybiAwOwogfQpAQCAtMTg5LDcgKzE4Nyw2IEBACiAgKiBAY3B1OiB0aGUgQ1BVIHdoZXJlIGZ1bmMgc2hvdWxkIHJ1bgogICogQGZ1bmM6IHRoZSBmdW5jdGlvbiB0byBydW47IHRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcKICAqIEBpbmZvOiBhbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbgotICogQG5vbmF0b21pYzogdW51c2VkCiAgKiBAd2FpdDogaWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzCiAgKgogICogUnVuIGEgZnVuY3Rpb24gb24gb25lIHByb2Nlc3Nvci4KQEAgLTE5OCwxMSArMTk1LDEwIEBACiAgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYuCiAgKi8KIGludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCisJCQkgICAgIGludCB3YWl0KQogewogCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCBub25hdG9taWMsIHdhaXQsCi0JCQkJY3B1bWFza19vZl9jcHUoY3B1KSk7CisJX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgd2FpdCwgY3B1bWFza19vZl9jcHUoY3B1KSk7CiAJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMjgsNyArMjI0LDcgQEAKIHsKIAlzcGluX2xvY2soJmNhbGxfbG9jayk7CiAJY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgbWFzayk7Ci0JX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgMCwgd2FpdCwgbWFzayk7CisJX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgd2FpdCwgbWFzayk7CiAJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC0zMDMsNyArMjk5LDcgQEAKIAogdm9pZCBzbXBfcHRsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShzbXBfcHRsYl9jYWxsYmFjaywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoc21wX3B0bGJfY2FsbGJhY2ssIE5VTEwsIDEpOwogfQogRVhQT1JUX1NZTUJPTChzbXBfcHRsYl9hbGwpOwogI2VuZGlmIC8qICEgQ09ORklHXzY0QklUICovCkBAIC0zNTEsNyArMzQ3LDcgQEAKIAltZW1zZXQoJnBhcm1zLm9ydmFscywgMCwgc2l6ZW9mKHBhcm1zLm9ydmFscykpOwogCW1lbXNldCgmcGFybXMuYW5kdmFscywgMHhmZiwgc2l6ZW9mKHBhcm1zLmFuZHZhbHMpKTsKIAlwYXJtcy5vcnZhbHNbY3JdID0gMSA8PCBiaXQ7Ci0Jb25fZWFjaF9jcHUoc21wX2N0bF9iaXRfY2FsbGJhY2ssICZwYXJtcywgMCwgMSk7CisJb25fZWFjaF9jcHUoc21wX2N0bF9iaXRfY2FsbGJhY2ssICZwYXJtcywgMSk7CiB9CiBFWFBPUlRfU1lNQk9MKHNtcF9jdGxfc2V0X2JpdCk7CiAKQEAgLTM2NSw3ICszNjEsNyBAQAogCW1lbXNldCgmcGFybXMub3J2YWxzLCAwLCBzaXplb2YocGFybXMub3J2YWxzKSk7CiAJbWVtc2V0KCZwYXJtcy5hbmR2YWxzLCAweGZmLCBzaXplb2YocGFybXMuYW5kdmFscykpOwogCXBhcm1zLmFuZHZhbHNbY3JdID0gfigxTCA8PCBiaXQpOwotCW9uX2VhY2hfY3B1KHNtcF9jdGxfYml0X2NhbGxiYWNrLCAmcGFybXMsIDAsIDEpOworCW9uX2VhY2hfY3B1KHNtcF9jdGxfYml0X2NhbGxiYWNrLCAmcGFybXMsIDEpOwogfQogRVhQT1JUX1NZTUJPTChzbXBfY3RsX2NsZWFyX2JpdCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggODVlNDZhNS4uNTc1NzFmMSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTgxLDYgKzgxLDcgQEAKIAkJCSAgIFMzOTBfbG93Y29yZS50aHJlYWRfaW5mbywKIAkJCSAgIFMzOTBfbG93Y29yZS50aHJlYWRfaW5mbyArIFRIUkVBRF9TSVpFLCAxKTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwogCiB2b2lkIHNhdmVfc3RhY2tfdHJhY2VfdHNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQogewpAQCAtOTMsMyArOTQsNCBAQAogCWlmICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcykKIAkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBVTE9OR19NQVg7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlX3Rzayk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3RpbWUuYyBiL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCmluZGV4IDdhZWM2NzYuLmYyY2VkZTMgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCkBAIC0zLDcgKzMsNyBAQAogICogICAgVGltZSBvZiBkYXkgYmFzZWQgdGltZXIgZnVuY3Rpb25zLgogICoKICAqICBTMzkwIHZlcnNpb24KLSAqICAgIENvcHlyaWdodCAoQykgMTk5OSBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSCwgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDE5OTksIDIwMDgKICAqICAgIEF1dGhvcihzKTogSGFydG11dCBQZW5uZXIgKGhwQGRlLmlibS5jb20pLAogICogICAgICAgICAgICAgICBNYXJ0aW4gU2Nod2lkZWZza3kgKHNjaHdpZGVmc2t5QGRlLmlibS5jb20pLAogICogICAgICAgICAgICAgICBEZW5pcyBKb3NlcGggQmFycm93IChkamJhcnJvd0BkZS5pYm0uY29tLGJhcnJvd19kakB5YWhvby5jb20pCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KICNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2NrY2hpcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZGVsYXkuaD4KICNpbmNsdWRlIDxhc20vczM5MF9leHQuaD4KQEAgLTE2Miw3ICsxNjMsNyBAQAogCS8qIEVuYWJsZSBjbG9jayBjb21wYXJhdG9yIHRpbWVyIGludGVycnVwdC4gKi8KIAlfX2N0bF9zZXRfYml0KDAsMTEpOwogCi0JLyogQWx3YXlzIGFsbG93IEVUUiBleHRlcm5hbCBpbnRlcnJ1cHRzLCBldmVuIHdpdGhvdXQgYW4gRVRSLiAqLworCS8qIEFsd2F5cyBhbGxvdyB0aGUgdGltaW5nIGFsZXJ0IGV4dGVybmFsIGludGVycnVwdC4gKi8KIAlfX2N0bF9zZXRfYml0KDAsIDQpOwogfQogCkBAIC0xNzAsOCArMTcxLDIxIEBACiB7CiB9CiAKK3N0YXRpYyB2b2lkIGV0cl90aW1pbmdfYWxlcnQoc3RydWN0IGV0cl9pcnFfcGFybSAqKTsKK3N0YXRpYyB2b2lkIHN0cF90aW1pbmdfYWxlcnQoc3RydWN0IHN0cF9pcnFfcGFybSAqKTsKKworc3RhdGljIHZvaWQgdGltaW5nX2FsZXJ0X2ludGVycnVwdChfX3UxNiBjb2RlKQoreworCWlmIChTMzkwX2xvd2NvcmUuZXh0X3BhcmFtcyAmIDB4MDBjNDAwMDApCisJCWV0cl90aW1pbmdfYWxlcnQoKHN0cnVjdCBldHJfaXJxX3Bhcm0gKikKKwkJCQkgJlMzOTBfbG93Y29yZS5leHRfcGFyYW1zKTsKKwlpZiAoUzM5MF9sb3djb3JlLmV4dF9wYXJhbXMgJiAweDAwMDM4MDAwKQorCQlzdHBfdGltaW5nX2FsZXJ0KChzdHJ1Y3Qgc3RwX2lycV9wYXJtICopCisJCQkJICZTMzkwX2xvd2NvcmUuZXh0X3BhcmFtcyk7Cit9CisKIHN0YXRpYyB2b2lkIGV0cl9yZXNldCh2b2lkKTsKLXN0YXRpYyB2b2lkIGV0cl9leHRfaGFuZGxlcihfX3UxNik7CitzdGF0aWMgdm9pZCBzdHBfcmVzZXQodm9pZCk7CiAKIC8qCiAgKiBHZXQgdGhlIFRPRCBjbG9jayBydW5uaW5nLgpAQCAtMTgxLDYgKzE5NSw3IEBACiAJdTY0IHRpbWU7CiAKIAlldHJfcmVzZXQoKTsKKwlzdHBfcmVzZXQoKTsKIAlpZiAoc3RvcmVfY2xvY2soJnRpbWUpID09IDApCiAJCXJldHVybiB0aW1lOwogCS8qIFRPRCBjbG9jayBub3QgcnVubmluZy4gU2V0IHRoZSBjbG9jayB0byBVbml4IEVwb2NoLiAqLwpAQCAtMjMxLDggKzI0Niw5IEBACiAJaWYgKGNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV90b2QpICE9IDApCiAJCXBhbmljKCJDb3VsZCBub3QgcmVnaXN0ZXIgVE9EIGNsb2NrIHNvdXJjZSIpOwogCi0JLyogcmVxdWVzdCB0aGUgZXRyIGV4dGVybmFsIGludGVycnVwdCAqLwotCWlmIChyZWdpc3Rlcl9lYXJseV9leHRlcm5hbF9pbnRlcnJ1cHQoMHgxNDA2LCBldHJfZXh0X2hhbmRsZXIsCisJLyogcmVxdWVzdCB0aGUgdGltaW5nIGFsZXJ0IGV4dGVybmFsIGludGVycnVwdCAqLworCWlmIChyZWdpc3Rlcl9lYXJseV9leHRlcm5hbF9pbnRlcnJ1cHQoMHgxNDA2LAorCQkJCQkgICAgICB0aW1pbmdfYWxlcnRfaW50ZXJydXB0LAogCQkJCQkgICAgICAmZXh0X2ludF9ldHJfY2MpICE9IDApCiAJCXBhbmljKCJDb3VsZG4ndCByZXF1ZXN0IGV4dGVybmFsIGludGVycnVwdCAweDE0MDYiKTsKIApAQCAtMjQ1LDEwICsyNjEsMTEyIEBACiB9CiAKIC8qCisgKiBUaGUgdGltZSBpcyAiY2xvY2siLiBvbGQgaXMgd2hhdCB3ZSB0aGluayB0aGUgdGltZSBpcy4KKyAqIEFkanVzdCB0aGUgdmFsdWUgYnkgYSBtdWx0aXBsZSBvZiBqaWZmaWVzIGFuZCBhZGQgdGhlIGRlbHRhIHRvIG50cC4KKyAqICJkZWxheSIgaXMgYW4gYXBwcm94aW1hdGlvbiBob3cgbG9uZyB0aGUgc3luY2hyb25pemF0aW9uIHRvb2suIElmCisgKiB0aGUgdGltZSBjb3JyZWN0aW9uIGlzIHBvc2l0aXZlLCB0aGVuICJkZWxheSIgaXMgc3VidHJhY3RlZCBmcm9tCisgKiB0aGUgdGltZSBkaWZmZXJlbmNlIGFuZCBvbmx5IHRoZSByZW1haW5pbmcgcGFydCBpcyBwYXNzZWQgdG8gbnRwLgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIGFkanVzdF90aW1lKHVuc2lnbmVkIGxvbmcgbG9uZyBvbGQsCisJCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrLAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWxheSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEsIHRpY2tzOworCXN0cnVjdCB0aW1leCBhZGp1c3Q7CisKKwlpZiAoY2xvY2sgPiBvbGQpIHsKKwkJLyogSXQgaXMgbGF0ZXIgdGhhbiB3ZSB0aG91Z2h0LiAqLworCQlkZWx0YSA9IHRpY2tzID0gY2xvY2sgLSBvbGQ7CisJCWRlbHRhID0gdGlja3MgPSAoZGVsdGEgPCBkZWxheSkgPyAwIDogZGVsdGEgLSBkZWxheTsKKwkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKKwkJYWRqdXN0Lm9mZnNldCA9IHRpY2tzICogKDEwMDAwMDAgLyBIWik7CisJfSBlbHNlIHsKKwkJLyogSXQgaXMgZWFybGllciB0aGFuIHdlIHRob3VnaHQuICovCisJCWRlbHRhID0gdGlja3MgPSBvbGQgLSBjbG9jazsKKwkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKKwkJZGVsdGEgPSAtZGVsdGE7CisJCWFkanVzdC5vZmZzZXQgPSAtdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKKwl9CisJamlmZmllc190aW1lcl9jYyArPSBkZWx0YTsKKwlpZiAoYWRqdXN0Lm9mZnNldCAhPSAwKSB7CisJCXByaW50ayhLRVJOX05PVElDRSAiZXRyOiB0aW1lIGFkanVzdGVkIGJ5ICVsaSBtaWNyby1zZWNvbmRzXG4iLAorCQkgICAgICAgYWRqdXN0Lm9mZnNldCk7CisJCWFkanVzdC5tb2RlcyA9IEFESl9PRkZTRVRfU0lOR0xFU0hPVDsKKwkJZG9fYWRqdGltZXgoJmFkanVzdCk7CisJfQorCXJldHVybiBkZWx0YTsKK30KKworc3RhdGljIERFRklORV9QRVJfQ1BVKGF0b21pY190LCBjbG9ja19zeW5jX3dvcmQpOworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2xvY2tfc3luY19mbGFnczsKKworI2RlZmluZSBDTE9DS19TWU5DX0hBU19FVFIJMAorI2RlZmluZSBDTE9DS19TWU5DX0hBU19TVFAJMQorI2RlZmluZSBDTE9DS19TWU5DX0VUUgkJMgorI2RlZmluZSBDTE9DS19TWU5DX1NUUAkJMworCisvKgorICogVGhlIHN5bmNocm9ub3VzIGdldF9jbG9jayBmdW5jdGlvbi4gSXQgd2lsbCB3cml0ZSB0aGUgY3VycmVudCBjbG9jaworICogdmFsdWUgdG8gdGhlIGNsb2NrIHBvaW50ZXIgYW5kIHJldHVybiAwIGlmIHRoZSBjbG9jayBpcyBpbiBzeW5jIHdpdGgKKyAqIHRoZSBleHRlcm5hbCB0aW1lIHNvdXJjZS4gSWYgdGhlIGNsb2NrIG1vZGUgaXMgbG9jYWwgaXQgd2lsbCByZXR1cm4KKyAqIC1FTk9TWVMgYW5kIC1FQUdBSU4gaWYgdGhlIGNsb2NrIGlzIG5vdCBpbiBzeW5jIHdpdGggdGhlIGV4dGVybmFsCisgKiByZWZlcmVuY2UuCisgKi8KK2ludCBnZXRfc3luY19jbG9jayh1bnNpZ25lZCBsb25nIGxvbmcgKmNsb2NrKQoreworCWF0b21pY190ICpzd19wdHI7CisJdW5zaWduZWQgaW50IHN3MCwgc3cxOworCisJc3dfcHRyID0gJmdldF9jcHVfdmFyKGNsb2NrX3N5bmNfd29yZCk7CisJc3cwID0gYXRvbWljX3JlYWQoc3dfcHRyKTsKKwkqY2xvY2sgPSBnZXRfY2xvY2soKTsKKwlzdzEgPSBhdG9taWNfcmVhZChzd19wdHIpOworCXB1dF9jcHVfdmFyKGNsb2NrX3N5bmNfc3luYyk7CisJaWYgKHN3MCA9PSBzdzEgJiYgKHN3MCAmIDB4ODAwMDAwMDBVKSkKKwkJLyogU3VjY2VzczogdGltZSBpcyBpbiBzeW5jLiAqLworCQlyZXR1cm4gMDsKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmCisJICAgICF0ZXN0X2JpdChDTE9DS19TWU5DX0hBU19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmCisJICAgICF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm4gLUVBQ0NFUzsKKwlyZXR1cm4gLUVBR0FJTjsKK30KK0VYUE9SVF9TWU1CT0woZ2V0X3N5bmNfY2xvY2spOworCisvKgorICogTWFrZSBnZXRfc3luY19jbG9jayByZXR1cm4gLUVBR0FJTi4KKyAqLworc3RhdGljIHZvaWQgZGlzYWJsZV9zeW5jX2Nsb2NrKHZvaWQgKmR1bW15KQoreworCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihjbG9ja19zeW5jX3dvcmQpOworCS8qCisJICogQ2xlYXIgdGhlIGluLXN5bmMgYml0IDJeMzEuIEFsbCBnZXRfc3luY19jbG9jayBjYWxscyB3aWxsCisJICogZmFpbCB1bnRpbCB0aGUgc3luYyBiaXQgaXMgdHVybmVkIGJhY2sgb24uIEluIGFkZGl0aW9uCisJICogaW5jcmVhc2UgdGhlICJzZXF1ZW5jZSIgY291bnRlciB0byBhdm9pZCB0aGUgcmFjZSBvZiBhbgorCSAqIGV0ciBldmVudCBhbmQgdGhlIGNvbXBsZXRlIHJlY292ZXJ5IGFnYWluc3QgZ2V0X3N5bmNfY2xvY2suCisJICovCisJYXRvbWljX2NsZWFyX21hc2soMHg4MDAwMDAwMCwgc3dfcHRyKTsKKwlhdG9taWNfaW5jKHN3X3B0cik7Cit9CisKKy8qCisgKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAwIGFnYWluLgorICogTmVlZHMgdG8gYmUgY2FsbGVkIGZyb20gYSBjb250ZXh0IGRpc2FibGVkIGZvciBwcmVlbXB0aW9uLgorICovCitzdGF0aWMgdm9pZCBlbmFibGVfc3luY19jbG9jayh2b2lkKQoreworCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihjbG9ja19zeW5jX3dvcmQpOworCWF0b21pY19zZXRfbWFzaygweDgwMDAwMDAwLCBzd19wdHIpOworfQorCisvKgogICogRXh0ZXJuYWwgVGltZSBSZWZlcmVuY2UgKEVUUikgY29kZS4KICAqLwogc3RhdGljIGludCBldHJfcG9ydDBfb25saW5lOwogc3RhdGljIGludCBldHJfcG9ydDFfb25saW5lOworc3RhdGljIGludCBldHJfc3RlYWlfYXZhaWxhYmxlOwogCiBzdGF0aWMgaW50IF9faW5pdCBlYXJseV9wYXJzZV9ldHIoY2hhciAqcCkKIHsKQEAgLTI3MywxMiArMzkxLDYgQEAKIAlFVFJfRVZFTlRfVVBEQVRFLAogfTsKIAotZW51bSBldHJfZmxhZ3MgewotCUVUUl9GTEFHX0VOT1NZUywKLQlFVFJfRkxBR19FQUNDRVMsCi0JRVRSX0ZMQUdfU1RFQUksCi19OwotCiAvKgogICogVmFsaWQgYml0IGNvbWJpbmF0aW9ucyBvZiB0aGUgZWFjciByZWdpc3RlciBhcmUgKHggPSBkb24ndCBjYXJlKToKICAqIGUwIGUxIGRwIHAwIHAxIGVhIGVzIHNsCkBAIC0zMDUsNzQgKzQxNywxOCBAQAogICovCiBzdGF0aWMgc3RydWN0IGV0cl9lYWNyIGV0cl9lYWNyOwogc3RhdGljIHU2NCBldHJfdG9sZWM7CQkJLyogdGltZSBvZiBsYXN0IGVhY3IgdXBkYXRlICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBldHJfZmxhZ3M7CiBzdGF0aWMgc3RydWN0IGV0cl9haWIgZXRyX3BvcnQwOwogc3RhdGljIGludCBldHJfcG9ydDBfdXB0b2RhdGU7CiBzdGF0aWMgc3RydWN0IGV0cl9haWIgZXRyX3BvcnQxOwogc3RhdGljIGludCBldHJfcG9ydDFfdXB0b2RhdGU7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBldHJfZXZlbnRzOwogc3RhdGljIHN0cnVjdCB0aW1lcl9saXN0IGV0cl90aW1lcjsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShhdG9taWNfdCwgZXRyX3N5bmNfd29yZCk7CiAKIHN0YXRpYyB2b2lkIGV0cl90aW1lb3V0KHVuc2lnbmVkIGxvbmcgZHVtbXkpOwogc3RhdGljIHZvaWQgZXRyX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIHN0YXRpYyBERUNMQVJFX1dPUksoZXRyX3dvcmssIGV0cl93b3JrX2ZuKTsKIAogLyoKLSAqIFRoZSBldHIgZ2V0X2Nsb2NrIGZ1bmN0aW9uLiBJdCB3aWxsIHdyaXRlIHRoZSBjdXJyZW50IGNsb2NrIHZhbHVlCi0gKiB0byB0aGUgY2xvY2sgcG9pbnRlciBhbmQgcmV0dXJuIDAgaWYgdGhlIGNsb2NrIGlzIGluIHN5bmMgd2l0aCB0aGUKLSAqIGV4dGVybmFsIHRpbWUgc291cmNlLiBJZiB0aGUgY2xvY2sgbW9kZSBpcyBsb2NhbCBpdCB3aWxsIHJldHVybgotICogLUVOT1NZUyBhbmQgLUVBR0FJTiBpZiB0aGUgY2xvY2sgaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgZXh0ZXJuYWwKLSAqIHJlZmVyZW5jZS4gVGhpcyBmdW5jdGlvbiBpcyB3aGF0IEVUUiBpcyBhbGwgYWJvdXQuLgotICovCi1pbnQgZ2V0X3N5bmNfY2xvY2sodW5zaWduZWQgbG9uZyBsb25nICpjbG9jaykKLXsKLQlhdG9taWNfdCAqc3dfcHRyOwotCXVuc2lnbmVkIGludCBzdzAsIHN3MTsKLQotCXN3X3B0ciA9ICZnZXRfY3B1X3ZhcihldHJfc3luY193b3JkKTsKLQlzdzAgPSBhdG9taWNfcmVhZChzd19wdHIpOwotCSpjbG9jayA9IGdldF9jbG9jaygpOwotCXN3MSA9IGF0b21pY19yZWFkKHN3X3B0cik7Ci0JcHV0X2NwdV92YXIoZXRyX3N5bmNfc3luYyk7Ci0JaWYgKHN3MCA9PSBzdzEgJiYgKHN3MCAmIDB4ODAwMDAwMDBVKSkKLQkJLyogU3VjY2VzczogdGltZSBpcyBpbiBzeW5jLiAqLwotCQlyZXR1cm4gMDsKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRU5PU1lTLCAmZXRyX2ZsYWdzKSkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncykpCi0JCXJldHVybiAtRUFDQ0VTOwotCXJldHVybiAtRUFHQUlOOwotfQotRVhQT1JUX1NZTUJPTChnZXRfc3luY19jbG9jayk7Ci0KLS8qCi0gKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAtRUFHQUlOLgotICovCi1zdGF0aWMgdm9pZCBldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKHZvaWQgKmR1bW15KQotewotCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihldHJfc3luY193b3JkKTsKLQkvKgotCSAqIENsZWFyIHRoZSBpbi1zeW5jIGJpdCAyXjMxLiBBbGwgZ2V0X3N5bmNfY2xvY2sgY2FsbHMgd2lsbAotCSAqIGZhaWwgdW50aWwgdGhlIHN5bmMgYml0IGlzIHR1cm5lZCBiYWNrIG9uLiBJbiBhZGRpdGlvbgotCSAqIGluY3JlYXNlIHRoZSAic2VxdWVuY2UiIGNvdW50ZXIgdG8gYXZvaWQgdGhlIHJhY2Ugb2YgYW4KLQkgKiBldHIgZXZlbnQgYW5kIHRoZSBjb21wbGV0ZSByZWNvdmVyeSBhZ2FpbnN0IGdldF9zeW5jX2Nsb2NrLgotCSAqLwotCWF0b21pY19jbGVhcl9tYXNrKDB4ODAwMDAwMDAsIHN3X3B0cik7Ci0JYXRvbWljX2luYyhzd19wdHIpOwotfQotCi0vKgotICogTWFrZSBnZXRfc3luY19jbG9jayByZXR1cm4gMCBhZ2Fpbi4KLSAqIE5lZWRzIHRvIGJlIGNhbGxlZCBmcm9tIGEgY29udGV4dCBkaXNhYmxlZCBmb3IgcHJlZW1wdGlvbi4KLSAqLwotc3RhdGljIHZvaWQgZXRyX2VuYWJsZV9zeW5jX2Nsb2NrKHZvaWQpCi17Ci0JYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGV0cl9zeW5jX3dvcmQpOwotCWF0b21pY19zZXRfbWFzaygweDgwMDAwMDAwLCBzd19wdHIpOwotfQotCi0vKgogICogUmVzZXQgRVRSIGF0dGFjaG1lbnQuCiAgKi8KIHN0YXRpYyB2b2lkIGV0cl9yZXNldCh2b2lkKQpAQCAtMzgxLDE1ICs0MzcsMTMgQEAKIAkJLmUwID0gMCwgLmUxID0gMCwgLl9wYWQwID0gNCwgLmRwID0gMCwKIAkJLnAwID0gMCwgLnAxID0gMCwgLl9wYWQxID0gMCwgLmVhID0gMCwKIAkJLmVzID0gMCwgLnNsID0gMCB9OwotCWlmIChldHJfc2V0cigmZXRyX2VhY3IpID09IDApCisJaWYgKGV0cl9zZXRyKCZldHJfZWFjcikgPT0gMCkgewogCQlldHJfdG9sZWMgPSBnZXRfY2xvY2soKTsKLQllbHNlIHsKLQkJc2V0X2JpdChFVFJfRkxBR19FTk9TWVMsICZldHJfZmxhZ3MpOwotCQlpZiAoZXRyX3BvcnQwX29ubGluZSB8fCBldHJfcG9ydDFfb25saW5lKSB7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJSdW5uaW5nIG9uIG5vbiBFVFIgY2FwYWJsZSAiCi0JCQkgICAgICAgIm1hY2hpbmUsIG9ubHkgbG9jYWwgbW9kZSBhdmFpbGFibGUuXG4iKTsKLQkJCWV0cl9wb3J0MF9vbmxpbmUgPSBldHJfcG9ydDFfb25saW5lID0gMDsKLQkJfQorCQlzZXRfYml0KENMT0NLX1NZTkNfSEFTX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCX0gZWxzZSBpZiAoZXRyX3BvcnQwX29ubGluZSB8fCBldHJfcG9ydDFfb25saW5lKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJ1bm5pbmcgb24gbm9uIEVUUiBjYXBhYmxlICIKKwkJICAgICAgICJtYWNoaW5lLCBvbmx5IGxvY2FsIG1vZGUgYXZhaWxhYmxlLlxuIik7CisJCWV0cl9wb3J0MF9vbmxpbmUgPSBldHJfcG9ydDFfb25saW5lID0gMDsKIAl9CiB9CiAKQEAgLTM5NywxNCArNDUxLDEyIEBACiB7CiAJc3RydWN0IGV0cl9haWIgYWliOwogCi0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VOT1NZUywgJmV0cl9mbGFncykpCisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX0hBU19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKIAkJcmV0dXJuIDA7CiAJLyogQ2hlY2sgaWYgdGhpcyBtYWNoaW5lIGhhcyB0aGUgc3RlYWkgaW5zdHJ1Y3Rpb24uICovCiAJaWYgKGV0cl9zdGVhaSgmYWliLCBFVFJfU1RFQUlfU1RFUFBJTkdfUE9SVCkgPT0gMCkKLQkJc2V0X2JpdChFVFJfRkxBR19TVEVBSSwgJmV0cl9mbGFncyk7CisJCWV0cl9zdGVhaV9hdmFpbGFibGUgPSAxOwogCXNldHVwX3RpbWVyKCZldHJfdGltZXIsIGV0cl90aW1lb3V0LCAwVUwpOwotCWlmICghZXRyX3BvcnQwX29ubGluZSAmJiAhZXRyX3BvcnQxX29ubGluZSkKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCWlmIChldHJfcG9ydDBfb25saW5lKSB7CiAJCXNldF9iaXQoRVRSX0VWRU5UX1BPUlQwX0NIQU5HRSwgJmV0cl9ldmVudHMpOwogCQlzY2hlZHVsZV93b3JrKCZldHJfd29yayk7CkBAIC00MzUsNyArNDg3LDggQEAKIHsKIAlpZiAoIWV0cl9lYWNyLnNsKQogCQlyZXR1cm47Ci0JZXRyX2Rpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOwogCXNldF9iaXQoRVRSX0VWRU5UX1NXSVRDSF9MT0NBTCwgJmV0cl9ldmVudHMpOwogCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKIH0KQEAgLTQ1MCwyMyArNTAzLDIxIEBACiB7CiAJaWYgKCFldHJfZWFjci5lcykKIAkJcmV0dXJuOwotCWV0cl9kaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJaWYgKHRlc3RfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAlzZXRfYml0KEVUUl9FVkVOVF9TWU5DX0NIRUNLLCAmZXRyX2V2ZW50cyk7CiAJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOwogfQogCiAvKgotICogRVRSIGV4dGVybmFsIGludGVycnVwdC4gVGhlcmUgYXJlIHR3byBjYXVzZXM6CisgKiBFVFIgdGltaW5nIGFsZXJ0LiBUaGVyZSBhcmUgdHdvIGNhdXNlczoKICAqIDEpIHBvcnQgc3RhdGUgY2hhbmdlLCBjaGVjayB0aGUgdXNhYmlsaXR5IG9mIHRoZSBwb3J0CiAgKiAyKSBwb3J0IGFsZXJ0LCBvbmUgb2YgdGhlIEVUUi1kYXRhLXZhbGlkaXR5IGJpdHMgKHYxLXYyIGJpdHMgb2YgdGhlCiAgKiAgICBzbGRyLXN0YXR1cyB3b3JkKSBvciBFVFItZGF0YSB3b3JkIDEgKGVkZjEpIG9yIEVUUi1kYXRhIHdvcmQgMyAoZWRmMykKICAqICAgIG9yIEVUUi1kYXRhIHdvcmQgNCAoZWRmNCkgaGFzIGNoYW5nZWQuCiAgKi8KLXN0YXRpYyB2b2lkIGV0cl9leHRfaGFuZGxlcihfX3UxNiBjb2RlKQorc3RhdGljIHZvaWQgZXRyX3RpbWluZ19hbGVydChzdHJ1Y3QgZXRyX2lycV9wYXJtICppbnRwYXJtKQogewotCXN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciAqaW50cGFybSA9Ci0JCShzdHJ1Y3QgZXRyX2ludGVycnVwdGlvbl9wYXJhbWV0ZXIgKikgJlMzOTBfbG93Y29yZS5leHRfcGFyYW1zOwotCiAJaWYgKGludHBhcm0tPnBjMCkKIAkJLyogRVRSIHBvcnQgMCBzdGF0ZSBjaGFuZ2UuICovCiAJCXNldF9iaXQoRVRSX0VWRU5UX1BPUlQwX0NIQU5HRSwgJmV0cl9ldmVudHMpOwpAQCAtNTkxLDU4ICs2NDIsMjMgQEAKIAlyZXR1cm4gMTsKIH0KIAotLyoKLSAqIFRoZSB0aW1lIGlzICJjbG9jayIuIG9sZCBpcyB3aGF0IHdlIHRoaW5rIHRoZSB0aW1lIGlzLgotICogQWRqdXN0IHRoZSB2YWx1ZSBieSBhIG11bHRpcGxlIG9mIGppZmZpZXMgYW5kIGFkZCB0aGUgZGVsdGEgdG8gbnRwLgotICogImRlbGF5IiBpcyBhbiBhcHByb3hpbWF0aW9uIGhvdyBsb25nIHRoZSBzeW5jaHJvbml6YXRpb24gdG9vay4gSWYKLSAqIHRoZSB0aW1lIGNvcnJlY3Rpb24gaXMgcG9zaXRpdmUsIHRoZW4gImRlbGF5IiBpcyBzdWJ0cmFjdGVkIGZyb20KLSAqIHRoZSB0aW1lIGRpZmZlcmVuY2UgYW5kIG9ubHkgdGhlIHJlbWFpbmluZyBwYXJ0IGlzIHBhc3NlZCB0byBudHAuCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgZXRyX2FkanVzdF90aW1lKHVuc2lnbmVkIGxvbmcgbG9uZyBvbGQsCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWxheSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEsIHRpY2tzOwotCXN0cnVjdCB0aW1leCBhZGp1c3Q7Ci0KLQlpZiAoY2xvY2sgPiBvbGQpIHsKLQkJLyogSXQgaXMgbGF0ZXIgdGhhbiB3ZSB0aG91Z2h0LiAqLwotCQlkZWx0YSA9IHRpY2tzID0gY2xvY2sgLSBvbGQ7Ci0JCWRlbHRhID0gdGlja3MgPSAoZGVsdGEgPCBkZWxheSkgPyAwIDogZGVsdGEgLSBkZWxheTsKLQkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKLQkJYWRqdXN0Lm9mZnNldCA9IHRpY2tzICogKDEwMDAwMDAgLyBIWik7Ci0JfSBlbHNlIHsKLQkJLyogSXQgaXMgZWFybGllciB0aGFuIHdlIHRob3VnaHQuICovCi0JCWRlbHRhID0gdGlja3MgPSBvbGQgLSBjbG9jazsKLQkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKLQkJZGVsdGEgPSAtZGVsdGE7Ci0JCWFkanVzdC5vZmZzZXQgPSAtdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKLQl9Ci0JamlmZmllc190aW1lcl9jYyArPSBkZWx0YTsKLQlpZiAoYWRqdXN0Lm9mZnNldCAhPSAwKSB7Ci0JCXByaW50ayhLRVJOX05PVElDRSAiZXRyOiB0aW1lIGFkanVzdGVkIGJ5ICVsaSBtaWNyby1zZWNvbmRzXG4iLAotCQkgICAgICAgYWRqdXN0Lm9mZnNldCk7Ci0JCWFkanVzdC5tb2RlcyA9IEFESl9PRkZTRVRfU0lOR0xFU0hPVDsKLQkJZG9fYWRqdGltZXgoJmFkanVzdCk7Ci0JfQotCXJldHVybiBkZWx0YTsKLX0KLQotc3RhdGljIHN0cnVjdCB7CitzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIHsKIAlpbnQgaW5fc3luYzsKIAl1bnNpZ25lZCBsb25nIGxvbmcgZml4dXBfY2M7Ci19IGV0cl9zeW5jOworfTsKIAotc3RhdGljIHZvaWQgZXRyX3N5bmNfY3B1X3N0YXJ0KHZvaWQgKmR1bW15KQorc3RhdGljIHZvaWQgY2xvY2tfc3luY19jcHVfc3RhcnQodm9pZCAqZHVtbXkpCiB7Ci0JZXRyX2VuYWJsZV9zeW5jX2Nsb2NrKCk7CisJc3RydWN0IGNsb2NrX3N5bmNfZGF0YSAqc3luYyA9IGR1bW15OworCisJZW5hYmxlX3N5bmNfY2xvY2soKTsKIAkvKgogCSAqIFRoaXMgbG9va3MgbGlrZSBhIGJ1c3kgd2FpdCBsb29wIGJ1dCBpdCBpc24ndC4gZXRyX3N5bmNfY3B1cwogCSAqIGlzIGNhbGxlZCBvbiBhbGwgb3RoZXIgY3B1cyB3aGlsZSB0aGUgVE9EIGNsb2NrcyBpcyBzdG9wcGVkLgogCSAqIF9fdWRlbGF5IHdpbGwgc3RvcCB0aGUgY3B1IG9uIGFuIGVuYWJsZWQgd2FpdCBwc3cgdW50aWwgdGhlCiAJICogVE9EIGlzIHJ1bm5pbmcgYWdhaW4uCiAJICovCi0Jd2hpbGUgKGV0cl9zeW5jLmluX3N5bmMgPT0gMCkgeworCXdoaWxlIChzeW5jLT5pbl9zeW5jID09IDApIHsKIAkJX191ZGVsYXkoMSk7CiAJCS8qCiAJCSAqIEEgZGlmZmVyZW50IGNwdSBjaGFuZ2VzICppbl9zeW5jLiBUaGVyZWZvcmUgdXNlCkBAIC02NTAsMTcgKzY2NiwxNyBAQAogCQkgKi8KIAkJYmFycmllcigpOwogCX0KLQlpZiAoZXRyX3N5bmMuaW5fc3luYyAhPSAxKQorCWlmIChzeW5jLT5pbl9zeW5jICE9IDEpCiAJCS8qIERpZG4ndCB3b3JrLiBDbGVhciBwZXItY3B1IGluIHN5bmMgYml0IGFnYWluLiAqLwotCQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CiAJLyoKIAkgKiBUaGlzIHJvdW5kIG9mIFRPRCBzeW5jaW5nIGlzIGRvbmUuIFNldCB0aGUgY2xvY2sgY29tcGFyYXRvcgogCSAqIHRvIHRoZSBuZXh0IHRpY2sgYW5kIGxldCB0aGUgcHJvY2Vzc29yIGNvbnRpbnVlLgogCSAqLwotCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3IoZXRyX3N5bmMuZml4dXBfY2MpOworCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3Ioc3luYy0+Zml4dXBfY2MpOwogfQogCi1zdGF0aWMgdm9pZCBldHJfc3luY19jcHVfZW5kKHZvaWQgKmR1bW15KQorc3RhdGljIHZvaWQgY2xvY2tfc3luY19jcHVfZW5kKHZvaWQgKmR1bW15KQogewogfQogCkBAIC02NzIsNiArNjg4LDcgQEAKIHN0YXRpYyBpbnQgZXRyX3N5bmNfY2xvY2soc3RydWN0IGV0cl9haWIgKmFpYiwgaW50IHBvcnQpCiB7CiAJc3RydWN0IGV0cl9haWIgKnN5bmNfcG9ydDsKKwlzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIGV0cl9zeW5jOwogCXVuc2lnbmVkIGxvbmcgbG9uZyBjbG9jaywgb2xkX2Nsb2NrLCBkZWxheSwgZGVsdGE7CiAJaW50IGZvbGxvd3M7CiAJaW50IHJjOwpAQCAtNjkwLDkgKzcwNyw5IEBACiAJICovCiAJbWVtc2V0KCZldHJfc3luYywgMCwgc2l6ZW9mKGV0cl9zeW5jKSk7CiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oZXRyX3N5bmNfY3B1X3N0YXJ0LCBOVUxMLCAwLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihjbG9ja19zeW5jX2NwdV9zdGFydCwgJmV0cl9zeW5jLCAwKTsKIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCWV0cl9lbmFibGVfc3luY19jbG9jaygpOworCWVuYWJsZV9zeW5jX2Nsb2NrKCk7CiAKIAkvKiBTZXQgY2xvY2sgdG8gbmV4dCBPVEUuICovCiAJX19jdGxfc2V0X2JpdCgxNCwgMjEpOwpAQCAtNzA3LDEzICs3MjQsMTMgQEAKIAkJLyogQWRqdXN0IExpbnV4IHRpbWluZyB2YXJpYWJsZXMuICovCiAJCWRlbGF5ID0gKHVuc2lnbmVkIGxvbmcgbG9uZykKIAkJCShhaWItPmVkZjIuZXR2IC0gc3luY19wb3J0LT5lZGYyLmV0dikgPDwgMzI7Ci0JCWRlbHRhID0gZXRyX2FkanVzdF90aW1lKG9sZF9jbG9jaywgY2xvY2ssIGRlbGF5KTsKKwkJZGVsdGEgPSBhZGp1c3RfdGltZShvbGRfY2xvY2ssIGNsb2NrLCBkZWxheSk7CiAJCWV0cl9zeW5jLmZpeHVwX2NjID0gZGVsdGE7CiAJCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3IoZGVsdGEpOwogCQkvKiBWZXJpZnkgdGhhdCB0aGUgY2xvY2sgaXMgcHJvcGVybHkgc2V0LiAqLwogCQlpZiAoIWV0cl9haWJfZm9sbG93cyhzeW5jX3BvcnQsIGFpYiwgcG9ydCkpIHsKIAkJCS8qIERpZG4ndCB3b3JrLiAqLwotCQkJZXRyX2Rpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwkJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAkJCWV0cl9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOwogCQkJcmMgPSAtRUFHQUlOOwogCQl9IGVsc2UgewpAQCAtNzI0LDEyICs3NDEsMTIgQEAKIAkJLyogQ291bGQgbm90IHNldCB0aGUgY2xvY2sgPyE/ICovCiAJCV9fY3RsX2NsZWFyX2JpdCgwLCAyOSk7CiAJCV9fY3RsX2NsZWFyX2JpdCgxNCwgMjEpOwotCQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CiAJCWV0cl9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOwogCQlyYyA9IC1FQUdBSU47CiAJfQogCWxvY2FsX2lycV9lbmFibGUoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbihldHJfc3luY19jcHVfZW5kLE5VTEwsMCwwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihjbG9ja19zeW5jX2NwdV9lbmQsIE5VTEwsIDApOwogCXByZWVtcHRfZW5hYmxlKCk7CiAJcmV0dXJuIHJjOwogfQpAQCAtODMyLDcgKzg0OSw3IEBACiAJICogRG8gbm90IHRyeSB0byBnZXQgdGhlIGFsdGVybmF0ZSBwb3J0IGFpYiBpZiB0aGUgY2xvY2sKIAkgKiBpcyBub3QgaW4gc3luYyB5ZXQuCiAJICovCi0JaWYgKCFlYWNyLmVzKQorCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSAmJiAhZWFjci5lcykKIAkJcmV0dXJuIGVhY3I7CiAKIAkvKgpAQCAtODQwLDcgKzg1Nyw3IEBACiAJICogdGhlIG90aGVyIHBvcnQgaW1tZWRpYXRlbHkuIElmIG9ubHkgc3RldHIgaXMgYXZhaWxhYmxlIHRoZQogCSAqIGRhdGEtcG9ydCBiaXQgdG9nZ2xlIGhhcyB0byBiZSB1c2VkLgogCSAqLwotCWlmICh0ZXN0X2JpdChFVFJfRkxBR19TVEVBSSwgJmV0cl9mbGFncykpIHsKKwlpZiAoZXRyX3N0ZWFpX2F2YWlsYWJsZSkgewogCQlpZiAoZWFjci5wMCAmJiAhZXRyX3BvcnQwX3VwdG9kYXRlKSB7CiAJCQlldHJfc3RlYWlfY3YoJmV0cl9wb3J0MCwgRVRSX1NURUFJX1BPUlRfMCk7CiAJCQlldHJfcG9ydDBfdXB0b2RhdGUgPSAxOwpAQCAtOTA5LDEwICs5MjYsMTAgQEAKIAlpZiAoIWVhY3IuZWEpIHsKIAkJLyogQm90aCBwb3J0cyBvZmZsaW5lLiBSZXNldCBldmVyeXRoaW5nLiAqLwogCQllYWNyLmRwID0gZWFjci5lcyA9IGVhY3Iuc2wgPSAwOwotCQlvbl9lYWNoX2NwdShldHJfZGlzYWJsZV9zeW5jX2Nsb2NrLCBOVUxMLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoZGlzYWJsZV9zeW5jX2Nsb2NrLCBOVUxMLCAxKTsKIAkJZGVsX3RpbWVyX3N5bmMoJmV0cl90aW1lcik7CiAJCWV0cl91cGRhdGVfZWFjcihlYWNyKTsKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtOTUzLDcgKzk3MCw2IEBACiAJCQllYWNyLmUxID0gMTsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MF91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQwLCAwKSkgPyAwIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSBpZiAoZWFjci5wMSAmJiBhaWIuZXN3LnBzYzEgPT0gZXRyX2xwc2NfcHBzX21vZGUpIHsKIAkJZWFjci5zbCA9IDA7CiAJCWVhY3IuZTAgPSAwOwpAQCAtOTYyLDcgKzk3OCw2IEBACiAJCQllYWNyLmVzID0gMDsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MV91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQxLCAxKSkgPyAxIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSBpZiAoZWFjci5wMCAmJiBhaWIuZXN3LnBzYzAgPT0gZXRyX2xwc2Nfb3BlcmF0aW9uYWxfc3RlcCkgewogCQllYWNyLnNsID0gMTsKIAkJZWFjci5lMCA9IDE7CkBAIC05NzYsNyArOTkxLDYgQEAKIAkJCWVhY3IuZTEgPSAxOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQwX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDAsIDApKSA/IDAgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIGlmIChlYWNyLnAxICYmIGFpYi5lc3cucHNjMSA9PSBldHJfbHBzY19vcGVyYXRpb25hbF9zdGVwKSB7CiAJCWVhY3Iuc2wgPSAxOwogCQllYWNyLmUwID0gMDsKQEAgLTk4NSwxOSArOTk5LDIyIEBACiAJCQllYWNyLmVzID0gMDsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MV91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQxLCAxKSkgPyAxIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSB7CiAJCS8qIEJvdGggcG9ydHMgbm90IHVzYWJsZS4gKi8KIAkJZWFjci5lcyA9IGVhY3Iuc2wgPSAwOwogCQlzeW5jX3BvcnQgPSAtMTsKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKTsKIAl9CiAKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCWVhY3IuZXMgPSAwOworCiAJLyoKIAkgKiBJZiB0aGUgY2xvY2sgaXMgaW4gc3luYyBqdXN0IHVwZGF0ZSB0aGUgZWFjciBhbmQgcmV0dXJuLgogCSAqIElmIHRoZXJlIGlzIG5vIHZhbGlkIHN5bmMgcG9ydCB3YWl0IGZvciBhIHBvcnQgdXBkYXRlLgogCSAqLwotCWlmIChlYWNyLmVzIHx8IHN5bmNfcG9ydCA8IDApIHsKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSB8fAorCSAgICBlYWNyLmVzIHx8IHN5bmNfcG9ydCA8IDApIHsKIAkJZXRyX3VwZGF0ZV9lYWNyKGVhY3IpOwogCQlldHJfc2V0X3RvbGVjX3RpbWVvdXQobm93KTsKIAkJcmV0dXJuOwpAQCAtMTAxOCwxMSArMTAzNSwxMyBAQAogCSAqIGFuZCBzZXQgdXAgYSB0aW1lciB0byB0cnkgYWdhaW4gYWZ0ZXIgMC41IHNlY29uZHMKIAkgKi8KIAlldHJfdXBkYXRlX2VhY3IoZWFjcik7CisJc2V0X2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOwogCWlmIChub3cgPCBldHJfdG9sZWMgKyAoMTYwMDAwMCA8PCAxMikgfHwKIAkgICAgZXRyX3N5bmNfY2xvY2soJmFpYiwgc3luY19wb3J0KSAhPSAwKSB7CiAJCS8qIFN5bmMgZmFpbGVkLiBUcnkgYWdhaW4gaW4gMS8yIHNlY29uZC4gKi8KIAkJZWFjci5lcyA9IDA7CiAJCWV0cl91cGRhdGVfZWFjcihlYWNyKTsKKwkJY2xlYXJfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncyk7CiAJCWV0cl9zZXRfc3luY190aW1lb3V0KCk7CiAJfSBlbHNlCiAJCWV0cl9zZXRfdG9sZWNfdGltZW91dChub3cpOwpAQCAtMTA5Nyw4ICsxMTE2LDggQEAKIAl2YWx1ZSA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CiAJaWYgKHZhbHVlICE9IDAgJiYgdmFsdWUgIT0gMSkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VOT1NZUywgJmV0cl9mbGFncykpCi0JCXJldHVybiAtRU5PU1lTOworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAlpZiAoZGV2ID09ICZldHJfcG9ydDBfZGV2KSB7CiAJCWlmIChldHJfcG9ydDBfb25saW5lID09IHZhbHVlKQogCQkJcmV0dXJuIGNvdW50OwkvKiBOb3RoaW5nIHRvIGRvLiAqLwpAQCAtMTI5MiwzICsxMzExLDMxOCBAQAogfQogCiBkZXZpY2VfaW5pdGNhbGwoZXRyX2luaXRfc3lzZnMpOworCisvKgorICogU2VydmVyIFRpbWUgUHJvdG9jb2wgKFNUUCkgY29kZS4KKyAqLworc3RhdGljIGludCBzdHBfb25saW5lOworc3RhdGljIHN0cnVjdCBzdHBfc3N0cGkgc3RwX2luZm87CitzdGF0aWMgdm9pZCAqc3RwX3BhZ2U7CisKK3N0YXRpYyB2b2lkIHN0cF93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CitzdGF0aWMgREVDTEFSRV9XT1JLKHN0cF93b3JrLCBzdHBfd29ya19mbik7CisKK3N0YXRpYyBpbnQgX19pbml0IGVhcmx5X3BhcnNlX3N0cChjaGFyICpwKQoreworCWlmIChzdHJuY21wKHAsICJvZmYiLCAzKSA9PSAwKQorCQlzdHBfb25saW5lID0gMDsKKwllbHNlIGlmIChzdHJuY21wKHAsICJvbiIsIDIpID09IDApCisJCXN0cF9vbmxpbmUgPSAxOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInN0cCIsIGVhcmx5X3BhcnNlX3N0cCk7CisKKy8qCisgKiBSZXNldCBTVFAgYXR0YWNobWVudC4KKyAqLworc3RhdGljIHZvaWQgc3RwX3Jlc2V0KHZvaWQpCit7CisJaW50IHJjOworCisJc3RwX3BhZ2UgPSBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CisJcmMgPSBjaHNjX3NzdHBjKHN0cF9wYWdlLCBTVFBfT1BfQ1RSTCwgMHgwMDAwKTsKKwlpZiAocmMgPT0gMSkKKwkJc2V0X2JpdChDTE9DS19TWU5DX0hBU19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwllbHNlIGlmIChzdHBfb25saW5lKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJ1bm5pbmcgb24gbm9uIFNUUCBjYXBhYmxlIG1hY2hpbmUuXG4iKTsKKwkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKSBzdHBfcGFnZSwgUEFHRV9TSVpFKTsKKwkJc3RwX3BhZ2UgPSBOVUxMOworCQlzdHBfb25saW5lID0gMDsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHN0cF9pbml0KHZvaWQpCit7CisJaWYgKHRlc3RfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmIHN0cF9vbmxpbmUpCisJCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKKwlyZXR1cm4gMDsKK30KKworYXJjaF9pbml0Y2FsbChzdHBfaW5pdCk7CisKKy8qCisgKiBTVFAgdGltaW5nIGFsZXJ0LiBUaGVyZSBhcmUgdGhyZWUgY2F1c2VzOgorICogMSkgdGltaW5nIHN0YXR1cyBjaGFuZ2UKKyAqIDIpIGxpbmsgYXZhaWxhYmlsaXR5IGNoYW5nZQorICogMykgdGltZSBjb250cm9sIHBhcmFtZXRlciBjaGFuZ2UKKyAqIEluIGFsbCB0aHJlZSBjYXNlcyB3ZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZSBjbG9jayBzb3VyY2Ugc3RhdGUuCisgKiBJZiBhIFNUUCBjbG9jayBzb3VyY2UgaXMgbm93IGF2YWlsYWJsZSB1c2UgaXQuCisgKi8KK3N0YXRpYyB2b2lkIHN0cF90aW1pbmdfYWxlcnQoc3RydWN0IHN0cF9pcnFfcGFybSAqaW50cGFybSkKK3sKKwlpZiAoaW50cGFybS0+dHNjIHx8IGludHBhcm0tPmxhYyB8fCBpbnRwYXJtLT50Y3BjKQorCQlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgc3luYyBjaGVjayBtYWNoaW5lIGNoZWNrLiBUaGlzIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1pbmcgc3RhdGUKKyAqIGNoYW5nZXMgZnJvbSB0aGUgc3luY2hyb25pemVkIHN0YXRlIHRvIHRoZSB1bnN5bmNocm9uaXplZCBzdGF0ZS4KKyAqIEFmdGVyIGEgU1RQIHN5bmMgY2hlY2sgdGhlIGNsb2NrIGlzIG5vdCBpbiBzeW5jLiBUaGUgbWFjaGluZSBjaGVjaworICogaXMgYnJvYWRjYXN0ZWQgdG8gYWxsIGNwdXMgYXQgdGhlIHNhbWUgdGltZS4KKyAqLwordm9pZCBzdHBfc3luY19jaGVjayh2b2lkKQoreworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuOworCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgaXNsYW5kIGNvbmRpdGlvbiBtYWNoaW5lIGNoZWNrLiBUaGlzIGlzIGNhbGxlZCB3aGVuIGFuIGF0dGFjaGVkCisgKiBzZXJ2ZXIgIGF0dGVtcHRzIHRvIGNvbW11bmljYXRlIG92ZXIgYW4gU1RQIGxpbmsgYW5kIHRoZSBzZXJ2ZXJzCisgKiBoYXZlIG1hdGNoaW5nIENUTiBpZHMgYW5kIGhhdmUgYSB2YWxpZCBzdHJhdHVtLTEgY29uZmlndXJhdGlvbgorICogYnV0IHRoZSBjb25maWd1cmF0aW9ucyBkbyBub3QgbWF0Y2guCisgKi8KK3ZvaWQgc3RwX2lzbGFuZF9jaGVjayh2b2lkKQoreworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuOworCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgdGFza2xldC4gQ2hlY2sgZm9yIHRoZSBTVFAgc3RhdGUgYW5kIHRha2Ugb3ZlciB0aGUgY2xvY2sKKyAqIHN5bmNocm9uaXphdGlvbiBpZiB0aGUgU1RQIGNsb2NrIHNvdXJjZSBpcyB1c2FibGUuCisgKi8KK3N0YXRpYyB2b2lkIHN0cF93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIHN0cF9zeW5jOworCXVuc2lnbmVkIGxvbmcgbG9uZyBvbGRfY2xvY2ssIGRlbHRhOworCWludCByYzsKKworCWlmICghc3RwX29ubGluZSkgeworCQljaHNjX3NzdHBjKHN0cF9wYWdlLCBTVFBfT1BfQ1RSTCwgMHgwMDAwKTsKKwkJcmV0dXJuOworCX0KKworCXJjID0gY2hzY19zc3RwYyhzdHBfcGFnZSwgU1RQX09QX0NUUkwsIDB4YjBlMCk7CisJaWYgKHJjKQorCQlyZXR1cm47CisKKwlyYyA9IGNoc2Nfc3N0cGkoc3RwX3BhZ2UsICZzdHBfaW5mbywgc2l6ZW9mKHN0cnVjdCBzdHBfc3N0cGkpKTsKKwlpZiAocmMgfHwgc3RwX2luZm8uYyA9PSAwKQorCQlyZXR1cm47CisKKwkvKgorCSAqIENhdGNoIGFsbCBvdGhlciBjcHVzIGFuZCBtYWtlIHRoZW0gd2FpdCB1bnRpbCB3ZSBoYXZlCisJICogc3VjY2Vzc2Z1bGx5IHN5bmNlZCB0aGUgY2xvY2suIHNtcF9jYWxsX2Z1bmN0aW9uIHdpbGwKKwkgKiByZXR1cm4gYWZ0ZXIgYWxsIG90aGVyIGNwdXMgYXJlIGluIGNsb2NrX3N5bmNfY3B1X3N0YXJ0LgorCSAqLworCW1lbXNldCgmc3RwX3N5bmMsIDAsIHNpemVvZihzdHBfc3luYykpOworCXByZWVtcHRfZGlzYWJsZSgpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGNsb2NrX3N5bmNfY3B1X3N0YXJ0LCAmc3RwX3N5bmMsIDApOworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJZW5hYmxlX3N5bmNfY2xvY2soKTsKKworCXNldF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKKworCXJjID0gMDsKKwlpZiAoc3RwX2luZm8udG9kb2ZmWzBdIHx8IHN0cF9pbmZvLnRvZG9mZlsxXSB8fAorCSAgICBzdHBfaW5mby50b2RvZmZbMl0gfHwgc3RwX2luZm8udG9kb2ZmWzNdIHx8CisJICAgIHN0cF9pbmZvLnRtZCAhPSAyKSB7CisJCW9sZF9jbG9jayA9IGdldF9jbG9jaygpOworCQlyYyA9IGNoc2Nfc3N0cGMoc3RwX3BhZ2UsIFNUUF9PUF9TWU5DLCAwKTsKKwkJaWYgKHJjID09IDApIHsKKwkJCWRlbHRhID0gYWRqdXN0X3RpbWUob2xkX2Nsb2NrLCBnZXRfY2xvY2soKSwgMCk7CisJCQlmaXh1cF9jbG9ja19jb21wYXJhdG9yKGRlbHRhKTsKKwkJCXJjID0gY2hzY19zc3RwaShzdHBfcGFnZSwgJnN0cF9pbmZvLAorCQkJCQlzaXplb2Yoc3RydWN0IHN0cF9zc3RwaSkpOworCQkJaWYgKHJjID09IDAgJiYgc3RwX2luZm8udG1kICE9IDIpCisJCQkJcmMgPSAtRUFHQUlOOworCQl9CisJfQorCWlmIChyYykgeworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJCXN0cF9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwkJaWYgKGV0cl9wb3J0MF9vbmxpbmUgfHwgZXRyX3BvcnQxX29ubGluZSkKKwkJCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKKwl9IGVsc2UKKwkJc3RwX3N5bmMuaW5fc3luYyA9IDE7CisKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisJc21wX2NhbGxfZnVuY3Rpb24oY2xvY2tfc3luY19jcHVfZW5kLCBOVUxMLCAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworfQorCisvKgorICogU1RQIGNsYXNzIHN5c2ZzIGludGVyZmFjZSBmdW5jdGlvbnMKKyAqLworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3Mgc3RwX3N5c2NsYXNzID0geworCS5uYW1lCT0gInN0cCIsCit9OworCitzdGF0aWMgc3NpemVfdCBzdHBfY3RuX2lkX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlMDE2bGx4XG4iLAorCQkgICAgICAgKih1bnNpZ25lZCBsb25nIGxvbmcgKikgc3RwX2luZm8uY3RuaWQpOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoY3RuX2lkLCAwNDAwLCBzdHBfY3RuX2lkX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfY3RuX3R5cGVfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCBzdHBfaW5mby5jdG4pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoY3RuX3R5cGUsIDA0MDAsIHN0cF9jdG5fdHlwZV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX2RzdF9vZmZzZXRfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSB8fCAhKHN0cF9pbmZvLnZiaXRzICYgMHgyMDAwKSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLmRzdG8pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoZHN0X29mZnNldCwgMDQwMCwgc3RwX2RzdF9vZmZzZXRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9sZWFwX3NlY29uZHNfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSB8fCAhKHN0cF9pbmZvLnZiaXRzICYgMHg4MDAwKSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLmxlYXBzKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKGxlYXBfc2Vjb25kcywgMDQwMCwgc3RwX2xlYXBfc2Vjb25kc19zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX3N0cmF0dW1fc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLnN0cmF0dW0pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoc3RyYXR1bSwgMDQwMCwgc3RwX3N0cmF0dW1fc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1lX29mZnNldF9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDA4MDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpIHN0cF9pbmZvLnR0byk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUih0aW1lX29mZnNldCwgMDQwMCwgc3RwX3RpbWVfb2Zmc2V0X3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfdGltZV96b25lX29mZnNldF9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDQwMDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8udHpvKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWVfem9uZV9vZmZzZXQsIDA0MDAsCisJCQkgc3RwX3RpbWVfem9uZV9vZmZzZXRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1pbmdfbW9kZV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIHN0cF9pbmZvLnRtZCk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUih0aW1pbmdfbW9kZSwgMDQwMCwgc3RwX3RpbWluZ19tb2RlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfdGltaW5nX3N0YXRlX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgc3RwX2luZm8udHN0KTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWluZ19zdGF0ZSwgMDQwMCwgc3RwX3RpbWluZ19zdGF0ZV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX29ubGluZV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIHN0cF9vbmxpbmUpOworfQorCitzdGF0aWMgc3NpemVfdCBzdHBfb25saW5lX3N0b3JlKHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLAorCQkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQoreworCXVuc2lnbmVkIGludCB2YWx1ZTsKKworCXZhbHVlID0gc2ltcGxlX3N0cnRvdWwoYnVmLCBOVUxMLCAwKTsKKwlpZiAodmFsdWUgIT0gMCAmJiB2YWx1ZSAhPSAxKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJc3RwX29ubGluZSA9IHZhbHVlOworCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiBDYW4ndCB1c2UgU1lTREVWX0NMQVNTX0FUVFIgYmVjYXVzZSB0aGUgYXR0cmlidXRlIHNob3VsZCBiZSBuYW1lZAorICogc3RwL29ubGluZSBidXQgYXR0cl9vbmxpbmUgYWxyZWFkeSBleGlzdHMgaW4gdGhpcyBmaWxlIC4uCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzX2F0dHJpYnV0ZSBhdHRyX3N0cF9vbmxpbmUgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gIm9ubGluZSIsIC5tb2RlID0gMDYwMCB9LAorCS5zaG93CT0gc3RwX29ubGluZV9zaG93LAorCS5zdG9yZQk9IHN0cF9vbmxpbmVfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzc19hdHRyaWJ1dGUgKnN0cF9hdHRyaWJ1dGVzW10gPSB7CisJJmF0dHJfY3RuX2lkLAorCSZhdHRyX2N0bl90eXBlLAorCSZhdHRyX2RzdF9vZmZzZXQsCisJJmF0dHJfbGVhcF9zZWNvbmRzLAorCSZhdHRyX3N0cF9vbmxpbmUsCisJJmF0dHJfc3RyYXR1bSwKKwkmYXR0cl90aW1lX29mZnNldCwKKwkmYXR0cl90aW1lX3pvbmVfb2Zmc2V0LAorCSZhdHRyX3RpbWluZ19tb2RlLAorCSZhdHRyX3RpbWluZ19zdGF0ZSwKKwlOVUxMCit9OworCitzdGF0aWMgaW50IF9faW5pdCBzdHBfaW5pdF9zeXNmcyh2b2lkKQoreworCXN0cnVjdCBzeXNkZXZfY2xhc3NfYXR0cmlidXRlICoqYXR0cjsKKwlpbnQgcmM7CisKKwlyYyA9IHN5c2Rldl9jbGFzc19yZWdpc3Rlcigmc3RwX3N5c2NsYXNzKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0OworCWZvciAoYXR0ciA9IHN0cF9hdHRyaWJ1dGVzOyAqYXR0cjsgYXR0cisrKSB7CisJCXJjID0gc3lzZGV2X2NsYXNzX2NyZWF0ZV9maWxlKCZzdHBfc3lzY2xhc3MsICphdHRyKTsKKwkJaWYgKHJjKQorCQkJZ290byBvdXRfdW5yZWc7CisJfQorCXJldHVybiAwOworb3V0X3VucmVnOgorCWZvciAoOyBhdHRyID49IHN0cF9hdHRyaWJ1dGVzOyBhdHRyLS0pCisJCXN5c2Rldl9jbGFzc19yZW1vdmVfZmlsZSgmc3RwX3N5c2NsYXNzLCAqYXR0cik7CisJc3lzZGV2X2NsYXNzX3VucmVnaXN0ZXIoJnN0cF9zeXNjbGFzcyk7CitvdXQ6CisJcmV0dXJuIHJjOworfQorCitkZXZpY2VfaW5pdGNhbGwoc3RwX2luaXRfc3lzZnMpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC90b3BvbG9neS5jIGIvYXJjaC9zMzkwL2tlcm5lbC90b3BvbG9neS5jCmluZGV4IDY2MWEwNzIuLjIxMmQ2MTggMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdG9wb2xvZ3kuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3RvcG9sb2d5LmMKQEAgLTMxMyw4ICszMTMsNiBAQAogCQltYWNoaW5lX2hhc190b3BvbG9neV9pcnEgPSAxOwogCiAJdGxfaW5mbyA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKLQlpZiAoIXRsX2luZm8pCi0JCWdvdG8gZXJyb3I7CiAJaW5mbyA9IHRsX2luZm87CiAJc3RzaShpbmZvLCAxNSwgMSwgMik7CiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvdm1saW51eC5sZHMuUyBiL2FyY2gvczM5MC9rZXJuZWwvdm1saW51eC5sZHMuUwppbmRleCBiNDYwNzE1Li43NmMxZTYwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC92bWxpbnV4Lmxkcy5TCkBAIC00MCw3ICs0MCw2IEBACiAJX2V0ZXh0ID0gLjsJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KIAogCU5PVEVTIDp0ZXh0IDpub3RlCi0JQlVHX1RBQkxFIDp0ZXh0CiAKIAlST0RBVEEKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC92dGltZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC92dGltZS5jCmluZGV4IGNhOTBlZTMuLjBmYTVkYzUgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdnRpbWUuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3Z0aW1lLmMKQEAgLTEzNiw3ICsxMzYsNyBAQAogfQogI2VuZGlmCiAKLXN0YXRpYyB2b2lkIHN0YXJ0X2NwdV90aW1lcih2b2lkKQordm9pZCB2dGltZV9zdGFydF9jcHVfdGltZXIodm9pZCkKIHsKIAlzdHJ1Y3QgdnRpbWVyX3F1ZXVlICp2dF9saXN0OwogCkBAIC0xNTAsNyArMTUwLDcgQEAKIAkJc2V0X3Z0aW1lcih2dF9saXN0LT5pZGxlKTsKIH0KIAotc3RhdGljIHZvaWQgc3RvcF9jcHVfdGltZXIodm9pZCkKK3ZvaWQgdnRpbWVfc3RvcF9jcHVfdGltZXIodm9pZCkKIHsKIAlzdHJ1Y3QgdnRpbWVyX3F1ZXVlICp2dF9saXN0OwogCkBAIC0zMTgsOCArMzE4LDcgQEAKIAl2dF9saXN0ID0gJnBlcl9jcHUodmlydF9jcHVfdGltZXIsIHRpbWVyLT5jcHUpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZ2dF9saXN0LT5sb2NrLCBmbGFncyk7CiAKLQlpZiAodGltZXItPmNwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpCi0JCXByaW50aygiaW50ZXJuYWxfYWRkX3Z0aW1lcjogQlVHLCBydW5uaW5nIG9uIHdyb25nIENQVSIpOworCUJVR19PTih0aW1lci0+Y3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAKIAkvKiBpZiBsaXN0IGlzIGVtcHR5IHdlIG9ubHkgaGF2ZSB0byBzZXQgdGhlIHRpbWVyICovCiAJaWYgKGxpc3RfZW1wdHkoJnZ0X2xpc3QtPmxpc3QpKSB7CkBAIC0zNTMsMjUgKzM1MiwxMiBAQAogCXB1dF9jcHUoKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgcHJlcGFyZV92dGltZXIoc3RydWN0IHZ0aW1lcl9saXN0ICp0aW1lcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBwcmVwYXJlX3Z0aW1lcihzdHJ1Y3QgdnRpbWVyX2xpc3QgKnRpbWVyKQogewotCWlmICghdGltZXItPmZ1bmN0aW9uKSB7Ci0JCXByaW50aygiYWRkX3ZpcnRfdGltZXI6IHVuaW5pdGlhbGl6ZWQgdGltZXJcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlpZiAoIXRpbWVyLT5leHBpcmVzIHx8IHRpbWVyLT5leHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSkgewotCQlwcmludGsoImFkZF92aXJ0X3RpbWVyOiBpbnZhbGlkIHRpbWVyIGV4cGlyZSB2YWx1ZSFcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlpZiAodnRpbWVyX3BlbmRpbmcodGltZXIpKSB7Ci0JCXByaW50aygiYWRkX3ZpcnRfdGltZXI6IHRpbWVyIHBlbmRpbmdcbiIpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQorCUJVR19PTighdGltZXItPmZ1bmN0aW9uKTsKKwlCVUdfT04oIXRpbWVyLT5leHBpcmVzIHx8IHRpbWVyLT5leHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSk7CisJQlVHX09OKHZ0aW1lcl9wZW5kaW5nKHRpbWVyKSk7CiAJdGltZXItPmNwdSA9IGdldF9jcHUoKTsKLQlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTM4MiwxMCArMzY4LDcgQEAKIAlzdHJ1Y3QgdnRpbWVyX2xpc3QgKnRpbWVyOwogCiAJdGltZXIgPSAoc3RydWN0IHZ0aW1lcl9saXN0ICopbmV3OwotCi0JaWYgKHByZXBhcmVfdnRpbWVyKHRpbWVyKSA8IDApCi0JCXJldHVybjsKLQorCXByZXBhcmVfdnRpbWVyKHRpbWVyKTsKIAl0aW1lci0+aW50ZXJ2YWwgPSAwOwogCWludGVybmFsX2FkZF92dGltZXIodGltZXIpOwogfQpAQCAtMzk5LDEwICszODIsNyBAQAogCXN0cnVjdCB2dGltZXJfbGlzdCAqdGltZXI7CiAKIAl0aW1lciA9IChzdHJ1Y3QgdnRpbWVyX2xpc3QgKiluZXc7Ci0KLQlpZiAocHJlcGFyZV92dGltZXIodGltZXIpIDwgMCkKLQkJcmV0dXJuOwotCisJcHJlcGFyZV92dGltZXIodGltZXIpOwogCXRpbWVyLT5pbnRlcnZhbCA9IHRpbWVyLT5leHBpcmVzOwogCWludGVybmFsX2FkZF92dGltZXIodGltZXIpOwogfQpAQCAtNDIzLDE1ICs0MDMsOCBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IGNwdTsKIAotCWlmICghdGltZXItPmZ1bmN0aW9uKSB7Ci0JCXByaW50aygibW9kX3ZpcnRfdGltZXI6IHVuaW5pdGlhbGl6ZWQgdGltZXJcbiIpOwotCQlyZXR1cm4JLUVJTlZBTDsKLQl9Ci0KLQlpZiAoIWV4cGlyZXMgfHwgZXhwaXJlcyA+IFZUSU1FUl9NQVhfU0xJQ0UpIHsKLQkJcHJpbnRrKCJtb2RfdmlydF90aW1lcjogaW52YWxpZCBleHBpcmUgcmFuZ2VcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9CisJQlVHX09OKCF0aW1lci0+ZnVuY3Rpb24pOworCUJVR19PTighZXhwaXJlcyB8fCBleHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSk7CiAKIAkvKgogCSAqIFRoaXMgaXMgYSBjb21tb24gb3B0aW1pemF0aW9uIHRyaWdnZXJlZCBieSB0aGUKQEAgLTQ0NCw2ICs0MTcsOSBAQAogCWNwdSA9IGdldF9jcHUoKTsKIAl2dF9saXN0ID0gJnBlcl9jcHUodmlydF9jcHVfdGltZXIsIGNwdSk7CiAKKwkvKiBjaGVjayBpZiB3ZSBydW4gb24gdGhlIHJpZ2h0IENQVSAqLworCUJVR19PTih0aW1lci0+Y3B1ICE9IGNwdSk7CisKIAkvKiBkaXNhYmxlIGludGVycnVwdHMgYmVmb3JlIHRlc3QgaWYgdGltZXIgaXMgcGVuZGluZyAqLwogCXNwaW5fbG9ja19pcnFzYXZlKCZ2dF9saXN0LT5sb2NrLCBmbGFncyk7CiAKQEAgLTQ1OCwxNCArNDM0LDYgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyogY2hlY2sgaWYgd2UgcnVuIG9uIHRoZSByaWdodCBDUFUgKi8KLQlpZiAodGltZXItPmNwdSAhPSBjcHUpIHsKLQkJcHJpbnRrKCJtb2RfdmlydF90aW1lcjogcnVubmluZyBvbiB3cm9uZyBDUFUsIGNoZWNrIHlvdXIgY29kZVxuIik7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZ0X2xpc3QtPmxvY2ssIGZsYWdzKTsKLQkJcHV0X2NwdSgpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KIAlsaXN0X2RlbF9pbml0KCZ0aW1lci0+ZW50cnkpOwogCXRpbWVyLT5leHBpcmVzID0gZXhwaXJlczsKIApAQCAtNTM2LDI0ICs1MDQsNiBAQAogCiB9CiAKLXN0YXRpYyBpbnQgdnRpbWVyX2lkbGVfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwKLQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpoY3B1KQotewotCXN3aXRjaCAoYWN0aW9uKSB7Ci0JY2FzZSBTMzkwX0NQVV9JRExFOgotCQlzdG9wX2NwdV90aW1lcigpOwotCQlicmVhazsKLQljYXNlIFMzOTBfQ1BVX05PVF9JRExFOgotCQlzdGFydF9jcHVfdGltZXIoKTsKLQkJYnJlYWs7Ci0JfQotCXJldHVybiBOT1RJRllfT0s7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdnRpbWVyX2lkbGVfbmIgPSB7Ci0JLm5vdGlmaWVyX2NhbGwgPSB2dGltZXJfaWRsZV9ub3RpZnksCi19OwotCiB2b2lkIF9faW5pdCB2dGltZV9pbml0KHZvaWQpCiB7CiAJLyogcmVxdWVzdCB0aGUgY3B1IHRpbWVyIGV4dGVybmFsIGludGVycnVwdCAqLwpAQCAtNTYxLDkgKzUxMSw2IEBACiAJCQkJCSAgICAgICZleHRfaW50X2luZm9fdGltZXIpICE9IDApCiAJCXBhbmljKCJDb3VsZG4ndCByZXF1ZXN0IGV4dGVybmFsIGludGVycnVwdCAweDEwMDUiKTsKIAotCWlmIChyZWdpc3Rlcl9pZGxlX25vdGlmaWVyKCZ2dGltZXJfaWRsZV9uYikpCi0JCXBhbmljKCJDb3VsZG4ndCByZWdpc3RlciBpZGxlIG5vdGlmaWVyIik7Ci0KIAkvKiBFbmFibGUgY3B1IHRpbWVyIGludGVycnVwdHMgb24gdGhlIGJvb3QgY3B1LiAqLwogCWluaXRfY3B1X3Z0aW1lcigpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2luaXQuYyBiL2FyY2gvczM5MC9tbS9pbml0LmMKaW5kZXggMDU1OTg2NC4uMzg4Y2M3NCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL21tL2luaXQuYworKysgYi9hcmNoL3MzOTAvbW0vaW5pdC5jCkBAIC0yMDIsMyArMjAyLDIyIEBACiAgICAgICAgIH0KIH0KICNlbmRpZgorCisjaWZkZWYgQ09ORklHX01FTU9SWV9IT1RQTFVHCitpbnQgYXJjaF9hZGRfbWVtb3J5KGludCBuaWQsIHU2NCBzdGFydCwgdTY0IHNpemUpCit7CisJc3RydWN0IHBnbGlzdF9kYXRhICpwZ2RhdDsKKwlzdHJ1Y3Qgem9uZSAqem9uZTsKKwlpbnQgcmM7CisKKwlwZ2RhdCA9IE5PREVfREFUQShuaWQpOworCXpvbmUgPSBwZ2RhdC0+bm9kZV96b25lcyArIFpPTkVfTk9STUFMOworCXJjID0gdm1lbV9hZGRfbWFwcGluZyhzdGFydCwgc2l6ZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJcmMgPSBfX2FkZF9wYWdlcyh6b25lLCBQRk5fRE9XTihzdGFydCksIFBGTl9ET1dOKHNpemUpKTsKKwlpZiAocmMpCisJCXZtZW1fcmVtb3ZlX21hcHBpbmcoc3RhcnQsIHNpemUpOworCXJldHVybiByYzsKK30KKyNlbmRpZiAvKiBDT05GSUdfTUVNT1JZX0hPVFBMVUcgKi8KZGlmZiAtLWdpdCBhL2FyY2gvc2gvS2NvbmZpZyBiL2FyY2gvc2gvS2NvbmZpZwppbmRleCA5YTg1NGM4Li4zZTczODRmIDEwMDY0NAotLS0gYS9hcmNoL3NoL0tjb25maWcKKysrIGIvYXJjaC9zaC9LY29uZmlnCkBAIC02ODgsNiArNjg4LDcgQEAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgogCWRlcGVuZHMgb24gU1lTX1NVUFBPUlRTX1NNUAorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL3NoL2JvYXJkcy9sYW5kaXNrL2dpby5jIGIvYXJjaC9zaC9ib2FyZHMvbGFuZGlzay9naW8uYwppbmRleCAxNzAyNTA4Li4wYzE1YjBhIDEwMDY0NAotLS0gYS9hcmNoL3NoL2JvYXJkcy9sYW5kaXNrL2dpby5jCisrKyBiL2FyY2gvc2gvYm9hcmRzL2xhbmRpc2svZ2lvLmMKQEAgLTE0LDYgKzE0LDcgQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2tkZXZfdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgpAQCAtMzIsMTcgKzMzLDIwIEBACiBzdGF0aWMgaW50IGdpb19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCWludCBtaW5vcjsKKwlpbnQgcmV0ID0gLUVOT0VOVDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBNSU5PUihpbm9kZS0+aV9yZGV2KTsKIAlpZiAobWlub3IgPCBERVZDT1VOVCkgewogCQlpZiAob3BlbkNudCA+IDApIHsKLQkJCXJldHVybiAtRUFMUkVBRFk7CisJCQlyZXQgPSAtRUFMUkVBRFk7CiAJCX0gZWxzZSB7CiAJCQlvcGVuQ250Kys7Ci0JCQlyZXR1cm4gMDsKKwkJCXJldCA9IDA7CiAJCX0KIAl9Ci0JcmV0dXJuIC1FTk9FTlQ7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgZ2lvX2Nsb3NlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL2xhbmRpc2tfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL2xhbmRpc2tfZGVmY29uZmlnCmluZGV4IGY1MmRiMTIuLjM4ZjkzNGEgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9sYW5kaXNrX2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3MvbGFuZGlza19kZWZjb25maWcKQEAgLTIyNiw3ICsyMjYsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9MzMzMzMzMzMKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL2xib3hyZTJfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL2xib3hyZTJfZGVmY29uZmlnCmluZGV4IDlmYTY2ZDkuLmI2OGI2Y2QgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9sYm94cmUyX2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3MvbGJveHJlMl9kZWZjb25maWcKQEAgLTIzMSw3ICsyMzEsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9NDAwMDAwMDAKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL3NlNzcwNV9kZWZjb25maWcgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZwppbmRleCA4NDcxN2Q4Li40OTBkY2JjIDEwMDY0NAotLS0gYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZwpAQCAtMjM5LDcgKzIzOSw2IEBACiAjCiBDT05GSUdfU0hfVE1VPXkKIENPTkZJR19TSF9USU1FUl9JUlE9MTYKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX1NIX1BDTEtfRlJFUT0zMzMzMzMzMwogCiAjCmRpZmYgLS1naXQgYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzEyX2RlZmNvbmZpZyBiL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCmluZGV4IDI0MGExY2UuLjJkZDgzYWYgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCisrKyBiL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCkBAIC0yMzYsNyArMjM2LDYgQEAKICMKIENPTkZJR19TSF9UTVU9eQogQ09ORklHX1NIX1RJTUVSX0lSUT0xNgotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfU0hfUENMS19GUkVRPTY2NjY2NjY2CiAKICMKZGlmZiAtLWdpdCBhL2FyY2gvc2gvY29uZmlncy9zZTc3NTBfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKaW5kZXggYzYwYjZmZC4uMTY3Nzg2ZiAxMDA2NDQKLS0tIGEvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKKysrIGIvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKQEAgLTIzNSw3ICsyMzUsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9MzMzMzMzMzMKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvc21wLmMgYi9hcmNoL3NoL2tlcm5lbC9zbXAuYwppbmRleCA1ZDAzOWQxLi42MGM1MDg0IDEwMDY0NAotLS0gYS9hcmNoL3NoL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3NoL2tlcm5lbC9zbXAuYwpAQCAtMzYsMTMgKzM2LDYgQEAKIGNwdW1hc2tfdCBjcHVfb25saW5lX21hcDsKIEVYUE9SVF9TWU1CT0woY3B1X29ubGluZV9tYXApOwogCi1zdGF0aWMgYXRvbWljX3QgY3B1c19ib290ZWQgPSBBVE9NSUNfSU5JVCgwKTsKLQotLyoKLSAqIFJ1biBzcGVjaWZpZWQgZnVuY3Rpb24gb24gYSBwYXJ0aWN1bGFyIHByb2Nlc3Nvci4KLSAqLwotdm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uKHVuc2lnbmVkIGludCBjcHUpOwotCiBzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHNtcF9zdG9yZV9jcHVfaW5mbyh1bnNpZ25lZCBpbnQgY3B1KQogewogCXN0cnVjdCBzaF9jcHVpbmZvICpjID0gY3B1X2RhdGEgKyBjcHU7CkBAIC0xNzUsNDUgKzE2OCwyMCBAQAogCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCAwLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCAwLCAwKTsKIH0KIAotc3RydWN0IHNtcF9mbl9jYWxsX3N0cnVjdCBzbXBfZm5fY2FsbCA9IHsKLQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzbXBfZm5fY2FsbC5sb2NrKSwKLQkuZmluaXNoZWQJPSBBVE9NSUNfSU5JVCgwKSwKLX07Ci0KLS8qCi0gKiBUaGUgY2FsbGVyIG9mIHRoaXMgd2FudHMgdGhlIHBhc3NlZCBmdW5jdGlvbiB0byBydW4gb24gZXZlcnkgY3B1LiAgSWYgd2FpdAotICogaXMgc2V0LCB3YWl0IHVudGlsIGFsbCBjcHVzIGhhdmUgZmluaXNoZWQgdGhlIGZ1bmN0aW9uIGJlZm9yZSByZXR1cm5pbmcuCi0gKiBUaGUgbG9jayBpcyBoZXJlIHRvIHByb3RlY3QgdGhlIGNhbGwgc3RydWN0dXJlLgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXVuc2lnbmVkIGludCBucl9jcHVzID0gYXRvbWljX3JlYWQoJmNwdXNfYm9vdGVkKTsKLQlpbnQgaTsKKwlpbnQgY3B1OwogCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spCisJCXBsYXRfc2VuZF9pcGkoY3B1LCBTTVBfTVNHX0ZVTkNUSU9OKTsKK30KIAotCXNwaW5fbG9jaygmc21wX2ZuX2NhbGwubG9jayk7Ci0KLQlhdG9taWNfc2V0KCZzbXBfZm5fY2FsbC5maW5pc2hlZCwgMCk7Ci0Jc21wX2ZuX2NhbGwuZm4gPSBmdW5jOwotCXNtcF9mbl9jYWxsLmRhdGEgPSBpbmZvOwotCi0JZm9yIChpID0gMDsgaSA8IG5yX2NwdXM7IGkrKykKLQkJaWYgKGkgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpKQotCQkJcGxhdF9zZW5kX2lwaShpLCBTTVBfTVNHX0ZVTkNUSU9OKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJnNtcF9mbl9jYWxsLmZpbmlzaGVkKSAhPSAobnJfY3B1cyAtIDEpKTsKLQotCXNwaW5fdW5sb2NrKCZzbXBfZm5fY2FsbC5sb2NrKTsKLQotCXJldHVybiAwOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJcGxhdF9zZW5kX2lwaShjcHUsIFNNUF9NU0dfRlVOQ1RJT05fU0lOR0xFKTsKIH0KIAogLyogTm90IHJlYWxseSBTTVAgc3R1ZmYgLi4uICovCkBAIC0yMjksNyArMTk3LDcgQEAKIAogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9pcGksIDAsIDEsIDEpOworCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfaXBpLCAwLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX21tX2lwaSh2b2lkICptbSkKQEAgLTI1NSw3ICsyMjMsNyBAQAogCXByZWVtcHRfZGlzYWJsZSgpOwogCiAJaWYgKChhdG9taWNfcmVhZCgmbW0tPm1tX3VzZXJzKSAhPSAxKSB8fCAoY3VycmVudC0+bW0gIT0gbW0pKSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9tbV9pcGksICh2b2lkICopbW0sIDEsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfbW1faXBpLCAodm9pZCAqKW1tLCAxKTsKIAl9IGVsc2UgewogCQlpbnQgaTsKIAkJZm9yIChpID0gMDsgaSA8IG51bV9vbmxpbmVfY3B1cygpOyBpKyspCkBAIC0yOTIsNyArMjYwLDcgQEAKIAkJZmQudm1hID0gdm1hOwogCQlmZC5hZGRyMSA9IHN0YXJ0OwogCQlmZC5hZGRyMiA9IGVuZDsKLQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX3JhbmdlX2lwaSwgKHZvaWQgKikmZmQsIDEsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfcmFuZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSk7CiAJfSBlbHNlIHsKIAkJaW50IGk7CiAJCWZvciAoaSA9IDA7IGkgPCBudW1fb25saW5lX2NwdXMoKTsgaSsrKQpAQCAtMzE2LDcgKzI4NCw3IEBACiAKIAlmZC5hZGRyMSA9IHN0YXJ0OwogCWZkLmFkZHIyID0gZW5kOwotCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2tlcm5lbF9yYW5nZV9pcGksICh2b2lkICopJmZkLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX3BhZ2VfaXBpKHZvaWQgKmluZm8pCkBAIC0zMzUsNyArMzAzLDcgQEAKIAogCQlmZC52bWEgPSB2bWE7CiAJCWZkLmFkZHIxID0gcGFnZTsKLQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX3BhZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9wYWdlX2lwaSwgKHZvaWQgKikmZmQsIDEpOwogCX0gZWxzZSB7CiAJCWludCBpOwogCQlmb3IgKGkgPSAwOyBpIDwgbnVtX29ubGluZV9jcHVzKCk7IGkrKykKQEAgLTM1OSw2ICszMjcsNiBAQAogCWZkLmFkZHIxID0gYXNpZDsKIAlmZC5hZGRyMiA9IHZhZGRyOwogCi0Jc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX29uZV9pcGksICh2b2lkICopJmZkLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfb25lX2lwaSwgKHZvaWQgKikmZmQsIDEpOwogCWxvY2FsX2ZsdXNoX3RsYl9vbmUoYXNpZCwgdmFkZHIpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9zaC9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGQ0MWU1NjEuLjFiMmFlMzUgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3NoL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTM0LDMgKzM0LDQgQEAKIAkJfQogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF8zMi5sZHMuUyBiL2FyY2gvc2gva2VybmVsL3ZtbGludXhfMzIubGRzLlMKaW5kZXggYzcxMTM3OC4uN2I0YjgyYiAxMDA2NDQKLS0tIGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF8zMi5sZHMuUworKysgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCkBAIC00NCw3ICs0NCw2IEBACiAKIAlfZXRleHQgPSAuOwkJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KIAotCUJVR19UQUJMRQogCU5PVEVTCiAJUk9fREFUQShQQUdFX1NJWkUpCiAKZGlmZiAtLWdpdCBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TCmluZGV4IGQxZTE3NzAuLjMzZmE0NjQgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMKKysrIGIvYXJjaC9zaC9rZXJuZWwvdm1saW51eF82NC5sZHMuUwpAQCAtNjUsNyArNjUsNiBAQAogCiAJX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAKLQlCVUdfVEFCTEUKIAlOT1RFUyAKIAlST19EQVRBKFBBR0VfU0laRSkKIApkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9rZXJuZWwvYXBjLmMgYi9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYwppbmRleCBkMDZhNDA1Li42NzA3NDIyIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYworKysgYi9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BtLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTc1LDYgKzc2LDcgQEAKIAogc3RhdGljIGludCBhcGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZikKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvS2NvbmZpZyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnCmluZGV4IGViMzZmM2IuLmZjYTkyNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9LY29uZmlnCisrKyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnCkBAIC0xMSw2ICsxMSw4IEBACiBjb25maWcgU1BBUkM2NAogCWJvb2wKIAlkZWZhdWx0IHkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRQorCXNlbGVjdCBIQVZFX0ZUUkFDRQogCXNlbGVjdCBIQVZFX0lERQogCXNlbGVjdCBIQVZFX0xNQgogCXNlbGVjdCBIQVZFX0FSQ0hfS0dEQgpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L0tjb25maWcuZGVidWcgYi9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZwppbmRleCA2YTRkMjhhLi5kNmQzMmQxIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZworKysgYi9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZwpAQCAtMzMsNyArMzMsNyBAQAogCiBjb25maWcgTUNPVU5UCiAJYm9vbAotCWRlcGVuZHMgb24gU1RBQ0tfREVCVUcKKwlkZXBlbmRzIG9uIFNUQUNLX0RFQlVHIHx8IEZUUkFDRQogCWRlZmF1bHQgeQogCiBjb25maWcgRlJBTUVfUE9JTlRFUgpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvTWFrZWZpbGUKaW5kZXggZWM0ZjVlYi4uNDE4YjU3OCAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL01ha2VmaWxlCkBAIC0xNCw2ICsxNCw3IEBACiAJCSAgIHBvd2VyLm8gc2J1cy5vIHNwYXJjNjRfa3N5bXMubyBjaG1jLm8gXAogCQkgICB2aXNlbXVsLm8gcHJvbS5vIG9mX2RldmljZS5vIGh2YXBpLm8gc3N0YXRlLm8gbWRlc2MubwogCitvYmotJChDT05GSUdfRFlOQU1JQ19GVFJBQ0UpICs9IGZ0cmFjZS5vCiBvYmotJChDT05GSUdfU1RBQ0tUUkFDRSkgKz0gc3RhY2t0cmFjZS5vCiBvYmotJChDT05GSUdfUENJKQkgKz0gZWJ1cy5vIHBjaV9jb21tb24ubyBcCiAJCQkgICAgcGNpX3BzeWNoby5vIHBjaV9zYWJyZS5vIHBjaV9zY2hpem8ubyBcCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mjk4ZDBhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDk0IEBACisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworc3RhdGljIGNvbnN0IHUzMiBmdHJhY2Vfbm9wID0gMHgwMTAwMDAwMDsKKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKikmZnRyYWNlX25vcDsKK30KKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2VfY2FsbF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlzdGF0aWMgdTMyIGNhbGw7CisJczMyIG9mZjsKKworCW9mZiA9ICgoczMyKWFkZHIgLSAoczMyKWlwKTsKKwljYWxsID0gMHg0MDAwMDAwMCB8ICgodTMyKW9mZiA+PiAyKTsKKworCXJldHVybiAodW5zaWduZWQgY2hhciAqKSAmY2FsbDsKK30KKworbm90cmFjZSBpbnQKK2Z0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdTMyIG9sZCA9ICoodTMyICopb2xkX2NvZGU7CisJdTMyIG5ldyA9ICoodTMyICopbmV3X2NvZGU7CisJdTMyIHJlcGxhY2VkOworCWludCBmYXVsdGVkOworCisJX19hc21fXyBfX3ZvbGF0aWxlX18oCisJIjE6CWNhcwlbJVtpcF1dLCAlW29sZF0sICVbbmV3XVxuIgorCSIJZmx1c2gJJVtpcF1cbiIKKwkiCW1vdgkwLCAlW2ZhdWx0ZWRdXG4iCisJIjI6XG4iCisJIgkuc2VjdGlvbiAuZml4dXAsI2FsbG9jLCNleGVjaW5zdHJcbiIKKwkiCS5hbGlnbgk0XG4iCisJIjM6CXNldGhpCSUlaGkoMmIpLCAlW2ZhdWx0ZWRdXG4iCisJIglqbXBsCSVbZmF1bHRlZF0gKyAlJWxvKDJiKSwgJSVnMFxuIgorCSIJIG1vdgkxLCAlW2ZhdWx0ZWRdXG4iCisJIgkucHJldmlvdXNcbiIKKwkiCS5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIKKwkiCS5hbGlnbgk0XG4iCisJIgkud29yZAkxYiwgM2JcbiIKKwkiCS5wcmV2aW91c1xuIgorCTogIj1yIiAocmVwbGFjZWQpLCBbZmF1bHRlZF0gIj1yIiAoZmF1bHRlZCkKKwk6IFtuZXddICIwIiAobmV3KSwgW29sZF0gInIiIChvbGQpLCBbaXBdICJyIiAoaXApCisJOiAibWVtb3J5Iik7CisKKwlpZiAocmVwbGFjZWQgIT0gb2xkICYmIHJlcGxhY2VkICE9IG5ldykKKwkJZmF1bHRlZCA9IDI7CisKKwlyZXR1cm4gZmF1bHRlZDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9ICh1bnNpZ25lZCBsb25nKSgmZnRyYWNlX2NhbGwpOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJbWVtY3B5KG9sZCwgJmZ0cmFjZV9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAodW5zaWduZWQgbG9uZylmdW5jKTsKKwlyZXR1cm4gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7Cit9CisKK25vdHJhY2UgaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9IChsb25nKSgmbWNvdW50X2NhbGwpOworCXVuc2lnbmVkIGxvbmcgKmFkZHIgPSBkYXRhOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJLyoKKwkgKiBSZXBsYWNlIHRoZSBtY291bnQgc3R1YiB3aXRoIGEgcG9pbnRlciB0byB0aGUKKwkgKiBpcCByZWNvcmRlciBmdW5jdGlvbi4KKwkgKi8KKwltZW1jcHkob2xkLCAmbWNvdW50X2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICphZGRyKTsKKwkqYWRkciA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworCisJcmV0dXJuIDA7Cit9CisKKworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zbXAuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc21wLmMKaW5kZXggZmE2M2M2OC4uYzA5OWQ5NiAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL3NtcC5jCkBAIC04MDcsNyArODA3LDYgQEAKICAqIHNtcF9jYWxsX2Z1bmN0aW9uKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgogICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCiAgKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiBAbm9uYXRvbWljOiBjdXJyZW50bHkgdW51c2VkLgogICogQHdhaXQ6IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KICAqCiAgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLiBEb2VzIG5vdCByZXR1cm4gdW50aWwKQEAgLTgxNiw4ICs4MTUsOCBAQAogICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCiAgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KICAqLwotc3RhdGljIGludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgIGludCBub25hdG9taWMsIGludCB3YWl0LCBjcHVtYXNrX3QgbWFzaykKK3N0YXRpYyBpbnQgc3BhcmM2NF9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKKwkJCQkJICBpbnQgd2FpdCwgY3B1bWFza190IG1hc2spCiB7CiAJc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKIAlpbnQgY3B1czsKQEAgLTg1MiwxMSArODUxLDkgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJICAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKLQlyZXR1cm4gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhmdW5jLCBpbmZvLCBub25hdG9taWMsIHdhaXQsCi0JCQkJICAgICAgY3B1X29ubGluZV9tYXApOworCXJldHVybiBzcGFyYzY0X3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soZnVuYywgaW5mbywgd2FpdCwgY3B1X29ubGluZV9tYXApOwogfQogCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2NsaWVudChpbnQgaXJxLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKQEAgLTg5Myw3ICs4OTAsNyBAQAogCiB2b2lkIHNtcF90c2Jfc3luYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHRzYl9zeW5jLCBtbSwgMCwgMSwgbW0tPmNwdV92bV9tYXNrKTsKKwlzcGFyYzY0X3NtcF9jYWxsX2Z1bmN0aW9uX21hc2sodHNiX3N5bmMsIG1tLCAxLCBtbS0+Y3B1X3ZtX21hc2spOwogfQogCiBleHRlcm4gdW5zaWduZWQgbG9uZyB4Y2FsbF9mbHVzaF90bGJfbW07CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCmluZGV4IDhhYzBiOTkuLjQ5ZDNlYTUgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSA8YXNtL25zODczMDMuaD4KICNpbmNsdWRlIDxhc20vdGltZXIuaD4KICNpbmNsdWRlIDxhc20vY3B1ZGF0YS5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogc3RydWN0IHBvbGwgewogCWludCBmZDsKQEAgLTExMSw4ICsxMTIsNyBAQAogRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCi0jaWYgZGVmaW5lZChDT05GSUdfTUNPVU5UKQotZXh0ZXJuIHZvaWQgX21jb3VudCh2b2lkKTsKKyNpZmRlZiBDT05GSUdfTUNPVU5UCiBFWFBPUlRfU1lNQk9MKF9tY291bnQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggYzczY2UzZi4uYjNlMzczNyAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTEsNiArMSw3IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CiAjaW5jbHVkZSA8bGludXgvdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL3N0YWNrdHJhY2UuaD4KIApAQCAtNDcsMyArNDgsNCBAQAogCQkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBwYzsKIAl9IHdoaWxlICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcyk7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC90aW1lLmMKaW5kZXggZTVkMjM4OS4uYmVkYzRjMSAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC90aW1lLmMKKysrIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC90aW1lLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9wYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpAQCAtMTY1OSwxMCArMTY2MCwxNCBAQAogCiBzdGF0aWMgaW50IG1pbmlfcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JaWYgKG1pbmlfcnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKQorCWxvY2tfa2VybmVsKCk7CisJaWYgKG1pbmlfcnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKIAltaW5pX3J0Y19zdGF0dXMgfD0gUlRDX0lTX09QRU47CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvbGliL21jb3VudC5TIGIvYXJjaC9zcGFyYzY0L2xpYi9tY291bnQuUwppbmRleCA5ZTQ1MzRiLi43NzM1YTdhIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQvbGliL21jb3VudC5TCisrKyBiL2FyY2gvc3BhcmM2NC9saWIvbWNvdW50LlMKQEAgLTI4LDEwICsyOCwxMyBAQAogCS5za2lwCQlPVlNUQUNLU0laRQogI2VuZGlmCiAJLnRleHQKLQkuYWxpZ24gMzIKLQkuZ2xvYmwgbWNvdW50LCBfbWNvdW50Ci1tY291bnQ6CisJLmFsaWduCQkzMgorCS5nbG9ibAkJX21jb3VudAorCS50eXBlCQlfbWNvdW50LCNmdW5jdGlvbgorCS5nbG9ibAkJbWNvdW50CisJLnR5cGUJCW1jb3VudCwjZnVuY3Rpb24KIF9tY291bnQ6CittY291bnQ6CiAjaWZkZWYgQ09ORklHX1NUQUNLX0RFQlVHCiAJLyoKIAkgKiBDaGVjayB3aGV0aGVyICVzcCBpcyBkYW5nZXJvdXNseSBsb3cuCkBAIC01NSw2ICs1OCw1MyBAQAogCSBvcgkJJWczLCAlbG8ocGFuaWNzdHJpbmcpLCAlbzAKIAljYWxsCQlwcm9tX2hhbHQKIAkgbm9wCisxOgogI2VuZGlmCi0xOglyZXRsCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCW1vdgkJJW83LCAlbzAKKwkuZ2xvYmwJCW1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwljYWxsCQlmdHJhY2Vfc3R1YgorCSBtb3YJCSVvMCwgJW83CisjZWxzZQorCXNldGhpCQklaGkoZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKSwgJWcxCisJc2V0aGkJCSVoaShmdHJhY2Vfc3R1YiksICVnMgorCWxkeAkJWyVnMSArICVsbyhmdHJhY2VfdHJhY2VfZnVuY3Rpb24pXSwgJWcxCisJb3IJCSVnMiwgJWxvKGZ0cmFjZV9zdHViKSwgJWcyCisJY21wCQklZzEsICVnMgorCWJlLHBuCQklaWNjLCAxZgorCSBtb3YJCSVpNywgJW8xCisJam1wbAkJJWcxLCAlZzAKKwkgbW92CQklbzcsICVvMAorCS8qIG5vdCByZWFjaGVkICovCisxOgorI2VuZGlmCisjZW5kaWYKKwlyZXRsCiAJIG5vcAorCS5zaXplCQlfbWNvdW50LC4tX21jb3VudAorCS5zaXplCQltY291bnQsLi1tY291bnQKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKwkuZ2xvYmwJCWZ0cmFjZV9zdHViCisJLnR5cGUJCWZ0cmFjZV9zdHViLCNmdW5jdGlvbgorZnRyYWNlX3N0dWI6CisJcmV0bAorCSBub3AKKwkuc2l6ZQkJZnRyYWNlX3N0dWIsLi1mdHJhY2Vfc3R1YgorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCS5nbG9ibAkJZnRyYWNlX2NhbGxlcgorCS50eXBlCQlmdHJhY2VfY2FsbGVyLCNmdW5jdGlvbgorZnRyYWNlX2NhbGxlcjoKKwltb3YJCSVpNywgJW8xCisJbW92CQklbzcsICVvMAorCS5nbG9ibAkJZnRyYWNlX2NhbGwKK2Z0cmFjZV9jYWxsOgorCWNhbGwJCWZ0cmFjZV9zdHViCisJIG1vdgkJJW8wLCAlbzcKKwlyZXRsCisJIG5vcAorCS5zaXplCQlmdHJhY2VfY2FsbGVyLC4tZnRyYWNlX2NhbGxlcgorI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmM2NC9tbS9odWdldGxicGFnZS5jIGIvYXJjaC9zcGFyYzY0L21tL2h1Z2V0bGJwYWdlLmMKaW5kZXggNmNmYWIyZS4uZWJlZmQyYSAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L21tL2h1Z2V0bGJwYWdlLmMKKysrIGIvYXJjaC9zcGFyYzY0L21tL2h1Z2V0bGJwYWdlLmMKQEAgLTM0NCw3ICszNDQsNyBAQAogCQkJICogYWxzbyBleGVjdXRpbmcgaW4gdGhpcyBhZGRyZXNzIHNwYWNlLgogCQkJICovCiAJCQltbS0+Y29udGV4dC5zcGFyYzY0X2N0eF92YWwgPSBjdHg7Ci0JCQlvbl9lYWNoX2NwdShjb250ZXh0X3JlbG9hZCwgbW0sIDAsIDApOworCQkJb25fZWFjaF9jcHUoY29udGV4dF9yZWxvYWQsIG1tLCAwKTsKIAkJfQogCQlzcGluX3VubG9jaygmY3R4X2FsbG9jX2xvY2spOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gvdW0vZHJpdmVycy9oYXJkZG9nX2tlcm4uYyBiL2FyY2gvdW0vZHJpdmVycy9oYXJkZG9nX2tlcm4uYwppbmRleCBhOWFkNGJkLi5kMzMyNTAzIDEwMDY0NAotLS0gYS9hcmNoL3VtL2RyaXZlcnMvaGFyZGRvZ19rZXJuLmMKKysrIGIvYXJjaC91bS9kcml2ZXJzL2hhcmRkb2dfa2Vybi5jCkBAIC02Niw2ICs2Niw3IEBACiAJaW50IGVyciA9IC1FQlVTWTsKIAljaGFyICpzb2NrID0gTlVMTDsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZsb2NrKTsKIAlpZih0aW1lcl9hbGl2ZSkKIAkJZ290byBlcnI7CkBAIC04Miw5ICs4MywxMSBAQAogCiAJdGltZXJfYWxpdmUgPSAxOwogCXNwaW5fdW5sb2NrKCZsb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwogZXJyOgogCXNwaW5fdW5sb2NrKCZsb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC91bS9kcml2ZXJzL21tYXBwZXJfa2Vybi5jIGIvYXJjaC91bS9kcml2ZXJzL21tYXBwZXJfa2Vybi5jCmluZGV4IDY3YjJmNTUuLmViMjQwMzIgMTAwNjQ0Ci0tLSBhL2FyY2gvdW0vZHJpdmVycy9tbWFwcGVyX2tlcm4uYworKysgYi9hcmNoL3VtL2RyaXZlcnMvbW1hcHBlcl9rZXJuLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAibWVtX3VzZXIuaCIKIApAQCAtNzcsNiArNzgsNyBAQAogCiBzdGF0aWMgaW50IG1tYXBwZXJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3VtL2RyaXZlcnMvcmFuZG9tLmMgYi9hcmNoL3VtL2RyaXZlcnMvcmFuZG9tLmMKaW5kZXggNDk0OTA0NC4uNmVhYmI3MCAxMDA2NDQKLS0tIGEvYXJjaC91bS9kcml2ZXJzL3JhbmRvbS5jCisrKyBiL2FyY2gvdW0vZHJpdmVycy9yYW5kb20uYwpAQCAtNyw2ICs3LDcgQEAKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCiAgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KQEAgLTMzLDYgKzM0LDggQEAKIAogc3RhdGljIGludCBybmdfZGV2X29wZW4gKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CisKIAkvKiBlbmZvcmNlIHJlYWQtb25seSBhY2Nlc3MgdG8gdGhpcyBjaHJkZXYgKi8KIAlpZiAoKGZpbHAtPmZfbW9kZSAmIEZNT0RFX1JFQUQpID09IDApCiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvYXJjaC91bS9rZXJuZWwvc21wLmMgYi9hcmNoL3VtL2tlcm5lbC9zbXAuYwppbmRleCBlMTA2MmVjLi5iZTJkNTBjIDEwMDY0NAotLS0gYS9hcmNoL3VtL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3VtL2tlcm5lbC9zbXAuYwpAQCAtMjE0LDggKzIxNCw3IEBACiAJYXRvbWljX2luYygmc2NmX2ZpbmlzaGVkKTsKIH0KIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpfZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKl9pbmZvLCBpbnQgbm9uYXRvbWljLAotCQkgICAgICBpbnQgd2FpdCkKK2ludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqX2Z1bmMpKHZvaWQgKmluZm8pLCB2b2lkICpfaW5mbywgaW50IHdhaXQpCiB7CiAJaW50IGNwdXMgPSBudW1fb25saW5lX2NwdXMoKSAtIDE7CiAJaW50IGk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9LY29uZmlnIGIvYXJjaC94ODYvS2NvbmZpZwppbmRleCBiZjA3YjZmLi45NmUwYzJlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9LY29uZmlnCisrKyBiL2FyY2gveDg2L0tjb25maWcKQEAgLTIzLDYgKzIzLDggQEAKIAlzZWxlY3QgSEFWRV9PUFJPRklMRQogCXNlbGVjdCBIQVZFX0tQUk9CRVMKIAlzZWxlY3QgSEFWRV9LUkVUUFJPQkVTCisJc2VsZWN0IEhBVkVfRFlOQU1JQ19GVFJBQ0UKKwlzZWxlY3QgSEFWRV9GVFJBQ0UKIAlzZWxlY3QgSEFWRV9LVk0gaWYgKChYODZfMzIgJiYgIVg4Nl9WT1lBR0VSICYmICFYODZfVklTV1MgJiYgIVg4Nl9OVU1BUSkgfHwgWDg2XzY0KQogCXNlbGVjdCBIQVZFX0FSQ0hfS0dEQiBpZiAhWDg2X1ZPWUFHRVIKIApAQCAtMTIxLDcgKzEyMyw3IEBACiAJZGVmX2Jvb2wgeQogCiBjb25maWcgSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUEKLQlkZWZfYm9vbCBYODZfNjQgfHwgKFg4Nl9TTVAgJiYgIVg4Nl9WT1lBR0VSKQorCWRlZl9ib29sIFg4Nl82NF9TTVAgfHwgKFg4Nl9TTVAgJiYgIVg4Nl9WT1lBR0VSKQogCiBjb25maWcgSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAKIAlkZWZfYm9vbCBYODZfNjRfU01QCkBAIC0xNjgsNiArMTcwLDcgQEAKIGNvbmZpZyBYODZfU01QCiAJYm9vbAogCWRlcGVuZHMgb24gU01QICYmICgoWDg2XzMyICYmICFYODZfVk9ZQUdFUikgfHwgWDg2XzY0KQorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWRlZmF1bHQgeQogCiBjb25maWcgWDg2XzMyX1NNUApAQCAtMTgxLDEyICsxODQsMTIgQEAKIGNvbmZpZyBYODZfSFQKIAlib29sCiAJZGVwZW5kcyBvbiBTTVAKLQlkZXBlbmRzIG9uIChYODZfMzIgJiYgIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpKSB8fCBYODZfNjQKKwlkZXBlbmRzIG9uIChYODZfMzIgJiYgIVg4Nl9WT1lBR0VSKSB8fCBYODZfNjQKIAlkZWZhdWx0IHkKIAogY29uZmlnIFg4Nl9CSU9TX1JFQk9PVAogCWJvb2wKLQlkZXBlbmRzIG9uICFYODZfVklTV1MgJiYgIVg4Nl9WT1lBR0VSCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAlkZWZhdWx0IHkKIAogY29uZmlnIFg4Nl9UUkFNUE9MSU5FCkBAIC0yMzAsNiArMjMzLDI2IEBACiAKIAkgIElmIHlvdSBkb24ndCBrbm93IHdoYXQgdG8gZG8gaGVyZSwgc2F5IE4uCiAKK2NvbmZpZyBYODZfRklORF9TTVBfQ09ORklHCisJZGVmX2Jvb2wgeQorCWRlcGVuZHMgb24gWDg2X01QUEFSU0UgfHwgWDg2X1ZPWUFHRVIKKworaWYgQUNQSQorY29uZmlnIFg4Nl9NUFBBUlNFCisJZGVmX2Jvb2wgeQorCWJvb2wgIkVuYWJsZSBNUFMgdGFibGUiCisJZGVwZW5kcyBvbiBYODZfTE9DQUxfQVBJQworCWhlbHAKKwkgIEZvciBvbGQgc21wIHN5c3RlbXMgdGhhdCBkbyBub3QgaGF2ZSBwcm9wZXIgYWNwaSBzdXBwb3J0LiBOZXdlciBzeXN0ZW1zCisJICAoZXNwIHdpdGggNjRiaXQgY3B1cykgd2l0aCBhY3BpIHN1cHBvcnQsIE1BRFQgYW5kIERTRFQgd2lsbCBvdmVycmlkZSBpdAorZW5kaWYKKworaWYgIUFDUEkKK2NvbmZpZyBYODZfTVBQQVJTRQorCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFg4Nl9MT0NBTF9BUElDCitlbmRpZgorCiBjaG9pY2UKIAlwcm9tcHQgIlN1YmFyY2hpdGVjdHVyZSBUeXBlIgogCWRlZmF1bHQgWDg2X1BDCkBAIC0yNTEsNyArMjc0LDcgQEAKIAogY29uZmlnIFg4Nl9WT1lBR0VSCiAJYm9vbCAiVm95YWdlciAoTkNSKSIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAoU01QIHx8IEJST0tFTikKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAoU01QIHx8IEJST0tFTikgJiYgIVBDSQogCWhlbHAKIAkgIFZveWFnZXIgaXMgYW4gTUNBLWJhc2VkIDMyLXdheSBjYXBhYmxlIFNNUCBhcmNoaXRlY3R1cmUgcHJvcHJpZXRhcnkKIAkgIHRvIE5DUiBDb3JwLiAgTWFjaGluZSBjbGFzc2VzIDM0NXgvMzV4eC80MTAwLzUxeHggYXJlIFZveWFnZXItYmFzZWQuCkBAIC0yNjEsMTYgKzI4NCwyNyBAQAogCSAgSWYgeW91IGRvIG5vdCBzcGVjaWZpY2FsbHkga25vdyB5b3UgaGF2ZSBhIFZveWFnZXIgYmFzZWQgbWFjaGluZSwKIAkgIHNheSBOIGhlcmUsIG90aGVyd2lzZSB0aGUga2VybmVsIHlvdSBidWlsZCB3aWxsIG5vdCBiZSBib290YWJsZS4KIAorY29uZmlnIFg4Nl9HRU5FUklDQVJDSAorICAgICAgIGJvb2wgIkdlbmVyaWMgYXJjaGl0ZWN0dXJlIgorCWRlcGVuZHMgb24gWDg2XzMyCisgICAgICAgaGVscAorICAgICAgICAgIFRoaXMgb3B0aW9uIGNvbXBpbGVzIGluIHRoZSBOVU1BUSwgU3VtbWl0LCBiaWdzbXAsIEVTNzAwMCwgZGVmYXVsdAorCSAgc3ViYXJjaGl0ZWN0dXJlcy4gIEl0IGlzIGludGVuZGVkIGZvciBhIGdlbmVyaWMgYmluYXJ5IGtlcm5lbC4KKwkgIGlmIHlvdSBzZWxlY3QgdGhlbSBhbGwsIGtlcm5lbCB3aWxsIHByb2JlIGl0IG9uZSBieSBvbmUuIGFuZCB3aWxsCisJICBmYWxsYmFjayB0byBkZWZhdWx0LgorCitpZiBYODZfR0VORVJJQ0FSQ0gKKwogY29uZmlnIFg4Nl9OVU1BUQogCWJvb2wgIk5VTUFRIChJQk0vU2VxdWVudCkiCi0JZGVwZW5kcyBvbiBTTVAgJiYgWDg2XzMyCisJZGVwZW5kcyBvbiBTTVAgJiYgWDg2XzMyICYmIFBDSSAmJiBYODZfTVBQQVJTRQogCXNlbGVjdCBOVU1BCiAJaGVscAotCSAgVGhpcyBvcHRpb24gaXMgdXNlZCBmb3IgZ2V0dGluZyBMaW51eCB0byBydW4gb24gYSAoSUJNL1NlcXVlbnQpIE5VTUEKLQkgIG11bHRpcXVhZCBib3guIFRoaXMgY2hhbmdlcyB0aGUgd2F5IHRoYXQgcHJvY2Vzc29ycyBhcmUgYm9vdHN0cmFwcGVkLAotCSAgYW5kIHVzZXMgQ2x1c3RlcmVkIExvZ2ljYWwgQVBJQyBhZGRyZXNzaW5nIG1vZGUgaW5zdGVhZCBvZiBGbGF0IExvZ2ljYWwuCi0JICBZb3Ugd2lsbCBuZWVkIGEgbmV3IGx5bnhlci5lbGYgZmlsZSB0byBmbGFzaCB5b3VyIGZpcm13YXJlIHdpdGggLSBzZW5kCi0JICBlbWFpbCB0byA8TWFydGluLkJsaWdoQHVzLmlibS5jb20+LgorCSAgVGhpcyBvcHRpb24gaXMgdXNlZCBmb3IgZ2V0dGluZyBMaW51eCB0byBydW4gb24gYSBOVU1BUSAoSUJNL1NlcXVlbnQpCisJICBOVU1BIG11bHRpcXVhZCBib3guIFRoaXMgY2hhbmdlcyB0aGUgd2F5IHRoYXQgcHJvY2Vzc29ycyBhcmUKKwkgIGJvb3RzdHJhcHBlZCwgYW5kIHVzZXMgQ2x1c3RlcmVkIExvZ2ljYWwgQVBJQyBhZGRyZXNzaW5nIG1vZGUgaW5zdGVhZAorCSAgb2YgRmxhdCBMb2dpY2FsLiAgWW91IHdpbGwgbmVlZCBhIG5ldyBseW54ZXIuZWxmIGZpbGUgdG8gZmxhc2ggeW91cgorCSAgZmlybXdhcmUgd2l0aCAtIHNlbmQgZW1haWwgdG8gPE1hcnRpbi5CbGlnaEB1cy5pYm0uY29tPi4KIAogY29uZmlnIFg4Nl9TVU1NSVQKIAlib29sICJTdW1taXQvRVhBIChJQk0geDQ0MCkiCkBAIC0yNzksNDYgKzMxMywyMSBAQAogCSAgVGhpcyBvcHRpb24gaXMgbmVlZGVkIGZvciBJQk0gc3lzdGVtcyB0aGF0IHVzZSB0aGUgU3VtbWl0L0VYQSBjaGlwc2V0LgogCSAgSW4gcGFydGljdWxhciwgaXQgaXMgbmVlZGVkIGZvciB0aGUgeDQ0MC4KIAotCSAgSWYgeW91IGRvbid0IGhhdmUgb25lIG9mIHRoZXNlIGNvbXB1dGVycywgeW91IHNob3VsZCBzYXkgTiBoZXJlLgotCSAgSWYgeW91IHdhbnQgdG8gYnVpbGQgYSBOVU1BIGtlcm5lbCwgeW91IG11c3Qgc2VsZWN0IEFDUEkuCi0KLWNvbmZpZyBYODZfQklHU01QCi0JYm9vbCAiU3VwcG9ydCBmb3Igb3RoZXIgc3ViLWFyY2ggU01QIHN5c3RlbXMgd2l0aCBtb3JlIHRoYW4gOCBDUFVzIgotCWRlcGVuZHMgb24gWDg2XzMyICYmIFNNUAotCWhlbHAKLQkgIFRoaXMgb3B0aW9uIGlzIG5lZWRlZCBmb3IgdGhlIHN5c3RlbXMgdGhhdCBoYXZlIG1vcmUgdGhhbiA4IENQVXMKLQkgIGFuZCBpZiB0aGUgc3lzdGVtIGlzIG5vdCBvZiBhbnkgc3ViLWFyY2ggdHlwZSBhYm92ZS4KLQotCSAgSWYgeW91IGRvbid0IGhhdmUgc3VjaCBhIHN5c3RlbSwgeW91IHNob3VsZCBzYXkgTiBoZXJlLgotCi1jb25maWcgWDg2X1ZJU1dTCi0JYm9vbCAiU0dJIDMyMC81NDAgKFZpc3VhbCBXb3Jrc3RhdGlvbikiCi0JZGVwZW5kcyBvbiBYODZfMzIKLQloZWxwCi0JICBUaGUgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBzZXJpZXMgaXMgYW4gSUEzMi1iYXNlZCB3b3Jrc3RhdGlvbgotCSAgYmFzZWQgb24gU0dJIHN5c3RlbXMgY2hpcHMgd2l0aCBzb21lIGxlZ2FjeSBQQyBoYXJkd2FyZSBhdHRhY2hlZC4KLQotCSAgU2F5IFkgaGVyZSB0byBjcmVhdGUgYSBrZXJuZWwgdG8gcnVuIG9uIHRoZSBTR0kgMzIwIG9yIDU0MC4KLQotCSAgQSBrZXJuZWwgY29tcGlsZWQgZm9yIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gd2lsbCBub3QgcnVuIG9uIFBDcwotCSAgYW5kIHZpY2UgdmVyc2EuIFNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL3NnaS12aXN3cy50eHQ+IGZvciBkZXRhaWxzLgotCi1jb25maWcgWDg2X0dFTkVSSUNBUkNICi0gICAgICAgYm9vbCAiR2VuZXJpYyBhcmNoaXRlY3R1cmUgKFN1bW1pdCwgYmlnc21wLCBFUzcwMDAsIGRlZmF1bHQpIgotCWRlcGVuZHMgb24gWDg2XzMyCi0gICAgICAgaGVscAotICAgICAgICAgIFRoaXMgb3B0aW9uIGNvbXBpbGVzIGluIHRoZSBTdW1taXQsIGJpZ3NtcCwgRVM3MDAwLCBkZWZhdWx0IHN1YmFyY2hpdGVjdHVyZXMuCi0JICBJdCBpcyBpbnRlbmRlZCBmb3IgYSBnZW5lcmljIGJpbmFyeSBrZXJuZWwuCi0JICBJZiB5b3Ugd2FudCBhIE5VTUEga2VybmVsLCBzZWxlY3QgQUNQSS4gICBXZSBuZWVkIFNSQVQgZm9yIE5VTUEuCi0KIGNvbmZpZyBYODZfRVM3MDAwCiAJYm9vbCAiU3VwcG9ydCBmb3IgVW5pc3lzIEVTNzAwMCBJQTMyIHNlcmllcyIKIAlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBTTVAKIAloZWxwCiAJICBTdXBwb3J0IGZvciBVbmlzeXMgRVM3MDAwIHN5c3RlbXMuICBTYXkgJ1knIGhlcmUgaWYgdGhpcyBrZXJuZWwgaXMKIAkgIHN1cHBvc2VkIHRvIHJ1biBvbiBhbiBJQTMyLWJhc2VkIFVuaXN5cyBFUzcwMDAgc3lzdGVtLgotCSAgT25seSBjaG9vc2UgdGhpcyBvcHRpb24gaWYgeW91IGhhdmUgc3VjaCBhIHN5c3RlbSwgb3RoZXJ3aXNlIHlvdQotCSAgc2hvdWxkIHNheSBOIGhlcmUuCisKK2NvbmZpZyBYODZfQklHU01QCisJYm9vbCAiU3VwcG9ydCBmb3IgYmlnIFNNUCBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIDggQ1BVcyIKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBTTVAKKwloZWxwCisJICBUaGlzIG9wdGlvbiBpcyBuZWVkZWQgZm9yIHRoZSBzeXN0ZW1zIHRoYXQgaGF2ZSBtb3JlIHRoYW4gOCBDUFVzCisJICBhbmQgaWYgdGhlIHN5c3RlbSBpcyBub3Qgb2YgYW55IHN1Yi1hcmNoIHR5cGUgYWJvdmUuCisKK2VuZGlmCiAKIGNvbmZpZyBYODZfUkRDMzIxWAogCWJvb2wgIlJEQyBSLTMyMXggU29DIgpAQCAtMzM3LDcgKzM0Niw3IEBACiBjb25maWcgWDg2X1ZTTVAKIAlib29sICJTdXBwb3J0IGZvciBTY2FsZU1QIHZTTVAiCiAJc2VsZWN0IFBBUkFWSVJUCi0JZGVwZW5kcyBvbiBYODZfNjQKKwlkZXBlbmRzIG9uIFg4Nl82NCAmJiBQQ0kKIAloZWxwCiAJICBTdXBwb3J0IGZvciBTY2FsZU1QIHZTTVAgc3lzdGVtcy4gIFNheSAnWScgaGVyZSBpZiB0aGlzIGtlcm5lbCBpcwogCSAgc3VwcG9zZWQgdG8gcnVuIG9uIHRoZXNlIEVNNjRULWJhc2VkIG1hY2hpbmVzLiAgT25seSBjaG9vc2UgdGhpcyBvcHRpb24KQEAgLTM0NSw2ICszNTQsMTggQEAKIAogZW5kY2hvaWNlCiAKK2NvbmZpZyBYODZfVklTV1MKKwlib29sICJTR0kgMzIwLzU0MCAoVmlzdWFsIFdvcmtzdGF0aW9uKSIKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQQ0kgJiYgIVg4Nl9WT1lBR0VSICYmIFg4Nl9NUFBBUlNFICYmIFBDSV9HT0RJUkVDVAorCWhlbHAKKwkgIFRoZSBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIHNlcmllcyBpcyBhbiBJQTMyLWJhc2VkIHdvcmtzdGF0aW9uCisJICBiYXNlZCBvbiBTR0kgc3lzdGVtcyBjaGlwcyB3aXRoIHNvbWUgbGVnYWN5IFBDIGhhcmR3YXJlIGF0dGFjaGVkLgorCisJICBTYXkgWSBoZXJlIHRvIGNyZWF0ZSBhIGtlcm5lbCB0byBydW4gb24gdGhlIFNHSSAzMjAgb3IgNTQwLgorCisJICBBIGtlcm5lbCBjb21waWxlZCBmb3IgdGhlIFZpc3VhbCBXb3Jrc3RhdGlvbiB3aWxsIHJ1biBvbiBnZW5lcmFsCisJICBQQ3MgYXMgd2VsbC4gU2VlIDxmaWxlOkRvY3VtZW50YXRpb24vc2dpLXZpc3dzLnR4dD4gZm9yIGRldGFpbHMuCisKIGNvbmZpZyBTQ0hFRF9OT19OT19PTUlUX0ZSQU1FX1BPSU5URVIKIAlkZWZfYm9vbCB5CiAJcHJvbXB0ICJTaW5nbGUtZGVwdGggV0NIQU4gb3V0cHV0IgpAQCAtMzczLDcgKzM5NCw3IEBACiAJYm9vbCAiVk1JIEd1ZXN0IHN1cHBvcnQiCiAJc2VsZWN0IFBBUkFWSVJUCiAJZGVwZW5kcyBvbiBYODZfMzIKLQlkZXBlbmRzIG9uICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJaGVscAogCSAgVk1JIHByb3ZpZGVzIGEgcGFyYXZpcnR1YWxpemVkIGludGVyZmFjZSB0byB0aGUgVk13YXJlIEVTWCBzZXJ2ZXIKIAkgIChpdCBjb3VsZCBiZSB1c2VkIGJ5IG90aGVyIGh5cGVydmlzb3JzIGluIHRoZW9yeSB0b28sIGJ1dCBpcyBub3QKQEAgLTM4NCw3ICs0MDUsNyBAQAogCWJvb2wgIktWTSBwYXJhdmlydHVhbGl6ZWQgY2xvY2siCiAJc2VsZWN0IFBBUkFWSVJUCiAJc2VsZWN0IFBBUkFWSVJUX0NMT0NLCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgIFR1cm5pbmcgb24gdGhpcyBvcHRpb24gd2lsbCBhbGxvdyB5b3UgdG8gcnVuIGEgcGFyYXZpcnR1YWxpemVkIGNsb2NrCiAJICB3aGVuIHJ1bm5pbmcgb3ZlciB0aGUgS1ZNIGh5cGVydmlzb3IuIEluc3RlYWQgb2YgcmVseWluZyBvbiBhIFBJVApAQCAtMzk1LDcgKzQxNiw3IEBACiBjb25maWcgS1ZNX0dVRVNUCiAJYm9vbCAiS1ZNIEd1ZXN0IHN1cHBvcnQiCiAJc2VsZWN0IFBBUkFWSVJUCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgVGhpcyBvcHRpb24gZW5hYmxlcyB2YXJpb3VzIG9wdGltaXphdGlvbnMgZm9yIHJ1bm5pbmcgdW5kZXIgdGhlIEtWTQogCSBoeXBlcnZpc29yLgpAQCAtNDA0LDcgKzQyNSw3IEBACiAKIGNvbmZpZyBQQVJBVklSVAogCWJvb2wgIkVuYWJsZSBwYXJhdmlydHVhbGl6YXRpb24gY29kZSIKLQlkZXBlbmRzIG9uICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJaGVscAogCSAgVGhpcyBjaGFuZ2VzIHRoZSBrZXJuZWwgc28gaXQgY2FuIG1vZGlmeSBpdHNlbGYgd2hlbiBpdCBpcyBydW4KIAkgIHVuZGVyIGEgaHlwZXJ2aXNvciwgcG90ZW50aWFsbHkgaW1wcm92aW5nIHBlcmZvcm1hbmNlIHNpZ25pZmljYW50bHkKQEAgLTQxNyw1MSArNDM4LDMyIEBACiAKIGVuZGlmCiAKLWNvbmZpZyBNRU1URVNUX0JPT1RQQVJBTQotCWJvb2wgIk1lbXRlc3QgYm9vdCBwYXJhbWV0ZXIiCitjb25maWcgUEFSQVZJUlRfREVCVUcKKyAgICAgICBib29sICJwYXJhdmlydC1vcHMgZGVidWdnaW5nIgorICAgICAgIGRlcGVuZHMgb24gUEFSQVZJUlQgJiYgREVCVUdfS0VSTkVMCisgICAgICAgaGVscAorICAgICAgICAgRW5hYmxlIHRvIGRlYnVnIHBhcmF2aXJ0X29wcyBpbnRlcm5hbHMuICBTcGVjaWZpY2FsbHksIEJVRyBpZgorCSBhIHBhcmF2aXJ0X29wIGlzIG1pc3Npbmcgd2hlbiBpdCBpcyBjYWxsZWQuCisKK2NvbmZpZyBNRU1URVNUCisJYm9vbCAiTWVtdGVzdCIKIAlkZXBlbmRzIG9uIFg4Nl82NAotCWRlZmF1bHQgeQogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIGFkZHMgYSBrZXJuZWwgcGFyYW1ldGVyICdtZW10ZXN0Jywgd2hpY2ggYWxsb3dzIG1lbXRlc3QKLQkgIHRvIGJlIGRpc2FibGVkIGF0IGJvb3QuICBJZiB0aGlzIG9wdGlvbiBpcyBzZWxlY3RlZCwgbWVtdGVzdAotCSAgZnVuY3Rpb25hbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBtZW10ZXN0PTAgb24gdGhlIGtlcm5lbAotCSAgY29tbWFuZCBsaW5lLiAgVGhlIHB1cnBvc2Ugb2YgdGhpcyBvcHRpb24gaXMgdG8gYWxsb3cgYSBzaW5nbGUKLQkgIGtlcm5lbCBpbWFnZSB0byBiZSBkaXN0cmlidXRlZCB3aXRoIG1lbXRlc3QgYnVpbHQgaW4sIGJ1dCBub3QKLQkgIG5lY2Vzc2FyaWx5IGVuYWJsZWQuCi0KLQkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIFkuCi0KLWNvbmZpZyBNRU1URVNUX0JPT1RQQVJBTV9WQUxVRQotCWludCAiTWVtdGVzdCBib290IHBhcmFtZXRlciBkZWZhdWx0IHZhbHVlICgwLTQpIgotCWRlcGVuZHMgb24gTUVNVEVTVF9CT09UUEFSQU0KLQlyYW5nZSAwIDQKLQlkZWZhdWx0IDAKLQloZWxwCi0JICBUaGlzIG9wdGlvbiBzZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUga2VybmVsIHBhcmFtZXRlcgotCSAgJ21lbXRlc3QnLCB3aGljaCBhbGxvd3MgbWVtdGVzdCB0byBiZSBkaXNhYmxlZCBhdCBib290LiAgSWYgdGhpcwotCSAgb3B0aW9uIGlzIHNldCB0byAwICh6ZXJvKSwgdGhlIG1lbXRlc3Qga2VybmVsIHBhcmFtZXRlciB3aWxsCi0JICBkZWZhdWx0IHRvIDAsIGRpc2FibGluZyBtZW10ZXN0IGF0IGJvb3R1cC4gIElmIHRoaXMgb3B0aW9uIGlzCi0JICBzZXQgdG8gNCwgdGhlIG1lbXRlc3Qga2VybmVsIHBhcmFtZXRlciB3aWxsIGRlZmF1bHQgdG8gNCwKLQkgIGVuYWJsaW5nIG1lbXRlc3QgYXQgYm9vdHVwLCBhbmQgdXNlIHRoYXQgYXMgcGF0dGVybiBudW1iZXIuCi0KLQkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIDAuCi0KLWNvbmZpZyBBQ1BJX1NSQVQKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfMzIgJiYgQUNQSSAmJiBOVU1BICYmIChYODZfU1VNTUlUIHx8IFg4Nl9HRU5FUklDQVJDSCkKLQlzZWxlY3QgQUNQSV9OVU1BCi0KLWNvbmZpZyBIQVZFX0FSQ0hfUEFSU0VfU1JBVAotCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIEFDUElfU1JBVAorCSAgdG8gYmUgc2V0LgorCQltZW10ZXN0PTAsIG1lYW4gZGlzYWJsZWQ7IC0tIGRlZmF1bHQKKwkJbWVtdGVzdD0xLCBtZWFuIGRvIDEgdGVzdCBwYXR0ZXJuOworCQkuLi4KKwkJbWVtdGVzdD00LCBtZWFuIGRvIDQgdGVzdCBwYXR0ZXJucy4KKwkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIE4uCiAKIGNvbmZpZyBYODZfU1VNTUlUX05VTUEKIAlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfMzIgJiYgTlVNQSAmJiAoWDg2X1NVTU1JVCB8fCBYODZfR0VORVJJQ0FSQ0gpCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgTlVNQSAmJiBYODZfR0VORVJJQ0FSQ0gKIAogY29uZmlnIFg4Nl9DWUNMT05FX1RJTUVSCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmIFg4Nl9TVU1NSVQgfHwgWDg2X0dFTkVSSUNBUkNICisJZGVwZW5kcyBvbiBYODZfR0VORVJJQ0FSQ0gKIAogY29uZmlnIEVTNzAwMF9DTFVTVEVSRURfQVBJQwogCWRlZl9ib29sIHkKQEAgLTU0OSw2ICs1NTEsMjEgQEAKIAkgIENhbGdhcnkgYW55d2F5LCBwYXNzICdpb21tdT1jYWxnYXJ5JyBvbiB0aGUga2VybmVsIGNvbW1hbmQgbGluZS4KIAkgIElmIHVuc3VyZSwgc2F5IFkuCiAKK2NvbmZpZyBBTURfSU9NTVUKKwlib29sICJBTUQgSU9NTVUgc3VwcG9ydCIKKwlzZWxlY3QgU1dJT1RMQgorCWRlcGVuZHMgb24gWDg2XzY0ICYmIFBDSSAmJiBBQ1BJCisJaGVscAorCSAgV2l0aCB0aGlzIG9wdGlvbiB5b3UgY2FuIGVuYWJsZSBzdXBwb3J0IGZvciBBTUQgSU9NTVUgaGFyZHdhcmUgaW4KKwkgIHlvdXIgc3lzdGVtLiBBbiBJT01NVSBpcyBhIGhhcmR3YXJlIGNvbXBvbmVudCB3aGljaCBwcm92aWRlcworCSAgcmVtYXBwaW5nIG9mIERNQSBtZW1vcnkgYWNjZXNzZXMgZnJvbSBkZXZpY2VzLiBXaXRoIGFuIEFNRCBJT01NVSB5b3UKKwkgIGNhbiBpc29sYXRlIHRoZSB0aGUgRE1BIG1lbW9yeSBvZiBkaWZmZXJlbnQgZGV2aWNlcyBhbmQgcHJvdGVjdCB0aGUKKwkgIHN5c3RlbSBmcm9tIG1pc2JlaGF2aW5nIGRldmljZSBkcml2ZXJzIG9yIGhhcmR3YXJlLgorCisJICBZb3UgY2FuIGZpbmQgb3V0IGlmIHlvdXIgc3lzdGVtIGhhcyBhbiBBTUQgSU9NTVUgaWYgeW91IGxvb2sgaW50bworCSAgeW91ciBCSU9TIGZvciBhbiBvcHRpb24gdG8gZW5hYmxlIGl0IG9yIGlmIHlvdSBoYXZlIGFuIElWUlMgQUNQSQorCSAgdGFibGUuCisKICMgbmVlZCB0aGlzIGFsd2F5cyBzZWxlY3RlZCBieSBJT01NVSBmb3IgdGhlIFZJQSB3b3JrYXJvdW5kCiBjb25maWcgU1dJT1RMQgogCWJvb2wKQEAgLTU2MCwyMSArNTc3LDM2IEBACiAJICAzIEdCIG9mIG1lbW9yeS4gSWYgdW5zdXJlLCBzYXkgWS4KIAogY29uZmlnIElPTU1VX0hFTFBFUgotCWRlZl9ib29sIChDQUxHQVJZX0lPTU1VIHx8IEdBUlRfSU9NTVUgfHwgU1dJT1RMQikKKwlkZWZfYm9vbCAoQ0FMR0FSWV9JT01NVSB8fCBHQVJUX0lPTU1VIHx8IFNXSU9UTEIgfHwgQU1EX0lPTU1VKQorY29uZmlnIE1BWFNNUAorCWJvb2wgIkNvbmZpZ3VyZSBNYXhpbXVtIG51bWJlciBvZiBTTVAgUHJvY2Vzc29ycyBhbmQgTlVNQSBOb2RlcyIKKwlkZXBlbmRzIG9uIFg4Nl82NCAmJiBTTVAKKwlkZWZhdWx0IG4KKwloZWxwCisJICBDb25maWd1cmUgbWF4aW11bSBudW1iZXIgb2YgQ1BVUyBhbmQgTlVNQSBOb2RlcyBmb3IgdGhpcyBhcmNoaXRlY3R1cmUuCisJICBJZiB1bnN1cmUsIHNheSBOLgogCitpZiBNQVhTTVAKIGNvbmZpZyBOUl9DUFVTCi0JaW50ICJNYXhpbXVtIG51bWJlciBvZiBDUFVzICgyLTI1NSkiCi0JcmFuZ2UgMiAyNTUKKwlpbnQKKwlkZWZhdWx0ICI0MDk2IgorZW5kaWYKKworaWYgIU1BWFNNUAorY29uZmlnIE5SX0NQVVMKKwlpbnQgIk1heGltdW0gbnVtYmVyIG9mIENQVXMgKDItNDA5NikiCisJcmFuZ2UgMiA0MDk2CiAJZGVwZW5kcyBvbiBTTVAKIAlkZWZhdWx0ICIzMiIgaWYgWDg2X05VTUFRIHx8IFg4Nl9TVU1NSVQgfHwgWDg2X0JJR1NNUCB8fCBYODZfRVM3MDAwCiAJZGVmYXVsdCAiOCIKIAloZWxwCiAJICBUaGlzIGFsbG93cyB5b3UgdG8gc3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgQ1BVcyB3aGljaCB0aGlzCi0JICBrZXJuZWwgd2lsbCBzdXBwb3J0LiAgVGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlIGlzIDI1NSBhbmQgdGhlCisJICBrZXJuZWwgd2lsbCBzdXBwb3J0LiAgVGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlIGlzIDQwOTYgYW5kIHRoZQogCSAgbWluaW11bSB2YWx1ZSB3aGljaCBtYWtlcyBzZW5zZSBpcyAyLgogCiAJICBUaGlzIGlzIHB1cmVseSB0byBzYXZlIG1lbW9yeSAtIGVhY2ggc3VwcG9ydGVkIENQVSBhZGRzCiAJICBhcHByb3hpbWF0ZWx5IGVpZ2h0IGtpbG9ieXRlcyB0byB0aGUga2VybmVsIGltYWdlLgorZW5kaWYKIAogY29uZmlnIFNDSEVEX1NNVAogCWJvb2wgIlNNVCAoSHlwZXJ0aHJlYWRpbmcpIHNjaGVkdWxlciBzdXBwb3J0IgpAQCAtNTk4LDcgKzYzMCw3IEBACiAKIGNvbmZpZyBYODZfVVBfQVBJQwogCWJvb2wgIkxvY2FsIEFQSUMgc3VwcG9ydCBvbiB1bmlwcm9jZXNzb3JzIgotCWRlcGVuZHMgb24gWDg2XzMyICYmICFTTVAgJiYgIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIgfHwgWDg2X0dFTkVSSUNBUkNIKQorCWRlcGVuZHMgb24gWDg2XzMyICYmICFTTVAgJiYgIShYODZfVk9ZQUdFUiB8fCBYODZfR0VORVJJQ0FSQ0gpCiAJaGVscAogCSAgQSBsb2NhbCBBUElDIChBZHZhbmNlZCBQcm9ncmFtbWFibGUgSW50ZXJydXB0IENvbnRyb2xsZXIpIGlzIGFuCiAJICBpbnRlZ3JhdGVkIGludGVycnVwdCBjb250cm9sbGVyIGluIHRoZSBDUFUuIElmIHlvdSBoYXZlIGEgc2luZ2xlLUNQVQpAQCAtNjIzLDExICs2NTUsMTEgQEAKIAogY29uZmlnIFg4Nl9MT0NBTF9BUElDCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgKFg4Nl9VUF9BUElDIHx8ICgoWDg2X1ZJU1dTIHx8IFNNUCkgJiYgIVg4Nl9WT1lBR0VSKSB8fCBYODZfR0VORVJJQ0FSQ0gpKQorCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgKFg4Nl9VUF9BUElDIHx8IChTTVAgJiYgIVg4Nl9WT1lBR0VSKSB8fCBYODZfR0VORVJJQ0FSQ0gpKQogCiBjb25maWcgWDg2X0lPX0FQSUMKIAlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfNjQgfHwgKFg4Nl8zMiAmJiAoWDg2X1VQX0lPQVBJQyB8fCAoU01QICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKSkgfHwgWDg2X0dFTkVSSUNBUkNIKSkKKwlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIChYODZfVVBfSU9BUElDIHx8IChTTVAgJiYgIVg4Nl9WT1lBR0VSKSB8fCBYODZfR0VORVJJQ0FSQ0gpKQogCiBjb25maWcgWDg2X1ZJU1dTX0FQSUMKIAlkZWZfYm9vbCB5CkBAIC02ODEsNyArNzEzLDcgQEAKIAogY29uZmlnIFg4Nl9NQ0VfUDRUSEVSTUFMCiAJYm9vbCAiY2hlY2sgZm9yIFA0IHRoZXJtYWwgdGhyb3R0bGluZyBpbnRlcnJ1cHQuIgotCWRlcGVuZHMgb24gWDg2XzMyICYmIFg4Nl9NQ0UgJiYgKFg4Nl9VUF9BUElDIHx8IFNNUCkgJiYgIVg4Nl9WSVNXUworCWRlcGVuZHMgb24gWDg2XzMyICYmIFg4Nl9NQ0UgJiYgKFg4Nl9VUF9BUElDIHx8IFNNUCkKIAloZWxwCiAJICBFbmFibGluZyB0aGlzIGZlYXR1cmUgd2lsbCBjYXVzZSBhIG1lc3NhZ2UgdG8gYmUgcHJpbnRlZCB3aGVuIHRoZSBQNAogCSAgZW50ZXJzIHRoZXJtYWwgdGhyb3R0bGluZy4KQEAgLTkxMSw5ICs5NDMsOSBAQAogY29uZmlnIE5VTUEKIAlib29sICJOdW1hIE1lbW9yeSBBbGxvY2F0aW9uIGFuZCBTY2hlZHVsZXIgU3VwcG9ydCAoRVhQRVJJTUVOVEFMKSIKIAlkZXBlbmRzIG9uIFNNUAotCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgSElHSE1FTTY0RyAmJiAoWDg2X05VTUFRIHx8IChYODZfU1VNTUlUIHx8IFg4Nl9HRU5FUklDQVJDSCkgJiYgQUNQSSkgJiYgRVhQRVJJTUVOVEFMKQorCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgSElHSE1FTTY0RyAmJiAoWDg2X05VTUFRIHx8IFg4Nl9CSUdTTVAgfHwgWDg2X1NVTU1JVCAmJiBBQ1BJKSAmJiBFWFBFUklNRU5UQUwpCiAJZGVmYXVsdCBuIGlmIFg4Nl9QQwotCWRlZmF1bHQgeSBpZiAoWDg2X05VTUFRIHx8IFg4Nl9TVU1NSVQpCisJZGVmYXVsdCB5IGlmIChYODZfTlVNQVEgfHwgWDg2X1NVTU1JVCB8fCBYODZfQklHU01QKQogCWhlbHAKIAkgIEVuYWJsZSBOVU1BIChOb24gVW5pZm9ybSBNZW1vcnkgQWNjZXNzKSBzdXBwb3J0LgogCSAgVGhlIGtlcm5lbCB3aWxsIHRyeSB0byBhbGxvY2F0ZSBtZW1vcnkgdXNlZCBieSBhIENQVSBvbiB0aGUKQEAgLTk2NSwxMyArOTk3LDI1IEBACiAJICBpbnRvIHZpcnR1YWwgbm9kZXMgd2hlbiBib290ZWQgd2l0aCAibnVtYT1mYWtlPU4iLCB3aGVyZSBOIGlzIHRoZQogCSAgbnVtYmVyIG9mIG5vZGVzLiBUaGlzIGlzIG9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmcuCiAKK2lmIE1BWFNNUAorCiBjb25maWcgTk9ERVNfU0hJRlQKLQlpbnQgIk1heCBudW0gbm9kZXMgc2hpZnQoMS05KSIKLQlyYW5nZSAxIDkgIGlmIFg4Nl82NAorCWludAorCWRlZmF1bHQgIjkiCitlbmRpZgorCitpZiAhTUFYU01QCitjb25maWcgTk9ERVNfU0hJRlQKKwlpbnQgIk1heGltdW0gTlVNQSBOb2RlcyAoYXMgYSBwb3dlciBvZiAyKSIKKwlyYW5nZSAxIDkgICBpZiBYODZfNjQKIAlkZWZhdWx0ICI2IiBpZiBYODZfNjQKIAlkZWZhdWx0ICI0IiBpZiBYODZfTlVNQVEKIAlkZWZhdWx0ICIzIgogCWRlcGVuZHMgb24gTkVFRF9NVUxUSVBMRV9OT0RFUworCWhlbHAKKwkgIFNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIE5VTUEgTm9kZXMgYXZhaWxhYmxlIG9uIHRoZSB0YXJnZXQKKwkgIHN5c3RlbS4gIEluY3JlYXNlcyBtZW1vcnkgcmVzZXJ2ZWQgdG8gYWNjb21vZGF0ZSB2YXJpb3VzIHRhYmxlcy4KK2VuZGlmCiAKIGNvbmZpZyBIQVZFX0FSQ0hfQk9PVE1FTV9OT0RFCiAJZGVmX2Jvb2wgeQpAQCAtMTA5MCw2ICsxMTM0LDM3IEBACiAKIAkgIFNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL210cnIudHh0PiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIAorY29uZmlnIE1UUlJfU0FOSVRJWkVSCisJYm9vbAorCXByb21wdCAiTVRSUiBjbGVhbnVwIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBNVFJSCisJaGVscAorCSAgQ29udmVydCBNVFJSIGxheW91dCBmcm9tIGNvbnRpbnVvdXMgdG8gZGlzY3JldGUsIHNvIFggZHJpdmVycyBjYW4KKwkgIGFkZCB3cml0ZWJhY2sgZW50cmllcy4KKworCSAgQ2FuIGJlIGRpc2FibGVkIHdpdGggZGlzYWJsZV9tdHJyX2NsZWFudXAgb24gdGhlIGtlcm5lbCBjb21tYW5kIGxpbmUuCisJICBUaGUgbGFyZ2VzdCBtdHJyIGVudHJ5IHNpemUgZm9yIGEgY29udGlub3VzIGJsb2NrIGNhbiBiZSBzZXQgd2l0aAorCSAgbXRycl9jaHVua19zaXplLgorCisJICBJZiB1bnN1cmUsIHNheSBOLgorCitjb25maWcgTVRSUl9TQU5JVElaRVJfRU5BQkxFX0RFRkFVTFQKKwlpbnQgIk1UUlIgY2xlYW51cCBlbmFibGUgdmFsdWUgKDAtMSkiCisJcmFuZ2UgMCAxCisJZGVmYXVsdCAiMCIKKwlkZXBlbmRzIG9uIE1UUlJfU0FOSVRJWkVSCisJaGVscAorCSAgRW5hYmxlIG10cnIgY2xlYW51cCBkZWZhdWx0IHZhbHVlCisKK2NvbmZpZyBNVFJSX1NBTklUSVpFUl9TUEFSRV9SRUdfTlJfREVGQVVMVAorCWludCAiTVRSUiBjbGVhbnVwIHNwYXJlIHJlZyBudW0gKDAtNykiCisJcmFuZ2UgMCA3CisJZGVmYXVsdCAiMSIKKwlkZXBlbmRzIG9uIE1UUlJfU0FOSVRJWkVSCisJaGVscAorCSAgbXRyciBjbGVhbnVwIHNwYXJlIGVudHJpZXMgZGVmYXVsdCwgaXQgY2FuIGJlIGNoYW5nZWQgdmlhCisJICBtdHJyX3NwYXJlX3JlZ19ucj1OIG9uIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lLgorCiBjb25maWcgWDg2X1BBVAogCWJvb2wKIAlwcm9tcHQgIng4NiBQQVQgc3VwcG9ydCIKQEAgLTExOTAsNyArMTI2NSw2IEBACiAKIGNvbmZpZyBDUkFTSF9EVU1QCiAJYm9vbCAia2VybmVsIGNyYXNoIGR1bXBzIChFWFBFUklNRU5UQUwpIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCiAJZGVwZW5kcyBvbiBYODZfNjQgfHwgKFg4Nl8zMiAmJiBISUdITUVNKQogCWhlbHAKIAkgIEdlbmVyYXRlIGNyYXNoIGR1bXAgYWZ0ZXIgYmVpbmcgc3RhcnRlZCBieSBrZXhlYy4KQEAgLTEzMzksNyArMTQxMyw3IEBACiAKIG1lbnVjb25maWcgQVBNCiAJdHJpc3RhdGUgIkFQTSAoQWR2YW5jZWQgUG93ZXIgTWFuYWdlbWVudCkgQklPUyBzdXBwb3J0IgotCWRlcGVuZHMgb24gWDg2XzMyICYmIFBNX1NMRUVQICYmICFYODZfVklTV1MKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQTV9TTEVFUAogCS0tLWhlbHAtLS0KIAkgIEFQTSBpcyBhIEJJT1Mgc3BlY2lmaWNhdGlvbiBmb3Igc2F2aW5nIHBvd2VyIHVzaW5nIHNldmVyYWwgZGlmZmVyZW50CiAJICB0ZWNobmlxdWVzLiBUaGlzIGlzIG1vc3RseSB1c2VmdWwgZm9yIGJhdHRlcnkgcG93ZXJlZCBsYXB0b3BzIHdpdGgKQEAgLTE0NzUsOCArMTU0OSw3IEBACiBtZW51ICJCdXMgb3B0aW9ucyAoUENJIGV0Yy4pIgogCiBjb25maWcgUENJCi0JYm9vbCAiUENJIHN1cHBvcnQiIGlmICFYODZfVklTV1MgJiYgIVg4Nl9WU01QCi0JZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKKwlib29sICJQQ0kgc3VwcG9ydCIKIAlkZWZhdWx0IHkKIAlzZWxlY3QgQVJDSF9TVVBQT1JUU19NU0kgaWYgKFg4Nl9MT0NBTF9BUElDICYmIFg4Nl9JT19BUElDKQogCWhlbHAKQEAgLTE0ODcsNyArMTU2MCw3IEBACiAKIGNob2ljZQogCXByb21wdCAiUENJIGFjY2VzcyBtb2RlIgotCWRlcGVuZHMgb24gWDg2XzMyICYmIFBDSSAmJiAhWDg2X1ZJU1dTCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUENJCiAJZGVmYXVsdCBQQ0lfR09BTlkKIAktLS1oZWxwLS0tCiAJICBPbiBQQ0kgc3lzdGVtcywgdGhlIEJJT1MgY2FuIGJlIHVzZWQgdG8gZGV0ZWN0IHRoZSBQQ0kgZGV2aWNlcyBhbmQKQEAgLTE1MjQsMTIgKzE1OTcsMTIgQEAKIAogY29uZmlnIFBDSV9CSU9TCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmICFYODZfVklTV1MgJiYgUENJICYmIChQQ0lfR09CSU9TIHx8IFBDSV9HT0FOWSkKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQQ0kgJiYgKFBDSV9HT0JJT1MgfHwgUENJX0dPQU5ZKQogCiAjIHg4Ni02NCBkb2Vzbid0IHN1cHBvcnQgUENJIEJJT1MgYWNjZXNzIGZyb20gbG9uZyBtb2RlIHNvIGFsd2F5cyBnbyBkaXJlY3QuCiBjb25maWcgUENJX0RJUkVDVAogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFBDSSAmJiAoWDg2XzY0IHx8IChQQ0lfR09ESVJFQ1QgfHwgUENJX0dPQU5ZIHx8IFBDSV9HT09MUEMpIHx8IFg4Nl9WSVNXUykKKwlkZXBlbmRzIG9uIFBDSSAmJiAoWDg2XzY0IHx8IChQQ0lfR09ESVJFQ1QgfHwgUENJX0dPQU5ZIHx8IFBDSV9HT09MUEMpKQogCiBjb25maWcgUENJX01NQ09ORklHCiAJZGVmX2Jvb2wgeQpAQCAtMTU4OSw3ICsxNjYyLDcgQEAKIAogY29uZmlnIElTQQogCWJvb2wgIklTQSBzdXBwb3J0IgotCWRlcGVuZHMgb24gIShYODZfVk9ZQUdFUiB8fCBYODZfVklTV1MpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAloZWxwCiAJICBGaW5kIG91dCB3aGV0aGVyIHlvdSBoYXZlIElTQSBzbG90cyBvbiB5b3VyIG1vdGhlcmJvYXJkLiAgSVNBIGlzIHRoZQogCSAgbmFtZSBvZiBhIGJ1cyBzeXN0ZW0sIGkuZS4gdGhlIHdheSB0aGUgQ1BVIHRhbGtzIHRvIHRoZSBvdGhlciBzdHVmZgpAQCAtMTYxNiw3ICsxNjg5LDcgQEAKIHNvdXJjZSAiZHJpdmVycy9laXNhL0tjb25maWciCiAKIGNvbmZpZyBNQ0EKLQlib29sICJNQ0Egc3VwcG9ydCIgaWYgIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJYm9vbCAiTUNBIHN1cHBvcnQiIGlmICFYODZfVk9ZQUdFUgogCWRlZmF1bHQgeSBpZiBYODZfVk9ZQUdFUgogCWhlbHAKIAkgIE1pY3JvQ2hhbm5lbCBBcmNoaXRlY3R1cmUgaXMgZm91bmQgaW4gc29tZSBJQk0gUFMvMiBtYWNoaW5lcyBhbmQKZGlmZiAtLWdpdCBhL2FyY2gveDg2L0tjb25maWcuY3B1IGIvYXJjaC94ODYvS2NvbmZpZy5jcHUKaW5kZXggMmFkNjMwMS4uYWJmZjFiOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvS2NvbmZpZy5jcHUKKysrIGIvYXJjaC94ODYvS2NvbmZpZy5jcHUKQEAgLTM0NCw3ICszNDQsNyBAQAogCiBjb25maWcgWDg2X1dQX1dPUktTX09LCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmICFNMzg2CisJZGVwZW5kcyBvbiAhTTM4NgogCiBjb25maWcgWDg2X0lOVkxQRwogCWRlZl9ib29sIHkKQEAgLTM5OSw2ICszOTksMTAgQEAKIAlkZWZfYm9vbCB5CiAJZGVwZW5kcyBvbiAoKE1XSU5DSElQM0QgfHwgTVdJTkNISVAyIHx8IE1DUlVTT0UgfHwgTUVGRklDRU9OIHx8IE1DWVJJWElJSSB8fCBNSzcgfHwgTUs2IHx8IE1QRU5USVVNNCB8fCBNUEVOVElVTU0gfHwgTVBFTlRJVU1JSUkgfHwgTVBFTlRJVU1JSSB8fCBNNjg2IHx8IE01ODZNTVggfHwgTTU4NlRTQyB8fCBNSzggfHwgTVZJQUMzXzIgfHwgTVZJQUM3IHx8IE1HRU9ERUdYMSB8fCBNR0VPREVfTFggfHwgTUNPUkUyKSAmJiAhWDg2X05VTUFRKSB8fCBYODZfNjQKIAorY29uZmlnIFg4Nl9DTVBYQ0hHNjQKKwlkZWZfYm9vbCB5CisJZGVwZW5kcyBvbiBYODZfUEFFIHx8IFg4Nl82NAorCiAjIHRoaXMgc2hvdWxkIGJlIHNldCBmb3IgYWxsIC1tYXJjaD0uLiBvcHRpb25zIHdoZXJlIHRoZSBjb21waWxlcgogIyBnZW5lcmF0ZXMgY21vdi4KIGNvbmZpZyBYODZfQ01PVgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvS2NvbmZpZy5kZWJ1ZyBiL2FyY2gveDg2L0tjb25maWcuZGVidWcKaW5kZXggMTgzNjMzNy4uYWUzNmJmYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvS2NvbmZpZy5kZWJ1ZworKysgYi9hcmNoL3g4Ni9LY29uZmlnLmRlYnVnCkBAIC0yMCw2ICsyMCwxNCBAQAogCiAJICBJZiBpbiBkb3VidCwgc2F5IFkuCiAKK2NvbmZpZyBYODZfVkVSQk9TRV9CT09UVVAKKwlib29sICJFbmFibGUgdmVyYm9zZSB4ODYgYm9vdHVwIGluZm8gbWVzc2FnZXMiCisJZGVmYXVsdCB5CisJaGVscAorCSAgRW5hYmxlcyB0aGUgaW5mb3JtYXRpb25hbCBvdXRwdXQgZnJvbSB0aGUgZGVjb21wcmVzc2lvbiBzdGFnZQorCSAgKGUuZy4gYnpJbWFnZSkgb2YgdGhlIGJvb3QuIElmIHlvdSBkaXNhYmxlIHRoaXMgeW91IHdpbGwgc3RpbGwKKwkgIHNlZSBlcnJvcnMuIERpc2FibGUgdGhpcyBpZiB5b3Ugd2FudCBzaWxlbnQgYm9vdHVwLgorCiBjb25maWcgRUFSTFlfUFJJTlRLCiAJYm9vbCAiRWFybHkgcHJpbnRrIiBpZiBFTUJFRERFRAogCWRlZmF1bHQgeQpAQCAtNjAsNyArNjgsNyBAQAogY29uZmlnIERFQlVHX1BFUl9DUFVfTUFQUwogCWJvb2wgIkRlYnVnIGFjY2VzcyB0byBwZXJfY3B1IG1hcHMiCiAJZGVwZW5kcyBvbiBERUJVR19LRVJORUwKLQlkZXBlbmRzIG9uIFg4Nl82NF9TTVAKKwlkZXBlbmRzIG9uIFg4Nl9TTVAKIAlkZWZhdWx0IG4KIAloZWxwCiAJICBTYXkgWSB0byB2ZXJpZnkgdGhhdCB0aGUgcGVyX2NwdSBtYXAgYmVpbmcgYWNjZXNzZWQgaGFzCkBAIC0xMjksMTUgKzEzNyw2IEBACiAJICBvbiB0aGUgVk0gc3Vic3lzdGVtIGZvciBoaWdoZXIgb3JkZXIgYWxsb2NhdGlvbnMuIFRoaXMgb3B0aW9uCiAJICB3aWxsIGFsc28gdXNlIElSUSBzdGFja3MgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIHJlZHVjZWQgc3RhY2tzcGFjZS4KIAotY29uZmlnIFg4Nl9GSU5EX1NNUF9DT05GSUcKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfTE9DQUxfQVBJQyB8fCBYODZfVk9ZQUdFUgotCWRlcGVuZHMgb24gWDg2XzMyCi0KLWNvbmZpZyBYODZfTVBQQVJTRQotCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIChYODZfMzIgJiYgKFg4Nl9MT0NBTF9BUElDICYmICFYODZfVklTV1MpKSB8fCBYODZfNjQKLQogY29uZmlnIERPVUJMRUZBVUxUCiAJZGVmYXVsdCB5CiAJYm9vbCAiRW5hYmxlIGRvdWJsZWZhdWx0IGV4Y2VwdGlvbiBoYW5kbGVyIiBpZiBFTUJFRERFRApAQCAtMTcyLDYgKzE3MSwzMyBAQAogCSAgQWRkIGEgc2ltcGxlIGxlYWsgdHJhY2VyIHRvIHRoZSBJT01NVSBjb2RlLiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdQogCSAgYXJlIGRlYnVnZ2luZyBhIGJ1Z2d5IGRldmljZSBkcml2ZXIgdGhhdCBsZWFrcyBJT01NVSBtYXBwaW5ncy4KIAorY29uZmlnIE1NSU9UUkFDRV9IT09LUworCWJvb2wKKworY29uZmlnIE1NSU9UUkFDRQorCWJvb2wgIk1lbW9yeSBtYXBwZWQgSU8gdHJhY2luZyIKKwlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTCAmJiBQQ0kKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBNTUlPVFJBQ0VfSE9PS1MKKwloZWxwCisJICBNbWlvdHJhY2UgdHJhY2VzIE1lbW9yeSBNYXBwZWQgSS9PIGFjY2VzcyBhbmQgaXMgbWVhbnQgZm9yCisJICBkZWJ1Z2dpbmcgYW5kIHJldmVyc2UgZW5naW5lZXJpbmcuIEl0IGlzIGNhbGxlZCBmcm9tIHRoZSBpb3JlbWFwCisJICBpbXBsZW1lbnRhdGlvbiBhbmQgd29ya3MgdmlhIHBhZ2UgZmF1bHRzLiBUcmFjaW5nIGlzIGRpc2FibGVkIGJ5CisJICBkZWZhdWx0IGFuZCBjYW4gYmUgZW5hYmxlZCBhdCBydW4tdGltZS4KKworCSAgU2VlIERvY3VtZW50YXRpb24vdHJhY2Vycy9tbWlvdHJhY2UudHh0LgorCSAgSWYgeW91IGFyZSBub3QgaGVscGluZyB0byBkZXZlbG9wIGRyaXZlcnMsIHNheSBOLgorCitjb25maWcgTU1JT1RSQUNFX1RFU1QKKwl0cmlzdGF0ZSAiVGVzdCBtb2R1bGUgZm9yIG1taW90cmFjZSIKKwlkZXBlbmRzIG9uIE1NSU9UUkFDRSAmJiBtCisJaGVscAorCSAgVGhpcyBpcyBhIGR1bWIgbW9kdWxlIGZvciB0ZXN0aW5nIG1taW90cmFjZS4gSXQgaXMgdmVyeSBkYW5nZXJvdXMKKwkgIGFzIGl0IHdpbGwgd3JpdGUgZ2FyYmFnZSB0byBJTyBtZW1vcnkgc3RhcnRpbmcgYXQgYSBnaXZlbiBhZGRyZXNzLgorCSAgSG93ZXZlciwgaXQgc2hvdWxkIGJlIHNhZmUgdG8gdXNlIG9uIGUuZy4gdW51c2VkIHBvcnRpb24gb2YgVlJBTS4KKworCSAgU2F5IE4sIHVubGVzcyB5b3UgYWJzb2x1dGVseSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy4KKwogIwogIyBJTyBkZWxheSB0eXBlczoKICMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L01ha2VmaWxlIGIvYXJjaC94ODYvTWFrZWZpbGUKaW5kZXggM2NmZjNjOC4uOTE5Y2UyMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvTWFrZWZpbGUKQEAgLTExMywzMyArMTEzLDExIEBACiBtZmxhZ3MtJChDT05GSUdfWDg2X1ZPWUFHRVIpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlcgogbWNvcmUtJChDT05GSUdfWDg2X1ZPWUFHRVIpCTo9IGFyY2gveDg2L21hY2gtdm95YWdlci8KIAotIyBWSVNXUyBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfVklTV1MpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MKLW1jb3JlLSQoQ09ORklHX1g4Nl9WSVNXUykJOj0gYXJjaC94ODYvbWFjaC12aXN3cy8KLQotIyBOVU1BUSBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfTlVNQVEpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEKLW1jb3JlLSQoQ09ORklHX1g4Nl9OVU1BUSkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwotCi0jIEJJR1NNUCBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfQklHU01QKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcAotbWNvcmUtJChDT05GSUdfWDg2X0JJR1NNUCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwotCi0jU3VtbWl0IHN1YmFyY2ggc3VwcG9ydAotbWZsYWdzLSQoQ09ORklHX1g4Nl9TVU1NSVQpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0Ci1tY29yZS0kKENPTkZJR19YODZfU1VNTUlUKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCi0KICMgZ2VuZXJpYyBzdWJhcmNoaXRlY3R1cmUKIG1mbGFncy0kKENPTkZJR19YODZfR0VORVJJQ0FSQ0gpOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljCiBmY29yZS0kKENPTkZJR19YODZfR0VORVJJQ0FSQ0gpCSs9IGFyY2gveDg2L21hY2gtZ2VuZXJpYy8KIG1jb3JlLSQoQ09ORklHX1g4Nl9HRU5FUklDQVJDSCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwogCi0KLSMgRVM3MDAwIHN1YmFyY2ggc3VwcG9ydAotbWZsYWdzLSQoQ09ORklHX1g4Nl9FUzcwMDApCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtZXM3MDAwCi1mY29yZS0kKENPTkZJR19YODZfRVM3MDAwKQk6PSBhcmNoL3g4Ni9tYWNoLWVzNzAwMC8KLW1jb3JlLSQoQ09ORklHX1g4Nl9FUzcwMDApCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KLQogIyBSREMgUi0zMjF4IHN1YmFyY2ggc3VwcG9ydAogbWZsYWdzLSQoQ09ORklHX1g4Nl9SREMzMjFYKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLXJkYzMyMXgKIG1jb3JlLSQoQ09ORklHX1g4Nl9SREMzMjFYKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCkBAIC0xNjAsNiArMTM4LDcgQEAKIAogaGVhZC15IDo9IGFyY2gveDg2L2tlcm5lbC9oZWFkXyQoQklUUykubwogaGVhZC15ICs9IGFyY2gveDg2L2tlcm5lbC9oZWFkJChCSVRTKS5vCitoZWFkLXkgKz0gYXJjaC94ODYva2VybmVsL2hlYWQubwogaGVhZC15ICs9IGFyY2gveDg2L2tlcm5lbC9pbml0X3Rhc2subwogCiBsaWJzLXkgICs9IGFyY2gveDg2L2xpYi8KQEAgLTIxMCwxMiArMTg5LDEyIEBACiAKICMgS0JVSUxEX0lNQUdFIHNwZWNpZnkgdGFyZ2V0IGltYWdlIGJlaW5nIGJ1aWx0CiAgICAgICAgICAgICAgICAgICAgIEtCVUlMRF9JTUFHRSA6PSAkKGJvb3QpL2J6SW1hZ2UKLXpJbWFnZSB6bGlsbyB6ZGlzazogS0JVSUxEX0lNQUdFIDo9IGFyY2gveDg2L2Jvb3QvekltYWdlCit6SW1hZ2UgemxpbG8gemRpc2s6IEtCVUlMRF9JTUFHRSA6PSAkKGJvb3QpL3pJbWFnZQogCiB6SW1hZ2UgYnpJbWFnZTogdm1saW51eAogCSQoUSkkKE1BS0UpICQoYnVpbGQpPSQoYm9vdCkgJChLQlVJTERfSU1BR0UpCiAJJChRKW1rZGlyIC1wICQob2JqdHJlZSkvYXJjaC8kKFVUU19NQUNISU5FKS9ib290Ci0JJChRKWxuIC1mc24gLi4vLi4veDg2L2Jvb3QvYnpJbWFnZSAkKG9ianRyZWUpL2FyY2gvJChVVFNfTUFDSElORSkvYm9vdC9iekltYWdlCisJJChRKWxuIC1mc24gLi4vLi4veDg2L2Jvb3QvYnpJbWFnZSAkKG9ianRyZWUpL2FyY2gvJChVVFNfTUFDSElORSkvYm9vdC8kQAogCiBjb21wcmVzc2VkOiB6SW1hZ2UKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9hMjAuYyBiL2FyY2gveDg2L2Jvb3QvYTIwLmMKaW5kZXggZTAxYWFmZC4uNDA2M2Q2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9hMjAuYworKysgYi9hcmNoL3g4Ni9ib290L2EyMC5jCkBAIC0xLDcgKzEsNyBAQAogLyogLSotIGxpbnV4LWMgLSotIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKgogICoKICAqICAgQ29weXJpZ2h0IChDKSAxOTkxLCAxOTkyIExpbnVzIFRvcnZhbGRzCi0gKiAgIENvcHlyaWdodCAyMDA3IHJQYXRoLCBJbmMuIC0gQWxsIFJpZ2h0cyBSZXNlcnZlZAorICogICBDb3B5cmlnaHQgMjAwNy0yMDA4IHJQYXRoLCBJbmMuIC0gQWxsIFJpZ2h0cyBSZXNlcnZlZAogICoKICAqICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIExpbnV4IGtlcm5lbCwgYW5kIGlzIG1hZGUgYXZhaWxhYmxlIHVuZGVyCiAgKiAgIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyLgpAQCAtOTUsNiArOTUsOSBAQAogCiAJb3V0YigweGRmLCAweDYwKTsJLyogQTIwIG9uICovCiAJZW1wdHlfODA0MigpOworCisJb3V0YigweGZmLCAweDY0KTsJLyogTnVsbCBjb21tYW5kLCBidXQgVUhDSSB3YW50cyBpdCAqLworCWVtcHR5XzgwNDIoKTsKIH0KIAogc3RhdGljIHZvaWQgZW5hYmxlX2EyMF9mYXN0KHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvaGVhZF82NC5TIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL2hlYWRfNjQuUwppbmRleCBkODgxOWVmLi4xZDVkZmY0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvaGVhZF82NC5TCisrKyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9oZWFkXzY0LlMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9ib290Lmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3ItZmxhZ3MuaD4KICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KIAogLnNlY3Rpb24gIi50ZXh0LmhlYWQiCkBAIC0xMDksNyArMTEwLDcgQEAKIAogCS8qIEVuYWJsZSBQQUUgbW9kZSAqLwogCXhvcmwJJWVheCwgJWVheAotCW9ybAkkKDEgPDwgNSksICVlYXgKKwlvcmwJJChYODZfQ1I0X1BBRSksICVlYXgKIAltb3ZsCSVlYXgsICVjcjQKIAogIC8qCkBAIC0xNzAsNyArMTcxLDcgQEAKIAlwdXNobAklZWF4CiAKIAkvKiBFbnRlciBwYWdlZCBwcm90ZWN0ZWQgTW9kZSwgYWN0aXZhdGluZyBMb25nIE1vZGUgKi8KLQltb3ZsCSQweDgwMDAwMDAxLCAlZWF4IC8qIEVuYWJsZSBQYWdpbmcgYW5kIFByb3RlY3RlZCBtb2RlICovCisJbW92bAkkKFg4Nl9DUjBfUEcgfCBYODZfQ1IwX1BFKSwgJWVheCAvKiBFbmFibGUgUGFnaW5nIGFuZCBQcm90ZWN0ZWQgbW9kZSAqLwogCW1vdmwJJWVheCwgJWNyMAogCiAJLyogSnVtcCBmcm9tIDMyYml0IGNvbXBhdGliaWxpdHkgbW9kZSBpbnRvIDY0Yml0IG1vZGUuICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvbWlzYy5jIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2MuYwppbmRleCA5MDQ1NmNlLi5iYzU1NTNiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvbWlzYy5jCisrKyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9taXNjLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9ib290Lmg+CisjaW5jbHVkZSA8YXNtL2Jvb3RwYXJhbS5oPgogCiAvKiBXQVJOSU5HISEKICAqIFRoaXMgY29kZSBpcyBjb21waWxlZCB3aXRoIC1mUElDIGFuZCBpdCBpcyByZWxvY2F0ZWQgZHluYW1pY2FsbHkKQEAgLTE4NywxMyArMTg4LDggQEAKIC8qCiAgKiBUaGlzIGlzIHNldCB1cCBieSB0aGUgc2V0dXAtcm91dGluZSBhdCBib290LXRpbWUKICAqLwotc3RhdGljIHVuc2lnbmVkIGNoYXIgKnJlYWxfbW9kZTsgLyogUG9pbnRlciB0byByZWFsLW1vZGUgZGF0YSAqLwotCi0jZGVmaW5lIFJNX0VYVF9NRU1fSyAgICgqKHVuc2lnbmVkIHNob3J0ICopKHJlYWxfbW9kZSArIDB4MikpCi0jaWZuZGVmIFNUQU5EQVJEX01FTU9SWV9CSU9TX0NBTEwKLSNkZWZpbmUgUk1fQUxUX01FTV9LICAgKCoodW5zaWduZWQgbG9uZyAqKShyZWFsX21vZGUgKyAweDFlMCkpCi0jZW5kaWYKLSNkZWZpbmUgUk1fU0NSRUVOX0lORk8gKCooc3RydWN0IHNjcmVlbl9pbmZvICopKHJlYWxfbW9kZSswKSkKK3N0YXRpYyBzdHJ1Y3QgYm9vdF9wYXJhbXMgKnJlYWxfbW9kZTsJCS8qIFBvaW50ZXIgdG8gcmVhbC1tb2RlIGRhdGEgKi8KK3N0YXRpYyBpbnQgcXVpZXQ7CiAKIGV4dGVybiB1bnNpZ25lZCBjaGFyIGlucHV0X2RhdGFbXTsKIGV4dGVybiBpbnQgaW5wdXRfbGVuOwpAQCAtMjA2LDcgKzIwMiw4IEBACiBzdGF0aWMgdm9pZCAqbWVtc2V0KHZvaWQgKnMsIGludCBjLCB1bnNpZ25lZCBuKTsKIHN0YXRpYyB2b2lkICptZW1jcHkodm9pZCAqZGVzdCwgY29uc3Qgdm9pZCAqc3JjLCB1bnNpZ25lZCBuKTsKIAotc3RhdGljIHZvaWQgcHV0c3RyKGNvbnN0IGNoYXIgKik7CitzdGF0aWMgdm9pZCBfX3B1dHN0cihpbnQsIGNvbnN0IGNoYXIgKik7CisjZGVmaW5lIHB1dHN0cihfX3gpICBfX3B1dHN0cigwLCBfX3gpCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAjZGVmaW5lIG1lbXB0ciBsb25nCkBAIC0yMjEsMTAgKzIxOCw2IEBACiBzdGF0aWMgaW50IHZpZHBvcnQ7CiBzdGF0aWMgaW50IGxpbmVzLCBjb2xzOwogCi0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotdm9pZCAqeHF1YWRfcG9ydGlvOwotI2VuZGlmCi0KICNpbmNsdWRlICIuLi8uLi8uLi8uLi9saWIvaW5mbGF0ZS5jIgogCiBzdGF0aWMgdm9pZCAqbWFsbG9jKGludCBzaXplKQpAQCAtMjcwLDE4ICsyNjMsMjQgQEAKIAkJdmlkbWVtW2ldID0gJyAnOwogfQogCi1zdGF0aWMgdm9pZCBwdXRzdHIoY29uc3QgY2hhciAqcykKK3N0YXRpYyB2b2lkIF9fcHV0c3RyKGludCBlcnJvciwgY29uc3QgY2hhciAqcykKIHsKIAlpbnQgeCwgeSwgcG9zOwogCWNoYXIgYzsKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLQlpZiAoUk1fU0NSRUVOX0lORk8ub3JpZ192aWRlb19tb2RlID09IDAgJiYgbGluZXMgPT0gMCAmJiBjb2xzID09IDApCisjaWZuZGVmIENPTkZJR19YODZfVkVSQk9TRV9CT09UVVAKKwlpZiAoIWVycm9yKQogCQlyZXR1cm47CiAjZW5kaWYKIAotCXggPSBSTV9TQ1JFRU5fSU5GTy5vcmlnX3g7Ci0JeSA9IFJNX1NDUkVFTl9JTkZPLm9yaWdfeTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJaWYgKHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ192aWRlb19tb2RlID09IDAgJiYKKwkgICAgbGluZXMgPT0gMCAmJiBjb2xzID09IDApCisJCXJldHVybjsKKyNlbmRpZgorCisJeCA9IHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ194OworCXkgPSByZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfeTsKIAogCXdoaWxlICgoYyA9ICpzKyspICE9ICdcMCcpIHsKIAkJaWYgKGMgPT0gJ1xuJykgewpAQCAtMzAyLDggKzMwMSw4IEBACiAJCX0KIAl9CiAKLQlSTV9TQ1JFRU5fSU5GTy5vcmlnX3ggPSB4OwotCVJNX1NDUkVFTl9JTkZPLm9yaWdfeSA9IHk7CisJcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3ggPSB4OworCXJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ195ID0geTsKIAogCXBvcyA9ICh4ICsgY29scyAqIHkpICogMjsJLyogVXBkYXRlIGN1cnNvciBwb3NpdGlvbiAqLwogCW91dGIoMTQsIHZpZHBvcnQpOwpAQCAtMzY2LDkgKzM2NSw5IEBACiAKIHN0YXRpYyB2b2lkIGVycm9yKGNoYXIgKngpCiB7Ci0JcHV0c3RyKCJcblxuIik7Ci0JcHV0c3RyKHgpOwotCXB1dHN0cigiXG5cbiAtLSBTeXN0ZW0gaGFsdGVkIik7CisJX19wdXRzdHIoMSwgIlxuXG4iKTsKKwlfX3B1dHN0cigxLCB4KTsKKwlfX3B1dHN0cigxLCAiXG5cbiAtLSBTeXN0ZW0gaGFsdGVkIik7CiAKIAl3aGlsZSAoMSkKIAkJYXNtKCJobHQiKTsKQEAgLTM5NSw3ICszOTQsOCBAQAogCQlyZXR1cm47CiAJfQogCi0JcHV0c3RyKCJQYXJzaW5nIEVMRi4uLiAiKTsKKwlpZiAoIXF1aWV0KQorCQlwdXRzdHIoIlBhcnNpbmcgRUxGLi4uICIpOwogCiAJcGhkcnMgPSBtYWxsb2Moc2l6ZW9mKCpwaGRycykgKiBlaGRyLmVfcGhudW0pOwogCWlmICghcGhkcnMpCkBAIC00MzAsNyArNDMwLDEwIEBACiB7CiAJcmVhbF9tb2RlID0gcm1vZGU7CiAKLQlpZiAoUk1fU0NSRUVOX0lORk8ub3JpZ192aWRlb19tb2RlID09IDcpIHsKKwlpZiAocmVhbF9tb2RlLT5oZHIubG9hZGZsYWdzICYgUVVJRVRfRkxBRykKKwkJcXVpZXQgPSAxOworCisJaWYgKHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ192aWRlb19tb2RlID09IDcpIHsKIAkJdmlkbWVtID0gKGNoYXIgKikgMHhiMDAwMDsKIAkJdmlkcG9ydCA9IDB4M2I0OwogCX0gZWxzZSB7CkBAIC00MzgsOCArNDQxLDggQEAKIAkJdmlkcG9ydCA9IDB4M2Q0OwogCX0KIAotCWxpbmVzID0gUk1fU0NSRUVOX0lORk8ub3JpZ192aWRlb19saW5lczsKLQljb2xzID0gUk1fU0NSRUVOX0lORk8ub3JpZ192aWRlb19jb2xzOworCWxpbmVzID0gcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3ZpZGVvX2xpbmVzOworCWNvbHMgPSByZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfdmlkZW9fY29sczsKIAogCXdpbmRvdyA9IG91dHB1dDsJCS8qIE91dHB1dCBidWZmZXIgKE5vcm1hbGx5IGF0IDFNKSAqLwogCWZyZWVfbWVtX3B0ciAgICAgPSBoZWFwOwkvKiBIZWFwICovCkBAIC00NjUsOSArNDY4LDExIEBACiAjZW5kaWYKIAogCW1ha2VjcmMoKTsKLQlwdXRzdHIoIlxuRGVjb21wcmVzc2luZyBMaW51eC4uLiAiKTsKKwlpZiAoIXF1aWV0KQorCQlwdXRzdHIoIlxuRGVjb21wcmVzc2luZyBMaW51eC4uLiAiKTsKIAlndW56aXAoKTsKIAlwYXJzZV9lbGYob3V0cHV0KTsKLQlwdXRzdHIoImRvbmUuXG5Cb290aW5nIHRoZSBrZXJuZWwuXG4iKTsKKwlpZiAoIXF1aWV0KQorCQlwdXRzdHIoImRvbmUuXG5Cb290aW5nIHRoZSBrZXJuZWwuXG4iKTsKIAlyZXR1cm47CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvcmVsb2NzLmMgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvcmVsb2NzLmMKaW5kZXggZWRhYWRlYS4uYTEzMTBjNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL3JlbG9jcy5jCisrKyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9yZWxvY3MuYwpAQCAtMTAsMTYgKzEwLDIwIEBACiAjZGVmaW5lIFVTRV9CU0QKICNpbmNsdWRlIDxlbmRpYW4uaD4KIAotI2RlZmluZSBNQVhfU0hEUlMgMTAwCiAjZGVmaW5lIEFSUkFZX1NJWkUoeCkgKHNpemVvZih4KSAvIHNpemVvZigoeClbMF0pKQogc3RhdGljIEVsZjMyX0VoZHIgZWhkcjsKLXN0YXRpYyBFbGYzMl9TaGRyIHNoZHJbTUFYX1NIRFJTXTsKLXN0YXRpYyBFbGYzMl9TeW0gICpzeW10YWJbTUFYX1NIRFJTXTsKLXN0YXRpYyBFbGYzMl9SZWwgICpyZWx0YWJbTUFYX1NIRFJTXTsKLXN0YXRpYyBjaGFyICpzdHJ0YWJbTUFYX1NIRFJTXTsKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHJlbG9jX2NvdW50LCByZWxvY19pZHg7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyAqcmVsb2NzOwogCitzdHJ1Y3Qgc2VjdGlvbiB7CisJRWxmMzJfU2hkciAgICAgc2hkcjsKKwlzdHJ1Y3Qgc2VjdGlvbiAqbGluazsKKwlFbGYzMl9TeW0gICAgICAqc3ltdGFiOworCUVsZjMyX1JlbCAgICAgICpyZWx0YWI7CisJY2hhciAgICAgICAgICAgKnN0cnRhYjsKK307CitzdGF0aWMgc3RydWN0IHNlY3Rpb24gKnNlY3M7CisKIC8qCiAgKiBGb2xsb3dpbmcgc3ltYm9scyBoYXZlIGJlZW4gYXVkaXRlZC4gVGhlcmUgdmFsdWVzIGFyZSBjb25zdGFudCBhbmQgZG8KICAqIG5vdCBjaGFuZ2UgaWYgYnpJbWFnZSBpcyBsb2FkZWQgYXQgYSBkaWZmZXJlbnQgcGh5c2ljYWwgYWRkcmVzcyB0aGFuCkBAIC0zNSw3ICszOSw3IEBACiB7CiAJaW50IGk7CiAKLQlmb3IoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNhZmVfYWJzX3JlbG9jcyk7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNhZmVfYWJzX3JlbG9jcyk7IGkrKykgewogCQlpZiAoIXN0cmNtcChzeW1fbmFtZSwgc2FmZV9hYnNfcmVsb2NzW2ldKSkKIAkJCS8qIE1hdGNoIGZvdW5kICovCiAJCQlyZXR1cm4gMTsKQEAgLTEzNywxMCArMTQxLDEwIEBACiB7CiAJY29uc3QgY2hhciAqc2VjX3N0cnRhYjsKIAljb25zdCBjaGFyICpuYW1lOwotCXNlY19zdHJ0YWIgPSBzdHJ0YWJbZWhkci5lX3Noc3RybmR4XTsKKwlzZWNfc3RydGFiID0gc2Vjc1tlaGRyLmVfc2hzdHJuZHhdLnN0cnRhYjsKIAluYW1lID0gIjxub25hbWU+IjsKIAlpZiAoc2huZHggPCBlaGRyLmVfc2hudW0pIHsKLQkJbmFtZSA9IHNlY19zdHJ0YWIgKyBzaGRyW3NobmR4XS5zaF9uYW1lOworCQluYW1lID0gc2VjX3N0cnRhYiArIHNlY3Nbc2huZHhdLnNoZHIuc2hfbmFtZTsKIAl9CiAJZWxzZSBpZiAoc2huZHggPT0gU0hOX0FCUykgewogCQluYW1lID0gIkFCU09MVVRFIjsKQEAgLTE1OSw3ICsxNjMsNyBAQAogCQluYW1lID0gc3ltX3N0cnRhYiArIHN5bS0+c3RfbmFtZTsKIAl9CiAJZWxzZSB7Ci0JCW5hbWUgPSBzZWNfbmFtZShzaGRyW3N5bS0+c3Rfc2huZHhdLnNoX25hbWUpOworCQluYW1lID0gc2VjX25hbWUoc2Vjc1tzeW0tPnN0X3NobmR4XS5zaGRyLnNoX25hbWUpOwogCX0KIAlyZXR1cm4gbmFtZTsKIH0KQEAgLTI0NCwyOSArMjQ4LDM0IEBACiBzdGF0aWMgdm9pZCByZWFkX3NoZHJzKEZJTEUgKmZwKQogewogCWludCBpOwotCWlmIChlaGRyLmVfc2hudW0gPiBNQVhfU0hEUlMpIHsKLQkJZGllKCIlZCBzZWN0aW9uIGhlYWRlcnMgc3VwcG9ydGVkOiAlZFxuIiwKLQkJCWVoZHIuZV9zaG51bSwgTUFYX1NIRFJTKTsKKwlFbGYzMl9TaGRyIHNoZHI7CisKKwlzZWNzID0gY2FsbG9jKGVoZHIuZV9zaG51bSwgc2l6ZW9mKHN0cnVjdCBzZWN0aW9uKSk7CisJaWYgKCFzZWNzKSB7CisJCWRpZSgiVW5hYmxlIHRvIGFsbG9jYXRlICVkIHNlY3Rpb24gaGVhZGVyc1xuIiwKKwkJICAgIGVoZHIuZV9zaG51bSk7CiAJfQogCWlmIChmc2VlayhmcCwgZWhkci5lX3Nob2ZmLCBTRUVLX1NFVCkgPCAwKSB7CiAJCWRpZSgiU2VlayB0byAlZCBmYWlsZWQ6ICVzXG4iLAogCQkJZWhkci5lX3Nob2ZmLCBzdHJlcnJvcihlcnJubykpOwogCX0KLQlpZiAoZnJlYWQoJnNoZHIsIHNpemVvZihzaGRyWzBdKSwgZWhkci5lX3NobnVtLCBmcCkgIT0gZWhkci5lX3NobnVtKSB7Ci0JCWRpZSgiQ2Fubm90IHJlYWQgRUxGIHNlY3Rpb24gaGVhZGVyczogJXNcbiIsCi0JCQlzdHJlcnJvcihlcnJubykpOwotCX0KLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewotCQlzaGRyW2ldLnNoX25hbWUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX25hbWUpOwotCQlzaGRyW2ldLnNoX3R5cGUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX3R5cGUpOwotCQlzaGRyW2ldLnNoX2ZsYWdzICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2ZsYWdzKTsKLQkJc2hkcltpXS5zaF9hZGRyICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9hZGRyKTsKLQkJc2hkcltpXS5zaF9vZmZzZXQgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9vZmZzZXQpOwotCQlzaGRyW2ldLnNoX3NpemUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX3NpemUpOwotCQlzaGRyW2ldLnNoX2xpbmsgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2xpbmspOwotCQlzaGRyW2ldLnNoX2luZm8gICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2luZm8pOwotCQlzaGRyW2ldLnNoX2FkZHJhbGlnbiA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2FkZHJhbGlnbik7Ci0JCXNoZHJbaV0uc2hfZW50c2l6ZSAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfZW50c2l6ZSk7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKwkJaWYgKGZyZWFkKCZzaGRyLCBzaXplb2Ygc2hkciwgMSwgZnApICE9IDEpCisJCQlkaWUoIkNhbm5vdCByZWFkIEVMRiBzZWN0aW9uIGhlYWRlcnMgJWQvJWQ6ICVzXG4iLAorCQkJICAgIGksIGVoZHIuZV9zaG51bSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJc2VjLT5zaGRyLnNoX25hbWUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX25hbWUpOworCQlzZWMtPnNoZHIuc2hfdHlwZSAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfdHlwZSk7CisJCXNlYy0+c2hkci5zaF9mbGFncyAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9mbGFncyk7CisJCXNlYy0+c2hkci5zaF9hZGRyICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9hZGRyKTsKKwkJc2VjLT5zaGRyLnNoX29mZnNldCAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX29mZnNldCk7CisJCXNlYy0+c2hkci5zaF9zaXplICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9zaXplKTsKKwkJc2VjLT5zaGRyLnNoX2xpbmsgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2xpbmspOworCQlzZWMtPnNoZHIuc2hfaW5mbyAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfaW5mbyk7CisJCXNlYy0+c2hkci5zaF9hZGRyYWxpZ24gPSBlbGYzMl90b19jcHUoc2hkci5zaF9hZGRyYWxpZ24pOworCQlzZWMtPnNoZHIuc2hfZW50c2l6ZSAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfZW50c2l6ZSk7CisJCWlmIChzZWMtPnNoZHIuc2hfbGluayA8IGVoZHIuZV9zaG51bSkKKwkJCXNlYy0+bGluayA9ICZzZWNzW3NlYy0+c2hkci5zaF9saW5rXTsKIAl9CiAKIH0KQEAgLTI3NCwyMCArMjgzLDIyIEBACiBzdGF0aWMgdm9pZCByZWFkX3N0cnRhYnMoRklMRSAqZnApCiB7CiAJaW50IGk7Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfU1RSVEFCKSB7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9TVFJUQUIpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXN0cnRhYltpXSA9IG1hbGxvYyhzaGRyW2ldLnNoX3NpemUpOwotCQlpZiAoIXN0cnRhYltpXSkgeworCQlzZWMtPnN0cnRhYiA9IG1hbGxvYyhzZWMtPnNoZHIuc2hfc2l6ZSk7CisJCWlmICghc2VjLT5zdHJ0YWIpIHsKIAkJCWRpZSgibWFsbG9jIG9mICVkIGJ5dGVzIGZvciBzdHJ0YWIgZmFpbGVkXG4iLAotCQkJCXNoZHJbaV0uc2hfc2l6ZSk7CisJCQkJc2VjLT5zaGRyLnNoX3NpemUpOwogCQl9Ci0JCWlmIChmc2VlayhmcCwgc2hkcltpXS5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKKwkJaWYgKGZzZWVrKGZwLCBzZWMtPnNoZHIuc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CiAJCQlkaWUoIlNlZWsgdG8gJWQgZmFpbGVkOiAlc1xuIiwKLQkJCQlzaGRyW2ldLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKKwkJCQlzZWMtPnNoZHIuc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWlmIChmcmVhZChzdHJ0YWJbaV0sIDEsIHNoZHJbaV0uc2hfc2l6ZSwgZnApICE9IHNoZHJbaV0uc2hfc2l6ZSkgeworCQlpZiAoZnJlYWQoc2VjLT5zdHJ0YWIsIDEsIHNlYy0+c2hkci5zaF9zaXplLCBmcCkKKwkJICAgICE9IHNlYy0+c2hkci5zaF9zaXplKSB7CiAJCQlkaWUoIkNhbm5vdCByZWFkIHN5bWJvbCB0YWJsZTogJXNcbiIsCiAJCQkJc3RyZXJyb3IoZXJybm8pKTsKIAkJfQpAQCAtMjk3LDI4ICszMDgsMzEgQEAKIHN0YXRpYyB2b2lkIHJlYWRfc3ltdGFicyhGSUxFICpmcCkKIHsKIAlpbnQgaSxqOwotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1NZTVRBQikgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfU1lNVEFCKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzeW10YWJbaV0gPSBtYWxsb2Moc2hkcltpXS5zaF9zaXplKTsKLQkJaWYgKCFzeW10YWJbaV0pIHsKKwkJc2VjLT5zeW10YWIgPSBtYWxsb2Moc2VjLT5zaGRyLnNoX3NpemUpOworCQlpZiAoIXNlYy0+c3ltdGFiKSB7CiAJCQlkaWUoIm1hbGxvYyBvZiAlZCBieXRlcyBmb3Igc3ltdGFiIGZhaWxlZFxuIiwKLQkJCQlzaGRyW2ldLnNoX3NpemUpOworCQkJCXNlYy0+c2hkci5zaF9zaXplKTsKIAkJfQotCQlpZiAoZnNlZWsoZnAsIHNoZHJbaV0uc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CisJCWlmIChmc2VlayhmcCwgc2VjLT5zaGRyLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgewogCQkJZGllKCJTZWVrIHRvICVkIGZhaWxlZDogJXNcbiIsCi0JCQkJc2hkcltpXS5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CisJCQkJc2VjLT5zaGRyLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJfQotCQlpZiAoZnJlYWQoc3ltdGFiW2ldLCAxLCBzaGRyW2ldLnNoX3NpemUsIGZwKSAhPSBzaGRyW2ldLnNoX3NpemUpIHsKKwkJaWYgKGZyZWFkKHNlYy0+c3ltdGFiLCAxLCBzZWMtPnNoZHIuc2hfc2l6ZSwgZnApCisJCSAgICAhPSBzZWMtPnNoZHIuc2hfc2l6ZSkgewogCQkJZGllKCJDYW5ub3QgcmVhZCBzeW1ib2wgdGFibGU6ICVzXG4iLAogCQkJCXN0cmVycm9yKGVycm5vKSk7CiAJCX0KLQkJZm9yKGogPSAwOyBqIDwgc2hkcltpXS5zaF9zaXplL3NpemVvZihzeW10YWJbaV1bMF0pOyBqKyspIHsKLQkJCXN5bXRhYltpXVtqXS5zdF9uYW1lICA9IGVsZjMyX3RvX2NwdShzeW10YWJbaV1bal0uc3RfbmFtZSk7Ci0JCQlzeW10YWJbaV1bal0uc3RfdmFsdWUgPSBlbGYzMl90b19jcHUoc3ltdGFiW2ldW2pdLnN0X3ZhbHVlKTsKLQkJCXN5bXRhYltpXVtqXS5zdF9zaXplICA9IGVsZjMyX3RvX2NwdShzeW10YWJbaV1bal0uc3Rfc2l6ZSk7Ci0JCQlzeW10YWJbaV1bal0uc3Rfc2huZHggPSBlbGYxNl90b19jcHUoc3ltdGFiW2ldW2pdLnN0X3NobmR4KTsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9TeW0pOyBqKyspIHsKKwkJCUVsZjMyX1N5bSAqc3ltID0gJnNlYy0+c3ltdGFiW2pdOworCQkJc3ltLT5zdF9uYW1lICA9IGVsZjMyX3RvX2NwdShzeW0tPnN0X25hbWUpOworCQkJc3ltLT5zdF92YWx1ZSA9IGVsZjMyX3RvX2NwdShzeW0tPnN0X3ZhbHVlKTsKKwkJCXN5bS0+c3Rfc2l6ZSAgPSBlbGYzMl90b19jcHUoc3ltLT5zdF9zaXplKTsKKwkJCXN5bS0+c3Rfc2huZHggPSBlbGYxNl90b19jcHUoc3ltLT5zdF9zaG5keCk7CiAJCX0KIAl9CiB9CkBAIC0zMjcsMjYgKzM0MSwyOSBAQAogc3RhdGljIHZvaWQgcmVhZF9yZWxvY3MoRklMRSAqZnApCiB7CiAJaW50IGksajsKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9SRUwpIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1JFTCkgewogCQkJY29udGludWU7CiAJCX0KLQkJcmVsdGFiW2ldID0gbWFsbG9jKHNoZHJbaV0uc2hfc2l6ZSk7Ci0JCWlmICghcmVsdGFiW2ldKSB7CisJCXNlYy0+cmVsdGFiID0gbWFsbG9jKHNlYy0+c2hkci5zaF9zaXplKTsKKwkJaWYgKCFzZWMtPnJlbHRhYikgewogCQkJZGllKCJtYWxsb2Mgb2YgJWQgYnl0ZXMgZm9yIHJlbG9jcyBmYWlsZWRcbiIsCi0JCQkJc2hkcltpXS5zaF9zaXplKTsKKwkJCQlzZWMtPnNoZHIuc2hfc2l6ZSk7CiAJCX0KLQkJaWYgKGZzZWVrKGZwLCBzaGRyW2ldLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgeworCQlpZiAoZnNlZWsoZnAsIHNlYy0+c2hkci5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKIAkJCWRpZSgiU2VlayB0byAlZCBmYWlsZWQ6ICVzXG4iLAotCQkJCXNoZHJbaV0uc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOworCQkJCXNlYy0+c2hkci5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CiAJCX0KLQkJaWYgKGZyZWFkKHJlbHRhYltpXSwgMSwgc2hkcltpXS5zaF9zaXplLCBmcCkgIT0gc2hkcltpXS5zaF9zaXplKSB7CisJCWlmIChmcmVhZChzZWMtPnJlbHRhYiwgMSwgc2VjLT5zaGRyLnNoX3NpemUsIGZwKQorCQkgICAgIT0gc2VjLT5zaGRyLnNoX3NpemUpIHsKIAkJCWRpZSgiQ2Fubm90IHJlYWQgc3ltYm9sIHRhYmxlOiAlc1xuIiwKIAkJCQlzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWZvcihqID0gMDsgaiA8IHNoZHJbaV0uc2hfc2l6ZS9zaXplb2YocmVsdGFiWzBdWzBdKTsgaisrKSB7Ci0JCQlyZWx0YWJbaV1bal0ucl9vZmZzZXQgPSBlbGYzMl90b19jcHUocmVsdGFiW2ldW2pdLnJfb2Zmc2V0KTsKLQkJCXJlbHRhYltpXVtqXS5yX2luZm8gICA9IGVsZjMyX3RvX2NwdShyZWx0YWJbaV1bal0ucl9pbmZvKTsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9SZWwpOyBqKyspIHsKKwkJCUVsZjMyX1JlbCAqcmVsID0gJnNlYy0+cmVsdGFiW2pdOworCQkJcmVsLT5yX29mZnNldCA9IGVsZjMyX3RvX2NwdShyZWwtPnJfb2Zmc2V0KTsKKwkJCXJlbC0+cl9pbmZvICAgPSBlbGYzMl90b19jcHUocmVsLT5yX2luZm8pOwogCQl9CiAJfQogfQpAQCAtMzU3LDE5ICszNzQsMjEgQEAKIAlpbnQgaTsKIAlwcmludGYoIkFic29sdXRlIHN5bWJvbHNcbiIpOwogCXByaW50ZigiIE51bTogICAgVmFsdWUgU2l6ZSAgVHlwZSAgICAgICBCaW5kICAgICAgICBWaXNpYmlsaXR5ICBOYW1lXG4iKTsKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CiAJCWNoYXIgKnN5bV9zdHJ0YWI7CiAJCUVsZjMyX1N5bSAqc2hfc3ltdGFiOwogCQlpbnQgajsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfU1lNVEFCKSB7CisKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9TWU1UQUIpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNoX3N5bXRhYiA9IHN5bXRhYltpXTsKLQkJc3ltX3N0cnRhYiA9IHN0cnRhYltzaGRyW2ldLnNoX2xpbmtdOwotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHN5bXRhYlswXVswXSk7IGorKykgeworCQlzaF9zeW10YWIgPSBzZWMtPnN5bXRhYjsKKwkJc3ltX3N0cnRhYiA9IHNlYy0+bGluay0+c3RydGFiOworCQlmb3IgKGogPSAwOyBqIDwgc2VjLT5zaGRyLnNoX3NpemUvc2l6ZW9mKEVsZjMyX1N5bSk7IGorKykgewogCQkJRWxmMzJfU3ltICpzeW07CiAJCQljb25zdCBjaGFyICpuYW1lOwotCQkJc3ltID0gJnN5bXRhYltpXVtqXTsKKwkJCXN5bSA9ICZzZWMtPnN5bXRhYltqXTsKIAkJCW5hbWUgPSBzeW1fbmFtZShzeW1fc3RydGFiLCBzeW0pOwogCQkJaWYgKHN5bS0+c3Rfc2huZHggIT0gU0hOX0FCUykgewogCQkJCWNvbnRpbnVlOwpAQCAtMzg5LDI2ICs0MDgsMjcgQEAKIHsKIAlpbnQgaSwgcHJpbnRlZCA9IDA7CiAKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCXN0cnVjdCBzZWN0aW9uICpzZWNfYXBwbGllcywgKnNlY19zeW10YWI7CiAJCWNoYXIgKnN5bV9zdHJ0YWI7CiAJCUVsZjMyX1N5bSAqc2hfc3ltdGFiOwotCQl1bnNpZ25lZCBzZWNfYXBwbGllcywgc2VjX3N5bXRhYjsKIAkJaW50IGo7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1JFTCkgeworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1JFTCkgewogCQkJY29udGludWU7CiAJCX0KLQkJc2VjX3N5bXRhYiAgPSBzaGRyW2ldLnNoX2xpbms7Ci0JCXNlY19hcHBsaWVzID0gc2hkcltpXS5zaF9pbmZvOwotCQlpZiAoIShzaGRyW3NlY19hcHBsaWVzXS5zaF9mbGFncyAmIFNIRl9BTExPQykpIHsKKwkJc2VjX3N5bXRhYiAgPSBzZWMtPmxpbms7CisJCXNlY19hcHBsaWVzID0gJnNlY3Nbc2VjLT5zaGRyLnNoX2luZm9dOworCQlpZiAoIShzZWNfYXBwbGllcy0+c2hkci5zaF9mbGFncyAmIFNIRl9BTExPQykpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNoX3N5bXRhYiA9IHN5bXRhYltzZWNfc3ltdGFiXTsKLQkJc3ltX3N0cnRhYiA9IHN0cnRhYltzaGRyW3NlY19zeW10YWJdLnNoX2xpbmtdOwotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHJlbHRhYlswXVswXSk7IGorKykgeworCQlzaF9zeW10YWIgID0gc2VjX3N5bXRhYi0+c3ltdGFiOworCQlzeW1fc3RydGFiID0gc2VjX3N5bXRhYi0+bGluay0+c3RydGFiOworCQlmb3IgKGogPSAwOyBqIDwgc2VjLT5zaGRyLnNoX3NpemUvc2l6ZW9mKEVsZjMyX1JlbCk7IGorKykgewogCQkJRWxmMzJfUmVsICpyZWw7CiAJCQlFbGYzMl9TeW0gKnN5bTsKIAkJCWNvbnN0IGNoYXIgKm5hbWU7Ci0JCQlyZWwgPSAmcmVsdGFiW2ldW2pdOworCQkJcmVsID0gJnNlYy0+cmVsdGFiW2pdOwogCQkJc3ltID0gJnNoX3N5bXRhYltFTEYzMl9SX1NZTShyZWwtPnJfaW5mbyldOwogCQkJbmFtZSA9IHN5bV9uYW1lKHN5bV9zdHJ0YWIsIHN5bSk7CiAJCQlpZiAoc3ltLT5zdF9zaG5keCAhPSBTSE5fQUJTKSB7CkBAIC00NTYsMjYgKzQ3NiwyOCBAQAogewogCWludCBpOwogCS8qIFdhbGsgdGhyb3VnaCB0aGUgcmVsb2NhdGlvbnMgKi8KLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewogCQljaGFyICpzeW1fc3RydGFiOwogCQlFbGYzMl9TeW0gKnNoX3N5bXRhYjsKLQkJdW5zaWduZWQgc2VjX2FwcGxpZXMsIHNlY19zeW10YWI7CisJCXN0cnVjdCBzZWN0aW9uICpzZWNfYXBwbGllcywgKnNlY19zeW10YWI7CiAJCWludCBqOwotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9SRUwpIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfUkVMKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzZWNfc3ltdGFiICA9IHNoZHJbaV0uc2hfbGluazsKLQkJc2VjX2FwcGxpZXMgPSBzaGRyW2ldLnNoX2luZm87Ci0JCWlmICghKHNoZHJbc2VjX2FwcGxpZXNdLnNoX2ZsYWdzICYgU0hGX0FMTE9DKSkgeworCQlzZWNfc3ltdGFiICA9IHNlYy0+bGluazsKKwkJc2VjX2FwcGxpZXMgPSAmc2Vjc1tzZWMtPnNoZHIuc2hfaW5mb107CisJCWlmICghKHNlY19hcHBsaWVzLT5zaGRyLnNoX2ZsYWdzICYgU0hGX0FMTE9DKSkgewogCQkJY29udGludWU7CiAJCX0KLQkJc2hfc3ltdGFiID0gc3ltdGFiW3NlY19zeW10YWJdOwotCQlzeW1fc3RydGFiID0gc3RydGFiW3NoZHJbc2VjX3N5bXRhYl0uc2hfbGlua107Ci0JCWZvcihqID0gMDsgaiA8IHNoZHJbaV0uc2hfc2l6ZS9zaXplb2YocmVsdGFiWzBdWzBdKTsgaisrKSB7CisJCXNoX3N5bXRhYiA9IHNlY19zeW10YWItPnN5bXRhYjsKKwkJc3ltX3N0cnRhYiA9IHNlYy0+bGluay0+c3RydGFiOworCQlmb3IgKGogPSAwOyBqIDwgc2VjLT5zaGRyLnNoX3NpemUvc2l6ZW9mKEVsZjMyX1JlbCk7IGorKykgewogCQkJRWxmMzJfUmVsICpyZWw7CiAJCQlFbGYzMl9TeW0gKnN5bTsKIAkJCXVuc2lnbmVkIHJfdHlwZTsKLQkJCXJlbCA9ICZyZWx0YWJbaV1bal07CisJCQlyZWwgPSAmc2VjLT5yZWx0YWJbal07CiAJCQlzeW0gPSAmc2hfc3ltdGFiW0VMRjMyX1JfU1lNKHJlbC0+cl9pbmZvKV07CiAJCQlyX3R5cGUgPSBFTEYzMl9SX1RZUEUocmVsLT5yX2luZm8pOwogCQkJLyogRG9uJ3QgdmlzaXQgcmVsb2NhdGlvbnMgdG8gYWJzb2x1dGUgc3ltYm9scyAqLwpAQCAtNTM5LDcgKzU2MSw3IEBACiAJCSAqLwogCQlwcmludGYoIi5zZWN0aW9uIFwiLmRhdGEucmVsb2NcIixcImFcIlxuIik7CiAJCXByaW50ZigiLmJhbGlnbiA0XG4iKTsKLQkJZm9yKGkgPSAwOyBpIDwgcmVsb2NfY291bnQ7IGkrKykgeworCQlmb3IgKGkgPSAwOyBpIDwgcmVsb2NfY291bnQ7IGkrKykgewogCQkJcHJpbnRmKCJcdCAubG9uZyAweCUwOGx4XG4iLCByZWxvY3NbaV0pOwogCQl9CiAJCXByaW50ZigiXG4iKTsKQEAgLTU1MCw3ICs1NzIsNyBAQAogCQkvKiBQcmludCBhIHN0b3AgKi8KIAkJcHJpbnRmKCIlYyVjJWMlYyIsIGJ1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXSk7CiAJCS8qIE5vdyBwcmludCBlYWNoIHJlbG9jYXRpb24gKi8KLQkJZm9yKGkgPSAwOyBpIDwgcmVsb2NfY291bnQ7IGkrKykgeworCQlmb3IgKGkgPSAwOyBpIDwgcmVsb2NfY291bnQ7IGkrKykgewogCQkJYnVmWzBdID0gKHJlbG9jc1tpXSA+PiAgMCkgJiAweGZmOwogCQkJYnVmWzFdID0gKHJlbG9jc1tpXSA+PiAgOCkgJiAweGZmOwogCQkJYnVmWzJdID0gKHJlbG9jc1tpXSA+PiAxNikgJiAweGZmOwpAQCAtNTc3LDcgKzU5OSw3IEBACiAJc2hvd19hYnNvbHV0ZV9yZWxvY3MgPSAwOwogCWFzX3RleHQgPSAwOwogCWZuYW1lID0gTlVMTDsKLQlmb3IoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKSB7CiAJCWNoYXIgKmFyZyA9IGFyZ3ZbaV07CiAJCWlmICgqYXJnID09ICctJykgewogCQkJaWYgKHN0cmNtcChhcmd2WzFdLCAiLS1hYnMtc3ltcyIpID09IDApIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvY3B1LmMgYi9hcmNoL3g4Ni9ib290L2NwdS5jCmluZGV4IDAwZTE5ZWQuLjkyZDZmZDcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvY3B1LmMKKysrIGIvYXJjaC94ODYvYm9vdC9jcHUuYwpAQCAtMjgsNiArMjgsOCBAQAogCWlmIChsZXZlbCA9PSA2NCkgewogCQlyZXR1cm4gIng4Ni02NCI7CiAJfSBlbHNlIHsKKwkJaWYgKGxldmVsID09IDE1KQorCQkJbGV2ZWwgPSA2OwogCQlzcHJpbnRmKGJ1ZiwgImklZDg2IiwgbGV2ZWwpOwogCQlyZXR1cm4gYnVmOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvbWFpbi5jIGIvYXJjaC94ODYvYm9vdC9tYWluLmMKaW5kZXggNzc1NjlhNC4uMjI5NjE2NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9tYWluLmMKKysrIGIvYXJjaC94ODYvYm9vdC9tYWluLmMKQEAgLTE2NSw2ICsxNjUsMTAgQEAKIAkvKiBTZXQgdGhlIHZpZGVvIG1vZGUgKi8KIAlzZXRfdmlkZW8oKTsKIAorCS8qIFBhcnNlIGNvbW1hbmQgbGluZSBmb3IgJ3F1aWV0JyBhbmQgcGFzcyBpdCB0byBkZWNvbXByZXNzb3IuICovCisJaWYgKGNtZGxpbmVfZmluZF9vcHRpb25fYm9vbCgicXVpZXQiKSkKKwkJYm9vdF9wYXJhbXMuaGRyLmxvYWRmbGFncyB8PSBRVUlFVF9GTEFHOworCiAJLyogRG8gdGhlIGxhc3QgdGhpbmdzIGFuZCBpbnZva2UgcHJvdGVjdGVkIG1vZGUgKi8KIAlnb190b19wcm90ZWN0ZWRfbW9kZSgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9tZW1vcnkuYyBiL2FyY2gveDg2L2Jvb3QvbWVtb3J5LmMKaW5kZXggYWNhZDMyZS4uNTMxNjVjOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9tZW1vcnkuYworKysgYi9hcmNoL3g4Ni9ib290L21lbW9yeS5jCkBAIC0xMyw2ICsxMyw3IEBACiAgKi8KIAogI2luY2x1ZGUgImJvb3QuaCIKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KIAogI2RlZmluZSBTTUFQCTB4NTM0ZDQxNTAJLyogQVNDSUkgIlNNQVAiICovCiAKQEAgLTUzLDcgKzU0LDcgQEAKIAogCQljb3VudCsrOwogCQlkZXNjKys7Ci0JfSB3aGlsZSAobmV4dCAmJiBjb3VudCA8IEU4MjBNQVgpOworCX0gd2hpbGUgKG5leHQgJiYgY291bnQgPCBBUlJBWV9TSVpFKGJvb3RfcGFyYW1zLmU4MjBfbWFwKSk7CiAKIAlyZXR1cm4gYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzID0gY291bnQ7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L3BtanVtcC5TIGIvYXJjaC94ODYvYm9vdC9wbWp1bXAuUwppbmRleCBhYjA0OWQ0Li4xNDFiNmUyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L3BtanVtcC5TCisrKyBiL2FyY2gveDg2L2Jvb3QvcG1qdW1wLlMKQEAgLTMzLDYgKzMzLDggQEAKIAltb3Z3CSVjcywgJWJ4CiAJc2hsbAkkNCwgJWVieAogCWFkZGwJJWVieCwgMmYKKwlqbXAJMWYJCQkjIFNob3J0IGp1bXAgdG8gc2VyaWFsaXplIG9uIDM4Ni80ODYKKzE6CiAKIAltb3Z3CSRfX0JPT1RfRFMsICVjeAogCW1vdncJJF9fQk9PVF9UU1MsICVkaQpAQCAtNDAsOCArNDIsNiBAQAogCW1vdmwJJWNyMCwgJWVkeAogCW9yYgkkWDg2X0NSMF9QRSwgJWRsCSMgUHJvdGVjdGVkIG1vZGUKIAltb3ZsCSVlZHgsICVjcjAKLQlqbXAJMWYJCQkjIFNob3J0IGp1bXAgdG8gc2VyaWFsaXplIG9uIDM4Ni80ODYKLTE6CiAKIAkjIFRyYW5zaXRpb24gdG8gMzItYml0IG1vZGUKIAkuYnl0ZQkweDY2LCAweGVhCQkjIGxqbXBsIG9wY29kZQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC92aWRlby12Z2EuYyBiL2FyY2gveDg2L2Jvb3QvdmlkZW8tdmdhLmMKaW5kZXggNDBlY2I4ZC4uYjkzOWNiNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC92aWRlby12Z2EuYworKysgYi9hcmNoL3g4Ni9ib290L3ZpZGVvLXZnYS5jCkBAIC0yNTksOCArMjU5LDcgQEAKIAlyZXR1cm4gbW9kZV9jb3VudFthZGFwdGVyXTsKIH0KIAotX192aWRlb2NhcmQgdmlkZW9fdmdhID0KLXsKK19fdmlkZW9jYXJkIHZpZGVvX3ZnYSA9IHsKIAkuY2FyZF9uYW1lCT0gIlZHQSIsCiAJLnByb2JlCQk9IHZnYV9wcm9iZSwKIAkuc2V0X21vZGUJPSB2Z2Ffc2V0X21vZGUsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnIGIvYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNvbmZpZwppbmRleCBhZDdkZGFhLi45YmMzNGUyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnCisrKyBiL2FyY2gveDg2L2NvbmZpZ3MvaTM4Nl9kZWZjb25maWcKQEAgLTEsNTQgKzEsMTAzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjItZ2l0MTQKLSMgRnJpIEp1bCAyMCAwOTo1MzoxNSAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmMxCisjIFN1biBNYXkgIDQgMTk6NTk6MDIgMjAwOAogIworIyBDT05GSUdfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1g4Nl8zMj15CisjIENPTkZJR19YODZfNjQgaXMgbm90IHNldAorQ09ORklHX1g4Nj15CitDT05GSUdfREVGQ09ORklHX0xJU1Q9ImFyY2gveDg2L2NvbmZpZ3MvaTM4Nl9kZWZjb25maWciCisjIENPTkZJR19HRU5FUklDX0xPQ0tCUkVBSyBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NNT1NfVVBEQVRFPXkKIENPTkZJR19DTE9DS1NPVVJDRV9XQVRDSERPRz15CiBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CUk9BRENBU1Q9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKLUNPTkZJR19TRU1BUEhPUkVfU0xFRVBFUlM9eQotQ09ORklHX1g4Nj15CitDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQorQ09ORklHX0ZBU1RfQ01QWENIR19MT0NBTD15CiBDT05GSUdfTU1VPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfUVVJQ0tMSVNUPXkKIENPTkZJR19HRU5FUklDX0lTQV9ETUE9eQogQ09ORklHX0dFTkVSSUNfSU9NQVA9eQogQ09ORklHX0dFTkVSSUNfQlVHPXkKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15Ci1DT05GSUdfRE1JPXkKLUNPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCi0KLSMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCi0jCi1DT05GSUdfRVhQRVJJTUVOVEFMPXkKLUNPTkZJR19MT0NLX0tFUk5FTD15Ci1DT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCisjIENPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLIGlzIG5vdCBzZXQKK0NPTkZJR19SV1NFTV9YQ0hHQUREX0FMR09SSVRITT15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0hBU19DUFVfSURMRV9XQUlUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CisjIENPTkZJR19HRU5FUklDX1RJTUVfVlNZU0NBTEwgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfSEFTX0NQVV9SRUxBWD15CitDT05GSUdfQVJDSF9IQVNfQ0FDSEVfTElORV9TSVpFPXkKK0NPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQT15CisjIENPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9ISUJFUk5BVElPTl9QT1NTSUJMRT15CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKKyMgQ09ORklHX1pPTkVfRE1BMzIgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfUE9QVUxBVEVTX05PREVfTUFQPXkKKyMgQ09ORklHX0FVRElUX0FSQ0ggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfQVJDSF9TVVBQT1JUU19PUFRJTUlaRURfSU5MSU5JTkc9eQorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKK0NPTkZJR19YODZfU01QPXkKK0NPTkZJR19YODZfMzJfU01QPXkKK0NPTkZJR19YODZfSFQ9eQorQ09ORklHX1g4Nl9CSU9TX1JFQk9PVD15CitDT05GSUdfWDg2X1RSQU1QT0xJTkU9eQorQ09ORklHX0tUSU1FX1NDQUxBUj15CiAKICMKICMgR2VuZXJhbCBzZXR1cAogIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgogQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgotQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKKyMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiBDT05GSUdfUE9TSVhfTVFVRVVFPXkKLSMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAotIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAotIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE4Ci0jIENPTkZJR19DUFVTRVRTIGlzIG5vdCBzZXQKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19CU0RfUFJPQ0VTU19BQ0NUPXkKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1RfVjMgaXMgbm90IHNldAorQ09ORklHX1RBU0tTVEFUUz15CitDT05GSUdfVEFTS19ERUxBWV9BQ0NUPXkKK0NPTkZJR19UQVNLX1hBQ0NUPXkKK0NPTkZJR19UQVNLX0lPX0FDQ09VTlRJTkc9eQorQ09ORklHX0FVRElUPXkKK0NPTkZJR19BVURJVFNZU0NBTEw9eQorQ09ORklHX0FVRElUX1RSRUU9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKK0NPTkZJR19DR1JPVVBTPXkKKyMgQ09ORklHX0NHUk9VUF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfQ0dST1VQX05TPXkKKyMgQ09ORklHX0NHUk9VUF9ERVZJQ0UgaXMgbm90IHNldAorQ09ORklHX0NQVVNFVFM9eQorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKKyMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX0NHUk9VUF9TQ0hFRD15CitDT05GSUdfQ0dST1VQX0NQVUFDQ1Q9eQorQ09ORklHX1JFU09VUkNFX0NPVU5URVJTPXkKKyMgQ09ORklHX0NHUk9VUF9NRU1fUkVTX0NUTFIgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QSURfQ1BVU0VUPXkKIENPTkZJR19SRUxBWT15CitDT05GSUdfTkFNRVNQQUNFUz15CitDT05GSUdfVVRTX05TPXkKK0NPTkZJR19JUENfTlM9eQorQ09ORklHX1VTRVJfTlM9eQorQ09ORklHX1BJRF9OUz15CiBDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQogQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CkBAIC01NiwxMyArMTA1LDE1IEBACiAjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQogQ09ORklHX0tBTExTWU1TX0FMTD15Ci0jIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTPXkKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorIyBDT05GSUdfQ09NUEFUX0JSSyBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQpAQCAtNzYsNiArMTI3LDE3IEBACiAjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKIENPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CitDT05GSUdfTUFSS0VSUz15CisjIENPTkZJR19PUFJPRklMRSBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKQEAgLTg3LDEwICsxNDksMTAgQEAKICMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX1NUT1BfTUFDSElORT15CiBDT05GSUdfQkxPQ0s9eQotQ09ORklHX0xCRD15Ci0jIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9JT19UUkFDRT15CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfQlNHPXkKIAogIwogIyBJTyBTY2hlZHVsZXJzCkBAIC0xMDMsNyArMTY1LDggQEAKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcwpAQCAtMTExLDE4ICsxNzQsMjEgQEAKIENPTkZJR19USUNLX09ORVNIT1Q9eQogQ09ORklHX05PX0haPXkKIENPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogQ09ORklHX1NNUD15Ci0jIENPTkZJR19YODZfUEMgaXMgbm90IHNldAorQ09ORklHX1g4Nl9QQz15CiAjIENPTkZJR19YODZfRUxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfVk9ZQUdFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfTlVNQVEgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NVTU1JVCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfQklHU01QIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9WSVNXUyBpcyBub3Qgc2V0Ci1DT05GSUdfWDg2X0dFTkVSSUNBUkNIPXkKKyMgQ09ORklHX1g4Nl9HRU5FUklDQVJDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfRVM3MDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBUkFWSVJUIGlzIG5vdCBzZXQKLUNPTkZJR19YODZfQ1lDTE9ORV9USU1FUj15CisjIENPTkZJR19YODZfUkRDMzIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfVlNNUCBpcyBub3Qgc2V0CitDT05GSUdfU0NIRURfTk9fTk9fT01JVF9GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1BBUkFWSVJUX0dVRVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX00zODYgaXMgbm90IHNldAogIyBDT05GSUdfTTQ4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19NNTg2IGlzIG5vdCBzZXQKQEAgLTEzMCw5ICsxOTYsOCBAQAogIyBDT05GSUdfTTU4Nk1NWCBpcyBub3Qgc2V0CiAjIENPTkZJR19NNjg2IGlzIG5vdCBzZXQKICMgQ09ORklHX01QRU5USVVNSUkgaXMgbm90IHNldAotQ09ORklHX01QRU5USVVNSUlJPXkKKyMgQ09ORklHX01QRU5USVVNSUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX01QRU5USVVNTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQ09SRTIgaXMgbm90IHNldAogIyBDT05GSUdfTVBFTlRJVU00IGlzIG5vdCBzZXQKICMgQ09ORklHX01LNiBpcyBub3Qgc2V0CiAjIENPTkZJR19NSzcgaXMgbm90IHNldApAQCAtMTQ3LDE0ICsyMTIsMTQgQEAKICMgQ09ORklHX01DWVJJWElJSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVklBQzNfMiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVklBQzcgaXMgbm90IHNldAotQ09ORklHX1g4Nl9HRU5FUklDPXkKKyMgQ09ORklHX01QU0MgaXMgbm90IHNldAorQ09ORklHX01DT1JFMj15CisjIENPTkZJR19HRU5FUklDX0NQVSBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfR0VORVJJQyBpcyBub3Qgc2V0CitDT05GSUdfWDg2X0NQVT15CiBDT05GSUdfWDg2X0NNUFhDSEc9eQotQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD03CitDT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTYKIENPTkZJR19YODZfWEFERD15Ci1DT05GSUdfUldTRU1fWENIR0FERF9BTEdPUklUSE09eQotIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0Ci1DT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1g4Nl9XUF9XT1JLU19PSz15CiBDT05GSUdfWDg2X0lOVkxQRz15CiBDT05GSUdfWDg2X0JTV0FQPXkKQEAgLTE2MiwxMDYgKzIyNywxMjAgQEAKIENPTkZJR19YODZfR09PRF9BUElDPXkKIENPTkZJR19YODZfSU5URUxfVVNFUkNPUFk9eQogQ09ORklHX1g4Nl9VU0VfUFBST19DSEVDS1NVTT15CitDT05GSUdfWDg2X1A2X05PUD15CiBDT05GSUdfWDg2X1RTQz15Ci1DT05GSUdfWDg2X0NNT1Y9eQotQ09ORklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NAorQ09ORklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NgorQ09ORklHX1g4Nl9ERUJVR0NUTE1TUj15CiBDT05GSUdfSFBFVF9USU1FUj15CiBDT05GSUdfSFBFVF9FTVVMQVRFX1JUQz15Ci1DT05GSUdfTlJfQ1BVUz0zMgotQ09ORklHX1NDSEVEX1NNVD15CitDT05GSUdfRE1JPXkKKyMgQ09ORklHX0lPTU1VX0hFTFBFUiBpcyBub3Qgc2V0CitDT05GSUdfTlJfQ1BVUz00CisjIENPTkZJR19TQ0hFRF9TTVQgaXMgbm90IHNldAogQ09ORklHX1NDSEVEX01DPXkKICMgQ09ORklHX1BSRUVNUFRfTk9ORSBpcyBub3Qgc2V0CiBDT05GSUdfUFJFRU1QVF9WT0xVTlRBUlk9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci1DT05GSUdfUFJFRU1QVF9CS0w9eQogQ09ORklHX1g4Nl9MT0NBTF9BUElDPXkKIENPTkZJR19YODZfSU9fQVBJQz15Ci1DT05GSUdfWDg2X01DRT15Ci1DT05GSUdfWDg2X01DRV9OT05GQVRBTD15Ci1DT05GSUdfWDg2X01DRV9QNFRIRVJNQUw9eQorIyBDT05GSUdfWDg2X01DRSBpcyBub3Qgc2V0CiBDT05GSUdfVk04Nj15CiAjIENPTkZJR19UT1NISUJBIGlzIG5vdCBzZXQKICMgQ09ORklHX0k4SyBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfUkVCT09URklYVVBTIGlzIG5vdCBzZXQKLUNPTkZJR19NSUNST0NPREU9eQotQ09ORklHX01JQ1JPQ09ERV9PTERfSU5URVJGQUNFPXkKKyMgQ09ORklHX01JQ1JPQ09ERSBpcyBub3Qgc2V0CiBDT05GSUdfWDg2X01TUj15CiBDT05GSUdfWDg2X0NQVUlEPXkKLQotIwotIyBGaXJtd2FyZSBEcml2ZXJzCi0jCi0jIENPTkZJR19FREQgaXMgbm90IHNldAotIyBDT05GSUdfREVMTF9SQlUgaXMgbm90IHNldAotIyBDT05GSUdfRENEQkFTIGlzIG5vdCBzZXQKLUNPTkZJR19ETUlJRD15CiAjIENPTkZJR19OT0hJR0hNRU0gaXMgbm90IHNldAogQ09ORklHX0hJR0hNRU00Rz15CiAjIENPTkZJR19ISUdITUVNNjRHIGlzIG5vdCBzZXQKIENPTkZJR19QQUdFX09GRlNFVD0weEMwMDAwMDAwCiBDT05GSUdfSElHSE1FTT15Ci1DT05GSUdfQVJDSF9QT1BVTEFURVNfTk9ERV9NQVA9eQorQ09ORklHX05FRURfTk9ERV9NRU1NQVBfU0laRT15CitDT05GSUdfQVJDSF9GTEFUTUVNX0VOQUJMRT15CitDT05GSUdfQVJDSF9TUEFSU0VNRU1fRU5BQkxFPXkKK0NPTkZJR19BUkNIX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQotQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKKyMgQ09ORklHX0ZMQVRNRU1fTUFOVUFMIGlzIG5vdCBzZXQKICMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAotIyBDT05GSUdfU1BBUlNFTUVNX01BTlVBTCBpcyBub3Qgc2V0Ci1DT05GSUdfRkxBVE1FTT15Ci1DT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQotIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CitDT05GSUdfU1BBUlNFTUVNX01BTlVBTD15CitDT05GSUdfU1BBUlNFTUVNPXkKK0NPTkZJR19IQVZFX01FTU9SWV9QUkVTRU5UPXkKK0NPTkZJR19TUEFSU0VNRU1fU1RBVElDPXkKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CisKKyMKKyMgTWVtb3J5IGhvdHBsdWcgaXMgY3VycmVudGx5IGluY29tcGF0aWJsZSB3aXRoIFNvZnR3YXJlIFN1c3BlbmQKKyMKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKIENPTkZJR19SRVNPVVJDRVNfNjRCSVQ9eQogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQogQ09ORklHX0JPVU5DRT15Ci1DT05GSUdfTlJfUVVJQ0s9MQogQ09ORklHX1ZJUlRfVE9fQlVTPXkKICMgQ09ORklHX0hJR0hQVEUgaXMgbm90IHNldAogIyBDT05GSUdfTUFUSF9FTVVMQVRJT04gaXMgbm90IHNldAogQ09ORklHX01UUlI9eQotIyBDT05GSUdfRUZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9QQVQgaXMgbm90IHNldAorQ09ORklHX0VGST15CiAjIENPTkZJR19JUlFCQUxBTkNFIGlzIG5vdCBzZXQKIENPTkZJR19TRUNDT01QPXkKICMgQ09ORklHX0haXzEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfSFpfMjUwPXkKKyMgQ09ORklHX0haXzI1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19IWl8zMDAgaXMgbm90IHNldAotIyBDT05GSUdfSFpfMTAwMCBpcyBub3Qgc2V0Ci1DT05GSUdfSFo9MjUwCi0jIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFTSF9EVU1QIGlzIG5vdCBzZXQKLUNPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAwMAotIyBDT05GSUdfUkVMT0NBVEFCTEUgaXMgbm90IHNldAotQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MTAwMDAwCi0jIENPTkZJR19IT1RQTFVHX0NQVSBpcyBub3Qgc2V0Ci1DT05GSUdfQ09NUEFUX1ZEU089eQorQ09ORklHX0haXzEwMDA9eQorQ09ORklHX0haPTEwMDAKK0NPTkZJR19TQ0hFRF9IUlRJQ0s9eQorQ09ORklHX0tFWEVDPXkKK0NPTkZJR19DUkFTSF9EVU1QPXkKK0NPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAwMDAKK0NPTkZJR19SRUxPQ0FUQUJMRT15CitDT05GSUdfUEhZU0lDQUxfQUxJR049MHgyMDAwMDAKK0NPTkZJR19IT1RQTFVHX0NQVT15CisjIENPTkZJR19DT01QQVRfVkRTTyBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUc9eQogCiAjCi0jIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucyAoQUNQSSwgQVBNKQorIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKLSMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBBQ1BJIChBZHZhbmNlZCBDb25maWd1cmF0aW9uIGFuZCBQb3dlciBJbnRlcmZhY2UpIFN1cHBvcnQKLSMKK0NPTkZJR19QTV9ERUJVRz15CisjIENPTkZJR19QTV9WRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19DQU5fUE1fVFJBQ0U9eQorQ09ORklHX1BNX1RSQUNFPXkKK0NPTkZJR19QTV9UUkFDRV9SVEM9eQorQ09ORklHX1BNX1NMRUVQX1NNUD15CitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkQ9eQorQ09ORklHX1NVU1BFTkRfRlJFRVpFUj15CitDT05GSUdfSElCRVJOQVRJT049eQorQ09ORklHX1BNX1NURF9QQVJUSVRJT049IiIKIENPTkZJR19BQ1BJPXkKK0NPTkZJR19BQ1BJX1NMRUVQPXkKIENPTkZJR19BQ1BJX1BST0NGUz15CitDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVI9eQorQ09ORklHX0FDUElfU1lTRlNfUE9XRVI9eQorQ09ORklHX0FDUElfUFJPQ19FVkVOVD15CiBDT05GSUdfQUNQSV9BQz15CiBDT05GSUdfQUNQSV9CQVRURVJZPXkKIENPTkZJR19BQ1BJX0JVVFRPTj15CiBDT05GSUdfQUNQSV9GQU49eQotIyBDT05GSUdfQUNQSV9ET0NLIGlzIG5vdCBzZXQKK0NPTkZJR19BQ1BJX0RPQ0s9eQorIyBDT05GSUdfQUNQSV9CQVkgaXMgbm90IHNldAogQ09ORklHX0FDUElfUFJPQ0VTU09SPXkKK0NPTkZJR19BQ1BJX0hPVFBMVUdfQ1BVPXkKIENPTkZJR19BQ1BJX1RIRVJNQUw9eQorIyBDT05GSUdfQUNQSV9XTUkgaXMgbm90IHNldAogIyBDT05GSUdfQUNQSV9BU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FDUElfVE9TSElCQSBpcyBub3Qgc2V0Ci1DT05GSUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0yMDAxCi1DT05GSUdfQUNQSV9ERUJVRz15CisjIENPTkZJR19BQ1BJX0NVU1RPTV9EU0RUIGlzIG5vdCBzZXQKK0NPTkZJR19BQ1BJX0JMQUNLTElTVF9ZRUFSPTAKKyMgQ09ORklHX0FDUElfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0FDUElfRUM9eQogQ09ORklHX0FDUElfUE9XRVI9eQogQ09ORklHX0FDUElfU1lTVEVNPXkKIENPTkZJR19YODZfUE1fVElNRVI9eQotIyBDT05GSUdfQUNQSV9DT05UQUlORVIgaXMgbm90IHNldAorQ09ORklHX0FDUElfQ09OVEFJTkVSPXkKICMgQ09ORklHX0FDUElfU0JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FQTSBpcyBub3Qgc2V0CiAKQEAgLTI3MSwxNSArMzUwLDE3IEBACiBDT05GSUdfQ1BVX0ZSRVE9eQogQ09ORklHX0NQVV9GUkVRX1RBQkxFPXkKIENPTkZJR19DUFVfRlJFUV9ERUJVRz15Ci1DT05GSUdfQ1BVX0ZSRVFfU1RBVD15Ci0jIENPTkZJR19DUFVfRlJFUV9TVEFUX0RFVEFJTFMgaXMgbm90IHNldAotQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFPXkKLSMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9TVEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BPV0VSU0FWRSBpcyBub3Qgc2V0CitDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfVVNFUlNQQUNFPXkKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX09OREVNQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVX0ZSRVFfR09WX1BFUkZPUk1BTkNFPXkKICMgQ09ORklHX0NQVV9GUkVRX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldAogQ09ORklHX0NQVV9GUkVRX0dPVl9VU0VSU1BBQ0U9eQogQ09ORklHX0NQVV9GUkVRX0dPVl9PTkRFTUFORD15Ci1DT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElWRT15CisjIENPTkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKIAogIwogIyBDUFVGcmVxIHByb2Nlc3NvciBkcml2ZXJzCkBAIC0yODcsOCArMzY4LDcgQEAKIENPTkZJR19YODZfQUNQSV9DUFVGUkVRPXkKICMgQ09ORklHX1g4Nl9QT1dFUk5PV19LNiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfUE9XRVJOT1dfSzcgaXMgbm90IHNldAotQ09ORklHX1g4Nl9QT1dFUk5PV19LOD15Ci1DT05GSUdfWDg2X1BPV0VSTk9XX0s4X0FDUEk9eQorIyBDT05GSUdfWDg2X1BPV0VSTk9XX0s4IGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9HWF9TVVNQTU9EIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9TUEVFRFNURVBfQ0VOVFJJTk8gaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9JQ0ggaXMgbm90IHNldApAQCAtMzAyLDQzICszODIsNzIgQEAKICMKICMgc2hhcmVkIG9wdGlvbnMKICMKLUNPTkZJR19YODZfQUNQSV9DUFVGUkVRX1BST0NfSU5URj15CisjIENPTkZJR19YODZfQUNQSV9DUFVGUkVRX1BST0NfSU5URiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfU1BFRURTVEVQX0xJQiBpcyBub3Qgc2V0CitDT05GSUdfQ1BVX0lETEU9eQorQ09ORklHX0NQVV9JRExFX0dPVl9MQURERVI9eQorQ09ORklHX0NQVV9JRExFX0dPVl9NRU5VPXkKIAogIwotIyBCdXMgb3B0aW9ucyAoUENJLCBQQ01DSUEsIEVJU0EsIE1DQSwgSVNBKQorIyBCdXMgb3B0aW9ucyAoUENJIGV0Yy4pCiAjCiBDT05GSUdfUENJPXkKICMgQ09ORklHX1BDSV9HT0JJT1MgaXMgbm90IHNldAogIyBDT05GSUdfUENJX0dPTU1DT05GSUcgaXMgbm90IHNldAogIyBDT05GSUdfUENJX0dPRElSRUNUIGlzIG5vdCBzZXQKIENPTkZJR19QQ0lfR09BTlk9eQorIyBDT05GSUdfUENJX0dPT0xQQyBpcyBub3Qgc2V0CiBDT05GSUdfUENJX0JJT1M9eQogQ09ORklHX1BDSV9ESVJFQ1Q9eQogQ09ORklHX1BDSV9NTUNPTkZJRz15Ci0jIENPTkZJR19QQ0lFUE9SVEJVUyBpcyBub3Qgc2V0CitDT05GSUdfUENJX0RPTUFJTlM9eQorQ09ORklHX1BDSUVQT1JUQlVTPXkKKyMgQ09ORklHX0hPVFBMVUdfUENJX1BDSUUgaXMgbm90IHNldAorQ09ORklHX1BDSUVBRVI9eQorIyBDT05GSUdfUENJRUFTUE0gaXMgbm90IHNldAogQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJPXkKIENPTkZJR19QQ0lfTVNJPXkKKyMgQ09ORklHX1BDSV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hUX0lSUSBpcyBub3Qgc2V0CitDT05GSUdfSFRfSVJRPXkKIENPTkZJR19JU0FfRE1BX0FQST15CiAjIENPTkZJR19JU0EgaXMgbm90IHNldAogIyBDT05GSUdfTUNBIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDeDIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19PTFBDIGlzIG5vdCBzZXQKIENPTkZJR19LOF9OQj15CitDT05GSUdfUENDQVJEPXkKKyMgQ09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUENNQ0lBPXkKK0NPTkZJR19QQ01DSUFfTE9BRF9DSVM9eQorQ09ORklHX1BDTUNJQV9JT0NUTD15CitDT05GSUdfQ0FSREJVUz15CiAKICMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAorIyBQQy1jYXJkIGJyaWRnZXMKICMKLSMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IT1RQTFVHX1BDSSBpcyBub3Qgc2V0CitDT05GSUdfWUVOVEE9eQorQ09ORklHX1lFTlRBX08yPXkKK0NPTkZJR19ZRU5UQV9SSUNPSD15CitDT05GSUdfWUVOVEFfVEk9eQorQ09ORklHX1lFTlRBX0VORV9UVU5FPXkKK0NPTkZJR19ZRU5UQV9UT1NISUJBPXkKKyMgQ09ORklHX1BENjcyOSBpcyBub3Qgc2V0CisjIENPTkZJR19JODIwOTIgaXMgbm90IHNldAorQ09ORklHX1BDQ0FSRF9OT05TVEFUSUM9eQorQ09ORklHX0hPVFBMVUdfUENJPXkKKyMgQ09ORklHX0hPVFBMVUdfUENJX0ZBS0UgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfSUJNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0FDUEkgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfQ1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9TSFBDIGlzIG5vdCBzZXQKIAogIwotIyBFeGVjdXRhYmxlIGZpbGUgZm9ybWF0cworIyBFeGVjdXRhYmxlIGZpbGUgZm9ybWF0cyAvIEVtdWxhdGlvbnMKICMKIENPTkZJR19CSU5GTVRfRUxGPXkKICMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKK0NPTkZJR19CSU5GTVRfTUlTQz15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMzQ5LDU5ICs0NTgsMTQyIEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQotIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKK0NPTkZJR19YRlJNX1VTRVI9eQogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15CiBDT05GSUdfSVBfTVVMVElDQVNUPXkKLSMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKLUNPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKLSMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTPXkKK0NPTkZJR19JUF9ST1VURV9NVUxUSVBBVEg9eQorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQorIyBDT05GSUdfSVBfUE5QIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAorQ09ORklHX0lQX01ST1VURT15CitDT05GSUdfSVBfUElNU01fVjE9eQorQ09ORklHX0lQX1BJTVNNX1YyPXkKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAotIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAorQ09ORklHX1NZTl9DT09LSUVTPXkKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKLSMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX0xSTz15CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEPXkKKyMgQ09ORklHX1RDUF9DT05HX0JJQyBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorIyBDT05GSUdfVENQX0NPTkdfV0VTVFdPT0QgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFRDUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IU1RDUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IWUJMQSBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19WRUdBUyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19TQ0FMQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19MUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19WRU5PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1lFQUggaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSUxMSU5PSVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9CSUMgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ1VCSUM9eQorIyBDT05GSUdfREVGQVVMVF9IVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfVkVHQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9XRVNUV09PRCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1JFTk8gaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgotIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CitDT05GSUdfVENQX01ENVNJRz15CisjIENPTkZJR19JUF9WUyBpcyBub3Qgc2V0CiBDT05GSUdfSVBWNj15CiAjIENPTkZJR19JUFY2X1BSSVZBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9ST1VURVJfUFJFRiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X09QVElNSVNUSUNfREFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X0FIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X0VTUCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfQUg9eQorQ09ORklHX0lORVQ2X0VTUD15CiAjIENPTkZJR19JTkVUNl9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9NSVA2IGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTD15Ci0jIENPTkZJR19JTkVUNl9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQ9eQogIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1JPVVRFT1BUSU1JWkFUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19JUFY2X1NJVD15CitDT05GSUdfSVBWNl9ORElTQ19OT0RFVFlQRT15CiAjIENPTkZJR19JUFY2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAotIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjZfTVJPVVRFIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRMQUJFTD15CitDT05GSUdfTkVUV09SS19TRUNNQVJLPXkKK0NPTkZJR19ORVRGSUxURVI9eQorIyBDT05GSUdfTkVURklMVEVSX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUl9BRFZBTkNFRCBpcyBub3Qgc2V0CisKKyMKKyMgQ29yZSBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LPXkKK0NPTkZJR19ORVRGSUxURVJfTkVUTElOS19MT0c9eQorQ09ORklHX05GX0NPTk5UUkFDSz15CitDT05GSUdfTkZfQ09OTlRSQUNLX1NFQ01BUks9eQorQ09ORklHX05GX0NPTk5UUkFDS19GVFA9eQorQ09ORklHX05GX0NPTk5UUkFDS19JUkM9eQorQ09ORklHX05GX0NPTk5UUkFDS19TSVA9eQorQ09ORklHX05GX0NUX05FVExJTks9eQorQ09ORklHX05FVEZJTFRFUl9YVEFCTEVTPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfTkZMT0c9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9DT05OU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9UQ1BNU1M9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9DT05OVFJBQ0s9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9NQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfUE9MSUNZPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfU1RBVEU9eQorCisjCisjIElQOiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05GX0NPTk5UUkFDS19JUFY0PXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfUFJPQ19DT01QQVQ9eQorQ09ORklHX0lQX05GX0lQVEFCTEVTPXkKK0NPTkZJR19JUF9ORl9GSUxURVI9eQorQ09ORklHX0lQX05GX1RBUkdFVF9SRUpFQ1Q9eQorQ09ORklHX0lQX05GX1RBUkdFVF9MT0c9eQorQ09ORklHX0lQX05GX1RBUkdFVF9VTE9HPXkKK0NPTkZJR19ORl9OQVQ9eQorQ09ORklHX05GX05BVF9ORUVERUQ9eQorQ09ORklHX0lQX05GX1RBUkdFVF9NQVNRVUVSQURFPXkKK0NPTkZJR19ORl9OQVRfRlRQPXkKK0NPTkZJR19ORl9OQVRfSVJDPXkKKyMgQ09ORklHX05GX05BVF9URlRQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9BTUFOREEgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX1BQVFAgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX0gzMjMgaXMgbm90IHNldAorQ09ORklHX05GX05BVF9TSVA9eQorQ09ORklHX0lQX05GX01BTkdMRT15CisKKyMKKyMgSVB2NjogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVBWNj15CitDT05GSUdfSVA2X05GX0lQVEFCTEVTPXkKK0NPTkZJR19JUDZfTkZfTUFUQ0hfSVBWNkhFQURFUj15CitDT05GSUdfSVA2X05GX0ZJTFRFUj15CitDT05GSUdfSVA2X05GX1RBUkdFVF9MT0c9eQorQ09ORklHX0lQNl9ORl9UQVJHRVRfUkVKRUNUPXkKK0NPTkZJR19JUDZfTkZfTUFOR0xFPXkKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAogIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CiAjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKQEAgLTQwOSw2ICs2MDEsNyBAQAogIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAogIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKK0NPTkZJR19MTEM9eQogIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFggaXMgbm90IHNldAogIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldApAQCAtNDE2LDI4ICs2MDksOTkgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hFRD15CiAKICMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCisjIFF1ZXVlaW5nL1NjaGVkdWxpbmcKICMKLSMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0NCUSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0hUQiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0hGU0MgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9QUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUlIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9SRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9TRlEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9URVFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfVEJGIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfR1JFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0RTTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX05FVEVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfSU5HUkVTUyBpcyBub3Qgc2V0CisKKyMKKyMgQ2xhc3NpZmljYXRpb24KKyMKK0NPTkZJR19ORVRfQ0xTPXkKKyMgQ09ORklHX05FVF9DTFNfQkFTSUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19UQ0lOREVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUk9VVEU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfRlcgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19VMzIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19SU1ZQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUlNWUDYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19GTE9XIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRU1BVENIPXkKK0NPTkZJR19ORVRfRU1BVENIX1NUQUNLPTMyCisjIENPTkZJR19ORVRfRU1BVENIX0NNUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX05CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfTUVUQSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX1RFWFQgaXMgbm90IHNldAorQ09ORklHX05FVF9DTFNfQUNUPXkKKyMgQ09ORklHX05FVF9BQ1RfUE9MSUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfR0FDVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX01JUlJFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX0lQVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX05BVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX1BFRElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfU0lNUCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1NDSF9GSUZPPXkKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKK0NPTkZJR19IQU1SQURJTz15CisKKyMKKyMgUGFja2V0IFJhZGlvIHByb3RvY29scworIworIyBDT05GSUdfQVgyNSBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CitDT05GSUdfRklCX1JVTEVTPXkKIAogIwogIyBXaXJlbGVzcwogIwotIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKK0NPTkZJR19DRkc4MDIxMT15CitDT05GSUdfTkw4MDIxMT15CitDT05GSUdfV0lSRUxFU1NfRVhUPXkKK0NPTkZJR19NQUM4MDIxMT15CisKKyMKKyMgUmF0ZSBjb250cm9sIGFsZ29yaXRobSBzZWxlY3Rpb24KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX1BJRD15CisjIENPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX05PTkUgaXMgbm90IHNldAorCisjCisjIFNlbGVjdGluZyAneScgZm9yIGFuIGFsZ29yaXRobSB3aWxsCisjCisKKyMKKyMgYnVpbGQgdGhlIGFsZ29yaXRobSBpbnRvIG1hYzgwMjExLgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFQ9InBpZCIKK0NPTkZJR19NQUM4MDIxMV9SQ19QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfTUVTSCBpcyBub3Qgc2V0CitDT05GSUdfTUFDODAyMTFfTEVEUz15CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHX1BBQ0tFVF9BTElHTk1FTlQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTFfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldApAQCAtNDQ5LDEzICs3MTMsMTUgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfREVWUkVTPXkKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfQ09OTkVDVE9SPXkKK0NPTkZJR19QUk9DX0VWRU5UUz15CiAjIENPTkZJR19NVEQgaXMgbm90IHNldAogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfUE5QPXkKQEAgLTQ2Niw3ICs3MzIsNyBAQAogIwogQ09ORklHX1BOUEFDUEk9eQogQ09ORklHX0JMS19ERVY9eQotQ09ORklHX0JMS19ERVZfRkQ9eQorIyBDT05GSUdfQkxLX0RFVl9GRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19DUFFfQ0lTU19EQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0RBQzk2MCBpcyBub3Qgc2V0CkBAIC00NzksOCArNzQ1LDggQEAKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CitDT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xNjM4NAorIyBDT05GSUdfQkxLX0RFVl9YSVAgaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAogQ09ORklHX01JU0NfREVWSUNFUz15CkBAIC00ODksNzMgKzc1NSwxNyBAQAogIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKICMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19BQ0VSX1dNSSBpcyBub3Qgc2V0CisjIENPTkZJR19BU1VTX0xBUFRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19GVUpJVFNVX0xBUFRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQzExMDBfV01JIGlzIG5vdCBzZXQKKyMgQ09ORklHX01TSV9MQVBUT1AgaXMgbm90IHNldAogIyBDT05GSUdfU09OWV9MQVBUT1AgaXMgbm90IHNldAogIyBDT05GSUdfVEhJTktQQURfQUNQSSBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPXkKLUNPTkZJR19CTEtfREVWX0lERT15Ci0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSERfSURFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9eQotQ09ORklHX0lERURJU0tfTVVMVElfTU9ERT15Ci1DT05GSUdfQkxLX0RFVl9JREVDRD15Ci0jIENPTkZJR19CTEtfREVWX0lERVRBUEUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVGTE9QUFkgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVTQ1NJIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUFDUEk9eQotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi1DT05GSUdfSURFX0dFTkVSSUM9eQotIyBDT05GSUdfQkxLX0RFVl9DTUQ2NDAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVQTlAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFUENJPXkKLSMgQ09ORklHX0lERVBDSV9TSEFSRV9JUlEgaXMgbm90IHNldAotQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVI9eQotIyBDT05GSUdfQkxLX0RFVl9PRkZCT0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0dFTkVSSUMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUloxMDAwIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURNQV9QQ0k9eQotIyBDT05GSUdfQkxLX0RFVl9JREVETUFfRk9SQ0VEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERURNQV9PTkxZRElTSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0FFQzYyWFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9BTEkxNVgzIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0FNRDc0WFg9eQotIyBDT05GSUdfQkxLX0RFVl9BVElJWFAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DTUQ2NFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9UUklGTEVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1k4MkM2OTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MjAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MzAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MzUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IUFQzNFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IUFQzNjYgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9KTUlDUk9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0MxMjAwIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1BJSVg9eQotIyBDT05GSUdfQkxLX0RFVl9JVDgyMTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JVDgyMVggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9OUzg3NDE1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfT0xEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfTkVXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU1ZXS1MgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TSUlNQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0lTNTUxMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NMQzkwRTY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVFJNMjkwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVklBODJDWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVEM4NkMwMDEgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVETUE9eQotIyBDT05GSUdfSURFRE1BX0lWQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVMX01FTkxPVyBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNTY0LDggKzc3NCw4IEBACiBDT05GSUdfU0NTST15CiBDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAotQ09ORklHX1NDU0lfTkVUTElOSz15Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01NzQsNyArNzg0LDcgQEAKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1NSPXkKLSMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSX1ZFTkRPUj15CiBDT05GSUdfQ0hSX0RFVl9TRz15CiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKQEAgLTU4Miw3ICs3OTIsNyBAQAogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKICMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0NPTlNUQU5UUz15CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJX1dBSVRfU0NBTj1tCkBAIC01OTEsODEgKzgwMSwzNyBAQAogIyBTQ1NJIFRyYW5zcG9ydHMKICMKIENPTkZJR19TQ1NJX1NQSV9BVFRSUz15Ci1DT05GSUdfU0NTSV9GQ19BVFRSUz15CisjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCi0jIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEPXkKLSMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FDQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUFDUkFJRCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9BSUM3WFhYPXkKLUNPTkZJR19BSUM3WFhYX0NNRFNfUEVSX0RFVklDRT0zMgotQ09ORklHX0FJQzdYWFhfUkVTRVRfREVMQVlfTVM9NTAwMAotQ09ORklHX0FJQzdYWFhfREVCVUdfRU5BQkxFPXkKLUNPTkZJR19BSUM3WFhYX0RFQlVHX01BU0s9MAotQ09ORklHX0FJQzdYWFhfUkVHX1BSRVRUWV9QUklOVD15Ci0jIENPTkZJR19TQ1NJX0FJQzdYWFhfT0xEIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX0FJQzc5WFg9eQotQ09ORklHX0FJQzc5WFhfQ01EU19QRVJfREVWSUNFPTMyCi1DT05GSUdfQUlDNzlYWF9SRVNFVF9ERUxBWV9NUz00MDAwCi0jIENPTkZJR19BSUM3OVhYX0RFQlVHX0VOQUJMRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUlDNzlYWF9ERUJVR19NQVNLPTAKLSMgQ09ORklHX0FJQzc5WFhfUkVHX1BSRVRUWV9QUklOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQURWQU5TWVMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfTkVXR0VOIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9TQVMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9IUFRJT1AgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9CVVNMT0dJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RNWDMxOTFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRUFUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9HRFRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfTFBGQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RDMzk1eCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RDMzkwVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX05TUDMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMX1BDTUNJQSBpcyBub3Qgc2V0CiBDT05GSUdfQVRBPXkKICMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CiBDT05GSUdfQVRBX0FDUEk9eQorQ09ORklHX1NBVEFfUE1QPXkKIENPTkZJR19TQVRBX0FIQ0k9eQotQ09ORklHX1NBVEFfU1ZXPXkKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAogQ09ORklHX0FUQV9QSUlYPXkKICMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNldAotQ09ORklHX1NBVEFfTlY9eQorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CiAjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9TSUw9eQotIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9WSUE9eQorIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BQ1BJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBVEFfQU1EIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX0FNRD15CiAjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CkBAIC02NzMsNiArODM5LDcgQEAKICMgQ09ORklHX1BBVEFfQ1M1NTIwIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ1M1NTMwIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ1M1NTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTM2IGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX0dFTkVSSUMgaXMgbm90IHNldApAQCAtNjg2LDExICs4NTMsMTQgQEAKICMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorQ09ORklHX1BBVEFfT0xEUElJWD15CiAjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BDTUNJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKQEAgLTcwMiw2NSArODcyLDQyIEBACiAjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAogQ09ORklHX01EPXkKLSMgQ09ORklHX0JMS19ERVZfTUQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfTUQ9eQorIyBDT05GSUdfTURfTElORUFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlENDU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX01VTFRJUEFUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9GQVVMVFkgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfRE09eQogIyBDT05GSUdfRE1fREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfRE1fQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfRE1fU05BUFNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfRE1fTUlSUk9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RNX1pFUk8gaXMgbm90IHNldAorQ09ORklHX0RNX01JUlJPUj15CitDT05GSUdfRE1fWkVSTz15CiAjIENPTkZJR19ETV9NVUxUSVBBVEggaXMgbm90IHNldAogIyBDT05GSUdfRE1fREVMQVkgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKLUNPTkZJR19GVVNJT049eQotQ09ORklHX0ZVU0lPTl9TUEk9eQotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAotQ09ORklHX0ZVU0lPTl9NQVhfU0dFPTEyOAotIyBDT05GSUdfRlVTSU9OX0NUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ETV9VRVZFTlQgaXMgbm90IHNldAorIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CiAjCiAjIENPTkZJR19GSVJFV0lSRSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTEzOTQ9eQotCi0jCi0jIFN1YnN5c3RlbSBPcHRpb25zCi0jCi0jIENPTkZJR19JRUVFMTM5NF9WRVJCT1NFREVCVUcgaXMgbm90IHNldAotCi0jCi0jIENvbnRyb2xsZXJzCi0jCi0KLSMKLSMgVGV4YXMgSW5zdHJ1bWVudHMgUENJTHlueCByZXF1aXJlcyBJMkMKLSMKLUNPTkZJR19JRUVFMTM5NF9PSENJMTM5ND15Ci0KLSMKLSMgUHJvdG9jb2xzCi0jCi0jIENPTkZJR19JRUVFMTM5NF9WSURFTzEzOTQgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfU0JQMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9FVEgxMzk0X1JPTV9FTlRSWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9FVEgxMzk0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X0RWMTM5NCBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTEzOTRfUkFXSU89eQorIyBDT05GSUdfSUVFRTEzOTQgaXMgbm90IHNldAogIyBDT05GSUdfSTJPIGlzIG5vdCBzZXQKIENPTkZJR19NQUNJTlRPU0hfRFJJVkVSUz15Ci0jIENPTkZJR19NQUNfRU1VTU9VU0VCVE4gaXMgbm90IHNldAorQ09ORklHX01BQ19FTVVNT1VTRUJUTj15CiBDT05GSUdfTkVUREVWSUNFUz15Ci1DT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19JRkIgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfU0IxMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldApAQCAtNzcwLDM4ICs5MTcsNDAgQEAKICMgQ09ORklHX1NVTkdFTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DQVNTSU5JIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfVkVORE9SXzNDT009eQotQ09ORklHX1ZPUlRFWD15CisjIENPTkZJR19WT1JURVggaXMgbm90IHNldAogIyBDT05GSUdfVFlQSE9PTiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1RVTElQPXkKICMgQ09ORklHX0RFMjEwNFggaXMgbm90IHNldAotQ09ORklHX1RVTElQPXkKLSMgQ09ORklHX1RVTElQX01XSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UVUxJUF9NTUlPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RVTElQX05BUEkgaXMgbm90IHNldAorIyBDT05GSUdfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfREU0WDUgaXMgbm90IHNldAogIyBDT05GSUdfV0lOQk9ORF84NDAgaXMgbm90IHNldAogIyBDT05GSUdfRE05MTAyIGlzIG5vdCBzZXQKICMgQ09ORklHX1VMSTUyNlggaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1hJUkNPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogQ09ORklHX05FVF9QQ0k9eQogIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKLUNPTkZJR19CNDQ9eQorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKIENPTkZJR19GT1JDRURFVEg9eQogIyBDT05GSUdfRk9SQ0VERVRIX05BUEkgaXMgbm90IHNldAotIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0CiBDT05GSUdfRTEwMD15CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0Ci1DT05GSUdfODEzOUNQPXkKKyMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0CiBDT05GSUdfODEzOVRPTz15Ci0jIENPTkZJR184MTM5VE9PX1BJTyBpcyBub3Qgc2V0CitDT05GSUdfODEzOVRPT19QSU89eQogIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKQEAgLTgxNCwzNCArOTYzLDc1IEBACiBDT05GSUdfRTEwMDA9eQogIyBDT05GSUdfRTEwMDBfTkFQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwMF9ESVNBQkxFX1BBQ0tFVF9TUExJVCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKLUNPTkZJR19SODE2OT15Ci0jIENPTkZJR19SODE2OV9OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I4MTY5IGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TS0dFIGlzIG5vdCBzZXQKIENPTkZJR19TS1kyPXkKKyMgQ09ORklHX1NLWTJfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKIENPTkZJR19USUdPTjM9eQotQ09ORklHX0JOWDI9eQorIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAogQ09ORklHX05FVERFVl8xMDAwMD15CiAjIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAorIyBDT05GSUdfSVhHQkUgaXMgbm90IHNldAogIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TMklPIGlzIG5vdCBzZXQKICMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAorIyBDT05GSUdfTklVIGlzIG5vdCBzZXQKICMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UUiBpcyBub3Qgc2V0CisjIENPTkZJR19URUhVVEkgaXMgbm90IHNldAorIyBDT05GSUdfQk5YMlggaXMgbm90IHNldAorIyBDT05GSUdfU0ZDIGlzIG5vdCBzZXQKK0NPTkZJR19UUj15CisjIENPTkZJR19JQk1PTCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1MUyBpcyBub3Qgc2V0CisjIENPTkZJR18zQzM1OSBpcyBub3Qgc2V0CisjIENPTkZJR19UTVMzODBUUiBpcyBub3Qgc2V0CiAKICMKICMgV2lyZWxlc3MgTEFOCiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorQ09ORklHX1dMQU5fODAyMTE9eQorIyBDT05GSUdfUENNQ0lBX1JBWUNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJFUlRBUyBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFUk1FUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE1FTCBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9XTDM1MDEgaXMgbm90IHNldAorIyBDT05GSUdfUFJJU001NCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ORVRfUk5ESVNfV0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19SVEw4MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUTDgxODcgaXMgbm90IHNldAorIyBDT05GSUdfQURNODIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19QNTRfQ09NTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19BVEg1Sz15CisjIENPTkZJR19BVEg1S19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTENPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTDQ5NjUgaXMgbm90IHNldAorIyBDT05GSUdfSVdMMzk0NSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1NUQVAgaXMgbm90IHNldAorIyBDT05GSUdfQjQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0M0xFR0FDWSBpcyBub3Qgc2V0CisjIENPTkZJR19aRDEyMTFSVyBpcyBub3Qgc2V0CisjIENPTkZJR19SVDJYMDAgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC04NTAsMTYgKzEwNDAsMjcgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BDTUNJQT15CisjIENPTkZJR19QQ01DSUFfM0M1ODkgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBXzNDNTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9GTVZKMThYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9QQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfTk1DTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9TTUM5MUM5MiBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfWElSQzJQUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfQVhORVQgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX0lCTVRSIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRERJIGlzIG5vdCBzZXQKK0NPTkZJR19GRERJPXkKKyMgQ09ORklHX0RFRlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NLRlAgaXMgbm90IHNldAogIyBDT05GSUdfSElQUEkgaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUQ09OU09MRT15CisjIENPTkZJR19ORVRDT05TT0xFX0RZTkFNSUMgaXMgbm90IHNldAogQ09ORklHX05FVFBPTEw9eQogIyBDT05GSUdfTkVUUE9MTF9UUkFQIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSPXkKQEAgLTg3MCwxOCArMTA3MSwxNyBAQAogIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAogIwogQ09ORklHX0lOUFVUPXkKLSMgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1MgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRkZfTUVNTEVTUz15CitDT05GSUdfSU5QVVRfUE9MTERFVj15CiAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwogQ09ORklHX0lOUFVUX01PVVNFREVWPXkKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CisjIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTkwNiwxNyArMTEwNiw2MyBAQAogIyBDT05GSUdfTU9VU0VfU0VSSUFMIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX0FQUExFVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfVlNYWFhBQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfSk9ZU1RJQ0s9eQorIyBDT05GSUdfSk9ZU1RJQ0tfQU5BTE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0EzRCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19BREkgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQ09CUkEgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR0YySyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HUklQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dSSVBfTVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1VJTExFTU9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0lOVEVSQUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NJREVXSU5ERVIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfVE1EQyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19JRk9SQ0UgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfV0FSUklPUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19NQUdFTExBTiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TUEFDRU9SQiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TUEFDRUJBTEwgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1RJTkdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19UV0lESk9ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1pIRU5IVUEgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSk9ZRFVNUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19YUEFEIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UQUJMRVQ9eQorIyBDT05GSUdfVEFCTEVUX1VTQl9BQ0VDQUQgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9BSVBURUsgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9HVENPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfS0JUQUIgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9XQUNPTSBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9NSVNDPXkKKyMgQ09ORklHX0lOUFVUX1BDU1BLUiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BUEFORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfV0lTVFJPTl9CVE5TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUTEFTX0JUTlMgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVElfUkVNT1RFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT1dFUk1BVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfWUVBTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9VSU5QVVQgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwogQ09ORklHX1NFUklPPXkKIENPTkZJR19TRVJJT19JODA0Mj15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJT19TRVJQT1JUPXkKICMgQ09ORklHX1NFUklPX0NUODJDNzEwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFUklPX1BDSVBTMiBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSU9fTElCUFMyPXkKQEAgLTkyOSw4ICsxMTc1LDI2IEBACiBDT05GSUdfVlQ9eQogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HPXkKK0NPTkZJR19ERVZLTUVNPXkKK0NPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQ9eQorIyBDT05GSUdfQ09NUFVUT05FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPQ0tFVFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1lDTEFERVMgaXMgbm90IHNldAorIyBDT05GSUdfRElHSUVQQ0EgaXMgbm90IHNldAorIyBDT05GSUdfTU9YQV9JTlRFTExJTyBpcyBub3Qgc2V0CisjIENPTkZJR19NT1hBX1NNQVJUSU8gaXMgbm90IHNldAorIyBDT05GSUdfSVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LTVAgaXMgbm90IHNldAorIyBDT05GSUdfU1lOQ0xJTktfR1QgaXMgbm90IHNldAorIyBDT05GSUdfTl9IRExDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JJU0NPTTggaXMgbm90IHNldAorIyBDT05GSUdfU1BFQ0lBTElYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TVEFMRFJWIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKQEAgLTk0MCw5ICsxMjA0LDE0IEBACiBDT05GSUdfRklYX0VBUkxZQ09OX01FTT15CiBDT05GSUdfU0VSSUFMXzgyNTBfUENJPXkKIENPTkZJR19TRVJJQUxfODI1MF9QTlA9eQotQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKKyMgQ09ORklHX1NFUklBTF84MjUwX0NTIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz0zMgogQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NAotIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEPXkKK0NPTkZJR19TRVJJQUxfODI1MF9NQU5ZX1BPUlRTPXkKK0NPTkZJR19TRVJJQUxfODI1MF9TSEFSRV9JUlE9eQorQ09ORklHX1NFUklBTF84MjUwX0RFVEVDVF9JUlE9eQorQ09ORklHX1NFUklBTF84MjUwX1JTQT15CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydApAQCAtOTUxLDIwICsxMjIwLDE2OCBAQAogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIENPTkZJR19IV19SQU5ET009eQotQ09ORklHX0hXX1JBTkRPTV9JTlRFTD15Ci1DT05GSUdfSFdfUkFORE9NX0FNRD15CisjIENPTkZJR19IV19SQU5ET01fSU5URUwgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NX0FNRCBpcyBub3Qgc2V0CiBDT05GSUdfSFdfUkFORE9NX0dFT0RFPXkKIENPTkZJR19IV19SQU5ET01fVklBPXkKLSMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKLUNPTkZJR19SVEM9eQorQ09ORklHX05WUkFNPXkKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX1NPTllQSSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGNoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19TWU5DTElOS19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQV0lSRUxFU1MgaXMgbm90IHNldAorIyBDT05GSUdfTVdBVkUgaXMgbm90IHNldAorIyBDT05GSUdfUEM4NzM2eF9HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX05TQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NTNTUzNV9HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorQ09ORklHX0hQRVQ9eQorIyBDT05GSUdfSFBFVF9SVENfSVJRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRVRfTU1BUCBpcyBub3Qgc2V0CisjIENPTkZJR19IQU5HQ0hFQ0tfVElNRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CisjIENPTkZJR19URUxDTE9DSyBpcyBub3Qgc2V0CitDT05GSUdfREVWUE9SVD15CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKKyMgQ09ORklHX0kyQ19DSEFSREVWIGlzIG5vdCBzZXQKKworIworIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ3NTYgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMgbm90IHNldAorQ09ORklHX0kyQ19JODAxPXkKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ3gyMDBfQUNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzk2WCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSSBpcyBub3Qgc2V0CisjIENPTkZJR19XMSBpcyBub3Qgc2V0CitDT05GSUdfUE9XRVJfU1VQUExZPXkKKyMgQ09ORklHX1BPV0VSX1NVUFBMWV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19QREFfUE9XRVIgaXMgbm90IHNldAorIyBDT05GSUdfQkFUVEVSWV9EUzI3NjAgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorQ09ORklHX1RIRVJNQUw9eQorQ09ORklHX1dBVENIRE9HPXkKKyMgQ09ORklHX1dBVENIRE9HX05PV0FZT1VUIGlzIG5vdCBzZXQKKworIworIyBXYXRjaGRvZyBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfU09GVF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19BQ1FVSVJFX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRFZBTlRFQ0hfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FMSU0xNTM1X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BTElNNzEwMV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0M1MjBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VVUk9URUNIX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JQjcwMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSUJNQVNSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBRkVSX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JNjMwMEVTQl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSVRDT19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSVQ4NzEyRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSFBfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfU0MxMjAwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19QQzg3NDEzX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR182MFhYX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQkM4MzYwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQkM3MjQwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFU1X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDMzdCNzg3X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM2MjdIRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzNjk3SEZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4Mzg3N0ZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4Mzk3N0ZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0haX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQkNfRVBYX0MzX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBQQ0ktYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1BDSVBDV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfV0RUUENJIGlzIG5vdCBzZXQKKworIworIyBVU0ItYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKK0NPTkZJR19EQUI9eQorIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIwogQ09ORklHX0FHUD15CiAjIENPTkZJR19BR1BfQUxJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FHUF9BVEkgaXMgbm90IHNldApAQCAtOTc2LDY0ICsxMzkzLDEwMiBAQAogIyBDT05GSUdfQUdQX1NXT1JLUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BR1BfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FHUF9FRkZJQ0VPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAotIyBDT05GSUdfTVdBVkUgaXMgbm90IHNldAotIyBDT05GSUdfUEM4NzM2eF9HUElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX05TQ19HUElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NTNTUzNV9HUElPIGlzIG5vdCBzZXQKLUNPTkZJR19SQVdfRFJJVkVSPXkKLUNPTkZJR19NQVhfUkFXX0RFVlM9MjU2Ci1DT05GSUdfSFBFVD15Ci0jIENPTkZJR19IUEVUX1JUQ19JUlEgaXMgbm90IHNldAotQ09ORklHX0hQRVRfTU1BUD15Ci0jIENPTkZJR19IQU5HQ0hFQ0tfVElNRVIgaXMgbm90IHNldAotIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19URUxDTE9DSyBpcyBub3Qgc2V0Ci1DT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0RSTT15CisjIENPTkZJR19EUk1fVERGWCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fUjEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fUkFERU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9JODMwIGlzIG5vdCBzZXQKK0NPTkZJR19EUk1fSTkxNT15CisjIENPTkZJR19EUk1fTUdBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKK0NPTkZJR19GQj15CisjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CitDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKK0NPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQorQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAorQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKKyMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9NT0RFX0hFTFBFUlM9eQorQ09ORklHX0ZCX1RJTEVCTElUVElORz15CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1cxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IV01PTiBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwotIwotIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aW1lZGlhIGRldmljZXMKLSMKLSMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAotCi0jCi0jIEdyYXBoaWNzIHN1cHBvcnQKLSMKLSMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DSVJSVVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NZQkVSMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BUkMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVNJTElBTlQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSU1TVFQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVkdBMTYgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVVZFU0EgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVkVTQSBpcyBub3Qgc2V0CitDT05GSUdfRkJfRUZJPXkKKyMgQ09ORklHX0ZCX0lNQUMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTjQxMSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9IR0EgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAorIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1JJVkEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9MRTgwNTc4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0lOVEVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0tZUk8gaXMgbm90IHNldAorIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DWUJMQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9UUklERU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfR0VPREUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CitDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUPXkKKyMgQ09ORklHX0xDRF9DTEFTU19ERVZJQ0UgaXMgbm90IHNldAorQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0U9eQorIyBDT05GSUdfQkFDS0xJR0hUX0NPUkdJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9QUk9HRUFSIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotIyBDT05GSUdfRkIgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogQ09ORklHX1ZHQV9DT05TT0xFPXkKIENPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLPXkKLUNPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLX1NJWkU9MTI4CitDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTY0CiBDT05GSUdfVklERU9fU0VMRUNUPXkKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEUgaXMgbm90IHNldAorQ09ORklHX0xPR089eQorIyBDT05GSUdfTE9HT19MSU5VWF9NT05PIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPR09fTElOVVhfVkdBMTYgaXMgbm90IHNldAorQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKQEAgLTEwNDMsMzMgKzE0OTgsMTY3IEBACiAjCiAjIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQogIwotIyBDT05GSUdfU05EIGlzIG5vdCBzZXQKK0NPTkZJR19TTkQ9eQorQ09ORklHX1NORF9USU1FUj15CitDT05GSUdfU05EX1BDTT15CitDT05GSUdfU05EX0hXREVQPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSPXkKK0NPTkZJR19TTkRfU0VRX0RVTU1ZPXkKK0NPTkZJR19TTkRfT1NTRU1VTD15CitDT05GSUdfU05EX01JWEVSX09TUz15CitDT05GSUdfU05EX1BDTV9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQorQ09ORklHX1NORF9TRVFVRU5DRVJfT1NTPXkKK0NPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlM9eQorQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQorQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15CisjIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TTkRfVk1BU1RFUj15CisKKyMKKyMgR2VuZXJpYyBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfUENTUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUk1JREkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAorCisjCisjIFBDSSBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMUzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVzIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DQTAxMDYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfT1hZR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M1NTMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzU1MzVBVURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREFSTEEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9MQVlMQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EQVJMQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0xBWUxBMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01PTkEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRUNITzNHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR08gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHT0lPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR09ESiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU1VMTBLMSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU1VMTBLMVggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VOUzEzNzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VOUzEzNzEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VTMTkzOCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRVMxOTY4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0CitDT05GSUdfU05EX0hEQV9JTlRFTD15CitDT05GSUdfU05EX0hEQV9IV0RFUD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19SRUFMVEVLPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0FOQUxPRz15CitDT05GSUdfU05EX0hEQV9DT0RFQ19TSUdNQVRFTD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19WSUE9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQVRJSERNST15CitDT05GSUdfU05EX0hEQV9DT0RFQ19DT05FWEFOVD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19DTUVESUE9eQorQ09ORklHX1NORF9IREFfQ09ERUNfU0kzMDU0PXkKK0NPTkZJR19TTkRfSERBX0dFTkVSSUM9eQorIyBDT05GSUdfU05EX0hEQV9QT1dFUl9TQVZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSElGSUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9LT1JHMTIxMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01JWEFSVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTk0yNTYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUUzMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTk2NTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1NJUzcwMTkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1NPTklDVklCRVMgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUlRVT1NPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfWU1GUENJIGlzIG5vdCBzZXQKKworIworIyBVU0IgZGV2aWNlcworIworIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVVNCX1VTWDJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAorCisjCisjIFBDTUNJQSBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfVlhQT0NLRVQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1BEQVVESU9DRiBpcyBub3Qgc2V0CisKKyMKKyMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAorIworIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0CisKKyMKKyMgQUxTQSBTb0MgYXVkaW8gZm9yIEZyZWVzY2FsZSBTT0NzCisjCisKKyMKKyMgU29DIEF1ZGlvIGZvciB0aGUgVGV4YXMgSW5zdHJ1bWVudHMgT01BUAorIwogCiAjCiAjIE9wZW4gU291bmQgU3lzdGVtCiAjCi1DT05GSUdfU09VTkRfUFJJTUU9eQotIyBDT05GSUdfU09VTkRfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9NU05EQ0xBUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9NU05EUElOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX09TUyBpcyBub3Qgc2V0CisjIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0CiBDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15Ci0jIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0hJRF9ERUJVRz15CitDT05GSUdfSElEUkFXPXkKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwogQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSz15CitDT05GSUdfSElEX0ZGPXkKK0NPTkZJR19ISURfUElEPXkKK0NPTkZJR19MT0dJVEVDSF9GRj15CisjIENPTkZJR19MT0dJUlVNQkxFUEFEMl9GRiBpcyBub3Qgc2V0CitDT05GSUdfUEFOVEhFUkxPUkRfRkY9eQorQ09ORklHX1RIUlVTVE1BU1RFUl9GRj15CitDT05GSUdfWkVST1BMVVNfRkY9eQorQ09ORklHX1VTQl9ISURERVY9eQogQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15Ci0jIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERUJVRz15CitDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTPXkKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCkBAIC0xMDc3LDE4ICsxNjY2LDE4IEBACiBDT05GSUdfVVNCX0RFVklDRUZTPXkKICMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VTUEVORD15CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfRUhDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0hDRD15CiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKQEAgLTExMjEsOCArMTcxMCwxMCBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xJQlVTVUFMPXkKIAogIwogIyBVU0IgSW1hZ2luZyBkZXZpY2VzCkBAIC0xMTM0LDEwICsxNzI1LDYgQEAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMTYzLDkwICsxNzUwLDEyNSBAQAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIwogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19NRU1TVElDSyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCiAjIExFRCBkcml2ZXJzCiAjCisjIENPTkZJR19MRURTX0NMRVZPX01BSUwgaXMgbm90IHNldAogCiAjCiAjIExFRCBUcmlnZ2VycwogIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQgaXMgbm90IHNldAorIyBDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT04gaXMgbm90IHNldAorIyBDT05GSUdfQUNDRVNTSUJJTElUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZJTklCQU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VEQUMgaXMgbm90IHNldAorQ09ORklHX0VEQUM9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBSZXBvcnRpbmcgc3Vic3lzdGVtcwogIwotIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VEQUNfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfRURBQ19NTV9FREFDIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKK0NPTkZJR19SVENfQ0xBU1M9eQorIyBDT05GSUdfUlRDX0hDVE9TWVMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwotIyBETUEgRW5naW5lIHN1cHBvcnQKKyMgUlRDIGludGVyZmFjZXMKICMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAorQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKK0NPTkZJR19SVENfSU5URl9QUk9DPXkKK0NPTkZJR19SVENfSU5URl9ERVY9eQorIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgRE1BIENsaWVudHMKKyMgSTJDIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKworIworIyBQbGF0Zm9ybSBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfQ01PUz15CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAorCisjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworQ09ORklHX0RNQURFVklDRVM9eQogCiAjCiAjIERNQSBEZXZpY2VzCiAjCi1DT05GSUdfVklSVFVBTElaQVRJT049eQotIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVMX0lPQVRETUEgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwotIyBVc2Vyc3BhY2UgSS9PCisjIEZpcm13YXJlIERyaXZlcnMKICMKLSMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisjIENPTkZJR19FREQgaXMgbm90IHNldAorQ09ORklHX0VGSV9WQVJTPXkKKyMgQ09ORklHX0RFTExfUkJVIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RDREJBUyBpcyBub3Qgc2V0CitDT05GSUdfRE1JSUQ9eQorIyBDT05GSUdfSVNDU0lfSUJGVF9GSU5EIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKICMKLUNPTkZJR19FWFQyX0ZTPXkKLUNPTkZJR19FWFQyX0ZTX1hBVFRSPXkKLUNPTkZJR19FWFQyX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19FWFQyX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAogQ09ORklHX0VYVDNfRlM9eQogQ09ORklHX0VYVDNfRlNfWEFUVFI9eQogQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorQ09ORklHX0VYVDNfRlNfU0VDVVJJVFk9eQogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKICMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfTUJDQUNIRT15Ci1DT05GSUdfUkVJU0VSRlNfRlM9eQotIyBDT05GSUdfUkVJU0VSRlNfQ0hFQ0sgaXMgbm90IHNldAotIyBDT05GSUdfUkVJU0VSRlNfUFJPQ19JTkZPIGlzIG5vdCBzZXQKLUNPTkZJR19SRUlTRVJGU19GU19YQVRUUj15Ci1DT05GSUdfUkVJU0VSRlNfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX1JFSVNFUkZTX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQotIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQorQ09ORklHX1FVT1RBPXkKK0NPTkZJR19RVU9UQV9ORVRMSU5LX0lOVEVSRkFDRT15CisjIENPTkZJR19QUklOVF9RVU9UQV9XQVJOSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FGTVRfVjEgaXMgbm90IHNldAorQ09ORklHX1FGTVRfVjI9eQorQ09ORklHX1FVT1RBQ1RMPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfQVVUT0ZTNF9GUz15CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTYsOCArMTg3OCw4IEBACiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKIENPTkZJR19JU085NjYwX0ZTPXkKLSMgQ09ORklHX0pPTElFVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX0pPTElFVD15CitDT05GSUdfWklTT0ZTPXkKICMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyNzUsMTMgKzE4OTcsMTMgQEAKICMKIENPTkZJR19QUk9DX0ZTPXkKIENPTkZJR19QUk9DX0tDT1JFPXkKK0NPTkZJR19QUk9DX1ZNQ09SRT15CiBDT05GSUdfUFJPQ19TWVNDVEw9eQogQ09ORklHX1NZU0ZTPXkKIENPTkZJR19UTVBGUz15CiBDT05GSUdfVE1QRlNfUE9TSVhfQUNMPXkKIENPTkZJR19IVUdFVExCRlM9eQogQ09ORklHX0hVR0VUTEJfUEFHRT15Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjg5LDYgKzE5MTEsNyBAQAogIwogIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDUllQVF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKQEAgLTEyOTYsMzMgKzE5MTksMTUgQEAKICMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKLUNPTkZJR19ORlNfRlM9eQotQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAotQ09ORklHX05GU0Q9eQotQ09ORklHX05GU0RfVjM9eQotIyBDT05GSUdfTkZTRF9WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTRF9WNCBpcyBub3Qgc2V0Ci1DT05GSUdfTkZTRF9UQ1A9eQotQ09ORklHX1JPT1RfTkZTPXkKLUNPTkZJR19MT0NLRD15Ci1DT05GSUdfTE9DS0RfVjQ9eQotQ09ORklHX0VYUE9SVEZTPXkKLUNPTkZJR19ORlNfQ09NTU9OPXkKLUNPTkZJR19TVU5SUEM9eQotIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CisjIENPTkZJR19ORlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldApAQCAtMTMzMiwxNCArMTkzNywyNiBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfT1NGX1BBUlRJVElPTj15CitDT05GSUdfQU1JR0FfUEFSVElUSU9OPXkKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfTUFDX1BBUlRJVElPTj15CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworQ09ORklHX0JTRF9ESVNLTEFCRUw9eQorQ09ORklHX01JTklYX1NVQlBBUlRJVElPTj15CitDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OPXkKK0NPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU0dJX1BBUlRJVElPTj15CisjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19TVU5fUEFSVElUSU9OPXkKK0NPTkZJR19LQVJNQV9QQVJUSVRJT049eQorQ09ORklHX0VGSV9QQVJUSVRJT049eQorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTkxTPXkKLUNPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgorQ09ORklHX05MU19ERUZBVUxUPSJ1dGY4IgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKQEAgLTEzNzQsMzcgKzE5OTEsMzMgQEAKICMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAotQ09ORklHX05MU19JU084ODU5XzE1PXkKKyMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CiBDT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIwogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKLUNPTkZJR19JTlNUUlVNRU5UQVRJT049eQotQ09ORklHX1BST0ZJTElORz15Ci1DT05GSUdfT1BST0ZJTEU9eQotQ09ORklHX0tQUk9CRVM9eQogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9XQVJOPTIwNDgKIENPTkZJR19NQUdJQ19TWVNSUT15Ci1DT05GSUdfVU5VU0VEX1NZTUJPTFM9eQotIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0ZTPXkKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci1DT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAogIyBDT05GSUdfU0NIRURfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CitDT05GSUdfU0NIRURTVEFUUz15CiBDT05GSUdfVElNRVJfU1RBVFM9eQorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTFVCX0RFQlVHX09OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldApAQCAtMTQxOSw0OCArMjAzMiwxNzQgQEAKIENPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKICMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZSQU1FX1BPSU5URVIgaXMgbm90IHNldAotQ09ORklHX09QVElNSVpFX0lOTElOSU5HPXkKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfS1BST0JFU19TQU5JVFlfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfS0dEQiBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9BUkNIX0tHREI9eQorIyBDT05GSUdfTk9OUFJPTUlTQ19ERVZNRU0gaXMgbm90IHNldAogQ09ORklHX0VBUkxZX1BSSU5USz15CiBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVz15Ci0jIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ST0RBVEEgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFPXkKKyMgQ09ORklHX0RFQlVHX1BBR0VBTExPQyBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfUFREVU1QIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19ST0RBVEE9eQorIyBDT05GSUdfREVCVUdfUk9EQVRBX1RFU1QgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX05YX1RFU1Q9bQogIyBDT05GSUdfNEtTVEFDS1MgaXMgbm90IHNldAogQ09ORklHX1g4Nl9GSU5EX1NNUF9DT05GSUc9eQogQ09ORklHX1g4Nl9NUFBBUlNFPXkKIENPTkZJR19ET1VCTEVGQVVMVD15CitDT05GSUdfSU9fREVMQVlfVFlQRV8wWDgwPTAKK0NPTkZJR19JT19ERUxBWV9UWVBFXzBYRUQ9MQorQ09ORklHX0lPX0RFTEFZX1RZUEVfVURFTEFZPTIKK0NPTkZJR19JT19ERUxBWV9UWVBFX05PTkU9MworQ09ORklHX0lPX0RFTEFZXzBYODA9eQorIyBDT05GSUdfSU9fREVMQVlfMFhFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JT19ERUxBWV9VREVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfSU9fREVMQVlfTk9ORSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9JT19ERUxBWV9UWVBFPTAKK0NPTkZJR19ERUJVR19CT09UX1BBUkFNUz15CisjIENPTkZJR19DUEFfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKICMKLSMgQ09ORklHX0tFWVMgaXMgbm90IHNldAotIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlTPXkKK0NPTkZJR19LRVlTX0RFQlVHX1BST0NfS0VZUz15CitDT05GSUdfU0VDVVJJVFk9eQorQ09ORklHX1NFQ1VSSVRZX05FVFdPUks9eQorIyBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9DQVBBQklMSVRJRVM9eQorQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTPXkKKyMgQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9ERUZBVUxUX01NQVBfTUlOX0FERFI9NjU1MzYKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0JPT1RQQVJBTT15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9CT09UUEFSQU1fVkFMVUU9MQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRElTQUJMRT15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9ERVZFTE9QPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0FWQ19TVEFUUz15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9DSEVDS1JFUVBST1RfVkFMVUU9MQorIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9FTkFCTEVfU0VDTUFSS19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfUE9MSUNZREJfVkVSU0lPTl9NQVggaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfU01BQ0sgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0FFQUQ9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19IQVNIPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FVVEhFTkM9eQorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj15CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fSE1BQz15CisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fU0hBMT15CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKK0NPTkZJR19DUllQVE9fQUVTPXkKKyMgQ09ORklHX0NSWVBUT19BRVNfNTg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BUkM0PXkKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjBfNTg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0hfNTg2IGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19ERVZfUEFETE9DSyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVWX0dFT0RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tWTT15CitDT05GSUdfVklSVFVBTElaQVRJT049eQorIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xHVUVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19WSVJUSU9fUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJUlRJT19CQUxMT09OIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15CitDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVD15CitDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUPXkKICMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19BVURJVF9HRU5FUklDPXkKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQogQ09ORklHX0hBU19ETUE9eQotQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQotQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKLUNPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKLUNPTkZJR19YODZfU01QPXkKLUNPTkZJR19YODZfSFQ9eQotQ09ORklHX1g4Nl9CSU9TX1JFQk9PVD15Ci1DT05GSUdfWDg2X1RSQU1QT0xJTkU9eQotQ09ORklHX0tUSU1FX1NDQUxBUj15CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25maWcgYi9hcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25maWcKaW5kZXggMmQ2ZjViMi4uYWU1MTI0ZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnCisrKyBiL2FyY2gveDg2L2NvbmZpZ3MveDg2XzY0X2RlZmNvbmZpZwpAQCAtMSw2NCArMSwxMDMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMi1naXQxNAotIyBGcmkgSnVsIDIwIDA5OjUzOjE1IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzEKKyMgU3VuIE1heSAgNCAxOTo1OTo1NyAyMDA4CiAjCi1DT05GSUdfWDg2XzY0PXkKIENPTkZJR182NEJJVD15CisjIENPTkZJR19YODZfMzIgaXMgbm90IHNldAorQ09ORklHX1g4Nl82ND15CiBDT05GSUdfWDg2PXkKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnIgorIyBDT05GSUdfR0VORVJJQ19MT0NLQlJFQUsgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfVElNRT15Ci1DT05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMPXkKIENPTkZJR19HRU5FUklDX0NNT1NfVVBEQVRFPXkKLUNPTkZJR19aT05FX0RNQTMyPXkKK0NPTkZJR19DTE9DS1NPVVJDRV9XQVRDSERPRz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CUk9BRENBU1Q9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKLUNPTkZJR19TRU1BUEhPUkVfU0xFRVBFUlM9eQorQ09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKK0NPTkZJR19GQVNUX0NNUFhDSEdfTE9DQUw9eQogQ09ORklHX01NVT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX1FVSUNLTElTVD15Ci1DT05GSUdfTlJfUVVJQ0s9MgotQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQotQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15Ci1DT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQotQ09ORklHX1g4Nl9DTVBYQ0hHPXkKLUNPTkZJR19FQVJMWV9QUklOVEs9eQogQ09ORklHX0dFTkVSSUNfSVNBX0RNQT15CiBDT05GSUdfR0VORVJJQ19JT01BUD15Ci1DT05GSUdfQVJDSF9NQVlfSEFWRV9QQ19GREM9eQotQ09ORklHX0FSQ0hfUE9QVUxBVEVTX05PREVfTUFQPXkKLUNPTkZJR19ETUk9eQotQ09ORklHX0FVRElUX0FSQ0g9eQogQ09ORklHX0dFTkVSSUNfQlVHPXkKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19SV1NFTV9YQ0hHQUREX0FMR09SSVRITSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKLUNPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCi0KLSMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCi0jCi1DT05GSUdfRVhQRVJJTUVOVEFMPXkKLUNPTkZJR19MT0NLX0tFUk5FTD15Ci1DT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfQVJDSF9IQVNfQ1BVX0lETEVfV0FJVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0dFTkVSSUNfVElNRV9WU1lTQ0FMTD15CitDT05GSUdfQVJDSF9IQVNfQ1BVX1JFTEFYPXkKK0NPTkZJR19BUkNIX0hBU19DQUNIRV9MSU5FX1NJWkU9eQorQ09ORklHX0hBVkVfU0VUVVBfUEVSX0NQVV9BUkVBPXkKK0NPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUD15CitDT05GSUdfQVJDSF9ISUJFUk5BVElPTl9QT1NTSUJMRT15CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKK0NPTkZJR19aT05FX0RNQTMyPXkKK0NPTkZJR19BUkNIX1BPUFVMQVRFU19OT0RFX01BUD15CitDT05GSUdfQVVESVRfQVJDSD15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX09QVElNSVpFRF9JTkxJTklORz15CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX0dFTkVSSUNfUEVORElOR19JUlE9eQorQ09ORklHX1g4Nl9TTVA9eQorQ09ORklHX1g4Nl82NF9TTVA9eQorQ09ORklHX1g4Nl9IVD15CitDT05GSUdfWDg2X0JJT1NfUkVCT09UPXkKK0NPTkZJR19YODZfVFJBTVBPTElORT15CisjIENPTkZJR19LVElNRV9TQ0FMQVIgaXMgbm90IHNldAogCiAjCiAjIEdlbmVyYWwgc2V0dXAKICMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKIENPTkZJR19MT0NBTFZFUlNJT049IiIKLUNPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CisjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogQ09ORklHX1BPU0lYX01RVUVVRT15Ci0jIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xOAotIyBDT05GSUdfQ1BVU0VUUyBpcyBub3Qgc2V0Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfQlNEX1BST0NFU1NfQUNDVD15CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUX1YzIGlzIG5vdCBzZXQKK0NPTkZJR19UQVNLU1RBVFM9eQorQ09ORklHX1RBU0tfREVMQVlfQUNDVD15CitDT05GSUdfVEFTS19YQUNDVD15CitDT05GSUdfVEFTS19JT19BQ0NPVU5USU5HPXkKK0NPTkZJR19BVURJVD15CitDT05GSUdfQVVESVRTWVNDQUxMPXkKK0NPTkZJR19BVURJVF9UUkVFPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE3CitDT05GSUdfQ0dST1VQUz15CisjIENPTkZJR19DR1JPVVBfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0NHUk9VUF9OUz15CisjIENPTkZJR19DR1JPVVBfREVWSUNFIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVTRVRTPXkKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CisjIENPTkZJR19SVF9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19DR1JPVVBfU0NIRUQ9eQorQ09ORklHX0NHUk9VUF9DUFVBQ0NUPXkKK0NPTkZJR19SRVNPVVJDRV9DT1VOVEVSUz15CisjIENPTkZJR19DR1JPVVBfTUVNX1JFU19DVExSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjIgaXMgbm90IHNldAorQ09ORklHX1BST0NfUElEX0NQVVNFVD15CiBDT05GSUdfUkVMQVk9eQorQ09ORklHX05BTUVTUEFDRVM9eQorQ09ORklHX1VUU19OUz15CitDT05GSUdfSVBDX05TPXkKK0NPTkZJR19VU0VSX05TPXkKK0NPTkZJR19QSURfTlM9eQogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpAQCAtNjYsMTMgKzEwNSwxNSBAQAogIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKIENPTkZJR19LQUxMU1lNU19BTEw9eQotIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CitDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUz15CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKKyMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKQEAgLTgyLDkgKzEyMywyMSBAQAogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15Ci1DT05GSUdfU0xBQj15Ci0jIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCX0RFQlVHPXkKKyMgQ09ORklHX1NMQUIgaXMgbm90IHNldAorQ09ORklHX1NMVUI9eQogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKK0NPTkZJR19NQVJLRVJTPXkKKyMgQ09ORklHX09QUk9GSUxFIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKK0NPTkZJR19LUFJPQkVTPXkKK0NPTkZJR19LUkVUUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MApAQCAtOTYsMTQgKzE0OSwxNSBAQAogIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CiBDT05GSUdfU1RPUF9NQUNISU5FPXkKIENPTkZJR19CTE9DSz15Ci0jIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX0lPX1RSQUNFPXkKK0NPTkZJR19CTEtfREVWX0JTRz15CitDT05GSUdfQkxPQ0tfQ09NUEFUPXkKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKLSMgQ09ORklHX0lPU0NIRURfQVMgaXMgbm90IHNldAorQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldApAQCAtMTExLDEwNyArMTY1LDE3NyBAQAogQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcwogIwotQ09ORklHX1g4Nl9QQz15Ci0jIENPTkZJR19YODZfVlNNUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSzggaXMgbm90IHNldAotIyBDT05GSUdfTVBTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQ09SRTIgaXMgbm90IHNldAotQ09ORklHX0dFTkVSSUNfQ1BVPXkKLUNPTkZJR19YODZfTDFfQ0FDSEVfQllURVM9MTI4Ci1DT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTcKLUNPTkZJR19YODZfSU5URVJOT0RFX0NBQ0hFX0JZVEVTPTEyOAotQ09ORklHX1g4Nl9UU0M9eQotQ09ORklHX1g4Nl9HT09EX0FQSUM9eQotIyBDT05GSUdfTUlDUk9DT0RFIGlzIG5vdCBzZXQKLUNPTkZJR19YODZfTVNSPXkKLUNPTkZJR19YODZfQ1BVSUQ9eQotQ09ORklHX1g4Nl9IVD15Ci1DT05GSUdfWDg2X0lPX0FQSUM9eQotQ09ORklHX1g4Nl9MT0NBTF9BUElDPXkKLUNPTkZJR19NVFJSPXkKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogQ09ORklHX1NNUD15Ci1DT05GSUdfU0NIRURfU01UPXkKK0NPTkZJR19YODZfUEM9eQorIyBDT05GSUdfWDg2X0VMQU4gaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1ZPWUFHRVIgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X05VTUFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9TVU1NSVQgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X0JJR1NNUCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfVklTV1MgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X0dFTkVSSUNBUkNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9FUzcwMDAgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1JEQzMyMVggaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1ZTTVAgaXMgbm90IHNldAorIyBDT05GSUdfUEFSQVZJUlRfR1VFU1QgaXMgbm90IHNldAorQ09ORklHX01FTVRFU1RfQk9PVFBBUkFNPXkKK0NPTkZJR19NRU1URVNUX0JPT1RQQVJBTV9WQUxVRT0wCisjIENPTkZJR19NMzg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX000ODYgaXMgbm90IHNldAorIyBDT05GSUdfTTU4NiBpcyBub3Qgc2V0CisjIENPTkZJR19NNTg2VFNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX001ODZNTVggaXMgbm90IHNldAorIyBDT05GSUdfTTY4NiBpcyBub3Qgc2V0CisjIENPTkZJR19NUEVOVElVTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX01QRU5USVVNSUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX01QRU5USVVNTSBpcyBub3Qgc2V0CisjIENPTkZJR19NUEVOVElVTTQgaXMgbm90IHNldAorIyBDT05GSUdfTUs2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01LNyBpcyBub3Qgc2V0CisjIENPTkZJR19NSzggaXMgbm90IHNldAorIyBDT05GSUdfTUNSVVNPRSBpcyBub3Qgc2V0CisjIENPTkZJR19NRUZGSUNFT04gaXMgbm90IHNldAorIyBDT05GSUdfTVdJTkNISVBDNiBpcyBub3Qgc2V0CisjIENPTkZJR19NV0lOQ0hJUDIgaXMgbm90IHNldAorIyBDT05GSUdfTVdJTkNISVAzRCBpcyBub3Qgc2V0CisjIENPTkZJR19NR0VPREVHWDEgaXMgbm90IHNldAorIyBDT05GSUdfTUdFT0RFX0xYIGlzIG5vdCBzZXQKKyMgQ09ORklHX01DWVJJWElJSSBpcyBub3Qgc2V0CisjIENPTkZJR19NVklBQzNfMiBpcyBub3Qgc2V0CisjIENPTkZJR19NVklBQzcgaXMgbm90IHNldAorIyBDT05GSUdfTVBTQyBpcyBub3Qgc2V0CitDT05GSUdfTUNPUkUyPXkKKyMgQ09ORklHX0dFTkVSSUNfQ1BVIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfQ1BVPXkKK0NPTkZJR19YODZfTDFfQ0FDSEVfQllURVM9NjQKK0NPTkZJR19YODZfSU5URVJOT0RFX0NBQ0hFX0JZVEVTPTY0CitDT05GSUdfWDg2X0NNUFhDSEc9eQorQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD02CitDT05GSUdfWDg2X0dPT0RfQVBJQz15CitDT05GSUdfWDg2X0lOVEVMX1VTRVJDT1BZPXkKK0NPTkZJR19YODZfVVNFX1BQUk9fQ0hFQ0tTVU09eQorQ09ORklHX1g4Nl9QNl9OT1A9eQorQ09ORklHX1g4Nl9UU0M9eQorQ09ORklHX1g4Nl9DTU9WPXkKK0NPTkZJR19YODZfTUlOSU1VTV9DUFVfRkFNSUxZPTY0CitDT05GSUdfWDg2X0RFQlVHQ1RMTVNSPXkKK0NPTkZJR19IUEVUX1RJTUVSPXkKK0NPTkZJR19IUEVUX0VNVUxBVEVfUlRDPXkKK0NPTkZJR19ETUk9eQorQ09ORklHX0dBUlRfSU9NTVU9eQorQ09ORklHX0NBTEdBUllfSU9NTVU9eQorQ09ORklHX0NBTEdBUllfSU9NTVVfRU5BQkxFRF9CWV9ERUZBVUxUPXkKK0NPTkZJR19TV0lPVExCPXkKK0NPTkZJR19JT01NVV9IRUxQRVI9eQorQ09ORklHX05SX0NQVVM9NAorIyBDT05GSUdfU0NIRURfU01UIGlzIG5vdCBzZXQKIENPTkZJR19TQ0hFRF9NQz15CiAjIENPTkZJR19QUkVFTVBUX05PTkUgaXMgbm90IHNldAogQ09ORklHX1BSRUVNUFRfVk9MVU5UQVJZPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotQ09ORklHX1BSRUVNUFRfQktMPXkKK0NPTkZJR19YODZfTE9DQUxfQVBJQz15CitDT05GSUdfWDg2X0lPX0FQSUM9eQorIyBDT05GSUdfWDg2X01DRSBpcyBub3Qgc2V0CisjIENPTkZJR19JOEsgaXMgbm90IHNldAorIyBDT05GSUdfTUlDUk9DT0RFIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfTVNSPXkKK0NPTkZJR19YODZfQ1BVSUQ9eQogQ09ORklHX05VTUE9eQogQ09ORklHX0s4X05VTUE9eQotQ09ORklHX05PREVTX1NISUZUPTYKIENPTkZJR19YODZfNjRfQUNQSV9OVU1BPXkKLUNPTkZJR19OVU1BX0VNVT15CitDT05GSUdfTk9ERVNfU1BBTl9PVEhFUl9OT0RFUz15CisjIENPTkZJR19OVU1BX0VNVSBpcyBub3Qgc2V0CitDT05GSUdfTk9ERVNfU0hJRlQ9NgorQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0RFRkFVTFQ9eQorQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0VOQUJMRT15CitDT05GSUdfQVJDSF9TRUxFQ1RfTUVNT1JZX01PREVMPXkKK0NPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKKyMgQ09ORklHX0ZMQVRNRU1fTUFOVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAorQ09ORklHX1NQQVJTRU1FTV9NQU5VQUw9eQorQ09ORklHX1NQQVJTRU1FTT15CiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUz15CitDT05GSUdfSEFWRV9NRU1PUllfUFJFU0VOVD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKK0NPTkZJR19TUEFSU0VNRU1fRVhUUkVNRT15CitDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFPXkKK0NPTkZJR19TUEFSU0VNRU1fVk1FTU1BUD15CisKKyMKKyMgTWVtb3J5IGhvdHBsdWcgaXMgY3VycmVudGx5IGluY29tcGF0aWJsZSB3aXRoIFNvZnR3YXJlIFN1c3BlbmQKKyMKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKIENPTkZJR19NSUdSQVRJT049eQogQ09ORklHX1JFU09VUkNFU182NEJJVD15CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCiBDT05GSUdfQk9VTkNFPXkKIENPTkZJR19WSVJUX1RPX0JVUz15Ci1DT05GSUdfSEFWRV9BUkNIX0VBUkxZX1BGTl9UT19OSUQ9eQotQ09ORklHX09VVF9PRl9MSU5FX1BGTl9UT19QQUdFPXkKLUNPTkZJR19OUl9DUFVTPTMyCitDT05GSUdfTVRSUj15CisjIENPTkZJR19YODZfUEFUIGlzIG5vdCBzZXQKK0NPTkZJR19FRkk9eQorQ09ORklHX1NFQ0NPTVA9eQorIyBDT05GSUdfSFpfMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0haXzI1MCBpcyBub3Qgc2V0CisjIENPTkZJR19IWl8zMDAgaXMgbm90IHNldAorQ09ORklHX0haXzEwMDA9eQorQ09ORklHX0haPTEwMDAKK0NPTkZJR19TQ0hFRF9IUlRJQ0s9eQorQ09ORklHX0tFWEVDPXkKK0NPTkZJR19DUkFTSF9EVU1QPXkKK0NPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAwMDAKK0NPTkZJR19SRUxPQ0FUQUJMRT15CiBDT05GSUdfUEhZU0lDQUxfQUxJR049MHgyMDAwMDAKIENPTkZJR19IT1RQTFVHX0NQVT15CisjIENPTkZJR19DT01QQVRfVkRTTyBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUc9eQotQ09ORklHX0hQRVRfVElNRVI9eQotQ09ORklHX0hQRVRfRU1VTEFURV9SVEM9eQotQ09ORklHX0dBUlRfSU9NTVU9eQotIyBDT05GSUdfQ0FMR0FSWV9JT01NVSBpcyBub3Qgc2V0Ci1DT05GSUdfU1dJT1RMQj15Ci1DT05GSUdfWDg2X01DRT15Ci1DT05GSUdfWDg2X01DRV9JTlRFTD15Ci1DT05GSUdfWDg2X01DRV9BTUQ9eQotIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JBU0hfRFVNUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SRUxPQ0FUQUJMRSBpcyBub3Qgc2V0Ci1DT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgyMDAwMDAKLUNPTkZJR19TRUNDT01QPXkKLSMgQ09ORklHX0NDX1NUQUNLUFJPVEVDVE9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0haXzEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfSFpfMjUwPXkKLSMgQ09ORklHX0haXzMwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IWl8xMDAwIGlzIG5vdCBzZXQKLUNPTkZJR19IWj0yNTAKLUNPTkZJR19LOF9OQj15Ci1DT05GSUdfR0VORVJJQ19IQVJESVJRUz15Ci1DT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQotQ09ORklHX0lTQV9ETUFfQVBJPXkKLUNPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKK0NPTkZJR19IQVZFX0FSQ0hfRUFSTFlfUEZOX1RPX05JRD15CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCitDT05GSUdfQVJDSF9ISUJFUk5BVElPTl9IRUFERVI9eQogQ09ORklHX1BNPXkKLSMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUE1fREVCVUc9eQorIyBDT05GSUdfUE1fVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfQ0FOX1BNX1RSQUNFPXkKK0NPTkZJR19QTV9UUkFDRT15CitDT05GSUdfUE1fVFJBQ0VfUlRDPXkKK0NPTkZJR19QTV9TTEVFUF9TTVA9eQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EPXkKK0NPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQogQ09ORklHX0hJQkVSTkFUSU9OPXkKIENPTkZJR19QTV9TVERfUEFSVElUSU9OPSIiCi0KLSMKLSMgQUNQSSAoQWR2YW5jZWQgQ29uZmlndXJhdGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlKSBTdXBwb3J0Ci0jCiBDT05GSUdfQUNQST15CiBDT05GSUdfQUNQSV9TTEVFUD15Ci1DT05GSUdfQUNQSV9TTEVFUF9QUk9DX0ZTPXkKLUNPTkZJR19BQ1BJX1NMRUVQX1BST0NfU0xFRVA9eQogQ09ORklHX0FDUElfUFJPQ0ZTPXkKK0NPTkZJR19BQ1BJX1BST0NGU19QT1dFUj15CitDT05GSUdfQUNQSV9TWVNGU19QT1dFUj15CitDT05GSUdfQUNQSV9QUk9DX0VWRU5UPXkKIENPTkZJR19BQ1BJX0FDPXkKIENPTkZJR19BQ1BJX0JBVFRFUlk9eQogQ09ORklHX0FDUElfQlVUVE9OPXkKIENPTkZJR19BQ1BJX0ZBTj15Ci0jIENPTkZJR19BQ1BJX0RPQ0sgaXMgbm90IHNldAorQ09ORklHX0FDUElfRE9DSz15CisjIENPTkZJR19BQ1BJX0JBWSBpcyBub3Qgc2V0CiBDT05GSUdfQUNQSV9QUk9DRVNTT1I9eQogQ09ORklHX0FDUElfSE9UUExVR19DUFU9eQogQ09ORklHX0FDUElfVEhFUk1BTD15CiBDT05GSUdfQUNQSV9OVU1BPXkKKyMgQ09ORklHX0FDUElfV01JIGlzIG5vdCBzZXQKICMgQ09ORklHX0FDUElfQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BQ1BJX1RPU0hJQkEgaXMgbm90IHNldAorIyBDT05GSUdfQUNQSV9DVVNUT01fRFNEVCBpcyBub3Qgc2V0CiBDT05GSUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0wCiAjIENPTkZJR19BQ1BJX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19BQ1BJX0VDPXkKQEAgLTIyNywyOSArMzUxLDM0IEBACiBDT05GSUdfQ1BVX0ZSRVE9eQogQ09ORklHX0NQVV9GUkVRX1RBQkxFPXkKIENPTkZJR19DUFVfRlJFUV9ERUJVRz15Ci1DT05GSUdfQ1BVX0ZSRVFfU1RBVD15Ci0jIENPTkZJR19DUFVfRlJFUV9TVEFUX0RFVEFJTFMgaXMgbm90IHNldAotQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFPXkKLSMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9TVEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BPV0VSU0FWRSBpcyBub3Qgc2V0CitDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfVVNFUlNQQUNFPXkKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX09OREVNQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVX0ZSRVFfR09WX1BFUkZPUk1BTkNFPXkKICMgQ09ORklHX0NQVV9GUkVRX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldAogQ09ORklHX0NQVV9GUkVRX0dPVl9VU0VSU1BBQ0U9eQogQ09ORklHX0NQVV9GUkVRX0dPVl9PTkRFTUFORD15Ci1DT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElWRT15CisjIENPTkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKIAogIwogIyBDUFVGcmVxIHByb2Nlc3NvciBkcml2ZXJzCiAjCi1DT05GSUdfWDg2X1BPV0VSTk9XX0s4PXkKLUNPTkZJR19YODZfUE9XRVJOT1dfSzhfQUNQST15Ci0jIENPTkZJR19YODZfU1BFRURTVEVQX0NFTlRSSU5PIGlzIG5vdCBzZXQKIENPTkZJR19YODZfQUNQSV9DUFVGUkVRPXkKKyMgQ09ORklHX1g4Nl9QT1dFUk5PV19LOCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfU1BFRURTVEVQX0NFTlRSSU5PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9QNF9DTE9DS01PRCBpcyBub3Qgc2V0CiAKICMKICMgc2hhcmVkIG9wdGlvbnMKICMKLUNPTkZJR19YODZfQUNQSV9DUFVGUkVRX1BST0NfSU5URj15CisjIENPTkZJR19YODZfQUNQSV9DUFVGUkVRX1BST0NfSU5URiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfU1BFRURTVEVQX0xJQiBpcyBub3Qgc2V0CitDT05GSUdfQ1BVX0lETEU9eQorQ09ORklHX0NQVV9JRExFX0dPVl9MQURERVI9eQorQ09ORklHX0NQVV9JRExFX0dPVl9NRU5VPXkKIAogIwogIyBCdXMgb3B0aW9ucyAoUENJIGV0Yy4pCkBAIC0yNTcsMjcgKzM4Niw1NiBAQAogQ09ORklHX1BDST15CiBDT05GSUdfUENJX0RJUkVDVD15CiBDT05GSUdfUENJX01NQ09ORklHPXkKK0NPTkZJR19QQ0lfRE9NQUlOUz15CitDT05GSUdfRE1BUj15CitDT05GSUdfRE1BUl9HRlhfV0E9eQorQ09ORklHX0RNQVJfRkxPUFBZX1dBPXkKIENPTkZJR19QQ0lFUE9SVEJVUz15CisjIENPTkZJR19IT1RQTFVHX1BDSV9QQ0lFIGlzIG5vdCBzZXQKIENPTkZJR19QQ0lFQUVSPXkKKyMgQ09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX1NVUFBPUlRTX01TST15CiBDT05GSUdfUENJX01TST15CisjIENPTkZJR19QQ0lfTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19IVF9JUlEgaXMgbm90IHNldAorQ09ORklHX0hUX0lSUT15CitDT05GSUdfSVNBX0RNQV9BUEk9eQorQ09ORklHX0s4X05CPXkKK0NPTkZJR19QQ0NBUkQ9eQorIyBDT05GSUdfUENNQ0lBX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19QQ01DSUE9eQorQ09ORklHX1BDTUNJQV9MT0FEX0NJUz15CitDT05GSUdfUENNQ0lBX0lPQ1RMPXkKK0NPTkZJR19DQVJEQlVTPXkKIAogIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CisjIFBDLWNhcmQgYnJpZGdlcwogIwotIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hPVFBMVUdfUENJIGlzIG5vdCBzZXQKK0NPTkZJR19ZRU5UQT15CitDT05GSUdfWUVOVEFfTzI9eQorQ09ORklHX1lFTlRBX1JJQ09IPXkKK0NPTkZJR19ZRU5UQV9UST15CitDT05GSUdfWUVOVEFfRU5FX1RVTkU9eQorQ09ORklHX1lFTlRBX1RPU0hJQkE9eQorIyBDT05GSUdfUEQ2NzI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0k4MjA5MiBpcyBub3Qgc2V0CitDT05GSUdfUENDQVJEX05PTlNUQVRJQz15CitDT05GSUdfSE9UUExVR19QQ0k9eQorIyBDT05GSUdfSE9UUExVR19QQ0lfRkFLRSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9BQ1BJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0NQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfU0hQQyBpcyBub3Qgc2V0CiAKICMKICMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMgLyBFbXVsYXRpb25zCiAjCiBDT05GSUdfQklORk1UX0VMRj15Ci0jIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CitDT05GSUdfQ09NUEFUX0JJTkZNVF9FTEY9eQorQ09ORklHX0JJTkZNVF9NSVNDPXkKIENPTkZJR19JQTMyX0VNVUxBVElPTj15Ci1DT05GSUdfSUEzMl9BT1VUPXkKKyMgQ09ORklHX0lBMzJfQU9VVCBpcyBub3Qgc2V0CiBDT05GSUdfQ09NUEFUPXkKK0NPTkZJR19DT01QQVRfRk9SX1U2NF9BTElHTk1FTlQ9eQogQ09ORklHX1NZU1ZJUENfQ09NUEFUPXkKIAogIwpAQCAtMjg5LDIyICs0NDcsMzEgQEAKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCiBDT05GSUdfUEFDS0VUPXkKLSMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVRfTU1BUD15CiBDT05GSUdfVU5JWD15CitDT05GSUdfWEZSTT15CitDT05GSUdfWEZSTV9VU0VSPXkKKyMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQogQ09ORklHX0lQX01VTFRJQ0FTVD15Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUj15CitDT05GSUdfQVNLX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX0ZJQl9UUklFIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15Ci1DT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15Ci0jIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAotIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUz15CitDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIPXkKK0NPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKKyMgQ09ORklHX0lQX1BOUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAotIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19TWU5fQ09PS0lFUz15CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKQEAgLTMxMywzMSArNDgwLDEwOSBAQAogIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQotIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX0lORVRfTFJPPXkKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQURWQU5DRUQ9eQorIyBDT05GSUdfVENQX0NPTkdfQklDIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CisjIENPTkZJR19UQ1BfQ09OR19XRVNUV09PRCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hTVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hZQkxBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1ZFR0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1NDQUxBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0xQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1ZFTk8gaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfWUVBSCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19JTExJTk9JUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0JJQyBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DVUJJQz15CisjIENPTkZJR19ERUZBVUxUX0hUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9WRUdBUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1dFU1RXT09EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfUkVOTyBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCi0jIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfTUQ1U0lHPXkKKyMgQ09ORklHX0lQX1ZTIGlzIG5vdCBzZXQKIENPTkZJR19JUFY2PXkKICMgQ09ORklHX0lQVjZfUFJJVkFDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X1JPVVRFUl9QUkVGIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfT1BUSU1JU1RJQ19EQUQgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfQUggaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfRVNQIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUNl9BSD15CitDT05GSUdfSU5FVDZfRVNQPXkKICMgQ09ORklHX0lORVQ2X0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X01JUDYgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RSQU5TUE9SVD15CitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTD15CitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQ9eQogIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1JPVVRFT1BUSU1JWkFUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19JUFY2X1NJVD15CitDT05GSUdfSVBWNl9ORElTQ19OT0RFVFlQRT15CiAjIENPTkZJR19JUFY2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAotIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjZfTVJPVVRFIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRMQUJFTD15CitDT05GSUdfTkVUV09SS19TRUNNQVJLPXkKK0NPTkZJR19ORVRGSUxURVI9eQorIyBDT05GSUdfTkVURklMVEVSX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUl9BRFZBTkNFRCBpcyBub3Qgc2V0CisKKyMKKyMgQ29yZSBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LPXkKK0NPTkZJR19ORVRGSUxURVJfTkVUTElOS19MT0c9eQorQ09ORklHX05GX0NPTk5UUkFDSz15CitDT05GSUdfTkZfQ09OTlRSQUNLX1NFQ01BUks9eQorQ09ORklHX05GX0NPTk5UUkFDS19GVFA9eQorQ09ORklHX05GX0NPTk5UUkFDS19JUkM9eQorQ09ORklHX05GX0NPTk5UUkFDS19TSVA9eQorQ09ORklHX05GX0NUX05FVExJTks9eQorQ09ORklHX05FVEZJTFRFUl9YVEFCTEVTPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfTkZMT0c9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9DT05OU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9UQ1BNU1M9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9DT05OVFJBQ0s9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9NQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfUE9MSUNZPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfU1RBVEU9eQorCisjCisjIElQOiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05GX0NPTk5UUkFDS19JUFY0PXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfUFJPQ19DT01QQVQ9eQorQ09ORklHX0lQX05GX0lQVEFCTEVTPXkKK0NPTkZJR19JUF9ORl9GSUxURVI9eQorQ09ORklHX0lQX05GX1RBUkdFVF9SRUpFQ1Q9eQorQ09ORklHX0lQX05GX1RBUkdFVF9MT0c9eQorQ09ORklHX0lQX05GX1RBUkdFVF9VTE9HPXkKK0NPTkZJR19ORl9OQVQ9eQorQ09ORklHX05GX05BVF9ORUVERUQ9eQorQ09ORklHX0lQX05GX1RBUkdFVF9NQVNRVUVSQURFPXkKK0NPTkZJR19ORl9OQVRfRlRQPXkKK0NPTkZJR19ORl9OQVRfSVJDPXkKKyMgQ09ORklHX05GX05BVF9URlRQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9BTUFOREEgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX1BQVFAgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX0gzMjMgaXMgbm90IHNldAorQ09ORklHX05GX05BVF9TSVA9eQorQ09ORklHX0lQX05GX01BTkdMRT15CisKKyMKKyMgSVB2NjogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVBWNj15CitDT05GSUdfSVA2X05GX0lQVEFCTEVTPXkKK0NPTkZJR19JUDZfTkZfTUFUQ0hfSVBWNkhFQURFUj15CitDT05GSUdfSVA2X05GX0ZJTFRFUj15CitDT05GSUdfSVA2X05GX1RBUkdFVF9MT0c9eQorQ09ORklHX0lQNl9ORl9UQVJHRVRfUkVKRUNUPXkKK0NPTkZJR19JUDZfTkZfTUFOR0xFPXkKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAogIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CiAjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKQEAgLTM0NSw2ICs1OTAsNyBAQAogIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAogIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKK0NPTkZJR19MTEM9eQogIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFggaXMgbm90IHNldAogIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldApAQCAtMzUyLDI4ICs1OTgsOTkgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hFRD15CiAKICMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCisjIFF1ZXVlaW5nL1NjaGVkdWxpbmcKICMKLSMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0NCUSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0hUQiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0hGU0MgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9QUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUlIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9SRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9TRlEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9URVFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfVEJGIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfR1JFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0RTTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX05FVEVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfSU5HUkVTUyBpcyBub3Qgc2V0CisKKyMKKyMgQ2xhc3NpZmljYXRpb24KKyMKK0NPTkZJR19ORVRfQ0xTPXkKKyMgQ09ORklHX05FVF9DTFNfQkFTSUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19UQ0lOREVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUk9VVEU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfRlcgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19VMzIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19SU1ZQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUlNWUDYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19GTE9XIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRU1BVENIPXkKK0NPTkZJR19ORVRfRU1BVENIX1NUQUNLPTMyCisjIENPTkZJR19ORVRfRU1BVENIX0NNUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX05CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfTUVUQSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX1RFWFQgaXMgbm90IHNldAorQ09ORklHX05FVF9DTFNfQUNUPXkKKyMgQ09ORklHX05FVF9BQ1RfUE9MSUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfR0FDVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX01JUlJFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX0lQVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX05BVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX1BFRElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfU0lNUCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1NDSF9GSUZPPXkKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKK0NPTkZJR19IQU1SQURJTz15CisKKyMKKyMgUGFja2V0IFJhZGlvIHByb3RvY29scworIworIyBDT05GSUdfQVgyNSBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CitDT05GSUdfRklCX1JVTEVTPXkKIAogIwogIyBXaXJlbGVzcwogIwotIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKK0NPTkZJR19DRkc4MDIxMT15CitDT05GSUdfTkw4MDIxMT15CitDT05GSUdfV0lSRUxFU1NfRVhUPXkKK0NPTkZJR19NQUM4MDIxMT15CisKKyMKKyMgUmF0ZSBjb250cm9sIGFsZ29yaXRobSBzZWxlY3Rpb24KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX1BJRD15CisjIENPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX05PTkUgaXMgbm90IHNldAorCisjCisjIFNlbGVjdGluZyAneScgZm9yIGFuIGFsZ29yaXRobSB3aWxsCisjCisKKyMKKyMgYnVpbGQgdGhlIGFsZ29yaXRobSBpbnRvIG1hYzgwMjExLgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFQ9InBpZCIKK0NPTkZJR19NQUM4MDIxMV9SQ19QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfTUVTSCBpcyBub3Qgc2V0CitDT05GSUdfTUFDODAyMTFfTEVEUz15CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHX1BBQ0tFVF9BTElHTk1FTlQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTFfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldApAQCAtMzg1LDEzICs3MDIsMTUgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfREVWUkVTPXkKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfQ09OTkVDVE9SPXkKK0NPTkZJR19QUk9DX0VWRU5UUz15CiAjIENPTkZJR19NVEQgaXMgbm90IHNldAogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfUE5QPXkKQEAgLTQwMiw3ICs3MjEsNyBAQAogIwogQ09ORklHX1BOUEFDUEk9eQogQ09ORklHX0JMS19ERVY9eQotQ09ORklHX0JMS19ERVZfRkQ9eQorIyBDT05GSUdfQkxLX0RFVl9GRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19DUFFfQ0lTU19EQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0RBQzk2MCBpcyBub3Qgc2V0CkBAIC00MTUsOCArNzM0LDggQEAKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CitDT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xNjM4NAorIyBDT05GSUdfQkxLX0RFVl9YSVAgaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAogQ09ORklHX01JU0NfREVWSUNFUz15CkBAIC00MjUsNzIgKzc0NCwxNiBAQAogIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKICMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19BQ0VSX1dNSSBpcyBub3Qgc2V0CisjIENPTkZJR19BU1VTX0xBUFRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19GVUpJVFNVX0xBUFRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19NU0lfTEFQVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1NPTllfTEFQVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1RISU5LUEFEX0FDUEkgaXMgbm90IHNldAotQ09ORklHX0lERT15Ci1DT05GSUdfQkxLX0RFVl9JREU9eQotCi0jCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwotIwotIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEX0lERSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVESVNLPXkKLUNPTkZJR19JREVESVNLX01VTFRJX01PREU9eQotQ09ORklHX0JMS19ERVZfSURFQ0Q9eQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVBQ1BJPXkKLSMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKLUNPTkZJR19JREVfUFJPQ19GUz15Ci0KLSMKLSMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwotIwotQ09ORklHX0lERV9HRU5FUklDPXkKLSMgQ09ORklHX0JMS19ERVZfQ01ENjQwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUE5QIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERVBDST15Ci0jIENPTkZJR19JREVQQ0lfU0hBUkVfSVJRIGlzIG5vdCBzZXQKLUNPTkZJR19JREVQQ0lfUENJQlVTX09SREVSPXkKLSMgQ09ORklHX0JMS19ERVZfT0ZGQk9BUkQgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfT1BUSTYyMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1JaMTAwMCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVETUFfUENJPXkKLSMgQ09ORklHX0JMS19ERVZfSURFRE1BX0ZPUkNFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVETUFfT05MWURJU0sgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9BRUM2MlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQUxJMTVYMyBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9BTUQ3NFhYPXkKLUNPTkZJR19CTEtfREVWX0FUSUlYUD15Ci0jIENPTkZJR19CTEtfREVWX0NNRDY0WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RSSUZMRVggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DWTgyQzY5MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NTNTUyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NTNTUzMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hQVDM0WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hQVDM2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0pNSUNST04gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TQzEyMDAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUElJWD15Ci0jIENPTkZJR19CTEtfREVWX0lUODIxMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lUODIxWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX05TODc0MTUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9PTEQgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUERDMjAyWFhfTkVXPXkKLSMgQ09ORklHX0JMS19ERVZfU1ZXS1MgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TSUlNQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0lTNTUxMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NMQzkwRTY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVFJNMjkwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVklBODJDWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVEM4NkMwMDEgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVETUE9eQotIyBDT05GSUdfSURFRE1BX0lWQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVMX01FTkxPVyBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNDk5LDggKzc2Miw4IEBACiBDT05GSUdfU0NTST15CiBDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAotQ09ORklHX1NDU0lfTkVUTElOSz15Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDksNyArNzcyLDcgQEAKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1NSPXkKLSMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSX1ZFTkRPUj15CiBDT05GSUdfQ0hSX0RFVl9TRz15CiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKQEAgLTUyNiw3MyArNzg5LDM3IEBACiAjIFNDU0kgVHJhbnNwb3J0cwogIwogQ09ORklHX1NDU0lfU1BJX0FUVFJTPXkKLUNPTkZJR19TQ1NJX0ZDX0FUVFJTPXkKKyMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9TQVNfQVRUUlM9eQorIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCi0jIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUNBUkQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BQUNSQUlEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUlDN1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FJQzdYWFhfT0xEIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX0FJQzc5WFg9eQotQ09ORklHX0FJQzc5WFhfQ01EU19QRVJfREVWSUNFPTMyCi1DT05GSUdfQUlDNzlYWF9SRVNFVF9ERUxBWV9NUz00MDAwCi0jIENPTkZJR19BSUM3OVhYX0RFQlVHX0VOQUJMRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUlDNzlYWF9ERUJVR19NQVNLPTAKLSMgQ09ORklHX0FJQzc5WFhfUkVHX1BSRVRUWV9QUklOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfTkVXR0VOIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9TQVMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9IUFRJT1AgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9CVVNMT0dJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RNWDMxOTFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRUFUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9HRFRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfTFBGQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RDMzk1eCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RDMzkwVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUwgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEgaXMgbm90IHNldAogQ09ORklHX0FUQT15CiAjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogQ09ORklHX0FUQV9BQ1BJPXkKK0NPTkZJR19TQVRBX1BNUD15CiBDT05GSUdfU0FUQV9BSENJPXkKLUNPTkZJR19TQVRBX1NWVz15CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfUElJWD15CiAjIENPTkZJR19TQVRBX01WIGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX05WPXkKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAogIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAotQ09ORklHX1NBVEFfU0lMPXkKLSMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAotQ09ORklHX1NBVEFfVklBPXkKKyMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQUNQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CitDT05GSUdfUEFUQV9BTUQ9eQogIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldApAQCAtNjEyLDExICs4MzksMTQgQEAKICMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorQ09ORklHX1BBVEFfT0xEUElJWD15CiAjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BDTUNJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKQEAgLTYyOCw2NSArODU4LDQyIEBACiAjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAogQ09ORklHX01EPXkKLSMgQ09ORklHX0JMS19ERVZfTUQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfTUQ9eQorIyBDT05GSUdfTURfTElORUFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlENDU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX01VTFRJUEFUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9GQVVMVFkgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfRE09eQogIyBDT05GSUdfRE1fREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfRE1fQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfRE1fU05BUFNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfRE1fTUlSUk9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RNX1pFUk8gaXMgbm90IHNldAorQ09ORklHX0RNX01JUlJPUj15CitDT05GSUdfRE1fWkVSTz15CiAjIENPTkZJR19ETV9NVUxUSVBBVEggaXMgbm90IHNldAogIyBDT05GSUdfRE1fREVMQVkgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKLUNPTkZJR19GVVNJT049eQotQ09ORklHX0ZVU0lPTl9TUEk9eQotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAotQ09ORklHX0ZVU0lPTl9NQVhfU0dFPTEyOAotIyBDT05GSUdfRlVTSU9OX0NUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ETV9VRVZFTlQgaXMgbm90IHNldAorIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CiAjCiAjIENPTkZJR19GSVJFV0lSRSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTEzOTQ9eQotCi0jCi0jIFN1YnN5c3RlbSBPcHRpb25zCi0jCi0jIENPTkZJR19JRUVFMTM5NF9WRVJCT1NFREVCVUcgaXMgbm90IHNldAotCi0jCi0jIENvbnRyb2xsZXJzCi0jCi0KLSMKLSMgVGV4YXMgSW5zdHJ1bWVudHMgUENJTHlueCByZXF1aXJlcyBJMkMKLSMKLUNPTkZJR19JRUVFMTM5NF9PSENJMTM5ND15Ci0KLSMKLSMgUHJvdG9jb2xzCi0jCi0jIENPTkZJR19JRUVFMTM5NF9WSURFTzEzOTQgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfU0JQMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9FVEgxMzk0X1JPTV9FTlRSWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9FVEgxMzk0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X0RWMTM5NCBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTEzOTRfUkFXSU89eQorIyBDT05GSUdfSUVFRTEzOTQgaXMgbm90IHNldAogIyBDT05GSUdfSTJPIGlzIG5vdCBzZXQKIENPTkZJR19NQUNJTlRPU0hfRFJJVkVSUz15Ci0jIENPTkZJR19NQUNfRU1VTU9VU0VCVE4gaXMgbm90IHNldAorQ09ORklHX01BQ19FTVVNT1VTRUJUTj15CiBDT05GSUdfTkVUREVWSUNFUz15Ci1DT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19JRkIgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0Ci1DT05GSUdfVFVOPXkKKyMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CkBAIC02OTYsMzkgKzkwMyw0MCBAQAogIyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NBU1NJTkkgaXMgbm90IHNldAogQ09ORklHX05FVF9WRU5ET1JfM0NPTT15Ci1DT05GSUdfVk9SVEVYPXkKKyMgQ09ORklHX1ZPUlRFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19UWVBIT09OIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfVFVMSVA9eQogIyBDT05GSUdfREUyMTA0WCBpcyBub3Qgc2V0Ci1DT05GSUdfVFVMSVA9eQotIyBDT05GSUdfVFVMSVBfTVdJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RVTElQX01NSU8gaXMgbm90IHNldAotIyBDT05GSUdfVFVMSVBfTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19UVUxJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERTRYNSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSU5CT05EXzg0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETTkxMDIgaXMgbm90IHNldAogIyBDT05GSUdfVUxJNTI2WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfWElSQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKLUNPTkZJR19BTUQ4MTExX0VUSD15Ci0jIENPTkZJR19BTUQ4MTExRV9OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAotQ09ORklHX0I0ND15CisjIENPTkZJR19CNDQgaXMgbm90IHNldAogQ09ORklHX0ZPUkNFREVUSD15CiAjIENPTkZJR19GT1JDRURFVEhfTkFQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKIENPTkZJR19FMTAwPXkKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5Q1A9eQorIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKIENPTkZJR184MTM5VE9PPXkKLSMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKK0NPTkZJR184MTM5VE9PX1BJTz15CiAjIENPTkZJR184MTM5VE9PX1RVTkVfVFdJU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAogIyBDT05GSUdfODEzOV9PTERfUlhfUkVTRVQgaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldApAQCAtNzQwLDM0ICs5NDgsNzQgQEAKIENPTkZJR19FMTAwMD15CiAjIENPTkZJR19FMTAwMF9OQVBJIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAwX0RJU0FCTEVfUEFDS0VUX1NQTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRSBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JUDEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUdCIGlzIG5vdCBzZXQKICMgQ09ORklHX05TODM4MjAgaXMgbm90IHNldAogIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0CiAjIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldAogIyBDT05GSUdfUjgxNjkgaXMgbm90IHNldAogIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NLR0UgaXMgbm90IHNldAotIyBDT05GSUdfU0tZMiBpcyBub3Qgc2V0CitDT05GSUdfU0tZMj15CisjIENPTkZJR19TS1kyX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CiBDT05GSUdfVElHT04zPXkKLUNPTkZJR19CTlgyPXkKKyMgQ09ORklHX0JOWDIgaXMgbm90IHNldAogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKIENPTkZJR19ORVRERVZfMTAwMDA9eQogIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lYR0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lYR0IgaXMgbm90IHNldAotQ09ORklHX1MySU89bQotIyBDT05GSUdfUzJJT19OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1MySU8gaXMgbm90IHNldAogIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAogIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0CisjIENPTkZJR19OSVUgaXMgbm90IHNldAogIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RFSFVUSSBpcyBub3Qgc2V0CisjIENPTkZJR19CTlgyWCBpcyBub3Qgc2V0CisjIENPTkZJR19TRkMgaXMgbm90IHNldAorQ09ORklHX1RSPXkKKyMgQ09ORklHX0lCTU9MIGlzIG5vdCBzZXQKKyMgQ09ORklHXzNDMzU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1RNUzM4MFRSIGlzIG5vdCBzZXQKIAogIwogIyBXaXJlbGVzcyBMQU4KICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfV0xBTl84MDIxMT15CisjIENPTkZJR19QQ01DSUFfUkFZQ1MgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkVSVEFTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FJUk8gaXMgbm90IHNldAorIyBDT05GSUdfSEVSTUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTUVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FJUk9fQ1MgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1dMMzUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19QUklTTTU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRDEyMDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX05FVF9STkRJU19XTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUTDgxODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRMODE4NyBpcyBub3Qgc2V0CisjIENPTkZJR19BRE04MjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1A1NF9DT01NT04gaXMgbm90IHNldAorQ09ORklHX0FUSDVLPXkKKyMgQ09ORklHX0FUSDVLX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRkkgaXMgbm90IHNldAorIyBDT05GSUdfSVdMQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfSVdMNDk2NSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0wzOTQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPU1RBUCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDMgaXMgbm90IHNldAorIyBDT05GSUdfQjQzTEVHQUNZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1pEMTIxMVJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUMlgwMCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTc3NiwxNiArMTAyNCwyNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUENNQ0lBPXkKKyMgQ09ORklHX1BDTUNJQV8zQzU4OSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfM0M1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX0ZNVkoxOFggaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1BDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9OTUNMQU4gaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1NNQzkxQzkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9YSVJDMlBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9BWE5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAotIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CitDT05GSUdfRkREST15CisjIENPTkZJR19ERUZYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TS0ZQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hJUFBJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogQ09ORklHX05FVENPTlNPTEU9eQorIyBDT05GSUdfTkVUQ09OU09MRV9EWU5BTUlDIGlzIG5vdCBzZXQKIENPTkZJR19ORVRQT0xMPXkKICMgQ09ORklHX05FVFBPTExfVFJBUCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUj15CkBAIC03OTYsMTggKzEwNTQsMTcgQEAKICMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKICMKIENPTkZJR19JTlBVVD15Ci0jIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0ZGX01FTUxFU1M9eQorQ09ORklHX0lOUFVUX1BPTExERVY9eQogCiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKIENPTkZJR19JTlBVVF9NT1VTRURFVj15Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQorIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC04MzIsMTcgKzEwODksNjIgQEAKICMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9BUFBMRVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX1ZTWFhYQUEgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0pPWVNUSUNLPXkKKyMgQ09ORklHX0pPWVNUSUNLX0FOQUxPRyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19BM0QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQURJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0NPQlJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dGMksgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HUklQX01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dVSUxMRU1PVCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19JTlRFUkFDVCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TSURFV0lOREVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1RNREMgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSUZPUkNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1dBUlJJT1IgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfTUFHRUxMQU4gaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VPUkIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VCQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NUSU5HRVIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfVFdJREpPWSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19aSEVOSFVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0pPWURVTVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfWFBBRCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVEFCTEVUPXkKKyMgQ09ORklHX1RBQkxFVF9VU0JfQUNFQ0FEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfQUlQVEVLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfR1RDTyBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0tCVEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfV0FDT00gaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTUlTQz15CisjIENPTkZJR19JTlBVVF9QQ1NQS1IgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVBBTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUTEFTX0JUTlMgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVElfUkVNT1RFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT1dFUk1BVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfWUVBTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9VSU5QVVQgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwogQ09ORklHX1NFUklPPXkKIENPTkZJR19TRVJJT19JODA0Mj15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJT19TRVJQT1JUPXkKICMgQ09ORklHX1NFUklPX0NUODJDNzEwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFUklPX1BDSVBTMiBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSU9fTElCUFMyPXkKQEAgLTg1NSw4ICsxMTU3LDI2IEBACiBDT05GSUdfVlQ9eQogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HPXkKK0NPTkZJR19ERVZLTUVNPXkKK0NPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQ9eQorIyBDT05GSUdfQ09NUFVUT05FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPQ0tFVFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1lDTEFERVMgaXMgbm90IHNldAorIyBDT05GSUdfRElHSUVQQ0EgaXMgbm90IHNldAorIyBDT05GSUdfTU9YQV9JTlRFTExJTyBpcyBub3Qgc2V0CisjIENPTkZJR19NT1hBX1NNQVJUSU8gaXMgbm90IHNldAorIyBDT05GSUdfSVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LTVAgaXMgbm90IHNldAorIyBDT05GSUdfU1lOQ0xJTktfR1QgaXMgbm90IHNldAorIyBDT05GSUdfTl9IRExDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JJU0NPTTggaXMgbm90IHNldAorIyBDT05GSUdfU1BFQ0lBTElYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TVEFMRFJWIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKQEAgLTg2Niw5ICsxMTg2LDE0IEBACiBDT05GSUdfRklYX0VBUkxZQ09OX01FTT15CiBDT05GSUdfU0VSSUFMXzgyNTBfUENJPXkKIENPTkZJR19TRVJJQUxfODI1MF9QTlA9eQotQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKKyMgQ09ORklHX1NFUklBTF84MjUwX0NTIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz0zMgogQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NAotIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEPXkKK0NPTkZJR19TRVJJQUxfODI1MF9NQU5ZX1BPUlRTPXkKK0NPTkZJR19TRVJJQUxfODI1MF9TSEFSRV9JUlE9eQorQ09ORklHX1NFUklBTF84MjUwX0RFVEVDVF9JUlE9eQorQ09ORklHX1NFUklBTF84MjUwX1JTQT15CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydApAQCAtODc3LDc4ICsxMjAyLDI2MCBAQAogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIENPTkZJR19IV19SQU5ET009eQotQ09ORklHX0hXX1JBTkRPTV9JTlRFTD15Ci1DT05GSUdfSFdfUkFORE9NX0FNRD15Ci0jIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDPXkKKyMgQ09ORklHX0hXX1JBTkRPTV9JTlRFTCBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET01fQU1EIGlzIG5vdCBzZXQKK0NPTkZJR19OVlJBTT15CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0Ci1DT05GSUdfQUdQPXkKLUNPTkZJR19BR1BfQU1ENjQ9eQotQ09ORklHX0FHUF9JTlRFTD15Ci0jIENPTkZJR19BR1BfU0lTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FHUF9WSUEgaXMgbm90IHNldAotIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKKworIworIyBQQ01DSUEgY2hhcmFjdGVyIGRldmljZXMKKyMKKyMgQ09ORklHX1NZTkNMSU5LX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwNDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXSVJFTEVTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NV0FWRSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQzg3MzZ4X0dQSU8gaXMgbm90IHNldAotQ09ORklHX1JBV19EUklWRVI9eQotQ09ORklHX01BWF9SQVdfREVWUz0yNTYKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAogQ09ORklHX0hQRVQ9eQogIyBDT05GSUdfSFBFVF9SVENfSVJRIGlzIG5vdCBzZXQKLUNPTkZJR19IUEVUX01NQVA9eQorIyBDT05GSUdfSFBFVF9NTUFQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTkdDSEVDS19USU1FUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX1RFTENMT0NLIGlzIG5vdCBzZXQKIENPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKKyMgQ09ORklHX0kyQ19DSEFSREVWIGlzIG5vdCBzZXQKIAogIwotIyBTUEkgc3VwcG9ydAorIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ3NTYgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMgbm90IHNldAorQ09ORklHX0kyQ19JODAxPXkKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorQ09ORklHX1BPV0VSX1NVUFBMWT15CisjIENPTkZJR19QT1dFUl9TVVBQTFlfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfUERBX1BPV0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBVFRFUllfRFMyNzYwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19USEVSTUFMPXkKK0NPTkZJR19XQVRDSERPRz15CisjIENPTkZJR19XQVRDSERPR19OT1dBWU9VVCBpcyBub3Qgc2V0CisKKyMKKyMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX1NPRlRfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfQUNRVUlSRV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQURWQU5URUNIX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BTElNMTUzNV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQUxJTTcxMDFfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDNTIwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19FVVJPVEVDSF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSUI3MDBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTUFTUiBpcyBub3Qgc2V0CisjIENPTkZJR19XQUZFUl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSTYzMDBFU0JfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lUQ09fV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lUODcxMkZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDMTIwMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfUEM4NzQxM19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfNjBYWF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDODM2MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVNV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU01TQzM3Qjc4N19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzNjI3SEZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4MzY5N0hGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM4NzdGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM5NzdGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIWl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDX0VQWF9DM19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgUENJLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19QQ0lQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dEVFBDSSBpcyBub3Qgc2V0CisKKyMKKyMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCiBDT05GSUdfREFCPXkKICMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKLSMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfQUdQPXkKK0NPTkZJR19BR1BfQU1ENjQ9eQorQ09ORklHX0FHUF9JTlRFTD15CisjIENPTkZJR19BR1BfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FHUF9WSUEgaXMgbm90IHNldAorQ09ORklHX0RSTT15CisjIENPTkZJR19EUk1fVERGWCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fUjEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fUkFERU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9JODMwIGlzIG5vdCBzZXQKK0NPTkZJR19EUk1fSTkxNT15CisjIENPTkZJR19EUk1fTUdBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKK0NPTkZJR19GQj15CisjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CitDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKK0NPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQorQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAorQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKKyMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9NT0RFX0hFTFBFUlM9eQorQ09ORklHX0ZCX1RJTEVCTElUVElORz15CisKKyMKKyMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKKyMKKyMgQ09ORklHX0ZCX0NJUlJVUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ1lCRVIyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FSQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9JTVNUVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WR0ExNiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9VVkVTQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WRVNBIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9FRkk9eQorIyBDT05GSUdfRkJfSU1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9ONDExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0hHQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9OVklESUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUklWQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9MRTgwNTc4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0lOVEVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0tZUk8gaXMgbm90IHNldAorIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9UUklERU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfR0VPREUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CitDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUPXkKKyMgQ09ORklHX0xDRF9DTEFTU19ERVZJQ0UgaXMgbm90IHNldAorQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0U9eQorIyBDT05GSUdfQkFDS0xJR0hUX0NPUkdJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9QUk9HRUFSIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotIyBDT05GSUdfRkIgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogQ09ORklHX1ZHQV9DT05TT0xFPXkKIENPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLPXkKLUNPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLX1NJWkU9MjU2CitDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTY0CiBDT05GSUdfVklERU9fU0VMRUNUPXkKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEUgaXMgbm90IHNldAorQ09ORklHX0xPR089eQorIyBDT05GSUdfTE9HT19MSU5VWF9NT05PIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPR09fTElOVVhfVkdBMTYgaXMgbm90IHNldAorQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKQEAgLTk1OCwzMyArMTQ2NSwxNjUgQEAKICMKICMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCiAjCi0jIENPTkZJR19TTkQgaXMgbm90IHNldAorQ09ORklHX1NORD15CitDT05GSUdfU05EX1RJTUVSPXkKK0NPTkZJR19TTkRfUENNPXkKK0NPTkZJR19TTkRfSFdERVA9eQorQ09ORklHX1NORF9TRVFVRU5DRVI9eQorQ09ORklHX1NORF9TRVFfRFVNTVk9eQorQ09ORklHX1NORF9PU1NFTVVMPXkKK0NPTkZJR19TTkRfTUlYRVJfT1NTPXkKK0NPTkZJR19TTkRfUENNX09TUz15CitDT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15CitDT05GSUdfU05EX1NFUVVFTkNFUl9PU1M9eQorQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUz15CitDT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15CitDT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKKyMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NORF9WTUFTVEVSPXkKKworIworIyBHZW5lcmljIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9QQ1NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSTUlESSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CisKKyMKKyMgUENJIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9BRDE4ODkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMUzMwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxTNDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxJNTQ1MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVElJWFBfTU9ERU0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FXMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVpUMzMyOCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9PWFlHRU4gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzU1MzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0dJTkEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTEFZTEEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfR0lOQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9MQVlMQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NT05BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NSUEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VDSE8zRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR09JTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPREogaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FUzE5MzggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldAorQ09ORklHX1NORF9IREFfSU5URUw9eQorQ09ORklHX1NORF9IREFfSFdERVA9eQorQ09ORklHX1NORF9IREFfQ09ERUNfUkVBTFRFSz15CitDT05GSUdfU05EX0hEQV9DT0RFQ19BTkFMT0c9eQorQ09ORklHX1NORF9IREFfQ09ERUNfU0lHTUFURUw9eQorQ09ORklHX1NORF9IREFfQ09ERUNfVklBPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0FUSUhETUk9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQ09ORVhBTlQ9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQ01FRElBPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1NJMzA1ND15CitDT05GSUdfU05EX0hEQV9HRU5FUklDPXkKKyMgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hJRklFUiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NSVhBUlQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QQ1hIUiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJUVU9TTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0CisKKyMKKyMgVVNCIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1VTQl9VU1gyWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKKworIworIyBQQ01DSUEgZGV2aWNlcworIworIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QREFVRElPQ0YgaXMgbm90IHNldAorCisjCisjIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKKyMKKyMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAorCisjCisjIEFMU0EgU29DIGF1ZGlvIGZvciBGcmVlc2NhbGUgU09DcworIworCisjCisjIFNvQyBBdWRpbyBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIE9NQVAKKyMKIAogIwogIyBPcGVuIFNvdW5kIFN5c3RlbQogIwotQ09ORklHX1NPVU5EX1BSSU1FPXkKLSMgQ09ORklHX1NPVU5EX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfTVNORENMQVMgaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfTVNORFBJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9PU1MgaXMgbm90IHNldAorIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQotIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfREVCVUc9eQorQ09ORklHX0hJRFJBVz15CiAKICMKICMgVVNCIElucHV0IERldmljZXMKICMKIENPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAorQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0s9eQorQ09ORklHX0hJRF9GRj15CitDT05GSUdfSElEX1BJRD15CitDT05GSUdfTE9HSVRFQ0hfRkY9eQorIyBDT05GSUdfTE9HSVJVTUJMRVBBRDJfRkYgaXMgbm90IHNldAorQ09ORklHX1BBTlRIRVJMT1JEX0ZGPXkKK0NPTkZJR19USFJVU1RNQVNURVJfRkY9eQorQ09ORklHX1pFUk9QTFVTX0ZGPXkKK0NPTkZJR19VU0JfSElEREVWPXkKIENPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogQ09ORklHX1VTQl9BUkNIX0hBU19FSENJPXkKIENPTkZJR19VU0I9eQotIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVCVUc9eQorQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwpAQCAtOTkyLDE4ICsxNjMxLDE4IEBACiBDT05GSUdfVVNCX0RFVklDRUZTPXkKICMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VTUEVORD15CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfRUhDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0hDRD15CiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKQEAgLTEwMzYsOCArMTY3NSwxMCBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xJQlVTVUFMPXkKIAogIwogIyBVU0IgSW1hZ2luZyBkZXZpY2VzCkBAIC0xMDQ5LDEwICsxNjkwLDYgQEAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDc4LDk4ICsxNzE1LDEyNiBAQAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIwogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19NRU1TVElDSyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCiAjIExFRCBkcml2ZXJzCiAjCisjIENPTkZJR19MRURTX0NMRVZPX01BSUwgaXMgbm90IHNldAogCiAjCiAjIExFRCBUcmlnZ2VycwogIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQgaXMgbm90IHNldAorIyBDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT04gaXMgbm90IHNldAorIyBDT05GSUdfQUNDRVNTSUJJTElUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZJTklCQU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VEQUMgaXMgbm90IHNldAorQ09ORklHX0VEQUM9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBSZXBvcnRpbmcgc3Vic3lzdGVtcwogIwotIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VEQUNfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfRURBQ19NTV9FREFDIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKK0NPTkZJR19SVENfQ0xBU1M9eQorIyBDT05GSUdfUlRDX0hDVE9TWVMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwotIyBETUEgRW5naW5lIHN1cHBvcnQKKyMgUlRDIGludGVyZmFjZXMKICMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAorQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKK0NPTkZJR19SVENfSU5URl9QUk9DPXkKK0NPTkZJR19SVENfSU5URl9ERVY9eQorIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgRE1BIENsaWVudHMKKyMgSTJDIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKworIworIyBQbGF0Zm9ybSBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfQ01PUz15CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAorCisjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworQ09ORklHX0RNQURFVklDRVM9eQogCiAjCiAjIERNQSBEZXZpY2VzCiAjCi1DT05GSUdfVklSVFVBTElaQVRJT049eQotIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQKLQotIwotIyBVc2Vyc3BhY2UgSS9PCi0jCisjIENPTkZJR19JTlRFTF9JT0FURE1BIGlzIG5vdCBzZXQKICMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlybXdhcmUgRHJpdmVycwogIwogIyBDT05GSUdfRUREIGlzIG5vdCBzZXQKK0NPTkZJR19FRklfVkFSUz15CiAjIENPTkZJR19ERUxMX1JCVSBpcyBub3Qgc2V0CiAjIENPTkZJR19EQ0RCQVMgaXMgbm90IHNldAogQ09ORklHX0RNSUlEPXkKKyMgQ09ORklHX0lTQ1NJX0lCRlRfRklORCBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCiAjCi1DT05GSUdfRVhUMl9GUz15Ci1DT05GSUdfRVhUMl9GU19YQVRUUj15Ci1DT05GSUdfRVhUMl9GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfRVhUMl9GU19TRUNVUklUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKIENPTkZJR19FWFQzX0ZTX1hBVFRSPXkKIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKK0NPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15CiAjIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0ZTX01CQ0FDSEU9eQotQ09ORklHX1JFSVNFUkZTX0ZTPXkKLSMgQ09ORklHX1JFSVNFUkZTX0NIRUNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JFSVNFUkZTX1BST0NfSU5GTyBpcyBub3Qgc2V0Ci1DT05GSUdfUkVJU0VSRlNfRlNfWEFUVFI9eQotQ09ORklHX1JFSVNFUkZTX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19SRUlTRVJGU19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKLSMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKK0NPTkZJR19RVU9UQT15CitDT05GSUdfUVVPVEFfTkVUTElOS19JTlRFUkZBQ0U9eQorIyBDT05GSUdfUFJJTlRfUVVPVEFfV0FSTklORyBpcyBub3Qgc2V0CisjIENPTkZJR19RRk1UX1YxIGlzIG5vdCBzZXQKK0NPTkZJR19RRk1UX1YyPXkKK0NPTkZJR19RVU9UQUNUTD15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogQ09ORklHX0FVVE9GUzRfRlM9eQogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTgwLDcgKzE4NDUsNyBAQAogIwogQ09ORklHX0lTTzk2NjBfRlM9eQogQ09ORklHX0pPTElFVD15Ci0jIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1pJU09GUz15CiAjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMTk4LDEzICsxODYzLDEzIEBACiAjCiBDT05GSUdfUFJPQ19GUz15CiBDT05GSUdfUFJPQ19LQ09SRT15CitDT05GSUdfUFJPQ19WTUNPUkU9eQogQ09ORklHX1BST0NfU1lTQ1RMPXkKIENPTkZJR19TWVNGUz15CiBDT05GSUdfVE1QRlM9eQogQ09ORklHX1RNUEZTX1BPU0lYX0FDTD15CiBDT05GSUdfSFVHRVRMQkZTPXkKIENPTkZJR19IVUdFVExCX1BBR0U9eQotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTIxMiw2ICsxODc3LDcgQEAKICMKICMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FQ1JZUFRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CkBAIC0xMjE5LDMzICsxODg1LDE1IEBACiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCi1DT05GSUdfTkZTX0ZTPXkKLUNPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKLUNPTkZJR19ORlNEPXkKLUNPTkZJR19ORlNEX1YzPXkKLSMgQ09ORklHX05GU0RfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU0RfVjQgaXMgbm90IHNldAotQ09ORklHX05GU0RfVENQPXkKLUNPTkZJR19ST09UX05GUz15Ci1DT05GSUdfTE9DS0Q9eQotQ09ORklHX0xPQ0tEX1Y0PXkKLUNPTkZJR19FWFBPUlRGUz15Ci1DT05GSUdfTkZTX0NPTU1PTj15Ci1DT05GSUdfU1VOUlBDPXkKLSMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorIyBDT05GSUdfTkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAogIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTUsMTQgKzE5MDMsMjYgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX09TRl9QQVJUSVRJT049eQorQ09ORklHX0FNSUdBX1BBUlRJVElPTj15CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX01BQ19QQVJUSVRJT049eQogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKK0NPTkZJR19CU0RfRElTS0xBQkVMPXkKK0NPTkZJR19NSU5JWF9TVUJQQVJUSVRJT049eQorQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTj15CitDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMPXkKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NHSV9QQVJUSVRJT049eQorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU1VOX1BBUlRJVElPTj15CitDT05GSUdfS0FSTUFfUEFSVElUSU9OPXkKK0NPTkZJR19FRklfUEFSVElUSU9OPXkKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15Ci1DT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKK0NPTkZJR19OTFNfREVGQVVMVD0idXRmOCIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CkBAIC0xMjk3LDQwICsxOTU3LDMzIEBACiAjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfSVNPODg1OV8xNT15CisjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAogQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgSW5zdHJ1bWVudGF0aW9uIFN1cHBvcnQKLSMKLUNPTkZJR19QUk9GSUxJTkc9eQotQ09ORklHX09QUk9GSUxFPXkKLUNPTkZJR19LUFJPQkVTPXkKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfV0FSTj0yMDQ4CiBDT05GSUdfTUFHSUNfU1lTUlE9eQotQ09ORklHX1VOVVNFRF9TWU1CT0xTPXkKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19GUz15CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKKyMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDSEVEX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAorQ09ORklHX1NDSEVEU1RBVFM9eQogQ09ORklHX1RJTUVSX1NUQVRTPXkKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX0RFQlVHX09OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldApAQCAtMTM0NCwyOCArMTk5NywxNjIgQEAKIENPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKICMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZSQU1FX1BPSU5URVIgaXMgbm90IHNldAotQ09ORklHX09QVElNSVpFX0lOTElOSU5HPXkKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfS1BST0JFU19TQU5JVFlfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ST0RBVEEgaXMgbm90IHNldAotIyBDT05GSUdfSU9NTVVfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CitDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVD15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tHREIgaXMgbm90IHNldAorQ09ORklHX0hBVkVfQVJDSF9LR0RCPXkKKyMgQ09ORklHX05PTlBST01JU0NfREVWTUVNIGlzIG5vdCBzZXQKK0NPTkZJR19FQVJMWV9QUklOVEs9eQogQ09ORklHX0RFQlVHX1NUQUNLT1ZFUkZMT1c9eQotIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFPXkKKyMgQ09ORklHX0RFQlVHX1BBR0VBTExPQyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1BURFVNUCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUk9EQVRBPXkKKyMgQ09ORklHX0RJUkVDVF9HQlBBR0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1JPREFUQV9URVNUIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19OWF9URVNUPW0KK0NPTkZJR19YODZfTVBQQVJTRT15CisjIENPTkZJR19JT01NVV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSU9fREVMQVlfVFlQRV8wWDgwPTAKK0NPTkZJR19JT19ERUxBWV9UWVBFXzBYRUQ9MQorQ09ORklHX0lPX0RFTEFZX1RZUEVfVURFTEFZPTIKK0NPTkZJR19JT19ERUxBWV9UWVBFX05PTkU9MworQ09ORklHX0lPX0RFTEFZXzBYODA9eQorIyBDT05GSUdfSU9fREVMQVlfMFhFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JT19ERUxBWV9VREVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfSU9fREVMQVlfTk9ORSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9JT19ERUxBWV9UWVBFPTAKK0NPTkZJR19ERUJVR19CT09UX1BBUkFNUz15CisjIENPTkZJR19DUEFfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKICMKLSMgQ09ORklHX0tFWVMgaXMgbm90IHNldAotIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlTPXkKK0NPTkZJR19LRVlTX0RFQlVHX1BST0NfS0VZUz15CitDT05GSUdfU0VDVVJJVFk9eQorQ09ORklHX1NFQ1VSSVRZX05FVFdPUks9eQorIyBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9DQVBBQklMSVRJRVM9eQorQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTPXkKKyMgQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9ERUZBVUxUX01NQVBfTUlOX0FERFI9NjU1MzYKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0JPT1RQQVJBTT15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9CT09UUEFSQU1fVkFMVUU9MQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRElTQUJMRT15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9ERVZFTE9QPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0FWQ19TVEFUUz15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9DSEVDS1JFUVBST1RfVkFMVUU9MQorIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9FTkFCTEVfU0VDTUFSS19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfUE9MSUNZREJfVkVSU0lPTl9NQVggaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfU01BQ0sgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0FFQUQ9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19IQVNIPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FVVEhFTkM9eQorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj15CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fSE1BQz15CisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fU0hBMT15CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKK0NPTkZJR19DUllQVE9fQUVTPXkKKyMgQ09ORklHX0NSWVBUT19BRVNfWDg2XzY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BUkM0PXkKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjBfWDg2XzY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0hfWDg2XzY0IGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tWTT15CitDT05GSUdfVklSVFVBTElaQVRJT049eQorIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJUlRJT19QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfVklSVElPX0JBTExPT04gaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKK0NPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUPXkKK0NPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQ9eQogIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pYTMyL2lhMzJlbnRyeS5TIGIvYXJjaC94ODYvaWEzMi9pYTMyZW50cnkuUwppbmRleCBiNWUzMjlkLi4yMDM3MWQwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pYTMyL2lhMzJlbnRyeS5TCisrKyBiL2FyY2gveDg2L2lhMzIvaWEzMmVudHJ5LlMKQEAgLTYxLDYgKzYxLDE5IEBACiAJQ0ZJX1VOREVGSU5FRAlyMTUKIAkuZW5kbQogCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUCitFTlRSWShuYXRpdmVfdXNlcmdzX3N5c3JldDMyKQorCXN3YXBncworCXN5c3JldGwKK0VORFBST0MobmF0aXZlX3VzZXJnc19zeXNyZXQzMikKKworRU5UUlkobmF0aXZlX2lycV9lbmFibGVfc3lzZXhpdCkKKwlzd2FwZ3MKKwlzdGkKKwlzeXNleGl0CitFTkRQUk9DKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQpCisjZW5kaWYKKwogLyoKICAqIDMyYml0IFNZU0VOVEVSIGluc3RydWN0aW9uIGVudHJ5LgogICoKQEAgLTg1LDE0ICs5OCwxNCBAQAogCUNGSV9TSUdOQUxfRlJBTUUKIAlDRklfREVGX0NGQQlyc3AsMAogCUNGSV9SRUdJU1RFUglyc3AscmJwCi0Jc3dhcGdzCisJU1dBUEdTX1VOU0FGRV9TVEFDSwogCW1vdnEJJWdzOnBkYV9rZXJuZWxzdGFjaywgJXJzcAogCWFkZHEJJChQREFfU1RBQ0tPRkZTRVQpLCVyc3AJCiAJLyoKIAkgKiBObyBuZWVkIHRvIGZvbGxvdyB0aGlzIGlycXMgb24vb2ZmIHNlY3Rpb246IHRoZSBzeXNjYWxsCiAJICogZGlzYWJsZWQgaXJxcywgaGVyZSB3ZSBlbmFibGUgaXQgc3RyYWlnaHQgYWZ0ZXIgZW50cnk6CiAJICovCi0Jc3RpCQorCUVOQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKICAJbW92bAklZWJwLCVlYnAJCS8qIHplcm8gZXh0ZW5zaW9uICovCiAJcHVzaHEJJF9fVVNFUjMyX0RTCiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKQEAgLTEwMyw3ICsxMTYsNyBAQAogCXB1c2hmcQogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CiAJLypDRklfUkVMX09GRlNFVCByZmxhZ3MsMCovCi0JbW92bAk4KjMtVEhSRUFEX1NJWkUrdGhyZWFkaW5mb19zeXNlbnRlcl9yZXR1cm4oJXJzcCksICVyMTBkCisJbW92bAk4KjMtVEhSRUFEX1NJWkUrVElfc3lzZW50ZXJfcmV0dXJuKCVyc3ApLCAlcjEwZAogCUNGSV9SRUdJU1RFUiByaXAscjEwCiAJcHVzaHEJJF9fVVNFUjMyX0NTCiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKQEAgLTEyMyw4ICsxMzYsOSBAQAogIAkucXVhZCAxYixpYTMyX2JhZGFyZwogIAkucHJldmlvdXMJCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0Jb3JsICAgICRUU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXIxMCkKLQl0ZXN0bCAgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksdGhyZWFkaW5mb19mbGFncyglcjEwKQorCW9ybCAgICAkVFNfQ09NUEFULFRJX3N0YXR1cyglcjEwKQorCXRlc3RsICAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSwgXAorCQkgVElfZmxhZ3MoJXIxMCkKIAlDRklfUkVNRU1CRVJfU1RBVEUKIAlqbnogIHN5c2VudGVyX3RyYWNlc3lzCiBzeXNlbnRlcl9kb19jYWxsOgkKQEAgLTEzNCwxMSArMTQ4LDExIEBACiAJY2FsbAkqaWEzMl9zeXNfY2FsbF90YWJsZSgsJXJheCw4KQogCW1vdnEJJXJheCxSQVgtQVJHT0ZGU0VUKCVyc3ApCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0JY2xpCisJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlUUkFDRV9JUlFTX09GRgotCXRlc3RsCSRfVElGX0FMTFdPUktfTUFTSyx0aHJlYWRpbmZvX2ZsYWdzKCVyMTApCisJdGVzdGwJJF9USUZfQUxMV09SS19NQVNLLFRJX2ZsYWdzKCVyMTApCiAJam56CWludF9yZXRfZnJvbV9zeXNfY2FsbAotCWFuZGwgICAgJH5UU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXIxMCkKKwlhbmRsICAgICR+VFNfQ09NUEFULFRJX3N0YXR1cyglcjEwKQogCS8qIGNsZWFyIElGLCB0aGF0IHBvcGZxIGRvZXNuJ3QgZW5hYmxlIGludGVycnVwdHMgZWFybHkgKi8KIAlhbmRsICAkfjB4MjAwLEVGTEFHUy1SMTEoJXJzcCkgCiAJbW92bAlSSVAtUjExKCVyc3ApLCVlZHgJCS8qIFVzZXIgJWVpcCAqLwpAQCAtMTUxLDEwICsxNjUsNyBAQAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAogCUNGSV9SRUdJU1RFUiByc3AscmN4CiAJVFJBQ0VfSVJRU19PTgotCXN3YXBncwotCXN0aQkJLyogc3RpIG9ubHkgdGFrZXMgZWZmZWN0IGFmdGVyIHRoZSBuZXh0IGluc3RydWN0aW9uICovCi0JLyogc3lzZXhpdCAqLwotCS5ieXRlCTB4ZiwgMHgzNQorCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQzMgogCiBzeXNlbnRlcl90cmFjZXN5czoKIAlDRklfUkVTVE9SRV9TVEFURQpAQCAtMjAwLDcgKzIxMSw3IEBACiAJQ0ZJX0RFRl9DRkEJcnNwLFBEQV9TVEFDS09GRlNFVAogCUNGSV9SRUdJU1RFUglyaXAscmN4CiAJLypDRklfUkVHSVNURVIJcmZsYWdzLHIxMSovCi0Jc3dhcGdzCisJU1dBUEdTX1VOU0FGRV9TVEFDSwogCW1vdmwJJWVzcCwlcjhkCiAJQ0ZJX1JFR0lTVEVSCXJzcCxyOAogCW1vdnEJJWdzOnBkYV9rZXJuZWxzdGFjaywlcnNwCkBAIC0yMDgsNyArMjE5LDcgQEAKIAkgKiBObyBuZWVkIHRvIGZvbGxvdyB0aGlzIGlycXMgb24vb2ZmIHNlY3Rpb246IHRoZSBzeXNjYWxsCiAJICogZGlzYWJsZWQgaXJxcyBhbmQgaGVyZSB3ZSBlbmFibGUgaXQgc3RyYWlnaHQgYWZ0ZXIgZW50cnk6CiAJICovCi0Jc3RpCisJRU5BQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCVNBVkVfQVJHUyA4LDEsMQogCW1vdmwgCSVlYXgsJWVheAkvKiB6ZXJvIGV4dGVuc2lvbiAqLwogCW1vdnEJJXJheCxPUklHX1JBWC1BUkdPRkZTRVQoJXJzcCkKQEAgLTIzMCw4ICsyNDEsOSBAQAogCS5xdWFkIDFiLGlhMzJfYmFkYXJnCiAJLnByZXZpb3VzCQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCW9ybCAgICRUU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXIxMCkKLQl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSx0aHJlYWRpbmZvX2ZsYWdzKCVyMTApCisJb3JsICAgJFRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKKwl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSwgXAorCQlUSV9mbGFncyglcjEwKQogCUNGSV9SRU1FTUJFUl9TVEFURQogCWpueiAgIGNzdGFyX3RyYWNlc3lzCiBjc3Rhcl9kb19jYWxsOgkKQEAgLTI0MSwxMSArMjUzLDExIEBACiAJY2FsbCAqaWEzMl9zeXNfY2FsbF90YWJsZSgsJXJheCw4KQogCW1vdnEgJXJheCxSQVgtQVJHT0ZGU0VUKCVyc3ApCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0JY2xpCisJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlUUkFDRV9JUlFTX09GRgotCXRlc3RsICRfVElGX0FMTFdPUktfTUFTSyx0aHJlYWRpbmZvX2ZsYWdzKCVyMTApCisJdGVzdGwgJF9USUZfQUxMV09SS19NQVNLLFRJX2ZsYWdzKCVyMTApCiAJam56ICBpbnRfcmV0X2Zyb21fc3lzX2NhbGwKLQlhbmRsICR+VFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCisJYW5kbCAkflRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKIAlSRVNUT1JFX0FSR1MgMSwtQVJHX1NLSVAsMSwxLDEKIAltb3ZsIFJJUC1BUkdPRkZTRVQoJXJzcCksJWVjeAogCUNGSV9SRUdJU1RFUiByaXAscmN4CkBAIC0yNTQsOCArMjY2LDcgQEAKIAlUUkFDRV9JUlFTX09OCiAJbW92bCBSU1AtQVJHT0ZGU0VUKCVyc3ApLCVlc3AKIAlDRklfUkVTVE9SRSByc3AKLQlzd2FwZ3MKLQlzeXNyZXRsCisJVVNFUkdTX1NZU1JFVDMyCiAJCiBjc3Rhcl90cmFjZXN5czoJCiAJQ0ZJX1JFU1RPUkVfU1RBVEUKQEAgLTMxMCwxMiArMzIxLDEyIEBACiAJLypDRklfUkVMX09GRlNFVAlyZmxhZ3MsRUZMQUdTLVJJUCovCiAJLypDRklfUkVMX09GRlNFVAljcyxDUy1SSVAqLwogCUNGSV9SRUxfT0ZGU0VUCXJpcCxSSVAtUklQCi0Jc3dhcGdzCisJU1dBUEdTCiAJLyoKIAkgKiBObyBuZWVkIHRvIGZvbGxvdyB0aGlzIGlycXMgb24vb2ZmIHNlY3Rpb246IHRoZSBzeXNjYWxsCiAJICogZGlzYWJsZWQgaXJxcyBhbmQgaGVyZSB3ZSBlbmFibGUgaXQgc3RyYWlnaHQgYWZ0ZXIgZW50cnk6CiAJICovCi0Jc3RpCisJRU5BQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCW1vdmwgJWVheCwlZWF4CiAJcHVzaHEgJXJheAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CkBAIC0zMjQsOCArMzM1LDkgQEAKIAkgICB0aGlzIGNvdWxkIGJlIGEgcHJvYmxlbS4gKi8KIAlTQVZFX0FSR1MgMCwwLDEKIAlHRVRfVEhSRUFEX0lORk8oJXIxMCkKLQlvcmwgICAkVFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCi0JdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksdGhyZWFkaW5mb19mbGFncyglcjEwKQorCW9ybCAgICRUU19DT01QQVQsVElfc3RhdHVzKCVyMTApCisJdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksIFwKKwkJVElfZmxhZ3MoJXIxMCkKIAlqbnogaWEzMl90cmFjZXN5cwogaWEzMl9kb19zeXNjYWxsOgkKIAljbXBsICQoSUEzMl9OUl9zeXNjYWxscy0xKSwlZWF4CkBAIC0zNzAsMTMgKzM4MiwxMSBAQAogCVBUUkVHU0NBTEwgc3R1YjMyX3J0X3NpZ3JldHVybiwgc3lzMzJfcnRfc2lncmV0dXJuLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViMzJfc2lncmV0dXJuLCBzeXMzMl9zaWdyZXR1cm4sICVyZGkKIAlQVFJFR1NDQUxMIHN0dWIzMl9zaWdhbHRzdGFjaywgc3lzMzJfc2lnYWx0c3RhY2ssICVyZHgKLQlQVFJFR1NDQUxMIHN0dWIzMl9zaWdzdXNwZW5kLCBzeXMzMl9zaWdzdXNwZW5kLCAlcmN4CiAJUFRSRUdTQ0FMTCBzdHViMzJfZXhlY3ZlLCBzeXMzMl9leGVjdmUsICVyY3gKIAlQVFJFR1NDQUxMIHN0dWIzMl9mb3JrLCBzeXNfZm9yaywgJXJkaQogCVBUUkVHU0NBTEwgc3R1YjMyX2Nsb25lLCBzeXMzMl9jbG9uZSwgJXJkeAogCVBUUkVHU0NBTEwgc3R1YjMyX3Zmb3JrLCBzeXNfdmZvcmssICVyZGkKIAlQVFJFR1NDQUxMIHN0dWIzMl9pb3BsLCBzeXNfaW9wbCwgJXJzaQotCVBUUkVHU0NBTEwgc3R1YjMyX3J0X3NpZ3N1c3BlbmQsIHN5c19ydF9zaWdzdXNwZW5kLCAlcmR4CiAKIEVOVFJZKGlhMzJfcHRyZWdzX2NvbW1vbikKIAlwb3BxICVyMTEKQEAgLTQ3Niw3ICs0ODYsNyBAQAogCS5xdWFkIHN5c19zc2V0bWFzawogCS5xdWFkIHN5c19zZXRyZXVpZDE2CS8qIDcwICovCiAJLnF1YWQgc3lzX3NldHJlZ2lkMTYKLQkucXVhZCBzdHViMzJfc2lnc3VzcGVuZAorCS5xdWFkIHN5czMyX3NpZ3N1c3BlbmQKIAkucXVhZCBjb21wYXRfc3lzX3NpZ3BlbmRpbmcKIAkucXVhZCBzeXNfc2V0aG9zdG5hbWUKIAkucXVhZCBjb21wYXRfc3lzX3NldHJsaW1pdAkvKiA3NSAqLwpAQCAtNTgzLDcgKzU5Myw3IEBACiAJLnF1YWQgc3lzMzJfcnRfc2lncGVuZGluZwogCS5xdWFkIGNvbXBhdF9zeXNfcnRfc2lndGltZWR3YWl0CiAJLnF1YWQgc3lzMzJfcnRfc2lncXVldWVpbmZvCi0JLnF1YWQgc3R1YjMyX3J0X3NpZ3N1c3BlbmQKKwkucXVhZCBzeXNfcnRfc2lnc3VzcGVuZAogCS5xdWFkIHN5czMyX3ByZWFkCQkvKiAxODAgKi8KIAkucXVhZCBzeXMzMl9wd3JpdGUKIAkucXVhZCBzeXNfY2hvd24xNgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsLy5naXRpZ25vcmUgYi9hcmNoL3g4Ni9rZXJuZWwvLmdpdGlnbm9yZQppbmRleCA0ZWEzOGEzLi4wOGY0ZmQ3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvLmdpdGlnbm9yZQorKysgYi9hcmNoL3g4Ni9rZXJuZWwvLmdpdGlnbm9yZQpAQCAtMSwyICsxLDMgQEAKIHZzeXNjYWxsLmxkcwogdnN5c2NhbGxfMzIubGRzCit2bWxpbnV4LmxkcwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL01ha2VmaWxlIGIvYXJjaC94ODYva2VybmVsL01ha2VmaWxlCmluZGV4IDc3ODA3ZDQuLjUxMTJjODQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9rZXJuZWwvTWFrZWZpbGUKQEAgLTIsMTAgKzIsMTcgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBsaW51eCBrZXJuZWwuCiAjCiAKLWV4dHJhLXkgICAgICAgICAgICAgICAgOj0gaGVhZF8kKEJJVFMpLm8gaGVhZCQoQklUUykubyBpbml0X3Rhc2subyB2bWxpbnV4LmxkcworZXh0cmEteSAgICAgICAgICAgICAgICA6PSBoZWFkXyQoQklUUykubyBoZWFkJChCSVRTKS5vIGhlYWQubyBpbml0X3Rhc2subyB2bWxpbnV4LmxkcwogCiBDUFBGTEFHU192bWxpbnV4LmxkcyArPSAtVSQoVVRTX01BQ0hJTkUpCiAKK2lmZGVmIENPTkZJR19GVFJBQ0UKKyMgRG8gbm90IHByb2ZpbGUgZGVidWcgdXRpbGl0aWVzCitDRkxBR1NfUkVNT1ZFX3RzY182NC5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX3RzY18zMi5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX3J0Yy5vID0gLXBnCitlbmRpZgorCiAjCiAjIHZzeXNjYWxscyAod2hpY2ggd29yayBvbiB0aGUgdXNlciBzdGFjaykgc2hvdWxkIGhhdmUKICMgbm8gc3RhY2stcHJvdGVjdG9yIGNoZWNrczoKQEAgLTEzLDIwICsyMCwyMSBAQAogbm9zdGFja3AgOj0gJChjYWxsIGNjLW9wdGlvbiwgLWZuby1zdGFjay1wcm90ZWN0b3IpCiBDRkxBR1NfdnN5c2NhbGxfNjQubwk6PSAkKFBST0ZJTElORykgLWcwICQobm9zdGFja3ApCiBDRkxBR1NfaHBldC5vCQk6PSAkKG5vc3RhY2twKQotQ0ZMQUdTX3RzY182NC5vCQk6PSAkKG5vc3RhY2twKQorQ0ZMQUdTX3RzYy5vCQk6PSAkKG5vc3RhY2twKQogCiBvYmoteQkJCTo9IHByb2Nlc3NfJChCSVRTKS5vIHNpZ25hbF8kKEJJVFMpLm8gZW50cnlfJChCSVRTKS5vCiBvYmoteQkJCSs9IHRyYXBzXyQoQklUUykubyBpcnFfJChCSVRTKS5vCiBvYmoteQkJCSs9IHRpbWVfJChCSVRTKS5vIGlvcG9ydC5vIGxkdC5vCi1vYmoteQkJCSs9IHNldHVwXyQoQklUUykubyBpODI1OV8kKEJJVFMpLm8gc2V0dXAubworb2JqLXkJCQkrPSBzZXR1cC5vIGk4MjU5Lm8gaXJxaW5pdF8kKEJJVFMpLm8gc2V0dXBfcGVyY3B1Lm8KK29iai0kKENPTkZJR19YODZfVklTV1MpCSs9IHZpc3dzX3F1aXJrcy5vCitvYmotJChDT05GSUdfWDg2XzMyKQkrPSBwcm9iZV9yb21zXzMyLm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IHN5c19pMzg2XzMyLm8gaTM4Nl9rc3ltc18zMi5vCiBvYmotJChDT05GSUdfWDg2XzY0KQkrPSBzeXNfeDg2XzY0Lm8geDg2NjRfa3N5bXNfNjQubwotb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gc3lzY2FsbF82NC5vIHZzeXNjYWxsXzY0Lm8gc2V0dXA2NC5vCi1vYmoteQkJCSs9IGJvb3RmbGFnLm8gZTgyMF8kKEJJVFMpLm8KK29iai0kKENPTkZJR19YODZfNjQpCSs9IHN5c2NhbGxfNjQubyB2c3lzY2FsbF82NC5vCitvYmoteQkJCSs9IGJvb3RmbGFnLm8gZTgyMC5vCiBvYmoteQkJCSs9IHBjaS1kbWEubyBxdWlya3MubyBpODIzNy5vIHRvcG9sb2d5Lm8ga2RlYnVnZnMubwogb2JqLXkJCQkrPSBhbHRlcm5hdGl2ZS5vIGk4MjUzLm8gcGNpLW5vbW11Lm8KLW9iai0kKENPTkZJR19YODZfNjQpCSs9IGJ1Z3NfNjQubwotb2JqLXkJCQkrPSB0c2NfJChCSVRTKS5vIGlvX2RlbGF5Lm8gcnRjLm8KK29iai15CQkJKz0gdHNjLm8gaW9fZGVsYXkubyBydGMubwogCiBvYmotJChDT05GSUdfWDg2X1RSQU1QT0xJTkUpCSs9IHRyYW1wb2xpbmUubwogb2JqLXkJCQkJKz0gcHJvY2Vzcy5vCkBAIC01Myw5ICs2MSwxMCBAQAogb2JqLSQoQ09ORklHX1g4Nl82NF9TTVApCSs9IHRzY19zeW5jLm8gc21wY29tbW9uLm8KIG9iai0kKENPTkZJR19YODZfVFJBTVBPTElORSkJKz0gdHJhbXBvbGluZV8kKEJJVFMpLm8KIG9iai0kKENPTkZJR19YODZfTVBQQVJTRSkJKz0gbXBwYXJzZS5vCi1vYmotJChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpCSs9IGFwaWNfJChCSVRTKS5vIG5taV8kKEJJVFMpLm8KK29iai0kKENPTkZJR19YODZfTE9DQUxfQVBJQykJKz0gYXBpY18kKEJJVFMpLm8gbm1pLm8KIG9iai0kKENPTkZJR19YODZfSU9fQVBJQykJKz0gaW9fYXBpY18kKEJJVFMpLm8KIG9iai0kKENPTkZJR19YODZfUkVCT09URklYVVBTKQkrPSByZWJvb3RfZml4dXBzXzMyLm8KK29iai0kKENPTkZJR19EWU5BTUlDX0ZUUkFDRSkJKz0gZnRyYWNlLm8KIG9iai0kKENPTkZJR19LRVhFQykJCSs9IG1hY2hpbmVfa2V4ZWNfJChCSVRTKS5vCiBvYmotJChDT05GSUdfS0VYRUMpCQkrPSByZWxvY2F0ZV9rZXJuZWxfJChCSVRTKS5vIGNyYXNoLm8KIG9iai0kKENPTkZJR19DUkFTSF9EVU1QKQkrPSBjcmFzaF9kdW1wXyQoQklUUykubwpAQCAtNjQsNyArNzMsNiBAQAogb2JqLXkJCQkJKz0gdnNtcF82NC5vCiBvYmotJChDT05GSUdfS1BST0JFUykJCSs9IGtwcm9iZXMubwogb2JqLSQoQ09ORklHX01PRFVMRVMpCQkrPSBtb2R1bGVfJChCSVRTKS5vCi1vYmotJChDT05GSUdfQUNQSV9TUkFUKSAJKz0gc3JhdF8zMi5vCiBvYmotJChDT05GSUdfRUZJKSAJCSs9IGVmaS5vIGVmaV8kKEJJVFMpLm8gZWZpX3N0dWJfJChCSVRTKS5vCiBvYmotJChDT05GSUdfRE9VQkxFRkFVTFQpIAkrPSBkb3VibGVmYXVsdF8zMi5vCiBvYmotJChDT05GSUdfS0dEQikJCSs9IGtnZGIubwpAQCAtOTQsMTIgKzEwMiwxMyBAQAogIyMjCiAjIDY0IGJpdCBzcGVjaWZpYyBmaWxlcwogaWZlcSAoJChDT05GSUdfWDg2XzY0KSx5KQotICAgICAgICBvYmoteQkJCQkrPSBnZW5hcGljXzY0Lm8gZ2VuYXBpY19mbGF0XzY0Lm8gZ2VueDJhcGljX3V2X3gubworICAgICAgICBvYmoteQkJCQkrPSBnZW5hcGljXzY0Lm8gZ2VuYXBpY19mbGF0XzY0Lm8gZ2VueDJhcGljX3V2X3gubyB0bGJfdXYubwogICAgICAgICBvYmotJChDT05GSUdfWDg2X1BNX1RJTUVSKQkrPSBwbXRpbWVyXzY0Lm8KICAgICAgICAgb2JqLSQoQ09ORklHX0FVRElUKQkJKz0gYXVkaXRfNjQubwogCiAgICAgICAgIG9iai0kKENPTkZJR19HQVJUX0lPTU1VKQkrPSBwY2ktZ2FydF82NC5vIGFwZXJ0dXJlXzY0Lm8KICAgICAgICAgb2JqLSQoQ09ORklHX0NBTEdBUllfSU9NTVUpCSs9IHBjaS1jYWxnYXJ5XzY0Lm8gdGNlXzY0Lm8KKyAgICAgICAgb2JqLSQoQ09ORklHX0FNRF9JT01NVSkJCSs9IGFtZF9pb21tdV9pbml0Lm8gYW1kX2lvbW11Lm8KICAgICAgICAgb2JqLSQoQ09ORklHX1NXSU9UTEIpCQkrPSBwY2ktc3dpb3RsYl82NC5vCiAKICAgICAgICAgb2JqLSQoQ09ORklHX1BDSV9NTUNPTkZJRykJKz0gbW1jb25mLWZhbTEwaF82NC5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9ib290LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9ib290LmMKaW5kZXggMzNjNTIxNi4uZjQ4OWQ3YSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FjcGkvYm9vdC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hY3BpL2Jvb3QuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogI2luY2x1ZGUgPGFzbS9zbXAuaD4KQEAgLTEwNiwyMSArMTA3LDYgQEAKICAqLwogZW51bSBhY3BpX2lycV9tb2RlbF9pZCBhY3BpX2lycV9tb2RlbCA9IEFDUElfSVJRX01PREVMX1BJQzsKIAotI2lmZGVmCUNPTkZJR19YODZfNjQKLQotLyogcmVseSBvbiBhbGwgQUNQSSB0YWJsZXMgYmVpbmcgaW4gdGhlIGRpcmVjdCBtYXBwaW5nICovCi1jaGFyICpfX2luaXQgX19hY3BpX21hcF90YWJsZSh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQotewotCWlmICghcGh5c19hZGRyIHx8ICFzaXplKQotCQlyZXR1cm4gTlVMTDsKLQotCWlmIChwaHlzX2FkZHIrc2l6ZSA8PSAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkgKyBQQUdFX1NJWkUpCi0JCXJldHVybiBfX3ZhKHBoeXNfYWRkcik7Ci0KLQlyZXR1cm4gTlVMTDsKLX0KLQotI2Vsc2UKIAogLyoKICAqIFRlbXBvcmFyaWx5IHVzZSB0aGUgdmlydHVhbCBhcmVhIHN0YXJ0aW5nIGZyb20gRklYX0lPX0FQSUNfQkFTRV9FTkQsCkBAIC0xMzksMTEgKzEyNSwxNSBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZSwgb2Zmc2V0LCBtYXBwZWRfc2l6ZTsKIAlpbnQgaWR4OwogCi0JaWYgKHBoeXMgKyBzaXplIDwgOCAqIDEwMjQgKiAxMDI0KQorCWlmICghcGh5cyB8fCAhc2l6ZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAocGh5cytzaXplIDw9IChtYXhfbG93X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCiAJCXJldHVybiBfX3ZhKHBoeXMpOwogCiAJb2Zmc2V0ID0gcGh5cyAmIChQQUdFX1NJWkUgLSAxKTsKIAltYXBwZWRfc2l6ZSA9IFBBR0VfU0laRSAtIG9mZnNldDsKKwljbGVhcl9maXhtYXAoRklYX0FDUElfRU5EKTsKIAlzZXRfZml4bWFwKEZJWF9BQ1BJX0VORCwgcGh5cyk7CiAJYmFzZSA9IGZpeF90b192aXJ0KEZJWF9BQ1BJX0VORCk7CiAKQEAgLTE1NSwxMyArMTQ1LDEzIEBACiAJCWlmICgtLWlkeCA8IEZJWF9BQ1BJX0JFR0lOKQogCQkJcmV0dXJuIE5VTEw7CS8qIGNhbm5vdCBoYW5kbGUgdGhpcyAqLwogCQlwaHlzICs9IFBBR0VfU0laRTsKKwkJY2xlYXJfZml4bWFwKGlkeCk7CiAJCXNldF9maXhtYXAoaWR4LCBwaHlzKTsKIAkJbWFwcGVkX3NpemUgKz0gUEFHRV9TSVpFOwogCX0KIAogCXJldHVybiAoKHVuc2lnbmVkIGNoYXIgKiliYXNlICsgb2Zmc2V0KTsKIH0KLSNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1BDSV9NTUNPTkZJRwogLyogVGhlIHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIE1NQ09ORklHIGFwZXJ0dXJlLiAgU2V0IGZyb20gQUNQSSB0YWJsZXMuICovCkBAIC0zMzgsOCArMzI4LDYgQEAKIAogI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCi1zdHJ1Y3QgbXBfaW9hcGljX3JvdXRpbmcgbXBfaW9hcGljX3JvdXRpbmdbTUFYX0lPX0FQSUNTXTsKLQogc3RhdGljIGludCBfX2luaXQKIGFjcGlfcGFyc2VfaW9hcGljKHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqIGhlYWRlciwgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQpCiB7CkBAIC01MTQsOCArNTAyLDYgQEAKIAkgKiBNYWtlIHN1cmUgYWxsIChsZWdhY3kpIFBDSSBJUlFzIGFyZSBzZXQgYXMgbGV2ZWwtdHJpZ2dlcmVkLgogCSAqLwogCWlmIChhY3BpX2lycV9tb2RlbCA9PSBBQ1BJX0lSUV9NT0RFTF9QSUMpIHsKLQkJZXh0ZXJuIHZvaWQgZWlzYV9zZXRfbGV2ZWxfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotCiAJCWlmICh0cmlnZ2VyaW5nID09IEFDUElfTEVWRUxfU0VOU0lUSVZFKQogCQkJZWlzYV9zZXRfbGV2ZWxfaXJxKGdzaSk7CiAJfQpAQCAtODYwLDYgKzg0NiwzNjQgQEAKICNlbmRpZgkJCQkvKiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMgKi8KIAogI2lmZGVmCUNPTkZJR19YODZfSU9fQVBJQworI2RlZmluZSBNUF9JU0FfQlVTCQkwCisKKyNpZmRlZiBDT05GSUdfWDg2X0VTNzAwMAorZXh0ZXJuIGludCBlczcwMDBfcGxhdDsKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHsKKwlpbnQgYXBpY19pZDsKKwlpbnQgZ3NpX2Jhc2U7CisJaW50IGdzaV9lbmQ7CisJREVDTEFSRV9CSVRNQVAocGluX3Byb2dyYW1tZWQsIE1QX01BWF9JT0FQSUNfUElOICsgMSk7Cit9IG1wX2lvYXBpY19yb3V0aW5nW01BWF9JT19BUElDU107CisKK3N0YXRpYyBpbnQgbXBfZmluZF9pb2FwaWMoaW50IGdzaSkKK3sKKwlpbnQgaSA9IDA7CisKKwkvKiBGaW5kIHRoZSBJT0FQSUMgdGhhdCBtYW5hZ2VzIHRoaXMgR1NJLiAqLworCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKKwkJaWYgKChnc2kgPj0gbXBfaW9hcGljX3JvdXRpbmdbaV0uZ3NpX2Jhc2UpCisJCSAgICAmJiAoZ3NpIDw9IG1wX2lvYXBpY19yb3V0aW5nW2ldLmdzaV9lbmQpKQorCQkJcmV0dXJuIGk7CisJfQorCisJcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogVW5hYmxlIHRvIGxvY2F0ZSBJT0FQSUMgZm9yIEdTSSAlZFxuIiwgZ3NpKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB1OCBfX2luaXQgdW5pcV9pb2FwaWNfaWQodTggaWQpCit7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmICgoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwpICYmCisJICAgICFBUElDX1hBUElDKGFwaWNfdmVyc2lvbltib290X2NwdV9waHlzaWNhbF9hcGljaWRdKSkKKwkJcmV0dXJuIGlvX2FwaWNfZ2V0X3VuaXF1ZV9pZChucl9pb2FwaWNzLCBpZCk7CisJZWxzZQorCQlyZXR1cm4gaWQ7CisjZWxzZQorCWludCBpOworCURFQ0xBUkVfQklUTUFQKHVzZWQsIDI1Nik7CisJYml0bWFwX3plcm8odXNlZCwgMjU2KTsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7CisJCXN0cnVjdCBtcF9jb25maWdfaW9hcGljICppYSA9ICZtcF9pb2FwaWNzW2ldOworCQlfX3NldF9iaXQoaWEtPm1wX2FwaWNpZCwgdXNlZCk7CisJfQorCWlmICghdGVzdF9iaXQoaWQsIHVzZWQpKQorCQlyZXR1cm4gaWQ7CisJcmV0dXJuIGZpbmRfZmlyc3RfemVyb19iaXQodXNlZCwgMjU2KTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW50IGJhZF9pb2FwaWModW5zaWduZWQgbG9uZyBhZGRyZXNzKQoreworCWlmIChucl9pb2FwaWNzID49IE1BWF9JT19BUElDUykgeworCQlwcmludGsoS0VSTl9FUlIgIkVSUk9SOiBNYXggIyBvZiBJL08gQVBJQ3MgKCVkKSBleGNlZWRlZCAiCisJCSAgICAgICAiKGZvdW5kICVkKVxuIiwgTUFYX0lPX0FQSUNTLCBucl9pb2FwaWNzKTsKKwkJcGFuaWMoIlJlY29tcGlsZSBrZXJuZWwgd2l0aCBiaWdnZXIgTUFYX0lPX0FQSUNTIVxuIik7CisJfQorCWlmICghYWRkcmVzcykgeworCQlwcmludGsoS0VSTl9FUlIgIldBUk5JTkc6IEJvZ3VzICh6ZXJvKSBJL08gQVBJQyBhZGRyZXNzIgorCQkgICAgICAgIiBmb3VuZCBpbiB0YWJsZSwgc2tpcHBpbmchXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCit2b2lkIF9faW5pdCBtcF9yZWdpc3Rlcl9pb2FwaWMoaW50IGlkLCB1MzIgYWRkcmVzcywgdTMyIGdzaV9iYXNlKQoreworCWludCBpZHggPSAwOworCisJaWYgKGJhZF9pb2FwaWMoYWRkcmVzcykpCisJCXJldHVybjsKKworCWlkeCA9IG5yX2lvYXBpY3M7CisKKwltcF9pb2FwaWNzW2lkeF0ubXBfdHlwZSA9IE1QX0lPQVBJQzsKKwltcF9pb2FwaWNzW2lkeF0ubXBfZmxhZ3MgPSBNUENfQVBJQ19VU0FCTEU7CisJbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNhZGRyID0gYWRkcmVzczsKKworCXNldF9maXhtYXBfbm9jYWNoZShGSVhfSU9fQVBJQ19CQVNFXzAgKyBpZHgsIGFkZHJlc3MpOworCW1wX2lvYXBpY3NbaWR4XS5tcF9hcGljaWQgPSB1bmlxX2lvYXBpY19pZChpZCk7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCW1wX2lvYXBpY3NbaWR4XS5tcF9hcGljdmVyID0gaW9fYXBpY19nZXRfdmVyc2lvbihpZHgpOworI2Vsc2UKKwltcF9pb2FwaWNzW2lkeF0ubXBfYXBpY3ZlciA9IDA7CisjZW5kaWYKKwkvKgorCSAqIEJ1aWxkIGJhc2ljIEdTSSBsb29rdXAgdGFibGUgdG8gZmFjaWxpdGF0ZSBnc2ktPmlvX2FwaWMgbG9va3VwcworCSAqIGFuZCB0byBwcmV2ZW50IHJlcHJvZ3JhbW1pbmcgb2YgSU9BUElDIHBpbnMgKFBDSSBHU0lzKS4KKwkgKi8KKwltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmFwaWNfaWQgPSBtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2lkOworCW1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2Jhc2UgPSBnc2lfYmFzZTsKKwltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9lbmQgPSBnc2lfYmFzZSArCisJICAgIGlvX2FwaWNfZ2V0X3JlZGlyX2VudHJpZXMoaWR4KTsKKworCXByaW50ayhLRVJOX0lORk8gIklPQVBJQ1slZF06IGFwaWNfaWQgJWQsIHZlcnNpb24gJWQsIGFkZHJlc3MgMHglbHgsICIKKwkgICAgICAgIkdTSSAlZC0lZFxuIiwgaWR4LCBtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2lkLAorCSAgICAgICBtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY3ZlciwgbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNhZGRyLAorCSAgICAgICBtcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9iYXNlLCBtcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9lbmQpOworCisJbnJfaW9hcGljcysrOworfQorCitzdGF0aWMgdm9pZCBhc3NpZ25fdG9fbXBfaXJxKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptLAorCQkJCSAgICBzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxKQoreworCW1lbWNweShtcF9pcnEsIG0sIHNpemVvZihzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYykpOworfQorCitzdGF0aWMgaW50IG1wX2lycV9jbXAoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSwKKwkJCQlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbSkKK3sKKwlyZXR1cm4gbWVtY21wKG1wX2lycSwgbSwgc2l6ZW9mKHN0cnVjdCBtcF9jb25maWdfaW50c3JjKSk7Cit9CisKK3N0YXRpYyB2b2lkIHNhdmVfbXBfaXJxKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKKwkJaWYgKCFtcF9pcnFfY21wKCZtcF9pcnFzW2ldLCBtKSkKKwkJCXJldHVybjsKKwl9CisKKwlhc3NpZ25fdG9fbXBfaXJxKG0sICZtcF9pcnFzW21wX2lycV9lbnRyaWVzXSk7CisJaWYgKCsrbXBfaXJxX2VudHJpZXMgPT0gTUFYX0lSUV9TT1VSQ0VTKQorCQlwYW5pYygiTWF4ICMgb2YgaXJxIHNvdXJjZXMgZXhjZWVkZWQhIVxuIik7Cit9CisKK3ZvaWQgX19pbml0IG1wX292ZXJyaWRlX2xlZ2FjeV9pcnEodTggYnVzX2lycSwgdTggcG9sYXJpdHksIHU4IHRyaWdnZXIsIHUzMiBnc2kpCit7CisJaW50IGlvYXBpYzsKKwlpbnQgcGluOworCXN0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycTsKKworCS8qCisJICogQ29udmVydCAnZ3NpJyB0byAnaW9hcGljLnBpbicuCisJICovCisJaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKKwlpZiAoaW9hcGljIDwgMCkKKwkJcmV0dXJuOworCXBpbiA9IGdzaSAtIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uZ3NpX2Jhc2U7CisKKwkvKgorCSAqIFRCRDogVGhpcyBjaGVjayBpcyBmb3IgZmF1bHR5IHRpbWVyIGVudHJpZXMsIHdoZXJlIHRoZSBvdmVycmlkZQorCSAqICAgICAgZXJyb25lb3VzbHkgc2V0cyB0aGUgdHJpZ2dlciB0byBsZXZlbCwgcmVzdWx0aW5nIGluIGEgSFVHRQorCSAqICAgICAgaW5jcmVhc2Ugb2YgdGltZXIgaW50ZXJydXB0cyEKKwkgKi8KKwlpZiAoKGJ1c19pcnEgPT0gMCkgJiYgKHRyaWdnZXIgPT0gMykpCisJCXRyaWdnZXIgPSAxOworCisJbXBfaXJxLm1wX3R5cGUgPSBNUF9JTlRTUkM7CisJbXBfaXJxLm1wX2lycXR5cGUgPSBtcF9JTlQ7CisJbXBfaXJxLm1wX2lycWZsYWcgPSAodHJpZ2dlciA8PCAyKSB8IHBvbGFyaXR5OworCW1wX2lycS5tcF9zcmNidXMgPSBNUF9JU0FfQlVTOworCW1wX2lycS5tcF9zcmNidXNpcnEgPSBidXNfaXJxOwkvKiBJUlEgKi8KKwltcF9pcnEubXBfZHN0YXBpYyA9IG1wX2lvYXBpY3NbaW9hcGljXS5tcF9hcGljaWQ7IC8qIEFQSUMgSUQgKi8KKwltcF9pcnEubXBfZHN0aXJxID0gcGluOwkvKiBJTlRJTiMgKi8KKworCXNhdmVfbXBfaXJxKCZtcF9pcnEpOworfQorCit2b2lkIF9faW5pdCBtcF9jb25maWdfYWNwaV9sZWdhY3lfaXJxcyh2b2lkKQoreworCWludCBpOworCWludCBpb2FwaWM7CisJdW5zaWduZWQgaW50IGRzdGFwaWM7CisJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxOworCisjaWYgZGVmaW5lZCAoQ09ORklHX01DQSkgfHwgZGVmaW5lZCAoQ09ORklHX0VJU0EpCisJLyoKKwkgKiBGYWJyaWNhdGUgdGhlIGxlZ2FjeSBJU0EgYnVzIChidXMgIzMxKS4KKwkgKi8KKwltcF9idXNfaWRfdG9fdHlwZVtNUF9JU0FfQlVTXSA9IE1QX0JVU19JU0E7CisjZW5kaWYKKwlzZXRfYml0KE1QX0lTQV9CVVMsIG1wX2J1c19ub3RfcGNpKTsKKwlEcHJpbnRrKCJCdXMgIyVkIGlzIElTQVxuIiwgTVBfSVNBX0JVUyk7CisKKyNpZmRlZiBDT05GSUdfWDg2X0VTNzAwMAorCS8qCisJICogT2xkZXIgZ2VuZXJhdGlvbnMgb2YgRVM3MDAwIGhhdmUgbm8gbGVnYWN5IGlkZW50aXR5IG1hcHBpbmdzCisJICovCisJaWYgKGVzNzAwMF9wbGF0ID09IDEpCisJCXJldHVybjsKKyNlbmRpZgorCisJLyoKKwkgKiBMb2NhdGUgdGhlIElPQVBJQyB0aGF0IG1hbmFnZXMgdGhlIElTQSBJUlFzICgwLTE1KS4KKwkgKi8KKwlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYygwKTsKKwlpZiAoaW9hcGljIDwgMCkKKwkJcmV0dXJuOworCWRzdGFwaWMgPSBtcF9pb2FwaWNzW2lvYXBpY10ubXBfYXBpY2lkOworCisJLyoKKwkgKiBVc2UgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgdGhlIElSUXMgMC0xNS4gIFVubGVzcworCSAqIG92ZXJyaWRkZW4gYnkgKE1BRFQpIGludGVycnVwdCBzb3VyY2Ugb3ZlcnJpZGUgZW50cmllcy4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykgeworCQlpbnQgaWR4OworCisJCWZvciAoaWR4ID0gMDsgaWR4IDwgbXBfaXJxX2VudHJpZXM7IGlkeCsrKSB7CisJCQlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqaXJxID0gbXBfaXJxcyArIGlkeDsKKworCQkJLyogRG8gd2UgYWxyZWFkeSBoYXZlIGEgbWFwcGluZyBmb3IgdGhpcyBJU0EgSVJRPyAqLworCQkJaWYgKGlycS0+bXBfc3JjYnVzID09IE1QX0lTQV9CVVMKKwkJCSAgICAmJiBpcnEtPm1wX3NyY2J1c2lycSA9PSBpKQorCQkJCWJyZWFrOworCisJCQkvKiBEbyB3ZSBhbHJlYWR5IGhhdmUgYSBtYXBwaW5nIGZvciB0aGlzIElPQVBJQyBwaW4gKi8KKwkJCWlmIChpcnEtPm1wX2RzdGFwaWMgPT0gZHN0YXBpYyAmJgorCQkJICAgIGlycS0+bXBfZHN0aXJxID09IGkpCisJCQkJYnJlYWs7CisJCX0KKworCQlpZiAoaWR4ICE9IG1wX2lycV9lbnRyaWVzKSB7CisJCQlwcmludGsoS0VSTl9ERUJVRyAiQUNQSTogSVJRJWQgdXNlZCBieSBvdmVycmlkZS5cbiIsIGkpOworCQkJY29udGludWU7CS8qIElSUSBhbHJlYWR5IHVzZWQgKi8KKwkJfQorCisJCW1wX2lycS5tcF90eXBlID0gTVBfSU5UU1JDOworCQltcF9pcnEubXBfaXJxZmxhZyA9IDA7CS8qIENvbmZvcm1pbmcgKi8KKwkJbXBfaXJxLm1wX3NyY2J1cyA9IE1QX0lTQV9CVVM7CisJCW1wX2lycS5tcF9kc3RhcGljID0gZHN0YXBpYzsKKwkJbXBfaXJxLm1wX2lycXR5cGUgPSBtcF9JTlQ7CisJCW1wX2lycS5tcF9zcmNidXNpcnEgPSBpOyAvKiBJZGVudGl0eSBtYXBwZWQgKi8KKwkJbXBfaXJxLm1wX2RzdGlycSA9IGk7CisKKwkJc2F2ZV9tcF9pcnEoJm1wX2lycSk7CisJfQorfQorCitpbnQgbXBfcmVnaXN0ZXJfZ3NpKHUzMiBnc2ksIGludCB0cmlnZ2VyaW5nLCBpbnQgcG9sYXJpdHkpCit7CisJaW50IGlvYXBpYzsKKwlpbnQgaW9hcGljX3BpbjsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIE1BWF9HU0lfTlVNCTQwOTYKKyNkZWZpbmUgSVJRX0NPTVBSRVNTSU9OX1NUQVJUCTY0CisKKwlzdGF0aWMgaW50IHBjaV9pcnEgPSBJUlFfQ09NUFJFU1NJT05fU1RBUlQ7CisJLyoKKwkgKiBNYXBwaW5nIGJldHdlZW4gR2xvYmFsIFN5c3RlbSBJbnRlcnJ1cHRzLCB3aGljaAorCSAqIHJlcHJlc2VudCBhbGwgcG9zc2libGUgaW50ZXJydXB0cywgYW5kIElSUXMKKwkgKiBhc3NpZ25lZCB0byBhY3R1YWwgZGV2aWNlcy4KKwkgKi8KKwlzdGF0aWMgaW50IGdzaV90b19pcnFbTUFYX0dTSV9OVU1dOworI2Vsc2UKKworCWlmIChhY3BpX2lycV9tb2RlbCAhPSBBQ1BJX0lSUV9NT0RFTF9JT0FQSUMpCisJCXJldHVybiBnc2k7CisjZW5kaWYKKworCS8qIERvbid0IHNldCB1cCB0aGUgQUNQSSBTQ0kgYmVjYXVzZSBpdCdzIGFscmVhZHkgc2V0IHVwICovCisJaWYgKGFjcGlfZ2JsX0ZBRFQuc2NpX2ludGVycnVwdCA9PSBnc2kpCisJCXJldHVybiBnc2k7CisKKwlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYyhnc2kpOworCWlmIChpb2FwaWMgPCAwKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk5vIElPQVBJQyBmb3IgR1NJICV1XG4iLCBnc2kpOworCQlyZXR1cm4gZ3NpOworCX0KKworCWlvYXBpY19waW4gPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmIChpb2FwaWNfcmVudW1iZXJfaXJxKQorCQlnc2kgPSBpb2FwaWNfcmVudW1iZXJfaXJxKGlvYXBpYywgZ3NpKTsKKyNlbmRpZgorCisJLyoKKwkgKiBBdm9pZCBwaW4gcmVwcm9ncmFtbWluZy4gIFBSVHMgdHlwaWNhbGx5IGluY2x1ZGUgZW50cmllcworCSAqIHdpdGggcmVkdW5kYW50IHBpbi0+Z3NpIG1hcHBpbmdzIChidXQgdW5pcXVlIFBDSSBkZXZpY2VzKTsKKwkgKiB3ZSBvbmx5IHByb2dyYW0gdGhlIElPQVBJQyBvbiB0aGUgZmlyc3QuCisJICovCisJaWYgKGlvYXBpY19waW4gPiBNUF9NQVhfSU9BUElDX1BJTikgeworCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgcmVmZXJlbmNlIHRvIElPQVBJQyBwaW4gIgorCQkgICAgICAgIiVkLSVkXG4iLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmFwaWNfaWQsCisJCSAgICAgICBpb2FwaWNfcGluKTsKKwkJcmV0dXJuIGdzaTsKKwl9CisJaWYgKHRlc3RfYml0KGlvYXBpY19waW4sIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10ucGluX3Byb2dyYW1tZWQpKSB7CisJCURwcmludGsoS0VSTl9ERUJVRyAiUGluICVkLSVkIGFscmVhZHkgcHJvZ3JhbW1lZFxuIiwKKwkJCW1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uYXBpY19pZCwgaW9hcGljX3Bpbik7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCQlyZXR1cm4gKGdzaSA8IElSUV9DT01QUkVTU0lPTl9TVEFSVCA/IGdzaSA6IGdzaV90b19pcnFbZ3NpXSk7CisjZWxzZQorCQlyZXR1cm4gZ3NpOworI2VuZGlmCisJfQorCisJc2V0X2JpdChpb2FwaWNfcGluLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLnBpbl9wcm9ncmFtbWVkKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJLyoKKwkgKiBGb3IgR1NJID49IDY0LCB1c2UgSVJRIGNvbXByZXNzaW9uCisJICovCisJaWYgKChnc2kgPj0gSVJRX0NPTVBSRVNTSU9OX1NUQVJUKQorCSAgICAmJiAodHJpZ2dlcmluZyA9PSBBQ1BJX0xFVkVMX1NFTlNJVElWRSkpIHsKKwkJLyoKKwkJICogRm9yIFBDSSBkZXZpY2VzIGFzc2lnbiBJUlFzIGluIG9yZGVyLCBhdm9pZGluZyBnYXBzCisJCSAqIGR1ZSB0byB1bnVzZWQgSS9PIEFQSUMgcGlucy4KKwkJICovCisJCWludCBpcnEgPSBnc2k7CisJCWlmIChnc2kgPCBNQVhfR1NJX05VTSkgeworCQkJLyoKKwkJCSAqIFJldGFpbiB0aGUgVklBIGNoaXBzZXQgd29yay1hcm91bmQgKGdzaSA+IDE1KSwgYnV0CisJCQkgKiBhdm9pZCBhIHByb2JsZW0gd2hlcmUgdGhlIDgyNTQgdGltZXIgKElSUTApIGlzIHNldHVwCisJCQkgKiB2aWEgYW4gb3ZlcnJpZGUgKHNvIGl0J3Mgbm90IG9uIHBpbiAwIG9mIHRoZSBpb2FwaWMpLAorCQkJICogYW5kIGF0IHRoZSBzYW1lIHRpbWUsIHRoZSBwaW4gMCBpbnRlcnJ1cHQgaXMgYSBQQ0kKKwkJCSAqIHR5cGUuICBUaGUgZ3NpID4gMTUgdGVzdCBjb3VsZCBjYXVzZSB0aGVzZSB0d28gcGlucworCQkJICogdG8gYmUgc2hhcmVkIGFzIElSUTAsIGFuZCB0aGV5IGFyZSBub3Qgc2hhcmVhYmxlLgorCQkJICogU28gdGVzdCBmb3IgdGhpcyBjb25kaXRpb24sIGFuZCBpZiBuZWNlc3NhcnksIGF2b2lkCisJCQkgKiB0aGUgcGluIGNvbGxpc2lvbi4KKwkJCSAqLworCQkJZ3NpID0gcGNpX2lycSsrOworCQkJLyoKKwkJCSAqIERvbid0IGFzc2lnbiBJUlEgdXNlZCBieSBBQ1BJIFNDSQorCQkJICovCisJCQlpZiAoZ3NpID09IGFjcGlfZ2JsX0ZBRFQuc2NpX2ludGVycnVwdCkKKwkJCQlnc2kgPSBwY2lfaXJxKys7CisJCQlnc2lfdG9faXJxW2lycV0gPSBnc2k7CisJCX0gZWxzZSB7CisJCQlwcmludGsoS0VSTl9FUlIgIkdTSSAldSBpcyB0b28gaGlnaFxuIiwgZ3NpKTsKKwkJCXJldHVybiBnc2k7CisJCX0KKwl9CisjZW5kaWYKKwlpb19hcGljX3NldF9wY2lfcm91dGluZyhpb2FwaWMsIGlvYXBpY19waW4sIGdzaSwKKwkJCQl0cmlnZ2VyaW5nID09IEFDUElfRURHRV9TRU5TSVRJVkUgPyAwIDogMSwKKwkJCQlwb2xhcml0eSA9PSBBQ1BJX0FDVElWRV9ISUdIID8gMCA6IDEpOworCXJldHVybiBnc2k7Cit9CisKK2ludCBtcF9jb25maWdfYWNwaV9nc2kodW5zaWduZWQgY2hhciBudW1iZXIsIHVuc2lnbmVkIGludCBkZXZmbiwgdTggcGluLAorCQkJdTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSkKK3sKKyNpZmRlZiBDT05GSUdfWDg2X01QUEFSU0UKKwlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnE7CisJaW50IGlvYXBpYzsKKworCWlmICghYWNwaV9pb2FwaWMpCisJCXJldHVybiAwOworCisJLyogcHJpbnQgdGhlIGVudHJ5IHNob3VsZCBoYXBwZW4gb24gbXB0YWJsZSBpZGVudGljYWxseSAqLworCW1wX2lycS5tcF90eXBlID0gTVBfSU5UU1JDOworCW1wX2lycS5tcF9pcnF0eXBlID0gbXBfSU5UOworCW1wX2lycS5tcF9pcnFmbGFnID0gKHRyaWdnZXJpbmcgPT0gQUNQSV9FREdFX1NFTlNJVElWRSA/IDQgOiAweDBjKSB8CisJCQkJKHBvbGFyaXR5ID09IEFDUElfQUNUSVZFX0hJR0ggPyAxIDogMyk7CisJbXBfaXJxLm1wX3NyY2J1cyA9IG51bWJlcjsKKwltcF9pcnEubXBfc3JjYnVzaXJxID0gKCgoZGV2Zm4gPj4gMykgJiAweDFmKSA8PCAyKSB8ICgocGluIC0gMSkgJiAzKTsKKwlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYyhnc2kpOworCW1wX2lycS5tcF9kc3RhcGljID0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5hcGljX2lkOworCW1wX2lycS5tcF9kc3RpcnEgPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOworCisJc2F2ZV9tcF9pcnEoJm1wX2lycSk7CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KKwogLyoKICAqIFBhcnNlIElPQVBJQyByZWxhdGVkIGVudHJpZXMgaW4gTUFEVAogICogcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvcgpAQCAtMTAwOSw4ICsxMzUzLDYgQEAKIAlyZXR1cm47CiB9CiAKLSNpZmRlZiBfX2kzODZfXwotCiBzdGF0aWMgaW50IF9faW5pdCBkaXNhYmxlX2FjcGlfaXJxKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQogewogCWlmICghYWNwaV9mb3JjZSkgewpAQCAtMTA2MSw2ICsxNDAzLDE2IEBACiB9CiAKIC8qCisgKiBGb3JjZSBpZ25vcmluZyBCSU9TIElSUTAgcGluMiBvdmVycmlkZQorICovCitzdGF0aWMgaW50IF9faW5pdCBkbWlfaWdub3JlX2lycTBfdGltZXJfb3ZlcnJpZGUoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCit7CisJcHJfbm90aWNlKCIlcyBkZXRlY3RlZDogSWdub3JpbmcgQklPUyBJUlEwIHBpbjIgb3ZlcnJpZGVcbiIsIGQtPmlkZW50KTsKKwlhY3BpX3NraXBfdGltZXJfb3ZlcnJpZGUgPSAxOworCXJldHVybiAwOworfQorCisvKgogICogSWYgeW91ciBzeXN0ZW0gaXMgYmxhY2tsaXN0ZWQgaGVyZSwgYnV0IHlvdSBmaW5kIHRoYXQgYWNwaT1mb3JjZQogICogd29ya3MgZm9yIHlvdSwgcGxlYXNlIGNvbnRhY3QgYWNwaS1kZXZlbEBzb3VyY2Vmb3JnZS5uZXQKICAqLwpAQCAtMTIyNywxMSArMTU3OSwzNSBAQAogCQkgICAgIERNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiVHJhdmVsTWF0ZSAzNjAiKSwKIAkJICAgICB9LAogCSB9LAorCS8qCisJICogSFAgbGFwdG9wcyB3aGljaCB1c2UgYSBEU0RUIHJlcG9ydGluZyBhcyBIUC9TQjQwMC8xMDAwMCwKKwkgKiB3aGljaCBpbmNsdWRlcyBzb21lIGNvZGUgd2hpY2ggb3ZlcnJpZGVzIGFsbCB0ZW1wZXJhdHVyZQorCSAqIHRyaXAgcG9pbnRzIHRvIDE2QyBpZiB0aGUgSU5USU4yIGlucHV0IG9mIHRoZSBJL08gQVBJQworCSAqIGlzIGVuYWJsZWQuICBUaGlzIGlucHV0IGlzIGluY29ycmVjdGx5IGRlc2lnbmF0ZWQgdGhlCisJICogSVNBIElSUSAwIHZpYSBhbiBpbnRlcnJ1cHQgc291cmNlIG92ZXJyaWRlIGV2ZW4gdGhvdWdoCisJICogaXQgaXMgd2lyZWQgdG8gdGhlIG91dHB1dCBvZiB0aGUgbWFzdGVyIDgyNTlBIGFuZCBJTlRJTjAKKwkgKiBpcyBub3QgY29ubmVjdGVkIGF0IGFsbC4gIEZvcmNlIGlnbm9yaW5nIEJJT1MgSVJRMCBwaW4yCisJICogb3ZlcnJpZGUgaW4gdGhhdCBjYXNlcy4KKwkgKi8KKwl7CisJIC5jYWxsYmFjayA9IGRtaV9pZ25vcmVfaXJxMF90aW1lcl9vdmVycmlkZSwKKwkgLmlkZW50ID0gIkhQIE5YNjEyNSBsYXB0b3AiLAorCSAubWF0Y2hlcyA9IHsKKwkJICAgICBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJIZXdsZXR0LVBhY2thcmQiKSwKKwkJICAgICBETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIkhQIENvbXBhcSBueDYxMjUiKSwKKwkJICAgICB9LAorCSB9LAorCXsKKwkgLmNhbGxiYWNrID0gZG1pX2lnbm9yZV9pcnEwX3RpbWVyX292ZXJyaWRlLAorCSAuaWRlbnQgPSAiSFAgTlg2MzI1IGxhcHRvcCIsCisJIC5tYXRjaGVzID0geworCQkgICAgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIkhld2xldHQtUGFja2FyZCIpLAorCQkgICAgIERNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiSFAgQ29tcGFxIG54NjMyNSIpLAorCQkgICAgIH0sCisJIH0sCiAJe30KIH07CiAKLSNlbmRpZgkJCQkvKiBfX2kzODZfXyAqLwotCiAvKgogICogYWNwaV9ib290X3RhYmxlX2luaXQoKSBhbmQgYWNwaV9ib290X2luaXQoKQogICogIGNhbGxlZCBmcm9tIHNldHVwX2FyY2goKSwgYWx3YXlzLgpAQCAtMTI1OSw5ICsxNjM1LDcgQEAKIHsKIAlpbnQgZXJyb3I7CiAKLSNpZmRlZiBfX2kzODZfXwogCWRtaV9jaGVja19zeXN0ZW0oYWNwaV9kbWlfdGFibGUpOwotI2VuZGlmCiAKIAkvKgogCSAqIElmIGFjcGlfZGlzYWJsZWQsIGJhaWwgb3V0CkBAIC0xMzg2LDYgKzE3NjAsMjAgQEAKIH0KIGVhcmx5X3BhcmFtKCJwY2kiLCBwYXJzZV9wY2kpOwogCitpbnQgX19pbml0IGFjcGlfbXBzX2NoZWNrKHZvaWQpCit7CisjaWYgZGVmaW5lZChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpICYmICFkZWZpbmVkKENPTkZJR19YODZfTVBQQVJTRSkKKy8qIG1wdGFibGUgY29kZSBpcyBub3QgYnVpbHQtaW4qLworCWlmIChhY3BpX2Rpc2FibGVkIHx8IGFjcGlfbm9pcnEpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiTVBTIHN1cHBvcnQgY29kZSBpcyBub3QgYnVpbHQtaW4uXG4iCisJCSAgICAgICAiVXNpbmcgYWNwaT1vZmYgb3IgYWNwaT1ub2lycSBvciBwY2k9bm9hY3BpICIKKwkJICAgICAgICJtYXkgaGF2ZSBwcm9ibGVtXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKICNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2FjcGlfc2tpcF90aW1lcl9vdmVycmlkZShjaGFyICphcmcpCiB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9zbGVlcC5jIGIvYXJjaC94ODYva2VybmVsL2FjcGkvc2xlZXAuYwppbmRleCAzNmFmMDFmLi43OTNhZDIwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9zbGVlcC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hY3BpL3NsZWVwLmMKQEAgLTIzLDYgKzIzLDE1IEBACiBzdGF0aWMgY2hhciB0ZW1wX3N0YWNrWzEwMjQwXTsKICNlbmRpZgogCisvKiBYWFg6IHRoaXMgbWFjcm8gc2hvdWxkIG1vdmUgdG8gYXNtLXg4Ni9zZWdtZW50LmggYW5kIGJlIHNoYXJlZCB3aXRoIHRoZQorICAgYm9vdCBjb2RlLi4uICovCisjZGVmaW5lIEdEVF9FTlRSWShmbGFncywgYmFzZSwgbGltaXQpCQlcCisJKCgodTY0KShiYXNlICYgMHhmZjAwMDAwMCkgPDwgMzIpIHwJXAorCSAoKHU2NClmbGFncyA8PCA0MCkgfAkJCVwKKwkgKCh1NjQpKGxpbWl0ICYgMHgwMGZmMDAwMCkgPDwgMzIpIHwJXAorCSAoKHU2NCkoYmFzZSAmIDB4MDBmZmZmZmYpIDw8IDE2KSB8CVwKKwkgKCh1NjQpKGxpbWl0ICYgMHgwMDAwZmZmZikpKQorCiAvKioKICAqIGFjcGlfc2F2ZV9zdGF0ZV9tZW0gLSBzYXZlIGtlcm5lbCBzdGF0ZQogICoKQEAgLTUxLDE4ICs2MCwyNyBAQAogCWhlYWRlci0+dmlkZW9fbW9kZSA9IHNhdmVkX3ZpZGVvX21vZGU7CiAKIAloZWFkZXItPndha2V1cF9qbXBfc2VnID0gYWNwaV93YWtldXBfYWRkcmVzcyA+PiA0OworCisJLyoKKwkgKiBTZXQgdXAgdGhlIHdha2V1cCBHRFQuICBXZSBzZXQgdGhlc2UgdXAgYXMgQmlnIFJlYWwgTW9kZSwKKwkgKiB0aGF0IGlzLCB3aXRoIGxpbWl0cyBzZXQgdG8gNCBHQi4gIEF0IGxlYXN0IHRoZSBMZW5vdm8KKwkgKiBUaGlua3BhZCBYNjEgaXMga25vd24gdG8gbmVlZCB0aGlzIGZvciB0aGUgdmlkZW8gQklPUworCSAqIGluaXRpYWxpemF0aW9uIHF1aXJrIHRvIHdvcms7IHRoaXMgaXMgbGlrZWx5IHRvIGFsc28KKwkgKiBiZSB0aGUgY2FzZSBmb3Igb3RoZXIgbGFwdG9wcyBvciBpbnRlZ3JhdGVkIHZpZGVvIGRldmljZXMuCisJICovCisKIAkvKiBHRFRbMF06IEdEVCBzZWxmLXBvaW50ZXIgKi8KIAloZWFkZXItPndha2V1cF9nZHRbMF0gPQogCQkodTY0KShzaXplb2YoaGVhZGVyLT53YWtldXBfZ2R0KSAtIDEpICsKIAkJKCh1NjQpKGFjcGlfd2FrZXVwX2FkZHJlc3MgKwogCQkJKChjaGFyICopJmhlYWRlci0+d2FrZXVwX2dkdCAtIChjaGFyICopYWNwaV9yZWFsbW9kZSkpCiAJCQkJPDwgMTYpOwotCS8qIEdEVFsxXTogcmVhbC1tb2RlLWxpa2UgY29kZSBzZWdtZW50ICovCi0JaGVhZGVyLT53YWtldXBfZ2R0WzFdID0gKDB4MDA5YlVMTCA8PCA0MCkgKwotCQkoKHU2NClhY3BpX3dha2V1cF9hZGRyZXNzIDw8IDE2KSArIDB4ZmZmZjsKLQkvKiBHRFRbMl06IHJlYWwtbW9kZS1saWtlIGRhdGEgc2VnbWVudCAqLwotCWhlYWRlci0+d2FrZXVwX2dkdFsyXSA9ICgweDAwOTNVTEwgPDwgNDApICsKLQkJKCh1NjQpYWNwaV93YWtldXBfYWRkcmVzcyA8PCAxNikgKyAweGZmZmY7CisJLyogR0RUWzFdOiBiaWcgcmVhbCBtb2RlLWxpa2UgY29kZSBzZWdtZW50ICovCisJaGVhZGVyLT53YWtldXBfZ2R0WzFdID0KKwkJR0RUX0VOVFJZKDB4ODA5YiwgYWNwaV93YWtldXBfYWRkcmVzcywgMHhmZmZmZik7CisJLyogR0RUWzJdOiBiaWcgcmVhbCBtb2RlLWxpa2UgZGF0YSBzZWdtZW50ICovCisJaGVhZGVyLT53YWtldXBfZ2R0WzJdID0KKwkJR0RUX0VOVFJZKDB4ODA5MywgYWNwaV93YWtldXBfYWRkcmVzcywgMHhmZmZmZik7CiAKICNpZm5kZWYgQ09ORklHXzY0QklUCiAJc3RvcmVfZ2R0KChzdHJ1Y3QgZGVzY19wdHIgKikmaGVhZGVyLT5wbW9kZV9nZHQpOwpAQCAtODYsNyArMTA0LDkgQEAKIAlzYXZlZF9tYWdpYyA9IDB4MTIzNDU2Nzg7CiAjZWxzZSAvKiBDT05GSUdfNjRCSVQgKi8KIAloZWFkZXItPnRyYW1wb2xpbmVfc2VnbWVudCA9IHNldHVwX3RyYW1wb2xpbmUoKSA+PiA0OwotCWluaXRfcnNwID0gKHVuc2lnbmVkIGxvbmcpdGVtcF9zdGFjayArIDQwOTY7CisjaWZkZWYgQ09ORklHX1NNUAorCXN0YWNrX3N0YXJ0LnNwID0gdGVtcF9zdGFjayArIDQwOTY7CisjZW5kaWYKIAlpbml0aWFsX2NvZGUgPSAodW5zaWduZWQgbG9uZyl3YWtldXBfbG9uZzY0OwogCXNhdmVkX21hZ2ljID0gMHgxMjM0NTY3ODlhYmNkZWYwOwogI2VuZGlmIC8qIENPTkZJR182NEJJVCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvYWx0ZXJuYXRpdmUuYwppbmRleCA2NWM3ODU3Li4yNzYzY2IzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYWx0ZXJuYXRpdmUuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYWx0ZXJuYXRpdmUuYwpAQCAtMSw2ICsxLDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CkBAIC0xNDMsNyArMTQzLDcgQEAKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAKIGV4dGVybiBjaGFyIF9fdnN5c2NhbGxfMDsKLXN0YXRpYyBpbmxpbmUgY29uc3QgdW5zaWduZWQgY2hhcipjb25zdCAqIGZpbmRfbm9wX3RhYmxlKHZvaWQpCitjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCAqZmluZF9ub3BfdGFibGUodm9pZCkKIHsKIAlyZXR1cm4gYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwgfHwKIAkgICAgICAgYm9vdF9jcHVfZGF0YS54ODYgPCA2ID8gazhfbm9wcyA6IHA2X25vcHM7CkBAIC0xNjIsNyArMTYyLDcgQEAKIAl7IC0xLCBOVUxMIH0KIH07CiAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyKmNvbnN0ICogZmluZF9ub3BfdGFibGUodm9pZCkKK2NvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0ICpmaW5kX25vcF90YWJsZSh2b2lkKQogewogCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0ICpub3B0YWJsZSA9IGludGVsX25vcHM7CiAJaW50IGk7CkBAIC0yNzksNyArMjc5LDcgQEAKIAlzdHJ1Y3QgbGlzdF9oZWFkIG5leHQ7CiB9Owogc3RhdGljIExJU1RfSEVBRChzbXBfYWx0X21vZHVsZXMpOwotc3RhdGljIERFRklORV9TUElOTE9DSyhzbXBfYWx0KTsKK3N0YXRpYyBERUZJTkVfTVVURVgoc21wX2FsdCk7CiBzdGF0aWMgaW50IHNtcF9tb2RlID0gMTsJLyogcHJvdGVjdGVkIGJ5IHNtcF9hbHQgKi8KIAogdm9pZCBhbHRlcm5hdGl2ZXNfc21wX21vZHVsZV9hZGQoc3RydWN0IG1vZHVsZSAqbW9kLCBjaGFyICpuYW1lLApAQCAtMzEyLDEyICszMTIsMTIgQEAKIAkJX19mdW5jX18sIHNtcC0+bG9ja3MsIHNtcC0+bG9ja3NfZW5kLAogCQlzbXAtPnRleHQsIHNtcC0+dGV4dF9lbmQsIHNtcC0+bmFtZSk7CiAKLQlzcGluX2xvY2soJnNtcF9hbHQpOworCW11dGV4X2xvY2soJnNtcF9hbHQpOwogCWxpc3RfYWRkX3RhaWwoJnNtcC0+bmV4dCwgJnNtcF9hbHRfbW9kdWxlcyk7CiAJaWYgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9VUCkpCiAJCWFsdGVybmF0aXZlc19zbXBfdW5sb2NrKHNtcC0+bG9ja3MsIHNtcC0+bG9ja3NfZW5kLAogCQkJCQlzbXAtPnRleHQsIHNtcC0+dGV4dF9lbmQpOwotCXNwaW5fdW5sb2NrKCZzbXBfYWx0KTsKKwltdXRleF91bmxvY2soJnNtcF9hbHQpOwogfQogCiB2b2lkIGFsdGVybmF0aXZlc19zbXBfbW9kdWxlX2RlbChzdHJ1Y3QgbW9kdWxlICptb2QpCkBAIC0zMjcsMTcgKzMyNywxNyBAQAogCWlmIChzbXBfYWx0X29uY2UgfHwgbm9yZXBsYWNlX3NtcCkKIAkJcmV0dXJuOwogCi0Jc3Bpbl9sb2NrKCZzbXBfYWx0KTsKKwltdXRleF9sb2NrKCZzbXBfYWx0KTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0ZW0sICZzbXBfYWx0X21vZHVsZXMsIG5leHQpIHsKIAkJaWYgKG1vZCAhPSBpdGVtLT5tb2QpCiAJCQljb250aW51ZTsKIAkJbGlzdF9kZWwoJml0ZW0tPm5leHQpOwotCQlzcGluX3VubG9jaygmc21wX2FsdCk7CisJCW11dGV4X3VubG9jaygmc21wX2FsdCk7CiAJCURQUklOVEsoIiVzOiAlc1xuIiwgX19mdW5jX18sIGl0ZW0tPm5hbWUpOwogCQlrZnJlZShpdGVtKTsKIAkJcmV0dXJuOwogCX0KLQlzcGluX3VubG9jaygmc21wX2FsdCk7CisJbXV0ZXhfdW5sb2NrKCZzbXBfYWx0KTsKIH0KIAogdm9pZCBhbHRlcm5hdGl2ZXNfc21wX3N3aXRjaChpbnQgc21wKQpAQCAtMzU5LDcgKzM1OSw3IEBACiAJCXJldHVybjsKIAlCVUdfT04oIXNtcCAmJiAobnVtX29ubGluZV9jcHVzKCkgPiAxKSk7CiAKLQlzcGluX2xvY2soJnNtcF9hbHQpOworCW11dGV4X2xvY2soJnNtcF9hbHQpOwogCiAJLyoKIAkgKiBBdm9pZCB1bm5lY2Vzc2FyeSBzd2l0Y2hlcyBiZWNhdXNlIGl0IGZvcmNlcyBKSVQgYmFzZWQgVk1zIHRvCkBAIC0zODMsNyArMzgzLDcgQEAKIAkJCQkJCW1vZC0+dGV4dCwgbW9kLT50ZXh0X2VuZCk7CiAJfQogCXNtcF9tb2RlID0gc21wOwotCXNwaW5fdW5sb2NrKCZzbXBfYWx0KTsKKwltdXRleF91bmxvY2soJnNtcF9hbHQpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXUuYyBiL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjc2NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdS5jCkBAIC0wLDAgKzEsOTYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICogQXV0aG9yOiBKb2VyZyBSb2VkZWwgPGpvZXJnLnJvZWRlbEBhbWQuY29tPgorICogICAgICAgICBMZW8gRHVyYW4gPGxlby5kdXJhbkBhbWQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9nZnAuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvbW11LWhlbHBlci5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgorI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FtZF9pb21tdV90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9hbWRfaW9tbXUuaD4KKworI2RlZmluZSBDTURfU0VUX1RZUEUoY21kLCB0KSAoKGNtZCktPmRhdGFbMV0gfD0gKCh0KSA8PCAyOCkpCisKKyNkZWZpbmUgdG9fcGFnZXMoYWRkciwgc2l6ZSkgXAorCSAocm91bmRfdXAoKChhZGRyKSAmIH5QQUdFX01BU0spICsgKHNpemUpLCBQQUdFX1NJWkUpID4+IFBBR0VfU0hJRlQpCisKK3N0YXRpYyBERUZJTkVfUldMT0NLKGFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrKTsKKworc3RydWN0IGNvbW1hbmQgeworCXUzMiBkYXRhWzRdOworfTsKKworc3RhdGljIGludCBkbWFfb3BzX3VuaXR5X21hcChzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkgICAgIHN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmUpOworCitzdGF0aWMgaW50IGlvbW11X2hhc19ucGNhY2hlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXJldHVybiBpb21tdS0+Y2FwICYgSU9NTVVfQ0FQX05QQ0FDSEU7Cit9CisKK3N0YXRpYyBpbnQgX19pb21tdV9xdWV1ZV9jb21tYW5kKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBzdHJ1Y3QgY29tbWFuZCAqY21kKQoreworCXUzMiB0YWlsLCBoZWFkOworCXU4ICp0YXJnZXQ7CisKKwl0YWlsID0gcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ01EX1RBSUxfT0ZGU0VUKTsKKwl0YXJnZXQgPSAoaW9tbXUtPmNtZF9idWYgKyB0YWlsKTsKKwltZW1jcHlfdG9pbyh0YXJnZXQsIGNtZCwgc2l6ZW9mKCpjbWQpKTsKKwl0YWlsID0gKHRhaWwgKyBzaXplb2YoKmNtZCkpICUgaW9tbXUtPmNtZF9idWZfc2l6ZTsKKwloZWFkID0gcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ01EX0hFQURfT0ZGU0VUKTsKKwlpZiAodGFpbCA9PSBoZWFkKQorCQlyZXR1cm4gLUVOT01FTTsKKwl3cml0ZWwodGFpbCwgaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ01EX1RBSUxfT0ZGU0VUKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X3F1ZXVlX2NvbW1hbmQoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHN0cnVjdCBjb21tYW5kICpjbWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CisJcmV0ID0gX19pb21tdV9xdWV1ZV9jb21tYW5kKGlvbW11LCBjbWQpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGlvbW11X2NvbXBsZXRpb25fd2FpdChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBjb21tYW5kIGNtZDsKKwl2b2xhdGlsZSB1NjQgcmVhZHkgPSAwOworCXVuc2lnbmVkIGxvbmcgcmVhZHlfcGh5cyA9IHZpcnRfdG9fcGh5cygmcmVhZHkpOworCisJbWVtc2V0KCZjbWQsIDAsIHNpemVvZihjbWQpKTsKKwljbWQuZGF0YVswXSA9IExPV19VMzIocmVhZHlfcGh5cykgfCBDTURfQ09NUExfV0FJVF9TVE9SRV9NQVNLOworCWNtZC5kYXRhWzFdID0gSElHSF9VMzIocmVhZHlfcGh5cyk7CisJY21kLmRhdGFbMl0gPSAxOyAvKiB2YWx1ZSB3cml0dGVuIHRvICdyZWFkeScgKi8KKwlDTURfU0VUX1RZUEUoJmNtZCwgQ01EX0NPTVBMX1dBSVQpOworCisJaW9tbXUtPm5lZWRfc3luYyA9IDA7CisKKwlyZXQgPSBpb21tdV9xdWV1ZV9jb21tYW5kKGlvbW11LCAmY21kKTsKKworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwl3aGlsZSAoIXJlYWR5KQorCQljcHVfcmVsYXgoKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X3F1ZXVlX2ludl9kZXZfZW50cnkoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHUxNiBkZXZpZCkKK3sKKwlzdHJ1Y3QgY29tbWFuZCBjbWQ7CisKKwlCVUdfT04oaW9tbXUgPT0gTlVMTCk7CisKKwltZW1zZXQoJmNtZCwgMCwgc2l6ZW9mKGNtZCkpOworCUNNRF9TRVRfVFlQRSgmY21kLCBDTURfSU5WX0RFVl9FTlRSWSk7CisJY21kLmRhdGFbMF0gPSBkZXZpZDsKKworCWlvbW11LT5uZWVkX3N5bmMgPSAxOworCisJcmV0dXJuIGlvbW11X3F1ZXVlX2NvbW1hbmQoaW9tbXUsICZjbWQpOworfQorCitzdGF0aWMgaW50IGlvbW11X3F1ZXVlX2ludl9pb21tdV9wYWdlcyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJdTY0IGFkZHJlc3MsIHUxNiBkb21pZCwgaW50IHBkZSwgaW50IHMpCit7CisJc3RydWN0IGNvbW1hbmQgY21kOworCisJbWVtc2V0KCZjbWQsIDAsIHNpemVvZihjbWQpKTsKKwlhZGRyZXNzICY9IFBBR0VfTUFTSzsKKwlDTURfU0VUX1RZUEUoJmNtZCwgQ01EX0lOVl9JT01NVV9QQUdFUyk7CisJY21kLmRhdGFbMV0gfD0gZG9taWQ7CisJY21kLmRhdGFbMl0gPSBMT1dfVTMyKGFkZHJlc3MpOworCWNtZC5kYXRhWzNdID0gSElHSF9VMzIoYWRkcmVzcyk7CisJaWYgKHMpCisJCWNtZC5kYXRhWzJdIHw9IENNRF9JTlZfSU9NTVVfUEFHRVNfU0laRV9NQVNLOworCWlmIChwZGUpCisJCWNtZC5kYXRhWzJdIHw9IENNRF9JTlZfSU9NTVVfUEFHRVNfUERFX01BU0s7CisKKwlpb21tdS0+bmVlZF9zeW5jID0gMTsKKworCXJldHVybiBpb21tdV9xdWV1ZV9jb21tYW5kKGlvbW11LCAmY21kKTsKK30KKworc3RhdGljIGludCBpb21tdV9mbHVzaF9wYWdlcyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTE2IGRvbWlkLAorCQl1NjQgYWRkcmVzcywgc2l6ZV90IHNpemUpCit7CisJaW50IHMgPSAwOworCXVuc2lnbmVkIHBhZ2VzID0gdG9fcGFnZXMoYWRkcmVzcywgc2l6ZSk7CisKKwlhZGRyZXNzICY9IFBBR0VfTUFTSzsKKworCWlmIChwYWdlcyA+IDEpIHsKKwkJLyoKKwkJICogSWYgd2UgaGF2ZSB0byBmbHVzaCBtb3JlIHRoYW4gb25lIHBhZ2UsIGZsdXNoIGFsbAorCQkgKiBUTEIgZW50cmllcyBmb3IgdGhpcyBkb21haW4KKwkJICovCisJCWFkZHJlc3MgPSBDTURfSU5WX0lPTU1VX0FMTF9QQUdFU19BRERSRVNTOworCQlzID0gMTsKKwl9CisKKwlpb21tdV9xdWV1ZV9pbnZfaW9tbXVfcGFnZXMoaW9tbXUsIGFkZHJlc3MsIGRvbWlkLCAwLCBzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X21hcChzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbSwKKwkJICAgICB1bnNpZ25lZCBsb25nIGJ1c19hZGRyLAorCQkgICAgIHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLAorCQkgICAgIGludCBwcm90KQoreworCXU2NCBfX3B0ZSwgKnB0ZSwgKnBhZ2U7CisKKwlidXNfYWRkciAgPSBQQUdFX0FMSUdOKGJ1c19hZGRyKTsKKwlwaHlzX2FkZHIgPSBQQUdFX0FMSUdOKGJ1c19hZGRyKTsKKworCS8qIG9ubHkgc3VwcG9ydCA1MTJHQiBhZGRyZXNzIHNwYWNlcyBmb3Igbm93ICovCisJaWYgKGJ1c19hZGRyID4gSU9NTVVfTUFQX1NJWkVfTDMgfHwgIShwcm90ICYgSU9NTVVfUFJPVF9NQVNLKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwdGUgPSAmZG9tLT5wdF9yb290W0lPTU1VX1BURV9MMl9JTkRFWChidXNfYWRkcildOworCisJaWYgKCFJT01NVV9QVEVfUFJFU0VOVCgqcHRlKSkgeworCQlwYWdlID0gKHU2NCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKCFwYWdlKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCSpwdGUgPSBJT01NVV9MMl9QREUodmlydF90b19waHlzKHBhZ2UpKTsKKwl9CisKKwlwdGUgPSBJT01NVV9QVEVfUEFHRSgqcHRlKTsKKwlwdGUgPSAmcHRlW0lPTU1VX1BURV9MMV9JTkRFWChidXNfYWRkcildOworCisJaWYgKCFJT01NVV9QVEVfUFJFU0VOVCgqcHRlKSkgeworCQlwYWdlID0gKHU2NCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKCFwYWdlKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCSpwdGUgPSBJT01NVV9MMV9QREUodmlydF90b19waHlzKHBhZ2UpKTsKKwl9CisKKwlwdGUgPSBJT01NVV9QVEVfUEFHRSgqcHRlKTsKKwlwdGUgPSAmcHRlW0lPTU1VX1BURV9MMF9JTkRFWChidXNfYWRkcildOworCisJaWYgKElPTU1VX1BURV9QUkVTRU5UKCpwdGUpKQorCQlyZXR1cm4gLUVCVVNZOworCisJX19wdGUgPSBwaHlzX2FkZHIgfCBJT01NVV9QVEVfUDsKKwlpZiAocHJvdCAmIElPTU1VX1BST1RfSVIpCisJCV9fcHRlIHw9IElPTU1VX1BURV9JUjsKKwlpZiAocHJvdCAmIElPTU1VX1BST1RfSVcpCisJCV9fcHRlIHw9IElPTU1VX1BURV9JVzsKKworCSpwdGUgPSBfX3B0ZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X2Zvcl91bml0eV9tYXAoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkgICAgICAgc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZW50cnkpCit7CisJdTE2IGJkZiwgaTsKKworCWZvciAoaSA9IGVudHJ5LT5kZXZpZF9zdGFydDsgaSA8PSBlbnRyeS0+ZGV2aWRfZW5kOyArK2kpIHsKKwkJYmRmID0gYW1kX2lvbW11X2FsaWFzX3RhYmxlW2ldOworCQlpZiAoYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbYmRmXSA9PSBpb21tdSkKKwkJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X2luaXRfdW5pdHlfbWFwcGluZ3Moc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZW50cnk7CisJaW50IHJldDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoZW50cnksICZhbWRfaW9tbXVfdW5pdHlfbWFwLCBsaXN0KSB7CisJCWlmICghaW9tbXVfZm9yX3VuaXR5X21hcChpb21tdSwgZW50cnkpKQorCQkJY29udGludWU7CisJCXJldCA9IGRtYV9vcHNfdW5pdHlfbWFwKGlvbW11LT5kZWZhdWx0X2RvbSwgZW50cnkpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkbWFfb3BzX3VuaXR5X21hcChzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkgICAgIHN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmUpCit7CisJdTY0IGFkZHI7CisJaW50IHJldDsKKworCWZvciAoYWRkciA9IGUtPmFkZHJlc3Nfc3RhcnQ7IGFkZHIgPCBlLT5hZGRyZXNzX2VuZDsKKwkgICAgIGFkZHIgKz0gUEFHRV9TSVpFKSB7CisJCXJldCA9IGlvbW11X21hcCgmZG1hX2RvbS0+ZG9tYWluLCBhZGRyLCBhZGRyLCBlLT5wcm90KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJCS8qCisJCSAqIGlmIHVuaXR5IG1hcHBpbmcgaXMgaW4gYXBlcnR1cmUgcmFuZ2UgbWFyayB0aGUgcGFnZQorCQkgKiBhcyBhbGxvY2F0ZWQgaW4gdGhlIGFwZXJ0dXJlCisJCSAqLworCQlpZiAoYWRkciA8IGRtYV9kb20tPmFwZXJ0dXJlX3NpemUpCisJCQlfX3NldF9iaXQoYWRkciA+PiBQQUdFX1NISUZULCBkbWFfZG9tLT5iaXRtYXApOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGluaXRfdW5pdHlfbWFwcGluZ3NfZm9yX2RldmljZShzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkJCSAgdTE2IGRldmlkKQoreworCXN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmU7CisJaW50IHJldDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoZSwgJmFtZF9pb21tdV91bml0eV9tYXAsIGxpc3QpIHsKKwkJaWYgKCEoZGV2aWQgPj0gZS0+ZGV2aWRfc3RhcnQgJiYgZGV2aWQgPD0gZS0+ZGV2aWRfZW5kKSkKKwkJCWNvbnRpbnVlOworCQlyZXQgPSBkbWFfb3BzX3VuaXR5X21hcChkbWFfZG9tLCBlKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGRtYV9tYXNrX3RvX3BhZ2VzKHVuc2lnbmVkIGxvbmcgbWFzaykKK3sKKwlyZXR1cm4gKG1hc2sgPj4gUEFHRV9TSElGVCkgKworCQkoUEFHRV9BTElHTihtYXNrICYgflBBR0VfTUFTSykgPj4gUEFHRV9TSElGVCk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGRtYV9vcHNfYWxsb2NfYWRkcmVzc2VzKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJICAgICBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSwKKwkJCQkJICAgICB1bnNpZ25lZCBpbnQgcGFnZXMpCit7CisJdW5zaWduZWQgbG9uZyBsaW1pdCA9IGRtYV9tYXNrX3RvX3BhZ2VzKCpkZXYtPmRtYV9tYXNrKTsKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CisJdW5zaWduZWQgbG9uZyBzaXplID0gZG9tLT5hcGVydHVyZV9zaXplID4+IFBBR0VfU0hJRlQ7CisJdW5zaWduZWQgbG9uZyBib3VuZGFyeV9zaXplOworCisJYm91bmRhcnlfc2l6ZSA9IEFMSUdOKGRtYV9nZXRfc2VnX2JvdW5kYXJ5KGRldikgKyAxLAorCQkJUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUOworCWxpbWl0ID0gbGltaXQgPCBzaXplID8gbGltaXQgOiBzaXplOworCisJaWYgKGRvbS0+bmV4dF9iaXQgPj0gbGltaXQpCisJCWRvbS0+bmV4dF9iaXQgPSAwOworCisJYWRkcmVzcyA9IGlvbW11X2FyZWFfYWxsb2MoZG9tLT5iaXRtYXAsIGxpbWl0LCBkb20tPm5leHRfYml0LCBwYWdlcywKKwkJCTAgLCBib3VuZGFyeV9zaXplLCAwKTsKKwlpZiAoYWRkcmVzcyA9PSAtMSkKKwkJYWRkcmVzcyA9IGlvbW11X2FyZWFfYWxsb2MoZG9tLT5iaXRtYXAsIGxpbWl0LCAwLCBwYWdlcywKKwkJCQkwLCBib3VuZGFyeV9zaXplLCAwKTsKKworCWlmIChsaWtlbHkoYWRkcmVzcyAhPSAtMSkpIHsKKwkJZG9tLT5uZXh0X2JpdCA9IGFkZHJlc3MgKyBwYWdlczsKKwkJYWRkcmVzcyA8PD0gUEFHRV9TSElGVDsKKwl9IGVsc2UKKwkJYWRkcmVzcyA9IGJhZF9kbWFfYWRkcmVzczsKKworCVdBUk5fT04oKGFkZHJlc3MgKyAoUEFHRV9TSVpFKnBhZ2VzKSkgPiBkb20tPmFwZXJ0dXJlX3NpemUpOworCisJcmV0dXJuIGFkZHJlc3M7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfZnJlZV9hZGRyZXNzZXMoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJICAgdW5zaWduZWQgbG9uZyBhZGRyZXNzLAorCQkJCSAgIHVuc2lnbmVkIGludCBwYWdlcykKK3sKKwlhZGRyZXNzID4+PSBQQUdFX1NISUZUOworCWlvbW11X2FyZWFfZnJlZShkb20tPmJpdG1hcCwgYWRkcmVzcywgcGFnZXMpOworfQorCitzdGF0aWMgdTE2IGRvbWFpbl9pZF9hbGxvYyh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IGlkOworCisJd3JpdGVfbG9ja19pcnFzYXZlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCWlkID0gZmluZF9maXJzdF96ZXJvX2JpdChhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwLCBNQVhfRE9NQUlOX0lEKTsKKwlCVUdfT04oaWQgPT0gMCk7CisJaWYgKGlkID4gMCAmJiBpZCA8IE1BWF9ET01BSU5fSUQpCisJCV9fc2V0X2JpdChpZCwgYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCk7CisJZWxzZQorCQlpZCA9IDA7CisJd3JpdGVfdW5sb2NrX2lycXJlc3RvcmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gaWQ7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfcmVzZXJ2ZV9hZGRyZXNzZXMoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJICAgICAgdW5zaWduZWQgbG9uZyBzdGFydF9wYWdlLAorCQkJCSAgICAgIHVuc2lnbmVkIGludCBwYWdlcykKK3sKKwl1bnNpZ25lZCBpbnQgbGFzdF9wYWdlID0gZG9tLT5hcGVydHVyZV9zaXplID4+IFBBR0VfU0hJRlQ7CisKKwlpZiAoc3RhcnRfcGFnZSArIHBhZ2VzID4gbGFzdF9wYWdlKQorCQlwYWdlcyA9IGxhc3RfcGFnZSAtIHN0YXJ0X3BhZ2U7CisKKwlzZXRfYml0X3N0cmluZyhkb20tPmJpdG1hcCwgc3RhcnRfcGFnZSwgcGFnZXMpOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX2ZyZWVfcGFnZXRhYmxlKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbSkKK3sKKwlpbnQgaSwgajsKKwl1NjQgKnAxLCAqcDIsICpwMzsKKworCXAxID0gZG1hX2RvbS0+ZG9tYWluLnB0X3Jvb3Q7CisKKwlpZiAoIXAxKQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBpIDwgNTEyOyArK2kpIHsKKwkJaWYgKCFJT01NVV9QVEVfUFJFU0VOVChwMVtpXSkpCisJCQljb250aW51ZTsKKworCQlwMiA9IElPTU1VX1BURV9QQUdFKHAxW2ldKTsKKwkJZm9yIChqID0gMDsgaiA8IDUxMjsgKytpKSB7CisJCQlpZiAoIUlPTU1VX1BURV9QUkVTRU5UKHAyW2pdKSkKKwkJCQljb250aW51ZTsKKwkJCXAzID0gSU9NTVVfUFRFX1BBR0UocDJbal0pOworCQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXAzKTsKKwkJfQorCisJCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwMik7CisJfQorCisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXAxKTsKK30KKworc3RhdGljIHZvaWQgZG1hX29wc19kb21haW5fZnJlZShzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSkKK3sKKwlpZiAoIWRvbSkKKwkJcmV0dXJuOworCisJZG1hX29wc19mcmVlX3BhZ2V0YWJsZShkb20pOworCisJa2ZyZWUoZG9tLT5wdGVfcGFnZXMpOworCisJa2ZyZWUoZG9tLT5iaXRtYXApOworCisJa2ZyZWUoZG9tKTsKK30KKworc3RhdGljIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX29wc19kb21haW5fYWxsb2Moc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkJCQkgICB1bnNpZ25lZCBvcmRlcikKK3sKKwlzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb207CisJdW5zaWduZWQgaSwgbnVtX3B0ZV9wYWdlczsKKwl1NjQgKmwyX3BkZTsKKwl1NjQgYWRkcmVzczsKKworCS8qCisJICogQ3VycmVudGx5IHRoZSBETUEgYXBlcnR1cmUgbXVzdCBiZSBiZXR3ZWVuIDMyIE1CIGFuZCAxR0IgaW4gc2l6ZQorCSAqLworCWlmICgob3JkZXIgPCAyNSkgfHwgKG9yZGVyID4gMzApKQorCQlyZXR1cm4gTlVMTDsKKworCWRtYV9kb20gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZG1hX29wc19kb21haW4pLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9kb20pCisJCXJldHVybiBOVUxMOworCisJc3Bpbl9sb2NrX2luaXQoJmRtYV9kb20tPmRvbWFpbi5sb2NrKTsKKworCWRtYV9kb20tPmRvbWFpbi5pZCA9IGRvbWFpbl9pZF9hbGxvYygpOworCWlmIChkbWFfZG9tLT5kb21haW4uaWQgPT0gMCkKKwkJZ290byBmcmVlX2RtYV9kb207CisJZG1hX2RvbS0+ZG9tYWluLm1vZGUgPSBQQUdFX01PREVfM19MRVZFTDsKKwlkbWFfZG9tLT5kb21haW4ucHRfcm9vdCA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCWRtYV9kb20tPmRvbWFpbi5wcml2ID0gZG1hX2RvbTsKKwlpZiAoIWRtYV9kb20tPmRvbWFpbi5wdF9yb290KQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKwlkbWFfZG9tLT5hcGVydHVyZV9zaXplID0gKDFVTEwgPDwgb3JkZXIpOworCWRtYV9kb20tPmJpdG1hcCA9IGt6YWxsb2MoZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSAvIChQQUdFX1NJWkUgKiA4KSwKKwkJCQkgIEdGUF9LRVJORUwpOworCWlmICghZG1hX2RvbS0+Yml0bWFwKQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKwkvKgorCSAqIG1hcmsgdGhlIGZpcnN0IHBhZ2UgYXMgYWxsb2NhdGVkIHNvIHdlIG5ldmVyIHJldHVybiAwIGFzCisJICogYSB2YWxpZCBkbWEtYWRkcmVzcy4gU28gd2UgY2FuIHVzZSAwIGFzIGVycm9yIHZhbHVlCisJICovCisJZG1hX2RvbS0+Yml0bWFwWzBdID0gMTsKKwlkbWFfZG9tLT5uZXh0X2JpdCA9IDA7CisKKwlpZiAoaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCAmJgorCSAgICBpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0IDwgZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSkgeworCQl1bnNpZ25lZCBsb25nIHN0YXJ0cGFnZSA9IGlvbW11LT5leGNsdXNpb25fc3RhcnQgPj4gUEFHRV9TSElGVDsKKwkJaW50IHBhZ2VzID0gdG9fcGFnZXMoaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCwKKwkJCQlpb21tdS0+ZXhjbHVzaW9uX2xlbmd0aCk7CisJCWRtYV9vcHNfcmVzZXJ2ZV9hZGRyZXNzZXMoZG1hX2RvbSwgc3RhcnRwYWdlLCBwYWdlcyk7CisJfQorCisJbnVtX3B0ZV9wYWdlcyA9IGRtYV9kb20tPmFwZXJ0dXJlX3NpemUgLyAoUEFHRV9TSVpFICogNTEyKTsKKwlkbWFfZG9tLT5wdGVfcGFnZXMgPSBremFsbG9jKG51bV9wdGVfcGFnZXMgKiBzaXplb2Yodm9pZCAqKSwKKwkJCUdGUF9LRVJORUwpOworCWlmICghZG1hX2RvbS0+cHRlX3BhZ2VzKQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKworCWwyX3BkZSA9ICh1NjQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJaWYgKGwyX3BkZSA9PSBOVUxMKQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKworCWRtYV9kb20tPmRvbWFpbi5wdF9yb290WzBdID0gSU9NTVVfTDJfUERFKHZpcnRfdG9fcGh5cyhsMl9wZGUpKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fcHRlX3BhZ2VzOyArK2kpIHsKKwkJZG1hX2RvbS0+cHRlX3BhZ2VzW2ldID0gKHU2NCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKCFkbWFfZG9tLT5wdGVfcGFnZXNbaV0pCisJCQlnb3RvIGZyZWVfZG1hX2RvbTsKKwkJYWRkcmVzcyA9IHZpcnRfdG9fcGh5cyhkbWFfZG9tLT5wdGVfcGFnZXNbaV0pOworCQlsMl9wZGVbaV0gPSBJT01NVV9MMV9QREUoYWRkcmVzcyk7CisJfQorCisJcmV0dXJuIGRtYV9kb207CisKK2ZyZWVfZG1hX2RvbToKKwlkbWFfb3BzX2RvbWFpbl9mcmVlKGRtYV9kb20pOworCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbl9mb3JfZGV2aWNlKHUxNiBkZXZpZCkKK3sKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJcmVhZF9sb2NrX2lycXNhdmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisJZG9tID0gYW1kX2lvbW11X3BkX3RhYmxlW2RldmlkXTsKKwlyZWFkX3VubG9ja19pcnFyZXN0b3JlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCisJcmV0dXJuIGRvbTsKK30KKworc3RhdGljIHZvaWQgc2V0X2RldmljZV9kb21haW4oc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkgICAgICBzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbiwKKwkJCSAgICAgIHUxNiBkZXZpZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJdTY0IHB0ZV9yb290ID0gdmlydF90b19waHlzKGRvbWFpbi0+cHRfcm9vdCk7CisKKwlwdGVfcm9vdCB8PSAoZG9tYWluLT5tb2RlICYgMHgwNykgPDwgOTsKKwlwdGVfcm9vdCB8PSBJT01NVV9QVEVfSVIgfCBJT01NVV9QVEVfSVcgfCBJT01NVV9QVEVfUCB8IDI7CisKKwl3cml0ZV9sb2NrX2lycXNhdmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisJYW1kX2lvbW11X2Rldl90YWJsZVtkZXZpZF0uZGF0YVswXSA9IHB0ZV9yb290OworCWFtZF9pb21tdV9kZXZfdGFibGVbZGV2aWRdLmRhdGFbMV0gPSBwdGVfcm9vdCA+PiAzMjsKKwlhbWRfaW9tbXVfZGV2X3RhYmxlW2RldmlkXS5kYXRhWzJdID0gZG9tYWluLT5pZDsKKworCWFtZF9pb21tdV9wZF90YWJsZVtkZXZpZF0gPSBkb21haW47CisJd3JpdGVfdW5sb2NrX2lycXJlc3RvcmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisKKwlpb21tdV9xdWV1ZV9pbnZfZGV2X2VudHJ5KGlvbW11LCBkZXZpZCk7CisKKwlpb21tdS0+bmVlZF9zeW5jID0gMTsKK30KKworc3RhdGljIGludCBnZXRfZGV2aWNlX3Jlc291cmNlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJc3RydWN0IGFtZF9pb21tdSAqKmlvbW11LAorCQkJCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqKmRvbWFpbiwKKwkJCQl1MTYgKmJkZikKK3sKKwlzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb207CisJc3RydWN0IHBjaV9kZXYgKnBjaWRldjsKKwl1MTYgX2JkZjsKKworCUJVR19PTighZGV2IHx8IGRldi0+YnVzICE9ICZwY2lfYnVzX3R5cGUgfHwgIWRldi0+ZG1hX21hc2spOworCisJcGNpZGV2ID0gdG9fcGNpX2RldihkZXYpOworCV9iZGYgPSAocGNpZGV2LT5idXMtPm51bWJlciA8PCA4KSB8IHBjaWRldi0+ZGV2Zm47CisKKwlpZiAoX2JkZiA+PSBhbWRfaW9tbXVfbGFzdF9iZGYpIHsKKwkJKmlvbW11ID0gTlVMTDsKKwkJKmRvbWFpbiA9IE5VTEw7CisJCSpiZGYgPSAweGZmZmY7CisJCXJldHVybiAwOworCX0KKworCSpiZGYgPSBhbWRfaW9tbXVfYWxpYXNfdGFibGVbX2JkZl07CisKKwkqaW9tbXUgPSBhbWRfaW9tbXVfcmxvb2t1cF90YWJsZVsqYmRmXTsKKwlpZiAoKmlvbW11ID09IE5VTEwpCisJCXJldHVybiAwOworCWRtYV9kb20gPSAoKmlvbW11KS0+ZGVmYXVsdF9kb207CisJKmRvbWFpbiA9IGRvbWFpbl9mb3JfZGV2aWNlKCpiZGYpOworCWlmICgqZG9tYWluID09IE5VTEwpIHsKKwkJKmRvbWFpbiA9ICZkbWFfZG9tLT5kb21haW47CisJCXNldF9kZXZpY2VfZG9tYWluKCppb21tdSwgKmRvbWFpbiwgKmJkZik7CisJCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogVXNpbmcgcHJvdGVjdGlvbiBkb21haW4gJWQgZm9yICIKKwkJCQkiZGV2aWNlICIsICgqZG9tYWluKS0+aWQpOworCQlwcmludF9kZXZpZChfYmRmLCAxKTsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGRtYV9hZGRyX3QgZG1hX29wc19kb21haW5fbWFwKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJCSAgICAgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJICAgICB1bnNpZ25lZCBsb25nIGFkZHJlc3MsCisJCQkJICAgICBwaHlzX2FkZHJfdCBwYWRkciwKKwkJCQkgICAgIGludCBkaXJlY3Rpb24pCit7CisJdTY0ICpwdGUsIF9fcHRlOworCisJV0FSTl9PTihhZGRyZXNzID4gZG9tLT5hcGVydHVyZV9zaXplKTsKKworCXBhZGRyICY9IFBBR0VfTUFTSzsKKworCXB0ZSAgPSBkb20tPnB0ZV9wYWdlc1tJT01NVV9QVEVfTDFfSU5ERVgoYWRkcmVzcyldOworCXB0ZSArPSBJT01NVV9QVEVfTDBfSU5ERVgoYWRkcmVzcyk7CisKKwlfX3B0ZSA9IHBhZGRyIHwgSU9NTVVfUFRFX1AgfCBJT01NVV9QVEVfRkM7CisKKwlpZiAoZGlyZWN0aW9uID09IERNQV9UT19ERVZJQ0UpCisJCV9fcHRlIHw9IElPTU1VX1BURV9JUjsKKwllbHNlIGlmIChkaXJlY3Rpb24gPT0gRE1BX0ZST01fREVWSUNFKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVc7CisJZWxzZSBpZiAoZGlyZWN0aW9uID09IERNQV9CSURJUkVDVElPTkFMKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVIgfCBJT01NVV9QVEVfSVc7CisKKwlXQVJOX09OKCpwdGUpOworCisJKnB0ZSA9IF9fcHRlOworCisJcmV0dXJuIChkbWFfYWRkcl90KWFkZHJlc3M7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfZG9tYWluX3VubWFwKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJCSBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSwKKwkJCQkgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQoreworCXU2NCAqcHRlOworCisJaWYgKGFkZHJlc3MgPj0gZG9tLT5hcGVydHVyZV9zaXplKQorCQlyZXR1cm47CisKKwlXQVJOX09OKGFkZHJlc3MgJiAweGZmZlVMTCB8fCBhZGRyZXNzID4gZG9tLT5hcGVydHVyZV9zaXplKTsKKworCXB0ZSAgPSBkb20tPnB0ZV9wYWdlc1tJT01NVV9QVEVfTDFfSU5ERVgoYWRkcmVzcyldOworCXB0ZSArPSBJT01NVV9QVEVfTDBfSU5ERVgoYWRkcmVzcyk7CisKKwlXQVJOX09OKCEqcHRlKTsKKworCSpwdGUgPSAwVUxMOworfQorCitzdGF0aWMgZG1hX2FkZHJfdCBfX21hcF9zaW5nbGUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJICAgICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJICAgICAgIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbSwKKwkJCSAgICAgICBwaHlzX2FkZHJfdCBwYWRkciwKKwkJCSAgICAgICBzaXplX3Qgc2l6ZSwKKwkJCSAgICAgICBpbnQgZGlyKQoreworCWRtYV9hZGRyX3Qgb2Zmc2V0ID0gcGFkZHIgJiB+UEFHRV9NQVNLOworCWRtYV9hZGRyX3QgYWRkcmVzcywgc3RhcnQ7CisJdW5zaWduZWQgaW50IHBhZ2VzOworCWludCBpOworCisJcGFnZXMgPSB0b19wYWdlcyhwYWRkciwgc2l6ZSk7CisJcGFkZHIgJj0gUEFHRV9NQVNLOworCisJYWRkcmVzcyA9IGRtYV9vcHNfYWxsb2NfYWRkcmVzc2VzKGRldiwgZG1hX2RvbSwgcGFnZXMpOworCWlmICh1bmxpa2VseShhZGRyZXNzID09IGJhZF9kbWFfYWRkcmVzcykpCisJCWdvdG8gb3V0OworCisJc3RhcnQgPSBhZGRyZXNzOworCWZvciAoaSA9IDA7IGkgPCBwYWdlczsgKytpKSB7CisJCWRtYV9vcHNfZG9tYWluX21hcChpb21tdSwgZG1hX2RvbSwgc3RhcnQsIHBhZGRyLCBkaXIpOworCQlwYWRkciArPSBQQUdFX1NJWkU7CisJCXN0YXJ0ICs9IFBBR0VfU0laRTsKKwl9CisJYWRkcmVzcyArPSBvZmZzZXQ7CisKK291dDoKKwlyZXR1cm4gYWRkcmVzczsKK30KKworc3RhdGljIHZvaWQgX191bm1hcF9zaW5nbGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkgICBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkgICBkbWFfYWRkcl90IGRtYV9hZGRyLAorCQkJICAgc2l6ZV90IHNpemUsCisJCQkgICBpbnQgZGlyKQoreworCWRtYV9hZGRyX3QgaSwgc3RhcnQ7CisJdW5zaWduZWQgaW50IHBhZ2VzOworCisJaWYgKChkbWFfYWRkciA9PSAwKSB8fCAoZG1hX2FkZHIgKyBzaXplID4gZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSkpCisJCXJldHVybjsKKworCXBhZ2VzID0gdG9fcGFnZXMoZG1hX2FkZHIsIHNpemUpOworCWRtYV9hZGRyICY9IFBBR0VfTUFTSzsKKwlzdGFydCA9IGRtYV9hZGRyOworCisJZm9yIChpID0gMDsgaSA8IHBhZ2VzOyArK2kpIHsKKwkJZG1hX29wc19kb21haW5fdW5tYXAoaW9tbXUsIGRtYV9kb20sIHN0YXJ0KTsKKwkJc3RhcnQgKz0gUEFHRV9TSVpFOworCX0KKworCWRtYV9vcHNfZnJlZV9hZGRyZXNzZXMoZG1hX2RvbSwgZG1hX2FkZHIsIHBhZ2VzKTsKK30KKworc3RhdGljIGRtYV9hZGRyX3QgbWFwX3NpbmdsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHBoeXNfYWRkcl90IHBhZGRyLAorCQkJICAgICBzaXplX3Qgc2l6ZSwgaW50IGRpcikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXUxNiBkZXZpZDsKKwlkbWFfYWRkcl90IGFkZHI7CisKKwlnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKTsKKworCWlmIChpb21tdSA9PSBOVUxMIHx8IGRvbWFpbiA9PSBOVUxMKQorCQlyZXR1cm4gKGRtYV9hZGRyX3QpcGFkZHI7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisJYWRkciA9IF9fbWFwX3NpbmdsZShkZXYsIGlvbW11LCBkb21haW4tPnByaXYsIHBhZGRyLCBzaXplLCBkaXIpOworCWlmIChhZGRyID09IGJhZF9kbWFfYWRkcmVzcykKKwkJZ290byBvdXQ7CisKKwlpZiAoaW9tbXVfaGFzX25wY2FjaGUoaW9tbXUpKQorCQlpb21tdV9mbHVzaF9wYWdlcyhpb21tdSwgZG9tYWluLT5pZCwgYWRkciwgc2l6ZSk7CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIGFkZHI7Cit9CisKK3N0YXRpYyB2b2lkIHVubWFwX3NpbmdsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3QgZG1hX2FkZHIsCisJCQkgc2l6ZV90IHNpemUsIGludCBkaXIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisKKwlpZiAoIWdldF9kZXZpY2VfcmVzb3VyY2VzKGRldiwgJmlvbW11LCAmZG9tYWluLCAmZGV2aWQpKQorCQlyZXR1cm47CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlfX3VubWFwX3NpbmdsZShpb21tdSwgZG9tYWluLT5wcml2LCBkbWFfYWRkciwgc2l6ZSwgZGlyKTsKKworCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBkbWFfYWRkciwgc2l6ZSk7CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgaW50IG1hcF9zZ19ub19pb21tdShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0LAorCQkJICAgaW50IG5lbGVtcywgaW50IGRpcikKK3sKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnM7CisJaW50IGk7CisKKwlmb3JfZWFjaF9zZyhzZ2xpc3QsIHMsIG5lbGVtcywgaSkgeworCQlzLT5kbWFfYWRkcmVzcyA9IChkbWFfYWRkcl90KXNnX3BoeXMocyk7CisJCXMtPmRtYV9sZW5ndGggID0gcy0+bGVuZ3RoOworCX0KKworCXJldHVybiBuZWxlbXM7Cit9CisKK3N0YXRpYyBpbnQgbWFwX3NnKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ2xpc3QsCisJCSAgaW50IG5lbGVtcywgaW50IGRpcikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXUxNiBkZXZpZDsKKwlpbnQgaTsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnM7CisJcGh5c19hZGRyX3QgcGFkZHI7CisJaW50IG1hcHBlZF9lbGVtcyA9IDA7CisKKwlnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKTsKKworCWlmICghaW9tbXUgfHwgIWRvbWFpbikKKwkJcmV0dXJuIG1hcF9zZ19ub19pb21tdShkZXYsIHNnbGlzdCwgbmVsZW1zLCBkaXIpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJZm9yX2VhY2hfc2coc2dsaXN0LCBzLCBuZWxlbXMsIGkpIHsKKwkJcGFkZHIgPSBzZ19waHlzKHMpOworCisJCXMtPmRtYV9hZGRyZXNzID0gX19tYXBfc2luZ2xlKGRldiwgaW9tbXUsIGRvbWFpbi0+cHJpdiwKKwkJCQkJICAgICAgcGFkZHIsIHMtPmxlbmd0aCwgZGlyKTsKKworCQlpZiAocy0+ZG1hX2FkZHJlc3MpIHsKKwkJCXMtPmRtYV9sZW5ndGggPSBzLT5sZW5ndGg7CisJCQltYXBwZWRfZWxlbXMrKzsKKwkJfSBlbHNlCisJCQlnb3RvIHVubWFwOworCQlpZiAoaW9tbXVfaGFzX25wY2FjaGUoaW9tbXUpKQorCQkJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIHMtPmRtYV9hZGRyZXNzLAorCQkJCQkgIHMtPmRtYV9sZW5ndGgpOworCX0KKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCitvdXQ6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gbWFwcGVkX2VsZW1zOwordW5tYXA6CisJZm9yX2VhY2hfc2coc2dsaXN0LCBzLCBtYXBwZWRfZWxlbXMsIGkpIHsKKwkJaWYgKHMtPmRtYV9hZGRyZXNzKQorCQkJX191bm1hcF9zaW5nbGUoaW9tbXUsIGRvbWFpbi0+cHJpdiwgcy0+ZG1hX2FkZHJlc3MsCisJCQkJICAgICAgIHMtPmRtYV9sZW5ndGgsIGRpcik7CisJCXMtPmRtYV9hZGRyZXNzID0gcy0+ZG1hX2xlbmd0aCA9IDA7CisJfQorCisJbWFwcGVkX2VsZW1zID0gMDsKKworCWdvdG8gb3V0OworfQorCitzdGF0aWMgdm9pZCB1bm1hcF9zZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0LAorCQkgICAgIGludCBuZWxlbXMsIGludCBkaXIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnM7CisJdTE2IGRldmlkOworCWludCBpOworCisJaWYgKCFnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKSkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJZm9yX2VhY2hfc2coc2dsaXN0LCBzLCBuZWxlbXMsIGkpIHsKKwkJX191bm1hcF9zaW5nbGUoaW9tbXUsIGRvbWFpbi0+cHJpdiwgcy0+ZG1hX2FkZHJlc3MsCisJCQkgICAgICAgcy0+ZG1hX2xlbmd0aCwgZGlyKTsKKwkJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIHMtPmRtYV9hZGRyZXNzLAorCQkJCSAgcy0+ZG1hX2xlbmd0aCk7CisJCXMtPmRtYV9hZGRyZXNzID0gcy0+ZG1hX2xlbmd0aCA9IDA7CisJfQorCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgKmFsbG9jX2NvaGVyZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCisJCQkgICAgZG1hX2FkZHJfdCAqZG1hX2FkZHIsIGdmcF90IGZsYWcpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl2b2lkICp2aXJ0X2FkZHI7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJdTE2IGRldmlkOworCXBoeXNfYWRkcl90IHBhZGRyOworCisJdmlydF9hZGRyID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKGZsYWcsIGdldF9vcmRlcihzaXplKSk7CisJaWYgKCF2aXJ0X2FkZHIpCisJCXJldHVybiAwOworCisJbWVtc2V0KHZpcnRfYWRkciwgMCwgc2l6ZSk7CisJcGFkZHIgPSB2aXJ0X3RvX3BoeXModmlydF9hZGRyKTsKKworCWdldF9kZXZpY2VfcmVzb3VyY2VzKGRldiwgJmlvbW11LCAmZG9tYWluLCAmZGV2aWQpOworCisJaWYgKCFpb21tdSB8fCAhZG9tYWluKSB7CisJCSpkbWFfYWRkciA9IChkbWFfYWRkcl90KXBhZGRyOworCQlyZXR1cm4gdmlydF9hZGRyOworCX0KKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCSpkbWFfYWRkciA9IF9fbWFwX3NpbmdsZShkZXYsIGlvbW11LCBkb21haW4tPnByaXYsIHBhZGRyLAorCQkJCSBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7CisKKwlpZiAoKmRtYV9hZGRyID09IGJhZF9kbWFfYWRkcmVzcykgeworCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKXZpcnRfYWRkciwgZ2V0X29yZGVyKHNpemUpKTsKKwkJdmlydF9hZGRyID0gTlVMTDsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKGlvbW11X2hhc19ucGNhY2hlKGlvbW11KSkKKwkJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsICpkbWFfYWRkciwgc2l6ZSk7CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHZpcnRfYWRkcjsKK30KKworc3RhdGljIHZvaWQgZnJlZV9jb2hlcmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHNpemVfdCBzaXplLAorCQkJICB2b2lkICp2aXJ0X2FkZHIsIGRtYV9hZGRyX3QgZG1hX2FkZHIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisKKwlnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKTsKKworCWlmICghaW9tbXUgfHwgIWRvbWFpbikKKwkJZ290byBmcmVlX21lbTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCV9fdW5tYXBfc2luZ2xlKGlvbW11LCBkb21haW4tPnByaXYsIGRtYV9hZGRyLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7CisJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIGRtYV9hZGRyLCBzaXplKTsKKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKK2ZyZWVfbWVtOgorCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpdmlydF9hZGRyLCBnZXRfb3JkZXIoc2l6ZSkpOworfQorCisvKgorICogSWYgdGhlIGRyaXZlciBjb3JlIGluZm9ybXMgdGhlIERNQSBsYXllciBpZiBhIGRyaXZlciBncmFicyBhIGRldmljZQorICogd2UgZG9uJ3QgbmVlZCB0byBwcmVhbGxvY2F0ZSB0aGUgcHJvdGVjdGlvbiBkb21haW5zIGFueW1vcmUuCisgKiBGb3Igbm93IHdlIGhhdmUgdG8uCisgKi8KK3ZvaWQgcHJlYWxsb2NfcHJvdGVjdGlvbl9kb21haW5zKHZvaWQpCit7CisJc3RydWN0IHBjaV9kZXYgKmRldiA9IE5VTEw7CisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCWludCBvcmRlciA9IGFtZF9pb21tdV9hcGVydHVyZV9vcmRlcjsKKwl1MTYgZGV2aWQ7CisKKwl3aGlsZSAoKGRldiA9IHBjaV9nZXRfZGV2aWNlKFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIGRldikpICE9IE5VTEwpIHsKKwkJZGV2aWQgPSAoZGV2LT5idXMtPm51bWJlciA8PCA4KSB8IGRldi0+ZGV2Zm47CisJCWlmIChkZXZpZCA+PSBhbWRfaW9tbXVfbGFzdF9iZGYpCisJCQljb250aW51ZTsKKwkJZGV2aWQgPSBhbWRfaW9tbXVfYWxpYXNfdGFibGVbZGV2aWRdOworCQlpZiAoZG9tYWluX2Zvcl9kZXZpY2UoZGV2aWQpKQorCQkJY29udGludWU7CisJCWlvbW11ID0gYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbZGV2aWRdOworCQlpZiAoIWlvbW11KQorCQkJY29udGludWU7CisJCWRtYV9kb20gPSBkbWFfb3BzX2RvbWFpbl9hbGxvYyhpb21tdSwgb3JkZXIpOworCQlpZiAoIWRtYV9kb20pCisJCQljb250aW51ZTsKKwkJaW5pdF91bml0eV9tYXBwaW5nc19mb3JfZGV2aWNlKGRtYV9kb20sIGRldmlkKTsKKwkJc2V0X2RldmljZV9kb21haW4oaW9tbXUsICZkbWFfZG9tLT5kb21haW4sIGRldmlkKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VOiBBbGxvY2F0ZWQgZG9tYWluICVkIGZvciBkZXZpY2UgIiwKKwkJICAgICAgIGRtYV9kb20tPmRvbWFpbi5pZCk7CisJCXByaW50X2RldmlkKGRldmlkLCAxKTsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZG1hX21hcHBpbmdfb3BzIGFtZF9pb21tdV9kbWFfb3BzID0geworCS5hbGxvY19jb2hlcmVudCA9IGFsbG9jX2NvaGVyZW50LAorCS5mcmVlX2NvaGVyZW50ID0gZnJlZV9jb2hlcmVudCwKKwkubWFwX3NpbmdsZSA9IG1hcF9zaW5nbGUsCisJLnVubWFwX3NpbmdsZSA9IHVubWFwX3NpbmdsZSwKKwkubWFwX3NnID0gbWFwX3NnLAorCS51bm1hcF9zZyA9IHVubWFwX3NnLAorfTsKKworaW50IF9faW5pdCBhbWRfaW9tbXVfaW5pdF9kbWFfb3BzKHZvaWQpCit7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJaW50IG9yZGVyID0gYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyOworCWludCByZXQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlvbW11LCAmYW1kX2lvbW11X2xpc3QsIGxpc3QpIHsKKwkJaW9tbXUtPmRlZmF1bHRfZG9tID0gZG1hX29wc19kb21haW5fYWxsb2MoaW9tbXUsIG9yZGVyKTsKKwkJaWYgKGlvbW11LT5kZWZhdWx0X2RvbSA9PSBOVUxMKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJldCA9IGlvbW11X2luaXRfdW5pdHlfbWFwcGluZ3MoaW9tbXUpOworCQlpZiAocmV0KQorCQkJZ290byBmcmVlX2RvbWFpbnM7CisJfQorCisJaWYgKGFtZF9pb21tdV9pc29sYXRlKQorCQlwcmVhbGxvY19wcm90ZWN0aW9uX2RvbWFpbnMoKTsKKworCWlvbW11X2RldGVjdGVkID0gMTsKKwlmb3JjZV9pb21tdSA9IDE7CisJYmFkX2RtYV9hZGRyZXNzID0gMDsKKyNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQorCWdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQgPSAxOworCWdhcnRfaW9tbXVfYXBlcnR1cmUgPSAwOworI2VuZGlmCisKKwlkbWFfb3BzID0gJmFtZF9pb21tdV9kbWFfb3BzOworCisJcmV0dXJuIDA7CisKK2ZyZWVfZG9tYWluczoKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW9tbXUsICZhbWRfaW9tbXVfbGlzdCwgbGlzdCkgeworCQlpZiAoaW9tbXUtPmRlZmF1bHRfZG9tKQorCQkJZG1hX29wc19kb21haW5fZnJlZShpb21tdS0+ZGVmYXVsdF9kb20pOworCX0KKworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11X2luaXQuYyBiL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXVfaW5pdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMTNlNDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11X2luaXQuYwpAQCAtMCwwICsxLDg3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogSm9lcmcgUm9lZGVsIDxqb2VyZy5yb2VkZWxAYW1kLmNvbT4KKyAqICAgICAgICAgTGVvIER1cmFuIDxsZW8uZHVyYW5AYW1kLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkCisgKiBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2dmcC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgorI2luY2x1ZGUgPGFzbS9hbWRfaW9tbXVfdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11Lmg+CisjaW5jbHVkZSA8YXNtL2dhcnQuaD4KKworLyoKKyAqIGRlZmluaXRpb25zIGZvciB0aGUgQUNQSSBzY2FubmluZyBjb2RlCisgKi8KKyNkZWZpbmUgVVBEQVRFX0xBU1RfQkRGKHgpIGRvIHtcCisJaWYgKCh4KSA+IGFtZF9pb21tdV9sYXN0X2JkZikgXAorCQlhbWRfaW9tbXVfbGFzdF9iZGYgPSAoeCk7IFwKKwl9IHdoaWxlICgwKTsKKworI2RlZmluZSBERVZJRChidXMsIGRldmZuKSAoKChidXMpIDw8IDgpIHwgKGRldmZuKSkKKyNkZWZpbmUgUENJX0JVUyh4KSAoKCh4KSA+PiA4KSAmIDB4ZmYpCisjZGVmaW5lIElWUlNfSEVBREVSX0xFTkdUSCA0OAorI2RlZmluZSBUQkxfU0laRSh4KSAoMSA8PCAoUEFHRV9TSElGVCArIGdldF9vcmRlcihhbWRfaW9tbXVfbGFzdF9iZGYgKiAoeCkpKSkKKworI2RlZmluZSBBQ1BJX0lWSERfVFlQRSAgICAgICAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgQUNQSV9JVk1EX1RZUEVfQUxMICAgICAgICAgICAgICAweDIwCisjZGVmaW5lIEFDUElfSVZNRF9UWVBFICAgICAgICAgICAgICAgICAgMHgyMQorI2RlZmluZSBBQ1BJX0lWTURfVFlQRV9SQU5HRSAgICAgICAgICAgIDB4MjIKKworI2RlZmluZSBJVkhEX0RFVl9BTEwgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgSVZIRF9ERVZfU0VMRUNUICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lIElWSERfREVWX1NFTEVDVF9SQU5HRV9TVEFSVCAgICAgMHgwMworI2RlZmluZSBJVkhEX0RFVl9SQU5HRV9FTkQgICAgICAgICAgICAgIDB4MDQKKyNkZWZpbmUgSVZIRF9ERVZfQUxJQVMgICAgICAgICAgICAgICAgICAweDQyCisjZGVmaW5lIElWSERfREVWX0FMSUFTX1JBTkdFICAgICAgICAgICAgMHg0MworI2RlZmluZSBJVkhEX0RFVl9FWFRfU0VMRUNUICAgICAgICAgICAgIDB4NDYKKyNkZWZpbmUgSVZIRF9ERVZfRVhUX1NFTEVDVF9SQU5HRSAgICAgICAweDQ3CisKKyNkZWZpbmUgSVZIRF9GTEFHX0hUX1RVTl9FTiAgICAgICAgICAgICAweDAwCisjZGVmaW5lIElWSERfRkxBR19QQVNTUFdfRU4gICAgICAgICAgICAgMHgwMQorI2RlZmluZSBJVkhEX0ZMQUdfUkVTUEFTU1BXX0VOICAgICAgICAgIDB4MDIKKyNkZWZpbmUgSVZIRF9GTEFHX0lTT0NfRU4gICAgICAgICAgICAgICAweDAzCisKKyNkZWZpbmUgSVZNRF9GTEFHX0VYQ0xfUkFOR0UgICAgICAgICAgICAweDA4CisjZGVmaW5lIElWTURfRkxBR19VTklUWV9NQVAgICAgICAgICAgICAgMHgwMQorCisjZGVmaW5lIEFDUElfREVWRkxBR19JTklUUEFTUyAgICAgICAgICAgMHgwMQorI2RlZmluZSBBQ1BJX0RFVkZMQUdfRVhUSU5UICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX05NSSAgICAgICAgICAgICAgICAweDA0CisjZGVmaW5lIEFDUElfREVWRkxBR19TWVNNR1QxICAgICAgICAgICAgMHgxMAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfU1lTTUdUMiAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX0xJTlQwICAgICAgICAgICAgICAweDQwCisjZGVmaW5lIEFDUElfREVWRkxBR19MSU5UMSAgICAgICAgICAgICAgMHg4MAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfQVRTRElTICAgICAgICAgICAgIDB4MTAwMDAwMDAKKworc3RydWN0IGl2aGRfaGVhZGVyIHsKKwl1OCB0eXBlOworCXU4IGZsYWdzOworCXUxNiBsZW5ndGg7CisJdTE2IGRldmlkOworCXUxNiBjYXBfcHRyOworCXU2NCBtbWlvX3BoeXM7CisJdTE2IHBjaV9zZWc7CisJdTE2IGluZm87CisJdTMyIHJlc2VydmVkOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGl2aGRfZW50cnkgeworCXU4IHR5cGU7CisJdTE2IGRldmlkOworCXU4IGZsYWdzOworCXUzMiBleHQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgaXZtZF9oZWFkZXIgeworCXU4IHR5cGU7CisJdTggZmxhZ3M7CisJdTE2IGxlbmd0aDsKKwl1MTYgZGV2aWQ7CisJdTE2IGF1eDsKKwl1NjQgcmVzdjsKKwl1NjQgcmFuZ2Vfc3RhcnQ7CisJdTY0IHJhbmdlX2xlbmd0aDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBhbWRfaW9tbXVfZGV0ZWN0ZWQ7CisKK3UxNiBhbWRfaW9tbXVfbGFzdF9iZGY7CitzdHJ1Y3QgbGlzdF9oZWFkIGFtZF9pb21tdV91bml0eV9tYXA7Cit1bnNpZ25lZCBhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyNjsKK2ludCBhbWRfaW9tbXVfaXNvbGF0ZTsKKworc3RydWN0IGxpc3RfaGVhZCBhbWRfaW9tbXVfbGlzdDsKK3N0cnVjdCBkZXZfdGFibGVfZW50cnkgKmFtZF9pb21tdV9kZXZfdGFibGU7Cit1MTYgKmFtZF9pb21tdV9hbGlhc190YWJsZTsKK3N0cnVjdCBhbWRfaW9tbXUgKiphbWRfaW9tbXVfcmxvb2t1cF90YWJsZTsKK3N0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqKmFtZF9pb21tdV9wZF90YWJsZTsKK3Vuc2lnbmVkIGxvbmcgKmFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXA7CisKK3N0YXRpYyB1MzIgZGV2X3RhYmxlX3NpemU7CitzdGF0aWMgdTMyIGFsaWFzX3RhYmxlX3NpemU7CitzdGF0aWMgdTMyIHJsb29rdXBfdGFibGVfc2l6ZTsKKworc3RhdGljIHZvaWQgX19pbml0IGlvbW11X3NldF9leGNsdXNpb25fcmFuZ2Uoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJdTY0IHN0YXJ0ID0gaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCAmIFBBR0VfTUFTSzsKKwl1NjQgbGltaXQgPSAoc3RhcnQgKyBpb21tdS0+ZXhjbHVzaW9uX2xlbmd0aCkgJiBQQUdFX01BU0s7CisJdTY0IGVudHJ5OworCisJaWYgKCFpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0KQorCQlyZXR1cm47CisKKwllbnRyeSA9IHN0YXJ0IHwgTU1JT19FWENMX0VOQUJMRV9NQVNLOworCW1lbWNweV90b2lvKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0VYQ0xfQkFTRV9PRkZTRVQsCisJCQkmZW50cnksIHNpemVvZihlbnRyeSkpOworCisJZW50cnkgPSBsaW1pdDsKKwltZW1jcHlfdG9pbyhpb21tdS0+bW1pb19iYXNlICsgTU1JT19FWENMX0xJTUlUX09GRlNFVCwKKwkJCSZlbnRyeSwgc2l6ZW9mKGVudHJ5KSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9zZXRfZGV2aWNlX3RhYmxlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXUzMiBlbnRyeTsKKworCUJVR19PTihpb21tdS0+bW1pb19iYXNlID09IE5VTEwpOworCisJZW50cnkgPSB2aXJ0X3RvX3BoeXMoYW1kX2lvbW11X2Rldl90YWJsZSk7CisJZW50cnkgfD0gKGRldl90YWJsZV9zaXplID4+IDEyKSAtIDE7CisJbWVtY3B5X3RvaW8oaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fREVWX1RBQkxFX09GRlNFVCwKKwkJCSZlbnRyeSwgc2l6ZW9mKGVudHJ5KSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9mZWF0dXJlX2VuYWJsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTggYml0KQoreworCXUzMiBjdHJsOworCisJY3RybCA9IHJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NPTlRST0xfT0ZGU0VUKTsKKwljdHJsIHw9ICgxIDw8IGJpdCk7CisJd3JpdGVsKGN0cmwsIGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NPTlRST0xfT0ZGU0VUKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGlvbW11X2ZlYXR1cmVfZGlzYWJsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTggYml0KQoreworCXUzMiBjdHJsOworCisJY3RybCA9ICh1NjQpcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ09OVFJPTF9PRkZTRVQpOworCWN0cmwgJj0gfigxIDw8IGJpdCk7CisJd3JpdGVsKGN0cmwsIGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NPTlRST0xfT0ZGU0VUKTsKK30KKwordm9pZCBfX2luaXQgaW9tbXVfZW5hYmxlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogRW5hYmxpbmcgSU9NTVUgYXQgIik7CisJcHJpbnRfZGV2aWQoaW9tbXUtPmRldmlkLCAwKTsKKwlwcmludGsoIiBjYXAgMHglaHhcbiIsIGlvbW11LT5jYXBfcHRyKTsKKworCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0lPTU1VX0VOKTsKK30KKworc3RhdGljIHU4ICogX19pbml0IGlvbW11X21hcF9tbWlvX3NwYWNlKHU2NCBhZGRyZXNzKQoreworCXU4ICpyZXQ7CisKKwlpZiAoIXJlcXVlc3RfbWVtX3JlZ2lvbihhZGRyZXNzLCBNTUlPX1JFR0lPTl9MRU5HVEgsICJhbWRfaW9tbXUiKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXQgPSBpb3JlbWFwX25vY2FjaGUoYWRkcmVzcywgTU1JT19SRUdJT05fTEVOR1RIKTsKKwlpZiAocmV0ICE9IE5VTEwpCisJCXJldHVybiByZXQ7CisKKwlyZWxlYXNlX21lbV9yZWdpb24oYWRkcmVzcywgTU1JT19SRUdJT05fTEVOR1RIKTsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfdW5tYXBfbW1pb19zcGFjZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlpZiAoaW9tbXUtPm1taW9fYmFzZSkKKwkJaW91bm1hcChpb21tdS0+bW1pb19iYXNlKTsKKwlyZWxlYXNlX21lbV9yZWdpb24oaW9tbXUtPm1taW9fcGh5cywgTU1JT19SRUdJT05fTEVOR1RIKTsKK30KKworc3RhdGljIGludCBfX2luaXQgZmluZF9sYXN0X2RldmlkX29uX3BjaShpbnQgYnVzLCBpbnQgZGV2LCBpbnQgZm4sIGludCBjYXBfcHRyKQoreworCXUzMiBjYXA7CisKKwljYXAgPSByZWFkX3BjaV9jb25maWcoYnVzLCBkZXYsIGZuLCBjYXBfcHRyK01NSU9fUkFOR0VfT0ZGU0VUKTsKKwlVUERBVEVfTEFTVF9CREYoREVWSUQoTU1JT19HRVRfQlVTKGNhcCksIE1NSU9fR0VUX0xEKGNhcCkpKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmaW5kX2xhc3RfZGV2aWRfZnJvbV9pdmhkKHN0cnVjdCBpdmhkX2hlYWRlciAqaCkKK3sKKwl1OCAqcCA9ICh2b2lkICopaCwgKmVuZCA9ICh2b2lkICopaDsKKwlzdHJ1Y3QgaXZoZF9lbnRyeSAqZGV2OworCisJcCArPSBzaXplb2YoKmgpOworCWVuZCArPSBoLT5sZW5ndGg7CisKKwlmaW5kX2xhc3RfZGV2aWRfb25fcGNpKFBDSV9CVVMoaC0+ZGV2aWQpLAorCQkJUENJX1NMT1QoaC0+ZGV2aWQpLAorCQkJUENJX0ZVTkMoaC0+ZGV2aWQpLAorCQkJaC0+Y2FwX3B0cik7CisKKwl3aGlsZSAocCA8IGVuZCkgeworCQlkZXYgPSAoc3RydWN0IGl2aGRfZW50cnkgKilwOworCQlzd2l0Y2ggKGRldi0+dHlwZSkgeworCQljYXNlIElWSERfREVWX1NFTEVDVDoKKwkJY2FzZSBJVkhEX0RFVl9SQU5HRV9FTkQ6CisJCWNhc2UgSVZIRF9ERVZfQUxJQVM6CisJCWNhc2UgSVZIRF9ERVZfRVhUX1NFTEVDVDoKKwkJCVVQREFURV9MQVNUX0JERihkZXYtPmRldmlkKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJcCArPSAweDA0IDw8ICgqcCA+PiA2KTsKKwl9CisKKwlXQVJOX09OKHAgIT0gZW5kKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmaW5kX2xhc3RfZGV2aWRfYWNwaShzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlKQoreworCWludCBpOworCXU4IGNoZWNrc3VtID0gMCwgKnAgPSAodTggKil0YWJsZSwgKmVuZCA9ICh1OCAqKXRhYmxlOworCXN0cnVjdCBpdmhkX2hlYWRlciAqaDsKKworCS8qCisJICogVmFsaWRhdGUgY2hlY2tzdW0gaGVyZSBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIGl0IHdoZW4KKwkgKiB3ZSBhY3R1YWxseSBwYXJzZSB0aGUgdGFibGUKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgdGFibGUtPmxlbmd0aDsgKytpKQorCQljaGVja3N1bSArPSBwW2ldOworCWlmIChjaGVja3N1bSAhPSAwKQorCQkvKiBBQ1BJIHRhYmxlIGNvcnJ1cHQgKi8KKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlwICs9IElWUlNfSEVBREVSX0xFTkdUSDsKKworCWVuZCArPSB0YWJsZS0+bGVuZ3RoOworCXdoaWxlIChwIDwgZW5kKSB7CisJCWggPSAoc3RydWN0IGl2aGRfaGVhZGVyICopcDsKKwkJc3dpdGNoIChoLT50eXBlKSB7CisJCWNhc2UgQUNQSV9JVkhEX1RZUEU6CisJCQlmaW5kX2xhc3RfZGV2aWRfZnJvbV9pdmhkKGgpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCQlwICs9IGgtPmxlbmd0aDsKKwl9CisJV0FSTl9PTihwICE9IGVuZCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHU4ICogX19pbml0IGFsbG9jX2NvbW1hbmRfYnVmZmVyKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXU4ICpjbWRfYnVmID0gKHU4ICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJZ2V0X29yZGVyKENNRF9CVUZGRVJfU0laRSkpOworCXU2NCBlbnRyeSA9IDA7CisKKwlpZiAoY21kX2J1ZiA9PSBOVUxMKQorCQlyZXR1cm4gTlVMTDsKKworCWlvbW11LT5jbWRfYnVmX3NpemUgPSBDTURfQlVGRkVSX1NJWkU7CisKKwltZW1zZXQoY21kX2J1ZiwgMCwgQ01EX0JVRkZFUl9TSVpFKTsKKworCWVudHJ5ID0gKHU2NCl2aXJ0X3RvX3BoeXMoY21kX2J1Zik7CisJZW50cnkgfD0gTU1JT19DTURfU0laRV81MTI7CisJbWVtY3B5X3RvaW8oaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ01EX0JVRl9PRkZTRVQsCisJCQkmZW50cnksIHNpemVvZihlbnRyeSkpOworCisJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfQ01EQlVGX0VOKTsKKworCXJldHVybiBjbWRfYnVmOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnJlZV9jb21tYW5kX2J1ZmZlcihzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlpZiAoaW9tbXUtPmNtZF9idWYpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpaW9tbXUtPmNtZF9idWYsCisJCQkJZ2V0X29yZGVyKENNRF9CVUZGRVJfU0laRSkpOworfQorCitzdGF0aWMgdm9pZCBzZXRfZGV2X2VudHJ5X2JpdCh1MTYgZGV2aWQsIHU4IGJpdCkKK3sKKwlpbnQgaSA9IChiaXQgPj4gNSkgJiAweDA3OworCWludCBfYml0ID0gYml0ICYgMHgxZjsKKworCWFtZF9pb21tdV9kZXZfdGFibGVbZGV2aWRdLmRhdGFbaV0gfD0gKDEgPDwgX2JpdCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaSh1MTYgZGV2aWQsIHUzMiBmbGFncywgdTMyIGV4dF9mbGFncykKK3sKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfSU5JVFBBU1MpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfSU5JVF9QQVNTKTsKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfRVhUSU5UKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX0VJTlRfUEFTUyk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX05NSSkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9OTUlfUEFTUyk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX1NZU01HVDEpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfU1lTTUdUMSk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX1NZU01HVDIpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfU1lTTUdUMik7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX0xJTlQwKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX0xJTlQwX1BBU1MpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19MSU5UMSkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9MSU5UMV9QQVNTKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNldF9pb21tdV9mb3JfZGV2aWNlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1MTYgZGV2aWQpCit7CisJYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbZGV2aWRdID0gaW9tbXU7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXRfZGV2aWNlX2V4Y2x1c2lvbl9yYW5nZSh1MTYgZGV2aWQsIHN0cnVjdCBpdm1kX2hlYWRlciAqbSkKK3sKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSA9IGFtZF9pb21tdV9ybG9va3VwX3RhYmxlW2RldmlkXTsKKworCWlmICghKG0tPmZsYWdzICYgSVZNRF9GTEFHX0VYQ0xfUkFOR0UpKQorCQlyZXR1cm47CisKKwlpZiAoaW9tbXUpIHsKKwkJc2V0X2Rldl9lbnRyeV9iaXQobS0+ZGV2aWQsIERFVl9FTlRSWV9FWCk7CisJCWlvbW11LT5leGNsdXNpb25fc3RhcnQgPSBtLT5yYW5nZV9zdGFydDsKKwkJaW9tbXUtPmV4Y2x1c2lvbl9sZW5ndGggPSBtLT5yYW5nZV9sZW5ndGg7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9pb21tdV9mcm9tX3BjaShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlpbnQgYnVzID0gUENJX0JVUyhpb21tdS0+ZGV2aWQpOworCWludCBkZXYgPSBQQ0lfU0xPVChpb21tdS0+ZGV2aWQpOworCWludCBmbiAgPSBQQ0lfRlVOQyhpb21tdS0+ZGV2aWQpOworCWludCBjYXBfcHRyID0gaW9tbXUtPmNhcF9wdHI7CisJdTMyIHJhbmdlOworCisJaW9tbXUtPmNhcCA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIGRldiwgZm4sIGNhcF9wdHIrTU1JT19DQVBfSERSX09GRlNFVCk7CisKKwlyYW5nZSA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIGRldiwgZm4sIGNhcF9wdHIrTU1JT19SQU5HRV9PRkZTRVQpOworCWlvbW11LT5maXJzdF9kZXZpY2UgPSBERVZJRChNTUlPX0dFVF9CVVMocmFuZ2UpLCBNTUlPX0dFVF9GRChyYW5nZSkpOworCWlvbW11LT5sYXN0X2RldmljZSA9IERFVklEKE1NSU9fR0VUX0JVUyhyYW5nZSksIE1NSU9fR0VUX0xEKHJhbmdlKSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbml0X2lvbW11X2Zyb21fYWNwaShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCQkJc3RydWN0IGl2aGRfaGVhZGVyICpoKQoreworCXU4ICpwID0gKHU4ICopaDsKKwl1OCAqZW5kID0gcCwgZmxhZ3MgPSAwOworCXUxNiBkZXZfaSwgZGV2aWQgPSAwLCBkZXZpZF9zdGFydCA9IDAsIGRldmlkX3RvID0gMDsKKwl1MzIgZXh0X2ZsYWdzID0gMDsKKwlib29sIGFsaWFzID0gMDsKKwlzdHJ1Y3QgaXZoZF9lbnRyeSAqZTsKKworCS8qCisJICogRmlyc3Qgc2V0IHRoZSByZWNvbW1lbmRlZCBmZWF0dXJlIGVuYWJsZSBiaXRzIGZyb20gQUNQSQorCSAqIGludG8gdGhlIElPTU1VIGNvbnRyb2wgcmVnaXN0ZXJzCisJICovCisJaC0+ZmxhZ3MgJiBJVkhEX0ZMQUdfSFRfVFVOX0VOID8KKwkJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfSFRfVFVOX0VOKSA6CisJCWlvbW11X2ZlYXR1cmVfZGlzYWJsZShpb21tdSwgQ09OVFJPTF9IVF9UVU5fRU4pOworCisJaC0+ZmxhZ3MgJiBJVkhEX0ZMQUdfUEFTU1BXX0VOID8KKwkJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfUEFTU1BXX0VOKSA6CisJCWlvbW11X2ZlYXR1cmVfZGlzYWJsZShpb21tdSwgQ09OVFJPTF9QQVNTUFdfRU4pOworCisJaC0+ZmxhZ3MgJiBJVkhEX0ZMQUdfUkVTUEFTU1BXX0VOID8KKwkJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfUkVTUEFTU1BXX0VOKSA6CisJCWlvbW11X2ZlYXR1cmVfZGlzYWJsZShpb21tdSwgQ09OVFJPTF9SRVNQQVNTUFdfRU4pOworCisJaC0+ZmxhZ3MgJiBJVkhEX0ZMQUdfSVNPQ19FTiA/CisJCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0lTT0NfRU4pIDoKKwkJaW9tbXVfZmVhdHVyZV9kaXNhYmxlKGlvbW11LCBDT05UUk9MX0lTT0NfRU4pOworCisJLyoKKwkgKiBtYWtlIElPTU1VIG1lbW9yeSBhY2Nlc3NlcyBjYWNoZSBjb2hlcmVudAorCSAqLworCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0NPSEVSRU5UX0VOKTsKKworCS8qCisJICogRG9uZS4gTm93IHBhcnNlIHRoZSBkZXZpY2UgZW50cmllcworCSAqLworCXAgKz0gc2l6ZW9mKHN0cnVjdCBpdmhkX2hlYWRlcik7CisJZW5kICs9IGgtPmxlbmd0aDsKKworCXdoaWxlIChwIDwgZW5kKSB7CisJCWUgPSAoc3RydWN0IGl2aGRfZW50cnkgKilwOworCQlzd2l0Y2ggKGUtPnR5cGUpIHsKKwkJY2FzZSBJVkhEX0RFVl9BTEw6CisJCQlmb3IgKGRldl9pID0gaW9tbXUtPmZpcnN0X2RldmljZTsKKwkJCQkJZGV2X2kgPD0gaW9tbXUtPmxhc3RfZGV2aWNlOyArK2Rldl9pKQorCQkJCXNldF9kZXZfZW50cnlfZnJvbV9hY3BpKGRldl9pLCBlLT5mbGFncywgMCk7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9TRUxFQ1Q6CisJCQlkZXZpZCA9IGUtPmRldmlkOworCQkJc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkoZGV2aWQsIGUtPmZsYWdzLCAwKTsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX1NFTEVDVF9SQU5HRV9TVEFSVDoKKwkJCWRldmlkX3N0YXJ0ID0gZS0+ZGV2aWQ7CisJCQlmbGFncyA9IGUtPmZsYWdzOworCQkJZXh0X2ZsYWdzID0gMDsKKwkJCWFsaWFzID0gMDsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX0FMSUFTOgorCQkJZGV2aWQgPSBlLT5kZXZpZDsKKwkJCWRldmlkX3RvID0gZS0+ZXh0ID4+IDg7CisJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaShkZXZpZCwgZS0+ZmxhZ3MsIDApOworCQkJYW1kX2lvbW11X2FsaWFzX3RhYmxlW2RldmlkXSA9IGRldmlkX3RvOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfQUxJQVNfUkFOR0U6CisJCQlkZXZpZF9zdGFydCA9IGUtPmRldmlkOworCQkJZmxhZ3MgPSBlLT5mbGFnczsKKwkJCWRldmlkX3RvID0gZS0+ZXh0ID4+IDg7CisJCQlleHRfZmxhZ3MgPSAwOworCQkJYWxpYXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfRVhUX1NFTEVDVDoKKwkJCWRldmlkID0gZS0+ZGV2aWQ7CisJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaShkZXZpZCwgZS0+ZmxhZ3MsIGUtPmV4dCk7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9FWFRfU0VMRUNUX1JBTkdFOgorCQkJZGV2aWRfc3RhcnQgPSBlLT5kZXZpZDsKKwkJCWZsYWdzID0gZS0+ZmxhZ3M7CisJCQlleHRfZmxhZ3MgPSBlLT5leHQ7CisJCQlhbGlhcyA9IDA7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9SQU5HRV9FTkQ6CisJCQlkZXZpZCA9IGUtPmRldmlkOworCQkJZm9yIChkZXZfaSA9IGRldmlkX3N0YXJ0OyBkZXZfaSA8PSBkZXZpZDsgKytkZXZfaSkgeworCQkJCWlmIChhbGlhcykKKwkJCQkJYW1kX2lvbW11X2FsaWFzX3RhYmxlW2Rldl9pXSA9IGRldmlkX3RvOworCQkJCXNldF9kZXZfZW50cnlfZnJvbV9hY3BpKAorCQkJCQkJYW1kX2lvbW11X2FsaWFzX3RhYmxlW2Rldl9pXSwKKwkJCQkJCWZsYWdzLCBleHRfZmxhZ3MpOworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCisJCXAgKz0gMHgwNCA8PCAoZS0+dHlwZSA+PiA2KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfaW9tbXVfZGV2aWNlcyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwl1MTYgaTsKKworCWZvciAoaSA9IGlvbW11LT5maXJzdF9kZXZpY2U7IGkgPD0gaW9tbXUtPmxhc3RfZGV2aWNlOyArK2kpCisJCXNldF9pb21tdV9mb3JfZGV2aWNlKGlvbW11LCBpKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnJlZV9pb21tdV9vbmUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJZnJlZV9jb21tYW5kX2J1ZmZlcihpb21tdSk7CisJaW9tbXVfdW5tYXBfbW1pb19zcGFjZShpb21tdSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBmcmVlX2lvbW11X2FsbCh2b2lkKQoreworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCAqbmV4dDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShpb21tdSwgbmV4dCwgJmFtZF9pb21tdV9saXN0LCBsaXN0KSB7CisJCWxpc3RfZGVsKCZpb21tdS0+bGlzdCk7CisJCWZyZWVfaW9tbXVfb25lKGlvbW11KTsKKwkJa2ZyZWUoaW9tbXUpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF9pb21tdV9vbmUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHN0cnVjdCBpdmhkX2hlYWRlciAqaCkKK3sKKwlzcGluX2xvY2tfaW5pdCgmaW9tbXUtPmxvY2spOworCWxpc3RfYWRkX3RhaWwoJmlvbW11LT5saXN0LCAmYW1kX2lvbW11X2xpc3QpOworCisJLyoKKwkgKiBDb3B5IGRhdGEgZnJvbSBBQ1BJIHRhYmxlIGVudHJ5IHRvIHRoZSBpb21tdSBzdHJ1Y3QKKwkgKi8KKwlpb21tdS0+ZGV2aWQgPSBoLT5kZXZpZDsKKwlpb21tdS0+Y2FwX3B0ciA9IGgtPmNhcF9wdHI7CisJaW9tbXUtPm1taW9fcGh5cyA9IGgtPm1taW9fcGh5czsKKwlpb21tdS0+bW1pb19iYXNlID0gaW9tbXVfbWFwX21taW9fc3BhY2UoaC0+bW1pb19waHlzKTsKKwlpZiAoIWlvbW11LT5tbWlvX2Jhc2UpCisJCXJldHVybiAtRU5PTUVNOworCisJaW9tbXVfc2V0X2RldmljZV90YWJsZShpb21tdSk7CisJaW9tbXUtPmNtZF9idWYgPSBhbGxvY19jb21tYW5kX2J1ZmZlcihpb21tdSk7CisJaWYgKCFpb21tdS0+Y21kX2J1ZikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpbml0X2lvbW11X2Zyb21fcGNpKGlvbW11KTsKKwlpbml0X2lvbW11X2Zyb21fYWNwaShpb21tdSwgaCk7CisJaW5pdF9pb21tdV9kZXZpY2VzKGlvbW11KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X2lvbW11X2FsbChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlKQoreworCXU4ICpwID0gKHU4ICopdGFibGUsICplbmQgPSAodTggKil0YWJsZTsKKwlzdHJ1Y3QgaXZoZF9oZWFkZXIgKmg7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJaW50IHJldDsKKworCUlOSVRfTElTVF9IRUFEKCZhbWRfaW9tbXVfbGlzdCk7CisKKwllbmQgKz0gdGFibGUtPmxlbmd0aDsKKwlwICs9IElWUlNfSEVBREVSX0xFTkdUSDsKKworCXdoaWxlIChwIDwgZW5kKSB7CisJCWggPSAoc3RydWN0IGl2aGRfaGVhZGVyICopcDsKKwkJc3dpdGNoICgqcCkgeworCQljYXNlIEFDUElfSVZIRF9UWVBFOgorCQkJaW9tbXUgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYW1kX2lvbW11KSwgR0ZQX0tFUk5FTCk7CisJCQlpZiAoaW9tbXUgPT0gTlVMTCkKKwkJCQlyZXR1cm4gLUVOT01FTTsKKwkJCXJldCA9IGluaXRfaW9tbXVfb25lKGlvbW11LCBoKTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJcCArPSBoLT5sZW5ndGg7CisKKwl9CisJV0FSTl9PTihwICE9IGVuZCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZyZWVfdW5pdHlfbWFwcyh2b2lkKQoreworCXN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmVudHJ5LCAqbmV4dDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShlbnRyeSwgbmV4dCwgJmFtZF9pb21tdV91bml0eV9tYXAsIGxpc3QpIHsKKwkJbGlzdF9kZWwoJmVudHJ5LT5saXN0KTsKKwkJa2ZyZWUoZW50cnkpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF9leGNsdXNpb25fcmFuZ2Uoc3RydWN0IGl2bWRfaGVhZGVyICptKQoreworCWludCBpOworCisJc3dpdGNoIChtLT50eXBlKSB7CisJY2FzZSBBQ1BJX0lWTURfVFlQRToKKwkJc2V0X2RldmljZV9leGNsdXNpb25fcmFuZ2UobS0+ZGV2aWQsIG0pOworCQlicmVhazsKKwljYXNlIEFDUElfSVZNRF9UWVBFX0FMTDoKKwkJZm9yIChpID0gMDsgaSA8IGFtZF9pb21tdV9sYXN0X2JkZjsgKytpKQorCQkJc2V0X2RldmljZV9leGNsdXNpb25fcmFuZ2UoaSwgbSk7CisJCWJyZWFrOworCWNhc2UgQUNQSV9JVk1EX1RZUEVfUkFOR0U6CisJCWZvciAoaSA9IG0tPmRldmlkOyBpIDw9IG0tPmF1eDsgKytpKQorCQkJc2V0X2RldmljZV9leGNsdXNpb25fcmFuZ2UoaSwgbSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X3VuaXR5X21hcF9yYW5nZShzdHJ1Y3QgaXZtZF9oZWFkZXIgKm0pCit7CisJc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZSA9IDA7CisKKwllID0ga3phbGxvYyhzaXplb2YoKmUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXN3aXRjaCAobS0+dHlwZSkgeworCWRlZmF1bHQ6CisJY2FzZSBBQ1BJX0lWTURfVFlQRToKKwkJZS0+ZGV2aWRfc3RhcnQgPSBlLT5kZXZpZF9lbmQgPSBtLT5kZXZpZDsKKwkJYnJlYWs7CisJY2FzZSBBQ1BJX0lWTURfVFlQRV9BTEw6CisJCWUtPmRldmlkX3N0YXJ0ID0gMDsKKwkJZS0+ZGV2aWRfZW5kID0gYW1kX2lvbW11X2xhc3RfYmRmOworCQlicmVhazsKKwljYXNlIEFDUElfSVZNRF9UWVBFX1JBTkdFOgorCQllLT5kZXZpZF9zdGFydCA9IG0tPmRldmlkOworCQllLT5kZXZpZF9lbmQgPSBtLT5hdXg7CisJCWJyZWFrOworCX0KKwllLT5hZGRyZXNzX3N0YXJ0ID0gUEFHRV9BTElHTihtLT5yYW5nZV9zdGFydCk7CisJZS0+YWRkcmVzc19lbmQgPSBlLT5hZGRyZXNzX3N0YXJ0ICsgUEFHRV9BTElHTihtLT5yYW5nZV9sZW5ndGgpOworCWUtPnByb3QgPSBtLT5mbGFncyA+PiAxOworCisJbGlzdF9hZGRfdGFpbCgmZS0+bGlzdCwgJmFtZF9pb21tdV91bml0eV9tYXApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfbWVtb3J5X2RlZmluaXRpb25zKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGUpCit7CisJdTggKnAgPSAodTggKil0YWJsZSwgKmVuZCA9ICh1OCAqKXRhYmxlOworCXN0cnVjdCBpdm1kX2hlYWRlciAqbTsKKworCUlOSVRfTElTVF9IRUFEKCZhbWRfaW9tbXVfdW5pdHlfbWFwKTsKKworCWVuZCArPSB0YWJsZS0+bGVuZ3RoOworCXAgKz0gSVZSU19IRUFERVJfTEVOR1RIOworCisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJbSA9IChzdHJ1Y3QgaXZtZF9oZWFkZXIgKilwOworCQlpZiAobS0+ZmxhZ3MgJiBJVk1EX0ZMQUdfRVhDTF9SQU5HRSkKKwkJCWluaXRfZXhjbHVzaW9uX3JhbmdlKG0pOworCQllbHNlIGlmIChtLT5mbGFncyAmIElWTURfRkxBR19VTklUWV9NQVApCisJCQlpbml0X3VuaXR5X21hcF9yYW5nZShtKTsKKworCQlwICs9IG0tPmxlbmd0aDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVuYWJsZV9pb21tdXModm9pZCkKK3sKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW9tbXUsICZhbWRfaW9tbXVfbGlzdCwgbGlzdCkgeworCQlpb21tdV9zZXRfZXhjbHVzaW9uX3JhbmdlKGlvbW11KTsKKwkJaW9tbXVfZW5hYmxlKGlvbW11KTsKKwl9Cit9CisKKy8qCisgKiBTdXNwZW5kL1Jlc3VtZSBzdXBwb3J0CisgKiBkaXNhYmxlIHN1c3BlbmQgdW50aWwgcmVhbCByZXN1bWUgaW1wbGVtZW50ZWQKKyAqLworCitzdGF0aWMgaW50IGFtZF9pb21tdV9yZXN1bWUoc3RydWN0IHN5c19kZXZpY2UgKmRldikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhbWRfaW9tbXVfc3VzcGVuZChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzIGFtZF9pb21tdV9zeXNkZXZfY2xhc3MgPSB7CisJLm5hbWUgPSAiYW1kX2lvbW11IiwKKwkuc3VzcGVuZCA9IGFtZF9pb21tdV9zdXNwZW5kLAorCS5yZXN1bWUgPSBhbWRfaW9tbXVfcmVzdW1lLAorfTsKKworc3RhdGljIHN0cnVjdCBzeXNfZGV2aWNlIGRldmljZV9hbWRfaW9tbXUgPSB7CisJLmlkID0gMCwKKwkuY2xzID0gJmFtZF9pb21tdV9zeXNkZXZfY2xhc3MsCit9OworCitpbnQgX19pbml0IGFtZF9pb21tdV9pbml0KHZvaWQpCit7CisJaW50IGksIHJldCA9IDA7CisKKworCWlmIChub19pb21tdSkgeworCQlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVUgZGlzYWJsZWQgYnkga2VybmVsIGNvbW1hbmQgbGluZVxuIik7CisJCXJldHVybiAwOworCX0KKworCWlmICghYW1kX2lvbW11X2RldGVjdGVkKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCS8qCisJICogRmlyc3QgcGFyc2UgQUNQSSB0YWJsZXMgdG8gZmluZCB0aGUgbGFyZ2VzdCBCdXMvRGV2L0Z1bmMKKwkgKiB3ZSBuZWVkIHRvIGhhbmRsZS4gVXBvbiB0aGlzIGluZm9ybWF0aW9uIHRoZSBzaGFyZWQgZGF0YQorCSAqIHN0cnVjdHVyZXMgZm9yIHRoZSBJT01NVXMgaW4gdGhlIHN5c3RlbSB3aWxsIGJlIGFsbG9jYXRlZAorCSAqLworCWlmIChhY3BpX3RhYmxlX3BhcnNlKCJJVlJTIiwgZmluZF9sYXN0X2RldmlkX2FjcGkpICE9IDApCisJCXJldHVybiAtRU5PREVWOworCisJZGV2X3RhYmxlX3NpemUgICAgID0gVEJMX1NJWkUoREVWX1RBQkxFX0VOVFJZX1NJWkUpOworCWFsaWFzX3RhYmxlX3NpemUgICA9IFRCTF9TSVpFKEFMSUFTX1RBQkxFX0VOVFJZX1NJWkUpOworCXJsb29rdXBfdGFibGVfc2l6ZSA9IFRCTF9TSVpFKFJMT09LVVBfVEFCTEVfRU5UUllfU0laRSk7CisKKwlyZXQgPSAtRU5PTUVNOworCisJLyogRGV2aWNlIHRhYmxlIC0gZGlyZWN0bHkgdXNlZCBieSBhbGwgSU9NTVVzICovCisJYW1kX2lvbW11X2Rldl90YWJsZSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJCSAgICAgIGdldF9vcmRlcihkZXZfdGFibGVfc2l6ZSkpOworCWlmIChhbWRfaW9tbXVfZGV2X3RhYmxlID09IE5VTEwpCisJCWdvdG8gb3V0OworCisJLyoKKwkgKiBBbGlhcyB0YWJsZSAtIG1hcCBQQ0kgQnVzL0Rldi9GdW5jIHRvIEJ1cy9EZXYvRnVuYyB0aGUKKwkgKiBJT01NVSBzZWUgZm9yIHRoYXQgZGV2aWNlCisJICovCisJYW1kX2lvbW11X2FsaWFzX3RhYmxlID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsCisJCQlnZXRfb3JkZXIoYWxpYXNfdGFibGVfc2l6ZSkpOworCWlmIChhbWRfaW9tbXVfYWxpYXNfdGFibGUgPT0gTlVMTCkKKwkJZ290byBmcmVlOworCisJLyogSU9NTVUgcmxvb2t1cCB0YWJsZSAtIGZpbmQgdGhlIElPTU1VIGZvciBhIHNwZWNpZmljIGRldmljZSAqLworCWFtZF9pb21tdV9ybG9va3VwX3RhYmxlID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsCisJCQlnZXRfb3JkZXIocmxvb2t1cF90YWJsZV9zaXplKSk7CisJaWYgKGFtZF9pb21tdV9ybG9va3VwX3RhYmxlID09IE5VTEwpCisJCWdvdG8gZnJlZTsKKworCS8qCisJICogUHJvdGVjdGlvbiBEb21haW4gdGFibGUgLSBtYXBzIGRldmljZXMgdG8gcHJvdGVjdGlvbiBkb21haW5zCisJICogVGhpcyB0YWJsZSBoYXMgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgcmxvb2t1cF90YWJsZQorCSAqLworCWFtZF9pb21tdV9wZF90YWJsZSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJCSAgICAgZ2V0X29yZGVyKHJsb29rdXBfdGFibGVfc2l6ZSkpOworCWlmIChhbWRfaW9tbXVfcGRfdGFibGUgPT0gTlVMTCkKKwkJZ290byBmcmVlOworCisJYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJCQkgICAgZ2V0X29yZGVyKE1BWF9ET01BSU5fSUQvOCkpOworCWlmIChhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwID09IE5VTEwpCisJCWdvdG8gZnJlZTsKKworCS8qCisJICogbWVtb3J5IGlzIGFsbG9jYXRlZCBub3c7IGluaXRpYWxpemUgdGhlIGRldmljZSB0YWJsZSB3aXRoIGFsbCB6ZXJvZXMKKwkgKiBhbmQgbGV0IGFsbCBhbGlhcyBlbnRyaWVzIHBvaW50IHRvIGl0c2VsZgorCSAqLworCW1lbXNldChhbWRfaW9tbXVfZGV2X3RhYmxlLCAwLCBkZXZfdGFibGVfc2l6ZSk7CisJZm9yIChpID0gMDsgaSA8IGFtZF9pb21tdV9sYXN0X2JkZjsgKytpKQorCQlhbWRfaW9tbXVfYWxpYXNfdGFibGVbaV0gPSBpOworCisJbWVtc2V0KGFtZF9pb21tdV9wZF90YWJsZSwgMCwgcmxvb2t1cF90YWJsZV9zaXplKTsKKwltZW1zZXQoYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCwgMCwgTUFYX0RPTUFJTl9JRCAvIDgpOworCisJLyoKKwkgKiBuZXZlciBhbGxvY2F0ZSBkb21haW4gMCBiZWNhdXNlIGl0cyB1c2VkIGFzIHRoZSBub24tYWxsb2NhdGVkIGFuZAorCSAqIGVycm9yIHZhbHVlIHBsYWNlaG9sZGVyCisJICovCisJYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcFswXSA9IDE7CisKKwkvKgorCSAqIG5vdyB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFyZSBhbGxvY2F0ZWQgYW5kIGJhc2ljYWxseSBpbml0aWFsaXplZAorCSAqIHN0YXJ0IHRoZSByZWFsIGFjcGkgdGFibGUgc2NhbgorCSAqLworCXJldCA9IC1FTk9ERVY7CisJaWYgKGFjcGlfdGFibGVfcGFyc2UoIklWUlMiLCBpbml0X2lvbW11X2FsbCkgIT0gMCkKKwkJZ290byBmcmVlOworCisJaWYgKGFjcGlfdGFibGVfcGFyc2UoIklWUlMiLCBpbml0X21lbW9yeV9kZWZpbml0aW9ucykgIT0gMCkKKwkJZ290byBmcmVlOworCisJcmV0ID0gYW1kX2lvbW11X2luaXRfZG1hX29wcygpOworCWlmIChyZXQpCisJCWdvdG8gZnJlZTsKKworCXJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmYW1kX2lvbW11X3N5c2Rldl9jbGFzcyk7CisJaWYgKHJldCkKKwkJZ290byBmcmVlOworCisJcmV0ID0gc3lzZGV2X3JlZ2lzdGVyKCZkZXZpY2VfYW1kX2lvbW11KTsKKwlpZiAocmV0KQorCQlnb3RvIGZyZWU7CisKKwllbmFibGVfaW9tbXVzKCk7CisKKwlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVU6IGFwZXJ0dXJlIHNpemUgaXMgJWQgTUJcbiIsCisJCQkoMSA8PCAoYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyLTIwKSkpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VOiBkZXZpY2UgaXNvbGF0aW9uICIpOworCWlmIChhbWRfaW9tbXVfaXNvbGF0ZSkKKwkJcHJpbnRrKCJlbmFibGVkXG4iKTsKKwllbHNlCisJCXByaW50aygiZGlzYWJsZWRcbiIpOworCitvdXQ6CisJcmV0dXJuIHJldDsKKworZnJlZToKKwlpZiAoYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCkKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwLCAxKTsKKworCWlmIChhbWRfaW9tbXVfcGRfdGFibGUpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X3BkX3RhYmxlLAorCQkJCWdldF9vcmRlcihybG9va3VwX3RhYmxlX3NpemUpKTsKKworCWlmIChhbWRfaW9tbXVfcmxvb2t1cF90YWJsZSkKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylhbWRfaW9tbXVfcmxvb2t1cF90YWJsZSwKKwkJCQlnZXRfb3JkZXIocmxvb2t1cF90YWJsZV9zaXplKSk7CisKKwlpZiAoYW1kX2lvbW11X2FsaWFzX3RhYmxlKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWFtZF9pb21tdV9hbGlhc190YWJsZSwKKwkJCQlnZXRfb3JkZXIoYWxpYXNfdGFibGVfc2l6ZSkpOworCisJaWYgKGFtZF9pb21tdV9kZXZfdGFibGUpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X2Rldl90YWJsZSwKKwkJCQlnZXRfb3JkZXIoZGV2X3RhYmxlX3NpemUpKTsKKworCWZyZWVfaW9tbXVfYWxsKCk7CisKKwlmcmVlX3VuaXR5X21hcHMoKTsKKworCWdvdG8gb3V0OworfQorCitzdGF0aWMgaW50IF9faW5pdCBlYXJseV9hbWRfaW9tbXVfZGV0ZWN0KHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgX19pbml0IGFtZF9pb21tdV9kZXRlY3Qodm9pZCkKK3sKKwlpZiAoc3dpb3RsYiB8fCBub19pb21tdSB8fCBpb21tdV9kZXRlY3RlZCkKKwkJcmV0dXJuOworCisJaWYgKGFjcGlfdGFibGVfcGFyc2UoIklWUlMiLCBlYXJseV9hbWRfaW9tbXVfZGV0ZWN0KSA9PSAwKSB7CisJCWlvbW11X2RldGVjdGVkID0gMTsKKwkJYW1kX2lvbW11X2RldGVjdGVkID0gMTsKKyNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQorCQlnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkID0gMTsKKwkJZ2FydF9pb21tdV9hcGVydHVyZSA9IDA7CisjZW5kaWYKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX2FtZF9pb21tdV9vcHRpb25zKGNoYXIgKnN0cikKK3sKKwlmb3IgKDsgKnN0cjsgKytzdHIpIHsKKwkJaWYgKHN0cmNtcChzdHIsICJpc29sYXRlIikgPT0gMCkKKwkJCWFtZF9pb21tdV9pc29sYXRlID0gMTsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBfX2luaXQgcGFyc2VfYW1kX2lvbW11X3NpemVfb3B0aW9ucyhjaGFyICpzdHIpCit7CisJZm9yICg7ICpzdHI7ICsrc3RyKSB7CisJCWlmIChzdHJjbXAoc3RyLCAiMzJNIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI1OworCQlpZiAoc3RyY21wKHN0ciwgIjY0TSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyNjsKKwkJaWYgKHN0cmNtcChzdHIsICIxMjhNIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI3OworCQlpZiAoc3RyY21wKHN0ciwgIjI1Nk0iKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjg7CisJCWlmIChzdHJjbXAoc3RyLCAiNTEyTSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyOTsKKwkJaWYgKHN0cmNtcChzdHIsICIxRyIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAzMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworX19zZXR1cCgiYW1kX2lvbW11PSIsIHBhcnNlX2FtZF9pb21tdV9vcHRpb25zKTsKK19fc2V0dXAoImFtZF9pb21tdV9zaXplPSIsIHBhcnNlX2FtZF9pb21tdV9zaXplX29wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwZXJ0dXJlXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXBlcnR1cmVfNjQuYwppbmRleCA0Nzk5MjZkLi45ZjkwNzgwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXBlcnR1cmVfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXBlcnR1cmVfNjQuYwpAQCAtMzUsNiArMzUsMTggQEAKIAogaW50IGZpeF9hcGVydHVyZSBfX2luaXRkYXRhID0gMTsKIAorc3RydWN0IGJ1c19kZXZfcmFuZ2UgeworCWludCBidXM7CisJaW50IGRldl9iYXNlOworCWludCBkZXZfbGltaXQ7Cit9OworCitzdGF0aWMgc3RydWN0IGJ1c19kZXZfcmFuZ2UgYnVzX2Rldl9yYW5nZXNbXSBfX2luaXRkYXRhID0geworCXsgMHgwMCwgMHgxOCwgMHgyMH0sCisJeyAweGZmLCAweDAwLCAweDIwfSwKKwl7IDB4ZmUsIDB4MDAsIDB4MjB9Cit9OworCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGdhcnRfcmVzb3VyY2UgPSB7CiAJLm5hbWUJPSAiR0FSVCIsCiAJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCkBAIC01NSw4ICs2Nyw5IEBACiAJdTMyIGFwZXJfc2l6ZTsKIAl2b2lkICpwOwogCi0JaWYgKGZhbGxiYWNrX2FwZXJfb3JkZXIgPiA3KQotCQlmYWxsYmFja19hcGVyX29yZGVyID0gNzsKKwkvKiBhcGVyX3NpemUgc2hvdWxkIDw9IDFHICovCisJaWYgKGZhbGxiYWNrX2FwZXJfb3JkZXIgPiA1KQorCQlmYWxsYmFja19hcGVyX29yZGVyID0gNTsKIAlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgZmFsbGJhY2tfYXBlcl9vcmRlcjsKIAogCS8qCkBAIC02NSw3ICs3OCwyMCBAQAogCSAqIG1lbW9yeS4gVW5mb3J0dW5hdGVseSB3ZSBjYW5ub3QgbW92ZSBpdCB1cCBiZWNhdXNlIHRoYXQgd291bGQKIAkgKiBtYWtlIHRoZSBJT01NVSB1c2VsZXNzLgogCSAqLwotCXAgPSBfX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYyhhcGVyX3NpemUsIGFwZXJfc2l6ZSwgMCk7CisJLyoKKwkgKiB1c2luZyA1MTJNIGFzIGdvYWwsIGluIGNhc2Uga2V4ZWMgd2lsbCBsb2FkIGtlcm5lbF9iaWcKKwkgKiB0aGF0IHdpbGwgZG8gdGhlIG9uIHBvc2l0aW9uIGRlY29tcHJlc3MsIGFuZCAgY291bGQgb3ZlcmxhcCB3aXRoCisJICogdGhhdCBwb3NpdG9uIHdpdGggZ2FydCB0aGF0IGlzIHVzZWQuCisJICogc2VxdWVuZGU6CisJICoga2VybmVsX3NtYWxsCisJICogPT0+IGtleGVjICh3aXRoIGtkdW1wIHRyaWdnZXIgcGF0aCBvciBwcmV2aW91cyBkb2Vzbid0IHNodXRkb3duIGdhcnQpCisJICogPT0+IGtlcm5lbF9zbWFsbChnYXJ0IGFyZWEgYmVjb21lIGU4MjBfcmVzZXJ2ZWQpCisJICogPT0+IGtleGVjICh3aXRoIGtkdW1wIHRyaWdnZXIgcGF0aCBvciBwcmV2aW91cyBkb2Vzbid0IHNodXRkb3duIGdhcnQpCisJICogPT0+IGtlcm5lX2JpZyAodW5jb21wcmVzc2VkIHNpemUgd2lsbCBiZSBiaWcgdGhhbiA2NE0gb3IgMTI4TSkKKwkgKiBzbyBkb24ndCB1c2UgNTEyTSBiZWxvdyBhcyBnYXJ0IGlvbW11LCBsZWF2ZSB0aGUgc3BhY2UgZm9yIGtlcm5lbAorCSAqIGNvZGUgZm9yIHNhZmUKKwkgKi8KKwlwID0gX19hbGxvY19ib290bWVtX25vcGFuaWMoYXBlcl9zaXplLCBhcGVyX3NpemUsIDUxMlVMTDw8MjApOwogCWlmICghcCB8fCBfX3BhKHApK2FwZXJfc2l6ZSA+IDB4ZmZmZmZmZmYpIHsKIAkJcHJpbnRrKEtFUk5fRVJSCiAJCQkiQ2Fubm90IGFsbG9jYXRlIGFwZXJ0dXJlIG1lbW9yeSBob2xlICglcCwldUspXG4iLApAQCAtODMsNjkgKzEwOSw1MyBAQAogCXJldHVybiAodTMyKV9fcGEocCk7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IGFwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyX2Jhc2UsIHUzMiBhcGVyX3NpemUpCi17Ci0JaWYgKCFhcGVyX2Jhc2UpCi0JCXJldHVybiAwOwotCi0JaWYgKGFwZXJfYmFzZSArIGFwZXJfc2l6ZSA+IDB4MTAwMDAwMDAwVUwpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSBiZXlvbmQgNEdCLiBJZ25vcmluZy5cbiIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JaWYgKGU4MjBfYW55X21hcHBlZChhcGVyX2Jhc2UsIGFwZXJfYmFzZSArIGFwZXJfc2l6ZSwgRTgyMF9SQU0pKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgcG9pbnRpbmcgdG8gZTgyMCBSQU0uIElnbm9yaW5nLlxuIik7Ci0JCXJldHVybiAwOwotCX0KLQlpZiAoYXBlcl9zaXplIDwgNjQqMTAyNCoxMDI0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgdG9vIHNtYWxsICglZCBNQilcbiIsIGFwZXJfc2l6ZT4+MjApOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KIAogLyogRmluZCBhIFBDSSBjYXBhYmlsaXR5ICovCi1zdGF0aWMgX191MzIgX19pbml0IGZpbmRfY2FwKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYywgaW50IGNhcCkKK3N0YXRpYyB1MzIgX19pbml0IGZpbmRfY2FwKGludCBidXMsIGludCBzbG90LCBpbnQgZnVuYywgaW50IGNhcCkKIHsKIAlpbnQgYnl0ZXM7CiAJdTggcG9zOwogCi0JaWYgKCEocmVhZF9wY2lfY29uZmlnXzE2KG51bSwgc2xvdCwgZnVuYywgUENJX1NUQVRVUykgJgorCWlmICghKHJlYWRfcGNpX2NvbmZpZ18xNihidXMsIHNsb3QsIGZ1bmMsIFBDSV9TVEFUVVMpICYKIAkJCQkJCVBDSV9TVEFUVVNfQ0FQX0xJU1QpKQogCQlyZXR1cm4gMDsKIAotCXBvcyA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKG51bSwgc2xvdCwgZnVuYywgUENJX0NBUEFCSUxJVFlfTElTVCk7CisJcG9zID0gcmVhZF9wY2lfY29uZmlnX2J5dGUoYnVzLCBzbG90LCBmdW5jLCBQQ0lfQ0FQQUJJTElUWV9MSVNUKTsKIAlmb3IgKGJ5dGVzID0gMDsgYnl0ZXMgPCA0OCAmJiBwb3MgPj0gMHg0MDsgYnl0ZXMrKykgewogCQl1OCBpZDsKIAogCQlwb3MgJj0gfjM7Ci0JCWlkID0gcmVhZF9wY2lfY29uZmlnX2J5dGUobnVtLCBzbG90LCBmdW5jLCBwb3MrUENJX0NBUF9MSVNUX0lEKTsKKwkJaWQgPSByZWFkX3BjaV9jb25maWdfYnl0ZShidXMsIHNsb3QsIGZ1bmMsIHBvcytQQ0lfQ0FQX0xJU1RfSUQpOwogCQlpZiAoaWQgPT0gMHhmZikKIAkJCWJyZWFrOwogCQlpZiAoaWQgPT0gY2FwKQogCQkJcmV0dXJuIHBvczsKLQkJcG9zID0gcmVhZF9wY2lfY29uZmlnX2J5dGUobnVtLCBzbG90LCBmdW5jLAorCQlwb3MgPSByZWFkX3BjaV9jb25maWdfYnl0ZShidXMsIHNsb3QsIGZ1bmMsCiAJCQkJCQlwb3MrUENJX0NBUF9MSVNUX05FWFQpOwogCX0KIAlyZXR1cm4gMDsKIH0KIAogLyogUmVhZCBhIHN0YW5kYXJkIEFHUHYzIGJyaWRnZSBoZWFkZXIgKi8KLXN0YXRpYyBfX3UzMiBfX2luaXQgcmVhZF9hZ3AoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jLCBpbnQgY2FwLCB1MzIgKm9yZGVyKQorc3RhdGljIHUzMiBfX2luaXQgcmVhZF9hZ3AoaW50IGJ1cywgaW50IHNsb3QsIGludCBmdW5jLCBpbnQgY2FwLCB1MzIgKm9yZGVyKQogewogCXUzMiBhcHNpemU7CiAJdTMyIGFwc2l6ZXJlZzsKIAlpbnQgbmJpdHM7CiAJdTMyIGFwZXJfbG93LCBhcGVyX2hpOwogCXU2NCBhcGVyOworCXUzMiBvbGRfb3JkZXI7CiAKLQlwcmludGsoS0VSTl9JTkZPICJBR1AgYnJpZGdlIGF0ICUwMng6JTAyeDolMDJ4XG4iLCBudW0sIHNsb3QsIGZ1bmMpOwotCWFwc2l6ZXJlZyA9IHJlYWRfcGNpX2NvbmZpZ18xNihudW0sIHNsb3QsIGZ1bmMsIGNhcCArIDB4MTQpOworCXByaW50ayhLRVJOX0lORk8gIkFHUCBicmlkZ2UgYXQgJTAyeDolMDJ4OiUwMnhcbiIsIGJ1cywgc2xvdCwgZnVuYyk7CisJYXBzaXplcmVnID0gcmVhZF9wY2lfY29uZmlnXzE2KGJ1cywgc2xvdCwgZnVuYywgY2FwICsgMHgxNCk7CiAJaWYgKGFwc2l6ZXJlZyA9PSAweGZmZmZmZmZmKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiQVBTSVpFIGluIEFHUCBicmlkZ2UgdW5yZWFkYWJsZVxuIik7CiAJCXJldHVybiAwOwogCX0KIAorCS8qIG9sZF9vcmRlciBjb3VsZCBiZSB0aGUgdmFsdWUgZnJvbSBOQiBnYXJ0IHNldHRpbmcgKi8KKwlvbGRfb3JkZXIgPSAqb3JkZXI7CisKIAlhcHNpemUgPSBhcHNpemVyZWcgJiAweGZmZjsKIAkvKiBTb21lIEJJT1MgdXNlIHdlaXJkIGVuY29kaW5ncyBub3QgaW4gdGhlIEFHUHYzIHRhYmxlLiAqLwogCWlmIChhcHNpemUgJiAweGZmKQpAQCAtMTU1LDE0ICsxNjUsMjYgQEAKIAlpZiAoKGludCkqb3JkZXIgPCAwKSAvKiA8IDMyTUIgKi8KIAkJKm9yZGVyID0gMDsKIAotCWFwZXJfbG93ID0gcmVhZF9wY2lfY29uZmlnKG51bSwgc2xvdCwgZnVuYywgMHgxMCk7Ci0JYXBlcl9oaSA9IHJlYWRfcGNpX2NvbmZpZyhudW0sIHNsb3QsIGZ1bmMsIDB4MTQpOworCWFwZXJfbG93ID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgZnVuYywgMHgxMCk7CisJYXBlcl9oaSA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIGZ1bmMsIDB4MTQpOwogCWFwZXIgPSAoYXBlcl9sb3cgJiB+KCgxPDwyMiktMSkpIHwgKCh1NjQpYXBlcl9oaSA8PCAzMik7CiAKKwkvKgorCSAqIE9uIHNvbWUgc2ljayBjaGlwcywgQVBTSVpFIGlzIDAuIEl0IG1lYW5zIGl0IHdhbnRzIDRHCisJICogc28gbGV0IGRvdWJsZSBjaGVjayB0aGF0IG9yZGVyLCBhbmQgbGV0cyB0cnVzdCBBTUQgTkIgc2V0dGluZ3M6CisJICovCisJcHJpbnRrKEtFUk5fSU5GTyAiQXBlcnR1cmUgZnJvbSBBR1AgQCAlTHggb2xkIHNpemUgJXUgTUJcbiIsCisJCQlhcGVyLCAzMiA8PCBvbGRfb3JkZXIpOworCWlmIChhcGVyICsgKDMyVUxMPDwoMjAgKyAqb3JkZXIpKSA+IDB4MTAwMDAwMDAwVUxMKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkFwZXJ0dXJlIHNpemUgJXUgTUIgKEFQU0laRSAleCkgaXMgbm90IHJpZ2h0LCB1c2luZyBzZXR0aW5ncyBmcm9tIE5CXG4iLAorCQkJCTMyIDw8ICpvcmRlciwgYXBzaXplcmVnKTsKKwkJKm9yZGVyID0gb2xkX29yZGVyOworCX0KKwogCXByaW50ayhLRVJOX0lORk8gIkFwZXJ0dXJlIGZyb20gQUdQIEAgJUx4IHNpemUgJXUgTUIgKEFQU0laRSAleClcbiIsCiAJCQlhcGVyLCAzMiA8PCAqb3JkZXIsIGFwc2l6ZXJlZyk7CiAKLQlpZiAoIWFwZXJ0dXJlX3ZhbGlkKGFwZXIsICgzMioxMDI0KjEwMjQpIDw8ICpvcmRlcikpCisJaWYgKCFhcGVydHVyZV92YWxpZChhcGVyLCAoMzIqMTAyNCoxMDI0KSA8PCAqb3JkZXIsIDMyPDwyMCkpCiAJCXJldHVybiAwOwogCXJldHVybiAodTMyKWFwZXI7CiB9CkBAIC0xODAsMTcgKzIwMiwxNyBAQAogICogdGhlIEFHUCBicmlkZ2VzIHNob3VsZCBiZSBhbHdheXMgYW4gb3duIGJ1cyBvbiB0aGUgSFQgaGllcmFyY2h5LAogICogYnV0IGRvIGl0IGhlcmUgZm9yIGZ1dHVyZSBzYWZldHkuCiAgKi8KLXN0YXRpYyBfX3UzMiBfX2luaXQgc2VhcmNoX2FncF9icmlkZ2UodTMyICpvcmRlciwgaW50ICp2YWxpZF9hZ3ApCitzdGF0aWMgdTMyIF9faW5pdCBzZWFyY2hfYWdwX2JyaWRnZSh1MzIgKm9yZGVyLCBpbnQgKnZhbGlkX2FncCkKIHsKLQlpbnQgbnVtLCBzbG90LCBmdW5jOworCWludCBidXMsIHNsb3QsIGZ1bmM7CiAKIAkvKiBQb29yIG1hbidzIFBDSSBkaXNjb3ZlcnkgKi8KLQlmb3IgKG51bSA9IDA7IG51bSA8IDI1NjsgbnVtKyspIHsKKwlmb3IgKGJ1cyA9IDA7IGJ1cyA8IDI1NjsgYnVzKyspIHsKIAkJZm9yIChzbG90ID0gMDsgc2xvdCA8IDMyOyBzbG90KyspIHsKIAkJCWZvciAoZnVuYyA9IDA7IGZ1bmMgPCA4OyBmdW5jKyspIHsKIAkJCQl1MzIgY2xhc3MsIGNhcDsKIAkJCQl1OCB0eXBlOwotCQkJCWNsYXNzID0gcmVhZF9wY2lfY29uZmlnKG51bSwgc2xvdCwgZnVuYywKKwkJCQljbGFzcyA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIGZ1bmMsCiAJCQkJCQkJUENJX0NMQVNTX1JFVklTSU9OKTsKIAkJCQlpZiAoY2xhc3MgPT0gMHhmZmZmZmZmZikKIAkJCQkJYnJlYWs7CkBAIC0xOTksMTcgKzIyMSwxNyBAQAogCQkJCWNhc2UgUENJX0NMQVNTX0JSSURHRV9IT1NUOgogCQkJCWNhc2UgUENJX0NMQVNTX0JSSURHRV9PVEhFUjogLyogbmVlZGVkPyAqLwogCQkJCQkvKiBBR1AgYnJpZGdlPyAqLwotCQkJCQljYXAgPSBmaW5kX2NhcChudW0sIHNsb3QsIGZ1bmMsCisJCQkJCWNhcCA9IGZpbmRfY2FwKGJ1cywgc2xvdCwgZnVuYywKIAkJCQkJCQlQQ0lfQ0FQX0lEX0FHUCk7CiAJCQkJCWlmICghY2FwKQogCQkJCQkJYnJlYWs7CiAJCQkJCSp2YWxpZF9hZ3AgPSAxOwotCQkJCQlyZXR1cm4gcmVhZF9hZ3AobnVtLCBzbG90LCBmdW5jLCBjYXAsCisJCQkJCXJldHVybiByZWFkX2FncChidXMsIHNsb3QsIGZ1bmMsIGNhcCwKIAkJCQkJCQlvcmRlcik7CiAJCQkJfQogCiAJCQkJLyogTm8gbXVsdGktZnVuY3Rpb24gZGV2aWNlPyAqLwotCQkJCXR5cGUgPSByZWFkX3BjaV9jb25maWdfYnl0ZShudW0sIHNsb3QsIGZ1bmMsCisJCQkJdHlwZSA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKGJ1cywgc2xvdCwgZnVuYywKIAkJCQkJCQkgICAgICAgUENJX0hFQURFUl9UWVBFKTsKIAkJCQlpZiAoISh0eXBlICYgMHg4MCkpCiAJCQkJCWJyZWFrOwpAQCAtMjQ5LDM2ICsyNzEsNTAgQEAKIAkgKiBvciBCSU9TIGZvcmdldCB0byBwdXQgdGhhdCBpbiByZXNlcnZlZC4KIAkgKiB0cnkgdG8gdXBkYXRlIGU4MjAgdG8gbWFrZSB0aGF0IHJlZ2lvbiBhcyByZXNlcnZlZC4KIAkgKi8KLQlpbnQgZml4LCBudW07CisJaW50IGksIGZpeCwgc2xvdDsKIAl1MzIgY3RsOwogCXUzMiBhcGVyX3NpemUgPSAwLCBhcGVyX29yZGVyID0gMCwgbGFzdF9hcGVyX29yZGVyID0gMDsKIAl1NjQgYXBlcl9iYXNlID0gMCwgbGFzdF9hcGVyX2Jhc2UgPSAwOwotCWludCBhcGVyX2VuYWJsZWQgPSAwLCBsYXN0X2FwZXJfZW5hYmxlZCA9IDA7CisJaW50IGFwZXJfZW5hYmxlZCA9IDAsIGxhc3RfYXBlcl9lbmFibGVkID0gMCwgbGFzdF92YWxpZCA9IDA7CiAKIAlpZiAoIWVhcmx5X3BjaV9hbGxvd2VkKCkpCiAJCXJldHVybjsKIAorCS8qIFRoaXMgaXMgbW9zdGx5IGR1cGxpY2F0ZSBvZiBpb21tdV9ob2xlX2luaXQgKi8KIAlmaXggPSAwOwotCWZvciAobnVtID0gMjQ7IG51bSA8IDMyOyBudW0rKykgewotCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4MDApKSkKLQkJCWNvbnRpbnVlOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ1c19kZXZfcmFuZ2VzKTsgaSsrKSB7CisJCWludCBidXM7CisJCWludCBkZXZfYmFzZSwgZGV2X2xpbWl0OwogCi0JCWN0bCA9IHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTApOwotCQlhcGVyX2VuYWJsZWQgPSBjdGwgJiAxOwotCQlhcGVyX29yZGVyID0gKGN0bCA+PiAxKSAmIDc7Ci0JCWFwZXJfc2l6ZSA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBhcGVyX29yZGVyOwotCQlhcGVyX2Jhc2UgPSByZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDk0KSAmIDB4N2ZmZjsKLQkJYXBlcl9iYXNlIDw8PSAyNTsKKwkJYnVzID0gYnVzX2Rldl9yYW5nZXNbaV0uYnVzOworCQlkZXZfYmFzZSA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9iYXNlOworCQlkZXZfbGltaXQgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfbGltaXQ7CiAKLQkJaWYgKChsYXN0X2FwZXJfb3JkZXIgJiYgYXBlcl9vcmRlciAhPSBsYXN0X2FwZXJfb3JkZXIpIHx8Ci0JCSAgICAobGFzdF9hcGVyX2Jhc2UgJiYgYXBlcl9iYXNlICE9IGxhc3RfYXBlcl9iYXNlKSB8fAotCQkgICAgKGxhc3RfYXBlcl9lbmFibGVkICYmIGFwZXJfZW5hYmxlZCAhPSBsYXN0X2FwZXJfZW5hYmxlZCkpIHsKLQkJCWZpeCA9IDE7Ci0JCQlicmVhazsKKwkJZm9yIChzbG90ID0gZGV2X2Jhc2U7IHNsb3QgPCBkZXZfbGltaXQ7IHNsb3QrKykgeworCQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCAweDAwKSkpCisJCQkJY29udGludWU7CisKKwkJCWN0bCA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCk7CisJCQlhcGVyX2VuYWJsZWQgPSBjdGwgJiBBTUQ2NF9HQVJURU47CisJCQlhcGVyX29yZGVyID0gKGN0bCA+PiAxKSAmIDc7CisJCQlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgYXBlcl9vcmRlcjsKKwkJCWFwZXJfYmFzZSA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUJBU0UpICYgMHg3ZmZmOworCQkJYXBlcl9iYXNlIDw8PSAyNTsKKworCQkJaWYgKGxhc3RfdmFsaWQpIHsKKwkJCQlpZiAoKGFwZXJfb3JkZXIgIT0gbGFzdF9hcGVyX29yZGVyKSB8fAorCQkJCSAgICAoYXBlcl9iYXNlICE9IGxhc3RfYXBlcl9iYXNlKSB8fAorCQkJCSAgICAoYXBlcl9lbmFibGVkICE9IGxhc3RfYXBlcl9lbmFibGVkKSkgeworCQkJCQlmaXggPSAxOworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisKKwkJCWxhc3RfYXBlcl9vcmRlciA9IGFwZXJfb3JkZXI7CisJCQlsYXN0X2FwZXJfYmFzZSA9IGFwZXJfYmFzZTsKKwkJCWxhc3RfYXBlcl9lbmFibGVkID0gYXBlcl9lbmFibGVkOworCQkJbGFzdF92YWxpZCA9IDE7CiAJCX0KLQkJbGFzdF9hcGVyX29yZGVyID0gYXBlcl9vcmRlcjsKLQkJbGFzdF9hcGVyX2Jhc2UgPSBhcGVyX2Jhc2U7Ci0JCWxhc3RfYXBlcl9lbmFibGVkID0gYXBlcl9lbmFibGVkOwogCX0KIAogCWlmICghZml4ICYmICFhcGVyX2VuYWJsZWQpCkBAIC0yOTAsMzIgKzMyNiw0NiBAQAogCWlmIChnYXJ0X2ZpeF9lODIwICYmICFmaXggJiYgYXBlcl9lbmFibGVkKSB7CiAJCWlmIChlODIwX2FueV9tYXBwZWQoYXBlcl9iYXNlLCBhcGVyX2Jhc2UgKyBhcGVyX3NpemUsCiAJCQkJICAgIEU4MjBfUkFNKSkgewotCQkJLyogcmVzZXJ2ZWQgaXQsIHNvIHdlIGNhbiByZXN1c2UgaXQgaW4gc2Vjb25kIGtlcm5lbCAqLworCQkJLyogcmVzZXJ2ZSBpdCwgc28gd2UgY2FuIHJldXNlIGl0IGluIHNlY29uZCBrZXJuZWwgKi8KIAkJCXByaW50ayhLRVJOX0lORk8gInVwZGF0ZSBlODIwIGZvciBHQVJUXG4iKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKGFwZXJfYmFzZSwgYXBlcl9zaXplLCBFODIwX1JFU0VSVkVEKTsKKwkJCWU4MjBfYWRkX3JlZ2lvbihhcGVyX2Jhc2UsIGFwZXJfc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CiAJCQl1cGRhdGVfZTgyMCgpOwogCQl9Ci0JCXJldHVybjsKIAl9CiAKLQkvKiBkaWZmZXJlbnQgbm9kZXMgaGF2ZSBkaWZmZXJlbnQgc2V0dGluZywgZGlzYWJsZSB0aGVtIGFsbCBhdCBmaXJzdCovCi0JZm9yIChudW0gPSAyNDsgbnVtIDwgMzI7IG51bSsrKSB7Ci0JCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHgwMCkpKQotCQkJY29udGludWU7CisJaWYgKCFmaXgpCisJCXJldHVybjsKIAotCQljdGwgPSByZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwKTsKLQkJY3RsICY9IH4xOwotCQl3cml0ZV9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCwgY3RsKTsKKwkvKiBkaWZmZXJlbnQgbm9kZXMgaGF2ZSBkaWZmZXJlbnQgc2V0dGluZywgZGlzYWJsZSB0aGVtIGFsbCBhdCBmaXJzdCovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYnVzX2Rldl9yYW5nZXMpOyBpKyspIHsKKwkJaW50IGJ1czsKKwkJaW50IGRldl9iYXNlLCBkZXZfbGltaXQ7CisKKwkJYnVzID0gYnVzX2Rldl9yYW5nZXNbaV0uYnVzOworCQlkZXZfYmFzZSA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9iYXNlOworCQlkZXZfbGltaXQgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfbGltaXQ7CisKKwkJZm9yIChzbG90ID0gZGV2X2Jhc2U7IHNsb3QgPCBkZXZfbGltaXQ7IHNsb3QrKykgeworCQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCAweDAwKSkpCisJCQkJY29udGludWU7CisKKwkJCWN0bCA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCk7CisJCQljdGwgJj0gfkFNRDY0X0dBUlRFTjsKKwkJCXdyaXRlX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsIGN0bCk7CisJCX0KIAl9CiAKIH0KIAorc3RhdGljIGludCBfX2luaXRkYXRhIHByaW50ZWRfZ2FydF9zaXplX21zZzsKKwogdm9pZCBfX2luaXQgZ2FydF9pb21tdV9ob2xlX2luaXQodm9pZCkKIHsKKwl1MzIgYWdwX2FwZXJfYmFzZSA9IDAsIGFncF9hcGVyX29yZGVyID0gMDsKIAl1MzIgYXBlcl9zaXplLCBhcGVyX2FsbG9jID0gMCwgYXBlcl9vcmRlciA9IDAsIGxhc3RfYXBlcl9vcmRlciA9IDA7CiAJdTY0IGFwZXJfYmFzZSwgbGFzdF9hcGVyX2Jhc2UgPSAwOwotCWludCBmaXgsIG51bSwgdmFsaWRfYWdwID0gMDsKLQlpbnQgbm9kZTsKKwlpbnQgZml4LCBzbG90LCB2YWxpZF9hZ3AgPSAwOworCWludCBpLCBub2RlOwogCiAJaWYgKGdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQgfHwgIWZpeF9hcGVydHVyZSB8fAogCSAgICAhZWFybHlfcGNpX2FsbG93ZWQoKSkKQEAgLTMyMywzOCArMzczLDY1IEBACiAKIAlwcmludGsoS0VSTl9JTkZPICAiQ2hlY2tpbmcgYXBlcnR1cmUuLi5cbiIpOwogCisJaWYgKCFmYWxsYmFja19hcGVyX2ZvcmNlKQorCQlhZ3BfYXBlcl9iYXNlID0gc2VhcmNoX2FncF9icmlkZ2UoJmFncF9hcGVyX29yZGVyLCAmdmFsaWRfYWdwKTsKKwogCWZpeCA9IDA7CiAJbm9kZSA9IDA7Ci0JZm9yIChudW0gPSAyNDsgbnVtIDwgMzI7IG51bSsrKSB7Ci0JCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHgwMCkpKQotCQkJY29udGludWU7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYnVzX2Rldl9yYW5nZXMpOyBpKyspIHsKKwkJaW50IGJ1czsKKwkJaW50IGRldl9iYXNlLCBkZXZfbGltaXQ7CiAKLQkJaW9tbXVfZGV0ZWN0ZWQgPSAxOwotCQlnYXJ0X2lvbW11X2FwZXJ0dXJlID0gMTsKKwkJYnVzID0gYnVzX2Rldl9yYW5nZXNbaV0uYnVzOworCQlkZXZfYmFzZSA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9iYXNlOworCQlkZXZfbGltaXQgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfbGltaXQ7CiAKLQkJYXBlcl9vcmRlciA9IChyZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwKSA+PiAxKSAmIDc7Ci0JCWFwZXJfc2l6ZSA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBhcGVyX29yZGVyOwotCQlhcGVyX2Jhc2UgPSByZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDk0KSAmIDB4N2ZmZjsKLQkJYXBlcl9iYXNlIDw8PSAyNTsKKwkJZm9yIChzbG90ID0gZGV2X2Jhc2U7IHNsb3QgPCBkZXZfbGltaXQ7IHNsb3QrKykgeworCQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCAweDAwKSkpCisJCQkJY29udGludWU7CiAKLQkJcHJpbnRrKEtFUk5fSU5GTyAiTm9kZSAlZDogYXBlcnR1cmUgQCAlTHggc2l6ZSAldSBNQlxuIiwKLQkJCQlub2RlLCBhcGVyX2Jhc2UsIGFwZXJfc2l6ZSA+PiAyMCk7Ci0JCW5vZGUrKzsKKwkJCWlvbW11X2RldGVjdGVkID0gMTsKKwkJCWdhcnRfaW9tbXVfYXBlcnR1cmUgPSAxOwogCi0JCWlmICghYXBlcnR1cmVfdmFsaWQoYXBlcl9iYXNlLCBhcGVyX3NpemUpKSB7Ci0JCQlmaXggPSAxOwotCQkJYnJlYWs7CisJCQlhcGVyX29yZGVyID0gKHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCkgPj4gMSkgJiA3OworCQkJYXBlcl9zaXplID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGFwZXJfb3JkZXI7CisJCQlhcGVyX2Jhc2UgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFKSAmIDB4N2ZmZjsKKwkJCWFwZXJfYmFzZSA8PD0gMjU7CisKKwkJCXByaW50ayhLRVJOX0lORk8gIk5vZGUgJWQ6IGFwZXJ0dXJlIEAgJUx4IHNpemUgJXUgTUJcbiIsCisJCQkJCW5vZGUsIGFwZXJfYmFzZSwgYXBlcl9zaXplID4+IDIwKTsKKwkJCW5vZGUrKzsKKworCQkJaWYgKCFhcGVydHVyZV92YWxpZChhcGVyX2Jhc2UsIGFwZXJfc2l6ZSwgNjQ8PDIwKSkgeworCQkJCWlmICh2YWxpZF9hZ3AgJiYgYWdwX2FwZXJfYmFzZSAmJgorCQkJCSAgICBhZ3BfYXBlcl9iYXNlID09IGFwZXJfYmFzZSAmJgorCQkJCSAgICBhZ3BfYXBlcl9vcmRlciA9PSBhcGVyX29yZGVyKSB7CisJCQkJCS8qIHRoZSBzYW1lIGJldHdlZW4gdHdvIHNldHRpbmcgZnJvbSBOQiBhbmQgYWdwICovCisJCQkJCWlmICghbm9faW9tbXUgJiYKKwkJCQkJICAgIG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOICYmCisJCQkJCSAgICAhcHJpbnRlZF9nYXJ0X3NpemVfbXNnKSB7CisJCQkJCQlwcmludGsoS0VSTl9FUlIgInlvdSBhcmUgdXNpbmcgaW9tbXUgd2l0aCBhZ3AsIGJ1dCBHQVJUIHNpemUgaXMgbGVzcyB0aGFuIDY0TVxuIik7CisJCQkJCQlwcmludGsoS0VSTl9FUlIgInBsZWFzZSBpbmNyZWFzZSBHQVJUIHNpemUgaW4geW91ciBCSU9TIHNldHVwXG4iKTsKKwkJCQkJCXByaW50ayhLRVJOX0VSUiAiaWYgQklPUyBkb2Vzbid0IGhhdmUgdGhhdCBvcHRpb24sIGNvbnRhY3QgeW91ciBIVyB2ZW5kb3IhXG4iKTsKKwkJCQkJCXByaW50ZWRfZ2FydF9zaXplX21zZyA9IDE7CisJCQkJCX0KKwkJCQl9IGVsc2UgeworCQkJCQlmaXggPSAxOworCQkJCQlnb3RvIG91dDsKKwkJCQl9CisJCQl9CisKKwkJCWlmICgobGFzdF9hcGVyX29yZGVyICYmIGFwZXJfb3JkZXIgIT0gbGFzdF9hcGVyX29yZGVyKSB8fAorCQkJICAgIChsYXN0X2FwZXJfYmFzZSAmJiBhcGVyX2Jhc2UgIT0gbGFzdF9hcGVyX2Jhc2UpKSB7CisJCQkJZml4ID0gMTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJCWxhc3RfYXBlcl9vcmRlciA9IGFwZXJfb3JkZXI7CisJCQlsYXN0X2FwZXJfYmFzZSA9IGFwZXJfYmFzZTsKIAkJfQotCi0JCWlmICgobGFzdF9hcGVyX29yZGVyICYmIGFwZXJfb3JkZXIgIT0gbGFzdF9hcGVyX29yZGVyKSB8fAotCQkgICAgKGxhc3RfYXBlcl9iYXNlICYmIGFwZXJfYmFzZSAhPSBsYXN0X2FwZXJfYmFzZSkpIHsKLQkJCWZpeCA9IDE7Ci0JCQlicmVhazsKLQkJfQotCQlsYXN0X2FwZXJfb3JkZXIgPSBhcGVyX29yZGVyOwotCQlsYXN0X2FwZXJfYmFzZSA9IGFwZXJfYmFzZTsKIAl9CiAKK291dDoKIAlpZiAoIWZpeCAmJiAhZmFsbGJhY2tfYXBlcl9mb3JjZSkgewogCQlpZiAobGFzdF9hcGVyX2Jhc2UpIHsKIAkJCXVuc2lnbmVkIGxvbmcgbiA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBsYXN0X2FwZXJfb3JkZXI7CkBAIC0zNjQsMTQgKzQ0MSwxNiBAQAogCQlyZXR1cm47CiAJfQogCi0JaWYgKCFmYWxsYmFja19hcGVyX2ZvcmNlKQotCQlhcGVyX2FsbG9jID0gc2VhcmNoX2FncF9icmlkZ2UoJmFwZXJfb3JkZXIsICZ2YWxpZF9hZ3ApOworCWlmICghZmFsbGJhY2tfYXBlcl9mb3JjZSkgeworCQlhcGVyX2FsbG9jID0gYWdwX2FwZXJfYmFzZTsKKwkJYXBlcl9vcmRlciA9IGFncF9hcGVyX29yZGVyOworCX0KIAogCWlmIChhcGVyX2FsbG9jKSB7CiAJCS8qIEdvdCB0aGUgYXBlcnR1cmUgZnJvbSB0aGUgQUdQIGJyaWRnZSAqLwogCX0gZWxzZSBpZiAoc3dpb3RsYiAmJiAhdmFsaWRfYWdwKSB7CiAJCS8qIERvIG5vdGhpbmcgKi8KLQl9IGVsc2UgaWYgKCghbm9faW9tbXUgJiYgZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4pIHx8CisJfSBlbHNlIGlmICgoIW5vX2lvbW11ICYmIG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOKSB8fAogCQkgICBmb3JjZV9pb21tdSB8fAogCQkgICB2YWxpZF9hZ3AgfHwKIAkJICAgZmFsbGJhY2tfYXBlcl9mb3JjZSkgewpAQCAtNDAxLDE2ICs0ODAsMjQgQEAKIAl9CiAKIAkvKiBGaXggdXAgdGhlIG5vcnRoIGJyaWRnZXMgKi8KLQlmb3IgKG51bSA9IDI0OyBudW0gPCAzMjsgbnVtKyspIHsKLQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDAwKSkpCi0JCQljb250aW51ZTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShidXNfZGV2X3Jhbmdlcyk7IGkrKykgeworCQlpbnQgYnVzOworCQlpbnQgZGV2X2Jhc2UsIGRldl9saW1pdDsKIAotCQkvKgotCQkgKiBEb24ndCBlbmFibGUgdHJhbnNsYXRpb24geWV0LiBUaGF0IGlzIGRvbmUgbGF0ZXIuCi0JCSAqIEFzc3VtZSB0aGlzIEJJT1MgZGlkbid0IGluaXRpYWxpc2UgdGhlIEdBUlQgc28KLQkJICoganVzdCBvdmVyd3JpdGUgYWxsIHByZXZpb3VzIGJpdHMKLQkJICovCi0JCXdyaXRlX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwLCBhcGVyX29yZGVyPDwxKTsKLQkJd3JpdGVfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTQsIGFwZXJfYWxsb2M+PjI1KTsKKwkJYnVzID0gYnVzX2Rldl9yYW5nZXNbaV0uYnVzOworCQlkZXZfYmFzZSA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9iYXNlOworCQlkZXZfbGltaXQgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfbGltaXQ7CisJCWZvciAoc2xvdCA9IGRldl9iYXNlOyBzbG90IDwgZGV2X2xpbWl0OyBzbG90KyspIHsKKwkJCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgMHgwMCkpKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBEb24ndCBlbmFibGUgdHJhbnNsYXRpb24geWV0LiBUaGF0IGlzIGRvbmUgbGF0ZXIuCisJCQkgICBBc3N1bWUgdGhpcyBCSU9TIGRpZG4ndCBpbml0aWFsaXNlIHRoZSBHQVJUIHNvCisJCQkgICBqdXN0IG92ZXJ3cml0ZSBhbGwgcHJldmlvdXMgYml0cyAqLworCQkJd3JpdGVfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgYXBlcl9vcmRlciA8PCAxKTsKKwkJCXdyaXRlX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCBhcGVyX2FsbG9jID4+IDI1KTsKKwkJfQogCX0KKworCXNldF91cF9nYXJ0X3Jlc3VtZShhcGVyX29yZGVyLCBhcGVyX2FsbG9jKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hcGljXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXBpY18zMi5jCmluZGV4IDRiOTliMWIuLmE0MzdkMDIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcGljXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FwaWNfMzIuYwpAQCAtNTIsMzAgKzUyLDQxIEBACiAKIHVuc2lnbmVkIGxvbmcgbXBfbGFwaWNfYWRkcjsKIAotREVGSU5FX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKSA9IEJBRF9BUElDSUQ7Ci1FWFBPUlRfUEVSX0NQVV9TWU1CT0woeDg2X2Jpb3NfY3B1X2FwaWNpZCk7Ci0KIC8qCiAgKiBLbm9iIHRvIGNvbnRyb2wgb3VyIHdpbGxpbmduZXNzIHRvIGVuYWJsZSB0aGUgbG9jYWwgQVBJQy4KICAqCi0gKiAtMT1mb3JjZS1kaXNhYmxlLCArMT1mb3JjZS1lbmFibGUKKyAqICsxPWZvcmNlLWVuYWJsZQogICovCi1zdGF0aWMgaW50IGVuYWJsZV9sb2NhbF9hcGljIF9faW5pdGRhdGE7CitzdGF0aWMgaW50IGZvcmNlX2VuYWJsZV9sb2NhbF9hcGljOworaW50IGRpc2FibGVfYXBpYzsKIAogLyogTG9jYWwgQVBJQyB0aW1lciB2ZXJpZmljYXRpb24gb2sgKi8KIHN0YXRpYyBpbnQgbG9jYWxfYXBpY190aW1lcl92ZXJpZnlfb2s7Ci0vKiBEaXNhYmxlIGxvY2FsIEFQSUMgdGltZXIgZnJvbSB0aGUga2VybmVsIGNvbW1hbmRsaW5lIG9yIHZpYSBkbWkgcXVpcmsKLSAgIG9yIHVzaW5nIENQVSBNU1IgY2hlY2sgKi8KLWludCBsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkOworLyogRGlzYWJsZSBsb2NhbCBBUElDIHRpbWVyIGZyb20gdGhlIGtlcm5lbCBjb21tYW5kbGluZSBvciB2aWEgZG1pIHF1aXJrICovCitzdGF0aWMgaW50IGxvY2FsX2FwaWNfdGltZXJfZGlzYWJsZWQ7CiAvKiBMb2NhbCBBUElDIHRpbWVyIHdvcmtzIGluIEMyICovCiBpbnQgbG9jYWxfYXBpY190aW1lcl9jMl9vazsKIEVYUE9SVF9TWU1CT0xfR1BMKGxvY2FsX2FwaWNfdGltZXJfYzJfb2spOwogCitpbnQgZmlyc3Rfc3lzdGVtX3ZlY3RvciA9IDB4ZmU7CisKK2NoYXIgc3lzdGVtX3ZlY3RvcnNbTlJfVkVDVE9SU10gPSB7IFswIC4uLiBOUl9WRUNUT1JTLTFdID0gU1lTX1ZFQ1RPUl9GUkVFfTsKKwogLyoKICAqIERlYnVnIGxldmVsLCBleHBvcnRlZCBmb3IgaW9fYXBpYy5jCiAgKi8KIGludCBhcGljX3ZlcmJvc2l0eTsKIAoraW50IHBpY19tb2RlOworCisvKiBIYXZlIHdlIGZvdW5kIGFuIE1QIHRhYmxlICovCitpbnQgc21wX2ZvdW5kX2NvbmZpZzsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsYXBpY19yZXNvdXJjZSA9IHsKKwkubmFtZSA9ICJMb2NhbCBBUElDIiwKKwkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWSwKK307CisKIHN0YXRpYyB1bnNpZ25lZCBpbnQgY2FsaWJyYXRpb25fcmVzdWx0OwogCiBzdGF0aWMgaW50IGxhcGljX25leHRfZXZlbnQodW5zaWduZWQgbG9uZyBkZWx0YSwKQEAgLTU0NSw3ICs1NTYsNyBAQAogCQkJbGFwaWNfY2xvY2tldmVudC5mZWF0dXJlcyAmPSB+Q0xPQ0tfRVZUX0ZFQVRfRFVNTVk7CiAJCWVsc2UKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIkFQSUMgdGltZXIgcmVnaXN0ZXJlZCBhcyBkdW1teSwiCi0JCQkgICAgICAgIiBkdWUgdG8gbm1pX3dhdGNoZG9nPTEhXG4iKTsKKwkJCQkiIGR1ZSB0byBubWlfd2F0Y2hkb2c9JWQhXG4iLCBubWlfd2F0Y2hkb2cpOwogCX0KIAogCS8qIFNldHVwIHRoZSBsYXBpYyBvciByZXF1ZXN0IHRoZSBicm9hZGNhc3QgKi8KQEAgLTk2Myw3ICs5NzQsNyBAQAogCSAqIERvdWJsZS1jaGVjayB3aGV0aGVyIHRoaXMgQVBJQyBpcyByZWFsbHkgcmVnaXN0ZXJlZC4KIAkgKi8KIAlpZiAoIWFwaWNfaWRfcmVnaXN0ZXJlZCgpKQotCQlCVUcoKTsKKwkJV0FSTl9PTl9PTkNFKDEpOwogCiAJLyoKIAkgKiBJbnRlbCByZWNvbW1lbmRzIHRvIHNldCBERlIsIExEUiBhbmQgVFBSIGJlZm9yZSBlbmFibGluZwpAQCAtMTA5NCw3ICsxMTA1LDcgQEAKIAl1MzIgaCwgbCwgZmVhdHVyZXM7CiAKIAkvKiBEaXNhYmxlZCBieSBrZXJuZWwgb3B0aW9uPyAqLwotCWlmIChlbmFibGVfbG9jYWxfYXBpYyA8IDApCisJaWYgKGRpc2FibGVfYXBpYykKIAkJcmV0dXJuIC0xOwogCiAJc3dpdGNoIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IpIHsKQEAgLTExMTcsNyArMTEyOCw3IEBACiAJCSAqIE92ZXItcmlkZSBCSU9TIGFuZCB0cnkgdG8gZW5hYmxlIHRoZSBsb2NhbCBBUElDIG9ubHkgaWYKIAkJICogImxhcGljIiBzcGVjaWZpZWQuCiAJCSAqLwotCQlpZiAoZW5hYmxlX2xvY2FsX2FwaWMgPD0gMCkgeworCQlpZiAoIWZvcmNlX2VuYWJsZV9sb2NhbF9hcGljKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJMb2NhbCBBUElDIGRpc2FibGVkIGJ5IEJJT1MgLS0gIgogCQkJICAgICAgICJ5b3UgY2FuIGVuYWJsZSBpdCB3aXRoIFwibGFwaWNcIlxuIik7CiAJCQlyZXR1cm4gLTE7CkBAIC0xMTU0LDkgKzExNjUsNiBAQAogCWlmIChsICYgTVNSX0lBMzJfQVBJQ0JBU0VfRU5BQkxFKQogCQltcF9sYXBpY19hZGRyID0gbCAmIE1TUl9JQTMyX0FQSUNCQVNFX0JBU0U7CiAKLQlpZiAobm1pX3dhdGNoZG9nICE9IE5NSV9OT05FICYmIG5taV93YXRjaGRvZyAhPSBOTUlfRElTQUJMRUQpCi0JCW5taV93YXRjaGRvZyA9IE5NSV9MT0NBTF9BUElDOwotCiAJcHJpbnRrKEtFUk5fSU5GTyAiRm91bmQgYW5kIGVuYWJsZWQgbG9jYWwgQVBJQyFcbiIpOwogCiAJYXBpY19wbV9hY3RpdmF0ZSgpOwpAQCAtMTE5NSwzNiArMTIwMyw2IEBACiAJaWYgKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9PSAtMVUpCiAJCWJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9IEdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKTsKIAotI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwotCXsKLQkJdW5zaWduZWQgbG9uZyBpb2FwaWNfcGh5cywgaWR4ID0gRklYX0lPX0FQSUNfQkFTRV8wOwotCQlpbnQgaTsKLQotCQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7Ci0JCQlpZiAoc21wX2ZvdW5kX2NvbmZpZykgewotCQkJCWlvYXBpY19waHlzID0gbXBfaW9hcGljc1tpXS5tcGNfYXBpY2FkZHI7Ci0JCQkJaWYgKCFpb2FwaWNfcGh5cykgewotCQkJCQlwcmludGsoS0VSTl9FUlIKLQkJCQkJICAgICAgICJXQVJOSU5HOiBib2d1cyB6ZXJvIElPLUFQSUMgIgotCQkJCQkgICAgICAgImFkZHJlc3MgZm91bmQgaW4gTVBUQUJMRSwgIgotCQkJCQkgICAgICAgImRpc2FibGluZyBJTy9BUElDIHN1cHBvcnQhXG4iKTsKLQkJCQkJc21wX2ZvdW5kX2NvbmZpZyA9IDA7Ci0JCQkJCXNraXBfaW9hcGljX3NldHVwID0gMTsKLQkJCQkJZ290byBmYWtlX2lvYXBpY19wYWdlOwotCQkJCX0KLQkJCX0gZWxzZSB7Ci1mYWtlX2lvYXBpY19wYWdlOgotCQkJCWlvYXBpY19waHlzID0gKHVuc2lnbmVkIGxvbmcpCi0JCQkJCSAgICAgIGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKLQkJCQlpb2FwaWNfcGh5cyA9IF9fcGEoaW9hcGljX3BoeXMpOwotCQkJfQotCQkJc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgaW9hcGljX3BoeXMpOwotCQkJcHJpbnRrKEtFUk5fREVCVUcgIm1hcHBlZCBJT0FQSUMgdG8gJTA4bHggKCUwOGx4KVxuIiwKLQkJCSAgICAgICBfX2ZpeF90b192aXJ0KGlkeCksIGlvYXBpY19waHlzKTsKLQkJCWlkeCsrOwotCQl9Ci0JfQotI2VuZGlmCiB9CiAKIC8qCkBAIC0xMjM2LDcgKzEyMTQsNyBAQAogCiBpbnQgX19pbml0IEFQSUNfaW5pdF91bmlwcm9jZXNzb3Iodm9pZCkKIHsKLQlpZiAoZW5hYmxlX2xvY2FsX2FwaWMgPCAwKQorCWlmIChkaXNhYmxlX2FwaWMpCiAJCWNsZWFyX2NwdV9jYXAoJmJvb3RfY3B1X2RhdGEsIFg4Nl9GRUFUVVJFX0FQSUMpOwogCiAJaWYgKCFzbXBfZm91bmRfY29uZmlnICYmICFjcHVfaGFzX2FwaWMpCkBAIC0xMjY1LDEwICsxMjQzLDE0IEBACiAjaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKIAlib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSBHRVRfQVBJQ19JRChyZWFkX2FwaWNfaWQoKSk7CiAjZW5kaWYKLQlwaHlzX2NwdV9wcmVzZW50X21hcCA9IHBoeXNpZF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQpOworCXBoeXNpZF9zZXRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkLCAmcGh5c19jcHVfcHJlc2VudF9tYXApOwogCiAJc2V0dXBfbG9jYWxfQVBJQygpOwogCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCisJaWYgKCFzbXBfZm91bmRfY29uZmlnIHx8IHNraXBfaW9hcGljX3NldHVwIHx8ICFucl9pb2FwaWNzKQorI2VuZGlmCisJCWxvY2FsaXNlX25taV93YXRjaGRvZygpOwogCWVuZF9sb2NhbF9BUElDX3NldHVwKCk7CiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCkBAIC0xMzUxLDEzICsxMzMzLDE3IEBACiAJICogVGhlIHJlc2NoZWR1bGUgaW50ZXJydXB0IGlzIGEgQ1BVLXRvLUNQVSByZXNjaGVkdWxlLWhlbHBlcgogCSAqIElQSSwgZHJpdmVuIGJ5IHdha2V1cC4KIAkgKi8KLQlzZXRfaW50cl9nYXRlKFJFU0NIRURVTEVfVkVDVE9SLCByZXNjaGVkdWxlX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKFJFU0NIRURVTEVfVkVDVE9SLCByZXNjaGVkdWxlX2ludGVycnVwdCk7CiAKIAkvKiBJUEkgZm9yIGludmFsaWRhdGlvbiAqLwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SLCBpbnZhbGlkYXRlX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQpOwogCiAJLyogSVBJIGZvciBnZW5lcmljIGZ1bmN0aW9uIGNhbGwgKi8KLQlzZXRfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fVkVDVE9SLCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fVkVDVE9SLCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCk7CisKKwkvKiBJUEkgZm9yIHNpbmdsZSBjYWxsIGZ1bmN0aW9uICovCisJc2V0X2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IsCisJCQkJY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KTsKIH0KICNlbmRpZgogCkBAIC0xMzcwLDE1ICsxMzU2LDE1IEBACiAJc21wX2ludHJfaW5pdCgpOwogI2VuZGlmCiAJLyogc2VsZiBnZW5lcmF0ZWQgSVBJIGZvciBsb2NhbCBBUElDIHRpbWVyICovCi0Jc2V0X2ludHJfZ2F0ZShMT0NBTF9USU1FUl9WRUNUT1IsIGFwaWNfdGltZXJfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoTE9DQUxfVElNRVJfVkVDVE9SLCBhcGljX3RpbWVyX2ludGVycnVwdCk7CiAKIAkvKiBJUEkgdmVjdG9ycyBmb3IgQVBJQyBzcHVyaW91cyBhbmQgZXJyb3IgaW50ZXJydXB0cyAqLwotCXNldF9pbnRyX2dhdGUoU1BVUklPVVNfQVBJQ19WRUNUT1IsIHNwdXJpb3VzX2ludGVycnVwdCk7Ci0Jc2V0X2ludHJfZ2F0ZShFUlJPUl9BUElDX1ZFQ1RPUiwgZXJyb3JfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoU1BVUklPVVNfQVBJQ19WRUNUT1IsIHNwdXJpb3VzX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKEVSUk9SX0FQSUNfVkVDVE9SLCBlcnJvcl9pbnRlcnJ1cHQpOwogCiAJLyogdGhlcm1hbCBtb25pdG9yIExWVCBpbnRlcnJ1cHQgKi8KICNpZmRlZiBDT05GSUdfWDg2X01DRV9QNFRIRVJNQUwKLQlzZXRfaW50cl9nYXRlKFRIRVJNQUxfQVBJQ19WRUNUT1IsIHRoZXJtYWxfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoVEhFUk1BTF9BUElDX1ZFQ1RPUiwgdGhlcm1hbF9pbnRlcnJ1cHQpOwogI2VuZGlmCiB9CiAKQEAgLTE1MTMsNiArMTQ5OSw5IEBACiAJCSAqLwogCQljcHUgPSAwOwogCisJaWYgKGFwaWNpZCA+IG1heF9waHlzaWNhbF9hcGljaWQpCisJCW1heF9waHlzaWNhbF9hcGljaWQgPSBhcGljaWQ7CisKIAkvKgogCSAqIFdvdWxkIGJlIHByZWZlcmFibGUgdG8gc3dpdGNoIHRvIGJpZ3NtcCB3aGVuIENPTkZJR19IT1RQTFVHX0NQVT15CiAJICogYnV0IHdlIG5lZWQgdG8gd29yayBvdGhlciBkZXBlbmRlbmNpZXMgbGlrZSBTTVBfU1VTUEVORCBldGMKQEAgLTE1MjAsNyArMTUwOSw3IEBACiAJICogaWYgKENQVV9IT1RQTFVHX0VOQUJMRUQgfHwgbnVtX3Byb2Nlc3NvcnMgPiA4KQogCSAqICAgICAgIC0gQXNob2sgUmFqIDxhc2hvay5yYWpAaW50ZWwuY29tPgogCSAqLwotCWlmIChudW1fcHJvY2Vzc29ycyA+IDgpIHsKKwlpZiAobWF4X3BoeXNpY2FsX2FwaWNpZCA+PSA4KSB7CiAJCXN3aXRjaCAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yKSB7CiAJCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKIAkJCWlmICghQVBJQ19YQVBJQyh2ZXJzaW9uKSkgewpAQCAtMTUzNCw5ICsxNTIzLDkgQEAKIAl9CiAjaWZkZWYgQ09ORklHX1NNUAogCS8qIGFyZSB3ZSBiZWluZyBjYWxsZWQgZWFybHkgaW4ga2VybmVsIHN0YXJ0dXA/ICovCi0JaWYgKHg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cikgewotCQl1MTYgKmNwdV90b19hcGljaWQgPSB4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHI7Ci0JCXUxNiAqYmlvc19jcHVfYXBpY2lkID0geDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7CisJaWYgKGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKSkgeworCQl1MTYgKmNwdV90b19hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX2FwaWNpZCk7CisJCXUxNiAqYmlvc19jcHVfYXBpY2lkID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2Jpb3NfY3B1X2FwaWNpZCk7CiAKIAkJY3B1X3RvX2FwaWNpZFtjcHVdID0gYXBpY2lkOwogCQliaW9zX2NwdV9hcGljaWRbY3B1XSA9IGFwaWNpZDsKQEAgLTE3MDMsMTQgKzE2OTIsMTQgQEAKICAqLwogc3RhdGljIGludCBfX2luaXQgcGFyc2VfbGFwaWMoY2hhciAqYXJnKQogewotCWVuYWJsZV9sb2NhbF9hcGljID0gMTsKKwlmb3JjZV9lbmFibGVfbG9jYWxfYXBpYyA9IDE7CiAJcmV0dXJuIDA7CiB9CiBlYXJseV9wYXJhbSgibGFwaWMiLCBwYXJzZV9sYXBpYyk7CiAKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX25vbGFwaWMoY2hhciAqYXJnKQogewotCWVuYWJsZV9sb2NhbF9hcGljID0gLTE7CisJZGlzYWJsZV9hcGljID0gMTsKIAljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9BUElDKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTE3NDAsMyArMTcyOSwyMSBAQAogfQogX19zZXR1cCgiYXBpYz0iLCBhcGljX3NldF92ZXJib3NpdHkpOwogCitzdGF0aWMgaW50IF9faW5pdCBsYXBpY19pbnNlcnRfcmVzb3VyY2Uodm9pZCkKK3sKKwlpZiAoIWFwaWNfcGh5cykKKwkJcmV0dXJuIC0xOworCisJLyogUHV0IGxvY2FsIEFQSUMgaW50byB0aGUgcmVzb3VyY2UgbWFwLiAqLworCWxhcGljX3Jlc291cmNlLnN0YXJ0ID0gYXBpY19waHlzOworCWxhcGljX3Jlc291cmNlLmVuZCA9IGxhcGljX3Jlc291cmNlLnN0YXJ0ICsgUEFHRV9TSVpFIC0gMTsKKwlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmbGFwaWNfcmVzb3VyY2UpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBuZWVkIGNhbGwgaW5zZXJ0IGFmdGVyIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXMoKQorICogdGhhdCBpcyB1c2luZyByZXF1ZXN0X3Jlc291cmNlCisgKi8KK2xhdGVfaW5pdGNhbGwobGFwaWNfaW5zZXJ0X3Jlc291cmNlKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hcGljXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXBpY182NC5jCmluZGV4IDA2MzNjZmQuLjFlM2QzMmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcGljXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FwaWNfNjQuYwpAQCAtNDMsNyArNDMsNyBAQAogI2luY2x1ZGUgPG1hY2hfaXBpLmg+CiAjaW5jbHVkZSA8bWFjaF9hcGljLmg+CiAKLWludCBkaXNhYmxlX2FwaWNfdGltZXIgX19jcHVpbml0ZGF0YTsKK3N0YXRpYyBpbnQgZGlzYWJsZV9hcGljX3RpbWVyIF9fY3B1aW5pdGRhdGE7CiBzdGF0aWMgaW50IGFwaWNfY2FsaWJyYXRlX3BtdG1yIF9faW5pdGRhdGE7CiBpbnQgZGlzYWJsZV9hcGljOwogCkBAIC01Niw2ICs1Niw5IEBACiAgKi8KIGludCBhcGljX3ZlcmJvc2l0eTsKIAorLyogSGF2ZSB3ZSBmb3VuZCBhbiBNUCB0YWJsZSAqLworaW50IHNtcF9mb3VuZF9jb25maWc7CisKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbGFwaWNfcmVzb3VyY2UgPSB7CiAJLm5hbWUgPSAiTG9jYWwgQVBJQyIsCiAJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0gfCBJT1JFU09VUkNFX0JVU1ksCkBAIC04Nyw5ICs5MCw2IEBACiAKIHVuc2lnbmVkIGxvbmcgbXBfbGFwaWNfYWRkcjsKIAotREVGSU5FX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKSA9IEJBRF9BUElDSUQ7Ci1FWFBPUlRfUEVSX0NQVV9TWU1CT0woeDg2X2Jpb3NfY3B1X2FwaWNpZCk7Ci0KIHVuc2lnbmVkIGludCBfX2NwdWluaXRkYXRhIG1heGNwdXMgPSBOUl9DUFVTOwogLyoKICAqIEdldCB0aGUgTEFQSUMgdmVyc2lvbgpAQCAtNDE3LDM3ICs0MTcsMTMgQEAKIAkJbGFwaWNfY2xvY2tldmVudC5mZWF0dXJlcyAmPSB+Q0xPQ0tfRVZUX0ZFQVRfRFVNTVk7CiAJZWxzZQogCQlwcmludGsoS0VSTl9XQVJOSU5HICJBUElDIHRpbWVyIHJlZ2lzdGVyZWQgYXMgZHVtbXksIgotCQkgICAgICAgIiBkdWUgdG8gbm1pX3dhdGNoZG9nPTEhXG4iKTsKKwkJCSIgZHVlIHRvIG5taV93YXRjaGRvZz0lZCFcbiIsIG5taV93YXRjaGRvZyk7CiAKIAlzZXR1cF9BUElDX3RpbWVyKCk7CiB9CiAKLS8qCi0gKiBBTUQgQzFFIGVuYWJsZWQgQ1BVcyBoYXZlIGEgcmVhbCBuYXN0eSBwcm9ibGVtOiBTb21lIEJJT1NlcyBzZXQgdGhlCi0gKiBDMUUgZmxhZyBvbmx5IGluIHRoZSBzZWNvbmRhcnkgQ1BVLCBzbyB3aGVuIHdlIGRldGVjdCB0aGUgd3JlY2thZ2UKLSAqIHdlIGFscmVhZHkgaGF2ZSBlbmFibGVkIHRoZSBib290IENQVSBsb2NhbCBhcGljIHRpbWVyLiBDaGVjaywgaWYKLSAqIGRpc2FibGVfYXBpY190aW1lciBpcyBzZXQgYW5kIHRoZSBEVU1NWSBmbGFnIGlzIGNsZWFyZWQuIElmIHllcywKLSAqIHNldCB0aGUgRFVNTVkgZmxhZyBhZ2FpbiBhbmQgZm9yY2UgdGhlIGJyb2FkY2FzdCBtb2RlIGluIHRoZQotICogY2xvY2tldmVudHMgbGF5ZXIuCi0gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBjaGVja19ib290X2FwaWNfdGltZXJfYnJvYWRjYXN0KHZvaWQpCi17Ci0JaWYgKCFkaXNhYmxlX2FwaWNfdGltZXIgfHwKLQkgICAgKGxhcGljX2Nsb2NrZXZlbnQuZmVhdHVyZXMgJiBDTE9DS19FVlRfRkVBVF9EVU1NWSkpCi0JCXJldHVybjsKLQotCXByaW50ayhLRVJOX0lORk8gIkFNRCBDMUUgZGV0ZWN0ZWQgbGF0ZS4gRm9yY2UgdGltZXIgYnJvYWRjYXN0LlxuIik7Ci0JbGFwaWNfY2xvY2tldmVudC5mZWF0dXJlcyB8PSBDTE9DS19FVlRfRkVBVF9EVU1NWTsKLQotCWxvY2FsX2lycV9lbmFibGUoKTsKLQljbG9ja2V2ZW50c19ub3RpZnkoQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfRk9SQ0UsCi0JCQkgICAmYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKLQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotfQotCiB2b2lkIF9fY3B1aW5pdCBzZXR1cF9zZWNvbmRhcnlfQVBJQ19jbG9jayh2b2lkKQogewotCWNoZWNrX2Jvb3RfYXBpY190aW1lcl9icm9hZGNhc3QoKTsKIAlzZXR1cF9BUElDX3RpbWVyKCk7CiB9CiAKQEAgLTg1MCw3ICs4MjYsNiBAQAogdm9pZCBfX2NwdWluaXQgZW5kX2xvY2FsX0FQSUNfc2V0dXAodm9pZCkKIHsKIAlsYXBpY19zZXR1cF9lc3IoKTsKLQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwogCXNldHVwX2FwaWNfbm1pX3dhdGNoZG9nKE5VTEwpOwogCWFwaWNfcG1fYWN0aXZhdGUoKTsKIH0KQEAgLTg3NSw3ICs4NTAsNyBAQAogCiB2b2lkIF9faW5pdCBlYXJseV9pbml0X2xhcGljX21hcHBpbmcodm9pZCkKIHsKLQl1bnNpZ25lZCBsb25nIGFwaWNfcGh5czsKKwl1bnNpZ25lZCBsb25nIHBoeXNfYWRkcjsKIAogCS8qCiAJICogSWYgbm8gbG9jYWwgQVBJQyBjYW4gYmUgZm91bmQgdGhlbiBnbyBvdXQKQEAgLTg4NCwxMSArODU5LDExIEBACiAJaWYgKCFzbXBfZm91bmRfY29uZmlnKQogCQlyZXR1cm47CiAKLQlhcGljX3BoeXMgPSBtcF9sYXBpY19hZGRyOworCXBoeXNfYWRkciA9IG1wX2xhcGljX2FkZHI7CiAKLQlzZXRfZml4bWFwX25vY2FjaGUoRklYX0FQSUNfQkFTRSwgYXBpY19waHlzKTsKKwlzZXRfZml4bWFwX25vY2FjaGUoRklYX0FQSUNfQkFTRSwgcGh5c19hZGRyKTsKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICJtYXBwZWQgQVBJQyB0byAlMTZseCAoJTE2bHgpXG4iLAotCQkJCSBBUElDX0JBU0UsIGFwaWNfcGh5cyk7CisJCSAgICBBUElDX0JBU0UsIHBoeXNfYWRkcik7CiAKIAkvKgogCSAqIEZldGNoIHRoZSBBUElDIElEIG9mIHRoZSBCU1AgaW4gY2FzZSB3ZSBoYXZlIGEKQEAgLTk0Miw3ICs5MTcsOSBAQAogCiAJdmVyaWZ5X2xvY2FsX0FQSUMoKTsKIAotCXBoeXNfY3B1X3ByZXNlbnRfbWFwID0gcGh5c2lkX21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7CisJY29ubmVjdF9ic3BfQVBJQygpOworCisJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQsICZwaHlzX2NwdV9wcmVzZW50X21hcCk7CiAJYXBpY193cml0ZShBUElDX0lELCBTRVRfQVBJQ19JRChib290X2NwdV9waHlzaWNhbF9hcGljaWQpKTsKIAogCXNldHVwX2xvY2FsX0FQSUMoKTsKQEAgLTk1NCw2ICs5MzEsOCBAQAogCWlmICghc2tpcF9pb2FwaWNfc2V0dXAgJiYgbnJfaW9hcGljcykKIAkJZW5hYmxlX0lPX0FQSUMoKTsKIAorCWlmICghc21wX2ZvdW5kX2NvbmZpZyB8fCBza2lwX2lvYXBpY19zZXR1cCB8fCAhbnJfaW9hcGljcykKKwkJbG9jYWxpc2Vfbm1pX3dhdGNoZG9nKCk7CiAJZW5kX2xvY2FsX0FQSUNfc2V0dXAoKTsKIAogCWlmIChzbXBfZm91bmRfY29uZmlnICYmICFza2lwX2lvYXBpY19zZXR1cCAmJiBucl9pb2FwaWNzKQpAQCAtMTAyMSw2ICsxMDAwLDE0IEBACiAJaXJxX2V4aXQoKTsKIH0KIAorLyoqCisgKiAgKiBjb25uZWN0X2JzcF9BUElDIC0gYXR0YWNoIHRoZSBBUElDIHRvIHRoZSBpbnRlcnJ1cHQgc3lzdGVtCisgKiAgICovCit2b2lkIF9faW5pdCBjb25uZWN0X2JzcF9BUElDKHZvaWQpCit7CisJZW5hYmxlX2FwaWNfbW9kZSgpOworfQorCiB2b2lkIGRpc2Nvbm5lY3RfYnNwX0FQSUMoaW50IHZpcnRfd2lyZV9zZXR1cCkKIHsKIAkvKiBHbyBiYWNrIHRvIFZpcnR1YWwgV2lyZSBjb21wYXRpYmlsaXR5IG1vZGUgKi8KQEAgLTEwOTAsMTAgKzEwNzcsMTMgQEAKIAkJICovCiAJCWNwdSA9IDA7CiAJfQorCWlmIChhcGljaWQgPiBtYXhfcGh5c2ljYWxfYXBpY2lkKQorCQltYXhfcGh5c2ljYWxfYXBpY2lkID0gYXBpY2lkOworCiAJLyogYXJlIHdlIGJlaW5nIGNhbGxlZCBlYXJseSBpbiBrZXJuZWwgc3RhcnR1cD8gKi8KLQlpZiAoeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyKSB7Ci0JCXUxNiAqY3B1X3RvX2FwaWNpZCA9IHg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cjsKLQkJdTE2ICpiaW9zX2NwdV9hcGljaWQgPSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0cjsKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpKSB7CisJCXUxNiAqY3B1X3RvX2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKTsKKwkJdTE2ICpiaW9zX2NwdV9hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAogCQljcHVfdG9fYXBpY2lkW2NwdV0gPSBhcGljaWQ7CiAJCWJpb3NfY3B1X2FwaWNpZFtjcHVdID0gYXBpY2lkOwpAQCAtMTI2OSw3ICsxMjU5LDcgQEAKIAlpZiAoKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCkgJiYgIWlzX3ZzbXBfYm94KCkpCiAJCXJldHVybiAwOwogCi0JYmlvc19jcHVfYXBpY2lkID0geDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7CisJYmlvc19jcHVfYXBpY2lkID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2Jpb3NfY3B1X2FwaWNpZCk7CiAJYml0bWFwX3plcm8oY2x1c3Rlcm1hcCwgTlVNX0FQSUNfQ0xVU1RFUlMpOwogCiAJZm9yIChpID0gMDsgaSA8IE5SX0NQVVM7IGkrKykgewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwbV8zMi5jIGIvYXJjaC94ODYva2VybmVsL2FwbV8zMi5jCmluZGV4IGJmOTI5MGUuLjc1Y2I1ZGEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcG1fMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXBtXzMyLmMKQEAgLTIwNCw2ICsyMDQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgpAQCAtMjI4LDYgKzIyOSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMTE0OSw3ICsxMTUxLDcgQEAKIAkJCQlhcy0+ZXZlbnRfdGFpbCA9IDA7CiAJCX0KIAkJYXMtPmV2ZW50c1thcy0+ZXZlbnRfaGVhZF0gPSBldmVudDsKLQkJaWYgKCghYXMtPnN1c2VyKSB8fCAoIWFzLT53cml0ZXIpKQorCQlpZiAoIWFzLT5zdXNlciB8fCAhYXMtPndyaXRlcikKIAkJCWNvbnRpbnVlOwogCQlzd2l0Y2ggKGV2ZW50KSB7CiAJCWNhc2UgQVBNX1NZU19TVVNQRU5EOgpAQCAtMTM5Niw3ICsxMzk4LDcgQEAKIAogc3RhdGljIGludCBjaGVja19hcG1fdXNlcihzdHJ1Y3QgYXBtX3VzZXIgKmFzLCBjb25zdCBjaGFyICpmdW5jKQogewotCWlmICgoYXMgPT0gTlVMTCkgfHwgKGFzLT5tYWdpYyAhPSBBUE1fQklPU19NQUdJQykpIHsKKwlpZiAoYXMgPT0gTlVMTCB8fCBhcy0+bWFnaWMgIT0gQVBNX0JJT1NfTUFHSUMpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJhcG06ICVzIHBhc3NlZCBiYWQgZmlscFxuIiwgZnVuYyk7CiAJCXJldHVybiAxOwogCX0KQEAgLTE0NTksMTggKzE0NjEsMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBkb19pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCwKLQkJICAgIHVfaW50IGNtZCwgdV9sb25nIGFyZykKK3N0YXRpYyBsb25nIGRvX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLCB1X2ludCBjbWQsIHVfbG9uZyBhcmcpCiB7CiAJc3RydWN0IGFwbV91c2VyICphczsKKwlpbnQgcmV0OwogCiAJYXMgPSBmaWxwLT5wcml2YXRlX2RhdGE7CiAJaWYgKGNoZWNrX2FwbV91c2VyKGFzLCAiaW9jdGwiKSkKIAkJcmV0dXJuIC1FSU87Ci0JaWYgKCghYXMtPnN1c2VyKSB8fCAoIWFzLT53cml0ZXIpKQorCWlmICghYXMtPnN1c2VyIHx8ICFhcy0+d3JpdGVyKQogCQlyZXR1cm4gLUVQRVJNOwogCXN3aXRjaCAoY21kKSB7CiAJY2FzZSBBUE1fSU9DX1NUQU5EQlk6CisJCWxvY2tfa2VybmVsKCk7CiAJCWlmIChhcy0+c3RhbmRieXNfcmVhZCA+IDApIHsKIAkJCWFzLT5zdGFuZGJ5c19yZWFkLS07CiAJCQlhcy0+c3RhbmRieXNfcGVuZGluZy0tOwpAQCAtMTQ3OSw4ICsxNDgyLDEwIEBACiAJCQlxdWV1ZV9ldmVudChBUE1fVVNFUl9TVEFOREJZLCBhcyk7CiAJCWlmIChzdGFuZGJ5c19wZW5kaW5nIDw9IDApCiAJCQlzdGFuZGJ5KCk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJYnJlYWs7CiAJY2FzZSBBUE1fSU9DX1NVU1BFTkQ6CisJCWxvY2tfa2VybmVsKCk7CiAJCWlmIChhcy0+c3VzcGVuZHNfcmVhZCA+IDApIHsKIAkJCWFzLT5zdXNwZW5kc19yZWFkLS07CiAJCQlhcy0+c3VzcGVuZHNfcGVuZGluZy0tOwpAQCAtMTQ4OCwxNiArMTQ5MywxNyBAQAogCQl9IGVsc2UKIAkJCXF1ZXVlX2V2ZW50KEFQTV9VU0VSX1NVU1BFTkQsIGFzKTsKIAkJaWYgKHN1c3BlbmRzX3BlbmRpbmcgPD0gMCkgewotCQkJcmV0dXJuIHN1c3BlbmQoMSk7CisJCQlyZXQgPSBzdXNwZW5kKDEpOwogCQl9IGVsc2UgewogCQkJYXMtPnN1c3BlbmRfd2FpdCA9IDE7CiAJCQl3YWl0X2V2ZW50X2ludGVycnVwdGlibGUoYXBtX3N1c3BlbmRfd2FpdHF1ZXVlLAogCQkJCQlhcy0+c3VzcGVuZF93YWl0ID09IDApOwotCQkJcmV0dXJuIGFzLT5zdXNwZW5kX3Jlc3VsdDsKKwkJCXJldCA9IGFzLT5zdXNwZW5kX3Jlc3VsdDsKIAkJfQotCQlicmVhazsKKwkJdW5sb2NrX2tlcm5lbCgpOworCQlyZXR1cm4gcmV0OwogCWRlZmF1bHQ6Ci0JCXJldHVybiAtRUlOVkFMOworCQlyZXR1cm4gLUVOT1RUWTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC0xNTQ0LDEwICsxNTUwLDEyIEBACiB7CiAJc3RydWN0IGFwbV91c2VyICphczsKIAorCWxvY2tfa2VybmVsKCk7CiAJYXMgPSBrbWFsbG9jKHNpemVvZigqYXMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoYXMgPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgImFwbTogY2Fubm90IGFsbG9jYXRlIHN0cnVjdCBvZiBzaXplICVkIGJ5dGVzXG4iLAogCQkgICAgICAgc2l6ZW9mKCphcykpOworCQkgICAgICAgdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAJYXMtPm1hZ2ljID0gQVBNX0JJT1NfTUFHSUM7CkBAIC0xNTY5LDYgKzE1NzcsNyBAQAogCXVzZXJfbGlzdCA9IGFzOwogCXNwaW5fdW5sb2NrKCZ1c2VyX2xpc3RfbG9jayk7CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gYXM7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCkBAIC0xODYwLDcgKzE4NjksNyBAQAogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkucmVhZAkJPSBkb19yZWFkLAogCS5wb2xsCQk9IGRvX3BvbGwsCi0JLmlvY3RsCQk9IGRvX2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bAk9IGRvX2lvY3RsLAogCS5vcGVuCQk9IGRvX29wZW4sCiAJLnJlbGVhc2UJPSBkb19yZWxlYXNlLAogfTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c18zMi5jIGIvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzMyLmMKaW5kZXggOTI1ODgwOC4uNjY0OWQwOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzMyLmMKQEAgLTExMSw3ICsxMTEsNyBAQAogCU9GRlNFVChQVl9JUlFfaXJxX2Rpc2FibGUsIHB2X2lycV9vcHMsIGlycV9kaXNhYmxlKTsKIAlPRkZTRVQoUFZfSVJRX2lycV9lbmFibGUsIHB2X2lycV9vcHMsIGlycV9lbmFibGUpOwogCU9GRlNFVChQVl9DUFVfaXJldCwgcHZfY3B1X29wcywgaXJldCk7Ci0JT0ZGU0VUKFBWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0LCBwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0KTsKKwlPRkZTRVQoUFZfQ1BVX2lycV9lbmFibGVfc3lzZXhpdCwgcHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0KTsKIAlPRkZTRVQoUFZfQ1BVX3JlYWRfY3IwLCBwdl9jcHVfb3BzLCByZWFkX2NyMCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfNjQuYwppbmRleCBmMTI2YzA1Li5iYWNmNWRlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfNjQuYwpAQCAtMzQsNyArMzQsNyBAQAogCUVOVFJZKHBpZCk7CiAJQkxBTksoKTsKICN1bmRlZiBFTlRSWQotI2RlZmluZSBFTlRSWShlbnRyeSkgREVGSU5FKHRocmVhZGluZm9fICMjIGVudHJ5LCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8sIGVudHJ5KSkKKyNkZWZpbmUgRU5UUlkoZW50cnkpIERFRklORShUSV8gIyMgZW50cnksIG9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgZW50cnkpKQogCUVOVFJZKGZsYWdzKTsKIAlFTlRSWShhZGRyX2xpbWl0KTsKIAlFTlRSWShwcmVlbXB0X2NvdW50KTsKQEAgLTYxLDggKzYxLDExIEBACiAJT0ZGU0VUKFBBUkFWSVJUX1BBVENIX3B2X2lycV9vcHMsIHBhcmF2aXJ0X3BhdGNoX3RlbXBsYXRlLCBwdl9pcnFfb3BzKTsKIAlPRkZTRVQoUFZfSVJRX2lycV9kaXNhYmxlLCBwdl9pcnFfb3BzLCBpcnFfZGlzYWJsZSk7CiAJT0ZGU0VUKFBWX0lSUV9pcnFfZW5hYmxlLCBwdl9pcnFfb3BzLCBpcnFfZW5hYmxlKTsKKwlPRkZTRVQoUFZfSVJRX2FkanVzdF9leGNlcHRpb25fZnJhbWUsIHB2X2lycV9vcHMsIGFkanVzdF9leGNlcHRpb25fZnJhbWUpOwogCU9GRlNFVChQVl9DUFVfaXJldCwgcHZfY3B1X29wcywgaXJldCk7Ci0JT0ZGU0VUKFBWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0LCBwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0KTsKKwlPRkZTRVQoUFZfQ1BVX3VzZXJnc19zeXNyZXQzMiwgcHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDMyKTsKKwlPRkZTRVQoUFZfQ1BVX3VzZXJnc19zeXNyZXQ2NCwgcHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDY0KTsKKwlPRkZTRVQoUFZfQ1BVX2lycV9lbmFibGVfc3lzZXhpdCwgcHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0KTsKIAlPRkZTRVQoUFZfQ1BVX3N3YXBncywgcHZfY3B1X29wcywgc3dhcGdzKTsKIAlPRkZTRVQoUFZfTU1VX3JlYWRfY3IyLCBwdl9tbXVfb3BzLCByZWFkX2NyMik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvTWFrZWZpbGUgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L01ha2VmaWxlCmluZGV4IGEwYzZmODEuLmVlNzZlYWEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9NYWtlZmlsZQpAQCAtNiwxMSArNiwxNSBAQAogb2JqLXkJCQkrPSBwcm9jLm8gZmVhdHVyZV9uYW1lcy5vCiAKIG9iai0kKENPTkZJR19YODZfMzIpCSs9IGNvbW1vbi5vIGJ1Z3Mubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gY29tbW9uXzY0Lm8gYnVnc182NC5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSBhbWQubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gYW1kXzY0Lm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IGN5cml4Lm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IGNlbnRhdXIubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gY2VudGF1cl82NC5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSB0cmFuc21ldGEubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gaW50ZWwubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gaW50ZWxfNjQubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gdW1jLm8KIAogb2JqLSQoQ09ORklHX1g4Nl9NQ0UpCSs9IG1jaGVjay8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYWRkb25fY3B1aWRfZmVhdHVyZXMuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYWRkb25fY3B1aWRfZmVhdHVyZXMuYwppbmRleCBjMmUxY2UzLi44NGE4MjIwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FkZG9uX2NwdWlkX2ZlYXR1cmVzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9hZGRvbl9jcHVpZF9mZWF0dXJlcy5jCkBAIC0xLDkgKzEsNyBAQAotCiAvKgogICoJUm91dGluZXMgdG8gaW5kZW50aWZ5IGFkZGl0aW9uYWwgY3B1IGZlYXR1cmVzIHRoYXQgYXJlIHNjYXR0ZXJlZCBpbgogICoJY3B1aWQgc3BhY2UuCiAgKi8KLQogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgogCiAjaW5jbHVkZSA8YXNtL3BhdC5oPgpAQCAtNTMsMTkgKzUxLDIwIEBACiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKIHZvaWQgX19jcHVpbml0IHZhbGlkYXRlX3BhdF9zdXBwb3J0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKKwlpZiAoIWNwdV9oYXNfcGF0KQorCQlwYXRfZGlzYWJsZSgiUEFUIG5vdCBzdXBwb3J0ZWQgYnkgQ1BVLiIpOworCiAJc3dpdGNoIChjLT54ODZfdmVuZG9yKSB7Ci0JY2FzZSBYODZfVkVORE9SX0FNRDoKLQkJaWYgKGMtPng4NiA+PSAweGYgJiYgYy0+eDg2IDw9IDB4MTEpCi0JCQlyZXR1cm47Ci0JCWJyZWFrOwogCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKIAkJaWYgKGMtPng4NiA9PSAweEYgfHwgKGMtPng4NiA9PSA2ICYmIGMtPng4Nl9tb2RlbCA+PSAxNSkpCiAJCQlyZXR1cm47CiAJCWJyZWFrOworCWNhc2UgWDg2X1ZFTkRPUl9BTUQ6CisJY2FzZSBYODZfVkVORE9SX0NFTlRBVVI6CisJY2FzZSBYODZfVkVORE9SX1RSQU5TTUVUQToKKwkJcmV0dXJuOwogCX0KIAotCXBhdF9kaXNhYmxlKGNwdV9oYXNfcGF0ID8KLQkJICAgICJQQVQgZGlzYWJsZWQuIE5vdCB5ZXQgdmVyaWZpZWQgb24gdGhpcyBDUFUgdHlwZS4iIDoKLQkJICAgICJQQVQgbm90IHN1cHBvcnRlZCBieSBDUFUuIik7CisJcGF0X2Rpc2FibGUoIlBBVCBkaXNhYmxlZC4gTm90IHlldCB2ZXJpZmllZCBvbiB0aGlzIENQVSB0eXBlLiIpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYwppbmRleCAyNDU4NjY4Li44MWEwN2NhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMKQEAgLTI0LDQzICsyNCw2IEBACiBleHRlcm4gdm9pZCB2aWRlKHZvaWQpOwogX19hc21fXygiLmFsaWduIDRcbnZpZGU6IHJldCIpOwogCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0jZGVmaW5lIEVOQUJMRV9DMUVfTUFTSyAgICAgICAgIDB4MTgwMDAwMDAKLSNkZWZpbmUgQ1BVSURfUFJPQ0VTU09SX1NJR05BVFVSRSAgICAgICAxCi0jZGVmaW5lIENQVUlEX1hGQU0gICAgICAgICAgICAgIDB4MGZmMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV9LOCAgICAgICAgICAgMHgwMDAwMDAwMAotI2RlZmluZSBDUFVJRF9YRkFNXzEwSCAgICAgICAgICAweDAwMTAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fMTFIICAgICAgICAgIDB4MDAyMDAwMDAKLSNkZWZpbmUgQ1BVSURfWE1PRCAgICAgICAgICAgICAgMHgwMDBmMDAwMAotI2RlZmluZSBDUFVJRF9YTU9EX1JFVl9GICAgICAgICAweDAwMDQwMDAwCi0KLS8qIEFNRCBzeXN0ZW1zIHdpdGggQzFFIGRvbid0IGhhdmUgYSB3b3JraW5nIGxBUElDIHRpbWVyLiBDaGVjayBmb3IgdGhhdC4gKi8KLXN0YXRpYyBfX2NwdWluaXQgaW50IGFtZF9hcGljX3RpbWVyX2Jyb2tlbih2b2lkKQotewotCXUzMiBsbywgaGk7Ci0JdTMyIGVheCA9IGNwdWlkX2VheChDUFVJRF9QUk9DRVNTT1JfU0lHTkFUVVJFKTsKLQlzd2l0Y2ggKGVheCAmIENQVUlEX1hGQU0pIHsKLQljYXNlIENQVUlEX1hGQU1fSzg6Ci0JCWlmICgoZWF4ICYgQ1BVSURfWE1PRCkgPCBDUFVJRF9YTU9EX1JFVl9GKQotCQkJYnJlYWs7Ci0JY2FzZSBDUFVJRF9YRkFNXzEwSDoKLQljYXNlIENQVUlEX1hGQU1fMTFIOgotCQlyZG1zcihNU1JfSzhfRU5BQkxFX0MxRSwgbG8sIGhpKTsKLQkJaWYgKGxvICYgRU5BQkxFX0MxRV9NQVNLKSB7Ci0JCQlpZiAoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCkKLQkJCQlwcmludGsoS0VSTl9JTkZPICJBTUQgQzFFIGRldGVjdGVkIGxhdGUuICIKLQkJCQkgICAgICAgIglGb3JjZSB0aW1lciBicm9hZGNhc3QuXG4iKTsKLQkJCXJldHVybiAxOwotCQl9Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCS8qIGVyciBvbiB0aGUgc2lkZSBvZiBjYXV0aW9uICovCi0JCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLSNlbmRpZgotCiBpbnQgZm9yY2VfbXdhaXQgX19jcHVpbml0ZGF0YTsKIAogc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKQEAgLTI5NywxMSArMjYwLDYgQEAKIAkJCW51bV9jYWNoZV9sZWF2ZXMgPSAzOwogCX0KIAotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWlmIChhbWRfYXBpY190aW1lcl9icm9rZW4oKSkKLQkJbG9jYWxfYXBpY190aW1lcl9kaXNhYmxlZCA9IDE7Ci0jZW5kaWYKLQogCS8qIEs2cyByZXBvcnRzIE1DRXMgYnV0IGRvbid0IGFjdHVhbGx5IGhhdmUgYWxsIHRoZSBNU1JzICovCiAJaWYgKGMtPng4NiA8IDYpCiAJCWNsZWFyX2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfTUNFKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZF82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMzZmYjgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZF82NC5jCkBAIC0wLDAgKzEsMjIyIEBACisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisKKyNpbmNsdWRlIDxhc20vbnVtYV82NC5oPgorI2luY2x1ZGUgPGFzbS9tbWNvbmZpZy5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisKKyNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKworI2luY2x1ZGUgImNwdS5oIgorCitpbnQgZm9yY2VfbXdhaXQgX19jcHVpbml0ZGF0YTsKKworI2lmZGVmIENPTkZJR19OVU1BCitzdGF0aWMgaW50IF9fY3B1aW5pdCBuZWFyYnlfbm9kZShpbnQgYXBpY2lkKQoreworCWludCBpLCBub2RlOworCisJZm9yIChpID0gYXBpY2lkIC0gMTsgaSA+PSAwOyBpLS0pIHsKKwkJbm9kZSA9IGFwaWNpZF90b19ub2RlW2ldOworCQlpZiAobm9kZSAhPSBOVU1BX05PX05PREUgJiYgbm9kZV9vbmxpbmUobm9kZSkpCisJCQlyZXR1cm4gbm9kZTsKKwl9CisJZm9yIChpID0gYXBpY2lkICsgMTsgaSA8IE1BWF9MT0NBTF9BUElDOyBpKyspIHsKKwkJbm9kZSA9IGFwaWNpZF90b19ub2RlW2ldOworCQlpZiAobm9kZSAhPSBOVU1BX05PX05PREUgJiYgbm9kZV9vbmxpbmUobm9kZSkpCisJCQlyZXR1cm4gbm9kZTsKKwl9CisJcmV0dXJuIGZpcnN0X25vZGUobm9kZV9vbmxpbmVfbWFwKTsgLyogU2hvdWxkbid0IGhhcHBlbiAqLworfQorI2VuZGlmCisKKy8qCisgKiBPbiBhIEFNRCBkdWFsIGNvcmUgc2V0dXAgdGhlIGxvd2VyIGJpdHMgb2YgdGhlIEFQSUMgaWQgZGlzdGluZ3VzaCB0aGUgY29yZXMuCisgKiBBc3N1bWVzIG51bWJlciBvZiBjb3JlcyBpcyBhIHBvd2VyIG9mIHR3by4KKyAqLworc3RhdGljIHZvaWQgX19jcHVpbml0IGFtZF9kZXRlY3RfY21wKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKyNpZmRlZiBDT05GSUdfU01QCisJdW5zaWduZWQgYml0czsKKyNpZmRlZiBDT05GSUdfTlVNQQorCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJaW50IG5vZGUgPSAwOworCXVuc2lnbmVkIGFwaWNpZCA9IGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpOworI2VuZGlmCisJYml0cyA9IGMtPng4Nl9jb3JlaWRfYml0czsKKworCS8qIExvdyBvcmRlciBiaXRzIGRlZmluZSB0aGUgY29yZSBpZCAoaW5kZXggb2YgY29yZSBpbiBzb2NrZXQpICovCisJYy0+Y3B1X2NvcmVfaWQgPSBjLT5pbml0aWFsX2FwaWNpZCAmICgoMSA8PCBiaXRzKS0xKTsKKwkvKiBDb252ZXJ0IHRoZSBpbml0aWFsIEFQSUMgSUQgaW50byB0aGUgc29ja2V0IElEICovCisJYy0+cGh5c19wcm9jX2lkID0gYy0+aW5pdGlhbF9hcGljaWQgPj4gYml0czsKKworI2lmZGVmIENPTkZJR19OVU1BCisJbm9kZSA9IGMtPnBoeXNfcHJvY19pZDsKKwlpZiAoYXBpY2lkX3RvX25vZGVbYXBpY2lkXSAhPSBOVU1BX05PX05PREUpCisJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVthcGljaWRdOworCWlmICghbm9kZV9vbmxpbmUobm9kZSkpIHsKKwkJLyogVHdvIHBvc3NpYmlsaXRpZXMgaGVyZToKKwkJICAgLSBUaGUgQ1BVIGlzIG1pc3NpbmcgbWVtb3J5IGFuZCBubyBub2RlIHdhcyBjcmVhdGVkLgorCQkgICBJbiB0aGF0IGNhc2UgdHJ5IHBpY2tpbmcgb25lIGZyb20gYSBuZWFyYnkgQ1BVCisJCSAgIC0gVGhlIEFQSUMgSURzIGRpZmZlciBmcm9tIHRoZSBIeXBlclRyYW5zcG9ydCBub2RlIElEcworCQkgICB3aGljaCB0aGUgSzggbm9ydGhicmlkZ2UgcGFyc2luZyBmaWxscyBpbi4KKwkJICAgQXNzdW1lIHRoZXkgYXJlIGFsbCBpbmNyZWFzZWQgYnkgYSBjb25zdGFudCBvZmZzZXQsCisJCSAgIGJ1dCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgSFQgbm9kZWlkcy4KKwkJICAgSWYgdGhhdCBkb2Vzbid0IHJlc3VsdCBpbiBhIHVzYWJsZSBub2RlIGZhbGwgYmFjayB0byB0aGUKKwkJICAgcGF0aCBmb3IgdGhlIHByZXZpb3VzIGNhc2UuICAqLworCisJCWludCBodF9ub2RlaWQgPSBjLT5pbml0aWFsX2FwaWNpZDsKKworCQlpZiAoaHRfbm9kZWlkID49IDAgJiYKKwkJICAgIGFwaWNpZF90b19ub2RlW2h0X25vZGVpZF0gIT0gTlVNQV9OT19OT0RFKQorCQkJbm9kZSA9IGFwaWNpZF90b19ub2RlW2h0X25vZGVpZF07CisJCS8qIFBpY2sgYSBuZWFyYnkgbm9kZSAqLworCQlpZiAoIW5vZGVfb25saW5lKG5vZGUpKQorCQkJbm9kZSA9IG5lYXJieV9ub2RlKGFwaWNpZCk7CisJfQorCW51bWFfc2V0X25vZGUoY3B1LCBub2RlKTsKKworCXByaW50ayhLRVJOX0lORk8gIkNQVSAlZC8leCAtPiBOb2RlICVkXG4iLCBjcHUsIGFwaWNpZCwgbm9kZSk7CisjZW5kaWYKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9hbWRfbWMoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworI2lmZGVmIENPTkZJR19TTVAKKwl1bnNpZ25lZCBiaXRzLCBlY3g7CisKKwkvKiBNdWx0aSBjb3JlIENQVT8gKi8KKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPCAweDgwMDAwMDA4KQorCQlyZXR1cm47CisKKwllY3ggPSBjcHVpZF9lY3goMHg4MDAwMDAwOCk7CisKKwljLT54ODZfbWF4X2NvcmVzID0gKGVjeCAmIDB4ZmYpICsgMTsKKworCS8qIENQVSB0ZWxsaW5nIHVzIHRoZSBjb3JlIGlkIGJpdHMgc2hpZnQ/ICovCisJYml0cyA9IChlY3ggPj4gMTIpICYgMHhGOworCisJLyogT3RoZXJ3aXNlIHJlY29tcHV0ZSAqLworCWlmIChiaXRzID09IDApIHsKKwkJd2hpbGUgKCgxIDw8IGJpdHMpIDwgYy0+eDg2X21heF9jb3JlcykKKwkJCWJpdHMrKzsKKwl9CisKKwljLT54ODZfY29yZWlkX2JpdHMgPSBiaXRzOworCisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwllYXJseV9pbml0X2FtZF9tYyhjKTsKKworCS8qIGMtPng4Nl9wb3dlciBpcyA4MDAwXzAwMDcgZWR4LiBCaXQgOCBpcyBjb25zdGFudCBUU0MgKi8KKwlpZiAoYy0+eDg2X3Bvd2VyICYgKDE8PDgpKQorCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOworfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXVuc2lnbmVkIGxldmVsOworCisjaWZkZWYgQ09ORklHX1NNUAorCXVuc2lnbmVkIGxvbmcgdmFsdWU7CisKKwkvKgorCSAqIERpc2FibGUgVExCIGZsdXNoIGZpbHRlciBieSBzZXR0aW5nIEhXQ1IuRkZESVMgb24gSzgKKwkgKiBiaXQgNiBvZiBtc3IgQzAwMV8wMDE1CisJICoKKwkgKiBFcnJhdGEgNjMgZm9yIFNILUIzIHN0ZXBwaW5ncworCSAqIEVycmF0YSAxMjIgZm9yIGFsbCBzdGVwcGluZ3MgKEYrIGhhdmUgaXQgZGlzYWJsZWQgYnkgZGVmYXVsdCkKKwkgKi8KKwlpZiAoYy0+eDg2ID09IDB4ZikgeworCQlyZG1zcmwoTVNSX0s4X0hXQ1IsIHZhbHVlKTsKKwkJdmFsdWUgfD0gMSA8PCA2OworCQl3cm1zcmwoTVNSX0s4X0hXQ1IsIHZhbHVlKTsKKwl9CisjZW5kaWYKKworCS8qIEJpdCAzMSBpbiBub3JtYWwgQ1BVSUQgdXNlZCBmb3Igbm9uc3RhbmRhcmQgM0ROb3cgSUQ7CisJICAgM0ROb3cgaXMgSURkIGJ5IGJpdCAzMSBpbiBleHRlbmRlZCBDUFVJRCAoMSozMiszMSkgYW55d2F5ICovCisJY2xlYXJfY3B1X2NhcChjLCAwKjMyKzMxKTsKKworCS8qIE9uIEMrIHN0ZXBwaW5nIEs4IHJlcCBtaWNyb2NvZGUgd29ya3Mgd2VsbCBmb3IgY29weS9tZW1zZXQgKi8KKwlpZiAoYy0+eDg2ID09IDB4ZikgeworCQlsZXZlbCA9IGNwdWlkX2VheCgxKTsKKwkJaWYoKGxldmVsID49IDB4MGY0OCAmJiBsZXZlbCA8IDB4MGY1MCkgfHwgbGV2ZWwgPj0gMHgwZjU4KQorCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOworCX0KKwlpZiAoYy0+eDg2ID09IDB4MTAgfHwgYy0+eDg2ID09IDB4MTEpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKKworCS8qIEVuYWJsZSB3b3JrYXJvdW5kIGZvciBGWFNBVkUgbGVhayAqLworCWlmIChjLT54ODYgPj0gNikKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfRlhTQVZFX0xFQUspOworCisJbGV2ZWwgPSBnZXRfbW9kZWxfbmFtZShjKTsKKwlpZiAoIWxldmVsKSB7CisJCXN3aXRjaCAoYy0+eDg2KSB7CisJCWNhc2UgMHhmOgorCQkJLyogU2hvdWxkIGRpc3Rpbmd1aXNoIE1vZGVscyBoZXJlLCBidXQgdGhpcyBpcyBvbmx5CisJCQkgICBhIGZhbGxiYWNrIGFueXdheXMuICovCisJCQlzdHJjcHkoYy0+eDg2X21vZGVsX2lkLCAiSGFtbWVyIik7CisJCQlicmVhazsKKwkJfQorCX0KKwlkaXNwbGF5X2NhY2hlaW5mbyhjKTsKKworCS8qIE11bHRpIGNvcmUgQ1BVPyAqLworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA4KQorCQlhbWRfZGV0ZWN0X2NtcChjKTsKKworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA2ICYmCisJCShjcHVpZF9lZHgoMHg4MDAwMDAwNikgJiAweGYwMDApKQorCQludW1fY2FjaGVfbGVhdmVzID0gNDsKKwllbHNlCisJCW51bV9jYWNoZV9sZWF2ZXMgPSAzOworCisJaWYgKGMtPng4NiA+PSAweGYgJiYgYy0+eDg2IDw9IDB4MTEpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0s4KTsKKworCS8qIE1GRU5DRSBzdG9wcyBSRFRTQyBzcGVjdWxhdGlvbiAqLworCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX01GRU5DRV9SRFRTQyk7CisKKwlpZiAoYy0+eDg2ID09IDB4MTApIHsKKwkJLyogZG8gdGhpcyBmb3IgYm9vdCBjcHUgKi8KKwkJaWYgKGMgPT0gJmJvb3RfY3B1X2RhdGEpCisJCQljaGVja19lbmFibGVfYW1kX21tY29uZl9kbWkoKTsKKworCQlmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKCk7CisJfQorCisJaWYgKGMgPT0gJmJvb3RfY3B1X2RhdGEgJiYgYy0+eDg2ID49IDB4ZiAmJiBjLT54ODYgPD0gMHgxMSkgeworCQl1bnNpZ25lZCBsb25nIGxvbmcgdHNlZzsKKworCQkvKgorCQkgKiBTcGxpdCB1cCBkaXJlY3QgbWFwcGluZyBhcm91bmQgdGhlIFRTRUcgU01NIGFyZWEuCisJCSAqIERvbid0IGRvIGl0IGZvciBnYnBhZ2VzIGJlY2F1c2UgdGhlcmUgc2VlbXMgdmVyeSBsaXR0bGUKKwkJICogYmVuZWZpdCBpbiBkb2luZyBzby4KKwkJICovCisJCWlmICghcmRtc3JsX3NhZmUoTVNSX0s4X1RTRUdfQUREUiwgJnRzZWcpKSB7CisJCSAgICBwcmludGsoS0VSTl9ERUJVRyAidHNlZzogJTAxMGxseFxuIiwgdHNlZyk7CisJCSAgICBpZiAoKHRzZWc+PlBNRF9TSElGVCkgPAorCQkJCShtYXhfbG93X3Bmbl9tYXBwZWQ+PihQTURfU0hJRlQtUEFHRV9TSElGVCkpIHx8CisJCQkoKHRzZWc+PlBNRF9TSElGVCkgPAorCQkJCShtYXhfcGZuX21hcHBlZD4+KFBNRF9TSElGVC1QQUdFX1NISUZUKSkgJiYKKwkJCSAodHNlZz4+UE1EX1NISUZUKSA+PSAoMVVMTDw8KDMyIC0gUE1EX1NISUZUKSkpKQorCQkJc2V0X21lbW9yeV80aygodW5zaWduZWQgbG9uZylfX3ZhKHRzZWcpLCAxKTsKKwkJfQorCX0KK30KKworc3RhdGljIHN0cnVjdCBjcHVfZGV2IGFtZF9jcHVfZGV2IF9fY3B1aW5pdGRhdGEgPSB7CisJLmNfdmVuZG9yCT0gIkFNRCIsCisJLmNfaWRlbnQJPSB7ICJBdXRoZW50aWNBTUQiIH0sCisJLmNfZWFybHlfaW5pdCAgID0gZWFybHlfaW5pdF9hbWQsCisJLmNfaW5pdAkJPSBpbml0X2FtZCwKK307CisKK2NwdV92ZW5kb3JfZGV2X3JlZ2lzdGVyKFg4Nl9WRU5ET1JfQU1ELCAmYW1kX2NwdV9kZXYpOworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2J1Z3MuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jCmluZGV4IDE3MGQyZjUuLjFiMWM1NmIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jCkBAIC01OSw4ICs1OSwxMiBAQAogCQlyZXR1cm47CiAJfQogCi0vKiB0cmFwX2luaXQoKSBlbmFibGVkIEZYU1IgYW5kIGNvbXBhbnkgX2JlZm9yZV8gdGVzdGluZyBmb3IgRlAgcHJvYmxlbXMgaGVyZS4gKi8KLQkvKiBUZXN0IGZvciB0aGUgZGl2bCBidWcuLiAqLworCS8qCisJICogdHJhcF9pbml0KCkgZW5hYmxlZCBGWFNSIGFuZCBjb21wYW55IF9iZWZvcmVfIHRlc3RpbmcgZm9yIEZQCisJICogcHJvYmxlbXMgaGVyZS4KKwkgKgorCSAqIFRlc3QgZm9yIHRoZSBkaXZsIGJ1Zy4uCisJICovCiAJX19hc21fXygiZm5pbml0XG5cdCIKIAkJImZsZGwgJTFcblx0IgogCQkiZmRpdmwgJTJcblx0IgpAQCAtMTA4LDEwICsxMTIsMTUgQEAKIAkgICJtb3ZsICQxMjM0NTY3OCwlJWVheDsgbW92bCAkMCwlJWVkaTsgcHVzaGE7IHBvcGE7IG1vdmwgKCUlZWR4LCUlZWRpKSwlJWVjeCAiCiAJICA6ICI9JmEiIChyZXMpCiAJICA6ICJkIiAoaW5wKQotCSAgOiAiZWN4IiwgImVkaSIgKTsKLQkvKiBJZiB0aGlzIGZhaWxzLCBpdCBtZWFucyB0aGF0IGFueSB1c2VyIHByb2dyYW0gbWF5IGxvY2sgdGhlIENQVSBoYXJkLiBUb28gYmFkLiAqLwotCWlmIChyZXMgIT0gMTIzNDU2NzgpIHByaW50ayggIkJ1Z2d5LlxuIiApOwotCQkgICAgICAgIGVsc2UgcHJpbnRrKCAiT0suXG4iICk7CisJICA6ICJlY3giLCAiZWRpIik7CisJLyoKKwkgKiBJZiB0aGlzIGZhaWxzLCBpdCBtZWFucyB0aGF0IGFueSB1c2VyIHByb2dyYW0gbWF5IGxvY2sgdGhlCisJICogQ1BVIGhhcmQuIFRvbyBiYWQuCisJICovCisJaWYgKHJlcyAhPSAxMjM0NTY3OCkKKwkJcHJpbnRrKCJCdWdneS5cbiIpOworCWVsc2UKKwkJcHJpbnRrKCJPSy5cbiIpOwogI2VuZGlmCiB9CiAKQEAgLTEzNyw3ICsxNDYsOCBAQAogICogaTQ4Nisgb25seSBmZWF0dXJlcyEgKFdQIHdvcmtzIGluIHN1cGVydmlzb3IgbW9kZSBhbmQgdGhlCiAgKiBuZXcgImludmxwZyIgYW5kICJic3dhcCIgaW5zdHJ1Y3Rpb25zKQogICovCi0jaWYgZGVmaW5lZChDT05GSUdfWDg2X1dQX1dPUktTX09LKSB8fCBkZWZpbmVkKENPTkZJR19YODZfSU5WTFBHKSB8fCBkZWZpbmVkKENPTkZJR19YODZfQlNXQVApCisjaWYgZGVmaW5lZChDT05GSUdfWDg2X1dQX1dPUktTX09LKSB8fCBkZWZpbmVkKENPTkZJR19YODZfSU5WTFBHKSB8fCBcCisJZGVmaW5lZChDT05GSUdfWDg2X0JTV0FQKQogCWlmIChib290X2NwdV9kYXRhLng4NiA9PSAzKQogCQlwYW5pYygiS2VybmVsIHJlcXVpcmVzIGk0ODYrIGZvciAnaW52bHBnJyBhbmQgb3RoZXIgZmVhdHVyZXMiKTsKICNlbmRpZgpAQCAtMTcwLDYgKzE4MCw3IEBACiAJY2hlY2tfZnB1KCk7CiAJY2hlY2tfaGx0KCk7CiAJY2hlY2tfcG9wYWQoKTsKLQlpbml0X3V0c25hbWUoKS0+bWFjaGluZVsxXSA9ICcwJyArIChib290X2NwdV9kYXRhLng4NiA+IDYgPyA2IDogYm9vdF9jcHVfZGF0YS54ODYpOworCWluaXRfdXRzbmFtZSgpLT5tYWNoaW5lWzFdID0KKwkJJzAnICsgKGJvb3RfY3B1X2RhdGEueDg2ID4gNiA/IDYgOiBib290X2NwdV9kYXRhLng4Nik7CiAJYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYnVnc182NC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9idWdzXzY0LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGFyY2gveDg2L2tlcm5lbC9idWdzXzY0LmMKcmVuYW1lIHRvIGFyY2gveDg2L2tlcm5lbC9jcHUvYnVnc182NC5jCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NlbnRhdXJfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY2VudGF1cl82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMTgxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NlbnRhdXJfNjQuYwpAQCAtMCwwICsxLDM1IEBACisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorCisjaW5jbHVkZSA8YXNtL2NwdWZlYXR1cmUuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisKKyNpbmNsdWRlICJjcHUuaCIKKworc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfY2VudGF1cihzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaWYgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4ZikKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKKworCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1NZU0VOVEVSMzIpOworfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9jZW50YXVyKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHhmKSB7CisJCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOworCX0KKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOworfQorCitzdGF0aWMgc3RydWN0IGNwdV9kZXYgY2VudGF1cl9jcHVfZGV2IF9fY3B1aW5pdGRhdGEgPSB7CisJLmNfdmVuZG9yCT0gIkNlbnRhdXIiLAorCS5jX2lkZW50CT0geyAiQ2VudGF1ckhhdWxzIiB9LAorCS5jX2Vhcmx5X2luaXQJPSBlYXJseV9pbml0X2NlbnRhdXIsCisJLmNfaW5pdAkJPSBpbml0X2NlbnRhdXIsCit9OworCitjcHVfdmVuZG9yX2Rldl9yZWdpc3RlcihYODZfVkVORE9SX0NFTlRBVVIsICZjZW50YXVyX2NwdV9kZXYpOworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbi5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYwppbmRleCBkMDQ2M2E5Li44MGFiMjBkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMKQEAgLTQyNyw3ICs0MjcsNyBAQAogLyoKICAqIFRoaXMgZG9lcyB0aGUgaGFyZCB3b3JrIG9mIGFjdHVhbGx5IHBpY2tpbmcgYXBhcnQgdGhlIENQVSBzdHVmZi4uLgogICovCi12b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQorc3RhdGljIHZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7CiAJaW50IGk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbl82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiOGNjNzIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbl82NC5jCkBAIC0wLDAgKzEsNjgxIEBACisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tnZGIuaD4KKyNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9pMzg3Lmg+CisjaW5jbHVkZSA8YXNtL21zci5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9tbXVfY29udGV4dC5oPgorI2luY2x1ZGUgPGFzbS9tdHJyLmg+CisjaW5jbHVkZSA8YXNtL21jZS5oPgorI2luY2x1ZGUgPGFzbS9wYXQuaD4KKyNpbmNsdWRlIDxhc20vbnVtYS5oPgorI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorI2VuZGlmCisjaW5jbHVkZSA8YXNtL3BkYS5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgorI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CisKKyNpbmNsdWRlICJjcHUuaCIKKworLyogV2UgbmVlZCB2YWxpZCBrZXJuZWwgc2VnbWVudHMgZm9yIGRhdGEgYW5kIGNvZGUgaW4gbG9uZyBtb2RlIHRvbworICogSVJFVCB3aWxsIGNoZWNrIHRoZSBzZWdtZW50IHR5cGVzICBra2VpbCAyMDAwLzEwLzI4CisgKiBBbHNvIHN5c3JldCBtYW5kYXRlcyBhIHNwZWNpYWwgR0RUIGxheW91dAorICovCisvKiBUaGUgVExTIGRlc2NyaXB0b3JzIGFyZSBjdXJyZW50bHkgYXQgYSBkaWZmZXJlbnQgcGxhY2UgY29tcGFyZWQgdG8gaTM4Ni4KKyAgIEhvcGVmdWxseSBub2JvZHkgZXhwZWN0cyB0aGVtIGF0IGEgZml4ZWQgcGxhY2UgKFdpbmU/KSAqLworREVGSU5FX1BFUl9DUFUoc3RydWN0IGdkdF9wYWdlLCBnZHRfcGFnZSkgPSB7IC5nZHQgPSB7CisJW0dEVF9FTlRSWV9LRVJORUwzMl9DU10gPSB7IHsgeyAweDAwMDBmZmZmLCAweDAwY2Y5YjAwIH0gfSB9LAorCVtHRFRfRU5UUllfS0VSTkVMX0NTXSA9IHsgeyB7IDB4MDAwMGZmZmYsIDB4MDBhZjliMDAgfSB9IH0sCisJW0dEVF9FTlRSWV9LRVJORUxfRFNdID0geyB7IHsgMHgwMDAwZmZmZiwgMHgwMGNmOTMwMCB9IH0gfSwKKwlbR0RUX0VOVFJZX0RFRkFVTFRfVVNFUjMyX0NTXSA9IHsgeyB7IDB4MDAwMGZmZmYsIDB4MDBjZmZiMDAgfSB9IH0sCisJW0dEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFNdID0geyB7IHsgMHgwMDAwZmZmZiwgMHgwMGNmZjMwMCB9IH0gfSwKKwlbR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9DU10gPSB7IHsgeyAweDAwMDBmZmZmLCAweDAwYWZmYjAwIH0gfSB9LAorfSB9OworRVhQT1JUX1BFUl9DUFVfU1lNQk9MX0dQTChnZHRfcGFnZSk7CisKK19fdTMyIGNsZWFyZWRfY3B1X2NhcHNbTkNBUElOVFNdIF9fY3B1aW5pdGRhdGE7CisKKy8qIEN1cnJlbnQgZ2R0IHBvaW50cyAlZnMgYXQgdGhlICJtYXN0ZXIiIHBlci1jcHUgYXJlYTogYWZ0ZXIgdGhpcywKKyAqIGl0J3Mgb24gdGhlIHJlYWwgb25lLiAqLwordm9pZCBzd2l0Y2hfdG9fbmV3X2dkdCh2b2lkKQoreworCXN0cnVjdCBkZXNjX3B0ciBnZHRfZGVzY3I7CisKKwlnZHRfZGVzY3IuYWRkcmVzcyA9IChsb25nKWdldF9jcHVfZ2R0X3RhYmxlKHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJZ2R0X2Rlc2NyLnNpemUgPSBHRFRfU0laRSAtIDE7CisJbG9hZF9nZHQoJmdkdF9kZXNjcik7Cit9CisKK3N0cnVjdCBjcHVfZGV2ICpjcHVfZGV2c1tYODZfVkVORE9SX05VTV0gPSB7fTsKKworc3RhdGljIHZvaWQgX19jcHVpbml0IGRlZmF1bHRfaW5pdChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJZGlzcGxheV9jYWNoZWluZm8oYyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3B1X2RldiBfX2NwdWluaXRkYXRhIGRlZmF1bHRfY3B1ID0geworCS5jX2luaXQJPSBkZWZhdWx0X2luaXQsCisJLmNfdmVuZG9yID0gIlVua25vd24iLAorfTsKK3N0YXRpYyBzdHJ1Y3QgY3B1X2RldiAqdGhpc19jcHUgX19jcHVpbml0ZGF0YSA9ICZkZWZhdWx0X2NwdTsKKworaW50IF9fY3B1aW5pdCBnZXRfbW9kZWxfbmFtZShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJdW5zaWduZWQgaW50ICp2OworCisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwNCkKKwkJcmV0dXJuIDA7CisKKwl2ID0gKHVuc2lnbmVkIGludCAqKSBjLT54ODZfbW9kZWxfaWQ7CisJY3B1aWQoMHg4MDAwMDAwMiwgJnZbMF0sICZ2WzFdLCAmdlsyXSwgJnZbM10pOworCWNwdWlkKDB4ODAwMDAwMDMsICZ2WzRdLCAmdls1XSwgJnZbNl0sICZ2WzddKTsKKwljcHVpZCgweDgwMDAwMDA0LCAmdls4XSwgJnZbOV0sICZ2WzEwXSwgJnZbMTFdKTsKKwljLT54ODZfbW9kZWxfaWRbNDhdID0gMDsKKwlyZXR1cm4gMTsKK30KKworCit2b2lkIF9fY3B1aW5pdCBkaXNwbGF5X2NhY2hlaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJdW5zaWduZWQgaW50IG4sIGR1bW15LCBlYngsIGVjeCwgZWR4OworCisJbiA9IGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsOworCisJaWYgKG4gPj0gMHg4MDAwMDAwNSkgeworCQljcHVpZCgweDgwMDAwMDA1LCAmZHVtbXksICZlYngsICZlY3gsICZlZHgpOworCQlwcmludGsoS0VSTl9JTkZPICJDUFU6IEwxIEkgQ2FjaGU6ICVkSyAoJWQgYnl0ZXMvbGluZSksICIKKwkJICAgICAgICJEIGNhY2hlICVkSyAoJWQgYnl0ZXMvbGluZSlcbiIsCisJCSAgICAgICBlZHg+PjI0LCBlZHgmMHhGRiwgZWN4Pj4yNCwgZWN4JjB4RkYpOworCQljLT54ODZfY2FjaGVfc2l6ZSA9IChlY3g+PjI0KSArIChlZHg+PjI0KTsKKwkJLyogT24gSzggTDEgVExCIGlzIGluY2x1c2l2ZSwgc28gZG9uJ3QgY291bnQgaXQgKi8KKwkJYy0+eDg2X3RsYnNpemUgPSAwOworCX0KKworCWlmIChuID49IDB4ODAwMDAwMDYpIHsKKwkJY3B1aWQoMHg4MDAwMDAwNiwgJmR1bW15LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKwkJZWN4ID0gY3B1aWRfZWN4KDB4ODAwMDAwMDYpOworCQljLT54ODZfY2FjaGVfc2l6ZSA9IGVjeCA+PiAxNjsKKwkJYy0+eDg2X3RsYnNpemUgKz0gKChlYnggPj4gMTYpICYgMHhmZmYpICsgKGVieCAmIDB4ZmZmKTsKKworCQlwcmludGsoS0VSTl9JTkZPICJDUFU6IEwyIENhY2hlOiAlZEsgKCVkIGJ5dGVzL2xpbmUpXG4iLAorCQljLT54ODZfY2FjaGVfc2l6ZSwgZWN4ICYgMHhGRik7CisJfQorfQorCit2b2lkIF9fY3B1aW5pdCBkZXRlY3RfaHQoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworI2lmZGVmIENPTkZJR19TTVAKKwl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OworCWludCBpbmRleF9tc2IsIGNvcmVfYml0czsKKworCWNwdWlkKDEsICZlYXgsICZlYngsICZlY3gsICZlZHgpOworCisKKwlpZiAoIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfSFQpKQorCQlyZXR1cm47CisJaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWSkpCisJCWdvdG8gb3V0OworCisJc21wX251bV9zaWJsaW5ncyA9IChlYnggJiAweGZmMDAwMCkgPj4gMTY7CisKKwlpZiAoc21wX251bV9zaWJsaW5ncyA9PSAxKSB7CisJCXByaW50ayhLRVJOX0lORk8gICJDUFU6IEh5cGVyLVRocmVhZGluZyBpcyBkaXNhYmxlZFxuIik7CisJfSBlbHNlIGlmIChzbXBfbnVtX3NpYmxpbmdzID4gMSkgeworCisJCWlmIChzbXBfbnVtX3NpYmxpbmdzID4gTlJfQ1BVUykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ1BVOiBVbnN1cHBvcnRlZCBudW1iZXIgb2YgIgorCQkJICAgICAgICJzaWJsaW5ncyAlZCIsIHNtcF9udW1fc2libGluZ3MpOworCQkJc21wX251bV9zaWJsaW5ncyA9IDE7CisJCQlyZXR1cm47CisJCX0KKworCQlpbmRleF9tc2IgPSBnZXRfY291bnRfb3JkZXIoc21wX251bV9zaWJsaW5ncyk7CisJCWMtPnBoeXNfcHJvY19pZCA9IHBoeXNfcGtnX2lkKGluZGV4X21zYik7CisKKwkJc21wX251bV9zaWJsaW5ncyA9IHNtcF9udW1fc2libGluZ3MgLyBjLT54ODZfbWF4X2NvcmVzOworCisJCWluZGV4X21zYiA9IGdldF9jb3VudF9vcmRlcihzbXBfbnVtX3NpYmxpbmdzKTsKKworCQljb3JlX2JpdHMgPSBnZXRfY291bnRfb3JkZXIoYy0+eDg2X21heF9jb3Jlcyk7CisKKwkJYy0+Y3B1X2NvcmVfaWQgPSBwaHlzX3BrZ19pZChpbmRleF9tc2IpICYKKwkJCQkJICAgICAgICgoMSA8PCBjb3JlX2JpdHMpIC0gMSk7CisJfQorb3V0OgorCWlmICgoYy0+eDg2X21heF9jb3JlcyAqIHNtcF9udW1fc2libGluZ3MpID4gMSkgeworCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6ICVkXG4iLAorCQkgICAgICAgYy0+cGh5c19wcm9jX2lkKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogUHJvY2Vzc29yIENvcmUgSUQ6ICVkXG4iLAorCQkgICAgICAgYy0+Y3B1X2NvcmVfaWQpOworCX0KKworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBnZXRfY3B1X3ZlbmRvcihzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJY2hhciAqdiA9IGMtPng4Nl92ZW5kb3JfaWQ7CisJaW50IGk7CisJc3RhdGljIGludCBwcmludGVkOworCisJZm9yIChpID0gMDsgaSA8IFg4Nl9WRU5ET1JfTlVNOyBpKyspIHsKKwkJaWYgKGNwdV9kZXZzW2ldKSB7CisJCQlpZiAoIXN0cmNtcCh2LCBjcHVfZGV2c1tpXS0+Y19pZGVudFswXSkgfHwKKwkJCSAgICAoY3B1X2RldnNbaV0tPmNfaWRlbnRbMV0gJiYKKwkJCSAgICAhc3RyY21wKHYsIGNwdV9kZXZzW2ldLT5jX2lkZW50WzFdKSkpIHsKKwkJCQljLT54ODZfdmVuZG9yID0gaTsKKwkJCQl0aGlzX2NwdSA9IGNwdV9kZXZzW2ldOworCQkJCXJldHVybjsKKwkJCX0KKwkJfQorCX0KKwlpZiAoIXByaW50ZWQpIHsKKwkJcHJpbnRlZCsrOworCQlwcmludGsoS0VSTl9FUlIgIkNQVTogVmVuZG9yIHVua25vd24sIHVzaW5nIGdlbmVyaWMgaW5pdC5cbiIpOworCQlwcmludGsoS0VSTl9FUlIgIkNQVTogWW91ciBzeXN0ZW0gbWF5IGJlIHVuc3RhYmxlLlxuIik7CisJfQorCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX1VOS05PV047Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlYXJseV9jcHVfc3VwcG9ydF9wcmludCh2b2lkKQoreworCWludCBpLGo7CisJc3RydWN0IGNwdV9kZXYgKmNwdV9kZXZ4OworCisJcHJpbnRrKCJLRVJORUwgc3VwcG9ydGVkIGNwdXM6XG4iKTsKKwlmb3IgKGkgPSAwOyBpIDwgWDg2X1ZFTkRPUl9OVU07IGkrKykgeworCQljcHVfZGV2eCA9IGNwdV9kZXZzW2ldOworCQlpZiAoIWNwdV9kZXZ4KQorCQkJY29udGludWU7CisJCWZvciAoaiA9IDA7IGogPCAyOyBqKyspIHsKKwkJCWlmICghY3B1X2RldngtPmNfaWRlbnRbal0pCisJCQkJY29udGludWU7CisJCQlwcmludGsoIiAgJXMgJXNcbiIsIGNwdV9kZXZ4LT5jX3ZlbmRvciwKKwkJCQljcHVfZGV2eC0+Y19pZGVudFtqXSk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKKwordm9pZCBfX2luaXQgZWFybHlfY3B1X2luaXQodm9pZCkKK3sKKyAgICAgICAgc3RydWN0IGNwdV92ZW5kb3JfZGV2ICpjdmRldjsKKworICAgICAgICBmb3IgKGN2ZGV2ID0gX194ODZjcHV2ZW5kb3Jfc3RhcnQgOworICAgICAgICAgICAgIGN2ZGV2IDwgX194ODZjcHV2ZW5kb3JfZW5kICAgOworICAgICAgICAgICAgIGN2ZGV2KyspCisgICAgICAgICAgICAgICAgY3B1X2RldnNbY3ZkZXYtPnZlbmRvcl0gPSBjdmRldi0+Y3B1X2RldjsKKwllYXJseV9jcHVfc3VwcG9ydF9wcmludCgpOworCWVhcmx5X2lkZW50aWZ5X2NwdSgmYm9vdF9jcHVfZGF0YSk7Cit9CisKKy8qIERvIHNvbWUgZWFybHkgY3B1aWQgb24gdGhlIGJvb3QgQ1BVIHRvIGdldCBzb21lIHBhcmFtZXRlciB0aGF0IGFyZQorICAgbmVlZGVkIGJlZm9yZSBjaGVja19idWdzLiBFdmVyeXRoaW5nIGFkdmFuY2VkIGlzIGluIGlkZW50aWZ5X2NwdQorICAgYmVsb3cuICovCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwl1MzIgdGZtcywgeGx2bDsKKworCWMtPmxvb3BzX3Blcl9qaWZmeSA9IGxvb3BzX3Blcl9qaWZmeTsKKwljLT54ODZfY2FjaGVfc2l6ZSA9IC0xOworCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX1VOS05PV047CisJYy0+eDg2X21vZGVsID0gYy0+eDg2X21hc2sgPSAwOwkvKiBTbyBmYXIgdW5rbm93bi4uLiAqLworCWMtPng4Nl92ZW5kb3JfaWRbMF0gPSAnXDAnOyAvKiBVbnNldCAqLworCWMtPng4Nl9tb2RlbF9pZFswXSA9ICdcMCc7ICAvKiBVbnNldCAqLworCWMtPng4Nl9jbGZsdXNoX3NpemUgPSA2NDsKKwljLT54ODZfY2FjaGVfYWxpZ25tZW50ID0gYy0+eDg2X2NsZmx1c2hfc2l6ZTsKKwljLT54ODZfbWF4X2NvcmVzID0gMTsKKwljLT54ODZfY29yZWlkX2JpdHMgPSAwOworCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0gMDsKKwltZW1zZXQoJmMtPng4Nl9jYXBhYmlsaXR5LCAwLCBzaXplb2YgYy0+eDg2X2NhcGFiaWxpdHkpOworCisJLyogR2V0IHZlbmRvciBuYW1lICovCisJY3B1aWQoMHgwMDAwMDAwMCwgKHVuc2lnbmVkIGludCAqKSZjLT5jcHVpZF9sZXZlbCwKKwkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbMF0sCisJICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzhdLAorCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFs0XSk7CisKKwlnZXRfY3B1X3ZlbmRvcihjKTsKKworCS8qIEluaXRpYWxpemUgdGhlIHN0YW5kYXJkIHNldCBvZiBjYXBhYmlsaXRpZXMgKi8KKwkvKiBOb3RlIHRoYXQgdGhlIHZlbmRvci1zcGVjaWZpYyBjb2RlIGJlbG93IG1pZ2h0IG92ZXJyaWRlICovCisKKwkvKiBJbnRlbC1kZWZpbmVkIGZsYWdzOiBsZXZlbCAweDAwMDAwMDAxICovCisJaWYgKGMtPmNwdWlkX2xldmVsID49IDB4MDAwMDAwMDEpIHsKKwkJX191MzIgbWlzYzsKKwkJY3B1aWQoMHgwMDAwMDAwMSwgJnRmbXMsICZtaXNjLCAmYy0+eDg2X2NhcGFiaWxpdHlbNF0sCisJCSAgICAgICZjLT54ODZfY2FwYWJpbGl0eVswXSk7CisJCWMtPng4NiA9ICh0Zm1zID4+IDgpICYgMHhmOworCQljLT54ODZfbW9kZWwgPSAodGZtcyA+PiA0KSAmIDB4ZjsKKwkJYy0+eDg2X21hc2sgPSB0Zm1zICYgMHhmOworCQlpZiAoYy0+eDg2ID09IDB4ZikKKwkJCWMtPng4NiArPSAodGZtcyA+PiAyMCkgJiAweGZmOworCQlpZiAoYy0+eDg2ID49IDB4NikKKwkJCWMtPng4Nl9tb2RlbCArPSAoKHRmbXMgPj4gMTYpICYgMHhGKSA8PCA0OworCQlpZiAodGVzdF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NMRkxTSCkpCisJCQljLT54ODZfY2xmbHVzaF9zaXplID0gKChtaXNjID4+IDgpICYgMHhmZikgKiA4OworCX0gZWxzZSB7CisJCS8qIEhhdmUgQ1BVSUQgbGV2ZWwgMCBvbmx5IC0gdW5oZWFyZCBvZiAqLworCQljLT54ODYgPSA0OworCX0KKworCWMtPmluaXRpYWxfYXBpY2lkID0gKGNwdWlkX2VieCgxKSA+PiAyNCkgJiAweGZmOworI2lmZGVmIENPTkZJR19TTVAKKwljLT5waHlzX3Byb2NfaWQgPSBjLT5pbml0aWFsX2FwaWNpZDsKKyNlbmRpZgorCS8qIEFNRC1kZWZpbmVkIGZsYWdzOiBsZXZlbCAweDgwMDAwMDAxICovCisJeGx2bCA9IGNwdWlkX2VheCgweDgwMDAwMDAwKTsKKwljLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA9IHhsdmw7CisJaWYgKCh4bHZsICYgMHhmZmZmMDAwMCkgPT0gMHg4MDAwMDAwMCkgeworCQlpZiAoeGx2bCA+PSAweDgwMDAwMDAxKSB7CisJCQljLT54ODZfY2FwYWJpbGl0eVsxXSA9IGNwdWlkX2VkeCgweDgwMDAwMDAxKTsKKwkJCWMtPng4Nl9jYXBhYmlsaXR5WzZdID0gY3B1aWRfZWN4KDB4ODAwMDAwMDEpOworCQl9CisJCWlmICh4bHZsID49IDB4ODAwMDAwMDQpCisJCQlnZXRfbW9kZWxfbmFtZShjKTsgLyogRGVmYXVsdCBuYW1lICovCisJfQorCisJLyogVHJhbnNtZXRhLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4ODA4NjAwMDEgKi8KKwl4bHZsID0gY3B1aWRfZWF4KDB4ODA4NjAwMDApOworCWlmICgoeGx2bCAmIDB4ZmZmZjAwMDApID09IDB4ODA4NjAwMDApIHsKKwkJLyogRG9uJ3Qgc2V0IHg4Nl9jcHVpZF9sZXZlbCBoZXJlIGZvciBub3cgdG8gbm90IGNvbmZ1c2UuICovCisJCWlmICh4bHZsID49IDB4ODA4NjAwMDEpCisJCQljLT54ODZfY2FwYWJpbGl0eVsyXSA9IGNwdWlkX2VkeCgweDgwODYwMDAxKTsKKwl9CisKKwljLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA9IGNwdWlkX2VheCgweDgwMDAwMDAwKTsKKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNykKKwkJYy0+eDg2X3Bvd2VyID0gY3B1aWRfZWR4KDB4ODAwMDAwMDcpOworCisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDgpIHsKKwkJdTMyIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKKworCQljLT54ODZfdmlydF9iaXRzID0gKGVheCA+PiA4KSAmIDB4ZmY7CisJCWMtPng4Nl9waHlzX2JpdHMgPSBlYXggJiAweGZmOworCX0KKworCS8qIEFzc3VtZSBhbGwgNjQtYml0IENQVXMgc3VwcG9ydCAzMi1iaXQgc3lzY2FsbCAqLworCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1NZU0NBTEwzMik7CisKKwlpZiAoYy0+eDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX1VOS05PV04gJiYKKwkgICAgY3B1X2RldnNbYy0+eDg2X3ZlbmRvcl0tPmNfZWFybHlfaW5pdCkKKwkJY3B1X2RldnNbYy0+eDg2X3ZlbmRvcl0tPmNfZWFybHlfaW5pdChjKTsKKworCXZhbGlkYXRlX3BhdF9zdXBwb3J0KGMpOworCisJLyogZWFybHlfcGFyYW0gY291bGQgY2xlYXIgdGhhdCwgYnV0IHJlY2FsbCBnZXQgaXQgc2V0IGFnYWluICovCisJaWYgKGRpc2FibGVfYXBpYykKKwkJY2xlYXJfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9BUElDKTsKK30KKworLyoKKyAqIFRoaXMgZG9lcyB0aGUgaGFyZCB3b3JrIG9mIGFjdHVhbGx5IHBpY2tpbmcgYXBhcnQgdGhlIENQVSBzdHVmZi4uLgorICovCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpbnQgaTsKKworCWVhcmx5X2lkZW50aWZ5X2NwdShjKTsKKworCWluaXRfc2NhdHRlcmVkX2NwdWlkX2ZlYXR1cmVzKGMpOworCisJYy0+YXBpY2lkID0gcGh5c19wa2dfaWQoMCk7CisKKwkvKgorCSAqIFZlbmRvci1zcGVjaWZpYyBpbml0aWFsaXphdGlvbi4gIEluIHRoaXMgc2VjdGlvbiB3ZQorCSAqIGNhbm9uaWNhbGl6ZSB0aGUgZmVhdHVyZSBmbGFncywgbWVhbmluZyBpZiB0aGVyZSBhcmUKKwkgKiBmZWF0dXJlcyBhIGNlcnRhaW4gQ1BVIHN1cHBvcnRzIHdoaWNoIENQVUlEIGRvZXNuJ3QKKwkgKiB0ZWxsIHVzLCBDUFVJRCBjbGFpbWluZyBpbmNvcnJlY3QgZmxhZ3MsIG9yIG90aGVyIGJ1Z3MsCisJICogd2UgaGFuZGxlIHRoZW0gaGVyZS4KKwkgKgorCSAqIEF0IHRoZSBlbmQgb2YgdGhpcyBzZWN0aW9uLCBjLT54ODZfY2FwYWJpbGl0eSBiZXR0ZXIKKwkgKiBpbmRpY2F0ZSB0aGUgZmVhdHVyZXMgdGhpcyBDUFUgZ2VudWluZWx5IHN1cHBvcnRzIQorCSAqLworCWlmICh0aGlzX2NwdS0+Y19pbml0KQorCQl0aGlzX2NwdS0+Y19pbml0KGMpOworCisJZGV0ZWN0X2h0KGMpOworCisJLyoKKwkgKiBPbiBTTVAsIGJvb3RfY3B1X2RhdGEgaG9sZHMgdGhlIGNvbW1vbiBmZWF0dXJlIHNldCBiZXR3ZWVuCisJICogYWxsIENQVXM7IHNvIG1ha2Ugc3VyZSB0aGF0IHdlIGluZGljYXRlIHdoaWNoIGZlYXR1cmVzIGFyZQorCSAqIGNvbW1vbiBiZXR3ZWVuIHRoZSBDUFVzLiAgVGhlIGZpcnN0IHRpbWUgdGhpcyByb3V0aW5lIGdldHMKKwkgKiBleGVjdXRlZCwgYyA9PSAmYm9vdF9jcHVfZGF0YS4KKwkgKi8KKwlpZiAoYyAhPSAmYm9vdF9jcHVfZGF0YSkgeworCQkvKiBBTkQgdGhlIGFscmVhZHkgYWNjdW11bGF0ZWQgZmxhZ3Mgd2l0aCB0aGVzZSAqLworCQlmb3IgKGkgPSAwOyBpIDwgTkNBUElOVFM7IGkrKykKKwkJCWJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHlbaV0gJj0gYy0+eDg2X2NhcGFiaWxpdHlbaV07CisJfQorCisJLyogQ2xlYXIgYWxsIGZsYWdzIG92ZXJyaWRlbiBieSBvcHRpb25zICovCisJZm9yIChpID0gMDsgaSA8IE5DQVBJTlRTOyBpKyspCisJCWMtPng4Nl9jYXBhYmlsaXR5W2ldICY9IH5jbGVhcmVkX2NwdV9jYXBzW2ldOworCisjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKKwltY2hlY2tfaW5pdChjKTsKKyNlbmRpZgorCXNlbGVjdF9pZGxlX3JvdXRpbmUoYyk7CisKKyNpZmRlZiBDT05GSUdfTlVNQQorCW51bWFfYWRkX2NwdShzbXBfcHJvY2Vzc29yX2lkKCkpOworI2VuZGlmCisKK30KKwordm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfYm9vdF9jcHUodm9pZCkKK3sKKwlpZGVudGlmeV9jcHUoJmJvb3RfY3B1X2RhdGEpOworfQorCit2b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9zZWNvbmRhcnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlCVUdfT04oYyA9PSAmYm9vdF9jcHVfZGF0YSk7CisJaWRlbnRpZnlfY3B1KGMpOworCW10cnJfYXBfaW5pdCgpOworfQorCitzdGF0aWMgX19pbml0IGludCBzZXR1cF9ub2NsZmx1c2goY2hhciAqYXJnKQoreworCXNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfQ0xGTFNIKTsKKwlyZXR1cm4gMTsKK30KK19fc2V0dXAoIm5vY2xmbHVzaCIsIHNldHVwX25vY2xmbHVzaCk7CisKK3ZvaWQgX19jcHVpbml0IHByaW50X2NwdV9pbmZvKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2X21vZGVsX2lkWzBdKQorCQlwcmludGsoS0VSTl9DT05UICIlcyIsIGMtPng4Nl9tb2RlbF9pZCk7CisKKwlpZiAoYy0+eDg2X21hc2sgfHwgYy0+Y3B1aWRfbGV2ZWwgPj0gMCkKKwkJcHJpbnRrKEtFUk5fQ09OVCAiIHN0ZXBwaW5nICUwMnhcbiIsIGMtPng4Nl9tYXNrKTsKKwllbHNlCisJCXByaW50ayhLRVJOX0NPTlQgIlxuIik7Cit9CisKK3N0YXRpYyBfX2luaXQgaW50IHNldHVwX2Rpc2FibGVjcHVpZChjaGFyICphcmcpCit7CisJaW50IGJpdDsKKwlpZiAoZ2V0X29wdGlvbigmYXJnLCAmYml0KSAmJiBiaXQgPCBOQ0FQSU5UUyozMikKKwkJc2V0dXBfY2xlYXJfY3B1X2NhcChiaXQpOworCWVsc2UKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CitfX3NldHVwKCJjbGVhcmNwdWlkPSIsIHNldHVwX2Rpc2FibGVjcHVpZCk7CisKK2NwdW1hc2tfdCBjcHVfaW5pdGlhbGl6ZWQgX19jcHVpbml0ZGF0YSA9IENQVV9NQVNLX05PTkU7CisKK3N0cnVjdCB4ODY2NF9wZGEgKipfY3B1X3BkYSBfX3JlYWRfbW9zdGx5OworRVhQT1JUX1NZTUJPTChfY3B1X3BkYSk7CisKK3N0cnVjdCBkZXNjX3B0ciBpZHRfZGVzY3IgPSB7IDI1NiAqIDE2IC0gMSwgKHVuc2lnbmVkIGxvbmcpIGlkdF90YWJsZSB9OworCitjaGFyIGJvb3RfY3B1X3N0YWNrW0lSUVNUQUNLU0laRV0gX19wYWdlX2FsaWduZWRfYnNzOworCit1bnNpZ25lZCBsb25nIF9fc3VwcG9ydGVkX3B0ZV9tYXNrIF9fcmVhZF9tb3N0bHkgPSB+MFVMOworRVhQT1JUX1NZTUJPTF9HUEwoX19zdXBwb3J0ZWRfcHRlX21hc2spOworCitzdGF0aWMgaW50IGRvX25vdF9ueCBfX2NwdWluaXRkYXRhOworCisvKiBub2V4ZWM9b258b2ZmCitDb250cm9sIG5vbiBleGVjdXRhYmxlIG1hcHBpbmdzIGZvciA2NGJpdCBwcm9jZXNzZXMuCisKK29uCUVuYWJsZShkZWZhdWx0KQorb2ZmCURpc2FibGUKKyovCitzdGF0aWMgaW50IF9faW5pdCBub254X3NldHVwKGNoYXIgKnN0cikKK3sKKwlpZiAoIXN0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFzdHJuY21wKHN0ciwgIm9uIiwgMikpIHsKKwkJX19zdXBwb3J0ZWRfcHRlX21hc2sgfD0gX1BBR0VfTlg7CisJCWRvX25vdF9ueCA9IDA7CisJfSBlbHNlIGlmICghc3RybmNtcChzdHIsICJvZmYiLCAzKSkgeworCQlkb19ub3RfbnggPSAxOworCQlfX3N1cHBvcnRlZF9wdGVfbWFzayAmPSB+X1BBR0VfTlg7CisJfQorCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oIm5vZXhlYyIsIG5vbnhfc2V0dXApOworCitpbnQgZm9yY2VfcGVyc29uYWxpdHkzMjsKKworLyogbm9leGVjMzI9b258b2ZmCitDb250cm9sIG5vbiBleGVjdXRhYmxlIGhlYXAgZm9yIDMyYml0IHByb2Nlc3Nlcy4KK1RvIGNvbnRyb2wgdGhlIHN0YWNrIHRvbyB1c2Ugbm9leGVjPW9mZgorCitvbglQUk9UX1JFQUQgZG9lcyBub3QgaW1wbHkgUFJPVF9FWEVDIGZvciAzMmJpdCBwcm9jZXNzZXMgKGRlZmF1bHQpCitvZmYJUFJPVF9SRUFEIGltcGxpZXMgUFJPVF9FWEVDCisqLworc3RhdGljIGludCBfX2luaXQgbm9ueDMyX3NldHVwKGNoYXIgKnN0cikKK3sKKwlpZiAoIXN0cmNtcChzdHIsICJvbiIpKQorCQlmb3JjZV9wZXJzb25hbGl0eTMyICY9IH5SRUFEX0lNUExJRVNfRVhFQzsKKwllbHNlIGlmICghc3RyY21wKHN0ciwgIm9mZiIpKQorCQlmb3JjZV9wZXJzb25hbGl0eTMyIHw9IFJFQURfSU1QTElFU19FWEVDOworCXJldHVybiAxOworfQorX19zZXR1cCgibm9leGVjMzI9Iiwgbm9ueDMyX3NldHVwKTsKKwordm9pZCBwZGFfaW5pdChpbnQgY3B1KQoreworCXN0cnVjdCB4ODY2NF9wZGEgKnBkYSA9IGNwdV9wZGEoY3B1KTsKKworCS8qIFNldHVwIHVwIGRhdGEgdGhhdCBtYXkgYmUgbmVlZGVkIGluIF9fZ2V0X2ZyZWVfcGFnZXMgZWFybHkgKi8KKwlsb2Fkc2VnbWVudChmcywgMCk7CisJbG9hZHNlZ21lbnQoZ3MsIDApOworCS8qIE1lbW9yeSBjbG9iYmVycyB1c2VkIHRvIG9yZGVyIFBEQSBhY2Nlc3NlZCAqLworCW1iKCk7CisJd3Jtc3JsKE1TUl9HU19CQVNFLCBwZGEpOworCW1iKCk7CisKKwlwZGEtPmNwdW51bWJlciA9IGNwdTsKKwlwZGEtPmlycWNvdW50ID0gLTE7CisJcGRhLT5rZXJuZWxzdGFjayA9ICh1bnNpZ25lZCBsb25nKXN0YWNrX3RocmVhZF9pbmZvKCkgLQorCQkJCSBQREFfU1RBQ0tPRkZTRVQgKyBUSFJFQURfU0laRTsKKwlwZGEtPmFjdGl2ZV9tbSA9ICZpbml0X21tOworCXBkYS0+bW11X3N0YXRlID0gMDsKKworCWlmIChjcHUgPT0gMCkgeworCQkvKiBvdGhlcnMgYXJlIGluaXRpYWxpemVkIGluIHNtcGJvb3QuYyAqLworCQlwZGEtPnBjdXJyZW50ID0gJmluaXRfdGFzazsKKwkJcGRhLT5pcnFzdGFja3B0ciA9IGJvb3RfY3B1X3N0YWNrOworCX0gZWxzZSB7CisJCXBkYS0+aXJxc3RhY2twdHIgPSAoY2hhciAqKQorCQkJX19nZXRfZnJlZV9wYWdlcyhHRlBfQVRPTUlDLCBJUlFTVEFDS19PUkRFUik7CisJCWlmICghcGRhLT5pcnFzdGFja3B0cikKKwkJCXBhbmljKCJjYW5ub3QgYWxsb2NhdGUgaXJxc3RhY2sgZm9yIGNwdSAlZCIsIGNwdSk7CisKKwkJaWYgKHBkYS0+bm9kZW51bWJlciA9PSAwICYmIGNwdV90b19ub2RlKGNwdSkgIT0gTlVNQV9OT19OT0RFKQorCQkJcGRhLT5ub2RlbnVtYmVyID0gY3B1X3RvX25vZGUoY3B1KTsKKwl9CisKKwlwZGEtPmlycXN0YWNrcHRyICs9IElSUVNUQUNLU0laRS02NDsKK30KKworY2hhciBib290X2V4Y2VwdGlvbl9zdGFja3NbKE5fRVhDRVBUSU9OX1NUQUNLUyAtIDEpICogRVhDRVBUSU9OX1NUS1NaICsKKwkJCSAgIERFQlVHX1NUS1NaXQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitleHRlcm4gYXNtbGlua2FnZSB2b2lkIGlnbm9yZV9zeXNyZXQodm9pZCk7CisKKy8qIE1heSBub3QgYmUgbWFya2VkIF9faW5pdDogdXNlZCBieSBzb2Z0d2FyZSBzdXNwZW5kICovCit2b2lkIHN5c2NhbGxfaW5pdCh2b2lkKQoreworCS8qCisJICogTFNUQVIgYW5kIFNUQVIgbGl2ZSBpbiBhIGJpdCBzdHJhbmdlIHN5bWJpb3Npcy4KKwkgKiBUaGV5IGJvdGggd3JpdGUgdG8gdGhlIHNhbWUgaW50ZXJuYWwgcmVnaXN0ZXIuIFNUQVIgYWxsb3dzIHRvCisJICogc2V0IENTL0RTIGJ1dCBvbmx5IGEgMzJiaXQgdGFyZ2V0LiBMU1RBUiBzZXRzIHRoZSA2NGJpdCByaXAuCisJICovCisJd3Jtc3JsKE1TUl9TVEFSLCAgKCh1NjQpX19VU0VSMzJfQ1MpPDw0OCAgfCAoKHU2NClfX0tFUk5FTF9DUyk8PDMyKTsKKwl3cm1zcmwoTVNSX0xTVEFSLCBzeXN0ZW1fY2FsbCk7CisJd3Jtc3JsKE1TUl9DU1RBUiwgaWdub3JlX3N5c3JldCk7CisKKyNpZmRlZiBDT05GSUdfSUEzMl9FTVVMQVRJT04KKwlzeXNjYWxsMzJfY3B1X2luaXQoKTsKKyNlbmRpZgorCisJLyogRmxhZ3MgdG8gY2xlYXIgb24gc3lzY2FsbCAqLworCXdybXNybChNU1JfU1lTQ0FMTF9NQVNLLAorCSAgICAgICBYODZfRUZMQUdTX1RGfFg4Nl9FRkxBR1NfREZ8WDg2X0VGTEFHU19JRnxYODZfRUZMQUdTX0lPUEwpOworfQorCit2b2lkIF9fY3B1aW5pdCBjaGVja19lZmVyKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBlZmVyOworCisJcmRtc3JsKE1TUl9FRkVSLCBlZmVyKTsKKwlpZiAoIShlZmVyICYgRUZFUl9OWCkgfHwgZG9fbm90X254KQorCQlfX3N1cHBvcnRlZF9wdGVfbWFzayAmPSB+X1BBR0VfTlg7Cit9CisKK3Vuc2lnbmVkIGxvbmcga2VybmVsX2VmbGFnczsKKworLyoKKyAqIENvcGllcyBvZiB0aGUgb3JpZ2luYWwgaXN0IHZhbHVlcyBmcm9tIHRoZSB0c3MgYXJlIG9ubHkgYWNjZXNzZWQgZHVyaW5nCisgKiBkZWJ1Z2dpbmcsIG5vIHNwZWNpYWwgYWxpZ25tZW50IHJlcXVpcmVkLgorICovCitERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgb3JpZ19pc3QsIG9yaWdfaXN0KTsKKworLyoKKyAqIGNwdV9pbml0KCkgaW5pdGlhbGl6ZXMgc3RhdGUgdGhhdCBpcyBwZXItQ1BVLiBTb21lIGRhdGEgaXMgYWxyZWFkeQorICogaW5pdGlhbGl6ZWQgKG5hdHVyYWxseSkgaW4gdGhlIGJvb3RzdHJhcCBwcm9jZXNzLCBzdWNoIGFzIHRoZSBHRFQKKyAqIGFuZCBJRFQuIFdlIHJlbG9hZCB0aGVtIG5ldmVydGhlbGVzcywgdGhpcyBmdW5jdGlvbiBhY3RzIGFzIGEKKyAqICdDUFUgc3RhdGUgYmFycmllcicsIG5vdGhpbmcgc2hvdWxkIGdldCBhY3Jvc3MuCisgKiBBIGxvdCBvZiBzdGF0ZSBpcyBhbHJlYWR5IHNldCB1cCBpbiBQREEgaW5pdC4KKyAqLwordm9pZCBfX2NwdWluaXQgY3B1X2luaXQodm9pZCkKK3sKKwlpbnQgY3B1ID0gc3RhY2tfc21wX3Byb2Nlc3Nvcl9pZCgpOworCXN0cnVjdCB0c3Nfc3RydWN0ICp0ID0gJnBlcl9jcHUoaW5pdF90c3MsIGNwdSk7CisJc3RydWN0IG9yaWdfaXN0ICpvcmlnX2lzdCA9ICZwZXJfY3B1KG9yaWdfaXN0LCBjcHUpOworCXVuc2lnbmVkIGxvbmcgdjsKKwljaGFyICplc3RhY2tzID0gTlVMTDsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm1lOworCWludCBpOworCisJLyogQ1BVIDAgaXMgaW5pdGlhbGlzZWQgaW4gaGVhZDY0LmMgKi8KKwlpZiAoY3B1ICE9IDApCisJCXBkYV9pbml0KGNwdSk7CisJZWxzZQorCQllc3RhY2tzID0gYm9vdF9leGNlcHRpb25fc3RhY2tzOworCisJbWUgPSBjdXJyZW50OworCisJaWYgKGNwdV90ZXN0X2FuZF9zZXQoY3B1LCBjcHVfaW5pdGlhbGl6ZWQpKQorCQlwYW5pYygiQ1BVIyVkIGFscmVhZHkgaW5pdGlhbGl6ZWQhXG4iLCBjcHUpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiSW5pdGlhbGl6aW5nIENQVSMlZFxuIiwgY3B1KTsKKworCWNsZWFyX2luX2NyNChYODZfQ1I0X1ZNRXxYODZfQ1I0X1BWSXxYODZfQ1I0X1RTRHxYODZfQ1I0X0RFKTsKKworCS8qCisJICogSW5pdGlhbGl6ZSB0aGUgcGVyLUNQVSBHRFQgd2l0aCB0aGUgYm9vdCBHRFQsCisJICogYW5kIHNldCB1cCB0aGUgR0RUIGRlc2NyaXB0b3I6CisJICovCisKKwlzd2l0Y2hfdG9fbmV3X2dkdCgpOworCWxvYWRfaWR0KChjb25zdCBzdHJ1Y3QgZGVzY19wdHIgKikmaWR0X2Rlc2NyKTsKKworCW1lbXNldChtZS0+dGhyZWFkLnRsc19hcnJheSwgMCwgR0RUX0VOVFJZX1RMU19FTlRSSUVTICogOCk7CisJc3lzY2FsbF9pbml0KCk7CisKKwl3cm1zcmwoTVNSX0ZTX0JBU0UsIDApOworCXdybXNybChNU1JfS0VSTkVMX0dTX0JBU0UsIDApOworCWJhcnJpZXIoKTsKKworCWNoZWNrX2VmZXIoKTsKKworCS8qCisJICogc2V0IHVwIGFuZCBsb2FkIHRoZSBwZXItQ1BVIFRTUworCSAqLworCWZvciAodiA9IDA7IHYgPCBOX0VYQ0VQVElPTl9TVEFDS1M7IHYrKykgeworCQlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG9yZGVyW05fRVhDRVBUSU9OX1NUQUNLU10gPSB7CisJCQlbMCAuLi4gTl9FWENFUFRJT05fU1RBQ0tTIC0gMV0gPSBFWENFUFRJT05fU1RBQ0tfT1JERVIsCisJCQlbREVCVUdfU1RBQ0sgLSAxXSA9IERFQlVHX1NUQUNLX09SREVSCisJCX07CisJCWlmIChjcHUpIHsKKwkJCWVzdGFja3MgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0FUT01JQywgb3JkZXJbdl0pOworCQkJaWYgKCFlc3RhY2tzKQorCQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgZXhjZXB0aW9uIHN0YWNrICVsZCAlZFxuIiwKKwkJCQkgICAgICB2LCBjcHUpOworCQl9CisJCWVzdGFja3MgKz0gUEFHRV9TSVpFIDw8IG9yZGVyW3ZdOworCQlvcmlnX2lzdC0+aXN0W3ZdID0gdC0+eDg2X3Rzcy5pc3Rbdl0gPSAodW5zaWduZWQgbG9uZyllc3RhY2tzOworCX0KKworCXQtPng4Nl90c3MuaW9fYml0bWFwX2Jhc2UgPSBvZmZzZXRvZihzdHJ1Y3QgdHNzX3N0cnVjdCwgaW9fYml0bWFwKTsKKwkvKgorCSAqIDw9IGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlIENQVSB3aWxsIGFjY2VzcyB1cCB0bworCSAqIDggYml0cyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgSU8gcGVybWlzc2lvbiBiaXRtYXAuCisJICovCisJZm9yIChpID0gMDsgaSA8PSBJT19CSVRNQVBfTE9OR1M7IGkrKykKKwkJdC0+aW9fYml0bWFwW2ldID0gfjBVTDsKKworCWF0b21pY19pbmMoJmluaXRfbW0ubW1fY291bnQpOworCW1lLT5hY3RpdmVfbW0gPSAmaW5pdF9tbTsKKwlpZiAobWUtPm1tKQorCQlCVUcoKTsKKwllbnRlcl9sYXp5X3RsYigmaW5pdF9tbSwgbWUpOworCisJbG9hZF9zcDAodCwgJmN1cnJlbnQtPnRocmVhZCk7CisJc2V0X3Rzc19kZXNjKGNwdSwgdCk7CisJbG9hZF9UUl9kZXNjKCk7CisJbG9hZF9MRFQoJmluaXRfbW0uY29udGV4dCk7CisKKyNpZmRlZiBDT05GSUdfS0dEQgorCS8qCisJICogSWYgdGhlIGtnZGIgaXMgY29ubmVjdGVkIG5vIGRlYnVnIHJlZ3Mgc2hvdWxkIGJlIGFsdGVyZWQuICBUaGlzCisJICogaXMgb25seSBhcHBsaWNhYmxlIHdoZW4gS0dEQiBhbmQgYSBLR0RCIEkvTyBtb2R1bGUgYXJlIGJ1aWx0CisJICogaW50byB0aGUga2VybmVsIGFuZCB5b3UgYXJlIHVzaW5nIGVhcmx5IGRlYnVnZ2luZyB3aXRoCisJICoga2dkYndhaXQuIEtHREIgd2lsbCBjb250cm9sIHRoZSBrZXJuZWwgSFcgYnJlYWtwb2ludCByZWdpc3RlcnMuCisJICovCisJaWYgKGtnZGJfY29ubmVjdGVkICYmIGFyY2hfa2dkYl9vcHMuY29ycmVjdF9od19icmVhaykKKwkJYXJjaF9rZ2RiX29wcy5jb3JyZWN0X2h3X2JyZWFrKCk7CisJZWxzZSB7CisjZW5kaWYKKwkvKgorCSAqIENsZWFyIGFsbCA2IGRlYnVnIHJlZ2lzdGVyczoKKwkgKi8KKworCXNldF9kZWJ1Z3JlZygwVUwsIDApOworCXNldF9kZWJ1Z3JlZygwVUwsIDEpOworCXNldF9kZWJ1Z3JlZygwVUwsIDIpOworCXNldF9kZWJ1Z3JlZygwVUwsIDMpOworCXNldF9kZWJ1Z3JlZygwVUwsIDYpOworCXNldF9kZWJ1Z3JlZygwVUwsIDcpOworI2lmZGVmIENPTkZJR19LR0RCCisJLyogSWYgdGhlIGtnZGIgaXMgY29ubmVjdGVkIG5vIGRlYnVnIHJlZ3Mgc2hvdWxkIGJlIGFsdGVyZWQuICovCisJfQorI2VuZGlmCisKKwlmcHVfaW5pdCgpOworCisJcmF3X2xvY2FsX3NhdmVfZmxhZ3Moa2VybmVsX2VmbGFncyk7CisKKwlpZiAoaXNfdXZfc3lzdGVtKCkpCisJCXV2X2NwdV9pbml0KCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdS5oIGIvYXJjaC94ODYva2VybmVsL2NwdS9jcHUuaAppbmRleCA3ODM2OTFiLi40ZDg5NGU4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdS5oCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1LmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIEFSQ0hfWDg2X0NQVV9ICisKKyNkZWZpbmUgQVJDSF9YODZfQ1BVX0gKIAogc3RydWN0IGNwdV9tb2RlbF9pbmZvIHsKIAlpbnQgdmVuZG9yOwpAQCAtMzYsMyArMzksNSBAQAogCiBleHRlcm4gaW50IGdldF9tb2RlbF9uYW1lKHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CiBleHRlcm4gdm9pZCBkaXNwbGF5X2NhY2hlaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9jcHVmcmVxLW5mb3JjZTIuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9jcHVmcmVxLW5mb3JjZTIuYwppbmRleCBmMDNlOTE1My4uOTY1ZWE1MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9jcHVmcmVxL2NwdWZyZXEtbmZvcmNlMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9jcHVmcmVxLW5mb3JjZTIuYwpAQCAtMjYsOSArMjYsMTAgQEAKICNkZWZpbmUgTkZPUkNFMl9TQUZFX0RJU1RBTkNFIDUwCiAKIC8qIERlbGF5IGluIG1zIGJldHdlZW4gRlNCIGNoYW5nZXMgKi8KLS8vI2RlZmluZSBORk9SQ0UyX0RFTEFZIDEwCisvKiAjZGVmaW5lIE5GT1JDRTJfREVMQVkgMTAgKi8KIAotLyogbmZvcmNlMl9jaGlwc2V0OgorLyoKKyAqIG5mb3JjZTJfY2hpcHNldDoKICAqIEZTQiBpcyBjaGFuZ2VkIHVzaW5nIHRoZSBjaGlwc2V0CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqbmZvcmNlMl9jaGlwc2V0X2RldjsKQEAgLTM2LDEzICszNywxMyBAQAogLyogZmlkOgogICogbXVsdGlwbGllciAqIDEwCiAgKi8KLXN0YXRpYyBpbnQgZmlkID0gMDsKK3N0YXRpYyBpbnQgZmlkOwogCiAvKiBtaW5fZnNiLCBtYXhfZnNiOgogICogbWluaW11bSBhbmQgbWF4aW11bSBGU0IgKD0gRlNCIGF0IGJvb3QgdGltZSkKICAqLwotc3RhdGljIGludCBtaW5fZnNiID0gMDsKLXN0YXRpYyBpbnQgbWF4X2ZzYiA9IDA7CitzdGF0aWMgaW50IG1pbl9mc2I7CitzdGF0aWMgaW50IG1heF9mc2I7CiAKIE1PRFVMRV9BVVRIT1IoIlNlYmFzdGlhbiBXaXR0IDxzZS53aXR0QGdteC5uZXQ+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIm5Gb3JjZTIgRlNCIGNoYW5naW5nIGNwdWZyZXEgZHJpdmVyIik7CkBAIC01Myw3ICs1NCw3IEBACiAKIE1PRFVMRV9QQVJNX0RFU0MoZmlkLCAiQ1BVIG11bHRpcGxpZXIgdG8gdXNlICgxMS41ID0gMTE1KSIpOwogTU9EVUxFX1BBUk1fREVTQyhtaW5fZnNiLAotICAgICAgICAgICAgICAgICAiTWluaW11bSBGU0IgdG8gdXNlLCBpZiBub3QgZGVmaW5lZDogY3VycmVudCBGU0IgLSA1MCIpOworCQkiTWluaW11bSBGU0IgdG8gdXNlLCBpZiBub3QgZGVmaW5lZDogY3VycmVudCBGU0IgLSA1MCIpOwogCiAjZGVmaW5lIGRwcmludGsobXNnLi4uKSBjcHVmcmVxX2RlYnVnX3ByaW50ayhDUFVGUkVRX0RFQlVHX0RSSVZFUiwgImNwdWZyZXEtbmZvcmNlMiIsIG1zZykKIApAQCAtMTM5LDcgKzE0MCw3IEBACiAKIAkvKiBHZXQgY2hpcHNldCBib290IEZTQiBmcm9tIHN1YmRldmljZSA1IChGU0IgYXQgYm9vdC10aW1lKSAqLwogCW5mb3JjZTJfc3ViNSA9IHBjaV9nZXRfc3Vic3lzKFBDSV9WRU5ET1JfSURfTlZJRElBLAotCQkJCQkJMHgwMUVGLFBDSV9BTllfSUQsUENJX0FOWV9JRCxOVUxMKTsKKwkJCQkJCTB4MDFFRiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgTlVMTCk7CiAJaWYgKCFuZm9yY2UyX3N1YjUpCiAJCXJldHVybiAwOwogCkBAIC0xNDcsMTMgKzE0OCwxMyBAQAogCWZzYiAvPSAxMDAwMDAwOwogCiAJLyogQ2hlY2sgaWYgUExMIHJlZ2lzdGVyIGlzIGFscmVhZHkgc2V0ICovCi0JcGNpX3JlYWRfY29uZmlnX2J5dGUobmZvcmNlMl9jaGlwc2V0X2RldixORk9SQ0UyX1BMTEVOQUJMRSwgKHU4ICopJnRlbXApOworCXBjaV9yZWFkX2NvbmZpZ19ieXRlKG5mb3JjZTJfY2hpcHNldF9kZXYsIE5GT1JDRTJfUExMRU5BQkxFLCAodTggKikmdGVtcCk7CiAKLQlpZihib290ZnNiIHx8ICF0ZW1wKQorCWlmIChib290ZnNiIHx8ICF0ZW1wKQogCQlyZXR1cm4gZnNiOwotCQkKKwogCS8qIFVzZSBQTEwgcmVnaXN0ZXIgRlNCIHZhbHVlICovCi0JcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5mb3JjZTJfY2hpcHNldF9kZXYsTkZPUkNFMl9QTExSRUcsICZ0ZW1wKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQobmZvcmNlMl9jaGlwc2V0X2RldiwgTkZPUkNFMl9QTExSRUcsICZ0ZW1wKTsKIAlmc2IgPSBuZm9yY2UyX2NhbGNfZnNiKHRlbXApOwogCiAJcmV0dXJuIGZzYjsKQEAgLTE4NCw3ICsxODUsNyBAQAogCX0KIAogCS8qIEZpcnN0IHdyaXRlPyBUaGVuIHNldCBhY3R1YWwgdmFsdWUgKi8KLQlwY2lfcmVhZF9jb25maWdfYnl0ZShuZm9yY2UyX2NoaXBzZXRfZGV2LE5GT1JDRTJfUExMRU5BQkxFLCAodTggKikmdGVtcCk7CisJcGNpX3JlYWRfY29uZmlnX2J5dGUobmZvcmNlMl9jaGlwc2V0X2RldiwgTkZPUkNFMl9QTExFTkFCTEUsICh1OCAqKSZ0ZW1wKTsKIAlpZiAoIXRlbXApIHsKIAkJcGxsID0gbmZvcmNlMl9jYWxjX3BsbCh0ZnNiKTsKIApAQCAtMjEwLDcgKzIxMSw4IEBACiAJCQl0ZnNiLS07CiAKIAkJLyogQ2FsY3VsYXRlIHRoZSBQTEwgcmVnLiB2YWx1ZSAqLwotCQlpZiAoKHBsbCA9IG5mb3JjZTJfY2FsY19wbGwodGZzYikpID09IC0xKQorCQlwbGwgPSBuZm9yY2UyX2NhbGNfcGxsKHRmc2IpOworCQlpZiAocGxsID09IC0xKQogCQkJcmV0dXJuIC1FSU5WQUw7CiAKIAkJbmZvcmNlMl93cml0ZV9wbGwocGxsKTsKQEAgLTI0OSw3ICsyNTEsNyBAQAogc3RhdGljIGludCBuZm9yY2UyX3RhcmdldChzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKnBvbGljeSwKIAkJCSAgdW5zaWduZWQgaW50IHRhcmdldF9mcmVxLCB1bnNpZ25lZCBpbnQgcmVsYXRpb24pCiB7Ci0vLyAgICAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgIGZsYWdzOworLyogICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICAgICBmbGFnczsgKi8KIAlzdHJ1Y3QgY3B1ZnJlcV9mcmVxcyBmcmVxczsKIAl1bnNpZ25lZCBpbnQgdGFyZ2V0X2ZzYjsKIApAQCAtMjcxLDE3ICsyNzMsMTcgQEAKIAljcHVmcmVxX25vdGlmeV90cmFuc2l0aW9uKCZmcmVxcywgQ1BVRlJFUV9QUkVDSEFOR0UpOwogCiAJLyogRGlzYWJsZSBJUlFzICovCi0JLy9sb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJLyogbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOyAqLwogCiAJaWYgKG5mb3JjZTJfc2V0X2ZzYih0YXJnZXRfZnNiKSA8IDApCiAJCXByaW50ayhLRVJOX0VSUiAiY3B1ZnJlcTogQ2hhbmdpbmcgRlNCIHRvICVkIGZhaWxlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2ZzYik7CisJCQl0YXJnZXRfZnNiKTsKIAllbHNlCiAJCWRwcmludGsoIkNoYW5nZWQgRlNCIHN1Y2Nlc3NmdWxseSB0byAlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2ZzYik7CisJCQl0YXJnZXRfZnNiKTsKIAogCS8qIEVuYWJsZSBJUlFzICovCi0JLy9sb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJLyogbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOyAqLwogCiAJY3B1ZnJlcV9ub3RpZnlfdHJhbnNpdGlvbigmZnJlcXMsIENQVUZSRVFfUE9TVENIQU5HRSk7CiAKQEAgLTMwMiw4ICszMDQsOCBAQAogCQlwb2xpY3ktPm1heCA9IChmc2JfcG9sX21heCArIDEpICogZmlkICogMTAwOwogCiAJY3B1ZnJlcV92ZXJpZnlfd2l0aGluX2xpbWl0cyhwb2xpY3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9saWN5LT5jcHVpbmZvLm1pbl9mcmVxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbGljeS0+Y3B1aW5mby5tYXhfZnJlcSk7CisJCQkJICAgICBwb2xpY3ktPmNwdWluZm8ubWluX2ZyZXEsCisJCQkJICAgICBwb2xpY3ktPmNwdWluZm8ubWF4X2ZyZXEpOwogCXJldHVybiAwOwogfQogCkBAIC0zNDcsNyArMzQ5LDcgQEAKIAkvKiBTZXQgbWF4aW11bSBGU0IgdG8gRlNCIGF0IGJvb3QgdGltZSAqLwogCW1heF9mc2IgPSBuZm9yY2UyX2ZzYl9yZWFkKDEpOwogCi0JaWYoIW1heF9mc2IpCisJaWYgKCFtYXhfZnNiKQogCQlyZXR1cm4gLUVJTzsKIAogCWlmICghbWluX2ZzYikKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWwuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWwuYwppbmRleCBmZTkyMjRjLi43MDYwOWVmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbC5jCkBAIC0yMjYsNiArMjI2LDEwIEBACiAKIAlpZiAoY3B1X2hhc19idHMpCiAJCWRzX2luaXRfaW50ZWwoYyk7CisKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJbnVtYXFfdHNjX2Rpc2FibGUoKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgdW5zaWduZWQgaW50IF9fY3B1aW5pdCBpbnRlbF9zaXplX2NhY2hlKHN0cnVjdCBjcHVpbmZvX3g4NiAqYywgdW5zaWduZWQgaW50IHNpemUpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsXzY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTAxOWM1OAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfNjQuYwpAQCAtMCwwICsxLDk1IEBACisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisjaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+CisjaW5jbHVkZSA8YXNtL251bWFfNjQuaD4KKworI2luY2x1ZGUgImNwdS5oIgorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9pbnRlbChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaWYgKChjLT54ODYgPT0gMHhmICYmIGMtPng4Nl9tb2RlbCA+PSAweDAzKSB8fAorCSAgICAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHgwZSkpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7CisKKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9TWVNFTlRFUjMyKTsKK30KKworLyoKKyAqIGZpbmQgb3V0IHRoZSBudW1iZXIgb2YgcHJvY2Vzc29yIGNvcmVzIG9uIHRoZSBkaWUKKyAqLworc3RhdGljIGludCBfX2NwdWluaXQgaW50ZWxfbnVtX2NwdV9jb3JlcyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJdW5zaWduZWQgaW50IGVheCwgdDsKKworCWlmIChjLT5jcHVpZF9sZXZlbCA8IDQpCisJCXJldHVybiAxOworCisJY3B1aWRfY291bnQoNCwgMCwgJmVheCwgJnQsICZ0LCAmdCk7CisKKwlpZiAoZWF4ICYgMHgxZikKKwkJcmV0dXJuICgoZWF4ID4+IDI2KSArIDEpOworCWVsc2UKKwkJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBzcmF0X2RldGVjdF9ub2RlKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX05VTUEKKwl1bnNpZ25lZCBub2RlOworCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJaW50IGFwaWNpZCA9IGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJLyogRG9uJ3QgZG8gdGhlIGZ1bmt5IGZhbGxiYWNrIGhldXJpc3RpY3MgdGhlIEFNRCB2ZXJzaW9uIGVtcGxveXMKKwkgICBmb3Igbm93LiAqLworCW5vZGUgPSBhcGljaWRfdG9fbm9kZVthcGljaWRdOworCWlmIChub2RlID09IE5VTUFfTk9fTk9ERSB8fCAhbm9kZV9vbmxpbmUobm9kZSkpCisJCW5vZGUgPSBmaXJzdF9ub2RlKG5vZGVfb25saW5lX21hcCk7CisJbnVtYV9zZXRfbm9kZShjcHUsIG5vZGUpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVICVkLyV4IC0+IE5vZGUgJWRcbiIsIGNwdSwgYXBpY2lkLCBub2RlKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9pbnRlbChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaW5pdF9pbnRlbF9jYWNoZWluZm8oYyk7CisJaWYgKGMtPmNwdWlkX2xldmVsID4gOSkgeworCQl1bnNpZ25lZCBlYXggPSBjcHVpZF9lYXgoMTApOworCQkvKiBDaGVjayBmb3IgdmVyc2lvbiBhbmQgdGhlIG51bWJlciBvZiBjb3VudGVycyAqLworCQlpZiAoKGVheCAmIDB4ZmYpICYmICgoKGVheD4+OCkgJiAweGZmKSA+IDEpKQorCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQVJDSF9QRVJGTU9OKTsKKwl9CisKKwlpZiAoY3B1X2hhc19kcykgeworCQl1bnNpZ25lZCBpbnQgbDEsIGwyOworCQlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbDEsIGwyKTsKKwkJaWYgKCEobDEgJiAoMTw8MTEpKSkKKwkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0JUUyk7CisJCWlmICghKGwxICYgKDE8PDEyKSkpCisJCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9QRUJTKTsKKwl9CisKKworCWlmIChjcHVfaGFzX2J0cykKKwkJZHNfaW5pdF9pbnRlbChjKTsKKworCWlmIChjLT54ODYgPT0gMTUpCisJCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKKwlpZiAoYy0+eDg2ID09IDYpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOworCWMtPng4Nl9tYXhfY29yZXMgPSBpbnRlbF9udW1fY3B1X2NvcmVzKGMpOworCisJc3JhdF9kZXRlY3Rfbm9kZSgpOworfQorCitzdGF0aWMgc3RydWN0IGNwdV9kZXYgaW50ZWxfY3B1X2RldiBfX2NwdWluaXRkYXRhID0geworCS5jX3ZlbmRvcgk9ICJJbnRlbCIsCisJLmNfaWRlbnQJPSB7ICJHZW51aW5lSW50ZWwiIH0sCisJLmNfZWFybHlfaW5pdCAgID0gZWFybHlfaW5pdF9pbnRlbCwKKwkuY19pbml0CQk9IGluaXRfaW50ZWwsCit9OworY3B1X3ZlbmRvcl9kZXZfcmVnaXN0ZXIoWDg2X1ZFTkRPUl9JTlRFTCwgJmludGVsX2NwdV9kZXYpOworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsX2NhY2hlaW5mby5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbF9jYWNoZWluZm8uYwppbmRleCAyNmQ2MTVkLi4yYzhhZmFmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsX2NhY2hlaW5mby5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfY2FjaGVpbmZvLmMKQEAgLTYyLDYgKzYyLDcgQEAKIAl7IDB4NGIsIExWTF8zLCAgICAgIDgxOTIgfSwJLyogMTYtd2F5IHNldCBhc3NvYywgNjQgYnl0ZSBsaW5lIHNpemUgKi8KIAl7IDB4NGMsIExWTF8zLCAgICAgMTIyODggfSwJLyogMTItd2F5IHNldCBhc3NvYywgNjQgYnl0ZSBsaW5lIHNpemUgKi8KIAl7IDB4NGQsIExWTF8zLCAgICAgMTYzODQgfSwJLyogMTYtd2F5IHNldCBhc3NvYywgNjQgYnl0ZSBsaW5lIHNpemUgKi8KKwl7IDB4NGUsIExWTF8yLCAgICAgIDYxNDQgfSwJLyogMjQtd2F5IHNldCBhc3NvYywgNjQgYnl0ZSBsaW5lIHNpemUgKi8KIAl7IDB4NjAsIExWTF8xX0RBVEEsIDE2IH0sCS8qIDgtd2F5IHNldCBhc3NvYywgc2VjdG9yZWQgY2FjaGUsIDY0IGJ5dGUgbGluZSBzaXplICovCiAJeyAweDY2LCBMVkxfMV9EQVRBLCA4IH0sCS8qIDQtd2F5IHNldCBhc3NvYywgc2VjdG9yZWQgY2FjaGUsIDY0IGJ5dGUgbGluZSBzaXplICovCiAJeyAweDY3LCBMVkxfMV9EQVRBLCAxNiB9LAkvKiA0LXdheSBzZXQgYXNzb2MsIHNlY3RvcmVkIGNhY2hlLCA2NCBieXRlIGxpbmUgc2l6ZSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svazcuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL2s3LmMKaW5kZXggZTYzM2M5Yy4uZjM5MGM5ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svazcuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9rNy5jCkBAIC05LDIzICs5LDIzIEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAKLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+IAorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogCiAjaW5jbHVkZSAibWNlLmgiCiAKIC8qIE1hY2hpbmUgQ2hlY2sgSGFuZGxlciBGb3IgQU1EIEF0aGxvbi9EdXJvbiAqLwotc3RhdGljIHZvaWQgazdfbWFjaGluZV9jaGVjayhzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKK3N0YXRpYyB2b2lkIGs3X21hY2hpbmVfY2hlY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKLQlpbnQgcmVjb3Zlcj0xOworCWludCByZWNvdmVyID0gMTsKIAl1MzIgYWxvdywgYWhpZ2gsIGhpZ2gsIGxvdzsKIAl1MzIgbWNnc3RsLCBtY2dzdGg7CiAJaW50IGk7CiAKLQlyZG1zciAoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKIAlpZiAobWNnc3RsICYgKDE8PDApKQkvKiBSZWNvdmVyYWJsZSA/ICovCi0JCXJlY292ZXI9MDsKKwkJcmVjb3ZlciA9IDA7CiAKIAlwcmludGsoS0VSTl9FTUVSRyAiQ1BVICVkOiBNYWNoaW5lIENoZWNrIEV4Y2VwdGlvbjogJTA4eCUwOHhcbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSwgbWNnc3RoLCBtY2dzdGwpOwpAQCAtNjAsMTIgKzYwLDEyIEBACiAJfQogCiAJaWYgKHJlY292ZXImMikKLQkJcGFuaWMgKCJDUFUgY29udGV4dCBjb3JydXB0Iik7CisJCXBhbmljKCJDUFUgY29udGV4dCBjb3JydXB0Iik7CiAJaWYgKHJlY292ZXImMSkKLQkJcGFuaWMgKCJVbmFibGUgdG8gY29udGludWUiKTsKLQlwcmludGsgKEtFUk5fRU1FUkcgIkF0dGVtcHRpbmcgdG8gY29udGludWUuXG4iKTsKKwkJcGFuaWMoIlVuYWJsZSB0byBjb250aW51ZSIpOworCXByaW50ayhLRVJOX0VNRVJHICJBdHRlbXB0aW5nIHRvIGNvbnRpbnVlLlxuIik7CiAJbWNnc3RsICY9IH4oMTw8Mik7Ci0Jd3Jtc3IgKE1TUl9JQTMyX01DR19TVEFUVVMsbWNnc3RsLCBtY2dzdGgpOworCXdybXNyKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKIH0KIAogCkBAIC04MSwyNSArODEsMjUgQEAKIAltYWNoaW5lX2NoZWNrX3ZlY3RvciA9IGs3X21hY2hpbmVfY2hlY2s7CiAJd21iKCk7CiAKLQlwcmludGsgKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayBhcmNoaXRlY3R1cmUgc3VwcG9ydGVkLlxuIik7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOworCXByaW50ayhLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZC5cbiIpOworCXJkbXNyKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOwogCWlmIChsICYgKDE8PDgpKQkvKiBDb250cm9sIHJlZ2lzdGVyIHByZXNlbnQgPyAqLwotCQl3cm1zciAoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CisJCXdybXNyKE1TUl9JQTMyX01DR19DVEwsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOwogCW5yX21jZV9iYW5rcyA9IGwgJiAweGZmOwogCiAJLyogQ2xlYXIgc3RhdHVzIGZvciBNQyBpbmRleCAwIHNlcGFyYXRlbHksIHdlIGRvbid0IHRvdWNoIENUTCwKIAkgKiBhcyBzb21lIEs3IEF0aGxvbnMgY2F1c2Ugc3B1cmlvdXMgTUNFcyB3aGVuIGl0cyBlbmFibGVkLiAqLwogCWlmIChib290X2NwdV9kYXRhLng4NiA9PSA2KSB7Ci0JCXdybXNyIChNU1JfSUEzMl9NQzBfU1RBVFVTLCAweDAsIDB4MCk7CisJCXdybXNyKE1TUl9JQTMyX01DMF9TVEFUVVMsIDB4MCwgMHgwKTsKIAkJaSA9IDE7CiAJfSBlbHNlCiAJCWkgPSAwOwotCWZvciAoOyBpPG5yX21jZV9iYW5rczsgaSsrKSB7Ci0JCXdybXNyIChNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7Ci0JCXdybXNyIChNU1JfSUEzMl9NQzBfU1RBVFVTKzQqaSwgMHgwLCAweDApOworCWZvciAoOyBpIDwgbnJfbWNlX2JhbmtzOyBpKyspIHsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX0NUTCs0KmksIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOworCQl3cm1zcihNU1JfSUEzMl9NQzBfU1RBVFVTKzQqaSwgMHgwLCAweDApOwogCX0KIAotCXNldF9pbl9jcjQgKFg4Nl9DUjRfTUNFKTsKLQlwcmludGsgKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjJWQuXG4iLAorCXNldF9pbl9jcjQoWDg2X0NSNF9NQ0UpOworCXByaW50ayhLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVuYWJsZWQgb24gQ1BVIyVkLlxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV82NC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlXzY0LmMKaW5kZXggZTA3ZThjMC4uYzRhN2VjMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlXzY0LmMKQEAgLTksNiArOSw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KICNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgpAQCAtMzEsNyArMzIsNyBAQAogI2luY2x1ZGUgPGFzbS9pZGxlLmg+CiAKICNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IgMjI3Ci0jZGVmaW5lIE5SX0JBTktTIDYKKyNkZWZpbmUgTlJfU1lTRlNfQkFOS1MgNgogCiBhdG9taWNfdCBtY2VfZW50cnk7CiAKQEAgLTQ2LDcgKzQ3LDcgQEAKICAqLwogc3RhdGljIGludCB0b2xlcmFudCA9IDE7CiBzdGF0aWMgaW50IGJhbmtzOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgYmFua1tOUl9CQU5LU10gPSB7IFswIC4uLiBOUl9CQU5LUy0xXSA9IH4wVUwgfTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGJhbmtbTlJfU1lTRlNfQkFOS1NdID0geyBbMCAuLi4gTlJfU1lTRlNfQkFOS1MtMV0gPSB+MFVMIH07CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBub3RpZnlfdXNlcjsKIHN0YXRpYyBpbnQgcmlwX21zcjsKIHN0YXRpYyBpbnQgbWNlX2Jvb3Rsb2cgPSAtMTsKQEAgLTIwOSw3ICsyMTAsNyBAQAogCWJhcnJpZXIoKTsKIAogCWZvciAoaSA9IDA7IGkgPCBiYW5rczsgaSsrKSB7Ci0JCWlmICghYmFua1tpXSkKKwkJaWYgKGkgPCBOUl9TWVNGU19CQU5LUyAmJiAhYmFua1tpXSkKIAkJCWNvbnRpbnVlOwogCiAJCW0ubWlzYyA9IDA7CkBAIC0zNjMsNyArMzY0LDcgQEAKIAogc3RhdGljIHZvaWQgbWNoZWNrX3RpbWVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlvbl9lYWNoX2NwdShtY2hlY2tfY2hlY2tfY3B1LCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShtY2hlY2tfY2hlY2tfY3B1LCBOVUxMLCAxKTsKIAogCS8qCiAJICogQWxlcnQgdXNlcnNwYWNlIGlmIG5lZWRlZC4gIElmIHdlIGxvZ2dlZCBhbiBNQ0UsIHJlZHVjZSB0aGUKQEAgLTQ0NCw5ICs0NDUsMTAgQEAKIAogCXJkbXNybChNU1JfSUEzMl9NQ0dfQ0FQLCBjYXApOwogCWJhbmtzID0gY2FwICYgMHhmZjsKLQlpZiAoYmFua3MgPiBOUl9CQU5LUykgewotCQlwcmludGsoS0VSTl9JTkZPICJNQ0U6IHdhcm5pbmc6IHVzaW5nIG9ubHkgJWQgYmFua3NcbiIsIGJhbmtzKTsKLQkJYmFua3MgPSBOUl9CQU5LUzsKKwlpZiAoYmFua3MgPiBNQ0VfRVhURU5ERURfQkFOSykgeworCQliYW5rcyA9IE1DRV9FWFRFTkRFRF9CQU5LOworCQlwcmludGsoS0VSTl9JTkZPICJNQ0U6IHdhcm5pbmc6IHVzaW5nIG9ubHkgJWQgYmFua3NcbiIsCisJCSAgICAgICBNQ0VfRVhURU5ERURfQkFOSyk7CiAJfQogCS8qIFVzZSBhY2N1cmF0ZSBSSVAgcmVwb3J0aW5nIGlmIGF2YWlsYWJsZS4gKi8KIAlpZiAoKGNhcCAmICgxPDw5KSkgJiYgKChjYXAgPj4gMTYpICYgMHhmZikgPj0gOSkKQEAgLTQ2Miw3ICs0NjQsMTEgQEAKIAkJd3Jtc3IoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgYmFua3M7IGkrKykgewotCQl3cm1zcmwoTVNSX0lBMzJfTUMwX0NUTCs0KmksIGJhbmtbaV0pOworCQlpZiAoaSA8IE5SX1NZU0ZTX0JBTktTKQorCQkJd3Jtc3JsKE1TUl9JQTMyX01DMF9DVEwrNCppLCBiYW5rW2ldKTsKKwkJZWxzZQorCQkJd3Jtc3JsKE1TUl9JQTMyX01DMF9DVEwrNCppLCB+MFVMKTsKKwogCQl3cm1zcmwoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDApOwogCX0KIH0KQEAgLTUyNywxMCArNTMzLDEyIEBACiAKIHN0YXRpYyBpbnQgbWNlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJm1jZV9zdGF0ZV9sb2NrKTsKIAogCWlmIChvcGVuX2V4Y2x1IHx8IChvcGVuX2NvdW50ICYmIChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSkpIHsKIAkJc3Bpbl91bmxvY2soJm1jZV9zdGF0ZV9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIApAQCAtNTM5LDYgKzU0Nyw3IEBACiAJb3Blbl9jb3VudCsrOwogCiAJc3Bpbl91bmxvY2soJm1jZV9zdGF0ZV9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiB9CkBAIC02MTIsNyArNjIxLDcgQEAKIAkgKiBDb2xsZWN0IGVudHJpZXMgdGhhdCB3ZXJlIHN0aWxsIGdldHRpbmcgd3JpdHRlbiBiZWZvcmUgdGhlCiAJICogc3luY2hyb25pemUuCiAJICovCi0Jb25fZWFjaF9jcHUoY29sbGVjdF90c2NzLCBjcHVfdHNjLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShjb2xsZWN0X3RzY3MsIGNwdV90c2MsIDEpOwogCWZvciAoaSA9IG5leHQ7IGkgPCBNQ0VfTE9HX0xFTjsgaSsrKSB7CiAJCWlmIChtY2Vsb2cuZW50cnlbaV0uZmluaXNoZWQgJiYKIAkJICAgIG1jZWxvZy5lbnRyeVtpXS50c2MgPCBjcHVfdHNjW21jZWxvZy5lbnRyeVtpXS5jcHVdKSB7CkBAIC03MzcsNyArNzQ2LDcgQEAKIAlpZiAobmV4dF9pbnRlcnZhbCkKIAkJY2FuY2VsX2RlbGF5ZWRfd29yaygmbWNoZWNrX3dvcmspOwogCS8qIFRpbWVyIHJhY2UgaXMgaGFybWxlc3MgaGVyZSAqLwotCW9uX2VhY2hfY3B1KG1jZV9pbml0LCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShtY2VfaW5pdCwgTlVMTCwgMSk7CiAJbmV4dF9pbnRlcnZhbCA9IGNoZWNrX2ludGVydmFsICogSFo7CiAJaWYgKG5leHRfaW50ZXJ2YWwpCiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmbWNoZWNrX3dvcmssCkBAIC03NjYsNyArNzc1LDEwIEBACiAJfQkJCQkJCQkJXAogCXN0YXRpYyBTWVNERVZfQVRUUihuYW1lLCAwNjQ0LCBzaG93XyAjIyBuYW1lLCBzZXRfICMjIG5hbWUpOwogCi0vKiBUQkQgc2hvdWxkIGdlbmVyYXRlIHRoZXNlIGR5bmFtaWNhbGx5IGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgYmFua3MgKi8KKy8qCisgKiBUQkQgc2hvdWxkIGdlbmVyYXRlIHRoZXNlIGR5bmFtaWNhbGx5IGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgYmFua3MuCisgKiBIYXZlIG9ubHkgNiBjb250b2wgYmFua3MgaW4gL3N5c2ZzIHVudGlsIHRoZW4uCisgKi8KIEFDQ0VTU09SKGJhbmswY3RsLGJhbmtbMF0sbWNlX3Jlc3RhcnQoKSkKIEFDQ0VTU09SKGJhbmsxY3RsLGJhbmtbMV0sbWNlX3Jlc3RhcnQoKSkKIEFDQ0VTU09SKGJhbmsyY3RsLGJhbmtbMl0sbWNlX3Jlc3RhcnQoKSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL25vbi1mYXRhbC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbm9uLWZhdGFsLmMKaW5kZXggMDBjY2I2Yy4uY2MxZmNjZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbm9uLWZhdGFsLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbm9uLWZhdGFsLmMKQEAgLTU5LDcgKzU5LDcgQEAKIAogc3RhdGljIHZvaWQgbWNlX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewotCW9uX2VhY2hfY3B1KG1jZV9jaGVja3JlZ3MsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KG1jZV9jaGVja3JlZ3MsIE5VTEwsIDEpOwogCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmbWNlX3dvcmssIHJvdW5kX2ppZmZpZXNfcmVsYXRpdmUoTUNFX1JBVEUpKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svcDQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL3A0LmMKaW5kZXggY2IwMzM0NS4uZWVmMDAxYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svcDQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9wNC5jCkBAIC04LDcgKzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPiAKKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgpAQCAtMzIsMTIgKzMyLDEyIEBACiAJLyogdTMyICpyZXNlcnZlZFtdOyAqLwogfTsKIAotc3RhdGljIGludCBtY2VfbnVtX2V4dGVuZGVkX21zcnMgPSAwOworc3RhdGljIGludCBtY2VfbnVtX2V4dGVuZGVkX21zcnM7CiAKIAogI2lmZGVmIENPTkZJR19YODZfTUNFX1A0VEhFUk1BTAogc3RhdGljIHZvaWQgdW5leHBlY3RlZF90aGVybWFsX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKLXsJCit7CiAJcHJpbnRrKEtFUk5fRVJSICJDUFUlZDogVW5leHBlY3RlZCBMVlQgVE1SIGludGVycnVwdCFcbiIsCiAJCQlzbXBfcHJvY2Vzc29yX2lkKCkpOwogCWFkZF90YWludChUQUlOVF9NQUNISU5FX0NIRUNLKTsKQEAgLTgzLDcgKzgzLDcgQEAKIAkgKiBiZSBzb21lIFNNTSBnb28gd2hpY2ggaGFuZGxlcyBpdCwgc28gd2UgY2FuJ3QgZXZlbiBwdXQgYSBoYW5kbGVyCiAJICogc2luY2UgaXQgbWlnaHQgYmUgZGVsaXZlcmVkIHZpYSBTTUkgYWxyZWFkeSAtendhbmVtLgogCSAqLwotCXJkbXNyIChNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwsIGgpOwogCWggPSBhcGljX3JlYWQoQVBJQ19MVlRUSE1SKTsKIAlpZiAoKGwgJiAoMTw8MykpICYmIChoICYgQVBJQ19ETV9TTUkpKSB7CiAJCXByaW50ayhLRVJOX0RFQlVHICJDUFUlZDogVGhlcm1hbCBtb25pdG9yaW5nIGhhbmRsZWQgYnkgU01JXG4iLApAQCAtOTEsNyArOTEsNyBAQAogCQlyZXR1cm47IC8qIC1FQlVTWSAqLwogCX0KIAotCS8qIGNoZWNrIHdoZXRoZXIgYSB2ZWN0b3IgYWxyZWFkeSBleGlzdHMsIHRlbXBvcmFyaWx5IG1hc2tlZD8gKi8JCisJLyogY2hlY2sgd2hldGhlciBhIHZlY3RvciBhbHJlYWR5IGV4aXN0cywgdGVtcG9yYXJpbHkgbWFza2VkPyAqLwogCWlmIChoICYgQVBJQ19WRUNUT1JfTUFTSykgewogCQlwcmludGsoS0VSTl9ERUJVRyAiQ1BVJWQ6IFRoZXJtYWwgTFZUIHZlY3RvciAoJSN4KSBhbHJlYWR5ICIKIAkJCQkiaW5zdGFsbGVkXG4iLApAQCAtMTA0LDE4ICsxMDQsMTggQEAKIAloIHw9IChBUElDX0RNX0ZJWEVEIHwgQVBJQ19MVlRfTUFTS0VEKTsJLyogd2UnbGwgbWFzayB0aWxsIHdlJ3JlIHJlYWR5ICovCiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlRUSE1SLCBoKTsKIAotCXJkbXNyIChNU1JfSUEzMl9USEVSTV9JTlRFUlJVUFQsIGwsIGgpOwotCXdybXNyIChNU1JfSUEzMl9USEVSTV9JTlRFUlJVUFQsIGwgfCAweDAzICwgaCk7CisJcmRtc3IoTVNSX0lBMzJfVEhFUk1fSU5URVJSVVBULCBsLCBoKTsKKwl3cm1zcihNU1JfSUEzMl9USEVSTV9JTlRFUlJVUFQsIGwgfCAweDAzICwgaCk7CiAKIAkvKiBvayB3ZSdyZSBnb29kIHRvIGdvLi4uICovCiAJdmVuZG9yX3RoZXJtYWxfaW50ZXJydXB0ID0gaW50ZWxfdGhlcm1hbF9pbnRlcnJ1cHQ7Ci0JCi0JcmRtc3IgKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsLCBoKTsKLQl3cm1zciAoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwgfCAoMTw8MyksIGgpOwogCi0JbCA9IGFwaWNfcmVhZCAoQVBJQ19MVlRUSE1SKTsKLQlhcGljX3dyaXRlX2Fyb3VuZCAoQVBJQ19MVlRUSE1SLCBsICYgfkFQSUNfTFZUX01BU0tFRCk7Ci0JcHJpbnRrIChLRVJOX0lORk8gIkNQVSVkOiBUaGVybWFsIG1vbml0b3JpbmcgZW5hYmxlZFxuIiwgY3B1KTsKKwlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCwgaCk7CisJd3Jtc3IoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwgfCAoMTw8MyksIGgpOworCisJbCA9IGFwaWNfcmVhZChBUElDX0xWVFRITVIpOworCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUVEhNUiwgbCAmIH5BUElDX0xWVF9NQVNLRUQpOworCXByaW50ayhLRVJOX0lORk8gIkNQVSVkOiBUaGVybWFsIG1vbml0b3JpbmcgZW5hYmxlZFxuIiwgY3B1KTsKIAogCS8qIGVuYWJsZSB0aGVybWFsIHRocm90dGxlIHByb2Nlc3NpbmcgKi8KIAlhdG9taWNfc2V0KCZ0aGVybV90aHJvdF9lbiwgMSk7CkBAIC0xMjksMjggKzEyOSwyOCBAQAogewogCXUzMiBoOwogCi0JcmRtc3IgKE1TUl9JQTMyX01DR19FQVgsIHItPmVheCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FQlgsIHItPmVieCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FQ1gsIHItPmVjeCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FRFgsIHItPmVkeCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FU0ksIHItPmVzaSwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FREksIHItPmVkaSwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FQlAsIHItPmVicCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FU1AsIHItPmVzcCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FRkxBR1MsIHItPmVmbGFncywgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FSVAsIHItPmVpcCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VBWCwgci0+ZWF4LCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUJYLCByLT5lYngsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FQ1gsIHItPmVjeCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VEWCwgci0+ZWR4LCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRVNJLCByLT5lc2ksIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FREksIHItPmVkaSwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VCUCwgci0+ZWJwLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRVNQLCByLT5lc3AsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FRkxBR1MsIHItPmVmbGFncywgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VJUCwgci0+ZWlwLCBoKTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfbWFjaGluZV9jaGVjayhzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKK3N0YXRpYyB2b2lkIGludGVsX21hY2hpbmVfY2hlY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKLQlpbnQgcmVjb3Zlcj0xOworCWludCByZWNvdmVyID0gMTsKIAl1MzIgYWxvdywgYWhpZ2gsIGhpZ2gsIGxvdzsKIAl1MzIgbWNnc3RsLCBtY2dzdGg7CiAJaW50IGk7CiAKLQlyZG1zciAoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKIAlpZiAobWNnc3RsICYgKDE8PDApKQkvKiBSZWNvdmVyYWJsZSA/ICovCi0JCXJlY292ZXI9MDsKKwkJcmVjb3ZlciA9IDA7CiAKIAlwcmludGsoS0VSTl9FTUVSRyAiQ1BVICVkOiBNYWNoaW5lIENoZWNrIEV4Y2VwdGlvbjogJTA4eCUwOHhcbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSwgbWNnc3RoLCBtY2dzdGwpOwpAQCAtMTkxLDIwICsxOTEsMjAgQEAKIAl9CiAKIAlpZiAocmVjb3ZlciAmIDIpCi0JCXBhbmljICgiQ1BVIGNvbnRleHQgY29ycnVwdCIpOworCQlwYW5pYygiQ1BVIGNvbnRleHQgY29ycnVwdCIpOwogCWlmIChyZWNvdmVyICYgMSkKLQkJcGFuaWMgKCJVbmFibGUgdG8gY29udGludWUiKTsKKwkJcGFuaWMoIlVuYWJsZSB0byBjb250aW51ZSIpOwogCiAJcHJpbnRrKEtFUk5fRU1FUkcgIkF0dGVtcHRpbmcgdG8gY29udGludWUuXG4iKTsKLQkvKiAKLQkgKiBEbyBub3QgY2xlYXIgdGhlIE1TUl9JQTMyX01DaV9TVEFUVVMgaWYgdGhlIGVycm9yIGlzIG5vdCAKKwkvKgorCSAqIERvIG5vdCBjbGVhciB0aGUgTVNSX0lBMzJfTUNpX1NUQVRVUyBpZiB0aGUgZXJyb3IgaXMgbm90CiAJICogcmVjb3ZlcmFibGUvY29udGludWFibGUuVGhpcyB3aWxsIGFsbG93IEJJT1MgdG8gbG9vayBhdCB0aGUgTVNScwogCSAqIGZvciBlcnJvcnMgaWYgdGhlIE9TIGNvdWxkIG5vdCBsb2cgdGhlIGVycm9yLgogCSAqLwotCWZvciAoaT0wOyBpPG5yX21jZV9iYW5rczsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IG5yX21jZV9iYW5rczsgaSsrKSB7CiAJCXUzMiBtc3I7CiAJCW1zciA9IE1TUl9JQTMyX01DMF9TVEFUVVMraSo0OwotCQlyZG1zciAobXNyLCBsb3csIGhpZ2gpOworCQlyZG1zcihtc3IsIGxvdywgaGlnaCk7CiAJCWlmIChoaWdoJigxPDwzMSkpIHsKIAkJCS8qIENsZWFyIGl0ICovCiAJCQl3cm1zcihtc3IsIDBVTCwgMFVMKTsKQEAgLTIxNCw3ICsyMTQsNyBAQAogCQl9CiAJfQogCW1jZ3N0bCAmPSB+KDE8PDIpOwotCXdybXNyIChNU1JfSUEzMl9NQ0dfU1RBVFVTLG1jZ3N0bCwgbWNnc3RoKTsKKwl3cm1zcihNU1JfSUEzMl9NQ0dfU1RBVFVTLCBtY2dzdGwsIG1jZ3N0aCk7CiB9CiAKIApAQCAtMjIyLDMwICsyMjIsMzAgQEAKIHsKIAl1MzIgbCwgaDsKIAlpbnQgaTsKLQkKKwogCW1hY2hpbmVfY2hlY2tfdmVjdG9yID0gaW50ZWxfbWFjaGluZV9jaGVjazsKIAl3bWIoKTsKIAotCXByaW50ayAoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIGFyY2hpdGVjdHVyZSBzdXBwb3J0ZWQuXG4iKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0NBUCwgbCwgaCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayBhcmNoaXRlY3R1cmUgc3VwcG9ydGVkLlxuIik7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0NBUCwgbCwgaCk7CiAJaWYgKGwgJiAoMTw8OCkpCS8qIENvbnRyb2wgcmVnaXN0ZXIgcHJlc2VudCA/ICovCi0JCXdybXNyIChNU1JfSUEzMl9NQ0dfQ1RMLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CiAJbnJfbWNlX2JhbmtzID0gbCAmIDB4ZmY7CiAKLQlmb3IgKGk9MDsgaTxucl9tY2VfYmFua3M7IGkrKykgewotCQl3cm1zciAoTVNSX0lBMzJfTUMwX0NUTCs0KmksIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOwotCQl3cm1zciAoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDB4MCwgMHgwKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbWNlX2JhbmtzOyBpKyspIHsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX0NUTCs0KmksIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOworCQl3cm1zcihNU1JfSUEzMl9NQzBfU1RBVFVTKzQqaSwgMHgwLCAweDApOwogCX0KIAotCXNldF9pbl9jcjQgKFg4Nl9DUjRfTUNFKTsKLQlwcmludGsgKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjJWQuXG4iLAorCXNldF9pbl9jcjQoWDg2X0NSNF9NQ0UpOworCXByaW50ayhLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVuYWJsZWQgb24gQ1BVIyVkLlxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAogCS8qIENoZWNrIGZvciBQNC9YZW9uIGV4dGVuZGVkIE1DRSBNU1JzICovCi0JcmRtc3IgKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOwogCWlmIChsICYgKDE8PDkpKQl7LyogTUNHX0VYVF9QICovCiAJCW1jZV9udW1fZXh0ZW5kZWRfbXNycyA9IChsID4+IDE2KSAmIDB4ZmY7Ci0JCXByaW50ayAoS0VSTl9JTkZPICJDUFUlZDogSW50ZWwgUDQvWGVvbiBFeHRlbmRlZCBNQ0UgTVNScyAoJWQpIgorCQlwcmludGsoS0VSTl9JTkZPICJDUFUlZDogSW50ZWwgUDQvWGVvbiBFeHRlbmRlZCBNQ0UgTVNScyAoJWQpIgogCQkJCSIgYXZhaWxhYmxlXG4iLAogCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBtY2VfbnVtX2V4dGVuZGVkX21zcnMpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvZ2VuZXJpYy5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL2dlbmVyaWMuYwppbmRleCA1ZDI0MWNlLi41MDliZDNkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvZ2VuZXJpYy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9nZW5lcmljLmMKQEAgLTM3LDcgKzM3LDcgQEAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHNtcF9jaGFuZ2VzX21hc2s7CiBzdGF0aWMgc3RydWN0IG10cnJfc3RhdGUgbXRycl9zdGF0ZSA9IHt9Owogc3RhdGljIGludCBtdHJyX3N0YXRlX3NldDsKLXN0YXRpYyB1NjQgdG9tMjsKK3U2NCBtdHJyX3RvbTI7CiAKICN1bmRlZiBNT0RVTEVfUEFSQU1fUFJFRklYCiAjZGVmaW5lIE1PRFVMRV9QQVJBTV9QUkVGSVggIm10cnIuIgpAQCAtMTM5LDggKzEzOSw4IEBACiAJCX0KIAl9CiAKLQlpZiAodG9tMikgewotCQlpZiAoc3RhcnQgPj0gKDFVTEw8PDMyKSAmJiAoZW5kIDwgdG9tMikpCisJaWYgKG10cnJfdG9tMikgeworCQlpZiAoc3RhcnQgPj0gKDFVTEw8PDMyKSAmJiAoZW5kIDwgbXRycl90b20yKSkKIAkJCXJldHVybiBNVFJSX1RZUEVfV1JCQUNLOwogCX0KIApAQCAtMTU4LDYgKzE1OCwyMCBAQAogCXJkbXNyKE1UUlJwaHlzTWFza19NU1IoaW5kZXgpLCB2ci0+bWFza19sbywgdnItPm1hc2tfaGkpOwogfQogCisvKiAgZmlsbCB0aGUgTVNSIHBhaXIgcmVsYXRpbmcgdG8gYSB2YXIgcmFuZ2UgICovCit2b2lkIGZpbGxfbXRycl92YXJfcmFuZ2UodW5zaWduZWQgaW50IGluZGV4LAorCQl1MzIgYmFzZV9sbywgdTMyIGJhc2VfaGksIHUzMiBtYXNrX2xvLCB1MzIgbWFza19oaSkKK3sKKwlzdHJ1Y3QgbXRycl92YXJfcmFuZ2UgKnZyOworCisJdnIgPSBtdHJyX3N0YXRlLnZhcl9yYW5nZXM7CisKKwl2cltpbmRleF0uYmFzZV9sbyA9IGJhc2VfbG87CisJdnJbaW5kZXhdLmJhc2VfaGkgPSBiYXNlX2hpOworCXZyW2luZGV4XS5tYXNrX2xvID0gbWFza19sbzsKKwl2cltpbmRleF0ubWFza19oaSA9IG1hc2tfaGk7Cit9CisKIHN0YXRpYyB2b2lkCiBnZXRfZml4ZWRfcmFuZ2VzKG10cnJfdHlwZSAqIGZycykKIHsKQEAgLTIxMywxMyArMjI3LDEzIEBACiAJbXRycl9zdGF0ZS5lbmFibGVkID0gKGxvICYgMHhjMDApID4+IDEwOwogCiAJaWYgKGFtZF9zcGVjaWFsX2RlZmF1bHRfbXRycigpKSB7Ci0JCXVuc2lnbmVkIGxvLCBoaTsKKwkJdW5zaWduZWQgbG93LCBoaWdoOwogCQkvKiBUT1BfTUVNMiAqLwotCQlyZG1zcihNU1JfSzhfVE9QX01FTTIsIGxvLCBoaSk7Ci0JCXRvbTIgPSBoaTsKLQkJdG9tMiA8PD0gMzI7Ci0JCXRvbTIgfD0gbG87Ci0JCXRvbTIgJj0gMHhmZmZmZmY4MDAwMDAwVUxMOworCQlyZG1zcihNU1JfSzhfVE9QX01FTTIsIGxvdywgaGlnaCk7CisJCW10cnJfdG9tMiA9IGhpZ2g7CisJCW10cnJfdG9tMiA8PD0gMzI7CisJCW10cnJfdG9tMiB8PSBsb3c7CisJCW10cnJfdG9tMiAmPSAweGZmZmZmZjgwMDAwMFVMTDsKIAl9CiAJaWYgKG10cnJfc2hvdykgewogCQlpbnQgaGlnaF93aWR0aDsKQEAgLTI1MSw5ICsyNjUsOSBAQAogCQkJZWxzZQogCQkJCXByaW50ayhLRVJOX0lORk8gIk1UUlIgJXUgZGlzYWJsZWRcbiIsIGkpOwogCQl9Ci0JCWlmICh0b20yKSB7CisJCWlmIChtdHJyX3RvbTIpIHsKIAkJCXByaW50ayhLRVJOX0lORk8gIlRPTTI6ICUwMTZsbHggYWthICVsbGRNXG4iLAotCQkJCQkgIHRvbTIsIHRvbTI+PjIwKTsKKwkJCQkJICBtdHJyX3RvbTIsIG10cnJfdG9tMj4+MjApOwogCQl9CiAJfQogCW10cnJfc3RhdGVfc2V0ID0gMTsKQEAgLTMyOCw3ICszNDIsNyBAQAogCiAJaWYgKGxvICE9IG1zcndvcmRzWzBdIHx8IGhpICE9IG1zcndvcmRzWzFdKSB7CiAJCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQgJiYKLQkJICAgIGJvb3RfY3B1X2RhdGEueDg2ID09IDE1ICYmCisJCSAgICAoYm9vdF9jcHVfZGF0YS54ODYgPj0gMHgwZiAmJiBib290X2NwdV9kYXRhLng4NiA8PSAweDExKSAmJgogCQkgICAgKChtc3J3b3Jkc1swXSB8IG1zcndvcmRzWzFdKSAmIEs4X01UUlJfUkRNRU1fV1JNRU1fTUFTSykpCiAJCQlrOF9lbmFibGVfZml4ZWRfaW9ycnMoKTsKIAkJbXRycl93cm1zcihtc3IsIG1zcndvcmRzWzBdLCBtc3J3b3Jkc1sxXSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbWFpbi5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL21haW4uYwppbmRleCA2YTFlMjc4Li42ZjIzOTY5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbWFpbi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tYWluLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NvcnQuaD4KIAogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL210cnIuaD4KQEAgLTIyMiw3ICsyMjMsNyBAQAogCWF0b21pY19zZXQoJmRhdGEuZ2F0ZSwwKTsKIAogCS8qICBTdGFydCB0aGUgYmFsbCByb2xsaW5nIG9uIG90aGVyIENQVXMgICovCi0JaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9oYW5kbGVyLCAmZGF0YSwgMSwgMCkgIT0gMCkKKwlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2hhbmRsZXIsICZkYXRhLCAwKSAhPSAwKQogCQlwYW5pYygibXRycjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIG90aGVyIENQVXNcbiIpOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwpAQCAtNjA5LDYgKzYxMCw3ODcgQEAKIAkucmVzdW1lCQk9IG10cnJfcmVzdG9yZSwKIH07CiAKKy8qIHNob3VsZCBiZSByZWxhdGVkIHRvIE1UUlJfVkFSX1JBTkdFUyBudW1zICovCisjZGVmaW5lIFJBTkdFX05VTSAyNTYKKworc3RydWN0IHJlc19yYW5nZSB7CisJdW5zaWduZWQgbG9uZyBzdGFydDsKKwl1bnNpZ25lZCBsb25nIGVuZDsKK307CisKK3N0YXRpYyBpbnQgX19pbml0CithZGRfcmFuZ2Uoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIGludCBucl9yYW5nZSwgdW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCS8qIG91dCBvZiBzbG90cyAqLworCWlmIChucl9yYW5nZSA+PSBSQU5HRV9OVU0pCisJCXJldHVybiBucl9yYW5nZTsKKworCXJhbmdlW25yX3JhbmdlXS5zdGFydCA9IHN0YXJ0OworCXJhbmdlW25yX3JhbmdlXS5lbmQgPSBlbmQ7CisKKwlucl9yYW5nZSsrOworCisJcmV0dXJuIG5yX3JhbmdlOworfQorCitzdGF0aWMgaW50IF9faW5pdAorYWRkX3JhbmdlX3dpdGhfbWVyZ2Uoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIGludCBucl9yYW5nZSwgdW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCWludCBpOworCisJLyogdHJ5IHRvIG1lcmdlIGl0IHdpdGggb2xkIG9uZSAqLworCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKSB7CisJCXVuc2lnbmVkIGxvbmcgZmluYWxfc3RhcnQsIGZpbmFsX2VuZDsKKwkJdW5zaWduZWQgbG9uZyBjb21tb25fc3RhcnQsIGNvbW1vbl9lbmQ7CisKKwkJaWYgKCFyYW5nZVtpXS5lbmQpCisJCQljb250aW51ZTsKKworCQljb21tb25fc3RhcnQgPSBtYXgocmFuZ2VbaV0uc3RhcnQsIHN0YXJ0KTsKKwkJY29tbW9uX2VuZCA9IG1pbihyYW5nZVtpXS5lbmQsIGVuZCk7CisJCWlmIChjb21tb25fc3RhcnQgPiBjb21tb25fZW5kICsgMSkKKwkJCWNvbnRpbnVlOworCisJCWZpbmFsX3N0YXJ0ID0gbWluKHJhbmdlW2ldLnN0YXJ0LCBzdGFydCk7CisJCWZpbmFsX2VuZCA9IG1heChyYW5nZVtpXS5lbmQsIGVuZCk7CisKKwkJcmFuZ2VbaV0uc3RhcnQgPSBmaW5hbF9zdGFydDsKKwkJcmFuZ2VbaV0uZW5kID0gIGZpbmFsX2VuZDsKKwkJcmV0dXJuIG5yX3JhbmdlOworCX0KKworCS8qIG5lZWQgdG8gYWRkIHRoYXQgKi8KKwlyZXR1cm4gYWRkX3JhbmdlKHJhbmdlLCBucl9yYW5nZSwgc3RhcnQsIGVuZCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdAorc3VidHJhY3RfcmFuZ2Uoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCWludCBpLCBqOworCisJZm9yIChqID0gMDsgaiA8IFJBTkdFX05VTTsgaisrKSB7CisJCWlmICghcmFuZ2Vbal0uZW5kKQorCQkJY29udGludWU7CisKKwkJaWYgKHN0YXJ0IDw9IHJhbmdlW2pdLnN0YXJ0ICYmIGVuZCA+PSByYW5nZVtqXS5lbmQpIHsKKwkJCXJhbmdlW2pdLnN0YXJ0ID0gMDsKKwkJCXJhbmdlW2pdLmVuZCA9IDA7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChzdGFydCA8PSByYW5nZVtqXS5zdGFydCAmJiBlbmQgPCByYW5nZVtqXS5lbmQgJiYKKwkJICAgIHJhbmdlW2pdLnN0YXJ0IDwgZW5kICsgMSkgeworCQkJcmFuZ2Vbal0uc3RhcnQgPSBlbmQgKyAxOworCQkJY29udGludWU7CisJCX0KKworCisJCWlmIChzdGFydCA+IHJhbmdlW2pdLnN0YXJ0ICYmIGVuZCA+PSByYW5nZVtqXS5lbmQgJiYKKwkJICAgIHJhbmdlW2pdLmVuZCA+IHN0YXJ0IC0gMSkgeworCQkJcmFuZ2Vbal0uZW5kID0gc3RhcnQgLSAxOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoc3RhcnQgPiByYW5nZVtqXS5zdGFydCAmJiBlbmQgPCByYW5nZVtqXS5lbmQpIHsKKwkJCS8qIGZpbmQgdGhlIG5ldyBzcGFyZSAqLworCQkJZm9yIChpID0gMDsgaSA8IFJBTkdFX05VTTsgaSsrKSB7CisJCQkJaWYgKHJhbmdlW2ldLmVuZCA9PSAwKQorCQkJCQlicmVhazsKKwkJCX0KKwkJCWlmIChpIDwgUkFOR0VfTlVNKSB7CisJCQkJcmFuZ2VbaV0uZW5kID0gcmFuZ2Vbal0uZW5kOworCQkJCXJhbmdlW2ldLnN0YXJ0ID0gZW5kICsgMTsKKwkJCX0gZWxzZSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICJydW4gb2Ygc2xvdCBpbiByYW5nZXNcbiIpOworCQkJfQorCQkJcmFuZ2Vbal0uZW5kID0gc3RhcnQgLSAxOworCQkJY29udGludWU7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGNtcF9yYW5nZShjb25zdCB2b2lkICp4MSwgY29uc3Qgdm9pZCAqeDIpCit7CisJY29uc3Qgc3RydWN0IHJlc19yYW5nZSAqcjEgPSB4MTsKKwljb25zdCBzdHJ1Y3QgcmVzX3JhbmdlICpyMiA9IHgyOworCWxvbmcgc3RhcnQxLCBzdGFydDI7CisKKwlzdGFydDEgPSByMS0+c3RhcnQ7CisJc3RhcnQyID0gcjItPnN0YXJ0OworCisJcmV0dXJuIHN0YXJ0MSAtIHN0YXJ0MjsKK30KKworc3RydWN0IHZhcl9tdHJyX3JhbmdlX3N0YXRlIHsKKwl1bnNpZ25lZCBsb25nIGJhc2VfcGZuOworCXVuc2lnbmVkIGxvbmcgc2l6ZV9wZm47CisJbXRycl90eXBlIHR5cGU7Cit9OworCitzdHJ1Y3QgdmFyX210cnJfcmFuZ2Vfc3RhdGUgX19pbml0ZGF0YSByYW5nZV9zdGF0ZVtSQU5HRV9OVU1dOworc3RhdGljIGludCBfX2luaXRkYXRhIGRlYnVnX3ByaW50OworCitzdGF0aWMgaW50IF9faW5pdAoreDg2X2dldF9tdHJyX21lbV9yYW5nZShzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlLAorCQkgICAgICAgdW5zaWduZWQgbG9uZyBleHRyYV9yZW1vdmVfYmFzZSwKKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgZXh0cmFfcmVtb3ZlX3NpemUpCit7CisJdW5zaWduZWQgbG9uZyBpLCBiYXNlLCBzaXplOworCW10cnJfdHlwZSB0eXBlOworCisJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKKwkJdHlwZSA9IHJhbmdlX3N0YXRlW2ldLnR5cGU7CisJCWlmICh0eXBlICE9IE1UUlJfVFlQRV9XUkJBQ0spCisJCQljb250aW51ZTsKKwkJYmFzZSA9IHJhbmdlX3N0YXRlW2ldLmJhc2VfcGZuOworCQlzaXplID0gcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm47CisJCW5yX3JhbmdlID0gYWRkX3JhbmdlX3dpdGhfbWVyZ2UocmFuZ2UsIG5yX3JhbmdlLCBiYXNlLAorCQkJCQkJYmFzZSArIHNpemUgLSAxKTsKKwl9CisJaWYgKGRlYnVnX3ByaW50KSB7CisJCXByaW50ayhLRVJOX0RFQlVHICJBZnRlciBXQiBjaGVja2luZ1xuIik7CisJCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQkJcHJpbnRrKEtFUk5fREVCVUcgIk1UUlIgTUFQIFBGTjogJTAxNmx4IC0gJTAxNmx4XG4iLAorCQkJCSByYW5nZVtpXS5zdGFydCwgcmFuZ2VbaV0uZW5kICsgMSk7CisJfQorCisJLyogdGFrZSBvdXQgVUMgcmFuZ2VzICovCisJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKKwkJdHlwZSA9IHJhbmdlX3N0YXRlW2ldLnR5cGU7CisJCWlmICh0eXBlICE9IE1UUlJfVFlQRV9VTkNBQ0hBQkxFKQorCQkJY29udGludWU7CisJCXNpemUgPSByYW5nZV9zdGF0ZVtpXS5zaXplX3BmbjsKKwkJaWYgKCFzaXplKQorCQkJY29udGludWU7CisJCWJhc2UgPSByYW5nZV9zdGF0ZVtpXS5iYXNlX3BmbjsKKwkJc3VidHJhY3RfcmFuZ2UocmFuZ2UsIGJhc2UsIGJhc2UgKyBzaXplIC0gMSk7CisJfQorCWlmIChleHRyYV9yZW1vdmVfc2l6ZSkKKwkJc3VidHJhY3RfcmFuZ2UocmFuZ2UsIGV4dHJhX3JlbW92ZV9iYXNlLAorCQkJCSBleHRyYV9yZW1vdmVfYmFzZSArIGV4dHJhX3JlbW92ZV9zaXplICAtIDEpOworCisJLyogZ2V0IG5ldyByYW5nZSBudW0gKi8KKwlucl9yYW5nZSA9IDA7CisJZm9yIChpID0gMDsgaSA8IFJBTkdFX05VTTsgaSsrKSB7CisJCWlmICghcmFuZ2VbaV0uZW5kKQorCQkJY29udGludWU7CisJCW5yX3JhbmdlKys7CisJfQorCWlmICAoZGVidWdfcHJpbnQpIHsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIkFmdGVyIFVDIGNoZWNraW5nXG4iKTsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCQlwcmludGsoS0VSTl9ERUJVRyAiTVRSUiBNQVAgUEZOOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJIHJhbmdlW2ldLnN0YXJ0LCByYW5nZVtpXS5lbmQgKyAxKTsKKwl9CisKKwkvKiBzb3J0IHRoZSByYW5nZXMgKi8KKwlzb3J0KHJhbmdlLCBucl9yYW5nZSwgc2l6ZW9mKHN0cnVjdCByZXNfcmFuZ2UpLCBjbXBfcmFuZ2UsIE5VTEwpOworCWlmICAoZGVidWdfcHJpbnQpIHsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIkFmdGVyIHNvcnRpbmdcbiIpOworCQlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJCXByaW50ayhLRVJOX0RFQlVHICJNVFJSIE1BUCBQRk46ICUwMTZseCAtICUwMTZseFxuIiwKKwkJCQkgcmFuZ2VbaV0uc3RhcnQsIHJhbmdlW2ldLmVuZCArIDEpOworCX0KKworCS8qIGNsZWFyIHRob3NlIGlzIG5vdCB1c2VkICovCisJZm9yIChpID0gbnJfcmFuZ2U7IGkgPCBSQU5HRV9OVU07IGkrKykKKwkJbWVtc2V0KCZyYW5nZVtpXSwgMCwgc2l6ZW9mKHJhbmdlW2ldKSk7CisKKwlyZXR1cm4gbnJfcmFuZ2U7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcmVzX3JhbmdlIF9faW5pdGRhdGEgcmFuZ2VbUkFOR0VfTlVNXTsKKworI2lmZGVmIENPTkZJR19NVFJSX1NBTklUSVpFUgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXQgc3VtX3JhbmdlcyhzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlKQoreworCXVuc2lnbmVkIGxvbmcgc3VtOworCWludCBpOworCisJc3VtID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJc3VtICs9IHJhbmdlW2ldLmVuZCArIDEgLSByYW5nZVtpXS5zdGFydDsKKworCXJldHVybiBzdW07Cit9CisKK3N0YXRpYyBpbnQgZW5hYmxlX210cnJfY2xlYW51cCBfX2luaXRkYXRhID0KKwlDT05GSUdfTVRSUl9TQU5JVElaRVJfRU5BQkxFX0RFRkFVTFQ7CisKK3N0YXRpYyBpbnQgX19pbml0IGRpc2FibGVfbXRycl9jbGVhbnVwX3NldHVwKGNoYXIgKnN0cikKK3sKKwlpZiAoZW5hYmxlX210cnJfY2xlYW51cCAhPSAtMSkKKwkJZW5hYmxlX210cnJfY2xlYW51cCA9IDA7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgiZGlzYWJsZV9tdHJyX2NsZWFudXAiLCBkaXNhYmxlX210cnJfY2xlYW51cF9zZXR1cCk7CisKK3N0YXRpYyBpbnQgX19pbml0IGVuYWJsZV9tdHJyX2NsZWFudXBfc2V0dXAoY2hhciAqc3RyKQoreworCWlmIChlbmFibGVfbXRycl9jbGVhbnVwICE9IC0xKQorCQllbmFibGVfbXRycl9jbGVhbnVwID0gMTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJlbmJsZV9tdHJyX2NsZWFudXAiLCBlbmFibGVfbXRycl9jbGVhbnVwX3NldHVwKTsKKworc3RydWN0IHZhcl9tdHJyX3N0YXRlIHsKKwl1bnNpZ25lZCBsb25nCXJhbmdlX3N0YXJ0azsKKwl1bnNpZ25lZCBsb25nCXJhbmdlX3NpemVrOworCXVuc2lnbmVkIGxvbmcJY2h1bmtfc2l6ZWs7CisJdW5zaWduZWQgbG9uZwlncmFuX3NpemVrOworCXVuc2lnbmVkIGludAlyZWc7Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQKK3NldF92YXJfbXRycih1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBsb25nIGJhc2VrLCB1bnNpZ25lZCBsb25nIHNpemVrLAorCQl1bnNpZ25lZCBjaGFyIHR5cGUsIHVuc2lnbmVkIGludCBhZGRyZXNzX2JpdHMpCit7CisJdTMyIGJhc2VfbG8sIGJhc2VfaGksIG1hc2tfbG8sIG1hc2tfaGk7CisJdTY0IGJhc2UsIG1hc2s7CisKKwlpZiAoIXNpemVrKSB7CisJCWZpbGxfbXRycl92YXJfcmFuZ2UocmVnLCAwLCAwLCAwLCAwKTsKKwkJcmV0dXJuOworCX0KKworCW1hc2sgPSAoMVVMTCA8PCBhZGRyZXNzX2JpdHMpIC0gMTsKKwltYXNrICY9IH4oKCgodTY0KXNpemVrKSA8PCAxMCkgLSAxKTsKKworCWJhc2UgID0gKCh1NjQpYmFzZWspIDw8IDEwOworCisJYmFzZSB8PSB0eXBlOworCW1hc2sgfD0gMHg4MDA7CisKKwliYXNlX2xvID0gYmFzZSAmICgoMVVMTDw8MzIpIC0gMSk7CisJYmFzZV9oaSA9IGJhc2UgPj4gMzI7CisKKwltYXNrX2xvID0gbWFzayAmICgoMVVMTDw8MzIpIC0gMSk7CisJbWFza19oaSA9IG1hc2sgPj4gMzI7CisKKwlmaWxsX210cnJfdmFyX3JhbmdlKHJlZywgYmFzZV9sbywgYmFzZV9oaSwgbWFza19sbywgbWFza19oaSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdAorc2F2ZV92YXJfbXRycih1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBsb25nIGJhc2VrLCB1bnNpZ25lZCBsb25nIHNpemVrLAorCQl1bnNpZ25lZCBjaGFyIHR5cGUpCit7CisJcmFuZ2Vfc3RhdGVbcmVnXS5iYXNlX3BmbiA9IGJhc2VrID4+IChQQUdFX1NISUZUIC0gMTApOworCXJhbmdlX3N0YXRlW3JlZ10uc2l6ZV9wZm4gPSBzaXplayA+PiAoUEFHRV9TSElGVCAtIDEwKTsKKwlyYW5nZV9zdGF0ZVtyZWddLnR5cGUgPSB0eXBlOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQKK3NldF92YXJfbXRycl9hbGwodW5zaWduZWQgaW50IGFkZHJlc3NfYml0cykKK3sKKwl1bnNpZ25lZCBsb25nIGJhc2VrLCBzaXplazsKKwl1bnNpZ25lZCBjaGFyIHR5cGU7CisJdW5zaWduZWQgaW50IHJlZzsKKworCWZvciAocmVnID0gMDsgcmVnIDwgbnVtX3Zhcl9yYW5nZXM7IHJlZysrKSB7CisJCWJhc2VrID0gcmFuZ2Vfc3RhdGVbcmVnXS5iYXNlX3BmbiA8PCAoUEFHRV9TSElGVCAtIDEwKTsKKwkJc2l6ZWsgPSByYW5nZV9zdGF0ZVtyZWddLnNpemVfcGZuIDw8IChQQUdFX1NISUZUIC0gMTApOworCQl0eXBlID0gcmFuZ2Vfc3RhdGVbcmVnXS50eXBlOworCisJCXNldF92YXJfbXRycihyZWcsIGJhc2VrLCBzaXplaywgdHlwZSwgYWRkcmVzc19iaXRzKTsKKwl9Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgX19pbml0CityYW5nZV90b19tdHJyKHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGxvbmcgcmFuZ2Vfc3RhcnRrLAorCSAgICAgIHVuc2lnbmVkIGxvbmcgcmFuZ2Vfc2l6ZWssIHVuc2lnbmVkIGNoYXIgdHlwZSkKK3sKKwlpZiAoIXJhbmdlX3NpemVrIHx8IChyZWcgPj0gbnVtX3Zhcl9yYW5nZXMpKQorCQlyZXR1cm4gcmVnOworCisJd2hpbGUgKHJhbmdlX3NpemVrKSB7CisJCXVuc2lnbmVkIGxvbmcgbWF4X2FsaWduLCBhbGlnbjsKKwkJdW5zaWduZWQgbG9uZyBzaXplazsKKworCQkvKiBDb21wdXRlIHRoZSBtYXhpbXVtIHNpemUgSSBjYW4gbWFrZSBhIHJhbmdlICovCisJCWlmIChyYW5nZV9zdGFydGspCisJCQltYXhfYWxpZ24gPSBmZnMocmFuZ2Vfc3RhcnRrKSAtIDE7CisJCWVsc2UKKwkJCW1heF9hbGlnbiA9IDMyOworCQlhbGlnbiA9IGZscyhyYW5nZV9zaXplaykgLSAxOworCQlpZiAoYWxpZ24gPiBtYXhfYWxpZ24pCisJCQlhbGlnbiA9IG1heF9hbGlnbjsKKworCQlzaXplayA9IDEgPDwgYWxpZ247CisJCWlmIChkZWJ1Z19wcmludCkKKwkJCXByaW50ayhLRVJOX0RFQlVHICJTZXR0aW5nIHZhcmlhYmxlIE1UUlIgJWQsICIKKwkJCQkiYmFzZTogJWxkTUIsIHJhbmdlOiAlbGRNQiwgdHlwZSAlc1xuIiwKKwkJCQlyZWcsIHJhbmdlX3N0YXJ0ayA+PiAxMCwgc2l6ZWsgPj4gMTAsCisJCQkJKHR5cGUgPT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpPyJVQyI6CisJCQkJICAgICgodHlwZSA9PSBNVFJSX1RZUEVfV1JCQUNLKT8iV0IiOiJPdGhlciIpCisJCQkJKTsKKwkJc2F2ZV92YXJfbXRycihyZWcrKywgcmFuZ2Vfc3RhcnRrLCBzaXplaywgdHlwZSk7CisJCXJhbmdlX3N0YXJ0ayArPSBzaXplazsKKwkJcmFuZ2Vfc2l6ZWsgLT0gc2l6ZWs7CisJCWlmIChyZWcgPj0gbnVtX3Zhcl9yYW5nZXMpCisJCQlicmVhazsKKwl9CisJcmV0dXJuIHJlZzsKK30KKworc3RhdGljIHVuc2lnbmVkIF9faW5pdAorcmFuZ2VfdG9fbXRycl93aXRoX2hvbGUoc3RydWN0IHZhcl9tdHJyX3N0YXRlICpzdGF0ZSwgdW5zaWduZWQgbG9uZyBiYXNlaywKKwkJCXVuc2lnbmVkIGxvbmcgc2l6ZWspCit7CisJdW5zaWduZWQgbG9uZyBob2xlX2Jhc2VrLCBob2xlX3NpemVrOworCXVuc2lnbmVkIGxvbmcgc2Vjb25kX2Jhc2VrLCBzZWNvbmRfc2l6ZWs7CisJdW5zaWduZWQgbG9uZyByYW5nZTBfYmFzZWssIHJhbmdlMF9zaXplazsKKwl1bnNpZ25lZCBsb25nIHJhbmdlX2Jhc2VrLCByYW5nZV9zaXplazsKKwl1bnNpZ25lZCBsb25nIGNodW5rX3NpemVrOworCXVuc2lnbmVkIGxvbmcgZ3Jhbl9zaXplazsKKworCWhvbGVfYmFzZWsgPSAwOworCWhvbGVfc2l6ZWsgPSAwOworCXNlY29uZF9iYXNlayA9IDA7CisJc2Vjb25kX3NpemVrID0gMDsKKwljaHVua19zaXplayA9IHN0YXRlLT5jaHVua19zaXplazsKKwlncmFuX3NpemVrID0gc3RhdGUtPmdyYW5fc2l6ZWs7CisKKwkvKiBhbGlnbiB3aXRoIGdyYW4gc2l6ZSwgcHJldmVudCBzbWFsbCBibG9jayB1c2VkIHVwIE1UUlJzICovCisJcmFuZ2VfYmFzZWsgPSBBTElHTihzdGF0ZS0+cmFuZ2Vfc3RhcnRrLCBncmFuX3NpemVrKTsKKwlpZiAoKHJhbmdlX2Jhc2VrID4gYmFzZWspICYmIGJhc2VrKQorCQlyZXR1cm4gc2Vjb25kX3NpemVrOworCXN0YXRlLT5yYW5nZV9zaXplayAtPSAocmFuZ2VfYmFzZWsgLSBzdGF0ZS0+cmFuZ2Vfc3RhcnRrKTsKKwlyYW5nZV9zaXplayA9IEFMSUdOKHN0YXRlLT5yYW5nZV9zaXplaywgZ3Jhbl9zaXplayk7CisKKwl3aGlsZSAocmFuZ2Vfc2l6ZWsgPiBzdGF0ZS0+cmFuZ2Vfc2l6ZWspIHsKKwkJcmFuZ2Vfc2l6ZWsgLT0gZ3Jhbl9zaXplazsKKwkJaWYgKCFyYW5nZV9zaXplaykKKwkJCXJldHVybiAwOworCX0KKwlzdGF0ZS0+cmFuZ2Vfc2l6ZWsgPSByYW5nZV9zaXplazsKKworCS8qIHRyeSB0byBhcHBlbmQgc29tZSBzbWFsbCBob2xlICovCisJcmFuZ2UwX2Jhc2VrID0gc3RhdGUtPnJhbmdlX3N0YXJ0azsKKwlyYW5nZTBfc2l6ZWsgPSBBTElHTihzdGF0ZS0+cmFuZ2Vfc2l6ZWssIGNodW5rX3NpemVrKTsKKwlpZiAocmFuZ2UwX3NpemVrID09IHN0YXRlLT5yYW5nZV9zaXplaykgeworCQlpZiAoZGVidWdfcHJpbnQpCisJCQlwcmludGsoS0VSTl9ERUJVRyAicmFuZ2VYOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJcmFuZ2UwX2Jhc2VrPDwxMCwKKwkJCQkocmFuZ2UwX2Jhc2VrICsgc3RhdGUtPnJhbmdlX3NpemVrKTw8MTApOworCQlzdGF0ZS0+cmVnID0gcmFuZ2VfdG9fbXRycihzdGF0ZS0+cmVnLCByYW5nZTBfYmFzZWssCisJCQkJc3RhdGUtPnJhbmdlX3NpemVrLCBNVFJSX1RZUEVfV1JCQUNLKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmFuZ2UwX3NpemVrIC09IGNodW5rX3NpemVrOworCWlmIChyYW5nZTBfc2l6ZWsgJiYgc2l6ZWspIHsKKwkgICAgd2hpbGUgKHJhbmdlMF9iYXNlayArIHJhbmdlMF9zaXplayA+IChiYXNlayArIHNpemVrKSkgeworCQlyYW5nZTBfc2l6ZWsgLT0gY2h1bmtfc2l6ZWs7CisJCWlmICghcmFuZ2UwX3NpemVrKQorCQkJYnJlYWs7CisJICAgIH0KKwl9CisKKwlpZiAocmFuZ2UwX3NpemVrKSB7CisJCWlmIChkZWJ1Z19wcmludCkKKwkJCXByaW50ayhLRVJOX0RFQlVHICJyYW5nZTA6ICUwMTZseCAtICUwMTZseFxuIiwKKwkJCQlyYW5nZTBfYmFzZWs8PDEwLAorCQkJCShyYW5nZTBfYmFzZWsgKyByYW5nZTBfc2l6ZWspPDwxMCk7CisJCXN0YXRlLT5yZWcgPSByYW5nZV90b19tdHJyKHN0YXRlLT5yZWcsIHJhbmdlMF9iYXNlaywKKwkJCQlyYW5nZTBfc2l6ZWssIE1UUlJfVFlQRV9XUkJBQ0spOworCisJfQorCisJcmFuZ2VfYmFzZWsgPSByYW5nZTBfYmFzZWsgKyByYW5nZTBfc2l6ZWs7CisJcmFuZ2Vfc2l6ZWsgPSBjaHVua19zaXplazsKKworCWlmIChyYW5nZV9iYXNlayArIHJhbmdlX3NpemVrID4gYmFzZWsgJiYKKwkgICAgcmFuZ2VfYmFzZWsgKyByYW5nZV9zaXplayA8PSAoYmFzZWsgKyBzaXplaykpIHsKKwkJLyogb25lIGhvbGUgKi8KKwkJc2Vjb25kX2Jhc2VrID0gYmFzZWs7CisJCXNlY29uZF9zaXplayA9IHJhbmdlX2Jhc2VrICsgcmFuZ2Vfc2l6ZWsgLSBiYXNlazsKKwl9CisKKwkvKiBpZiBsYXN0IHBpZWNlLCBvbmx5IGNvdWxkIG9uZSBob2xlIG5lYXIgZW5kICovCisJaWYgKChzZWNvbmRfYmFzZWsgfHwgIWJhc2VrKSAmJgorCSAgICByYW5nZV9zaXplayAtIChzdGF0ZS0+cmFuZ2Vfc2l6ZWsgLSByYW5nZTBfc2l6ZWspIC0gc2Vjb25kX3NpemVrIDwKKwkgICAgKGNodW5rX3NpemVrID4+IDEpKSB7CisJCS8qCisJCSAqIG9uZSBob2xlIGluIG1pZGRsZSAoc2Vjb25kX3NpemVrIGlzIDApIG9yIGF0IGVuZAorCQkgKiAoc2Vjb25kX3NpemVrIGlzIDAgKQorCQkgKi8KKwkJaG9sZV9zaXplayA9IHJhbmdlX3NpemVrIC0gKHN0YXRlLT5yYW5nZV9zaXplayAtIHJhbmdlMF9zaXplaykKKwkJCQkgLSBzZWNvbmRfc2l6ZWs7CisJCWhvbGVfYmFzZWsgPSByYW5nZV9iYXNlayArIHJhbmdlX3NpemVrIC0gaG9sZV9zaXplaworCQkJCSAtIHNlY29uZF9zaXplazsKKwl9IGVsc2UgeworCQkvKiBmYWxsYmFjayBmb3IgYmlnIGhvbGUsIG9yIHNldmVyYWwgaG9sZXMgKi8KKwkJcmFuZ2Vfc2l6ZWsgPSBzdGF0ZS0+cmFuZ2Vfc2l6ZWsgLSByYW5nZTBfc2l6ZWs7CisJCXNlY29uZF9iYXNlayA9IDA7CisJCXNlY29uZF9zaXplayA9IDA7CisJfQorCisJaWYgKGRlYnVnX3ByaW50KQorCQlwcmludGsoS0VSTl9ERUJVRyAicmFuZ2U6ICUwMTZseCAtICUwMTZseFxuIiwgcmFuZ2VfYmFzZWs8PDEwLAorCQkJIChyYW5nZV9iYXNlayArIHJhbmdlX3NpemVrKTw8MTApOworCXN0YXRlLT5yZWcgPSByYW5nZV90b19tdHJyKHN0YXRlLT5yZWcsIHJhbmdlX2Jhc2VrLCByYW5nZV9zaXplaywKKwkJCQkJIE1UUlJfVFlQRV9XUkJBQ0spOworCWlmIChob2xlX3NpemVrKSB7CisJCWlmIChkZWJ1Z19wcmludCkKKwkJCXByaW50ayhLRVJOX0RFQlVHICJob2xlOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJIGhvbGVfYmFzZWs8PDEwLCAoaG9sZV9iYXNlayArIGhvbGVfc2l6ZWspPDwxMCk7CisJCXN0YXRlLT5yZWcgPSByYW5nZV90b19tdHJyKHN0YXRlLT5yZWcsIGhvbGVfYmFzZWssIGhvbGVfc2l6ZWssCisJCQkJCQkgTVRSUl9UWVBFX1VOQ0FDSEFCTEUpOworCisJfQorCisJcmV0dXJuIHNlY29uZF9zaXplazsKK30KKworc3RhdGljIHZvaWQgX19pbml0CitzZXRfdmFyX210cnJfcmFuZ2Uoc3RydWN0IHZhcl9tdHJyX3N0YXRlICpzdGF0ZSwgdW5zaWduZWQgbG9uZyBiYXNlX3BmbiwKKwkJICAgdW5zaWduZWQgbG9uZyBzaXplX3BmbikKK3sKKwl1bnNpZ25lZCBsb25nIGJhc2VrLCBzaXplazsKKwl1bnNpZ25lZCBsb25nIHNlY29uZF9zaXplayA9IDA7CisKKwlpZiAoc3RhdGUtPnJlZyA+PSBudW1fdmFyX3JhbmdlcykKKwkJcmV0dXJuOworCisJYmFzZWsgPSBiYXNlX3BmbiA8PCAoUEFHRV9TSElGVCAtIDEwKTsKKwlzaXplayA9IHNpemVfcGZuIDw8IChQQUdFX1NISUZUIC0gMTApOworCisJLyogU2VlIGlmIEkgY2FuIG1lcmdlIHdpdGggdGhlIGxhc3QgcmFuZ2UgKi8KKwlpZiAoKGJhc2VrIDw9IDEwMjQpIHx8CisJICAgIChzdGF0ZS0+cmFuZ2Vfc3RhcnRrICsgc3RhdGUtPnJhbmdlX3NpemVrID09IGJhc2VrKSkgeworCQl1bnNpZ25lZCBsb25nIGVuZGsgPSBiYXNlayArIHNpemVrOworCQlzdGF0ZS0+cmFuZ2Vfc2l6ZWsgPSBlbmRrIC0gc3RhdGUtPnJhbmdlX3N0YXJ0azsKKwkJcmV0dXJuOworCX0KKwkvKiBXcml0ZSB0aGUgcmFuZ2UgbXRycnMgKi8KKwlpZiAoc3RhdGUtPnJhbmdlX3NpemVrICE9IDApCisJCXNlY29uZF9zaXplayA9IHJhbmdlX3RvX210cnJfd2l0aF9ob2xlKHN0YXRlLCBiYXNlaywgc2l6ZWspOworCisJLyogQWxsb2NhdGUgYW4gbXNyICovCisJc3RhdGUtPnJhbmdlX3N0YXJ0ayA9IGJhc2VrICsgc2Vjb25kX3NpemVrOworCXN0YXRlLT5yYW5nZV9zaXplayAgPSBzaXplayAtIHNlY29uZF9zaXplazsKK30KKworLyogbWluaW51bSBzaXplIG9mIG10cnIgYmxvY2sgdGhhdCBjYW4gdGFrZSBob2xlICovCitzdGF0aWMgdTY0IG10cnJfY2h1bmtfc2l6ZSBfX2luaXRkYXRhID0gKDI1NlVMTDw8MjApOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tdHJyX2NodW5rX3NpemVfb3B0KGNoYXIgKnApCit7CisJaWYgKCFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKwltdHJyX2NodW5rX3NpemUgPSBtZW1wYXJzZShwLCAmcCk7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgibXRycl9jaHVua19zaXplIiwgcGFyc2VfbXRycl9jaHVua19zaXplX29wdCk7CisKKy8qIGdyYW5pdHkgb2YgbXRyciBvZiBibG9jayAqLworc3RhdGljIHU2NCBtdHJyX2dyYW5fc2l6ZSBfX2luaXRkYXRhOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tdHJyX2dyYW5fc2l6ZV9vcHQoY2hhciAqcCkKK3sKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOworCW10cnJfZ3Jhbl9zaXplID0gbWVtcGFyc2UocCwgJnApOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oIm10cnJfZ3Jhbl9zaXplIiwgcGFyc2VfbXRycl9ncmFuX3NpemVfb3B0KTsKKworc3RhdGljIGludCBucl9tdHJyX3NwYXJlX3JlZyBfX2luaXRkYXRhID0KKwkJCQkgQ09ORklHX01UUlJfU0FOSVRJWkVSX1NQQVJFX1JFR19OUl9ERUZBVUxUOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tdHJyX3NwYXJlX3JlZyhjaGFyICphcmcpCit7CisJaWYgKGFyZykKKwkJbnJfbXRycl9zcGFyZV9yZWcgPSBzaW1wbGVfc3RydG91bChhcmcsIE5VTEwsIDApOworCXJldHVybiAwOworfQorCitlYXJseV9wYXJhbSgibXRycl9zcGFyZV9yZWdfbnIiLCBwYXJzZV9tdHJyX3NwYXJlX3JlZyk7CisKK3N0YXRpYyBpbnQgX19pbml0Cit4ODZfc2V0dXBfdmFyX210cnJzKHN0cnVjdCByZXNfcmFuZ2UgKnJhbmdlLCBpbnQgbnJfcmFuZ2UsCisJCSAgICB1NjQgY2h1bmtfc2l6ZSwgdTY0IGdyYW5fc2l6ZSkKK3sKKwlzdHJ1Y3QgdmFyX210cnJfc3RhdGUgdmFyX3N0YXRlOworCWludCBpOworCWludCBudW1fcmVnOworCisJdmFyX3N0YXRlLnJhbmdlX3N0YXJ0awk9IDA7CisJdmFyX3N0YXRlLnJhbmdlX3NpemVrCT0gMDsKKwl2YXJfc3RhdGUucmVnCQk9IDA7CisJdmFyX3N0YXRlLmNodW5rX3NpemVrCT0gY2h1bmtfc2l6ZSA+PiAxMDsKKwl2YXJfc3RhdGUuZ3Jhbl9zaXplawk9IGdyYW5fc2l6ZSA+PiAxMDsKKworCW1lbXNldChyYW5nZV9zdGF0ZSwgMCwgc2l6ZW9mKHJhbmdlX3N0YXRlKSk7CisKKwkvKiBXcml0ZSB0aGUgcmFuZ2UgZXRjICovCisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCXNldF92YXJfbXRycl9yYW5nZSgmdmFyX3N0YXRlLCByYW5nZVtpXS5zdGFydCwKKwkJCQkgICByYW5nZVtpXS5lbmQgLSByYW5nZVtpXS5zdGFydCArIDEpOworCisJLyogV3JpdGUgdGhlIGxhc3QgcmFuZ2UgKi8KKwlpZiAodmFyX3N0YXRlLnJhbmdlX3NpemVrICE9IDApCisJCXJhbmdlX3RvX210cnJfd2l0aF9ob2xlKCZ2YXJfc3RhdGUsIDAsIDApOworCisJbnVtX3JlZyA9IHZhcl9zdGF0ZS5yZWc7CisJLyogQ2xlYXIgb3V0IHRoZSBleHRyYSBNVFJSJ3MgKi8KKwl3aGlsZSAodmFyX3N0YXRlLnJlZyA8IG51bV92YXJfcmFuZ2VzKSB7CisJCXNhdmVfdmFyX210cnIodmFyX3N0YXRlLnJlZywgMCwgMCwgMCk7CisJCXZhcl9zdGF0ZS5yZWcrKzsKKwl9CisKKwlyZXR1cm4gbnVtX3JlZzsKK30KKworc3RydWN0IG10cnJfY2xlYW51cF9yZXN1bHQgeworCXVuc2lnbmVkIGxvbmcgZ3Jhbl9zaXplazsKKwl1bnNpZ25lZCBsb25nIGNodW5rX3NpemVrOworCXVuc2lnbmVkIGxvbmcgbG9zZV9jb3Zlcl9zaXplazsKKwl1bnNpZ25lZCBpbnQgbnVtX3JlZzsKKwlpbnQgYmFkOworfTsKKworLyoKKyAqIGdyYW5fc2l6ZTogMU0sIDJNLCAuLi4sIDJHCisgKiBjaHVuayBzaXplOiBncmFuX3NpemUsIC4uLiwgNEcKKyAqIHNvIHdlIG5lZWQgKDIrMTMpKjYKKyAqLworI2RlZmluZSBOVU1fUkVTVUxUCTkwCisjZGVmaW5lIFBTSElGVAkJKFBBR0VfU0hJRlQgLSAxMCkKKworc3RhdGljIHN0cnVjdCBtdHJyX2NsZWFudXBfcmVzdWx0IF9faW5pdGRhdGEgcmVzdWx0W05VTV9SRVNVTFRdOworc3RhdGljIHN0cnVjdCByZXNfcmFuZ2UgX19pbml0ZGF0YSByYW5nZV9uZXdbUkFOR0VfTlVNXTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbWluX2xvc3NfcGZuW1JBTkdFX05VTV07CisKK3N0YXRpYyBpbnQgX19pbml0IG10cnJfY2xlYW51cCh1bnNpZ25lZCBhZGRyZXNzX2JpdHMpCit7CisJdW5zaWduZWQgbG9uZyBleHRyYV9yZW1vdmVfYmFzZSwgZXh0cmFfcmVtb3ZlX3NpemU7CisJdW5zaWduZWQgbG9uZyBpLCBiYXNlLCBzaXplLCBkZWYsIGR1bW15OworCW10cnJfdHlwZSB0eXBlOworCWludCBucl9yYW5nZSwgbnJfcmFuZ2VfbmV3OworCXU2NCBjaHVua19zaXplLCBncmFuX3NpemU7CisJdW5zaWduZWQgbG9uZyByYW5nZV9zdW1zLCByYW5nZV9zdW1zX25ldzsKKwlpbnQgaW5kZXhfZ29vZDsKKwlpbnQgbnVtX3JlZ19nb29kOworCisJLyogZXh0cmEgb25lIGZvciBhbGwgMCAqLworCWludCBudW1bTVRSUl9OVU1fVFlQRVMgKyAxXTsKKworCWlmICghaXNfY3B1KElOVEVMKSB8fCBlbmFibGVfbXRycl9jbGVhbnVwIDwgMSkKKwkJcmV0dXJuIDA7CisJcmRtc3IoTVRSUmRlZlR5cGVfTVNSLCBkZWYsIGR1bW15KTsKKwlkZWYgJj0gMHhmZjsKKwlpZiAoZGVmICE9IE1UUlJfVFlQRV9VTkNBQ0hBQkxFKQorCQlyZXR1cm4gMDsKKworCS8qIGdldCBpdCBhbmQgc3RvcmUgaXQgYXNpZGUgKi8KKwltZW1zZXQocmFuZ2Vfc3RhdGUsIDAsIHNpemVvZihyYW5nZV9zdGF0ZSkpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCW10cnJfaWYtPmdldChpLCAmYmFzZSwgJnNpemUsICZ0eXBlKTsKKwkJcmFuZ2Vfc3RhdGVbaV0uYmFzZV9wZm4gPSBiYXNlOworCQlyYW5nZV9zdGF0ZVtpXS5zaXplX3BmbiA9IHNpemU7CisJCXJhbmdlX3N0YXRlW2ldLnR5cGUgPSB0eXBlOworCX0KKworCS8qIGNoZWNrIGVudHJpZXMgbnVtYmVyICovCisJbWVtc2V0KG51bSwgMCwgc2l6ZW9mKG51bSkpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCXR5cGUgPSByYW5nZV9zdGF0ZVtpXS50eXBlOworCQlzaXplID0gcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm47CisJCWlmICh0eXBlID49IE1UUlJfTlVNX1RZUEVTKQorCQkJY29udGludWU7CisJCWlmICghc2l6ZSkKKwkJCXR5cGUgPSBNVFJSX05VTV9UWVBFUzsKKwkJbnVtW3R5cGVdKys7CisJfQorCisJLyogY2hlY2sgaWYgd2UgZ290IFVDIGVudHJpZXMgKi8KKwlpZiAoIW51bVtNVFJSX1RZUEVfVU5DQUNIQUJMRV0pCisJCXJldHVybiAwOworCisJLyogY2hlY2sgaWYgd2Ugb25seSBoYWQgV0IgYW5kIFVDICovCisJaWYgKG51bVtNVFJSX1RZUEVfV1JCQUNLXSArIG51bVtNVFJSX1RZUEVfVU5DQUNIQUJMRV0gIT0KKwkJbnVtX3Zhcl9yYW5nZXMgLSBudW1bTVRSUl9OVU1fVFlQRVNdKQorCQlyZXR1cm4gMDsKKworCW1lbXNldChyYW5nZSwgMCwgc2l6ZW9mKHJhbmdlKSk7CisJZXh0cmFfcmVtb3ZlX3NpemUgPSAwOworCWlmIChtdHJyX3RvbTIpIHsKKwkJZXh0cmFfcmVtb3ZlX2Jhc2UgPSAxIDw8ICgzMiAtIFBBR0VfU0hJRlQpOworCQlleHRyYV9yZW1vdmVfc2l6ZSA9CisJCQkobXRycl90b20yID4+IFBBR0VfU0hJRlQpIC0gZXh0cmFfcmVtb3ZlX2Jhc2U7CisJfQorCW5yX3JhbmdlID0geDg2X2dldF9tdHJyX21lbV9yYW5nZShyYW5nZSwgMCwgZXh0cmFfcmVtb3ZlX2Jhc2UsCisJCQkJCSAgZXh0cmFfcmVtb3ZlX3NpemUpOworCXJhbmdlX3N1bXMgPSBzdW1fcmFuZ2VzKHJhbmdlLCBucl9yYW5nZSk7CisJcHJpbnRrKEtFUk5fSU5GTyAidG90YWwgUkFNIGNvdmVycmVkOiAlbGRNXG4iLAorCSAgICAgICByYW5nZV9zdW1zID4+ICgyMCAtIFBBR0VfU0hJRlQpKTsKKworCWlmIChtdHJyX2NodW5rX3NpemUgJiYgbXRycl9ncmFuX3NpemUpIHsKKwkJaW50IG51bV9yZWc7CisKKwkJZGVidWdfcHJpbnQgPSAxOworCQkvKiBjb252ZXJ0IHJhbmdlcyB0byB2YXIgcmFuZ2VzIHN0YXRlICovCisJCW51bV9yZWcgPSB4ODZfc2V0dXBfdmFyX210cnJzKHJhbmdlLCBucl9yYW5nZSwgbXRycl9jaHVua19zaXplLAorCQkJCQkgICAgICBtdHJyX2dyYW5fc2l6ZSk7CisKKwkJLyogd2UgZ290IG5ldyBzZXR0aW5nIGluIHJhbmdlX3N0YXRlLCBjaGVjayBpdCAqLworCQltZW1zZXQocmFuZ2VfbmV3LCAwLCBzaXplb2YocmFuZ2VfbmV3KSk7CisJCW5yX3JhbmdlX25ldyA9IHg4Nl9nZXRfbXRycl9tZW1fcmFuZ2UocmFuZ2VfbmV3LCAwLAorCQkJCQkJICAgICAgZXh0cmFfcmVtb3ZlX2Jhc2UsCisJCQkJCQkgICAgICBleHRyYV9yZW1vdmVfc2l6ZSk7CisJCXJhbmdlX3N1bXNfbmV3ID0gc3VtX3JhbmdlcyhyYW5nZV9uZXcsIG5yX3JhbmdlX25ldyk7CisKKwkJaSA9IDA7CisJCXJlc3VsdFtpXS5jaHVua19zaXplayA9IG10cnJfY2h1bmtfc2l6ZSA+PiAxMDsKKwkJcmVzdWx0W2ldLmdyYW5fc2l6ZWsgPSBtdHJyX2dyYW5fc2l6ZSA+PiAxMDsKKwkJcmVzdWx0W2ldLm51bV9yZWcgPSBudW1fcmVnOworCQlpZiAocmFuZ2Vfc3VtcyA8IHJhbmdlX3N1bXNfbmV3KSB7CisJCQlyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA9CisJCQkJKHJhbmdlX3N1bXNfbmV3IC0gcmFuZ2Vfc3VtcykgPDwgUFNISUZUOworCQkJcmVzdWx0W2ldLmJhZCA9IDE7CisJCX0gZWxzZQorCQkJcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWsgPQorCQkJCShyYW5nZV9zdW1zIC0gcmFuZ2Vfc3Vtc19uZXcpIDw8IFBTSElGVDsKKworCQlwcmludGsoS0VSTl9JTkZPICIlc2dyYW5fc2l6ZTogJWxkTSBcdGNodW5rX3NpemU6ICVsZE0gXHQiLAorCQkJIHJlc3VsdFtpXS5iYWQ/IipCQUQqIjoiICIsIHJlc3VsdFtpXS5ncmFuX3NpemVrID4+IDEwLAorCQkJIHJlc3VsdFtpXS5jaHVua19zaXplayA+PiAxMCk7CisJCXByaW50ayhLRVJOX0NPTlQgIm51bV9yZWc6ICVkICBcdGxvc2UgY292ZXIgUkFNOiAlcyVsZE0gXG4iLAorCQkJIHJlc3VsdFtpXS5udW1fcmVnLCByZXN1bHRbaV0uYmFkPyItIjoiIiwKKwkJCSByZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA+PiAxMCk7CisJCWlmICghcmVzdWx0W2ldLmJhZCkgeworCQkJc2V0X3Zhcl9tdHJyX2FsbChhZGRyZXNzX2JpdHMpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJcHJpbnRrKEtFUk5fSU5GTyAiaW52YWxpZCBtdHJyX2dyYW5fc2l6ZSBvciBtdHJyX2NodW5rX3NpemUsICIKKwkJICAgICAgICJ3aWxsIGZpbmQgb3B0aW1hbCBvbmVcbiIpOworCQlkZWJ1Z19wcmludCA9IDA7CisJCW1lbXNldChyZXN1bHQsIDAsIHNpemVvZihyZXN1bHRbMF0pKTsKKwl9CisKKwlpID0gMDsKKwltZW1zZXQobWluX2xvc3NfcGZuLCAweGZmLCBzaXplb2YobWluX2xvc3NfcGZuKSk7CisJbWVtc2V0KHJlc3VsdCwgMCwgc2l6ZW9mKHJlc3VsdCkpOworCWZvciAoZ3Jhbl9zaXplID0gKDFVTEw8PDIwKTsgZ3Jhbl9zaXplIDwgKDFVTEw8PDMyKTsgZ3Jhbl9zaXplIDw8PSAxKSB7CisJCWZvciAoY2h1bmtfc2l6ZSA9IGdyYW5fc2l6ZTsgY2h1bmtfc2l6ZSA8ICgxVUxMPDwzMyk7CisJCSAgICAgY2h1bmtfc2l6ZSA8PD0gMSkgeworCQkJaW50IG51bV9yZWc7CisKKwkJCWlmIChkZWJ1Z19wcmludCkKKwkJCQlwcmludGsoS0VSTl9JTkZPCisJCQkgICAgICAgIlxuZ3Jhbl9zaXplOiAlbGxkTSAgIGNodW5rX3NpemVfc2l6ZTogJWxsZE1cbiIsCisJCQkJICAgICAgIGdyYW5fc2l6ZSA+PiAyMCwgY2h1bmtfc2l6ZSA+PiAyMCk7CisJCQlpZiAoaSA+PSBOVU1fUkVTVUxUKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBjb252ZXJ0IHJhbmdlcyB0byB2YXIgcmFuZ2VzIHN0YXRlICovCisJCQludW1fcmVnID0geDg2X3NldHVwX3Zhcl9tdHJycyhyYW5nZSwgbnJfcmFuZ2UsCisJCQkJCQkJIGNodW5rX3NpemUsIGdyYW5fc2l6ZSk7CisKKwkJCS8qIHdlIGdvdCBuZXcgc2V0dGluZyBpbiByYW5nZV9zdGF0ZSwgY2hlY2sgaXQgKi8KKwkJCW1lbXNldChyYW5nZV9uZXcsIDAsIHNpemVvZihyYW5nZV9uZXcpKTsKKwkJCW5yX3JhbmdlX25ldyA9IHg4Nl9nZXRfbXRycl9tZW1fcmFuZ2UocmFuZ2VfbmV3LCAwLAorCQkJCQkgZXh0cmFfcmVtb3ZlX2Jhc2UsIGV4dHJhX3JlbW92ZV9zaXplKTsKKwkJCXJhbmdlX3N1bXNfbmV3ID0gc3VtX3JhbmdlcyhyYW5nZV9uZXcsIG5yX3JhbmdlX25ldyk7CisKKwkJCXJlc3VsdFtpXS5jaHVua19zaXplayA9IGNodW5rX3NpemUgPj4gMTA7CisJCQlyZXN1bHRbaV0uZ3Jhbl9zaXplayA9IGdyYW5fc2l6ZSA+PiAxMDsKKwkJCXJlc3VsdFtpXS5udW1fcmVnID0gbnVtX3JlZzsKKwkJCWlmIChyYW5nZV9zdW1zIDwgcmFuZ2Vfc3Vtc19uZXcpIHsKKwkJCQlyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA9CisJCQkJCShyYW5nZV9zdW1zX25ldyAtIHJhbmdlX3N1bXMpIDw8IFBTSElGVDsKKwkJCQlyZXN1bHRbaV0uYmFkID0gMTsKKwkJCX0gZWxzZQorCQkJCXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID0KKwkJCQkJKHJhbmdlX3N1bXMgLSByYW5nZV9zdW1zX25ldykgPDwgUFNISUZUOworCisJCQkvKiBkb3VibGUgY2hlY2sgaXQgKi8KKwkJCWlmICghcmVzdWx0W2ldLmJhZCAmJiAhcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWspIHsKKwkJCQlpZiAobnJfcmFuZ2VfbmV3ICE9IG5yX3JhbmdlIHx8CisJCQkJCW1lbWNtcChyYW5nZSwgcmFuZ2VfbmV3LCBzaXplb2YocmFuZ2UpKSkKKwkJCQkJCXJlc3VsdFtpXS5iYWQgPSAxOworCQkJfQorCisJCQlpZiAoIXJlc3VsdFtpXS5iYWQgJiYgKHJhbmdlX3N1bXMgLSByYW5nZV9zdW1zX25ldyA8CisJCQkJCSAgICAgICBtaW5fbG9zc19wZm5bbnVtX3JlZ10pKSB7CisJCQkJbWluX2xvc3NfcGZuW251bV9yZWddID0KKwkJCQkJcmFuZ2Vfc3VtcyAtIHJhbmdlX3N1bXNfbmV3OworCQkJfQorCQkJaSsrOworCQl9CisJfQorCisJLyogcHJpbnQgb3V0IGFsbCAqLworCWZvciAoaSA9IDA7IGkgPCBOVU1fUkVTVUxUOyBpKyspIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiJXNncmFuX3NpemU6ICVsZE0gXHRjaHVua19zaXplOiAlbGRNIFx0IiwKKwkJICAgICAgIHJlc3VsdFtpXS5iYWQ/IipCQUQqICI6IiAiLCByZXN1bHRbaV0uZ3Jhbl9zaXplayA+PiAxMCwKKwkJICAgICAgIHJlc3VsdFtpXS5jaHVua19zaXplayA+PiAxMCk7CisJCXByaW50ayhLRVJOX0NPTlQgIm51bV9yZWc6ICVkIFx0bG9zZSBSQU06ICVzJWxkTVxuIiwKKwkJICAgICAgIHJlc3VsdFtpXS5udW1fcmVnLCByZXN1bHRbaV0uYmFkPyItIjoiIiwKKwkJICAgICAgIHJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID4+IDEwKTsKKwl9CisKKwkvKiB0cnkgdG8gZmluZCB0aGUgb3B0aW1hbCBpbmRleCAqLworCWlmIChucl9tdHJyX3NwYXJlX3JlZyA+PSBudW1fdmFyX3JhbmdlcykKKwkJbnJfbXRycl9zcGFyZV9yZWcgPSBudW1fdmFyX3JhbmdlcyAtIDE7CisJbnVtX3JlZ19nb29kID0gLTE7CisJZm9yIChpID0gbnVtX3Zhcl9yYW5nZXMgLSBucl9tdHJyX3NwYXJlX3JlZzsgaSA+IDA7IGktLSkgeworCQlpZiAoIW1pbl9sb3NzX3BmbltpXSkgeworCQkJbnVtX3JlZ19nb29kID0gaTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaW5kZXhfZ29vZCA9IC0xOworCWlmIChudW1fcmVnX2dvb2QgIT0gLTEpIHsKKwkJZm9yIChpID0gMDsgaSA8IE5VTV9SRVNVTFQ7IGkrKykgeworCQkJaWYgKCFyZXN1bHRbaV0uYmFkICYmCisJCQkgICAgcmVzdWx0W2ldLm51bV9yZWcgPT0gbnVtX3JlZ19nb29kICYmCisJCQkgICAgIXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrKSB7CisJCQkJaW5kZXhfZ29vZCA9IGk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwlpZiAoaW5kZXhfZ29vZCAhPSAtMSkgeworCQlwcmludGsoS0VSTl9JTkZPICJGb3VuZCBvcHRpbWFsIHNldHRpbmcgZm9yIG10cnIgY2xlYW4gdXBcbiIpOworCQlpID0gaW5kZXhfZ29vZDsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZ3Jhbl9zaXplOiAlbGRNIFx0Y2h1bmtfc2l6ZTogJWxkTSBcdCIsCisJCQkJcmVzdWx0W2ldLmdyYW5fc2l6ZWsgPj4gMTAsCisJCQkJcmVzdWx0W2ldLmNodW5rX3NpemVrID4+IDEwKTsKKwkJcHJpbnRrKEtFUk5fQ09OVCAibnVtX3JlZzogJWQgXHRsb3NlIFJBTTogJWxkTVxuIiwKKwkJCQlyZXN1bHRbaV0ubnVtX3JlZywKKwkJCQlyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA+PiAxMCk7CisJCS8qIGNvbnZlcnQgcmFuZ2VzIHRvIHZhciByYW5nZXMgc3RhdGUgKi8KKwkJY2h1bmtfc2l6ZSA9IHJlc3VsdFtpXS5jaHVua19zaXplazsKKwkJY2h1bmtfc2l6ZSA8PD0gMTA7CisJCWdyYW5fc2l6ZSA9IHJlc3VsdFtpXS5ncmFuX3NpemVrOworCQlncmFuX3NpemUgPDw9IDEwOworCQlkZWJ1Z19wcmludCA9IDE7CisJCXg4Nl9zZXR1cF92YXJfbXRycnMocmFuZ2UsIG5yX3JhbmdlLCBjaHVua19zaXplLCBncmFuX3NpemUpOworCQlzZXRfdmFyX210cnJfYWxsKGFkZHJlc3NfYml0cyk7CisJCXJldHVybiAxOworCX0KKworCXByaW50ayhLRVJOX0lORk8gIm10cnJfY2xlYW51cDogY2FuIG5vdCBmaW5kIG9wdGltYWwgdmFsdWVcbiIpOworCXByaW50ayhLRVJOX0lORk8gInBsZWFzZSBzcGVjaWZ5IG10cnJfZ3Jhbl9zaXplL210cnJfY2h1bmtfc2l6ZVxuIik7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCitzdGF0aWMgaW50IF9faW5pdCBtdHJyX2NsZWFudXAodW5zaWduZWQgYWRkcmVzc19iaXRzKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBjaGFuZ2VkX2J5X210cnJfY2xlYW51cDsKKwogc3RhdGljIGludCBkaXNhYmxlX210cnJfdHJpbTsKIAogc3RhdGljIGludCBfX2luaXQgZGlzYWJsZV9tdHJyX3RyaW1fc2V0dXAoY2hhciAqc3RyKQpAQCAtNjQ4LDYgKzE0MzAsMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHU2NCBfX2luaXQgcmVhbF90cmltX21lbW9yeSh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkgICB1bnNpZ25lZCBsb25nIGxpbWl0X3BmbikKK3sKKwl1NjQgdHJpbV9zdGFydCwgdHJpbV9zaXplOworCXRyaW1fc3RhcnQgPSBzdGFydF9wZm47CisJdHJpbV9zdGFydCA8PD0gUEFHRV9TSElGVDsKKwl0cmltX3NpemUgPSBsaW1pdF9wZm47CisJdHJpbV9zaXplIDw8PSBQQUdFX1NISUZUOworCXRyaW1fc2l6ZSAtPSB0cmltX3N0YXJ0OworCisJcmV0dXJuIGU4MjBfdXBkYXRlX3JhbmdlKHRyaW1fc3RhcnQsIHRyaW1fc2l6ZSwgRTgyMF9SQU0sCisJCQkJRTgyMF9SRVNFUlZFRCk7Cit9CiAvKioKICAqIG10cnJfdHJpbV91bmNhY2hlZF9tZW1vcnkgLSB0cmltIFJBTSBub3QgY292ZXJlZCBieSBNVFJScwogICogQGVuZF9wZm46IGVuZGluZyBwYWdlIGZyYW1lIG51bWJlcgpAQCAtNjYzLDggKzE0NTgsMTEgQEAKIHsKIAl1bnNpZ25lZCBsb25nIGksIGJhc2UsIHNpemUsIGhpZ2hlc3RfcGZuID0gMCwgZGVmLCBkdW1teTsKIAltdHJyX3R5cGUgdHlwZTsKLQl1NjQgdHJpbV9zdGFydCwgdHJpbV9zaXplOworCWludCBucl9yYW5nZTsKKwl1NjQgdG90YWxfdHJpbV9zaXplOwogCisJLyogZXh0cmEgb25lIGZvciBhbGwgMCAqLworCWludCBudW1bTVRSUl9OVU1fVFlQRVMgKyAxXTsKIAkvKgogCSAqIE1ha2Ugc3VyZSB3ZSBvbmx5IHRyaW0gdW5jYWNoYWJsZSBtZW1vcnkgb24gbWFjaGluZXMgdGhhdAogCSAqIHN1cHBvcnQgdGhlIEludGVsIE1UUlIgYXJjaGl0ZWN0dXJlOgpAQCAtNjc2LDE0ICsxNDc0LDIyIEBACiAJaWYgKGRlZiAhPSBNVFJSX1RZUEVfVU5DQUNIQUJMRSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoYW1kX3NwZWNpYWxfZGVmYXVsdF9tdHJyKCkpCi0JCXJldHVybiAwOworCS8qIGdldCBpdCBhbmQgc3RvcmUgaXQgYXNpZGUgKi8KKwltZW1zZXQocmFuZ2Vfc3RhdGUsIDAsIHNpemVvZihyYW5nZV9zdGF0ZSkpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCW10cnJfaWYtPmdldChpLCAmYmFzZSwgJnNpemUsICZ0eXBlKTsKKwkJcmFuZ2Vfc3RhdGVbaV0uYmFzZV9wZm4gPSBiYXNlOworCQlyYW5nZV9zdGF0ZVtpXS5zaXplX3BmbiA9IHNpemU7CisJCXJhbmdlX3N0YXRlW2ldLnR5cGUgPSB0eXBlOworCX0KIAogCS8qIEZpbmQgaGlnaGVzdCBjYWNoZWQgcGZuICovCiAJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKLQkJbXRycl9pZi0+Z2V0KGksICZiYXNlLCAmc2l6ZSwgJnR5cGUpOworCQl0eXBlID0gcmFuZ2Vfc3RhdGVbaV0udHlwZTsKIAkJaWYgKHR5cGUgIT0gTVRSUl9UWVBFX1dSQkFDSykKIAkJCWNvbnRpbnVlOworCQliYXNlID0gcmFuZ2Vfc3RhdGVbaV0uYmFzZV9wZm47CisJCXNpemUgPSByYW5nZV9zdGF0ZVtpXS5zaXplX3BmbjsKIAkJaWYgKGhpZ2hlc3RfcGZuIDwgYmFzZSArIHNpemUpCiAJCQloaWdoZXN0X3BmbiA9IGJhc2UgKyBzaXplOwogCX0KQEAgLTY5OCwyMiArMTUwNCw2NSBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoaGlnaGVzdF9wZm4gPCBlbmRfcGZuKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IEJJT1MgYnVnOiBDUFUgTVRSUnMgZG9uJ3QgY292ZXIiCi0JCQkiIGFsbCBvZiBtZW1vcnksIGxvc2luZyAlbHVNQiBvZiBSQU0uXG4iLAotCQkJKGVuZF9wZm4gLSBoaWdoZXN0X3BmbikgPj4gKDIwIC0gUEFHRV9TSElGVCkpOworCS8qIGNoZWNrIGVudHJpZXMgbnVtYmVyICovCisJbWVtc2V0KG51bSwgMCwgc2l6ZW9mKG51bSkpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCXR5cGUgPSByYW5nZV9zdGF0ZVtpXS50eXBlOworCQlpZiAodHlwZSA+PSBNVFJSX05VTV9UWVBFUykKKwkJCWNvbnRpbnVlOworCQlzaXplID0gcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm47CisJCWlmICghc2l6ZSkKKwkJCXR5cGUgPSBNVFJSX05VTV9UWVBFUzsKKwkJbnVtW3R5cGVdKys7CisJfQogCi0JCVdBUk5fT04oMSk7CisJLyogbm8gZW50cnkgZm9yIFdCPyAqLworCWlmICghbnVtW01UUlJfVFlQRV9XUkJBQ0tdKQorCQlyZXR1cm4gMDsKKworCS8qIGNoZWNrIGlmIHdlIG9ubHkgaGFkIFdCIGFuZCBVQyAqLworCWlmIChudW1bTVRSUl9UWVBFX1dSQkFDS10gKyBudW1bTVRSUl9UWVBFX1VOQ0FDSEFCTEVdICE9CisJCW51bV92YXJfcmFuZ2VzIC0gbnVtW01UUlJfTlVNX1RZUEVTXSkKKwkJcmV0dXJuIDA7CisKKwltZW1zZXQocmFuZ2UsIDAsIHNpemVvZihyYW5nZSkpOworCW5yX3JhbmdlID0gMDsKKwlpZiAobXRycl90b20yKSB7CisJCXJhbmdlW25yX3JhbmdlXS5zdGFydCA9ICgxVUxMPDwoMzIgLSBQQUdFX1NISUZUKSk7CisJCXJhbmdlW25yX3JhbmdlXS5lbmQgPSAobXRycl90b20yID4+IFBBR0VfU0hJRlQpIC0gMTsKKwkJaWYgKGhpZ2hlc3RfcGZuIDwgcmFuZ2VbbnJfcmFuZ2VdLmVuZCArIDEpCisJCQloaWdoZXN0X3BmbiA9IHJhbmdlW25yX3JhbmdlXS5lbmQgKyAxOworCQlucl9yYW5nZSsrOworCX0KKwlucl9yYW5nZSA9IHg4Nl9nZXRfbXRycl9tZW1fcmFuZ2UocmFuZ2UsIG5yX3JhbmdlLCAwLCAwKTsKKworCXRvdGFsX3RyaW1fc2l6ZSA9IDA7CisJLyogY2hlY2sgdGhlIGhlYWQgKi8KKwlpZiAocmFuZ2VbMF0uc3RhcnQpCisJCXRvdGFsX3RyaW1fc2l6ZSArPSByZWFsX3RyaW1fbWVtb3J5KDAsIHJhbmdlWzBdLnN0YXJ0KTsKKwkvKiBjaGVjayB0aGUgaG9sZXMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2UgLSAxOyBpKyspIHsKKwkJaWYgKHJhbmdlW2ldLmVuZCArIDEgPCByYW5nZVtpKzFdLnN0YXJ0KQorCQkJdG90YWxfdHJpbV9zaXplICs9IHJlYWxfdHJpbV9tZW1vcnkocmFuZ2VbaV0uZW5kICsgMSwKKwkJCQkJCQkgICAgcmFuZ2VbaSsxXS5zdGFydCk7CisJfQorCS8qIGNoZWNrIHRoZSB0b3AgKi8KKwlpID0gbnJfcmFuZ2UgLSAxOworCWlmIChyYW5nZVtpXS5lbmQgKyAxIDwgZW5kX3BmbikKKwkJdG90YWxfdHJpbV9zaXplICs9IHJlYWxfdHJpbV9tZW1vcnkocmFuZ2VbaV0uZW5kICsgMSwKKwkJCQkJCQkgZW5kX3Bmbik7CisKKwlpZiAodG90YWxfdHJpbV9zaXplKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IEJJT1MgYnVnOiBDUFUgTVRSUnMgZG9uJ3QgY292ZXIiCisJCQkiIGFsbCBvZiBtZW1vcnksIGxvc2luZyAlbGx1TUIgb2YgUkFNLlxuIiwKKwkJCXRvdGFsX3RyaW1fc2l6ZSA+PiAyMCk7CisKKwkJaWYgKCFjaGFuZ2VkX2J5X210cnJfY2xlYW51cCkKKwkJCVdBUk5fT04oMSk7CiAKIAkJcHJpbnRrKEtFUk5fSU5GTyAidXBkYXRlIGU4MjAgZm9yIG10cnJcbiIpOwotCQl0cmltX3N0YXJ0ID0gaGlnaGVzdF9wZm47Ci0JCXRyaW1fc3RhcnQgPDw9IFBBR0VfU0hJRlQ7Ci0JCXRyaW1fc2l6ZSA9IGVuZF9wZm47Ci0JCXRyaW1fc2l6ZSA8PD0gUEFHRV9TSElGVDsKLQkJdHJpbV9zaXplIC09IHRyaW1fc3RhcnQ7Ci0JCXVwZGF0ZV9tZW1vcnlfcmFuZ2UodHJpbV9zdGFydCwgdHJpbV9zaXplLCBFODIwX1JBTSwKLQkJCQkJRTgyMF9SRVNFUlZFRCk7CiAJCXVwZGF0ZV9lODIwKCk7CisKIAkJcmV0dXJuIDE7CiAJfQogCkBAIC03MjksMTggKzE1NzgsMjEgQEAKICAqLwogdm9pZCBfX2luaXQgbXRycl9icF9pbml0KHZvaWQpCiB7CisJdTMyIHBoeXNfYWRkcjsKIAlpbml0X2lmcygpOwogCisJcGh5c19hZGRyID0gMzI7CisKIAlpZiAoY3B1X2hhc19tdHJyKSB7CiAJCW10cnJfaWYgPSAmZ2VuZXJpY19tdHJyX29wczsKIAkJc2l6ZV9vcl9tYXNrID0gMHhmZjAwMDAwMDsJLyogMzYgYml0cyAqLwogCQlzaXplX2FuZF9tYXNrID0gMHgwMGYwMDAwMDsKKwkJcGh5c19hZGRyID0gMzY7CiAKIAkJLyogVGhpcyBpcyBhbiBBTUQgc3BlY2lmaWMgTVNSLCBidXQgd2UgYXNzdW1lKGhvcGU/KSB0aGF0CiAJCSAgIEludGVsIHdpbGwgaW1wbGVtZW50IGl0IHRvIHdoZW4gdGhleSBleHRlbmQgdGhlIGFkZHJlc3MKIAkJICAgYnVzIG9mIHRoZSBYZW9uLiAqLwogCQlpZiAoY3B1aWRfZWF4KDB4ODAwMDAwMDApID49IDB4ODAwMDAwMDgpIHsKLQkJCXUzMiBwaHlzX2FkZHI7CiAJCQlwaHlzX2FkZHIgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCkgJiAweGZmOwogCQkJLyogQ1BVSUQgd29ya2Fyb3VuZCBmb3IgSW50ZWwgMEYzMy8wRjM0IENQVSAqLwogCQkJaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMICYmCkBAIC03NTgsNiArMTYxMCw3IEBACiAJCQkgICBkb24ndCBzdXBwb3J0IFBBRSAqLwogCQkJc2l6ZV9vcl9tYXNrID0gMHhmZmYwMDAwMDsJLyogMzIgYml0cyAqLwogCQkJc2l6ZV9hbmRfbWFzayA9IDA7CisJCQlwaHlzX2FkZHIgPSAzMjsKIAkJfQogCX0gZWxzZSB7CiAJCXN3aXRjaCAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yKSB7CkBAIC03OTEsOCArMTY0NCwxNSBAQAogCWlmIChtdHJyX2lmKSB7CiAJCXNldF9udW1fdmFyX3JhbmdlcygpOwogCQlpbml0X3RhYmxlKCk7Ci0JCWlmICh1c2VfaW50ZWwoKSkKKwkJaWYgKHVzZV9pbnRlbCgpKSB7CiAJCQlnZXRfbXRycl9zdGF0ZSgpOworCisJCQlpZiAobXRycl9jbGVhbnVwKHBoeXNfYWRkcikpIHsKKwkJCQljaGFuZ2VkX2J5X210cnJfY2xlYW51cCA9IDE7CisJCQkJbXRycl9pZi0+c2V0X2FsbCgpOworCQkJfQorCisJCX0KIAl9CiB9CiAKQEAgLTgyMiwxNiArMTY4MiwxNyBAQAogICovCiB2b2lkIG10cnJfc2F2ZV9zdGF0ZSh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgwLCBtdHJyX3NhdmVfZml4ZWRfcmFuZ2VzLCBOVUxMLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoMCwgbXRycl9zYXZlX2ZpeGVkX3JhbmdlcywgTlVMTCwgMSk7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IG10cnJfaW5pdF9maW5pYWxpemUodm9pZCkKIHsKIAlpZiAoIW10cnJfaWYpCiAJCXJldHVybiAwOwotCWlmICh1c2VfaW50ZWwoKSkKLQkJbXRycl9zdGF0ZV93YXJuKCk7Ci0JZWxzZSB7CisJaWYgKHVzZV9pbnRlbCgpKSB7CisJCWlmICghY2hhbmdlZF9ieV9tdHJyX2NsZWFudXApCisJCQltdHJyX3N0YXRlX3dhcm4oKTsKKwl9IGVsc2UgewogCQkvKiBUaGUgQ1BVcyBoYXZlbid0IE1UUlIgYW5kIHNlZW0gdG8gbm90IHN1cHBvcnQgU01QLiBUaGV5IGhhdmUKIAkJICogc3BlY2lmaWMgZHJpdmVycywgd2UgdXNlIGEgdHJpY2t5IG1ldGhvZCB0byBzdXBwb3J0CiAJCSAqIHN1c3BlbmQvcmVzdW1lIGZvciB0aGVtLgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL210cnIuaCBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tdHJyLmgKaW5kZXggMmNjNzdlYi4uMmRjNGVjNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL210cnIuaAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbXRyci5oCkBAIC04MSw2ICs4MSw4IEBACiB2b2lkIHNldF9tdHJyX2NhY2hlX2Rpc2FibGUoc3RydWN0IHNldF9tdHJyX2NvbnRleHQgKmN0eHQpOwogdm9pZCBzZXRfbXRycl9wcmVwYXJlX3NhdmUoc3RydWN0IHNldF9tdHJyX2NvbnRleHQgKmN0eHQpOwogCit2b2lkIGZpbGxfbXRycl92YXJfcmFuZ2UodW5zaWduZWQgaW50IGluZGV4LAorCQl1MzIgYmFzZV9sbywgdTMyIGJhc2VfaGksIHUzMiBtYXNrX2xvLCB1MzIgbWFza19oaSk7CiB2b2lkIGdldF9tdHJyX3N0YXRlKHZvaWQpOwogCiBleHRlcm4gdm9pZCBzZXRfbXRycl9vcHMoc3RydWN0IG10cnJfb3BzICogb3BzKTsKQEAgLTkyLDYgKzk0LDcgQEAKICNkZWZpbmUgdXNlX2ludGVsKCkJKG10cnJfaWYgJiYgbXRycl9pZi0+dXNlX2ludGVsX2lmID09IDEpCiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbnVtX3Zhcl9yYW5nZXM7CitleHRlcm4gdTY0IG10cnJfdG9tMjsKIAogdm9pZCBtdHJyX3N0YXRlX3dhcm4odm9pZCk7CiBjb25zdCBjaGFyICptdHJyX2F0dHJpYl90b19zdHIoaW50IHgpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9wZXJmY3RyLXdhdGNoZG9nLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYwppbmRleCBmOWFlOTNhLi42ZDRiZGMwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYwpAQCAtMSwxMSArMSwxNSBAQAotLyogbG9jYWwgYXBpYyBiYXNlZCBOTUkgd2F0Y2hkb2cgZm9yIHZhcmlvdXMgQ1BVcy4KLSAgIFRoaXMgZmlsZSBhbHNvIGhhbmRsZXMgcmVzZXJ2YXRpb24gb2YgcGVyZm9ybWFuY2UgY291bnRlcnMgZm9yIGNvb3JkaW5hdGlvbgotICAgd2l0aCBvdGhlciB1c2VycyAobGlrZSBvcHJvZmlsZSkuCi0KLSAgIE5vdGUgdGhhdCB0aGVzZSBldmVudHMgbm9ybWFsbHkgZG9uJ3QgdGljayB3aGVuIHRoZSBDUFUgaWRsZXMuIFRoaXMgbWVhbnMKLSAgIHRoZSBmcmVxdWVuY3kgdmFyaWVzIHdpdGggQ1BVIGxvYWQuCi0KLSAgIE9yaWdpbmFsIGNvZGUgZm9yIEs3L1A2IHdyaXR0ZW4gYnkgS2VpdGggT3dlbnMgKi8KKy8qCisgKiBsb2NhbCBhcGljIGJhc2VkIE5NSSB3YXRjaGRvZyBmb3IgdmFyaW91cyBDUFVzLgorICoKKyAqIFRoaXMgZmlsZSBhbHNvIGhhbmRsZXMgcmVzZXJ2YXRpb24gb2YgcGVyZm9ybWFuY2UgY291bnRlcnMgZm9yIGNvb3JkaW5hdGlvbgorICogd2l0aCBvdGhlciB1c2VycyAobGlrZSBvcHJvZmlsZSkuCisgKgorICogTm90ZSB0aGF0IHRoZXNlIGV2ZW50cyBub3JtYWxseSBkb24ndCB0aWNrIHdoZW4gdGhlIENQVSBpZGxlcy4gVGhpcyBtZWFucworICogdGhlIGZyZXF1ZW5jeSB2YXJpZXMgd2l0aCBDUFUgbG9hZC4KKyAqCisgKiBPcmlnaW5hbCBjb2RlIGZvciBLNy9QNiB3cml0dGVuIGJ5IEtlaXRoIE93ZW5zCisgKgorICovCiAKICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTM2LDEyICs0MCwxNiBAQAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHdkX29wcyAqd2Rfb3BzOwogCi0vKiB0aGlzIG51bWJlciBpcyBjYWxjdWxhdGVkIGZyb20gSW50ZWwncyBNU1JfUDRfQ1JVX0VTQ1I1IHJlZ2lzdGVyIGFuZCBpdCdzCi0gKiBvZmZzZXQgZnJvbSBNU1JfUDRfQlNVX0VTQ1IwLiAgSXQgd2lsbCBiZSB0aGUgbWF4IGZvciBhbGwgcGxhdGZvcm1zIChmb3Igbm93KQorLyoKKyAqIHRoaXMgbnVtYmVyIGlzIGNhbGN1bGF0ZWQgZnJvbSBJbnRlbCdzIE1TUl9QNF9DUlVfRVNDUjUgcmVnaXN0ZXIgYW5kIGl0J3MKKyAqIG9mZnNldCBmcm9tIE1TUl9QNF9CU1VfRVNDUjAuCisgKgorICogSXQgd2lsbCBiZSB0aGUgbWF4IGZvciBhbGwgcGxhdGZvcm1zIChmb3Igbm93KQogICovCiAjZGVmaW5lIE5NSV9NQVhfQ09VTlRFUl9CSVRTIDY2CiAKLS8qIHBlcmZjdHJfbm1pX293bmVyIHRyYWNrcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBwZXJmY3RyIHJlZ2lzdGVyczoKKy8qCisgKiBwZXJmY3RyX25taV9vd25lciB0cmFja3MgdGhlIG93bmVyc2hpcCBvZiB0aGUgcGVyZmN0ciByZWdpc3RlcnM6CiAgKiBldnRzZWxfbm1pX293bmVyIHRyYWNrcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBldmVudCBzZWxlY3Rpb24KICAqIC0gZGlmZmVyZW50IHBlcmZvcm1hbmNlIGNvdW50ZXJzLyBldmVudCBzZWxlY3Rpb24gbWF5IGJlIHJlc2VydmVkIGZvcgogICogICBkaWZmZXJlbnQgc3Vic3lzdGVtcyB0aGlzIHJlc2VydmF0aW9uIHN5c3RlbSBqdXN0IHRyaWVzIHRvIGNvb3JkaW5hdGUKQEAgLTczLDggKzgxLDEwIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qIGNvbnZlcnRzIGFuIG1zciB0byBhbiBhcHByb3ByaWF0ZSByZXNlcnZhdGlvbiBiaXQgKi8KLS8qIHJldHVybnMgdGhlIGJpdCBvZmZzZXQgb2YgdGhlIGV2ZW50IHNlbGVjdGlvbiByZWdpc3RlciAqLworLyoKKyAqIGNvbnZlcnRzIGFuIG1zciB0byBhbiBhcHByb3ByaWF0ZSByZXNlcnZhdGlvbiBiaXQKKyAqIHJldHVybnMgdGhlIGJpdCBvZmZzZXQgb2YgdGhlIGV2ZW50IHNlbGVjdGlvbiByZWdpc3RlcgorICovCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBubWlfZXZudHNlbF9tc3JfdG9fYml0KHVuc2lnbmVkIGludCBtc3IpCiB7CiAJLyogcmV0dXJucyB0aGUgYml0IG9mZnNldCBvZiB0aGUgZXZlbnQgc2VsZWN0aW9uIHJlZ2lzdGVyICovCkBAIC0xMTQsNiArMTI0LDcgQEAKIAogCXJldHVybiAoIXRlc3RfYml0KGNvdW50ZXIsIHBlcmZjdHJfbm1pX293bmVyKSk7CiB9CitFWFBPUlRfU1lNQk9MKGF2YWlsX3RvX3Jlc3J2X3BlcmZjdHJfbm1pX2JpdCk7CiAKIGludCByZXNlcnZlX3BlcmZjdHJfbm1pKHVuc2lnbmVkIGludCBtc3IpCiB7CkBAIC0xMjgsNiArMTM5LDcgQEAKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKHJlc2VydmVfcGVyZmN0cl9ubWkpOwogCiB2b2lkIHJlbGVhc2VfcGVyZmN0cl9ubWkodW5zaWduZWQgaW50IG1zcikKIHsKQEAgLTE0MCw2ICsxNTIsNyBAQAogCiAJY2xlYXJfYml0KGNvdW50ZXIsIHBlcmZjdHJfbm1pX293bmVyKTsKIH0KK0VYUE9SVF9TWU1CT0wocmVsZWFzZV9wZXJmY3RyX25taSk7CiAKIGludCByZXNlcnZlX2V2bnRzZWxfbm1pKHVuc2lnbmVkIGludCBtc3IpCiB7CkBAIC0xNTQsNiArMTY3LDcgQEAKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKHJlc2VydmVfZXZudHNlbF9ubWkpOwogCiB2b2lkIHJlbGVhc2VfZXZudHNlbF9ubWkodW5zaWduZWQgaW50IG1zcikKIHsKQEAgLTE2NiwxMSArMTgwLDYgQEAKIAogCWNsZWFyX2JpdChjb3VudGVyLCBldm50c2VsX25taV9vd25lcik7CiB9Ci0KLUVYUE9SVF9TWU1CT0woYXZhaWxfdG9fcmVzcnZfcGVyZmN0cl9ubWlfYml0KTsKLUVYUE9SVF9TWU1CT0wocmVzZXJ2ZV9wZXJmY3RyX25taSk7Ci1FWFBPUlRfU1lNQk9MKHJlbGVhc2VfcGVyZmN0cl9ubWkpOwotRVhQT1JUX1NZTUJPTChyZXNlcnZlX2V2bnRzZWxfbm1pKTsKIEVYUE9SVF9TWU1CT0wocmVsZWFzZV9ldm50c2VsX25taSk7CiAKIHZvaWQgZGlzYWJsZV9sYXBpY19ubWlfd2F0Y2hkb2codm9pZCkKQEAgLTE4MCw4ICsxODksMTAgQEAKIAlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDw9IDApCiAJCXJldHVybjsKIAotCW9uX2VhY2hfY3B1KHN0b3BfYXBpY19ubWlfd2F0Y2hkb2csIE5VTEwsIDAsIDEpOwotCXdkX29wcy0+dW5yZXNlcnZlKCk7CisJb25fZWFjaF9jcHUoc3RvcF9hcGljX25taV93YXRjaGRvZywgTlVMTCwgMSk7CisKKwlpZiAod2Rfb3BzKQorCQl3ZF9vcHMtPnVucmVzZXJ2ZSgpOwogCiAJQlVHX09OKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSAhPSAwKTsKIH0KQEAgLTIwMiw3ICsyMTMsNyBAQAogCQlyZXR1cm47CiAJfQogCi0Jb25fZWFjaF9jcHUoc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2csIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KHNldHVwX2FwaWNfbm1pX3dhdGNoZG9nLCBOVUxMLCAxKTsKIAl0b3VjaF9ubWlfd2F0Y2hkb2coKTsKIH0KIApAQCAtMjMyLDggKzI0Myw4IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIHZvaWQKLXdyaXRlX3dhdGNoZG9nX2NvdW50ZXIodW5zaWduZWQgaW50IHBlcmZjdHJfbXNyLCBjb25zdCBjaGFyICpkZXNjciwgdW5zaWduZWQgbm1pX2h6KQorc3RhdGljIHZvaWQgd3JpdGVfd2F0Y2hkb2dfY291bnRlcih1bnNpZ25lZCBpbnQgcGVyZmN0cl9tc3IsCisJCQkJY29uc3QgY2hhciAqZGVzY3IsIHVuc2lnbmVkIG5taV9oeikKIHsKIAl1NjQgY291bnQgPSAodTY0KWNwdV9raHogKiAxMDAwOwogCkBAIC0yNDQsNyArMjU1LDcgQEAKIH0KIAogc3RhdGljIHZvaWQgd3JpdGVfd2F0Y2hkb2dfY291bnRlcjMyKHVuc2lnbmVkIGludCBwZXJmY3RyX21zciwKLQkJY29uc3QgY2hhciAqZGVzY3IsIHVuc2lnbmVkIG5taV9oeikKKwkJCQljb25zdCBjaGFyICpkZXNjciwgdW5zaWduZWQgbm1pX2h6KQogewogCXU2NCBjb3VudCA9ICh1NjQpY3B1X2toeiAqIDEwMDA7CiAKQEAgLTI1NCw5ICsyNjUsMTAgQEAKIAl3cm1zcihwZXJmY3RyX21zciwgKHUzMikoLWNvdW50KSwgMCk7CiB9CiAKLS8qIEFNRCBLNy9LOC9GYW1pbHkxMGgvRmFtaWx5MTFoIHN1cHBvcnQuIEFNRCBrZWVwcyB0aGlzIGludGVyZmFjZQotICAgbmljZWx5IHN0YWJsZSBzbyB0aGVyZSBpcyBub3QgbXVjaCB2YXJpZXR5ICovCi0KKy8qCisgKiBBTUQgSzcvSzgvRmFtaWx5MTBoL0ZhbWlseTExaCBzdXBwb3J0LgorICogQU1EIGtlZXBzIHRoaXMgaW50ZXJmYWNlIG5pY2VseSBzdGFibGUgc28gdGhlcmUgaXMgbm90IG11Y2ggdmFyaWV0eQorICovCiAjZGVmaW5lIEs3X0VWTlRTRUxfRU5BQkxFCSgxIDw8IDIyKQogI2RlZmluZSBLN19FVk5UU0VMX0lOVAkJKDEgPDwgMjApCiAjZGVmaW5lIEs3X0VWTlRTRUxfT1MJCSgxIDw8IDE3KQpAQCAtMjg5LDcgKzMwMSw3IEBACiAKIAl3ZC0+cGVyZmN0cl9tc3IgPSBwZXJmY3RyX21zcjsKIAl3ZC0+ZXZudHNlbF9tc3IgPSBldm50c2VsX21zcjsKLQl3ZC0+Y2Njcl9tc3IgPSAwOyAgLy91bnVzZWQKKwl3ZC0+Y2Njcl9tc3IgPSAwOyAgLyogdW51c2VkICovCiAJcmV0dXJuIDE7CiB9CiAKQEAgLTMyNSwxOCArMzM3LDE5IEBACiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2Rfb3BzIGs3X3dkX29wcyA9IHsKLQkucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKLQkudW5yZXNlcnZlID0gc2luZ2xlX21zcl91bnJlc2VydmUsCi0JLnNldHVwID0gc2V0dXBfazdfd2F0Y2hkb2csCi0JLnJlYXJtID0gc2luZ2xlX21zcl9yZWFybSwKLQkuc3RvcCA9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKLQkucGVyZmN0ciA9IE1TUl9LN19QRVJGQ1RSMCwKLQkuZXZudHNlbCA9IE1TUl9LN19FVk5UU0VMMCwKLQkuY2hlY2tiaXQgPSAxVUxMPDw0NywKKwkucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKKwkudW5yZXNlcnZlCT0gc2luZ2xlX21zcl91bnJlc2VydmUsCisJLnNldHVwCQk9IHNldHVwX2s3X3dhdGNoZG9nLAorCS5yZWFybQkJPSBzaW5nbGVfbXNyX3JlYXJtLAorCS5zdG9wCQk9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKKwkucGVyZmN0cgk9IE1TUl9LN19QRVJGQ1RSMCwKKwkuZXZudHNlbAk9IE1TUl9LN19FVk5UU0VMMCwKKwkuY2hlY2tiaXQJPSAxVUxMIDw8IDQ3LAogfTsKIAotLyogSW50ZWwgTW9kZWwgNiAoUFBybyssUDIsUDMsUC1NLENvcmUxKSAqLwotCisvKgorICogSW50ZWwgTW9kZWwgNiAoUFBybyssUDIsUDMsUC1NLENvcmUxKQorICovCiAjZGVmaW5lIFA2X0VWTlRTRUwwX0VOQUJMRQkoMSA8PCAyMikKICNkZWZpbmUgUDZfRVZOVFNFTF9JTlQJCSgxIDw8IDIwKQogI2RlZmluZSBQNl9FVk5UU0VMX09TCQkoMSA8PCAxNykKQEAgLTM3Miw1MiArMzg1LDU4IEBACiAKIAl3ZC0+cGVyZmN0cl9tc3IgPSBwZXJmY3RyX21zcjsKIAl3ZC0+ZXZudHNlbF9tc3IgPSBldm50c2VsX21zcjsKLQl3ZC0+Y2Njcl9tc3IgPSAwOyAgLy91bnVzZWQKKwl3ZC0+Y2Njcl9tc3IgPSAwOyAgLyogdW51c2VkICovCiAJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyB2b2lkIHA2X3JlYXJtKHN0cnVjdCBubWlfd2F0Y2hkb2dfY3RsYmxrICp3ZCwgdW5zaWduZWQgbm1pX2h6KQogewotCS8qIFA2IGJhc2VkIFBlbnRpdW0gTSBuZWVkIHRvIHJlLXVubWFzaworCS8qCisJICogUDYgYmFzZWQgUGVudGl1bSBNIG5lZWQgdG8gcmUtdW5tYXNrCiAJICogdGhlIGFwaWMgdmVjdG9yIGJ1dCBpdCBkb2Vzbid0IGh1cnQKIAkgKiBvdGhlciBQNiB2YXJpYW50LgotCSAqIEFyY2hQZXJmb20vQ29yZSBEdW8gYWxzbyBuZWVkcyB0aGlzICovCisJICogQXJjaFBlcmZvbS9Db3JlIER1byBhbHNvIG5lZWRzIHRoaXMKKwkgKi8KIAlhcGljX3dyaXRlKEFQSUNfTFZUUEMsIEFQSUNfRE1fTk1JKTsKKwogCS8qIFA2L0FSQ0hfUEVSRk1PTiBoYXMgMzIgYml0IGNvdW50ZXIgd3JpdGUgKi8KIAl3cml0ZV93YXRjaGRvZ19jb3VudGVyMzIod2QtPnBlcmZjdHJfbXNyLCBOVUxMLG5taV9oeik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2Rfb3BzIHA2X3dkX29wcyA9IHsKLQkucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKLQkudW5yZXNlcnZlID0gc2luZ2xlX21zcl91bnJlc2VydmUsCi0JLnNldHVwID0gc2V0dXBfcDZfd2F0Y2hkb2csCi0JLnJlYXJtID0gcDZfcmVhcm0sCi0JLnN0b3AgPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCi0JLnBlcmZjdHIgPSBNU1JfUDZfUEVSRkNUUjAsCi0JLmV2bnRzZWwgPSBNU1JfUDZfRVZOVFNFTDAsCi0JLmNoZWNrYml0ID0gMVVMTDw8MzksCisJLnJlc2VydmUJPSBzaW5nbGVfbXNyX3Jlc2VydmUsCisJLnVucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAorCS5zZXR1cAkJPSBzZXR1cF9wNl93YXRjaGRvZywKKwkucmVhcm0JCT0gcDZfcmVhcm0sCisJLnN0b3AJCT0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAorCS5wZXJmY3RyCT0gTVNSX1A2X1BFUkZDVFIwLAorCS5ldm50c2VsCT0gTVNSX1A2X0VWTlRTRUwwLAorCS5jaGVja2JpdAk9IDFVTEwgPDwgMzksCiB9OwogCi0vKiBJbnRlbCBQNCBwZXJmb3JtYW5jZSBjb3VudGVycy4gQnkgZmFyIHRoZSBtb3N0IGNvbXBsaWNhdGVkIG9mIGFsbC4gKi8KKy8qCisgKiBJbnRlbCBQNCBwZXJmb3JtYW5jZSBjb3VudGVycy4KKyAqIEJ5IGZhciB0aGUgbW9zdCBjb21wbGljYXRlZCBvZiBhbGwuCisgKi8KKyNkZWZpbmUgTVNSX1A0X01JU0NfRU5BQkxFX1BFUkZfQVZBSUwJKDEgPDwgNykKKyNkZWZpbmUgUDRfRVNDUl9FVkVOVF9TRUxFQ1QoTikJKChOKSA8PCAyNSkKKyNkZWZpbmUgUDRfRVNDUl9PUwkJKDEgPDwgMykKKyNkZWZpbmUgUDRfRVNDUl9VU1IJCSgxIDw8IDIpCisjZGVmaW5lIFA0X0NDQ1JfT1ZGX1BNSTAJKDEgPDwgMjYpCisjZGVmaW5lIFA0X0NDQ1JfT1ZGX1BNSTEJKDEgPDwgMjcpCisjZGVmaW5lIFA0X0NDQ1JfVEhSRVNIT0xEKE4pCSgoTikgPDwgMjApCisjZGVmaW5lIFA0X0NDQ1JfQ09NUExFTUVOVAkoMSA8PCAxOSkKKyNkZWZpbmUgUDRfQ0NDUl9DT01QQVJFCQkoMSA8PCAxOCkKKyNkZWZpbmUgUDRfQ0NDUl9SRVFVSVJFRAkoMyA8PCAxNikKKyNkZWZpbmUgUDRfQ0NDUl9FU0NSX1NFTEVDVChOKQkoKE4pIDw8IDEzKQorI2RlZmluZSBQNF9DQ0NSX0VOQUJMRQkJKDEgPDwgMTIpCisjZGVmaW5lIFA0X0NDQ1JfT1ZGIAkJKDEgPDwgMzEpCiAKLSNkZWZpbmUgTVNSX1A0X01JU0NfRU5BQkxFX1BFUkZfQVZBSUwJKDE8PDcpCi0jZGVmaW5lIFA0X0VTQ1JfRVZFTlRfU0VMRUNUKE4pCSgoTik8PDI1KQotI2RlZmluZSBQNF9FU0NSX09TCQkoMTw8MykKLSNkZWZpbmUgUDRfRVNDUl9VU1IJCSgxPDwyKQotI2RlZmluZSBQNF9DQ0NSX09WRl9QTUkwCSgxPDwyNikKLSNkZWZpbmUgUDRfQ0NDUl9PVkZfUE1JMQkoMTw8MjcpCi0jZGVmaW5lIFA0X0NDQ1JfVEhSRVNIT0xEKE4pCSgoTik8PDIwKQotI2RlZmluZSBQNF9DQ0NSX0NPTVBMRU1FTlQJKDE8PDE5KQotI2RlZmluZSBQNF9DQ0NSX0NPTVBBUkUJCSgxPDwxOCkKLSNkZWZpbmUgUDRfQ0NDUl9SRVFVSVJFRAkoMzw8MTYpCi0jZGVmaW5lIFA0X0NDQ1JfRVNDUl9TRUxFQ1QoTikJKChOKTw8MTMpCi0jZGVmaW5lIFA0X0NDQ1JfRU5BQkxFCQkoMTw8MTIpCi0jZGVmaW5lIFA0X0NDQ1JfT1ZGIAkJKDE8PDMxKQotCi0vKiBTZXQgdXAgSVFfQ09VTlRFUjAgdG8gYmVoYXZlIGxpa2UgYSBjbG9jaywgYnkgaGF2aW5nIElRX0NDQ1IwIGZpbHRlcgotICAgQ1JVX0VTQ1IwICh3aXRoIGFueSBub24tbnVsbCBldmVudCBzZWxlY3RvcikgdGhyb3VnaCBhIGNvbXBsZW1lbnRlZAotICAgbWF4IHRocmVzaG9sZC4gW0lBMzItVm9sMywgU2VjdGlvbiAxNC45LjldICovCi0KKy8qCisgKiBTZXQgdXAgSVFfQ09VTlRFUjAgdG8gYmVoYXZlIGxpa2UgYSBjbG9jaywgYnkgaGF2aW5nIElRX0NDQ1IwIGZpbHRlcgorICogQ1JVX0VTQ1IwICh3aXRoIGFueSBub24tbnVsbCBldmVudCBzZWxlY3RvcikgdGhyb3VnaCBhIGNvbXBsZW1lbnRlZAorICogbWF4IHRocmVzaG9sZC4gW0lBMzItVm9sMywgU2VjdGlvbiAxNC45LjldCisgKi8KIHN0YXRpYyBpbnQgc2V0dXBfcDRfd2F0Y2hkb2codW5zaWduZWQgbm1pX2h6KQogewogCXVuc2lnbmVkIGludCBwZXJmY3RyX21zciwgZXZudHNlbF9tc3IsIGNjY3JfbXNyOwpAQCAtNDQyLDcgKzQ2MSw4IEBACiAjZW5kaWYKIAkJaHRfbnVtID0gMDsKIAotCS8qIHBlcmZvcm1hbmNlIGNvdW50ZXJzIGFyZSBzaGFyZWQgcmVzb3VyY2VzCisJLyoKKwkgKiBwZXJmb3JtYW5jZSBjb3VudGVycyBhcmUgc2hhcmVkIHJlc291cmNlcwogCSAqIGFzc2lnbiBlYWNoIGh5cGVydGhyZWFkIGl0cyBvd24gc2V0CiAJICogKHJlLXVzZSB0aGUgRVNDUjAgcmVnaXN0ZXIsIHNlZW1zIHNhZmUKIAkgKiBhbmQga2VlcHMgdGhlIGNjY3JfdmFsIHRoZSBzYW1lKQpAQCAtNTQwLDIwICs1NjAsMjEgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCB3ZF9vcHMgcDRfd2Rfb3BzID0gewotCS5yZXNlcnZlID0gcDRfcmVzZXJ2ZSwKLQkudW5yZXNlcnZlID0gcDRfdW5yZXNlcnZlLAotCS5zZXR1cCA9IHNldHVwX3A0X3dhdGNoZG9nLAotCS5yZWFybSA9IHA0X3JlYXJtLAotCS5zdG9wID0gc3RvcF9wNF93YXRjaGRvZywKKwkucmVzZXJ2ZQk9IHA0X3Jlc2VydmUsCisJLnVucmVzZXJ2ZQk9IHA0X3VucmVzZXJ2ZSwKKwkuc2V0dXAJCT0gc2V0dXBfcDRfd2F0Y2hkb2csCisJLnJlYXJtCQk9IHA0X3JlYXJtLAorCS5zdG9wCQk9IHN0b3BfcDRfd2F0Y2hkb2csCiAJLyogUkVELVBFTiB0aGlzIGlzIHdyb25nIGZvciB0aGUgb3RoZXIgc2libGluZyAqLwotCS5wZXJmY3RyID0gTVNSX1A0X0JQVV9QRVJGQ1RSMCwKLQkuZXZudHNlbCA9IE1TUl9QNF9CU1VfRVNDUjAsCi0JLmNoZWNrYml0ID0gMVVMTDw8MzksCisJLnBlcmZjdHIJPSBNU1JfUDRfQlBVX1BFUkZDVFIwLAorCS5ldm50c2VsCT0gTVNSX1A0X0JTVV9FU0NSMCwKKwkuY2hlY2tiaXQJPSAxVUxMIDw8IDM5LAogfTsKIAotLyogV2F0Y2hkb2cgdXNpbmcgdGhlIEludGVsIGFyY2hpdGVjdGVkIFBlcmZNb24uIFVzZWQgZm9yIENvcmUyIGFuZCBob3BlZnVsbHkKLSAgIGFsbCBmdXR1cmUgSW50ZWwgQ1BVcy4gKi8KLQorLyoKKyAqIFdhdGNoZG9nIHVzaW5nIHRoZSBJbnRlbCBhcmNoaXRlY3RlZCBQZXJmTW9uLgorICogVXNlZCBmb3IgQ29yZTIgYW5kIGhvcGVmdWxseSBhbGwgZnV0dXJlIEludGVsIENQVXMuCisgKi8KICNkZWZpbmUgQVJDSF9QRVJGTU9OX05NSV9FVkVOVF9TRUwJQVJDSF9QRVJGTU9OX1VOSEFMVEVEX0NPUkVfQ1lDTEVTX1NFTAogI2RlZmluZSBBUkNIX1BFUkZNT05fTk1JX0VWRU5UX1VNQVNLCUFSQ0hfUEVSRk1PTl9VTkhBTFRFRF9DT1JFX0NZQ0xFU19VTUFTSwogCkBAIC01OTksMTkgKzYyMCwxOSBAQAogCiAJd2QtPnBlcmZjdHJfbXNyID0gcGVyZmN0cl9tc3I7CiAJd2QtPmV2bnRzZWxfbXNyID0gZXZudHNlbF9tc3I7Ci0Jd2QtPmNjY3JfbXNyID0gMDsgIC8vdW51c2VkCisJd2QtPmNjY3JfbXNyID0gMDsgIC8qIHVudXNlZCAqLwogCWludGVsX2FyY2hfd2Rfb3BzLmNoZWNrYml0ID0gMVVMTCA8PCAoZWF4LnNwbGl0LmJpdF93aWR0aCAtIDEpOwogCXJldHVybiAxOwogfQogCiBzdGF0aWMgc3RydWN0IHdkX29wcyBpbnRlbF9hcmNoX3dkX29wcyBfX3JlYWRfbW9zdGx5ID0gewotCS5yZXNlcnZlID0gc2luZ2xlX21zcl9yZXNlcnZlLAotCS51bnJlc2VydmUgPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKLQkuc2V0dXAgPSBzZXR1cF9pbnRlbF9hcmNoX3dhdGNoZG9nLAotCS5yZWFybSA9IHA2X3JlYXJtLAotCS5zdG9wID0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAotCS5wZXJmY3RyID0gTVNSX0FSQ0hfUEVSRk1PTl9QRVJGQ1RSMSwKLQkuZXZudHNlbCA9IE1TUl9BUkNIX1BFUkZNT05fRVZFTlRTRUwxLAorCS5yZXNlcnZlCT0gc2luZ2xlX21zcl9yZXNlcnZlLAorCS51bnJlc2VydmUJPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKKwkuc2V0dXAJCT0gc2V0dXBfaW50ZWxfYXJjaF93YXRjaGRvZywKKwkucmVhcm0JCT0gcDZfcmVhcm0sCisJLnN0b3AJCT0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAorCS5wZXJmY3RyCT0gTVNSX0FSQ0hfUEVSRk1PTl9QRVJGQ1RSMSwKKwkuZXZudHNlbAk9IE1TUl9BUkNIX1BFUkZNT05fRVZFTlRTRUwxLAogfTsKIAogc3RhdGljIHZvaWQgcHJvYmVfbm1pX3dhdGNoZG9nKHZvaWQpCkBAIC02MjQsOCArNjQ1LDEwIEBACiAJCXdkX29wcyA9ICZrN193ZF9vcHM7CiAJCWJyZWFrOwogCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKLQkJLyogV29yayBhcm91bmQgQ29yZSBEdW8gKFlvbmFoKSBlcnJhdGEgQUU0OSB3aGVyZSBwZXJmY3RyMQotCQkgICBkb2Vzbid0IGhhdmUgYSB3b3JraW5nIGVuYWJsZSBiaXQuICovCisJCS8qCisJCSAqIFdvcmsgYXJvdW5kIENvcmUgRHVvIChZb25haCkgZXJyYXRhIEFFNDkgd2hlcmUgcGVyZmN0cjEKKwkJICogZG9lc24ndCBoYXZlIGEgd29ya2luZyBlbmFibGUgYml0LgorCQkgKi8KIAkJaWYgKGJvb3RfY3B1X2RhdGEueDg2ID09IDYgJiYgYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPT0gMTQpIHsKIAkJCWludGVsX2FyY2hfd2Rfb3BzLnBlcmZjdHIgPSBNU1JfQVJDSF9QRVJGTU9OX1BFUkZDVFIwOwogCQkJaW50ZWxfYXJjaF93ZF9vcHMuZXZudHNlbCA9IE1TUl9BUkNIX1BFUkZNT05fRVZFTlRTRUwwOwpAQCAtNjM2LDcgKzY1OSw3IEBACiAJCX0KIAkJc3dpdGNoIChib290X2NwdV9kYXRhLng4NikgewogCQljYXNlIDY6Ci0JCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPiAweGQpCisJCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPiAxMykKIAkJCQlyZXR1cm47CiAKIAkJCXdkX29wcyA9ICZwNl93ZF9vcHM7CkBAIC02OTcsMTAgKzcyMCwxMSBAQAogewogCXN0cnVjdCBubWlfd2F0Y2hkb2dfY3RsYmxrICp3ZCA9ICZfX2dldF9jcHVfdmFyKG5taV93YXRjaGRvZ19jdGxibGspOwogCXU2NCBjdHI7CisKIAlyZG1zcmwod2QtPnBlcmZjdHJfbXNyLCBjdHIpOwotCWlmIChjdHIgJiB3ZF9vcHMtPmNoZWNrYml0KSB7IC8qIHBlcmZjdHIgc3RpbGwgcnVubmluZz8gKi8KKwlpZiAoY3RyICYgd2Rfb3BzLT5jaGVja2JpdCkgLyogcGVyZmN0ciBzdGlsbCBydW5uaW5nPyAqLwogCQlyZXR1cm4gMDsKLQl9CisKIAl3ZF9vcHMtPnJlYXJtKHdkLCBubWlfaHopOwogCXJldHVybiAxOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdWlkLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1aWQuYwppbmRleCBkYWZmNTJhLi4yZGU1ZmEyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1aWQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1aWQuYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KQEAgLTk1LDcgKzk2LDcgQEAKIAlmb3IgKDsgY291bnQ7IGNvdW50IC09IDE2KSB7CiAJCWNtZC5lYXggPSBwb3M7CiAJCWNtZC5lY3ggPSBwb3MgPj4gMzI7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGNwdWlkX3NtcF9jcHVpZCwgJmNtZCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGNwdWlkX3NtcF9jcHVpZCwgJmNtZCwgMSk7CiAJCWlmIChjb3B5X3RvX3VzZXIodG1wLCAmY21kLCAxNikpCiAJCQlyZXR1cm4gLUVGQVVMVDsKIAkJdG1wICs9IDE2OwpAQCAtMTA3LDE1ICsxMDgsMjMgQEAKIAogc3RhdGljIGludCBjcHVpZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXVuc2lnbmVkIGludCBjcHUgPSBpbWlub3IoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7Ci0Jc3RydWN0IGNwdWluZm9feDg2ICpjID0gJmNwdV9kYXRhKGNwdSk7CisJdW5zaWduZWQgaW50IGNwdTsKKwlzdHJ1Y3QgY3B1aW5mb194ODYgKmM7CisJaW50IHJldCA9IDA7CisJCisJbG9ja19rZXJuZWwoKTsKIAotCWlmIChjcHUgPj0gTlJfQ1BVUyB8fCAhY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gLUVOWElPOwkvKiBObyBzdWNoIENQVSAqLworCWNwdSA9IGltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKKwlpZiAoY3B1ID49IE5SX0NQVVMgfHwgIWNwdV9vbmxpbmUoY3B1KSkgeworCQlyZXQgPSAtRU5YSU87CS8qIE5vIHN1Y2ggQ1BVICovCisJCWdvdG8gb3V0OworCX0KKwljID0gJmNwdV9kYXRhKGNwdSk7CiAJaWYgKGMtPmNwdWlkX2xldmVsIDwgMCkKLQkJcmV0dXJuIC1FSU87CS8qIENQVUlEIG5vdCBzdXBwb3J0ZWQgKi8KLQotCXJldHVybiAwOworCQlyZXQgPSAtRUlPOwkvKiBDUFVJRCBub3Qgc3VwcG9ydGVkICovCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jIGIvYXJjaC94ODYva2VybmVsL2U4MjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGMyOTE4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2U4MjAuYwpAQCAtMCwwICsxLDEzOTAgQEAKKy8qCisgKiBIYW5kbGUgdGhlIG1lbW9yeSBtYXAuCisgKiBUaGUgZnVuY3Rpb25zIGhlcmUgZG8gdGhlIGpvYiB1bnRpbCBib290bWVtIHRha2VzIG92ZXIuCisgKgorICogIEdldHRpbmcgc2FuaXRpemVfZTgyMF9tYXAoKSBpbiBzeW5jIHdpdGggaTM4NiB2ZXJzaW9uIGJ5IGFwcGx5aW5nIGNoYW5nZToKKyAqICAtICBQcm92aXNpb25zIGZvciBlbXB0eSBFODIwIG1lbW9yeSByZWdpb25zIChyZXBvcnRlZCBieSBjZXJ0YWluIEJJT1NlcykuCisgKiAgICAgQWxleCBBY2hlbmJhY2ggPHhlbGFAc2xpdC5kZT4sIERlY2VtYmVyIDIwMDIuCisgKiAgVmVua2F0ZXNoIFBhbGxpcGFkaSA8dmVua2F0ZXNoLnBhbGxpcGFkaUBpbnRlbC5jb20+CisgKgorICovCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9wZm4uaD4KKyNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUtbWFwLmg+CisKKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vdHJhbXBvbGluZS5oPgorCisvKgorICogVGhlIGU4MjAgbWFwIGlzIHRoZSBtYXAgdGhhdCBnZXRzIG1vZGlmaWVkIGUuZy4gd2l0aCBjb21tYW5kIGxpbmUgcGFyYW1ldGVycworICogYW5kIHRoYXQgaXMgYWxzbyByZWdpc3RlcmVkIHdpdGggbW9kaWZpY2F0aW9ucyBpbiB0aGUga2VybmVsIHJlc291cmNlIHRyZWUKKyAqIHdpdGggdGhlIGlvbWVtX3Jlc291cmNlIGFzIHBhcmVudC4KKyAqCisgKiBUaGUgZTgyMF9zYXZlZCBpcyBkaXJlY3RseSBzYXZlZCBhZnRlciB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIGlzCisgKiBjb3BpZWQuIEl0IGRvZXNuJ3QgZ2V0IG1vZGlmaWVkIGFmdGVyd2FyZHMuIEl0J3MgcmVnaXN0ZXJlZCBmb3IgdGhlCisgKiAvc3lzL2Zpcm13YXJlL21lbW1hcCBpbnRlcmZhY2UuCisgKgorICogVGhhdCBtZW1vcnkgbWFwIGlzIG5vdCBtb2RpZmllZCBhbmQgaXMgdXNlZCBhcyBiYXNlIGZvciBrZXhlYy4gVGhlIGtleGVjJ2QKKyAqIGtlcm5lbCBzaG91bGQgZ2V0IHRoZSBzYW1lIG1lbW9yeSBtYXAgYXMgdGhlIGZpcm13YXJlIHByb3ZpZGVzLiBUaGVuIHRoZQorICogdXNlciBjYW4gZS5nLiBib290IHRoZSBvcmlnaW5hbCBrZXJuZWwgd2l0aCBtZW09MUcgd2hpbGUgc3RpbGwgYm9vdGluZyB0aGUKKyAqIG5leHQga2VybmVsIHdpdGggZnVsbCBtZW1vcnkuCisgKi8KK3N0cnVjdCBlODIwbWFwIGU4MjA7CitzdHJ1Y3QgZTgyMG1hcCBlODIwX3NhdmVkOworCisvKiBGb3IgUENJIG9yIG90aGVyIG1lbW9yeS1tYXBwZWQgcmVzb3VyY2VzICovCit1bnNpZ25lZCBsb25nIHBjaV9tZW1fc3RhcnQgPSAweGFlZWRiYWJlOworI2lmZGVmIENPTkZJR19QQ0kKK0VYUE9SVF9TWU1CT0wocGNpX21lbV9zdGFydCk7CisjZW5kaWYKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGFueSBwYXJ0IG9mIHRoZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQKKyAqIHdpdGggdHlwZS4KKyAqLworaW50CitlODIwX2FueV9tYXBwZWQodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCB0eXBlKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisKKwkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCisJCQljb250aW51ZTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZTgyMF9hbnlfbWFwcGVkKTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBlbnRpcmUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkIHdpdGggdHlwZS4KKyAqCisgKiBOb3RlOiB0aGlzIGZ1bmN0aW9uIG9ubHkgd29ya3MgY29ycmVjdCBpZiB0aGUgZTgyMCB0YWJsZSBpcyBzb3J0ZWQgYW5kCisgKiBub3Qtb3ZlcmxhcHBpbmcsIHdoaWNoIGlzIHRoZSBjYXNlCisgKi8KK2ludCBfX2luaXQgZTgyMF9hbGxfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCisJCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCisJCQljb250aW51ZTsKKwkJLyogaXMgdGhlIHJlZ2lvbiAocGFydCkgaW4gb3ZlcmxhcCB3aXRoIHRoZSBjdXJyZW50IHJlZ2lvbiA/Ki8KKwkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQorCQkJY29udGludWU7CisKKwkJLyogaWYgdGhlIHJlZ2lvbiBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIDxzdGFydCxlbmQ+IHdlIG1vdmUKKwkJICogc3RhcnQgdG8gdGhlIGVuZCBvZiB0aGUgcmVnaW9uIHNpbmNlIGl0J3Mgb2sgdW50aWwgdGhlcmUKKwkJICovCisJCWlmIChlaS0+YWRkciA8PSBzdGFydCkKKwkJCXN0YXJ0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJLyoKKwkJICogaWYgc3RhcnQgaXMgbm93IGF0IG9yIGJleW9uZCBlbmQsIHdlJ3JlIGRvbmUsIGZ1bGwKKwkJICogY292ZXJhZ2UKKwkJICovCisJCWlmIChzdGFydCA+PSBlbmQpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBBZGQgYSBtZW1vcnkgcmVnaW9uIHRvIHRoZSBrZXJuZWwgZTgyMCBtYXAuCisgKi8KK3ZvaWQgX19pbml0IGU4MjBfYWRkX3JlZ2lvbih1NjQgc3RhcnQsIHU2NCBzaXplLCBpbnQgdHlwZSkKK3sKKwlpbnQgeCA9IGU4MjAubnJfbWFwOworCisJaWYgKHggPT0gQVJSQVlfU0laRShlODIwLm1hcCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJPb29wcyEgVG9vIG1hbnkgZW50cmllcyBpbiB0aGUgbWVtb3J5IG1hcCFcbiIpOworCQlyZXR1cm47CisJfQorCisJZTgyMC5tYXBbeF0uYWRkciA9IHN0YXJ0OworCWU4MjAubWFwW3hdLnNpemUgPSBzaXplOworCWU4MjAubWFwW3hdLnR5cGUgPSB0eXBlOworCWU4MjAubnJfbWFwKys7Cit9CisKK3ZvaWQgX19pbml0IGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobykKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXByaW50ayhLRVJOX0lORk8gIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKKwkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIGU4MjAubWFwW2ldLmFkZHIsCisJCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKQorCQkgICAgICAgKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKSk7CisJCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgeworCQljYXNlIEU4MjBfUkFNOgorCQljYXNlIEU4MjBfUkVTRVJWRURfS0VSTjoKKwkJCXByaW50ayhLRVJOX0NPTlQgIih1c2FibGUpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfUkVTRVJWRUQ6CisJCQlwcmludGsoS0VSTl9DT05UICIocmVzZXJ2ZWQpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfQUNQSToKKwkJCXByaW50ayhLRVJOX0NPTlQgIihBQ1BJIGRhdGEpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfTlZTOgorCQkJcHJpbnRrKEtFUk5fQ09OVCAiKEFDUEkgTlZTKVxuIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXByaW50ayhLRVJOX0NPTlQgInR5cGUgJXVcbiIsIGU4MjAubWFwW2ldLnR5cGUpOworCQkJYnJlYWs7CisJCX0KKwl9Cit9CisKKy8qCisgKiBTYW5pdGl6ZSB0aGUgQklPUyBlODIwIG1hcC4KKyAqCisgKiBTb21lIGU4MjAgcmVzcG9uc2VzIGluY2x1ZGUgb3ZlcmxhcHBpbmcgZW50cmllcy4gVGhlIGZvbGxvd2luZworICogcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGU4MjAgbWFwIHdpdGggYSBuZXcgb25lLCByZW1vdmluZyBvdmVybGFwcywKKyAqIGFuZCByZXNvbHZpbmcgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzIGluIGZhdm9yIG9mIGhpZ2hlc3QKKyAqIG51bWJlcmVkIHR5cGUuCisgKgorICogVGhlIGlucHV0IHBhcmFtZXRlciBiaW9zbWFwIHBvaW50cyB0byBhbiBhcnJheSBvZiAnc3RydWN0CisgKiBlODIwZW50cnknIHdoaWNoIG9uIGVudHJ5IGhhcyBlbGVtZW50cyBpbiB0aGUgcmFuZ2UgWzAsICpwbnJfbWFwKQorICogdmFsaWQsIGFuZCB3aGljaCBoYXMgc3BhY2UgZm9yIHVwIHRvIG1heF9ucl9tYXAgZW50cmllcy4KKyAqIE9uIHJldHVybiwgdGhlIHJlc3VsdGluZyBzYW5pdGl6ZWQgZTgyMCBtYXAgZW50cmllcyB3aWxsIGJlIGluCisgKiBvdmVyd3JpdHRlbiBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgc3RhcnRpbmcgYXQgYmlvc21hcC4KKyAqCisgKiBUaGUgaW50ZWdlciBwb2ludGVkIHRvIGJ5IHBucl9tYXAgbXVzdCBiZSB2YWxpZCBvbiBlbnRyeSAodGhlCisgKiBjdXJyZW50IG51bWJlciBvZiB2YWxpZCBlbnRyaWVzIGxvY2F0ZWQgYXQgYmlvc21hcCkgYW5kIHdpbGwKKyAqIGJlIHVwZGF0ZWQgb24gcmV0dXJuLCB3aXRoIHRoZSBuZXcgbnVtYmVyIG9mIHZhbGlkIGVudHJpZXMKKyAqIChzb21ldGhpbmcgbm8gbW9yZSB0aGFuIG1heF9ucl9tYXAuKQorICoKKyAqIFRoZSByZXR1cm4gdmFsdWUgZnJvbSBzYW5pdGl6ZV9lODIwX21hcCgpIGlzIHplcm8gaWYgaXQKKyAqIHN1Y2Nlc3NmdWxseSAnc2FuaXRpemVkJyB0aGUgbWFwIGVudHJpZXMgcGFzc2VkIGluLCBhbmQgaXMgLTEKKyAqIGlmIGl0IGRpZCBub3RoaW5nLCB3aGljaCBjYW4gaGFwcGVuIGlmIGVpdGhlciBvZiAoMSkgaXQgd2FzCisgKiBvbmx5IHBhc3NlZCBvbmUgbWFwIGVudHJ5LCBvciAoMikgYW55IG9mIHRoZSBpbnB1dCBtYXAgZW50cmllcworICogd2VyZSBpbnZhbGlkIChzdGFydCArIHNpemUgPCBzdGFydCwgbWVhbmluZyB0aGF0IHRoZSBzaXplIHdhcworICogc28gYmlnIHRoZSBkZXNjcmliZWQgbWVtb3J5IHJhbmdlIHdyYXBwZWQgYXJvdW5kIHRocm91Z2ggemVyby4pCisgKgorICoJVmlzdWFsbHkgd2UncmUgcGVyZm9ybWluZyB0aGUgZm9sbG93aW5nCisgKgkoMSwyLDMsNCA9IG1lbW9yeSB0eXBlcykuLi4KKyAqCisgKglTYW1wbGUgbWVtb3J5IG1hcCAody9vdmVybGFwcyk6CisgKgkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fX180XworICoJICAgX19fXzExMTFfX19fX19fX19fX19fX19fCisgKgkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KKyAqCSAgIDExMTExMTExX19fX19fX19fX19fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fX18zM19fCisgKgkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX18zMzMzM19fX19fX19fXworICoJICAgX19fX19fX19fX19fX18yMl9fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fMjIyMl8KKyAqCSAgIF9fX19fX19fXzExMTExMTExMV9fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fX19fMTFfCisgKgkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KKyAqCisgKglTYW5pdGl6ZWQgZXF1aXZhbGVudCAobm8gb3ZlcmxhcCk6CisgKgkgICAxX19fX19fX19fX19fX19fX19fX19fX18KKyAqCSAgIF80NF9fX19fX19fX19fX19fX19fX19fXworICoJICAgX19fMV9fX19fX19fX19fX19fX19fX19fCisgKgkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fXzExX19fX19fX19fX19fX19fXworICoJICAgX19fX19fX19fMV9fX19fX19fX19fX19fCisgKgkgICBfX19fX19fX19fM19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fNDRfX19fX19fX19fXworICoJICAgX19fX19fX19fX19fXzMzX19fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX18yX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX18xX19fX19fXworICoJICAgX19fX19fX19fX19fX19fX180X19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fMl9fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXworICoJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCisgKi8KKworaW50IF9faW5pdCBzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbWF4X25yX21hcCwKKwkJCQlpbnQgKnBucl9tYXApCit7CisJc3RydWN0IGNoYW5nZV9tZW1iZXIgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICpwYmlvczsgLyogcG9pbnRlciB0byBvcmlnaW5hbCBiaW9zIGVudHJ5ICovCisJCXVuc2lnbmVkIGxvbmcgbG9uZyBhZGRyOyAvKiBhZGRyZXNzIGZvciB0aGlzIGNoYW5nZSBwb2ludCAqLworCX07CisJc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyIGNoYW5nZV9wb2ludF9saXN0WzIqRTgyMF9YX01BWF0gX19pbml0ZGF0YTsKKwlzdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV9wb2ludFsyKkU4MjBfWF9NQVhdIF9faW5pdGRhdGE7CisJc3RhdGljIHN0cnVjdCBlODIwZW50cnkgKm92ZXJsYXBfbGlzdFtFODIwX1hfTUFYXSBfX2luaXRkYXRhOworCXN0YXRpYyBzdHJ1Y3QgZTgyMGVudHJ5IG5ld19iaW9zW0U4MjBfWF9NQVhdIF9faW5pdGRhdGE7CisJc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV90bXA7CisJdW5zaWduZWQgbG9uZyBjdXJyZW50X3R5cGUsIGxhc3RfdHlwZTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdF9hZGRyOworCWludCBjaGdpZHgsIHN0aWxsX2NoYW5naW5nOworCWludCBvdmVybGFwX2VudHJpZXM7CisJaW50IG5ld19iaW9zX2VudHJ5OworCWludCBvbGRfbnIsIG5ld19uciwgY2hnX25yOworCWludCBpOworCisJLyogaWYgdGhlcmUncyBvbmx5IG9uZSBtZW1vcnkgcmVnaW9uLCBkb24ndCBib3RoZXIgKi8KKwlpZiAoKnBucl9tYXAgPCAyKQorCQlyZXR1cm4gLTE7CisKKwlvbGRfbnIgPSAqcG5yX21hcDsKKwlCVUdfT04ob2xkX25yID4gbWF4X25yX21hcCk7CisKKwkvKiBiYWlsIG91dCBpZiB3ZSBmaW5kIGFueSB1bnJlYXNvbmFibGUgYWRkcmVzc2VzIGluIGJpb3MgbWFwICovCisJZm9yIChpID0gMDsgaSA8IG9sZF9ucjsgaSsrKQorCQlpZiAoYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplIDwgYmlvc21hcFtpXS5hZGRyKQorCQkJcmV0dXJuIC0xOworCisJLyogY3JlYXRlIHBvaW50ZXJzIGZvciBpbml0aWFsIGNoYW5nZS1wb2ludCBpbmZvcm1hdGlvbiAoZm9yIHNvcnRpbmcpICovCisJZm9yIChpID0gMDsgaSA8IDIgKiBvbGRfbnI7IGkrKykKKwkJY2hhbmdlX3BvaW50W2ldID0gJmNoYW5nZV9wb2ludF9saXN0W2ldOworCisJLyogcmVjb3JkIGFsbCBrbm93biBjaGFuZ2UtcG9pbnRzIChzdGFydGluZyBhbmQgZW5kaW5nIGFkZHJlc3NlcyksCisJICAgb21pdHRpbmcgdGhvc2UgdGhhdCBhcmUgZm9yIGVtcHR5IG1lbW9yeSByZWdpb25zICovCisJY2hnaWR4ID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgb2xkX25yOyBpKyspCXsKKwkJaWYgKGJpb3NtYXBbaV0uc2l6ZSAhPSAwKSB7CisJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkcjsKKwkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07CisJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkciArCisJCQkJYmlvc21hcFtpXS5zaXplOworCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKKwkJfQorCX0KKwljaGdfbnIgPSBjaGdpZHg7CisKKwkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLworCXN0aWxsX2NoYW5naW5nID0gMTsKKwl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKKwkJc3RpbGxfY2hhbmdpbmcgPSAwOworCQlmb3IgKGkgPSAxOyBpIDwgY2hnX25yOyBpKyspICB7CisJCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VyYWRkciwgbGFzdGFkZHI7CisJCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VycGJhZGRyLCBsYXN0cGJhZGRyOworCisJCQljdXJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5hZGRyOworCQkJbGFzdGFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5hZGRyOworCQkJY3VycGJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5wYmlvcy0+YWRkcjsKKwkJCWxhc3RwYmFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5wYmlvcy0+YWRkcjsKKworCQkJLyoKKwkJCSAqIHN3YXAgZW50cmllcywgd2hlbjoKKwkJCSAqCisJCQkgKiBjdXJhZGRyID4gbGFzdGFkZHIgb3IKKwkJCSAqIGN1cmFkZHIgPT0gbGFzdGFkZHIgYW5kIGN1cmFkZHIgPT0gY3VycGJhZGRyIGFuZAorCQkJICogbGFzdGFkZHIgIT0gbGFzdHBiYWRkcgorCQkJICovCisJCQlpZiAoY3VyYWRkciA8IGxhc3RhZGRyIHx8CisJCQkgICAgKGN1cmFkZHIgPT0gbGFzdGFkZHIgJiYgY3VyYWRkciA9PSBjdXJwYmFkZHIgJiYKKwkJCSAgICAgbGFzdGFkZHIgIT0gbGFzdHBiYWRkcikpIHsKKwkJCQljaGFuZ2VfdG1wID0gY2hhbmdlX3BvaW50W2ldOworCQkJCWNoYW5nZV9wb2ludFtpXSA9IGNoYW5nZV9wb2ludFtpLTFdOworCQkJCWNoYW5nZV9wb2ludFtpLTFdID0gY2hhbmdlX3RtcDsKKwkJCQlzdGlsbF9jaGFuZ2luZyA9IDE7CisJCQl9CisJCX0KKwl9CisKKwkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLworCW92ZXJsYXBfZW50cmllcyA9IDA7CSAvKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgb3ZlcmxhcCB0YWJsZSAqLworCW5ld19iaW9zX2VudHJ5ID0gMDsJIC8qIGluZGV4IGZvciBjcmVhdGluZyBuZXcgYmlvcyBtYXAgZW50cmllcyAqLworCWxhc3RfdHlwZSA9IDA7CQkgLyogc3RhcnQgd2l0aCB1bmRlZmluZWQgbWVtb3J5IHR5cGUgKi8KKwlsYXN0X2FkZHIgPSAwOwkJIC8qIHN0YXJ0IHdpdGggMCBhcyBsYXN0IHN0YXJ0aW5nIGFkZHJlc3MgKi8KKworCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLworCWZvciAoY2hnaWR4ID0gMDsgY2hnaWR4IDwgY2hnX25yOyBjaGdpZHgrKykgeworCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KKwkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09CisJCSAgICBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MtPmFkZHIpIHsKKwkJCS8qCisJCQkgKiBhZGQgbWFwIGVudHJ5IHRvIG92ZXJsYXAgbGlzdCAoPiAxIGVudHJ5CisJCQkgKiBpbXBsaWVzIGFuIG92ZXJsYXApCisJCQkgKi8KKwkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMrK10gPQorCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkgKiByZW1vdmUgZW50cnkgZnJvbSBsaXN0IChvcmRlciBpbmRlcGVuZGVudCwKKwkJCSAqIHNvIHN3YXAgd2l0aCBsYXN0KQorCQkJICovCisJCQlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxhcF9lbnRyaWVzOyBpKyspIHsKKwkJCQlpZiAob3ZlcmxhcF9saXN0W2ldID09CisJCQkJICAgIGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcykKKwkJCQkJb3ZlcmxhcF9saXN0W2ldID0KKwkJCQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMtMV07CisJCQl9CisJCQlvdmVybGFwX2VudHJpZXMtLTsKKwkJfQorCQkvKgorCQkgKiBpZiB0aGVyZSBhcmUgb3ZlcmxhcHBpbmcgZW50cmllcywgZGVjaWRlIHdoaWNoCisJCSAqICJ0eXBlIiB0byB1c2UgKGxhcmdlciB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIC0tCisJCSAqIDE9dXNhYmxlLCAyLDMsNCw0Kz11bnVzYWJsZSkKKwkJICovCisJCWN1cnJlbnRfdHlwZSA9IDA7CisJCWZvciAoaSA9IDA7IGkgPCBvdmVybGFwX2VudHJpZXM7IGkrKykKKwkJCWlmIChvdmVybGFwX2xpc3RbaV0tPnR5cGUgPiBjdXJyZW50X3R5cGUpCisJCQkJY3VycmVudF90eXBlID0gb3ZlcmxhcF9saXN0W2ldLT50eXBlOworCQkvKgorCQkgKiBjb250aW51ZSBidWlsZGluZyB1cCBuZXcgYmlvcyBtYXAgYmFzZWQgb24gdGhpcworCQkgKiBpbmZvcm1hdGlvbgorCQkgKi8KKwkJaWYgKGN1cnJlbnRfdHlwZSAhPSBsYXN0X3R5cGUpCXsKKwkJCWlmIChsYXN0X3R5cGUgIT0gMCkJIHsKKwkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSA9CisJCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyIC0gbGFzdF9hZGRyOworCQkJCS8qCisJCQkJICogbW92ZSBmb3J3YXJkIG9ubHkgaWYgdGhlIG5ldyBzaXplCisJCQkJICogd2FzIG5vbi16ZXJvCisJCQkJICovCisJCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCisJCQkJCS8qCisJCQkJCSAqIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3CisJCQkJCSAqIGJpb3MgZW50cmllcyA/CisJCQkJCSAqLworCQkJCQlpZiAoKytuZXdfYmlvc19lbnRyeSA+PSBtYXhfbnJfbWFwKQorCQkJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoY3VycmVudF90eXBlICE9IDApCXsKKwkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uYWRkciA9CisJCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOworCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS50eXBlID0gY3VycmVudF90eXBlOworCQkJCWxhc3RfYWRkciA9IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOworCQkJfQorCQkJbGFzdF90eXBlID0gY3VycmVudF90eXBlOworCQl9CisJfQorCS8qIHJldGFpbiBjb3VudCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLworCW5ld19uciA9IG5ld19iaW9zX2VudHJ5OworCisJLyogY29weSBuZXcgYmlvcyBtYXBwaW5nIGludG8gb3JpZ2luYWwgbG9jYXRpb24gKi8KKwltZW1jcHkoYmlvc21hcCwgbmV3X2Jpb3MsIG5ld19uciAqIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7CisJKnBucl9tYXAgPSBuZXdfbnI7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgX19hcHBlbmRfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKK3sKKwl3aGlsZSAobnJfbWFwKSB7CisJCXU2NCBzdGFydCA9IGJpb3NtYXAtPmFkZHI7CisJCXU2NCBzaXplID0gYmlvc21hcC0+c2l6ZTsKKwkJdTY0IGVuZCA9IHN0YXJ0ICsgc2l6ZTsKKwkJdTMyIHR5cGUgPSBiaW9zbWFwLT50eXBlOworCisJCS8qIE92ZXJmbG93IGluIDY0IGJpdHM/IElnbm9yZSB0aGUgbWVtb3J5IG1hcC4gKi8KKwkJaWYgKHN0YXJ0ID4gZW5kKQorCQkJcmV0dXJuIC0xOworCisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydCwgc2l6ZSwgdHlwZSk7CisKKwkJYmlvc21hcCsrOworCQlucl9tYXAtLTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDb3B5IHRoZSBCSU9TIGU4MjAgbWFwIGludG8gYSBzYWZlIHBsYWNlLgorICoKKyAqIFNhbml0eS1jaGVjayBpdCB3aGlsZSB3ZSdyZSBhdCBpdC4uCisgKgorICogSWYgd2UncmUgbHVja3kgYW5kIGxpdmUgb24gYSBtb2Rlcm4gc3lzdGVtLCB0aGUgc2V0dXAgY29kZQorICogd2lsbCBoYXZlIGdpdmVuIHVzIGEgbWVtb3J5IG1hcCB0aGF0IHdlIGNhbiB1c2UgdG8gcHJvcGVybHkKKyAqIHNldCB1cCBtZW1vcnkuICBJZiB3ZSBhcmVuJ3QsIHdlJ2xsIGZha2UgYSBtZW1vcnkgbWFwLgorICovCitzdGF0aWMgaW50IF9faW5pdCBhcHBlbmRfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKK3sKKwkvKiBPbmx5IG9uZSBtZW1vcnkgcmVnaW9uIChvciBuZWdhdGl2ZSk/IElnbm9yZSBpdCAqLworCWlmIChucl9tYXAgPCAyKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gX19hcHBlbmRfZTgyMF9tYXAoYmlvc21hcCwgbnJfbWFwKTsKK30KKworc3RhdGljIHU2NCBfX2luaXQgZTgyMF91cGRhdGVfcmFuZ2VfbWFwKHN0cnVjdCBlODIwbWFwICplODIweCwgdTY0IHN0YXJ0LAorCQkJCQl1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkJCXVuc2lnbmVkIG5ld190eXBlKQoreworCWludCBpOworCXU2NCByZWFsX3VwZGF0ZWRfc2l6ZSA9IDA7CisKKwlCVUdfT04ob2xkX3R5cGUgPT0gbmV3X3R5cGUpOworCisJaWYgKHNpemUgPiAoVUxMT05HX01BWCAtIHN0YXJ0KSkKKwkJc2l6ZSA9IFVMTE9OR19NQVggLSBzdGFydDsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjB4LT5tYXBbaV07CisJCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCQlpZiAoZWktPnR5cGUgIT0gb2xkX3R5cGUpCisJCQljb250aW51ZTsKKwkJLyogdG90YWxseSBjb3ZlcmVkPyAqLworCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYKKwkJICAgIChlaS0+YWRkciArIGVpLT5zaXplKSA8PSAoc3RhcnQgKyBzaXplKSkgeworCQkJZWktPnR5cGUgPSBuZXdfdHlwZTsKKwkJCXJlYWxfdXBkYXRlZF9zaXplICs9IGVpLT5zaXplOworCQkJY29udGludWU7CisJCX0KKwkJLyogcGFydGlhbGx5IGNvdmVyZWQgKi8KKwkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIGVpLT5hZGRyKTsKKwkJZmluYWxfZW5kID0gbWluKHN0YXJ0ICsgc2l6ZSwgZWktPmFkZHIgKyBlaS0+c2l6ZSk7CisJCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCisJCQljb250aW51ZTsKKwkJZTgyMF9hZGRfcmVnaW9uKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCwKKwkJCQkJIG5ld190eXBlKTsKKwkJcmVhbF91cGRhdGVkX3NpemUgKz0gZmluYWxfZW5kIC0gZmluYWxfc3RhcnQ7CisKKwkJZWktPnNpemUgLT0gZmluYWxfZW5kIC0gZmluYWxfc3RhcnQ7CisJCWlmIChlaS0+YWRkciA8IGZpbmFsX3N0YXJ0KQorCQkJY29udGludWU7CisJCWVpLT5hZGRyID0gZmluYWxfZW5kOworCX0KKwlyZXR1cm4gcmVhbF91cGRhdGVkX3NpemU7Cit9CisKK3U2NCBfX2luaXQgZTgyMF91cGRhdGVfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkgICAgIHVuc2lnbmVkIG5ld190eXBlKQoreworCXJldHVybiBlODIwX3VwZGF0ZV9yYW5nZV9tYXAoJmU4MjAsIHN0YXJ0LCBzaXplLCBvbGRfdHlwZSwgbmV3X3R5cGUpOworfQorCitzdGF0aWMgdTY0IF9faW5pdCBlODIwX3VwZGF0ZV9yYW5nZV9zYXZlZCh1NjQgc3RhcnQsIHU2NCBzaXplLAorCQkJCQkgIHVuc2lnbmVkIG9sZF90eXBlLCB1bnNpZ25lZCBuZXdfdHlwZSkKK3sKKwlyZXR1cm4gZTgyMF91cGRhdGVfcmFuZ2VfbWFwKCZlODIwX3NhdmVkLCBzdGFydCwgc2l6ZSwgb2xkX3R5cGUsCisJCQkJICAgICBuZXdfdHlwZSk7Cit9CisKKy8qIG1ha2UgZTgyMCBub3QgY292ZXIgdGhlIHJhbmdlICovCit1NjQgX19pbml0IGU4MjBfcmVtb3ZlX3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAorCQkJICAgICBpbnQgY2hlY2t0eXBlKQoreworCWludCBpOworCXU2NCByZWFsX3JlbW92ZWRfc2l6ZSA9IDA7CisKKwlpZiAoc2l6ZSA+IChVTExPTkdfTUFYIC0gc3RhcnQpKQorCQlzaXplID0gVUxMT05HX01BWCAtIHN0YXJ0OworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisJCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCisJCWlmIChjaGVja3R5cGUgJiYgZWktPnR5cGUgIT0gb2xkX3R5cGUpCisJCQljb250aW51ZTsKKwkJLyogdG90YWxseSBjb3ZlcmVkPyAqLworCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYKKwkJICAgIChlaS0+YWRkciArIGVpLT5zaXplKSA8PSAoc3RhcnQgKyBzaXplKSkgeworCQkJcmVhbF9yZW1vdmVkX3NpemUgKz0gZWktPnNpemU7CisJCQltZW1zZXQoZWksIDAsIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7CisJCQljb250aW51ZTsKKwkJfQorCQkvKiBwYXJ0aWFsbHkgY292ZXJlZCAqLworCQlmaW5hbF9zdGFydCA9IG1heChzdGFydCwgZWktPmFkZHIpOworCQlmaW5hbF9lbmQgPSBtaW4oc3RhcnQgKyBzaXplLCBlaS0+YWRkciArIGVpLT5zaXplKTsKKwkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKKwkJCWNvbnRpbnVlOworCQlyZWFsX3JlbW92ZWRfc2l6ZSArPSBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydDsKKworCQllaS0+c2l6ZSAtPSBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydDsKKwkJaWYgKGVpLT5hZGRyIDwgZmluYWxfc3RhcnQpCisJCQljb250aW51ZTsKKwkJZWktPmFkZHIgPSBmaW5hbF9lbmQ7CisJfQorCXJldHVybiByZWFsX3JlbW92ZWRfc2l6ZTsKK30KKwordm9pZCBfX2luaXQgdXBkYXRlX2U4MjAodm9pZCkKK3sKKwlpbnQgbnJfbWFwOworCisJbnJfbWFwID0gZTgyMC5ucl9tYXA7CisJaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJm5yX21hcCkpCisJCXJldHVybjsKKwllODIwLm5yX21hcCA9IG5yX21hcDsKKwlwcmludGsoS0VSTl9JTkZPICJtb2RpZmllZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJZTgyMF9wcmludF9tYXAoIm1vZGlmaWVkIik7Cit9CitzdGF0aWMgdm9pZCBfX2luaXQgdXBkYXRlX2U4MjBfc2F2ZWQodm9pZCkKK3sKKwlpbnQgbnJfbWFwOworCisJbnJfbWFwID0gZTgyMF9zYXZlZC5ucl9tYXA7CisJaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjBfc2F2ZWQubWFwLCBBUlJBWV9TSVpFKGU4MjBfc2F2ZWQubWFwKSwgJm5yX21hcCkpCisJCXJldHVybjsKKwllODIwX3NhdmVkLm5yX21hcCA9IG5yX21hcDsKK30KKyNkZWZpbmUgTUFYX0dBUF9FTkQgMHgxMDAwMDAwMDB1bGwKKy8qCisgKiBTZWFyY2ggZm9yIGEgZ2FwIGluIHRoZSBlODIwIG1lbW9yeSBzcGFjZSBmcm9tIHN0YXJ0X2FkZHIgdG8gZW5kX2FkZHIuCisgKi8KK19faW5pdCBpbnQgZTgyMF9zZWFyY2hfZ2FwKHVuc2lnbmVkIGxvbmcgKmdhcHN0YXJ0LCB1bnNpZ25lZCBsb25nICpnYXBzaXplLAorCQl1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGxvbmcgbG9uZyBlbmRfYWRkcikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdDsKKwlpbnQgaSA9IGU4MjAubnJfbWFwOworCWludCBmb3VuZCA9IDA7CisKKwlsYXN0ID0gKGVuZF9hZGRyICYmIGVuZF9hZGRyIDwgTUFYX0dBUF9FTkQpID8gZW5kX2FkZHIgOiBNQVhfR0FQX0VORDsKKworCXdoaWxlICgtLWkgPj0gMCkgeworCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOworCQl1bnNpZ25lZCBsb25nIGxvbmcgZW5kID0gc3RhcnQgKyBlODIwLm1hcFtpXS5zaXplOworCisJCWlmIChlbmQgPCBzdGFydF9hZGRyKQorCQkJY29udGludWU7CisKKwkJLyoKKwkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCisJCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKKwkJICovCisJCWlmIChsYXN0ID4gZW5kKSB7CisJCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7CisKKwkJCWlmIChnYXAgPj0gKmdhcHNpemUpIHsKKwkJCQkqZ2Fwc2l6ZSA9IGdhcDsKKwkJCQkqZ2Fwc3RhcnQgPSBlbmQ7CisJCQkJZm91bmQgPSAxOworCQkJfQorCQl9CisJCWlmIChzdGFydCA8IGxhc3QpCisJCQlsYXN0ID0gc3RhcnQ7CisJfQorCXJldHVybiBmb3VuZDsKK30KKworLyoKKyAqIFNlYXJjaCBmb3IgdGhlIGJpZ2dlc3QgZ2FwIGluIHRoZSBsb3cgMzIgYml0cyBvZiB0aGUgZTgyMAorICogbWVtb3J5IHNwYWNlLiAgV2UgcGFzcyB0aGlzIHNwYWNlIHRvIFBDSSB0byBhc3NpZ24gTU1JTyByZXNvdXJjZXMKKyAqIGZvciBob3RwbHVnIG9yIHVuY29uZmlndXJlZCBkZXZpY2VzIGluLgorICogSG9wZWZ1bGx5IHRoZSBCSU9TIGxldCBlbm91Z2ggc3BhY2UgbGVmdC4KKyAqLworX19pbml0IHZvaWQgZTgyMF9zZXR1cF9nYXAodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGdhcHN0YXJ0LCBnYXBzaXplLCByb3VuZDsKKwlpbnQgZm91bmQ7CisKKwlnYXBzdGFydCA9IDB4MTAwMDAwMDA7CisJZ2Fwc2l6ZSA9IDB4NDAwMDAwOworCWZvdW5kICA9IGU4MjBfc2VhcmNoX2dhcCgmZ2Fwc3RhcnQsICZnYXBzaXplLCAwLCBNQVhfR0FQX0VORCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJaWYgKCFmb3VuZCkgeworCQlnYXBzdGFydCA9IChtYXhfcGZuIDw8IFBBR0VfU0hJRlQpICsgMTAyNCoxMDI0OworCQlwcmludGsoS0VSTl9FUlIgIlBDSTogV2FybmluZzogQ2Fubm90IGZpbmQgYSBnYXAgaW4gdGhlIDMyYml0ICIKKwkJICAgICAgICJhZGRyZXNzIHJhbmdlXG4iCisJCSAgICAgICBLRVJOX0VSUiAiUENJOiBVbmFzc2lnbmVkIGRldmljZXMgd2l0aCAzMmJpdCByZXNvdXJjZSAiCisJCSAgICAgICAicmVnaXN0ZXJzIG1heSBicmVhayFcbiIpOworCX0KKyNlbmRpZgorCisJLyoKKwkgKiBTZWUgaG93IG11Y2ggd2Ugd2FudCB0byByb3VuZCB1cDogc3RhcnQgb2ZmIHdpdGgKKwkgKiByb3VuZGluZyB0byB0aGUgbmV4dCAxTUIgYXJlYS4KKwkgKi8KKwlyb3VuZCA9IDB4MTAwMDAwOworCXdoaWxlICgoZ2Fwc2l6ZSA+PiA0KSA+IHJvdW5kKQorCQlyb3VuZCArPSByb3VuZDsKKwkvKiBGdW4gd2l0aCB0d28ncyBjb21wbGVtZW50ICovCisJcGNpX21lbV9zdGFydCA9IChnYXBzdGFydCArIHJvdW5kKSAmIC1yb3VuZDsKKworCXByaW50ayhLRVJOX0lORk8KKwkgICAgICAgIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlbHggKGdhcDogJWx4OiVseClcbiIsCisJICAgICAgIHBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKK30KKworLyoqCisgKiBCZWNhdXNlIG9mIHRoZSBzaXplIGxpbWl0YXRpb24gb2Ygc3RydWN0IGJvb3RfcGFyYW1zLCBvbmx5IGZpcnN0CisgKiAxMjggRTgyMCBtZW1vcnkgZW50cmllcyBhcmUgcGFzc2VkIHRvIGtlcm5lbCB2aWEKKyAqIGJvb3RfcGFyYW1zLmU4MjBfbWFwLCBvdGhlcnMgYXJlIHBhc3NlZCB2aWEgU0VUVVBfRTgyMF9FWFQgbm9kZSBvZgorICogbGlua2VkIGxpc3Qgb2Ygc3RydWN0IHNldHVwX2RhdGEsIHdoaWNoIGlzIHBhcnNlZCBoZXJlLgorICovCit2b2lkIF9faW5pdCBwYXJzZV9lODIwX2V4dChzdHJ1Y3Qgc2V0dXBfZGF0YSAqc2RhdGEsIHVuc2lnbmVkIGxvbmcgcGFfZGF0YSkKK3sKKwl1MzIgbWFwX2xlbjsKKwlpbnQgZW50cmllczsKKwlzdHJ1Y3QgZTgyMGVudHJ5ICpleHRtYXA7CisKKwllbnRyaWVzID0gc2RhdGEtPmxlbiAvIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KTsKKwltYXBfbGVuID0gc2RhdGEtPmxlbiArIHNpemVvZihzdHJ1Y3Qgc2V0dXBfZGF0YSk7CisJaWYgKG1hcF9sZW4gPiBQQUdFX1NJWkUpCisJCXNkYXRhID0gZWFybHlfaW9yZW1hcChwYV9kYXRhLCBtYXBfbGVuKTsKKwlleHRtYXAgPSAoc3RydWN0IGU4MjBlbnRyeSAqKShzZGF0YS0+ZGF0YSk7CisJX19hcHBlbmRfZTgyMF9tYXAoZXh0bWFwLCBlbnRyaWVzKTsKKwlzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZlODIwLm5yX21hcCk7CisJaWYgKG1hcF9sZW4gPiBQQUdFX1NJWkUpCisJCWVhcmx5X2lvdW5tYXAoc2RhdGEsIG1hcF9sZW4pOworCXByaW50ayhLRVJOX0lORk8gImV4dGVuZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCgiZXh0ZW5kZWQiKTsKK30KKworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgfHwgXAorCShkZWZpbmVkKENPTkZJR19YODZfMzIpICYmIGRlZmluZWQoQ09ORklHX0hJQkVSTkFUSU9OKSkKKy8qKgorICogRmluZCB0aGUgcmFuZ2VzIG9mIHBoeXNpY2FsIGFkZHJlc3NlcyB0aGF0IGRvIG5vdCBjb3JyZXNwb25kIHRvCisgKiBlODIwIFJBTSBhcmVhcyBhbmQgbWFyayB0aGUgY29ycmVzcG9uZGluZyBwYWdlcyBhcyBub3NhdmUgZm9yCisgKiBoaWJlcm5hdGlvbiAoMzIgYml0KSBvciBzb2Z0d2FyZSBzdXNwZW5kIGFuZCBzdXNwZW5kIHRvIFJBTSAoNjQgYml0KS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoZSBlODIwIG1hcCB0byBiZSBzb3J0ZWQgYW5kIHdpdGhvdXQgYW55CisgKiBvdmVybGFwcGluZyBlbnRyaWVzIGFuZCBhc3N1bWVzIHRoZSBmaXJzdCBlODIwIGFyZWEgdG8gYmUgUkFNLgorICovCit2b2lkIF9faW5pdCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModW5zaWduZWQgbG9uZyBsaW1pdF9wZm4pCit7CisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBwZm47CisKKwlwZm4gPSBQRk5fRE9XTihlODIwLm1hcFswXS5hZGRyICsgZTgyMC5tYXBbMF0uc2l6ZSk7CisJZm9yIChpID0gMTsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisKKwkJaWYgKHBmbiA8IFBGTl9VUChlaS0+YWRkcikpCisJCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKHBmbiwgUEZOX1VQKGVpLT5hZGRyKSk7CisKKwkJcGZuID0gUEZOX0RPV04oZWktPmFkZHIgKyBlaS0+c2l6ZSk7CisJCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSAmJiBlaS0+dHlwZSAhPSBFODIwX1JFU0VSVkVEX0tFUk4pCisJCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKFBGTl9VUChlaS0+YWRkciksIHBmbik7CisKKwkJaWYgKHBmbiA+PSBsaW1pdF9wZm4pCisJCQlicmVhazsKKwl9Cit9CisjZW5kaWYKKworLyoKKyAqIEVhcmx5IHJlc2VydmVkIG1lbW9yeSBhcmVhcy4KKyAqLworI2RlZmluZSBNQVhfRUFSTFlfUkVTIDIwCisKK3N0cnVjdCBlYXJseV9yZXMgeworCXU2NCBzdGFydCwgZW5kOworCWNoYXIgbmFtZVsxNl07CisJY2hhciBvdmVybGFwX29rOworfTsKK3N0YXRpYyBzdHJ1Y3QgZWFybHlfcmVzIGVhcmx5X3Jlc1tNQVhfRUFSTFlfUkVTXSBfX2luaXRkYXRhID0geworCXsgMCwgUEFHRV9TSVpFLCAiQklPUyBkYXRhIHBhZ2UiIH0sCS8qIEJJT1MgZGF0YSBwYWdlICovCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzY0KSAmJiBkZWZpbmVkKENPTkZJR19YODZfVFJBTVBPTElORSkKKwl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgMiAqIFBBR0VfU0laRSwgIlRSQU1QT0xJTkUiIH0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfMzIpICYmIGRlZmluZWQoQ09ORklHX1NNUCkKKwkvKgorCSAqIEJ1dCBmaXJzdCBwaW5jaCBhIGZldyBmb3IgdGhlIHN0YWNrL3RyYW1wb2xpbmUgc3R1ZmYKKwkgKiBGSVhNRTogRG9uJ3QgbmVlZCB0aGUgZXh0cmEgcGFnZSBhdCA0SywgYnV0IG5lZWQgdG8gZml4CisJICogdHJhbXBvbGluZSBiZWZvcmUgcmVtb3ZpbmcgaXQuIChzZWUgdGhlIEdEVCBzdHVmZikKKwkgKi8KKwl7IFBBR0VfU0laRSwgUEFHRV9TSVpFICsgUEFHRV9TSVpFLCAiRVggVFJBTVBPTElORSIgfSwKKwkvKgorCSAqIEhhcyB0byBiZSBpbiB2ZXJ5IGxvdyBtZW1vcnkgc28gd2UgY2FuIGV4ZWN1dGUKKwkgKiByZWFsLW1vZGUgQVAgY29kZS4KKwkgKi8KKwl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgUEFHRV9TSVpFLCAiVFJBTVBPTElORSIgfSwKKyNlbmRpZgorCXt9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBmaW5kX292ZXJsYXBwZWRfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCWludCBpOworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKKwkJciA9ICZlYXJseV9yZXNbaV07CisJCWlmIChlbmQgPiByLT5zdGFydCAmJiBzdGFydCA8IHItPmVuZCkKKwkJCWJyZWFrOworCX0KKworCXJldHVybiBpOworfQorCisvKgorICogRHJvcCB0aGUgaS10aCByYW5nZSBmcm9tIHRoZSBlYXJseSByZXNlcnZhdGlvbiBtYXAsCisgKiBieSBjb3B5aW5nIGFueSBoaWdoZXIgcmFuZ2VzIGRvd24gb25lIG92ZXIgaXQsIGFuZAorICogY2xlYXJpbmcgd2hhdCBoYWQgYmVlbiB0aGUgbGFzdCBzbG90LgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgZHJvcF9yYW5nZShpbnQgaSkKK3sKKwlpbnQgajsKKworCWZvciAoaiA9IGkgKyAxOyBqIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbal0uZW5kOyBqKyspCisJCTsKKworCW1lbW1vdmUoJmVhcmx5X3Jlc1tpXSwgJmVhcmx5X3Jlc1tpICsgMV0sCisJICAgICAgIChqIC0gMSAtIGkpICogc2l6ZW9mKHN0cnVjdCBlYXJseV9yZXMpKTsKKworCWVhcmx5X3Jlc1tqIC0gMV0uZW5kID0gMDsKK30KKworLyoKKyAqIFNwbGl0IGFueSBleGlzdGluZyByYW5nZXMgdGhhdDoKKyAqICAxKSBhcmUgbWFya2VkICdvdmVybGFwX29rJywgYW5kCisgKiAgMikgb3ZlcmxhcCB3aXRoIHRoZSBzdGF0ZWQgcmFuZ2UgW3N0YXJ0LCBlbmQpCisgKiBpbnRvIHdoYXRldmVyIHBvcnRpb24gKGlmIGFueSkgb2YgdGhlIGV4aXN0aW5nIHJhbmdlIGlzIGVudGlyZWx5CisgKiBiZWxvdyBvciBlbnRpcmVseSBhYm92ZSB0aGUgc3RhdGVkIHJhbmdlLiAgRHJvcCB0aGUgcG9ydGlvbgorICogb2YgdGhlIGV4aXN0aW5nIHJhbmdlIHRoYXQgb3ZlcmxhcHMgd2l0aCB0aGUgc3RhdGVkIHJhbmdlLAorICogd2hpY2ggd2lsbCBhbGxvdyB0aGUgY2FsbGVyIG9mIHRoaXMgcm91dGluZSB0byB0aGVuIGFkZCB0aGF0CisgKiBzdGF0ZWQgcmFuZ2Ugd2l0aG91dCBjb25mbGljdGluZyB3aXRoIGFueSBleGlzdGluZyByYW5nZS4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IGRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2sodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCWludCBpOworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisJdTY0IGxvd2VyX3N0YXJ0LCBsb3dlcl9lbmQ7CisJdTY0IHVwcGVyX3N0YXJ0LCB1cHBlcl9lbmQ7CisJY2hhciBuYW1lWzE2XTsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgeworCQlyID0gJmVhcmx5X3Jlc1tpXTsKKworCQkvKiBDb250aW51ZSBwYXN0IG5vbi1vdmVybGFwcGluZyByYW5nZXMgKi8KKwkJaWYgKGVuZCA8PSByLT5zdGFydCB8fCBzdGFydCA+PSByLT5lbmQpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBMZWF2ZSBub24tb2sgb3ZlcmxhcHMgYXMgaXM7IGxldCBjYWxsZXIKKwkJICogcGFuaWMgIk92ZXJsYXBwaW5nIGVhcmx5IHJlc2VydmF0aW9ucyIKKwkJICogd2hlbiBpdCBoaXRzIHRoaXMgb3ZlcmxhcC4KKwkJICovCisJCWlmICghci0+b3ZlcmxhcF9vaykKKwkJCXJldHVybjsKKworCQkvKgorCQkgKiBXZSBoYXZlIGFuIG9rIG92ZXJsYXAuICBXZSB3aWxsIGRyb3AgaXQgZnJvbSB0aGUgZWFybHkKKwkJICogcmVzZXJ2YXRpb24gbWFwLCBhbmQgYWRkIGJhY2sgaW4gYW55IG5vbi1vdmVybGFwcGluZworCQkgKiBwb3J0aW9ucyAobG93ZXIgb3IgdXBwZXIpIGFzIHNlcGFyYXRlLCBvdmVybGFwX29rLAorCQkgKiBub24tb3ZlcmxhcHBpbmcgcmFuZ2VzLgorCQkgKi8KKworCQkvKiAxLiBOb3RlIGFueSBub24tb3ZlcmxhcHBpbmcgKGxvd2VyIG9yIHVwcGVyKSByYW5nZXMuICovCisJCXN0cm5jcHkobmFtZSwgci0+bmFtZSwgc2l6ZW9mKG5hbWUpIC0gMSk7CisKKwkJbG93ZXJfc3RhcnQgPSBsb3dlcl9lbmQgPSAwOworCQl1cHBlcl9zdGFydCA9IHVwcGVyX2VuZCA9IDA7CisJCWlmIChyLT5zdGFydCA8IHN0YXJ0KSB7CisJCSAJbG93ZXJfc3RhcnQgPSByLT5zdGFydDsKKwkJCWxvd2VyX2VuZCA9IHN0YXJ0OworCQl9CisJCWlmIChyLT5lbmQgPiBlbmQpIHsKKwkJCXVwcGVyX3N0YXJ0ID0gZW5kOworCQkJdXBwZXJfZW5kID0gci0+ZW5kOworCQl9CisKKwkJLyogMi4gRHJvcCB0aGUgb3JpZ2luYWwgb2sgb3ZlcmxhcHBpbmcgcmFuZ2UgKi8KKwkJZHJvcF9yYW5nZShpKTsKKworCQlpLS07CQkvKiByZXN1bWUgZm9yLWxvb3Agb24gY29waWVkIGRvd24gZW50cnkgKi8KKworCQkvKiAzLiBBZGQgYmFjayBpbiBhbnkgbm9uLW92ZXJsYXBwaW5nIHJhbmdlcy4gKi8KKwkJaWYgKGxvd2VyX2VuZCkKKwkJCXJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayhsb3dlcl9zdGFydCwgbG93ZXJfZW5kLCBuYW1lKTsKKwkJaWYgKHVwcGVyX2VuZCkKKwkJCXJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayh1cHBlcl9zdGFydCwgdXBwZXJfZW5kLCBuYW1lKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBfX3Jlc2VydmVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lLAorCQkJCQkJaW50IG92ZXJsYXBfb2spCit7CisJaW50IGk7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKKworCWkgPSBmaW5kX292ZXJsYXBwZWRfZWFybHkoc3RhcnQsIGVuZCk7CisJaWYgKGkgPj0gTUFYX0VBUkxZX1JFUykKKwkJcGFuaWMoIlRvbyBtYW55IGVhcmx5IHJlc2VydmF0aW9ucyIpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChyLT5lbmQpCisJCXBhbmljKCJPdmVybGFwcGluZyBlYXJseSByZXNlcnZhdGlvbnMgIgorCQkgICAgICAiJWxseC0lbGx4ICVzIHRvICVsbHgtJWxseCAlc1xuIiwKKwkJICAgICAgc3RhcnQsIGVuZCAtIDEsIG5hbWU/bmFtZToiIiwgci0+c3RhcnQsCisJCSAgICAgIHItPmVuZCAtIDEsIHItPm5hbWUpOworCXItPnN0YXJ0ID0gc3RhcnQ7CisJci0+ZW5kID0gZW5kOworCXItPm92ZXJsYXBfb2sgPSBvdmVybGFwX29rOworCWlmIChuYW1lKQorCQlzdHJuY3B5KHItPm5hbWUsIG5hbWUsIHNpemVvZihyLT5uYW1lKSAtIDEpOworfQorCisvKgorICogQSBmZXcgZWFybHkgcmVzZXJ2dGF0aW9ucyBjb21lIGhlcmUuCisgKgorICogVGhlICdvdmVybGFwX29rJyBpbiB0aGUgbmFtZSBvZiB0aGlzIHJvdXRpbmUgZG9lcyAtbm90LSBtZWFuIGl0CisgKiBpcyBvayBmb3IgdGhlc2UgcmVzZXJ2YXRpb25zIHRvIG92ZXJsYXAgYW4gZWFybGllciByZXNlcnZhdGlvbi4KKyAqIFJhdGhlciBpdCBtZWFucyB0aGF0IGl0IGlzIG9rIGZvciBzdWJzZXF1ZW50IHJlc2VydmF0aW9ucyB0bworICogb3ZlcmxhcCB0aGlzIG9uZS4KKyAqCisgKiBVc2UgdGhpcyBlbnRyeSBwb2ludCB0byByZXNlcnZlIGVhcmx5IHJhbmdlcyB3aGVuIHlvdSBhcmUgZG9pbmcKKyAqIHNvIG91dCBvZiAiUGFyYW5vaWEiLCByZXNlcnZpbmcgcGVyaGFwcyBtb3JlIG1lbW9yeSB0aGFuIHlvdSBuZWVkLAorICoganVzdCBpbiBjYXNlLCBhbmQgZG9uJ3QgbWluZCBhIHN1YnNlcXVlbnQgb3ZlcmxhcHBpbmcgcmVzZXJ2YXRpb24KKyAqIHRoYXQgaXMga25vd24gdG8gYmUgbmVlZGVkLgorICoKKyAqIFRoZSBkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKCkgY2FsbCBoZXJlIGlzbid0IHJlYWxseSBuZWVkZWQuCisgKiBJdCB3b3VsZCBiZSBuZWVkZWQgaWYgd2UgaGFkIHR3byBjb2xsaWRpbmcgJ292ZXJsYXBfb2snCisgKiByZXNlcnZhdGlvbnMsIHNvIHRoYXQgdGhlIHNlY29uZCBzdWNoIHdvdWxkIG5vdCBwYW5pYyBvbiB0aGUKKyAqIG92ZXJsYXAgd2l0aCB0aGUgZmlyc3QuICBXZSBkb24ndCBoYXZlIGFueSBzdWNoIGFzIG9mIHRoaXMKKyAqIHdyaXRpbmcsIGJ1dCBtaWdodCBhcyB3ZWxsIHRvbGVyYXRlIHN1Y2ggaWYgaXQgaGFwcGVucyBpbgorICogdGhlIGZ1dHVyZS4KKyAqLwordm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKHU2NCBzdGFydCwgdTY0IGVuZCwgY2hhciAqbmFtZSkKK3sKKwlkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKHN0YXJ0LCBlbmQpOworCV9fcmVzZXJ2ZV9lYXJseShzdGFydCwgZW5kLCBuYW1lLCAxKTsKK30KKworLyoKKyAqIE1vc3QgZWFybHkgcmVzZXJ2YXRpb25zIGNvbWUgaGVyZS4KKyAqCisgKiBXZSBmaXJzdCBoYXZlIGRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2soKSBkcm9wIGFueSBwcmUtZXhpc3RpbmcKKyAqICdvdmVybGFwX29rJyByYW5nZXMsIHNvIHRoYXQgd2UgY2FuIHRoZW4gcmVzZXJ2ZSB0aGlzIG1lbW9yeQorICogcmFuZ2Ugd2l0aG91dCByaXNrIG9mIHBhbmljJ2luZyBvbiBhbiBvdmVybGFwcGluZyBvdmVybGFwX29rCisgKiBlYXJseSByZXNlcnZhdGlvbi4KKyAqLwordm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUpCit7CisJZHJvcF9vdmVybGFwc190aGF0X2FyZV9vayhzdGFydCwgZW5kKTsKKwlfX3Jlc2VydmVfZWFybHkoc3RhcnQsIGVuZCwgbmFtZSwgMCk7Cit9CisKK3ZvaWQgX19pbml0IGZyZWVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisJaW50IGk7CisKKwlpID0gZmluZF9vdmVybGFwcGVkX2Vhcmx5KHN0YXJ0LCBlbmQpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChpID49IE1BWF9FQVJMWV9SRVMgfHwgci0+ZW5kICE9IGVuZCB8fCByLT5zdGFydCAhPSBzdGFydCkKKwkJcGFuaWMoImZyZWVfZWFybHkgb24gbm90IHJlc2VydmVkIGFyZWE6ICVsbHgtJWxseCEiLAorCQkJIHN0YXJ0LCBlbmQgLSAxKTsKKworCWRyb3BfcmFuZ2UoaSk7Cit9CisKK3ZvaWQgX19pbml0IGVhcmx5X3Jlc190b19ib290bWVtKHU2NCBzdGFydCwgdTY0IGVuZCkKK3sKKwlpbnQgaSwgY291bnQ7CisJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7CisKKwljb3VudCAgPSAwOworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykKKwkJY291bnQrKzsKKworCXByaW50ayhLRVJOX0lORk8gIiglZCBlYXJseSByZXNlcnZhdGlvbnMpID09PiBib290bWVtXG4iLCBjb3VudCk7CisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07CisJCXByaW50ayhLRVJOX0lORk8gIiAgIyVkIFslMDEwbGx4IC0gJTAxMGxseF0gJTE2cyIsIGksCisJCQlyLT5zdGFydCwgci0+ZW5kLCByLT5uYW1lKTsKKwkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIHItPnN0YXJ0KTsKKwkJZmluYWxfZW5kID0gbWluKGVuZCwgci0+ZW5kKTsKKwkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkgeworCQkJcHJpbnRrKEtFUk5fQ09OVCAiXG4iKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXByaW50ayhLRVJOX0NPTlQgIiA9PT4gWyUwMTBsbHggLSAlMDEwbGx4XVxuIiwKKwkJCWZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQpOworCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQsCisJCQkJQk9PVE1FTV9ERUZBVUxUKTsKKwl9Cit9CisKKy8qIENoZWNrIGZvciBhbHJlYWR5IHJlc2VydmVkIGFyZWFzICovCitzdGF0aWMgaW5saW5lIGludCBfX2luaXQgYmFkX2FkZHIodTY0ICphZGRycCwgdTY0IHNpemUsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKwl1NjQgYWRkciA9ICphZGRycDsKKwlpbnQgY2hhbmdlZCA9IDA7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKK2FnYWluOgorCWkgPSBmaW5kX292ZXJsYXBwZWRfZWFybHkoYWRkciwgYWRkciArIHNpemUpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChpIDwgTUFYX0VBUkxZX1JFUyAmJiByLT5lbmQpIHsKKwkJKmFkZHJwID0gYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOworCQljaGFuZ2VkID0gMTsKKwkJZ290byBhZ2FpbjsKKwl9CisJcmV0dXJuIGNoYW5nZWQ7Cit9CisKKy8qIENoZWNrIGZvciBhbHJlYWR5IHJlc2VydmVkIGFyZWFzICovCitzdGF0aWMgaW5saW5lIGludCBfX2luaXQgYmFkX2FkZHJfc2l6ZSh1NjQgKmFkZHJwLCB1NjQgKnNpemVwLCB1NjQgYWxpZ24pCit7CisJaW50IGk7CisJdTY0IGFkZHIgPSAqYWRkcnAsIGxhc3Q7CisJdTY0IHNpemUgPSAqc2l6ZXA7CisJaW50IGNoYW5nZWQgPSAwOworYWdhaW46CisJbGFzdCA9IGFkZHIgKyBzaXplOworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgeworCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKKwkJaWYgKGxhc3QgPiByLT5zdGFydCAmJiBhZGRyIDwgci0+c3RhcnQpIHsKKwkJCXNpemUgPSByLT5zdGFydCAtIGFkZHI7CisJCQljaGFuZ2VkID0gMTsKKwkJCWdvdG8gYWdhaW47CisJCX0KKwkJaWYgKGxhc3QgPiByLT5lbmQgJiYgYWRkciA8IHItPmVuZCkgeworCQkJYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOworCQkJc2l6ZSA9IGxhc3QgLSBhZGRyOworCQkJY2hhbmdlZCA9IDE7CisJCQlnb3RvIGFnYWluOworCQl9CisJCWlmIChsYXN0IDw9IHItPmVuZCAmJiBhZGRyID49IHItPnN0YXJ0KSB7CisJCQkoKnNpemVwKSsrOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJaWYgKGNoYW5nZWQpIHsKKwkJKmFkZHJwID0gYWRkcjsKKwkJKnNpemVwID0gc2l6ZTsKKwl9CisJcmV0dXJuIGNoYW5nZWQ7Cit9CisKKy8qCisgKiBGaW5kIGEgZnJlZSBhcmVhIHdpdGggc3BlY2lmaWVkIGFsaWdubWVudCBpbiBhIHNwZWNpZmljIHJhbmdlLgorICovCit1NjQgX19pbml0IGZpbmRfZTgyMF9hcmVhKHU2NCBzdGFydCwgdTY0IGVuZCwgdTY0IHNpemUsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1NjQgYWRkciwgbGFzdDsKKwkJdTY0IGVpX2xhc3Q7CisKKwkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQorCQkJY29udGludWU7CisJCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOworCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJaWYgKGFkZHIgPCBzdGFydCkKKwkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOworCQlpZiAoYWRkciA+PSBlaV9sYXN0KQorCQkJY29udGludWU7CisJCXdoaWxlIChiYWRfYWRkcigmYWRkciwgc2l6ZSwgYWxpZ24pICYmIGFkZHIrc2l6ZSA8PSBlaV9sYXN0KQorCQkJOworCQlsYXN0ID0gYWRkciArIHNpemU7CisJCWlmIChsYXN0ID4gZWlfbGFzdCkKKwkJCWNvbnRpbnVlOworCQlpZiAobGFzdCA+IGVuZCkKKwkJCWNvbnRpbnVlOworCQlyZXR1cm4gYWRkcjsKKwl9CisJcmV0dXJuIC0xVUxMOworfQorCisvKgorICogRmluZCBuZXh0IGZyZWUgcmFuZ2UgYWZ0ZXIgKnN0YXJ0CisgKi8KK3U2NCBfX2luaXQgZmluZF9lODIwX2FyZWFfc2l6ZSh1NjQgc3RhcnQsIHU2NCAqc2l6ZXAsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1NjQgYWRkciwgbGFzdDsKKwkJdTY0IGVpX2xhc3Q7CisKKwkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQorCQkJY29udGludWU7CisJCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOworCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJaWYgKGFkZHIgPCBzdGFydCkKKwkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOworCQlpZiAoYWRkciA+PSBlaV9sYXN0KQorCQkJY29udGludWU7CisJCSpzaXplcCA9IGVpX2xhc3QgLSBhZGRyOworCQl3aGlsZSAoYmFkX2FkZHJfc2l6ZSgmYWRkciwgc2l6ZXAsIGFsaWduKSAmJgorCQkJYWRkciArICpzaXplcCA8PSBlaV9sYXN0KQorCQkJOworCQlsYXN0ID0gYWRkciArICpzaXplcDsKKwkJaWYgKGxhc3QgPiBlaV9sYXN0KQorCQkJY29udGludWU7CisJCXJldHVybiBhZGRyOworCX0KKwlyZXR1cm4gLTFVTDsKKworfQorCisvKgorICogcHJlIGFsbG9jYXRlZCA0ayBhbmQgcmVzZXJ2ZWQgaXQgaW4gZTgyMAorICovCit1NjQgX19pbml0IGVhcmx5X3Jlc2VydmVfZTgyMCh1NjQgc3RhcnR0LCB1NjQgc2l6ZXQsIHU2NCBhbGlnbikKK3sKKwl1NjQgc2l6ZSA9IDA7CisJdTY0IGFkZHI7CisJdTY0IHN0YXJ0OworCisJc3RhcnQgPSBzdGFydHQ7CisJd2hpbGUgKHNpemUgPCBzaXpldCkKKwkJc3RhcnQgPSBmaW5kX2U4MjBfYXJlYV9zaXplKHN0YXJ0LCAmc2l6ZSwgYWxpZ24pOworCisJaWYgKHNpemUgPCBzaXpldCkKKwkJcmV0dXJuIDA7CisKKwlhZGRyID0gcm91bmRfZG93bihzdGFydCArIHNpemUgLSBzaXpldCwgYWxpZ24pOworCWU4MjBfdXBkYXRlX3JhbmdlKGFkZHIsIHNpemV0LCBFODIwX1JBTSwgRTgyMF9SRVNFUlZFRCk7CisJZTgyMF91cGRhdGVfcmFuZ2Vfc2F2ZWQoYWRkciwgc2l6ZXQsIEU4MjBfUkFNLCBFODIwX1JFU0VSVkVEKTsKKwlwcmludGsoS0VSTl9JTkZPICJ1cGRhdGUgZTgyMCBmb3IgZWFybHlfcmVzZXJ2ZV9lODIwXG4iKTsKKwl1cGRhdGVfZTgyMCgpOworCXVwZGF0ZV9lODIwX3NhdmVkKCk7CisKKwlyZXR1cm4gYWRkcjsKK30KKworI2lmZGVmIENPTkZJR19YODZfMzIKKyMgaWZkZWYgQ09ORklHX1g4Nl9QQUUKKyMgIGRlZmluZSBNQVhfQVJDSF9QRk4JCSgxVUxMPDwoMzYtUEFHRV9TSElGVCkpCisjIGVsc2UKKyMgIGRlZmluZSBNQVhfQVJDSF9QRk4JCSgxVUxMPDwoMzItUEFHRV9TSElGVCkpCisjIGVuZGlmCisjZWxzZSAvKiBDT05GSUdfWDg2XzMyICovCisjIGRlZmluZSBNQVhfQVJDSF9QRk4gTUFYTUVNPj5QQUdFX1NISUZUCisjZW5kaWYKKworLyoKKyAqIEZpbmQgdGhlIGhpZ2hlc3QgcGFnZSBmcmFtZSBudW1iZXIgd2UgaGF2ZSBhdmFpbGFibGUKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX3Bmbih1bnNpZ25lZCBsb25nIGxpbWl0X3BmbiwgdW5zaWduZWQgdHlwZSkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIGxhc3RfcGZuID0gMDsKKwl1bnNpZ25lZCBsb25nIG1heF9hcmNoX3BmbiA9IE1BWF9BUkNIX1BGTjsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbjsKKwkJdW5zaWduZWQgbG9uZyBlbmRfcGZuOworCisJCWlmIChlaS0+dHlwZSAhPSB0eXBlKQorCQkJY29udGludWU7CisKKwkJc3RhcnRfcGZuID0gZWktPmFkZHIgPj4gUEFHRV9TSElGVDsKKwkJZW5kX3BmbiA9IChlaS0+YWRkciArIGVpLT5zaXplKSA+PiBQQUdFX1NISUZUOworCisJCWlmIChzdGFydF9wZm4gPj0gbGltaXRfcGZuKQorCQkJY29udGludWU7CisJCWlmIChlbmRfcGZuID4gbGltaXRfcGZuKSB7CisJCQlsYXN0X3BmbiA9IGxpbWl0X3BmbjsKKwkJCWJyZWFrOworCQl9CisJCWlmIChlbmRfcGZuID4gbGFzdF9wZm4pCisJCQlsYXN0X3BmbiA9IGVuZF9wZm47CisJfQorCisJaWYgKGxhc3RfcGZuID4gbWF4X2FyY2hfcGZuKQorCQlsYXN0X3BmbiA9IG1heF9hcmNoX3BmbjsKKworCXByaW50ayhLRVJOX0lORk8gImxhc3RfcGZuID0gJSNseCBtYXhfYXJjaF9wZm4gPSAlI2x4XG4iLAorCQkJIGxhc3RfcGZuLCBtYXhfYXJjaF9wZm4pOworCXJldHVybiBsYXN0X3BmbjsKK30KK3Vuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX29mX3JhbV9wZm4odm9pZCkKK3sKKwlyZXR1cm4gZTgyMF9lbmRfcGZuKE1BWF9BUkNIX1BGTiwgRTgyMF9SQU0pOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdCBlODIwX2VuZF9vZl9sb3dfcmFtX3Bmbih2b2lkKQoreworCXJldHVybiBlODIwX2VuZF9wZm4oMVVMPDwoMzIgLSBQQUdFX1NISUZUKSwgRTgyMF9SQU0pOworfQorLyoKKyAqIEZpbmRzIGFuIGFjdGl2ZSByZWdpb24gaW4gdGhlIGFkZHJlc3MgcmFuZ2UgZnJvbSBzdGFydF9wZm4gdG8gbGFzdF9wZm4gYW5kCisgKiByZXR1cm5zIGl0cyByYW5nZSBpbiBlaV9zdGFydHBmbiBhbmQgZWlfZW5kcGZuIGZvciB0aGUgZTgyMCBlbnRyeS4KKyAqLworaW50IF9faW5pdCBlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbihjb25zdCBzdHJ1Y3QgZTgyMGVudHJ5ICplaSwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBsYXN0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfZW5kcGZuKQoreworCXU2NCBhbGlnbiA9IFBBR0VfU0laRTsKKworCSplaV9zdGFydHBmbiA9IHJvdW5kX3VwKGVpLT5hZGRyLCBhbGlnbikgPj4gUEFHRV9TSElGVDsKKwkqZWlfZW5kcGZuID0gcm91bmRfZG93bihlaS0+YWRkciArIGVpLT5zaXplLCBhbGlnbikgPj4gUEFHRV9TSElGVDsKKworCS8qIFNraXAgbWFwIGVudHJpZXMgc21hbGxlciB0aGFuIGEgcGFnZSAqLworCWlmICgqZWlfc3RhcnRwZm4gPj0gKmVpX2VuZHBmbikKKwkJcmV0dXJuIDA7CisKKwkvKiBTa2lwIGlmIG1hcCBpcyBvdXRzaWRlIHRoZSBub2RlICovCisJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNIHx8ICplaV9lbmRwZm4gPD0gc3RhcnRfcGZuIHx8CisJCQkJICAgICplaV9zdGFydHBmbiA+PSBsYXN0X3BmbikKKwkJcmV0dXJuIDA7CisKKwkvKiBDaGVjayBmb3Igb3ZlcmxhcHMgKi8KKwlpZiAoKmVpX3N0YXJ0cGZuIDwgc3RhcnRfcGZuKQorCQkqZWlfc3RhcnRwZm4gPSBzdGFydF9wZm47CisJaWYgKCplaV9lbmRwZm4gPiBsYXN0X3BmbikKKwkJKmVpX2VuZHBmbiA9IGxhc3RfcGZuOworCisJcmV0dXJuIDE7Cit9CisKKy8qIFdhbGsgdGhlIGU4MjAgbWFwIGFuZCByZWdpc3RlciBhY3RpdmUgcmVnaW9ucyB3aXRoaW4gYSBub2RlICovCit2b2lkIF9faW5pdCBlODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBsYXN0X3BmbikKK3sKKwl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuOworCXVuc2lnbmVkIGxvbmcgZWlfZW5kcGZuOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspCisJCWlmIChlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbigmZTgyMC5tYXBbaV0sCisJCQkJCSAgICBzdGFydF9wZm4sIGxhc3RfcGZuLAorCQkJCQkgICAgJmVpX3N0YXJ0cGZuLCAmZWlfZW5kcGZuKSkKKwkJCWFkZF9hY3RpdmVfcmFuZ2UobmlkLCBlaV9zdGFydHBmbiwgZWlfZW5kcGZuKTsKK30KKworLyoKKyAqIEZpbmQgdGhlIGhvbGUgc2l6ZSAoaW4gYnl0ZXMpIGluIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAc3RhcnQ6IHN0YXJ0aW5nIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSB0byBzY2FuCisgKiBAZW5kOiBlbmRpbmcgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIHRvIHNjYW4KKyAqLwordTY0IF9faW5pdCBlODIwX2hvbGVfc2l6ZSh1NjQgc3RhcnQsIHU2NCBlbmQpCit7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOworCXVuc2lnbmVkIGxvbmcgbGFzdF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKKwl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuLCBlaV9lbmRwZm4sIHJhbSA9IDA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlpZiAoZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oJmU4MjAubWFwW2ldLAorCQkJCQkgICAgc3RhcnRfcGZuLCBsYXN0X3BmbiwKKwkJCQkJICAgICZlaV9zdGFydHBmbiwgJmVpX2VuZHBmbikpCisJCQlyYW0gKz0gZWlfZW5kcGZuIC0gZWlfc3RhcnRwZm47CisJfQorCXJldHVybiBlbmQgLSBzdGFydCAtICgodTY0KXJhbSA8PCBQQUdFX1NISUZUKTsKK30KKworc3RhdGljIHZvaWQgZWFybHlfcGFuaWMoY2hhciAqbXNnKQoreworCWVhcmx5X3ByaW50ayhtc2cpOworCXBhbmljKG1zZyk7Cit9CisKK3N0YXRpYyBpbnQgdXNlcmRlZiBfX2luaXRkYXRhOworCisvKiAibWVtPW5vcGVudGl1bSIgZGlzYWJsZXMgdGhlIDRNQiBwYWdlIHRhYmxlcy4gKi8KK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX21lbW9wdChjaGFyICpwKQoreworCXU2NCBtZW1fc2l6ZTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJaWYgKCFzdHJjbXAocCwgIm5vcGVudGl1bSIpKSB7CisJCXNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfUFNFKTsKKwkJcmV0dXJuIDA7CisJfQorI2VuZGlmCisKKwl1c2VyZGVmID0gMTsKKwltZW1fc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKKwllODIwX3JlbW92ZV9yYW5nZShtZW1fc2l6ZSwgVUxMT05HX01BWCAtIG1lbV9zaXplLCBFODIwX1JBTSwgMSk7CisKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJtZW0iLCBwYXJzZV9tZW1vcHQpOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXBfb3B0KGNoYXIgKnApCit7CisJY2hhciAqb2xkcDsKKwl1NjQgc3RhcnRfYXQsIG1lbV9zaXplOworCisJaWYgKCFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghc3RyY21wKHAsICJleGFjdG1hcCIpKSB7CisjaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKKwkJLyoKKwkJICogSWYgd2UgYXJlIGRvaW5nIGEgY3Jhc2ggZHVtcCwgd2Ugc3RpbGwgbmVlZCB0byBrbm93CisJCSAqIHRoZSByZWFsIG1lbSBzaXplIGJlZm9yZSBvcmlnaW5hbCBtZW1vcnkgbWFwIGlzCisJCSAqIHJlc2V0LgorCQkgKi8KKwkJc2F2ZWRfbWF4X3BmbiA9IGU4MjBfZW5kX29mX3JhbV9wZm4oKTsKKyNlbmRpZgorCQllODIwLm5yX21hcCA9IDA7CisJCXVzZXJkZWYgPSAxOworCQlyZXR1cm4gMDsKKwl9CisKKwlvbGRwID0gcDsKKwltZW1fc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKKwlpZiAocCA9PSBvbGRwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXVzZXJkZWYgPSAxOworCWlmICgqcCA9PSAnQCcpIHsKKwkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOworCX0gZWxzZSBpZiAoKnAgPT0gJyMnKSB7CisJCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7CisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfQUNQSSk7CisJfSBlbHNlIGlmICgqcCA9PSAnJCcpIHsKKwkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CisJfSBlbHNlCisJCWU4MjBfcmVtb3ZlX3JhbmdlKG1lbV9zaXplLCBVTExPTkdfTUFYIC0gbWVtX3NpemUsIEU4MjBfUkFNLCAxKTsKKworCXJldHVybiAqcCA9PSAnXDAnID8gMCA6IC1FSU5WQUw7Cit9CitlYXJseV9wYXJhbSgibWVtbWFwIiwgcGFyc2VfbWVtbWFwX29wdCk7CisKK3ZvaWQgX19pbml0IGZpbmlzaF9lODIwX3BhcnNpbmcodm9pZCkKK3sKKwlpZiAodXNlcmRlZikgeworCQlpbnQgbnIgPSBlODIwLm5yX21hcDsKKworCQlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmbnIpIDwgMCkKKwkJCWVhcmx5X3BhbmljKCJJbnZhbGlkIHVzZXIgc3VwcGxpZWQgbWVtb3J5IG1hcCIpOworCQllODIwLm5yX21hcCA9IG5yOworCisJCXByaW50ayhLRVJOX0lORk8gInVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJCWU4MjBfcHJpbnRfbWFwKCJ1c2VyIik7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmU4MjBfdHlwZV90b19zdHJpbmcoaW50IGU4MjBfdHlwZSkKK3sKKwlzd2l0Y2ggKGU4MjBfdHlwZSkgeworCWNhc2UgRTgyMF9SRVNFUlZFRF9LRVJOOgorCWNhc2UgRTgyMF9SQU06CXJldHVybiAiU3lzdGVtIFJBTSI7CisJY2FzZSBFODIwX0FDUEk6CXJldHVybiAiQUNQSSBUYWJsZXMiOworCWNhc2UgRTgyMF9OVlM6CXJldHVybiAiQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZSI7CisJZGVmYXVsdDoJcmV0dXJuICJyZXNlcnZlZCI7CisJfQorfQorCisvKgorICogTWFyayBlODIwIHJlc2VydmVkIGFyZWFzIGFzIGJ1c3kgZm9yIHRoZSByZXNvdXJjZSBtYW5hZ2VyLgorICovCit2b2lkIF9faW5pdCBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKHZvaWQpCit7CisJaW50IGk7CisJc3RydWN0IHJlc291cmNlICpyZXM7CisJdTY0IGVuZDsKKworCXJlcyA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemVvZihzdHJ1Y3QgcmVzb3VyY2UpICogZTgyMC5ucl9tYXApOworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCWVuZCA9IGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplIC0gMTsKKyNpZm5kZWYgQ09ORklHX1JFU09VUkNFU182NEJJVAorCQlpZiAoZW5kID4gMHgxMDAwMDAwMDBVTEwpIHsKKwkJCXJlcysrOworCQkJY29udGludWU7CisJCX0KKyNlbmRpZgorCQlyZXMtPm5hbWUgPSBlODIwX3R5cGVfdG9fc3RyaW5nKGU4MjAubWFwW2ldLnR5cGUpOworCQlyZXMtPnN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKKwkJcmVzLT5lbmQgPSBlbmQ7CisKKwkJcmVzLT5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZOworCQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCByZXMpOworCQlyZXMrKzsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMF9zYXZlZC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplbnRyeSA9ICZlODIwX3NhdmVkLm1hcFtpXTsKKwkJZmlybXdhcmVfbWFwX2FkZF9lYXJseShlbnRyeS0+YWRkciwKKwkJCWVudHJ5LT5hZGRyICsgZW50cnktPnNpemUgLSAxLAorCQkJZTgyMF90eXBlX3RvX3N0cmluZyhlbnRyeS0+dHlwZSkpOworCX0KK30KKworLyoKKyAqIE5vbi1zdGFuZGFyZCBtZW1vcnkgc2V0dXAgY2FuIGJlIHNwZWNpZmllZCB2aWEgdGhpcyBxdWlyazoKKyAqLworY2hhciAqICgqYXJjaF9tZW1vcnlfc2V0dXBfcXVpcmspKHZvaWQpOworCitjaGFyICpfX2luaXQgZGVmYXVsdF9tYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQoreworCWNoYXIgKndobyA9ICJCSU9TLWU4MjAiOworCWludCBuZXdfbnI7CisJLyoKKwkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KKwkgKgorCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKKwkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1faworCSAqLworCW5ld19uciA9IGJvb3RfcGFyYW1zLmU4MjBfZW50cmllczsKKwlzYW5pdGl6ZV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwKKwkJCUFSUkFZX1NJWkUoYm9vdF9wYXJhbXMuZTgyMF9tYXApLAorCQkJJm5ld19ucik7CisJYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzID0gbmV3X25yOworCWlmIChhcHBlbmRfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcykKKwkgIDwgMCkgeworCQl1NjQgbWVtX3NpemU7CisKKwkJLyogY29tcGFyZSByZXN1bHRzIGZyb20gb3RoZXIgbWV0aG9kcyBhbmQgdGFrZSB0aGUgZ3JlYXRlciAqLworCQlpZiAoYm9vdF9wYXJhbXMuYWx0X21lbV9rCisJCSAgICA8IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1faykgeworCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2s7CisJCQl3aG8gPSAiQklPUy04OCI7CisJCX0gZWxzZSB7CisJCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKKwkJCXdobyA9ICJCSU9TLWU4MDEiOworCQl9CisKKwkJZTgyMC5ucl9tYXAgPSAwOworCQllODIwX2FkZF9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7CisJCWU4MjBfYWRkX3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgPDwgMTAsIEU4MjBfUkFNKTsKKwl9CisKKwkvKiBJbiBjYXNlIHNvbWVvbmUgY2FyZXMuLi4gKi8KKwlyZXR1cm4gd2hvOworfQorCitjaGFyICpfX2luaXQgX19hdHRyaWJ1dGVfXygod2VhaykpIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCit7CisJaWYgKGFyY2hfbWVtb3J5X3NldHVwX3F1aXJrKSB7CisJCWNoYXIgKndobyA9IGFyY2hfbWVtb3J5X3NldHVwX3F1aXJrKCk7CisKKwkJaWYgKHdobykKKwkJCXJldHVybiB3aG87CisJfQorCXJldHVybiBkZWZhdWx0X21hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Cit9CisKKy8qIE92ZXJyaWRkZW4gaW4gcGFyYXZpcnQuYyBpZiBDT05GSUdfUEFSQVZJUlQgKi8KK2NoYXIgKiBfX2luaXQgX19hdHRyaWJ1dGVfXygod2VhaykpIG1lbW9yeV9zZXR1cCh2b2lkKQoreworCXJldHVybiBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCgpOworfQorCit2b2lkIF9faW5pdCBzZXR1cF9tZW1vcnlfbWFwKHZvaWQpCit7CisJY2hhciAqd2hvOworCisJd2hvID0gbWVtb3J5X3NldHVwKCk7CisJbWVtY3B5KCZlODIwX3NhdmVkLCAmZTgyMCwgc2l6ZW9mKHN0cnVjdCBlODIwbWFwKSk7CisJcHJpbnRrKEtFUk5fSU5GTyAiQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJZTgyMF9wcmludF9tYXAod2hvKTsKK30KKworI2lmZGVmIENPTkZJR19YODZfNjQKK2ludCBfX2luaXQgYXJjaF9nZXRfcmFtX3JhbmdlKGludCBzbG90LCB1NjQgKmFkZHIsIHU2NCAqc2l6ZSkKK3sKKwlpbnQgaTsKKworCWlmIChzbG90IDwgMCB8fCBzbG90ID49IGU4MjAubnJfbWFwKQorCQlyZXR1cm4gLTE7CisJZm9yIChpID0gc2xvdDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCisJCQljb250aW51ZTsKKwkJYnJlYWs7CisJfQorCWlmIChpID09IGU4MjAubnJfbWFwIHx8IGU4MjAubWFwW2ldLmFkZHIgPiAobWF4X3BmbiA8PCBQQUdFX1NISUZUKSkKKwkJcmV0dXJuIC0xOworCSphZGRyID0gZTgyMC5tYXBbaV0uYWRkcjsKKwkqc2l6ZSA9IG1pbl90KHU2NCwgZTgyMC5tYXBbaV0uc2l6ZSArIGU4MjAubWFwW2ldLmFkZHIsCisJCW1heF9wZm4gPDwgUEFHRV9TSElGVCkgLSAqYWRkcjsKKwlyZXR1cm4gaSArIDE7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lODIwXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZTgyMF8zMi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDczM2U3Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9lODIwXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw3NzUgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvcGZuLmg+Ci0jaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KLQotI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vZTgyMC5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotCi1zdHJ1Y3QgZTgyMG1hcCBlODIwOwotc3RydWN0IGNoYW5nZV9tZW1iZXIgewotCXN0cnVjdCBlODIwZW50cnkgKnBiaW9zOyAvKiBwb2ludGVyIHRvIG9yaWdpbmFsIGJpb3MgZW50cnkgKi8KLQl1bnNpZ25lZCBsb25nIGxvbmcgYWRkcjsgLyogYWRkcmVzcyBmb3IgdGhpcyBjaGFuZ2UgcG9pbnQgKi8KLX07Ci1zdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgY2hhbmdlX3BvaW50X2xpc3RbMipFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyICpjaGFuZ2VfcG9pbnRbMipFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBlODIwZW50cnkgKm92ZXJsYXBfbGlzdFtFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBlODIwZW50cnkgbmV3X2Jpb3NbRTgyME1BWF0gX19pbml0ZGF0YTsKLS8qIEZvciBQQ0kgb3Igb3RoZXIgbWVtb3J5LW1hcHBlZCByZXNvdXJjZXMgKi8KLXVuc2lnbmVkIGxvbmcgcGNpX21lbV9zdGFydCA9IDB4MTAwMDAwMDA7Ci0jaWZkZWYgQ09ORklHX1BDSQotRVhQT1JUX1NZTUJPTChwY2lfbWVtX3N0YXJ0KTsKLSNlbmRpZgotZXh0ZXJuIGludCB1c2VyX2RlZmluZWRfbWVtbWFwOwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHN5c3RlbV9yb21fcmVzb3VyY2UgPSB7Ci0JLm5hbWUJPSAiU3lzdGVtIFJPTSIsCi0JLnN0YXJ0CT0gMHhmMDAwMCwKLQkuZW5kCT0gMHhmZmZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJFeHRlbnNpb24gUk9NIiwKLQkuc3RhcnQJPSAweGUwMDAwLAotCS5lbmQJPSAweGVmZmZmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbXSA9IHsgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMHhjODAwMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSwgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSB9OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JvbV9yZXNvdXJjZSA9IHsKLQkubmFtZSAJPSAiVmlkZW8gUk9NIiwKLQkuc3RhcnQJPSAweGMwMDAwLAotCS5lbmQJPSAweGM3ZmZmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfTsKLQotI2RlZmluZSBST01TSUdOQVRVUkUgMHhhYTU1Ci0KLXN0YXRpYyBpbnQgX19pbml0IHJvbXNpZ25hdHVyZShjb25zdCB1bnNpZ25lZCBjaGFyICpyb20pCi17Ci0JY29uc3QgdW5zaWduZWQgc2hvcnQgKiBjb25zdCBwdHIgPSAoY29uc3QgdW5zaWduZWQgc2hvcnQgKilyb207Ci0JdW5zaWduZWQgc2hvcnQgc2lnOwotCi0JcmV0dXJuIHByb2JlX2tlcm5lbF9hZGRyZXNzKHB0ciwgc2lnKSA9PSAwICYmIHNpZyA9PSBST01TSUdOQVRVUkU7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHJvbWNoZWNrc3VtKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbSwgdW5zaWduZWQgbG9uZyBsZW5ndGgpCi17Ci0JdW5zaWduZWQgY2hhciBzdW0sIGM7Ci0KLQlmb3IgKHN1bSA9IDA7IGxlbmd0aCAmJiBwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20rKywgYykgPT0gMDsgbGVuZ3RoLS0pCi0JCXN1bSArPSBjOwotCXJldHVybiAhbGVuZ3RoICYmICFzdW07Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwcm9iZV9yb21zKHZvaWQpCi17Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqcm9tOwotCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGxlbmd0aCwgdXBwZXI7Ci0JdW5zaWduZWQgY2hhciBjOwotCWludCBpOwotCi0JLyogdmlkZW8gcm9tICovCi0JdXBwZXIgPSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbMF0uc3RhcnQ7Ci0JZm9yIChzdGFydCA9IHZpZGVvX3JvbV9yZXNvdXJjZS5zdGFydDsgc3RhcnQgPCB1cHBlcjsgc3RhcnQgKz0gMjA0OCkgewotCQlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoc3RhcnQpOwotCQlpZiAoIXJvbXNpZ25hdHVyZShyb20pKQotCQkJY29udGludWU7Ci0KLQkJdmlkZW9fcm9tX3Jlc291cmNlLnN0YXJ0ID0gc3RhcnQ7Ci0KLQkJaWYgKHByb2JlX2tlcm5lbF9hZGRyZXNzKHJvbSArIDIsIGMpICE9IDApCi0JCQljb250aW51ZTsKLQotCQkvKiAwIDwgbGVuZ3RoIDw9IDB4N2YgKiA1MTIsIGhpc3RvcmljYWxseSAqLwotCQlsZW5ndGggPSBjICogNTEyOwotCi0JCS8qIGlmIGNoZWNrc3VtIG9rYXksIHRydXN0IGxlbmd0aCBieXRlICovCi0JCWlmIChsZW5ndGggJiYgcm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKQotCQkJdmlkZW9fcm9tX3Jlc291cmNlLmVuZCA9IHN0YXJ0ICsgbGVuZ3RoIC0gMTsKLQotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnZpZGVvX3JvbV9yZXNvdXJjZSk7Ci0JCWJyZWFrOwotCX0KLQotCXN0YXJ0ID0gKHZpZGVvX3JvbV9yZXNvdXJjZS5lbmQgKyAxICsgMjA0NykgJiB+MjA0N1VMOwotCWlmIChzdGFydCA8IHVwcGVyKQotCQlzdGFydCA9IHVwcGVyOwotCi0JLyogc3lzdGVtIHJvbSAqLwotCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmc3lzdGVtX3JvbV9yZXNvdXJjZSk7Ci0JdXBwZXIgPSBzeXN0ZW1fcm9tX3Jlc291cmNlLnN0YXJ0OwotCi0JLyogY2hlY2sgZm9yIGV4dGVuc2lvbiByb20gKGlnbm9yZSBsZW5ndGggYnl0ZSEpICovCi0Jcm9tID0gaXNhX2J1c190b192aXJ0KGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQpOwotCWlmIChyb21zaWduYXR1cmUocm9tKSkgewotCQlsZW5ndGggPSBleHRlbnNpb25fcm9tX3Jlc291cmNlLmVuZCAtIGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQgKyAxOwotCQlpZiAocm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKSB7Ci0JCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmV4dGVuc2lvbl9yb21fcmVzb3VyY2UpOwotCQkJdXBwZXIgPSBleHRlbnNpb25fcm9tX3Jlc291cmNlLnN0YXJ0OwotCQl9Ci0JfQotCi0JLyogY2hlY2sgZm9yIGFkYXB0ZXIgcm9tcyBvbiAyayBib3VuZGFyaWVzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWRhcHRlcl9yb21fcmVzb3VyY2VzKSAmJiBzdGFydCA8IHVwcGVyOyBzdGFydCArPSAyMDQ4KSB7Ci0JCXJvbSA9IGlzYV9idXNfdG9fdmlydChzdGFydCk7Ci0JCWlmICghcm9tc2lnbmF0dXJlKHJvbSkpCi0JCQljb250aW51ZTsKLQotCQlpZiAocHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tICsgMiwgYykgIT0gMCkKLQkJCWNvbnRpbnVlOwotCi0JCS8qIDAgPCBsZW5ndGggPD0gMHg3ZiAqIDUxMiwgaGlzdG9yaWNhbGx5ICovCi0JCWxlbmd0aCA9IGMgKiA1MTI7Ci0KLQkJLyogYnV0IGFjY2VwdCBhbnkgbGVuZ3RoIHRoYXQgZml0cyBpZiBjaGVja3N1bSBva2F5ICovCi0JCWlmICghbGVuZ3RoIHx8IHN0YXJ0ICsgbGVuZ3RoID4gdXBwZXIgfHwgIXJvbWNoZWNrc3VtKHJvbSwgbGVuZ3RoKSkKLQkJCWNvbnRpbnVlOwotCi0JCWFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXS5zdGFydCA9IHN0YXJ0OwotCQlhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0uZW5kID0gc3RhcnQgKyBsZW5ndGggLSAxOwotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXSk7Ci0KLQkJc3RhcnQgPSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaSsrXS5lbmQgJiB+MjA0N1VMOwotCX0KLX0KLQotLyoKLSAqIFJlcXVlc3QgYWRkcmVzcyBzcGFjZSBmb3IgYWxsIHN0YW5kYXJkIFJBTSBhbmQgUk9NIHJlc291cmNlcwotICogYW5kIGFsc28gZm9yIHJlZ2lvbnMgcmVwb3J0ZWQgYXMgcmVzZXJ2ZWQgYnkgdGhlIGU4MjAuCi0gKi8KLXZvaWQgX19pbml0IGluaXRfaW9tZW1fcmVzb3VyY2VzKHN0cnVjdCByZXNvdXJjZSAqY29kZV9yZXNvdXJjZSwKLQkJc3RydWN0IHJlc291cmNlICpkYXRhX3Jlc291cmNlLAotCQlzdHJ1Y3QgcmVzb3VyY2UgKmJzc19yZXNvdXJjZSkKLXsKLQlpbnQgaTsKLQotCXByb2JlX3JvbXMoKTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKLSNpZm5kZWYgQ09ORklHX1JFU09VUkNFU182NEJJVAotCQlpZiAoZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUgPiAweDEwMDAwMDAwMFVMTCkKLQkJCWNvbnRpbnVlOwotI2VuZGlmCi0JCXJlcyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSksIEdGUF9BVE9NSUMpOwotCQlzd2l0Y2ggKGU4MjAubWFwW2ldLnR5cGUpIHsKLQkJY2FzZSBFODIwX1JBTToJcmVzLT5uYW1lID0gIlN5c3RlbSBSQU0iOyBicmVhazsKLQkJY2FzZSBFODIwX0FDUEk6CXJlcy0+bmFtZSA9ICJBQ1BJIFRhYmxlcyI7IGJyZWFrOwotCQljYXNlIEU4MjBfTlZTOglyZXMtPm5hbWUgPSAiQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZSI7IGJyZWFrOwotCQlkZWZhdWx0OglyZXMtPm5hbWUgPSAicmVzZXJ2ZWQiOwotCQl9Ci0JCXJlcy0+c3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOwotCQlyZXMtPmVuZCA9IHJlcy0+c3RhcnQgKyBlODIwLm1hcFtpXS5zaXplIC0gMTsKLQkJcmVzLT5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZOwotCQlpZiAocmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsIHJlcykpIHsKLQkJCWtmcmVlKHJlcyk7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSA9PSBFODIwX1JBTSkgewotCQkJLyoKLQkJCSAqICBXZSBkb24ndCBrbm93IHdoaWNoIFJBTSByZWdpb24gY29udGFpbnMga2VybmVsIGRhdGEsCi0JCQkgKiAgc28gd2UgdHJ5IGl0IHJlcGVhdGVkbHkgYW5kIGxldCB0aGUgcmVzb3VyY2UgbWFuYWdlcgotCQkJICogIHRlc3QgaXQuCi0JCQkgKi8KLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBjb2RlX3Jlc291cmNlKTsKLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBkYXRhX3Jlc291cmNlKTsKLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBic3NfcmVzb3VyY2UpOwotI2lmZGVmIENPTkZJR19LRVhFQwotCQkJaWYgKGNyYXNoa19yZXMuc3RhcnQgIT0gY3Jhc2hrX3Jlcy5lbmQpCi0JCQkJcmVxdWVzdF9yZXNvdXJjZShyZXMsICZjcmFzaGtfcmVzKTsKLSNlbmRpZgotCQl9Ci0JfQotfQotCi0jaWYgZGVmaW5lZChDT05GSUdfUE0pICYmIGRlZmluZWQoQ09ORklHX0hJQkVSTkFUSU9OKQotLyoqCi0gKiBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnMgLSBGaW5kIHRoZSByYW5nZXMgb2YgcGh5c2ljYWwgYWRkcmVzc2VzIHRoYXQgZG8gbm90Ci0gKiBjb3JyZXNwb25kIHRvIGU4MjAgUkFNIGFyZWFzIGFuZCBtYXJrIHRoZSBjb3JyZXNwb25kaW5nIHBhZ2VzIGFzIG5vc2F2ZSBmb3IKLSAqIGhpYmVybmF0aW9uLgotICoKLSAqIFRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIGU4MjAgbWFwIHRvIGJlIHNvcnRlZCBhbmQgd2l0aG91dCBhbnkKLSAqIG92ZXJsYXBwaW5nIGVudHJpZXMgYW5kIGFzc3VtZXMgdGhlIGZpcnN0IGU4MjAgYXJlYSB0byBiZSBSQU0uCi0gKi8KLXZvaWQgX19pbml0IGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKQotewotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgcGZuOwotCi0JcGZuID0gUEZOX0RPV04oZTgyMC5tYXBbMF0uYWRkciArIGU4MjAubWFwWzBdLnNpemUpOwotCWZvciAoaSA9IDE7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCi0JCWlmIChwZm4gPCBQRk5fVVAoZWktPmFkZHIpKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihwZm4sIFBGTl9VUChlaS0+YWRkcikpOwotCi0JCXBmbiA9IFBGTl9ET1dOKGVpLT5hZGRyICsgZWktPnNpemUpOwotCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0pCi0JCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKFBGTl9VUChlaS0+YWRkciksIHBmbik7Ci0KLQkJaWYgKHBmbiA+PSBtYXhfbG93X3BmbikKLQkJCWJyZWFrOwotCX0KLX0KLSNlbmRpZgotCi12b2lkIF9faW5pdCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsCi0JCQkgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgaW50IHR5cGUpCi17Ci0JaW50IHg7Ci0KLQl4ID0gZTgyMC5ucl9tYXA7Ci0KLQlpZiAoeCA9PSBFODIwTUFYKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiT29vcHMhIFRvbyBtYW55IGVudHJpZXMgaW4gdGhlIG1lbW9yeSBtYXAhXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCWU4MjAubWFwW3hdLmFkZHIgPSBzdGFydDsKLQllODIwLm1hcFt4XS5zaXplID0gc2l6ZTsKLQllODIwLm1hcFt4XS50eXBlID0gdHlwZTsKLQllODIwLm5yX21hcCsrOwotfSAvKiBhZGRfbWVtb3J5X3JlZ2lvbiAqLwotCi0vKgotICogU2FuaXRpemUgdGhlIEJJT1MgZTgyMCBtYXAuCi0gKgotICogU29tZSBlODIwIHJlc3BvbnNlcyBpbmNsdWRlIG92ZXJsYXBwaW5nIGVudHJpZXMuICBUaGUgZm9sbG93aW5nCi0gKiByZXBsYWNlcyB0aGUgb3JpZ2luYWwgZTgyMCBtYXAgd2l0aCBhIG5ldyBvbmUsIHJlbW92aW5nIG92ZXJsYXBzLgotICoKLSAqLwotaW50IF9faW5pdCBzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICogYmlvc21hcCwgY2hhciAqIHBucl9tYXApCi17Ci0Jc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV90bXA7Ci0JdW5zaWduZWQgbG9uZyBjdXJyZW50X3R5cGUsIGxhc3RfdHlwZTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdF9hZGRyOwotCWludCBjaGdpZHgsIHN0aWxsX2NoYW5naW5nOwotCWludCBvdmVybGFwX2VudHJpZXM7Ci0JaW50IG5ld19iaW9zX2VudHJ5OwotCWludCBvbGRfbnIsIG5ld19uciwgY2hnX25yOwotCWludCBpOwotCi0JLyoKLQkJVmlzdWFsbHkgd2UncmUgcGVyZm9ybWluZyB0aGUgZm9sbG93aW5nICgxLDIsMyw0ID0gbWVtb3J5IHR5cGVzKS4uLgotCi0JCVNhbXBsZSBtZW1vcnkgbWFwICh3L292ZXJsYXBzKToKLQkJICAgX19fXzIyX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fX180XwotCQkgICBfX19fMTExMV9fX19fX19fX19fX19fX18KLQkJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCi0JCSAgIDExMTExMTExX19fX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KLQkJICAgX19fX19fX19fX180NF9fX19fX19fX19fCi0JCSAgIF9fX19fX19fX18zMzMzM19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fXzIyX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fXzIyMjJfCi0JCSAgIF9fX19fX19fXzExMTExMTExMV9fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fX18xMV8KLQkJICAgX19fX19fX19fX19fX19fX180X19fX19fCi0KLQkJU2FuaXRpemVkIGVxdWl2YWxlbnQgKG5vIG92ZXJsYXApOgotCQkgICAxX19fX19fX19fX19fX19fX19fX19fX18KLQkJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fXzFfX19fX19fX19fX19fX19fX19fXwotCQkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KLQkJICAgX19fX19fMTFfX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fXzFfX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fM19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX180NF9fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX18zM19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX18yX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fXzFfX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fNF9fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fMl9fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX18zM19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fX180XwotCSovCi0JLyogaWYgdGhlcmUncyBvbmx5IG9uZSBtZW1vcnkgcmVnaW9uLCBkb24ndCBib3RoZXIgKi8KLQlpZiAoKnBucl9tYXAgPCAyKSB7Ci0JCXJldHVybiAtMTsKLQl9Ci0KLQlvbGRfbnIgPSAqcG5yX21hcDsKLQotCS8qIGJhaWwgb3V0IGlmIHdlIGZpbmQgYW55IHVucmVhc29uYWJsZSBhZGRyZXNzZXMgaW4gYmlvcyBtYXAgKi8KLQlmb3IgKGk9MDsgaTxvbGRfbnI7IGkrKykKLQkJaWYgKGJpb3NtYXBbaV0uYWRkciArIGJpb3NtYXBbaV0uc2l6ZSA8IGJpb3NtYXBbaV0uYWRkcikgewotCQkJcmV0dXJuIC0xOwotCQl9Ci0KLQkvKiBjcmVhdGUgcG9pbnRlcnMgZm9yIGluaXRpYWwgY2hhbmdlLXBvaW50IGluZm9ybWF0aW9uIChmb3Igc29ydGluZykgKi8KLQlmb3IgKGk9MDsgaSA8IDIqb2xkX25yOyBpKyspCi0JCWNoYW5nZV9wb2ludFtpXSA9ICZjaGFuZ2VfcG9pbnRfbGlzdFtpXTsKLQotCS8qIHJlY29yZCBhbGwga25vd24gY2hhbmdlLXBvaW50cyAoc3RhcnRpbmcgYW5kIGVuZGluZyBhZGRyZXNzZXMpLAotCSAgIG9taXR0aW5nIHRob3NlIHRoYXQgYXJlIGZvciBlbXB0eSBtZW1vcnkgcmVnaW9ucyAqLwotCWNoZ2lkeCA9IDA7Ci0JZm9yIChpPTA7IGkgPCBvbGRfbnI7IGkrKykJewotCQlpZiAoYmlvc21hcFtpXS5zaXplICE9IDApIHsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJfQotCX0KLQljaGdfbnIgPSBjaGdpZHg7ICAgIAkvKiB0cnVlIG51bWJlciBvZiBjaGFuZ2UtcG9pbnRzICovCi0KLQkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLwotCXN0aWxsX2NoYW5naW5nID0gMTsKLQl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKLQkJc3RpbGxfY2hhbmdpbmcgPSAwOwotCQlmb3IgKGk9MTsgaSA8IGNoZ19ucjsgaSsrKSAgewotCQkJLyogaWYgPGN1cnJlbnRfYWRkcj4gPiA8bGFzdF9hZGRyPiwgc3dhcCAqLwotCQkJLyogb3IsIGlmIGN1cnJlbnQ9PHN0YXJ0X2FkZHI+ICYgbGFzdD08ZW5kX2FkZHI+LCBzd2FwICovCi0JCQlpZiAoKGNoYW5nZV9wb2ludFtpXS0+YWRkciA8IGNoYW5nZV9wb2ludFtpLTFdLT5hZGRyKSB8fAotCQkJCSgoY2hhbmdlX3BvaW50W2ldLT5hZGRyID09IGNoYW5nZV9wb2ludFtpLTFdLT5hZGRyKSAmJgotCQkJCSAoY2hhbmdlX3BvaW50W2ldLT5hZGRyID09IGNoYW5nZV9wb2ludFtpXS0+cGJpb3MtPmFkZHIpICYmCi0JCQkJIChjaGFuZ2VfcG9pbnRbaS0xXS0+YWRkciAhPSBjaGFuZ2VfcG9pbnRbaS0xXS0+cGJpb3MtPmFkZHIpKQotCQkJICAgKQotCQkJewotCQkJCWNoYW5nZV90bXAgPSBjaGFuZ2VfcG9pbnRbaV07Ci0JCQkJY2hhbmdlX3BvaW50W2ldID0gY2hhbmdlX3BvaW50W2ktMV07Ci0JCQkJY2hhbmdlX3BvaW50W2ktMV0gPSBjaGFuZ2VfdG1wOwotCQkJCXN0aWxsX2NoYW5naW5nPTE7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLwotCW92ZXJsYXBfZW50cmllcz0wOwkgLyogbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIG92ZXJsYXAgdGFibGUgKi8KLQluZXdfYmlvc19lbnRyeT0wOwkgLyogaW5kZXggZm9yIGNyZWF0aW5nIG5ldyBiaW9zIG1hcCBlbnRyaWVzICovCi0JbGFzdF90eXBlID0gMDsJCSAvKiBzdGFydCB3aXRoIHVuZGVmaW5lZCBtZW1vcnkgdHlwZSAqLwotCWxhc3RfYWRkciA9IDA7CQkgLyogc3RhcnQgd2l0aCAwIGFzIGxhc3Qgc3RhcnRpbmcgYWRkcmVzcyAqLwotCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLwotCWZvciAoY2hnaWR4PTA7IGNoZ2lkeCA8IGNoZ19ucjsgY2hnaWR4KyspCi0JewotCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KLQkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcy0+YWRkcikKLQkJewotCQkJLyogYWRkIG1hcCBlbnRyeSB0byBvdmVybGFwIGxpc3QgKD4gMSBlbnRyeSBpbXBsaWVzIGFuIG92ZXJsYXApICovCi0JCQlvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzKytdPWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKLQkJfQotCQllbHNlCi0JCXsKLQkJCS8qIHJlbW92ZSBlbnRyeSBmcm9tIGxpc3QgKG9yZGVyIGluZGVwZW5kZW50LCBzbyBzd2FwIHdpdGggbGFzdCkgKi8KLQkJCWZvciAoaT0wOyBpPG92ZXJsYXBfZW50cmllczsgaSsrKQotCQkJewotCQkJCWlmIChvdmVybGFwX2xpc3RbaV0gPT0gY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zKQotCQkJCQlvdmVybGFwX2xpc3RbaV0gPSBvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzLTFdOwotCQkJfQotCQkJb3ZlcmxhcF9lbnRyaWVzLS07Ci0JCX0KLQkJLyogaWYgdGhlcmUgYXJlIG92ZXJsYXBwaW5nIGVudHJpZXMsIGRlY2lkZSB3aGljaCAidHlwZSIgdG8gdXNlICovCi0JCS8qIChsYXJnZXIgdmFsdWUgdGFrZXMgcHJlY2VkZW5jZSAtLSAxPXVzYWJsZSwgMiwzLDQsNCs9dW51c2FibGUpICovCi0JCWN1cnJlbnRfdHlwZSA9IDA7Ci0JCWZvciAoaT0wOyBpPG92ZXJsYXBfZW50cmllczsgaSsrKQotCQkJaWYgKG92ZXJsYXBfbGlzdFtpXS0+dHlwZSA+IGN1cnJlbnRfdHlwZSkKLQkJCQljdXJyZW50X3R5cGUgPSBvdmVybGFwX2xpc3RbaV0tPnR5cGU7Ci0JCS8qIGNvbnRpbnVlIGJ1aWxkaW5nIHVwIG5ldyBiaW9zIG1hcCBiYXNlZCBvbiB0aGlzIGluZm9ybWF0aW9uICovCi0JCWlmIChjdXJyZW50X3R5cGUgIT0gbGFzdF90eXBlKQl7Ci0JCQlpZiAobGFzdF90eXBlICE9IDApCSB7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnNpemUgPQotCQkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciAtIGxhc3RfYWRkcjsKLQkJCQkvKiBtb3ZlIGZvcndhcmQgb25seSBpZiB0aGUgbmV3IHNpemUgd2FzIG5vbi16ZXJvICovCi0JCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCi0JCQkJCWlmICgrK25ld19iaW9zX2VudHJ5ID49IEU4MjBNQVgpCi0JCQkJCQlicmVhazsgCS8qIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLwotCQkJfQotCQkJaWYgKGN1cnJlbnRfdHlwZSAhPSAwKQl7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLmFkZHIgPSBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkcjsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0udHlwZSA9IGN1cnJlbnRfdHlwZTsKLQkJCQlsYXN0X2FkZHI9Y2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHI7Ci0JCQl9Ci0JCQlsYXN0X3R5cGUgPSBjdXJyZW50X3R5cGU7Ci0JCX0KLQl9Ci0JbmV3X25yID0gbmV3X2Jpb3NfZW50cnk7ICAgLyogcmV0YWluIGNvdW50IGZvciBuZXcgYmlvcyBlbnRyaWVzICovCi0KLQkvKiBjb3B5IG5ldyBiaW9zIG1hcHBpbmcgaW50byBvcmlnaW5hbCBsb2NhdGlvbiAqLwotCW1lbWNweShiaW9zbWFwLCBuZXdfYmlvcywgbmV3X25yKnNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7Ci0JKnBucl9tYXAgPSBuZXdfbnI7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIENvcHkgdGhlIEJJT1MgZTgyMCBtYXAgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICogU2FuaXR5LWNoZWNrIGl0IHdoaWxlIHdlJ3JlIGF0IGl0Li4KLSAqCi0gKiBJZiB3ZSdyZSBsdWNreSBhbmQgbGl2ZSBvbiBhIG1vZGVybiBzeXN0ZW0sIHRoZSBzZXR1cCBjb2RlCi0gKiB3aWxsIGhhdmUgZ2l2ZW4gdXMgYSBtZW1vcnkgbWFwIHRoYXQgd2UgY2FuIHVzZSB0byBwcm9wZXJseQotICogc2V0IHVwIG1lbW9yeS4gIElmIHdlIGFyZW4ndCwgd2UnbGwgZmFrZSBhIG1lbW9yeSBtYXAuCi0gKgotICogV2UgY2hlY2sgdG8gc2VlIHRoYXQgdGhlIG1lbW9yeSBtYXAgY29udGFpbnMgYXQgbGVhc3QgMiBlbGVtZW50cwotICogYmVmb3JlIHdlJ2xsIHVzZSBpdCwgYmVjYXVzZSB0aGUgZGV0ZWN0aW9uIGNvZGUgaW4gc2V0dXAuUyBtYXkKLSAqIG5vdCBiZSBwZXJmZWN0IGFuZCBtb3N0IGV2ZXJ5IFBDIGtub3duIHRvIG1hbiBoYXMgdHdvIG1lbW9yeQotICogcmVnaW9uczogb25lIGZyb20gMCB0byA2NDBrLCBhbmQgb25lIGZyb20gMW1iIHVwLiAgKFRoZSBJQk0KLSAqIHRoaW5rcGFkIDU2MHgsIGZvciBleGFtcGxlLCBkb2VzIG5vdCBjb29wZXJhdGUgd2l0aCB0aGUgbWVtb3J5Ci0gKiBkZXRlY3Rpb24gY29kZS4pCi0gKi8KLWludCBfX2luaXQgY29weV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbnJfbWFwKQotewotCS8qIE9ubHkgb25lIG1lbW9yeSByZWdpb24gKG9yIG5lZ2F0aXZlKT8gSWdub3JlIGl0ICovCi0JaWYgKG5yX21hcCA8IDIpCi0JCXJldHVybiAtMTsKLQotCWRvIHsKLQkJdTY0IHN0YXJ0ID0gYmlvc21hcC0+YWRkcjsKLQkJdTY0IHNpemUgPSBiaW9zbWFwLT5zaXplOwotCQl1NjQgZW5kID0gc3RhcnQgKyBzaXplOwotCQl1MzIgdHlwZSA9IGJpb3NtYXAtPnR5cGU7Ci0KLQkJLyogT3ZlcmZsb3cgaW4gNjQgYml0cz8gSWdub3JlIHRoZSBtZW1vcnkgbWFwLiAqLwotCQlpZiAoc3RhcnQgPiBlbmQpCi0JCQlyZXR1cm4gLTE7Ci0KLQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnQsIHNpemUsIHR5cGUpOwotCX0gd2hpbGUgKGJpb3NtYXArKywgLS1ucl9tYXApOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSBoaWdoZXN0IHBhZ2UgZnJhbWUgbnVtYmVyIHdlIGhhdmUgYXZhaWxhYmxlCi0gKi8KLXZvaWQgX19pbml0IHByb3BhZ2F0ZV9lODIwX21hcCh2b2lkKQotewotCWludCBpOwotCi0JbWF4X3BmbiA9IDA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7Ci0JCS8qIFJBTT8gKi8KLQkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCi0JCQljb250aW51ZTsKLQkJc3RhcnQgPSBQRk5fVVAoZTgyMC5tYXBbaV0uYWRkcik7Ci0JCWVuZCA9IFBGTl9ET1dOKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKTsKLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCWNvbnRpbnVlOwotCQlpZiAoZW5kID4gbWF4X3BmbikKLQkJCW1heF9wZm4gPSBlbmQ7Ci0JCW1lbW9yeV9wcmVzZW50KDAsIHN0YXJ0LCBlbmQpOwotCX0KLX0KLQotLyoKLSAqIFJlZ2lzdGVyIGZ1bGx5IGF2YWlsYWJsZSBsb3cgUkFNIHBhZ2VzIHdpdGggdGhlIGJvb3RtZW0gYWxsb2NhdG9yLgotICovCi12b2lkIF9faW5pdCByZWdpc3Rlcl9ib290bWVtX2xvd19wYWdlcyh1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJdW5zaWduZWQgbG9uZyBjdXJyX3BmbiwgbGFzdF9wZm4sIHNpemU7Ci0JCS8qCi0JCSAqIFJlc2VydmUgdXNhYmxlIGxvdyBtZW1vcnkKLQkJICovCi0JCWlmIChlODIwLm1hcFtpXS50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCS8qCi0JCSAqIFdlIGFyZSByb3VuZGluZyB1cCB0aGUgc3RhcnQgYWRkcmVzcyBvZiB1c2FibGUgbWVtb3J5OgotCQkgKi8KLQkJY3Vycl9wZm4gPSBQRk5fVVAoZTgyMC5tYXBbaV0uYWRkcik7Ci0JCWlmIChjdXJyX3BmbiA+PSBtYXhfbG93X3BmbikKLQkJCWNvbnRpbnVlOwotCQkvKgotCQkgKiAuLi4gYW5kIGF0IHRoZSBlbmQgb2YgdGhlIHVzYWJsZSByYW5nZSBkb3dud2FyZHM6Ci0JCSAqLwotCQlsYXN0X3BmbiA9IFBGTl9ET1dOKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKTsKLQotCQlpZiAobGFzdF9wZm4gPiBtYXhfbG93X3BmbikKLQkJCWxhc3RfcGZuID0gbWF4X2xvd19wZm47Ci0KLQkJLyoKLQkJICogLi4gZmluYWxseSwgZGlkIGFsbCB0aGUgcm91bmRpbmcgYW5kIHBsYXlpbmcKLQkJICogYXJvdW5kIGp1c3QgbWFrZSB0aGUgYXJlYSBnbyBhd2F5PwotCQkgKi8KLQkJaWYgKGxhc3RfcGZuIDw9IGN1cnJfcGZuKQotCQkJY29udGludWU7Ci0KLQkJc2l6ZSA9IGxhc3RfcGZuIC0gY3Vycl9wZm47Ci0JCWZyZWVfYm9vdG1lbShQRk5fUEhZUyhjdXJyX3BmbiksIFBGTl9QSFlTKHNpemUpKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IGU4MjBfcmVnaXN0ZXJfbWVtb3J5KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBnYXBzdGFydCwgZ2Fwc2l6ZSwgcm91bmQ7Ci0JdW5zaWduZWQgbG9uZyBsb25nIGxhc3Q7Ci0JaW50IGk7Ci0KLQkvKgotCSAqIFNlYXJjaCBmb3IgdGhlIGJpZ2dlc3QgZ2FwIGluIHRoZSBsb3cgMzIgYml0cyBvZiB0aGUgZTgyMAotCSAqIG1lbW9yeSBzcGFjZS4KLQkgKi8KLQlsYXN0ID0gMHgxMDAwMDAwMDB1bGw7Ci0JZ2Fwc3RhcnQgPSAweDEwMDAwMDAwOwotCWdhcHNpemUgPSAweDQwMDAwMDsKLQlpID0gZTgyMC5ucl9tYXA7Ci0Jd2hpbGUgKC0taSA+PSAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBlbmQgPSBzdGFydCArIGU4MjAubWFwW2ldLnNpemU7Ci0KLQkJLyoKLQkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCi0JCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKLQkJICovCi0JCWlmIChsYXN0ID4gZW5kKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7Ci0KLQkJCWlmIChnYXAgPiBnYXBzaXplKSB7Ci0JCQkJZ2Fwc2l6ZSA9IGdhcDsKLQkJCQlnYXBzdGFydCA9IGVuZDsKLQkJCX0KLQkJfQotCQlpZiAoc3RhcnQgPCBsYXN0KQotCQkJbGFzdCA9IHN0YXJ0OwotCX0KLQotCS8qCi0JICogU2VlIGhvdyBtdWNoIHdlIHdhbnQgdG8gcm91bmQgdXA6IHN0YXJ0IG9mZiB3aXRoCi0JICogcm91bmRpbmcgdG8gdGhlIG5leHQgMU1CIGFyZWEuCi0JICovCi0Jcm91bmQgPSAweDEwMDAwMDsKLQl3aGlsZSAoKGdhcHNpemUgPj4gNCkgPiByb3VuZCkKLQkJcm91bmQgKz0gcm91bmQ7Ci0JLyogRnVuIHdpdGggdHdvJ3MgY29tcGxlbWVudCAqLwotCXBjaV9tZW1fc3RhcnQgPSAoZ2Fwc3RhcnQgKyByb3VuZCkgJiAtcm91bmQ7Ci0KLQlwcmludGsoIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlMDhseCAoZ2FwOiAlMDhseDolMDhseClcbiIsCi0JCXBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKLX0KLQotdm9pZCBfX2luaXQgcHJpbnRfbWVtb3J5X21hcChjaGFyICp3aG8pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlwcmludGsoIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKLQkJCWU4MjAubWFwW2ldLmFkZHIsCi0JCQllODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSk7Ci0JCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgewotCQljYXNlIEU4MjBfUkFNOglwcmludGsoIih1c2FibGUpXG4iKTsKLQkJCQlicmVhazsKLQkJY2FzZSBFODIwX1JFU0VSVkVEOgotCQkJCXByaW50aygiKHJlc2VydmVkKVxuIik7Ci0JCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOgotCQkJCXByaW50aygiKEFDUEkgZGF0YSlcbiIpOwotCQkJCWJyZWFrOwotCQljYXNlIEU4MjBfTlZTOgotCQkJCXByaW50aygiKEFDUEkgTlZTKVxuIik7Ci0JCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6CXByaW50aygidHlwZSAldVxuIiwgZTgyMC5tYXBbaV0udHlwZSk7Ci0JCQkJYnJlYWs7Ci0JCX0KLQl9Ci19Ci0KLXZvaWQgX19pbml0IGxpbWl0X3JlZ2lvbnModW5zaWduZWQgbG9uZyBsb25nIHNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRfYWRkcjsKLQlpbnQgaTsKLQotCXByaW50X21lbW9yeV9tYXAoImxpbWl0X3JlZ2lvbnMgc3RhcnQiKTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQljdXJyZW50X2FkZHIgPSBlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZTsKLQkJaWYgKGN1cnJlbnRfYWRkciA8IHNpemUpCi0JCQljb250aW51ZTsKLQotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChlODIwLm1hcFtpXS5hZGRyID49IHNpemUpIHsKLQkJCS8qCi0JCQkgKiBUaGlzIHJlZ2lvbiBzdGFydHMgcGFzdCB0aGUgZW5kIG9mIHRoZQotCQkJICogcmVxdWVzdGVkIHNpemUsIHNraXAgaXQgY29tcGxldGVseS4KLQkJCSAqLwotCQkJZTgyMC5ucl9tYXAgPSBpOwotCQl9IGVsc2UgewotCQkJZTgyMC5ucl9tYXAgPSBpICsgMTsKLQkJCWU4MjAubWFwW2ldLnNpemUgLT0gY3VycmVudF9hZGRyIC0gc2l6ZTsKLQkJfQotCQlwcmludF9tZW1vcnlfbWFwKCJsaW1pdF9yZWdpb25zIGVuZGZvciIpOwotCQlyZXR1cm47Ci0JfQotCXByaW50X21lbW9yeV9tYXAoImxpbWl0X3JlZ2lvbnMgZW5kZnVuYyIpOwotfQotCi0vKgotICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgYW55IHBhcnQgb2YgdGhlIHJhbmdlIDxzdGFydCxlbmQ+IGlzIG1hcHBlZAotICogd2l0aCB0eXBlLgotICovCi1pbnQKLWU4MjBfYW55X21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpCi17Ci0JaW50IGk7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJY29uc3Qgc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCi0JCQljb250aW51ZTsKLQkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQotCQkJY29udGludWU7Ci0JCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGU4MjBfYW55X21hcHBlZCk7Ci0KLSAvKgotICAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBlbnRpcmUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkIHdpdGggdHlwZS4KLSAgKgotICAqIE5vdGU6IHRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBjb3JyZWN0IGlmIHRoZSBlODIwIHRhYmxlIGlzIHNvcnRlZCBhbmQKLSAgKiBub3Qtb3ZlcmxhcHBpbmcsIHdoaWNoIGlzIHRoZSBjYXNlCi0gICovCi1pbnQgX19pbml0Ci1lODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzLCB1bnNpZ25lZCBsb25nIGUsIHVuc2lnbmVkIHR5cGUpCi17Ci0JdTY0IHN0YXJ0ID0gczsKLQl1NjQgZW5kID0gZTsKLQlpbnQgaTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiBpcyB0aGUgcmVnaW9uIChwYXJ0KSBpbiBvdmVybGFwIHdpdGggdGhlIGN1cnJlbnQgcmVnaW9uID8qLwotCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCi0JCQljb250aW51ZTsKLQkJLyogaWYgdGhlIHJlZ2lvbiBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIDxzdGFydCxlbmQ+IHdlIG1vdmUKLQkJICogc3RhcnQgdG8gdGhlIGVuZCBvZiB0aGUgcmVnaW9uIHNpbmNlIGl0J3Mgb2sgdW50aWwgdGhlcmUKLQkJICovCi0JCWlmIChlaS0+YWRkciA8PSBzdGFydCkKLQkJCXN0YXJ0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKLQkJLyogaWYgc3RhcnQgaXMgbm93IGF0IG9yIGJleW9uZCBlbmQsIHdlJ3JlIGRvbmUsIGZ1bGwKLQkJICogY292ZXJhZ2UgKi8KLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCXJldHVybiAxOyAvKiB3ZSdyZSBkb25lICovCi0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXAoY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmIChzdHJjbXAoYXJnLCAiZXhhY3RtYXAiKSA9PSAwKSB7Ci0jaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKLQkJLyogSWYgd2UgYXJlIGRvaW5nIGEgY3Jhc2ggZHVtcCwgd2UKLQkJICogc3RpbGwgbmVlZCB0byBrbm93IHRoZSByZWFsIG1lbQotCQkgKiBzaXplIGJlZm9yZSBvcmlnaW5hbCBtZW1vcnkgbWFwIGlzCi0JCSAqIHJlc2V0LgotCQkgKi8KLQkJcHJvcGFnYXRlX2U4MjBfbWFwKCk7Ci0JCXNhdmVkX21heF9wZm4gPSBtYXhfcGZuOwotI2VuZGlmCi0JCWU4MjAubnJfbWFwID0gMDsKLQkJdXNlcl9kZWZpbmVkX21lbW1hcCA9IDE7Ci0JfSBlbHNlIHsKLQkJLyogSWYgdGhlIHVzZXIgc3BlY2lmaWVzIG1lbW9yeSBzaXplLCB3ZQotCQkgKiBsaW1pdCB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIHRvCi0JCSAqIHRoYXQgc2l6ZS4gZXhhY3RtYXAgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQotCQkgKiB0aGUgZXhhY3QgbWFwLiBtZW09bnVtYmVyIGNhbiBiZSB1c2VkIHRvCi0JCSAqIHRyaW0gdGhlIGV4aXN0aW5nIG1lbW9yeSBtYXAuCi0JCSAqLwotCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnRfYXQsIG1lbV9zaXplOwotCi0JCW1lbV9zaXplID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKLQkJaWYgKCphcmcgPT0gJ0AnKSB7Ci0JCQlzdGFydF9hdCA9IG1lbXBhcnNlKGFyZysxLCAmYXJnKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOwotCQl9IGVsc2UgaWYgKCphcmcgPT0gJyMnKSB7Ci0JCQlzdGFydF9hdCA9IG1lbXBhcnNlKGFyZysxLCAmYXJnKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9BQ1BJKTsKLQkJfSBlbHNlIGlmICgqYXJnID09ICckJykgewotCQkJc3RhcnRfYXQgPSBtZW1wYXJzZShhcmcrMSwgJmFyZyk7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOwotCQl9IGVsc2UgewotCQkJbGltaXRfcmVnaW9ucyhtZW1fc2l6ZSk7Ci0JCQl1c2VyX2RlZmluZWRfbWVtbWFwID0gMTsKLQkJfQotCX0KLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJtZW1tYXAiLCBwYXJzZV9tZW1tYXApOwotdm9pZCBfX2luaXQgdXBkYXRlX21lbW9yeV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKLQkJCQl1bnNpZ25lZCBuZXdfdHlwZSkKLXsKLQlpbnQgaTsKLQotCUJVR19PTihvbGRfdHlwZSA9PSBuZXdfdHlwZSk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7Ci0JCWlmIChlaS0+dHlwZSAhPSBvbGRfdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiB0b3RhbGx5IGNvdmVyZWQ/ICovCi0JCWlmIChlaS0+YWRkciA+PSBzdGFydCAmJiBlaS0+c2l6ZSA8PSBzaXplKSB7Ci0JCQllaS0+dHlwZSA9IG5ld190eXBlOwotCQkJY29udGludWU7Ci0JCX0KLQkJLyogcGFydGlhbGx5IGNvdmVyZWQgKi8KLQkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIGVpLT5hZGRyKTsKLQkJZmluYWxfZW5kID0gbWluKHN0YXJ0ICsgc2l6ZSwgZWktPmFkZHIgKyBlaS0+c2l6ZSk7Ci0JCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCi0JCQljb250aW51ZTsKLQkJYWRkX21lbW9yeV9yZWdpb24oZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0LAotCQkJCQkgbmV3X3R5cGUpOwotCX0KLX0KLXZvaWQgX19pbml0IHVwZGF0ZV9lODIwKHZvaWQpCi17Ci0JdTggbnJfbWFwOwotCi0JbnJfbWFwID0gZTgyMC5ucl9tYXA7Ci0JaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCAmbnJfbWFwKSkKLQkJcmV0dXJuOwotCWU4MjAubnJfbWFwID0gbnJfbWFwOwotCXByaW50ayhLRVJOX0lORk8gIm1vZGlmaWVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQlwcmludF9tZW1vcnlfbWFwKCJtb2RpZmllZCIpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2U4MjBfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9lODIwXzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyNDQ4MGMuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL2U4MjBfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDk1MiArMCwwIEBACi0vKgotICogSGFuZGxlIHRoZSBtZW1vcnkgbWFwLgotICogVGhlIGZ1bmN0aW9ucyBoZXJlIGRvIHRoZSBqb2IgdW50aWwgYm9vdG1lbSB0YWtlcyBvdmVyLgotICoKLSAqICBHZXR0aW5nIHNhbml0aXplX2U4MjBfbWFwKCkgaW4gc3luYyB3aXRoIGkzODYgdmVyc2lvbiBieSBhcHBseWluZyBjaGFuZ2U6Ci0gKiAgLSAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgotICogICAgIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgotICogIFZlbmthdGVzaCBQYWxsaXBhZGkgPHZlbmthdGVzaC5wYWxsaXBhZGlAaW50ZWwuY29tPgotICoKLSAqLwotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgotI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgotCi0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS9lODIwLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL2tkZWJ1Zy5oPgotI2luY2x1ZGUgPGFzbS90cmFtcG9saW5lLmg+Ci0KLXN0cnVjdCBlODIwbWFwIGU4MjA7Ci0KLS8qCi0gKiBQRk4gb2YgbGFzdCBtZW1vcnkgcGFnZS4KLSAqLwotdW5zaWduZWQgbG9uZyBlbmRfcGZuOwotCi0vKgotICogZW5kX3BmbiBvbmx5IGluY2x1ZGVzIFJBTSwgd2hpbGUgbWF4X3Bmbl9tYXBwZWQgaW5jbHVkZXMgYWxsIGU4MjAgZW50cmllcy4KLSAqIFRoZSBkaXJlY3QgbWFwcGluZyBleHRlbmRzIHRvIG1heF9wZm5fbWFwcGVkLCBzbyB0aGF0IHdlIGNhbiBkaXJlY3RseSBhY2Nlc3MKLSAqIGFwZXJ0dXJlcywgQUNQSSBhbmQgb3RoZXIgdGFibGVzIHdpdGhvdXQgaGF2aW5nIHRvIHBsYXkgd2l0aCBmaXhtYXBzLgotICovCi11bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOwotCi0vKgotICogTGFzdCBwZm4gd2hpY2ggdGhlIHVzZXIgd2FudHMgdG8gdXNlLgotICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIGVuZF91c2VyX3BmbiA9IE1BWE1FTT4+UEFHRV9TSElGVDsKLQotLyoKLSAqIEVhcmx5IHJlc2VydmVkIG1lbW9yeSBhcmVhcy4KLSAqLwotI2RlZmluZSBNQVhfRUFSTFlfUkVTIDIwCi0KLXN0cnVjdCBlYXJseV9yZXMgewotCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGVuZDsKLQljaGFyIG5hbWVbMTZdOwotfTsKLXN0YXRpYyBzdHJ1Y3QgZWFybHlfcmVzIGVhcmx5X3Jlc1tNQVhfRUFSTFlfUkVTXSBfX2luaXRkYXRhID0gewotCXsgMCwgUEFHRV9TSVpFLCAiQklPUyBkYXRhIHBhZ2UiIH0sCQkJLyogQklPUyBkYXRhIHBhZ2UgKi8KLSNpZmRlZiBDT05GSUdfWDg2X1RSQU1QT0xJTkUKLQl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgMiAqIFBBR0VfU0laRSwgIlRSQU1QT0xJTkUiIH0sCi0jZW5kaWYKLQl7fQotfTsKLQotdm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgY2hhciAqbmFtZSkKLXsKLQlpbnQgaTsKLQlzdHJ1Y3QgZWFybHlfcmVzICpyOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlyID0gJmVhcmx5X3Jlc1tpXTsKLQkJaWYgKGVuZCA+IHItPnN0YXJ0ICYmIHN0YXJ0IDwgci0+ZW5kKQotCQkJcGFuaWMoIk92ZXJsYXBwaW5nIGVhcmx5IHJlc2VydmF0aW9ucyAlbHgtJWx4ICVzIHRvICVseC0lbHggJXNcbiIsCi0JCQkgICAgICBzdGFydCwgZW5kIC0gMSwgbmFtZT9uYW1lOiIiLCByLT5zdGFydCwgci0+ZW5kIC0gMSwgci0+bmFtZSk7Ci0JfQotCWlmIChpID49IE1BWF9FQVJMWV9SRVMpCi0JCXBhbmljKCJUb28gbWFueSBlYXJseSByZXNlcnZhdGlvbnMiKTsKLQlyID0gJmVhcmx5X3Jlc1tpXTsKLQlyLT5zdGFydCA9IHN0YXJ0OwotCXItPmVuZCA9IGVuZDsKLQlpZiAobmFtZSkKLQkJc3RybmNweShyLT5uYW1lLCBuYW1lLCBzaXplb2Yoci0+bmFtZSkgLSAxKTsKLX0KLQotdm9pZCBfX2luaXQgZnJlZV9lYXJseSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKLXsKLQlzdHJ1Y3QgZWFybHlfcmVzICpyOwotCWludCBpLCBqOwotCi0JZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7Ci0JCXIgPSAmZWFybHlfcmVzW2ldOwotCQlpZiAoc3RhcnQgPT0gci0+c3RhcnQgJiYgZW5kID09IHItPmVuZCkKLQkJCWJyZWFrOwotCX0KLQlpZiAoaSA+PSBNQVhfRUFSTFlfUkVTIHx8ICFlYXJseV9yZXNbaV0uZW5kKQotCQlwYW5pYygiZnJlZV9lYXJseSBvbiBub3QgcmVzZXJ2ZWQgYXJlYTogJWx4LSVseCEiLCBzdGFydCwgZW5kKTsKLQotCWZvciAoaiA9IGkgKyAxOyBqIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbal0uZW5kOyBqKyspCi0JCTsKLQotCW1lbW1vdmUoJmVhcmx5X3Jlc1tpXSwgJmVhcmx5X3Jlc1tpICsgMV0sCi0JICAgICAgIChqIC0gMSAtIGkpICogc2l6ZW9mKHN0cnVjdCBlYXJseV9yZXMpKTsKLQotCWVhcmx5X3Jlc1tqIC0gMV0uZW5kID0gMDsKLX0KLQotdm9pZCBfX2luaXQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCi17Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBmaW5hbF9zdGFydCwgZmluYWxfZW5kOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKLQkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIHItPnN0YXJ0KTsKLQkJZmluYWxfZW5kID0gbWluKGVuZCwgci0+ZW5kKTsKLQkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKLQkJCWNvbnRpbnVlOwotCQlwcmludGsoS0VSTl9JTkZPICIgIGVhcmx5IHJlczogJWQgWyVseC0lbHhdICVzXG4iLCBpLAotCQkJZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIDEsIHItPm5hbWUpOwotCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQpOwotCX0KLX0KLQotLyogQ2hlY2sgZm9yIGFscmVhZHkgcmVzZXJ2ZWQgYXJlYXMgKi8KLXN0YXRpYyBpbmxpbmUgaW50IF9faW5pdAotYmFkX2FkZHIodW5zaWduZWQgbG9uZyAqYWRkcnAsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9uZyBhbGlnbikKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIGFkZHIgPSAqYWRkcnAsIGxhc3Q7Ci0JaW50IGNoYW5nZWQgPSAwOwotYWdhaW46Ci0JbGFzdCA9IGFkZHIgKyBzaXplOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKLQkJaWYgKGxhc3QgPj0gci0+c3RhcnQgJiYgYWRkciA8IHItPmVuZCkgewotCQkJKmFkZHJwID0gYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOwotCQkJY2hhbmdlZCA9IDE7Ci0JCQlnb3RvIGFnYWluOwotCQl9Ci0JfQotCXJldHVybiBjaGFuZ2VkOwotfQotCi0vKiBDaGVjayBmb3IgYWxyZWFkeSByZXNlcnZlZCBhcmVhcyAqLwotc3RhdGljIGlubGluZSBpbnQgX19pbml0Ci1iYWRfYWRkcl9zaXplKHVuc2lnbmVkIGxvbmcgKmFkZHJwLCB1bnNpZ25lZCBsb25nICpzaXplcCwgdW5zaWduZWQgbG9uZyBhbGlnbikKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIGFkZHIgPSAqYWRkcnAsIGxhc3Q7Ci0JdW5zaWduZWQgbG9uZyBzaXplID0gKnNpemVwOwotCWludCBjaGFuZ2VkID0gMDsKLWFnYWluOgotCWxhc3QgPSBhZGRyICsgc2l6ZTsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKLQkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07Ci0JCWlmIChsYXN0ID4gci0+c3RhcnQgJiYgYWRkciA8IHItPnN0YXJ0KSB7Ci0JCQlzaXplID0gci0+c3RhcnQgLSBhZGRyOwotCQkJY2hhbmdlZCA9IDE7Ci0JCQlnb3RvIGFnYWluOwotCQl9Ci0JCWlmIChsYXN0ID4gci0+ZW5kICYmIGFkZHIgPCByLT5lbmQpIHsKLQkJCWFkZHIgPSByb3VuZF91cChyLT5lbmQsIGFsaWduKTsKLQkJCXNpemUgPSBsYXN0IC0gYWRkcjsKLQkJCWNoYW5nZWQgPSAxOwotCQkJZ290byBhZ2FpbjsKLQkJfQotCQlpZiAobGFzdCA8PSByLT5lbmQgJiYgYWRkciA+PSByLT5zdGFydCkgewotCQkJKCpzaXplcCkrKzsKLQkJCXJldHVybiAwOwotCQl9Ci0JfQotCWlmIChjaGFuZ2VkKSB7Ci0JCSphZGRycCA9IGFkZHI7Ci0JCSpzaXplcCA9IHNpemU7Ci0JfQotCXJldHVybiBjaGFuZ2VkOwotfQotLyoKLSAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGFueSBwYXJ0IG9mIHRoZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQKLSAqIHdpdGggdHlwZS4KLSAqLwotaW50Ci1lODIwX2FueV9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIHVuc2lnbmVkIHR5cGUpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQotCQlpZiAodHlwZSAmJiBlaS0+dHlwZSAhPSB0eXBlKQotCQkJY29udGludWU7Ci0JCWlmIChlaS0+YWRkciA+PSBlbmQgfHwgZWktPmFkZHIgKyBlaS0+c2l6ZSA8PSBzdGFydCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChlODIwX2FueV9tYXBwZWQpOwotCi0vKgotICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIGVudGlyZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQgd2l0aCB0eXBlLgotICoKLSAqIE5vdGU6IHRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBjb3JyZWN0IGlmIHRoZSBlODIwIHRhYmxlIGlzIHNvcnRlZCBhbmQKLSAqIG5vdC1vdmVybGFwcGluZywgd2hpY2ggaXMgdGhlIGNhc2UKLSAqLwotaW50IF9faW5pdCBlODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkgICB1bnNpZ25lZCB0eXBlKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0KLQkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiBpcyB0aGUgcmVnaW9uIChwYXJ0KSBpbiBvdmVybGFwIHdpdGggdGhlIGN1cnJlbnQgcmVnaW9uID8qLwotCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCi0JCQljb250aW51ZTsKLQotCQkvKiBpZiB0aGUgcmVnaW9uIGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YgPHN0YXJ0LGVuZD4gd2UgbW92ZQotCQkgKiBzdGFydCB0byB0aGUgZW5kIG9mIHRoZSByZWdpb24gc2luY2UgaXQncyBvayB1bnRpbCB0aGVyZQotCQkgKi8KLQkJaWYgKGVpLT5hZGRyIDw9IHN0YXJ0KQotCQkJc3RhcnQgPSBlaS0+YWRkciArIGVpLT5zaXplOwotCQkvKgotCQkgKiBpZiBzdGFydCBpcyBub3cgYXQgb3IgYmV5b25kIGVuZCwgd2UncmUgZG9uZSwgZnVsbAotCQkgKiBjb3ZlcmFnZQotCQkgKi8KLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIEZpbmQgYSBmcmVlIGFyZWEgd2l0aCBzcGVjaWZpZWQgYWxpZ25tZW50IGluIGEgc3BlY2lmaWMgcmFuZ2UuCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfZTgyMF9hcmVhKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJCSAgICB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxvbmcgYWxpZ24pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJdW5zaWduZWQgbG9uZyBhZGRyLCBsYXN0OwotCQl1bnNpZ25lZCBsb25nIGVpX2xhc3Q7Ci0KLQkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOwotCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKLQkJaWYgKGFkZHIgPCBzdGFydCkKLQkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOwotCQlpZiAoYWRkciA+PSBlaV9sYXN0KQotCQkJY29udGludWU7Ci0JCXdoaWxlIChiYWRfYWRkcigmYWRkciwgc2l6ZSwgYWxpZ24pICYmIGFkZHIrc2l6ZSA8PSBlaV9sYXN0KQotCQkJOwotCQlsYXN0ID0gYWRkciArIHNpemU7Ci0JCWlmIChsYXN0ID4gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQlpZiAobGFzdCA+IGVuZCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gYWRkcjsKLQl9Ci0JcmV0dXJuIC0xVUw7Ci19Ci0KLS8qCi0gKiBGaW5kIG5leHQgZnJlZSByYW5nZSBhZnRlciAqc3RhcnQKLSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9lODIwX2FyZWFfc2l6ZSh1bnNpZ25lZCBsb25nIHN0YXJ0LAotCQkJCQkgdW5zaWduZWQgbG9uZyAqc2l6ZXAsCi0JCQkJCSB1bnNpZ25lZCBsb25nIGFsaWduKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCXVuc2lnbmVkIGxvbmcgYWRkciwgbGFzdDsKLQkJdW5zaWduZWQgbG9uZyBlaV9sYXN0OwotCi0JCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQlhZGRyID0gcm91bmRfdXAoZWktPmFkZHIsIGFsaWduKTsKLQkJZWlfbGFzdCA9IGVpLT5hZGRyICsgZWktPnNpemU7Ci0JCWlmIChhZGRyIDwgc3RhcnQpCi0JCQlhZGRyID0gcm91bmRfdXAoc3RhcnQsIGFsaWduKTsKLQkJaWYgKGFkZHIgPj0gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQkqc2l6ZXAgPSBlaV9sYXN0IC0gYWRkcjsKLQkJd2hpbGUgKGJhZF9hZGRyX3NpemUoJmFkZHIsIHNpemVwLCBhbGlnbikgJiYKLQkJCWFkZHIgKyAqc2l6ZXAgPD0gZWlfbGFzdCkKLQkJCTsKLQkJbGFzdCA9IGFkZHIgKyAqc2l6ZXA7Ci0JCWlmIChsYXN0ID4gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gYWRkcjsKLQl9Ci0JcmV0dXJuIC0xVUw7Ci0KLX0KLS8qCi0gKiBGaW5kIHRoZSBoaWdoZXN0IHBhZ2UgZnJhbWUgbnVtYmVyIHdlIGhhdmUgYXZhaWxhYmxlCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX29mX3JhbSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKLQotCWVuZF9wZm4gPSBmaW5kX21heF9wZm5fd2l0aF9hY3RpdmVfcmVnaW9ucygpOwotCi0JaWYgKGVuZF9wZm4gPiBtYXhfcGZuX21hcHBlZCkKLQkJbWF4X3Bmbl9tYXBwZWQgPSBlbmRfcGZuOwotCWlmIChtYXhfcGZuX21hcHBlZCA+IE1BWE1FTT4+UEFHRV9TSElGVCkKLQkJbWF4X3Bmbl9tYXBwZWQgPSBNQVhNRU0+PlBBR0VfU0hJRlQ7Ci0JaWYgKGVuZF9wZm4gPiBlbmRfdXNlcl9wZm4pCi0JCWVuZF9wZm4gPSBlbmRfdXNlcl9wZm47Ci0JaWYgKGVuZF9wZm4gPiBtYXhfcGZuX21hcHBlZCkKLQkJZW5kX3BmbiA9IG1heF9wZm5fbWFwcGVkOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAibWF4X3Bmbl9tYXBwZWQgPSAlbHVcbiIsIG1heF9wZm5fbWFwcGVkKTsKLQlyZXR1cm4gZW5kX3BmbjsKLX0KLQotLyoKLSAqIE1hcmsgZTgyMCByZXNlcnZlZCBhcmVhcyBhcyBidXN5IGZvciB0aGUgcmVzb3VyY2UgbWFuYWdlci4KLSAqLwotdm9pZCBfX2luaXQgZTgyMF9yZXNlcnZlX3Jlc291cmNlcyh2b2lkKQotewotCWludCBpOwotCXN0cnVjdCByZXNvdXJjZSAqcmVzOwotCi0JcmVzID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKiBlODIwLm5yX21hcCk7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3dpdGNoIChlODIwLm1hcFtpXS50eXBlKSB7Ci0JCWNhc2UgRTgyMF9SQU06CXJlcy0+bmFtZSA9ICJTeXN0ZW0gUkFNIjsgYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOglyZXMtPm5hbWUgPSAiQUNQSSBUYWJsZXMiOyBicmVhazsKLQkJY2FzZSBFODIwX05WUzoJcmVzLT5uYW1lID0gIkFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UiOyBicmVhazsKLQkJZGVmYXVsdDoJcmVzLT5uYW1lID0gInJlc2VydmVkIjsKLQkJfQotCQlyZXMtPnN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKLQkJcmVzLT5lbmQgPSByZXMtPnN0YXJ0ICsgZTgyMC5tYXBbaV0uc2l6ZSAtIDE7Ci0JCXJlcy0+ZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWTsKLQkJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgcmVzKTsKLQkJcmVzKys7Ci0JfQotfQotCi0vKgotICogRmluZCB0aGUgcmFuZ2VzIG9mIHBoeXNpY2FsIGFkZHJlc3NlcyB0aGF0IGRvIG5vdCBjb3JyZXNwb25kIHRvCi0gKiBlODIwIFJBTSBhcmVhcyBhbmQgbWFyayB0aGUgY29ycmVzcG9uZGluZyBwYWdlcyBhcyBub3NhdmUgZm9yIHNvZnR3YXJlCi0gKiBzdXNwZW5kIGFuZCBzdXNwZW5kIHRvIFJBTS4KLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoZSBlODIwIG1hcCB0byBiZSBzb3J0ZWQgYW5kIHdpdGhvdXQgYW55Ci0gKiBvdmVybGFwcGluZyBlbnRyaWVzIGFuZCBhc3N1bWVzIHRoZSBmaXJzdCBlODIwIGFyZWEgdG8gYmUgUkFNLgotICovCi12b2lkIF9faW5pdCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCkKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIHBhZGRyOwotCi0JcGFkZHIgPSByb3VuZF9kb3duKGU4MjAubWFwWzBdLmFkZHIgKyBlODIwLm1hcFswXS5zaXplLCBQQUdFX1NJWkUpOwotCWZvciAoaSA9IDE7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCi0JCWlmIChwYWRkciA8IGVpLT5hZGRyKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihQRk5fRE9XTihwYWRkciksCi0JCQkJCQlQRk5fVVAoZWktPmFkZHIpKTsKLQotCQlwYWRkciA9IHJvdW5kX2Rvd24oZWktPmFkZHIgKyBlaS0+c2l6ZSwgUEFHRV9TSVpFKTsKLQkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihQRk5fVVAoZWktPmFkZHIpLAotCQkJCQkJUEZOX0RPV04ocGFkZHIpKTsKLQotCQlpZiAocGFkZHIgPj0gKGVuZF9wZm4gPDwgUEFHRV9TSElGVCkpCi0JCQlicmVhazsKLQl9Ci19Ci0KLS8qCi0gKiBGaW5kcyBhbiBhY3RpdmUgcmVnaW9uIGluIHRoZSBhZGRyZXNzIHJhbmdlIGZyb20gc3RhcnRfcGZuIHRvIGVuZF9wZm4gYW5kCi0gKiByZXR1cm5zIGl0cyByYW5nZSBpbiBlaV9zdGFydHBmbiBhbmQgZWlfZW5kcGZuIGZvciB0aGUgZTgyMCBlbnRyeS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oY29uc3Qgc3RydWN0IGU4MjBlbnRyeSAqZWksCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBlbmRfcGZuLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX2VuZHBmbikKLXsKLQkqZWlfc3RhcnRwZm4gPSByb3VuZF91cChlaS0+YWRkciwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUOwotCSplaV9lbmRwZm4gPSByb3VuZF9kb3duKGVpLT5hZGRyICsgZWktPnNpemUsIFBBR0VfU0laRSkgPj4gUEFHRV9TSElGVDsKLQotCS8qIFNraXAgbWFwIGVudHJpZXMgc21hbGxlciB0aGFuIGEgcGFnZSAqLwotCWlmICgqZWlfc3RhcnRwZm4gPj0gKmVpX2VuZHBmbikKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDaGVjayBpZiBtYXhfcGZuX21hcHBlZCBzaG91bGQgYmUgdXBkYXRlZCAqLwotCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSAmJiAqZWlfZW5kcGZuID4gbWF4X3Bmbl9tYXBwZWQpCi0JCW1heF9wZm5fbWFwcGVkID0gKmVpX2VuZHBmbjsKLQotCS8qIFNraXAgaWYgbWFwIGlzIG91dHNpZGUgdGhlIG5vZGUgKi8KLQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0gfHwgKmVpX2VuZHBmbiA8PSBzdGFydF9wZm4gfHwKLQkJCQkgICAgKmVpX3N0YXJ0cGZuID49IGVuZF9wZm4pCi0JCXJldHVybiAwOwotCi0JLyogQ2hlY2sgZm9yIG92ZXJsYXBzICovCi0JaWYgKCplaV9zdGFydHBmbiA8IHN0YXJ0X3BmbikKLQkJKmVpX3N0YXJ0cGZuID0gc3RhcnRfcGZuOwotCWlmICgqZWlfZW5kcGZuID4gZW5kX3BmbikKLQkJKmVpX2VuZHBmbiA9IGVuZF9wZm47Ci0KLQkvKiBPYmV5IGVuZF91c2VyX3BmbiB0byBzYXZlIG9uIG1lbW1hcCAqLwotCWlmICgqZWlfc3RhcnRwZm4gPj0gZW5kX3VzZXJfcGZuKQotCQlyZXR1cm4gMDsKLQlpZiAoKmVpX2VuZHBmbiA+IGVuZF91c2VyX3BmbikKLQkJKmVpX2VuZHBmbiA9IGVuZF91c2VyX3BmbjsKLQotCXJldHVybiAxOwotfQotCi0vKiBXYWxrIHRoZSBlODIwIG1hcCBhbmQgcmVnaXN0ZXIgYWN0aXZlIHJlZ2lvbnMgd2l0aGluIGEgbm9kZSAqLwotdm9pZCBfX2luaXQKLWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKQotewotCXVuc2lnbmVkIGxvbmcgZWlfc3RhcnRwZm47Ci0JdW5zaWduZWQgbG9uZyBlaV9lbmRwZm47Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykKLQkJaWYgKGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKCZlODIwLm1hcFtpXSwKLQkJCQkJICAgIHN0YXJ0X3BmbiwgZW5kX3BmbiwKLQkJCQkJICAgICZlaV9zdGFydHBmbiwgJmVpX2VuZHBmbikpCi0JCQlhZGRfYWN0aXZlX3JhbmdlKG5pZCwgZWlfc3RhcnRwZm4sIGVpX2VuZHBmbik7Ci19Ci0KLS8qCi0gKiBBZGQgYSBtZW1vcnkgcmVnaW9uIHRvIHRoZSBrZXJuZWwgZTgyMCBtYXAuCi0gKi8KLXZvaWQgX19pbml0IGFkZF9tZW1vcnlfcmVnaW9uKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IHR5cGUpCi17Ci0JaW50IHggPSBlODIwLm5yX21hcDsKLQotCWlmICh4ID09IEU4MjBNQVgpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJPb29wcyEgVG9vIG1hbnkgZW50cmllcyBpbiB0aGUgbWVtb3J5IG1hcCFcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JZTgyMC5tYXBbeF0uYWRkciA9IHN0YXJ0OwotCWU4MjAubWFwW3hdLnNpemUgPSBzaXplOwotCWU4MjAubWFwW3hdLnR5cGUgPSB0eXBlOwotCWU4MjAubnJfbWFwKys7Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSBob2xlIHNpemUgKGluIGJ5dGVzKSBpbiB0aGUgbWVtb3J5IHJhbmdlLgotICogQHN0YXJ0OiBzdGFydGluZyBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UgdG8gc2NhbgotICogQGVuZDogZW5kaW5nIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSB0byBzY2FuCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfaG9sZV9zaXplKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQotewotCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuLCBlaV9lbmRwZm4sIHJhbSA9IDA7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlpZiAoZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oJmU4MjAubWFwW2ldLAotCQkJCQkgICAgc3RhcnRfcGZuLCBlbmRfcGZuLAotCQkJCQkgICAgJmVpX3N0YXJ0cGZuLCAmZWlfZW5kcGZuKSkKLQkJCXJhbSArPSBlaV9lbmRwZm4gLSBlaV9zdGFydHBmbjsKLQl9Ci0JcmV0dXJuIGVuZCAtIHN0YXJ0IC0gKHJhbSA8PCBQQUdFX1NISUZUKTsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0IGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobykKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKLQkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIGU4MjAubWFwW2ldLmFkZHIsCi0JCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKQotCQkgICAgICAgKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKSk7Ci0JCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgewotCQljYXNlIEU4MjBfUkFNOgotCQkJcHJpbnRrKEtFUk5fQ09OVCAiKHVzYWJsZSlcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9SRVNFUlZFRDoKLQkJCXByaW50ayhLRVJOX0NPTlQgIihyZXNlcnZlZClcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOgotCQkJcHJpbnRrKEtFUk5fQ09OVCAiKEFDUEkgZGF0YSlcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9OVlM6Ci0JCQlwcmludGsoS0VSTl9DT05UICIoQUNQSSBOVlMpXG4iKTsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcHJpbnRrKEtFUk5fQ09OVCAidHlwZSAldVxuIiwgZTgyMC5tYXBbaV0udHlwZSk7Ci0JCQlicmVhazsKLQkJfQotCX0KLX0KLQotLyoKLSAqIFNhbml0aXplIHRoZSBCSU9TIGU4MjAgbWFwLgotICoKLSAqIFNvbWUgZTgyMCByZXNwb25zZXMgaW5jbHVkZSBvdmVybGFwcGluZyBlbnRyaWVzLiBUaGUgZm9sbG93aW5nCi0gKiByZXBsYWNlcyB0aGUgb3JpZ2luYWwgZTgyMCBtYXAgd2l0aCBhIG5ldyBvbmUsIHJlbW92aW5nIG92ZXJsYXBzLgotICoKLSAqLwotc3RhdGljIGludCBfX2luaXQgc2FuaXRpemVfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgY2hhciAqcG5yX21hcCkKLXsKLQlzdHJ1Y3QgY2hhbmdlX21lbWJlciB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKnBiaW9zOyAvKiBwb2ludGVyIHRvIG9yaWdpbmFsIGJpb3MgZW50cnkgKi8KLQkJdW5zaWduZWQgbG9uZyBsb25nIGFkZHI7IC8qIGFkZHJlc3MgZm9yIHRoaXMgY2hhbmdlIHBvaW50ICovCi0JfTsKLQlzdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgY2hhbmdlX3BvaW50X2xpc3RbMipFODIwTUFYXSBfX2luaXRkYXRhOwotCXN0YXRpYyBzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3BvaW50WzIqRTgyME1BWF0gX19pbml0ZGF0YTsKLQlzdGF0aWMgc3RydWN0IGU4MjBlbnRyeSAqb3ZlcmxhcF9saXN0W0U4MjBNQVhdIF9faW5pdGRhdGE7Ci0Jc3RhdGljIHN0cnVjdCBlODIwZW50cnkgbmV3X2Jpb3NbRTgyME1BWF0gX19pbml0ZGF0YTsKLQlzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3RtcDsKLQl1bnNpZ25lZCBsb25nIGN1cnJlbnRfdHlwZSwgbGFzdF90eXBlOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBsYXN0X2FkZHI7Ci0JaW50IGNoZ2lkeCwgc3RpbGxfY2hhbmdpbmc7Ci0JaW50IG92ZXJsYXBfZW50cmllczsKLQlpbnQgbmV3X2Jpb3NfZW50cnk7Ci0JaW50IG9sZF9uciwgbmV3X25yLCBjaGdfbnI7Ci0JaW50IGk7Ci0KLQkvKgotCQlWaXN1YWxseSB3ZSdyZSBwZXJmb3JtaW5nIHRoZSBmb2xsb3dpbmcKLQkJKDEsMiwzLDQgPSBtZW1vcnkgdHlwZXMpLi4uCi0KLQkJU2FtcGxlIG1lbW9yeSBtYXAgKHcvb3ZlcmxhcHMpOgotCQkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCi0JCSAgIF9fX18xMTExX19fX19fX19fX19fX19fXwotCQkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KLQkJICAgMTExMTExMTFfX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXwotCQkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KLQkJICAgX19fX19fX19fXzMzMzMzX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fMjJfX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fMjIyMl8KLQkJICAgX19fX19fX19fMTExMTExMTExX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fXzExXwotCQkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KLQotCQlTYW5pdGl6ZWQgZXF1aXZhbGVudCAobm8gb3ZlcmxhcCk6Ci0JCSAgIDFfX19fX19fX19fX19fX19fX19fX19fXwotCQkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KLQkJICAgX19fMV9fX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX18yMl9fX19fX19fX19fX19fX19fXwotCQkgICBfX19fX18xMV9fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fMV9fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX18zX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fXzMzX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fXzJfX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fMV9fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX180X19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX18yX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCi0JKi8KLQotCS8qIGlmIHRoZXJlJ3Mgb25seSBvbmUgbWVtb3J5IHJlZ2lvbiwgZG9uJ3QgYm90aGVyICovCi0JaWYgKCpwbnJfbWFwIDwgMikKLQkJcmV0dXJuIC0xOwotCi0Jb2xkX25yID0gKnBucl9tYXA7Ci0KLQkvKiBiYWlsIG91dCBpZiB3ZSBmaW5kIGFueSB1bnJlYXNvbmFibGUgYWRkcmVzc2VzIGluIGJpb3MgbWFwICovCi0JZm9yIChpID0gMDsgaSA8IG9sZF9ucjsgaSsrKQotCQlpZiAoYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplIDwgYmlvc21hcFtpXS5hZGRyKQotCQkJcmV0dXJuIC0xOwotCi0JLyogY3JlYXRlIHBvaW50ZXJzIGZvciBpbml0aWFsIGNoYW5nZS1wb2ludCBpbmZvcm1hdGlvbiAoZm9yIHNvcnRpbmcpICovCi0JZm9yIChpID0gMDsgaSA8IDIgKiBvbGRfbnI7IGkrKykKLQkJY2hhbmdlX3BvaW50W2ldID0gJmNoYW5nZV9wb2ludF9saXN0W2ldOwotCi0JLyogcmVjb3JkIGFsbCBrbm93biBjaGFuZ2UtcG9pbnRzIChzdGFydGluZyBhbmQgZW5kaW5nIGFkZHJlc3NlcyksCi0JICAgb21pdHRpbmcgdGhvc2UgdGhhdCBhcmUgZm9yIGVtcHR5IG1lbW9yeSByZWdpb25zICovCi0JY2hnaWR4ID0gMDsKLQlmb3IgKGkgPSAwOyBpIDwgb2xkX25yOyBpKyspCXsKLQkJaWYgKGJpb3NtYXBbaV0uc2l6ZSAhPSAwKSB7Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkcjsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkciArCi0JCQkJYmlvc21hcFtpXS5zaXplOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJfQotCX0KLQljaGdfbnIgPSBjaGdpZHg7Ci0KLQkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLwotCXN0aWxsX2NoYW5naW5nID0gMTsKLQl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKLQkJc3RpbGxfY2hhbmdpbmcgPSAwOwotCQlmb3IgKGkgPSAxOyBpIDwgY2hnX25yOyBpKyspICB7Ci0JCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VyYWRkciwgbGFzdGFkZHI7Ci0JCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VycGJhZGRyLCBsYXN0cGJhZGRyOwotCi0JCQljdXJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5hZGRyOwotCQkJbGFzdGFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5hZGRyOwotCQkJY3VycGJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5wYmlvcy0+YWRkcjsKLQkJCWxhc3RwYmFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5wYmlvcy0+YWRkcjsKLQotCQkJLyoKLQkJCSAqIHN3YXAgZW50cmllcywgd2hlbjoKLQkJCSAqCi0JCQkgKiBjdXJhZGRyID4gbGFzdGFkZHIgb3IKLQkJCSAqIGN1cmFkZHIgPT0gbGFzdGFkZHIgYW5kIGN1cmFkZHIgPT0gY3VycGJhZGRyIGFuZAotCQkJICogbGFzdGFkZHIgIT0gbGFzdHBiYWRkcgotCQkJICovCi0JCQlpZiAoY3VyYWRkciA8IGxhc3RhZGRyIHx8Ci0JCQkgICAgKGN1cmFkZHIgPT0gbGFzdGFkZHIgJiYgY3VyYWRkciA9PSBjdXJwYmFkZHIgJiYKLQkJCSAgICAgbGFzdGFkZHIgIT0gbGFzdHBiYWRkcikpIHsKLQkJCQljaGFuZ2VfdG1wID0gY2hhbmdlX3BvaW50W2ldOwotCQkJCWNoYW5nZV9wb2ludFtpXSA9IGNoYW5nZV9wb2ludFtpLTFdOwotCQkJCWNoYW5nZV9wb2ludFtpLTFdID0gY2hhbmdlX3RtcDsKLQkJCQlzdGlsbF9jaGFuZ2luZyA9IDE7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLwotCW92ZXJsYXBfZW50cmllcyA9IDA7CSAvKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgb3ZlcmxhcCB0YWJsZSAqLwotCW5ld19iaW9zX2VudHJ5ID0gMDsJIC8qIGluZGV4IGZvciBjcmVhdGluZyBuZXcgYmlvcyBtYXAgZW50cmllcyAqLwotCWxhc3RfdHlwZSA9IDA7CQkgLyogc3RhcnQgd2l0aCB1bmRlZmluZWQgbWVtb3J5IHR5cGUgKi8KLQlsYXN0X2FkZHIgPSAwOwkJIC8qIHN0YXJ0IHdpdGggMCBhcyBsYXN0IHN0YXJ0aW5nIGFkZHJlc3MgKi8KLQotCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLwotCWZvciAoY2hnaWR4ID0gMDsgY2hnaWR4IDwgY2hnX25yOyBjaGdpZHgrKykgewotCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KLQkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09Ci0JCSAgICBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MtPmFkZHIpIHsKLQkJCS8qCi0JCQkgKiBhZGQgbWFwIGVudHJ5IHRvIG92ZXJsYXAgbGlzdCAoPiAxIGVudHJ5Ci0JCQkgKiBpbXBsaWVzIGFuIG92ZXJsYXApCi0JCQkgKi8KLQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMrK10gPQotCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKLQkJfSBlbHNlIHsKLQkJCS8qCi0JCQkgKiByZW1vdmUgZW50cnkgZnJvbSBsaXN0IChvcmRlciBpbmRlcGVuZGVudCwKLQkJCSAqIHNvIHN3YXAgd2l0aCBsYXN0KQotCQkJICovCi0JCQlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxhcF9lbnRyaWVzOyBpKyspIHsKLQkJCQlpZiAob3ZlcmxhcF9saXN0W2ldID09Ci0JCQkJICAgIGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcykKLQkJCQkJb3ZlcmxhcF9saXN0W2ldID0KLQkJCQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMtMV07Ci0JCQl9Ci0JCQlvdmVybGFwX2VudHJpZXMtLTsKLQkJfQotCQkvKgotCQkgKiBpZiB0aGVyZSBhcmUgb3ZlcmxhcHBpbmcgZW50cmllcywgZGVjaWRlIHdoaWNoCi0JCSAqICJ0eXBlIiB0byB1c2UgKGxhcmdlciB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIC0tCi0JCSAqIDE9dXNhYmxlLCAyLDMsNCw0Kz11bnVzYWJsZSkKLQkJICovCi0JCWN1cnJlbnRfdHlwZSA9IDA7Ci0JCWZvciAoaSA9IDA7IGkgPCBvdmVybGFwX2VudHJpZXM7IGkrKykKLQkJCWlmIChvdmVybGFwX2xpc3RbaV0tPnR5cGUgPiBjdXJyZW50X3R5cGUpCi0JCQkJY3VycmVudF90eXBlID0gb3ZlcmxhcF9saXN0W2ldLT50eXBlOwotCQkvKgotCQkgKiBjb250aW51ZSBidWlsZGluZyB1cCBuZXcgYmlvcyBtYXAgYmFzZWQgb24gdGhpcwotCQkgKiBpbmZvcm1hdGlvbgotCQkgKi8KLQkJaWYgKGN1cnJlbnRfdHlwZSAhPSBsYXN0X3R5cGUpCXsKLQkJCWlmIChsYXN0X3R5cGUgIT0gMCkJIHsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSA9Ci0JCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyIC0gbGFzdF9hZGRyOwotCQkJCS8qCi0JCQkJICogbW92ZSBmb3J3YXJkIG9ubHkgaWYgdGhlIG5ldyBzaXplCi0JCQkJICogd2FzIG5vbi16ZXJvCi0JCQkJICovCi0JCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCi0JCQkJCS8qCi0JCQkJCSAqIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3Ci0JCQkJCSAqIGJpb3MgZW50cmllcyA/Ci0JCQkJCSAqLwotCQkJCQlpZiAoKytuZXdfYmlvc19lbnRyeSA+PSBFODIwTUFYKQotCQkJCQkJYnJlYWs7Ci0JCQl9Ci0JCQlpZiAoY3VycmVudF90eXBlICE9IDApCXsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uYWRkciA9Ci0JCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOwotCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS50eXBlID0gY3VycmVudF90eXBlOwotCQkJCWxhc3RfYWRkciA9IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOwotCQkJfQotCQkJbGFzdF90eXBlID0gY3VycmVudF90eXBlOwotCQl9Ci0JfQotCS8qIHJldGFpbiBjb3VudCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLwotCW5ld19uciA9IG5ld19iaW9zX2VudHJ5OwotCi0JLyogY29weSBuZXcgYmlvcyBtYXBwaW5nIGludG8gb3JpZ2luYWwgbG9jYXRpb24gKi8KLQltZW1jcHkoYmlvc21hcCwgbmV3X2Jpb3MsIG5ld19uciAqIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7Ci0JKnBucl9tYXAgPSBuZXdfbnI7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIENvcHkgdGhlIEJJT1MgZTgyMCBtYXAgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICogU2FuaXR5LWNoZWNrIGl0IHdoaWxlIHdlJ3JlIGF0IGl0Li4KLSAqCi0gKiBJZiB3ZSdyZSBsdWNreSBhbmQgbGl2ZSBvbiBhIG1vZGVybiBzeXN0ZW0sIHRoZSBzZXR1cCBjb2RlCi0gKiB3aWxsIGhhdmUgZ2l2ZW4gdXMgYSBtZW1vcnkgbWFwIHRoYXQgd2UgY2FuIHVzZSB0byBwcm9wZXJseQotICogc2V0IHVwIG1lbW9yeS4gIElmIHdlIGFyZW4ndCwgd2UnbGwgZmFrZSBhIG1lbW9yeSBtYXAuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGNvcHlfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKLXsKLQkvKiBPbmx5IG9uZSBtZW1vcnkgcmVnaW9uIChvciBuZWdhdGl2ZSk/IElnbm9yZSBpdCAqLwotCWlmIChucl9tYXAgPCAyKQotCQlyZXR1cm4gLTE7Ci0KLQlkbyB7Ci0JCXU2NCBzdGFydCA9IGJpb3NtYXAtPmFkZHI7Ci0JCXU2NCBzaXplID0gYmlvc21hcC0+c2l6ZTsKLQkJdTY0IGVuZCA9IHN0YXJ0ICsgc2l6ZTsKLQkJdTMyIHR5cGUgPSBiaW9zbWFwLT50eXBlOwotCi0JCS8qIE92ZXJmbG93IGluIDY0IGJpdHM/IElnbm9yZSB0aGUgbWVtb3J5IG1hcC4gKi8KLQkJaWYgKHN0YXJ0ID4gZW5kKQotCQkJcmV0dXJuIC0xOwotCi0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0LCBzaXplLCB0eXBlKTsKLQl9IHdoaWxlIChiaW9zbWFwKyssIC0tbnJfbWFwKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZWFybHlfcGFuaWMoY2hhciAqbXNnKQotewotCWVhcmx5X3ByaW50ayhtc2cpOwotCXBhbmljKG1zZyk7Ci19Ci0KLS8qIFdlJ3JlIG5vdCB2b2lkIG9ubHkgZm9yIHg4NiAzMi1iaXQgY29tcGF0ICovCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCi17Ci0JY2hhciAqd2hvID0gIkJJT1MtZTgyMCI7Ci0JLyoKLQkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KLQkgKgotCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKLQkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1fawotCSAqLwotCXNhbml0aXplX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCAmYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKTsKLQlpZiAoY29weV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKSA8IDApCi0JCWVhcmx5X3BhbmljKCJDYW5ub3QgZmluZCBhIHZhbGlkIG1lbW9yeSBtYXAiKTsKLQlwcmludGsoS0VSTl9JTkZPICJCSU9TLXByb3ZpZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQllODIwX3ByaW50X21hcCh3aG8pOwotCi0JLyogSW4gY2FzZSBzb21lb25lIGNhcmVzLi4uICovCi0JcmV0dXJuIHdobzsKLX0KLQotc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtb3B0KGNoYXIgKnApCi17Ci0JaWYgKCFwKQotCQlyZXR1cm4gLUVJTlZBTDsKLQllbmRfdXNlcl9wZm4gPSBtZW1wYXJzZShwLCAmcCk7Ci0JZW5kX3VzZXJfcGZuID4+PSBQQUdFX1NISUZUOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oIm1lbSIsIHBhcnNlX21lbW9wdCk7Ci0KLXN0YXRpYyBpbnQgdXNlcmRlZiBfX2luaXRkYXRhOwotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXBfb3B0KGNoYXIgKnApCi17Ci0JY2hhciAqb2xkcDsKLQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnRfYXQsIG1lbV9zaXplOwotCi0JaWYgKCFzdHJjbXAocCwgImV4YWN0bWFwIikpIHsKLSNpZmRlZiBDT05GSUdfQ1JBU0hfRFVNUAotCQkvKgotCQkgKiBJZiB3ZSBhcmUgZG9pbmcgYSBjcmFzaCBkdW1wLCB3ZSBzdGlsbCBuZWVkIHRvIGtub3cKLQkJICogdGhlIHJlYWwgbWVtIHNpemUgYmVmb3JlIG9yaWdpbmFsIG1lbW9yeSBtYXAgaXMKLQkJICogcmVzZXQuCi0JCSAqLwotCQllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIC0xVUwpOwotCQlzYXZlZF9tYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtKCk7Ci0JCXJlbW92ZV9hbGxfYWN0aXZlX3JhbmdlcygpOwotI2VuZGlmCi0JCW1heF9wZm5fbWFwcGVkID0gMDsKLQkJZTgyMC5ucl9tYXAgPSAwOwotCQl1c2VyZGVmID0gMTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0Jb2xkcCA9IHA7Ci0JbWVtX3NpemUgPSBtZW1wYXJzZShwLCAmcCk7Ci0JaWYgKHAgPT0gb2xkcCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQl1c2VyZGVmID0gMTsKLQlpZiAoKnAgPT0gJ0AnKSB7Ci0JCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOwotCX0gZWxzZSBpZiAoKnAgPT0gJyMnKSB7Ci0JCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9BQ1BJKTsKLQl9IGVsc2UgaWYgKCpwID09ICckJykgewotCQlzdGFydF9hdCA9IG1lbXBhcnNlKHArMSwgJnApOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOwotCX0gZWxzZSB7Ci0JCWVuZF91c2VyX3BmbiA9IChtZW1fc2l6ZSA+PiBQQUdFX1NISUZUKTsKLQl9Ci0JcmV0dXJuICpwID09ICdcMCcgPyAwIDogLUVJTlZBTDsKLX0KLWVhcmx5X3BhcmFtKCJtZW1tYXAiLCBwYXJzZV9tZW1tYXBfb3B0KTsKLQotdm9pZCBfX2luaXQgZmluaXNoX2U4MjBfcGFyc2luZyh2b2lkKQotewotCWlmICh1c2VyZGVmKSB7Ci0JCWNoYXIgbnIgPSBlODIwLm5yX21hcDsKLQotCQlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsICZucikgPCAwKQotCQkJZWFybHlfcGFuaWMoIkludmFsaWQgdXNlciBzdXBwbGllZCBtZW1vcnkgbWFwIik7Ci0JCWU4MjAubnJfbWFwID0gbnI7Ci0KLQkJcHJpbnRrKEtFUk5fSU5GTyAidXNlci1kZWZpbmVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQkJZTgyMF9wcmludF9tYXAoInVzZXIiKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IHVwZGF0ZV9tZW1vcnlfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCi0JCQkJdW5zaWduZWQgbmV3X3R5cGUpCi17Ci0JaW50IGk7Ci0KLQlCVUdfT04ob2xkX3R5cGUgPT0gbmV3X3R5cGUpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOwotCQlpZiAoZWktPnR5cGUgIT0gb2xkX3R5cGUpCi0JCQljb250aW51ZTsKLQkJLyogdG90YWxseSBjb3ZlcmVkPyAqLwotCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYgZWktPnNpemUgPD0gc2l6ZSkgewotCQkJZWktPnR5cGUgPSBuZXdfdHlwZTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCS8qIHBhcnRpYWxseSBjb3ZlcmVkICovCi0JCWZpbmFsX3N0YXJ0ID0gbWF4KHN0YXJ0LCBlaS0+YWRkcik7Ci0JCWZpbmFsX2VuZCA9IG1pbihzdGFydCArIHNpemUsIGVpLT5hZGRyICsgZWktPnNpemUpOwotCQlpZiAoZmluYWxfc3RhcnQgPj0gZmluYWxfZW5kKQotCQkJY29udGludWU7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCwKLQkJCQkJIG5ld190eXBlKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IHVwZGF0ZV9lODIwKHZvaWQpCi17Ci0JdTggbnJfbWFwOwotCi0JbnJfbWFwID0gZTgyMC5ucl9tYXA7Ci0JaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCAmbnJfbWFwKSkKLQkJcmV0dXJuOwotCWU4MjAubnJfbWFwID0gbnJfbWFwOwotCXByaW50ayhLRVJOX0lORk8gIm1vZGlmaWVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQllODIwX3ByaW50X21hcCgibW9kaWZpZWQiKTsKLX0KLQotdW5zaWduZWQgbG9uZyBwY2lfbWVtX3N0YXJ0ID0gMHhhZWVkYmFiZTsKLUVYUE9SVF9TWU1CT0wocGNpX21lbV9zdGFydCk7Ci0KLS8qCi0gKiBTZWFyY2ggZm9yIHRoZSBiaWdnZXN0IGdhcCBpbiB0aGUgbG93IDMyIGJpdHMgb2YgdGhlIGU4MjAKLSAqIG1lbW9yeSBzcGFjZS4gIFdlIHBhc3MgdGhpcyBzcGFjZSB0byBQQ0kgdG8gYXNzaWduIE1NSU8gcmVzb3VyY2VzCi0gKiBmb3IgaG90cGx1ZyBvciB1bmNvbmZpZ3VyZWQgZGV2aWNlcyBpbi4KLSAqIEhvcGVmdWxseSB0aGUgQklPUyBsZXQgZW5vdWdoIHNwYWNlIGxlZnQuCi0gKi8KLV9faW5pdCB2b2lkIGU4MjBfc2V0dXBfZ2FwKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBnYXBzdGFydCwgZ2Fwc2l6ZSwgcm91bmQ7Ci0JdW5zaWduZWQgbG9uZyBsYXN0OwotCWludCBpOwotCWludCBmb3VuZCA9IDA7Ci0KLQlsYXN0ID0gMHgxMDAwMDAwMDB1bGw7Ci0JZ2Fwc3RhcnQgPSAweDEwMDAwMDAwOwotCWdhcHNpemUgPSAweDQwMDAwMDsKLQlpID0gZTgyMC5ucl9tYXA7Ci0Jd2hpbGUgKC0taSA+PSAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBlbmQgPSBzdGFydCArIGU4MjAubWFwW2ldLnNpemU7Ci0KLQkJLyoKLQkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCi0JCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKLQkJICovCi0JCWlmIChsYXN0ID4gZW5kKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7Ci0KLQkJCWlmIChnYXAgPiBnYXBzaXplKSB7Ci0JCQkJZ2Fwc2l6ZSA9IGdhcDsKLQkJCQlnYXBzdGFydCA9IGVuZDsKLQkJCQlmb3VuZCA9IDE7Ci0JCQl9Ci0JCX0KLQkJaWYgKHN0YXJ0IDwgbGFzdCkKLQkJCWxhc3QgPSBzdGFydDsKLQl9Ci0KLQlpZiAoIWZvdW5kKSB7Ci0JCWdhcHN0YXJ0ID0gKGVuZF9wZm4gPDwgUEFHRV9TSElGVCkgKyAxMDI0KjEwMjQ7Ci0JCXByaW50ayhLRVJOX0VSUiAiUENJOiBXYXJuaW5nOiBDYW5ub3QgZmluZCBhIGdhcCBpbiB0aGUgMzJiaXQgIgotCQkgICAgICAgImFkZHJlc3MgcmFuZ2VcbiIKLQkJICAgICAgIEtFUk5fRVJSICJQQ0k6IFVuYXNzaWduZWQgZGV2aWNlcyB3aXRoIDMyYml0IHJlc291cmNlICIKLQkJICAgICAgICJyZWdpc3RlcnMgbWF5IGJyZWFrIVxuIik7Ci0JfQotCi0JLyoKLQkgKiBTZWUgaG93IG11Y2ggd2Ugd2FudCB0byByb3VuZCB1cDogc3RhcnQgb2ZmIHdpdGgKLQkgKiByb3VuZGluZyB0byB0aGUgbmV4dCAxTUIgYXJlYS4KLQkgKi8KLQlyb3VuZCA9IDB4MTAwMDAwOwotCXdoaWxlICgoZ2Fwc2l6ZSA+PiA0KSA+IHJvdW5kKQotCQlyb3VuZCArPSByb3VuZDsKLQkvKiBGdW4gd2l0aCB0d28ncyBjb21wbGVtZW50ICovCi0JcGNpX21lbV9zdGFydCA9IChnYXBzdGFydCArIHJvdW5kKSAmIC1yb3VuZDsKLQotCXByaW50ayhLRVJOX0lORk8KLQkgICAgICAgIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlbHggKGdhcDogJWx4OiVseClcbiIsCi0JICAgICAgIHBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKLX0KLQotaW50IF9faW5pdCBhcmNoX2dldF9yYW1fcmFuZ2UoaW50IHNsb3QsIHU2NCAqYWRkciwgdTY0ICpzaXplKQotewotCWludCBpOwotCi0JaWYgKHNsb3QgPCAwIHx8IHNsb3QgPj0gZTgyMC5ucl9tYXApCi0JCXJldHVybiAtMTsKLQlmb3IgKGkgPSBzbG90OyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQlicmVhazsKLQl9Ci0JaWYgKGkgPT0gZTgyMC5ucl9tYXAgfHwgZTgyMC5tYXBbaV0uYWRkciA+IChtYXhfcGZuIDw8IFBBR0VfU0hJRlQpKQotCQlyZXR1cm4gLTE7Ci0JKmFkZHIgPSBlODIwLm1hcFtpXS5hZGRyOwotCSpzaXplID0gbWluX3QodTY0LCBlODIwLm1hcFtpXS5zaXplICsgZTgyMC5tYXBbaV0uYWRkciwKLQkJbWF4X3BmbiA8PCBQQUdFX1NISUZUKSAtICphZGRyOwotCXJldHVybiBpICsgMTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYwppbmRleCA5ZjUxZTFlLi5hNDY2NWYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWFybHktcXVpcmtzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jCkBAIC01MCw3ICs1MCw3IEBACiBzdGF0aWMgdm9pZCBfX2luaXQgdmlhX2J1Z3MoaW50ICBudW0sIGludCBzbG90LCBpbnQgZnVuYykKIHsKICNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQotCWlmICgoZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4gfHwgIGZvcmNlX2lvbW11KSAmJgorCWlmICgobWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4gfHwgIGZvcmNlX2lvbW11KSAmJgogCSAgICAhZ2FydF9pb21tdV9hcGVydHVyZV9hbGxvd2VkKSB7CiAJCXByaW50ayhLRVJOX0lORk8KIAkJICAgICAgICJMb29rcyBsaWtlIGEgVklBIGNoaXBzZXQuIERpc2FibGluZyBJT01NVS4iCkBAIC05OCwxNyArOTgsNiBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBhdGlfYnVncyhpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCi17Ci0jaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCi0JaWYgKHRpbWVyX292ZXJfODI1NCA9PSAxKSB7Ci0JCXRpbWVyX292ZXJfODI1NCA9IDA7Ci0JCXByaW50ayhLRVJOX0lORk8KLQkJIkFUSSBib2FyZCBkZXRlY3RlZC4gRGlzYWJsaW5nIHRpbWVyIHJvdXRpbmcgb3ZlciA4MjU0LlxuIik7Ci0JfQotI2VuZGlmCi19Ci0KICNkZWZpbmUgUUZMQUdfQVBQTFlfT05DRSAJMHgxCiAjZGVmaW5lIFFGTEFHX0FQUExJRUQJCTB4MgogI2RlZmluZSBRRkxBR19ET05FCQkoUUZMQUdfQVBQTFlfT05DRXxRRkxBR19BUFBMSUVEKQpAQCAtMTI2LDggKzExNSw2IEBACiAJICBQQ0lfQ0xBU1NfQlJJREdFX1BDSSwgUENJX0FOWV9JRCwgUUZMQUdfQVBQTFlfT05DRSwgbnZpZGlhX2J1Z3MgfSwKIAl7IFBDSV9WRU5ET1JfSURfVklBLCBQQ0lfQU5ZX0lELAogCSAgUENJX0NMQVNTX0JSSURHRV9QQ0ksIFBDSV9BTllfSUQsIFFGTEFHX0FQUExZX09OQ0UsIHZpYV9idWdzIH0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0FOWV9JRCwKLQkgIFBDSV9DTEFTU19CUklER0VfUENJLCBQQ0lfQU5ZX0lELCBRRkxBR19BUFBMWV9PTkNFLCBhdGlfYnVncyB9LAogCXsgUENJX1ZFTkRPUl9JRF9BTUQsIFBDSV9ERVZJQ0VfSURfQU1EX0s4X05CLAogCSAgUENJX0NMQVNTX0JSSURHRV9IT1NULCBQQ0lfQU5ZX0lELCAwLCBmaXhfaHlwZXJ0cmFuc3BvcnRfY29uZmlnIH0sCiAJe30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lYXJseV9wcmludGsuYyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseV9wcmludGsuYwppbmRleCA2NDNmZDg2Li5mZjllNzM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWFybHlfcHJpbnRrLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5X3ByaW50ay5jCkBAIC0xOTYsNyArMTk2LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgY29uc29sZSAqZWFybHlfY29uc29sZSA9ICZlYXJseV92Z2FfY29uc29sZTsKIHN0YXRpYyBpbnQgZWFybHlfY29uc29sZV9pbml0aWFsaXplZDsKIAotdm9pZCBlYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCithc21saW5rYWdlIHZvaWQgZWFybHlfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogCWNoYXIgYnVmWzUxMl07CiAJaW50IG47CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZWZpLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZWZpLmMKaW5kZXggNzdkNDI0Yy4uMDZjYzhkNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2VmaS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lZmkuYwpAQCAtNjQsNiArNjQsMTcgQEAKIH0KIGVhcmx5X3BhcmFtKCJub2VmaSIsIHNldHVwX25vZWZpKTsKIAoraW50IGFkZF9lZmlfbWVtbWFwOworRVhQT1JUX1NZTUJPTChhZGRfZWZpX21lbW1hcCk7CisKK3N0YXRpYyBpbnQgX19pbml0IHNldHVwX2FkZF9lZmlfbWVtbWFwKGNoYXIgKmFyZykKK3sKKwlhZGRfZWZpX21lbW1hcCA9IDE7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgiYWRkX2VmaV9tZW1tYXAiLCBzZXR1cF9hZGRfZWZpX21lbW1hcCk7CisKKwogc3RhdGljIGVmaV9zdGF0dXNfdCB2aXJ0X2VmaV9nZXRfdGltZShlZmlfdGltZV90ICp0bSwgZWZpX3RpbWVfY2FwX3QgKnRjKQogewogCXJldHVybiBlZmlfY2FsbF92aXJ0MihnZXRfdGltZSwgdG0sIHRjKTsKQEAgLTIxMyw2ICsyMjQsNTAgQEAKIAkJICAgICAgZWZ0Lm1pbnV0ZSwgZWZ0LnNlY29uZCk7CiB9CiAKKy8qCisgKiBUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIEVGSSBtZW1vcnkgbWFwLiAgVGhpcyBtaWdodCBpbmNsdWRlCisgKiBtb3JlIHRoYW4gdGhlIG1heCAxMjggZW50cmllcyB0aGF0IGNhbiBmaXQgaW4gdGhlIGU4MjAgbGVnYWN5CisgKiAoemVyb3BhZ2UpIG1lbW9yeSBtYXAuCisgKi8KKworc3RhdGljIHZvaWQgX19pbml0IGRvX2FkZF9lZmlfbWVtbWFwKHZvaWQpCit7CisJdm9pZCAqcDsKKworCWZvciAocCA9IG1lbW1hcC5tYXA7IHAgPCBtZW1tYXAubWFwX2VuZDsgcCArPSBtZW1tYXAuZGVzY19zaXplKSB7CisJCWVmaV9tZW1vcnlfZGVzY190ICptZCA9IHA7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IG1kLT5waHlzX2FkZHI7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBzaXplID0gbWQtPm51bV9wYWdlcyA8PCBFRklfUEFHRV9TSElGVDsKKwkJaW50IGU4MjBfdHlwZTsKKworCQlpZiAobWQtPmF0dHJpYnV0ZSAmIEVGSV9NRU1PUllfV0IpCisJCQllODIwX3R5cGUgPSBFODIwX1JBTTsKKwkJZWxzZQorCQkJZTgyMF90eXBlID0gRTgyMF9SRVNFUlZFRDsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0LCBzaXplLCBlODIwX3R5cGUpOworCX0KKwlzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZlODIwLm5yX21hcCk7Cit9CisKK3ZvaWQgX19pbml0IGVmaV9yZXNlcnZlX2Vhcmx5KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBwbWFwOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCXBtYXAgPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwOworI2Vsc2UKKwlwbWFwID0gKGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXAgfAorCQkoKF9fdTY0KWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfaGk8PDMyKSk7CisjZW5kaWYKKwltZW1tYXAucGh5c19tYXAgPSAodm9pZCAqKXBtYXA7CisJbWVtbWFwLm5yX21hcCA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfc2l6ZSAvCisJCWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CisJbWVtbWFwLmRlc2NfdmVyc2lvbiA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3ZlcnNpb247CisJbWVtbWFwLmRlc2Nfc2l6ZSA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CisJcmVzZXJ2ZV9lYXJseShwbWFwLCBwbWFwICsgbWVtbWFwLm5yX21hcCAqIG1lbW1hcC5kZXNjX3NpemUsCisJCSAgICAgICJFRkkgbWVtbWFwIik7Cit9CisKICNpZiBFRklfREVCVUcKIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9lZmlfbWVtbWFwKHZvaWQpCiB7CkBAIC0yNDQsMTkgKzI5OSwxMSBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCWVmaV9waHlzLnN5c3RhYiA9IChlZmlfc3lzdGVtX3RhYmxlX3QgKilib290X3BhcmFtcy5lZmlfaW5mby5lZmlfc3lzdGFiOwotCW1lbW1hcC5waHlzX21hcCA9ICh2b2lkICopYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcDsKICNlbHNlCiAJZWZpX3BoeXMuc3lzdGFiID0gKGVmaV9zeXN0ZW1fdGFibGVfdCAqKQogCQkoYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX3N5c3RhYiB8CiAJCSAoKF9fdTY0KWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9zeXN0YWJfaGk8PDMyKSk7Ci0JbWVtbWFwLnBoeXNfbWFwID0gKHZvaWQgKikKLQkJKGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXAgfAotCQkgKChfX3U2NClib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwX2hpPDwzMikpOwogI2VuZGlmCi0JbWVtbWFwLm5yX21hcCA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfc2l6ZSAvCi0JCWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7Ci0JbWVtbWFwLmRlc2NfdmVyc2lvbiA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3ZlcnNpb247Ci0JbWVtbWFwLmRlc2Nfc2l6ZSA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CiAKIAllZmkuc3lzdGFiID0gZWFybHlfaW9yZW1hcCgodW5zaWduZWQgbG9uZyllZmlfcGh5cy5zeXN0YWIsCiAJCQkJICAgc2l6ZW9mKGVmaV9zeXN0ZW1fdGFibGVfdCkpOwpAQCAtMzcwLDYgKzQxNyw4IEBACiAJaWYgKG1lbW1hcC5kZXNjX3NpemUgIT0gc2l6ZW9mKGVmaV9tZW1vcnlfZGVzY190KSkKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiS2VybmVsLWRlZmluZWQgbWVtZGVzYyIKIAkJICAgICAgICJkb2Vzbid0IG1hdGNoIHRoZSBvbmUgZnJvbSBFRkkhXG4iKTsKKwlpZiAoYWRkX2VmaV9tZW1tYXApCisJCWRvX2FkZF9lZmlfbWVtbWFwKCk7CiAKIAkvKiBTZXR1cCBmb3IgRUZJIHJ1bnRpbWUgc2VydmljZSAqLwogCXJlYm9vdF90eXBlID0gQk9PVF9FRkk7CkBAIC00MjQsNyArNDczLDcgQEAKIAkJc2l6ZSA9IG1kLT5udW1fcGFnZXMgPDwgRUZJX1BBR0VfU0hJRlQ7CiAJCWVuZCA9IG1kLT5waHlzX2FkZHIgKyBzaXplOwogCi0JCWlmIChQRk5fVVAoZW5kKSA8PSBtYXhfcGZuX21hcHBlZCkKKwkJaWYgKFBGTl9VUChlbmQpIDw9IG1heF9sb3dfcGZuX21hcHBlZCkKIAkJCXZhID0gX192YShtZC0+cGh5c19hZGRyKTsKIAkJZWxzZQogCQkJdmEgPSBlZmlfaW9yZW1hcChtZC0+cGh5c19hZGRyLCBzaXplKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lZmlfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9lZmlfNjQuYwppbmRleCBkMDA2MGZkLi42NTJjNTI4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWZpXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2VmaV82NC5jCkBAIC05NywxMyArOTcsNyBAQAogCWVhcmx5X3J1bnRpbWVfY29kZV9tYXBwaW5nX3NldF9leGVjKDApOwogfQogCi12b2lkIF9faW5pdCBlZmlfcmVzZXJ2ZV9ib290bWVtKHZvaWQpCi17Ci0JcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWMoKHVuc2lnbmVkIGxvbmcpbWVtbWFwLnBoeXNfbWFwLAotCQkJCW1lbW1hcC5ucl9tYXAgKiBtZW1tYXAuZGVzY19zaXplKTsKLX0KLQotdm9pZCBfX2lvbWVtICogX19pbml0IGVmaV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCit2b2lkIF9faW9tZW0gKl9faW5pdCBlZmlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQogewogCXN0YXRpYyB1bnNpZ25lZCBwYWdlc19tYXBwZWQgX19pbml0ZGF0YTsKIAl1bnNpZ25lZCBpLCBwYWdlczsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV8zMi5TIGIvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKaW5kZXggYzc3OGU0Zi4uNmJjMDdmMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKKysrIGIvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKQEAgLTUxLDE0ICs1MSwxNSBAQAogI2luY2x1ZGUgPGFzbS9wZXJjcHUuaD4KICNpbmNsdWRlIDxhc20vZHdhcmYyLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgotI2luY2x1ZGUgImlycV92ZWN0b3JzLmgiCisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorI2luY2x1ZGUgPGFzbS9pcnFfdmVjdG9ycy5oPgogCiAvKgogICogV2UgdXNlIG1hY3JvcyBmb3IgbG93LWxldmVsIG9wZXJhdGlvbnMgd2hpY2ggbmVlZCB0byBiZSBvdmVycmlkZGVuCiAgKiBmb3IgcGFyYXZpcnR1YWxpemF0aW9uLiAgVGhlIGZvbGxvd2luZyB3aWxsIG5ldmVyIGNsb2JiZXIgYW55IHJlZ2lzdGVyczoKICAqICAgSU5URVJSVVBUX1JFVFVSTiAoYWthLiAiaXJldCIpCiAgKiAgIEdFVF9DUjBfSU5UT19FQVggKGFrYS4gIm1vdmwgJWNyMCwgJWVheCIpCi0gKiAgIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUIChha2EgInN0aTsgc3lzZXhpdCIpLgorICogICBFTkFCTEVfSU5URVJSVVBUU19TWVNFWElUIChha2EgInN0aTsgc3lzZXhpdCIpLgogICoKICAqIEZvciBESVNBQkxFX0lOVEVSUlVQVFMvRU5BQkxFX0lOVEVSUlVQVFMgKGFrYSAiY2xpIi8ic3RpIiksIHlvdSBtdXN0CiAgKiBzcGVjaWZ5IHdoYXQgcmVnaXN0ZXJzIGNhbiBiZSBvdmVyd3JpdHRlbiAoQ0xCUl9OT05FLCBDTEJSX0VBWC9FRFgvRUNYL0FOWSkuCkBAIC0zNDksNyArMzUwLDcgQEAKIAl4b3JsICVlYnAsJWVicAogCVRSQUNFX0lSUVNfT04KIDE6CW1vdiAgUFRfRlMoJWVzcCksICVmcwotCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUCisJRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVAogCUNGSV9FTkRQUk9DCiAucHVzaHNlY3Rpb24gLmZpeHVwLCJheCIKIDI6CW1vdmwgJDAsUFRfRlMoJWVzcCkKQEAgLTg3NCwxMCArODc1LDEwIEBACiAucHJldmlvdXMKIEVORChuYXRpdmVfaXJldCkKIAotRU5UUlkobmF0aXZlX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCitFTlRSWShuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQogCXN0aQogCXN5c2V4aXQKLUVORChuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkKK0VORChuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQogI2VuZGlmCiAKIEtQUk9CRV9FTlRSWShpbnQzKQpAQCAtMTAyNCw2ICsxMDI1LDcgQEAKIAlSSU5HMF9JTlRfRlJBTUUKIAlhZGRsICQ1KjQsICVlc3AJCS8qIHJlbW92ZSB4ZW4tcHJvdmlkZWQgZnJhbWUgKi8KIAlqbXAgc3lzZW50ZXJfcGFzdF9lc3AKKwlDRklfRU5EUFJPQwogCiBFTlRSWSh4ZW5faHlwZXJ2aXNvcl9jYWxsYmFjaykKIAlDRklfU1RBUlRQUk9DCkBAIC0xMTEwLDYgKzExMTIsNzcgQEAKIAogI2VuZGlmCS8qIENPTkZJR19YRU4gKi8KIAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKworRU5UUlkobWNvdW50KQorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCW1vdmwgMHhjKCVlc3ApLCAlZWF4CisJc3VibCAkTUNPVU5UX0lOU05fU0laRSwgJWVheAorCisuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWNhbGwgZnRyYWNlX3N0dWIKKworCXBvcGwgJWVkeAorCXBvcGwgJWVjeAorCXBvcGwgJWVheAorCisJcmV0CitFTkQobWNvdW50KQorCitFTlRSWShmdHJhY2VfY2FsbGVyKQorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCW1vdmwgMHhjKCVlc3ApLCAlZWF4CisJbW92bCAweDQoJWVicCksICVlZHgKKwlzdWJsICRNQ09VTlRfSU5TTl9TSVpFLCAlZWF4CisKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJY2FsbCBmdHJhY2Vfc3R1YgorCisJcG9wbCAlZWR4CisJcG9wbCAlZWN4CisJcG9wbCAlZWF4CisKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0CitFTkQoZnRyYWNlX2NhbGxlcikKKworI2Vsc2UgLyogISBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworRU5UUlkobWNvdW50KQorCWNtcGwgJGZ0cmFjZV9zdHViLCBmdHJhY2VfdHJhY2VfZnVuY3Rpb24KKwlqbnogdHJhY2UKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0CisKKwkvKiB0YWtlbiBmcm9tIGdsaWJjICovCit0cmFjZToKKwlwdXNobCAlZWF4CisJcHVzaGwgJWVjeAorCXB1c2hsICVlZHgKKwltb3ZsIDB4YyglZXNwKSwgJWVheAorCW1vdmwgMHg0KCVlYnApLCAlZWR4CisJc3VibCAkTUNPVU5UX0lOU05fU0laRSwgJWVheAorCisJY2FsbCAqZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisKKwlwb3BsICVlZHgKKwlwb3BsICVlY3gKKwlwb3BsICVlYXgKKworCWptcCBmdHJhY2Vfc3R1YgorRU5EKG1jb3VudCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKIC5zZWN0aW9uIC5yb2RhdGEsImEiCiAjaW5jbHVkZSAic3lzY2FsbF90YWJsZV8zMi5TIgogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCmluZGV4IDU1NmE4ZGYuLmFlNjNlNTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCkBAIC01MSwxNiArNTEsMTIxIEBACiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vaXJxZmxhZ3MuaD4KICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKIAkuY29kZTY0CiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitFTlRSWShtY291bnQpCisKKwlzdWJxICQweDM4LCAlcnNwCisJbW92cSAlcmF4LCAoJXJzcCkKKwltb3ZxICVyY3gsIDgoJXJzcCkKKwltb3ZxICVyZHgsIDE2KCVyc3ApCisJbW92cSAlcnNpLCAyNCglcnNwKQorCW1vdnEgJXJkaSwgMzIoJXJzcCkKKwltb3ZxICVyOCwgNDAoJXJzcCkKKwltb3ZxICVyOSwgNDgoJXJzcCkKKworCW1vdnEgMHgzOCglcnNwKSwgJXJkaQorCXN1YnEgJE1DT1VOVF9JTlNOX1NJWkUsICVyZGkKKworLmdsb2JsIG1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwljYWxsIGZ0cmFjZV9zdHViCisKKwltb3ZxIDQ4KCVyc3ApLCAlcjkKKwltb3ZxIDQwKCVyc3ApLCAlcjgKKwltb3ZxIDMyKCVyc3ApLCAlcmRpCisJbW92cSAyNCglcnNwKSwgJXJzaQorCW1vdnEgMTYoJXJzcCksICVyZHgKKwltb3ZxIDgoJXJzcCksICVyY3gKKwltb3ZxICglcnNwKSwgJXJheAorCWFkZHEgJDB4MzgsICVyc3AKKworCXJldHEKK0VORChtY291bnQpCisKK0VOVFJZKGZ0cmFjZV9jYWxsZXIpCisKKwkvKiB0YWtlbiBmcm9tIGdsaWJjICovCisJc3VicSAkMHgzOCwgJXJzcAorCW1vdnEgJXJheCwgKCVyc3ApCisJbW92cSAlcmN4LCA4KCVyc3ApCisJbW92cSAlcmR4LCAxNiglcnNwKQorCW1vdnEgJXJzaSwgMjQoJXJzcCkKKwltb3ZxICVyZGksIDMyKCVyc3ApCisJbW92cSAlcjgsIDQwKCVyc3ApCisJbW92cSAlcjksIDQ4KCVyc3ApCisKKwltb3ZxIDB4MzgoJXJzcCksICVyZGkKKwltb3ZxIDgoJXJicCksICVyc2kKKwlzdWJxICRNQ09VTlRfSU5TTl9TSVpFLCAlcmRpCisKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJY2FsbCBmdHJhY2Vfc3R1YgorCisJbW92cSA0OCglcnNwKSwgJXI5CisJbW92cSA0MCglcnNwKSwgJXI4CisJbW92cSAzMiglcnNwKSwgJXJkaQorCW1vdnEgMjQoJXJzcCksICVyc2kKKwltb3ZxIDE2KCVyc3ApLCAlcmR4CisJbW92cSA4KCVyc3ApLCAlcmN4CisJbW92cSAoJXJzcCksICVyYXgKKwlhZGRxICQweDM4LCAlcnNwCisKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0cQorRU5EKGZ0cmFjZV9jYWxsZXIpCisKKyNlbHNlIC8qICEgQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCitFTlRSWShtY291bnQpCisJY21wcSAkZnRyYWNlX3N0dWIsIGZ0cmFjZV90cmFjZV9mdW5jdGlvbgorCWpueiB0cmFjZQorLmdsb2JsIGZ0cmFjZV9zdHViCitmdHJhY2Vfc3R1YjoKKwlyZXRxCisKK3RyYWNlOgorCS8qIHRha2VuIGZyb20gZ2xpYmMgKi8KKwlzdWJxICQweDM4LCAlcnNwCisJbW92cSAlcmF4LCAoJXJzcCkKKwltb3ZxICVyY3gsIDgoJXJzcCkKKwltb3ZxICVyZHgsIDE2KCVyc3ApCisJbW92cSAlcnNpLCAyNCglcnNwKQorCW1vdnEgJXJkaSwgMzIoJXJzcCkKKwltb3ZxICVyOCwgNDAoJXJzcCkKKwltb3ZxICVyOSwgNDgoJXJzcCkKKworCW1vdnEgMHgzOCglcnNwKSwgJXJkaQorCW1vdnEgOCglcmJwKSwgJXJzaQorCXN1YnEgJE1DT1VOVF9JTlNOX1NJWkUsICVyZGkKKworCWNhbGwgICAqZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisKKwltb3ZxIDQ4KCVyc3ApLCAlcjkKKwltb3ZxIDQwKCVyc3ApLCAlcjgKKwltb3ZxIDMyKCVyc3ApLCAlcmRpCisJbW92cSAyNCglcnNwKSwgJXJzaQorCW1vdnEgMTYoJXJzcCksICVyZHgKKwltb3ZxIDgoJXJzcCksICVyY3gKKwltb3ZxICglcnNwKSwgJXJheAorCWFkZHEgJDB4MzgsICVyc3AKKworCWptcCBmdHJhY2Vfc3R1YgorRU5EKG1jb3VudCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKICNpZm5kZWYgQ09ORklHX1BSRUVNUFQKICNkZWZpbmUgcmV0aW50X2tlcm5lbCByZXRpbnRfcmVzdG9yZV9hcmdzCiAjZW5kaWYJCiAKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLUVOVFJZKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KQotCW1vdnEJJWdzOnBkYV9vbGRyc3AsJXJzcAorRU5UUlkobmF0aXZlX3VzZXJnc19zeXNyZXQ2NCkKIAlzd2FwZ3MKIAlzeXNyZXRxCiAjZW5kaWYgLyogQ09ORklHX1BBUkFWSVJUICovCkBAIC0xMDQsNyArMjA5LDcgQEAKIAkubWFjcm8gRkFLRV9TVEFDS19GUkFNRSBjaGlsZF9yaXAKIAkvKiBwdXNoIGluIG9yZGVyIHNzLCByc3AsIGVmbGFncywgY3MsIHJpcCAqLwogCXhvcmwgJWVheCwgJWVheAotCXB1c2hxICVyYXggLyogc3MgKi8KKwlwdXNocSAkX19LRVJORUxfRFMgLyogc3MgKi8KIAlDRklfQURKVVNUX0NGQV9PRkZTRVQJOAogCS8qQ0ZJX1JFTF9PRkZTRVQJc3MsMCovCiAJcHVzaHEgJXJheCAvKiByc3AgKi8KQEAgLTE2OSwxMyArMjc0LDEzIEBACiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC00CiAJY2FsbCBzY2hlZHVsZV90YWlsCiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCi0JdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUKSx0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpCisJdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUKSxUSV9mbGFncyglcmN4KQogCWpueiByZmZfdHJhY2UKIHJmZl9hY3Rpb246CQogCVJFU1RPUkVfUkVTVAogCXRlc3RsICQzLENTLUFSR09GRlNFVCglcnNwKQkjIGZyb20ga2VybmVsX3RocmVhZD8KIAlqZSAgIGludF9yZXRfZnJvbV9zeXNfY2FsbAotCXRlc3RsICRfVElGX0lBMzIsdGhyZWFkaW5mb19mbGFncyglcmN4KQorCXRlc3RsICRfVElGX0lBMzIsVElfZmxhZ3MoJXJjeCkKIAlqbnogIGludF9yZXRfZnJvbV9zeXNfY2FsbAogCVJFU1RPUkVfVE9QX09GX1NUQUNLICVyZGksQVJHT0ZGU0VUCiAJam1wIHJldF9mcm9tX3N5c19jYWxsCkBAIC0yNDQsNyArMzQ5LDggQEAKIAltb3ZxICAlcmN4LFJJUC1BUkdPRkZTRVQoJXJzcCkKIAlDRklfUkVMX09GRlNFVCByaXAsUklQLUFSR09GRlNFVAogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLHRocmVhZGluZm9fZmxhZ3MoJXJjeCkKKwl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSwgXAorCQlUSV9mbGFncyglcmN4KQogCWpueiB0cmFjZXN5cwogCWNtcHEgJF9fTlJfc3lzY2FsbF9tYXgsJXJheAogCWphIGJhZHN5cwpAQCAtMjYzLDcgKzM2OSw3IEBACiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCiAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlUUkFDRV9JUlFTX09GRgotCW1vdmwgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWR4CisJbW92bCBUSV9mbGFncyglcmN4KSwlZWR4CiAJYW5kbCAlZWRpLCVlZHgKIAlqbnogIHN5c3JldF9jYXJlZnVsIAogCUNGSV9SRU1FTUJFUl9TVEFURQpAQCAtMjc1LDcgKzM4MSw4IEBACiAJQ0ZJX1JFR0lTVEVSCXJpcCxyY3gKIAlSRVNUT1JFX0FSR1MgMCwtQVJHX1NLSVAsMQogCS8qQ0ZJX1JFR0lTVEVSCXJmbGFncyxyMTEqLwotCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUCisJbW92cQklZ3M6cGRhX29sZHJzcCwgJXJzcAorCVVTRVJHU19TWVNSRVQ2NAogCiAJQ0ZJX1JFU1RPUkVfU1RBVEUKIAkvKiBIYW5kbGUgcmVzY2hlZHVsZXMgKi8KQEAgLTMwNSw3ICs0MTIsNyBAQAogCWxlYXEgLUFSR09GRlNFVCglcnNwKSwlcmRpICMgJnB0X3JlZ3MgLT4gYXJnMQogCXhvcmwgJWVzaSwlZXNpICMgb2xkc2V0IC0+IGFyZzIKIAljYWxsIHB0cmVnc2NhbGxfY29tbW9uCi0xOgltb3ZsICRfVElGX05FRURfUkVTQ0hFRCwlZWRpCisxOgltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiAJLyogVXNlIElSRVQgYmVjYXVzZSB1c2VyIGNvdWxkIGhhdmUgY2hhbmdlZCBmcmFtZS4gVGhpcwogCSAgIHdvcmtzIGJlY2F1c2UgcHRyZWdzY2FsbF9jb21tb24gaGFzIGNhbGxlZCBGSVhVUF9UT1BfT0ZfU1RBQ0suICovCiAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKQEAgLTM0NywxMCArNDU0LDEwIEBACiBpbnRfd2l0aF9jaGVjazoKIAlMT0NLREVQX1NZU19FWElUX0lSUQogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCW1vdmwgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWR4CisJbW92bCBUSV9mbGFncyglcmN4KSwlZWR4CiAJYW5kbCAlZWRpLCVlZHgKIAlqbnogICBpbnRfY2FyZWZ1bAotCWFuZGwgICAgJH5UU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXJjeCkKKwlhbmRsICAgICR+VFNfQ09NUEFULFRJX3N0YXR1cyglcmN4KQogCWptcCAgIHJldGludF9zd2FwZ3MKIAogCS8qIEVpdGhlciByZXNjaGVkdWxlIG9yIHNpZ25hbCBvciBzeXNjYWxsIGV4aXQgdHJhY2tpbmcgbmVlZGVkLiAqLwpAQCAtMzkzLDcgKzUwMCw3IEBACiAJbW92cSAlcnNwLCVyZGkJCSMgJnB0cmVncyAtPiBhcmcxCiAJeG9ybCAlZXNpLCVlc2kJCSMgb2xkc2V0IC0+IGFyZzIKIAljYWxsIGRvX25vdGlmeV9yZXN1bWUKLTE6CW1vdmwgJF9USUZfTkVFRF9SRVNDSEVELCVlZGkJCisxOgltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiBpbnRfcmVzdG9yZV9yZXN0OgogCVJFU1RPUkVfUkVTVAogCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCkBAIC00MjAsNyArNTI3LDYgQEAKIAlQVFJFR1NDQUxMIHN0dWJfY2xvbmUsIHN5c19jbG9uZSwgJXI4CiAJUFRSRUdTQ0FMTCBzdHViX2ZvcmssIHN5c19mb3JrLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViX3Zmb3JrLCBzeXNfdmZvcmssICVyZGkKLQlQVFJFR1NDQUxMIHN0dWJfcnRfc2lnc3VzcGVuZCwgc3lzX3J0X3NpZ3N1c3BlbmQsICVyZHgKIAlQVFJFR1NDQUxMIHN0dWJfc2lnYWx0c3RhY2ssIHN5c19zaWdhbHRzdGFjaywgJXJkeAogCVBUUkVHU0NBTEwgc3R1Yl9pb3BsLCBzeXNfaW9wbCwgJXJzaQogCkBAIC01NTksNyArNjY1LDcgQEAKIAltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiByZXRpbnRfY2hlY2s6CiAJTE9DS0RFUF9TWVNfRVhJVF9JUlEKLQltb3ZsIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVkeAorCW1vdmwgVElfZmxhZ3MoJXJjeCksJWVkeAogCWFuZGwgJWVkaSwlZWR4CiAJQ0ZJX1JFTUVNQkVSX1NUQVRFCiAJam56ICByZXRpbnRfY2FyZWZ1bApAQCAtNjQ3LDE3ICs3NTMsMTYgQEAKIAlSRVNUT1JFX1JFU1QKIAlESVNBQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCVRSQUNFX0lSUVNfT0ZGCi0JbW92bCAkX1RJRl9ORUVEX1JFU0NIRUQsJWVkaQogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCWptcCByZXRpbnRfY2hlY2sKKwlqbXAgcmV0aW50X3dpdGhfcmVzY2hlZHVsZQogCiAjaWZkZWYgQ09ORklHX1BSRUVNUFQKIAkvKiBSZXR1cm5pbmcgdG8ga2VybmVsIHNwYWNlLiBDaGVjayBpZiB3ZSBuZWVkIHByZWVtcHRpb24gKi8KIAkvKiByY3g6CSB0aHJlYWRpbmZvLiBpbnRlcnJ1cHRzIG9mZi4gKi8KIEVOVFJZKHJldGludF9rZXJuZWwpCi0JY21wbCAkMCx0aHJlYWRpbmZvX3ByZWVtcHRfY291bnQoJXJjeCkKKwljbXBsICQwLFRJX3ByZWVtcHRfY291bnQoJXJjeCkKIAlqbnogIHJldGludF9yZXN0b3JlX2FyZ3MKLQlidCAgJFRJRl9ORUVEX1JFU0NIRUQsdGhyZWFkaW5mb19mbGFncyglcmN4KQorCWJ0ICAkVElGX05FRURfUkVTQ0hFRCxUSV9mbGFncyglcmN4KQogCWpuYyAgcmV0aW50X3Jlc3RvcmVfYXJncwogCWJ0ICAgJDksRUZMQUdTLUFSR09GRlNFVCglcnNwKQkvKiBpbnRlcnJ1cHRzIG9mZj8gKi8KIAlqbmMgIHJldGludF9yZXN0b3JlX2FyZ3MKQEAgLTcxMSw2ICs4MTYsOSBAQAogRU5UUlkoY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpCiAJYXBpY2ludGVycnVwdCBDQUxMX0ZVTkNUSU9OX1ZFQ1RPUixzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQKIEVORChjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCkKK0VOVFJZKGNhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCkKKwlhcGljaW50ZXJydXB0IENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUixzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0CitFTkQoY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KQogRU5UUlkoaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQpCiAJYXBpY2ludGVycnVwdCBJUlFfTU9WRV9DTEVBTlVQX1ZFQ1RPUixzbXBfaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQKIEVORChpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCkKQEAgLTcyMCw2ICs4MjgsMTAgQEAKIAlhcGljaW50ZXJydXB0IExPQ0FMX1RJTUVSX1ZFQ1RPUixzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQKIEVORChhcGljX3RpbWVyX2ludGVycnVwdCkKIAorRU5UUlkodXZfYmF1X21lc3NhZ2VfaW50cjEpCisJYXBpY2ludGVycnVwdCAyMjAsdXZfYmF1X21lc3NhZ2VfaW50ZXJydXB0CitFTkQodXZfYmF1X21lc3NhZ2VfaW50cjEpCisKIEVOVFJZKGVycm9yX2ludGVycnVwdCkKIAlhcGljaW50ZXJydXB0IEVSUk9SX0FQSUNfVkVDVE9SLHNtcF9lcnJvcl9pbnRlcnJ1cHQKIEVORChlcnJvcl9pbnRlcnJ1cHQpCkBAIC03MzMsNiArODQ1LDcgQEAKICAqLyAJCQogCS5tYWNybyB6ZXJvZW50cnkgc3ltCiAJSU5UUl9GUkFNRQorCVBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUKIAlwdXNocSAkMAkvKiBwdXNoIGVycm9yIGNvZGUvb2xkcmF4ICovIAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CiAJcHVzaHEgJXJheAkvKiBwdXNoIHJlYWwgb2xkcmF4IHRvIHRoZSByZGkgc2xvdCAqLyAKQEAgLTc0NSw2ICs4NTgsNyBAQAogCiAJLm1hY3JvIGVycm9yZW50cnkgc3ltCiAJWENQVF9GUkFNRQorCVBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUKIAlwdXNocSAlcmF4CiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKIAlDRklfUkVMX09GRlNFVCByYXgsMApAQCAtODE0LDcgKzkyOCw3IEBACiAJam1wIGlycV9yZXR1cm4KIHBhcmFub2lkX3VzZXJzcGFjZVx0cmFjZToKIAlHRVRfVEhSRUFEX0lORk8oJXJjeCkKLQltb3ZsIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVieAorCW1vdmwgVElfZmxhZ3MoJXJjeCksJWVieAogCWFuZGwgJF9USUZfV09SS19NQVNLLCVlYngKIAlqeiBwYXJhbm9pZF9zd2FwZ3NcdHJhY2UKIAltb3ZxICVyc3AsJXJkaQkJCS8qICZwdF9yZWdzICovCkBAIC05MTIsNyArMTAyNiw3IEBACiAJdGVzdGwgJWVheCwlZWF4CiAJam5lICByZXRpbnRfa2VybmVsCiAJTE9DS0RFUF9TWVNfRVhJVF9JUlEKLQltb3ZsICB0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpLCVlZHgKKwltb3ZsICBUSV9mbGFncyglcmN4KSwlZWR4CiAJbW92bCAgJF9USUZfV09SS19NQVNLLCVlZGkKIAlhbmRsICAlZWRpLCVlZHgKIAlqbnogIHJldGludF9jYXJlZnVsCkBAIC05MjYsMTEgKzEwNDAsMTEgQEAKIAkgICBpcmV0IHJ1biB3aXRoIGtlcm5lbCBncyBhZ2Fpbiwgc28gZG9uJ3Qgc2V0IHRoZSB1c2VyIHNwYWNlIGZsYWcuCiAJICAgQiBzdGVwcGluZyBLOHMgc29tZXRpbWVzIHJlcG9ydCBhbiB0cnVuY2F0ZWQgUklQIGZvciBJUkVUIAogCSAgIGV4Y2VwdGlvbnMgcmV0dXJuaW5nIHRvIGNvbXBhdCBtb2RlLiBDaGVjayBmb3IgdGhlc2UgaGVyZSB0b28uICovCi0JbGVhcSBpcnFfcmV0dXJuKCVyaXApLCVyYnAKLQljbXBxICVyYnAsUklQKCVyc3ApIAorCWxlYXEgaXJxX3JldHVybiglcmlwKSwlcmN4CisJY21wcSAlcmN4LFJJUCglcnNwKQogCWplICAgZXJyb3Jfc3dhcGdzCi0JbW92bCAlZWJwLCVlYnAJLyogemVybyBleHRlbmQgKi8KLQljbXBxICVyYnAsUklQKCVyc3ApIAorCW1vdmwgJWVjeCwlZWN4CS8qIHplcm8gZXh0ZW5kICovCisJY21wcSAlcmN4LFJJUCglcnNwKQogCWplICAgZXJyb3Jfc3dhcGdzCiAJY21wcSAkZ3NfY2hhbmdlLFJJUCglcnNwKQogICAgICAgICBqZSAgIGVycm9yX3N3YXBncwpAQCAtOTM5LDcgKzEwNTMsNyBAQAogCQogICAgICAgIC8qIFJlbG9hZCBncyBzZWxlY3RvciB3aXRoIGV4Y2VwdGlvbiBoYW5kbGluZyAqLwogICAgICAgIC8qIGVkaTogIG5ldyBzZWxlY3RvciAqLyAKLUVOVFJZKGxvYWRfZ3NfaW5kZXgpCitFTlRSWShuYXRpdmVfbG9hZF9nc19pbmRleCkKIAlDRklfU1RBUlRQUk9DCiAJcHVzaGYKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOApAQCAtOTUzLDcgKzEwNjcsNyBAQAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAogICAgICAgICByZXQKIAlDRklfRU5EUFJPQwotRU5EUFJPQyhsb2FkX2dzX2luZGV4KQorRU5EUFJPQyhuYXRpdmVfbG9hZF9nc19pbmRleCkKICAgICAgICAKICAgICAgICAgLnNlY3Rpb24gX19leF90YWJsZSwiYSIKICAgICAgICAgLmFsaWduIDgKQEAgLTExMjAsMTAgKzEyMzQsNiBAQAogCXplcm9lbnRyeSBkb19jb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4KIEVORChjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pCiAKLUVOVFJZKHJlc2VydmVkKQotCXplcm9lbnRyeSBkb19yZXNlcnZlZAotRU5EKHJlc2VydmVkKQotCiAJLyogcnVucyBvbiBleGNlcHRpb24gc3RhY2sgKi8KIEVOVFJZKGRvdWJsZV9mYXVsdCkKIAlYQ1BUX0ZSQU1FCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZnRyYWNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWIxMTVjZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDE0MSBAQAorLyoKKyAqIENvZGUgZm9yIHJlcGxhY2luZyBmdHJhY2UgY2FsbHMgd2l0aCBqdW1wcy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGFua3MgZ29lcyB0byBJbmdvIE1vbG5hciwgZm9yIHN1Z2dlc3RpbmcgdGhlIGlkZWEuCisgKiBNYXRoaWV1IERlc25veWVycywgZm9yIHN1Z2dlc3RpbmcgcG9zdHBvbmluZyB0aGUgbW9kaWZpY2F0aW9ucy4KKyAqIEFyamFuIHZhbiBkZSBWZW4sIGZvciBrZWVwaW5nIG1lIHN0cmFpZ2h0LCBhbmQgZXhwbGFpbmluZyB0byBtZQorICogdGhlIGRhbmdlcnMgb2YgbW9kaWZ5aW5nIGNvZGUgb24gdGhlIHJ1bi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9hbHRlcm5hdGl2ZS5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworCisvKiBMb25nIGlzIGZpbmUsIGV2ZW4gaWYgaXQgaXMgb25seSA0IGJ5dGVzIDstKSAqLworc3RhdGljIGxvbmcgKmZ0cmFjZV9ub3A7CisKK3VuaW9uIGZ0cmFjZV9jb2RlX3VuaW9uIHsKKwljaGFyIGNvZGVbTUNPVU5UX0lOU05fU0laRV07CisJc3RydWN0IHsKKwkJY2hhciBlODsKKwkJaW50IG9mZnNldDsKKwl9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworfTsKKworCitzdGF0aWMgaW50IG5vdHJhY2UgZnRyYWNlX2NhbGNfb2Zmc2V0KGxvbmcgaXAsIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gKGludCkoYWRkciAtIGlwKTsKK30KKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKilmdHJhY2Vfbm9wOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0YXRpYyB1bmlvbiBmdHJhY2VfY29kZV91bmlvbiBjYWxjOworCisJY2FsYy5lOAkJPSAweGU4OworCWNhbGMub2Zmc2V0CT0gZnRyYWNlX2NhbGNfb2Zmc2V0KGlwICsgTUNPVU5UX0lOU05fU0laRSwgYWRkcik7CisKKwkvKgorCSAqIE5vIGxvY2tpbmcgbmVlZGVkLCB0aGlzIG11c3QgYmUgY2FsbGVkIHZpYSBrc3RvcF9tYWNoaW5lCisJICogd2hpY2ggaW4gZXNzZW5jZSBpcyBsaWtlIHJ1bm5pbmcgb24gYSB1bmlwcm9jZXNzb3IgbWFjaGluZS4KKwkgKi8KKwlyZXR1cm4gY2FsYy5jb2RlOworfQorCitub3RyYWNlIGludAorZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1bnNpZ25lZCByZXBsYWNlZDsKKwl1bnNpZ25lZCBvbGQgPSAqKHVuc2lnbmVkICopb2xkX2NvZGU7IC8qIDQgYnl0ZXMgKi8KKwl1bnNpZ25lZCBuZXcgPSAqKHVuc2lnbmVkICopbmV3X2NvZGU7IC8qIDQgYnl0ZXMgKi8KKwl1bnNpZ25lZCBjaGFyIG5ld2NoID0gbmV3X2NvZGVbNF07CisJaW50IGZhdWx0ZWQgPSAwOworCisJLyoKKwkgKiBOb3RlOiBEdWUgdG8gbW9kdWxlcyBhbmQgX19pbml0LCBjb2RlIGNhbgorCSAqICBkaXNhcHBlYXIgYW5kIGNoYW5nZSwgd2UgbmVlZCB0byBwcm90ZWN0IGFnYWluc3QgZmF1bHRpbmcKKwkgKiAgYXMgd2VsbCBhcyBjb2RlIGNoYW5naW5nLgorCSAqCisJICogTm8gcmVhbCBsb2NraW5nIG5lZWRlZCwgdGhpcyBjb2RlIGlzIHJ1biB0aHJvdWdoCisJICoga3N0b3BfbWFjaGluZS4KKwkgKi8KKwlhc20gdm9sYXRpbGUgKAorCQkiMTogbG9ja1xuIgorCQkiICAgY21weGNoZyAlMywgKCUyKVxuIgorCQkiICAgam56IDJmXG4iCisJCSIgICBtb3ZiICViNCwgNCglMilcbiIKKwkJIjI6XG4iCisJCSIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgorCQkiMzoJbW92bCAkMSwgJTBcbiIKKwkJIglqbXAgMmJcbiIKKwkJIi5wcmV2aW91c1xuIgorCQlfQVNNX0VYVEFCTEUoMWIsIDNiKQorCQk6ICI9ciIoZmF1bHRlZCksICI9YSIocmVwbGFjZWQpCisJCTogInIiKGlwKSwgInIiKG5ldyksICJjIihuZXdjaCksCisJCSAgIjAiKGZhdWx0ZWQpLCAiYSIob2xkKQorCQk6ICJtZW1vcnkiKTsKKwlzeW5jX2NvcmUoKTsKKworCWlmIChyZXBsYWNlZCAhPSBvbGQgJiYgcmVwbGFjZWQgIT0gbmV3KQorCQlmYXVsdGVkID0gMjsKKworCXJldHVybiBmYXVsdGVkOworfQorCitub3RyYWNlIGludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYykKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKHVuc2lnbmVkIGxvbmcpKCZmdHJhY2VfY2FsbCk7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisJaW50IHJldDsKKworCW1lbWNweShvbGQsICZmdHJhY2VfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKHVuc2lnbmVkIGxvbmcpZnVuYyk7CisJcmV0ID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gcmV0OworfQorCitub3RyYWNlIGludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgaXAgPSAobG9uZykoJm1jb3VudF9jYWxsKTsKKwl1bnNpZ25lZCBsb25nICphZGRyID0gZGF0YTsKKwl1bnNpZ25lZCBjaGFyIG9sZFtNQ09VTlRfSU5TTl9TSVpFXSwgKm5ldzsKKworCS8qCisJICogUmVwbGFjZSB0aGUgbWNvdW50IHN0dWIgd2l0aCBhIHBvaW50ZXIgdG8gdGhlCisJICogaXAgcmVjb3JkZXIgZnVuY3Rpb24uCisJICovCisJbWVtY3B5KG9sZCwgJm1jb3VudF9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAqYWRkcik7CisJKmFkZHIgPSBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKKworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKm5vcHRhYmxlID0gZmluZF9ub3BfdGFibGUoKTsKKworCS8qIFRoaXMgaXMgcnVubmluZyBpbiBrc3RvcF9tYWNoaW5lICovCisKKwlmdHJhY2VfbWNvdW50X3NldChkYXRhKTsKKworCWZ0cmFjZV9ub3AgPSAodW5zaWduZWQgbG9uZyAqKW5vcHRhYmxlW01DT1VOVF9JTlNOX1NJWkVdOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZ2VuYXBpY182NC5jIGIvYXJjaC94ODYva2VybmVsL2dlbmFwaWNfNjQuYwppbmRleCBjYmFhZjY5Li4xZmE4YmU1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZ2VuYXBpY182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9nZW5hcGljXzY0LmMKQEAgLTUxLDcgKzUxLDcgQEAKIAllbHNlCiAjZW5kaWYKIAotCWlmIChudW1fcG9zc2libGVfY3B1cygpIDw9IDgpCisJaWYgKG1heF9waHlzaWNhbF9hcGljaWQgPCA4KQogCQlnZW5hcGljID0gJmFwaWNfZmxhdDsKIAllbHNlCiAJCWdlbmFwaWMgPSAmYXBpY19waHlzZmxhdDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9nZW54MmFwaWNfdXZfeC5jIGIvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKaW5kZXggZWJmMTM5MC4uNzExZjExYyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKQEAgLTUsOSArNSwxMCBAQAogICoKICAqIFNHSSBVViBBUElDIGZ1bmN0aW9ucyAobm90ZTogbm90IGFuIEludGVsIGNvbXBhdGlibGUgQVBJQykKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpAQCAtMjAsNiArMjEsNyBAQAogI2luY2x1ZGUgPGFzbS9zbXAuaD4KICNpbmNsdWRlIDxhc20vaXBpLmg+CiAjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS91di91dl9tbXJzLmg+CiAjaW5jbHVkZSA8YXNtL3V2L3V2X2h1Yi5oPgogCkBAIC01NSwzNyArNTcsMzcgQEAKIGludCB1dl93YWtldXBfc2Vjb25kYXJ5KGludCBwaHlzX2FwaWNpZCwgdW5zaWduZWQgaW50IHN0YXJ0X3JpcCkKIHsKIAl1bnNpZ25lZCBsb25nIHZhbDsKLQlpbnQgbmFzaWQ7CisJaW50IHBub2RlOwogCi0JbmFzaWQgPSB1dl9hcGljaWRfdG9fbmFzaWQocGh5c19hcGljaWQpOworCXBub2RlID0gdXZfYXBpY2lkX3RvX3Bub2RlKHBoeXNfYXBpY2lkKTsKIAl2YWwgPSAoMVVMIDw8IFVWSF9JUElfSU5UX1NFTkRfU0hGVCkgfAogCSAgICAocGh5c19hcGljaWQgPDwgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICgoKGxvbmcpc3RhcnRfcmlwIDw8IFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUKSA+PiAxMikgfAogCSAgICBBUElDX0RNX0lOSVQ7Ci0JdXZfd3JpdGVfZ2xvYmFsX21tcjY0KG5hc2lkLCBVVkhfSVBJX0lOVCwgdmFsKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9JUElfSU5ULCB2YWwpOwogCW1kZWxheSgxMCk7CiAKIAl2YWwgPSAoMVVMIDw8IFVWSF9JUElfSU5UX1NFTkRfU0hGVCkgfAogCSAgICAocGh5c19hcGljaWQgPDwgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICgoKGxvbmcpc3RhcnRfcmlwIDw8IFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUKSA+PiAxMikgfAogCSAgICBBUElDX0RNX1NUQVJUVVA7Ci0JdXZfd3JpdGVfZ2xvYmFsX21tcjY0KG5hc2lkLCBVVkhfSVBJX0lOVCwgdmFsKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9JUElfSU5ULCB2YWwpOwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCB1dl9zZW5kX0lQSV9vbmUoaW50IGNwdSwgaW50IHZlY3RvcikKIHsKIAl1bnNpZ25lZCBsb25nIHZhbCwgYXBpY2lkLCBsYXBpY2lkOwotCWludCBuYXNpZDsKKwlpbnQgcG5vZGU7CiAKIAlhcGljaWQgPSBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpOyAvKiBaWlogLSBjYWNoZSBub2RlLWxvY2FsID8gKi8KIAlsYXBpY2lkID0gYXBpY2lkICYgMHgzZjsJCS8qIFpaWiBtYWNybyBuZWVkZWQgKi8KLQluYXNpZCA9IHV2X2FwaWNpZF90b19uYXNpZChhcGljaWQpOworCXBub2RlID0gdXZfYXBpY2lkX3RvX3Bub2RlKGFwaWNpZCk7CiAJdmFsID0KIAkgICAgKDFVTCA8PCBVVkhfSVBJX0lOVF9TRU5EX1NIRlQpIHwgKGxhcGljaWQgPDwKIAkJCQkJICAgICAgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICh2ZWN0b3IgPDwgVVZIX0lQSV9JTlRfVkVDVE9SX1NIRlQpOwotCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChuYXNpZCwgVVZIX0lQSV9JTlQsIHZhbCk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfSVBJX0lOVCwgdmFsKTsKIH0KIAogc3RhdGljIHZvaWQgdXZfc2VuZF9JUElfbWFzayhjcHVtYXNrX3QgbWFzaywgaW50IHZlY3RvcikKQEAgLTE1OSwzOSArMTYxLDE0NiBAQAogCS5waHlzX3BrZ19pZCA9IHBoeXNfcGtnX2lkLAkvKiBGaXhtZSBaWlogKi8KIH07CiAKLXN0YXRpYyBfX2NwdWluaXQgdm9pZCBzZXRfeDJhcGljX2V4dHJhX2JpdHMoaW50IG5hc2lkKQorc3RhdGljIF9fY3B1aW5pdCB2b2lkIHNldF94MmFwaWNfZXh0cmFfYml0cyhpbnQgcG5vZGUpCiB7Ci0JX19nZXRfY3B1X3Zhcih4MmFwaWNfZXh0cmFfYml0cykgPSAoKG5hc2lkID4+IDEpIDw8IDYpOworCV9fZ2V0X2NwdV92YXIoeDJhcGljX2V4dHJhX2JpdHMpID0gKHBub2RlIDw8IDYpOwogfQogCiAvKgogICogQ2FsbGVkIG9uIGJvb3QgY3B1LgogICovCitzdGF0aWMgX19pbml0IGludCBib290X3Bub2RlX3RvX2JsYWRlKGludCBwbm9kZSkKK3sKKwlpbnQgYmxhZGU7CisKKwlmb3IgKGJsYWRlID0gMDsgYmxhZGUgPCB1dl9udW1fcG9zc2libGVfYmxhZGVzKCk7IGJsYWRlKyspCisJCWlmIChwbm9kZSA9PSB1dl9ibGFkZV9pbmZvW2JsYWRlXS5wbm9kZSkKKwkJCXJldHVybiBibGFkZTsKKwlCVUcoKTsKK30KKworc3RydWN0IHJlZGlyX2FkZHIgeworCXVuc2lnbmVkIGxvbmcgcmVkaXJlY3Q7CisJdW5zaWduZWQgbG9uZyBhbGlhczsKK307CisKKyNkZWZpbmUgREVTVF9TSElGVCBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUl9ERVNUX0JBU0VfU0hGVAorCitzdGF0aWMgX19pbml0ZGF0YSBzdHJ1Y3QgcmVkaXJfYWRkciByZWRpcl9hZGRyc1tdID0geworCXtVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUiwgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJR30sCisJe1VWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzFfTU1SLCBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHfSwKKwl7VVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVIsIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUd9LAorfTsKKworc3RhdGljIF9faW5pdCB2b2lkIGdldF9sb3dtZW1fcmVkaXJlY3QodW5zaWduZWQgbG9uZyAqYmFzZSwgdW5zaWduZWQgbG9uZyAqc2l6ZSkKK3sKKwl1bmlvbiB1dmhfc2lfYWxpYXMwX292ZXJsYXlfY29uZmlnX3UgYWxpYXM7CisJdW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMl9tbXJfdSByZWRpcmVjdDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHJlZGlyX2FkZHJzKTsgaSsrKSB7CisJCWFsaWFzLnYgPSB1dl9yZWFkX2xvY2FsX21tcihyZWRpcl9hZGRyc1tpXS5hbGlhcyk7CisJCWlmIChhbGlhcy5zLmJhc2UgPT0gMCkgeworCQkJKnNpemUgPSAoMVVMIDw8IGFsaWFzLnMubV9hbGlhcyk7CisJCQlyZWRpcmVjdC52ID0gdXZfcmVhZF9sb2NhbF9tbXIocmVkaXJfYWRkcnNbaV0ucmVkaXJlY3QpOworCQkJKmJhc2UgPSAodW5zaWduZWQgbG9uZylyZWRpcmVjdC5zLmRlc3RfYmFzZSA8PCBERVNUX1NISUZUOworCQkJcmV0dXJuOworCQl9CisJfQorCUJVRygpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgbWFwX2xvd19tbXJzKHZvaWQpCit7CisJaW5pdF9leHRyYV9tYXBwaW5nX3VjKFVWX0dMT0JBTF9NTVIzMl9CQVNFLCBVVl9HTE9CQUxfTU1SMzJfU0laRSk7CisJaW5pdF9leHRyYV9tYXBwaW5nX3VjKFVWX0xPQ0FMX01NUl9CQVNFLCBVVl9MT0NBTF9NTVJfU0laRSk7Cit9CisKK2VudW0gbWFwX3R5cGUge21hcF93YiwgbWFwX3VjfTsKKworc3RhdGljIHZvaWQgbWFwX2hpZ2goY2hhciAqaWQsIHVuc2lnbmVkIGxvbmcgYmFzZSwgaW50IHNoaWZ0LCBlbnVtIG1hcF90eXBlIG1hcF90eXBlKQoreworCXVuc2lnbmVkIGxvbmcgYnl0ZXMsIHBhZGRyOworCisJcGFkZHIgPSBiYXNlIDw8IHNoaWZ0OworCWJ5dGVzID0gKDFVTCA8PCBzaGlmdCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiVVY6IE1hcCAlc19ISSAweCVseCAtIDB4JWx4XG4iLCBpZCwgcGFkZHIsCisJICAgICAgIAkJCQkJcGFkZHIgKyBieXRlcyk7CisJaWYgKG1hcF90eXBlID09IG1hcF91YykKKwkJaW5pdF9leHRyYV9tYXBwaW5nX3VjKHBhZGRyLCBieXRlcyk7CisJZWxzZQorCQlpbml0X2V4dHJhX21hcHBpbmdfd2IocGFkZHIsIGJ5dGVzKTsKKworfQorc3RhdGljIF9faW5pdCB2b2lkIG1hcF9ncnVfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fZ3J1X292ZXJsYXlfY29uZmlnX21tcl91IGdydTsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJZ3J1LnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChncnUucy5lbmFibGUpCisJCW1hcF9oaWdoKCJHUlUiLCBncnUucy5iYXNlLCBzaGlmdCwgbWFwX3diKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9jb25maWdfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl91IGNmZzsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJY2ZnLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChjZmcucy5lbmFibGUpCisJCW1hcF9oaWdoKCJDT05GSUciLCBjZmcucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9tbXJfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fbW1yX292ZXJsYXlfY29uZmlnX21tcl91IG1tcjsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJbW1yLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChtbXIucy5lbmFibGUpCisJCW1hcF9oaWdoKCJNTVIiLCBtbXIucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9tbWlvaF9oaWdoKGludCBtYXhfcG5vZGUpCit7CisJdW5pb24gdXZoX3JoX2dhbV9tbWlvaF9vdmVybGF5X2NvbmZpZ19tbXJfdSBtbWlvaDsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQ7CisKKwltbWlvaC52ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChtbWlvaC5zLmVuYWJsZSkKKwkJbWFwX2hpZ2goIk1NSU9IIiwgbW1pb2gucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKwogc3RhdGljIF9faW5pdCB2b2lkIHV2X3N5c3RlbV9pbml0KHZvaWQpCiB7CiAJdW5pb24gdXZoX3NpX2FkZHJfbWFwX2NvbmZpZ191IG1fbl9jb25maWc7Ci0JaW50IGJ5dGVzLCBuaWQsIGNwdSwgbGNwdSwgbmFzaWQsIGxhc3RfbmFzaWQsIGJsYWRlOwotCXVuc2lnbmVkIGxvbmcgbW1yX2Jhc2U7CisJdW5pb24gdXZoX25vZGVfaWRfdSBub2RlX2lkOworCXVuc2lnbmVkIGxvbmcgZ25vZGVfdXBwZXIsIGxvd21lbV9yZWRpcl9iYXNlLCBsb3dtZW1fcmVkaXJfc2l6ZTsKKwlpbnQgYnl0ZXMsIG5pZCwgY3B1LCBsY3B1LCBwbm9kZSwgYmxhZGUsIGksIGosIG1fdmFsLCBuX3ZhbDsKKwlpbnQgbWF4X3Bub2RlID0gMDsKKwl1bnNpZ25lZCBsb25nIG1tcl9iYXNlLCBwcmVzZW50OworCisJbWFwX2xvd19tbXJzKCk7CiAKIAltX25fY29uZmlnLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfU0lfQUREUl9NQVBfQ09ORklHKTsKKwltX3ZhbCA9IG1fbl9jb25maWcucy5tX3NrdDsKKwluX3ZhbCA9IG1fbl9jb25maWcucy5uX3NrdDsKIAltbXJfYmFzZSA9CiAJICAgIHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9SSF9HQU1fTU1SX09WRVJMQVlfQ09ORklHX01NUikgJgogCSAgICB+VVZfTU1SX0VOQUJMRTsKIAlwcmludGsoS0VSTl9ERUJVRyAiVVY6IGdsb2JhbCBNTVIgYmFzZSAweCVseFxuIiwgbW1yX2Jhc2UpOwogCi0JbGFzdF9uYXNpZCA9IC0xOwotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLQkJbmlkID0gY3B1X3RvX25vZGUoY3B1KTsKLQkJbmFzaWQgPSB1dl9hcGljaWRfdG9fbmFzaWQocGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSk7Ci0JCWlmIChuYXNpZCAhPSBsYXN0X25hc2lkKQotCQkJdXZfcG9zc2libGVfYmxhZGVzKys7Ci0JCWxhc3RfbmFzaWQgPSBuYXNpZDsKLQl9CisJZm9yKGkgPSAwOyBpIDwgVVZIX05PREVfUFJFU0VOVF9UQUJMRV9ERVBUSDsgaSsrKQorCQl1dl9wb3NzaWJsZV9ibGFkZXMgKz0KKwkJICBod2VpZ2h0NjQodXZfcmVhZF9sb2NhbF9tbXIoIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgKyBpICogOCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJVVjogRm91bmQgJWQgYmxhZGVzXG4iLCB1dl9udW1fcG9zc2libGVfYmxhZGVzKCkpOwogCiAJYnl0ZXMgPSBzaXplb2Yoc3RydWN0IHV2X2JsYWRlX2luZm8pICogdXZfbnVtX3Bvc3NpYmxlX2JsYWRlcygpOwogCXV2X2JsYWRlX2luZm8gPSBhbGxvY19ib290bWVtX3BhZ2VzKGJ5dGVzKTsKIAorCWdldF9sb3dtZW1fcmVkaXJlY3QoJmxvd21lbV9yZWRpcl9iYXNlLCAmbG93bWVtX3JlZGlyX3NpemUpOworCiAJYnl0ZXMgPSBzaXplb2YodXZfbm9kZV90b19ibGFkZVswXSkgKiBudW1fcG9zc2libGVfbm9kZXMoKTsKIAl1dl9ub2RlX3RvX2JsYWRlID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhieXRlcyk7CiAJbWVtc2V0KHV2X25vZGVfdG9fYmxhZGUsIDI1NSwgYnl0ZXMpOwpAQCAtMjAwLDQzICszMDksNjIgQEAKIAl1dl9jcHVfdG9fYmxhZGUgPSBhbGxvY19ib290bWVtX3BhZ2VzKGJ5dGVzKTsKIAltZW1zZXQodXZfY3B1X3RvX2JsYWRlLCAyNTUsIGJ5dGVzKTsKIAotCWxhc3RfbmFzaWQgPSAtMTsKLQlibGFkZSA9IC0xOwotCWxjcHUgPSAtMTsKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7Ci0JCW5pZCA9IGNwdV90b19ub2RlKGNwdSk7Ci0JCW5hc2lkID0gdXZfYXBpY2lkX3RvX25hc2lkKHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSkpOwotCQlpZiAobmFzaWQgIT0gbGFzdF9uYXNpZCkgewotCQkJYmxhZGUrKzsKLQkJCWxjcHUgPSAtMTsKLQkJCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc2libGVfY3B1cyA9IDA7CisJYmxhZGUgPSAwOworCWZvciAoaSA9IDA7IGkgPCBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX0RFUFRIOyBpKyspIHsKKwkJcHJlc2VudCA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgKyBpICogOCk7CisJCWZvciAoaiA9IDA7IGogPCA2NDsgaisrKSB7CisJCQlpZiAoIXRlc3RfYml0KGosICZwcmVzZW50KSkKKwkJCQljb250aW51ZTsKKwkJCXV2X2JsYWRlX2luZm9bYmxhZGVdLnBub2RlID0gKGkgKiA2NCArIGopOworCQkJdXZfYmxhZGVfaW5mb1tibGFkZV0ubnJfcG9zc2libGVfY3B1cyA9IDA7CiAJCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9vbmxpbmVfY3B1cyA9IDA7CisJCQlibGFkZSsrOwogCQl9Ci0JCWxhc3RfbmFzaWQgPSBuYXNpZDsKLQkJbGNwdSsrOworCX0KIAotCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bV92YWwgPSBtX25fY29uZmlnLnMubV9za3Q7Ci0JCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5uX3ZhbCA9IG1fbl9jb25maWcucy5uX3NrdDsKKwlub2RlX2lkLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfTk9ERV9JRCk7CisJZ25vZGVfdXBwZXIgPSAoKCh1bnNpZ25lZCBsb25nKW5vZGVfaWQucy5ub2RlX2lkKSAmCisJCSAgICAgICB+KCgxIDw8IG5fdmFsKSAtIDEpKSA8PCBtX3ZhbDsKKworCWZvcl9lYWNoX3ByZXNlbnRfY3B1KGNwdSkgeworCQluaWQgPSBjcHVfdG9fbm9kZShjcHUpOworCQlwbm9kZSA9IHV2X2FwaWNpZF90b19wbm9kZShwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpKTsKKwkJYmxhZGUgPSBib290X3Bub2RlX3RvX2JsYWRlKHBub2RlKTsKKwkJbGNwdSA9IHV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc3NpYmxlX2NwdXM7CisJCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc3NpYmxlX2NwdXMrKzsKKworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bG93bWVtX3JlbWFwX2Jhc2UgPSBsb3dtZW1fcmVkaXJfYmFzZTsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmxvd21lbV9yZW1hcF90b3AgPQorCQkJCQlsb3dtZW1fcmVkaXJfYmFzZSArIGxvd21lbV9yZWRpcl9zaXplOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bV92YWwgPSBtX3ZhbDsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPm5fdmFsID0gbV92YWw7CiAJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5udW1hX2JsYWRlX2lkID0gYmxhZGU7CiAJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5ibGFkZV9wcm9jZXNzb3JfaWQgPSBsY3B1OwotCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bG9jYWxfbmFzaWQgPSBuYXNpZDsKLQkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmdub2RlX3VwcGVyID0KLQkJICAgIG5hc2lkICYgfigoMSA8PCB1dl9odWJfaW5mby0+bl92YWwpIC0gMSk7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5wbm9kZSA9IHBub2RlOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+cG5vZGVfbWFzayA9ICgxIDw8IG5fdmFsKSAtIDE7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5ncGFfbWFzayA9ICgxIDw8IChtX3ZhbCArIG5fdmFsKSkgLSAxOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Z25vZGVfdXBwZXIgPSBnbm9kZV91cHBlcjsKIAkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmdsb2JhbF9tbXJfYmFzZSA9IG1tcl9iYXNlOwogCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Y29oZXJlbmN5X2RvbWFpbl9udW1iZXIgPSAwOy8qIFpaWiAqLwotCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5uYXNpZCA9IG5hc2lkOwotCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9wb3NpYmxlX2NwdXMrKzsKIAkJdXZfbm9kZV90b19ibGFkZVtuaWRdID0gYmxhZGU7CiAJCXV2X2NwdV90b19ibGFkZVtjcHVdID0gYmxhZGU7CisJCW1heF9wbm9kZSA9IG1heChwbm9kZSwgbWF4X3Bub2RlKTsKIAotCQlwcmludGsoS0VSTl9ERUJVRyAiVVYgY3B1ICVkLCBhcGljaWQgMHgleCwgbmFzaWQgJWQsIG5pZCAlZFxuIiwKLQkJICAgICAgIGNwdSwgcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSwgbmFzaWQsIG5pZCk7Ci0JCXByaW50ayhLRVJOX0RFQlVHICJVViAgIGxjcHUgJWQsIGJsYWRlICVkXG4iLCBsY3B1LCBibGFkZSk7CisJCXByaW50ayhLRVJOX0RFQlVHICJVVjogY3B1ICVkLCBhcGljaWQgMHgleCwgcG5vZGUgJWQsIG5pZCAlZCwgIgorCQkJImxjcHUgJWQsIGJsYWRlICVkXG4iLAorCQkJY3B1LCBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpLCBwbm9kZSwgbmlkLAorCQkJbGNwdSwgYmxhZGUpOwogCX0KKworCW1hcF9ncnVfaGlnaChtYXhfcG5vZGUpOworCW1hcF9tbXJfaGlnaChtYXhfcG5vZGUpOworCW1hcF9jb25maWdfaGlnaChtYXhfcG5vZGUpOworCW1hcF9tbWlvaF9oaWdoKG1heF9wbm9kZSk7CiB9CiAKIC8qCiAgKiBDYWxsZWQgb24gZWFjaCBjcHUgdG8gaW5pdGlhbGl6ZSB0aGUgcGVyX2NwdSBVViBkYXRhIGFyZWEuCisgKiAJWlpaIGhvdHBsdWcgbm90IHN1cHBvcnRlZCB5ZXQKICAqLwogdm9pZCBfX2NwdWluaXQgdXZfY3B1X2luaXQodm9pZCkKIHsKQEAgLTI0Niw1ICszNzQsNSBAQAogCXV2X2JsYWRlX2luZm9bdXZfbnVtYV9ibGFkZV9pZCgpXS5ucl9vbmxpbmVfY3B1cysrOwogCiAJaWYgKGdldF91dl9zeXN0ZW1fdHlwZSgpID09IFVWX05PTl9VTklRVUVfQVBJQykKLQkJc2V0X3gyYXBpY19leHRyYV9iaXRzKHV2X2h1Yl9pbmZvLT5sb2NhbF9uYXNpZCk7CisJCXNldF94MmFwaWNfZXh0cmFfYml0cyh1dl9odWJfaW5mby0+cG5vZGUpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWQuYyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U2NmJkMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkLmMKQEAgLTAsMCArMSw1NSBAQAorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKworI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9iaW9zX2ViZGEuaD4KKworI2RlZmluZSBCSU9TX0xPV01FTV9LSUxPQllURVMgMHg0MTMKKworLyoKKyAqIFRoZSBCSU9TIHBsYWNlcyB0aGUgRUJEQS9YQkRBIGF0IHRoZSB0b3Agb2YgY29udmVudGlvbmFsCisgKiBtZW1vcnksIGFuZCB1c3VhbGx5IGRlY3JlYXNlcyB0aGUgcmVwb3J0ZWQgYW1vdW50IG9mCisgKiBjb252ZW50aW9uYWwgbWVtb3J5IChpbnQgMHgxMikgdG9vLiBUaGlzIGFsc28gY29udGFpbnMgYQorICogd29ya2Fyb3VuZCBmb3IgRGVsbCBzeXN0ZW1zIHRoYXQgbmVnbGVjdCB0byByZXNlcnZlIEVCREEuCisgKiBUaGUgc2FtZSB3b3JrYXJvdW5kIGFsc28gYXZvaWRzIGEgcHJvYmxlbSB3aXRoIHRoZSBBTUQ3NjhNUFgKKyAqIGNoaXBzZXQ6IHJlc2VydmUgYSBwYWdlIGJlZm9yZSBWR0EgdG8gcHJldmVudCBQQ0kgcHJlZmV0Y2gKKyAqIGludG8gaXQgKGVycmF0YSAjNTYpLiBVc3VhbGx5IHRoZSBwYWdlIGlzIHJlc2VydmVkIGFueXdheXMsCisgKiB1bmxlc3MgeW91IGhhdmUgbm8gUFMvMiBtb3VzZSBwbHVnZ2VkIGluLgorICovCit2b2lkIF9faW5pdCByZXNlcnZlX2ViZGFfcmVnaW9uKHZvaWQpCit7CisJdW5zaWduZWQgaW50IGxvd21lbSwgZWJkYV9hZGRyOworCisJLyogVG8gZGV0ZXJtaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgRUJEQSBhbmQgdGhlICovCisJLyogZW5kIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIHdlIG5lZWQgdG8gbG9vayBhdCAqLworCS8qIHRoZSBCSU9TIGRhdGEgYXJlYS4gSW4gYSBwYXJhdmlydHVhbCBlbnZpcm9ubWVudCAqLworCS8qIHRoYXQgYXJlYSBpcyBhYnNlbnQuIFdlJ2xsIGp1c3QgaGF2ZSB0byBhc3N1bWUgKi8KKwkvKiB0aGF0IHRoZSBwYXJhdmlydCBjYXNlIGNhbiBoYW5kbGUgbWVtb3J5IHNldHVwICovCisJLyogY29ycmVjdGx5LCB3aXRob3V0IG91ciBoZWxwLiAqLworCWlmIChwYXJhdmlydF9lbmFibGVkKCkpCisJCXJldHVybjsKKworCS8qIGVuZCBvZiBsb3cgKGNvbnZlbnRpb25hbCkgbWVtb3J5ICovCisJbG93bWVtID0gKih1bnNpZ25lZCBzaG9ydCAqKV9fdmEoQklPU19MT1dNRU1fS0lMT0JZVEVTKTsKKwlsb3dtZW0gPDw9IDEwOworCisJLyogc3RhcnQgb2YgRUJEQSBhcmVhICovCisJZWJkYV9hZGRyID0gZ2V0X2Jpb3NfZWJkYSgpOworCisJLyogRml4dXA6IGJpb3MgcHV0cyBhbiBFQkRBIGluIHRoZSB0b3AgNjRLIHNlZ21lbnQgKi8KKwkvKiBvZiBjb252ZW50aW9uYWwgbWVtb3J5LCBidXQgZG9lcyBub3QgYWRqdXN0IGxvd21lbS4gKi8KKwlpZiAoKGxvd21lbSAtIGViZGFfYWRkcikgPD0gMHgxMDAwMCkKKwkJbG93bWVtID0gZWJkYV9hZGRyOworCisJLyogRml4dXA6IGJpb3MgZG9lcyBub3QgcmVwb3J0IGFuIEVCREEgYXQgYWxsLiAqLworCS8qIFNvbWUgb2xkIERlbGxzIHNlZW0gdG8gbmVlZCA0ayBhbnlob3cgKGJ1Z3ppbGxhIDI5OTApICovCisJaWYgKChlYmRhX2FkZHIgPT0gMCkgJiYgKGxvd21lbSA+PSAweDlmMDAwKSkKKwkJbG93bWVtID0gMHg5ZjAwMDsKKworCS8qIFBhcmFub2lhOiBzaG91bGQgbmV2ZXIgaGFwcGVuLCBidXQuLi4gKi8KKwlpZiAoKGxvd21lbSA9PSAwKSB8fCAobG93bWVtID49IDB4MTAwMDAwKSkKKwkJbG93bWVtID0gMHg5ZjAwMDsKKworCS8qIHJlc2VydmUgYWxsIG1lbW9yeSBiZXR3ZWVuIGxvd21lbSBhbmQgdGhlIDFNQiBtYXJrICovCisJcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKGxvd21lbSwgMHgxMDAwMDAsICJCSU9TIHJlc2VydmVkIik7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMKaW5kZXggM2RiMDU5MC4uZmExZDI1ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2hlYWQzMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkMzIuYwpAQCAtOCw3ICs4LDM0IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3N0YXJ0X2tlcm5lbC5oPgogCisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisKIHZvaWQgX19pbml0IGkzODZfc3RhcnRfa2VybmVsKHZvaWQpCiB7CisJcmVzZXJ2ZV9lYXJseShfX3BhX3N5bWJvbCgmX3RleHQpLCBfX3BhX3N5bWJvbCgmX2VuZCksICJURVhUIERBVEEgQlNTIik7CisKKyNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKKwkvKiBSZXNlcnZlIElOSVRSRCAqLworCWlmIChib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgJiYgYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2UpIHsKKwkJdTY0IHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKKwkJdTY0IHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOworCQl1NjQgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7CisJCXJlc2VydmVfZWFybHkocmFtZGlza19pbWFnZSwgcmFtZGlza19lbmQsICJSQU1ESVNLIik7CisJfQorI2VuZGlmCisJcmVzZXJ2ZV9lYXJseShpbml0X3BnX3RhYmxlc19zdGFydCwgaW5pdF9wZ190YWJsZXNfZW5kLAorCQkJIklOSVRfUEdfVEFCTEUiKTsKKworCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKKworCS8qCisJICogQXQgdGhpcyBwb2ludCBldmVyeXRoaW5nIHN0aWxsIG5lZWRlZCBmcm9tIHRoZSBib290IGxvYWRlcgorCSAqIG9yIEJJT1Mgb3Iga2VybmVsIHRleHQgc2hvdWxkIGJlIGVhcmx5IHJlc2VydmVkIG9yIG1hcmtlZCBub3QKKwkgKiBSQU0gaW4gZTgyMC4gQWxsIG90aGVyIG1lbW9yeSBpcyBmcmVlIGdhbWUuCisJICovCisKIAlzdGFydF9rZXJuZWwoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYwppbmRleCBlMjVjNTdiLi5jOTc4MTk4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZDY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jCkBAIC0yNSw2ICsyNSwyMCBAQAogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgogCisvKiBib290IGNwdSBwZGEgKi8KK3N0YXRpYyBzdHJ1Y3QgeDg2NjRfcGRhIF9ib290X2NwdV9wZGEgX19yZWFkX21vc3RseTsKKworI2lmZGVmIENPTkZJR19TTVAKKy8qCisgKiBXZSBpbnN0YWxsIGFuIGVtcHR5IGNwdV9wZGEgcG9pbnRlciB0YWJsZSB0byBpbmRpY2F0ZSB0byBlYXJseSB1c2VycworICogKG51bWFfc2V0X25vZGUpIHRoYXQgdGhlIGNwdV9wZGEgcG9pbnRlciB0YWJsZSBmb3IgY3B1cyBvdGhlciB0aGFuCisgKiB0aGUgYm9vdCBjcHUgaXMgbm90IHlldCBzZXR1cC4KKyAqLworc3RhdGljIHN0cnVjdCB4ODY2NF9wZGEgKl9fY3B1X3BkYVtOUl9DUFVTXSBfX2luaXRkYXRhOworI2Vsc2UKK3N0YXRpYyBzdHJ1Y3QgeDg2NjRfcGRhICpfX2NwdV9wZGFbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKKyNlbmRpZgorCiBzdGF0aWMgdm9pZCBfX2luaXQgemFwX2lkZW50aXR5X21hcHBpbmdzKHZvaWQpCiB7CiAJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfaygwVUwpOwpAQCAtNTEsNzQgKzY1LDYgQEAKIAl9CiB9CiAKLSNkZWZpbmUgQklPU19MT1dNRU1fS0lMT0JZVEVTIDB4NDEzCi0KLS8qCi0gKiBUaGUgQklPUyBwbGFjZXMgdGhlIEVCREEvWEJEQSBhdCB0aGUgdG9wIG9mIGNvbnZlbnRpb25hbAotICogbWVtb3J5LCBhbmQgdXN1YWxseSBkZWNyZWFzZXMgdGhlIHJlcG9ydGVkIGFtb3VudCBvZgotICogY29udmVudGlvbmFsIG1lbW9yeSAoaW50IDB4MTIpIHRvby4gVGhpcyBhbHNvIGNvbnRhaW5zIGEKLSAqIHdvcmthcm91bmQgZm9yIERlbGwgc3lzdGVtcyB0aGF0IG5lZ2xlY3QgdG8gcmVzZXJ2ZSBFQkRBLgotICogVGhlIHNhbWUgd29ya2Fyb3VuZCBhbHNvIGF2b2lkcyBhIHByb2JsZW0gd2l0aCB0aGUgQU1ENzY4TVBYCi0gKiBjaGlwc2V0OiByZXNlcnZlIGEgcGFnZSBiZWZvcmUgVkdBIHRvIHByZXZlbnQgUENJIHByZWZldGNoCi0gKiBpbnRvIGl0IChlcnJhdGEgIzU2KS4gVXN1YWxseSB0aGUgcGFnZSBpcyByZXNlcnZlZCBhbnl3YXlzLAotICogdW5sZXNzIHlvdSBoYXZlIG5vIFBTLzIgbW91c2UgcGx1Z2dlZCBpbi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbG93bWVtLCBlYmRhX2FkZHI7Ci0KLQkvKiBUbyBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBFQkRBIGFuZCB0aGUgKi8KLQkvKiBlbmQgb2YgY29udmVudGlvbmFsIG1lbW9yeSwgd2UgbmVlZCB0byBsb29rIGF0ICovCi0JLyogdGhlIEJJT1MgZGF0YSBhcmVhLiBJbiBhIHBhcmF2aXJ0dWFsIGVudmlyb25tZW50ICovCi0JLyogdGhhdCBhcmVhIGlzIGFic2VudC4gV2UnbGwganVzdCBoYXZlIHRvIGFzc3VtZSAqLwotCS8qIHRoYXQgdGhlIHBhcmF2aXJ0IGNhc2UgY2FuIGhhbmRsZSBtZW1vcnkgc2V0dXAgKi8KLQkvKiBjb3JyZWN0bHksIHdpdGhvdXQgb3VyIGhlbHAuICovCi0JaWYgKHBhcmF2aXJ0X2VuYWJsZWQoKSkKLQkJcmV0dXJuOwotCi0JLyogZW5kIG9mIGxvdyAoY29udmVudGlvbmFsKSBtZW1vcnkgKi8KLQlsb3dtZW0gPSAqKHVuc2lnbmVkIHNob3J0ICopX192YShCSU9TX0xPV01FTV9LSUxPQllURVMpOwotCWxvd21lbSA8PD0gMTA7Ci0KLQkvKiBzdGFydCBvZiBFQkRBIGFyZWEgKi8KLQllYmRhX2FkZHIgPSBnZXRfYmlvc19lYmRhKCk7Ci0KLQkvKiBGaXh1cDogYmlvcyBwdXRzIGFuIEVCREEgaW4gdGhlIHRvcCA2NEsgc2VnbWVudCAqLwotCS8qIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIGJ1dCBkb2VzIG5vdCBhZGp1c3QgbG93bWVtLiAqLwotCWlmICgobG93bWVtIC0gZWJkYV9hZGRyKSA8PSAweDEwMDAwKQotCQlsb3dtZW0gPSBlYmRhX2FkZHI7Ci0KLQkvKiBGaXh1cDogYmlvcyBkb2VzIG5vdCByZXBvcnQgYW4gRUJEQSBhdCBhbGwuICovCi0JLyogU29tZSBvbGQgRGVsbHMgc2VlbSB0byBuZWVkIDRrIGFueWhvdyAoYnVnemlsbGEgMjk5MCkgKi8KLQlpZiAoKGViZGFfYWRkciA9PSAwKSAmJiAobG93bWVtID49IDB4OWYwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogUGFyYW5vaWE6IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dC4uLiAqLwotCWlmICgobG93bWVtID09IDApIHx8IChsb3dtZW0gPj0gMHgxMDAwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogcmVzZXJ2ZSBhbGwgbWVtb3J5IGJldHdlZW4gbG93bWVtIGFuZCB0aGUgMU1CIG1hcmsgKi8KLQlyZXNlcnZlX2Vhcmx5KGxvd21lbSwgMHgxMDAwMDAsICJCSU9TIHJlc2VydmVkIik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX3NldHVwX2RhdGEodm9pZCkKLXsKLQlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKLQl1bnNpZ25lZCBsb25nIHBhX2RhdGE7Ci0JY2hhciBidWZbMzJdOwotCi0JaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQotCQlyZXR1cm47Ci0JcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOwotCXdoaWxlIChwYV9kYXRhKSB7Ci0JCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIHNpemVvZigqZGF0YSkpOwotCQlzcHJpbnRmKGJ1ZiwgInNldHVwIGRhdGEgJXgiLCBkYXRhLT50eXBlKTsKLQkJcmVzZXJ2ZV9lYXJseShwYV9kYXRhLCBwYV9kYXRhK3NpemVvZigqZGF0YSkrZGF0YS0+bGVuLCBidWYpOwotCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKLQkJZWFybHlfaW91bm1hcChkYXRhLCBzaXplb2YoKmRhdGEpKTsKLQl9Ci19Ci0KIHZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9rZXJuZWwoY2hhciAqIHJlYWxfbW9kZV9kYXRhKQogewogCWludCBpOwpAQCAtMTU2LDEwICsxMDIsMTcgQEAKIAogCWVhcmx5X3ByaW50aygiS2VybmVsIGFsaXZlXG4iKTsKIAotIAlmb3IgKGkgPSAwOyBpIDwgTlJfQ1BVUzsgaSsrKQotIAkJY3B1X3BkYShpKSA9ICZib290X2NwdV9wZGFbaV07Ci0KKwlfY3B1X3BkYSA9IF9fY3B1X3BkYTsKKwljcHVfcGRhKDApID0gJl9ib290X2NwdV9wZGE7CiAJcGRhX2luaXQoMCk7CisKKwllYXJseV9wcmludGsoIktlcm5lbCByZWFsbHkgYWxpdmVcbiIpOworCisJeDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucyhyZWFsX21vZGVfZGF0YSk7Cit9CisKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMoY2hhciAqcmVhbF9tb2RlX2RhdGEpCit7CiAJY29weV9ib290ZGF0YShfX3ZhKHJlYWxfbW9kZV9kYXRhKSk7CiAKIAlyZXNlcnZlX2Vhcmx5KF9fcGFfc3ltYm9sKCZfdGV4dCksIF9fcGFfc3ltYm9sKCZfZW5kKSwgIlRFWFQgREFUQSBCU1MiKTsKQEAgLTE3NSw3ICsxMjgsNiBAQAogI2VuZGlmCiAKIAlyZXNlcnZlX2ViZGFfcmVnaW9uKCk7Ci0JcmVzZXJ2ZV9zZXR1cF9kYXRhKCk7CiAKIAkvKgogCSAqIEF0IHRoaXMgcG9pbnQgZXZlcnl0aGluZyBzdGlsbCBuZWVkZWQgZnJvbSB0aGUgYm9vdCBsb2FkZXIKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZF8zMi5TCmluZGV4IGY3MzU3Y2MuLmY2N2U5MzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWRfMzIuUwpAQCAtMTk0LDYgKzE5NCw3IEBACiAJeG9ybCAlZWJ4LCVlYngJCQkJLyogJWVieCBpcyBrZXB0IGF0IHplcm8gKi8KIAogCW1vdmwgJHBhKHBnMCksICVlZGkKKwltb3ZsICVlZGksIHBhKGluaXRfcGdfdGFibGVzX3N0YXJ0KQogCW1vdmwgJHBhKHN3YXBwZXJfcGdfcG1kKSwgJWVkeAogCW1vdmwgJFBURV9BVFRSLCAlZWF4CiAxMDoKQEAgLTIxOSw2ICsyMjAsOCBAQAogCWpiIDEwYgogMToKIAltb3ZsICVlZGkscGEoaW5pdF9wZ190YWJsZXNfZW5kKQorCXNocmwgJDEyLCAlZWF4CisJbW92bCAlZWF4LCBwYShtYXhfcGZuX21hcHBlZCkKIAogCS8qIERvIGVhcmx5IGluaXRpYWxpemF0aW9uIG9mIHRoZSBmaXhtYXAgYXJlYSAqLwogCW1vdmwgJHBhKHN3YXBwZXJfcGdfZml4bWFwKStQREVfQVRUUiwlZWF4CkBAIC0yMjgsNiArMjMxLDcgQEAKIHBhZ2VfcGRlX29mZnNldCA9IChfX1BBR0VfT0ZGU0VUID4+IDIwKTsKIAogCW1vdmwgJHBhKHBnMCksICVlZGkKKwltb3ZsICVlZGksIHBhKGluaXRfcGdfdGFibGVzX3N0YXJ0KQogCW1vdmwgJHBhKHN3YXBwZXJfcGdfZGlyKSwgJWVkeAogCW1vdmwgJFBURV9BVFRSLCAlZWF4CiAxMDoKQEAgLTI0OSw2ICsyNTMsOCBAQAogCWNtcGwgJWVicCwlZWF4CiAJamIgMTBiCiAJbW92bCAlZWRpLHBhKGluaXRfcGdfdGFibGVzX2VuZCkKKwlzaHJsICQxMiwgJWVheAorCW1vdmwgJWVheCwgcGEobWF4X3Bmbl9tYXBwZWQpCiAKIAkvKiBEbyBlYXJseSBpbml0aWFsaXphdGlvbiBvZiB0aGUgZml4bWFwIGFyZWEgKi8KIAltb3ZsICRwYShzd2FwcGVyX3BnX2ZpeG1hcCkrUERFX0FUVFIsJWVheApAQCAtNDQ2LDEwICs0NTIsMTMgQEAKIAlqZSAgIDFmCiAJbW92bCAkKF9fS0VSTkVMX1BFUkNQVSksICVlYXgKIAltb3ZsICVlYXgsJWZzCQkjIHNldCB0aGlzIGNwdSdzIHBlcmNwdQotCWptcCBpbml0aWFsaXplX3NlY29uZGFyeSAjIGFsbCBvdGhlciBDUFVzIGNhbGwgaW5pdGlhbGl6ZV9zZWNvbmRhcnkKKwltb3ZsIChzdGFja19zdGFydCksICVlc3AKIDE6CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwotCWptcCBpMzg2X3N0YXJ0X2tlcm5lbAorCWptcCAqKGluaXRpYWxfY29kZSkKKy5hbGlnbiA0CitFTlRSWShpbml0aWFsX2NvZGUpCisJLmxvbmcgaTM4Nl9zdGFydF9rZXJuZWwKIAogLyoKICAqIFdlIGRlcGVuZCBvbiBFVCB0byBiZSBjb3JyZWN0LiBUaGlzIGNoZWNrcyBmb3IgMjg3LzM4Ny4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZF82NC5TCmluZGV4IGI4MTc5NzQuLmIwN2FjN2IgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWRfNjQuUwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogI2luY2x1ZGUgPGFzbS9jYWNoZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3ItZmxhZ3MuaD4KIAogI2lmZGVmIENPTkZJR19QQVJBVklSVAogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgpAQCAtMzEsNiArMzIsMTMgQEAKICAqCiAgKi8KIAorI2RlZmluZSBwdWRfaW5kZXgoeCkJKCgoeCkgPj4gUFVEX1NISUZUKSAmIChQVFJTX1BFUl9QVUQtMSkpCisKK0w0X1BBR0VfT0ZGU0VUID0gcGdkX2luZGV4KF9fUEFHRV9PRkZTRVQpCitMM19QQUdFX09GRlNFVCA9IHB1ZF9pbmRleChfX1BBR0VfT0ZGU0VUKQorTDRfU1RBUlRfS0VSTkVMID0gcGdkX2luZGV4KF9fU1RBUlRfS0VSTkVMX21hcCkKK0wzX1NUQVJUX0tFUk5FTCA9IHB1ZF9pbmRleChfX1NUQVJUX0tFUk5FTF9tYXApCisKIAkudGV4dAogCS5zZWN0aW9uIC50ZXh0LmhlYWQKIAkuY29kZTY0CkBAIC03Niw4ICs4NCw4IEBACiAJLyogRml4dXAgdGhlIHBoeXNpY2FsIGFkZHJlc3NlcyBpbiB0aGUgcGFnZSB0YWJsZQogCSAqLwogCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgMCglcmlwKQotCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKDI1OCo4KSglcmlwKQotCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKDUxMSo4KSglcmlwKQorCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKEw0X1BBR0VfT0ZGU0VUKjgpKCVyaXApCisJYWRkcQklcmJwLCBpbml0X2xldmVsNF9wZ3QgKyAoTDRfU1RBUlRfS0VSTkVMKjgpKCVyaXApCiAKIAlhZGRxCSVyYnAsIGxldmVsM19pZGVudF9wZ3QgKyAwKCVyaXApCiAKQEAgLTE1NCw5ICsxNjIsNyBAQAogCSAqLwogCiAJLyogRW5hYmxlIFBBRSBtb2RlIGFuZCBQR0UgKi8KLQl4b3JxCSVyYXgsICVyYXgKLQlidHNxCSQ1LCAlcmF4Ci0JYnRzcQkkNywgJXJheAorCW1vdmwJJChYODZfQ1I0X1BBRSB8IFg4Nl9DUjRfUEdFKSwgJWVheAogCW1vdnEJJXJheCwgJWNyNAogCiAJLyogU2V0dXAgZWFybHkgYm9vdCBzdGFnZSA0IGxldmVsIHBhZ2V0YWJsZXMuICovCkBAIC0xODQsMTkgKzE5MCwxNSBAQAogMToJd3Jtc3IJCQkJLyogTWFrZSBjaGFuZ2VzIGVmZmVjdGl2ZSAqLwogCiAJLyogU2V0dXAgY3IwICovCi0jZGVmaW5lIENSMF9QTQkJCQkxCQkvKiBwcm90ZWN0ZWQgbW9kZSAqLwotI2RlZmluZSBDUjBfTVAJCQkJKDE8PDEpCi0jZGVmaW5lIENSMF9FVAkJCQkoMTw8NCkKLSNkZWZpbmUgQ1IwX05FCQkJCSgxPDw1KQotI2RlZmluZSBDUjBfV1AJCQkJKDE8PDE2KQotI2RlZmluZSBDUjBfQU0JCQkJKDE8PDE4KQotI2RlZmluZSBDUjBfUEFHSU5HIAkJCSgxPDwzMSkKLQltb3ZsICRDUjBfUE18Q1IwX01QfENSMF9FVHxDUjBfTkV8Q1IwX1dQfENSMF9BTXxDUjBfUEFHSU5HLCVlYXgKKyNkZWZpbmUgQ1IwX1NUQVRFCShYODZfQ1IwX1BFIHwgWDg2X0NSMF9NUCB8IFg4Nl9DUjBfRVQgfCBcCisJCQkgWDg2X0NSMF9ORSB8IFg4Nl9DUjBfV1AgfCBYODZfQ1IwX0FNIHwgXAorCQkJIFg4Nl9DUjBfUEcpCisJbW92bAkkQ1IwX1NUQVRFLCAlZWF4CiAJLyogTWFrZSBjaGFuZ2VzIGVmZmVjdGl2ZSAqLwogCW1vdnEJJXJheCwgJWNyMAogCiAJLyogU2V0dXAgYSBib290IHRpbWUgc3RhY2sgKi8KLQltb3ZxIGluaXRfcnNwKCVyaXApLCVyc3AKKwltb3ZxIHN0YWNrX3N0YXJ0KCVyaXApLCVyc3AKIAogCS8qIHplcm8gRUZMQUdTIGFmdGVyIHNldHRpbmcgcnNwICovCiAJcHVzaHEgJDAKQEAgLTIwOCw3ICsyMTAsNyBAQAogCSAqIGFkZHJlc3NlcyB3aGVyZSB3ZSdyZSBjdXJyZW50bHkgcnVubmluZyBvbi4gV2UgaGF2ZSB0byBkbyB0aGF0IGhlcmUKIAkgKiBiZWNhdXNlIGluIDMyYml0IHdlIGNvdWxkbid0IGxvYWQgYSA2NGJpdCBsaW5lYXIgYWRkcmVzcy4KIAkgKi8KLQlsZ2R0CWNwdV9nZHRfZGVzY3IoJXJpcCkKKwlsZ2R0CWVhcmx5X2dkdF9kZXNjciglcmlwKQogCiAJLyogc2V0IHVwIGRhdGEgc2VnbWVudHMuIGFjdHVhbGx5IDAgd291bGQgZG8gdG9vICovCiAJbW92bCAkX19LRVJORUxfRFMsJWVheApAQCAtMjU3LDggKzI1OSw5IEBACiAJLnF1YWQJeDg2XzY0X3N0YXJ0X2tlcm5lbAogCV9fRklOSVREQVRBCiAKLQlFTlRSWShpbml0X3JzcCkKKwlFTlRSWShzdGFja19zdGFydCkKIAkucXVhZCAgaW5pdF90aHJlYWRfdW5pb24rVEhSRUFEX1NJWkUtOAorCS53b3JkICAwCiAKIGJhZF9hZGRyZXNzOgogCWptcCBiYWRfYWRkcmVzcwpAQCAtMzI3LDExICszMzAsMTEgQEAKIEVOVFJZKG5hbWUpCiAKIC8qIEF1dG9tYXRlIHRoZSBjcmVhdGlvbiBvZiAxIHRvIDEgbWFwcGluZyBwbWQgZW50cmllcyAqLwotI2RlZmluZSBQTURTKFNUQVJULCBQRVJNLCBDT1VOVCkJCVwKLQlpID0gMCA7CQkJCQlcCi0JLnJlcHQgKENPVU5UKSA7CQkJCVwKLQkucXVhZAkoU1RBUlQpICsgKGkgPDwgMjEpICsgKFBFUk0pIDsJXAotCWkgPSBpICsgMSA7CQkJCVwKKyNkZWZpbmUgUE1EUyhTVEFSVCwgUEVSTSwgQ09VTlQpCQkJXAorCWkgPSAwIDsJCQkJCQlcCisJLnJlcHQgKENPVU5UKSA7CQkJCQlcCisJLnF1YWQJKFNUQVJUKSArIChpIDw8IFBNRF9TSElGVCkgKyAoUEVSTSkgOwlcCisJaSA9IGkgKyAxIDsJCQkJCVwKIAkuZW5kcgogCiAJLyoKQEAgLTM0Miw5ICszNDUsOSBAQAogCSAqLwogTkVYVF9QQUdFKGluaXRfbGV2ZWw0X3BndCkKIAkucXVhZAlsZXZlbDNfaWRlbnRfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX0tFUk5QR19UQUJMRQotCS5maWxsCTI1Nyw4LDAKKwkub3JnCWluaXRfbGV2ZWw0X3BndCArIEw0X1BBR0VfT0ZGU0VUKjgsIDAKIAkucXVhZAlsZXZlbDNfaWRlbnRfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX0tFUk5QR19UQUJMRQotCS5maWxsCTI1Miw4LDAKKwkub3JnCWluaXRfbGV2ZWw0X3BndCArIEw0X1NUQVJUX0tFUk5FTCo4LCAwCiAJLyogKDJeNDgtKDIqMTAyNCoxMDI0KjEwMjQpKS8oMl4zOSkgPSA1MTEgKi8KIAkucXVhZAlsZXZlbDNfa2VybmVsX3BndCAtIF9fU1RBUlRfS0VSTkVMX21hcCArIF9QQUdFX1RBQkxFCiAKQEAgLTM1Myw3ICszNTYsNyBAQAogCS5maWxsCTUxMSw4LDAKIAogTkVYVF9QQUdFKGxldmVsM19rZXJuZWxfcGd0KQotCS5maWxsCTUxMCw4LDAKKwkuZmlsbAlMM19TVEFSVF9LRVJORUwsOCwwCiAJLyogKDJeNDgtKDIqMTAyNCoxMDI0KjEwMjQpLSgoMl4zOSkqNTExKSkvKDJeMzApID0gNTEwICovCiAJLnF1YWQJbGV2ZWwyX2tlcm5lbF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfS0VSTlBHX1RBQkxFCiAJLnF1YWQJbGV2ZWwyX2ZpeG1hcF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfUEFHRV9UQUJMRQpAQCAtMzg0LDcgKzM4Nyw3IEBACiAJICogIElmIHlvdSB3YW50IHRvIGluY3JlYXNlIHRoaXMgdGhlbiBpbmNyZWFzZSBNT0RVTEVTX1ZBRERSCiAJICogIHRvby4pCiAJICovCi0JUE1EUygwLCBfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUN8X1BBR0VfR0xPQkFMLAorCVBNRFMoMCwgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDLAogCQlLRVJORUxfSU1BR0VfU0laRS9QTURfU0laRSkKIAogTkVYVF9QQUdFKGxldmVsMl9zcGFyZV9wZ3QpCkBAIC0zOTUsNTQgKzM5OCwxNiBAQAogCiAJLmRhdGEKIAkuYWxpZ24gMTYKLQkuZ2xvYmwgY3B1X2dkdF9kZXNjcgotY3B1X2dkdF9kZXNjcjoKLQkud29yZAlnZHRfZW5kLWNwdV9nZHRfdGFibGUtMQotZ2R0OgotCS5xdWFkCWNwdV9nZHRfdGFibGUKLSNpZmRlZiBDT05GSUdfU01QCi0JLnJlcHQJTlJfQ1BVUy0xCi0JLndvcmQJMAotCS5xdWFkCTAKLQkuZW5kcgotI2VuZGlmCisJLmdsb2JsIGVhcmx5X2dkdF9kZXNjcgorZWFybHlfZ2R0X2Rlc2NyOgorCS53b3JkCUdEVF9FTlRSSUVTKjgtMQorCS5xdWFkICAgcGVyX2NwdV9fZ2R0X3BhZ2UKIAogRU5UUlkocGh5c19iYXNlKQogCS8qIFRoaXMgbXVzdCBtYXRjaCB0aGUgZmlyc3QgZW50cnkgaW4gbGV2ZWwyX2tlcm5lbF9wZ3QgKi8KIAkucXVhZCAgIDB4MDAwMDAwMDAwMDAwMDAwMAogCi0vKiBXZSBuZWVkIHZhbGlkIGtlcm5lbCBzZWdtZW50cyBmb3IgZGF0YSBhbmQgY29kZSBpbiBsb25nIG1vZGUgdG9vCi0gKiBJUkVUIHdpbGwgY2hlY2sgdGhlIHNlZ21lbnQgdHlwZXMgIGtrZWlsIDIwMDAvMTAvMjgKLSAqIEFsc28gc3lzcmV0IG1hbmRhdGVzIGEgc3BlY2lhbCBHRFQgbGF5b3V0IAotICovCi0JCSAJCQotCS5zZWN0aW9uIC5kYXRhLnBhZ2VfYWxpZ25lZCwgImF3IgotCS5hbGlnbiBQQUdFX1NJWkUKLQotLyogVGhlIFRMUyBkZXNjcmlwdG9ycyBhcmUgY3VycmVudGx5IGF0IGEgZGlmZmVyZW50IHBsYWNlIGNvbXBhcmVkIHRvIGkzODYuCi0gICBIb3BlZnVsbHkgbm9ib2R5IGV4cGVjdHMgdGhlbSBhdCBhIGZpeGVkIHBsYWNlIChXaW5lPykgKi8KIAkKLUVOVFJZKGNwdV9nZHRfdGFibGUpCi0JLnF1YWQJMHgwMDAwMDAwMDAwMDAwMDAwCS8qIE5VTEwgZGVzY3JpcHRvciAqLwotCS5xdWFkCTB4MDBjZjliMDAwMDAwZmZmZgkvKiBfX0tFUk5FTDMyX0NTICovCi0JLnF1YWQJMHgwMGFmOWIwMDAwMDBmZmZmCS8qIF9fS0VSTkVMX0NTICovCi0JLnF1YWQJMHgwMGNmOTMwMDAwMDBmZmZmCS8qIF9fS0VSTkVMX0RTICovCi0JLnF1YWQJMHgwMGNmZmIwMDAwMDBmZmZmCS8qIF9fVVNFUjMyX0NTICovCi0JLnF1YWQJMHgwMGNmZjMwMDAwMDBmZmZmCS8qIF9fVVNFUl9EUywgX19VU0VSMzJfRFMgICovCi0JLnF1YWQJMHgwMGFmZmIwMDAwMDBmZmZmCS8qIF9fVVNFUl9DUyAqLwotCS5xdWFkCTB4MAkJCS8qIHVudXNlZCAqLwotCS5xdWFkCTAsMAkJCS8qIFRTUyAqLwotCS5xdWFkCTAsMAkJCS8qIExEVCAqLwotCS5xdWFkICAgMCwwLDAJCQkvKiB0aHJlZSBUTFMgZGVzY3JpcHRvcnMgKi8gCi0JLnF1YWQJMHgwMDAwZjQwMDAwMDAwMDAwCS8qIG5vZGUvQ1BVIHN0b3JlZCBpbiBsaW1pdCAqLwotZ2R0X2VuZDoJCi0JLyogYXNtL3NlZ21lbnQuaDpHRFRfRU5UUklFUyBtdXN0IG1hdGNoIHRoaXMgKi8JCi0JLyogVGhpcyBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiB0aGUgY2FjaGUgbGluZSBzaXplICovCi0JLyogR0RUcyBvZiBvdGhlciBDUFVzIGFyZSBub3cgZHluYW1pY2FsbHkgYWxsb2NhdGVkICovCi0KLQkvKiB6ZXJvIHRoZSByZW1haW5pbmcgcGFnZSAqLwotCS5maWxsIFBBR0VfU0laRSAvIDggLSBHRFRfRU5UUklFUyw4LDAKLQogCS5zZWN0aW9uIC5ic3MsICJhdyIsIEBub2JpdHMKIAkuYWxpZ24gTDFfQ0FDSEVfQllURVMKIEVOVFJZKGlkdF90YWJsZSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9ocGV0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaHBldC5jCmluZGV4IDliNWNmY2QuLjBlYTZhMTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9ocGV0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2hwZXQuYwpAQCAtMTcsNyArMTcsNyBAQAogCiAvKiBGU0VDID0gMTBeLTE1CiAgICBOU0VDID0gMTBeLTkgKi8KLSNkZWZpbmUgRlNFQ19QRVJfTlNFQwkxMDAwMDAwCisjZGVmaW5lIEZTRUNfUEVSX05TRUMJMTAwMDAwMEwKIAogLyoKICAqIEhQRVQgYWRkcmVzcyBpcyBzZXQgaW4gYWNwaS9ib290LmMsIHdoZW4gYW4gQUNQSSBlbnRyeSBleGlzdHMKQEAgLTM2LDI2ICszNiwxNSBAQAogfQogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAotCiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLQotc3RhdGljIGlubGluZSB2b2lkIGhwZXRfc2V0X21hcHBpbmcodm9pZCkKLXsKLQlzZXRfZml4bWFwX25vY2FjaGUoRklYX0hQRVRfQkFTRSwgaHBldF9hZGRyZXNzKTsKLQlfX3NldF9maXhtYXAoVlNZU0NBTExfSFBFVCwgaHBldF9hZGRyZXNzLCBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFKTsKLQlocGV0X3ZpcnRfYWRkcmVzcyA9ICh2b2lkIF9faW9tZW0gKilmaXhfdG9fdmlydChGSVhfSFBFVF9CQVNFKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGhwZXRfY2xlYXJfbWFwcGluZyh2b2lkKQotewotCWhwZXRfdmlydF9hZGRyZXNzID0gTlVMTDsKLX0KLQotI2Vsc2UKKyNlbmRpZgogCiBzdGF0aWMgaW5saW5lIHZvaWQgaHBldF9zZXRfbWFwcGluZyh2b2lkKQogewogCWhwZXRfdmlydF9hZGRyZXNzID0gaW9yZW1hcF9ub2NhY2hlKGhwZXRfYWRkcmVzcywgSFBFVF9NTUFQX1NJWkUpOworI2lmZGVmIENPTkZJR19YODZfNjQKKwlfX3NldF9maXhtYXAoVlNZU0NBTExfSFBFVCwgaHBldF9hZGRyZXNzLCBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgaHBldF9jbGVhcl9tYXBwaW5nKHZvaWQpCkBAIC02Myw3ICs1Miw2IEBACiAJaW91bm1hcChocGV0X3ZpcnRfYWRkcmVzcyk7CiAJaHBldF92aXJ0X2FkZHJlc3MgPSBOVUxMOwogfQotI2VuZGlmCiAKIC8qCiAgKiBIUEVUIGNvbW1hbmQgbGluZSBlbmFibGUgLyBkaXNhYmxlCkBAIC0yMDYsMjAgKzE5NCwxOSBAQAogCiBzdGF0aWMgdm9pZCBocGV0X2xlZ2FjeV9jbG9ja2V2ZW50X3JlZ2lzdGVyKHZvaWQpCiB7Ci0JdWludDY0X3QgaHBldF9mcmVxOwotCiAJLyogU3RhcnQgSFBFVCBsZWdhY3kgaW50ZXJydXB0cyAqLwogCWhwZXRfZW5hYmxlX2xlZ2FjeV9pbnQoKTsKIAogCS8qCi0JICogVGhlIHBlcmlvZCBpcyBhIGZlbXRvIHNlY29uZHMgdmFsdWUuIFdlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZQotCSAqIHNjYWxlZCBtYXRoIG11bHRpcGxpY2F0aW9uIGZhY3RvciBmb3IgbmFub3NlY29uZCB0byBocGV0IHRpY2sKLQkgKiBjb252ZXJzaW9uLgorCSAqIFRoZSBtdWx0IGZhY3RvciBpcyBkZWZpbmVkIGFzIChpbmNsdWRlL2xpbnV4L2Nsb2NrY2hpcHMuaCkKKwkgKiAgbXVsdC8yXnNoaWZ0ID0gY3ljL25zIChpbiBjb250cmFzdCB0byBucy9jeWMgaW4gY2xvY2tzb3VyY2UuaCkKKwkgKiBocGV0X3BlcmlvZCBpcyBpbiB1bml0cyBvZiBmZW10b3NlY29uZHMgKHBlciBjeWNsZSksIHNvCisJICogIG11bHQvMl5zaGlmdCA9IGN5Yy9ucyA9IDEwXjYvaHBldF9wZXJpb2QKKwkgKiAgbXVsdCA9ICgxMF42ICogMl5zaGlmdCkvaHBldF9wZXJpb2QKKwkgKiAgbXVsdCA9IChGU0VDX1BFUl9OU0VDIDw8IGhwZXRfY2xvY2tldmVudC5zaGlmdCkvaHBldF9wZXJpb2QKIAkgKi8KLQlocGV0X2ZyZXEgPSAxMDAwMDAwMDAwMDAwMDAwVUxMOwotCWRvX2RpdihocGV0X2ZyZXEsIGhwZXRfcGVyaW9kKTsKLQlocGV0X2Nsb2NrZXZlbnQubXVsdCA9IGRpdl9zYygodW5zaWduZWQgbG9uZykgaHBldF9mcmVxLAotCQkJCSAgICAgIE5TRUNfUEVSX1NFQywgaHBldF9jbG9ja2V2ZW50LnNoaWZ0KTsKKwlocGV0X2Nsb2NrZXZlbnQubXVsdCA9IGRpdl9zYygodW5zaWduZWQgbG9uZykgRlNFQ19QRVJfTlNFQywKKwkJCQkgICAgICBocGV0X3BlcmlvZCwgaHBldF9jbG9ja2V2ZW50LnNoaWZ0KTsKIAkvKiBDYWxjdWxhdGUgdGhlIG1pbiAvIG1heCBkZWx0YSAqLwogCWhwZXRfY2xvY2tldmVudC5tYXhfZGVsdGFfbnMgPSBjbG9ja2V2ZW50X2RlbHRhMm5zKDB4N0ZGRkZGRkYsCiAJCQkJCQkJICAgJmhwZXRfY2xvY2tldmVudCk7CkBAIC0zMjQsNyArMzExLDcgQEAKIAogc3RhdGljIGludCBocGV0X2Nsb2Nrc291cmNlX3JlZ2lzdGVyKHZvaWQpCiB7Ci0JdTY0IHRtcCwgc3RhcnQsIG5vdzsKKwl1NjQgc3RhcnQsIG5vdzsKIAljeWNsZV90IHQxOwogCiAJLyogU3RhcnQgdGhlIGNvdW50ZXIgKi8KQEAgLTM1MSwyMSArMzM4LDE1IEBACiAJCXJldHVybiAtRU5PREVWOwogCX0KIAotCS8qIEluaXRpYWxpemUgYW5kIHJlZ2lzdGVyIEhQRVQgY2xvY2tzb3VyY2UKLQkgKgotCSAqIGhwZXQgcGVyaW9kIGlzIGluIGZlbXRvIHNlY29uZHMgcGVyIGN5Y2xlCi0JICogc28gd2UgbmVlZCB0byBjb252ZXJ0IHRoaXMgdG8gbnMvY3ljIHVuaXRzCi0JICogYXBwcm94aW1hdGVkIGJ5IG11bHQvMl5zaGlmdAotCSAqCi0JICogIGZzZWMvY3ljICogMW5zZWMvMTAwMDAwMGZzZWMgPSBuc2VjL2N5YyA9IG11bHQvMl5zaGlmdAotCSAqICBmc2VjL2N5YyAqIDFucy8xMDAwMDAwZnNlYyAqIDJec2hpZnQgPSBtdWx0Ci0JICogIGZzZWMvY3ljICogMl5zaGlmdCAqIDFuc2VjLzEwMDAwMDBmc2VjID0gbXVsdAotCSAqICAoZnNlYy9jeWMgPDwgc2hpZnQpLzEwMDAwMDAgPSBtdWx0Ci0JICogIChocGV0X3BlcmlvZCA8PCBzaGlmdCkvRlNFQ19QRVJfTlNFQyA9IG11bHQKKwkvKgorCSAqIFRoZSBkZWZpbml0aW9uIG9mIG11bHQgaXMgKGluY2x1ZGUvbGludXgvY2xvY2tzb3VyY2UuaCkKKwkgKiBtdWx0LzJec2hpZnQgPSBucy9jeWMgYW5kIGhwZXRfcGVyaW9kIGlzIGluIHVuaXRzIG9mIGZzZWMvY3ljCisJICogc28gd2UgZmlyc3QgbmVlZCB0byBjb252ZXJ0IGhwZXRfcGVyaW9kIHRvIG5zL2N5YyB1bml0czoKKwkgKiAgbXVsdC8yXnNoaWZ0ID0gbnMvY3ljID0gaHBldF9wZXJpb2QvMTBeNgorCSAqICBtdWx0ID0gKGhwZXRfcGVyaW9kICogMl5zaGlmdCkvMTBeNgorCSAqICBtdWx0ID0gKGhwZXRfcGVyaW9kIDw8IHNoaWZ0KS9GU0VDX1BFUl9OU0VDCiAJICovCi0JdG1wID0gKHU2NClocGV0X3BlcmlvZCA8PCBIUEVUX1NISUZUOwotCWRvX2Rpdih0bXAsIEZTRUNfUEVSX05TRUMpOwotCWNsb2Nrc291cmNlX2hwZXQubXVsdCA9ICh1MzIpdG1wOworCWNsb2Nrc291cmNlX2hwZXQubXVsdCA9IGRpdl9zYyhocGV0X3BlcmlvZCwgRlNFQ19QRVJfTlNFQywgSFBFVF9TSElGVCk7CiAKIAljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfaHBldCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pMzg2X2tzeW1zXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTM4Nl9rc3ltc18zMi5jCmluZGV4IGRlYjQzNzguLmRkN2ViZWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pMzg2X2tzeW1zXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2kzODZfa3N5bXNfMzIuYwpAQCAtMSw3ICsxLDE0IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisKICNpbmNsdWRlIDxhc20vY2hlY2tzdW0uaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisvKiBtY291bnQgaXMgZGVmaW5lZCBpbiBhc3NlbWJseSAqLworRVhQT1JUX1NZTUJPTChtY291bnQpOworI2VuZGlmCiAKIC8qIE5ldHdvcmtpbmcgaGVscGVyIHJvdXRpbmVzLiAqLwogRVhQT1JUX1NZTUJPTChjc3VtX3BhcnRpYWxfY29weV9nZW5lcmljKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pMzg3LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTM4Ny5jCmluZGV4IDk1ZTgwZTUuLmViOWRkZDggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pMzg3LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2kzODcuYwpAQCAtMTYyLDcgKzE2Miw3IEBACiAJaW50IHJldDsKIAogCWlmICghY3B1X2hhc19meHNyKQotCQlyZXR1cm4gLUVJTzsKKwkJcmV0dXJuIC1FTk9ERVY7CiAKIAlyZXQgPSBpbml0X2ZwdSh0YXJnZXQpOwogCWlmIChyZXQpCkBAIC0xNzksNyArMTc5LDcgQEAKIAlpbnQgcmV0OwogCiAJaWYgKCFjcHVfaGFzX2Z4c3IpCi0JCXJldHVybiAtRUlPOworCQlyZXR1cm4gLUVOT0RFVjsKIAogCXJldCA9IGluaXRfZnB1KHRhcmdldCk7CiAJaWYgKHJldCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pODI1OV8zMi5jIGIvYXJjaC94ODYva2VybmVsL2k4MjU5LmMKc2ltaWxhcml0eSBpbmRleCA3MCUKcmVuYW1lIGZyb20gYXJjaC94ODYva2VybmVsL2k4MjU5XzMyLmMKcmVuYW1lIHRvIGFyY2gveDg2L2tlcm5lbC9pODI1OS5jCmluZGV4IGZlNjMxOTY3Li5kYzkyYjQ5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaTgyNTkuYwpAQCAtMSw4ICsxLDEwIEBACisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0xMCwxMCArMTIsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KIAorI2luY2x1ZGUgPGFzbS9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vdGltZXIuaD4KKyNpbmNsdWRlIDxhc20vaHdfaXJxLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vZGVsYXkuaD4KICNpbmNsdWRlIDxhc20vZGVzYy5oPgpAQCAtMzIsNyArMzYsNyBAQAogREVGSU5FX1NQSU5MT0NLKGk4MjU5QV9sb2NrKTsKIHN0YXRpYyB2b2lkIG1hc2tfYW5kX2Fja184MjU5QSh1bnNpZ25lZCBpbnQpOwogCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIGk4MjU5QV9jaGlwID0geworc3RydWN0IGlycV9jaGlwIGk4MjU5QV9jaGlwID0gewogCS5uYW1lCQk9ICJYVC1QSUMiLAogCS5tYXNrCQk9IGRpc2FibGVfODI1OUFfaXJxLAogCS5kaXNhYmxlCT0gZGlzYWJsZV84MjU5QV9pcnEsCkBAIC0xMjUsMTQgKzEyOSwxNCBAQAogCWludCBpcnFtYXNrID0gMTw8aXJxOwogCiAJaWYgKGlycSA8IDgpIHsKLQkJb3V0YigweDBCLFBJQ19NQVNURVJfQ01EKTsJLyogSVNSIHJlZ2lzdGVyICovCisJCW91dGIoMHgwQiwgUElDX01BU1RFUl9DTUQpOwkvKiBJU1IgcmVnaXN0ZXIgKi8KIAkJdmFsdWUgPSBpbmIoUElDX01BU1RFUl9DTUQpICYgaXJxbWFzazsKLQkJb3V0YigweDBBLFBJQ19NQVNURVJfQ01EKTsJLyogYmFjayB0byB0aGUgSVJSIHJlZ2lzdGVyICovCisJCW91dGIoMHgwQSwgUElDX01BU1RFUl9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KIAkJcmV0dXJuIHZhbHVlOwogCX0KLQlvdXRiKDB4MEIsUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLworCW91dGIoMHgwQiwgUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwogCXZhbHVlID0gaW5iKFBJQ19TTEFWRV9DTUQpICYgKGlycW1hc2sgPj4gOCk7Ci0Jb3V0YigweDBBLFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KKwlvdXRiKDB4MEEsIFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KIAlyZXR1cm4gdmFsdWU7CiB9CiAKQEAgLTE3MSwxMiArMTc1LDE0IEBACiAJaWYgKGlycSAmIDgpIHsKIAkJaW5iKFBJQ19TTEFWRV9JTVIpOwkvKiBEVU1NWSAtIChkbyB3ZSBuZWVkIHRoaXM/KSAqLwogCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCBQSUNfU0xBVkVfSU1SKTsKLQkJb3V0YigweDYwKyhpcnEmNyksUElDX1NMQVZFX0NNRCk7LyogJ1NwZWNpZmljIEVPSScgdG8gc2xhdmUgKi8KLQkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLFBJQ19NQVNURVJfQ01EKTsgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KKwkJLyogJ1NwZWNpZmljIEVPSScgdG8gc2xhdmUgKi8KKwkJb3V0YigweDYwKyhpcnEmNyksIFBJQ19TTEFWRV9DTUQpOworCQkgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KKwkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLCBQSUNfTUFTVEVSX0NNRCk7CiAJfSBlbHNlIHsKIAkJaW5iKFBJQ19NQVNURVJfSU1SKTsJLyogRFVNTVkgLSAoZG8gd2UgbmVlZCB0aGlzPykgKi8KIAkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsKLQkJb3V0YigweDYwK2lycSxQSUNfTUFTVEVSX0NNRCk7CS8qICdTcGVjaWZpYyBFT0kgdG8gbWFzdGVyICovCisJCW91dGIoMHg2MCtpcnEsIFBJQ19NQVNURVJfQ01EKTsJLyogJ1NwZWNpZmljIEVPSSB0byBtYXN0ZXIgKi8KIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKIAlyZXR1cm47CkBAIC0xOTksNyArMjA1LDggQEAKIAkJICogbGV0cyBBQ0sgYW5kIHJlcG9ydCBpdC4gW29uY2UgcGVyIElSUV0KIAkJICovCiAJCWlmICghKHNwdXJpb3VzX2lycV9tYXNrICYgaXJxbWFzaykpIHsKLQkJCXByaW50ayhLRVJOX0RFQlVHICJzcHVyaW91cyA4MjU5QSBpbnRlcnJ1cHQ6IElSUSVkLlxuIiwgaXJxKTsKKwkJCXByaW50ayhLRVJOX0RFQlVHCisJCQkgICAgICAgInNwdXJpb3VzIDgyNTlBIGludGVycnVwdDogSVJRJWQuXG4iLCBpcnEpOwogCQkJc3B1cmlvdXNfaXJxX21hc2sgfD0gaXJxbWFzazsKIAkJfQogCQlhdG9taWNfaW5jKCZpcnFfZXJyX2NvdW50KTsKQEAgLTI5MCwxNyArMjk3LDI4IEBACiAJICogb3V0Yl9waWMgLSB0aGlzIGhhcyB0byB3b3JrIG9uIGEgd2lkZSByYW5nZSBvZiBQQyBoYXJkd2FyZS4KIAkgKi8KIAlvdXRiX3BpYygweDExLCBQSUNfTUFTVEVSX0NNRCk7CS8qIElDVzE6IHNlbGVjdCA4MjU5QS0xIGluaXQgKi8KLQlvdXRiX3BpYygweDIwICsgMCwgUElDX01BU1RFUl9JTVIpOwkvKiBJQ1cyOiA4MjU5QS0xIElSMC03IG1hcHBlZCB0byAweDIwLTB4MjcgKi8KLQlvdXRiX3BpYygxVSA8PCBQSUNfQ0FTQ0FERV9JUiwgUElDX01BU1RFUl9JTVIpOwkvKiA4MjU5QS0xICh0aGUgbWFzdGVyKSBoYXMgYSBzbGF2ZSBvbiBJUjIgKi8KKworCS8qIElDVzI6IDgyNTlBLTEgSVIwLTcgbWFwcGVkIHRvIDB4MzAtMHgzNyBvbiB4ODYtNjQsCisJICAgICAgICAgICAgICAgICAgICAgICB0byAweDIwLTB4Mjcgb24gaTM4NiAqLworCW91dGJfcGljKElSUTBfVkVDVE9SLCBQSUNfTUFTVEVSX0lNUik7CisKKwkvKiA4MjU5QS0xICh0aGUgbWFzdGVyKSBoYXMgYSBzbGF2ZSBvbiBJUjIgKi8KKwlvdXRiX3BpYygxVSA8PCBQSUNfQ0FTQ0FERV9JUiwgUElDX01BU1RFUl9JTVIpOworCiAJaWYgKGF1dG9fZW9pKQkvKiBtYXN0ZXIgZG9lcyBBdXRvIEVPSSAqLwogCQlvdXRiX3BpYyhNQVNURVJfSUNXNF9ERUZBVUxUIHwgUElDX0lDVzRfQUVPSSwgUElDX01BU1RFUl9JTVIpOwogCWVsc2UJCS8qIG1hc3RlciBleHBlY3RzIG5vcm1hbCBFT0kgKi8KIAkJb3V0Yl9waWMoTUFTVEVSX0lDVzRfREVGQVVMVCwgUElDX01BU1RFUl9JTVIpOwogCiAJb3V0Yl9waWMoMHgxMSwgUElDX1NMQVZFX0NNRCk7CS8qIElDVzE6IHNlbGVjdCA4MjU5QS0yIGluaXQgKi8KLQlvdXRiX3BpYygweDIwICsgOCwgUElDX1NMQVZFX0lNUik7CS8qIElDVzI6IDgyNTlBLTIgSVIwLTcgbWFwcGVkIHRvIDB4MjgtMHgyZiAqLwotCW91dGJfcGljKFBJQ19DQVNDQURFX0lSLCBQSUNfU0xBVkVfSU1SKTsJLyogODI1OUEtMiBpcyBhIHNsYXZlIG9uIG1hc3RlcidzIElSMiAqLwotCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7IC8qIChzbGF2ZSdzIHN1cHBvcnQgZm9yIEFFT0kgaW4gZmxhdCBtb2RlIGlzIHRvIGJlIGludmVzdGlnYXRlZCkgKi8KKworCS8qIElDVzI6IDgyNTlBLTIgSVIwLTcgbWFwcGVkIHRvIElSUThfVkVDVE9SICovCisJb3V0Yl9waWMoSVJROF9WRUNUT1IsIFBJQ19TTEFWRV9JTVIpOworCS8qIDgyNTlBLTIgaXMgYSBzbGF2ZSBvbiBtYXN0ZXIncyBJUjIgKi8KKwlvdXRiX3BpYyhQSUNfQ0FTQ0FERV9JUiwgUElDX1NMQVZFX0lNUik7CisJLyogKHNsYXZlJ3Mgc3VwcG9ydCBmb3IgQUVPSSBpbiBmbGF0IG1vZGUgaXMgdG8gYmUgaW52ZXN0aWdhdGVkKSAqLworCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7CisKIAlpZiAoYXV0b19lb2kpCiAJCS8qCiAJCSAqIEluIEFFT0kgbW9kZSB3ZSBqdXN0IGhhdmUgdG8gbWFzayB0aGUgaW50ZXJydXB0CkBAIC0zMTcsOTMgKzMzNSwzIEBACiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwogfQotCi0vKgotICogTm90ZSB0aGF0IG9uIGEgNDg2LCB3ZSBkb24ndCB3YW50IHRvIGRvIGEgU0lHRlBFIG9uIGFuIGlycTEzCi0gKiBhcyB0aGUgaXJxIGlzIHVucmVsaWFibGUsIGFuZCBleGNlcHRpb24gMTYgd29ya3MgY29ycmVjdGx5Ci0gKiAoaWUgYXMgZXhwbGFpbmVkIGluIHRoZSBpbnRlbCBsaXRlcmF0dXJlKS4gT24gYSAzODYsIHlvdQotICogY2FuJ3QgdXNlIGV4Y2VwdGlvbiAxNiBkdWUgdG8gYmFkIElCTSBkZXNpZ24sIHNvIHdlIGhhdmUgdG8KLSAqIHJlbHkgb24gdGhlIGxlc3MgZXhhY3QgaXJxMTMuCi0gKgotICogQ2FyZWZ1bC4uIE5vdCBvbmx5IGlzIElSUTEzIHVucmVsaWFibGUsIGJ1dCBpdCBpcyBhbHNvCi0gKiBsZWFkcyB0byByYWNlcy4gSUJNIGRlc2lnbmVycyB3aG8gY2FtZSB1cCB3aXRoIGl0IHNob3VsZAotICogYmUgc2hvdC4KLSAqLwotIAotCi1zdGF0aWMgaXJxcmV0dXJuX3QgbWF0aF9lcnJvcl9pcnEoaW50IGNwbCwgdm9pZCAqZGV2X2lkKQotewotCWV4dGVybiB2b2lkIG1hdGhfZXJyb3Iodm9pZCBfX3VzZXIgKik7Ci0Jb3V0YigwLDB4RjApOwotCWlmIChpZ25vcmVfZnB1X2lycSB8fCAhYm9vdF9jcHVfZGF0YS5oYXJkX21hdGgpCi0JCXJldHVybiBJUlFfTk9ORTsKLQltYXRoX2Vycm9yKCh2b2lkIF9fdXNlciAqKWdldF9pcnFfcmVncygpLT5pcCk7Ci0JcmV0dXJuIElSUV9IQU5ETEVEOwotfQotCi0vKgotICogTmV3IG1vdGhlcmJvYXJkcyBzb21ldGltZXMgbWFrZSBJUlEgMTMgYmUgYSBQQ0kgaW50ZXJydXB0LAotICogc28gYWxsb3cgaW50ZXJydXB0IHNoYXJpbmcuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGZwdV9pcnEgPSB7Ci0JLmhhbmRsZXIgPSBtYXRoX2Vycm9yX2lycSwKLQkubWFzayA9IENQVV9NQVNLX05PTkUsCi0JLm5hbWUgPSAiZnB1IiwKLX07Ci0KLXZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCi17Ci0JaW50IGk7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLQlpbml0X2JzcF9BUElDKCk7Ci0jZW5kaWYKLQlpbml0XzgyNTlBKDApOwotCi0JLyoKLQkgKiAxNiBvbGQtc3R5bGUgSU5UQS1jeWNsZSBpbnRlcnJ1cHRzOgotCSAqLwotCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7Ci0JCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKLQkJCQkJICAgICAgaGFuZGxlX2xldmVsX2lycSwgIlhUIik7Ci0JfQotfQotCi0vKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgKi8KLXZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7Ci0KLXZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQotewotCWludCBpOwotCi0JLyogYWxsIHRoZSBzZXQgdXAgYmVmb3JlIHRoZSBjYWxsIGdhdGVzIGFyZSBpbml0aWFsaXNlZCAqLwotCXByZV9pbnRyX2luaXRfaG9vaygpOwotCi0JLyoKLQkgKiBDb3ZlciB0aGUgd2hvbGUgdmVjdG9yIHNwYWNlLCBubyB2ZWN0b3IgY2FuIGVzY2FwZQotCSAqIHVzLiAoc29tZSBvZiB0aGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gYW5kIGJlY29tZQotCSAqICdzcGVjaWFsJyBTTVAgaW50ZXJydXB0cykKLQkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgKE5SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpOyBpKyspIHsKLQkJaW50IHZlY3RvciA9IEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIGk7Ci0JCWlmIChpID49IE5SX0lSUVMpCi0JCQlicmVhazsKLQkJLyogU1lTQ0FMTF9WRUNUT1Igd2FzIHJlc2VydmVkIGluIHRyYXBfaW5pdC4gKi8KLQkJaWYgKCF0ZXN0X2JpdCh2ZWN0b3IsIHVzZWRfdmVjdG9ycykpCi0JCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKLQl9Ci0KLQkvKiBzZXR1cCBhZnRlciBjYWxsIGdhdGVzIGFyZSBpbml0aWFsaXNlZCAodXN1YWxseSBhZGQgaW4KLQkgKiB0aGUgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGdhdGVzKQotCSAqLwotCWludHJfaW5pdF9ob29rKCk7Ci0KLQkvKgotCSAqIEV4dGVybmFsIEZQVT8gU2V0IHVwIGlycTEzIGlmIHNvLCBmb3IKLQkgKiBvcmlnaW5hbCBicmFpbmRhbWFnZWQgSUJNIEZFUlIgY291cGxpbmcuCi0JICovCi0JaWYgKGJvb3RfY3B1X2RhdGEuaGFyZF9tYXRoICYmICFjcHVfaGFzX2ZwdSkKLQkJc2V0dXBfaXJxKEZQVV9JUlEsICZmcHVfaXJxKTsKLQotCWlycV9jdHhfaW5pdChzbXBfcHJvY2Vzc29yX2lkKCkpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2k4MjU5XzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE1N2ExNS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDUxMiArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1leC5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KLSNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KLQotI2luY2x1ZGUgPGFzbS9hY3BpLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgotI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vaHdfaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2k4MjU5Lmg+Ci0KLS8qCi0gKiBDb21tb24gcGxhY2UgdG8gZGVmaW5lIGFsbCB4ODYgSVJRIHZlY3RvcnMKLSAqCi0gKiBUaGlzIGJ1aWxkcyB1cCB0aGUgSVJRIGhhbmRsZXIgc3R1YnMgdXNpbmcgc29tZSB1Z2x5IG1hY3JvcyBpbiBpcnEuaAotICoKLSAqIFRoZXNlIG1hY3JvcyBjcmVhdGUgdGhlIGxvdy1sZXZlbCBhc3NlbWJseSBJUlEgcm91dGluZXMgdGhhdCBzYXZlCi0gKiByZWdpc3RlciBjb250ZXh0IGFuZCBjYWxsIGRvX0lSUSgpLiBkb19JUlEoKSB0aGVuIGRvZXMgYWxsIHRoZQotICogb3BlcmF0aW9ucyB0aGF0IGFyZSBuZWVkZWQgdG8ga2VlcCB0aGUgQVQgKG9yIFNNUCBJT0FQSUMpCi0gKiBpbnRlcnJ1cHQtY29udHJvbGxlciBoYXBweS4KLSAqLwotCi0jZGVmaW5lIEJJKHgseSkgXAotCUJVSUxEX0lSUSh4IyN5KQotCi0jZGVmaW5lIEJVSUxEXzE2X0lSUVMoeCkgXAotCUJJKHgsMCkgQkkoeCwxKSBCSSh4LDIpIEJJKHgsMykgXAotCUJJKHgsNCkgQkkoeCw1KSBCSSh4LDYpIEJJKHgsNykgXAotCUJJKHgsOCkgQkkoeCw5KSBCSSh4LGEpIEJJKHgsYikgXAotCUJJKHgsYykgQkkoeCxkKSBCSSh4LGUpIEJJKHgsZikKLQotLyoKLSAqIElTQSBQSUMgb3IgbG93IElPLUFQSUMgdHJpZ2dlcmVkIChJTlRBLWN5Y2xlIG9yIEFQSUMpIGludGVycnVwdHM6Ci0gKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIHRvIHZlY3RvcnMgMHgzMC0weDNmKQotICovCi0KLS8qCi0gKiBUaGUgSU8tQVBJQyBnaXZlcyB1cyBtYW55IG1vcmUgaW50ZXJydXB0IHNvdXJjZXMuIE1vc3Qgb2YgdGhlc2UKLSAqIGFyZSB1bnVzZWQgYnV0IGFuIFNNUCBzeXN0ZW0gaXMgc3VwcG9zZWQgdG8gaGF2ZSBlbm91Z2ggbWVtb3J5IC4uLgotICogc29tZXRpbWVzIChtb3N0bHkgd3J0LiBodyBidWdzKSB3ZSBnZXQgY29ycnVwdGVkIHZlY3RvcnMgYWxsCi0gKiBhY3Jvc3MgdGhlIHNwZWN0cnVtLCBzbyB3ZSByZWFsbHkgd2FudCB0byBiZSBwcmVwYXJlZCB0byBnZXQgYWxsCi0gKiBvZiB0aGVzZS4gUGx1cywgbW9yZSBwb3dlcmZ1bCBzeXN0ZW1zIG1pZ2h0IGhhdmUgbW9yZSB0aGFuIDY0Ci0gKiBJTy1BUElDIHJlZ2lzdGVycy4KLSAqCi0gKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIGludG8gdGhlIDB4MzAtMHhmZiB2ZWN0b3IgcmFuZ2UpCi0gKi8KLQkJCQkgICAgICBCVUlMRF8xNl9JUlFTKDB4MikgQlVJTERfMTZfSVJRUygweDMpCi1CVUlMRF8xNl9JUlFTKDB4NCkgQlVJTERfMTZfSVJRUygweDUpIEJVSUxEXzE2X0lSUVMoMHg2KSBCVUlMRF8xNl9JUlFTKDB4NykKLUJVSUxEXzE2X0lSUVMoMHg4KSBCVUlMRF8xNl9JUlFTKDB4OSkgQlVJTERfMTZfSVJRUygweGEpIEJVSUxEXzE2X0lSUVMoMHhiKQotQlVJTERfMTZfSVJRUygweGMpIEJVSUxEXzE2X0lSUVMoMHhkKSBCVUlMRF8xNl9JUlFTKDB4ZSkgQlVJTERfMTZfSVJRUygweGYpCi0KLSN1bmRlZiBCVUlMRF8xNl9JUlFTCi0jdW5kZWYgQkkKLQotCi0jZGVmaW5lIElSUSh4LHkpIFwKLQlJUlEjI3gjI3kjI19pbnRlcnJ1cHQKLQotI2RlZmluZSBJUlFMSVNUXzE2KHgpIFwKLQlJUlEoeCwwKSwgSVJRKHgsMSksIElSUSh4LDIpLCBJUlEoeCwzKSwgXAotCUlSUSh4LDQpLCBJUlEoeCw1KSwgSVJRKHgsNiksIElSUSh4LDcpLCBcCi0JSVJRKHgsOCksIElSUSh4LDkpLCBJUlEoeCxhKSwgSVJRKHgsYiksIFwKLQlJUlEoeCxjKSwgSVJRKHgsZCksIElSUSh4LGUpLCBJUlEoeCxmKQotCi0vKiBmb3IgdGhlIGlycSB2ZWN0b3JzICovCi1zdGF0aWMgdm9pZCAoKl9faW5pdGRhdGEgaW50ZXJydXB0W05SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1JdKSh2b2lkKSA9IHsKLQkJCQkJICBJUlFMSVNUXzE2KDB4MiksIElSUUxJU1RfMTYoMHgzKSwKLQlJUlFMSVNUXzE2KDB4NCksIElSUUxJU1RfMTYoMHg1KSwgSVJRTElTVF8xNigweDYpLCBJUlFMSVNUXzE2KDB4NyksCi0JSVJRTElTVF8xNigweDgpLCBJUlFMSVNUXzE2KDB4OSksIElSUUxJU1RfMTYoMHhhKSwgSVJRTElTVF8xNigweGIpLAotCUlSUUxJU1RfMTYoMHhjKSwgSVJRTElTVF8xNigweGQpLCBJUlFMSVNUXzE2KDB4ZSksIElSUUxJU1RfMTYoMHhmKQotfTsKLQotI3VuZGVmIElSUQotI3VuZGVmIElSUUxJU1RfMTYKLQotLyoKLSAqIFRoaXMgaXMgdGhlICdsZWdhY3knIDgyNTlBIFByb2dyYW1tYWJsZSBJbnRlcnJ1cHQgQ29udHJvbGxlciwKLSAqIHByZXNlbnQgaW4gdGhlIG1ham9yaXR5IG9mIFBDL0FUIGJveGVzLgotICogcGx1cyBzb21lIGdlbmVyaWMgeDg2IHNwZWNpZmljIHRoaW5ncyBpZiBnZW5lcmljIHNwZWNpZmljcyBtYWtlcwotICogYW55IHNlbnNlIGF0IGFsbC4KLSAqIHRoaXMgZmlsZSBzaG91bGQgYmVjb21lIGFyY2gvaTM4Ni9rZXJuZWwvaXJxLmMgd2hlbiB0aGUgb2xkIGlycS5jCi0gKiBtb3ZlcyB0byBhcmNoIGluZGVwZW5kZW50IGxhbmQKLSAqLwotCi1zdGF0aWMgaW50IGk4MjU5QV9hdXRvX2VvaTsKLURFRklORV9TUElOTE9DSyhpODI1OUFfbG9jayk7Ci1zdGF0aWMgdm9pZCBtYXNrX2FuZF9hY2tfODI1OUEodW5zaWduZWQgaW50KTsKLQotc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBpODI1OUFfY2hpcCA9IHsKLQkubmFtZQkJPSAiWFQtUElDIiwKLQkubWFzawkJPSBkaXNhYmxlXzgyNTlBX2lycSwKLQkuZGlzYWJsZQk9IGRpc2FibGVfODI1OUFfaXJxLAotCS51bm1hc2sJCT0gZW5hYmxlXzgyNTlBX2lycSwKLQkubWFza19hY2sJPSBtYXNrX2FuZF9hY2tfODI1OUEsCi19OwotCi0vKgotICogODI1OUEgUElDIGZ1bmN0aW9ucyB0byBoYW5kbGUgSVNBIGRldmljZXM6Ci0gKi8KLQotLyoKLSAqIFRoaXMgY29udGFpbnMgdGhlIGlycSBtYXNrIGZvciBib3RoIDgyNTlBIGlycSBjb250cm9sbGVycywKLSAqLwotdW5zaWduZWQgaW50IGNhY2hlZF9pcnFfbWFzayA9IDB4ZmZmZjsKLQotLyoKLSAqIE5vdCBhbGwgSVJRcyBjYW4gYmUgcm91dGVkIHRocm91Z2ggdGhlIElPLUFQSUMsIGVnLiBvbiBjZXJ0YWluIChvbGRlcikKLSAqIGJvYXJkcyB0aGUgdGltZXIgaW50ZXJydXB0IGlzIG5vdCByZWFsbHkgY29ubmVjdGVkIHRvIGFueSBJTy1BUElDIHBpbiwKLSAqIGl0J3MgZmVkIHRvIHRoZSBtYXN0ZXIgODI1OUEncyBJUjAgbGluZSBvbmx5LgotICoKLSAqIEFueSAnMScgYml0IGluIHRoaXMgbWFzayBtZWFucyB0aGUgSVJRIGlzIHJvdXRlZCB0aHJvdWdoIHRoZSBJTy1BUElDLgotICogdGhpcyAnbWl4ZWQgbW9kZScgSVJRIGhhbmRsaW5nIGNvc3RzIG5vdGhpbmcgYmVjYXVzZSBpdCdzIG9ubHkgdXNlZAotICogYXQgSVJRIHNldHVwIHRpbWUuCi0gKi8KLXVuc2lnbmVkIGxvbmcgaW9fYXBpY19pcnFzOwotCi12b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgaW50IG1hc2sgPSAxIDw8IGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JY2FjaGVkX2lycV9tYXNrIHw9IG1hc2s7Ci0JaWYgKGlycSAmIDgpCi0JCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwotCWVsc2UKLQkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotfQotCi12b2lkIGVuYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBpbnQgbWFzayA9IH4oMSA8PCBpcnEpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQljYWNoZWRfaXJxX21hc2sgJj0gbWFzazsKLQlpZiAoaXJxICYgOCkKLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7Ci0JZWxzZQotCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci19Ci0KLWludCBpODI1OUFfaXJxX3BlbmRpbmcodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBpbnQgbWFzayA9IDE8PGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZXQ7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQlpZiAoaXJxIDwgOCkKLQkJcmV0ID0gaW5iKFBJQ19NQVNURVJfQ01EKSAmIG1hc2s7Ci0JZWxzZQotCQlyZXQgPSBpbmIoUElDX1NMQVZFX0NNRCkgJiAobWFzayA+PiA4KTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCi0JcmV0dXJuIHJldDsKLX0KLQotdm9pZCBtYWtlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCWRpc2FibGVfaXJxX25vc3luYyhpcnEpOwotCWlvX2FwaWNfaXJxcyAmPSB+KDE8PGlycSk7Ci0Jc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaXJxLCAmaTgyNTlBX2NoaXAsIGhhbmRsZV9sZXZlbF9pcnEsCi0JCQkJICAgICAgIlhUIik7Ci0JZW5hYmxlX2lycShpcnEpOwotfQotCi0vKgotICogVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHRvIGJlIGNhbGxlZCByYXJlbHkuIFN3aXRjaGluZyBiZXR3ZWVuCi0gKiA4MjU5QSByZWdpc3RlcnMgaXMgc2xvdy4KLSAqIFRoaXMgaGFzIHRvIGJlIHByb3RlY3RlZCBieSB0aGUgaXJxIGNvbnRyb2xsZXIgc3BpbmxvY2sKLSAqIGJlZm9yZSBiZWluZyBjYWxsZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGk4MjU5QV9pcnFfcmVhbCh1bnNpZ25lZCBpbnQgaXJxKQotewotCWludCB2YWx1ZTsKLQlpbnQgaXJxbWFzayA9IDE8PGlycTsKLQotCWlmIChpcnEgPCA4KSB7Ci0JCW91dGIoMHgwQixQSUNfTUFTVEVSX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwotCQl2YWx1ZSA9IGluYihQSUNfTUFTVEVSX0NNRCkgJiBpcnFtYXNrOwotCQlvdXRiKDB4MEEsUElDX01BU1RFUl9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KLQkJcmV0dXJuIHZhbHVlOwotCX0KLQlvdXRiKDB4MEIsUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwotCXZhbHVlID0gaW5iKFBJQ19TTEFWRV9DTUQpICYgKGlycW1hc2sgPj4gOCk7Ci0Jb3V0YigweDBBLFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KLQlyZXR1cm4gdmFsdWU7Ci19Ci0KLS8qCi0gKiBDYXJlZnVsISBUaGUgODI1OUEgaXMgYSBmcmFnaWxlIGJlYXN0LCBpdCBwcmV0dHkKLSAqIG11Y2ggX2hhc18gdG8gYmUgZG9uZSBleGFjdGx5IGxpa2UgdGhpcyAobWFzayBpdAotICogZmlyc3QsIF90aGVuXyBzZW5kIHRoZSBFT0ksIGFuZCB0aGUgb3JkZXIgb2YgRU9JCi0gKiB0byB0aGUgdHdvIDgyNTlzIGlzIGltcG9ydGFudCEKLSAqLwotc3RhdGljIHZvaWQgbWFza19hbmRfYWNrXzgyNTlBKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgaW50IGlycW1hc2sgPSAxIDw8IGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JLyoKLQkgKiBMaWdodHdlaWdodCBzcHVyaW91cyBJUlEgZGV0ZWN0aW9uLiBXZSBkbyBub3Qgd2FudAotCSAqIHRvIG92ZXJkbyBzcHVyaW91cyBJUlEgaGFuZGxpbmcgLSBpdCdzIHVzdWFsbHkgYSBzaWduCi0JICogb2YgaGFyZHdhcmUgcHJvYmxlbXMsIHNvIHdlIG9ubHkgZG8gdGhlIGNoZWNrcyB3ZSBjYW4KLQkgKiBkbyB3aXRob3V0IHNsb3dpbmcgZG93biBnb29kIGhhcmR3YXJlIHVubmVjZXNzYXJpbHkuCi0JICoKLQkgKiBOb3RlIHRoYXQgSVJRNyBhbmQgSVJRMTUgKHRoZSB0d28gc3B1cmlvdXMgSVJRcwotCSAqIHVzdWFsbHkgcmVzdWx0aW5nIGZyb20gdGhlIDgyNTlBLTF8MiBQSUNzKSBvY2N1cgotCSAqIGV2ZW4gaWYgdGhlIElSUSBpcyBtYXNrZWQgaW4gdGhlIDgyNTlBLiBUaHVzIHdlCi0JICogY2FuIGNoZWNrIHNwdXJpb3VzIDgyNTlBIElSUXMgd2l0aG91dCBkb2luZyB0aGUKLQkgKiBxdWl0ZSBzbG93IGk4MjU5QV9pcnFfcmVhbCgpIGNhbGwgZm9yIGV2ZXJ5IElSUS4KLQkgKiBUaGlzIGRvZXMgbm90IGNvdmVyIDEwMCUgb2Ygc3B1cmlvdXMgaW50ZXJydXB0cywKLQkgKiBidXQgc2hvdWxkIGJlIGVub3VnaCB0byB3YXJuIHRoZSB1c2VyIHRoYXQgdGhlcmUKLQkgKiBpcyBzb21ldGhpbmcgYmFkIGdvaW5nIG9uIC4uLgotCSAqLwotCWlmIChjYWNoZWRfaXJxX21hc2sgJiBpcnFtYXNrKQotCQlnb3RvIHNwdXJpb3VzXzgyNTlBX2lycTsKLQljYWNoZWRfaXJxX21hc2sgfD0gaXJxbWFzazsKLQotaGFuZGxlX3JlYWxfaXJxOgotCWlmIChpcnEgJiA4KSB7Ci0JCWluYihQSUNfU0xBVkVfSU1SKTsJLyogRFVNTVkgLSAoZG8gd2UgbmVlZCB0aGlzPykgKi8KLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7Ci0JCS8qICdTcGVjaWZpYyBFT0knIHRvIHNsYXZlICovCi0JCW91dGIoMHg2MCsoaXJxJjcpLFBJQ19TTEFWRV9DTUQpOwotCQkgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KLQkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLFBJQ19NQVNURVJfQ01EKTsKLQl9IGVsc2UgewotCQlpbmIoUElDX01BU1RFUl9JTVIpOwkvKiBEVU1NWSAtIChkbyB3ZSBuZWVkIHRoaXM/KSAqLwotCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOwotCQkvKiAnU3BlY2lmaWMgRU9JJyB0byBtYXN0ZXIgKi8KLQkJb3V0YigweDYwK2lycSxQSUNfTUFTVEVSX0NNRCk7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JcmV0dXJuOwotCi1zcHVyaW91c184MjU5QV9pcnE6Ci0JLyoKLQkgKiB0aGlzIGlzIHRoZSBzbG93IHBhdGggLSBzaG91bGQgaGFwcGVuIHJhcmVseS4KLQkgKi8KLQlpZiAoaTgyNTlBX2lycV9yZWFsKGlycSkpCi0JCS8qCi0JCSAqIG9vcHMsIHRoZSBJUlEgX2lzXyBpbiBzZXJ2aWNlIGFjY29yZGluZyB0byB0aGUKLQkJICogODI1OUEgLSBub3Qgc3B1cmlvdXMsIGdvIGhhbmRsZSBpdC4KLQkJICovCi0JCWdvdG8gaGFuZGxlX3JlYWxfaXJxOwotCi0JewotCQlzdGF0aWMgaW50IHNwdXJpb3VzX2lycV9tYXNrOwotCQkvKgotCQkgKiBBdCB0aGlzIHBvaW50IHdlIGNhbiBiZSBzdXJlIHRoZSBJUlEgaXMgc3B1cmlvdXMsCi0JCSAqIGxldHMgQUNLIGFuZCByZXBvcnQgaXQuIFtvbmNlIHBlciBJUlFdCi0JCSAqLwotCQlpZiAoIShzcHVyaW91c19pcnFfbWFzayAmIGlycW1hc2spKSB7Ci0JCQlwcmludGsoS0VSTl9ERUJVRwotCQkJICAgICAgICJzcHVyaW91cyA4MjU5QSBpbnRlcnJ1cHQ6IElSUSVkLlxuIiwgaXJxKTsKLQkJCXNwdXJpb3VzX2lycV9tYXNrIHw9IGlycW1hc2s7Ci0JCX0KLQkJYXRvbWljX2luYygmaXJxX2Vycl9jb3VudCk7Ci0JCS8qCi0JCSAqIFRoZW9yZXRpY2FsbHkgd2UgZG8gbm90IGhhdmUgdG8gaGFuZGxlIHRoaXMgSVJRLAotCQkgKiBidXQgaW4gTGludXggdGhpcyBkb2VzIG5vdCBjYXVzZSBwcm9ibGVtcyBhbmQgaXMKLQkJICogc2ltcGxlciBmb3IgdXMuCi0JCSAqLwotCQlnb3RvIGhhbmRsZV9yZWFsX2lycTsKLQl9Ci19Ci0KLXN0YXRpYyBjaGFyIGlycV90cmlnZ2VyWzJdOwotLyoqCi0gKiBFTENSIHJlZ2lzdGVycyAoMHg0ZDAsIDB4NGQxKSBjb250cm9sIGVkZ2UvbGV2ZWwgb2YgSVJRCi0gKi8KLXN0YXRpYyB2b2lkIHJlc3RvcmVfRUxDUihjaGFyICp0cmlnZ2VyKQotewotCW91dGIodHJpZ2dlclswXSwgMHg0ZDApOwotCW91dGIodHJpZ2dlclsxXSwgMHg0ZDEpOwotfQotCi1zdGF0aWMgdm9pZCBzYXZlX0VMQ1IoY2hhciAqdHJpZ2dlcikKLXsKLQkvKiBJUlEgMCwxLDIsOCwxMyBhcmUgbWFya2VkIGFzIHJlc2VydmVkICovCi0JdHJpZ2dlclswXSA9IGluYigweDRkMCkgJiAweEY4OwotCXRyaWdnZXJbMV0gPSBpbmIoMHg0ZDEpICYgMHhERTsKLX0KLQotc3RhdGljIGludCBpODI1OUFfcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCi17Ci0JaW5pdF84MjU5QShpODI1OUFfYXV0b19lb2kpOwotCXJlc3RvcmVfRUxDUihpcnFfdHJpZ2dlcik7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgaTgyNTlBX3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQotewotCXNhdmVfRUxDUihpcnFfdHJpZ2dlcik7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgaTgyNTlBX3NodXRkb3duKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCi17Ci0JLyogUHV0IHRoZSBpODI1OUEgaW50byBhIHF1aWVzY2VudCBzdGF0ZSB0aGF0Ci0JICogdGhlIGtlcm5lbCBpbml0aWFsaXphdGlvbiBjb2RlIGNhbiBnZXQgaXQKLQkgKiBvdXQgb2YuCi0JICovCi0Jb3V0YigweGZmLCBQSUNfTUFTVEVSX0lNUik7CS8qIG1hc2sgYWxsIG9mIDgyNTlBLTEgKi8KLQlvdXRiKDB4ZmYsIFBJQ19TTEFWRV9JTVIpOwkvKiBtYXNrIGFsbCBvZiA4MjU5QS0xICovCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzIGk4MjU5X3N5c2Rldl9jbGFzcyA9IHsKLQkubmFtZSA9ICJpODI1OSIsCi0JLnN1c3BlbmQgPSBpODI1OUFfc3VzcGVuZCwKLQkucmVzdW1lID0gaTgyNTlBX3Jlc3VtZSwKLQkuc2h1dGRvd24gPSBpODI1OUFfc2h1dGRvd24sCi19OwotCi1zdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgZGV2aWNlX2k4MjU5QSA9IHsKLQkuaWQJPSAwLAotCS5jbHMJPSAmaTgyNTlfc3lzZGV2X2NsYXNzLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaTgyNTlBX2luaXRfc3lzZnModm9pZCkKLXsKLQlpbnQgZXJyb3IgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmk4MjU5X3N5c2Rldl9jbGFzcyk7Ci0JaWYgKCFlcnJvcikKLQkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoJmRldmljZV9pODI1OUEpOwotCXJldHVybiBlcnJvcjsKLX0KLQotZGV2aWNlX2luaXRjYWxsKGk4MjU5QV9pbml0X3N5c2ZzKTsKLQotdm9pZCBpbml0XzgyNTlBKGludCBhdXRvX2VvaSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JaTgyNTlBX2F1dG9fZW9pID0gYXV0b19lb2k7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQotCW91dGIoMHhmZiwgUElDX01BU1RFUl9JTVIpOwkvKiBtYXNrIGFsbCBvZiA4MjU5QS0xICovCi0Jb3V0YigweGZmLCBQSUNfU0xBVkVfSU1SKTsJLyogbWFzayBhbGwgb2YgODI1OUEtMiAqLwotCi0JLyoKLQkgKiBvdXRiX3BpYyAtIHRoaXMgaGFzIHRvIHdvcmsgb24gYSB3aWRlIHJhbmdlIG9mIFBDIGhhcmR3YXJlLgotCSAqLwotCW91dGJfcGljKDB4MTEsIFBJQ19NQVNURVJfQ01EKTsJLyogSUNXMTogc2VsZWN0IDgyNTlBLTEgaW5pdCAqLwotCS8qIElDVzI6IDgyNTlBLTEgSVIwLTcgbWFwcGVkIHRvIDB4MzAtMHgzNyAqLwotCW91dGJfcGljKElSUTBfVkVDVE9SLCBQSUNfTUFTVEVSX0lNUik7Ci0JLyogODI1OUEtMSAodGhlIG1hc3RlcikgaGFzIGEgc2xhdmUgb24gSVIyICovCi0Jb3V0Yl9waWMoMHgwNCwgUElDX01BU1RFUl9JTVIpOwotCWlmIChhdXRvX2VvaSkJLyogbWFzdGVyIGRvZXMgQXV0byBFT0kgKi8KLQkJb3V0Yl9waWMoTUFTVEVSX0lDVzRfREVGQVVMVCB8IFBJQ19JQ1c0X0FFT0ksIFBJQ19NQVNURVJfSU1SKTsKLQllbHNlCQkvKiBtYXN0ZXIgZXhwZWN0cyBub3JtYWwgRU9JICovCi0JCW91dGJfcGljKE1BU1RFUl9JQ1c0X0RFRkFVTFQsIFBJQ19NQVNURVJfSU1SKTsKLQotCW91dGJfcGljKDB4MTEsIFBJQ19TTEFWRV9DTUQpOwkvKiBJQ1cxOiBzZWxlY3QgODI1OUEtMiBpbml0ICovCi0JLyogSUNXMjogODI1OUEtMiBJUjAtNyBtYXBwZWQgdG8gMHgzOC0weDNmICovCi0Jb3V0Yl9waWMoSVJROF9WRUNUT1IsIFBJQ19TTEFWRV9JTVIpOwotCS8qIDgyNTlBLTIgaXMgYSBzbGF2ZSBvbiBtYXN0ZXIncyBJUjIgKi8KLQlvdXRiX3BpYyhQSUNfQ0FTQ0FERV9JUiwgUElDX1NMQVZFX0lNUik7Ci0JLyogKHNsYXZlJ3Mgc3VwcG9ydCBmb3IgQUVPSSBpbiBmbGF0IG1vZGUgaXMgdG8gYmUgaW52ZXN0aWdhdGVkKSAqLwotCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7Ci0KLQlpZiAoYXV0b19lb2kpCi0JCS8qCi0JCSAqIEluIEFFT0kgbW9kZSB3ZSBqdXN0IGhhdmUgdG8gbWFzayB0aGUgaW50ZXJydXB0Ci0JCSAqIHdoZW4gYWNraW5nLgotCQkgKi8KLQkJaTgyNTlBX2NoaXAubWFza19hY2sgPSBkaXNhYmxlXzgyNTlBX2lycTsKLQllbHNlCi0JCWk4MjU5QV9jaGlwLm1hc2tfYWNrID0gbWFza19hbmRfYWNrXzgyNTlBOwotCi0JdWRlbGF5KDEwMCk7CQkvKiB3YWl0IGZvciA4MjU5QSB0byBpbml0aWFsaXplICovCi0KLQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOyAvKiByZXN0b3JlIG1hc3RlciBJUlEgbWFzayAqLwotCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwkgIC8qIHJlc3RvcmUgc2xhdmUgSVJRIG1hc2sgKi8KLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci19Ci0KLQotCi0KLS8qCi0gKiBJUlEyIGlzIGNhc2NhZGUgaW50ZXJydXB0IHRvIHNlY29uZCBpbnRlcnJ1cHQgY29udHJvbGxlcgotICovCi0KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGlycTIgPSB7Ci0JLmhhbmRsZXIgPSBub19hY3Rpb24sCi0JLm1hc2sgPSBDUFVfTUFTS19OT05FLAotCS5uYW1lID0gImNhc2NhZGUiLAotfTsKLURFRklORV9QRVJfQ1BVKHZlY3Rvcl9pcnFfdCwgdmVjdG9yX2lycSkgPSB7Ci0JWzAgLi4uIElSUTBfVkVDVE9SIC0gMV0gPSAtMSwKLQlbSVJRMF9WRUNUT1JdID0gMCwKLQlbSVJRMV9WRUNUT1JdID0gMSwKLQlbSVJRMl9WRUNUT1JdID0gMiwKLQlbSVJRM19WRUNUT1JdID0gMywKLQlbSVJRNF9WRUNUT1JdID0gNCwKLQlbSVJRNV9WRUNUT1JdID0gNSwKLQlbSVJRNl9WRUNUT1JdID0gNiwKLQlbSVJRN19WRUNUT1JdID0gNywKLQlbSVJROF9WRUNUT1JdID0gOCwKLQlbSVJROV9WRUNUT1JdID0gOSwKLQlbSVJRMTBfVkVDVE9SXSA9IDEwLAotCVtJUlExMV9WRUNUT1JdID0gMTEsCi0JW0lSUTEyX1ZFQ1RPUl0gPSAxMiwKLQlbSVJRMTNfVkVDVE9SXSA9IDEzLAotCVtJUlExNF9WRUNUT1JdID0gMTQsCi0JW0lSUTE1X1ZFQ1RPUl0gPSAxNSwKLQlbSVJRMTVfVkVDVE9SICsgMSAuLi4gTlJfVkVDVE9SUyAtIDFdID0gLTEKLX07Ci0KLXZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQlpbml0X2JzcF9BUElDKCk7Ci0JaW5pdF84MjU5QSgwKTsKLQotCWZvciAoaSA9IDA7IGkgPCBOUl9JUlFTOyBpKyspIHsKLQkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOwotCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSBOVUxMOwotCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7Ci0KLQkJaWYgKGkgPCAxNikgewotCQkJLyoKLQkJCSAqIDE2IG9sZC1zdHlsZSBJTlRBLWN5Y2xlIGludGVycnVwdHM6Ci0JCQkgKi8KLQkJCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKLQkJCQkJCSAgICAgIGhhbmRsZV9sZXZlbF9pcnEsICJYVCIpOwotCQl9IGVsc2UgewotCQkJLyoKLQkJCSAqICdoaWdoJyBQQ0kgSVJRcyBmaWxsZWQgaW4gb24gZGVtYW5kCi0JCQkgKi8KLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmbm9faXJxX2NoaXA7Ci0JCX0KLQl9Ci19Ci0KLXZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7Ci0KLXZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQotewotCWludCBpOwotCi0JaW5pdF9JU0FfaXJxcygpOwotCS8qCi0JICogQ292ZXIgdGhlIHdob2xlIHZlY3RvciBzcGFjZSwgbm8gdmVjdG9yIGNhbiBlc2NhcGUKLQkgKiB1cy4gKHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGFuZCBiZWNvbWUKLQkgKiAnc3BlY2lhbCcgU01QIGludGVycnVwdHMpCi0JICovCi0JZm9yIChpID0gMDsgaSA8IChOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SKTsgaSsrKSB7Ci0JCWludCB2ZWN0b3IgPSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyBpOwotCQlpZiAodmVjdG9yICE9IElBMzJfU1lTQ0FMTF9WRUNUT1IpCi0JCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKLQl9Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JLyoKLQkgKiBUaGUgcmVzY2hlZHVsZSBpbnRlcnJ1cHQgaXMgYSBDUFUtdG8tQ1BVIHJlc2NoZWR1bGUtaGVscGVyCi0JICogSVBJLCBkcml2ZW4gYnkgd2FrZXVwLgotCSAqLwotCXNldF9pbnRyX2dhdGUoUkVTQ0hFRFVMRV9WRUNUT1IsIHJlc2NoZWR1bGVfaW50ZXJydXB0KTsKLQotCS8qIElQSXMgZm9yIGludmFsaWRhdGlvbiAqLwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzAsIGludmFsaWRhdGVfaW50ZXJydXB0MCk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMSwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCsyLCBpbnZhbGlkYXRlX2ludGVycnVwdDIpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzMsIGludmFsaWRhdGVfaW50ZXJydXB0Myk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNCwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs1LCBpbnZhbGlkYXRlX2ludGVycnVwdDUpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzYsIGludmFsaWRhdGVfaW50ZXJydXB0Nik7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNywgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KTsKLQotCS8qIElQSSBmb3IgZ2VuZXJpYyBmdW5jdGlvbiBjYWxsICovCi0Jc2V0X2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpOwotCi0JLyogTG93IHByaW9yaXR5IElQSSB0byBjbGVhbnVwIGFmdGVyIG1vdmluZyBhbiBpcnEgKi8KLQlzZXRfaW50cl9nYXRlKElSUV9NT1ZFX0NMRUFOVVBfVkVDVE9SLCBpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCk7Ci0jZW5kaWYKLQlzZXRfaW50cl9nYXRlKFRIRVJNQUxfQVBJQ19WRUNUT1IsIHRoZXJtYWxfaW50ZXJydXB0KTsKLQlzZXRfaW50cl9nYXRlKFRIUkVTSE9MRF9BUElDX1ZFQ1RPUiwgdGhyZXNob2xkX2ludGVycnVwdCk7Ci0KLQkvKiBzZWxmIGdlbmVyYXRlZCBJUEkgZm9yIGxvY2FsIEFQSUMgdGltZXIgKi8KLQlzZXRfaW50cl9nYXRlKExPQ0FMX1RJTUVSX1ZFQ1RPUiwgYXBpY190aW1lcl9pbnRlcnJ1cHQpOwotCi0JLyogSVBJIHZlY3RvcnMgZm9yIEFQSUMgc3B1cmlvdXMgYW5kIGVycm9yIGludGVycnVwdHMgKi8KLQlzZXRfaW50cl9nYXRlKFNQVVJJT1VTX0FQSUNfVkVDVE9SLCBzcHVyaW91c19pbnRlcnJ1cHQpOwotCXNldF9pbnRyX2dhdGUoRVJST1JfQVBJQ19WRUNUT1IsIGVycm9yX2ludGVycnVwdCk7Ci0KLQlpZiAoIWFjcGlfaW9hcGljKQotCQlzZXR1cF9pcnEoMiwgJmlycTIpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzMyLmMKaW5kZXggNGRjODYwMGQ5Li41NThhYmY0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzMyLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CiAjaW5jbHVkZSA8bGludXgvYWNwaS5oPgpAQCAtNTgsNyArNTksNyBAQAogc3RhdGljIERFRklORV9TUElOTE9DSyhpb2FwaWNfbG9jayk7CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHZlY3Rvcl9sb2NrKTsKIAotaW50IHRpbWVyX292ZXJfODI1NCBfX2luaXRkYXRhID0gMTsKK2ludCB0aW1lcl90aHJvdWdoXzgyNTkgX19pbml0ZGF0YTsKIAogLyoKICAqCUlzIHRoZSBTaVMgQVBJQyBybXcgYnVnIHByZXNlbnQgPwpAQCAtNzIsMTUgKzczLDIxIEBACiBpbnQgbnJfaW9hcGljX3JlZ2lzdGVyc1tNQVhfSU9fQVBJQ1NdOwogCiAvKiBJL08gQVBJQyBlbnRyaWVzICovCi1zdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOworc3RydWN0IG1wX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOwogaW50IG5yX2lvYXBpY3M7CiAKIC8qIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwotc3RydWN0IG1wY19jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKK3N0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKIAogLyogIyBvZiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KIGludCBtcF9pcnFfZW50cmllczsKIAorI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQoraW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOworI2VuZGlmCisKK0RFQ0xBUkVfQklUTUFQKG1wX2J1c19ub3RfcGNpLCBNQVhfTVBfQlVTU0VTKTsKKwogc3RhdGljIGludCBkaXNhYmxlX3RpbWVyX3Bpbl8xIF9faW5pdGRhdGE7CiAKIC8qCkBAIC0xMTAsNyArMTE3LDcgQEAKIHN0YXRpYyBfX2F0dHJpYnV0ZV9jb25zdF9fIHN0cnVjdCBpb19hcGljIF9faW9tZW0gKmlvX2FwaWNfYmFzZShpbnQgaWR4KQogewogCXJldHVybiAodm9pZCBfX2lvbWVtICopIF9fZml4X3RvX3ZpcnQoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4KQotCQkrIChtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNhZGRyICYgflBBR0VfTUFTSyk7CisJCSsgKG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciAmIH5QQUdFX01BU0spOwogfQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpb19hcGljX3JlYWQodW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcpCkBAIC0yMzksNyArMjQ2LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIF9fbW9kaWZ5X0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxLCB1bnNpZ25lZCBsb25nIGVuYWJsZSwgdW5zaWduZWQgbG9uZyBkaXNhYmxlKQorc3RhdGljIHZvaWQgX19tb2RpZnlfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSwgdW5zaWduZWQgbG9uZyBlbmFibGUsIHVuc2lnbmVkIGxvbmcgZGlzYWJsZSkKIHsKIAlzdHJ1Y3QgaXJxX3Bpbl9saXN0ICplbnRyeSA9IGlycV8yX3BpbiArIGlycTsKIAl1bnNpZ25lZCBpbnQgcGluLCByZWc7CkBAIC0yNTksMzAgKzI2NiwzMiBAQAogfQogCiAvKiBtYXNrID0gMSAqLwotc3RhdGljIHZvaWQgX19tYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgX19tYXNrX0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCAweDAwMDEwMDAwLCAwKTsKKwlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIElPX0FQSUNfUkVESVJfTUFTS0VELCAwKTsKIH0KIAogLyogbWFzayA9IDAgKi8KLXN0YXRpYyB2b2lkIF9fdW5tYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgX191bm1hc2tfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIDAsIDB4MDAwMTAwMDApOworCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMCwgSU9fQVBJQ19SRURJUl9NQVNLRUQpOwogfQogCiAvKiBtYXNrID0gMSwgdHJpZ2dlciA9IDAgKi8KLXN0YXRpYyB2b2lkIF9fbWFza19hbmRfZWRnZV9JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIF9fbWFza19hbmRfZWRnZV9JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMHgwMDAxMDAwMCwgMHgwMDAwODAwMCk7CisJX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCBJT19BUElDX1JFRElSX01BU0tFRCwKKwkJCQlJT19BUElDX1JFRElSX0xFVkVMX1RSSUdHRVIpOwogfQogCiAvKiBtYXNrID0gMCwgdHJpZ2dlciA9IDEgKi8KLXN0YXRpYyB2b2lkIF9fdW5tYXNrX2FuZF9sZXZlbF9JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIF9fdW5tYXNrX2FuZF9sZXZlbF9JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMHgwMDAwODAwMCwgMHgwMDAxMDAwMCk7CisJX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCBJT19BUElDX1JFRElSX0xFVkVMX1RSSUdHRVIsCisJCQkJSU9fQVBJQ19SRURJUl9NQVNLRUQpOwogfQogCi1zdGF0aWMgdm9pZCBtYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgbWFza19JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTI5MSw3ICszMDAsNyBAQAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiB9CiAKLXN0YXRpYyB2b2lkIHVubWFza19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIHVubWFza19JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTMwMyw3ICszMTIsNyBAQAogc3RhdGljIHZvaWQgY2xlYXJfSU9fQVBJQ19waW4odW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCBwaW4pCiB7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnk7Ci0JCisKIAkvKiBDaGVjayBkZWxpdmVyeV9tb2RlIHRvIGJlIHN1cmUgd2UncmUgbm90IGNsZWFyaW5nIGFuIFNNSSBwaW4gKi8KIAllbnRyeSA9IGlvYXBpY19yZWFkX2VudHJ5KGFwaWMsIHBpbik7CiAJaWYgKGVudHJ5LmRlbGl2ZXJ5X21vZGUgPT0gZGVzdF9TTUkpCkBAIC0zMTUsNyArMzI0LDcgQEAKIAlpb2FwaWNfbWFza19lbnRyeShhcGljLCBwaW4pOwogfQogCi1zdGF0aWMgdm9pZCBjbGVhcl9JT19BUElDICh2b2lkKQorc3RhdGljIHZvaWQgY2xlYXJfSU9fQVBJQyh2b2lkKQogewogCWludCBhcGljLCBwaW47CiAKQEAgLTMzMiw3ICszNDEsNyBAQAogCXN0cnVjdCBpcnFfcGluX2xpc3QgKmVudHJ5ID0gaXJxXzJfcGluICsgaXJxOwogCXVuc2lnbmVkIGludCBhcGljaWRfdmFsdWU7CiAJY3B1bWFza190IHRtcDsKLQkKKwogCWNwdXNfYW5kKHRtcCwgY3B1bWFzaywgY3B1X29ubGluZV9tYXApOwogCWlmIChjcHVzX2VtcHR5KHRtcCkpCiAJCXRtcCA9IFRBUkdFVF9DUFVTOwpAQCAtMzYxLDcgKzM3MCw3IEBACiAjIGluY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CS8qIGtzdGF0ICovCiAjIGluY2x1ZGUgPGxpbnV4L3NsYWIuaD4JCS8qIGttYWxsb2MoKSAqLwogIyBpbmNsdWRlIDxsaW51eC90aW1lci5oPgotIAorCiAjZGVmaW5lIElSUUJBTEFOQ0VfQ0hFQ0tfQVJDSCAtOTk5CiAjZGVmaW5lIE1BWF9CQUxBTkNFRF9JUlFfSU5URVJWQUwJKDUqSFopCiAjZGVmaW5lIE1JTl9CQUxBTkNFRF9JUlFfSU5URVJWQUwJKEhaLzIpCkBAIC0zNzMsMTQgKzM4MiwxNCBAQAogc3RhdGljIGxvbmcgYmFsYW5jZWRfaXJxX2ludGVydmFsIF9fcmVhZF9tb3N0bHkgPSBNQVhfQkFMQU5DRURfSVJRX0lOVEVSVkFMOwogCiBzdGF0aWMgc3RydWN0IGlycV9jcHVfaW5mbyB7Ci0JdW5zaWduZWQgbG9uZyAqIGxhc3RfaXJxOwotCXVuc2lnbmVkIGxvbmcgKiBpcnFfZGVsdGE7CisJdW5zaWduZWQgbG9uZyAqbGFzdF9pcnE7CisJdW5zaWduZWQgbG9uZyAqaXJxX2RlbHRhOwogCXVuc2lnbmVkIGxvbmcgaXJxOwogfSBpcnFfY3B1X2RhdGFbTlJfQ1BVU107CiAKICNkZWZpbmUgQ1BVX0lSUShjcHUpCQkoaXJxX2NwdV9kYXRhW2NwdV0uaXJxKQotI2RlZmluZSBMQVNUX0NQVV9JUlEoY3B1LGlycSkgICAoaXJxX2NwdV9kYXRhW2NwdV0ubGFzdF9pcnFbaXJxXSkKLSNkZWZpbmUgSVJRX0RFTFRBKGNwdSxpcnEpIAkoaXJxX2NwdV9kYXRhW2NwdV0uaXJxX2RlbHRhW2lycV0pCisjZGVmaW5lIExBU1RfQ1BVX0lSUShjcHUsIGlycSkgICAoaXJxX2NwdV9kYXRhW2NwdV0ubGFzdF9pcnFbaXJxXSkKKyNkZWZpbmUgSVJRX0RFTFRBKGNwdSwgaXJxKSAJKGlycV9jcHVfZGF0YVtjcHVdLmlycV9kZWx0YVtpcnFdKQogCiAjZGVmaW5lIElETEVfRU5PVUdIKGNwdSxub3cpIFwKIAkoaWRsZV9jcHUoY3B1KSAmJiAoKG5vdykgLSBwZXJfY3B1KGlycV9zdGF0LCAoY3B1KSkuaWRsZV90aW1lc3RhbXAgPiAxKSkKQEAgLTQxOSw4ICs0MjgsOCBAQAogCQkJaWYgKGNwdSA9PSAtMSkKIAkJCQljcHUgPSBOUl9DUFVTLTE7CiAJCX0KLQl9IHdoaWxlICghY3B1X29ubGluZShjcHUpIHx8ICFJUlFfQUxMT1dFRChjcHUsYWxsb3dlZF9tYXNrKSB8fAotCQkJKHNlYXJjaF9pZGxlICYmICFJRExFX0VOT1VHSChjcHUsbm93KSkpOworCX0gd2hpbGUgKCFjcHVfb25saW5lKGNwdSkgfHwgIUlSUV9BTExPV0VEKGNwdSwgYWxsb3dlZF9tYXNrKSB8fAorCQkJKHNlYXJjaF9pZGxlICYmICFJRExFX0VOT1VHSChjcHUsIG5vdykpKTsKIAogCXJldHVybiBjcHU7CiB9CkBAIC00MzAsMTUgKzQzOSwxNCBAQAogCXVuc2lnbmVkIGxvbmcgbm93ID0gamlmZmllczsKIAljcHVtYXNrX3QgYWxsb3dlZF9tYXNrOwogCXVuc2lnbmVkIGludCBuZXdfY3B1OwotCQkKKwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkKQotCQlyZXR1cm47IAorCQlyZXR1cm47CiAKIAljcHVzX2FuZChhbGxvd2VkX21hc2ssIGNwdV9vbmxpbmVfbWFwLCBiYWxhbmNlX2lycV9hZmZpbml0eVtpcnFdKTsKIAluZXdfY3B1ID0gbW92ZShjcHUsIGFsbG93ZWRfbWFzaywgbm93LCAxKTsKLQlpZiAoY3B1ICE9IG5ld19jcHUpIHsKKwlpZiAoY3B1ICE9IG5ld19jcHUpCiAJCXNldF9wZW5kaW5nX2lycShpcnEsIGNwdW1hc2tfb2ZfY3B1KG5ld19jcHUpKTsKLQl9CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCByb3RhdGVfaXJxc19hbW9uZ19jcHVzKHVuc2lnbmVkIGxvbmcgdXNlZnVsX2xvYWRfdGhyZXNob2xkKQpAQCAtNDUwLDE0ICs0NTgsMTQgQEAKIAkJCWlmICghaXJxX2Rlc2Nbal0uYWN0aW9uKQogCQkJCWNvbnRpbnVlOwogCQkJLyogSXMgaXQgYSBzaWduaWZpY2FudCBsb2FkID8gICovCi0JCQlpZiAoSVJRX0RFTFRBKENQVV9UT19QQUNLQUdFSU5ERVgoaSksaikgPAorCQkJaWYgKElSUV9ERUxUQShDUFVfVE9fUEFDS0FHRUlOREVYKGkpLCBqKSA8CiAJCQkJCQl1c2VmdWxfbG9hZF90aHJlc2hvbGQpCiAJCQkJY29udGludWU7CiAJCQliYWxhbmNlX2lycShpLCBqKTsKIAkJfQogCX0KIAliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgPSBtYXgoKGxvbmcpTUlOX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTCwKLQkJYmFsYW5jZWRfaXJxX2ludGVydmFsIC0gQkFMQU5DRURfSVJRX0xFU1NfREVMVEEpOwkKKwkJYmFsYW5jZWRfaXJxX2ludGVydmFsIC0gQkFMQU5DRURfSVJRX0xFU1NfREVMVEEpOwogCXJldHVybjsKIH0KIApAQCAtNDg2LDIyICs0OTQsMjIgQEAKIAkJCS8qIElzIHRoaXMgYW4gYWN0aXZlIElSUSBvciBiYWxhbmNpbmcgZGlzYWJsZWQgPyAqLwogCQkJaWYgKCFpcnFfZGVzY1tqXS5hY3Rpb24gfHwgaXJxX2JhbGFuY2luZ19kaXNhYmxlZChqKSkKIAkJCQljb250aW51ZTsKLQkJCWlmICggcGFja2FnZV9pbmRleCA9PSBpICkKLQkJCQlJUlFfREVMVEEocGFja2FnZV9pbmRleCxqKSA9IDA7CisJCQlpZiAocGFja2FnZV9pbmRleCA9PSBpKQorCQkJCUlSUV9ERUxUQShwYWNrYWdlX2luZGV4LCBqKSA9IDA7CiAJCQkvKiBEZXRlcm1pbmUgdGhlIHRvdGFsIGNvdW50IHBlciBwcm9jZXNzb3IgcGVyIElSUSAqLwogCQkJdmFsdWVfbm93ID0gKHVuc2lnbmVkIGxvbmcpIGtzdGF0X2NwdShpKS5pcnFzW2pdOwogCiAJCQkvKiBEZXRlcm1pbmUgdGhlIGFjdGl2aXR5IHBlciBwcm9jZXNzb3IgcGVyIElSUSAqLwotCQkJZGVsdGEgPSB2YWx1ZV9ub3cgLSBMQVNUX0NQVV9JUlEoaSxqKTsKKwkJCWRlbHRhID0gdmFsdWVfbm93IC0gTEFTVF9DUFVfSVJRKGksIGopOwogCiAJCQkvKiBVcGRhdGUgbGFzdF9jcHVfaXJxW11bXSBmb3IgdGhlIG5leHQgdGltZSAqLwotCQkJTEFTVF9DUFVfSVJRKGksaikgPSB2YWx1ZV9ub3c7CisJCQlMQVNUX0NQVV9JUlEoaSwgaikgPSB2YWx1ZV9ub3c7CiAKIAkJCS8qIElnbm9yZSBJUlFzIHdob3NlIHJhdGUgaXMgbGVzcyB0aGFuIHRoZSBjbG9jayAqLwogCQkJaWYgKGRlbHRhIDwgdXNlZnVsX2xvYWRfdGhyZXNob2xkKQogCQkJCWNvbnRpbnVlOwogCQkJLyogdXBkYXRlIHRoZSBsb2FkIGZvciB0aGUgcHJvY2Vzc29yIG9yIHBhY2thZ2UgdG90YWwgKi8KLQkJCUlSUV9ERUxUQShwYWNrYWdlX2luZGV4LGopICs9IGRlbHRhOworCQkJSVJRX0RFTFRBKHBhY2thZ2VfaW5kZXgsIGopICs9IGRlbHRhOwogCiAJCQkvKiBLZWVwIHRyYWNrIG9mIHRoZSBoaWdoZXIgbnVtYmVyZWQgc2libGluZyBhcyB3ZWxsICovCiAJCQlpZiAoaSAhPSBwYWNrYWdlX2luZGV4KQpAQCAtNTI3LDcgKzUzNSw4IEBACiAJbWF4X2NwdV9pcnEgPSBVTE9OR19NQVg7CiAKIHRyeWFub3RoZXJjcHU6Ci0JLyogTG9vayBmb3IgaGVhdmllc3QgbG9hZGVkIHByb2Nlc3Nvci4KKwkvKgorCSAqIExvb2sgZm9yIGhlYXZpZXN0IGxvYWRlZCBwcm9jZXNzb3IuCiAJICogV2UgbWF5IGNvbWUgYmFjayB0byBnZXQgdGhlIG5leHQgaGVhdmllc3QgbG9hZGVkIHByb2Nlc3Nvci4KIAkgKiBTa2lwIHByb2Nlc3NvcnMgd2l0aCB0cml2aWFsIGxvYWRzLgogCSAqLwpAQCAtNTM2LDcgKzU0NSw3IEBACiAJZm9yX2VhY2hfb25saW5lX2NwdShpKSB7CiAJCWlmIChpICE9IENQVV9UT19QQUNLQUdFSU5ERVgoaSkpCiAJCQljb250aW51ZTsKLQkJaWYgKG1heF9jcHVfaXJxIDw9IENQVV9JUlEoaSkpIAorCQlpZiAobWF4X2NwdV9pcnEgPD0gQ1BVX0lSUShpKSkKIAkJCWNvbnRpbnVlOwogCQlpZiAodG1wX2NwdV9pcnEgPCBDUFVfSVJRKGkpKSB7CiAJCQl0bXBfY3B1X2lycSA9IENQVV9JUlEoaSk7CkBAIC01NDUsOCArNTU0LDkgQEAKIAl9CiAKIAlpZiAodG1wX2xvYWRlZCA9PSAtMSkgewotIAkgLyogSW4gdGhlIGNhc2Ugb2Ygc21hbGwgbnVtYmVyIG9mIGhlYXZ5IGludGVycnVwdCBzb3VyY2VzLCAKLQkgICogbG9hZGluZyBzb21lIG9mIHRoZSBjcHVzIHRvbyBtdWNoLiBXZSB1c2UgSW5nbydzIG9yaWdpbmFsIAorCSAvKgorCSAgKiBJbiB0aGUgY2FzZSBvZiBzbWFsbCBudW1iZXIgb2YgaGVhdnkgaW50ZXJydXB0IHNvdXJjZXMsCisJICAqIGxvYWRpbmcgc29tZSBvZiB0aGUgY3B1cyB0b28gbXVjaC4gV2UgdXNlIEluZ28ncyBvcmlnaW5hbAogCSAgKiBhcHByb2FjaCB0byByb3RhdGUgdGhlbSBhcm91bmQuCiAJICAqLwogCQlpZiAoIWZpcnN0X2F0dGVtcHQgJiYgaW1iYWxhbmNlID49IHVzZWZ1bF9sb2FkX3RocmVzaG9sZCkgewpAQCAtNTU1LDEzICs1NjUsMTQgQEAKIAkJfQogCQlnb3RvIG5vdF93b3J0aF90aGVfZWZmb3J0OwogCX0KLQkKKwogCWZpcnN0X2F0dGVtcHQgPSAwOwkJLyogaGVhdmllc3Qgc2VhcmNoICovCiAJbWF4X2NwdV9pcnEgPSB0bXBfY3B1X2lycTsJLyogbG9hZCAqLwogCW1heF9sb2FkZWQgPSB0bXBfbG9hZGVkOwkvKiBwcm9jZXNzb3IgKi8KIAlpbWJhbGFuY2UgPSAobWF4X2NwdV9pcnEgLSBtaW5fY3B1X2lycSkgLyAyOwotCQotCS8qIGlmIGltYmFsYW5jZSBpcyBsZXNzIHRoYW4gYXBwcm94IDEwJSBvZiBtYXggbG9hZCwgdGhlbgorCisJLyoKKwkgKiBpZiBpbWJhbGFuY2UgaXMgbGVzcyB0aGFuIGFwcHJveCAxMCUgb2YgbWF4IGxvYWQsIHRoZW4KIAkgKiBvYnNlcnZlIGRpbWluaXNoaW5nIHJldHVybnMgYWN0aW9uLiAtIHF1aXQKIAkgKi8KIAlpZiAoaW1iYWxhbmNlIDwgKG1heF9jcHVfaXJxID4+IDMpKQpAQCAtNTc3LDI2ICs1ODgsMjUgQEAKIAkJLyogSXMgdGhpcyBhbiBhY3RpdmUgSVJRPyAqLwogCQlpZiAoIWlycV9kZXNjW2pdLmFjdGlvbikKIAkJCWNvbnRpbnVlOwotCQlpZiAoaW1iYWxhbmNlIDw9IElSUV9ERUxUQShtYXhfbG9hZGVkLGopKQorCQlpZiAoaW1iYWxhbmNlIDw9IElSUV9ERUxUQShtYXhfbG9hZGVkLCBqKSkKIAkJCWNvbnRpbnVlOwogCQkvKiBUcnkgdG8gZmluZCB0aGUgSVJRIHRoYXQgaXMgY2xvc2VzdCB0byB0aGUgaW1iYWxhbmNlCiAJCSAqIHdpdGhvdXQgZ29pbmcgb3Zlci4KIAkJICovCi0JCWlmIChtb3ZlX3RoaXNfbG9hZCA8IElSUV9ERUxUQShtYXhfbG9hZGVkLGopKSB7Ci0JCQltb3ZlX3RoaXNfbG9hZCA9IElSUV9ERUxUQShtYXhfbG9hZGVkLGopOworCQlpZiAobW92ZV90aGlzX2xvYWQgPCBJUlFfREVMVEEobWF4X2xvYWRlZCwgaikpIHsKKwkJCW1vdmVfdGhpc19sb2FkID0gSVJRX0RFTFRBKG1heF9sb2FkZWQsIGopOwogCQkJc2VsZWN0ZWRfaXJxID0gajsKIAkJfQogCX0KLQlpZiAoc2VsZWN0ZWRfaXJxID09IC0xKSB7CisJaWYgKHNlbGVjdGVkX2lycSA9PSAtMSkKIAkJZ290byB0cnlhbm90aGVyY3B1OwotCX0KIAogCWltYmFsYW5jZSA9IG1vdmVfdGhpc19sb2FkOwotCQorCiAJLyogRm9yIHBoeXNpY2FsX2JhbGFuY2UgY2FzZSwgd2UgYWNjdW11bGF0ZWQgYm90aCBsb2FkCiAJICogdmFsdWVzIGluIHRoZSBvbmUgb2YgdGhlIHNpYmxpbmdzIGNwdV9pcnFbXSwKIAkgKiB0byB1c2UgdGhlIHNhbWUgY29kZSBmb3IgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgcHJvY2Vzc29ycwotCSAqIGFzIG11Y2ggYXMgcG9zc2libGUuIAorCSAqIGFzIG11Y2ggYXMgcG9zc2libGUuCiAJICoKIAkgKiBOT1RFOiB0aGUgY3B1X2lycVtdIGFycmF5IGhvbGRzIHRoZSBzdW0gb2YgdGhlIGxvYWQgZm9yCiAJICogc2libGluZyBBIGFuZCBzaWJsaW5nIEIgaW4gdGhlIHNsb3QgZm9yIHRoZSBsb3dlc3QgbnVtYmVyZWQKQEAgLTYyNSwxMSArNjM1LDExIEBACiAJCS8qIG1hcmsgZm9yIGNoYW5nZSBkZXN0aW5hdGlvbiAqLwogCQlzZXRfcGVuZGluZ19pcnEoc2VsZWN0ZWRfaXJxLCBjcHVtYXNrX29mX2NwdShtaW5fbG9hZGVkKSk7CiAKLQkJLyogU2luY2Ugd2UgbWFkZSBhIGNoYW5nZSwgY29tZSBiYWNrIHNvb25lciB0byAKKwkJLyogU2luY2Ugd2UgbWFkZSBhIGNoYW5nZSwgY29tZSBiYWNrIHNvb25lciB0bwogCQkgKiBjaGVjayBmb3IgbW9yZSB2YXJpYXRpb24uCiAJCSAqLwogCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgPSBtYXgoKGxvbmcpTUlOX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTCwKLQkJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCAtIEJBTEFOQ0VEX0lSUV9MRVNTX0RFTFRBKTsJCisJCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgLSBCQUxBTkNFRF9JUlFfTEVTU19ERUxUQSk7CiAJCXJldHVybjsKIAl9CiAJZ290byB0cnlhbm90aGVyaXJxOwpAQCAtNjQwLDcgKzY1MCw3IEBACiAJICogdXB3YXJkCiAJICovCiAJYmFsYW5jZWRfaXJxX2ludGVydmFsID0gbWluKChsb25nKU1BWF9CQUxBTkNFRF9JUlFfSU5URVJWQUwsCi0JCWJhbGFuY2VkX2lycV9pbnRlcnZhbCArIEJBTEFOQ0VEX0lSUV9NT1JFX0RFTFRBKTsJCisJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCArIEJBTEFOQ0VEX0lSUV9NT1JFX0RFTFRBKTsKIAlyZXR1cm47CiB9CiAKQEAgLTY3OSwxMyArNjg5LDEzIEBACiAJY3B1bWFza190IHRtcDsKIAogCWNwdXNfc2hpZnRfcmlnaHQodG1wLCBjcHVfb25saW5lX21hcCwgMik7Ci0gICAgICAgIGMgPSAmYm9vdF9jcHVfZGF0YTsKKwljID0gJmJvb3RfY3B1X2RhdGE7CiAJLyogV2hlbiBub3Qgb3ZlcndyaXR0ZW4gYnkgdGhlIGNvbW1hbmQgbGluZSBhc2sgc3ViYXJjaGl0ZWN0dXJlLiAqLwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkID09IElSUUJBTEFOQ0VfQ0hFQ0tfQVJDSCkKIAkJaXJxYmFsYW5jZV9kaXNhYmxlZCA9IE5PX0JBTEFOQ0VfSVJROwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkKQogCQlyZXR1cm4gMDsKLQkKKwogCSAvKiBkaXNhYmxlIGlycWJhbGFuY2UgY29tcGxldGVseSBpZiB0aGVyZSBpcyBvbmx5IG9uZSBwcm9jZXNzb3Igb25saW5lICovCiAJaWYgKG51bV9vbmxpbmVfY3B1cygpIDwgMikgewogCQlpcnFiYWxhbmNlX2Rpc2FibGVkID0gMTsKQEAgLTY5OSwxNiArNzA5LDE0IEBACiAJCXBoeXNpY2FsX2JhbGFuY2UgPSAxOwogCiAJZm9yX2VhY2hfb25saW5lX2NwdShpKSB7Ci0JCWlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEgPSBrbWFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMsIEdGUF9LRVJORUwpOwotCQlpcnFfY3B1X2RhdGFbaV0ubGFzdF9pcnEgPSBrbWFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMsIEdGUF9LRVJORUwpOworCQlpcnFfY3B1X2RhdGFbaV0uaXJxX2RlbHRhID0ga3phbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTLCBHRlBfS0VSTkVMKTsKKwkJaXJxX2NwdV9kYXRhW2ldLmxhc3RfaXJxID0ga3phbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTLCBHRlBfS0VSTkVMKTsKIAkJaWYgKGlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEgPT0gTlVMTCB8fCBpcnFfY3B1X2RhdGFbaV0ubGFzdF9pcnEgPT0gTlVMTCkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJiYWxhbmNlZF9pcnFfaW5pdDogb3V0IG9mIG1lbW9yeSIpOwogCQkJZ290byBmYWlsZWQ7CiAJCX0KLQkJbWVtc2V0KGlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEsMCxzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTKTsKLQkJbWVtc2V0KGlycV9jcHVfZGF0YVtpXS5sYXN0X2lycSwwLHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMpOwogCX0KLQkKKwogCXByaW50ayhLRVJOX0lORk8gIlN0YXJ0aW5nIGJhbGFuY2VkX2lycVxuIik7CiAJaWYgKCFJU19FUlIoa3RocmVhZF9ydW4oYmFsYW5jZWRfaXJxLCBOVUxMLCAia2lycWQiKSkpCiAJCXJldHVybiAwOwpAQCAtODAxLDEwICs4MDksMTAgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQlpZiAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgfHwKLQkJICAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgotCQkgICAgbXBfaXJxc1tpXS5tcGNfZHN0aXJxID09IHBpbikKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9kc3RhcGljID09IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkIHx8CisJCSAgICAgbXBfaXJxc1tpXS5tcF9kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgorCQkgICAgbXBfaXJxc1tpXS5tcF9kc3RpcnEgPT0gcGluKQogCQkJcmV0dXJuIGk7CiAKIAlyZXR1cm4gLTE7CkBAIC04MTgsMTMgKzgyNiwxMyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCi0JCQlyZXR1cm4gbXBfaXJxc1tpXS5tcGNfZHN0aXJxOworCQkJcmV0dXJuIG1wX2lycXNbaV0ubXBfZHN0aXJxOwogCX0KIAlyZXR1cm4gLTE7CiB9CkBAIC04MzQsMTcgKzg0MiwxNyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCQkJYnJlYWs7CiAJfQogCWlmIChpIDwgbXBfaXJxX2VudHJpZXMpIHsKIAkJaW50IGFwaWM7Ci0JCWZvcihhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewotCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wY19kc3RhcGljKQorCQlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7CisJCQlpZiAobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPT0gbXBfaXJxc1tpXS5tcF9kc3RhcGljKQogCQkJCXJldHVybiBhcGljOwogCQl9CiAJfQpAQCAtODY0LDI4ICs4NzIsMjggQEAKIAogCWFwaWNfcHJpbnRrKEFQSUNfREVCVUcsICJxdWVyeWluZyBQQ0kgLT4gSVJRIG1hcHBpbmcgYnVzOiVkLCAiCiAJCSJzbG90OiVkLCBwaW46JWQuXG4iLCBidXMsIHNsb3QsIHBpbik7Ci0JaWYgKG1wX2J1c19pZF90b19wY2lfYnVzW2J1c10gPT0gLTEpIHsKKwlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiUENJIEJJT1MgcGFzc2VkIG5vbmV4aXN0ZW50IFBDSSBidXMgJWQhXG4iLCBidXMpOwogCQlyZXR1cm4gLTE7CiAJfQogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWZvciAoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspCi0JCQlpZiAobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID09IG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgfHwKLQkJCSAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKQorCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID09IG1wX2lycXNbaV0ubXBfZHN0YXBpYyB8fAorCQkJICAgIG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkKIAkJCQlicmVhazsKIAogCQlpZiAoIXRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgIW1wX2lycXNbaV0ubXBjX2lycXR5cGUgJiYKKwkJICAgICFtcF9pcnFzW2ldLm1wX2lycXR5cGUgJiYKIAkJICAgIChidXMgPT0gbGJ1cykgJiYKLQkJICAgIChzbG90ID09ICgobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID4+IDIpICYgMHgxZikpKSB7Ci0JCQlpbnQgaXJxID0gcGluXzJfaXJxKGksYXBpYyxtcF9pcnFzW2ldLm1wY19kc3RpcnEpOworCQkgICAgKHNsb3QgPT0gKChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA+PiAyKSAmIDB4MWYpKSkgeworCQkJaW50IGlycSA9IHBpbl8yX2lycShpLCBhcGljLCBtcF9pcnFzW2ldLm1wX2RzdGlycSk7CiAKIAkJCWlmICghKGFwaWMgfHwgSU9fQVBJQ19JUlEoaXJxKSkpCiAJCQkJY29udGludWU7CiAKLQkJCWlmIChwaW4gPT0gKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSAmIDMpKQorCQkJaWYgKHBpbiA9PSAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgJiAzKSkKIAkJCQlyZXR1cm4gaXJxOwogCQkJLyoKIAkJCSAqIFVzZSB0aGUgZmlyc3QgYWxsLWJ1dC1waW4gbWF0Y2hpbmcgZW50cnkgYXMgYQpAQCAtOTAwLDcgKzkwOCw3IEBACiBFWFBPUlRfU1lNQk9MKElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKTsKIAogLyoKLSAqIFRoaXMgZnVuY3Rpb24gY3VycmVudGx5IGlzIG9ubHkgYSBoZWxwZXIgZm9yIHRoZSBpMzg2IHNtcCBib290IHByb2Nlc3Mgd2hlcmUgCisgKiBUaGlzIGZ1bmN0aW9uIGN1cnJlbnRseSBpcyBvbmx5IGEgaGVscGVyIGZvciB0aGUgaTM4NiBzbXAgYm9vdCBwcm9jZXNzIHdoZXJlCiAgKiB3ZSBuZWVkIHRvIHJlcHJvZ3JhbSB0aGUgaW9yZWR0YmxzIHRvIGNhdGVyIGZvciB0aGUgY3B1cyB3aGljaCBoYXZlIGNvbWUgb25saW5lCiAgKiBzbyBtYXNrIGluIGFsbCBjYXNlcyBzaG91bGQgc2ltcGx5IGJlIFRBUkdFVF9DUFVTCiAgKi8KQEAgLTk1Miw3ICs5NjAsNyBAQAogICogRUlTQSBjb25mb3JtaW5nIGluIHRoZSBNUCB0YWJsZSwgdGhhdCBtZWFucyBpdHMgdHJpZ2dlciB0eXBlIG11c3QKICAqIGJlIHJlYWQgaW4gZnJvbSB0aGUgRUxDUiAqLwogCi0jZGVmaW5lIGRlZmF1bHRfRUlTQV90cmlnZ2VyKGlkeCkJKEVJU0FfRUxDUihtcF9pcnFzW2lkeF0ubXBjX3NyY2J1c2lycSkpCisjZGVmaW5lIGRlZmF1bHRfRUlTQV90cmlnZ2VyKGlkeCkJKEVJU0FfRUxDUihtcF9pcnFzW2lkeF0ubXBfc3JjYnVzaXJxKSkKICNkZWZpbmUgZGVmYXVsdF9FSVNBX3BvbGFyaXR5KGlkeCkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KQogCiAvKiBQQ0kgaW50ZXJydXB0cyBhcmUgYWx3YXlzIHBvbGFyaXR5IG9uZSBsZXZlbCB0cmlnZ2VyZWQsCkBAIC05NjksMTE3ICs5NzcsMTE0IEBACiAKIHN0YXRpYyBpbnQgTVBCSU9TX3BvbGFyaXR5KGludCBpZHgpCiB7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCWludCBwb2xhcml0eTsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSBsaW5lIHBvbGFyaXR5IChoaWdoIGFjdGl2ZSBvciBsb3cgYWN0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKG1wX2lycXNbaWR4XS5tcGNfaXJxZmxhZyAmIDMpCisJc3dpdGNoIChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZyAmIDMpIHsKKwljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50IHBvbGFyaXR5ICovCiAJewotCQljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50IHBvbGFyaXR5ICovCi0JCXsKLQkJCXBvbGFyaXR5ID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/Ci0JCQkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KToKLQkJCQlkZWZhdWx0X1BDSV9wb2xhcml0eShpZHgpOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAxOiAvKiBoaWdoIGFjdGl2ZSAqLwotCQl7Ci0JCQlwb2xhcml0eSA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDI6IC8qIHJlc2VydmVkICovCi0JCXsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJcG9sYXJpdHkgPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAzOiAvKiBsb3cgYWN0aXZlICovCi0JCXsKLQkJCXBvbGFyaXR5ID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0JCWRlZmF1bHQ6IC8qIGludmFsaWQgKi8KLQkJewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQlwb2xhcml0eSA9IDE7Ci0JCQlicmVhazsKLQkJfQorCQlwb2xhcml0eSA9IHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpPworCQkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KToKKwkJCWRlZmF1bHRfUENJX3BvbGFyaXR5KGlkeCk7CisJCWJyZWFrOworCX0KKwljYXNlIDE6IC8qIGhpZ2ggYWN0aXZlICovCisJeworCQlwb2xhcml0eSA9IDA7CisJCWJyZWFrOworCX0KKwljYXNlIDI6IC8qIHJlc2VydmVkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJcG9sYXJpdHkgPSAxOworCQlicmVhazsKKwl9CisJY2FzZSAzOiAvKiBsb3cgYWN0aXZlICovCisJeworCQlwb2xhcml0eSA9IDE7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OiAvKiBpbnZhbGlkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJcG9sYXJpdHkgPSAxOworCQlicmVhazsKKwl9CiAJfQogCXJldHVybiBwb2xhcml0eTsKIH0KIAogc3RhdGljIGludCBNUEJJT1NfdHJpZ2dlcihpbnQgaWR4KQogewotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAlpbnQgdHJpZ2dlcjsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSB0cmlnZ2VyIG1vZGUgKGVkZ2Ugb3IgbGV2ZWwgc2Vuc2l0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBjX2lycWZsYWc+PjIpICYgMykKKwlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZz4+MikgJiAzKSB7CisJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCAqLwogCXsKLQkJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCAqLwotCQl7Ci0JCQl0cmlnZ2VyID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/Ci0JCQkJCWRlZmF1bHRfSVNBX3RyaWdnZXIoaWR4KToKLQkJCQkJZGVmYXVsdF9QQ0lfdHJpZ2dlcihpZHgpOworCQl0cmlnZ2VyID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/CisJCQkJZGVmYXVsdF9JU0FfdHJpZ2dlcihpZHgpOgorCQkJCWRlZmF1bHRfUENJX3RyaWdnZXIoaWR4KTsKICNpZiBkZWZpbmVkKENPTkZJR19FSVNBKSB8fCBkZWZpbmVkKENPTkZJR19NQ0EpCi0JCQlzd2l0Y2ggKG1wX2J1c19pZF90b190eXBlW2J1c10pCi0JCQl7Ci0JCQkJY2FzZSBNUF9CVVNfSVNBOiAvKiBJU0EgcGluICovCi0JCQkJewotCQkJCQkvKiBzZXQgYmVmb3JlIHRoZSBzd2l0Y2ggKi8KLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWNhc2UgTVBfQlVTX0VJU0E6IC8qIEVJU0EgcGluICovCi0JCQkJewotCQkJCQl0cmlnZ2VyID0gZGVmYXVsdF9FSVNBX3RyaWdnZXIoaWR4KTsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWNhc2UgTVBfQlVTX1BDSTogLyogUENJIHBpbiAqLwotCQkJCXsKLQkJCQkJLyogc2V0IGJlZm9yZSB0aGUgc3dpdGNoICovCi0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCQljYXNlIE1QX0JVU19NQ0E6IC8qIE1DQSBwaW4gKi8KLQkJCQl7Ci0JCQkJCXRyaWdnZXIgPSBkZWZhdWx0X01DQV90cmlnZ2VyKGlkeCk7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCQlkZWZhdWx0OgotCQkJCXsKLQkJCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQkJCXRyaWdnZXIgPSAxOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9CisJCXN3aXRjaCAobXBfYnVzX2lkX3RvX3R5cGVbYnVzXSkgeworCQljYXNlIE1QX0JVU19JU0E6IC8qIElTQSBwaW4gKi8KKwkJeworCQkJLyogc2V0IGJlZm9yZSB0aGUgc3dpdGNoICovCisJCQlicmVhazsKKwkJfQorCQljYXNlIE1QX0JVU19FSVNBOiAvKiBFSVNBIHBpbiAqLworCQl7CisJCQl0cmlnZ2VyID0gZGVmYXVsdF9FSVNBX3RyaWdnZXIoaWR4KTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgTVBfQlVTX1BDSTogLyogUENJIHBpbiAqLworCQl7CisJCQkvKiBzZXQgYmVmb3JlIHRoZSBzd2l0Y2ggKi8KKwkJCWJyZWFrOworCQl9CisJCWNhc2UgTVBfQlVTX01DQTogLyogTUNBIHBpbiAqLworCQl7CisJCQl0cmlnZ2VyID0gZGVmYXVsdF9NQ0FfdHJpZ2dlcihpZHgpOworCQkJYnJlYWs7CisJCX0KKwkJZGVmYXVsdDoKKwkJeworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7CisJCQl0cmlnZ2VyID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQogI2VuZGlmCi0JCQlicmVhazsKLQkJfQotCQljYXNlIDE6IC8qIGVkZ2UgKi8KLQkJewotCQkJdHJpZ2dlciA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDI6IC8qIHJlc2VydmVkICovCi0JCXsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJdHJpZ2dlciA9IDE7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDM6IC8qIGxldmVsICovCi0JCXsKLQkJCXRyaWdnZXIgPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJZGVmYXVsdDogLyogaW52YWxpZCAqLwotCQl7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKLQkJCXRyaWdnZXIgPSAwOwotCQkJYnJlYWs7Ci0JCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgMTogLyogZWRnZSAqLworCXsKKwkJdHJpZ2dlciA9IDA7CisJCWJyZWFrOworCX0KKwljYXNlIDI6IC8qIHJlc2VydmVkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJdHJpZ2dlciA9IDE7CisJCWJyZWFrOworCX0KKwljYXNlIDM6IC8qIGxldmVsICovCisJeworCQl0cmlnZ2VyID0gMTsKKwkJYnJlYWs7CisJfQorCWRlZmF1bHQ6IC8qIGludmFsaWQgKi8KKwl7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOworCQl0cmlnZ2VyID0gMDsKKwkJYnJlYWs7CisJfQogCX0KIAlyZXR1cm4gdHJpZ2dlcjsKIH0KQEAgLTEwOTcsMTYgKzExMDIsMTYgQEAKIHN0YXRpYyBpbnQgcGluXzJfaXJxKGludCBpZHgsIGludCBhcGljLCBpbnQgcGluKQogewogCWludCBpcnEsIGk7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCiAJLyoKIAkgKiBEZWJ1Z2dpbmcgY2hlY2ssIHdlIGFyZSBpbiBiaWcgdHJvdWJsZSBpZiB0aGlzIG1lc3NhZ2UgcG9wcyB1cCEKIAkgKi8KLQlpZiAobXBfaXJxc1tpZHhdLm1wY19kc3RpcnEgIT0gcGluKQorCWlmIChtcF9pcnFzW2lkeF0ubXBfZHN0aXJxICE9IHBpbikKIAkJcHJpbnRrKEtFUk5fRVJSICJicm9rZW4gQklPUyBvciBNUFRBQkxFIHBhcnNlciwgYXlpZWUhIVxuIik7CiAKIAlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpCi0JCWlycSA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzaXJxOworCQlpcnEgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzaXJxOwogCWVsc2UgewogCQkvKgogCQkgKiBQQ0kgSVJRcyBhcmUgbWFwcGVkIGluIG9yZGVyCkBAIC0xMTQ4LDggKzExNTMsOCBAQAogCiAJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewogCQlmb3IgKHBpbiA9IDA7IHBpbiA8IG5yX2lvYXBpY19yZWdpc3RlcnNbYXBpY107IHBpbisrKSB7Ci0JCQlpZHggPSBmaW5kX2lycV9lbnRyeShhcGljLHBpbixtcF9JTlQpOwotCQkJaWYgKChpZHggIT0gLTEpICYmIChpcnEgPT0gcGluXzJfaXJxKGlkeCxhcGljLHBpbikpKQorCQkJaWR4ID0gZmluZF9pcnFfZW50cnkoYXBpYywgcGluLCBtcF9JTlQpOworCQkJaWYgKChpZHggIT0gLTEpICYmIChpcnEgPT0gcGluXzJfaXJxKGlkeCwgYXBpYywgcGluKSkpCiAJCQkJcmV0dXJuIGlycV90cmlnZ2VyKGlkeCk7CiAJCX0KIAl9CkBAIC0xMTY0LDcgKzExNjksNyBAQAogCiBzdGF0aWMgaW50IF9fYXNzaWduX2lycV92ZWN0b3IoaW50IGlycSkKIHsKLQlzdGF0aWMgaW50IGN1cnJlbnRfdmVjdG9yID0gRklSU1RfREVWSUNFX1ZFQ1RPUiwgY3VycmVudF9vZmZzZXQgPSAwOworCXN0YXRpYyBpbnQgY3VycmVudF92ZWN0b3IgPSBGSVJTVF9ERVZJQ0VfVkVDVE9SLCBjdXJyZW50X29mZnNldDsKIAlpbnQgdmVjdG9yLCBvZmZzZXQ7CiAKIAlCVUdfT04oKHVuc2lnbmVkKWlycSA+PSBOUl9JUlFfVkVDVE9SUyk7CkBAIC0xMTc2LDcgKzExODEsNyBAQAogCW9mZnNldCA9IGN1cnJlbnRfb2Zmc2V0OwogbmV4dDoKIAl2ZWN0b3IgKz0gODsKLQlpZiAodmVjdG9yID49IEZJUlNUX1NZU1RFTV9WRUNUT1IpIHsKKwlpZiAodmVjdG9yID49IGZpcnN0X3N5c3RlbV92ZWN0b3IpIHsKIAkJb2Zmc2V0ID0gKG9mZnNldCArIDEpICUgODsKIAkJdmVjdG9yID0gRklSU1RfREVWSUNFX1ZFQ1RPUiArIG9mZnNldDsKIAl9CkBAIC0xMjAzLDYgKzEyMDgsMTEgQEAKIAogCXJldHVybiB2ZWN0b3I7CiB9CisKK3ZvaWQgc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KQoreworfQorCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIGlvYXBpY19jaGlwOwogCiAjZGVmaW5lIElPQVBJQ19BVVRPCS0xCkBAIC0xMjM3LDI1ICsxMjQ3LDI1IEBACiAJCS8qCiAJCSAqIGFkZCBpdCB0byB0aGUgSU8tQVBJQyBpcnEtcm91dGluZyB0YWJsZToKIAkJICovCi0JCW1lbXNldCgmZW50cnksMCxzaXplb2YoZW50cnkpKTsKKwkJbWVtc2V0KCZlbnRyeSwgMCwgc2l6ZW9mKGVudHJ5KSk7CiAKIAkJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCQllbnRyeS5kZXN0X21vZGUgPSBJTlRfREVTVF9NT0RFOwogCQllbnRyeS5tYXNrID0gMDsJCQkJLyogZW5hYmxlIElSUSAqLwotCQllbnRyeS5kZXN0LmxvZ2ljYWwubG9naWNhbF9kZXN0ID0gCisJCWVudHJ5LmRlc3QubG9naWNhbC5sb2dpY2FsX2Rlc3QgPQogCQkJCQljcHVfbWFza190b19hcGljaWQoVEFSR0VUX0NQVVMpOwogCi0JCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMscGluLG1wX0lOVCk7CisJCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMsIHBpbiwgbXBfSU5UKTsKIAkJaWYgKGlkeCA9PSAtMSkgewogCQkJaWYgKGZpcnN0X25vdGNvbikgewogCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9ERUJVRwogCQkJCQkJIiBJTy1BUElDIChhcGljaWQtcGluKSAlZC0lZCIsCi0JCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsCisJCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCwKIAkJCQkJCXBpbik7CiAJCQkJZmlyc3Rfbm90Y29uID0gMDsKIAkJCX0gZWxzZQogCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIiwgJWQtJWQiLAotCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsIHBpbik7CisJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLCBwaW4pOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtMTI4OSw3ICsxMjk5LDcgQEAKIAkJCXZlY3RvciA9IGFzc2lnbl9pcnFfdmVjdG9yKGlycSk7CiAJCQllbnRyeS52ZWN0b3IgPSB2ZWN0b3I7CiAJCQlpb2FwaWNfcmVnaXN0ZXJfaW50cihpcnEsIHZlY3RvciwgSU9BUElDX0FVVE8pOwotCQkKKwogCQkJaWYgKCFhcGljICYmIChpcnEgPCAxNikpCiAJCQkJZGlzYWJsZV84MjU5QV9pcnEoaXJxKTsKIAkJfQpAQCAtMTMwMiwyNSArMTMxMiwyMSBAQAogfQogCiAvKgotICogU2V0IHVwIHRoZSA4MjU5QS1tYXN0ZXIgb3V0cHV0IHBpbjoKKyAqIFNldCB1cCB0aGUgdGltZXIgcGluLCBwb3NzaWJseSB3aXRoIHRoZSA4MjU5QS1tYXN0ZXIgYmVoaW5kLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfRXh0SU5UX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLCBpbnQgdmVjdG9yKQorc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3RpbWVyX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLAorCQkJCQlpbnQgdmVjdG9yKQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5OwogCi0JbWVtc2V0KCZlbnRyeSwwLHNpemVvZihlbnRyeSkpOwotCi0JZGlzYWJsZV84MjU5QV9pcnEoMCk7Ci0KLQkvKiBtYXNrIExWVDAgKi8KLQlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRVhUSU5UKTsKKwltZW1zZXQoJmVudHJ5LCAwLCBzaXplb2YoZW50cnkpKTsKIAogCS8qCiAJICogV2UgdXNlIGxvZ2ljYWwgZGVsaXZlcnkgdG8gZ2V0IHRoZSB0aW1lciBJUlEKIAkgKiB0byB0aGUgZmlyc3QgQ1BVLgogCSAqLwogCWVudHJ5LmRlc3RfbW9kZSA9IElOVF9ERVNUX01PREU7Ci0JZW50cnkubWFzayA9IDA7CQkJCQkvKiB1bm1hc2sgSVJRIG5vdyAqLworCWVudHJ5Lm1hc2sgPSAxOwkJCQkJLyogbWFzayBJUlEgbm93ICovCiAJZW50cnkuZGVzdC5sb2dpY2FsLmxvZ2ljYWxfZGVzdCA9IGNwdV9tYXNrX3RvX2FwaWNpZChUQVJHRVRfQ1BVUyk7CiAJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCWVudHJ5LnBvbGFyaXR5ID0gMDsKQEAgLTEzMjksMTcgKzEzMzUsMTQgQEAKIAogCS8qCiAJICogVGhlIHRpbWVyIElSUSBkb2Vzbid0IGhhdmUgdG8ga25vdyB0aGF0IGJlaGluZCB0aGUKLQkgKiBzY2VuZSB3ZSBoYXZlIGEgODI1OUEtbWFzdGVyIGluIEFFT0kgbW9kZSAuLi4KKwkgKiBzY2VuZSB3ZSBtYXkgaGF2ZSBhIDgyNTlBLW1hc3RlciBpbiBBRU9JIG1vZGUgLi4uCiAJICovCi0JaXJxX2Rlc2NbMF0uY2hpcCA9ICZpb2FwaWNfY2hpcDsKLQlzZXRfaXJxX2hhbmRsZXIoMCwgaGFuZGxlX2VkZ2VfaXJxKTsKKwlpb2FwaWNfcmVnaXN0ZXJfaW50cigwLCB2ZWN0b3IsIElPQVBJQ19FREdFKTsKIAogCS8qCiAJICogQWRkIGl0IHRvIHRoZSBJTy1BUElDIGlycS1yb3V0aW5nIHRhYmxlOgogCSAqLwogCWlvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIGVudHJ5KTsKLQotCWVuYWJsZV84MjU5QV9pcnEoMCk7CiB9CiAKIHZvaWQgX19pbml0IHByaW50X0lPX0FQSUModm9pZCkKQEAgLTEzNTQsMTAgKzEzNTcsMTAgQEAKIAlpZiAoYXBpY192ZXJib3NpdHkgPT0gQVBJQ19RVUlFVCkKIAkJcmV0dXJuOwogCi0gCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgTVAgSVJRIHNvdXJjZXM6ICVkLlxuIiwgbXBfaXJxX2VudHJpZXMpOworCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgTVAgSVJRIHNvdXJjZXM6ICVkLlxuIiwgbXBfaXJxX2VudHJpZXMpOwogCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspCiAJCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgSU8tQVBJQyAjJWQgcmVnaXN0ZXJzOiAlZC5cbiIsCi0JCSAgICAgICBtcF9pb2FwaWNzW2ldLm1wY19hcGljaWQsIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0pOworCQkgICAgICAgbXBfaW9hcGljc1tpXS5tcF9hcGljaWQsIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0pOwogCiAJLyoKIAkgKiBXZSBhcmUgYSBiaXQgY29uc2VydmF0aXZlIGFib3V0IHdoYXQgd2UgZXhwZWN0LiAgV2UgaGF2ZSB0bwpAQCAtMTM3Niw3ICsxMzc5LDcgQEAKIAkJcmVnXzAzLnJhdyA9IGlvX2FwaWNfcmVhZChhcGljLCAzKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCi0JcHJpbnRrKEtFUk5fREVCVUcgIklPIEFQSUMgIyVkLi4uLi4uXG4iLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCXByaW50ayhLRVJOX0RFQlVHICJJTyBBUElDICMlZC4uLi4uLlxuIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uIHJlZ2lzdGVyICMwMDogJTA4WFxuIiwgcmVnXzAwLnJhdyk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4uLi4gICAgOiBwaHlzaWNhbCBBUElDIGlkOiAlMDJYXG4iLCByZWdfMDAuYml0cy5JRCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4uLi4gICAgOiBEZWxpdmVyeSBUeXBlOiAlWFxuIiwgcmVnXzAwLmJpdHMuZGVsaXZlcnlfdHlwZSk7CkBAIC0xNDU5LDcgKzE0NjIsNyBAQAogCiAjaWYgMAogCi1zdGF0aWMgdm9pZCBwcmludF9BUElDX2JpdGZpZWxkIChpbnQgYmFzZSkKK3N0YXRpYyB2b2lkIHByaW50X0FQSUNfYml0ZmllbGQoaW50IGJhc2UpCiB7CiAJdW5zaWduZWQgaW50IHY7CiAJaW50IGksIGo7CkBAIC0xNDgwLDcgKzE0ODMsNyBAQAogCX0KIH0KIAotdm9pZCAvKl9faW5pdCovIHByaW50X2xvY2FsX0FQSUModm9pZCAqIGR1bW15KQordm9pZCAvKl9faW5pdCovIHByaW50X2xvY2FsX0FQSUModm9pZCAqZHVtbXkpCiB7CiAJdW5zaWduZWQgaW50IHYsIHZlciwgbWF4bHZ0OwogCkBAIC0xNDg5LDYgKzE0OTIsNyBAQAogCiAJcHJpbnRrKCJcbiIgS0VSTl9ERUJVRyAicHJpbnRpbmcgbG9jYWwgQVBJQyBjb250ZW50cyBvbiBDUFUjJWQvJWQ6XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwl2ID0gYXBpY19yZWFkKEFQSUNfSUQpOwogCXByaW50ayhLRVJOX0lORk8gIi4uLiBBUElDIElEOiAgICAgICUwOHggKCUwMXgpXG4iLCB2LAogCQkJR0VUX0FQSUNfSUQocmVhZF9hcGljX2lkKCkpKTsKIAl2ID0gYXBpY19yZWFkKEFQSUNfTFZSKTsKQEAgLTE1NjMsOSArMTU2Nyw5IEBACiAJcHJpbnRrKCJcbiIpOwogfQogCi12b2lkIHByaW50X2FsbF9sb2NhbF9BUElDcyAodm9pZCkKK3ZvaWQgcHJpbnRfYWxsX2xvY2FsX0FQSUNzKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUocHJpbnRfbG9jYWxfQVBJQywgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUocHJpbnRfbG9jYWxfQVBJQywgTlVMTCwgMSk7CiB9CiAKIHZvaWQgLypfX2luaXQqLyBwcmludF9QSUModm9pZCkKQEAgLTE1ODYsMTEgKzE1OTAsMTEgQEAKIAl2ID0gaW5iKDB4YTApIDw8IDggfCBpbmIoMHgyMCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLiBQSUMgIElSUjogJTA0eFxuIiwgdik7CiAKLQlvdXRiKDB4MGIsMHhhMCk7Ci0Jb3V0YigweDBiLDB4MjApOworCW91dGIoMHgwYiwgMHhhMCk7CisJb3V0YigweDBiLCAweDIwKTsKIAl2ID0gaW5iKDB4YTApIDw8IDggfCBpbmIoMHgyMCk7Ci0Jb3V0YigweDBhLDB4YTApOwotCW91dGIoMHgwYSwweDIwKTsKKwlvdXRiKDB4MGEsIDB4YTApOworCW91dGIoMHgwYSwgMHgyMCk7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwogCkBAIC0xNjI2LDcgKzE2MzAsNyBAQAogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQlucl9pb2FwaWNfcmVnaXN0ZXJzW2FwaWNdID0gcmVnXzAxLmJpdHMuZW50cmllcysxOwogCX0KLQlmb3IoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspIHsKKwlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7CiAJCWludCBwaW47CiAJCS8qIFNlZSBpZiBhbnkgb2YgdGhlIHBpbnMgaXMgaW4gRXh0SU5UIG1vZGUgKi8KIAkJZm9yIChwaW4gPSAwOyBwaW4gPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2FwaWNdOyBwaW4rKykgewpAQCAtMTcxNiw3ICsxNzIwLDYgQEAKICAqIGJ5IE1hdHQgRG9tc2NoIDxNYXR0X0RvbXNjaEBkZWxsLmNvbT4gIFR1ZSBEZWMgMjEgMTI6MjU6MDUgQ1NUIDE5OTkKICAqLwogCi0jaWZuZGVmIENPTkZJR19YODZfTlVNQVEKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9pb2FwaWNfaWRzX2Zyb21fbXBjKHZvaWQpCiB7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDAgcmVnXzAwOwpAQCAtMTcyNiw2ICsxNzI5LDExIEBACiAJdW5zaWduZWQgY2hhciBvbGRfaWQ7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAorI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwlpZiAoZm91bmRfbnVtYXEpCisJCXJldHVybjsKKyNlbmRpZgorCiAJLyoKIAkgKiBEb24ndCBjaGVjayBJL08gQVBJQyBJRHMgZm9yIHhBUElDIHN5c3RlbXMuICBUaGV5IGhhdmUKIAkgKiBubyBtZWFuaW5nIHdpdGhvdXQgdGhlIHNlcmlhbCBBUElDIGJ1cy4KQEAgLTE3NDgsMTUgKzE3NTYsMTUgQEAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJCXJlZ18wMC5yYXcgPSBpb19hcGljX3JlYWQoYXBpYywgMCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7Ci0JCQotCQlvbGRfaWQgPSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQ7CiAKLQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA+PSBnZXRfcGh5c2ljYWxfYnJvYWRjYXN0KCkpIHsKKwkJb2xkX2lkID0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQ7CisKKwkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID49IGdldF9waHlzaWNhbF9icm9hZGNhc3QoKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJCSU9TIGJ1ZywgSU8tQVBJQyMlZCBJRCBpcyAlZCBpbiB0aGUgTVBDIHRhYmxlIS4uLlxuIiwKLQkJCQlhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJCWFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAkJCXByaW50ayhLRVJOX0VSUiAiLi4uIGZpeGluZyB1cCB0byAlZC4gKHRlbGwgeW91ciBodyB2ZW5kb3IpXG4iLAogCQkJCXJlZ18wMC5iaXRzLklEKTsKLQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9IHJlZ18wMC5iaXRzLklEOworCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPSByZWdfMDAuYml0cy5JRDsKIAkJfQogCiAJCS8qCkBAIC0xNzY1LDkgKzE3NzMsOSBAQAogCQkgKiAnc3R1Y2sgb24gc21wX2ludmFsaWRhdGVfbmVlZGVkIElQSSB3YWl0JyBtZXNzYWdlcy4KIAkJICovCiAJCWlmIChjaGVja19hcGljaWRfdXNlZChwaHlzX2lkX3ByZXNlbnRfbWFwLAotCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpKSB7CisJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJCSU9TIGJ1ZywgSU8tQVBJQyMlZCBJRCAlZCBpcyBhbHJlYWR5IHVzZWQhLi4uXG4iLAotCQkJCWFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJCQkJYXBpYywgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCQkJZm9yIChpID0gMDsgaSA8IGdldF9waHlzaWNhbF9icm9hZGNhc3QoKTsgaSsrKQogCQkJCWlmICghcGh5c2lkX2lzc2V0KGksIHBoeXNfaWRfcHJlc2VudF9tYXApKQogCQkJCQlicmVhazsKQEAgLTE3NzYsMTMgKzE3ODQsMTMgQEAKIAkJCXByaW50ayhLRVJOX0VSUiAiLi4uIGZpeGluZyB1cCB0byAlZC4gKHRlbGwgeW91ciBodyB2ZW5kb3IpXG4iLAogCQkJCWkpOwogCQkJcGh5c2lkX3NldChpLCBwaHlzX2lkX3ByZXNlbnRfbWFwKTsKLQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9IGk7CisJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9IGk7CiAJCX0gZWxzZSB7CiAJCQlwaHlzaWRfbWFza190IHRtcDsKLQkJCXRtcCA9IGFwaWNpZF90b19jcHVfcHJlc2VudChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJdG1wID0gYXBpY2lkX3RvX2NwdV9wcmVzZW50KG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIlNldHRpbmcgJWQgaW4gdGhlICIKIAkJCQkJInBoeXNfaWRfcHJlc2VudF9tYXBcbiIsCi0JCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAkJCXBoeXNpZHNfb3IocGh5c19pZF9wcmVzZW50X21hcCwgcGh5c19pZF9wcmVzZW50X21hcCwgdG1wKTsKIAkJfQogCkBAIC0xNzkxLDIxICsxNzk5LDIxIEBACiAJCSAqIFdlIG5lZWQgdG8gYWRqdXN0IHRoZSBJUlEgcm91dGluZyB0YWJsZQogCQkgKiBpZiB0aGUgSUQgY2hhbmdlZC4KIAkJICovCi0JCWlmIChvbGRfaWQgIT0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKQorCQlpZiAob2xkX2lkICE9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKQogCQkJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspCi0JCQkJaWYgKG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gb2xkX2lkKQotCQkJCQltcF9pcnFzW2ldLm1wY19kc3RhcGljCi0JCQkJCQk9IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZDsKKwkJCQlpZiAobXBfaXJxc1tpXS5tcF9kc3RhcGljID09IG9sZF9pZCkKKwkJCQkJbXBfaXJxc1tpXS5tcF9kc3RhcGljCisJCQkJCQk9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkOwogCiAJCS8qCiAJCSAqIFJlYWQgdGhlIHJpZ2h0IHZhbHVlIGZyb20gdGhlIE1QQyB0YWJsZSBhbmQKIAkJICogd3JpdGUgaXQgaW50byB0aGUgSUQgcmVnaXN0ZXIuCi0JIAkgKi8KKwkJICovCiAJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9JTkZPCiAJCQkiLi4uY2hhbmdpbmcgSU8tQVBJQyBwaHlzaWNhbCBBUElDIElEIHRvICVkIC4uLiIsCi0JCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCi0JCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkOworCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkOwogCQlzcGluX2xvY2tfaXJxc2F2ZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAkJaW9fYXBpY193cml0ZShhcGljLCAwLCByZWdfMDAucmF3KTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKQEAgLTE4MTYsMTUgKzE4MjQsMTIgQEAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJCXJlZ18wMC5yYXcgPSBpb19hcGljX3JlYWQoYXBpYywgMCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7Ci0JCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpCisJCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCkKIAkJCXByaW50aygiY291bGQgbm90IHNldCBJRCFcbiIpOwogCQllbHNlCiAJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICIgb2suXG4iKTsKIAl9CiB9Ci0jZWxzZQotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2lvYXBpY19pZHNfZnJvbV9tcGModm9pZCkgeyB9Ci0jZW5kaWYKIAogaW50IG5vX3RpbWVyX2NoZWNrIF9faW5pdGRhdGE7CiAKQEAgLTIwMTUsMTIgKzIwMjAsMTIgQEAKICAqIFRoZSBsb2NhbCBBUElDIGlycS1jaGlwIGltcGxlbWVudGF0aW9uOgogICovCiAKLXN0YXRpYyB2b2lkIGFja19hcGljKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBhY2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJYWNrX0FQSUNfaXJxKCk7CiB9CiAKLXN0YXRpYyB2b2lkIG1hc2tfbGFwaWNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgbWFza19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIHY7CiAKQEAgLTIwMjgsNyArMjAzMyw3IEBACiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCB2IHwgQVBJQ19MVlRfTUFTS0VEKTsKIH0KIAotc3RhdGljIHZvaWQgdW5tYXNrX2xhcGljX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIHVubWFza19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIHY7CiAKQEAgLTIwMzcsMjMgKzIwNDIsMzEgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBsYXBpY19jaGlwIF9fcmVhZF9tb3N0bHkgPSB7Ci0JLm5hbWUJCT0gImxvY2FsLUFQSUMtZWRnZSIsCisJLm5hbWUJCT0gImxvY2FsLUFQSUMiLAogCS5tYXNrCQk9IG1hc2tfbGFwaWNfaXJxLAogCS51bm1hc2sJCT0gdW5tYXNrX2xhcGljX2lycSwKLQkuZW9pCQk9IGFja19hcGljLAorCS5hY2sJCT0gYWNrX2xhcGljX2lycSwKIH07CiAKK3N0YXRpYyB2b2lkIGxhcGljX3JlZ2lzdGVyX2ludHIoaW50IGlycSwgaW50IHZlY3RvcikKK3sKKwlpcnFfZGVzY1tpcnFdLnN0YXR1cyAmPSB+SVJRX0xFVkVMOworCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGlycSwgJmxhcGljX2NoaXAsIGhhbmRsZV9lZGdlX2lycSwKKwkJCQkgICAgICAiZWRnZSIpOworCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbaXJxXSk7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ubWkodm9pZCkKIHsKIAkvKgotIAkgKiBEaXJ0eSB0cmljayB0byBlbmFibGUgdGhlIE5NSSB3YXRjaGRvZyAuLi4KKwkgKiBEaXJ0eSB0cmljayB0byBlbmFibGUgdGhlIE5NSSB3YXRjaGRvZyAuLi4KIAkgKiBXZSBwdXQgdGhlIDgyNTlBIG1hc3RlciBpbnRvIEFFT0kgbW9kZSBhbmQKIAkgKiB1bm1hc2sgb24gYWxsIGxvY2FsIEFQSUNzIExWVDAgYXMgTk1JLgogCSAqCiAJICogVGhlIGlkZWEgdG8gdXNlIHRoZSA4MjU5QSBpbiBBRU9JIG1vZGUgKCc4MjU5QSBWaXJ0dWFsIFdpcmUnKQogCSAqIGlzIGZyb20gTWFjaWVqIFcuIFJvenlja2kgLSBzbyB3ZSBkbyBub3QgaGF2ZSB0byBFT0kgZnJvbQogCSAqIHRoZSBOTUkgaGFuZGxlciBvciB0aGUgdGltZXIgaW50ZXJydXB0LgotCSAqLyAKKwkgKi8KIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fSU5GTyAiYWN0aXZhdGluZyBOTUkgV2F0Y2hkb2cgLi4uIik7CiAKIAllbmFibGVfTk1JX3Rocm91Z2hfTFZUMCgpOwpAQCAtMjEyOSwxMSArMjE0MiwxNiBAQAogc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCBjaGVja190aW1lcih2b2lkKQogewogCWludCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjI7CisJaW50IG5vX3BpbjEgPSAwOwogCWludCB2ZWN0b3I7CisJdW5zaWduZWQgaW50IHZlcjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCisJdmVyID0gYXBpY19yZWFkKEFQSUNfTFZSKTsKKwl2ZXIgPSBHRVRfQVBJQ19WRVJTSU9OKHZlcik7CisKIAkvKgogCSAqIGdldC9zZXQgdGhlIHRpbWVyIElSUSB2ZWN0b3I6CiAJICovCkBAIC0yMTQyLDE3ICsyMTYwLDE3IEBACiAJc2V0X2ludHJfZ2F0ZSh2ZWN0b3IsIGludGVycnVwdFswXSk7CiAKIAkvKgotCSAqIFN1YnRsZSwgY29kZSBpbiBkb190aW1lcl9pbnRlcnJ1cHQoKSBleHBlY3RzIGFuIEFFT0kKLQkgKiBtb2RlIGZvciB0aGUgODI1OUEgd2hlbmV2ZXIgaW50ZXJydXB0cyBhcmUgcm91dGVkCi0JICogdGhyb3VnaCBJL08gQVBJQ3MuICBBbHNvIElSUTAgaGFzIHRvIGJlIGVuYWJsZWQgaW4KLQkgKiB0aGUgODI1OUEgd2hpY2ggaW1wbGllcyB0aGUgdmlydHVhbCB3aXJlIGhhcyB0byBiZQotCSAqIGRpc2FibGVkIGluIHRoZSBsb2NhbCBBUElDLgorCSAqIEFzIElSUTAgaXMgdG8gYmUgZW5hYmxlZCBpbiB0aGUgODI1OUEsIHRoZSB2aXJ0dWFsCisJICogd2lyZSBoYXMgdG8gYmUgZGlzYWJsZWQgaW4gdGhlIGxvY2FsIEFQSUMuICBBbHNvCisJICogdGltZXIgaW50ZXJydXB0cyBuZWVkIHRvIGJlIGFja25vd2xlZGdlZCBtYW51YWxseSBpbgorCSAqIHRoZSA4MjU5QSBmb3IgdGhlIGk4MjQ4OURYIHdoZW4gdXNpbmcgdGhlIE5NSQorCSAqIHdhdGNoZG9nIGFzIHRoYXQgQVBJQyB0cmVhdHMgTk1JcyBhcyBsZXZlbC10cmlnZ2VyZWQuCisJICogVGhlIEFFT0kgbW9kZSB3aWxsIGZpbmlzaCB0aGVtIGluIHRoZSA4MjU5QQorCSAqIGF1dG9tYXRpY2FsbHkuCiAJICovCiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0VYVElOVCk7CiAJaW5pdF84MjU5QSgxKTsKLQl0aW1lcl9hY2sgPSAxOwotCWlmICh0aW1lcl9vdmVyXzgyNTQgPiAwKQotCQllbmFibGVfODI1OUFfaXJxKDApOworCXRpbWVyX2FjayA9IChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMgJiYgIUFQSUNfSU5URUdSQVRFRCh2ZXIpKTsKIAogCXBpbjEgID0gZmluZF9pc2FfaXJxX3BpbigwLCBtcF9JTlQpOwogCWFwaWMxID0gZmluZF9pc2FfaXJxX2FwaWMoMCwgbXBfSU5UKTsKQEAgLTIxNjIsMTQgKzIxODAsMzMgQEAKIAlwcmludGsoS0VSTl9JTkZPICIuLlRJTUVSOiB2ZWN0b3I9MHglMDJYIGFwaWMxPSVkIHBpbjE9JWQgYXBpYzI9JWQgcGluMj0lZFxuIiwKIAkJdmVjdG9yLCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjIpOwogCisJLyoKKwkgKiBTb21lIEJJT1Mgd3JpdGVycyBhcmUgY2x1ZWxlc3MgYW5kIHJlcG9ydCB0aGUgRXh0SU5UQQorCSAqIEkvTyBBUElDIGlucHV0IGZyb20gdGhlIGNhc2NhZGVkIDgyNTlBIGFzIHRoZSB0aW1lcgorCSAqIGludGVycnVwdCBpbnB1dC4gIFNvIGp1c3QgaW4gY2FzZSwgaWYgb25seSBvbmUgcGluCisJICogd2FzIGZvdW5kIGFib3ZlLCB0cnkgaXQgYm90aCBkaXJlY3RseSBhbmQgdGhyb3VnaCB0aGUKKwkgKiA4MjU5QS4KKwkgKi8KKwlpZiAocGluMSA9PSAtMSkgeworCQlwaW4xID0gcGluMjsKKwkJYXBpYzEgPSBhcGljMjsKKwkJbm9fcGluMSA9IDE7CisJfSBlbHNlIGlmIChwaW4yID09IC0xKSB7CisJCXBpbjIgPSBwaW4xOworCQlhcGljMiA9IGFwaWMxOworCX0KKwogCWlmIChwaW4xICE9IC0xKSB7CiAJCS8qCiAJCSAqIE9rLCBkb2VzIElSUTAgdGhyb3VnaCB0aGUgSU9BUElDIHdvcms/CiAJCSAqLworCQlpZiAobm9fcGluMSkgeworCQkJYWRkX3Bpbl90b19pcnEoMCwgYXBpYzEsIHBpbjEpOworCQkJc2V0dXBfdGltZXJfSVJRMF9waW4oYXBpYzEsIHBpbjEsIHZlY3Rvcik7CisJCX0KIAkJdW5tYXNrX0lPX0FQSUNfaXJxKDApOwogCQlpZiAodGltZXJfaXJxX3dvcmtzKCkpIHsKIAkJCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKLQkJCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJCQlzZXR1cF9ubWkoKTsKIAkJCQllbmFibGVfODI1OUFfaXJxKDApOwogCQkJfQpAQCAtMjE3OCw0NSArMjIxNSw0NyBAQAogCQkJZ290byBvdXQ7CiAJCX0KIAkJY2xlYXJfSU9fQVBJQ19waW4oYXBpYzEsIHBpbjEpOwotCQlwcmludGsoS0VSTl9FUlIgIi4uTVAtQklPUyBidWc6IDgyNTQgdGltZXIgbm90IGNvbm5lY3RlZCB0byAiCi0JCQkJIklPLUFQSUNcbiIpOwotCX0KKwkJaWYgKCFub19waW4xKQorCQkJcHJpbnRrKEtFUk5fRVJSICIuLk1QLUJJT1MgYnVnOiAiCisJCQkgICAgICAgIjgyNTQgdGltZXIgbm90IGNvbm5lY3RlZCB0byBJTy1BUElDXG4iKTsKIAotCXByaW50ayhLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgKElSUTApIHRocm91Z2ggdGhlIDgyNTlBIC4uLiAiKTsKLQlpZiAocGluMiAhPSAtMSkgeworCQlwcmludGsoS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIChJUlEwKSAiCisJCSAgICAgICAidGhyb3VnaCB0aGUgODI1OUEgLi4uICIpOwogCQlwcmludGsoIlxuLi4uLi4gKGZvdW5kIHBpbiAlZCkgLi4uIiwgcGluMik7CiAJCS8qCiAJCSAqIGxlZ2FjeSBkZXZpY2VzIHNob3VsZCBiZSBjb25uZWN0ZWQgdG8gSU8gQVBJQyAjMAogCQkgKi8KLQkJc2V0dXBfRXh0SU5UX0lSUTBfcGluKGFwaWMyLCBwaW4yLCB2ZWN0b3IpOworCQlyZXBsYWNlX3Bpbl9hdF9pcnEoMCwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKKwkJc2V0dXBfdGltZXJfSVJRMF9waW4oYXBpYzIsIHBpbjIsIHZlY3Rvcik7CisJCXVubWFza19JT19BUElDX2lycSgwKTsKKwkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJaWYgKHRpbWVyX2lycV93b3JrcygpKSB7CiAJCQlwcmludGsoIndvcmtzLlxuIik7Ci0JCQlpZiAocGluMSAhPSAtMSkKLQkJCQlyZXBsYWNlX3Bpbl9hdF9pcnEoMCwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKLQkJCWVsc2UKLQkJCQlhZGRfcGluX3RvX2lycSgwLCBhcGljMiwgcGluMik7CisJCQl0aW1lcl90aHJvdWdoXzgyNTkgPSAxOwogCQkJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgeworCQkJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQkJCXNldHVwX25taSgpOworCQkJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCQl9CiAJCQlnb3RvIG91dDsKIAkJfQogCQkvKgogCQkgKiBDbGVhbnVwLCBqdXN0IGluIGNhc2UgLi4uCiAJCSAqLworCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJY2xlYXJfSU9fQVBJQ19waW4oYXBpYzIsIHBpbjIpOworCQlwcmludGsoIiBmYWlsZWQuXG4iKTsKIAl9Ci0JcHJpbnRrKCIgZmFpbGVkLlxuIik7CiAKIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgInRpbWVyIGRvZXNuJ3Qgd29yayB0aHJvdWdoIHRoZSBJTy1BUElDIC0gZGlzYWJsaW5nIE5NSSBXYXRjaGRvZyFcbiIpOwotCQlubWlfd2F0Y2hkb2cgPSAwOworCQlubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsKIAl9CisJdGltZXJfYWNrID0gMDsKIAogCXByaW50ayhLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgYXMgVmlydHVhbCBXaXJlIElSUS4uLiIpOwogCi0JZGlzYWJsZV84MjU5QV9pcnEoMCk7Ci0Jc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoMCwgJmxhcGljX2NoaXAsIGhhbmRsZV9mYXN0ZW9pX2lycSwKLQkJCQkgICAgICAiZmFzdGVvaSIpOworCWxhcGljX3JlZ2lzdGVyX2ludHIoMCwgdmVjdG9yKTsKIAlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfRE1fRklYRUQgfCB2ZWN0b3IpOwkvKiBGaXhlZCBtb2RlICovCiAJZW5hYmxlXzgyNTlBX2lycSgwKTsKIApAQCAtMjIyNCwxMiArMjI2MywxMiBAQAogCQlwcmludGsoIiB3b3Jrcy5cbiIpOwogCQlnb3RvIG91dDsKIAl9CisJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0ZJWEVEIHwgdmVjdG9yKTsKIAlwcmludGsoIiBmYWlsZWQuXG4iKTsKIAogCXByaW50ayhLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgYXMgRXh0SU5UIElSUS4uLiIpOwogCi0JdGltZXJfYWNrID0gMDsKIAlpbml0XzgyNTlBKDApOwogCW1ha2VfODI1OUFfaXJxKDApOwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9FWFRJTlQpOwpAQCAtMjI0OCwxMSArMjI4NywyMSBAQAogfQogCiAvKgotICoKLSAqIElSUSdzIHRoYXQgYXJlIGhhbmRsZWQgYnkgdGhlIFBJQyBpbiB0aGUgTVBTIElPQVBJQyBjYXNlLgotICogLSBJUlEyIGlzIHRoZSBjYXNjYWRlIElSUSwgYW5kIGNhbm5vdCBiZSBhIGlvLWFwaWMgSVJRLgotICogICBMaW51eCBkb2Vzbid0IHJlYWxseSBjYXJlLCBhcyBpdCdzIG5vdCBhY3R1YWxseSB1c2VkCi0gKiAgIGZvciBhbnkgaW50ZXJydXB0IGhhbmRsaW5nIGFueXdheS4KKyAqIFRyYWRpdGlvbmFsbHkgSVNBIElSUTIgaXMgdGhlIGNhc2NhZGUgSVJRLCBhbmQgaXMgbm90IGF2YWlsYWJsZQorICogdG8gZGV2aWNlcy4gIEhvd2V2ZXIgdGhlcmUgbWF5IGJlIGFuIEkvTyBBUElDIHBpbiBhdmFpbGFibGUgZm9yCisgKiB0aGlzIGludGVycnVwdCByZWdhcmRsZXNzLiAgVGhlIHBpbiBtYXkgYmUgbGVmdCB1bmNvbm5lY3RlZCwgYnV0CisgKiB0eXBpY2FsbHkgaXQgd2lsbCBiZSByZXVzZWQgYXMgYW4gRXh0SU5UIGNhc2NhZGUgaW50ZXJydXB0IGZvcgorICogdGhlIG1hc3RlciA4MjU5QS4gIEluIHRoZSBNUFMgY2FzZSBzdWNoIGEgcGluIHdpbGwgbm9ybWFsbHkgYmUKKyAqIHJlcG9ydGVkIGFzIGFuIEV4dElOVCBpbnRlcnJ1cHQgaW4gdGhlIE1QIHRhYmxlLiAgV2l0aCBBQ1BJCisgKiB0aGVyZSBpcyBubyBwcm92aXNpb24gZm9yIEV4dElOVCBpbnRlcnJ1cHRzLCBhbmQgaW4gdGhlIGFic2VuY2UKKyAqIG9mIGFuIG92ZXJyaWRlIGl0IHdvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gb3JkaW5hcnkgSVNBIEkvTyBBUElDCisgKiBpbnRlcnJ1cHQsIHRoYXQgaXMgZWRnZS10cmlnZ2VyZWQgYW5kIHVubWFza2VkIGJ5IGRlZmF1bHQuICBXZQorICogdXNlZCB0byBkbyB0aGlzLCBidXQgaXQgY2F1c2VkIHByb2JsZW1zIG9uIHNvbWUgc3lzdGVtcyBiZWNhdXNlCisgKiBvZiB0aGUgTk1JIHdhdGNoZG9nIGFuZCBzb21ldGltZXMgSVJRMCBvZiB0aGUgODI1NCB0aW1lciB1c2luZworICogdGhlIHNhbWUgRXh0SU5UIGNhc2NhZGUgaW50ZXJydXB0IHRvIGRyaXZlIHRoZSBsb2NhbCBBUElDIG9mIHRoZQorICogYm9vdHN0cmFwIHByb2Nlc3Nvci4gIFRoZXJlZm9yZSB3ZSByZWZyYWluIGZyb20gcm91dGluZyBJUlEyIHRvCisgKiB0aGUgSS9PIEFQSUMgaW4gYWxsIGNhc2VzIG5vdy4gIE5vIGFjdHVhbCBkZXZpY2Ugc2hvdWxkIHJlcXVlc3QKKyAqIGl0IGFueXdheS4gIC0tbWFjcm8KICAqLwogI2RlZmluZSBQSUNfSVJRUwkoMSA8PCBQSUNfQ0FTQ0FERV9JUikKIApAQCAtMjI2MSwxNSArMjMxMCwxMiBAQAogCWludCBpOwogCiAJLyogUmVzZXJ2ZSBhbGwgdGhlIHN5c3RlbSB2ZWN0b3JzLiAqLwotCWZvciAoaSA9IEZJUlNUX1NZU1RFTV9WRUNUT1I7IGkgPCBOUl9WRUNUT1JTOyBpKyspCisJZm9yIChpID0gZmlyc3Rfc3lzdGVtX3ZlY3RvcjsgaSA8IE5SX1ZFQ1RPUlM7IGkrKykKIAkJc2V0X2JpdChpLCB1c2VkX3ZlY3RvcnMpOwogCiAJZW5hYmxlX0lPX0FQSUMoKTsKIAotCWlmIChhY3BpX2lvYXBpYykKLQkJaW9fYXBpY19pcnFzID0gfjA7CS8qIGFsbCBJUlFzIGdvIHRocm91Z2ggSU9BUElDICovCi0JZWxzZQotCQlpb19hcGljX2lycXMgPSB+UElDX0lSUVM7CisJaW9fYXBpY19pcnFzID0gflBJQ19JUlFTOwogCiAJcHJpbnRrKCJFTkFCTElORyBJTy1BUElDIElSUXNcbiIpOwogCkBAIC0yMjg2LDI4ICsyMzMyLDE0IEBACiAJCXByaW50X0lPX0FQSUMoKTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZGlzYWJsZV84MjU0X3RpbWVyKGNoYXIgKnMpCi17Ci0JdGltZXJfb3Zlcl84MjU0ID0gLTE7Ci0JcmV0dXJuIDE7Ci19Ci1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9lbmFibGVfODI1NF90aW1lcihjaGFyICpzKQotewotCXRpbWVyX292ZXJfODI1NCA9IDI7Ci0JcmV0dXJuIDE7Ci19Ci0KLV9fc2V0dXAoImRpc2FibGVfODI1NF90aW1lciIsIHNldHVwX2Rpc2FibGVfODI1NF90aW1lcik7Ci1fX3NldHVwKCJlbmFibGVfODI1NF90aW1lciIsIHNldHVwX2VuYWJsZV84MjU0X3RpbWVyKTsKLQogLyoKICAqCUNhbGxlZCBhZnRlciBhbGwgdGhlIGluaXRpYWxpemF0aW9uIGlzIGRvbmUuIElmIHdlIGRpZG50IGZpbmQgYW55CiAgKglBUElDIGJ1Z3MgdGhlbiB3ZSBjYW4gYWxsb3cgdGhlIG1vZGlmeSBmYXN0IHBhdGgKICAqLwotIAorCiBzdGF0aWMgaW50IF9faW5pdCBpb19hcGljX2J1Z19maW5hbGl6ZSh2b2lkKQogewotCWlmKHNpc19hcGljX2J1ZyA9PSAtMSkKKwlpZiAoc2lzX2FwaWNfYnVnID09IC0xKQogCQlzaXNfYXBpY19idWcgPSAwOwogCXJldHVybiAwOwogfQpAQCAtMjMxOCwxNyArMjM1MCwxNyBAQAogCXN0cnVjdCBzeXNfZGV2aWNlIGRldjsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBlbnRyeVswXTsKIH07Ci1zdGF0aWMgc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhICogbXBfaW9hcGljX2RhdGFbTUFYX0lPX0FQSUNTXTsKK3N0YXRpYyBzdHJ1Y3Qgc3lzZnNfaW9hcGljX2RhdGEgKm1wX2lvYXBpY19kYXRhW01BWF9JT19BUElDU107CiAKIHN0YXRpYyBpbnQgaW9hcGljX3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5ICplbnRyeTsKIAlzdHJ1Y3Qgc3lzZnNfaW9hcGljX2RhdGEgKmRhdGE7CiAJaW50IGk7Ci0JCisKIAlkYXRhID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhLCBkZXYpOwogCWVudHJ5ID0gZGF0YS0+ZW50cnk7Ci0JZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY19yZWdpc3RlcnNbZGV2LT5pZF07IGkgKyspCisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY19yZWdpc3RlcnNbZGV2LT5pZF07IGkrKykKIAkJZW50cnlbaV0gPSBpb2FwaWNfcmVhZF9lbnRyeShkZXYtPmlkLCBpKTsKIAogCXJldHVybiAwOwpAQCAtMjM0MSwxOCArMjM3MywxOCBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDAgcmVnXzAwOwogCWludCBpOwotCQorCiAJZGF0YSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBzeXNmc19pb2FwaWNfZGF0YSwgZGV2KTsKIAllbnRyeSA9IGRhdGEtPmVudHJ5OwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJcmVnXzAwLnJhdyA9IGlvX2FwaWNfcmVhZChkZXYtPmlkLCAwKTsKLQlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcGNfYXBpY2lkKSB7Ci0JCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcGNfYXBpY2lkOworCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wX2FwaWNpZCkgeworCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBfYXBpY2lkOwogCQlpb19hcGljX3dyaXRlKGRldi0+aWQsIDAsIHJlZ18wMC5yYXcpOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2Rldi0+aWRdOyBpICsrKQorCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2Rldi0+aWRdOyBpKyspCiAJCWlvYXBpY193cml0ZV9lbnRyeShkZXYtPmlkLCBpLCBlbnRyeVtpXSk7CiAKIAlyZXR1cm4gMDsKQEAgLTIzNjYsMjQgKzIzOTgsMjMgQEAKIAogc3RhdGljIGludCBfX2luaXQgaW9hcGljX2luaXRfc3lzZnModm9pZCkKIHsKLQlzdHJ1Y3Qgc3lzX2RldmljZSAqIGRldjsKKwlzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2OwogCWludCBpLCBzaXplLCBlcnJvciA9IDA7CiAKIAllcnJvciA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmaW9hcGljX3N5c2Rldl9jbGFzcyk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKLQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrICkgewotCQlzaXplID0gc2l6ZW9mKHN0cnVjdCBzeXNfZGV2aWNlKSArIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0gCisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgeworCQlzaXplID0gc2l6ZW9mKHN0cnVjdCBzeXNfZGV2aWNlKSArIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0KIAkJCSogc2l6ZW9mKHN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5KTsKLQkJbXBfaW9hcGljX2RhdGFbaV0gPSBrbWFsbG9jKHNpemUsIEdGUF9LRVJORUwpOworCQltcF9pb2FwaWNfZGF0YVtpXSA9IGt6YWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJCWlmICghbXBfaW9hcGljX2RhdGFbaV0pIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ2FuJ3Qgc3VzcGVuZC9yZXN1bWUgSU9BUElDICVkXG4iLCBpKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCW1lbXNldChtcF9pb2FwaWNfZGF0YVtpXSwgMCwgc2l6ZSk7CiAJCWRldiA9ICZtcF9pb2FwaWNfZGF0YVtpXS0+ZGV2OwotCQlkZXYtPmlkID0gaTsgCisJCWRldi0+aWQgPSBpOwogCQlkZXYtPmNscyA9ICZpb2FwaWNfc3lzZGV2X2NsYXNzOwogCQllcnJvciA9IHN5c2Rldl9yZWdpc3RlcihkZXYpOwogCQlpZiAoZXJyb3IpIHsKQEAgLTI0NTgsNyArMjQ4OSw3IEBACiAJCW1zZy0+YWRkcmVzc19sbyA9CiAJCQlNU0lfQUREUl9CQVNFX0xPIHwKIAkJCSgoSU5UX0RFU1RfTU9ERSA9PSAwKSA/Ci0JCQkJTVNJX0FERFJfREVTVF9NT0RFX1BIWVNJQ0FMOgorTVNJX0FERFJfREVTVF9NT0RFX1BIWVNJQ0FMOgogCQkJCU1TSV9BRERSX0RFU1RfTU9ERV9MT0dJQ0FMKSB8CiAJCQkoKElOVF9ERUxJVkVSWV9NT0RFICE9IGRlc3RfTG93ZXN0UHJpbykgPwogCQkJCU1TSV9BRERSX1JFRElSRUNUSU9OX0NQVToKQEAgLTI0NjksNyArMjUwMCw3IEBACiAJCQlNU0lfREFUQV9UUklHR0VSX0VER0UgfAogCQkJTVNJX0RBVEFfTEVWRUxfQVNTRVJUIHwKIAkJCSgoSU5UX0RFTElWRVJZX01PREUgIT0gZGVzdF9Mb3dlc3RQcmlvKSA/Ci0JCQkJTVNJX0RBVEFfREVMSVZFUllfRklYRUQ6CitNU0lfREFUQV9ERUxJVkVSWV9GSVhFRDoKIAkJCQlNU0lfREFUQV9ERUxJVkVSWV9MT1dQUkkpIHwKIAkJCU1TSV9EQVRBX1ZFQ1RPUih2ZWN0b3IpOwogCX0KQEAgLTI2NDAsMTIgKzI2NzEsMTIgQEAKICNlbmRpZiAvKiBDT05GSUdfSFRfSVJRICovCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEFDUEktYmFzZWQgSU9BUElDIENvbmZpZ3VyYXRpb24KKwkJCUFDUEktYmFzZWQgSU9BUElDIENvbmZpZ3VyYXRpb24KICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKICNpZmRlZiBDT05GSUdfQUNQSQogCi1pbnQgX19pbml0IGlvX2FwaWNfZ2V0X3VuaXF1ZV9pZCAoaW50IGlvYXBpYywgaW50IGFwaWNfaWQpCitpbnQgX19pbml0IGlvX2FwaWNfZ2V0X3VuaXF1ZV9pZChpbnQgaW9hcGljLCBpbnQgYXBpY19pZCkKIHsKIAl1bmlvbiBJT19BUElDX3JlZ18wMCByZWdfMDA7CiAJc3RhdGljIHBoeXNpZF9tYXNrX3QgYXBpY19pZF9tYXAgPSBQSFlTSURfTUFTS19OT05FOwpAQCAtMjY1NCwxMCArMjY4NSwxMCBAQAogCWludCBpID0gMDsKIAogCS8qCi0JICogVGhlIFA0IHBsYXRmb3JtIHN1cHBvcnRzIHVwIHRvIDI1NiBBUElDIElEcyBvbiB0d28gc2VwYXJhdGUgQVBJQyAKLQkgKiBidXNlcyAob25lIGZvciBMQVBJQ3MsIG9uZSBmb3IgSU9BUElDcyksIHdoZXJlIHByZWRlY2Vzc29ycyBvbmx5IAorCSAqIFRoZSBQNCBwbGF0Zm9ybSBzdXBwb3J0cyB1cCB0byAyNTYgQVBJQyBJRHMgb24gdHdvIHNlcGFyYXRlIEFQSUMKKwkgKiBidXNlcyAob25lIGZvciBMQVBJQ3MsIG9uZSBmb3IgSU9BUElDcyksIHdoZXJlIHByZWRlY2Vzc29ycyBvbmx5CiAJICogc3VwcG9ydHMgdXAgdG8gMTYgb24gb25lIHNoYXJlZCBBUElDIGJ1cy4KLQkgKiAKKwkgKgogCSAqIFRCRDogRXhwYW5kIExBUElDL0lPQVBJQyBzdXBwb3J0IG9uIFA0LWNsYXNzIHN5c3RlbXMgdG8gdGFrZSBmdWxsCiAJICogICAgICBhZHZhbnRhZ2Ugb2YgbmV3IEFQSUMgYnVzIGFyY2hpdGVjdHVyZS4KIAkgKi8KQEAgLTI2NzYsNyArMjcwNyw3IEBACiAJfQogCiAJLyoKLQkgKiBFdmVyeSBBUElDIGluIGEgc3lzdGVtIG11c3QgaGF2ZSBhIHVuaXF1ZSBJRCBvciB3ZSBnZXQgbG90cyBvZiBuaWNlIAorCSAqIEV2ZXJ5IEFQSUMgaW4gYSBzeXN0ZW0gbXVzdCBoYXZlIGEgdW5pcXVlIElEIG9yIHdlIGdldCBsb3RzIG9mIG5pY2UKIAkgKiAnc3R1Y2sgb24gc21wX2ludmFsaWRhdGVfbmVlZGVkIElQSSB3YWl0JyBtZXNzYWdlcy4KIAkgKi8KIAlpZiAoY2hlY2tfYXBpY2lkX3VzZWQoYXBpY19pZF9tYXAsIGFwaWNfaWQpKSB7CkBAIC0yNjkzLDcgKzI3MjQsNyBAQAogCQkJInRyeWluZyAlZFxuIiwgaW9hcGljLCBhcGljX2lkLCBpKTsKIAogCQlhcGljX2lkID0gaTsKLQl9IAorCX0KIAogCXRtcCA9IGFwaWNpZF90b19jcHVfcHJlc2VudChhcGljX2lkKTsKIAlwaHlzaWRzX29yKGFwaWNfaWRfbWFwLCBhcGljX2lkX21hcCwgdG1wKTsKQEAgLTI3MjAsNyArMjc1MSw3IEBACiB9CiAKIAotaW50IF9faW5pdCBpb19hcGljX2dldF92ZXJzaW9uIChpbnQgaW9hcGljKQoraW50IF9faW5pdCBpb19hcGljX2dldF92ZXJzaW9uKGludCBpb2FwaWMpCiB7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDEJcmVnXzAxOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC0yNzMzLDcgKzI3NjQsNyBAQAogfQogCiAKLWludCBfX2luaXQgaW9fYXBpY19nZXRfcmVkaXJfZW50cmllcyAoaW50IGlvYXBpYykKK2ludCBfX2luaXQgaW9fYXBpY19nZXRfcmVkaXJfZW50cmllcyhpbnQgaW9hcGljKQogewogCXVuaW9uIElPX0FQSUNfcmVnXzAxCXJlZ18wMTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtMjc0Niw3ICsyNzc3LDcgQEAKIH0KIAogCi1pbnQgaW9fYXBpY19zZXRfcGNpX3JvdXRpbmcgKGludCBpb2FwaWMsIGludCBwaW4sIGludCBpcnEsIGludCBlZGdlX2xldmVsLCBpbnQgYWN0aXZlX2hpZ2hfbG93KQoraW50IGlvX2FwaWNfc2V0X3BjaV9yb3V0aW5nKGludCBpb2FwaWMsIGludCBwaW4sIGludCBpcnEsIGludCBlZGdlX2xldmVsLCBpbnQgYWN0aXZlX2hpZ2hfbG93KQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5OwogCkBAIC0yNzYyLDcgKzI3OTMsNyBAQAogCSAqIGNvcnJlc3BvbmRpbmcgZGV2aWNlIGRyaXZlciByZWdpc3RlcnMgZm9yIHRoaXMgSVJRLgogCSAqLwogCi0JbWVtc2V0KCZlbnRyeSwwLHNpemVvZihlbnRyeSkpOworCW1lbXNldCgmZW50cnksIDAsIHNpemVvZihlbnRyeSkpOwogCiAJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCWVudHJ5LmRlc3RfbW9kZSA9IElOVF9ERVNUX01PREU7CkBAIC0yNzgxLDcgKzI4MTIsNyBAQAogCiAJYXBpY19wcmludGsoQVBJQ19ERUJVRywgS0VSTl9ERUJVRyAiSU9BUElDWyVkXTogU2V0IFBDSSByb3V0aW5nIGVudHJ5ICIKIAkJIiglZC0lZCAtPiAweCV4IC0+IElSUSAlZCBNb2RlOiVpIEFjdGl2ZTolaSlcbiIsIGlvYXBpYywKLQkJbXBfaW9hcGljc1tpb2FwaWNdLm1wY19hcGljaWQsIHBpbiwgZW50cnkudmVjdG9yLCBpcnEsCisJCW1wX2lvYXBpY3NbaW9hcGljXS5tcF9hcGljaWQsIHBpbiwgZW50cnkudmVjdG9yLCBpcnEsCiAJCWVkZ2VfbGV2ZWwsIGFjdGl2ZV9oaWdoX2xvdyk7CiAKIAlpb2FwaWNfcmVnaXN0ZXJfaW50cihpcnEsIGVudHJ5LnZlY3RvciwgZWRnZV9sZXZlbCk7CkBAIC0yODAyLDggKzI4MzMsOCBAQAogCQlyZXR1cm4gLTE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykKLQkJaWYgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gbXBfSU5UICYmCi0JCSAgICBtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gYnVzX2lycSkKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSBtcF9JTlQgJiYKKwkJICAgIG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID09IGJ1c19pcnEpCiAJCQlicmVhazsKIAlpZiAoaSA+PSBtcF9pcnFfZW50cmllcykKIAkJcmV0dXJuIC0xOwpAQCAtMjgzNiwzICsyODY3LDM0IEBACiAJcmV0dXJuIDA7CiB9CiBlYXJseV9wYXJhbSgibm9hcGljIiwgcGFyc2Vfbm9hcGljKTsKKwordm9pZCBfX2luaXQgaW9hcGljX2luaXRfbWFwcGluZ3Modm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGlvYXBpY19waHlzLCBpZHggPSBGSVhfSU9fQVBJQ19CQVNFXzA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7CisJCWlmIChzbXBfZm91bmRfY29uZmlnKSB7CisJCQlpb2FwaWNfcGh5cyA9IG1wX2lvYXBpY3NbaV0ubXBfYXBpY2FkZHI7CisJCQlpZiAoIWlvYXBpY19waHlzKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSCisJCQkJICAgICAgICJXQVJOSU5HOiBib2d1cyB6ZXJvIElPLUFQSUMgIgorCQkJCSAgICAgICAiYWRkcmVzcyBmb3VuZCBpbiBNUFRBQkxFLCAiCisJCQkJICAgICAgICJkaXNhYmxpbmcgSU8vQVBJQyBzdXBwb3J0IVxuIik7CisJCQkJc21wX2ZvdW5kX2NvbmZpZyA9IDA7CisJCQkJc2tpcF9pb2FwaWNfc2V0dXAgPSAxOworCQkJCWdvdG8gZmFrZV9pb2FwaWNfcGFnZTsKKwkJCX0KKwkJfSBlbHNlIHsKK2Zha2VfaW9hcGljX3BhZ2U6CisJCQlpb2FwaWNfcGh5cyA9ICh1bnNpZ25lZCBsb25nKQorCQkJCSAgICAgIGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKKwkJCWlvYXBpY19waHlzID0gX19wYShpb2FwaWNfcGh5cyk7CisJCX0KKwkJc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgaW9hcGljX3BoeXMpOworCQlwcmludGsoS0VSTl9ERUJVRyAibWFwcGVkIElPQVBJQyB0byAlMDhseCAoJTA4bHgpXG4iLAorCQkgICAgICAgX19maXhfdG9fdmlydChpZHgpLCBpb2FwaWNfcGh5cyk7CisJCWlkeCsrOworCX0KK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzY0LmMKaW5kZXggZWYxYThkZi4uNjUxMGNkZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY182NC5jCkBAIC02MSw3ICs2MSw3IEBACiB9OwogCiAvKiBpcnFfY2ZnIGlzIGluZGV4ZWQgYnkgdGhlIHN1bSBvZiBhbGwgUlRFcyBpbiBhbGwgSS9PIEFQSUNzLiAqLwotc3RydWN0IGlycV9jZmcgaXJxX2NmZ1tOUl9JUlFTXSBfX3JlYWRfbW9zdGx5ID0geworc3RhdGljIHN0cnVjdCBpcnFfY2ZnIGlycV9jZmdbTlJfSVJRU10gX19yZWFkX21vc3RseSA9IHsKIAlbMF0gID0geyAuZG9tYWluID0gQ1BVX01BU0tfQUxMLCAudmVjdG9yID0gSVJRMF9WRUNUT1IsICB9LAogCVsxXSAgPSB7IC5kb21haW4gPSBDUFVfTUFTS19BTEwsIC52ZWN0b3IgPSBJUlExX1ZFQ1RPUiwgIH0sCiAJWzJdICA9IHsgLmRvbWFpbiA9IENQVV9NQVNLX0FMTCwgLnZlY3RvciA9IElSUTJfVkVDVE9SLCAgfSwKQEAgLTgyLDYgKzgyLDEwIEBACiAKIHN0YXRpYyBpbnQgYXNzaWduX2lycV92ZWN0b3IoaW50IGlycSwgY3B1bWFza190IG1hc2spOwogCitpbnQgZmlyc3Rfc3lzdGVtX3ZlY3RvciA9IDB4ZmU7CisKK2NoYXIgc3lzdGVtX3ZlY3RvcnNbTlJfVkVDVE9SU10gPSB7IFswIC4uLiBOUl9WRUNUT1JTLTFdID0gU1lTX1ZFQ1RPUl9GUkVFfTsKKwogI2RlZmluZSBfX2FwaWNkZWJ1Z2luaXQgIF9faW5pdAogCiBpbnQgc2lzX2FwaWNfYnVnOyAvKiBub3QgYWN0dWFsbHkgc3VwcG9ydGVkLCBkdW1teSBmb3IgY29tcGlsZSAqLwpAQCAtOTAsNyArOTQsNyBAQAogCiBzdGF0aWMgaW50IGRpc2FibGVfdGltZXJfcGluXzEgX19pbml0ZGF0YTsKIAotaW50IHRpbWVyX292ZXJfODI1NCBfX2luaXRkYXRhID0gMTsKK2ludCB0aW1lcl90aHJvdWdoXzgyNTkgX19pbml0ZGF0YTsKIAogLyogV2hlcmUgaWYgYW55d2hlcmUgaXMgdGhlIGk4MjU5IGNvbm5lY3QgaW4gZXh0ZXJuYWwgaW50IG1vZGUgKi8KIHN0YXRpYyBzdHJ1Y3QgeyBpbnQgcGluLCBhcGljOyB9IGlvYXBpY19pODI1OSA9IHsgLTEsIC0xIH07CkBAIC0xMDQsMTUgKzEwOCwxNyBAQAogaW50IG5yX2lvYXBpY19yZWdpc3RlcnNbTUFYX0lPX0FQSUNTXTsKIAogLyogSS9PIEFQSUMgZW50cmllcyAqLwotc3RydWN0IG1wY19jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKK3N0cnVjdCBtcF9jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKIGludCBucl9pb2FwaWNzOwogCiAvKiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KLXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CitzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CiAKIC8qICMgb2YgTVAgSVJRIHNvdXJjZSBlbnRyaWVzICovCiBpbnQgbXBfaXJxX2VudHJpZXM7CiAKK0RFQ0xBUkVfQklUTUFQKG1wX2J1c19ub3RfcGNpLCBNQVhfTVBfQlVTU0VTKTsKKwogLyoKICAqIFJvdWdoIGVzdGltYXRpb24gb2YgaG93IG1hbnkgc2hhcmVkIElSUXMgdGhlcmUgYXJlLCBjYW4KICAqIGJlIGNoYW5nZWQgYW55dGltZS4KQEAgLTE0MCw3ICsxNDYsNyBAQAogc3RhdGljIF9fYXR0cmlidXRlX2NvbnN0X18gc3RydWN0IGlvX2FwaWMgX19pb21lbSAqaW9fYXBpY19iYXNlKGludCBpZHgpCiB7CiAJcmV0dXJuICh2b2lkIF9faW9tZW0gKikgX19maXhfdG9fdmlydChGSVhfSU9fQVBJQ19CQVNFXzAgKyBpZHgpCi0JCSsgKG1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY2FkZHIgJiB+UEFHRV9NQVNLKTsKKwkJKyAobXBfaW9hcGljc1tpZHhdLm1wX2FwaWNhZGRyICYgflBBR0VfTUFTSyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGlvX2FwaWNfcmVhZCh1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHJlZykKQEAgLTE4Myw3ICsxODksNyBAQAogCQkJYnJlYWs7CiAJCXJlZyA9IGlvX2FwaWNfcmVhZChlbnRyeS0+YXBpYywgMHgxMCArIHBpbioyKTsKIAkJLyogSXMgdGhlIHJlbW90ZSBJUlIgYml0IHNldD8gKi8KLQkJaWYgKChyZWcgPj4gMTQpICYgMSkgeworCQlpZiAocmVnICYgSU9fQVBJQ19SRURJUl9SRU1PVEVfSVJSKSB7CiAJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQkJcmV0dXJuIHRydWU7CiAJCX0KQEAgLTI5OCw3ICszMDQsNyBAQAogCQkJYnJlYWs7CiAJCWlvX2FwaWNfd3JpdGUoYXBpYywgMHgxMSArIHBpbioyLCBkZXN0KTsKIAkJcmVnID0gaW9fYXBpY19yZWFkKGFwaWMsIDB4MTAgKyBwaW4qMik7Ci0JCXJlZyAmPSB+MHgwMDAwMDBmZjsKKwkJcmVnICY9IH5JT19BUElDX1JFRElSX1ZFQ1RPUl9NQVNLOwogCQlyZWcgfD0gdmVjdG9yOwogCQlpb19hcGljX21vZGlmeShhcGljLCByZWcpOwogCQlpZiAoIWVudHJ5LT5uZXh0KQpAQCAtMzYwLDE2ICszNjYsMzcgQEAKIAllbnRyeS0+cGluID0gcGluOwogfQogCisvKgorICogUmVyb3V0ZSBhbiBJUlEgdG8gYSBkaWZmZXJlbnQgcGluLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgcmVwbGFjZV9waW5fYXRfaXJxKHVuc2lnbmVkIGludCBpcnEsCisJCQkJICAgICAgaW50IG9sZGFwaWMsIGludCBvbGRwaW4sCisJCQkJICAgICAgaW50IG5ld2FwaWMsIGludCBuZXdwaW4pCit7CisJc3RydWN0IGlycV9waW5fbGlzdCAqZW50cnkgPSBpcnFfMl9waW4gKyBpcnE7CisKKwl3aGlsZSAoMSkgeworCQlpZiAoZW50cnktPmFwaWMgPT0gb2xkYXBpYyAmJiBlbnRyeS0+cGluID09IG9sZHBpbikgeworCQkJZW50cnktPmFwaWMgPSBuZXdhcGljOworCQkJZW50cnktPnBpbiA9IG5ld3BpbjsKKwkJfQorCQlpZiAoIWVudHJ5LT5uZXh0KQorCQkJYnJlYWs7CisJCWVudHJ5ID0gaXJxXzJfcGluICsgZW50cnktPm5leHQ7CisJfQorfQorCiAKICNkZWZpbmUgRE9fQUNUSU9OKG5hbWUsUixBQ1RJT04sIEZJTkFMKQkJCQkJXAogCQkJCQkJCQkJXAogCXN0YXRpYyB2b2lkIG5hbWUjI19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkJCVwKIAlfX0RPX0FDVElPTihSLCBBQ1RJT04sIEZJTkFMKQogCi1ET19BQ1RJT04oIF9fbWFzaywgICAgICAgICAgICAgMCwgfD0gMHgwMDAxMDAwMCwgaW9fYXBpY19zeW5jKGVudHJ5LT5hcGljKSApCi0JCQkJCQkvKiBtYXNrID0gMSAqLwotRE9fQUNUSU9OKCBfX3VubWFzaywgICAgICAgICAgIDAsICY9IDB4ZmZmZWZmZmYsICkKLQkJCQkJCS8qIG1hc2sgPSAwICovCisvKiBtYXNrID0gMSAqLworRE9fQUNUSU9OKF9fbWFzaywJMCwgfD0gSU9fQVBJQ19SRURJUl9NQVNLRUQsIGlvX2FwaWNfc3luYyhlbnRyeS0+YXBpYykpCisKKy8qIG1hc2sgPSAwICovCitET19BQ1RJT04oX191bm1hc2ssCTAsICY9IH5JT19BUElDX1JFRElSX01BU0tFRCwgKQogCiBzdGF0aWMgdm9pZCBtYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQogewpAQCAtNDMwLDIwICs0NTcsNiBAQAogfQogX19zZXR1cCgiZGlzYWJsZV90aW1lcl9waW5fMSIsIGRpc2FibGVfdGltZXJfcGluX3NldHVwKTsKIAotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZGlzYWJsZV84MjU0X3RpbWVyKGNoYXIgKnMpCi17Ci0JdGltZXJfb3Zlcl84MjU0ID0gLTE7Ci0JcmV0dXJuIDE7Ci19Ci1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9lbmFibGVfODI1NF90aW1lcihjaGFyICpzKQotewotCXRpbWVyX292ZXJfODI1NCA9IDI7Ci0JcmV0dXJuIDE7Ci19Ci0KLV9fc2V0dXAoImRpc2FibGVfODI1NF90aW1lciIsIHNldHVwX2Rpc2FibGVfODI1NF90aW1lcik7Ci1fX3NldHVwKCJlbmFibGVfODI1NF90aW1lciIsIHNldHVwX2VuYWJsZV84MjU0X3RpbWVyKTsKLQogCiAvKgogICogRmluZCB0aGUgSVJRIGVudHJ5IG51bWJlciBvZiBhIGNlcnRhaW4gcGluLgpAQCAtNDUzLDEwICs0NjYsMTAgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQlpZiAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgfHwKLQkJICAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgotCQkgICAgbXBfaXJxc1tpXS5tcGNfZHN0aXJxID09IHBpbikKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9kc3RhcGljID09IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkIHx8CisJCSAgICAgbXBfaXJxc1tpXS5tcF9kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgorCQkgICAgbXBfaXJxc1tpXS5tcF9kc3RpcnEgPT0gcGluKQogCQkJcmV0dXJuIGk7CiAKIAlyZXR1cm4gLTE7CkBAIC00NzAsMTMgKzQ4MywxMyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCi0JCQlyZXR1cm4gbXBfaXJxc1tpXS5tcGNfZHN0aXJxOworCQkJcmV0dXJuIG1wX2lycXNbaV0ubXBfZHN0aXJxOwogCX0KIAlyZXR1cm4gLTE7CiB9CkBAIC00ODYsMTcgKzQ5OSwxNyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCQkJYnJlYWs7CiAJfQogCWlmIChpIDwgbXBfaXJxX2VudHJpZXMpIHsKIAkJaW50IGFwaWM7CiAJCWZvcihhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewotCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wY19kc3RhcGljKQorCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID09IG1wX2lycXNbaV0ubXBfZHN0YXBpYykKIAkJCQlyZXR1cm4gYXBpYzsKIAkJfQogCX0KQEAgLTUxNiwyOCArNTI5LDI4IEBACiAKIAlhcGljX3ByaW50ayhBUElDX0RFQlVHLCAicXVlcnlpbmcgUENJIC0+IElSUSBtYXBwaW5nIGJ1czolZCwgc2xvdDolZCwgcGluOiVkLlxuIiwKIAkJYnVzLCBzbG90LCBwaW4pOwotCWlmIChtcF9idXNfaWRfdG9fcGNpX2J1c1tidXNdID09IC0xKSB7CisJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKSB7CiAJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIlBDSSBCSU9TIHBhc3NlZCBub25leGlzdGVudCBQQ0kgYnVzICVkIVxuIiwgYnVzKTsKIAkJcmV0dXJuIC0xOwogCX0KIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgewotCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBjX3NyY2J1czsKKwkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wX3NyY2J1czsKIAogCQlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKQotCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wY19kc3RhcGljIHx8Ci0JCQkgICAgbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkKKwkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wX2RzdGFwaWMgfHwKKwkJCSAgICBtcF9pcnFzW2ldLm1wX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpCiAJCQkJYnJlYWs7CiAKIAkJaWYgKCF0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgICFtcF9pcnFzW2ldLm1wY19pcnF0eXBlICYmCisJCSAgICAhbXBfaXJxc1tpXS5tcF9pcnF0eXBlICYmCiAJCSAgICAoYnVzID09IGxidXMpICYmCi0JCSAgICAoc2xvdCA9PSAoKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA+PiAyKSAmIDB4MWYpKSkgewotCQkJaW50IGlycSA9IHBpbl8yX2lycShpLGFwaWMsbXBfaXJxc1tpXS5tcGNfZHN0aXJxKTsKKwkJICAgIChzbG90ID09ICgobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPj4gMikgJiAweDFmKSkpIHsKKwkJCWludCBpcnEgPSBwaW5fMl9pcnEoaSxhcGljLG1wX2lycXNbaV0ubXBfZHN0aXJxKTsKIAogCQkJaWYgKCEoYXBpYyB8fCBJT19BUElDX0lSUShpcnEpKSkKIAkJCQljb250aW51ZTsKIAotCQkJaWYgKHBpbiA9PSAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxICYgMykpCisJCQlpZiAocGluID09IChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSAmIDMpKQogCQkJCXJldHVybiBpcnE7CiAJCQkvKgogCQkJICogVXNlIHRoZSBmaXJzdCBhbGwtYnV0LXBpbiBtYXRjaGluZyBlbnRyeSBhcyBhCkBAIC01NjUsMTMgKzU3OCwxMyBAQAogCiBzdGF0aWMgaW50IE1QQklPU19wb2xhcml0eShpbnQgaWR4KQogewotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAlpbnQgcG9sYXJpdHk7CiAKIAkvKgogCSAqIERldGVybWluZSBJUlEgbGluZSBwb2xhcml0eSAoaGlnaCBhY3RpdmUgb3IgbG93IGFjdGl2ZSk6CiAJICovCi0Jc3dpdGNoIChtcF9pcnFzW2lkeF0ubXBjX2lycWZsYWcgJiAzKQorCXN3aXRjaCAobXBfaXJxc1tpZHhdLm1wX2lycWZsYWcgJiAzKQogCXsKIAkJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCBwb2xhcml0eSAqLwogCQkJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKQpAQCAtNjA3LDEzICs2MjAsMTMgQEAKIAogc3RhdGljIGludCBNUEJJT1NfdHJpZ2dlcihpbnQgaWR4KQogewotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAlpbnQgdHJpZ2dlcjsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSB0cmlnZ2VyIG1vZGUgKGVkZ2Ugb3IgbGV2ZWwgc2Vuc2l0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBjX2lycWZsYWc+PjIpICYgMykKKwlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZz4+MikgJiAzKQogCXsKIAkJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCAqLwogCQkJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKQpAQCAtNjYwLDE2ICs2NzMsMTYgQEAKIHN0YXRpYyBpbnQgcGluXzJfaXJxKGludCBpZHgsIGludCBhcGljLCBpbnQgcGluKQogewogCWludCBpcnEsIGk7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCiAJLyoKIAkgKiBEZWJ1Z2dpbmcgY2hlY2ssIHdlIGFyZSBpbiBiaWcgdHJvdWJsZSBpZiB0aGlzIG1lc3NhZ2UgcG9wcyB1cCEKIAkgKi8KLQlpZiAobXBfaXJxc1tpZHhdLm1wY19kc3RpcnEgIT0gcGluKQorCWlmIChtcF9pcnFzW2lkeF0ubXBfZHN0aXJxICE9IHBpbikKIAkJcHJpbnRrKEtFUk5fRVJSICJicm9rZW4gQklPUyBvciBNUFRBQkxFIHBhcnNlciwgYXlpZWUhIVxuIik7CiAKIAlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpIHsKLQkJaXJxID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXNpcnE7CisJCWlycSA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXNpcnE7CiAJfSBlbHNlIHsKIAkJLyoKIAkJICogUENJIElSUXMgYXJlIG1hcHBlZCBpbiBvcmRlcgpAQCAtNzMwLDcgKzc0Myw3IEBACiAJCW9mZnNldCA9IGN1cnJlbnRfb2Zmc2V0OwogbmV4dDoKIAkJdmVjdG9yICs9IDg7Ci0JCWlmICh2ZWN0b3IgPj0gRklSU1RfU1lTVEVNX1ZFQ1RPUikgeworCQlpZiAodmVjdG9yID49IGZpcnN0X3N5c3RlbV92ZWN0b3IpIHsKIAkJCS8qIElmIHdlIHJ1biBvdXQgb2YgdmVjdG9ycyBvbiBsYXJnZSBib3hlbiwgbXVzdCBzaGFyZSB0aGVtLiAqLwogCQkJb2Zmc2V0ID0gKG9mZnNldCArIDEpICUgODsKIAkJCXZlY3RvciA9IEZJUlNUX0RFVklDRV9WRUNUT1IgKyBvZmZzZXQ7CkBAIC03ODgsNyArODAxLDcgQEAKIAljcHVzX2NsZWFyKGNmZy0+ZG9tYWluKTsKIH0KIAotdm9pZCBfX3NldHVwX3ZlY3Rvcl9pcnEoaW50IGNwdSkKK3N0YXRpYyB2b2lkIF9fc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KQogewogCS8qIEluaXRpYWxpemUgdmVjdG9yX2lycSBvbiBhIG5ldyBjcHUgKi8KIAkvKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHdpdGggdmVjdG9yX2xvY2sgaGVsZCAqLwpAQCAtODExLDYgKzgyNCwxMyBAQAogCX0KIH0KIAordm9pZCBzZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpCit7CisJc3Bpbl9sb2NrKCZ2ZWN0b3JfbG9jayk7CisJX19zZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJc3Bpbl91bmxvY2soJnZlY3Rvcl9sb2NrKTsKK30KKwogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIGlvYXBpY19jaGlwOwogCkBAIC04NDYsNyArODY2LDcgQEAKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsS0VSTl9ERUJVRwogCQkgICAgIklPQVBJQ1slZF06IFNldCByb3V0aW5nIGVudHJ5ICglZC0lZCAtPiAweCV4IC0+ICIKIAkJICAgICJJUlEgJWQgTW9kZTolaSBBY3RpdmU6JWkpXG4iLAotCQkgICAgYXBpYywgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkLCBwaW4sIGNmZy0+dmVjdG9yLAorCQkgICAgYXBpYywgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQsIHBpbiwgY2ZnLT52ZWN0b3IsCiAJCSAgICBpcnEsIHRyaWdnZXIsIHBvbGFyaXR5KTsKIAogCS8qCkBAIC04ODcsMTAgKzkwNywxMCBAQAogCQlpZHggPSBmaW5kX2lycV9lbnRyeShhcGljLHBpbixtcF9JTlQpOwogCQlpZiAoaWR4ID09IC0xKSB7CiAJCQlpZiAoZmlyc3Rfbm90Y29uKSB7Ci0JCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0RFQlVHICIgSU8tQVBJQyAoYXBpY2lkLXBpbikgJWQtJWQiLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsIHBpbik7CisJCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0RFQlVHICIgSU8tQVBJQyAoYXBpY2lkLXBpbikgJWQtJWQiLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCwgcGluKTsKIAkJCQlmaXJzdF9ub3Rjb24gPSAwOwogCQkJfSBlbHNlCi0JCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiLCAlZC0lZCIsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCwgcGluKTsKKwkJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICIsICVkLSVkIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQsIHBpbik7CiAJCQljb250aW51ZTsKIAkJfQogCQlpZiAoIWZpcnN0X25vdGNvbikgewpAQCAtOTExLDI2ICs5MzEsMjEgQEAKIH0KIAogLyoKLSAqIFNldCB1cCB0aGUgODI1OUEtbWFzdGVyIG91dHB1dCBwaW4gYXMgYnJvYWRjYXN0IHRvIGFsbAotICogQ1BVcy4KKyAqIFNldCB1cCB0aGUgdGltZXIgcGluLCBwb3NzaWJseSB3aXRoIHRoZSA4MjU5QS1tYXN0ZXIgYmVoaW5kLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfRXh0SU5UX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLCBpbnQgdmVjdG9yKQorc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3RpbWVyX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLAorCQkJCQlpbnQgdmVjdG9yKQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5OwogCiAJbWVtc2V0KCZlbnRyeSwgMCwgc2l6ZW9mKGVudHJ5KSk7CiAKLQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKLQotCS8qIG1hc2sgTFZUMCAqLwotCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0VYVElOVCk7Ci0KIAkvKgogCSAqIFdlIHVzZSBsb2dpY2FsIGRlbGl2ZXJ5IHRvIGdldCB0aGUgdGltZXIgSVJRCiAJICogdG8gdGhlIGZpcnN0IENQVS4KIAkgKi8KIAllbnRyeS5kZXN0X21vZGUgPSBJTlRfREVTVF9NT0RFOwotCWVudHJ5Lm1hc2sgPSAwOwkJCQkJLyogdW5tYXNrIElSUSBub3cgKi8KKwllbnRyeS5tYXNrID0gMTsJCQkJCS8qIG1hc2sgSVJRIG5vdyAqLwogCWVudHJ5LmRlc3QgPSBjcHVfbWFza190b19hcGljaWQoVEFSR0VUX0NQVVMpOwogCWVudHJ5LmRlbGl2ZXJ5X21vZGUgPSBJTlRfREVMSVZFUllfTU9ERTsKIAllbnRyeS5wb2xhcml0eSA9IDA7CkBAIC05MzksNyArOTU0LDcgQEAKIAogCS8qCiAJICogVGhlIHRpbWVyIElSUSBkb2Vzbid0IGhhdmUgdG8ga25vdyB0aGF0IGJlaGluZCB0aGUKLQkgKiBzY2VuZSB3ZSBoYXZlIGEgODI1OUEtbWFzdGVyIGluIEFFT0kgbW9kZSAuLi4KKwkgKiBzY2VuZSB3ZSBtYXkgaGF2ZSBhIDgyNTlBLW1hc3RlciBpbiBBRU9JIG1vZGUgLi4uCiAJICovCiAJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoMCwgJmlvYXBpY19jaGlwLCBoYW5kbGVfZWRnZV9pcnEsICJlZGdlIik7CiAKQEAgLTk0Nyw4ICs5NjIsNiBAQAogCSAqIEFkZCBpdCB0byB0aGUgSU8tQVBJQyBpcnEtcm91dGluZyB0YWJsZToKIAkgKi8KIAlpb2FwaWNfd3JpdGVfZW50cnkoYXBpYywgcGluLCBlbnRyeSk7Ci0KLQllbmFibGVfODI1OUFfaXJxKDApOwogfQogCiB2b2lkIF9fYXBpY2RlYnVnaW5pdCBwcmludF9JT19BUElDKHZvaWQpCkBAIC05NjUsNyArOTc4LDcgQEAKIAlwcmludGsoS0VSTl9ERUJVRyAibnVtYmVyIG9mIE1QIElSUSBzb3VyY2VzOiAlZC5cbiIsIG1wX2lycV9lbnRyaWVzKTsKIAlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKQogCQlwcmludGsoS0VSTl9ERUJVRyAibnVtYmVyIG9mIElPLUFQSUMgIyVkIHJlZ2lzdGVyczogJWQuXG4iLAotCQkgICAgICAgbXBfaW9hcGljc1tpXS5tcGNfYXBpY2lkLCBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldKTsKKwkJICAgICAgIG1wX2lvYXBpY3NbaV0ubXBfYXBpY2lkLCBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldKTsKIAogCS8qCiAJICogV2UgYXJlIGEgYml0IGNvbnNlcnZhdGl2ZSBhYm91dCB3aGF0IHdlIGV4cGVjdC4gIFdlIGhhdmUgdG8KQEAgLTk4Myw3ICs5OTYsNyBAQAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAKIAlwcmludGsoIlxuIik7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIklPIEFQSUMgIyVkLi4uLi4uXG4iLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCXByaW50ayhLRVJOX0RFQlVHICJJTyBBUElDICMlZC4uLi4uLlxuIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uIHJlZ2lzdGVyICMwMDogJTA4WFxuIiwgcmVnXzAwLnJhdyk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4uLi4gICAgOiBwaHlzaWNhbCBBUElDIGlkOiAlMDJYXG4iLCByZWdfMDAuYml0cy5JRCk7CiAKQEAgLTEwNzcsNiArMTA5MCw3IEBACiAKIAlwcmludGsoIlxuIiBLRVJOX0RFQlVHICJwcmludGluZyBsb2NhbCBBUElDIGNvbnRlbnRzIG9uIENQVSMlZC8lZDpcbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSwgaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCkpOworCXYgPSBhcGljX3JlYWQoQVBJQ19JRCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiLi4uIEFQSUMgSUQ6ICAgICAgJTA4eCAoJTAxeClcbiIsIHYsIEdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKSk7CiAJdiA9IGFwaWNfcmVhZChBUElDX0xWUik7CiAJcHJpbnRrKEtFUk5fSU5GTyAiLi4uIEFQSUMgVkVSU0lPTjogJTA4eFxuIiwgdik7CkBAIC0xMTQ2LDcgKzExNjAsNyBAQAogCiB2b2lkIHByaW50X2FsbF9sb2NhbF9BUElDcyAodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShwcmludF9sb2NhbF9BUElDLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShwcmludF9sb2NhbF9BUElDLCBOVUxMLCAxKTsKIH0KIAogdm9pZCBfX2FwaWNkZWJ1Z2luaXQgcHJpbnRfUElDKHZvaWQpCkBAIC0xNTQwLDcgKzE1NTQsNyBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgZW5hYmxlX2xhcGljX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIHVubWFza19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIHY7CiAKQEAgLTE1NDgsNyArMTU2Miw3IEBACiAJYXBpY193cml0ZShBUElDX0xWVDAsIHYgJiB+QVBJQ19MVlRfTUFTS0VEKTsKIH0KIAotc3RhdGljIHZvaWQgZGlzYWJsZV9sYXBpY19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBtYXNrX2xhcGljX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgdjsKIApAQCAtMTU2MSwxOSArMTU3NSwyMCBAQAogCWFja19BUElDX2lycSgpOwogfQogCi1zdGF0aWMgdm9pZCBlbmRfbGFwaWNfaXJxICh1bnNpZ25lZCBpbnQgaSkgeyAvKiBub3RoaW5nICovIH0KLQotc3RhdGljIHN0cnVjdCBod19pbnRlcnJ1cHRfdHlwZSBsYXBpY19pcnFfdHlwZSBfX3JlYWRfbW9zdGx5ID0gewotCS5uYW1lID0gImxvY2FsLUFQSUMiLAotCS50eXBlbmFtZSA9ICJsb2NhbC1BUElDLWVkZ2UiLAotCS5zdGFydHVwID0gTlVMTCwgLyogc3RhcnR1cF9pcnEoKSBub3QgdXNlZCBmb3IgSVJRMCAqLwotCS5zaHV0ZG93biA9IE5VTEwsIC8qIHNodXRkb3duX2lycSgpIG5vdCB1c2VkIGZvciBJUlEwICovCi0JLmVuYWJsZSA9IGVuYWJsZV9sYXBpY19pcnEsCi0JLmRpc2FibGUgPSBkaXNhYmxlX2xhcGljX2lycSwKLQkuYWNrID0gYWNrX2xhcGljX2lycSwKLQkuZW5kID0gZW5kX2xhcGljX2lycSwKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgbGFwaWNfY2hpcCBfX3JlYWRfbW9zdGx5ID0geworCS5uYW1lCQk9ICJsb2NhbC1BUElDIiwKKwkubWFzawkJPSBtYXNrX2xhcGljX2lycSwKKwkudW5tYXNrCQk9IHVubWFza19sYXBpY19pcnEsCisJLmFjawkJPSBhY2tfbGFwaWNfaXJxLAogfTsKIAorc3RhdGljIHZvaWQgbGFwaWNfcmVnaXN0ZXJfaW50cihpbnQgaXJxKQoreworCWlycV9kZXNjW2lycV0uc3RhdHVzICY9IH5JUlFfTEVWRUw7CisJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaXJxLCAmbGFwaWNfY2hpcCwgaGFuZGxlX2VkZ2VfaXJxLAorCQkJCSAgICAgICJlZGdlIik7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ubWkodm9pZCkKIHsKIAkvKgpAQCAtMTY1OSw2ICsxNjc0LDcgQEAKIAlzdHJ1Y3QgaXJxX2NmZyAqY2ZnID0gaXJxX2NmZyArIDA7CiAJaW50IGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCBub19waW4xID0gMDsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIApAQCAtMTY2OSwxNiArMTY4NSwxMSBAQAogCWFzc2lnbl9pcnFfdmVjdG9yKDAsIFRBUkdFVF9DUFVTKTsKIAogCS8qCi0JICogU3VidGxlLCBjb2RlIGluIGRvX3RpbWVyX2ludGVycnVwdCgpIGV4cGVjdHMgYW4gQUVPSQotCSAqIG1vZGUgZm9yIHRoZSA4MjU5QSB3aGVuZXZlciBpbnRlcnJ1cHRzIGFyZSByb3V0ZWQKLQkgKiB0aHJvdWdoIEkvTyBBUElDcy4gIEFsc28gSVJRMCBoYXMgdG8gYmUgZW5hYmxlZCBpbgotCSAqIHRoZSA4MjU5QSB3aGljaCBpbXBsaWVzIHRoZSB2aXJ0dWFsIHdpcmUgaGFzIHRvIGJlCi0JICogZGlzYWJsZWQgaW4gdGhlIGxvY2FsIEFQSUMuCisJICogQXMgSVJRMCBpcyB0byBiZSBlbmFibGVkIGluIHRoZSA4MjU5QSwgdGhlIHZpcnR1YWwKKwkgKiB3aXJlIGhhcyB0byBiZSBkaXNhYmxlZCBpbiB0aGUgbG9jYWwgQVBJQy4KIAkgKi8KIAlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9FWFRJTlQpOwogCWluaXRfODI1OUEoMSk7Ci0JaWYgKHRpbWVyX292ZXJfODI1NCA+IDApCi0JCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAKIAlwaW4xICA9IGZpbmRfaXNhX2lycV9waW4oMCwgbXBfSU5UKTsKIAlhcGljMSA9IGZpbmRfaXNhX2lycV9hcGljKDAsIG1wX0lOVCk7CkBAIC0xNjg4LDE1ICsxNjk5LDMzIEBACiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLEtFUk5fSU5GTyAiLi5USU1FUjogdmVjdG9yPTB4JTAyWCBhcGljMT0lZCBwaW4xPSVkIGFwaWMyPSVkIHBpbjI9JWRcbiIsCiAJCWNmZy0+dmVjdG9yLCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjIpOwogCisJLyoKKwkgKiBTb21lIEJJT1Mgd3JpdGVycyBhcmUgY2x1ZWxlc3MgYW5kIHJlcG9ydCB0aGUgRXh0SU5UQQorCSAqIEkvTyBBUElDIGlucHV0IGZyb20gdGhlIGNhc2NhZGVkIDgyNTlBIGFzIHRoZSB0aW1lcgorCSAqIGludGVycnVwdCBpbnB1dC4gIFNvIGp1c3QgaW4gY2FzZSwgaWYgb25seSBvbmUgcGluCisJICogd2FzIGZvdW5kIGFib3ZlLCB0cnkgaXQgYm90aCBkaXJlY3RseSBhbmQgdGhyb3VnaCB0aGUKKwkgKiA4MjU5QS4KKwkgKi8KKwlpZiAocGluMSA9PSAtMSkgeworCQlwaW4xID0gcGluMjsKKwkJYXBpYzEgPSBhcGljMjsKKwkJbm9fcGluMSA9IDE7CisJfSBlbHNlIGlmIChwaW4yID09IC0xKSB7CisJCXBpbjIgPSBwaW4xOworCQlhcGljMiA9IGFwaWMxOworCX0KKwogCWlmIChwaW4xICE9IC0xKSB7CiAJCS8qCiAJCSAqIE9rLCBkb2VzIElSUTAgdGhyb3VnaCB0aGUgSU9BUElDIHdvcms/CiAJCSAqLworCQlpZiAobm9fcGluMSkgeworCQkJYWRkX3Bpbl90b19pcnEoMCwgYXBpYzEsIHBpbjEpOworCQkJc2V0dXBfdGltZXJfSVJRMF9waW4oYXBpYzEsIHBpbjEsIGNmZy0+dmVjdG9yKTsKKwkJfQogCQl1bm1hc2tfSU9fQVBJQ19pcnEoMCk7CiAJCWlmICghbm9fdGltZXJfY2hlY2sgJiYgdGltZXJfaXJxX3dvcmtzKCkpIHsKLQkJCW5taV93YXRjaGRvZ19kZWZhdWx0KCk7CiAJCQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7Ci0JCQkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCQkJc2V0dXBfbm1pKCk7CiAJCQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJCX0KQEAgLTE3MDUsNDMgKzE3MzQsNDggQEAKIAkJCWdvdG8gb3V0OwogCQl9CiAJCWNsZWFyX0lPX0FQSUNfcGluKGFwaWMxLCBwaW4xKTsKLQkJYXBpY19wcmludGsoQVBJQ19RVUlFVCxLRVJOX0VSUiAiLi5NUC1CSU9TIGJ1ZzogODI1NCB0aW1lciBub3QgIgotCQkJCSJjb25uZWN0ZWQgdG8gSU8tQVBJQ1xuIik7Ci0JfQorCQlpZiAoIW5vX3BpbjEpCisJCQlhcGljX3ByaW50ayhBUElDX1FVSUVULEtFUk5fRVJSICIuLk1QLUJJT1MgYnVnOiAiCisJCQkJICAgICI4MjU0IHRpbWVyIG5vdCBjb25uZWN0ZWQgdG8gSU8tQVBJQ1xuIik7CiAKLQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIChJUlEwKSAiCi0JCQkJInRocm91Z2ggdGhlIDgyNTlBIC4uLiAiKTsKLQlpZiAocGluMiAhPSAtMSkgeworCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsS0VSTl9JTkZPCisJCQkiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciAoSVJRMCkgIgorCQkJInRocm91Z2ggdGhlIDgyNTlBIC4uLiAiKTsKIAkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCJcbi4uLi4uIChmb3VuZCBhcGljICVkIHBpbiAlZCkgLi4uIiwKIAkJCWFwaWMyLCBwaW4yKTsKIAkJLyoKIAkJICogbGVnYWN5IGRldmljZXMgc2hvdWxkIGJlIGNvbm5lY3RlZCB0byBJTyBBUElDICMwCiAJCSAqLwotCQlzZXR1cF9FeHRJTlRfSVJRMF9waW4oYXBpYzIsIHBpbjIsIGNmZy0+dmVjdG9yKTsKKwkJcmVwbGFjZV9waW5fYXRfaXJxKDAsIGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMik7CisJCXNldHVwX3RpbWVyX0lSUTBfcGluKGFwaWMyLCBwaW4yLCBjZmctPnZlY3Rvcik7CisJCXVubWFza19JT19BUElDX2lycSgwKTsKKwkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJaWYgKHRpbWVyX2lycV93b3JrcygpKSB7CiAJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiB3b3Jrcy5cbiIpOwotCQkJbm1pX3dhdGNoZG9nX2RlZmF1bHQoKTsKKwkJCXRpbWVyX3Rocm91Z2hfODI1OSA9IDE7CiAJCQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7CisJCQkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCQkJc2V0dXBfbm1pKCk7CisJCQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJCX0KIAkJCWdvdG8gb3V0OwogCQl9CiAJCS8qCiAJCSAqIENsZWFudXAsIGp1c3QgaW4gY2FzZSAuLi4KIAkJICovCisJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQljbGVhcl9JT19BUElDX3BpbihhcGljMiwgcGluMik7CisJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiIGZhaWxlZC5cbiIpOwogCX0KLQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiBmYWlsZWQuXG4iKTsKIAogCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAidGltZXIgZG9lc24ndCB3b3JrIHRocm91Z2ggdGhlIElPLUFQSUMgLSBkaXNhYmxpbmcgTk1JIFdhdGNoZG9nIVxuIik7Ci0JCW5taV93YXRjaGRvZyA9IDA7CisJCW5taV93YXRjaGRvZyA9IE5NSV9OT05FOwogCX0KIAogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIGFzIFZpcnR1YWwgV2lyZSBJUlEuLi4iKTsKIAotCWRpc2FibGVfODI1OUFfaXJxKDApOwotCWlycV9kZXNjWzBdLmNoaXAgPSAmbGFwaWNfaXJxX3R5cGU7CisJbGFwaWNfcmVnaXN0ZXJfaW50cigwKTsKIAlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19ETV9GSVhFRCB8IGNmZy0+dmVjdG9yKTsJLyogRml4ZWQgbW9kZSAqLwogCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAKQEAgLTE3NDksNiArMTc4Myw3IEBACiAJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiIHdvcmtzLlxuIik7CiAJCWdvdG8gb3V0OwogCX0KKwlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9GSVhFRCB8IGNmZy0+dmVjdG9yKTsKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiBmYWlsZWQuXG4iKTsKIApAQCAtMTc3OCwxMSArMTgxMywyMSBAQAogX19zZXR1cCgibm9fdGltZXJfY2hlY2siLCBub3RpbWVyY2hlY2spOwogCiAvKgotICoKLSAqIElSUXMgdGhhdCBhcmUgaGFuZGxlZCBieSB0aGUgUElDIGluIHRoZSBNUFMgSU9BUElDIGNhc2UuCi0gKiAtIElSUTIgaXMgdGhlIGNhc2NhZGUgSVJRLCBhbmQgY2Fubm90IGJlIGEgaW8tYXBpYyBJUlEuCi0gKiAgIExpbnV4IGRvZXNuJ3QgcmVhbGx5IGNhcmUsIGFzIGl0J3Mgbm90IGFjdHVhbGx5IHVzZWQKLSAqICAgZm9yIGFueSBpbnRlcnJ1cHQgaGFuZGxpbmcgYW55d2F5LgorICogVHJhZGl0aW9uYWxseSBJU0EgSVJRMiBpcyB0aGUgY2FzY2FkZSBJUlEsIGFuZCBpcyBub3QgYXZhaWxhYmxlCisgKiB0byBkZXZpY2VzLiAgSG93ZXZlciB0aGVyZSBtYXkgYmUgYW4gSS9PIEFQSUMgcGluIGF2YWlsYWJsZSBmb3IKKyAqIHRoaXMgaW50ZXJydXB0IHJlZ2FyZGxlc3MuICBUaGUgcGluIG1heSBiZSBsZWZ0IHVuY29ubmVjdGVkLCBidXQKKyAqIHR5cGljYWxseSBpdCB3aWxsIGJlIHJldXNlZCBhcyBhbiBFeHRJTlQgY2FzY2FkZSBpbnRlcnJ1cHQgZm9yCisgKiB0aGUgbWFzdGVyIDgyNTlBLiAgSW4gdGhlIE1QUyBjYXNlIHN1Y2ggYSBwaW4gd2lsbCBub3JtYWxseSBiZQorICogcmVwb3J0ZWQgYXMgYW4gRXh0SU5UIGludGVycnVwdCBpbiB0aGUgTVAgdGFibGUuICBXaXRoIEFDUEkKKyAqIHRoZXJlIGlzIG5vIHByb3Zpc2lvbiBmb3IgRXh0SU5UIGludGVycnVwdHMsIGFuZCBpbiB0aGUgYWJzZW5jZQorICogb2YgYW4gb3ZlcnJpZGUgaXQgd291bGQgYmUgdHJlYXRlZCBhcyBhbiBvcmRpbmFyeSBJU0EgSS9PIEFQSUMKKyAqIGludGVycnVwdCwgdGhhdCBpcyBlZGdlLXRyaWdnZXJlZCBhbmQgdW5tYXNrZWQgYnkgZGVmYXVsdC4gIFdlCisgKiB1c2VkIHRvIGRvIHRoaXMsIGJ1dCBpdCBjYXVzZWQgcHJvYmxlbXMgb24gc29tZSBzeXN0ZW1zIGJlY2F1c2UKKyAqIG9mIHRoZSBOTUkgd2F0Y2hkb2cgYW5kIHNvbWV0aW1lcyBJUlEwIG9mIHRoZSA4MjU0IHRpbWVyIHVzaW5nCisgKiB0aGUgc2FtZSBFeHRJTlQgY2FzY2FkZSBpbnRlcnJ1cHQgdG8gZHJpdmUgdGhlIGxvY2FsIEFQSUMgb2YgdGhlCisgKiBib290c3RyYXAgcHJvY2Vzc29yLiAgVGhlcmVmb3JlIHdlIHJlZnJhaW4gZnJvbSByb3V0aW5nIElSUTIgdG8KKyAqIHRoZSBJL08gQVBJQyBpbiBhbGwgY2FzZXMgbm93LiAgTm8gYWN0dWFsIGRldmljZSBzaG91bGQgcmVxdWVzdAorICogaXQgYW55d2F5LiAgLS1tYWNybwogICovCiAjZGVmaW5lIFBJQ19JUlFTCSgxPDwyKQogCkBAIC0xNzkzLDEwICsxODM4LDcgQEAKIAkgKiBjYWxsaW5nIGVuYWJsZV9JT19BUElDKCkgaXMgbW92ZWQgdG8gc2V0dXBfbG9jYWxfQVBJQyBmb3IgQlAKIAkgKi8KIAotCWlmIChhY3BpX2lvYXBpYykKLQkJaW9fYXBpY19pcnFzID0gfjA7CS8qIGFsbCBJUlFzIGdvIHRocm91Z2ggSU9BUElDICovCi0JZWxzZQotCQlpb19hcGljX2lycXMgPSB+UElDX0lSUVM7CisJaW9fYXBpY19pcnFzID0gflBJQ19JUlFTOwogCiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiRU5BQkxJTkcgSU8tQVBJQyBJUlFzXG4iKTsKIApAQCAtMTg0MSw4ICsxODgzLDggQEAKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCXJlZ18wMC5yYXcgPSBpb19hcGljX3JlYWQoZGV2LT5pZCwgMCk7Ci0JaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBjX2FwaWNpZCkgewotCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBjX2FwaWNpZDsKKwlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcF9hcGljaWQpIHsKKwkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wX2FwaWNpZDsKIAkJaW9fYXBpY193cml0ZShkZXYtPmlkLCAwLCByZWdfMDAucmF3KTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKQEAgLTIyNDIsOCArMjI4NCw4IEBACiAJCXJldHVybiAtMTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQlpZiAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSBtcF9JTlQgJiYKLQkJICAgIG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA9PSBidXNfaXJxKQorCQlpZiAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IG1wX0lOVCAmJgorCQkgICAgbXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gYnVzX2lycSkKIAkJCWJyZWFrOwogCWlmIChpID49IG1wX2lycV9lbnRyaWVzKQogCQlyZXR1cm4gLTE7CkBAIC0yMzM2LDcgKzIzNzgsNyBAQAogCWlvYXBpY19yZXMgPSBpb2FwaWNfc2V0dXBfcmVzb3VyY2VzKCk7CiAJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgewogCQlpZiAoc21wX2ZvdW5kX2NvbmZpZykgewotCQkJaW9hcGljX3BoeXMgPSBtcF9pb2FwaWNzW2ldLm1wY19hcGljYWRkcjsKKwkJCWlvYXBpY19waHlzID0gbXBfaW9hcGljc1tpXS5tcF9hcGljYWRkcjsKIAkJfSBlbHNlIHsKIAkJCWlvYXBpY19waHlzID0gKHVuc2lnbmVkIGxvbmcpCiAJCQkJYWxsb2NfYm9vdG1lbV9wYWdlcyhQQUdFX1NJWkUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lwaS5jIGIvYXJjaC94ODYva2VybmVsL2lwaS5jCmluZGV4IGMwZGY3YjguLjlkOThjZGEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pcGkuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXBpLmMKQEAgLTgsNyArOCw2IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgogI2luY2x1ZGUgPGxpbnV4L2NhY2hlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcnFfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfMzIuYwppbmRleCAxNDczNTJkLi40N2E2ZjZmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lycV8zMi5jCkBAIC00OCw2ICs0OCwyOSBAQAogI2VuZGlmCiB9CiAKKyNpZmRlZiBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVworLyogRGVidWdnaW5nIGNoZWNrIGZvciBzdGFjayBvdmVyZmxvdzogaXMgdGhlcmUgbGVzcyB0aGFuIDFLQiBmcmVlPyAqLworc3RhdGljIGludCBjaGVja19zdGFja19vdmVyZmxvdyh2b2lkKQoreworCWxvbmcgc3A7CisKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXygiYW5kbCAlJWVzcCwlMCIgOgorCQkJICAgICAiPXIiIChzcCkgOiAiMCIgKFRIUkVBRF9TSVpFIC0gMSkpOworCisJcmV0dXJuIHNwIDwgKHNpemVvZihzdHJ1Y3QgdGhyZWFkX2luZm8pICsgU1RBQ0tfV0FSTik7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X3N0YWNrX292ZXJmbG93KHZvaWQpCit7CisJcHJpbnRrKEtFUk5fV0FSTklORyAibG93IHN0YWNrIGRldGVjdGVkIGJ5IGlycSBoYW5kbGVyXG4iKTsKKwlkdW1wX3N0YWNrKCk7Cit9CisKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBjaGVja19zdGFja19vdmVyZmxvdyh2b2lkKSB7IHJldHVybiAwOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRfc3RhY2tfb3ZlcmZsb3codm9pZCkgeyB9CisjZW5kaWYKKwogI2lmZGVmIENPTkZJR180S1NUQUNLUwogLyoKICAqIHBlci1DUFUgSVJRIGhhbmRsaW5nIGNvbnRleHRzICh0aHJlYWQgaW5mb3JtYXRpb24gYW5kIHN0YWNrKQpAQCAtNTksNDggKzgyLDI5IEBACiAKIHN0YXRpYyB1bmlvbiBpcnFfY3R4ICpoYXJkaXJxX2N0eFtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5Owogc3RhdGljIHVuaW9uIGlycV9jdHggKnNvZnRpcnFfY3R4W05SX0NQVVNdIF9fcmVhZF9tb3N0bHk7Ci0jZW5kaWYKIAotLyoKLSAqIGRvX0lSUSBoYW5kbGVzIGFsbCBub3JtYWwgZGV2aWNlIElSUSdzICh0aGUgc3BlY2lhbAotICogU01QIGNyb3NzLUNQVSBpbnRlcnJ1cHRzIGhhdmUgdGhlaXIgb3duIHNwZWNpZmljCi0gKiBoYW5kbGVycykuCi0gKi8KLXVuc2lnbmVkIGludCBkb19JUlEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCi17CQotCXN0cnVjdCBwdF9yZWdzICpvbGRfcmVnczsKLQkvKiBoaWdoIGJpdCB1c2VkIGluIHJldF9mcm9tXyBjb2RlICovCi0JaW50IGlycSA9IH5yZWdzLT5vcmlnX2F4OwotCXN0cnVjdCBpcnFfZGVzYyAqZGVzYyA9IGlycV9kZXNjICsgaXJxOwotI2lmZGVmIENPTkZJR180S1NUQUNLUworc3RhdGljIGNoYXIgc29mdGlycV9zdGFja1tOUl9DUFVTICogVEhSRUFEX1NJWkVdCisJCV9fYXR0cmlidXRlX18oKF9fc2VjdGlvbl9fKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7CisKK3N0YXRpYyBjaGFyIGhhcmRpcnFfc3RhY2tbTlJfQ1BVUyAqIFRIUkVBRF9TSVpFXQorCQlfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitzdGF0aWMgdm9pZCBjYWxsX29uX3N0YWNrKHZvaWQgKmZ1bmMsIHZvaWQgKnN0YWNrKQoreworCWFzbSB2b2xhdGlsZSgieGNoZ2wJJSVlYngsJSVlc3AJXG4iCisJCSAgICAgImNhbGwJKiUlZWRpCQlcbiIKKwkJICAgICAibW92bAklJWVieCwlJWVzcAlcbiIKKwkJICAgICA6ICI9YiIgKHN0YWNrKQorCQkgICAgIDogIjAiIChzdGFjayksCisJCSAgICAgICAiRCIoZnVuYykKKwkJICAgICA6ICJtZW1vcnkiLCAiY2MiLCAiZWR4IiwgImVjeCIsICJlYXgiKTsKK30KKworc3RhdGljIGlubGluZSBpbnQKK2V4ZWN1dGVfb25faXJxX3N0YWNrKGludCBvdmVyZmxvdywgc3RydWN0IGlycV9kZXNjICpkZXNjLCBpbnQgaXJxKQorewogCXVuaW9uIGlycV9jdHggKmN1cmN0eCwgKmlycWN0eDsKLQl1MzIgKmlzcDsKLSNlbmRpZgotCi0JaWYgKHVubGlrZWx5KCh1bnNpZ25lZClpcnEgPj0gTlJfSVJRUykpIHsKLQkJcHJpbnRrKEtFUk5fRU1FUkcgIiVzOiBjYW5ub3QgaGFuZGxlIElSUSAlZFxuIiwKLQkJCQkJX19mdW5jX18sIGlycSk7Ci0JCUJVRygpOwotCX0KLQotCW9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOwotCWlycV9lbnRlcigpOwotI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XCi0JLyogRGVidWdnaW5nIGNoZWNrIGZvciBzdGFjayBvdmVyZmxvdzogaXMgdGhlcmUgbGVzcyB0aGFuIDFLQiBmcmVlPyAqLwotCXsKLQkJbG9uZyBzcDsKLQotCQlfX2FzbV9fIF9fdm9sYXRpbGVfXygiYW5kbCAlJWVzcCwlMCIgOgotCQkJCQkiPXIiIChzcCkgOiAiMCIgKFRIUkVBRF9TSVpFIC0gMSkpOwotCQlpZiAodW5saWtlbHkoc3AgPCAoc2l6ZW9mKHN0cnVjdCB0aHJlYWRfaW5mbykgKyBTVEFDS19XQVJOKSkpIHsKLQkJCXByaW50aygiZG9fSVJROiBzdGFjayBvdmVyZmxvdzogJWxkXG4iLAotCQkJCXNwIC0gc2l6ZW9mKHN0cnVjdCB0aHJlYWRfaW5mbykpOwotCQkJZHVtcF9zdGFjaygpOwotCQl9Ci0JfQotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKKwl1MzIgKmlzcCwgYXJnMSwgYXJnMjsKIAogCWN1cmN0eCA9ICh1bmlvbiBpcnFfY3R4ICopIGN1cnJlbnRfdGhyZWFkX2luZm8oKTsKIAlpcnFjdHggPSBoYXJkaXJxX2N0eFtzbXBfcHJvY2Vzc29yX2lkKCldOwpAQCAtMTExLDUyICsxMTUsMzkgQEAKIAkgKiBoYW5kbGVyKSB3ZSBjYW4ndCBkbyB0aGF0IGFuZCBqdXN0IGhhdmUgdG8ga2VlcCB1c2luZyB0aGUKIAkgKiBjdXJyZW50IHN0YWNrICh3aGljaCBpcyB0aGUgaXJxIHN0YWNrIGFscmVhZHkgYWZ0ZXIgYWxsKQogCSAqLwotCWlmIChjdXJjdHggIT0gaXJxY3R4KSB7Ci0JCWludCBhcmcxLCBhcmcyLCBieDsKKwlpZiAodW5saWtlbHkoY3VyY3R4ID09IGlycWN0eCkpCisJCXJldHVybiAwOwogCi0JCS8qIGJ1aWxkIHRoZSBzdGFjayBmcmFtZSBvbiB0aGUgSVJRIHN0YWNrICovCi0JCWlzcCA9ICh1MzIqKSAoKGNoYXIqKWlycWN0eCArIHNpemVvZigqaXJxY3R4KSk7Ci0JCWlycWN0eC0+dGluZm8udGFzayA9IGN1cmN0eC0+dGluZm8udGFzazsKLQkJaXJxY3R4LT50aW5mby5wcmV2aW91c19lc3AgPSBjdXJyZW50X3N0YWNrX3BvaW50ZXI7CisJLyogYnVpbGQgdGhlIHN0YWNrIGZyYW1lIG9uIHRoZSBJUlEgc3RhY2sgKi8KKwlpc3AgPSAodTMyICopICgoY2hhciopaXJxY3R4ICsgc2l6ZW9mKCppcnFjdHgpKTsKKwlpcnFjdHgtPnRpbmZvLnRhc2sgPSBjdXJjdHgtPnRpbmZvLnRhc2s7CisJaXJxY3R4LT50aW5mby5wcmV2aW91c19lc3AgPSBjdXJyZW50X3N0YWNrX3BvaW50ZXI7CiAKLQkJLyoKLQkJICogQ29weSB0aGUgc29mdGlycSBiaXRzIGluIHByZWVtcHRfY291bnQgc28gdGhhdCB0aGUKLQkJICogc29mdGlycSBjaGVja3Mgd29yayBpbiB0aGUgaGFyZGlycSBjb250ZXh0LgotCQkgKi8KLQkJaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ID0KLQkJCShpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgJiB+U09GVElSUV9NQVNLKSB8Ci0JCQkoY3VyY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICYgU09GVElSUV9NQVNLKTsKKwkvKgorCSAqIENvcHkgdGhlIHNvZnRpcnEgYml0cyBpbiBwcmVlbXB0X2NvdW50IHNvIHRoYXQgdGhlCisJICogc29mdGlycSBjaGVja3Mgd29yayBpbiB0aGUgaGFyZGlycSBjb250ZXh0LgorCSAqLworCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCA9CisJCShpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgJiB+U09GVElSUV9NQVNLKSB8CisJCShjdXJjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgJiBTT0ZUSVJRX01BU0spOwogCi0JCWFzbSB2b2xhdGlsZSgKLQkJCSIgICAgICAgeGNoZ2wgICUlZWJ4LCUlZXNwICAgIFxuIgotCQkJIiAgICAgICBjYWxsICAgKiUlZWRpICAgICAgICAgXG4iCi0JCQkiICAgICAgIG1vdmwgICAlJWVieCwlJWVzcCAgICBcbiIKLQkJCTogIj1hIiAoYXJnMSksICI9ZCIgKGFyZzIpLCAiPWIiIChieCkKLQkJCTogICIwIiAoaXJxKSwgICAiMSIgKGRlc2MpLCAgIjIiIChpc3ApLAotCQkJICAgIkQiIChkZXNjLT5oYW5kbGVfaXJxKQotCQkJOiAibWVtb3J5IiwgImNjIiwgImVjeCIKLQkJKTsKLQl9IGVsc2UKLSNlbmRpZgotCQlkZXNjLT5oYW5kbGVfaXJxKGlycSwgZGVzYyk7CisJaWYgKHVubGlrZWx5KG92ZXJmbG93KSkKKwkJY2FsbF9vbl9zdGFjayhwcmludF9zdGFja19vdmVyZmxvdywgaXNwKTsKIAotCWlycV9leGl0KCk7Ci0Jc2V0X2lycV9yZWdzKG9sZF9yZWdzKTsKKwlhc20gdm9sYXRpbGUoInhjaGdsCSUlZWJ4LCUlZXNwCVxuIgorCQkgICAgICJjYWxsCSolJWVkaQkJXG4iCisJCSAgICAgIm1vdmwJJSVlYngsJSVlc3AJXG4iCisJCSAgICAgOiAiPWEiIChhcmcxKSwgIj1kIiAoYXJnMiksICI9YiIgKGlzcCkKKwkJICAgICA6ICAiMCIgKGlycSksICAgIjEiIChkZXNjKSwgICIyIiAoaXNwKSwKKwkJCSJEIiAoZGVzYy0+aGFuZGxlX2lycSkKKwkJICAgICA6ICJtZW1vcnkiLCAiY2MiLCAiZWN4Iik7CiAJcmV0dXJuIDE7CiB9CiAKLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKLQotc3RhdGljIGNoYXIgc29mdGlycV9zdGFja1tOUl9DUFVTICogVEhSRUFEX1NJWkVdCi0JCV9fYXR0cmlidXRlX18oKF9fc2VjdGlvbl9fKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7Ci0KLXN0YXRpYyBjaGFyIGhhcmRpcnFfc3RhY2tbTlJfQ1BVUyAqIFRIUkVBRF9TSVpFXQotCQlfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmJzcy5wYWdlX2FsaWduZWQiKSkpOwotCiAvKgogICogYWxsb2NhdGUgcGVyLWNwdSBzdGFja3MgZm9yIGhhcmRpcnEgYW5kIGZvciBzb2Z0aXJxIHByb2Nlc3NpbmcKICAqLwotdm9pZCBpcnFfY3R4X2luaXQoaW50IGNwdSkKK3ZvaWQgX19jcHVpbml0IGlycV9jdHhfaW5pdChpbnQgY3B1KQogewogCXVuaW9uIGlycV9jdHggKmlycWN0eDsKIApAQCAtMTY0LDI1ICsxNTUsMjUgQEAKIAkJcmV0dXJuOwogCiAJaXJxY3R4ID0gKHVuaW9uIGlycV9jdHgqKSAmaGFyZGlycV9zdGFja1tjcHUqVEhSRUFEX1NJWkVdOwotCWlycWN0eC0+dGluZm8udGFzayAgICAgICAgICAgICAgPSBOVUxMOwotCWlycWN0eC0+dGluZm8uZXhlY19kb21haW4gICAgICAgPSBOVUxMOwotCWlycWN0eC0+dGluZm8uY3B1ICAgICAgICAgICAgICAgPSBjcHU7Ci0JaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICAgICA9IEhBUkRJUlFfT0ZGU0VUOwotCWlycWN0eC0+dGluZm8uYWRkcl9saW1pdCAgICAgICAgPSBNQUtFX01NX1NFRygwKTsKKwlpcnFjdHgtPnRpbmZvLnRhc2sJCT0gTlVMTDsKKwlpcnFjdHgtPnRpbmZvLmV4ZWNfZG9tYWluCT0gTlVMTDsKKwlpcnFjdHgtPnRpbmZvLmNwdQkJPSBjcHU7CisJaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50CT0gSEFSRElSUV9PRkZTRVQ7CisJaXJxY3R4LT50aW5mby5hZGRyX2xpbWl0CT0gTUFLRV9NTV9TRUcoMCk7CiAKIAloYXJkaXJxX2N0eFtjcHVdID0gaXJxY3R4OwogCiAJaXJxY3R4ID0gKHVuaW9uIGlycV9jdHgqKSAmc29mdGlycV9zdGFja1tjcHUqVEhSRUFEX1NJWkVdOwotCWlycWN0eC0+dGluZm8udGFzayAgICAgICAgICAgICAgPSBOVUxMOwotCWlycWN0eC0+dGluZm8uZXhlY19kb21haW4gICAgICAgPSBOVUxMOwotCWlycWN0eC0+dGluZm8uY3B1ICAgICAgICAgICAgICAgPSBjcHU7Ci0JaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICAgICA9IDA7Ci0JaXJxY3R4LT50aW5mby5hZGRyX2xpbWl0ICAgICAgICA9IE1BS0VfTU1fU0VHKDApOworCWlycWN0eC0+dGluZm8udGFzawkJPSBOVUxMOworCWlycWN0eC0+dGluZm8uZXhlY19kb21haW4JPSBOVUxMOworCWlycWN0eC0+dGluZm8uY3B1CQk9IGNwdTsKKwlpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQJPSAwOworCWlycWN0eC0+dGluZm8uYWRkcl9saW1pdAk9IE1BS0VfTU1fU0VHKDApOwogCiAJc29mdGlycV9jdHhbY3B1XSA9IGlycWN0eDsKIAotCXByaW50aygiQ1BVICV1IGlycXN0YWNrcywgaGFyZD0lcCBzb2Z0PSVwXG4iLAotCQljcHUsaGFyZGlycV9jdHhbY3B1XSxzb2Z0aXJxX2N0eFtjcHVdKTsKKwlwcmludGsoS0VSTl9ERUJVRyAiQ1BVICV1IGlycXN0YWNrcywgaGFyZD0lcCBzb2Z0PSVwXG4iLAorCSAgICAgICBjcHUsaGFyZGlycV9jdHhbY3B1XSxzb2Z0aXJxX2N0eFtjcHVdKTsKIH0KIAogdm9pZCBpcnFfY3R4X2V4aXQoaW50IGNwdSkKQEAgLTIxMSwyNSArMjAyLDU2IEBACiAJCS8qIGJ1aWxkIHRoZSBzdGFjayBmcmFtZSBvbiB0aGUgc29mdGlycSBzdGFjayAqLwogCQlpc3AgPSAodTMyKikgKChjaGFyKilpcnFjdHggKyBzaXplb2YoKmlycWN0eCkpOwogCi0JCWFzbSB2b2xhdGlsZSgKLQkJCSIgICAgICAgeGNoZ2wgICAlJWVieCwlJWVzcCAgICAgXG4iCi0JCQkiICAgICAgIGNhbGwgICAgX19kb19zb2Z0aXJxICAgIFxuIgotCQkJIiAgICAgICBtb3ZsICAgICUlZWJ4LCUlZXNwICAgICBcbiIKLQkJCTogIj1iIihpc3ApCi0JCQk6ICIwIihpc3ApCi0JCQk6ICJtZW1vcnkiLCAiY2MiLCAiZWR4IiwgImVjeCIsICJlYXgiCi0JCSk7CisJCWNhbGxfb25fc3RhY2soX19kb19zb2Z0aXJxLCBpc3ApOwogCQkvKgogCQkgKiBTaG91bGRudCBoYXBwZW4sIHdlIHJldHVybmVkIGFib3ZlIGlmIGluX2ludGVycnVwdCgpOgotCSAJICovCisJCSAqLwogCQlXQVJOX09OX09OQ0Uoc29mdGlycV9jb3VudCgpKTsKIAl9CiAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CisKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludAorZXhlY3V0ZV9vbl9pcnFfc3RhY2soaW50IG92ZXJmbG93LCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MsIGludCBpcnEpIHsgcmV0dXJuIDA7IH0KICNlbmRpZgogCiAvKgorICogZG9fSVJRIGhhbmRsZXMgYWxsIG5vcm1hbCBkZXZpY2UgSVJRJ3MgKHRoZSBzcGVjaWFsCisgKiBTTVAgY3Jvc3MtQ1BVIGludGVycnVwdHMgaGF2ZSB0aGVpciBvd24gc3BlY2lmaWMKKyAqIGhhbmRsZXJzKS4KKyAqLwordW5zaWduZWQgaW50IGRvX0lSUShzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlzdHJ1Y3QgcHRfcmVncyAqb2xkX3JlZ3M7CisJLyogaGlnaCBiaXQgdXNlZCBpbiByZXRfZnJvbV8gY29kZSAqLworCWludCBvdmVyZmxvdywgaXJxID0gfnJlZ3MtPm9yaWdfYXg7CisJc3RydWN0IGlycV9kZXNjICpkZXNjID0gaXJxX2Rlc2MgKyBpcnE7CisKKwlpZiAodW5saWtlbHkoKHVuc2lnbmVkKWlycSA+PSBOUl9JUlFTKSkgeworCQlwcmludGsoS0VSTl9FTUVSRyAiJXM6IGNhbm5vdCBoYW5kbGUgSVJRICVkXG4iLAorCQkJCQlfX2Z1bmNfXywgaXJxKTsKKwkJQlVHKCk7CisJfQorCisJb2xkX3JlZ3MgPSBzZXRfaXJxX3JlZ3MocmVncyk7CisJaXJxX2VudGVyKCk7CisKKwlvdmVyZmxvdyA9IGNoZWNrX3N0YWNrX292ZXJmbG93KCk7CisKKwlpZiAoIWV4ZWN1dGVfb25faXJxX3N0YWNrKG92ZXJmbG93LCBkZXNjLCBpcnEpKSB7CisJCWlmICh1bmxpa2VseShvdmVyZmxvdykpCisJCQlwcmludF9zdGFja19vdmVyZmxvdygpOworCQlkZXNjLT5oYW5kbGVfaXJxKGlycSwgZGVzYyk7CisJfQorCisJaXJxX2V4aXQoKTsKKwlzZXRfaXJxX3JlZ3Mob2xkX3JlZ3MpOworCXJldHVybiAxOworfQorCisvKgogICogSW50ZXJydXB0IHN0YXRpc3RpY3M6CiAgKi8KIApAQCAtMzEzLDE2ICszMzUsMjAgQEAKIAkJCQlwZXJfY3B1KGlycV9zdGF0LGopLmlycV90bGJfY291bnQpOwogCQlzZXFfcHJpbnRmKHAsICIgIFRMQiBzaG9vdGRvd25zXG4iKTsKICNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTUNFCiAJCXNlcV9wcmludGYocCwgIlRSTTogIik7CiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaikKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwKIAkJCQlwZXJfY3B1KGlycV9zdGF0LGopLmlycV90aGVybWFsX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBUaGVybWFsIGV2ZW50IGludGVycnVwdHNcbiIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCXNlcV9wcmludGYocCwgIlNQVTogIik7CiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaikKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwKIAkJCQlwZXJfY3B1KGlycV9zdGF0LGopLmlycV9zcHVyaW91c19jb3VudCk7CiAJCXNlcV9wcmludGYocCwgIiAgU3B1cmlvdXMgaW50ZXJydXB0c1xuIik7CisjZW5kaWYKIAkJc2VxX3ByaW50ZihwLCAiRVJSOiAlMTB1XG4iLCBhdG9taWNfcmVhZCgmaXJxX2Vycl9jb3VudCkpOwogI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9JT19BUElDKQogCQlzZXFfcHJpbnRmKHAsICJNSVM6ICUxMHVcbiIsIGF0b21pY19yZWFkKCZpcnFfbWlzX2NvdW50KSk7CkBAIC0zMzEsNiArMzU3LDQwIEBACiAJcmV0dXJuIDA7CiB9CiAKKy8qCisgKiAvcHJvYy9zdGF0IGhlbHBlcnMKKyAqLwordTY0IGFyY2hfaXJxX3N0YXRfY3B1KHVuc2lnbmVkIGludCBjcHUpCit7CisJdTY0IHN1bSA9IG5taV9jb3VudChjcHUpOworCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJc3VtICs9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuYXBpY190aW1lcl9pcnFzOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1NNUAorCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV9yZXNjaGVkX2NvdW50OworCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV9jYWxsX2NvdW50OworCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV90bGJfY291bnQ7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01DRQorCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV90aGVybWFsX2NvdW50OworI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJc3VtICs9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuaXJxX3NwdXJpb3VzX2NvdW50OworI2VuZGlmCisJcmV0dXJuIHN1bTsKK30KKwordTY0IGFyY2hfaXJxX3N0YXQodm9pZCkKK3sKKwl1NjQgc3VtID0gYXRvbWljX3JlYWQoJmlycV9lcnJfY291bnQpOworCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCisJc3VtICs9IGF0b21pY19yZWFkKCZpcnFfbWlzX2NvdW50KTsKKyNlbmRpZgorCXJldHVybiBzdW07Cit9CisKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lycV82NC5jIGIvYXJjaC94ODYva2VybmVsL2lycV82NC5jCmluZGV4IDNhYWMxNTQuLjFmNzhiMjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxXzY0LmMKQEAgLTEzNSw2ICsxMzUsNyBAQAogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLCBjcHVfcGRhKGopLT5pcnFfdGxiX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBUTEIgc2hvb3Rkb3duc1xuIik7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01DRQogCQlzZXFfcHJpbnRmKHAsICJUUk06ICIpOwogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsIGNwdV9wZGEoaiktPmlycV90aGVybWFsX2NvdW50KTsKQEAgLTE0Myw2ICsxNDQsNyBAQAogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsIGNwdV9wZGEoaiktPmlycV90aHJlc2hvbGRfY291bnQpOwogCQlzZXFfcHJpbnRmKHAsICIgIFRocmVzaG9sZCBBUElDIGludGVycnVwdHNcbiIpOworI2VuZGlmCiAJCXNlcV9wcmludGYocCwgIlNQVTogIik7CiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaikKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwgY3B1X3BkYShqKS0+aXJxX3NwdXJpb3VzX2NvdW50KTsKQEAgLTE1Myw2ICsxNTUsMzIgQEAKIH0KIAogLyoKKyAqIC9wcm9jL3N0YXQgaGVscGVycworICovCit1NjQgYXJjaF9pcnFfc3RhdF9jcHUodW5zaWduZWQgaW50IGNwdSkKK3sKKwl1NjQgc3VtID0gY3B1X3BkYShjcHUpLT5fX25taV9jb3VudDsKKworCXN1bSArPSBjcHVfcGRhKGNwdSktPmFwaWNfdGltZXJfaXJxczsKKyNpZmRlZiBDT05GSUdfU01QCisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3Jlc2NoZWRfY291bnQ7CisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX2NhbGxfY291bnQ7CisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3RsYl9jb3VudDsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTUNFCisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3RoZXJtYWxfY291bnQ7CisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3RocmVzaG9sZF9jb3VudDsKKyNlbmRpZgorCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV9zcHVyaW91c19jb3VudDsKKwlyZXR1cm4gc3VtOworfQorCit1NjQgYXJjaF9pcnFfc3RhdCh2b2lkKQoreworCXJldHVybiBhdG9taWNfcmVhZCgmaXJxX2Vycl9jb3VudCk7Cit9CisKKy8qCiAgKiBkb19JUlEgaGFuZGxlcyBhbGwgbm9ybWFsIGRldmljZSBJUlEncyAodGhlIHNwZWNpYWwKICAqIFNNUCBjcm9zcy1DUFUgaW50ZXJydXB0cyBoYXZlIHRoZWlyIG93biBzcGVjaWZpYwogICogaGFuZGxlcnMpLgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lycWluaXRfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY2OTE0MgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzMyLmMKQEAgLTAsMCArMSwxMTQgQEAKKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorCisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vdGltZXIuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9kZWxheS5oPgorI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgorI2luY2x1ZGUgPGFzbS9pODI1OS5oPgorCisKKworLyoKKyAqIE5vdGUgdGhhdCBvbiBhIDQ4Niwgd2UgZG9uJ3Qgd2FudCB0byBkbyBhIFNJR0ZQRSBvbiBhbiBpcnExMworICogYXMgdGhlIGlycSBpcyB1bnJlbGlhYmxlLCBhbmQgZXhjZXB0aW9uIDE2IHdvcmtzIGNvcnJlY3RseQorICogKGllIGFzIGV4cGxhaW5lZCBpbiB0aGUgaW50ZWwgbGl0ZXJhdHVyZSkuIE9uIGEgMzg2LCB5b3UKKyAqIGNhbid0IHVzZSBleGNlcHRpb24gMTYgZHVlIHRvIGJhZCBJQk0gZGVzaWduLCBzbyB3ZSBoYXZlIHRvCisgKiByZWx5IG9uIHRoZSBsZXNzIGV4YWN0IGlycTEzLgorICoKKyAqIENhcmVmdWwuLiBOb3Qgb25seSBpcyBJUlExMyB1bnJlbGlhYmxlLCBidXQgaXQgaXMgYWxzbworICogbGVhZHMgdG8gcmFjZXMuIElCTSBkZXNpZ25lcnMgd2hvIGNhbWUgdXAgd2l0aCBpdCBzaG91bGQKKyAqIGJlIHNob3QuCisgKi8KKyAKKworc3RhdGljIGlycXJldHVybl90IG1hdGhfZXJyb3JfaXJxKGludCBjcGwsIHZvaWQgKmRldl9pZCkKK3sKKwlleHRlcm4gdm9pZCBtYXRoX2Vycm9yKHZvaWQgX191c2VyICopOworCW91dGIoMCwweEYwKTsKKwlpZiAoaWdub3JlX2ZwdV9pcnEgfHwgIWJvb3RfY3B1X2RhdGEuaGFyZF9tYXRoKQorCQlyZXR1cm4gSVJRX05PTkU7CisJbWF0aF9lcnJvcigodm9pZCBfX3VzZXIgKilnZXRfaXJxX3JlZ3MoKS0+aXApOworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworLyoKKyAqIE5ldyBtb3RoZXJib2FyZHMgc29tZXRpbWVzIG1ha2UgSVJRIDEzIGJlIGEgUENJIGludGVycnVwdCwKKyAqIHNvIGFsbG93IGludGVycnVwdCBzaGFyaW5nLgorICovCitzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBmcHVfaXJxID0geworCS5oYW5kbGVyID0gbWF0aF9lcnJvcl9pcnEsCisJLm1hc2sgPSBDUFVfTUFTS19OT05FLAorCS5uYW1lID0gImZwdSIsCit9OworCit2b2lkIF9faW5pdCBpbml0X0lTQV9pcnFzICh2b2lkKQoreworCWludCBpOworCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJaW5pdF9ic3BfQVBJQygpOworI2VuZGlmCisJaW5pdF84MjU5QSgwKTsKKworCS8qCisJICogMTYgb2xkLXN0eWxlIElOVEEtY3ljbGUgaW50ZXJydXB0czoKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykgeworCQlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpLCAmaTgyNTlBX2NoaXAsCisJCQkJCSAgICAgIGhhbmRsZV9sZXZlbF9pcnEsICJYVCIpOworCX0KK30KKworLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jICovCit2b2lkIGluaXRfSVJRKHZvaWQpIF9fYXR0cmlidXRlX18oKHdlYWssIGFsaWFzKCJuYXRpdmVfaW5pdF9JUlEiKSkpOworCit2b2lkIF9faW5pdCBuYXRpdmVfaW5pdF9JUlEodm9pZCkKK3sKKwlpbnQgaTsKKworCS8qIGFsbCB0aGUgc2V0IHVwIGJlZm9yZSB0aGUgY2FsbCBnYXRlcyBhcmUgaW5pdGlhbGlzZWQgKi8KKwlwcmVfaW50cl9pbml0X2hvb2soKTsKKworCS8qCisJICogQ292ZXIgdGhlIHdob2xlIHZlY3RvciBzcGFjZSwgbm8gdmVjdG9yIGNhbiBlc2NhcGUKKwkgKiB1cy4gKHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGFuZCBiZWNvbWUKKwkgKiAnc3BlY2lhbCcgU01QIGludGVycnVwdHMpCisJICovCisJZm9yIChpID0gMDsgaSA8IChOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SKTsgaSsrKSB7CisJCWludCB2ZWN0b3IgPSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyBpOworCQlpZiAoaSA+PSBOUl9JUlFTKQorCQkJYnJlYWs7CisJCS8qIFNZU0NBTExfVkVDVE9SIHdhcyByZXNlcnZlZCBpbiB0cmFwX2luaXQuICovCisJCWlmICghdGVzdF9iaXQodmVjdG9yLCB1c2VkX3ZlY3RvcnMpKQorCQkJc2V0X2ludHJfZ2F0ZSh2ZWN0b3IsIGludGVycnVwdFtpXSk7CisJfQorCisJLyogc2V0dXAgYWZ0ZXIgY2FsbCBnYXRlcyBhcmUgaW5pdGlhbGlzZWQgKHVzdWFsbHkgYWRkIGluCisJICogdGhlIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBnYXRlcykKKwkgKi8KKwlpbnRyX2luaXRfaG9vaygpOworCisJLyoKKwkgKiBFeHRlcm5hbCBGUFU/IFNldCB1cCBpcnExMyBpZiBzbywgZm9yCisJICogb3JpZ2luYWwgYnJhaW5kYW1hZ2VkIElCTSBGRVJSIGNvdXBsaW5nLgorCSAqLworCWlmIChib290X2NwdV9kYXRhLmhhcmRfbWF0aCAmJiAhY3B1X2hhc19mcHUpCisJCXNldHVwX2lycShGUFVfSVJRLCAmZnB1X2lycSk7CisKKwlpcnFfY3R4X2luaXQoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNzNlODgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF82NC5jCkBAIC0wLDAgKzEsMjIxIEBACisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKworI2luY2x1ZGUgPGFzbS9hY3BpLmg+CisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vaHdfaXJxLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vZGVsYXkuaD4KKyNpbmNsdWRlIDxhc20vZGVzYy5oPgorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL2k4MjU5Lmg+CisKKy8qCisgKiBDb21tb24gcGxhY2UgdG8gZGVmaW5lIGFsbCB4ODYgSVJRIHZlY3RvcnMKKyAqCisgKiBUaGlzIGJ1aWxkcyB1cCB0aGUgSVJRIGhhbmRsZXIgc3R1YnMgdXNpbmcgc29tZSB1Z2x5IG1hY3JvcyBpbiBpcnEuaAorICoKKyAqIFRoZXNlIG1hY3JvcyBjcmVhdGUgdGhlIGxvdy1sZXZlbCBhc3NlbWJseSBJUlEgcm91dGluZXMgdGhhdCBzYXZlCisgKiByZWdpc3RlciBjb250ZXh0IGFuZCBjYWxsIGRvX0lSUSgpLiBkb19JUlEoKSB0aGVuIGRvZXMgYWxsIHRoZQorICogb3BlcmF0aW9ucyB0aGF0IGFyZSBuZWVkZWQgdG8ga2VlcCB0aGUgQVQgKG9yIFNNUCBJT0FQSUMpCisgKiBpbnRlcnJ1cHQtY29udHJvbGxlciBoYXBweS4KKyAqLworCisjZGVmaW5lIElSUV9OQU1FMihucikgbnIjI19pbnRlcnJ1cHQodm9pZCkKKyNkZWZpbmUgSVJRX05BTUUobnIpIElSUV9OQU1FMihJUlEjI25yKQorCisvKgorICoJU01QIGhhcyBhIGZldyBzcGVjaWFsIGludGVycnVwdHMgZm9yIElQSSBtZXNzYWdlcworICovCisKKyNkZWZpbmUgQlVJTERfSVJRKG5yKQkJCQlcCisJYXNtbGlua2FnZSB2b2lkIElSUV9OQU1FKG5yKTsJCVwKKwlhc20oIlxuLnAyYWxpZ25cbiIJCQlcCisJICAgICJJUlEiICNuciAiX2ludGVycnVwdDpcblx0IgkJXAorCSAgICAicHVzaCAkfigiICNuciAiKSA7ICIJCVwKKwkgICAgImptcCBjb21tb25faW50ZXJydXB0Iik7CisKKyNkZWZpbmUgQkkoeCx5KSBcCisJQlVJTERfSVJRKHgjI3kpCisKKyNkZWZpbmUgQlVJTERfMTZfSVJRUyh4KSBcCisJQkkoeCwwKSBCSSh4LDEpIEJJKHgsMikgQkkoeCwzKSBcCisJQkkoeCw0KSBCSSh4LDUpIEJJKHgsNikgQkkoeCw3KSBcCisJQkkoeCw4KSBCSSh4LDkpIEJJKHgsYSkgQkkoeCxiKSBcCisJQkkoeCxjKSBCSSh4LGQpIEJJKHgsZSkgQkkoeCxmKQorCisvKgorICogSVNBIFBJQyBvciBsb3cgSU8tQVBJQyB0cmlnZ2VyZWQgKElOVEEtY3ljbGUgb3IgQVBJQykgaW50ZXJydXB0czoKKyAqICh0aGVzZSBhcmUgdXN1YWxseSBtYXBwZWQgdG8gdmVjdG9ycyAweDMwLTB4M2YpCisgKi8KKworLyoKKyAqIFRoZSBJTy1BUElDIGdpdmVzIHVzIG1hbnkgbW9yZSBpbnRlcnJ1cHQgc291cmNlcy4gTW9zdCBvZiB0aGVzZQorICogYXJlIHVudXNlZCBidXQgYW4gU01QIHN5c3RlbSBpcyBzdXBwb3NlZCB0byBoYXZlIGVub3VnaCBtZW1vcnkgLi4uCisgKiBzb21ldGltZXMgKG1vc3RseSB3cnQuIGh3IGJ1Z3MpIHdlIGdldCBjb3JydXB0ZWQgdmVjdG9ycyBhbGwKKyAqIGFjcm9zcyB0aGUgc3BlY3RydW0sIHNvIHdlIHJlYWxseSB3YW50IHRvIGJlIHByZXBhcmVkIHRvIGdldCBhbGwKKyAqIG9mIHRoZXNlLiBQbHVzLCBtb3JlIHBvd2VyZnVsIHN5c3RlbXMgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gNjQKKyAqIElPLUFQSUMgcmVnaXN0ZXJzLgorICoKKyAqICh0aGVzZSBhcmUgdXN1YWxseSBtYXBwZWQgaW50byB0aGUgMHgzMC0weGZmIHZlY3RvciByYW5nZSkKKyAqLworCQkJCSAgICAgIEJVSUxEXzE2X0lSUVMoMHgyKSBCVUlMRF8xNl9JUlFTKDB4MykKK0JVSUxEXzE2X0lSUVMoMHg0KSBCVUlMRF8xNl9JUlFTKDB4NSkgQlVJTERfMTZfSVJRUygweDYpIEJVSUxEXzE2X0lSUVMoMHg3KQorQlVJTERfMTZfSVJRUygweDgpIEJVSUxEXzE2X0lSUVMoMHg5KSBCVUlMRF8xNl9JUlFTKDB4YSkgQlVJTERfMTZfSVJRUygweGIpCitCVUlMRF8xNl9JUlFTKDB4YykgQlVJTERfMTZfSVJRUygweGQpIEJVSUxEXzE2X0lSUVMoMHhlKSBCVUlMRF8xNl9JUlFTKDB4ZikKKworI3VuZGVmIEJVSUxEXzE2X0lSUVMKKyN1bmRlZiBCSQorCisKKyNkZWZpbmUgSVJRKHgseSkgXAorCUlSUSMjeCMjeSMjX2ludGVycnVwdAorCisjZGVmaW5lIElSUUxJU1RfMTYoeCkgXAorCUlSUSh4LDApLCBJUlEoeCwxKSwgSVJRKHgsMiksIElSUSh4LDMpLCBcCisJSVJRKHgsNCksIElSUSh4LDUpLCBJUlEoeCw2KSwgSVJRKHgsNyksIFwKKwlJUlEoeCw4KSwgSVJRKHgsOSksIElSUSh4LGEpLCBJUlEoeCxiKSwgXAorCUlSUSh4LGMpLCBJUlEoeCxkKSwgSVJRKHgsZSksIElSUSh4LGYpCisKKy8qIGZvciB0aGUgaXJxIHZlY3RvcnMgKi8KK3N0YXRpYyB2b2lkICgqX19pbml0ZGF0YSBpbnRlcnJ1cHRbTlJfVkVDVE9SUyAtIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUl0pKHZvaWQpID0geworCQkJCQkgIElSUUxJU1RfMTYoMHgyKSwgSVJRTElTVF8xNigweDMpLAorCUlSUUxJU1RfMTYoMHg0KSwgSVJRTElTVF8xNigweDUpLCBJUlFMSVNUXzE2KDB4NiksIElSUUxJU1RfMTYoMHg3KSwKKwlJUlFMSVNUXzE2KDB4OCksIElSUUxJU1RfMTYoMHg5KSwgSVJRTElTVF8xNigweGEpLCBJUlFMSVNUXzE2KDB4YiksCisJSVJRTElTVF8xNigweGMpLCBJUlFMSVNUXzE2KDB4ZCksIElSUUxJU1RfMTYoMHhlKSwgSVJRTElTVF8xNigweGYpCit9OworCisjdW5kZWYgSVJRCisjdW5kZWYgSVJRTElTVF8xNgorCisKKworCisvKgorICogSVJRMiBpcyBjYXNjYWRlIGludGVycnVwdCB0byBzZWNvbmQgaW50ZXJydXB0IGNvbnRyb2xsZXIKKyAqLworCitzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBpcnEyID0geworCS5oYW5kbGVyID0gbm9fYWN0aW9uLAorCS5tYXNrID0gQ1BVX01BU0tfTk9ORSwKKwkubmFtZSA9ICJjYXNjYWRlIiwKK307CitERUZJTkVfUEVSX0NQVSh2ZWN0b3JfaXJxX3QsIHZlY3Rvcl9pcnEpID0geworCVswIC4uLiBJUlEwX1ZFQ1RPUiAtIDFdID0gLTEsCisJW0lSUTBfVkVDVE9SXSA9IDAsCisJW0lSUTFfVkVDVE9SXSA9IDEsCisJW0lSUTJfVkVDVE9SXSA9IDIsCisJW0lSUTNfVkVDVE9SXSA9IDMsCisJW0lSUTRfVkVDVE9SXSA9IDQsCisJW0lSUTVfVkVDVE9SXSA9IDUsCisJW0lSUTZfVkVDVE9SXSA9IDYsCisJW0lSUTdfVkVDVE9SXSA9IDcsCisJW0lSUThfVkVDVE9SXSA9IDgsCisJW0lSUTlfVkVDVE9SXSA9IDksCisJW0lSUTEwX1ZFQ1RPUl0gPSAxMCwKKwlbSVJRMTFfVkVDVE9SXSA9IDExLAorCVtJUlExMl9WRUNUT1JdID0gMTIsCisJW0lSUTEzX1ZFQ1RPUl0gPSAxMywKKwlbSVJRMTRfVkVDVE9SXSA9IDE0LAorCVtJUlExNV9WRUNUT1JdID0gMTUsCisJW0lSUTE1X1ZFQ1RPUiArIDEgLi4uIE5SX1ZFQ1RPUlMgLSAxXSA9IC0xCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9JU0FfaXJxcyAodm9pZCkKK3sKKwlpbnQgaTsKKworCWluaXRfYnNwX0FQSUMoKTsKKwlpbml0XzgyNTlBKDApOworCisJZm9yIChpID0gMDsgaSA8IE5SX0lSUVM7IGkrKykgeworCQlpcnFfZGVzY1tpXS5zdGF0dXMgPSBJUlFfRElTQUJMRUQ7CisJCWlycV9kZXNjW2ldLmFjdGlvbiA9IE5VTEw7CisJCWlycV9kZXNjW2ldLmRlcHRoID0gMTsKKworCQlpZiAoaSA8IDE2KSB7CisJCQkvKgorCQkJICogMTYgb2xkLXN0eWxlIElOVEEtY3ljbGUgaW50ZXJydXB0czoKKwkJCSAqLworCQkJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaSwgJmk4MjU5QV9jaGlwLAorCQkJCQkJICAgICAgaGFuZGxlX2xldmVsX2lycSwgIlhUIik7CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogJ2hpZ2gnIFBDSSBJUlFzIGZpbGxlZCBpbiBvbiBkZW1hbmQKKwkJCSAqLworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZub19pcnFfY2hpcDsKKwkJfQorCX0KK30KKwordm9pZCBpbml0X0lSUSh2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBhbGlhcygibmF0aXZlX2luaXRfSVJRIikpKTsKKwordm9pZCBfX2luaXQgbmF0aXZlX2luaXRfSVJRKHZvaWQpCit7CisJaW50IGk7CisKKwlpbml0X0lTQV9pcnFzKCk7CisJLyoKKwkgKiBDb3ZlciB0aGUgd2hvbGUgdmVjdG9yIHNwYWNlLCBubyB2ZWN0b3IgY2FuIGVzY2FwZQorCSAqIHVzLiAoc29tZSBvZiB0aGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gYW5kIGJlY29tZQorCSAqICdzcGVjaWFsJyBTTVAgaW50ZXJydXB0cykKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgKE5SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpOyBpKyspIHsKKwkJaW50IHZlY3RvciA9IEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIGk7CisJCWlmICh2ZWN0b3IgIT0gSUEzMl9TWVNDQUxMX1ZFQ1RPUikKKwkJCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbaV0pOworCX0KKworI2lmZGVmIENPTkZJR19TTVAKKwkvKgorCSAqIFRoZSByZXNjaGVkdWxlIGludGVycnVwdCBpcyBhIENQVS10by1DUFUgcmVzY2hlZHVsZS1oZWxwZXIKKwkgKiBJUEksIGRyaXZlbiBieSB3YWtldXAuCisJICovCisJYWxsb2NfaW50cl9nYXRlKFJFU0NIRURVTEVfVkVDVE9SLCByZXNjaGVkdWxlX2ludGVycnVwdCk7CisKKwkvKiBJUElzIGZvciBpbnZhbGlkYXRpb24gKi8KKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzAsIGludmFsaWRhdGVfaW50ZXJydXB0MCk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCsxLCBpbnZhbGlkYXRlX2ludGVycnVwdDEpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQyKTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzMsIGludmFsaWRhdGVfaW50ZXJydXB0Myk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs0LCBpbnZhbGlkYXRlX2ludGVycnVwdDQpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNSwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ1KTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzYsIGludmFsaWRhdGVfaW50ZXJydXB0Nik7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs3LCBpbnZhbGlkYXRlX2ludGVycnVwdDcpOworCisJLyogSVBJIGZvciBnZW5lcmljIGZ1bmN0aW9uIGNhbGwgKi8KKwlhbGxvY19pbnRyX2dhdGUoQ0FMTF9GVU5DVElPTl9WRUNUT1IsIGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KTsKKworCS8qIElQSSBmb3IgZ2VuZXJpYyBzaW5nbGUgZnVuY3Rpb24gY2FsbCAqLworCWFsbG9jX2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IsCisJCQljYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQpOworCisJLyogTG93IHByaW9yaXR5IElQSSB0byBjbGVhbnVwIGFmdGVyIG1vdmluZyBhbiBpcnEgKi8KKwlzZXRfaW50cl9nYXRlKElSUV9NT1ZFX0NMRUFOVVBfVkVDVE9SLCBpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCk7CisjZW5kaWYKKwlhbGxvY19pbnRyX2dhdGUoVEhFUk1BTF9BUElDX1ZFQ1RPUiwgdGhlcm1hbF9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShUSFJFU0hPTERfQVBJQ19WRUNUT1IsIHRocmVzaG9sZF9pbnRlcnJ1cHQpOworCisJLyogc2VsZiBnZW5lcmF0ZWQgSVBJIGZvciBsb2NhbCBBUElDIHRpbWVyICovCisJYWxsb2NfaW50cl9nYXRlKExPQ0FMX1RJTUVSX1ZFQ1RPUiwgYXBpY190aW1lcl9pbnRlcnJ1cHQpOworCisJLyogSVBJIHZlY3RvcnMgZm9yIEFQSUMgc3B1cmlvdXMgYW5kIGVycm9yIGludGVycnVwdHMgKi8KKwlhbGxvY19pbnRyX2dhdGUoU1BVUklPVVNfQVBJQ19WRUNUT1IsIHNwdXJpb3VzX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKEVSUk9SX0FQSUNfVkVDVE9SLCBlcnJvcl9pbnRlcnJ1cHQpOworCisJaWYgKCFhY3BpX2lvYXBpYykKKwkJc2V0dXBfaXJxKDIsICZpcnEyKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9sZHQuYyBiL2FyY2gveDg2L2tlcm5lbC9sZHQuYwppbmRleCAwMjI0YzM2Li5hODQ0OTU3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbGR0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2xkdC5jCkBAIC0yMCw5ICsyMCw5IEBACiAjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CiAKICNpZmRlZiBDT05GSUdfU01QCi1zdGF0aWMgdm9pZCBmbHVzaF9sZHQodm9pZCAqbnVsbCkKK3N0YXRpYyB2b2lkIGZsdXNoX2xkdCh2b2lkICpjdXJyZW50X21tKQogewotCWlmIChjdXJyZW50LT5hY3RpdmVfbW0pCisJaWYgKGN1cnJlbnQtPmFjdGl2ZV9tbSA9PSBjdXJyZW50X21tKQogCQlsb2FkX0xEVCgmY3VycmVudC0+YWN0aXZlX21tLT5jb250ZXh0KTsKIH0KICNlbmRpZgpAQCAtNjgsNyArNjgsNyBAQAogCQlsb2FkX0xEVChwYyk7CiAJCW1hc2sgPSBjcHVtYXNrX29mX2NwdShzbXBfcHJvY2Vzc29yX2lkKCkpOwogCQlpZiAoIWNwdXNfZXF1YWwoY3VycmVudC0+bW0tPmNwdV92bV9tYXNrLCBtYXNrKSkKLQkJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX2xkdCwgTlVMTCwgMSwgMSk7CisJCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF9sZHQsIGN1cnJlbnQtPm1tLCAxKTsKIAkJcHJlZW1wdF9lbmFibGUoKTsKICNlbHNlCiAJCWxvYWRfTERUKHBjKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY18zMi5jCmluZGV4IGQwYjIzNGMuLjg4NjQyMzAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfMzIuYwpAQCAtMTEsNiArMTEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L251bWEuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKwogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KQEAgLTM5LDcgKzQxLDcgQEAKIAljdXJpZHQuYWRkcmVzcyA9ICh1bnNpZ25lZCBsb25nKW5ld2lkdDsKIAogCWxvYWRfaWR0KCZjdXJpZHQpOwotfTsKK30KIAogCiBzdGF0aWMgdm9pZCBzZXRfZ2R0KHZvaWQgKm5ld2dkdCwgX191MTYgbGltaXQpCkBAIC01MSw3ICs1Myw3IEBACiAJY3VyZ2R0LmFkZHJlc3MgPSAodW5zaWduZWQgbG9uZyluZXdnZHQ7CiAKIAlsb2FkX2dkdCgmY3VyZ2R0KTsKLX07Cit9CiAKIHN0YXRpYyB2b2lkIGxvYWRfc2VnbWVudHModm9pZCkKIHsKQEAgLTEwNyw2ICsxMDksOCBAQAogCXVuc2lnbmVkIGxvbmcgcGFnZV9saXN0W1BBR0VTX05SXTsKIAl2b2lkICpjb250cm9sX3BhZ2U7CiAKKwl0cmFjZXJfZGlzYWJsZSgpOworCiAJLyogSW50ZXJydXB0cyBhcmVuJ3QgYWNjZXB0YWJsZSB3aGlsZSB3ZSByZWJvb3QgKi8KIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jIGIvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYwppbmRleCA1NzZhMDNkLi45ZGQ5MjYyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzY0LmMKQEAgLTExLDYgKzExLDggQEAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KICNpbmNsdWRlIDxsaW51eC9udW1hLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgogI2luY2x1ZGUgPGFzbS9tbXVfY29udGV4dC5oPgpAQCAtMTEwLDcgKzExMiw3IEBACiB7CiAJcGdkX3QgKmxldmVsNHA7CiAJbGV2ZWw0cCA9IChwZ2RfdCAqKV9fdmEoc3RhcnRfcGd0YWJsZSk7Ci0gCXJldHVybiBpbml0X2xldmVsNF9wYWdlKGltYWdlLCBsZXZlbDRwLCAwLCBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpOworCXJldHVybiBpbml0X2xldmVsNF9wYWdlKGltYWdlLCBsZXZlbDRwLCAwLCBtYXhfcGZuIDw8IFBBR0VfU0hJRlQpOwogfQogCiBzdGF0aWMgdm9pZCBzZXRfaWR0KHZvaWQgKm5ld2lkdCwgdTE2IGxpbWl0KQpAQCAtMTg0LDYgKzE4Niw4IEBACiAJdW5zaWduZWQgbG9uZyBwYWdlX2xpc3RbUEFHRVNfTlJdOwogCXZvaWQgKmNvbnRyb2xfcGFnZTsKIAorCXRyYWNlcl9kaXNhYmxlKCk7CisKIAkvKiBJbnRlcnJ1cHRzIGFyZW4ndCBhY2NlcHRhYmxlIHdoaWxlIHdlIHJlYm9vdCAqLwogCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9taWNyb2NvZGUuYyBiL2FyY2gveDg2L2tlcm5lbC9taWNyb2NvZGUuYwppbmRleCA2OTcyOWUzLi41NmI5MzMxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbWljcm9jb2RlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL21pY3JvY29kZS5jCkBAIC01LDEzICs1LDE0IEBACiAgKgkJICAgICAgMjAwNglTaGFvaHVhIExpIDxzaGFvaHVhLmxpQGludGVsLmNvbT4KICAqCiAgKglUaGlzIGRyaXZlciBhbGxvd3MgdG8gdXBncmFkZSBtaWNyb2NvZGUgb24gSW50ZWwgcHJvY2Vzc29ycwotICoJYmVsb25naW5nIHRvIElBLTMyIGZhbWlseSAtIFBlbnRpdW1Qcm8sIFBlbnRpdW0gSUksIAorICoJYmVsb25naW5nIHRvIElBLTMyIGZhbWlseSAtIFBlbnRpdW1Qcm8sIFBlbnRpdW0gSUksCiAgKglQZW50aXVtIElJSSwgWGVvbiwgUGVudGl1bSA0LCBldGMuCiAgKgotICoJUmVmZXJlbmNlOiBTZWN0aW9uIDguMTAgb2YgVm9sdW1lIElJSSwgSW50ZWwgUGVudGl1bSA0IE1hbnVhbCwgCi0gKglPcmRlciBOdW1iZXIgMjQ1NDcyIG9yIGZyZWUgZG93bmxvYWQgZnJvbToKLSAqCQkKLSAqCWh0dHA6Ly9kZXZlbG9wZXIuaW50ZWwuY29tL2Rlc2lnbi9wZW50aXVtNC9tYW51YWxzLzI0NTQ3Mi5odG0KKyAqCVJlZmVyZW5jZTogU2VjdGlvbiA4LjExIG9mIFZvbHVtZSAzYSwgSUEtMzIgSW50ZWw/IEFyY2hpdGVjdHVyZQorICoJU29mdHdhcmUgRGV2ZWxvcGVyJ3MgTWFudWFsCisgKglPcmRlciBOdW1iZXIgMjUzNjY4IG9yIGZyZWUgZG93bmxvYWQgZnJvbToKKyAqCisgKglodHRwOi8vZGV2ZWxvcGVyLmludGVsLmNvbS9kZXNpZ24vcGVudGl1bTQvbWFudWFscy8yNTM2NjguaHRtCiAgKgogICoJRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIGh0dHA6Ly93d3cudXJiYW5teXRoLm9yZy9taWNyb2NvZGUKICAqCkBAIC01OCwxMiArNTksMTIgQEAKICAqCQluYXR1cmUgb2YgaW1wbGVtZW50YXRpb24uCiAgKgkxLjExCTIyIE1hciAyMDAyIFRpZ3JhbiBBaXZhemlhbiA8dGlncmFuQHZlcml0YXMuY29tPgogICoJCUZpeCB0aGUgcGFuaWMgd2hlbiB3cml0aW5nIHplcm8tbGVuZ3RoIG1pY3JvY29kZSBjaHVuay4KLSAqCTEuMTIJMjkgU2VwIDIwMDMgTml0aW4gS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+LCAKKyAqCTEuMTIJMjkgU2VwIDIwMDMgTml0aW4gS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+LAogICoJCUp1biBOYWthamltYSA8anVuLm5ha2FqaW1hQGludGVsLmNvbT4KICAqCQlTdXBwb3J0IGZvciB0aGUgbWljcm9jb2RlIHVwZGF0ZXMgaW4gdGhlIG5ldyBmb3JtYXQuCiAgKgkxLjEzCTEwIE9jdCAyMDAzIFRpZ3JhbiBBaXZhemlhbiA8dGlncmFuQHZlcml0YXMuY29tPgogICoJCVJlbW92ZWQgLT5yZWFkKCkgbWV0aG9kIGFuZCBvYnNvbGV0ZWQgTUlDUk9DT0RFX0lPQ0ZSRUUgaW9jdGwKLSAqCQliZWNhdXNlIHdlIG5vIGxvbmdlciBob2xkIGEgY29weSBvZiBhcHBsaWVkIG1pY3JvY29kZSAKKyAqCQliZWNhdXNlIHdlIG5vIGxvbmdlciBob2xkIGEgY29weSBvZiBhcHBsaWVkIG1pY3JvY29kZQogICoJCWluIGtlcm5lbCBtZW1vcnkuCiAgKgkxLjE0CTI1IEp1biAyMDA0IFRpZ3JhbiBBaXZhemlhbiA8dGlncmFuQHZlcml0YXMuY29tPgogICoJCUZpeCBzaWdtYXRjaCgpIG1hY3JvIHRvIGhhbmRsZSBvbGQgQ1BVcyB3aXRoIHBmID09IDAuCkBAIC03NSw2ICs3Niw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgpAQCAtMzIwLDExICszMjIsMTEgQEAKIAkJcmV0dXJuOwogCiAJLyogc2VyaWFsaXplIGFjY2VzcyB0byB0aGUgcGh5c2ljYWwgd3JpdGUgdG8gTVNSIDB4NzkgKi8KLQlzcGluX2xvY2tfaXJxc2F2ZSgmbWljcm9jb2RlX3VwZGF0ZV9sb2NrLCBmbGFncyk7ICAgICAgICAgIAorCXNwaW5fbG9ja19pcnFzYXZlKCZtaWNyb2NvZGVfdXBkYXRlX2xvY2ssIGZsYWdzKTsKIAogCS8qIHdyaXRlIG1pY3JvY29kZSB2aWEgTVNSIDB4NzkgKi8KIAl3cm1zcihNU1JfSUEzMl9VQ09ERV9XUklURSwKLQkJKHVuc2lnbmVkIGxvbmcpIHVjaS0+bWMtPmJpdHMsIAorCQkodW5zaWduZWQgbG9uZykgdWNpLT5tYy0+Yml0cywKIAkJKHVuc2lnbmVkIGxvbmcpIHVjaS0+bWMtPmJpdHMgPj4gMTYgPj4gMTYpOwogCXdybXNyKE1TUl9JQTMyX1VDT0RFX1JFViwgMCwgMCk7CiAKQEAgLTM0MSw3ICszNDMsNyBAQAogCQlyZXR1cm47CiAJfQogCXByaW50ayhLRVJOX0lORk8gIm1pY3JvY29kZTogQ1BVJWQgdXBkYXRlZCBmcm9tIHJldmlzaW9uICIKLQkgICAgICAgIjB4JXggdG8gMHgleCwgZGF0ZSA9ICUwOHggXG4iLCAKKwkgICAgICAgIjB4JXggdG8gMHgleCwgZGF0ZSA9ICUwOHggXG4iLAogCSAgICAgICBjcHVfbnVtLCB1Y2ktPnJldiwgdmFsWzFdLCB1Y2ktPm1jLT5oZHIuZGF0ZSk7CiAJdWNpLT5yZXYgPSB2YWxbMV07CiB9CkBAIC00MjIsNiArNDI0LDcgQEAKIAogc3RhdGljIGludCBtaWNyb2NvZGVfb3BlbiAoc3RydWN0IGlub2RlICp1bnVzZWQxLCBzdHJ1Y3QgZmlsZSAqdW51c2VkMikKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiBjYXBhYmxlKENBUF9TWVNfUkFXSU8pID8gMCA6IC1FUEVSTTsKIH0KIApAQCAtNDg4LDcgKzQ5MSw3IEBACiAjZGVmaW5lIG1pY3JvY29kZV9kZXZfZXhpdCgpIGRvIHsgfSB3aGlsZSgwKQogI2VuZGlmCiAKLXN0YXRpYyBsb25nIGdldF9uZXh0X3Vjb2RlX2Zyb21fYnVmZmVyKHZvaWQgKiptYywgdm9pZCAqYnVmLAorc3RhdGljIGxvbmcgZ2V0X25leHRfdWNvZGVfZnJvbV9idWZmZXIodm9pZCAqKm1jLCBjb25zdCB1OCAqYnVmLAogCXVuc2lnbmVkIGxvbmcgc2l6ZSwgbG9uZyBvZmZzZXQpCiB7CiAJbWljcm9jb2RlX2hlYWRlcl90ICptY19oZWFkZXI7CkBAIC01MjIsNyArNTI1LDcgQEAKIAljaGFyIG5hbWVbMzBdOwogCXN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZjcHVfZGF0YShjcHUpOwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmU7Ci0Jdm9pZCAqYnVmOworCWNvbnN0IHU4ICpidWY7CiAJdW5zaWduZWQgbG9uZyBzaXplOwogCWxvbmcgb2Zmc2V0ID0gMDsKIAlpbnQgZXJyb3I7CkBAIC01MzQsNyArNTM3LDcgQEAKIAkJYy0+eDg2LCBjLT54ODZfbW9kZWwsIGMtPng4Nl9tYXNrKTsKIAllcnJvciA9IHJlcXVlc3RfZmlybXdhcmUoJmZpcm13YXJlLCBuYW1lLCAmbWljcm9jb2RlX3BkZXYtPmRldik7CiAJaWYgKGVycm9yKSB7Ci0JCXByX2RlYnVnKCJtaWNyb2NvZGU6IHVjb2RlIGRhdGEgZmlsZSAlcyBsb2FkIGZhaWxlZFxuIiwgbmFtZSk7CisJCXByX2RlYnVnKCJtaWNyb2NvZGU6IGRhdGEgZmlsZSAlcyBsb2FkIGZhaWxlZFxuIiwgbmFtZSk7CiAJCXJldHVybiBlcnJvcjsKIAl9CiAJYnVmID0gZmlybXdhcmUtPmRhdGE7CkBAIC04MDUsNiArODA4LDkgQEAKIHsKIAlpbnQgZXJyb3I7CiAKKwlwcmludGsoS0VSTl9JTkZPCisJCSJJQS0zMiBNaWNyb2NvZGUgVXBkYXRlIERyaXZlcjogdiIgTUlDUk9DT0RFX1ZFUlNJT04gIiA8dGlncmFuQGFpdmF6aWFuLmZzbmV0LmNvLnVrPlxuIik7CisKIAllcnJvciA9IG1pY3JvY29kZV9kZXZfaW5pdCgpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwpAQCAtODI1LDkgKzgzMSw2IEBACiAJfQogCiAJcmVnaXN0ZXJfaG90Y3B1X25vdGlmaWVyKCZtY19jcHVfbm90aWZpZXIpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAKLQkJIklBLTMyIE1pY3JvY29kZSBVcGRhdGUgRHJpdmVyOiB2IiBNSUNST0NPREVfVkVSU0lPTiAiIDx0aWdyYW5AYWl2YXppYW4uZnNuZXQuY28udWs+XG4iKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21tY29uZi1mYW0xMGhfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9tbWNvbmYtZmFtMTBoXzY0LmMKaW5kZXggZWRjNWZiZi4uZmRmZGM1NSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL21tY29uZi1mYW0xMGhfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbW1jb25mLWZhbTEwaF82NC5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogI2luY2x1ZGUgPGFzbS9hY3BpLmg+CisjaW5jbHVkZSA8YXNtL21tY29uZmlnLmg+CiAKICNpbmNsdWRlICIuLi9wY2kvcGNpLmgiCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9tcHBhcnNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbXBwYXJzZS5jCmluZGV4IDQwNDY4M2IuLjNiMjVlNDkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9tcHBhcnNlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL21wcGFyc2UuYwpAQCAtMjUsNiArMjUsOCBAQAogI2luY2x1ZGUgPGFzbS9wcm90by5oPgogI2luY2x1ZGUgPGFzbS9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgorI2luY2x1ZGUgPGFzbS9lODIwLmg+CisjaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KIAogI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgogI2lmZGVmIENPTkZJR19YODZfMzIKQEAgLTMyLDI4ICszNCw2IEBACiAjaW5jbHVkZSA8bWFjaF9tcHBhcnNlLmg+CiAjZW5kaWYKIAotLyogSGF2ZSB3ZSBmb3VuZCBhbiBNUCB0YWJsZSAqLwotaW50IHNtcF9mb3VuZF9jb25maWc7Ci0KLS8qCi0gKiBWYXJpb3VzIExpbnV4LWludGVybmFsIGRhdGEgc3RydWN0dXJlcyBjcmVhdGVkIGZyb20gdGhlCi0gKiBNUC10YWJsZS4KLSAqLwotI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQotaW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOwotI2VuZGlmCi0KLURFQ0xBUkVfQklUTUFQKG1wX2J1c19ub3RfcGNpLCBNQVhfTVBfQlVTU0VTKTsKLWludCBtcF9idXNfaWRfdG9fcGNpX2J1c1tNQVhfTVBfQlVTU0VTXSA9IHtbMCAuLi4gTUFYX01QX0JVU1NFUyAtIDFdID0gLTEgfTsKLQotc3RhdGljIGludCBtcF9jdXJyZW50X3BjaV9pZDsKLQotaW50IHBpY19tb2RlOwotCi0vKgotICogSW50ZWwgTVAgQklPUyB0YWJsZSBwYXJzaW5nIHJvdXRpbmVzOgotICovCi0KIC8qCiAgKiBDaGVja3N1bSBhbiBNUCBjb25maWd1cmF0aW9uIGJsb2NrLgogICovCkBAIC02OSwxNSArNDksNzMgQEAKIH0KIAogI2lmZGVmIENPTkZJR19YODZfTlVNQVEKK2ludCBmb3VuZF9udW1hcTsKIC8qCiAgKiBIYXZlIHRvIG1hdGNoIHRyYW5zbGF0aW9uIHRhYmxlIGVudHJpZXMgdG8gbWFpbiB0YWJsZSBlbnRyaWVzIGJ5IGNvdW50ZXIKICAqIGhlbmNlIHRoZSBtcGNfcmVjb3JkIHZhcmlhYmxlIC4uLi4gY2FuJ3Qgc2VlIGEgbGVzcyBkaXNndXN0aW5nIHdheSBvZgogICogZG9pbmcgdGhpcyAuLi4uCiAgKi8KK3N0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uIHsKKwl1bnNpZ25lZCBjaGFyIG1wY190eXBlOworCXVuc2lnbmVkIGNoYXIgdHJhbnNfbGVuOworCXVuc2lnbmVkIGNoYXIgdHJhbnNfdHlwZTsKKwl1bnNpZ25lZCBjaGFyIHRyYW5zX3F1YWQ7CisJdW5zaWduZWQgY2hhciB0cmFuc19nbG9iYWw7CisJdW5zaWduZWQgY2hhciB0cmFuc19sb2NhbDsKKwl1bnNpZ25lZCBzaG9ydCB0cmFuc19yZXNlcnZlZDsKK307CisKIAogc3RhdGljIGludCBtcGNfcmVjb3JkOwogc3RhdGljIHN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbl90YWJsZVtNQVhfTVBDX0VOVFJZXQogICAgIF9fY3B1aW5pdGRhdGE7CisKK3N0YXRpYyBpbmxpbmUgaW50IGdlbmVyYXRlX2xvZ2ljYWxfYXBpY2lkKGludCBxdWFkLCBpbnQgcGh5c19hcGljaWQpCit7CisJcmV0dXJuIChxdWFkIDw8IDQpICsgKHBoeXNfYXBpY2lkID8gcGh5c19hcGljaWQgPDwgMSA6IDEpOworfQorCisKK3N0YXRpYyBpbmxpbmUgaW50IG1wY19hcGljX2lkKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSwKKwkJCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbl9yZWNvcmQpCit7CisJaW50IHF1YWQgPSB0cmFuc2xhdGlvbl9yZWNvcmQtPnRyYW5zX3F1YWQ7CisJaW50IGxvZ2ljYWxfYXBpY2lkID0gZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQocXVhZCwgbS0+bXBjX2FwaWNpZCk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAiUHJvY2Vzc29yICMlZCAldToldSBBUElDIHZlcnNpb24gJWQgKHF1YWQgJWQsIGFwaWMgJWQpXG4iLAorCSAgICAgICBtLT5tcGNfYXBpY2lkLAorCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfRkFNSUxZX01BU0spID4+IDgsCisJICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9NT0RFTF9NQVNLKSA+PiA0LAorCSAgICAgICBtLT5tcGNfYXBpY3ZlciwgcXVhZCwgbG9naWNhbF9hcGljaWQpOworCXJldHVybiBsb2dpY2FsX2FwaWNpZDsKK30KKworaW50IG1wX2J1c19pZF90b19ub2RlW01BWF9NUF9CVVNTRVNdOworCitpbnQgbXBfYnVzX2lkX3RvX2xvY2FsW01BWF9NUF9CVVNTRVNdOworCitzdGF0aWMgdm9pZCBtcGNfb2VtX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwgY2hhciAqbmFtZSwKKwlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCit7CisJaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKKwlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7CisKKwltcF9idXNfaWRfdG9fbm9kZVttLT5tcGNfYnVzaWRdID0gcXVhZDsKKwltcF9idXNfaWRfdG9fbG9jYWxbbS0+bXBjX2J1c2lkXSA9IGxvY2FsOworCXByaW50ayhLRVJOX0lORk8gIkJ1cyAjJWQgaXMgJXMgKG5vZGUgJWQpXG4iLAorCSAgICAgICBtLT5tcGNfYnVzaWQsIG5hbWUsIHF1YWQpOworfQorCitpbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CitzdGF0aWMgdm9pZCBtcGNfb2VtX3BjaV9idXMoc3RydWN0IG1wY19jb25maWdfYnVzICptLAorCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbikKK3sKKwlpbnQgcXVhZCA9IHRyYW5zbGF0aW9uLT50cmFuc19xdWFkOworCWludCBsb2NhbCA9IHRyYW5zbGF0aW9uLT50cmFuc19sb2NhbDsKKworCXF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkW3F1YWRdW2xvY2FsXSA9IG0tPm1wY19idXNpZDsKK30KKwogI2VuZGlmCiAKIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBNUF9wcm9jZXNzb3JfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm0pCkBAIC05MCw3ICsxMjgsMTAgQEAKIAkJcmV0dXJuOwogCX0KICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCi0JYXBpY2lkID0gbXBjX2FwaWNfaWQobSwgdHJhbnNsYXRpb25fdGFibGVbbXBjX3JlY29yZF0pOworCWlmIChmb3VuZF9udW1hcSkKKwkJYXBpY2lkID0gbXBjX2FwaWNfaWQobSwgdHJhbnNsYXRpb25fdGFibGVbbXBjX3JlY29yZF0pOworCWVsc2UKKwkJYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKICNlbHNlCiAJYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKICNlbmRpZgpAQCAtMTAzLDE3ICsxNDQsMTggQEAKIAlnZW5lcmljX3Byb2Nlc3Nvcl9pbmZvKGFwaWNpZCwgbS0+bXBjX2FwaWN2ZXIpOwogfQogCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiBzdGF0aWMgdm9pZCBfX2luaXQgTVBfYnVzX2luZm8oc3RydWN0IG1wY19jb25maWdfYnVzICptKQogewogCWNoYXIgc3RyWzddOwotCiAJbWVtY3B5KHN0ciwgbS0+bXBjX2J1c3R5cGUsIDYpOwogCXN0cls2XSA9IDA7CiAKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCi0JbXBjX29lbV9idXNfaW5mbyhtLCBzdHIsIHRyYW5zbGF0aW9uX3RhYmxlW21wY19yZWNvcmRdKTsKKwlpZiAoZm91bmRfbnVtYXEpCisJCW1wY19vZW1fYnVzX2luZm8obSwgc3RyLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CiAjZWxzZQotCURwcmludGsoIkJ1cyAjJWQgaXMgJXNcbiIsIG0tPm1wY19idXNpZCwgc3RyKTsKKwlwcmludGsoS0VSTl9JTkZPICJCdXMgIyVkIGlzICVzXG4iLCBtLT5tcGNfYnVzaWQsIHN0cik7CiAjZW5kaWYKIAogI2lmIE1BWF9NUF9CVVNTRVMgPCAyNTYKQEAgLTEzMiwxMSArMTc0LDEwIEBACiAjZW5kaWYKIAl9IGVsc2UgaWYgKHN0cm5jbXAoc3RyLCBCVVNUWVBFX1BDSSwgc2l6ZW9mKEJVU1RZUEVfUENJKSAtIDEpID09IDApIHsKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCi0JCW1wY19vZW1fcGNpX2J1cyhtLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CisJCWlmIChmb3VuZF9udW1hcSkKKwkJCW1wY19vZW1fcGNpX2J1cyhtLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CiAjZW5kaWYKIAkJY2xlYXJfYml0KG0tPm1wY19idXNpZCwgbXBfYnVzX25vdF9wY2kpOwotCQltcF9idXNfaWRfdG9fcGNpX2J1c1ttLT5tcGNfYnVzaWRdID0gbXBfY3VycmVudF9wY2lfaWQ7Ci0JCW1wX2N1cnJlbnRfcGNpX2lkKys7CiAjaWYgZGVmaW5lZChDT05GSUdfRUlTQSkgfHwgZGVmaW5lZCAoQ09ORklHX01DQSkKIAkJbXBfYnVzX2lkX3RvX3R5cGVbbS0+bXBjX2J1c2lkXSA9IE1QX0JVU19QQ0k7CiAJfSBlbHNlIGlmIChzdHJuY21wKHN0ciwgQlVTVFlQRV9FSVNBLCBzaXplb2YoQlVTVFlQRV9FSVNBKSAtIDEpID09IDApIHsKQEAgLTE0Nyw2ICsxODgsNyBAQAogCX0gZWxzZQogCQlwcmludGsoS0VSTl9XQVJOSU5HICJVbmtub3duIGJ1c3R5cGUgJXMgLSBpZ25vcmluZ1xuIiwgc3RyKTsKIH0KKyNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAKQEAgLTE3NiwxOCArMjE4LDg5IEBACiAJaWYgKGJhZF9pb2FwaWMobS0+bXBjX2FwaWNhZGRyKSkKIAkJcmV0dXJuOwogCi0JbXBfaW9hcGljc1tucl9pb2FwaWNzXSA9ICptOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfYXBpY2FkZHIgPSBtLT5tcGNfYXBpY2FkZHI7CisJbXBfaW9hcGljc1tucl9pb2FwaWNzXS5tcF9hcGljaWQgPSBtLT5tcGNfYXBpY2lkOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfdHlwZSA9IG0tPm1wY190eXBlOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfYXBpY3ZlciA9IG0tPm1wY19hcGljdmVyOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfZmxhZ3MgPSBtLT5tcGNfZmxhZ3M7CiAJbnJfaW9hcGljcysrOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgTVBfaW50c3JjX2luZm8oc3RydWN0IG1wY19jb25maWdfaW50c3JjICptKQorc3RhdGljIHZvaWQgcHJpbnRfTVBfaW50c3JjX2luZm8oc3RydWN0IG1wY19jb25maWdfaW50c3JjICptKQogewotCW1wX2lycXNbbXBfaXJxX2VudHJpZXNdID0gKm07Ci0JRHByaW50aygiSW50OiB0eXBlICVkLCBwb2wgJWQsIHRyaWcgJWQsIGJ1cyAlZCwiCisJcHJpbnRrKEtFUk5fQ09OVCAiSW50OiB0eXBlICVkLCBwb2wgJWQsIHRyaWcgJWQsIGJ1cyAlMDJ4LCIKIAkJIiBJUlEgJTAyeCwgQVBJQyBJRCAleCwgQVBJQyBJTlQgJTAyeFxuIiwKIAkJbS0+bXBjX2lycXR5cGUsIG0tPm1wY19pcnFmbGFnICYgMywKIAkJKG0tPm1wY19pcnFmbGFnID4+IDIpICYgMywgbS0+bXBjX3NyY2J1cywKIAkJbS0+bXBjX3NyY2J1c2lycSwgbS0+bXBjX2RzdGFwaWMsIG0tPm1wY19kc3RpcnEpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcHJpbnRfbXBfaXJxX2luZm8oc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSkKK3sKKwlwcmludGsoS0VSTl9DT05UICJJbnQ6IHR5cGUgJWQsIHBvbCAlZCwgdHJpZyAlZCwgYnVzICUwMngsIgorCQkiIElSUSAlMDJ4LCBBUElDIElEICV4LCBBUElDIElOVCAlMDJ4XG4iLAorCQltcF9pcnEtPm1wX2lycXR5cGUsIG1wX2lycS0+bXBfaXJxZmxhZyAmIDMsCisJCShtcF9pcnEtPm1wX2lycWZsYWcgPj4gMikgJiAzLCBtcF9pcnEtPm1wX3NyY2J1cywKKwkJbXBfaXJxLT5tcF9zcmNidXNpcnEsIG1wX2lycS0+bXBfZHN0YXBpYywgbXBfaXJxLT5tcF9kc3RpcnEpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgYXNzaWduX3RvX21wX2lycShzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0sCisJCQkJICAgIHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptcF9pcnEpCit7CisJbXBfaXJxLT5tcF9kc3RhcGljID0gbS0+bXBjX2RzdGFwaWM7CisJbXBfaXJxLT5tcF90eXBlID0gbS0+bXBjX3R5cGU7CisJbXBfaXJxLT5tcF9pcnF0eXBlID0gbS0+bXBjX2lycXR5cGU7CisJbXBfaXJxLT5tcF9pcnFmbGFnID0gbS0+bXBjX2lycWZsYWc7CisJbXBfaXJxLT5tcF9zcmNidXMgPSBtLT5tcGNfc3JjYnVzOworCW1wX2lycS0+bXBfc3JjYnVzaXJxID0gbS0+bXBjX3NyY2J1c2lycTsKKwltcF9pcnEtPm1wX2RzdGlycSA9IG0tPm1wY19kc3RpcnE7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhc3NpZ25fdG9fbXBjX2ludHNyYyhzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxLAorCQkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0pCit7CisJbS0+bXBjX2RzdGFwaWMgPSBtcF9pcnEtPm1wX2RzdGFwaWM7CisJbS0+bXBjX3R5cGUgPSBtcF9pcnEtPm1wX3R5cGU7CisJbS0+bXBjX2lycXR5cGUgPSBtcF9pcnEtPm1wX2lycXR5cGU7CisJbS0+bXBjX2lycWZsYWcgPSBtcF9pcnEtPm1wX2lycWZsYWc7CisJbS0+bXBjX3NyY2J1cyA9IG1wX2lycS0+bXBfc3JjYnVzOworCW0tPm1wY19zcmNidXNpcnEgPSBtcF9pcnEtPm1wX3NyY2J1c2lycTsKKwltLT5tcGNfZHN0aXJxID0gbXBfaXJxLT5tcF9kc3RpcnE7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG1wX2lycV9tcGNfaW50c3JjX2NtcChzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxLAorCQkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0pCit7CisJaWYgKG1wX2lycS0+bXBfZHN0YXBpYyAhPSBtLT5tcGNfZHN0YXBpYykKKwkJcmV0dXJuIDE7CisJaWYgKG1wX2lycS0+bXBfdHlwZSAhPSBtLT5tcGNfdHlwZSkKKwkJcmV0dXJuIDI7CisJaWYgKG1wX2lycS0+bXBfaXJxdHlwZSAhPSBtLT5tcGNfaXJxdHlwZSkKKwkJcmV0dXJuIDM7CisJaWYgKG1wX2lycS0+bXBfaXJxZmxhZyAhPSBtLT5tcGNfaXJxZmxhZykKKwkJcmV0dXJuIDQ7CisJaWYgKG1wX2lycS0+bXBfc3JjYnVzICE9IG0tPm1wY19zcmNidXMpCisJCXJldHVybiA1OworCWlmIChtcF9pcnEtPm1wX3NyY2J1c2lycSAhPSBtLT5tcGNfc3JjYnVzaXJxKQorCQlyZXR1cm4gNjsKKwlpZiAobXBfaXJxLT5tcF9kc3RpcnEgIT0gbS0+bXBjX2RzdGlycSkKKwkJcmV0dXJuIDc7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IE1QX2ludHNyY19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSkKK3sKKwlpbnQgaTsKKworCXByaW50X01QX2ludHNyY19pbmZvKG0pOworCisJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKKwkJaWYgKCFtcF9pcnFfbXBjX2ludHNyY19jbXAoJm1wX2lycXNbaV0sIG0pKQorCQkJcmV0dXJuOworCX0KKworCWFzc2lnbl90b19tcF9pcnEobSwgJm1wX2lycXNbbXBfaXJxX2VudHJpZXNdKTsKIAlpZiAoKyttcF9pcnFfZW50cmllcyA9PSBNQVhfSVJRX1NPVVJDRVMpCiAJCXBhbmljKCJNYXggIyBvZiBpcnEgc291cmNlcyBleGNlZWRlZCEhXG4iKTsKIH0KQEAgLTE5Niw3ICszMDksNyBAQAogCiBzdGF0aWMgdm9pZCBfX2luaXQgTVBfbGludHNyY19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2xpbnRzcmMgKm0pCiB7Ci0JRHByaW50aygiTGludDogdHlwZSAlZCwgcG9sICVkLCB0cmlnICVkLCBidXMgJWQsIgorCXByaW50ayhLRVJOX0lORk8gIkxpbnQ6IHR5cGUgJWQsIHBvbCAlZCwgdHJpZyAlZCwgYnVzICUwMngsIgogCQkiIElSUSAlMDJ4LCBBUElDIElEICV4LCBBUElDIExJTlQgJTAyeFxuIiwKIAkJbS0+bXBjX2lycXR5cGUsIG0tPm1wY19pcnFmbGFnICYgMywKIAkJKG0tPm1wY19pcnFmbGFnID4+IDIpICYgMywgbS0+bXBjX3NyY2J1c2lkLApAQCAtMjY2LDExICszNzksMTQgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAordm9pZCBudW1hcV9tcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAogCQkJCSBjaGFyICpwcm9kdWN0aWQpCiB7CiAJaWYgKHN0cm5jbXAob2VtLCAiSUJNIE5VTUEiLCA4KSkKLQkJcHJpbnRrKCJXYXJuaW5nISAgTWF5IG5vdCBiZSBhIE5VTUEtUSBzeXN0ZW0hXG4iKTsKKwkJcHJpbnRrKCJXYXJuaW5nISAgTm90IGEgTlVNQS1RIHN5c3RlbSFcbiIpOworCWVsc2UKKwkJZm91bmRfbnVtYXEgPSAxOworCiAJaWYgKG1wYy0+bXBjX29lbXB0cikKIAkJc21wX3JlYWRfbXBjX29lbSgoc3RydWN0IG1wX2NvbmZpZ19vZW10YWJsZSAqKW1wYy0+bXBjX29lbXB0ciwKIAkJCQkgbXBjLT5tcGNfb2Vtc2l6ZSk7CkBAIC0yODEsMTIgKzM5Nyw5IEBACiAgKiBSZWFkL3BhcnNlIHRoZSBNUEMKICAqLwogCi1zdGF0aWMgaW50IF9faW5pdCBzbXBfcmVhZF9tcGMoc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCB1bnNpZ25lZCBlYXJseSkKK3N0YXRpYyBpbnQgX19pbml0IHNtcF9jaGVja19tcGMoc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sCisJCQkJY2hhciAqc3RyKQogewotCWNoYXIgc3RyWzE2XTsKLQljaGFyIG9lbVsxMF07Ci0JaW50IGNvdW50ID0gc2l6ZW9mKCptcGMpOwotCXVuc2lnbmVkIGNoYXIgKm1wdCA9ICgodW5zaWduZWQgY2hhciAqKW1wYykgKyBjb3VudDsKIAogCWlmIChtZW1jbXAobXBjLT5tcGNfc2lnbmF0dXJlLCBNUENfU0lHTkFUVVJFLCA0KSkgewogCQlwcmludGsoS0VSTl9FUlIgIk1QVEFCTEU6IGJhZCBzaWduYXR1cmUgWyVjJWMlYyVjXSFcbiIsCkBAIC0zMDksMTkgKzQyMiw0MiBAQAogCX0KIAltZW1jcHkob2VtLCBtcGMtPm1wY19vZW0sIDgpOwogCW9lbVs4XSA9IDA7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiTVBUQUJMRTogT0VNIElEOiAlcyAiLCBvZW0pOworCXByaW50ayhLRVJOX0lORk8gIk1QVEFCTEU6IE9FTSBJRDogJXNcbiIsIG9lbSk7CiAKIAltZW1jcHkoc3RyLCBtcGMtPm1wY19wcm9kdWN0aWQsIDEyKTsKIAlzdHJbMTJdID0gMDsKLQlwcmludGsoIlByb2R1Y3QgSUQ6ICVzICIsIHN0cik7CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JbXBzX29lbV9jaGVjayhtcGMsIG9lbSwgc3RyKTsKLSNlbmRpZgotCXByaW50ayhLRVJOX0lORk8gIk1QVEFCTEU6IFByb2R1Y3QgSUQ6ICVzICIsIHN0cik7CisJcHJpbnRrKEtFUk5fSU5GTyAiTVBUQUJMRTogUHJvZHVjdCBJRDogJXNcbiIsIHN0cik7CiAKIAlwcmludGsoS0VSTl9JTkZPICJNUFRBQkxFOiBBUElDIGF0OiAweCVYXG4iLCBtcGMtPm1wY19sYXBpYyk7CiAKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBfX2luaXQgc21wX3JlYWRfbXBjKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgdW5zaWduZWQgZWFybHkpCit7CisJY2hhciBzdHJbMTZdOworCWNoYXIgb2VtWzEwXTsKKworCWludCBjb3VudCA9IHNpemVvZigqbXBjKTsKKwl1bnNpZ25lZCBjaGFyICptcHQgPSAoKHVuc2lnbmVkIGNoYXIgKiltcGMpICsgY291bnQ7CisKKwlpZiAoIXNtcF9jaGVja19tcGMobXBjLCBvZW0sIHN0cikpCisJCXJldHVybiAwOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCS8qCisJICogbmVlZCB0byBtYWtlIHN1cmUgc3VtbWl0IGFuZCBlczcwMDAncyBtcHNfb2VtX2NoZWNrIGlzIHNhZmUgdG8gYmUKKwkgKiBjYWxsZWQgZWFybHkgdmlhIGdlbmVyaWNhcmNoICdzIG1wc19vZW1fY2hlY2sKKwkgKi8KKwlpZiAoZWFybHkpIHsKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJCW51bWFxX21wc19vZW1fY2hlY2sobXBjLCBvZW0sIHN0cik7CisjZW5kaWYKKwl9IGVsc2UKKwkJbXBzX29lbV9jaGVjayhtcGMsIG9lbSwgc3RyKTsKKyNlbmRpZgorCiAJLyogc2F2ZSB0aGUgbG9jYWwgQVBJQyBhZGRyZXNzLCBpdCBtaWdodCBiZSBub24tZGVmYXVsdCAqLwogCWlmICghYWNwaV9sYXBpYykKIAkJbXBfbGFwaWNfYWRkciA9IG1wYy0+bXBjX2xhcGljOwpAQCAtMzUyLDcgKzQ4OCw5IEBACiAJCQl7CiAJCQkJc3RydWN0IG1wY19jb25maWdfYnVzICptID0KIAkJCQkgICAgKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqKW1wdDsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAkJCQlNUF9idXNfaW5mbyhtKTsKKyNlbmRpZgogCQkJCW1wdCArPSBzaXplb2YoKm0pOwogCQkJCWNvdW50ICs9IHNpemVvZigqbSk7CiAJCQkJYnJlYWs7CkBAIC00MDIsNiArNTQwLDExIEBACiAJCSsrbXBjX3JlY29yZDsKICNlbmRpZgogCX0KKworI2lmZGVmIENPTkZJR19YODZfR0VORVJJQ0FSQ0gKKyAgICAgICBnZW5lcmljX2JpZ3NtcF9wcm9iZSgpOworI2VuZGlmCisKIAlzZXR1cF9hcGljX3JvdXRpbmcoKTsKIAlpZiAoIW51bV9wcm9jZXNzb3JzKQogCQlwcmludGsoS0VSTl9FUlIgIk1QVEFCTEU6IG5vIHByb2Nlc3NvcnMgcmVnaXN0ZXJlZCFcbiIpOwpAQCAtNDI3LDcgKzU3MCw3IEBACiAJaW50c3JjLm1wY190eXBlID0gTVBfSU5UU1JDOwogCWludHNyYy5tcGNfaXJxZmxhZyA9IDA7CS8qIGNvbmZvcm1pbmcgKi8KIAlpbnRzcmMubXBjX3NyY2J1cyA9IDA7Ci0JaW50c3JjLm1wY19kc3RhcGljID0gbXBfaW9hcGljc1swXS5tcGNfYXBpY2lkOworCWludHNyYy5tcGNfZHN0YXBpYyA9IG1wX2lvYXBpY3NbMF0ubXBfYXBpY2lkOwogCiAJaW50c3JjLm1wY19pcnF0eXBlID0gbXBfSU5UOwogCkBAIC00ODgsNDAgKzYzMSwxMSBAQAogCU1QX2ludHNyY19pbmZvKCZpbnRzcmMpOwogfQogCi0jZW5kaWYKIAotc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCBjb25zdHJ1Y3RfZGVmYXVsdF9JU0FfbXB0YWJsZShpbnQgbXBjX2RlZmF1bHRfdHlwZSkKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdF9pb2FwaWNfdGFibGUoaW50IG1wY19kZWZhdWx0X3R5cGUpCiB7Ci0Jc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yIHByb2Nlc3NvcjsKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgYnVzOwotI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCXN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyBpb2FwaWM7Ci0jZW5kaWYKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19saW50c3JjIGxpbnRzcmM7Ci0JaW50IGxpbnR0eXBlc1syXSA9IHsgbXBfRXh0SU5ULCBtcF9OTUkgfTsKLQlpbnQgaTsKLQotCS8qCi0JICogbG9jYWwgQVBJQyBoYXMgZGVmYXVsdCBhZGRyZXNzCi0JICovCi0JbXBfbGFwaWNfYWRkciA9IEFQSUNfREVGQVVMVF9QSFlTX0JBU0U7Ci0KLQkvKgotCSAqIDIgQ1BVcywgbnVtYmVyZWQgMCAmIDEuCi0JICovCi0JcHJvY2Vzc29yLm1wY190eXBlID0gTVBfUFJPQ0VTU09SOwotCS8qIEVpdGhlciBhbiBpbnRlZ3JhdGVkIEFQSUMgb3IgYSBkaXNjcmV0ZSA4MjQ4OURYLiAqLwotCXByb2Nlc3Nvci5tcGNfYXBpY3ZlciA9IG1wY19kZWZhdWx0X3R5cGUgPiA0ID8gMHgxMCA6IDB4MDE7Ci0JcHJvY2Vzc29yLm1wY19jcHVmbGFnID0gQ1BVX0VOQUJMRUQ7Ci0JcHJvY2Vzc29yLm1wY19jcHVmZWF0dXJlID0gKGJvb3RfY3B1X2RhdGEueDg2IDw8IDgpIHwKLQkgICAgKGJvb3RfY3B1X2RhdGEueDg2X21vZGVsIDw8IDQpIHwgYm9vdF9jcHVfZGF0YS54ODZfbWFzazsKLQlwcm9jZXNzb3IubXBjX2ZlYXR1cmVmbGFnID0gYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eVswXTsKLQlwcm9jZXNzb3IubXBjX3Jlc2VydmVkWzBdID0gMDsKLQlwcm9jZXNzb3IubXBjX3Jlc2VydmVkWzFdID0gMDsKLQlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7Ci0JCXByb2Nlc3Nvci5tcGNfYXBpY2lkID0gaTsKLQkJTVBfcHJvY2Vzc29yX2luZm8oJnByb2Nlc3Nvcik7Ci0JfQorCXN0cnVjdCBtcGNfY29uZmlnX2J1cyBidXM7CiAKIAlidXMubXBjX3R5cGUgPSBNUF9CVVM7CiAJYnVzLm1wY19idXNpZCA9IDA7CkBAIC01NTAsNyArNjY0LDYgQEAKIAkJTVBfYnVzX2luZm8oJmJ1cyk7CiAJfQogCi0jaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJaW9hcGljLm1wY190eXBlID0gTVBfSU9BUElDOwogCWlvYXBpYy5tcGNfYXBpY2lkID0gMjsKIAlpb2FwaWMubXBjX2FwaWN2ZXIgPSBtcGNfZGVmYXVsdF90eXBlID4gNCA/IDB4MTAgOiAweDAxOwpAQCAtNTYyLDcgKzY3NSw0MiBAQAogCSAqIFdlIHNldCB1cCBtb3N0IG9mIHRoZSBsb3cgMTYgSU8tQVBJQyBwaW5zIGFjY29yZGluZyB0byBNUFMgcnVsZXMuCiAJICovCiAJY29uc3RydWN0X2RlZmF1bHRfaW9pcnFfbXB0YWJsZShtcGNfZGVmYXVsdF90eXBlKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgY29uc3RydWN0X2lvYXBpY190YWJsZShpbnQgbXBjX2RlZmF1bHRfdHlwZSkgeyB9CiAjZW5kaWYKKworc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCBjb25zdHJ1Y3RfZGVmYXVsdF9JU0FfbXB0YWJsZShpbnQgbXBjX2RlZmF1bHRfdHlwZSkKK3sKKwlzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgcHJvY2Vzc29yOworCXN0cnVjdCBtcGNfY29uZmlnX2xpbnRzcmMgbGludHNyYzsKKwlpbnQgbGludHR5cGVzWzJdID0geyBtcF9FeHRJTlQsIG1wX05NSSB9OworCWludCBpOworCisJLyoKKwkgKiBsb2NhbCBBUElDIGhhcyBkZWZhdWx0IGFkZHJlc3MKKwkgKi8KKwltcF9sYXBpY19hZGRyID0gQVBJQ19ERUZBVUxUX1BIWVNfQkFTRTsKKworCS8qCisJICogMiBDUFVzLCBudW1iZXJlZCAwICYgMS4KKwkgKi8KKwlwcm9jZXNzb3IubXBjX3R5cGUgPSBNUF9QUk9DRVNTT1I7CisJLyogRWl0aGVyIGFuIGludGVncmF0ZWQgQVBJQyBvciBhIGRpc2NyZXRlIDgyNDg5RFguICovCisJcHJvY2Vzc29yLm1wY19hcGljdmVyID0gbXBjX2RlZmF1bHRfdHlwZSA+IDQgPyAweDEwIDogMHgwMTsKKwlwcm9jZXNzb3IubXBjX2NwdWZsYWcgPSBDUFVfRU5BQkxFRDsKKwlwcm9jZXNzb3IubXBjX2NwdWZlYXR1cmUgPSAoYm9vdF9jcHVfZGF0YS54ODYgPDwgOCkgfAorCSAgICAoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPDwgNCkgfCBib290X2NwdV9kYXRhLng4Nl9tYXNrOworCXByb2Nlc3Nvci5tcGNfZmVhdHVyZWZsYWcgPSBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5WzBdOworCXByb2Nlc3Nvci5tcGNfcmVzZXJ2ZWRbMF0gPSAwOworCXByb2Nlc3Nvci5tcGNfcmVzZXJ2ZWRbMV0gPSAwOworCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKKwkJcHJvY2Vzc29yLm1wY19hcGljaWQgPSBpOworCQlNUF9wcm9jZXNzb3JfaW5mbygmcHJvY2Vzc29yKTsKKwl9CisKKwljb25zdHJ1Y3RfaW9hcGljX3RhYmxlKG1wY19kZWZhdWx0X3R5cGUpOworCiAJbGludHNyYy5tcGNfdHlwZSA9IE1QX0xJTlRTUkM7CiAJbGludHNyYy5tcGNfaXJxZmxhZyA9IDA7CS8qIGNvbmZvcm1pbmcgKi8KIAlsaW50c3JjLm1wY19zcmNidXNpZCA9IDA7CkBAIC01NzgsMTIgKzcyNiwyMiBAQAogc3RhdGljIHN0cnVjdCBpbnRlbF9tcF9mbG9hdGluZyAqbXBmX2ZvdW5kOwogCiAvKgorICogTWFjaGluZSBzcGVjaWZpYyBxdWlyayBmb3IgZmluZGluZyB0aGUgU01QIGNvbmZpZyBiZWZvcmUgb3RoZXIgc2V0dXAKKyAqIGFjdGl2aXRpZXMgZGVzdHJveSB0aGUgdGFibGU6CisgKi8KK2ludCAoKm1hY2hfZ2V0X3NtcF9jb25maWdfcXVpcmspKHVuc2lnbmVkIGludCBlYXJseSk7CisKKy8qCiAgKiBTY2FuIHRoZSBtZW1vcnkgYmxvY2tzIGZvciBhbiBTTVAgY29uZmlndXJhdGlvbiBibG9jay4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IF9fZ2V0X3NtcF9jb25maWcodW5zaWduZWQgZWFybHkpCitzdGF0aWMgdm9pZCBfX2luaXQgX19nZXRfc21wX2NvbmZpZyh1bnNpZ25lZCBpbnQgZWFybHkpCiB7CiAJc3RydWN0IGludGVsX21wX2Zsb2F0aW5nICptcGYgPSBtcGZfZm91bmQ7CiAKKwlpZiAobWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyaykgeworCQlpZiAobWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyayhlYXJseSkpCisJCQlyZXR1cm47CisJfQogCWlmIChhY3BpX2xhcGljICYmIGVhcmx5KQogCQlyZXR1cm47CiAJLyoKQEAgLTYwMCw3ICs3NTgsNyBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgTXVsdGlQcm9jZXNzb3IgU3BlY2lmaWNhdGlvbiB2MS4lZFxuIiwKIAkgICAgICAgbXBmLT5tcGZfc3BlY2lmaWNhdGlvbik7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgorI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKSAmJiBkZWZpbmVkKENPTkZJR19YODZfMzIpCiAJaWYgKG1wZi0+bXBmX2ZlYXR1cmUyICYgKDEgPDwgNykpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiICAgIElNQ1IgYW5kIFBJQyBjb21wYXRpYmlsaXR5IG1vZGUuXG4iKTsKIAkJcGljX21vZGUgPSAxOwpAQCAtNjMyLDcgKzc5MCw5IEBACiAJCSAqIG92ZXJyaWRlIHRoZSBkZWZhdWx0cy4KIAkJICovCiAJCWlmICghc21wX3JlYWRfbXBjKHBoeXNfdG9fdmlydChtcGYtPm1wZl9waHlzcHRyKSwgZWFybHkpKSB7CisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCQlzbXBfZm91bmRfY29uZmlnID0gMDsKKyNlbmRpZgogCQkJcHJpbnRrKEtFUk5fRVJSCiAJCQkgICAgICAgIkJJT1MgYnVnLCBNUCB0YWJsZSBlcnJvcnMgZGV0ZWN0ZWQhLi4uXG4iKTsKIAkJCXByaW50ayhLRVJOX0VSUiAiLi4uIGRpc2FibGluZyBTTVAgc3VwcG9ydC4gIgpAQCAtNjg5LDcgKzg0OSw3IEBACiAJdW5zaWduZWQgaW50ICpicCA9IHBoeXNfdG9fdmlydChiYXNlKTsKIAlzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgKm1wZjsKIAotCURwcmludGsoIlNjYW4gU01QIGZyb20gJXAgZm9yICVsZCBieXRlcy5cbiIsIGJwLCBsZW5ndGgpOworCXByaW50ayhLRVJOX0RFQlVHICJTY2FuIFNNUCBmcm9tICVwIGZvciAlbGQgYnl0ZXMuXG4iLCBicCwgbGVuZ3RoKTsKIAlCVUlMRF9CVUdfT04oc2l6ZW9mKCptcGYpICE9IDE2KTsKIAogCXdoaWxlIChsZW5ndGggPiAwKSB7CkBAIC02OTksMTUgKzg1OSwyMSBAQAogCQkgICAgIW1wZl9jaGVja3N1bSgodW5zaWduZWQgY2hhciAqKWJwLCAxNikgJiYKIAkJICAgICgobXBmLT5tcGZfc3BlY2lmaWNhdGlvbiA9PSAxKQogCQkgICAgIHx8IChtcGYtPm1wZl9zcGVjaWZpY2F0aW9uID09IDQpKSkgewotCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCQlzbXBfZm91bmRfY29uZmlnID0gMTsKKyNlbmRpZgogCQkJbXBmX2ZvdW5kID0gbXBmOwotI2lmZGVmIENPTkZJR19YODZfMzIKKwogCQkJcHJpbnRrKEtFUk5fSU5GTyAiZm91bmQgU01QIE1QLXRhYmxlIGF0IFslcF0gJTA4bHhcbiIsCiAJCQkgICAgICAgbXBmLCB2aXJ0X3RvX3BoeXMobXBmKSk7Ci0JCQlyZXNlcnZlX2Jvb3RtZW0odmlydF90b19waHlzKG1wZiksIFBBR0VfU0laRSwKKworCQkJaWYgKCFyZXNlcnZlKQorCQkJCXJldHVybiAxOworCQkJcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWModmlydF90b19waHlzKG1wZiksIFBBR0VfU0laRSwKIAkJCQkJQk9PVE1FTV9ERUZBVUxUKTsKIAkJCWlmIChtcGYtPm1wZl9waHlzcHRyKSB7CisJCQkJdW5zaWduZWQgbG9uZyBzaXplID0gUEFHRV9TSVpFOworI2lmZGVmIENPTkZJR19YODZfMzIKIAkJCQkvKgogCQkJCSAqIFdlIGNhbm5vdCBhY2Nlc3MgdG8gTVBDIHRhYmxlIHRvIGNvbXB1dGUKIAkJCQkgKiB0YWJsZSBzaXplIHlldCwgYXMgb25seSBmZXcgbWVnYWJ5dGVzIGZyb20KQEAgLTcxNywyNCArODgzLDE1IEBACiAJCQkJICogUEFHRV9TSVpFIGZyb20gbXBnLT5tcGZfcGh5c3B0ciB5aWVsZHMgQlVHKCkKIAkJCQkgKiBpbiByZXNlcnZlX2Jvb3RtZW0uCiAJCQkJICovCi0JCQkJdW5zaWduZWQgbG9uZyBzaXplID0gUEFHRV9TSVpFOwogCQkJCXVuc2lnbmVkIGxvbmcgZW5kID0gbWF4X2xvd19wZm4gKiBQQUdFX1NJWkU7CiAJCQkJaWYgKG1wZi0+bXBmX3BoeXNwdHIgKyBzaXplID4gZW5kKQogCQkJCQlzaXplID0gZW5kIC0gbXBmLT5tcGZfcGh5c3B0cjsKLQkJCQlyZXNlcnZlX2Jvb3RtZW0obXBmLT5tcGZfcGh5c3B0ciwgc2l6ZSwKKyNlbmRpZgorCQkJCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKG1wZi0+bXBmX3BoeXNwdHIsIHNpemUsCiAJCQkJCQlCT09UTUVNX0RFRkFVTFQpOwogCQkJfQogCi0jZWxzZQotCQkJaWYgKCFyZXNlcnZlKQotCQkJCXJldHVybiAxOwotCi0JCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh2aXJ0X3RvX3BoeXMobXBmKSwgUEFHRV9TSVpFKTsKLQkJCWlmIChtcGYtPm1wZl9waHlzcHRyKQotCQkJCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKG1wZi0+bXBmX3BoeXNwdHIsCi0JCQkJCQkJUEFHRV9TSVpFKTsKLSNlbmRpZgotCQlyZXR1cm4gMTsKKwkJCXJldHVybiAxOwogCQl9CiAJCWJwICs9IDQ7CiAJCWxlbmd0aCAtPSAxNjsKQEAgLTc0MiwxMCArODk5LDE2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBfX2ZpbmRfc21wX2NvbmZpZyh1bnNpZ25lZCByZXNlcnZlKQoraW50ICgqbWFjaF9maW5kX3NtcF9jb25maWdfcXVpcmspKHVuc2lnbmVkIGludCByZXNlcnZlKTsKKworc3RhdGljIHZvaWQgX19pbml0IF9fZmluZF9zbXBfY29uZmlnKHVuc2lnbmVkIGludCByZXNlcnZlKQogewogCXVuc2lnbmVkIGludCBhZGRyZXNzOwogCisJaWYgKG1hY2hfZmluZF9zbXBfY29uZmlnX3F1aXJrKSB7CisJCWlmIChtYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyayhyZXNlcnZlKSkKKwkJCXJldHVybjsKKwl9CiAJLyoKIAkgKiBGSVhNRTogTGludXggYXNzdW1lcyB5b3UgaGF2ZSA2NDBLIG9mIGJhc2UgcmFtLi4KIAkgKiB0aGlzIGNvbnRpbnVlcyB0aGUgZXJyb3IuLi4KQEAgLTc5MCwyOTggKzk1MywyOTQgQEAKIAlfX2ZpbmRfc21wX2NvbmZpZygxKTsKIH0KIAotLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJLWJhc2VkIE1QIENvbmZpZ3VyYXRpb24KLSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCitzdGF0aWMgdTggX19pbml0ZGF0YSBpcnFfdXNlZFtNQVhfSVJRX1NPVVJDRVNdOwogCi0vKgotICogS2VlcCB0aGlzIG91dHNpZGUgYW5kIGluaXRpYWxpemVkIHRvIDAsIGZvciAhQ09ORklHX0FDUEkgYnVpbGRzOgotICovCi1pbnQgZXM3MDAwX3BsYXQ7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSQotCi0jaWZkZWYJQ09ORklHX1g4Nl9JT19BUElDCi0KLSNkZWZpbmUgTVBfSVNBX0JVUwkJMAotCi1leHRlcm4gc3RydWN0IG1wX2lvYXBpY19yb3V0aW5nIG1wX2lvYXBpY19yb3V0aW5nW01BWF9JT19BUElDU107Ci0KLXN0YXRpYyBpbnQgbXBfZmluZF9pb2FwaWMoaW50IGdzaSkKK3N0YXRpYyBpbnQgIF9faW5pdCBnZXRfTVBfaW50c3JjX2luZGV4KHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSkKIHsKLQlpbnQgaSA9IDA7CisJaW50IGk7CiAKLQkvKiBGaW5kIHRoZSBJT0FQSUMgdGhhdCBtYW5hZ2VzIHRoaXMgR1NJLiAqLwotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKLQkJaWYgKChnc2kgPj0gbXBfaW9hcGljX3JvdXRpbmdbaV0uZ3NpX2Jhc2UpCi0JCSAgICAmJiAoZ3NpIDw9IG1wX2lvYXBpY19yb3V0aW5nW2ldLmdzaV9lbmQpKQotCQkJcmV0dXJuIGk7CisJaWYgKG0tPm1wY19pcnF0eXBlICE9IG1wX0lOVCkKKwkJcmV0dXJuIDA7CisKKwlpZiAobS0+bXBjX2lycWZsYWcgIT0gMHgwZikKKwkJcmV0dXJuIDA7CisKKwkvKiBub3QgbGVnYWN5ICovCisKKwlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgeworCQlpZiAobXBfaXJxc1tpXS5tcF9pcnF0eXBlICE9IG1wX0lOVCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycWZsYWcgIT0gMHgwZikKKwkJCWNvbnRpbnVlOworCisJCWlmIChtcF9pcnFzW2ldLm1wX3NyY2J1cyAhPSBtLT5tcGNfc3JjYnVzKQorCQkJY29udGludWU7CisJCWlmIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSAhPSBtLT5tcGNfc3JjYnVzaXJxKQorCQkJY29udGludWU7CisJCWlmIChpcnFfdXNlZFtpXSkgeworCQkJLyogYWxyZWFkeSBjbGFpbWVkICovCisJCQlyZXR1cm4gLTI7CisJCX0KKwkJaXJxX3VzZWRbaV0gPSAxOworCQlyZXR1cm4gaTsKIAl9CiAKLQlwcmludGsoS0VSTl9FUlIgIkVSUk9SOiBVbmFibGUgdG8gbG9jYXRlIElPQVBJQyBmb3IgR1NJICVkXG4iLCBnc2kpOworCS8qIG5vdCBmb3VuZCAqLwogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIHU4IF9faW5pdCB1bmlxX2lvYXBpY19pZCh1OCBpZCkKLXsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JaWYgKChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCkgJiYKLQkgICAgIUFQSUNfWEFQSUMoYXBpY192ZXJzaW9uW2Jvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZF0pKQotCQlyZXR1cm4gaW9fYXBpY19nZXRfdW5pcXVlX2lkKG5yX2lvYXBpY3MsIGlkKTsKLQllbHNlCi0JCXJldHVybiBpZDsKLSNlbHNlCi0JaW50IGk7Ci0JREVDTEFSRV9CSVRNQVAodXNlZCwgMjU2KTsKLQliaXRtYXBfemVybyh1c2VkLCAyNTYpOwotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKLQkJc3RydWN0IG1wY19jb25maWdfaW9hcGljICppYSA9ICZtcF9pb2FwaWNzW2ldOwotCQlfX3NldF9iaXQoaWEtPm1wY19hcGljaWQsIHVzZWQpOwotCX0KLQlpZiAoIXRlc3RfYml0KGlkLCB1c2VkKSkKLQkJcmV0dXJuIGlkOwotCXJldHVybiBmaW5kX2ZpcnN0X3plcm9fYml0KHVzZWQsIDI1Nik7CisjZGVmaW5lIFNQQVJFX1NMT1RfTlVNIDIwCisKK3N0YXRpYyBzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgX19pbml0ZGF0YSAqbV9zcGFyZVtTUEFSRV9TTE9UX05VTV07CiAjZW5kaWYKLX0KIAotdm9pZCBfX2luaXQgbXBfcmVnaXN0ZXJfaW9hcGljKGludCBpZCwgdTMyIGFkZHJlc3MsIHUzMiBnc2lfYmFzZSkKK3N0YXRpYyBpbnQgIF9faW5pdCByZXBsYWNlX2ludHNyY19hbGwoc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLAorCQkJCQl1bnNpZ25lZCBsb25nIG1wY19uZXdfcGh5cywKKwkJCQkJdW5zaWduZWQgbG9uZyBtcGNfbmV3X2xlbmd0aCkKIHsKLQlpbnQgaWR4ID0gMDsKLQotCWlmIChiYWRfaW9hcGljKGFkZHJlc3MpKQotCQlyZXR1cm47Ci0KLQlpZHggPSBucl9pb2FwaWNzOwotCi0JbXBfaW9hcGljc1tpZHhdLm1wY190eXBlID0gTVBfSU9BUElDOwotCW1wX2lvYXBpY3NbaWR4XS5tcGNfZmxhZ3MgPSBNUENfQVBJQ19VU0FCTEU7Ci0JbXBfaW9hcGljc1tpZHhdLm1wY19hcGljYWRkciA9IGFkZHJlc3M7Ci0KLQlzZXRfZml4bWFwX25vY2FjaGUoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4LCBhZGRyZXNzKTsKLQltcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNpZCA9IHVuaXFfaW9hcGljX2lkKGlkKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JbXBfaW9hcGljc1tpZHhdLm1wY19hcGljdmVyID0gaW9fYXBpY19nZXRfdmVyc2lvbihpZHgpOwotI2Vsc2UKLQltcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWN2ZXIgPSAwOwotI2VuZGlmCi0JLyoKLQkgKiBCdWlsZCBiYXNpYyBHU0kgbG9va3VwIHRhYmxlIHRvIGZhY2lsaXRhdGUgZ3NpLT5pb19hcGljIGxvb2t1cHMKLQkgKiBhbmQgdG8gcHJldmVudCByZXByb2dyYW1taW5nIG9mIElPQVBJQyBwaW5zIChQQ0kgR1NJcykuCi0JICovCi0JbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5hcGljX2lkID0gbXBfaW9hcGljc1tpZHhdLm1wY19hcGljaWQ7Ci0JbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfYmFzZSA9IGdzaV9iYXNlOwotCW1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2VuZCA9IGdzaV9iYXNlICsKLQkgICAgaW9fYXBpY19nZXRfcmVkaXJfZW50cmllcyhpZHgpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiSU9BUElDWyVkXTogYXBpY19pZCAlZCwgdmVyc2lvbiAlZCwgYWRkcmVzcyAweCV4LCAiCi0JICAgICAgICJHU0kgJWQtJWRcbiIsIGlkeCwgbXBfaW9hcGljc1tpZHhdLm1wY19hcGljaWQsCi0JICAgICAgIG1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY3ZlciwgbXBfaW9hcGljc1tpZHhdLm1wY19hcGljYWRkciwKLQkgICAgICAgbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfYmFzZSwgbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfZW5kKTsKLQotCW5yX2lvYXBpY3MrKzsKLX0KLQotdm9pZCBfX2luaXQgbXBfb3ZlcnJpZGVfbGVnYWN5X2lycSh1OCBidXNfaXJxLCB1OCBwb2xhcml0eSwgdTggdHJpZ2dlciwgdTMyIGdzaSkKLXsKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgaW50c3JjOwotCWludCBpb2FwaWMgPSAtMTsKLQlpbnQgcGluID0gLTE7Ci0KLQkvKgotCSAqIENvbnZlcnQgJ2dzaScgdG8gJ2lvYXBpYy5waW4nLgotCSAqLwotCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKGdzaSk7Ci0JaWYgKGlvYXBpYyA8IDApCi0JCXJldHVybjsKLQlwaW4gPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOwotCi0JLyoKLQkgKiBUQkQ6IFRoaXMgY2hlY2sgaXMgZm9yIGZhdWx0eSB0aW1lciBlbnRyaWVzLCB3aGVyZSB0aGUgb3ZlcnJpZGUKLQkgKiAgICAgIGVycm9uZW91c2x5IHNldHMgdGhlIHRyaWdnZXIgdG8gbGV2ZWwsIHJlc3VsdGluZyBpbiBhIEhVR0UKLQkgKiAgICAgIGluY3JlYXNlIG9mIHRpbWVyIGludGVycnVwdHMhCi0JICovCi0JaWYgKChidXNfaXJxID09IDApICYmICh0cmlnZ2VyID09IDMpKQotCQl0cmlnZ2VyID0gMTsKLQotCWludHNyYy5tcGNfdHlwZSA9IE1QX0lOVFNSQzsKLQlpbnRzcmMubXBjX2lycXR5cGUgPSBtcF9JTlQ7Ci0JaW50c3JjLm1wY19pcnFmbGFnID0gKHRyaWdnZXIgPDwgMikgfCBwb2xhcml0eTsKLQlpbnRzcmMubXBjX3NyY2J1cyA9IE1QX0lTQV9CVVM7Ci0JaW50c3JjLm1wY19zcmNidXNpcnEgPSBidXNfaXJxOwkvKiBJUlEgKi8KLQlpbnRzcmMubXBjX2RzdGFwaWMgPSBtcF9pb2FwaWNzW2lvYXBpY10ubXBjX2FwaWNpZDsJLyogQVBJQyBJRCAqLwotCWludHNyYy5tcGNfZHN0aXJxID0gcGluOwkvKiBJTlRJTiMgKi8KLQotCU1QX2ludHNyY19pbmZvKCZpbnRzcmMpOwotfQotCi12b2lkIF9faW5pdCBtcF9jb25maWdfYWNwaV9sZWdhY3lfaXJxcyh2b2lkKQotewotCXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBpbnRzcmM7Ci0JaW50IGkgPSAwOwotCWludCBpb2FwaWMgPSAtMTsKLQotI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQotCS8qCi0JICogRmFicmljYXRlIHRoZSBsZWdhY3kgSVNBIGJ1cyAoYnVzICMzMSkuCi0JICovCi0JbXBfYnVzX2lkX3RvX3R5cGVbTVBfSVNBX0JVU10gPSBNUF9CVVNfSVNBOwotI2VuZGlmCi0Jc2V0X2JpdChNUF9JU0FfQlVTLCBtcF9idXNfbm90X3BjaSk7Ci0JRHByaW50aygiQnVzICMlZCBpcyBJU0FcbiIsIE1QX0lTQV9CVVMpOwotCi0JLyoKLQkgKiBPbGRlciBnZW5lcmF0aW9ucyBvZiBFUzcwMDAgaGF2ZSBubyBsZWdhY3kgaWRlbnRpdHkgbWFwcGluZ3MKLQkgKi8KLQlpZiAoZXM3MDAwX3BsYXQgPT0gMSkKLQkJcmV0dXJuOwotCi0JLyoKLQkgKiBMb2NhdGUgdGhlIElPQVBJQyB0aGF0IG1hbmFnZXMgdGhlIElTQSBJUlFzICgwLTE1KS4KLQkgKi8KLQlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYygwKTsKLQlpZiAoaW9hcGljIDwgMCkKLQkJcmV0dXJuOwotCi0JaW50c3JjLm1wY190eXBlID0gTVBfSU5UU1JDOwotCWludHNyYy5tcGNfaXJxZmxhZyA9IDA7CS8qIENvbmZvcm1pbmcgKi8KLQlpbnRzcmMubXBjX3NyY2J1cyA9IE1QX0lTQV9CVVM7CiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCi0JaW50c3JjLm1wY19kc3RhcGljID0gbXBfaW9hcGljc1tpb2FwaWNdLm1wY19hcGljaWQ7CisJaW50IGk7CisJaW50IG5yX21fc3BhcmUgPSAwOwogI2VuZGlmCi0JLyoKLQkgKiBVc2UgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgdGhlIElSUXMgMC0xNS4gIFVubGVzcwotCSAqIG92ZXJyaWRkZW4gYnkgKE1BRFQpIGludGVycnVwdCBzb3VyY2Ugb3ZlcnJpZGUgZW50cmllcy4KLQkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykgewotCQlpbnQgaWR4OwogCi0JCWZvciAoaWR4ID0gMDsgaWR4IDwgbXBfaXJxX2VudHJpZXM7IGlkeCsrKSB7Ci0JCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKmlycSA9IG1wX2lycXMgKyBpZHg7CisJaW50IGNvdW50ID0gc2l6ZW9mKCptcGMpOworCXVuc2lnbmVkIGNoYXIgKm1wdCA9ICgodW5zaWduZWQgY2hhciAqKW1wYykgKyBjb3VudDsKIAotCQkJLyogRG8gd2UgYWxyZWFkeSBoYXZlIGEgbWFwcGluZyBmb3IgdGhpcyBJU0EgSVJRPyAqLwotCQkJaWYgKGlycS0+bXBjX3NyY2J1cyA9PSBNUF9JU0FfQlVTCi0JCQkgICAgJiYgaXJxLT5tcGNfc3JjYnVzaXJxID09IGkpCisJcHJpbnRrKEtFUk5fSU5GTyAibXBjX2xlbmd0aCAleFxuIiwgbXBjLT5tcGNfbGVuZ3RoKTsKKwl3aGlsZSAoY291bnQgPCBtcGMtPm1wY19sZW5ndGgpIHsKKwkJc3dpdGNoICgqbXB0KSB7CisJCWNhc2UgTVBfUFJPQ0VTU09SOgorCQkJeworCQkJCXN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSA9CisJCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKiltcHQ7CisJCQkJbXB0ICs9IHNpemVvZigqbSk7CisJCQkJY291bnQgKz0gc2l6ZW9mKCptKTsKIAkJCQlicmVhazsKLQotCQkJLyogRG8gd2UgYWxyZWFkeSBoYXZlIGEgbWFwcGluZyBmb3IgdGhpcyBJT0FQSUMgcGluICovCi0JCQlpZiAoKGlycS0+bXBjX2RzdGFwaWMgPT0gaW50c3JjLm1wY19kc3RhcGljKSAmJgotCQkJICAgIChpcnEtPm1wY19kc3RpcnEgPT0gaSkpCisJCQl9CisJCWNhc2UgTVBfQlVTOgorCQkJeworCQkJCXN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSA9CisJCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKiltcHQ7CisJCQkJbXB0ICs9IHNpemVvZigqbSk7CisJCQkJY291bnQgKz0gc2l6ZW9mKCptKTsKIAkJCQlicmVhazsKKwkJCX0KKwkJY2FzZSBNUF9JT0FQSUM6CisJCQl7CisJCQkJbXB0ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMpOworCQkJCWNvdW50ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMpOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlIE1QX0lOVFNSQzoKKwkJCXsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0gPQorCQkJCSAgICAoc3RydWN0IG1wY19jb25maWdfaW50c3JjICopbXB0OworCisJCQkJcHJpbnRrKEtFUk5fSU5GTyAiT0xEICIpOworCQkJCXByaW50X01QX2ludHNyY19pbmZvKG0pOworCQkJCWkgPSBnZXRfTVBfaW50c3JjX2luZGV4KG0pOworCQkJCWlmIChpID4gMCkgeworCQkJCQlhc3NpZ25fdG9fbXBjX2ludHNyYygmbXBfaXJxc1tpXSwgbSk7CisJCQkJCXByaW50ayhLRVJOX0lORk8gIk5FVyAiKTsKKwkJCQkJcHJpbnRfbXBfaXJxX2luZm8oJm1wX2lycXNbaV0pOworCQkJCX0gZWxzZSBpZiAoIWkpIHsKKwkJCQkJLyogbGVnYWN5LCBkbyBub3RoaW5nICovCisJCQkJfSBlbHNlIGlmIChucl9tX3NwYXJlIDwgU1BBUkVfU0xPVF9OVU0pIHsKKwkJCQkJLyoKKwkJCQkJICogbm90IGZvdW5kICgtMSksIG9yIGR1cGxpY2F0ZWQgKC0yKQorCQkJCQkgKiBhcmUgaW52YWxpZCBlbnRyaWVzLAorCQkJCQkgKiB3ZSBuZWVkIHRvIHVzZSB0aGUgc2xvdCAgbGF0ZXIKKwkJCQkJICovCisJCQkJCW1fc3BhcmVbbnJfbV9zcGFyZV0gPSBtOworCQkJCQlucl9tX3NwYXJlKys7CisJCQkJfQorI2VuZGlmCisJCQkJbXB0ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMpOworCQkJCWNvdW50ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMpOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlIE1QX0xJTlRTUkM6CisJCQl7CisJCQkJc3RydWN0IG1wY19jb25maWdfbGludHNyYyAqbSA9CisJCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19saW50c3JjICopbXB0OworCQkJCW1wdCArPSBzaXplb2YoKm0pOworCQkJCWNvdW50ICs9IHNpemVvZigqbSk7CisJCQkJYnJlYWs7CisJCQl9CisJCWRlZmF1bHQ6CisJCQkvKiB3cm9uZyBtcHRhYmxlICovCisJCQlwcmludGsoS0VSTl9FUlIgIllvdXIgbXB0YWJsZSBpcyB3cm9uZywgY29udGFjdCB5b3VyIEhXIHZlbmRvciFcbiIpOworCQkJcHJpbnRrKEtFUk5fRVJSICJ0eXBlICV4XG4iLCAqbXB0KTsKKwkJCXByaW50X2hleF9kdW1wKEtFUk5fRVJSLCAiICAiLCBEVU1QX1BSRUZJWF9BRERSRVNTLCAxNiwKKwkJCQkJMSwgbXBjLCBtcGMtPm1wY19sZW5ndGgsIDEpOworCQkJZ290byBvdXQ7CiAJCX0KLQotCQlpZiAoaWR4ICE9IG1wX2lycV9lbnRyaWVzKSB7Ci0JCQlwcmludGsoS0VSTl9ERUJVRyAiQUNQSTogSVJRJWQgdXNlZCBieSBvdmVycmlkZS5cbiIsIGkpOwotCQkJY29udGludWU7CS8qIElSUSBhbHJlYWR5IHVzZWQgKi8KLQkJfQotCi0JCWludHNyYy5tcGNfaXJxdHlwZSA9IG1wX0lOVDsKLQkJaW50c3JjLm1wY19zcmNidXNpcnEgPSBpOwkvKiBJZGVudGl0eSBtYXBwZWQgKi8KLQkJaW50c3JjLm1wY19kc3RpcnEgPSBpOwotCi0JCU1QX2ludHNyY19pbmZvKCZpbnRzcmMpOwotCX0KLX0KLQotaW50IG1wX3JlZ2lzdGVyX2dzaSh1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KQotewotCWludCBpb2FwaWM7Ci0JaW50IGlvYXBpY19waW47Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotI2RlZmluZSBNQVhfR1NJX05VTQk0MDk2Ci0jZGVmaW5lIElSUV9DT01QUkVTU0lPTl9TVEFSVAk2NAotCi0Jc3RhdGljIGludCBwY2lfaXJxID0gSVJRX0NPTVBSRVNTSU9OX1NUQVJUOwotCS8qCi0JICogTWFwcGluZyBiZXR3ZWVuIEdsb2JhbCBTeXN0ZW0gSW50ZXJydXB0cywgd2hpY2gKLQkgKiByZXByZXNlbnQgYWxsIHBvc3NpYmxlIGludGVycnVwdHMsIGFuZCBJUlFzCi0JICogYXNzaWduZWQgdG8gYWN0dWFsIGRldmljZXMuCi0JICovCi0Jc3RhdGljIGludCBnc2lfdG9faXJxW01BWF9HU0lfTlVNXTsKLSNlbHNlCi0KLQlpZiAoYWNwaV9pcnFfbW9kZWwgIT0gQUNQSV9JUlFfTU9ERUxfSU9BUElDKQotCQlyZXR1cm4gZ3NpOwotI2VuZGlmCi0KLQkvKiBEb24ndCBzZXQgdXAgdGhlIEFDUEkgU0NJIGJlY2F1c2UgaXQncyBhbHJlYWR5IHNldCB1cCAqLwotCWlmIChhY3BpX2dibF9GQURULnNjaV9pbnRlcnJ1cHQgPT0gZ3NpKQotCQlyZXR1cm4gZ3NpOwotCi0JaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKLQlpZiAoaW9hcGljIDwgMCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJObyBJT0FQSUMgZm9yIEdTSSAldVxuIiwgZ3NpKTsKLQkJcmV0dXJuIGdzaTsKIAl9CiAKLQlpb2FwaWNfcGluID0gZ3NpIC0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5nc2lfYmFzZTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgeworCQlpZiAoaXJxX3VzZWRbaV0pCisJCQljb250aW51ZTsKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLQlpZiAoaW9hcGljX3JlbnVtYmVyX2lycSkKLQkJZ3NpID0gaW9hcGljX3JlbnVtYmVyX2lycShpb2FwaWMsIGdzaSk7Ci0jZW5kaWYKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSAhPSBtcF9JTlQpCisJCQljb250aW51ZTsKIAotCS8qCi0JICogQXZvaWQgcGluIHJlcHJvZ3JhbW1pbmcuICBQUlRzIHR5cGljYWxseSBpbmNsdWRlIGVudHJpZXMKLQkgKiB3aXRoIHJlZHVuZGFudCBwaW4tPmdzaSBtYXBwaW5ncyAoYnV0IHVuaXF1ZSBQQ0kgZGV2aWNlcyk7Ci0JICogd2Ugb25seSBwcm9ncmFtIHRoZSBJT0FQSUMgb24gdGhlIGZpcnN0LgotCSAqLwotCWlmIChpb2FwaWNfcGluID4gTVBfTUFYX0lPQVBJQ19QSU4pIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIHJlZmVyZW5jZSB0byBJT0FQSUMgcGluICIKLQkJICAgICAgICIlZC0lZFxuIiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5hcGljX2lkLAotCQkgICAgICAgaW9hcGljX3Bpbik7Ci0JCXJldHVybiBnc2k7Ci0JfQotCWlmICh0ZXN0X2JpdChpb2FwaWNfcGluLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLnBpbl9wcm9ncmFtbWVkKSkgewotCQlEcHJpbnRrKEtFUk5fREVCVUcgIlBpbiAlZC0lZCBhbHJlYWR5IHByb2dyYW1tZWRcbiIsCi0JCQltcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmFwaWNfaWQsIGlvYXBpY19waW4pOwotI2lmZGVmIENPTkZJR19YODZfMzIKLQkJcmV0dXJuIChnc2kgPCBJUlFfQ09NUFJFU1NJT05fU1RBUlQgPyBnc2kgOiBnc2lfdG9faXJxW2dzaV0pOwotI2Vsc2UKLQkJcmV0dXJuIGdzaTsKLSNlbmRpZgotCX0KKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxZmxhZyAhPSAweDBmKQorCQkJY29udGludWU7CiAKLQlzZXRfYml0KGlvYXBpY19waW4sIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10ucGluX3Byb2dyYW1tZWQpOwotI2lmZGVmIENPTkZJR19YODZfMzIKLQkvKgotCSAqIEZvciBHU0kgPj0gNjQsIHVzZSBJUlEgY29tcHJlc3Npb24KLQkgKi8KLQlpZiAoKGdzaSA+PSBJUlFfQ09NUFJFU1NJT05fU1RBUlQpCi0JICAgICYmICh0cmlnZ2VyaW5nID09IEFDUElfTEVWRUxfU0VOU0lUSVZFKSkgewotCQkvKgotCQkgKiBGb3IgUENJIGRldmljZXMgYXNzaWduIElSUXMgaW4gb3JkZXIsIGF2b2lkaW5nIGdhcHMKLQkJICogZHVlIHRvIHVudXNlZCBJL08gQVBJQyBwaW5zLgotCQkgKi8KLQkJaW50IGlycSA9IGdzaTsKLQkJaWYgKGdzaSA8IE1BWF9HU0lfTlVNKSB7Ci0JCQkvKgotCQkJICogUmV0YWluIHRoZSBWSUEgY2hpcHNldCB3b3JrLWFyb3VuZCAoZ3NpID4gMTUpLCBidXQKLQkJCSAqIGF2b2lkIGEgcHJvYmxlbSB3aGVyZSB0aGUgODI1NCB0aW1lciAoSVJRMCkgaXMgc2V0dXAKLQkJCSAqIHZpYSBhbiBvdmVycmlkZSAoc28gaXQncyBub3Qgb24gcGluIDAgb2YgdGhlIGlvYXBpYyksCi0JCQkgKiBhbmQgYXQgdGhlIHNhbWUgdGltZSwgdGhlIHBpbiAwIGludGVycnVwdCBpcyBhIFBDSQotCQkJICogdHlwZS4gIFRoZSBnc2kgPiAxNSB0ZXN0IGNvdWxkIGNhdXNlIHRoZXNlIHR3byBwaW5zCi0JCQkgKiB0byBiZSBzaGFyZWQgYXMgSVJRMCwgYW5kIHRoZXkgYXJlIG5vdCBzaGFyZWFibGUuCi0JCQkgKiBTbyB0ZXN0IGZvciB0aGlzIGNvbmRpdGlvbiwgYW5kIGlmIG5lY2Vzc2FyeSwgYXZvaWQKLQkJCSAqIHRoZSBwaW4gY29sbGlzaW9uLgotCQkJICovCi0JCQlnc2kgPSBwY2lfaXJxKys7Ci0JCQkvKgotCQkJICogRG9uJ3QgYXNzaWduIElSUSB1c2VkIGJ5IEFDUEkgU0NJCi0JCQkgKi8KLQkJCWlmIChnc2kgPT0gYWNwaV9nYmxfRkFEVC5zY2lfaW50ZXJydXB0KQotCQkJCWdzaSA9IHBjaV9pcnErKzsKLQkJCWdzaV90b19pcnFbaXJxXSA9IGdzaTsKKwkJaWYgKG5yX21fc3BhcmUgPiAwKSB7CisJCQlwcmludGsoS0VSTl9JTkZPICIqTkVXKiBmb3VuZCAiKTsKKwkJCW5yX21fc3BhcmUtLTsKKwkJCWFzc2lnbl90b19tcGNfaW50c3JjKCZtcF9pcnFzW2ldLCBtX3NwYXJlW25yX21fc3BhcmVdKTsKKwkJCW1fc3BhcmVbbnJfbV9zcGFyZV0gPSBOVUxMOwogCQl9IGVsc2UgewotCQkJcHJpbnRrKEtFUk5fRVJSICJHU0kgJXUgaXMgdG9vIGhpZ2hcbiIsIGdzaSk7Ci0JCQlyZXR1cm4gZ3NpOworCQkJc3RydWN0IG1wY19jb25maWdfaW50c3JjICptID0KKwkJCSAgICAoc3RydWN0IG1wY19jb25maWdfaW50c3JjICopbXB0OworCQkJY291bnQgKz0gc2l6ZW9mKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyk7CisJCQlpZiAoIW1wY19uZXdfcGh5cykgeworCQkJCXByaW50ayhLRVJOX0lORk8gIk5vIHNwYXJlIHNsb3RzLCB0cnkgdG8gYXBwZW5kLi4udGFrZSB5b3VyIHJpc2ssIG5ldyBtcGNfbGVuZ3RoICV4XG4iLCBjb3VudCk7CisJCQl9IGVsc2UgeworCQkJCWlmIChjb3VudCA8PSBtcGNfbmV3X2xlbmd0aCkKKwkJCQkJcHJpbnRrKEtFUk5fSU5GTyAiTm8gc3BhcmUgc2xvdHMsIHRyeSB0byBhcHBlbmQuLi4sIG5ldyBtcGNfbGVuZ3RoICV4XG4iLCBjb3VudCk7CisJCQkJZWxzZSB7CisJCQkJCXByaW50ayhLRVJOX0VSUiAibXBjX25ld19sZW5ndGggJWx4IGlzIHRvbyBzbWFsbFxuIiwgbXBjX25ld19sZW5ndGgpOworCQkJCQlnb3RvIG91dDsKKwkJCQl9CisJCQl9CisJCQlhc3NpZ25fdG9fbXBjX2ludHNyYygmbXBfaXJxc1tpXSwgbSk7CisJCQltcGMtPm1wY19sZW5ndGggPSBjb3VudDsKKwkJCW1wdCArPSBzaXplb2Yoc3RydWN0IG1wY19jb25maWdfaW50c3JjKTsKIAkJfQorCQlwcmludF9tcF9pcnFfaW5mbygmbXBfaXJxc1tpXSk7CiAJfQogI2VuZGlmCi0JaW9fYXBpY19zZXRfcGNpX3JvdXRpbmcoaW9hcGljLCBpb2FwaWNfcGluLCBnc2ksCi0JCQkJdHJpZ2dlcmluZyA9PSBBQ1BJX0VER0VfU0VOU0lUSVZFID8gMCA6IDEsCi0JCQkJcG9sYXJpdHkgPT0gQUNQSV9BQ1RJVkVfSElHSCA/IDAgOiAxKTsKLQlyZXR1cm4gZ3NpOworb3V0OgorCS8qIHVwZGF0ZSBjaGVja3N1bSAqLworCW1wYy0+bXBjX2NoZWNrc3VtID0gMDsKKwltcGMtPm1wY19jaGVja3N1bSAtPSBtcGZfY2hlY2tzdW0oKHVuc2lnbmVkIGNoYXIgKiltcGMsCisJCQkJCSAgIG1wYy0+bXBjX2xlbmd0aCk7CisKKwlyZXR1cm4gMDsKIH0KIAotI2VuZGlmIC8qIENPTkZJR19YODZfSU9fQVBJQyAqLwotI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCitzdGF0aWMgaW50IF9faW5pdGRhdGEgZW5hYmxlX3VwZGF0ZV9tcHRhYmxlOworCitzdGF0aWMgaW50IF9faW5pdCB1cGRhdGVfbXB0YWJsZV9zZXR1cChjaGFyICpzdHIpCit7CisJZW5hYmxlX3VwZGF0ZV9tcHRhYmxlID0gMTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJ1cGRhdGVfbXB0YWJsZSIsIHVwZGF0ZV9tcHRhYmxlX3NldHVwKTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBtcGNfbmV3X3BoeXM7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBtcGNfbmV3X2xlbmd0aCBfX2luaXRkYXRhID0gNDA5NjsKKworLyogYWxsb2NfbXB0YWJsZSBvciBhbGxvY19tcHRhYmxlPTRrICovCitzdGF0aWMgaW50IF9faW5pdGRhdGEgYWxsb2NfbXB0YWJsZTsKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX2FsbG9jX21wdGFibGVfb3B0KGNoYXIgKnApCit7CisJZW5hYmxlX3VwZGF0ZV9tcHRhYmxlID0gMTsKKwlhbGxvY19tcHRhYmxlID0gMTsKKwlpZiAoIXApCisJCXJldHVybiAwOworCW1wY19uZXdfbGVuZ3RoID0gbWVtcGFyc2UocCwgJnApOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oImFsbG9jX21wdGFibGUiLCBwYXJzZV9hbGxvY19tcHRhYmxlX29wdCk7CisKK3ZvaWQgX19pbml0IGVhcmx5X3Jlc2VydmVfZTgyMF9tcGNfbmV3KHZvaWQpCit7CisJaWYgKGVuYWJsZV91cGRhdGVfbXB0YWJsZSAmJiBhbGxvY19tcHRhYmxlKSB7CisJCXU2NCBzdGFydHQgPSAwOworI2lmZGVmIENPTkZJR19YODZfVFJBTVBPTElORQorCQlzdGFydHQgPSBUUkFNUE9MSU5FX0JBU0U7CisjZW5kaWYKKwkJbXBjX25ld19waHlzID0gZWFybHlfcmVzZXJ2ZV9lODIwKHN0YXJ0dCwgbXBjX25ld19sZW5ndGgsIDQpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgdXBkYXRlX21wX3RhYmxlKHZvaWQpCit7CisJY2hhciBzdHJbMTZdOworCWNoYXIgb2VtWzEwXTsKKwlzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgKm1wZjsKKwlzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGM7CisJc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjX25ldzsKKworCWlmICghZW5hYmxlX3VwZGF0ZV9tcHRhYmxlKQorCQlyZXR1cm4gMDsKKworCW1wZiA9IG1wZl9mb3VuZDsKKwlpZiAoIW1wZikKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIE5vdyBzZWUgaWYgd2UgbmVlZCB0byBnbyBmdXJ0aGVyLgorCSAqLworCWlmIChtcGYtPm1wZl9mZWF0dXJlMSAhPSAwKQorCQlyZXR1cm4gMDsKKworCWlmICghbXBmLT5tcGZfcGh5c3B0cikKKwkJcmV0dXJuIDA7CisKKwltcGMgPSBwaHlzX3RvX3ZpcnQobXBmLT5tcGZfcGh5c3B0cik7CisKKwlpZiAoIXNtcF9jaGVja19tcGMobXBjLCBvZW0sIHN0cikpCisJCXJldHVybiAwOworCisJcHJpbnRrKEtFUk5fSU5GTyAibXBmOiAlbHhcbiIsIHZpcnRfdG9fcGh5cyhtcGYpKTsKKwlwcmludGsoS0VSTl9JTkZPICJtcGZfcGh5c3B0cjogJXhcbiIsIG1wZi0+bXBmX3BoeXNwdHIpOworCisJaWYgKG1wY19uZXdfcGh5cyAmJiBtcGMtPm1wY19sZW5ndGggPiBtcGNfbmV3X2xlbmd0aCkgeworCQltcGNfbmV3X3BoeXMgPSAwOworCQlwcmludGsoS0VSTl9JTkZPICJtcGNfbmV3X2xlbmd0aCBpcyAlbGQsIHBsZWFzZSB1c2UgYWxsb2NfbXB0YWJsZT04a1xuIiwKKwkJCSBtcGNfbmV3X2xlbmd0aCk7CisJfQorCisJaWYgKCFtcGNfbmV3X3BoeXMpIHsKKwkJdW5zaWduZWQgY2hhciBvbGQsIG5ldzsKKwkJLyogY2hlY2sgaWYgd2UgY2FuIGNoYW5nZSB0aGUgcG9zdGlvbiAqLworCQltcGMtPm1wY19jaGVja3N1bSA9IDA7CisJCW9sZCA9IG1wZl9jaGVja3N1bSgodW5zaWduZWQgY2hhciAqKW1wYywgbXBjLT5tcGNfbGVuZ3RoKTsKKwkJbXBjLT5tcGNfY2hlY2tzdW0gPSAweGZmOworCQluZXcgPSBtcGZfY2hlY2tzdW0oKHVuc2lnbmVkIGNoYXIgKiltcGMsIG1wYy0+bXBjX2xlbmd0aCk7CisJCWlmIChvbGQgPT0gbmV3KSB7CisJCQlwcmludGsoS0VSTl9JTkZPICJtcGMgaXMgcmVhZG9ubHksIHBsZWFzZSB0cnkgYWxsb2NfbXB0YWJsZSBpbnN0ZWFkXG4iKTsKKwkJCXJldHVybiAwOworCQl9CisJCXByaW50ayhLRVJOX0lORk8gInVzZSBpbi1wb3NpdG9uIHJlcGxhY2luZ1xuIik7CisJfSBlbHNlIHsKKwkJbXBmLT5tcGZfcGh5c3B0ciA9IG1wY19uZXdfcGh5czsKKwkJbXBjX25ldyA9IHBoeXNfdG9fdmlydChtcGNfbmV3X3BoeXMpOworCQltZW1jcHkobXBjX25ldywgbXBjLCBtcGMtPm1wY19sZW5ndGgpOworCQltcGMgPSBtcGNfbmV3OworCQkvKiBjaGVjayBpZiB3ZSBjYW4gbW9kaWZ5IHRoYXQgKi8KKwkJaWYgKG1wY19uZXdfcGh5cyAtIG1wZi0+bXBmX3BoeXNwdHIpIHsKKwkJCXN0cnVjdCBpbnRlbF9tcF9mbG9hdGluZyAqbXBmX25ldzsKKwkJCS8qIHN0ZWFsIDE2IGJ5dGVzIGZyb20gWzAsIDFrKSAqLworCQkJcHJpbnRrKEtFUk5fSU5GTyAibXBmIG5ldzogJXhcbiIsIDB4NDAwIC0gMTYpOworCQkJbXBmX25ldyA9IHBoeXNfdG9fdmlydCgweDQwMCAtIDE2KTsKKwkJCW1lbWNweShtcGZfbmV3LCBtcGYsIDE2KTsKKwkJCW1wZiA9IG1wZl9uZXc7CisJCQltcGYtPm1wZl9waHlzcHRyID0gbXBjX25ld19waHlzOworCQl9CisJCW1wZi0+bXBmX2NoZWNrc3VtID0gMDsKKwkJbXBmLT5tcGZfY2hlY2tzdW0gLT0gbXBmX2NoZWNrc3VtKCh1bnNpZ25lZCBjaGFyICopbXBmLCAxNik7CisJCXByaW50ayhLRVJOX0lORk8gIm1wZl9waHlzcHRyIG5ldzogJXhcbiIsIG1wZi0+bXBmX3BoeXNwdHIpOworCX0KKworCS8qCisJICogb25seSByZXBsYWNlIHRoZSBvbmUgd2l0aCBtcF9JTlQgYW5kCisJICoJIE1QX0lSUV9UUklHR0VSX0xFVkVMfE1QX0lSUV9QT0xBUklUWV9MT1csCisJICogYWxyZWFkeSBpbiBtcF9pcnFzICwgc3RvcmVkIGJ5IC4uLiBhbmQgbXBfY29uZmlnX2FjcGlfZ3NpLAorCSAqIG1heSBuZWVkIHBjaT1yb3V0ZWlycSBmb3IgYWxsIGNvdmVyYWdlCisJICovCisJcmVwbGFjZV9pbnRzcmNfYWxsKG1wYywgbXBjX25ld19waHlzLCBtcGNfbmV3X2xlbmd0aCk7CisKKwlyZXR1cm4gMDsKK30KKworbGF0ZV9pbml0Y2FsbCh1cGRhdGVfbXBfdGFibGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21zci5jIGIvYXJjaC94ODYva2VybmVsL21zci5jCmluZGV4IDFmM2FiZTAuLmExNTNiMzkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9tc3IuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbXNyLmMKQEAgLTExNywxMiArMTE3LDIwIEBACiB7CiAJdW5zaWduZWQgaW50IGNwdSA9IGltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKIAlzdHJ1Y3QgY3B1aW5mb194ODYgKmMgPSAmY3B1X2RhdGEoY3B1KTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmIChjcHUgPj0gTlJfQ1BVUyB8fCAhY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gLUVOWElPOwkvKiBObyBzdWNoIENQVSAqLworCWxvY2tfa2VybmVsKCk7CisJY3B1ID0gaW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOworCisJaWYgKGNwdSA+PSBOUl9DUFVTIHx8ICFjcHVfb25saW5lKGNwdSkpIHsKKwkJcmV0ID0gLUVOWElPOwkvKiBObyBzdWNoIENQVSAqLworCQlnb3RvIG91dDsKKwl9CisJYyA9ICZjcHVfZGF0YShjcHUpOwogCWlmICghY3B1X2hhcyhjLCBYODZfRkVBVFVSRV9NU1IpKQotCQlyZXR1cm4gLUVJTzsJLyogTVNSIG5vdCBzdXBwb3J0ZWQgKi8KLQorCQlyZXQgPSAtRUlPOwkvKiBNU1Igbm90IHN1cHBvcnRlZCAqLworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL25taV82NC5jIGIvYXJjaC94ODYva2VybmVsL25taS5jCnNpbWlsYXJpdHkgaW5kZXggNjclCnJlbmFtZSBmcm9tIGFyY2gveDg2L2tlcm5lbC9ubWlfNjQuYwpyZW5hbWUgdG8gYXJjaC94ODYva2VybmVsL25taS5jCmluZGV4IDVhMjlkZWQuLmVjMDI0YjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9ubWlfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbm1pLmMKQEAgLTYsMTAgKzYsMTMgQEAKICAqICBGaXhlczoKICAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IEFNRCBLNyBzdXBwb3J0IGZvciBsb2NhbCBBUElDIE5NSSB3YXRjaGRvZy4KICAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IFBvd2VyIE1hbmFnZW1lbnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgorICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUGVudGl1bSA0IHN1cHBvcnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgogICogIFBhdmVsIE1hY2hlayBhbmQKICAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IFBNIGNvbnZlcnRlZCB0byBkcml2ZXIgbW9kZWwuIERpc2FibGUvZW5hYmxlIEFQSS4KICAqLwogCisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKwogI2luY2x1ZGUgPGxpbnV4L25taS5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTE3LDIwICsyMCwyNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgogI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZGVidWcuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KIAorI2luY2x1ZGUgPGFzbS9pODI1OS5oPgorI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+CiAjaW5jbHVkZSA8YXNtL3NtcC5oPgogI2luY2x1ZGUgPGFzbS9ubWkuaD4KICNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vdGltZXIuaD4KKwogI2luY2x1ZGUgPGFzbS9tY2UuaD4KIAogI2luY2x1ZGUgPG1hY2hfdHJhcHMuaD4KIAogaW50IHVua25vd25fbm1pX3BhbmljOwogaW50IG5taV93YXRjaGRvZ19lbmFibGVkOwotaW50IHBhbmljX29uX3VucmVjb3ZlcmVkX25taTsKIAogc3RhdGljIGNwdW1hc2tfdCBiYWNrdHJhY2VfbWFzayA9IENQVV9NQVNLX05PTkU7CiAKQEAgLTQxLDM3ICs1MCw2NSBAQAogICogIDA6IHRoZSBsYXBpYyBOTUkgd2F0Y2hkb2cgaXMgZGlzYWJsZWQsIGJ1dCBjYW4gYmUgZW5hYmxlZAogICovCiBhdG9taWNfdCBubWlfYWN0aXZlID0gQVRPTUlDX0lOSVQoMCk7CQkvKiBvcHJvZmlsZSB1c2VzIHRoaXMgKi8KK0VYUE9SVF9TWU1CT0wobm1pX2FjdGl2ZSk7CisKK3Vuc2lnbmVkIGludCBubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsKK0VYUE9SVF9TWU1CT0wobm1pX3dhdGNoZG9nKTsKKwogc3RhdGljIGludCBwYW5pY19vbl90aW1lb3V0OwogCi11bnNpZ25lZCBpbnQgbm1pX3dhdGNoZG9nID0gTk1JX0RFRkFVTFQ7CiBzdGF0aWMgdW5zaWduZWQgaW50IG5taV9oeiA9IEhaOwotCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc2hvcnQsIHdkX2VuYWJsZWQpOworc3RhdGljIGludCBlbmRmbGFnIF9faW5pdGRhdGE7CiAKLS8qIFJ1biBhZnRlciBjb21tYW5kIGxpbmUgYW5kIGNwdV9pbml0IGluaXQsIGJ1dCBiZWZvcmUgYWxsIG90aGVyIGNoZWNrcyAqLwotdm9pZCBubWlfd2F0Y2hkb2dfZGVmYXVsdCh2b2lkKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ2V0X25taV9jb3VudChpbnQgY3B1KQogewotCWlmIChubWlfd2F0Y2hkb2cgIT0gTk1JX0RFRkFVTFQpCi0JCXJldHVybjsKLQlubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJcmV0dXJuIGNwdV9wZGEoY3B1KS0+X19ubWlfY291bnQ7CisjZWxzZQorCXJldHVybiBubWlfY291bnQoY3B1KTsKKyNlbmRpZgogfQogCi1zdGF0aWMgaW50IGVuZGZsYWcgX19pbml0ZGF0YSA9IDA7CitzdGF0aWMgaW5saW5lIGludCBtY2VfaW5fcHJvZ3Jlc3Modm9pZCkKK3sKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfNjQpICYmIGRlZmluZWQoQ09ORklHX1g4Nl9NQ0UpCisJcmV0dXJuIGF0b21pY19yZWFkKCZtY2VfZW50cnkpID4gMDsKKyNlbmRpZgorCXJldHVybiAwOworfQorCisvKgorICogVGFrZSB0aGUgbG9jYWwgYXBpYyB0aW1lciBhbmQgUElUL0hQRVQgaW50byBhY2NvdW50LiBXZSBkb24ndAorICoga25vdyB3aGljaCBvbmUgaXMgYWN0aXZlLCB3aGVuIHdlIGhhdmUgaGlnaHJlcy9keW50aWNrIG9uCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdldF90aW1lcl9pcnFzKGludCBjcHUpCit7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCXJldHVybiByZWFkX3BkYShhcGljX3RpbWVyX2lycXMpICsgcmVhZF9wZGEoaXJxMF9pcnFzKTsKKyNlbHNlCisJcmV0dXJuIHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuYXBpY190aW1lcl9pcnFzICsKKwkJcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnEwX2lycXM7CisjZW5kaWYKK30KIAogI2lmZGVmIENPTkZJR19TTVAKLS8qIFRoZSBwZXJmb3JtYW5jZSBjb3VudGVycyB1c2VkIGJ5IE5NSV9MT0NBTF9BUElDIGRvbid0IHRyaWdnZXIgd2hlbgorLyoKKyAqIFRoZSBwZXJmb3JtYW5jZSBjb3VudGVycyB1c2VkIGJ5IE5NSV9MT0NBTF9BUElDIGRvbid0IHRyaWdnZXIgd2hlbgogICogdGhlIENQVSBpcyBpZGxlLiBUbyBtYWtlIHN1cmUgdGhlIE5NSSB3YXRjaGRvZyByZWFsbHkgdGlja3Mgb24gYWxsCiAgKiBDUFVzIGR1cmluZyB0aGUgdGVzdCBtYWtlIHRoZW0gYnVzeS4KICAqLwogc3RhdGljIF9faW5pdCB2b2lkIG5taV9jcHVfYnVzeSh2b2lkICpkYXRhKQogewogCWxvY2FsX2lycV9lbmFibGVfaW5faGFyZGlycSgpOwotCS8qIEludGVudGlvbmFsbHkgZG9uJ3QgdXNlIGNwdV9yZWxheCBoZXJlLiBUaGlzIGlzCi0JICAgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgcmVhbGx5IHRpY2tzLAotCSAgIGV2ZW4gaWYgdGhlcmUgaXMgYSBzaW11bGF0b3Igb3Igc2ltaWxhciB0aGF0IGNhdGNoZXMgdGhlCi0JICAgcGF1c2UgaW5zdHJ1Y3Rpb24uIE9uIGEgcmVhbCBIVCBtYWNoaW5lIHRoaXMgaXMgZmluZSBiZWNhdXNlCi0JICAgYWxsIG90aGVyIENQVXMgYXJlIGJ1c3kgd2l0aCAidXNlbGVzcyIgZGVsYXkgbG9vcHMgYW5kIGRvbid0Ci0JICAgY2FyZSBpZiB0aGV5IGdldCBzb21ld2hhdCBsZXNzIGN5Y2xlcy4gKi8KKwkvKgorCSAqIEludGVudGlvbmFsbHkgZG9uJ3QgdXNlIGNwdV9yZWxheCBoZXJlLiBUaGlzIGlzCisJICogdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgcmVhbGx5IHRpY2tzLAorCSAqIGV2ZW4gaWYgdGhlcmUgaXMgYSBzaW11bGF0b3Igb3Igc2ltaWxhciB0aGF0IGNhdGNoZXMgdGhlCisJICogcGF1c2UgaW5zdHJ1Y3Rpb24uIE9uIGEgcmVhbCBIVCBtYWNoaW5lIHRoaXMgaXMgZmluZSBiZWNhdXNlCisJICogYWxsIG90aGVyIENQVXMgYXJlIGJ1c3kgd2l0aCAidXNlbGVzcyIgZGVsYXkgbG9vcHMgYW5kIGRvbid0CisJICogY2FyZSBpZiB0aGV5IGdldCBzb21ld2hhdCBsZXNzIGN5Y2xlcy4KKwkgKi8KIAl3aGlsZSAoZW5kZmxhZyA9PSAwKQogCQltYigpOwogfQpAQCAtNzksNDAgKzExNiwzNyBAQAogCiBpbnQgX19pbml0IGNoZWNrX25taV93YXRjaGRvZyh2b2lkKQogewotCWludCAqcHJldl9ubWlfY291bnQ7CisJdW5zaWduZWQgaW50ICpwcmV2X25taV9jb3VudDsKIAlpbnQgY3B1OwogCi0JaWYgKChubWlfd2F0Y2hkb2cgPT0gTk1JX05PTkUpIHx8IChubWlfd2F0Y2hkb2cgPT0gTk1JX0RJU0FCTEVEKSkKKwlpZiAoIW5taV93YXRjaGRvZ19hY3RpdmUoKSB8fCAhYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKQogCQlyZXR1cm4gMDsKIAotCWlmICghYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKQotCQlyZXR1cm4gMDsKLQotCXByZXZfbm1pX2NvdW50ID0ga21hbGxvYyhOUl9DUFVTICogc2l6ZW9mKGludCksIEdGUF9LRVJORUwpOworCXByZXZfbm1pX2NvdW50ID0ga21hbGxvYyhucl9jcHVfaWRzICogc2l6ZW9mKGludCksIEdGUF9LRVJORUwpOwogCWlmICghcHJldl9ubWlfY291bnQpCi0JCXJldHVybiAtMTsKKwkJZ290byBlcnJvcjsKIAogCXByaW50ayhLRVJOX0lORk8gIlRlc3RpbmcgTk1JIHdhdGNoZG9nIC4uLiAiKTsKIAogI2lmZGVmIENPTkZJR19TTVAKIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQotCQlzbXBfY2FsbF9mdW5jdGlvbihubWlfY3B1X2J1c3ksICh2b2lkICopJmVuZGZsYWcsIDAsIDApOworCQlzbXBfY2FsbF9mdW5jdGlvbihubWlfY3B1X2J1c3ksICh2b2lkICopJmVuZGZsYWcsIDApOwogI2VuZGlmCiAKLQlmb3IgKGNwdSA9IDA7IGNwdSA8IE5SX0NQVVM7IGNwdSsrKQotCQlwcmV2X25taV9jb3VudFtjcHVdID0gY3B1X3BkYShjcHUpLT5fX25taV9jb3VudDsKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQorCQlwcmV2X25taV9jb3VudFtjcHVdID0gZ2V0X25taV9jb3VudChjcHUpOwogCWxvY2FsX2lycV9lbmFibGUoKTsKLQltZGVsYXkoKDIwKjEwMDApL25taV9oeik7IC8vIHdhaXQgMjAgdGlja3MKKwltZGVsYXkoKDIwICogMTAwMCkgLyBubWlfaHopOyAvKiB3YWl0IDIwIHRpY2tzICovCiAKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewogCQlpZiAoIXBlcl9jcHUod2RfZW5hYmxlZCwgY3B1KSkKIAkJCWNvbnRpbnVlOwotCQlpZiAoY3B1X3BkYShjcHUpLT5fX25taV9jb3VudCAtIHByZXZfbm1pX2NvdW50W2NwdV0gPD0gNSkgeworCQlpZiAoZ2V0X25taV9jb3VudChjcHUpIC0gcHJldl9ubWlfY291bnRbY3B1XSA8PSA1KSB7CiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJXQVJOSU5HOiBDUFUjJWQ6IE5NSSAiCi0JCQkgICAgICAgImFwcGVhcnMgdG8gYmUgc3R1Y2sgKCVkLT4lZCkhXG4iLAorCQkJCSJhcHBlYXJzIHRvIGJlIHN0dWNrICglZC0+JWQpIVxuIiwKIAkJCQljcHUsCiAJCQkJcHJldl9ubWlfY291bnRbY3B1XSwKLQkJCQljcHVfcGRhKGNwdSktPl9fbm1pX2NvdW50KTsKKwkJCQlnZXRfbm1pX2NvdW50KGNwdSkpOwogCQkJcGVyX2NwdSh3ZF9lbmFibGVkLCBjcHUpID0gMDsKIAkJCWF0b21pY19kZWMoJm5taV9hY3RpdmUpOwogCQl9CkBAIC0xMjEsMjQgKzE1NSwzMyBAQAogCWlmICghYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKSB7CiAJCWtmcmVlKHByZXZfbm1pX2NvdW50KTsKIAkJYXRvbWljX3NldCgmbm1pX2FjdGl2ZSwgLTEpOwotCQlyZXR1cm4gLTE7CisJCWdvdG8gZXJyb3I7CiAJfQogCXByaW50aygiT0suXG4iKTsKIAotCS8qIG5vdyB0aGF0IHdlIGtub3cgaXQgd29ya3Mgd2UgY2FuIHJlZHVjZSBOTUkgZnJlcXVlbmN5IHRvCi0JICAgc29tZXRoaW5nIG1vcmUgcmVhc29uYWJsZTsgbWFrZXMgYSBkaWZmZXJlbmNlIGluIHNvbWUgY29uZmlncyAqLworCS8qCisJICogbm93IHRoYXQgd2Uga25vdyBpdCB3b3JrcyB3ZSBjYW4gcmVkdWNlIE5NSSBmcmVxdWVuY3kgdG8KKwkgKiBzb21ldGhpbmcgbW9yZSByZWFzb25hYmxlOyBtYWtlcyBhIGRpZmZlcmVuY2UgaW4gc29tZSBjb25maWdzCisJICovCiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykKIAkJbm1pX2h6ID0gbGFwaWNfYWRqdXN0X25taV9oeigxKTsKIAogCWtmcmVlKHByZXZfbm1pX2NvdW50KTsKIAlyZXR1cm4gMDsKK2Vycm9yOgorCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMgJiYgIXRpbWVyX3Rocm91Z2hfODI1OSkKKwkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCXRpbWVyX2FjayA9IDA7CisjZW5kaWYKKwlyZXR1cm4gLTE7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHNldHVwX25taV93YXRjaGRvZyhjaGFyICpzdHIpCiB7Ci0JaW50IG5taTsKKwl1bnNpZ25lZCBpbnQgbm1pOwogCi0JaWYgKCFzdHJuY21wKHN0ciwicGFuaWMiLDUpKSB7CisJaWYgKCFzdHJuY21wKHN0ciwgInBhbmljIiwgNSkpIHsKIAkJcGFuaWNfb25fdGltZW91dCA9IDE7CiAJCXN0ciA9IHN0cmNocihzdHIsICcsJyk7CiAJCWlmICghc3RyKQpAQCAtMTQ4LDE1ICsxOTEsMTcgQEAKIAogCWdldF9vcHRpb24oJnN0ciwgJm5taSk7CiAKLQlpZiAoKG5taSA+PSBOTUlfSU5WQUxJRCkgfHwgKG5taSA8IE5NSV9OT05FKSkKKwlpZiAobm1pID49IE5NSV9JTlZBTElEKQogCQlyZXR1cm4gMDsKIAogCW5taV93YXRjaGRvZyA9IG5taTsKIAlyZXR1cm4gMTsKIH0KLQogX19zZXR1cCgibm1pX3dhdGNoZG9nPSIsIHNldHVwX25taV93YXRjaGRvZyk7CiAKKy8qCisgKiBTdXNwZW5kL3Jlc3VtZSBzdXBwb3J0CisgKi8KICNpZmRlZiBDT05GSUdfUE0KIAogc3RhdGljIGludCBubWlfcG1fYWN0aXZlOyAvKiBubWlfYWN0aXZlIGJlZm9yZSBzdXNwZW5kICovCkBAIC0xOTUsNyArMjQwLDggQEAKIHsKIAlpbnQgZXJyb3I7CiAKLQkvKiBzaG91bGQgcmVhbGx5IGJlIGEgQlVHX09OIGJ1dCBiL2MgdGhpcyBpcyBhbgorCS8qCisJICogc2hvdWxkIHJlYWxseSBiZSBhIEJVR19PTiBidXQgYi9jIHRoaXMgaXMgYW4KIAkgKiBpbml0IGNhbGwsIGl0IGp1c3QgZG9lc24ndCB3b3JrLiAgLWRjegogCSAqLwogCWlmIChubWlfd2F0Y2hkb2cgIT0gTk1JX0xPQ0FMX0FQSUMpCkBAIC0yMDksNiArMjU1LDcgQEAKIAkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoJmRldmljZV9sYXBpY19ubWkpOwogCXJldHVybiBlcnJvcjsKIH0KKwogLyogbXVzdCBjb21lIGFmdGVyIHRoZSBsb2NhbCBBUElDJ3MgZGV2aWNlX2luaXRjYWxsKCkgKi8KIGxhdGVfaW5pdGNhbGwoaW5pdF9sYXBpY19ubWlfc3lzZnMpOwogCkBAIC0yMTYsNyArMjYzLDcgQEAKIAogc3RhdGljIHZvaWQgX19hY3BpX25taV9lbmFibGUodm9pZCAqX191bnVzZWQpCiB7Ci0JYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfRE1fTk1JKTsKKwlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfRE1fTk1JKTsKIH0KIAogLyoKQEAgLTIyNSwxMiArMjcyLDEyIEBACiB2b2lkIGFjcGlfbm1pX2VuYWJsZSh2b2lkKQogewogCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgJiYgbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQotCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2VuYWJsZSwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KF9fYWNwaV9ubWlfZW5hYmxlLCBOVUxMLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgX19hY3BpX25taV9kaXNhYmxlKHZvaWQgKl9fdW51c2VkKQogewotCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0RNX05NSSB8IEFQSUNfTFZUX01BU0tFRCk7CisJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0RNX05NSSB8IEFQSUNfTFZUX01BU0tFRCk7CiB9CiAKIC8qCkBAIC0yMzksNyArMjg2LDcgQEAKIHZvaWQgYWNwaV9ubWlfZGlzYWJsZSh2b2lkKQogewogCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgJiYgbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQotCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2Rpc2FibGUsIE5VTEwsIDAsIDEpOworCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2Rpc2FibGUsIE5VTEwsIDEpOwogfQogCiB2b2lkIHNldHVwX2FwaWNfbm1pX3dhdGNoZG9nKHZvaWQgKnVudXNlZCkKQEAgLTI0OSwxMSArMjk2LDEyIEBACiAKIAkvKiBjaGVhcCBoYWNrIHRvIHN1cHBvcnQgc3VzcGVuZC9yZXN1bWUgKi8KIAkvKiBpZiBjcHUwIGlzIG5vdCBhY3RpdmUgbmVpdGhlciBzaG91bGQgdGhlIG90aGVyIGNwdXMgKi8KLQlpZiAoKHNtcF9wcm9jZXNzb3JfaWQoKSAhPSAwKSAmJiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDw9IDApKQorCWlmIChzbXBfcHJvY2Vzc29yX2lkKCkgIT0gMCAmJiBhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPD0gMCkKIAkJcmV0dXJuOwogCiAJc3dpdGNoIChubWlfd2F0Y2hkb2cpIHsKIAljYXNlIE5NSV9MT0NBTF9BUElDOgorCQkgLyogZW5hYmxlIGl0IGJlZm9yZSB0byBhdm9pZCByYWNlIHdpdGggaGFuZGxlciAqLwogCQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMTsKIAkJaWYgKGxhcGljX3dhdGNoZG9nX2luaXQobm1pX2h6KSA8IDApIHsKIAkJCV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPSAwOwpAQCAtMjY5LDkgKzMxNyw4IEBACiB2b2lkIHN0b3BfYXBpY19ubWlfd2F0Y2hkb2codm9pZCAqdW51c2VkKQogewogCS8qIG9ubHkgc3VwcG9ydCBMT0NBTCBhbmQgSU8gQVBJQ3MgZm9yIG5vdyAqLwotCWlmICgobm1pX3dhdGNoZG9nICE9IE5NSV9MT0NBTF9BUElDKSAmJgotCSAgICAobm1pX3dhdGNoZG9nICE9IE5NSV9JT19BUElDKSkKLQkgICAgCXJldHVybjsKKwlpZiAoIW5taV93YXRjaGRvZ19hY3RpdmUoKSkKKwkJcmV0dXJuOwogCWlmIChfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID09IDApCiAJCXJldHVybjsKIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQpAQCAtMjg3LDYgKzMzNCwxMSBAQAogICoKICAqIGFzIHRoZXNlIHdhdGNoZG9nIE5NSSBJUlFzIGFyZSBnZW5lcmF0ZWQgb24gZXZlcnkgQ1BVLCB3ZSBvbmx5CiAgKiBoYXZlIHRvIGNoZWNrIHRoZSBjdXJyZW50IHByb2Nlc3Nvci4KKyAqCisgKiBzaW5jZSBOTUlzIGRvbid0IGxpc3RlbiB0byBfYW55XyBsb2Nrcywgd2UgaGF2ZSB0byBiZSBleHRyZW1lbHkKKyAqIGNhcmVmdWwgbm90IHRvIHJlbHkgb24gdW5zYWZlIHZhcmlhYmxlcy4gVGhlIHByaW50ayBtaWdodCBsb2NrCisgKiB1cCB0aG91Z2gsIHNvIHdlIGhhdmUgdG8gYnJlYWsgdXAgYW55IGNvbnNvbGUgbG9ja3MgZmlyc3QgLi4uCisgKiBbd2hlbiB0aGVyZSB3aWxsIGJlIG1vcmUgdHR5LXJlbGF0ZWQgbG9ja3MsIGJyZWFrIHRoZW0gdXAgaGVyZSB0b28hXQogICovCiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCwgbGFzdF9pcnFfc3VtKTsKQEAgLTI5NSwxMSArMzQ3LDExIEBACiAKIHZvaWQgdG91Y2hfbm1pX3dhdGNoZG9nKHZvaWQpCiB7Ci0JaWYgKG5taV93YXRjaGRvZyA+IDApIHsKKwlpZiAobm1pX3dhdGNoZG9nX2FjdGl2ZSgpKSB7CiAJCXVuc2lnbmVkIGNwdTsKIAogCQkvKgotIAkJICogVGVsbCBvdGhlciBDUFVzIHRvIHJlc2V0IHRoZWlyIGFsZXJ0IGNvdW50ZXJzLiBXZSBjYW5ub3QKKwkJICogVGVsbCBvdGhlciBDUFVzIHRvIHJlc2V0IHRoZWlyIGFsZXJ0IGNvdW50ZXJzLiBXZSBjYW5ub3QKIAkJICogZG8gaXQgb3Vyc2VsdmVzIGJlY2F1c2UgdGhlIGFsZXJ0IGNvdW50IGluY3JlYXNlIGlzIG5vdAogCQkgKiBhdG9taWMuCiAJCSAqLwpAQCAtMzA5LDYgKzM2MSw5IEBACiAJCX0KIAl9CiAKKwkvKgorCSAqIFRpY2tsZSB0aGUgc29mdGxvY2t1cCBkZXRlY3RvciB0b286CisJICovCiAJdG91Y2hfc29mdGxvY2t1cF93YXRjaGRvZygpOwogfQogRVhQT1JUX1NZTUJPTCh0b3VjaF9ubWlfd2F0Y2hkb2cpOwpAQCAtMzE2LDcgKzM3MSwxMiBAQAogbm90cmFjZSBfX2twcm9iZXMgaW50CiBubWlfd2F0Y2hkb2dfdGljayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgcmVhc29uKQogewotCWludCBzdW07CisJLyoKKwkgKiBTaW5jZSBjdXJyZW50X3RocmVhZF9pbmZvKCktPiBpcyBhbHdheXMgb24gdGhlIHN0YWNrLCBhbmQgd2UKKwkgKiBhbHdheXMgc3dpdGNoIHRoZSBzdGFjayBOTUktYXRvbWljYWxseSwgaXQncyBzYWZlIHRvIHVzZQorCSAqIHNtcF9wcm9jZXNzb3JfaWQoKS4KKwkgKi8KKwl1bnNpZ25lZCBpbnQgc3VtOwogCWludCB0b3VjaGVkID0gMDsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCWludCByYyA9IDA7CkBAIC0zMjgsNyArMzg4LDggQEAKIAkJdG91Y2hlZCA9IDE7CiAJfQogCi0Jc3VtID0gcmVhZF9wZGEoYXBpY190aW1lcl9pcnFzKSArIHJlYWRfcGRhKGlycTBfaXJxcyk7CisJc3VtID0gZ2V0X3RpbWVyX2lycXMoY3B1KTsKKwogCWlmIChfX2dldF9jcHVfdmFyKG5taV90b3VjaCkpIHsKIAkJX19nZXRfY3B1X3ZhcihubWlfdG91Y2gpID0gMDsKIAkJdG91Y2hlZCA9IDE7CkBAIC0zMzgsMjggKzM5OSwyOSBAQAogCQlzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGxvY2spOwkvKiBTZXJpYWxpc2UgdGhlIHByaW50a3MgKi8KIAogCQlzcGluX2xvY2soJmxvY2spOwotCQlwcmludGsoIk5NSSBiYWNrdHJhY2UgZm9yIGNwdSAlZFxuIiwgY3B1KTsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiTk1JIGJhY2t0cmFjZSBmb3IgY3B1ICVkXG4iLCBjcHUpOwogCQlkdW1wX3N0YWNrKCk7CiAJCXNwaW5fdW5sb2NrKCZsb2NrKTsKIAkJY3B1X2NsZWFyKGNwdSwgYmFja3RyYWNlX21hc2spOwogCX0KIAotI2lmZGVmIENPTkZJR19YODZfTUNFCi0JLyogQ291bGQgY2hlY2sgb29wc19pbl9wcm9ncmVzcyBoZXJlIHRvbywgYnV0IGl0J3Mgc2FmZXIKLQkgICBub3QgdG9vICovCi0JaWYgKGF0b21pY19yZWFkKCZtY2VfZW50cnkpID4gMCkKKwkvKiBDb3VsZCBjaGVjayBvb3BzX2luX3Byb2dyZXNzIGhlcmUgdG9vLCBidXQgaXQncyBzYWZlciBub3QgdG8gKi8KKwlpZiAobWNlX2luX3Byb2dyZXNzKCkpCiAJCXRvdWNoZWQgPSAxOwotI2VuZGlmCi0JLyogaWYgdGhlIGFwaWMgdGltZXIgaXNuJ3QgZmlyaW5nLCB0aGlzIGNwdSBpc24ndCBkb2luZyBtdWNoICovCisKKwkvKiBpZiB0aGUgbm9uZSBvZiB0aGUgdGltZXJzIGlzbid0IGZpcmluZywgdGhpcyBjcHUgaXNuJ3QgZG9pbmcgbXVjaCAqLwogCWlmICghdG91Y2hlZCAmJiBfX2dldF9jcHVfdmFyKGxhc3RfaXJxX3N1bSkgPT0gc3VtKSB7CiAJCS8qCiAJCSAqIEF5aWVlLCBsb29rcyBsaWtlIHRoaXMgQ1BVIGlzIHN0dWNrIC4uLgogCQkgKiB3YWl0IGEgZmV3IElSUXMgKDUgc2Vjb25kcykgYmVmb3JlIGRvaW5nIHRoZSBvb3BzIC4uLgogCQkgKi8KIAkJbG9jYWxfaW5jKCZfX2dldF9jcHVfdmFyKGFsZXJ0X2NvdW50ZXIpKTsKLQkJaWYgKGxvY2FsX3JlYWQoJl9fZ2V0X2NwdV92YXIoYWxlcnRfY291bnRlcikpID09IDUqbm1pX2h6KQotCQkJZGllX25taSgiTk1JIFdhdGNoZG9nIGRldGVjdGVkIExPQ0tVUCBvbiBDUFUgJWRcbiIsIHJlZ3MsCi0JCQkJcGFuaWNfb25fdGltZW91dCk7CisJCWlmIChsb2NhbF9yZWFkKCZfX2dldF9jcHVfdmFyKGFsZXJ0X2NvdW50ZXIpKSA9PSA1ICogbm1pX2h6KQorCQkJLyoKKwkJCSAqIGRpZV9ubWkgd2lsbCByZXR1cm4gT05MWSBpZiBOT1RJRllfU1RPUCBoYXBwZW5zLi4KKwkJCSAqLworCQkJZGllX25taSgiQlVHOiBOTUkgV2F0Y2hkb2cgZGV0ZWN0ZWQgTE9DS1VQIiwKKwkJCQlyZWdzLCBwYW5pY19vbl90aW1lb3V0KTsKIAl9IGVsc2UgewogCQlfX2dldF9jcHVfdmFyKGxhc3RfaXJxX3N1bSkgPSBzdW07CiAJCWxvY2FsX3NldCgmX19nZXRfY3B1X3ZhcihhbGVydF9jb3VudGVyKSwgMCk7CkBAIC0zNzMsNyArNDM1LDggQEAKIAkJcmMgfD0gbGFwaWNfd2RfZXZlbnQobm1pX2h6KTsKIAkJYnJlYWs7CiAJY2FzZSBOTUlfSU9fQVBJQzoKLQkJLyogZG9uJ3Qga25vdyBob3cgdG8gYWNjdXJhdGVseSBjaGVjayBmb3IgdGhpcy4KKwkJLyoKKwkJICogZG9uJ3Qga25vdyBob3cgdG8gYWNjdXJhdGVseSBjaGVjayBmb3IgdGhpcy4KIAkJICoganVzdCBhc3N1bWUgaXQgd2FzIGEgd2F0Y2hkb2cgdGltZXIgaW50ZXJydXB0CiAJCSAqIFRoaXMgbWF0Y2hlcyB0aGUgb2xkIGJlaGF2aW91ci4KIAkJICovCkBAIC0zODMsMzAgKzQ0Niw2IEBACiAJcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgdW5zaWduZWQgaWdub3JlX25taXM7Ci0KLWFzbWxpbmthZ2Ugbm90cmFjZSBfX2twcm9iZXMgdm9pZAotZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCi17Ci0Jbm1pX2VudGVyKCk7Ci0JYWRkX3BkYShfX25taV9jb3VudCwxKTsKLQlpZiAoIWlnbm9yZV9ubWlzKQotCQlkZWZhdWx0X2RvX25taShyZWdzKTsKLQlubWlfZXhpdCgpOwotfQotCi12b2lkIHN0b3Bfbm1pKHZvaWQpCi17Ci0JYWNwaV9ubWlfZGlzYWJsZSgpOwotCWlnbm9yZV9ubWlzKys7Ci19Ci0KLXZvaWQgcmVzdGFydF9ubWkodm9pZCkKLXsKLQlpZ25vcmVfbm1pcy0tOwotCWFjcGlfbm1pX2VuYWJsZSgpOwotfQotCiAjaWZkZWYgQ09ORklHX1NZU0NUTAogCiBzdGF0aWMgaW50IHVua25vd25fbm1pX3BhbmljX2NhbGxiYWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQpAQCAtNDE1LDcgKzQ1NCw3IEBACiAJY2hhciBidWZbNjRdOwogCiAJc3ByaW50ZihidWYsICJOTUkgcmVjZWl2ZWQgZm9yIHVua25vd24gcmVhc29uICUwMnhcbiIsIHJlYXNvbik7Ci0JZGllX25taShidWYsIHJlZ3MsIDEpOwkvKiBBbHdheXMgcGFuaWMgaGVyZSAqLworCWRpZV9ubWkoYnVmLCByZWdzLCAxKTsgLyogQWx3YXlzIHBhbmljIGhlcmUgKi8KIAlyZXR1cm4gMDsKIH0KIApAQCAtNDMzLDI4ICs0NzIsMjYgQEAKIAlpZiAoISFvbGRfc3RhdGUgPT0gISFubWlfd2F0Y2hkb2dfZW5hYmxlZCkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDwgMCB8fCBubWlfd2F0Y2hkb2cgPT0gTk1JX0RJU0FCTEVEKSB7Ci0JCXByaW50ayggS0VSTl9XQVJOSU5HICJOTUkgd2F0Y2hkb2cgaXMgcGVybWFuZW50bHkgZGlzYWJsZWRcbiIpOworCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPCAwIHx8ICFubWlfd2F0Y2hkb2dfYWN0aXZlKCkpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIk5NSSB3YXRjaGRvZyBpcyBwZXJtYW5lbnRseSBkaXNhYmxlZFxuIik7CiAJCXJldHVybiAtRUlPOwogCX0KIAotCS8qIGlmIG5taV93YXRjaGRvZyBpcyBub3Qgc2V0IHlldCwgdGhlbiBzZXQgaXQgKi8KLQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwotCiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykgewogCQlpZiAobm1pX3dhdGNoZG9nX2VuYWJsZWQpCiAJCQllbmFibGVfbGFwaWNfbm1pX3dhdGNoZG9nKCk7CiAJCWVsc2UKIAkJCWRpc2FibGVfbGFwaWNfbm1pX3dhdGNoZG9nKCk7CiAJfSBlbHNlIHsKLQkJcHJpbnRrKCBLRVJOX1dBUk5JTkcKKwkJcHJpbnRrKEtFUk5fV0FSTklORwogCQkJIk5NSSB3YXRjaGRvZyBkb2Vzbid0IGtub3cgd2hhdCBoYXJkd2FyZSB0byB0b3VjaFxuIik7CiAJCXJldHVybiAtRUlPOwogCX0KIAlyZXR1cm4gMDsKIH0KIAotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NZU0NUTCAqLwogCiBpbnQgZG9fbm1pX2NhbGxiYWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQogewpAQCAtNDc3LDYgKzUxNCwzIEBACiAJCW1kZWxheSgxKTsKIAl9CiB9Ci0KLUVYUE9SVF9TWU1CT0wobm1pX2FjdGl2ZSk7Ci1FWFBPUlRfU1lNQk9MKG5taV93YXRjaGRvZyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbm1pXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbm1pXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0MTYwZjcuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL25taV8zMi5jCisrKyAvZGV2L251bGwKQEAgLTEsNDY3ICswLDAgQEAKLS8qCi0gKiAgTk1JIHdhdGNoZG9nIHN1cHBvcnQgb24gQVBJQyBzeXN0ZW1zCi0gKgotICogIFN0YXJ0ZWQgYnkgSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+Ci0gKgotICogIEZpeGVzOgotICogIE1pa2FlbCBQZXR0ZXJzc29uCTogQU1EIEs3IHN1cHBvcnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgotICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUG93ZXIgTWFuYWdlbWVudCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCi0gKiAgTWlrYWVsIFBldHRlcnNzb24JOiBQZW50aXVtIDQgc3VwcG9ydCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCi0gKiAgUGF2ZWwgTWFjaGVrIGFuZAotICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUE0gY29udmVydGVkIHRvIGRyaXZlciBtb2RlbC4gRGlzYWJsZS9lbmFibGUgQVBJLgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L25taS5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgotI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgotI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZGVidWcuaD4KLSNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL25taS5oPgotCi0jaW5jbHVkZSAibWFjaF90cmFwcy5oIgotCi1pbnQgdW5rbm93bl9ubWlfcGFuaWM7Ci1pbnQgbm1pX3dhdGNoZG9nX2VuYWJsZWQ7Ci0KLXN0YXRpYyBjcHVtYXNrX3QgYmFja3RyYWNlX21hc2sgPSBDUFVfTUFTS19OT05FOwotCi0vKiBubWlfYWN0aXZlOgotICogPjA6IHRoZSBsYXBpYyBOTUkgd2F0Y2hkb2cgaXMgYWN0aXZlLCBidXQgY2FuIGJlIGRpc2FibGVkCi0gKiA8MDogdGhlIGxhcGljIE5NSSB3YXRjaGRvZyBoYXMgbm90IGJlZW4gc2V0IHVwLCBhbmQgY2Fubm90Ci0gKiAgICAgYmUgZW5hYmxlZAotICogIDA6IHRoZSBsYXBpYyBOTUkgd2F0Y2hkb2cgaXMgZGlzYWJsZWQsIGJ1dCBjYW4gYmUgZW5hYmxlZAotICovCi1hdG9taWNfdCBubWlfYWN0aXZlID0gQVRPTUlDX0lOSVQoMCk7CQkvKiBvcHJvZmlsZSB1c2VzIHRoaXMgKi8KLQotdW5zaWduZWQgaW50IG5taV93YXRjaGRvZyA9IE5NSV9ERUZBVUxUOwotc3RhdGljIHVuc2lnbmVkIGludCBubWlfaHogPSBIWjsKLQotc3RhdGljIERFRklORV9QRVJfQ1BVKHNob3J0LCB3ZF9lbmFibGVkKTsKLQotc3RhdGljIGludCBlbmRmbGFnIF9faW5pdGRhdGEgPSAwOwotCi0jaWZkZWYgQ09ORklHX1NNUAotLyogVGhlIHBlcmZvcm1hbmNlIGNvdW50ZXJzIHVzZWQgYnkgTk1JX0xPQ0FMX0FQSUMgZG9uJ3QgdHJpZ2dlciB3aGVuCi0gKiB0aGUgQ1BVIGlzIGlkbGUuIFRvIG1ha2Ugc3VyZSB0aGUgTk1JIHdhdGNoZG9nIHJlYWxseSB0aWNrcyBvbiBhbGwKLSAqIENQVXMgZHVyaW5nIHRoZSB0ZXN0IG1ha2UgdGhlbSBidXN5LgotICovCi1zdGF0aWMgX19pbml0IHZvaWQgbm1pX2NwdV9idXN5KHZvaWQgKmRhdGEpCi17Ci0JbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7Ci0JLyogSW50ZW50aW9uYWxseSBkb24ndCB1c2UgY3B1X3JlbGF4IGhlcmUuIFRoaXMgaXMKLQkgICB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciByZWFsbHkgdGlja3MsCi0JICAgZXZlbiBpZiB0aGVyZSBpcyBhIHNpbXVsYXRvciBvciBzaW1pbGFyIHRoYXQgY2F0Y2hlcyB0aGUKLQkgICBwYXVzZSBpbnN0cnVjdGlvbi4gT24gYSByZWFsIEhUIG1hY2hpbmUgdGhpcyBpcyBmaW5lIGJlY2F1c2UKLQkgICBhbGwgb3RoZXIgQ1BVcyBhcmUgYnVzeSB3aXRoICJ1c2VsZXNzIiBkZWxheSBsb29wcyBhbmQgZG9uJ3QKLQkgICBjYXJlIGlmIHRoZXkgZ2V0IHNvbWV3aGF0IGxlc3MgY3ljbGVzLiAqLwotCXdoaWxlIChlbmRmbGFnID09IDApCi0JCW1iKCk7Ci19Ci0jZW5kaWYKLQotaW50IF9faW5pdCBjaGVja19ubWlfd2F0Y2hkb2codm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgKnByZXZfbm1pX2NvdW50OwotCWludCBjcHU7Ci0KLQlpZiAoKG5taV93YXRjaGRvZyA9PSBOTUlfTk9ORSkgfHwgKG5taV93YXRjaGRvZyA9PSBOTUlfRElTQUJMRUQpKQotCQlyZXR1cm4gMDsKLQotCWlmICghYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKQotCQlyZXR1cm4gMDsKLQotCXByZXZfbm1pX2NvdW50ID0ga21hbGxvYyhOUl9DUFVTICogc2l6ZW9mKGludCksIEdGUF9LRVJORUwpOwotCWlmICghcHJldl9ubWlfY291bnQpCi0JCXJldHVybiAtMTsKLQotCXByaW50ayhLRVJOX0lORk8gIlRlc3RpbmcgTk1JIHdhdGNoZG9nIC4uLiAiKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQotCQlzbXBfY2FsbF9mdW5jdGlvbihubWlfY3B1X2J1c3ksICh2b2lkICopJmVuZGZsYWcsIDAsIDApOwotI2VuZGlmCi0KLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQotCQlwcmV2X25taV9jb3VudFtjcHVdID0gbm1pX2NvdW50KGNwdSk7Ci0JbG9jYWxfaXJxX2VuYWJsZSgpOwotCW1kZWxheSgoMjAqMTAwMCkvbm1pX2h6KTsgLy8gd2FpdCAyMCB0aWNrcwotCi0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgewotI2lmZGVmIENPTkZJR19TTVAKLQkJLyogQ2hlY2sgY3B1X2NhbGxpbl9tYXAgaGVyZSBiZWNhdXNlIHRoYXQgaXMgc2V0Ci0JCSAgIGFmdGVyIHRoZSB0aW1lciBpcyBzdGFydGVkLiAqLwotCQlpZiAoIWNwdV9pc3NldChjcHUsIGNwdV9jYWxsaW5fbWFwKSkKLQkJCWNvbnRpbnVlOwotI2VuZGlmCi0JCWlmICghcGVyX2NwdSh3ZF9lbmFibGVkLCBjcHUpKQotCQkJY29udGludWU7Ci0JCWlmIChubWlfY291bnQoY3B1KSAtIHByZXZfbm1pX2NvdW50W2NwdV0gPD0gNSkgewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV0FSTklORzogQ1BVIyVkOiBOTUkgIgotCQkJCSJhcHBlYXJzIHRvIGJlIHN0dWNrICglZC0+JWQpIVxuIiwKLQkJCQljcHUsCi0JCQkJcHJldl9ubWlfY291bnRbY3B1XSwKLQkJCQlubWlfY291bnQoY3B1KSk7Ci0JCQlwZXJfY3B1KHdkX2VuYWJsZWQsIGNwdSkgPSAwOwotCQkJYXRvbWljX2RlYygmbm1pX2FjdGl2ZSk7Ci0JCX0KLQl9Ci0JZW5kZmxhZyA9IDE7Ci0JaWYgKCFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpIHsKLQkJa2ZyZWUocHJldl9ubWlfY291bnQpOwotCQlhdG9taWNfc2V0KCZubWlfYWN0aXZlLCAtMSk7Ci0JCXJldHVybiAtMTsKLQl9Ci0JcHJpbnRrKCJPSy5cbiIpOwotCi0JLyogbm93IHRoYXQgd2Uga25vdyBpdCB3b3JrcyB3ZSBjYW4gcmVkdWNlIE5NSSBmcmVxdWVuY3kgdG8KLQkgICBzb21ldGhpbmcgbW9yZSByZWFzb25hYmxlOyBtYWtlcyBhIGRpZmZlcmVuY2UgaW4gc29tZSBjb25maWdzICovCi0JaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykKLQkJbm1pX2h6ID0gbGFwaWNfYWRqdXN0X25taV9oeigxKTsKLQotCWtmcmVlKHByZXZfbm1pX2NvdW50KTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBfX2luaXQgc2V0dXBfbm1pX3dhdGNoZG9nKGNoYXIgKnN0cikKLXsKLQlpbnQgbm1pOwotCi0JZ2V0X29wdGlvbigmc3RyLCAmbm1pKTsKLQotCWlmICgobm1pID49IE5NSV9JTlZBTElEKSB8fCAobm1pIDwgTk1JX05PTkUpKQotCQlyZXR1cm4gMDsKLQotCW5taV93YXRjaGRvZyA9IG5taTsKLQlyZXR1cm4gMTsKLX0KLQotX19zZXR1cCgibm1pX3dhdGNoZG9nPSIsIHNldHVwX25taV93YXRjaGRvZyk7Ci0KLQotLyogU3VzcGVuZC9yZXN1bWUgc3VwcG9ydCAqLwotCi0jaWZkZWYgQ09ORklHX1BNCi0KLXN0YXRpYyBpbnQgbm1pX3BtX2FjdGl2ZTsgLyogbm1pX2FjdGl2ZSBiZWZvcmUgc3VzcGVuZCAqLwotCi1zdGF0aWMgaW50IGxhcGljX25taV9zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKLXsKLQkvKiBvbmx5IENQVTAgZ29lcyBoZXJlLCBvdGhlciBDUFVzIHNob3VsZCBiZSBvZmZsaW5lICovCi0Jbm1pX3BtX2FjdGl2ZSA9IGF0b21pY19yZWFkKCZubWlfYWN0aXZlKTsKLQlzdG9wX2FwaWNfbm1pX3dhdGNoZG9nKE5VTEwpOwotCUJVR19PTihhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgIT0gMCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgbGFwaWNfbm1pX3Jlc3VtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2KQotewotCS8qIG9ubHkgQ1BVMCBnb2VzIGhlcmUsIG90aGVyIENQVXMgc2hvdWxkIGJlIG9mZmxpbmUgKi8KLQlpZiAobm1pX3BtX2FjdGl2ZSA+IDApIHsKLQkJc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2coTlVMTCk7Ci0JCXRvdWNoX25taV93YXRjaGRvZygpOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBubWlfc3lzY2xhc3MgPSB7Ci0JLm5hbWUJCT0gImxhcGljX25taSIsCi0JLnJlc3VtZQkJPSBsYXBpY19ubWlfcmVzdW1lLAotCS5zdXNwZW5kCT0gbGFwaWNfbm1pX3N1c3BlbmQsCi19OwotCi1zdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgZGV2aWNlX2xhcGljX25taSA9IHsKLQkuaWQJPSAwLAotCS5jbHMJPSAmbm1pX3N5c2NsYXNzLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaW5pdF9sYXBpY19ubWlfc3lzZnModm9pZCkKLXsKLQlpbnQgZXJyb3I7Ci0KLQkvKiBzaG91bGQgcmVhbGx5IGJlIGEgQlVHX09OIGJ1dCBiL2MgdGhpcyBpcyBhbgotCSAqIGluaXQgY2FsbCwgaXQganVzdCBkb2Vzbid0IHdvcmsuICAtZGN6Ci0JICovCi0JaWYgKG5taV93YXRjaGRvZyAhPSBOTUlfTE9DQUxfQVBJQykKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDwgMCkKLQkJcmV0dXJuIDA7Ci0KLQllcnJvciA9IHN5c2Rldl9jbGFzc19yZWdpc3Rlcigmbm1pX3N5c2NsYXNzKTsKLQlpZiAoIWVycm9yKQotCQllcnJvciA9IHN5c2Rldl9yZWdpc3RlcigmZGV2aWNlX2xhcGljX25taSk7Ci0JcmV0dXJuIGVycm9yOwotfQotLyogbXVzdCBjb21lIGFmdGVyIHRoZSBsb2NhbCBBUElDJ3MgZGV2aWNlX2luaXRjYWxsKCkgKi8KLWxhdGVfaW5pdGNhbGwoaW5pdF9sYXBpY19ubWlfc3lzZnMpOwotCi0jZW5kaWYJLyogQ09ORklHX1BNICovCi0KLXN0YXRpYyB2b2lkIF9fYWNwaV9ubWlfZW5hYmxlKHZvaWQgKl9fdW51c2VkKQotewotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkpOwotfQotCi0vKgotICogRW5hYmxlIHRpbWVyIGJhc2VkIE5NSXMgb24gYWxsIENQVXM6Ci0gKi8KLXZvaWQgYWNwaV9ubWlfZW5hYmxlKHZvaWQpCi17Ci0JaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSAmJiBubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpCi0JCW9uX2VhY2hfY3B1KF9fYWNwaV9ubWlfZW5hYmxlLCBOVUxMLCAwLCAxKTsKLX0KLQotc3RhdGljIHZvaWQgX19hY3BpX25taV9kaXNhYmxlKHZvaWQgKl9fdW51c2VkKQotewotCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0RNX05NSSB8IEFQSUNfTFZUX01BU0tFRCk7Ci19Ci0KLS8qCi0gKiBEaXNhYmxlIHRpbWVyIGJhc2VkIE5NSXMgb24gYWxsIENQVXM6Ci0gKi8KLXZvaWQgYWNwaV9ubWlfZGlzYWJsZSh2b2lkKQotewotCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgJiYgbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQotCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2Rpc2FibGUsIE5VTEwsIDAsIDEpOwotfQotCi12b2lkIHNldHVwX2FwaWNfbm1pX3dhdGNoZG9nKHZvaWQgKnVudXNlZCkKLXsKLQlpZiAoX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSkKLQkJcmV0dXJuOwotCi0JLyogY2hlYXAgaGFjayB0byBzdXBwb3J0IHN1c3BlbmQvcmVzdW1lICovCi0JLyogaWYgY3B1MCBpcyBub3QgYWN0aXZlIG5laXRoZXIgc2hvdWxkIHRoZSBvdGhlciBjcHVzICovCi0JaWYgKChzbXBfcHJvY2Vzc29yX2lkKCkgIT0gMCkgJiYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8PSAwKSkKLQkJcmV0dXJuOwotCi0Jc3dpdGNoIChubWlfd2F0Y2hkb2cpIHsKLQljYXNlIE5NSV9MT0NBTF9BUElDOgotCQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMTsgLyogZW5hYmxlIGl0IGJlZm9yZSB0byBhdm9pZCByYWNlIHdpdGggaGFuZGxlciAqLwotCQlpZiAobGFwaWNfd2F0Y2hkb2dfaW5pdChubWlfaHopIDwgMCkgewotCQkJX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDA7Ci0JCQlyZXR1cm47Ci0JCX0KLQkJLyogRkFMTCBUSFJPVUdIICovCi0JY2FzZSBOTUlfSU9fQVBJQzoKLQkJX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDE7Ci0JCWF0b21pY19pbmMoJm5taV9hY3RpdmUpOwotCX0KLX0KLQotdm9pZCBzdG9wX2FwaWNfbm1pX3dhdGNoZG9nKHZvaWQgKnVudXNlZCkKLXsKLQkvKiBvbmx5IHN1cHBvcnQgTE9DQUwgYW5kIElPIEFQSUNzIGZvciBub3cgKi8KLQlpZiAoKG5taV93YXRjaGRvZyAhPSBOTUlfTE9DQUxfQVBJQykgJiYKLQkgICAgKG5taV93YXRjaGRvZyAhPSBOTUlfSU9fQVBJQykpCi0JICAgIAlyZXR1cm47Ci0JaWYgKF9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPT0gMCkKLQkJcmV0dXJuOwotCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpCi0JCWxhcGljX3dhdGNoZG9nX3N0b3AoKTsKLQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMDsKLQlhdG9taWNfZGVjKCZubWlfYWN0aXZlKTsKLX0KLQotLyoKLSAqIHRoZSBiZXN0IHdheSB0byBkZXRlY3Qgd2hldGhlciBhIENQVSBoYXMgYSAnaGFyZCBsb2NrdXAnIHByb2JsZW0KLSAqIGlzIHRvIGNoZWNrIGl0J3MgbG9jYWwgQVBJQyB0aW1lciBJUlEgY291bnRzLiBJZiB0aGV5IGFyZSBub3QKLSAqIGNoYW5naW5nIHRoZW4gdGhhdCBDUFUgaGFzIHNvbWUgcHJvYmxlbS4KLSAqCi0gKiBhcyB0aGVzZSB3YXRjaGRvZyBOTUkgSVJRcyBhcmUgZ2VuZXJhdGVkIG9uIGV2ZXJ5IENQVSwgd2Ugb25seQotICogaGF2ZSB0byBjaGVjayB0aGUgY3VycmVudCBwcm9jZXNzb3IuCi0gKgotICogc2luY2UgTk1JcyBkb24ndCBsaXN0ZW4gdG8gX2FueV8gbG9ja3MsIHdlIGhhdmUgdG8gYmUgZXh0cmVtZWx5Ci0gKiBjYXJlZnVsIG5vdCB0byByZWx5IG9uIHVuc2FmZSB2YXJpYWJsZXMuIFRoZSBwcmludGsgbWlnaHQgbG9jawotICogdXAgdGhvdWdoLCBzbyB3ZSBoYXZlIHRvIGJyZWFrIHVwIGFueSBjb25zb2xlIGxvY2tzIGZpcnN0IC4uLgotICogW3doZW4gdGhlcmUgd2lsbCBiZSBtb3JlIHR0eS1yZWxhdGVkIGxvY2tzLCBicmVhayB0aGVtIHVwCi0gKiAgaGVyZSB0b28hXQotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBpbnQKLQlsYXN0X2lycV9zdW1zIFtOUl9DUFVTXSwKLQlhbGVydF9jb3VudGVyIFtOUl9DUFVTXTsKLQotdm9pZCB0b3VjaF9ubWlfd2F0Y2hkb2codm9pZCkKLXsKLQlpZiAobm1pX3dhdGNoZG9nID4gMCkgewotCQl1bnNpZ25lZCBjcHU7Ci0KLQkJLyoKLQkJICogSnVzdCByZXNldCB0aGUgYWxlcnQgY291bnRlcnMsIChvdGhlciBDUFVzIG1pZ2h0IGJlCi0JCSAqIHNwaW5uaW5nIG9uIGxvY2tzIHdlIGhvbGQpOgotCQkgKi8KLQkJZm9yX2VhY2hfcHJlc2VudF9jcHUoY3B1KSB7Ci0JCQlpZiAoYWxlcnRfY291bnRlcltjcHVdKQotCQkJCWFsZXJ0X2NvdW50ZXJbY3B1XSA9IDA7Ci0JCX0KLQl9Ci0KLQkvKgotCSAqIFRpY2tsZSB0aGUgc29mdGxvY2t1cCBkZXRlY3RvciB0b286Ci0JICovCi0JdG91Y2hfc29mdGxvY2t1cF93YXRjaGRvZygpOwotfQotRVhQT1JUX1NZTUJPTCh0b3VjaF9ubWlfd2F0Y2hkb2cpOwotCi1leHRlcm4gdm9pZCBkaWVfbm1pKHN0cnVjdCBwdF9yZWdzICosIGNvbnN0IGNoYXIgKm1zZyk7Ci0KLW5vdHJhY2UgX19rcHJvYmVzIGludAotbm1pX3dhdGNoZG9nX3RpY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIHJlYXNvbikKLXsKLQotCS8qCi0JICogU2luY2UgY3VycmVudF90aHJlYWRfaW5mbygpLT4gaXMgYWx3YXlzIG9uIHRoZSBzdGFjaywgYW5kIHdlCi0JICogYWx3YXlzIHN3aXRjaCB0aGUgc3RhY2sgTk1JLWF0b21pY2FsbHksIGl0J3Mgc2FmZSB0byB1c2UKLQkgKiBzbXBfcHJvY2Vzc29yX2lkKCkuCi0JICovCi0JdW5zaWduZWQgaW50IHN1bTsKLQlpbnQgdG91Y2hlZCA9IDA7Ci0JaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlpbnQgcmMgPSAwOwotCi0JLyogY2hlY2sgZm9yIG90aGVyIHVzZXJzIGZpcnN0ICovCi0JaWYgKG5vdGlmeV9kaWUoRElFX05NSSwgIm5taSIsIHJlZ3MsIHJlYXNvbiwgMiwgU0lHSU5UKQotCQkJPT0gTk9USUZZX1NUT1ApIHsKLQkJcmMgPSAxOwotCQl0b3VjaGVkID0gMTsKLQl9Ci0KLQlpZiAoY3B1X2lzc2V0KGNwdSwgYmFja3RyYWNlX21hc2spKSB7Ci0JCXN0YXRpYyBERUZJTkVfU1BJTkxPQ0sobG9jayk7CS8qIFNlcmlhbGlzZSB0aGUgcHJpbnRrcyAqLwotCi0JCXNwaW5fbG9jaygmbG9jayk7Ci0JCXByaW50aygiTk1JIGJhY2t0cmFjZSBmb3IgY3B1ICVkXG4iLCBjcHUpOwotCQlkdW1wX3N0YWNrKCk7Ci0JCXNwaW5fdW5sb2NrKCZsb2NrKTsKLQkJY3B1X2NsZWFyKGNwdSwgYmFja3RyYWNlX21hc2spOwotCX0KLQotCS8qCi0JICogVGFrZSB0aGUgbG9jYWwgYXBpYyB0aW1lciBhbmQgUElUL0hQRVQgaW50byBhY2NvdW50LiBXZSBkb24ndAotCSAqIGtub3cgd2hpY2ggb25lIGlzIGFjdGl2ZSwgd2hlbiB3ZSBoYXZlIGhpZ2hyZXMvZHludGljayBvbgotCSAqLwotCXN1bSA9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuYXBpY190aW1lcl9pcnFzICsKLQkJcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnEwX2lycXM7Ci0KLQkvKiBpZiB0aGUgbm9uZSBvZiB0aGUgdGltZXJzIGlzbid0IGZpcmluZywgdGhpcyBjcHUgaXNuJ3QgZG9pbmcgbXVjaCAqLwotCWlmICghdG91Y2hlZCAmJiBsYXN0X2lycV9zdW1zW2NwdV0gPT0gc3VtKSB7Ci0JCS8qCi0JCSAqIEF5aWVlLCBsb29rcyBsaWtlIHRoaXMgQ1BVIGlzIHN0dWNrIC4uLgotCQkgKiB3YWl0IGEgZmV3IElSUXMgKDUgc2Vjb25kcykgYmVmb3JlIGRvaW5nIHRoZSBvb3BzIC4uLgotCQkgKi8KLQkJYWxlcnRfY291bnRlcltjcHVdKys7Ci0JCWlmIChhbGVydF9jb3VudGVyW2NwdV0gPT0gNSpubWlfaHopCi0JCQkvKgotCQkJICogZGllX25taSB3aWxsIHJldHVybiBPTkxZIGlmIE5PVElGWV9TVE9QIGhhcHBlbnMuLgotCQkJICovCi0JCQlkaWVfbm1pKHJlZ3MsICJCVUc6IE5NSSBXYXRjaGRvZyBkZXRlY3RlZCBMT0NLVVAiKTsKLQl9IGVsc2UgewotCQlsYXN0X2lycV9zdW1zW2NwdV0gPSBzdW07Ci0JCWFsZXJ0X2NvdW50ZXJbY3B1XSA9IDA7Ci0JfQotCS8qIHNlZSBpZiB0aGUgbm1pIHdhdGNoZG9nIHdlbnQgb2ZmICovCi0JaWYgKCFfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpKQotCQlyZXR1cm4gcmM7Ci0Jc3dpdGNoIChubWlfd2F0Y2hkb2cpIHsKLQljYXNlIE5NSV9MT0NBTF9BUElDOgotCQlyYyB8PSBsYXBpY193ZF9ldmVudChubWlfaHopOwotCQlicmVhazsKLQljYXNlIE5NSV9JT19BUElDOgotCQkvKiBkb24ndCBrbm93IGhvdyB0byBhY2N1cmF0ZWx5IGNoZWNrIGZvciB0aGlzLgotCQkgKiBqdXN0IGFzc3VtZSBpdCB3YXMgYSB3YXRjaGRvZyB0aW1lciBpbnRlcnJ1cHQKLQkJICogVGhpcyBtYXRjaGVzIHRoZSBvbGQgYmVoYXZpb3VyLgotCQkgKi8KLQkJcmMgPSAxOwotCQlicmVhazsKLQl9Ci0JcmV0dXJuIHJjOwotfQotCi0jaWZkZWYgQ09ORklHX1NZU0NUTAotCi1zdGF0aWMgaW50IHVua25vd25fbm1pX3BhbmljX2NhbGxiYWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQotewotCXVuc2lnbmVkIGNoYXIgcmVhc29uID0gZ2V0X25taV9yZWFzb24oKTsKLQljaGFyIGJ1Zls2NF07Ci0KLQlzcHJpbnRmKGJ1ZiwgIk5NSSByZWNlaXZlZCBmb3IgdW5rbm93biByZWFzb24gJTAyeFxuIiwgcmVhc29uKTsKLQlkaWVfbm1pKHJlZ3MsIGJ1Zik7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBwcm9jIGhhbmRsZXIgZm9yIC9wcm9jL3N5cy9rZXJuZWwvbm1pCi0gKi8KLWludCBwcm9jX25taV9lbmFibGVkKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQkJdm9pZCBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90ICpsZW5ndGgsIGxvZmZfdCAqcHBvcykKLXsKLQlpbnQgb2xkX3N0YXRlOwotCi0Jbm1pX3dhdGNoZG9nX2VuYWJsZWQgPSAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpID4gMCkgPyAxIDogMDsKLQlvbGRfc3RhdGUgPSBubWlfd2F0Y2hkb2dfZW5hYmxlZDsKLQlwcm9jX2RvaW50dmVjKHRhYmxlLCB3cml0ZSwgZmlsZSwgYnVmZmVyLCBsZW5ndGgsIHBwb3MpOwotCWlmICghIW9sZF9zdGF0ZSA9PSAhIW5taV93YXRjaGRvZ19lbmFibGVkKQotCQlyZXR1cm4gMDsKLQotCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPCAwIHx8IG5taV93YXRjaGRvZyA9PSBOTUlfRElTQUJMRUQpIHsKLQkJcHJpbnRrKCBLRVJOX1dBUk5JTkcgIk5NSSB3YXRjaGRvZyBpcyBwZXJtYW5lbnRseSBkaXNhYmxlZFxuIik7Ci0JCXJldHVybiAtRUlPOwotCX0KLQotCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0RFRkFVTFQpIHsKLQkJaWYgKGxhcGljX3dhdGNoZG9nX29rKCkpCi0JCQlubWlfd2F0Y2hkb2cgPSBOTUlfTE9DQUxfQVBJQzsKLQkJZWxzZQotCQkJbm1pX3dhdGNoZG9nID0gTk1JX0lPX0FQSUM7Ci0JfQotCi0JaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykgewotCQlpZiAobm1pX3dhdGNoZG9nX2VuYWJsZWQpCi0JCQllbmFibGVfbGFwaWNfbm1pX3dhdGNoZG9nKCk7Ci0JCWVsc2UKLQkJCWRpc2FibGVfbGFwaWNfbm1pX3dhdGNoZG9nKCk7Ci0JfSBlbHNlIHsKLQkJcHJpbnRrKCBLRVJOX1dBUk5JTkcKLQkJCSJOTUkgd2F0Y2hkb2cgZG9lc24ndCBrbm93IHdoYXQgaGFyZHdhcmUgdG8gdG91Y2hcbiIpOwotCQlyZXR1cm4gLUVJTzsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLSNlbmRpZgotCi1pbnQgZG9fbm1pX2NhbGxiYWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQotewotI2lmZGVmIENPTkZJR19TWVNDVEwKLQlpZiAodW5rbm93bl9ubWlfcGFuaWMpCi0JCXJldHVybiB1bmtub3duX25taV9wYW5pY19jYWxsYmFjayhyZWdzLCBjcHUpOwotI2VuZGlmCi0JcmV0dXJuIDA7Ci19Ci0KLXZvaWQgX190cmlnZ2VyX2FsbF9jcHVfYmFja3RyYWNlKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQliYWNrdHJhY2VfbWFzayA9IGNwdV9vbmxpbmVfbWFwOwotCS8qIFdhaXQgZm9yIHVwIHRvIDEwIHNlY29uZHMgZm9yIGFsbCBDUFVzIHRvIGRvIHRoZSBiYWNrdHJhY2UgKi8KLQlmb3IgKGkgPSAwOyBpIDwgMTAgKiAxMDAwOyBpKyspIHsKLQkJaWYgKGNwdXNfZW1wdHkoYmFja3RyYWNlX21hc2spKQotCQkJYnJlYWs7Ci0JCW1kZWxheSgxKTsKLQl9Ci19Ci0KLUVYUE9SVF9TWU1CT0wobm1pX2FjdGl2ZSk7Ci1FWFBPUlRfU1lNQk9MKG5taV93YXRjaGRvZyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbnVtYXFfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9udW1hcV8zMi5jCmluZGV4IGU2NTI4MWIuLjViMjBhNWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9udW1hcV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9udW1hcV8zMi5jCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSA8YXNtL251bWFxLmg+CiAjaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgogCiAjZGVmaW5lCU1CX1RPX1BBR0VTKGFkZHIpICgoYWRkcikgPDwgKDIwIC0gUEFHRV9TSElGVCkpCiAKQEAgLTU4LDYgKzYwLDggQEAKIAkJCW5vZGVfZW5kX3Bmbltub2RlXSA9IE1CX1RPX1BBR0VTKAogCQkJCWVxLT5oaV9zaHJkX21lbV9zdGFydCArIGVxLT5oaV9zaHJkX21lbV9zaXplKTsKIAorCQkJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucyhub2RlLCBub2RlX3N0YXJ0X3Bmbltub2RlXSwKKwkJCQkJCQlub2RlX2VuZF9wZm5bbm9kZV0pOwogCQkJbWVtb3J5X3ByZXNlbnQobm9kZSwKIAkJCQlub2RlX3N0YXJ0X3Bmbltub2RlXSwgbm9kZV9lbmRfcGZuW25vZGVdKTsKIAkJCW5vZGVfcmVtYXBfc2l6ZVtub2RlXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMobm9kZSwKQEAgLTY3LDIzICs3MSwzNSBAQAogCX0KIH0KIAotLyoKLSAqIFVubGlrZSBTdW1taXQsIHdlIGRvbid0IHJlYWxseSBjYXJlIHRvIGxldCB0aGUgTlVNQS1RCi0gKiBmYWxsIGJhY2sgdG8gZmxhdCBtb2RlLiAgRG9uJ3QgY29tcGlsZSBmb3IgTlVNQS1RCi0gKiB1bmxlc3MgeW91IHJlYWxseSBuZWVkIGl0IQotICovCitzdGF0aWMgX19pbml0IHZvaWQgZWFybHlfY2hlY2tfbnVtYXEodm9pZCkKK3sKKwkvKgorCSAqIEZpbmQgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgorCSAqLworCWVhcmx5X2ZpbmRfc21wX2NvbmZpZygpOworCS8qCisJICogZ2V0IGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbjoKKwkgKi8KKwlpZiAoc21wX2ZvdW5kX2NvbmZpZykKKwkJZWFybHlfZ2V0X3NtcF9jb25maWcoKTsKK30KKwogaW50IF9faW5pdCBnZXRfbWVtY2ZnX251bWFxKHZvaWQpCiB7CisJZWFybHlfY2hlY2tfbnVtYXEoKTsKKwlpZiAoIWZvdW5kX251bWFxKQorCQlyZXR1cm4gMDsKIAlzbXBfZHVtcF9xY3QoKTsKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgbnVtYXFfdHNjX2Rpc2FibGUodm9pZCkKK3ZvaWQgX19pbml0IG51bWFxX3RzY19kaXNhYmxlKHZvaWQpCiB7CisJaWYgKCFmb3VuZF9udW1hcSkKKwkJcmV0dXJuIC0xOworCiAJaWYgKG51bV9vbmxpbmVfbm9kZXMoKSA+IDEpIHsKIAkJcHJpbnRrKEtFUk5fREVCVUcgIk5VTUFROiBkaXNhYmxpbmcgVFNDXG4iKTsKIAkJc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9UU0MpOwogCX0KLQlyZXR1cm4gMDsKIH0KLWFyY2hfaW5pdGNhbGwobnVtYXFfdHNjX2Rpc2FibGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYwppbmRleCA3NGYwYzVlLi5lMGY1NzFkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CiAjaW5jbHVkZSA8YXNtL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vZGVsYXkuaD4KICNpbmNsdWRlIDxhc20vZml4bWFwLmg+CkBAIC0xMzksNyArMTQwLDkgQEAKIAkJLyogSWYgdGhlIG9wZXJhdGlvbiBpcyBhIG5vcCwgdGhlbiBub3AgdGhlIGNhbGxzaXRlICovCiAJCXJldCA9IHBhcmF2aXJ0X3BhdGNoX25vcCgpOwogCWVsc2UgaWYgKHR5cGUgPT0gUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcmV0KSB8fAotCQkgdHlwZSA9PSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzY2FsbF9yZXQpKQorCQkgdHlwZSA9PSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzZXhpdCkgfHwKKwkJIHR5cGUgPT0gUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy51c2VyZ3Nfc3lzcmV0MzIpIHx8CisJCSB0eXBlID09IFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMudXNlcmdzX3N5c3JldDY0KSkKIAkJLyogSWYgb3BlcmF0aW9uIHJlcXVpcmVzIGEgam1wLCB0aGVuIGptcCAqLwogCQlyZXQgPSBwYXJhdmlydF9wYXRjaF9qbXAoaW5zbmJ1Ziwgb3BmdW5jLCBhZGRyLCBsZW4pOwogCWVsc2UKQEAgLTE5MCw3ICsxOTMsOSBAQAogCiAvKiBUaGVzZSBhcmUgaW4gZW50cnkuUyAqLwogZXh0ZXJuIHZvaWQgbmF0aXZlX2lyZXQodm9pZCk7Ci1leHRlcm4gdm9pZCBuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCh2b2lkKTsKK2V4dGVybiB2b2lkIG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQodm9pZCk7CitleHRlcm4gdm9pZCBuYXRpdmVfdXNlcmdzX3N5c3JldDMyKHZvaWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX3VzZXJnc19zeXNyZXQ2NCh2b2lkKTsKIAogc3RhdGljIGludCBfX2luaXQgcHJpbnRfYmFubmVyKHZvaWQpCiB7CkBAIC0yODAsNyArMjg1LDcgQEAKIAkuZ2V0X3dhbGxjbG9jayA9IG5hdGl2ZV9nZXRfd2FsbGNsb2NrLAogCS5zZXRfd2FsbGNsb2NrID0gbmF0aXZlX3NldF93YWxsY2xvY2ssCiAJLnNjaGVkX2Nsb2NrID0gbmF0aXZlX3NjaGVkX2Nsb2NrLAotCS5nZXRfY3B1X2toeiA9IG5hdGl2ZV9jYWxjdWxhdGVfY3B1X2toeiwKKwkuZ2V0X3RzY19raHogPSBuYXRpdmVfY2FsaWJyYXRlX3RzYywKIH07CiAKIHN0cnVjdCBwdl9pcnFfb3BzIHB2X2lycV9vcHMgPSB7CkBAIC0yOTEsNiArMjk2LDkgQEAKIAkuaXJxX2VuYWJsZSA9IG5hdGl2ZV9pcnFfZW5hYmxlLAogCS5zYWZlX2hhbHQgPSBuYXRpdmVfc2FmZV9oYWx0LAogCS5oYWx0ID0gbmF0aXZlX2hhbHQsCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS5hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lID0gcGFyYXZpcnRfbm9wLAorI2VuZGlmCiB9OwogCiBzdHJ1Y3QgcHZfY3B1X29wcyBwdl9jcHVfb3BzID0gewpAQCAtMzIxLDEyICszMjksMjMgQEAKIAkuc3RvcmVfaWR0ID0gbmF0aXZlX3N0b3JlX2lkdCwKIAkuc3RvcmVfdHIgPSBuYXRpdmVfc3RvcmVfdHIsCiAJLmxvYWRfdGxzID0gbmF0aXZlX2xvYWRfdGxzLAorI2lmZGVmIENPTkZJR19YODZfNjQKKwkubG9hZF9nc19pbmRleCA9IG5hdGl2ZV9sb2FkX2dzX2luZGV4LAorI2VuZGlmCiAJLndyaXRlX2xkdF9lbnRyeSA9IG5hdGl2ZV93cml0ZV9sZHRfZW50cnksCiAJLndyaXRlX2dkdF9lbnRyeSA9IG5hdGl2ZV93cml0ZV9nZHRfZW50cnksCiAJLndyaXRlX2lkdF9lbnRyeSA9IG5hdGl2ZV93cml0ZV9pZHRfZW50cnksCiAJLmxvYWRfc3AwID0gbmF0aXZlX2xvYWRfc3AwLAogCi0JLmlycV9lbmFibGVfc3lzY2FsbF9yZXQgPSBuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCwKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfMzIpIHx8IGRlZmluZWQoQ09ORklHX0lBMzJfRU1VTEFUSU9OKQorCS5pcnFfZW5hYmxlX3N5c2V4aXQgPSBuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0LAorI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl82NAorI2lmZGVmIENPTkZJR19JQTMyX0VNVUxBVElPTgorCS51c2VyZ3Nfc3lzcmV0MzIgPSBuYXRpdmVfdXNlcmdzX3N5c3JldDMyLAorI2VuZGlmCisJLnVzZXJnc19zeXNyZXQ2NCA9IG5hdGl2ZV91c2VyZ3Nfc3lzcmV0NjQsCisjZW5kaWYKIAkuaXJldCA9IG5hdGl2ZV9pcmV0LAogCS5zd2FwZ3MgPSBuYXRpdmVfc3dhcGdzLAogCkBAIC0zNjYsNiArMzg1LDkgQEAKIAkuZmx1c2hfdGxiX3NpbmdsZSA9IG5hdGl2ZV9mbHVzaF90bGJfc2luZ2xlLAogCS5mbHVzaF90bGJfb3RoZXJzID0gbmF0aXZlX2ZsdXNoX3RsYl9vdGhlcnMsCiAKKwkucGdkX2FsbG9jID0gX19wYXJhdmlydF9wZ2RfYWxsb2MsCisJLnBnZF9mcmVlID0gcGFyYXZpcnRfbm9wLAorCiAJLmFsbG9jX3B0ZSA9IHBhcmF2aXJ0X25vcCwKIAkuYWxsb2NfcG1kID0gcGFyYXZpcnRfbm9wLAogCS5hbGxvY19wbWRfY2xvbmUgPSBwYXJhdmlydF9ub3AsCkBAIC0zODAsNiArNDAyLDkgQEAKIAkucHRlX3VwZGF0ZSA9IHBhcmF2aXJ0X25vcCwKIAkucHRlX3VwZGF0ZV9kZWZlciA9IHBhcmF2aXJ0X25vcCwKIAorCS5wdGVwX21vZGlmeV9wcm90X3N0YXJ0ID0gX19wdGVwX21vZGlmeV9wcm90X3N0YXJ0LAorCS5wdGVwX21vZGlmeV9wcm90X2NvbW1pdCA9IF9fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQsCisKICNpZmRlZiBDT05GSUdfSElHSFBURQogCS5rbWFwX2F0b21pY19wdGUgPSBrbWFwX2F0b21pYywKICNlbmRpZgpAQCAtNDAzLDYgKzQyOCw3IEBACiAjZW5kaWYgLyogUEFHRVRBQkxFX0xFVkVMUyA+PSAzICovCiAKIAkucHRlX3ZhbCA9IG5hdGl2ZV9wdGVfdmFsLAorCS5wdGVfZmxhZ3MgPSBuYXRpdmVfcHRlX3ZhbCwKIAkucGdkX3ZhbCA9IG5hdGl2ZV9wZ2RfdmFsLAogCiAJLm1ha2VfcHRlID0gbmF0aXZlX21ha2VfcHRlLApAQCAtNDE2LDYgKzQ0Miw4IEBACiAJCS5lbnRlciA9IHBhcmF2aXJ0X25vcCwKIAkJLmxlYXZlID0gcGFyYXZpcnRfbm9wLAogCX0sCisKKwkuc2V0X2ZpeG1hcCA9IG5hdGl2ZV9zZXRfZml4bWFwLAogfTsKIAogRVhQT1JUX1NZTUJPTF9HUEwocHZfdGltZV9vcHMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfMzIuYwppbmRleCA4MmZjNWZjLi41ODI2MjIxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfMzIuYwpAQCAtNSw3ICs1LDcgQEAKIERFRl9OQVRJVkUocHZfaXJxX29wcywgcmVzdG9yZV9mbCwgInB1c2ggJWVheDsgcG9wZiIpOwogREVGX05BVElWRShwdl9pcnFfb3BzLCBzYXZlX2ZsLCAicHVzaGY7IHBvcCAlZWF4Iik7CiBERUZfTkFUSVZFKHB2X2NwdV9vcHMsIGlyZXQsICJpcmV0Iik7Ci1ERUZfTkFUSVZFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzY2FsbF9yZXQsICJzdGk7IHN5c2V4aXQiKTsKK0RFRl9OQVRJVkUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0LCAic3RpOyBzeXNleGl0Iik7CiBERUZfTkFUSVZFKHB2X21tdV9vcHMsIHJlYWRfY3IyLCAibW92ICVjcjIsICVlYXgiKTsKIERFRl9OQVRJVkUocHZfbW11X29wcywgd3JpdGVfY3IzLCAibW92ICVlYXgsICVjcjMiKTsKIERFRl9OQVRJVkUocHZfbW11X29wcywgcmVhZF9jcjMsICJtb3YgJWNyMywgJWVheCIpOwpAQCAtMjksNyArMjksNyBAQAogCQlQQVRDSF9TSVRFKHB2X2lycV9vcHMsIHJlc3RvcmVfZmwpOwogCQlQQVRDSF9TSVRFKHB2X2lycV9vcHMsIHNhdmVfZmwpOwogCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlyZXQpOwotCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzY2FsbF9yZXQpOworCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzZXhpdCk7CiAJCVBBVENIX1NJVEUocHZfbW11X29wcywgcmVhZF9jcjIpOwogCQlQQVRDSF9TSVRFKHB2X21tdV9vcHMsIHJlYWRfY3IzKTsKIAkJUEFUQ0hfU0lURShwdl9tbXVfb3BzLCB3cml0ZV9jcjMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYwppbmRleCA3ZDkwNGUxLi4wNjFkMDFkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYwpAQCAtMTQsOCArMTQsOSBAQAogREVGX05BVElWRShwdl9jcHVfb3BzLCBjbHRzLCAiY2x0cyIpOwogREVGX05BVElWRShwdl9jcHVfb3BzLCB3YmludmQsICJ3YmludmQiKTsKIAotLyogdGhlIHRocmVlIGNvbW1hbmRzIGdpdmUgdXMgbW9yZSBjb250cm9sIHRvIGhvdyB0byByZXR1cm4gZnJvbSBhIHN5c2NhbGwgKi8KLURFRl9OQVRJVkUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNjYWxsX3JldCwgIm1vdnEgJWdzOiIgX19zdHJpbmdpZnkocGRhX29sZHJzcCkgIiwgJXJzcDsgc3dhcGdzOyBzeXNyZXRxOyIpOworREVGX05BVElWRShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2V4aXQsICJzd2FwZ3M7IHN0aTsgc3lzZXhpdCIpOworREVGX05BVElWRShwdl9jcHVfb3BzLCB1c2VyZ3Nfc3lzcmV0NjQsICJzd2FwZ3M7IHN5c3JldHEiKTsKK0RFRl9OQVRJVkUocHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDMyLCAic3dhcGdzOyBzeXNyZXRsIik7CiBERUZfTkFUSVZFKHB2X2NwdV9vcHMsIHN3YXBncywgInN3YXBncyIpOwogCiB1bnNpZ25lZCBuYXRpdmVfcGF0Y2godTggdHlwZSwgdTE2IGNsb2JiZXJzLCB2b2lkICppYnVmLApAQCAtMzUsNyArMzYsOSBAQAogCQlQQVRDSF9TSVRFKHB2X2lycV9vcHMsIGlycV9lbmFibGUpOwogCQlQQVRDSF9TSVRFKHB2X2lycV9vcHMsIGlycV9kaXNhYmxlKTsKIAkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcmV0KTsKLQkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0KTsKKwkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2V4aXQpOworCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIHVzZXJnc19zeXNyZXQzMik7CisJCVBBVENIX1NJVEUocHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDY0KTsKIAkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBzd2FwZ3MpOwogCQlQQVRDSF9TSVRFKHB2X21tdV9vcHMsIHJlYWRfY3IyKTsKIAkJUEFUQ0hfU0lURShwdl9tbXVfb3BzLCByZWFkX2NyMyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWNhbGdhcnlfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jCmluZGV4IGUyOGVjNDkuLjY5NTliNWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jCkBAIC0xMzk0LDcgKzEzOTQsNyBAQAogCQlyZXR1cm47CiAJfQogCi0Jc3BlY2lmaWVkX3RhYmxlX3NpemUgPSBkZXRlcm1pbmVfdGNlX3RhYmxlX3NpemUoZW5kX3BmbiAqIFBBR0VfU0laRSk7CisJc3BlY2lmaWVkX3RhYmxlX3NpemUgPSBkZXRlcm1pbmVfdGNlX3RhYmxlX3NpemUobWF4X3BmbiAqIFBBR0VfU0laRSk7CiAKIAlmb3IgKGJ1cyA9IDA7IGJ1cyA8IE1BWF9QSEJfQlVTX05VTTsgYnVzKyspIHsKIAkJc3RydWN0IGNhbGdhcnlfYnVzX2luZm8gKmluZm8gPSAmYnVzX2luZm9bYnVzXTsKQEAgLTE0NTksNyArMTQ1OSw3IEBACiAJaWYgKHJldCkgewogCQlwcmludGsoS0VSTl9FUlIgIlBDSS1ETUE6IENhbGdhcnkgaW5pdCBmYWlsZWQgJWQsICIKIAkJICAgICAgICJmYWxsaW5nIGJhY2sgdG8gbm9faW9tbXVcbiIsIHJldCk7Ci0JCWlmIChlbmRfcGZuID4gTUFYX0RNQTMyX1BGTikKKwkJaWYgKG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOKQogCQkJcHJpbnRrKEtFUk5fRVJSICJXQVJOSU5HIG1vcmUgdGhhbiA0R0Igb2YgbWVtb3J5LCAiCiAJCQkJCSIzMmJpdCBQQ0kgbWF5IG1hbGZ1bmN0aW9uLlxuIik7CiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWRtYS5jIGIvYXJjaC94ODYva2VybmVsL3BjaS1kbWEuYwppbmRleCBkYzAwYTEzLi44NDY3ZWMyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWRtYS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktZG1hLmMKQEAgLTcsNiArNyw3IEBACiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CiAjaW5jbHVkZSA8YXNtL2NhbGdhcnkuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11Lmg+CiAKIGludCBmb3JiaWRfZGFjIF9fcmVhZF9tb3N0bHk7CiBFWFBPUlRfU1lNQk9MKGZvcmJpZF9kYWMpOwpAQCAtNzQsMTMgKzc1LDE3IEBACiB2b2lkIF9faW5pdCBkbWEzMl9yZXNlcnZlX2Jvb3RtZW0odm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHNpemUsIGFsaWduOwotCWlmIChlbmRfcGZuIDw9IE1BWF9ETUEzMl9QRk4pCisJaWYgKG1heF9wZm4gPD0gTUFYX0RNQTMyX1BGTikKIAkJcmV0dXJuOwogCisJLyoKKwkgKiBjaGVjayBhcGVydHVyZV82NC5jIGFsbG9jYXRlX2FwZXJ0dXJlKCkgZm9yIHJlYXNvbiBhYm91dAorCSAqIHVzaW5nIDUxMk0gYXMgZ29hbAorCSAqLwogCWFsaWduID0gNjRVTEw8PDIwOwogCXNpemUgPSByb3VuZF91cChkbWEzMl9ib290bWVtX3NpemUsIGFsaWduKTsKIAlkbWEzMl9ib290bWVtX3B0ciA9IF9fYWxsb2NfYm9vdG1lbV9ub3BhbmljKHNpemUsIGFsaWduLAotCQkJCSBfX3BhKE1BWF9ETUFfQUREUkVTUykpOworCQkJCSA1MTJVTEw8PDIwKTsKIAlpZiAoZG1hMzJfYm9vdG1lbV9wdHIpCiAJCWRtYTMyX2Jvb3RtZW1fc2l6ZSA9IHNpemU7CiAJZWxzZQpAQCAtODgsMTcgKzkzLDE0IEBACiB9CiBzdGF0aWMgdm9pZCBfX2luaXQgZG1hMzJfZnJlZV9ib290bWVtKHZvaWQpCiB7Ci0JaW50IG5vZGU7CiAKLQlpZiAoZW5kX3BmbiA8PSBNQVhfRE1BMzJfUEZOKQorCWlmIChtYXhfcGZuIDw9IE1BWF9ETUEzMl9QRk4pCiAJCXJldHVybjsKIAogCWlmICghZG1hMzJfYm9vdG1lbV9wdHIpCiAJCXJldHVybjsKIAotCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpCi0JCWZyZWVfYm9vdG1lbV9ub2RlKE5PREVfREFUQShub2RlKSwgX19wYShkbWEzMl9ib290bWVtX3B0ciksCi0JCQkJICBkbWEzMl9ib290bWVtX3NpemUpOworCWZyZWVfYm9vdG1lbShfX3BhKGRtYTMyX2Jvb3RtZW1fcHRyKSwgZG1hMzJfYm9vdG1lbV9zaXplKTsKIAogCWRtYTMyX2Jvb3RtZW1fcHRyID0gTlVMTDsKIAlkbWEzMl9ib290bWVtX3NpemUgPSAwOwpAQCAtMTIyLDYgKzEyNCw4IEBACiAKIAlkZXRlY3RfaW50ZWxfaW9tbXUoKTsKIAorCWFtZF9pb21tdV9kZXRlY3QoKTsKKwogI2lmZGVmIENPTkZJR19TV0lPVExCCiAJcGNpX3N3aW90bGJfaW5pdCgpOwogI2VuZGlmCkBAIC0zNTcsNyArMzYxLDcgQEAKIEVYUE9SVF9TWU1CT0woZG1hX3N1cHBvcnRlZCk7CiAKIC8qIEFsbG9jYXRlIERNQSBtZW1vcnkgb24gbm9kZSBuZWFyIGRldmljZSAqLwotbm9pbmxpbmUgc3RydWN0IHBhZ2UgKgorc3RhdGljIG5vaW5saW5lIHN0cnVjdCBwYWdlICoKIGRtYV9hbGxvY19wYWdlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGdmcF90IGdmcCwgdW5zaWduZWQgb3JkZXIpCiB7CiAJaW50IG5vZGU7CkBAIC01MDIsNiArNTA2LDggQEAKIAogCWludGVsX2lvbW11X2luaXQoKTsKIAorCWFtZF9pb21tdV9pbml0KCk7CisKICNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQogCWdhcnRfaW9tbXVfaW5pdCgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWdhcnRfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktZ2FydF82NC5jCmluZGV4IGFhOGVjOTIuLmMzZmU3ODQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wY2ktZ2FydF82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktZ2FydF82NC5jCkBAIC0xMDQsNyArMTA0LDYgQEAKIAkJCQkJICBzaXplLCBiYXNlX2luZGV4LCBib3VuZGFyeV9zaXplLCAwKTsKIAl9CiAJaWYgKG9mZnNldCAhPSAtMSkgewotCQlzZXRfYml0X3N0cmluZyhpb21tdV9nYXJ0X2JpdG1hcCwgb2Zmc2V0LCBzaXplKTsKIAkJbmV4dF9iaXQgPSBvZmZzZXQrc2l6ZTsKIAkJaWYgKG5leHRfYml0ID49IGlvbW11X3BhZ2VzKSB7CiAJCQluZXh0X2JpdCA9IDA7CkBAIC01MzQsOCArNTMzLDggQEAKIAl1bnNpZ25lZCBhcGVyX3NpemUgPSAwLCBhcGVyX2Jhc2VfMzIsIGFwZXJfb3JkZXI7CiAJdTY0IGFwZXJfYmFzZTsKIAotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4OTQsICZhcGVyX2Jhc2VfMzIpOwotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4OTAsICZhcGVyX29yZGVyKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCAmYXBlcl9iYXNlXzMyKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZhcGVyX29yZGVyKTsKIAlhcGVyX29yZGVyID0gKGFwZXJfb3JkZXIgPj4gMSkgJiA3OwogCiAJYXBlcl9iYXNlID0gYXBlcl9iYXNlXzMyICYgMHg3ZmZmOwpAQCAtNTQ5LDE0ICs1NDgsNjMgQEAKIAlyZXR1cm4gYXBlcl9iYXNlOwogfQogCitzdGF0aWMgdm9pZCBlbmFibGVfZ2FydF90cmFuc2xhdGlvbnModm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fazhfbm9ydGhicmlkZ2VzOyBpKyspIHsKKwkJc3RydWN0IHBjaV9kZXYgKmRldiA9IGs4X25vcnRoYnJpZGdlc1tpXTsKKworCQllbmFibGVfZ2FydF90cmFuc2xhdGlvbihkZXYsIF9fcGEoYWdwX2dhdHRfdGFibGUpKTsKKwl9Cit9CisKKy8qCisgKiBJZiBmaXhfdXBfbm9ydGhfYnJpZGdlcyBpcyBzZXQsIHRoZSBub3J0aCBicmlkZ2VzIGhhdmUgdG8gYmUgZml4ZWQgdXAgb24KKyAqIHJlc3VtZSBpbiB0aGUgc2FtZSB3YXkgYXMgdGhleSBhcmUgaGFuZGxlZCBpbiBnYXJ0X2lvbW11X2hvbGVfaW5pdCgpLgorICovCitzdGF0aWMgYm9vbCBmaXhfdXBfbm9ydGhfYnJpZGdlczsKK3N0YXRpYyB1MzIgYXBlcnR1cmVfb3JkZXI7CitzdGF0aWMgdTMyIGFwZXJ0dXJlX2FsbG9jOworCit2b2lkIHNldF91cF9nYXJ0X3Jlc3VtZSh1MzIgYXBlcl9vcmRlciwgdTMyIGFwZXJfYWxsb2MpCit7CisJZml4X3VwX25vcnRoX2JyaWRnZXMgPSB0cnVlOworCWFwZXJ0dXJlX29yZGVyID0gYXBlcl9vcmRlcjsKKwlhcGVydHVyZV9hbGxvYyA9IGFwZXJfYWxsb2M7Cit9CisKIHN0YXRpYyBpbnQgZ2FydF9yZXN1bWUoc3RydWN0IHN5c19kZXZpY2UgKmRldikKIHsKKwlwcmludGsoS0VSTl9JTkZPICJQQ0ktRE1BOiBSZXN1bWluZyBHQVJUIElPTU1VXG4iKTsKKworCWlmIChmaXhfdXBfbm9ydGhfYnJpZGdlcykgeworCQlpbnQgaTsKKworCQlwcmludGsoS0VSTl9JTkZPICJQQ0ktRE1BOiBSZXN0b3JpbmcgR0FSVCBhcGVydHVyZSBzZXR0aW5nc1xuIik7CisKKwkJZm9yIChpID0gMDsgaSA8IG51bV9rOF9ub3J0aGJyaWRnZXM7IGkrKykgeworCQkJc3RydWN0IHBjaV9kZXYgKmRldiA9IGs4X25vcnRoYnJpZGdlc1tpXTsKKworCQkJLyoKKwkJCSAqIERvbid0IGVuYWJsZSB0cmFuc2xhdGlvbnMganVzdCB5ZXQuICBUaGF0IGlzIHRoZSBuZXh0CisJCQkgKiBzdGVwLiAgUmVzdG9yZSB0aGUgcHJlLXN1c3BlbmQgYXBlcnR1cmUgc2V0dGluZ3MuCisJCQkgKi8KKwkJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsCisJCQkJCQlhcGVydHVyZV9vcmRlciA8PCAxKTsKKwkJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLAorCQkJCQkJYXBlcnR1cmVfYWxsb2MgPj4gMjUpOworCQl9CisJfQorCisJZW5hYmxlX2dhcnRfdHJhbnNsYXRpb25zKCk7CisKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBnYXJ0X3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogewotCXJldHVybiAtRUlOVkFMOworCXJldHVybiAwOwogfQogCiBzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBnYXJ0X3N5c2Rldl9jbGFzcyA9IHsKQEAgLTU4Miw2ICs2MzAsNyBAQAogCXN0cnVjdCBwY2lfZGV2ICpkZXY7CiAJdm9pZCAqZ2F0dDsKIAlpbnQgaSwgZXJyb3I7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47CiAKIAlwcmludGsoS0VSTl9JTkZPICJQQ0ktRE1BOiBEaXNhYmxpbmcgQUdQLlxuIik7CiAJYXBlcl9zaXplID0gYXBlcl9iYXNlID0gaW5mby0+YXBlcl9zaXplID0gMDsKQEAgLTYxNCwzMSArNjYzLDI1IEBACiAJbWVtc2V0KGdhdHQsIDAsIGdhdHRfc2l6ZSk7CiAJYWdwX2dhdHRfdGFibGUgPSBnYXR0OwogCi0JZm9yIChpID0gMDsgaSA8IG51bV9rOF9ub3J0aGJyaWRnZXM7IGkrKykgewotCQl1MzIgZ2F0dF9yZWc7Ci0JCXUzMiBjdGw7Ci0KLQkJZGV2ID0gazhfbm9ydGhicmlkZ2VzW2ldOwotCQlnYXR0X3JlZyA9IF9fcGEoZ2F0dCkgPj4gMTI7Ci0JCWdhdHRfcmVnIDw8PSA0OwotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg5OCwgZ2F0dF9yZWcpOwotCQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDkwLCAmY3RsKTsKLQotCQljdGwgfD0gMTsKLQkJY3RsICY9IH4oKDE8PDQpIHwgKDE8PDUpKTsKLQotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg5MCwgY3RsKTsKLQl9CisJZW5hYmxlX2dhcnRfdHJhbnNsYXRpb25zKCk7CiAKIAllcnJvciA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmZ2FydF9zeXNkZXZfY2xhc3MpOwogCWlmICghZXJyb3IpCiAJCWVycm9yID0gc3lzZGV2X3JlZ2lzdGVyKCZkZXZpY2VfZ2FydCk7CiAJaWYgKGVycm9yKQogCQlwYW5pYygiQ291bGQgbm90IHJlZ2lzdGVyIGdhcnRfc3lzZGV2IC0tIHdvdWxkIGNvcnJ1cHQgZGF0YSBvbiBuZXh0IHN1c3BlbmQiKTsKKwogCWZsdXNoX2dhcnQoKTsKIAogCXByaW50ayhLRVJOX0lORk8gIlBDSS1ETUE6IGFwZXJ0dXJlIGJhc2UgQCAleCBzaXplICV1IEtCXG4iLAogCSAgICAgICBhcGVyX2Jhc2UsIGFwZXJfc2l6ZT4+MTApOworCisJLyogbmVlZCB0byBtYXAgdGhhdCByYW5nZSAqLworCWVuZF9wZm4gPSAoYXBlcl9iYXNlPj5QQUdFX1NISUZUKSArIChhcGVyX3NpemU+PlBBR0VfU0hJRlQpOworCWlmIChlbmRfcGZuID4gbWF4X2xvd19wZm5fbWFwcGVkKSB7CisJCXN0YXJ0X3BmbiA9IChhcGVyX2Jhc2U+PlBBR0VfU0hJRlQpOworCQlpbml0X21lbW9yeV9tYXBwaW5nKHN0YXJ0X3Bmbjw8UEFHRV9TSElGVCwgZW5kX3Bmbjw8UEFHRV9TSElGVCk7CisJfQogCXJldHVybiAwOwogCiAgbm9tbXU6CkBAIC02NzcsMTEgKzcyMCwxMSBAQAogCQl1MzIgY3RsOwogCiAJCWRldiA9IGs4X25vcnRoYnJpZGdlc1tpXTsKLQkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg5MCwgJmN0bCk7CisJCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJmN0bCk7CiAKLQkJY3RsICY9IH4xOworCQljdGwgJj0gfkdBUlRFTjsKIAotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg5MCwgY3RsKTsKKwkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgY3RsKTsKIAl9CiB9CiAKQEAgLTcxNiwxMCArNzU5LDEwIEBACiAJCXJldHVybjsKIAogCWlmIChub19pb21tdSB8fAotCSAgICAoIWZvcmNlX2lvbW11ICYmIGVuZF9wZm4gPD0gTUFYX0RNQTMyX1BGTikgfHwKKwkgICAgKCFmb3JjZV9pb21tdSAmJiBtYXhfcGZuIDw9IE1BWF9ETUEzMl9QRk4pIHx8CiAJICAgICFnYXJ0X2lvbW11X2FwZXJ0dXJlIHx8CiAJICAgIChub19hZ3AgJiYgaW5pdF9rOF9nYXR0KCZpbmZvKSA8IDApKSB7Ci0JCWlmIChlbmRfcGZuID4gTUFYX0RNQTMyX1BGTikgeworCQlpZiAobWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4pIHsKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIk1vcmUgdGhhbiA0R0Igb2YgbWVtb3J5ICIKIAkJCSAgICAgICAJICAgICAgICAgICJidXQgR0FSVCBJT01NVSBub3QgYXZhaWxhYmxlLlxuIgogCQkJICAgICAgIEtFUk5fV0FSTklORyAiZmFsbGluZyBiYWNrIHRvIGlvbW11PXNvZnQuXG4iKTsKQEAgLTc4OCwxMCArODMxLDEwIEBACiAJd2JpbnZkKCk7CiAKIAkvKgotCSAqIFRyeSB0byB3b3JrYXJvdW5kIGEgYnVnICh0aGFua3MgdG8gQmVuSCkKKwkgKiBUcnkgdG8gd29ya2Fyb3VuZCBhIGJ1ZyAodGhhbmtzIHRvIEJlbkgpOgogCSAqIFNldCB1bm1hcHBlZCBlbnRyaWVzIHRvIGEgc2NyYXRjaCBwYWdlIGluc3RlYWQgb2YgMC4KIAkgKiBBbnkgcHJlZmV0Y2hlcyB0aGF0IGhpdCB1bm1hcHBlZCBlbnRyaWVzIHdvbid0IGdldCBhbiBidXMgYWJvcnQKLQkgKiB0aGVuLgorCSAqIHRoZW4uIChQMlAgYnJpZGdlIG1heSBiZSBwcmVmZXRjaGluZyBvbiBETUEgcmVhZHMpLgogCSAqLwogCXNjcmF0Y2ggPSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CiAJaWYgKCFzY3JhdGNoKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BjaS1zd2lvdGxiXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLXN3aW90bGJfNjQuYwppbmRleCA0OTBkYTdmLi44MjI5OWNkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLXN3aW90bGJfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLXN3aW90bGJfNjQuYwpAQCAtMzgsNyArMzgsNyBAQAogdm9pZCBfX2luaXQgcGNpX3N3aW90bGJfaW5pdCh2b2lkKQogewogCS8qIGRvbid0IGluaXRpYWxpemUgc3dpb3RsYiBpZiBpb21tdT1vZmYgKG5vX2lvbW11PTEpICovCi0JaWYgKCFpb21tdV9kZXRlY3RlZCAmJiAhbm9faW9tbXUgJiYgZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4pCisJaWYgKCFpb21tdV9kZXRlY3RlZCAmJiAhbm9faW9tbXUgJiYgbWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4pCiAJICAgICAgIHN3aW90bGIgPSAxOwogCWlmIChzd2lvdGxiX2ZvcmNlKQogCQlzd2lvdGxiID0gMTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9iZV9yb21zXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvYmVfcm9tc18zMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3NWE0OGMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvYmVfcm9tc18zMi5jCkBAIC0wLDAgKzEsMTY2IEBACisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvZWRkLmg+CisjaW5jbHVkZSA8bGludXgvZG1pLmg+CisjaW5jbHVkZSA8bGludXgvcGZuLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KKworCisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vbW16b25lLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8c2V0dXBfYXJjaC5oPgorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHN5c3RlbV9yb21fcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiU3lzdGVtIFJPTSIsCisJLnN0YXJ0CT0gMHhmMDAwMCwKKwkuZW5kCT0gMHhmZmZmZiwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZSA9IHsKKwkubmFtZQk9ICJFeHRlbnNpb24gUk9NIiwKKwkuc3RhcnQJPSAweGUwMDAwLAorCS5lbmQJPSAweGVmZmZmLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbXSA9IHsgeworCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCisJLnN0YXJ0CT0gMHhjODAwMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK30sIHsKKwkubmFtZSAJPSAiQWRhcHRlciBST00iLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9LCB7CisJLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfSwgeworCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCisJLnN0YXJ0CT0gMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK30sIHsKKwkubmFtZSAJPSAiQWRhcHRlciBST00iLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9LCB7CisJLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfSB9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JvbV9yZXNvdXJjZSA9IHsKKwkubmFtZSAJPSAiVmlkZW8gUk9NIiwKKwkuc3RhcnQJPSAweGMwMDAwLAorCS5lbmQJPSAweGM3ZmZmLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfTsKKworI2RlZmluZSBST01TSUdOQVRVUkUgMHhhYTU1CisKK3N0YXRpYyBpbnQgX19pbml0IHJvbXNpZ25hdHVyZShjb25zdCB1bnNpZ25lZCBjaGFyICpyb20pCit7CisJY29uc3QgdW5zaWduZWQgc2hvcnQgKiBjb25zdCBwdHIgPSAoY29uc3QgdW5zaWduZWQgc2hvcnQgKilyb207CisJdW5zaWduZWQgc2hvcnQgc2lnOworCisJcmV0dXJuIHByb2JlX2tlcm5lbF9hZGRyZXNzKHB0ciwgc2lnKSA9PSAwICYmIHNpZyA9PSBST01TSUdOQVRVUkU7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHJvbWNoZWNrc3VtKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbSwgdW5zaWduZWQgbG9uZyBsZW5ndGgpCit7CisJdW5zaWduZWQgY2hhciBzdW0sIGM7CisKKwlmb3IgKHN1bSA9IDA7IGxlbmd0aCAmJiBwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20rKywgYykgPT0gMDsgbGVuZ3RoLS0pCisJCXN1bSArPSBjOworCXJldHVybiAhbGVuZ3RoICYmICFzdW07Cit9CisKK3ZvaWQgX19pbml0IHByb2JlX3JvbXModm9pZCkKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyICpyb207CisJdW5zaWduZWQgbG9uZyBzdGFydCwgbGVuZ3RoLCB1cHBlcjsKKwl1bnNpZ25lZCBjaGFyIGM7CisJaW50IGk7CisKKwkvKiB2aWRlbyByb20gKi8KKwl1cHBlciA9IGFkYXB0ZXJfcm9tX3Jlc291cmNlc1swXS5zdGFydDsKKwlmb3IgKHN0YXJ0ID0gdmlkZW9fcm9tX3Jlc291cmNlLnN0YXJ0OyBzdGFydCA8IHVwcGVyOyBzdGFydCArPSAyMDQ4KSB7CisJCXJvbSA9IGlzYV9idXNfdG9fdmlydChzdGFydCk7CisJCWlmICghcm9tc2lnbmF0dXJlKHJvbSkpCisJCQljb250aW51ZTsKKworCQl2aWRlb19yb21fcmVzb3VyY2Uuc3RhcnQgPSBzdGFydDsKKworCQlpZiAocHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tICsgMiwgYykgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCS8qIDAgPCBsZW5ndGggPD0gMHg3ZiAqIDUxMiwgaGlzdG9yaWNhbGx5ICovCisJCWxlbmd0aCA9IGMgKiA1MTI7CisKKwkJLyogaWYgY2hlY2tzdW0gb2theSwgdHJ1c3QgbGVuZ3RoIGJ5dGUgKi8KKwkJaWYgKGxlbmd0aCAmJiByb21jaGVja3N1bShyb20sIGxlbmd0aCkpCisJCQl2aWRlb19yb21fcmVzb3VyY2UuZW5kID0gc3RhcnQgKyBsZW5ndGggLSAxOworCisJCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmdmlkZW9fcm9tX3Jlc291cmNlKTsKKwkJYnJlYWs7CisJfQorCisJc3RhcnQgPSAodmlkZW9fcm9tX3Jlc291cmNlLmVuZCArIDEgKyAyMDQ3KSAmIH4yMDQ3VUw7CisJaWYgKHN0YXJ0IDwgdXBwZXIpCisJCXN0YXJ0ID0gdXBwZXI7CisKKwkvKiBzeXN0ZW0gcm9tICovCisJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZzeXN0ZW1fcm9tX3Jlc291cmNlKTsKKwl1cHBlciA9IHN5c3RlbV9yb21fcmVzb3VyY2Uuc3RhcnQ7CisKKwkvKiBjaGVjayBmb3IgZXh0ZW5zaW9uIHJvbSAoaWdub3JlIGxlbmd0aCBieXRlISkgKi8KKwlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5zdGFydCk7CisJaWYgKHJvbXNpZ25hdHVyZShyb20pKSB7CisJCWxlbmd0aCA9IGV4dGVuc2lvbl9yb21fcmVzb3VyY2UuZW5kIC0gZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5zdGFydCArIDE7CisJCWlmIChyb21jaGVja3N1bShyb20sIGxlbmd0aCkpIHsKKwkJCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZSk7CisJCQl1cHBlciA9IGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQ7CisJCX0KKwl9CisKKwkvKiBjaGVjayBmb3IgYWRhcHRlciByb21zIG9uIDJrIGJvdW5kYXJpZXMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhZGFwdGVyX3JvbV9yZXNvdXJjZXMpICYmIHN0YXJ0IDwgdXBwZXI7IHN0YXJ0ICs9IDIwNDgpIHsKKwkJcm9tID0gaXNhX2J1c190b192aXJ0KHN0YXJ0KTsKKwkJaWYgKCFyb21zaWduYXR1cmUocm9tKSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20gKyAyLCBjKSAhPSAwKQorCQkJY29udGludWU7CisKKwkJLyogMCA8IGxlbmd0aCA8PSAweDdmICogNTEyLCBoaXN0b3JpY2FsbHkgKi8KKwkJbGVuZ3RoID0gYyAqIDUxMjsKKworCQkvKiBidXQgYWNjZXB0IGFueSBsZW5ndGggdGhhdCBmaXRzIGlmIGNoZWNrc3VtIG9rYXkgKi8KKwkJaWYgKCFsZW5ndGggfHwgc3RhcnQgKyBsZW5ndGggPiB1cHBlciB8fCAhcm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKQorCQkJY29udGludWU7CisKKwkJYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldLnN0YXJ0ID0gc3RhcnQ7CisJCWFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXS5lbmQgPSBzdGFydCArIGxlbmd0aCAtIDE7CisJCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldKTsKKworCQlzdGFydCA9IGFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpKytdLmVuZCAmIH4yMDQ3VUw7CisJfQorfQorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYwppbmRleCBiYTM3MGRjLi43ZGNlZWE5NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jCkBAIC02LDYgKzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcG0uaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja2NoaXBzLmg+CiAKIHN0cnVjdCBrbWVtX2NhY2hlICp0YXNrX3hzdGF0ZV9jYWNoZXA7CiAKQEAgLTQ1LDYgKzQ2LDc2IEBACiAJCQkJICBTTEFCX1BBTklDLCBOVUxMKTsKIH0KIAorLyoKKyAqIElkbGUgcmVsYXRlZCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucworICovCit1bnNpZ25lZCBsb25nIGJvb3Rfb3B0aW9uX2lkbGVfb3ZlcnJpZGUgPSAwOworRVhQT1JUX1NZTUJPTChib290X29wdGlvbl9pZGxlX292ZXJyaWRlKTsKKworLyoKKyAqIFBvd2VybWFuYWdlbWVudCBpZGxlIGZ1bmN0aW9uLCBpZiBhbnkuLgorICovCit2b2lkICgqcG1faWRsZSkodm9pZCk7CitFWFBPUlRfU1lNQk9MKHBtX2lkbGUpOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorLyoKKyAqIFRoaXMgaGFsdCBtYWdpYyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhbmNpZW50IGZsb3BweSBETUEKKyAqIHdyZWNrYWdlLiBJdCBzaG91bGQgYmUgc2FmZSB0byByZW1vdmUuCisgKi8KK3N0YXRpYyBpbnQgaGx0X2NvdW50ZXI7Cit2b2lkIGRpc2FibGVfaGx0KHZvaWQpCit7CisJaGx0X2NvdW50ZXIrKzsKK30KK0VYUE9SVF9TWU1CT0woZGlzYWJsZV9obHQpOworCit2b2lkIGVuYWJsZV9obHQodm9pZCkKK3sKKwlobHRfY291bnRlci0tOworfQorRVhQT1JUX1NZTUJPTChlbmFibGVfaGx0KTsKKworc3RhdGljIGlubGluZSBpbnQgaGx0X3VzZV9oYWx0KHZvaWQpCit7CisJcmV0dXJuICghaGx0X2NvdW50ZXIgJiYgYm9vdF9jcHVfZGF0YS5obHRfd29ya3Nfb2spOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGhsdF91c2VfaGFsdCh2b2lkKQoreworCXJldHVybiAxOworfQorI2VuZGlmCisKKy8qCisgKiBXZSB1c2UgdGhpcyBpZiB3ZSBkb24ndCBoYXZlIGFueSBiZXR0ZXIKKyAqIGlkbGUgcm91dGluZS4uCisgKi8KK3ZvaWQgZGVmYXVsdF9pZGxlKHZvaWQpCit7CisJaWYgKGhsdF91c2VfaGFsdCgpKSB7CisJCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOworCQkvKgorCQkgKiBUU19QT0xMSU5HLWNsZWFyZWQgc3RhdGUgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB3ZQorCQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKKwkJICovCisJCXNtcF9tYigpOworCisJCWlmICghbmVlZF9yZXNjaGVkKCkpCisJCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KKwkJZWxzZQorCQkJbG9jYWxfaXJxX2VuYWJsZSgpOworCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOworCX0gZWxzZSB7CisJCWxvY2FsX2lycV9lbmFibGUoKTsKKwkJLyogbG9vcCBpcyBkb25lIGJ5IHRoZSBjYWxsZXIgKi8KKwkJY3B1X3JlbGF4KCk7CisJfQorfQorI2lmZGVmIENPTkZJR19BUE1fTU9EVUxFCitFWFBPUlRfU1lNQk9MKGRlZmF1bHRfaWRsZSk7CisjZW5kaWYKKwogc3RhdGljIHZvaWQgZG9fbm90aGluZyh2b2lkICp1bnVzZWQpCiB7CiB9CkBAIC02MSw3ICsxMzIsNyBAQAogewogCXNtcF9tYigpOwogCS8qIGtpY2sgYWxsIHRoZSBDUFVzIHNvIHRoYXQgdGhleSBleGl0IG91dCBvZiBwbV9pZGxlICovCi0Jc21wX2NhbGxfZnVuY3Rpb24oZG9fbm90aGluZywgTlVMTCwgMCwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb24oZG9fbm90aGluZywgTlVMTCwgMSk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChjcHVfaWRsZV93YWl0KTsKIApAQCAtMTIyLDQ0ICsxOTMsMTI5IEBACiAgKgogICogaWRsZT1td2FpdCBvdmVycmlkZXMgdGhpcyBkZWNpc2lvbiBhbmQgZm9yY2VzIHRoZSB1c2FnZSBvZiBtd2FpdC4KICAqLworCisjZGVmaW5lIE1XQUlUX0lORk8JCQkweDA1CisjZGVmaW5lIE1XQUlUX0VDWF9FWFRFTkRFRF9JTkZPCQkweDAxCisjZGVmaW5lIE1XQUlUX0VEWF9DMQkJCTB4ZjAKKwogc3RhdGljIGludCBfX2NwdWluaXQgbXdhaXRfdXNhYmxlKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKKwl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OworCiAJaWYgKGZvcmNlX213YWl0KQogCQlyZXR1cm4gMTsKIAotCWlmIChjLT54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSB7Ci0JCXN3aXRjaChjLT54ODYpIHsKLQkJY2FzZSAweDEwOgotCQljYXNlIDB4MTE6Ci0JCQlyZXR1cm4gMDsKKwlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCBNV0FJVF9JTkZPKQorCQlyZXR1cm4gMDsKKworCWNwdWlkKE1XQUlUX0lORk8sICZlYXgsICZlYngsICZlY3gsICZlZHgpOworCS8qIENoZWNrLCB3aGV0aGVyIEVEWCBoYXMgZXh0ZW5kZWQgaW5mbyBhYm91dCBNV0FJVCAqLworCWlmICghKGVjeCAmIE1XQUlUX0VDWF9FWFRFTkRFRF9JTkZPKSkKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIGVkeCBlbnVtZXJhdGlvcyBNT05JVE9SL01XQUlUIGV4dGVuc2lvbnMuIENoZWNrLCB3aGV0aGVyCisJICogQzEgIHN1cHBvcnRzIE1XQUlUCisJICovCisJcmV0dXJuIChlZHggJiBNV0FJVF9FRFhfQzEpOworfQorCisvKgorICogQ2hlY2sgZm9yIEFNRCBDUFVzLCB3aGljaCBoYXZlIHBvdGVudGlhbGx5IEMxRSBzdXBwb3J0CisgKi8KK3N0YXRpYyBpbnQgX19jcHVpbml0IGNoZWNrX2MxZV9pZGxlKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0FNRCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoYy0+eDg2IDwgMHgwRikKKwkJcmV0dXJuIDA7CisKKwkvKiBGYW1pbHkgMHgwZiBtb2RlbHMgPCByZXYgRiBkbyBub3QgaGF2ZSBDMUUgKi8KKwlpZiAoYy0+eDg2ID09IDB4MGYgJiYgYy0+eDg2X21vZGVsIDwgMHg0MCkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEMxRSBhd2FyZSBpZGxlIHJvdXRpbmUuIFdlIGNoZWNrIGZvciBDMUUgYWN0aXZlIGluIHRoZSBpbnRlcnJ1cHQKKyAqIHBlbmRpbmcgbWVzc2FnZSBNU1IuIElmIHdlIGRldGVjdCBDMUUsIHRoZW4gd2UgaGFuZGxlIGl0IHRoZSBzYW1lCisgKiB3YXkgYXMgQzMgcG93ZXIgc3RhdGVzIChsb2NhbCBhcGljIHRpbWVyIGFuZCBUU0Mgc3RvcCkKKyAqLworc3RhdGljIHZvaWQgYzFlX2lkbGUodm9pZCkKK3sKKwlzdGF0aWMgY3B1bWFza190IGMxZV9tYXNrID0gQ1BVX01BU0tfTk9ORTsKKwlzdGF0aWMgaW50IGMxZV9kZXRlY3RlZDsKKworCWlmIChuZWVkX3Jlc2NoZWQoKSkKKwkJcmV0dXJuOworCisJaWYgKCFjMWVfZGV0ZWN0ZWQpIHsKKwkJdTMyIGxvLCBoaTsKKworCQlyZG1zcihNU1JfSzhfSU5UX1BFTkRJTkdfTVNHLCBsbywgaGkpOworCQlpZiAobG8gJiBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSykgeworCQkJYzFlX2RldGVjdGVkID0gMTsKKwkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0MgaGFsdCBpbiBDMUUiKTsKKwkJCXByaW50ayhLRVJOX0lORk8gIlN5c3RlbSBoYXMgQzFFIGVuYWJsZWRcbiIpOwogCQl9CiAJfQotCXJldHVybiAxOworCisJaWYgKGMxZV9kZXRlY3RlZCkgeworCQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJCWlmICghY3B1X2lzc2V0KGNwdSwgYzFlX21hc2spKSB7CisJCQljcHVfc2V0KGNwdSwgYzFlX21hc2spOworCQkJLyoKKwkJCSAqIEZvcmNlIGJyb2FkY2FzdCBzbyBBQ1BJIGNhbiBub3QgaW50ZXJmZXJlLiBOZWVkcworCQkJICogdG8gcnVuIHdpdGggaW50ZXJydXB0cyBlbmFibGVkIGFzIGl0IHVzZXMKKwkJCSAqIHNtcF9mdW5jdGlvbl9jYWxsLgorCQkJICovCisJCQlsb2NhbF9pcnFfZW5hYmxlKCk7CisJCQljbG9ja2V2ZW50c19ub3RpZnkoQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfRk9SQ0UsCisJCQkJCSAgICZjcHUpOworCQkJcHJpbnRrKEtFUk5fSU5GTyAiU3dpdGNoIHRvIGJyb2FkY2FzdCBtb2RlIG9uIENQVSVkXG4iLAorCQkJICAgICAgIGNwdSk7CisJCQlsb2NhbF9pcnFfZGlzYWJsZSgpOworCQl9CisJCWNsb2NrZXZlbnRzX25vdGlmeShDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9FTlRFUiwgJmNwdSk7CisKKwkJZGVmYXVsdF9pZGxlKCk7CisKKwkJLyoKKwkJICogVGhlIHN3aXRjaCBiYWNrIGZyb20gYnJvYWRjYXN0IG1vZGUgbmVlZHMgdG8gYmUKKwkJICogY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4KKwkJICovCisJCSBsb2NhbF9pcnFfZGlzYWJsZSgpOworCQkgY2xvY2tldmVudHNfbm90aWZ5KENMT0NLX0VWVF9OT1RJRllfQlJPQURDQVNUX0VYSVQsICZjcHUpOworCQkgbG9jYWxfaXJxX2VuYWJsZSgpOworCX0gZWxzZQorCQlkZWZhdWx0X2lkbGUoKTsKIH0KIAogdm9pZCBfX2NwdWluaXQgc2VsZWN0X2lkbGVfcm91dGluZShjb25zdCBzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7Ci0Jc3RhdGljIGludCBzZWxlY3RlZDsKLQotCWlmIChzZWxlY3RlZCkKLQkJcmV0dXJuOwogI2lmZGVmIENPTkZJR19YODZfU01QCiAJaWYgKHBtX2lkbGUgPT0gcG9sbF9pZGxlICYmIHNtcF9udW1fc2libGluZ3MgPiAxKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IHBvbGxpbmcgaWRsZSBhbmQgSFQgZW5hYmxlZCwiCiAJCQkiIHBlcmZvcm1hbmNlIG1heSBkZWdyYWRlLlxuIik7CiAJfQogI2VuZGlmCisJaWYgKHBtX2lkbGUpCisJCXJldHVybjsKKwogCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX01XQUlUKSAmJiBtd2FpdF91c2FibGUoYykpIHsKIAkJLyoKLQkJICogU2tpcCwgaWYgc2V0dXAgaGFzIG92ZXJyaWRkZW4gaWRsZS4KIAkJICogT25lIENQVSBzdXBwb3J0cyBtd2FpdCA9PiBBbGwgQ1BVcyBzdXBwb3J0cyBtd2FpdAogCQkgKi8KLQkJaWYgKCFwbV9pZGxlKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJ1c2luZyBtd2FpdCBpbiBpZGxlIHRocmVhZHMuXG4iKTsKLQkJCXBtX2lkbGUgPSBtd2FpdF9pZGxlOwotCQl9Ci0JfQotCXNlbGVjdGVkID0gMTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgbXdhaXQgaW4gaWRsZSB0aHJlYWRzLlxuIik7CisJCXBtX2lkbGUgPSBtd2FpdF9pZGxlOworCX0gZWxzZSBpZiAoY2hlY2tfYzFlX2lkbGUoYykpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgQzFFIGF3YXJlIGlkbGUgcm91dGluZVxuIik7CisJCXBtX2lkbGUgPSBjMWVfaWRsZTsKKwl9IGVsc2UKKwkJcG1faWRsZSA9IGRlZmF1bHRfaWRsZTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgaWRsZV9zZXR1cChjaGFyICpzdHIpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYwppbmRleCBlMmRiOWFjLi4wYzM5MjdhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMKQEAgLTU4LDExICs1OCw2IEBACiAKIGFzbWxpbmthZ2Ugdm9pZCByZXRfZnJvbV9mb3JrKHZvaWQpIF9fYXNtX18oInJldF9mcm9tX2ZvcmsiKTsKIAotc3RhdGljIGludCBobHRfY291bnRlcjsKLQotdW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKLUVYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7Ci0KIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBjdXJyZW50X3Rhc2spID0gJmluaXRfdGFzazsKIEVYUE9SVF9QRVJfQ1BVX1NZTUJPTChjdXJyZW50X3Rhc2spOwogCkBAIC03Nyw1NyArNzIsMjQgQEAKIAlyZXR1cm4gKCh1bnNpZ25lZCBsb25nICopdHNrLT50aHJlYWQuc3ApWzNdOwogfQogCi0vKgotICogUG93ZXJtYW5hZ2VtZW50IGlkbGUgZnVuY3Rpb24sIGlmIGFueS4uCi0gKi8KLXZvaWQgKCpwbV9pZGxlKSh2b2lkKTsKLUVYUE9SVF9TWU1CT0wocG1faWRsZSk7Ci0KLXZvaWQgZGlzYWJsZV9obHQodm9pZCkKLXsKLQlobHRfY291bnRlcisrOwotfQotCi1FWFBPUlRfU1lNQk9MKGRpc2FibGVfaGx0KTsKLQotdm9pZCBlbmFibGVfaGx0KHZvaWQpCi17Ci0JaGx0X2NvdW50ZXItLTsKLX0KLQotRVhQT1JUX1NZTUJPTChlbmFibGVfaGx0KTsKLQotLyoKLSAqIFdlIHVzZSB0aGlzIGlmIHdlIGRvbid0IGhhdmUgYW55IGJldHRlcgotICogaWRsZSByb3V0aW5lLi4KLSAqLwotdm9pZCBkZWZhdWx0X2lkbGUodm9pZCkKLXsKLQlpZiAoIWhsdF9jb3VudGVyICYmIGJvb3RfY3B1X2RhdGEuaGx0X3dvcmtzX29rKSB7Ci0JCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOwotCQkvKgotCQkgKiBUU19QT0xMSU5HLWNsZWFyZWQgc3RhdGUgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB3ZQotCQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKLQkJICovCi0JCXNtcF9tYigpOwotCi0JCWlmICghbmVlZF9yZXNjaGVkKCkpCi0JCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KLQkJZWxzZQotCQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOwotCX0gZWxzZSB7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJLyogbG9vcCBpcyBkb25lIGJ5IHRoZSBjYWxsZXIgKi8KLQkJY3B1X3JlbGF4KCk7Ci0JfQotfQotI2lmZGVmIENPTkZJR19BUE1fTU9EVUxFCi1FWFBPUlRfU1lNQk9MKGRlZmF1bHRfaWRsZSk7Ci0jZW5kaWYKLQogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogI2luY2x1ZGUgPGFzbS9ubWkuaD4KKworc3RhdGljIHZvaWQgY3B1X2V4aXRfY2xlYXIodm9pZCkKK3sKKwlpbnQgY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKworCWlkbGVfdGFza19leGl0KCk7CisKKwljcHVfdW5pbml0KCk7CisJaXJxX2N0eF9leGl0KGNwdSk7CisKKwljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbG91dF9tYXApOworCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsaW5fbWFwKTsKKworCW51bWFfcmVtb3ZlX2NwdShjcHUpOworfQorCiAvKiBXZSBkb24ndCBhY3R1YWxseSB0YWtlIENQVSBkb3duLCBqdXN0IHNwaW4gd2l0aG91dCBpbnRlcnJ1cHRzLiAqLwogc3RhdGljIGlubGluZSB2b2lkIHBsYXlfZGVhZCh2b2lkKQogewpAQCAtMTY4LDI0ICsxMzAsMjIgQEAKIAl3aGlsZSAoMSkgewogCQl0aWNrX25vaHpfc3RvcF9zY2hlZF90aWNrKCk7CiAJCXdoaWxlICghbmVlZF9yZXNjaGVkKCkpIHsKLQkJCXZvaWQgKCppZGxlKSh2b2lkKTsKIAogCQkJY2hlY2tfcGd0X2NhY2hlKCk7CiAJCQlybWIoKTsKLQkJCWlkbGUgPSBwbV9pZGxlOwogCiAJCQlpZiAocmN1X3BlbmRpbmcoY3B1KSkKIAkJCQlyY3VfY2hlY2tfY2FsbGJhY2tzKGNwdSwgMCk7CiAKLQkJCWlmICghaWRsZSkKLQkJCQlpZGxlID0gZGVmYXVsdF9pZGxlOwotCiAJCQlpZiAoY3B1X2lzX29mZmxpbmUoY3B1KSkKIAkJCQlwbGF5X2RlYWQoKTsKIAogCQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAkJCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlkbGVfdGltZXN0YW1wID0gamlmZmllczsKLQkJCWlkbGUoKTsKKwkJCS8qIERvbid0IHRyYWNlIGlycXMgb2ZmIGZvciBpZGxlICovCisJCQlzdG9wX2NyaXRpY2FsX3RpbWluZ3MoKTsKKwkJCXBtX2lkbGUoKTsKKwkJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZ3MoKTsKIAkJfQogCQl0aWNrX25vaHpfcmVzdGFydF9zY2hlZF90aWNrKCk7CiAJCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jCmluZGV4IGM2ZWI1YzkuLmE4ZTUzNjIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfNjQuYwpAQCAtNTYsMTUgKzU2LDYgQEAKIAogdW5zaWduZWQgbG9uZyBrZXJuZWxfdGhyZWFkX2ZsYWdzID0gQ0xPTkVfVk0gfCBDTE9ORV9VTlRSQUNFRDsKIAotdW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKLUVYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7Ci0KLS8qCi0gKiBQb3dlcm1hbmFnZW1lbnQgaWRsZSBmdW5jdGlvbiwgaWYgYW55Li4KLSAqLwotdm9pZCAoKnBtX2lkbGUpKHZvaWQpOwotRVhQT1JUX1NZTUJPTChwbV9pZGxlKTsKLQogc3RhdGljIEFUT01JQ19OT1RJRklFUl9IRUFEKGlkbGVfbm90aWZpZXIpOwogCiB2b2lkIGlkbGVfbm90aWZpZXJfcmVnaXN0ZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuKQpAQCAtOTQsMjUgKzg1LDYgQEAKIAlfX2V4aXRfaWRsZSgpOwogfQogCi0vKgotICogV2UgdXNlIHRoaXMgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgYmV0dGVyCi0gKiBpZGxlIHJvdXRpbmUuLgotICovCi12b2lkIGRlZmF1bHRfaWRsZSh2b2lkKQotewotCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOwotCS8qCi0JICogVFNfUE9MTElORy1jbGVhcmVkIHN0YXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgd2UKLQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKLQkgKi8KLQlzbXBfbWIoKTsKLQlpZiAoIW5lZWRfcmVzY2hlZCgpKQotCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KLQllbHNlCi0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOwotfQotCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiBERUNMQVJFX1BFUl9DUFUoaW50LCBjcHVfc3RhdGUpOwogCkBAIC0xNTAsMTIgKzEyMiw5IEBACiAJd2hpbGUgKDEpIHsKIAkJdGlja19ub2h6X3N0b3Bfc2NoZWRfdGljaygpOwogCQl3aGlsZSAoIW5lZWRfcmVzY2hlZCgpKSB7Ci0JCQl2b2lkICgqaWRsZSkodm9pZCk7CiAKIAkJCXJtYigpOwotCQkJaWRsZSA9IHBtX2lkbGU7Ci0JCQlpZiAoIWlkbGUpCi0JCQkJaWRsZSA9IGRlZmF1bHRfaWRsZTsKKwogCQkJaWYgKGNwdV9pc19vZmZsaW5lKHNtcF9wcm9jZXNzb3JfaWQoKSkpCiAJCQkJcGxheV9kZWFkKCk7CiAJCQkvKgpAQCAtMTY1LDcgKzEzNCwxMCBAQAogCQkJICovCiAJCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCQkJZW50ZXJfaWRsZSgpOwotCQkJaWRsZSgpOworCQkJLyogRG9uJ3QgdHJhY2UgaXJxcyBvZmYgZm9yIGlkbGUgKi8KKwkJCXN0b3BfY3JpdGljYWxfdGltaW5ncygpOworCQkJcG1faWRsZSgpOworCQkJc3RhcnRfY3JpdGljYWxfdGltaW5ncygpOwogCQkJLyogSW4gbWFueSBjYXNlcyB0aGUgaW50ZXJydXB0IHRoYXQgZW5kZWQgaWRsZQogCQkJICAgaGFzIGFscmVhZHkgY2FsbGVkIGV4aXRfaWRsZS4gQnV0IHNvbWUgaWRsZQogCQkJICAgbG9vcHMgY2FuIGJlIHdva2VuIHVwIHdpdGhvdXQgaW50ZXJydXB0LiAqLwpAQCAtMzY2LDEwICszMzgsMTAgQEAKIAlwLT50aHJlYWQuZnMgPSBtZS0+dGhyZWFkLmZzOwogCXAtPnRocmVhZC5ncyA9IG1lLT50aHJlYWQuZ3M7CiAKLQlhc20oIm1vdiAlJWdzLCUwIiA6ICI9bSIgKHAtPnRocmVhZC5nc2luZGV4KSk7Ci0JYXNtKCJtb3YgJSVmcywlMCIgOiAiPW0iIChwLT50aHJlYWQuZnNpbmRleCkpOwotCWFzbSgibW92ICUlZXMsJTAiIDogIj1tIiAocC0+dGhyZWFkLmVzKSk7Ci0JYXNtKCJtb3YgJSVkcywlMCIgOiAiPW0iIChwLT50aHJlYWQuZHMpKTsKKwlzYXZlc2VnbWVudChncywgcC0+dGhyZWFkLmdzaW5kZXgpOworCXNhdmVzZWdtZW50KGZzLCBwLT50aHJlYWQuZnNpbmRleCk7CisJc2F2ZXNlZ21lbnQoZXMsIHAtPnRocmVhZC5lcyk7CisJc2F2ZXNlZ21lbnQoZHMsIHAtPnRocmVhZC5kcyk7CiAKIAlpZiAodW5saWtlbHkodGVzdF90c2tfdGhyZWFkX2ZsYWcobWUsIFRJRl9JT19CSVRNQVApKSkgewogCQlwLT50aHJlYWQuaW9fYml0bWFwX3B0ciA9IGttYWxsb2MoSU9fQklUTUFQX0JZVEVTLCBHRlBfS0VSTkVMKTsKQEAgLTQwOCw3ICszODAsOSBAQAogdm9pZAogc3RhcnRfdGhyZWFkKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIG5ld19pcCwgdW5zaWduZWQgbG9uZyBuZXdfc3ApCiB7Ci0JYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCAlJWZzOyBtb3ZsICUwLCAlJWVzOyBtb3ZsICUwLCAlJWRzIiA6OiAiciIoMCkpOworCWxvYWRzZWdtZW50KGZzLCAwKTsKKwlsb2Fkc2VnbWVudChlcywgMCk7CisJbG9hZHNlZ21lbnQoZHMsIDApOwogCWxvYWRfZ3NfaW5kZXgoMCk7CiAJcmVncy0+aXAJCT0gbmV3X2lwOwogCXJlZ3MtPnNwCQk9IG5ld19zcDsKQEAgLTU2Nyw2ICs1NDEsNyBAQAogCQkJCSAqbmV4dCA9ICZuZXh0X3AtPnRocmVhZDsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCB0c3Nfc3RydWN0ICp0c3MgPSAmcGVyX2NwdShpbml0X3RzcywgY3B1KTsKKwl1bnNpZ25lZCBmc2luZGV4LCBnc2luZGV4OwogCiAJLyogd2UncmUgZ29pbmcgdG8gdXNlIHRoaXMgc29vbiwgYWZ0ZXIgYSBmZXcgZXhwZW5zaXZlIHRoaW5ncyAqLwogCWlmIChuZXh0X3AtPmZwdV9jb3VudGVyPjUpCkBAIC01ODEsMjIgKzU1NiwzOCBAQAogCSAqIFN3aXRjaCBEUyBhbmQgRVMuCiAJICogVGhpcyB3b24ndCBwaWNrIHVwIHRocmVhZCBzZWxlY3RvciBjaGFuZ2VzLCBidXQgSSBndWVzcyB0aGF0IGlzIG9rLgogCSAqLwotCWFzbSB2b2xhdGlsZSgibW92ICUlZXMsJTAiIDogIj1tIiAocHJldi0+ZXMpKTsKKwlzYXZlc2VnbWVudChlcywgcHJldi0+ZXMpOwogCWlmICh1bmxpa2VseShuZXh0LT5lcyB8IHByZXYtPmVzKSkKIAkJbG9hZHNlZ21lbnQoZXMsIG5leHQtPmVzKTsgCi0JCi0JYXNtIHZvbGF0aWxlICgibW92ICUlZHMsJTAiIDogIj1tIiAocHJldi0+ZHMpKTsKKworCXNhdmVzZWdtZW50KGRzLCBwcmV2LT5kcyk7CiAJaWYgKHVubGlrZWx5KG5leHQtPmRzIHwgcHJldi0+ZHMpKQogCQlsb2Fkc2VnbWVudChkcywgbmV4dC0+ZHMpOwogCisKKwkvKiBXZSBtdXN0IHNhdmUgJWZzIGFuZCAlZ3MgYmVmb3JlIGxvYWRfVExTKCkgYmVjYXVzZQorCSAqICVmcyBhbmQgJWdzIG1heSBiZSBjbGVhcmVkIGJ5IGxvYWRfVExTKCkuCisJICoKKwkgKiAoZS5nLiB4ZW5fbG9hZF90bHMoKSkKKwkgKi8KKwlzYXZlc2VnbWVudChmcywgZnNpbmRleCk7CisJc2F2ZXNlZ21lbnQoZ3MsIGdzaW5kZXgpOworCiAJbG9hZF9UTFMobmV4dCwgY3B1KTsKIAorCS8qCisJICogTGVhdmUgbGF6eSBtb2RlLCBmbHVzaGluZyBhbnkgaHlwZXJjYWxscyBtYWRlIGhlcmUuCisJICogVGhpcyBtdXN0IGJlIGRvbmUgYmVmb3JlIHJlc3RvcmluZyBUTFMgc2VnbWVudHMgc28KKwkgKiB0aGUgR0RUIGFuZCBMRFQgYXJlIHByb3Blcmx5IHVwZGF0ZWQsIGFuZCBtdXN0IGJlCisJICogZG9uZSBiZWZvcmUgbWF0aF9zdGF0ZV9yZXN0b3JlLCBzbyB0aGUgVFMgYml0IGlzIHVwCisJICogdG8gZGF0ZS4KKwkgKi8KKwlhcmNoX2xlYXZlX2xhenlfY3B1X21vZGUoKTsKKwogCS8qIAogCSAqIFN3aXRjaCBGUyBhbmQgR1MuCiAJICovCiAJeyAKLQkJdW5zaWduZWQgZnNpbmRleDsKLQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUlZnMsJTAiIDogIj1yIiAoZnNpbmRleCkpOyAKIAkJLyogc2VnbWVudCByZWdpc3RlciAhPSAwIGFsd2F5cyByZXF1aXJlcyBhIHJlbG9hZC4gCiAJCSAgIGFsc28gcmVsb2FkIHdoZW4gaXQgaGFzIGNoYW5nZWQuIAogCQkgICB3aGVuIHByZXYgcHJvY2VzcyB1c2VkIDY0Yml0IGJhc2UgYWx3YXlzIHJlbG9hZApAQCAtNjE0LDEwICs2MDUsNyBAQAogCQlpZiAobmV4dC0+ZnMpIAogCQkJd3Jtc3JsKE1TUl9GU19CQVNFLCBuZXh0LT5mcyk7IAogCQlwcmV2LT5mc2luZGV4ID0gZnNpbmRleDsKLQl9Ci0JeyAKLQkJdW5zaWduZWQgZ3NpbmRleDsKLQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUlZ3MsJTAiIDogIj1yIiAoZ3NpbmRleCkpOyAKKwogCQlpZiAodW5saWtlbHkoZ3NpbmRleCB8IG5leHQtPmdzaW5kZXggfCBwcmV2LT5ncykpIHsKIAkJCWxvYWRfZ3NfaW5kZXgobmV4dC0+Z3NpbmRleCk7CiAJCQlpZiAoZ3NpbmRleCkKQEAgLTc5OCw3ICs3ODYsNyBAQAogCQkJc2V0XzMyYml0X3Rscyh0YXNrLCBGU19UTFMsIGFkZHIpOwogCQkJaWYgKGRvaXQpIHsKIAkJCQlsb2FkX1RMUygmdGFzay0+dGhyZWFkLCBjcHUpOwotCQkJCWFzbSB2b2xhdGlsZSgibW92bCAlMCwlJWZzIiA6OiAiciIoRlNfVExTX1NFTCkpOworCQkJCWxvYWRzZWdtZW50KGZzLCBGU19UTFNfU0VMKTsKIAkJCX0KIAkJCXRhc2stPnRocmVhZC5mc2luZGV4ID0gRlNfVExTX1NFTDsKIAkJCXRhc2stPnRocmVhZC5mcyA9IDA7CkBAIC04MDgsNyArNzk2LDcgQEAKIAkJCWlmIChkb2l0KSB7CiAJCQkJLyogc2V0IHRoZSBzZWxlY3RvciB0byAwIHRvIG5vdCBjb25mdXNlCiAJCQkJICAgX19zd2l0Y2hfdG8gKi8KLQkJCQlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyIgOjogInIiICgwKSk7CisJCQkJbG9hZHNlZ21lbnQoZnMsIDApOwogCQkJCXJldCA9IGNoZWNraW5nX3dybXNybChNU1JfRlNfQkFTRSwgYWRkcik7CiAJCQl9CiAJCX0KQEAgLTgzMSw3ICs4MTksNyBAQAogCQlpZiAodGFzay0+dGhyZWFkLmdzaW5kZXggPT0gR1NfVExTX1NFTCkKIAkJCWJhc2UgPSByZWFkXzMyYml0X3Rscyh0YXNrLCBHU19UTFMpOwogCQllbHNlIGlmIChkb2l0KSB7Ci0JCQlhc20oIm1vdmwgJSVncywlMCIgOiAiPXIiIChnc2luZGV4KSk7CisJCQlzYXZlc2VnbWVudChncywgZ3NpbmRleCk7CiAJCQlpZiAoZ3NpbmRleCkKIAkJCQlyZG1zcmwoTVNSX0tFUk5FTF9HU19CQVNFLCBiYXNlKTsKIAkJCWVsc2UKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYyBiL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYwppbmRleCBhNzgzNWYyLi43NzA0MGI2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHRyYWNlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3B0cmFjZS5jCkBAIC05NDMsMTMgKzk0MywxMyBAQAogCQlyZXR1cm4gY29weV9yZWdzZXRfdG9fdXNlcihjaGlsZCwgJnVzZXJfeDg2XzMyX3ZpZXcsCiAJCQkJCSAgIFJFR1NFVF9YRlAsCiAJCQkJCSAgIDAsIHNpemVvZihzdHJ1Y3QgdXNlcl9meHNyX3N0cnVjdCksCi0JCQkJCSAgIGRhdGFwKTsKKwkJCQkJICAgZGF0YXApID8gLUVJTyA6IDA7CiAKIAljYXNlIFBUUkFDRV9TRVRGUFhSRUdTOgkvKiBTZXQgdGhlIGNoaWxkIGV4dGVuZGVkIEZQVSBzdGF0ZS4gKi8KIAkJcmV0dXJuIGNvcHlfcmVnc2V0X2Zyb21fdXNlcihjaGlsZCwgJnVzZXJfeDg2XzMyX3ZpZXcsCiAJCQkJCSAgICAgUkVHU0VUX1hGUCwKIAkJCQkJICAgICAwLCBzaXplb2Yoc3RydWN0IHVzZXJfZnhzcl9zdHJ1Y3QpLAotCQkJCQkgICAgIGRhdGFwKTsKKwkJCQkJICAgICBkYXRhcCkgPyAtRUlPIDogMDsKICNlbmRpZgogCiAjaWYgZGVmaW5lZCBDT05GSUdfWDg2XzMyIHx8IGRlZmluZWQgQ09ORklHX0lBMzJfRU1VTEFUSU9OCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMKaW5kZXggZDg5YTY0OC4uZDEzODU4OCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3F1aXJrcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9xdWlya3MuYwpAQCAtNjUsNiArNjUsNyBAQAogCUlDSF9GT1JDRV9IUEVUX1JFU1VNRSwKIAlWVDgyMzdfRk9SQ0VfSFBFVF9SRVNVTUUsCiAJTlZJRElBX0ZPUkNFX0hQRVRfUkVTVU1FLAorCUFUSV9GT1JDRV9IUEVUX1JFU1VNRSwKIH0gZm9yY2VfaHBldF9yZXN1bWVfdHlwZTsKIAogc3RhdGljIHZvaWQgX19pb21lbSAqcmNiYV9iYXNlOwpAQCAtMTU4LDYgKzE1OSw4IEBACiAKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0VTQjJfMCwKIAkJCSBpY2hfZm9yY2VfZW5hYmxlX2hwZXQpOworREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8wLAorCQkJIGljaF9mb3JjZV9lbmFibGVfaHBldCk7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzEsCiAJCQkgaWNoX2ZvcmNlX2VuYWJsZV9ocGV0KTsKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMCwKQEAgLTE3NCw2ICsxNzcsMTIgQEAKIAogc3RhdGljIHN0cnVjdCBwY2lfZGV2ICpjYWNoZWRfZGV2OwogCitzdGF0aWMgdm9pZCBocGV0X3ByaW50X2ZvcmNlX2luZm8odm9pZCkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJIUEVUIG5vdCBlbmFibGVkIGluIEJJT1MuICIKKwkgICAgICAgIllvdSBtaWdodCB0cnkgaHBldD1mb3JjZSBib290IG9wdGlvblxuIik7Cit9CisKIHN0YXRpYyB2b2lkIG9sZF9pY2hfZm9yY2VfaHBldF9yZXN1bWUodm9pZCkKIHsKIAl1MzIgdmFsOwpAQCAtMjUzLDggKzI2MiwxMiBAQAogewogCWlmIChocGV0X2ZvcmNlX3VzZXIpCiAJCW9sZF9pY2hfZm9yY2VfZW5hYmxlX2hwZXQoZGV2KTsKKwllbHNlCisJCWhwZXRfcHJpbnRfZm9yY2VfaW5mbygpOwogfQogCitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMSwKKwkJCSBvbGRfaWNoX2ZvcmNlX2VuYWJsZV9ocGV0X3VzZXIpOwogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8wLAogCQkJIG9sZF9pY2hfZm9yY2VfZW5hYmxlX2hwZXRfdXNlcik7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzEyLApAQCAtMjkwLDkgKzMwMywxNCBAQAogewogCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOwogCi0JaWYgKCFocGV0X2ZvcmNlX3VzZXIgfHwgaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKIAkJcmV0dXJuOwogCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKIAlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDY4LCAmdmFsKTsKIAkvKgogCSAqIEJpdCA3IGlzIEhQRVQgZW5hYmxlIGJpdC4KQEAgLTMzMCw2ICszNDgsMzYgQEAKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX1ZJQSwgUENJX0RFVklDRV9JRF9WSUFfODIzNywKIAkJCSB2dDgyMzdfZm9yY2VfZW5hYmxlX2hwZXQpOwogCitzdGF0aWMgdm9pZCBhdGlfZm9yY2VfaHBldF9yZXN1bWUodm9pZCkKK3sKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGNhY2hlZF9kZXYsIDB4MTQsIDB4ZmVkMDAwMDApOworCXByaW50ayhLRVJOX0RFQlVHICJGb3JjZSBlbmFibGVkIEhQRVQgYXQgcmVzdW1lXG4iKTsKK30KKworc3RhdGljIHZvaWQgYXRpX2ZvcmNlX2VuYWJsZV9ocGV0KHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJdTMyIHVuaW5pdGlhbGl6ZWRfdmFyKHZhbCk7CisKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwkJcmV0dXJuOworCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHgxNCwgMHhmZWQwMDAwMCk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHgxNCwgJnZhbCk7CisJZm9yY2VfaHBldF9hZGRyZXNzID0gdmFsOworCWZvcmNlX2hwZXRfcmVzdW1lX3R5cGUgPSBBVElfRk9SQ0VfSFBFVF9SRVNVTUU7CisJZGV2X3ByaW50ayhLRVJOX0RFQlVHLCAmZGV2LT5kZXYsICJGb3JjZSBlbmFibGVkIEhQRVQgYXQgMHglbHhcbiIsCisJCSAgIGZvcmNlX2hwZXRfYWRkcmVzcyk7CisJY2FjaGVkX2RldiA9IGRldjsKKwlyZXR1cm47Cit9CitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX0lYUDQwMF9TTUJVUywKKwkJCSBhdGlfZm9yY2VfZW5hYmxlX2hwZXQpOworCiAvKgogICogVW5kb2N1bWVudGVkIGNoaXBzZXQgZmVhdHVyZSB0YWtlbiBmcm9tIExpbnV4QklPUy4KICAqLwpAQCAtMzQzLDkgKzM5MSwxNCBAQAogewogCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOwogCi0JaWYgKCFocGV0X2ZvcmNlX3VzZXIgfHwgaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKIAkJcmV0dXJuOwogCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKIAlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg0NCwgMHhmZWQwMDAwMSk7CiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg0NCwgJnZhbCk7CiAJZm9yY2VfaHBldF9hZGRyZXNzID0gdmFsICYgMHhmZmZmZmZmZTsKQEAgLTM5Nyw2ICs0NTAsOSBAQAogCWNhc2UgTlZJRElBX0ZPUkNFX0hQRVRfUkVTVU1FOgogCQludmlkaWFfZm9yY2VfaHBldF9yZXN1bWUoKTsKIAkJcmV0dXJuOworCWNhc2UgQVRJX0ZPUkNFX0hQRVRfUkVTVU1FOgorCQlhdGlfZm9yY2VfaHBldF9yZXN1bWUoKTsKKwkJcmV0dXJuOwogCWRlZmF1bHQ6CiAJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYyBiL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYwppbmRleCBmNmJlN2Q1Li5mOGE2MjE2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcmVib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdC5jCkBAIC0yNyw3ICsyNyw3IEBACiB2b2lkICgqcG1fcG93ZXJfb2ZmKSh2b2lkKTsKIEVYUE9SVF9TWU1CT0wocG1fcG93ZXJfb2ZmKTsKIAotc3RhdGljIGxvbmcgbm9faWR0WzNdOworc3RhdGljIGNvbnN0IHN0cnVjdCBkZXNjX3B0ciBub19pZHQgPSB7fTsKIHN0YXRpYyBpbnQgcmVib290X21vZGU7CiBlbnVtIHJlYm9vdF90eXBlIHJlYm9vdF90eXBlID0gQk9PVF9LQkQ7CiBpbnQgcmVib290X2ZvcmNlOwpAQCAtMjAxLDE1ICsyMDEsMTUgQEAKICAgIGNvbnRyb2xsZXIgdG8gcHVsc2UgdGhlIENQVSByZXNldCBsaW5lLCB3aGljaCBpcyBtb3JlIHRob3JvdWdoLCBidXQKICAgIGRvZXNuJ3Qgd29yayB3aXRoIGF0IGxlYXN0IG9uZSB0eXBlIG9mIDQ4NiBtb3RoZXJib2FyZC4gIEl0IGlzIGVhc3kKICAgIHRvIHN0b3AgdGhpcyBjb2RlIHdvcmtpbmc7IGhlbmNlIHRoZSBjb3Bpb3VzIGNvbW1lbnRzLiAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZwogcmVhbF9tb2RlX2dkdF9lbnRyaWVzIFszXSA9CiB7CiAJMHgwMDAwMDAwMDAwMDAwMDAwVUxMLAkvKiBOdWxsIGRlc2NyaXB0b3IgKi8KLQkweDAwMDA5YTAwMDAwMGZmZmZVTEwsCS8qIDE2LWJpdCByZWFsLW1vZGUgNjRrIGNvZGUgYXQgMHgwMDAwMDAwMCAqLwotCTB4MDAwMDkyMDAwMTAwZmZmZlVMTAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBkYXRhIGF0IDB4MDAwMDAxMDAgKi8KKwkweDAwMDA5YjAwMDAwMGZmZmZVTEwsCS8qIDE2LWJpdCByZWFsLW1vZGUgNjRrIGNvZGUgYXQgMHgwMDAwMDAwMCAqLworCTB4MDAwMDkzMDAwMTAwZmZmZlVMTAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBkYXRhIGF0IDB4MDAwMDAxMDAgKi8KIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZGVzY19wdHIKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGVzY19wdHIKIHJlYWxfbW9kZV9nZHQgPSB7IHNpemVvZiAocmVhbF9tb2RlX2dkdF9lbnRyaWVzKSAtIDEsIChsb25nKXJlYWxfbW9kZV9nZHRfZW50cmllcyB9LAogcmVhbF9tb2RlX2lkdCA9IHsgMHgzZmYsIDAgfTsKIApAQCAtMjMxLDcgKzIzMSw3IEBACiAKICAgIE1vcmUgY291bGQgYmUgZG9uZSBoZXJlIHRvIHNldCB1cCB0aGUgcmVnaXN0ZXJzIGFzIGlmIGEgQ1BVIHJlc2V0IGhhZAogICAgb2NjdXJyZWQ7IGhvcGVmdWxseSByZWFsIEJJT1NzIGRvbid0IGFzc3VtZSBtdWNoLiAqLwotc3RhdGljIHVuc2lnbmVkIGNoYXIgcmVhbF9tb2RlX3N3aXRjaCBbXSA9CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciByZWFsX21vZGVfc3dpdGNoIFtdID0KIHsKIAkweDY2LCAweDBmLCAweDIwLCAweGMwLAkJCS8qICAgIG1vdmwgICVjcjAsJWVheCAgICAgICAgKi8KIAkweDY2LCAweDgzLCAweGUwLCAweDExLAkJCS8qICAgIGFuZGwgICQweDAwMDAwMDExLCVlYXggKi8KQEAgLTI0NSw3ICsyNDUsNyBAQAogCTB4MjQsIDB4MTAsCQkJCS8qIGY6IGFuZGIgICQweDEwLGFsICAgICAgICAgKi8KIAkweDY2LCAweDBmLCAweDIyLCAweGMwCQkJLyogICAgbW92bCAgJWVheCwlY3IwICAgICAgICAqLwogfTsKLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGp1bXBfdG9fYmlvcyBbXSA9CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBqdW1wX3RvX2Jpb3MgW10gPQogewogCTB4ZWEsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYJCS8qICAgIGxqbXAgICQweGZmZmYsJDB4MDAwMCAgKi8KIH07CkBAIC0yNTUsNyArMjU1LDcgQEAKICAqIHNwZWNpZmllZCBieSB0aGUgY29kZSBhbmQgbGVuZ3RoIHBhcmFtZXRlcnMuCiAgKiBXZSBhc3N1bWUgdGhhdCBsZW5ndGggd2lsbCBhd2F5cyBiZSBsZXNzIHRoYXQgMTAwIQogICovCi12b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpCit2b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpCiB7CiAJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIApAQCAtMzY4LDcgKzM2OCw3IEBACiAJCQl9CiAKIAkJY2FzZSBCT09UX1RSSVBMRToKLQkJCWxvYWRfaWR0KChjb25zdCBzdHJ1Y3QgZGVzY19wdHIgKikmbm9faWR0KTsKKwkJCWxvYWRfaWR0KCZub19pZHQpOwogCQkJX19hc21fXyBfX3ZvbGF0aWxlX18oImludDMiKTsKIAogCQkJcmVib290X3R5cGUgPSBCT09UX0tCRDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcmVib290X2ZpeHVwc18zMi5jCmluZGV4IGRlYzBiNWUuLjYxYTgzNzcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdF9maXh1cHNfMzIuYwpAQCAtNDksNyArNDksNyBAQAogCXZvaWQgKCpyZWJvb3RfZml4dXApKHN0cnVjdCBwY2lfZGV2ICopOwogfTsKIAotc3RhdGljIHN0cnVjdCBkZXZpY2VfZml4dXAgZml4dXBzX3RhYmxlW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRldmljZV9maXh1cCBmaXh1cHNfdGFibGVbXSA9IHsKIHsgUENJX1ZFTkRPUl9JRF9DWVJJWCwgUENJX0RFVklDRV9JRF9DWVJJWF81NTMwX0xFR0FDWSwgY3M1NTMwYV93YXJtX3Jlc2V0IH0sCiB7IFBDSV9WRU5ET1JfSURfQU1ELCBQQ0lfREVWSUNFX0lEX0FNRF9DUzU1MzZfSVNBLCBjczU1MzZfd2FybV9yZXNldCB9LAogeyBQQ0lfVkVORE9SX0lEX05TLCBQQ0lfREVWSUNFX0lEX05TX1NDMTEwMF9CUklER0UsIGNzNTUzMGFfd2FybV9yZXNldCB9LApAQCAtNjQsNyArNjQsNyBAQAogICovCiB2b2lkIG1hY2hfcmVib290X2ZpeHVwcyh2b2lkKQogewotCXN0cnVjdCBkZXZpY2VfZml4dXAgKmN1cjsKKwljb25zdCBzdHJ1Y3QgZGV2aWNlX2ZpeHVwICpjdXI7CiAJc3RydWN0IHBjaV9kZXYgKmRldjsKIAlpbnQgaTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwppbmRleCA2ZjgwYjg1Li4zNmM1NDBkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwpAQCAtMSwxMzkgKzEsODg5IEBACi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCisgKgorICogIFN1cHBvcnQgb2YgQklHTUVNIGFkZGVkIGJ5IEdlcmhhcmQgV2ljaGVydCwgU2llbWVucyBBRywgSnVseSAxOTk5CisgKgorICogIE1lbW9yeSByZWdpb24gc3VwcG9ydAorICoJRGF2aWQgUGFyc29ucyA8b3JjQHBlbGwuY2hpLmlsLnVzPiwgSnVseS1BdWd1c3QgMTk5OQorICoKKyAqICBBZGRlZCBFODIwIHNhbml0aXphdGlvbiByb3V0aW5lIChyZW1vdmVzIG92ZXJsYXBwaW5nIG1lbW9yeSByZWdpb25zKTsKKyAqICBCcmlhbiBNb3lsZSA8Ym1veWxlQG12aXN0YS5jb20+LCBGZWJydWFyeSAyMDAxCisgKgorICogTW92ZWQgQ1BVIGRldGVjdGlvbiBjb2RlIHRvIGNwdS8ke2NwdX0uYworICogICAgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4sIE1hcmNoIDIwMDIKKyAqCisgKiAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgorICogIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgorICoKKyAqLworCisvKgorICogVGhpcyBmaWxlIGhhbmRsZXMgdGhlIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgcGFydHMgb2YgaW5pdGlhbGl6YXRpb24KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FwbV9iaW9zLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+CiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgorI2luY2x1ZGUgPGxpbnV4L21jYS5oPgorI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+CisjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KKyNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgorI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdF9vaGNpMTM5NF9kbWEuaD4KKyNpbmNsdWRlIDxsaW51eC9rdm1fcGFyYS5oPgorCisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvdXNlci5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorCisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKwogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KKworI2luY2x1ZGUgPHZpZGVvL2VkaWQuaD4KKworI2luY2x1ZGUgPGFzbS9tdHJyLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgorI2luY2x1ZGUgPGFzbS9lZmkuaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKyNpbmNsdWRlIDxhc20vZG1pLmg+CisjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaXN0Lmg+CisjaW5jbHVkZSA8YXNtL3ZtaS5oPgorI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KKyNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL2J1Z3MuaD4KKworI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vdnN5c2NhbGwuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vZG1hLmg+CisjaW5jbHVkZSA8YXNtL2dhcnQuaD4KKyNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKworI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgorCiAjaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgogI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KLQotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotdW5zaWduZWQgaW50IG51bV9wcm9jZXNzb3JzOwotdW5zaWduZWQgZGlzYWJsZWRfY3B1cyBfX2NwdWluaXRkYXRhOwotLyogUHJvY2Vzc29yIHRoYXQgaXMgZG9pbmcgdGhlIGJvb3QgdXAgKi8KLXVuc2lnbmVkIGludCBib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSAtMVU7Ci1FWFBPUlRfU1lNQk9MKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7Ci0KLURFRklORV9QRVJfQ1BVKHUxNiwgeDg2X2NwdV90b19hcGljaWQpID0gQkFEX0FQSUNJRDsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX2FwaWNpZCk7Ci0KLS8qIEJpdG1hc2sgb2YgcGh5c2ljYWxseSBleGlzdGluZyBDUFVzICovCi1waHlzaWRfbWFza190IHBoeXNfY3B1X3ByZXNlbnRfbWFwOworI2lmZGVmIENPTkZJR19YODZfNjQKKyNpbmNsdWRlIDxhc20vbnVtYV82NC5oPgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKENPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQSkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1NNUCkKKyNpZm5kZWYgQVJDSF9TRVRVUAorI2RlZmluZSBBUkNIX1NFVFVQCisjZW5kaWYKKworI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKK3N0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOworI2Vsc2UKK3N0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKKyNlbmRpZgorCiAvKgotICogQ29weSBkYXRhIHVzZWQgaW4gZWFybHkgaW5pdCByb3V0aW5lcyBmcm9tIHRoZSBpbml0aWFsIGFycmF5cyB0byB0aGUKLSAqIHBlciBjcHUgZGF0YSBhcmVhcy4gIFRoZXNlIGFycmF5cyB0aGVuIGJlY29tZSBleHBlbmRhYmxlIGFuZCB0aGUKLSAqICpfZWFybHlfcHRyJ3MgYXJlIHplcm9lZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXRpYyBhcnJheXMgYXJlIGdvbmUuCisgKiBNYWNoaW5lIHNldHVwLi4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfbWFwcyh2b2lkKQorc3RhdGljIHN0cnVjdCByZXNvdXJjZSBkYXRhX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBkYXRhIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGNvZGVfcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiS2VybmVsIGNvZGUiLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYnNzX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBic3MiLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qIFRoaXMgdmFsdWUgaXMgc2V0IHVwIGJ5IHRoZSBlYXJseSBib290IGNvZGUgdG8gcG9pbnQgdG8gdGhlIHZhbHVlCisgICBpbW1lZGlhdGVseSBhZnRlciB0aGUgYm9vdCB0aW1lIHBhZ2UgdGFibGVzLiAgSXQgY29udGFpbnMgYSAqcGh5c2ljYWwqCisgICBhZGRyZXNzLCBhbmQgbXVzdCBub3QgYmUgaW4gdGhlIC5ic3Mgc2VnbWVudCEgKi8KK3Vuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfc3RhcnQgX19pbml0ZGF0YSA9IH4wVUw7Cit1bnNpZ25lZCBsb25nIGluaXRfcGdfdGFibGVzX2VuZCBfX2luaXRkYXRhID0gfjBVTDsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2aWRlb19yYW1fcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiVmlkZW8gUkFNIGFyZWEiLAorCS5zdGFydAk9IDB4YTAwMDAsCisJLmVuZAk9IDB4YmZmZmYsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKy8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGluIGhlYWQuUyAqLworc3RydWN0IGNwdWluZm9feDg2IG5ld19jcHVfZGF0YSBfX2NwdWluaXRkYXRhID0gezAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMX07CisvKiBjb21tb24gY3B1IGRhdGEgZm9yIGFsbCBjcHVzICovCitzdHJ1Y3QgY3B1aW5mb194ODYgYm9vdF9jcHVfZGF0YSBfX3JlYWRfbW9zdGx5ID0gezAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMX07CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X2RhdGEpOworc3RhdGljIHZvaWQgc2V0X21jYV9idXMoaW50IHgpCiB7Ci0JaW50IGNwdTsKLQotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLQkJcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSA9IHg4Nl9jcHVfdG9fYXBpY2lkX2luaXRbY3B1XTsKLQkJcGVyX2NwdSh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpID0KLQkJCQkJCXg4Nl9iaW9zX2NwdV9hcGljaWRfaW5pdFtjcHVdOwotI2lmZGVmIENPTkZJR19OVU1BCi0JCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9Ci0JCQkJCQl4ODZfY3B1X3RvX25vZGVfbWFwX2luaXRbY3B1XTsKLSNlbmRpZgotCX0KLQotCS8qIGluZGljYXRlIHRoZSBlYXJseSBzdGF0aWMgYXJyYXlzIHdpbGwgc29vbiBiZSBnb25lICovCi0JeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyID0gTlVMTDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9IE5VTEw7Ci0jaWZkZWYgQ09ORklHX05VTUEKLQl4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0ciA9IE5VTEw7CisjaWZkZWYgQ09ORklHX01DQQorCU1DQV9idXMgPSB4OwogI2VuZGlmCiB9CiAKLSNpZmRlZiBDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAKLWNwdW1hc2tfdCAqY3B1bWFza19vZl9jcHVfbWFwIF9fcmVhZF9tb3N0bHk7Ci1FWFBPUlRfU1lNQk9MKGNwdW1hc2tfb2ZfY3B1X21hcCk7Cit1bnNpZ25lZCBpbnQgZGVmX3RvX2JpZ3NtcDsKIAotLyogcmVxdWlyZXMgbnJfY3B1X2lkcyB0byBiZSBpbml0aWFsaXplZCAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpCisvKiBmb3IgTUNBLCBidXQgYW55b25lIGVsc2UgY2FuIHVzZSBpdCBpZiB0aGV5IHdhbnQgKi8KK3Vuc2lnbmVkIGludCBtYWNoaW5lX2lkOwordW5zaWduZWQgaW50IG1hY2hpbmVfc3VibW9kZWxfaWQ7Cit1bnNpZ25lZCBpbnQgQklPU19yZXZpc2lvbjsKKworc3RydWN0IGFwbV9pbmZvIGFwbV9pbmZvOworRVhQT1JUX1NZTUJPTChhcG1faW5mbyk7CisKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfU1BFRURTVEVQX1NNSSkgfHwgXAorCWRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JX01PRFVMRSkKK3N0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKK0VYUE9SVF9TWU1CT0woaXN0X2luZm8pOworI2Vsc2UKK3N0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKKyNlbmRpZgorCisjZWxzZQorc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7CisjZW5kaWYKKworCisjaWYgIWRlZmluZWQoQ09ORklHX1g4Nl9QQUUpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl82NCkKK3Vuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKKyNlbHNlCit1bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXMgPSBYODZfQ1I0X1BBRTsKKyNlbmRpZgorCisvKiBCb290IGxvYWRlciBJRCBhcyBhbiBpbnRlZ2VyLCBmb3IgdGhlIGJlbmVmaXQgb2YgcHJvY19kb2ludHZlYyAqLworaW50IGJvb3Rsb2FkZXJfdHlwZTsKKworLyoKKyAqIEVhcmx5IERNSSBtZW1vcnkKKyAqLworaW50IGRtaV9hbGxvY19pbmRleDsKK2NoYXIgZG1pX2FsbG9jX2RhdGFbRE1JX01BWF9EQVRBXTsKKworLyoKKyAqIFNldHVwIG9wdGlvbnMKKyAqLworc3RydWN0IHNjcmVlbl9pbmZvIHNjcmVlbl9pbmZvOworRVhQT1JUX1NZTUJPTChzY3JlZW5faW5mbyk7CitzdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKK0VYUE9SVF9TWU1CT0xfR1BMKGVkaWRfaW5mbyk7CisKK2V4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOworCit1bnNpZ25lZCBsb25nIHNhdmVkX3ZpZGVvX21vZGU7CisKKyNkZWZpbmUgUkFNRElTS19JTUFHRV9TVEFSVF9NQVNLCTB4MDdGRgorI2RlZmluZSBSQU1ESVNLX1BST01QVF9GTEFHCQkweDgwMDAKKyNkZWZpbmUgUkFNRElTS19MT0FEX0ZMQUcJCTB4NDAwMAorCitzdGF0aWMgY2hhciBfX2luaXRkYXRhIGNvbW1hbmRfbGluZVtDT01NQU5EX0xJTkVfU0laRV07CisKKyNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCitzdHJ1Y3QgZWRkIGVkZDsKKyNpZmRlZiBDT05GSUdfRUREX01PRFVMRQorRVhQT1JUX1NZTUJPTChlZGQpOworI2VuZGlmCisvKioKKyAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgorICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCisgKgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKK3sKKyAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCisJICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOworICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKKyAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKKyAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCit7Cit9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCisjZGVmaW5lIE1BWF9NQVBfQ0hVTksJKE5SX0ZJWF9CVE1BUFMgPDwgUEFHRV9TSElGVCkKK3N0YXRpYyB2b2lkIF9faW5pdCByZWxvY2F0ZV9pbml0cmQodm9pZCkKK3sKKworCXU2NCByYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJdTY0IHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOworCXU2NCBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKKwl1NjQgcmFtZGlza19oZXJlOworCXVuc2lnbmVkIGxvbmcgc2xvcCwgY2xlbiwgbWFwYWRkcjsKKwljaGFyICpwLCAqcTsKKworCS8qIFdlIG5lZWQgdG8gbW92ZSB0aGUgaW5pdHJkIGRvd24gaW50byBsb3dtZW0gKi8KKwlyYW1kaXNrX2hlcmUgPSBmaW5kX2U4MjBfYXJlYSgwLCBlbmRfb2ZfbG93bWVtLCByYW1kaXNrX3NpemUsCisJCQkJCSBQQUdFX1NJWkUpOworCisJaWYgKHJhbWRpc2tfaGVyZSA9PSAtMVVMTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIHBsYWNlIGZvciBuZXcgUkFNRElTSyBvZiBzaXplICVsbGRcbiIsCisJCQkgcmFtZGlza19zaXplKTsKKworCS8qIE5vdGU6IHRoaXMgaW5jbHVkZXMgYWxsIHRoZSBsb3dtZW0gY3VycmVudGx5IG9jY3VwaWVkIGJ5CisJICAgdGhlIGluaXRyZCwgd2UgcmVseSBvbiB0aGF0IGZhY3QgdG8ga2VlcCB0aGUgZGF0YSBpbnRhY3QuICovCisJcmVzZXJ2ZV9lYXJseShyYW1kaXNrX2hlcmUsIHJhbWRpc2tfaGVyZSArIHJhbWRpc2tfc2l6ZSwKKwkJCSAiTkVXIFJBTURJU0siKTsKKwlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2hlcmUgKyBQQUdFX09GRlNFVDsKKwlpbml0cmRfZW5kICAgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7CisJcHJpbnRrKEtFUk5fSU5GTyAiQWxsb2NhdGVkIG5ldyBSQU1ESVNLOiAlMDhsbHggLSAlMDhsbHhcbiIsCisJCQkgcmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUpOworCisJcSA9IChjaGFyICopaW5pdHJkX3N0YXJ0OworCisJLyogQ29weSBhbnkgbG93bWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLworCWlmIChyYW1kaXNrX2ltYWdlIDwgZW5kX29mX2xvd21lbSkgeworCQljbGVuID0gZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfaW1hZ2U7CisJCXAgPSAoY2hhciAqKV9fdmEocmFtZGlza19pbWFnZSk7CisJCW1lbWNweShxLCBwLCBjbGVuKTsKKwkJcSArPSBjbGVuOworCQlyYW1kaXNrX2ltYWdlICs9IGNsZW47CisJCXJhbWRpc2tfc2l6ZSAgLT0gY2xlbjsKKwl9CisKKwkvKiBDb3B5IHRoZSBoaWdobWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLworCXdoaWxlIChyYW1kaXNrX3NpemUpIHsKKwkJc2xvcCA9IHJhbWRpc2tfaW1hZ2UgJiB+UEFHRV9NQVNLOworCQljbGVuID0gcmFtZGlza19zaXplOworCQlpZiAoY2xlbiA+IE1BWF9NQVBfQ0hVTkstc2xvcCkKKwkJCWNsZW4gPSBNQVhfTUFQX0NIVU5LLXNsb3A7CisJCW1hcGFkZHIgPSByYW1kaXNrX2ltYWdlICYgUEFHRV9NQVNLOworCQlwID0gZWFybHlfaW9yZW1hcChtYXBhZGRyLCBjbGVuK3Nsb3ApOworCQltZW1jcHkocSwgcCtzbG9wLCBjbGVuKTsKKwkJZWFybHlfaW91bm1hcChwLCBjbGVuK3Nsb3ApOworCQlxICs9IGNsZW47CisJCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKKwkJcmFtZGlza19zaXplICAtPSBjbGVuOworCX0KKwkvKiBoaWdoIHBhZ2VzIGlzIG5vdCBjb252ZXJ0ZWQgYnkgZWFybHlfcmVzX3RvX2Jvb3RtZW0gKi8KKwlyYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7CisJcHJpbnRrKEtFUk5fSU5GTyAiTW92ZSBSQU1ESVNLIGZyb20gJTAxNmxseCAtICUwMTZsbHggdG8iCisJCSIgJTA4bGx4IC0gJTA4bGx4XG4iLAorCQlyYW1kaXNrX2ltYWdlLCByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplIC0gMSwKKwkJcmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUgLSAxKTsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKK3sKKwl1NjQgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOworCXU2NCByYW1kaXNrX3NpemUgID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZTsKKwl1NjQgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7CisJdTY0IGVuZF9vZl9sb3dtZW0gPSBtYXhfbG93X3BmbiA8PCBQQUdFX1NISUZUOworCisJaWYgKCFib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgfHwKKwkgICAgIXJhbWRpc2tfaW1hZ2UgfHwgIXJhbWRpc2tfc2l6ZSkKKwkJcmV0dXJuOwkJLyogTm8gaW5pdHJkIHByb3ZpZGVkIGJ5IGJvb3Rsb2FkZXIgKi8KKworCWluaXRyZF9zdGFydCA9IDA7CisKKwlpZiAocmFtZGlza19zaXplID49IChlbmRfb2ZfbG93bWVtPj4xKSkgeworCQlmcmVlX2Vhcmx5KHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfZW5kKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJpbml0cmQgdG9vIGxhcmdlIHRvIGhhbmRsZSwgIgorCQkgICAgICAgImRpc2FibGluZyBpbml0cmRcbiIpOworCQlyZXR1cm47CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAiUkFNRElTSzogJTA4bGx4IC0gJTA4bGx4XG4iLCByYW1kaXNrX2ltYWdlLAorCQkJcmFtZGlza19lbmQpOworCisKKwlpZiAocmFtZGlza19lbmQgPD0gZW5kX29mX2xvd21lbSkgeworCQkvKiBBbGwgaW4gbG93bWVtLCBlYXN5IGNhc2UgKi8KKwkJLyoKKwkJICogZG9uJ3QgbmVlZCB0byByZXNlcnZlIGFnYWluLCBhbHJlYWR5IHJlc2VydmVkIGVhcmx5CisJCSAqIGluIGkzODZfc3RhcnRfa2VybmVsCisJCSAqLworCQlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2ltYWdlICsgUEFHRV9PRkZTRVQ7CisJCWluaXRyZF9lbmQgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7CisJCXJldHVybjsKKwl9CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcmVsb2NhdGVfaW5pdHJkKCk7CisjZWxzZQorCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBtZW1vcnkgIgorCSAgICAgICAiKDB4JTA4bGx4ID4gMHglMDhsbHgpXG5kaXNhYmxpbmcgaW5pdHJkXG4iLAorCSAgICAgICByYW1kaXNrX2VuZCwgZW5kX29mX2xvd21lbSk7CisJaW5pdHJkX3N0YXJ0ID0gMDsKKyNlbmRpZgorCWZyZWVfZWFybHkocmFtZGlza19pbWFnZSwgcmFtZGlza19lbmQpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2luaXRyZCh2b2lkKQoreworfQorI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOSVRSRCAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vfc2V0dXBfZGF0YSh2b2lkKQoreworCXN0cnVjdCBzZXR1cF9kYXRhICpkYXRhOworCXU2NCBwYV9kYXRhOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIFBBR0VfU0laRSk7CisJCXN3aXRjaCAoZGF0YS0+dHlwZSkgeworCQljYXNlIFNFVFVQX0U4MjBfRVhUOgorCQkJcGFyc2VfZTgyMF9leHQoZGF0YSwgcGFfZGF0YSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXBhX2RhdGEgPSBkYXRhLT5uZXh0OworCQllYXJseV9pb3VubWFwKGRhdGEsIFBBR0VfU0laRSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZTgyMF9yZXNlcnZlX3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKwlpbnQgZm91bmQgPSAwOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIHNpemVvZigqZGF0YSkpOworCQllODIwX3VwZGF0ZV9yYW5nZShwYV9kYXRhLCBzaXplb2YoKmRhdGEpK2RhdGEtPmxlbiwKKwkJCSBFODIwX1JBTSwgRTgyMF9SRVNFUlZFRF9LRVJOKTsKKwkJZm91bmQgPSAxOworCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKKwkJZWFybHlfaW91bm1hcChkYXRhLCBzaXplb2YoKmRhdGEpKTsKKwl9CisJaWYgKCFmb3VuZCkKKwkJcmV0dXJuOworCisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOworCW1lbWNweSgmZTgyMF9zYXZlZCwgJmU4MjAsIHNpemVvZihzdHJ1Y3QgZTgyMG1hcCkpOworCXByaW50ayhLRVJOX0lORk8gImV4dGVuZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCgicmVzZXJ2ZSBzZXR1cF9kYXRhIik7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2Vhcmx5X3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKwljaGFyIGJ1ZlszMl07CisKKwlpZiAoYm9vdF9wYXJhbXMuaGRyLnZlcnNpb24gPCAweDAyMDkpCisJCXJldHVybjsKKwlwYV9kYXRhID0gYm9vdF9wYXJhbXMuaGRyLnNldHVwX2RhdGE7CisJd2hpbGUgKHBhX2RhdGEpIHsKKwkJZGF0YSA9IGVhcmx5X2lvcmVtYXAocGFfZGF0YSwgc2l6ZW9mKCpkYXRhKSk7CisJCXNwcmludGYoYnVmLCAic2V0dXAgZGF0YSAleCIsIGRhdGEtPnR5cGUpOworCQlyZXNlcnZlX2Vhcmx5KHBhX2RhdGEsIHBhX2RhdGErc2l6ZW9mKCpkYXRhKStkYXRhLT5sZW4sIGJ1Zik7CisJCXBhX2RhdGEgPSBkYXRhLT5uZXh0OworCQllYXJseV9pb3VubWFwKGRhdGEsIHNpemVvZigqZGF0YSkpOworCX0KK30KKworLyoKKyAqIC0tLS0tLS0tLSBDcmFzaGtlcm5lbCByZXNlcnZhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZkZWYgQ09ORklHX0tFWEVDCisKKy8qKgorICogUmVzZXJ2ZSBAc2l6ZSBieXRlcyBvZiBjcmFzaGtlcm5lbCBtZW1vcnkgYXQgYW55IHN1aXRhYmxlIG9mZnNldC4KKyAqCisgKiBAc2l6ZTogU2l6ZSBvZiB0aGUgY3Jhc2hrZXJuZWwgbWVtb3J5IHRvIHJlc2VydmUuCisgKiBSZXR1cm5zIHRoZSBiYXNlIGFkZHJlc3Mgb24gc3VjY2VzcywgYW5kIC0xVUxMIG9uIGZhaWx1cmUuCisgKi8KK3Vuc2lnbmVkIGxvbmcgbG9uZyBmaW5kX2FuZF9yZXNlcnZlX2NyYXNoa2VybmVsKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKQoreworCWNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyBhbGlnbm1lbnQgPSAxNjw8MjA7IAkvKiAxNk0gKi8KKwl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSAwTEw7CisKKwl3aGlsZSAoMSkgeworCQlpbnQgcmV0OworCisJCXN0YXJ0ID0gZmluZF9lODIwX2FyZWEoc3RhcnQsIFVMT05HX01BWCwgc2l6ZSwgYWxpZ25tZW50KTsKKwkJaWYgKHN0YXJ0ID09IC0xVUxMKQorCQkJcmV0dXJuIHN0YXJ0OworCisJCS8qIHRyeSB0byByZXNlcnZlIGl0ICovCisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHN0YXJ0LCBzaXplLCBCT09UTUVNX0VYQ0xVU0lWRSk7CisJCWlmIChyZXQgPj0gMCkKKwkJCXJldHVybiBzdGFydDsKKworCQlzdGFydCArPSBhbGlnbm1lbnQ7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbG9uZyBnZXRfdG90YWxfbWVtKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsOworCisJdG90YWwgPSBtYXhfbG93X3BmbiAtIG1pbl9sb3dfcGZuOworI2lmZGVmIENPTkZJR19ISUdITUVNCisJdG90YWwgKz0gaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuOworI2VuZGlmCisKKwlyZXR1cm4gdG90YWwgPDwgUEFHRV9TSElGVDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxfbWVtOworCXVuc2lnbmVkIGxvbmcgbG9uZyBjcmFzaF9zaXplLCBjcmFzaF9iYXNlOworCWludCByZXQ7CisKKwl0b3RhbF9tZW0gPSBnZXRfdG90YWxfbWVtKCk7CisKKwlyZXQgPSBwYXJzZV9jcmFzaGtlcm5lbChib290X2NvbW1hbmRfbGluZSwgdG90YWxfbWVtLAorCQkJJmNyYXNoX3NpemUsICZjcmFzaF9iYXNlKTsKKwlpZiAocmV0ICE9IDAgfHwgY3Jhc2hfc2l6ZSA8PSAwKQorCQlyZXR1cm47CisKKwkvKiAwIG1lYW5zOiBmaW5kIHRoZSBhZGRyZXNzIGF1dG9tYXRpY2FsbHkgKi8KKwlpZiAoY3Jhc2hfYmFzZSA8PSAwKSB7CisJCWNyYXNoX2Jhc2UgPSBmaW5kX2FuZF9yZXNlcnZlX2NyYXNoa2VybmVsKGNyYXNoX3NpemUpOworCQlpZiAoY3Jhc2hfYmFzZSA9PSAtMVVMTCkgeworCQkJcHJfaW5mbygiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkLiAiCisJCQkJIk5vIHN1aXRhYmxlIGFyZWEgZm91bmQuXG4iKTsKKwkJCXJldHVybjsKKwkJfQorCX0gZWxzZSB7CisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKGNyYXNoX2Jhc2UsIGNyYXNoX3NpemUsCisJCQkJCUJPT1RNRU1fRVhDTFVTSVZFKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXByX2luZm8oImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKKwkJCQkibWVtb3J5IGlzIGluIHVzZVxuIik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgJWxkTUIgb2YgbWVtb3J5IGF0ICVsZE1CICIKKwkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKKwkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKKwkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9iYXNlID4+IDIwKSwKKwkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKKworCWNyYXNoa19yZXMuc3RhcnQgPSBjcmFzaF9iYXNlOworCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNyYXNoa19yZXMpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCit7Cit9CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsKKwl7IC5uYW1lID0gImRtYTEiLCAuc3RhcnQgPSAweDAwLCAuZW5kID0gMHgxZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAicGljMSIsIC5zdGFydCA9IDB4MjAsIC5lbmQgPSAweDIxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJ0aW1lcjAiLCAuc3RhcnQgPSAweDQwLCAuZW5kID0gMHg0MywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAidGltZXIxIiwgLnN0YXJ0ID0gMHg1MCwgLmVuZCA9IDB4NTMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2MCwgLmVuZCA9IDB4NjAsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2NCwgLmVuZCA9IDB4NjQsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImRtYSBwYWdlIHJlZyIsIC5zdGFydCA9IDB4ODAsIC5lbmQgPSAweDhmLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJwaWMyIiwgLnN0YXJ0ID0gMHhhMCwgLmVuZCA9IDB4YTEsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImRtYTIiLCAuc3RhcnQgPSAweGMwLCAuZW5kID0gMHhkZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAiZnB1IiwgLnN0YXJ0ID0gMHhmMCwgLmVuZCA9IDB4ZmYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfc3RhbmRhcmRfaW9fcmVzb3VyY2VzKHZvaWQpCiB7CiAJaW50IGk7CiAKLQkvKiBhbGxvY19ib290bWVtIHplcm9lcyBtZW1vcnkgKi8KLQljcHVtYXNrX29mX2NwdV9tYXAgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2YoY3B1bWFza190KSAqIG5yX2NwdV9pZHMpOwotCWZvciAoaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKyspCi0JCWNwdV9zZXQoaSwgY3B1bWFza19vZl9jcHVfbWFwW2ldKTsKKwkvKiByZXF1ZXN0IEkvTyBzcGFjZSBmb3IgZGV2aWNlcyB1c2VkIG9uIGFsbCBpWzM0NV04NiBQQ3MgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9pb19yZXNvdXJjZXMpOyBpKyspCisJCXJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnN0YW5kYXJkX2lvX3Jlc291cmNlc1tpXSk7CisKIH0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1bWFza19vZl9jcHUodm9pZCkgeyB9Ci0jZW5kaWYKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLS8qCi0gKiBHcmVhdCBmdXR1cmUgbm90LXNvLWZ1dHVyaXN0aWMgcGxhbjogbWFrZSBpMzg2IGFuZCB4ODZfNjQgZG8gaXQKLSAqIHRoZSBzYW1lIHdheQorI2lmZGVmIENPTkZJR19QUk9DX1ZNQ09SRQorLyogZWxmY29yZWhkcj0gc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBlbGYgY29yZSBoZWFkZXIKKyAqIHN0b3JlZCBieSB0aGUgY3Jhc2hlZCBrZXJuZWwuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkCisgKiBieSBrZXhlYyBsb2FkZXIgdG8gdGhlIGNhcHR1cmUga2VybmVsLgogICovCi11bnNpZ25lZCBsb25nIF9fcGVyX2NwdV9vZmZzZXRbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woX19wZXJfY3B1X29mZnNldCk7Ci0jZW5kaWYKLQotLyoKLSAqIEdyZWF0IGZ1dHVyZSBwbGFuOgotICogRGVjbGFyZSBQREEgaXRzZWxmIGFuZCBzdXBwb3J0IChpcnFzdGFjayx0c3MscGdkKSBhcyBwZXIgY3B1IGRhdGEuCi0gKiBBbHdheXMgcG9pbnQgJWdzIHRvIGl0cyBiZWdpbm5pbmcKLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfcGVyX2NwdV9hcmVhcyh2b2lkKQorc3RhdGljIGludCBfX2luaXQgc2V0dXBfZWxmY29yZWhkcihjaGFyICphcmcpCiB7Ci0JaW50IGksIGhpZ2hlc3RfY3B1ID0gMDsKLQl1bnNpZ25lZCBsb25nIHNpemU7Ci0KLSNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLQlwcmVmaWxsX3Bvc3NpYmxlX21hcCgpOworCWNoYXIgKmVuZDsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisJZWxmY29yZWhkcl9hZGRyID0gbWVtcGFyc2UoYXJnLCAmZW5kKTsKKwlyZXR1cm4gZW5kID4gYXJnID8gMCA6IC1FSU5WQUw7Cit9CitlYXJseV9wYXJhbSgiZWxmY29yZWhkciIsIHNldHVwX2VsZmNvcmVoZHIpOwogI2VuZGlmCiAKLQkvKiBDb3B5IHNlY3Rpb24gZm9yIGVhY2ggQ1BVICh3ZSBkaXNjYXJkIHRoZSBvcmlnaW5hbCkgKi8KLQlzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOwotCXByaW50ayhLRVJOX0lORk8gIlBFUkNQVTogQWxsb2NhdGluZyAlbHUgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhXG4iLAotCQkJICBzaXplKTsKKy8qCisgKiBEZXRlcm1pbmUgaWYgd2Ugd2VyZSBsb2FkZWQgYnkgYW4gRUZJIGxvYWRlci4gIElmIHNvLCB0aGVuIHdlIGhhdmUgYWxzbyBiZWVuCisgKiBwYXNzZWQgdGhlIGVmaSBtZW1tYXAsIHN5c3RhYiwgZXRjLiwgc28gd2Ugc2hvdWxkIHVzZSB0aGVzZSBkYXRhIHN0cnVjdHVyZXMKKyAqIGZvciBpbml0aWFsaXphdGlvbi4gIE5vdGUsIHRoZSBlZmkgaW5pdCBjb2RlIHBhdGggaXMgZGV0ZXJtaW5lZCBieSB0aGUKKyAqIGdsb2JhbCBlZmlfZW5hYmxlZC4gVGhpcyBhbGxvd3MgdGhlIHNhbWUga2VybmVsIGltYWdlIHRvIGJlIHVzZWQgb24gZXhpc3RpbmcKKyAqIHN5c3RlbXMgKHdpdGggYSB0cmFkaXRpb25hbCBCSU9TKSBhcyB3ZWxsIGFzIG9uIEVGSSBzeXN0ZW1zLgorICovCisvKgorICogc2V0dXBfYXJjaCAtIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBib290LXRpbWUgaW5pdGlhbGl6YXRpb25zCisgKgorICogTm90ZTogT24geDg2XzY0LCBmaXhtYXBzIGFyZSByZWFkeSBmb3IgdXNlIGV2ZW4gYmVmb3JlIHRoaXMgaXMgY2FsbGVkLgorICovCiAKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgewotCQljaGFyICpwdHI7Ci0jaWZuZGVmIENPTkZJR19ORUVEX01VTFRJUExFX05PREVTCi0JCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoc2l6ZSk7Cit2b2lkIF9faW5pdCBzZXR1cF9hcmNoKGNoYXIgKipjbWRsaW5lX3ApCit7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCW1lbWNweSgmYm9vdF9jcHVfZGF0YSwgJm5ld19jcHVfZGF0YSwgc2l6ZW9mKG5ld19jcHVfZGF0YSkpOworCXZpc3dzX2Vhcmx5X2RldGVjdCgpOworCXByZV9zZXR1cF9hcmNoX2hvb2soKTsKKwllYXJseV9jcHVfaW5pdCgpOwogI2Vsc2UKLQkJaW50IG5vZGUgPSBlYXJseV9jcHVfdG9fbm9kZShpKTsKLQkJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUpKSB7Ci0JCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOwotCQkJcHJpbnRrKEtFUk5fSU5GTwotCQkJICAgICAgICJjcHUgJWQgaGFzIG5vIG5vZGUgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsIGkpOwotCQl9Ci0JCWVsc2UKLQkJCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXNfbm9kZShOT0RFX0RBVEEobm9kZSksIHNpemUpOworCXByaW50ayhLRVJOX0lORk8gIkNvbW1hbmQgbGluZTogJXNcbiIsIGJvb3RfY29tbWFuZF9saW5lKTsKICNlbmRpZgotCQlpZiAoIXB0cikKLQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgY3B1IGRhdGEgZm9yIENQVSAlZFxuIiwgaSk7CisKKwllYXJseV9pb3JlbWFwX2luaXQoKTsKKworCVJPT1RfREVWID0gb2xkX2RlY29kZV9kZXYoYm9vdF9wYXJhbXMuaGRyLnJvb3RfZGV2KTsKKwlzY3JlZW5faW5mbyA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvOworCWVkaWRfaW5mbyA9IGJvb3RfcGFyYW1zLmVkaWRfaW5mbzsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJYXBtX2luZm8uYmlvcyA9IGJvb3RfcGFyYW1zLmFwbV9iaW9zX2luZm87CisJaXN0X2luZm8gPSBib290X3BhcmFtcy5pc3RfaW5mbzsKKwlpZiAoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUubGVuZ3RoICE9IDApIHsKKwkJc2V0X21jYV9idXMoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbM10gJiAweDIpOworCQltYWNoaW5lX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMF07CisJCW1hY2hpbmVfc3VibW9kZWxfaWQgPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsxXTsKKwkJQklPU19yZXZpc2lvbiA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzJdOworCX0KKyNlbmRpZgorCXNhdmVkX3ZpZGVvX21vZGUgPSBib290X3BhcmFtcy5oZHIudmlkX21vZGU7CisJYm9vdGxvYWRlcl90eXBlID0gYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyOworCisjaWZkZWYgQ09ORklHX0JMS19ERVZfUkFNCisJcmRfaW1hZ2Vfc3RhcnQgPSBib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX0lNQUdFX1NUQVJUX01BU0s7CisJcmRfcHJvbXB0ID0gKChib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX1BST01QVF9GTEFHKSAhPSAwKTsKKwlyZF9kb2xvYWQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfTE9BRF9GTEFHKSAhPSAwKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19FRkkKKwlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCQkgICAgICJFTDMyIiwKKyNlbHNlCisJCSAgICAgIkVMNjQiLAorI2VuZGlmCisJIDQpKSB7CisJCWVmaV9lbmFibGVkID0gMTsKKwkJZWZpX3Jlc2VydmVfZWFybHkoKTsKKwl9CisjZW5kaWYKKworCUFSQ0hfU0VUVVAKKworCXNldHVwX21lbW9yeV9tYXAoKTsKKwlwYXJzZV9zZXR1cF9kYXRhKCk7CisJLyogdXBkYXRlIHRoZSBlODIwX3NhdmVkIHRvbyAqLworCWU4MjBfcmVzZXJ2ZV9zZXR1cF9kYXRhKCk7CisKKwljb3B5X2VkZCgpOworCisJaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKKwkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7CisJaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF90ZXh0OworCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgX2V0ZXh0OworCWluaXRfbW0uZW5kX2RhdGEgPSAodW5zaWduZWQgbG9uZykgX2VkYXRhOworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpbml0X21tLmJyayA9IGluaXRfcGdfdGFibGVzX2VuZCArIFBBR0VfT0ZGU0VUOworI2Vsc2UKKwlpbml0X21tLmJyayA9ICh1bnNpZ25lZCBsb25nKSAmX2VuZDsKKyNlbmRpZgorCisJY29kZV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfdGV4dCk7CisJY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KS0xOworCWRhdGFfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KTsKKwlkYXRhX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZWRhdGEpLTE7CisJYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7CisJYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKKwogI2lmZGVmIENPTkZJR19YODZfNjQKLQkJY3B1X3BkYShpKS0+ZGF0YV9vZmZzZXQgPSBwdHIgLSBfX3Blcl9jcHVfc3RhcnQ7Ci0jZWxzZQotCQlfX3Blcl9jcHVfb2Zmc2V0W2ldID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OworCWVhcmx5X2NwdV9pbml0KCk7CiAjZW5kaWYKLQkJbWVtY3B5KHB0ciwgX19wZXJfY3B1X3N0YXJ0LCBfX3Blcl9jcHVfZW5kIC0gX19wZXJfY3B1X3N0YXJ0KTsKKwlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKKwkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwogCi0JCWhpZ2hlc3RfY3B1ID0gaTsKKwlwYXJzZV9lYXJseV9wYXJhbSgpOworCisJLyogYWZ0ZXIgZWFybHkgcGFyYW0sIHNvIGNvdWxkIGdldCBwYW5pYyBmcm9tIHNlcmlhbCAqLworCXJlc2VydmVfZWFybHlfc2V0dXBfZGF0YSgpOworCisJaWYgKGFjcGlfbXBzX2NoZWNrKCkpIHsKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwkJZGlzYWJsZV9hcGljID0gMTsKKyNlbmRpZgorCQljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9BUElDKTsKIAl9CiAKLQlucl9jcHVfaWRzID0gaGlnaGVzdF9jcHUgKyAxOwotCXByaW50ayhLRVJOX0RFQlVHICJOUl9DUFVTOiAlZCwgbnJfY3B1X2lkczogJWRcbiIsIE5SX0NQVVMsIG5yX2NwdV9pZHMpOworCWZpbmlzaF9lODIwX3BhcnNpbmcoKTsKIAotCS8qIFNldHVwIHBlcmNwdSBkYXRhIG1hcHMgKi8KLQlzZXR1cF9wZXJfY3B1X21hcHMoKTsKLQotCS8qIFNldHVwIGNwdW1hc2tfb2ZfY3B1IG1hcCAqLwotCXNldHVwX2NwdW1hc2tfb2ZfY3B1KCk7Ci19Ci0KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcHJvYmVfcm9tcygpOwogI2VuZGlmCisKKwkvKiBhZnRlciBwYXJzZV9lYXJseV9wYXJhbSwgc28gY291bGQgZGVidWcgaXQgKi8KKwlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmY29kZV9yZXNvdXJjZSk7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmRhdGFfcmVzb3VyY2UpOworCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZic3NfcmVzb3VyY2UpOworCisJaWYgKGVmaV9lbmFibGVkKQorCQllZmlfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmIChwcHJvX3dpdGhfcmFtX2J1ZygpKSB7CisJCWU4MjBfdXBkYXRlX3JhbmdlKDB4NzAwMDAwMDBVTEwsIDB4NDAwMDBVTEwsIEU4MjBfUkFNLAorCQkJCSAgRTgyMF9SRVNFUlZFRCk7CisJCXNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJmU4MjAubnJfbWFwKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZml4ZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOworCQllODIwX3ByaW50X21hcCgiYmFkX3Bwcm8iKTsKKwl9CisjZWxzZQorCWVhcmx5X2dhcnRfaW9tbXVfY2hlY2soKTsKKyNlbmRpZgorCisJLyoKKwkgKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMKKwkgKiB3ZSBhcmUgcm91bmRpbmcgdXB3YXJkczoKKwkgKi8KKwltYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtX3BmbigpOworCisJLyogcHJlYWxsb2NhdGUgNGsgZm9yIG1wdGFibGUgbXBjICovCisJZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcoKTsKKwkvKiB1cGRhdGUgZTgyMCBmb3IgbWVtb3J5IG5vdCBjb3ZlcmVkIGJ5IFdCIE1UUlJzICovCisJbXRycl9icF9pbml0KCk7CisJaWYgKG10cnJfdHJpbV91bmNhY2hlZF9tZW1vcnkobWF4X3BmbikpCisJCW1heF9wZm4gPSBlODIwX2VuZF9vZl9yYW1fcGZuKCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJLyogbWF4X2xvd19wZm4gZ2V0IHVwZGF0ZWQgaGVyZSAqLworCWZpbmRfbG93X3Bmbl9yYW5nZSgpOworI2Vsc2UKKwludW1fcGh5c3BhZ2VzID0gbWF4X3BmbjsKKworCWNoZWNrX2VmZXIoKTsKKworCS8qIEhvdyBtYW55IGVuZC1vZi1tZW1vcnkgdmFyaWFibGVzIHlvdSBoYXZlLCBncmFuZG1hISAqLworCS8qIG5lZWQgdGhpcyBiZWZvcmUgY2FsbGluZyByZXNlcnZlX2luaXRyZCAqLworCWlmIChtYXhfcGZuID4gKDFVTDw8KDMyIC0gUEFHRV9TSElGVCkpKQorCQltYXhfbG93X3BmbiA9IGU4MjBfZW5kX29mX2xvd19yYW1fcGZuKCk7CisJZWxzZQorCQltYXhfbG93X3BmbiA9IG1heF9wZm47CisKKwloaWdoX21lbW9yeSA9ICh2b2lkICopX192YShtYXhfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworI2VuZGlmCisKKwkvKiBtYXhfcGZuX21hcHBlZCBpcyB1cGRhdGVkIGhlcmUgKi8KKwltYXhfbG93X3Bmbl9tYXBwZWQgPSBpbml0X21lbW9yeV9tYXBwaW5nKDAsIG1heF9sb3dfcGZuPDxQQUdFX1NISUZUKTsKKwltYXhfcGZuX21hcHBlZCA9IG1heF9sb3dfcGZuX21hcHBlZDsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKSB7CisJCW1heF9wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygxVUw8PDMyLAorCQkJCQkJICAgICBtYXhfcGZuPDxQQUdFX1NISUZUKTsKKwkJLyogY2FuIHdlIHByZXNldmUgbWF4X2xvd19wZm4gPyovCisJCW1heF9sb3dfcGZuID0gbWF4X3BmbjsKKwl9CisjZW5kaWYKKworCS8qCisJICogTk9URTogT24geDg2LTMyLCBvbmx5IGZyb20gdGhpcyBwb2ludCBvbiwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZS4KKwkgKi8KKworI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCisJaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQorCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKKyNlbmRpZgorCisJcmVzZXJ2ZV9pbml0cmQoKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2c21wX2luaXQoKTsKKyNlbmRpZgorCisJZG1pX3NjYW5fbWFjaGluZSgpOworCisJaW9fZGVsYXlfaW5pdCgpOworCisJLyoKKwkgKiBQYXJzZSB0aGUgQUNQSSB0YWJsZXMgZm9yIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbi4KKwkgKi8KKwlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX0FDUElfTlVNQQorCS8qCisJICogUGFyc2UgU1JBVCB0byBkaXNjb3ZlciBub2Rlcy4KKwkgKi8KKwlhY3BpX251bWFfaW5pdCgpOworI2VuZGlmCisKKwlpbml0bWVtX2luaXQoMCwgbWF4X3Bmbik7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJZG1hMzJfcmVzZXJ2ZV9ib290bWVtKCk7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BQ1BJX1NMRUVQCisJLyoKKwkgKiBSZXNlcnZlIGxvdyBtZW1vcnkgcmVnaW9uIGZvciBzbGVlcCBzdXBwb3J0LgorCSAqLworCWFjcGlfcmVzZXJ2ZV9ib290bWVtKCk7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0ZJTkRfU01QX0NPTkZJRworCS8qCisJICogRmluZCBhbmQgcmVzZXJ2ZSBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJZmluZF9zbXBfY29uZmlnKCk7CisjZW5kaWYKKwlyZXNlcnZlX2NyYXNoa2VybmVsKCk7CisKKwlyZXNlcnZlX2liZnRfcmVnaW9uKCk7CisKKyNpZmRlZiBDT05GSUdfS1ZNX0NMT0NLCisJa3ZtY2xvY2tfaW5pdCgpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKENPTkZJR19WTUkpICYmIGRlZmluZWQoQ09ORklHX1g4Nl8zMikKKwkvKgorCSAqIE11c3QgYmUgYWZ0ZXIgbWF4X2xvd19wZm4gaXMgZGV0ZXJtaW5lZCwgYW5kIGJlZm9yZSBrZXJuZWwKKwkgKiBwYWdldGFibGVzIGFyZSBzZXR1cC4KKwkgKi8KKwl2bWlfaW5pdCgpOworI2VuZGlmCisKKwlwYWdpbmdfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCW1hcF92c3lzY2FsbCgpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICisJZ2VuZXJpY19hcGljX3Byb2JlKCk7CisjZW5kaWYKKworCWVhcmx5X3F1aXJrcygpOworCisJLyoKKwkgKiBSZWFkIEFQSUMgYW5kIHNvbWUgb3RoZXIgZWFybHkgaW5mb3JtYXRpb24gZnJvbSBBQ1BJIHRhYmxlcy4KKwkgKi8KKwlhY3BpX2Jvb3RfaW5pdCgpOworCisjaWYgZGVmaW5lZChDT05GSUdfWDg2X01QUEFSU0UpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9WSVNXUykKKwkvKgorCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJaWYgKHNtcF9mb3VuZF9jb25maWcpCisJCWdldF9zbXBfY29uZmlnKCk7CisjZW5kaWYKKworCXByZWZpbGxfcG9zc2libGVfbWFwKCk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWluaXRfY3B1X3RvX25vZGUoKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCS8qCisJICogbmVlZCB0byBjaGVjayBvbmxpbmUgbm9kZXMgbnVtLCBjYWxsIGl0CisJICogaGVyZSBiZWZvcmUgdGltZV9pbml0L3RzY19pbml0CisJICovCisJbnVtYXFfdHNjX2Rpc2FibGUoKTsKKyNlbmRpZgorCisJaW5pdF9hcGljX21hcHBpbmdzKCk7CisJaW9hcGljX2luaXRfbWFwcGluZ3MoKTsKKworI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1BDKSAmJiBkZWZpbmVkKENPTkZJR19YODZfMzIpCisJaWYgKGRlZl90b19iaWdzbXApCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk1vcmUgdGhhbiA4IENQVXMgZGV0ZWN0ZWQgYW5kICIKKwkJCSJDT05GSUdfWDg2X1BDIGNhbm5vdCBoYW5kbGUgaXQuXG5Vc2UgIgorCQkJIkNPTkZJR19YODZfR0VORVJJQ0FSQ0ggb3IgQ09ORklHX1g4Nl9CSUdTTVAuXG4iKTsKKyNlbmRpZgorCWt2bV9ndWVzdF9pbml0KCk7CisKKwllODIwX3Jlc2VydmVfcmVzb3VyY2VzKCk7CisJZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKG1heF9sb3dfcGZuKTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnZpZGVvX3JhbV9yZXNvdXJjZSk7CisjZW5kaWYKKwlyZXNlcnZlX3N0YW5kYXJkX2lvX3Jlc291cmNlcygpOworCisJZTgyMF9zZXR1cF9nYXAoKTsKKworI2lmZGVmIENPTkZJR19WVAorI2lmIGRlZmluZWQoQ09ORklHX1ZHQV9DT05TT0xFKQorCWlmICghZWZpX2VuYWJsZWQgfHwgKGVmaV9tZW1fdHlwZSgweGEwMDAwKSAhPSBFRklfQ09OVkVOVElPTkFMX01FTU9SWSkpCisJCWNvbnN3aXRjaHAgPSAmdmdhX2NvbjsKKyNlbGlmIGRlZmluZWQoQ09ORklHX0RVTU1ZX0NPTlNPTEUpCisJY29uc3dpdGNocCA9ICZkdW1teV9jb247CisjZW5kaWYKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1cDY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlZTBlODIuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDI4NyArMCwwIEBACi0vKiAKLSAqIFg4Ni02NCBzcGVjaWZpYyBDUFUgc2V0dXAuCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKiBDb3B5cmlnaHQgMjAwMSwgMjAwMiwgMjAwMyBTdVNFIExhYnMgLyBBbmRpIEtsZWVuLgotICogU2VlIHNldHVwLmMgZm9yIG9sZGVyIGNoYW5nZWxvZy4KLSAqLyAKLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvYml0b3BzLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgva2dkYi5oPgotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLSNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL2kzODcuaD4KLSNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KLQotI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKLXN0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOwotI2Vsc2UKLXN0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKLSNlbmRpZgotCi1jcHVtYXNrX3QgY3B1X2luaXRpYWxpemVkIF9fY3B1aW5pdGRhdGEgPSBDUFVfTUFTS19OT05FOwotCi1zdHJ1Y3QgeDg2NjRfcGRhICpfY3B1X3BkYVtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChfY3B1X3BkYSk7Ci1zdHJ1Y3QgeDg2NjRfcGRhIGJvb3RfY3B1X3BkYVtOUl9DUFVTXSBfX2NhY2hlbGluZV9hbGlnbmVkOwotCi1zdHJ1Y3QgZGVzY19wdHIgaWR0X2Rlc2NyID0geyAyNTYgKiAxNiAtIDEsICh1bnNpZ25lZCBsb25nKSBpZHRfdGFibGUgfTsKLQotY2hhciBib290X2NwdV9zdGFja1tJUlFTVEFDS1NJWkVdIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKLQotdW5zaWduZWQgbG9uZyBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfjBVTDsKLUVYUE9SVF9TWU1CT0xfR1BMKF9fc3VwcG9ydGVkX3B0ZV9tYXNrKTsKLQotc3RhdGljIGludCBkb19ub3RfbnggX19jcHVpbml0ZGF0YSA9IDA7Ci0KLS8qIG5vZXhlYz1vbnxvZmYKLUNvbnRyb2wgbm9uIGV4ZWN1dGFibGUgbWFwcGluZ3MgZm9yIDY0Yml0IHByb2Nlc3Nlcy4KLQotb24JRW5hYmxlKGRlZmF1bHQpCi1vZmYJRGlzYWJsZQotKi8gCi1zdGF0aWMgaW50IF9faW5pdCBub254X3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoIXN0cikKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKCFzdHJuY21wKHN0ciwgIm9uIiwgMikpIHsKLSAgICAgICAgICAgICAgICBfX3N1cHBvcnRlZF9wdGVfbWFzayB8PSBfUEFHRV9OWDsgCi0gCQlkb19ub3RfbnggPSAwOyAKLQl9IGVsc2UgaWYgKCFzdHJuY21wKHN0ciwgIm9mZiIsIDMpKSB7Ci0JCWRvX25vdF9ueCA9IDE7Ci0JCV9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsKLSAgICAgICAgfQotCXJldHVybiAwOwotfSAKLWVhcmx5X3BhcmFtKCJub2V4ZWMiLCBub254X3NldHVwKTsKLQotaW50IGZvcmNlX3BlcnNvbmFsaXR5MzIgPSAwOyAKLQotLyogbm9leGVjMzI9b258b2ZmCi1Db250cm9sIG5vbiBleGVjdXRhYmxlIGhlYXAgZm9yIDMyYml0IHByb2Nlc3Nlcy4KLVRvIGNvbnRyb2wgdGhlIHN0YWNrIHRvbyB1c2Ugbm9leGVjPW9mZgotCi1vbglQUk9UX1JFQUQgZG9lcyBub3QgaW1wbHkgUFJPVF9FWEVDIGZvciAzMmJpdCBwcm9jZXNzZXMgKGRlZmF1bHQpCi1vZmYJUFJPVF9SRUFEIGltcGxpZXMgUFJPVF9FWEVDCi0qLwotc3RhdGljIGludCBfX2luaXQgbm9ueDMyX3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoIXN0cmNtcChzdHIsICJvbiIpKQotCQlmb3JjZV9wZXJzb25hbGl0eTMyICY9IH5SRUFEX0lNUExJRVNfRVhFQzsKLQllbHNlIGlmICghc3RyY21wKHN0ciwgIm9mZiIpKQotCQlmb3JjZV9wZXJzb25hbGl0eTMyIHw9IFJFQURfSU1QTElFU19FWEVDOwotCXJldHVybiAxOwotfQotX19zZXR1cCgibm9leGVjMzI9Iiwgbm9ueDMyX3NldHVwKTsKLQotdm9pZCBwZGFfaW5pdChpbnQgY3B1KQoteyAKLQlzdHJ1Y3QgeDg2NjRfcGRhICpwZGEgPSBjcHVfcGRhKGNwdSk7Ci0KLQkvKiBTZXR1cCB1cCBkYXRhIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiBfX2dldF9mcmVlX3BhZ2VzIGVhcmx5ICovCi0JYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCUlZnMgOyBtb3ZsICUwLCUlZ3MiIDo6ICJyIiAoMCkpOyAKLQkvKiBNZW1vcnkgY2xvYmJlcnMgdXNlZCB0byBvcmRlciBQREEgYWNjZXNzZWQgKi8KLQltYigpOwotCXdybXNybChNU1JfR1NfQkFTRSwgcGRhKTsKLQltYigpOwotCi0JcGRhLT5jcHVudW1iZXIgPSBjcHU7IAotCXBkYS0+aXJxY291bnQgPSAtMTsKLQlwZGEtPmtlcm5lbHN0YWNrID0gCi0JCSh1bnNpZ25lZCBsb25nKXN0YWNrX3RocmVhZF9pbmZvKCkgLSBQREFfU1RBQ0tPRkZTRVQgKyBUSFJFQURfU0laRTsgCi0JcGRhLT5hY3RpdmVfbW0gPSAmaW5pdF9tbTsKLQlwZGEtPm1tdV9zdGF0ZSA9IDA7Ci0KLQlpZiAoY3B1ID09IDApIHsKLQkJLyogb3RoZXJzIGFyZSBpbml0aWFsaXplZCBpbiBzbXBib290LmMgKi8KLQkJcGRhLT5wY3VycmVudCA9ICZpbml0X3Rhc2s7Ci0JCXBkYS0+aXJxc3RhY2twdHIgPSBib290X2NwdV9zdGFjazsgCi0JfSBlbHNlIHsKLQkJcGRhLT5pcnFzdGFja3B0ciA9IChjaGFyICopCi0JCQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMsIElSUVNUQUNLX09SREVSKTsKLQkJaWYgKCFwZGEtPmlycXN0YWNrcHRyKQotCQkJcGFuaWMoImNhbm5vdCBhbGxvY2F0ZSBpcnFzdGFjayBmb3IgY3B1ICVkIiwgY3B1KTsgCi0JfQotCi0KLQlwZGEtPmlycXN0YWNrcHRyICs9IElSUVNUQUNLU0laRS02NDsKLX0gCi0KLWNoYXIgYm9vdF9leGNlcHRpb25fc3RhY2tzWyhOX0VYQ0VQVElPTl9TVEFDS1MgLSAxKSAqIEVYQ0VQVElPTl9TVEtTWiArIERFQlVHX1NUS1NaXQotX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOwotCi1leHRlcm4gYXNtbGlua2FnZSB2b2lkIGlnbm9yZV9zeXNyZXQodm9pZCk7Ci0KLS8qIE1heSBub3QgYmUgbWFya2VkIF9faW5pdDogdXNlZCBieSBzb2Z0d2FyZSBzdXNwZW5kICovCi12b2lkIHN5c2NhbGxfaW5pdCh2b2lkKQotewotCS8qIAotCSAqIExTVEFSIGFuZCBTVEFSIGxpdmUgaW4gYSBiaXQgc3RyYW5nZSBzeW1iaW9zaXMuCi0JICogVGhleSBib3RoIHdyaXRlIHRvIHRoZSBzYW1lIGludGVybmFsIHJlZ2lzdGVyLiBTVEFSIGFsbG93cyB0byBzZXQgQ1MvRFMKLQkgKiBidXQgb25seSBhIDMyYml0IHRhcmdldC4gTFNUQVIgc2V0cyB0aGUgNjRiaXQgcmlwLiAJIAotCSAqLyAKLQl3cm1zcmwoTVNSX1NUQVIsICAoKHU2NClfX1VTRVIzMl9DUyk8PDQ4ICB8ICgodTY0KV9fS0VSTkVMX0NTKTw8MzIpOyAKLQl3cm1zcmwoTVNSX0xTVEFSLCBzeXN0ZW1fY2FsbCk7IAotCXdybXNybChNU1JfQ1NUQVIsIGlnbm9yZV9zeXNyZXQpOwotCi0jaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OICAgCQkKLQlzeXNjYWxsMzJfY3B1X2luaXQgKCk7Ci0jZW5kaWYKLQotCS8qIEZsYWdzIHRvIGNsZWFyIG9uIHN5c2NhbGwgKi8KLQl3cm1zcmwoTVNSX1NZU0NBTExfTUFTSywKLQkgICAgICAgWDg2X0VGTEFHU19URnxYODZfRUZMQUdTX0RGfFg4Nl9FRkxBR1NfSUZ8WDg2X0VGTEFHU19JT1BMKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgY2hlY2tfZWZlcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZWZlcjsKLQotCXJkbXNybChNU1JfRUZFUiwgZWZlcik7IAotICAgICAgICBpZiAoIShlZmVyICYgRUZFUl9OWCkgfHwgZG9fbm90X254KSB7IAotICAgICAgICAgICAgICAgIF9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsgCi0gICAgICAgIH0gICAgICAgCi19Ci0KLXVuc2lnbmVkIGxvbmcga2VybmVsX2VmbGFnczsKLQotLyoKLSAqIENvcGllcyBvZiB0aGUgb3JpZ2luYWwgaXN0IHZhbHVlcyBmcm9tIHRoZSB0c3MgYXJlIG9ubHkgYWNjZXNzZWQgZHVyaW5nCi0gKiBkZWJ1Z2dpbmcsIG5vIHNwZWNpYWwgYWxpZ25tZW50IHJlcXVpcmVkLgotICovCi1ERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgb3JpZ19pc3QsIG9yaWdfaXN0KTsKLQotLyoKLSAqIGNwdV9pbml0KCkgaW5pdGlhbGl6ZXMgc3RhdGUgdGhhdCBpcyBwZXItQ1BVLiBTb21lIGRhdGEgaXMgYWxyZWFkeQotICogaW5pdGlhbGl6ZWQgKG5hdHVyYWxseSkgaW4gdGhlIGJvb3RzdHJhcCBwcm9jZXNzLCBzdWNoIGFzIHRoZSBHRFQKLSAqIGFuZCBJRFQuIFdlIHJlbG9hZCB0aGVtIG5ldmVydGhlbGVzcywgdGhpcyBmdW5jdGlvbiBhY3RzIGFzIGEKLSAqICdDUFUgc3RhdGUgYmFycmllcicsIG5vdGhpbmcgc2hvdWxkIGdldCBhY3Jvc3MuCi0gKiBBIGxvdCBvZiBzdGF0ZSBpcyBhbHJlYWR5IHNldCB1cCBpbiBQREEgaW5pdC4KLSAqLwotdm9pZCBfX2NwdWluaXQgY3B1X2luaXQgKHZvaWQpCi17Ci0JaW50IGNwdSA9IHN0YWNrX3NtcF9wcm9jZXNzb3JfaWQoKTsKLQlzdHJ1Y3QgdHNzX3N0cnVjdCAqdCA9ICZwZXJfY3B1KGluaXRfdHNzLCBjcHUpOwotCXN0cnVjdCBvcmlnX2lzdCAqb3JpZ19pc3QgPSAmcGVyX2NwdShvcmlnX2lzdCwgY3B1KTsKLQl1bnNpZ25lZCBsb25nIHY7IAotCWNoYXIgKmVzdGFja3MgPSBOVUxMOyAKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm1lOwotCWludCBpOwotCi0JLyogQ1BVIDAgaXMgaW5pdGlhbGlzZWQgaW4gaGVhZDY0LmMgKi8KLQlpZiAoY3B1ICE9IDApIHsKLQkJcGRhX2luaXQoY3B1KTsKLQl9IGVsc2UgCi0JCWVzdGFja3MgPSBib290X2V4Y2VwdGlvbl9zdGFja3M7IAotCi0JbWUgPSBjdXJyZW50OwotCi0JaWYgKGNwdV90ZXN0X2FuZF9zZXQoY3B1LCBjcHVfaW5pdGlhbGl6ZWQpKQotCQlwYW5pYygiQ1BVIyVkIGFscmVhZHkgaW5pdGlhbGl6ZWQhXG4iLCBjcHUpOwotCi0JcHJpbnRrKCJJbml0aWFsaXppbmcgQ1BVIyVkXG4iLCBjcHUpOwotCi0JY2xlYXJfaW5fY3I0KFg4Nl9DUjRfVk1FfFg4Nl9DUjRfUFZJfFg4Nl9DUjRfVFNEfFg4Nl9DUjRfREUpOwotCi0JLyoKLQkgKiBJbml0aWFsaXplIHRoZSBwZXItQ1BVIEdEVCB3aXRoIHRoZSBib290IEdEVCwKLQkgKiBhbmQgc2V0IHVwIHRoZSBHRFQgZGVzY3JpcHRvcjoKLQkgKi8KLQlpZiAoY3B1KQotCQltZW1jcHkoZ2V0X2NwdV9nZHRfdGFibGUoY3B1KSwgY3B1X2dkdF90YWJsZSwgR0RUX1NJWkUpOwotCi0JY3B1X2dkdF9kZXNjcltjcHVdLnNpemUgPSBHRFRfU0laRTsKLQlsb2FkX2dkdCgoY29uc3Qgc3RydWN0IGRlc2NfcHRyICopJmNwdV9nZHRfZGVzY3JbY3B1XSk7Ci0JbG9hZF9pZHQoKGNvbnN0IHN0cnVjdCBkZXNjX3B0ciAqKSZpZHRfZGVzY3IpOwotCi0JbWVtc2V0KG1lLT50aHJlYWQudGxzX2FycmF5LCAwLCBHRFRfRU5UUllfVExTX0VOVFJJRVMgKiA4KTsKLQlzeXNjYWxsX2luaXQoKTsKLQotCXdybXNybChNU1JfRlNfQkFTRSwgMCk7Ci0Jd3Jtc3JsKE1TUl9LRVJORUxfR1NfQkFTRSwgMCk7Ci0JYmFycmllcigpOyAKLQotCWNoZWNrX2VmZXIoKTsKLQotCS8qCi0JICogc2V0IHVwIGFuZCBsb2FkIHRoZSBwZXItQ1BVIFRTUwotCSAqLwotCWZvciAodiA9IDA7IHYgPCBOX0VYQ0VQVElPTl9TVEFDS1M7IHYrKykgewotCQlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG9yZGVyW05fRVhDRVBUSU9OX1NUQUNLU10gPSB7Ci0JCQlbMCAuLi4gTl9FWENFUFRJT05fU1RBQ0tTIC0gMV0gPSBFWENFUFRJT05fU1RBQ0tfT1JERVIsCi0JCQlbREVCVUdfU1RBQ0sgLSAxXSA9IERFQlVHX1NUQUNLX09SREVSCi0JCX07Ci0JCWlmIChjcHUpIHsKLQkJCWVzdGFja3MgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0FUT01JQywgb3JkZXJbdl0pOwotCQkJaWYgKCFlc3RhY2tzKQotCQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgZXhjZXB0aW9uIHN0YWNrICVsZCAlZFxuIiwKLQkJCQkgICAgICB2LCBjcHUpOyAKLQkJfQotCQllc3RhY2tzICs9IFBBR0VfU0laRSA8PCBvcmRlclt2XTsKLQkJb3JpZ19pc3QtPmlzdFt2XSA9IHQtPng4Nl90c3MuaXN0W3ZdID0gKHVuc2lnbmVkIGxvbmcpZXN0YWNrczsKLQl9Ci0KLQl0LT54ODZfdHNzLmlvX2JpdG1hcF9iYXNlID0gb2Zmc2V0b2Yoc3RydWN0IHRzc19zdHJ1Y3QsIGlvX2JpdG1hcCk7Ci0JLyoKLQkgKiA8PSBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBDUFUgd2lsbCBhY2Nlc3MgdXAgdG8KLQkgKiA4IGJpdHMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIElPIHBlcm1pc3Npb24gYml0bWFwLgotCSAqLwotCWZvciAoaSA9IDA7IGkgPD0gSU9fQklUTUFQX0xPTkdTOyBpKyspCi0JCXQtPmlvX2JpdG1hcFtpXSA9IH4wVUw7Ci0KLQlhdG9taWNfaW5jKCZpbml0X21tLm1tX2NvdW50KTsKLQltZS0+YWN0aXZlX21tID0gJmluaXRfbW07Ci0JaWYgKG1lLT5tbSkKLQkJQlVHKCk7Ci0JZW50ZXJfbGF6eV90bGIoJmluaXRfbW0sIG1lKTsKLQotCXNldF90c3NfZGVzYyhjcHUsIHQpOwotCWxvYWRfVFJfZGVzYygpOwotCWxvYWRfTERUKCZpbml0X21tLmNvbnRleHQpOwotCi0jaWZkZWYgQ09ORklHX0tHREIKLQkvKgotCSAqIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAgVGhpcwotCSAqIGlzIG9ubHkgYXBwbGljYWJsZSB3aGVuIEtHREIgYW5kIGEgS0dEQiBJL08gbW9kdWxlIGFyZSBidWlsdAotCSAqIGludG8gdGhlIGtlcm5lbCBhbmQgeW91IGFyZSB1c2luZyBlYXJseSBkZWJ1Z2dpbmcgd2l0aAotCSAqIGtnZGJ3YWl0LiBLR0RCIHdpbGwgY29udHJvbCB0aGUga2VybmVsIEhXIGJyZWFrcG9pbnQgcmVnaXN0ZXJzLgotCSAqLwotCWlmIChrZ2RiX2Nvbm5lY3RlZCAmJiBhcmNoX2tnZGJfb3BzLmNvcnJlY3RfaHdfYnJlYWspCi0JCWFyY2hfa2dkYl9vcHMuY29ycmVjdF9od19icmVhaygpOwotCWVsc2UgewotI2VuZGlmCi0JLyoKLQkgKiBDbGVhciBhbGwgNiBkZWJ1ZyByZWdpc3RlcnM6Ci0JICovCi0KLQlzZXRfZGVidWdyZWcoMFVMLCAwKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAxKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAyKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAzKTsKLQlzZXRfZGVidWdyZWcoMFVMLCA2KTsKLQlzZXRfZGVidWdyZWcoMFVMLCA3KTsKLSNpZmRlZiBDT05GSUdfS0dEQgotCS8qIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAqLwotCX0KLSNlbmRpZgotCi0JZnB1X2luaXQoKTsgCi0KLQlyYXdfbG9jYWxfc2F2ZV9mbGFncyhrZXJuZWxfZWZsYWdzKTsKLQotCWlmIChpc191dl9zeXN0ZW0oKSkKLQkJdXZfY3B1X2luaXQoKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cF8zMi5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMmY4ZTAuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw5NjQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKgotICogIFN1cHBvcnQgb2YgQklHTUVNIGFkZGVkIGJ5IEdlcmhhcmQgV2ljaGVydCwgU2llbWVucyBBRywgSnVseSAxOTk5Ci0gKgotICogIE1lbW9yeSByZWdpb24gc3VwcG9ydAotICoJRGF2aWQgUGFyc29ucyA8b3JjQHBlbGwuY2hpLmlsLnVzPiwgSnVseS1BdWd1c3QgMTk5OQotICoKLSAqICBBZGRlZCBFODIwIHNhbml0aXphdGlvbiByb3V0aW5lIChyZW1vdmVzIG92ZXJsYXBwaW5nIG1lbW9yeSByZWdpb25zKTsKLSAqICBCcmlhbiBNb3lsZSA8Ym1veWxlQG12aXN0YS5jb20+LCBGZWJydWFyeSAyMDAxCi0gKgotICogTW92ZWQgQ1BVIGRldGVjdGlvbiBjb2RlIHRvIGNwdS8ke2NwdX0uYwotICogICAgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4sIE1hcmNoIDIwMDIKLSAqCi0gKiAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgotICogIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgotICoKLSAqLwotCi0vKgotICogVGhpcyBmaWxlIGhhbmRsZXMgdGhlIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgcGFydHMgb2YgaW5pdGlhbGl6YXRpb24KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+Ci0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0jaW5jbHVkZSA8bGludXgvYWNwaS5oPgotI2luY2x1ZGUgPGxpbnV4L2FwbV9iaW9zLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgotI2luY2x1ZGUgPGxpbnV4L21jYS5oPgotI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+Ci0jaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9lZGQuaD4KLSNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9wZm4uaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0X29oY2kxMzk0X2RtYS5oPgotI2luY2x1ZGUgPGxpbnV4L2t2bV9wYXJhLmg+Ci0KLSNpbmNsdWRlIDx2aWRlby9lZGlkLmg+Ci0KLSNpbmNsdWRlIDxhc20vbXRyci5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+Ci0jaW5jbHVkZSA8YXNtL21tem9uZS5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KLSNpbmNsdWRlIDxhc20vaXN0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3ZtaS5oPgotI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KLSNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+Ci0jaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0KLS8qIFRoaXMgdmFsdWUgaXMgc2V0IHVwIGJ5IHRoZSBlYXJseSBib290IGNvZGUgdG8gcG9pbnQgdG8gdGhlIHZhbHVlCi0gICBpbW1lZGlhdGVseSBhZnRlciB0aGUgYm9vdCB0aW1lIHBhZ2UgdGFibGVzLiAgSXQgY29udGFpbnMgYSAqcGh5c2ljYWwqCi0gICBhZGRyZXNzLCBhbmQgbXVzdCBub3QgYmUgaW4gdGhlIC5ic3Mgc2VnbWVudCEgKi8KLXVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfZW5kIF9faW5pdGRhdGEgPSB+MFVMOwotCi0vKgotICogTWFjaGluZSBzZXR1cC4uCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgZGF0YSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBjb2RlX3Jlc291cmNlID0gewotCS5uYW1lCT0gIktlcm5lbCBjb2RlIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIGJzc19yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgYnNzIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JhbV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJWaWRlbyBSQU0gYXJlYSIsCi0JLnN0YXJ0CT0gMHhhMDAwMCwKLQkuZW5kCT0gMHhiZmZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsgewotCS5uYW1lCT0gImRtYTEiLAotCS5zdGFydAk9IDB4MDAwMCwKLQkuZW5kCT0gMHgwMDFmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJwaWMxIiwKLQkuc3RhcnQJPSAweDAwMjAsCi0JLmVuZAk9IDB4MDAyMSwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUgICA9ICJ0aW1lcjAiLAotCS5zdGFydAk9IDB4MDA0MCwKLQkuZW5kICAgID0gMHgwMDQzLAotCS5mbGFncyAgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUgICA9ICJ0aW1lcjEiLAotCS5zdGFydCAgPSAweDAwNTAsCi0JLmVuZCAgICA9IDB4MDA1MywKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAia2V5Ym9hcmQiLAotCS5zdGFydAk9IDB4MDA2MCwKLQkuZW5kCT0gMHgwMDYwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJrZXlib2FyZCIsCi0JLnN0YXJ0CT0gMHgwMDY0LAotCS5lbmQJPSAweDAwNjQsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gImRtYSBwYWdlIHJlZyIsCi0JLnN0YXJ0CT0gMHgwMDgwLAotCS5lbmQJPSAweDAwOGYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gInBpYzIiLAotCS5zdGFydAk9IDB4MDBhMCwKLQkuZW5kCT0gMHgwMGExLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJkbWEyIiwKLQkuc3RhcnQJPSAweDAwYzAsCi0JLmVuZAk9IDB4MDBkZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAiZnB1IiwKLQkuc3RhcnQJPSAweDAwZjAsCi0JLmVuZAk9IDB4MDBmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19IH07Ci0KLS8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGluIGhlYWQuUyAqLwotc3RydWN0IGNwdWluZm9feDg2IG5ld19jcHVfZGF0YSBfX2NwdWluaXRkYXRhID0geyAwLCAwLCAwLCAwLCAtMSwgMSwgMCwgMCwgLTEgfTsKLS8qIGNvbW1vbiBjcHUgZGF0YSBmb3IgYWxsIGNwdXMgKi8KLXN0cnVjdCBjcHVpbmZvX3g4NiBib290X2NwdV9kYXRhIF9fcmVhZF9tb3N0bHkgPSB7IDAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMSB9OwotRVhQT1JUX1NZTUJPTChib290X2NwdV9kYXRhKTsKLQotdW5zaWduZWQgaW50IGRlZl90b19iaWdzbXA7Ci0KLSNpZm5kZWYgQ09ORklHX1g4Nl9QQUUKLXVuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKLSNlbHNlCi11bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXMgPSBYODZfQ1I0X1BBRTsKLSNlbmRpZgotCi0vKiBmb3IgTUNBLCBidXQgYW55b25lIGVsc2UgY2FuIHVzZSBpdCBpZiB0aGV5IHdhbnQgKi8KLXVuc2lnbmVkIGludCBtYWNoaW5lX2lkOwotdW5zaWduZWQgaW50IG1hY2hpbmVfc3VibW9kZWxfaWQ7Ci11bnNpZ25lZCBpbnQgQklPU19yZXZpc2lvbjsKLQotLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KLWludCBib290bG9hZGVyX3R5cGU7Ci0KLS8qIHVzZXItZGVmaW5lZCBoaWdobWVtIHNpemUgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgaGlnaG1lbV9wYWdlcyA9IC0xOwotCi0vKgotICogU2V0dXAgb3B0aW9ucwotICovCi1zdHJ1Y3Qgc2NyZWVuX2luZm8gc2NyZWVuX2luZm87Ci1FWFBPUlRfU1lNQk9MKHNjcmVlbl9pbmZvKTsKLXN0cnVjdCBhcG1faW5mbyBhcG1faW5mbzsKLUVYUE9SVF9TWU1CT0woYXBtX2luZm8pOwotc3RydWN0IGVkaWRfaW5mbyBlZGlkX2luZm87Ci1FWFBPUlRfU1lNQk9MX0dQTChlZGlkX2luZm8pOwotc3RydWN0IGlzdF9pbmZvIGlzdF9pbmZvOwotI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JKSB8fCBcCi0JZGVmaW5lZChDT05GSUdfWDg2X1NQRUVEU1RFUF9TTUlfTU9EVUxFKQotRVhQT1JUX1NZTUJPTChpc3RfaW5mbyk7Ci0jZW5kaWYKLQotZXh0ZXJuIHZvaWQgZWFybHlfY3B1X2luaXQodm9pZCk7Ci1leHRlcm4gaW50IHJvb3RfbW91bnRmbGFnczsKLQotdW5zaWduZWQgbG9uZyBzYXZlZF92aWRlb19tb2RlOwotCi0jZGVmaW5lIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSwkweDA3RkYKLSNkZWZpbmUgUkFNRElTS19QUk9NUFRfRkxBRwkJMHg4MDAwCi0jZGVmaW5lIFJBTURJU0tfTE9BRF9GTEFHCQkweDQwMDAKLQotc3RhdGljIGNoYXIgX19pbml0ZGF0YSBjb21tYW5kX2xpbmVbQ09NTUFORF9MSU5FX1NJWkVdOwotCi0jaWZuZGVmIENPTkZJR19ERUJVR19CT09UX1BBUkFNUwotc3RydWN0IGJvb3RfcGFyYW1zIF9faW5pdGRhdGEgYm9vdF9wYXJhbXM7Ci0jZWxzZQotc3RydWN0IGJvb3RfcGFyYW1zIGJvb3RfcGFyYW1zOwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCi1zdHJ1Y3QgZWRkIGVkZDsKLSNpZmRlZiBDT05GSUdfRUREX01PRFVMRQotRVhQT1JUX1NZTUJPTChlZGQpOwotI2VuZGlmCi0vKioKLSAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgotICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKLXsKLSAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCi0JICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOwotICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKLSAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKLSAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotaW50IF9faW5pdGRhdGEgdXNlcl9kZWZpbmVkX21lbW1hcDsKLQotLyoKLSAqICJtZW09bm9wZW50aXVtIiBkaXNhYmxlcyB0aGUgNE1CIHBhZ2UgdGFibGVzLgotICogIm1lbT1YWFhba0ttTV0iIGRlZmluZXMgYSBtZW1vcnkgcmVnaW9uIGZyb20gSElHSF9NRU0KLSAqIHRvIDxtZW0+LCBvdmVycmlkaW5nIHRoZSBiaW9zIHNpemUuCi0gKiAibWVtbWFwPVhYWFtLa21NXUBYWFhbS2ttTV0iIGRlZmluZXMgYSBtZW1vcnkgcmVnaW9uIGZyb20KLSAqIDxzdGFydD4gdG8gPHN0YXJ0Pis8bWVtPiwgb3ZlcnJpZGluZyB0aGUgYmlvcyBzaXplLgotICoKLSAqIEhQQSB0ZWxscyBtZSBib290bG9hZGVycyBuZWVkIHRvIHBhcnNlIG1lbT0sIHNvIG5vIG5ldwotICogb3B0aW9uIHNob3VsZCBiZSBtZW09ICBbYWxzbyBzZWUgRG9jdW1lbnRhdGlvbi9pMzg2L2Jvb3QudHh0XQotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW0oY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmIChzdHJjbXAoYXJnLCAibm9wZW50aXVtIikgPT0gMCkgewotCQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1BTRSk7Ci0JfSBlbHNlIHsKLQkJLyogSWYgdGhlIHVzZXIgc3BlY2lmaWVzIG1lbW9yeSBzaXplLCB3ZQotCQkgKiBsaW1pdCB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIHRvCi0JCSAqIHRoYXQgc2l6ZS4gZXhhY3RtYXAgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQotCQkgKiB0aGUgZXhhY3QgbWFwLiBtZW09bnVtYmVyIGNhbiBiZSB1c2VkIHRvCi0JCSAqIHRyaW0gdGhlIGV4aXN0aW5nIG1lbW9yeSBtYXAuCi0JCSAqLwotCQl1bnNpZ25lZCBsb25nIGxvbmcgbWVtX3NpemU7Ci0KLQkJbWVtX3NpemUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCQlsaW1pdF9yZWdpb25zKG1lbV9zaXplKTsKLQkJdXNlcl9kZWZpbmVkX21lbW1hcCA9IDE7Ci0JfQotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oIm1lbSIsIHBhcnNlX21lbSk7Ci0KLSNpZmRlZiBDT05GSUdfUFJPQ19WTUNPUkUKLS8qIGVsZmNvcmVoZHI9IHNwZWNpZmllcyB0aGUgbG9jYXRpb24gb2YgZWxmIGNvcmUgaGVhZGVyCi0gKiBzdG9yZWQgYnkgdGhlIGNyYXNoZWQga2VybmVsLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9lbGZjb3JlaGRyKGNoYXIgKmFyZykKLXsKLQlpZiAoIWFyZykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQllbGZjb3JlaGRyX2FkZHIgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBwYXJzZV9lbGZjb3JlaGRyKTsKLSNlbmRpZiAvKiBDT05GSUdfUFJPQ19WTUNPUkUgKi8KLQotLyoKLSAqIGhpZ2htZW09c2l6ZSBmb3JjZXMgaGlnaG1lbSB0byBiZSBleGFjdGx5ICdzaXplJyBieXRlcy4KLSAqIFRoaXMgd29ya3MgZXZlbiBvbiBib3hlcyB0aGF0IGhhdmUgbm8gaGlnaG1lbSBvdGhlcndpc2UuCi0gKiBUaGlzIGFsc28gd29ya3MgdG8gcmVkdWNlIGhpZ2htZW0gc2l6ZSBvbiBiaWdnZXIgYm94ZXMuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2hpZ2htZW0oY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWhpZ2htZW1fcGFnZXMgPSBtZW1wYXJzZShhcmcsICZhcmcpID4+IFBBR0VfU0hJRlQ7Ci0JcmV0dXJuIDA7Ci19Ci1lYXJseV9wYXJhbSgiaGlnaG1lbSIsIHBhcnNlX2hpZ2htZW0pOwotCi0vKgotICogdm1hbGxvYz1zaXplIGZvcmNlcyB0aGUgdm1hbGxvYyBhcmVhIHRvIGJlIGV4YWN0bHkgJ3NpemUnCi0gKiBieXRlcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBpbmNyZWFzZSAob3IgZGVjcmVhc2UpIHRoZQotICogdm1hbGxvYyBhcmVhIC0gdGhlIGRlZmF1bHQgaXMgMTI4bS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2Vfdm1hbGxvYyhjaGFyICphcmcpCi17Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JX19WTUFMTE9DX1JFU0VSVkUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oInZtYWxsb2MiLCBwYXJzZV92bWFsbG9jKTsKLQotLyoKLSAqIHJlc2VydmV0b3A9c2l6ZSByZXNlcnZlcyBhIGhvbGUgYXQgdGhlIHRvcCBvZiB0aGUga2VybmVsIGFkZHJlc3Mgc3BhY2Ugd2hpY2gKLSAqIGEgaHlwZXJ2aXNvciBjYW4gbG9hZCBpbnRvIGxhdGVyLiAgTmVlZGVkIGZvciBkeW5hbWljYWxseSBsb2FkZWQgaHlwZXJ2aXNvcnMsCi0gKiBzbyByZWxvY2F0aW5nIHRoZSBmaXhtYXAgY2FuIGJlIGRvbmUgYmVmb3JlIHBhZ2luZyBpbml0aWFsaXphdGlvbi4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2VfcmVzZXJ2ZXRvcChjaGFyICphcmcpCi17Ci0JdW5zaWduZWQgbG9uZyBhZGRyZXNzOwotCi0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JYWRkcmVzcyA9IG1lbXBhcnNlKGFyZywgJmFyZyk7Ci0JcmVzZXJ2ZV90b3BfYWRkcmVzcyhhZGRyZXNzKTsKLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJyZXNlcnZldG9wIiwgcGFyc2VfcmVzZXJ2ZXRvcCk7Ci0KLS8qCi0gKiBEZXRlcm1pbmUgbG93IGFuZCBoaWdoIG1lbW9yeSByYW5nZXM6Ci0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfbWF4X2xvd19wZm4odm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuOwotCi0JbWF4X2xvd19wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfbG93X3BmbiA+IE1BWE1FTV9QRk4pIHsKLQkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCi0JCQloaWdobWVtX3BhZ2VzID0gbWF4X3BmbiAtIE1BWE1FTV9QRk47Ci0JCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA8IG1heF9wZm4pCi0JCQltYXhfcGZuID0gTUFYTUVNX1BGTiArIGhpZ2htZW1fcGFnZXM7Ci0JCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA+IG1heF9wZm4pIHsKLQkJCXByaW50aygib25seSAlbHVNQiBoaWdobWVtIHBhZ2VzIGF2YWlsYWJsZSwgaWdub3JpbmcgaGlnaG1lbSBzaXplIG9mICV1TUIuXG4iLCBwYWdlc190b19tYihtYXhfcGZuIC0gTUFYTUVNX1BGTiksIHBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpKTsKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQl9Ci0JCW1heF9sb3dfcGZuID0gTUFYTUVNX1BGTjsKLSNpZm5kZWYgQ09ORklHX0hJR0hNRU0KLQkJLyogTWF4aW11bSBtZW1vcnkgdXNhYmxlIGlzIHdoYXQgaXMgZGlyZWN0bHkgYWRkcmVzc2FibGUgKi8KLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV2FybmluZyBvbmx5ICVsZE1CIHdpbGwgYmUgdXNlZC5cbiIsCi0JCQkJCU1BWE1FTT4+MjApOwotCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKQotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTTY0RyBlbmFibGVkIGtlcm5lbC5cbiIpOwotCQllbHNlCi0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNIGVuYWJsZWQga2VybmVsLlxuIik7Ci0JCW1heF9wZm4gPSBNQVhNRU1fUEZOOwotI2Vsc2UgLyogIUNPTkZJR19ISUdITUVNICovCi0jaWZuZGVmIENPTkZJR19ISUdITUVNNjRHCi0JCWlmIChtYXhfcGZuID4gTUFYX05PTlBBRV9QRk4pIHsKLQkJCW1heF9wZm4gPSBNQVhfTk9OUEFFX1BGTjsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSA0R0Igd2lsbCBiZSB1c2VkLlxuIik7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNNjRHIGVuYWJsZWQga2VybmVsLlxuIik7Ci0JCX0KLSNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU02NEcgKi8KLSNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU0gKi8KLQl9IGVsc2UgewotCQlpZiAoaGlnaG1lbV9wYWdlcyA9PSAtMSkKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JCWlmIChoaWdobWVtX3BhZ2VzID49IG1heF9wZm4pIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplIHNwZWNpZmllZCAoJXVNQikgaXMgYmlnZ2VyIHRoYW4gcGFnZXMgYXZhaWxhYmxlICglbHVNQikhLlxuIiwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcyksIHBhZ2VzX3RvX21iKG1heF9wZm4pKTsKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQl9Ci0JCWlmIChoaWdobWVtX3BhZ2VzKSB7Ci0JCQlpZiAobWF4X2xvd19wZm4taGlnaG1lbV9wYWdlcyA8IDY0KjEwMjQqMTAyNC9QQUdFX1NJWkUpewotCQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplICV1TUIgcmVzdWx0cyBpbiBzbWFsbGVyIHRoYW4gNjRNQiBsb3dtZW0sIGlnbm9yaW5nIGl0LlxuIiwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcykpOwotCQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQkJfQotCQkJbWF4X2xvd19wZm4gLT0gaGlnaG1lbV9wYWdlczsKLQkJfQotI2Vsc2UKLQkJaWYgKGhpZ2htZW1fcGFnZXMpCi0JCQlwcmludGsoS0VSTl9FUlIgImlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvbiBub24taGlnaG1lbSBrZXJuZWwhXG4iKTsKLSNlbmRpZgotCX0KLQlyZXR1cm4gbWF4X2xvd19wZm47Ci19Ci0KLSNkZWZpbmUgQklPU19MT1dNRU1fS0lMT0JZVEVTIDB4NDEzCi0KLS8qCi0gKiBUaGUgQklPUyBwbGFjZXMgdGhlIEVCREEvWEJEQSBhdCB0aGUgdG9wIG9mIGNvbnZlbnRpb25hbAotICogbWVtb3J5LCBhbmQgdXN1YWxseSBkZWNyZWFzZXMgdGhlIHJlcG9ydGVkIGFtb3VudCBvZgotICogY29udmVudGlvbmFsIG1lbW9yeSAoaW50IDB4MTIpIHRvby4gVGhpcyBhbHNvIGNvbnRhaW5zIGEKLSAqIHdvcmthcm91bmQgZm9yIERlbGwgc3lzdGVtcyB0aGF0IG5lZ2xlY3QgdG8gcmVzZXJ2ZSBFQkRBLgotICogVGhlIHNhbWUgd29ya2Fyb3VuZCBhbHNvIGF2b2lkcyBhIHByb2JsZW0gd2l0aCB0aGUgQU1ENzY4TVBYCi0gKiBjaGlwc2V0OiByZXNlcnZlIGEgcGFnZSBiZWZvcmUgVkdBIHRvIHByZXZlbnQgUENJIHByZWZldGNoCi0gKiBpbnRvIGl0IChlcnJhdGEgIzU2KS4gVXN1YWxseSB0aGUgcGFnZSBpcyByZXNlcnZlZCBhbnl3YXlzLAotICogdW5sZXNzIHlvdSBoYXZlIG5vIFBTLzIgbW91c2UgcGx1Z2dlZCBpbi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbG93bWVtLCBlYmRhX2FkZHI7Ci0KLQkvKiBUbyBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBFQkRBIGFuZCB0aGUgKi8KLQkvKiBlbmQgb2YgY29udmVudGlvbmFsIG1lbW9yeSwgd2UgbmVlZCB0byBsb29rIGF0ICovCi0JLyogdGhlIEJJT1MgZGF0YSBhcmVhLiBJbiBhIHBhcmF2aXJ0dWFsIGVudmlyb25tZW50ICovCi0JLyogdGhhdCBhcmVhIGlzIGFic2VudC4gV2UnbGwganVzdCBoYXZlIHRvIGFzc3VtZSAqLwotCS8qIHRoYXQgdGhlIHBhcmF2aXJ0IGNhc2UgY2FuIGhhbmRsZSBtZW1vcnkgc2V0dXAgKi8KLQkvKiBjb3JyZWN0bHksIHdpdGhvdXQgb3VyIGhlbHAuICovCi0JaWYgKHBhcmF2aXJ0X2VuYWJsZWQoKSkKLQkJcmV0dXJuOwotCi0JLyogZW5kIG9mIGxvdyAoY29udmVudGlvbmFsKSBtZW1vcnkgKi8KLQlsb3dtZW0gPSAqKHVuc2lnbmVkIHNob3J0ICopX192YShCSU9TX0xPV01FTV9LSUxPQllURVMpOwotCWxvd21lbSA8PD0gMTA7Ci0KLQkvKiBzdGFydCBvZiBFQkRBIGFyZWEgKi8KLQllYmRhX2FkZHIgPSBnZXRfYmlvc19lYmRhKCk7Ci0KLQkvKiBGaXh1cDogYmlvcyBwdXRzIGFuIEVCREEgaW4gdGhlIHRvcCA2NEsgc2VnbWVudCAqLwotCS8qIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIGJ1dCBkb2VzIG5vdCBhZGp1c3QgbG93bWVtLiAqLwotCWlmICgobG93bWVtIC0gZWJkYV9hZGRyKSA8PSAweDEwMDAwKQotCQlsb3dtZW0gPSBlYmRhX2FkZHI7Ci0KLQkvKiBGaXh1cDogYmlvcyBkb2VzIG5vdCByZXBvcnQgYW4gRUJEQSBhdCBhbGwuICovCi0JLyogU29tZSBvbGQgRGVsbHMgc2VlbSB0byBuZWVkIDRrIGFueWhvdyAoYnVnemlsbGEgMjk5MCkgKi8KLQlpZiAoKGViZGFfYWRkciA9PSAwKSAmJiAobG93bWVtID49IDB4OWYwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogUGFyYW5vaWE6IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dC4uLiAqLwotCWlmICgobG93bWVtID09IDApIHx8IChsb3dtZW0gPj0gMHgxMDAwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogcmVzZXJ2ZSBhbGwgbWVtb3J5IGJldHdlZW4gbG93bWVtIGFuZCB0aGUgMU1CIG1hcmsgKi8KLQlyZXNlcnZlX2Jvb3RtZW0obG93bWVtLCAweDEwMDAwMCAtIGxvd21lbSwgQk9PVE1FTV9ERUZBVUxUKTsKLX0KLQotI2lmbmRlZiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKQotewotCS8qCi0JICogcGFydGlhbGx5IHVzZWQgcGFnZXMgYXJlIG5vdCB1c2FibGUgLSB0aHVzCi0JICogd2UgYXJlIHJvdW5kaW5nIHVwd2FyZHM6Ci0JICovCi0JbWluX2xvd19wZm4gPSBQRk5fVVAoaW5pdF9wZ190YWJsZXNfZW5kKTsKLQotCW1heF9sb3dfcGZuID0gZmluZF9tYXhfbG93X3BmbigpOwotCi0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQloaWdoc3RhcnRfcGZuID0gaGlnaGVuZF9wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfcGZuID4gbWF4X2xvd19wZm4pIHsKLQkJaGlnaHN0YXJ0X3BmbiA9IG1heF9sb3dfcGZuOwotCX0KLQlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIEhJR0hNRU0gYXZhaWxhYmxlLlxuIiwKLQkJcGFnZXNfdG9fbWIoaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuKSk7Ci0JbnVtX3BoeXNwYWdlcyA9IGhpZ2hlbmRfcGZuOwotCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShoaWdoc3RhcnRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotI2Vsc2UKLQludW1fcGh5c3BhZ2VzID0gbWF4X2xvd19wZm47Ci0JaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKG1heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0ZMQVRNRU0KLQltYXhfbWFwbnIgPSBudW1fcGh5c3BhZ2VzOwotI2VuZGlmCi0JcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBMT1dNRU0gYXZhaWxhYmxlLlxuIiwKLQkJCXBhZ2VzX3RvX21iKG1heF9sb3dfcGZuKSk7Ci0KLQlzZXR1cF9ib290bWVtX2FsbG9jYXRvcigpOwotCi0JcmV0dXJuIG1heF9sb3dfcGZuOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107Ci0JbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7Ci0JbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPQotCQl2aXJ0X3RvX3BoeXMoKGNoYXIgKilNQVhfRE1BX0FERFJFU1MpID4+IFBBR0VfU0hJRlQ7Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCW1heF96b25lX3BmbnNbWk9ORV9ISUdITUVNXSA9IGhpZ2hlbmRfcGZuOwotCWFkZF9hY3RpdmVfcmFuZ2UoMCwgMCwgaGlnaGVuZF9wZm4pOwotI2Vsc2UKLQlhZGRfYWN0aXZlX3JhbmdlKDAsIDAsIG1heF9sb3dfcGZuKTsKLSNlbmRpZgotCi0JZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7Ci19Ci0jZWxzZQotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKTsKLWV4dGVybiB2b2lkIHpvbmVfc2l6ZXNfaW5pdCh2b2lkKTsKLSNlbmRpZiAvKiAhQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMgKi8KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGxvbmcgZ2V0X3RvdGFsX21lbSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbDsKLQotCXRvdGFsID0gbWF4X2xvd19wZm4gLSBtaW5fbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCXRvdGFsICs9IGhpZ2hlbmRfcGZuIC0gaGlnaHN0YXJ0X3BmbjsKLSNlbmRpZgotCi0JcmV0dXJuIHRvdGFsIDw8IFBBR0VfU0hJRlQ7Ci19Ci0KLSNpZmRlZiBDT05GSUdfS0VYRUMKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsX21lbTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgY3Jhc2hfc2l6ZSwgY3Jhc2hfYmFzZTsKLQlpbnQgcmV0OwotCi0JdG90YWxfbWVtID0gZ2V0X3RvdGFsX21lbSgpOwotCi0JcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKLQkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7Ci0JaWYgKHJldCA9PSAwICYmIGNyYXNoX3NpemUgPiAwKSB7Ci0JCWlmIChjcmFzaF9iYXNlID4gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCi0JCQkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKLQkJCQkJKHVuc2lnbmVkIGxvbmcpKGNyYXNoX3NpemUgPj4gMjApLAotCQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCi0JCQkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKLQotCQkJaWYgKHJlc2VydmVfYm9vdG1lbShjcmFzaF9iYXNlLCBjcmFzaF9zaXplLAotCQkJCQlCT09UTUVNX0VYQ0xVU0lWRSkgPCAwKSB7Ci0JCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gIgotCQkJCQkiZmFpbGVkIC0gbWVtb3J5IGlzIGluIHVzZVxuIik7Ci0JCQkJcmV0dXJuOwotCQkJfQotCi0JCQljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKLQkJCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7Ci0JCX0gZWxzZQotCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkIC0gIgotCQkJCQkieW91IGhhdmUgdG8gc3BlY2lmeSBhIGJhc2UgYWRkcmVzc1xuIik7Ci0JfQotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgcmVzZXJ2ZV9jcmFzaGtlcm5lbCh2b2lkKQote30KLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0KLXN0YXRpYyBib29sIGRvX3JlbG9jYXRlX2luaXRyZCA9IGZhbHNlOwotCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7Ci0JdW5zaWduZWQgbG9uZyBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaGVyZTsKLQotCWluaXRyZF9zdGFydCA9IDA7Ci0KLQlpZiAoIWJvb3RfcGFyYW1zLmhkci50eXBlX29mX2xvYWRlciB8fAotCSAgICAhcmFtZGlza19pbWFnZSB8fCAhcmFtZGlza19zaXplKQotCQlyZXR1cm47CQkvKiBObyBpbml0cmQgcHJvdmlkZWQgYnkgYm9vdGxvYWRlciAqLwotCi0JaWYgKHJhbWRpc2tfZW5kIDwgcmFtZGlza19pbWFnZSkgewotCQlwcmludGsoS0VSTl9FUlIgImluaXRyZCB3cmFwcyBhcm91bmQgZW5kIG9mIG1lbW9yeSwgIgotCQkgICAgICAgImRpc2FibGluZyBpbml0cmRcbiIpOwotCQlyZXR1cm47Ci0JfQotCWlmIChyYW1kaXNrX3NpemUgPj0gZW5kX29mX2xvd21lbS8yKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIHRvbyBsYXJnZSB0byBoYW5kbGUsICIKLQkJICAgICAgICJkaXNhYmxpbmcgaW5pdHJkXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlpZiAocmFtZGlza19lbmQgPD0gZW5kX29mX2xvd21lbSkgewotCQkvKiBBbGwgaW4gbG93bWVtLCBlYXN5IGNhc2UgKi8KLQkJcmVzZXJ2ZV9ib290bWVtKHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLQkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOwotCQlpbml0cmRfZW5kID0gaW5pdHJkX3N0YXJ0K3JhbWRpc2tfc2l6ZTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIFdlIG5lZWQgdG8gbW92ZSB0aGUgaW5pdHJkIGRvd24gaW50byBsb3dtZW0gKi8KLQlyYW1kaXNrX2hlcmUgPSAoZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfc2l6ZSkgJiBQQUdFX01BU0s7Ci0KLQkvKiBOb3RlOiB0aGlzIGluY2x1ZGVzIGFsbCB0aGUgbG93bWVtIGN1cnJlbnRseSBvY2N1cGllZCBieQotCSAgIHRoZSBpbml0cmQsIHdlIHJlbHkgb24gdGhhdCBmYWN0IHRvIGtlZXAgdGhlIGRhdGEgaW50YWN0LiAqLwotCXJlc2VydmVfYm9vdG1lbShyYW1kaXNrX2hlcmUsIHJhbWRpc2tfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLQlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2hlcmUgKyBQQUdFX09GRlNFVDsKLQlpbml0cmRfZW5kICAgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7Ci0KLQlkb19yZWxvY2F0ZV9pbml0cmQgPSB0cnVlOwotfQotCi0jZGVmaW5lIE1BWF9NQVBfQ0hVTksJKE5SX0ZJWF9CVE1BUFMgPDwgUEFHRV9TSElGVCkKLQotc3RhdGljIHZvaWQgX19pbml0IHJlbG9jYXRlX2luaXRyZCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOwotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7Ci0JdW5zaWduZWQgbG9uZyBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaGVyZTsKLQl1bnNpZ25lZCBsb25nIHNsb3AsIGNsZW4sIG1hcGFkZHI7Ci0JY2hhciAqcCwgKnE7Ci0KLQlpZiAoIWRvX3JlbG9jYXRlX2luaXRyZCkKLQkJcmV0dXJuOwotCi0JcmFtZGlza19oZXJlID0gaW5pdHJkX3N0YXJ0IC0gUEFHRV9PRkZTRVQ7Ci0KLQlxID0gKGNoYXIgKilpbml0cmRfc3RhcnQ7Ci0KLQkvKiBDb3B5IGFueSBsb3dtZW0gcG9ydGlvbiBvZiB0aGUgaW5pdHJkICovCi0JaWYgKHJhbWRpc2tfaW1hZ2UgPCBlbmRfb2ZfbG93bWVtKSB7Ci0JCWNsZW4gPSBlbmRfb2ZfbG93bWVtIC0gcmFtZGlza19pbWFnZTsKLQkJcCA9IChjaGFyICopX192YShyYW1kaXNrX2ltYWdlKTsKLQkJbWVtY3B5KHEsIHAsIGNsZW4pOwotCQlxICs9IGNsZW47Ci0JCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKLQkJcmFtZGlza19zaXplICAtPSBjbGVuOwotCX0KLQotCS8qIENvcHkgdGhlIGhpZ2htZW0gcG9ydGlvbiBvZiB0aGUgaW5pdHJkICovCi0Jd2hpbGUgKHJhbWRpc2tfc2l6ZSkgewotCQlzbG9wID0gcmFtZGlza19pbWFnZSAmIH5QQUdFX01BU0s7Ci0JCWNsZW4gPSByYW1kaXNrX3NpemU7Ci0JCWlmIChjbGVuID4gTUFYX01BUF9DSFVOSy1zbG9wKQotCQkJY2xlbiA9IE1BWF9NQVBfQ0hVTkstc2xvcDsKLQkJbWFwYWRkciA9IHJhbWRpc2tfaW1hZ2UgJiBQQUdFX01BU0s7Ci0JCXAgPSBlYXJseV9pb3JlbWFwKG1hcGFkZHIsIGNsZW4rc2xvcCk7Ci0JCW1lbWNweShxLCBwK3Nsb3AsIGNsZW4pOwotCQllYXJseV9pb3VubWFwKHAsIGNsZW4rc2xvcCk7Ci0JCXEgKz0gY2xlbjsKLQkJcmFtZGlza19pbWFnZSArPSBjbGVuOwotCQlyYW1kaXNrX3NpemUgIC09IGNsZW47Ci0JfQotfQotCi0jZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5JVFJEICovCi0KLXZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBib290bWFwX3NpemU7Ci0JLyoKLQkgKiBJbml0aWFsaXplIHRoZSBib290LXRpbWUgYWxsb2NhdG9yICh3aXRoIGxvdyBtZW1vcnkgb25seSk6Ci0JICovCi0JYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtKG1pbl9sb3dfcGZuLCBtYXhfbG93X3Bmbik7Ci0KLQlyZWdpc3Rlcl9ib290bWVtX2xvd19wYWdlcyhtYXhfbG93X3Bmbik7Ci0KLQkvKgotCSAqIFJlc2VydmUgdGhlIGJvb3RtZW0gYml0bWFwIGl0c2VsZiBhcyB3ZWxsLiBXZSBkbyB0aGlzIGluIHR3bwotCSAqIHN0ZXBzIChmaXJzdCBzdGVwIHdhcyBpbml0X2Jvb3RtZW0oKSkgYmVjYXVzZSB0aGlzIGNhdGNoZXMKLQkgKiB0aGUgKHZlcnkgdW5saWtlbHkpIGNhc2Ugb2YgdXMgYWNjaWRlbnRhbGx5IGluaXRpYWxpemluZyB0aGUKLQkgKiBib290bWVtIGFsbG9jYXRvciB3aXRoIGFuIGludmFsaWQgUkFNIGFyZWEuCi0JICovCi0JcmVzZXJ2ZV9ib290bWVtKF9fcGFfc3ltYm9sKF90ZXh0KSwgKFBGTl9QSFlTKG1pbl9sb3dfcGZuKSArCi0JCQkgYm9vdG1hcF9zaXplICsgUEFHRV9TSVpFLTEpIC0gX19wYV9zeW1ib2woX3RleHQpLAotCQkJIEJPT1RNRU1fREVGQVVMVCk7Ci0KLQkvKgotCSAqIHJlc2VydmUgcGh5c2ljYWwgcGFnZSAwIC0gaXQncyBhIHNwZWNpYWwgQklPUyBwYWdlIG9uIG1hbnkgYm94ZXMsCi0JICogZW5hYmxpbmcgY2xlYW4gcmVib290cywgU01QIG9wZXJhdGlvbiwgbGFwdG9wIGZ1bmN0aW9ucy4KLQkgKi8KLQlyZXNlcnZlX2Jvb3RtZW0oMCwgUEFHRV9TSVpFLCBCT09UTUVNX0RFRkFVTFQpOwotCi0JLyogcmVzZXJ2ZSBFQkRBIHJlZ2lvbiAqLwotCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLQkvKgotCSAqIEJ1dCBmaXJzdCBwaW5jaCBhIGZldyBmb3IgdGhlIHN0YWNrL3RyYW1wb2xpbmUgc3R1ZmYKLQkgKiBGSVhNRTogRG9uJ3QgbmVlZCB0aGUgZXh0cmEgcGFnZSBhdCA0SywgYnV0IG5lZWQgdG8gZml4Ci0JICogdHJhbXBvbGluZSBiZWZvcmUgcmVtb3ZpbmcgaXQuIChzZWUgdGhlIEdEVCBzdHVmZikKLQkgKi8KLQlyZXNlcnZlX2Jvb3RtZW0oUEFHRV9TSVpFLCBQQUdFX1NJWkUsIEJPT1RNRU1fREVGQVVMVCk7Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQUNQSV9TTEVFUAotCS8qCi0JICogUmVzZXJ2ZSBsb3cgbWVtb3J5IHJlZ2lvbiBmb3Igc2xlZXAgc3VwcG9ydC4KLQkgKi8KLQlhY3BpX3Jlc2VydmVfYm9vdG1lbSgpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX1g4Nl9GSU5EX1NNUF9DT05GSUcKLQkvKgotCSAqIEZpbmQgYW5kIHJlc2VydmUgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSAqLwotCWZpbmRfc21wX2NvbmZpZygpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0JcmVzZXJ2ZV9pbml0cmQoKTsKLSNlbmRpZgotCW51bWFfa3ZhX3Jlc2VydmUoKTsKLQlyZXNlcnZlX2NyYXNoa2VybmVsKCk7Ci0KLQlyZXNlcnZlX2liZnRfcmVnaW9uKCk7Ci19Ci0KLS8qCi0gKiBUaGUgbm9kZSAwIHBnZGF0IGlzIGluaXRpYWxpemVkIGJlZm9yZSBhbGwgb2YgdGhlc2UgYmVjYXVzZQotICogaXQncyBuZWVkZWQgZm9yIGJvb3RtZW0uICBub2RlPjAgcGdkYXRzIGhhdmUgdGhlaXIgdmlydHVhbAotICogc3BhY2UgYWxsb2NhdGVkIGJlZm9yZSB0aGUgcGFnZXRhYmxlcyBhcmUgaW4gcGxhY2UgdG8gYWNjZXNzCi0gKiB0aGVtLCBzbyB0aGV5IGNhbid0IGJlIGNsZWFyZWQgdGhlbi4KLSAqCi0gKiBUaGlzIHNob3VsZCBhbGwgY29tcGlsZSBkb3duIHRvIG5vdGhpbmcgd2hlbiBOVU1BIGlzIG9mZi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlbWFwcGVkX3BnZGF0X2luaXQodm9pZCkKLXsKLQlpbnQgbmlkOwotCi0JZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCWlmIChuaWQgIT0gMCkKLQkJCW1lbXNldChOT0RFX0RBVEEobmlkKSwgMCwgc2l6ZW9mKHN0cnVjdCBwZ2xpc3RfZGF0YSkpOwotCX0KLX0KLQotI2lmZGVmIENPTkZJR19NQ0EKLXN0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KQotewotCU1DQV9idXMgPSB4OwotfQotI2Vsc2UKLXN0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KSB7IH0KLSNlbmRpZgotCi0vKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgaWYgQ09ORklHX1BBUkFWSVJUICovCi1jaGFyICogX19pbml0IF9fYXR0cmlidXRlX18oKHdlYWspKSBtZW1vcnlfc2V0dXAodm9pZCkKLXsKLQlyZXR1cm4gbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAoKTsKLX0KLQotI2lmZGVmIENPTkZJR19OVU1BCi0vKgotICogSW4gdGhlIGdvbGRlbiBkYXksIHdoZW4gZXZlcnl0aGluZyBhbW9uZyBpMzg2IGFuZCB4ODZfNjQgd2lsbCBiZQotICogaW50ZWdyYXRlZCwgdGhpcyB3aWxsIG5vdCBsaXZlIGhlcmUKLSAqLwotdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci1pbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W05SX0NQVVNdID0gewotCVswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFCi19OwotREVGSU5FX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTUFfTk9fTk9ERTsKLSNlbmRpZgotCi0vKgotICogRGV0ZXJtaW5lIGlmIHdlIHdlcmUgbG9hZGVkIGJ5IGFuIEVGSSBsb2FkZXIuICBJZiBzbywgdGhlbiB3ZSBoYXZlIGFsc28gYmVlbgotICogcGFzc2VkIHRoZSBlZmkgbWVtbWFwLCBzeXN0YWIsIGV0Yy4sIHNvIHdlIHNob3VsZCB1c2UgdGhlc2UgZGF0YSBzdHJ1Y3R1cmVzCi0gKiBmb3IgaW5pdGlhbGl6YXRpb24uICBOb3RlLCB0aGUgZWZpIGluaXQgY29kZSBwYXRoIGlzIGRldGVybWluZWQgYnkgdGhlCi0gKiBnbG9iYWwgZWZpX2VuYWJsZWQuIFRoaXMgYWxsb3dzIHRoZSBzYW1lIGtlcm5lbCBpbWFnZSB0byBiZSB1c2VkIG9uIGV4aXN0aW5nCi0gKiBzeXN0ZW1zICh3aXRoIGEgdHJhZGl0aW9uYWwgQklPUykgYXMgd2VsbCBhcyBvbiBFRkkgc3lzdGVtcy4KLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQotewotCXVuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm47Ci0KLQltZW1jcHkoJmJvb3RfY3B1X2RhdGEsICZuZXdfY3B1X2RhdGEsIHNpemVvZihuZXdfY3B1X2RhdGEpKTsKLQlwcmVfc2V0dXBfYXJjaF9ob29rKCk7Ci0JZWFybHlfY3B1X2luaXQoKTsKLQllYXJseV9pb3JlbWFwX2luaXQoKTsKLQotI2lmZGVmIENPTkZJR19FRkkKLQlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCi0JCSAgICAgIkVMMzIiLCA0KSkKLQkJZWZpX2VuYWJsZWQgPSAxOwotI2VuZGlmCi0KLQlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7Ci0Jc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKLQllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87Ci0JYXBtX2luZm8uYmlvcyA9IGJvb3RfcGFyYW1zLmFwbV9iaW9zX2luZm87Ci0JaXN0X2luZm8gPSBib290X3BhcmFtcy5pc3RfaW5mbzsKLQlzYXZlZF92aWRlb19tb2RlID0gYm9vdF9wYXJhbXMuaGRyLnZpZF9tb2RlOwotCWlmKCBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS5sZW5ndGggIT0gMCApIHsKLQkJc2V0X21jYV9idXMoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbM10gJiAweDIpOwotCQltYWNoaW5lX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMF07Ci0JCW1hY2hpbmVfc3VibW9kZWxfaWQgPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsxXTsKLQkJQklPU19yZXZpc2lvbiA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzJdOwotCX0KLQlib290bG9hZGVyX3R5cGUgPSBib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXI7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0KLQlyZF9pbWFnZV9zdGFydCA9IGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSzsKLQlyZF9wcm9tcHQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfUFJPTVBUX0ZMQUcpICE9IDApOwotCXJkX2RvbG9hZCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19MT0FEX0ZMQUcpICE9IDApOwotI2VuZGlmCi0JQVJDSF9TRVRVUAotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JcHJpbnRfbWVtb3J5X21hcChtZW1vcnlfc2V0dXAoKSk7Ci0KLQljb3B5X2VkZCgpOwotCi0JaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKLQkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7Ci0JaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF90ZXh0OwotCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgX2V0ZXh0OwotCWluaXRfbW0uZW5kX2RhdGEgPSAodW5zaWduZWQgbG9uZykgX2VkYXRhOwotCWluaXRfbW0uYnJrID0gaW5pdF9wZ190YWJsZXNfZW5kICsgUEFHRV9PRkZTRVQ7Ci0KLQljb2RlX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKF90ZXh0KTsKLQljb2RlX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZXRleHQpLTE7Ci0JZGF0YV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfZXRleHQpOwotCWRhdGFfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKF9lZGF0YSktMTsKLQlic3NfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoJl9fYnNzX3N0YXJ0KTsKLQlic3NfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfX2Jzc19zdG9wKS0xOwotCi0JcGFyc2VfZWFybHlfcGFyYW0oKTsKLQotCWlmICh1c2VyX2RlZmluZWRfbWVtbWFwKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gInVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JCXByaW50X21lbW9yeV9tYXAoInVzZXIiKTsKLQl9Ci0KLQlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKLQkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwotCi0JaWYgKGVmaV9lbmFibGVkKQotCQllZmlfaW5pdCgpOwotCi0JLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLwotCXByb3BhZ2F0ZV9lODIwX21hcCgpOwotCW10cnJfYnBfaW5pdCgpOwotCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KG1heF9wZm4pKQotCQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKLQotCW1heF9sb3dfcGZuID0gc2V0dXBfbWVtb3J5KCk7Ci0KLSNpZmRlZiBDT05GSUdfS1ZNX0NMT0NLCi0Ja3ZtY2xvY2tfaW5pdCgpOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVk1JCi0JLyoKLQkgKiBNdXN0IGJlIGFmdGVyIG1heF9sb3dfcGZuIGlzIGRldGVybWluZWQsIGFuZCBiZWZvcmUga2VybmVsCi0JICogcGFnZXRhYmxlcyBhcmUgc2V0dXAuCi0JICovCi0Jdm1pX2luaXQoKTsKLSNlbmRpZgotCWt2bV9ndWVzdF9pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IGJlZm9yZSB0aGlzIHBvaW50IF9ub2JvZHlfIGlzIGFsbG93ZWQgdG8gYWxsb2NhdGUKLQkgKiBhbnkgbWVtb3J5IHVzaW5nIHRoZSBib290bWVtIGFsbG9jYXRvci4gIEFsdGhvdWdoIHRoZQotCSAqIGFsbG9jYXRvciBpcyBub3cgaW5pdGlhbGlzZWQgb25seSB0aGUgZmlyc3QgOE1iIG9mIHRoZSBrZXJuZWwKLQkgKiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgaGFzIGJlZW4gbWFwcGVkLiAgQWxsIGFsbG9jYXRpb25zIGJlZm9yZQotCSAqIHBhZ2luZ19pbml0KCkgaGFzIGNvbXBsZXRlZCBtdXN0IHVzZSB0aGUgYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoKQotCSAqIHZhcmlhbnQgKHdoaWNoIGFsbG9jYXRlcyBETUEnYWJsZSBtZW1vcnkpIGFuZCBjYXJlIG11c3QgYmUgdGFrZW4KLQkgKiBub3QgdG8gZXhjZWVkIHRoZSA4TWIgbGltaXQuCi0JICovCi0KLSNpZmRlZiBDT05GSUdfU01QCi0Jc21wX2FsbG9jX21lbW9yeSgpOyAvKiBBUCBwcm9jZXNzb3IgcmVhbG1vZGUgc3RhY2tzIGluIGxvdyBtZW1vcnkqLwotI2VuZGlmCi0JcGFnaW5nX2luaXQoKTsKLQotCS8qCi0JICogTk9URTogT24geDg2LTMyLCBvbmx5IGZyb20gdGhpcyBwb2ludCBvbiwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZS4KLQkgKi8KLQotI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCi0JaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQotCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKLSNlbmRpZgotCi0JcmVtYXBwZWRfcGdkYXRfaW5pdCgpOwotCXNwYXJzZV9pbml0KCk7Ci0Jem9uZV9zaXplc19pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IGF0IHRoaXMgcG9pbnQgdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGlzIGZ1bGx5IGF2YWlsYWJsZS4KLQkgKi8KLQotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCXJlbG9jYXRlX2luaXRyZCgpOwotI2VuZGlmCi0KLQlwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCk7Ci0KLQlkbWlfc2Nhbl9tYWNoaW5lKCk7Ci0KLQlpb19kZWxheV9pbml0KCk7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X1NNUAotCS8qCi0JICogc2V0dXAgdG8gdXNlIHRoZSBlYXJseSBzdGF0aWMgaW5pdCB0YWJsZXMgZHVyaW5nIGtlcm5lbCBzdGFydHVwCi0JICogWDg2X1NNUCB3aWxsIGV4Y2x1ZGUgc3ViLWFyY2hlcyB0aGF0IGRvbid0IGRlYWwgd2VsbCB3aXRoIGl0LgotCSAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2NwdV90b19hcGljaWRfaW5pdDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0OwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdDsKLSNlbmRpZgotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICi0JZ2VuZXJpY19hcGljX3Byb2JlKCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0JLyoKLQkgKiBQYXJzZSB0aGUgQUNQSSB0YWJsZXMgZm9yIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbi4KLQkgKi8KLQlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOwotI2VuZGlmCi0KLQllYXJseV9xdWlya3MoKTsKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0JYWNwaV9ib290X2luaXQoKTsKLQotI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1BDKQotCWlmIChkZWZfdG9fYmlnc21wKQotCQlwcmludGsoS0VSTl9XQVJOSU5HICJNb3JlIHRoYW4gOCBDUFVzIGRldGVjdGVkIGFuZCAiCi0JCQkiQ09ORklHX1g4Nl9QQyBjYW5ub3QgaGFuZGxlIGl0LlxuVXNlICIKLQkJCSJDT05GSUdfWDg2X0dFTkVSSUNBUkNIIG9yIENPTkZJR19YODZfQklHU01QLlxuIik7Ci0jZW5kaWYKLSNlbmRpZgotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlnZXRfc21wX2NvbmZpZygpOwotI2VuZGlmCi0KLQllODIwX3JlZ2lzdGVyX21lbW9yeSgpOwotCWU4MjBfbWFya19ub3NhdmVfcmVnaW9ucygpOwotCi0jaWZkZWYgQ09ORklHX1ZUCi0jaWYgZGVmaW5lZChDT05GSUdfVkdBX0NPTlNPTEUpCi0JaWYgKCFlZmlfZW5hYmxlZCB8fCAoZWZpX21lbV90eXBlKDB4YTAwMDApICE9IEVGSV9DT05WRU5USU9OQUxfTUVNT1JZKSkKLQkJY29uc3dpdGNocCA9ICZ2Z2FfY29uOwotI2VsaWYgZGVmaW5lZChDT05GSUdfRFVNTVlfQ09OU09MRSkKLQljb25zd2l0Y2hwID0gJmR1bW15X2NvbjsKLSNlbmRpZgotI2VuZGlmCi19Ci0KLS8qCi0gKiBSZXF1ZXN0IGFkZHJlc3Mgc3BhY2UgZm9yIGFsbCBzdGFuZGFyZCByZXNvdXJjZXMKLSAqCi0gKiBUaGlzIGlzIGNhbGxlZCBqdXN0IGJlZm9yZSBwY2liaW9zX2luaXQoKSwgd2hpY2ggaXMgYWxzbyBhCi0gKiBzdWJzeXNfaW5pdGNhbGwsIGJ1dCBpcyBsaW5rZWQgaW4gbGF0ZXIgKGluIGFyY2gvaTM4Ni9wY2kvY29tbW9uLmMpLgotICovCi1zdGF0aWMgaW50IF9faW5pdCByZXF1ZXN0X3N0YW5kYXJkX3Jlc291cmNlcyh2b2lkKQotewotCWludCBpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiU2V0dGluZyB1cCBzdGFuZGFyZCBQQ0kgcmVzb3VyY2VzXG4iKTsKLQlpbml0X2lvbWVtX3Jlc291cmNlcygmY29kZV9yZXNvdXJjZSwgJmRhdGFfcmVzb3VyY2UsICZic3NfcmVzb3VyY2UpOwotCi0JcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZ2aWRlb19yYW1fcmVzb3VyY2UpOwotCi0JLyogcmVxdWVzdCBJL08gc3BhY2UgZm9yIGRldmljZXMgdXNlZCBvbiBhbGwgaVszNDVdODYgUENzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3RhbmRhcmRfaW9fcmVzb3VyY2VzKTsgaSsrKQotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb3BvcnRfcmVzb3VyY2UsICZzdGFuZGFyZF9pb19yZXNvdXJjZXNbaV0pOwotCXJldHVybiAwOwotfQotCi1zdWJzeXNfaW5pdGNhbGwocmVxdWVzdF9zdGFuZGFyZF9yZXNvdXJjZXMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRmZjEyOC4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDExOTQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKi8KLQotLyoKLSAqIFRoaXMgZmlsZSBoYW5kbGVzIHRoZSBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IHBhcnRzIG9mIGluaXRpYWxpemF0aW9uCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgotI2luY2x1ZGUgPGxpbnV4L3VuaXN0ZC5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC91c2VyLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NyZWVuX2luZm8uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0cmQuaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9jcmFzaF9kdW1wLmg+Ci0jaW5jbHVkZSA8bGludXgvcm9vdF9kZXYuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgotI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KLSNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgotI2luY2x1ZGUgPGxpbnV4L2VkZC5oPgotI2luY2x1ZGUgPGxpbnV4L2lzY3NpX2liZnQuaD4KLSNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+Ci0jaW5jbHVkZSA8bGludXgvc29ydC5oPgotI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0X29oY2kxMzk0X2RtYS5oPgotI2luY2x1ZGUgPGxpbnV4L2t2bV9wYXJhLmg+Ci0KLSNpbmNsdWRlIDxhc20vbXRyci5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS92c3lzY2FsbC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNpbmNsdWRlIDxhc20vbXNyLmg+Ci0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDx2aWRlby9lZGlkLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2dhcnQuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+Ci0jaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL251bWEuaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLSNpbmNsdWRlIDxhc20vZG1pLmg+Ci0jaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vbWNlLmg+Ci0jaW5jbHVkZSA8YXNtL2RzLmg+Ci0jaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+Ci0jaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KLSNpbmNsdWRlIDxhc20vcGF0Lmg+Ci0KLSNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KLSNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLSNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KLSNlbHNlCi0jZGVmaW5lIEFSQ0hfU0VUVVAKLSNlbmRpZgotCi0vKgotICogTWFjaGluZSBzZXR1cC4uCi0gKi8KLQotc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7Ci0KLV9fdTMyIGNsZWFyZWRfY3B1X2NhcHNbTkNBUElOVFNdIF9fY3B1aW5pdGRhdGE7Ci0KLXVuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKLQotLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KLWludCBib290bG9hZGVyX3R5cGU7Ci0KLXVuc2lnbmVkIGxvbmcgc2F2ZWRfdmlkZW9fbW9kZTsKLQotaW50IGZvcmNlX213YWl0IF9fY3B1aW5pdGRhdGE7Ci0KLS8qCi0gKiBFYXJseSBETUkgbWVtb3J5Ci0gKi8KLWludCBkbWlfYWxsb2NfaW5kZXg7Ci1jaGFyIGRtaV9hbGxvY19kYXRhW0RNSV9NQVhfREFUQV07Ci0KLS8qCi0gKiBTZXR1cCBvcHRpb25zCi0gKi8KLXN0cnVjdCBzY3JlZW5faW5mbyBzY3JlZW5faW5mbzsKLUVYUE9SVF9TWU1CT0woc2NyZWVuX2luZm8pOwotc3RydWN0IHN5c19kZXNjX3RhYmxlX3N0cnVjdCB7Ci0JdW5zaWduZWQgc2hvcnQgbGVuZ3RoOwotCXVuc2lnbmVkIGNoYXIgdGFibGVbMF07Ci19OwotCi1zdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKLUVYUE9SVF9TWU1CT0xfR1BMKGVkaWRfaW5mbyk7Ci0KLWV4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOwotCi1jaGFyIF9faW5pdGRhdGEgY29tbWFuZF9saW5lW0NPTU1BTkRfTElORV9TSVpFXTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsKLQl7IC5uYW1lID0gImRtYTEiLCAuc3RhcnQgPSAweDAwLCAuZW5kID0gMHgxZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAicGljMSIsIC5zdGFydCA9IDB4MjAsIC5lbmQgPSAweDIxLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJ0aW1lcjAiLCAuc3RhcnQgPSAweDQwLCAuZW5kID0gMHg0MywKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAidGltZXIxIiwgLnN0YXJ0ID0gMHg1MCwgLmVuZCA9IDB4NTMsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2MCwgLmVuZCA9IDB4NjAsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2NCwgLmVuZCA9IDB4NjQsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImRtYSBwYWdlIHJlZyIsIC5zdGFydCA9IDB4ODAsIC5lbmQgPSAweDhmLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJwaWMyIiwgLnN0YXJ0ID0gMHhhMCwgLmVuZCA9IDB4YTEsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImRtYTIiLCAuc3RhcnQgPSAweGMwLCAuZW5kID0gMHhkZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAiZnB1IiwgLnN0YXJ0ID0gMHhmMCwgLmVuZCA9IDB4ZmYsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfQotfTsKLQotI2RlZmluZSBJT1JFU09VUkNFX1JBTSAoSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0pCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKLQkubmFtZSA9ICJLZXJuZWwgZGF0YSIsCi0JLnN0YXJ0ID0gMCwKLQkuZW5kID0gMCwKLQkuZmxhZ3MgPSBJT1JFU09VUkNFX1JBTSwKLX07Ci1zdGF0aWMgc3RydWN0IHJlc291cmNlIGNvZGVfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGNvZGUiLAotCS5zdGFydCA9IDAsCi0JLmVuZCA9IDAsCi0JLmZsYWdzID0gSU9SRVNPVVJDRV9SQU0sCi19Owotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBic3NfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGJzcyIsCi0JLnN0YXJ0ID0gMCwKLQkuZW5kID0gMCwKLQkuZmxhZ3MgPSBJT1JFU09VUkNFX1JBTSwKLX07Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKLQotI2lmZGVmIENPTkZJR19QUk9DX1ZNQ09SRQotLyogZWxmY29yZWhkcj0gc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBlbGYgY29yZSBoZWFkZXIKLSAqIHN0b3JlZCBieSB0aGUgY3Jhc2hlZCBrZXJuZWwuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkCi0gKiBieSBrZXhlYyBsb2FkZXIgdG8gdGhlIGNhcHR1cmUga2VybmVsLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9lbGZjb3JlaGRyKGNoYXIgKmFyZykKLXsKLQljaGFyICplbmQ7Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCWVsZmNvcmVoZHJfYWRkciA9IG1lbXBhcnNlKGFyZywgJmVuZCk7Ci0JcmV0dXJuIGVuZCA+IGFyZyA/IDAgOiAtRUlOVkFMOwotfQotZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBzZXR1cF9lbGZjb3JlaGRyKTsKLSNlbmRpZgotCi0jaWZuZGVmIENPTkZJR19OVU1BCi1zdGF0aWMgdm9pZCBfX2luaXQKLWNvbnRpZ19pbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKLXsKLQl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKLQotCWJvb3RtYXBfc2l6ZSA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhlbmRfcGZuKTw8UEFHRV9TSElGVDsKLQlib290bWFwID0gZmluZF9lODIwX2FyZWEoMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCwgYm9vdG1hcF9zaXplLAotCQkJCSBQQUdFX1NJWkUpOwotCWlmIChib290bWFwID09IC0xTCkKLQkJcGFuaWMoIkNhbm5vdCBmaW5kIGJvb3RtZW0gbWFwIG9mIHNpemUgJWxkXG4iLCBib290bWFwX3NpemUpOwotCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbShib290bWFwID4+IFBBR0VfU0hJRlQsIGVuZF9wZm4pOwotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKLQlmcmVlX2Jvb3RtZW1fd2l0aF9hY3RpdmVfcmVnaW9ucygwLCBlbmRfcGZuKTsKLQllYXJseV9yZXNfdG9fYm9vdG1lbSgwLCBlbmRfcGZuPDxQQUdFX1NISUZUKTsKLQlyZXNlcnZlX2Jvb3RtZW0oYm9vdG1hcCwgYm9vdG1hcF9zaXplLCBCT09UTUVNX0RFRkFVTFQpOwotfQotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCi1zdHJ1Y3QgZWRkIGVkZDsKLSNpZmRlZiBDT05GSUdfRUREX01PRFVMRQotRVhQT1JUX1NZTUJPTChlZGQpOwotI2VuZGlmCi0vKioKLSAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgotICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKLXsKLSAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCi0JICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOwotICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKLSAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKLSAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19LRVhFQwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxfbWVtOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBjcmFzaF9zaXplLCBjcmFzaF9iYXNlOwotCWludCByZXQ7Ci0KLQl0b3RhbF9tZW0gPSAoKHVuc2lnbmVkIGxvbmcgbG9uZyltYXhfbG93X3BmbiAtIG1pbl9sb3dfcGZuKSA8PCBQQUdFX1NISUZUOwotCi0JcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKLQkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7Ci0JaWYgKHJldCA9PSAwICYmIGNyYXNoX3NpemUpIHsKLQkJaWYgKGNyYXNoX2Jhc2UgPD0gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkIC0gIgotCQkJCQkieW91IGhhdmUgdG8gc3BlY2lmeSBhIGJhc2UgYWRkcmVzc1xuIik7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpZiAocmVzZXJ2ZV9ib290bWVtKGNyYXNoX2Jhc2UsIGNyYXNoX3NpemUsCi0JCQkJCUJPT1RNRU1fRVhDTFVTSVZFKSA8IDApIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKLQkJCQkJIm1lbW9yeSBpcyBpbiB1c2VcbiIpOwotCQkJcmV0dXJuOwotCQl9Ci0KLQkJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCi0JCQkJImZvciBjcmFzaGtlcm5lbCAoU3lzdGVtIFJBTTogJWxkTUIpXG4iLAotCQkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKLQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCi0JCQkJKHVuc2lnbmVkIGxvbmcpKHRvdGFsX21lbSA+PiAyMCkpOwotCQljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKLQkJY3Jhc2hrX3Jlcy5lbmQgICA9IGNyYXNoX2Jhc2UgKyBjcmFzaF9zaXplIC0gMTsKLQkJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNyYXNoa19yZXMpOwotCX0KLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXt9Ci0jZW5kaWYKLQotLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jIGlmIENPTkZJR19QQVJBVklSVCAqLwotdm9pZCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX19pbml0IG1lbW9yeV9zZXR1cCh2b2lkKQotewotICAgICAgIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9zZXR1cF9kYXRhKHZvaWQpCi17Ci0Jc3RydWN0IHNldHVwX2RhdGEgKmRhdGE7Ci0JdW5zaWduZWQgbG9uZyBwYV9kYXRhOwotCi0JaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQotCQlyZXR1cm47Ci0JcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOwotCXdoaWxlIChwYV9kYXRhKSB7Ci0JCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIFBBR0VfU0laRSk7Ci0JCXN3aXRjaCAoZGF0YS0+dHlwZSkgewotCQlkZWZhdWx0OgotCQkJYnJlYWs7Ci0JCX0KLSNpZm5kZWYgQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TCi0JCWZyZWVfZWFybHkocGFfZGF0YSwgcGFfZGF0YStzaXplb2YoKmRhdGEpK2RhdGEtPmxlbik7Ci0jZW5kaWYKLQkJcGFfZGF0YSA9IGRhdGEtPm5leHQ7Ci0JCWVhcmx5X2lvdW5tYXAoZGF0YSwgUEFHRV9TSVpFKTsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfUENJX01NQ09ORklHCi1leHRlcm4gdm9pZCBfX2NwdWluaXQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKTsKLWV4dGVybiB2b2lkIF9faW5pdCBjaGVja19lbmFibGVfYW1kX21tY29uZl9kbWkodm9pZCk7Ci0jZWxzZQotdm9pZCBfX2NwdWluaXQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKQotewotfQotdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotLyoKLSAqIHNldHVwX2FyY2ggLSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgYm9vdC10aW1lIGluaXRpYWxpemF0aW9ucwotICoKLSAqIE5vdGU6IE9uIHg4Nl82NCwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZSBldmVuIGJlZm9yZSB0aGlzIGlzIGNhbGxlZC4KLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQotewotCXVuc2lnbmVkIGk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDb21tYW5kIGxpbmU6ICVzXG4iLCBib290X2NvbW1hbmRfbGluZSk7Ci0KLQlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7Ci0Jc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKLQllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87Ci0Jc2F2ZWRfdmlkZW9fbW9kZSA9IGJvb3RfcGFyYW1zLmhkci52aWRfbW9kZTsKLQlib290bG9hZGVyX3R5cGUgPSBib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXI7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0KLQlyZF9pbWFnZV9zdGFydCA9IGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSzsKLQlyZF9wcm9tcHQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfUFJPTVBUX0ZMQUcpICE9IDApOwotCXJkX2RvbG9hZCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19MT0FEX0ZMQUcpICE9IDApOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0VGSQotCWlmICghc3RybmNtcCgoY2hhciAqKSZib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbG9hZGVyX3NpZ25hdHVyZSwKLQkJICAgICAiRUw2NCIsIDQpKQotCQllZmlfZW5hYmxlZCA9IDE7Ci0jZW5kaWYKLQotCUFSQ0hfU0VUVVAKLQotCW1lbW9yeV9zZXR1cCgpOwotCWNvcHlfZWRkKCk7Ci0KLQlpZiAoIWJvb3RfcGFyYW1zLmhkci5yb290X2ZsYWdzKQotCQlyb290X21vdW50ZmxhZ3MgJj0gfk1TX1JET05MWTsKLQlpbml0X21tLnN0YXJ0X2NvZGUgPSAodW5zaWduZWQgbG9uZykgJl90ZXh0OwotCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgJl9ldGV4dDsKLQlpbml0X21tLmVuZF9kYXRhID0gKHVuc2lnbmVkIGxvbmcpICZfZWRhdGE7Ci0JaW5pdF9tbS5icmsgPSAodW5zaWduZWQgbG9uZykgJl9lbmQ7Ci0KLQljb2RlX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfdGV4dCk7Ci0JY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoJl9ldGV4dCktMTsKLQlkYXRhX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfZXRleHQpOwotCWRhdGFfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfZWRhdGEpLTE7Ci0JYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7Ci0JYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKLQotCWVhcmx5X2lkZW50aWZ5X2NwdSgmYm9vdF9jcHVfZGF0YSk7Ci0KLQlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKLQkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwotCi0JcGFyc2Vfc2V0dXBfZGF0YSgpOwotCi0JcGFyc2VfZWFybHlfcGFyYW0oKTsKLQotI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCi0JaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQotCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKLSNlbmRpZgotCi0JZmluaXNoX2U4MjBfcGFyc2luZygpOwotCi0JLyogYWZ0ZXIgcGFyc2VfZWFybHlfcGFyYW0sIHNvIGNvdWxkIGRlYnVnIGl0ICovCi0JaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNvZGVfcmVzb3VyY2UpOwotCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZkYXRhX3Jlc291cmNlKTsKLQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmYnNzX3Jlc291cmNlKTsKLQotCWVhcmx5X2dhcnRfaW9tbXVfY2hlY2soKTsKLQotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JLyoKLQkgKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMKLQkgKiB3ZSBhcmUgcm91bmRpbmcgdXB3YXJkczoKLQkgKi8KLQllbmRfcGZuID0gZTgyMF9lbmRfb2ZfcmFtKCk7Ci0JLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLwotCW10cnJfYnBfaW5pdCgpOwotCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KGVuZF9wZm4pKSB7Ci0JCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JCWVuZF9wZm4gPSBlODIwX2VuZF9vZl9yYW0oKTsKLQl9Ci0KLQludW1fcGh5c3BhZ2VzID0gZW5kX3BmbjsKLQotCWNoZWNrX2VmZXIoKTsKLQotCW1heF9wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygwLCAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpOwotCWlmIChlZmlfZW5hYmxlZCkKLQkJZWZpX2luaXQoKTsKLQotCXZzbXBfaW5pdCgpOwotCi0JZG1pX3NjYW5fbWFjaGluZSgpOwotCi0JaW9fZGVsYXlfaW5pdCgpOwotCi0jaWZkZWYgQ09ORklHX0tWTV9DTE9DSwotCWt2bWNsb2NrX2luaXQoKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1NNUAotCS8qIHNldHVwIHRvIHVzZSB0aGUgZWFybHkgc3RhdGljIGluaXQgdGFibGVzIGR1cmluZyBrZXJuZWwgc3RhcnR1cCAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2NwdV90b19hcGljaWRfaW5pdDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0OwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdDsKLSNlbmRpZgotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogSW5pdGlhbGl6ZSB0aGUgQUNQSSBib290LXRpbWUgdGFibGUgcGFyc2VyIChnZXRzIHRoZSBSU0RQIGFuZCBTRFQpLgotCSAqIENhbGwgdGhpcyBlYXJseSBmb3IgU1JBVCBub2RlIHNldHVwLgotCSAqLwotCWFjcGlfYm9vdF90YWJsZV9pbml0KCk7Ci0jZW5kaWYKLQotCS8qIEhvdyBtYW55IGVuZC1vZi1tZW1vcnkgdmFyaWFibGVzIHlvdSBoYXZlLCBncmFuZG1hISAqLwotCW1heF9sb3dfcGZuID0gZW5kX3BmbjsKLQltYXhfcGZuID0gZW5kX3BmbjsKLQloaWdoX21lbW9yeSA9ICh2b2lkICopX192YShlbmRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotCi0JLyogUmVtb3ZlIGFjdGl2ZSByYW5nZXMgc28gcmVkaXNjb3Zlcnkgd2l0aCBOVU1BLWF3YXJlbmVzcyBoYXBwZW5zICovCi0JcmVtb3ZlX2FsbF9hY3RpdmVfcmFuZ2VzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCi0JLyoKLQkgKiBQYXJzZSBTUkFUIHRvIGRpc2NvdmVyIG5vZGVzLgotCSAqLwotCWFjcGlfbnVtYV9pbml0KCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19OVU1BCi0JbnVtYV9pbml0bWVtX2luaXQoMCwgZW5kX3Bmbik7Ci0jZWxzZQotCWNvbnRpZ19pbml0bWVtX2luaXQoMCwgZW5kX3Bmbik7Ci0jZW5kaWYKLQotCWRtYTMyX3Jlc2VydmVfYm9vdG1lbSgpOwotCi0jaWZkZWYgQ09ORklHX0FDUElfU0xFRVAKLQkvKgotCSAqIFJlc2VydmUgbG93IG1lbW9yeSByZWdpb24gZm9yIHNsZWVwIHN1cHBvcnQuCi0JICovCi0gICAgICAgYWNwaV9yZXNlcnZlX2Jvb3RtZW0oKTsKLSNlbmRpZgotCi0JaWYgKGVmaV9lbmFibGVkKQotCQllZmlfcmVzZXJ2ZV9ib290bWVtKCk7Ci0KLSAgICAgICAvKgotCSogRmluZCBhbmQgcmVzZXJ2ZSBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246Ci0JKi8KLQlmaW5kX3NtcF9jb25maWcoKTsKLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKLQlpZiAoYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyICYmIGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlKSB7Ci0JCXVuc2lnbmVkIGxvbmcgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOwotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfZW5kICAgPSByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplOwotCQl1bnNpZ25lZCBsb25nIGVuZF9vZl9tZW0gICAgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7Ci0KLQkJaWYgKHJhbWRpc2tfZW5kIDw9IGVuZF9vZl9tZW0pIHsKLQkJCS8qCi0JCQkgKiBkb24ndCBuZWVkIHRvIHJlc2VydmUgYWdhaW4sIGFscmVhZHkgcmVzZXJ2ZWQgZWFybHkKLQkJCSAqIGluIHg4Nl82NF9zdGFydF9rZXJuZWwsIGFuZCBlYXJseV9yZXNfdG9fYm9vdG1lbQotCQkJICogY29udmVydCB0aGF0IHRvIHJlc2VydmVkIGluIGJvb3RtZW0KLQkJCSAqLwotCQkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOwotCQkJaW5pdHJkX2VuZCA9IGluaXRyZF9zdGFydCtyYW1kaXNrX3NpemU7Ci0JCX0gZWxzZSB7Ci0JCQlmcmVlX2Jvb3RtZW0ocmFtZGlza19pbWFnZSwgcmFtZGlza19zaXplKTsKLQkJCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBtZW1vcnkgIgotCQkJICAgICAgICIoMHglMDhseCA+IDB4JTA4bHgpXG5kaXNhYmxpbmcgaW5pdHJkXG4iLAotCQkJICAgICAgIHJhbWRpc2tfZW5kLCBlbmRfb2ZfbWVtKTsKLQkJCWluaXRyZF9zdGFydCA9IDA7Ci0JCX0KLQl9Ci0jZW5kaWYKLQlyZXNlcnZlX2NyYXNoa2VybmVsKCk7Ci0KLQlyZXNlcnZlX2liZnRfcmVnaW9uKCk7Ci0KLQlwYWdpbmdfaW5pdCgpOwotCW1hcF92c3lzY2FsbCgpOwotCi0JZWFybHlfcXVpcmtzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogUmVhZCBBUElDIGFuZCBzb21lIG90aGVyIGVhcmx5IGluZm9ybWF0aW9uIGZyb20gQUNQSSB0YWJsZXMuCi0JICovCi0JYWNwaV9ib290X2luaXQoKTsKLSNlbmRpZgotCi0JaW5pdF9jcHVfdG9fbm9kZSgpOwotCi0JLyoKLQkgKiBnZXQgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSAqLwotCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlnZXRfc21wX2NvbmZpZygpOwotCWluaXRfYXBpY19tYXBwaW5ncygpOwotCWlvYXBpY19pbml0X21hcHBpbmdzKCk7Ci0KLQlrdm1fZ3Vlc3RfaW5pdCgpOwotCi0JLyoKLQkgKiBXZSB0cnVzdCBlODIwIGNvbXBsZXRlbHkuIE5vIGV4cGxpY2l0IFJPTSBwcm9iaW5nIGluIG1lbW9yeS4KLQkgKi8KLQllODIwX3Jlc2VydmVfcmVzb3VyY2VzKCk7Ci0JZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKCk7Ci0KLQkvKiByZXF1ZXN0IEkvTyBzcGFjZSBmb3IgZGV2aWNlcyB1c2VkIG9uIGFsbCBpWzM0NV04NiBQQ3MgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9pb19yZXNvdXJjZXMpOyBpKyspCi0JCXJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnN0YW5kYXJkX2lvX3Jlc291cmNlc1tpXSk7Ci0KLQllODIwX3NldHVwX2dhcCgpOwotCi0jaWZkZWYgQ09ORklHX1ZUCi0jaWYgZGVmaW5lZChDT05GSUdfVkdBX0NPTlNPTEUpCi0JaWYgKCFlZmlfZW5hYmxlZCB8fCAoZWZpX21lbV90eXBlKDB4YTAwMDApICE9IEVGSV9DT05WRU5USU9OQUxfTUVNT1JZKSkKLQkJY29uc3dpdGNocCA9ICZ2Z2FfY29uOwotI2VsaWYgZGVmaW5lZChDT05GSUdfRFVNTVlfQ09OU09MRSkKLQljb25zd2l0Y2hwID0gJmR1bW15X2NvbjsKLSNlbmRpZgotI2VuZGlmCi0KLQkvKiBkbyB0aGlzIGJlZm9yZSBpZGVudGlmeV9jcHUgZm9yIGJvb3QgY3B1ICovCi0JY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKCk7Ci19Ci0KLXN0YXRpYyBpbnQgX19jcHVpbml0IGdldF9tb2RlbF9uYW1lKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQl1bnNpZ25lZCBpbnQgKnY7Ci0KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPCAweDgwMDAwMDA0KQotCQlyZXR1cm4gMDsKLQotCXYgPSAodW5zaWduZWQgaW50ICopIGMtPng4Nl9tb2RlbF9pZDsKLQljcHVpZCgweDgwMDAwMDAyLCAmdlswXSwgJnZbMV0sICZ2WzJdLCAmdlszXSk7Ci0JY3B1aWQoMHg4MDAwMDAwMywgJnZbNF0sICZ2WzVdLCAmdls2XSwgJnZbN10pOwotCWNwdWlkKDB4ODAwMDAwMDQsICZ2WzhdLCAmdls5XSwgJnZbMTBdLCAmdlsxMV0pOwotCWMtPng4Nl9tb2RlbF9pZFs0OF0gPSAwOwotCXJldHVybiAxOwotfQotCi0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBkaXNwbGF5X2NhY2hlaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgaW50IG4sIGR1bW15LCBlYXgsIGVieCwgZWN4LCBlZHg7Ci0KLQluID0gYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWw7Ci0KLQlpZiAobiA+PSAweDgwMDAwMDA1KSB7Ci0JCWNwdWlkKDB4ODAwMDAwMDUsICZkdW1teSwgJmVieCwgJmVjeCwgJmVkeCk7Ci0JCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDEgSSBDYWNoZTogJWRLICglZCBieXRlcy9saW5lKSwgIgotCQkgICAgICAgIkQgY2FjaGUgJWRLICglZCBieXRlcy9saW5lKVxuIiwKLQkJICAgICAgIGVkeD4+MjQsIGVkeCYweEZGLCBlY3g+PjI0LCBlY3gmMHhGRik7Ci0JCWMtPng4Nl9jYWNoZV9zaXplID0gKGVjeD4+MjQpICsgKGVkeD4+MjQpOwotCQkvKiBPbiBLOCBMMSBUTEIgaXMgaW5jbHVzaXZlLCBzbyBkb24ndCBjb3VudCBpdCAqLwotCQljLT54ODZfdGxic2l6ZSA9IDA7Ci0JfQotCi0JaWYgKG4gPj0gMHg4MDAwMDAwNikgewotCQljcHVpZCgweDgwMDAwMDA2LCAmZHVtbXksICZlYngsICZlY3gsICZlZHgpOwotCQllY3ggPSBjcHVpZF9lY3goMHg4MDAwMDAwNik7Ci0JCWMtPng4Nl9jYWNoZV9zaXplID0gZWN4ID4+IDE2OwotCQljLT54ODZfdGxic2l6ZSArPSAoKGVieCA+PiAxNikgJiAweGZmZikgKyAoZWJ4ICYgMHhmZmYpOwotCi0JCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDIgQ2FjaGU6ICVkSyAoJWQgYnl0ZXMvbGluZSlcbiIsCi0JCWMtPng4Nl9jYWNoZV9zaXplLCBlY3ggJiAweEZGKTsKLQl9Ci0JaWYgKG4gPj0gMHg4MDAwMDAwOCkgewotCQljcHVpZCgweDgwMDAwMDA4LCAmZWF4LCAmZHVtbXksICZkdW1teSwgJmR1bW15KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotc3RhdGljIGludCBfX2NwdWluaXQgbmVhcmJ5X25vZGUoaW50IGFwaWNpZCkKLXsKLQlpbnQgaSwgbm9kZTsKLQotCWZvciAoaSA9IGFwaWNpZCAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKLQkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQotCQkJcmV0dXJuIG5vZGU7Ci0JfQotCWZvciAoaSA9IGFwaWNpZCArIDE7IGkgPCBNQVhfTE9DQUxfQVBJQzsgaSsrKSB7Ci0JCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKLQkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQotCQkJcmV0dXJuIG5vZGU7Ci0JfQotCXJldHVybiBmaXJzdF9ub2RlKG5vZGVfb25saW5lX21hcCk7IC8qIFNob3VsZG4ndCBoYXBwZW4gKi8KLX0KLSNlbmRpZgotCi0vKgotICogT24gYSBBTUQgZHVhbCBjb3JlIHNldHVwIHRoZSBsb3dlciBiaXRzIG9mIHRoZSBBUElDIGlkIGRpc3Rpbmd1c2ggdGhlIGNvcmVzLgotICogQXNzdW1lcyBudW1iZXIgb2YgY29yZXMgaXMgYSBwb3dlciBvZiB0d28uCi0gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBhbWRfZGV0ZWN0X2NtcChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0jaWZkZWYgQ09ORklHX1NNUAotCXVuc2lnbmVkIGJpdHM7Ci0jaWZkZWYgQ09ORklHX05VTUEKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCBub2RlID0gMDsKLQl1bnNpZ25lZCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKLSNlbmRpZgotCWJpdHMgPSBjLT54ODZfY29yZWlkX2JpdHM7Ci0KLQkvKiBMb3cgb3JkZXIgYml0cyBkZWZpbmUgdGhlIGNvcmUgaWQgKGluZGV4IG9mIGNvcmUgaW4gc29ja2V0KSAqLwotCWMtPmNwdV9jb3JlX2lkID0gYy0+aW5pdGlhbF9hcGljaWQgJiAoKDEgPDwgYml0cyktMSk7Ci0JLyogQ29udmVydCB0aGUgaW5pdGlhbCBBUElDIElEIGludG8gdGhlIHNvY2tldCBJRCAqLwotCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkID4+IGJpdHM7Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotCW5vZGUgPSBjLT5waHlzX3Byb2NfaWQ7Ci0JaWYgKGFwaWNpZF90b19ub2RlW2FwaWNpZF0gIT0gTlVNQV9OT19OT0RFKQotCQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKLQlpZiAoIW5vZGVfb25saW5lKG5vZGUpKSB7Ci0JCS8qIFR3byBwb3NzaWJpbGl0aWVzIGhlcmU6Ci0JCSAgIC0gVGhlIENQVSBpcyBtaXNzaW5nIG1lbW9yeSBhbmQgbm8gbm9kZSB3YXMgY3JlYXRlZC4KLQkJICAgSW4gdGhhdCBjYXNlIHRyeSBwaWNraW5nIG9uZSBmcm9tIGEgbmVhcmJ5IENQVQotCQkgICAtIFRoZSBBUElDIElEcyBkaWZmZXIgZnJvbSB0aGUgSHlwZXJUcmFuc3BvcnQgbm9kZSBJRHMKLQkJICAgd2hpY2ggdGhlIEs4IG5vcnRoYnJpZGdlIHBhcnNpbmcgZmlsbHMgaW4uCi0JCSAgIEFzc3VtZSB0aGV5IGFyZSBhbGwgaW5jcmVhc2VkIGJ5IGEgY29uc3RhbnQgb2Zmc2V0LAotCQkgICBidXQgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIEhUIG5vZGVpZHMuCi0JCSAgIElmIHRoYXQgZG9lc24ndCByZXN1bHQgaW4gYSB1c2FibGUgbm9kZSBmYWxsIGJhY2sgdG8gdGhlCi0JCSAgIHBhdGggZm9yIHRoZSBwcmV2aW91cyBjYXNlLiAgKi8KLQotCQlpbnQgaHRfbm9kZWlkID0gYy0+aW5pdGlhbF9hcGljaWQ7Ci0KLQkJaWYgKGh0X25vZGVpZCA+PSAwICYmCi0JCSAgICBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdICE9IE5VTUFfTk9fTk9ERSkKLQkJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdOwotCQkvKiBQaWNrIGEgbmVhcmJ5IG5vZGUgKi8KLQkJaWYgKCFub2RlX29ubGluZShub2RlKSkKLQkJCW5vZGUgPSBuZWFyYnlfbm9kZShhcGljaWQpOwotCX0KLQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDUFUgJWQvJXggLT4gTm9kZSAlZFxuIiwgY3B1LCBhcGljaWQsIG5vZGUpOwotI2VuZGlmCi0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kX21jKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLSNpZmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgYml0cywgZWN4OwotCi0JLyogTXVsdGkgY29yZSBDUFU/ICovCi0JaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwOCkKLQkJcmV0dXJuOwotCi0JZWN4ID0gY3B1aWRfZWN4KDB4ODAwMDAwMDgpOwotCi0JYy0+eDg2X21heF9jb3JlcyA9IChlY3ggJiAweGZmKSArIDE7Ci0KLQkvKiBDUFUgdGVsbGluZyB1cyB0aGUgY29yZSBpZCBiaXRzIHNoaWZ0PyAqLwotCWJpdHMgPSAoZWN4ID4+IDEyKSAmIDB4RjsKLQotCS8qIE90aGVyd2lzZSByZWNvbXB1dGUgKi8KLQlpZiAoYml0cyA9PSAwKSB7Ci0JCXdoaWxlICgoMSA8PCBiaXRzKSA8IGMtPng4Nl9tYXhfY29yZXMpCi0JCQliaXRzKys7Ci0JfQotCi0JYy0+eDg2X2NvcmVpZF9iaXRzID0gYml0czsKLQotI2VuZGlmCi19Ci0KLSNkZWZpbmUgRU5BQkxFX0MxRV9NQVNLCQkweDE4MDAwMDAwCi0jZGVmaW5lIENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUJMQotI2RlZmluZSBDUFVJRF9YRkFNCQkweDBmZjAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fSzgJCTB4MDAwMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMEgJCTB4MDAxMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMUgJCTB4MDAyMDAwMDAKLSNkZWZpbmUgQ1BVSURfWE1PRAkJMHgwMDBmMDAwMAotI2RlZmluZSBDUFVJRF9YTU9EX1JFVl9GCTB4MDAwNDAwMDAKLQotLyogQU1EIHN5c3RlbXMgd2l0aCBDMUUgZG9uJ3QgaGF2ZSBhIHdvcmtpbmcgbEFQSUMgdGltZXIuIENoZWNrIGZvciB0aGF0LiAqLwotc3RhdGljIF9fY3B1aW5pdCBpbnQgYW1kX2FwaWNfdGltZXJfYnJva2VuKHZvaWQpCi17Ci0JdTMyIGxvLCBoaSwgZWF4ID0gY3B1aWRfZWF4KENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUpOwotCi0Jc3dpdGNoIChlYXggJiBDUFVJRF9YRkFNKSB7Ci0JY2FzZSBDUFVJRF9YRkFNX0s4OgotCQlpZiAoKGVheCAmIENQVUlEX1hNT0QpIDwgQ1BVSURfWE1PRF9SRVZfRikKLQkJCWJyZWFrOwotCWNhc2UgQ1BVSURfWEZBTV8xMEg6Ci0JY2FzZSBDUFVJRF9YRkFNXzExSDoKLQkJcmRtc3IoTVNSX0s4X0VOQUJMRV9DMUUsIGxvLCBoaSk7Ci0JCWlmIChsbyAmIEVOQUJMRV9DMUVfTUFTSykKLQkJCXJldHVybiAxOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQkvKiBlcnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiAqLwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JZWFybHlfaW5pdF9hbWRfbWMoYyk7Ci0KLSAJLyogYy0+eDg2X3Bvd2VyIGlzIDgwMDBfMDAwNyBlZHguIEJpdCA4IGlzIGNvbnN0YW50IFRTQyAqLwotCWlmIChjLT54ODZfcG93ZXIgJiAoMTw8OCkpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgbGV2ZWw7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgbG9uZyB2YWx1ZTsKLQotCS8qCi0JICogRGlzYWJsZSBUTEIgZmx1c2ggZmlsdGVyIGJ5IHNldHRpbmcgSFdDUi5GRkRJUyBvbiBLOAotCSAqIGJpdCA2IG9mIG1zciBDMDAxXzAwMTUKLQkgKgotCSAqIEVycmF0YSA2MyBmb3IgU0gtQjMgc3RlcHBpbmdzCi0JICogRXJyYXRhIDEyMiBmb3IgYWxsIHN0ZXBwaW5ncyAoRisgaGF2ZSBpdCBkaXNhYmxlZCBieSBkZWZhdWx0KQotCSAqLwotCWlmIChjLT54ODYgPT0gMTUpIHsKLQkJcmRtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7Ci0JCXZhbHVlIHw9IDEgPDwgNjsKLQkJd3Jtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7Ci0JfQotI2VuZGlmCi0KLQkvKiBCaXQgMzEgaW4gbm9ybWFsIENQVUlEIHVzZWQgZm9yIG5vbnN0YW5kYXJkIDNETm93IElEOwotCSAgIDNETm93IGlzIElEZCBieSBiaXQgMzEgaW4gZXh0ZW5kZWQgQ1BVSUQgKDEqMzIrMzEpIGFueXdheSAqLwotCWNsZWFyX2NwdV9jYXAoYywgMCozMiszMSk7Ci0KLQkvKiBPbiBDKyBzdGVwcGluZyBLOCByZXAgbWljcm9jb2RlIHdvcmtzIHdlbGwgZm9yIGNvcHkvbWVtc2V0ICovCi0JbGV2ZWwgPSBjcHVpZF9lYXgoMSk7Ci0JaWYgKGMtPng4NiA9PSAxNSAmJiAoKGxldmVsID49IDB4MGY0OCAmJiBsZXZlbCA8IDB4MGY1MCkgfHwKLQkJCSAgICAgbGV2ZWwgPj0gMHgwZjU4KSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCWlmIChjLT54ODYgPT0gMHgxMCB8fCBjLT54ODYgPT0gMHgxMSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCi0JLyogRW5hYmxlIHdvcmthcm91bmQgZm9yIEZYU0FWRSBsZWFrICovCi0JaWYgKGMtPng4NiA+PSA2KQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9GWFNBVkVfTEVBSyk7Ci0KLQlsZXZlbCA9IGdldF9tb2RlbF9uYW1lKGMpOwotCWlmICghbGV2ZWwpIHsKLQkJc3dpdGNoIChjLT54ODYpIHsKLQkJY2FzZSAxNToKLQkJCS8qIFNob3VsZCBkaXN0aW5ndWlzaCBNb2RlbHMgaGVyZSwgYnV0IHRoaXMgaXMgb25seQotCQkJICAgYSBmYWxsYmFjayBhbnl3YXlzLiAqLwotCQkJc3RyY3B5KGMtPng4Nl9tb2RlbF9pZCwgIkhhbW1lciIpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0JZGlzcGxheV9jYWNoZWluZm8oYyk7Ci0KLQkvKiBNdWx0aSBjb3JlIENQVT8gKi8KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCkKLQkJYW1kX2RldGVjdF9jbXAoYyk7Ci0KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNiAmJgotCQkoY3B1aWRfZWR4KDB4ODAwMDAwMDYpICYgMHhmMDAwKSkKLQkJbnVtX2NhY2hlX2xlYXZlcyA9IDQ7Ci0JZWxzZQotCQludW1fY2FjaGVfbGVhdmVzID0gMzsKLQotCWlmIChjLT54ODYgPT0gMHhmIHx8IGMtPng4NiA9PSAweDEwIHx8IGMtPng4NiA9PSAweDExKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9LOCk7Ci0KLQkvKiBNRkVOQ0Ugc3RvcHMgUkRUU0Mgc3BlY3VsYXRpb24gKi8KLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9NRkVOQ0VfUkRUU0MpOwotCi0JaWYgKGMtPng4NiA9PSAweDEwKQotCQlmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKCk7Ci0KLQlpZiAoYW1kX2FwaWNfdGltZXJfYnJva2VuKCkpCi0JCWRpc2FibGVfYXBpY190aW1lciA9IDE7Ci0KLQlpZiAoYyA9PSAmYm9vdF9jcHVfZGF0YSAmJiBjLT54ODYgPj0gMHhmICYmIGMtPng4NiA8PSAweDExKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2VnOwotCi0JCS8qCi0JCSAqIFNwbGl0IHVwIGRpcmVjdCBtYXBwaW5nIGFyb3VuZCB0aGUgVFNFRyBTTU0gYXJlYS4KLQkJICogRG9uJ3QgZG8gaXQgZm9yIGdicGFnZXMgYmVjYXVzZSB0aGVyZSBzZWVtcyB2ZXJ5IGxpdHRsZQotCQkgKiBiZW5lZml0IGluIGRvaW5nIHNvLgotCQkgKi8KLQkJaWYgKCFyZG1zcmxfc2FmZShNU1JfSzhfVFNFR19BRERSLCAmdHNlZykgJiYKLQkJKHRzZWcgPj4gUE1EX1NISUZUKSA8IChtYXhfcGZuX21hcHBlZCA+PiAoUE1EX1NISUZULVBBR0VfU0hJRlQpKSkKLQkJCXNldF9tZW1vcnlfNGsoKHVuc2lnbmVkIGxvbmcpX192YSh0c2VnKSwgMSk7Ci0JfQotfQotCi12b2lkIF9fY3B1aW5pdCBkZXRlY3RfaHQoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotI2lmZGVmIENPTkZJR19TTVAKLQl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OwotCWludCBpbmRleF9tc2IsIGNvcmVfYml0czsKLQotCWNwdWlkKDEsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwotCi0KLQlpZiAoIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfSFQpKQotCQlyZXR1cm47Ci0JaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWSkpCi0JCWdvdG8gb3V0OwotCi0Jc21wX251bV9zaWJsaW5ncyA9IChlYnggJiAweGZmMDAwMCkgPj4gMTY7Ci0KLQlpZiAoc21wX251bV9zaWJsaW5ncyA9PSAxKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gICJDUFU6IEh5cGVyLVRocmVhZGluZyBpcyBkaXNhYmxlZFxuIik7Ci0JfSBlbHNlIGlmIChzbXBfbnVtX3NpYmxpbmdzID4gMSkgewotCi0JCWlmIChzbXBfbnVtX3NpYmxpbmdzID4gTlJfQ1BVUykgewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ1BVOiBVbnN1cHBvcnRlZCBudW1iZXIgb2YgIgotCQkJICAgICAgICJzaWJsaW5ncyAlZCIsIHNtcF9udW1fc2libGluZ3MpOwotCQkJc21wX251bV9zaWJsaW5ncyA9IDE7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpbmRleF9tc2IgPSBnZXRfY291bnRfb3JkZXIoc21wX251bV9zaWJsaW5ncyk7Ci0JCWMtPnBoeXNfcHJvY19pZCA9IHBoeXNfcGtnX2lkKGluZGV4X21zYik7Ci0KLQkJc21wX251bV9zaWJsaW5ncyA9IHNtcF9udW1fc2libGluZ3MgLyBjLT54ODZfbWF4X2NvcmVzOwotCi0JCWluZGV4X21zYiA9IGdldF9jb3VudF9vcmRlcihzbXBfbnVtX3NpYmxpbmdzKTsKLQotCQljb3JlX2JpdHMgPSBnZXRfY291bnRfb3JkZXIoYy0+eDg2X21heF9jb3Jlcyk7Ci0KLQkJYy0+Y3B1X2NvcmVfaWQgPSBwaHlzX3BrZ19pZChpbmRleF9tc2IpICYKLQkJCQkJICAgICAgICgoMSA8PCBjb3JlX2JpdHMpIC0gMSk7Ci0JfQotb3V0OgotCWlmICgoYy0+eDg2X21heF9jb3JlcyAqIHNtcF9udW1fc2libGluZ3MpID4gMSkgewotCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6ICVkXG4iLAotCQkgICAgICAgYy0+cGh5c19wcm9jX2lkKTsKLQkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogUHJvY2Vzc29yIENvcmUgSUQ6ICVkXG4iLAotCQkgICAgICAgYy0+Y3B1X2NvcmVfaWQpOwotCX0KLQotI2VuZGlmCi19Ci0KLS8qCi0gKiBmaW5kIG91dCB0aGUgbnVtYmVyIG9mIHByb2Nlc3NvciBjb3JlcyBvbiB0aGUgZGllCi0gKi8KLXN0YXRpYyBpbnQgX19jcHVpbml0IGludGVsX251bV9jcHVfY29yZXMoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXVuc2lnbmVkIGludCBlYXgsIHQ7Ci0KLQlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCA0KQotCQlyZXR1cm4gMTsKLQotCWNwdWlkX2NvdW50KDQsIDAsICZlYXgsICZ0LCAmdCwgJnQpOwotCi0JaWYgKGVheCAmIDB4MWYpCi0JCXJldHVybiAoKGVheCA+PiAyNikgKyAxKTsKLQllbHNlCi0JCXJldHVybiAxOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgc3JhdF9kZXRlY3Rfbm9kZSh2b2lkKQotewotI2lmZGVmIENPTkZJR19OVU1BCi0JdW5zaWduZWQgbm9kZTsKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKLQotCS8qIERvbid0IGRvIHRoZSBmdW5reSBmYWxsYmFjayBoZXVyaXN0aWNzIHRoZSBBTUQgdmVyc2lvbiBlbXBsb3lzCi0JICAgZm9yIG5vdy4gKi8KLQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKLQlpZiAobm9kZSA9PSBOVU1BX05PX05PREUgfHwgIW5vZGVfb25saW5lKG5vZGUpKQotCQlub2RlID0gZmlyc3Rfbm9kZShub2RlX29ubGluZV9tYXApOwotCW51bWFfc2V0X25vZGUoY3B1LCBub2RlKTsKLQotCXByaW50ayhLRVJOX0lORk8gIkNQVSAlZC8leCAtPiBOb2RlICVkXG4iLCBjcHUsIGFwaWNpZCwgbm9kZSk7Ci0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfaW50ZWwoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmICgoYy0+eDg2ID09IDB4ZiAmJiBjLT54ODZfbW9kZWwgPj0gMHgwMykgfHwKLQkgICAgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4MGUpKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9pbnRlbChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JLyogQ2FjaGUgc2l6ZXMgKi8KLQl1bnNpZ25lZCBuOwotCi0JaW5pdF9pbnRlbF9jYWNoZWluZm8oYyk7Ci0JaWYgKGMtPmNwdWlkX2xldmVsID4gOSkgewotCQl1bnNpZ25lZCBlYXggPSBjcHVpZF9lYXgoMTApOwotCQkvKiBDaGVjayBmb3IgdmVyc2lvbiBhbmQgdGhlIG51bWJlciBvZiBjb3VudGVycyAqLwotCQlpZiAoKGVheCAmIDB4ZmYpICYmICgoKGVheD4+OCkgJiAweGZmKSA+IDEpKQotCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQVJDSF9QRVJGTU9OKTsKLQl9Ci0KLQlpZiAoY3B1X2hhc19kcykgewotCQl1bnNpZ25lZCBpbnQgbDEsIGwyOwotCQlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbDEsIGwyKTsKLQkJaWYgKCEobDEgJiAoMTw8MTEpKSkKLQkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0JUUyk7Ci0JCWlmICghKGwxICYgKDE8PDEyKSkpCi0JCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9QRUJTKTsKLQl9Ci0KLQotCWlmIChjcHVfaGFzX2J0cykKLQkJZHNfaW5pdF9pbnRlbChjKTsKLQotCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKLQlpZiAobiA+PSAweDgwMDAwMDA4KSB7Ci0JCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQkJLyogQ1BVSUQgd29ya2Fyb3VuZCBmb3IgSW50ZWwgMEYzNCBDUFUgKi8KLQkJaWYgKGMtPng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCAmJgotCQkgICAgYy0+eDg2ID09IDB4RiAmJiBjLT54ODZfbW9kZWwgPT0gMHgzICYmCi0JCSAgICBjLT54ODZfbWFzayA9PSAweDQpCi0JCQljLT54ODZfcGh5c19iaXRzID0gMzY7Ci0JfQotCi0JaWYgKGMtPng4NiA9PSAxNSkKLQkJYy0+eDg2X2NhY2hlX2FsaWdubWVudCA9IGMtPng4Nl9jbGZsdXNoX3NpemUgKiAyOwotCWlmIChjLT54ODYgPT0gNikKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0xGRU5DRV9SRFRTQyk7Ci0JYy0+eDg2X21heF9jb3JlcyA9IGludGVsX251bV9jcHVfY29yZXMoYyk7Ci0KLQlzcmF0X2RldGVjdF9ub2RlKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmIChjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweGYpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCS8qIENhY2hlIHNpemVzICovCi0JdW5zaWduZWQgbjsKLQotCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKLQlpZiAobiA+PSAweDgwMDAwMDA4KSB7Ci0JCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQl9Ci0KLQlpZiAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHhmKSB7Ci0JCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCX0KLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZ2V0X2NwdV92ZW5kb3Ioc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWNoYXIgKnYgPSBjLT54ODZfdmVuZG9yX2lkOwotCi0JaWYgKCFzdHJjbXAodiwgIkF1dGhlbnRpY0FNRCIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9BTUQ7Ci0JZWxzZSBpZiAoIXN0cmNtcCh2LCAiR2VudWluZUludGVsIikpCi0JCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX0lOVEVMOwotCWVsc2UgaWYgKCFzdHJjbXAodiwgIkNlbnRhdXJIYXVscyIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9DRU5UQVVSOwotCWVsc2UKLQkJYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKLX0KLQotLyogRG8gc29tZSBlYXJseSBjcHVpZCBvbiB0aGUgYm9vdCBDUFUgdG8gZ2V0IHNvbWUgcGFyYW1ldGVyIHRoYXQgYXJlCi0gICBuZWVkZWQgYmVmb3JlIGNoZWNrX2J1Z3MuIEV2ZXJ5dGhpbmcgYWR2YW5jZWQgaXMgaW4gaWRlbnRpZnlfY3B1Ci0gICBiZWxvdy4gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXUzMiB0Zm1zLCB4bHZsOwotCi0JYy0+bG9vcHNfcGVyX2ppZmZ5ID0gbG9vcHNfcGVyX2ppZmZ5OwotCWMtPng4Nl9jYWNoZV9zaXplID0gLTE7Ci0JYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKLQljLT54ODZfbW9kZWwgPSBjLT54ODZfbWFzayA9IDA7CS8qIFNvIGZhciB1bmtub3duLi4uICovCi0JYy0+eDg2X3ZlbmRvcl9pZFswXSA9ICdcMCc7IC8qIFVuc2V0ICovCi0JYy0+eDg2X21vZGVsX2lkWzBdID0gJ1wwJzsgIC8qIFVuc2V0ICovCi0JYy0+eDg2X2NsZmx1c2hfc2l6ZSA9IDY0OwotCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplOwotCWMtPng4Nl9tYXhfY29yZXMgPSAxOwotCWMtPng4Nl9jb3JlaWRfYml0cyA9IDA7Ci0JYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPSAwOwotCW1lbXNldCgmYy0+eDg2X2NhcGFiaWxpdHksIDAsIHNpemVvZiBjLT54ODZfY2FwYWJpbGl0eSk7Ci0KLQkvKiBHZXQgdmVuZG9yIG5hbWUgKi8KLQljcHVpZCgweDAwMDAwMDAwLCAodW5zaWduZWQgaW50ICopJmMtPmNwdWlkX2xldmVsLAotCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFswXSwKLQkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbOF0sCi0JICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzRdKTsKLQotCWdldF9jcHVfdmVuZG9yKGMpOwotCi0JLyogSW5pdGlhbGl6ZSB0aGUgc3RhbmRhcmQgc2V0IG9mIGNhcGFiaWxpdGllcyAqLwotCS8qIE5vdGUgdGhhdCB0aGUgdmVuZG9yLXNwZWNpZmljIGNvZGUgYmVsb3cgbWlnaHQgb3ZlcnJpZGUgKi8KLQotCS8qIEludGVsLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4MDAwMDAwMDEgKi8KLQlpZiAoYy0+Y3B1aWRfbGV2ZWwgPj0gMHgwMDAwMDAwMSkgewotCQlfX3UzMiBtaXNjOwotCQljcHVpZCgweDAwMDAwMDAxLCAmdGZtcywgJm1pc2MsICZjLT54ODZfY2FwYWJpbGl0eVs0XSwKLQkJICAgICAgJmMtPng4Nl9jYXBhYmlsaXR5WzBdKTsKLQkJYy0+eDg2ID0gKHRmbXMgPj4gOCkgJiAweGY7Ci0JCWMtPng4Nl9tb2RlbCA9ICh0Zm1zID4+IDQpICYgMHhmOwotCQljLT54ODZfbWFzayA9IHRmbXMgJiAweGY7Ci0JCWlmIChjLT54ODYgPT0gMHhmKQotCQkJYy0+eDg2ICs9ICh0Zm1zID4+IDIwKSAmIDB4ZmY7Ci0JCWlmIChjLT54ODYgPj0gMHg2KQotCQkJYy0+eDg2X21vZGVsICs9ICgodGZtcyA+PiAxNikgJiAweEYpIDw8IDQ7Ci0JCWlmICh0ZXN0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ0xGTFNIKSkKLQkJCWMtPng4Nl9jbGZsdXNoX3NpemUgPSAoKG1pc2MgPj4gOCkgJiAweGZmKSAqIDg7Ci0JfSBlbHNlIHsKLQkJLyogSGF2ZSBDUFVJRCBsZXZlbCAwIG9ubHkgLSB1bmhlYXJkIG9mICovCi0JCWMtPng4NiA9IDQ7Ci0JfQotCi0JYy0+aW5pdGlhbF9hcGljaWQgPSAoY3B1aWRfZWJ4KDEpID4+IDI0KSAmIDB4ZmY7Ci0jaWZkZWYgQ09ORklHX1NNUAotCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkOwotI2VuZGlmCi0JLyogQU1ELWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4ODAwMDAwMDEgKi8KLQl4bHZsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOwotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0geGx2bDsKLQlpZiAoKHhsdmwgJiAweGZmZmYwMDAwKSA9PSAweDgwMDAwMDAwKSB7Ci0JCWlmICh4bHZsID49IDB4ODAwMDAwMDEpIHsKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzFdID0gY3B1aWRfZWR4KDB4ODAwMDAwMDEpOwotCQkJYy0+eDg2X2NhcGFiaWxpdHlbNl0gPSBjcHVpZF9lY3goMHg4MDAwMDAwMSk7Ci0JCX0KLQkJaWYgKHhsdmwgPj0gMHg4MDAwMDAwNCkKLQkJCWdldF9tb2RlbF9uYW1lKGMpOyAvKiBEZWZhdWx0IG5hbWUgKi8KLQl9Ci0KLQkvKiBUcmFuc21ldGEtZGVmaW5lZCBmbGFnczogbGV2ZWwgMHg4MDg2MDAwMSAqLwotCXhsdmwgPSBjcHVpZF9lYXgoMHg4MDg2MDAwMCk7Ci0JaWYgKCh4bHZsICYgMHhmZmZmMDAwMCkgPT0gMHg4MDg2MDAwMCkgewotCQkvKiBEb24ndCBzZXQgeDg2X2NwdWlkX2xldmVsIGhlcmUgZm9yIG5vdyB0byBub3QgY29uZnVzZS4gKi8KLQkJaWYgKHhsdmwgPj0gMHg4MDg2MDAwMSkKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzJdID0gY3B1aWRfZWR4KDB4ODA4NjAwMDEpOwotCX0KLQotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOwotCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA3KQotCQljLT54ODZfcG93ZXIgPSBjcHVpZF9lZHgoMHg4MDAwMDAwNyk7Ci0KLQlzd2l0Y2ggKGMtPng4Nl92ZW5kb3IpIHsKLQljYXNlIFg4Nl9WRU5ET1JfQU1EOgotCQllYXJseV9pbml0X2FtZChjKTsKLQkJYnJlYWs7Ci0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQllYXJseV9pbml0X2ludGVsKGMpOwotCQlicmVhazsKLQljYXNlIFg4Nl9WRU5ET1JfQ0VOVEFVUjoKLQkJZWFybHlfaW5pdF9jZW50YXVyKGMpOwotCQlicmVhazsKLQl9Ci0KLQl2YWxpZGF0ZV9wYXRfc3VwcG9ydChjKTsKLX0KLQotLyoKLSAqIFRoaXMgZG9lcyB0aGUgaGFyZCB3b3JrIG9mIGFjdHVhbGx5IHBpY2tpbmcgYXBhcnQgdGhlIENQVSBzdHVmZi4uLgotICovCi12b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWludCBpOwotCi0JZWFybHlfaWRlbnRpZnlfY3B1KGMpOwotCi0JaW5pdF9zY2F0dGVyZWRfY3B1aWRfZmVhdHVyZXMoYyk7Ci0KLQljLT5hcGljaWQgPSBwaHlzX3BrZ19pZCgwKTsKLQotCS8qCi0JICogVmVuZG9yLXNwZWNpZmljIGluaXRpYWxpemF0aW9uLiAgSW4gdGhpcyBzZWN0aW9uIHdlCi0JICogY2Fub25pY2FsaXplIHRoZSBmZWF0dXJlIGZsYWdzLCBtZWFuaW5nIGlmIHRoZXJlIGFyZQotCSAqIGZlYXR1cmVzIGEgY2VydGFpbiBDUFUgc3VwcG9ydHMgd2hpY2ggQ1BVSUQgZG9lc24ndAotCSAqIHRlbGwgdXMsIENQVUlEIGNsYWltaW5nIGluY29ycmVjdCBmbGFncywgb3Igb3RoZXIgYnVncywKLQkgKiB3ZSBoYW5kbGUgdGhlbSBoZXJlLgotCSAqCi0JICogQXQgdGhlIGVuZCBvZiB0aGlzIHNlY3Rpb24sIGMtPng4Nl9jYXBhYmlsaXR5IGJldHRlcgotCSAqIGluZGljYXRlIHRoZSBmZWF0dXJlcyB0aGlzIENQVSBnZW51aW5lbHkgc3VwcG9ydHMhCi0JICovCi0Jc3dpdGNoIChjLT54ODZfdmVuZG9yKSB7Ci0JY2FzZSBYODZfVkVORE9SX0FNRDoKLQkJaW5pdF9hbWQoYyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQlpbml0X2ludGVsKGMpOwotCQlicmVhazsKLQotCWNhc2UgWDg2X1ZFTkRPUl9DRU5UQVVSOgotCQlpbml0X2NlbnRhdXIoYyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX1VOS05PV046Ci0JZGVmYXVsdDoKLQkJZGlzcGxheV9jYWNoZWluZm8oYyk7Ci0JCWJyZWFrOwotCX0KLQotCWRldGVjdF9odChjKTsKLQotCS8qCi0JICogT24gU01QLCBib290X2NwdV9kYXRhIGhvbGRzIHRoZSBjb21tb24gZmVhdHVyZSBzZXQgYmV0d2VlbgotCSAqIGFsbCBDUFVzOyBzbyBtYWtlIHN1cmUgdGhhdCB3ZSBpbmRpY2F0ZSB3aGljaCBmZWF0dXJlcyBhcmUKLQkgKiBjb21tb24gYmV0d2VlbiB0aGUgQ1BVcy4gIFRoZSBmaXJzdCB0aW1lIHRoaXMgcm91dGluZSBnZXRzCi0JICogZXhlY3V0ZWQsIGMgPT0gJmJvb3RfY3B1X2RhdGEuCi0JICovCi0JaWYgKGMgIT0gJmJvb3RfY3B1X2RhdGEpIHsKLQkJLyogQU5EIHRoZSBhbHJlYWR5IGFjY3VtdWxhdGVkIGZsYWdzIHdpdGggdGhlc2UgKi8KLQkJZm9yIChpID0gMDsgaSA8IE5DQVBJTlRTOyBpKyspCi0JCQlib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5W2ldICY9IGMtPng4Nl9jYXBhYmlsaXR5W2ldOwotCX0KLQotCS8qIENsZWFyIGFsbCBmbGFncyBvdmVycmlkZW4gYnkgb3B0aW9ucyAqLwotCWZvciAoaSA9IDA7IGkgPCBOQ0FQSU5UUzsgaSsrKQotCQljLT54ODZfY2FwYWJpbGl0eVtpXSAmPSB+Y2xlYXJlZF9jcHVfY2Fwc1tpXTsKLQotI2lmZGVmIENPTkZJR19YODZfTUNFCi0JbWNoZWNrX2luaXQoYyk7Ci0jZW5kaWYKLQlzZWxlY3RfaWRsZV9yb3V0aW5lKGMpOwotCi0jaWZkZWYgQ09ORklHX05VTUEKLQludW1hX2FkZF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKLSNlbmRpZgotCi19Ci0KLXZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpCi17Ci0JaWRlbnRpZnlfY3B1KCZib290X2NwdV9kYXRhKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JQlVHX09OKGMgPT0gJmJvb3RfY3B1X2RhdGEpOwotCWlkZW50aWZ5X2NwdShjKTsKLQltdHJyX2FwX2luaXQoKTsKLX0KLQotc3RhdGljIF9faW5pdCBpbnQgc2V0dXBfbm9jbGZsdXNoKGNoYXIgKmFyZykKLXsKLQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX0NMRkxTSCk7Ci0JcmV0dXJuIDE7Ci19Ci1fX3NldHVwKCJub2NsZmx1c2giLCBzZXR1cF9ub2NsZmx1c2gpOwotCi12b2lkIF9fY3B1aW5pdCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JaWYgKGMtPng4Nl9tb2RlbF9pZFswXSkKLQkJcHJpbnRrKEtFUk5fQ09OVCAiJXMiLCBjLT54ODZfbW9kZWxfaWQpOwotCi0JaWYgKGMtPng4Nl9tYXNrIHx8IGMtPmNwdWlkX2xldmVsID49IDApCi0JCXByaW50ayhLRVJOX0NPTlQgIiBzdGVwcGluZyAlMDJ4XG4iLCBjLT54ODZfbWFzayk7Ci0JZWxzZQotCQlwcmludGsoS0VSTl9DT05UICJcbiIpOwotfQotCi1zdGF0aWMgX19pbml0IGludCBzZXR1cF9kaXNhYmxlY3B1aWQoY2hhciAqYXJnKQotewotCWludCBiaXQ7Ci0JaWYgKGdldF9vcHRpb24oJmFyZywgJmJpdCkgJiYgYml0IDwgTkNBUElOVFMqMzIpCi0JCXNldHVwX2NsZWFyX2NwdV9jYXAoYml0KTsKLQllbHNlCi0JCXJldHVybiAwOwotCXJldHVybiAxOwotfQotX19zZXR1cCgiY2xlYXJjcHVpZD0iLCBzZXR1cF9kaXNhYmxlY3B1aWQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYzY4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfcGVyY3B1LmMKQEAgLTAsMCArMSwzOTkgQEAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvY3Jhc2hfZHVtcC5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgorI2luY2x1ZGUgPGFzbS9oaWdobWVtLmg+CisKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKK3Vuc2lnbmVkIGludCBudW1fcHJvY2Vzc29yczsKK3Vuc2lnbmVkIGRpc2FibGVkX2NwdXMgX19jcHVpbml0ZGF0YTsKKy8qIFByb2Nlc3NvciB0aGF0IGlzIGRvaW5nIHRoZSBib290IHVwICovCit1bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gLTFVOwordW5zaWduZWQgaW50IG1heF9waHlzaWNhbF9hcGljaWQ7CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7CisKKy8qIEJpdG1hc2sgb2YgcGh5c2ljYWxseSBleGlzdGluZyBDUFVzICovCitwaHlzaWRfbWFza190IHBoeXNfY3B1X3ByZXNlbnRfbWFwOworI2VuZGlmCisKKy8qIG1hcCBjcHUgaW5kZXggdG8gcGh5c2ljYWwgQVBJQyBJRCAqLworREVGSU5FX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCwgQkFEX0FQSUNJRCk7CitERUZJTkVfRUFSTFlfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQsIEJBRF9BUElDSUQpOworRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKHg4Nl9jcHVfdG9fYXBpY2lkKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfYmlvc19jcHVfYXBpY2lkKTsKKworI2lmIGRlZmluZWQoQ09ORklHX05VTUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkKKyNkZWZpbmUJWDg2XzY0X05VTUEJMQorCisvKiBtYXAgY3B1IGluZGV4IHRvIG5vZGUgaW5kZXggKi8KK0RFRklORV9FQVJMWV9QRVJfQ1BVKGludCwgeDg2X2NwdV90b19ub2RlX21hcCwgTlVNQV9OT19OT0RFKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwKTsKKworLyogd2hpY2ggbG9naWNhbCBDUFVzIGFyZSBvbiB3aGljaCBub2RlcyAqLworY3B1bWFza190ICpub2RlX3RvX2NwdW1hc2tfbWFwOworRVhQT1JUX1NZTUJPTChub2RlX3RvX2NwdW1hc2tfbWFwKTsKKworLyogc2V0dXAgbm9kZV90b19jcHVtYXNrX21hcCAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX25vZGVfdG9fY3B1bWFza19tYXAodm9pZCk7CisKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfbm9kZV90b19jcHVtYXNrX21hcCh2b2lkKSB7IH0KKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl9TTVApCisvKgorICogQ29weSBkYXRhIHVzZWQgaW4gZWFybHkgaW5pdCByb3V0aW5lcyBmcm9tIHRoZSBpbml0aWFsIGFycmF5cyB0byB0aGUKKyAqIHBlciBjcHUgZGF0YSBhcmVhcy4gIFRoZXNlIGFycmF5cyB0aGVuIGJlY29tZSBleHBlbmRhYmxlIGFuZCB0aGUKKyAqICpfZWFybHlfcHRyJ3MgYXJlIHplcm9lZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXRpYyBhcnJheXMgYXJlIGdvbmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9wZXJfY3B1X21hcHModm9pZCkKK3sKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpID0KKwkJCQllYXJseV9wZXJfY3B1X21hcCh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KTsKKwkJcGVyX2NwdSh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpID0KKwkJCQllYXJseV9wZXJfY3B1X21hcCh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpOworI2lmZGVmIFg4Nl82NF9OVU1BCisJCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9CisJCQkJZWFybHlfcGVyX2NwdV9tYXAoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKKyNlbmRpZgorCX0KKworCS8qIGluZGljYXRlIHRoZSBlYXJseSBzdGF0aWMgYXJyYXlzIHdpbGwgc29vbiBiZSBnb25lICovCisJZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpID0gTlVMTDsKKwllYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKSA9IE5VTEw7CisjaWZkZWYgWDg2XzY0X05VTUEKKwllYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTEw7CisjZW5kaWYKK30KKworI2lmZGVmIENPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUAorY3B1bWFza190ICpjcHVtYXNrX29mX2NwdV9tYXAgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woY3B1bWFza19vZl9jcHVfbWFwKTsKKworLyogcmVxdWlyZXMgbnJfY3B1X2lkcyB0byBiZSBpbml0aWFsaXplZCAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpCit7CisJaW50IGk7CisKKwkvKiBhbGxvY19ib290bWVtIHplcm9lcyBtZW1vcnkgKi8KKwljcHVtYXNrX29mX2NwdV9tYXAgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2YoY3B1bWFza190KSAqIG5yX2NwdV9pZHMpOworCWZvciAoaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKyspCisJCWNwdV9zZXQoaSwgY3B1bWFza19vZl9jcHVfbWFwW2ldKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1bWFza19vZl9jcHUodm9pZCkgeyB9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qCisgKiBHcmVhdCBmdXR1cmUgbm90LXNvLWZ1dHVyaXN0aWMgcGxhbjogbWFrZSBpMzg2IGFuZCB4ODZfNjQgZG8gaXQKKyAqIHRoZSBzYW1lIHdheQorICovCit1bnNpZ25lZCBsb25nIF9fcGVyX2NwdV9vZmZzZXRbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woX19wZXJfY3B1X29mZnNldCk7CitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1X3BkYV9tYXAodm9pZCkgeyB9CisKKyNlbGlmICFkZWZpbmVkKENPTkZJR19TTVApCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1X3BkYV9tYXAodm9pZCkgeyB9CisKKyNlbHNlIC8qIENPTkZJR19TTVAgJiYgQ09ORklHX1g4Nl82NCAqLworCisvKgorICogQWxsb2NhdGUgY3B1X3BkYSBwb2ludGVyIHRhYmxlIGFuZCBhcnJheSB2aWEgYWxsb2NfYm9vdG1lbS4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV9wZGFfbWFwKHZvaWQpCit7CisJY2hhciAqcGRhOworCXN0cnVjdCB4ODY2NF9wZGEgKipuZXdfY3B1X3BkYTsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisJaW50IGNwdTsKKworCXNpemUgPSByb3VuZHVwKHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKSwgY2FjaGVfbGluZV9zaXplKCkpOworCisJLyogYWxsb2NhdGUgY3B1X3BkYSBhcnJheSBhbmQgcG9pbnRlciB0YWJsZSAqLworCXsKKwkJdW5zaWduZWQgbG9uZyB0c2l6ZSA9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKTsKKwkJdW5zaWduZWQgbG9uZyBhc2l6ZSA9IHNpemUgKiAobnJfY3B1X2lkcyAtIDEpOworCisJCXRzaXplID0gcm91bmR1cCh0c2l6ZSwgY2FjaGVfbGluZV9zaXplKCkpOworCQluZXdfY3B1X3BkYSA9IGFsbG9jX2Jvb3RtZW0odHNpemUgKyBhc2l6ZSk7CisJCXBkYSA9IChjaGFyICopbmV3X2NwdV9wZGEgKyB0c2l6ZTsKKwl9CisKKwkvKiBpbml0aWFsaXplIHBvaW50ZXIgdGFibGUgdG8gc3RhdGljIHBkYSdzICovCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlpZiAoY3B1ID09IDApIHsKKwkJCS8qIGxlYXZlIGJvb3QgY3B1IHBkYSBpbiBwbGFjZSAqLworCQkJbmV3X2NwdV9wZGFbMF0gPSBjcHVfcGRhKDApOworCQkJY29udGludWU7CisJCX0KKwkJbmV3X2NwdV9wZGFbY3B1XSA9IChzdHJ1Y3QgeDg2NjRfcGRhICopcGRhOworCQluZXdfY3B1X3BkYVtjcHVdLT5pbl9ib290bWVtID0gMTsKKwkJcGRhICs9IHNpemU7CisJfQorCisJLyogcG9pbnQgdG8gbmV3IHBvaW50ZXIgdGFibGUgKi8KKwlfY3B1X3BkYSA9IG5ld19jcHVfcGRhOworfQorI2VuZGlmCisKKy8qCisgKiBHcmVhdCBmdXR1cmUgcGxhbjoKKyAqIERlY2xhcmUgUERBIGl0c2VsZiBhbmQgc3VwcG9ydCAoaXJxc3RhY2ssdHNzLHBnZCkgYXMgcGVyIGNwdSBkYXRhLgorICogQWx3YXlzIHBvaW50ICVncyB0byBpdHMgYmVnaW5uaW5nCisgKi8KK3ZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfYXJlYXModm9pZCkKK3sKKwlzc2l6ZV90IHNpemUgPSBQRVJDUFVfRU5PVUdIX1JPT007CisJY2hhciAqcHRyOworCWludCBjcHU7CisKKwkvKiBTZXR1cCBjcHVfcGRhIG1hcCAqLworCXNldHVwX2NwdV9wZGFfbWFwKCk7CisKKwkvKiBDb3B5IHNlY3Rpb24gZm9yIGVhY2ggQ1BVICh3ZSBkaXNjYXJkIHRoZSBvcmlnaW5hbCkgKi8KKwlzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOworCXByaW50ayhLRVJOX0lORk8gIlBFUkNQVTogQWxsb2NhdGluZyAlemQgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhXG4iLAorCQkJICBzaXplKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKyNpZm5kZWYgQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMKKwkJcHRyID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhzaXplKTsKKyNlbHNlCisJCWludCBub2RlID0gZWFybHlfY3B1X3RvX25vZGUoY3B1KTsKKwkJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUpKSB7CisJCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOworCQkJcHJpbnRrKEtFUk5fSU5GTworCQkJICAgICAgICJjcHUgJWQgaGFzIG5vIG5vZGUgJWQgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsCisJCQkJY3B1LCBub2RlKTsKKwkJfQorCQllbHNlCisJCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzX25vZGUoTk9ERV9EQVRBKG5vZGUpLCBzaXplKTsKKyNlbmRpZgorCQlwZXJfY3B1X29mZnNldChjcHUpID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OworCQltZW1jcHkocHRyLCBfX3Blcl9jcHVfc3RhcnQsIF9fcGVyX2NwdV9lbmQgLSBfX3Blcl9jcHVfc3RhcnQpOworCisJfQorCisJcHJpbnRrKEtFUk5fREVCVUcgIk5SX0NQVVM6ICVkLCBucl9jcHVfaWRzOiAlZCwgbnJfbm9kZV9pZHMgJWRcbiIsCisJCU5SX0NQVVMsIG5yX2NwdV9pZHMsIG5yX25vZGVfaWRzKTsKKworCS8qIFNldHVwIHBlcmNwdSBkYXRhIG1hcHMgKi8KKwlzZXR1cF9wZXJfY3B1X21hcHMoKTsKKworCS8qIFNldHVwIG5vZGUgdG8gY3B1bWFzayBtYXAgKi8KKwlzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKCk7CisKKwkvKiBTZXR1cCBjcHVtYXNrX29mX2NwdSBtYXAgKi8KKwlzZXR1cF9jcHVtYXNrX29mX2NwdSgpOworfQorCisjZW5kaWYKKworI2lmZGVmIFg4Nl82NF9OVU1BCisKKy8qCisgKiBBbGxvY2F0ZSBub2RlX3RvX2NwdW1hc2tfbWFwIGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgbm9kZXMKKyAqIFJlcXVpcmVzIG5vZGVfcG9zc2libGVfbWFwIHRvIGJlIHZhbGlkLgorICoKKyAqIE5vdGU6IG5vZGVfdG9fY3B1bWFzaygpIGlzIG5vdCB2YWxpZCB1bnRpbCBhZnRlciB0aGlzIGlzIGRvbmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKHZvaWQpCit7CisJdW5zaWduZWQgaW50IG5vZGUsIG51bSA9IDA7CisJY3B1bWFza190ICptYXA7CisKKwkvKiBzZXR1cCBucl9ub2RlX2lkcyBpZiBub3QgZG9uZSB5ZXQgKi8KKwlpZiAobnJfbm9kZV9pZHMgPT0gTUFYX05VTU5PREVTKSB7CisJCWZvcl9lYWNoX25vZGVfbWFzayhub2RlLCBub2RlX3Bvc3NpYmxlX21hcCkKKwkJCW51bSA9IG5vZGU7CisJCW5yX25vZGVfaWRzID0gbnVtICsgMTsKKwl9CisKKwkvKiBhbGxvY2F0ZSB0aGUgbWFwICovCisJbWFwID0gYWxsb2NfYm9vdG1lbV9sb3cobnJfbm9kZV9pZHMgKiBzaXplb2YoY3B1bWFza190KSk7CisKKwlEcHJpbnRrKEtFUk5fREVCVUcgIk5vZGUgdG8gY3B1bWFzayBtYXAgYXQgJXAgZm9yICVkIG5vZGVzXG4iLAorCQltYXAsIG5yX25vZGVfaWRzKTsKKworCS8qIG5vZGVfdG9fY3B1bWFzaygpIHdpbGwgbm93IHdvcmsgKi8KKwlub2RlX3RvX2NwdW1hc2tfbWFwID0gbWFwOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKQoreworCWludCAqY3B1X3RvX25vZGVfbWFwID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCk7CisKKwlpZiAoY3B1X3BkYShjcHUpICYmIG5vZGUgIT0gTlVNQV9OT19OT0RFKQorCQljcHVfcGRhKGNwdSktPm5vZGVudW1iZXIgPSBub2RlOworCisJaWYgKGNwdV90b19ub2RlX21hcCkKKwkJY3B1X3RvX25vZGVfbWFwW2NwdV0gPSBub2RlOworCisJZWxzZSBpZiAocGVyX2NwdV9vZmZzZXQoY3B1KSkKKwkJcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpID0gbm9kZTsKKworCWVsc2UKKwkJRHByaW50ayhLRVJOX0lORk8gIlNldHRpbmcgbm9kZSBmb3Igbm9uLXByZXNlbnQgY3B1ICVkXG4iLCBjcHUpOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX2NsZWFyX25vZGUoaW50IGNwdSkKK3sKKwludW1hX3NldF9ub2RlKGNwdSwgTlVNQV9OT19OT0RFKTsKK30KKworI2lmbmRlZiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTCisKK3ZvaWQgX19jcHVpbml0IG51bWFfYWRkX2NwdShpbnQgY3B1KQoreworCWNwdV9zZXQoY3B1LCBub2RlX3RvX2NwdW1hc2tfbWFwW2Vhcmx5X2NwdV90b19ub2RlKGNwdSldKTsKK30KKwordm9pZCBfX2NwdWluaXQgbnVtYV9yZW1vdmVfY3B1KGludCBjcHUpCit7CisJY3B1X2NsZWFyKGNwdSwgbm9kZV90b19jcHVtYXNrX21hcFtjcHVfdG9fbm9kZShjcHUpXSk7Cit9CisKKyNlbHNlIC8qIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgKi8KKworLyoKKyAqIC0tLS0tLS0tLSBkZWJ1ZyB2ZXJzaW9ucyBvZiB0aGUgbnVtYSBmdW5jdGlvbnMgLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9jcHVtYXNrKGludCBjcHUsIGludCBlbmFibGUpCit7CisJaW50IG5vZGUgPSBjcHVfdG9fbm9kZShjcHUpOworCWNwdW1hc2tfdCAqbWFzazsKKwljaGFyIGJ1Zls2NF07CisKKwlpZiAobm9kZV90b19jcHVtYXNrX21hcCA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAibm9kZV90b19jcHVtYXNrX21hcCBOVUxMXG4iKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm47CisJfQorCisJbWFzayA9ICZub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdOworCWlmIChlbmFibGUpCisJCWNwdV9zZXQoY3B1LCAqbWFzayk7CisJZWxzZQorCQljcHVfY2xlYXIoY3B1LCAqbWFzayk7CisKKwljcHVsaXN0X3NjbnByaW50ZihidWYsIHNpemVvZihidWYpLCAqbWFzayk7CisJcHJpbnRrKEtFUk5fREVCVUcgIiVzIGNwdSAlZCBub2RlICVkOiBtYXNrIG5vdyAlc1xuIiwKKwkJZW5hYmxlPyAibnVtYV9hZGRfY3B1IjoibnVtYV9yZW1vdmVfY3B1IiwgY3B1LCBub2RlLCBidWYpOworIH0KKwordm9pZCBfX2NwdWluaXQgbnVtYV9hZGRfY3B1KGludCBjcHUpCit7CisJbnVtYV9zZXRfY3B1bWFzayhjcHUsIDEpOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSkKK3sKKwludW1hX3NldF9jcHVtYXNrKGNwdSwgMCk7Cit9CisKK2ludCBjcHVfdG9fbm9kZShpbnQgY3B1KQoreworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiY3B1X3RvX25vZGUoJWQpOiB1c2FnZSB0b28gZWFybHkhXG4iLCBjcHUpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCX0KKwlyZXR1cm4gcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpOworfQorRVhQT1JUX1NZTUJPTChjcHVfdG9fbm9kZSk7CisKKy8qCisgKiBTYW1lIGZ1bmN0aW9uIGFzIGNwdV90b19ub2RlKCkgYnV0IHVzZWQgaWYgY2FsbGVkIGJlZm9yZSB0aGUKKyAqIHBlcl9jcHUgYXJlYXMgYXJlIHNldHVwLgorICovCitpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSkKK3sKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCkpCisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCisJaWYgKCFwZXJfY3B1X29mZnNldChjcHUpKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJlYXJseV9jcHVfdG9fbm9kZSglZCk6IG5vIHBlcl9jcHUgYXJlYSFcbiIsIGNwdSk7CisJCWR1bXBfc3RhY2soKTsKKwkJcmV0dXJuIE5VTUFfTk9fTk9ERTsKKwl9CisJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKK30KKworCisvKiBlbXB0eSBjcHVtYXNrICovCitzdGF0aWMgY29uc3QgY3B1bWFza190IGNwdV9tYXNrX25vbmU7CisKKy8qCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYml0bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLgorICovCitjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCWlmIChub2RlX3RvX2NwdW1hc2tfbWFwID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIl9ub2RlX3RvX2NwdW1hc2tfcHRyKCVkKTogbm8gbm9kZV90b19jcHVtYXNrX21hcCFcbiIsCisJCQlub2RlKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gKGNvbnN0IGNwdW1hc2tfdCAqKSZjcHVfb25saW5lX21hcDsKKwl9CisJaWYgKG5vZGUgPj0gbnJfbm9kZV9pZHMpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIl9ub2RlX3RvX2NwdW1hc2tfcHRyKCVkKTogbm9kZSA+IG5yX25vZGVfaWRzKCVkKVxuIiwKKwkJCW5vZGUsIG5yX25vZGVfaWRzKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gJmNwdV9tYXNrX25vbmU7CisJfQorCXJldHVybiAmbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KK0VYUE9SVF9TWU1CT0woX25vZGVfdG9fY3B1bWFza19wdHIpOworCisvKgorICogUmV0dXJucyBhIGJpdG1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4KKyAqCisgKiBTaWRlIG5vdGU6IHRoaXMgZnVuY3Rpb24gY3JlYXRlcyB0aGUgcmV0dXJuZWQgY3B1bWFzayBvbiB0aGUgc3RhY2sKKyAqIHNvIHdpdGggYSBoaWdoIE5SX0NQVVMgY291bnQsIGV4Y2Vzc2l2ZSBzdGFjayBzcGFjZSBpcyB1c2VkLiAgVGhlCisgKiBub2RlX3RvX2NwdW1hc2tfcHRyIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIHdoZW5ldmVyIHBvc3NpYmxlLgorICovCitjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQoreworCWlmIChub2RlX3RvX2NwdW1hc2tfbWFwID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIm5vZGVfdG9fY3B1bWFzayglZCk6IG5vIG5vZGVfdG9fY3B1bWFza19tYXAhXG4iLCBub2RlKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gY3B1X29ubGluZV9tYXA7CisJfQorCWlmIChub2RlID49IG5yX25vZGVfaWRzKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJub2RlX3RvX2NwdW1hc2soJWQpOiBub2RlID4gbnJfbm9kZV9pZHMoJWQpXG4iLAorCQkJbm9kZSwgbnJfbm9kZV9pZHMpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBjcHVfbWFza19ub25lOworCX0KKwlyZXR1cm4gbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KK0VYUE9SVF9TWU1CT0wobm9kZV90b19jcHVtYXNrKTsKKworLyoKKyAqIC0tLS0tLS0tLSBlbmQgb2YgZGVidWcgdmVyc2lvbnMgb2YgdGhlIG51bWEgZnVuY3Rpb25zIC0tLS0tLS0tLQorICovCisKKyNlbmRpZiAvKiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKyNlbmRpZiAvKiBYODZfNjRfTlVNQSAqLworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc21wLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc21wLmMKaW5kZXggMGNiN2FhZC4uMzYxYjdhNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3NtcC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zbXAuYwpAQCAtMTIxLDEzMiArMTIxLDIzIEBACiAJc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBSRVNDSEVEVUxFX1ZFQ1RPUik7CiB9CiAKLS8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2UKLSAqIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlhdG9taWNfdCBzdGFydGVkOwotCWF0b21pY190IGZpbmlzaGVkOwotCWludCB3YWl0OwotfTsKLQotdm9pZCBsb2NrX2lwaV9jYWxsX2xvY2sodm9pZCkKK3ZvaWQgbmF0aXZlX3NlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkoaW50IGNwdSkKIHsKLQlzcGluX2xvY2tfaXJxKCZjYWxsX2xvY2spOworCXNlbmRfSVBJX21hc2soY3B1bWFza19vZl9jcHUoY3B1KSwgQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SKTsKIH0KIAotdm9pZCB1bmxvY2tfaXBpX2NhbGxfbG9jayh2b2lkKQordm9pZCBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfaXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXNwaW5fdW5sb2NrX2lycSgmY2FsbF9sb2NrKTsKLX0KLQotc3RhdGljIHN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Ci0KLXN0YXRpYyB2b2lkIF9fc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQlpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCkKLXsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWludCBjcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCi0JaWYgKCFjcHVzKQotCQlyZXR1cm47Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7Ci0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBhbGwgb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICovCi0Jc2VuZF9JUElfYWxsYnV0c2VsZihDQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzKQotCQljcHVfcmVsYXgoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQljcHVfcmVsYXgoKTsKLX0KLQotCi0vKioKLSAqIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soKTogUnVuIGEgZnVuY3Rpb24gb24gYSBzZXQgb2Ygb3RoZXIgQ1BVcy4KLSAqIEBtYXNrOiBUaGUgc2V0IG9mIGNwdXMgdG8gcnVuIG9uLiAgTXVzdCBub3QgaW5jbHVkZSB0aGUgY3VycmVudCBjcHUuCi0gKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKLSAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotc3RhdGljIGludAotbmF0aXZlX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssCi0JCQkgICAgICB2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgIGludCB3YWl0KQotewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7CiAJY3B1bWFza190IGFsbGJ1dHNlbGY7Ci0JaW50IGNwdXM7Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JLyogSG9sZGluZyBhbnkgbG9jayBzdG9wcyBjcHVzIGZyb20gZ29pbmcgZG93bi4gKi8KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7CiAKIAlhbGxidXRzZWxmID0gY3B1X29ubGluZV9tYXA7CiAJY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgYWxsYnV0c2VsZik7CiAKLQljcHVzX2FuZChtYXNrLCBtYXNrLCBhbGxidXRzZWxmKTsKLQljcHVzID0gY3B1c193ZWlnaHQobWFzayk7Ci0KLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0Jd21iKCk7Ci0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBvdGhlciBDUFVzICovCiAJaWYgKGNwdXNfZXF1YWwobWFzaywgYWxsYnV0c2VsZikgJiYKIAkgICAgY3B1c19lcXVhbChjcHVfb25saW5lX21hcCwgY3B1X2NhbGxvdXRfbWFwKSkKIAkJc2VuZF9JUElfYWxsYnV0c2VsZihDQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7CiAJZWxzZQogCQlzZW5kX0lQSV9tYXNrKG1hc2ssIENBTExfRlVOQ1RJT05fVkVDVE9SKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWNwdV9yZWxheCgpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWNwdV9yZWxheCgpOwotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCi0JcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIHN0b3BfdGhpc19jcHUodm9pZCAqZHVtbXkpCkBAIC0yNjgsMTggKzE1OSwxMyBAQAogCiBzdGF0aWMgdm9pZCBuYXRpdmVfc21wX3NlbmRfc3RvcCh2b2lkKQogewotCWludCBub2xvY2s7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWlmIChyZWJvb3RfZm9yY2UpCiAJCXJldHVybjsKIAotCS8qIERvbid0IGRlYWRsb2NrIG9uIHRoZSBjYWxsIGxvY2sgaW4gcGFuaWMgKi8KLQlub2xvY2sgPSAhc3Bpbl90cnlsb2NrKCZjYWxsX2xvY2spOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQlfX3NtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDAsIDApOwotCWlmICghbm9sb2NrKQotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKIAlkaXNhYmxlX2xvY2FsX0FQSUMoKTsKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CkBAIC0zMDEsMzMgKzE4NywyOCBAQAogCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pID0gY2FsbF9kYXRhLT5mdW5jOwotCXZvaWQgKmluZm8gPSBjYWxsX2RhdGEtPmluZm87Ci0JaW50IHdhaXQgPSBjYWxsX2RhdGEtPndhaXQ7Ci0KIAlhY2tfQVBJQ19pcnEoKTsKLQkvKgotCSAqIE5vdGlmeSBpbml0aWF0aW5nIENQVSB0aGF0IEkndmUgZ3JhYmJlZCB0aGUgZGF0YSBhbmQgYW0KLQkgKiBhYm91dCB0byBleGVjdXRlIHRoZSBmdW5jdGlvbgotCSAqLwotCW1iKCk7Ci0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEKLQkgKi8KIAlpcnFfZW50ZXIoKTsKLQkoKmZ1bmMpKGluZm8pOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CiAjZWxzZQogCWFkZF9wZGEoaXJxX2NhbGxfY291bnQsIDEpOwogI2VuZGlmCiAJaXJxX2V4aXQoKTsKK30KIAotCWlmICh3YWl0KSB7Ci0JCW1iKCk7Ci0JCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+ZmluaXNoZWQpOwotCX0KK3ZvaWQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlhY2tfQVBJQ19pcnEoKTsKKwlpcnFfZW50ZXIoKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJX19nZXRfY3B1X3ZhcihpcnFfc3RhdCkuaXJxX2NhbGxfY291bnQrKzsKKyNlbHNlCisJYWRkX3BkYShpcnFfY2FsbF9jb3VudCwgMSk7CisjZW5kaWYKKwlpcnFfZXhpdCgpOwogfQogCiBzdHJ1Y3Qgc21wX29wcyBzbXBfb3BzID0gewpAQCAtMzM4LDcgKzIxOSw4IEBACiAKIAkuc21wX3NlbmRfc3RvcCA9IG5hdGl2ZV9zbXBfc2VuZF9zdG9wLAogCS5zbXBfc2VuZF9yZXNjaGVkdWxlID0gbmF0aXZlX3NtcF9zZW5kX3Jlc2NoZWR1bGUsCi0JLnNtcF9jYWxsX2Z1bmN0aW9uX21hc2sgPSBuYXRpdmVfc21wX2NhbGxfZnVuY3Rpb25fbWFzaywKKworCS5zZW5kX2NhbGxfZnVuY19pcGkgPSBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfaXBpLAorCS5zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpID0gbmF0aXZlX3NlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGksCiB9OwogRVhQT1JUX1NZTUJPTF9HUEwoc21wX29wcyk7Ci0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc21wYm9vdC5jCmluZGV4IDNlMWNlY2UuLjY4NzM3NmEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3NtcGJvb3QuYwpAQCAtNTksNyArNTksNiBAQAogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CiAjaW5jbHVkZSA8YXNtL210cnIuaD4KLSNpbmNsdWRlIDxhc20vbm1pLmg+CiAjaW5jbHVkZSA8YXNtL3ZtaS5oPgogI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KQEAgLTY4LDIyICs2Nyw2IEBACiAjaW5jbHVkZSA8bWFjaF93YWtlY3B1Lmg+CiAjaW5jbHVkZSA8c21wYm9vdF9ob29rcy5oPgogCi0vKgotICogRklYTUU6IEZvciB4ODZfNjQsIHRob3NlIGFyZSBkZWZpbmVkIGluIG90aGVyIGZpbGVzLiBCdXQgbW92aW5nIHRoZW0gaGVyZSwKLSAqIHdvdWxkIG1ha2UgdGhlIHNldHVwIGFyZWFzIGRlcGVuZGVudCBvbiBzbXAsIHdoaWNoIGlzIGEgbG9zcy4gV2hlbiB3ZQotICogaW50ZWdyYXRlIGFwaWMgYmV0d2VlbiBhcmNoZXMsIHdlIGNhbiBwcm9iYWJseSBkbyBhIGJldHRlciBqb2IsIGJ1dAotICogcmlnaHQgbm93LCB0aGV5J2xsIHN0YXkgaGVyZSAtLSBnbG9tbWVyCi0gKi8KLQotLyogd2hpY2ggbG9naWNhbCBDUFUgbnVtYmVyIG1hcHMgdG8gd2hpY2ggQ1BVIChwaHlzaWNhbCBBUElDIElEKSAqLwotdTE2IHg4Nl9jcHVfdG9fYXBpY2lkX2luaXRbTlJfQ1BVU10gX19pbml0ZGF0YSA9Ci0JCQl7IFswIC4uLiBOUl9DUFVTLTFdID0gQkFEX0FQSUNJRCB9Owotdm9pZCAqeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyOwotCi11MTYgeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0W05SX0NQVVNdIF9faW5pdGRhdGEKLQkJCQk9IHsgWzAgLi4uIE5SX0NQVVMtMV0gPSBCQURfQVBJQ0lEIH07Ci12b2lkICp4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0cjsKLQogI2lmZGVmIENPTkZJR19YODZfMzIKIHU4IGFwaWNpZF8yX25vZGVbTUFYX0FQSUNJRF07CiBzdGF0aWMgaW50IGxvd19tYXBwaW5nczsKQEAgLTE5OCwxMyArMTgxLDEyIEBACiAJbWFwX2NwdV90b19ub2RlKGNwdSwgbm9kZSk7CiB9CiAKLXN0YXRpYyB2b2lkIHVubWFwX2NwdV90b19sb2dpY2FsX2FwaWNpZChpbnQgY3B1KQordm9pZCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSkKIHsKIAljcHVfMl9sb2dpY2FsX2FwaWNpZFtjcHVdID0gQkFEX0FQSUNJRDsKIAl1bm1hcF9jcHVfdG9fbm9kZShjcHUpOwogfQogI2Vsc2UKLSNkZWZpbmUgdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSkgZG8ge30gd2hpbGUgKDApCiAjZGVmaW5lIG1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoKSAgZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKIApAQCAtMzQ1LDE5ICszMjcsMTIgQEAKIAkgKiBsb2NrIGhlbHBzIHVzIHRvIG5vdCBpbmNsdWRlIHRoaXMgY3B1IGluIGEgY3VycmVudGx5IGluIHByb2dyZXNzCiAJICogc21wX2NhbGxfZnVuY3Rpb24oKS4KIAkgKi8KLQlsb2NrX2lwaV9jYWxsX2xvY2soKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0Jc3Bpbl9sb2NrKCZ2ZWN0b3JfbG9jayk7Ci0KLQkvKiBTZXR1cCB0aGUgcGVyIGNwdSBpcnEgaGFuZGxpbmcgZGF0YSBzdHJ1Y3R1cmVzICovCi0JX19zZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7Ci0JLyoKLQkgKiBBbGxvdyB0aGUgbWFzdGVyIHRvIGNvbnRpbnVlLgotCSAqLwotCXNwaW5fdW5sb2NrKCZ2ZWN0b3JfbG9jayk7CisJaXBpX2NhbGxfbG9ja19pcnEoKTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwlzZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAjZW5kaWYKIAljcHVfc2V0KHNtcF9wcm9jZXNzb3JfaWQoKSwgY3B1X29ubGluZV9tYXApOwotCXVubG9ja19pcGlfY2FsbF9sb2NrKCk7CisJaXBpX2NhbGxfdW5sb2NrX2lycSgpOwogCXBlcl9jcHUoY3B1X3N0YXRlLCBzbXBfcHJvY2Vzc29yX2lkKCkpID0gQ1BVX09OTElORTsKIAogCXNldHVwX3NlY29uZGFyeV9jbG9jaygpOwpAQCAtMzY2LDMxICszNDEsOCBAQAogCWNwdV9pZGxlKCk7CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0vKgotICogRXZlcnl0aGluZyBoYXMgYmVlbiBzZXQgdXAgZm9yIHRoZSBzZWNvbmRhcnkKLSAqIENQVXMgLSB0aGV5IGp1c3QgbmVlZCB0byByZWxvYWQgZXZlcnl0aGluZwotICogZnJvbSB0aGUgdGFzayBzdHJ1Y3R1cmUKLSAqIFRoaXMgZnVuY3Rpb24gbXVzdCBub3QgcmV0dXJuLgotICovCi12b2lkIF9fZGV2aW5pdCBpbml0aWFsaXplX3NlY29uZGFyeSh2b2lkKQotewotCS8qCi0JICogV2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBsb2FkIHRoZSBmdWxsIFRTUywKLQkgKiBiYXNpY2FsbHkganVzdCB0aGUgc3RhY2sgcG9pbnRlciBhbmQgdGhlIGlwLgotCSAqLwotCi0JYXNtIHZvbGF0aWxlKAotCQkibW92bCAlMCwlJWVzcFxuXHQiCi0JCSJqbXAgKiUxIgotCQk6Ci0JCToibSIgKGN1cnJlbnQtPnRocmVhZC5zcCksICJtIiAoY3VycmVudC0+dGhyZWFkLmlwKSk7Ci19Ci0jZW5kaWYKLQogc3RhdGljIHZvaWQgX19jcHVpbml0IHNtcF9hcHBseV9xdWlya3Moc3RydWN0IGNwdWluZm9feDg2ICpjKQogewotI2lmZGVmIENPTkZJR19YODZfMzIKIAkvKgogCSAqIE1hc2sgQiwgUGVudGl1bSwgYnV0IG5vdCBQZW50aXVtIE1NWAogCSAqLwpAQCAtNDQwLDcgKzM5Miw2IEBACiAKIHZhbGlkX2s3OgogCTsKLSNlbmRpZgogfQogCiBzdGF0aWMgdm9pZCBfX2NwdWluaXQgc21wX2NoZWNrcyh2b2lkKQpAQCAtNTU1LDIzICs1MDYsNiBAQAogCQlyZXR1cm4gYy0+bGxjX3NoYXJlZF9tYXA7CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0vKgotICogV2UgYXJlIGNhbGxlZCB2ZXJ5IGVhcmx5IHRvIGdldCB0aGUgbG93IG1lbW9yeSBmb3IgdGhlCi0gKiBTTVAgYm9vdHVwIHRyYW1wb2xpbmUgcGFnZS4KLSAqLwotdm9pZCBfX2luaXQgc21wX2FsbG9jX21lbW9yeSh2b2lkKQotewotCXRyYW1wb2xpbmVfYmFzZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7Ci0JLyoKLQkgKiBIYXMgdG8gYmUgaW4gdmVyeSBsb3cgbWVtb3J5IHNvIHdlIGNhbiBleGVjdXRlCi0JICogcmVhbC1tb2RlIEFQIGNvZGUuCi0JICovCi0JaWYgKF9fcGEodHJhbXBvbGluZV9iYXNlKSA+PSAweDlGMDAwKQotCQlCVUcoKTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgdm9pZCBpbXByZXNzX2ZyaWVuZHModm9pZCkKIHsKIAlpbnQgY3B1OwpAQCAtNzQ4LDExICs2ODIsNyBAQAogCSAqIHRhcmdldCBwcm9jZXNzb3Igc3RhdGUuCiAJICovCiAJc3RhcnR1cF9pcGlfaG9vayhwaHlzX2FwaWNpZCwgKHVuc2lnbmVkIGxvbmcpIHN0YXJ0X3NlY29uZGFyeSwKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0JCQkgKHVuc2lnbmVkIGxvbmcpaW5pdF9yc3ApOwotI2Vsc2UKIAkJCSAodW5zaWduZWQgbG9uZylzdGFja19zdGFydC5zcCk7Ci0jZW5kaWYKIAogCS8qCiAJICogUnVuIFNUQVJUVVAgSVBJIGxvb3AuCkBAIC04MzIsNiArNzYyLDQ1IEBACiAJY29tcGxldGUoJmNfaWRsZS0+ZG9uZSk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisvKgorICogQWxsb2NhdGUgbm9kZSBsb2NhbCBtZW1vcnkgZm9yIHRoZSBBUCBwZGEuCisgKgorICogTXVzdCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIF9jcHVfcGRhIHBvaW50ZXIgdGFibGUgaXMgaW5pdGlhbGl6ZWQuCisgKi8KK3N0YXRpYyBpbnQgX19jcHVpbml0IGdldF9sb2NhbF9wZGEoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgeDg2NjRfcGRhICpvbGRwZGEsICpuZXdwZGE7CisJdW5zaWduZWQgbG9uZyBzaXplID0gc2l6ZW9mKHN0cnVjdCB4ODY2NF9wZGEpOworCWludCBub2RlID0gY3B1X3RvX25vZGUoY3B1KTsKKworCWlmIChjcHVfcGRhKGNwdSkgJiYgIWNwdV9wZGEoY3B1KS0+aW5fYm9vdG1lbSkKKwkJcmV0dXJuIDA7CisKKwlvbGRwZGEgPSBjcHVfcGRhKGNwdSk7CisJbmV3cGRhID0ga21hbGxvY19ub2RlKHNpemUsIEdGUF9BVE9NSUMsIG5vZGUpOworCWlmICghbmV3cGRhKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGFsbG9jYXRlIG5vZGUgbG9jYWwgUERBICIKKwkJCSJmb3IgQ1BVICVkIG9uIG5vZGUgJWRcbiIsIGNwdSwgbm9kZSk7CisKKwkJaWYgKG9sZHBkYSkKKwkJCXJldHVybiAwOwkvKiBoYXZlIGEgdXNhYmxlIHBkYSAqLworCQllbHNlCisJCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKG9sZHBkYSkgeworCQltZW1jcHkobmV3cGRhLCBvbGRwZGEsIHNpemUpOworCQlpZiAoIWFmdGVyX2Jvb3RtZW0pCisJCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpb2xkcGRhLCBzaXplKTsKKwl9CisKKwluZXdwZGEtPmluX2Jvb3RtZW0gPSAwOworCWNwdV9wZGEoY3B1KSA9IG5ld3BkYTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBDT05GSUdfWDg2XzY0ICovCisKIHN0YXRpYyBpbnQgX19jcHVpbml0IGRvX2Jvb3RfY3B1KGludCBhcGljaWQsIGludCBjcHUpCiAvKgogICogTk9URSAtIG9uIG1vc3Qgc3lzdGVtcyB0aGlzIGlzIGEgUEhZU0lDQUwgYXBpYyBJRCwgYnV0IG9uIG11bHRpcXVhZApAQCAtODQ4LDI4ICs4MTcsMTQgQEAKIAkJLmRvbmUgPSBDT01QTEVUSU9OX0lOSVRJQUxJWkVSX09OU1RBQ0soY19pZGxlLmRvbmUpLAogCX07CiAJSU5JVF9XT1JLKCZjX2lkbGUud29yaywgZG9fZm9ya19pZGxlKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0JLyogYWxsb2NhdGUgbWVtb3J5IGZvciBnZHRzIG9mIHNlY29uZGFyeSBjcHVzLiBIb3RwbHVnIGlzIGNvbnNpZGVyZWQgKi8KLQlpZiAoIWNwdV9nZHRfZGVzY3JbY3B1XS5hZGRyZXNzICYmCi0JCSEoY3B1X2dkdF9kZXNjcltjcHVdLmFkZHJlc3MgPSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGFsbG9jYXRlIEdEVCBmb3IgQ1BVICVkXG4iLCBjcHUpOwotCQlyZXR1cm4gLTE7Ci0JfQogCisjaWZkZWYgQ09ORklHX1g4Nl82NAogCS8qIEFsbG9jYXRlIG5vZGUgbG9jYWwgbWVtb3J5IGZvciBBUCBwZGFzICovCi0JaWYgKGNwdV9wZGEoY3B1KSA9PSAmYm9vdF9jcHVfcGRhW2NwdV0pIHsKLQkJc3RydWN0IHg4NjY0X3BkYSAqbmV3cGRhLCAqcGRhOwotCQlpbnQgbm9kZSA9IGNwdV90b19ub2RlKGNwdSk7Ci0JCXBkYSA9IGNwdV9wZGEoY3B1KTsKLQkJbmV3cGRhID0ga21hbGxvY19ub2RlKHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKSwgR0ZQX0FUT01JQywKLQkJCQkgICAgICBub2RlKTsKLQkJaWYgKG5ld3BkYSkgewotCQkJbWVtY3B5KG5ld3BkYSwgcGRhLCBzaXplb2Yoc3RydWN0IHg4NjY0X3BkYSkpOwotCQkJY3B1X3BkYShjcHUpID0gbmV3cGRhOwotCQl9IGVsc2UKLQkJCXByaW50ayhLRVJOX0VSUgotCQkiQ291bGQgbm90IGFsbG9jYXRlIG5vZGUgbG9jYWwgUERBIGZvciBDUFUgJWQgb24gbm9kZSAlZFxuIiwKLQkJCQljcHUsIG5vZGUpOworCWlmIChjcHUgPiAwKSB7CisJCWJvb3RfZXJyb3IgPSBnZXRfbG9jYWxfcGRhKGNwdSk7CisJCWlmIChib290X2Vycm9yKQorCQkJZ290byByZXN0b3JlX3N0YXRlOworCQkJLyogaWYgY2FuJ3QgZ2V0IHBkYSBtZW1vcnksIGNhbid0IHN0YXJ0IGNwdSAqLwogCX0KICNlbmRpZgogCkBAIC05MDUsMTggKzg2MCwxNSBAQAogI2lmZGVmIENPTkZJR19YODZfMzIKIAlwZXJfY3B1KGN1cnJlbnRfdGFzaywgY3B1KSA9IGNfaWRsZS5pZGxlOwogCWluaXRfZ2R0KGNwdSk7Ci0JZWFybHlfZ2R0X2Rlc2NyLmFkZHJlc3MgPSAodW5zaWduZWQgbG9uZylnZXRfY3B1X2dkdF90YWJsZShjcHUpOwotCWNfaWRsZS5pZGxlLT50aHJlYWQuaXAgPSAodW5zaWduZWQgbG9uZykgc3RhcnRfc2Vjb25kYXJ5OwogCS8qIFN0YWNrIGZvciBzdGFydHVwXzMyIGNhbiBiZSBqdXN0IGFzIGZvciBzdGFydF9zZWNvbmRhcnkgb253YXJkcyAqLwotCXN0YWNrX3N0YXJ0LnNwID0gKHZvaWQgKikgY19pZGxlLmlkbGUtPnRocmVhZC5zcDsKIAlpcnFfY3R4X2luaXQoY3B1KTsKICNlbHNlCiAJY3B1X3BkYShjcHUpLT5wY3VycmVudCA9IGNfaWRsZS5pZGxlOwotCWluaXRfcnNwID0gY19pZGxlLmlkbGUtPnRocmVhZC5zcDsKLQlsb2FkX3NwMCgmcGVyX2NwdShpbml0X3RzcywgY3B1KSwgJmNfaWRsZS5pZGxlLT50aHJlYWQpOwotCWluaXRpYWxfY29kZSA9ICh1bnNpZ25lZCBsb25nKXN0YXJ0X3NlY29uZGFyeTsKIAljbGVhcl90c2tfdGhyZWFkX2ZsYWcoY19pZGxlLmlkbGUsIFRJRl9GT1JLKTsKICNlbmRpZgorCWVhcmx5X2dkdF9kZXNjci5hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpZ2V0X2NwdV9nZHRfdGFibGUoY3B1KTsKKwlpbml0aWFsX2NvZGUgPSAodW5zaWduZWQgbG9uZylzdGFydF9zZWNvbmRhcnk7CisJc3RhY2tfc3RhcnQuc3AgPSAodm9pZCAqKSBjX2lkbGUuaWRsZS0+dGhyZWFkLnNwOwogCiAJLyogc3RhcnRfaXAgaGFkIGJldHRlciBiZSBwYWdlLWFsaWduZWQhICovCiAJc3RhcnRfaXAgPSBzZXR1cF90cmFtcG9saW5lKCk7CkBAIC05ODcsMTMgKzkzOSwxMiBAQAogCQkJCWlucXVpcmVfcmVtb3RlX2FwaWMoYXBpY2lkKTsKIAkJfQogCX0KLQorI2lmZGVmIENPTkZJR19YODZfNjQKK3Jlc3RvcmVfc3RhdGU6CisjZW5kaWYKIAlpZiAoYm9vdF9lcnJvcikgewogCQkvKiBUcnkgdG8gcHV0IHRoaW5ncyBiYWNrIHRoZSB3YXkgdGhleSB3ZXJlIGJlZm9yZSAuLi4gKi8KLQkJdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSk7Ci0jaWZkZWYgQ09ORklHX1g4Nl82NAotCQljbGVhcl9ub2RlX2NwdW1hc2soY3B1KTsgLyogd2FzIHNldCBieSBudW1hX2FkZF9jcHUgKi8KLSNlbmRpZgorCQludW1hX3JlbW92ZV9jcHUoY3B1KTsgLyogd2FzIHNldCBieSBudW1hX2FkZF9jcHUgKi8KIAkJY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxvdXRfbWFwKTsgLyogd2FzIHNldCBieSBkb19ib290X2NwdSgpICovCiAJCWNwdV9jbGVhcihjcHUsIGNwdV9pbml0aWFsaXplZCk7IC8qIHdhcyBzZXQgYnkgY3B1X2luaXQoKSAqLwogCQljcHVfY2xlYXIoY3B1LCBjcHVfcHJlc2VudF9tYXApOwpAQCAtMTA4NywxNCArMTAzOCwxMiBAQAogewogCWNwdV9wcmVzZW50X21hcCA9IGNwdW1hc2tfb2ZfY3B1KDApOwogCWNwdV9wb3NzaWJsZV9tYXAgPSBjcHVtYXNrX29mX2NwdSgwKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCiAJc21wYm9vdF9jbGVhcl9pb19hcGljX2lycXMoKTsKLSNlbmRpZgorCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCi0JCXBoeXNfY3B1X3ByZXNlbnRfbWFwID0KLQkJCQlwaHlzaWRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKKwkJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQsICZwaHlzX2NwdV9wcmVzZW50X21hcCk7CiAJZWxzZQotCQlwaHlzX2NwdV9wcmVzZW50X21hcCA9IHBoeXNpZF9tYXNrX29mX3BoeXNpZCgwKTsKKwkJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZCgwLCAmcGh5c19jcHVfcHJlc2VudF9tYXApOwogCW1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoKTsKIAljcHVfc2V0KDAsIHBlcl9jcHUoY3B1X3NpYmxpbmdfbWFwLCAwKSk7CiAJY3B1X3NldCgwLCBwZXJfY3B1KGNwdV9jb3JlX21hcCwgMCkpOwpAQCAtMTE1NywxMiArMTEwNiwxMiBAQAogCSAqIElmIFNNUCBzaG91bGQgYmUgZGlzYWJsZWQsIHRoZW4gcmVhbGx5IGRpc2FibGUgaXQhCiAJICovCiAJaWYgKCFtYXhfY3B1cykgewotCQlwcmludGsoS0VSTl9JTkZPICJTTVAgbW9kZSBkZWFjdGl2YXRlZCwiCi0JCQkJICJmb3JjaW5nIHVzZSBvZiBkdW1teSBBUElDIGVtdWxhdGlvbi5cbiIpOworCQlwcmludGsoS0VSTl9JTkZPICJTTVAgbW9kZSBkZWFjdGl2YXRlZC5cbiIpOwogCQlzbXBib290X2NsZWFyX2lvX2FwaWMoKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCisKKwkJbG9jYWxpc2Vfbm1pX3dhdGNoZG9nKCk7CisKIAkJY29ubmVjdF9ic3BfQVBJQygpOwotI2VuZGlmCiAJCXNldHVwX2xvY2FsX0FQSUMoKTsKIAkJZW5kX2xvY2FsX0FQSUNfc2V0dXAoKTsKIAkJcmV0dXJuIC0xOwpAQCAtMTE5MCw3ICsxMTM5LDYgQEAKIHZvaWQgX19pbml0IG5hdGl2ZV9zbXBfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cykKIHsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKLQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwogCXNtcF9jcHVfaW5kZXhfZGVmYXVsdCgpOwogCWN1cnJlbnRfY3B1X2RhdGEgPSBib290X2NwdV9kYXRhOwogCWNwdV9jYWxsaW5fbWFwID0gY3B1bWFza19vZl9jcHUoMCk7CkBAIC0xMjE3LDkgKzExNjUsOCBAQAogCX0KIAlwcmVlbXB0X2VuYWJsZSgpOwogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgogCWNvbm5lY3RfYnNwX0FQSUMoKTsKLSNlbmRpZgorCiAJLyoKIAkgKiBTd2l0Y2ggZnJvbSBQSUMgdG8gQVBJQyBtb2RlLgogCSAqLwpAQCAtMTI1Nyw4ICsxMjA0LDggQEAKIAlpbnQgbWUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCWluaXRfZ2R0KG1lKTsKLQlzd2l0Y2hfdG9fbmV3X2dkdCgpOwogI2VuZGlmCisJc3dpdGNoX3RvX25ld19nZHQoKTsKIAkvKiBhbHJlYWR5IHNldCBtZSBpbiBjcHVfb25saW5lX21hcCBpbiBib290X2NwdV9pbml0KCkgKi8KIAljcHVfc2V0KG1lLCBjcHVfY2FsbG91dF9tYXApOwogCXBlcl9jcHUoY3B1X3N0YXRlLCBtZSkgPSBDUFVfT05MSU5FOwpAQCAtMTI3OCwyMyArMTIyNSw2IEBACiAKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKIAotIyAgaWZkZWYgQ09ORklHX1g4Nl8zMgotdm9pZCBjcHVfZXhpdF9jbGVhcih2b2lkKQotewotCWludCBjcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOwotCi0JaWRsZV90YXNrX2V4aXQoKTsKLQotCWNwdV91bmluaXQoKTsKLQlpcnFfY3R4X2V4aXQoY3B1KTsKLQotCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsb3V0X21hcCk7Ci0JY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxpbl9tYXApOwotCi0JdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSk7Ci19Ci0jICBlbmRpZiAvKiBDT05GSUdfWDg2XzMyICovCi0KIHN0YXRpYyB2b2lkIHJlbW92ZV9zaWJsaW5naW5mbyhpbnQgY3B1KQogewogCWludCBzaWJsaW5nOwpAQCAtMTM0OCwxMiArMTI3OCwyMCBAQAogCWludCBpOwogCWludCBwb3NzaWJsZTsKIAorCS8qIG5vIHByb2Nlc3NvciBmcm9tIG1wdGFibGUgb3IgbWFkdCAqLworCWlmICghbnVtX3Byb2Nlc3NvcnMpCisJCW51bV9wcm9jZXNzb3JzID0gMTsKKworI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogCWlmIChhZGRpdGlvbmFsX2NwdXMgPT0gLTEpIHsKIAkJaWYgKGRpc2FibGVkX2NwdXMgPiAwKQogCQkJYWRkaXRpb25hbF9jcHVzID0gZGlzYWJsZWRfY3B1czsKIAkJZWxzZQogCQkJYWRkaXRpb25hbF9jcHVzID0gMDsKIAl9CisjZWxzZQorCWFkZGl0aW9uYWxfY3B1cyA9IDA7CisjZW5kaWYKIAlwb3NzaWJsZSA9IG51bV9wcm9jZXNzb3JzICsgYWRkaXRpb25hbF9jcHVzOwogCWlmIChwb3NzaWJsZSA+IE5SX0NQVVMpCiAJCXBvc3NpYmxlID0gTlJfQ1BVUzsKQEAgLTEzNjMsMTggKzEzMDEsMTggQEAKIAogCWZvciAoaSA9IDA7IGkgPCBwb3NzaWJsZTsgaSsrKQogCQljcHVfc2V0KGksIGNwdV9wb3NzaWJsZV9tYXApOworCisJbnJfY3B1X2lkcyA9IHBvc3NpYmxlOwogfQogCiBzdGF0aWMgdm9pZCBfX3JlZiByZW1vdmVfY3B1X2Zyb21fbWFwcyhpbnQgY3B1KQogewogCWNwdV9jbGVhcihjcHUsIGNwdV9vbmxpbmVfbWFwKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0CiAJY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxvdXRfbWFwKTsKIAljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbGluX21hcCk7CiAJLyogd2FzIHNldCBieSBjcHVfaW5pdCgpICovCiAJY2xlYXJfYml0KGNwdSwgKHVuc2lnbmVkIGxvbmcgKikmY3B1X2luaXRpYWxpemVkKTsKLQljbGVhcl9ub2RlX2NwdW1hc2soY3B1KTsKLSNlbmRpZgorCW51bWFfcmVtb3ZlX2NwdShjcHUpOwogfQogCiBpbnQgX19jcHVfZGlzYWJsZSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NtcGNvbW1vbi5jIGIvYXJjaC94ODYva2VybmVsL3NtcGNvbW1vbi5jCmluZGV4IDM0NDkwNjQuLjk5OTQxYjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zbXBjb21tb24uYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc21wY29tbW9uLmMKQEAgLTI1LDU5ICsyNSwzIEBACiAJcGVyX2NwdShjcHVfbnVtYmVyLCBjcHUpID0gY3B1OwogfQogI2VuZGlmCi0KLS8qKgotICogc21wX2NhbGxfZnVuY3Rpb24oKTogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqIEBub25hdG9taWM6IFVudXNlZC4KLSAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQ7IG90aGVyd2lzZQotICogaXQgcmV0dXJucyBqdXN0IGJlZm9yZSB0aGUgdGFyZ2V0IGNwdSBjYWxscyBAZnVuYy4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQkJICAgICAgaW50IHdhaXQpCi17Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1X29ubGluZV9tYXAsIGZ1bmMsIGluZm8sIHdhaXQpOwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7Ci0KLS8qKgotICogc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlIC0gUnVuIGEgZnVuY3Rpb24gb24gYSBzcGVjaWZpYyBDUFUKLSAqIEBjcHU6IFRoZSB0YXJnZXQgQ1BVLiAgQ2Fubm90IGJlIHRoZSBjYWxsaW5nIENQVS4KLSAqIEBmdW5jOiBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgotICogQGluZm86IEFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogQG5vbmF0b21pYzogVW51c2VkLgotICogQHdhaXQ6IElmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKLSAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuCi0gKi8KLWludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCi17Ci0JLyogcHJldmVudCBwcmVlbXB0aW9uIGFuZCByZXNjaGVkdWxlIG9uIGFub3RoZXIgcHJvY2Vzc29yICovCi0JaW50IHJldDsKLQlpbnQgbWUgPSBnZXRfY3B1KCk7Ci0JaWYgKGNwdSA9PSBtZSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCXB1dF9jcHUoKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBmdW5jLCBpbmZvLCB3YWl0KTsKLQotCXB1dF9jcHUoKTsKLQlyZXR1cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NyYXRfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9zcmF0XzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwZTRhMzcuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NyYXRfMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDM1OCArMCwwIEBACi0vKgotICogU29tZSBvZiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaGFzIGJlZW4gZ2xlYW5lZCBmcm9tIHRoZSA2NCBiaXQgCi0gKiBkaXNjb250aWdtZW0gc3VwcG9ydCBjb2RlIGJhc2UuCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyLCBJQk0gQ29ycC4KLSAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiAgICAgICAgICAKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLSAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgR09PRCBUSVRMRSBvcgotICogTk9OIElORlJJTkdFTUVOVC4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUKLSAqIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSAqCi0gKiBTZW5kIGZlZWRiYWNrIHRvIFBhdCBHYXVnaGVuIDxnb25lQHVzLmlibS5jb20+Ci0gKi8KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Ci0jaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KLSNpbmNsdWRlIDxhc20vc3JhdC5oPgotI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLQotLyoKLSAqIHByb3hpbWl0eSBtYWNyb3MgYW5kIGRlZmluaXRpb25zCi0gKi8KLSNkZWZpbmUgTk9ERV9BUlJBWV9JTkRFWCh4KQkoKHgpIC8gOCkJLyogOCBiaXRzL2NoYXIgKi8KLSNkZWZpbmUgTk9ERV9BUlJBWV9PRkZTRVQoeCkJKCh4KSAlIDgpCS8qIDggYml0cy9jaGFyICovCi0jZGVmaW5lIEJNQVBfU0VUKGJtYXAsIGJpdCkJKChibWFwKVtOT0RFX0FSUkFZX0lOREVYKGJpdCldIHw9IDEgPDwgTk9ERV9BUlJBWV9PRkZTRVQoYml0KSkKLSNkZWZpbmUgQk1BUF9URVNUKGJtYXAsIGJpdCkJKChibWFwKVtOT0RFX0FSUkFZX0lOREVYKGJpdCldICYgKDEgPDwgTk9ERV9BUlJBWV9PRkZTRVQoYml0KSkpCi0vKiBiaXRtYXAgbGVuZ3RoOyBfUFhNIGlzIGF0IG1vc3QgMjU1ICovCi0jZGVmaW5lIFBYTV9CSVRNQVBfTEVOIChNQVhfUFhNX0RPTUFJTlMgLyA4KSAKLXN0YXRpYyB1OCBweG1fYml0bWFwW1BYTV9CSVRNQVBfTEVOXTsJLyogYml0bWFwIG9mIHByb3hpbWl0eSBkb21haW5zICovCi0KLSNkZWZpbmUgTUFYX0NIVU5LU19QRVJfTk9ERQkzCi0jZGVmaW5lIE1BWENIVU5LUwkJKE1BWF9DSFVOS1NfUEVSX05PREUgKiBNQVhfTlVNTk9ERVMpCi1zdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyB7Ci0JdW5zaWduZWQgbG9uZwlzdGFydF9wZm47Ci0JdW5zaWduZWQgbG9uZwllbmRfcGZuOwotCXU4CXB4bTsJCS8vIHByb3hpbWl0eSBkb21haW4gb2Ygbm9kZQotCXU4CW5pZDsJCS8vIHdoaWNoIGNub2RlIGNvbnRhaW5zIHRoaXMgY2h1bms/Ci0JdTgJYmFuazsJCS8vIHdoaWNoIG1lbSBiYW5rIG9uIHRoaXMgbm9kZQotfTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyBub2RlX21lbW9yeV9jaHVua1tNQVhDSFVOS1NdOwotCi1zdGF0aWMgaW50IG51bV9tZW1vcnlfY2h1bmtzOwkJLyogdG90YWwgbnVtYmVyIG9mIG1lbW9yeSBjaHVua3MgKi8KLXN0YXRpYyB1OCBfX2luaXRkYXRhIGFwaWNpZF90b19weG1bTUFYX0FQSUNJRF07Ci0KLS8qIElkZW50aWZ5IENQVSBwcm94aW1pdHkgZG9tYWlucyAqLwotc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX2NwdV9hZmZpbml0eV9zdHJ1Y3R1cmUoY2hhciAqcCkKLXsKLQlzdHJ1Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqY3B1X2FmZmluaXR5ID0KLQkJCQkoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkgKikgcDsKLQotCWlmICgoY3B1X2FmZmluaXR5LT5mbGFncyAmIEFDUElfU1JBVF9DUFVfRU5BQkxFRCkgPT0gMCkKLQkJcmV0dXJuOwkJLyogZW1wdHkgZW50cnkgKi8KLQotCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLwotCUJNQVBfU0VUKHB4bV9iaXRtYXAsIGNwdV9hZmZpbml0eS0+cHJveGltaXR5X2RvbWFpbl9sbyk7Ci0KLQlhcGljaWRfdG9fcHhtW2NwdV9hZmZpbml0eS0+YXBpY19pZF0gPSBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG87Ci0KLQlwcmludGsoIkNQVSAweCUwMlggaW4gcHJveGltaXR5IGRvbWFpbiAweCUwMlhcbiIsCi0JCWNwdV9hZmZpbml0eS0+YXBpY19pZCwgY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvKTsKLX0KLQotLyoKLSAqIElkZW50aWZ5IG1lbW9yeSBwcm94aW1pdHkgZG9tYWlucyBhbmQgaG90LXJlbW92ZSBjYXBhYmlsaXRpZXMuCi0gKiBGaWxsIG5vZGUgbWVtb3J5IGNodW5rIGxpc3Qgc3RydWN0dXJlLgotICovCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfbWVtb3J5X2FmZmluaXR5X3N0cnVjdHVyZSAoY2hhciAqc3JhdHApCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHBhZGRyLCBzaXplOwotCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBlbmRfcGZuOwotCXU4IHB4bTsKLQlzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqcCwgKnEsICpwZW5kOwotCXN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICptZW1vcnlfYWZmaW5pdHkgPQotCQkJKHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICopIHNyYXRwOwotCi0JaWYgKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9FTkFCTEVEKSA9PSAwKQotCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLwotCi0JcHhtID0gbWVtb3J5X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluICYgMHhmZjsKLQotCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLwotCUJNQVBfU0VUKHB4bV9iaXRtYXAsIHB4bSk7Ci0KLQkvKiBjYWxjdWxhdGUgaW5mbyBmb3IgbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLwotCXBhZGRyID0gbWVtb3J5X2FmZmluaXR5LT5iYXNlX2FkZHJlc3M7Ci0Jc2l6ZSA9IG1lbW9yeV9hZmZpbml0eS0+bGVuZ3RoOwotCi0Jc3RhcnRfcGZuID0gcGFkZHIgPj4gUEFHRV9TSElGVDsKLQllbmRfcGZuID0gKHBhZGRyICsgc2l6ZSkgPj4gUEFHRV9TSElGVDsKLQotCi0JaWYgKG51bV9tZW1vcnlfY2h1bmtzID49IE1BWENIVU5LUykgewotCQlwcmludGsoIlRvbyBtYW55IG1lbSBjaHVua3MgaW4gU1JBVC4gSWdub3JpbmcgJWxsZCBNQnl0ZXMgYXQgJWxseFxuIiwKLQkJCXNpemUvKDEwMjQqMTAyNCksIHBhZGRyKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIEluc2VydGlvbiBzb3J0IGJhc2VkIG9uIGJhc2UgYWRkcmVzcyAqLwotCXBlbmQgPSAmbm9kZV9tZW1vcnlfY2h1bmtbbnVtX21lbW9yeV9jaHVua3NdOwotCWZvciAocCA9ICZub2RlX21lbW9yeV9jaHVua1swXTsgcCA8IHBlbmQ7IHArKykgewotCQlpZiAoc3RhcnRfcGZuIDwgcC0+c3RhcnRfcGZuKQotCQkJYnJlYWs7Ci0JfQotCWlmIChwIDwgcGVuZCkgewotCQlmb3IgKHEgPSBwZW5kOyBxID49IHA7IHEtLSkKLQkJCSoocSArIDEpID0gKnE7Ci0JfQotCXAtPnN0YXJ0X3BmbiA9IHN0YXJ0X3BmbjsKLQlwLT5lbmRfcGZuID0gZW5kX3BmbjsKLQlwLT5weG0gPSBweG07Ci0KLQludW1fbWVtb3J5X2NodW5rcysrOwotCi0JcHJpbnRrKCJNZW1vcnkgcmFuZ2UgMHglbFggdG8gMHglbFggKHR5cGUgMHglWCkgaW4gcHJveGltaXR5IGRvbWFpbiAweCUwMlggJXNcbiIsCi0JCXN0YXJ0X3BmbiwgZW5kX3BmbiwKLQkJbWVtb3J5X2FmZmluaXR5LT5tZW1vcnlfdHlwZSwKLQkJcHhtLAotCQkoKG1lbW9yeV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVF9QTFVHR0FCTEUpID8KLQkJICJlbmFibGVkIGFuZCByZW1vdmFibGUiIDogImVuYWJsZWQiICkgKTsKLX0KLQotLyoKLSAqIFRoZSBTUkFUIHRhYmxlIGFsd2F5cyBsaXN0cyBhc2NlbmRpbmcgYWRkcmVzc2VzLCBzbyBjYW4gYWx3YXlzCi0gKiBhc3N1bWUgdGhhdCB0aGUgZmlyc3QgInN0YXJ0IiBhZGRyZXNzIHRoYXQgeW91IHNlZSBpcyB0aGUgcmVhbAotICogc3RhcnQgb2YgdGhlIG5vZGUsIGFuZCB0aGF0IHRoZSBjdXJyZW50ICJlbmQiIGFkZHJlc3MgaXMgYWZ0ZXIKLSAqIHRoZSBwcmV2aW91cyBvbmUuCi0gKi8KLXN0YXRpYyBfX2luaXQgdm9pZCBub2RlX3JlYWRfY2h1bmsoaW50IG5pZCwgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKm1lbW9yeV9jaHVuaykKLXsKLQkvKgotCSAqIE9ubHkgYWRkIHByZXNlbnQgbWVtb3J5IGFzIHRvbGQgYnkgdGhlIGU4MjAuCi0JICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIGZyb20gdGhlIFNSQVQgdGhhdCB0aGUgbWVtb3J5IGl0Ci0JICogZW51bWVyYXRlcyBpcyBwcmVzZW50IGF0IGJvb3QgdGltZSBiZWNhdXNlIGl0IHJlcHJlc2VudHMKLQkgKiAqcG9zc2libGUqIG1lbW9yeSBob3RwbHVnIGFyZWFzIHRoZSBzYW1lIGFzIG5vcm1hbCBSQU0uCi0JICovCi0JaWYgKG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuID49IG1heF9wZm4pIHsKLQkJcHJpbnRrIChLRVJOX0lORk8gIklnbm9yaW5nIFNSQVQgcGZuczogMHglMDhseCAtPiAlMDhseFxuIiwKLQkJCW1lbW9yeV9jaHVuay0+c3RhcnRfcGZuLCBtZW1vcnlfY2h1bmstPmVuZF9wZm4pOwotCQlyZXR1cm47Ci0JfQotCWlmIChtZW1vcnlfY2h1bmstPm5pZCAhPSBuaWQpCi0JCXJldHVybjsKLQotCWlmICghbm9kZV9oYXNfb25saW5lX21lbShuaWQpKQotCQlub2RlX3N0YXJ0X3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5zdGFydF9wZm47Ci0KLQlpZiAobm9kZV9zdGFydF9wZm5bbmlkXSA+IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuKQotCQlub2RlX3N0YXJ0X3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5zdGFydF9wZm47Ci0KLQlpZiAobm9kZV9lbmRfcGZuW25pZF0gPCBtZW1vcnlfY2h1bmstPmVuZF9wZm4pCi0JCW5vZGVfZW5kX3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5lbmRfcGZuOwotfQotCi0vKiBQYXJzZSB0aGUgQUNQSSBTdGF0aWMgUmVzb3VyY2UgQWZmaW5pdHkgVGFibGUgKi8KLXN0YXRpYyBpbnQgX19pbml0IGFjcGkyMF9wYXJzZV9zcmF0KHN0cnVjdCBhY3BpX3RhYmxlX3NyYXQgKnNyYXRwKQotewotCXU4ICpzdGFydCwgKmVuZCwgKnA7Ci0JaW50IGksIGosIG5pZDsKLQotCXN0YXJ0ID0gKHU4ICopKCYoc3JhdHAtPnJlc2VydmVkKSArIDEpOwkvKiBza2lwIGhlYWRlciAqLwotCXAgPSBzdGFydDsKLQllbmQgPSAodTggKilzcmF0cCArIHNyYXRwLT5oZWFkZXIubGVuZ3RoOwotCi0JbWVtc2V0KHB4bV9iaXRtYXAsIDAsIHNpemVvZihweG1fYml0bWFwKSk7CS8qIGluaXQgcHJveGltaXR5IGRvbWFpbiBiaXRtYXAgKi8KLQltZW1zZXQobm9kZV9tZW1vcnlfY2h1bmssIDAsIHNpemVvZihub2RlX21lbW9yeV9jaHVuaykpOwotCi0JbnVtX21lbW9yeV9jaHVua3MgPSAwOwotCXdoaWxlIChwIDwgZW5kKSB7Ci0JCXN3aXRjaCAoKnApIHsKLQkJY2FzZSBBQ1BJX1NSQVRfVFlQRV9DUFVfQUZGSU5JVFk6Ci0JCQlwYXJzZV9jcHVfYWZmaW5pdHlfc3RydWN0dXJlKHApOwotCQkJYnJlYWs7Ci0JCWNhc2UgQUNQSV9TUkFUX1RZUEVfTUVNT1JZX0FGRklOSVRZOgotCQkJcGFyc2VfbWVtb3J5X2FmZmluaXR5X3N0cnVjdHVyZShwKTsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcHJpbnRrKCJBQ1BJIDIuMCBTUkFUOiB1bmtub3duIGVudHJ5IHNraXBwZWQ6IHR5cGU9MHglMDJYLCBsZW49JWRcbiIsIHBbMF0sIHBbMV0pOwotCQkJYnJlYWs7Ci0JCX0KLQkJcCArPSBwWzFdOwotCQlpZiAocFsxXSA9PSAwKSB7Ci0JCQlwcmludGsoImFjcGkyMF9wYXJzZV9zcmF0OiBFbnRyeSBsZW5ndGggdmFsdWUgaXMgemVybzsiCi0JCQkJIiBjYW4ndCBwYXJzZSBhbnkgZnVydGhlciFcbiIpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQlpZiAobnVtX21lbW9yeV9jaHVua3MgPT0gMCkgewotCQlwcmludGsoImNvdWxkIG5vdCBmaW55IGFueSBBQ1BJIFNSQVQgbWVtb3J5IGFyZWFzLlxuIik7Ci0JCWdvdG8gb3V0X2ZhaWw7Ci0JfQotCi0JLyogQ2FsY3VsYXRlIHRvdGFsIG51bWJlciBvZiBub2RlcyBpbiBzeXN0ZW0gZnJvbSBQWE0gYml0bWFwIGFuZCBjcmVhdGUKLQkgKiBhIHNldCBvZiBzZXF1ZW50aWFsIG5vZGUgSURzIHN0YXJ0aW5nIGF0IHplcm8uICAoQUNQSSBkb2Vzbid0IHNlZW0KLQkgKiB0byBzcGVjaWZ5IHRoZSByYW5nZSBvZiBfUFhNIHZhbHVlcy4pCi0JICovCi0JLyoKLQkgKiBNQ0QgLSB3ZSBubyBsb25nZXIgSEFWRSB0byBudW1iZXIgbm9kZXMgc2VxdWVudGlhbGx5LiAgUFhNIGRvbWFpbgotCSAqIG51bWJlcnMgY291bGQgZ28gYXMgaGlnaCBhcyAyNTYsIGFuZCBNQVhfTlVNTk9ERVMgZm9yIGkzODYgaXMgdHlwaWNhbGx5Ci0JICogMzIsIHNvIHdlIHdpbGwgY29udGludWUgbnVtYmVyaW5nIHRoZW0gaW4gdGhpcyBtYW5uZXIgdW50aWwgTUFYX05VTU5PREVTCi0JICogYXBwcm9hY2hlcyBNQVhfUFhNX0RPTUFJTlMgZm9yIGkzODYuCi0JICovCi0Jbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX1BYTV9ET01BSU5TOyBpKyspIHsKLQkJaWYgKEJNQVBfVEVTVChweG1fYml0bWFwLCBpKSkgewotCQkJaW50IG5pZCA9IGFjcGlfbWFwX3B4bV90b19ub2RlKGkpOwotCQkJbm9kZV9zZXRfb25saW5lKG5pZCk7Ci0JCX0KLQl9Ci0JQlVHX09OKG51bV9vbmxpbmVfbm9kZXMoKSA9PSAwKTsKLQotCS8qIHNldCBjbm9kZSBpZCBpbiBtZW1vcnkgY2h1bmsgc3RydWN0dXJlICovCi0JZm9yIChpID0gMDsgaSA8IG51bV9tZW1vcnlfY2h1bmtzOyBpKyspCi0JCW5vZGVfbWVtb3J5X2NodW5rW2ldLm5pZCA9IHB4bV90b19ub2RlKG5vZGVfbWVtb3J5X2NodW5rW2ldLnB4bSk7Ci0KLQlwcmludGsoInB4bSBiaXRtYXA6ICIpOwotCWZvciAoaSA9IDA7IGkgPCBzaXplb2YocHhtX2JpdG1hcCk7IGkrKykgewotCQlwcmludGsoIiUwMlggIiwgcHhtX2JpdG1hcFtpXSk7Ci0JfQotCXByaW50aygiXG4iKTsKLQlwcmludGsoIk51bWJlciBvZiBsb2dpY2FsIG5vZGVzIGluIHN5c3RlbSA9ICVkXG4iLCBudW1fb25saW5lX25vZGVzKCkpOwotCXByaW50aygiTnVtYmVyIG9mIG1lbW9yeSBjaHVua3MgaW4gc3lzdGVtID0gJWRcbiIsIG51bV9tZW1vcnlfY2h1bmtzKTsKLQotCWZvciAoaSA9IDA7IGkgPCBNQVhfQVBJQ0lEOyBpKyspCi0JCWFwaWNpZF8yX25vZGVbaV0gPSBweG1fdG9fbm9kZShhcGljaWRfdG9fcHhtW2ldKTsKLQotCWZvciAoaiA9IDA7IGogPCBudW1fbWVtb3J5X2NodW5rczsgaisrKXsKLQkJc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKiBjaHVuayA9ICZub2RlX21lbW9yeV9jaHVua1tqXTsKLQkJcHJpbnRrKCJjaHVuayAlZCBuaWQgJWQgc3RhcnRfcGZuICUwOGx4IGVuZF9wZm4gJTA4bHhcbiIsCi0JCSAgICAgICBqLCBjaHVuay0+bmlkLCBjaHVuay0+c3RhcnRfcGZuLCBjaHVuay0+ZW5kX3Bmbik7Ci0JCW5vZGVfcmVhZF9jaHVuayhjaHVuay0+bmlkLCBjaHVuayk7Ci0JCWFkZF9hY3RpdmVfcmFuZ2UoY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwgY2h1bmstPmVuZF9wZm4pOwotCX0KLSAKLQlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKLQkJdW5zaWduZWQgbG9uZyBzdGFydCA9IG5vZGVfc3RhcnRfcGZuW25pZF07Ci0JCXVuc2lnbmVkIGxvbmcgZW5kID0gbm9kZV9lbmRfcGZuW25pZF07Ci0KLQkJbWVtb3J5X3ByZXNlbnQobmlkLCBzdGFydCwgZW5kKTsKLQkJbm9kZV9yZW1hcF9zaXplW25pZF0gPSBub2RlX21lbW1hcF9zaXplX2J5dGVzKG5pZCwgc3RhcnQsIGVuZCk7Ci0JfQotCXJldHVybiAxOwotb3V0X2ZhaWw6Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0cnVjdCBhY3BpX3N0YXRpY19yc2R0IHsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9yc2R0IHRhYmxlOwotCXUzMiBwYWRkaW5nWzddOyAvKiBBbGxvdyBmb3IgNyBtb3JlIHRhYmxlIGVudHJpZXMgKi8KLX07Ci0KLWludCBfX2luaXQgZ2V0X21lbWNmZ19mcm9tX3NyYXQodm9pZCkKLXsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKmhlYWRlciA9IE5VTEw7Ci0Jc3RydWN0IGFjcGlfdGFibGVfcnNkcCAqcnNkcCA9IE5VTEw7Ci0Jc3RydWN0IGFjcGlfdGFibGVfcnNkdCAqcnNkdCA9IE5VTEw7Ci0JYWNwaV9uYXRpdmVfdWludCByc2RwX2FkZHJlc3MgPSAwOwotCXN0cnVjdCBhY3BpX3N0YXRpY19yc2R0IHNhdmVkX3JzZHQ7Ci0JaW50IHRhYmxlcyA9IDA7Ci0JaW50IGkgPSAwOwotCi0JcnNkcF9hZGRyZXNzID0gYWNwaV9vc19nZXRfcm9vdF9wb2ludGVyKCk7Ci0JaWYgKCFyc2RwX2FkZHJlc3MpIHsKLQkJcHJpbnRrKCIlczogU3lzdGVtIGRlc2NyaXB0aW9uIHRhYmxlcyBub3QgZm91bmRcbiIsCi0JCSAgICAgICBfX2Z1bmNfXyk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQlwcmludGsoIiVzOiBhc3NpZ25pbmcgYWRkcmVzcyB0byByc2RwXG4iLCBfX2Z1bmNfXyk7Ci0JcnNkcCA9IChzdHJ1Y3QgYWNwaV90YWJsZV9yc2RwICopKHUzMilyc2RwX2FkZHJlc3M7Ci0JaWYgKCFyc2RwKSB7Ci0JCXByaW50aygiJXM6IERpZG4ndCBmaW5kIEFDUEkgcm9vdCFcbiIsIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8gIiUuOHMgdiVkIFslLjZzXVxuIiwgcnNkcC0+c2lnbmF0dXJlLCByc2RwLT5yZXZpc2lvbiwKLQkJcnNkcC0+b2VtX2lkKTsKLQotCWlmIChzdHJuY21wKHJzZHAtPnNpZ25hdHVyZSwgQUNQSV9TSUdfUlNEUCxzdHJsZW4oQUNQSV9TSUdfUlNEUCkpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBSU0RQIHRhYmxlIHNpZ25hdHVyZSBpbmNvcnJlY3RcbiIsIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCXJzZHQgPSAoc3RydWN0IGFjcGlfdGFibGVfcnNkdCAqKQotCSAgICBlYXJseV9pb3JlbWFwKHJzZHAtPnJzZHRfcGh5c2ljYWxfYWRkcmVzcywgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX3JzZHQpKTsKLQotCWlmICghcnNkdCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCSAgICAgICAiJXM6IEFDUEk6IEludmFsaWQgcm9vdCBzeXN0ZW0gZGVzY3JpcHRpb24gdGFibGVzIChSU0RUKVxuIiwKLQkJICAgICAgIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCWhlYWRlciA9ICZyc2R0LT5oZWFkZXI7Ci0KLQlpZiAoc3RybmNtcChoZWFkZXItPnNpZ25hdHVyZSwgQUNQSV9TSUdfUlNEVCwgc3RybGVuKEFDUElfU0lHX1JTRFQpKSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJBQ1BJOiBSU0RUIHNpZ25hdHVyZSBpbmNvcnJlY3RcbiIpOwotCQlnb3RvIG91dF9lcnI7Ci0JfQotCi0JLyogCi0JICogVGhlIG51bWJlciBvZiB0YWJsZXMgaXMgY29tcHV0ZWQgYnkgdGFraW5nIHRoZSAKLQkgKiBzaXplIG9mIGFsbCBlbnRyaWVzIChoZWFkZXIgc2l6ZSBtaW51cyB0b3RhbCAKLQkgKiBzaXplIG9mIFJTRFQpIGRpdmlkZWQgYnkgdGhlIHNpemUgb2YgZWFjaCBlbnRyeQotCSAqICg0LWJ5dGUgdGFibGUgcG9pbnRlcnMpLgotCSAqLwotCXRhYmxlcyA9IChoZWFkZXItPmxlbmd0aCAtIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIpKSAvIDQ7Ci0KLQlpZiAoIXRhYmxlcykKLQkJZ290byBvdXRfZXJyOwotCi0JbWVtY3B5KCZzYXZlZF9yc2R0LCByc2R0LCBzaXplb2Yoc2F2ZWRfcnNkdCkpOwotCi0JaWYgKHNhdmVkX3JzZHQudGFibGUuaGVhZGVyLmxlbmd0aCA+IHNpemVvZihzYXZlZF9yc2R0KSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJBQ1BJOiBUb28gYmlnIGxlbmd0aCBpbiBSU0RUOiAlZFxuIiwKLQkJICAgICAgIHNhdmVkX3JzZHQudGFibGUuaGVhZGVyLmxlbmd0aCk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQlwcmludGsoIkJlZ2luIFNSQVQgdGFibGUgc2Nhbi4uLi5cbiIpOwotCi0JZm9yIChpID0gMDsgaSA8IHRhYmxlczsgaSsrKSB7Ci0JCS8qIE1hcCBpbiBoZWFkZXIsIHRoZW4gbWFwIGluIGZ1bGwgdGFibGUgbGVuZ3RoLiAqLwotCQloZWFkZXIgPSAoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICopCi0JCQllYXJseV9pb3JlbWFwKHNhdmVkX3JzZHQudGFibGUudGFibGVfb2Zmc2V0X2VudHJ5W2ldLCBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyKSk7Ci0JCWlmICghaGVhZGVyKQotCQkJYnJlYWs7Ci0JCWhlYWRlciA9IChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKikKLQkJCWVhcmx5X2lvcmVtYXAoc2F2ZWRfcnNkdC50YWJsZS50YWJsZV9vZmZzZXRfZW50cnlbaV0sIGhlYWRlci0+bGVuZ3RoKTsKLQkJaWYgKCFoZWFkZXIpCi0JCQlicmVhazsKLQotCQlpZiAoc3RybmNtcCgoY2hhciAqKSAmaGVhZGVyLT5zaWduYXR1cmUsIEFDUElfU0lHX1NSQVQsIDQpKQotCQkJY29udGludWU7Ci0KLQkJLyogd2UndmUgZm91bmQgdGhlIHNyYXQgdGFibGUuIGRvbid0IG5lZWQgdG8gbG9vayBhdCBhbnkgbW9yZSB0YWJsZXMgKi8KLQkJcmV0dXJuIGFjcGkyMF9wYXJzZV9zcmF0KChzdHJ1Y3QgYWNwaV90YWJsZV9zcmF0ICopaGVhZGVyKTsKLQl9Ci1vdXRfZXJyOgotCXJlbW92ZV9hbGxfYWN0aXZlX3JhbmdlcygpOwotCXByaW50aygiZmFpbGVkIHRvIGdldCBOVU1BIG1lbW9yeSBpbmZvcm1hdGlvbiBmcm9tIFNSQVQgdGFibGVcbiIpOwotCXJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gveDg2L2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggYzI4YzM0Mi4uYTAzZTdmNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC03NCw2ICs3NCw3IEBACiAJaWYgKHRyYWNlLT5ucl9lbnRyaWVzIDwgdHJhY2UtPm1heF9lbnRyaWVzKQogCQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IFVMT05HX01BWDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwogCiB2b2lkIHNhdmVfc3RhY2tfdHJhY2VfdHNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQogewpAQCAtODEsMyArODIsNCBAQAogCWlmICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcykKIAkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBVTE9OR19NQVg7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlX3Rzayk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc3VtbWl0XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc3VtbWl0XzMyLmMKaW5kZXggYWU3NTEwOS4uZDY3Y2U1ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3N1bW1pdF8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zdW1taXRfMzIuYwpAQCAtMzYsNyArMzYsOSBAQAogc3RhdGljIHN0cnVjdCBzY2FsX2RldGFpbCAgICpzY2FsX2RldnNbTUFYX05VTU5PREVTXSBfX2luaXRkYXRhOwogc3RhdGljIHN0cnVjdCByaW9fZGV0YWlsICAgICpyaW9fZGV2c1tNQVhfTlVNTk9ERVMqNF0gX19pbml0ZGF0YTsKIAorI2lmbmRlZiBDT05GSUdfWDg2X05VTUFRCiBzdGF0aWMgaW50IG1wX2J1c19pZF90b19ub2RlW01BWF9NUF9CVVNTRVNdIF9faW5pdGRhdGE7CisjZW5kaWYKIAogc3RhdGljIGludCBfX2luaXQgc2V0dXBfcGNpX25vZGVfbWFwX2Zvcl93cGVnKGludCB3cGVnX251bSwgaW50IGxhc3RfYnVzKQogewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3N5c19pMzg2XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYwppbmRleCBkMmFiNTJjLi43MDY2Y2I4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYwpAQCAtMTksOCArMTksOCBAQAogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KICNpbmNsdWRlIDxsaW51eC9pcGMuaD4KIAotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3VuaXN0ZC5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KIAogYXNtbGlua2FnZSBsb25nIHN5c19tbWFwMih1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgbGVuLAogCQkJICB1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCkBAIC0xMDMsNyArMTAzLDcgQEAKICAqCiAgKiBUaGlzIGlzIHJlYWxseSBob3JyaWJseSB1Z2x5LgogICovCi1hc21saW5rYWdlIGludCBzeXNfaXBjICh1aW50IGNhbGwsIGludCBmaXJzdCwgaW50IHNlY29uZCwKK2FzbWxpbmthZ2UgaW50IHN5c19pcGModWludCBjYWxsLCBpbnQgZmlyc3QsIGludCBzZWNvbmQsCiAJCQlpbnQgdGhpcmQsIHZvaWQgX191c2VyICpwdHIsIGxvbmcgZmlmdGgpCiB7CiAJaW50IHZlcnNpb24sIHJldDsKQEAgLTExMywyNCArMTEzLDI0IEBACiAKIAlzd2l0Y2ggKGNhbGwpIHsKIAljYXNlIFNFTU9QOgotCQlyZXR1cm4gc3lzX3NlbXRpbWVkb3AgKGZpcnN0LCAoc3RydWN0IHNlbWJ1ZiBfX3VzZXIgKilwdHIsIHNlY29uZCwgTlVMTCk7CisJCXJldHVybiBzeXNfc2VtdGltZWRvcChmaXJzdCwgKHN0cnVjdCBzZW1idWYgX191c2VyICopcHRyLCBzZWNvbmQsIE5VTEwpOwogCWNhc2UgU0VNVElNRURPUDoKIAkJcmV0dXJuIHN5c19zZW10aW1lZG9wKGZpcnN0LCAoc3RydWN0IHNlbWJ1ZiBfX3VzZXIgKilwdHIsIHNlY29uZCwKIAkJCQkJKGNvbnN0IHN0cnVjdCB0aW1lc3BlYyBfX3VzZXIgKilmaWZ0aCk7CiAKIAljYXNlIFNFTUdFVDoKLQkJcmV0dXJuIHN5c19zZW1nZXQgKGZpcnN0LCBzZWNvbmQsIHRoaXJkKTsKKwkJcmV0dXJuIHN5c19zZW1nZXQoZmlyc3QsIHNlY29uZCwgdGhpcmQpOwogCWNhc2UgU0VNQ1RMOiB7CiAJCXVuaW9uIHNlbXVuIGZvdXJ0aDsKIAkJaWYgKCFwdHIpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJaWYgKGdldF91c2VyKGZvdXJ0aC5fX3BhZCwgKHZvaWQgX191c2VyICogX191c2VyICopIHB0cikpCiAJCQlyZXR1cm4gLUVGQVVMVDsKLQkJcmV0dXJuIHN5c19zZW1jdGwgKGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBmb3VydGgpOworCQlyZXR1cm4gc3lzX3NlbWN0bChmaXJzdCwgc2Vjb25kLCB0aGlyZCwgZm91cnRoKTsKIAl9CiAKIAljYXNlIE1TR1NORDoKLQkJcmV0dXJuIHN5c19tc2dzbmQgKGZpcnN0LCAoc3RydWN0IG1zZ2J1ZiBfX3VzZXIgKikgcHRyLCAKKwkJcmV0dXJuIHN5c19tc2dzbmQoZmlyc3QsIChzdHJ1Y3QgbXNnYnVmIF9fdXNlciAqKSBwdHIsCiAJCQkJICAgc2Vjb25kLCB0aGlyZCk7CiAJY2FzZSBNU0dSQ1Y6CiAJCXN3aXRjaCAodmVyc2lvbikgewpAQCAtMTM4LDQ1ICsxMzgsNDUgQEAKIAkJCXN0cnVjdCBpcGNfa2x1ZGdlIHRtcDsKIAkJCWlmICghcHRyKQogCQkJCXJldHVybiAtRUlOVkFMOwotCQkJCisKIAkJCWlmIChjb3B5X2Zyb21fdXNlcigmdG1wLAotCQkJCQkgICAoc3RydWN0IGlwY19rbHVkZ2UgX191c2VyICopIHB0ciwgCi0JCQkJCSAgIHNpemVvZiAodG1wKSkpCisJCQkJCSAgIChzdHJ1Y3QgaXBjX2tsdWRnZSBfX3VzZXIgKikgcHRyLAorCQkJCQkgICBzaXplb2YodG1wKSkpCiAJCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCQlyZXR1cm4gc3lzX21zZ3JjdiAoZmlyc3QsIHRtcC5tc2dwLCBzZWNvbmQsCisJCQlyZXR1cm4gc3lzX21zZ3JjdihmaXJzdCwgdG1wLm1zZ3AsIHNlY29uZCwKIAkJCQkJICAgdG1wLm1zZ3R5cCwgdGhpcmQpOwogCQl9CiAJCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gc3lzX21zZ3JjdiAoZmlyc3QsCisJCQlyZXR1cm4gc3lzX21zZ3JjdihmaXJzdCwKIAkJCQkJICAgKHN0cnVjdCBtc2didWYgX191c2VyICopIHB0ciwKIAkJCQkJICAgc2Vjb25kLCBmaWZ0aCwgdGhpcmQpOwogCQl9CiAJY2FzZSBNU0dHRVQ6Ci0JCXJldHVybiBzeXNfbXNnZ2V0ICgoa2V5X3QpIGZpcnN0LCBzZWNvbmQpOworCQlyZXR1cm4gc3lzX21zZ2dldCgoa2V5X3QpIGZpcnN0LCBzZWNvbmQpOwogCWNhc2UgTVNHQ1RMOgotCQlyZXR1cm4gc3lzX21zZ2N0bCAoZmlyc3QsIHNlY29uZCwgKHN0cnVjdCBtc3FpZF9kcyBfX3VzZXIgKikgcHRyKTsKKwkJcmV0dXJuIHN5c19tc2djdGwoZmlyc3QsIHNlY29uZCwgKHN0cnVjdCBtc3FpZF9kcyBfX3VzZXIgKikgcHRyKTsKIAogCWNhc2UgU0hNQVQ6CiAJCXN3aXRjaCAodmVyc2lvbikgewogCQlkZWZhdWx0OiB7CiAJCQl1bG9uZyByYWRkcjsKLQkJCXJldCA9IGRvX3NobWF0IChmaXJzdCwgKGNoYXIgX191c2VyICopIHB0ciwgc2Vjb25kLCAmcmFkZHIpOworCQkJcmV0ID0gZG9fc2htYXQoZmlyc3QsIChjaGFyIF9fdXNlciAqKSBwdHIsIHNlY29uZCwgJnJhZGRyKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKLQkJCXJldHVybiBwdXRfdXNlciAocmFkZHIsICh1bG9uZyBfX3VzZXIgKikgdGhpcmQpOworCQkJcmV0dXJuIHB1dF91c2VyKHJhZGRyLCAodWxvbmcgX191c2VyICopIHRoaXJkKTsKIAkJfQogCQljYXNlIDE6CS8qIGlCQ1MyIGVtdWxhdG9yIGVudHJ5IHBvaW50ICovCiAJCQlpZiAoIXNlZ21lbnRfZXEoZ2V0X2ZzKCksIGdldF9kcygpKSkKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCS8qIFRoZSAiKHVsb25nICopIHRoaXJkIiBpcyB2YWxpZCBfb25seV8gYmVjYXVzZSBvZiB0aGUga2VybmVsIHNlZ21lbnQgdGhpbmcgKi8KLQkJCXJldHVybiBkb19zaG1hdCAoZmlyc3QsIChjaGFyIF9fdXNlciAqKSBwdHIsIHNlY29uZCwgKHVsb25nICopIHRoaXJkKTsKKwkJCXJldHVybiBkb19zaG1hdChmaXJzdCwgKGNoYXIgX191c2VyICopIHB0ciwgc2Vjb25kLCAodWxvbmcgKikgdGhpcmQpOwogCQl9Ci0JY2FzZSBTSE1EVDogCi0JCXJldHVybiBzeXNfc2htZHQgKChjaGFyIF9fdXNlciAqKXB0cik7CisJY2FzZSBTSE1EVDoKKwkJcmV0dXJuIHN5c19zaG1kdCgoY2hhciBfX3VzZXIgKilwdHIpOwogCWNhc2UgU0hNR0VUOgotCQlyZXR1cm4gc3lzX3NobWdldCAoZmlyc3QsIHNlY29uZCwgdGhpcmQpOworCQlyZXR1cm4gc3lzX3NobWdldChmaXJzdCwgc2Vjb25kLCB0aGlyZCk7CiAJY2FzZSBTSE1DVEw6Ci0JCXJldHVybiBzeXNfc2htY3RsIChmaXJzdCwgc2Vjb25kLAorCQlyZXR1cm4gc3lzX3NobWN0bChmaXJzdCwgc2Vjb25kLAogCQkJCSAgIChzdHJ1Y3Qgc2htaWRfZHMgX191c2VyICopIHB0cik7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIC1FTk9TWVM7CkBAIC0xODYsMjggKzE4NiwyOCBAQAogLyoKICAqIE9sZCBjcnVmdAogICovCi1hc21saW5rYWdlIGludCBzeXNfdW5hbWUoc3RydWN0IG9sZF91dHNuYW1lIF9fdXNlciAqIG5hbWUpCithc21saW5rYWdlIGludCBzeXNfdW5hbWUoc3RydWN0IG9sZF91dHNuYW1lIF9fdXNlciAqbmFtZSkKIHsKIAlpbnQgZXJyOwogCWlmICghbmFtZSkKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJZG93bl9yZWFkKCZ1dHNfc2VtKTsKLQllcnIgPSBjb3B5X3RvX3VzZXIobmFtZSwgdXRzbmFtZSgpLCBzaXplb2YgKCpuYW1lKSk7CisJZXJyID0gY29weV90b191c2VyKG5hbWUsIHV0c25hbWUoKSwgc2l6ZW9mKCpuYW1lKSk7CiAJdXBfcmVhZCgmdXRzX3NlbSk7Ci0JcmV0dXJuIGVycj8tRUZBVUxUOjA7CisJcmV0dXJuIGVycj8gLUVGQVVMVDowOwogfQogCi1hc21saW5rYWdlIGludCBzeXNfb2xkdW5hbWUoc3RydWN0IG9sZG9sZF91dHNuYW1lIF9fdXNlciAqIG5hbWUpCithc21saW5rYWdlIGludCBzeXNfb2xkdW5hbWUoc3RydWN0IG9sZG9sZF91dHNuYW1lIF9fdXNlciAqbmFtZSkKIHsKIAlpbnQgZXJyb3I7CiAKIAlpZiAoIW5hbWUpCiAJCXJldHVybiAtRUZBVUxUOwotCWlmICghYWNjZXNzX29rKFZFUklGWV9XUklURSxuYW1lLHNpemVvZihzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUpKSkKKwlpZiAoIWFjY2Vzc19vayhWRVJJRllfV1JJVEUsIG5hbWUsIHNpemVvZihzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUpKSkKIAkJcmV0dXJuIC1FRkFVTFQ7Ci0gIAotICAJZG93bl9yZWFkKCZ1dHNfc2VtKTsKLQkKKworCWRvd25fcmVhZCgmdXRzX3NlbSk7CisKIAllcnJvciA9IF9fY29weV90b191c2VyKCZuYW1lLT5zeXNuYW1lLCAmdXRzbmFtZSgpLT5zeXNuYW1lLAogCQkJICAgICAgIF9fT0xEX1VUU19MRU4pOwogCWVycm9yIHw9IF9fcHV0X3VzZXIoMCwgbmFtZS0+c3lzbmFtZSArIF9fT0xEX1VUU19MRU4pOwpAQCAtMjIzLDkgKzIyMyw5IEBACiAJZXJyb3IgfD0gX19jb3B5X3RvX3VzZXIoJm5hbWUtPm1hY2hpbmUsICZ1dHNuYW1lKCktPm1hY2hpbmUsCiAJCQkJX19PTERfVVRTX0xFTik7CiAJZXJyb3IgfD0gX19wdXRfdXNlcigwLCBuYW1lLT5tYWNoaW5lICsgX19PTERfVVRTX0xFTik7Ci0JCisKIAl1cF9yZWFkKCZ1dHNfc2VtKTsKLQkKKwogCWVycm9yID0gZXJyb3IgPyAtRUZBVUxUIDogMDsKIAogCXJldHVybiBlcnJvcjsKQEAgLTI0MSw2ICsyNDEsNiBAQAogCWxvbmcgX19yZXM7CiAJYXNtIHZvbGF0aWxlICgicHVzaCAlJWVieCA7IG1vdmwgJTIsJSVlYnggOyBpbnQgJDB4ODAgOyBwb3AgJSVlYngiCiAJOiAiPWEiIChfX3JlcykKLQk6ICIwIiAoX19OUl9leGVjdmUpLCJyaSIgKGZpbGVuYW1lKSwiYyIgKGFyZ3YpLCAiZCIgKGVudnApIDogIm1lbW9yeSIpOworCTogIjAiIChfX05SX2V4ZWN2ZSksICJyaSIgKGZpbGVuYW1lKSwgImMiIChhcmd2KSwgImQiIChlbnZwKSA6ICJtZW1vcnkiKTsKIAlyZXR1cm4gX19yZXM7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV8zMi5jIGIvYXJjaC94ODYva2VybmVsL3RpbWVfMzIuYwppbmRleCAyZmYyMWYzLi4wNTljYTZlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90aW1lXzMyLmMKQEAgLTM5LDkgKzM5LDYgQEAKIAogI2luY2x1ZGUgImRvX3RpbWVyLmgiCiAKLXVuc2lnbmVkIGludCBjcHVfa2h6OwkvKiBEZXRlY3RlZCBhcyB3ZSBjYWxpYnJhdGUgdGhlIFRTQyAqLwotRVhQT1JUX1NZTUJPTChjcHVfa2h6KTsKLQogaW50IHRpbWVyX2FjazsKIAogdW5zaWduZWQgbG9uZyBwcm9maWxlX3BjKHN0cnVjdCBwdF9yZWdzICpyZWdzKQpAQCAtODQsOCArODEsNyBAQAogCWlmICh0aW1lcl9hY2spIHsKIAkJLyoKIAkJICogU3VidGxlLCB3aGVuIEkvTyBBUElDcyBhcmUgdXNlZCB3ZSBoYXZlIHRvIGFjayB0aW1lciBJUlEKLQkJICogbWFudWFsbHkgdG8gcmVzZXQgdGhlIElSUiBiaXQgZm9yIGRvX3Nsb3dfZ2V0dGltZW9mZnNldCgpLgotCQkgKiBUaGlzIHdpbGwgYWxzbyBkZWFzc2VydCBOTUkgbGluZXMgZm9yIHRoZSB3YXRjaGRvZyBpZiBydW4KKwkJICogbWFudWFsbHkgdG8gZGVhc3NlcnQgTk1JIGxpbmVzIGZvciB0aGUgd2F0Y2hkb2cgaWYgcnVuCiAJCSAqIG9uIGFuIDgyNDg5RFgtYmFzZWQgc3lzdGVtLgogCQkgKi8KIAkJc3Bpbl9sb2NrKCZpODI1OUFfbG9jayk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV82NC5jIGIvYXJjaC94ODYva2VybmVsL3RpbWVfNjQuYwppbmRleCBjNzM3ODQ5Li5lM2Q0OWM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90aW1lXzY0LmMKQEAgLTU2LDcgKzU2LDcgQEAKIC8qIGNhbGlicmF0ZV9jcHUgaXMgdXNlZCBvbiBzeXN0ZW1zIHdpdGggZml4ZWQgcmF0ZSBUU0NzIHRvIGRldGVybWluZQogICogcHJvY2Vzc29yIGZyZXF1ZW5jeSAqLwogI2RlZmluZSBUSUNLX0NPVU5UIDEwMDAwMDAwMAotdW5zaWduZWQgbG9uZyBfX2luaXQgbmF0aXZlX2NhbGN1bGF0ZV9jcHVfa2h6KHZvaWQpCit1bnNpZ25lZCBsb25nIF9faW5pdCBjYWxpYnJhdGVfY3B1KHZvaWQpCiB7CiAJaW50IHRzY19zdGFydCwgdHNjX25vdzsKIAlpbnQgaSwgbm9fY3RyX2ZyZWU7CkBAIC0xMTYsMjMgKzExNiwxMSBAQAogCiB2b2lkIF9faW5pdCB0aW1lX2luaXQodm9pZCkKIHsKLQl0c2NfY2FsaWJyYXRlKCk7Ci0KLQljcHVfa2h6ID0gdHNjX2toejsKLQlpZiAoY3B1X2hhcygmYm9vdF9jcHVfZGF0YSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSAmJgotCQkoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSkKLQkJY3B1X2toeiA9IGNhbGN1bGF0ZV9jcHVfa2h6KCk7Ci0KLQlpZiAodW5zeW5jaHJvbml6ZWRfdHNjKCkpCi0JCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0NzIHVuc3luY2hyb25pemVkIik7Ci0KKwl0c2NfaW5pdCgpOwogCWlmIChjcHVfaGFzKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9SRFRTQ1ApKQogCQl2Z2V0Y3B1X21vZGUgPSBWR0VUQ1BVX1JEVFNDUDsKIAllbHNlCiAJCXZnZXRjcHVfbW9kZSA9IFZHRVRDUFVfTFNMOwogCi0JcHJpbnRrKEtFUk5fSU5GTyAidGltZS5jOiBEZXRlY3RlZCAlZC4lMDNkIE1IeiBwcm9jZXNzb3IuXG4iLAotCQljcHVfa2h6IC8gMTAwMCwgY3B1X2toeiAlIDEwMDApOwotCWluaXRfdHNjX2Nsb2Nrc291cmNlKCk7CiAJbGF0ZV90aW1lX2luaXQgPSBjaG9vc2VfdGltZV9pbml0KCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGxiXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiXzMyLmMKaW5kZXggOWJiMjM2My4uZmVjMWVjZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RsYl8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90bGJfMzIuYwpAQCAtMjM4LDYgKzIzOCw2IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGxiXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiXzY0LmMKaW5kZXggYTFmMDdkNy4uZGNiZjdhMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RsYl82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90bGJfNjQuYwpAQCAtMTUsNiArMTUsOCBAQAogI2luY2x1ZGUgPGFzbS9wcm90by5oPgogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CiAjaW5jbHVkZSA8YXNtL2lkbGUuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfaHViLmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X2JhdS5oPgogCiAjaW5jbHVkZSA8bWFjaF9pcGkuaD4KIC8qCkBAIC0xNjIsNiArMTY0LDkgQEAKIAl1bmlvbiBzbXBfZmx1c2hfc3RhdGUgKmY7CiAJY3B1bWFza190IGNwdW1hc2sgPSAqY3B1bWFza3A7CiAKKwlpZiAoaXNfdXZfc3lzdGVtKCkgJiYgdXZfZmx1c2hfdGxiX290aGVycygmY3B1bWFzaywgbW0sIHZhKSkKKwkJcmV0dXJuOworCiAJLyogQ2FsbGVyIGhhcyBkaXNhYmxlZCBwcmVlbXB0aW9uICovCiAJc2VuZGVyID0gc21wX3Byb2Nlc3Nvcl9pZCgpICUgTlVNX0lOVkFMSURBVEVfVExCX1ZFQ1RPUlM7CiAJZiA9ICZwZXJfY3B1KGZsdXNoX3N0YXRlLCBzZW5kZXIpOwpAQCAtMjcwLDUgKzI3NSw1IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RsYl91di5jIGIvYXJjaC94ODYva2VybmVsL3RsYl91di5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZmJiNzcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiX3V2LmMKQEAgLTAsMCArMSw3OTIgQEAKKy8qCisgKglTR0kgVWx0cmFWaW9sZXQgVExCIGZsdXNoIHJvdXRpbmVzLgorICoKKyAqCShjKSAyMDA4IENsaWZmIFdpY2ttYW4gPGNwd0BzZ2kuY29tPiwgU0dJLgorICoKKyAqCVRoaXMgY29kZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yCisgKglsYXRlci4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CisjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorCisjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X21tcnMuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfaHViLmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X2JhdS5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CisjaW5jbHVkZSA8YXNtL2lkbGUuaD4KKyNpbmNsdWRlIDxhc20vdHNjLmg+CisKKyNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKworc3RhdGljIHN0cnVjdCBiYXVfY29udHJvbAkqKnV2X2JhdV90YWJsZV9iYXNlcyBfX3JlYWRfbW9zdGx5Oworc3RhdGljIGludAkJCXV2X2JhdV9yZXRyeV9saW1pdCBfX3JlYWRfbW9zdGx5OworCisvKiBwb3NpdGlvbiBvZiBwbm9kZSAod2hpY2ggaXMgbmFzaWQ+PjEpOiAqLworc3RhdGljIGludAkJCXV2X25zaGlmdCBfX3JlYWRfbW9zdGx5OworCitzdGF0aWMgdW5zaWduZWQgbG9uZwkJdXZfbW1hc2sgX19yZWFkX21vc3RseTsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBwdGNfc3RhdHMsIHB0Y3N0YXRzKTsKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgYmF1X2NvbnRyb2wsIGJhdV9jb250cm9sKTsKKworLyoKKyAqIEZyZWUgYSBzb2Z0d2FyZSBhY2tub3dsZWRnZSBoYXJkd2FyZSByZXNvdXJjZSBieSBjbGVhcmluZyBpdHMgUGVuZGluZworICogYml0LiBUaGlzIHdpbGwgcmV0dXJuIGEgcmVwbHkgdG8gdGhlIHNlbmRlci4KKyAqIElmIHRoZSBtZXNzYWdlIGhhcyB0aW1lZCBvdXQsIGEgcmVwbHkgaGFzIGFscmVhZHkgYmVlbiBzZW50IGJ5IHRoZQorICogaGFyZHdhcmUgYnV0IHRoZSByZXNvdXJjZSBoYXMgbm90IGJlZW4gcmVsZWFzZWQuIEluIHRoYXQgY2FzZSBvdXIKKyAqIGNsZWFyIG9mIHRoZSBUaW1lb3V0IGJpdCAoYXMgd2VsbCkgd2lsbCBmcmVlIHRoZSByZXNvdXJjZS4gTm8gcmVwbHkgd2lsbAorICogYmUgc2VudCAodGhlIGhhcmR3YXJlIHdpbGwgb25seSBkbyBvbmUgcmVwbHkgcGVyIG1lc3NhZ2UpLgorICovCitzdGF0aWMgdm9pZCB1dl9yZXBseV90b19tZXNzYWdlKGludCByZXNvdXJjZSwKKwkJCQlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZywKKwkJCQlzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgKm1zcCkKK3sKKwl1bnNpZ25lZCBsb25nIGR3OworCisJZHcgPSAoMSA8PCAocmVzb3VyY2UgKyBVVl9TV19BQ0tfTlBFTkRJTkcpKSB8ICgxIDw8IHJlc291cmNlKTsKKwltc2ctPnJlcGxpZWRfdG8gPSAxOworCW1zZy0+c3dfYWNrX3ZlY3RvciA9IDA7CisJaWYgKG1zcCkKKwkJbXNwLT5zZWVuX2J5LmJpdHMgPSAwOworCXV2X3dyaXRlX2xvY2FsX21tcihVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVMsIGR3KTsKK30KKworLyoKKyAqIERvIGFsbCB0aGUgdGhpbmdzIGEgY3B1IHNob3VsZCBkbyBmb3IgYSBUTEIgc2hvb3Rkb3duIG1lc3NhZ2UuCisgKiBPdGhlciBjcHUncyBtYXkgY29tZSBoZXJlIGF0IHRoZSBzYW1lIHRpbWUgZm9yIHRoaXMgbWVzc2FnZS4KKyAqLworc3RhdGljIHZvaWQgdXZfYmF1X3Byb2Nlc3NfbWVzc2FnZShzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZywKKwkJCQkgICBpbnQgbXNnX3Nsb3QsIGludCBzd19hY2tfc2xvdCkKK3sKKwl1bnNpZ25lZCBsb25nIHRoaXNfY3B1X21hc2s7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJaW50IGNwdTsKKworCW1zcCA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLm1zZ19zdGF0dXNlcyArIG1zZ19zbG90OworCWNwdSA9IHV2X2JsYWRlX3Byb2Nlc3Nvcl9pZCgpOworCW1zZy0+bnVtYmVyX29mX2NwdXMgPQorCSAgICB1dl9ibGFkZV9ucl9vbmxpbmVfY3B1cyh1dl9ub2RlX3RvX2JsYWRlX2lkKG51bWFfbm9kZV9pZCgpKSk7CisJdGhpc19jcHVfbWFzayA9IDFVTCA8PCBjcHU7CisJaWYgKG1zcC0+c2Vlbl9ieS5iaXRzICYgdGhpc19jcHVfbWFzaykKKwkJcmV0dXJuOworCWF0b21pY19vcl9sb25nKCZtc3AtPnNlZW5fYnkuYml0cywgdGhpc19jcHVfbWFzayk7CisKKwlpZiAobXNnLT5yZXBsaWVkX3RvID09IDEpCisJCXJldHVybjsKKworCWlmIChtc2ctPmFkZHJlc3MgPT0gVExCX0ZMVVNIX0FMTCkgeworCQlsb2NhbF9mbHVzaF90bGIoKTsKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuYWxsdGxiKys7CisJfSBlbHNlIHsKKwkJX19mbHVzaF90bGJfb25lKG1zZy0+YWRkcmVzcyk7CisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLm9uZXRsYisrOworCX0KKworCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLnJlcXVlc3RlZSsrOworCisJYXRvbWljX2luY19zaG9ydCgmbXNnLT5hY2tub3dsZWRnZV9jb3VudCk7CisJaWYgKG1zZy0+bnVtYmVyX29mX2NwdXMgPT0gbXNnLT5hY2tub3dsZWRnZV9jb3VudCkKKwkJdXZfcmVwbHlfdG9fbWVzc2FnZShzd19hY2tfc2xvdCwgbXNnLCBtc3ApOworfQorCisvKgorICogRXhhbWluZSB0aGUgcGF5bG9hZCBxdWV1ZSBvbiBvbmUgZGlzdHJpYnV0aW9uIG5vZGUgdG8gc2VlCisgKiB3aGljaCBtZXNzYWdlcyBoYXZlIG5vdCBiZWVuIHNlZW4sIGFuZCB3aGljaCBjcHUocykgaGF2ZSBub3Qgc2VlbiB0aGVtLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjcHUncyB0aGF0IGhhdmUgbm90IHJlc3BvbmRlZC4KKyAqLworc3RhdGljIGludCB1dl9leGFtaW5lX2Rlc3RpbmF0aW9uKHN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3AsIGludCBzZW5kZXIpCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2c7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJaW50IGNvdW50ID0gMDsKKwlpbnQgaTsKKwlpbnQgajsKKworCWZvciAobXNnID0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0LCBpID0gMDsgaSA8IERFU1RfUV9TSVpFOworCSAgICAgbXNnKyssIGkrKykgeworCQlpZiAoKG1zZy0+c2VuZGluZ19jcHUgPT0gc2VuZGVyKSAmJiAoIW1zZy0+cmVwbGllZF90bykpIHsKKwkJCW1zcCA9IGJhdV90YWJsZXNwLT5tc2dfc3RhdHVzZXMgKyBpOworCQkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCSAgICAgICAiYmxhZGUgJWQ6IGFkZHJlc3M6JSNseCAlZCBvZiAlZCwgbm90IGNwdShzKTogIiwKKwkJCSAgICAgICBpLCBtc2ctPmFkZHJlc3MsIG1zZy0+YWNrbm93bGVkZ2VfY291bnQsCisJCQkgICAgICAgbXNnLT5udW1iZXJfb2ZfY3B1cyk7CisJCQlmb3IgKGogPSAwOyBqIDwgbXNnLT5udW1iZXJfb2ZfY3B1czsgaisrKSB7CisJCQkJaWYgKCEoKDFMIDw8IGopICYgbXNwLT5zZWVuX2J5LmJpdHMpKSB7CisJCQkJCWNvdW50Kys7CisJCQkJCXByaW50aygiJWQgIiwgaik7CisJCQkJfQorCQkJfQorCQkJcHJpbnRrKCJcbiIpOworCQl9CisJfQorCXJldHVybiBjb3VudDsKK30KKworLyoKKyAqIEV4YW1pbmUgdGhlIHBheWxvYWQgcXVldWUgb24gYWxsIHRoZSBkaXN0cmlidXRpb24gbm9kZXMgdG8gc2VlCisgKiB3aGljaCBtZXNzYWdlcyBoYXZlIG5vdCBiZWVuIHNlZW4sIGFuZCB3aGljaCBjcHUocykgaGF2ZSBub3Qgc2VlbiB0aGVtLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjcHUncyB0aGF0IGhhdmUgbm90IHJlc3BvbmRlZC4KKyAqLworc3RhdGljIGludCB1dl9leGFtaW5lX2Rlc3RpbmF0aW9ucyhzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZGlzdHJpYnV0aW9uKQoreworCWludCBzZW5kZXI7CisJaW50IGk7CisJaW50IGNvdW50ID0gMDsKKworCXNlbmRlciA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHN0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrKSAqIEJJVFNQRVJCWVRFOyBpKyspIHsKKwkJaWYgKCFiYXVfbm9kZV9pc3NldChpLCBkaXN0cmlidXRpb24pKQorCQkJY29udGludWU7CisJCWNvdW50ICs9IHV2X2V4YW1pbmVfZGVzdGluYXRpb24odXZfYmF1X3RhYmxlX2Jhc2VzW2ldLCBzZW5kZXIpOworCX0KKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiB3YWl0IGZvciBjb21wbGV0aW9uIG9mIGEgYnJvYWRjYXN0IG1lc3NhZ2UKKyAqCisgKiByZXR1cm4gQ09NUExFVEUsIFJFVFJZIG9yIEdJVkVVUAorICovCitzdGF0aWMgaW50IHV2X3dhaXRfY29tcGxldGlvbihzdHJ1Y3QgYmF1X2Rlc2MgKmJhdV9kZXNjLAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBtbXJfb2Zmc2V0LCBpbnQgcmlnaHRfc2hpZnQpCit7CisJaW50IGV4YW1zID0gMDsKKwlsb25nIGRlc3RpbmF0aW9uX3RpbWVvdXRzID0gMDsKKwlsb25nIHNvdXJjZV90aW1lb3V0cyA9IDA7CisJdW5zaWduZWQgbG9uZyBkZXNjcmlwdG9yX3N0YXR1czsKKworCXdoaWxlICgoZGVzY3JpcHRvcl9zdGF0dXMgPSAoKCh1bnNpZ25lZCBsb25nKQorCQl1dl9yZWFkX2xvY2FsX21tcihtbXJfb2Zmc2V0KSA+PgorCQkJcmlnaHRfc2hpZnQpICYgVVZfQUNUX1NUQVRVU19NQVNLKSkgIT0KKwkJCURFU0NfU1RBVFVTX0lETEUpIHsKKwkJaWYgKGRlc2NyaXB0b3Jfc3RhdHVzID09IERFU0NfU1RBVFVTX1NPVVJDRV9USU1FT1VUKSB7CisJCQlzb3VyY2VfdGltZW91dHMrKzsKKwkJCWlmIChzb3VyY2VfdGltZW91dHMgPiBTT1VSQ0VfVElNRU9VVF9MSU1JVCkKKwkJCQlzb3VyY2VfdGltZW91dHMgPSAwOworCQkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuc19yZXRyeSsrOworCQkJcmV0dXJuIEZMVVNIX1JFVFJZOworCQl9CisJCS8qCisJCSAqIHNwaW4gaGVyZSBsb29raW5nIGZvciBwcm9ncmVzcyBhdCB0aGUgZGVzdGluYXRpb25zCisJCSAqLworCQlpZiAoZGVzY3JpcHRvcl9zdGF0dXMgPT0gREVTQ19TVEFUVVNfREVTVElOQVRJT05fVElNRU9VVCkgeworCQkJZGVzdGluYXRpb25fdGltZW91dHMrKzsKKwkJCWlmIChkZXN0aW5hdGlvbl90aW1lb3V0cyA+IERFU1RJTkFUSU9OX1RJTUVPVVRfTElNSVQpIHsKKwkJCQkvKgorCQkJCSAqIHJldHVybnMgbnVtYmVyIG9mIGNwdXMgbm90IHJlc3BvbmRpbmcKKwkJCQkgKi8KKwkJCQlpZiAodXZfZXhhbWluZV9kZXN0aW5hdGlvbnMKKwkJCQkgICAgKCZiYXVfZGVzYy0+ZGlzdHJpYnV0aW9uKSA9PSAwKSB7CisJCQkJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLmRfcmV0cnkrKzsKKwkJCQkJcmV0dXJuIEZMVVNIX1JFVFJZOworCQkJCX0KKwkJCQlleGFtcysrOworCQkJCWlmIChleGFtcyA+PSB1dl9iYXVfcmV0cnlfbGltaXQpIHsKKwkJCQkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCQkJICAgICAgICJ1dl9mbHVzaF90bGJfb3RoZXJzIik7CisJCQkJCXByaW50aygiZ2l2aW5nIHVwIG9uIGNwdSAlZFxuIiwKKwkJCQkJICAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJCQkJCXJldHVybiBGTFVTSF9HSVZFVVA7CisJCQkJfQorCQkJCS8qCisJCQkJICogZGVsYXlzIGNhbiBoYW5nIHRoZSBzaW11bGF0b3IKKwkJCQkgICB1ZGVsYXkoMTAwMCk7CisJCQkJICovCisJCQkJZGVzdGluYXRpb25fdGltZW91dHMgPSAwOworCQkJfQorCQl9CisJfQorCXJldHVybiBGTFVTSF9DT01QTEVURTsKK30KKworLyoqCisgKiB1dl9mbHVzaF9zZW5kX2FuZF93YWl0CisgKgorICogU2VuZCBhIGJyb2FkY2FzdCBhbmQgd2FpdCBmb3IgYSBicm9hZGNhc3QgbWVzc2FnZSB0byBjb21wbGV0ZS4KKyAqCisgKiBUaGUgY3B1bWFza3AgbWFzayBjb250YWlucyB0aGUgY3B1cyB0aGUgYnJvYWRjYXN0IHdhcyBzZW50IHRvLgorICoKKyAqIFJldHVybnMgMSBpZiBhbGwgcmVtb3RlIGZsdXNoaW5nIHdhcyBkb25lLiBUaGUgbWFzayBpcyB6ZXJvZWQuCisgKiBSZXR1cm5zIDAgaWYgc29tZSByZW1vdGUgZmx1c2hpbmcgcmVtYWlucyB0byBiZSBkb25lLiBUaGUgbWFzayBpcyBsZWZ0CisgKiB1bmNoYW5nZWQuCisgKi8KK2ludCB1dl9mbHVzaF9zZW5kX2FuZF93YWl0KGludCBjcHUsIGludCB0aGlzX2JsYWRlLCBzdHJ1Y3QgYmF1X2Rlc2MgKmJhdV9kZXNjLAorCQkJICAgY3B1bWFza190ICpjcHVtYXNrcCkKK3sKKwlpbnQgY29tcGxldGlvbl9zdGF0dXMgPSAwOworCWludCByaWdodF9zaGlmdDsKKwlpbnQgdHJpZXMgPSAwOworCWludCBibGFkZTsKKwlpbnQgYml0OworCXVuc2lnbmVkIGxvbmcgbW1yX29mZnNldDsKKwl1bnNpZ25lZCBsb25nIGluZGV4OworCWN5Y2xlc190IHRpbWUxOworCWN5Y2xlc190IHRpbWUyOworCisJaWYgKGNwdSA8IFVWX0NQVVNfUEVSX0FDVF9TVEFUVVMpIHsKKwkJbW1yX29mZnNldCA9IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMDsKKwkJcmlnaHRfc2hpZnQgPSBjcHUgKiBVVl9BQ1RfU1RBVFVTX1NJWkU7CisJfSBlbHNlIHsKKwkJbW1yX29mZnNldCA9IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMTsKKwkJcmlnaHRfc2hpZnQgPQorCQkgICAgKChjcHUgLSBVVl9DUFVTX1BFUl9BQ1RfU1RBVFVTKSAqIFVWX0FDVF9TVEFUVVNfU0laRSk7CisJfQorCXRpbWUxID0gZ2V0X2N5Y2xlcygpOworCWRvIHsKKwkJdHJpZXMrKzsKKwkJaW5kZXggPSAoMVVMIDw8IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MX1BVU0hfU0hGVCkgfAorCQkJY3B1OworCQl1dl93cml0ZV9sb2NhbF9tbXIoVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wsIGluZGV4KTsKKwkJY29tcGxldGlvbl9zdGF0dXMgPSB1dl93YWl0X2NvbXBsZXRpb24oYmF1X2Rlc2MsIG1tcl9vZmZzZXQsCisJCQkJCXJpZ2h0X3NoaWZ0KTsKKwl9IHdoaWxlIChjb21wbGV0aW9uX3N0YXR1cyA9PSBGTFVTSF9SRVRSWSk7CisJdGltZTIgPSBnZXRfY3ljbGVzKCk7CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuc2ZsdXNoICs9ICh0aW1lMiAtIHRpbWUxKTsKKwlpZiAodHJpZXMgPiAxKQorCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5yZXRyaWVzb2srKzsKKworCWlmIChjb21wbGV0aW9uX3N0YXR1cyA9PSBGTFVTSF9HSVZFVVApIHsKKwkJLyoKKwkJICogQ2F1c2UgdGhlIGNhbGxlciB0byBkbyBhbiBJUEktc3R5bGUgVExCIHNob290ZG93biBvbgorCQkgKiB0aGUgY3B1J3MsIGFsbCBvZiB3aGljaCBhcmUgc3RpbGwgaW4gdGhlIG1hc2suCisJCSAqLworCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5wdGNfaSsrOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKgorCSAqIFN1Y2Nlc3MsIHNvIGNsZWFyIHRoZSByZW1vdGUgY3B1J3MgZnJvbSB0aGUgbWFzayBzbyB3ZSBkb24ndAorCSAqIHVzZSB0aGUgSVBJIG1ldGhvZCBvZiBzaG9vdGRvd24gb24gdGhlbS4KKwkgKi8KKwlmb3JfZWFjaF9jcHVfbWFzayhiaXQsICpjcHVtYXNrcCkgeworCQlibGFkZSA9IHV2X2NwdV90b19ibGFkZV9pZChiaXQpOworCQlpZiAoYmxhZGUgPT0gdGhpc19ibGFkZSkKKwkJCWNvbnRpbnVlOworCQljcHVfY2xlYXIoYml0LCAqY3B1bWFza3ApOworCX0KKwlpZiAoIWNwdXNfZW1wdHkoKmNwdW1hc2twKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKy8qKgorICogdXZfZmx1c2hfdGxiX290aGVycyAtIGdsb2JhbGx5IHB1cmdlIHRyYW5zbGF0aW9uIGNhY2hlIG9mIGEgdmlydHVhbAorICogYWRkcmVzcyBvciBhbGwgVExCJ3MKKyAqIEBjcHVtYXNrcDogbWFzayBvZiBhbGwgY3B1J3MgaW4gd2hpY2ggdGhlIGFkZHJlc3MgaXMgdG8gYmUgcmVtb3ZlZAorICogQG1tOiBtbV9zdHJ1Y3QgY29udGFpbmluZyB2aXJ0dWFsIGFkZHJlc3MgcmFuZ2UKKyAqIEB2YTogdmlydHVhbCBhZGRyZXNzIHRvIGJlIHJlbW92ZWQgKG9yIFRMQl9GTFVTSF9BTEwgZm9yIGFsbCBUTEIncyBvbiBjcHUpCisgKgorICogVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIGluaXRpYXRpbmcgYW55IFVWIGdsb2JhbCBUTEIgc2hvb3Rkb3duLgorICoKKyAqIFB1cmdlcyB0aGUgdHJhbnNsYXRpb24gY2FjaGVzIG9mIGFsbCBzcGVjaWZpZWQgcHJvY2Vzc29ycyBvZiB0aGUgZ2l2ZW4KKyAqIHZpcnR1YWwgYWRkcmVzcywgb3IgcHVyZ2VzIGFsbCBUTEIncyBvbiBzcGVjaWZpZWQgcHJvY2Vzc29ycy4KKyAqCisgKiBUaGUgY2FsbGVyIGhhcyBkZXJpdmVkIHRoZSBjcHVtYXNrcCBmcm9tIHRoZSBtbV9zdHJ1Y3QgYW5kIGhhcyBzdWJ0cmFjdGVkCisgKiB0aGUgbG9jYWwgY3B1IGZyb20gdGhlIG1hc2suICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IGlmIHRoZXJlCisgKiBhcmUgYml0cyBzZXQgaW4gdGhlIG1hc2suIChlLmcuIGZsdXNoX3RsYl9wYWdlKCkpCisgKgorICogVGhlIGNwdW1hc2twIGlzIGNvbnZlcnRlZCBpbnRvIGEgbm9kZW1hc2sgb2YgdGhlIG5vZGVzIGNvbnRhaW5pbmcKKyAqIHRoZSBjcHVzLgorICoKKyAqIFJldHVybnMgMSBpZiBhbGwgcmVtb3RlIGZsdXNoaW5nIHdhcyBkb25lLgorICogUmV0dXJucyAwIGlmIHNvbWUgcmVtb3RlIGZsdXNoaW5nIHJlbWFpbnMgdG8gYmUgZG9uZS4KKyAqLworaW50IHV2X2ZsdXNoX3RsYl9vdGhlcnMoY3B1bWFza190ICpjcHVtYXNrcCwgc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQl1bnNpZ25lZCBsb25nIHZhKQoreworCWludCBpOworCWludCBiaXQ7CisJaW50IGJsYWRlOworCWludCBjcHU7CisJaW50IHRoaXNfYmxhZGU7CisJaW50IGxvY2FscyA9IDA7CisJc3RydWN0IGJhdV9kZXNjICpiYXVfZGVzYzsKKworCWNwdSA9IHV2X2JsYWRlX3Byb2Nlc3Nvcl9pZCgpOworCXRoaXNfYmxhZGUgPSB1dl9udW1hX2JsYWRlX2lkKCk7CisJYmF1X2Rlc2MgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS5kZXNjcmlwdG9yX2Jhc2U7CisJYmF1X2Rlc2MgKz0gVVZfSVRFTVNfUEVSX0RFU0NSSVBUT1IgKiBjcHU7CisKKwliYXVfbm9kZXNfY2xlYXIoJmJhdV9kZXNjLT5kaXN0cmlidXRpb24sIFVWX0RJU1RSSUJVVElPTl9TSVpFKTsKKworCWkgPSAwOworCWZvcl9lYWNoX2NwdV9tYXNrKGJpdCwgKmNwdW1hc2twKSB7CisJCWJsYWRlID0gdXZfY3B1X3RvX2JsYWRlX2lkKGJpdCk7CisJCUJVR19PTihibGFkZSA+IChVVl9ESVNUUklCVVRJT05fU0laRSAtIDEpKTsKKwkJaWYgKGJsYWRlID09IHRoaXNfYmxhZGUpIHsKKwkJCWxvY2FscysrOworCQkJY29udGludWU7CisJCX0KKwkJYmF1X25vZGVfc2V0KGJsYWRlLCAmYmF1X2Rlc2MtPmRpc3RyaWJ1dGlvbik7CisJCWkrKzsKKwl9CisJaWYgKGkgPT0gMCkgeworCQkvKgorCQkgKiBubyBvZmZfbm9kZSBmbHVzaGluZzsgcmV0dXJuIHN0YXR1cyBmb3IgbG9jYWwgbm9kZQorCQkgKi8KKwkJaWYgKGxvY2FscykKKwkJCXJldHVybiAwOworCQllbHNlCisJCQlyZXR1cm4gMTsKKwl9CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykucmVxdWVzdG9yKys7CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykubnRhcmdldGVkICs9IGk7CisKKwliYXVfZGVzYy0+cGF5bG9hZC5hZGRyZXNzID0gdmE7CisJYmF1X2Rlc2MtPnBheWxvYWQuc2VuZGluZ19jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisKKwlyZXR1cm4gdXZfZmx1c2hfc2VuZF9hbmRfd2FpdChjcHUsIHRoaXNfYmxhZGUsIGJhdV9kZXNjLCBjcHVtYXNrcCk7Cit9CisKKy8qCisgKiBUaGUgQkFVIG1lc3NhZ2UgaW50ZXJydXB0IGNvbWVzIGhlcmUuIChyZWdpc3RlcmVkIGJ5IHNldF9pbnRyX2dhdGUpCisgKiBTZWUgZW50cnlfNjQuUworICoKKyAqIFdlIHJlY2VpdmVkIGEgYnJvYWRjYXN0IGFzc2lzdCBtZXNzYWdlLgorICoKKyAqIEludGVycnVwdHMgbWF5IGhhdmUgYmVlbiBkaXNhYmxlZDsgdGhpcyBpbnRlcnJ1cHQgY291bGQgcmVwcmVzZW50CisgKiB0aGUgcmVjZWlwdCBvZiBzZXZlcmFsIG1lc3NhZ2VzLgorICoKKyAqIEFsbCBjb3Jlcy90aHJlYWRzIG9uIHRoaXMgbm9kZSBnZXQgdGhpcyBpbnRlcnJ1cHQuCisgKiBUaGUgbGFzdCBvbmUgdG8gc2VlIGl0IGRvZXMgdGhlIHMvdyBhY2suCisgKiAodGhlIHJlc291cmNlIHdpbGwgbm90IGJlIGZyZWVkIHVudGlsIG5vbmludGVycnVwdGFibGUgY3B1cyBzZWUgdGhpcworICogIGludGVycnVwdDsgaGFyZHdhcmUgd2lsbCB0aW1lb3V0IHRoZSBzL3cgYWNrIGFuZCByZXBseSBFUlJPUikKKyAqLwordm9pZCB1dl9iYXVfbWVzc2FnZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICp2YV9xdWV1ZV9maXJzdDsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKnZhX3F1ZXVlX2xhc3Q7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2c7CisJc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOworCWN5Y2xlc190IHRpbWUxOworCWN5Y2xlc190IHRpbWUyOworCWludCBtc2dfc2xvdDsKKwlpbnQgc3dfYWNrX3Nsb3Q7CisJaW50IGZ3OworCWludCBjb3VudCA9IDA7CisJdW5zaWduZWQgbG9uZyBsb2NhbF9wbm9kZTsKKworCWFja19BUElDX2lycSgpOworCWV4aXRfaWRsZSgpOworCWlycV9lbnRlcigpOworCisJdGltZTEgPSBnZXRfY3ljbGVzKCk7CisKKwlsb2NhbF9wbm9kZSA9IHV2X2JsYWRlX3RvX3Bub2RlKHV2X251bWFfYmxhZGVfaWQoKSk7CisKKwl2YV9xdWV1ZV9maXJzdCA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLnZhX3F1ZXVlX2ZpcnN0OworCXZhX3F1ZXVlX2xhc3QgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS52YV9xdWV1ZV9sYXN0OworCisJbXNnID0gX19nZXRfY3B1X3ZhcihiYXVfY29udHJvbCkuYmF1X21zZ19oZWFkOworCXdoaWxlIChtc2ctPnN3X2Fja192ZWN0b3IpIHsKKwkJY291bnQrKzsKKwkJZncgPSBtc2ctPnN3X2Fja192ZWN0b3I7CisJCW1zZ19zbG90ID0gbXNnIC0gdmFfcXVldWVfZmlyc3Q7CisJCXN3X2Fja19zbG90ID0gZmZzKGZ3KSAtIDE7CisKKwkJdXZfYmF1X3Byb2Nlc3NfbWVzc2FnZShtc2csIG1zZ19zbG90LCBzd19hY2tfc2xvdCk7CisKKwkJbXNnKys7CisJCWlmIChtc2cgPiB2YV9xdWV1ZV9sYXN0KQorCQkJbXNnID0gdmFfcXVldWVfZmlyc3Q7CisJCV9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLmJhdV9tc2dfaGVhZCA9IG1zZzsKKwl9CisJaWYgKCFjb3VudCkKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykubm9tc2crKzsKKwllbHNlIGlmIChjb3VudCA+IDEpCisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLm11bHRtc2crKzsKKworCXRpbWUyID0gZ2V0X2N5Y2xlcygpOworCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLmRmbHVzaCArPSAodGltZTIgLSB0aW1lMSk7CisKKwlpcnFfZXhpdCgpOworCXNldF9pcnFfcmVncyhvbGRfcmVncyk7Cit9CisKK3N0YXRpYyB2b2lkIHV2X2VuYWJsZV90aW1lb3V0cyh2b2lkKQoreworCWludCBpOworCWludCBibGFkZTsKKwlpbnQgbGFzdF9ibGFkZTsKKwlpbnQgcG5vZGU7CisJaW50IGN1cl9jcHUgPSAwOworCXVuc2lnbmVkIGxvbmcgYXBpY2lkOworCisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKGkpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKGkpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCWFwaWNpZCA9IHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGN1cl9jcHUpOworCQlwbm9kZSA9IHV2X2JsYWRlX3RvX3Bub2RlKGJsYWRlKTsKKwkJY3VyX2NwdSArPSB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGkpOworCX0KK30KKworc3RhdGljIHZvaWQgKnV2X3B0Y19zZXFfc3RhcnQoc3RydWN0IHNlcV9maWxlICpmaWxlLCBsb2ZmX3QgKm9mZnNldCkKK3sKKwlpZiAoKm9mZnNldCA8IG51bV9wb3NzaWJsZV9jcHVzKCkpCisJCXJldHVybiBvZmZzZXQ7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkICp1dl9wdGNfc2VxX25leHQoc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICpkYXRhLCBsb2ZmX3QgKm9mZnNldCkKK3sKKwkoKm9mZnNldCkrKzsKKwlpZiAoKm9mZnNldCA8IG51bV9wb3NzaWJsZV9jcHVzKCkpCisJCXJldHVybiBvZmZzZXQ7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIHV2X3B0Y19zZXFfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKmRhdGEpCit7Cit9CisKKy8qCisgKiBEaXNwbGF5IHRoZSBzdGF0aXN0aWNzIHRocnUgL3Byb2MKKyAqIGRhdGEgcG9pbnRzIHRvIHRoZSBjcHUgbnVtYmVyCisgKi8KK3N0YXRpYyBpbnQgdXZfcHRjX3NlcV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgcHRjX3N0YXRzICpzdGF0OworCWludCBjcHU7CisKKwljcHUgPSAqKGxvZmZfdCAqKWRhdGE7CisKKwlpZiAoIWNwdSkgeworCQlzZXFfcHJpbnRmKGZpbGUsCisJCSIjIGNwdSByZXF1ZXN0b3IgcmVxdWVzdGVlIG9uZSBhbGwgc3JldHJ5IGRyZXRyeSBwdGNfaSAiKTsKKwkJc2VxX3ByaW50ZihmaWxlLAorCQkic3dfYWNrIHNmbHVzaCBkZmx1c2ggc29rIGRub21zZyBkbXVsdCBzdGFyZ2V0XG4iKTsKKwl9CisJaWYgKGNwdSA8IG51bV9wb3NzaWJsZV9jcHVzKCkgJiYgY3B1X29ubGluZShjcHUpKSB7CisJCXN0YXQgPSAmcGVyX2NwdShwdGNzdGF0cywgY3B1KTsKKwkJc2VxX3ByaW50ZihmaWxlLCAiY3B1ICVkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCAiLAorCQkJICAgY3B1LCBzdGF0LT5yZXF1ZXN0b3IsCisJCQkgICBzdGF0LT5yZXF1ZXN0ZWUsIHN0YXQtPm9uZXRsYiwgc3RhdC0+YWxsdGxiLAorCQkJICAgc3RhdC0+c19yZXRyeSwgc3RhdC0+ZF9yZXRyeSwgc3RhdC0+cHRjX2kpOworCQlzZXFfcHJpbnRmKGZpbGUsICIlbHggJWxkICVsZCAlbGQgJWxkICVsZCAlbGRcbiIsCisJCQkgICB1dl9yZWFkX2dsb2JhbF9tbXI2NCh1dl9ibGFkZV90b19wbm9kZQorCQkJCQkodXZfY3B1X3RvX2JsYWRlX2lkKGNwdSkpLAorCQkJCQlVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0UpLAorCQkJICAgc3RhdC0+c2ZsdXNoLCBzdGF0LT5kZmx1c2gsCisJCQkgICBzdGF0LT5yZXRyaWVzb2ssIHN0YXQtPm5vbXNnLAorCQkJICAgc3RhdC0+bXVsdG1zZywgc3RhdC0+bnRhcmdldGVkKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqICAwOiBkaXNwbGF5IG1lYW5pbmcgb2YgdGhlIHN0YXRpc3RpY3MKKyAqID4wOiByZXRyeSBsaW1pdAorICovCitzdGF0aWMgc3NpemVfdCB1dl9wdGNfcHJvY193cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKnVzZXIsCisJCQkJIHNpemVfdCBjb3VudCwgbG9mZl90ICpkYXRhKQoreworCWxvbmcgbmV3bW9kZTsKKwljaGFyIG9wdHN0cls2NF07CisKKwlpZiAoY291bnQgPT0gMCB8fCBjb3VudCA+IHNpemVvZihvcHRzdHIpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoY29weV9mcm9tX3VzZXIob3B0c3RyLCB1c2VyLCBjb3VudCkpCisJCXJldHVybiAtRUZBVUxUOworCW9wdHN0cltjb3VudCAtIDFdID0gJ1wwJzsKKwlpZiAoc3RyaWN0X3N0cnRvdWwob3B0c3RyLCAxMCwgJm5ld21vZGUpIDwgMCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiJXMgaXMgaW52YWxpZFxuIiwgb3B0c3RyKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKG5ld21vZGUgPT0gMCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiIyBjcHU6ICAgICAgY3B1IG51bWJlclxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJyZXF1ZXN0b3I6ICB0aW1lcyB0aGlzIGNwdSB3YXMgdGhlIGZsdXNoIHJlcXVlc3RvclxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJyZXF1ZXN0ZWU6ICB0aW1lcyB0aGlzIGNwdSB3YXMgcmVxdWVzdGVkIHRvIGZsdXNoIGl0cyBUTEJzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJIm9uZTogICAgICAgIHRpbWVzIHJlcXVlc3RlZCB0byBmbHVzaCBhIHNpbmdsZSBhZGRyZXNzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJImFsbDogICAgICAgIHRpbWVzIHJlcXVlc3RlZCB0byBmbHVzaCBhbGwgVExCJ3NcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkic3JldHJ5OiAgICAgbnVtYmVyIG9mIHJldHJpZXMgb2Ygc291cmNlLXNpZGUgdGltZW91dHNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkiZHJldHJ5OiAgICAgbnVtYmVyIG9mIHJldHJpZXMgb2YgZGVzdGluYXRpb24tc2lkZSB0aW1lb3V0c1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJwdGNfaTogICAgICB0aW1lcyBVViBmZWxsIHRocm91Z2ggdG8gSVBJLXN0eWxlIGZsdXNoZXNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkic3dfYWNrOiAgICAgaW1hZ2Ugb2YgVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJInNmbHVzaF91czogIGN5Y2xlcyBzcGVudCBpbiB1dl9mbHVzaF90bGJfb3RoZXJzKClcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkiZGZsdXNoX3VzOiAgY3ljbGVzIHNwZW50IGluIGhhbmRsaW5nIGZsdXNoIHJlcXVlc3RzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgInNvazogICAgICAgIHN1Y2Nlc3NlcyBvbiByZXRyeVxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHICJkbm9tc2c6ICAgICBpbnRlcnJ1cHRzIHdpdGggbm8gbWVzc2FnZVxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJkbXVsdDogICAgICBpbnRlcnJ1cHRzIHdpdGggbXVsdGlwbGUgbWVzc2FnZXNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRyAic3RhcmdldDogICAgbm9kZXMgdGFyZ2V0ZWRcbiIpOworCX0gZWxzZSB7CisJCXV2X2JhdV9yZXRyeV9saW1pdCA9IG5ld21vZGU7CisJCXByaW50ayhLRVJOX0RFQlVHICJ0aW1lb3V0IHJldHJ5IGxpbWl0OiVkXG4iLAorCQkgICAgICAgdXZfYmF1X3JldHJ5X2xpbWl0KTsKKwl9CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgdXZfcHRjX3NlcV9vcHMgPSB7CisJLnN0YXJ0CQk9IHV2X3B0Y19zZXFfc3RhcnQsCisJLm5leHQJCT0gdXZfcHRjX3NlcV9uZXh0LAorCS5zdG9wCQk9IHV2X3B0Y19zZXFfc3RvcCwKKwkuc2hvdwkJPSB1dl9wdGNfc2VxX3Nob3cKK307CisKK3N0YXRpYyBpbnQgdXZfcHRjX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2VxX29wZW4oZmlsZSwgJnV2X3B0Y19zZXFfb3BzKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcHJvY191dl9wdGNfb3BlcmF0aW9ucyA9IHsKKwkub3BlbgkJPSB1dl9wdGNfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS53cml0ZQkJPSB1dl9wdGNfcHJvY193cml0ZSwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNlcV9yZWxlYXNlLAorfTsKKworc3RhdGljIGludCBfX2luaXQgdXZfcHRjX2luaXQodm9pZCkKK3sKKwlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnByb2NfdXZfcHRjOworCisJaWYgKCFpc191dl9zeXN0ZW0oKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIXByb2NfbWtkaXIoInNnaV91diIsIE5VTEwpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByb2NfdXZfcHRjID0gY3JlYXRlX3Byb2NfZW50cnkoVVZfUFRDX0JBU0VOQU1FLCAwNDQ0LCBOVUxMKTsKKwlpZiAoIXByb2NfdXZfcHRjKSB7CisJCXByaW50ayhLRVJOX0VSUiAidW5hYmxlIHRvIGNyZWF0ZSAlcyBwcm9jIGVudHJ5XG4iLAorCQkgICAgICAgVVZfUFRDX0JBU0VOQU1FKTsKKwkJcmVtb3ZlX3Byb2NfZW50cnkoInNnaV91diIsIE5VTEwpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcHJvY191dl9wdGMtPnByb2NfZm9wcyA9ICZwcm9jX3V2X3B0Y19vcGVyYXRpb25zOworCXJldHVybiAwOworfQorCisvKgorICogYmVnaW4gdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwZXItYmxhZGUgY29udHJvbCBzdHJ1Y3R1cmVzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmF1X2NvbnRyb2wgKiBfX2luaXQgdXZfdGFibGVfYmFzZXNfaW5pdChpbnQgYmxhZGUsIGludCBub2RlKQoreworCWludCBpOworCWludCAqaXA7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJc3RydWN0IGJhdV9jb250cm9sICpiYXVfdGFicDsKKworCWJhdV90YWJwID0KKwkgICAga21hbGxvY19ub2RlKHNpemVvZihzdHJ1Y3QgYmF1X2NvbnRyb2wpLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwKTsKKworCWJhdV90YWJwLT5tc2dfc3RhdHVzZXMgPQorCSAgICBrbWFsbG9jX25vZGUoc2l6ZW9mKHN0cnVjdCBiYXVfbXNnX3N0YXR1cykgKgorCQkJIERFU1RfUV9TSVpFLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwLT5tc2dfc3RhdHVzZXMpOworCisJZm9yIChpID0gMCwgbXNwID0gYmF1X3RhYnAtPm1zZ19zdGF0dXNlczsgaSA8IERFU1RfUV9TSVpFOyBpKyssIG1zcCsrKQorCQliYXVfY3B1Yml0c19jbGVhcigmbXNwLT5zZWVuX2J5LCAoaW50KQorCQkJCSAgdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhibGFkZSkpOworCisJYmF1X3RhYnAtPndhdGNoaW5nID0KKwkgICAga21hbGxvY19ub2RlKHNpemVvZihpbnQpICogREVTVF9OVU1fUkVTT1VSQ0VTLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwLT53YXRjaGluZyk7CisKKwlmb3IgKGkgPSAwLCBpcCA9IGJhdV90YWJwLT53YXRjaGluZzsgaSA8IERFU1RfUV9TSVpFOyBpKyssIGlwKyspCisJCSppcCA9IDA7CisKKwl1dl9iYXVfdGFibGVfYmFzZXNbYmxhZGVdID0gYmF1X3RhYnA7CisKKwlyZXR1cm4gYmF1X3RhYnA7Cit9CisKKy8qCisgKiBmaW5pc2ggdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwZXItYmxhZGUgY29udHJvbCBzdHJ1Y3R1cmVzCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdAordXZfdGFibGVfYmFzZXNfZmluaXNoKGludCBibGFkZSwgaW50IG5vZGUsIGludCBjdXJfY3B1LAorCQkgICAgICBzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJhdV90YWJsZXNwLAorCQkgICAgICBzdHJ1Y3QgYmF1X2Rlc2MgKmFkcCkKK3sKKwlzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJjcDsKKwlpbnQgaTsKKworCWZvciAoaSA9IGN1cl9jcHU7IGkgPCBjdXJfY3B1ICsgdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhibGFkZSk7IGkrKykgeworCQliY3AgPSAoc3RydWN0IGJhdV9jb250cm9sICopJnBlcl9jcHUoYmF1X2NvbnRyb2wsIGkpOworCisJCWJjcC0+YmF1X21zZ19oZWFkCT0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0OworCQliY3AtPnZhX3F1ZXVlX2ZpcnN0CT0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0OworCQliY3AtPnZhX3F1ZXVlX2xhc3QJPSBiYXVfdGFibGVzcC0+dmFfcXVldWVfbGFzdDsKKwkJYmNwLT53YXRjaGluZwkJPSBiYXVfdGFibGVzcC0+d2F0Y2hpbmc7CisJCWJjcC0+bXNnX3N0YXR1c2VzCT0gYmF1X3RhYmxlc3AtPm1zZ19zdGF0dXNlczsKKwkJYmNwLT5kZXNjcmlwdG9yX2Jhc2UJPSBhZHA7CisJfQorfQorCisvKgorICogaW5pdGlhbGl6ZSB0aGUgc2VuZGluZyBzaWRlJ3Mgc2VuZGluZyBidWZmZXJzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmF1X2Rlc2MgKiBfX2luaXQKK3V2X2FjdGl2YXRpb25fZGVzY3JpcHRvcl9pbml0KGludCBub2RlLCBpbnQgcG5vZGUpCit7CisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBwYTsKKwl1bnNpZ25lZCBsb25nIG07CisJdW5zaWduZWQgbG9uZyBuOworCXVuc2lnbmVkIGxvbmcgbW1yX2ltYWdlOworCXN0cnVjdCBiYXVfZGVzYyAqYWRwOworCXN0cnVjdCBiYXVfZGVzYyAqYWQyOworCisJYWRwID0gKHN0cnVjdCBiYXVfZGVzYyAqKQorCSAgICBrbWFsbG9jX25vZGUoMTYzODQsIEdGUF9LRVJORUwsIG5vZGUpOworCUJVR19PTighYWRwKTsKKworCXBhID0gX19wYSgodW5zaWduZWQgbG9uZylhZHApOworCW4gPSBwYSA+PiB1dl9uc2hpZnQ7CisJbSA9IHBhICYgdXZfbW1hc2s7CisKKwltbXJfaW1hZ2UgPSB1dl9yZWFkX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0UpOworCWlmIChtbXJfaW1hZ2UpIHsKKwkJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCAodW5zaWduZWQgbG9uZykKKwkJCQkgICAgICBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRSwKKwkJCQkgICAgICAobiA8PCBVVl9ERVNDX0JBU0VfUE5PREVfU0hJRlQgfCBtKSk7CisJfQorCisJZm9yIChpID0gMCwgYWQyID0gYWRwOyBpIDwgVVZfQUNUSVZBVElPTl9ERVNDUklQVE9SX1NJWkU7IGkrKywgYWQyKyspIHsKKwkJbWVtc2V0KGFkMiwgMCwgc2l6ZW9mKHN0cnVjdCBiYXVfZGVzYykpOworCQlhZDItPmhlYWRlci5zd19hY2tfZmxhZyA9IDE7CisJCWFkMi0+aGVhZGVyLmJhc2VfZGVzdF9ub2RlaWQgPQorCQkgICAgdXZfYmxhZGVfdG9fcG5vZGUodXZfY3B1X3RvX2JsYWRlX2lkKDApKTsKKwkJYWQyLT5oZWFkZXIuY29tbWFuZCA9IFVWX05FVF9FTkRQT0lOVF9JTlREOworCQlhZDItPmhlYWRlci5pbnRfYm90aCA9IDE7CisJCS8qCisJCSAqIGFsbCBvdGhlcnMgbmVlZCB0byBiZSBzZXQgdG8gemVybzoKKwkJICogICBmYWlybmVzcyBjaGFpbmluZyBtdWx0aWxldmVsIGNvdW50IHJlcGxpZWRfdG8KKwkJICovCisJfQorCXJldHVybiBhZHA7Cit9CisKKy8qCisgKiBpbml0aWFsaXplIHRoZSBkZXN0aW5hdGlvbiBzaWRlJ3MgcmVjZWl2aW5nIGJ1ZmZlcnMKKyAqLworc3RhdGljIHN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqIF9faW5pdAordXZfcGF5bG9hZF9xdWV1ZV9pbml0KGludCBub2RlLCBpbnQgcG5vZGUsIHN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3ApCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICpwcXA7CisJY2hhciAqY3A7CisKKwlwcXAgPSAoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICopIGttYWxsb2Nfbm9kZSgKKwkJKERFU1RfUV9TSVpFICsgMSkgKiBzaXplb2Yoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5KSwKKwkJR0ZQX0tFUk5FTCwgbm9kZSk7CisJQlVHX09OKCFwcXApOworCisJY3AgPSAoY2hhciAqKXBxcCArIDMxOworCXBxcCA9IChzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKikoKCh1bnNpZ25lZCBsb25nKWNwID4+IDUpIDw8IDUpOworCWJhdV90YWJsZXNwLT52YV9xdWV1ZV9maXJzdCA9IHBxcDsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsCisJCQkgICAgICBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVCwKKwkJCSAgICAgICgodW5zaWduZWQgbG9uZylwbm9kZSA8PAorCQkJICAgICAgIFVWX1BBWUxPQURRX1BOT0RFX1NISUZUKSB8CisJCQkgICAgICB1dl9waHlzbm9kZWFkZHIocHFwKSk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMLAorCQkJICAgICAgdXZfcGh5c25vZGVhZGRyKHBxcCkpOworCWJhdV90YWJsZXNwLT52YV9xdWV1ZV9sYXN0ID0gcHFwICsgKERFU1RfUV9TSVpFIC0gMSk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNULAorCQkJICAgICAgKHVuc2lnbmVkIGxvbmcpCisJCQkgICAgICB1dl9waHlzbm9kZWFkZHIoYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2xhc3QpKTsKKwltZW1zZXQocHFwLCAwLCBzaXplb2Yoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5KSAqIERFU1RfUV9TSVpFKTsKKworCXJldHVybiBwcXA7Cit9CisKKy8qCisgKiBJbml0aWFsaXphdGlvbiBvZiBlYWNoIFVWIGJsYWRlJ3Mgc3RydWN0dXJlcworICovCitzdGF0aWMgaW50IF9faW5pdCB1dl9pbml0X2JsYWRlKGludCBibGFkZSwgaW50IG5vZGUsIGludCBjdXJfY3B1KQoreworCWludCBwbm9kZTsKKwl1bnNpZ25lZCBsb25nIHBhOworCXVuc2lnbmVkIGxvbmcgYXBpY2lkOworCXN0cnVjdCBiYXVfZGVzYyAqYWRwOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqcHFwOworCXN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3A7CisKKwliYXVfdGFibGVzcCA9IHV2X3RhYmxlX2Jhc2VzX2luaXQoYmxhZGUsIG5vZGUpOworCXBub2RlID0gdXZfYmxhZGVfdG9fcG5vZGUoYmxhZGUpOworCWFkcCA9IHV2X2FjdGl2YXRpb25fZGVzY3JpcHRvcl9pbml0KG5vZGUsIHBub2RlKTsKKwlwcXAgPSB1dl9wYXlsb2FkX3F1ZXVlX2luaXQobm9kZSwgcG5vZGUsIGJhdV90YWJsZXNwKTsKKwl1dl90YWJsZV9iYXNlc19maW5pc2goYmxhZGUsIG5vZGUsIGN1cl9jcHUsIGJhdV90YWJsZXNwLCBhZHApOworCS8qCisJICogdGhlIGJlbG93IGluaXRpYWxpemF0aW9uIGNhbid0IGJlIGluIGZpcm13YXJlIGJlY2F1c2UgdGhlCisJICogbWVzc2FnaW5nIElSUSB3aWxsIGJlIGRldGVybWluZWQgYnkgdGhlIE9TCisJICovCisJYXBpY2lkID0gcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3VyX2NwdSk7CisJcGEgPSB1dl9yZWFkX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0JBVV9EQVRBX0NPTkZJRyk7CisJaWYgKChwYSAmIDB4ZmYpICE9IFVWX0JBVV9NRVNTQUdFKSB7CisJCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0JBVV9EQVRBX0NPTkZJRywKKwkJCQkgICAgICAoKGFwaWNpZCA8PCAzMikgfCBVVl9CQVVfTUVTU0FHRSkpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEluaXRpYWxpemF0aW9uIG9mIEJBVS1yZWxhdGVkIHN0cnVjdHVyZXMKKyAqLworc3RhdGljIGludCBfX2luaXQgdXZfYmF1X2luaXQodm9pZCkKK3sKKwlpbnQgYmxhZGU7CisJaW50IG5vZGU7CisJaW50IG5ibGFkZXM7CisJaW50IGxhc3RfYmxhZGU7CisJaW50IGN1cl9jcHUgPSAwOworCisJaWYgKCFpc191dl9zeXN0ZW0oKSkKKwkJcmV0dXJuIDA7CisKKwl1dl9iYXVfcmV0cnlfbGltaXQgPSAxOworCXV2X25zaGlmdCA9IHV2X2h1Yl9pbmZvLT5uX3ZhbDsKKwl1dl9tbWFzayA9ICgxVUwgPDwgdXZfaHViX2luZm8tPm5fdmFsKSAtIDE7CisJbmJsYWRlcyA9IDA7CisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKG5vZGUpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCW5ibGFkZXMrKzsKKwl9CisJdXZfYmF1X3RhYmxlX2Jhc2VzID0gKHN0cnVjdCBiYXVfY29udHJvbCAqKikKKwkgICAga21hbGxvYyhuYmxhZGVzICogc2l6ZW9mKHN0cnVjdCBiYXVfY29udHJvbCAqKSwgR0ZQX0tFUk5FTCk7CisJQlVHX09OKCF1dl9iYXVfdGFibGVfYmFzZXMpOworCisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKG5vZGUpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCXV2X2luaXRfYmxhZGUoYmxhZGUsIG5vZGUsIGN1cl9jcHUpOworCQljdXJfY3B1ICs9IHV2X2JsYWRlX25yX3Bvc3NpYmxlX2NwdXMoYmxhZGUpOworCX0KKwlzZXRfaW50cl9nYXRlKFVWX0JBVV9NRVNTQUdFLCB1dl9iYXVfbWVzc2FnZV9pbnRyMSk7CisJdXZfZW5hYmxlX3RpbWVvdXRzKCk7CisKKwlyZXR1cm4gMDsKK30KK19faW5pdGNhbGwodXZfYmF1X2luaXQpOworX19pbml0Y2FsbCh1dl9wdGNfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHJhbXBvbGluZS5jIGIvYXJjaC94ODYva2VybmVsL3RyYW1wb2xpbmUuYwppbmRleCBhYmJmMTk5Li4xMTA2ZmFjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhbXBvbGluZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90cmFtcG9saW5lLmMKQEAgLTIsNyArMiw3IEBACiAKICNpbmNsdWRlIDxhc20vdHJhbXBvbGluZS5oPgogCi0vKiByZWFkeSBmb3IgeDg2XzY0LCBubyBoYXJtIGZvciB4ODYsIHNpbmNlIGl0IHdpbGwgb3ZlcndyaXRlIGFmdGVyIGFsbG9jICovCisvKiByZWFkeSBmb3IgeDg2XzY0IGFuZCB4ODYgKi8KIHVuc2lnbmVkIGNoYXIgKnRyYW1wb2xpbmVfYmFzZSA9IF9fdmEoVFJBTVBPTElORV9CQVNFKTsKIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90cmFwc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKaW5kZXggMDhkNzUyZC4uOGE3Njg5NyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKQEAgLTEsNSArMSw2IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiAgTGludXMgVG9ydmFsZHMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEsIDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzCiAgKgogICogIFBlbnRpdW0gSUlJIEZYU1IsIFNTRSBzdXBwb3J0CiAgKglHYXJldGggSHVnaGVzIDxnYXJldGhAdmFsaW51eC5jb20+LCBNYXkgMjAwMApAQCAtNjAsOCArNjEsNiBAQAogCiAjaW5jbHVkZSAibWFjaF90cmFwcy5oIgogCi1pbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOwotCiBERUNMQVJFX0JJVE1BUCh1c2VkX3ZlY3RvcnMsIE5SX1ZFQ1RPUlMpOwogRVhQT1JUX1NZTUJPTF9HUEwodXNlZF92ZWN0b3JzKTsKIApAQCAtOTgsMTkgKzk3LDIyIEBACiBhc21saW5rYWdlIHZvaWQgc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBtYWNoaW5lX2NoZWNrKHZvaWQpOwogCitpbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOwogaW50IGtzdGFja19kZXB0aF90b19wcmludCA9IDI0Owogc3RhdGljIHVuc2lnbmVkIGludCBjb2RlX2J5dGVzID0gNjQ7CitzdGF0aWMgaW50IGlnbm9yZV9ubWlzOworc3RhdGljIGludCBkaWVfY291bnRlcjsKIAogdm9pZCBwcmludGtfYWRkcmVzcyh1bnNpZ25lZCBsb25nIGFkZHJlc3MsIGludCByZWxpYWJsZSkKIHsKICNpZmRlZiBDT05GSUdfS0FMTFNZTVMKLQljaGFyIG5hbWVidWZbS1NZTV9OQU1FX0xFTl07CiAJdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwOwogCXVuc2lnbmVkIGxvbmcgc3ltc2l6ZTsKIAljb25zdCBjaGFyICpzeW1uYW1lOwotCWNoYXIgcmVsaWFiWzRdID0gIiI7Ci0JY2hhciAqZGVsaW0gPSAiOiI7CiAJY2hhciAqbW9kbmFtZTsKKwljaGFyICpkZWxpbSA9ICI6IjsKKwljaGFyIG5hbWVidWZbS1NZTV9OQU1FX0xFTl07CisJY2hhciByZWxpYWJbNF0gPSAiIjsKIAogCXN5bW5hbWUgPSBrYWxsc3ltc19sb29rdXAoYWRkcmVzcywgJnN5bXNpemUsICZvZmZzZXQsCiAJCQkJCSZtb2RuYW1lLCBuYW1lYnVmKTsKQEAgLTEzMCwyMiArMTMyLDIzIEBACiAjZW5kaWYKIH0KIAotc3RhdGljIGlubGluZSBpbnQgdmFsaWRfc3RhY2tfcHRyKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sIHZvaWQgKnAsIHVuc2lnbmVkIHNpemUpCitzdGF0aWMgaW5saW5lIGludCB2YWxpZF9zdGFja19wdHIoc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywKKwkJCXZvaWQgKnAsIHVuc2lnbmVkIGludCBzaXplKQogewotCXJldHVybglwID4gKHZvaWQgKil0aW5mbyAmJgotCQlwIDw9ICh2b2lkICopdGluZm8gKyBUSFJFQURfU0laRSAtIHNpemU7CisJdm9pZCAqdCA9IHRpbmZvOworCXJldHVybglwID4gdCAmJiBwIDw9IHQgKyBUSFJFQURfU0laRSAtIHNpemU7CiB9CiAKIC8qIFRoZSBmb3JtIG9mIHRoZSB0b3Agb2YgdGhlIGZyYW1lIG9uIHRoZSBzdGFjayAqLwogc3RydWN0IHN0YWNrX2ZyYW1lIHsKLQlzdHJ1Y3Qgc3RhY2tfZnJhbWUJKm5leHRfZnJhbWU7Ci0JdW5zaWduZWQgbG9uZwkJcmV0dXJuX2FkZHJlc3M7CisJc3RydWN0IHN0YWNrX2ZyYW1lICpuZXh0X2ZyYW1lOworCXVuc2lnbmVkIGxvbmcgcmV0dXJuX2FkZHJlc3M7CiB9OwogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKIHByaW50X2NvbnRleHRfc3RhY2soc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywKLQkJICAgIHVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAotCQkgICAgY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCisJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAorCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3Qgc3RhY2tfZnJhbWUgKmZyYW1lID0gKHN0cnVjdCBzdGFja19mcmFtZSAqKWJwOwogCkBAIC0xNjcsOCArMTcwLDYgQEAKIAlyZXR1cm4gYnA7CiB9CiAKLSNkZWZpbmUgTVNHKG1zZykJCW9wcy0+d2FybmluZyhkYXRhLCBtc2cpCi0KIHZvaWQgZHVtcF90cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAogCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKIAkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCkBAIC0xNzgsNyArMTc5LDYgQEAKIAogCWlmICghc3RhY2spIHsKIAkJdW5zaWduZWQgbG9uZyBkdW1teTsKLQogCQlzdGFjayA9ICZkdW1teTsKIAkJaWYgKHRhc2sgIT0gY3VycmVudCkKIAkJCXN0YWNrID0gKHVuc2lnbmVkIGxvbmcgKil0YXNrLT50aHJlYWQuc3A7CkBAIC0xOTYsNyArMTk2LDcgQEAKIAl9CiAjZW5kaWYKIAotCXdoaWxlICgxKSB7CisJZm9yICg7OykgewogCQlzdHJ1Y3QgdGhyZWFkX2luZm8gKmNvbnRleHQ7CiAKIAkJY29udGV4dCA9IChzdHJ1Y3QgdGhyZWFkX2luZm8gKikKQEAgLTI0OCwxMCArMjQ4LDEwIEBACiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgcHJpbnRfdHJhY2Vfb3BzID0gewotCS53YXJuaW5nCQk9IHByaW50X3RyYWNlX3dhcm5pbmcsCi0JLndhcm5pbmdfc3ltYm9sCQk9IHByaW50X3RyYWNlX3dhcm5pbmdfc3ltYm9sLAotCS5zdGFjawkJCT0gcHJpbnRfdHJhY2Vfc3RhY2ssCi0JLmFkZHJlc3MJCT0gcHJpbnRfdHJhY2VfYWRkcmVzcywKKwkud2FybmluZyA9IHByaW50X3RyYWNlX3dhcm5pbmcsCisJLndhcm5pbmdfc3ltYm9sID0gcHJpbnRfdHJhY2Vfd2FybmluZ19zeW1ib2wsCisJLnN0YWNrID0gcHJpbnRfdHJhY2Vfc3RhY2ssCisJLmFkZHJlc3MgPSBwcmludF90cmFjZV9hZGRyZXNzLAogfTsKIAogc3RhdGljIHZvaWQKQEAgLTM1MSwxNSArMzUxLDE0IEBACiAJCXByaW50ayhLRVJOX0VNRVJHICJDb2RlOiAiKTsKIAogCQlpcCA9ICh1OCAqKXJlZ3MtPmlwIC0gY29kZV9wcm9sb2d1ZTsKLQkJaWYgKGlwIDwgKHU4ICopUEFHRV9PRkZTRVQgfHwKLQkJCXByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgeworCQlpZiAoaXAgPCAodTggKilQQUdFX09GRlNFVCB8fCBwcm9iZV9rZXJuZWxfYWRkcmVzcyhpcCwgYykpIHsKIAkJCS8qIHRyeSBzdGFydGluZyBhdCBFSVAgKi8KIAkJCWlwID0gKHU4ICopcmVncy0+aXA7CiAJCQljb2RlX2xlbiA9IGNvZGVfbGVuIC0gY29kZV9wcm9sb2d1ZSArIDE7CiAJCX0KIAkJZm9yIChpID0gMDsgaSA8IGNvZGVfbGVuOyBpKyssIGlwKyspIHsKIAkJCWlmIChpcCA8ICh1OCAqKVBBR0VfT0ZGU0VUIHx8Ci0JCQkJcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CisJCQkJCXByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgewogCQkJCXByaW50aygiIEJhZCBFSVAgdmFsdWUuIik7CiAJCQkJYnJlYWs7CiAJCQl9CkBAIC0zODQsOCArMzgzLDYgQEAKIAlyZXR1cm4gdWQyID09IDB4MGIwZjsKIH0KIAotc3RhdGljIGludCBkaWVfY291bnRlcjsKLQogaW50IF9fa3Byb2JlcyBfX2RpZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycikKIHsKIAl1bnNpZ25lZCBzaG9ydCBzczsKQEAgLTQwMiwyNiArMzk5LDIyIEBACiAJcHJpbnRrKCJERUJVR19QQUdFQUxMT0MiKTsKICNlbmRpZgogCXByaW50aygiXG4iKTsKLQogCWlmIChub3RpZnlfZGllKERJRV9PT1BTLCBzdHIsIHJlZ3MsIGVyciwKLQkJCWN1cnJlbnQtPnRocmVhZC50cmFwX25vLCBTSUdTRUdWKSAhPSBOT1RJRllfU1RPUCkgeworCQkJY3VycmVudC0+dGhyZWFkLnRyYXBfbm8sIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQorCQlyZXR1cm4gMTsKIAotCQlzaG93X3JlZ2lzdGVycyhyZWdzKTsKLQkJLyogRXhlY3V0aXZlIHN1bW1hcnkgaW4gY2FzZSB0aGUgb29wcyBzY3JvbGxlZCBhd2F5ICovCi0JCXNwID0gKHVuc2lnbmVkIGxvbmcpICgmcmVncy0+c3ApOwotCQlzYXZlc2VnbWVudChzcywgc3MpOwotCQlpZiAodXNlcl9tb2RlKHJlZ3MpKSB7Ci0JCQlzcCA9IHJlZ3MtPnNwOwotCQkJc3MgPSByZWdzLT5zcyAmIDB4ZmZmZjsKLQkJfQotCQlwcmludGsoS0VSTl9FTUVSRyAiRUlQOiBbPCUwOGx4Pl0gIiwgcmVncy0+aXApOwotCQlwcmludF9zeW1ib2woIiVzIiwgcmVncy0+aXApOwotCQlwcmludGsoIiBTUzpFU1AgJTA0eDolMDhseFxuIiwgc3MsIHNwKTsKLQotCQlyZXR1cm4gMDsKKwlzaG93X3JlZ2lzdGVycyhyZWdzKTsKKwkvKiBFeGVjdXRpdmUgc3VtbWFyeSBpbiBjYXNlIHRoZSBvb3BzIHNjcm9sbGVkIGF3YXkgKi8KKwlzcCA9ICh1bnNpZ25lZCBsb25nKSAoJnJlZ3MtPnNwKTsKKwlzYXZlc2VnbWVudChzcywgc3MpOworCWlmICh1c2VyX21vZGUocmVncykpIHsKKwkJc3AgPSByZWdzLT5zcDsKKwkJc3MgPSByZWdzLT5zcyAmIDB4ZmZmZjsKIAl9Ci0KLQlyZXR1cm4gMTsKKwlwcmludGsoS0VSTl9FTUVSRyAiRUlQOiBbPCUwOGx4Pl0gIiwgcmVncy0+aXApOworCXByaW50X3N5bWJvbCgiJXMiLCByZWdzLT5pcCk7CisJcHJpbnRrKCIgU1M6RVNQICUwNHg6JTA4bHhcbiIsIHNzLCBzcCk7CisJcmV0dXJuIDA7CiB9CiAKIC8qCkBAIC01NDYsNyArNTM5LDcgQEAKIHsJCQkJCQkJCQlcCiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsJCQkJCQlcCiAJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAotCQkJCQkJPT0gTk9USUZZX1NUT1ApCQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKIAkJcmV0dXJuOwkJCQkJCQlcCiAJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIDAsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOwkJXAogfQpAQCAtNTYyLDcgKzU1NSw3IEBACiAJaW5mby5zaV9jb2RlID0gc2ljb2RlOwkJCQkJCVwKIAlpbmZvLnNpX2FkZHIgPSAodm9pZCBfX3VzZXIgKilzaWFkZHI7CQkJCVwKIAlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCi0JCQkJCQk9PSBOT1RJRllfU1RPUCkJCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAogCQlyZXR1cm47CQkJCQkJCVwKIAlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgMCwgcmVncywgZXJyb3JfY29kZSwgJmluZm8pOwlcCiB9CkBAIC01NzEsNyArNTY0LDcgQEAKIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCQkJXAogewkJCQkJCQkJCVwKIAlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCi0JCQkJCQk9PSBOT1RJRllfU1RPUCkJCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAogCQlyZXR1cm47CQkJCQkJCVwKIAlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgMSwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7CQlcCiB9CkBAIC01ODYsMjcgKzU3OSwyOSBAQAogCWluZm8uc2lfYWRkciA9ICh2b2lkIF9fdXNlciAqKXNpYWRkcjsJCQkJXAogCXRyYWNlX2hhcmRpcnFzX2ZpeHVwKCk7CQkJCQkJXAogCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpCVwKLQkJCQkJCT09IE5PVElGWV9TVE9QKQkJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCiAJCXJldHVybjsJCQkJCQkJXAogCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCAxLCByZWdzLCBlcnJvcl9jb2RlLCAmaW5mbyk7CVwKIH0KIAotRE9fVk04Nl9FUlJPUl9JTkZPKDAsIFNJR0ZQRSwgICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQorRE9fVk04Nl9FUlJPUl9JTkZPKDAsIFNJR0ZQRSwgImRpdmlkZSBlcnJvciIsIGRpdmlkZV9lcnJvciwgRlBFX0lOVERJViwgcmVncy0+aXApCiAjaWZuZGVmIENPTkZJR19LUFJPQkVTCiBET19WTTg2X0VSUk9SKDMsIFNJR1RSQVAsICJpbnQzIiwgaW50MykKICNlbmRpZgogRE9fVk04Nl9FUlJPUig0LCBTSUdTRUdWLCAib3ZlcmZsb3ciLCBvdmVyZmxvdykKIERPX1ZNODZfRVJST1IoNSwgU0lHU0VHViwgImJvdW5kcyIsIGJvdW5kcykKLURPX0VSUk9SX0lORk8oNiwgU0lHSUxMLCAgImludmFsaWQgb3Bjb2RlIiwgaW52YWxpZF9vcCwgSUxMX0lMTE9QTiwgcmVncy0+aXAsIDApCi1ET19FUlJPUig5LCBTSUdGUEUsICAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQorRE9fRVJST1JfSU5GTyg2LCBTSUdJTEwsICJpbnZhbGlkIG9wY29kZSIsIGludmFsaWRfb3AsIElMTF9JTExPUE4sIHJlZ3MtPmlwLCAwKQorRE9fRVJST1IoOSwgU0lHRlBFLCAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQogRE9fRVJST1IoMTAsIFNJR1NFR1YsICJpbnZhbGlkIFRTUyIsIGludmFsaWRfVFNTKQotRE9fRVJST1IoMTEsIFNJR0JVUywgICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKLURPX0VSUk9SKDEyLCBTSUdCVVMsICAic3RhY2sgc2VnbWVudCIsIHN0YWNrX3NlZ21lbnQpCitET19FUlJPUigxMSwgU0lHQlVTLCAic2VnbWVudCBub3QgcHJlc2VudCIsIHNlZ21lbnRfbm90X3ByZXNlbnQpCitET19FUlJPUigxMiwgU0lHQlVTLCAic3RhY2sgc2VnbWVudCIsIHN0YWNrX3NlZ21lbnQpCiBET19FUlJPUl9JTkZPKDE3LCBTSUdCVVMsICJhbGlnbm1lbnQgY2hlY2siLCBhbGlnbm1lbnRfY2hlY2ssIEJVU19BRFJBTE4sIDAsIDApCiBET19FUlJPUl9JTkZPKDMyLCBTSUdJTEwsICJpcmV0IGV4Y2VwdGlvbiIsIGlyZXRfZXJyb3IsIElMTF9CQURTVEssIDAsIDEpCiAKLXZvaWQgX19rcHJvYmVzIGRvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQordm9pZCBfX2twcm9iZXMKK2RvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogeworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrOwogCXN0cnVjdCB0aHJlYWRfc3RydWN0ICp0aHJlYWQ7CiAJc3RydWN0IHRzc19zdHJ1Y3QgKnRzczsKIAlpbnQgY3B1OwpAQCAtNjQ3LDIzICs2NDIsMjQgQEAKIAlpZiAocmVncy0+ZmxhZ3MgJiBYODZfVk1fTUFTSykKIAkJZ290byBncF9pbl92bTg2OwogCisJdHNrID0gY3VycmVudDsKIAlpZiAoIXVzZXJfbW9kZShyZWdzKSkKIAkJZ290byBncF9pbl9rZXJuZWw7CiAKLQljdXJyZW50LT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7Ci0JY3VycmVudC0+dGhyZWFkLnRyYXBfbm8gPSAxMzsKKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CiAKLQlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKGN1cnJlbnQsIFNJR1NFR1YpICYmCi0JICAgIHByaW50a19yYXRlbGltaXQoKSkgeworCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgorCQkJcHJpbnRrX3JhdGVsaW1pdCgpKSB7CiAJCXByaW50ayhLRVJOX0lORk8KLQkJICAgICIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKLQkJICAgIGN1cnJlbnQtPmNvbW0sIHRhc2tfcGlkX25yKGN1cnJlbnQpLAotCQkgICAgcmVncy0+aXAsIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKKwkJCSIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJCXRzay0+Y29tbSwgdGFza19waWRfbnIodHNrKSwKKwkJCXJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7CiAJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOwogCQlwcmludGsoIlxuIik7CiAJfQogCi0JZm9yY2Vfc2lnKFNJR1NFR1YsIGN1cnJlbnQpOworCWZvcmNlX3NpZyhTSUdTRUdWLCB0c2spOwogCXJldHVybjsKIAogZ3BfaW5fdm04NjoKQEAgLTY3MiwxNCArNjY4LDE1IEBACiAJcmV0dXJuOwogCiBncF9pbl9rZXJuZWw6Ci0JaWYgKCFmaXh1cF9leGNlcHRpb24ocmVncykpIHsKLQkJY3VycmVudC0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwotCQljdXJyZW50LT50aHJlYWQudHJhcF9ubyA9IDEzOwotCQlpZiAobm90aWZ5X2RpZShESUVfR1BGLCAiZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywKKwlpZiAoZml4dXBfZXhjZXB0aW9uKHJlZ3MpKQorCQlyZXR1cm47CisKKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CisJaWYgKG5vdGlmeV9kaWUoRElFX0dQRiwgImdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCIsIHJlZ3MsCiAJCQkJZXJyb3JfY29kZSwgMTMsIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQotCQkJcmV0dXJuOwotCQlkaWUoImdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCIsIHJlZ3MsIGVycm9yX2NvZGUpOwotCX0KKwkJcmV0dXJuOworCWRpZSgiZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywgZXJyb3JfY29kZSk7CiB9CiAKIHN0YXRpYyBub3RyYWNlIF9fa3Byb2JlcyB2b2lkCkBAIC03NTYsOSArNzUzLDkgQEAKIAogc3RhdGljIERFRklORV9TUElOTE9DSyhubWlfcHJpbnRfbG9jayk7CiAKLXZvaWQgbm90cmFjZSBfX2twcm9iZXMgZGllX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncywgY29uc3QgY2hhciAqbXNnKQordm9pZCBub3RyYWNlIF9fa3Byb2JlcyBkaWVfbm1pKGNoYXIgKnN0ciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBkb19wYW5pYykKIHsKLQlpZiAobm90aWZ5X2RpZShESUVfTk1JV0FUQ0hET0csIG1zZywgcmVncywgMCwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKKwlpZiAobm90aWZ5X2RpZShESUVfTk1JV0FUQ0hET0csIHN0ciwgcmVncywgMCwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOwogCiAJc3Bpbl9sb2NrKCZubWlfcHJpbnRfbG9jayk7CkBAIC03NjcsMTAgKzc2NCwxMiBAQAogCSogdG8gZ2V0IGEgbWVzc2FnZSBvdXQ6CiAJKi8KIAlidXN0X3NwaW5sb2NrcygxKTsKLQlwcmludGsoS0VSTl9FTUVSRyAiJXMiLCBtc2cpOworCXByaW50ayhLRVJOX0VNRVJHICIlcyIsIHN0cik7CiAJcHJpbnRrKCIgb24gQ1BVJWQsIGlwICUwOGx4LCByZWdpc3RlcnM6XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIHJlZ3MtPmlwKTsKIAlzaG93X3JlZ2lzdGVycyhyZWdzKTsKKwlpZiAoZG9fcGFuaWMpCisJCXBhbmljKCJOb24gbWFza2FibGUgaW50ZXJydXB0Iik7CiAJY29uc29sZV9zaWxlbnQoKTsKIAlzcGluX3VubG9jaygmbm1pX3ByaW50X2xvY2spOwogCWJ1c3Rfc3BpbmxvY2tzKDApOwpAQCAtNzkwLDE0ICs3ODksMTcgQEAKIHN0YXRpYyBub3RyYWNlIF9fa3Byb2JlcyB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXVuc2lnbmVkIGNoYXIgcmVhc29uID0gMDsKKwlpbnQgY3B1OwogCi0JLyogT25seSB0aGUgQlNQIGdldHMgZXh0ZXJuYWwgTk1JcyBmcm9tIHRoZSBzeXN0ZW06ICovCi0JaWYgKCFzbXBfcHJvY2Vzc29yX2lkKCkpCisJY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJLyogT25seSB0aGUgQlNQIGdldHMgZXh0ZXJuYWwgTk1JcyBmcm9tIHRoZSBzeXN0ZW0uICovCisJaWYgKCFjcHUpCiAJCXJlYXNvbiA9IGdldF9ubWlfcmVhc29uKCk7CiAKIAlpZiAoIShyZWFzb24gJiAweGMwKSkgewogCQlpZiAobm90aWZ5X2RpZShESUVfTk1JX0lQSSwgIm5taV9pcGkiLCByZWdzLCByZWFzb24sIDIsIFNJR0lOVCkKLQkJCQkJCQk9PSBOT1RJRllfU1RPUCkKKwkJCQkJCQkJPT0gTk9USUZZX1NUT1ApCiAJCQlyZXR1cm47CiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCS8qCkBAIC04MDYsNyArODA4LDcgQEAKIAkJICovCiAJCWlmIChubWlfd2F0Y2hkb2dfdGljayhyZWdzLCByZWFzb24pKQogCQkJcmV0dXJuOwotCQlpZiAoIWRvX25taV9jYWxsYmFjayhyZWdzLCBzbXBfcHJvY2Vzc29yX2lkKCkpKQorCQlpZiAoIWRvX25taV9jYWxsYmFjayhyZWdzLCBjcHUpKQogCQkJdW5rbm93bl9ubWlfZXJyb3IocmVhc29uLCByZWdzKTsKICNlbHNlCiAJCXVua25vd25fbm1pX2Vycm9yKHJlYXNvbiwgcmVncyk7CkBAIC04MTYsNiArODE4LDggQEAKIAl9CiAJaWYgKG5vdGlmeV9kaWUoRElFX05NSSwgIm5taSIsIHJlZ3MsIHJlYXNvbiwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOworCisJLyogQUs6IGZvbGxvd2luZyBjaGVja3Mgc2VlbSB0byBiZSBicm9rZW4gb24gbW9kZXJuIGNoaXBzZXRzLiBGSVhNRSAqLwogCWlmIChyZWFzb24gJiAweDgwKQogCQltZW1fcGFyaXR5X2Vycm9yKHJlYXNvbiwgcmVncyk7CiAJaWYgKHJlYXNvbiAmIDB4NDApCkBAIC04MjcsOCArODMxLDYgQEAKIAlyZWFzc2VydF9ubWkoKTsKIH0KIAotc3RhdGljIGludCBpZ25vcmVfbm1pczsKLQogbm90cmFjZSBfX2twcm9iZXMgdm9pZCBkb19ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKIAlpbnQgY3B1OwpAQCAtOTEzLDcgKzkxNSw3IEBACiAJdHNrLT50aHJlYWQuZGVidWdjdGxtc3IgPSAwOwogCiAJaWYgKG5vdGlmeV9kaWUoRElFX0RFQlVHLCAiZGVidWciLCByZWdzLCBjb25kaXRpb24sIGVycm9yX2NvZGUsCi0JCQkJCVNJR1RSQVApID09IE5PVElGWV9TVE9QKQorCQkJCQkJU0lHVFJBUCkgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKIAkvKiBJdCdzIHNhZmUgdG8gYWxsb3cgaXJxJ3MgYWZ0ZXIgRFI2IGhhcyBiZWVuIHNhdmVkICovCiAJaWYgKHJlZ3MtPmZsYWdzICYgWDg2X0VGTEFHU19JRikKQEAgLTk3NCw5ICs5NzYsOCBAQAogdm9pZCBtYXRoX2Vycm9yKHZvaWQgX191c2VyICppcCkKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7Ci0JdW5zaWduZWQgc2hvcnQgY3dkOwotCXVuc2lnbmVkIHNob3J0IHN3ZDsKIAlzaWdpbmZvX3QgaW5mbzsKKwl1bnNpZ25lZCBzaG9ydCBjd2QsIHN3ZDsKIAogCS8qCiAJICogU2F2ZSB0aGUgaW5mbyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyIGFuZCBjbGVhciB0aGUgZXJyb3IuCkBAIC05OTUsNyArOTk2LDcgQEAKIAkgKiBDMSByZWcgeW91IG5lZWQgaW4gY2FzZSBvZiBhIHN0YWNrIGZhdWx0LCAweDA0MCBpcyB0aGUgc3RhY2sKIAkgKiBmYXVsdCBiaXQuICBXZSBzaG91bGQgb25seSBiZSB0YWtpbmcgb25lIGV4Y2VwdGlvbiBhdCBhIHRpbWUsCiAJICogc28gaWYgdGhpcyBjb21iaW5hdGlvbiBkb2Vzbid0IHByb2R1Y2UgYW55IHNpbmdsZSBleGNlcHRpb24sCi0JICogdGhlbiB3ZSBoYXZlIGEgYmFkIHByb2dyYW0gdGhhdCBpc24ndCBzeW5jcm9uaXppbmcgaXRzIEZQVSB1c2FnZQorCSAqIHRoZW4gd2UgaGF2ZSBhIGJhZCBwcm9ncmFtIHRoYXQgaXNuJ3Qgc3luY2hyb25pemluZyBpdHMgRlBVIHVzYWdlCiAJICogYW5kIGl0IHdpbGwgc3VmZmVyIHRoZSBjb25zZXF1ZW5jZXMgc2luY2Ugd2Ugd29uJ3QgYmUgYWJsZSB0bwogCSAqIGZ1bGx5IHJlcHJvZHVjZSB0aGUgY29udGV4dCBvZiB0aGUgZXhjZXB0aW9uCiAJICovCkBAIC0xMDA0LDcgKzEwMDUsNyBAQAogCXN3aXRjaCAoc3dkICYgfmN3ZCAmIDB4M2YpIHsKIAljYXNlIDB4MDAwOiAvKiBObyB1bm1hc2tlZCBleGNlcHRpb24gKi8KIAkJcmV0dXJuOwotCWRlZmF1bHQ6ICAgIC8qIE11bHRpcGxlIGV4Y2VwdGlvbnMgKi8KKwlkZWZhdWx0OiAvKiBNdWx0aXBsZSBleGNlcHRpb25zICovCiAJCWJyZWFrOwogCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KIAkJLyoKQEAgLTEwNDAsOCArMTA0MSw4IEBACiBzdGF0aWMgdm9pZCBzaW1kX21hdGhfZXJyb3Iodm9pZCBfX3VzZXIgKmlwKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKLQl1bnNpZ25lZCBzaG9ydCBteGNzcjsKIAlzaWdpbmZvX3QgaW5mbzsKKwl1bnNpZ25lZCBzaG9ydCBteGNzcjsKIAogCS8qCiAJICogU2F2ZSB0aGUgaW5mbyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyIGFuZCBjbGVhciB0aGUgZXJyb3IuCkBAIC0xMTE3LDcgKzExMTgsNyBAQAogCiB1bnNpZ25lZCBsb25nIHBhdGNoX2VzcGZpeF9kZXNjKHVuc2lnbmVkIGxvbmcgdWVzcCwgdW5zaWduZWQgbG9uZyBrZXNwKQogewotCXN0cnVjdCBkZXNjX3N0cnVjdCAqZ2R0ID0gX19nZXRfY3B1X3ZhcihnZHRfcGFnZSkuZ2R0OworCXN0cnVjdCBkZXNjX3N0cnVjdCAqZ2R0ID0gZ2V0X2NwdV9nZHRfdGFibGUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAl1bnNpZ25lZCBsb25nIGJhc2UgPSAoa2VzcCAtIHVlc3ApICYgLVRIUkVBRF9TSVpFOwogCXVuc2lnbmVkIGxvbmcgbmV3X2tlc3AgPSBrZXNwIC0gYmFzZTsKIAl1bnNpZ25lZCBsb25nIGxpbV9wYWdlcyA9IChuZXdfa2VzcCB8IChUSFJFQURfU0laRSAtIDEpKSA+PiBQQUdFX1NISUZUOwpAQCAtMTE5NiwxOSArMTE5NywxNiBAQAogCWVhcmx5X2lvdW5tYXAocCwgNCk7CiAjZW5kaWYKIAotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWluaXRfYXBpY19tYXBwaW5ncygpOwotI2VuZGlmCi0Jc2V0X3RyYXBfZ2F0ZSgwLCAgJmRpdmlkZV9lcnJvcik7Ci0Jc2V0X2ludHJfZ2F0ZSgxLCAgJmRlYnVnKTsKLQlzZXRfaW50cl9nYXRlKDIsICAmbm1pKTsKLQlzZXRfc3lzdGVtX2ludHJfZ2F0ZSgzLCAmaW50Myk7IC8qIGludDMvNCBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCi0Jc2V0X3N5c3RlbV9nYXRlKDQsICZvdmVyZmxvdyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg1LCAgJmJvdW5kcyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg2LCAgJmludmFsaWRfb3ApOwotCXNldF90cmFwX2dhdGUoNywgICZkZXZpY2Vfbm90X2F2YWlsYWJsZSk7Ci0Jc2V0X3Rhc2tfZ2F0ZSg4LCAgR0RUX0VOVFJZX0RPVUJMRUZBVUxUX1RTUyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg5LCAgJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7CisJc2V0X3RyYXBfZ2F0ZSgwLCAmZGl2aWRlX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDEsICZkZWJ1Zyk7CisJc2V0X2ludHJfZ2F0ZSgyLCAmbm1pKTsKKwlzZXRfc3lzdGVtX2ludHJfZ2F0ZSgzLCAmaW50Myk7IC8qIGludDMgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLworCXNldF9zeXN0ZW1fZ2F0ZSg0LCAmb3ZlcmZsb3cpOyAvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KKwlzZXRfdHJhcF9nYXRlKDUsICZib3VuZHMpOworCXNldF90cmFwX2dhdGUoNiwgJmludmFsaWRfb3ApOworCXNldF90cmFwX2dhdGUoNywgJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKKwlzZXRfdGFza19nYXRlKDgsIEdEVF9FTlRSWV9ET1VCTEVGQVVMVF9UU1MpOworCXNldF90cmFwX2dhdGUoOSwgJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7CiAJc2V0X3RyYXBfZ2F0ZSgxMCwgJmludmFsaWRfVFNTKTsKIAlzZXRfdHJhcF9nYXRlKDExLCAmc2VnbWVudF9ub3RfcHJlc2VudCk7CiAJc2V0X3RyYXBfZ2F0ZSgxMiwgJnN0YWNrX3NlZ21lbnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RyYXBzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYwppbmRleCBhZGZmNzZlLi4yNjk2YTY4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYwpAQCAtMTAsNDkgKzEwLDQ5IEBACiAgKiAnVHJhcHMuYycgaGFuZGxlcyBoYXJkd2FyZSB0cmFwcyBhbmQgZmF1bHRzIGFmdGVyIHdlIGhhdmUgc2F2ZWQgc29tZQogICogc3RhdGUgaW4gJ2VudHJ5LlMnLgogICovCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgotI2luY2x1ZGUgPGxpbnV4L25taS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+Ci0jaW5jbHVkZSA8bGludXgvdW53aW5kLmg+CiAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGxpbnV4L2J1Zy5oPgotI2luY2x1ZGUgPGxpbnV4L2tkZWJ1Zy5oPgogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KLQotI2luY2x1ZGUgPG1hY2hfdHJhcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9rZGVidWcuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC91bndpbmQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2J1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L25taS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAKICNpZiBkZWZpbmVkKENPTkZJR19FREFDKQogI2luY2x1ZGUgPGxpbnV4L2VkYWMuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vc3RhY2t0cmFjZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vZGVidWdyZWcuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorI2luY2x1ZGUgPGFzbS91bndpbmQuaD4KICNpbmNsdWRlIDxhc20vZGVzYy5oPgogI2luY2x1ZGUgPGFzbS9pMzg3Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGFzbS91bndpbmQuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KLSNpbmNsdWRlIDxhc20vcGRhLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+CiAjaW5jbHVkZSA8YXNtL25taS5oPgotI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CisjaW5jbHVkZSA8YXNtL3NtcC5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CisjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CisjaW5jbHVkZSA8YXNtL3BkYS5oPgorCisjaW5jbHVkZSA8bWFjaF90cmFwcy5oPgogCiBhc21saW5rYWdlIHZvaWQgZGl2aWRlX2Vycm9yKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIGRlYnVnKHZvaWQpOwpAQCAtNzEsMTIgKzcxLDE1IEBACiBhc21saW5rYWdlIHZvaWQgcGFnZV9mYXVsdCh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBjb3Byb2Nlc3Nvcl9lcnJvcih2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBzaW1kX2NvcHJvY2Vzc29yX2Vycm9yKHZvaWQpOwotYXNtbGlua2FnZSB2b2lkIHJlc2VydmVkKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIGFsaWdubWVudF9jaGVjayh2b2lkKTsKLWFzbWxpbmthZ2Ugdm9pZCBtYWNoaW5lX2NoZWNrKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIHNwdXJpb3VzX2ludGVycnVwdF9idWcodm9pZCk7Cithc21saW5rYWdlIHZvaWQgbWFjaGluZV9jaGVjayh2b2lkKTsKIAoraW50IHBhbmljX29uX3VucmVjb3ZlcmVkX25taTsKK2ludCBrc3RhY2tfZGVwdGhfdG9fcHJpbnQgPSAxMjsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgY29kZV9ieXRlcyA9IDY0Oworc3RhdGljIGludCBpZ25vcmVfbm1pczsKK3N0YXRpYyBpbnQgZGllX2NvdW50ZXI7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBjb25kaXRpb25hbF9zdGkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CkBAIC0xMDAsMzQgKzEwMyw5IEBACiAJZGVjX3ByZWVtcHRfY291bnQoKTsKIH0KIAotaW50IGtzdGFja19kZXB0aF90b19wcmludCA9IDEyOwotCiB2b2lkIHByaW50a19hZGRyZXNzKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgaW50IHJlbGlhYmxlKQogewotI2lmZGVmIENPTkZJR19LQUxMU1lNUwotCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCwgc3ltc2l6ZTsKLQljb25zdCBjaGFyICpzeW1uYW1lOwotCWNoYXIgKm1vZG5hbWU7Ci0JY2hhciAqZGVsaW0gPSAiOiI7Ci0JY2hhciBuYW1lYnVmW0tTWU1fTkFNRV9MRU5dOwotCWNoYXIgcmVsaWFiWzRdID0gIiI7Ci0KLQlzeW1uYW1lID0ga2FsbHN5bXNfbG9va3VwKGFkZHJlc3MsICZzeW1zaXplLCAmb2Zmc2V0LAotCQkJCQkmbW9kbmFtZSwgbmFtZWJ1Zik7Ci0JaWYgKCFzeW1uYW1lKSB7Ci0JCXByaW50aygiIFs8JTAxNmx4Pl1cbiIsIGFkZHJlc3MpOwotCQlyZXR1cm47Ci0JfQotCWlmICghcmVsaWFibGUpCi0JCXN0cmNweShyZWxpYWIsICI/ICIpOwotCi0JaWYgKCFtb2RuYW1lKQotCQltb2RuYW1lID0gZGVsaW0gPSAiIjsKLQlwcmludGsoIiBbPCUwMTZseD5dICVzJXMlcyVzJXMrMHglbHgvMHglbHhcbiIsCi0JCWFkZHJlc3MsIHJlbGlhYiwgZGVsaW0sIG1vZG5hbWUsIGRlbGltLCBzeW1uYW1lLCBvZmZzZXQsIHN5bXNpemUpOwotI2Vsc2UKLQlwcmludGsoIiBbPCUwMTZseD5dXG4iLCBhZGRyZXNzKTsKLSNlbmRpZgorCXByaW50aygiIFs8JTAxNmx4Pl0gJXMlcFNcbiIsIGFkZHJlc3MsIHJlbGlhYmxlID8gIiI6ICI/ICIsICh2b2lkICopIGFkZHJlc3MpOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyAqaW5fZXhjZXB0aW9uX3N0YWNrKHVuc2lnbmVkIGNwdSwgdW5zaWduZWQgbG9uZyBzdGFjaywKQEAgLTIwNCw4ICsxODIsNiBAQAogCXJldHVybiBOVUxMOwogfQogCi0jZGVmaW5lIE1TRyh0eHQpIG9wcy0+d2FybmluZyhkYXRhLCB0eHQpCi0KIC8qCiAgKiB4ODYtNjQgY2FuIGhhdmUgdXAgdG8gdGhyZWUga2VybmVsIHN0YWNrczogCiAgKiBwcm9jZXNzIHN0YWNrCkBAIC0yMzIsMTEgKzIwOCwxMSBAQAogCXVuc2lnbmVkIGxvbmcgcmV0dXJuX2FkZHJlc3M7CiB9OwogCi0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwcmludF9jb250ZXh0X3N0YWNrKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sCi0JCQkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnAsCi0JCQkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEsCi0JCQkJdW5zaWduZWQgbG9uZyAqZW5kKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCitwcmludF9jb250ZXh0X3N0YWNrKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sCisJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAorCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSwKKwkJdW5zaWduZWQgbG9uZyAqZW5kKQogewogCXN0cnVjdCBzdGFja19mcmFtZSAqZnJhbWUgPSAoc3RydWN0IHN0YWNrX2ZyYW1lICopYnA7CiAKQEAgLTI1OCw3ICsyMzQsNyBAQAogCXJldHVybiBicDsKIH0KIAotdm9pZCBkdW1wX3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKK3ZvaWQgZHVtcF90cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAogCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKIAkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCiB7CkBAIC0yNjcsMzYgKzI0MywzNCBAQAogCXVuc2lnbmVkIHVzZWQgPSAwOwogCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm87CiAKLQlpZiAoIXRzaykKLQkJdHNrID0gY3VycmVudDsKLQl0aW5mbyA9IHRhc2tfdGhyZWFkX2luZm8odHNrKTsKKwlpZiAoIXRhc2spCisJCXRhc2sgPSBjdXJyZW50OwogCiAJaWYgKCFzdGFjaykgewogCQl1bnNpZ25lZCBsb25nIGR1bW15OwogCQlzdGFjayA9ICZkdW1teTsKLQkJaWYgKHRzayAmJiB0c2sgIT0gY3VycmVudCkKLQkJCXN0YWNrID0gKHVuc2lnbmVkIGxvbmcgKil0c2stPnRocmVhZC5zcDsKKwkJaWYgKHRhc2sgJiYgdGFzayAhPSBjdXJyZW50KQorCQkJc3RhY2sgPSAodW5zaWduZWQgbG9uZyAqKXRhc2stPnRocmVhZC5zcDsKIAl9CiAKICNpZmRlZiBDT05GSUdfRlJBTUVfUE9JTlRFUgogCWlmICghYnApIHsKLQkJaWYgKHRzayA9PSBjdXJyZW50KSB7CisJCWlmICh0YXNrID09IGN1cnJlbnQpIHsKIAkJCS8qIEdyYWIgYnAgcmlnaHQgZnJvbSBvdXIgcmVncyAqLwotCQkJYXNtKCJtb3ZxICUlcmJwLCAlMCIgOiAiPXIiIChicCk6KTsKKwkJCWFzbSgibW92cSAlJXJicCwgJTAiIDogIj1yIiAoYnApIDopOwogCQl9IGVsc2UgewogCQkJLyogYnAgaXMgdGhlIGxhc3QgcmVnIHB1c2hlZCBieSBzd2l0Y2hfdG8gKi8KLQkJCWJwID0gKih1bnNpZ25lZCBsb25nICopIHRzay0+dGhyZWFkLnNwOworCQkJYnAgPSAqKHVuc2lnbmVkIGxvbmcgKikgdGFzay0+dGhyZWFkLnNwOwogCQl9CiAJfQogI2VuZGlmCiAKLQotCiAJLyoKIAkgKiBQcmludCBmdW5jdGlvbiBjYWxsIGVudHJpZXMgaW4gYWxsIHN0YWNrcywgc3RhcnRpbmcgYXQgdGhlCiAJICogY3VycmVudCBzdGFjayBhZGRyZXNzLiBJZiB0aGUgc3RhY2tzIGNvbnNpc3Qgb2YgbmVzdGVkCiAJICogZXhjZXB0aW9ucwogCSAqLworCXRpbmZvID0gdGFza190aHJlYWRfaW5mbyh0YXNrKTsKIAlmb3IgKDs7KSB7CiAJCWNoYXIgKmlkOwogCQl1bnNpZ25lZCBsb25nICplc3RhY2tfZW5kOwpAQCAtMzgxLDE4ICszNTUsMTcgQEAKIAkuYWRkcmVzcyA9IHByaW50X3RyYWNlX2FkZHJlc3MsCiB9OwogCi12b2lkCi1zaG93X3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyAqc3RhY2ssCi0JCXVuc2lnbmVkIGxvbmcgYnApCit2b2lkIHNob3dfdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKKwkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnApCiB7CiAJcHJpbnRrKCJcbkNhbGwgVHJhY2U6XG4iKTsKLQlkdW1wX3RyYWNlKHRzaywgcmVncywgc3RhY2ssIGJwLCAmcHJpbnRfdHJhY2Vfb3BzLCBOVUxMKTsKKwlkdW1wX3RyYWNlKHRhc2ssIHJlZ3MsIHN0YWNrLCBicCwgJnByaW50X3RyYWNlX29wcywgTlVMTCk7CiAJcHJpbnRrKCJcbiIpOwogfQogCiBzdGF0aWMgdm9pZAotX3Nob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nICpzcCwKLQkJCQkJCQl1bnNpZ25lZCBsb25nIGJwKQorX3Nob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKKwkJdW5zaWduZWQgbG9uZyAqc3AsIHVuc2lnbmVkIGxvbmcgYnApCiB7CiAJdW5zaWduZWQgbG9uZyAqc3RhY2s7CiAJaW50IGk7CkBAIC00MDQsMTQgKzM3NywxNCBAQAogCS8vIGJhY2sgdHJhY2UgZm9yIHRoaXMgY3B1LgogCiAJaWYgKHNwID09IE5VTEwpIHsKLQkJaWYgKHRzaykKLQkJCXNwID0gKHVuc2lnbmVkIGxvbmcgKil0c2stPnRocmVhZC5zcDsKKwkJaWYgKHRhc2spCisJCQlzcCA9ICh1bnNpZ25lZCBsb25nICopdGFzay0+dGhyZWFkLnNwOwogCQllbHNlCiAJCQlzcCA9ICh1bnNpZ25lZCBsb25nICopJnNwOwogCX0KIAogCXN0YWNrID0gc3A7Ci0JZm9yKGk9MDsgaSA8IGtzdGFja19kZXB0aF90b19wcmludDsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGtzdGFja19kZXB0aF90b19wcmludDsgaSsrKSB7CiAJCWlmIChzdGFjayA+PSBpcnFzdGFjayAmJiBzdGFjayA8PSBpcnFzdGFja19lbmQpIHsKIAkJCWlmIChzdGFjayA9PSBpcnFzdGFja19lbmQpIHsKIAkJCQlzdGFjayA9ICh1bnNpZ25lZCBsb25nICopIChpcnFzdGFja19lbmRbLTFdKTsKQEAgLTQyNiwxMiArMzk5LDEyIEBACiAJCXByaW50aygiICUwMTZseCIsICpzdGFjaysrKTsKIAkJdG91Y2hfbm1pX3dhdGNoZG9nKCk7CiAJfQotCXNob3dfdHJhY2UodHNrLCByZWdzLCBzcCwgYnApOworCXNob3dfdHJhY2UodGFzaywgcmVncywgc3AsIGJwKTsKIH0KIAotdm9pZCBzaG93X3N0YWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCB1bnNpZ25lZCBsb25nICogc3ApCit2b2lkIHNob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBsb25nICpzcCkKIHsKLQlfc2hvd19zdGFjayh0c2ssIE5VTEwsIHNwLCAwKTsKKwlfc2hvd19zdGFjayh0YXNrLCBOVUxMLCBzcCwgMCk7CiB9CiAKIC8qCkBAIC00MzksOCArNDEyLDggQEAKICAqLwogdm9pZCBkdW1wX3N0YWNrKHZvaWQpCiB7Ci0JdW5zaWduZWQgbG9uZyBkdW1teTsKIAl1bnNpZ25lZCBsb25nIGJwID0gMDsKKwl1bnNpZ25lZCBsb25nIHN0YWNrOwogCiAjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKIAlpZiAoIWJwKQpAQCAtNDUyLDcgKzQyNSw3IEBACiAJCWluaXRfdXRzbmFtZSgpLT5yZWxlYXNlLAogCQkoaW50KXN0cmNzcG4oaW5pdF91dHNuYW1lKCktPnZlcnNpb24sICIgIiksCiAJCWluaXRfdXRzbmFtZSgpLT52ZXJzaW9uKTsKLQlzaG93X3RyYWNlKE5VTEwsIE5VTEwsICZkdW1teSwgYnApOworCXNob3dfdHJhY2UoTlVMTCwgTlVMTCwgJnN0YWNrLCBicCk7CiB9CiAKIEVYUE9SVF9TWU1CT0woZHVtcF9zdGFjayk7CkBAIC00NjMsMTIgKzQzNiw4IEBACiAJdW5zaWduZWQgbG9uZyBzcDsKIAljb25zdCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyID0gY3B1X3BkYShjcHUpLT5wY3VycmVudDsKLQl1OCAqaXA7Ci0JdW5zaWduZWQgaW50IGNvZGVfcHJvbG9ndWUgPSBjb2RlX2J5dGVzICogNDMgLyA2NDsKLQl1bnNpZ25lZCBpbnQgY29kZV9sZW4gPSBjb2RlX2J5dGVzOwogCiAJc3AgPSByZWdzLT5zcDsKLQlpcCA9ICh1OCAqKSByZWdzLT5pcCAtIGNvZGVfcHJvbG9ndWU7CiAJcHJpbnRrKCJDUFUgJWQgIiwgY3B1KTsKIAlfX3Nob3dfcmVncyhyZWdzKTsKIAlwcmludGsoIlByb2Nlc3MgJXMgKHBpZDogJWQsIHRocmVhZGluZm8gJXAsIHRhc2sgJXApXG4iLApAQCAtNDc5LDE1ICs0NDgsMjEgQEAKIAkgKiB0aW1lIG9mIHRoZSBmYXVsdC4uCiAJICovCiAJaWYgKCF1c2VyX21vZGUocmVncykpIHsKKwkJdW5zaWduZWQgaW50IGNvZGVfcHJvbG9ndWUgPSBjb2RlX2J5dGVzICogNDMgLyA2NDsKKwkJdW5zaWduZWQgaW50IGNvZGVfbGVuID0gY29kZV9ieXRlczsKIAkJdW5zaWduZWQgY2hhciBjOworCQl1OCAqaXA7CisKIAkJcHJpbnRrKCJTdGFjazogIik7CiAJCV9zaG93X3N0YWNrKE5VTEwsIHJlZ3MsICh1bnNpZ25lZCBsb25nICopc3AsIHJlZ3MtPmJwKTsKIAkJcHJpbnRrKCJcbiIpOwogCiAJCXByaW50ayhLRVJOX0VNRVJHICJDb2RlOiAiKTsKKworCQlpcCA9ICh1OCAqKXJlZ3MtPmlwIC0gY29kZV9wcm9sb2d1ZTsKIAkJaWYgKGlwIDwgKHU4ICopUEFHRV9PRkZTRVQgfHwgcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CiAJCQkvKiB0cnkgc3RhcnRpbmcgYXQgUklQICovCi0JCQlpcCA9ICh1OCAqKSByZWdzLT5pcDsKKwkJCWlwID0gKHU4ICopcmVncy0+aXA7CiAJCQljb2RlX2xlbiA9IGNvZGVfbGVuIC0gY29kZV9wcm9sb2d1ZSArIDE7CiAJCX0KIAkJZm9yIChpID0gMDsgaSA8IGNvZGVfbGVuOyBpKyssIGlwKyspIHsKQEAgLTUwMyw3ICs0NzgsNyBAQAogCQl9CiAJfQogCXByaW50aygiXG4iKTsKLX0JCit9CiAKIGludCBpc192YWxpZF9idWdhZGRyKHVuc2lnbmVkIGxvbmcgaXApCiB7CkBAIC01NjEsMTAgKzUzNiw5IEBACiAJZG9fZXhpdChzaWducik7CiB9CiAKLWludCBfX2twcm9iZXMgX19kaWUoY29uc3QgY2hhciAqIHN0ciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycikKK2ludCBfX2twcm9iZXMgX19kaWUoY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnIpCiB7Ci0Jc3RhdGljIGludCBkaWVfY291bnRlcjsKLQlwcmludGsoS0VSTl9FTUVSRyAiJXM6ICUwNGx4IFsldV0gIiwgc3RyLCBlcnIgJiAweGZmZmYsKytkaWVfY291bnRlcik7CisJcHJpbnRrKEtFUk5fRU1FUkcgIiVzOiAlMDRseCBbJXVdICIsIHN0ciwgZXJyICYgMHhmZmZmLCArK2RpZV9jb3VudGVyKTsKICNpZmRlZiBDT05GSUdfUFJFRU1QVAogCXByaW50aygiUFJFRU1QVCAiKTsKICNlbmRpZgpAQCAtNTc1LDggKzU0OSwxMCBAQAogCXByaW50aygiREVCVUdfUEFHRUFMTE9DIik7CiAjZW5kaWYKIAlwcmludGsoIlxuIik7Ci0JaWYgKG5vdGlmeV9kaWUoRElFX09PUFMsIHN0ciwgcmVncywgZXJyLCBjdXJyZW50LT50aHJlYWQudHJhcF9ubywgU0lHU0VHVikgPT0gTk9USUZZX1NUT1ApCisJaWYgKG5vdGlmeV9kaWUoRElFX09PUFMsIHN0ciwgcmVncywgZXJyLAorCQkJY3VycmVudC0+dGhyZWFkLnRyYXBfbm8sIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQogCQlyZXR1cm4gMTsKKwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwogCWFkZF90YWludChUQUlOVF9ESUUpOwogCS8qIEV4ZWN1dGl2ZSBzdW1tYXJ5IGluIGNhc2UgdGhlIG9vcHMgc2Nyb2xsZWQgYXdheSAqLwpAQCAtNTg4LDcgKzU2NCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgZGllKGNvbnN0IGNoYXIgKiBzdHIsIHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnIpCit2b2lkIGRpZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycikKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzID0gb29wc19iZWdpbigpOwogCkBAIC02MDUsOCArNTgxLDcgQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JaWYgKG5vdGlmeV9kaWUoRElFX05NSVdBVENIRE9HLCBzdHIsIHJlZ3MsIDAsIDIsIFNJR0lOVCkgPT0KLQkgICAgTk9USUZZX1NUT1ApCisJaWYgKG5vdGlmeV9kaWUoRElFX05NSVdBVENIRE9HLCBzdHIsIHJlZ3MsIDAsIDIsIFNJR0lOVCkgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKIAogCWZsYWdzID0gb29wc19iZWdpbigpOwpAQCAtNjE0LDcgKzU4OSw5IEBACiAJICogV2UgYXJlIGluIHRyb3VibGUgYW55d2F5LCBsZXRzIGF0IGxlYXN0IHRyeQogCSAqIHRvIGdldCBhIG1lc3NhZ2Ugb3V0LgogCSAqLwotCXByaW50ayhzdHIsIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJcHJpbnRrKEtFUk5fRU1FUkcgIiVzIiwgc3RyKTsKKwlwcmludGsoIiBvbiBDUFUlZCwgaXAgJTA4bHgsIHJlZ2lzdGVyczpcbiIsCisJCXNtcF9wcm9jZXNzb3JfaWQoKSwgcmVncy0+aXApOwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwogCWlmIChrZXhlY19zaG91bGRfY3Jhc2goY3VycmVudCkpCiAJCWNyYXNoX2tleGVjKHJlZ3MpOwpAQCAtNjI2LDQ0ICs2MDMsNDQgQEAKIAlkb19leGl0KFNJR0JVUyk7CiB9CiAKLXN0YXRpYyB2b2lkIF9fa3Byb2JlcyBkb190cmFwKGludCB0cmFwbnIsIGludCBzaWduciwgY2hhciAqc3RyLAotCQkJICAgICAgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUsCi0JCQkgICAgICBzaWdpbmZvX3QgKmluZm8pCitzdGF0aWMgdm9pZCBfX2twcm9iZXMKK2RvX3RyYXAoaW50IHRyYXBuciwgaW50IHNpZ25yLCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCWxvbmcgZXJyb3JfY29kZSwgc2lnaW5mb190ICppbmZvKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gY3VycmVudDsKIAotCWlmICh1c2VyX21vZGUocmVncykpIHsKLQkJLyoKLQkJICogV2Ugd2FudCBlcnJvcl9jb2RlIGFuZCB0cmFwX25vIHNldCBmb3IgdXNlcnNwYWNlCi0JCSAqIGZhdWx0cyBhbmQga2VybmVsc3BhY2UgZmF1bHRzIHdoaWNoIHJlc3VsdCBpbgotCQkgKiBkaWUoKSwgYnV0IG5vdCBrZXJuZWxzcGFjZSBmYXVsdHMgd2hpY2ggYXJlIGZpeGVkCi0JCSAqIHVwLiAgZGllKCkgZ2l2ZXMgdGhlIHByb2Nlc3Mgbm8gY2hhbmNlIHRvIGhhbmRsZQotCQkgKiB0aGUgc2lnbmFsIGFuZCBub3RpY2UgdGhlIGtlcm5lbCBmYXVsdCBpbmZvcm1hdGlvbiwKLQkJICogc28gdGhhdCB3b24ndCByZXN1bHQgaW4gcG9sbHV0aW5nIHRoZSBpbmZvcm1hdGlvbgotCQkgKiBhYm91dCBwcmV2aW91c2x5IHF1ZXVlZCwgYnV0IG5vdCB5ZXQgZGVsaXZlcmVkLAotCQkgKiBmYXVsdHMuICBTZWUgYWxzbyBkb19nZW5lcmFsX3Byb3RlY3Rpb24gYmVsb3cuCi0JCSAqLwotCQl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKLQkJdHNrLT50aHJlYWQudHJhcF9ubyA9IHRyYXBucjsKKwlpZiAoIXVzZXJfbW9kZShyZWdzKSkKKwkJZ290byBrZXJuZWxfdHJhcDsKIAotCQlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKHRzaywgc2lnbnIpICYmCi0JCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKLQkJCXByaW50ayhLRVJOX0lORk8KLQkJCSAgICAgICAiJXNbJWRdIHRyYXAgJXMgaXA6JWx4IHNwOiVseCBlcnJvcjolbHgiLAotCQkJICAgICAgIHRzay0+Y29tbSwgdHNrLT5waWQsIHN0ciwKLQkJCSAgICAgICByZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOwotCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7Ci0JCQlwcmludGsoIlxuIik7Ci0JCX0KKwkvKgorCSAqIFdlIHdhbnQgZXJyb3JfY29kZSBhbmQgdHJhcF9ubyBzZXQgZm9yIHVzZXJzcGFjZSBmYXVsdHMgYW5kCisJICoga2VybmVsc3BhY2UgZmF1bHRzIHdoaWNoIHJlc3VsdCBpbiBkaWUoKSwgYnV0IG5vdAorCSAqIGtlcm5lbHNwYWNlIGZhdWx0cyB3aGljaCBhcmUgZml4ZWQgdXAuICBkaWUoKSBnaXZlcyB0aGUKKwkgKiBwcm9jZXNzIG5vIGNoYW5jZSB0byBoYW5kbGUgdGhlIHNpZ25hbCBhbmQgbm90aWNlIHRoZQorCSAqIGtlcm5lbCBmYXVsdCBpbmZvcm1hdGlvbiwgc28gdGhhdCB3b24ndCByZXN1bHQgaW4gcG9sbHV0aW5nCisJICogdGhlIGluZm9ybWF0aW9uIGFib3V0IHByZXZpb3VzbHkgcXVldWVkLCBidXQgbm90IHlldAorCSAqIGRlbGl2ZXJlZCwgZmF1bHRzLiAgU2VlIGFsc28gZG9fZ2VuZXJhbF9wcm90ZWN0aW9uIGJlbG93LgorCSAqLworCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOworCXRzay0+dGhyZWFkLnRyYXBfbm8gPSB0cmFwbnI7CiAKLQkJaWYgKGluZm8pCi0JCQlmb3JjZV9zaWdfaW5mbyhzaWduciwgaW5mbywgdHNrKTsKLQkJZWxzZQotCQkJZm9yY2Vfc2lnKHNpZ25yLCB0c2spOwotCQlyZXR1cm47CisJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIHNpZ25yKSAmJgorCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkgICAgICAgIiVzWyVkXSB0cmFwICVzIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJICAgICAgIHRzay0+Y29tbSwgdHNrLT5waWQsIHN0ciwKKwkJICAgICAgIHJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7CisJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOworCQlwcmludGsoIlxuIik7CiAJfQogCisJaWYgKGluZm8pCisJCWZvcmNlX3NpZ19pbmZvKHNpZ25yLCBpbmZvLCB0c2spOworCWVsc2UKKwkJZm9yY2Vfc2lnKHNpZ25yLCB0c2spOworCXJldHVybjsKIAora2VybmVsX3RyYXA6CiAJaWYgKCFmaXh1cF9leGNlcHRpb24ocmVncykpIHsKIAkJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CiAJCXRzay0+dGhyZWFkLnRyYXBfbm8gPSB0cmFwbnI7CkBAIC02NzMsNDEgKzY1MCwzOSBAQAogfQogCiAjZGVmaW5lIERPX0VSUk9SKHRyYXBuciwgc2lnbnIsIHN0ciwgbmFtZSkgXAotYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkgXAoteyBcCi0JaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikgXAotCQkJCQkJCT09IE5PVElGWV9TVE9QKSBcCi0JCXJldHVybjsgXAorYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkJXAorewkJCQkJCQkJCVwKKwlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKKwkJcmV0dXJuOwkJCQkJCQlcCiAJY29uZGl0aW9uYWxfc3RpKHJlZ3MpOwkJCQkJCVwKLQlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7IFwKKwlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7CQlcCiB9CiAKLSNkZWZpbmUgRE9fRVJST1JfSU5GTyh0cmFwbnIsIHNpZ25yLCBzdHIsIG5hbWUsIHNpY29kZSwgc2lhZGRyKSBcCi1hc21saW5rYWdlIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKSBcCi17IFwKLQlzaWdpbmZvX3QgaW5mbzsgXAotCWluZm8uc2lfc2lnbm8gPSBzaWducjsgXAotCWluZm8uc2lfZXJybm8gPSAwOyBcCi0JaW5mby5zaV9jb2RlID0gc2ljb2RlOyBcCi0JaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICopc2lhZGRyOyBcCi0JdHJhY2VfaGFyZGlycXNfZml4dXAoKTsgXAotCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpIFwKLQkJCQkJCQk9PSBOT1RJRllfU1RPUCkgXAotCQlyZXR1cm47IFwKKyNkZWZpbmUgRE9fRVJST1JfSU5GTyh0cmFwbnIsIHNpZ25yLCBzdHIsIG5hbWUsIHNpY29kZSwgc2lhZGRyKQkJXAorYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkJXAorewkJCQkJCQkJCVwKKwlzaWdpbmZvX3QgaW5mbzsJCQkJCQkJXAorCWluZm8uc2lfc2lnbm8gPSBzaWducjsJCQkJCQlcCisJaW5mby5zaV9lcnJubyA9IDA7CQkJCQkJXAorCWluZm8uc2lfY29kZSA9IHNpY29kZTsJCQkJCQlcCisJaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICopc2lhZGRyOwkJCQlcCisJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsJCQkJCQlcCisJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCisJCXJldHVybjsJCQkJCQkJXAogCWNvbmRpdGlvbmFsX3N0aShyZWdzKTsJCQkJCQlcCi0JZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsICZpbmZvKTsgXAorCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCAmaW5mbyk7CQlcCiB9CiAKLURPX0VSUk9SX0lORk8oIDAsIFNJR0ZQRSwgICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQotRE9fRVJST1IoIDQsIFNJR1NFR1YsICJvdmVyZmxvdyIsIG92ZXJmbG93KQotRE9fRVJST1IoIDUsIFNJR1NFR1YsICJib3VuZHMiLCBib3VuZHMpCi1ET19FUlJPUl9JTkZPKCA2LCBTSUdJTEwsICAiaW52YWxpZCBvcGNvZGUiLCBpbnZhbGlkX29wLCBJTExfSUxMT1BOLCByZWdzLT5pcCkKLURPX0VSUk9SKCA3LCBTSUdTRUdWLCAiZGV2aWNlIG5vdCBhdmFpbGFibGUiLCBkZXZpY2Vfbm90X2F2YWlsYWJsZSkKLURPX0VSUk9SKCA5LCBTSUdGUEUsICAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQorRE9fRVJST1JfSU5GTygwLCBTSUdGUEUsICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQorRE9fRVJST1IoNCwgU0lHU0VHViwgIm92ZXJmbG93Iiwgb3ZlcmZsb3cpCitET19FUlJPUig1LCBTSUdTRUdWLCAiYm91bmRzIiwgYm91bmRzKQorRE9fRVJST1JfSU5GTyg2LCBTSUdJTEwsICJpbnZhbGlkIG9wY29kZSIsIGludmFsaWRfb3AsIElMTF9JTExPUE4sIHJlZ3MtPmlwKQorRE9fRVJST1IoOSwgU0lHRlBFLCAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQogRE9fRVJST1IoMTAsIFNJR1NFR1YsICJpbnZhbGlkIFRTUyIsIGludmFsaWRfVFNTKQotRE9fRVJST1IoMTEsIFNJR0JVUywgICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKK0RPX0VSUk9SKDExLCBTSUdCVVMsICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKIERPX0VSUk9SX0lORk8oMTcsIFNJR0JVUywgImFsaWdubWVudCBjaGVjayIsIGFsaWdubWVudF9jaGVjaywgQlVTX0FEUkFMTiwgMCkKLURPX0VSUk9SKDE4LCBTSUdTRUdWLCAicmVzZXJ2ZWQiLCByZXNlcnZlZCkKIAogLyogUnVucyBvbiBJU1Qgc3RhY2sgKi8KIGFzbWxpbmthZ2Ugdm9pZCBkb19zdGFja19zZWdtZW50KHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCkBAIC03MzcsMzEgKzcxMiwzNCBAQAogCQlkaWUoc3RyLCByZWdzLCBlcnJvcl9jb2RlKTsKIH0KIAotYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19nZW5lcmFsX3Byb3RlY3Rpb24oc3RydWN0IHB0X3JlZ3MgKiByZWdzLAotCQkJCQkJbG9uZyBlcnJvcl9jb2RlKQorYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcworZG9fZ2VuZXJhbF9wcm90ZWN0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrOwogCiAJY29uZGl0aW9uYWxfc3RpKHJlZ3MpOwogCi0JaWYgKHVzZXJfbW9kZShyZWdzKSkgewotCQl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKLQkJdHNrLT50aHJlYWQudHJhcF9ubyA9IDEzOworCXRzayA9IGN1cnJlbnQ7CisJaWYgKCF1c2VyX21vZGUocmVncykpCisJCWdvdG8gZ3BfaW5fa2VybmVsOwogCi0JCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgotCQkgICAgcHJpbnRrX3JhdGVsaW1pdCgpKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPCi0JCSAgICAgICAiJXNbJWRdIGdlbmVyYWwgcHJvdGVjdGlvbiBpcDolbHggc3A6JWx4IGVycm9yOiVseCIsCi0JCQkgICAgICAgdHNrLT5jb21tLCB0c2stPnBpZCwKLQkJCSAgICAgICByZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOwotCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7Ci0JCQlwcmludGsoIlxuIik7Ci0JCX0KKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CiAKLQkJZm9yY2Vfc2lnKFNJR1NFR1YsIHRzayk7Ci0JCXJldHVybjsKLQl9IAorCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgorCQkJcHJpbnRrX3JhdGVsaW1pdCgpKSB7CisJCXByaW50ayhLRVJOX0lORk8KKwkJCSIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJCXRzay0+Y29tbSwgdHNrLT5waWQsCisJCQlyZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOworCQlwcmludF92bWFfYWRkcigiIGluICIsIHJlZ3MtPmlwKTsKKwkJcHJpbnRrKCJcbiIpOworCX0KIAorCWZvcmNlX3NpZyhTSUdTRUdWLCB0c2spOworCXJldHVybjsKKworZ3BfaW5fa2VybmVsOgogCWlmIChmaXh1cF9leGNlcHRpb24ocmVncykpCiAJCXJldHVybjsKIApAQCAtNzc0LDE0ICs3NTIsMTQgQEAKIH0KIAogc3RhdGljIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKLW1lbV9wYXJpdHlfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICogcmVncykKK21lbV9wYXJpdHlfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXByaW50ayhLRVJOX0VNRVJHICJVaGh1aC4gTk1JIHJlY2VpdmVkIGZvciB1bmtub3duIHJlYXNvbiAlMDJ4LlxuIiwKIAkJcmVhc29uKTsKIAlwcmludGsoS0VSTl9FTUVSRyAiWW91IGhhdmUgc29tZSBoYXJkd2FyZSBwcm9ibGVtLCBsaWtlbHkgb24gdGhlIFBDSSBidXMuXG4iKTsKIAogI2lmIGRlZmluZWQoQ09ORklHX0VEQUMpCi0JaWYoZWRhY19oYW5kbGVyX3NldCgpKSB7CisJaWYgKGVkYWNfaGFuZGxlcl9zZXQoKSkgewogCQllZGFjX2F0b21pY19hc3NlcnRfZXJyb3IoKTsKIAkJcmV0dXJuOwogCX0KQEAgLTc5OCw3ICs3NzYsNyBAQAogfQogCiBzdGF0aWMgbm90cmFjZSBfX2twcm9iZXMgdm9pZAotaW9fY2hlY2tfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICogcmVncykKK2lvX2NoZWNrX2Vycm9yKHVuc2lnbmVkIGNoYXIgcmVhc29uLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlwcmludGsoIk5NSTogSU9DSyBlcnJvciAoZGVidWcgaW50ZXJydXB0PylcbiIpOwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwpAQCAtODI4LDE0ICs4MDYsMTQgQEAKIAogLyogUnVucyBvbiBJU1Qgc3RhY2suIFRoaXMgY29kZSBtdXN0IGtlZXAgaW50ZXJydXB0cyBvZmYgYWxsIHRoZSB0aW1lLgogICAgTmVzdGVkIE5NSXMgYXJlIHByZXZlbnRlZCBieSB0aGUgQ1BVLiAqLwotYXNtbGlua2FnZSBub3RyYWNlICBfX2twcm9iZXMgdm9pZCBkZWZhdWx0X2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncykKK2FzbWxpbmthZ2Ugbm90cmFjZSBfX2twcm9iZXMgdm9pZCBkZWZhdWx0X2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAl1bnNpZ25lZCBjaGFyIHJlYXNvbiA9IDA7CiAJaW50IGNwdTsKIAogCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAotCS8qIE9ubHkgdGhlIEJTUCBnZXRzIGV4dGVybmFsIE5NSXMgZnJvbSB0aGUgc3lzdGVtLiAgKi8KKwkvKiBPbmx5IHRoZSBCU1AgZ2V0cyBleHRlcm5hbCBOTUlzIGZyb20gdGhlIHN5c3RlbS4gKi8KIAlpZiAoIWNwdSkKIAkJcmVhc29uID0gZ2V0X25taV9yZWFzb24oKTsKIApAQCAtODQ3LDMyICs4MjUsNTcgQEAKIAkJICogT2ssIHNvIHRoaXMgaXMgbm9uZSBvZiB0aGUgZG9jdW1lbnRlZCBOTUkgc291cmNlcywKIAkJICogc28gaXQgbXVzdCBiZSB0aGUgTk1JIHdhdGNoZG9nLgogCQkgKi8KLQkJaWYgKG5taV93YXRjaGRvZ190aWNrKHJlZ3MscmVhc29uKSkKKwkJaWYgKG5taV93YXRjaGRvZ190aWNrKHJlZ3MsIHJlYXNvbikpCiAJCQlyZXR1cm47Ci0JCWlmICghZG9fbm1pX2NhbGxiYWNrKHJlZ3MsY3B1KSkKKwkJaWYgKCFkb19ubWlfY2FsbGJhY2socmVncywgY3B1KSkKIAkJCXVua25vd25fbm1pX2Vycm9yKHJlYXNvbiwgcmVncyk7CiAKIAkJcmV0dXJuOwogCX0KIAlpZiAobm90aWZ5X2RpZShESUVfTk1JLCAibm1pIiwgcmVncywgcmVhc29uLCAyLCBTSUdJTlQpID09IE5PVElGWV9TVE9QKQotCQlyZXR1cm47IAorCQlyZXR1cm47CiAKIAkvKiBBSzogZm9sbG93aW5nIGNoZWNrcyBzZWVtIHRvIGJlIGJyb2tlbiBvbiBtb2Rlcm4gY2hpcHNldHMuIEZJWE1FICovCi0KIAlpZiAocmVhc29uICYgMHg4MCkKIAkJbWVtX3Bhcml0eV9lcnJvcihyZWFzb24sIHJlZ3MpOwogCWlmIChyZWFzb24gJiAweDQwKQogCQlpb19jaGVja19lcnJvcihyZWFzb24sIHJlZ3MpOwogfQogCithc21saW5rYWdlIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKK2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQoreworCW5taV9lbnRlcigpOworCisJYWRkX3BkYShfX25taV9jb3VudCwgMSk7CisKKwlpZiAoIWlnbm9yZV9ubWlzKQorCQlkZWZhdWx0X2RvX25taShyZWdzKTsKKworCW5taV9leGl0KCk7Cit9CisKK3ZvaWQgc3RvcF9ubWkodm9pZCkKK3sKKwlhY3BpX25taV9kaXNhYmxlKCk7CisJaWdub3JlX25taXMrKzsKK30KKwordm9pZCByZXN0YXJ0X25taSh2b2lkKQoreworCWlnbm9yZV9ubWlzLS07CisJYWNwaV9ubWlfZW5hYmxlKCk7Cit9CisKIC8qIHJ1bnMgb24gSVNUIHN0YWNrLiAqLwotYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19pbnQzKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKQorYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19pbnQzKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7CiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsKIAotCWlmIChub3RpZnlfZGllKERJRV9JTlQzLCAiaW50MyIsIHJlZ3MsIGVycm9yX2NvZGUsIDMsIFNJR1RSQVApID09IE5PVElGWV9TVE9QKSB7CisJaWYgKG5vdGlmeV9kaWUoRElFX0lOVDMsICJpbnQzIiwgcmVncywgZXJyb3JfY29kZSwgMywgU0lHVFJBUCkKKwkJCT09IE5PVElGWV9TVE9QKQogCQlyZXR1cm47Ci0JfQorCiAJcHJlZW1wdF9jb25kaXRpb25hbF9zdGkocmVncyk7CiAJZG9fdHJhcCgzLCBTSUdUUkFQLCAiaW50MyIsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOwogCXByZWVtcHRfY29uZGl0aW9uYWxfY2xpKHJlZ3MpOwpAQCAtOTAzLDggKzkwNiw4IEBACiBhc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX2RlYnVnKHN0cnVjdCBwdF9yZWdzICogcmVncywKIAkJCQkgICB1bnNpZ25lZCBsb25nIGVycm9yX2NvZGUpCiB7Ci0JdW5zaWduZWQgbG9uZyBjb25kaXRpb247CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OworCXVuc2lnbmVkIGxvbmcgY29uZGl0aW9uOwogCXNpZ2luZm9fdCBpbmZvOwogCiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsKQEAgLTkyNSwyMSArOTI4LDE5IEBACiAKIAkvKiBNYXNrIG91dCBzcHVyaW91cyBkZWJ1ZyB0cmFwcyBkdWUgdG8gbGF6eSBEUjcgc2V0dGluZyAqLwogCWlmIChjb25kaXRpb24gJiAoRFJfVFJBUDB8RFJfVFJBUDF8RFJfVFJBUDJ8RFJfVFJBUDMpKSB7Ci0JCWlmICghdHNrLT50aHJlYWQuZGVidWdyZWc3KSB7IAorCQlpZiAoIXRzay0+dGhyZWFkLmRlYnVncmVnNykKIAkJCWdvdG8gY2xlYXJfZHI3OwotCQl9CiAJfQogCiAJdHNrLT50aHJlYWQuZGVidWdyZWc2ID0gY29uZGl0aW9uOwogCi0KIAkvKgogCSAqIFNpbmdsZS1zdGVwcGluZyB0aHJvdWdoIFRGOiBtYWtlIHN1cmUgd2UgaWdub3JlIGFueSBldmVudHMgaW4KIAkgKiBrZXJuZWwgc3BhY2UgKGJ1dCByZS1lbmFibGUgVEYgd2hlbiByZXR1cm5pbmcgdG8gdXNlciBtb2RlKS4KIAkgKi8KIAlpZiAoY29uZGl0aW9uICYgRFJfU1RFUCkgewotICAgICAgICAgICAgICAgIGlmICghdXNlcl9tb2RlKHJlZ3MpKQotICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGNsZWFyX1RGX3JlZW5hYmxlOworCQlpZiAoIXVzZXJfbW9kZShyZWdzKSkKKwkJCWdvdG8gY2xlYXJfVEZfcmVlbmFibGU7CiAJfQogCiAJLyogT2ssIGZpbmFsbHkgc29tZXRoaW5nIHdlIGNhbiBoYW5kbGUgKi8KQEAgLTk1Miw3ICs5NTMsNyBAQAogCWZvcmNlX3NpZ19pbmZvKFNJR1RSQVAsICZpbmZvLCB0c2spOwogCiBjbGVhcl9kcjc6Ci0Jc2V0X2RlYnVncmVnKDBVTCwgNyk7CisJc2V0X2RlYnVncmVnKDAsIDcpOwogCXByZWVtcHRfY29uZGl0aW9uYWxfY2xpKHJlZ3MpOwogCXJldHVybjsKIApAQCAtOTYwLDYgKzk2MSw3IEBACiAJc2V0X3Rza190aHJlYWRfZmxhZyh0c2ssIFRJRl9TSU5HTEVTVEVQKTsKIAlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19URjsKIAlwcmVlbXB0X2NvbmRpdGlvbmFsX2NsaShyZWdzKTsKKwlyZXR1cm47CiB9CiAKIHN0YXRpYyBpbnQga2VybmVsX21hdGhfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGNvbnN0IGNoYXIgKnN0ciwgaW50IHRyYXBucikKQEAgLTk4Miw3ICs5ODQsNyBAQAogYXNtbGlua2FnZSB2b2lkIGRvX2NvcHJvY2Vzc29yX2Vycm9yKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXZvaWQgX191c2VyICppcCA9ICh2b2lkIF9fdXNlciAqKShyZWdzLT5pcCk7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICogdGFzazsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7CiAJc2lnaW5mb190IGluZm87CiAJdW5zaWduZWQgc2hvcnQgY3dkLCBzd2Q7CiAKQEAgLTEwMTUsMzAgKzEwMTcsMzAgQEAKIAljd2QgPSBnZXRfZnB1X2N3ZCh0YXNrKTsKIAlzd2QgPSBnZXRfZnB1X3N3ZCh0YXNrKTsKIAlzd2l0Y2ggKHN3ZCAmIH5jd2QgJiAweDNmKSB7Ci0JCWNhc2UgMHgwMDA6Ci0JCWRlZmF1bHQ6Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwMTogLyogSW52YWxpZCBPcCAqLwotCQkJLyoKLQkJCSAqIHN3ZCAmIDB4MjQwID09IDB4MDQwOiBTdGFjayBVbmRlcmZsb3cKLQkJCSAqIHN3ZCAmIDB4MjQwID09IDB4MjQwOiBTdGFjayBPdmVyZmxvdwotCQkJICogVXNlciBtdXN0IGNsZWFyIHRoZSBTRiBiaXQgKDB4NDApIGlmIHNldAotCQkJICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUSU5WOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDI6IC8qIERlbm9ybWFsaXplICovCi0JCWNhc2UgMHgwMTA6IC8qIFVuZGVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA0OiAvKiBaZXJvIERpdmlkZSAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA4OiAvKiBPdmVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDIwOiAvKiBQcmVjaXNpb24gKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7Ci0JCQlicmVhazsKKwljYXNlIDB4MDAwOiAvKiBObyB1bm1hc2tlZCBleGNlcHRpb24gKi8KKwlkZWZhdWx0OiAvKiBNdWx0aXBsZSBleGNlcHRpb25zICovCisJCWJyZWFrOworCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KKwkJLyoKKwkJICogc3dkICYgMHgyNDAgPT0gMHgwNDA6IFN0YWNrIFVuZGVyZmxvdworCQkgKiBzd2QgJiAweDI0MCA9PSAweDI0MDogU3RhY2sgT3ZlcmZsb3cKKwkJICogVXNlciBtdXN0IGNsZWFyIHRoZSBTRiBiaXQgKDB4NDApIGlmIHNldAorCQkgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVElOVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwMjogLyogRGVub3JtYWxpemUgKi8KKwljYXNlIDB4MDEwOiAvKiBVbmRlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKKwkJYnJlYWs7CisJY2FzZSAweDAwNDogLyogWmVybyBEaXZpZGUgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwODogLyogT3ZlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKKwkJYnJlYWs7CisJY2FzZSAweDAyMDogLyogUHJlY2lzaW9uICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7CisJCWJyZWFrOwogCX0KIAlmb3JjZV9zaWdfaW5mbyhTSUdGUEUsICZpbmZvLCB0YXNrKTsKIH0KQEAgLTEwNTEsNyArMTA1Myw3IEBACiBhc21saW5rYWdlIHZvaWQgZG9fc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcihzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAl2b2lkIF9fdXNlciAqaXAgPSAodm9pZCBfX3VzZXIgKikocmVncy0+aXApOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAqIHRhc2s7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOwogCXNpZ2luZm9fdCBpbmZvOwogCXVuc2lnbmVkIHNob3J0IG14Y3NyOwogCkBAIC0xMDc5LDI1ICsxMDgxLDI1IEBACiAJICovCiAJbXhjc3IgPSBnZXRfZnB1X214Y3NyKHRhc2spOwogCXN3aXRjaCAofigobXhjc3IgJiAweDFmODApID4+IDcpICYgKG14Y3NyICYgMHgzZikpIHsKLQkJY2FzZSAweDAwMDoKLQkJZGVmYXVsdDoKLQkJCWJyZWFrOwotCQljYXNlIDB4MDAxOiAvKiBJbnZhbGlkIE9wICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUSU5WOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDI6IC8qIERlbm9ybWFsaXplICovCi0JCWNhc2UgMHgwMTA6IC8qIFVuZGVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA0OiAvKiBaZXJvIERpdmlkZSAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA4OiAvKiBPdmVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDIwOiAvKiBQcmVjaXNpb24gKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7Ci0JCQlicmVhazsKKwljYXNlIDB4MDAwOgorCWRlZmF1bHQ6CisJCWJyZWFrOworCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVElOVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwMjogLyogRGVub3JtYWxpemUgKi8KKwljYXNlIDB4MDEwOiAvKiBVbmRlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKKwkJYnJlYWs7CisJY2FzZSAweDAwNDogLyogWmVybyBEaXZpZGUgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwODogLyogT3ZlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKKwkJYnJlYWs7CisJY2FzZSAweDAyMDogLyogUHJlY2lzaW9uICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7CisJCWJyZWFrOwogCX0KIAlmb3JjZV9zaWdfaW5mbyhTSUdGUEUsICZpbmZvLCB0YXNrKTsKIH0KQEAgLTExMTUsNyArMTExNyw3IEBACiB9CiAKIC8qCi0gKiAgJ21hdGhfc3RhdGVfcmVzdG9yZSgpJyBzYXZlcyB0aGUgY3VycmVudCBtYXRoIGluZm9ybWF0aW9uIGluIHRoZQorICogJ21hdGhfc3RhdGVfcmVzdG9yZSgpJyBzYXZlcyB0aGUgY3VycmVudCBtYXRoIGluZm9ybWF0aW9uIGluIHRoZQogICogb2xkIG1hdGggc3RhdGUgYXJyYXksIGFuZCBnZXRzIHRoZSBuZXcgb25lcyBmcm9tIHRoZSBjdXJyZW50IHRhc2sKICAqCiAgKiBDYXJlZnVsLi4gVGhlcmUgYXJlIHByb2JsZW1zIHdpdGggSUJNLWRlc2lnbmVkIElSUTEzIGJlaGF2aW91ci4KQEAgLTExNDAsNyArMTE0Miw3IEBACiAJCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAJfQogCi0JY2x0cygpOwkJCS8qIEFsbG93IG1hdGhzIG9wcyAob3Igd2UgcmVjdXJzZSkgKi8KKwljbHRzKCk7CQkJCS8qIEFsbG93IG1hdGhzIG9wcyAob3Igd2UgcmVjdXJzZSkgKi8KIAlyZXN0b3JlX2ZwdV9jaGVja2luZygmbWUtPnRocmVhZC54c3RhdGUtPmZ4c2F2ZSk7CiAJdGFza190aHJlYWRfaW5mbyhtZSktPnN0YXR1cyB8PSBUU19VU0VERlBVOwogCW1lLT5mcHVfY291bnRlcisrOwpAQCAtMTE0OSw2NCArMTE1MSw2MSBAQAogCiB2b2lkIF9faW5pdCB0cmFwX2luaXQodm9pZCkKIHsKLQlzZXRfaW50cl9nYXRlKDAsJmRpdmlkZV9lcnJvcik7Ci0Jc2V0X2ludHJfZ2F0ZV9pc3QoMSwmZGVidWcsREVCVUdfU1RBQ0spOwotCXNldF9pbnRyX2dhdGVfaXN0KDIsJm5taSxOTUlfU1RBQ0spOwotIAlzZXRfc3lzdGVtX2dhdGVfaXN0KDMsJmludDMsREVCVUdfU1RBQ0spOyAvKiBpbnQzIGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KLQlzZXRfc3lzdGVtX2dhdGUoNCwmb3ZlcmZsb3cpOwkvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KLQlzZXRfaW50cl9nYXRlKDUsJmJvdW5kcyk7Ci0Jc2V0X2ludHJfZ2F0ZSg2LCZpbnZhbGlkX29wKTsKLQlzZXRfaW50cl9nYXRlKDcsJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKLQlzZXRfaW50cl9nYXRlX2lzdCg4LCZkb3VibGVfZmF1bHQsIERPVUJMRUZBVUxUX1NUQUNLKTsKLQlzZXRfaW50cl9nYXRlKDksJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7Ci0Jc2V0X2ludHJfZ2F0ZSgxMCwmaW52YWxpZF9UU1MpOwotCXNldF9pbnRyX2dhdGUoMTEsJnNlZ21lbnRfbm90X3ByZXNlbnQpOwotCXNldF9pbnRyX2dhdGVfaXN0KDEyLCZzdGFja19zZWdtZW50LFNUQUNLRkFVTFRfU1RBQ0spOwotCXNldF9pbnRyX2dhdGUoMTMsJmdlbmVyYWxfcHJvdGVjdGlvbik7Ci0Jc2V0X2ludHJfZ2F0ZSgxNCwmcGFnZV9mYXVsdCk7Ci0Jc2V0X2ludHJfZ2F0ZSgxNSwmc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyk7Ci0Jc2V0X2ludHJfZ2F0ZSgxNiwmY29wcm9jZXNzb3JfZXJyb3IpOwotCXNldF9pbnRyX2dhdGUoMTcsJmFsaWdubWVudF9jaGVjayk7CisJc2V0X2ludHJfZ2F0ZSgwLCAmZGl2aWRlX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlX2lzdCgxLCAmZGVidWcsIERFQlVHX1NUQUNLKTsKKwlzZXRfaW50cl9nYXRlX2lzdCgyLCAmbm1pLCBOTUlfU1RBQ0spOworIAlzZXRfc3lzdGVtX2dhdGVfaXN0KDMsICZpbnQzLCBERUJVR19TVEFDSyk7IC8qIGludDMgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLworCXNldF9zeXN0ZW1fZ2F0ZSg0LCAmb3ZlcmZsb3cpOyAvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KKwlzZXRfaW50cl9nYXRlKDUsICZib3VuZHMpOworCXNldF9pbnRyX2dhdGUoNiwgJmludmFsaWRfb3ApOworCXNldF9pbnRyX2dhdGUoNywgJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKKwlzZXRfaW50cl9nYXRlX2lzdCg4LCAmZG91YmxlX2ZhdWx0LCBET1VCTEVGQVVMVF9TVEFDSyk7CisJc2V0X2ludHJfZ2F0ZSg5LCAmY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKTsKKwlzZXRfaW50cl9nYXRlKDEwLCAmaW52YWxpZF9UU1MpOworCXNldF9pbnRyX2dhdGUoMTEsICZzZWdtZW50X25vdF9wcmVzZW50KTsKKwlzZXRfaW50cl9nYXRlX2lzdCgxMiwgJnN0YWNrX3NlZ21lbnQsIFNUQUNLRkFVTFRfU1RBQ0spOworCXNldF9pbnRyX2dhdGUoMTMsICZnZW5lcmFsX3Byb3RlY3Rpb24pOworCXNldF9pbnRyX2dhdGUoMTQsICZwYWdlX2ZhdWx0KTsKKwlzZXRfaW50cl9nYXRlKDE1LCAmc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyk7CisJc2V0X2ludHJfZ2F0ZSgxNiwgJmNvcHJvY2Vzc29yX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDE3LCAmYWxpZ25tZW50X2NoZWNrKTsKICNpZmRlZiBDT05GSUdfWDg2X01DRQotCXNldF9pbnRyX2dhdGVfaXN0KDE4LCZtYWNoaW5lX2NoZWNrLCBNQ0VfU1RBQ0spOyAKKwlzZXRfaW50cl9nYXRlX2lzdCgxOCwgJm1hY2hpbmVfY2hlY2ssIE1DRV9TVEFDSyk7CiAjZW5kaWYKLQlzZXRfaW50cl9nYXRlKDE5LCZzaW1kX2NvcHJvY2Vzc29yX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDE5LCAmc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcik7CiAKICNpZmRlZiBDT05GSUdfSUEzMl9FTVVMQVRJT04KIAlzZXRfc3lzdGVtX2dhdGUoSUEzMl9TWVNDQUxMX1ZFQ1RPUiwgaWEzMl9zeXNjYWxsKTsKICNlbmRpZgotICAgICAgIAogCS8qCiAJICogaW5pdGlhbGl6ZSB0aGUgcGVyIHRocmVhZCBleHRlbmRlZCBzdGF0ZToKIAkgKi8KLSAgICAgICAgaW5pdF90aHJlYWRfeHN0YXRlKCk7CisJaW5pdF90aHJlYWRfeHN0YXRlKCk7CiAJLyoKLQkgKiBTaG91bGQgYmUgYSBiYXJyaWVyIGZvciBhbnkgZXh0ZXJuYWwgQ1BVIHN0YXRlLgorCSAqIFNob3VsZCBiZSBhIGJhcnJpZXIgZm9yIGFueSBleHRlcm5hbCBDUFUgc3RhdGU6CiAJICovCiAJY3B1X2luaXQoKTsKIH0KIAotCiBzdGF0aWMgaW50IF9faW5pdCBvb3BzX3NldHVwKGNoYXIgKnMpCi17IAorewogCWlmICghcykKIAkJcmV0dXJuIC1FSU5WQUw7CiAJaWYgKCFzdHJjbXAocywgInBhbmljIikpCiAJCXBhbmljX29uX29vcHMgPSAxOwogCXJldHVybiAwOwotfSAKK30KIGVhcmx5X3BhcmFtKCJvb3BzIiwgb29wc19zZXR1cCk7CiAKIHN0YXRpYyBpbnQgX19pbml0IGtzdGFja19zZXR1cChjaGFyICpzKQogewogCWlmICghcykKIAkJcmV0dXJuIC1FSU5WQUw7Ci0Ja3N0YWNrX2RlcHRoX3RvX3ByaW50ID0gc2ltcGxlX3N0cnRvdWwocyxOVUxMLDApOworCWtzdGFja19kZXB0aF90b19wcmludCA9IHNpbXBsZV9zdHJ0b3VsKHMsIE5VTEwsIDApOwogCXJldHVybiAwOwogfQogZWFybHlfcGFyYW0oImtzdGFjayIsIGtzdGFja19zZXR1cCk7CiAKLQogc3RhdGljIGludCBfX2luaXQgY29kZV9ieXRlc19zZXR1cChjaGFyICpzKQogewogCWNvZGVfYnl0ZXMgPSBzaW1wbGVfc3RydG91bChzLCBOVUxMLCAwKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90c2MuYyBiL2FyY2gveDg2L2tlcm5lbC90c2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzM2ZjkyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL3RzYy5jCkBAIC0wLDAgKzEsNTMzIEBACisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpX3BtdG1yLmg+CisjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKworI2luY2x1ZGUgPGFzbS9ocGV0Lmg+CisjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CisjaW5jbHVkZSA8YXNtL3ZndG9kLmg+CisjaW5jbHVkZSA8YXNtL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vZGVsYXkuaD4KKwordW5zaWduZWQgaW50IGNwdV9raHo7ICAgICAgICAgICAvKiBUU0MgY2xvY2tzIC8gdXNlYywgbm90IHVzZWQgaGVyZSAqLworRVhQT1JUX1NZTUJPTChjcHVfa2h6KTsKK3Vuc2lnbmVkIGludCB0c2Nfa2h6OworRVhQT1JUX1NZTUJPTCh0c2Nfa2h6KTsKKworLyoKKyAqIFRTQyBjYW4gYmUgdW5zdGFibGUgZHVlIHRvIGNwdWZyZXEgb3IgZHVlIHRvIHVuc3luY2VkIFRTQ3MKKyAqLworc3RhdGljIGludCB0c2NfdW5zdGFibGU7CisKKy8qIG5hdGl2ZV9zY2hlZF9jbG9jaygpIGlzIGNhbGxlZCBiZWZvcmUgdHNjX2luaXQoKSwgc28KKyAgIHdlIG11c3Qgc3RhcnQgd2l0aCB0aGUgVFNDIHNvZnQgZGlzYWJsZWQgdG8gcHJldmVudAorICAgZXJyb25lb3VzIHJkdHNjIHVzYWdlIG9uICFjcHVfaGFzX3RzYyBwcm9jZXNzb3JzICovCitzdGF0aWMgaW50IHRzY19kaXNhYmxlZCA9IC0xOworCisvKgorICogU2NoZWR1bGVyIGNsb2NrIC0gcmV0dXJucyBjdXJyZW50IHRpbWUgaW4gbmFub3NlYyB1bml0cy4KKyAqLwordTY0IG5hdGl2ZV9zY2hlZF9jbG9jayh2b2lkKQoreworCXU2NCB0aGlzX29mZnNldDsKKworCS8qCisJICogRmFsbCBiYWNrIHRvIGppZmZpZXMgaWYgdGhlcmUncyBubyBUU0MgYXZhaWxhYmxlOgorCSAqICggQnV0IG5vdGUgdGhhdCB3ZSBzdGlsbCB1c2UgaXQgaWYgdGhlIFRTQyBpcyBtYXJrZWQKKwkgKiAgIHVuc3RhYmxlLiBXZSBkbyB0aGlzIGJlY2F1c2UgdW5saWtlIFRpbWUgT2YgRGF5LAorCSAqICAgdGhlIHNjaGVkdWxlciBjbG9jayB0b2xlcmF0ZXMgc21hbGwgZXJyb3JzIGFuZCBpdCdzCisJICogICB2ZXJ5IGltcG9ydGFudCBmb3IgaXQgdG8gYmUgYXMgZmFzdCBhcyB0aGUgcGxhdGZvcm0KKwkgKiAgIGNhbiBhY2hpdmUgaXQuICkKKwkgKi8KKwlpZiAodW5saWtlbHkodHNjX2Rpc2FibGVkKSkgeworCQkvKiBObyBsb2NraW5nIGJ1dCBhIHJhcmUgd3JvbmcgdmFsdWUgaXMgbm90IGEgYmlnIGRlYWw6ICovCisJCXJldHVybiAoamlmZmllc182NCAtIElOSVRJQUxfSklGRklFUykgKiAoMTAwMDAwMDAwMCAvIEhaKTsKKwl9CisKKwkvKiByZWFkIHRoZSBUaW1lIFN0YW1wIENvdW50ZXI6ICovCisJcmR0c2NsbCh0aGlzX29mZnNldCk7CisKKwkvKiByZXR1cm4gdGhlIHZhbHVlIGluIG5zICovCisJcmV0dXJuIGN5Y2xlc18yX25zKHRoaXNfb2Zmc2V0KTsKK30KKworLyogV2UgbmVlZCB0byBkZWZpbmUgYSByZWFsIGZ1bmN0aW9uIGZvciBzY2hlZF9jbG9jaywgdG8gb3ZlcnJpZGUgdGhlCisgICB3ZWFrIGRlZmF1bHQgdmVyc2lvbiAqLworI2lmZGVmIENPTkZJR19QQVJBVklSVAordW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCit7CisJcmV0dXJuIHBhcmF2aXJ0X3NjaGVkX2Nsb2NrKCk7Cit9CisjZWxzZQordW5zaWduZWQgbG9uZyBsb25nCitzY2hlZF9jbG9jayh2b2lkKSBfX2F0dHJpYnV0ZV9fKChhbGlhcygibmF0aXZlX3NjaGVkX2Nsb2NrIikpKTsKKyNlbmRpZgorCitpbnQgY2hlY2tfdHNjX3Vuc3RhYmxlKHZvaWQpCit7CisJcmV0dXJuIHRzY191bnN0YWJsZTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNoZWNrX3RzY191bnN0YWJsZSk7CisKKyNpZmRlZiBDT05GSUdfWDg2X1RTQworaW50IF9faW5pdCBub3RzY19zZXR1cChjaGFyICpzdHIpCit7CisJcHJpbnRrKEtFUk5fV0FSTklORyAibm90c2M6IEtlcm5lbCBjb21waWxlZCB3aXRoIENPTkZJR19YODZfVFNDLCAiCisJCQkiY2Fubm90IGRpc2FibGUgVFNDIGNvbXBsZXRlbHkuXG4iKTsKKwl0c2NfZGlzYWJsZWQgPSAxOworCXJldHVybiAxOworfQorI2Vsc2UKKy8qCisgKiBkaXNhYmxlIGZsYWcgZm9yIHRzYy4gVGFrZXMgZWZmZWN0IGJ5IGNsZWFyaW5nIHRoZSBUU0MgY3B1IGZsYWcKKyAqIGluIGNwdS9jb21tb24uYworICovCitpbnQgX19pbml0IG5vdHNjX3NldHVwKGNoYXIgKnN0cikKK3sKKwlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RTQyk7CisJcmV0dXJuIDE7Cit9CisjZW5kaWYKKworX19zZXR1cCgibm90c2MiLCBub3RzY19zZXR1cCk7CisKKyNkZWZpbmUgTUFYX1JFVFJJRVMgICAgIDUKKyNkZWZpbmUgU01JX1RSRVNIT0xEICAgIDUwMDAwCisKKy8qCisgKiBSZWFkIFRTQyBhbmQgdGhlIHJlZmVyZW5jZSBjb3VudGVycy4gVGFrZSBjYXJlIG9mIFNNSSBkaXN0dXJiYW5jZQorICovCitzdGF0aWMgdTY0IF9faW5pdCB0c2NfcmVhZF9yZWZzKHU2NCAqcG0sIHU2NCAqaHBldCkKK3sKKwl1NjQgdDEsIHQyOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IE1BWF9SRVRSSUVTOyBpKyspIHsKKwkJdDEgPSBnZXRfY3ljbGVzKCk7CisJCWlmIChocGV0KQorCQkJKmhwZXQgPSBocGV0X3JlYWRsKEhQRVRfQ09VTlRFUikgJiAweEZGRkZGRkZGOworCQllbHNlCisJCQkqcG0gPSBhY3BpX3BtX3JlYWRfZWFybHkoKTsKKwkJdDIgPSBnZXRfY3ljbGVzKCk7CisJCWlmICgodDIgLSB0MSkgPCBTTUlfVFJFU0hPTEQpCisJCQlyZXR1cm4gdDI7CisJfQorCXJldHVybiBVTExPTkdfTUFYOworfQorCisvKioKKyAqIG5hdGl2ZV9jYWxpYnJhdGVfdHNjIC0gY2FsaWJyYXRlIHRoZSB0c2Mgb24gYm9vdAorICovCit1bnNpZ25lZCBsb25nIG5hdGl2ZV9jYWxpYnJhdGVfdHNjKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1NjQgdHNjMSwgdHNjMiwgdHIxLCB0cjIsIGRlbHRhLCBwbTEsIHBtMiwgaHBldDEsIGhwZXQyOworCWludCBocGV0ID0gaXNfaHBldF9lbmFibGVkKCk7CisJdW5zaWduZWQgaW50IHRzY19raHpfdmFsID0gMDsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCXRzYzEgPSB0c2NfcmVhZF9yZWZzKCZwbTEsIGhwZXQgPyAmaHBldDEgOiBOVUxMKTsKKworCW91dGIoKGluYigweDYxKSAmIH4weDAyKSB8IDB4MDEsIDB4NjEpOworCisJb3V0YigweGIwLCAweDQzKTsKKwlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgJiAweGZmLCAweDQyKTsKKwlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgPj4gOCwgMHg0Mik7CisJdHIxID0gZ2V0X2N5Y2xlcygpOworCXdoaWxlICgoaW5iKDB4NjEpICYgMHgyMCkgPT0gMCk7CisJdHIyID0gZ2V0X2N5Y2xlcygpOworCisJdHNjMiA9IHRzY19yZWFkX3JlZnMoJnBtMiwgaHBldCA/ICZocGV0MiA6IE5VTEwpOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJLyoKKwkgKiBQcmVzZXQgdGhlIHJlc3VsdCB3aXRoIHRoZSByYXcgYW5kIGluYWNjdXJhdGUgUElUCisJICogY2FsaWJyYXRpb24gdmFsdWUKKwkgKi8KKwlkZWx0YSA9ICh0cjIgLSB0cjEpOworCWRvX2RpdihkZWx0YSwgNTApOworCXRzY19raHpfdmFsID0gZGVsdGE7CisKKwkvKiBocGV0IG9yIHBtdGltZXIgYXZhaWxhYmxlID8gKi8KKwlpZiAoIWhwZXQgJiYgIXBtMSAmJiAhcG0yKSB7CisJCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUElUXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogQ2hlY2ssIHdoZXRoZXIgdGhlIHNhbXBsaW5nIHdhcyBkaXN0dXJiZWQgYnkgYW4gU01JICovCisJaWYgKHRzYzEgPT0gVUxMT05HX01BWCB8fCB0c2MyID09IFVMTE9OR19NQVgpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiVFNDIGNhbGlicmF0aW9uIGRpc3R1cmJlZCBieSBTTUksICIKKwkJCQkidXNpbmcgUElUIGNhbGlicmF0aW9uIHJlc3VsdFxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXRzYzIgPSAodHNjMiAtIHRzYzEpICogMTAwMDAwMExMOworCisJaWYgKGhwZXQpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBIUEVUXG4iKTsKKwkJaWYgKGhwZXQyIDwgaHBldDEpCisJCQlocGV0MiArPSAweDEwMDAwMDAwMFVMTDsKKwkJaHBldDIgLT0gaHBldDE7CisJCXRzYzEgPSAoKHU2NClocGV0MiAqIGhwZXRfcmVhZGwoSFBFVF9QRVJJT0QpKTsKKwkJZG9fZGl2KHRzYzEsIDEwMDAwMDApOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUE1fVElNRVJcbiIpOworCQlpZiAocG0yIDwgcG0xKQorCQkJcG0yICs9ICh1NjQpQUNQSV9QTV9PVlJSVU47CisJCXBtMiAtPSBwbTE7CisJCXRzYzEgPSBwbTIgKiAxMDAwMDAwMDAwTEw7CisJCWRvX2Rpdih0c2MxLCBQTVRNUl9USUNLU19QRVJfU0VDKTsKKwl9CisKKwlkb19kaXYodHNjMiwgdHNjMSk7CisJdHNjX2toel92YWwgPSB0c2MyOworCitvdXQ6CisJcmV0dXJuIHRzY19raHpfdmFsOworfQorCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisvKiBPbmx5IGNhbGxlZCBmcm9tIHRoZSBQb3dlcm5vdyBLNyBjcHUgZnJlcSBkcml2ZXIgKi8KK2ludCByZWNhbGlicmF0ZV9jcHVfa2h6KHZvaWQpCit7CisjaWZuZGVmIENPTkZJR19TTVAKKwl1bnNpZ25lZCBsb25nIGNwdV9raHpfb2xkID0gY3B1X2toejsKKworCWlmIChjcHVfaGFzX3RzYykgeworCQl0c2Nfa2h6ID0gY2FsaWJyYXRlX3RzYygpOworCQljcHVfa2h6ID0gdHNjX2toejsKKwkJY3B1X2RhdGEoMCkubG9vcHNfcGVyX2ppZmZ5ID0KKwkJCWNwdWZyZXFfc2NhbGUoY3B1X2RhdGEoMCkubG9vcHNfcGVyX2ppZmZ5LAorCQkJCQljcHVfa2h6X29sZCwgY3B1X2toeik7CisJCXJldHVybiAwOworCX0gZWxzZQorCQlyZXR1cm4gLUVOT0RFVjsKKyNlbHNlCisJcmV0dXJuIC1FTk9ERVY7CisjZW5kaWYKK30KKworRVhQT1JUX1NZTUJPTChyZWNhbGlicmF0ZV9jcHVfa2h6KTsKKworI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KKworLyogQWNjZWxlcmF0b3JzIGZvciBzY2hlZF9jbG9jaygpCisgKiBjb252ZXJ0IGZyb20gY3ljbGVzKDY0Yml0cykgPT4gbmFub3NlY29uZHMgKDY0Yml0cykKKyAqICBiYXNpYyBlcXVhdGlvbjoKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAvIChmcmVxIC8gbnNfcGVyX3NlYykKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqIChuc19wZXJfc2VjIC8gZnJlcSkKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqICgxMF45IC8gKGNwdV9raHogKiAxMF4zKSkKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqICgxMF42IC8gY3B1X2toeikKKyAqCisgKiAgICAgIFRoZW4gd2UgdXNlIHNjYWxpbmcgbWF0aCAoc3VnZ2VzdGVkIGJ5IGdlb3JnZUBtdmlzdGEuY29tKSB0byBnZXQ6CisgKiAgICAgICAgICAgICAgbnMgPSBjeWNsZXMgKiAoMTBeNiAqIFNDIC8gY3B1X2toeikgLyBTQworICogICAgICAgICAgICAgIG5zID0gY3ljbGVzICogY3ljMm5zX3NjYWxlIC8gU0MKKyAqCisgKiAgICAgIEFuZCBzaW5jZSBTQyBpcyBhIGNvbnN0YW50IHBvd2VyIG9mIHR3bywgd2UgY2FuIGNvbnZlcnQgdGhlIGRpdgorICogIGludG8gYSBzaGlmdC4KKyAqCisgKiAgV2UgY2FuIHVzZSBraHogZGl2aXNvciBpbnN0ZWFkIG9mIG1oeiB0byBrZWVwIGEgYmV0dGVyIHByZWNpc2lvbiwgc2luY2UKKyAqICBjeWMybnNfc2NhbGUgaXMgbGltaXRlZCB0byAxMF42ICogMl4xMCwgd2hpY2ggZml0cyBpbiAzMiBiaXRzLgorICogIChtYXRoaWV1LmRlc25veWVyc0Bwb2x5bXRsLmNhKQorICoKKyAqICAgICAgICAgICAgICAgICAgICAgIC1qb2huc3R1bEB1cy5pYm0uY29tICJtYXRoIGlzIGhhcmQsIGxldHMgZ28gc2hvcHBpbmchIgorICovCisKK0RFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7CisKK3N0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7CisJdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKKworCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOworCisJcmR0c2NsbCh0c2Nfbm93KTsKKwluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOworCisJaWYgKGNwdV9raHopCisJCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7CisKKwlzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCgwKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKKyNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEKKworLyogRnJlcXVlbmN5IHNjYWxpbmcgc3VwcG9ydC4gQWRqdXN0IHRoZSBUU0MgYmFzZWQgdGltZXIgd2hlbiB0aGUgY3B1IGZyZXF1ZW5jeQorICogY2hhbmdlcy4KKyAqCisgKiBSRUQtUEVOOiBPbiBTTVAgd2UgYXNzdW1lIGFsbCBDUFVzIHJ1biB3aXRoIHRoZSBzYW1lIGZyZXF1ZW5jeS4gIEl0J3MKKyAqIG5vdCB0aGF0IGltcG9ydGFudCBiZWNhdXNlIGN1cnJlbnQgT3B0ZXJvbiBzZXR1cHMgZG8gbm90IHN1cHBvcnQKKyAqIHNjYWxpbmcgb24gU01QIGFueXJvYWRzLgorICoKKyAqIFNob3VsZCBmaXggdXAgbGFzdF90c2MgdG9vLiBDdXJyZW50bHkgZ2V0dGltZW9mZGF5IGluIHRoZQorICogZmlyc3QgdGljayBhZnRlciB0aGUgY2hhbmdlIHdpbGwgYmUgc2xpZ2h0bHkgd3JvbmcuCisgKi8KKworc3RhdGljIHVuc2lnbmVkIGludCAgcmVmX2ZyZXE7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb29wc19wZXJfamlmZnlfcmVmOworc3RhdGljIHVuc2lnbmVkIGxvbmcgdHNjX2toel9yZWY7CisKK3N0YXRpYyBpbnQgdGltZV9jcHVmcmVxX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLAorCQkJCXZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNwdWZyZXFfZnJlcXMgKmZyZXEgPSBkYXRhOworCXVuc2lnbmVkIGxvbmcgKmxwaiwgZHVtbXk7CisKKwlpZiAoY3B1X2hhcygmY3B1X2RhdGEoZnJlcS0+Y3B1KSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKKwkJcmV0dXJuIDA7CisKKwlscGogPSAmZHVtbXk7CisJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKKyNpZmRlZiBDT05GSUdfU01QCisJCWxwaiA9ICZjcHVfZGF0YShmcmVxLT5jcHUpLmxvb3BzX3Blcl9qaWZmeTsKKyNlbHNlCisJbHBqID0gJmJvb3RfY3B1X2RhdGEubG9vcHNfcGVyX2ppZmZ5OworI2VuZGlmCisKKwlpZiAoIXJlZl9mcmVxKSB7CisJCXJlZl9mcmVxID0gZnJlcS0+b2xkOworCQlsb29wc19wZXJfamlmZnlfcmVmID0gKmxwajsKKwkJdHNjX2toel9yZWYgPSB0c2Nfa2h6OworCX0KKwlpZiAoKHZhbCA9PSBDUFVGUkVRX1BSRUNIQU5HRSAgJiYgZnJlcS0+b2xkIDwgZnJlcS0+bmV3KSB8fAorCQkJKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAorCQkJKHZhbCA9PSBDUFVGUkVRX1JFU1VNRUNIQU5HRSkpIHsKKwkJKmxwaiA9IAljcHVmcmVxX3NjYWxlKGxvb3BzX3Blcl9qaWZmeV9yZWYsIHJlZl9mcmVxLCBmcmVxLT5uZXcpOworCisJCXRzY19raHogPSBjcHVmcmVxX3NjYWxlKHRzY19raHpfcmVmLCByZWZfZnJlcSwgZnJlcS0+bmV3KTsKKwkJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKKwkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJjcHVmcmVxIGNoYW5nZXMiKTsKKwl9CisKKwlzZXRfY3ljMm5zX3NjYWxlKHRzY19raHpfcmVmLCBmcmVxLT5jcHUpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrID0geworCS5ub3RpZmllcl9jYWxsICA9IHRpbWVfY3B1ZnJlcV9ub3RpZmllcgorfTsKKworc3RhdGljIGludCBfX2luaXQgY3B1ZnJlcV90c2Modm9pZCkKK3sKKwljcHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCZ0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2ssCisJCQkJQ1BVRlJFUV9UUkFOU0lUSU9OX05PVElGSUVSKTsKKwlyZXR1cm4gMDsKK30KKworY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7CisKKyNlbmRpZiAvKiBDT05GSUdfQ1BVX0ZSRVEgKi8KKworLyogY2xvY2tzb3VyY2UgY29kZSAqLworCitzdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYzsKKworLyoKKyAqIFdlIGNvbXBhcmUgdGhlIFRTQyB0byB0aGUgY3ljbGVfbGFzdCB2YWx1ZSBpbiB0aGUgY2xvY2tzb3VyY2UKKyAqIHN0cnVjdHVyZSB0byBhdm9pZCBhIG5hc3R5IHRpbWUtd2FycC4gVGhpcyBjYW4gYmUgb2JzZXJ2ZWQgaW4gYQorICogdmVyeSBzbWFsbCB3aW5kb3cgcmlnaHQgYWZ0ZXIgb25lIENQVSB1cGRhdGVkIGN5Y2xlX2xhc3QgdW5kZXIKKyAqIHh0aW1lL3ZzeXNjYWxsX2d0b2QgbG9jayBhbmQgdGhlIG90aGVyIENQVSByZWFkcyBhIFRTQyB2YWx1ZSB3aGljaAorICogaXMgc21hbGxlciB0aGFuIHRoZSBjeWNsZV9sYXN0IHJlZmVyZW5jZSB2YWx1ZSBkdWUgdG8gYSBUU0Mgd2hpY2gKKyAqIGlzIHNsaWdodHkgYmVoaW5kLiBUaGlzIGRlbHRhIGlzIG5vd2hlcmUgZWxzZSBvYnNlcnZhYmxlLCBidXQgaW4KKyAqIHRoYXQgY2FzZSBpdCByZXN1bHRzIGluIGEgZm9yd2FyZCB0aW1lIGp1bXAgaW4gdGhlIHJhbmdlIG9mIGhvdXJzCisgKiBkdWUgdG8gdGhlIHVuc2lnbmVkIGRlbHRhIGNhbGN1bGF0aW9uIG9mIHRoZSB0aW1lIGtlZXBpbmcgY29yZQorICogY29kZSwgd2hpY2ggaXMgbmVjZXNzYXJ5IHRvIHN1cHBvcnQgd3JhcHBpbmcgY2xvY2tzb3VyY2VzIGxpa2UgcG0KKyAqIHRpbWVyLgorICovCitzdGF0aWMgY3ljbGVfdCByZWFkX3RzYyh2b2lkKQoreworCWN5Y2xlX3QgcmV0ID0gKGN5Y2xlX3QpZ2V0X2N5Y2xlcygpOworCisJcmV0dXJuIHJldCA+PSBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdCA/CisJCXJldCA6IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0OworfQorCitzdGF0aWMgY3ljbGVfdCBfX3ZzeXNjYWxsX2ZuIHZyZWFkX3RzYyh2b2lkKQoreworCWN5Y2xlX3QgcmV0ID0gKGN5Y2xlX3QpdmdldF9jeWNsZXMoKTsKKworCXJldHVybiByZXQgPj0gX192c3lzY2FsbF9ndG9kX2RhdGEuY2xvY2suY3ljbGVfbGFzdCA/CisJCXJldCA6IF9fdnN5c2NhbGxfZ3RvZF9kYXRhLmNsb2NrLmN5Y2xlX2xhc3Q7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfdHNjID0geworCS5uYW1lICAgICAgICAgICAgICAgICAgID0gInRzYyIsCisJLnJhdGluZyAgICAgICAgICAgICAgICAgPSAzMDAsCisJLnJlYWQgICAgICAgICAgICAgICAgICAgPSByZWFkX3RzYywKKwkubWFzayAgICAgICAgICAgICAgICAgICA9IENMT0NLU09VUkNFX01BU0soNjQpLAorCS5zaGlmdCAgICAgICAgICAgICAgICAgID0gMjIsCisJLmZsYWdzICAgICAgICAgICAgICAgICAgPSBDTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUyB8CisJCQkJICBDTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlksCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS52cmVhZCAgICAgICAgICAgICAgICAgID0gdnJlYWRfdHNjLAorI2VuZGlmCit9OworCit2b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbikKK3sKKwlpZiAoIXRzY191bnN0YWJsZSkgeworCQl0c2NfdW5zdGFibGUgPSAxOworCQlwcmludGsoIk1hcmtpbmcgVFNDIHVuc3RhYmxlIGR1ZSB0byAlc1xuIiwgcmVhc29uKTsKKwkJLyogQ2hhbmdlIG9ubHkgdGhlIHJhdGluZywgd2hlbiBub3QgcmVnaXN0ZXJlZCAqLworCQlpZiAoY2xvY2tzb3VyY2VfdHNjLm11bHQpCisJCQljbG9ja3NvdXJjZV9jaGFuZ2VfcmF0aW5nKCZjbG9ja3NvdXJjZV90c2MsIDApOworCQllbHNlCisJCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKKwl9Cit9CisKK0VYUE9SVF9TWU1CT0xfR1BMKG1hcmtfdHNjX3Vuc3RhYmxlKTsKKworc3RhdGljIGludCBfX2luaXQgZG1pX21hcmtfdHNjX3Vuc3RhYmxlKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQoreworCXByaW50ayhLRVJOX05PVElDRSAiJXMgZGV0ZWN0ZWQ6IG1hcmtpbmcgVFNDIHVuc3RhYmxlLlxuIiwKKwkJCWQtPmlkZW50KTsKKwl0c2NfdW5zdGFibGUgPSAxOworCXJldHVybiAwOworfQorCisvKiBMaXN0IG9mIHN5c3RlbXMgdGhhdCBoYXZlIGtub3duIFRTQyBwcm9ibGVtcyAqLworc3RhdGljIHN0cnVjdCBkbWlfc3lzdGVtX2lkIF9faW5pdGRhdGEgYmFkX3RzY19kbWlfdGFibGVbXSA9IHsKKwl7CisJCS5jYWxsYmFjayA9IGRtaV9tYXJrX3RzY191bnN0YWJsZSwKKwkJLmlkZW50ID0gIklCTSBUaGlua3BhZCAzODBYRCIsCisJCS5tYXRjaGVzID0geworCQkJRE1JX01BVENIKERNSV9CT0FSRF9WRU5ET1IsICJJQk0iKSwKKwkJCURNSV9NQVRDSChETUlfQk9BUkRfTkFNRSwgIjI2MzVGQTAiKSwKKwkJfSwKKwl9LAorCXt9Cit9OworCisvKgorICogR2VvZGVfTFggLSB0aGUgT0xQQyBDUFUgaGFzIGEgcG9zc2libHkgYSB2ZXJ5IHJlbGlhYmxlIFRTQworICovCisjaWZkZWYgQ09ORklHX01HRU9ERV9MWAorLyogUlRTQyBjb3VudHMgZHVyaW5nIHN1c3BlbmQgKi8KKyNkZWZpbmUgUlRTQ19TVVNQIDB4MTAwCisKK3N0YXRpYyB2b2lkIF9faW5pdCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIHJlc19sb3csIHJlc19oaWdoOworCisJcmRtc3Jfc2FmZShNU1JfR0VPREVfQlVTQ09OVF9DT05GMCwgJnJlc19sb3csICZyZXNfaGlnaCk7CisJaWYgKHJlc19sb3cgJiBSVFNDX1NVU1ApCisJCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkgeyB9CisjZW5kaWYKKworLyoKKyAqIE1ha2UgYW4gZWR1Y2F0ZWQgZ3Vlc3MgaWYgdGhlIFRTQyBpcyB0cnVzdHdvcnRoeSBhbmQgc3luY2hyb25pemVkCisgKiBvdmVyIGFsbCBDUFVzLgorICovCitfX2NwdWluaXQgaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKQoreworCWlmICghY3B1X2hhc190c2MgfHwgdHNjX3Vuc3RhYmxlKQorCQlyZXR1cm4gMTsKKworI2lmZGVmIENPTkZJR19TTVAKKwlpZiAoYXBpY19pc19jbHVzdGVyZWRfYm94KCkpCisJCXJldHVybiAxOworI2VuZGlmCisKKwlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCisJCXJldHVybiAwOworCS8qCisJICogSW50ZWwgc3lzdGVtcyBhcmUgbm9ybWFsbHkgYWxsIHN5bmNocm9uaXplZC4KKwkgKiBFeGNlcHRpb25zIG11c3QgbWFyayBUU0MgYXMgdW5zdGFibGU6CisJICovCisJaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0lOVEVMKSB7CisJCS8qIGFzc3VtZSBtdWx0aSBzb2NrZXQgc3lzdGVtcyBhcmUgbm90IHN5bmNocm9uaXplZDogKi8KKwkJaWYgKG51bV9wb3NzaWJsZV9jcHVzKCkgPiAxKQorCQkJdHNjX3Vuc3RhYmxlID0gMTsKKwl9CisKKwlyZXR1cm4gdHNjX3Vuc3RhYmxlOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF90c2NfY2xvY2tzb3VyY2Uodm9pZCkKK3sKKwljbG9ja3NvdXJjZV90c2MubXVsdCA9IGNsb2Nrc291cmNlX2toejJtdWx0KHRzY19raHosCisJCQljbG9ja3NvdXJjZV90c2Muc2hpZnQpOworCS8qIGxvd2VyIHRoZSByYXRpbmcgaWYgd2UgYWxyZWFkeSBrbm93IGl0cyB1bnN0YWJsZTogKi8KKwlpZiAoY2hlY2tfdHNjX3Vuc3RhYmxlKCkpIHsKKwkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7CisJCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVM7CisJfQorCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV90c2MpOworfQorCit2b2lkIF9faW5pdCB0c2NfaW5pdCh2b2lkKQoreworCXU2NCBscGo7CisJaW50IGNwdTsKKworCWlmICghY3B1X2hhc190c2MpCisJCXJldHVybjsKKworCXRzY19raHogPSBjYWxpYnJhdGVfdHNjKCk7CisJY3B1X2toeiA9IHRzY19raHo7CisKKwlpZiAoIXRzY19raHopIHsKKwkJbWFya190c2NfdW5zdGFibGUoImNvdWxkIG5vdCBjYWxjdWxhdGUgVFNDIGtoeiIpOworCQlyZXR1cm47CisJfQorCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChjcHVfaGFzKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpICYmCisJCQkoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSkKKwkJY3B1X2toeiA9IGNhbGlicmF0ZV9jcHUoKTsKKyNlbmRpZgorCisJbHBqID0gKCh1NjQpdHNjX2toeiAqIDEwMDApOworCWRvX2RpdihscGosIEhaKTsKKwlscGpfZmluZSA9IGxwajsKKworCXByaW50aygiRGV0ZWN0ZWQgJWx1LiUwM2x1IE1IeiBwcm9jZXNzb3IuXG4iLAorCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAvIDEwMDAsCisJCQkodW5zaWduZWQgbG9uZyljcHVfa2h6ICUgMTAwMCk7CisKKwkvKgorCSAqIFNlY29uZGFyeSBDUFVzIGRvIG5vdCBydW4gdGhyb3VnaCB0c2NfaW5pdCgpLCBzbyBzZXQgdXAKKwkgKiBhbGwgdGhlIHNjYWxlIGZhY3RvcnMgZm9yIGFsbCBDUFVzLCBhc3N1bWluZyB0aGUgc2FtZQorCSAqIHNwZWVkIGFzIHRoZSBib290dXAgQ1BVLiAoY3B1ZnJlcSBub3RpZmllcnMgd2lsbCBmaXggdGhpcworCSAqIHVwIGlmIHRoZWlyIHNwZWVkIGRpdmVyZ2VzKQorCSAqLworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpCisJCXNldF9jeWMybnNfc2NhbGUoY3B1X2toeiwgY3B1KTsKKworCWlmICh0c2NfZGlzYWJsZWQgPiAwKQorCQlyZXR1cm47CisKKwkvKiBub3cgYWxsb3cgbmF0aXZlX3NjaGVkX2Nsb2NrKCkgdG8gdXNlIHJkdHNjICovCisJdHNjX2Rpc2FibGVkID0gMDsKKworCXVzZV90c2NfZGVsYXkoKTsKKwkvKiBDaGVjayBhbmQgaW5zdGFsbCB0aGUgVFNDIGNsb2Nrc291cmNlICovCisJZG1pX2NoZWNrX3N5c3RlbShiYWRfdHNjX2RtaV90YWJsZSk7CisKKwlpZiAodW5zeW5jaHJvbml6ZWRfdHNjKCkpCisJCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0NzIHVuc3luY2hyb25pemVkIik7CisKKwljaGVja19nZW9kZV90c2NfcmVsaWFibGUoKTsKKwlpbml0X3RzY19jbG9ja3NvdXJjZSgpOworfQorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHNjXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHNjXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YjcwNjMuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3RzY18zMi5jCisrKyAvZGV2L251bGwKQEAgLTEsNDUxICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+Ci0jaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+Ci0jaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgotI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZG1pLmg+Ci0jaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+Ci0KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vdHNjLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWVyLmg+Ci0KLSNpbmNsdWRlICJtYWNoX3RpbWVyLmgiCi0KLS8qIG5hdGl2ZV9zY2hlZF9jbG9jaygpIGlzIGNhbGxlZCBiZWZvcmUgdHNjX2luaXQoKSwgc28KLSAgIHdlIG11c3Qgc3RhcnQgd2l0aCB0aGUgVFNDIHNvZnQgZGlzYWJsZWQgdG8gcHJldmVudAotICAgZXJyb25lb3VzIHJkdHNjIHVzYWdlIG9uICFjcHVfaGFzX3RzYyBwcm9jZXNzb3JzICovCi1zdGF0aWMgaW50IHRzY19kaXNhYmxlZCA9IC0xOwotCi0vKgotICogT24gc29tZSBzeXN0ZW1zIHRoZSBUU0MgZnJlcXVlbmN5IGRvZXMgbm90Ci0gKiBjaGFuZ2Ugd2l0aCB0aGUgY3B1IGZyZXF1ZW5jeS4gU28gd2UgbmVlZAotICogYW4gZXh0cmEgdmFsdWUgdG8gc3RvcmUgdGhlIFRTQyBmcmVxCi0gKi8KLXVuc2lnbmVkIGludCB0c2Nfa2h6OwotRVhQT1JUX1NZTUJPTF9HUEwodHNjX2toeik7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X1RTQwotc3RhdGljIGludCBfX2luaXQgdHNjX3NldHVwKGNoYXIgKnN0cikKLXsKLQlwcmludGsoS0VSTl9XQVJOSU5HICJub3RzYzogS2VybmVsIGNvbXBpbGVkIHdpdGggQ09ORklHX1g4Nl9UU0MsICIKLQkgICAgICAgImNhbm5vdCBkaXNhYmxlIFRTQyBjb21wbGV0ZWx5LlxuIik7Ci0JdHNjX2Rpc2FibGVkID0gMTsKLQlyZXR1cm4gMTsKLX0KLSNlbHNlCi0vKgotICogZGlzYWJsZSBmbGFnIGZvciB0c2MuIFRha2VzIGVmZmVjdCBieSBjbGVhcmluZyB0aGUgVFNDIGNwdSBmbGFnCi0gKiBpbiBjcHUvY29tbW9uLmMKLSAqLwotc3RhdGljIGludCBfX2luaXQgdHNjX3NldHVwKGNoYXIgKnN0cikKLXsKLQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RTQyk7Ci0JcmV0dXJuIDE7Ci19Ci0jZW5kaWYKLQotX19zZXR1cCgibm90c2MiLCB0c2Nfc2V0dXApOwotCi0vKgotICogY29kZSB0byBtYXJrIGFuZCBjaGVjayBpZiB0aGUgVFNDIGlzIHVuc3RhYmxlCi0gKiBkdWUgdG8gY3B1ZnJlcSBvciBkdWUgdG8gdW5zeW5jZWQgVFNDcwotICovCi1zdGF0aWMgaW50IHRzY191bnN0YWJsZTsKLQotaW50IGNoZWNrX3RzY191bnN0YWJsZSh2b2lkKQotewotCXJldHVybiB0c2NfdW5zdGFibGU7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChjaGVja190c2NfdW5zdGFibGUpOwotCi0vKiBBY2NlbGVyYXRvcnMgZm9yIHNjaGVkX2Nsb2NrKCkKLSAqIGNvbnZlcnQgZnJvbSBjeWNsZXMoNjRiaXRzKSA9PiBuYW5vc2Vjb25kcyAoNjRiaXRzKQotICogIGJhc2ljIGVxdWF0aW9uOgotICoJCW5zID0gY3ljbGVzIC8gKGZyZXEgLyBuc19wZXJfc2VjKQotICoJCW5zID0gY3ljbGVzICogKG5zX3Blcl9zZWMgLyBmcmVxKQotICoJCW5zID0gY3ljbGVzICogKDEwXjkgLyAoY3B1X2toeiAqIDEwXjMpKQotICoJCW5zID0gY3ljbGVzICogKDEwXjYgLyBjcHVfa2h6KQotICoKLSAqCVRoZW4gd2UgdXNlIHNjYWxpbmcgbWF0aCAoc3VnZ2VzdGVkIGJ5IGdlb3JnZUBtdmlzdGEuY29tKSB0byBnZXQ6Ci0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeNiAqIFNDIC8gY3B1X2toeikgLyBTQwotICoJCW5zID0gY3ljbGVzICogY3ljMm5zX3NjYWxlIC8gU0MKLSAqCi0gKglBbmQgc2luY2UgU0MgaXMgYSBjb25zdGFudCBwb3dlciBvZiB0d28sIHdlIGNhbiBjb252ZXJ0IHRoZSBkaXYKLSAqICBpbnRvIGEgc2hpZnQuCi0gKgotICogIFdlIGNhbiB1c2Uga2h6IGRpdmlzb3IgaW5zdGVhZCBvZiBtaHogdG8ga2VlcCBhIGJldHRlciBwcmVjaXNpb24sIHNpbmNlCi0gKiAgY3ljMm5zX3NjYWxlIGlzIGxpbWl0ZWQgdG8gMTBeNiAqIDJeMTAsIHdoaWNoIGZpdHMgaW4gMzIgYml0cy4KLSAqICAobWF0aGlldS5kZXNub3llcnNAcG9seW10bC5jYSkKLSAqCi0gKgkJCS1qb2huc3R1bEB1cy5pYm0uY29tICJtYXRoIGlzIGhhcmQsIGxldHMgZ28gc2hvcHBpbmchIgotICovCi0KLURFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7Ci0KLXN0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKLQotCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOwotCi0JcmR0c2NsbCh0c2Nfbm93KTsKLQluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOwotCi0JaWYgKGNwdV9raHopCi0JCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7Ci0KLQkvKgotCSAqIFN0YXJ0IHNtb290aGx5IHdpdGggdGhlIG5ldyBmcmVxdWVuY3k6Ci0JICovCi0Jc2NoZWRfY2xvY2tfaWRsZV93YWtldXBfZXZlbnQoMCk7Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotfQotCi0vKgotICogU2NoZWR1bGVyIGNsb2NrIC0gcmV0dXJucyBjdXJyZW50IHRpbWUgaW4gbmFub3NlYyB1bml0cy4KLSAqLwotdW5zaWduZWQgbG9uZyBsb25nIG5hdGl2ZV9zY2hlZF9jbG9jayh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0aGlzX29mZnNldDsKLQotCS8qCi0JICogRmFsbCBiYWNrIHRvIGppZmZpZXMgaWYgdGhlcmUncyBubyBUU0MgYXZhaWxhYmxlOgotCSAqICggQnV0IG5vdGUgdGhhdCB3ZSBzdGlsbCB1c2UgaXQgaWYgdGhlIFRTQyBpcyBtYXJrZWQKLQkgKiAgIHVuc3RhYmxlLiBXZSBkbyB0aGlzIGJlY2F1c2UgdW5saWtlIFRpbWUgT2YgRGF5LAotCSAqICAgdGhlIHNjaGVkdWxlciBjbG9jayB0b2xlcmF0ZXMgc21hbGwgZXJyb3JzIGFuZCBpdCdzCi0JICogICB2ZXJ5IGltcG9ydGFudCBmb3IgaXQgdG8gYmUgYXMgZmFzdCBhcyB0aGUgcGxhdGZvcm0KLQkgKiAgIGNhbiBhY2hpdmUgaXQuICkKLQkgKi8KLQlpZiAodW5saWtlbHkodHNjX2Rpc2FibGVkKSkKLQkJLyogTm8gbG9ja2luZyBidXQgYSByYXJlIHdyb25nIHZhbHVlIGlzIG5vdCBhIGJpZyBkZWFsOiAqLwotCQlyZXR1cm4gKGppZmZpZXNfNjQgLSBJTklUSUFMX0pJRkZJRVMpICogKDEwMDAwMDAwMDAgLyBIWik7Ci0KLQkvKiByZWFkIHRoZSBUaW1lIFN0YW1wIENvdW50ZXI6ICovCi0JcmR0c2NsbCh0aGlzX29mZnNldCk7Ci0KLQkvKiByZXR1cm4gdGhlIHZhbHVlIGluIG5zICovCi0JcmV0dXJuIGN5Y2xlc18yX25zKHRoaXNfb2Zmc2V0KTsKLX0KLQotLyogV2UgbmVlZCB0byBkZWZpbmUgYSByZWFsIGZ1bmN0aW9uIGZvciBzY2hlZF9jbG9jaywgdG8gb3ZlcnJpZGUgdGhlCi0gICB3ZWFrIGRlZmF1bHQgdmVyc2lvbiAqLwotI2lmZGVmIENPTkZJR19QQVJBVklSVAotdW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCi17Ci0JcmV0dXJuIHBhcmF2aXJ0X3NjaGVkX2Nsb2NrKCk7Ci19Ci0jZWxzZQotdW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCi0JX19hdHRyaWJ1dGVfXygoYWxpYXMoIm5hdGl2ZV9zY2hlZF9jbG9jayIpKSk7Ci0jZW5kaWYKLQotdW5zaWduZWQgbG9uZyBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHoodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsIGVuZDsKLQl1bnNpZ25lZCBsb25nIGNvdW50OwotCXU2NCBkZWx0YTY0ID0gKHU2NClVTExPTkdfTUFYOwotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0KLQkvKiBydW4gMyB0aW1lcyB0byBlbnN1cmUgdGhlIGNhY2hlIGlzIHdhcm0gYW5kIHRvIGdldCBhbiBhY2N1cmF0ZSByZWFkaW5nICovCi0JZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewotCQltYWNoX3ByZXBhcmVfY291bnRlcigpOwotCQlyZHRzY2xsKHN0YXJ0KTsKLQkJbWFjaF9jb3VudHVwKCZjb3VudCk7Ci0JCXJkdHNjbGwoZW5kKTsKLQotCQkvKgotCQkgKiBFcnJvcjogRUNUQ05FVkVSU0VUCi0JCSAqIFRoZSBDVEMgd2Fzbid0IHJlbGlhYmxlOiB3ZSBnb3QgYSBoaXQgb24gdGhlIHZlcnkgZmlyc3QgcmVhZCwKLQkJICogb3IgdGhlIENQVSB3YXMgc28gZmFzdC9zbG93IHRoYXQgdGhlIHF1b3RpZW50IHdvdWxkbid0IGZpdCBpbgotCQkgKiAzMiBiaXRzLi4KLQkJICovCi0JCWlmIChjb3VudCA8PSAxKQotCQkJY29udGludWU7Ci0KLQkJLyogY3B1IGZyZXEgdG9vIHNsb3c6ICovCi0JCWlmICgoZW5kIC0gc3RhcnQpIDw9IENBTElCUkFURV9USU1FX01TRUMpCi0JCQljb250aW51ZTsKLQotCQkvKgotCQkgKiBXZSB3YW50IHRoZSBtaW5pbXVtIHRpbWUgb2YgYWxsIHJ1bnMgaW4gY2FzZSBvbmUgb2YgdGhlbQotCQkgKiBpcyBpbmFjY3VyYXRlIGR1ZSB0byBTTUkgb3Igb3RoZXIgZGVsYXkKLQkJICovCi0JCWRlbHRhNjQgPSBtaW4oZGVsdGE2NCwgKGVuZCAtIHN0YXJ0KSk7Ci0JfQotCi0JLyogY3B1IGZyZXEgdG9vIGZhc3QgKG9yIGV2ZXJ5IHJ1biB3YXMgYmFkKTogKi8KLQlpZiAoZGVsdGE2NCA+ICgxVUxMPDwzMikpCi0JCWdvdG8gZXJyOwotCi0JZGVsdGE2NCArPSBDQUxJQlJBVEVfVElNRV9NU0VDLzI7IC8qIHJvdW5kIGZvciBkb19kaXYgKi8KLQlkb19kaXYoZGVsdGE2NCxDQUxJQlJBVEVfVElNRV9NU0VDKTsKLQotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpZGVsdGE2NDsKLWVycjoKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLWludCByZWNhbGlicmF0ZV9jcHVfa2h6KHZvaWQpCi17Ci0jaWZuZGVmIENPTkZJR19TTVAKLQl1bnNpZ25lZCBsb25nIGNwdV9raHpfb2xkID0gY3B1X2toejsKLQotCWlmIChjcHVfaGFzX3RzYykgewotCQljcHVfa2h6ID0gY2FsY3VsYXRlX2NwdV9raHooKTsKLQkJdHNjX2toeiA9IGNwdV9raHo7Ci0JCWNwdV9kYXRhKDApLmxvb3BzX3Blcl9qaWZmeSA9Ci0JCQljcHVmcmVxX3NjYWxlKGNwdV9kYXRhKDApLmxvb3BzX3Blcl9qaWZmeSwKLQkJCQkJY3B1X2toel9vbGQsIGNwdV9raHopOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UKLQkJcmV0dXJuIC1FTk9ERVY7Ci0jZWxzZQotCXJldHVybiAtRU5PREVWOwotI2VuZGlmCi19Ci0KLUVYUE9SVF9TWU1CT0wocmVjYWxpYnJhdGVfY3B1X2toeik7Ci0KLSNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEKLQotLyoKLSAqIGlmIHRoZSBDUFUgZnJlcXVlbmN5IGlzIHNjYWxlZCwgVFNDLWJhc2VkIGRlbGF5cyB3aWxsIG5lZWQgYSBkaWZmZXJlbnQKLSAqIGxvb3BzX3Blcl9qaWZmeSB2YWx1ZSB0byBmdW5jdGlvbiBwcm9wZXJseS4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGludCByZWZfZnJlcTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvb3BzX3Blcl9qaWZmeV9yZWY7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfa2h6X3JlZjsKLQotc3RhdGljIGludAotdGltZV9jcHVmcmVxX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLCB2b2lkICpkYXRhKQotewotCXN0cnVjdCBjcHVmcmVxX2ZyZXFzICpmcmVxID0gZGF0YTsKLQotCWlmICghcmVmX2ZyZXEpIHsKLQkJaWYgKCFmcmVxLT5vbGQpewotCQkJcmVmX2ZyZXEgPSBmcmVxLT5uZXc7Ci0JCQlyZXR1cm4gMDsKLQkJfQotCQlyZWZfZnJlcSA9IGZyZXEtPm9sZDsKLQkJbG9vcHNfcGVyX2ppZmZ5X3JlZiA9IGNwdV9kYXRhKGZyZXEtPmNwdSkubG9vcHNfcGVyX2ppZmZ5OwotCQljcHVfa2h6X3JlZiA9IGNwdV9raHo7Ci0JfQotCi0JaWYgKCh2YWwgPT0gQ1BVRlJFUV9QUkVDSEFOR0UgICYmIGZyZXEtPm9sZCA8IGZyZXEtPm5ldykgfHwKLQkgICAgKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAotCSAgICAodmFsID09IENQVUZSRVFfUkVTVU1FQ0hBTkdFKSkgewotCQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKQotCQkJY3B1X2RhdGEoZnJlcS0+Y3B1KS5sb29wc19wZXJfamlmZnkgPQotCQkJCWNwdWZyZXFfc2NhbGUobG9vcHNfcGVyX2ppZmZ5X3JlZiwKLQkJCQkJCXJlZl9mcmVxLCBmcmVxLT5uZXcpOwotCi0JCWlmIChjcHVfa2h6KSB7Ci0KLQkJCWlmIChudW1fb25saW5lX2NwdXMoKSA9PSAxKQotCQkJCWNwdV9raHogPSBjcHVmcmVxX3NjYWxlKGNwdV9raHpfcmVmLAotCQkJCQkJcmVmX2ZyZXEsIGZyZXEtPm5ldyk7Ci0JCQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKSB7Ci0JCQkJdHNjX2toeiA9IGNwdV9raHo7Ci0JCQkJc2V0X2N5YzJuc19zY2FsZShjcHVfa2h6LCBmcmVxLT5jcHUpOwotCQkJCS8qCi0JCQkJICogVFNDIGJhc2VkIHNjaGVkX2Nsb2NrIHR1cm5zCi0JCQkJICogdG8ganVuayB3LyBjcHVmcmVxCi0JCQkJICovCi0JCQkJbWFya190c2NfdW5zdGFibGUoImNwdWZyZXEgY2hhbmdlcyIpOwotCQkJfQotCQl9Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrID0gewotCS5ub3RpZmllcl9jYWxsCT0gdGltZV9jcHVmcmVxX25vdGlmaWVyCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBjcHVmcmVxX3RzYyh2b2lkKQotewotCXJldHVybiBjcHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCZ0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2ssCi0JCQkJCSBDUFVGUkVRX1RSQU5TSVRJT05fTk9USUZJRVIpOwotfQotY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7Ci0KLSNlbmRpZgotCi0vKiBjbG9jayBzb3VyY2UgY29kZSAqLwotCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBjdXJyZW50X3RzY19raHo7Ci1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYzsKLQotLyoKLSAqIFdlIGNvbXBhcmUgdGhlIFRTQyB0byB0aGUgY3ljbGVfbGFzdCB2YWx1ZSBpbiB0aGUgY2xvY2tzb3VyY2UKLSAqIHN0cnVjdHVyZSB0byBhdm9pZCBhIG5hc3R5IHRpbWUtd2FycCBpc3N1ZS4gVGhpcyBjYW4gYmUgb2JzZXJ2ZWQgaW4KLSAqIGEgdmVyeSBzbWFsbCB3aW5kb3cgcmlnaHQgYWZ0ZXIgb25lIENQVSB1cGRhdGVkIGN5Y2xlX2xhc3QgdW5kZXIKLSAqIHh0aW1lIGxvY2sgYW5kIHRoZSBvdGhlciBDUFUgcmVhZHMgYSBUU0MgdmFsdWUgd2hpY2ggaXMgc21hbGxlcgotICogdGhhbiB0aGUgY3ljbGVfbGFzdCByZWZlcmVuY2UgdmFsdWUgZHVlIHRvIGEgVFNDIHdoaWNoIGlzIHNsaWdodHkKLSAqIGJlaGluZC4gVGhpcyBkZWx0YSBpcyBub3doZXJlIGVsc2Ugb2JzZXJ2YWJsZSwgYnV0IGluIHRoYXQgY2FzZSBpdAotICogcmVzdWx0cyBpbiBhIGZvcndhcmQgdGltZSBqdW1wIGluIHRoZSByYW5nZSBvZiBob3VycyBkdWUgdG8gdGhlCi0gKiB1bnNpZ25lZCBkZWx0YSBjYWxjdWxhdGlvbiBvZiB0aGUgdGltZSBrZWVwaW5nIGNvcmUgY29kZSwgd2hpY2ggaXMKLSAqIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHdyYXBwaW5nIGNsb2Nrc291cmNlcyBsaWtlIHBtIHRpbWVyLgotICovCi1zdGF0aWMgY3ljbGVfdCByZWFkX3RzYyh2b2lkKQotewotCWN5Y2xlX3QgcmV0OwotCi0JcmR0c2NsbChyZXQpOwotCi0JcmV0dXJuIHJldCA+PSBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdCA/Ci0JCXJldCA6IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0OwotfQotCi1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYyA9IHsKLQkubmFtZQkJCT0gInRzYyIsCi0JLnJhdGluZwkJCT0gMzAwLAotCS5yZWFkCQkJPSByZWFkX3RzYywKLQkubWFzawkJCT0gQ0xPQ0tTT1VSQ0VfTUFTSyg2NCksCi0JLm11bHQJCQk9IDAsIC8qIHRvIGJlIHNldCAqLwotCS5zaGlmdAkJCT0gMjIsCi0JLmZsYWdzCQkJPSBDTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUyB8Ci0JCQkJICBDTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlksCi19OwotCi12b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbikKLXsKLQlpZiAoIXRzY191bnN0YWJsZSkgewotCQl0c2NfdW5zdGFibGUgPSAxOwotCQlwcmludGsoIk1hcmtpbmcgVFNDIHVuc3RhYmxlIGR1ZSB0bzogJXMuXG4iLCByZWFzb24pOwotCQkvKiBDYW4gYmUgY2FsbGVkIGJlZm9yZSByZWdpc3RyYXRpb24gKi8KLQkJaWYgKGNsb2Nrc291cmNlX3RzYy5tdWx0KQotCQkJY2xvY2tzb3VyY2VfY2hhbmdlX3JhdGluZygmY2xvY2tzb3VyY2VfdHNjLCAwKTsKLQkJZWxzZQotCQkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7Ci0JfQotfQotRVhQT1JUX1NZTUJPTF9HUEwobWFya190c2NfdW5zdGFibGUpOwotCi1zdGF0aWMgaW50IF9faW5pdCBkbWlfbWFya190c2NfdW5zdGFibGUoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCi17Ci0JcHJpbnRrKEtFUk5fTk9USUNFICIlcyBkZXRlY3RlZDogbWFya2luZyBUU0MgdW5zdGFibGUuXG4iLAotCSAgICAgICBkLT5pZGVudCk7Ci0JdHNjX3Vuc3RhYmxlID0gMTsKLQlyZXR1cm4gMDsKLX0KLQotLyogTGlzdCBvZiBzeXN0ZW1zIHRoYXQgaGF2ZSBrbm93biBUU0MgcHJvYmxlbXMgKi8KLXN0YXRpYyBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCBfX2luaXRkYXRhIGJhZF90c2NfZG1pX3RhYmxlW10gPSB7Ci0JewotCSAuY2FsbGJhY2sgPSBkbWlfbWFya190c2NfdW5zdGFibGUsCi0JIC5pZGVudCA9ICJJQk0gVGhpbmtwYWQgMzgwWEQiLAotCSAubWF0Y2hlcyA9IHsKLQkJICAgICBETUlfTUFUQ0goRE1JX0JPQVJEX1ZFTkRPUiwgIklCTSIpLAotCQkgICAgIERNSV9NQVRDSChETUlfQk9BUkRfTkFNRSwgIjI2MzVGQTAiKSwKLQkJICAgICB9LAotCSB9LAotCSB7fQotfTsKLQotLyoKLSAqIE1ha2UgYW4gZWR1Y2F0ZWQgZ3Vlc3MgaWYgdGhlIFRTQyBpcyB0cnVzdHdvcnRoeSBhbmQgc3luY2hyb25pemVkCi0gKiBvdmVyIGFsbCBDUFVzLgotICovCi1fX2NwdWluaXQgaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKQotewotCWlmICghY3B1X2hhc190c2MgfHwgdHNjX3Vuc3RhYmxlKQotCQlyZXR1cm4gMTsKLQotCS8qIEFueXRoaW5nIHdpdGggY29uc3RhbnQgVFNDIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgKi8KLQlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCi0JCXJldHVybiAwOwotCi0JLyoKLQkgKiBJbnRlbCBzeXN0ZW1zIGFyZSBub3JtYWxseSBhbGwgc3luY2hyb25pemVkLgotCSAqIEV4Y2VwdGlvbnMgbXVzdCBtYXJrIFRTQyBhcyB1bnN0YWJsZToKLQkgKi8KLQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwpIHsKLQkJLyogYXNzdW1lIG11bHRpIHNvY2tldCBzeXN0ZW1zIGFyZSBub3Qgc3luY2hyb25pemVkOiAqLwotCQlpZiAobnVtX3Bvc3NpYmxlX2NwdXMoKSA+IDEpCi0JCQl0c2NfdW5zdGFibGUgPSAxOwotCX0KLQlyZXR1cm4gdHNjX3Vuc3RhYmxlOwotfQotCi0vKgotICogR2VvZGVfTFggLSB0aGUgT0xQQyBDUFUgaGFzIGEgcG9zc2libHkgYSB2ZXJ5IHJlbGlhYmxlIFRTQwotICovCi0jaWZkZWYgQ09ORklHX01HRU9ERV9MWAotLyogUlRTQyBjb3VudHMgZHVyaW5nIHN1c3BlbmQgKi8KLSNkZWZpbmUgUlRTQ19TVVNQIDB4MTAwCi0KLXN0YXRpYyB2b2lkIF9faW5pdCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHJlc19sb3csIHJlc19oaWdoOwotCi0JcmRtc3Jfc2FmZShNU1JfR0VPREVfQlVTQ09OVF9DT05GMCwgJnJlc19sb3csICZyZXNfaGlnaCk7Ci0JaWYgKHJlc19sb3cgJiBSVFNDX1NVU1ApCi0JCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZOwotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkgeyB9Ci0jZW5kaWYKLQotCi12b2lkIF9faW5pdCB0c2NfaW5pdCh2b2lkKQotewotCWludCBjcHU7Ci0KLQlpZiAoIWNwdV9oYXNfdHNjIHx8IHRzY19kaXNhYmxlZCA+IDApCi0JCXJldHVybjsKLQotCWNwdV9raHogPSBjYWxjdWxhdGVfY3B1X2toeigpOwotCXRzY19raHogPSBjcHVfa2h6OwotCi0JaWYgKCFjcHVfa2h6KSB7Ci0JCW1hcmtfdHNjX3Vuc3RhYmxlKCJjb3VsZCBub3QgY2FsY3VsYXRlIFRTQyBraHoiKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIG5vdyBhbGxvdyBuYXRpdmVfc2NoZWRfY2xvY2soKSB0byB1c2UgcmR0c2MgKi8KLQl0c2NfZGlzYWJsZWQgPSAwOwotCi0JcHJpbnRrKCJEZXRlY3RlZCAlbHUuJTAzbHUgTUh6IHByb2Nlc3Nvci5cbiIsCi0JCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAvIDEwMDAsCi0JCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAlIDEwMDApOwotCi0JLyoKLQkgKiBTZWNvbmRhcnkgQ1BVcyBkbyBub3QgcnVuIHRocm91Z2ggdHNjX2luaXQoKSwgc28gc2V0IHVwCi0JICogYWxsIHRoZSBzY2FsZSBmYWN0b3JzIGZvciBhbGwgQ1BVcywgYXNzdW1pbmcgdGhlIHNhbWUKLQkgKiBzcGVlZCBhcyB0aGUgYm9vdHVwIENQVS4gKGNwdWZyZXEgbm90aWZpZXJzIHdpbGwgZml4IHRoaXMKLQkgKiB1cCBpZiB0aGVpciBzcGVlZCBkaXZlcmdlcykKLQkgKi8KLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQotCQlzZXRfY3ljMm5zX3NjYWxlKGNwdV9raHosIGNwdSk7Ci0KLQl1c2VfdHNjX2RlbGF5KCk7Ci0KLQkvKiBDaGVjayBhbmQgaW5zdGFsbCB0aGUgVFNDIGNsb2Nrc291cmNlICovCi0JZG1pX2NoZWNrX3N5c3RlbShiYWRfdHNjX2RtaV90YWJsZSk7Ci0KLQl1bnN5bmNocm9uaXplZF90c2MoKTsKLQljaGVja19nZW9kZV90c2NfcmVsaWFibGUoKTsKLQljdXJyZW50X3RzY19raHogPSB0c2Nfa2h6OwotCWNsb2Nrc291cmNlX3RzYy5tdWx0ID0gY2xvY2tzb3VyY2Vfa2h6Mm11bHQoY3VycmVudF90c2Nfa2h6LAotCQkJCQkJCWNsb2Nrc291cmNlX3RzYy5zaGlmdCk7Ci0JLyogbG93ZXIgdGhlIHJhdGluZyBpZiB3ZSBhbHJlYWR5IGtub3cgaXRzIHVuc3RhYmxlOiAqLwotCWlmIChjaGVja190c2NfdW5zdGFibGUoKSkgewotCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKLQkJY2xvY2tzb3VyY2VfdHNjLmZsYWdzICY9IH5DTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUzsKLQl9Ci0JY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX3RzYyk7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHNjXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHNjXzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3ODRiODAuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3RzY182NC5jCisrKyAvZGV2L251bGwKQEAgLTEsMzU3ICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KLSNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Ci0jaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGlfcG10bXIuaD4KLQotI2luY2x1ZGUgPGFzbS9ocGV0Lmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWV4Lmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWVyLmg+Ci0jaW5jbHVkZSA8YXNtL3ZndG9kLmg+Ci0KLXN0YXRpYyBpbnQgbm90c2MgX19pbml0ZGF0YSA9IDA7Ci0KLXVuc2lnbmVkIGludCBjcHVfa2h6OwkJLyogVFNDIGNsb2NrcyAvIHVzZWMsIG5vdCB1c2VkIGhlcmUgKi8KLUVYUE9SVF9TWU1CT0woY3B1X2toeik7Ci11bnNpZ25lZCBpbnQgdHNjX2toejsKLUVYUE9SVF9TWU1CT0wodHNjX2toeik7Ci0KLS8qIEFjY2VsZXJhdG9ycyBmb3Igc2NoZWRfY2xvY2soKQotICogY29udmVydCBmcm9tIGN5Y2xlcyg2NGJpdHMpID0+IG5hbm9zZWNvbmRzICg2NGJpdHMpCi0gKiAgYmFzaWMgZXF1YXRpb246Ci0gKgkJbnMgPSBjeWNsZXMgLyAoZnJlcSAvIG5zX3Blcl9zZWMpCi0gKgkJbnMgPSBjeWNsZXMgKiAobnNfcGVyX3NlYyAvIGZyZXEpCi0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeOSAvIChjcHVfa2h6ICogMTBeMykpCi0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeNiAvIGNwdV9raHopCi0gKgotICoJVGhlbiB3ZSB1c2Ugc2NhbGluZyBtYXRoIChzdWdnZXN0ZWQgYnkgZ2VvcmdlQG12aXN0YS5jb20pIHRvIGdldDoKLSAqCQlucyA9IGN5Y2xlcyAqICgxMF42ICogU0MgLyBjcHVfa2h6KSAvIFNDCi0gKgkJbnMgPSBjeWNsZXMgKiBjeWMybnNfc2NhbGUgLyBTQwotICoKLSAqCUFuZCBzaW5jZSBTQyBpcyBhIGNvbnN0YW50IHBvd2VyIG9mIHR3bywgd2UgY2FuIGNvbnZlcnQgdGhlIGRpdgotICogIGludG8gYSBzaGlmdC4KLSAqCi0gKiAgV2UgY2FuIHVzZSBraHogZGl2aXNvciBpbnN0ZWFkIG9mIG1oeiB0byBrZWVwIGEgYmV0dGVyIHByZWNpc2lvbiwgc2luY2UKLSAqICBjeWMybnNfc2NhbGUgaXMgbGltaXRlZCB0byAxMF42ICogMl4xMCwgd2hpY2ggZml0cyBpbiAzMiBiaXRzLgotICogIChtYXRoaWV1LmRlc25veWVyc0Bwb2x5bXRsLmNhKQotICoKLSAqCQkJLWpvaG5zdHVsQHVzLmlibS5jb20gIm1hdGggaXMgaGFyZCwgbGV0cyBnbyBzaG9wcGluZyEiCi0gKi8KLURFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7Ci0KLXN0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKLQotCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOwotCi0JcmR0c2NsbCh0c2Nfbm93KTsKLQluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOwotCi0JaWYgKGNwdV9raHopCi0JCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7Ci0KLQlzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCgwKTsKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBuYXRpdmVfc2NoZWRfY2xvY2sodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGEgPSAwOwotCi0JLyogQ291bGQgZG8gQ1BVIGNvcmUgc3luYyBoZXJlLiBPcHRlcm9uIGNhbiBleGVjdXRlIHJkdHNjIHNwZWN1bGF0aXZlbHksCi0JICogd2hpY2ggbWVhbnMgaXQgaXMgbm90IGNvbXBsZXRlbHkgZXhhY3QgYW5kIG1heSBub3QgYmUgbW9ub3Rvbm91cwotCSAqIGJldHdlZW4gQ1BVcy4gQnV0IHRoZSBlcnJvcnMgc2hvdWxkIGJlIHRvbyBzbWFsbCB0byBtYXR0ZXIgZm9yCi0JICogc2NoZWR1bGluZyBwdXJwb3Nlcy4KLQkgKi8KLQotCXJkdHNjbGwoYSk7Ci0JcmV0dXJuIGN5Y2xlc18yX25zKGEpOwotfQotCi0vKiBXZSBuZWVkIHRvIGRlZmluZSBhIHJlYWwgZnVuY3Rpb24gZm9yIHNjaGVkX2Nsb2NrLCB0byBvdmVycmlkZSB0aGUKLSAgIHdlYWsgZGVmYXVsdCB2ZXJzaW9uICovCi0jaWZkZWYgQ09ORklHX1BBUkFWSVJUCi11bnNpZ25lZCBsb25nIGxvbmcgc2NoZWRfY2xvY2sodm9pZCkKLXsKLQlyZXR1cm4gcGFyYXZpcnRfc2NoZWRfY2xvY2soKTsKLX0KLSNlbHNlCi11bnNpZ25lZCBsb25nIGxvbmcKLXNjaGVkX2Nsb2NrKHZvaWQpIF9fYXR0cmlidXRlX18oKGFsaWFzKCJuYXRpdmVfc2NoZWRfY2xvY2siKSkpOwotI2VuZGlmCi0KLQotc3RhdGljIGludCB0c2NfdW5zdGFibGU7Ci0KLWludCBjaGVja190c2NfdW5zdGFibGUodm9pZCkKLXsKLQlyZXR1cm4gdHNjX3Vuc3RhYmxlOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoY2hlY2tfdHNjX3Vuc3RhYmxlKTsKLQotI2lmZGVmIENPTkZJR19DUFVfRlJFUQotCi0vKiBGcmVxdWVuY3kgc2NhbGluZyBzdXBwb3J0LiBBZGp1c3QgdGhlIFRTQyBiYXNlZCB0aW1lciB3aGVuIHRoZSBjcHUgZnJlcXVlbmN5Ci0gKiBjaGFuZ2VzLgotICoKLSAqIFJFRC1QRU46IE9uIFNNUCB3ZSBhc3N1bWUgYWxsIENQVXMgcnVuIHdpdGggdGhlIHNhbWUgZnJlcXVlbmN5LiAgSXQncwotICogbm90IHRoYXQgaW1wb3J0YW50IGJlY2F1c2UgY3VycmVudCBPcHRlcm9uIHNldHVwcyBkbyBub3Qgc3VwcG9ydAotICogc2NhbGluZyBvbiBTTVAgYW55cm9hZHMuCi0gKgotICogU2hvdWxkIGZpeCB1cCBsYXN0X3RzYyB0b28uIEN1cnJlbnRseSBnZXR0aW1lb2ZkYXkgaW4gdGhlCi0gKiBmaXJzdCB0aWNrIGFmdGVyIHRoZSBjaGFuZ2Ugd2lsbCBiZSBzbGlnaHRseSB3cm9uZy4KLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgaW50ICByZWZfZnJlcTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvb3BzX3Blcl9qaWZmeV9yZWY7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyB0c2Nfa2h6X3JlZjsKLQotc3RhdGljIGludCB0aW1lX2NwdWZyZXFfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyB2YWwsCi0JCQkJIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGNwdWZyZXFfZnJlcXMgKmZyZXEgPSBkYXRhOwotCXVuc2lnbmVkIGxvbmcgKmxwaiwgZHVtbXk7Ci0KLQlpZiAoY3B1X2hhcygmY3B1X2RhdGEoZnJlcS0+Y3B1KSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKLQkJcmV0dXJuIDA7Ci0KLQlscGogPSAmZHVtbXk7Ci0JaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKLSNpZmRlZiBDT05GSUdfU01QCi0JCWxwaiA9ICZjcHVfZGF0YShmcmVxLT5jcHUpLmxvb3BzX3Blcl9qaWZmeTsKLSNlbHNlCi0JCWxwaiA9ICZib290X2NwdV9kYXRhLmxvb3BzX3Blcl9qaWZmeTsKLSNlbmRpZgotCi0JaWYgKCFyZWZfZnJlcSkgewotCQlyZWZfZnJlcSA9IGZyZXEtPm9sZDsKLQkJbG9vcHNfcGVyX2ppZmZ5X3JlZiA9ICpscGo7Ci0JCXRzY19raHpfcmVmID0gdHNjX2toejsKLQl9Ci0JaWYgKCh2YWwgPT0gQ1BVRlJFUV9QUkVDSEFOR0UgICYmIGZyZXEtPm9sZCA8IGZyZXEtPm5ldykgfHwKLQkJKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAotCQkodmFsID09IENQVUZSRVFfUkVTVU1FQ0hBTkdFKSkgewotCQkqbHBqID0KLQkJY3B1ZnJlcV9zY2FsZShsb29wc19wZXJfamlmZnlfcmVmLCByZWZfZnJlcSwgZnJlcS0+bmV3KTsKLQotCQl0c2Nfa2h6ID0gY3B1ZnJlcV9zY2FsZSh0c2Nfa2h6X3JlZiwgcmVmX2ZyZXEsIGZyZXEtPm5ldyk7Ci0JCWlmICghKGZyZXEtPmZsYWdzICYgQ1BVRlJFUV9DT05TVF9MT09QUykpCi0JCQltYXJrX3RzY191bnN0YWJsZSgiY3B1ZnJlcSBjaGFuZ2VzIik7Ci0JfQotCi0Jc2V0X2N5YzJuc19zY2FsZSh0c2Nfa2h6X3JlZiwgZnJlcS0+Y3B1KTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHRpbWVfY3B1ZnJlcV9ub3RpZmllcl9ibG9jayA9IHsKLQkubm90aWZpZXJfY2FsbCAgPSB0aW1lX2NwdWZyZXFfbm90aWZpZXIKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGNwdWZyZXFfdHNjKHZvaWQpCi17Ci0JY3B1ZnJlcV9yZWdpc3Rlcl9ub3RpZmllcigmdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrLAotCQkJCSAgQ1BVRlJFUV9UUkFOU0lUSU9OX05PVElGSUVSKTsKLQlyZXR1cm4gMDsKLX0KLQotY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7Ci0KLSNlbmRpZgotCi0jZGVmaW5lIE1BWF9SRVRSSUVTCTUKLSNkZWZpbmUgU01JX1RSRVNIT0xECTUwMDAwCi0KLS8qCi0gKiBSZWFkIFRTQyBhbmQgdGhlIHJlZmVyZW5jZSBjb3VudGVycy4gVGFrZSBjYXJlIG9mIFNNSSBkaXN0dXJiYW5jZQotICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXQgdHNjX3JlYWRfcmVmcyh1bnNpZ25lZCBsb25nICpwbSwKLQkJCQkJICB1bnNpZ25lZCBsb25nICpocGV0KQotewotCXVuc2lnbmVkIGxvbmcgdDEsIHQyOwotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IE1BWF9SRVRSSUVTOyBpKyspIHsKLQkJdDEgPSBnZXRfY3ljbGVzKCk7Ci0JCWlmIChocGV0KQotCQkJKmhwZXQgPSBocGV0X3JlYWRsKEhQRVRfQ09VTlRFUikgJiAweEZGRkZGRkZGOwotCQllbHNlCi0JCQkqcG0gPSBhY3BpX3BtX3JlYWRfZWFybHkoKTsKLQkJdDIgPSBnZXRfY3ljbGVzKCk7Ci0JCWlmICgodDIgLSB0MSkgPCBTTUlfVFJFU0hPTEQpCi0JCQlyZXR1cm4gdDI7Ci0JfQotCXJldHVybiBVTE9OR19NQVg7Ci19Ci0KLS8qKgotICogdHNjX2NhbGlicmF0ZSAtIGNhbGlicmF0ZSB0aGUgdHNjIG9uIGJvb3QKLSAqLwotdm9pZCBfX2luaXQgdHNjX2NhbGlicmF0ZSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHRzYzEsIHRzYzIsIHRyMSwgdHIyLCBwbTEsIHBtMiwgaHBldDEsIGhwZXQyOwotCWludCBocGV0ID0gaXNfaHBldF9lbmFibGVkKCksIGNwdTsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQotCXRzYzEgPSB0c2NfcmVhZF9yZWZzKCZwbTEsIGhwZXQgPyAmaHBldDEgOiBOVUxMKTsKLQotCW91dGIoKGluYigweDYxKSAmIH4weDAyKSB8IDB4MDEsIDB4NjEpOwotCi0Jb3V0YigweGIwLCAweDQzKTsKLQlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgJiAweGZmLCAweDQyKTsKLQlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgPj4gOCwgMHg0Mik7Ci0JdHIxID0gZ2V0X2N5Y2xlcygpOwotCXdoaWxlICgoaW5iKDB4NjEpICYgMHgyMCkgPT0gMCk7Ci0JdHIyID0gZ2V0X2N5Y2xlcygpOwotCi0JdHNjMiA9IHRzY19yZWFkX3JlZnMoJnBtMiwgaHBldCA/ICZocGV0MiA6IE5VTEwpOwotCi0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCi0JLyoKLQkgKiBQcmVzZXQgdGhlIHJlc3VsdCB3aXRoIHRoZSByYXcgYW5kIGluYWNjdXJhdGUgUElUCi0JICogY2FsaWJyYXRpb24gdmFsdWUKLQkgKi8KLQl0c2Nfa2h6ID0gKHRyMiAtIHRyMSkgLyA1MDsKLQotCS8qIGhwZXQgb3IgcG10aW1lciBhdmFpbGFibGUgPyAqLwotCWlmICghaHBldCAmJiAhcG0xICYmICFwbTIpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBQSVRcbiIpOwotCQlnb3RvIG91dDsKLQl9Ci0KLQkvKiBDaGVjaywgd2hldGhlciB0aGUgc2FtcGxpbmcgd2FzIGRpc3R1cmJlZCBieSBhbiBTTUkgKi8KLQlpZiAodHNjMSA9PSBVTE9OR19NQVggfHwgdHNjMiA9PSBVTE9OR19NQVgpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVFNDIGNhbGlicmF0aW9uIGRpc3R1cmJlZCBieSBTTUksICIKLQkJICAgICAgICJ1c2luZyBQSVQgY2FsaWJyYXRpb24gcmVzdWx0XG4iKTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JdHNjMiA9ICh0c2MyIC0gdHNjMSkgKiAxMDAwMDAwTDsKLQotCWlmIChocGV0KSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgSFBFVFxuIik7Ci0JCWlmIChocGV0MiA8IGhwZXQxKQotCQkJaHBldDIgKz0gMHgxMDAwMDAwMDA7Ci0JCWhwZXQyIC09IGhwZXQxOwotCQl0c2MxID0gKGhwZXQyICogaHBldF9yZWFkbChIUEVUX1BFUklPRCkpIC8gMTAwMDAwMDsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9JTkZPICJUU0MgY2FsaWJyYXRlZCBhZ2FpbnN0IFBNX1RJTUVSXG4iKTsKLQkJaWYgKHBtMiA8IHBtMSkKLQkJCXBtMiArPSBBQ1BJX1BNX09WUlJVTjsKLQkJcG0yIC09IHBtMTsKLQkJdHNjMSA9IChwbTIgKiAxMDAwMDAwMDAwKSAvIFBNVE1SX1RJQ0tTX1BFUl9TRUM7Ci0JfQotCi0JdHNjX2toeiA9IHRzYzIgLyB0c2MxOwotCi1vdXQ6Ci0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKLQkJc2V0X2N5YzJuc19zY2FsZSh0c2Nfa2h6LCBjcHUpOwotfQotCi0vKgotICogTWFrZSBhbiBlZHVjYXRlZCBndWVzcyBpZiB0aGUgVFNDIGlzIHRydXN0d29ydGh5IGFuZCBzeW5jaHJvbml6ZWQKLSAqIG92ZXIgYWxsIENQVXMuCi0gKi8KLV9fY3B1aW5pdCBpbnQgdW5zeW5jaHJvbml6ZWRfdHNjKHZvaWQpCi17Ci0JaWYgKHRzY191bnN0YWJsZSkKLQkJcmV0dXJuIDE7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JaWYgKGFwaWNfaXNfY2x1c3RlcmVkX2JveCgpKQotCQlyZXR1cm4gMTsKLSNlbmRpZgotCi0JaWYgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpKQotCQlyZXR1cm4gMDsKLQotCS8qIEFzc3VtZSBtdWx0aSBzb2NrZXQgc3lzdGVtcyBhcmUgbm90IHN5bmNocm9uaXplZCAqLwotCXJldHVybiBudW1fcHJlc2VudF9jcHVzKCkgPiAxOwotfQotCi1pbnQgX19pbml0IG5vdHNjX3NldHVwKGNoYXIgKnMpCi17Ci0Jbm90c2MgPSAxOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJub3RzYyIsIG5vdHNjX3NldHVwKTsKLQotc3RhdGljIHN0cnVjdCBjbG9ja3NvdXJjZSBjbG9ja3NvdXJjZV90c2M7Ci0KLS8qCi0gKiBXZSBjb21wYXJlIHRoZSBUU0MgdG8gdGhlIGN5Y2xlX2xhc3QgdmFsdWUgaW4gdGhlIGNsb2Nrc291cmNlCi0gKiBzdHJ1Y3R1cmUgdG8gYXZvaWQgYSBuYXN0eSB0aW1lLXdhcnAuIFRoaXMgY2FuIGJlIG9ic2VydmVkIGluIGEKLSAqIHZlcnkgc21hbGwgd2luZG93IHJpZ2h0IGFmdGVyIG9uZSBDUFUgdXBkYXRlZCBjeWNsZV9sYXN0IHVuZGVyCi0gKiB4dGltZS92c3lzY2FsbF9ndG9kIGxvY2sgYW5kIHRoZSBvdGhlciBDUFUgcmVhZHMgYSBUU0MgdmFsdWUgd2hpY2gKLSAqIGlzIHNtYWxsZXIgdGhhbiB0aGUgY3ljbGVfbGFzdCByZWZlcmVuY2UgdmFsdWUgZHVlIHRvIGEgVFNDIHdoaWNoCi0gKiBpcyBzbGlnaHR5IGJlaGluZC4gVGhpcyBkZWx0YSBpcyBub3doZXJlIGVsc2Ugb2JzZXJ2YWJsZSwgYnV0IGluCi0gKiB0aGF0IGNhc2UgaXQgcmVzdWx0cyBpbiBhIGZvcndhcmQgdGltZSBqdW1wIGluIHRoZSByYW5nZSBvZiBob3VycwotICogZHVlIHRvIHRoZSB1bnNpZ25lZCBkZWx0YSBjYWxjdWxhdGlvbiBvZiB0aGUgdGltZSBrZWVwaW5nIGNvcmUKLSAqIGNvZGUsIHdoaWNoIGlzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHdyYXBwaW5nIGNsb2Nrc291cmNlcyBsaWtlIHBtCi0gKiB0aW1lci4KLSAqLwotc3RhdGljIGN5Y2xlX3QgcmVhZF90c2Modm9pZCkKLXsKLQljeWNsZV90IHJldCA9IChjeWNsZV90KWdldF9jeWNsZXMoKTsKLQotCXJldHVybiByZXQgPj0gY2xvY2tzb3VyY2VfdHNjLmN5Y2xlX2xhc3QgPwotCQlyZXQgOiBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdDsKLX0KLQotc3RhdGljIGN5Y2xlX3QgX192c3lzY2FsbF9mbiB2cmVhZF90c2Modm9pZCkKLXsKLQljeWNsZV90IHJldCA9IChjeWNsZV90KXZnZXRfY3ljbGVzKCk7Ci0KLQlyZXR1cm4gcmV0ID49IF9fdnN5c2NhbGxfZ3RvZF9kYXRhLmNsb2NrLmN5Y2xlX2xhc3QgPwotCQlyZXQgOiBfX3ZzeXNjYWxsX2d0b2RfZGF0YS5jbG9jay5jeWNsZV9sYXN0OwotfQotCi1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYyA9IHsKLQkubmFtZQkJCT0gInRzYyIsCi0JLnJhdGluZwkJCT0gMzAwLAotCS5yZWFkCQkJPSByZWFkX3RzYywKLQkubWFzawkJCT0gQ0xPQ0tTT1VSQ0VfTUFTSyg2NCksCi0JLnNoaWZ0CQkJPSAyMiwKLQkuZmxhZ3MJCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTIHwKLQkJCQkgIENMT0NLX1NPVVJDRV9NVVNUX1ZFUklGWSwKLQkudnJlYWQJCQk9IHZyZWFkX3RzYywKLX07Ci0KLXZvaWQgbWFya190c2NfdW5zdGFibGUoY2hhciAqcmVhc29uKQotewotCWlmICghdHNjX3Vuc3RhYmxlKSB7Ci0JCXRzY191bnN0YWJsZSA9IDE7Ci0JCXByaW50aygiTWFya2luZyBUU0MgdW5zdGFibGUgZHVlIHRvICVzXG4iLCByZWFzb24pOwotCQkvKiBDaGFuZ2Ugb25seSB0aGUgcmF0aW5nLCB3aGVuIG5vdCByZWdpc3RlcmVkICovCi0JCWlmIChjbG9ja3NvdXJjZV90c2MubXVsdCkKLQkJCWNsb2Nrc291cmNlX2NoYW5nZV9yYXRpbmcoJmNsb2Nrc291cmNlX3RzYywgMCk7Ci0JCWVsc2UKLQkJCWNsb2Nrc291cmNlX3RzYy5yYXRpbmcgPSAwOwotCX0KLX0KLUVYUE9SVF9TWU1CT0xfR1BMKG1hcmtfdHNjX3Vuc3RhYmxlKTsKLQotdm9pZCBfX2luaXQgaW5pdF90c2NfY2xvY2tzb3VyY2Uodm9pZCkKLXsKLQlpZiAoIW5vdHNjKSB7Ci0JCWNsb2Nrc291cmNlX3RzYy5tdWx0ID0gY2xvY2tzb3VyY2Vfa2h6Mm11bHQodHNjX2toeiwKLQkJCQkJCQljbG9ja3NvdXJjZV90c2Muc2hpZnQpOwotCQlpZiAoY2hlY2tfdHNjX3Vuc3RhYmxlKCkpCi0JCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKLQotCQljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfdHNjKTsKLQl9Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdmlzd3NfcXVpcmtzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdmlzd3NfcXVpcmtzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk0YmRiNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC92aXN3c19xdWlya3MuYwpAQCAtMCwwICsxLDcwOSBAQAorLyoKKyAqICBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIHN1cHBvcnQgYW5kIHF1aXJrcywgdW5tYWludGFpbmVkLgorICoKKyAqICBTcGxpdCBvdXQgZnJvbSBzZXR1cC5jIGJ5IGRhdmVqQHN1c2UuZGUKKyAqCisgKglDb3B5cmlnaHQgKEMpIDE5OTkgQmVudCBIYWdlbWFyaywgSW5nbyBNb2xuYXIKKyAqCisgKiAgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBpbnRlcnJ1cHQgY29udHJvbGxlcgorICoKKyAqICBUaGUgQ29iYWx0IHN5c3RlbSBBU0lDIGluIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gY29udGFpbnMgYSAiQ29iYWx0IiBBUElDCisgKiAgd2hpY2ggc2VydmVzIGFzIHRoZSBtYWluIGludGVycnVwdCBjb250cm9sbGVyIGluIHRoZSBzeXN0ZW0uICBOb24tbGVnYWN5CisgKiAgaGFyZHdhcmUgaW4gdGhlIHN5c3RlbSB1c2VzIHRoaXMgY29udHJvbGxlciBkaXJlY3RseS4gIExlZ2FjeSBkZXZpY2VzCisgKiAgYXJlIGNvbm5lY3RlZCB0byB0aGUgUElJWDQgd2hpY2ggaW4gdHVybiBoYXMgaXRzIDgyNTkocykgY29ubmVjdGVkIHRvCisgKiAgYSBvZiB0aGUgQ29iYWx0IEFQSUMgZW50cnkuCisgKgorICogIDA5LzAyLzIwMDAgLSBVcGRhdGVkIGZvciAyLjQgYnkgamJhcm5lc0BzZ2kuY29tCisgKgorICogIDI1LzExLzIwMDIgLSBVcGRhdGVkIGZvciAyLjUgYnkgQW5kcmV5IFBhbmluIDxwYXprZUBvcmJpdGExLnJ1PgorICovCisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorCisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9waWl4NC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CisjaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgorI2luY2x1ZGUgPGFzbS9yZWJvb3QuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKworI2luY2x1ZGUgPG1hY2hfaXBpLmg+CisKKyNpbmNsdWRlICJtYWNoX2FwaWMuaCIKKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorCisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaTgyNTkuaD4KKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvY29iYWx0Lmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2xpdGhpdW0uaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvcGlpeDQuaD4KKworI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaV9pZHMuaD4KKworZXh0ZXJuIGludCBub19icm9hZGNhc3Q7CisKKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9saXRoaXVtLmg+CisKK2NoYXIgdmlzd3NfYm9hcmRfdHlwZQk9IC0xOworY2hhciB2aXN3c19ib2FyZF9yZXYJPSAtMTsKKworaW50IGlzX3Zpc3dzX2JveCh2b2lkKQoreworCXJldHVybiB2aXN3c19ib2FyZF90eXBlID49IDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHZpc3dzX3RpbWVfaW5pdF9xdWlyayh2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gIlN0YXJ0aW5nIENvYmFsdCBUaW1lciBzeXN0ZW0gY2xvY2tcbiIpOworCisJLyogU2V0IHRoZSBjb3VudGRvd24gdmFsdWUgKi8KKwljb19jcHVfd3JpdGUoQ09fQ1BVX1RJTUVWQUwsIENPX1RJTUVfSFovSFopOworCisJLyogU3RhcnQgdGhlIHRpbWVyICovCisJY29fY3B1X3dyaXRlKENPX0NQVV9DVFJMLCBjb19jcHVfcmVhZChDT19DUFVfQ1RSTCkgfCBDT19DVFJMX1RJTUVSVU4pOworCisJLyogRW5hYmxlICh1bm1hc2spIHRoZSB0aW1lciBpbnRlcnJ1cHQgKi8KKwljb19jcHVfd3JpdGUoQ09fQ1BVX0NUUkwsIGNvX2NwdV9yZWFkKENPX0NQVV9DVFJMKSAmIH5DT19DVFJMX1RJTUVNQVNLKTsKKworCS8qCisJICogWmVybyByZXR1cm4gbWVhbnMgdGhlIGdlbmVyaWMgdGltZXIgc2V0dXAgY29kZSB3aWxsIHNldCB1cAorCSAqIHRoZSBzdGFuZGFyZCB2ZWN0b3I6CisJICovCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHZpc3dzX3ByZV9pbnRyX2luaXRfcXVpcmsodm9pZCkKK3sKKwlpbml0X1ZJU1dTX0FQSUNfaXJxcygpOworCisJLyoKKwkgKiBXZSBkb250IHdhbnQgSVNBIGlycXMgdG8gYmUgc2V0IHVwIGJ5IHRoZSBnZW5lcmljIGNvZGU6CisJICovCisJcmV0dXJuIDE7Cit9CisKKy8qIFF1aXJrIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4gKi8KKworI2RlZmluZSBNQiAoMTAyNCAqIDEwMjQpCisKK3Vuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fcGh5czsKK3Vuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKK0VYUE9SVF9TWU1CT0woc2dpdndmYl9tZW1fcGh5cyk7CitFWFBPUlRfU1lNQk9MKHNnaXZ3ZmJfbWVtX3NpemUpOworCitsb25nIGxvbmcgbWVtX3NpemUgX19pbml0ZGF0YSA9IDA7CisKK3N0YXRpYyBjaGFyICogX19pbml0IHZpc3dzX21lbW9yeV9zZXR1cF9xdWlyayh2b2lkKQoreworCWxvbmcgbG9uZyBnZnhfbWVtX3NpemUgPSA4ICogTUI7CisKKwltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKKworCWlmICghbWVtX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiQm9vdGxvYWRlciBkaWRuJ3Qgc2V0IG1lbW9yeSBzaXplLCB1cGdyYWRlIGl0ICFcbiIpOworCQltZW1fc2l6ZSA9IDEyOCAqIE1COworCX0KKworCS8qCisJICogdGhpcyBoYXJkY29kZXMgdGhlIGdyYXBoaWNzIG1lbW9yeSB0byA4IE1CCisJICogaXQgcmVhbGx5IHNob3VsZCBiZSBzaXplZCBkeW5hbWljYWxseSAob3IgYXQgbGVhc3QKKwkgKiBzZXQgYXMgYSBib290IHBhcmFtKQorCSAqLworCWlmICghc2dpdndmYl9tZW1fc2l6ZSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJEZWZhdWx0aW5nIHRvIDggTUIgZnJhbWVidWZmZXIgc2l6ZVxuIik7CisJCXNnaXZ3ZmJfbWVtX3NpemUgPSA4ICogTUI7CisJfQorCisJLyoKKwkgKiBUcmltIHRvIG5lYXJlc3QgTUIKKwkgKi8KKwlzZ2l2d2ZiX21lbV9zaXplICY9IH4oKDEgPDwgMjApIC0gMSk7CisJc2dpdndmYl9tZW1fcGh5cyA9IG1lbV9zaXplIC0gZ2Z4X21lbV9zaXplOworCisJZTgyMF9hZGRfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOworCWU4MjBfYWRkX3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgLSBzZ2l2d2ZiX21lbV9zaXplIC0gSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKKwllODIwX2FkZF9yZWdpb24oc2dpdndmYl9tZW1fcGh5cywgc2dpdndmYl9tZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CisKKwlyZXR1cm4gIlBST00iOworfQorCitzdGF0aWMgdm9pZCB2aXN3c19tYWNoaW5lX2VtZXJnZW5jeV9yZXN0YXJ0KHZvaWQpCit7CisJLyoKKwkgKiBWaXN1YWwgV29ya3N0YXRpb25zIHJlc3RhcnQgYWZ0ZXIgdGhpcworCSAqIHJlZ2lzdGVyIGlzIHBva2VkIG9uIHRoZSBQSUlYNAorCSAqLworCW91dGIoUElJWDRfUkVTRVRfVkFMLCBQSUlYNF9SRVNFVF9QT1JUKTsKK30KKworc3RhdGljIHZvaWQgdmlzd3NfbWFjaGluZV9wb3dlcl9vZmYodm9pZCkKK3sKKwl1bnNpZ25lZCBzaG9ydCBwbV9zdGF0dXM7CisvKglleHRlcm4gdW5zaWduZWQgaW50IHBjaV9idXMwOyAqLworCisJd2hpbGUgKChwbV9zdGF0dXMgPSBpbncoUE1TVFNfUE9SVCkpICYgMHgxMDApCisJCW91dHcocG1fc3RhdHVzLCBQTVNUU19QT1JUKTsKKworCW91dHcoUE1fU1VTUEVORF9FTkFCTEUsIFBNQ05UUkxfUE9SVCk7CisKKwltZGVsYXkoMTApOworCisjZGVmaW5lIFBDSV9DT05GMV9BRERSRVNTKGJ1cywgZGV2Zm4sIHJlZykgXAorCSgweDgwMDAwMDAwIHwgKGJ1cyA8PCAxNikgfCAoZGV2Zm4gPDwgOCkgfCAocmVnICYgfjMpKQorCisvKglvdXRsKFBDSV9DT05GMV9BRERSRVNTKHBjaV9idXMwLCBTUEVDSUFMX0RFViwgU1BFQ0lBTF9SRUcpLCAweENGOCk7ICovCisJb3V0bChQSUlYX1NQRUNJQUxfU1RPUCwgMHhDRkMpOworfQorCitzdGF0aWMgaW50IF9faW5pdCB2aXN3c19nZXRfc21wX2NvbmZpZ19xdWlyayh1bnNpZ25lZCBpbnQgZWFybHkpCit7CisJLyoKKwkgKiBQcmV2ZW50IE1QLXRhYmxlIHBhcnNpbmcgYnkgdGhlIGdlbmVyaWMgY29kZToKKwkgKi8KKwlyZXR1cm4gMTsKK30KKworZXh0ZXJuIHVuc2lnbmVkIGludCBfX2NwdWluaXRkYXRhIG1heGNwdXM7CisKKy8qCisgKiBUaGUgVmlzdWFsIFdvcmtzdGF0aW9uIGlzIEludGVsIE1QIGNvbXBsaWFudCBpbiB0aGUgaGFyZHdhcmUKKyAqIHNlbnNlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgQklPUygtY29uZmlndXJhdGlvbiB0YWJsZSkuCisgKiBObyBwcm9ibGVtIGZvciBMaW51eC4KKyAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgTVBfcHJvY2Vzc29yX2luZm8gKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSkKK3sKKwlpbnQgdmVyLCBsb2dpY2FsX2FwaWNpZDsKKwlwaHlzaWRfbWFza190IGFwaWNfY3B1czsKKworCWlmICghKG0tPm1wY19jcHVmbGFnICYgQ1BVX0VOQUJMRUQpKQorCQlyZXR1cm47CisKKwlsb2dpY2FsX2FwaWNpZCA9IG0tPm1wY19hcGljaWQ7CisJcHJpbnRrKEtFUk5fSU5GTyAiJXNDUFUgIyVkICV1OiV1IEFQSUMgdmVyc2lvbiAlZFxuIiwKKwkgICAgICAgbS0+bXBjX2NwdWZsYWcgJiBDUFVfQk9PVFBST0NFU1NPUiA/ICJCb290dXAgIiA6ICIiLAorCSAgICAgICBtLT5tcGNfYXBpY2lkLAorCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfRkFNSUxZX01BU0spID4+IDgsCisJICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9NT0RFTF9NQVNLKSA+PiA0LAorCSAgICAgICBtLT5tcGNfYXBpY3Zlcik7CisKKwlpZiAobS0+bXBjX2NwdWZsYWcgJiBDUFVfQk9PVFBST0NFU1NPUikKKwkJYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKKworCXZlciA9IG0tPm1wY19hcGljdmVyOworCWlmICgodmVyID49IDB4MTQgJiYgbS0+bXBjX2FwaWNpZCA+PSAweGZmKSB8fCBtLT5tcGNfYXBpY2lkID49IDB4ZikgeworCQlwcmludGsoS0VSTl9FUlIgIlByb2Nlc3NvciAjJWQgSU5WQUxJRC4gKE1heCBJRDogJWQpLlxuIiwKKwkJCW0tPm1wY19hcGljaWQsIE1BWF9BUElDUyk7CisJCXJldHVybjsKKwl9CisKKwlhcGljX2NwdXMgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQobS0+bXBjX2FwaWNpZCk7CisJcGh5c2lkc19vcihwaHlzX2NwdV9wcmVzZW50X21hcCwgcGh5c19jcHVfcHJlc2VudF9tYXAsIGFwaWNfY3B1cyk7CisJLyoKKwkgKiBWYWxpZGF0ZSB2ZXJzaW9uCisJICovCisJaWYgKHZlciA9PSAweDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJCSU9TIGJ1ZywgQVBJQyB2ZXJzaW9uIGlzIDAgZm9yIENQVSMlZCEgIgorCQkJImZpeGluZyB1cCB0byAweDEwLiAodGVsbCB5b3VyIGh3IHZlbmRvcilcbiIsCisJCQltLT5tcGNfYXBpY2lkKTsKKwkJdmVyID0gMHgxMDsKKwl9CisJYXBpY192ZXJzaW9uW20tPm1wY19hcGljaWRdID0gdmVyOworfQorCitpbnQgX19pbml0IHZpc3dzX2ZpbmRfc21wX2NvbmZpZ19xdWlyayh1bnNpZ25lZCBpbnQgcmVzZXJ2ZSkKK3sKKwlzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm1wID0gcGh5c190b192aXJ0KENPX0NQVV9UQUJfUEhZUyk7CisJdW5zaWduZWQgc2hvcnQgbmNwdXMgPSByZWFkdyhwaHlzX3RvX3ZpcnQoQ09fQ1BVX05VTV9QSFlTKSk7CisKKwlpZiAobmNwdXMgPiBDT19DUFVfTUFYKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImZpbmRfdmlzd3Nfc21wOiBnb3QgY3B1IGNvdW50IG9mICVkIGF0ICVwXG4iLAorCQkJbmNwdXMsIG1wKTsKKworCQluY3B1cyA9IENPX0NQVV9NQVg7CisJfQorCisJaWYgKG5jcHVzID4gbWF4Y3B1cykKKwkJbmNwdXMgPSBtYXhjcHVzOworCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJc21wX2ZvdW5kX2NvbmZpZyA9IDE7CisjZW5kaWYKKwl3aGlsZSAobmNwdXMtLSkKKwkJTVBfcHJvY2Vzc29yX2luZm8obXArKyk7CisKKwltcF9sYXBpY19hZGRyID0gQVBJQ19ERUZBVUxUX1BIWVNfQkFTRTsKKworCXJldHVybiAxOworfQorCitleHRlcm4gaW50IHZpc3dzX3RyYXBfaW5pdF9xdWlyayh2b2lkKTsKKwordm9pZCBfX2luaXQgdmlzd3NfZWFybHlfZGV0ZWN0KHZvaWQpCit7CisJaW50IHJhdzsKKworCXZpc3dzX2JvYXJkX3R5cGUgPSAoY2hhcikoaW5iX3AoUElJWF9HUElfQkRfUkVHKSAmIFBJSVhfR1BJX0JEX1JFRykKKwkJCQkJCQkgPj4gUElJWF9HUElfQkRfU0hJRlQ7CisKKwlpZiAodmlzd3NfYm9hcmRfdHlwZSA8IDApCisJCXJldHVybjsKKworCS8qCisJICogSW5zdGFsbCBzcGVjaWFsIHF1aXJrcyBmb3IgdGltZXIsIGludGVycnVwdCBhbmQgbWVtb3J5IHNldHVwOgorCSAqLworCWFyY2hfdGltZV9pbml0X3F1aXJrCQk9IHZpc3dzX3RpbWVfaW5pdF9xdWlyazsKKwlhcmNoX3ByZV9pbnRyX2luaXRfcXVpcmsJPSB2aXN3c19wcmVfaW50cl9pbml0X3F1aXJrOworCWFyY2hfbWVtb3J5X3NldHVwX3F1aXJrCQk9IHZpc3dzX21lbW9yeV9zZXR1cF9xdWlyazsKKworCS8qCisJICogRmFsbCBiYWNrIHRvIGdlbmVyaWMgYmVoYXZpb3IgZm9yIHRyYXBzOgorCSAqLworCWFyY2hfaW50cl9pbml0X3F1aXJrCQk9IE5VTEw7CisJYXJjaF90cmFwX2luaXRfcXVpcmsJCT0gdmlzd3NfdHJhcF9pbml0X3F1aXJrOworCisJLyoKKwkgKiBJbnN0YWxsIHJlYm9vdCBxdWlya3M6CisJICovCisJcG1fcG93ZXJfb2ZmCQkJPSB2aXN3c19tYWNoaW5lX3Bvd2VyX29mZjsKKwltYWNoaW5lX29wcy5lbWVyZ2VuY3lfcmVzdGFydAk9IHZpc3dzX21hY2hpbmVfZW1lcmdlbmN5X3Jlc3RhcnQ7CisKKwkvKgorCSAqIERvIG5vdCB1c2UgYnJvYWRjYXN0IElQSXM6CisJICovCisJbm9fYnJvYWRjYXN0ID0gMDsKKworCS8qCisJICogT3ZlcnJpZGUgZ2VuZXJpYyBNUC10YWJsZSBwYXJzaW5nOgorCSAqLworCW1hY2hfZ2V0X3NtcF9jb25maWdfcXVpcmsJPSB2aXN3c19nZXRfc21wX2NvbmZpZ19xdWlyazsKKwltYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyawk9IHZpc3dzX2ZpbmRfc21wX2NvbmZpZ19xdWlyazsKKworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCS8qCisJICogVHVybiBvZmYgSU8tQVBJQyBkZXRlY3Rpb24gYW5kIGluaXRpYWxpemF0aW9uOgorCSAqLworCXNraXBfaW9hcGljX3NldHVwCQk9IDE7CisjZW5kaWYKKworCS8qCisJICogR2V0IEJvYXJkIHJldi4KKwkgKiBGaXJzdCwgd2UgaGF2ZSB0byBpbml0aWFsaXplIHRoZSAzMDcgcGFydCB0byBhbGxvdyB1cyBhY2Nlc3MKKwkgKiB0byB0aGUgR1BJTyByZWdpc3RlcnMuICBMZXQncyBtYXAgdGhlbSBhdCAweDBmYzAgd2hpY2ggaXMgcmlnaHQKKwkgKiBhZnRlciB0aGUgUElJWDQgUE0gc2VjdGlvbi4KKwkgKi8KKwlvdXRiX3AoU0lPX0RFVl9TRUwsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9ERVYsIFNJT19EQVRBKTsJLyogVGFsayB0byBHUElPIHJlZ3MuICovCisKKwlvdXRiX3AoU0lPX0RFVl9NU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9NU0IsIFNJT19EQVRBKTsJLyogTVNCIG9mIEdQSU8gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9MU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9MU0IsIFNJT19EQVRBKTsJLyogTFNCIG9mIEdQSU8gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9FTkIsIFNJT19JTkRFWCk7CisJb3V0Yl9wKDEsIFNJT19EQVRBKTsJCS8qIEVuYWJsZSBHUElPIHJlZ2lzdGVycy4gKi8KKworCS8qCisJICogTm93LCB3ZSBoYXZlIHRvIG1hcCB0aGUgcG93ZXIgbWFuYWdlbWVudCBzZWN0aW9uIHRvIHdyaXRlCisJICogYSBiaXQgd2hpY2ggZW5hYmxlcyBhY2Nlc3MgdG8gdGhlIEdQSU8gcmVnaXN0ZXJzLgorCSAqIFdoYXQgbHVuYXRpYyBjYW1lIHVwIHdpdGggdGhpcyBzaGl0PworCSAqLworCW91dGJfcChTSU9fREVWX1NFTCwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX1BNX0RFViwgU0lPX0RBVEEpOwkvKiBUYWxrIHRvIEdQSU8gcmVncy4gKi8KKworCW91dGJfcChTSU9fREVWX01TQiwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX1BNX01TQiwgU0lPX0RBVEEpOwkvKiBNU0Igb2YgUE0gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9MU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19QTV9MU0IsIFNJT19EQVRBKTsJLyogTFNCIG9mIFBNIGJhc2UgYWRkcmVzcyAqLworCisJb3V0Yl9wKFNJT19ERVZfRU5CLCBTSU9fSU5ERVgpOworCW91dGJfcCgxLCBTSU9fREFUQSk7CQkvKiBFbmFibGUgUE0gcmVnaXN0ZXJzLiAqLworCisJLyoKKwkgKiBOb3csIHdyaXRlIHRoZSBQTSByZWdpc3RlciB3aGljaCBlbmFibGVzIHRoZSBHUElPIHJlZ2lzdGVycy4KKwkgKi8KKwlvdXRiX3AoU0lPX1BNX0ZFUjIsIFNJT19QTV9JTkRFWCk7CisJb3V0Yl9wKFNJT19QTV9HUF9FTiwgU0lPX1BNX0RBVEEpOworCisJLyoKKwkgKiBOb3csIGluaXRpYWxpemUgdGhlIEdQSU8gcmVnaXN0ZXJzLgorCSAqIFdlIHdhbnQgdGhlbSBhbGwgdG8gYmUgaW5wdXRzIHdoaWNoIGlzIHRoZQorCSAqIHBvd2VyIG9uIGRlZmF1bHQsIHNvIGxldCdzIGxlYXZlIHRoZW0gYWxvbmUuCisJICogU28sIGxldCdzIGp1c3QgcmVhZCB0aGUgYm9hcmQgcmV2IQorCSAqLworCXJhdyA9IGluYl9wKFNJT19HUF9EQVRBMSk7CisJcmF3ICY9IDB4N2Y7CS8qIDcgYml0cyBvZiB2YWxpZCBib2FyZCByZXZpc2lvbiBJRC4gKi8KKworCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCkgeworCQlpZiAocmF3IDwgMHg2KSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSA0OworCQl9IGVsc2UgaWYgKHJhdyA8IDB4YykgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gNTsKKwkJfSBlbHNlIHsKKwkJCXZpc3dzX2JvYXJkX3JldiA9IDY7CisJCX0KKwl9IGVsc2UgaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfNTQwKSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSAyOworCQl9IGVsc2UgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gcmF3OworCQl9CisKKwlwcmludGsoS0VSTl9JTkZPICJTaWxpY29uIEdyYXBoaWNzIFZpc3VhbCBXb3Jrc3RhdGlvbiAlcyAocmV2ICVkKSBkZXRlY3RlZFxuIiwKKwkgICAgICAgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwID8gIjMyMCIgOgorCSAgICAgICAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU181NDAgPyAiNTQwIiA6CisJCSJ1bmtub3duIikpLCB2aXN3c19ib2FyZF9yZXYpOworfQorCisjZGVmaW5lIEEwMTIzNCAoTElfSU5UQV8wIHwgTElfSU5UQV8xIHwgTElfSU5UQV8yIHwgTElfSU5UQV8zIHwgTElfSU5UQV80KQorI2RlZmluZSBCQ0QgKExJX0lOVEIgfCBMSV9JTlRDIHwgTElfSU5URCkKKyNkZWZpbmUgQUxMREVWUyAoQTAxMjM0IHwgQkNEKQorCitzdGF0aWMgX19pbml0IHZvaWQgbGl0aGl1bV9pbml0KHZvaWQpCit7CisJc2V0X2ZpeG1hcChGSVhfTElfUENJQSwgTElfUENJX0FfUEhZUyk7CisJc2V0X2ZpeG1hcChGSVhfTElfUENJQiwgTElfUENJX0JfUEhZUyk7CisKKwlpZiAoKGxpX3BjaWFfcmVhZDE2KFBDSV9WRU5ET1JfSUQpICE9IFBDSV9WRU5ET1JfSURfU0dJKSB8fAorCSAgICAobGlfcGNpYV9yZWFkMTYoUENJX0RFVklDRV9JRCkgIT0gUENJX0RFVklDRV9JRF9TR0lfTElUSElVTSkpIHsKKwkJcHJpbnRrKEtFUk5fRU1FUkcgIkxpdGhpdW0gaG9zdGJyaWRnZSAlYyBub3QgZm91bmRcbiIsICdBJyk7CisvKgkJcGFuaWMoIlRoaXMgbWFjaGluZSBpcyBub3QgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiAzMjAvNTQwIik7ICovCisJfQorCisJaWYgKChsaV9wY2liX3JlYWQxNihQQ0lfVkVORE9SX0lEKSAhPSBQQ0lfVkVORE9SX0lEX1NHSSkgfHwKKwkgICAgKGxpX3BjaWJfcmVhZDE2KFBDSV9ERVZJQ0VfSUQpICE9IFBDSV9ERVZJQ0VfSURfU0dJX0xJVEhJVU0pKSB7CisJCXByaW50ayhLRVJOX0VNRVJHICJMaXRoaXVtIGhvc3RicmlkZ2UgJWMgbm90IGZvdW5kXG4iLCAnQicpOworLyoJCXBhbmljKCJUaGlzIG1hY2hpbmUgaXMgbm90IFNHSSBWaXN1YWwgV29ya3N0YXRpb24gMzIwLzU0MCIpOyAqLworCX0KKworCWxpX3BjaWFfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOworCWxpX3BjaWJfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgY29iYWx0X2luaXQodm9pZCkKK3sKKwkvKgorCSAqIE9uIG5vcm1hbCBTTVAgUEMgdGhpcyBpcyB1c2VkIG9ubHkgd2l0aCBTTVAsIGJ1dCB3ZSBoYXZlIHRvCisJICogdXNlIGl0IGFuZCBzZXQgaXQgdXAgaGVyZSB0byBzdGFydCB0aGUgQ29iYWx0IGNsb2NrCisJICovCisJc2V0X2ZpeG1hcChGSVhfQVBJQ19CQVNFLCBBUElDX0RFRkFVTFRfUEhZU19CQVNFKTsKKwlzZXR1cF9sb2NhbF9BUElDKCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiTG9jYWwgQVBJQyBWZXJzaW9uICUjeCwgSUQgJSN4XG4iLAorCQkodW5zaWduZWQgaW50KWFwaWNfcmVhZChBUElDX0xWUiksCisJCSh1bnNpZ25lZCBpbnQpYXBpY19yZWFkKEFQSUNfSUQpKTsKKworCXNldF9maXhtYXAoRklYX0NPX0NQVSwgQ09fQ1BVX1BIWVMpOworCXNldF9maXhtYXAoRklYX0NPX0FQSUMsIENPX0FQSUNfUEhZUyk7CisJcHJpbnRrKEtFUk5fSU5GTyAiQ29iYWx0IFJldmlzaW9uICUjbHgsIEFQSUMgSUQgJSNseFxuIiwKKwkJY29fY3B1X3JlYWQoQ09fQ1BVX1JFViksIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSk7CisKKwkvKiBFbmFibGUgQ29iYWx0IEFQSUMgYmVpbmcgY2FyZWZ1bCB0byBOT1QgY2hhbmdlIHRoZSBJRCEgKi8KKwljb19hcGljX3dyaXRlKENPX0FQSUNfSUQsIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSB8IENPX0FQSUNfRU5BQkxFKTsKKworCXByaW50ayhLRVJOX0lORk8gIkNvYmFsdCBBUElDIGVuYWJsZWQ6IElEIHJlZyAlI2x4XG4iLAorCQljb19hcGljX3JlYWQoQ09fQVBJQ19JRCkpOworfQorCitpbnQgX19pbml0IHZpc3dzX3RyYXBfaW5pdF9xdWlyayh2b2lkKQoreworCWxpdGhpdW1faW5pdCgpOworCWNvYmFsdF9pbml0KCk7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIElSUSBjb250cm9sbGVyIC8gQVBJQyBzdXBwb3J0OgorICovCisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soY29iYWx0X2xvY2spOworCisvKgorICogU2V0IHRoZSBnaXZlbiBDb2JhbHQgQVBJQyBSZWRpcmVjdGlvbiBUYWJsZSBlbnRyeSB0byBwb2ludAorICogdG8gdGhlIGdpdmVuIElEVCB2ZWN0b3IvaW5kZXguCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBjb19hcGljX3NldChpbnQgZW50cnksIGludCBpcnEpCit7CisJY29fYXBpY193cml0ZShDT19BUElDX0xPKGVudHJ5KSwgQ09fQVBJQ19MRVZFTCB8IChpcnEgKyBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpKTsKKwljb19hcGljX3dyaXRlKENPX0FQSUNfSEkoZW50cnkpLCAwKTsKK30KKworLyoKKyAqIENvYmFsdCAoSU8pLUFQSUMgZnVuY3Rpb25zIHRvIGhhbmRsZSBQQ0kgZGV2aWNlcy4KKyAqLworc3RhdGljIGlubGluZSBpbnQgY29fYXBpY19pZGUwX2hhY2sodm9pZCkKK3sKKwlleHRlcm4gY2hhciB2aXN3c19ib2FyZF90eXBlOworCWV4dGVybiBjaGFyIHZpc3dzX2JvYXJkX3JldjsKKworCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCAmJiB2aXN3c19ib2FyZF9yZXYgPT0gNSkKKwkJcmV0dXJuIDU7CisJcmV0dXJuIENPX0FQSUNfSURFMDsKK30KKworc3RhdGljIGludCBpc19jb19hcGljKHVuc2lnbmVkIGludCBpcnEpCit7CisJaWYgKElTX0NPX0FQSUMoaXJxKSkKKwkJcmV0dXJuIENPX0FQSUMoaXJxKTsKKworCXN3aXRjaCAoaXJxKSB7CisJCWNhc2UgMDogcmV0dXJuIENPX0FQSUNfQ1BVOworCQljYXNlIENPX0lSUV9JREUwOiByZXR1cm4gY29fYXBpY19pZGUwX2hhY2soKTsKKwkJY2FzZSBDT19JUlFfSURFMTogcmV0dXJuIENPX0FQSUNfSURFMTsKKwkJZGVmYXVsdDogcmV0dXJuIC0xOworCX0KK30KKworCisvKgorICogVGhpcyBpcyB0aGUgU0dJIENvYmFsdCAoSU8tKUFQSUM6CisgKi8KKworc3RhdGljIHZvaWQgZW5hYmxlX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwljb19hcGljX3NldChpc19jb19hcGljKGlycSksIGlycSk7Cit9CisKK3N0YXRpYyB2b2lkIGRpc2FibGVfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCWludCBlbnRyeSA9IGlzX2NvX2FwaWMoaXJxKTsKKworCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19MTyhlbnRyeSksIENPX0FQSUNfTUFTSyk7CisJY29fYXBpY19yZWFkKENPX0FQSUNfTE8oZW50cnkpKTsKK30KKworLyoKKyAqICJpcnEiIHJlYWxseSBqdXN0IHNlcnZlcyB0byBpZGVudGlmeSB0aGUgZGV2aWNlLiAgSGVyZSBpcyB3aGVyZSB3ZQorICogbWFwIHRoaXMgdG8gdGhlIENvYmFsdCBBUElDIGVudHJ5IHdoZXJlIGl0J3MgcGh5c2ljYWxseSB3aXJlZC4KKyAqIFRoaXMgaXMgY2FsbGVkIHZpYSByZXF1ZXN0X2lycSAtPiBzZXR1cF9pcnEgLT4gaXJxX2Rlc2MtPnN0YXJ0dXAoKQorICovCitzdGF0aWMgdW5zaWduZWQgaW50IHN0YXJ0dXBfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKKwlpZiAoKGlycV9kZXNjW2lycV0uc3RhdHVzICYgKElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTIHwgSVJRX1dBSVRJTkcpKSkKKwkJaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJj0gfihJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUyB8IElSUV9XQUlUSU5HKTsKKwllbmFibGVfY29iYWx0X2lycShpcnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGFja19jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworCWRpc2FibGVfY29iYWx0X2lycShpcnEpOworCWFwaWNfd3JpdGUoQVBJQ19FT0ksIEFQSUNfRUlPX0FDSyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgZW5kX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJaWYgKCEoaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiAoSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MpKSkKKwkJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIGNvYmFsdF9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiQ29iYWx0LUFQSUMiLAorCS5zdGFydHVwID0Jc3RhcnR1cF9jb2JhbHRfaXJxLAorCS5zaHV0ZG93biA9CWRpc2FibGVfY29iYWx0X2lycSwKKwkuZW5hYmxlID0JZW5hYmxlX2NvYmFsdF9pcnEsCisJLmRpc2FibGUgPQlkaXNhYmxlX2NvYmFsdF9pcnEsCisJLmFjayA9CQlhY2tfY29iYWx0X2lycSwKKwkuZW5kID0JCWVuZF9jb2JhbHRfaXJxLAorfTsKKworCisvKgorICogVGhpcyBpcyB0aGUgUElJWDQtYmFzZWQgODI1OSB0aGF0IGlzIHdpcmVkIHVwIGluZGlyZWN0bHkgdG8gQ29iYWx0CisgKiAtLSBub3QgdGhlIG1hbm5lciBleHBlY3RlZCBieSB0aGUgY29kZSBpbiBpODI1OS5jLgorICoKKyAqIHRoZXJlIGlzIGEgJ21hc3RlcicgcGh5c2ljYWwgaW50ZXJydXB0IHNvdXJjZSB0aGF0IGdldHMgc2VudCB0bworICogdGhlIENQVS4gQnV0IGluIHRoZSBjaGlwc2V0IHRoZXJlIGFyZSB2YXJpb3VzICd2aXJ0dWFsJyBpbnRlcnJ1cHRzCisgKiB3YWl0aW5nIHRvIGJlIGhhbmRsZWQuIFdlIHJlcHJlc2VudCB0aGlzIHRvIExpbnV4IHRocm91Z2ggYSAnbWFzdGVyJworICogaW50ZXJydXB0IGNvbnRyb2xsZXIgdHlwZSwgYW5kIHRocm91Z2ggYSBzcGVjaWFsIHZpcnR1YWwgaW50ZXJydXB0LQorICogY29udHJvbGxlci4gRGV2aWNlIGRyaXZlcnMgb25seSBzZWUgdGhlIHZpcnR1YWwgaW50ZXJydXB0IHNvdXJjZXMuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnR1cF9waWl4NF9tYXN0ZXJfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJaW5pdF84MjU5QSgwKTsKKworCXJldHVybiBzdGFydHVwX2NvYmFsdF9pcnEoaXJxKTsKK30KKworc3RhdGljIHZvaWQgZW5kX3BpaXg0X21hc3Rlcl9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIHBpaXg0X21hc3Rlcl9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiUElJWDQtbWFzdGVyIiwKKwkuc3RhcnR1cCA9CXN0YXJ0dXBfcGlpeDRfbWFzdGVyX2lycSwKKwkuYWNrID0JCWFja19jb2JhbHRfaXJxLAorCS5lbmQgPQkJZW5kX3BpaXg0X21hc3Rlcl9pcnEsCit9OworCisKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgcGlpeDRfdmlydHVhbF9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiUElJWDQtdmlydHVhbCIsCisJLnNodXRkb3duID0JZGlzYWJsZV84MjU5QV9pcnEsCisJLmVuYWJsZSA9CWVuYWJsZV84MjU5QV9pcnEsCisJLmRpc2FibGUgPQlkaXNhYmxlXzgyNTlBX2lycSwKK307CisKKworLyoKKyAqIFBJSVg0LTgyNTkgbWFzdGVyL3ZpcnR1YWwgZnVuY3Rpb25zIHRvIGhhbmRsZSBpbnRlcnJ1cHQgcmVxdWVzdHMKKyAqIGZyb20gbGVnYWN5IGRldmljZXM6IGZsb3BweSwgcGFyYWxsZWwsIHNlcmlhbCwgcnRjLgorICoKKyAqIE5vbmUgb2YgdGhlc2UgZ2V0IENvYmFsdCBBUElDIGVudHJpZXMsIG5laXRoZXIgZG8gdGhleSBoYXZlIElEVAorICogZW50cmllcy4gVGhlc2UgaW50ZXJydXB0cyBhcmUgcHVyZWx5IHZpcnR1YWwgYW5kIGRpc3RyaWJ1dGVkIGZyb20KKyAqIHRoZSAnbWFzdGVyJyBpbnRlcnJ1cHQgc291cmNlOiBDT19JUlFfODI1OS4KKyAqCisgKiBXaGVuIHRoZSA4MjU5IGludGVycnVwdHMgaXRzIGhhbmRsZXIgZmlndXJlcyBvdXQgd2hpY2ggb2YgdGhlc2UKKyAqIGRldmljZXMgaXMgaW50ZXJydXB0aW5nIGFuZCBkaXNwYXRjaGVzIHRvIGl0cyBoYW5kbGVyLgorICoKKyAqIENBUkVGVUw6IGRldmljZXMgc2VlIHRoZSAndmlydHVhbCcgaW50ZXJydXB0IG9ubHkuIFRodXMgZGlzYWJsZS8KKyAqIGVuYWJsZV9pcnEgZ2V0cyB0aGUgcmlnaHQgaXJxLiBUaGlzICdtYXN0ZXInIGlycSBpcyBuZXZlciBkaXJlY3RseQorICogbWFuaXB1bGF0ZWQgYnkgYW55IGRyaXZlci4KKyAqLworc3RhdGljIGlycXJldHVybl90IHBpaXg0X21hc3Rlcl9pbnRyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlpbnQgcmVhbGlycTsKKwlpcnFfZGVzY190ICpkZXNjOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKKworCS8qIEZpbmQgb3V0IHdoYXQncyBpbnRlcnJ1cHRpbmcgaW4gdGhlIFBJSVg0IG1hc3RlciA4MjU5ICovCisJb3V0YigweDBjLCAweDIwKTsJCS8qIE9DVzMgUG9sbCBjb21tYW5kICovCisJcmVhbGlycSA9IGluYigweDIwKTsKKworCS8qCisJICogQml0IDcgPT0gMCBtZWFucyBpbnZhbGlkL3NwdXJpb3VzCisJICovCisJaWYgKHVubGlrZWx5KCEocmVhbGlycSAmIDB4ODApKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJcmVhbGlycSAmPSA3OworCisJaWYgKHVubGlrZWx5KHJlYWxpcnEgPT0gMikpIHsKKwkJb3V0YigweDBjLCAweGEwKTsKKwkJcmVhbGlycSA9IGluYigweGEwKTsKKworCQlpZiAodW5saWtlbHkoIShyZWFsaXJxICYgMHg4MCkpKQorCQkJZ290byBvdXRfdW5sb2NrOworCisJCXJlYWxpcnEgPSAocmVhbGlycSAmIDcpICsgODsKKwl9CisKKwkvKiBtYXNrIGFuZCBhY2sgaW50ZXJydXB0ICovCisJY2FjaGVkX2lycV9tYXNrIHw9IDEgPDwgcmVhbGlycTsKKwlpZiAodW5saWtlbHkocmVhbGlycSA+IDcpKSB7CisJCWluYigweGExKTsKKwkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgMHhhMSk7CisJCW91dGIoMHg2MCArIChyZWFsaXJxICYgNyksIDB4YTApOworCQlvdXRiKDB4NjAgKyAyLCAweDIwKTsKKwl9IGVsc2UgeworCQlpbmIoMHgyMSk7CisJCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCAweDIxKTsKKwkJb3V0YigweDYwICsgcmVhbGlycSwgMHgyMCk7CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKKworCWRlc2MgPSBpcnFfZGVzYyArIHJlYWxpcnE7CisKKwkvKgorCSAqIGhhbmRsZSB0aGlzICd2aXJ0dWFsIGludGVycnVwdCcgYXMgYSBDb2JhbHQgb25lIG5vdy4KKwkgKi8KKwlrc3RhdF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKS5pcnFzW3JlYWxpcnFdKys7CisKKwlpZiAobGlrZWx5KGRlc2MtPmFjdGlvbiAhPSBOVUxMKSkKKwkJaGFuZGxlX0lSUV9ldmVudChyZWFsaXJxLCBkZXNjLT5hY3Rpb24pOworCisJaWYgKCEoZGVzYy0+c3RhdHVzICYgSVJRX0RJU0FCTEVEKSkKKwkJZW5hYmxlXzgyNTlBX2lycShyZWFsaXJxKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKKworb3V0X3VubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOworCXJldHVybiBJUlFfTk9ORTsKK30KKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gbWFzdGVyX2FjdGlvbiA9IHsKKwkuaGFuZGxlciA9CXBpaXg0X21hc3Rlcl9pbnRyLAorCS5uYW1lID0JCSJQSUlYNC04MjU5IiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGNhc2NhZGVfYWN0aW9uID0geworCS5oYW5kbGVyID0gCW5vX2FjdGlvbiwKKwkubmFtZSA9CQkiY2FzY2FkZSIsCit9OworCisKK3ZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBDT19JUlFfQVBJQzAgKyBDT19BUElDX0xBU1QgKyAxOyBpKyspIHsKKwkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOworCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSAwOworCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7CisKKwkJaWYgKGkgPT0gMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMSkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfODI1OSkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF9tYXN0ZXJfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA8IENPX0lSUV9BUElDMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF92aXJ0dWFsX2lycV90eXBlOworCQl9CisJCWVsc2UgaWYgKElTX0NPX0FQSUMoaSkpIHsKKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOworCQl9CisJfQorCisJc2V0dXBfaXJxKENPX0lSUV84MjU5LCAmbWFzdGVyX2FjdGlvbik7CisJc2V0dXBfaXJxKDIsICZjYXNjYWRlX2FjdGlvbik7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdm1pXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdm1pXzMyLmMKaW5kZXggOTU2ZjM4OS4uYjE1MzQ2MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZtaV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWlfMzIuYwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJCQkJCSAgICAgIGluc25zLCBpcCk7CiAJCWNhc2UgUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcmV0KToKIAkJCXJldHVybiBwYXRjaF9pbnRlcm5hbChWTUlfQ0FMTF9JUkVULCBsZW4sIGluc25zLCBpcCk7Ci0JCWNhc2UgUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KToKKwkJY2FzZSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzZXhpdCk6CiAJCQlyZXR1cm4gcGF0Y2hfaW50ZXJuYWwoVk1JX0NBTExfU1lTRVhJVCwgbGVuLCBpbnNucywgaXApOwogCQlkZWZhdWx0OgogCQkJYnJlYWs7CkBAIC04OTYsNyArODk2LDcgQEAKIAkgKiB0aGUgYmFja2VuZC4gIFRoZXkgYXJlIHBlcmZvcm1hbmNlIGNyaXRpY2FsIGFueXdheSwgc28gcmVxdWlyaW5nCiAJICogYSBwYXRjaCBpcyBub3QgYSBiaWcgcHJvYmxlbS4KIAkgKi8KLQlwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzY2FsbF9yZXQgPSAodm9pZCAqKTB4ZmVlZGJhYjA7CisJcHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2V4aXQgPSAodm9pZCAqKTB4ZmVlZGJhYjA7CiAJcHZfY3B1X29wcy5pcmV0ID0gKHZvaWQgKikweGJhZGJhYjA7CiAKICNpZmRlZiBDT05GSUdfU01QCkBAIC05MzIsNyArOTMyLDcgQEAKIAkJcHZfYXBpY19vcHMuc2V0dXBfc2Vjb25kYXJ5X2Nsb2NrID0gdm1pX3RpbWVfYXBfaW5pdDsKICNlbmRpZgogCQlwdl90aW1lX29wcy5zY2hlZF9jbG9jayA9IHZtaV9zY2hlZF9jbG9jazsKLSAJCXB2X3RpbWVfb3BzLmdldF9jcHVfa2h6ID0gdm1pX2NwdV9raHo7CisJCXB2X3RpbWVfb3BzLmdldF90c2Nfa2h6ID0gdm1pX3RzY19raHo7CiAKIAkJLyogV2UgaGF2ZSB0cnVlIHdhbGxjbG9jayBmdW5jdGlvbnM7IGRpc2FibGUgQ01PUyBjbG9jayBzeW5jICovCiAJCW5vX3N5bmNfY21vc19jbG9jayA9IDE7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdm1pY2xvY2tfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCmluZGV4IGEyYjAzMDcuLjY5NTM4NTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCkBAIC0zMyw4ICszMyw3IEBACiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KICNpbmNsdWRlIDxhc20vdGltZXIuaD4KICNpbmNsdWRlIDxhc20vaTgyNTMuaD4KLQotI2luY2x1ZGUgPGlycV92ZWN0b3JzLmg+CisjaW5jbHVkZSA8YXNtL2lycV92ZWN0b3JzLmg+CiAKICNkZWZpbmUgVk1JX09ORVNIT1QgIChWTUlfQUxBUk1fSVNfT05FU0hPVCAgfCBWTUlfQ1lDTEVTX1JFQUwgfCB2bWlfZ2V0X2FsYXJtX3dpcmluZygpKQogI2RlZmluZSBWTUlfUEVSSU9ESUMgKFZNSV9BTEFSTV9JU19QRVJJT0RJQyB8IFZNSV9DWUNMRVNfUkVBTCB8IHZtaV9nZXRfYWxhcm1fd2lyaW5nKCkpCkBAIC03MCw4ICs2OSw4IEBACiAJcmV0dXJuIGN5Y2xlc18yX25zKHZtaV90aW1lcl9vcHMuZ2V0X2N5Y2xlX2NvdW50ZXIoVk1JX0NZQ0xFU19BVkFJTEFCTEUpKTsKIH0KIAotLyogcGFyYXZpcnRfb3BzLmdldF9jcHVfa2h6ID0gdm1pX2NwdV9raHogKi8KLXVuc2lnbmVkIGxvbmcgdm1pX2NwdV9raHoodm9pZCkKKy8qIHBhcmF2aXJ0X29wcy5nZXRfdHNjX2toeiA9IHZtaV90c2Nfa2h6ICovCit1bnNpZ25lZCBsb25nIHZtaV90c2Nfa2h6KHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBsb25nIGtoejsKIAlraHogPSB2bWlfdGltZXJfb3BzLmdldF9jeWNsZV9mcmVxdWVuY3koKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKaW5kZXggY2U1ZWQwOC4uY2RiMjM2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKQEAgLTQ5LDIzICs0OSwxNCBAQAogICAJX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAgIH0gOnRleHQgPSAweDkwOTAKIAorICBOT1RFUyA6dGV4dCA6bm90ZQorCiAgIC4gPSBBTElHTigxNik7CQkvKiBFeGNlcHRpb24gdGFibGUgKi8KICAgX19leF90YWJsZSA6IEFUKEFERFIoX19leF90YWJsZSkgLSBMT0FEX09GRlNFVCkgewogICAJX19zdGFydF9fX2V4X3RhYmxlID0gLjsKIAkgKihfX2V4X3RhYmxlKQogICAJX19zdG9wX19fZXhfdGFibGUgPSAuOwotICB9Ci0KLSAgTk9URVMgOnRleHQgOm5vdGUKLQotICBCVUdfVEFCTEUgOnRleHQKLQotICAuID0gQUxJR04oNCk7Ci0gIC50cmFjZWRhdGEgOiBBVChBRERSKC50cmFjZWRhdGEpIC0gTE9BRF9PRkZTRVQpIHsKLSAgCV9fdHJhY2VkYXRhX3N0YXJ0ID0gLjsKLQkqKC50cmFjZWRhdGEpCi0gIAlfX3RyYWNlZGF0YV9lbmQgPSAuOwotICB9CisgIH0gOnRleHQgPSAweDkwOTAKIAogICBST0RBVEEKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZtbGludXhfNjQubGRzLlMgYi9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUwppbmRleCBmYWQzNjc0Li42M2U1YzFhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUwpAQCAtMTksNyArMTksNyBAQAogCWRhdGEgUFRfTE9BRCBGTEFHUyg3KTsJLyogUldFICovCiAJdXNlciBQVF9MT0FEIEZMQUdTKDcpOwkvKiBSV0UgKi8KIAlkYXRhLmluaXQgUFRfTE9BRCBGTEFHUyg3KTsJLyogUldFICovCi0Jbm90ZSBQVF9OT1RFIEZMQUdTKDQpOwkvKiBSX18gKi8KKwlub3RlIFBUX05PVEUgRkxBR1MoMCk7CS8qIF9fXyAqLwogfQogU0VDVElPTlMKIHsKQEAgLTQwLDI2ICs0MCwxNyBAQAogCV9ldGV4dCA9IC47CQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAgIH0gOnRleHQgPSAweDkwOTAKIAorICBOT1RFUyA6dGV4dCA6bm90ZQorCiAgIC4gPSBBTElHTigxNik7CQkvKiBFeGNlcHRpb24gdGFibGUgKi8KICAgX19leF90YWJsZSA6IEFUKEFERFIoX19leF90YWJsZSkgLSBMT0FEX09GRlNFVCkgewogICAJX19zdGFydF9fX2V4X3RhYmxlID0gLjsKIAkgKihfX2V4X3RhYmxlKQogICAJX19zdG9wX19fZXhfdGFibGUgPSAuOwotICB9Ci0KLSAgTk9URVMgOnRleHQgOm5vdGUKLQotICBCVUdfVEFCTEUgOnRleHQKKyAgfSA6dGV4dCA9IDB4OTA5MAogCiAgIFJPREFUQQogCi0gIC4gPSBBTElHTig0KTsKLSAgLnRyYWNlZGF0YSA6IEFUKEFERFIoLnRyYWNlZGF0YSkgLSBMT0FEX09GRlNFVCkgewotICAJX190cmFjZWRhdGFfc3RhcnQgPSAuOwotCSooLnRyYWNlZGF0YSkKLSAgCV9fdHJhY2VkYXRhX2VuZCA9IC47Ci0gIH0KLQogICAuID0gQUxJR04oUEFHRV9TSVpFKTsJCS8qIEFsaWduIGRhdGEgc2VnbWVudCB0byBwYWdlIHNpemUgYm91bmRhcnkgKi8KIAkJCQkvKiBEYXRhICovCiAgIC5kYXRhIDogQVQoQUREUiguZGF0YSkgLSBMT0FEX09GRlNFVCkgewpAQCAtMTc3LDYgKzE2OCw3IEBACiAJKiguY29uX2luaXRjYWxsLmluaXQpCiAgIH0KICAgX19jb25faW5pdGNhbGxfZW5kID0gLjsKKyAgLiA9IEFMSUdOKDE2KTsKICAgX194ODZjcHV2ZW5kb3Jfc3RhcnQgPSAuOwogICAueDg2Y3B1dmVuZG9yLmluaXQgOiBBVChBRERSKC54ODZjcHV2ZW5kb3IuaW5pdCkgLSBMT0FEX09GRlNFVCkgewogCSooLng4NmNwdXZlbmRvci5pbml0KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZzbXBfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC92c21wXzY0LmMKaW5kZXggYmE4YzBiNy4uMGMwMjllOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZzbXBfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdnNtcF82NC5jCkBAIC0xNSw5ICsxNSwxMiBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wY2lfaWRzLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpX3JlZ3MuaD4KKworI2luY2x1ZGUgPGFzbS9hcGljLmg+CiAjaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAogI2lmIGRlZmluZWQgQ09ORklHX1BDSSAmJiBkZWZpbmVkIENPTkZJR19QQVJBVklSVAogLyoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92c3lzY2FsbF82NC5jIGIvYXJjaC94ODYva2VybmVsL3ZzeXNjYWxsXzY0LmMKaW5kZXggNjFlZmEyZi4uMGI4YjY2OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZzeXNjYWxsXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZzeXNjYWxsXzY0LmMKQEAgLTQyLDcgKzQyLDggQEAKICNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KICNpbmNsdWRlIDxhc20vdmd0b2QuaD4KIAotI2RlZmluZSBfX3ZzeXNjYWxsKG5yKSBfX2F0dHJpYnV0ZV9fICgodW51c2VkLF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfIiAjbnIpKSkKKyNkZWZpbmUgX192c3lzY2FsbChucikgXAorCQlfX2F0dHJpYnV0ZV9fICgodW51c2VkLCBfX3NlY3Rpb25fXygiLnZzeXNjYWxsXyIgI25yKSkpIG5vdHJhY2UKICNkZWZpbmUgX19zeXNjYWxsX2Nsb2JiZXIgInIxMSIsImN4IiwibWVtb3J5IgogCiAvKgpAQCAtMjQ5LDcgKzI1MCw3IEBACiAgICBkb2Vzbid0IHZpb2xhdGUgdGhhdC4gV2UnbGwgZmluZCBvdXQgaWYgaXQgZG9lcy4gKi8KIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCB2c3lzY2FsbF9zZXRfY3B1KGludCBjcHUpCiB7Ci0JdW5zaWduZWQgbG9uZyAqZDsKKwl1bnNpZ25lZCBsb25nIGQ7CiAJdW5zaWduZWQgbG9uZyBub2RlID0gMDsKICNpZmRlZiBDT05GSUdfTlVNQQogCW5vZGUgPSBjcHVfdG9fbm9kZShjcHUpOwpAQCAtMjYwLDExICsyNjEsMTEgQEAKIAkvKiBTdG9yZSBjcHUgbnVtYmVyIGluIGxpbWl0IHNvIHRoYXQgaXQgY2FuIGJlIGxvYWRlZCBxdWlja2x5CiAJICAgaW4gdXNlciBzcGFjZSBpbiB2Z2V0Y3B1LgogCSAgIDEyIGJpdHMgZm9yIHRoZSBDUFUgYW5kIDggYml0cyBmb3IgdGhlIG5vZGUuICovCi0JZCA9ICh1bnNpZ25lZCBsb25nICopKGdldF9jcHVfZ2R0X3RhYmxlKGNwdSkgKyBHRFRfRU5UUllfUEVSX0NQVSk7Ci0JKmQgPSAweDBmNDAwMDAwMDAwMDBVTEw7Ci0JKmQgfD0gY3B1OwotCSpkIHw9IChub2RlICYgMHhmKSA8PCAxMjsKLQkqZCB8PSAobm9kZSA+PiA0KSA8PCA0ODsKKwlkID0gMHgwZjQwMDAwMDAwMDAwVUxMOworCWQgfD0gY3B1OworCWQgfD0gKG5vZGUgJiAweGYpIDw8IDEyOworCWQgfD0gKG5vZGUgPj4gNCkgPDwgNDg7CisJd3JpdGVfZ2R0X2VudHJ5KGdldF9jcHVfZ2R0X3RhYmxlKGNwdSksIEdEVF9FTlRSWV9QRVJfQ1BVLCAmZCwgREVTQ1RZUEVfUyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBjcHVfdnN5c2NhbGxfaW5pdCh2b2lkICphcmcpCkBAIC0yNzgsNyArMjc5LDcgQEAKIHsKIAlsb25nIGNwdSA9IChsb25nKWFyZzsKIAlpZiAoYWN0aW9uID09IENQVV9PTkxJTkUgfHwgYWN0aW9uID09IENQVV9PTkxJTkVfRlJPWkVOKQotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBjcHVfdnN5c2NhbGxfaW5pdCwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGNwdV92c3lzY2FsbF9pbml0LCBOVUxMLCAxKTsKIAlyZXR1cm4gTk9USUZZX0RPTkU7CiB9CiAKQEAgLTMwMSw3ICszMDIsNyBAQAogI2lmZGVmIENPTkZJR19TWVNDVEwKIAlyZWdpc3Rlcl9zeXNjdGxfdGFibGUoa2VybmVsX3Jvb3RfdGFibGUyKTsKICNlbmRpZgotCW9uX2VhY2hfY3B1KGNwdV92c3lzY2FsbF9pbml0LCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShjcHVfdnN5c2NhbGxfaW5pdCwgTlVMTCwgMSk7CiAJaG90Y3B1X25vdGlmaWVyKGNwdV92c3lzY2FsbF9ub3RpZmllciwgMCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwveDg2NjRfa3N5bXNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC94ODY2NF9rc3ltc182NC5jCmluZGV4IGY2YzA1ZDAuLmI1NDVmMzcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC94ODY2NF9rc3ltc182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC94ODY2NF9rc3ltc182NC5jCkBAIC0yLDEzICsyLDIwIEBACiAgICBBbGwgQyBleHBvcnRzIHNob3VsZCBnbyBpbiB0aGUgcmVzcGVjdGl2ZSBDIGZpbGVzLiAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bmV0L2NoZWNrc3VtLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAKKyNpbmNsdWRlIDxuZXQvY2hlY2tzdW0uaD4KKwogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZGVzYy5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKy8qIG1jb3VudCBpcyBkZWZpbmVkIGluIGFzc2VtYmx5ICovCitFWFBPUlRfU1lNQk9MKG1jb3VudCk7CisjZW5kaWYKIAogRVhQT1JUX1NZTUJPTChrZXJuZWxfdGhyZWFkKTsKIApAQCAtNTMsOCArNjAsMyBAQAogRVhQT1JUX1NZTUJPTChsb2FkX2dzX2luZGV4KTsKIAogRVhQT1JUX1NZTUJPTChfcHJveHlfcGRhKTsKLQotI2lmZGVmIENPTkZJR19QQVJBVklSVAotLyogVmlydHVhbGl6ZWQgZ3Vlc3RzIG1heSB3YW50IHRvIHVzZSBpdCAqLwotRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2dkdF9kZXNjcik7Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS92bXguYyBiL2FyY2gveDg2L2t2bS92bXguYwppbmRleCA1NDBlOTUxLi4xMGNlNmVlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0vdm14LmMKKysrIGIvYXJjaC94ODYva3ZtL3ZteC5jCkBAIC0zMzUsNyArMzM1LDcgQEAKIHsKIAlpZiAodm14LT52Y3B1LmNwdSA9PSAtMSkKIAkJcmV0dXJuOwotCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSh2bXgtPnZjcHUuY3B1LCBfX3ZjcHVfY2xlYXIsIHZteCwgMCwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKHZteC0+dmNwdS5jcHUsIF9fdmNwdV9jbGVhciwgdm14LCAxKTsKIAl2bXgtPmxhdW5jaGVkID0gMDsKIH0KIApAQCAtMjk2OCw3ICsyOTY4LDcgQEAKIAlzdHJ1Y3QgdmNwdV92bXggKnZteCA9IHRvX3ZteCh2Y3B1KTsKIAogCWlmICh2bXgtPnZtY3MpIHsKLQkJb25fZWFjaF9jcHUoX192Y3B1X2NsZWFyLCB2bXgsIDAsIDEpOworCQlvbl9lYWNoX2NwdShfX3ZjcHVfY2xlYXIsIHZteCwgMSk7CiAJCWZyZWVfdm1jcyh2bXgtPnZtY3MpOwogCQl2bXgtPnZtY3MgPSBOVUxMOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS94ODYuYyBiL2FyY2gveDg2L2t2bS94ODYuYwppbmRleCA2M2E3N2NhLi4wZmFhMjU0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0veDg2LmMKKysrIGIvYXJjaC94ODYva3ZtL3g4Ni5jCkBAIC00MDQ0LDYgKzQwNDQsNiBAQAogCSAqIFNvIG5lZWQgbm90IHRvIGNhbGwgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKCkgaW4gdGhhdCBjYXNlLgogCSAqLwogCWlmICh2Y3B1LT5ndWVzdF9tb2RlICYmIHZjcHUtPmNwdSAhPSBjcHUpCi0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpcGlfcGNwdSwgdmNwdV9raWNrX2ludHIsIHZjcHUsIDAsIDApOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaXBpX3BjcHUsIHZjcHVfa2lja19pbnRyLCB2Y3B1LCAwKTsKIAlwdXRfY3B1KCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9sZ3Vlc3QvS2NvbmZpZyBiL2FyY2gveDg2L2xndWVzdC9LY29uZmlnCmluZGV4IDk2NGRmYTMuLmM3MGUxMmIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xndWVzdC9LY29uZmlnCisrKyBiL2FyY2gveDg2L2xndWVzdC9LY29uZmlnCkBAIC0zLDcgKzMsNyBAQAogCXNlbGVjdCBQQVJBVklSVAogCWRlcGVuZHMgb24gWDg2XzMyCiAJZGVwZW5kcyBvbiAhWDg2X1BBRQotCWRlcGVuZHMgb24gIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAlzZWxlY3QgVklSVElPCiAJc2VsZWN0IFZJUlRJT19SSU5HCiAJc2VsZWN0IFZJUlRJT19DT05TT0xFCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jIGIvYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYwppbmRleCA1YzdlMmZkLi41MGRhZDQ0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jCisrKyBiL2FyY2gveDg2L2xndWVzdC9ib290LmMKQEAgLTYwNyw3ICs2MDcsNyBAQAogICogd2hhdCBzcGVlZCBpdCBydW5zIGF0LCBvciAwIGlmIGl0J3MgdW51c2FibGUgYXMgYSByZWxpYWJsZSBjbG9jayBzb3VyY2UuCiAgKiBUaGlzIG1hdGNoZXMgd2hhdCB3ZSB3YW50IGhlcmU6IGlmIHdlIHJldHVybiAwIGZyb20gdGhpcyBmdW5jdGlvbiwgdGhlIHg4NgogICogVFNDIGNsb2NrIHdpbGwgZ2l2ZSB1cCBhbmQgbm90IHJlZ2lzdGVyIGl0c2VsZi4gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxndWVzdF9jcHVfa2h6KHZvaWQpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBsZ3Vlc3RfdHNjX2toeih2b2lkKQogewogCXJldHVybiBsZ3Vlc3RfZGF0YS50c2Nfa2h6OwogfQpAQCAtODM1LDcgKzgzNSw3IEBACiAKIAkvKiBUaGUgTGludXggYm9vdGxvYWRlciBoZWFkZXIgY29udGFpbnMgYW4gImU4MjAiIG1lbW9yeSBtYXA6IHRoZQogCSAqIExhdW5jaGVyIHBvcHVsYXRlZCB0aGUgZmlyc3QgZW50cnkgd2l0aCBvdXIgbWVtb3J5IGxpbWl0LiAqLwotCWFkZF9tZW1vcnlfcmVnaW9uKGJvb3RfcGFyYW1zLmU4MjBfbWFwWzBdLmFkZHIsCisJZTgyMF9hZGRfcmVnaW9uKGJvb3RfcGFyYW1zLmU4MjBfbWFwWzBdLmFkZHIsCiAJCQkgIGJvb3RfcGFyYW1zLmU4MjBfbWFwWzBdLnNpemUsCiAJCQkgIGJvb3RfcGFyYW1zLmU4MjBfbWFwWzBdLnR5cGUpOwogCkBAIC05OTgsNyArOTk4LDcgQEAKIAkvKiB0aW1lIG9wZXJhdGlvbnMgKi8KIAlwdl90aW1lX29wcy5nZXRfd2FsbGNsb2NrID0gbGd1ZXN0X2dldF93YWxsY2xvY2s7CiAJcHZfdGltZV9vcHMudGltZV9pbml0ID0gbGd1ZXN0X3RpbWVfaW5pdDsKLQlwdl90aW1lX29wcy5nZXRfY3B1X2toeiA9IGxndWVzdF9jcHVfa2h6OworCXB2X3RpbWVfb3BzLmdldF90c2Nfa2h6ID0gbGd1ZXN0X3RzY19raHo7CiAKIAkvKiBOb3cgaXMgYSBnb29kIHRpbWUgdG8gbG9vayBhdCB0aGUgaW1wbGVtZW50YXRpb25zIG9mIHRoZXNlIGZ1bmN0aW9ucwogCSAqIGJlZm9yZSByZXR1cm5pbmcgdG8gdGhlIHJlc3Qgb2YgbGd1ZXN0X2luaXQoKS4gKi8KQEAgLTEwMTIsNiArMTAxMiw3IEBACiAJICogY2xvYmJlcmVkLiAgVGhlIExhdW5jaGVyIHBsYWNlcyBvdXIgaW5pdGlhbCBwYWdldGFibGVzIHNvbWV3aGVyZSBhdAogCSAqIHRoZSB0b3Agb2Ygb3VyIHBoeXNpY2FsIG1lbW9yeSwgc28gd2UgZG9uJ3QgbmVlZCBleHRyYSBzcGFjZTogc2V0CiAJICogaW5pdF9wZ190YWJsZXNfZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGtlcm5lbC4gKi8KKwlpbml0X3BnX3RhYmxlc19zdGFydCA9IF9fcGEocGcwKTsKIAlpbml0X3BnX3RhYmxlc19lbmQgPSBfX3BhKHBnMCk7CiAKIAkvKiBMb2FkIHRoZSAlZnMgc2VnbWVudCByZWdpc3RlciAodGhlIHBlci1jcHUgc2VnbWVudCByZWdpc3Rlcikgd2l0aApAQCAtMTA2NSw5ICsxMDY2LDkgQEAKIAlwbV9wb3dlcl9vZmYgPSBsZ3Vlc3RfcG93ZXJfb2ZmOwogCW1hY2hpbmVfb3BzLnJlc3RhcnQgPSBsZ3Vlc3RfcmVzdGFydDsKIAotCS8qIE5vdyB3ZSdyZSBzZXQgdXAsIGNhbGwgc3RhcnRfa2VybmVsKCkgaW4gaW5pdC9tYWluLmMgYW5kIHdlIHByb2NlZWQKKwkvKiBOb3cgd2UncmUgc2V0IHVwLCBjYWxsIGkzODZfc3RhcnRfa2VybmVsKCkgaW4gaGVhZDMyLmMgYW5kIHdlIHByb2NlZWQKIAkgKiB0byBib290IGFzIG5vcm1hbC4gIEl0IG5ldmVyIHJldHVybnMuICovCi0Jc3RhcnRfa2VybmVsKCk7CisJaTM4Nl9zdGFydF9rZXJuZWwoKTsKIH0KIC8qCiAgKiBUaGlzIG1hcmtzIHRoZSBlbmQgb2Ygc3RhZ2UgSUkgb2Ygb3VyIGpvdXJuZXksIFRoZSBHdWVzdC4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9NYWtlZmlsZSBiL2FyY2gveDg2L2xpYi9NYWtlZmlsZQppbmRleCA3NmY2MGY1Li5hYTNmYTQxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbGliL01ha2VmaWxlCkBAIC00LDggKzQsOSBAQAogCiBvYmotJChDT05GSUdfU01QKSA6PSBtc3Itb24tY3B1Lm8KIAotbGliLXkgOj0gZGVsYXlfJChCSVRTKS5vCi1saWIteSArPSB1c2VyY29weV8kKEJJVFMpLm8gZ2V0dXNlcl8kKEJJVFMpLm8gcHV0dXNlcl8kKEJJVFMpLm8KK2xpYi15IDo9IGRlbGF5Lm8KK2xpYi15ICs9IHRodW5rXyQoQklUUykubworbGliLXkgKz0gdXNlcmNvcHlfJChCSVRTKS5vIGdldHVzZXIubyBwdXR1c2VyLm8KIGxpYi15ICs9IG1lbWNweV8kKEJJVFMpLm8KIAogaWZlcSAoJChDT05GSUdfWDg2XzMyKSx5KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2NvcHlfdXNlcl82NC5TIGIvYXJjaC94ODYvbGliL2NvcHlfdXNlcl82NC5TCmluZGV4IGVlMWMzZjYuLmRmZGY0MjggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfNjQuUworKysgYi9hcmNoL3g4Ni9saWIvY29weV91c2VyXzY0LlMKQEAgLTEsOCArMSwxMCBAQAotLyogQ29weXJpZ2h0IDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgorLyoKKyAqIENvcHlyaWdodCAyMDA4IFZpdGFseSBNYXlhdHNraWtoIDx2bWF5YXRza0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgogICogU3ViamVjdCB0byB0aGUgR05VIFB1YmxpYyBMaWNlbnNlIHYyLgotICogCi0gKiBGdW5jdGlvbnMgdG8gY29weSBmcm9tIGFuZCB0byB1c2VyIHNwYWNlLgkJCi0gKi8JCSAKKyAqCisgKiBGdW5jdGlvbnMgdG8gY29weSBmcm9tIGFuZCB0byB1c2VyIHNwYWNlLgorICovCiAKICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CiAjaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgpAQCAtMjAsNjAgKzIyLDg4IEBACiAJLmxvbmcgXG9yaWctMWYJLyogYnkgZGVmYXVsdCBqdW1wIHRvIG9yaWcgKi8KIDE6CiAJLnNlY3Rpb24gLmFsdGluc3RyX3JlcGxhY2VtZW50LCJheCIKLTI6CS5ieXRlIDB4ZTkJICAgICAgICAgICAgIC8qIG5lYXIganVtcCB3aXRoIDMyYml0IGltbWVkaWF0ZSAqLworMjoJLmJ5dGUgMHhlOQkJCS8qIG5lYXIganVtcCB3aXRoIDMyYml0IGltbWVkaWF0ZSAqLwogCS5sb25nIFxhbHQtMWIgLyogb2Zmc2V0ICovICAgLyogb3IgYWx0ZXJuYXRpdmVseSB0byBhbHQgKi8KIAkucHJldmlvdXMKIAkuc2VjdGlvbiAuYWx0aW5zdHJ1Y3Rpb25zLCJhIgogCS5hbGlnbiA4CiAJLnF1YWQgIDBiCiAJLnF1YWQgIDJiCi0JLmJ5dGUgIFxmZWF0dXJlCQkgICAgIC8qIHdoZW4gZmVhdHVyZSBpcyBzZXQgKi8KKwkuYnl0ZSAgXGZlYXR1cmUJCQkvKiB3aGVuIGZlYXR1cmUgaXMgc2V0ICovCiAJLmJ5dGUgIDUKIAkuYnl0ZSAgNQogCS5wcmV2aW91cwogCS5lbmRtCiAKLS8qIFN0YW5kYXJkIGNvcHlfdG9fdXNlciB3aXRoIHNlZ21lbnQgbGltaXQgY2hlY2tpbmcgKi8JCQorCS5tYWNybyBBTElHTl9ERVNUSU5BVElPTgorI2lmZGVmIEZJWF9BTElHTk1FTlQKKwkvKiBjaGVjayBmb3IgYmFkIGFsaWdubWVudCBvZiBkZXN0aW5hdGlvbiAqLworCW1vdmwgJWVkaSwlZWN4CisJYW5kbCAkNywlZWN4CisJanogMTAyZgkJCQkvKiBhbHJlYWR5IGFsaWduZWQgKi8KKwlzdWJsICQ4LCVlY3gKKwluZWdsICVlY3gKKwlzdWJsICVlY3gsJWVkeAorMTAwOgltb3ZiICglcnNpKSwlYWwKKzEwMToJbW92YiAlYWwsKCVyZGkpCisJaW5jcSAlcnNpCisJaW5jcSAlcmRpCisJZGVjbCAlZWN4CisJam56IDEwMGIKKzEwMjoKKwkuc2VjdGlvbiAuZml4dXAsImF4IgorMTAzOglhZGRsICVyOGQsJWVkeAkJCS8qIGVjeCBpcyB6ZXJvcmVzdCBhbHNvICovCisJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbAorCS5wcmV2aW91cworCisJLnNlY3Rpb24gX19leF90YWJsZSwiYSIKKwkuYWxpZ24gOAorCS5xdWFkIDEwMGIsMTAzYgorCS5xdWFkIDEwMWIsMTAzYgorCS5wcmV2aW91cworI2VuZGlmCisJLmVuZG0KKworLyogU3RhbmRhcmQgY29weV90b191c2VyIHdpdGggc2VnbWVudCBsaW1pdCBjaGVja2luZyAqLwogRU5UUlkoY29weV90b191c2VyKQogCUNGSV9TVEFSVFBST0MKIAlHRVRfVEhSRUFEX0lORk8oJXJheCkKIAltb3ZxICVyZGksJXJjeAogCWFkZHEgJXJkeCwlcmN4Ci0JamMgIGJhZF90b191c2VyCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXJheCksJXJjeAorCWpjIGJhZF90b191c2VyCisJY21wcSBUSV9hZGRyX2xpbWl0KCVyYXgpLCVyY3gKIAlqYWUgYmFkX3RvX3VzZXIKLQl4b3JsICVlYXgsJWVheAkvKiBjbGVhciB6ZXJvIGZsYWcgKi8KIAlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZwogCUNGSV9FTkRQUk9DCiAKLUVOVFJZKGNvcHlfdXNlcl9nZW5lcmljKQotCUNGSV9TVEFSVFBST0MKLQltb3ZsICQxLCVlY3gJLyogc2V0IHplcm8gZmxhZyAqLwotCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCi0JQ0ZJX0VORFBST0MKLQotRU5UUlkoX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYykKLQlDRklfU1RBUlRQUk9DCi0JeG9ybCAlZWN4LCVlY3gJLyogY2xlYXIgemVybyBmbGFnICovCi0JQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKLQlDRklfRU5EUFJPQwotCi0vKiBTdGFuZGFyZCBjb3B5X2Zyb21fdXNlciB3aXRoIHNlZ21lbnQgbGltaXQgY2hlY2tpbmcgKi8JCisvKiBTdGFuZGFyZCBjb3B5X2Zyb21fdXNlciB3aXRoIHNlZ21lbnQgbGltaXQgY2hlY2tpbmcgKi8KIEVOVFJZKGNvcHlfZnJvbV91c2VyKQogCUNGSV9TVEFSVFBST0MKIAlHRVRfVEhSRUFEX0lORk8oJXJheCkKIAltb3ZxICVyc2ksJXJjeAogCWFkZHEgJXJkeCwlcmN4Ci0JamMgIGJhZF9mcm9tX3VzZXIKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcmF4KSwlcmN4Ci0JamFlICBiYWRfZnJvbV91c2VyCi0JbW92bCAkMSwlZWN4CS8qIHNldCB6ZXJvIGZsYWcgKi8KKwlqYyBiYWRfZnJvbV91c2VyCisJY21wcSBUSV9hZGRyX2xpbWl0KCVyYXgpLCVyY3gKKwlqYWUgYmFkX2Zyb21fdXNlcgogCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCiAJQ0ZJX0VORFBST0MKIEVORFBST0MoY29weV9mcm9tX3VzZXIpCi0JCisKK0VOVFJZKGNvcHlfdXNlcl9nZW5lcmljKQorCUNGSV9TVEFSVFBST0MKKwlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZworCUNGSV9FTkRQUk9DCitFTkRQUk9DKGNvcHlfdXNlcl9nZW5lcmljKQorCitFTlRSWShfX2NvcHlfZnJvbV91c2VyX2luYXRvbWljKQorCUNGSV9TVEFSVFBST0MKKwlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZworCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fY29weV9mcm9tX3VzZXJfaW5hdG9taWMpCisKIAkuc2VjdGlvbiAuZml4dXAsImF4IgogCS8qIG11c3QgemVybyBkZXN0ICovCitFTlRSWShiYWRfZnJvbV91c2VyKQogYmFkX2Zyb21fdXNlcjoKIAlDRklfU1RBUlRQUk9DCiAJbW92bCAlZWR4LCVlY3gKQEAgLTgxLDI3MSArMTExLDE1OCBAQAogCXJlcAogCXN0b3NiCiBiYWRfdG9fdXNlcjoKLQltb3ZsCSVlZHgsJWVheAorCW1vdmwgJWVkeCwlZWF4CiAJcmV0CiAJQ0ZJX0VORFBST0MKLUVORChiYWRfZnJvbV91c2VyKQorRU5EUFJPQyhiYWRfZnJvbV91c2VyKQogCS5wcmV2aW91cwotCQotCQkKKwogLyoKICAqIGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkIC0gbWVtb3J5IGNvcHkgd2l0aCBleGNlcHRpb24gaGFuZGxpbmcuCi0gKiBUaGlzIHZlcnNpb24gaXMgZm9yIENQVXMgbGlrZSBQNCB0aGF0IGRvbid0IGhhdmUgZWZmaWNpZW50IG1pY3JvIGNvZGUgZm9yIHJlcCBtb3ZzcQotICogCQotICogSW5wdXQ6CQorICogVGhpcyB2ZXJzaW9uIGlzIGZvciBDUFVzIGxpa2UgUDQgdGhhdCBkb24ndCBoYXZlIGVmZmljaWVudCBtaWNybworICogY29kZSBmb3IgcmVwIG1vdnNxCisgKgorICogSW5wdXQ6CiAgKiByZGkgZGVzdGluYXRpb24KICAqIHJzaSBzb3VyY2UKICAqIHJkeCBjb3VudAotICogZWN4IHplcm8gZmxhZyAtLSBpZiB0cnVlIHplcm8gZGVzdGluYXRpb24gb24gZXJyb3IKICAqCi0gKiBPdXRwdXQ6CQkKLSAqIGVheCB1bmNvcGllZCBieXRlcyBvciAwIGlmIHN1Y2Nlc3NmdWwuCisgKiBPdXRwdXQ6CisgKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsbC4KICAqLwogRU5UUlkoY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQpCiAJQ0ZJX1NUQVJUUFJPQwotCXB1c2hxICVyYngKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAotCUNGSV9SRUxfT0ZGU0VUIHJieCwgMAotCXB1c2hxICVyY3gKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAotCUNGSV9SRUxfT0ZGU0VUIHJjeCwgMAotCXhvcmwgJWVheCwlZWF4CQkvKnplcm8gZm9yIHRoZSBleGNlcHRpb24gaGFuZGxlciAqLwotCi0jaWZkZWYgRklYX0FMSUdOTUVOVAotCS8qIGNoZWNrIGZvciBiYWQgYWxpZ25tZW50IG9mIGRlc3RpbmF0aW9uICovCi0JbW92bCAlZWRpLCVlY3gKLQlhbmRsICQ3LCVlY3gKLQlqbnogIC5MYmFkX2FsaWdubWVudAotLkxhZnRlcl9iYWRfYWxpZ25tZW50OgotI2VuZGlmCi0KLQltb3ZxICVyZHgsJXJjeAotCi0JbW92bCAkNjQsJWVieAotCXNocnEgJDYsJXJkeAotCWRlY3EgJXJkeAotCWpzICAgLkxoYW5kbGVfdGFpbAotCi0JLnAyYWxpZ24gNAotLkxsb29wOgotLkxzMToJbW92cSAoJXJzaSksJXIxMQotLkxzMjoJbW92cSAxKjgoJXJzaSksJXI4Ci0uTHMzOgltb3ZxIDIqOCglcnNpKSwlcjkKLS5MczQ6CW1vdnEgMyo4KCVyc2kpLCVyMTAKLS5MZDE6CW1vdnEgJXIxMSwoJXJkaSkKLS5MZDI6CW1vdnEgJXI4LDEqOCglcmRpKQotLkxkMzoJbW92cSAlcjksMio4KCVyZGkpCi0uTGQ0Ogltb3ZxICVyMTAsMyo4KCVyZGkpCi0KLS5MczU6CW1vdnEgNCo4KCVyc2kpLCVyMTEKLS5MczY6CW1vdnEgNSo4KCVyc2kpLCVyOAotLkxzNzoJbW92cSA2KjgoJXJzaSksJXI5Ci0uTHM4Ogltb3ZxIDcqOCglcnNpKSwlcjEwCi0uTGQ1Ogltb3ZxICVyMTEsNCo4KCVyZGkpCi0uTGQ2Ogltb3ZxICVyOCw1KjgoJXJkaSkKLS5MZDc6CW1vdnEgJXI5LDYqOCglcmRpKQotLkxkODoJbW92cSAlcjEwLDcqOCglcmRpKQotCi0JZGVjcSAlcmR4Ci0KKwljbXBsICQ4LCVlZHgKKwlqYiAyMGYJCS8qIGxlc3MgdGhlbiA4IGJ5dGVzLCBnbyB0byBieXRlIGNvcHkgbG9vcCAqLworCUFMSUdOX0RFU1RJTkFUSU9OCisJbW92bCAlZWR4LCVlY3gKKwlhbmRsICQ2MywlZWR4CisJc2hybCAkNiwlZWN4CisJanogMTdmCisxOgltb3ZxICglcnNpKSwlcjgKKzI6CW1vdnEgMSo4KCVyc2kpLCVyOQorMzoJbW92cSAyKjgoJXJzaSksJXIxMAorNDoJbW92cSAzKjgoJXJzaSksJXIxMQorNToJbW92cSAlcjgsKCVyZGkpCis2Ogltb3ZxICVyOSwxKjgoJXJkaSkKKzc6CW1vdnEgJXIxMCwyKjgoJXJkaSkKKzg6CW1vdnEgJXIxMSwzKjgoJXJkaSkKKzk6CW1vdnEgNCo4KCVyc2kpLCVyOAorMTA6CW1vdnEgNSo4KCVyc2kpLCVyOQorMTE6CW1vdnEgNio4KCVyc2kpLCVyMTAKKzEyOgltb3ZxIDcqOCglcnNpKSwlcjExCisxMzoJbW92cSAlcjgsNCo4KCVyZGkpCisxNDoJbW92cSAlcjksNSo4KCVyZGkpCisxNToJbW92cSAlcjEwLDYqOCglcmRpKQorMTY6CW1vdnEgJXIxMSw3KjgoJXJkaSkKIAlsZWFxIDY0KCVyc2kpLCVyc2kKIAlsZWFxIDY0KCVyZGkpLCVyZGkKLQotCWpucyAgLkxsb29wCi0KLQkucDJhbGlnbiA0Ci0uTGhhbmRsZV90YWlsOgotCW1vdmwgJWVjeCwlZWR4Ci0JYW5kbCAkNjMsJWVjeAorCWRlY2wgJWVjeAorCWpueiAxYgorMTc6CW1vdmwgJWVkeCwlZWN4CisJYW5kbCAkNywlZWR4CiAJc2hybCAkMywlZWN4Ci0JanogICAuTGhhbmRsZV83Ci0JbW92bCAkOCwlZWJ4Ci0JLnAyYWxpZ24gNAotLkxsb29wXzg6Ci0uTHM5Ogltb3ZxICglcnNpKSwlcjgKLS5MZDk6CW1vdnEgJXI4LCglcmRpKQotCWRlY2wgJWVjeAotCWxlYXEgOCglcmRpKSwlcmRpCisJanogMjBmCisxODoJbW92cSAoJXJzaSksJXI4CisxOToJbW92cSAlcjgsKCVyZGkpCiAJbGVhcSA4KCVyc2kpLCVyc2kKLQlqbnogLkxsb29wXzgKLQotLkxoYW5kbGVfNzoKKwlsZWFxIDgoJXJkaSksJXJkaQorCWRlY2wgJWVjeAorCWpueiAxOGIKKzIwOglhbmRsICVlZHgsJWVkeAorCWp6IDIzZgogCW1vdmwgJWVkeCwlZWN4Ci0JYW5kbCAkNywlZWN4Ci0JanogICAuTGVuZGUKLQkucDJhbGlnbiA0Ci0uTGxvb3BfMToKLS5MczEwOgltb3ZiICglcnNpKSwlYmwKLS5MZDEwOgltb3ZiICVibCwoJXJkaSkKLQlpbmNxICVyZGkKKzIxOgltb3ZiICglcnNpKSwlYWwKKzIyOgltb3ZiICVhbCwoJXJkaSkKIAlpbmNxICVyc2kKKwlpbmNxICVyZGkKIAlkZWNsICVlY3gKLQlqbnogLkxsb29wXzEKLQotCUNGSV9SRU1FTUJFUl9TVEFURQotLkxlbmRlOgotCXBvcHEgJXJjeAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAotCUNGSV9SRVNUT1JFIHJjeAotCXBvcHEgJXJieAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAotCUNGSV9SRVNUT1JFIHJieAorCWpueiAyMWIKKzIzOgl4b3IgJWVheCwlZWF4CiAJcmV0Ci0JQ0ZJX1JFU1RPUkVfU1RBVEUKIAotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkvKiBhbGlnbiBkZXN0aW5hdGlvbiAqLwotCS5wMmFsaWduIDQKLS5MYmFkX2FsaWdubWVudDoKLQltb3ZsICQ4LCVyOWQKLQlzdWJsICVlY3gsJXI5ZAotCW1vdmwgJXI5ZCwlZWN4Ci0JY21wcSAlcjksJXJkeAotCWp6ICAgLkxoYW5kbGVfNwotCWpzICAgLkxoYW5kbGVfNwotLkxhbGlnbl8xOgotLkxzMTE6CW1vdmIgKCVyc2kpLCVibAotLkxkMTE6CW1vdmIgJWJsLCglcmRpKQotCWluY3EgJXJzaQotCWluY3EgJXJkaQotCWRlY2wgJWVjeAotCWpueiAuTGFsaWduXzEKLQlzdWJxICVyOSwlcmR4Ci0Jam1wIC5MYWZ0ZXJfYmFkX2FsaWdubWVudAotI2VuZGlmCisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzMwOglzaGxsICQ2LCVlY3gKKwlhZGRsICVlY3gsJWVkeAorCWptcCA2MGYKKzQwOglsZWEgKCVyZHgsJXJjeCw4KSwlcmR4CisJam1wIDYwZgorNTA6CW1vdmwgJWVjeCwlZWR4Cis2MDoJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbCAvKiBlY3ggaXMgemVyb3Jlc3QgYWxzbyAqLworCS5wcmV2aW91cwogCi0JLyogdGFibGUgc29ydGVkIGJ5IGV4Y2VwdGlvbiBhZGRyZXNzICovCiAJLnNlY3Rpb24gX19leF90YWJsZSwiYSIKIAkuYWxpZ24gOAotCS5xdWFkIC5MczEsLkxzMWUJLyogTHMxLUxzNCBoYXZlIGNvcGllZCB6ZXJvIGJ5dGVzICovCi0JLnF1YWQgLkxzMiwuTHMxZQotCS5xdWFkIC5MczMsLkxzMWUKLQkucXVhZCAuTHM0LC5MczFlCi0JLnF1YWQgLkxkMSwuTHMxZQkvKiBMZDEtTGQ0IGhhdmUgY29waWVkIDAtMjQgYnl0ZXMgKi8KLQkucXVhZCAuTGQyLC5MczJlCi0JLnF1YWQgLkxkMywuTHMzZQotCS5xdWFkIC5MZDQsLkxzNGUKLQkucXVhZCAuTHM1LC5MczVlCS8qIExzNS1MczggaGF2ZSBjb3BpZWQgMzIgYnl0ZXMgKi8KLQkucXVhZCAuTHM2LC5MczVlCi0JLnF1YWQgLkxzNywuTHM1ZQotCS5xdWFkIC5MczgsLkxzNWUKLQkucXVhZCAuTGQ1LC5MczVlCS8qIExkNS1MZDggaGF2ZSBjb3BpZWQgMzItNTYgYnl0ZXMgKi8KLQkucXVhZCAuTGQ2LC5MczZlCi0JLnF1YWQgLkxkNywuTHM3ZQotCS5xdWFkIC5MZDgsLkxzOGUKLQkucXVhZCAuTHM5LC5MZV9xdWFkCi0JLnF1YWQgLkxkOSwuTGVfcXVhZAotCS5xdWFkIC5MczEwLC5MZV9ieXRlCi0JLnF1YWQgLkxkMTAsLkxlX2J5dGUKLSNpZmRlZiBGSVhfQUxJR05NRU5UCi0JLnF1YWQgLkxzMTEsLkx6ZXJvX3Jlc3QKLQkucXVhZCAuTGQxMSwuTHplcm9fcmVzdAotI2VuZGlmCi0JLnF1YWQgLkxlNSwuTGVfemVybworCS5xdWFkIDFiLDMwYgorCS5xdWFkIDJiLDMwYgorCS5xdWFkIDNiLDMwYgorCS5xdWFkIDRiLDMwYgorCS5xdWFkIDViLDMwYgorCS5xdWFkIDZiLDMwYgorCS5xdWFkIDdiLDMwYgorCS5xdWFkIDhiLDMwYgorCS5xdWFkIDliLDMwYgorCS5xdWFkIDEwYiwzMGIKKwkucXVhZCAxMWIsMzBiCisJLnF1YWQgMTJiLDMwYgorCS5xdWFkIDEzYiwzMGIKKwkucXVhZCAxNGIsMzBiCisJLnF1YWQgMTViLDMwYgorCS5xdWFkIDE2YiwzMGIKKwkucXVhZCAxOGIsNDBiCisJLnF1YWQgMTliLDQwYgorCS5xdWFkIDIxYiw1MGIKKwkucXVhZCAyMmIsNTBiCiAJLnByZXZpb3VzCi0KLQkvKiBlYXg6IHplcm8sIGVieDogNjQgKi8KLS5MczFlOiAJYWRkbCAkOCwlZWF4CQkvKiBlYXggaXMgYnl0ZXMgbGVmdCB1bmNvcGllZCB3aXRoaW4gdGhlIGxvb3AgKExzMWU6IDY0IC4uIExzOGU6IDgpICovCi0uTHMyZTogCWFkZGwgJDgsJWVheAotLkxzM2U6IAlhZGRsICQ4LCVlYXgKLS5MczRlOiAJYWRkbCAkOCwlZWF4Ci0uTHM1ZTogCWFkZGwgJDgsJWVheAotLkxzNmU6IAlhZGRsICQ4LCVlYXgKLS5MczdlOiAJYWRkbCAkOCwlZWF4Ci0uTHM4ZTogCWFkZGwgJDgsJWVheAotCWFkZHEgJXJieCwlcmRpCS8qICs2NCAqLwotCXN1YnEgJXJheCwlcmRpICAvKiBjb3JyZWN0IGRlc3RpbmF0aW9uIHdpdGggY29tcHV0ZWQgb2Zmc2V0ICovCi0KLQlzaGxxICQ2LCVyZHgJLyogbG9vcCBjb3VudGVyICogNjQgKHN0cmlkZSBsZW5ndGgpICovCi0JYWRkcSAlcmF4LCVyZHgJLyogYWRkIG9mZnNldCB0byBsb29wY250ICovCi0JYW5kbCAkNjMsJWVjeAkvKiByZW1haW5pbmcgYnl0ZXMgKi8KLQlhZGRxICVyY3gsJXJkeAkvKiBhZGQgdGhlbSAqLwotCWptcCAuTHplcm9fcmVzdAotCi0JLyogZXhjZXB0aW9uIG9uIHF1YWQgd29yZCBsb29wIGluIHRhaWwgaGFuZGxpbmcgKi8KLQkvKiBlY3g6CWxvb3BjbnQvOCwgJWVkeDogbGVuZ3RoLCByZGk6IGNvcnJlY3QgKi8KLS5MZV9xdWFkOgotCXNobGwgJDMsJWVjeAotCWFuZGwgJDcsJWVkeAotCWFkZGwgJWVjeCwlZWR4Ci0JLyogZWR4OiBieXRlcyB0byB6ZXJvLCByZGk6IGRlc3QsIGVheDp6ZXJvICovCi0uTHplcm9fcmVzdDoKLQljbXBsICQwLCglcnNwKQotCWp6ICAgLkxlX3plcm8KLQltb3ZxICVyZHgsJXJjeAotLkxlX2J5dGU6Ci0JeG9ybCAlZWF4LCVlYXgKLS5MZTU6CXJlcAotCXN0b3NiCi0JLyogd2hlbiB0aGVyZSBpcyBhbm90aGVyIGV4Y2VwdGlvbiB3aGlsZSB6ZXJvaW5nIHRoZSByZXN0IGp1c3QgcmV0dXJuICovCi0uTGVfemVybzoKLQltb3ZxICVyZHgsJXJheAotCWptcCAuTGVuZGUKIAlDRklfRU5EUFJPQwotRU5EUFJPQyhjb3B5X3VzZXJfZ2VuZXJpYykKK0VORFBST0MoY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQpCiAKLQotCS8qIFNvbWUgQ1BVcyBydW4gZmFzdGVyIHVzaW5nIHRoZSBzdHJpbmcgY29weSBpbnN0cnVjdGlvbnMuCi0JICAgVGhpcyBpcyBhbHNvIGEgbG90IHNpbXBsZXIuIFVzZSB0aGVtIHdoZW4gcG9zc2libGUuCi0JICAgUGF0Y2ggaW4gam1wcyB0byB0aGlzIGNvZGUgaW5zdGVhZCBvZiBjb3B5aW5nIGl0IGZ1bGx5Ci0JICAgdG8gYXZvaWQgdW53YW50ZWQgYWxpYXNpbmcgaW4gdGhlIGV4Y2VwdGlvbiB0YWJsZXMuICovCi0KLSAvKiByZGkJZGVzdGluYXRpb24KLSAgKiByc2kgc291cmNlCi0gICogcmR4IGNvdW50Ci0gICogZWN4IHplcm8gZmxhZwotICAqCi0gICogT3V0cHV0OgotICAqIGVheCB1bmNvcGllZCBieXRlcyBvciAwIGlmIHN1Y2Nlc3NmdWxsLgotICAqCi0gICogT25seSA0R0Igb2YgY29weSBpcyBzdXBwb3J0ZWQuIFRoaXMgc2hvdWxkbid0IGJlIGEgcHJvYmxlbQotICAqIGJlY2F1c2UgdGhlIGtlcm5lbCBub3JtYWxseSBvbmx5IHdyaXRlcyBmcm9tL3RvIHBhZ2Ugc2l6ZWQgY2h1bmtzCi0gICogZXZlbiBpZiB1c2VyIHNwYWNlIHBhc3NlZCBhIGxvbmdlciBidWZmZXIuCi0gICogQW5kIG1vcmUgd291bGQgYmUgZGFuZ2Vyb3VzIGJlY2F1c2UgYm90aCBJbnRlbCBhbmQgQU1EIGhhdmUKLSAgKiBlcnJhdGEgd2l0aCByZXAgbW92c3EgPiA0R0IuIElmIHNvbWVvbmUgZmVlbHMgdGhlIG5lZWQgdG8gZml4Ci0gICogdGhpcyBwbGVhc2UgY29uc2lkZXIgdGhpcy4KLSAgKi8KKy8qIFNvbWUgQ1BVcyBydW4gZmFzdGVyIHVzaW5nIHRoZSBzdHJpbmcgY29weSBpbnN0cnVjdGlvbnMuCisgKiBUaGlzIGlzIGFsc28gYSBsb3Qgc2ltcGxlci4gVXNlIHRoZW0gd2hlbiBwb3NzaWJsZS4KKyAqCisgKiBPbmx5IDRHQiBvZiBjb3B5IGlzIHN1cHBvcnRlZC4gVGhpcyBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtCisgKiBiZWNhdXNlIHRoZSBrZXJuZWwgbm9ybWFsbHkgb25seSB3cml0ZXMgZnJvbS90byBwYWdlIHNpemVkIGNodW5rcworICogZXZlbiBpZiB1c2VyIHNwYWNlIHBhc3NlZCBhIGxvbmdlciBidWZmZXIuCisgKiBBbmQgbW9yZSB3b3VsZCBiZSBkYW5nZXJvdXMgYmVjYXVzZSBib3RoIEludGVsIGFuZCBBTUQgaGF2ZQorICogZXJyYXRhIHdpdGggcmVwIG1vdnNxID4gNEdCLiBJZiBzb21lb25lIGZlZWxzIHRoZSBuZWVkIHRvIGZpeAorICogdGhpcyBwbGVhc2UgY29uc2lkZXIgdGhpcy4KKyAqCisgKiBJbnB1dDoKKyAqIHJkaSBkZXN0aW5hdGlvbgorICogcnNpIHNvdXJjZQorICogcmR4IGNvdW50CisgKgorICogT3V0cHV0OgorICogZWF4IHVuY29waWVkIGJ5dGVzIG9yIDAgaWYgc3VjY2Vzc2Z1bC4KKyAqLwogRU5UUlkoY29weV91c2VyX2dlbmVyaWNfc3RyaW5nKQogCUNGSV9TVEFSVFBST0MKLQltb3ZsICVlY3gsJXI4ZAkJLyogc2F2ZSB6ZXJvIGZsYWcgKi8KKwlhbmRsICVlZHgsJWVkeAorCWp6IDRmCisJY21wbCAkOCwlZWR4CisJamIgMmYJCS8qIGxlc3MgdGhhbiA4IGJ5dGVzLCBnbyB0byBieXRlIGNvcHkgbG9vcCAqLworCUFMSUdOX0RFU1RJTkFUSU9OCiAJbW92bCAlZWR4LCVlY3gKIAlzaHJsICQzLCVlY3gKLQlhbmRsICQ3LCVlZHgJCi0JanogICAxMGYKLTE6CXJlcCAKLQltb3ZzcSAKLQltb3ZsICVlZHgsJWVjeAotMjoJcmVwCi0JbW92c2IKLTk6CW1vdmwgJWVjeCwlZWF4Ci0JcmV0Ci0KLQkvKiBtdWx0aXBsZSBvZiA4IGJ5dGUgKi8KLTEwOglyZXAKKwlhbmRsICQ3LCVlZHgKKzE6CXJlcAogCW1vdnNxCi0JeG9yICVlYXgsJWVheAorMjoJbW92bCAlZWR4LCVlY3gKKzM6CXJlcAorCW1vdnNiCis0Ogl4b3JsICVlYXgsJWVheAogCXJldAogCi0JLyogZXhjZXB0aW9uIGhhbmRsaW5nICovCi0zOiAgICAgIGxlYSAoJXJkeCwlcmN4LDgpLCVyYXgJLyogZXhjZXB0aW9uIG9uIHF1YWQgbG9vcCAqLwotCWptcCA2ZgotNToJbW92bCAlZWN4LCVlYXgJCS8qIGV4Y2VwdGlvbiBvbiBieXRlIGxvb3AgKi8KLQkvKiBlYXg6IGxlZnQgb3ZlciBieXRlcyAqLwotNjoJdGVzdGwgJXI4ZCwlcjhkCQkvKiB6ZXJvIGZsYWcgc2V0PyAqLwotCWp6IDdmCi0JbW92bCAlZWF4LCVlY3gJCS8qIGluaXRpYWxpemUgeDg2IGxvb3AgY291bnRlciAqLwotCXB1c2ggJXJheAotCXhvcmwgJWVheCwlZWF4Ci04OglyZXAKLQlzdG9zYiAJCQkvKiB6ZXJvIHRoZSByZXN0ICovCi0xMToJcG9wICVyYXgKLTc6CXJldAotCUNGSV9FTkRQUk9DCi1FTkQoY29weV91c2VyX2dlbmVyaWNfYykKKwkuc2VjdGlvbiAuZml4dXAsImF4IgorMTE6CWxlYSAoJXJkeCwlcmN4LDgpLCVyY3gKKzEyOgltb3ZsICVlY3gsJWVkeAkJLyogZWN4IGlzIHplcm9yZXN0IGFsc28gKi8KKwlqbXAgY29weV91c2VyX2hhbmRsZV90YWlsCisJLnByZXZpb3VzCiAKIAkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5xdWFkIDFiLDNiCi0JLnF1YWQgMmIsNWIKLQkucXVhZCA4YiwxMWIKLQkucXVhZCAxMGIsM2IKKwkuYWxpZ24gOAorCS5xdWFkIDFiLDExYgorCS5xdWFkIDNiLDEyYgogCS5wcmV2aW91cworCUNGSV9FTkRQUk9DCitFTkRQUk9DKGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZykKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfbm9jYWNoZV82NC5TIGIvYXJjaC94ODYvbGliL2NvcHlfdXNlcl9ub2NhY2hlXzY0LlMKaW5kZXggOWQzZDFhYi4uNDBlMGUzMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL2NvcHlfdXNlcl9ub2NhY2hlXzY0LlMKKysrIGIvYXJjaC94ODYvbGliL2NvcHlfdXNlcl9ub2NhY2hlXzY0LlMKQEAgLTEsNCArMSw2IEBACi0vKiBDb3B5cmlnaHQgMjAwMiBBbmRpIEtsZWVuLCBTdVNFIExhYnMuCisvKgorICogQ29weXJpZ2h0IDIwMDggVml0YWx5IE1heWF0c2tpa2ggPHZtYXlhdHNrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgMjAwMiBBbmRpIEtsZWVuLCBTdVNFIExhYnMuCiAgKiBTdWJqZWN0IHRvIHRoZSBHTlUgUHVibGljIExpY2Vuc2UgdjIuCiAgKgogICogRnVuY3Rpb25zIHRvIGNvcHkgZnJvbSBhbmQgdG8gdXNlciBzcGFjZS4KQEAgLTEyLDIwNCArMTQsMTI1IEBACiAjaW5jbHVkZSA8YXNtL2N1cnJlbnQuaD4KICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KICNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLSNpbmNsdWRlIDxhc20vY3B1ZmVhdHVyZS5oPgogCi0vKgotICogY29weV91c2VyX25vY2FjaGUgLSBVbmNhY2hlZCBtZW1vcnkgY29weSB3aXRoIGV4Y2VwdGlvbiBoYW5kbGluZwotICogVGhpcyB3aWxsIGZvcmNlIGRlc3RpbmF0aW9uL3NvdXJjZSBvdXQgb2YgY2FjaGUgZm9yIG1vcmUgcGVyZm9ybWFuY2UuCi0gKgotICogSW5wdXQ6Ci0gKiByZGkgZGVzdGluYXRpb24KLSAqIHJzaSBzb3VyY2UKLSAqIHJkeCBjb3VudAotICogcmN4IHplcm8gZmxhZwl3aGVuIDEgemVybyBvbiBleGNlcHRpb24KLSAqCi0gKiBPdXRwdXQ6Ci0gKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsLgotICovCi1FTlRSWShfX2NvcHlfdXNlcl9ub2NhY2hlKQotCUNGSV9TVEFSVFBST0MKLQlwdXNocSAlcmJ4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKLQlDRklfUkVMX09GRlNFVCByYngsIDAKLQlwdXNocSAlcmN4CQkvKiBzYXZlIHplcm8gZmxhZyAqLwotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4Ci0JQ0ZJX1JFTF9PRkZTRVQgcmN4LCAwCi0KLQl4b3JsICVlYXgsJWVheAkJLyogemVybyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyICovCi0KKwkubWFjcm8gQUxJR05fREVTVElOQVRJT04KICNpZmRlZiBGSVhfQUxJR05NRU5UCiAJLyogY2hlY2sgZm9yIGJhZCBhbGlnbm1lbnQgb2YgZGVzdGluYXRpb24gKi8KIAltb3ZsICVlZGksJWVjeAogCWFuZGwgJDcsJWVjeAotCWpueiAgLkxiYWRfYWxpZ25tZW50Ci0uTGFmdGVyX2JhZF9hbGlnbm1lbnQ6Ci0jZW5kaWYKLQotCW1vdnEgJXJkeCwlcmN4Ci0KLQltb3ZsICQ2NCwlZWJ4Ci0Jc2hycSAkNiwlcmR4Ci0JZGVjcSAlcmR4Ci0JanMgICAuTGhhbmRsZV90YWlsCi0KLQkucDJhbGlnbiA0Ci0uTGxvb3A6Ci0uTHMxOgltb3ZxICglcnNpKSwlcjExCi0uTHMyOgltb3ZxIDEqOCglcnNpKSwlcjgKLS5MczM6CW1vdnEgMio4KCVyc2kpLCVyOQotLkxzNDoJbW92cSAzKjgoJXJzaSksJXIxMAotLkxkMToJbW92bnRpICVyMTEsKCVyZGkpCi0uTGQyOgltb3ZudGkgJXI4LDEqOCglcmRpKQotLkxkMzoJbW92bnRpICVyOSwyKjgoJXJkaSkKLS5MZDQ6CW1vdm50aSAlcjEwLDMqOCglcmRpKQotCi0uTHM1Ogltb3ZxIDQqOCglcnNpKSwlcjExCi0uTHM2Ogltb3ZxIDUqOCglcnNpKSwlcjgKLS5Mczc6CW1vdnEgNio4KCVyc2kpLCVyOQotLkxzODoJbW92cSA3KjgoJXJzaSksJXIxMAotLkxkNToJbW92bnRpICVyMTEsNCo4KCVyZGkpCi0uTGQ2Ogltb3ZudGkgJXI4LDUqOCglcmRpKQotLkxkNzoJbW92bnRpICVyOSw2KjgoJXJkaSkKLS5MZDg6CW1vdm50aSAlcjEwLDcqOCglcmRpKQotCi0JZGVjICAlcmR4Ci0KLQlsZWFxIDY0KCVyc2kpLCVyc2kKLQlsZWFxIDY0KCVyZGkpLCVyZGkKLQotCWpucyAgLkxsb29wCi0KLQkucDJhbGlnbiA0Ci0uTGhhbmRsZV90YWlsOgotCW1vdmwgJWVjeCwlZWR4Ci0JYW5kbCAkNjMsJWVjeAotCXNocmwgJDMsJWVjeAotCWp6ICAgLkxoYW5kbGVfNwotCW1vdmwgJDgsJWVieAotCS5wMmFsaWduIDQKLS5MbG9vcF84OgotLkxzOToJbW92cSAoJXJzaSksJXI4Ci0uTGQ5Ogltb3ZudGkgJXI4LCglcmRpKQotCWRlY2wgJWVjeAotCWxlYXEgOCglcmRpKSwlcmRpCi0JbGVhcSA4KCVyc2kpLCVyc2kKLQlqbnogLkxsb29wXzgKLQotLkxoYW5kbGVfNzoKLQltb3ZsICVlZHgsJWVjeAotCWFuZGwgJDcsJWVjeAotCWp6ICAgLkxlbmRlCi0JLnAyYWxpZ24gNAotLkxsb29wXzE6Ci0uTHMxMDoJbW92YiAoJXJzaSksJWJsCi0uTGQxMDoJbW92YiAlYmwsKCVyZGkpCi0JaW5jcSAlcmRpCi0JaW5jcSAlcnNpCi0JZGVjbCAlZWN4Ci0Jam56IC5MbG9vcF8xCi0KLQlDRklfUkVNRU1CRVJfU1RBVEUKLS5MZW5kZToKLQlwb3BxICVyY3gKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKLQlDRklfUkVTVE9SRSAlcmN4Ci0JcG9wcSAlcmJ4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC04Ci0JQ0ZJX1JFU1RPUkUgcmJ4Ci0Jc2ZlbmNlCi0JcmV0Ci0JQ0ZJX1JFU1RPUkVfU1RBVEUKLQotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkvKiBhbGlnbiBkZXN0aW5hdGlvbiAqLwotCS5wMmFsaWduIDQKLS5MYmFkX2FsaWdubWVudDoKLQltb3ZsICQ4LCVyOWQKLQlzdWJsICVlY3gsJXI5ZAotCW1vdmwgJXI5ZCwlZWN4Ci0JY21wcSAlcjksJXJkeAotCWp6ICAgLkxoYW5kbGVfNwotCWpzICAgLkxoYW5kbGVfNwotLkxhbGlnbl8xOgotLkxzMTE6CW1vdmIgKCVyc2kpLCVibAotLkxkMTE6CW1vdmIgJWJsLCglcmRpKQorCWp6IDEwMmYJCQkJLyogYWxyZWFkeSBhbGlnbmVkICovCisJc3VibCAkOCwlZWN4CisJbmVnbCAlZWN4CisJc3VibCAlZWN4LCVlZHgKKzEwMDoJbW92YiAoJXJzaSksJWFsCisxMDE6CW1vdmIgJWFsLCglcmRpKQogCWluY3EgJXJzaQogCWluY3EgJXJkaQogCWRlY2wgJWVjeAotCWpueiAuTGFsaWduXzEKLQlzdWJxICVyOSwlcmR4Ci0Jam1wIC5MYWZ0ZXJfYmFkX2FsaWdubWVudAotI2VuZGlmCi0KLQkvKiB0YWJsZSBzb3J0ZWQgYnkgZXhjZXB0aW9uIGFkZHJlc3MgKi8KLQkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5hbGlnbiA4Ci0JLnF1YWQgLkxzMSwuTHMxZQkvKiAuTHNbMS00XSAtIDAgYnl0ZXMgY29waWVkICovCi0JLnF1YWQgLkxzMiwuTHMxZQotCS5xdWFkIC5MczMsLkxzMWUKLQkucXVhZCAuTHM0LC5MczFlCi0JLnF1YWQgLkxkMSwuTHMxZQkvKiAuTGRbMS00XSAtIDAuLjI0IGJ5dGVzIGNvcGVkICovCi0JLnF1YWQgLkxkMiwuTHMyZQotCS5xdWFkIC5MZDMsLkxzM2UKLQkucXVhZCAuTGQ0LC5MczRlCi0JLnF1YWQgLkxzNSwuTHM1ZQkvKiAuTHNbNS04XSAtIDMyIGJ5dGVzIGNvcGllZCAqLwotCS5xdWFkIC5MczYsLkxzNWUKLQkucXVhZCAuTHM3LC5MczVlCi0JLnF1YWQgLkxzOCwuTHM1ZQotCS5xdWFkIC5MZDUsLkxzNWUJLyogLkxkWzUtOF0gLSAzMi4uNTYgYnl0ZXMgY29waWVkICovCi0JLnF1YWQgLkxkNiwuTHM2ZQotCS5xdWFkIC5MZDcsLkxzN2UKLQkucXVhZCAuTGQ4LC5MczhlCi0JLnF1YWQgLkxzOSwuTGVfcXVhZAotCS5xdWFkIC5MZDksLkxlX3F1YWQKLQkucXVhZCAuTHMxMCwuTGVfYnl0ZQotCS5xdWFkIC5MZDEwLC5MZV9ieXRlCi0jaWZkZWYgRklYX0FMSUdOTUVOVAotCS5xdWFkIC5MczExLC5MemVyb19yZXN0Ci0JLnF1YWQgLkxkMTEsLkx6ZXJvX3Jlc3QKLSNlbmRpZgotCS5xdWFkIC5MZTUsLkxlX3plcm8KKwlqbnogMTAwYgorMTAyOgorCS5zZWN0aW9uIC5maXh1cCwiYXgiCisxMDM6CWFkZGwgJXI4ZCwlZWR4CQkJLyogZWN4IGlzIHplcm9yZXN0IGFsc28gKi8KKwlqbXAgY29weV91c2VyX2hhbmRsZV90YWlsCiAJLnByZXZpb3VzCiAKLQkvKiBlYXg6IHplcm8sIGVieDogNjQgKi8KLS5MczFlOiAJYWRkbCAkOCwlZWF4CS8qIGVheDogYnl0ZXMgbGVmdCB1bmNvcGllZDogTHMxZTogNjQgLi4gTHM4ZTogOCAqLwotLkxzMmU6IAlhZGRsICQ4LCVlYXgKLS5MczNlOiAJYWRkbCAkOCwlZWF4Ci0uTHM0ZTogCWFkZGwgJDgsJWVheAotLkxzNWU6IAlhZGRsICQ4LCVlYXgKLS5MczZlOiAJYWRkbCAkOCwlZWF4Ci0uTHM3ZTogCWFkZGwgJDgsJWVheAotLkxzOGU6IAlhZGRsICQ4LCVlYXgKLQlhZGRxICVyYngsJXJkaQkvKiArNjQgKi8KLQlzdWJxICVyYXgsJXJkaSAgLyogY29ycmVjdCBkZXN0aW5hdGlvbiB3aXRoIGNvbXB1dGVkIG9mZnNldCAqLworCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCisJLmFsaWduIDgKKwkucXVhZCAxMDBiLDEwM2IKKwkucXVhZCAxMDFiLDEwM2IKKwkucHJldmlvdXMKKyNlbmRpZgorCS5lbmRtCiAKLQlzaGxxICQ2LCVyZHgJLyogbG9vcCBjb3VudGVyICogNjQgKHN0cmlkZSBsZW5ndGgpICovCi0JYWRkcSAlcmF4LCVyZHgJLyogYWRkIG9mZnNldCB0byBsb29wY250ICovCi0JYW5kbCAkNjMsJWVjeAkvKiByZW1haW5pbmcgYnl0ZXMgKi8KLQlhZGRxICVyY3gsJXJkeAkvKiBhZGQgdGhlbSAqLwotCWptcCAuTHplcm9fcmVzdAotCi0JLyogZXhjZXB0aW9uIG9uIHF1YWQgd29yZCBsb29wIGluIHRhaWwgaGFuZGxpbmcgKi8KLQkvKiBlY3g6CWxvb3BjbnQvOCwgJWVkeDogbGVuZ3RoLCByZGk6IGNvcnJlY3QgKi8KLS5MZV9xdWFkOgotCXNobGwgJDMsJWVjeAorLyoKKyAqIGNvcHlfdXNlcl9ub2NhY2hlIC0gVW5jYWNoZWQgbWVtb3J5IGNvcHkgd2l0aCBleGNlcHRpb24gaGFuZGxpbmcKKyAqIFRoaXMgd2lsbCBmb3JjZSBkZXN0aW5hdGlvbi9zb3VyY2Ugb3V0IG9mIGNhY2hlIGZvciBtb3JlIHBlcmZvcm1hbmNlLgorICovCitFTlRSWShfX2NvcHlfdXNlcl9ub2NhY2hlKQorCUNGSV9TVEFSVFBST0MKKwljbXBsICQ4LCVlZHgKKwlqYiAyMGYJCS8qIGxlc3MgdGhlbiA4IGJ5dGVzLCBnbyB0byBieXRlIGNvcHkgbG9vcCAqLworCUFMSUdOX0RFU1RJTkFUSU9OCisJbW92bCAlZWR4LCVlY3gKKwlhbmRsICQ2MywlZWR4CisJc2hybCAkNiwlZWN4CisJanogMTdmCisxOgltb3ZxICglcnNpKSwlcjgKKzI6CW1vdnEgMSo4KCVyc2kpLCVyOQorMzoJbW92cSAyKjgoJXJzaSksJXIxMAorNDoJbW92cSAzKjgoJXJzaSksJXIxMQorNToJbW92bnRpICVyOCwoJXJkaSkKKzY6CW1vdm50aSAlcjksMSo4KCVyZGkpCis3Ogltb3ZudGkgJXIxMCwyKjgoJXJkaSkKKzg6CW1vdm50aSAlcjExLDMqOCglcmRpKQorOToJbW92cSA0KjgoJXJzaSksJXI4CisxMDoJbW92cSA1KjgoJXJzaSksJXI5CisxMToJbW92cSA2KjgoJXJzaSksJXIxMAorMTI6CW1vdnEgNyo4KCVyc2kpLCVyMTEKKzEzOgltb3ZudGkgJXI4LDQqOCglcmRpKQorMTQ6CW1vdm50aSAlcjksNSo4KCVyZGkpCisxNToJbW92bnRpICVyMTAsNio4KCVyZGkpCisxNjoJbW92bnRpICVyMTEsNyo4KCVyZGkpCisJbGVhcSA2NCglcnNpKSwlcnNpCisJbGVhcSA2NCglcmRpKSwlcmRpCisJZGVjbCAlZWN4CisJam56IDFiCisxNzoJbW92bCAlZWR4LCVlY3gKIAlhbmRsICQ3LCVlZHgKKwlzaHJsICQzLCVlY3gKKwlqeiAyMGYKKzE4Ogltb3ZxICglcnNpKSwlcjgKKzE5Ogltb3ZudGkgJXI4LCglcmRpKQorCWxlYXEgOCglcnNpKSwlcnNpCisJbGVhcSA4KCVyZGkpLCVyZGkKKwlkZWNsICVlY3gKKwlqbnogMThiCisyMDoJYW5kbCAlZWR4LCVlZHgKKwlqeiAyM2YKKwltb3ZsICVlZHgsJWVjeAorMjE6CW1vdmIgKCVyc2kpLCVhbAorMjI6CW1vdmIgJWFsLCglcmRpKQorCWluY3EgJXJzaQorCWluY3EgJXJkaQorCWRlY2wgJWVjeAorCWpueiAyMWIKKzIzOgl4b3JsICVlYXgsJWVheAorCXNmZW5jZQorCXJldAorCisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzMwOglzaGxsICQ2LCVlY3gKIAlhZGRsICVlY3gsJWVkeAotCS8qIGVkeDogYnl0ZXMgdG8gemVybywgcmRpOiBkZXN0LCBlYXg6emVybyAqLwotLkx6ZXJvX3Jlc3Q6Ci0JY21wbCAkMCwoJXJzcCkJLyogemVybyBmbGFnIHNldD8gKi8KLQlqeiAgIC5MZV96ZXJvCi0JbW92cSAlcmR4LCVyY3gKLS5MZV9ieXRlOgotCXhvcmwgJWVheCwlZWF4Ci0uTGU1OglyZXAKLQlzdG9zYgotCS8qIHdoZW4gdGhlcmUgaXMgYW5vdGhlciBleGNlcHRpb24gd2hpbGUgemVyb2luZyB0aGUgcmVzdCBqdXN0IHJldHVybiAqLwotLkxlX3plcm86Ci0JbW92cSAlcmR4LCVyYXgKLQlqbXAgLkxlbmRlCisJam1wIDYwZgorNDA6CWxlYSAoJXJkeCwlcmN4LDgpLCVyZHgKKwlqbXAgNjBmCis1MDoJbW92bCAlZWN4LCVlZHgKKzYwOglzZmVuY2UKKwltb3ZsICVyOGQsJWVjeAorCWptcCBjb3B5X3VzZXJfaGFuZGxlX3RhaWwKKwkucHJldmlvdXMKKworCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCisJLnF1YWQgMWIsMzBiCisJLnF1YWQgMmIsMzBiCisJLnF1YWQgM2IsMzBiCisJLnF1YWQgNGIsMzBiCisJLnF1YWQgNWIsMzBiCisJLnF1YWQgNmIsMzBiCisJLnF1YWQgN2IsMzBiCisJLnF1YWQgOGIsMzBiCisJLnF1YWQgOWIsMzBiCisJLnF1YWQgMTBiLDMwYgorCS5xdWFkIDExYiwzMGIKKwkucXVhZCAxMmIsMzBiCisJLnF1YWQgMTNiLDMwYgorCS5xdWFkIDE0YiwzMGIKKwkucXVhZCAxNWIsMzBiCisJLnF1YWQgMTZiLDMwYgorCS5xdWFkIDE4Yiw0MGIKKwkucXVhZCAxOWIsNDBiCisJLnF1YWQgMjFiLDUwYgorCS5xdWFkIDIyYiw1MGIKKwkucHJldmlvdXMKIAlDRklfRU5EUFJPQwogRU5EUFJPQyhfX2NvcHlfdXNlcl9ub2NhY2hlKQotCi0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9kZWxheV8zMi5jIGIvYXJjaC94ODYvbGliL2RlbGF5LmMKc2ltaWxhcml0eSBpbmRleCA4NyUKcmVuYW1lIGZyb20gYXJjaC94ODYvbGliL2RlbGF5XzMyLmMKcmVuYW1lIHRvIGFyY2gveDg2L2xpYi9kZWxheS5jCmluZGV4IGQ3MTBmMmQuLmY0NTY4NjAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9kZWxheV8zMi5jCisrKyBiL2FyY2gveDg2L2xpYi9kZWxheS5jCkBAIC0zLDYgKzMsNyBAQAogICoKICAqCUNvcHlyaWdodCAoQykgMTk5MyBMaW51cyBUb3J2YWxkcwogICoJQ29weXJpZ2h0IChDKSAxOTk3IE1hcnRpbiBNYXJlcyA8bWpAYXRyZXkua2FybGluLm1mZi5jdW5pLmN6PgorICoJQ29weXJpZ2h0IChDKSAyMDA4IEppcmkgSGxhZGt5IDxobGFka3kgX2RvdF8gamlyaSBfYXRfIGdtYWlsIF9kb3RfIGNvbT4KICAqCiAgKglUaGUgX19kZWxheSBmdW5jdGlvbiBtdXN0IF9OT1RfIGJlIGlubGluZWQgYXMgaXRzIGV4ZWN1dGlvbiB0aW1lCiAgKglkZXBlbmRzIHdpbGRseSBvbiBhbGlnbm1lbnQgb24gbWFueSB4ODYgcHJvY2Vzc29ycy4gVGhlIGFkZGl0aW9uYWwKQEAgLTI4LDE2ICsyOSwyMiBAQAogLyogc2ltcGxlIGxvb3AgYmFzZWQgZGVsYXk6ICovCiBzdGF0aWMgdm9pZCBkZWxheV9sb29wKHVuc2lnbmVkIGxvbmcgbG9vcHMpCiB7Ci0JaW50IGQwOworCWFzbSB2b2xhdGlsZSgKKwkJIgl0ZXN0ICUwLCUwCVxuIgorCQkiCWp6IDNmCQlcbiIKKwkJIglqbXAgMWYJCVxuIgogCi0JX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JCSJcdGptcCAxZlxuIgotCQkiLmFsaWduIDE2XG4iCi0JCSIxOlx0am1wIDJmXG4iCi0JCSIuYWxpZ24gMTZcbiIKLQkJIjI6XHRkZWNsICUwXG5cdGpucyAyYiIKLQkJOiI9JmEiIChkMCkKLQkJOiIwIiAobG9vcHMpKTsKKwkJIi5hbGlnbiAxNgkJXG4iCisJCSIxOglqbXAgMmYJCVxuIgorCisJCSIuYWxpZ24gMTYJCVxuIgorCQkiMjoJZGVjICUwCQlcbiIKKwkJIglqbnogMmIJCVxuIgorCQkiMzoJZGVjICUwCQlcbiIKKworCQk6IC8qIHdlIGRvbid0IG5lZWQgb3V0cHV0ICovCisJCToiYSIgKGxvb3BzKQorCSk7CiB9CiAKIC8qIFRTQyBiYXNlZCBkZWxheTogKi8KQEAgLTkxLDcgKzk4LDcgQEAKIGludCBfX2RldmluaXQgcmVhZF9jdXJyZW50X3RpbWVyKHVuc2lnbmVkIGxvbmcgKnRpbWVyX3ZhbCkKIHsKIAlpZiAoZGVsYXlfZm4gPT0gZGVsYXlfdHNjKSB7Ci0JCXJkdHNjbCgqdGltZXJfdmFsKTsKKwkJcmR0c2NsbCgqdGltZXJfdmFsKTsKIAkJcmV0dXJuIDA7CiAJfQogCXJldHVybiAtMTsKQEAgLTEwMSwzMSArMTA4LDMwIEBACiB7CiAJZGVsYXlfZm4obG9vcHMpOwogfQorRVhQT1JUX1NZTUJPTChfX2RlbGF5KTsKIAogaW5saW5lIHZvaWQgX19jb25zdF91ZGVsYXkodW5zaWduZWQgbG9uZyB4bG9vcHMpCiB7CiAJaW50IGQwOwogCiAJeGxvb3BzICo9IDQ7Ci0JX19hc21fXygibXVsbCAlMCIKKwlhc20oIm11bGwgJSVlZHgiCiAJCToiPWQiICh4bG9vcHMpLCAiPSZhIiAoZDApCiAJCToiMSIgKHhsb29wcyksICIwIgogCQkoY3B1X2RhdGEocmF3X3NtcF9wcm9jZXNzb3JfaWQoKSkubG9vcHNfcGVyX2ppZmZ5ICogKEhaLzQpKSk7CiAKIAlfX2RlbGF5KCsreGxvb3BzKTsKIH0KK0VYUE9SVF9TWU1CT0woX19jb25zdF91ZGVsYXkpOwogCiB2b2lkIF9fdWRlbGF5KHVuc2lnbmVkIGxvbmcgdXNlY3MpCiB7CiAJX19jb25zdF91ZGVsYXkodXNlY3MgKiAweDAwMDAxMGM3KTsgLyogMioqMzIgLyAxMDAwMDAwIChyb3VuZGVkIHVwKSAqLwogfQorRVhQT1JUX1NZTUJPTChfX3VkZWxheSk7CiAKIHZvaWQgX19uZGVsYXkodW5zaWduZWQgbG9uZyBuc2VjcykKIHsKIAlfX2NvbnN0X3VkZWxheShuc2VjcyAqIDB4MDAwMDUpOyAvKiAyKiozMiAvIDEwMDAwMDAwMDAgKHJvdW5kZWQgdXApICovCiB9Ci0KLUVYUE9SVF9TWU1CT0woX19kZWxheSk7Ci1FWFBPUlRfU1lNQk9MKF9fY29uc3RfdWRlbGF5KTsKLUVYUE9SVF9TWU1CT0woX191ZGVsYXkpOwogRVhQT1JUX1NZTUJPTChfX25kZWxheSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZGVsYXlfNjQuYyBiL2FyY2gveDg2L2xpYi9kZWxheV82NC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzQ0MWJlLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9kZWxheV82NC5jCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotLyoKLSAqCVByZWNpc2UgRGVsYXkgTG9vcHMgZm9yIHg4Ni02NAotICoKLSAqCUNvcHlyaWdodCAoQykgMTk5MyBMaW51cyBUb3J2YWxkcwotICoJQ29weXJpZ2h0IChDKSAxOTk3IE1hcnRpbiBNYXJlcyA8bWpAYXRyZXkua2FybGluLm1mZi5jdW5pLmN6PgotICoKLSAqCVRoZSBfX2RlbGF5IGZ1bmN0aW9uIG11c3QgX05PVF8gYmUgaW5saW5lZCBhcyBpdHMgZXhlY3V0aW9uIHRpbWUKLSAqCWRlcGVuZHMgd2lsZGx5IG9uIGFsaWdubWVudCBvbiBtYW55IHg4NiBwcm9jZXNzb3JzLiAKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1leC5oPgotI2luY2x1ZGUgPGxpbnV4L3ByZWVtcHQuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLQotI2luY2x1ZGUgPGFzbS9kZWxheS5oPgotI2luY2x1ZGUgPGFzbS9tc3IuaD4KLQotI2lmZGVmIENPTkZJR19TTVAKLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jZW5kaWYKLQotaW50IF9fZGV2aW5pdCByZWFkX2N1cnJlbnRfdGltZXIodW5zaWduZWQgbG9uZyAqdGltZXJfdmFsdWUpCi17Ci0JcmR0c2NsbCgqdGltZXJfdmFsdWUpOwotCXJldHVybiAwOwotfQotCi12b2lkIF9fZGVsYXkodW5zaWduZWQgbG9uZyBsb29wcykKLXsKLQl1bnNpZ25lZCBiY2xvY2ssIG5vdzsKLQlpbnQgY3B1OwotCi0JcHJlZW1wdF9kaXNhYmxlKCk7Ci0JY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCXJkdHNjbChiY2xvY2spOwotCWZvciAoOzspIHsKLQkJcmR0c2NsKG5vdyk7Ci0JCWlmICgobm93IC0gYmNsb2NrKSA+PSBsb29wcykKLQkJCWJyZWFrOwotCi0JCS8qIEFsbG93IFJUIHRhc2tzIHRvIHJ1biAqLwotCQlwcmVlbXB0X2VuYWJsZSgpOwotCQlyZXBfbm9wKCk7Ci0JCXByZWVtcHRfZGlzYWJsZSgpOwotCi0JCS8qCi0JCSAqIEl0IGlzIHBvc3NpYmxlIHRoYXQgd2UgbW92ZWQgdG8gYW5vdGhlciBDUFUsIGFuZAotCQkgKiBzaW5jZSBUU0MncyBhcmUgcGVyLWNwdSB3ZSBuZWVkIHRvIGNhbGN1bGF0ZQotCQkgKiB0aGF0LiBUaGUgZGVsYXkgbXVzdCBndWFyYW50ZWUgdGhhdCB3ZSB3YWl0ICJhdAotCQkgKiBsZWFzdCIgdGhlIGFtb3VudCBvZiB0aW1lLiBCZWluZyBtb3ZlZCB0byBhbm90aGVyCi0JCSAqIENQVSBjb3VsZCBtYWtlIHRoZSB3YWl0IGxvbmdlciBidXQgd2UganVzdCBuZWVkIHRvCi0JCSAqIG1ha2Ugc3VyZSB3ZSB3YWl0ZWQgbG9uZyBlbm91Z2guIFJlYmFsYW5jZSB0aGUKLQkJICogY291bnRlciBmb3IgdGhpcyBDUFUuCi0JCSAqLwotCQlpZiAodW5saWtlbHkoY3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSkpIHsKLQkJCWxvb3BzIC09IChub3cgLSBiY2xvY2spOwotCQkJY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCQkJcmR0c2NsKGJjbG9jayk7Ci0JCX0KLQl9Ci0JcHJlZW1wdF9lbmFibGUoKTsKLX0KLUVYUE9SVF9TWU1CT0woX19kZWxheSk7Ci0KLWlubGluZSB2b2lkIF9fY29uc3RfdWRlbGF5KHVuc2lnbmVkIGxvbmcgeGxvb3BzKQotewotCV9fZGVsYXkoKCh4bG9vcHMgKiBIWiAqCi0JCWNwdV9kYXRhKHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpLmxvb3BzX3Blcl9qaWZmeSkgPj4gMzIpICsgMSk7Ci19Ci1FWFBPUlRfU1lNQk9MKF9fY29uc3RfdWRlbGF5KTsKLQotdm9pZCBfX3VkZWxheSh1bnNpZ25lZCBsb25nIHVzZWNzKQotewotCV9fY29uc3RfdWRlbGF5KHVzZWNzICogMHgwMDAwMTBjNyk7ICAvKiAyKiozMiAvIDEwMDAwMDAgKHJvdW5kZWQgdXApICovCi19Ci1FWFBPUlRfU1lNQk9MKF9fdWRlbGF5KTsKLQotdm9pZCBfX25kZWxheSh1bnNpZ25lZCBsb25nIG5zZWNzKQotewotCV9fY29uc3RfdWRlbGF5KG5zZWNzICogMHgwMDAwNSk7ICAvKiAyKiozMiAvIDEwMDAwMDAwMDAgKHJvdW5kZWQgdXApICovCi19Ci1FWFBPUlRfU1lNQk9MKF9fbmRlbGF5KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9nZXR1c2VyLlMgYi9hcmNoL3g4Ni9saWIvZ2V0dXNlci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMzc0MDAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9saWIvZ2V0dXNlci5TCkBAIC0wLDAgKzEsMTA0IEBACisvKgorICogX19nZXRfdXNlciBmdW5jdGlvbnMuCisgKgorICogKEMpIENvcHlyaWdodCAxOTk4IExpbnVzIFRvcnZhbGRzCisgKiAoQykgQ29weXJpZ2h0IDIwMDUgQW5kaSBLbGVlbgorICogKEMpIENvcHlyaWdodCAyMDA4IEdsYXViZXIgQ29zdGEKKyAqCisgKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQorICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKKyAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCisgKiByZXR1cm4gdmFsdWUuCisgKi8KKworLyoKKyAqIF9fZ2V0X3VzZXJfWAorICoKKyAqIElucHV0czoJJVtyfGVdYXggY29udGFpbnMgdGhlIGFkZHJlc3MuCisgKgkJVGhlIHJlZ2lzdGVyIGlzIG1vZGlmaWVkLCBidXQgYWxsIGNoYW5nZXMgYXJlIHVuZG9uZQorICoJCWJlZm9yZSByZXR1cm5pbmcgYmVjYXVzZSB0aGUgQyBjb2RlIGRvZXNuJ3Qga25vdyBhYm91dCBpdC4KKyAqCisgKiBPdXRwdXRzOgklW3J8ZV1heCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCisgKgkJJVtyfGVdZHggY29udGFpbnMgemVyby1leHRlbmRlZCB2YWx1ZQorICoKKyAqCisgKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKKyAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxhc20vZHdhcmYyLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vZXJybm8uaD4KKyNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KKyNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxhc20vYXNtLmg+CisKKwkudGV4dAorRU5UUlkoX19nZXRfdXNlcl8xKQorCUNGSV9TVEFSVFBST0MKKwlHRVRfVEhSRUFEX0lORk8oJV9BU01fRFgpCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fRFgpLCVfQVNNX0FYCisJamFlIGJhZF9nZXRfdXNlcgorMToJbW92emIgKCVfQVNNX0FYKSwlZWR4CisJeG9yICVlYXgsJWVheAorCXJldAorCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fZ2V0X3VzZXJfMSkKKworRU5UUlkoX19nZXRfdXNlcl8yKQorCUNGSV9TVEFSVFBST0MKKwlhZGQgJDEsJV9BU01fQVgKKwlqYyBiYWRfZ2V0X3VzZXIKKwlHRVRfVEhSRUFEX0lORk8oJV9BU01fRFgpCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fRFgpLCVfQVNNX0FYCisJamFlIGJhZF9nZXRfdXNlcgorMjoJbW92endsIC0xKCVfQVNNX0FYKSwlZWR4CisJeG9yICVlYXgsJWVheAorCXJldAorCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fZ2V0X3VzZXJfMikKKworRU5UUlkoX19nZXRfdXNlcl80KQorCUNGSV9TVEFSVFBST0MKKwlhZGQgJDMsJV9BU01fQVgKKwlqYyBiYWRfZ2V0X3VzZXIKKwlHRVRfVEhSRUFEX0lORk8oJV9BU01fRFgpCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fRFgpLCVfQVNNX0FYCisJamFlIGJhZF9nZXRfdXNlcgorMzoJbW92IC0zKCVfQVNNX0FYKSwlZWR4CisJeG9yICVlYXgsJWVheAorCXJldAorCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fZ2V0X3VzZXJfNCkKKworI2lmZGVmIENPTkZJR19YODZfNjQKK0VOVFJZKF9fZ2V0X3VzZXJfOCkKKwlDRklfU1RBUlRQUk9DCisJYWRkICQ3LCVfQVNNX0FYCisJamMgYmFkX2dldF91c2VyCisJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0RYKQorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0RYKSwlX0FTTV9BWAorCWphZQliYWRfZ2V0X3VzZXIKKzQ6CW1vdnEgLTcoJV9BU01fQVgpLCVfQVNNX0RYCisJeG9yICVlYXgsJWVheAorCXJldAorCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fZ2V0X3VzZXJfOCkKKyNlbmRpZgorCitiYWRfZ2V0X3VzZXI6CisJQ0ZJX1NUQVJUUFJPQworCXhvciAlZWR4LCVlZHgKKwltb3YgJCgtRUZBVUxUKSwlX0FTTV9BWAorCXJldAorCUNGSV9FTkRQUk9DCitFTkQoYmFkX2dldF91c2VyKQorCisuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCV9BU01fUFRSIDFiLGJhZF9nZXRfdXNlcgorCV9BU01fUFRSIDJiLGJhZF9nZXRfdXNlcgorCV9BU01fUFRSIDNiLGJhZF9nZXRfdXNlcgorI2lmZGVmIENPTkZJR19YODZfNjQKKwlfQVNNX1BUUiA0YixiYWRfZ2V0X3VzZXIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2dldHVzZXJfMzIuUyBiL2FyY2gveDg2L2xpYi9nZXR1c2VyXzMyLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkODRiNTMuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbGliL2dldHVzZXJfMzIuUworKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLS8qCi0gKiBfX2dldF91c2VyIGZ1bmN0aW9ucy4KLSAqCi0gKiAoQykgQ29weXJpZ2h0IDE5OTggTGludXMgVG9ydmFsZHMKLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQotICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKLSAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCi0gKiByZXR1cm4gdmFsdWUuCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgotI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotCi0KLS8qCi0gKiBfX2dldF91c2VyX1gKLSAqCi0gKiBJbnB1dHM6CSVlYXggY29udGFpbnMgdGhlIGFkZHJlc3MKLSAqCi0gKiBPdXRwdXRzOgklZWF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKLSAqCQklZWR4IGNvbnRhaW5zIHplcm8tZXh0ZW5kZWQgdmFsdWUKLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKLSAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCi0gKi8KLQotLnRleHQKLUVOVFJZKF9fZ2V0X3VzZXJfMSkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVlZHgpCi0JY21wbCBUSV9hZGRyX2xpbWl0KCVlZHgpLCVlYXgKLQlqYWUgYmFkX2dldF91c2VyCi0xOgltb3Z6YmwgKCVlYXgpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfMSkKLQotRU5UUlkoX19nZXRfdXNlcl8yKQotCUNGSV9TVEFSVFBST0MKLQlhZGRsICQxLCVlYXgKLQlqYyBiYWRfZ2V0X3VzZXIKLQlHRVRfVEhSRUFEX0lORk8oJWVkeCkKLQljbXBsIFRJX2FkZHJfbGltaXQoJWVkeCksJWVheAotCWphZSBiYWRfZ2V0X3VzZXIKLTI6CW1vdnp3bCAtMSglZWF4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzIpCi0KLUVOVFJZKF9fZ2V0X3VzZXJfNCkKLQlDRklfU1RBUlRQUk9DCi0JYWRkbCAkMywlZWF4Ci0JamMgYmFkX2dldF91c2VyCi0JR0VUX1RIUkVBRF9JTkZPKCVlZHgpCi0JY21wbCBUSV9hZGRyX2xpbWl0KCVlZHgpLCVlYXgKLQlqYWUgYmFkX2dldF91c2VyCi0zOgltb3ZsIC0zKCVlYXgpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfNCkKLQotYmFkX2dldF91c2VyOgotCUNGSV9TVEFSVFBST0MKLQl4b3JsICVlZHgsJWVkeAotCW1vdmwgJC0xNCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORChiYWRfZ2V0X3VzZXIpCi0KLS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLmxvbmcgMWIsYmFkX2dldF91c2VyCi0JLmxvbmcgMmIsYmFkX2dldF91c2VyCi0JLmxvbmcgM2IsYmFkX2dldF91c2VyCi0ucHJldmlvdXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9nZXR1c2VyXzY0LlMgYi9hcmNoL3g4Ni9saWIvZ2V0dXNlcl82NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDQ4ODc2Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9nZXR1c2VyXzY0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDkgKzAsMCBAQAotLyoKLSAqIF9fZ2V0X3VzZXIgZnVuY3Rpb25zLgotICoKLSAqIChDKSBDb3B5cmlnaHQgMTk5OCBMaW51cyBUb3J2YWxkcwotICogKEMpIENvcHlyaWdodCAyMDA1IEFuZGkgS2xlZW4KLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQotICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKLSAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCi0gKiByZXR1cm4gdmFsdWUuCi0gKi8KLQotLyoKLSAqIF9fZ2V0X3VzZXJfWAotICoKLSAqIElucHV0czoJJXJjeCBjb250YWlucyB0aGUgYWRkcmVzcy4KLSAqCQlUaGUgcmVnaXN0ZXIgaXMgbW9kaWZpZWQsIGJ1dCBhbGwgY2hhbmdlcyBhcmUgdW5kb25lCi0gKgkJYmVmb3JlIHJldHVybmluZyBiZWNhdXNlIHRoZSBDIGNvZGUgZG9lc24ndCBrbm93IGFib3V0IGl0LgotICoKLSAqIE91dHB1dHM6CSVyYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQotICoJCSVyZHggY29udGFpbnMgemVyby1leHRlbmRlZCB2YWx1ZQotICogCi0gKiAlcjggaXMgZGVzdHJveWVkLgotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAotICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS9lcnJuby5oPgotI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgotI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotCi0JLnRleHQKLUVOVFJZKF9fZ2V0X3VzZXJfMSkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgYmFkX2dldF91c2VyCi0xOgltb3Z6YiAoJXJjeCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl8xKQotCi1FTlRSWShfX2dldF91c2VyXzIpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkMSwlcmN4Ci0JamMgMjBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDIwZgotCWRlY3EgICAlcmN4Ci0yOgltb3Z6d2wgKCVyY3gpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotMjA6CWRlY3EgICAgJXJjeAotCWptcAliYWRfZ2V0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzIpCi0KLUVOVFJZKF9fZ2V0X3VzZXJfNCkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQzLCVyY3gKLQlqYyAzMGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgMzBmCi0Jc3VicSAkMywlcmN4Ci0zOgltb3ZsICglcmN4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTMwOglzdWJxICQzLCVyY3gKLQlqbXAgYmFkX2dldF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl80KQotCi1FTlRSWShfX2dldF91c2VyXzgpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkNywlcmN4Ci0JamMgNDBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlCTQwZgotCXN1YnEJJDcsJXJjeAotNDoJbW92cSAoJXJjeCksJXJkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci00MDoJc3VicSAkNywlcmN4Ci0Jam1wIGJhZF9nZXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfOCkKLQotYmFkX2dldF91c2VyOgotCUNGSV9TVEFSVFBST0MKLQl4b3JsICVlZHgsJWVkeAotCW1vdnEgJCgtRUZBVUxUKSwlcmF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORChiYWRfZ2V0X3VzZXIpCi0KLS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLnF1YWQgMWIsYmFkX2dldF91c2VyCi0JLnF1YWQgMmIsYmFkX2dldF91c2VyCi0JLnF1YWQgM2IsYmFkX2dldF91c2VyCi0JLnF1YWQgNGIsYmFkX2dldF91c2VyCi0ucHJldmlvdXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9tc3Itb24tY3B1LmMgYi9hcmNoL3g4Ni9saWIvbXNyLW9uLWNwdS5jCmluZGV4IDU3ZDA0M2YuLmQ1YTJiMzkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9tc3Itb24tY3B1LmMKKysrIGIvYXJjaC94ODYvbGliL21zci1vbi1jcHUuYwpAQCAtMzAsMTAgKzMwLDEwIEBACiAKIAlydi5tc3Jfbm8gPSBtc3Jfbm87CiAJaWYgKHNhZmUpIHsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX19yZG1zcl9zYWZlX29uX2NwdSwgJnJ2LCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX19yZG1zcl9zYWZlX29uX2NwdSwgJnJ2LCAxKTsKIAkJZXJyID0gcnYuZXJyOwogCX0gZWxzZSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fcmRtc3Jfb25fY3B1LCAmcnYsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3JkbXNyX29uX2NwdSwgJnJ2LCAxKTsKIAl9CiAJKmwgPSBydi5sOwogCSpoID0gcnYuaDsKQEAgLTY0LDEwICs2NCwxMCBAQAogCXJ2LmwgPSBsOwogCXJ2LmggPSBoOwogCWlmIChzYWZlKSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fd3Jtc3Jfc2FmZV9vbl9jcHUsICZydiwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fd3Jtc3Jfc2FmZV9vbl9jcHUsICZydiwgMSk7CiAJCWVyciA9IHJ2LmVycjsKIAl9IGVsc2UgewotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3dybXNyX29uX2NwdSwgJnJ2LCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX193cm1zcl9vbl9jcHUsICZydiwgMSk7CiAJfQogCiAJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9wdXR1c2VyLlMgYi9hcmNoL3g4Ni9saWIvcHV0dXNlci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2YjBkMTUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9saWIvcHV0dXNlci5TCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisgKiBfX3B1dF91c2VyIGZ1bmN0aW9ucy4KKyAqCisgKiAoQykgQ29weXJpZ2h0IDIwMDUgTGludXMgVG9ydmFsZHMKKyAqIChDKSBDb3B5cmlnaHQgMjAwNSBBbmRpIEtsZWVuCisgKiAoQykgQ29weXJpZ2h0IDIwMDggR2xhdWJlciBDb3N0YQorICoKKyAqIFRoZXNlIGZ1bmN0aW9ucyBoYXZlIGEgbm9uLXN0YW5kYXJkIGNhbGwgaW50ZXJmYWNlCisgKiB0byBtYWtlIHRoZW0gbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgYXMgdGhleQorICogcmV0dXJuIGFuIGVycm9yIHZhbHVlIGluIGFkZGl0aW9uIHRvIHRoZSAicmVhbCIKKyAqIHJldHVybiB2YWx1ZS4KKyAqLworI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxhc20vZHdhcmYyLmg+CisjaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+CisjaW5jbHVkZSA8YXNtL2Vycm5vLmg+CisjaW5jbHVkZSA8YXNtL2FzbS5oPgorCisKKy8qCisgKiBfX3B1dF91c2VyX1gKKyAqCisgKiBJbnB1dHM6CSVlYXhbOiVlZHhdIGNvbnRhaW5zIHRoZSBkYXRhCisgKgkJJWVjeCBjb250YWlucyB0aGUgYWRkcmVzcworICoKKyAqIE91dHB1dHM6CSVlYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQorICoKKyAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAorICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KKyAqLworCisjZGVmaW5lIEVOVEVSCUNGSV9TVEFSVFBST0MgOyBcCisJCUdFVF9USFJFQURfSU5GTyglX0FTTV9CWCkKKyNkZWZpbmUgRVhJVAlyZXQgOyBcCisJCUNGSV9FTkRQUk9DCisKKy50ZXh0CitFTlRSWShfX3B1dF91c2VyXzEpCisJRU5URVIKKwljbXAgVElfYWRkcl9saW1pdCglX0FTTV9CWCksJV9BU01fQ1gKKwlqYWUgYmFkX3B1dF91c2VyCisxOgltb3ZiICVhbCwoJV9BU01fQ1gpCisJeG9yICVlYXgsJWVheAorCUVYSVQKK0VORFBST0MoX19wdXRfdXNlcl8xKQorCitFTlRSWShfX3B1dF91c2VyXzIpCisJRU5URVIKKwltb3YgVElfYWRkcl9saW1pdCglX0FTTV9CWCksJV9BU01fQlgKKwlzdWIgJDEsJV9BU01fQlgKKwljbXAgJV9BU01fQlgsJV9BU01fQ1gKKwlqYWUgYmFkX3B1dF91c2VyCisyOgltb3Z3ICVheCwoJV9BU01fQ1gpCisJeG9yICVlYXgsJWVheAorCUVYSVQKK0VORFBST0MoX19wdXRfdXNlcl8yKQorCitFTlRSWShfX3B1dF91c2VyXzQpCisJRU5URVIKKwltb3YgVElfYWRkcl9saW1pdCglX0FTTV9CWCksJV9BU01fQlgKKwlzdWIgJDMsJV9BU01fQlgKKwljbXAgJV9BU01fQlgsJV9BU01fQ1gKKwlqYWUgYmFkX3B1dF91c2VyCiszOgltb3ZsICVlYXgsKCVfQVNNX0NYKQorCXhvciAlZWF4LCVlYXgKKwlFWElUCitFTkRQUk9DKF9fcHV0X3VzZXJfNCkKKworRU5UUlkoX19wdXRfdXNlcl84KQorCUVOVEVSCisJbW92IFRJX2FkZHJfbGltaXQoJV9BU01fQlgpLCVfQVNNX0JYCisJc3ViICQ3LCVfQVNNX0JYCisJY21wICVfQVNNX0JYLCVfQVNNX0NYCisJamFlIGJhZF9wdXRfdXNlcgorNDoJbW92ICVfQVNNX0FYLCglX0FTTV9DWCkKKyNpZmRlZiBDT05GSUdfWDg2XzMyCis1Ogltb3ZsICVlZHgsNCglX0FTTV9DWCkKKyNlbmRpZgorCXhvciAlZWF4LCVlYXgKKwlFWElUCitFTkRQUk9DKF9fcHV0X3VzZXJfOCkKKworYmFkX3B1dF91c2VyOgorCUNGSV9TVEFSVFBST0MKKwltb3ZsICQtRUZBVUxULCVlYXgKKwlFWElUCitFTkQoYmFkX3B1dF91c2VyKQorCisuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCV9BU01fUFRSIDFiLGJhZF9wdXRfdXNlcgorCV9BU01fUFRSIDJiLGJhZF9wdXRfdXNlcgorCV9BU01fUFRSIDNiLGJhZF9wdXRfdXNlcgorCV9BU01fUFRSIDRiLGJhZF9wdXRfdXNlcgorI2lmZGVmIENPTkZJR19YODZfMzIKKwlfQVNNX1BUUiA1YixiYWRfcHV0X3VzZXIKKyNlbmRpZgorLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvcHV0dXNlcl8zMi5TIGIvYXJjaC94ODYvbGliL3B1dHVzZXJfMzIuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU4ZmJhMS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvcHV0dXNlcl8zMi5TCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotLyoKLSAqIF9fcHV0X3VzZXIgZnVuY3Rpb25zLgotICoKLSAqIChDKSBDb3B5cmlnaHQgMjAwNSBMaW51cyBUb3J2YWxkcwotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBoYXZlIGEgbm9uLXN0YW5kYXJkIGNhbGwgaW50ZXJmYWNlCi0gKiB0byBtYWtlIHRoZW0gbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgYXMgdGhleQotICogcmV0dXJuIGFuIGVycm9yIHZhbHVlIGluIGFkZGl0aW9uIHRvIHRoZSAicmVhbCIKLSAqIHJldHVybiB2YWx1ZS4KLSAqLwotI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KLSNpbmNsdWRlIDxhc20vZHdhcmYyLmg+Ci0jaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0KLQotLyoKLSAqIF9fcHV0X3VzZXJfWAotICoKLSAqIElucHV0czoJJWVheFs6JWVkeF0gY29udGFpbnMgdGhlIGRhdGEKLSAqCQklZWN4IGNvbnRhaW5zIHRoZSBhZGRyZXNzCi0gKgotICogT3V0cHV0czoJJWVheCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCi0gKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgotICovCi0KLSNkZWZpbmUgRU5URVIJQ0ZJX1NUQVJUUFJPQyA7IFwKLQkJcHVzaGwgJWVieCA7IFwKLQkJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDQgOyBcCi0JCUNGSV9SRUxfT0ZGU0VUIGVieCwgMCA7IFwKLQkJR0VUX1RIUkVBRF9JTkZPKCVlYngpCi0jZGVmaW5lIEVYSVQJcG9wbCAlZWJ4IDsgXAotCQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTQgOyBcCi0JCUNGSV9SRVNUT1JFIGVieCA7IFwKLQkJcmV0IDsgXAotCQlDRklfRU5EUFJPQwotCi0udGV4dAotRU5UUlkoX19wdXRfdXNlcl8xKQotCUVOVEVSCi0JY21wbCBUSV9hZGRyX2xpbWl0KCVlYngpLCVlY3gKLQlqYWUgYmFkX3B1dF91c2VyCi0xOgltb3ZiICVhbCwoJWVjeCkKLQl4b3JsICVlYXgsJWVheAotCUVYSVQKLUVORFBST0MoX19wdXRfdXNlcl8xKQotCi1FTlRSWShfX3B1dF91c2VyXzIpCi0JRU5URVIKLQltb3ZsIFRJX2FkZHJfbGltaXQoJWVieCksJWVieAotCXN1YmwgJDEsJWVieAotCWNtcGwgJWVieCwlZWN4Ci0JamFlIGJhZF9wdXRfdXNlcgotMjoJbW92dyAlYXgsKCVlY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlFWElUCi1FTkRQUk9DKF9fcHV0X3VzZXJfMikKLQotRU5UUlkoX19wdXRfdXNlcl80KQotCUVOVEVSCi0JbW92bCBUSV9hZGRyX2xpbWl0KCVlYngpLCVlYngKLQlzdWJsICQzLCVlYngKLQljbXBsICVlYngsJWVjeAotCWphZSBiYWRfcHV0X3VzZXIKLTM6CW1vdmwgJWVheCwoJWVjeCkKLQl4b3JsICVlYXgsJWVheAotCUVYSVQKLUVORFBST0MoX19wdXRfdXNlcl80KQotCi1FTlRSWShfX3B1dF91c2VyXzgpCi0JRU5URVIKLQltb3ZsIFRJX2FkZHJfbGltaXQoJWVieCksJWVieAotCXN1YmwgJDcsJWVieAotCWNtcGwgJWVieCwlZWN4Ci0JamFlIGJhZF9wdXRfdXNlcgotNDoJbW92bCAlZWF4LCglZWN4KQotNToJbW92bCAlZWR4LDQoJWVjeCkKLQl4b3JsICVlYXgsJWVheAotCUVYSVQKLUVORFBST0MoX19wdXRfdXNlcl84KQotCi1iYWRfcHV0X3VzZXI6Ci0JQ0ZJX1NUQVJUUFJPQyBzaW1wbGUKLQlDRklfREVGX0NGQSBlc3AsIDIqNAotCUNGSV9PRkZTRVQgZWlwLCAtMSo0Ci0JQ0ZJX09GRlNFVCBlYngsIC0yKjQKLQltb3ZsICQtMTQsJWVheAotCUVYSVQKLUVORChiYWRfcHV0X3VzZXIpCi0KLS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLmxvbmcgMWIsYmFkX3B1dF91c2VyCi0JLmxvbmcgMmIsYmFkX3B1dF91c2VyCi0JLmxvbmcgM2IsYmFkX3B1dF91c2VyCi0JLmxvbmcgNGIsYmFkX3B1dF91c2VyCi0JLmxvbmcgNWIsYmFkX3B1dF91c2VyCi0ucHJldmlvdXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9wdXR1c2VyXzY0LlMgYi9hcmNoL3g4Ni9saWIvcHV0dXNlcl82NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTg5ZjVhLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9wdXR1c2VyXzY0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotLyoKLSAqIF9fcHV0X3VzZXIgZnVuY3Rpb25zLgotICoKLSAqIChDKSBDb3B5cmlnaHQgMTk5OCBMaW51cyBUb3J2YWxkcwotICogKEMpIENvcHlyaWdodCAyMDA1IEFuZGkgS2xlZW4KLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQotICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKLSAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCi0gKiByZXR1cm4gdmFsdWUuCi0gKi8KLQotLyoKLSAqIF9fcHV0X3VzZXJfWAotICoKLSAqIElucHV0czoJJXJjeCBjb250YWlucyB0aGUgYWRkcmVzcwotICoJCSVyZHggY29udGFpbnMgbmV3IHZhbHVlCi0gKgotICogT3V0cHV0czoJJXJheCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCi0gKgotICogJXI4IGlzIGRlc3Ryb3llZC4KLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKLSAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KLSNpbmNsdWRlIDxhc20vZHdhcmYyLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vZXJybm8uaD4KLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotCS50ZXh0Ci1FTlRSWShfX3B1dF91c2VyXzEpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIGJhZF9wdXRfdXNlcgotMToJbW92YiAlZGwsKCVyY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX3B1dF91c2VyXzEpCi0KLUVOVFJZKF9fcHV0X3VzZXJfMikKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQxLCVyY3gKLQlqYyAyMGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgMjBmCi0JZGVjcSAlcmN4Ci0yOgltb3Z3ICVkeCwoJXJjeCkKLQl4b3JsICVlYXgsJWVheAotCXJldAotMjA6CWRlY3EgJXJjeAotCWptcCBiYWRfcHV0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX3B1dF91c2VyXzIpCi0KLUVOVFJZKF9fcHV0X3VzZXJfNCkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQzLCVyY3gKLQlqYyAzMGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgMzBmCi0Jc3VicSAkMywlcmN4Ci0zOgltb3ZsICVlZHgsKCVyY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTMwOglzdWJxICQzLCVyY3gKLQlqbXAgYmFkX3B1dF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19wdXRfdXNlcl80KQotCi1FTlRSWShfX3B1dF91c2VyXzgpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkNywlcmN4Ci0JamMgNDBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDQwZgotCXN1YnEgJDcsJXJjeAotNDoJbW92cSAlcmR4LCglcmN4KQotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci00MDoJc3VicSAkNywlcmN4Ci0Jam1wIGJhZF9wdXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fcHV0X3VzZXJfOCkKLQotYmFkX3B1dF91c2VyOgotCUNGSV9TVEFSVFBST0MKLQltb3ZxICQoLUVGQVVMVCksJXJheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkQoYmFkX3B1dF91c2VyKQotCi0uc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5xdWFkIDFiLGJhZF9wdXRfdXNlcgotCS5xdWFkIDJiLGJhZF9wdXRfdXNlcgotCS5xdWFkIDNiLGJhZF9wdXRfdXNlcgotCS5xdWFkIDRiLGJhZF9wdXRfdXNlcgotLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvdGh1bmtfMzIuUyBiL2FyY2gveDg2L2xpYi90aHVua18zMi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MGIxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9saWIvdGh1bmtfMzIuUwpAQCAtMCwwICsxLDQ3IEBACisvKgorICogVHJhbXBvbGluZSB0byB0cmFjZSBpcnFzIG9mZi4gKG90aGVyd2lzZSBDQUxMRVJfQUREUjEgbWlnaHQgY3Jhc2gpCisgKiBDb3B5cmlnaHQgMjAwOCBieSBTdGV2ZW4gUm9zdGVkdCwgUmVkIEhhdCwgSW5jCisgKiAgKGluc3BpcmVkIGJ5IEFuZGkgS2xlZW4ncyB0aHVua182NC5TKQorICogU3ViamVjdCB0byB0aGUgR05VIHB1YmxpYyBsaWNlbnNlLCB2LjIuIE5vIHdhcnJhbnR5IG9mIGFueSBraW5kLgorICovCisKKwkjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorCisjZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJCVwKKwlwdXNobCAlZWF4OwkJCQlcCisJcHVzaGwgJWVjeDsJCQkJXAorCXB1c2hsICVlZHg7CQkJCVwKKwljYWxsIHRyYWNlX2hhcmRpcnFzX29uOwkJCVwKKwlwb3BsICVlZHg7CQkJCVwKKwlwb3BsICVlY3g7CQkJCVwKKwlwb3BsICVlYXg7CisKKyNkZWZpbmUgQVJDSF9UUkFDRV9JUlFTX09GRgkJCVwKKwlwdXNobCAlZWF4OwkJCQlcCisJcHVzaGwgJWVjeDsJCQkJXAorCXB1c2hsICVlZHg7CQkJCVwKKwljYWxsIHRyYWNlX2hhcmRpcnFzX29mZjsJCVwKKwlwb3BsICVlZHg7CQkJCVwKKwlwb3BsICVlY3g7CQkJCVwKKwlwb3BsICVlYXg7CisKKyNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKKwkvKiBwdXQgcmV0dXJuIGFkZHJlc3MgaW4gZWF4IChhcmcxKSAqLworCS5tYWNybyB0aHVua19yYSBuYW1lLGZ1bmMKKwkuZ2xvYmwgXG5hbWUKK1xuYW1lOgorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCS8qIFBsYWNlIEVJUCBpbiB0aGUgYXJnMSAqLworCW1vdmwgMyo0KCVlc3ApLCAlZWF4CisJY2FsbCBcZnVuYworCXBvcGwgJWVkeAorCXBvcGwgJWVjeAorCXBvcGwgJWVheAorCXJldAorCS5lbmRtCisKKwl0aHVua19yYSB0cmFjZV9oYXJkaXJxc19vbl90aHVuayx0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIKKwl0aHVua19yYSB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmssdHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvdGh1bmtfNjQuUyBiL2FyY2gveDg2L2xpYi90aHVua182NC5TCmluZGV4IGUwMDkyNTEuLmJmOWE3ZDUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi90aHVua182NC5TCisrKyBiL2FyY2gveDg2L2xpYi90aHVua182NC5TCkBAIC0yLDYgKzIsNyBAQAogICogU2F2ZSByZWdpc3RlcnMgYmVmb3JlIGNhbGxpbmcgYXNzZW1ibHkgZnVuY3Rpb25zLiBUaGlzIGF2b2lkcwogICogZGlzdHVyYmFuY2Ugb2YgcmVnaXN0ZXIgYWxsb2NhdGlvbiBpbiBzb21lIGlubGluZSBhc3NlbWJseSBjb25zdHJ1Y3RzLgogICogQ29weXJpZ2h0IDIwMDEsMjAwMiBieSBBbmRpIEtsZWVuLCBTdVNFIExhYnMuCisgKiBBZGRlZCB0cmFjZV9oYXJkaXJxcyBjYWxsZXJzIC0gQ29weXJpZ2h0IDIwMDcgU3RldmVuIFJvc3RlZHQsIFJlZCBIYXQsIEluYy4KICAqIFN1YmplY3QgdG8gdGhlIEdOVSBwdWJsaWMgbGljZW5zZSwgdi4yLiBObyB3YXJyYW50eSBvZiBhbnkga2luZC4KICAqLwogCkBAIC00Miw4ICs0MywyMiBAQAogI2VuZGlmCQogCQogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCXRodW5rIHRyYWNlX2hhcmRpcnFzX29uX3RodW5rLHRyYWNlX2hhcmRpcnFzX29uCi0JdGh1bmsgdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rLHRyYWNlX2hhcmRpcnFzX29mZgorCS8qIHB1dCByZXR1cm4gYWRkcmVzcyBpbiByZGkgKGFyZzEpICovCisJLm1hY3JvIHRodW5rX3JhIG5hbWUsZnVuYworCS5nbG9ibCBcbmFtZQorXG5hbWU6CisJQ0ZJX1NUQVJUUFJPQworCVNBVkVfQVJHUworCS8qIFNBVkVfQVJHUyBwdXNocyA5IGVsZW1lbnRzICovCisJLyogdGhlIG5leHQgZWxlbWVudCB3b3VsZCBiZSB0aGUgcmlwICovCisJbW92cSA5KjgoJXJzcCksICVyZGkKKwljYWxsIFxmdW5jCisJam1wICByZXN0b3JlCisJQ0ZJX0VORFBST0MKKwkuZW5kbQorCisJdGh1bmtfcmEgdHJhY2VfaGFyZGlycXNfb25fdGh1bmssdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyCisJdGh1bmtfcmEgdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rLHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi91c2VyY29weV82NC5jIGIvYXJjaC94ODYvbGliL3VzZXJjb3B5XzY0LmMKaW5kZXggMGM4OWQxYi4uZjRkZjZlNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL3VzZXJjb3B5XzY0LmMKKysrIGIvYXJjaC94ODYvbGliL3VzZXJjb3B5XzY0LmMKQEAgLTE1OCwzICsxNTgsMjYgQEAKIH0KIEVYUE9SVF9TWU1CT0woY29weV9pbl91c2VyKTsKIAorLyoKKyAqIFRyeSB0byBjb3B5IGxhc3QgYnl0ZXMgYW5kIGNsZWFyIHRoZSByZXN0IGlmIG5lZWRlZC4KKyAqIFNpbmNlIHByb3RlY3Rpb24gZmF1bHQgaW4gY29weV9mcm9tL3RvX3VzZXIgaXMgbm90IGEgbm9ybWFsIHNpdHVhdGlvbiwKKyAqIGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gb3B0aW1pemUgdGFpbCBoYW5kbGluZy4KKyAqLwordW5zaWduZWQgbG9uZworY29weV91c2VyX2hhbmRsZV90YWlsKGNoYXIgKnRvLCBjaGFyICpmcm9tLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIHplcm9yZXN0KQoreworCWNoYXIgYzsKKwl1bnNpZ25lZCB6ZXJvX2xlbjsKKworCWZvciAoOyBsZW47IC0tbGVuKSB7CisJCWlmIChfX2dldF91c2VyX25vY2hlY2soYywgZnJvbSsrLCBzaXplb2YoY2hhcikpKQorCQkJYnJlYWs7CisJCWlmIChfX3B1dF91c2VyX25vY2hlY2soYywgdG8rKywgc2l6ZW9mKGNoYXIpKSkKKwkJCWJyZWFrOworCX0KKworCWZvciAoYyA9IDAsIHplcm9fbGVuID0gbGVuOyB6ZXJvcmVzdCAmJiB6ZXJvX2xlbjsgLS16ZXJvX2xlbikKKwkJaWYgKF9fcHV0X3VzZXJfbm9jaGVjayhjLCB0bysrLCBzaXplb2YoY2hhcikpKQorCQkJYnJlYWs7CisJcmV0dXJuIGxlbjsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZGVmYXVsdC9zZXR1cC5jIGIvYXJjaC94ODYvbWFjaC1kZWZhdWx0L3NldHVwLmMKaW5kZXggMGMyOGEwNy4uNDgyNzhmYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1kZWZhdWx0L3NldHVwLmMKKysrIGIvYXJjaC94ODYvbWFjaC1kZWZhdWx0L3NldHVwLmMKQEAgLTEwLDYgKzEwLDE0IEBACiAjaW5jbHVkZSA8YXNtL2U4MjAuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAorLyoKKyAqIEFueSBxdWlya3MgdG8gYmUgcGVyZm9ybWVkIHRvIGluaXRpYWxpemUgdGltZXJzL2lycXMvZXRjPworICovCitpbnQgKCphcmNoX3RpbWVfaW5pdF9xdWlyaykodm9pZCk7CitpbnQgKCphcmNoX3ByZV9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworaW50ICgqYXJjaF9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworaW50ICgqYXJjaF90cmFwX2luaXRfcXVpcmspKHZvaWQpOworCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiAjZGVmaW5lIERFRkFVTFRfU0VORF9JUEkJKDEpCiAjZWxzZQpAQCAtMjksNiArMzcsMTAgQEAKICAqKi8KIHZvaWQgX19pbml0IHByZV9pbnRyX2luaXRfaG9vayh2b2lkKQogeworCWlmIChhcmNoX3ByZV9pbnRyX2luaXRfcXVpcmspIHsKKwkJaWYgKGFyY2hfcHJlX2ludHJfaW5pdF9xdWlyaygpKQorCQkJcmV0dXJuOworCX0KIAlpbml0X0lTQV9pcnFzKCk7CiB9CiAKQEAgLTUyLDYgKzY0LDEwIEBACiAgKiovCiB2b2lkIF9faW5pdCBpbnRyX2luaXRfaG9vayh2b2lkKQogeworCWlmIChhcmNoX2ludHJfaW5pdF9xdWlyaykgeworCQlpZiAoYXJjaF9pbnRyX2luaXRfcXVpcmsoKSkKKwkJCXJldHVybjsKKwl9CiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJYXBpY19pbnRyX2luaXQoKTsKICNlbmRpZgpAQCAtNjUsNyArODEsNyBAQAogICoKICAqIERlc2NyaXB0aW9uOgogICoJZ2VuZXJhbGx5IHVzZWQgdG8gYWN0aXZhdGUgYW55IG1hY2hpbmUgc3BlY2lmaWMgaWRlbnRpZmljYXRpb24KLSAqCXJvdXRpbmVzIHRoYXQgbWF5IGJlIG5lZWRlZCBiZWZvcmUgc2V0dXBfYXJjaCgpIHJ1bnMuICBPbiBWSVNXUworICoJcm91dGluZXMgdGhhdCBtYXkgYmUgbmVlZGVkIGJlZm9yZSBzZXR1cF9hcmNoKCkgcnVucy4gIE9uIFZveWFnZXIKICAqCXRoaXMgaXMgdXNlZCB0byBnZXQgdGhlIGJvYXJkIHJldmlzaW9uIGFuZCB0eXBlLgogICoqLwogdm9pZCBfX2luaXQgcHJlX3NldHVwX2FyY2hfaG9vayh2b2lkKQpAQCAtODEsNiArOTcsMTAgQEAKICAqKi8KIHZvaWQgX19pbml0IHRyYXBfaW5pdF9ob29rKHZvaWQpCiB7CisJaWYgKGFyY2hfdHJhcF9pbml0X3F1aXJrKSB7CisJCWlmIChhcmNoX3RyYXBfaW5pdF9xdWlyaygpKQorCQkJcmV0dXJuOworCX0KIH0KIAogc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gaXJxMCAgPSB7CkBAIC05OSw2ICsxMTksMTYgQEAKICAqKi8KIHZvaWQgX19pbml0IHRpbWVfaW5pdF9ob29rKHZvaWQpCiB7CisJaWYgKGFyY2hfdGltZV9pbml0X3F1aXJrKSB7CisJCS8qCisJCSAqIEEgbm9uemVybyByZXR1cm4gY29kZSBkb2VzIG5vdCBtZWFuIGZhaWx1cmUsIGl0IG1lYW5zCisJCSAqIHRoYXQgdGhlIGFyY2hpdGVjdHVyZSBxdWlyayBkb2VzIG5vdCB3YW50IGFueQorCQkgKiBnZW5lcmljICh0aW1lcikgc2V0dXAgdG8gYmUgcGVyZm9ybWVkIGFmdGVyIHRoaXM6CisJCSAqLworCQlpZiAoYXJjaF90aW1lX2luaXRfcXVpcmsoKSkKKwkJCXJldHVybjsKKwl9CisKIAlpcnEwLm1hc2sgPSBjcHVtYXNrX29mX2NwdSgwKTsKIAlzZXR1cF9pcnEoMCwgJmlycTApOwogfQpAQCAtMTQyLDQ1ICsxNzIsMyBAQAogCiBsYXRlX2luaXRjYWxsKHByaW50X2lwaV9tb2RlKTsKIAotLyoqCi0gKiBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCAtIEhvb2sgZm9yIG1hY2hpbmUgc3BlY2lmaWMgbWVtb3J5IHNldHVwLgotICoKLSAqIERlc2NyaXB0aW9uOgotICoJVGhpcyBpcyBpbmNsdWRlZCBsYXRlIGluIGtlcm5lbC9zZXR1cC5jIHNvIHRoYXQgaXQgY2FuIG1ha2UKLSAqCXVzZSBvZiBhbGwgb2YgdGhlIHN0YXRpYyBmdW5jdGlvbnMuCi0gKiovCi0KLWNoYXIgKiBfX2luaXQgbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKLXsKLQljaGFyICp3aG87Ci0KLQotCXdobyA9ICJCSU9TLWU4MjAiOwotCi0JLyoKLQkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KLQkgKgotCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKLQkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1fawotCSAqLwotCXNhbml0aXplX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCAmYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKTsKLQlpZiAoY29weV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKQotCSAgICA8IDApIHsKLQkJdW5zaWduZWQgbG9uZyBtZW1fc2l6ZTsKLQotCQkvKiBjb21wYXJlIHJlc3VsdHMgZnJvbSBvdGhlciBtZXRob2RzIGFuZCB0YWtlIHRoZSBncmVhdGVyICovCi0JCWlmIChib290X3BhcmFtcy5hbHRfbWVtX2sKLQkJICAgIDwgYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rKSB7Ci0JCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1fazsKLQkJCXdobyA9ICJCSU9TLTg4IjsKLQkJfSBlbHNlIHsKLQkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuYWx0X21lbV9rOwotCQkJd2hvID0gIkJJT1MtZTgwMSI7Ci0JCX0KLQotCQllODIwLm5yX21hcCA9IDA7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgPDwgMTAsIEU4MjBfUkFNKTsKLSAgCX0KLQlyZXR1cm4gd2hvOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1lczcwMDAvTWFrZWZpbGUgYi9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9NYWtlZmlsZQppbmRleCA2OWRkNGRhLi4zZWY4YjQzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9NYWtlZmlsZQpAQCAtMyw0ICszLDMgQEAKICMKIAogb2JqLSQoQ09ORklHX1g4Nl9FUzcwMDApCTo9IGVzNzAwMHBsYXQubwotb2JqLSQoQ09ORklHX1g4Nl9HRU5FUklDQVJDSCkJOj0gZXM3MDAwcGxhdC5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9lczcwMDBwbGF0LmMgYi9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9lczcwMDBwbGF0LmMKaW5kZXggZjVkNmY3ZC4uNDM1NGNlOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1lczcwMDAvZXM3MDAwcGxhdC5jCisrKyBiL2FyY2gveDg2L21hY2gtZXM3MDAwL2VzNzAwMHBsYXQuYwpAQCAtNTIsNiArNTIsOCBAQAogc3RhdGljIGludCAJCQltaXBfcG9ydDsKIHN0YXRpYyB1bnNpZ25lZCBsb25nCQltaXBfYWRkciwgaG9zdF9hZGRyOwogCitpbnQgZXM3MDAwX3BsYXQ7CisKIC8qCiAgKiBHU0kgb3ZlcnJpZGUgZm9yIEVTNzAwMCBwbGF0Zm9ybXMuCiAgKi8KQEAgLTE3NSw1MyArMTc3LDYgQEAKIH0KICNlbmRpZgogCi0vKgotICogVGhpcyBmaWxlIGFsc28gZ2V0cyBjb21waWxlZCBpZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNIIGlzIHNldC4gR2VuZXJpYwotICogYXJjaCBhbHJlYWR5IGhhcyBnb3QgZm9sbG93aW5nIGZ1bmN0aW9uIGRlZmluaXRpb25zIChhc20tZ2VuZXJpYy9lczcwMDAuYykKLSAqIGhlbmNlIG5vIG5lZWQgdG8gZGVmaW5lIHRoZXNlIGZvciB0aGF0IGNhc2UuCi0gKi8KLSNpZm5kZWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSAotdm9pZCBlczcwMDBfc3dfYXBpYyh2b2lkKTsKLXZvaWQgX19pbml0IGVuYWJsZV9hcGljX21vZGUodm9pZCkKLXsKLQllczcwMDBfc3dfYXBpYygpOwotCXJldHVybjsKLX0KLQotX19pbml0IGludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAotCQljaGFyICpwcm9kdWN0aWQpCi17Ci0JaWYgKG1wYy0+bXBjX29lbXB0cikgewotCQlzdHJ1Y3QgbXBfY29uZmlnX29lbXRhYmxlICpvZW1fdGFibGUgPQotCQkJKHN0cnVjdCBtcF9jb25maWdfb2VtdGFibGUgKiltcGMtPm1wY19vZW1wdHI7Ci0JCWlmICghc3RybmNtcChvZW0sICJVTklTWVMiLCA2KSkKLQkJCXJldHVybiBwYXJzZV91bmlzeXNfb2VtKChjaGFyICopb2VtX3RhYmxlKTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0jaWZkZWYgQ09ORklHX0FDUEkKLS8qIEhvb2sgZnJvbSBnZW5lcmljIEFDUEkgdGFibGVzLmMgKi8KLWludCBfX2luaXQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIG9lbV9hZGRyOwotCWlmICghZmluZF91bmlzeXNfYWNwaV9vZW1fdGFibGUoJm9lbV9hZGRyKSkgewotCQlpZiAoZXM3MDAwX2NoZWNrX2RzZHQoKSkKLQkJCXJldHVybiBwYXJzZV91bmlzeXNfb2VtKChjaGFyICopb2VtX2FkZHIpOwotCQllbHNlIHsKLQkJCXNldHVwX3VuaXN5cygpOwotCQkJcmV0dXJuIDE7Ci0JCX0KLQl9Ci0JcmV0dXJuIDA7Ci19Ci0jZWxzZQotaW50IF9faW5pdCBhY3BpX21hZHRfb2VtX2NoZWNrKGNoYXIgKm9lbV9pZCwgY2hhciAqb2VtX3RhYmxlX2lkKQotewotCXJldHVybiAwOwotfQotI2VuZGlmCi0jZW5kaWYgLyogQ09GSUdfWDg2X0dFTkVSSUNBUkNIICovCi0KIHN0YXRpYyB2b2lkCiBlczcwMDBfc3BpbihpbnQgbikKIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9NYWtlZmlsZSBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9NYWtlZmlsZQppbmRleCAxOWQ2ZDQwLi4wZGJkNzgwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL01ha2VmaWxlCkBAIC0yLDcgKzIsMTEgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBnZW5lcmljIGFyY2hpdGVjdHVyZQogIwogCi1FWFRSQV9DRkxBR1MJOj0gLUlhcmNoL3g4Ni9rZXJuZWwKK0VYVFJBX0NGTEFHUwkJCTo9IC1JYXJjaC94ODYva2VybmVsCiAKLW9iai15CQk6PSBwcm9iZS5vIHN1bW1pdC5vIGJpZ3NtcC5vIGVzNzAwMC5vIGRlZmF1bHQubyAKLW9iai15CQkrPSAuLi8uLi94ODYvbWFjaC1lczcwMDAvCitvYmoteQkJCQk6PSBwcm9iZS5vIGRlZmF1bHQubworb2JqLSQoQ09ORklHX1g4Nl9OVU1BUSkJCSs9IG51bWFxLm8KK29iai0kKENPTkZJR19YODZfU1VNTUlUKQkrPSBzdW1taXQubworb2JqLSQoQ09ORklHX1g4Nl9CSUdTTVApCSs9IGJpZ3NtcC5vCitvYmotJChDT05GSUdfWDg2X0VTNzAwMCkJKz0gZXM3MDAwLm8KK29iai0kKENPTkZJR19YODZfRVM3MDAwKQkrPSAuLi8uLi94ODYvbWFjaC1lczcwMDAvCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvYmlnc21wLmMgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvYmlnc21wLmMKaW5kZXggOTVmYzQ2My4uNTlkNzcxNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL2JpZ3NtcC5jCisrKyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9iaWdzbXAuYwpAQCAtMjMsMTAgKzIzLDggQEAKIAogc3RhdGljIGludCBocF9odF9iaWdzbXAoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCiB7Ci0jaWZkZWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSAogCXByaW50ayhLRVJOX05PVElDRSAiJXMgZGV0ZWN0ZWQ6IGZvcmNlIHVzZSBvZiBhcGljPWJpZ3NtcFxuIiwgZC0+aWRlbnQpOwogCWRtaV9iaWdzbXAgPSAxOwotI2VuZGlmCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQ4LDcgKzQ2LDcgQEAKIHN0YXRpYyBpbnQgcHJvYmVfYmlnc21wKHZvaWQpCiB7CiAJaWYgKGRlZl90b19iaWdzbXApCi0JZG1pX2JpZ3NtcCA9IDE7CisJCWRtaV9iaWdzbXAgPSAxOwogCWVsc2UKIAkJZG1pX2NoZWNrX3N5c3RlbShiaWdzbXBfZG1pX3RhYmxlKTsKIAlyZXR1cm4gZG1pX2JpZ3NtcDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9udW1hcS5jIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL251bWFxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA5MWU2OAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9udW1hcS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBBUElDIGRyaXZlciBmb3IgdGhlIElCTSBOVU1BUSBjaGlwc2V0LgorICovCisjZGVmaW5lIEFQSUNfREVGSU5JVElPTiAxCisjaW5jbHVkZSA8bGludXgvdGhyZWFkcy5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CisjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KKyNpbmNsdWRlIDxhc20vZml4bWFwLmg+CisjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF9hcGljLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF9hcGljZGVmLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF9pcGkuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1udW1hcS9tYWNoX21wcGFyc2UuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1udW1hcS9tYWNoX3dha2VjcHUuaD4KKyNpbmNsdWRlIDxhc20vbnVtYXEuaD4KKworc3RhdGljIGludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQljaGFyICpwcm9kdWN0aWQpCit7CisJbnVtYXFfbXBzX29lbV9jaGVjayhtcGMsIG9lbSwgcHJvZHVjdGlkKTsKKwlyZXR1cm4gZm91bmRfbnVtYXE7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbnVtYXEodm9pZCkKK3sKKwkvKiBhbHJlYWR5IGtub3cgZnJvbSBnZXRfbWVtY2ZnX251bWFxKCkgKi8KKwlyZXR1cm4gZm91bmRfbnVtYXE7Cit9CisKKy8qIEhvb2sgZnJvbSBnZW5lcmljIEFDUEkgdGFibGVzLmMgKi8KK3N0YXRpYyBpbnQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IGdlbmFwaWMgYXBpY19udW1hcSA9IEFQSUNfSU5JVCgiTlVNQVEiLCBwcm9iZV9udW1hcSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvcHJvYmUuYyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9wcm9iZS5jCmluZGV4IGM1YWU3NTEuLjVhN2U0NjEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9wcm9iZS5jCisrKyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9wcm9iZS5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KICNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgogCitleHRlcm4gc3RydWN0IGdlbmFwaWMgYXBpY19udW1hcTsKIGV4dGVybiBzdHJ1Y3QgZ2VuYXBpYyBhcGljX3N1bW1pdDsKIGV4dGVybiBzdHJ1Y3QgZ2VuYXBpYyBhcGljX2JpZ3NtcDsKIGV4dGVybiBzdHJ1Y3QgZ2VuYXBpYyBhcGljX2VzNzAwMDsKQEAgLTI0LDkgKzI1LDE4IEBACiBzdHJ1Y3QgZ2VuYXBpYyAqZ2VuYXBpYyA9ICZhcGljX2RlZmF1bHQ7CiAKIHN0YXRpYyBzdHJ1Y3QgZ2VuYXBpYyAqYXBpY19wcm9iZVtdIF9faW5pdGRhdGEgPSB7CisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCSZhcGljX251bWFxLAorI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9TVU1NSVQKIAkmYXBpY19zdW1taXQsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0JJR1NNUAogCSZhcGljX2JpZ3NtcCwKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfRVM3MDAwCiAJJmFwaWNfZXM3MDAwLAorI2VuZGlmCiAJJmFwaWNfZGVmYXVsdCwJLyogbXVzdCBiZSBsYXN0ICovCiAJTlVMTCwKIH07CkBAIC01NCw2ICs2NCw3IEBACiAKIHZvaWQgX19pbml0IGdlbmVyaWNfYmlnc21wX3Byb2JlKHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl9CSUdTTVAKIAkvKgogCSAqIFRoaXMgcm91dGluZSBpcyB1c2VkIHRvIHN3aXRjaCB0byBiaWdzbXAgbW9kZSB3aGVuCiAJICogLSBUaGVyZSBpcyBubyBhcGljPSBvcHRpb24gc3BlY2lmaWVkIGJ5IHRoZSB1c2VyCkBAIC02Nyw2ICs3OCw3IEBACiAJCQlwcmludGsoS0VSTl9JTkZPICJPdmVycmlkaW5nIEFQSUMgZHJpdmVyIHdpdGggJXNcbiIsCiAJCQkgICAgICAgZ2VuYXBpYy0+bmFtZSk7CiAJCX0KKyNlbmRpZgogfQogCiB2b2lkIF9faW5pdCBnZW5lcmljX2FwaWNfcHJvYmUodm9pZCkKQEAgLTg4LDcgKzEwMCw4IEBACiAKIC8qIFRoZXNlIGZ1bmN0aW9ucyBjYW4gc3dpdGNoIHRoZSBBUElDIGV2ZW4gYWZ0ZXIgdGhlIGluaXRpYWwgLT5wcm9iZSgpICovCiAKLWludCBfX2luaXQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwgY2hhciAqcHJvZHVjdGlkKQoraW50IF9faW5pdCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJCSBjaGFyICpwcm9kdWN0aWQpCiB7CiAJaW50IGk7CiAJZm9yIChpID0gMDsgYXBpY19wcm9iZVtpXTsgKytpKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL01ha2VmaWxlIGIvYXJjaC94ODYvbWFjaC12aXN3cy9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODM1ZmQ5Ni4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciB0aGUgbGludXgga2VybmVsLgotIwotCi1vYmoteQkJCQk6PSBzZXR1cC5vIHRyYXBzLm8gcmVib290Lm8KLQotb2JqLSQoQ09ORklHX1g4Nl9WSVNXU19BUElDKQkrPSB2aXN3c19hcGljLm8KLW9iai0kKENPTkZJR19YODZfTE9DQUxfQVBJQykJKz0gbXBwYXJzZS5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL21wcGFyc2UuYyBiL2FyY2gveDg2L21hY2gtdmlzd3MvbXBwYXJzZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzQ4NGU5Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3MvbXBwYXJzZS5jCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotCi0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotCi0jaW5jbHVkZSA8YXNtL3NtcC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotCi0jaW5jbHVkZSAiY29iYWx0LmgiCi0jaW5jbHVkZSAibWFjaF9hcGljLmgiCi0KLS8qIEhhdmUgd2UgZm91bmQgYW4gTVAgdGFibGUgKi8KLWludCBzbXBfZm91bmRfY29uZmlnOwotCi1pbnQgcGljX21vZGU7Ci0KLWV4dGVybiB1bnNpZ25lZCBpbnQgX19jcHVpbml0ZGF0YSBtYXhjcHVzOwotCi0vKgotICogVGhlIFZpc3VhbCBXb3Jrc3RhdGlvbiBpcyBJbnRlbCBNUCBjb21wbGlhbnQgaW4gdGhlIGhhcmR3YXJlCi0gKiBzZW5zZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIEJJT1MoLWNvbmZpZ3VyYXRpb24gdGFibGUpLgotICogTm8gcHJvYmxlbSBmb3IgTGludXguCi0gKi8KLQotc3RhdGljIHZvaWQgX19pbml0IE1QX3Byb2Nlc3Nvcl9pbmZvIChzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm0pCi17Ci0JaW50IHZlciwgbG9naWNhbF9hcGljaWQ7Ci0JcGh5c2lkX21hc2tfdCBhcGljX2NwdXM7Ci0KLQlpZiAoIShtLT5tcGNfY3B1ZmxhZyAmIENQVV9FTkFCTEVEKSkKLQkJcmV0dXJuOwotCi0JbG9naWNhbF9hcGljaWQgPSBtLT5tcGNfYXBpY2lkOwotCXByaW50ayhLRVJOX0lORk8gIiVzQ1BVICMlZCAldToldSBBUElDIHZlcnNpb24gJWRcbiIsCi0JICAgICAgIG0tPm1wY19jcHVmbGFnICYgQ1BVX0JPT1RQUk9DRVNTT1IgPyAiQm9vdHVwICIgOiAiIiwKLQkgICAgICAgbS0+bXBjX2FwaWNpZCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX0ZBTUlMWV9NQVNLKSA+PiA4LAotCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfTU9ERUxfTUFTSykgPj4gNCwKLQkgICAgICAgbS0+bXBjX2FwaWN2ZXIpOwotCi0JaWYgKG0tPm1wY19jcHVmbGFnICYgQ1BVX0JPT1RQUk9DRVNTT1IpCi0JCWJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9IG0tPm1wY19hcGljaWQ7Ci0KLQl2ZXIgPSBtLT5tcGNfYXBpY3ZlcjsKLQlpZiAoKHZlciA+PSAweDE0ICYmIG0tPm1wY19hcGljaWQgPj0gMHhmZikgfHwgbS0+bXBjX2FwaWNpZCA+PSAweGYpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJQcm9jZXNzb3IgIyVkIElOVkFMSUQuIChNYXggSUQ6ICVkKS5cbiIsCi0JCQltLT5tcGNfYXBpY2lkLCBNQVhfQVBJQ1MpOwotCQlyZXR1cm47Ci0JfQotCi0JYXBpY19jcHVzID0gYXBpY2lkX3RvX2NwdV9wcmVzZW50KG0tPm1wY19hcGljaWQpOwotCXBoeXNpZHNfb3IocGh5c19jcHVfcHJlc2VudF9tYXAsIHBoeXNfY3B1X3ByZXNlbnRfbWFwLCBhcGljX2NwdXMpOwotCS8qCi0JICogVmFsaWRhdGUgdmVyc2lvbgotCSAqLwotCWlmICh2ZXIgPT0gMHgwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiQklPUyBidWcsIEFQSUMgdmVyc2lvbiBpcyAwIGZvciBDUFUjJWQhICIKLQkJCSJmaXhpbmcgdXAgdG8gMHgxMC4gKHRlbGwgeW91ciBodyB2ZW5kb3IpXG4iLAotCQkJbS0+bXBjX2FwaWNpZCk7Ci0JCXZlciA9IDB4MTA7Ci0JfQotCWFwaWNfdmVyc2lvblttLT5tcGNfYXBpY2lkXSA9IHZlcjsKLX0KLQotdm9pZCBfX2luaXQgZmluZF9zbXBfY29uZmlnKHZvaWQpCi17Ci0Jc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptcCA9IHBoeXNfdG9fdmlydChDT19DUFVfVEFCX1BIWVMpOwotCXVuc2lnbmVkIHNob3J0IG5jcHVzID0gcmVhZHcocGh5c190b192aXJ0KENPX0NQVV9OVU1fUEhZUykpOwotCi0JaWYgKG5jcHVzID4gQ09fQ1BVX01BWCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJmaW5kX3Zpc3dzX3NtcDogZ290IGNwdSBjb3VudCBvZiAlZCBhdCAlcFxuIiwKLQkJCW5jcHVzLCBtcCk7Ci0KLQkJbmNwdXMgPSBDT19DUFVfTUFYOwotCX0KLQotCWlmIChuY3B1cyA+IG1heGNwdXMpCi0JCW5jcHVzID0gbWF4Y3B1czsKLQotCXNtcF9mb3VuZF9jb25maWcgPSAxOwotCXdoaWxlIChuY3B1cy0tKQotCQlNUF9wcm9jZXNzb3JfaW5mbyhtcCsrKTsKLQotCW1wX2xhcGljX2FkZHIgPSBBUElDX0RFRkFVTFRfUEhZU19CQVNFOwotfQotCi12b2lkIF9faW5pdCBnZXRfc21wX2NvbmZpZyAodm9pZCkKLXsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3MvcmVib290LmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL3JlYm9vdC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTMzMmFiLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3MvcmVib290LmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvc21wLmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgInBpaXg0LmgiCi0KLXZvaWQgKCpwbV9wb3dlcl9vZmYpKHZvaWQpOwotRVhQT1JUX1NZTUJPTChwbV9wb3dlcl9vZmYpOwotCi12b2lkIG1hY2hpbmVfc2h1dGRvd24odm9pZCkKLXsKLSNpZmRlZiBDT05GSUdfU01QCi0Jc21wX3NlbmRfc3RvcCgpOwotI2VuZGlmCi19Ci0KLXZvaWQgbWFjaGluZV9lbWVyZ2VuY3lfcmVzdGFydCh2b2lkKQotewotCS8qCi0JICogVmlzdWFsIFdvcmtzdGF0aW9ucyByZXN0YXJ0IGFmdGVyIHRoaXMKLQkgKiByZWdpc3RlciBpcyBwb2tlZCBvbiB0aGUgUElJWDQKLQkgKi8KLQlvdXRiKFBJSVg0X1JFU0VUX1ZBTCwgUElJWDRfUkVTRVRfUE9SVCk7Ci19Ci0KLXZvaWQgbWFjaGluZV9yZXN0YXJ0KGNoYXIgKiBfX3VudXNlZCkKLXsKLQltYWNoaW5lX3NodXRkb3duKCk7Ci0JbWFjaGluZV9lbWVyZ2VuY3lfcmVzdGFydCgpOwotfQotCi12b2lkIG1hY2hpbmVfcG93ZXJfb2ZmKHZvaWQpCi17Ci0JdW5zaWduZWQgc2hvcnQgcG1fc3RhdHVzOwotCWV4dGVybiB1bnNpZ25lZCBpbnQgcGNpX2J1czA7Ci0KLQl3aGlsZSAoKHBtX3N0YXR1cyA9IGludyhQTVNUU19QT1JUKSkgJiAweDEwMCkKLQkJb3V0dyhwbV9zdGF0dXMsIFBNU1RTX1BPUlQpOwotCi0Jb3V0dyhQTV9TVVNQRU5EX0VOQUJMRSwgUE1DTlRSTF9QT1JUKTsKLQotCW1kZWxheSgxMCk7Ci0KLSNkZWZpbmUgUENJX0NPTkYxX0FERFJFU1MoYnVzLCBkZXZmbiwgcmVnKSBcCi0JKDB4ODAwMDAwMDAgfCAoYnVzIDw8IDE2KSB8IChkZXZmbiA8PCA4KSB8IChyZWcgJiB+MykpCi0KLQlvdXRsKFBDSV9DT05GMV9BRERSRVNTKHBjaV9idXMwLCBTUEVDSUFMX0RFViwgU1BFQ0lBTF9SRUcpLCAweENGOCk7Ci0Jb3V0bChQSUlYX1NQRUNJQUxfU1RPUCwgMHhDRkMpOwotfQotCi12b2lkIG1hY2hpbmVfaGFsdCh2b2lkKQotewotfQotCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3NldHVwLmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL3NldHVwLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlNGM5ZGIuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy9zZXR1cC5jCisrKyAvZGV2L251bGwKQEAgLTEsMTgzICswLDAgQEAKLS8qCi0gKiAgVW5tYWludGFpbmVkIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gc3VwcG9ydC4KLSAqICBTcGxpdCBvdXQgZnJvbSBzZXR1cC5jIGJ5IGRhdmVqQHN1c2UuZGUKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvc21wLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotCi0jaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgotI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJwaWl4NC5oIgotCi1pbnQgbm9fYnJvYWRjYXN0OwotCi1jaGFyIHZpc3dzX2JvYXJkX3R5cGUgPSAtMTsKLWNoYXIgdmlzd3NfYm9hcmRfcmV2ID0gLTE7Ci0KLXZvaWQgX19pbml0IHZpc3dzX2dldF9ib2FyZF90eXBlX2FuZF9yZXYodm9pZCkKLXsKLQlpbnQgcmF3OwotCi0Jdmlzd3NfYm9hcmRfdHlwZSA9IChjaGFyKShpbmJfcChQSUlYX0dQSV9CRF9SRUcpICYgUElJWF9HUElfQkRfUkVHKQotCQkJCQkJCSA+PiBQSUlYX0dQSV9CRF9TSElGVDsKLQkvKgotCSAqIEdldCBCb2FyZCByZXYuCi0JICogRmlyc3QsIHdlIGhhdmUgdG8gaW5pdGlhbGl6ZSB0aGUgMzA3IHBhcnQgdG8gYWxsb3cgdXMgYWNjZXNzCi0JICogdG8gdGhlIEdQSU8gcmVnaXN0ZXJzLiAgTGV0J3MgbWFwIHRoZW0gYXQgMHgwZmMwIHdoaWNoIGlzIHJpZ2h0Ci0JICogYWZ0ZXIgdGhlIFBJSVg0IFBNIHNlY3Rpb24uCi0JICovCi0Jb3V0Yl9wKFNJT19ERVZfU0VMLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fR1BfREVWLCBTSU9fREFUQSk7CS8qIFRhbGsgdG8gR1BJTyByZWdzLiAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfTVNCLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fR1BfTVNCLCBTSU9fREFUQSk7CS8qIE1TQiBvZiBHUElPIGJhc2UgYWRkcmVzcyAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfTFNCLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fR1BfTFNCLCBTSU9fREFUQSk7CS8qIExTQiBvZiBHUElPIGJhc2UgYWRkcmVzcyAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfRU5CLCBTSU9fSU5ERVgpOwotCW91dGJfcCgxLCBTSU9fREFUQSk7CQkvKiBFbmFibGUgR1BJTyByZWdpc3RlcnMuICovCi0KLQkvKgotCSAqIE5vdywgd2UgaGF2ZSB0byBtYXAgdGhlIHBvd2VyIG1hbmFnZW1lbnQgc2VjdGlvbiB0byB3cml0ZQotCSAqIGEgYml0IHdoaWNoIGVuYWJsZXMgYWNjZXNzIHRvIHRoZSBHUElPIHJlZ2lzdGVycy4KLQkgKiBXaGF0IGx1bmF0aWMgY2FtZSB1cCB3aXRoIHRoaXMgc2hpdD8KLQkgKi8KLQlvdXRiX3AoU0lPX0RFVl9TRUwsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19QTV9ERVYsIFNJT19EQVRBKTsJLyogVGFsayB0byBHUElPIHJlZ3MuICovCi0KLQlvdXRiX3AoU0lPX0RFVl9NU0IsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19QTV9NU0IsIFNJT19EQVRBKTsJLyogTVNCIG9mIFBNIGJhc2UgYWRkcmVzcyAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfTFNCLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fUE1fTFNCLCBTSU9fREFUQSk7CS8qIExTQiBvZiBQTSBiYXNlIGFkZHJlc3MgKi8KLQotCW91dGJfcChTSU9fREVWX0VOQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoMSwgU0lPX0RBVEEpOwkJLyogRW5hYmxlIFBNIHJlZ2lzdGVycy4gKi8KLQotCS8qCi0JICogTm93LCB3cml0ZSB0aGUgUE0gcmVnaXN0ZXIgd2hpY2ggZW5hYmxlcyB0aGUgR1BJTyByZWdpc3RlcnMuCi0JICovCi0Jb3V0Yl9wKFNJT19QTV9GRVIyLCBTSU9fUE1fSU5ERVgpOwotCW91dGJfcChTSU9fUE1fR1BfRU4sIFNJT19QTV9EQVRBKTsKLQotCS8qCi0JICogTm93LCBpbml0aWFsaXplIHRoZSBHUElPIHJlZ2lzdGVycy4KLQkgKiBXZSB3YW50IHRoZW0gYWxsIHRvIGJlIGlucHV0cyB3aGljaCBpcyB0aGUKLQkgKiBwb3dlciBvbiBkZWZhdWx0LCBzbyBsZXQncyBsZWF2ZSB0aGVtIGFsb25lLgotCSAqIFNvLCBsZXQncyBqdXN0IHJlYWQgdGhlIGJvYXJkIHJldiEKLQkgKi8KLQlyYXcgPSBpbmJfcChTSU9fR1BfREFUQTEpOwotCXJhdyAmPSAweDdmOwkvKiA3IGJpdHMgb2YgdmFsaWQgYm9hcmQgcmV2aXNpb24gSUQuICovCi0KLQlpZiAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU18zMjApIHsKLQkJaWYgKHJhdyA8IDB4NikgewotCQkJdmlzd3NfYm9hcmRfcmV2ID0gNDsKLQkJfSBlbHNlIGlmIChyYXcgPCAweGMpIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IDU7Ci0JCX0gZWxzZSB7Ci0JCQl2aXN3c19ib2FyZF9yZXYgPSA2OwotCQl9Ci0JfSBlbHNlIGlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzU0MCkgewotCQkJdmlzd3NfYm9hcmRfcmV2ID0gMjsKLQkJfSBlbHNlIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IHJhdzsKLQkJfQotCi0JcHJpbnRrKEtFUk5fSU5GTyAiU2lsaWNvbiBHcmFwaGljcyBWaXN1YWwgV29ya3N0YXRpb24gJXMgKHJldiAlZCkgZGV0ZWN0ZWRcbiIsCi0JICAgICAgICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCA/ICIzMjAiIDoKLQkgICAgICAgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfNTQwID8gIjU0MCIgOgotCQkidW5rbm93biIpKSwgdmlzd3NfYm9hcmRfcmV2KTsKLX0KLQotdm9pZCBfX2luaXQgcHJlX2ludHJfaW5pdF9ob29rKHZvaWQpCi17Ci0JaW5pdF9WSVNXU19BUElDX2lycXMoKTsKLX0KLQotdm9pZCBfX2luaXQgaW50cl9pbml0X2hvb2sodm9pZCkKLXsKLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLQlhcGljX2ludHJfaW5pdCgpOwotI2VuZGlmCi19Ci0KLXZvaWQgX19pbml0IHByZV9zZXR1cF9hcmNoX2hvb2soKQotewotCXZpc3dzX2dldF9ib2FyZF90eXBlX2FuZF9yZXYoKTsKLX0KLQotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gaXJxMCA9IHsKLQkuaGFuZGxlciA9CXRpbWVyX2ludGVycnVwdCwKLQkuZmxhZ3MgPQlJUlFGX0RJU0FCTEVEIHwgSVJRRl9JUlFQT0xMLAotCS5uYW1lID0JCSJ0aW1lciIsCi19OwotCi12b2lkIF9faW5pdCB0aW1lX2luaXRfaG9vayh2b2lkKQotewotCXByaW50ayhLRVJOX0lORk8gIlN0YXJ0aW5nIENvYmFsdCBUaW1lciBzeXN0ZW0gY2xvY2tcbiIpOwotCi0JLyogU2V0IHRoZSBjb3VudGRvd24gdmFsdWUgKi8KLQljb19jcHVfd3JpdGUoQ09fQ1BVX1RJTUVWQUwsIENPX1RJTUVfSFovSFopOwotCi0JLyogU3RhcnQgdGhlIHRpbWVyICovCi0JY29fY3B1X3dyaXRlKENPX0NQVV9DVFJMLCBjb19jcHVfcmVhZChDT19DUFVfQ1RSTCkgfCBDT19DVFJMX1RJTUVSVU4pOwotCi0JLyogRW5hYmxlICh1bm1hc2spIHRoZSB0aW1lciBpbnRlcnJ1cHQgKi8KLQljb19jcHVfd3JpdGUoQ09fQ1BVX0NUUkwsIGNvX2NwdV9yZWFkKENPX0NQVV9DVFJMKSAmIH5DT19DVFJMX1RJTUVNQVNLKTsKLQotCS8qIFdpcmUgY3B1IElEVCBlbnRyeSB0byBzL3cgaGFuZGxlciAoYW5kIENvYmFsdCBBUElDIHRvIElEVCkgKi8KLQlzZXR1cF9pcnEoMCwgJmlycTApOwotfQotCi0vKiBIb29rIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4gKi8KLQotI2RlZmluZSBNQiAoMTAyNCAqIDEwMjQpCi0KLXVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fcGh5czsKLXVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKLUVYUE9SVF9TWU1CT0woc2dpdndmYl9tZW1fcGh5cyk7Ci1FWFBPUlRfU1lNQk9MKHNnaXZ3ZmJfbWVtX3NpemUpOwotCi1sb25nIGxvbmcgbWVtX3NpemUgX19pbml0ZGF0YSA9IDA7Ci0KLWNoYXIgKiBfX2luaXQgbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKLXsKLQlsb25nIGxvbmcgZ2Z4X21lbV9zaXplID0gOCAqIE1COwotCi0JbWVtX3NpemUgPSBib290X3BhcmFtcy5hbHRfbWVtX2s7Ci0KLQlpZiAoIW1lbV9zaXplKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIkJvb3Rsb2FkZXIgZGlkbid0IHNldCBtZW1vcnkgc2l6ZSwgdXBncmFkZSBpdCAhXG4iKTsKLQkJbWVtX3NpemUgPSAxMjggKiBNQjsKLQl9Ci0KLQkvKgotCSAqIHRoaXMgaGFyZGNvZGVzIHRoZSBncmFwaGljcyBtZW1vcnkgdG8gOCBNQgotCSAqIGl0IHJlYWxseSBzaG91bGQgYmUgc2l6ZWQgZHluYW1pY2FsbHkgKG9yIGF0IGxlYXN0Ci0JICogc2V0IGFzIGEgYm9vdCBwYXJhbSkKLQkgKi8KLQlpZiAoIXNnaXZ3ZmJfbWVtX3NpemUpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiRGVmYXVsdGluZyB0byA4IE1CIGZyYW1lYnVmZmVyIHNpemVcbiIpOwotCQlzZ2l2d2ZiX21lbV9zaXplID0gOCAqIE1COwotCX0KLQotCS8qCi0JICogVHJpbSB0byBuZWFyZXN0IE1CCi0JICovCi0Jc2dpdndmYl9tZW1fc2l6ZSAmPSB+KCgxIDw8IDIwKSAtIDEpOwotCXNnaXZ3ZmJfbWVtX3BoeXMgPSBtZW1fc2l6ZSAtIGdmeF9tZW1fc2l6ZTsKLQotCWFkZF9tZW1vcnlfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOwotCWFkZF9tZW1vcnlfcmVnaW9uKEhJR0hfTUVNT1JZLCBtZW1fc2l6ZSAtIHNnaXZ3ZmJfbWVtX3NpemUgLSBISUdIX01FTU9SWSwgRTgyMF9SQU0pOwotCWFkZF9tZW1vcnlfcmVnaW9uKHNnaXZ3ZmJfbWVtX3BoeXMsIHNnaXZ3ZmJfbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOwotCi0JcmV0dXJuICJQUk9NIjsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3MvdHJhcHMuYyBiL2FyY2gveDg2L21hY2gtdmlzd3MvdHJhcHMuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmZhYzZiYS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3RyYXBzLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKiBWSVNXUyB0cmFwcyAqLwotCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpX2lkcy5oPgotCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KLSNpbmNsdWRlIDxhc20vYXBpYy5oPgotI2luY2x1ZGUgImNvYmFsdC5oIgotI2luY2x1ZGUgImxpdGhpdW0uaCIKLQotCi0jZGVmaW5lIEEwMTIzNCAoTElfSU5UQV8wIHwgTElfSU5UQV8xIHwgTElfSU5UQV8yIHwgTElfSU5UQV8zIHwgTElfSU5UQV80KQotI2RlZmluZSBCQ0QgKExJX0lOVEIgfCBMSV9JTlRDIHwgTElfSU5URCkKLSNkZWZpbmUgQUxMREVWUyAoQTAxMjM0IHwgQkNEKQotCi1zdGF0aWMgX19pbml0IHZvaWQgbGl0aGl1bV9pbml0KHZvaWQpCi17Ci0Jc2V0X2ZpeG1hcChGSVhfTElfUENJQSwgTElfUENJX0FfUEhZUyk7Ci0Jc2V0X2ZpeG1hcChGSVhfTElfUENJQiwgTElfUENJX0JfUEhZUyk7Ci0KLQlpZiAoKGxpX3BjaWFfcmVhZDE2KFBDSV9WRU5ET1JfSUQpICE9IFBDSV9WRU5ET1JfSURfU0dJKSB8fAotCSAgICAobGlfcGNpYV9yZWFkMTYoUENJX0RFVklDRV9JRCkgIT0gUENJX0RFVklDRV9JRF9TR0lfTElUSElVTSkpIHsKLQkJcHJpbnRrKEtFUk5fRU1FUkcgIkxpdGhpdW0gaG9zdGJyaWRnZSAlYyBub3QgZm91bmRcbiIsICdBJyk7Ci0JCXBhbmljKCJUaGlzIG1hY2hpbmUgaXMgbm90IFNHSSBWaXN1YWwgV29ya3N0YXRpb24gMzIwLzU0MCIpOwotCX0KLQotCWlmICgobGlfcGNpYl9yZWFkMTYoUENJX1ZFTkRPUl9JRCkgIT0gUENJX1ZFTkRPUl9JRF9TR0kpIHx8Ci0JICAgIChsaV9wY2liX3JlYWQxNihQQ0lfREVWSUNFX0lEKSAhPSBQQ0lfREVWSUNFX0lEX1NHSV9MSVRISVVNKSkgewotCQlwcmludGsoS0VSTl9FTUVSRyAiTGl0aGl1bSBob3N0YnJpZGdlICVjIG5vdCBmb3VuZFxuIiwgJ0InKTsKLQkJcGFuaWMoIlRoaXMgbWFjaGluZSBpcyBub3QgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiAzMjAvNTQwIik7Ci0JfQotCi0JbGlfcGNpYV93cml0ZTE2KExJX1BDSV9JTlRFTiwgQUxMREVWUyk7Ci0JbGlfcGNpYl93cml0ZTE2KExJX1BDSV9JTlRFTiwgQUxMREVWUyk7Ci19Ci0KLXN0YXRpYyBfX2luaXQgdm9pZCBjb2JhbHRfaW5pdCh2b2lkKQotewotCS8qCi0JICogT24gbm9ybWFsIFNNUCBQQyB0aGlzIGlzIHVzZWQgb25seSB3aXRoIFNNUCwgYnV0IHdlIGhhdmUgdG8KLQkgKiB1c2UgaXQgYW5kIHNldCBpdCB1cCBoZXJlIHRvIHN0YXJ0IHRoZSBDb2JhbHQgY2xvY2sKLQkgKi8KLQlzZXRfZml4bWFwKEZJWF9BUElDX0JBU0UsIEFQSUNfREVGQVVMVF9QSFlTX0JBU0UpOwotCXNldHVwX2xvY2FsX0FQSUMoKTsKLQlwcmludGsoS0VSTl9JTkZPICJMb2NhbCBBUElDIFZlcnNpb24gJSN4LCBJRCAlI3hcbiIsCi0JCSh1bnNpZ25lZCBpbnQpYXBpY19yZWFkKEFQSUNfTFZSKSwKLQkJKHVuc2lnbmVkIGludClhcGljX3JlYWQoQVBJQ19JRCkpOwotCi0Jc2V0X2ZpeG1hcChGSVhfQ09fQ1BVLCBDT19DUFVfUEhZUyk7Ci0Jc2V0X2ZpeG1hcChGSVhfQ09fQVBJQywgQ09fQVBJQ19QSFlTKTsKLQlwcmludGsoS0VSTl9JTkZPICJDb2JhbHQgUmV2aXNpb24gJSNseCwgQVBJQyBJRCAlI2x4XG4iLAotCQljb19jcHVfcmVhZChDT19DUFVfUkVWKSwgY29fYXBpY19yZWFkKENPX0FQSUNfSUQpKTsKLQotCS8qIEVuYWJsZSBDb2JhbHQgQVBJQyBiZWluZyBjYXJlZnVsIHRvIE5PVCBjaGFuZ2UgdGhlIElEISAqLwotCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19JRCwgY29fYXBpY19yZWFkKENPX0FQSUNfSUQpIHwgQ09fQVBJQ19FTkFCTEUpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQ29iYWx0IEFQSUMgZW5hYmxlZDogSUQgcmVnICUjbHhcbiIsCi0JCWNvX2FwaWNfcmVhZChDT19BUElDX0lEKSk7Ci19Ci0KLXZvaWQgX19pbml0IHRyYXBfaW5pdF9ob29rKHZvaWQpCi17Ci0JbGl0aGl1bV9pbml0KCk7Ci0JY29iYWx0X2luaXQoKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3Mvdmlzd3NfYXBpYy5jIGIvYXJjaC94ODYvbWFjaC12aXN3cy92aXN3c19hcGljLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlZjljYjEuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy92aXN3c19hcGljLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyOTcgKzAsMCBAQAotLyoKLSAqCUNvcHlyaWdodCAoQykgMTk5OSBCZW50IEhhZ2VtYXJrLCBJbmdvIE1vbG5hcgotICoKLSAqICBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIGludGVycnVwdCBjb250cm9sbGVyCi0gKgotICogIFRoZSBDb2JhbHQgc3lzdGVtIEFTSUMgaW4gdGhlIFZpc3VhbCBXb3Jrc3RhdGlvbiBjb250YWlucyBhICJDb2JhbHQiIEFQSUMKLSAqICB3aGljaCBzZXJ2ZXMgYXMgdGhlIG1haW4gaW50ZXJydXB0IGNvbnRyb2xsZXIgaW4gdGhlIHN5c3RlbS4gIE5vbi1sZWdhY3kKLSAqICBoYXJkd2FyZSBpbiB0aGUgc3lzdGVtIHVzZXMgdGhpcyBjb250cm9sbGVyIGRpcmVjdGx5LiAgTGVnYWN5IGRldmljZXMKLSAqICBhcmUgY29ubmVjdGVkIHRvIHRoZSBQSUlYNCB3aGljaCBpbiB0dXJuIGhhcyBpdHMgODI1OShzKSBjb25uZWN0ZWQgdG8KLSAqICBhIG9mIHRoZSBDb2JhbHQgQVBJQyBlbnRyeS4KLSAqCi0gKiAgMDkvMDIvMjAwMCAtIFVwZGF0ZWQgZm9yIDIuNCBieSBqYmFybmVzQHNnaS5jb20KLSAqCi0gKiAgMjUvMTEvMjAwMiAtIFVwZGF0ZWQgZm9yIDIuNSBieSBBbmRyZXkgUGFuaW4gPHBhemtlQG9yYml0YTEucnU+Ci0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2FwaWMuaD4KLSNpbmNsdWRlIDxhc20vaTgyNTkuaD4KLQotI2luY2x1ZGUgImNvYmFsdC5oIgotI2luY2x1ZGUgImlycV92ZWN0b3JzLmgiCi0KLQotc3RhdGljIERFRklORV9TUElOTE9DSyhjb2JhbHRfbG9jayk7Ci0KLS8qCi0gKiBTZXQgdGhlIGdpdmVuIENvYmFsdCBBUElDIFJlZGlyZWN0aW9uIFRhYmxlIGVudHJ5IHRvIHBvaW50Ci0gKiB0byB0aGUgZ2l2ZW4gSURUIHZlY3Rvci9pbmRleC4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGNvX2FwaWNfc2V0KGludCBlbnRyeSwgaW50IGlycSkKLXsKLQljb19hcGljX3dyaXRlKENPX0FQSUNfTE8oZW50cnkpLCBDT19BUElDX0xFVkVMIHwgKGlycSArIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUikpOwotCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19ISShlbnRyeSksIDApOwotfQotCi0vKgotICogQ29iYWx0IChJTyktQVBJQyBmdW5jdGlvbnMgdG8gaGFuZGxlIFBDSSBkZXZpY2VzLgotICovCi1zdGF0aWMgaW5saW5lIGludCBjb19hcGljX2lkZTBfaGFjayh2b2lkKQotewotCWV4dGVybiBjaGFyIHZpc3dzX2JvYXJkX3R5cGU7Ci0JZXh0ZXJuIGNoYXIgdmlzd3NfYm9hcmRfcmV2OwotCi0JaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwICYmIHZpc3dzX2JvYXJkX3JldiA9PSA1KQotCQlyZXR1cm4gNTsKLQlyZXR1cm4gQ09fQVBJQ19JREUwOwotfQotCi1zdGF0aWMgaW50IGlzX2NvX2FwaWModW5zaWduZWQgaW50IGlycSkKLXsKLQlpZiAoSVNfQ09fQVBJQyhpcnEpKQotCQlyZXR1cm4gQ09fQVBJQyhpcnEpOwotCi0Jc3dpdGNoIChpcnEpIHsKLQkJY2FzZSAwOiByZXR1cm4gQ09fQVBJQ19DUFU7Ci0JCWNhc2UgQ09fSVJRX0lERTA6IHJldHVybiBjb19hcGljX2lkZTBfaGFjaygpOwotCQljYXNlIENPX0lSUV9JREUxOiByZXR1cm4gQ09fQVBJQ19JREUxOwotCQlkZWZhdWx0OiByZXR1cm4gLTE7Ci0JfQotfQotCi0KLS8qCi0gKiBUaGlzIGlzIHRoZSBTR0kgQ29iYWx0IChJTy0pQVBJQzoKLSAqLwotCi1zdGF0aWMgdm9pZCBlbmFibGVfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCWNvX2FwaWNfc2V0KGlzX2NvX2FwaWMoaXJxKSwgaXJxKTsKLX0KLQotc3RhdGljIHZvaWQgZGlzYWJsZV9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JaW50IGVudHJ5ID0gaXNfY29fYXBpYyhpcnEpOwotCi0JY29fYXBpY193cml0ZShDT19BUElDX0xPKGVudHJ5KSwgQ09fQVBJQ19NQVNLKTsKLQljb19hcGljX3JlYWQoQ09fQVBJQ19MTyhlbnRyeSkpOwotfQotCi0vKgotICogImlycSIgcmVhbGx5IGp1c3Qgc2VydmVzIHRvIGlkZW50aWZ5IHRoZSBkZXZpY2UuICBIZXJlIGlzIHdoZXJlIHdlCi0gKiBtYXAgdGhpcyB0byB0aGUgQ29iYWx0IEFQSUMgZW50cnkgd2hlcmUgaXQncyBwaHlzaWNhbGx5IHdpcmVkLgotICogVGhpcyBpcyBjYWxsZWQgdmlhIHJlcXVlc3RfaXJxIC0+IHNldHVwX2lycSAtPiBpcnFfZGVzYy0+c3RhcnR1cCgpCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnR1cF9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotCWlmICgoaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiAoSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MgfCBJUlFfV0FJVElORykpKQotCQlpcnFfZGVzY1tpcnFdLnN0YXR1cyAmPSB+KElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTIHwgSVJRX1dBSVRJTkcpOwotCWVuYWJsZV9jb2JhbHRfaXJxKGlycSk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgYWNrX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JZGlzYWJsZV9jb2JhbHRfaXJxKGlycSk7Ci0JYXBpY193cml0ZShBUElDX0VPSSwgQVBJQ19FSU9fQUNLKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgdm9pZCBlbmRfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQlpZiAoIShpcnFfZGVzY1tpcnFdLnN0YXR1cyAmIChJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUykpKQotCQllbmFibGVfY29iYWx0X2lycShpcnEpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgY29iYWx0X2lycV90eXBlID0gewotCS50eXBlbmFtZSA9CSJDb2JhbHQtQVBJQyIsCi0JLnN0YXJ0dXAgPQlzdGFydHVwX2NvYmFsdF9pcnEsCi0JLnNodXRkb3duID0JZGlzYWJsZV9jb2JhbHRfaXJxLAotCS5lbmFibGUgPQllbmFibGVfY29iYWx0X2lycSwKLQkuZGlzYWJsZSA9CWRpc2FibGVfY29iYWx0X2lycSwKLQkuYWNrID0JCWFja19jb2JhbHRfaXJxLAotCS5lbmQgPQkJZW5kX2NvYmFsdF9pcnEsCi19OwotCi0KLS8qCi0gKiBUaGlzIGlzIHRoZSBQSUlYNC1iYXNlZCA4MjU5IHRoYXQgaXMgd2lyZWQgdXAgaW5kaXJlY3RseSB0byBDb2JhbHQKLSAqIC0tIG5vdCB0aGUgbWFubmVyIGV4cGVjdGVkIGJ5IHRoZSBjb2RlIGluIGk4MjU5LmMuCi0gKgotICogdGhlcmUgaXMgYSAnbWFzdGVyJyBwaHlzaWNhbCBpbnRlcnJ1cHQgc291cmNlIHRoYXQgZ2V0cyBzZW50IHRvCi0gKiB0aGUgQ1BVLiBCdXQgaW4gdGhlIGNoaXBzZXQgdGhlcmUgYXJlIHZhcmlvdXMgJ3ZpcnR1YWwnIGludGVycnVwdHMKLSAqIHdhaXRpbmcgdG8gYmUgaGFuZGxlZC4gV2UgcmVwcmVzZW50IHRoaXMgdG8gTGludXggdGhyb3VnaCBhICdtYXN0ZXInCi0gKiBpbnRlcnJ1cHQgY29udHJvbGxlciB0eXBlLCBhbmQgdGhyb3VnaCBhIHNwZWNpYWwgdmlydHVhbCBpbnRlcnJ1cHQtCi0gKiBjb250cm9sbGVyLiBEZXZpY2UgZHJpdmVycyBvbmx5IHNlZSB0aGUgdmlydHVhbCBpbnRlcnJ1cHQgc291cmNlcy4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGludCBzdGFydHVwX3BpaXg0X21hc3Rlcl9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQlpbml0XzgyNTlBKDApOwotCi0JcmV0dXJuIHN0YXJ0dXBfY29iYWx0X2lycShpcnEpOwotfQotCi1zdGF0aWMgdm9pZCBlbmRfcGlpeDRfbWFzdGVyX2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQllbmFibGVfY29iYWx0X2lycShpcnEpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgcGlpeDRfbWFzdGVyX2lycV90eXBlID0gewotCS50eXBlbmFtZSA9CSJQSUlYNC1tYXN0ZXIiLAotCS5zdGFydHVwID0Jc3RhcnR1cF9waWl4NF9tYXN0ZXJfaXJxLAotCS5hY2sgPQkJYWNrX2NvYmFsdF9pcnEsCi0JLmVuZCA9CQllbmRfcGlpeDRfbWFzdGVyX2lycSwKLX07Ci0KLQotc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBwaWl4NF92aXJ0dWFsX2lycV90eXBlID0gewotCS50eXBlbmFtZSA9CSJQSUlYNC12aXJ0dWFsIiwKLQkuc2h1dGRvd24gPQlkaXNhYmxlXzgyNTlBX2lycSwKLQkuZW5hYmxlID0JZW5hYmxlXzgyNTlBX2lycSwKLQkuZGlzYWJsZSA9CWRpc2FibGVfODI1OUFfaXJxLAotfTsKLQotCi0vKgotICogUElJWDQtODI1OSBtYXN0ZXIvdmlydHVhbCBmdW5jdGlvbnMgdG8gaGFuZGxlIGludGVycnVwdCByZXF1ZXN0cwotICogZnJvbSBsZWdhY3kgZGV2aWNlczogZmxvcHB5LCBwYXJhbGxlbCwgc2VyaWFsLCBydGMuCi0gKgotICogTm9uZSBvZiB0aGVzZSBnZXQgQ29iYWx0IEFQSUMgZW50cmllcywgbmVpdGhlciBkbyB0aGV5IGhhdmUgSURUCi0gKiBlbnRyaWVzLiBUaGVzZSBpbnRlcnJ1cHRzIGFyZSBwdXJlbHkgdmlydHVhbCBhbmQgZGlzdHJpYnV0ZWQgZnJvbQotICogdGhlICdtYXN0ZXInIGludGVycnVwdCBzb3VyY2U6IENPX0lSUV84MjU5LgotICoKLSAqIFdoZW4gdGhlIDgyNTkgaW50ZXJydXB0cyBpdHMgaGFuZGxlciBmaWd1cmVzIG91dCB3aGljaCBvZiB0aGVzZQotICogZGV2aWNlcyBpcyBpbnRlcnJ1cHRpbmcgYW5kIGRpc3BhdGNoZXMgdG8gaXRzIGhhbmRsZXIuCi0gKgotICogQ0FSRUZVTDogZGV2aWNlcyBzZWUgdGhlICd2aXJ0dWFsJyBpbnRlcnJ1cHQgb25seS4gVGh1cyBkaXNhYmxlLwotICogZW5hYmxlX2lycSBnZXRzIHRoZSByaWdodCBpcnEuIFRoaXMgJ21hc3RlcicgaXJxIGlzIG5ldmVyIGRpcmVjdGx5Ci0gKiBtYW5pcHVsYXRlZCBieSBhbnkgZHJpdmVyLgotICovCi1zdGF0aWMgaXJxcmV0dXJuX3QgcGlpeDRfbWFzdGVyX2ludHIoaW50IGlycSwgdm9pZCAqZGV2X2lkKQotewotCWludCByZWFsaXJxOwotCWlycV9kZXNjX3QgKmRlc2M7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCi0JLyogRmluZCBvdXQgd2hhdCdzIGludGVycnVwdGluZyBpbiB0aGUgUElJWDQgbWFzdGVyIDgyNTkgKi8KLQlvdXRiKDB4MGMsIDB4MjApOwkJLyogT0NXMyBQb2xsIGNvbW1hbmQgKi8KLQlyZWFsaXJxID0gaW5iKDB4MjApOwotCi0JLyoKLQkgKiBCaXQgNyA9PSAwIG1lYW5zIGludmFsaWQvc3B1cmlvdXMKLQkgKi8KLQlpZiAodW5saWtlbHkoIShyZWFsaXJxICYgMHg4MCkpKQotCQlnb3RvIG91dF91bmxvY2s7Ci0KLQlyZWFsaXJxICY9IDc7Ci0KLQlpZiAodW5saWtlbHkocmVhbGlycSA9PSAyKSkgewotCQlvdXRiKDB4MGMsIDB4YTApOwotCQlyZWFsaXJxID0gaW5iKDB4YTApOwotCi0JCWlmICh1bmxpa2VseSghKHJlYWxpcnEgJiAweDgwKSkpCi0JCQlnb3RvIG91dF91bmxvY2s7Ci0KLQkJcmVhbGlycSA9IChyZWFsaXJxICYgNykgKyA4OwotCX0KLQotCS8qIG1hc2sgYW5kIGFjayBpbnRlcnJ1cHQgKi8KLQljYWNoZWRfaXJxX21hc2sgfD0gMSA8PCByZWFsaXJxOwotCWlmICh1bmxpa2VseShyZWFsaXJxID4gNykpIHsKLQkJaW5iKDB4YTEpOwotCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCAweGExKTsKLQkJb3V0YigweDYwICsgKHJlYWxpcnEgJiA3KSwgMHhhMCk7Ci0JCW91dGIoMHg2MCArIDIsIDB4MjApOwotCX0gZWxzZSB7Ci0JCWluYigweDIxKTsKLQkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIDB4MjEpOwotCQlvdXRiKDB4NjAgKyByZWFsaXJxLCAweDIwKTsKLQl9Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCi0JZGVzYyA9IGlycV9kZXNjICsgcmVhbGlycTsKLQotCS8qCi0JICogaGFuZGxlIHRoaXMgJ3ZpcnR1YWwgaW50ZXJydXB0JyBhcyBhIENvYmFsdCBvbmUgbm93LgotCSAqLwotCWtzdGF0X2NwdShzbXBfcHJvY2Vzc29yX2lkKCkpLmlycXNbcmVhbGlycV0rKzsKLQotCWlmIChsaWtlbHkoZGVzYy0+YWN0aW9uICE9IE5VTEwpKQotCQloYW5kbGVfSVJRX2V2ZW50KHJlYWxpcnEsIGRlc2MtPmFjdGlvbik7Ci0KLQlpZiAoIShkZXNjLT5zdGF0dXMgJiBJUlFfRElTQUJMRUQpKQotCQllbmFibGVfODI1OUFfaXJxKHJlYWxpcnEpOwotCi0JcmV0dXJuIElSUV9IQU5ETEVEOwotCi1vdXRfdW5sb2NrOgotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIElSUV9OT05FOwotfQotCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiBtYXN0ZXJfYWN0aW9uID0gewotCS5oYW5kbGVyID0JcGlpeDRfbWFzdGVyX2ludHIsCi0JLm5hbWUgPQkJIlBJSVg0LTgyNTkiLAotfTsKLQotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gY2FzY2FkZV9hY3Rpb24gPSB7Ci0JLmhhbmRsZXIgPSAJbm9fYWN0aW9uLAotCS5uYW1lID0JCSJjYXNjYWRlIiwKLX07Ci0KLQotdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IENPX0lSUV9BUElDMCArIENPX0FQSUNfTEFTVCArIDE7IGkrKykgewotCQlpcnFfZGVzY1tpXS5zdGF0dXMgPSBJUlFfRElTQUJMRUQ7Ci0JCWlycV9kZXNjW2ldLmFjdGlvbiA9IDA7Ci0JCWlycV9kZXNjW2ldLmRlcHRoID0gMTsKLQotCQlpZiAoaSA9PSAwKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChpID09IENPX0lSUV9JREUwKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChpID09IENPX0lSUV9JREUxKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChpID09IENPX0lSUV84MjU5KSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJnBpaXg0X21hc3Rlcl9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChpIDwgQ09fSVJRX0FQSUMwKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJnBpaXg0X3ZpcnR1YWxfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoSVNfQ09fQVBJQyhpKSkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7Ci0JCX0KLQl9Ci0KLQlzZXR1cF9pcnEoQ09fSVJRXzgyNTksICZtYXN0ZXJfYWN0aW9uKTsKLQlzZXR1cF9pcnEoMiwgJmNhc2NhZGVfYWN0aW9uKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdm95YWdlci9zZXR1cC5jIGIvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3NldHVwLmMKaW5kZXggNWFlNTQ2Ni4uNmJiZGQ2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3NldHVwLmMKKysrIGIvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3NldHVwLmMKQEAgLTYyLDYgKzYyLDcgQEAKIGNoYXIgKl9faW5pdCBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQogewogCWNoYXIgKndobzsKKwlpbnQgbmV3X25yOwogCiAJd2hvID0gIk5PVCBWT1lBR0VSIjsKIApAQCAtNzMsNyArNzQsNyBAQAogCiAJCWU4MjAubnJfbWFwID0gMDsKIAkJZm9yIChpID0gMDsgdm95YWdlcl9tZW1vcnlfZGV0ZWN0KGksICZhZGRyLCAmbGVuZ3RoKTsgaSsrKSB7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihhZGRyLCBsZW5ndGgsIEU4MjBfUkFNKTsKKwkJCWU4MjBfYWRkX3JlZ2lvbihhZGRyLCBsZW5ndGgsIEU4MjBfUkFNKTsKIAkJfQogCQlyZXR1cm4gd2hvOwogCX0gZWxzZSBpZiAodm95YWdlcl9sZXZlbCA9PSA0KSB7CkBAIC05MSw0MyArOTIsMTcgQEAKIAkJCXRvbSA9IChib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2spIDw8IDEwOwogCQl9CiAJCXdobyA9ICJWb3lhZ2VyLVRPTSI7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKDAsIDB4OWYwMDAsIEU4MjBfUkFNKTsKKwkJZTgyMF9hZGRfcmVnaW9uKDAsIDB4OWYwMDAsIEU4MjBfUkFNKTsKIAkJLyogbWFwIGZyb20gMU0gdG8gdG9wIG9mIG1lbW9yeSAqLwotCQlhZGRfbWVtb3J5X3JlZ2lvbigxICogMTAyNCAqIDEwMjQsIHRvbSAtIDEgKiAxMDI0ICogMTAyNCwKKwkJZTgyMF9hZGRfcmVnaW9uKDEgKiAxMDI0ICogMTAyNCwgdG9tIC0gMSAqIDEwMjQgKiAxMDI0LAogCQkJCSAgRTgyMF9SQU0pOwogCQkvKiBGSVhNRTogU2hvdWxkIGNoZWNrIHRoZSBBU0lDcyB0byBzZWUgaWYgSSBuZWVkIHRvCiAJCSAqIHRha2Ugb3V0IHRoZSA4TSB3aW5kb3cuICBKdXN0IGRvIGl0IGF0IHRoZSBtb21lbnQKIAkJICogKi8KLQkJYWRkX21lbW9yeV9yZWdpb24oOCAqIDEwMjQgKiAxMDI0LCA4ICogMTAyNCAqIDEwMjQsCisJCWU4MjBfYWRkX3JlZ2lvbig4ICogMTAyNCAqIDEwMjQsIDggKiAxMDI0ICogMTAyNCwKIAkJCQkgIEU4MjBfUkVTRVJWRUQpOwogCQlyZXR1cm4gd2hvOwogCX0KIAotCXdobyA9ICJCSU9TLWU4MjAiOwotCi0JLyoKLQkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KLQkgKgotCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKLQkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1fawotCSAqLwotCXNhbml0aXplX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCAmYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKTsKLQlpZiAoY29weV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKQotCSAgICA8IDApIHsKLQkJdW5zaWduZWQgbG9uZyBtZW1fc2l6ZTsKLQotCQkvKiBjb21wYXJlIHJlc3VsdHMgZnJvbSBvdGhlciBtZXRob2RzIGFuZCB0YWtlIHRoZSBncmVhdGVyICovCi0JCWlmIChib290X3BhcmFtcy5hbHRfbWVtX2sgPCBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2spIHsKLQkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rOwotCQkJd2hvID0gIkJJT1MtODgiOwotCQl9IGVsc2UgewotCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5hbHRfbWVtX2s7Ci0JCQl3aG8gPSAiQklPUy1lODAxIjsKLQkJfQotCi0JCWU4MjAubnJfbWFwID0gMDsKLQkJYWRkX21lbW9yeV9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKEhJR0hfTUVNT1JZLCBtZW1fc2l6ZSA8PCAxMCwgRTgyMF9SQU0pOwotCX0KLQlyZXR1cm4gd2hvOworCXJldHVybiBkZWZhdWx0X21hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvdm95YWdlcl9zbXAuYyBiL2FyY2gveDg2L21hY2gtdm95YWdlci92b3lhZ2VyX3NtcC5jCmluZGV4IDhhY2JmMGMuLmVlMGZiYTAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtdm95YWdlci92b3lhZ2VyX3NtcC5jCisrKyBiL2FyY2gveDg2L21hY2gtdm95YWdlci92b3lhZ2VyX3NtcC5jCkBAIC01OSwxMSArNTksNiBAQAogICogYWN0aXZpdHkgY291bnQuICBGaW5hbGx5IGV4cG9ydGVkIGJ5IGkzODZfa3N5bXMuYyAqLwogc3RhdGljIGludCB2b3lhZ2VyX2V4dGVuZGVkX2NwdXMgPSAxOwogCi0vKiBIYXZlIHdlIGZvdW5kIGFuIFNNUCBib3ggLSB1c2VkIGJ5IHRpbWUuYyB0byBkbyB0aGUgcHJvZmlsaW5nCi0gICBpbnRlcnJ1cHQgZm9yIHRpbWVzbGljaW5nOyBkbyBub3Qgc2V0IHRvIDEgdW50aWwgdGhlIHBlciBDUFUgdGltZXIKLSAgIGludGVycnVwdCBpcyBhY3RpdmUgKi8KLWludCBzbXBfZm91bmRfY29uZmlnID0gMDsKLQogLyogVXNlZCBmb3IgdGhlIGludmFsaWRhdGUgbWFwIHRoYXQncyBhbHNvIGNoZWNrZWQgaW4gdGhlIHNwaW5sb2NrICovCiBzdGF0aWMgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyBzbXBfaW52YWxpZGF0ZV9uZWVkZWQ7CiAKQEAgLTk1NSw5NCArOTUwLDI0IEBACiAJCWhhbHQoKTsKIH0KIAotc3RhdGljIERFRklORV9TUElOTE9DSyhjYWxsX2xvY2spOwotCi1zdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCXZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgc3RhcnRlZDsKLQl2b2xhdGlsZSB1bnNpZ25lZCBsb25nIGZpbmlzaGVkOwotCWludCB3YWl0OwotfTsKLQotc3RhdGljIHN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Ci0KIC8qIGV4ZWN1dGUgYSB0aHJlYWQgb24gYSBuZXcgQ1BVLiAgVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBtdXN0IGJlCiAgKiBwcmV2aW91c2x5IHNldCB1cC4gIFRoaXMgaXMgdXNlZCB0byBzY2hlZHVsZSBhIGZ1bmN0aW9uIGZvcgogICogZXhlY3V0aW9uIG9uIGFsbCBDUFVzIC0gc2V0IHVwIHRoZSBmdW5jdGlvbiB0aGVuIGJyb2FkY2FzdCBhCiAgKiBmdW5jdGlvbl9pbnRlcnJ1cHQgQ1BJIHRvIGNvbWUgaGVyZSBvbiBlYWNoIENQVSAqLwogc3RhdGljIHZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCS8qIG11c3QgdGFrZSBjb3B5IG9mIHdhaXQgYmVjYXVzZSBjYWxsX2RhdGEgbWF5IGJlIHJlcGxhY2VkCi0JICogdW5sZXNzIHRoZSBmdW5jdGlvbiBpcyB3YWl0aW5nIGZvciB1cyB0byBmaW5pc2ggKi8KLQlpbnQgd2FpdCA9IGNhbGxfZGF0YS0+d2FpdDsKLQlfX3U4IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JbWIoKTsKLQlpZiAoIXRlc3RfYW5kX2NsZWFyX2JpdChjcHUsICZjYWxsX2RhdGEtPnN0YXJ0ZWQpKSB7Ci0JCS8qIElmIHRoZSBiaXQgd2Fzbid0IHNldCwgdGhpcyBjb3VsZCBiZSBhIHJlcGxheSAqLwotCQlwcmludGsoS0VSTl9XQVJOSU5HICJWT1lBR0VSIFNNUDogQ1BVICVkIHJlY2VpdmVkIGNhbGwgZnVudGlvbiIKLQkJICAgICAgICIgd2l0aCBubyBjYWxsIHBlbmRpbmdcbiIsIGNwdSk7Ci0JCXJldHVybjsKLQl9Ci0JLyoKLQkgKiBBdCB0aGlzIHBvaW50IHRoZSBpbmZvIHN0cnVjdHVyZSBtYXkgYmUgb3V0IG9mIHNjb3BlIHVubGVzcyB3YWl0PT0xCi0JICovCiAJaXJxX2VudGVyKCk7Ci0JKCpmdW5jKSAoaW5mbyk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKIAlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pcnFfY2FsbF9jb3VudCsrOwogCWlycV9leGl0KCk7Ci0JaWYgKHdhaXQpIHsKLQkJbWIoKTsKLQkJY2xlYXJfYml0KGNwdSwgJmNhbGxfZGF0YS0+ZmluaXNoZWQpOwotCX0KIH0KIAotc3RhdGljIGludAotdm95YWdlcl9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBjcHVtYXNrLAotCQkJICAgICAgIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCB3YWl0KQorc3RhdGljIHZvaWQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCh2b2lkKQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JdTMyIG1hc2sgPSBjcHVzX2FkZHIoY3B1bWFzaylbMF07Ci0KLQltYXNrICY9IH4oMSA8PCBzbXBfcHJvY2Vzc29yX2lkKCkpOwotCi0JaWYgKCFtYXNrKQotCQlyZXR1cm4gMDsKLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JZGF0YS5zdGFydGVkID0gbWFzazsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlkYXRhLmZpbmlzaGVkID0gbWFzazsKLQotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQljYWxsX2RhdGEgPSAmZGF0YTsKLQl3bWIoKTsKLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBhbGwgb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICovCi0Jc2VuZF9DUEkobWFzaywgVklDX0NBTExfRlVOQ1RJT05fQ1BJKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGRhdGEuc3RhcnRlZCkKLQkJYmFycmllcigpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChkYXRhLmZpbmlzaGVkKQotCQkJYmFycmllcigpOwotCi0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0KLQlyZXR1cm4gMDsKKwlpcnFfZW50ZXIoKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKwlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pcnFfY2FsbF9jb3VudCsrOworCWlycV9leGl0KCk7CiB9CiAKIC8qIFNvcnJ5IGFib3V0IHRoZSBuYW1lLiAgSW4gYW4gQVBJQyBiYXNlZCBzeXN0ZW0sIHRoZSBBUElDcwpAQCAtMTA5OSw2ICsxMDI0LDEyIEBACiAJc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiB9CiAKK3ZvaWQgc21wX3FpY19jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJYWNrX1FJQ19DUEkoUUlDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSSk7CisJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworfQorCiB2b2lkIHNtcF92aWNfY3BpX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlzdHJ1Y3QgcHRfcmVncyAqb2xkX3JlZ3MgPSBzZXRfaXJxX3JlZ3MocmVncyk7CkBAIC0xMTE5LDYgKzEwNTAsOCBAQAogCQlzbXBfZW5hYmxlX2lycV9pbnRlcnJ1cHQoKTsKIAlpZiAodGVzdF9hbmRfY2xlYXJfYml0KFZJQ19DQUxMX0ZVTkNUSU9OX0NQSSwgJnZpY19jcGlfbWFpbGJveFtjcHVdKSkKIAkJc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChWSUNfQ0FMTF9GVU5DVElPTl9TSU5HTEVfQ1BJLCAmdmljX2NwaV9tYWlsYm94W2NwdV0pKQorCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CiAJc2V0X2lycV9yZWdzKG9sZF9yZWdzKTsKIH0KIApAQCAtMTEzNCwxNiArMTA2Nyw3IEBACiAvKiBmbHVzaCB0aGUgVExCIG9mIGV2ZXJ5IGFjdGl2ZSBDUFUgaW4gdGhlIHN5c3RlbSAqLwogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZG9fZmx1c2hfdGxiX2FsbCwgMCwgMSwgMSk7Ci19Ci0KLS8qIHVzZWQgdG8gc2V0IHVwIHRoZSB0cmFtcG9saW5lIGZvciBvdGhlciBDUFVzIHdoZW4gdGhlIG1lbW9yeSBtYW5hZ2VyCi0gKiBpcyBzb3J0ZWQgb3V0ICovCi12b2lkIF9faW5pdCBzbXBfYWxsb2NfbWVtb3J5KHZvaWQpCi17Ci0JdHJhbXBvbGluZV9iYXNlID0gYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKLQlpZiAoX19wYSh0cmFtcG9saW5lX2Jhc2UpID49IDB4OTMwMDApCi0JCUJVRygpOworCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIDAsIDEpOwogfQogCiAvKiBzZW5kIGEgcmVzY2hlZHVsZSBDUEkgdG8gb25lIENQVSBieSBwaHlzaWNhbCBDUFUgbnVtYmVyKi8KQEAgLTExNzUsNyArMTA5OSw3IEBACiAvKiBicm9hZGNhc3QgYSBoYWx0IHRvIGFsbCBvdGhlciBDUFVzICovCiBzdGF0aWMgdm9pZCB2b3lhZ2VyX3NtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzbXBfc3RvcF9jcHVfZnVuY3Rpb24sIE5VTEwsIDEsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9zdG9wX2NwdV9mdW5jdGlvbiwgTlVMTCwgMSk7CiB9CiAKIC8qIHRoaXMgZnVuY3Rpb24gaXMgdHJpZ2dlcmVkIGluIHRpbWUuYyB3aGVuIGEgY2xvY2sgdGljayBmaXJlcwpAQCAtMTg2Miw1ICsxNzg2LDcgQEAKIAogCS5zbXBfc2VuZF9zdG9wID0gdm95YWdlcl9zbXBfc2VuZF9zdG9wLAogCS5zbXBfc2VuZF9yZXNjaGVkdWxlID0gdm95YWdlcl9zbXBfc2VuZF9yZXNjaGVkdWxlLAotCS5zbXBfY2FsbF9mdW5jdGlvbl9tYXNrID0gdm95YWdlcl9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrLAorCisJLnNlbmRfY2FsbF9mdW5jX2lwaSA9IG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19pcGksCisJLnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkgPSBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfc2luZ2xlX2lwaSwKIH07CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYXRoLWVtdS9yZWdfY29uc3RhbnQuYyBiL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCmluZGV4IDA0ODY5ZTYuLjAwNTQ4MzUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCisrKyBiL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCkBAIC0xNiw4ICsxNiw4IEBACiAjaW5jbHVkZSAicmVnX2NvbnN0YW50LmgiCiAjaW5jbHVkZSAiY29udHJvbF93LmgiCiAKLSNkZWZpbmUgTUFLRV9SRUcocyxlLGwsaCkgeyBsLCBoLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChFWFRFTkRFRF9FYmlhcysoZSkpIHwgKChTSUdOXyMjcyAhPSAwKSoweDgwMDApKSB9CisjZGVmaW5lIE1BS0VfUkVHKHMsIGUsIGwsIGgpIHsgbCwgaCwgXAorCQkoKEVYVEVOREVEX0ViaWFzKyhlKSkgfCAoKFNJR05fIyNzICE9IDApKjB4ODAwMCkpIH0KIAogRlBVX1JFRyBjb25zdCBDT05TVF8xID0gTUFLRV9SRUcoUE9TLCAwLCAweDAwMDAwMDAwLCAweDgwMDAwMDAwKTsKICNpZiAwCkBAIC00MCw3ICs0MCw3IEBACiBGUFVfUkVHIGNvbnN0IENPTlNUX1ogPSBNQUtFX1JFRyhQT1MsIEVYUF9VTkRFUiwgMHgwLCAweDApOwogCiAvKiBPbmx5IHRoZSBzaWduIGFuZCBzaWduaWZpY2FuZCAoYW5kIHRhZykgYXJlIHVzZWQgaW4gaW50ZXJuYWwgTmFOcyAqLwotLyogVGhlIDgwNDg2IG5ldmVyIGdlbmVyYXRlcyBvbmUgb2YgdGhlc2UgCisvKiBUaGUgODA0ODYgbmV2ZXIgZ2VuZXJhdGVzIG9uZSBvZiB0aGVzZQogRlBVX1JFRyBjb25zdCBDT05TVF9TTkFOID0gTUFLRV9SRUcoUE9TLCBFWFBfT1ZFUiwgMHgwMDAwMDAwMSwgMHg4MDAwMDAwMCk7CiAgKi8KIC8qIFRoaXMgaXMgdGhlIHJlYWwgaW5kZWZpbml0ZSBRTmFOICovCkBAIC00OSw3ICs0OSw3IEBACiAvKiBPbmx5IHRoZSBzaWduIChhbmQgdGFnKSBpcyB1c2VkIGluIGludGVybmFsIGluZmluaXRpZXMgKi8KIEZQVV9SRUcgY29uc3QgQ09OU1RfSU5GID0gTUFLRV9SRUcoUE9TLCBFWFBfT1ZFUiwgMHgwMDAwMDAwMCwgMHg4MDAwMDAwMCk7CiAKLXN0YXRpYyB2b2lkIGZsZF9jb25zdChGUFVfUkVHIGNvbnN0ICpjLCBpbnQgYWRqLCB1X2NoYXIgdGFnKQorc3RhdGljIHZvaWQgZmxkX2NvbnN0KEZQVV9SRUcgY29uc3QgKiBjLCBpbnQgYWRqLCB1X2NoYXIgdGFnKQogewogCUZQVV9SRUcgKnN0X25ld19wdHI7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL01ha2VmaWxlIGIvYXJjaC94ODYvbW0vTWFrZWZpbGUKaW5kZXggYjdiM2U0Yy4uOTg3MzcxNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbW0vTWFrZWZpbGUKQEAgLTgsMTAgKzgsMTYgQEAKIAogb2JqLSQoQ09ORklHX0hJR0hNRU0pCQkrPSBoaWdobWVtXzMyLm8KIAorb2JqLSQoQ09ORklHX01NSU9UUkFDRV9IT09LUykJKz0ga21taW8ubworb2JqLSQoQ09ORklHX01NSU9UUkFDRSkJCSs9IG1taW90cmFjZS5vCittbWlvdHJhY2UteQkJCTo9IHBmX2luLm8gbW1pby1tb2Qubworb2JqLSQoQ09ORklHX01NSU9UUkFDRV9URVNUKQkrPSB0ZXN0bW1pb3RyYWNlLm8KKwogaWZlcSAoJChDT05GSUdfWDg2XzMyKSx5KQogb2JqLSQoQ09ORklHX05VTUEpCQkrPSBkaXNjb250aWdfMzIubwogZWxzZQogb2JqLSQoQ09ORklHX05VTUEpCQkrPSBudW1hXzY0Lm8KIG9iai0kKENPTkZJR19LOF9OVU1BKQkJKz0gazh0b3BvbG9neV82NC5vCi1vYmotJChDT05GSUdfQUNQSV9OVU1BKQkJKz0gc3JhdF82NC5vCiBlbmRpZgorb2JqLSQoQ09ORklHX0FDUElfTlVNQSkJCSs9IHNyYXRfJChCSVRTKS5vCisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2Rpc2NvbnRpZ18zMi5jIGIvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKaW5kZXggOTE0Y2NmOS4uNWRmZWY5ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKKysrIGIvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vbW16b25lLmg+CiAjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgogCiBzdHJ1Y3QgcGdsaXN0X2RhdGEgKm5vZGVfZGF0YVtNQVhfTlVNTk9ERVNdIF9fcmVhZF9tb3N0bHk7CiBFWFBPUlRfU1lNQk9MKG5vZGVfZGF0YSk7CkBAIC01OSwxNCArNjAsMTQgQEAKIC8qCiAgKiA0KSBwaHlzbm9kZV9tYXAgICAgIC0gdGhlIG1hcHBpbmcgYmV0d2VlbiBhIHBmbiBhbmQgb3duaW5nIG5vZGUKICAqIHBoeXNub2RlX21hcCBrZWVwcyB0cmFjayBvZiB0aGUgcGh5c2ljYWwgbWVtb3J5IGxheW91dCBvZiBhIGdlbmVyaWMKLSAqIG51bWEgbm9kZSBvbiBhIDI1Nk1iIGJyZWFrIChlYWNoIGVsZW1lbnQgb2YgdGhlIGFycmF5IHdpbGwKLSAqIHJlcHJlc2VudCAyNTZNYiBvZiBtZW1vcnkgYW5kIHdpbGwgYmUgbWFya2VkIGJ5IHRoZSBub2RlIGlkLiAgc28sCisgKiBudW1hIG5vZGUgb24gYSA2NE1iIGJyZWFrIChlYWNoIGVsZW1lbnQgb2YgdGhlIGFycmF5IHdpbGwKKyAqIHJlcHJlc2VudCA2NE1iIG9mIG1lbW9yeSBhbmQgd2lsbCBiZSBtYXJrZWQgYnkgdGhlIG5vZGUgaWQuICBzbywKICAqIGlmIHRoZSBmaXJzdCBnaWcgaXMgb24gbm9kZSAwLCBhbmQgdGhlIHNlY29uZCBnaWcgaXMgb24gbm9kZSAxCiAgKiBwaHlzbm9kZV9tYXAgd2lsbCBjb250YWluOgogICoKLSAqICAgICBwaHlzbm9kZV9tYXBbMC0zXSA9IDA7Ci0gKiAgICAgcGh5c25vZGVfbWFwWzQtN10gPSAxOwotICogICAgIHBoeXNub2RlX21hcFs4LSBdID0gLTE7CisgKiAgICAgcGh5c25vZGVfbWFwWzAtMTVdID0gMDsKKyAqICAgICBwaHlzbm9kZV9tYXBbMTYtMzFdID0gMTsKKyAqICAgICBwaHlzbm9kZV9tYXBbMzItIF0gPSAtMTsKICAqLwogczggcGh5c25vZGVfbWFwW01BWF9FTEVNRU5UU10gX19yZWFkX21vc3RseSA9IHsgWzAgLi4uIChNQVhfRUxFTUVOVFMgLSAxKV0gPSAtMX07CiBFWFBPUlRfU1lNQk9MKHBoeXNub2RlX21hcCk7CkBAIC03NSwxNSArNzYsMTUgQEAKIHsKIAl1bnNpZ25lZCBsb25nIHBmbjsKIAotCXByaW50ayhLRVJOX0lORk8gIk5vZGU6ICVkLCBzdGFydF9wZm46ICVsZCwgZW5kX3BmbjogJWxkXG4iLAorCXByaW50ayhLRVJOX0lORk8gIk5vZGU6ICVkLCBzdGFydF9wZm46ICVseCwgZW5kX3BmbjogJWx4XG4iLAogCQkJbmlkLCBzdGFydCwgZW5kKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiICBTZXR0aW5nIHBoeXNub2RlX21hcCBhcnJheSB0byBub2RlICVkIGZvciBwZm5zOlxuIiwgbmlkKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiICAiKTsKIAlmb3IgKHBmbiA9IHN0YXJ0OyBwZm4gPCBlbmQ7IHBmbiArPSBQQUdFU19QRVJfRUxFTUVOVCkgewogCQlwaHlzbm9kZV9tYXBbcGZuIC8gUEFHRVNfUEVSX0VMRU1FTlRdID0gbmlkOwotCQlwcmludGsoIiVsZCAiLCBwZm4pOworCQlwcmludGsoS0VSTl9DT05UICIlbHggIiwgcGZuKTsKIAl9Ci0JcHJpbnRrKCJcbiIpOworCXByaW50ayhLRVJOX0NPTlQgIlxuIik7CiB9CiAKIHVuc2lnbmVkIGxvbmcgbm9kZV9tZW1tYXBfc2l6ZV9ieXRlcyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKQEAgLTk5LDcgKzEwMCw2IEBACiAjZW5kaWYKIAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZmluZF9tYXhfbG93X3Bmbih2b2lkKTsKLWV4dGVybiB2b2lkIGFkZF9vbmVfaGlnaHBhZ2VfaW5pdChzdHJ1Y3QgcGFnZSAqLCBpbnQsIGludCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBoaWdoZW5kX3BmbiwgaGlnaHN0YXJ0X3BmbjsKIAogI2RlZmluZSBMQVJHRV9QQUdFX0JZVEVTIChQVFJTX1BFUl9QVEUgKiBQQUdFX1NJWkUpCkBAIC0xMTcsMTMgKzExNywxMyBAQAogICovCiBpbnQgX19pbml0IGdldF9tZW1jZmdfbnVtYV9mbGF0KHZvaWQpCiB7Ci0JcHJpbnRrKCJOVU1BIC0gc2luZ2xlIG5vZGUsIGZsYXQgbWVtb3J5IG1vZGVcbiIpOworCXByaW50ayhLRVJOX0RFQlVHICJOVU1BIC0gc2luZ2xlIG5vZGUsIGZsYXQgbWVtb3J5IG1vZGVcbiIpOwogCi0JLyogUnVuIHRoZSBtZW1vcnkgY29uZmlndXJhdGlvbiBhbmQgZmluZCB0aGUgdG9wIG9mIG1lbW9yeS4gKi8KLQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKIAlub2RlX3N0YXJ0X3BmblswXSA9IDA7CiAJbm9kZV9lbmRfcGZuWzBdID0gbWF4X3BmbjsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIG1heF9wZm4pOwogCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9wZm4pOworCW5vZGVfcmVtYXBfc2l6ZVswXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMoMCwgMCwgbWF4X3Bmbik7CiAKICAgICAgICAgLyogSW5kaWNhdGUgdGhlcmUgaXMgb25lIG5vZGUgYXZhaWxhYmxlLiAqLwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC0xNTYsMjQgKzE1NiwzMiBAQAogICovCiBzdGF0aWMgdm9pZCBfX2luaXQgYWxsb2NhdGVfcGdkYXQoaW50IG5pZCkKIHsKLQlpZiAobmlkICYmIG5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKKwljaGFyIGJ1ZlsxNl07CisKKwlpZiAobm9kZV9oYXNfb25saW5lX21lbShuaWQpICYmIG5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbmlkXSkKIAkJTk9ERV9EQVRBKG5pZCkgPSAocGdfZGF0YV90ICopbm9kZV9yZW1hcF9zdGFydF92YWRkcltuaWRdOwogCWVsc2UgewotCQlOT0RFX0RBVEEobmlkKSA9IChwZ19kYXRhX3QgKikocGZuX3RvX2thZGRyKG1pbl9sb3dfcGZuKSk7Ci0JCW1pbl9sb3dfcGZuICs9IFBGTl9VUChzaXplb2YocGdfZGF0YV90KSk7CisJCXVuc2lnbmVkIGxvbmcgcGdkYXRfcGh5czsKKwkJcGdkYXRfcGh5cyA9IGZpbmRfZTgyMF9hcmVhKG1pbl9sb3dfcGZuPDxQQUdFX1NISUZULAorCQkJCSBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCwKKwkJCQkgc2l6ZW9mKHBnX2RhdGFfdCksCisJCQkJIFBBR0VfU0laRSk7CisJCU5PREVfREFUQShuaWQpID0gKHBnX2RhdGFfdCAqKShwZm5fdG9fa2FkZHIocGdkYXRfcGh5cz4+UEFHRV9TSElGVCkpOworCQltZW1zZXQoYnVmLCAwLCBzaXplb2YoYnVmKSk7CisJCXNwcmludGYoYnVmLCAiTk9ERV9EQVRBICVkIiwgIG5pZCk7CisJCXJlc2VydmVfZWFybHkocGdkYXRfcGh5cywgcGdkYXRfcGh5cyArIHNpemVvZihwZ19kYXRhX3QpLCBidWYpOwogCX0KKwlwcmludGsoS0VSTl9ERUJVRyAiYWxsb2NhdGVfcGdkYXQ6IG5vZGUgJWQgTk9ERV9EQVRBICUwOGx4XG4iLAorCQluaWQsICh1bnNpZ25lZCBsb25nKU5PREVfREFUQShuaWQpKTsKIH0KIAotI2lmZGVmIENPTkZJR19ESVNDT05USUdNRU0KIC8qCi0gKiBJbiB0aGUgZGlzY29udGlnIG1lbW9yeSBtb2RlbCwgYSBwb3J0aW9uIG9mIHRoZSBrZXJuZWwgdmlydHVhbCBhcmVhIChLVkEpCi0gKiBpcyByZXNlcnZlZCBhbmQgcG9ydGlvbnMgb2Ygbm9kZXMgYXJlIG1hcHBlZCB1c2luZyBpdC4gVGhpcyBpcyB0byBhbGxvdwotICogbm9kZS1sb2NhbCBtZW1vcnkgdG8gYmUgYWxsb2NhdGVkIGZvciBzdHJ1Y3R1cmVzIHRoYXQgd291bGQgbm9ybWFsbHkgcmVxdWlyZQotICogWk9ORV9OT1JNQUwuIFRoZSBtZW1vcnkgaXMgYWxsb2NhdGVkIHdpdGggYWxsb2NfcmVtYXAoKSBhbmQgY2FsbGVycwotICogc2hvdWxkIGJlIHByZXBhcmVkIHRvIGFsbG9jYXRlIGZyb20gdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGluc3RlYWQuIFRoaXMgS1ZBCi0gKiBtZWNoYW5pc20gaXMgaW5jb21wYXRpYmxlIHdpdGggU1BBUlNFTUVNIGFzIGl0IG1ha2VzIGFzc3VtcHRpb25zIGFib3V0IHRoZQotICogbGF5b3V0IG9mIG1lbW9yeSB0aGF0IGFyZSBicm9rZW4gaWYgYWxsb2NfcmVtYXAoKSBzdWNjZWVkcyBmb3Igc29tZSBvZiB0aGUKLSAqIG1hcCBhbmQgZmFpbHMgZm9yIG90aGVycworICogSW4gdGhlIERJU0NPTlRJR01FTSBhbmQgU1BBUlNFTUVNIG1lbW9yeSBtb2RlbCwgYSBwb3J0aW9uIG9mIHRoZSBrZXJuZWwKKyAqIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSAoS1ZBKSBpcyByZXNlcnZlZCBhbmQgcG9ydGlvbnMgb2Ygbm9kZXMgYXJlIG1hcHBlZAorICogdXNpbmcgaXQuIFRoaXMgaXMgdG8gYWxsb3cgbm9kZS1sb2NhbCBtZW1vcnkgdG8gYmUgYWxsb2NhdGVkIGZvcgorICogc3RydWN0dXJlcyB0aGF0IHdvdWxkIG5vcm1hbGx5IHJlcXVpcmUgWk9ORV9OT1JNQUwuIFRoZSBtZW1vcnkgaXMKKyAqIGFsbG9jYXRlZCB3aXRoIGFsbG9jX3JlbWFwKCkgYW5kIGNhbGxlcnMgc2hvdWxkIGJlIHByZXBhcmVkIHRvIGFsbG9jYXRlCisgKiBmcm9tIHRoZSBib290bWVtIGFsbG9jYXRvciBpbnN0ZWFkLgogICovCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBub2RlX3JlbWFwX3N0YXJ0X3BmbltNQVhfTlVNTk9ERVNdOwogc3RhdGljIHZvaWQgKm5vZGVfcmVtYXBfZW5kX3ZhZGRyW01BWF9OVU1OT0RFU107CkBAIC0xOTUsMTUgKzIwMywxOSBAQAogCXJldHVybiBhbGxvY2F0aW9uOwogfQogCi12b2lkIF9faW5pdCByZW1hcF9udW1hX2t2YSh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHJlbWFwX251bWFfa3ZhKHZvaWQpCiB7CiAJdm9pZCAqdmFkZHI7CiAJdW5zaWduZWQgbG9uZyBwZm47CiAJaW50IG5vZGU7CiAKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShub2RlKSB7CisJCXByaW50ayhLRVJOX0RFQlVHICJyZW1hcF9udW1hX2t2YTogbm9kZSAlZFxuIiwgbm9kZSk7CiAJCWZvciAocGZuPTA7IHBmbiA8IG5vZGVfcmVtYXBfc2l6ZVtub2RlXTsgcGZuICs9IFBUUlNfUEVSX1BURSkgewogCQkJdmFkZHIgPSBub2RlX3JlbWFwX3N0YXJ0X3ZhZGRyW25vZGVdKyhwZm48PFBBR0VfU0hJRlQpOworCQkJcHJpbnRrKEtFUk5fREVCVUcgInJlbWFwX251bWFfa3ZhOiAlMDhseCB0byBwZm4gJTA4bHhcbiIsCisJCQkJKHVuc2lnbmVkIGxvbmcpdmFkZHIsCisJCQkJbm9kZV9yZW1hcF9zdGFydF9wZm5bbm9kZV0gKyBwZm4pOwogCQkJc2V0X3BtZF9wZm4oKHVsb25nKSB2YWRkciwgCiAJCQkJbm9kZV9yZW1hcF9zdGFydF9wZm5bbm9kZV0gKyBwZm4sIAogCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKQEAgLTIxNSwxNyArMjI3LDIxIEBACiB7CiAJaW50IG5pZDsKIAl1bnNpZ25lZCBsb25nIHNpemUsIHJlc2VydmVfcGFnZXMgPSAwOwotCXVuc2lnbmVkIGxvbmcgcGZuOwogCiAJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCXVuc2lnbmVkIG9sZF9lbmRfcGZuID0gbm9kZV9lbmRfcGZuW25pZF07CisJCXU2NCBub2RlX2t2YV90YXJnZXQ7CisJCXU2NCBub2RlX2t2YV9maW5hbDsKIAogCQkvKgogCQkgKiBUaGUgYWNwaS9zcmF0IG5vZGUgaW5mbyBjYW4gc2hvdyBob3QtYWRkIG1lbXJveSB6b25lcwogCQkgKiB3aGVyZSBtZW1vcnkgY291bGQgYmUgYWRkZWQgYnV0IG5vdCBjdXJyZW50bHkgcHJlc2VudC4KIAkJICovCisJCXByaW50ayhLRVJOX0RFQlVHICJub2RlICVkIHBmbjogWyVseCAtICVseF1cbiIsCisJCQluaWQsIG5vZGVfc3RhcnRfcGZuW25pZF0sIG5vZGVfZW5kX3BmbltuaWRdKTsKIAkJaWYgKG5vZGVfc3RhcnRfcGZuW25pZF0gPiBtYXhfcGZuKQogCQkJY29udGludWU7CisJCWlmICghbm9kZV9lbmRfcGZuW25pZF0pCisJCQljb250aW51ZTsKIAkJaWYgKG5vZGVfZW5kX3BmbltuaWRdID4gbWF4X3BmbikKIAkJCW5vZGVfZW5kX3BmbltuaWRdID0gbWF4X3BmbjsKIApAQCAtMjM3LDQxICsyNTMsNDggQEAKIAkJLyogbm93IHRoZSByb3VuZHVwIGlzIGNvcnJlY3QsIGNvbnZlcnQgdG8gUEFHRV9TSVpFIHBhZ2VzICovCiAJCXNpemUgPSBzaXplICogUFRSU19QRVJfUFRFOwogCi0JCS8qCi0JCSAqIFZhbGlkYXRlIHRoZSByZWdpb24gd2UgYXJlIGFsbG9jYXRpbmcgb25seSBjb250YWlucyB2YWxpZAotCQkgKiBwYWdlcy4KLQkJICovCi0JCWZvciAocGZuID0gbm9kZV9lbmRfcGZuW25pZF0gLSBzaXplOwotCQkgICAgIHBmbiA8IG5vZGVfZW5kX3BmbltuaWRdOyBwZm4rKykKLQkJCWlmICghcGFnZV9pc19yYW0ocGZuKSkKLQkJCQlicmVhazsKKwkJbm9kZV9rdmFfdGFyZ2V0ID0gcm91bmRfZG93bihub2RlX2VuZF9wZm5bbmlkXSAtIHNpemUsCisJCQkJCQkgUFRSU19QRVJfUFRFKTsKKwkJbm9kZV9rdmFfdGFyZ2V0IDw8PSBQQUdFX1NISUZUOworCQlkbyB7CisJCQlub2RlX2t2YV9maW5hbCA9IGZpbmRfZTgyMF9hcmVhKG5vZGVfa3ZhX3RhcmdldCwKKwkJCQkJKCh1NjQpbm9kZV9lbmRfcGZuW25pZF0pPDxQQUdFX1NISUZULAorCQkJCQkJKCh1NjQpc2l6ZSk8PFBBR0VfU0hJRlQsCisJCQkJCQlMQVJHRV9QQUdFX0JZVEVTKTsKKwkJCW5vZGVfa3ZhX3RhcmdldCAtPSBMQVJHRV9QQUdFX0JZVEVTOworCQl9IHdoaWxlIChub2RlX2t2YV9maW5hbCA9PSAtMVVMTCAmJgorCQkJIChub2RlX2t2YV90YXJnZXQ+PlBBR0VfU0hJRlQpID4gKG5vZGVfc3RhcnRfcGZuW25pZF0pKTsKIAotCQlpZiAocGZuICE9IG5vZGVfZW5kX3BmbltuaWRdKQotCQkJc2l6ZSA9IDA7CisJCWlmIChub2RlX2t2YV9maW5hbCA9PSAtMVVMTCkKKwkJCXBhbmljKCJDYW4gbm90IGdldCBrdmEgcmFtXG4iKTsKIAotCQlwcmludGsoIlJlc2VydmluZyAlbGQgcGFnZXMgb2YgS1ZBIGZvciBsbWVtX21hcCBvZiBub2RlICVkXG4iLAotCQkJCXNpemUsIG5pZCk7CiAJCW5vZGVfcmVtYXBfc2l6ZVtuaWRdID0gc2l6ZTsKIAkJbm9kZV9yZW1hcF9vZmZzZXRbbmlkXSA9IHJlc2VydmVfcGFnZXM7CiAJCXJlc2VydmVfcGFnZXMgKz0gc2l6ZTsKLQkJcHJpbnRrKCJTaHJpbmtpbmcgbm9kZSAlZCBmcm9tICVsZCBwYWdlcyB0byAlbGQgcGFnZXNcbiIsCi0JCQluaWQsIG5vZGVfZW5kX3BmbltuaWRdLCBub2RlX2VuZF9wZm5bbmlkXSAtIHNpemUpOworCQlwcmludGsoS0VSTl9ERUJVRyAiUmVzZXJ2aW5nICVsZCBwYWdlcyBvZiBLVkEgZm9yIGxtZW1fbWFwIG9mIgorCQkJCSAgIiBub2RlICVkIGF0ICVsbHhcbiIsCisJCQkJc2l6ZSwgbmlkLCBub2RlX2t2YV9maW5hbD4+UEFHRV9TSElGVCk7CiAKLQkJaWYgKG5vZGVfZW5kX3BmbltuaWRdICYgKFBUUlNfUEVSX1BURS0xKSkgewotCQkJLyoKLQkJCSAqIEFsaWduIG5vZGVfZW5kX3BmbltdIGFuZCBub2RlX3JlbWFwX3N0YXJ0X3BmbltdIHRvCi0JCQkgKiBwbWQgYm91bmRhcnkuIHJlbWFwX251bWFfa3ZhIHdpbGwgYmFyZiBvdGhlcndpc2UuCi0JCQkgKi8KLQkJCXByaW50aygiU2hyaW5raW5nIG5vZGUgJWQgZnVydGhlciBieSAlbGQgcGFnZXMgZm9yIHByb3BlciBhbGlnbm1lbnRcbiIsCi0JCQkJbmlkLCBub2RlX2VuZF9wZm5bbmlkXSAmIChQVFJTX1BFUl9QVEUtMSkpOwotCQkJc2l6ZSArPSAgbm9kZV9lbmRfcGZuW25pZF0gJiAoUFRSU19QRVJfUFRFLTEpOwotCQl9CisJCS8qCisJCSAqICBwcmV2ZW50IGt2YSBhZGRyZXNzIGJlbG93IG1heF9sb3dfcGZuIHdhbnQgaXQgb24gc3lzdGVtCisJCSAqICB3aXRoIGxlc3MgbWVtb3J5IGxhdGVyLgorCQkgKiAgbGF5b3V0IHdpbGwgYmU6IEtWQSBhZGRyZXNzICwgS1ZBIFJBTQorCQkgKgorCQkgKiAgd2UgYXJlIHN1cHBvc2VkIHRvIG9ubHkgcmVjb3JkIHRoZSBvbmUgbGVzcyB0aGVuIG1heF9sb3dfcGZuCisJCSAqICBidXQgd2UgY291bGQgaGF2ZSBzb21lIGhvbGUgaW4gaGlnaCBtZW1vcnksIGFuZCBpdCB3aWxsIG9ubHkKKwkJICogIGNoZWNrIHBhZ2VfaXNfcmFtKHBmbikgJiYgIXBhZ2VfaXNfcmVzZXJ2ZWRfZWFybHkocGZuKSB0byBkZWNpZGUKKwkJICogIHRvIHVzZSBpdCBhcyBmcmVlLgorCQkgKiAgU28gcmVzZXJ2ZV9lYXJseSBoZXJlLCBob3BlIHdlIGRvbid0IHJ1biBvdXQgb2YgdGhhdCBhcnJheQorCQkgKi8KKwkJcmVzZXJ2ZV9lYXJseShub2RlX2t2YV9maW5hbCwKKwkJCSAgICAgIG5vZGVfa3ZhX2ZpbmFsKygoKHU2NClzaXplKTw8UEFHRV9TSElGVCksCisJCQkgICAgICAiS1ZBIFJBTSIpOwogCi0JCW5vZGVfZW5kX3BmbltuaWRdIC09IHNpemU7Ci0JCW5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0gPSBub2RlX2VuZF9wZm5bbmlkXTsKLQkJc2hyaW5rX2FjdGl2ZV9yYW5nZShuaWQsIG9sZF9lbmRfcGZuLCBub2RlX2VuZF9wZm5bbmlkXSk7CisJCW5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0gPSBub2RlX2t2YV9maW5hbD4+UEFHRV9TSElGVDsKKwkJcmVtb3ZlX2FjdGl2ZV9yYW5nZShuaWQsIG5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0sCisJCQkJCSBub2RlX3JlbWFwX3N0YXJ0X3BmbltuaWRdICsgc2l6ZSk7CiAJfQotCXByaW50aygiUmVzZXJ2aW5nIHRvdGFsIG9mICVsZCBwYWdlcyBmb3IgbnVtYSBLVkEgcmVtYXBcbiIsCisJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nIHRvdGFsIG9mICVseCBwYWdlcyBmb3IgbnVtYSBLVkEgcmVtYXBcbiIsCiAJCQlyZXNlcnZlX3BhZ2VzKTsKIAlyZXR1cm4gcmVzZXJ2ZV9wYWdlczsKIH0KQEAgLTI4NSwzNyArMzA4LDE2IEBACiAJbm9kZV9yZW1hcF9hbGxvY192YWRkcltuaWRdID0gbm9kZV9yZW1hcF9zdGFydF92YWRkcltuaWRdICsKIAkJQUxJR04oc2l6ZW9mKHBnX2RhdGFfdCksIFBBR0VfU0laRSk7CiAKLQlwcmludGsgKCJub2RlICVkIHdpbGwgcmVtYXAgdG8gdmFkZHIgJTA4bHggLSAlMDhseFxuIiwgbmlkLAorCXByaW50ayhLRVJOX0RFQlVHICJub2RlICVkIHdpbGwgcmVtYXAgdG8gdmFkZHIgJTA4bHggLSAlMDhseFxuIiwgbmlkLAogCQkodWxvbmcpIG5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbmlkXSwKLQkJKHVsb25nKSBwZm5fdG9fa2FkZHIoaGlnaHN0YXJ0X3BmbgotCQkgICArIG5vZGVfcmVtYXBfb2Zmc2V0W25pZF0gKyBub2RlX3JlbWFwX3NpemVbbmlkXSkpOwotfQotI2Vsc2UKLXZvaWQgKmFsbG9jX3JlbWFwKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKLXsKLQlyZXR1cm4gTlVMTDsKKwkJKHVsb25nKSBub2RlX3JlbWFwX2VuZF92YWRkcltuaWRdKTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgY2FsY3VsYXRlX251bWFfcmVtYXBfcGFnZXModm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgaW5pdF9yZW1hcF9hbGxvY2F0b3IoaW50IG5pZCkKLXsKLX0KLQotdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCkKLXsKLX0KLSNlbmRpZiAvKiBDT05GSUdfRElTQ09OVElHTUVNICovCi0KLWV4dGVybiB2b2lkIHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpOwotdW5zaWduZWQgbG9uZyBfX2luaXQgc2V0dXBfbWVtb3J5KHZvaWQpCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJICB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCiB7CiAJaW50IG5pZDsKLQl1bnNpZ25lZCBsb25nIHN5c3RlbV9zdGFydF9wZm4sIHN5c3RlbV9tYXhfbG93X3BmbjsKLQl1bnNpZ25lZCBsb25nIHdhc3RlZF9wYWdlczsKKwlsb25nIGt2YV90YXJnZXRfcGZuOwogCiAJLyoKIAkgKiBXaGVuIG1hcHBpbmcgYSBOVU1BIG1hY2hpbmUgd2UgYWxsb2NhdGUgdGhlIG5vZGVfbWVtX21hcCBhcnJheXMKQEAgLTMyNCwxMDkgKzMyNiw3NyBAQAogCSAqIHRoaXMgc3BhY2UgYW5kIHVzZSBpdCB0byBhZGp1c3QgdGhlIGJvdW5kYXJ5IGJldHdlZW4gWk9ORV9OT1JNQUwKIAkgKiBhbmQgWk9ORV9ISUdITUVNLgogCSAqLworCiAJZ2V0X21lbWNmZ19udW1hKCk7CiAKLQlrdmFfcGFnZXMgPSBjYWxjdWxhdGVfbnVtYV9yZW1hcF9wYWdlcygpOworCWt2YV9wYWdlcyA9IHJvdW5kX3VwKGNhbGN1bGF0ZV9udW1hX3JlbWFwX3BhZ2VzKCksIFBUUlNfUEVSX1BURSk7CiAKLQkvKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMgcm91bmQgdXB3YXJkcyAqLwotCXN5c3RlbV9zdGFydF9wZm4gPSBtaW5fbG93X3BmbiA9IFBGTl9VUChpbml0X3BnX3RhYmxlc19lbmQpOworCWt2YV90YXJnZXRfcGZuID0gcm91bmRfZG93bihtYXhfbG93X3BmbiAtIGt2YV9wYWdlcywgUFRSU19QRVJfUFRFKTsKKwlkbyB7CisJCWt2YV9zdGFydF9wZm4gPSBmaW5kX2U4MjBfYXJlYShrdmFfdGFyZ2V0X3Bmbjw8UEFHRV9TSElGVCwKKwkJCQkJbWF4X2xvd19wZm48PFBBR0VfU0hJRlQsCisJCQkJCWt2YV9wYWdlczw8UEFHRV9TSElGVCwKKwkJCQkJUFRSU19QRVJfUFRFPDxQQUdFX1NISUZUKSA+PiBQQUdFX1NISUZUOworCQlrdmFfdGFyZ2V0X3BmbiAtPSBQVFJTX1BFUl9QVEU7CisJfSB3aGlsZSAoa3ZhX3N0YXJ0X3BmbiA9PSAtMVVMICYmIGt2YV90YXJnZXRfcGZuID4gbWluX2xvd19wZm4pOwogCi0Ja3ZhX3N0YXJ0X3BmbiA9IGZpbmRfbWF4X2xvd19wZm4oKSAtIGt2YV9wYWdlczsKKwlpZiAoa3ZhX3N0YXJ0X3BmbiA9PSAtMVVMKQorCQlwYW5pYygiQ2FuIG5vdCBnZXQga3ZhIHNwYWNlXG4iKTsKIAotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCS8qIE51bWEga3ZhIGFyZWEgaXMgYmVsb3cgdGhlIGluaXRyZCAqLwotCWlmIChpbml0cmRfc3RhcnQpCi0JCWt2YV9zdGFydF9wZm4gPSBQRk5fRE9XTihpbml0cmRfc3RhcnQgLSBQQUdFX09GRlNFVCkKLQkJCS0ga3ZhX3BhZ2VzOwotI2VuZGlmCi0KLQkvKgotCSAqIFdlIHdhc3RlIHBhZ2VzIHBhc3QgYXQgdGhlIGVuZCBvZiB0aGUgS1ZBIGZvciBubyBnb29kIHJlYXNvbiBvdGhlcgotCSAqIHRoYW4gaG93IGl0IGlzIGxvY2F0ZWQuIFRoaXMgaXMgYmFkLgotCSAqLwotCXdhc3RlZF9wYWdlcyA9IGt2YV9zdGFydF9wZm4gJiAoUFRSU19QRVJfUFRFLTEpOwotCWt2YV9zdGFydF9wZm4gLT0gd2FzdGVkX3BhZ2VzOwotCWt2YV9wYWdlcyArPSB3YXN0ZWRfcGFnZXM7Ci0KLQlzeXN0ZW1fbWF4X2xvd19wZm4gPSBtYXhfbG93X3BmbiA9IGZpbmRfbWF4X2xvd19wZm4oKTsKLQlwcmludGsoImt2YV9zdGFydF9wZm4gfiAlbGQgZmluZF9tYXhfbG93X3BmbigpIH4gJWxkXG4iLAorCXByaW50ayhLRVJOX0lORk8gImt2YV9zdGFydF9wZm4gfiAlbHggbWF4X2xvd19wZm4gfiAlbHhcbiIsCiAJCWt2YV9zdGFydF9wZm4sIG1heF9sb3dfcGZuKTsKLQlwcmludGsoIm1heF9wZm4gPSAlbGRcbiIsIG1heF9wZm4pOworCXByaW50ayhLRVJOX0lORk8gIm1heF9wZm4gPSAlbHhcbiIsIG1heF9wZm4pOworCisJLyogYXZvaWQgY2xhc2ggd2l0aCBpbml0cmQgKi8KKwlyZXNlcnZlX2Vhcmx5KGt2YV9zdGFydF9wZm48PFBBR0VfU0hJRlQsCisJCSAgICAgIChrdmFfc3RhcnRfcGZuICsga3ZhX3BhZ2VzKTw8UEFHRV9TSElGVCwKKwkJICAgICAiS1ZBIFBHIik7CiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIAloaWdoc3RhcnRfcGZuID0gaGlnaGVuZF9wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfcGZuID4gc3lzdGVtX21heF9sb3dfcGZuKQotCQloaWdoc3RhcnRfcGZuID0gc3lzdGVtX21heF9sb3dfcGZuOworCWlmIChtYXhfcGZuID4gbWF4X2xvd19wZm4pCisJCWhpZ2hzdGFydF9wZm4gPSBtYXhfbG93X3BmbjsKIAlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIEhJR0hNRU0gYXZhaWxhYmxlLlxuIiwKIAkgICAgICAgcGFnZXNfdG9fbWIoaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuKSk7CiAJbnVtX3BoeXNwYWdlcyA9IGhpZ2hlbmRfcGZuOwogCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShoaWdoc3RhcnRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwogI2Vsc2UKLQludW1fcGh5c3BhZ2VzID0gc3lzdGVtX21heF9sb3dfcGZuOwotCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShzeXN0ZW1fbWF4X2xvd19wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CisJbnVtX3BoeXNwYWdlcyA9IG1heF9sb3dfcGZuOworCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShtYXhfbG93X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKICNlbmRpZgogCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgTE9XTUVNIGF2YWlsYWJsZS5cbiIsCi0JCQlwYWdlc190b19tYihzeXN0ZW1fbWF4X2xvd19wZm4pKTsKLQlwcmludGsoIm1pbl9sb3dfcGZuID0gJWxkLCBtYXhfbG93X3BmbiA9ICVsZCwgaGlnaHN0YXJ0X3BmbiA9ICVsZFxuIiwgCi0JCQltaW5fbG93X3BmbiwgbWF4X2xvd19wZm4sIGhpZ2hzdGFydF9wZm4pOworCQkJcGFnZXNfdG9fbWIobWF4X2xvd19wZm4pKTsKKwlwcmludGsoS0VSTl9ERUJVRyAibWF4X2xvd19wZm4gPSAlbHgsIGhpZ2hzdGFydF9wZm4gPSAlbHhcbiIsCisJCQltYXhfbG93X3BmbiwgaGlnaHN0YXJ0X3Bmbik7CiAKLQlwcmludGsoIkxvdyBtZW1vcnkgZW5kcyBhdCB2YWRkciAlMDhseFxuIiwKKwlwcmludGsoS0VSTl9ERUJVRyAiTG93IG1lbW9yeSBlbmRzIGF0IHZhZGRyICUwOGx4XG4iLAogCQkJKHVsb25nKSBwZm5fdG9fa2FkZHIobWF4X2xvd19wZm4pKTsKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKIAkJaW5pdF9yZW1hcF9hbGxvY2F0b3IobmlkKTsKIAogCQlhbGxvY2F0ZV9wZ2RhdChuaWQpOwogCX0KLQlwcmludGsoIkhpZ2ggbWVtb3J5IHN0YXJ0cyBhdCB2YWRkciAlMDhseFxuIiwKKwlyZW1hcF9udW1hX2t2YSgpOworCisJcHJpbnRrKEtFUk5fREVCVUcgIkhpZ2ggbWVtb3J5IHN0YXJ0cyBhdCB2YWRkciAlMDhseFxuIiwKIAkJCSh1bG9uZykgcGZuX3RvX2thZGRyKGhpZ2hzdGFydF9wZm4pKTsKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpCiAJCXByb3BhZ2F0ZV9lODIwX21hcF9ub2RlKG5pZCk7CiAKLQltZW1zZXQoTk9ERV9EQVRBKDApLCAwLCBzaXplb2Yoc3RydWN0IHBnbGlzdF9kYXRhKSk7CisJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKQorCQltZW1zZXQoTk9ERV9EQVRBKG5pZCksIDAsIHNpemVvZihzdHJ1Y3QgcGdsaXN0X2RhdGEpKTsKKwogCU5PREVfREFUQSgwKS0+YmRhdGEgPSAmbm9kZTBfYmRhdGE7CiAJc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3IoKTsKLQlyZXR1cm4gbWF4X2xvd19wZm47CiB9CiAKLXZvaWQgX19pbml0IG51bWFfa3ZhX3Jlc2VydmUodm9pZCkKLXsKLQlpZiAoa3ZhX3BhZ2VzKQotCQlyZXNlcnZlX2Jvb3RtZW0oUEZOX1BIWVMoa3ZhX3N0YXJ0X3BmbiksIFBGTl9QSFlTKGt2YV9wYWdlcyksCi0JCQkJQk9PVE1FTV9ERUZBVUxUKTsKLX0KLQotdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCi17Ci0JaW50IG5pZDsKLQl1bnNpZ25lZCBsb25nIG1heF96b25lX3BmbnNbTUFYX05SX1pPTkVTXTsKLQltZW1zZXQobWF4X3pvbmVfcGZucywgMCwgc2l6ZW9mKG1heF96b25lX3BmbnMpKTsKLQltYXhfem9uZV9wZm5zW1pPTkVfRE1BXSA9Ci0JCXZpcnRfdG9fcGh5cygoY2hhciAqKU1BWF9ETUFfQUREUkVTUykgPj4gUEFHRV9TSElGVDsKLQltYXhfem9uZV9wZm5zW1pPTkVfTk9STUFMXSA9IG1heF9sb3dfcGZuOwotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JbWF4X3pvbmVfcGZuc1taT05FX0hJR0hNRU1dID0gaGlnaGVuZF9wZm47Ci0jZW5kaWYKLQotCS8qIElmIFNSQVQgaGFzIG5vdCByZWdpc3RlcmVkIG1lbW9yeSwgcmVnaXN0ZXIgaXQgbm93ICovCi0JaWYgKGZpbmRfbWF4X3Bmbl93aXRoX2FjdGl2ZV9yZWdpb25zKCkgPT0gMCkgewotCQlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKLQkJCWlmIChub2RlX2hhc19vbmxpbmVfbWVtKG5pZCkpCi0JCQkJYWRkX2FjdGl2ZV9yYW5nZShuaWQsIG5vZGVfc3RhcnRfcGZuW25pZF0sCi0JCQkJCQkJbm9kZV9lbmRfcGZuW25pZF0pOwotCQl9Ci0JfQotCi0JZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7Ci0JcmV0dXJuOwotfQotCi12b2lkIF9faW5pdCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGludCBiYWRfcHBybykgCit2b2lkIF9faW5pdCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KHZvaWQpCiB7CiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIAlzdHJ1Y3Qgem9uZSAqem9uZTsKLQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgbmlkOwogCiAJZm9yX2VhY2hfem9uZSh6b25lKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbm9kZV9wZm4sIHpvbmVfc3RhcnRfcGZuLCB6b25lX2VuZF9wZm47CisJCXVuc2lnbmVkIGxvbmcgem9uZV9zdGFydF9wZm4sIHpvbmVfZW5kX3BmbjsKIAogCQlpZiAoIWlzX2hpZ2htZW0oem9uZSkpCiAJCQljb250aW51ZTsKQEAgLTQzNCwxNiArNDA0LDEyIEBACiAJCXpvbmVfc3RhcnRfcGZuID0gem9uZS0+em9uZV9zdGFydF9wZm47CiAJCXpvbmVfZW5kX3BmbiA9IHpvbmVfc3RhcnRfcGZuICsgem9uZS0+c3Bhbm5lZF9wYWdlczsKIAotCQlwcmludGsoIkluaXRpYWxpemluZyAlcyBmb3Igbm9kZSAlZCAoJTA4bHg6JTA4bHgpXG4iLAotCQkJCXpvbmUtPm5hbWUsIHpvbmVfdG9fbmlkKHpvbmUpLAotCQkJCXpvbmVfc3RhcnRfcGZuLCB6b25lX2VuZF9wZm4pOworCQluaWQgPSB6b25lX3RvX25pZCh6b25lKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiSW5pdGlhbGl6aW5nICVzIGZvciBub2RlICVkICglMDhseDolMDhseClcbiIsCisJCQkJem9uZS0+bmFtZSwgbmlkLCB6b25lX3N0YXJ0X3Bmbiwgem9uZV9lbmRfcGZuKTsKIAotCQlmb3IgKG5vZGVfcGZuID0gem9uZV9zdGFydF9wZm47IG5vZGVfcGZuIDwgem9uZV9lbmRfcGZuOyBub2RlX3BmbisrKSB7Ci0JCQlpZiAoIXBmbl92YWxpZChub2RlX3BmbikpCi0JCQkJY29udGludWU7Ci0JCQlwYWdlID0gcGZuX3RvX3BhZ2Uobm9kZV9wZm4pOwotCQkJYWRkX29uZV9oaWdocGFnZV9pbml0KHBhZ2UsIG5vZGVfcGZuLCBiYWRfcHBybyk7Ci0JCX0KKwkJYWRkX2hpZ2hwYWdlc193aXRoX2FjdGl2ZV9yZWdpb25zKG5pZCwgem9uZV9zdGFydF9wZm4sCisJCQkJIHpvbmVfZW5kX3Bmbik7CiAJfQogCXRvdGFscmFtX3BhZ2VzICs9IHRvdGFsaGlnaF9wYWdlczsKICNlbmRpZgpAQCAtNDc2LDMgKzQ0Miw0IEBACiAKIEVYUE9SVF9TWU1CT0xfR1BMKG1lbW9yeV9hZGRfcGh5c2FkZHJfdG9fbmlkKTsKICNlbmRpZgorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9kdW1wX3BhZ2V0YWJsZXMuYyBiL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCmluZGV4IDJjMjRiZWEuLjBiYjBjYWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCisrKyBiL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCkBAIC00Miw3ICs0Miw3IEBACiAJeyAwLCAiVXNlciBTcGFjZSIgfSwKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAJeyAweDgwMDAwMDAwMDAwMDAwMDBVTCwgIktlcm5lbCBTcGFjZSIgfSwKLQl7IDB4ZmZmZjgxMDAwMDAwMDAwMFVMLCAiTG93IEtlcm5lbCBNYXBwaW5nIiB9LAorCXsgUEFHRV9PRkZTRVQsCQkiTG93IEtlcm5lbCBNYXBwaW5nIiB9LAogCXsgVk1BTExPQ19TVEFSVCwgICAgICAgICJ2bWFsbG9jKCkgQXJlYSIgfSwKIAl7IFZNRU1NQVBfU1RBUlQsICAgICAgICAiVm1lbW1hcCIgfSwKIAl7IF9fU1RBUlRfS0VSTkVMX21hcCwgICAiSGlnaCBLZXJuZWwgTWFwcGluZyIgfSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2ZhdWx0LmMgYi9hcmNoL3g4Ni9tbS9mYXVsdC5jCmluZGV4IDhiY2I2ZjQuLjQ1NWYzZmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2ZhdWx0LmMKKysrIGIvYXJjaC94ODYvbW0vZmF1bHQuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW1hbi5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CkBAIC00OSwxNyArNTAsMjMgQEAKICNkZWZpbmUgUEZfUlNWRAkJKDE8PDMpCiAjZGVmaW5lIFBGX0lOU1RSCSgxPDw0KQogCitzdGF0aWMgaW5saW5lIGludCBrbW1pb19mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBhZGRyKQoreworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0VfSE9PS1MKKwlpZiAodW5saWtlbHkoaXNfa21taW9fYWN0aXZlKCkpKQorCQlpZiAoa21taW9faGFuZGxlcihyZWdzLCBhZGRyKSA9PSAxKQorCQkJcmV0dXJuIC0xOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IG5vdGlmeV9wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogI2lmZGVmIENPTkZJR19LUFJPQkVTCiAJaW50IHJldCA9IDA7CiAKIAkvKiBrcHJvYmVfcnVubmluZygpIG5lZWRzIHNtcF9wcm9jZXNzb3JfaWQoKSAqLwotI2lmZGVmIENPTkZJR19YODZfMzIKIAlpZiAoIXVzZXJfbW9kZV92bShyZWdzKSkgewotI2Vsc2UKLQlpZiAoIXVzZXJfbW9kZShyZWdzKSkgewotI2VuZGlmCiAJCXByZWVtcHRfZGlzYWJsZSgpOwogCQlpZiAoa3Byb2JlX3J1bm5pbmcoKSAmJiBrcHJvYmVfZmF1bHRfaGFuZGxlcihyZWdzLCAxNCkpCiAJCQlyZXQgPSAxOwpAQCAtMzk2LDExICs0MDMsNyBAQAogCQlwcmludGsoS0VSTl9DT05UICJOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UiKTsKIAllbHNlCiAJCXByaW50ayhLRVJOX0NPTlQgInBhZ2luZyByZXF1ZXN0Iik7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCXByaW50ayhLRVJOX0NPTlQgIiBhdCAlMDhseFxuIiwgYWRkcmVzcyk7Ci0jZWxzZQotCXByaW50ayhLRVJOX0NPTlQgIiBhdCAlMDE2bHhcbiIsIGFkZHJlc3MpOwotI2VuZGlmCisJcHJpbnRrKEtFUk5fQ09OVCAiIGF0ICVwXG4iLCAodm9pZCAqKSBhZGRyZXNzKTsKIAlwcmludGsoS0VSTl9BTEVSVCAiSVA6Iik7CiAJcHJpbnRrX2FkZHJlc3MocmVncy0+aXAsIDEpOwogCWR1bXBfcGFnZXRhYmxlKGFkZHJlc3MpOwpAQCAtNjA2LDYgKzYwOSw4IEBACiAKIAlpZiAobm90aWZ5X3BhZ2VfZmF1bHQocmVncykpCiAJCXJldHVybjsKKwlpZiAodW5saWtlbHkoa21taW9fZmF1bHQocmVncywgYWRkcmVzcykpKQorCQlyZXR1cm47CiAKIAkvKgogCSAqIFdlIGZhdWx0LWluIGtlcm5lbC1zcGFjZSB2aXJ0dWFsIG1lbW9yeSBvbi1kZW1hbmQuIFRoZQpAQCAtODAwLDE0ICs4MDUsMTAgQEAKIAkJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIFNJR1NFR1YpICYmCiAJCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKIAkJCXByaW50aygKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JCQkiJXMlc1slZF06IHNlZ2ZhdWx0IGF0ICVseCBpcCAlMDhseCBzcCAlMDhseCBlcnJvciAlbHgiLAotI2Vsc2UKLQkJCSIlcyVzWyVkXTogc2VnZmF1bHQgYXQgJWx4IGlwICVseCBzcCAlbHggZXJyb3IgJWx4IiwKLSNlbmRpZgorCQkJIiVzJXNbJWRdOiBzZWdmYXVsdCBhdCAlbHggaXAgJXAgc3AgJXAgZXJyb3IgJWx4IiwKIAkJCXRhc2tfcGlkX25yKHRzaykgPiAxID8gS0VSTl9JTkZPIDogS0VSTl9FTUVSRywKLQkJCXRzay0+Y29tbSwgdGFza19waWRfbnIodHNrKSwgYWRkcmVzcywgcmVncy0+aXAsCi0JCQlyZWdzLT5zcCwgZXJyb3JfY29kZSk7CisJCQl0c2stPmNvbW0sIHRhc2tfcGlkX25yKHRzayksIGFkZHJlc3MsCisJCQkodm9pZCAqKSByZWdzLT5pcCwgKHZvaWQgKikgcmVncy0+c3AsIGVycm9yX2NvZGUpOwogCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7CiAJCQlwcmludGsoIlxuIik7CiAJCX0KQEAgLTkxNSwxNCArOTE2LDcgQEAKIHZvaWQgdm1hbGxvY19zeW5jX2FsbCh2b2lkKQogewogI2lmZGVmIENPTkZJR19YODZfMzIKLQkvKgotCSAqIE5vdGUgdGhhdCByYWNlcyBpbiB0aGUgdXBkYXRlcyBvZiBpbnN5bmMgYW5kIHN0YXJ0IGFyZW4ndAotCSAqIHByb2JsZW1hdGljOiBpbnN5bmMgY2FuIG9ubHkgZ2V0IHNldCBiaXRzIGFkZGVkLCBhbmQgdXBkYXRlcyB0bwotCSAqIHN0YXJ0IGFyZSBvbmx5IGltcHJvdmluZyBwZXJmb3JtYW5jZSAod2l0aG91dCBhZmZlY3RpbmcgY29ycmVjdG5lc3MKLQkgKiBpZiB1bmRvbmUpLgotCSAqLwotCXN0YXRpYyBERUNMQVJFX0JJVE1BUChpbnN5bmMsIFBUUlNfUEVSX1BHRCk7Ci0Jc3RhdGljIHVuc2lnbmVkIGxvbmcgc3RhcnQgPSBUQVNLX1NJWkU7CisJdW5zaWduZWQgbG9uZyBzdGFydCA9IFZNQUxMT0NfU1RBUlQgJiBQR0RJUl9NQVNLOwogCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsKIAogCWlmIChTSEFSRURfS0VSTkVMX1BNRCkKQEAgLTkzMCw1NiArOTI0LDM4IEBACiAKIAlCVUlMRF9CVUdfT04oVEFTS19TSVpFICYgflBHRElSX01BU0spOwogCWZvciAoYWRkcmVzcyA9IHN0YXJ0OyBhZGRyZXNzID49IFRBU0tfU0laRTsgYWRkcmVzcyArPSBQR0RJUl9TSVpFKSB7Ci0JCWlmICghdGVzdF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCQkJc3RydWN0IHBhZ2UgKnBhZ2U7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJCXN0cnVjdCBwYWdlICpwYWdlOwogCi0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKLQkJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKLQkJCQlpZiAoIXZtYWxsb2Nfc3luY19vbmUocGFnZV9hZGRyZXNzKHBhZ2UpLAotCQkJCQkJICAgICAgYWRkcmVzcykpCi0JCQkJCWJyZWFrOwotCQkJfQotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKLQkJCWlmICghcGFnZSkKLQkJCQlzZXRfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKKwkJCWlmICghdm1hbGxvY19zeW5jX29uZShwYWdlX2FkZHJlc3MocGFnZSksCisJCQkJCSAgICAgIGFkZHJlc3MpKQorCQkJCWJyZWFrOwogCQl9Ci0JCWlmIChhZGRyZXNzID09IHN0YXJ0ICYmIHRlc3RfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKSkKLQkJCXN0YXJ0ID0gYWRkcmVzcyArIFBHRElSX1NJWkU7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7CiAJfQogI2Vsc2UgLyogQ09ORklHX1g4Nl82NCAqLwotCS8qCi0JICogTm90ZSB0aGF0IHJhY2VzIGluIHRoZSB1cGRhdGVzIG9mIGluc3luYyBhbmQgc3RhcnQgYXJlbid0Ci0JICogcHJvYmxlbWF0aWM6IGluc3luYyBjYW4gb25seSBnZXQgc2V0IGJpdHMgYWRkZWQsIGFuZCB1cGRhdGVzIHRvCi0JICogc3RhcnQgYXJlIG9ubHkgaW1wcm92aW5nIHBlcmZvcm1hbmNlICh3aXRob3V0IGFmZmVjdGluZyBjb3JyZWN0bmVzcwotCSAqIGlmIHVuZG9uZSkuCi0JICovCi0Jc3RhdGljIERFQ0xBUkVfQklUTUFQKGluc3luYywgUFRSU19QRVJfUEdEKTsKLQlzdGF0aWMgdW5zaWduZWQgbG9uZyBzdGFydCA9IFZNQUxMT0NfU1RBUlQgJiBQR0RJUl9NQVNLOworCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBWTUFMTE9DX1NUQVJUICYgUEdESVJfTUFTSzsKIAl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CiAKIAlmb3IgKGFkZHJlc3MgPSBzdGFydDsgYWRkcmVzcyA8PSBWTUFMTE9DX0VORDsgYWRkcmVzcyArPSBQR0RJUl9TSVpFKSB7Ci0JCWlmICghdGVzdF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpKSB7Ci0JCQljb25zdCBwZ2RfdCAqcGdkX3JlZiA9IHBnZF9vZmZzZXRfayhhZGRyZXNzKTsKLQkJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwkJY29uc3QgcGdkX3QgKnBnZF9yZWYgPSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcyk7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJCXN0cnVjdCBwYWdlICpwYWdlOwogCi0JCQlpZiAocGdkX25vbmUoKnBnZF9yZWYpKQotCQkJCWNvbnRpbnVlOwotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhZ2UsICZwZ2RfbGlzdCwgbHJ1KSB7Ci0JCQkJcGdkX3QgKnBnZDsKLQkJCQlwZ2QgPSAocGdkX3QgKilwYWdlX2FkZHJlc3MocGFnZSkgKyBwZ2RfaW5kZXgoYWRkcmVzcyk7Ci0JCQkJaWYgKHBnZF9ub25lKCpwZ2QpKQotCQkJCQlzZXRfcGdkKHBnZCwgKnBnZF9yZWYpOwotCQkJCWVsc2UKLQkJCQkJQlVHX09OKHBnZF9wYWdlX3ZhZGRyKCpwZ2QpICE9IHBnZF9wYWdlX3ZhZGRyKCpwZ2RfcmVmKSk7Ci0JCQl9Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOwotCQkJc2V0X2JpdChwZ2RfaW5kZXgoYWRkcmVzcyksIGluc3luYyk7CisJCWlmIChwZ2Rfbm9uZSgqcGdkX3JlZikpCisJCQljb250aW51ZTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKKwkJCXBnZF90ICpwZ2Q7CisJCQlwZ2QgPSAocGdkX3QgKilwYWdlX2FkZHJlc3MocGFnZSkgKyBwZ2RfaW5kZXgoYWRkcmVzcyk7CisJCQlpZiAocGdkX25vbmUoKnBnZCkpCisJCQkJc2V0X3BnZChwZ2QsICpwZ2RfcmVmKTsKKwkJCWVsc2UKKwkJCQlCVUdfT04ocGdkX3BhZ2VfdmFkZHIoKnBnZCkgIT0gcGdkX3BhZ2VfdmFkZHIoKnBnZF9yZWYpKTsKIAkJfQotCQlpZiAoYWRkcmVzcyA9PSBzdGFydCkKLQkJCXN0YXJ0ID0gYWRkcmVzcyArIFBHRElSX1NJWkU7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7CiAJfQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9pbml0XzMyLmMgYi9hcmNoL3g4Ni9tbS9pbml0XzMyLmMKaW5kZXggZWMzMGQxMC4uOTY4OWE1MSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW5pdF8zMi5jCisrKyBiL2FyY2gveDg2L21tL2luaXRfMzIuYwpAQCAtNTAsNiArNTAsNyBAQAogCiB1bnNpZ25lZCBpbnQgX19WTUFMTE9DX1JFU0VSVkUgPSAxMjggPDwgMjA7CiAKK3Vuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm5fbWFwcGVkOwogdW5zaWduZWQgbG9uZyBtYXhfcGZuX21hcHBlZDsKIAogREVGSU5FX1BFUl9DUFUoc3RydWN0IG1tdV9nYXRoZXIsIG1tdV9nYXRoZXJzKTsKQEAgLTU3LDYgKzU4LDI3IEBACiAKIHN0YXRpYyBub2lubGluZSBpbnQgZG9fdGVzdF93cF9iaXQodm9pZCk7CiAKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSB0YWJsZV9zdGFydDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdGRhdGEgdGFibGVfZW5kOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0ZGF0YSB0YWJsZV90b3A7CisKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBhZnRlcl9pbml0X2Jvb3RtZW07CisKK3N0YXRpYyBfX2luaXQgdm9pZCAqYWxsb2NfbG93X3BhZ2UodW5zaWduZWQgbG9uZyAqcGh5cykKK3sKKwl1bnNpZ25lZCBsb25nIHBmbiA9IHRhYmxlX2VuZCsrOworCXZvaWQgKmFkcjsKKworCWlmIChwZm4gPj0gdGFibGVfdG9wKQorCQlwYW5pYygiYWxsb2NfbG93X3BhZ2U6IHJhbiBvdXQgb2YgbWVtb3J5Iik7CisKKwlhZHIgPSBfX3ZhKHBmbiAqIFBBR0VfU0laRSk7CisJbWVtc2V0KGFkciwgMCwgUEFHRV9TSVpFKTsKKwkqcGh5cyAgPSBwZm4gKiBQQUdFX1NJWkU7CisJcmV0dXJuIGFkcjsKK30KKwogLyoKICAqIENyZWF0ZXMgYSBtaWRkbGUgcGFnZSB0YWJsZSBhbmQgcHV0cyBhIHBvaW50ZXIgdG8gaXQgaW4gdGhlCiAgKiBnaXZlbiBnbG9iYWwgZGlyZWN0b3J5IGVudHJ5LiBUaGlzIG9ubHkgcmV0dXJucyB0aGUgZ2QgZW50cnkKQEAgLTY4LDkgKzkwLDEyIEBACiAJcG1kX3QgKnBtZF90YWJsZTsKIAogI2lmZGVmIENPTkZJR19YODZfUEFFCisJdW5zaWduZWQgbG9uZyBwaHlzOwogCWlmICghKHBnZF92YWwoKnBnZCkgJiBfUEFHRV9QUkVTRU5UKSkgewotCQlwbWRfdGFibGUgPSAocG1kX3QgKikgYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKLQorCQlpZiAoYWZ0ZXJfaW5pdF9ib290bWVtKQorCQkJcG1kX3RhYmxlID0gKHBtZF90ICopYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKKwkJZWxzZQorCQkJcG1kX3RhYmxlID0gKHBtZF90ICopYWxsb2NfbG93X3BhZ2UoJnBoeXMpOwogCQlwYXJhdmlydF9hbGxvY19wbWQoJmluaXRfbW0sIF9fcGEocG1kX3RhYmxlKSA+PiBQQUdFX1NISUZUKTsKIAkJc2V0X3BnZChwZ2QsIF9fcGdkKF9fcGEocG1kX3RhYmxlKSB8IF9QQUdFX1BSRVNFTlQpKTsKIAkJcHVkID0gcHVkX29mZnNldChwZ2QsIDApOwpAQCAtOTIsMTIgKzExNywxNiBAQAogCWlmICghKHBtZF92YWwoKnBtZCkgJiBfUEFHRV9QUkVTRU5UKSkgewogCQlwdGVfdCAqcGFnZV90YWJsZSA9IE5VTEw7CiAKKwkJaWYgKGFmdGVyX2luaXRfYm9vdG1lbSkgewogI2lmZGVmIENPTkZJR19ERUJVR19QQUdFQUxMT0MKLQkJcGFnZV90YWJsZSA9IChwdGVfdCAqKSBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CisJCQlwYWdlX3RhYmxlID0gKHB0ZV90ICopIGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKICNlbmRpZgotCQlpZiAoIXBhZ2VfdGFibGUpIHsKLQkJCXBhZ2VfdGFibGUgPQorCQkJaWYgKCFwYWdlX3RhYmxlKQorCQkJCXBhZ2VfdGFibGUgPQogCQkJCShwdGVfdCAqKWFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7CisJCX0gZWxzZSB7CisJCQl1bnNpZ25lZCBsb25nIHBoeXM7CisJCQlwYWdlX3RhYmxlID0gKHB0ZV90ICopYWxsb2NfbG93X3BhZ2UoJnBoeXMpOwogCQl9CiAKIAkJcGFyYXZpcnRfYWxsb2NfcHRlKCZpbml0X21tLCBfX3BhKHBhZ2VfdGFibGUpID4+IFBBR0VfU0hJRlQpOwpAQCAtMTU1LDM4ICsxODQsNDQgQEAKICAqIG9mIG1heF9sb3dfcGZuIHBhZ2VzLCBieSBjcmVhdGluZyBwYWdlIHRhYmxlcyBzdGFydGluZyBmcm9tIGFkZHJlc3MKICAqIFBBR0VfT0ZGU0VUOgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQga2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfdCAqcGdkX2Jhc2UpCitzdGF0aWMgdm9pZCBfX2luaXQga2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfdCAqcGdkX2Jhc2UsCisJCQkJCQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3BmbiwKKwkJCQkJCWludCB1c2VfcHNlKQogewogCWludCBwZ2RfaWR4LCBwbWRfaWR4LCBwdGVfb2ZzOwogCXVuc2lnbmVkIGxvbmcgcGZuOwogCXBnZF90ICpwZ2Q7CiAJcG1kX3QgKnBtZDsKIAlwdGVfdCAqcHRlOworCXVuc2lnbmVkIHBhZ2VzXzJtID0gMCwgcGFnZXNfNGsgPSAwOwogCi0JcGdkX2lkeCA9IHBnZF9pbmRleChQQUdFX09GRlNFVCk7CisJaWYgKCFjcHVfaGFzX3BzZSkKKwkJdXNlX3BzZSA9IDA7CisKKwlwZm4gPSBzdGFydF9wZm47CisJcGdkX2lkeCA9IHBnZF9pbmRleCgocGZuPDxQQUdFX1NISUZUKSArIFBBR0VfT0ZGU0VUKTsKIAlwZ2QgPSBwZ2RfYmFzZSArIHBnZF9pZHg7Ci0JcGZuID0gMDsKLQogCWZvciAoOyBwZ2RfaWR4IDwgUFRSU19QRVJfUEdEOyBwZ2QrKywgcGdkX2lkeCsrKSB7CiAJCXBtZCA9IG9uZV9tZF90YWJsZV9pbml0KHBnZCk7Ci0JCWlmIChwZm4gPj0gbWF4X2xvd19wZm4pCi0JCQljb250aW51ZTsKIAotCQlmb3IgKHBtZF9pZHggPSAwOwotCQkgICAgIHBtZF9pZHggPCBQVFJTX1BFUl9QTUQgJiYgcGZuIDwgbWF4X2xvd19wZm47CisJCWlmIChwZm4gPj0gZW5kX3BmbikKKwkJCWNvbnRpbnVlOworI2lmZGVmIENPTkZJR19YODZfUEFFCisJCXBtZF9pZHggPSBwbWRfaW5kZXgoKHBmbjw8UEFHRV9TSElGVCkgKyBQQUdFX09GRlNFVCk7CisJCXBtZCArPSBwbWRfaWR4OworI2Vsc2UKKwkJcG1kX2lkeCA9IDA7CisjZW5kaWYKKwkJZm9yICg7IHBtZF9pZHggPCBQVFJTX1BFUl9QTUQgJiYgcGZuIDwgZW5kX3BmbjsKIAkJICAgICBwbWQrKywgcG1kX2lkeCsrKSB7CiAJCQl1bnNpZ25lZCBpbnQgYWRkciA9IHBmbiAqIFBBR0VfU0laRSArIFBBR0VfT0ZGU0VUOwogCiAJCQkvKgogCQkJICogTWFwIHdpdGggYmlnIHBhZ2VzIGlmIHBvc3NpYmxlLCBvdGhlcndpc2UKIAkJCSAqIGNyZWF0ZSBub3JtYWwgcGFnZSB0YWJsZXM6Ci0JCQkgKgotCQkJICogRG9uJ3QgdXNlIGEgbGFyZ2UgcGFnZSBmb3IgdGhlIGZpcnN0IDIvNE1CIG9mIG1lbW9yeQotCQkJICogYmVjYXVzZSB0aGVyZSBhcmUgb2Z0ZW4gZml4ZWQgc2l6ZSBNVFJScyBpbiB0aGVyZQotCQkJICogYW5kIG92ZXJsYXBwaW5nIE1UUlJzIGludG8gbGFyZ2UgcGFnZXMgY2FuIGNhdXNlCi0JCQkgKiBzbG93ZG93bnMuCiAJCQkgKi8KLQkJCWlmIChjcHVfaGFzX3BzZSAmJiAhKHBnZF9pZHggPT0gMCAmJiBwbWRfaWR4ID09IDApKSB7CisJCQlpZiAodXNlX3BzZSkgewogCQkJCXVuc2lnbmVkIGludCBhZGRyMjsKIAkJCQlwZ3Byb3RfdCBwcm90ID0gUEFHRV9LRVJORUxfTEFSR0U7CiAKQEAgLTE5NywzNCArMjMyLDMwIEBACiAJCQkJICAgIGlzX2tlcm5lbF90ZXh0KGFkZHIyKSkKIAkJCQkJcHJvdCA9IFBBR0VfS0VSTkVMX0xBUkdFX0VYRUM7CiAKKwkJCQlwYWdlc18ybSsrOwogCQkJCXNldF9wbWQocG1kLCBwZm5fcG1kKHBmbiwgcHJvdCkpOwogCiAJCQkJcGZuICs9IFBUUlNfUEVSX1BURTsKLQkJCQltYXhfcGZuX21hcHBlZCA9IHBmbjsKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJCXB0ZSA9IG9uZV9wYWdlX3RhYmxlX2luaXQocG1kKTsKIAotCQkJZm9yIChwdGVfb2ZzID0gMDsKLQkJCSAgICAgcHRlX29mcyA8IFBUUlNfUEVSX1BURSAmJiBwZm4gPCBtYXhfbG93X3BmbjsKKwkJCXB0ZV9vZnMgPSBwdGVfaW5kZXgoKHBmbjw8UEFHRV9TSElGVCkgKyBQQUdFX09GRlNFVCk7CisJCQlwdGUgKz0gcHRlX29mczsKKwkJCWZvciAoOyBwdGVfb2ZzIDwgUFRSU19QRVJfUFRFICYmIHBmbiA8IGVuZF9wZm47CiAJCQkgICAgIHB0ZSsrLCBwZm4rKywgcHRlX29mcysrLCBhZGRyICs9IFBBR0VfU0laRSkgewogCQkJCXBncHJvdF90IHByb3QgPSBQQUdFX0tFUk5FTDsKIAogCQkJCWlmIChpc19rZXJuZWxfdGV4dChhZGRyKSkKIAkJCQkJcHJvdCA9IFBBR0VfS0VSTkVMX0VYRUM7CiAKKwkJCQlwYWdlc180aysrOwogCQkJCXNldF9wdGUocHRlLCBwZm5fcHRlKHBmbiwgcHJvdCkpOwogCQkJfQotCQkJbWF4X3Bmbl9tYXBwZWQgPSBwZm47CiAJCX0KIAl9Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHBhZ2Vfa2lsbHNfcHBybyh1bnNpZ25lZCBsb25nIHBhZ2VucikKLXsKLQlpZiAocGFnZW5yID49IDB4NzAwMDAgJiYgcGFnZW5yIDw9IDB4NzAwM0YpCi0JCXJldHVybiAxOwotCXJldHVybiAwOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzJNLCBwYWdlc18ybSk7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfNEssIHBhZ2VzXzRrKTsKIH0KIAogLyoKQEAgLTI4NywyOSArMzE4LDYyIEBACiAJcGttYXBfcGFnZV90YWJsZSA9IHB0ZTsKIH0KIAotdm9pZCBfX2luaXQgYWRkX29uZV9oaWdocGFnZV9pbml0KHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcGZuLCBpbnQgYmFkX3Bwcm8pCitzdGF0aWMgdm9pZCBfX2luaXQgYWRkX29uZV9oaWdocGFnZV9pbml0KHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcGZuKQogewotCWlmIChwYWdlX2lzX3JhbShwZm4pICYmICEoYmFkX3Bwcm8gJiYgcGFnZV9raWxsc19wcHJvKHBmbikpKSB7Ci0JCUNsZWFyUGFnZVJlc2VydmVkKHBhZ2UpOwotCQlpbml0X3BhZ2VfY291bnQocGFnZSk7Ci0JCV9fZnJlZV9wYWdlKHBhZ2UpOwotCQl0b3RhbGhpZ2hfcGFnZXMrKzsKLQl9IGVsc2UKLQkJU2V0UGFnZVJlc2VydmVkKHBhZ2UpOworCUNsZWFyUGFnZVJlc2VydmVkKHBhZ2UpOworCWluaXRfcGFnZV9jb3VudChwYWdlKTsKKwlfX2ZyZWVfcGFnZShwYWdlKTsKKwl0b3RhbGhpZ2hfcGFnZXMrKzsKK30KKworc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSB7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm47CisJdW5zaWduZWQgbG9uZyBlbmRfcGZuOworfTsKKworc3RhdGljIGludCBfX2luaXQgYWRkX2hpZ2hwYWdlc193b3JrX2ZuKHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmRfcGZuLCB2b2lkICpkYXRheCkKK3sKKwlpbnQgbm9kZV9wZm47CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJdW5zaWduZWQgbG9uZyBmaW5hbF9zdGFydF9wZm4sIGZpbmFsX2VuZF9wZm47CisJc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSAqZGF0YTsKKworCWRhdGEgPSAoc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSAqKWRhdGF4OworCisJZmluYWxfc3RhcnRfcGZuID0gbWF4KHN0YXJ0X3BmbiwgZGF0YS0+c3RhcnRfcGZuKTsKKwlmaW5hbF9lbmRfcGZuID0gbWluKGVuZF9wZm4sIGRhdGEtPmVuZF9wZm4pOworCWlmIChmaW5hbF9zdGFydF9wZm4gPj0gZmluYWxfZW5kX3BmbikKKwkJcmV0dXJuIDA7CisKKwlmb3IgKG5vZGVfcGZuID0gZmluYWxfc3RhcnRfcGZuOyBub2RlX3BmbiA8IGZpbmFsX2VuZF9wZm47CisJICAgICBub2RlX3BmbisrKSB7CisJCWlmICghcGZuX3ZhbGlkKG5vZGVfcGZuKSkKKwkJCWNvbnRpbnVlOworCQlwYWdlID0gcGZuX3RvX3BhZ2Uobm9kZV9wZm4pOworCQlhZGRfb25lX2hpZ2hwYWdlX2luaXQocGFnZSwgbm9kZV9wZm4pOworCX0KKworCXJldHVybiAwOworCit9CisKK3ZvaWQgX19pbml0IGFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJICAgICAgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQoreworCXN0cnVjdCBhZGRfaGlnaHBhZ2VzX2RhdGEgZGF0YTsKKworCWRhdGEuc3RhcnRfcGZuID0gc3RhcnRfcGZuOworCWRhdGEuZW5kX3BmbiA9IGVuZF9wZm47CisKKwl3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMobmlkLCBhZGRfaGlnaHBhZ2VzX3dvcmtfZm4sICZkYXRhKTsKIH0KIAogI2lmbmRlZiBDT05GSUdfTlVNQQotc3RhdGljIHZvaWQgX19pbml0IHNldF9oaWdobWVtX3BhZ2VzX2luaXQoaW50IGJhZF9wcHJvKQorc3RhdGljIHZvaWQgX19pbml0IHNldF9oaWdobWVtX3BhZ2VzX2luaXQodm9pZCkKIHsKLQlpbnQgcGZuOworCWFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucygwLCBoaWdoc3RhcnRfcGZuLCBoaWdoZW5kX3Bmbik7CiAKLQlmb3IgKHBmbiA9IGhpZ2hzdGFydF9wZm47IHBmbiA8IGhpZ2hlbmRfcGZuOyBwZm4rKykgewotCQkvKgotCQkgKiBIb2xlcyB1bmRlciBzcGFyc2VtZW0gbWlnaHQgbm90IGhhdmUgbm8gbWVtX21hcFtdOgotCQkgKi8KLQkJaWYgKHBmbl92YWxpZChwZm4pKQotCQkJYWRkX29uZV9oaWdocGFnZV9pbml0KHBmbl90b19wYWdlKHBmbiksIHBmbiwgYmFkX3Bwcm8pOwotCX0KIAl0b3RhbHJhbV9wYWdlcyArPSB0b3RhbGhpZ2hfcGFnZXM7CiB9CiAjZW5kaWYgLyogIUNPTkZJR19OVU1BICovCkBAIC0zMTcsMTQgKzM4MSw5IEBACiAjZWxzZQogIyBkZWZpbmUga21hcF9pbml0KCkJCQkJZG8geyB9IHdoaWxlICgwKQogIyBkZWZpbmUgcGVybWFuZW50X2ttYXBzX2luaXQocGdkX2Jhc2UpCQlkbyB7IH0gd2hpbGUgKDApCi0jIGRlZmluZSBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGJhZF9wcHJvKQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBzZXRfaGlnaG1lbV9wYWdlc19pbml0KCkJZG8geyB9IHdoaWxlICgwKQogI2VuZGlmIC8qIENPTkZJR19ISUdITUVNICovCiAKLXB0ZXZhbF90IF9fUEFHRV9LRVJORUwgPSBfUEFHRV9LRVJORUw7Ci1FWFBPUlRfU1lNQk9MKF9fUEFHRV9LRVJORUwpOwotCi1wdGV2YWxfdCBfX1BBR0VfS0VSTkVMX0VYRUMgPSBfUEFHRV9LRVJORUxfRVhFQzsKLQogdm9pZCBfX2luaXQgbmF0aXZlX3BhZ2V0YWJsZV9zZXR1cF9zdGFydChwZ2RfdCAqYmFzZSkKIHsKIAl1bnNpZ25lZCBsb25nIHBmbiwgdmE7CkBAIC0zODAsMjcgKzQzOSwxMCBAQAogICogYmUgcGFydGlhbGx5IHBvcHVsYXRlZCwgYW5kIHNvIGl0IGF2b2lkcyBzdG9tcGluZyBvbiBhbnkgZXhpc3RpbmcKICAqIG1hcHBpbmdzLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFnZXRhYmxlX2luaXQodm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCBlYXJseV9pb3JlbWFwX3BhZ2VfdGFibGVfcmFuZ2VfaW5pdChwZ2RfdCAqcGdkX2Jhc2UpCiB7Ci0JcGdkX3QgKnBnZF9iYXNlID0gc3dhcHBlcl9wZ19kaXI7CiAJdW5zaWduZWQgbG9uZyB2YWRkciwgZW5kOwogCi0JcGFyYXZpcnRfcGFnZXRhYmxlX3NldHVwX3N0YXJ0KHBnZF9iYXNlKTsKLQotCS8qIEVuYWJsZSBQU0UgaWYgYXZhaWxhYmxlICovCi0JaWYgKGNwdV9oYXNfcHNlKQotCQlzZXRfaW5fY3I0KFg4Nl9DUjRfUFNFKTsKLQotCS8qIEVuYWJsZSBQR0UgaWYgYXZhaWxhYmxlICovCi0JaWYgKGNwdV9oYXNfcGdlKSB7Ci0JCXNldF9pbl9jcjQoWDg2X0NSNF9QR0UpOwotCQlfX1BBR0VfS0VSTkVMIHw9IF9QQUdFX0dMT0JBTDsKLQkJX19QQUdFX0tFUk5FTF9FWEVDIHw9IF9QQUdFX0dMT0JBTDsKLQl9Ci0KLQlrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF9iYXNlKTsKLQlyZW1hcF9udW1hX2t2YSgpOwotCiAJLyoKIAkgKiBGaXhlZCBtYXBwaW5ncywgb25seSB0aGUgcGFnZSB0YWJsZSBzdHJ1Y3R1cmUgaGFzIHRvIGJlCiAJICogY3JlYXRlZCAtIG1hcHBpbmdzIHdpbGwgYmUgc2V0IGJ5IHNldF9maXhtYXAoKToKQEAgLTQxMCw2ICs0NTIsMTMgQEAKIAllbmQgPSAoRklYQUREUl9UT1AgKyBQTURfU0laRSAtIDEpICYgUE1EX01BU0s7CiAJcGFnZV90YWJsZV9yYW5nZV9pbml0KHZhZGRyLCBlbmQsIHBnZF9iYXNlKTsKIAllYXJseV9pb3JlbWFwX3Jlc2V0KCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBwYWdldGFibGVfaW5pdCh2b2lkKQoreworCXBnZF90ICpwZ2RfYmFzZSA9IHN3YXBwZXJfcGdfZGlyOworCisJcGFyYXZpcnRfcGFnZXRhYmxlX3NldHVwX3N0YXJ0KHBnZF9iYXNlKTsKIAogCXBlcm1hbmVudF9rbWFwc19pbml0KHBnZF9iYXNlKTsKIApAQCAtNDU2LDcgKzUwNSw3IEBACiAKIGludCBueF9lbmFibGVkOwogCi1wdGV2YWxfdCBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfl9QQUdFX05YOworcHRldmFsX3QgX19zdXBwb3J0ZWRfcHRlX21hc2sgX19yZWFkX21vc3RseSA9IH4oX1BBR0VfTlggfCBfUEFHRV9HTE9CQUwpOwogRVhQT1JUX1NZTUJPTF9HUEwoX19zdXBwb3J0ZWRfcHRlX21hc2spOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQUUKQEAgLTUwOSw2ICs1NTgsMjk2IEBACiB9CiAjZW5kaWYKIAorLyogdXNlci1kZWZpbmVkIGhpZ2htZW0gc2l6ZSAqLworc3RhdGljIHVuc2lnbmVkIGludCBoaWdobWVtX3BhZ2VzID0gLTE7CisKKy8qCisgKiBoaWdobWVtPXNpemUgZm9yY2VzIGhpZ2htZW0gdG8gYmUgZXhhY3RseSAnc2l6ZScgYnl0ZXMuCisgKiBUaGlzIHdvcmtzIGV2ZW4gb24gYm94ZXMgdGhhdCBoYXZlIG5vIGhpZ2htZW0gb3RoZXJ3aXNlLgorICogVGhpcyBhbHNvIHdvcmtzIHRvIHJlZHVjZSBoaWdobWVtIHNpemUgb24gYmlnZ2VyIGJveGVzLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oaWdobWVtKGNoYXIgKmFyZykKK3sKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwloaWdobWVtX3BhZ2VzID0gbWVtcGFyc2UoYXJnLCAmYXJnKSA+PiBQQUdFX1NISUZUOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oImhpZ2htZW0iLCBwYXJzZV9oaWdobWVtKTsKKworLyoKKyAqIERldGVybWluZSBsb3cgYW5kIGhpZ2ggbWVtb3J5IHJhbmdlczoKKyAqLwordm9pZCBfX2luaXQgZmluZF9sb3dfcGZuX3JhbmdlKHZvaWQpCit7CisJLyogaXQgY291bGQgdXBkYXRlIG1heF9wZm4gKi8KKworCS8qIG1heF9sb3dfcGZuIGlzIDAsIHdlIGFscmVhZHkgaGF2ZSBlYXJseV9yZXMgc3VwcG9ydCAqLworCisJbWF4X2xvd19wZm4gPSBtYXhfcGZuOworCWlmIChtYXhfbG93X3BmbiA+IE1BWE1FTV9QRk4pIHsKKwkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCisJCQloaWdobWVtX3BhZ2VzID0gbWF4X3BmbiAtIE1BWE1FTV9QRk47CisJCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA8IG1heF9wZm4pCisJCQltYXhfcGZuID0gTUFYTUVNX1BGTiArIGhpZ2htZW1fcGFnZXM7CisJCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA+IG1heF9wZm4pIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgIm9ubHkgJWx1TUIgaGlnaG1lbSBwYWdlcyAiCisJCQkJImF2YWlsYWJsZSwgaWdub3JpbmcgaGlnaG1lbSBzaXplIG9mICV1TUIuXG4iLAorCQkJCXBhZ2VzX3RvX21iKG1heF9wZm4gLSBNQVhNRU1fUEZOKSwKKwkJCQlwYWdlc190b19tYihoaWdobWVtX3BhZ2VzKSk7CisJCQloaWdobWVtX3BhZ2VzID0gMDsKKwkJfQorCQltYXhfbG93X3BmbiA9IE1BWE1FTV9QRk47CisjaWZuZGVmIENPTkZJR19ISUdITUVNCisJCS8qIE1heGltdW0gbWVtb3J5IHVzYWJsZSBpcyB3aGF0IGlzIGRpcmVjdGx5IGFkZHJlc3NhYmxlICovCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSAlbGRNQiB3aWxsIGJlIHVzZWQuXG4iLAorCQkJCQlNQVhNRU0+PjIwKTsKKwkJaWYgKG1heF9wZm4gPiBNQVhfTk9OUEFFX1BGTikKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCQkgIlVzZSBhIEhJR0hNRU02NEcgZW5hYmxlZCBrZXJuZWwuXG4iKTsKKwkJZWxzZQorCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTSBlbmFibGVkIGtlcm5lbC5cbiIpOworCQltYXhfcGZuID0gTUFYTUVNX1BGTjsKKyNlbHNlIC8qICFDT05GSUdfSElHSE1FTSAqLworI2lmbmRlZiBDT05GSUdfSElHSE1FTTY0RworCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKSB7CisJCQltYXhfcGZuID0gTUFYX05PTlBBRV9QRk47CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJXYXJuaW5nIG9ubHkgNEdCIHdpbGwgYmUgdXNlZC4iCisJCQkJIlVzZSBhIEhJR0hNRU02NEcgZW5hYmxlZCBrZXJuZWwuXG4iKTsKKwkJfQorI2VuZGlmIC8qICFDT05GSUdfSElHSE1FTTY0RyAqLworI2VuZGlmIC8qICFDT05GSUdfSElHSE1FTSAqLworCX0gZWxzZSB7CisJCWlmIChoaWdobWVtX3BhZ2VzID09IC0xKQorCQkJaGlnaG1lbV9wYWdlcyA9IDA7CisjaWZkZWYgQ09ORklHX0hJR0hNRU0KKwkJaWYgKGhpZ2htZW1fcGFnZXMgPj0gbWF4X3BmbikgeworCQkJcHJpbnRrKEtFUk5fRVJSICJoaWdobWVtIHNpemUgc3BlY2lmaWVkICgldU1CKSBpcyAiCisJCQkJImJpZ2dlciB0aGFuIHBhZ2VzIGF2YWlsYWJsZSAoJWx1TUIpIS5cbiIsCisJCQkJcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcyksCisJCQkJcGFnZXNfdG9fbWIobWF4X3BmbikpOworCQkJaGlnaG1lbV9wYWdlcyA9IDA7CisJCX0KKwkJaWYgKGhpZ2htZW1fcGFnZXMpIHsKKwkJCWlmIChtYXhfbG93X3BmbiAtIGhpZ2htZW1fcGFnZXMgPAorCQkJICAgIDY0KjEwMjQqMTAyNC9QQUdFX1NJWkUpeworCQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplICV1TUIgcmVzdWx0cyBpbiAiCisJCQkJInNtYWxsZXIgdGhhbiA2NE1CIGxvd21lbSwgaWdub3JpbmcgaXQuXG4iCisJCQkJCSwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcykpOworCQkJCWhpZ2htZW1fcGFnZXMgPSAwOworCQkJfQorCQkJbWF4X2xvd19wZm4gLT0gaGlnaG1lbV9wYWdlczsKKwkJfQorI2Vsc2UKKwkJaWYgKGhpZ2htZW1fcGFnZXMpCisJCQlwcmludGsoS0VSTl9FUlIgImlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvbiBub24taGlnaG1lbSIKKwkJCQkJIiBrZXJuZWwhXG4iKTsKKyNlbmRpZgorCX0KK30KKworI2lmbmRlZiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUwordm9pZCBfX2luaXQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQoreworI2lmZGVmIENPTkZJR19ISUdITUVNCisJaGlnaHN0YXJ0X3BmbiA9IGhpZ2hlbmRfcGZuID0gbWF4X3BmbjsKKwlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKQorCQloaWdoc3RhcnRfcGZuID0gbWF4X2xvd19wZm47CisJbWVtb3J5X3ByZXNlbnQoMCwgMCwgaGlnaGVuZF9wZm4pOworCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgaGlnaGVuZF9wZm4pOworCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgSElHSE1FTSBhdmFpbGFibGUuXG4iLAorCQlwYWdlc190b19tYihoaWdoZW5kX3BmbiAtIGhpZ2hzdGFydF9wZm4pKTsKKwludW1fcGh5c3BhZ2VzID0gaGlnaGVuZF9wZm47CisJaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKGhpZ2hzdGFydF9wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CisjZWxzZQorCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9sb3dfcGZuKTsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIG1heF9sb3dfcGZuKTsKKwludW1fcGh5c3BhZ2VzID0gbWF4X2xvd19wZm47CisJaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKG1heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworI2VuZGlmCisjaWZkZWYgQ09ORklHX0ZMQVRNRU0KKwltYXhfbWFwbnIgPSBudW1fcGh5c3BhZ2VzOworI2VuZGlmCisJcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBMT1dNRU0gYXZhaWxhYmxlLlxuIiwKKwkJCXBhZ2VzX3RvX21iKG1heF9sb3dfcGZuKSk7CisKKwlzZXR1cF9ib290bWVtX2FsbG9jYXRvcigpOworfQorI2VuZGlmIC8qICFDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUyAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107CisJbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7CisJbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPQorCQl2aXJ0X3RvX3BoeXMoKGNoYXIgKilNQVhfRE1BX0FERFJFU1MpID4+IFBBR0VfU0hJRlQ7CisJbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfbG93X3BmbjsKKyNpZmRlZiBDT05GSUdfSElHSE1FTQorCW1heF96b25lX3BmbnNbWk9ORV9ISUdITUVNXSA9IGhpZ2hlbmRfcGZuOworI2VuZGlmCisKKwlmcmVlX2FyZWFfaW5pdF9ub2RlcyhtYXhfem9uZV9wZm5zKTsKK30KKwordm9pZCBfX2luaXQgc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3Iodm9pZCkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKKwkvKgorCSAqIEluaXRpYWxpemUgdGhlIGJvb3QtdGltZSBhbGxvY2F0b3IgKHdpdGggbG93IG1lbW9yeSBvbmx5KToKKwkgKi8KKwlib290bWFwX3NpemUgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMobWF4X2xvd19wZm4pPDxQQUdFX1NISUZUOworCWJvb3RtYXAgPSBmaW5kX2U4MjBfYXJlYShtaW5fbG93X3Bmbjw8UEFHRV9TSElGVCwKKwkJCQkgbWF4X3Bmbl9tYXBwZWQ8PFBBR0VfU0hJRlQsIGJvb3RtYXBfc2l6ZSwKKwkJCQkgUEFHRV9TSVpFKTsKKwlpZiAoYm9vdG1hcCA9PSAtMUwpCisJCXBhbmljKCJDYW5ub3QgZmluZCBib290bWVtIG1hcCBvZiBzaXplICVsZFxuIiwgYm9vdG1hcF9zaXplKTsKKwlyZXNlcnZlX2Vhcmx5KGJvb3RtYXAsIGJvb3RtYXAgKyBib290bWFwX3NpemUsICJCT09UTUFQIik7CisKKwkvKiBkb24ndCB0b3VjaCBtaW5fbG93X3BmbiAqLworCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbV9ub2RlKE5PREVfREFUQSgwKSwgYm9vdG1hcCA+PiBQQUdFX1NISUZULAorCQkJCQkgbWluX2xvd19wZm4sIG1heF9sb3dfcGZuKTsKKwlwcmludGsoS0VSTl9JTkZPICIgIG1hcHBlZCBsb3cgcmFtOiAwIC0gJTA4bHhcbiIsCisJCSBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiICBsb3cgcmFtOiAlMDhseCAtICUwOGx4XG4iLAorCQkgbWluX2xvd19wZm48PFBBR0VfU0hJRlQsIG1heF9sb3dfcGZuPDxQQUdFX1NISUZUKTsKKwlwcmludGsoS0VSTl9JTkZPICIgIGJvb3RtYXAgJTA4bHggLSAlMDhseFxuIiwKKwkJIGJvb3RtYXAsIGJvb3RtYXAgKyBib290bWFwX3NpemUpOworCWZvcl9lYWNoX29ubGluZV9ub2RlKGkpCisJCWZyZWVfYm9vdG1lbV93aXRoX2FjdGl2ZV9yZWdpb25zKGksIG1heF9sb3dfcGZuKTsKKwllYXJseV9yZXNfdG9fYm9vdG1lbSgwLCBtYXhfbG93X3Bmbjw8UEFHRV9TSElGVCk7CisKKwlhZnRlcl9pbml0X2Jvb3RtZW0gPSAxOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZmluZF9lYXJseV90YWJsZV9zcGFjZSh1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwl1bnNpZ25lZCBsb25nIHB1ZHMsIHBtZHMsIHB0ZXMsIHRhYmxlcywgc3RhcnQ7CisKKwlwdWRzID0gKGVuZCArIFBVRF9TSVpFIC0gMSkgPj4gUFVEX1NISUZUOworCXRhYmxlcyA9IFBBR0VfQUxJR04ocHVkcyAqIHNpemVvZihwdWRfdCkpOworCisJcG1kcyA9IChlbmQgKyBQTURfU0laRSAtIDEpID4+IFBNRF9TSElGVDsKKwl0YWJsZXMgKz0gUEFHRV9BTElHTihwbWRzICogc2l6ZW9mKHBtZF90KSk7CisKKwlpZiAoY3B1X2hhc19wc2UpIHsKKwkJdW5zaWduZWQgbG9uZyBleHRyYTsKKworCQlleHRyYSA9IGVuZCAtICgoZW5kPj5QTURfU0hJRlQpIDw8IFBNRF9TSElGVCk7CisJCWV4dHJhICs9IFBNRF9TSVpFOworCQlwdGVzID0gKGV4dHJhICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwl9IGVsc2UKKwkJcHRlcyA9IChlbmQgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCisJdGFibGVzICs9IFBBR0VfQUxJR04ocHRlcyAqIHNpemVvZihwdGVfdCkpOworCisJLyogZm9yIGZpeG1hcCAqLworCXRhYmxlcyArPSBQQUdFX1NJWkUgKiAyOworCisJLyoKKwkgKiBSRUQtUEVOIHB1dHRpbmcgcGFnZSB0YWJsZXMgb25seSBvbiBub2RlIDAgY291bGQKKwkgKiBjYXVzZSBhIGhvdHNwb3QgYW5kIGZpbGwgdXAgWk9ORV9ETUEuIFRoZSBwYWdlIHRhYmxlcworCSAqIG5lZWQgcm91Z2hseSAwLjVLQiBwZXIgR0IuCisJICovCisJc3RhcnQgPSAweDcwMDA7CisJdGFibGVfc3RhcnQgPSBmaW5kX2U4MjBfYXJlYShzdGFydCwgbWF4X3Bmbl9tYXBwZWQ8PFBBR0VfU0hJRlQsCisJCQkJCXRhYmxlcywgUEFHRV9TSVpFKTsKKwlpZiAodGFibGVfc3RhcnQgPT0gLTFVTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIHNwYWNlIGZvciB0aGUga2VybmVsIHBhZ2UgdGFibGVzIik7CisKKwl0YWJsZV9zdGFydCA+Pj0gUEFHRV9TSElGVDsKKwl0YWJsZV9lbmQgPSB0YWJsZV9zdGFydDsKKwl0YWJsZV90b3AgPSB0YWJsZV9zdGFydCArICh0YWJsZXM+PlBBR0VfU0hJRlQpOworCisJcHJpbnRrKEtFUk5fREVCVUcgImtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gJWx4IEAgJWx4LSVseFxuIiwKKwkJZW5kLCB0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAorCQkodGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCkgKyB0YWJsZXMpOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdF9yZWZvayBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsCisJCQkJCQl1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlwZ2RfdCAqcGdkX2Jhc2UgPSBzd2FwcGVyX3BnX2RpcjsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsKKwl1bnNpZ25lZCBsb25nIGJpZ19wYWdlX3N0YXJ0OworCisJLyoKKwkgKiBGaW5kIHNwYWNlIGZvciB0aGUga2VybmVsIGRpcmVjdCBtYXBwaW5nIHRhYmxlcy4KKwkgKi8KKwlpZiAoIWFmdGVyX2luaXRfYm9vdG1lbSkKKwkJZmluZF9lYXJseV90YWJsZV9zcGFjZShlbmQpOworCisjaWZkZWYgQ09ORklHX1g4Nl9QQUUKKwlzZXRfbngoKTsKKwlpZiAobnhfZW5hYmxlZCkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiTlggKEV4ZWN1dGUgRGlzYWJsZSkgcHJvdGVjdGlvbjogYWN0aXZlXG4iKTsKKyNlbmRpZgorCisJLyogRW5hYmxlIFBTRSBpZiBhdmFpbGFibGUgKi8KKwlpZiAoY3B1X2hhc19wc2UpCisJCXNldF9pbl9jcjQoWDg2X0NSNF9QU0UpOworCisJLyogRW5hYmxlIFBHRSBpZiBhdmFpbGFibGUgKi8KKwlpZiAoY3B1X2hhc19wZ2UpIHsKKwkJc2V0X2luX2NyNChYODZfQ1I0X1BHRSk7CisJCV9fc3VwcG9ydGVkX3B0ZV9tYXNrIHw9IF9QQUdFX0dMT0JBTDsKKwl9CisKKwkvKgorCSAqIERvbid0IHVzZSBhIGxhcmdlIHBhZ2UgZm9yIHRoZSBmaXJzdCAyLzRNQiBvZiBtZW1vcnkKKwkgKiBiZWNhdXNlIHRoZXJlIGFyZSBvZnRlbiBmaXhlZCBzaXplIE1UUlJzIGluIHRoZXJlCisJICogYW5kIG92ZXJsYXBwaW5nIE1UUlJzIGludG8gbGFyZ2UgcGFnZXMgY2FuIGNhdXNlCisJICogc2xvd2Rvd25zLgorCSAqLworCWJpZ19wYWdlX3N0YXJ0ID0gUE1EX1NJWkU7CisKKwlpZiAoc3RhcnQgPCBiaWdfcGFnZV9zdGFydCkgeworCQlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOworCQllbmRfcGZuID0gbWluKGJpZ19wYWdlX3N0YXJ0Pj5QQUdFX1NISUZULCBlbmQ+PlBBR0VfU0hJRlQpOworCX0gZWxzZSB7CisJCS8qIGhlYWQgaXMgbm90IGJpZyBwYWdlIGFsaWdubWVudCA/ICovCisJCXN0YXJ0X3BmbiA9IHN0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJCWVuZF9wZm4gPSAoKHN0YXJ0ICsgKFBNRF9TSVpFIC0gMSkpPj5QTURfU0hJRlQpCisJCQkJIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwl9CisJaWYgKHN0YXJ0X3BmbiA8IGVuZF9wZm4pCisJCWtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX2Jhc2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwgMCk7CisKKwkvKiBiaWcgcGFnZSByYW5nZSAqLworCXN0YXJ0X3BmbiA9ICgoc3RhcnQgKyAoUE1EX1NJWkUgLSAxKSk+PlBNRF9TSElGVCkKKwkJCSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJaWYgKHN0YXJ0X3BmbiA8IChiaWdfcGFnZV9zdGFydCA+PiBQQUdFX1NISUZUKSkKKwkJc3RhcnRfcGZuID0gIGJpZ19wYWdlX3N0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJZW5kX3BmbiA9IChlbmQ+PlBNRF9TSElGVCkgPDwgKFBNRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCWlmIChzdGFydF9wZm4gPCBlbmRfcGZuKQorCQlrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF9iYXNlLCBzdGFydF9wZm4sIGVuZF9wZm4sCisJCQkJCQljcHVfaGFzX3BzZSk7CisKKwkvKiB0YWlsIGlzIG5vdCBiaWcgcGFnZSBhbGlnbm1lbnQgPyAqLworCXN0YXJ0X3BmbiA9IGVuZF9wZm47CisJaWYgKHN0YXJ0X3BmbiA+IChiaWdfcGFnZV9zdGFydD4+UEFHRV9TSElGVCkpIHsKKwkJZW5kX3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOworCQlpZiAoc3RhcnRfcGZuIDwgZW5kX3BmbikKKwkJCWtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX2Jhc2UsIHN0YXJ0X3BmbiwKKwkJCQkJCQkgZW5kX3BmbiwgMCk7CisJfQorCisJZWFybHlfaW9yZW1hcF9wYWdlX3RhYmxlX3JhbmdlX2luaXQocGdkX2Jhc2UpOworCisJbG9hZF9jcjMoc3dhcHBlcl9wZ19kaXIpOworCisJX19mbHVzaF90bGJfYWxsKCk7CisKKwlpZiAoIWFmdGVyX2luaXRfYm9vdG1lbSkKKwkJcmVzZXJ2ZV9lYXJseSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAorCQkJCSB0YWJsZV9lbmQgPDwgUEFHRV9TSElGVCwgIlBHVEFCTEUiKTsKKworCXJldHVybiBlbmQgPj4gUEFHRV9TSElGVDsKK30KKworCiAvKgogICogcGFnaW5nX2luaXQoKSBzZXRzIHVwIHRoZSBwYWdlIHRhYmxlcyAtIG5vdGUgdGhhdCB0aGUgZmlyc3QgOE1CIGFyZQogICogYWxyZWFkeSBtYXBwZWQgYnkgaGVhZC5TLgpAQCAtNTE4LDE4ICs4NTcsMTkgQEAKICAqLwogdm9pZCBfX2luaXQgcGFnaW5nX2luaXQodm9pZCkKIHsKLSNpZmRlZiBDT05GSUdfWDg2X1BBRQotCXNldF9ueCgpOwotCWlmIChueF9lbmFibGVkKQotCQlwcmludGsoS0VSTl9JTkZPICJOWCAoRXhlY3V0ZSBEaXNhYmxlKSBwcm90ZWN0aW9uOiBhY3RpdmVcbiIpOwotI2VuZGlmCiAJcGFnZXRhYmxlX2luaXQoKTsKIAotCWxvYWRfY3IzKHN3YXBwZXJfcGdfZGlyKTsKLQogCV9fZmx1c2hfdGxiX2FsbCgpOwogCiAJa21hcF9pbml0KCk7CisKKwkvKgorCSAqIE5PVEU6IGF0IHRoaXMgcG9pbnQgdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGlzIGZ1bGx5IGF2YWlsYWJsZS4KKwkgKi8KKwlzcGFyc2VfaW5pdCgpOworCXpvbmVfc2l6ZXNfaW5pdCgpOworCisJcGFyYXZpcnRfcG9zdF9hbGxvY2F0b3JfaW5pdCgpOwogfQogCiAvKgpAQCAtNTY0LDI0ICs5MDQsMTEgQEAKIHZvaWQgX19pbml0IG1lbV9pbml0KHZvaWQpCiB7CiAJaW50IGNvZGVzaXplLCByZXNlcnZlZHBhZ2VzLCBkYXRhc2l6ZSwgaW5pdHNpemU7Ci0JaW50IHRtcCwgYmFkX3Bwcm87CisJaW50IHRtcDsKIAogI2lmZGVmIENPTkZJR19GTEFUTUVNCiAJQlVHX09OKCFtZW1fbWFwKTsKICNlbmRpZgotCWJhZF9wcHJvID0gcHByb193aXRoX3JhbV9idWcoKTsKLQotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JLyogY2hlY2sgdGhhdCBmaXhtYXAgYW5kIHBrbWFwIGRvIG5vdCBvdmVybGFwICovCi0JaWYgKFBLTUFQX0JBU0UgKyBMQVNUX1BLTUFQKlBBR0VfU0laRSA+PSBGSVhBRERSX1NUQVJUKSB7Ci0JCXByaW50ayhLRVJOX0VSUgotCQkJImZpeG1hcCBhbmQga21hcCBhcmVhcyBvdmVybGFwIC0gdGhpcyB3aWxsIGNyYXNoXG4iKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJwa3N0YXJ0OiAlbHhoIHBrZW5kOiAlbHhoIGZpeHN0YXJ0ICVseGhcbiIsCi0JCQkJUEtNQVBfQkFTRSwgUEtNQVBfQkFTRSArIExBU1RfUEtNQVAqUEFHRV9TSVpFLAotCQkJCUZJWEFERFJfU1RBUlQpOwotCQlCVUcoKTsKLQl9Ci0jZW5kaWYKIAkvKiB0aGlzIHdpbGwgcHV0IGFsbCBsb3cgbWVtb3J5IG9udG8gdGhlIGZyZWVsaXN0cyAqLwogCXRvdGFscmFtX3BhZ2VzICs9IGZyZWVfYWxsX2Jvb3RtZW0oKTsKIApAQCAtNTkzLDcgKzkyMCw3IEBACiAJCWlmIChwYWdlX2lzX3JhbSh0bXApICYmIFBhZ2VSZXNlcnZlZChwZm5fdG9fcGFnZSh0bXApKSkKIAkJCXJlc2VydmVkcGFnZXMrKzsKIAotCXNldF9oaWdobWVtX3BhZ2VzX2luaXQoYmFkX3Bwcm8pOworCXNldF9oaWdobWVtX3BhZ2VzX2luaXQoKTsKIAogCWNvZGVzaXplID0gICh1bnNpZ25lZCBsb25nKSAmX2V0ZXh0IC0gKHVuc2lnbmVkIGxvbmcpICZfdGV4dDsKIAlkYXRhc2l6ZSA9ICAodW5zaWduZWQgbG9uZykgJl9lZGF0YSAtICh1bnNpZ25lZCBsb25nKSAmX2V0ZXh0OwpAQCAtNjE0LDcgKzk0MSw2IEBACiAJCSh1bnNpZ25lZCBsb25nKSAodG90YWxoaWdoX3BhZ2VzIDw8IChQQUdFX1NISUZULTEwKSkKIAkgICAgICAgKTsKIAotI2lmIDEgLyogZG91YmxlLXNhbml0eS1jaGVjayBwYXJhbm9pYSAqLwogCXByaW50ayhLRVJOX0lORk8gInZpcnR1YWwga2VybmVsIG1lbW9yeSBsYXlvdXQ6XG4iCiAJCSIgICAgZml4bWFwICA6IDB4JTA4bHggLSAweCUwOGx4ICAgKCU0bGQga0IpXG4iCiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KQEAgLTY1NSw3ICs5ODEsNiBAQAogI2VuZGlmCiAJQlVHX09OKFZNQUxMT0NfU1RBUlQJCQkJPiBWTUFMTE9DX0VORCk7CiAJQlVHX09OKCh1bnNpZ25lZCBsb25nKWhpZ2hfbWVtb3J5CQk+IFZNQUxMT0NfU1RBUlQpOwotI2VuZGlmIC8qIGRvdWJsZS1zYW5pdHktY2hlY2sgcGFyYW5vaWEgKi8KIAogCWlmIChib290X2NwdV9kYXRhLndwX3dvcmtzX29rIDwgMCkKIAkJdGVzdF93cF9iaXQoKTsKQEAgLTcxMCw2ICsxMDM1LDggQEAKIAl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gUEZOX0FMSUdOKF90ZXh0KTsKIAl1bnNpZ25lZCBsb25nIHNpemUgPSBQRk5fQUxJR04oX2V0ZXh0KSAtIHN0YXJ0OwogCisjaWZuZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCS8qIER5bmFtaWMgdHJhY2luZyBtb2RpZmllcyB0aGUga2VybmVsIHRleHQgc2VjdGlvbiAqLwogCXNldF9wYWdlc19ybyh2aXJ0X3RvX3BhZ2Uoc3RhcnQpLCBzaXplID4+IFBBR0VfU0hJRlQpOwogCXByaW50ayhLRVJOX0lORk8gIldyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCB0ZXh0OiAlbHVrXG4iLAogCQlzaXplID4+IDEwKTsKQEAgLTcyMiw2ICsxMDQ5LDggQEAKIAlwcmludGsoS0VSTl9JTkZPICJUZXN0aW5nIENQQTogd3JpdGUgcHJvdGVjdGluZyBhZ2FpblxuIik7CiAJc2V0X3BhZ2VzX3JvKHZpcnRfdG9fcGFnZShzdGFydCksIHNpemU+PlBBR0VfU0hJRlQpOwogI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisKIAlzdGFydCArPSBzaXplOwogCXNpemUgPSAodW5zaWduZWQgbG9uZylfX2VuZF9yb2RhdGEgLSBzdGFydDsKIAlzZXRfcGFnZXNfcm8odmlydF90b19wYWdlKHN0YXJ0KSwgc2l6ZSA+PiBQQUdFX1NISUZUKTsKQEAgLTc4NCwzICsxMTEzLDkgQEAKIAlmcmVlX2luaXRfcGFnZXMoImluaXRyZCBtZW1vcnkiLCBzdGFydCwgZW5kKTsKIH0KICNlbmRpZgorCitpbnQgX19pbml0IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBsZW4sCisJCQkJICAgaW50IGZsYWdzKQoreworCXJldHVybiByZXNlcnZlX2Jvb3RtZW0ocGh5cywgbGVuLCBmbGFncyk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9pbml0XzY0LmMgYi9hcmNoL3g4Ni9tbS9pbml0XzY0LmMKaW5kZXggODE5ZGFkOS4uMjdkZTI0MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW5pdF82NC5jCisrKyBiL2FyY2gveDg2L21tL2luaXRfNjQuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CkBAIC00Nyw2ICs0OCwxNCBAQAogI2luY2x1ZGUgPGFzbS9udW1hLmg+CiAjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KIAorLyoKKyAqIGVuZF9wZm4gb25seSBpbmNsdWRlcyBSQU0sIHdoaWxlIG1heF9wZm5fbWFwcGVkIGluY2x1ZGVzIGFsbCBlODIwIGVudHJpZXMuCisgKiBUaGUgZGlyZWN0IG1hcHBpbmcgZXh0ZW5kcyB0byBtYXhfcGZuX21hcHBlZCwgc28gdGhhdCB3ZSBjYW4gZGlyZWN0bHkgYWNjZXNzCisgKiBhcGVydHVyZXMsIEFDUEkgYW5kIG90aGVyIHRhYmxlcyB3aXRob3V0IGhhdmluZyB0byBwbGF5IHdpdGggZml4bWFwcy4KKyAqLwordW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbl9tYXBwZWQ7Cit1bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOworCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBkbWFfcmVzZXJ2ZSBfX2luaXRkYXRhOwogCiBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgbW11X2dhdGhlciwgbW11X2dhdGhlcnMpOwpAQCAtMTM1LDI2ICsxNDQsMTcgQEAKIAlyZXR1cm4gcHRyOwogfQogCi1zdGF0aWMgX19pbml0IHZvaWQKLXNldF9wdGVfcGh5cyh1bnNpZ25lZCBsb25nIHZhZGRyLCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IHByb3QpCit2b2lkCitzZXRfcHRlX3ZhZGRyX3B1ZChwdWRfdCAqcHVkX3BhZ2UsIHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IG5ld19wdGUpCiB7Ci0JcGdkX3QgKnBnZDsKIAlwdWRfdCAqcHVkOwogCXBtZF90ICpwbWQ7Ci0JcHRlX3QgKnB0ZSwgbmV3X3B0ZTsKKwlwdGVfdCAqcHRlOwogCi0JcHJfZGVidWcoInNldF9wdGVfcGh5cyAlbHggdG8gJWx4XG4iLCB2YWRkciwgcGh5cyk7Ci0KLQlwZ2QgPSBwZ2Rfb2Zmc2V0X2sodmFkZHIpOwotCWlmIChwZ2Rfbm9uZSgqcGdkKSkgewotCQlwcmludGsoS0VSTl9FUlIKLQkJCSJQR0QgRklYTUFQIE1JU1NJTkcsIGl0IHNob3VsZCBiZSBzZXR1cCBpbiBoZWFkLlMhXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgdmFkZHIpOworCXB1ZCA9IHB1ZF9wYWdlICsgcHVkX2luZGV4KHZhZGRyKTsKIAlpZiAocHVkX25vbmUoKnB1ZCkpIHsKIAkJcG1kID0gKHBtZF90ICopIHNwcF9nZXRwYWdlKCk7Ci0JCXNldF9wdWQocHVkLCBfX3B1ZChfX3BhKHBtZCkgfCBfS0VSTlBHX1RBQkxFIHwgX1BBR0VfVVNFUikpOworCQlwdWRfcG9wdWxhdGUoJmluaXRfbW0sIHB1ZCwgcG1kKTsKIAkJaWYgKHBtZCAhPSBwbWRfb2Zmc2V0KHB1ZCwgMCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiUEFHRVRBQkxFIEJVRyAjMDEhICVwIDwtPiAlcFxuIiwKIAkJCQlwbWQsIHBtZF9vZmZzZXQocHVkLCAwKSk7CkBAIC0xNjQsMTMgKzE2NCwxMiBAQAogCXBtZCA9IHBtZF9vZmZzZXQocHVkLCB2YWRkcik7CiAJaWYgKHBtZF9ub25lKCpwbWQpKSB7CiAJCXB0ZSA9IChwdGVfdCAqKSBzcHBfZ2V0cGFnZSgpOwotCQlzZXRfcG1kKHBtZCwgX19wbWQoX19wYShwdGUpIHwgX0tFUk5QR19UQUJMRSB8IF9QQUdFX1VTRVIpKTsKKwkJcG1kX3BvcHVsYXRlX2tlcm5lbCgmaW5pdF9tbSwgcG1kLCBwdGUpOwogCQlpZiAocHRlICE9IHB0ZV9vZmZzZXRfa2VybmVsKHBtZCwgMCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiUEFHRVRBQkxFIEJVRyAjMDIhXG4iKTsKIAkJCXJldHVybjsKIAkJfQogCX0KLQluZXdfcHRlID0gcGZuX3B0ZShwaHlzID4+IFBBR0VfU0hJRlQsIHByb3QpOwogCiAJcHRlID0gcHRlX29mZnNldF9rZXJuZWwocG1kLCB2YWRkcik7CiAJaWYgKCFwdGVfbm9uZSgqcHRlKSAmJiBwdGVfdmFsKG5ld19wdGUpICYmCkBAIC0xODUsNiArMTg0LDY0IEBACiAJX19mbHVzaF90bGJfb25lKHZhZGRyKTsKIH0KIAordm9pZAorc2V0X3B0ZV92YWRkcih1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBwdGV2YWwpCit7CisJcGdkX3QgKnBnZDsKKwlwdWRfdCAqcHVkX3BhZ2U7CisKKwlwcl9kZWJ1Zygic2V0X3B0ZV92YWRkciAlbHggdG8gJWx4XG4iLCB2YWRkciwgbmF0aXZlX3B0ZV92YWwocHRldmFsKSk7CisKKwlwZ2QgPSBwZ2Rfb2Zmc2V0X2sodmFkZHIpOworCWlmIChwZ2Rfbm9uZSgqcGdkKSkgeworCQlwcmludGsoS0VSTl9FUlIKKwkJCSJQR0QgRklYTUFQIE1JU1NJTkcsIGl0IHNob3VsZCBiZSBzZXR1cCBpbiBoZWFkLlMhXG4iKTsKKwkJcmV0dXJuOworCX0KKwlwdWRfcGFnZSA9IChwdWRfdCopcGdkX3BhZ2VfdmFkZHIoKnBnZCk7CisJc2V0X3B0ZV92YWRkcl9wdWQocHVkX3BhZ2UsIHZhZGRyLCBwdGV2YWwpOworfQorCisvKgorICogQ3JlYXRlIGxhcmdlIHBhZ2UgdGFibGUgbWFwcGluZ3MgZm9yIGEgcmFuZ2Ugb2YgcGh5c2ljYWwgYWRkcmVzc2VzLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX19pbml0X2V4dHJhX21hcHBpbmcodW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQlwZ3Byb3RfdCBwcm90KQoreworCXBnZF90ICpwZ2Q7CisJcHVkX3QgKnB1ZDsKKwlwbWRfdCAqcG1kOworCisJQlVHX09OKChwaHlzICYgflBNRF9NQVNLKSB8fCAoc2l6ZSAmIH5QTURfTUFTSykpOworCWZvciAoOyBzaXplOyBwaHlzICs9IFBNRF9TSVpFLCBzaXplIC09IFBNRF9TSVpFKSB7CisJCXBnZCA9IHBnZF9vZmZzZXRfaygodW5zaWduZWQgbG9uZylfX3ZhKHBoeXMpKTsKKwkJaWYgKHBnZF9ub25lKCpwZ2QpKSB7CisJCQlwdWQgPSAocHVkX3QgKikgc3BwX2dldHBhZ2UoKTsKKwkJCXNldF9wZ2QocGdkLCBfX3BnZChfX3BhKHB1ZCkgfCBfS0VSTlBHX1RBQkxFIHwKKwkJCQkJCV9QQUdFX1VTRVIpKTsKKwkJfQorCQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgKHVuc2lnbmVkIGxvbmcpX192YShwaHlzKSk7CisJCWlmIChwdWRfbm9uZSgqcHVkKSkgeworCQkJcG1kID0gKHBtZF90ICopIHNwcF9nZXRwYWdlKCk7CisJCQlzZXRfcHVkKHB1ZCwgX19wdWQoX19wYShwbWQpIHwgX0tFUk5QR19UQUJMRSB8CisJCQkJCQlfUEFHRV9VU0VSKSk7CisJCX0KKwkJcG1kID0gcG1kX29mZnNldChwdWQsIHBoeXMpOworCQlCVUdfT04oIXBtZF9ub25lKCpwbWQpKTsKKwkJc2V0X3BtZChwbWQsIF9fcG1kKHBoeXMgfCBwZ3Byb3RfdmFsKHByb3QpKSk7CisJfQorfQorCit2b2lkIF9faW5pdCBpbml0X2V4dHJhX21hcHBpbmdfd2IodW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJX19pbml0X2V4dHJhX21hcHBpbmcocGh5cywgc2l6ZSwgUEFHRV9LRVJORUxfTEFSR0UpOworfQorCit2b2lkIF9faW5pdCBpbml0X2V4dHJhX21hcHBpbmdfdWModW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJX19pbml0X2V4dHJhX21hcHBpbmcocGh5cywgc2l6ZSwgUEFHRV9LRVJORUxfTEFSR0VfTk9DQUNIRSk7Cit9CisKIC8qCiAgKiBUaGUgaGVhZC5TIGNvZGUgc2V0cyB1cCB0aGUga2VybmVsIGhpZ2ggbWFwcGluZzoKICAqCkBAIC0yMTMsMjAgKzI3MCw5IEBACiAJfQogfQogCi0vKiBOT1RFOiB0aGlzIGlzIG1lYW50IHRvIGJlIHJ1biBvbmx5IGF0IGJvb3QgKi8KLXZvaWQgX19pbml0IF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgcHJvdCkKLXsKLQl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSBfX2ZpeF90b192aXJ0KGlkeCk7Ci0KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykgewotCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgX19zZXRfZml4bWFwXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlzZXRfcHRlX3BoeXMoYWRkcmVzcywgcGh5cywgcHJvdCk7Ci19Ci0KIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgdGFibGVfc3RhcnQ7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXRkYXRhIHRhYmxlX2VuZDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdGRhdGEgdGFibGVfdG9wOwogCiBzdGF0aWMgX19tZW1pbml0IHZvaWQgKmFsbG9jX2xvd19wYWdlKHVuc2lnbmVkIGxvbmcgKnBoeXMpCiB7CkBAIC0yNDAsNyArMjg2LDcgQEAKIAkJcmV0dXJuIGFkcjsKIAl9CiAKLQlpZiAocGZuID49IGVuZF9wZm4pCisJaWYgKHBmbiA+PSB0YWJsZV90b3ApCiAJCXBhbmljKCJhbGxvY19sb3dfcGFnZTogcmFuIG91dCBvZiBtZW1vcnkiKTsKIAogCWFkciA9IGVhcmx5X2lvcmVtYXAocGZuICogUEFHRV9TSVpFLCBQQUdFX1NJWkUpOwpAQCAtMjU3LDY1ICszMDMsNjEgQEAKIAllYXJseV9pb3VubWFwKGFkciwgUEFHRV9TSVpFKTsKIH0KIAotLyogTXVzdCBydW4gYmVmb3JlIHphcF9sb3dfbWFwcGluZ3MgKi8KLV9fbWVtaW5pdCB2b2lkICplYXJseV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQorc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0CitwaHlzX3B0ZV9pbml0KHB0ZV90ICpwdGVfcGFnZSwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQlwbWRfdCAqcG1kLCAqbGFzdF9wbWQ7Ci0JdW5zaWduZWQgbG9uZyB2YWRkcjsKLQlpbnQgaSwgcG1kczsKKwl1bnNpZ25lZCBwYWdlcyA9IDA7CisJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyID0gZW5kOworCWludCBpOwogCi0JcG1kcyA9ICgoYWRkciAmIH5QTURfTUFTSykgKyBzaXplICsgflBNRF9NQVNLKSAvIFBNRF9TSVpFOwotCXZhZGRyID0gX19TVEFSVF9LRVJORUxfbWFwOwotCXBtZCA9IGxldmVsMl9rZXJuZWxfcGd0OwotCWxhc3RfcG1kID0gbGV2ZWwyX2tlcm5lbF9wZ3QgKyBQVFJTX1BFUl9QTUQgLSAxOworCXB0ZV90ICpwdGUgPSBwdGVfcGFnZSArIHB0ZV9pbmRleChhZGRyKTsKIAotCWZvciAoOyBwbWQgPD0gbGFzdF9wbWQ7IHBtZCsrLCB2YWRkciArPSBQTURfU0laRSkgewotCQlmb3IgKGkgPSAwOyBpIDwgcG1kczsgaSsrKSB7Ci0JCQlpZiAocG1kX3ByZXNlbnQocG1kW2ldKSkKLQkJCQlnb3RvIGNvbnRpbnVlX291dGVyX2xvb3A7CisJZm9yKGkgPSBwdGVfaW5kZXgoYWRkcik7IGkgPCBQVFJTX1BFUl9QVEU7IGkrKywgYWRkciArPSBQQUdFX1NJWkUsIHB0ZSsrKSB7CisKKwkJaWYgKGFkZHIgPj0gZW5kKSB7CisJCQlpZiAoIWFmdGVyX2Jvb3RtZW0pIHsKKwkJCQlmb3IoOyBpIDwgUFRSU19QRVJfUFRFOyBpKyssIHB0ZSsrKQorCQkJCQlzZXRfcHRlKHB0ZSwgX19wdGUoMCkpOworCQkJfQorCQkJYnJlYWs7CiAJCX0KLQkJdmFkZHIgKz0gYWRkciAmIH5QTURfTUFTSzsKLQkJYWRkciAmPSBQTURfTUFTSzsKIAotCQlmb3IgKGkgPSAwOyBpIDwgcG1kczsgaSsrLCBhZGRyICs9IFBNRF9TSVpFKQotCQkJc2V0X3BtZChwbWQraSwgX19wbWQoYWRkciB8IF9fUEFHRV9LRVJORUxfTEFSR0VfRVhFQykpOwotCQlfX2ZsdXNoX3RsYl9hbGwoKTsKKwkJaWYgKHB0ZV92YWwoKnB0ZSkpCisJCQljb250aW51ZTsKIAotCQlyZXR1cm4gKHZvaWQgKil2YWRkcjsKLWNvbnRpbnVlX291dGVyX2xvb3A6Ci0JCTsKKwkJaWYgKDApCisJCQlwcmludGsoIiAgIHB0ZT0lcCBhZGRyPSVseCBwdGU9JTAxNmx4XG4iLAorCQkJICAgICAgIHB0ZSwgYWRkciwgcGZuX3B0ZShhZGRyID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMKS5wdGUpOworCQlzZXRfcHRlKHB0ZSwgcGZuX3B0ZShhZGRyID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMKSk7CisJCWxhc3RfbWFwX2FkZHIgPSAoYWRkciAmIFBBR0VfTUFTSykgKyBQQUdFX1NJWkU7CisJCXBhZ2VzKys7CiAJfQotCXByaW50ayhLRVJOX0VSUiAiZWFybHlfaW9yZW1hcCgweCVseCwgJWx1KSBmYWlsZWRcbiIsIGFkZHIsIHNpemUpOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzRLLCBwYWdlcyk7CiAKLQlyZXR1cm4gTlVMTDsKLX0KLQotLyoKLSAqIFRvIGF2b2lkIHZpcnR1YWwgYWxpYXNlcyBsYXRlcjoKLSAqLwotX19tZW1pbml0IHZvaWQgZWFybHlfaW91bm1hcCh2b2lkICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyB2YWRkcjsKLQlwbWRfdCAqcG1kOwotCWludCBpLCBwbWRzOwotCi0JdmFkZHIgPSAodW5zaWduZWQgbG9uZylhZGRyOwotCXBtZHMgPSAoKHZhZGRyICYgflBNRF9NQVNLKSArIHNpemUgKyB+UE1EX01BU0spIC8gUE1EX1NJWkU7Ci0JcG1kID0gbGV2ZWwyX2tlcm5lbF9wZ3QgKyBwbWRfaW5kZXgodmFkZHIpOwotCi0JZm9yIChpID0gMDsgaSA8IHBtZHM7IGkrKykKLQkJcG1kX2NsZWFyKHBtZCArIGkpOwotCi0JX19mbHVzaF90bGJfYWxsKCk7CisJcmV0dXJuIGxhc3RfbWFwX2FkZHI7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAotcGh5c19wbWRfaW5pdChwbWRfdCAqcG1kX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQpCitwaHlzX3B0ZV91cGRhdGUocG1kX3QgKnBtZCwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCkKIHsKKwlwdGVfdCAqcHRlID0gKHB0ZV90ICopcG1kX3BhZ2VfdmFkZHIoKnBtZCk7CisKKwlyZXR1cm4gcGh5c19wdGVfaW5pdChwdGUsIGFkZHJlc3MsIGVuZCk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAorcGh5c19wbWRfaW5pdChwbWRfdCAqcG1kX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQsCisJCQkgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKK3sKKwl1bnNpZ25lZCBsb25nIHBhZ2VzID0gMDsKKwl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHIgPSBlbmQ7CisKIAlpbnQgaSA9IHBtZF9pbmRleChhZGRyZXNzKTsKIAogCWZvciAoOyBpIDwgUFRSU19QRVJfUE1EOyBpKyssIGFkZHJlc3MgKz0gUE1EX1NJWkUpIHsKKwkJdW5zaWduZWQgbG9uZyBwdGVfcGh5czsKIAkJcG1kX3QgKnBtZCA9IHBtZF9wYWdlICsgcG1kX2luZGV4KGFkZHJlc3MpOworCQlwdGVfdCAqcHRlOwogCiAJCWlmIChhZGRyZXNzID49IGVuZCkgewogCQkJaWYgKCFhZnRlcl9ib290bWVtKSB7CkBAIC0zMjUsMzEgKzM2Nyw1MCBAQAogCQkJYnJlYWs7CiAJCX0KIAotCQlpZiAocG1kX3ZhbCgqcG1kKSkKKwkJaWYgKHBtZF92YWwoKnBtZCkpIHsKKwkJCWlmICghcG1kX2xhcmdlKCpwbWQpKQorCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B0ZV91cGRhdGUocG1kLCBhZGRyZXNzLAorCQkJCQkJCQkgZW5kKTsKIAkJCWNvbnRpbnVlOworCQl9CiAKLQkJc2V0X3B0ZSgocHRlX3QgKilwbWQsCi0JCQlwZm5fcHRlKGFkZHJlc3MgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUxfTEFSR0UpKTsKKwkJaWYgKHBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzJNKSkgeworCQkJcGFnZXMrKzsKKwkJCXNldF9wdGUoKHB0ZV90ICopcG1kLAorCQkJCXBmbl9wdGUoYWRkcmVzcyA+PiBQQUdFX1NISUZULCBQQUdFX0tFUk5FTF9MQVJHRSkpOworCQkJbGFzdF9tYXBfYWRkciA9IChhZGRyZXNzICYgUE1EX01BU0spICsgUE1EX1NJWkU7CisJCQljb250aW51ZTsKKwkJfQorCisJCXB0ZSA9IGFsbG9jX2xvd19wYWdlKCZwdGVfcGh5cyk7CisJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B0ZV9pbml0KHB0ZSwgYWRkcmVzcywgZW5kKTsKKwkJdW5tYXBfbG93X3BhZ2UocHRlKTsKKworCQlwbWRfcG9wdWxhdGVfa2VybmVsKCZpbml0X21tLCBwbWQsIF9fdmEocHRlX3BoeXMpKTsKIAl9Ci0JcmV0dXJuIGFkZHJlc3M7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfMk0sIHBhZ2VzKTsKKwlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0Ci1waHlzX3BtZF91cGRhdGUocHVkX3QgKnB1ZCwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCkKK3BoeXNfcG1kX3VwZGF0ZShwdWRfdCAqcHVkLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHVuc2lnbmVkIGxvbmcgZW5kLAorCQkJIHVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2spCiB7CiAJcG1kX3QgKnBtZCA9IHBtZF9vZmZzZXQocHVkLCAwKTsKIAl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHI7CiAKIAlzcGluX2xvY2soJmluaXRfbW0ucGFnZV90YWJsZV9sb2NrKTsKLQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfaW5pdChwbWQsIGFkZHJlc3MsIGVuZCk7CisJbGFzdF9tYXBfYWRkciA9IHBoeXNfcG1kX2luaXQocG1kLCBhZGRyZXNzLCBlbmQsIHBhZ2Vfc2l6ZV9tYXNrKTsKIAlzcGluX3VubG9jaygmaW5pdF9tbS5wYWdlX3RhYmxlX2xvY2spOwogCV9fZmx1c2hfdGxiX2FsbCgpOwogCXJldHVybiBsYXN0X21hcF9hZGRyOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXQKLXBoeXNfcHVkX2luaXQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kKQorcGh5c19wdWRfaW5pdChwdWRfdCAqcHVkX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQsCisJCQkgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKIHsKKwl1bnNpZ25lZCBsb25nIHBhZ2VzID0gMDsKIAl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHIgPSBlbmQ7CiAJaW50IGkgPSBwdWRfaW5kZXgoYWRkcik7CiAKQEAgLTM2OSwxMSArNDMwLDEzIEBACiAKIAkJaWYgKHB1ZF92YWwoKnB1ZCkpIHsKIAkJCWlmICghcHVkX2xhcmdlKCpwdWQpKQotCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF91cGRhdGUocHVkLCBhZGRyLCBlbmQpOworCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF91cGRhdGUocHVkLCBhZGRyLCBlbmQsCisJCQkJCQkJIHBhZ2Vfc2l6ZV9tYXNrKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKGRpcmVjdF9nYnBhZ2VzKSB7CisJCWlmIChwYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8xRykpIHsKKwkJCXBhZ2VzKys7CiAJCQlzZXRfcHRlKChwdGVfdCAqKXB1ZCwKIAkJCQlwZm5fcHRlKGFkZHIgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUxfTEFSR0UpKTsKIAkJCWxhc3RfbWFwX2FkZHIgPSAoYWRkciAmIFBVRF9NQVNLKSArIFBVRF9TSVpFOwpAQCAtMzgzLDI3ICs0NDYsNTAgQEAKIAkJcG1kID0gYWxsb2NfbG93X3BhZ2UoJnBtZF9waHlzKTsKIAogCQlzcGluX2xvY2soJmluaXRfbW0ucGFnZV90YWJsZV9sb2NrKTsKLQkJc2V0X3B1ZChwdWQsIF9fcHVkKHBtZF9waHlzIHwgX0tFUk5QR19UQUJMRSkpOwotCQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfaW5pdChwbWQsIGFkZHIsIGVuZCk7CisJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF9pbml0KHBtZCwgYWRkciwgZW5kLCBwYWdlX3NpemVfbWFzayk7CisJCXVubWFwX2xvd19wYWdlKHBtZCk7CisJCXB1ZF9wb3B1bGF0ZSgmaW5pdF9tbSwgcHVkLCBfX3ZhKHBtZF9waHlzKSk7CiAJCXNwaW5fdW5sb2NrKCZpbml0X21tLnBhZ2VfdGFibGVfbG9jayk7CiAKLQkJdW5tYXBfbG93X3BhZ2UocG1kKTsKIAl9CiAJX19mbHVzaF90bGJfYWxsKCk7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfMUcsIHBhZ2VzKTsKIAotCXJldHVybiBsYXN0X21hcF9hZGRyID4+IFBBR0VfU0hJRlQ7CisJcmV0dXJuIGxhc3RfbWFwX2FkZHI7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAorcGh5c19wdWRfdXBkYXRlKHBnZF90ICpwZ2QsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQsCisJCSB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQoreworCXB1ZF90ICpwdWQ7CisKKwlwdWQgPSAocHVkX3QgKilwZ2RfcGFnZV92YWRkcigqcGdkKTsKKworCXJldHVybiBwaHlzX3B1ZF9pbml0KHB1ZCwgYWRkciwgZW5kLCBwYWdlX3NpemVfbWFzayk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBmaW5kX2Vhcmx5X3RhYmxlX3NwYWNlKHVuc2lnbmVkIGxvbmcgZW5kKQogewotCXVuc2lnbmVkIGxvbmcgcHVkcywgcG1kcywgdGFibGVzLCBzdGFydDsKKwl1bnNpZ25lZCBsb25nIHB1ZHMsIHBtZHMsIHB0ZXMsIHRhYmxlcywgc3RhcnQ7CiAKIAlwdWRzID0gKGVuZCArIFBVRF9TSVpFIC0gMSkgPj4gUFVEX1NISUZUOwogCXRhYmxlcyA9IHJvdW5kX3VwKHB1ZHMgKiBzaXplb2YocHVkX3QpLCBQQUdFX1NJWkUpOwotCWlmICghZGlyZWN0X2dicGFnZXMpIHsKKwlpZiAoZGlyZWN0X2dicGFnZXMpIHsKKwkJdW5zaWduZWQgbG9uZyBleHRyYTsKKwkJZXh0cmEgPSBlbmQgLSAoKGVuZD4+UFVEX1NISUZUKSA8PCBQVURfU0hJRlQpOworCQlwbWRzID0gKGV4dHJhICsgUE1EX1NJWkUgLSAxKSA+PiBQTURfU0hJRlQ7CisJfSBlbHNlCiAJCXBtZHMgPSAoZW5kICsgUE1EX1NJWkUgLSAxKSA+PiBQTURfU0hJRlQ7Ci0JCXRhYmxlcyArPSByb3VuZF91cChwbWRzICogc2l6ZW9mKHBtZF90KSwgUEFHRV9TSVpFKTsKLQl9CisJdGFibGVzICs9IHJvdW5kX3VwKHBtZHMgKiBzaXplb2YocG1kX3QpLCBQQUdFX1NJWkUpOworCisJaWYgKGNwdV9oYXNfcHNlKSB7CisJCXVuc2lnbmVkIGxvbmcgZXh0cmE7CisJCWV4dHJhID0gZW5kIC0gKChlbmQ+PlBNRF9TSElGVCkgPDwgUE1EX1NISUZUKTsKKwkJcHRlcyA9IChleHRyYSArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisJfSBlbHNlCisJCXB0ZXMgPSAoZW5kICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwl0YWJsZXMgKz0gcm91bmRfdXAocHRlcyAqIHNpemVvZihwdGVfdCksIFBBR0VfU0laRSk7CiAKIAkvKgogCSAqIFJFRC1QRU4gcHV0dGluZyBwYWdlIHRhYmxlcyBvbmx5IG9uIG5vZGUgMCBjb3VsZApAQCAtNDE3LDEwICs1MDMsMTAgQEAKIAogCXRhYmxlX3N0YXJ0ID4+PSBQQUdFX1NISUZUOwogCXRhYmxlX2VuZCA9IHRhYmxlX3N0YXJ0OworCXRhYmxlX3RvcCA9IHRhYmxlX3N0YXJ0ICsgKHRhYmxlcyA+PiBQQUdFX1NISUZUKTsKIAotCWVhcmx5X3ByaW50aygia2VybmVsIGRpcmVjdCBtYXBwaW5nIHRhYmxlcyB1cCB0byAlbHggQCAlbHgtJWx4XG4iLAotCQllbmQsIHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQsCi0JCSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZUKSArIHRhYmxlcyk7CisJcHJpbnRrKEtFUk5fREVCVUcgImtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gJWx4IEAgJWx4LSVseFxuIiwKKwkJZW5kLCB0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULCB0YWJsZV90b3AgPDwgUEFHRV9TSElGVCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2dicGFnZXModm9pZCkKQEAgLTQzMSw3ICs1MTcsNyBAQAogCQlkaXJlY3RfZ2JwYWdlcyA9IDA7CiB9CiAKLSNpZmRlZiBDT05GSUdfTUVNVEVTVF9CT09UUEFSQU0KKyNpZmRlZiBDT05GSUdfTUVNVEVTVAogCiBzdGF0aWMgdm9pZCBfX2luaXQgbWVtdGVzdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKIAkJCQkgdW5zaWduZWQgcGF0dGVybikKQEAgLTQ5Myw3ICs1NzksOCBAQAogCiB9CiAKLXN0YXRpYyBpbnQgbWVtdGVzdF9wYXR0ZXJuIF9faW5pdGRhdGEgPSBDT05GSUdfTUVNVEVTVF9CT09UUEFSQU1fVkFMVUU7CisvKiBkZWZhdWx0IGlzIGRpc2FibGVkICovCitzdGF0aWMgaW50IG1lbXRlc3RfcGF0dGVybiBfX2luaXRkYXRhOwogCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW10ZXN0KGNoYXIgKmFyZykKIHsKQEAgLTU0MiwxNSArNjI5LDg1IEBACiB9CiAjZW5kaWYKIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IGtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQodW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgZW5kLAorCQkJCQkJdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKK3sKKworCXVuc2lnbmVkIGxvbmcgbmV4dCwgbGFzdF9tYXBfYWRkciA9IGVuZDsKKworCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpX192YShzdGFydCk7CisJZW5kID0gKHVuc2lnbmVkIGxvbmcpX192YShlbmQpOworCisJZm9yICg7IHN0YXJ0IDwgZW5kOyBzdGFydCA9IG5leHQpIHsKKwkJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfayhzdGFydCk7CisJCXVuc2lnbmVkIGxvbmcgcHVkX3BoeXM7CisJCXB1ZF90ICpwdWQ7CisKKwkJbmV4dCA9IHN0YXJ0ICsgUEdESVJfU0laRTsKKwkJaWYgKG5leHQgPiBlbmQpCisJCQluZXh0ID0gZW5kOworCisJCWlmIChwZ2RfdmFsKCpwZ2QpKSB7CisJCQlsYXN0X21hcF9hZGRyID0gcGh5c19wdWRfdXBkYXRlKHBnZCwgX19wYShzdGFydCksCisJCQkJCQkgX19wYShlbmQpLCBwYWdlX3NpemVfbWFzayk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChhZnRlcl9ib290bWVtKQorCQkJcHVkID0gcHVkX29mZnNldChwZ2QsIHN0YXJ0ICYgUEdESVJfTUFTSyk7CisJCWVsc2UKKwkJCXB1ZCA9IGFsbG9jX2xvd19wYWdlKCZwdWRfcGh5cyk7CisKKwkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcHVkX2luaXQocHVkLCBfX3BhKHN0YXJ0KSwgX19wYShuZXh0KSwKKwkJCQkJCSBwYWdlX3NpemVfbWFzayk7CisJCXVubWFwX2xvd19wYWdlKHB1ZCk7CisJCXBnZF9wb3B1bGF0ZSgmaW5pdF9tbSwgcGdkX29mZnNldF9rKHN0YXJ0KSwKKwkJCSAgICAgX192YShwdWRfcGh5cykpOworCX0KKworCXJldHVybiBsYXN0X21hcF9hZGRyOworfQorCitzdHJ1Y3QgbWFwX3JhbmdlIHsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0OworCXVuc2lnbmVkIGxvbmcgZW5kOworCXVuc2lnbmVkIHBhZ2Vfc2l6ZV9tYXNrOworfTsKKworI2RlZmluZSBOUl9SQU5HRV9NUiA1CisKK3N0YXRpYyBpbnQgc2F2ZV9tcihzdHJ1Y3QgbWFwX3JhbmdlICptciwgaW50IG5yX3JhbmdlLAorCQkgICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuLAorCQkgICB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQoreworCisJaWYgKHN0YXJ0X3BmbiA8IGVuZF9wZm4pIHsKKwkJaWYgKG5yX3JhbmdlID49IE5SX1JBTkdFX01SKQorCQkJcGFuaWMoInJ1biBvdXQgb2YgcmFuZ2UgZm9yIGluaXRfbWVtb3J5X21hcHBpbmdcbiIpOworCQltcltucl9yYW5nZV0uc3RhcnQgPSBzdGFydF9wZm48PFBBR0VfU0hJRlQ7CisJCW1yW25yX3JhbmdlXS5lbmQgICA9IGVuZF9wZm48PFBBR0VfU0hJRlQ7CisJCW1yW25yX3JhbmdlXS5wYWdlX3NpemVfbWFzayA9IHBhZ2Vfc2l6ZV9tYXNrOworCQlucl9yYW5nZSsrOworCX0KKworCXJldHVybiBucl9yYW5nZTsKK30KKwogLyoKICAqIFNldHVwIHRoZSBkaXJlY3QgbWFwcGluZyBvZiB0aGUgcGh5c2ljYWwgbWVtb3J5IGF0IFBBR0VfT0ZGU0VULgogICogVGhpcyBydW5zIGJlZm9yZSBib290bWVtIGlzIGluaXRpYWxpemVkIGFuZCBnZXRzIHBhZ2VzIGRpcmVjdGx5IGZyb20KICAqIHRoZSBwaHlzaWNhbCBtZW1vcnkuIFRvIGFjY2VzcyB0aGVtIHRoZXkgYXJlIHRlbXBvcmFyaWx5IG1hcHBlZC4KICAqLwotdW5zaWduZWQgbG9uZyBfX2luaXRfcmVmb2sgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3Vuc2lnbmVkIGxvbmcgX19pbml0X3JlZm9rIGluaXRfbWVtb3J5X21hcHBpbmcodW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgZW5kKQogewotCXVuc2lnbmVkIGxvbmcgbmV4dCwgbGFzdF9tYXBfYWRkciA9IGVuZDsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BoeXMgPSBzdGFydCwgZW5kX3BoeXMgPSBlbmQ7CisJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyID0gMDsKKwl1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrID0gMDsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsKKworCXN0cnVjdCBtYXBfcmFuZ2UgbXJbTlJfUkFOR0VfTVJdOworCWludCBucl9yYW5nZSwgaTsKIAogCXByaW50ayhLRVJOX0lORk8gImluaXRfbWVtb3J5X21hcHBpbmdcbiIpOwogCkBAIC01NjEsNDggKzcxOCwxMTUgQEAKIAkgKiBtZW1vcnkgbWFwcGVkLiBVbmZvcnR1bmF0ZWx5IHRoaXMgaXMgZG9uZSBjdXJyZW50bHkgYmVmb3JlIHRoZQogCSAqIG5vZGVzIGFyZSBkaXNjb3ZlcmVkLgogCSAqLwotCWlmICghYWZ0ZXJfYm9vdG1lbSkgeworCWlmICghYWZ0ZXJfYm9vdG1lbSkKIAkJaW5pdF9nYnBhZ2VzKCk7CisKKwlpZiAoZGlyZWN0X2dicGFnZXMpCisJCXBhZ2Vfc2l6ZV9tYXNrIHw9IDEgPDwgUEdfTEVWRUxfMUc7CisJaWYgKGNwdV9oYXNfcHNlKQorCQlwYWdlX3NpemVfbWFzayB8PSAxIDw8IFBHX0xFVkVMXzJNOworCisJbWVtc2V0KG1yLCAwLCBzaXplb2YobXIpKTsKKwlucl9yYW5nZSA9IDA7CisKKwkvKiBoZWFkIGlmIG5vdCBiaWcgcGFnZSBhbGlnbm1lbnQgPyovCisJc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKKwllbmRfcGZuID0gKChzdGFydCArIChQTURfU0laRSAtIDEpKSA+PiBQTURfU0hJRlQpCisJCQk8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLCAwKTsKKworCS8qIGJpZyBwYWdlICgyTSkgcmFuZ2UqLworCXN0YXJ0X3BmbiA9ICgoc3RhcnQgKyAoUE1EX1NJWkUgLSAxKSk+PlBNRF9TSElGVCkKKwkJCSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJZW5kX3BmbiA9ICgoc3RhcnQgKyAoUFVEX1NJWkUgLSAxKSk+PlBVRF9TSElGVCkKKwkJCSA8PCAoUFVEX1NISUZUIC0gUEFHRV9TSElGVCk7CisJaWYgKGVuZF9wZm4gPiAoKGVuZD4+UFVEX1NISUZUKTw8KFBVRF9TSElGVCAtIFBBR0VfU0hJRlQpKSkKKwkJZW5kX3BmbiA9ICgoZW5kPj5QVURfU0hJRlQpPDwoUFVEX1NISUZUIC0gUEFHRV9TSElGVCkpOworCW5yX3JhbmdlID0gc2F2ZV9tcihtciwgbnJfcmFuZ2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJCXBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzJNKSk7CisKKwkvKiBiaWcgcGFnZSAoMUcpIHJhbmdlICovCisJc3RhcnRfcGZuID0gZW5kX3BmbjsKKwllbmRfcGZuID0gKGVuZD4+UFVEX1NISUZUKSA8PCAoUFVEX1NISUZUIC0gUEFHRV9TSElGVCk7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLAorCQkJCXBhZ2Vfc2l6ZV9tYXNrICYKKwkJCQkgKCgxPDxQR19MRVZFTF8yTSl8KDE8PFBHX0xFVkVMXzFHKSkpOworCisJLyogdGFpbCBpcyBub3QgYmlnIHBhZ2UgKDFHKSBhbGlnbm1lbnQgKi8KKwlzdGFydF9wZm4gPSBlbmRfcGZuOworCWVuZF9wZm4gPSAoZW5kPj5QTURfU0hJRlQpIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwlucl9yYW5nZSA9IHNhdmVfbXIobXIsIG5yX3JhbmdlLCBzdGFydF9wZm4sIGVuZF9wZm4sCisJCQlwYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8yTSkpOworCisJLyogdGFpbCBpcyBub3QgYmlnIHBhZ2UgKDJNKSBhbGlnbm1lbnQgKi8KKwlzdGFydF9wZm4gPSBlbmRfcGZuOworCWVuZF9wZm4gPSBlbmQ+PlBBR0VfU0hJRlQ7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLCAwKTsKKworCS8qIHRyeSB0byBtZXJnZSBzYW1lIHBhZ2Ugc2l6ZSBhbmQgY29udGludW91cyAqLworCWZvciAoaSA9IDA7IG5yX3JhbmdlID4gMSAmJiBpIDwgbnJfcmFuZ2UgLSAxOyBpKyspIHsKKwkJdW5zaWduZWQgbG9uZyBvbGRfc3RhcnQ7CisJCWlmIChtcltpXS5lbmQgIT0gbXJbaSsxXS5zdGFydCB8fAorCQkgICAgbXJbaV0ucGFnZV9zaXplX21hc2sgIT0gbXJbaSsxXS5wYWdlX3NpemVfbWFzaykKKwkJCWNvbnRpbnVlOworCQkvKiBtb3ZlIGl0ICovCisJCW9sZF9zdGFydCA9IG1yW2ldLnN0YXJ0OworCQltZW1tb3ZlKCZtcltpXSwgJm1yW2krMV0sCisJCQkgKG5yX3JhbmdlIC0gMSAtIGkpICogc2l6ZW9mIChzdHJ1Y3QgbWFwX3JhbmdlKSk7CisJCW1yW2ldLnN0YXJ0ID0gb2xkX3N0YXJ0OworCQlucl9yYW5nZS0tOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQlwcmludGsoS0VSTl9ERUJVRyAiICUwMTBseCAtICUwMTBseCBwYWdlICVzXG4iLAorCQkJCW1yW2ldLnN0YXJ0LCBtcltpXS5lbmQsCisJCQkobXJbaV0ucGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMUcpKT8iMUciOigKKwkJCSAobXJbaV0ucGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMk0pKT8iMk0iOiI0ayIpKTsKKworCWlmICghYWZ0ZXJfYm9vdG1lbSkKIAkJZmluZF9lYXJseV90YWJsZV9zcGFjZShlbmQpOwotCX0KIAotCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpX192YShzdGFydCk7Ci0JZW5kID0gKHVuc2lnbmVkIGxvbmcpX192YShlbmQpOwotCi0JZm9yICg7IHN0YXJ0IDwgZW5kOyBzdGFydCA9IG5leHQpIHsKLQkJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfayhzdGFydCk7Ci0JCXVuc2lnbmVkIGxvbmcgcHVkX3BoeXM7Ci0JCXB1ZF90ICpwdWQ7Ci0KLQkJaWYgKGFmdGVyX2Jvb3RtZW0pCi0JCQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgc3RhcnQgJiBQR0RJUl9NQVNLKTsKLQkJZWxzZQotCQkJcHVkID0gYWxsb2NfbG93X3BhZ2UoJnB1ZF9waHlzKTsKLQotCQluZXh0ID0gc3RhcnQgKyBQR0RJUl9TSVpFOwotCQlpZiAobmV4dCA+IGVuZCkKLQkJCW5leHQgPSBlbmQ7Ci0JCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B1ZF9pbml0KHB1ZCwgX19wYShzdGFydCksIF9fcGEobmV4dCkpOwotCQlpZiAoIWFmdGVyX2Jvb3RtZW0pCi0JCQlzZXRfcGdkKHBnZF9vZmZzZXRfayhzdGFydCksIG1rX2tlcm5lbF9wZ2QocHVkX3BoeXMpKTsKLQkJdW5tYXBfbG93X3BhZ2UocHVkKTsKLQl9CisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCWxhc3RfbWFwX2FkZHIgPSBrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KAorCQkJCQltcltpXS5zdGFydCwgbXJbaV0uZW5kLAorCQkJCQltcltpXS5wYWdlX3NpemVfbWFzayk7CiAKIAlpZiAoIWFmdGVyX2Jvb3RtZW0pCiAJCW1tdV9jcjRfZmVhdHVyZXMgPSByZWFkX2NyNCgpOwogCV9fZmx1c2hfdGxiX2FsbCgpOwogCi0JaWYgKCFhZnRlcl9ib290bWVtKQorCWlmICghYWZ0ZXJfYm9vdG1lbSAmJiB0YWJsZV9lbmQgPiB0YWJsZV9zdGFydCkKIAkJcmVzZXJ2ZV9lYXJseSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAogCQkJCSB0YWJsZV9lbmQgPDwgUEFHRV9TSElGVCwgIlBHVEFCTEUiKTsKIAotCWlmICghYWZ0ZXJfYm9vdG1lbSkKLQkJZWFybHlfbWVtdGVzdChzdGFydF9waHlzLCBlbmRfcGh5cyk7CisJcHJpbnRrKEtFUk5fSU5GTyAibGFzdF9tYXBfYWRkcjogJWx4IGVuZDogJWx4XG4iLAorCQkJIGxhc3RfbWFwX2FkZHIsIGVuZCk7CiAKLQlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKKwlpZiAoIWFmdGVyX2Jvb3RtZW0pCisJCWVhcmx5X21lbXRlc3Qoc3RhcnQsIGVuZCk7CisKKwlyZXR1cm4gbGFzdF9tYXBfYWRkciA+PiBQQUdFX1NISUZUOwogfQogCiAjaWZuZGVmIENPTkZJR19OVU1BCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKK3sKKwl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKKworCWJvb3RtYXBfc2l6ZSA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhlbmRfcGZuKTw8UEFHRV9TSElGVDsKKwlib290bWFwID0gZmluZF9lODIwX2FyZWEoMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCwgYm9vdG1hcF9zaXplLAorCQkJCSBQQUdFX1NJWkUpOworCWlmIChib290bWFwID09IC0xTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIGJvb3RtZW0gbWFwIG9mIHNpemUgJWxkXG4iLCBib290bWFwX3NpemUpOworCS8qIGRvbid0IHRvdWNoIG1pbl9sb3dfcGZuICovCisJYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtX25vZGUoTk9ERV9EQVRBKDApLCBib290bWFwID4+IFBBR0VfU0hJRlQsCisJCQkJCSAwLCBlbmRfcGZuKTsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CisJZnJlZV9ib290bWVtX3dpdGhfYWN0aXZlX3JlZ2lvbnMoMCwgZW5kX3Bmbik7CisJZWFybHlfcmVzX3RvX2Jvb3RtZW0oMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCk7CisJcmVzZXJ2ZV9ib290bWVtKGJvb3RtYXAsIGJvb3RtYXBfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKK30KKwogdm9pZCBfX2luaXQgcGFnaW5nX2luaXQodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIG1heF96b25lX3BmbnNbTUFYX05SX1pPTkVTXTsKQEAgLTYxMCw5ICs4MzQsOSBAQAogCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0gTUFYX0RNQV9QRk47CiAJbWF4X3pvbmVfcGZuc1taT05FX0RNQTMyXSA9IE1BWF9ETUEzMl9QRk47Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBlbmRfcGZuOworCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X3BmbjsKIAotCW1lbW9yeV9wcmVzZW50KDAsIDAsIGVuZF9wZm4pOworCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9wZm4pOwogCXNwYXJzZV9pbml0KCk7CiAJZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7CiB9CkBAIC02OTQsOCArOTE4LDggQEAKICNlbHNlCiAJdG90YWxyYW1fcGFnZXMgPSBmcmVlX2FsbF9ib290bWVtKCk7CiAjZW5kaWYKLQlyZXNlcnZlZHBhZ2VzID0gZW5kX3BmbiAtIHRvdGFscmFtX3BhZ2VzIC0KLQkJCQkJYWJzZW50X3BhZ2VzX2luX3JhbmdlKDAsIGVuZF9wZm4pOworCXJlc2VydmVkcGFnZXMgPSBtYXhfcGZuIC0gdG90YWxyYW1fcGFnZXMgLQorCQkJCQlhYnNlbnRfcGFnZXNfaW5fcmFuZ2UoMCwgbWF4X3Bmbik7CiAJYWZ0ZXJfYm9vdG1lbSA9IDE7CiAKIAljb2Rlc2l6ZSA9ICAodW5zaWduZWQgbG9uZykgJl9ldGV4dCAtICh1bnNpZ25lZCBsb25nKSAmX3RleHQ7CkBAIC03MTQsNyArOTM4LDcgQEAKIAlwcmludGsoS0VSTl9JTkZPICJNZW1vcnk6ICVsdWsvJWx1ayBhdmFpbGFibGUgKCVsZGsga2VybmVsIGNvZGUsICIKIAkJCQkiJWxkayByZXNlcnZlZCwgJWxkayBkYXRhLCAlbGRrIGluaXQpXG4iLAogCQkodW5zaWduZWQgbG9uZykgbnJfZnJlZV9wYWdlcygpIDw8IChQQUdFX1NISUZULTEwKSwKLQkJZW5kX3BmbiA8PCAoUEFHRV9TSElGVC0xMCksCisJCW1heF9wZm4gPDwgKFBBR0VfU0hJRlQtMTApLAogCQljb2Rlc2l6ZSA+PiAxMCwKIAkJcmVzZXJ2ZWRwYWdlcyA8PCAoUEFHRV9TSElGVC0xMCksCiAJCWRhdGFzaXplID4+IDEwLApAQCAtNzY3LDYgKzk5MSwxMyBAQAogdm9pZCBtYXJrX3JvZGF0YV9ybyh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBQRk5fQUxJR04oX3N0ZXh0KSwgZW5kID0gUEZOX0FMSUdOKF9fZW5kX3JvZGF0YSk7CisJdW5zaWduZWQgbG9uZyByb2RhdGFfc3RhcnQgPQorCQkoKHVuc2lnbmVkIGxvbmcpX19zdGFydF9yb2RhdGEgKyBQQUdFX1NJWkUgLSAxKSAmIFBBR0VfTUFTSzsKKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCS8qIER5bmFtaWMgdHJhY2luZyBtb2RpZmllcyB0aGUga2VybmVsIHRleHQgc2VjdGlvbiAqLworCXN0YXJ0ID0gcm9kYXRhX3N0YXJ0OworI2VuZGlmCiAKIAlwcmludGsoS0VSTl9JTkZPICJXcml0ZSBwcm90ZWN0aW5nIHRoZSBrZXJuZWwgcmVhZC1vbmx5IGRhdGE6ICVsdWtcbiIsCiAJICAgICAgIChlbmQgLSBzdGFydCkgPj4gMTApOwpAQCAtNzc2LDggKzEwMDcsNyBAQAogCSAqIFRoZSByb2RhdGEgc2VjdGlvbiAoYnV0IG5vdCB0aGUga2VybmVsIHRleHQhKSBzaG91bGQgYWxzbyBiZQogCSAqIG5vdC1leGVjdXRhYmxlLgogCSAqLwotCXN0YXJ0ID0gKCh1bnNpZ25lZCBsb25nKV9fc3RhcnRfcm9kYXRhICsgUEFHRV9TSVpFIC0gMSkgJiBQQUdFX01BU0s7Ci0Jc2V0X21lbW9yeV9ueChzdGFydCwgKGVuZCAtIHN0YXJ0KSA+PiBQQUdFX1NISUZUKTsKKwlzZXRfbWVtb3J5X254KHJvZGF0YV9zdGFydCwgKGVuZCAtIHJvZGF0YV9zdGFydCkgPj4gUEFHRV9TSElGVCk7CiAKIAlyb2RhdGFfdGVzdCgpOwogCkBAIC03OTksMjQgKzEwMjksMjYgQEAKIH0KICNlbmRpZgogCi12b2lkIF9faW5pdCByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxlbikKK2ludCBfX2luaXQgcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWModW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIGxlbiwKKwkJCQkgICBpbnQgZmxhZ3MpCiB7CiAjaWZkZWYgQ09ORklHX05VTUEKIAlpbnQgbmlkLCBuZXh0X25pZDsKKwlpbnQgcmV0OwogI2VuZGlmCiAJdW5zaWduZWQgbG9uZyBwZm4gPSBwaHlzID4+IFBBR0VfU0hJRlQ7CiAKLQlpZiAocGZuID49IGVuZF9wZm4pIHsKKwlpZiAocGZuID49IG1heF9wZm4pIHsKIAkJLyoKIAkJICogVGhpcyBjYW4gaGFwcGVuIHdpdGgga2R1bXAga2VybmVscyB3aGVuIGFjY2Vzc2luZwogCQkgKiBmaXJtd2FyZSB0YWJsZXM6CiAJCSAqLwogCQlpZiAocGZuIDwgbWF4X3Bmbl9tYXBwZWQpCi0JCQlyZXR1cm47CisJCQlyZXR1cm4gLUVGQVVMVDsKIAotCQlwcmludGsoS0VSTl9FUlIgInJlc2VydmVfYm9vdG1lbTogaWxsZWdhbCByZXNlcnZlICVseCAldVxuIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJyZXNlcnZlX2Jvb3RtZW06IGlsbGVnYWwgcmVzZXJ2ZSAlbHggJWx1XG4iLAogCQkJCXBoeXMsIGxlbik7Ci0JCXJldHVybjsKKwkJcmV0dXJuIC1FRkFVTFQ7CiAJfQogCiAJLyogU2hvdWxkIGNoZWNrIGhlcmUgYWdhaW5zdCB0aGUgZTgyMCBtYXAgdG8gYXZvaWQgZG91YmxlIGZyZWUgKi8KQEAgLTgyNCw5ICsxMDU2LDEzIEBACiAJbmlkID0gcGh5c190b19uaWQocGh5cyk7CiAJbmV4dF9uaWQgPSBwaHlzX3RvX25pZChwaHlzICsgbGVuIC0gMSk7CiAJaWYgKG5pZCA9PSBuZXh0X25pZCkKLQkJcmVzZXJ2ZV9ib290bWVtX25vZGUoTk9ERV9EQVRBKG5pZCksIHBoeXMsIGxlbiwgQk9PVE1FTV9ERUZBVUxUKTsKKwkJcmV0ID0gcmVzZXJ2ZV9ib290bWVtX25vZGUoTk9ERV9EQVRBKG5pZCksIHBoeXMsIGxlbiwgZmxhZ3MpOwogCWVsc2UKLQkJcmVzZXJ2ZV9ib290bWVtKHBoeXMsIGxlbiwgQk9PVE1FTV9ERUZBVUxUKTsKKwkJcmV0ID0gcmVzZXJ2ZV9ib290bWVtKHBoeXMsIGxlbiwgZmxhZ3MpOworCisJaWYgKHJldCAhPSAwKQorCQlyZXR1cm4gcmV0OworCiAjZWxzZQogCXJlc2VydmVfYm9vdG1lbShwaHlzLCBsZW4sIEJPT1RNRU1fREVGQVVMVCk7CiAjZW5kaWYKQEAgLTgzNSw2ICsxMDcxLDggQEAKIAkJZG1hX3Jlc2VydmUgKz0gbGVuIC8gUEFHRV9TSVpFOwogCQlzZXRfZG1hX3Jlc2VydmUoZG1hX3Jlc2VydmUpOwogCX0KKworCXJldHVybiAwOwogfQogCiBpbnQga2Vybl9hZGRyX3ZhbGlkKHVuc2lnbmVkIGxvbmcgYWRkcikKQEAgLTkzOSw3ICsxMTc3LDcgQEAKIAlwbWRfdCAqcG1kOwogCiAJZm9yICg7IGFkZHIgPCBlbmQ7IGFkZHIgPSBuZXh0KSB7Ci0JCW5leHQgPSBwbWRfYWRkcl9lbmQoYWRkciwgZW5kKTsKKwkJdm9pZCAqcCA9IE5VTEw7CiAKIAkJcGdkID0gdm1lbW1hcF9wZ2RfcG9wdWxhdGUoYWRkciwgbm9kZSk7CiAJCWlmICghcGdkKQpAQCAtOTQ5LDMzICsxMTg3LDUxIEBACiAJCWlmICghcHVkKQogCQkJcmV0dXJuIC1FTk9NRU07CiAKLQkJcG1kID0gcG1kX29mZnNldChwdWQsIGFkZHIpOwotCQlpZiAocG1kX25vbmUoKnBtZCkpIHsKLQkJCXB0ZV90IGVudHJ5OwotCQkJdm9pZCAqcDsKKwkJaWYgKCFjcHVfaGFzX3BzZSkgeworCQkJbmV4dCA9IChhZGRyICsgUEFHRV9TSVpFKSAmIFBBR0VfTUFTSzsKKwkJCXBtZCA9IHZtZW1tYXBfcG1kX3BvcHVsYXRlKHB1ZCwgYWRkciwgbm9kZSk7CiAKLQkJCXAgPSB2bWVtbWFwX2FsbG9jX2Jsb2NrKFBNRF9TSVpFLCBub2RlKTsKKwkJCWlmICghcG1kKQorCQkJCXJldHVybiAtRU5PTUVNOworCisJCQlwID0gdm1lbW1hcF9wdGVfcG9wdWxhdGUocG1kLCBhZGRyLCBub2RlKTsKKwogCQkJaWYgKCFwKQogCQkJCXJldHVybiAtRU5PTUVNOwogCi0JCQllbnRyeSA9IHBmbl9wdGUoX19wYShwKSA+PiBQQUdFX1NISUZULAotCQkJCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKLQkJCXNldF9wbWQocG1kLCBfX3BtZChwdGVfdmFsKGVudHJ5KSkpOwotCi0JCQkvKiBjaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBjb250aWd1b3VzIGJsb2NrcyAqLwotCQkJaWYgKHBfZW5kICE9IHAgfHwgbm9kZV9zdGFydCAhPSBub2RlKSB7Ci0JCQkJaWYgKHBfc3RhcnQpCi0JCQkJCXByaW50ayhLRVJOX0RFQlVHICIgWyVseC0lbHhdIFBNRCAtPiBbJXAtJXBdIG9uIG5vZGUgJWRcbiIsCi0JCQkJCQlhZGRyX3N0YXJ0LCBhZGRyX2VuZC0xLCBwX3N0YXJ0LCBwX2VuZC0xLCBub2RlX3N0YXJ0KTsKLQkJCQlhZGRyX3N0YXJ0ID0gYWRkcjsKLQkJCQlub2RlX3N0YXJ0ID0gbm9kZTsKLQkJCQlwX3N0YXJ0ID0gcDsKLQkJCX0KLQkJCWFkZHJfZW5kID0gYWRkciArIFBNRF9TSVpFOwotCQkJcF9lbmQgPSBwICsgUE1EX1NJWkU7CisJCQlhZGRyX2VuZCA9IGFkZHIgKyBQQUdFX1NJWkU7CisJCQlwX2VuZCA9IHAgKyBQQUdFX1NJWkU7CiAJCX0gZWxzZSB7Ci0JCQl2bWVtbWFwX3ZlcmlmeSgocHRlX3QgKilwbWQsIG5vZGUsIGFkZHIsIG5leHQpOworCQkJbmV4dCA9IHBtZF9hZGRyX2VuZChhZGRyLCBlbmQpOworCisJCQlwbWQgPSBwbWRfb2Zmc2V0KHB1ZCwgYWRkcik7CisJCQlpZiAocG1kX25vbmUoKnBtZCkpIHsKKwkJCQlwdGVfdCBlbnRyeTsKKworCQkJCXAgPSB2bWVtbWFwX2FsbG9jX2Jsb2NrKFBNRF9TSVpFLCBub2RlKTsKKwkJCQlpZiAoIXApCisJCQkJCXJldHVybiAtRU5PTUVNOworCisJCQkJZW50cnkgPSBwZm5fcHRlKF9fcGEocCkgPj4gUEFHRV9TSElGVCwKKwkJCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKKwkJCQlzZXRfcG1kKHBtZCwgX19wbWQocHRlX3ZhbChlbnRyeSkpKTsKKworCQkJCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGNvbnRpZ3VvdXMgYmxvY2tzICovCisJCQkJaWYgKHBfZW5kICE9IHAgfHwgbm9kZV9zdGFydCAhPSBub2RlKSB7CisJCQkJCWlmIChwX3N0YXJ0KQorCQkJCQkJcHJpbnRrKEtFUk5fREVCVUcgIiBbJWx4LSVseF0gUE1EIC0+IFslcC0lcF0gb24gbm9kZSAlZFxuIiwKKwkJCQkJCSAgICAgICBhZGRyX3N0YXJ0LCBhZGRyX2VuZC0xLCBwX3N0YXJ0LCBwX2VuZC0xLCBub2RlX3N0YXJ0KTsKKwkJCQkJYWRkcl9zdGFydCA9IGFkZHI7CisJCQkJCW5vZGVfc3RhcnQgPSBub2RlOworCQkJCQlwX3N0YXJ0ID0gcDsKKwkJCQl9CisKKwkJCQlhZGRyX2VuZCA9IGFkZHIgKyBQTURfU0laRTsKKwkJCQlwX2VuZCA9IHAgKyBQTURfU0laRTsKKwkJCX0gZWxzZQorCQkJCXZtZW1tYXBfdmVyaWZ5KChwdGVfdCAqKXBtZCwgbm9kZSwgYWRkciwgbmV4dCk7CiAJCX0KKwogCX0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2lvcmVtYXAuYyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYwppbmRleCAyYjJiYjNmOS4uMjRjMWQzYyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW9yZW1hcC5jCisrKyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CiAKICNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgogI2luY2x1ZGUgPGFzbS9lODIwLmg+CkBAIC0xMjIsMTAgKzEyMywxMyBAQAogewogCXVuc2lnbmVkIGxvbmcgcGZuLCBvZmZzZXQsIHZhZGRyOwogCXJlc291cmNlX3NpemVfdCBsYXN0X2FkZHI7CisJY29uc3QgcmVzb3VyY2Vfc2l6ZV90IHVuYWxpZ25lZF9waHlzX2FkZHIgPSBwaHlzX2FkZHI7CisJY29uc3QgdW5zaWduZWQgbG9uZyB1bmFsaWduZWRfc2l6ZSA9IHNpemU7CiAJc3RydWN0IHZtX3N0cnVjdCAqYXJlYTsKIAl1bnNpZ25lZCBsb25nIG5ld19wcm90X3ZhbDsKIAlwZ3Byb3RfdCBwcm90OwogCWludCByZXR2YWw7CisJdm9pZCBfX2lvbWVtICpyZXRfYWRkcjsKIAogCS8qIERvbid0IGFsbG93IHdyYXBhcm91bmQgb3IgemVybyBzaXplICovCiAJbGFzdF9hZGRyID0gcGh5c19hZGRyICsgc2l6ZSAtIDE7CkBAIC0xNDIsNyArMTQ2LDcgQEAKIAkvKgogCSAqIERvbid0IHJlbWFwIHRoZSBsb3cgUENJL0lTQSBhcmVhLCBpdCdzIGFsd2F5cyBtYXBwZWQuLgogCSAqLwotCWlmIChwaHlzX2FkZHIgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgbGFzdF9hZGRyIDwgSVNBX0VORF9BRERSRVNTKQorCWlmIChpc19JU0FfcmFuZ2UocGh5c19hZGRyLCBsYXN0X2FkZHIpKQogCQlyZXR1cm4gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopcGh5c190b192aXJ0KHBoeXNfYWRkcik7CiAKIAkvKgpAQCAtMjMzLDcgKzIzNywxMCBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSAodmFkZHIgKyBvZmZzZXQpOworCXJldF9hZGRyID0gKHZvaWQgX19pb21lbSAqKSAodmFkZHIgKyBvZmZzZXQpOworCW1taW90cmFjZV9pb3JlbWFwKHVuYWxpZ25lZF9waHlzX2FkZHIsIHVuYWxpZ25lZF9zaXplLCByZXRfYWRkcik7CisKKwlyZXR1cm4gcmV0X2FkZHI7CiB9CiAKIC8qKgpAQCAtMjYxLDcgKzI2OCw3IEBACiB7CiAJLyoKIAkgKiBJZGVhbGx5LCB0aGlzIHNob3VsZCBiZToKLQkgKglwYXRfd2NfZW5hYmxlZCA/IF9QQUdFX0NBQ0hFX1VDIDogX1BBR0VfQ0FDSEVfVUNfTUlOVVM7CisJICoJcGF0X2VuYWJsZWQgPyBfUEFHRV9DQUNIRV9VQyA6IF9QQUdFX0NBQ0hFX1VDX01JTlVTOwogCSAqCiAJICogVGlsbCB3ZSBmaXggYWxsIFggZHJpdmVycyB0byB1c2UgaW9yZW1hcF93YygpLCB3ZSB3aWxsIHVzZQogCSAqIFVDIE1JTlVTLgpAQCAtMjg1LDcgKzI5Miw3IEBACiAgKi8KIHZvaWQgX19pb21lbSAqaW9yZW1hcF93Yyh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQogewotCWlmIChwYXRfd2NfZW5hYmxlZCkKKwlpZiAocGF0X2VuYWJsZWQpCiAJCXJldHVybiBfX2lvcmVtYXBfY2FsbGVyKHBoeXNfYWRkciwgc2l6ZSwgX1BBR0VfQ0FDSEVfV0MsCiAJCQkJCV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSk7CiAJZWxzZQpAQCAtMzAwLDYgKzMwNywyOSBAQAogfQogRVhQT1JUX1NZTUJPTChpb3JlbWFwX2NhY2hlKTsKIAorc3RhdGljIHZvaWQgX19pb21lbSAqaW9yZW1hcF9kZWZhdWx0KHJlc291cmNlX3NpemVfdCBwaHlzX2FkZHIsCisJCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXZvaWQgKnJldDsKKwlpbnQgZXJyOworCisJLyoKKwkgKiAtIFdCIGZvciBXQi1hYmxlIG1lbW9yeSBhbmQgbm8gb3RoZXIgY29uZmxpY3RpbmcgbWFwcGluZ3MKKwkgKiAtIFVDX01JTlVTIGZvciBub24tV0ItYWJsZSBtZW1vcnkgd2l0aCBubyBvdGhlciBjb25mbGljdGluZyBtYXBwaW5ncworCSAqIC0gSW5oZXJpdCBmcm9tIGNvbmZsaXRpbmcgbWFwcGluZ3Mgb3RoZXJ3aXNlCisJICovCisJZXJyID0gcmVzZXJ2ZV9tZW10eXBlKHBoeXNfYWRkciwgcGh5c19hZGRyICsgc2l6ZSwgLTEsICZmbGFncyk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBOVUxMOworCisJcmV0ID0gKHZvaWQgKikgX19pb3JlbWFwX2NhbGxlcihwaHlzX2FkZHIsIHNpemUsIGZsYWdzLAorCQkJCQlfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpOworCisJZnJlZV9tZW10eXBlKHBoeXNfYWRkciwgcGh5c19hZGRyICsgc2l6ZSk7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKilyZXQ7Cit9CisKIC8qKgogICogaW91bm1hcCAtIEZyZWUgYSBJTyByZW1hcHBpbmcKICAqIEBhZGRyOiB2aXJ0dWFsIGFkZHJlc3MgZnJvbSBpb3JlbWFwXyoKQEAgLTMxOCwxMyArMzQ4LDE1IEBACiAJICogdm1fYXJlYSBhbmQgYnkgc2ltcGx5IHJldHVybmluZyBhbiBhZGRyZXNzIGludG8gdGhlIGtlcm5lbCBtYXBwaW5nCiAJICogb2YgSVNBIHNwYWNlLiAgIFNvIGhhbmRsZSB0aGF0IGhlcmUuCiAJICovCi0JaWYgKGFkZHIgPj0gcGh5c190b192aXJ0KElTQV9TVEFSVF9BRERSRVNTKSAmJgotCSAgICBhZGRyIDwgcGh5c190b192aXJ0KElTQV9FTkRfQUREUkVTUykpCisJaWYgKCh2b2lkIF9fZm9yY2UgKilhZGRyID49IHBoeXNfdG9fdmlydChJU0FfU1RBUlRfQUREUkVTUykgJiYKKwkgICAgKHZvaWQgX19mb3JjZSAqKWFkZHIgPCBwaHlzX3RvX3ZpcnQoSVNBX0VORF9BRERSRVNTKSkKIAkJcmV0dXJuOwogCiAJYWRkciA9ICh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKikKIAkJKFBBR0VfTUFTSyAmICh1bnNpZ25lZCBsb25nIF9fZm9yY2UpYWRkcik7CiAKKwltbWlvdHJhY2VfaW91bm1hcChhZGRyKTsKKwogCS8qIFVzZSB0aGUgdm0gYXJlYSB1bmxvY2tlZCwgYXNzdW1pbmcgdGhlIGNhbGxlcgogCSAgIGVuc3VyZXMgdGhlcmUgaXNuJ3QgYW5vdGhlciBpb3VubWFwIGZvciB0aGUgc2FtZSBhZGRyZXNzCiAJICAgaW4gcGFyYWxsZWwuIFJldXNlIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3MgaXMgcHJldmVudGVkIGJ5CkBAIC0zMzIsNyArMzY0LDcgQEAKIAkgICBjcGEgdGFrZXMgY2FyZSBvZiB0aGUgZGlyZWN0IG1hcHBpbmdzLiAqLwogCXJlYWRfbG9jaygmdm1saXN0X2xvY2spOwogCWZvciAocCA9IHZtbGlzdDsgcDsgcCA9IHAtPm5leHQpIHsKLQkJaWYgKHAtPmFkZHIgPT0gYWRkcikKKwkJaWYgKHAtPmFkZHIgPT0gKHZvaWQgX19mb3JjZSAqKWFkZHIpCiAJCQlicmVhazsKIAl9CiAJcmVhZF91bmxvY2soJnZtbGlzdF9sb2NrKTsKQEAgLTM0Niw3ICszNzgsNyBAQAogCWZyZWVfbWVtdHlwZShwLT5waHlzX2FkZHIsIHAtPnBoeXNfYWRkciArIGdldF92bV9hcmVhX3NpemUocCkpOwogCiAJLyogRmluYWxseSByZW1vdmUgaXQgKi8KLQlvID0gcmVtb3ZlX3ZtX2FyZWEoKHZvaWQgKilhZGRyKTsKKwlvID0gcmVtb3ZlX3ZtX2FyZWEoKHZvaWQgX19mb3JjZSAqKWFkZHIpOwogCUJVR19PTihwICE9IG8gfHwgbyA9PSBOVUxMKTsKIAlrZnJlZShwKTsKIH0KQEAgLTM2NSw3ICszOTcsNyBAQAogCWlmIChwYWdlX2lzX3JhbShzdGFydCA+PiBQQUdFX1NISUZUKSkKIAkJcmV0dXJuIF9fdmEocGh5cyk7CiAKLQlhZGRyID0gKHZvaWQgKilpb3JlbWFwKHN0YXJ0LCBQQUdFX1NJWkUpOworCWFkZHIgPSAodm9pZCBfX2ZvcmNlICopaW9yZW1hcF9kZWZhdWx0KHN0YXJ0LCBQQUdFX1NJWkUpOwogCWlmIChhZGRyKQogCQlhZGRyID0gKHZvaWQgKikoKHVuc2lnbmVkIGxvbmcpYWRkciB8IChwaHlzICYgflBBR0VfTUFTSykpOwogCkBAIC0zODEsOCArNDEzLDYgQEAKIAlyZXR1cm47CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0KIGludCBfX2luaXRkYXRhIGVhcmx5X2lvcmVtYXBfZGVidWc7CiAKIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X2lvcmVtYXBfZGVidWdfc2V0dXAoY2hhciAqc3RyKQpAQCAtMzk0LDggKzQyNCw3IEBACiBlYXJseV9wYXJhbSgiZWFybHlfaW9yZW1hcF9kZWJ1ZyIsIGVhcmx5X2lvcmVtYXBfZGVidWdfc2V0dXApOwogCiBzdGF0aWMgX19pbml0ZGF0YSBpbnQgYWZ0ZXJfcGFnaW5nX2luaXQ7Ci1zdGF0aWMgcHRlX3QgYm1fcHRlW1BBR0VfU0laRS9zaXplb2YocHRlX3QpXQotCQlfX3NlY3Rpb24oLmJzcy5wYWdlX2FsaWduZWQpOworc3RhdGljIHB0ZV90IGJtX3B0ZVtQQUdFX1NJWkUvc2l6ZW9mKHB0ZV90KV0gX19wYWdlX2FsaWduZWRfYnNzOwogCiBzdGF0aWMgaW5saW5lIHBtZF90ICogX19pbml0IGVhcmx5X2lvcmVtYXBfcG1kKHVuc2lnbmVkIGxvbmcgYWRkcikKIHsKQEAgLTQ4NCwxMCArNTEzLDExIEBACiAJCXJldHVybjsKIAl9CiAJcHRlID0gZWFybHlfaW9yZW1hcF9wdGUoYWRkcik7CisKIAlpZiAocGdwcm90X3ZhbChmbGFncykpCiAJCXNldF9wdGUocHRlLCBwZm5fcHRlKHBoeXMgPj4gUEFHRV9TSElGVCwgZmxhZ3MpKTsKIAllbHNlCi0JCXB0ZV9jbGVhcihOVUxMLCBhZGRyLCBwdGUpOworCQlwdGVfY2xlYXIoJmluaXRfbW0sIGFkZHIsIHB0ZSk7CiAJX19mbHVzaF90bGJfb25lKGFkZHIpOwogfQogCkBAIC02MjUsNSArNjU1LDMgQEAKIHsKIAlXQVJOX09OKDEpOwogfQotCi0jZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jIGIvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jCmluZGV4IDFmNDc2ZTQuLjQxZjFiNWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2s4dG9wb2xvZ3lfNjQuYworKysgYi9hcmNoL3g4Ni9tbS9rOHRvcG9sb2d5XzY0LmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxhc20vbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9rOC5oPgogCiBzdGF0aWMgX19pbml0IGludCBmaW5kX25vcnRoYnJpZGdlKHZvaWQpCiB7CkBAIC01NiwzNCArNTcsMzMgQEAKIAkvKgogCSAqIEZpbmQgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgogCSAqLworI2lmZGVmIENPTkZJR19YODZfTVBQQVJTRQogCWVhcmx5X2ZpbmRfc21wX2NvbmZpZygpOworI2VuZGlmCiAjaWZkZWYgQ09ORklHX0FDUEkKIAkvKgogCSAqIFJlYWQgQVBJQyBpbmZvcm1hdGlvbiBmcm9tIEFDUEkgdGFibGVzLgogCSAqLwogCWVhcmx5X2FjcGlfYm9vdF9pbml0KCk7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01QUEFSU0UKIAkvKgogCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CiAJICovCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCiAJCWVhcmx5X2dldF9zbXBfY29uZmlnKCk7CisjZW5kaWYKIAllYXJseV9pbml0X2xhcGljX21hcHBpbmcoKTsKIH0KIAogaW50IF9faW5pdCBrOF9zY2FuX25vZGVzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQogeworCXVuc2lnbmVkIG51bW5vZGVzLCBjb3JlcywgYml0cywgYXBpY2lkX2Jhc2U7CiAJdW5zaWduZWQgbG9uZyBwcmV2YmFzZTsKIAlzdHJ1Y3QgYm9vdG5vZGUgbm9kZXNbOF07Ci0JaW50IG5vZGVpZCwgaSwgbmI7CiAJdW5zaWduZWQgY2hhciBub2RlaWRzWzhdOwotCWludCBmb3VuZCA9IDA7Ci0JdTMyIHJlZzsKLQl1bnNpZ25lZCBudW1ub2RlczsKLQl1bnNpZ25lZCBjb3JlczsKLQl1bnNpZ25lZCBiaXRzOwotCWludCBqOwotCXVuc2lnbmVkIGFwaWNpZF9iYXNlOworCWludCBpLCBqLCBuYiwgZm91bmQgPSAwOworCXUzMiBub2RlaWQsIHJlZzsKIAogCWlmICghZWFybHlfcGNpX2FsbG93ZWQoKSkKIAkJcmV0dXJuIC0xOwpAQCAtMTA1LDcgKzEwNSw2IEBACiAJcHJldmJhc2UgPSAwOwogCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKIAkJdW5zaWduZWQgbG9uZyBiYXNlLCBsaW1pdDsKLQkJdTMyIG5vZGVpZDsKIAogCQliYXNlID0gcmVhZF9wY2lfY29uZmlnKDAsIG5iLCAxLCAweDQwICsgaSo4KTsKIAkJbGltaXQgPSByZWFkX3BjaV9jb25maWcoMCwgbmIsIDEsIDB4NDQgKyBpKjgpOwpAQCAtMTQ0LDggKzE0Myw4IEBACiAJCWxpbWl0IHw9ICgxPDwyNCktMTsKIAkJbGltaXQrKzsKIAotCQlpZiAobGltaXQgPiBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpCi0JCQlsaW1pdCA9IGVuZF9wZm4gPDwgUEFHRV9TSElGVDsKKwkJaWYgKGxpbWl0ID4gbWF4X3BmbiA8PCBQQUdFX1NISUZUKQorCQkJbGltaXQgPSBtYXhfcGZuIDw8IFBBR0VfU0hJRlQ7CiAJCWlmIChsaW1pdCA8PSBiYXNlKQogCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2ttbWlvLmMgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZDgyMDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCkBAIC0wLDAgKzEsNTEwIEBACisvKiBTdXBwb3J0IGZvciBNTUlPIHByb2Jlcy4KKyAqIEJlbmZpdCBtYW55IGNvZGUgZnJvbSBrcHJvYmVzCisgKiAoQykgMjAwMiBMb3VpcyBaaHVhbmcgPGxvdWlzLnpodWFuZ0BpbnRlbC5jb20+LgorICogICAgIDIwMDcgQWxleGFuZGVyIEVpY2huZXIKKyAqICAgICAyMDA4IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wcmVlbXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgva2RlYnVnLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxhc20vZGVidWdyZWcuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KKworI2RlZmluZSBLTU1JT19QQUdFX0hBU0hfQklUUyA0CisjZGVmaW5lIEtNTUlPX1BBR0VfVEFCTEVfU0laRSAoMSA8PCBLTU1JT19QQUdFX0hBU0hfQklUUykKKworc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcmVsZWFzZV9uZXh0OworCXVuc2lnbmVkIGxvbmcgcGFnZTsgLyogbG9jYXRpb24gb2YgdGhlIGZhdWx0IHBhZ2UgKi8KKworCS8qCisJICogTnVtYmVyIG9mIHRpbWVzIHRoaXMgcGFnZSBoYXMgYmVlbiByZWdpc3RlcmVkIGFzIGEgcGFydAorCSAqIG9mIGEgcHJvYmUuIElmIHplcm8sIHBhZ2UgaXMgZGlzYXJtZWQgYW5kIHRoaXMgbWF5IGJlIGZyZWVkLgorCSAqIFVzZWQgb25seSBieSB3cml0ZXJzIChSQ1UpLgorCSAqLworCWludCBjb3VudDsKK307CisKK3N0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgeworCXN0cnVjdCByY3VfaGVhZCByY3U7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnJlbGVhc2VfbGlzdDsKK307CisKK3N0cnVjdCBrbW1pb19jb250ZXh0IHsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZnBhZ2U7CisJc3RydWN0IGttbWlvX3Byb2JlICpwcm9iZTsKKwl1bnNpZ25lZCBsb25nIHNhdmVkX2ZsYWdzOworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKwlpbnQgYWN0aXZlOworfTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhrbW1pb19sb2NrKTsKKworLyogUHJvdGVjdGVkIGJ5IGttbWlvX2xvY2sgKi8KK3Vuc2lnbmVkIGludCBrbW1pb19jb3VudDsKKworLyogUmVhZC1wcm90ZWN0ZWQgYnkgUkNVLCB3cml0ZS1wcm90ZWN0ZWQgYnkga21taW9fbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkIGttbWlvX3BhZ2VfdGFibGVbS01NSU9fUEFHRV9UQUJMRV9TSVpFXTsKK3N0YXRpYyBMSVNUX0hFQUQoa21taW9fcHJvYmVzKTsKKworc3RhdGljIHN0cnVjdCBsaXN0X2hlYWQgKmttbWlvX3BhZ2VfbGlzdCh1bnNpZ25lZCBsb25nIHBhZ2UpCit7CisJcmV0dXJuICZrbW1pb19wYWdlX3RhYmxlW2hhc2hfbG9uZyhwYWdlLCBLTU1JT19QQUdFX0hBU0hfQklUUyldOworfQorCisvKiBBY2Nlc3NlZCBwZXItY3B1ICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGttbWlvX2NvbnRleHQsIGttbWlvX2N0eCk7CisKKy8qCisgKiB0aGlzIGlzIGJhc2ljYWxseSBhIGR5bmFtaWMgc3RhYmJpbmcgcHJvYmxlbToKKyAqIENvdWxkIHVzZSB0aGUgZXhpc3RpbmcgcHJpbyB0cmVlIGNvZGUgb3IKKyAqIFBvc3NpYmxlIGJldHRlciBpbXBsZW1lbnRhdGlvbnM6CisgKiBUaGUgSW50ZXJ2YWwgU2tpcCBMaXN0OiBBIERhdGEgU3RydWN0dXJlIGZvciBGaW5kaW5nIEFsbCBJbnRlcnZhbHMgVGhhdAorICogT3ZlcmxhcCBhIFBvaW50IChtaWdodCBiZSBzaW1wbGUpCisgKiBTcGFjZSBFZmZpY2llbnQgRHluYW1pYyBTdGFiYmluZyB3aXRoIEZhc3QgUXVlcmllcyAtIE1pa2tlbCBUaG9ydXAKKyAqLworLyogR2V0IHRoZSBrbW1pbyBhdCB0aGlzIGFkZHIgKGlmIGFueSkuIFlvdSBtdXN0IGJlIGhvbGRpbmcgUkNVIHJlYWQgbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3Qga21taW9fcHJvYmUgKmdldF9rbW1pb19wcm9iZSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJc3RydWN0IGttbWlvX3Byb2JlICpwOworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHAsICZrbW1pb19wcm9iZXMsIGxpc3QpIHsKKwkJaWYgKGFkZHIgPj0gcC0+YWRkciAmJiBhZGRyIDw9IChwLT5hZGRyICsgcC0+bGVuKSkKKwkJCXJldHVybiBwOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyogWW91IG11c3QgYmUgaG9sZGluZyBSQ1UgcmVhZCBsb2NrLiAqLworc3RhdGljIHN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpnZXRfa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcDsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWhlYWQgPSBrbW1pb19wYWdlX2xpc3QocGFnZSk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UocCwgaGVhZCwgbGlzdCkgeworCQlpZiAocC0+cGFnZSA9PSBwYWdlKQorCQkJcmV0dXJuIHA7CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBzZXRfcGFnZV9wcmVzZW50KHVuc2lnbmVkIGxvbmcgYWRkciwgYm9vbCBwcmVzZW50LAorCQkJCQkJCXVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlwdGV2YWxfdCBwdGV2YWw7CisJcG1kdmFsX3QgcG1kdmFsOworCXVuc2lnbmVkIGludCBsZXZlbDsKKwlwbWRfdCAqcG1kOworCXB0ZV90ICpwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyLCAmbGV2ZWwpOworCisJaWYgKCFwdGUpIHsKKwkJcHJfZXJyKCJrbW1pbzogbm8gcHRlIGZvciBwYWdlIDB4JTA4bHhcbiIsIGFkZHIpOworCQlyZXR1cm47CisJfQorCisJaWYgKHBnbGV2ZWwpCisJCSpwZ2xldmVsID0gbGV2ZWw7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBQR19MRVZFTF8yTToKKwkJcG1kID0gKHBtZF90ICopcHRlOworCQlwbWR2YWwgPSBwbWRfdmFsKCpwbWQpICYgfl9QQUdFX1BSRVNFTlQ7CisJCWlmIChwcmVzZW50KQorCQkJcG1kdmFsIHw9IF9QQUdFX1BSRVNFTlQ7CisJCXNldF9wbWQocG1kLCBfX3BtZChwbWR2YWwpKTsKKwkJYnJlYWs7CisKKwljYXNlIFBHX0xFVkVMXzRLOgorCQlwdGV2YWwgPSBwdGVfdmFsKCpwdGUpICYgfl9QQUdFX1BSRVNFTlQ7CisJCWlmIChwcmVzZW50KQorCQkJcHRldmFsIHw9IF9QQUdFX1BSRVNFTlQ7CisJCXNldF9wdGVfYXRvbWljKHB0ZSwgX19wdGUocHRldmFsKSk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJfZXJyKCJrbW1pbzogdW5leHBlY3RlZCBwYWdlIGxldmVsIDB4JXguXG4iLCBsZXZlbCk7CisJCXJldHVybjsKKwl9CisKKwlfX2ZsdXNoX3RsYl9vbmUoYWRkcik7Cit9CisKKy8qKiBNYXJrIHRoZSBnaXZlbiBwYWdlIGFzIG5vdCBwcmVzZW50LiBBY2Nlc3MgdG8gaXQgd2lsbCB0cmlnZ2VyIGEgZmF1bHQuICovCitzdGF0aWMgdm9pZCBhcm1fa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UsIHVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlzZXRfcGFnZV9wcmVzZW50KHBhZ2UgJiBQQUdFX01BU0ssIGZhbHNlLCBwZ2xldmVsKTsKK30KKworLyoqIE1hcmsgdGhlIGdpdmVuIHBhZ2UgYXMgcHJlc2VudC4gKi8KK3N0YXRpYyB2b2lkIGRpc2FybV9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSwgdW5zaWduZWQgaW50ICpwZ2xldmVsKQoreworCXNldF9wYWdlX3ByZXNlbnQocGFnZSAmIFBBR0VfTUFTSywgdHJ1ZSwgcGdsZXZlbCk7Cit9CisKKy8qCisgKiBUaGlzIGlzIGJlaW5nIGNhbGxlZCBmcm9tIGRvX3BhZ2VfZmF1bHQoKS4KKyAqCisgKiBXZSBtYXkgYmUgaW4gYW4gaW50ZXJydXB0IG9yIGEgY3JpdGljYWwgc2VjdGlvbi4gQWxzbyBwcmVmZWN0aGluZyBtYXkKKyAqIHRyaWdnZXIgYSBwYWdlIGZhdWx0LiBXZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBwcm9jZXNzIHN3aXRjaC4KKyAqIFdlIGNhbm5vdCB0YWtlIGFueSBsb2NrcywgYmVjYXVzZSB3ZSBjb3VsZCBiZSBleGVjdXRpbmcgZXNwZWNpYWxseQorICogd2l0aGluIGEga21taW8gY3JpdGljYWwgc2VjdGlvbi4KKyAqCisgKiBMb2NhbCBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgc28gcHJlZW1wdGlvbiBjYW5ub3QgaGFwcGVuLgorICogRG8gbm90IGVuYWJsZSBpbnRlcnJ1cHRzLCBkbyBub3Qgc2xlZXAsIGFuZCB3YXRjaCBvdXQgZm9yIG90aGVyIENQVXMuCisgKi8KKy8qCisgKiBJbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCBvbiBlbnRyeSBhcyB0cmFwMyBpcyBhbiBpbnRlcnJ1cHQgZ2F0ZQorICogYW5kIHRoZXkgcmVtYWluIGRpc2FibGVkIHRob3JvdWdoIG91dCB0aGlzIGZ1bmN0aW9uLgorICovCitpbnQga21taW9faGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCBrbW1pb19jb250ZXh0ICpjdHg7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKmZhdWx0cGFnZTsKKwlpbnQgcmV0ID0gMDsgLyogZGVmYXVsdCB0byBmYXVsdCBub3QgaGFuZGxlZCAqLworCisJLyoKKwkgKiBQcmVlbXB0aW9uIGlzIG5vdyBkaXNhYmxlZCB0byBwcmV2ZW50IHByb2Nlc3Mgc3dpdGNoIGR1cmluZworCSAqIHNpbmdsZSBzdGVwcGluZy4gV2UgY2FuIG9ubHkgaGFuZGxlIG9uZSBhY3RpdmUga21taW8gdHJhY2UKKwkgKiBwZXIgY3B1LCBzbyBlbnN1cmUgdGhhdCB3ZSBmaW5pc2ggaXQgYmVmb3JlIHNvbWV0aGluZyBlbHNlCisJICogZ2V0cyB0byBydW4uIFdlIGFsc28gaG9sZCB0aGUgUkNVIHJlYWQgbG9jayBvdmVyIHNpbmdsZQorCSAqIHN0ZXBwaW5nIHRvIGF2b2lkIGxvb2tpbmcgdXAgdGhlIHByb2JlIGFuZCBrbW1pb19mYXVsdF9wYWdlCisJICogYWdhaW4uCisJICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJcmN1X3JlYWRfbG9jaygpOworCisJZmF1bHRwYWdlID0gZ2V0X2ttbWlvX2ZhdWx0X3BhZ2UoYWRkcik7CisJaWYgKCFmYXVsdHBhZ2UpIHsKKwkJLyoKKwkJICogRWl0aGVyIHRoaXMgcGFnZSBmYXVsdCBpcyBub3QgY2F1c2VkIGJ5IGttbWlvLCBvcgorCQkgKiBhbm90aGVyIENQVSBqdXN0IHB1bGxlZCB0aGUga21taW8gcHJvYmUgZnJvbSB1bmRlcgorCQkgKiBvdXIgZmVldC4gVGhlIGxhdHRlciBjYXNlIHNob3VsZCBub3QgYmUgcG9zc2libGUuCisJCSAqLworCQlnb3RvIG5vX2ttbWlvOworCX0KKworCWN0eCA9ICZnZXRfY3B1X3ZhcihrbW1pb19jdHgpOworCWlmIChjdHgtPmFjdGl2ZSkgeworCQlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShmYXVsdHBhZ2UtPnBhZ2UsIE5VTEwpOworCQlpZiAoYWRkciA9PSBjdHgtPmFkZHIpIHsKKwkJCS8qCisJCQkgKiBPbiBTTVAgd2Ugc29tZXRpbWVzIGdldCByZWN1cnNpdmUgcHJvYmUgaGl0cyBvbiB0aGUKKwkJCSAqIHNhbWUgYWRkcmVzcy4gQ29udGV4dCBpcyBhbHJlYWR5IHNhdmVkLCBmYWxsIG91dC4KKwkJCSAqLworCQkJcHJfZGVidWcoImttbWlvOiBkdXBsaWNhdGUgcHJvYmUgaGl0IG9uIENQVSAlZCwgZm9yICIKKwkJCQkJCSJhZGRyZXNzIDB4JTA4bHguXG4iLAorCQkJCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBhZGRyKTsKKwkJCXJldCA9IDE7CisJCQlnb3RvIG5vX2ttbWlvX2N0eDsKKwkJfQorCQkvKgorCQkgKiBQcmV2ZW50IG92ZXJ3cml0aW5nIGFscmVhZHkgaW4tZmxpZ2h0IGNvbnRleHQuCisJCSAqIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIGxldCdzIGhvcGUgZGlzYXJtaW5nIGF0IGxlYXN0CisJCSAqIHByZXZlbnRzIGEgcGFuaWMuCisJCSAqLworCQlwcl9lbWVyZygia21taW86IHJlY3Vyc2l2ZSBwcm9iZSBoaXQgb24gQ1BVICVkLCAiCisJCQkJCSJmb3IgYWRkcmVzcyAweCUwOGx4LiBJZ25vcmluZy5cbiIsCisJCQkJCXNtcF9wcm9jZXNzb3JfaWQoKSwgYWRkcik7CisJCXByX2VtZXJnKCJrbW1pbzogcHJldmlvdXMgaGl0IHdhcyBhdCAweCUwOGx4LlxuIiwKKwkJCQkJY3R4LT5hZGRyKTsKKwkJZ290byBub19rbW1pb19jdHg7CisJfQorCWN0eC0+YWN0aXZlKys7CisKKwljdHgtPmZwYWdlID0gZmF1bHRwYWdlOworCWN0eC0+cHJvYmUgPSBnZXRfa21taW9fcHJvYmUoYWRkcik7CisJY3R4LT5zYXZlZF9mbGFncyA9IChyZWdzLT5mbGFncyAmIChYODZfRUZMQUdTX1RGIHwgWDg2X0VGTEFHU19JRikpOworCWN0eC0+YWRkciA9IGFkZHI7CisKKwlpZiAoY3R4LT5wcm9iZSAmJiBjdHgtPnByb2JlLT5wcmVfaGFuZGxlcikKKwkJY3R4LT5wcm9iZS0+cHJlX2hhbmRsZXIoY3R4LT5wcm9iZSwgcmVncywgYWRkcik7CisKKwkvKgorCSAqIEVuYWJsZSBzaW5nbGUtc3RlcHBpbmcgYW5kIGRpc2FibGUgaW50ZXJydXB0cyBmb3IgdGhlIGZhdWx0aW5nCisJICogY29udGV4dC4gTG9jYWwgaW50ZXJydXB0cyBtdXN0IG5vdCBnZXQgZW5hYmxlZCBkdXJpbmcgc3RlcHBpbmcuCisJICovCisJcmVncy0+ZmxhZ3MgfD0gWDg2X0VGTEFHU19URjsKKwlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19JRjsKKworCS8qIE5vdyB3ZSBzZXQgcHJlc2VudCBiaXQgaW4gUFRFIGFuZCBzaW5nbGUgc3RlcC4gKi8KKwlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShjdHgtPmZwYWdlLT5wYWdlLCBOVUxMKTsKKworCS8qCisJICogSWYgYW5vdGhlciBjcHUgYWNjZXNzZXMgdGhlIHNhbWUgcGFnZSB3aGlsZSB3ZSBhcmUgc3RlcHBpbmcsCisJICogdGhlIGFjY2VzcyB3aWxsIG5vdCBiZSBjYXVnaHQuIEl0IHdpbGwgc2ltcGx5IHN1Y2NlZWQgYW5kIHRoZQorCSAqIG9ubHkgZG93bnNpZGUgaXMgd2UgbG9zZSB0aGUgZXZlbnQuIElmIHRoaXMgYmVjb21lcyBhIHByb2JsZW0sCisJICogdGhlIHVzZXIgc2hvdWxkIGRyb3AgdG8gc2luZ2xlIGNwdSBiZWZvcmUgdHJhY2luZy4KKwkgKi8KKworCXB1dF9jcHVfdmFyKGttbWlvX2N0eCk7CisJcmV0dXJuIDE7IC8qIGZhdWx0IGhhbmRsZWQgKi8KKworbm9fa21taW9fY3R4OgorCXB1dF9jcHVfdmFyKGttbWlvX2N0eCk7Citub19rbW1pbzoKKwlyY3VfcmVhZF91bmxvY2soKTsKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIEludGVycnVwdHMgYXJlIGRpc2FibGVkIG9uIGVudHJ5IGFzIHRyYXAxIGlzIGFuIGludGVycnVwdCBnYXRlCisgKiBhbmQgdGhleSByZW1haW4gZGlzYWJsZWQgdGhvcm91Z2ggb3V0IHRoaXMgZnVuY3Rpb24uCisgKiBUaGlzIG11c3QgYWx3YXlzIGdldCBjYWxsZWQgYXMgdGhlIHBhaXIgdG8ga21taW9faGFuZGxlcigpLgorICovCitzdGF0aWMgaW50IHBvc3Rfa21taW9faGFuZGxlcih1bnNpZ25lZCBsb25nIGNvbmRpdGlvbiwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJaW50IHJldCA9IDA7CisJc3RydWN0IGttbWlvX2NvbnRleHQgKmN0eCA9ICZnZXRfY3B1X3ZhcihrbW1pb19jdHgpOworCisJaWYgKCFjdHgtPmFjdGl2ZSkgeworCQlwcl9kZWJ1Zygia21taW86IHNwdXJpb3VzIGRlYnVnIHRyYXAgb24gQ1BVICVkLlxuIiwKKwkJCQkJCQlzbXBfcHJvY2Vzc29yX2lkKCkpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoY3R4LT5wcm9iZSAmJiBjdHgtPnByb2JlLT5wb3N0X2hhbmRsZXIpCisJCWN0eC0+cHJvYmUtPnBvc3RfaGFuZGxlcihjdHgtPnByb2JlLCBjb25kaXRpb24sIHJlZ3MpOworCisJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoY3R4LT5mcGFnZS0+cGFnZSwgTlVMTCk7CisKKwlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19URjsKKwlyZWdzLT5mbGFncyB8PSBjdHgtPnNhdmVkX2ZsYWdzOworCisJLyogVGhlc2Ugd2VyZSBhY3F1aXJlZCBpbiBrbW1pb19oYW5kbGVyKCkuICovCisJY3R4LT5hY3RpdmUtLTsKKwlCVUdfT04oY3R4LT5hY3RpdmUpOworCXJjdV9yZWFkX3VubG9jaygpOworCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKKworCS8qCisJICogaWYgc29tZWJvZHkgZWxzZSBpcyBzaW5nbGVzdGVwcGluZyBhY3Jvc3MgYSBwcm9iZSBwb2ludCwgZmxhZ3MKKwkgKiB3aWxsIGhhdmUgVEYgc2V0LCBpbiB3aGljaCBjYXNlLCBjb250aW51ZSB0aGUgcmVtYWluaW5nIHByb2Nlc3NpbmcKKwkgKiBvZiBkb19kZWJ1ZywgYXMgaWYgdGhpcyBpcyBub3QgYSBwcm9iZSBoaXQuCisJICovCisJaWYgKCEocmVncy0+ZmxhZ3MgJiBYODZfRUZMQUdTX1RGKSkKKwkJcmV0ID0gMTsKK291dDoKKwlwdXRfY3B1X3ZhcihrbW1pb19jdHgpOworCXJldHVybiByZXQ7Cit9CisKKy8qIFlvdSBtdXN0IGJlIGhvbGRpbmcga21taW9fbG9jay4gKi8KK3N0YXRpYyBpbnQgYWRkX2ttbWlvX2ZhdWx0X3BhZ2UodW5zaWduZWQgbG9uZyBwYWdlKQoreworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpmOworCisJcGFnZSAmPSBQQUdFX01BU0s7CisJZiA9IGdldF9rbW1pb19mYXVsdF9wYWdlKHBhZ2UpOworCWlmIChmKSB7CisJCWlmICghZi0+Y291bnQpCisJCQlhcm1fa21taW9fZmF1bHRfcGFnZShmLT5wYWdlLCBOVUxMKTsKKwkJZi0+Y291bnQrKzsKKwkJcmV0dXJuIDA7CisJfQorCisJZiA9IGttYWxsb2Moc2l6ZW9mKCpmKSwgR0ZQX0FUT01JQyk7CisJaWYgKCFmKQorCQlyZXR1cm4gLTE7CisKKwlmLT5jb3VudCA9IDE7CisJZi0+cGFnZSA9IHBhZ2U7CisJbGlzdF9hZGRfcmN1KCZmLT5saXN0LCBrbW1pb19wYWdlX2xpc3QoZi0+cGFnZSkpOworCisJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoZi0+cGFnZSwgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KKworLyogWW91IG11c3QgYmUgaG9sZGluZyBrbW1pb19sb2NrLiAqLworc3RhdGljIHZvaWQgcmVsZWFzZV9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSwKKwkJCQlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqKnJlbGVhc2VfbGlzdCkKK3sKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZjsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWYgPSBnZXRfa21taW9fZmF1bHRfcGFnZShwYWdlKTsKKwlpZiAoIWYpCisJCXJldHVybjsKKworCWYtPmNvdW50LS07CisJQlVHX09OKGYtPmNvdW50IDwgMCk7CisJaWYgKCFmLT5jb3VudCkgeworCQlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShmLT5wYWdlLCBOVUxMKTsKKwkJZi0+cmVsZWFzZV9uZXh0ID0gKnJlbGVhc2VfbGlzdDsKKwkJKnJlbGVhc2VfbGlzdCA9IGY7CisJfQorfQorCisvKgorICogV2l0aCBwYWdlLXVuYWxpZ25lZCBpb3JlbWFwcywgb25lIG9yIHR3byBhcm1lZCBwYWdlcyBtYXkgY29udGFpbgorICogYWRkcmVzc2VzIGZyb20gb3V0c2lkZSB0aGUgaW50ZW5kZWQgbWFwcGluZy4gRXZlbnRzIGZvciB0aGVzZSBhZGRyZXNzZXMKKyAqIGFyZSBjdXJyZW50bHkgc2lsZW50bHkgZHJvcHBlZC4gVGhlIGV2ZW50cyBtYXkgcmVzdWx0IG9ubHkgZnJvbSBwcm9ncmFtbWluZworICogbWlzdGFrZXMgYnkgYWNjZXNzaW5nIGFkZHJlc3NlcyBiZWZvcmUgdGhlIGJlZ2lubmluZyBvciBwYXN0IHRoZSBlbmQgb2YgYQorICogbWFwcGluZy4KKyAqLworaW50IHJlZ2lzdGVyX2ttbWlvX3Byb2JlKHN0cnVjdCBrbW1pb19wcm9iZSAqcCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQgPSAwOworCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IDA7CisJY29uc3QgdW5zaWduZWQgbG9uZyBzaXplX2xpbSA9IHAtPmxlbiArIChwLT5hZGRyICYgflBBR0VfTUFTSyk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgma21taW9fbG9jaywgZmxhZ3MpOworCWlmIChnZXRfa21taW9fcHJvYmUocC0+YWRkcikpIHsKKwkJcmV0ID0gLUVFWElTVDsKKwkJZ290byBvdXQ7CisJfQorCWttbWlvX2NvdW50Kys7CisJbGlzdF9hZGRfcmN1KCZwLT5saXN0LCAma21taW9fcHJvYmVzKTsKKwl3aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7CisJCWlmIChhZGRfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsgc2l6ZSkpCisJCQlwcl9lcnIoImttbWlvOiBVbmFibGUgdG8gc2V0IHBhZ2UgZmF1bHQuXG4iKTsKKwkJc2l6ZSArPSBQQUdFX1NJWkU7CisJfQorb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwkvKgorCSAqIFhYWDogV2hhdCBzaG91bGQgSSBkbyBoZXJlPworCSAqIEhlcmUgd2FzIGEgY2FsbCB0byBnbG9iYWxfZmx1c2hfdGxiKCksIGJ1dCBpdCBkb2VzIG5vdCBleGlzdAorCSAqIGFueW1vcmUuIEl0IHNlZW1zIGl0J3Mgbm90IG5lZWRlZCBhZnRlciBhbGwuCisJICovCisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0wocmVnaXN0ZXJfa21taW9fcHJvYmUpOworCitzdGF0aWMgdm9pZCByY3VfZnJlZV9rbW1pb19mYXVsdF9wYWdlcyhzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCit7CisJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSAqZHIgPSBjb250YWluZXJfb2YoCisJCQkJCQloZWFkLAorCQkJCQkJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSwKKwkJCQkJCXJjdSk7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnAgPSBkci0+cmVsZWFzZV9saXN0OworCXdoaWxlIChwKSB7CisJCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpuZXh0ID0gcC0+cmVsZWFzZV9uZXh0OworCQlCVUdfT04ocC0+Y291bnQpOworCQlrZnJlZShwKTsKKwkJcCA9IG5leHQ7CisJfQorCWtmcmVlKGRyKTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlX2ttbWlvX2ZhdWx0X3BhZ2VzKHN0cnVjdCByY3VfaGVhZCAqaGVhZCkKK3sKKwlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlICpkciA9IGNvbnRhaW5lcl9vZigKKwkJCQkJCWhlYWQsCisJCQkJCQlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlLAorCQkJCQkJcmN1KTsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcCA9IGRyLT5yZWxlYXNlX2xpc3Q7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKipwcmV2cCA9ICZkci0+cmVsZWFzZV9saXN0OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwl3aGlsZSAocCkgeworCQlpZiAoIXAtPmNvdW50KQorCQkJbGlzdF9kZWxfcmN1KCZwLT5saXN0KTsKKwkJZWxzZQorCQkJKnByZXZwID0gcC0+cmVsZWFzZV9uZXh0OworCQlwcmV2cCA9ICZwLT5yZWxlYXNlX25leHQ7CisJCXAgPSBwLT5yZWxlYXNlX25leHQ7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwkvKiBUaGlzIGlzIHRoZSByZWFsIFJDVSBkZXN0cm95IGNhbGwuICovCisJY2FsbF9yY3UoJmRyLT5yY3UsIHJjdV9mcmVlX2ttbWlvX2ZhdWx0X3BhZ2VzKTsKK30KKworLyoKKyAqIFJlbW92ZSBhIGttbWlvIHByb2JlLiBZb3UgaGF2ZSB0byBzeW5jaHJvbml6ZV9yY3UoKSBiZWZvcmUgeW91IGNhbiBiZQorICogc3VyZSB0aGF0IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgYmUgY2FsbGVkIGFueW1vcmUuIE9ubHkgYWZ0ZXIgdGhhdAorICogeW91IG1heSBhY3R1YWxseSByZWxlYXNlIHlvdXIgc3RydWN0IGttbWlvX3Byb2JlLgorICoKKyAqIFVucmVnaXN0ZXJpbmcgYSBrbW1pbyBmYXVsdCBwYWdlIGhhcyB0aHJlZSBzdGVwczoKKyAqIDEuIHJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZSgpCisgKiAgICBEaXNhcm0gdGhlIHBhZ2UsIHdhaXQgYSBncmFjZSBwZXJpb2QgdG8gbGV0IGFsbCBmYXVsdHMgZmluaXNoLgorICogMi4gcmVtb3ZlX2ttbWlvX2ZhdWx0X3BhZ2VzKCkKKyAqICAgIFJlbW92ZSB0aGUgcGFnZXMgZnJvbSBrbW1pb19wYWdlX3RhYmxlLgorICogMy4gcmN1X2ZyZWVfa21taW9fZmF1bHRfcGFnZXMoKQorICogICAgQWN0YWxseSBmcmVlIHRoZSBrbW1pb19mYXVsdF9wYWdlIHN0cnVjdHMgYXMgd2l0aCBSQ1UuCisgKi8KK3ZvaWQgdW5yZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSAwOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgc2l6ZV9saW0gPSBwLT5sZW4gKyAocC0+YWRkciAmIH5QQUdFX01BU0spOworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpyZWxlYXNlX2xpc3QgPSBOVUxMOworCXN0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgKmRyZWxlYXNlOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwl3aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7CisJCXJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsgc2l6ZSwgJnJlbGVhc2VfbGlzdCk7CisJCXNpemUgKz0gUEFHRV9TSVpFOworCX0KKwlsaXN0X2RlbF9yY3UoJnAtPmxpc3QpOworCWttbWlvX2NvdW50LS07CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgma21taW9fbG9jaywgZmxhZ3MpOworCisJZHJlbGVhc2UgPSBrbWFsbG9jKHNpemVvZigqZHJlbGVhc2UpLCBHRlBfQVRPTUlDKTsKKwlpZiAoIWRyZWxlYXNlKSB7CisJCXByX2NyaXQoImttbWlvOiBsZWFraW5nIGttbWlvX2ZhdWx0X3BhZ2Ugb2JqZWN0cy5cbiIpOworCQlyZXR1cm47CisJfQorCWRyZWxlYXNlLT5yZWxlYXNlX2xpc3QgPSByZWxlYXNlX2xpc3Q7CisKKwkvKgorCSAqIFRoaXMgaXMgbm90IHJlYWxseSBSQ1UgaGVyZS4gV2UgaGF2ZSBqdXN0IGRpc2FybWVkIGEgc2V0IG9mCisJICogcGFnZXMgc28gdGhhdCB0aGV5IGNhbm5vdCB0cmlnZ2VyIHBhZ2UgZmF1bHRzIGFueW1vcmUuIEhvd2V2ZXIsCisJICogd2UgY2Fubm90IHJlbW92ZSB0aGUgcGFnZXMgZnJvbSBrbW1pb19wYWdlX3RhYmxlLAorCSAqIGJlY2F1c2UgYSBwcm9iZSBoaXQgbWlnaHQgYmUgaW4gZmxpZ2h0IG9uIGFub3RoZXIgQ1BVLiBUaGUKKwkgKiBwYWdlcyBhcmUgY29sbGVjdGVkIGludG8gYSBsaXN0LCBhbmQgdGhleSB3aWxsIGJlIHJlbW92ZWQgZnJvbQorCSAqIGttbWlvX3BhZ2VfdGFibGUgd2hlbiBpdCBpcyBjZXJ0YWluIHRoYXQgbm8gcHJvYmUgaGl0IHJlbGF0ZWQgdG8KKwkgKiB0aGVzZSBwYWdlcyBjYW4gYmUgaW4gZmxpZ2h0LiBSQ1UgZ3JhY2UgcGVyaW9kIHNvdW5kcyBsaWtlIGEKKwkgKiBnb29kIGNob2ljZS4KKwkgKgorCSAqIElmIHdlIHJlbW92ZWQgdGhlIHBhZ2VzIHRvbyBlYXJseSwga21taW8gcGFnZSBmYXVsdCBoYW5kbGVyIG1pZ2h0CisJICogbm90IGZpbmQgdGhlIHJlc3BlY3RpdmUga21taW9fZmF1bHRfcGFnZSBhbmQgZGV0ZXJtaW5lIGl0J3Mgbm90CisJICogYSBrbW1pbyBmYXVsdCwgd2hlbiBpdCBhY3R1YWxseSBpcy4gVGhpcyB3b3VsZCBsZWFkIHRvIG1hZG5lc3MuCisJICovCisJY2FsbF9yY3UoJmRyZWxlYXNlLT5yY3UsIHJlbW92ZV9rbW1pb19mYXVsdF9wYWdlcyk7Cit9CitFWFBPUlRfU1lNQk9MKHVucmVnaXN0ZXJfa21taW9fcHJvYmUpOworCitzdGF0aWMgaW50IGttbWlvX2RpZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIHZhbCwKKwkJCQkJCQkJdm9pZCAqYXJncykKK3sKKwlzdHJ1Y3QgZGllX2FyZ3MgKmFyZyA9IGFyZ3M7CisKKwlpZiAodmFsID09IERJRV9ERUJVRyAmJiAoYXJnLT5lcnIgJiBEUl9TVEVQKSkKKwkJaWYgKHBvc3Rfa21taW9faGFuZGxlcihhcmctPmVyciwgYXJnLT5yZWdzKSA9PSAxKQorCQkJcmV0dXJuIE5PVElGWV9TVE9QOworCisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCitzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIG5iX2RpZSA9IHsKKwkubm90aWZpZXJfY2FsbCA9IGttbWlvX2RpZV9ub3RpZmllcgorfTsKKworc3RhdGljIGludCBfX2luaXQgaW5pdF9rbW1pbyh2b2lkKQoreworCWludCBpOworCWZvciAoaSA9IDA7IGkgPCBLTU1JT19QQUdFX1RBQkxFX1NJWkU7IGkrKykKKwkJSU5JVF9MSVNUX0hFQUQoJmttbWlvX3BhZ2VfdGFibGVbaV0pOworCXJldHVybiByZWdpc3Rlcl9kaWVfbm90aWZpZXIoJm5iX2RpZSk7Cit9Citmc19pbml0Y2FsbChpbml0X2ttbWlvKTsgLyogc2hvdWxkIGJlIGJlZm9yZSBkZXZpY2VfaW5pdGNhbGwoKSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vbW1pby1tb2QuYyBiL2FyY2gveDg2L21tL21taW8tbW9kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTczOTdlMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL21taW8tbW9kLmMKQEAgLTAsMCArMSw1MTUgQEAKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqIENvcHlyaWdodCAoQykgSUJNIENvcnBvcmF0aW9uLCAyMDA1CisgKiAgICAgICAgICAgICAgIEplZmYgTXVpemVsYWFyLCAyMDA2LCAyMDA3CisgKiAgICAgICAgICAgICAgIFBla2thIFBhYWxhbmVuLCAyMDA4IDxwcUBpa2kuZmk+CisgKgorICogRGVyaXZlZCBmcm9tIHRoZSByZWFkLW1vZCBleGFtcGxlIGZyb20gcmVsYXktZXhhbXBsZXMgYnkgVG9tIFphbnVzc2kuCisgKi8KKyNkZWZpbmUgREVCVUcgMQorCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4gLyogZm9yIElTQV9TVEFSVF9BRERSRVNTICovCisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorCisjaW5jbHVkZSAicGZfaW4uaCIKKworI2RlZmluZSBOQU1FICJtbWlvdHJhY2U6ICIKKworc3RydWN0IHRyYXBfcmVhc29uIHsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJdW5zaWduZWQgbG9uZyBpcDsKKwllbnVtIHJlYXNvbl90eXBlIHR5cGU7CisJaW50IGFjdGl2ZV90cmFjZXM7Cit9OworCitzdHJ1Y3QgcmVtYXBfdHJhY2UgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3Qga21taW9fcHJvYmUgcHJvYmU7CisJcmVzb3VyY2Vfc2l6ZV90IHBoeXM7CisJdW5zaWduZWQgbG9uZyBpZDsKK307CisKKy8qIEFjY2Vzc2VkIHBlci1jcHUuICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRyYXBfcmVhc29uLCBwZl9yZWFzb24pOworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbWlvdHJhY2VfcncsIGNwdV90cmFjZSk7CisKKyNpZiAwIC8qIFhYWDogbm8gd2F5IGdhdGhlciB0aGlzIGluZm8gYW55bW9yZSAqLworLyogQWNjZXNzIHRvIHRoaXMgaXMgbm90IHBlci1jcHUuICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoYXRvbWljX3QsIGRyb3BwZWQpOworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICptYXJrZXJfZmlsZTsKKworc3RhdGljIERFRklORV9NVVRFWChtbWlvdHJhY2VfbXV0ZXgpOworc3RhdGljIERFRklORV9TUElOTE9DSyh0cmFjZV9sb2NrKTsKK3N0YXRpYyBhdG9taWNfdCBtbWlvdHJhY2VfZW5hYmxlZDsKK3N0YXRpYyBMSVNUX0hFQUQodHJhY2VfbGlzdCk7CQkvKiBzdHJ1Y3QgcmVtYXBfdHJhY2UgKi8KKworLyoKKyAqIExvY2tpbmcgaW4gdGhpcyBmaWxlOgorICogLSBtbWlvdHJhY2VfbXV0ZXggZW5mb3JjZXMgZW5hYmxlL2Rpc2FibGVfbW1pb3RyYWNlKCkgY3JpdGljYWwgc2VjdGlvbnMuCisgKiAtIG1taW90cmFjZV9lbmFibGVkIG1heSBiZSBtb2RpZmllZCBvbmx5IHdoZW4gaG9sZGluZyBtbWlvdHJhY2VfbXV0ZXgKKyAqICAgYW5kIHRyYWNlX2xvY2suCisgKiAtIFJvdXRpbmVzIGRlcGVuZGluZyBvbiBpc19lbmFibGVkKCkgbXVzdCB0YWtlIHRyYWNlX2xvY2suCisgKiAtIHRyYWNlX2xpc3QgdXNlcnMgbXVzdCBob2xkIHRyYWNlX2xvY2suCisgKiAtIGlzX2VuYWJsZWQoKSBndWFyYW50ZWVzIHRoYXQgbW1pb190cmFjZV9yZWNvcmQgaXMgYWxsb3dlZC4KKyAqIC0gcHJlL3Bvc3QgY2FsbGJhY2tzIGFzc3VtZSB0aGUgZWZmZWN0IG9mIGlzX2VuYWJsZWQoKSBiZWluZyB0cnVlLgorICovCisKKy8qIG1vZHVsZSBwYXJhbWV0ZXJzICovCitzdGF0aWMgdW5zaWduZWQgbG9uZwlmaWx0ZXJfb2Zmc2V0Oworc3RhdGljIGludAkJbm9tbWlvdHJhY2U7CitzdGF0aWMgaW50CQl0cmFjZV9wYzsKKworbW9kdWxlX3BhcmFtKGZpbHRlcl9vZmZzZXQsIHVsb25nLCAwKTsKK21vZHVsZV9wYXJhbShub21taW90cmFjZSwgYm9vbCwgMCk7Cittb2R1bGVfcGFyYW0odHJhY2VfcGMsIGJvb2wsIDApOworCitNT0RVTEVfUEFSTV9ERVNDKGZpbHRlcl9vZmZzZXQsICJTdGFydCBhZGRyZXNzIG9mIHRyYWNlZCBtYXBwaW5ncy4iKTsKK01PRFVMRV9QQVJNX0RFU0Mobm9tbWlvdHJhY2UsICJEaXNhYmxlIGFjdHVhbCBNTUlPIHRyYWNpbmcuIik7CitNT0RVTEVfUEFSTV9ERVNDKHRyYWNlX3BjLCAiUmVjb3JkIGFkZHJlc3Mgb2YgZmF1bHRpbmcgaW5zdHJ1Y3Rpb25zLiIpOworCitzdGF0aWMgYm9vbCBpc19lbmFibGVkKHZvaWQpCit7CisJcmV0dXJuIGF0b21pY19yZWFkKCZtbWlvdHJhY2VfZW5hYmxlZCk7Cit9CisKKyNpZiAwIC8qIFhYWDogbmVlZHMgcmV3cml0ZSAqLworLyoKKyAqIFdyaXRlIGNhbGxiYWNrIGZvciB0aGUgZGVidWdmcyBlbnRyeToKKyAqIFJlYWQgYSBtYXJrZXIgYW5kIHdyaXRlIGl0IHRvIHRoZSBtbWlvIHRyYWNlIGxvZworICovCitzdGF0aWMgc3NpemVfdCB3cml0ZV9tYXJrZXIoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCisJCQkJCQlzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyICpldmVudCA9IE5VTEw7CisJc3RydWN0IG1tX2lvX2hlYWRlciAqaGVhZHA7CisJc3NpemVfdCBsZW4gPSAoY291bnQgPiA2NTUzNSkgPyA2NTUzNSA6IGNvdW50OworCisJZXZlbnQgPSBremFsbG9jKHNpemVvZigqaGVhZHApICsgbGVuLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWV2ZW50KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWhlYWRwID0gKHN0cnVjdCBtbV9pb19oZWFkZXIgKilldmVudDsKKwloZWFkcC0+dHlwZSA9IE1NSU9fTUFHSUMgfCAoTU1JT19NQVJLRVIgPDwgTU1JT19PUENPREVfU0hJRlQpOworCWhlYWRwLT5kYXRhX2xlbiA9IGxlbjsKKworCWlmIChjb3B5X2Zyb21fdXNlcihldmVudCArIHNpemVvZigqaGVhZHApLCBidWZmZXIsIGxlbikpIHsKKwkJa2ZyZWUoZXZlbnQpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlzcGluX2xvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKyNpZiAwIC8qIFhYWDogY29udmVydCB0aGlzIHRvIHVzZSB0cmFjaW5nICovCisJaWYgKGlzX2VuYWJsZWQoKSkKKwkJcmVsYXlfd3JpdGUoY2hhbiwgZXZlbnQsIHNpemVvZigqaGVhZHApICsgbGVuKTsKKwllbHNlCisjZW5kaWYKKwkJbGVuID0gLUVJTlZBTDsKKwlzcGluX3VubG9ja19pcnEoJnRyYWNlX2xvY2spOworCWtmcmVlKGV2ZW50KTsKKwlyZXR1cm4gbGVuOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIHByaW50X3B0ZSh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisJdW5zaWduZWQgaW50IGxldmVsOworCXB0ZV90ICpwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyZXNzLCAmbGV2ZWwpOworCisJaWYgKCFwdGUpIHsKKwkJcHJfZXJyKE5BTUUgIkVycm9yIGluICVzOiBubyBwdGUgZm9yIHBhZ2UgMHglMDhseFxuIiwKKwkJCQkJCQlfX2Z1bmNfXywgYWRkcmVzcyk7CisJCXJldHVybjsKKwl9CisKKwlpZiAobGV2ZWwgPT0gUEdfTEVWRUxfMk0pIHsKKwkJcHJfZW1lcmcoTkFNRSAiNE1CIHBhZ2VzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZDogIgorCQkJCQkJCSIweCUwOGx4XG4iLCBhZGRyZXNzKTsKKwkJQlVHKCk7CisJfQorCXByX2luZm8oTkFNRSAicHRlIGZvciAweCVseDogMHglbGx4IDB4JWxseFxuIiwgYWRkcmVzcywKKwkJKHVuc2lnbmVkIGxvbmcgbG9uZylwdGVfdmFsKCpwdGUpLAorCQkodW5zaWduZWQgbG9uZyBsb25nKXB0ZV92YWwoKnB0ZSkgJiBfUEFHRV9QUkVTRU5UKTsKK30KKworLyoKKyAqIEZvciBzb21lIHJlYXNvbiB0aGUgcHJlL3Bvc3QgcGFpcnMgaGF2ZSBiZWVuIGNhbGxlZCBpbiBhbgorICogdW5tYXRjaGVkIG9yZGVyLiBSZXBvcnQgYW5kIGRpZS4KKyAqLworc3RhdGljIHZvaWQgZGllX2ttbWlvX25lc3RpbmdfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwljb25zdCBzdHJ1Y3QgdHJhcF9yZWFzb24gKm15X3JlYXNvbiA9ICZnZXRfY3B1X3ZhcihwZl9yZWFzb24pOworCXByX2VtZXJnKE5BTUUgInVuZXhwZWN0ZWQgZmF1bHQgZm9yIGFkZHJlc3M6IDB4JTA4bHgsICIKKwkJCQkJImxhc3QgZmF1bHQgZm9yIGFkZHJlc3M6IDB4JTA4bHhcbiIsCisJCQkJCWFkZHIsIG15X3JlYXNvbi0+YWRkcik7CisJcHJpbnRfcHRlKGFkZHIpOworCXByaW50X3N5bWJvbChLRVJOX0VNRVJHICJmYXVsdGluZyBJUCBpcyBhdCAlc1xuIiwgcmVncy0+aXApOworCXByaW50X3N5bWJvbChLRVJOX0VNRVJHICJsYXN0IGZhdWx0aW5nIElQIHdhcyBhdCAlc1xuIiwgbXlfcmVhc29uLT5pcCk7CisjaWZkZWYgX19pMzg2X18KKwlwcl9lbWVyZygiZWF4OiAlMDhseCAgIGVieDogJTA4bHggICBlY3g6ICUwOGx4ICAgZWR4OiAlMDhseFxuIiwKKwkJCXJlZ3MtPmF4LCByZWdzLT5ieCwgcmVncy0+Y3gsIHJlZ3MtPmR4KTsKKwlwcl9lbWVyZygiZXNpOiAlMDhseCAgIGVkaTogJTA4bHggICBlYnA6ICUwOGx4ICAgZXNwOiAlMDhseFxuIiwKKwkJCXJlZ3MtPnNpLCByZWdzLT5kaSwgcmVncy0+YnAsIHJlZ3MtPnNwKTsKKyNlbHNlCisJcHJfZW1lcmcoInJheDogJTAxNmx4ICAgcmN4OiAlMDE2bHggICByZHg6ICUwMTZseFxuIiwKKwkJCQkJcmVncy0+YXgsIHJlZ3MtPmN4LCByZWdzLT5keCk7CisJcHJfZW1lcmcoInJzaTogJTAxNmx4ICAgcmRpOiAlMDE2bHggICByYnA6ICUwMTZseCAgIHJzcDogJTAxNmx4XG4iLAorCQkJCXJlZ3MtPnNpLCByZWdzLT5kaSwgcmVncy0+YnAsIHJlZ3MtPnNwKTsKKyNlbmRpZgorCXB1dF9jcHVfdmFyKHBmX3JlYXNvbik7CisJQlVHKCk7Cit9CisKK3N0YXRpYyB2b2lkIHByZShzdHJ1Y3Qga21taW9fcHJvYmUgKnAsIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCQkJCQkJdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCB0cmFwX3JlYXNvbiAqbXlfcmVhc29uID0gJmdldF9jcHVfdmFyKHBmX3JlYXNvbik7CisJc3RydWN0IG1taW90cmFjZV9ydyAqbXlfdHJhY2UgPSAmZ2V0X2NwdV92YXIoY3B1X3RyYWNlKTsKKwljb25zdCB1bnNpZ25lZCBsb25nIGluc3RwdHIgPSBpbnN0cnVjdGlvbl9wb2ludGVyKHJlZ3MpOworCWNvbnN0IGVudW0gcmVhc29uX3R5cGUgdHlwZSA9IGdldF9pbnNfdHlwZShpbnN0cHRyKTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlID0gcC0+cHJpdmF0ZTsKKworCS8qIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBoYXZlIG1vcmUgdGhhbiBvbmUgYWN0aXZlIHRyYWNlIHBlciBjcHUgKi8KKwlpZiAobXlfcmVhc29uLT5hY3RpdmVfdHJhY2VzKQorCQlkaWVfa21taW9fbmVzdGluZ19lcnJvcihyZWdzLCBhZGRyKTsKKwllbHNlCisJCW15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcysrOworCisJbXlfcmVhc29uLT50eXBlID0gdHlwZTsKKwlteV9yZWFzb24tPmFkZHIgPSBhZGRyOworCW15X3JlYXNvbi0+aXAgPSBpbnN0cHRyOworCisJbXlfdHJhY2UtPnBoeXMgPSBhZGRyIC0gdHJhY2UtPnByb2JlLmFkZHIgKyB0cmFjZS0+cGh5czsKKwlteV90cmFjZS0+bWFwX2lkID0gdHJhY2UtPmlkOworCisJLyoKKwkgKiBPbmx5IHJlY29yZCB0aGUgcHJvZ3JhbSBjb3VudGVyIHdoZW4gcmVxdWVzdGVkLgorCSAqIEl0IG1heSB0YWludCBjbGVhbi1yb29tIHJldmVyc2UgZW5naW5lZXJpbmcuCisJICovCisJaWYgKHRyYWNlX3BjKQorCQlteV90cmFjZS0+cGMgPSBpbnN0cHRyOworCWVsc2UKKwkJbXlfdHJhY2UtPnBjID0gMDsKKworCS8qCisJICogWFhYOiB0aGUgdGltZXN0YW1wIHJlY29yZGVkIHdpbGwgYmUgKmFmdGVyKiB0aGUgdHJhY2luZyBoYXMgYmVlbgorCSAqIGRvbmUsIG5vdCBhdCB0aGUgdGltZSB3ZSBoaXQgdGhlIGluc3RydWN0aW9uLiBTTVAgaW1wbGljYXRpb25zCisJICogb24gZXZlbnQgb3JkZXJpbmc/CisJICovCisKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFJFR19SRUFEOgorCQlteV90cmFjZS0+b3Bjb2RlID0gTU1JT19SRUFEOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJYnJlYWs7CisJY2FzZSBSRUdfV1JJVEU6CisJCW15X3RyYWNlLT5vcGNvZGUgPSBNTUlPX1dSSVRFOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJbXlfdHJhY2UtPnZhbHVlID0gZ2V0X2luc19yZWdfdmFsKGluc3RwdHIsIHJlZ3MpOworCQlicmVhazsKKwljYXNlIElNTV9XUklURToKKwkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fV1JJVEU7CisJCW15X3RyYWNlLT53aWR0aCA9IGdldF9pbnNfbWVtX3dpZHRoKGluc3RwdHIpOworCQlteV90cmFjZS0+dmFsdWUgPSBnZXRfaW5zX2ltbV92YWwoaW5zdHB0cik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXsKKwkJCXVuc2lnbmVkIGNoYXIgKmlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnN0cHRyOworCQkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fVU5LTk9XTl9PUDsKKwkJCW15X3RyYWNlLT53aWR0aCA9IDA7CisJCQlteV90cmFjZS0+dmFsdWUgPSAoKmlwKSA8PCAxNiB8ICooaXAgKyAxKSA8PCA4IHwKKwkJCQkJCQkJKihpcCArIDIpOworCQl9CisJfQorCXB1dF9jcHVfdmFyKGNwdV90cmFjZSk7CisJcHV0X2NwdV92YXIocGZfcmVhc29uKTsKK30KKworc3RhdGljIHZvaWQgcG9zdChzdHJ1Y3Qga21taW9fcHJvYmUgKnAsIHVuc2lnbmVkIGxvbmcgY29uZGl0aW9uLAorCQkJCQkJCXN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXN0cnVjdCB0cmFwX3JlYXNvbiAqbXlfcmVhc29uID0gJmdldF9jcHVfdmFyKHBmX3JlYXNvbik7CisJc3RydWN0IG1taW90cmFjZV9ydyAqbXlfdHJhY2UgPSAmZ2V0X2NwdV92YXIoY3B1X3RyYWNlKTsKKworCS8qIHRoaXMgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIGFjdGl2ZV90cmFjZSBjb3VudCB0byAwICovCisJbXlfcmVhc29uLT5hY3RpdmVfdHJhY2VzLS07CisJaWYgKG15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcykgeworCQlwcl9lbWVyZyhOQU1FICJ1bmV4cGVjdGVkIHBvc3QgaGFuZGxlciIpOworCQlCVUcoKTsKKwl9CisKKwlzd2l0Y2ggKG15X3JlYXNvbi0+dHlwZSkgeworCWNhc2UgUkVHX1JFQUQ6CisJCW15X3RyYWNlLT52YWx1ZSA9IGdldF9pbnNfcmVnX3ZhbChteV9yZWFzb24tPmlwLCByZWdzKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJbW1pb190cmFjZV9ydyhteV90cmFjZSk7CisJcHV0X2NwdV92YXIoY3B1X3RyYWNlKTsKKwlwdXRfY3B1X3ZhcihwZl9yZWFzb24pOworfQorCitzdGF0aWMgdm9pZCBpb3JlbWFwX3RyYWNlX2NvcmUocmVzb3VyY2Vfc2l6ZV90IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCQkJCXZvaWQgX19pb21lbSAqYWRkcikKK3sKKwlzdGF0aWMgYXRvbWljX3QgbmV4dF9pZDsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlID0ga21hbGxvYyhzaXplb2YoKnRyYWNlKSwgR0ZQX0tFUk5FTCk7CisJLyogVGhlc2UgYXJlIHBhZ2UtdW5hbGlnbmVkLiAqLworCXN0cnVjdCBtbWlvdHJhY2VfbWFwIG1hcCA9IHsKKwkJLnBoeXMgPSBvZmZzZXQsCisJCS52aXJ0ID0gKHVuc2lnbmVkIGxvbmcpYWRkciwKKwkJLmxlbiA9IHNpemUsCisJCS5vcGNvZGUgPSBNTUlPX1BST0JFCisJfTsKKworCWlmICghdHJhY2UpIHsKKwkJcHJfZXJyKE5BTUUgImttYWxsb2MgZmFpbGVkIGluIGlvcmVtYXBcbiIpOworCQlyZXR1cm47CisJfQorCisJKnRyYWNlID0gKHN0cnVjdCByZW1hcF90cmFjZSkgeworCQkucHJvYmUgPSB7CisJCQkuYWRkciA9ICh1bnNpZ25lZCBsb25nKWFkZHIsCisJCQkubGVuID0gc2l6ZSwKKwkJCS5wcmVfaGFuZGxlciA9IHByZSwKKwkJCS5wb3N0X2hhbmRsZXIgPSBwb3N0LAorCQkJLnByaXZhdGUgPSB0cmFjZQorCQl9LAorCQkucGh5cyA9IG9mZnNldCwKKwkJLmlkID0gYXRvbWljX2luY19yZXR1cm4oJm5leHRfaWQpCisJfTsKKwltYXAubWFwX2lkID0gdHJhY2UtPmlkOworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gbm90X2VuYWJsZWQ7CisKKwltbWlvX3RyYWNlX21hcHBpbmcoJm1hcCk7CisJbGlzdF9hZGRfdGFpbCgmdHJhY2UtPmxpc3QsICZ0cmFjZV9saXN0KTsKKwlpZiAoIW5vbW1pb3RyYWNlKQorCQlyZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKworbm90X2VuYWJsZWQ6CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKK30KKwordm9pZCBtbWlvdHJhY2VfaW9yZW1hcChyZXNvdXJjZV9zaXplX3Qgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQl2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJaWYgKCFpc19lbmFibGVkKCkpIC8qIHJlY2hlY2sgYW5kIHByb3BlciBsb2NraW5nIGluICpfY29yZSgpICovCisJCXJldHVybjsKKworCXByX2RlYnVnKE5BTUUgImlvcmVtYXBfKigweCVsbHgsIDB4JWx4KSA9ICVwXG4iLAorCQkJCSh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0LCBzaXplLCBhZGRyKTsKKwlpZiAoKGZpbHRlcl9vZmZzZXQpICYmIChvZmZzZXQgIT0gZmlsdGVyX29mZnNldCkpCisJCXJldHVybjsKKwlpb3JlbWFwX3RyYWNlX2NvcmUob2Zmc2V0LCBzaXplLCBhZGRyKTsKK30KKworc3RhdGljIHZvaWQgaW91bm1hcF90cmFjZV9jb3JlKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKK3sKKwlzdHJ1Y3QgbW1pb3RyYWNlX21hcCBtYXAgPSB7CisJCS5waHlzID0gMCwKKwkJLnZpcnQgPSAodW5zaWduZWQgbG9uZylhZGRyLAorCQkubGVuID0gMCwKKwkJLm9wY29kZSA9IE1NSU9fVU5QUk9CRQorCX07CisJc3RydWN0IHJlbWFwX3RyYWNlICp0cmFjZTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRtcDsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKmZvdW5kX3RyYWNlID0gTlVMTDsKKworCXByX2RlYnVnKE5BTUUgIlVubWFwcGluZyAlcC5cbiIsIGFkZHIpOworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gbm90X2VuYWJsZWQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodHJhY2UsIHRtcCwgJnRyYWNlX2xpc3QsIGxpc3QpIHsKKwkJaWYgKCh1bnNpZ25lZCBsb25nKWFkZHIgPT0gdHJhY2UtPnByb2JlLmFkZHIpIHsKKwkJCWlmICghbm9tbWlvdHJhY2UpCisJCQkJdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKwkJCWxpc3RfZGVsKCZ0cmFjZS0+bGlzdCk7CisJCQlmb3VuZF90cmFjZSA9IHRyYWNlOworCQkJYnJlYWs7CisJCX0KKwl9CisJbWFwLm1hcF9pZCA9IChmb3VuZF90cmFjZSkgPyBmb3VuZF90cmFjZS0+aWQgOiAtMTsKKwltbWlvX3RyYWNlX21hcHBpbmcoJm1hcCk7CisKK25vdF9lbmFibGVkOgorCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKGZvdW5kX3RyYWNlKSB7CisJCXN5bmNocm9uaXplX3JjdSgpOyAvKiB1bnJlZ2lzdGVyX2ttbWlvX3Byb2JlKCkgcmVxdWlyZW1lbnQgKi8KKwkJa2ZyZWUoZm91bmRfdHJhY2UpOworCX0KK30KKwordm9pZCBtbWlvdHJhY2VfaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJbWlnaHRfc2xlZXAoKTsKKwlpZiAoaXNfZW5hYmxlZCgpKSAvKiByZWNoZWNrIGFuZCBwcm9wZXIgbG9ja2luZyBpbiAqX2NvcmUoKSAqLworCQlpb3VubWFwX3RyYWNlX2NvcmUoYWRkcik7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFyX3RyYWNlX2xpc3Qodm9pZCkKK3sKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlOworCXN0cnVjdCByZW1hcF90cmFjZSAqdG1wOworCisJLyoKKwkgKiBObyBsb2NraW5nIHJlcXVpcmVkLCBiZWNhdXNlIHRoZSBjYWxsZXIgZW5zdXJlcyB3ZSBhcmUgaW4gYQorCSAqIGNyaXRpY2FsIHNlY3Rpb24gdmlhIG11dGV4LCBhbmQgaXNfZW5hYmxlZCgpIGlzIGZhbHNlLAorCSAqIGkuZS4gbm90aGluZyBjYW4gdHJhdmVyc2Ugb3IgbW9kaWZ5IHRoaXMgbGlzdC4KKwkgKiBDYWxsZXIgYWxzbyBlbnN1cmVzIGlzX2VuYWJsZWQoKSBjYW5ub3QgY2hhbmdlLgorCSAqLworCWxpc3RfZm9yX2VhY2hfZW50cnkodHJhY2UsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCXByX25vdGljZShOQU1FICJwdXJnaW5nIG5vbi1pb3VubWFwcGVkICIKKwkJCQkJInRyYWNlIEAweCUwOGx4LCBzaXplIDB4JWx4LlxuIiwKKwkJCQkJdHJhY2UtPnByb2JlLmFkZHIsIHRyYWNlLT5wcm9iZS5sZW4pOworCQlpZiAoIW5vbW1pb3RyYWNlKQorCQkJdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKwl9CisJc3luY2hyb25pemVfcmN1KCk7IC8qIHVucmVnaXN0ZXJfa21taW9fcHJvYmUoKSByZXF1aXJlbWVudCAqLworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRyYWNlLCB0bXAsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCWxpc3RfZGVsKCZ0cmFjZS0+bGlzdCk7CisJCWtmcmVlKHRyYWNlKTsKKwl9Cit9CisKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKK3N0YXRpYyBjcHVtYXNrX3QgZG93bmVkX2NwdXM7CisKK3N0YXRpYyB2b2lkIGVudGVyX3VuaXByb2Nlc3Nvcih2b2lkKQoreworCWludCBjcHU7CisJaW50IGVycjsKKworCWdldF9vbmxpbmVfY3B1cygpOworCWRvd25lZF9jcHVzID0gY3B1X29ubGluZV9tYXA7CisJY3B1X2NsZWFyKGZpcnN0X2NwdShjcHVfb25saW5lX21hcCksIGRvd25lZF9jcHVzKTsKKwlpZiAobnVtX29ubGluZV9jcHVzKCkgPiAxKQorCQlwcl9ub3RpY2UoTkFNRSAiRGlzYWJsaW5nIG5vbi1ib290IENQVXMuLi5cbiIpOworCXB1dF9vbmxpbmVfY3B1cygpOworCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBkb3duZWRfY3B1cykgeworCQllcnIgPSBjcHVfZG93bihjcHUpOworCQlpZiAoIWVycikKKwkJCXByX2luZm8oTkFNRSAiQ1BVJWQgaXMgZG93bi5cbiIsIGNwdSk7CisJCWVsc2UKKwkJCXByX2VycihOQU1FICJFcnJvciB0YWtpbmcgQ1BVJWQgZG93bjogJWRcbiIsIGNwdSwgZXJyKTsKKwl9CisJaWYgKG51bV9vbmxpbmVfY3B1cygpID4gMSkKKwkJcHJfd2FybmluZyhOQU1FICJtdWx0aXBsZSBDUFVzIHN0aWxsIG9ubGluZSwgIgorCQkJCQkJIm1heSBtaXNzIGV2ZW50cy5cbiIpOworfQorCitzdGF0aWMgdm9pZCBsZWF2ZV91bmlwcm9jZXNzb3Iodm9pZCkKK3sKKwlpbnQgY3B1OworCWludCBlcnI7CisKKwlpZiAoY3B1c193ZWlnaHQoZG93bmVkX2NwdXMpID09IDApCisJCXJldHVybjsKKwlwcl9ub3RpY2UoTkFNRSAiUmUtZW5hYmxpbmcgQ1BVcy4uLlxuIik7CisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBkb3duZWRfY3B1cykgeworCQllcnIgPSBjcHVfdXAoY3B1KTsKKwkJaWYgKCFlcnIpCisJCQlwcl9pbmZvKE5BTUUgImVuYWJsZWQgQ1BVJWQuXG4iLCBjcHUpOworCQllbHNlCisJCQlwcl9lcnIoTkFNRSAiY2Fubm90IHJlLWVuYWJsZSBDUFUlZDogJWRcbiIsIGNwdSwgZXJyKTsKKwl9Cit9CisKKyNlbHNlIC8qICFDT05GSUdfSE9UUExVR19DUFUgKi8KK3N0YXRpYyB2b2lkIGVudGVyX3VuaXByb2Nlc3Nvcih2b2lkKQoreworCWlmIChudW1fb25saW5lX2NwdXMoKSA+IDEpCisJCXByX3dhcm5pbmcoTkFNRSAibXVsdGlwbGUgQ1BVcyBhcmUgb25saW5lLCBtYXkgbWlzcyBldmVudHMuICIKKwkJCSJTdWdnZXN0IGJvb3Rpbmcgd2l0aCBtYXhjcHVzPTEga2VybmVsIGFyZ3VtZW50LlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGxlYXZlX3VuaXByb2Nlc3Nvcih2b2lkKQoreworfQorI2VuZGlmCisKKyNpZiAwIC8qIFhYWDogb3V0IG9mIG9yZGVyICovCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3BzX21hcmtlciA9IHsKKwkub3duZXIgPQlUSElTX01PRFVMRSwKKwkud3JpdGUgPQl3cml0ZV9tYXJrZXIKK307CisjZW5kaWYKKwordm9pZCBlbmFibGVfbW1pb3RyYWNlKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmbW1pb3RyYWNlX211dGV4KTsKKwlpZiAoaXNfZW5hYmxlZCgpKQorCQlnb3RvIG91dDsKKworI2lmIDAgLyogWFhYOiB0cmFjaW5nIGRvZXMgbm90IHN1cHBvcnQgdGV4dCBlbnRyaWVzICovCisJbWFya2VyX2ZpbGUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJtYXJrZXIiLCAwNjYwLCBkaXIsIE5VTEwsCisJCQkJCQkJCSZmb3BzX21hcmtlcik7CisJaWYgKCFtYXJrZXJfZmlsZSkKKwkJcHJfZXJyKE5BTUUgIm1hcmtlciBmaWxlIGNyZWF0aW9uIGZhaWxlZC5cbiIpOworI2VuZGlmCisKKwlpZiAobm9tbWlvdHJhY2UpCisJCXByX2luZm8oTkFNRSAiTU1JTyB0cmFjaW5nIGRpc2FibGVkLlxuIik7CisJZW50ZXJfdW5pcHJvY2Vzc29yKCk7CisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJYXRvbWljX2luYygmbW1pb3RyYWNlX2VuYWJsZWQpOworCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJcHJfaW5mbyhOQU1FICJlbmFibGVkLlxuIik7CitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZtbWlvdHJhY2VfbXV0ZXgpOworfQorCit2b2lkIGRpc2FibGVfbW1pb3RyYWNlKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmbW1pb3RyYWNlX211dGV4KTsKKwlpZiAoIWlzX2VuYWJsZWQoKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKwlhdG9taWNfZGVjKCZtbWlvdHJhY2VfZW5hYmxlZCk7CisJQlVHX09OKGlzX2VuYWJsZWQoKSk7CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKworCWNsZWFyX3RyYWNlX2xpc3QoKTsgLyogZ3VhcmFudGVlczogbm8gbW9yZSBrbW1pbyBjYWxsYmFja3MgKi8KKwlsZWF2ZV91bmlwcm9jZXNzb3IoKTsKKwlpZiAobWFya2VyX2ZpbGUpIHsKKwkJZGVidWdmc19yZW1vdmUobWFya2VyX2ZpbGUpOworCQltYXJrZXJfZmlsZSA9IE5VTEw7CisJfQorCisJcHJfaW5mbyhOQU1FICJkaXNhYmxlZC5cbiIpOworb3V0OgorCW11dGV4X3VubG9jaygmbW1pb3RyYWNlX211dGV4KTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL251bWFfNjQuYyBiL2FyY2gveDg2L21tL251bWFfNjQuYwppbmRleCBjNTA2NmQ1Li5iNDMyZDU3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9udW1hXzY0LmMKKysrIGIvYXJjaC94ODYvbW0vbnVtYV82NC5jCkBAIC0yNywzMCArMjcsMTcgQEAKIHN0cnVjdCBwZ2xpc3RfZGF0YSAqbm9kZV9kYXRhW01BWF9OVU1OT0RFU10gX19yZWFkX21vc3RseTsKIEVYUE9SVF9TWU1CT0wobm9kZV9kYXRhKTsKIAotYm9vdG1lbV9kYXRhX3QgcGxhdF9ub2RlX2JkYXRhW01BWF9OVU1OT0RFU107CitzdGF0aWMgYm9vdG1lbV9kYXRhX3QgcGxhdF9ub2RlX2JkYXRhW01BWF9OVU1OT0RFU107CiAKIHN0cnVjdCBtZW1ub2RlIG1lbW5vZGU7CiAKLSNpZmRlZiBDT05GSUdfU01QCi1pbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W05SX0NQVVNdID0gewotCVswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFCi19Owotdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci1FWFBPUlRfU1lNQk9MKHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKTsKLSNlbmRpZgotREVGSU5FX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTUFfTk9fTk9ERTsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwKTsKLQogczE2IGFwaWNpZF90b19ub2RlW01BWF9MT0NBTF9BUElDXSBfX2NwdWluaXRkYXRhID0gewogCVswIC4uLiBNQVhfTE9DQUxfQVBJQy0xXSA9IE5VTUFfTk9fTk9ERQogfTsKIAotY3B1bWFza190IG5vZGVfdG9fY3B1bWFza19tYXBbTUFYX05VTU5PREVTXSBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChub2RlX3RvX2NwdW1hc2tfbWFwKTsKLQogaW50IG51bWFfb2ZmIF9faW5pdGRhdGE7Ci11bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9hZGRyOwotdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG5vZGVtYXBfc2l6ZTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9hZGRyOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBub2RlbWFwX3NpemU7CiAKIC8qCiAgKiBHaXZlbiBhIHNoaWZ0IHZhbHVlLCB0cnkgdG8gcG9wdWxhdGUgbWVtbm9kZW1hcFtdCkBAIC05OSw3ICs4Niw3IEBACiAKIAlhZGRyID0gMHg4MDAwOwogCW5vZGVtYXBfc2l6ZSA9IHJvdW5kX3VwKHNpemVvZihzMTYpICogbWVtbm9kZW1hcHNpemUsIEwxX0NBQ0hFX0JZVEVTKTsKLQlub2RlbWFwX2FkZHIgPSBmaW5kX2U4MjBfYXJlYShhZGRyLCBlbmRfcGZuPDxQQUdFX1NISUZULAorCW5vZGVtYXBfYWRkciA9IGZpbmRfZTgyMF9hcmVhKGFkZHIsIG1heF9wZm48PFBBR0VfU0hJRlQsCiAJCQkJICAgICAgbm9kZW1hcF9zaXplLCBMMV9DQUNIRV9CWVRFUyk7CiAJaWYgKG5vZGVtYXBfYWRkciA9PSAtMVVMKSB7CiAJCXByaW50ayhLRVJOX0VSUgpAQCAtMTkyLDcgKzE3OSw3IEBACiB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX2Jvb3RtZW0oaW50IG5vZGVpZCwgdW5zaWduZWQgbG9uZyBzdGFydCwKIAkJCSAgICAgICB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbiwgYm9vdG1hcF9wYWdlcywgYm9vdG1hcF9zaXplOworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBsYXN0X3BmbiwgYm9vdG1hcF9wYWdlcywgYm9vdG1hcF9zaXplOwogCXVuc2lnbmVkIGxvbmcgYm9vdG1hcF9zdGFydCwgbm9kZWRhdGFfcGh5czsKIAl2b2lkICpib290bWFwOwogCWNvbnN0IGludCBwZ2RhdF9zaXplID0gcm91bmRfdXAoc2l6ZW9mKHBnX2RhdGFfdCksIFBBR0VfU0laRSk7CkBAIC0yMDQsNyArMTkxLDcgQEAKIAkgICAgICAgc3RhcnQsIGVuZCk7CiAKIAlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOwotCWVuZF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKKwlsYXN0X3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOwogCiAJbm9kZV9kYXRhW25vZGVpZF0gPSBlYXJseV9ub2RlX21lbShub2RlaWQsIHN0YXJ0LCBlbmQsIHBnZGF0X3NpemUsCiAJCQkJCSAgIFNNUF9DQUNIRV9CWVRFUyk7CkBAIC0yMTcsNyArMjA0LDcgQEAKIAltZW1zZXQoTk9ERV9EQVRBKG5vZGVpZCksIDAsIHNpemVvZihwZ19kYXRhX3QpKTsKIAlOT0RFX0RBVEEobm9kZWlkKS0+YmRhdGEgPSAmcGxhdF9ub2RlX2JkYXRhW25vZGVpZF07CiAJTk9ERV9EQVRBKG5vZGVpZCktPm5vZGVfc3RhcnRfcGZuID0gc3RhcnRfcGZuOwotCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBlbmRfcGZuIC0gc3RhcnRfcGZuOworCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBsYXN0X3BmbiAtIHN0YXJ0X3BmbjsKIAogCS8qCiAJICogRmluZCBhIHBsYWNlIGZvciB0aGUgYm9vdG1lbSBtYXAKQEAgLTIyNiwxNCArMjEzLDE0IEBACiAJICogZWFybHlfbm9kZV9tZW0gd2lsbCBnZXQgdGhhdCB3aXRoIGZpbmRfZTgyMF9hcmVhIGluc3RlYWQKIAkgKiBvZiBhbGxvY19ib290bWVtLCB0aGF0IGNvdWxkIGNsYXNoIHdpdGggcmVzZXJ2ZWQgcmFuZ2UKIAkgKi8KLQlib290bWFwX3BhZ2VzID0gYm9vdG1lbV9ib290bWFwX3BhZ2VzKGVuZF9wZm4gLSBzdGFydF9wZm4pOworCWJvb3RtYXBfcGFnZXMgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMobGFzdF9wZm4gLSBzdGFydF9wZm4pOwogCW5pZCA9IHBoeXNfdG9fbmlkKG5vZGVkYXRhX3BoeXMpOwogCWlmIChuaWQgPT0gbm9kZWlkKQogCQlib290bWFwX3N0YXJ0ID0gcm91bmRfdXAobm9kZWRhdGFfcGh5cyArIHBnZGF0X3NpemUsIFBBR0VfU0laRSk7CiAJZWxzZQogCQlib290bWFwX3N0YXJ0ID0gcm91bmRfdXAoc3RhcnQsIFBBR0VfU0laRSk7CiAJLyoKLQkgKiBTTVBfQ0FIQ0VfQllURVMgY291bGQgYmUgZW5vdWdoLCBidXQgaW5pdF9ib290bWVtX25vZGUgbGlrZQorCSAqIFNNUF9DQUNIRV9CWVRFUyBjb3VsZCBiZSBlbm91Z2gsIGJ1dCBpbml0X2Jvb3RtZW1fbm9kZSBsaWtlCiAJICogdG8gdXNlIHRoYXQgdG8gYWxpZ24gdG8gUEFHRV9TSVpFCiAJICovCiAJYm9vdG1hcCA9IGVhcmx5X25vZGVfbWVtKG5vZGVpZCwgYm9vdG1hcF9zdGFydCwgZW5kLApAQCAtMjQ4LDcgKzIzNSw3IEBACiAKIAlib290bWFwX3NpemUgPSBpbml0X2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEobm9kZWlkKSwKIAkJCQkJIGJvb3RtYXBfc3RhcnQgPj4gUEFHRV9TSElGVCwKLQkJCQkJIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CisJCQkJCSBzdGFydF9wZm4sIGxhc3RfcGZuKTsKIAogCXByaW50ayhLRVJOX0lORk8gIiAgYm9vdG1hcCBbJTAxNmx4IC0gICUwMTZseF0gcGFnZXMgJWx4XG4iLAogCQkgYm9vdG1hcF9zdGFydCwgYm9vdG1hcF9zdGFydCArIGJvb3RtYXBfc2l6ZSAtIDEsCkBAIC0zMDksNyArMjk2LDcgQEAKIAogI2lmZGVmIENPTkZJR19OVU1BX0VNVQogLyogTnVtYSBlbXVsYXRpb24gKi8KLWNoYXIgKmNtZGxpbmUgX19pbml0ZGF0YTsKK3N0YXRpYyBjaGFyICpjbWRsaW5lIF9faW5pdGRhdGE7CiAKIC8qCiAgKiBTZXR1cHMgdXAgbmlkIHRvIHJhbmdlIGZyb20gYWRkciB0byBhZGRyICsgc2l6ZS4gIElmIHRoZSBlbmQKQEAgLTQxMywxNSArNDAwLDE1IEBACiB9CiAKIC8qCi0gKiBTZXRzIHVwIHRoZSBzeXN0ZW0gUkFNIGFyZWEgZnJvbSBzdGFydF9wZm4gdG8gZW5kX3BmbiBhY2NvcmRpbmcgdG8gdGhlCisgKiBTZXRzIHVwIHRoZSBzeXN0ZW0gUkFNIGFyZWEgZnJvbSBzdGFydF9wZm4gdG8gbGFzdF9wZm4gYWNjb3JkaW5nIHRvIHRoZQogICogbnVtYT1mYWtlIGNvbW1hbmQtbGluZSBvcHRpb24uCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgYm9vdG5vZGUgbm9kZXNbTUFYX05VTU5PREVTXSBfX2luaXRkYXRhOwogCi1zdGF0aWMgaW50IF9faW5pdCBudW1hX2VtdWxhdGlvbih1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQorc3RhdGljIGludCBfX2luaXQgbnVtYV9lbXVsYXRpb24odW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCiB7CiAJdTY0IHNpemUsIGFkZHIgPSBzdGFydF9wZm4gPDwgUEFHRV9TSElGVDsKLQl1NjQgbWF4X2FkZHIgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7CisJdTY0IG1heF9hZGRyID0gbGFzdF9wZm4gPDwgUEFHRV9TSElGVDsKIAlpbnQgbnVtX25vZGVzID0gMCwgbnVtID0gMCwgY29lZmZfZmxhZywgY29lZmYgPSAtMSwgaTsKIAogCW1lbXNldCgmbm9kZXMsIDAsIHNpemVvZihub2RlcykpOwpAQCAtNTI3LDcgKzUxNCw3IEBACiB9CiAjZW5kaWYgLyogQ09ORklHX05VTUFfRU1VICovCiAKLXZvaWQgX19pbml0IG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCiB7CiAJaW50IGk7CiAKQEAgLTUzNSw3ICs1MjIsNyBAQAogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CiAKICNpZmRlZiBDT05GSUdfTlVNQV9FTVUKLQlpZiAoY21kbGluZSAmJiAhbnVtYV9lbXVsYXRpb24oc3RhcnRfcGZuLCBlbmRfcGZuKSkKKwlpZiAoY21kbGluZSAmJiAhbnVtYV9lbXVsYXRpb24oc3RhcnRfcGZuLCBsYXN0X3BmbikpCiAJCXJldHVybjsKIAlub2Rlc19jbGVhcihub2RlX3Bvc3NpYmxlX21hcCk7CiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTU0Myw3ICs1MzAsNyBAQAogCiAjaWZkZWYgQ09ORklHX0FDUElfTlVNQQogCWlmICghbnVtYV9vZmYgJiYgIWFjcGlfc2Nhbl9ub2RlcyhzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwKLQkJCQkJICBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpKQorCQkJCQkgIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpKQogCQlyZXR1cm47CiAJbm9kZXNfY2xlYXIobm9kZV9wb3NzaWJsZV9tYXApOwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC01NTEsNyArNTM4LDcgQEAKIAogI2lmZGVmIENPTkZJR19LOF9OVU1BCiAJaWYgKCFudW1hX29mZiAmJiAhazhfc2Nhbl9ub2RlcyhzdGFydF9wZm48PFBBR0VfU0hJRlQsCi0JCQkJCWVuZF9wZm48PFBBR0VfU0hJRlQpKQorCQkJCQlsYXN0X3Bmbjw8UEFHRV9TSElGVCkpCiAJCXJldHVybjsKIAlub2Rlc19jbGVhcihub2RlX3Bvc3NpYmxlX21hcCk7CiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTU2MSw3ICs1NDgsNyBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAiRmFraW5nIGEgbm9kZSBhdCAlMDE2bHgtJTAxNmx4XG4iLAogCSAgICAgICBzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwKLQkgICAgICAgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKKwkgICAgICAgbGFzdF9wZm4gPDwgUEFHRV9TSElGVCk7CiAJLyogc2V0dXAgZHVtbXkgbm9kZSBjb3ZlcmluZyBhbGwgbWVtb3J5ICovCiAJbWVtbm9kZV9zaGlmdCA9IDYzOwogCW1lbW5vZGVtYXAgPSBtZW1ub2RlLmVtYmVkZGVkX21hcDsKQEAgLTU3MCwyOSArNTU3LDggQEAKIAlub2RlX3NldCgwLCBub2RlX3Bvc3NpYmxlX21hcCk7CiAJZm9yIChpID0gMDsgaSA8IE5SX0NQVVM7IGkrKykKIAkJbnVtYV9zZXRfbm9kZShpLCAwKTsKLQkvKiBjcHVtYXNrX29mX2NwdSgpIG1heSBub3QgYmUgYXZhaWxhYmxlIGR1cmluZyBlYXJseSBzdGFydHVwICovCi0JbWVtc2V0KCZub2RlX3RvX2NwdW1hc2tfbWFwWzBdLCAwLCBzaXplb2Yobm9kZV90b19jcHVtYXNrX21hcFswXSkpOwotCWNwdV9zZXQoMCwgbm9kZV90b19jcHVtYXNrX21hcFswXSk7Ci0JZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGVuZF9wZm4pOwotCXNldHVwX25vZGVfYm9vdG1lbSgwLCBzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKLX0KLQotX19jcHVpbml0IHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUpCi17Ci0Jc2V0X2JpdChjcHUsCi0JCSh1bnNpZ25lZCBsb25nICopJm5vZGVfdG9fY3B1bWFza19tYXBbZWFybHlfY3B1X3RvX25vZGUoY3B1KV0pOwotfQotCi12b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKQotewotCWludCAqY3B1X3RvX25vZGVfbWFwID0geDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci0KLQlpZihjcHVfdG9fbm9kZV9tYXApCi0JCWNwdV90b19ub2RlX21hcFtjcHVdID0gbm9kZTsKLQllbHNlIGlmKHBlcl9jcHVfb2Zmc2V0KGNwdSkpCi0JCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9IG5vZGU7Ci0JZWxzZQotCQlEcHJpbnRrKEtFUk5fSU5GTyAiU2V0dGluZyBub2RlIGZvciBub24tcHJlc2VudCBjcHUgJWRcbiIsIGNwdSk7CisJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGxhc3RfcGZuKTsKKwlzZXR1cF9ub2RlX2Jvb3RtZW0oMCwgc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpOwogfQogCiB1bnNpZ25lZCBsb25nIF9faW5pdCBudW1hX2ZyZWVfYWxsX2Jvb3RtZW0odm9pZCkKQEAgLTYxMyw3ICs1NzksNyBAQAogCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0gTUFYX0RNQV9QRk47CiAJbWF4X3pvbmVfcGZuc1taT05FX0RNQTMyXSA9IE1BWF9ETUEzMl9QRk47Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBlbmRfcGZuOworCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X3BmbjsKIAogCXNwYXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zKE1BWF9OVU1OT0RFUyk7CiAJc3BhcnNlX2luaXQoKTsKQEAgLTY0MSw2ICs2MDcsNyBAQAogfQogZWFybHlfcGFyYW0oIm51bWEiLCBudW1hX3NldHVwKTsKIAorI2lmZGVmIENPTkZJR19OVU1BCiAvKgogICogU2V0dXAgZWFybHkgY3B1X3RvX25vZGUuCiAgKgpAQCAtNjUyLDE0ICs2MTksMTkgQEAKICAqIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQgaW4gYSByb3VuZCByb2JpbiBtYW5uZXIgYXQgbnVtYV9pbml0X2FycmF5LAogICogcHJpb3IgdG8gdGhpcyBjYWxsLCBhbmQgdGhpcyBpbml0aWFsaXphdGlvbiBpcyBnb29kIGVub3VnaAogICogZm9yIHRoZSBmYWtlIE5VTUEgY2FzZXMuCisgKgorICogQ2FsbGVkIGJlZm9yZSB0aGUgcGVyX2NwdSBhcmVhcyBhcmUgc2V0dXAuCiAgKi8KIHZvaWQgX19pbml0IGluaXRfY3B1X3RvX25vZGUodm9pZCkKIHsKLQlpbnQgaTsKKwlpbnQgY3B1OworCXUxNiAqY3B1X3RvX2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKTsKIAotCWZvciAoaSA9IDA7IGkgPCBOUl9DUFVTOyBpKyspIHsKKwlCVUdfT04oY3B1X3RvX2FwaWNpZCA9PSBOVUxMKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKIAkJaW50IG5vZGU7Ci0JCXUxNiBhcGljaWQgPSB4ODZfY3B1X3RvX2FwaWNpZF9pbml0W2ldOworCQl1MTYgYXBpY2lkID0gY3B1X3RvX2FwaWNpZFtjcHVdOwogCiAJCWlmIChhcGljaWQgPT0gQkFEX0FQSUNJRCkKIAkJCWNvbnRpbnVlOwpAQCAtNjY4LDggKzY0MCw5IEBACiAJCQljb250aW51ZTsKIAkJaWYgKCFub2RlX29ubGluZShub2RlKSkKIAkJCWNvbnRpbnVlOwotCQludW1hX3NldF9ub2RlKGksIG5vZGUpOworCQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7CiAJfQogfQorI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jIGIvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jCmluZGV4IDc1ZjFiMTAuLjBkY2Q0MmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BhZ2VhdHRyLXRlc3QuYworKysgYi9hcmNoL3g4Ni9tbS9wYWdlYXR0ci10ZXN0LmMKQEAgLTEsOCArMSw4IEBACiAvKgogICogc2VsZiB0ZXN0IGZvciBjaGFuZ2VfcGFnZV9hdHRyLgogICoKLSAqIENsZWFycyB0aGUgZ2xvYmFsIGJpdCBvbiByYW5kb20gcGFnZXMgaW4gdGhlIGRpcmVjdCBtYXBwaW5nLCB0aGVuIHJldmVydHMKLSAqIGFuZCBjb21wYXJlcyBwYWdlIHRhYmxlcyBmb3J3YXJkcyBhbmQgYWZ0ZXJ3YXJkcy4KKyAqIENsZWFycyB0aGUgYSB0ZXN0IHB0ZSBiaXQgb24gcmFuZG9tIHBhZ2VzIGluIHRoZSBkaXJlY3QgbWFwcGluZywKKyAqIHRoZW4gcmV2ZXJ0cyBhbmQgY29tcGFyZXMgcGFnZSB0YWJsZXMgZm9yd2FyZHMgYW5kIGFmdGVyd2FyZHMuCiAgKi8KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgpAQCAtMzIsNiArMzIsMTMgQEAKIAlHUFMJCQk9ICgxPDwzMCkKIH07CiAKKyNkZWZpbmUgUEFHRV9URVNUQklUCV9fcGdwcm90KF9QQUdFX1VOVVNFRDEpCisKK3N0YXRpYyBpbnQgcHRlX3Rlc3RiaXQocHRlX3QgcHRlKQoreworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX1VOVVNFRDE7Cit9CisKIHN0cnVjdCBzcGxpdF9zdGF0ZSB7CiAJbG9uZyBscGcsIGdwZywgc3BnLCBleGVjOwogCWxvbmcgbWluX2V4ZWMsIG1heF9leGVjOwpAQCAtMTY1LDE1ICsxNzIsMTQgQEAKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9jbGVhcihhZGRyW2ldLCBsZW5baV0sCi0JCQkJCSAgICAgICBfX3BncHJvdChfUEFHRV9HTE9CQUwpKTsKKwkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9zZXQoYWRkcltpXSwgbGVuW2ldLCBQQUdFX1RFU1RCSVQpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDUEEgJWQgZmFpbGVkICVkXG4iLCBpLCBlcnIpOwogCQkJZmFpbGVkKys7CiAJCX0KIAogCQlwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyW2ldLCAmbGV2ZWwpOwotCQlpZiAoIXB0ZSB8fCBwdGVfZ2xvYmFsKCpwdGUpIHx8IHB0ZV9odWdlKCpwdGUpKSB7CisJCWlmICghcHRlIHx8ICFwdGVfdGVzdGJpdCgqcHRlKSB8fCBwdGVfaHVnZSgqcHRlKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDUEEgJWx4OiBiYWQgcHRlICVMeFxuIiwgYWRkcltpXSwKIAkJCQlwdGUgPyAodTY0KXB0ZV92YWwoKnB0ZSkgOiAwVUxMKTsKIAkJCWZhaWxlZCsrOwpAQCAtMTk4LDE0ICsyMDQsMTMgQEAKIAkJCWZhaWxlZCsrOwogCQkJY29udGludWU7CiAJCX0KLQkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9zZXQoYWRkcltpXSwgbGVuW2ldLAotCQkJCQkgICAgIF9fcGdwcm90KF9QQUdFX0dMT0JBTCkpOworCQllcnIgPSBjaGFuZ2VfcGFnZV9hdHRyX2NsZWFyKGFkZHJbaV0sIGxlbltpXSwgUEFHRV9URVNUQklUKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBIHJldmVydGluZyBmYWlsZWQ6ICVkXG4iLCBlcnIpOwogCQkJZmFpbGVkKys7CiAJCX0KIAkJcHRlID0gbG9va3VwX2FkZHJlc3MoYWRkcltpXSwgJmxldmVsKTsKLQkJaWYgKCFwdGUgfHwgIXB0ZV9nbG9iYWwoKnB0ZSkpIHsKKwkJaWYgKCFwdGUgfHwgcHRlX3Rlc3RiaXQoKnB0ZSkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBICVseDogYmFkIHB0ZSBhZnRlciByZXZlcnQgJUx4XG4iLAogCQkJCWFkZHJbaV0sIHB0ZSA/ICh1NjQpcHRlX3ZhbCgqcHRlKSA6IDBVTEwpOwogCQkJZmFpbGVkKys7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jIGIvYXJjaC94ODYvbW0vcGFnZWF0dHIuYwppbmRleCA2MGJjYjViLi42NWM2ZTQ2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jCisrKyBiL2FyY2gveDg2L21tL3BhZ2VhdHRyLmMKQEAgLTM0LDYgKzM0LDQxIEBACiAJdW5zaWduZWQJZm9yY2Vfc3BsaXQgOiAxOwogfTsKIAorI2lmZGVmIENPTkZJR19QUk9DX0ZTCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfTlVNXTsKKwordm9pZCB1cGRhdGVfcGFnZV9jb3VudChpbnQgbGV2ZWwsIHVuc2lnbmVkIGxvbmcgcGFnZXMpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qIFByb3RlY3QgYWdhaW5zdCBDUEEgKi8KKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWxdICs9IHBhZ2VzOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHNwbGl0X3BhZ2VfY291bnQoaW50IGxldmVsKQoreworCWRpcmVjdF9wYWdlc19jb3VudFtsZXZlbF0tLTsKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWwgLSAxXSArPSBQVFJTX1BFUl9QVEU7Cit9CisKK2ludCBhcmNoX3JlcG9ydF9tZW1pbmZvKGNoYXIgKnBhZ2UpCit7CisJaW50IG4gPSBzcHJpbnRmKHBhZ2UsICJEaXJlY3RNYXA0azogICU4bHVcbiIKKwkJCSJEaXJlY3RNYXAyTTogICU4bHVcbiIsCisJCQlkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfNEtdLAorCQkJZGlyZWN0X3BhZ2VzX2NvdW50W1BHX0xFVkVMXzJNXSk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCW4gKz0gc3ByaW50ZihwYWdlICsgbiwgIkRpcmVjdE1hcDFHOiAgJThsdVxuIiwKKwkJICAgICBkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfMUddKTsKKyNlbmRpZgorCXJldHVybiBuOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBzcGxpdF9wYWdlX2NvdW50KGludCBsZXZlbCkgeyB9CisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19YODZfNjQKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGhpZ2htYXBfc3RhcnRfcGZuKHZvaWQpCkBAIC0xMDYsNyArMTQxLDcgQEAKIHsKIAlCVUdfT04oaXJxc19kaXNhYmxlZCgpKTsKIAotCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX2FsbCwgKHZvaWQgKikgY2FjaGUsIDEsIDEpOworCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX2FsbCwgKHZvaWQgKikgY2FjaGUsIDEpOwogfQogCiBzdGF0aWMgdm9pZCBfX2NwYV9mbHVzaF9yYW5nZSh2b2lkICphcmcpCkBAIC0xMjcsNyArMTYyLDcgQEAKIAlCVUdfT04oaXJxc19kaXNhYmxlZCgpKTsKIAlXQVJOX09OKFBBR0VfQUxJR04oc3RhcnQpICE9IHN0YXJ0KTsKIAotCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX3JhbmdlLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShfX2NwYV9mbHVzaF9yYW5nZSwgTlVMTCwgMSk7CiAKIAlpZiAoIWNhY2hlKQogCQlyZXR1cm47CkBAIC0yMjcsNiArMjYyLDcgQEAKIAogCXJldHVybiBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIGFkZHJlc3MpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwobG9va3VwX2FkZHJlc3MpOwogCiAvKgogICogU2V0IHRoZSBuZXcgcG1kIGluIGFsbCB0aGUgcGdkcyB3ZSBrbm93IGFib3V0OgpAQCAtNTAwLDYgKzUzNiwxNiBAQAogCWZvciAoaSA9IDA7IGkgPCBQVFJTX1BFUl9QVEU7IGkrKywgcGZuICs9IHBmbmluYykKIAkJc2V0X3B0ZSgmcGJhc2VbaV0sIHBmbl9wdGUocGZuLCByZWZfcHJvdCkpOwogCisJaWYgKGFkZHJlc3MgPj0gKHVuc2lnbmVkIGxvbmcpX192YSgwKSAmJgorCQlhZGRyZXNzIDwgKHVuc2lnbmVkIGxvbmcpX192YShtYXhfbG93X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisJCXNwbGl0X3BhZ2VfY291bnQobGV2ZWwpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChhZGRyZXNzID49ICh1bnNpZ25lZCBsb25nKV9fdmEoMVVMPDwzMikgJiYKKwkJYWRkcmVzcyA8ICh1bnNpZ25lZCBsb25nKV9fdmEobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisJCXNwbGl0X3BhZ2VfY291bnQobGV2ZWwpOworI2VuZGlmCisKIAkvKgogCSAqIEluc3RhbGwgdGhlIG5ldywgc3BsaXQgdXAgcGFnZXRhYmxlLiBJbXBvcnRhbnQgZGV0YWlscyBoZXJlOgogCSAqCkBAIC02MTMsMTUgKzY1OSwyNCBAQAogCXN0cnVjdCBjcGFfZGF0YSBhbGlhc19jcGE7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoY3BhLT5wZm4gPiBtYXhfcGZuX21hcHBlZCkKKwlpZiAoY3BhLT5wZm4gPj0gbWF4X3Bmbl9tYXBwZWQpCiAJCXJldHVybiAwOwogCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChjcGEtPnBmbiA+PSBtYXhfbG93X3Bmbl9tYXBwZWQgJiYgY3BhLT5wZm4gPCAoMVVMPDwoMzItUEFHRV9TSElGVCkpKQorCQlyZXR1cm4gMDsKKyNlbmRpZgogCS8qCiAJICogTm8gbmVlZCB0byByZWRvLCB3aGVuIHRoZSBwcmltYXJ5IGNhbGwgdG91Y2hlZCB0aGUgZGlyZWN0CiAJICogbWFwcGluZyBhbHJlYWR5OgogCSAqLwotCWlmICghd2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VULAotCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpKSB7CisJaWYgKCEod2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VULAorCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X2xvd19wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQorI2lmZGVmIENPTkZJR19YODZfNjQKKwkJfHwgd2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VUICsgKDFVTDw8MzIpLAorCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisjZW5kaWYKKwkpKSB7CiAKIAkJYWxpYXNfY3BhID0gKmNwYTsKIAkJYWxpYXNfY3BhLnZhZGRyID0gKHVuc2lnbmVkIGxvbmcpIF9fdmEoY3BhLT5wZm4gPDwgUEFHRV9TSElGVCk7CkBAIC04MDUsNyArODYwLDcgQEAKIAogaW50IHNldF9tZW1vcnlfd2ModW5zaWduZWQgbG9uZyBhZGRyLCBpbnQgbnVtcGFnZXMpCiB7Ci0JaWYgKCFwYXRfd2NfZW5hYmxlZCkKKwlpZiAoIXBhdF9lbmFibGVkKQogCQlyZXR1cm4gc2V0X21lbW9yeV91YyhhZGRyLCBudW1wYWdlcyk7CiAKIAlpZiAocmVzZXJ2ZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBudW1wYWdlcyAqIFBBR0VfU0laRSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3BhdC5jIGIvYXJjaC94ODYvbW0vcGF0LmMKaW5kZXggMDZiN2ExYy4uZDQ1ODUwNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGF0LmMKKysrIGIvYXJjaC94ODYvbW0vcGF0LmMKQEAgLTI2LDExICsyNiwxMSBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKLWludCBfX3JlYWRfbW9zdGx5IHBhdF93Y19lbmFibGVkID0gMTsKK2ludCBfX3JlYWRfbW9zdGx5IHBhdF9lbmFibGVkID0gMTsKIAogdm9pZCBfX2NwdWluaXQgcGF0X2Rpc2FibGUoY2hhciAqcmVhc29uKQogewotCXBhdF93Y19lbmFibGVkID0gMDsKKwlwYXRfZW5hYmxlZCA9IDA7CiAJcHJpbnRrKEtFUk5fSU5GTyAiJXNcbiIsIHJlYXNvbik7CiB9CiAKQEAgLTQyLDYgKzQyLDE5IEBACiBlYXJseV9wYXJhbSgibm9wYXQiLCBub3BhdCk7CiAjZW5kaWYKIAorCitzdGF0aWMgaW50IGRlYnVnX2VuYWJsZTsKK3N0YXRpYyBpbnQgX19pbml0IHBhdF9kZWJ1Z19zZXR1cChjaGFyICpzdHIpCit7CisJZGVidWdfZW5hYmxlID0gMTsKKwlyZXR1cm4gMDsKK30KK19fc2V0dXAoImRlYnVncGF0IiwgcGF0X2RlYnVnX3NldHVwKTsKKworI2RlZmluZSBkcHJpbnRrKGZtdCwgYXJnLi4uKSBcCisJZG8geyBpZiAoZGVidWdfZW5hYmxlKSBwcmludGsoS0VSTl9JTkZPIGZtdCwgIyNhcmcpOyB9IHdoaWxlICgwKQorCisKIHN0YXRpYyB1NjQgX19yZWFkX21vc3RseSBib290X3BhdF9zdGF0ZTsKIAogZW51bSB7CkBAIC01MywyNCArNjYsMjUgQEAKIAlQQVRfVUNfTUlOVVMgPSA3LAkvKiBVQywgYnV0IGNhbiBiZSBvdmVycmlkZW4gYnkgTVRSUiAqLwogfTsKIAotI2RlZmluZSBQQVQoeCx5KQkoKHU2NClQQVRfICMjIHkgPDwgKCh4KSo4KSkKKyNkZWZpbmUgUEFUKHgsIHkpCSgodTY0KVBBVF8gIyMgeSA8PCAoKHgpKjgpKQogCiB2b2lkIHBhdF9pbml0KHZvaWQpCiB7CiAJdTY0IHBhdDsKIAotCWlmICghcGF0X3djX2VuYWJsZWQpCisJaWYgKCFwYXRfZW5hYmxlZCkKIAkJcmV0dXJuOwogCiAJLyogUGFyYW5vaWEgY2hlY2suICovCi0JaWYgKCFjcHVfaGFzX3BhdCkgewotCQlwcmludGsoS0VSTl9FUlIgIlBBVCBlbmFibGVkLCBidXQgQ1BVIGZlYXR1cmUgY2xlYXJlZFxuIik7CisJaWYgKCFjcHVfaGFzX3BhdCAmJiBib290X3BhdF9zdGF0ZSkgewogCQkvKgotCQkgKiBQYW5pYyBpZiB0aGlzIGhhcHBlbnMgb24gdGhlIHNlY29uZGFyeSBDUFUsIGFuZCB3ZQorCQkgKiBJZiB0aGlzIGhhcHBlbnMgd2UgYXJlIG9uIGEgc2Vjb25kYXJ5IENQVSwgYnV0CiAJCSAqIHN3aXRjaGVkIHRvIFBBVCBvbiB0aGUgYm9vdCBDUFUuIFdlIGhhdmUgbm8gd2F5IHRvCiAJCSAqIHVuZG8gUEFULgotCQkqLwotCQlCVUdfT04oYm9vdF9wYXRfc3RhdGUpOworCQkgKi8KKwkJcHJpbnRrKEtFUk5fRVJSICJQQVQgZW5hYmxlZCwgIgorCQkgICAgICAgImJ1dCBub3Qgc3VwcG9ydGVkIGJ5IHNlY29uZGFyeSBDUFVcbiIpOworCQlCVUcoKTsKIAl9CiAKIAkvKiBTZXQgUFdUIHRvIFdyaXRlLUNvbWJpbmluZy4gQWxsIG90aGVyIGJpdHMgc3RheSB0aGUgc2FtZSAqLwpAQCAtODYsOCArMTAwLDggQEAKIAkgKiAgICAgIDAxMSBVQwkJX1BBR0VfQ0FDSEVfVUMKIAkgKiBQQVQgYml0IHVudXNlZAogCSAqLwotCXBhdCA9IFBBVCgwLFdCKSB8IFBBVCgxLFdDKSB8IFBBVCgyLFVDX01JTlVTKSB8IFBBVCgzLFVDKSB8Ci0JICAgICAgUEFUKDQsV0IpIHwgUEFUKDUsV0MpIHwgUEFUKDYsVUNfTUlOVVMpIHwgUEFUKDcsVUMpOworCXBhdCA9IFBBVCgwLCBXQikgfCBQQVQoMSwgV0MpIHwgUEFUKDIsIFVDX01JTlVTKSB8IFBBVCgzLCBVQykgfAorCSAgICAgIFBBVCg0LCBXQikgfCBQQVQoNSwgV0MpIHwgUEFUKDYsIFVDX01JTlVTKSB8IFBBVCg3LCBVQyk7CiAKIAkvKiBCb290IENQVSBjaGVjayAqLwogCWlmICghYm9vdF9wYXRfc3RhdGUpCkBAIC0xMDMsMTEgKzExNywxMSBAQAogc3RhdGljIGNoYXIgKmNhdHRyX25hbWUodW5zaWduZWQgbG9uZyBmbGFncykKIHsKIAlzd2l0Y2ggKGZsYWdzICYgX1BBR0VfQ0FDSEVfTUFTSykgewotCQljYXNlIF9QQUdFX0NBQ0hFX1VDOgkJcmV0dXJuICJ1bmNhY2hlZCI7Ci0JCWNhc2UgX1BBR0VfQ0FDSEVfVUNfTUlOVVM6CXJldHVybiAidW5jYWNoZWQtbWludXMiOwotCQljYXNlIF9QQUdFX0NBQ0hFX1dCOgkJcmV0dXJuICJ3cml0ZS1iYWNrIjsKLQkJY2FzZSBfUEFHRV9DQUNIRV9XQzoJCXJldHVybiAid3JpdGUtY29tYmluaW5nIjsKLQkJZGVmYXVsdDoJCQlyZXR1cm4gImJyb2tlbiI7CisJY2FzZSBfUEFHRV9DQUNIRV9VQzoJCXJldHVybiAidW5jYWNoZWQiOworCWNhc2UgX1BBR0VfQ0FDSEVfVUNfTUlOVVM6CXJldHVybiAidW5jYWNoZWQtbWludXMiOworCWNhc2UgX1BBR0VfQ0FDSEVfV0I6CQlyZXR1cm4gIndyaXRlLWJhY2siOworCWNhc2UgX1BBR0VfQ0FDSEVfV0M6CQlyZXR1cm4gIndyaXRlLWNvbWJpbmluZyI7CisJZGVmYXVsdDoJCQlyZXR1cm4gImJyb2tlbiI7CiAJfQogfQogCkBAIC0xNDUsNDcgKzE1OSw1MCBAQAogICogVGhlIGludGVyc2VjdGlvbiBpcyBiYXNlZCBvbiAiRWZmZWN0aXZlIE1lbW9yeSBUeXBlIiB0YWJsZXMgaW4gSUEtMzIKICAqIFNETSB2b2wgM2EKICAqLwotc3RhdGljIGludCBwYXRfeF9tdHJyX3R5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHByb3QsCi0JCQkJdW5zaWduZWQgbG9uZyAqcmV0X3Byb3QpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwYXRfeF9tdHJyX3R5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHJlcV90eXBlKQogewotCXVuc2lnbmVkIGxvbmcgcGF0X3R5cGU7Ci0JdTggbXRycl90eXBlOwotCi0JcGF0X3R5cGUgPSBwcm90ICYgX1BBR0VfQ0FDSEVfTUFTSzsKLQlwcm90ICY9ICh+X1BBR0VfQ0FDSEVfTUFTSyk7Ci0KLQkvKgotCSAqIFdlIHJldHVybiB0aGUgUEFUIHJlcXVlc3QgZGlyZWN0bHkgZm9yIHR5cGVzIHdoZXJlIFBBVCB0YWtlcwotCSAqIHByZWNlZGVuY2Ugd2l0aCByZXNwZWN0IHRvIE1UUlIgYW5kIGZvciBVQ19NSU5VUy4KLQkgKiBDb25zaXN0ZW5jeSBjaGVja3Mgd2l0aCBvdGhlciBQQVQgcmVxdWVzdHMgaXMgZG9uZSBsYXRlcgotCSAqIHdoaWxlIGdvaW5nIHRocm91Z2ggbWVtdHlwZSBsaXN0LgotCSAqLwotCWlmIChwYXRfdHlwZSA9PSBfUEFHRV9DQUNIRV9XQykgewotCQkqcmV0X3Byb3QgPSBwcm90IHwgX1BBR0VfQ0FDSEVfV0M7Ci0JCXJldHVybiAwOwotCX0gZWxzZSBpZiAocGF0X3R5cGUgPT0gX1BBR0VfQ0FDSEVfVUNfTUlOVVMpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1VDX01JTlVTOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UgaWYgKHBhdF90eXBlID09IF9QQUdFX0NBQ0hFX1VDKSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9VQzsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJLyoKIAkgKiBMb29rIGZvciBNVFJSIGhpbnQgdG8gZ2V0IHRoZSBlZmZlY3RpdmUgdHlwZSBpbiBjYXNlIHdoZXJlIFBBVAogCSAqIHJlcXVlc3QgaXMgZm9yIFdCLgogCSAqLwotCW10cnJfdHlwZSA9IG10cnJfdHlwZV9sb29rdXAoc3RhcnQsIGVuZCk7CisJaWYgKHJlcV90eXBlID09IF9QQUdFX0NBQ0hFX1dCKSB7CisJCXU4IG10cnJfdHlwZTsKIAotCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1VDOwotCX0gZWxzZSBpZiAobXRycl90eXBlID09IE1UUlJfVFlQRV9XUkNPTUIpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1dDOwotCX0gZWxzZSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9XQjsKKwkJbXRycl90eXBlID0gbXRycl90eXBlX2xvb2t1cChzdGFydCwgZW5kKTsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfVU5DQUNIQUJMRSkKKwkJCXJldHVybiBfUEFHRV9DQUNIRV9VQzsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JDT01CKQorCQkJcmV0dXJuIF9QQUdFX0NBQ0hFX1dDOwogCX0KIAorCXJldHVybiByZXFfdHlwZTsKK30KKworc3RhdGljIGludCBjaGtfY29uZmxpY3Qoc3RydWN0IG1lbXR5cGUgKm5ldywgc3RydWN0IG1lbXR5cGUgKmVudHJ5LAorCQkJdW5zaWduZWQgbG9uZyAqdHlwZSkKK3sKKwlpZiAobmV3LT50eXBlICE9IGVudHJ5LT50eXBlKSB7CisJCWlmICh0eXBlKSB7CisJCQluZXctPnR5cGUgPSBlbnRyeS0+dHlwZTsKKwkJCSp0eXBlID0gZW50cnktPnR5cGU7CisJCX0gZWxzZQorCQkJZ290byBjb25mbGljdDsKKwl9CisKKwkgLyogY2hlY2sgb3ZlcmxhcHMgd2l0aCBtb3JlIHRoYW4gb25lIGVudHJ5IGluIHRoZSBsaXN0ICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9jb250aW51ZShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKG5ldy0+ZW5kIDw9IGVudHJ5LT5zdGFydCkKKwkJCWJyZWFrOworCQllbHNlIGlmIChuZXctPnR5cGUgIT0gZW50cnktPnR5cGUpCisJCQlnb3RvIGNvbmZsaWN0OworCX0KIAlyZXR1cm4gMDsKKworIGNvbmZsaWN0OgorCXByaW50ayhLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAiCisJICAgICAgICIlTHgtJUx4ICVzPC0+JXNcbiIsIGN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwgbmV3LT5zdGFydCwKKwkgICAgICAgbmV3LT5lbmQsIGNhdHRyX25hbWUobmV3LT50eXBlKSwgY2F0dHJfbmFtZShlbnRyeS0+dHlwZSkpOworCXJldHVybiAtRUJVU1k7CiB9CiAKIC8qCkBAIC0xOTgsMzcgKzIxNSwzNiBAQAogICogcmVxX3R5cGUgd2lsbCBoYXZlIGEgc3BlY2lhbCBjYXNlIHZhbHVlICctMScsIHdoZW4gcmVxdWVzdGVyIHdhbnQgdG8gaW5oZXJpdAogICogdGhlIG1lbW9yeSB0eXBlIGZyb20gbXRyciAoaWYgV0IpLCBleGlzdGluZyBQQVQsIGRlZmF1bHRpbmcgdG8gVUNfTUlOVVMuCiAgKgotICogSWYgcmV0X3R5cGUgaXMgTlVMTCwgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgaWYgaXQgY2Fubm90IHJlc2VydmUgdGhlCi0gKiByZWdpb24gd2l0aCByZXFfdHlwZS4gSWYgcmV0X3R5cGUgaXMgbm9uLW51bGwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuCi0gKiBhdmFpbGFibGUgdHlwZSBpbiByZXRfdHlwZSBpbiBjYXNlIG9mIG5vIGVycm9yLiBJbiBjYXNlIG9mIGFueSBlcnJvcgorICogSWYgbmV3X3R5cGUgaXMgTlVMTCwgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgaWYgaXQgY2Fubm90IHJlc2VydmUgdGhlCisgKiByZWdpb24gd2l0aCByZXFfdHlwZS4gSWYgbmV3X3R5cGUgaXMgbm9uLU5VTEwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuCisgKiBhdmFpbGFibGUgdHlwZSBpbiBuZXdfdHlwZSBpbiBjYXNlIG9mIG5vIGVycm9yLiBJbiBjYXNlIG9mIGFueSBlcnJvcgogICogaXQgd2lsbCByZXR1cm4gYSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUuCiAgKi8KIGludCByZXNlcnZlX21lbXR5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHJlcV90eXBlLAotCQkJdW5zaWduZWQgbG9uZyAqcmV0X3R5cGUpCisJCQl1bnNpZ25lZCBsb25nICpuZXdfdHlwZSkKIHsKLQlzdHJ1Y3QgbWVtdHlwZSAqbmV3X2VudHJ5ID0gTlVMTDsKLQlzdHJ1Y3QgbWVtdHlwZSAqcGFyc2U7CisJc3RydWN0IG1lbXR5cGUgKm5ldywgKmVudHJ5OwogCXVuc2lnbmVkIGxvbmcgYWN0dWFsX3R5cGU7CisJc3RydWN0IGxpc3RfaGVhZCAqd2hlcmU7CiAJaW50IGVyciA9IDA7CiAKLQkvKiBPbmx5IHRyYWNrIHdoZW4gcGF0X3djX2VuYWJsZWQgKi8KLQlpZiAoIXBhdF93Y19lbmFibGVkKSB7CisgCUJVR19PTihzdGFydCA+PSBlbmQpOyAvKiBlbmQgaXMgZXhjbHVzaXZlICovCisKKwlpZiAoIXBhdF9lbmFibGVkKSB7CiAJCS8qIFRoaXMgaXMgaWRlbnRpY2FsIHRvIHBhZ2UgdGFibGUgc2V0dGluZyB3aXRob3V0IFBBVCAqLwotCQlpZiAocmV0X3R5cGUpIHsKLQkJCWlmIChyZXFfdHlwZSA9PSAtMSkgewotCQkJCSpyZXRfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwotCQkJfSBlbHNlIHsKLQkJCQkqcmV0X3R5cGUgPSByZXFfdHlwZTsKLQkJCX0KKwkJaWYgKG5ld190eXBlKSB7CisJCQlpZiAocmVxX3R5cGUgPT0gLTEpCisJCQkJKm5ld190eXBlID0gX1BBR0VfQ0FDSEVfV0I7CisJCQllbHNlCisJCQkJKm5ld190eXBlID0gcmVxX3R5cGUgJiBfUEFHRV9DQUNIRV9NQVNLOwogCQl9CiAJCXJldHVybiAwOwogCX0KIAogCS8qIExvdyBJU0EgcmVnaW9uIGlzIGFsd2F5cyBtYXBwZWQgV0IgaW4gcGFnZSB0YWJsZS4gTm8gbmVlZCB0byB0cmFjayAqLwotCWlmIChzdGFydCA+PSBJU0FfU1RBUlRfQUREUkVTUyAmJiAoZW5kIC0gMSkgPD0gSVNBX0VORF9BRERSRVNTKSB7Ci0JCWlmIChyZXRfdHlwZSkKLQkJCSpyZXRfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwotCisJaWYgKGlzX0lTQV9yYW5nZShzdGFydCwgZW5kIC0gMSkpIHsKKwkJaWYgKG5ld190eXBlKQorCQkJKm5ld190eXBlID0gX1BBR0VfQ0FDSEVfV0I7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMjQxLDIwNiArMjU3LDkyIEBACiAJCSAqLwogCQl1OCBtdHJyX3R5cGUgPSBtdHJyX3R5cGVfbG9va3VwKHN0YXJ0LCBlbmQpOwogCi0JCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1dSQkFDSykgewotCQkJcmVxX3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JCQUNLKQogCQkJYWN0dWFsX3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKLQkJfSBlbHNlIHsKLQkJCXJlcV90eXBlID0gX1BBR0VfQ0FDSEVfVUNfTUlOVVM7CisJCWVsc2UKIAkJCWFjdHVhbF90eXBlID0gX1BBR0VfQ0FDSEVfVUNfTUlOVVM7Ci0JCX0KLQl9IGVsc2UgewotCQlyZXFfdHlwZSAmPSBfUEFHRV9DQUNIRV9NQVNLOwotCQllcnIgPSBwYXRfeF9tdHJyX3R5cGUoc3RhcnQsIGVuZCwgcmVxX3R5cGUsICZhY3R1YWxfdHlwZSk7Ci0JfQorCX0gZWxzZQorCQlhY3R1YWxfdHlwZSA9IHBhdF94X210cnJfdHlwZShzdGFydCwgZW5kLAorCQkJCQkgICAgICByZXFfdHlwZSAmIF9QQUdFX0NBQ0hFX01BU0spOwogCi0JaWYgKGVycikgewotCQlpZiAocmV0X3R5cGUpCi0JCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKLQotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQluZXdfZW50cnkgID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG1lbXR5cGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW5ld19lbnRyeSkKKwluZXcgID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG1lbXR5cGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW5ldykKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQluZXdfZW50cnktPnN0YXJ0ID0gc3RhcnQ7Ci0JbmV3X2VudHJ5LT5lbmQgPSBlbmQ7Ci0JbmV3X2VudHJ5LT50eXBlID0gYWN0dWFsX3R5cGU7CisJbmV3LT5zdGFydCA9IHN0YXJ0OworCW5ldy0+ZW5kID0gZW5kOworCW5ldy0+dHlwZSA9IGFjdHVhbF90eXBlOwogCi0JaWYgKHJldF90eXBlKQotCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKKwlpZiAobmV3X3R5cGUpCisJCSpuZXdfdHlwZSA9IGFjdHVhbF90eXBlOwogCiAJc3Bpbl9sb2NrKCZtZW10eXBlX2xvY2spOwogCiAJLyogU2VhcmNoIGZvciBleGlzdGluZyBtYXBwaW5nIHRoYXQgb3ZlcmxhcHMgdGhlIGN1cnJlbnQgcmFuZ2UgKi8KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQlzdHJ1Y3QgbWVtdHlwZSAqc2F2ZWRfcHRyOwotCi0JCWlmIChwYXJzZS0+c3RhcnQgPj0gZW5kKSB7Ci0JCQlwcl9kZWJ1ZygiTmV3IEVudHJ5XG4iKTsKLQkJCWxpc3RfYWRkKCZuZXdfZW50cnktPm5kLCBwYXJzZS0+bmQucHJldik7Ci0JCQluZXdfZW50cnkgPSBOVUxMOworCXdoZXJlID0gTlVMTDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmbWVtdHlwZV9saXN0LCBuZCkgeworCQlpZiAoZW5kIDw9IGVudHJ5LT5zdGFydCkgeworCQkJd2hlcmUgPSBlbnRyeS0+bmQucHJldjsKIAkJCWJyZWFrOwotCQl9Ci0KLQkJaWYgKHN0YXJ0IDw9IHBhcnNlLT5zdGFydCAmJiBlbmQgPj0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUgJiYgcmV0X3R5cGUpIHsKLQkJCQlhY3R1YWxfdHlwZSA9IHBhcnNlLT50eXBlOwotCQkJCSpyZXRfdHlwZSA9IGFjdHVhbF90eXBlOwotCQkJCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCQl9IGVsc2UgaWYgKHN0YXJ0IDw9IGVudHJ5LT5zdGFydCkgeyAvKiBlbmQgPiBlbnRyeS0+c3RhcnQgKi8KKwkJCWVyciA9IGNoa19jb25mbGljdChuZXcsIGVudHJ5LCBuZXdfdHlwZSk7CisJCQlpZiAoIWVycikgeworCQkJCWRwcmludGsoIk92ZXJsYXAgYXQgMHglTHgtMHglTHhcbiIsCisJCQkJCWVudHJ5LT5zdGFydCwgZW50cnktPmVuZCk7CisJCQkJd2hlcmUgPSBlbnRyeS0+bmQucHJldjsKIAkJCX0KLQotCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlKSB7Ci0JCQkJcHJpbnRrKAotCQlLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAlTHgtJUx4ICVzPC0+JXNcbiIsCi0JCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJc3RhcnQsIGVuZCwKLQkJCQkJY2F0dHJfbmFtZShhY3R1YWxfdHlwZSksCi0JCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQllcnIgPSAtRUJVU1k7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0KLQkJCXNhdmVkX3B0ciA9IHBhcnNlOwotCQkJLyoKLQkJCSAqIENoZWNrIHRvIHNlZSB3aGV0aGVyIHRoZSByZXF1ZXN0IG92ZXJsYXBzIG1vcmUKLQkJCSAqIHRoYW4gb25lIGVudHJ5IGluIHRoZSBsaXN0Ci0JCQkgKi8KLQkJCWxpc3RfZm9yX2VhY2hfZW50cnlfY29udGludWUocGFyc2UsICZtZW10eXBlX2xpc3QsIG5kKSB7Ci0JCQkJaWYgKGVuZCA8PSBwYXJzZS0+c3RhcnQpIHsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCi0JCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlKSB7Ci0JCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLAotCQkJCQkJc3RhcnQsIGVuZCwKLQkJCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQkJY2F0dHJfbmFtZShwYXJzZS0+dHlwZSkpOwotCQkJCQllcnIgPSAtRUJVU1k7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCX0KLQotCQkJaWYgKGVycikgewotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlwcl9kZWJ1ZygiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKLQkJCSAgICAgICBzYXZlZF9wdHItPnN0YXJ0LCBzYXZlZF9wdHItPmVuZCk7Ci0JCQkvKiBObyBjb25mbGljdC4gR28gYWhlYWQgYW5kIGFkZCB0aGlzIG5ldyBlbnRyeSAqLwotCQkJbGlzdF9hZGQoJm5ld19lbnRyeS0+bmQsIHNhdmVkX3B0ci0+bmQucHJldik7Ci0JCQluZXdfZW50cnkgPSBOVUxMOwogCQkJYnJlYWs7Ci0JCX0KLQotCQlpZiAoc3RhcnQgPCBwYXJzZS0+ZW5kKSB7Ci0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUgJiYgcmV0X3R5cGUpIHsKLQkJCQlhY3R1YWxfdHlwZSA9IHBhcnNlLT50eXBlOwotCQkJCSpyZXRfdHlwZSA9IGFjdHVhbF90eXBlOwotCQkJCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCQl9IGVsc2UgaWYgKHN0YXJ0IDwgZW50cnktPmVuZCkgeyAvKiBzdGFydCA+IGVudHJ5LT5zdGFydCAqLworCQkJZXJyID0gY2hrX2NvbmZsaWN0KG5ldywgZW50cnksIG5ld190eXBlKTsKKwkJCWlmICghZXJyKSB7CisJCQkJZHByaW50aygiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKKwkJCQkJZW50cnktPnN0YXJ0LCBlbnRyeS0+ZW5kKTsKKwkJCQl3aGVyZSA9ICZlbnRyeS0+bmQ7CiAJCQl9Ci0KLQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQljdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQsCi0JCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQljYXR0cl9uYW1lKHBhcnNlLT50eXBlKSk7Ci0JCQkJZXJyID0gLUVCVVNZOwotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlzYXZlZF9wdHIgPSBwYXJzZTsKLQkJCS8qCi0JCQkgKiBDaGVjayB0byBzZWUgd2hldGhlciB0aGUgcmVxdWVzdCBvdmVybGFwcyBtb3JlCi0JCQkgKiB0aGFuIG9uZSBlbnRyeSBpbiB0aGUgbGlzdAotCQkJICovCi0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlKHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQkJCWlmIChlbmQgPD0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQotCQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCQlwcmludGsoCi0JCUtFUk5fSU5GTyAiJXM6JWQgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzICVMeC0lTHggJXM8LT4lc1xuIiwKLQkJCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCQljYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQkJZXJyID0gLUVCVVNZOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9Ci0KLQkJCWlmIChlcnIpIHsKLQkJCQlicmVhazsKLQkJCX0KLQotCQkJcHJfZGVidWcoS0VSTl9JTkZPICJPdmVybGFwIGF0IDB4JUx4LTB4JUx4XG4iLAotCQkJCSBzYXZlZF9wdHItPnN0YXJ0LCBzYXZlZF9wdHItPmVuZCk7Ci0JCQkvKiBObyBjb25mbGljdC4gR28gYWhlYWQgYW5kIGFkZCB0aGlzIG5ldyBlbnRyeSAqLwotCQkJbGlzdF9hZGQoJm5ld19lbnRyeS0+bmQsICZzYXZlZF9wdHItPm5kKTsKLQkJCW5ld19lbnRyeSA9IE5VTEw7CiAJCQlicmVhazsKIAkJfQogCX0KIAogCWlmIChlcnIpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTwotCSJyZXNlcnZlX21lbXR5cGUgZmFpbGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzXG4iLAotCQkJc3RhcnQsIGVuZCwgY2F0dHJfbmFtZShuZXdfZW50cnktPnR5cGUpLAotCQkJY2F0dHJfbmFtZShyZXFfdHlwZSkpOwotCQlrZnJlZShuZXdfZW50cnkpOworCQlwcmludGsoS0VSTl9JTkZPICJyZXNlcnZlX21lbXR5cGUgZmFpbGVkIDB4JUx4LTB4JUx4LCAiCisJCSAgICAgICAidHJhY2sgJXMsIHJlcSAlc1xuIiwKKwkJICAgICAgIHN0YXJ0LCBlbmQsIGNhdHRyX25hbWUobmV3LT50eXBlKSwgY2F0dHJfbmFtZShyZXFfdHlwZSkpOworCQlrZnJlZShuZXcpOwogCQlzcGluX3VubG9jaygmbWVtdHlwZV9sb2NrKTsKIAkJcmV0dXJuIGVycjsKIAl9CiAKLQlpZiAobmV3X2VudHJ5KSB7Ci0JCS8qIE5vIGNvbmZsaWN0LiBOb3QgeWV0IGFkZGVkIHRvIHRoZSBsaXN0LiBBZGQgdG8gdGhlIHRhaWwgKi8KLQkJbGlzdF9hZGRfdGFpbCgmbmV3X2VudHJ5LT5uZCwgJm1lbXR5cGVfbGlzdCk7Ci0JCXByX2RlYnVnKCJOZXcgRW50cnlcbiIpOwotCX0KLQotCWlmIChyZXRfdHlwZSkgewotCQlwcl9kZWJ1ZygKLQkicmVzZXJ2ZV9tZW10eXBlIGFkZGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzLCByZXQgJXNcbiIsCi0JCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpLCBjYXR0cl9uYW1lKCpyZXRfdHlwZSkpOwotCX0gZWxzZSB7Ci0JCXByX2RlYnVnKAotCSJyZXNlcnZlX21lbXR5cGUgYWRkZWQgMHglTHgtMHglTHgsIHRyYWNrICVzLCByZXEgJXNcbiIsCi0JCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpKTsKLQl9CisJaWYgKHdoZXJlKQorCQlsaXN0X2FkZCgmbmV3LT5uZCwgd2hlcmUpOworCWVsc2UKKwkJbGlzdF9hZGRfdGFpbCgmbmV3LT5uZCwgJm1lbXR5cGVfbGlzdCk7CiAKIAlzcGluX3VubG9jaygmbWVtdHlwZV9sb2NrKTsKKworCWRwcmludGsoInJlc2VydmVfbWVtdHlwZSBhZGRlZCAweCVMeC0weCVMeCwgdHJhY2sgJXMsIHJlcSAlcywgcmV0ICVzXG4iLAorCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKG5ldy0+dHlwZSksIGNhdHRyX25hbWUocmVxX3R5cGUpLAorCQluZXdfdHlwZSA/IGNhdHRyX25hbWUoKm5ld190eXBlKSA6ICItIik7CisKIAlyZXR1cm4gZXJyOwogfQogCiBpbnQgZnJlZV9tZW10eXBlKHU2NCBzdGFydCwgdTY0IGVuZCkKIHsKLQlzdHJ1Y3QgbWVtdHlwZSAqbWw7CisJc3RydWN0IG1lbXR5cGUgKmVudHJ5OwogCWludCBlcnIgPSAtRUlOVkFMOwogCi0JLyogT25seSB0cmFjayB3aGVuIHBhdF93Y19lbmFibGVkICovCi0JaWYgKCFwYXRfd2NfZW5hYmxlZCkgeworCWlmICghcGF0X2VuYWJsZWQpCiAJCXJldHVybiAwOwotCX0KIAogCS8qIExvdyBJU0EgcmVnaW9uIGlzIGFsd2F5cyBtYXBwZWQgV0IuIE5vIG5lZWQgdG8gdHJhY2sgKi8KLQlpZiAoc3RhcnQgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgZW5kIDw9IElTQV9FTkRfQUREUkVTUykgeworCWlmIChpc19JU0FfcmFuZ2Uoc3RhcnQsIGVuZCAtIDEpKQogCQlyZXR1cm4gMDsKLQl9CiAKIAlzcGluX2xvY2soJm1lbXR5cGVfbG9jayk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShtbCwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKLQkJaWYgKG1sLT5zdGFydCA9PSBzdGFydCAmJiBtbC0+ZW5kID09IGVuZCkgewotCQkJbGlzdF9kZWwoJm1sLT5uZCk7Ci0JCQlrZnJlZShtbCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKGVudHJ5LT5zdGFydCA9PSBzdGFydCAmJiBlbnRyeS0+ZW5kID09IGVuZCkgeworCQkJbGlzdF9kZWwoJmVudHJ5LT5uZCk7CisJCQlrZnJlZShlbnRyeSk7CiAJCQllcnIgPSAwOwogCQkJYnJlYWs7CiAJCX0KQEAgLTQ1Miw3ICszNTQsNyBAQAogCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLCBzdGFydCwgZW5kKTsKIAl9CiAKLQlwcl9kZWJ1ZygiZnJlZV9tZW10eXBlIHJlcXVlc3QgMHglTHgtMHglTHhcbiIsIHN0YXJ0LCBlbmQpOworCWRwcmludGsoImZyZWVfbWVtdHlwZSByZXF1ZXN0IDB4JUx4LTB4JUx4XG4iLCBzdGFydCwgZW5kKTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC01MjEsMTIgKzQyMywxMiBAQAogCSAqIGNhY2hpbmcgZm9yIHRoZSBoaWdoIGFkZHJlc3NlcyB0aHJvdWdoIHRoZSBLRU4gcGluLCBidXQKIAkgKiB3ZSBtYWludGFpbiB0aGUgdHJhZGl0aW9uIG9mIHBhcmFub2lhIGluIHRoaXMgY29kZS4KIAkgKi8KLQlpZiAoIXBhdF93Y19lbmFibGVkICYmCi0JICAgICEgKCB0ZXN0X2JpdChYODZfRkVBVFVSRV9NVFJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9LNl9NVFJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9DWVJJWF9BUlIsIGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHkpIHx8Ci0JCXRlc3RfYml0KFg4Nl9GRUFUVVJFX0NFTlRBVVJfTUNSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSkgJiYKLQkgICAocGZuIDw8IFBBR0VfU0hJRlQpID49IF9fcGEoaGlnaF9tZW1vcnkpKSB7CisJaWYgKCFwYXRfZW5hYmxlZCAmJgorCSAgICAhKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9NVFJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9LNl9NVFJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DWVJJWF9BUlIpIHx8CisJICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NFTlRBVVJfTUNSKSkgJiYKKwkgICAgKHBmbiA8PCBQQUdFX1NISUZUKSA+PSBfX3BhKGhpZ2hfbWVtb3J5KSkgewogCQlmbGFncyA9IF9QQUdFX0NBQ0hFX1VDOwogCX0KICNlbmRpZgpAQCAtNTQ3LDggKzQ0OSw5IEBACiAJaWYgKHJldHZhbCA8IDApCiAJCXJldHVybiAwOwogCi0JaWYgKHBmbiA8PSBtYXhfcGZuX21hcHBlZCAmJgotICAgICAgICAgICAgaW9yZW1hcF9jaGFuZ2VfYXR0cigodW5zaWduZWQgbG9uZylfX3ZhKG9mZnNldCksIHNpemUsIGZsYWdzKSA8IDApIHsKKwlpZiAoKChwZm4gPCBtYXhfbG93X3Bmbl9tYXBwZWQpIHx8CisJICAgICAocGZuID49ICgxVUw8PCgzMiAtIFBBR0VfU0hJRlQpKSAmJiBwZm4gPCBtYXhfcGZuX21hcHBlZCkpICYmCisJICAgIGlvcmVtYXBfY2hhbmdlX2F0dHIoKHVuc2lnbmVkIGxvbmcpX192YShvZmZzZXQpLCBzaXplLCBmbGFncykgPCAwKSB7CiAJCWZyZWVfbWVtdHlwZShvZmZzZXQsIG9mZnNldCArIHNpemUpOwogCQlwcmludGsoS0VSTl9JTkZPCiAJCSIlczolZCAvZGV2L21lbSBpb3JlbWFwX2NoYW5nZV9hdHRyIGZhaWxlZCAlcyBmb3IgJUx4LSVMeFxuIiwKQEAgLTU4Niw0ICs0ODksMyBAQAogCiAJZnJlZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBzaXplKTsKIH0KLQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGZfaW4uYyBiL2FyY2gveDg2L21tL3BmX2luLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZhMTkxMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL3BmX2luLmMKQEAgLTAsMCArMSw0ODkgQEAKKy8qCisgKiAgRmF1bHQgSW5qZWN0aW9uIFRlc3QgaGFybmVzcyAoRkkpCisgKiAgQ29weXJpZ2h0IChDKSBJbnRlbCBDcm9wLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3LAorICogIFVTQS4KKyAqCisgKi8KKworLyogIElkOiBwZl9pbi5jLHYgMS4xLjEuMSAyMDAyLzExLzEyIDA1OjU2OjMyIGJybG9jayBFeHAKKyAqICBDb3B5cmlnaHQgYnkgSW50ZWwgQ3JvcC4sIDIwMDIKKyAqICBMb3VpcyBaaHVhbmcgKGxvdWlzLnpodWFuZ0BpbnRlbC5jb20pCisgKgorICogIEJqb3JuIFN0ZWluYnJpbmsgKEIuU3RlaW5icmlua0BnbXguZGUpLCAyMDA3CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPiAvKiBzdHJ1Y3QgcHRfcmVncyAqLworI2luY2x1ZGUgInBmX2luLmgiCisKKyNpZmRlZiBfX2kzODZfXworLyogSUEzMiBNYW51YWwgMywgMi0xICovCitzdGF0aWMgdW5zaWduZWQgY2hhciBwcmVmaXhfY29kZXNbXSA9IHsKKwkweEYwLCAweEYyLCAweEYzLCAweDJFLCAweDM2LCAweDNFLCAweDI2LCAweDY0LAorCTB4NjUsIDB4MkUsIDB4M0UsIDB4NjYsIDB4NjcKK307CisvKiBJQTMyIE1hbnVhbCAzLCAzLTQzMiovCitzdGF0aWMgdW5zaWduZWQgaW50IHJlZ19yb3BbXSA9IHsKKwkweDhBLCAweDhCLCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CitzdGF0aWMgdW5zaWduZWQgaW50IHJlZ193b3BbXSA9IHsgMHg4OCwgMHg4OSB9Oworc3RhdGljIHVuc2lnbmVkIGludCBpbW1fd29wW10gPSB7IDB4QzYsIDB4QzcgfTsKKy8qIElBMzIgTWFudWFsIDMsIDMtNDMyKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgcnc4W10gPSB7IDB4ODgsIDB4OEEsIDB4QzYgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcnczMltdID0geworCTB4ODksIDB4OEIsIDB4QzcsIDB4QjYwRiwgMHhCNzBGLCAweEJFMEYsIDB4QkYwRgorfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXc4W10gPSB7IDB4ODgsIDB4OEEsIDB4QzYsIDB4QjYwRiwgMHhCRTBGIH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13MTZbXSA9IHsgMHhCNzBGLCAweEJGMEYgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXczMltdID0geyAweDg5LCAweDhCLCAweEM3IH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13NjRbXSA9IHt9OworI2Vsc2UgLyogbm90IF9faTM4Nl9fICovCitzdGF0aWMgdW5zaWduZWQgY2hhciBwcmVmaXhfY29kZXNbXSA9IHsKKwkweDY2LCAweDY3LCAweDJFLCAweDNFLCAweDI2LCAweDY0LCAweDY1LCAweDM2LAorCTB4RjAsIDB4RjMsIDB4RjIsCisJLyogUkVYIFByZWZpeGVzICovCisJMHg0MCwgMHg0MSwgMHg0MiwgMHg0MywgMHg0NCwgMHg0NSwgMHg0NiwgMHg0NywKKwkweDQ4LCAweDQ5LCAweDRhLCAweDRiLCAweDRjLCAweDRkLCAweDRlLCAweDRmCit9OworLyogQU1ENjQgTWFudWFsIDMsIEFwcGVuZGl4IEEqLworc3RhdGljIHVuc2lnbmVkIGludCByZWdfcm9wW10gPSB7CisJMHg4QSwgMHg4QiwgMHhCNjBGLCAweEI3MEYsIDB4QkUwRiwgMHhCRjBGCit9Oworc3RhdGljIHVuc2lnbmVkIGludCByZWdfd29wW10gPSB7IDB4ODgsIDB4ODkgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaW1tX3dvcFtdID0geyAweEM2LCAweEM3IH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3OFtdID0geyAweEM2LCAweDg4LCAweDhBIH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3MzJbXSA9IHsKKwkweEM3LCAweDg5LCAweDhCLCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CisvKiA4IGJpdCBvbmx5ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13OFtdID0geyAweEM2LCAweDg4LCAweDhBLCAweEI2MEYsIDB4QkUwRiB9OworLyogMTYgYml0IG9ubHkgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXcxNltdID0geyAweEI3MEYsIDB4QkYwRiB9OworLyogMTYgb3IgMzIgYml0ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13MzJbXSA9IHsgMHhDNyB9OworLyogMTYsIDMyIG9yIDY0IGJpdCAqLworc3RhdGljIHVuc2lnbmVkIGludCBtdzY0W10gPSB7IDB4ODksIDB4OEIgfTsKKyNlbmRpZiAvKiBub3QgX19pMzg2X18gKi8KKworc3RhdGljIGludCBza2lwX3ByZWZpeCh1bnNpZ25lZCBjaGFyICphZGRyLCBpbnQgKnNob3J0ZWQsIGludCAqZW5sYXJnZWQsCisJCQkJCQkJCWludCAqcmV4cikKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBjaGFyICpwID0gYWRkcjsKKwkqc2hvcnRlZCA9IDA7CisJKmVubGFyZ2VkID0gMDsKKwkqcmV4ciA9IDA7CisKK3Jlc3RhcnQ6CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocHJlZml4X2NvZGVzKTsgaSsrKSB7CisJCWlmICgqcCA9PSBwcmVmaXhfY29kZXNbaV0pIHsKKwkJCWlmICgqcCA9PSAweDY2KQorCQkJCSpzaG9ydGVkID0gMTsKKyNpZmRlZiBfX2FtZDY0X18KKwkJCWlmICgoKnAgJiAweGY4KSA9PSAweDQ4KQorCQkJCSplbmxhcmdlZCA9IDE7CisJCQlpZiAoKCpwICYgMHhmNCkgPT0gMHg0NCkKKwkJCQkqcmV4ciA9IDE7CisjZW5kaWYKKwkJCXArKzsKKwkJCWdvdG8gcmVzdGFydDsKKwkJfQorCX0KKworCXJldHVybiAocCAtIGFkZHIpOworfQorCitzdGF0aWMgaW50IGdldF9vcGNvZGUodW5zaWduZWQgY2hhciAqYWRkciwgdW5zaWduZWQgaW50ICpvcGNvZGUpCit7CisJaW50IGxlbjsKKworCWlmICgqYWRkciA9PSAweDBGKSB7CisJCS8qIDB4MEYgaXMgZXh0ZW5zaW9uIGluc3RydWN0aW9uICovCisJCSpvcGNvZGUgPSAqKHVuc2lnbmVkIHNob3J0ICopYWRkcjsKKwkJbGVuID0gMjsKKwl9IGVsc2UgeworCQkqb3Bjb2RlID0gKmFkZHI7CisJCWxlbiA9IDE7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworI2RlZmluZSBDSEVDS19PUF9UWVBFKG9wY29kZSwgYXJyYXksIHR5cGUpIFwKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhcnJheSk7IGkrKykgeyBcCisJCWlmIChhcnJheVtpXSA9PSBvcGNvZGUpIHsgXAorCQkJcnYgPSB0eXBlOyBcCisJCQlnb3RvIGV4aXQ7IFwKKwkJfSBcCisJfQorCitlbnVtIHJlYXNvbl90eXBlIGdldF9pbnNfdHlwZSh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisJaW50IGk7CisJZW51bSByZWFzb25fdHlwZSBydiA9IE9USEVSUzsKKworCXAgPSAodW5zaWduZWQgY2hhciAqKWluc19hZGRyOworCXAgKz0gc2tpcF9wcmVmaXgocCwgJnNob3J0ZWQsICZlbmxhcmdlZCwgJnJleHIpOworCXAgKz0gZ2V0X29wY29kZShwLCAmb3Bjb2RlKTsKKworCUNIRUNLX09QX1RZUEUob3Bjb2RlLCByZWdfcm9wLCBSRUdfUkVBRCk7CisJQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIHJlZ193b3AsIFJFR19XUklURSk7CisJQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIGltbV93b3AsIElNTV9XUklURSk7CisKK2V4aXQ6CisJcmV0dXJuIHJ2OworfQorI3VuZGVmIENIRUNLX09QX1RZUEUKKworc3RhdGljIHVuc2lnbmVkIGludCBnZXRfaW5zX3JlZ193aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShydzgpOyBpKyspCisJCWlmIChydzhbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShydzMyKTsgaSsrKQorCQlpZiAocnczMltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gKHNob3J0ZWQgPyAyIDogKGVubGFyZ2VkID8gOCA6IDQpKTsKKworCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBVbmtub3duIG9wY29kZSAweCUwMnhcbiIsIG9wY29kZSk7CisJcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGludCBnZXRfaW5zX21lbV93aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzgpOyBpKyspCisJCWlmIChtdzhbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzE2KTsgaSsrKQorCQlpZiAobXcxNltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gMjsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG13MzIpOyBpKyspCisJCWlmIChtdzMyW2ldID09IG9wY29kZSkKKwkJCXJldHVybiBzaG9ydGVkID8gMiA6IDQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzY0KTsgaSsrKQorCQlpZiAobXc2NFtpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gc2hvcnRlZCA/IDIgOiAoZW5sYXJnZWQgPyA4IDogNCk7CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogVW5rbm93biBvcGNvZGUgMHglMDJ4XG4iLCBvcGNvZGUpOworCXJldHVybiAwOworfQorCisvKgorICogRGVmaW5lIHJlZ2lzdGVyIGlkZW50IGluIG1vZC9ybSBieXRlLgorICogTm90ZTogdGhlc2UgYXJlIE5PVCB0aGUgc2FtZSBhcyBpbiBwdHJhY2UtYWJpLmguCisgKi8KK2VudW0geworCWFyZ19BTCA9IDAsCisJYXJnX0NMID0gMSwKKwlhcmdfREwgPSAyLAorCWFyZ19CTCA9IDMsCisJYXJnX0FIID0gNCwKKwlhcmdfQ0ggPSA1LAorCWFyZ19ESCA9IDYsCisJYXJnX0JIID0gNywKKworCWFyZ19BWCA9IDAsCisJYXJnX0NYID0gMSwKKwlhcmdfRFggPSAyLAorCWFyZ19CWCA9IDMsCisJYXJnX1NQID0gNCwKKwlhcmdfQlAgPSA1LAorCWFyZ19TSSA9IDYsCisJYXJnX0RJID0gNywKKyNpZmRlZiBfX2FtZDY0X18KKwlhcmdfUjggID0gOCwKKwlhcmdfUjkgID0gOSwKKwlhcmdfUjEwID0gMTAsCisJYXJnX1IxMSA9IDExLAorCWFyZ19SMTIgPSAxMiwKKwlhcmdfUjEzID0gMTMsCisJYXJnX1IxNCA9IDE0LAorCWFyZ19SMTUgPSAxNQorI2VuZGlmCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciAqZ2V0X3JlZ193OChpbnQgbm8sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXVuc2lnbmVkIGNoYXIgKnJ2ID0gTlVMTDsKKworCXN3aXRjaCAobm8pIHsKKwljYXNlIGFyZ19BTDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQkw6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Yng7CisJCWJyZWFrOworCWNhc2UgYXJnX0NMOgorCQlydiA9ICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmN4OworCQlicmVhazsKKwljYXNlIGFyZ19ETDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5keDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQUg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmF4OworCQlicmVhazsKKwljYXNlIGFyZ19CSDoKKwkJcnYgPSAxICsgKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Yng7CisJCWJyZWFrOworCWNhc2UgYXJnX0NIOgorCQlydiA9IDEgKyAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5jeDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmR4OworCQlicmVhazsKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIGFyZ19SODoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yODsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjk6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjk7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTA7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMToKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTE7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMjoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTI7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMzoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTM7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTQ7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNToKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTU7CisJCWJyZWFrOworI2VuZGlmCisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IEVycm9yIHJlZyBubyMgJWRcbiIsIG5vKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiBydjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgKmdldF9yZWdfdzMyKGludCBubywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgbG9uZyAqcnYgPSBOVUxMOworCisJc3dpdGNoIChubykgeworCWNhc2UgYXJnX0FYOgorCQlydiA9ICZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQlg6CisJCXJ2ID0gJnJlZ3MtPmJ4OworCQlicmVhazsKKwljYXNlIGFyZ19DWDoKKwkJcnYgPSAmcmVncy0+Y3g7CisJCWJyZWFrOworCWNhc2UgYXJnX0RYOgorCQlydiA9ICZyZWdzLT5keDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfU1A6CisJCXJ2ID0gJnJlZ3MtPnNwOworCQlicmVhazsKKwljYXNlIGFyZ19CUDoKKwkJcnYgPSAmcmVncy0+YnA7CisJCWJyZWFrOworCWNhc2UgYXJnX1NJOgorCQlydiA9ICZyZWdzLT5zaTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREk6CisJCXJ2ID0gJnJlZ3MtPmRpOworCQlicmVhazsKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIGFyZ19SODoKKwkJcnYgPSAmcmVncy0+cjg7CisJCWJyZWFrOworCWNhc2UgYXJnX1I5OgorCQlydiA9ICZyZWdzLT5yOTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEwOgorCQlydiA9ICZyZWdzLT5yMTA7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMToKKwkJcnYgPSAmcmVncy0+cjExOworCQlicmVhazsKKwljYXNlIGFyZ19SMTI6CisJCXJ2ID0gJnJlZ3MtPnIxMjsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEzOgorCQlydiA9ICZyZWdzLT5yMTM7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNDoKKwkJcnYgPSAmcmVncy0+cjE0OworCQlicmVhazsKKwljYXNlIGFyZ19SMTU6CisJCXJ2ID0gJnJlZ3MtPnIxNTsKKwkJYnJlYWs7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3IgcmVnIG5vIyAlZFxuIiwgbm8pOworCX0KKworCXJldHVybiBydjsKK30KKwordW5zaWduZWQgbG9uZyBnZXRfaW5zX3JlZ192YWwodW5zaWduZWQgbG9uZyBpbnNfYWRkciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgaW50IG9wY29kZTsKKwl1bnNpZ25lZCBjaGFyIG1vZF9ybTsKKwlpbnQgcmVnOworCXVuc2lnbmVkIGNoYXIgKnA7CisJaW50IGksIHNob3J0ZWQsIGVubGFyZ2VkLCByZXhyOworCXVuc2lnbmVkIGxvbmcgcnY7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVnX3JvcCk7IGkrKykKKwkJaWYgKHJlZ19yb3BbaV0gPT0gb3Bjb2RlKSB7CisJCQlydiA9IFJFR19SRUFEOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyZWdfd29wKTsgaSsrKQorCQlpZiAocmVnX3dvcFtpXSA9PSBvcGNvZGUpIHsKKwkJCXJ2ID0gUkVHX1dSSVRFOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogTm90IGEgcmVnaXN0ZXIgaW5zdHJ1Y3Rpb24sIG9wY29kZSAiCisJCQkJCQkJIjB4JTAyeFxuIiwgb3Bjb2RlKTsKKwlnb3RvIGVycjsKKworZG9fd29yazoKKwltb2Rfcm0gPSAqcDsKKwlyZWcgPSAoKG1vZF9ybSA+PiAzKSAmIDB4NykgfCAocmV4ciA8PCAzKTsKKwlzd2l0Y2ggKGdldF9pbnNfcmVnX3dpZHRoKGluc19hZGRyKSkgeworCWNhc2UgMToKKwkJcmV0dXJuICpnZXRfcmVnX3c4KHJlZywgcmVncyk7CisKKwljYXNlIDI6CisJCXJldHVybiAqKHVuc2lnbmVkIHNob3J0ICopZ2V0X3JlZ193MzIocmVnLCByZWdzKTsKKworCWNhc2UgNDoKKwkJcmV0dXJuICoodW5zaWduZWQgaW50ICopZ2V0X3JlZ193MzIocmVnLCByZWdzKTsKKworI2lmZGVmIF9fYW1kNjRfXworCWNhc2UgODoKKwkJcmV0dXJuICoodW5zaWduZWQgbG9uZyAqKWdldF9yZWdfdzMyKHJlZywgcmVncyk7CisjZW5kaWYKKworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBFcnJvciB3aWR0aCMgJWRcbiIsIHJlZyk7CisJfQorCitlcnI6CisJcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19pbW1fdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIpCit7CisJdW5zaWduZWQgaW50IG9wY29kZTsKKwl1bnNpZ25lZCBjaGFyIG1vZF9ybTsKKwl1bnNpZ25lZCBjaGFyIG1vZDsKKwl1bnNpZ25lZCBjaGFyICpwOworCWludCBpLCBzaG9ydGVkLCBlbmxhcmdlZCwgcmV4cjsKKwl1bnNpZ25lZCBsb25nIHJ2OworCisJcCA9ICh1bnNpZ25lZCBjaGFyICopaW5zX2FkZHI7CisJcCArPSBza2lwX3ByZWZpeChwLCAmc2hvcnRlZCwgJmVubGFyZ2VkLCAmcmV4cik7CisJcCArPSBnZXRfb3Bjb2RlKHAsICZvcGNvZGUpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGltbV93b3ApOyBpKyspCisJCWlmIChpbW1fd29wW2ldID09IG9wY29kZSkgeworCQkJcnYgPSBJTU1fV1JJVEU7CisJCQlnb3RvIGRvX3dvcms7CisJCX0KKworCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBOb3QgYW4gaW1tZWRpYXRlIGluc3RydWN0aW9uLCBvcGNvZGUgIgorCQkJCQkJCSIweCUwMnhcbiIsIG9wY29kZSk7CisJZ290byBlcnI7CisKK2RvX3dvcms6CisJbW9kX3JtID0gKnA7CisJbW9kID0gbW9kX3JtID4+IDY7CisJcCsrOworCXN3aXRjaCAobW9kKSB7CisJY2FzZSAwOgorCQkvKiBpZiByL20gaXMgNSB3ZSBoYXZlIGEgMzIgZGlzcCAoSUEzMiBNYW51YWwgMywgVGFibGUgMi0yKSAgKi8KKwkJLyogQU1ENjQ6IFhYWCBDaGVjayBmb3IgYWRkcmVzcyBzaXplIHByZWZpeD8gKi8KKwkJaWYgKChtb2Rfcm0gJiAweDcpID09IDB4NSkKKwkJCXAgKz0gNDsKKwkJYnJlYWs7CisKKwljYXNlIDE6CisJCXAgKz0gMTsKKwkJYnJlYWs7CisKKwljYXNlIDI6CisJCXAgKz0gNDsKKwkJYnJlYWs7CisKKwljYXNlIDM6CisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IG5vdCBhIG1lbW9yeSBhY2Nlc3MgaW5zdHJ1Y3Rpb24gIgorCQkJCQkJImF0IDB4JWx4LCBybV9tb2Q9MHglMDJ4XG4iLAorCQkJCQkJaW5zX2FkZHIsIG1vZF9ybSk7CisJfQorCisJc3dpdGNoIChnZXRfaW5zX3JlZ193aWR0aChpbnNfYWRkcikpIHsKKwljYXNlIDE6CisJCXJldHVybiAqKHVuc2lnbmVkIGNoYXIgKilwOworCisJY2FzZSAyOgorCQlyZXR1cm4gKih1bnNpZ25lZCBzaG9ydCAqKXA7CisKKwljYXNlIDQ6CisJCXJldHVybiAqKHVuc2lnbmVkIGludCAqKXA7CisKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIDg6CisJCXJldHVybiAqKHVuc2lnbmVkIGxvbmcgKilwOworI2VuZGlmCisKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3I6IHdpZHRoLlxuIik7CisJfQorCitlcnI6CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wZl9pbi5oIGIvYXJjaC94ODYvbW0vcGZfaW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDUzNDFhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vcGZfaW4uaApAQCAtMCwwICsxLDM5IEBACisvKgorICogIEZhdWx0IEluamVjdGlvbiBUZXN0IGhhcm5lc3MgKEZJKQorICogIENvcHlyaWdodCAoQykgSW50ZWwgQ3JvcC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqICBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNywKKyAqICBVU0EuCisgKgorICovCisKKyNpZm5kZWYgX19QRl9IXworI2RlZmluZSBfX1BGX0hfCisKK2VudW0gcmVhc29uX3R5cGUgeworCU5PVF9NRSwJLyogcGFnZSBmYXVsdCBpcyBub3QgaW4gcmVnaW9ucyAqLworCU5PVEhJTkcsCS8qIGFjY2VzcyBvdGhlcnMgcG9pbnQgaW4gcmVnaW9ucyAqLworCVJFR19SRUFELAkvKiByZWFkIGZyb20gYWRkciB0byByZWcgKi8KKwlSRUdfV1JJVEUsCS8qIHdyaXRlIGZyb20gcmVnIHRvIGFkZHIgKi8KKwlJTU1fV1JJVEUsCS8qIHdyaXRlIGZyb20gaW1tIHRvIGFkZHIgKi8KKwlPVEhFUlMJLyogT3RoZXIgaW5zdHJ1Y3Rpb25zIGNhbiBub3QgaW50ZXJjZXB0ICovCit9OworCitlbnVtIHJlYXNvbl90eXBlIGdldF9pbnNfdHlwZSh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKK3Vuc2lnbmVkIGludCBnZXRfaW5zX21lbV93aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19yZWdfdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19pbW1fdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIpOworCisjZW5kaWYgLyogX19QRl9IXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGd0YWJsZS5jIGIvYXJjaC94ODYvbW0vcGd0YWJsZS5jCmluZGV4IDUwMTU5NzYuLjU1N2IyYWIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BndGFibGUuYworKysgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlLmMKQEAgLTIsNiArMiw3IEBACiAjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGIuaD4KKyNpbmNsdWRlIDxhc20vZml4bWFwLmg+CiAKIHB0ZV90ICpwdGVfYWxsb2Nfb25lX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewpAQCAtNjUsMTIgKzY2LDYgQEAKIHN0YXRpYyB2b2lkIHBnZF9jdG9yKHZvaWQgKnApCiB7CiAJcGdkX3QgKnBnZCA9IHA7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCS8qIENsZWFyIHVzZXJtb2RlIHBhcnRzIG9mIFBHRCAqLwotCW1lbXNldChwZ2QsIDAsIEtFUk5FTF9QR0RfQk9VTkRBUlkqc2l6ZW9mKHBnZF90KSk7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAogCS8qIElmIHRoZSBwZ2QgcG9pbnRzIHRvIGEgc2hhcmVkIHBhZ2V0YWJsZSBsZXZlbCAoZWl0aGVyIHRoZQogCSAgIHB0ZXMgaW4gbm9uLVBBRSwgb3Igc2hhcmVkIFBNRCBpbiBQQUUpLCB0aGVuIGp1c3QgY29weSB0aGUKQEAgLTkwLDggKzg1LDYgQEAKIAkvKiBsaXN0IHJlcXVpcmVkIHRvIHN5bmMga2VybmVsIG1hcHBpbmcgdXBkYXRlcyAqLwogCWlmICghU0hBUkVEX0tFUk5FTF9QTUQpCiAJCXBnZF9saXN0X2FkZChwZ2QpOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgcGdkX2R0b3Iodm9pZCAqcGdkKQpAQCAtMTE5LDMwICsxMTIsNiBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQUUKIC8qCi0gKiBNb3AgdXAgYW55IHBtZCBwYWdlcyB3aGljaCBtYXkgc3RpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIHBnZC4KLSAqIE5vcm1hbGx5IHRoZXkgd2lsbCBiZSBmcmVlZCBieSBtdW5tYXAvZXhpdF9tbWFwLCBidXQgYW55IHBtZCB3ZQotICogcHJlYWxsb2NhdGUgd2hpY2ggbmV2ZXIgZ290IGEgY29ycmVzcG9uZGluZyB2bWEgd2lsbCBuZWVkIHRvIGJlCi0gKiBmcmVlZCBtYW51YWxseS4KLSAqLwotc3RhdGljIHZvaWQgcGdkX21vcF91cF9wbWRzKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkcCkKLXsKLQlpbnQgaTsKLQotCWZvcihpID0gMDsgaSA8IFVOU0hBUkVEX1BUUlNfUEVSX1BHRDsgaSsrKSB7Ci0JCXBnZF90IHBnZCA9IHBnZHBbaV07Ci0KLQkJaWYgKHBnZF92YWwocGdkKSAhPSAwKSB7Ci0JCQlwbWRfdCAqcG1kID0gKHBtZF90ICopcGdkX3BhZ2VfdmFkZHIocGdkKTsKLQotCQkJcGdkcFtpXSA9IG5hdGl2ZV9tYWtlX3BnZCgwKTsKLQotCQkJcGFyYXZpcnRfcmVsZWFzZV9wbWQocGdkX3ZhbChwZ2QpID4+IFBBR0VfU0hJRlQpOwotCQkJcG1kX2ZyZWUobW0sIHBtZCk7Ci0JCX0KLQl9Ci19Ci0KLS8qCiAgKiBJbiBQQUUgbW9kZSwgd2UgbmVlZCB0byBkbyBhIGNyMyByZWxvYWQgKD10bGIgZmx1c2gpIHdoZW4KICAqIHVwZGF0aW5nIHRoZSB0b3AtbGV2ZWwgcGFnZXRhYmxlIGVudHJpZXMgdG8gZ3VhcmFudGVlIHRoZQogICogcHJvY2Vzc29yIG5vdGljZXMgdGhlIHVwZGF0ZS4gIFNpbmNlIHRoaXMgaXMgZXhwZW5zaXZlLCBhbmQKQEAgLTE1MywzMSArMTIyLDcgQEAKICAqIG5vdCBzaGFyZWQgYmV0d2VlbiBwYWdldGFibGVzICghU0hBUkVEX0tFUk5FTF9QTURTKSwgd2UgYWxsb2NhdGUKICAqIGFuZCBpbml0aWFsaXplIHRoZSBrZXJuZWwgcG1kcyBoZXJlLgogICovCi1zdGF0aWMgaW50IHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCi17Ci0JcHVkX3QgKnB1ZDsKLQl1bnNpZ25lZCBsb25nIGFkZHI7Ci0JaW50IGk7Ci0KLQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7Ci0gCWZvciAoYWRkciA9IGkgPSAwOyBpIDwgVU5TSEFSRURfUFRSU19QRVJfUEdEOwotCSAgICAgaSsrLCBwdWQrKywgYWRkciArPSBQVURfU0laRSkgewotCQlwbWRfdCAqcG1kID0gcG1kX2FsbG9jX29uZShtbSwgYWRkcik7Ci0KLQkJaWYgKCFwbWQpIHsKLQkJCXBnZF9tb3BfdXBfcG1kcyhtbSwgcGdkKTsKLQkJCXJldHVybiAwOwotCQl9Ci0KLQkJaWYgKGkgPj0gS0VSTkVMX1BHRF9CT1VOREFSWSkKLQkJCW1lbWNweShwbWQsIChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHN3YXBwZXJfcGdfZGlyW2ldKSwKLQkJCSAgICAgICBzaXplb2YocG1kX3QpICogUFRSU19QRVJfUE1EKTsKLQotCQlwdWRfcG9wdWxhdGUobW0sIHB1ZCwgcG1kKTsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KKyNkZWZpbmUgUFJFQUxMT0NBVEVEX1BNRFMJVU5TSEFSRURfUFRSU19QRVJfUEdECiAKIHZvaWQgcHVkX3BvcHVsYXRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwdWRfdCAqcHVkcCwgcG1kX3QgKnBtZCkKIHsKQEAgLTE5NywzOSArMTQyLDEzMSBAQAogCQl3cml0ZV9jcjMocmVhZF9jcjMoKSk7CiB9CiAjZWxzZSAgLyogIUNPTkZJR19YODZfUEFFICovCisKIC8qIE5vIG5lZWQgdG8gcHJlcG9wdWxhdGUgYW55IHBhZ2V0YWJsZSBlbnRyaWVzIGluIG5vbi1QQUUgbW9kZXMuICovCi1zdGF0aWMgaW50IHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCisjZGVmaW5lIFBSRUFMTE9DQVRFRF9QTURTCTAKKworI2VuZGlmCS8qIENPTkZJR19YODZfUEFFICovCisKK3N0YXRpYyB2b2lkIGZyZWVfcG1kcyhwbWRfdCAqcG1kc1tdKQogewotCXJldHVybiAxOworCWludCBpOworCisJZm9yKGkgPSAwOyBpIDwgUFJFQUxMT0NBVEVEX1BNRFM7IGkrKykKKwkJaWYgKHBtZHNbaV0pCisJCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcG1kc1tpXSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkKK3N0YXRpYyBpbnQgcHJlYWxsb2NhdGVfcG1kcyhwbWRfdCAqcG1kc1tdKQogeworCWludCBpOworCWJvb2wgZmFpbGVkID0gZmFsc2U7CisKKwlmb3IoaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsgaSsrKSB7CisJCXBtZF90ICpwbWQgPSAocG1kX3QgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTHxfX0dGUF9SRVBFQVQpOworCQlpZiAocG1kID09IE5VTEwpCisJCQlmYWlsZWQgPSB0cnVlOworCQlwbWRzW2ldID0gcG1kOworCX0KKworCWlmIChmYWlsZWQpIHsKKwkJZnJlZV9wbWRzKHBtZHMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlyZXR1cm4gMDsKIH0KLSNlbmRpZgkvKiBDT05GSUdfWDg2X1BBRSAqLworCisvKgorICogTW9wIHVwIGFueSBwbWQgcGFnZXMgd2hpY2ggbWF5IHN0aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBwZ2QuCisgKiBOb3JtYWxseSB0aGV5IHdpbGwgYmUgZnJlZWQgYnkgbXVubWFwL2V4aXRfbW1hcCwgYnV0IGFueSBwbWQgd2UKKyAqIHByZWFsbG9jYXRlIHdoaWNoIG5ldmVyIGdvdCBhIGNvcnJlc3BvbmRpbmcgdm1hIHdpbGwgbmVlZCB0byBiZQorICogZnJlZWQgbWFudWFsbHkuCisgKi8KK3N0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZHApCit7CisJaW50IGk7CisKKwlmb3IoaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsgaSsrKSB7CisJCXBnZF90IHBnZCA9IHBnZHBbaV07CisKKwkJaWYgKHBnZF92YWwocGdkKSAhPSAwKSB7CisJCQlwbWRfdCAqcG1kID0gKHBtZF90ICopcGdkX3BhZ2VfdmFkZHIocGdkKTsKKworCQkJcGdkcFtpXSA9IG5hdGl2ZV9tYWtlX3BnZCgwKTsKKworCQkJcGFyYXZpcnRfcmVsZWFzZV9wbWQocGdkX3ZhbChwZ2QpID4+IFBBR0VfU0hJRlQpOworCQkJcG1kX2ZyZWUobW0sIHBtZCk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QsIHBtZF90ICpwbWRzW10pCit7CisJcHVkX3QgKnB1ZDsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50IGk7CisKKwlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7CisKKyAJZm9yIChhZGRyID0gaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsKKwkgICAgIGkrKywgcHVkKyssIGFkZHIgKz0gUFVEX1NJWkUpIHsKKwkJcG1kX3QgKnBtZCA9IHBtZHNbaV07CisKKwkJaWYgKGkgPj0gS0VSTkVMX1BHRF9CT1VOREFSWSkKKwkJCW1lbWNweShwbWQsIChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHN3YXBwZXJfcGdfZGlyW2ldKSwKKwkJCSAgICAgICBzaXplb2YocG1kX3QpICogUFRSU19QRVJfUE1EKTsKKworCQlwdWRfcG9wdWxhdGUobW0sIHB1ZCwgcG1kKTsKKwl9Cit9CiAKIHBnZF90ICpwZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7Ci0JcGdkX3QgKnBnZCA9IChwZ2RfdCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfWkVSTyk7CisJcGdkX3QgKnBnZDsKKwlwbWRfdCAqcG1kc1tQUkVBTExPQ0FURURfUE1EU107CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCS8qIHNvIHRoYXQgYWxsb2NfcG1kIGNhbiB1c2UgaXQgKi8KKwlwZ2QgPSAocGdkX3QgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8pOworCisJaWYgKHBnZCA9PSBOVUxMKQorCQlnb3RvIG91dDsKKwogCW1tLT5wZ2QgPSBwZ2Q7Ci0JaWYgKHBnZCkKLQkJcGdkX2N0b3IocGdkKTsKIAotCWlmIChwZ2QgJiYgIXBnZF9wcmVwb3B1bGF0ZV9wbWQobW0sIHBnZCkpIHsKLQkJcGdkX2R0b3IocGdkKTsKLQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXBnZCk7Ci0JCXBnZCA9IE5VTEw7Ci0JfQorCWlmIChwcmVhbGxvY2F0ZV9wbWRzKHBtZHMpICE9IDApCisJCWdvdG8gb3V0X2ZyZWVfcGdkOworCisJaWYgKHBhcmF2aXJ0X3BnZF9hbGxvYyhtbSkgIT0gMCkKKwkJZ290byBvdXRfZnJlZV9wbWRzOworCisJLyoKKwkgKiBNYWtlIHN1cmUgdGhhdCBwcmUtcG9wdWxhdGluZyB0aGUgcG1kcyBpcyBhdG9taWMgd2l0aAorCSAqIHJlc3BlY3QgdG8gYW55dGhpbmcgd2Fsa2luZyB0aGUgcGdkX2xpc3QsIHNvIHRoYXQgdGhleQorCSAqIG5ldmVyIHNlZSBhIHBhcnRpYWxseSBwb3B1bGF0ZWQgcGdkLgorCSAqLworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJcGdkX2N0b3IocGdkKTsKKwlwZ2RfcHJlcG9wdWxhdGVfcG1kKG1tLCBwZ2QsIHBtZHMpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAogCXJldHVybiBwZ2Q7CisKK291dF9mcmVlX3BtZHM6CisJZnJlZV9wbWRzKHBtZHMpOworb3V0X2ZyZWVfcGdkOgorCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOworb3V0OgorCXJldHVybiBOVUxMOwogfQogCiB2b2lkIHBnZF9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQogewogCXBnZF9tb3BfdXBfcG1kcyhtbSwgcGdkKTsKIAlwZ2RfZHRvcihwZ2QpOworCXBhcmF2aXJ0X3BnZF9mcmVlKG1tLCBwZ2QpOwogCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOwogfQogCkBAIC0yNTUsNyArMjkyLDcgQEAKIAogCWlmIChwdGVfeW91bmcoKnB0ZXApKQogCQlyZXQgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoX1BBR0VfQklUX0FDQ0VTU0VELAotCQkJCQkgJnB0ZXAtPnB0ZSk7CisJCQkJCSAodW5zaWduZWQgbG9uZyAqKSAmcHRlcC0+cHRlKTsKIAogCWlmIChyZXQpCiAJCXB0ZV91cGRhdGUodm1hLT52bV9tbSwgYWRkciwgcHRlcCk7CkBAIC0yNzQsMyArMzExLDIyIEBACiAKIAlyZXR1cm4geW91bmc7CiB9CisKK2ludCBmaXhtYXBzX3NldDsKKwordm9pZCBfX25hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgcHRlX3QgcHRlKQoreworCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKKworCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7CisJCUJVRygpOworCQlyZXR1cm47CisJfQorCXNldF9wdGVfdmFkZHIoYWRkcmVzcywgcHRlKTsKKwlmaXhtYXBzX3NldCsrOworfQorCit2b2lkIG5hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncykKK3sKKwlfX25hdGl2ZV9zZXRfZml4bWFwKGlkeCwgcGZuX3B0ZShwaHlzID4+IFBBR0VfU0hJRlQsIGZsYWdzKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMKaW5kZXggMzY5Y2YwNi4uYjRiZWNiZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGd0YWJsZV8zMi5jCisrKyBiL2FyY2gveDg2L21tL3BndGFibGVfMzIuYwpAQCAtNzEsNyArNzEsNyBAQAogICogQXNzb2NpYXRlIGEgdmlydHVhbCBwYWdlIGZyYW1lIHdpdGggYSBnaXZlbiBwaHlzaWNhbCBwYWdlIGZyYW1lIAogICogYW5kIHByb3RlY3Rpb24gZmxhZ3MgZm9yIHRoYXQgZnJhbWUuCiAgKi8gCi1zdGF0aWMgdm9pZCBzZXRfcHRlX3Bmbih1bnNpZ25lZCBsb25nIHZhZGRyLCB1bnNpZ25lZCBsb25nIHBmbiwgcGdwcm90X3QgZmxhZ3MpCit2b2lkIHNldF9wdGVfdmFkZHIodW5zaWduZWQgbG9uZyB2YWRkciwgcHRlX3QgcHRldmFsKQogewogCXBnZF90ICpwZ2Q7CiAJcHVkX3QgKnB1ZDsKQEAgLTk0LDggKzk0LDggQEAKIAkJcmV0dXJuOwogCX0KIAlwdGUgPSBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIHZhZGRyKTsKLQlpZiAocGdwcm90X3ZhbChmbGFncykpCi0JCXNldF9wdGVfcHJlc2VudCgmaW5pdF9tbSwgdmFkZHIsIHB0ZSwgcGZuX3B0ZShwZm4sIGZsYWdzKSk7CisJaWYgKHB0ZV92YWwocHRldmFsKSkKKwkJc2V0X3B0ZV9wcmVzZW50KCZpbml0X21tLCB2YWRkciwgcHRlLCBwdGV2YWwpOwogCWVsc2UKIAkJcHRlX2NsZWFyKCZpbml0X21tLCB2YWRkciwgcHRlKTsKIApAQCAtMTQxLDIyICsxNDEsOSBAQAogCV9fZmx1c2hfdGxiX29uZSh2YWRkcik7CiB9CiAKLXN0YXRpYyBpbnQgZml4bWFwczsKIHVuc2lnbmVkIGxvbmcgX19GSVhBRERSX1RPUCA9IDB4ZmZmZmYwMDA7CiBFWFBPUlRfU1lNQk9MKF9fRklYQUREUl9UT1ApOwogCi12b2lkIF9fc2V0X2ZpeG1hcCAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQotewotCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKLQotCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7Ci0JCUJVRygpOwotCQlyZXR1cm47Ci0JfQotCXNldF9wdGVfcGZuKGFkZHJlc3MsIHBoeXMgPj4gUEFHRV9TSElGVCwgZmxhZ3MpOwotCWZpeG1hcHMrKzsKLX0KLQogLyoqCiAgKiByZXNlcnZlX3RvcF9hZGRyZXNzIC0gcmVzZXJ2ZXMgYSBob2xlIGluIHRoZSB0b3Agb2Yga2VybmVsIGFkZHJlc3Mgc3BhY2UKICAqIEByZXNlcnZlIC0gc2l6ZSBvZiBob2xlIHRvIHJlc2VydmUKQEAgLTE2NCwxMSArMTUxLDQ0IEBACiAgKiBDYW4gYmUgdXNlZCB0byByZWxvY2F0ZSB0aGUgZml4bWFwIGFyZWEgYW5kIHBva2UgYSBob2xlIGluIHRoZSB0b3AKICAqIG9mIGtlcm5lbCBhZGRyZXNzIHNwYWNlIHRvIG1ha2Ugcm9vbSBmb3IgYSBoeXBlcnZpc29yLgogICovCi12b2lkIHJlc2VydmVfdG9wX2FkZHJlc3ModW5zaWduZWQgbG9uZyByZXNlcnZlKQordm9pZCBfX2luaXQgcmVzZXJ2ZV90b3BfYWRkcmVzcyh1bnNpZ25lZCBsb25nIHJlc2VydmUpCiB7Ci0JQlVHX09OKGZpeG1hcHMgPiAwKTsKKwlCVUdfT04oZml4bWFwc19zZXQgPiAwKTsKIAlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgdmlydHVhbCBhZGRyZXNzIHNwYWNlIGFib3ZlIDB4JTA4eFxuIiwKIAkgICAgICAgKGludCktcmVzZXJ2ZSk7CiAJX19GSVhBRERSX1RPUCA9IC1yZXNlcnZlIC0gUEFHRV9TSVpFOwogCV9fVk1BTExPQ19SRVNFUlZFICs9IHJlc2VydmU7CiB9CisKKy8qCisgKiB2bWFsbG9jPXNpemUgZm9yY2VzIHRoZSB2bWFsbG9jIGFyZWEgdG8gYmUgZXhhY3RseSAnc2l6ZScKKyAqIGJ5dGVzLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGluY3JlYXNlIChvciBkZWNyZWFzZSkgdGhlCisgKiB2bWFsbG9jIGFyZWEgLSB0aGUgZGVmYXVsdCBpcyAxMjhtLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV92bWFsbG9jKGNoYXIgKmFyZykKK3sKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX1ZNQUxMT0NfUkVTRVJWRSA9IG1lbXBhcnNlKGFyZywgJmFyZyk7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgidm1hbGxvYyIsIHBhcnNlX3ZtYWxsb2MpOworCisvKgorICogcmVzZXJ2ZXRvcD1zaXplIHJlc2VydmVzIGEgaG9sZSBhdCB0aGUgdG9wIG9mIHRoZSBrZXJuZWwgYWRkcmVzcyBzcGFjZSB3aGljaAorICogYSBoeXBlcnZpc29yIGNhbiBsb2FkIGludG8gbGF0ZXIuICBOZWVkZWQgZm9yIGR5bmFtaWNhbGx5IGxvYWRlZCBoeXBlcnZpc29ycywKKyAqIHNvIHJlbG9jYXRpbmcgdGhlIGZpeG1hcCBjYW4gYmUgZG9uZSBiZWZvcmUgcGFnaW5nIGluaXRpYWxpemF0aW9uLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9yZXNlcnZldG9wKGNoYXIgKmFyZykKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CisKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhZGRyZXNzID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKKwlyZXNlcnZlX3RvcF9hZGRyZXNzKGFkZHJlc3MpOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInJlc2VydmV0b3AiLCBwYXJzZV9yZXNlcnZldG9wKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3NyYXRfMzIuYyBiL2FyY2gveDg2L21tL3NyYXRfMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDFkNjdmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vc3JhdF8zMi5jCkBAIC0wLDAgKzEsMjgwIEBACisvKgorICogU29tZSBvZiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaGFzIGJlZW4gZ2xlYW5lZCBmcm9tIHRoZSA2NCBiaXQgCisgKiBkaXNjb250aWdtZW0gc3VwcG9ydCBjb2RlIGJhc2UuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAyLCBJQk0gQ29ycC4KKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiAgICAgICAgICAKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgR09PRCBUSVRMRSBvcgorICogTk9OIElORlJJTkdFTUVOVC4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUKKyAqIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiBTZW5kIGZlZWRiYWNrIHRvIFBhdCBHYXVnaGVuIDxnb25lQHVzLmlibS5jb20+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CisjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KKyNpbmNsdWRlIDxhc20vc3JhdC5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorCisvKgorICogcHJveGltaXR5IG1hY3JvcyBhbmQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBOT0RFX0FSUkFZX0lOREVYKHgpCSgoeCkgLyA4KQkvKiA4IGJpdHMvY2hhciAqLworI2RlZmluZSBOT0RFX0FSUkFZX09GRlNFVCh4KQkoKHgpICUgOCkJLyogOCBiaXRzL2NoYXIgKi8KKyNkZWZpbmUgQk1BUF9TRVQoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gfD0gMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKQorI2RlZmluZSBCTUFQX1RFU1QoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gJiAoMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKSkKKy8qIGJpdG1hcCBsZW5ndGg7IF9QWE0gaXMgYXQgbW9zdCAyNTUgKi8KKyNkZWZpbmUgUFhNX0JJVE1BUF9MRU4gKE1BWF9QWE1fRE9NQUlOUyAvIDgpIAorc3RhdGljIHU4IF9faW5pdGRhdGEgcHhtX2JpdG1hcFtQWE1fQklUTUFQX0xFTl07CS8qIGJpdG1hcCBvZiBwcm94aW1pdHkgZG9tYWlucyAqLworCisjZGVmaW5lIE1BWF9DSFVOS1NfUEVSX05PREUJMworI2RlZmluZSBNQVhDSFVOS1MJCShNQVhfQ0hVTktTX1BFUl9OT0RFICogTUFYX05VTU5PREVTKQorc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgeworCXVuc2lnbmVkIGxvbmcJc3RhcnRfcGZuOworCXVuc2lnbmVkIGxvbmcJZW5kX3BmbjsKKwl1OAlweG07CQkvLyBwcm94aW1pdHkgZG9tYWluIG9mIG5vZGUKKwl1OAluaWQ7CQkvLyB3aGljaCBjbm9kZSBjb250YWlucyB0aGlzIGNodW5rPworCXU4CWJhbms7CQkvLyB3aGljaCBtZW0gYmFuayBvbiB0aGlzIG5vZGUKK307CitzdGF0aWMgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgX19pbml0ZGF0YSBub2RlX21lbW9yeV9jaHVua1tNQVhDSFVOS1NdOworCitzdGF0aWMgaW50IF9faW5pdGRhdGEgbnVtX21lbW9yeV9jaHVua3M7IC8qIHRvdGFsIG51bWJlciBvZiBtZW1vcnkgY2h1bmtzICovCitzdGF0aWMgdTggX19pbml0ZGF0YSBhcGljaWRfdG9fcHhtW01BWF9BUElDSURdOworCitpbnQgbnVtYV9vZmYgX19pbml0ZGF0YTsKK2ludCBhY3BpX251bWEgX19pbml0ZGF0YTsKKworc3RhdGljIF9faW5pdCB2b2lkIGJhZF9zcmF0KHZvaWQpCit7CisgICAgICAgIHByaW50ayhLRVJOX0VSUiAiU1JBVDogU1JBVCBub3QgdXNlZC5cbiIpOworICAgICAgICBhY3BpX251bWEgPSAtMTsKKwludW1fbWVtb3J5X2NodW5rcyA9IDA7Cit9CisKK3N0YXRpYyBfX2luaXQgaW5saW5lIGludCBzcmF0X2Rpc2FibGVkKHZvaWQpCit7CisJcmV0dXJuIG51bWFfb2ZmIHx8IGFjcGlfbnVtYSA8IDA7Cit9CisKKy8qIElkZW50aWZ5IENQVSBwcm94aW1pdHkgZG9tYWlucyAqLwordm9pZCBfX2luaXQKK2FjcGlfbnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChzdHJ1Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqY3B1X2FmZmluaXR5KQoreworCWlmIChzcmF0X2Rpc2FibGVkKCkpCisJCXJldHVybjsKKwlpZiAoY3B1X2FmZmluaXR5LT5oZWFkZXIubGVuZ3RoICE9CisJICAgICBzaXplb2Yoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkpKSB7CisJCWJhZF9zcmF0KCk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoKGNwdV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfQ1BVX0VOQUJMRUQpID09IDApCisJCXJldHVybjsJCS8qIGVtcHR5IGVudHJ5ICovCisKKwkvKiBtYXJrIHRoaXMgbm9kZSBhcyAic2VlbiIgaW4gbm9kZSBiaXRtYXAgKi8KKwlCTUFQX1NFVChweG1fYml0bWFwLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOworCisJYXBpY2lkX3RvX3B4bVtjcHVfYWZmaW5pdHktPmFwaWNfaWRdID0gY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvOworCisJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSAlMDJ4IGluIHByb3hpbWl0eSBkb21haW4gJTAyeFxuIiwKKwkJY3B1X2FmZmluaXR5LT5hcGljX2lkLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOworfQorCisvKgorICogSWRlbnRpZnkgbWVtb3J5IHByb3hpbWl0eSBkb21haW5zIGFuZCBob3QtcmVtb3ZlIGNhcGFiaWxpdGllcy4KKyAqIEZpbGwgbm9kZSBtZW1vcnkgY2h1bmsgbGlzdCBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgX19pbml0CithY3BpX251bWFfbWVtb3J5X2FmZmluaXR5X2luaXQoc3RydWN0IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKm1lbW9yeV9hZmZpbml0eSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgcGFkZHIsIHNpemU7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47CisJdTggcHhtOworCXN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zICpwLCAqcSwgKnBlbmQ7CisKKwlpZiAoc3JhdF9kaXNhYmxlZCgpKQorCQlyZXR1cm47CisJaWYgKG1lbW9yeV9hZmZpbml0eS0+aGVhZGVyLmxlbmd0aCAhPQorCSAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5KSkgeworCQliYWRfc3JhdCgpOworCQlyZXR1cm47CisJfQorCisJaWYgKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9FTkFCTEVEKSA9PSAwKQorCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLworCisJcHhtID0gbWVtb3J5X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluICYgMHhmZjsKKworCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLworCUJNQVBfU0VUKHB4bV9iaXRtYXAsIHB4bSk7CisKKwkvKiBjYWxjdWxhdGUgaW5mbyBmb3IgbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLworCXBhZGRyID0gbWVtb3J5X2FmZmluaXR5LT5iYXNlX2FkZHJlc3M7CisJc2l6ZSA9IG1lbW9yeV9hZmZpbml0eS0+bGVuZ3RoOworCisJc3RhcnRfcGZuID0gcGFkZHIgPj4gUEFHRV9TSElGVDsKKwllbmRfcGZuID0gKHBhZGRyICsgc2l6ZSkgPj4gUEFHRV9TSElGVDsKKworCisJaWYgKG51bV9tZW1vcnlfY2h1bmtzID49IE1BWENIVU5LUykgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJUb28gbWFueSBtZW0gY2h1bmtzIGluIFNSQVQuIgorCQkJIiBJZ25vcmluZyAlbGxkIE1CeXRlcyBhdCAlbGx4XG4iLAorCQkJc2l6ZS8oMTAyNCoxMDI0KSwgcGFkZHIpOworCQlyZXR1cm47CisJfQorCisJLyogSW5zZXJ0aW9uIHNvcnQgYmFzZWQgb24gYmFzZSBhZGRyZXNzICovCisJcGVuZCA9ICZub2RlX21lbW9yeV9jaHVua1tudW1fbWVtb3J5X2NodW5rc107CisJZm9yIChwID0gJm5vZGVfbWVtb3J5X2NodW5rWzBdOyBwIDwgcGVuZDsgcCsrKSB7CisJCWlmIChzdGFydF9wZm4gPCBwLT5zdGFydF9wZm4pCisJCQlicmVhazsKKwl9CisJaWYgKHAgPCBwZW5kKSB7CisJCWZvciAocSA9IHBlbmQ7IHEgPj0gcDsgcS0tKQorCQkJKihxICsgMSkgPSAqcTsKKwl9CisJcC0+c3RhcnRfcGZuID0gc3RhcnRfcGZuOworCXAtPmVuZF9wZm4gPSBlbmRfcGZuOworCXAtPnB4bSA9IHB4bTsKKworCW51bV9tZW1vcnlfY2h1bmtzKys7CisKKwlwcmludGsoS0VSTl9ERUJVRyAiTWVtb3J5IHJhbmdlICUwOGx4IHRvICUwOGx4ICh0eXBlICV4KSIKKwkJCSAgIiBpbiBwcm94aW1pdHkgZG9tYWluICUwMnggJXNcbiIsCisJCXN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJbWVtb3J5X2FmZmluaXR5LT5tZW1vcnlfdHlwZSwKKwkJcHhtLAorCQkoKG1lbW9yeV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVF9QTFVHR0FCTEUpID8KKwkJICJlbmFibGVkIGFuZCByZW1vdmFibGUiIDogImVuYWJsZWQiICkgKTsKK30KKworLyogQ2FsbGJhY2sgZm9yIFNMSVQgcGFyc2luZyAqLwordm9pZCBfX2luaXQgYWNwaV9udW1hX3NsaXRfaW5pdChzdHJ1Y3QgYWNwaV90YWJsZV9zbGl0ICpzbGl0KQoreworfQorCit2b2lkIGFjcGlfbnVtYV9hcmNoX2ZpeHVwKHZvaWQpCit7Cit9CisvKgorICogVGhlIFNSQVQgdGFibGUgYWx3YXlzIGxpc3RzIGFzY2VuZGluZyBhZGRyZXNzZXMsIHNvIGNhbiBhbHdheXMKKyAqIGFzc3VtZSB0aGF0IHRoZSBmaXJzdCAic3RhcnQiIGFkZHJlc3MgdGhhdCB5b3Ugc2VlIGlzIHRoZSByZWFsCisgKiBzdGFydCBvZiB0aGUgbm9kZSwgYW5kIHRoYXQgdGhlIGN1cnJlbnQgImVuZCIgYWRkcmVzcyBpcyBhZnRlcgorICogdGhlIHByZXZpb3VzIG9uZS4KKyAqLworc3RhdGljIF9faW5pdCB2b2lkIG5vZGVfcmVhZF9jaHVuayhpbnQgbmlkLCBzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqbWVtb3J5X2NodW5rKQoreworCS8qCisJICogT25seSBhZGQgcHJlc2VudCBtZW1vcnkgYXMgdG9sZCBieSB0aGUgZTgyMC4KKwkgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgZnJvbSB0aGUgU1JBVCB0aGF0IHRoZSBtZW1vcnkgaXQKKwkgKiBlbnVtZXJhdGVzIGlzIHByZXNlbnQgYXQgYm9vdCB0aW1lIGJlY2F1c2UgaXQgcmVwcmVzZW50cworCSAqICpwb3NzaWJsZSogbWVtb3J5IGhvdHBsdWcgYXJlYXMgdGhlIHNhbWUgYXMgbm9ybWFsIFJBTS4KKwkgKi8KKwlpZiAobWVtb3J5X2NodW5rLT5zdGFydF9wZm4gPj0gbWF4X3BmbikgeworCQlwcmludGsoS0VSTl9JTkZPICJJZ25vcmluZyBTUkFUIHBmbnM6ICUwOGx4IC0gJTA4bHhcbiIsCisJCQltZW1vcnlfY2h1bmstPnN0YXJ0X3BmbiwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKTsKKwkJcmV0dXJuOworCX0KKwlpZiAobWVtb3J5X2NodW5rLT5uaWQgIT0gbmlkKQorCQlyZXR1cm47CisKKwlpZiAoIW5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKKwkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOworCisJaWYgKG5vZGVfc3RhcnRfcGZuW25pZF0gPiBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbikKKwkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOworCisJaWYgKG5vZGVfZW5kX3BmbltuaWRdIDwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKQorCQlub2RlX2VuZF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+ZW5kX3BmbjsKK30KKworaW50IF9faW5pdCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQoreworCWludCBpLCBqLCBuaWQ7CisKKworCWlmIChzcmF0X2Rpc2FibGVkKCkpCisJCWdvdG8gb3V0X2ZhaWw7CisKKwlpZiAobnVtX21lbW9yeV9jaHVua3MgPT0gMCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkgImNvdWxkIG5vdCBmaW55IGFueSBBQ1BJIFNSQVQgbWVtb3J5IGFyZWFzLlxuIik7CisJCWdvdG8gb3V0X2ZhaWw7CisJfQorCisJLyogQ2FsY3VsYXRlIHRvdGFsIG51bWJlciBvZiBub2RlcyBpbiBzeXN0ZW0gZnJvbSBQWE0gYml0bWFwIGFuZCBjcmVhdGUKKwkgKiBhIHNldCBvZiBzZXF1ZW50aWFsIG5vZGUgSURzIHN0YXJ0aW5nIGF0IHplcm8uICAoQUNQSSBkb2Vzbid0IHNlZW0KKwkgKiB0byBzcGVjaWZ5IHRoZSByYW5nZSBvZiBfUFhNIHZhbHVlcy4pCisJICovCisJLyoKKwkgKiBNQ0QgLSB3ZSBubyBsb25nZXIgSEFWRSB0byBudW1iZXIgbm9kZXMgc2VxdWVudGlhbGx5LiAgUFhNIGRvbWFpbgorCSAqIG51bWJlcnMgY291bGQgZ28gYXMgaGlnaCBhcyAyNTYsIGFuZCBNQVhfTlVNTk9ERVMgZm9yIGkzODYgaXMgdHlwaWNhbGx5CisJICogMzIsIHNvIHdlIHdpbGwgY29udGludWUgbnVtYmVyaW5nIHRoZW0gaW4gdGhpcyBtYW5uZXIgdW50aWwgTUFYX05VTU5PREVTCisJICogYXBwcm9hY2hlcyBNQVhfUFhNX0RPTUFJTlMgZm9yIGkzODYuCisJICovCisJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX1BYTV9ET01BSU5TOyBpKyspIHsKKwkJaWYgKEJNQVBfVEVTVChweG1fYml0bWFwLCBpKSkgeworCQkJaW50IG5pZCA9IGFjcGlfbWFwX3B4bV90b19ub2RlKGkpOworCQkJbm9kZV9zZXRfb25saW5lKG5pZCk7CisJCX0KKwl9CisJQlVHX09OKG51bV9vbmxpbmVfbm9kZXMoKSA9PSAwKTsKKworCS8qIHNldCBjbm9kZSBpZCBpbiBtZW1vcnkgY2h1bmsgc3RydWN0dXJlICovCisJZm9yIChpID0gMDsgaSA8IG51bV9tZW1vcnlfY2h1bmtzOyBpKyspCisJCW5vZGVfbWVtb3J5X2NodW5rW2ldLm5pZCA9IHB4bV90b19ub2RlKG5vZGVfbWVtb3J5X2NodW5rW2ldLnB4bSk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAicHhtIGJpdG1hcDogIik7CisJZm9yIChpID0gMDsgaSA8IHNpemVvZihweG1fYml0bWFwKTsgaSsrKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIiUwMnggIiwgcHhtX2JpdG1hcFtpXSk7CisJfQorCXByaW50ayhLRVJOX0NPTlQgIlxuIik7CisJcHJpbnRrKEtFUk5fREVCVUcgIk51bWJlciBvZiBsb2dpY2FsIG5vZGVzIGluIHN5c3RlbSA9ICVkXG4iLAorCQkJIG51bV9vbmxpbmVfbm9kZXMoKSk7CisJcHJpbnRrKEtFUk5fREVCVUcgIk51bWJlciBvZiBtZW1vcnkgY2h1bmtzIGluIHN5c3RlbSA9ICVkXG4iLAorCQkJIG51bV9tZW1vcnlfY2h1bmtzKTsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfQVBJQ0lEOyBpKyspCisJCWFwaWNpZF8yX25vZGVbaV0gPSBweG1fdG9fbm9kZShhcGljaWRfdG9fcHhtW2ldKTsKKworCWZvciAoaiA9IDA7IGogPCBudW1fbWVtb3J5X2NodW5rczsgaisrKXsKKwkJc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKiBjaHVuayA9ICZub2RlX21lbW9yeV9jaHVua1tqXTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCSJjaHVuayAlZCBuaWQgJWQgc3RhcnRfcGZuICUwOGx4IGVuZF9wZm4gJTA4bHhcbiIsCisJCSAgICAgICBqLCBjaHVuay0+bmlkLCBjaHVuay0+c3RhcnRfcGZuLCBjaHVuay0+ZW5kX3Bmbik7CisJCW5vZGVfcmVhZF9jaHVuayhjaHVuay0+bmlkLCBjaHVuayk7CisJCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwKKwkJCQkJICAgICBtaW4oY2h1bmstPmVuZF9wZm4sIG1heF9wZm4pKTsKKwl9CisKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKKwkJdW5zaWduZWQgbG9uZyBzdGFydCA9IG5vZGVfc3RhcnRfcGZuW25pZF07CisJCXVuc2lnbmVkIGxvbmcgZW5kID0gbWluKG5vZGVfZW5kX3BmbltuaWRdLCBtYXhfcGZuKTsKKworCQltZW1vcnlfcHJlc2VudChuaWQsIHN0YXJ0LCBlbmQpOworCQlub2RlX3JlbWFwX3NpemVbbmlkXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMobmlkLCBzdGFydCwgZW5kKTsKKwl9CisJcmV0dXJuIDE7CitvdXRfZmFpbDoKKwlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBnZXQgTlVNQSBtZW1vcnkgaW5mb3JtYXRpb24gZnJvbSBTUkFUIgorCQkJIiB0YWJsZVxuIik7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMgYi9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMKaW5kZXggOTk2NDlkYy4uMWI0NzYzZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vc3JhdF82NC5jCisrKyBiL2FyY2gveDg2L21tL3NyYXRfNjQuYwpAQCAtMTAwLDcgKzEwMCwxOSBAQAogLyogQ2FsbGJhY2sgZm9yIFNMSVQgcGFyc2luZyAqLwogdm9pZCBfX2luaXQgYWNwaV9udW1hX3NsaXRfaW5pdChzdHJ1Y3QgYWNwaV90YWJsZV9zbGl0ICpzbGl0KQogewotCWFjcGlfc2xpdCA9IHNsaXQ7CisJdW5zaWduZWQgbGVuZ3RoOworCXVuc2lnbmVkIGxvbmcgcGh5czsKKworCWxlbmd0aCA9IHNsaXQtPmhlYWRlci5sZW5ndGg7CisJcGh5cyA9IGZpbmRfZTgyMF9hcmVhKDAsIG1heF9wZm5fbWFwcGVkPDxQQUdFX1NISUZULCBsZW5ndGgsCisJCSBQQUdFX1NJWkUpOworCisJaWYgKHBoeXMgPT0gLTFMKQorCQlwYW5pYygiIENhbiBub3Qgc2F2ZSBzbGl0IVxuIik7CisKKwlhY3BpX3NsaXQgPSBfX3ZhKHBoeXMpOworCW1lbWNweShhY3BpX3NsaXQsIHNsaXQsIGxlbmd0aCk7CisJcmVzZXJ2ZV9lYXJseShwaHlzLCBwaHlzICsgbGVuZ3RoLCAiQUNQSSBTTElUIik7CiB9CiAKIC8qIENhbGxiYWNrIGZvciBQcm94aW1pdHkgRG9tYWluIC0+IExBUElDIG1hcHBpbmcgKi8KQEAgLTI5OSw3ICszMTEsNyBAQAogCQkJcHhtcmFtID0gMDsKIAl9CiAKLQllODIwcmFtID0gZW5kX3BmbiAtIGFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBlbmRfcGZuKTsKKwllODIwcmFtID0gbWF4X3BmbiAtIGFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBtYXhfcGZuKTsKIAkvKiBXZSBzZWVtIHRvIGxvc2UgMyBwYWdlcyBzb21ld2hlcmUuIEFsbG93IGEgYml0IG9mIHNsYWNrLiAqLwogCWlmICgobG9uZykoZTgyMHJhbSAtIHB4bXJhbSkgPj0gMSoxMDI0KjEwMjQpIHsKIAkJcHJpbnRrKEtFUk5fRVJSCkBAIC0zNzYsNyArMzg4LDcgQEAKIAkJaWYgKG5vZGUgPT0gTlVNQV9OT19OT0RFKQogCQkJY29udGludWU7CiAJCWlmICghbm9kZV9pc3NldChub2RlLCBub2RlX3Bvc3NpYmxlX21hcCkpCi0JCQludW1hX3NldF9ub2RlKGksIE5VTUFfTk9fTk9ERSk7CisJCQludW1hX2NsZWFyX25vZGUoaSk7CiAJfQogCW51bWFfaW5pdF9hcnJheSgpOwogCXJldHVybiAwOwpAQCAtNDk1LDYgKzUwNyw3IEBACiAKIEVYUE9SVF9TWU1CT0woX19ub2RlX2Rpc3RhbmNlKTsKIAorI2lmIGRlZmluZWQoQ09ORklHX01FTU9SWV9IT1RQTFVHX1NQQVJTRSkgfHwgZGVmaW5lZChDT05GSUdfQUNQSV9IT1RQTFVHX01FTU9SWSkKIGludCBtZW1vcnlfYWRkX3BoeXNhZGRyX3RvX25pZCh1NjQgc3RhcnQpCiB7CiAJaW50IGksIHJldCA9IDA7CkBAIC01MDYsNCArNTE5LDQgQEAKIAlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTF9HUEwobWVtb3J5X2FkZF9waHlzYWRkcl90b19uaWQpOwotCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYyBiL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODc3YzViCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vdGVzdG1taW90cmFjZS5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBXcml0dGVuIGJ5IFBla2thIFBhYWxhbmVuLCAyMDA4IDxwcUBpa2kuZmk+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjZGVmaW5lIE1PRFVMRV9OQU1FICJ0ZXN0bW1pb3RyYWNlIgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBtbWlvX2FkZHJlc3M7Cittb2R1bGVfcGFyYW0obW1pb19hZGRyZXNzLCB1bG9uZywgMCk7CitNT0RVTEVfUEFSTV9ERVNDKG1taW9fYWRkcmVzcywgIlN0YXJ0IGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmcgb2YgMTYga0IuIik7CisKK3N0YXRpYyB2b2lkIGRvX3dyaXRlX3Rlc3Qodm9pZCBfX2lvbWVtICpwKQoreworCXVuc2lnbmVkIGludCBpOworCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKKwkJaW93cml0ZTgoaSwgcCArIGkpOworCWZvciAoaSA9IDEwMjQ7IGkgPCAoNSAqIDEwMjQpOyBpICs9IDIpCisJCWlvd3JpdGUxNihpICogMTIgKyA3LCBwICsgaSk7CisJZm9yIChpID0gKDUgKiAxMDI0KTsgaSA8ICgxNiAqIDEwMjQpOyBpICs9IDQpCisJCWlvd3JpdGUzMihpICogMjEyMzcxICsgMTMsIHAgKyBpKTsKK30KKworc3RhdGljIHZvaWQgZG9fcmVhZF90ZXN0KHZvaWQgX19pb21lbSAqcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCisJCWlvcmVhZDgocCArIGkpOworCWZvciAoaSA9IDEwMjQ7IGkgPCAoNSAqIDEwMjQpOyBpICs9IDIpCisJCWlvcmVhZDE2KHAgKyBpKTsKKwlmb3IgKGkgPSAoNSAqIDEwMjQpOyBpIDwgKDE2ICogMTAyNCk7IGkgKz0gNCkKKwkJaW9yZWFkMzIocCArIGkpOworfQorCitzdGF0aWMgdm9pZCBkb190ZXN0KHZvaWQpCit7CisJdm9pZCBfX2lvbWVtICpwID0gaW9yZW1hcF9ub2NhY2hlKG1taW9fYWRkcmVzcywgMHg0MDAwKTsKKwlpZiAoIXApIHsKKwkJcHJfZXJyKE1PRFVMRV9OQU1FICI6IGNvdWxkIG5vdCBpb3JlbWFwLCBhYm9ydGluZy5cbiIpOworCQlyZXR1cm47CisJfQorCWRvX3dyaXRlX3Rlc3QocCk7CisJZG9fcmVhZF90ZXN0KHApOworCWlvdW5tYXAocCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXQodm9pZCkKK3sKKwlpZiAobW1pb19hZGRyZXNzID09IDApIHsKKwkJcHJfZXJyKE1PRFVMRV9OQU1FICI6IHlvdSBoYXZlIHRvIHVzZSB0aGUgbW9kdWxlIGFyZ3VtZW50ICIKKwkJCQkJCQkibW1pb19hZGRyZXNzLlxuIik7CisJCXByX2VycihNT0RVTEVfTkFNRSAiOiBETyBOT1QgTE9BRCBUSElTIE1PRFVMRSBVTkxFU1MiCisJCQkJIiBZT1UgUkVBTExZIEtOT1cgV0hBVCBZT1UgQVJFIERPSU5HIVxuIik7CisJCXJldHVybiAtRU5YSU87CisJfQorCisJcHJfd2FybmluZyhNT0RVTEVfTkFNRSAiOiBXQVJOSU5HOiBtYXBwaW5nIDE2IGtCIEAgMHglMDhseCAiCisJCQkJCSJpbiBQQ0kgYWRkcmVzcyBzcGFjZSwgYW5kIHdyaXRpbmcgIgorCQkJCQkicnViYmlzaCBpbiB0aGVyZS5cbiIsIG1taW9fYWRkcmVzcyk7CisJZG9fdGVzdCgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgY2xlYW51cCh2b2lkKQoreworCXByX2RlYnVnKE1PRFVMRV9OQU1FICI6IHVubG9hZGVkLlxuIik7Cit9CisKK21vZHVsZV9pbml0KGluaXQpOworbW9kdWxlX2V4aXQoY2xlYW51cCk7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMgYi9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMKaW5kZXggY2M0OGQzZi4uN2YzMzI5YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvb3Byb2ZpbGUvbm1pX2ludC5jCisrKyBiL2FyY2gveDg2L29wcm9maWxlL25taV9pbnQuYwpAQCAtMjE4LDggKzIxOCw4IEBACiAJCX0KIAogCX0KLQlvbl9lYWNoX2NwdShubWlfc2F2ZV9yZWdpc3RlcnMsIE5VTEwsIDAsIDEpOwotCW9uX2VhY2hfY3B1KG5taV9jcHVfc2V0dXAsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG5taV9zYXZlX3JlZ2lzdGVycywgTlVMTCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zZXR1cCwgTlVMTCwgMSk7CiAJbm1pX2VuYWJsZWQgPSAxOwogCXJldHVybiAwOwogfQpAQCAtMjY5LDEyICsyNjksMTMgQEAKIAogc3RhdGljIHZvaWQgbm1pX3NodXRkb3duKHZvaWQpCiB7Ci0Jc3RydWN0IG9wX21zcnMgKm1zcnMgPSAmX19nZXRfY3B1X3ZhcihjcHVfbXNycyk7CisJc3RydWN0IG9wX21zcnMgKm1zcnMgPSAmZ2V0X2NwdV92YXIoY3B1X21zcnMpOwogCW5taV9lbmFibGVkID0gMDsKLQlvbl9lYWNoX2NwdShubWlfY3B1X3NodXRkb3duLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShubWlfY3B1X3NodXRkb3duLCBOVUxMLCAxKTsKIAl1bnJlZ2lzdGVyX2RpZV9ub3RpZmllcigmcHJvZmlsZV9leGNlcHRpb25zX25iKTsKIAltb2RlbC0+c2h1dGRvd24obXNycyk7CiAJZnJlZV9tc3JzKCk7CisJcHV0X2NwdV92YXIoY3B1X21zcnMpOwogfQogCiBzdGF0aWMgdm9pZCBubWlfY3B1X3N0YXJ0KHZvaWQgKmR1bW15KQpAQCAtMjg1LDcgKzI4Niw3IEBACiAKIHN0YXRpYyBpbnQgbm1pX3N0YXJ0KHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUobm1pX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zdGFydCwgTlVMTCwgMSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI5Nyw3ICsyOTgsNyBAQAogCiBzdGF0aWMgdm9pZCBubWlfc3RvcCh2b2lkKQogewotCW9uX2VhY2hfY3B1KG5taV9jcHVfc3RvcCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zdG9wLCBOVUxMLCAxKTsKIH0KIAogc3RydWN0IG9wX2NvdW50ZXJfY29uZmlnIGNvdW50ZXJfY29uZmlnW09QX01BWF9DT1VOVEVSXTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZSBiL2FyY2gveDg2L3BjaS9NYWtlZmlsZQppbmRleCBjNWM4ZTQ4Li5lNTE1ZThkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvcGNpL01ha2VmaWxlCkBAIC0xLDUgKzEsMTcgQEAKLWlmZXEgKCQoQ09ORklHX1g4Nl8zMikseSkKLWluY2x1ZGUgJHtzcmN0cmVlfS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfMzIKLWVsc2UKLWluY2x1ZGUgJHtzcmN0cmVlfS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQKLWVuZGlmCitvYmoteQkJCQk6PSBpMzg2Lm8gaW5pdC5vCisKK29iai0kKENPTkZJR19QQ0lfQklPUykJCSs9IHBjYmlvcy5vCitvYmotJChDT05GSUdfUENJX01NQ09ORklHKQkrPSBtbWNvbmZpZ18kKEJJVFMpLm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KK29iai0kKENPTkZJR19QQ0lfRElSRUNUKQkrPSBkaXJlY3Qubworb2JqLSQoQ09ORklHX1BDSV9PTFBDKQkJKz0gb2xwYy5vCisKK3BjaS15CQkJCTo9IGZpeHVwLm8KK3BjaS0kKENPTkZJR19BQ1BJKQkJKz0gYWNwaS5vCitwY2kteQkJCQkrPSBsZWdhY3kubyBpcnEubworCitwY2ktJChDT05GSUdfWDg2X1ZJU1dTKQkJKz0gdmlzd3MubworCitwY2ktJChDT05GSUdfWDg2X05VTUFRKQkJKz0gbnVtYS5vCisKK29iai15CQkJCSs9ICQocGNpLXkpIGNvbW1vbi5vIGVhcmx5Lm8KK29iai15CQkJCSs9IGFtZF9idXMubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL01ha2VmaWxlXzMyIGIvYXJjaC94ODYvcGNpL01ha2VmaWxlXzMyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWVjMzVkLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZV8zMgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLW9iai15CQkJCTo9IGkzODYubyBpbml0Lm8KLQotb2JqLSQoQ09ORklHX1BDSV9CSU9TKQkJKz0gcGNiaW9zLm8KLW9iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpCSs9IG1tY29uZmlnXzMyLm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KLW9iai0kKENPTkZJR19QQ0lfRElSRUNUKQkrPSBkaXJlY3Qubwotb2JqLSQoQ09ORklHX1BDSV9PTFBDKQkJKz0gb2xwYy5vCi0KLXBjaS15CQkJCTo9IGZpeHVwLm8KLQotIyBEbyBub3QgY2hhbmdlIHRoZSBvcmRlcmluZyBoZXJlLiBUaGVyZSBpcyBhIG5hc3R5IGluaXQgZnVuY3Rpb24KLSMgb3JkZXJpbmcgZGVwZW5kZW5jeSB3aGljaCBicmVha3Mgd2hlbiB5b3UgbW92ZSBhY3BpLm8gYmVsb3cKLSMgbGVnYWN5L2lycS5vCi1wY2ktJChDT05GSUdfQUNQSSkJCSs9IGFjcGkubwotcGNpLXkJCQkJKz0gbGVnYWN5Lm8gaXJxLm8KLQotIyBDYXJlZnVsOiBWSVNXUyBhbmQgTlVNQVEgb3ZlcnJ1bGUgdGhlIHBjaS15IGFib3ZlLiBUaGUgY29sb25zIGFyZQotIyB0aGVyZWZvciBjb3JyZWN0LiBUaGlzIG5lZWRzIGEgcHJvcGVyIGZpeCBieSBkaXN0YW5nbGluZyB0aGUgY29kZS4KLXBjaS0kKENPTkZJR19YODZfVklTV1MpCQk6PSB2aXN3cy5vIGZpeHVwLm8KLXBjaS0kKENPTkZJR19YODZfTlVNQVEpCQk6PSBudW1hLm8gaXJxLm8KLQotIyBOZWNlc3NhcnkgZm9yIE5VTUFRIGFzIHdlbGwKLXBjaS0kKENPTkZJR19OVU1BKQkJKz0gbXBfYnVzX3RvX25vZGUubwotCi1vYmoteQkJCQkrPSAkKHBjaS15KSBjb21tb24ubyBlYXJseS5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQgYi9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmYmQxOTguLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvcGNpL01ha2VmaWxlXzY0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgWDg2XzY0IHNwZWNpZmljIFBDSSByb3V0aW5lcwotIwotIyBSZXVzZSB0aGUgaTM4NiBQQ0kgc3Vic3lzdGVtCi0jCi1FWFRSQV9DRkxBR1MgKz0gLUlhcmNoL3g4Ni9wY2kKLQotb2JqLXkJCTo9IGkzODYubwotb2JqLSQoQ09ORklHX1BDSV9ESVJFQ1QpKz0gZGlyZWN0Lm8KLW9iai15CQkrPSBmaXh1cC5vIGluaXQubwotb2JqLSQoQ09ORklHX0FDUEkpCSs9IGFjcGkubwotb2JqLXkJCQkrPSBsZWdhY3kubyBpcnEubyBjb21tb24ubyBlYXJseS5vCi0jIG1tY29uZmlnIGhhcyBhIDY0Yml0IHNwZWNpYWwKLW9iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpICs9IG1tY29uZmlnXzY0Lm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KLQotb2JqLXkJCSs9IGs4LWJ1c182NC5vCi0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9hY3BpLmMgYi9hcmNoL3g4Ni9wY2kvYWNwaS5jCmluZGV4IGQ5NWRlMmYuLjE5YWYwNjkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9hY3BpLmMKKysrIGIvYXJjaC94ODYvcGNpL2FjcGkuYwpAQCAtMTcxLDggKzE3MSwxMSBAQAogCWlmIChub2RlICE9IC0xKQogCQlzZXRfbXBfYnVzX3RvX25vZGUoYnVzbnVtLCBub2RlKTsKIAllbHNlCi0JCW5vZGUgPSBnZXRfbXBfYnVzX3RvX25vZGUoYnVzbnVtKTsKICNlbmRpZgorCQlub2RlID0gZ2V0X21wX2J1c190b19ub2RlKGJ1c251bSk7CisKKwlpZiAobm9kZSAhPSAtMSAmJiAhbm9kZV9vbmxpbmUobm9kZSkpCisJCW5vZGUgPSAtMTsKIAogCS8qIEFsbG9jYXRlIHBlci1yb290LWJ1cyAobm90IHBlciBidXMpIGFyY2gtc3BlY2lmaWMgZGF0YS4KIAkgKiBUT0RPOiBsZWFrOyB0aGlzIG1lbW9yeSBpcyBuZXZlciBmcmVlZC4KQEAgLTIwNCwyMiArMjA3LDIzIEBACiAJaWYgKCFidXMpCiAJCWtmcmVlKHNkKTsKIAorCWlmIChidXMgJiYgbm9kZSAhPSAtMSkgewogI2lmZGVmIENPTkZJR19BQ1BJX05VTUEKLQlpZiAoYnVzKSB7Ci0JCWlmIChweG0gPj0gMCkgeworCQlpZiAocHhtID49IDApCiAJCQlwcmludGsoS0VSTl9ERUJVRyAiYnVzICUwMnggLT4gcHhtICVkIC0+IG5vZGUgJWRcbiIsCi0JCQkJYnVzbnVtLCBweG0sIHB4bV90b19ub2RlKHB4bSkpOwotCQl9Ci0JfQorCQkJCWJ1c251bSwgcHhtLCBub2RlKTsKKyNlbHNlCisJCXByaW50ayhLRVJOX0RFQlVHICJidXMgJTAyeCAtPiBub2RlICVkXG4iLAorCQkJYnVzbnVtLCBub2RlKTsKICNlbmRpZgorCX0KIAogCWlmIChidXMgJiYgKHBjaV9wcm9iZSAmIFBDSV9VU0VfX0NSUykpCiAJCWdldF9jdXJyZW50X3Jlc291cmNlcyhkZXZpY2UsIGJ1c251bSwgZG9tYWluLCBidXMpOwogCXJldHVybiBidXM7CiB9CiAKLWV4dGVybiBpbnQgcGNpX3JvdXRlaXJxOwotc3RhdGljIGludCBfX2luaXQgcGNpX2FjcGlfaW5pdCh2b2lkKQoraW50IF9faW5pdCBwY2lfYWNwaV9pbml0KHZvaWQpCiB7CiAJc3RydWN0IHBjaV9kZXYgKmRldiA9IE5VTEw7CiAKQEAgLTI1Myw0ICsyNTcsMyBAQAogCiAJcmV0dXJuIDA7CiB9Ci1zdWJzeXNfaW5pdGNhbGwocGNpX2FjcGlfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvazgtYnVzXzY0LmMgYi9hcmNoL3g4Ni9wY2kvYW1kX2J1cy5jCnNpbWlsYXJpdHkgaW5kZXggOTElCnJlbmFtZSBmcm9tIGFyY2gveDg2L3BjaS9rOC1idXNfNjQuYwpyZW5hbWUgdG8gYXJjaC94ODYvcGNpL2FtZF9idXMuYwppbmRleCA1YzI3OTljLi5kYmY1MzIzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvazgtYnVzXzY0LmMKKysrIGIvYXJjaC94ODYvcGNpL2FtZF9idXMuYwpAQCAtMSw0MCArMSwyNSBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgorI2luY2x1ZGUgInBjaS5oIgorCisjaWZkZWYgQ09ORklHX1g4Nl82NAogI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KLSNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgorI2VuZGlmCiAKIC8qCiAgKiBUaGlzIGRpc2NvdmVycyB0aGUgcGNpYnVzIDwtPiBub2RlIG1hcHBpbmcgb24gQU1EIEs4LgogICogYWxzbyBnZXQgcGVlciByb290IGJ1cyByZXNvdXJjZSBmb3IgaW8sbW1pbwogICovCiAKLQotLyoKLSAqIHN1YiBidXMgKHRyYW5zcGFyZW50KSB3aWxsIHVzZSBlbnRyZXMgZnJvbSAzIHRvIHN0b3JlIGV4dHJhIGZyb20gcm9vdCwKLSAqIHNvIG5lZWQgdG8gbWFrZSBzdXJlIGhhdmUgZW5vdWdodCBzbG90IHRoZXJlLCBpbmNyZWFzZSBQQ0lfQlVTX05VTV9SRVNPVVJDRVM/Ci0gKi8KLSNkZWZpbmUgUkVTX05VTSAxNgotc3RydWN0IHBjaV9yb290X2luZm8gewotCWNoYXIgbmFtZVsxMl07Ci0JdW5zaWduZWQgaW50IHJlc19udW07Ci0Jc3RydWN0IHJlc291cmNlIHJlc1tSRVNfTlVNXTsKLQlpbnQgYnVzX21pbjsKLQlpbnQgYnVzX21heDsKLQlpbnQgbm9kZTsKLQlpbnQgbGluazsKLX07Ci0KLS8qIDQgYXQgdGhpcyB0aW1lLCBpdCBtYXkgYmVjb21lIHRvIDMyICovCi0jZGVmaW5lIFBDSV9ST09UX05SIDQKLXN0YXRpYyBpbnQgcGNpX3Jvb3RfbnVtOwotc3RhdGljIHN0cnVjdCBwY2lfcm9vdF9pbmZvIHBjaV9yb290X2luZm9bUENJX1JPT1RfTlJdOwotCiAjaWZkZWYgQ09ORklHX05VTUEKIAogI2RlZmluZSBCVVNfTlIgMjU2CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisKIHN0YXRpYyBpbnQgbXBfYnVzX3RvX25vZGVbQlVTX05SXTsKIAogdm9pZCBzZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSwgaW50IG5vZGUpCkBAIC02MSw3ICs0Niw1MiBAQAogCiAJcmV0dXJuIG5vZGU7CiB9Ci0jZW5kaWYKKworI2Vsc2UgLyogQ09ORklHX1g4Nl8zMiAqLworCitzdGF0aWMgdW5zaWduZWQgY2hhciBtcF9idXNfdG9fbm9kZVtCVVNfTlJdOworCit2b2lkIHNldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtLCBpbnQgbm9kZSkKK3sKKwlpZiAoYnVzbnVtID49IDAgJiYgIGJ1c251bSA8IEJVU19OUikKKwltcF9idXNfdG9fbm9kZVtidXNudW1dID0gKHVuc2lnbmVkIGNoYXIpIG5vZGU7Cit9CisKK2ludCBnZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSkKK3sKKwlpbnQgbm9kZTsKKworCWlmIChidXNudW0gPCAwIHx8IGJ1c251bSA+IChCVVNfTlIgLSAxKSkKKwkJcmV0dXJuIDA7CisJbm9kZSA9IG1wX2J1c190b19ub2RlW2J1c251bV07CisJcmV0dXJuIG5vZGU7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfWDg2XzMyICovCisKKyNlbmRpZiAvKiBDT05GSUdfTlVNQSAqLworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCisvKgorICogc3ViIGJ1cyAodHJhbnNwYXJlbnQpIHdpbGwgdXNlIGVudHJlcyBmcm9tIDMgdG8gc3RvcmUgZXh0cmEgZnJvbSByb290LAorICogc28gbmVlZCB0byBtYWtlIHN1cmUgaGF2ZSBlbm91Z2h0IHNsb3QgdGhlcmUsIGluY3JlYXNlIFBDSV9CVVNfTlVNX1JFU09VUkNFUz8KKyAqLworI2RlZmluZSBSRVNfTlVNIDE2CitzdHJ1Y3QgcGNpX3Jvb3RfaW5mbyB7CisJY2hhciBuYW1lWzEyXTsKKwl1bnNpZ25lZCBpbnQgcmVzX251bTsKKwlzdHJ1Y3QgcmVzb3VyY2UgcmVzW1JFU19OVU1dOworCWludCBidXNfbWluOworCWludCBidXNfbWF4OworCWludCBub2RlOworCWludCBsaW5rOworfTsKKworLyogNCBhdCB0aGlzIHRpbWUsIGl0IG1heSBiZWNvbWUgdG8gMzIgKi8KKyNkZWZpbmUgUENJX1JPT1RfTlIgNAorc3RhdGljIGludCBwY2lfcm9vdF9udW07CitzdGF0aWMgc3RydWN0IHBjaV9yb290X2luZm8gcGNpX3Jvb3RfaW5mb1tQQ0lfUk9PVF9OUl07CiAKIHZvaWQgc2V0X3BjaV9idXNfcmVzb3VyY2VzX2FyY2hfZGVmYXVsdChzdHJ1Y3QgcGNpX2J1cyAqYikKIHsKQEAgLTM4NCw3ICs0MTQsNyBAQAogCS8qIG5lZWQgdG8gdGFrZSBvdXQgWzAsIFRPTSkgZm9yIFJBTSovCiAJYWRkcmVzcyA9IE1TUl9LOF9UT1BfTUVNMTsKIAlyZG1zcmwoYWRkcmVzcywgdmFsKTsKLQllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDAwVUxMKTsKKwllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDBVTEwpOwogCXByaW50ayhLRVJOX0lORk8gIlRPTTogJTAxNmx4IGFrYSAlbGRNXG4iLCBlbmQsIGVuZD4+MjApOwogCWlmIChlbmQgPCAoMVVMTDw8MzIpKQogCQl1cGRhdGVfcmFuZ2UocmFuZ2UsIDAsIGVuZCAtIDEpOwpAQCAtNDc4LDcgKzUwOCw3IEBACiAJCS8qIFRPUF9NRU0yICovCiAJCWFkZHJlc3MgPSBNU1JfSzhfVE9QX01FTTI7CiAJCXJkbXNybChhZGRyZXNzLCB2YWwpOwotCQllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDAwVUxMKTsKKwkJZW5kID0gKHZhbCAmIDB4ZmZmZmZmODAwMDAwVUxMKTsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiVE9NMjogJTAxNmx4IGFrYSAlbGRNXG4iLCBlbmQsIGVuZD4+MjApOwogCQl1cGRhdGVfcmFuZ2UocmFuZ2UsIDFVTEw8PDMyLCBlbmQgLSAxKTsKIAl9CkBAIC01MjYsMyArNTU2LDMxIEBACiB9CiAKIHBvc3Rjb3JlX2luaXRjYWxsKGVhcmx5X2ZpbGxfbXBfYnVzX2luZm8pOworCisjZW5kaWYKKworLyogY29tbW9uIDMyLzY0IGJpdCBjb2RlICovCisKKyNkZWZpbmUgRU5BQkxFX0NGOF9FWFRfQ0ZHICAgICAgKDFVTEwgPDwgNDYpCisKK3N0YXRpYyB2b2lkIGVuYWJsZV9wY2lfaW9fZWNzX3Blcl9jcHUodm9pZCAqdW51c2VkKQoreworCXU2NCByZWc7CisJcmRtc3JsKE1TUl9BTUQ2NF9OQl9DRkcsIHJlZyk7CisJaWYgKCEocmVnICYgRU5BQkxFX0NGOF9FWFRfQ0ZHKSkgeworCQlyZWcgfD0gRU5BQkxFX0NGOF9FWFRfQ0ZHOworCQl3cm1zcmwoTVNSX0FNRDY0X05CX0NGRywgcmVnKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGVuYWJsZV9wY2lfaW9fZWNzKHZvaWQpCit7CisJLyogYXNzdW1lIGFsbCBjcHVzIGZyb20gZmFtMTBoIGhhdmUgSU8gRUNTICovCisgICAgICAgIGlmIChib290X2NwdV9kYXRhLng4NiA8IDB4MTApCisJCXJldHVybiAwOworCW9uX2VhY2hfY3B1KGVuYWJsZV9wY2lfaW9fZWNzX3Blcl9jcHUsIE5VTEwsIDEpOworCXBjaV9wcm9iZSB8PSBQQ0lfSEFTX0lPX0VDUzsKKwlyZXR1cm4gMDsKK30KKworcG9zdGNvcmVfaW5pdGNhbGwoZW5hYmxlX3BjaV9pb19lY3MpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2NvbW1vbi5jIGIvYXJjaC94ODYvcGNpL2NvbW1vbi5jCmluZGV4IDZlNjRhYWYuLjIwYjlmNTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9jb21tb24uYworKysgYi9hcmNoL3g4Ni9wY2kvY29tbW9uLmMKQEAgLTM4NCw3ICszODQsNyBAQAogCiBleHRlcm4gdTggcGNpX2NhY2hlX2xpbmVfc2l6ZTsKIAotc3RhdGljIGludCBfX2luaXQgcGNpYmlvc19pbml0KHZvaWQpCitpbnQgX19pbml0IHBjaWJpb3NfaW5pdCh2b2lkKQogewogCXN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZib290X2NwdV9kYXRhOwogCkBAIC00MTEsOCArNDExLDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3Vic3lzX2luaXRjYWxsKHBjaWJpb3NfaW5pdCk7Ci0KIGNoYXIgKiBfX2RldmluaXQgIHBjaWJpb3Nfc2V0dXAoY2hhciAqc3RyKQogewogCWlmICghc3RyY21wKHN0ciwgIm9mZiIpKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvZGlyZWN0LmMgYi9hcmNoL3g4Ni9wY2kvZGlyZWN0LmMKaW5kZXggMjFkMWUwZS4uOTkxNTI5MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2RpcmVjdC5jCisrKyBiL2FyY2gveDg2L3BjaS9kaXJlY3QuYwpAQCAtOCwxOCArOCwyMSBAQAogI2luY2x1ZGUgInBjaS5oIgogCiAvKgotICogRnVuY3Rpb25zIGZvciBhY2Nlc3NpbmcgUENJIGNvbmZpZ3VyYXRpb24gc3BhY2Ugd2l0aCB0eXBlIDEgYWNjZXNzZXMKKyAqIEZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIFBDSSBiYXNlIChmaXJzdCAyNTYgYnl0ZXMpIGFuZCBleHRlbmRlZAorICogKDQwOTYgYnl0ZXMgcGVyIFBDSSBmdW5jdGlvbikgY29uZmlndXJhdGlvbiBzcGFjZSB3aXRoIHR5cGUgMQorICogYWNjZXNzZXMuCiAgKi8KIAogI2RlZmluZSBQQ0lfQ09ORjFfQUREUkVTUyhidXMsIGRldmZuLCByZWcpIFwKLQkoMHg4MDAwMDAwMCB8IChidXMgPDwgMTYpIHwgKGRldmZuIDw8IDgpIHwgKHJlZyAmIH4zKSkKKwkoMHg4MDAwMDAwMCB8ICgocmVnICYgMHhGMDApIDw8IDE2KSB8IChidXMgPDwgMTYpIFwKKwl8IChkZXZmbiA8PCA4KSB8IChyZWcgJiAweEZDKSkKIAogc3RhdGljIGludCBwY2lfY29uZjFfcmVhZCh1bnNpZ25lZCBpbnQgc2VnLCB1bnNpZ25lZCBpbnQgYnVzLAogCQkJICB1bnNpZ25lZCBpbnQgZGV2Zm4sIGludCByZWcsIGludCBsZW4sIHUzMiAqdmFsdWUpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCWlmICgoYnVzID4gMjU1KSB8fCAoZGV2Zm4gPiAyNTUpIHx8IChyZWcgPiAyNTUpKSB7CisJaWYgKChidXMgPiAyNTUpIHx8IChkZXZmbiA+IDI1NSkgfHwgKHJlZyA+IDQwOTUpKSB7CiAJCSp2YWx1ZSA9IC0xOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC01MCw3ICs1Myw3IEBACiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCWlmICgoYnVzID4gMjU1KSB8fCAoZGV2Zm4gPiAyNTUpIHx8IChyZWcgPiAyNTUpKSAKKwlpZiAoKGJ1cyA+IDI1NSkgfHwgKGRldmZuID4gMjU1KSB8fCAocmVnID4gNDA5NSkpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnBjaV9jb25maWdfbG9jaywgZmxhZ3MpOwpAQCAtMjYwLDEwICsyNjMsMTggQEAKIAkJcmV0dXJuOwogCXByaW50ayhLRVJOX0lORk8gIlBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlICVkIGZvciBiYXNlIGFjY2Vzc1xuIiwKIAkJIHR5cGUpOwotCWlmICh0eXBlID09IDEpCisJaWYgKHR5cGUgPT0gMSkgewogCQlyYXdfcGNpX29wcyA9ICZwY2lfZGlyZWN0X2NvbmYxOwotCWVsc2UKLQkJcmF3X3BjaV9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMjsKKwkJaWYgKHJhd19wY2lfZXh0X29wcykKKwkJCXJldHVybjsKKwkJaWYgKCEocGNpX3Byb2JlICYgUENJX0hBU19JT19FQ1MpKQorCQkJcmV0dXJuOworCQlwcmludGsoS0VSTl9JTkZPICJQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAxICIKKwkJICAgICAgICJmb3IgZXh0ZW5kZWQgYWNjZXNzXG4iKTsKKwkJcmF3X3BjaV9leHRfb3BzID0gJnBjaV9kaXJlY3RfY29uZjE7CisJCXJldHVybjsKKwl9CisJcmF3X3BjaV9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMjsKIH0KIAogaW50IF9faW5pdCBwY2lfZGlyZWN0X3Byb2JlKHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvaTM4Ni5jIGIvYXJjaC94ODYvcGNpL2kzODYuYwppbmRleCAxMGZiMzA4Li4yYWFmYjY3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvaTM4Ni5jCisrKyBiL2FyY2gveDg2L3BjaS9pMzg2LmMKQEAgLTI5OSw5ICsyOTksOSBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXByb3QgPSBwZ3Byb3RfdmFsKHZtYS0+dm1fcGFnZV9wcm90KTsKLQlpZiAocGF0X3djX2VuYWJsZWQgJiYgd3JpdGVfY29tYmluZSkKKwlpZiAocGF0X2VuYWJsZWQgJiYgd3JpdGVfY29tYmluZSkKIAkJcHJvdCB8PSBfUEFHRV9DQUNIRV9XQzsKLQllbHNlIGlmIChwYXRfd2NfZW5hYmxlZCB8fCBib290X2NwdV9kYXRhLng4NiA+IDMpCisJZWxzZSBpZiAocGF0X2VuYWJsZWQgfHwgYm9vdF9jcHVfZGF0YS54ODYgPiAzKQogCQkvKgogCQkgKiBpb3JlbWFwKCkgYW5kIGlvcmVtYXBfbm9jYWNoZSgpIGRlZmF1bHRzIHRvIFVDIE1JTlVTIGZvciBub3cuCiAJCSAqIFRvIGF2b2lkIGF0dHJpYnV0ZSBjb25mbGljdHMsIHJlcXVlc3QgVUMgTUlOVVMgaGVyZQpAQCAtMzM0LDcgKzMzNCw5IEBACiAJCWZsYWdzID0gbmV3X2ZsYWdzOwogCX0KIAotCWlmICh2bWEtPnZtX3Bnb2ZmIDw9IG1heF9wZm5fbWFwcGVkICYmCisJaWYgKCgodm1hLT52bV9wZ29mZiA8IG1heF9sb3dfcGZuX21hcHBlZCkgfHwKKwkgICAgICh2bWEtPnZtX3Bnb2ZmID49ICgxVUw8PCgzMiAtIFBBR0VfU0hJRlQpKSAmJgorCSAgICAgIHZtYS0+dm1fcGdvZmYgPCBtYXhfcGZuX21hcHBlZCkpICYmCiAJICAgIGlvcmVtYXBfY2hhbmdlX2F0dHIoKHVuc2lnbmVkIGxvbmcpX192YShhZGRyKSwgbGVuLCBmbGFncykpIHsKIAkJZnJlZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBsZW4pOwogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9pbml0LmMgYi9hcmNoL3g4Ni9wY2kvaW5pdC5jCmluZGV4IGI4MjFmNDQuLmQ2Yzk1MGYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9pbml0LmMKKysrIGIvYXJjaC94ODYvcGNpL2luaXQuYwpAQCAtNCw3ICs0LDcgQEAKIAogLyogYXJjaF9pbml0Y2FsbCBoYXMgdG9vIHJhbmRvbSBvcmRlcmluZywgc28gY2FsbCB0aGUgaW5pdGlhbGl6ZXJzCiAgICBpbiB0aGUgcmlnaHQgc2VxdWVuY2UgZnJvbSBoZXJlLiAqLwotc3RhdGljIF9faW5pdCBpbnQgcGNpX2FjY2Vzc19pbml0KHZvaWQpCitzdGF0aWMgX19pbml0IGludCBwY2lfYXJjaF9pbml0KHZvaWQpCiB7CiAjaWZkZWYgQ09ORklHX1BDSV9ESVJFQ1QKIAlpbnQgdHlwZSA9IDA7CkBAIC00MCw0ICs0MCw0IEBACiAKIAlyZXR1cm4gMDsKIH0KLWFyY2hfaW5pdGNhbGwocGNpX2FjY2Vzc19pbml0KTsKK2FyY2hfaW5pdGNhbGwocGNpX2FyY2hfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvaXJxLmMgYi9hcmNoL3g4Ni9wY2kvaXJxLmMKaW5kZXggY2E4ZGY5Yy4uZGM1NjhjNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2lycS5jCisrKyBiL2FyY2gveDg2L3BjaS9pcnEuYwpAQCAtMTEsOCArMTEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxhc20vaW9fYXBpYy5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KQEAgLTYxLDcgKzYxLDcgQEAKICAqICBhbmQgcGVyZm9ybSBjaGVja3N1bSB2ZXJpZmljYXRpb24uCiAgKi8KIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUgKiBwaXJxX2NoZWNrX3JvdXRpbmdfdGFibGUodTggKmFkZHIpCitzdGF0aWMgaW5saW5lIHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcGlycV9jaGVja19yb3V0aW5nX3RhYmxlKHU4ICphZGRyKQogewogCXN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcnQ7CiAJaW50IGk7CkBAIC03NCw3ICs3NCw3IEBACiAJICAgIHJ0LT5zaXplIDwgc2l6ZW9mKHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSkpCiAJCXJldHVybiBOVUxMOwogCXN1bSA9IDA7Ci0JZm9yIChpPTA7IGkgPCBydC0+c2l6ZTsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBydC0+c2l6ZTsgaSsrKQogCQlzdW0gKz0gYWRkcltpXTsKIAlpZiAoIXN1bSkgewogCQlEQkcoS0VSTl9ERUJVRyAiUENJOiBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBmb3VuZCBhdCAweCVwXG4iLCBydCk7CkBAIC0xMDAsNyArMTAwLDcgQEAKIAkJCXJldHVybiBydDsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiUENJOiBQSVJRIHRhYmxlIE5PVCBmb3VuZCBhdCBwaXJxYWRkclxuIik7CiAJfQotCWZvcihhZGRyID0gKHU4ICopIF9fdmEoMHhmMDAwMCk7IGFkZHIgPCAodTggKikgX192YSgweDEwMDAwMCk7IGFkZHIgKz0gMTYpIHsKKwlmb3IgKGFkZHIgPSAodTggKikgX192YSgweGYwMDAwKTsgYWRkciA8ICh1OCAqKSBfX3ZhKDB4MTAwMDAwKTsgYWRkciArPSAxNikgewogCQlydCA9IHBpcnFfY2hlY2tfcm91dGluZ190YWJsZShhZGRyKTsKIAkJaWYgKHJ0KQogCQkJcmV0dXJuIHJ0OwpAQCAtMTIyLDIwICsxMjIsMjAgQEAKIAlzdHJ1Y3QgaXJxX2luZm8gKmU7CiAKIAltZW1zZXQoYnVzbWFwLCAwLCBzaXplb2YoYnVzbWFwKSk7Ci0JZm9yKGk9MDsgaSA8IChydC0+c2l6ZSAtIHNpemVvZihzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUpKSAvIHNpemVvZihzdHJ1Y3QgaXJxX2luZm8pOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgKHJ0LT5zaXplIC0gc2l6ZW9mKHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSkpIC8gc2l6ZW9mKHN0cnVjdCBpcnFfaW5mbyk7IGkrKykgewogCQllID0gJnJ0LT5zbG90c1tpXTsKICNpZmRlZiBERUJVRwogCQl7CiAJCQlpbnQgajsKIAkJCURCRyhLRVJOX0RFQlVHICIlMDJ4OiUwMnggc2xvdD0lMDJ4IiwgZS0+YnVzLCBlLT5kZXZmbi84LCBlLT5zbG90KTsKLQkJCWZvcihqPTA7IGo8NDsgaisrKQorCQkJZm9yIChqID0gMDsgaiA8IDQ7IGorKykKIAkJCQlEQkcoIiAlZDolMDJ4LyUwNHgiLCBqLCBlLT5pcnFbal0ubGluaywgZS0+aXJxW2pdLmJpdG1hcCk7CiAJCQlEQkcoIlxuIik7CiAJCX0KICNlbmRpZgogCQlidXNtYXBbZS0+YnVzXSA9IDE7CiAJfQotCWZvcihpID0gMTsgaSA8IDI1NjsgaSsrKSB7CisJZm9yIChpID0gMTsgaSA8IDI1NjsgaSsrKSB7CiAJCWludCBub2RlOwogCQlpZiAoIWJ1c21hcFtpXSB8fCBwY2lfZmluZF9idXMoMCwgaSkpCiAJCQljb250aW51ZTsKQEAgLTI4NSw3ICsyODUsNyBAQAogCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBpcnFtYXBbNF0gPSB7IDEsIDAsIDIsIDMgfTsKIAogCVdBUk5fT05fT05DRShwaXJxID4gNCk7Ci0JcmV0dXJuIHJlYWRfY29uZmlnX255YmJsZShyb3V0ZXIsMHg0MywgcGlycW1hcFtwaXJxLTFdKTsKKwlyZXR1cm4gcmVhZF9jb25maWdfbnliYmxlKHJvdXRlciwgMHg0MywgcGlycW1hcFtwaXJxLTFdKTsKIH0KIAogc3RhdGljIGludCBwaXJxX2l0ZV9zZXQoc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHBpcnEsIGludCBpcnEpCkBAIC0zMTQsNyArMzE0LDcgQEAKIAogLyoKICAqIEN5cml4OiBuaWJibGUgb2Zmc2V0IDB4NUMKLSAqIDB4NUMgYml0cyA3OjQgaXMgSU5UQiBiaXRzIDM6MCBpcyBJTlRBIAorICogMHg1QyBiaXRzIDc6NCBpcyBJTlRCIGJpdHMgMzowIGlzIElOVEEKICAqIDB4NUQgYml0cyA3OjQgaXMgSU5URCBiaXRzIDM6MCBpcyBJTlRDCiAgKi8KIHN0YXRpYyBpbnQgcGlycV9jeXJpeF9nZXQoc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHBpcnEpCkBAIC0zNTAsNyArMzUwLDcgQEAKICAqCUFwcGFyZW50bHkgdGhlcmUgYXJlIHN5c3RlbXMgaW1wbGVtZW50aW5nIFBDSSByb3V0aW5nIHRhYmxlIHVzaW5nCiAgKglsaW5rIHZhbHVlcyAweDAxLTB4MDQgYW5kIG90aGVycyB1c2luZyAweDQxLTB4NDQgZm9yIFBDSSBJTlRBLi5ELgogICoJV2UgdHJ5IG91ciBiZXN0IHRvIGhhbmRsZSBib3RoIGxpbmsgbWFwcGluZ3MuCi0gKgkKKyAqCiAgKglDdXJyZW50bHkgKDIwMDMtMDUtMjEpIGl0IGFwcGVhcnMgbW9zdCBTaVMgY2hpcHNldHMgZm9sbG93IHRoZQogICoJZGVmaW5pdGlvbiBvZiByb3V0aW5nIHJlZ2lzdGVycyBmcm9tIHRoZSBTaVMtNTU5NSBzb3V0aGJyaWRnZS4KICAqCUFjY29yZGluZyB0byB0aGUgU2lTIDU1OTUgZGF0YXNoZWV0cyB0aGUgcmV2aXNpb24gaWQncyBvZiB0aGUKQEAgLTM3MCw3ICszNzAsNyBAQAogICoKICAqCTB4NjI6CVVTQklSUToKICAqCQliaXQgNiBPSENJIGZ1bmN0aW9uIGRpc2FibGVkICgwKSwgZW5hYmxlZCAoMSkKLSAqCQorICoKICAqCTB4NmE6CUFDUEkvU0NJIElSUTogYml0cyA0LTYgcmVzZXJ2ZWQKICAqCiAgKgkweDdlOglEYXRhIEFjcS4gTW9kdWxlIElSUSAtIGJpdHMgNC02IHJlc2VydmVkCkBAIC00ODcsOSArNDg3LDcgQEAKIAl1OCBpcnE7CiAJaXJxID0gMDsKIAlpZiAocGlycSA8PSA0KQotCXsKIAkJaXJxID0gcmVhZF9jb25maWdfbnliYmxlKHJvdXRlciwgMHg1NiwgcGlycSAtIDEpOwotCX0KIAlwcmludGsoS0VSTl9JTkZPICJBTUQ3NTY6IGRldiAlMDR4OiUwNHgsIHJvdXRlciBwaXJxIDogJWQgZ2V0IGlycSA6ICUyZFxuIiwKIAkJZGV2LT52ZW5kb3IsIGRldi0+ZGV2aWNlLCBwaXJxLCBpcnEpOwogCXJldHVybiBpcnE7CkBAIC00OTcsMTIgKzQ5NSwxMCBAQAogCiBzdGF0aWMgaW50IHBpcnFfYW1kNzU2X3NldChzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCBzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQgcGlycSwgaW50IGlycSkKIHsKLQlwcmludGsoS0VSTl9JTkZPICJBTUQ3NTY6IGRldiAlMDR4OiUwNHgsIHJvdXRlciBwaXJxIDogJWQgU0VUIGlycSA6ICUyZFxuIiwgCisJcHJpbnRrKEtFUk5fSU5GTyAiQU1ENzU2OiBkZXYgJTA0eDolMDR4LCByb3V0ZXIgcGlycSA6ICVkIFNFVCBpcnEgOiAlMmRcbiIsCiAJCWRldi0+dmVuZG9yLCBkZXYtPmRldmljZSwgcGlycSwgaXJxKTsKIAlpZiAocGlycSA8PSA0KQotCXsKIAkJd3JpdGVfY29uZmlnX255YmJsZShyb3V0ZXIsIDB4NTYsIHBpcnEgLSAxLCBpcnEpOwotCX0KIAlyZXR1cm4gMTsKIH0KIApAQCAtNTQ5LDUwICs1NDUsNDkgQEAKIAlpZiAocGNpX2Rldl9wcmVzZW50KHBpcnFfNDQwZ3gpKQogCQlyZXR1cm4gMDsKIAotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFGQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFTQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFBQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFNWDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyNDQzTVhfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUFfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUJfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMTA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzEyOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFEQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFFXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUVCXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMxOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfRVNCMl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8zOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF80OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8zOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV80OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV81OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfVE9MQVBBSV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMzoKLQkJCXItPm5hbWUgPSAiUElJWC9JQ0giOwotCQkJci0+Z2V0ID0gcGlycV9waWl4X2dldDsKLQkJCXItPnNldCA9IHBpcnFfcGlpeF9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MUZCXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxU0JfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFBQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MU1YOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjQ0M01YXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUFfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFBQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUJBXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMTA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQ0FfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8xMjoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFEQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUVfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFFQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMwOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMxOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0IyXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzI6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMzoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF80OgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8yOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzM6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfNDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV81OgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9UT0xBUEFJXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzI6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzM6CisJCXItPm5hbWUgPSAiUElJWC9JQ0giOworCQlyLT5nZXQgPSBwaXJxX3BpaXhfZ2V0OworCQlyLT5zZXQgPSBwaXJxX3BpaXhfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02MDYsNyArNjAxLDcgQEAKIAkgKiB3b3JrYXJvdW5kcyBmb3Igc29tZSBidWdneSBCSU9TZXMKIAkgKi8KIAlpZiAoZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfVklBXzgyQzU4Nl8wKSB7Ci0JCXN3aXRjaChyb3V0ZXItPmRldmljZSkgeworCQlzd2l0Y2ggKHJvdXRlci0+ZGV2aWNlKSB7CiAJCWNhc2UgUENJX0RFVklDRV9JRF9WSUFfODJDNjg2OgogCQkJLyoKIAkJCSAqIEFzdXMgazdtIGJpb3Mgd3JvbmdseSByZXBvcnRzIDgyQzY4NkEKQEAgLTYzMSw3ICs2MjYsNyBAQAogCQl9CiAJfQogCi0Jc3dpdGNoKGRldmljZSkgeworCXN3aXRjaCAoZGV2aWNlKSB7CiAJY2FzZSBQQ0lfREVWSUNFX0lEX1ZJQV84MkM1ODZfMDoKIAkJci0+bmFtZSA9ICJWSUEiOwogCQlyLT5nZXQgPSBwaXJxX3ZpYTU4Nl9nZXQ7CkBAIC02NTQsMTMgKzY0OSwxMiBAQAogCiBzdGF0aWMgX19pbml0IGludCB2bHNpX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX1ZMU0lfODJDNTM0OgotCQkJci0+bmFtZSA9ICJWTFNJIDgyQzUzNCI7Ci0JCQlyLT5nZXQgPSBwaXJxX3Zsc2lfZ2V0OwotCQkJci0+c2V0ID0gcGlycV92bHNpX3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX1ZMU0lfODJDNTM0OgorCQlyLT5uYW1lID0gIlZMU0kgODJDNTM0IjsKKwkJci0+Z2V0ID0gcGlycV92bHNpX2dldDsKKwkJci0+c2V0ID0gcGlycV92bHNpX3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQpAQCAtNjY4LDE0ICs2NjIsMTMgQEAKIAogc3RhdGljIF9faW5pdCBpbnQgc2VydmVyd29ya3Nfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfU0VSVkVSV09SS1NfT1NCNDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX1NFUlZFUldPUktTX0NTQjU6Ci0JCQlyLT5uYW1lID0gIlNlcnZlcldvcmtzIjsKLQkJCXItPmdldCA9IHBpcnFfc2VydmVyd29ya3NfZ2V0OwotCQkJci0+c2V0ID0gcGlycV9zZXJ2ZXJ3b3Jrc19zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19PU0I0OgorCWNhc2UgUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19DU0I1OgorCQlyLT5uYW1lID0gIlNlcnZlcldvcmtzIjsKKwkJci0+Z2V0ID0gcGlycV9zZXJ2ZXJ3b3Jrc19nZXQ7CisJCXItPnNldCA9IHBpcnFfc2VydmVyd29ya3Nfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02ODQsNyArNjc3LDcgQEAKIHsKIAlpZiAoZGV2aWNlICE9IFBDSV9ERVZJQ0VfSURfU0lfNTAzKQogCQlyZXR1cm4gMDsKLQkJCisKIAlyLT5uYW1lID0gIlNJUyI7CiAJci0+Z2V0ID0gcGlycV9zaXNfZ2V0OwogCXItPnNldCA9IHBpcnFfc2lzX3NldDsKQEAgLTY5Myw0NyArNjg2LDQzIEBACiAKIHN0YXRpYyBfX2luaXQgaW50IGN5cml4X3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0NZUklYXzU1MjA6Ci0JCQlyLT5uYW1lID0gIk5hdFNlbWkiOwotCQkJci0+Z2V0ID0gcGlycV9jeXJpeF9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX2N5cml4X3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0NZUklYXzU1MjA6CisJCXItPm5hbWUgPSAiTmF0U2VtaSI7CisJCXItPmdldCA9IHBpcnFfY3lyaXhfZ2V0OworCQlyLT5zZXQgPSBwaXJxX2N5cml4X3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQogCiBzdGF0aWMgX19pbml0IGludCBvcHRpX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX09QVElfODJDNzAwOgotCQkJci0+bmFtZSA9ICJPUFRJIjsKLQkJCXItPmdldCA9IHBpcnFfb3B0aV9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX29wdGlfc2V0OwotCQkJcmV0dXJuIDE7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfT1BUSV84MkM3MDA6CisJCXItPm5hbWUgPSAiT1BUSSI7CisJCXItPmdldCA9IHBpcnFfb3B0aV9nZXQ7CisJCXItPnNldCA9IHBpcnFfb3B0aV9zZXQ7CisJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIF9faW5pdCBpbnQgaXRlX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lURV9JVDgzMzBHXzA6Ci0JCQlyLT5uYW1lID0gIklURSI7Ci0JCQlyLT5nZXQgPSBwaXJxX2l0ZV9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX2l0ZV9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9JVEVfSVQ4MzMwR18wOgorCQlyLT5uYW1lID0gIklURSI7CisJCXItPmdldCA9IHBpcnFfaXRlX2dldDsKKwkJci0+c2V0ID0gcGlycV9pdGVfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBfX2luaXQgaW50IGFsaV9yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7CisJc3dpdGNoIChkZXZpY2UpIHsKIAljYXNlIFBDSV9ERVZJQ0VfSURfQUxfTTE1MzM6CiAJY2FzZSBQQ0lfREVWSUNFX0lEX0FMX00xNTYzOgogCQlwcmludGsoS0VSTl9ERUJVRyAiUENJOiBVc2luZyBBTEkgSVJRIFJvdXRlclxuIik7CkBAIC03NDcsMjUgKzczNiwyNCBAQAogCiBzdGF0aWMgX19pbml0IGludCBhbWRfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0MEI6Ci0JCQlyLT5uYW1lID0gIkFNRDc1NiI7Ci0JCQlicmVhazsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDEzOgotCQkJci0+bmFtZSA9ICJBTUQ3NjYiOwotCQkJYnJlYWs7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQ0MzoKLQkJCXItPm5hbWUgPSAiQU1ENzY4IjsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcmV0dXJuIDA7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0MEI6CisJCXItPm5hbWUgPSAiQU1ENzU2IjsKKwkJYnJlYWs7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDEzOgorCQlyLT5uYW1lID0gIkFNRDc2NiI7CisJCWJyZWFrOworCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQ0MzoKKwkJci0+bmFtZSA9ICJBTUQ3NjgiOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKIAl9CiAJci0+Z2V0ID0gcGlycV9hbWQ3NTZfZ2V0OwogCXItPnNldCA9IHBpcnFfYW1kNzU2X3NldDsKIAlyZXR1cm4gMTsKIH0KLQkJCisKIHN0YXRpYyBfX2luaXQgaW50IHBpY29fcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewogCXN3aXRjaCAoZGV2aWNlKSB7CkBAIC04MDcsNyArNzk1LDcgQEAKICAqCUZJWE1FOiBzaG91bGQgd2UgaGF2ZSBhbiBvcHRpb24gdG8gc2F5ICJnZW5lcmljIGZvcgogICoJY2hpcHNldCIgPwogICovCi0gCisKIHN0YXRpYyB2b2lkIF9faW5pdCBwaXJxX2ZpbmRfcm91dGVyKHN0cnVjdCBpcnFfcm91dGVyICpyKQogewogCXN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcnQgPSBwaXJxX3RhYmxlOwpAQCAtODI2LDcgKzgxNCw3IEBACiAJci0+bmFtZSA9ICJkZWZhdWx0IjsKIAlyLT5nZXQgPSBOVUxMOwogCXItPnNldCA9IE5VTEw7Ci0JCisKIAlEQkcoS0VSTl9ERUJVRyAiUENJOiBBdHRlbXB0aW5nIHRvIGZpbmQgSVJRIHJvdXRlciBmb3IgJTA0eDolMDR4XG4iLAogCSAgICBydC0+cnRyX3ZlbmRvciwgcnQtPnJ0cl9kZXZpY2UpOwogCkBAIC04MzcsNyArODI1LDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCWZvciggaCA9IHBpcnFfcm91dGVyczsgaC0+dmVuZG9yOyBoKyspIHsKKwlmb3IgKGggPSBwaXJxX3JvdXRlcnM7IGgtPnZlbmRvcjsgaCsrKSB7CiAJCS8qIEZpcnN0IGxvb2sgZm9yIGEgcm91dGVyIG1hdGNoICovCiAJCWlmIChydC0+cnRyX3ZlbmRvciA9PSBoLT52ZW5kb3IgJiYgaC0+cHJvYmUociwgcGlycV9yb3V0ZXJfZGV2LCBydC0+cnRyX2RldmljZSkpCiAJCQlicmVhazsKQEAgLTg4OSw3ICs4NzcsNyBAQAogCiAJaWYgKCFwaXJxX3RhYmxlKQogCQlyZXR1cm4gMDsKLQkKKwogCURCRyhLRVJOX0RFQlVHICJJUlEgZm9yICVzWyVjXSIsIHBjaV9uYW1lKGRldiksICdBJyArIHBpbik7CiAJaW5mbyA9IHBpcnFfZ2V0X2luZm8oZGV2KTsKIAlpZiAoIWluZm8pIHsKQEAgLTkyOCw4ICs5MTYsMTAgQEAKIAkgKi8KIAluZXdpcnEgPSBkZXYtPmlycTsKIAlpZiAobmV3aXJxICYmICEoKDEgPDwgbmV3aXJxKSAmIG1hc2spKSB7Ci0JCWlmICggcGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spIG5ld2lycSA9IDA7Ci0JCWVsc2UgcHJpbnRrKCJcbiIgS0VSTl9XQVJOSU5HCisJCWlmIChwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykKKwkJCW5ld2lycSA9IDA7CisJCWVsc2UKKwkJCXByaW50aygiXG4iIEtFUk5fV0FSTklORwogCQkJIlBDSTogSVJRICVpIGZvciBkZXZpY2UgJXMgZG9lc24ndCBtYXRjaCBQSVJRIG1hc2sgIgogCQkJIi0gdHJ5IHBjaT11c2VwaXJxbWFza1xuIiBLRVJOX0RFQlVHLCBuZXdpcnEsCiAJCQlwY2lfbmFtZShkZXYpKTsKQEAgLTk0OSw4ICs5MzksOCBAQAogCQlpcnEgPSBwaXJxICYgMHhmOwogCQlEQkcoIiAtPiBoYXJkY29kZWQgSVJRICVkXG4iLCBpcnEpOwogCQltc2cgPSAiSGFyZGNvZGVkIjsKLQl9IGVsc2UgaWYgKCByLT5nZXQgJiYgKGlycSA9IHItPmdldChwaXJxX3JvdXRlcl9kZXYsIGRldiwgcGlycSkpICYmIFwKLQkoKCEocGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spKSB8fCAoKDEgPDwgaXJxKSAmIG1hc2spKSApIHsKKwl9IGVsc2UgaWYgKHItPmdldCAmJiAoaXJxID0gci0+Z2V0KHBpcnFfcm91dGVyX2RldiwgZGV2LCBwaXJxKSkgJiYgXAorCSgoIShwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykpIHx8ICgoMSA8PCBpcnEpICYgbWFzaykpKSB7CiAJCURCRygiIC0+IGdvdCBJUlEgJWRcbiIsIGlycSk7CiAJCW1zZyA9ICJGb3VuZCI7CiAJCWVpc2Ffc2V0X2xldmVsX2lycShpcnEpOwpAQCAtOTg1LDE1ICs5NzUsMTUgQEAKIAkJCWNvbnRpbnVlOwogCQlpZiAoaW5mby0+aXJxW3Bpbl0ubGluayA9PSBwaXJxKSB7CiAJCQkvKiBXZSByZWZ1c2UgdG8gb3ZlcnJpZGUgdGhlIGRldi0+aXJxIGluZm9ybWF0aW9uLiBHaXZlIGEgd2FybmluZyEgKi8KLQkJICAgIAlpZiAoIGRldjItPmlycSAmJiBkZXYyLT5pcnEgIT0gaXJxICYmIFwKKwkJCWlmIChkZXYyLT5pcnEgJiYgZGV2Mi0+aXJxICE9IGlycSAmJiBcCiAJCQkoIShwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykgfHwgXAotCQkJKCgxIDw8IGRldjItPmlycSkgJiBtYXNrKSkgKSB7CisJCQkoKDEgPDwgZGV2Mi0+aXJxKSAmIG1hc2spKSkgewogI2lmbmRlZiBDT05GSUdfUENJX01TSQotCQkgICAgCQlwcmludGsoS0VSTl9JTkZPICJJUlEgcm91dGluZyBjb25mbGljdCBmb3IgJXMsIGhhdmUgaXJxICVkLCB3YW50IGlycSAlZFxuIiwKKwkJCQlwcmludGsoS0VSTl9JTkZPICJJUlEgcm91dGluZyBjb25mbGljdCBmb3IgJXMsIGhhdmUgaXJxICVkLCB3YW50IGlycSAlZFxuIiwKIAkJCQkgICAgICAgcGNpX25hbWUoZGV2MiksIGRldjItPmlycSwgaXJxKTsKICNlbmRpZgotCQkgICAgCQljb250aW51ZTsKLQkJICAgIAl9CisJCQkJY29udGludWU7CisJCQl9CiAJCQlkZXYyLT5pcnEgPSBpcnE7CiAJCQlwaXJxX3BlbmFsdHlbaXJxXSsrOwogCQkJaWYgKGRldiAhPSBkZXYyKQpAQCAtMTAzMSw4ICsxMDIxLDcgQEAKIAkJLyoKIAkJICogUmVjYWxjdWxhdGUgSVJRIG51bWJlcnMgaWYgd2UgdXNlIHRoZSBJL08gQVBJQy4KIAkJICovCi0JCWlmIChpb19hcGljX2Fzc2lnbl9wY2lfaXJxcykKLQkJeworCQlpZiAoaW9fYXBpY19hc3NpZ25fcGNpX2lycXMpIHsKIAkJCWludCBpcnE7CiAKIAkJCWlmIChwaW4pIHsKQEAgLTEwNDUsMTAgKzEwMzQsMTAgQEAKIAkgKiBidXNzZXMgaXRzZWxmIHNvIHdlIHNob3VsZCBnZXQgaW50byB0aGlzIGJyYW5jaCByZWxpYWJseS4KIAkgKi8KIAkJCQlpZiAoaXJxIDwgMCAmJiBkZXYtPmJ1cy0+cGFyZW50KSB7IC8qIGdvIGJhY2sgdG8gdGhlIGJyaWRnZSAqLwotCQkJCQlzdHJ1Y3QgcGNpX2RldiAqIGJyaWRnZSA9IGRldi0+YnVzLT5zZWxmOworCQkJCQlzdHJ1Y3QgcGNpX2RldiAqYnJpZGdlID0gZGV2LT5idXMtPnNlbGY7CiAKIAkJCQkJcGluID0gKHBpbiArIFBDSV9TTE9UKGRldi0+ZGV2Zm4pKSAlIDQ7Ci0JCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsIAorCQkJCQlpcnEgPSBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihicmlkZ2UtPmJ1cy0+bnVtYmVyLAogCQkJCQkJCVBDSV9TTE9UKGJyaWRnZS0+ZGV2Zm4pLCBwaW4pOwogCQkJCQlpZiAoaXJxID49IDApCiAJCQkJCQlwcmludGsoS0VSTl9XQVJOSU5HICJQQ0k6IHVzaW5nIFBQQiAlc1slY10gdG8gZ2V0IGlycSAlZFxuIiwKQEAgLTExMTgsNyArMTEwNyw3IEBACiAJeyB9CiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBwY2liaW9zX2lycV9pbml0KHZvaWQpCitpbnQgX19pbml0IHBjaWJpb3NfaXJxX2luaXQodm9pZCkKIHsKIAlEQkcoS0VSTl9ERUJVRyAiUENJOiBJUlEgaW5pdFxuIik7CiAKQEAgLTExMzgsNyArMTEyNyw3IEBACiAJCXBpcnFfZmluZF9yb3V0ZXIoJnBpcnFfcm91dGVyKTsKIAkJaWYgKHBpcnFfdGFibGUtPmV4Y2x1c2l2ZV9pcnFzKSB7CiAJCQlpbnQgaTsKLQkJCWZvciAoaT0wOyBpPDE2OyBpKyspCisJCQlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykKIAkJCQlpZiAoIShwaXJxX3RhYmxlLT5leGNsdXNpdmVfaXJxcyAmICgxIDw8IGkpKSkKIAkJCQkJcGlycV9wZW5hbHR5W2ldICs9IDEwMDsKIAkJfQpAQCAtMTE1Myw5ICsxMTQyLDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3Vic3lzX2luaXRjYWxsKHBjaWJpb3NfaXJxX2luaXQpOwotCi0KIHN0YXRpYyB2b2lkIHBpcnFfcGVuYWxpemVfaXNhX2lycShpbnQgaXJxLCBpbnQgYWN0aXZlKQogewogCS8qCkBAIC0xMjAzLDEwICsxMTg5LDEwIEBACiAJCQkgKi8KIAkJCXRlbXBfZGV2ID0gZGV2OwogCQkJd2hpbGUgKGlycSA8IDAgJiYgZGV2LT5idXMtPnBhcmVudCkgeyAvKiBnbyBiYWNrIHRvIHRoZSBicmlkZ2UgKi8KLQkJCQlzdHJ1Y3QgcGNpX2RldiAqIGJyaWRnZSA9IGRldi0+YnVzLT5zZWxmOworCQkJCXN0cnVjdCBwY2lfZGV2ICpicmlkZ2UgPSBkZXYtPmJ1cy0+c2VsZjsKIAogCQkJCXBpbiA9IChwaW4gKyBQQ0lfU0xPVChkZXYtPmRldmZuKSkgJSA0OwotCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsIAorCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsCiAJCQkJCQlQQ0lfU0xPVChicmlkZ2UtPmRldmZuKSwgcGluKTsKIAkJCQlpZiAoaXJxID49IDApCiAJCQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlBDSTogdXNpbmcgUFBCICVzWyVjXSB0byBnZXQgaXJxICVkXG4iLApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2xlZ2FjeS5jIGIvYXJjaC94ODYvcGNpL2xlZ2FjeS5jCmluZGV4IGE2NzkyMWMuLjEzMjg3NmMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9sZWdhY3kuYworKysgYi9hcmNoL3g4Ni9wY2kvbGVnYWN5LmMKQEAgLTU1LDQgKzU1LDE4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN1YnN5c19pbml0Y2FsbChwY2lfbGVnYWN5X2luaXQpOworaW50IF9faW5pdCBwY2lfc3Vic3lzX2luaXQodm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfQUNQSQorCXBjaV9hY3BpX2luaXQoKTsKKyNlbmRpZgorCXBjaV9sZWdhY3lfaW5pdCgpOworCXBjaWJpb3NfaXJxX2luaXQoKTsKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJcGNpX251bWFfaW5pdCgpOworI2VuZGlmCisJcGNpYmlvc19pbml0KCk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChwY2lfc3Vic3lzX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL21tY29uZmlnLXNoYXJlZC5jIGIvYXJjaC94ODYvcGNpL21tY29uZmlnLXNoYXJlZC5jCmluZGV4IDBjZmViZWMuLjIzZmFhYTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9tbWNvbmZpZy1zaGFyZWQuYworKysgYi9hcmNoL3g4Ni9wY2kvbW1jb25maWctc2hhcmVkLmMKQEAgLTM3NCw3ICszNzQsNyBAQAogCiBzdGF0aWMgaW50IF9faW5pdGRhdGEga25vd25fYnJpZGdlOwogCi12b2lkIF9faW5pdCBfX3BjaV9tbWNmZ19pbml0KGludCBlYXJseSkKK3N0YXRpYyB2b2lkIF9faW5pdCBfX3BjaV9tbWNmZ19pbml0KGludCBlYXJseSkKIHsKIAkvKiBNTUNPTkZJRyBkaXNhYmxlZCAqLwogCWlmICgocGNpX3Byb2JlICYgUENJX1BST0JFX01NQ09ORikgPT0gMCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9tcF9idXNfdG9fbm9kZS5jIGIvYXJjaC94ODYvcGNpL21wX2J1c190b19ub2RlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyMjk0MzkuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvcGNpL21wX2J1c190b19ub2RlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3RvcG9sb2d5Lmg+Ci0KLSNkZWZpbmUgQlVTX05SIDI1NgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBtcF9idXNfdG9fbm9kZVtCVVNfTlJdOwotCi12b2lkIHNldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtLCBpbnQgbm9kZSkKLXsKLQlpZiAoYnVzbnVtID49IDAgJiYgIGJ1c251bSA8IEJVU19OUikKLQltcF9idXNfdG9fbm9kZVtidXNudW1dID0gKHVuc2lnbmVkIGNoYXIpIG5vZGU7Ci19Ci0KLWludCBnZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSkKLXsKLQlpbnQgbm9kZTsKLQotCWlmIChidXNudW0gPCAwIHx8IGJ1c251bSA+IChCVVNfTlIgLSAxKSkKLQkJcmV0dXJuIDA7Ci0Jbm9kZSA9IG1wX2J1c190b19ub2RlW2J1c251bV07Ci0JcmV0dXJuIG5vZGU7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvbnVtYS5jIGIvYXJjaC94ODYvcGNpL251bWEuYwppbmRleCBkOWFmYmFlLi44YjVjYTE5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvbnVtYS5jCisrKyBiL2FyY2gveDg2L3BjaS9udW1hLmMKQEAgLTYsNDUgKzYsMjEgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSAicGNpLmgiCiAKICNkZWZpbmUgWFFVQURfUE9SVElPX0JBU0UgMHhmZTQwMDAwMAogI2RlZmluZSBYUVVBRF9QT1JUSU9fUVVBRCAweDQwMDAwICAvKiAyNTZrIHBlciBxdWFkLiAqLwogCi1pbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU107CiAjZGVmaW5lIEJVUzJRVUFEKGdsb2JhbCkgKG1wX2J1c19pZF90b19ub2RlW2dsb2JhbF0pCiAKLWludCBtcF9idXNfaWRfdG9fbG9jYWxbTUFYX01QX0JVU1NFU107CiAjZGVmaW5lIEJVUzJMT0NBTChnbG9iYWwpIChtcF9idXNfaWRfdG9fbG9jYWxbZ2xvYmFsXSkKIAotdm9pZCBtcGNfb2VtX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwgY2hhciAqbmFtZSwKLQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKLQlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7Ci0KLQltcF9idXNfaWRfdG9fbm9kZVttLT5tcGNfYnVzaWRdID0gcXVhZDsKLQltcF9idXNfaWRfdG9fbG9jYWxbbS0+bXBjX2J1c2lkXSA9IGxvY2FsOwotCXByaW50ayhLRVJOX0lORk8gIkJ1cyAjJWQgaXMgJXMgKG5vZGUgJWQpXG4iLAotCSAgICAgICBtLT5tcGNfYnVzaWQsIG5hbWUsIHF1YWQpOwotfQotCi1pbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CiAjZGVmaW5lIFFVQURMT0NBTDJCVVMocXVhZCxsb2NhbCkgKHF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkW3F1YWRdW2xvY2FsXSkKLXZvaWQgbXBjX29lbV9wY2lfYnVzKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwKLQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKLQlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7Ci0KLQlxdWFkX2xvY2FsX3RvX21wX2J1c19pZFtxdWFkXVtsb2NhbF0gPSBtLT5tcGNfYnVzaWQ7Ci19CiAKIC8qIFdoZXJlIHRoZSBJTyBhcmVhIHdhcyBtYXBwZWQgb24gbXVsdGlxdWFkLCBhbHdheXMgMCBvdGhlcndpc2UgKi8KIHZvaWQgKnhxdWFkX3BvcnRpbzsKLSNpZmRlZiBDT05GSUdfWDg2X05VTUFRCiBFWFBPUlRfU1lNQk9MKHhxdWFkX3BvcnRpbyk7Ci0jZW5kaWYKIAogI2RlZmluZSBYUVVBRF9QT1JUX0FERFIocG9ydCwgcXVhZCkgKHhxdWFkX3BvcnRpbyArIChYUVVBRF9QT1JUSU9fUVVBRCpxdWFkKSArIHBvcnQpCiAKQEAgLTE3NSwxMCArMTUxLDEzIEBACiB9CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjQ1MU5YLCBwY2lfZml4dXBfaTQ1MG54KTsKIAotc3RhdGljIGludCBfX2luaXQgcGNpX251bWFfaW5pdCh2b2lkKQoraW50IF9faW5pdCBwY2lfbnVtYV9pbml0KHZvaWQpCiB7CiAJaW50IHF1YWQ7CiAKKwlpZiAoIWZvdW5kX251bWFxKQorCQlyZXR1cm4gMDsKKwogCXJhd19wY2lfb3BzID0gJnBjaV9kaXJlY3RfY29uZjFfbXE7CiAKIAlpZiAocGNpYmlvc19zY2FubmVkKyspCkBAIC0xOTcsNSArMTc2LDMgQEAKIAkJfQogCXJldHVybiAwOwogfQotCi1zdWJzeXNfaW5pdGNhbGwocGNpX251bWFfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvcGNpLmggYi9hcmNoL3g4Ni9wY2kvcGNpLmgKaW5kZXggNzIwYzRjNS4uYjIyNzBhNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL3BjaS5oCisrKyBiL2FyY2gveDg2L3BjaS9wY2kuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBQQ0lfQ0FOX1NLSVBfSVNBX0FMSUdOCTB4ODAwMAogI2RlZmluZSBQQ0lfVVNFX19DUlMJCTB4MTAwMDAKICNkZWZpbmUgUENJX0NIRUNLX0VOQUJMRV9BTURfTU1DT05GCTB4MjAwMDAKKyNkZWZpbmUgUENJX0hBU19JT19FQ1MJCTB4NDAwMDAKIAogZXh0ZXJuIHVuc2lnbmVkIGludCBwY2lfcHJvYmU7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwaXJxX3RhYmxlX2FkZHI7CkBAIC0zOCw5ICszOSw2IEBACiAJcGNpX2RtaV9iZiwKIH07CiAKLWV4dGVybiB2b2lkIF9faW5pdCBkbWlfY2hlY2tfcGNpcHJvYmUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2luaXQgZG1pX2NoZWNrX3NraXBfaXNhX2FsaWduKHZvaWQpOwotCiAvKiBwY2ktaTM4Ni5jICovCiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgcGNpYmlvc19tYXhfbGF0ZW5jeTsKQEAgLTk4LDEwICs5NiwxOSBAQAogCiBleHRlcm4gc3RydWN0IHBjaV9yYXdfb3BzIHBjaV9kaXJlY3RfY29uZjE7CiAKKy8qIGFyY2hfaW5pdGNhbGwgbGV2ZWwgKi8KIGV4dGVybiBpbnQgcGNpX2RpcmVjdF9wcm9iZSh2b2lkKTsKIGV4dGVybiB2b2lkIHBjaV9kaXJlY3RfaW5pdChpbnQgdHlwZSk7CiBleHRlcm4gdm9pZCBwY2lfcGNiaW9zX2luaXQodm9pZCk7CiBleHRlcm4gaW50IHBjaV9vbHBjX2luaXQodm9pZCk7CitleHRlcm4gdm9pZCBfX2luaXQgZG1pX2NoZWNrX3BjaXByb2JlKHZvaWQpOworZXh0ZXJuIHZvaWQgX19pbml0IGRtaV9jaGVja19za2lwX2lzYV9hbGlnbih2b2lkKTsKKworLyogc29tZSBjb21tb24gdXNlZCBzdWJzeXNfaW5pdGNhbGxzICovCitleHRlcm4gaW50IF9faW5pdCBwY2lfYWNwaV9pbml0KHZvaWQpOworZXh0ZXJuIGludCBfX2luaXQgcGNpYmlvc19pcnFfaW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX19pbml0IHBjaV9udW1hX2luaXQodm9pZCk7CitleHRlcm4gaW50IF9faW5pdCBwY2liaW9zX2luaXQodm9pZCk7CiAKIC8qIHBjaS1tbWNvbmZpZy5jICovCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS92aXN3cy5jIGIvYXJjaC94ODYvcGNpL3Zpc3dzLmMKaW5kZXggYzJkZjRlOS4uMWE3YmVkNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL3Zpc3dzLmMKKysrIGIvYXJjaC94ODYvcGNpL3Zpc3dzLmMKQEAgLTgsMTggKzgsMTkgQEAKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAKLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJsaXRoaXVtLmgiCisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9saXRoaXVtLmg+CiAKICNpbmNsdWRlICJwY2kuaCIKIAogc3RhdGljIGludCBwY2lfdmlzd3NfZW5hYmxlX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2KSB7IHJldHVybiAwOyB9CiBzdGF0aWMgdm9pZCBwY2lfdmlzd3NfZGlzYWJsZV9pcnEoc3RydWN0IHBjaV9kZXYgKmRldikgeyB9CiAKLWludCAoKnBjaWJpb3NfZW5hYmxlX2lycSkoc3RydWN0IHBjaV9kZXYgKmRldikgPSAmcGNpX3Zpc3dzX2VuYWJsZV9pcnE7Ci12b2lkICgqcGNpYmlvc19kaXNhYmxlX2lycSkoc3RydWN0IHBjaV9kZXYgKmRldikgPSAmcGNpX3Zpc3dzX2Rpc2FibGVfaXJxOworLyogaW50ICgqcGNpYmlvc19lbmFibGVfaXJxKShzdHJ1Y3QgcGNpX2RldiAqZGV2KSA9ICZwY2lfdmlzd3NfZW5hYmxlX2lycTsgKi8KKy8qIHZvaWQgKCpwY2liaW9zX2Rpc2FibGVfaXJxKShzdHJ1Y3QgcGNpX2RldiAqZGV2KSA9ICZwY2lfdmlzd3NfZGlzYWJsZV9pcnE7ICovCiAKLXZvaWQgX19pbml0IHBjaWJpb3NfcGVuYWxpemVfaXNhX2lycShpbnQgaXJxLCBpbnQgYWN0aXZlKSB7fQorLyogdm9pZCBfX2luaXQgcGNpYmlvc19wZW5hbGl6ZV9pc2FfaXJxKGludCBpcnEsIGludCBhY3RpdmUpIHt9ICovCiAKIAogdW5zaWduZWQgaW50IHBjaV9idXMwLCBwY2lfYnVzMTsKQEAgLTg1LDcgKzg2LDcgQEAKIAlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBQQ0lfSU5URVJSVVBUX0xJTkUsIGlycSk7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHBjaWJpb3NfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgcGNpX3Zpc3dzX2luaXQodm9pZCkKIHsKIAkvKiBUaGUgVklTV1Mgc3VwcG9ydHMgY29uZmlndXJhdGlvbiBhY2Nlc3MgdHlwZSAxIG9ubHkgKi8KIAlwY2lfcHJvYmUgPSAocGNpX3Byb2JlIHwgUENJX1BST0JFX0NPTkYxKSAmCkBAIC0xMDUsNCArMTA2LDE3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN1YnN5c19pbml0Y2FsbChwY2liaW9zX2luaXQpOworc3RhdGljIF9faW5pdCBpbnQgcGNpX3N1YnN5c19pbml0KHZvaWQpCit7CisJaWYgKCFpc192aXN3c19ib3goKSkKKwkJcmV0dXJuIC0xOworCisJcGNpYmlvc19lbmFibGVfaXJxID0gJnBjaV92aXN3c19lbmFibGVfaXJxOworCXBjaWJpb3NfZGlzYWJsZV9pcnEgPSAmcGNpX3Zpc3dzX2Rpc2FibGVfaXJxOworCisJcGNpX3Zpc3dzX2luaXQoKTsKKwlwY2liaW9zX2luaXQoKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHBjaV9zdWJzeXNfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfNjQuYyBiL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCmluZGV4IGI1NDIzNTUuLjZkZDAwMGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCisrKyBiL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCkBAIC04Myw3ICs4Myw3IEBACiAKIAkvKiBTZXQgdXAgdGhlIGRpcmVjdCBtYXBwaW5nIGZyb20gc2NyYXRjaCAqLwogCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpcGZuX3RvX2thZGRyKDApOwotCWVuZCA9ICh1bnNpZ25lZCBsb25nKXBmbl90b19rYWRkcihlbmRfcGZuKTsKKwllbmQgPSAodW5zaWduZWQgbG9uZylwZm5fdG9fa2FkZHIobWF4X3Bmbik7CiAKIAlmb3IgKDsgc3RhcnQgPCBlbmQ7IHN0YXJ0ID0gbmV4dCkgewogCQlwdWRfdCAqcHVkID0gKHB1ZF90ICopZ2V0X3NhZmVfcGFnZShHRlBfQVRPTUlDKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3Zkc28vdmNsb2NrX2dldHRpbWUuYyBiL2FyY2gveDg2L3Zkc28vdmNsb2NrX2dldHRpbWUuYwppbmRleCBlZmEyYmE3Li4xZWYwZjkwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3ZjbG9ja19nZXR0aW1lLmMKKysrIGIvYXJjaC94ODYvdmRzby92Y2xvY2tfZ2V0dGltZS5jCkBAIC0yMyw3ICsyMyw3IEBACiAKICNkZWZpbmUgZ3RvZCB2ZHNvX3ZzeXNjYWxsX2d0b2RfZGF0YQogCi1zdGF0aWMgbG9uZyB2ZHNvX2ZhbGxiYWNrX2dldHRpbWUobG9uZyBjbG9jaywgc3RydWN0IHRpbWVzcGVjICp0cykKK25vdHJhY2Ugc3RhdGljIGxvbmcgdmRzb19mYWxsYmFja19nZXR0aW1lKGxvbmcgY2xvY2ssIHN0cnVjdCB0aW1lc3BlYyAqdHMpCiB7CiAJbG9uZyByZXQ7CiAJYXNtKCJzeXNjYWxsIiA6ICI9YSIgKHJldCkgOgpAQCAtMzEsNyArMzEsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgbG9uZyB2Z2V0bnModm9pZCkKK25vdHJhY2Ugc3RhdGljIGlubGluZSBsb25nIHZnZXRucyh2b2lkKQogewogCWxvbmcgdjsKIAljeWNsZXNfdCAoKnZyZWFkKSh2b2lkKTsKQEAgLTQwLDcgKzQwLDcgQEAKIAlyZXR1cm4gKHYgKiBndG9kLT5jbG9jay5tdWx0KSA+PiBndG9kLT5jbG9jay5zaGlmdDsKIH0KIAotc3RhdGljIG5vaW5saW5lIGludCBkb19yZWFsdGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzKQorbm90cmFjZSBzdGF0aWMgbm9pbmxpbmUgaW50IGRvX3JlYWx0aW1lKHN0cnVjdCB0aW1lc3BlYyAqdHMpCiB7CiAJdW5zaWduZWQgbG9uZyBzZXEsIG5zOwogCWRvIHsKQEAgLTU0LDcgKzU0LDggQEAKIH0KIAogLyogQ29weSBvZiB0aGUgdmVyc2lvbiBpbiBrZXJuZWwvdGltZS5jIHdoaWNoIHdlIGNhbm5vdCBkaXJlY3RseSBhY2Nlc3MgKi8KLXN0YXRpYyB2b2lkIHZzZXRfbm9ybWFsaXplZF90aW1lc3BlYyhzdHJ1Y3QgdGltZXNwZWMgKnRzLCBsb25nIHNlYywgbG9uZyBuc2VjKQorbm90cmFjZSBzdGF0aWMgdm9pZAordnNldF9ub3JtYWxpemVkX3RpbWVzcGVjKHN0cnVjdCB0aW1lc3BlYyAqdHMsIGxvbmcgc2VjLCBsb25nIG5zZWMpCiB7CiAJd2hpbGUgKG5zZWMgPj0gTlNFQ19QRVJfU0VDKSB7CiAJCW5zZWMgLT0gTlNFQ19QRVJfU0VDOwpAQCAtNjgsNyArNjksNyBAQAogCXRzLT50dl9uc2VjID0gbnNlYzsKIH0KIAotc3RhdGljIG5vaW5saW5lIGludCBkb19tb25vdG9uaWMoc3RydWN0IHRpbWVzcGVjICp0cykKK25vdHJhY2Ugc3RhdGljIG5vaW5saW5lIGludCBkb19tb25vdG9uaWMoc3RydWN0IHRpbWVzcGVjICp0cykKIHsKIAl1bnNpZ25lZCBsb25nIHNlcSwgbnMsIHNlY3M7CiAJZG8gewpAQCAtODIsNyArODMsNyBAQAogCXJldHVybiAwOwogfQogCi1pbnQgX192ZHNvX2Nsb2NrX2dldHRpbWUoY2xvY2tpZF90IGNsb2NrLCBzdHJ1Y3QgdGltZXNwZWMgKnRzKQorbm90cmFjZSBpbnQgX192ZHNvX2Nsb2NrX2dldHRpbWUoY2xvY2tpZF90IGNsb2NrLCBzdHJ1Y3QgdGltZXNwZWMgKnRzKQogewogCWlmIChsaWtlbHkoZ3RvZC0+c3lzY3RsX2VuYWJsZWQgJiYgZ3RvZC0+Y2xvY2sudnJlYWQpKQogCQlzd2l0Y2ggKGNsb2NrKSB7CkBAIC05Niw3ICs5Nyw3IEBACiBpbnQgY2xvY2tfZ2V0dGltZShjbG9ja2lkX3QsIHN0cnVjdCB0aW1lc3BlYyAqKQogCV9fYXR0cmlidXRlX18oKHdlYWssIGFsaWFzKCJfX3Zkc29fY2xvY2tfZ2V0dGltZSIpKSk7CiAKLWludCBfX3Zkc29fZ2V0dGltZW9mZGF5KHN0cnVjdCB0aW1ldmFsICp0diwgc3RydWN0IHRpbWV6b25lICp0eikKK25vdHJhY2UgaW50IF9fdmRzb19nZXR0aW1lb2ZkYXkoc3RydWN0IHRpbWV2YWwgKnR2LCBzdHJ1Y3QgdGltZXpvbmUgKnR6KQogewogCWxvbmcgcmV0OwogCWlmIChsaWtlbHkoZ3RvZC0+c3lzY3RsX2VuYWJsZWQgJiYgZ3RvZC0+Y2xvY2sudnJlYWQpKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni92ZHNvL3Zkc28zMi1zZXR1cC5jIGIvYXJjaC94ODYvdmRzby92ZHNvMzItc2V0dXAuYwppbmRleCBjZjA1OGZlLi4wYmNlNTQyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3Zkc28zMi1zZXR1cC5jCisrKyBiL2FyY2gveDg2L3Zkc28vdmRzbzMyLXNldHVwLmMKQEAgLTIwMywyMCArMjAzLDExIEBACiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAKLXN0YXRpYyBpbnQgdXNlX3N5c2VudGVyIF9fcmVhZF9tb3N0bHkgPSAtMTsKLQotI2RlZmluZQl2ZHNvMzJfc3lzZW50ZXIoKQkodXNlX3N5c2VudGVyID4gMCkKKyNkZWZpbmUJdmRzbzMyX3N5c2VudGVyKCkJKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9TWVNFTlRFUjMyKSkKIAogLyogTWF5IG5vdCBiZSBfX2luaXQ6IGNhbGxlZCBkdXJpbmcgcmVzdW1lICovCiB2b2lkIHN5c2NhbGwzMl9jcHVfaW5pdCh2b2lkKQogewotCWlmICh1c2Vfc3lzZW50ZXIgPCAwKSB7Ci0JCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCkKLQkJCXVzZV9zeXNlbnRlciA9IDE7Ci0JCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9DRU5UQVVSKQotCQkJdXNlX3N5c2VudGVyID0gMTsKLQl9Ci0KIAkvKiBMb2FkIHRoZXNlIGFsd2F5cyBpbiBjYXNlIHNvbWUgZnV0dXJlIEFNRCBDUFUgc3VwcG9ydHMKIAkgICBTWVNFTlRFUiBmcm9tIGNvbXBhdCBtb2RlIHRvby4gKi8KIAljaGVja2luZ193cm1zcmwoTVNSX0lBMzJfU1lTRU5URVJfQ1MsICh1NjQpX19LRVJORUxfQ1MpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdmRzby92Z2V0Y3B1LmMgYi9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYwppbmRleCBjODA5N2YxLi45ZmJjNmIyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYworKysgYi9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYwpAQCAtMTMsNyArMTMsOCBAQAogI2luY2x1ZGUgPGFzbS92Z3RvZC5oPgogI2luY2x1ZGUgInZleHRlcm4uaCIKIAotbG9uZyBfX3Zkc29fZ2V0Y3B1KHVuc2lnbmVkICpjcHUsIHVuc2lnbmVkICpub2RlLCBzdHJ1Y3QgZ2V0Y3B1X2NhY2hlICp1bnVzZWQpCitub3RyYWNlIGxvbmcKK19fdmRzb19nZXRjcHUodW5zaWduZWQgKmNwdSwgdW5zaWduZWQgKm5vZGUsIHN0cnVjdCBnZXRjcHVfY2FjaGUgKnVudXNlZCkKIHsKIAl1bnNpZ25lZCBpbnQgcDsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdmRzby92bWEuYyBiL2FyY2gveDg2L3Zkc28vdm1hLmMKaW5kZXggM2ZkZDUxNC4uMTlhNmNmYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvdmRzby92bWEuYworKysgYi9hcmNoL3g4Ni92ZHNvL3ZtYS5jCkBAIC0xNiw3ICsxNiw3IEBACiAjaW5jbHVkZSAidmV4dGVybi5oIgkJLyogSnVzdCBmb3IgVk1BR0lDLiAgKi8KICN1bmRlZiBWRVhURVJOCiAKLWludCB2ZHNvX2VuYWJsZWQgPSAxOwordW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgdmRzb19lbmFibGVkID0gMTsKIAogZXh0ZXJuIGNoYXIgdmRzb19zdGFydFtdLCB2ZHNvX2VuZFtdOwogZXh0ZXJuIHVuc2lnbmVkIHNob3J0IHZkc29fc3luY19jcHVpZDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9LY29uZmlnIGIvYXJjaC94ODYveGVuL0tjb25maWcKaW5kZXggNmMzODhlNS4uYzJjYzk5NSAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL0tjb25maWcKKysrIGIvYXJjaC94ODYveGVuL0tjb25maWcKQEAgLTEyLDMgKzEyLDEzIEBACiAJICBUaGlzIGlzIHRoZSBMaW51eCBYZW4gcG9ydC4gIEVuYWJsaW5nIHRoaXMgd2lsbCBhbGxvdyB0aGUKIAkgIGtlcm5lbCB0byBib290IGluIGEgcGFyYXZpcnR1YWxpemVkIGVudmlyb25tZW50IHVuZGVyIHRoZQogCSAgWGVuIGh5cGVydmlzb3IuCisKK2NvbmZpZyBYRU5fTUFYX0RPTUFJTl9NRU1PUlkKKyAgICAgICBpbnQgIk1heGltdW0gYWxsb3dlZCBzaXplIG9mIGEgZG9tYWluIGluIGdpZ2FieXRlcyIKKyAgICAgICBkZWZhdWx0IDgKKyAgICAgICBkZXBlbmRzIG9uIFhFTgorICAgICAgIGhlbHAKKyAgICAgICAgIFRoZSBwc2V1ZG8tcGh5c2ljYWwgdG8gbWFjaGluZSBhZGRyZXNzIGFycmF5IGlzIHNpemVkCisgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIG1heGltdW0gcG9zc2libGUgbWVtb3J5IHNpemUgb2YgYSBYZW4KKyAgICAgICAgIGRvbWFpbi4gIFRoaXMgYXJyYXkgdXNlcyAxIHBhZ2UgcGVyIGdpZ2FieXRlLCBzbyB0aGVyZSdzIG5vCisgICAgICAgICBuZWVkIHRvIGJlIHRvbyBzdGluZ3kgaGVyZS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vTWFrZWZpbGUgYi9hcmNoL3g4Ni94ZW4vTWFrZWZpbGUKaW5kZXggM2Q4ZGY5OC4uMmJhMmQxNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L3hlbi9NYWtlZmlsZQpAQCAtMSw0ICsxLDQgQEAKIG9iai15CQk6PSBlbmxpZ2h0ZW4ubyBzZXR1cC5vIG11bHRpY2FsbHMubyBtbXUubyBcCi0JCQl0aW1lLm8gbWFuYWdlLm8geGVuLWFzbS5vIGdyYW50LXRhYmxlLm8KKwkJCXRpbWUubyB4ZW4tYXNtLm8gZ3JhbnQtdGFibGUubyBzdXNwZW5kLm8KIAogb2JqLSQoQ09ORklHX1NNUCkJKz0gc21wLm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCBmMDljMWM2Li5iYjUwODQ1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KICNpbmNsdWRlIDxhc20vcmVib290Lmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KIAogI2luY2x1ZGUgInhlbi1vcHMuaCIKICNpbmNsdWRlICJtbXUuaCIKQEAgLTc1LDEzICs3NiwxMyBAQAogc3RydWN0IHN0YXJ0X2luZm8gKnhlbl9zdGFydF9pbmZvOwogRVhQT1JUX1NZTUJPTF9HUEwoeGVuX3N0YXJ0X2luZm8pOwogCi1zdGF0aWMgLyogX19pbml0ZGF0YSAqLyBzdHJ1Y3Qgc2hhcmVkX2luZm8gZHVtbXlfc2hhcmVkX2luZm87CitzdHJ1Y3Qgc2hhcmVkX2luZm8geGVuX2R1bW15X3NoYXJlZF9pbmZvOwogCiAvKgogICogUG9pbnQgYXQgc29tZSBlbXB0eSBtZW1vcnkgdG8gc3RhcnQgd2l0aC4gV2UgbWFwIHRoZSByZWFsIHNoYXJlZF9pbmZvCiAgKiBwYWdlIGFzIHNvb24gYXMgZml4bWFwIGlzIHVwIGFuZCBydW5uaW5nLgogICovCi1zdHJ1Y3Qgc2hhcmVkX2luZm8gKkhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPSAodm9pZCAqKSZkdW1teV9zaGFyZWRfaW5mbzsKK3N0cnVjdCBzaGFyZWRfaW5mbyAqSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9ICh2b2lkICopJnhlbl9kdW1teV9zaGFyZWRfaW5mbzsKIAogLyoKICAqIEZsYWcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdmNwdSBpbmZvIHBsYWNlbWVudCBpcyBhdmFpbGFibGUgb24gYWxsCkBAIC05OCwxMyArOTksMTMgQEAKICAqLwogc3RhdGljIGludCBoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQgPSAxOwogCi1zdGF0aWMgdm9pZCBfX2luaXQgeGVuX3ZjcHVfc2V0dXAoaW50IGNwdSkKK3N0YXRpYyB2b2lkIHhlbl92Y3B1X3NldHVwKGludCBjcHUpCiB7CiAJc3RydWN0IHZjcHVfcmVnaXN0ZXJfdmNwdV9pbmZvIGluZm87CiAJaW50IGVycjsKIAlzdHJ1Y3QgdmNwdV9pbmZvICp2Y3B1cDsKIAotCUJVR19PTihIWVBFUlZJU09SX3NoYXJlZF9pbmZvID09ICZkdW1teV9zaGFyZWRfaW5mbyk7CisJQlVHX09OKEhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPT0gJnhlbl9kdW1teV9zaGFyZWRfaW5mbyk7CiAJcGVyX2NwdSh4ZW5fdmNwdSwgY3B1KSA9ICZIWVBFUlZJU09SX3NoYXJlZF9pbmZvLT52Y3B1X2luZm9bY3B1XTsKIAogCWlmICghaGF2ZV92Y3B1X2luZm9fcGxhY2VtZW50KQpAQCAtMTM2LDExICsxMzcsNDEgQEAKIAl9CiB9CiAKKy8qCisgKiBPbiByZXN0b3JlLCBzZXQgdGhlIHZjcHUgcGxhY2VtZW50IHVwIGFnYWluLgorICogSWYgaXQgZmFpbHMsIHRoZW4gd2UncmUgaW4gYSBiYWQgc3RhdGUsIHNpbmNlCisgKiB3ZSBjYW4ndCBiYWNrIG91dCBmcm9tIHVzaW5nIGl0Li4uCisgKi8KK3ZvaWQgeGVuX3ZjcHVfcmVzdG9yZSh2b2lkKQoreworCWlmIChoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQpIHsKKwkJaW50IGNwdTsKKworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQkJYm9vbCBvdGhlcl9jcHUgPSAoY3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSk7CisKKwkJCWlmIChvdGhlcl9jcHUgJiYKKwkJCSAgICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2Rvd24sIGNwdSwgTlVMTCkpCisJCQkJQlVHKCk7CisKKwkJCXhlbl92Y3B1X3NldHVwKGNwdSk7CisKKwkJCWlmIChvdGhlcl9jcHUgJiYKKwkJCSAgICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3VwLCBjcHUsIE5VTEwpKQorCQkJCUJVRygpOworCQl9CisKKwkJQlVHX09OKCFoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQpOworCX0KK30KKwogc3RhdGljIHZvaWQgX19pbml0IHhlbl9iYW5uZXIodm9pZCkKIHsKIAlwcmludGsoS0VSTl9JTkZPICJCb290aW5nIHBhcmF2aXJ0dWFsaXplZCBrZXJuZWwgb24gJXNcbiIsCiAJICAgICAgIHB2X2luZm8ubmFtZSk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiSHlwZXJ2aXNvciBzaWduYXR1cmU6ICVzXG4iLCB4ZW5fc3RhcnRfaW5mby0+bWFnaWMpOworCXByaW50ayhLRVJOX0lORk8gIkh5cGVydmlzb3Igc2lnbmF0dXJlOiAlcyVzXG4iLAorCSAgICAgICB4ZW5fc3RhcnRfaW5mby0+bWFnaWMsCisJICAgICAgIHhlbl9mZWF0dXJlKFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZCkgPyAiIChwcmVzZXJ2ZS1BRCkiIDogIiIpOwogfQogCiBzdGF0aWMgdm9pZCB4ZW5fY3B1aWQodW5zaWduZWQgaW50ICpheCwgdW5zaWduZWQgaW50ICpieCwKQEAgLTIzNSwxMyArMjY2LDEzIEBACiB7CiAJc3RydWN0IHZjcHVfaW5mbyAqdmNwdTsKIAotCS8qIFRoZXJlJ3MgYSBvbmUgaW5zdHJ1Y3Rpb24gcHJlZW1wdCB3aW5kb3cgaGVyZS4gIFdlIG5lZWQgdG8KLQkgICBtYWtlIHN1cmUgd2UncmUgZG9uJ3Qgc3dpdGNoIENQVXMgYmV0d2VlbiBnZXR0aW5nIHRoZSB2Y3B1Ci0JICAgcG9pbnRlciBhbmQgdXBkYXRpbmcgdGhlIG1hc2suICovCi0JcHJlZW1wdF9kaXNhYmxlKCk7CisJLyogV2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBiZWluZyBwcmVlbXB0ZWQgaGVyZSwgc2luY2UKKwkgICBlaXRoZXIgYSkgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIHNvIG5vIHByZWVtcHRpb24sIG9yIGIpCisJICAgdGhlIGNhbGxlciBpcyBjb25mdXNlZCBhbmQgaXMgdHJ5aW5nIHRvIHJlLWVuYWJsZSBpbnRlcnJ1cHRzCisJICAgb24gYW4gaW5kZXRlcm1pbmF0ZSBwcm9jZXNzb3IuICovCisKIAl2Y3B1ID0geDg2X3JlYWRfcGVyY3B1KHhlbl92Y3B1KTsKIAl2Y3B1LT5ldnRjaG5fdXBjYWxsX21hc2sgPSAwOwotCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKIAogCS8qIERvZXNuJ3QgbWF0dGVyIGlmIHdlIGdldCBwcmVlbXB0ZWQgaGVyZSwgYmVjYXVzZSBhbnkKIAkgICBwZW5kaW5nIGV2ZW50IHdpbGwgZ2V0IGRlYWx0IHdpdGggYW55d2F5LiAqLwpAQCAtMjU0LDcgKzI4NSw3IEBACiBzdGF0aWMgdm9pZCB4ZW5fc2FmZV9oYWx0KHZvaWQpCiB7CiAJLyogQmxvY2tpbmcgaW5jbHVkZXMgYW4gaW1wbGljaXQgbG9jYWxfaXJxX2VuYWJsZSgpLiAqLwotCWlmIChIWVBFUlZJU09SX3NjaGVkX29wKFNDSEVET1BfYmxvY2ssIDApICE9IDApCisJaWYgKEhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF9ibG9jaywgTlVMTCkgIT0gMCkKIAkJQlVHKCk7CiB9CiAKQEAgLTYwNyw2ICs2MzgsMzAgQEAKIAl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9NTVUpOwogfQogCitzdGF0aWMgdm9pZCB4ZW5fY2x0cyh2b2lkKQoreworCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgbWNzOworCisJbWNzID0geGVuX21jX2VudHJ5KDApOworCisJTVVMVElfZnB1X3Rhc2tzd2l0Y2gobWNzLm1jLCAwKTsKKworCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX0NQVSk7Cit9CisKK3N0YXRpYyB2b2lkIHhlbl93cml0ZV9jcjAodW5zaWduZWQgbG9uZyBjcjApCit7CisJc3RydWN0IG11bHRpY2FsbF9zcGFjZSBtY3M7CisKKwkvKiBPbmx5IHBheSBhdHRlbnRpb24gdG8gY3IwLlRTOyBldmVyeXRoaW5nIGVsc2UgaXMKKwkgICBpZ25vcmVkLiAqLworCW1jcyA9IHhlbl9tY19lbnRyeSgwKTsKKworCU1VTFRJX2ZwdV90YXNrc3dpdGNoKG1jcy5tYywgKGNyMCAmIFg4Nl9DUjBfVFMpICE9IDApOworCisJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfQ1BVKTsKK30KKwogc3RhdGljIHZvaWQgeGVuX3dyaXRlX2NyMih1bnNpZ25lZCBsb25nIGNyMikKIHsKIAl4ODZfcmVhZF9wZXJjcHUoeGVuX3ZjcHUpLT5hcmNoLmNyMiA9IGNyMjsKQEAgLTYyNCw4ICs2NzksMTAgQEAKIAogc3RhdGljIHZvaWQgeGVuX3dyaXRlX2NyNCh1bnNpZ25lZCBsb25nIGNyNCkKIHsKLQkvKiBKdXN0IGlnbm9yZSBjcjQgY2hhbmdlczsgWGVuIGRvZXNuJ3QgYWxsb3cgdXMgdG8gZG8KLQkgICBhbnl0aGluZyBhbnl3YXkuICovCisJY3I0ICY9IH5YODZfQ1I0X1BHRTsKKwljcjQgJj0gflg4Nl9DUjRfUFNFOworCisJbmF0aXZlX3dyaXRlX2NyNChjcjQpOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyB4ZW5fcmVhZF9jcjModm9pZCkKQEAgLTgzMSw3ICs4ODgsNyBAQAogCQkJICBQRk5fRE9XTihfX3BhKHhlbl9zdGFydF9pbmZvLT5wdF9iYXNlKSkpOwogfQogCi1zdGF0aWMgX19pbml0IHZvaWQgc2V0dXBfc2hhcmVkX2luZm8odm9pZCkKK3ZvaWQgeGVuX3NldHVwX3NoYXJlZF9pbmZvKHZvaWQpCiB7CiAJaWYgKCF4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkgewogCQl1bnNpZ25lZCBsb25nIGFkZHIgPSBmaXhfdG9fdmlydChGSVhfUEFSQVZJUlRfQk9PVE1BUCk7CkBAIC04NTQsNiArOTExLDggQEAKIAkvKiBJbiBVUCB0aGlzIGlzIGFzIGdvb2QgYSBwbGFjZSBhcyBhbnkgdG8gc2V0IHVwIHNoYXJlZCBpbmZvICovCiAJeGVuX3NldHVwX3ZjcHVfaW5mb19wbGFjZW1lbnQoKTsKICNlbmRpZgorCisJeGVuX3NldHVwX21mbl9saXN0X2xpc3QoKTsKIH0KIAogc3RhdGljIF9faW5pdCB2b2lkIHhlbl9wYWdldGFibGVfc2V0dXBfZG9uZShwZ2RfdCAqYmFzZSkKQEAgLTg2NiwxNSArOTI1LDIzIEBACiAJcHZfbW11X29wcy5yZWxlYXNlX3BtZCA9IHhlbl9yZWxlYXNlX3BtZDsKIAlwdl9tbXVfb3BzLnNldF9wdGUgPSB4ZW5fc2V0X3B0ZTsKIAotCXNldHVwX3NoYXJlZF9pbmZvKCk7CisJeGVuX3NldHVwX3NoYXJlZF9pbmZvKCk7CiAKIAkvKiBBY3R1YWxseSBwaW4gdGhlIHBhZ2V0YWJsZSBkb3duLCBidXQgd2UgY2FuJ3Qgc2V0IFBHX3Bpbm5lZAogCSAgIHlldCBiZWNhdXNlIHRoZSBwYWdlIHN0cnVjdHVyZXMgZG9uJ3QgZXhpc3QgeWV0LiAqLwogCXBpbl9wYWdldGFibGVfcGZuKE1NVUVYVF9QSU5fTDNfVEFCTEUsIFBGTl9ET1dOKF9fcGEoYmFzZSkpKTsKIH0KIAorc3RhdGljIF9faW5pdCB2b2lkIHhlbl9wb3N0X2FsbG9jYXRvcl9pbml0KHZvaWQpCit7CisJcHZfbW11X29wcy5zZXRfcG1kID0geGVuX3NldF9wbWQ7CisJcHZfbW11X29wcy5zZXRfcHVkID0geGVuX3NldF9wdWQ7CisKKwl4ZW5fbWFya19pbml0X21tX3Bpbm5lZCgpOworfQorCiAvKiBUaGlzIGlzIGNhbGxlZCBvbmNlIHdlIGhhdmUgdGhlIGNwdV9wb3NzaWJsZV9tYXAgKi8KLXZvaWQgX19pbml0IHhlbl9zZXR1cF92Y3B1X2luZm9fcGxhY2VtZW50KHZvaWQpCit2b2lkIHhlbl9zZXR1cF92Y3B1X2luZm9fcGxhY2VtZW50KHZvaWQpCiB7CiAJaW50IGNwdTsKIApAQCAtOTQ3LDYgKzEwMTQsMzMgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgdm9pZCB4ZW5fc2V0X2ZpeG1hcCh1bnNpZ25lZCBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgcHJvdCkKK3sKKwlwdGVfdCBwdGU7CisKKwlwaHlzID4+PSBQQUdFX1NISUZUOworCisJc3dpdGNoIChpZHgpIHsKKwljYXNlIEZJWF9CVE1BUF9FTkQgLi4uIEZJWF9CVE1BUF9CRUdJTjoKKyNpZmRlZiBDT05GSUdfWDg2X0YwMEZfQlVHCisJY2FzZSBGSVhfRjAwRl9JRFQ6CisjZW5kaWYKKwljYXNlIEZJWF9XUF9URVNUOgorCWNhc2UgRklYX1ZEU086CisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJY2FzZSBGSVhfQVBJQ19CQVNFOgkvKiBtYXBzIGR1bW15IGxvY2FsIEFQSUMgKi8KKyNlbmRpZgorCQlwdGUgPSBwZm5fcHRlKHBoeXMsIHByb3QpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXB0ZSA9IG1mbl9wdGUocGh5cywgcHJvdCk7CisJCWJyZWFrOworCX0KKworCV9fbmF0aXZlX3NldF9maXhtYXAoaWR4LCBwdGUpOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X2luZm8geGVuX2luZm8gX19pbml0ZGF0YSA9IHsKIAkucGFyYXZpcnRfZW5hYmxlZCA9IDEsCiAJLnNoYXJlZF9rZXJuZWxfcG1kID0gMCwKQEAgLTk2MCw3ICsxMDU0LDcgQEAKIAkuYmFubmVyID0geGVuX2Jhbm5lciwKIAkubWVtb3J5X3NldHVwID0geGVuX21lbW9yeV9zZXR1cCwKIAkuYXJjaF9zZXR1cCA9IHhlbl9hcmNoX3NldHVwLAotCS5wb3N0X2FsbG9jYXRvcl9pbml0ID0geGVuX21hcmtfaW5pdF9tbV9waW5uZWQsCisJLnBvc3RfYWxsb2NhdG9yX2luaXQgPSB4ZW5fcG9zdF9hbGxvY2F0b3JfaW5pdCwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHZfdGltZV9vcHMgeGVuX3RpbWVfb3BzIF9faW5pdGRhdGEgPSB7CkBAIC05NjgsNyArMTA2Miw3IEBACiAKIAkuc2V0X3dhbGxjbG9jayA9IHhlbl9zZXRfd2FsbGNsb2NrLAogCS5nZXRfd2FsbGNsb2NrID0geGVuX2dldF93YWxsY2xvY2ssCi0JLmdldF9jcHVfa2h6ID0geGVuX2NwdV9raHosCisJLmdldF90c2Nfa2h6ID0geGVuX3RzY19raHosCiAJLnNjaGVkX2Nsb2NrID0geGVuX3NjaGVkX2Nsb2NrLAogfTsKIApAQCAtOTc4LDEwICsxMDcyLDEwIEBACiAJLnNldF9kZWJ1Z3JlZyA9IHhlbl9zZXRfZGVidWdyZWcsCiAJLmdldF9kZWJ1Z3JlZyA9IHhlbl9nZXRfZGVidWdyZWcsCiAKLQkuY2x0cyA9IG5hdGl2ZV9jbHRzLAorCS5jbHRzID0geGVuX2NsdHMsCiAKIAkucmVhZF9jcjAgPSBuYXRpdmVfcmVhZF9jcjAsCi0JLndyaXRlX2NyMCA9IG5hdGl2ZV93cml0ZV9jcjAsCisJLndyaXRlX2NyMCA9IHhlbl93cml0ZV9jcjAsCiAKIAkucmVhZF9jcjQgPSBuYXRpdmVfcmVhZF9jcjQsCiAJLnJlYWRfY3I0X3NhZmUgPSBuYXRpdmVfcmVhZF9jcjRfc2FmZSwKQEAgLTk5NSw3ICsxMDg5LDcgQEAKIAkucmVhZF9wbWMgPSBuYXRpdmVfcmVhZF9wbWMsCiAKIAkuaXJldCA9IHhlbl9pcmV0LAotCS5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0ID0geGVuX3N5c2V4aXQsCisJLmlycV9lbmFibGVfc3lzZXhpdCA9IHhlbl9zeXNleGl0LAogCiAJLmxvYWRfdHJfZGVzYyA9IHBhcmF2aXJ0X25vcCwKIAkuc2V0X2xkdCA9IHhlbl9zZXRfbGR0LApAQCAtMTAyOSw2ICsxMTIzLDkgQEAKIAkuaXJxX2VuYWJsZSA9IHhlbl9pcnFfZW5hYmxlLAogCS5zYWZlX2hhbHQgPSB4ZW5fc2FmZV9oYWx0LAogCS5oYWx0ID0geGVuX2hhbHQsCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS5hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lID0gcGFyYXZpcnRfbm9wLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X2FwaWNfb3BzIHhlbl9hcGljX29wcyBfX2luaXRkYXRhID0gewpAQCAtMTA2MCw2ICsxMTU3LDkgQEAKIAkucHRlX3VwZGF0ZSA9IHBhcmF2aXJ0X25vcCwKIAkucHRlX3VwZGF0ZV9kZWZlciA9IHBhcmF2aXJ0X25vcCwKIAorCS5wZ2RfYWxsb2MgPSBfX3BhcmF2aXJ0X3BnZF9hbGxvYywKKwkucGdkX2ZyZWUgPSBwYXJhdmlydF9ub3AsCisKIAkuYWxsb2NfcHRlID0geGVuX2FsbG9jX3B0ZV9pbml0LAogCS5yZWxlYXNlX3B0ZSA9IHhlbl9yZWxlYXNlX3B0ZV9pbml0LAogCS5hbGxvY19wbWQgPSB4ZW5fYWxsb2NfcHRlX2luaXQsCkBAIC0xMDcyLDkgKzExNzIsMTMgQEAKIAogCS5zZXRfcHRlID0gTlVMTCwJLyogc2VlIHhlbl9wYWdldGFibGVfc2V0dXBfKiAqLwogCS5zZXRfcHRlX2F0ID0geGVuX3NldF9wdGVfYXQsCi0JLnNldF9wbWQgPSB4ZW5fc2V0X3BtZCwKKwkuc2V0X3BtZCA9IHhlbl9zZXRfcG1kX2h5cGVyLAorCisJLnB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQgPSBfX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQsCisJLnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0ID0gX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdCwKIAogCS5wdGVfdmFsID0geGVuX3B0ZV92YWwsCisJLnB0ZV9mbGFncyA9IG5hdGl2ZV9wdGVfdmFsLAogCS5wZ2RfdmFsID0geGVuX3BnZF92YWwsCiAKIAkubWFrZV9wdGUgPSB4ZW5fbWFrZV9wdGUsCkBAIC0xMDgyLDcgKzExODYsNyBAQAogCiAJLnNldF9wdGVfYXRvbWljID0geGVuX3NldF9wdGVfYXRvbWljLAogCS5zZXRfcHRlX3ByZXNlbnQgPSB4ZW5fc2V0X3B0ZV9hdCwKLQkuc2V0X3B1ZCA9IHhlbl9zZXRfcHVkLAorCS5zZXRfcHVkID0geGVuX3NldF9wdWRfaHlwZXIsCiAJLnB0ZV9jbGVhciA9IHhlbl9wdGVfY2xlYXIsCiAJLnBtZF9jbGVhciA9IHhlbl9wbWRfY2xlYXIsCiAKQEAgLTEwOTcsNiArMTIwMSw4IEBACiAJCS5lbnRlciA9IHBhcmF2aXJ0X2VudGVyX2xhenlfbW11LAogCQkubGVhdmUgPSB4ZW5fbGVhdmVfbGF6eSwKIAl9LAorCisJLnNldF9maXhtYXAgPSB4ZW5fc2V0X2ZpeG1hcCwKIH07CiAKICNpZmRlZiBDT05GSUdfU01QCkBAIC0xMTA4LDE3ICsxMjE0LDIxIEBACiAKIAkuc21wX3NlbmRfc3RvcCA9IHhlbl9zbXBfc2VuZF9zdG9wLAogCS5zbXBfc2VuZF9yZXNjaGVkdWxlID0geGVuX3NtcF9zZW5kX3Jlc2NoZWR1bGUsCi0JLnNtcF9jYWxsX2Z1bmN0aW9uX21hc2sgPSB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzaywKKworCS5zZW5kX2NhbGxfZnVuY19pcGkgPSB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGksCisJLnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkgPSB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpLAogfTsKICNlbmRpZgkvKiBDT05GSUdfU01QICovCiAKIHN0YXRpYyB2b2lkIHhlbl9yZWJvb3QoaW50IHJlYXNvbikKIHsKKwlzdHJ1Y3Qgc2NoZWRfc2h1dGRvd24gciA9IHsgLnJlYXNvbiA9IHJlYXNvbiB9OworCiAjaWZkZWYgQ09ORklHX1NNUAogCXNtcF9zZW5kX3N0b3AoKTsKICNlbmRpZgogCi0JaWYgKEhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF9zaHV0ZG93biwgcmVhc29uKSkKKwlpZiAoSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX3NodXRkb3duLCAmcikpCiAJCUJVRygpOwogfQogCkBAIC0xMTczLDYgKzEyODMsOCBAQAogCiAJQlVHX09OKG1lbWNtcCh4ZW5fc3RhcnRfaW5mby0+bWFnaWMsICJ4ZW4tMyIsIDUpICE9IDApOwogCisJeGVuX3NldHVwX2ZlYXR1cmVzKCk7CisKIAkvKiBJbnN0YWxsIFhlbiBwYXJhdmlydCBvcHMgKi8KIAlwdl9pbmZvID0geGVuX2luZm87CiAJcHZfaW5pdF9vcHMgPSB4ZW5faW5pdF9vcHM7CkBAIC0xMTgyLDIxICsxMjk0LDI2IEBACiAJcHZfYXBpY19vcHMgPSB4ZW5fYXBpY19vcHM7CiAJcHZfbW11X29wcyA9IHhlbl9tbXVfb3BzOwogCisJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZCkpIHsKKwkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0ID0geGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQ7CisJCXB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQgPSB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQ7CisJfQorCiAJbWFjaGluZV9vcHMgPSB4ZW5fbWFjaGluZV9vcHM7CiAKICNpZmRlZiBDT05GSUdfU01QCiAJc21wX29wcyA9IHhlbl9zbXBfb3BzOwogI2VuZGlmCiAKLQl4ZW5fc2V0dXBfZmVhdHVyZXMoKTsKLQogCS8qIEdldCBtZm4gbGlzdCAqLwogCWlmICgheGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpCi0JCXBoeXNfdG9fbWFjaGluZV9tYXBwaW5nID0gKHVuc2lnbmVkIGxvbmcgKil4ZW5fc3RhcnRfaW5mby0+bWZuX2xpc3Q7CisJCXhlbl9idWlsZF9keW5hbWljX3BoeXNfdG9fbWFjaGluZSgpOwogCiAJcGdkID0gKHBnZF90ICopeGVuX3N0YXJ0X2luZm8tPnB0X2Jhc2U7CiAKKwlpbml0X3BnX3RhYmxlc19zdGFydCA9IF9fcGEocGdkKTsKIAlpbml0X3BnX3RhYmxlc19lbmQgPSBfX3BhKHBnZCkgKyB4ZW5fc3RhcnRfaW5mby0+bnJfcHRfZnJhbWVzKlBBR0VfU0laRTsKKwltYXhfcGZuX21hcHBlZCA9IChpbml0X3BnX3RhYmxlc19lbmQgKyA1MTIqMTAyNCkgPj4gUEFHRV9TSElGVDsKIAogCWluaXRfbW0ucGdkID0gcGdkOyAvKiB1c2UgdGhlIFhlbiBwYWdldGFibGVzIHRvIHN0YXJ0ICovCiAKQEAgLTEyMzIsOSArMTM0OSwxMiBAQAogCQk/IF9fcGEoeGVuX3N0YXJ0X2luZm8tPm1vZF9zdGFydCkgOiAwOwogCWJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemUgPSB4ZW5fc3RhcnRfaW5mby0+bW9kX2xlbjsKIAotCWlmICghaXNfaW5pdGlhbF94ZW5kb21haW4oKSkKKwlpZiAoIWlzX2luaXRpYWxfeGVuZG9tYWluKCkpIHsKKwkJYWRkX3ByZWZlcnJlZF9jb25zb2xlKCJ4ZW5ib290IiwgMCwgTlVMTCk7CisJCWFkZF9wcmVmZXJyZWRfY29uc29sZSgidHR5IiwgMCwgTlVMTCk7CiAJCWFkZF9wcmVmZXJyZWRfY29uc29sZSgiaHZjIiwgMCwgTlVMTCk7CisJfQogCiAJLyogU3RhcnQgdGhlIHdvcmxkICovCi0Jc3RhcnRfa2VybmVsKCk7CisJaTM4Nl9zdGFydF9rZXJuZWwoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tYW5hZ2UuYyBiL2FyY2gveDg2L3hlbi9tYW5hZ2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE3YWY5ZS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni94ZW4vbWFuYWdlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDMgKzAsMCBAQAotLyoKLSAqIEhhbmRsZSBleHRlcm4gcmVxdWVzdHMgZm9yIHNodXRkb3duLCByZWJvb3QgYW5kIHN5c3JxCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnIuaD4KLSNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNycS5oPgotCi0jaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgotCi0jZGVmaW5lIFNIVVRET1dOX0lOVkFMSUQgIC0xCi0jZGVmaW5lIFNIVVRET1dOX1BPV0VST0ZGICAwCi0jZGVmaW5lIFNIVVRET1dOX1NVU1BFTkQgICAyCi0vKiBDb2RlIDMgaXMgU0hVVERPV05fQ1JBU0gsIHdoaWNoIHdlIGRvbid0IHVzZSBiZWNhdXNlIHRoZSBkb21haW4gY2FuIG9ubHkKLSAqIHJlcG9ydCBhIGNyYXNoLCBub3QgYmUgaW5zdHJ1Y3RlZCB0byBjcmFzaCEKLSAqIEhBTFQgaXMgdGhlIHNhbWUgYXMgUE9XRVJPRkYsIGFzIGZhciBhcyB3ZSdyZSBjb25jZXJuZWQuICBUaGUgdG9vbHMgdXNlCi0gKiB0aGUgZGlzdGluY3Rpb24gd2hlbiB3ZSByZXR1cm4gdGhlIHJlYXNvbiBjb2RlIHRvIHRoZW0uCi0gKi8KLSNkZWZpbmUgU0hVVERPV05fSEFMVCAgICAgIDQKLQotLyogSWdub3JlIG11bHRpcGxlIHNodXRkb3duIHJlcXVlc3RzLiAqLwotc3RhdGljIGludCBzaHV0dGluZ19kb3duID0gU0hVVERPV05fSU5WQUxJRDsKLQotc3RhdGljIHZvaWQgc2h1dGRvd25faGFuZGxlcihzdHJ1Y3QgeGVuYnVzX3dhdGNoICp3YXRjaCwKLQkJCSAgICAgY29uc3QgY2hhciAqKnZlYywgdW5zaWduZWQgaW50IGxlbikKLXsKLQljaGFyICpzdHI7Ci0Jc3RydWN0IHhlbmJ1c190cmFuc2FjdGlvbiB4YnQ7Ci0JaW50IGVycjsKLQotCWlmIChzaHV0dGluZ19kb3duICE9IFNIVVRET1dOX0lOVkFMSUQpCi0JCXJldHVybjsKLQotIGFnYWluOgotCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9zdGFydCgmeGJ0KTsKLQlpZiAoZXJyKQotCQlyZXR1cm47Ci0KLQlzdHIgPSAoY2hhciAqKXhlbmJ1c19yZWFkKHhidCwgImNvbnRyb2wiLCAic2h1dGRvd24iLCBOVUxMKTsKLQkvKiBJZ25vcmUgcmVhZCBlcnJvcnMgYW5kIGVtcHR5IHJlYWRzLiAqLwotCWlmIChYRU5CVVNfSVNfRVJSX1JFQUQoc3RyKSkgewotCQl4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMSk7Ci0JCXJldHVybjsKLQl9Ci0KLQl4ZW5idXNfd3JpdGUoeGJ0LCAiY29udHJvbCIsICJzaHV0ZG93biIsICIiKTsKLQotCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAwKTsKLQlpZiAoZXJyID09IC1FQUdBSU4pIHsKLQkJa2ZyZWUoc3RyKTsKLQkJZ290byBhZ2FpbjsKLQl9Ci0KLQlpZiAoc3RyY21wKHN0ciwgInBvd2Vyb2ZmIikgPT0gMCB8fAotCSAgICBzdHJjbXAoc3RyLCAiaGFsdCIpID09IDApCi0JCW9yZGVybHlfcG93ZXJvZmYoZmFsc2UpOwotCWVsc2UgaWYgKHN0cmNtcChzdHIsICJyZWJvb3QiKSA9PSAwKQotCQljdHJsX2FsdF9kZWwoKTsKLQllbHNlIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiSWdub3Jpbmcgc2h1dGRvd24gcmVxdWVzdDogJXNcbiIsIHN0cik7Ci0JCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOwotCX0KLQotCWtmcmVlKHN0cik7Ci19Ci0KLXN0YXRpYyB2b2lkIHN5c3JxX2hhbmRsZXIoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsIGNvbnN0IGNoYXIgKip2ZWMsCi0JCQkgIHVuc2lnbmVkIGludCBsZW4pCi17Ci0JY2hhciBzeXNycV9rZXkgPSAnXDAnOwotCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0OwotCWludCBlcnI7Ci0KLSBhZ2FpbjoKLQllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7Ci0JaWYgKGVycikKLQkJcmV0dXJuOwotCWlmICgheGVuYnVzX3NjYW5mKHhidCwgImNvbnRyb2wiLCAic3lzcnEiLCAiJWMiLCAmc3lzcnFfa2V5KSkgewotCQlwcmludGsoS0VSTl9FUlIgIlVuYWJsZSB0byByZWFkIHN5c3JxIGNvZGUgaW4gIgotCQkgICAgICAgImNvbnRyb2wvc3lzcnFcbiIpOwotCQl4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMSk7Ci0JCXJldHVybjsKLQl9Ci0KLQlpZiAoc3lzcnFfa2V5ICE9ICdcMCcpCi0JCXhlbmJ1c19wcmludGYoeGJ0LCAiY29udHJvbCIsICJzeXNycSIsICIlYyIsICdcMCcpOwotCi0JZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDApOwotCWlmIChlcnIgPT0gLUVBR0FJTikKLQkJZ290byBhZ2FpbjsKLQotCWlmIChzeXNycV9rZXkgIT0gJ1wwJykKLQkJaGFuZGxlX3N5c3JxKHN5c3JxX2tleSwgTlVMTCk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHNodXRkb3duX3dhdGNoID0gewotCS5ub2RlID0gImNvbnRyb2wvc2h1dGRvd24iLAotCS5jYWxsYmFjayA9IHNodXRkb3duX2hhbmRsZXIKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHN5c3JxX3dhdGNoID0gewotCS5ub2RlID0gImNvbnRyb2wvc3lzcnEiLAotCS5jYWxsYmFjayA9IHN5c3JxX2hhbmRsZXIKLX07Ci0KLXN0YXRpYyBpbnQgc2V0dXBfc2h1dGRvd25fd2F0Y2hlcih2b2lkKQotewotCWludCBlcnI7Ci0KLQllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnNodXRkb3duX3dhdGNoKTsKLQlpZiAoZXJyKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzaHV0ZG93biB3YXRjaGVyXG4iKTsKLQkJcmV0dXJuIGVycjsKLQl9Ci0KLQllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnN5c3JxX3dhdGNoKTsKLQlpZiAoZXJyKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzeXNycSB3YXRjaGVyXG4iKTsKLQkJcmV0dXJuIGVycjsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzaHV0ZG93bl9ldmVudChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5vdGlmaWVyLAotCQkJICB1bnNpZ25lZCBsb25nIGV2ZW50LAotCQkJICB2b2lkICpkYXRhKQotewotCXNldHVwX3NodXRkb3duX3dhdGNoZXIoKTsKLQlyZXR1cm4gTk9USUZZX0RPTkU7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX3NodXRkb3duX2V2ZW50KHZvaWQpCi17Ci0Jc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4ZW5zdG9yZV9ub3RpZmllciA9IHsKLQkJLm5vdGlmaWVyX2NhbGwgPSBzaHV0ZG93bl9ldmVudAotCX07Ci0JcmVnaXN0ZXJfeGVuc3RvcmVfbm90aWZpZXIoJnhlbnN0b3JlX25vdGlmaWVyKTsKLQotCXJldHVybiAwOwotfQotCi1zdWJzeXNfaW5pdGNhbGwoc2V0dXBfc2h1dGRvd25fZXZlbnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL21tdS5jIGIvYXJjaC94ODYveGVuL21tdS5jCmluZGV4IDRlNTI3ZTcuLmZmMGFhNzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9tbXUuYworKysgYi9hcmNoL3g4Ni94ZW4vbW11LmMKQEAgLTU2LDYgKzU2LDEzMSBAQAogI2luY2x1ZGUgIm11bHRpY2FsbHMuaCIKICNpbmNsdWRlICJtbXUuaCIKIAorI2RlZmluZSBQMk1fRU5UUklFU19QRVJfUEFHRQkoUEFHRV9TSVpFIC8gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKQorI2RlZmluZSBUT1BfRU5UUklFUwkJKE1BWF9ET01BSU5fUEFHRVMgLyBQMk1fRU5UUklFU19QRVJfUEFHRSkKKworLyogUGxhY2Vob2xkZXIgZm9yIGhvbGVzIGluIHRoZSBhZGRyZXNzIHNwYWNlICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwMm1fbWlzc2luZ1tQMk1fRU5UUklFU19QRVJfUEFHRV0KKwlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuZGF0YS5wYWdlX2FsaWduZWQiKSkpID0KKwkJeyBbIDAgLi4uIFAyTV9FTlRSSUVTX1BFUl9QQUdFLTEgXSA9IH4wVUwgfTsKKworIC8qIEFycmF5IG9mIHBvaW50ZXJzIHRvIHBhZ2VzIGNvbnRhaW5pbmcgcDJtIGVudHJpZXMgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nICpwMm1fdG9wW1RPUF9FTlRSSUVTXQorCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5kYXRhLnBhZ2VfYWxpZ25lZCIpKSkgPQorCQl7IFsgMCAuLi4gVE9QX0VOVFJJRVMgLSAxXSA9ICZwMm1fbWlzc2luZ1swXSB9OworCisvKiBBcnJheXMgb2YgcDJtIGFycmF5cyBleHByZXNzZWQgaW4gbWZucyB1c2VkIGZvciBzYXZlL3Jlc3RvcmUgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIHAybV90b3BfbWZuW1RPUF9FTlRSSUVTXQorCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgcDJtX3RvcF9tZm5fbGlzdFsKKwkJCVBBR0VfQUxJR04oVE9QX0VOVFJJRVMgLyBQMk1fRU5UUklFU19QRVJfUEFHRSldCisJX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHAybV90b3BfaW5kZXgodW5zaWduZWQgbG9uZyBwZm4pCit7CisJQlVHX09OKHBmbiA+PSBNQVhfRE9NQUlOX1BBR0VTKTsKKwlyZXR1cm4gcGZuIC8gUDJNX0VOVFJJRVNfUEVSX1BBR0U7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgcDJtX2luZGV4KHVuc2lnbmVkIGxvbmcgcGZuKQoreworCXJldHVybiBwZm4gJSBQMk1fRU5UUklFU19QRVJfUEFHRTsKK30KKworLyogQnVpbGQgdGhlIHBhcmFsbGVsIHAybV90b3BfbWZuIHN0cnVjdHVyZXMgKi8KK3ZvaWQgeGVuX3NldHVwX21mbl9saXN0X2xpc3Qodm9pZCkKK3sKKwl1bnNpZ25lZCBwZm4sIGlkeDsKKworCWZvcihwZm4gPSAwOyBwZm4gPCBNQVhfRE9NQUlOX1BBR0VTOyBwZm4gKz0gUDJNX0VOVFJJRVNfUEVSX1BBR0UpIHsKKwkJdW5zaWduZWQgdG9waWR4ID0gcDJtX3RvcF9pbmRleChwZm4pOworCisJCXAybV90b3BfbWZuW3RvcGlkeF0gPSB2aXJ0X3RvX21mbihwMm1fdG9wW3RvcGlkeF0pOworCX0KKworCWZvcihpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHAybV90b3BfbWZuX2xpc3QpOyBpZHgrKykgeworCQl1bnNpZ25lZCB0b3BpZHggPSBpZHggKiBQMk1fRU5UUklFU19QRVJfUEFHRTsKKwkJcDJtX3RvcF9tZm5fbGlzdFtpZHhdID0gdmlydF90b19tZm4oJnAybV90b3BfbWZuW3RvcGlkeF0pOworCX0KKworCUJVR19PTihIWVBFUlZJU09SX3NoYXJlZF9pbmZvID09ICZ4ZW5fZHVtbXlfc2hhcmVkX2luZm8pOworCisJSFlQRVJWSVNPUl9zaGFyZWRfaW5mby0+YXJjaC5wZm5fdG9fbWZuX2ZyYW1lX2xpc3RfbGlzdCA9CisJCXZpcnRfdG9fbWZuKHAybV90b3BfbWZuX2xpc3QpOworCUhZUEVSVklTT1Jfc2hhcmVkX2luZm8tPmFyY2gubWF4X3BmbiA9IHhlbl9zdGFydF9pbmZvLT5ucl9wYWdlczsKK30KKworLyogU2V0IHVwIHAybV90b3AgdG8gcG9pbnQgdG8gdGhlIGRvbWFpbi1idWlsZGVyIHByb3ZpZGVkIHAybSBwYWdlcyAqLwordm9pZCBfX2luaXQgeGVuX2J1aWxkX2R5bmFtaWNfcGh5c190b19tYWNoaW5lKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyAqbWZuX2xpc3QgPSAodW5zaWduZWQgbG9uZyAqKXhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdDsKKwl1bnNpZ25lZCBsb25nIG1heF9wZm4gPSBtaW4oTUFYX0RPTUFJTl9QQUdFUywgeGVuX3N0YXJ0X2luZm8tPm5yX3BhZ2VzKTsKKwl1bnNpZ25lZCBwZm47CisKKwlmb3IocGZuID0gMDsgcGZuIDwgbWF4X3BmbjsgcGZuICs9IFAyTV9FTlRSSUVTX1BFUl9QQUdFKSB7CisJCXVuc2lnbmVkIHRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKworCQlwMm1fdG9wW3RvcGlkeF0gPSAmbWZuX2xpc3RbcGZuXTsKKwl9Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0X3BoeXNfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIHBmbikKK3sKKwl1bnNpZ25lZCB0b3BpZHgsIGlkeDsKKworCWlmICh1bmxpa2VseShwZm4gPj0gTUFYX0RPTUFJTl9QQUdFUykpCisJCXJldHVybiBJTlZBTElEX1AyTV9FTlRSWTsKKworCXRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKwlpZHggPSBwMm1faW5kZXgocGZuKTsKKwlyZXR1cm4gcDJtX3RvcFt0b3BpZHhdW2lkeF07Cit9CitFWFBPUlRfU1lNQk9MX0dQTChnZXRfcGh5c190b19tYWNoaW5lKTsKKworc3RhdGljIHZvaWQgYWxsb2NfcDJtKHVuc2lnbmVkIGxvbmcgKipwcCwgdW5zaWduZWQgbG9uZyAqbWZucCkKK3sKKwl1bnNpZ25lZCBsb25nICpwOworCXVuc2lnbmVkIGk7CisKKwlwID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX05PRkFJTCk7CisJQlVHX09OKHAgPT0gTlVMTCk7CisKKwlmb3IoaSA9IDA7IGkgPCBQMk1fRU5UUklFU19QRVJfUEFHRTsgaSsrKQorCQlwW2ldID0gSU5WQUxJRF9QMk1fRU5UUlk7CisKKwlpZiAoY21weGNoZyhwcCwgcDJtX21pc3NpbmcsIHApICE9IHAybV9taXNzaW5nKQorCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcCk7CisJZWxzZQorCQkqbWZucCA9IHZpcnRfdG9fbWZuKHApOworfQorCit2b2lkIHNldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKQoreworCXVuc2lnbmVkIHRvcGlkeCwgaWR4OworCisJaWYgKHVubGlrZWx5KHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKSkgeworCQlCVUdfT04ocGZuICE9IG1mbiAmJiBtZm4gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOworCQlyZXR1cm47CisJfQorCisJaWYgKHVubGlrZWx5KHBmbiA+PSBNQVhfRE9NQUlOX1BBR0VTKSkgeworCQlCVUdfT04obWZuICE9IElOVkFMSURfUDJNX0VOVFJZKTsKKwkJcmV0dXJuOworCX0KKworCXRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKwlpZiAocDJtX3RvcFt0b3BpZHhdID09IHAybV9taXNzaW5nKSB7CisJCS8qIG5vIG5lZWQgdG8gYWxsb2NhdGUgYSBwYWdlIHRvIHN0b3JlIGFuIGludmFsaWQgZW50cnkgKi8KKwkJaWYgKG1mbiA9PSBJTlZBTElEX1AyTV9FTlRSWSkKKwkJCXJldHVybjsKKwkJYWxsb2NfcDJtKCZwMm1fdG9wW3RvcGlkeF0sICZwMm1fdG9wX21mblt0b3BpZHhdKTsKKwl9CisKKwlpZHggPSBwMm1faW5kZXgocGZuKTsKKwlwMm1fdG9wW3RvcGlkeF1baWR4XSA9IG1mbjsKK30KKwogeG1hZGRyX3QgYXJiaXRyYXJ5X3ZpcnRfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCiB7CiAJdW5zaWduZWQgaW50IGxldmVsOwpAQCAtOTgsMjQgKzIyMyw2MCBAQAogfQogCiAKLXZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnB0ciwgcG1kX3QgdmFsKQorc3RhdGljIGJvb2wgcGFnZV9waW5uZWQodm9pZCAqcHRyKQoreworCXN0cnVjdCBwYWdlICpwYWdlID0gdmlydF90b19wYWdlKHB0cik7CisKKwlyZXR1cm4gUGFnZVBpbm5lZChwYWdlKTsKK30KKworc3RhdGljIHZvaWQgZXh0ZW5kX21tdV91cGRhdGUoY29uc3Qgc3RydWN0IG1tdV91cGRhdGUgKnVwZGF0ZSkKIHsKIAlzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIG1jczsKIAlzdHJ1Y3QgbW11X3VwZGF0ZSAqdTsKIAorCW1jcyA9IHhlbl9tY19leHRlbmRfYXJncyhfX0hZUEVSVklTT1JfbW11X3VwZGF0ZSwgc2l6ZW9mKCp1KSk7CisKKwlpZiAobWNzLm1jICE9IE5VTEwpCisJCW1jcy5tYy0+YXJnc1sxXSsrOworCWVsc2UgeworCQltY3MgPSBfX3hlbl9tY19lbnRyeShzaXplb2YoKnUpKTsKKwkJTVVMVElfbW11X3VwZGF0ZShtY3MubWMsIG1jcy5hcmdzLCAxLCBOVUxMLCBET01JRF9TRUxGKTsKKwl9CisKKwl1ID0gbWNzLmFyZ3M7CisJKnUgPSAqdXBkYXRlOworfQorCit2b2lkIHhlbl9zZXRfcG1kX2h5cGVyKHBtZF90ICpwdHIsIHBtZF90IHZhbCkKK3sKKwlzdHJ1Y3QgbW11X3VwZGF0ZSB1OworCiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAKLQltY3MgPSB4ZW5fbWNfZW50cnkoc2l6ZW9mKCp1KSk7Ci0JdSA9IG1jcy5hcmdzOwotCXUtPnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdHIpLm1hZGRyOwotCXUtPnZhbCA9IHBtZF92YWxfbWEodmFsKTsKLQlNVUxUSV9tbXVfdXBkYXRlKG1jcy5tYywgdSwgMSwgTlVMTCwgRE9NSURfU0VMRik7CisJeGVuX21jX2JhdGNoKCk7CisKKwl1LnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdHIpLm1hZGRyOworCXUudmFsID0gcG1kX3ZhbF9tYSh2YWwpOworCWV4dGVuZF9tbXVfdXBkYXRlKCZ1KTsKIAogCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX01NVSk7CiAKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQogCit2b2lkIHhlbl9zZXRfcG1kKHBtZF90ICpwdHIsIHBtZF90IHZhbCkKK3sKKwkvKiBJZiBwYWdlIGlzIG5vdCBwaW5uZWQsIHdlIGNhbiBqdXN0IHVwZGF0ZSB0aGUgZW50cnkKKwkgICBkaXJlY3RseSAqLworCWlmICghcGFnZV9waW5uZWQocHRyKSkgeworCQkqcHRyID0gdmFsOworCQlyZXR1cm47CisJfQorCisJeGVuX3NldF9wbWRfaHlwZXIocHRyLCB2YWwpOworfQorCiAvKgogICogQXNzb2NpYXRlIGEgdmlydHVhbCBwYWdlIGZyYW1lIHdpdGggYSBnaXZlbiBwaHlzaWNhbCBwYWdlIGZyYW1lCiAgKiBhbmQgcHJvdGVjdGlvbiBmbGFncyBmb3IgdGhhdCBmcmFtZS4KQEAgLTE3OSw2ICszNDAsMjYgQEAKIAkJcHJlZW1wdF9lbmFibGUoKTsKIH0KIAorcHRlX3QgeGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApCit7CisJLyogSnVzdCByZXR1cm4gdGhlIHB0ZSBhcy1pcy4gIFdlIHByZXNlcnZlIHRoZSBiaXRzIG9uIGNvbW1pdCAqLworCXJldHVybiAqcHRlcDsKK30KKwordm9pZCB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlzdHJ1Y3QgbW11X3VwZGF0ZSB1OworCisJeGVuX21jX2JhdGNoKCk7CisKKwl1LnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdGVwKS5tYWRkciB8IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQ7CisJdS52YWwgPSBwdGVfdmFsX21hKHB0ZSk7CisJZXh0ZW5kX21tdV91cGRhdGUoJnUpOworCisJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfTU1VKTsKK30KKwogLyogQXNzdW1lIHB0ZXZhbF90IGlzIGVxdWl2YWxlbnQgdG8gYWxsIHRoZSBvdGhlciAqdmFsX3QgdHlwZXMuICovCiBzdGF0aWMgcHRldmFsX3QgcHRlX21mbl90b19wZm4ocHRldmFsX3QgdmFsKQogewpAQCAtMjI5LDI0ICs0MTAsMzUgQEAKIAlyZXR1cm4gcHRlX21mbl90b19wZm4ocG1kLnBtZCk7CiB9CiAKLXZvaWQgeGVuX3NldF9wdWQocHVkX3QgKnB0ciwgcHVkX3QgdmFsKQordm9pZCB4ZW5fc2V0X3B1ZF9oeXBlcihwdWRfdCAqcHRyLCBwdWRfdCB2YWwpCiB7Ci0Jc3RydWN0IG11bHRpY2FsbF9zcGFjZSBtY3M7Ci0Jc3RydWN0IG1tdV91cGRhdGUgKnU7CisJc3RydWN0IG1tdV91cGRhdGUgdTsKIAogCXByZWVtcHRfZGlzYWJsZSgpOwogCi0JbWNzID0geGVuX21jX2VudHJ5KHNpemVvZigqdSkpOwotCXUgPSBtY3MuYXJnczsKLQl1LT5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRyKS5tYWRkcjsKLQl1LT52YWwgPSBwdWRfdmFsX21hKHZhbCk7Ci0JTVVMVElfbW11X3VwZGF0ZShtY3MubWMsIHUsIDEsIE5VTEwsIERPTUlEX1NFTEYpOworCXhlbl9tY19iYXRjaCgpOworCisJdS5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRyKS5tYWRkcjsKKwl1LnZhbCA9IHB1ZF92YWxfbWEodmFsKTsKKwlleHRlbmRfbW11X3VwZGF0ZSgmdSk7CiAKIAl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9NTVUpOwogCiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIAordm9pZCB4ZW5fc2V0X3B1ZChwdWRfdCAqcHRyLCBwdWRfdCB2YWwpCit7CisJLyogSWYgcGFnZSBpcyBub3QgcGlubmVkLCB3ZSBjYW4ganVzdCB1cGRhdGUgdGhlIGVudHJ5CisJICAgZGlyZWN0bHkgKi8KKwlpZiAoIXBhZ2VfcGlubmVkKHB0cikpIHsKKwkJKnB0ciA9IHZhbDsKKwkJcmV0dXJuOworCX0KKworCXhlbl9zZXRfcHVkX2h5cGVyKHB0ciwgdmFsKTsKK30KKwogdm9pZCB4ZW5fc2V0X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQogewogCXB0ZXAtPnB0ZV9oaWdoID0gcHRlLnB0ZV9oaWdoOwpAQCAtMjY4LDcgKzQ2MCw3IEBACiAKIHZvaWQgeGVuX3BtZF9jbGVhcihwbWRfdCAqcG1kcCkKIHsKLQl4ZW5fc2V0X3BtZChwbWRwLCBfX3BtZCgwKSk7CisJc2V0X3BtZChwbWRwLCBfX3BtZCgwKSk7CiB9CiAKIHBtZF90IHhlbl9tYWtlX3BtZChwbWR2YWxfdCBwbWQpCkBAIC00NDEsNiArNjMzLDI5IEBACiAJeGVuX21jX2lzc3VlKDApOwogfQogCisvKgorICogT24gc2F2ZSwgd2UgbmVlZCB0byBwaW4gYWxsIHBhZ2V0YWJsZXMgdG8gbWFrZSBzdXJlIHRoZXkgZ2V0IHRoZWlyCisgKiBtZm5zIHR1cm5lZCBpbnRvIHBmbnMuICBTZWFyY2ggdGhlIGxpc3QgZm9yIGFueSB1bnBpbm5lZCBwZ2RzIGFuZCBwaW4KKyAqIHRoZW0gKHVucGlubmVkIHBnZHMgYXJlIG5vdCBjdXJyZW50bHkgaW4gdXNlLCBwcm9iYWJseSBiZWNhdXNlIHRoZQorICogcHJvY2VzcyBpcyB1bmRlciBjb25zdHJ1Y3Rpb24gb3IgZGVzdHJ1Y3Rpb24pLgorICovCit2b2lkIHhlbl9tbV9waW5fYWxsKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgeworCQlpZiAoIVBhZ2VQaW5uZWQocGFnZSkpIHsKKwkJCXhlbl9wZ2RfcGluKChwZ2RfdCAqKXBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQlTZXRQYWdlU2F2ZVBpbm5lZChwYWdlKTsKKwkJfQorCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Cit9CisKIC8qIFRoZSBpbml0X21tIHBhZ2V0YWJsZSBpcyByZWFsbHkgcGlubmVkIGFzIHNvb24gYXMgaXRzIGNyZWF0ZWQsIGJ1dAogICAgdGhhdCdzIGJlZm9yZSB3ZSBoYXZlIHBhZ2Ugc3RydWN0dXJlcyB0byBzdG9yZSB0aGUgYml0cy4gIFNvIGRvIGFsbAogICAgdGhlIGJvb2sta2VlcGluZyBub3cuICovCkBAIC00OTgsNiArNzEzLDI5IEBACiAJeGVuX21jX2lzc3VlKDApOwogfQogCisvKgorICogT24gcmVzdW1lLCB1bmRvIGFueSBwaW5uaW5nIGRvbmUgYXQgc2F2ZSwgc28gdGhhdCB0aGUgcmVzdCBvZiB0aGUKKyAqIGtlcm5lbCBkb2Vzbid0IHNlZSBhbnkgdW5leHBlY3RlZCBwaW5uZWQgcGFnZXRhYmxlcy4KKyAqLwordm9pZCB4ZW5fbW1fdW5waW5fYWxsKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgeworCQlpZiAoUGFnZVNhdmVQaW5uZWQocGFnZSkpIHsKKwkJCUJVR19PTighUGFnZVBpbm5lZChwYWdlKSk7CisJCQlwcmludGsoInVucGlubmluZyBwaW5uZWQgJXBcbiIsIHBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQl4ZW5fcGdkX3VucGluKChwZ2RfdCAqKXBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQlDbGVhclBhZ2VTYXZlUGlubmVkKHBhZ2UpOworCQl9CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKK30KKwogdm9pZCB4ZW5fYWN0aXZhdGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqcHJldiwgc3RydWN0IG1tX3N0cnVjdCAqbmV4dCkKIHsKIAlzcGluX2xvY2soJm5leHQtPnBhZ2VfdGFibGVfbG9jayk7CkBAIC01NTgsNyArNzk2LDcgQEAKIAl9CiAKIAlpZiAoIWNwdXNfZW1wdHkobWFzaykpCi0JCXhlbl9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKG1hc2ssIGRyb3Bfb3RoZXJfbW1fcmVmLCBtbSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX21hc2sobWFzaywgZHJvcF9vdGhlcl9tbV9yZWYsIG1tLCAxKTsKIH0KICNlbHNlCiBzdGF0aWMgdm9pZCBkcm9wX21tX3JlZihzdHJ1Y3QgbW1fc3RydWN0ICptbSkKQEAgLTU5MSw3ICs4MjksNyBAQAogCXNwaW5fbG9jaygmbW0tPnBhZ2VfdGFibGVfbG9jayk7CiAKIAkvKiBwZ2QgbWF5IG5vdCBiZSBwaW5uZWQgaW4gdGhlIGVycm9yIGV4aXQgcGF0aCBvZiBleGVjdmUgKi8KLQlpZiAoUGFnZVBpbm5lZCh2aXJ0X3RvX3BhZ2UobW0tPnBnZCkpKQorCWlmIChwYWdlX3Bpbm5lZChtbS0+cGdkKSkKIAkJeGVuX3BnZF91bnBpbihtbS0+cGdkKTsKIAogCXNwaW5fdW5sb2NrKCZtbS0+cGFnZV90YWJsZV9sb2NrKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tbXUuaCBiL2FyY2gveDg2L3hlbi9tbXUuaAppbmRleCA1ZmU5NjFjLi4yOTdiZjlmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbW11LmgKKysrIGIvYXJjaC94ODYveGVuL21tdS5oCkBAIC0yNSwxMCArMjUsNiBAQAogCiB2b2lkIHNldF9wdGVfbWZuKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHVuc2lnbmVkIGxvbmcgcGZuLCBwZ3Byb3RfdCBmbGFncyk7CiAKLXZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7Ci12b2lkIHhlbl9zZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCi0JCSAgICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKTsKLXZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7CiAKIHZvaWQgeGVuX2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsIHN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpOwogdm9pZCB4ZW5fZHVwX21tYXAoc3RydWN0IG1tX3N0cnVjdCAqb2xkbW0sIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKQEAgLTQ1LDExICs0MSwxOSBAQAogcG1kX3QgeGVuX21ha2VfcG1kKHBtZHZhbF90KTsKIHBnZF90IHhlbl9tYWtlX3BnZChwZ2R2YWxfdCk7CiAKK3ZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7CiB2b2lkIHhlbl9zZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJCSAgICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKTsKIHZvaWQgeGVuX3NldF9wdGVfYXRvbWljKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpOwordm9pZCB4ZW5fc2V0X3BtZChwbWRfdCAqcG1kcCwgcG1kX3QgcG1kdmFsKTsKIHZvaWQgeGVuX3NldF9wdWQocHVkX3QgKnB0ciwgcHVkX3QgdmFsKTsKK3ZvaWQgeGVuX3NldF9wbWRfaHlwZXIocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7Cit2b2lkIHhlbl9zZXRfcHVkX2h5cGVyKHB1ZF90ICpwdHIsIHB1ZF90IHZhbCk7CiB2b2lkIHhlbl9wdGVfY2xlYXIoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwogdm9pZCB4ZW5fcG1kX2NsZWFyKHBtZF90ICpwbWRwKTsKIAorcHRlX3QgeGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwordm9pZCAgeGVuX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKKwogI2VuZGlmCS8qIF9YRU5fTU1VX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMgYi9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5jCmluZGV4IDU3OTFlYjIuLjNjNjNjNGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMKKysrIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuYwpAQCAtMjksMTQgKzI5LDE0IEBACiAjZGVmaW5lIE1DX0RFQlVHCTEKIAogI2RlZmluZSBNQ19CQVRDSAkzMgotI2RlZmluZSBNQ19BUkdTCQkoTUNfQkFUQ0ggKiAxNiAvIHNpemVvZih1NjQpKQorI2RlZmluZSBNQ19BUkdTCQkoTUNfQkFUQ0ggKiAxNikKIAogc3RydWN0IG1jX2J1ZmZlciB7CiAJc3RydWN0IG11bHRpY2FsbF9lbnRyeSBlbnRyaWVzW01DX0JBVENIXTsKICNpZiBNQ19ERUJVRwogCXN0cnVjdCBtdWx0aWNhbGxfZW50cnkgZGVidWdbTUNfQkFUQ0hdOwogI2VuZGlmCi0JdTY0IGFyZ3NbTUNfQVJHU107CisJdW5zaWduZWQgY2hhciBhcmdzW01DX0FSR1NdOwogCXN0cnVjdCBjYWxsYmFjayB7CiAJCXZvaWQgKCpmbikodm9pZCAqKTsKIAkJdm9pZCAqZGF0YTsKQEAgLTEwNywyMCArMTA3LDQ4IEBACiB7CiAJc3RydWN0IG1jX2J1ZmZlciAqYiA9ICZfX2dldF9jcHVfdmFyKG1jX2J1ZmZlcik7CiAJc3RydWN0IG11bHRpY2FsbF9zcGFjZSByZXQ7Ci0JdW5zaWduZWQgYXJnc3BhY2UgPSAoYXJncyArIHNpemVvZih1NjQpIC0gMSkgLyBzaXplb2YodTY0KTsKKwl1bnNpZ25lZCBhcmdpZHggPSByb3VuZHVwKGItPmFyZ2lkeCwgc2l6ZW9mKHU2NCkpOwogCiAJQlVHX09OKHByZWVtcHRpYmxlKCkpOwotCUJVR19PTihhcmdzcGFjZSA+IE1DX0FSR1MpOworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKIAogCWlmIChiLT5tY2lkeCA9PSBNQ19CQVRDSCB8fAotCSAgICAoYi0+YXJnaWR4ICsgYXJnc3BhY2UpID4gTUNfQVJHUykKKwkgICAgKGFyZ2lkeCArIGFyZ3MpID4gTUNfQVJHUykgewogCQl4ZW5fbWNfZmx1c2goKTsKKwkJYXJnaWR4ID0gcm91bmR1cChiLT5hcmdpZHgsIHNpemVvZih1NjQpKTsKKwl9CiAKIAlyZXQubWMgPSAmYi0+ZW50cmllc1tiLT5tY2lkeF07CiAJYi0+bWNpZHgrKzsKLQlyZXQuYXJncyA9ICZiLT5hcmdzW2ItPmFyZ2lkeF07Ci0JYi0+YXJnaWR4ICs9IGFyZ3NwYWNlOworCXJldC5hcmdzID0gJmItPmFyZ3NbYXJnaWR4XTsKKwliLT5hcmdpZHggPSBhcmdpZHggKyBhcmdzOwogCisJQlVHX09OKGItPmFyZ2lkeCA+IE1DX0FSR1MpOworCXJldHVybiByZXQ7Cit9CisKK3N0cnVjdCBtdWx0aWNhbGxfc3BhY2UgeGVuX21jX2V4dGVuZF9hcmdzKHVuc2lnbmVkIGxvbmcgb3AsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCBtY19idWZmZXIgKmIgPSAmX19nZXRfY3B1X3ZhcihtY19idWZmZXIpOworCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgcmV0ID0geyBOVUxMLCBOVUxMIH07CisKKwlCVUdfT04ocHJlZW1wdGlibGUoKSk7CisJQlVHX09OKGItPmFyZ2lkeCA+IE1DX0FSR1MpOworCisJaWYgKGItPm1jaWR4ID09IDApCisJCXJldHVybiByZXQ7CisKKwlpZiAoYi0+ZW50cmllc1tiLT5tY2lkeCAtIDFdLm9wICE9IG9wKQorCQlyZXR1cm4gcmV0OworCisJaWYgKChiLT5hcmdpZHggKyBzaXplKSA+IE1DX0FSR1MpCisJCXJldHVybiByZXQ7CisKKwlyZXQubWMgPSAmYi0+ZW50cmllc1tiLT5tY2lkeCAtIDFdOworCXJldC5hcmdzID0gJmItPmFyZ3NbYi0+YXJnaWR4XTsKKwliLT5hcmdpZHggKz0gc2l6ZTsKKworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuaAppbmRleCA4YmFlOTk2Li44NTg5MzgyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oCisrKyBiL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmgKQEAgLTQ1LDQgKzQ1LDE2IEBACiAvKiBTZXQgdXAgYSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY3VycmVudCBiYXRjaCBpcyBmbHVzaGVkICovCiB2b2lkIHhlbl9tY19jYWxsYmFjayh2b2lkICgqZm4pKHZvaWQgKiksIHZvaWQgKmRhdGEpOwogCisvKgorICogVHJ5IHRvIGV4dGVuZCB0aGUgYXJndW1lbnRzIG9mIHRoZSBwcmV2aW91cyBtdWx0aWNhbGwgY29tbWFuZC4gIFRoZQorICogcHJldmlvdXMgY29tbWFuZCdzIG9wIG11c3QgbWF0Y2guICBJZiBpdCBkb2VzLCB0aGVuIGl0IGF0dGVtcHRzIHRvCisgKiBleHRlbmQgdGhlIGFyZ3VtZW50IHNwYWNlIGFsbG9jYXRlZCB0byB0aGUgbXVsdGljYWxsIGVudHJ5IGJ5CisgKiBhcmdfc2l6ZSBieXRlcy4KKyAqCisgKiBUaGUgcmV0dXJuZWQgbXVsdGljYWxsX3NwYWNlIHdpbGwgcmV0dXJuIHdpdGggbWMgcG9pbnRpbmcgdG8gdGhlCisgKiBjb21tYW5kIG9uIHN1Y2Nlc3MsIG9yIE5VTEwgb24gZmFpbHVyZSwgYW5kIGFyZ3MgcG9pbnRpbmcgdG8gdGhlCisgKiBuZXdseSBhbGxvY2F0ZWQgc3BhY2UuCisgKi8KK3N0cnVjdCBtdWx0aWNhbGxfc3BhY2UgeGVuX21jX2V4dGVuZF9hcmdzKHVuc2lnbmVkIGxvbmcgb3AsIHNpemVfdCBhcmdfc2l6ZSk7CisKICNlbmRpZiAvKiBfWEVOX01VTFRJQ0FMTFNfSCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NldHVwLmMgYi9hcmNoL3g4Ni94ZW4vc2V0dXAuYwppbmRleCA4MjUxN2U0Li5lMGEzOTU5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vc2V0dXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc2V0dXAuYwpAQCAtMTMsOSArMTMsMTEgQEAKICNpbmNsdWRlIDxhc20vdmRzby5oPgogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2FjcGkuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgogCisjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2NhbGxiYWNrLmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5jbHVkZSA8eGVuL2ZlYXR1cmVzLmg+CkBAIC0yNyw4ICsyOSw2IEBACiBleHRlcm4gY29uc3QgY2hhciB4ZW5faHlwZXJ2aXNvcl9jYWxsYmFja1tdOwogZXh0ZXJuIGNvbnN0IGNoYXIgeGVuX2ZhaWxzYWZlX2NhbGxiYWNrW107CiAKLXVuc2lnbmVkIGxvbmcgKnBoeXNfdG9fbWFjaGluZV9tYXBwaW5nOwotRVhQT1JUX1NZTUJPTChwaHlzX3RvX21hY2hpbmVfbWFwcGluZyk7CiAKIC8qKgogICogbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAgLSBIb29rIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4KQEAgLTM4LDkgKzM4LDMxIEBACiB7CiAJdW5zaWduZWQgbG9uZyBtYXhfcGZuID0geGVuX3N0YXJ0X2luZm8tPm5yX3BhZ2VzOwogCisJbWF4X3BmbiA9IG1pbihNQVhfRE9NQUlOX1BBR0VTLCBtYXhfcGZuKTsKKwogCWU4MjAubnJfbWFwID0gMDsKLQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgUEZOX1BIWVMobWF4X3BmbiktSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKKworCWU4MjBfYWRkX3JlZ2lvbigwLCBQRk5fUEhZUyhtYXhfcGZuKSwgRTgyMF9SQU0pOworCisJLyoKKwkgKiBFdmVuIHRob3VnaCB0aGlzIGlzIG5vcm1hbCwgdXNhYmxlIG1lbW9yeSB1bmRlciBYZW4sIHJlc2VydmUKKwkgKiBJU0EgbWVtb3J5IGFueXdheSBiZWNhdXNlIHRvbyBtYW55IHRoaW5ncyB0aGluayB0aGV5IGNhbiBwb2tlCisJICogYWJvdXQgaW4gdGhlcmUuCisJICovCisJZTgyMF9hZGRfcmVnaW9uKElTQV9TVEFSVF9BRERSRVNTLCBJU0FfRU5EX0FERFJFU1MgLSBJU0FfU1RBUlRfQUREUkVTUywKKwkJCUU4MjBfUkVTRVJWRUQpOworCisJLyoKKwkgKiBSZXNlcnZlIFhlbiBiaXRzOgorCSAqICAtIG1mbl9saXN0CisJICogIC0geGVuX3N0YXJ0X2luZm8KKwkgKiBTZWUgY29tbWVudCBhYm92ZSAic3RydWN0IHN0YXJ0X2luZm8iIGluIDx4ZW4vaW50ZXJmYWNlL3hlbi5oPgorCSAqLworCWU4MjBfYWRkX3JlZ2lvbihfX3BhKHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCksCisJCQl4ZW5fc3RhcnRfaW5mby0+cHRfYmFzZSAtIHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCwKKwkJCUU4MjBfUkVTRVJWRUQpOworCisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOwogCiAJcmV0dXJuICJYZW4iOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NtcC5jIGIvYXJjaC94ODYveGVuL3NtcC5jCmluZGV4IDk0ZTY5MDAuLjIzMzE1NmYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9zbXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc21wLmMKQEAgLTM1LDI4ICszNSwxNSBAQAogI2luY2x1ZGUgInhlbi1vcHMuaCIKICNpbmNsdWRlICJtbXUuaCIKIAotc3RhdGljIGNwdW1hc2tfdCB4ZW5fY3B1X2luaXRpYWxpemVkX21hcDsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIHJlc2NoZWRfaXJxKSA9IC0xOwotc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgY2FsbGZ1bmNfaXJxKSA9IC0xOworY3B1bWFza190IHhlbl9jcHVfaW5pdGlhbGl6ZWRfbWFwOworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCByZXNjaGVkX2lycSk7CitzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCBjYWxsZnVuY19pcnEpOworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgY2FsbGZ1bmNzaW5nbGVfaXJxKTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGRlYnVnX2lycSkgPSAtMTsKIAotLyoKLSAqIFN0cnVjdHVyZSBhbmQgZGF0YSBmb3Igc21wX2NhbGxfZnVuY3Rpb24oKS4gVGhpcyBpcyBkZXNpZ25lZCB0byBtaW5pbWlzZQotICogc3RhdGljIG1lbW9yeSByZXF1aXJlbWVudHMuIEl0IGFsc28gbG9va3MgY2xlYW5lci4KLSAqLwotc3RhdGljIERFRklORV9TUElOTE9DSyhjYWxsX2xvY2spOwotCi1zdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWF0b21pY190IHN0YXJ0ZWQ7Ci0JYXRvbWljX3QgZmluaXNoZWQ7Ci0JaW50IHdhaXQ7Ci19OwotCiBzdGF0aWMgaXJxcmV0dXJuX3QgeGVuX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7Ci0KLXN0YXRpYyBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqY2FsbF9kYXRhOworc3RhdGljIGlycXJldHVybl90IHhlbl9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKTsKIAogLyoKICAqIFJlc2NoZWR1bGUgY2FsbCBiYWNrLiBOb3RoaW5nIHRvIGRvLApAQCAtNjUsNiArNTIsMTIgQEAKICAqLwogc3RhdGljIGlycXJldHVybl90IHhlbl9yZXNjaGVkdWxlX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9yZXNjaGVkX2NvdW50Kys7CisjZWxzZQorCWFkZF9wZGEoaXJxX3Jlc2NoZWRfY291bnQsIDEpOworI2VuZGlmCisKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTEyMiw2ICsxMTUsMTcgQEAKIAkJZ290byBmYWlsOwogCXBlcl9jcHUoZGVidWdfaXJxLCBjcHUpID0gcmM7CiAKKwljYWxsZnVuY19uYW1lID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsICJjYWxsZnVuY3NpbmdsZSVkIiwgY3B1KTsKKwlyYyA9IGJpbmRfaXBpX3RvX2lycWhhbmRsZXIoWEVOX0NBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUiwKKwkJCQkgICAgY3B1LAorCQkJCSAgICB4ZW5fY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0LAorCQkJCSAgICBJUlFGX0RJU0FCTEVEfElSUUZfUEVSQ1BVfElSUUZfTk9CQUxBTkNJTkcsCisJCQkJICAgIGNhbGxmdW5jX25hbWUsCisJCQkJICAgIE5VTEwpOworCWlmIChyYyA8IDApCisJCWdvdG8gZmFpbDsKKwlwZXJfY3B1KGNhbGxmdW5jc2luZ2xlX2lycSwgY3B1KSA9IHJjOworCiAJcmV0dXJuIDA7CiAKICBmYWlsOgpAQCAtMTMxLDYgKzEzNSw5IEBACiAJCXVuYmluZF9mcm9tX2lycWhhbmRsZXIocGVyX2NwdShjYWxsZnVuY19pcnEsIGNwdSksIE5VTEwpOwogCWlmIChwZXJfY3B1KGRlYnVnX2lycSwgY3B1KSA+PSAwKQogCQl1bmJpbmRfZnJvbV9pcnFoYW5kbGVyKHBlcl9jcHUoZGVidWdfaXJxLCBjcHUpLCBOVUxMKTsKKwlpZiAocGVyX2NwdShjYWxsZnVuY3NpbmdsZV9pcnEsIGNwdSkgPj0gMCkKKwkJdW5iaW5kX2Zyb21faXJxaGFuZGxlcihwZXJfY3B1KGNhbGxmdW5jc2luZ2xlX2lycSwgY3B1KSwgTlVMTCk7CisKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTMzMCw3ICszMzcsNyBAQAogCiB2b2lkIHhlbl9zbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc3RvcF9zZWxmLCBOVUxMLCAwLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3NlbGYsIE5VTEwsIDApOwogfQogCiB2b2lkIHhlbl9zbXBfc2VuZF9yZXNjaGVkdWxlKGludCBjcHUpCkBAIC0zMzgsNyArMzQ1LDYgQEAKIAl4ZW5fc2VuZF9JUElfb25lKGNwdSwgWEVOX1JFU0NIRURVTEVfVkVDVE9SKTsKIH0KIAotCiBzdGF0aWMgdm9pZCB4ZW5fc2VuZF9JUElfbWFzayhjcHVtYXNrX3QgbWFzaywgZW51bSBpcGlfdmVjdG9yIHZlY3RvcikKIHsKIAl1bnNpZ25lZCBjcHU7CkBAIC0zNDksODMgKzM1NSw0MiBAQAogCQl4ZW5fc2VuZF9JUElfb25lKGNwdSwgdmVjdG9yKTsKIH0KIAordm9pZCB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spCit7CisJaW50IGNwdTsKKworCXhlbl9zZW5kX0lQSV9tYXNrKG1hc2ssIFhFTl9DQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7CisKKwkvKiBNYWtlIHN1cmUgb3RoZXIgdmNwdXMgZ2V0IGEgY2hhbmNlIHRvIHJ1biBpZiB0aGV5IG5lZWQgdG8uICovCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWlmICh4ZW5fdmNwdV9zdG9sZW4oY3B1KSkgeworCQkJSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX3lpZWxkLCAwKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQorCit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSkKK3sKKwl4ZW5fc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBYRU5fQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SKTsKK30KKwogc3RhdGljIGlycXJldHVybl90IHhlbl9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCWludCB3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCi0JLyoKLQkgKiBOb3RpZnkgaW5pdGlhdGluZyBDUFUgdGhhdCBJJ3ZlIGdyYWJiZWQgdGhlIGRhdGEgYW5kIGFtCi0JICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24KLQkgKi8KLQltYigpOwotCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+c3RhcnRlZCk7Ci0JLyoKLQkgKiBBdCB0aGlzIHBvaW50IHRoZSBpbmZvIHN0cnVjdHVyZSBtYXkgYmUgb3V0IG9mIHNjb3BlIHVubGVzcyB3YWl0PT0xCi0JICovCiAJaXJxX2VudGVyKCk7Ci0JKCpmdW5jKShpbmZvKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CiAJaXJxX2V4aXQoKTsKIAotCWlmICh3YWl0KSB7Ci0JCW1iKCk7CQkvKiBjb21taXQgZXZlcnl0aGluZyBiZWZvcmUgc2V0dGluZyBmaW5pc2hlZCAqLwotCQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPmZpbmlzaGVkKTsKLQl9Ci0KIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCAoKmZ1bmMpKHZvaWQgKiksCi0JCQkgICAgICAgdm9pZCAqaW5mbywgaW50IHdhaXQpCitzdGF0aWMgaXJxcmV0dXJuX3QgeGVuX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1cywgY3B1OwotCWJvb2wgeWllbGQ7CisJaXJxX2VudGVyKCk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJX19nZXRfY3B1X3ZhcihpcnFfc3RhdCkuaXJxX2NhbGxfY291bnQrKzsKKwlpcnFfZXhpdCgpOwogCi0JLyogSG9sZGluZyBhbnkgbG9jayBzdG9wcyBjcHVzIGZyb20gZ29pbmcgZG93bi4gKi8KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7Ci0KLQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXNrKTsKLQotCWNwdXMgPSBjcHVzX3dlaWdodChtYXNrKTsKLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7CQkJLyogd3JpdGUgZXZlcnl0aGluZyBiZWZvcmUgSVBJICovCi0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBvdGhlciBDUFVzIGFuZCB3YWl0IGZvciB0aGVtIHRvIHJlc3BvbmQgKi8KLQl4ZW5fc2VuZF9JUElfbWFzayhtYXNrLCBYRU5fQ0FMTF9GVU5DVElPTl9WRUNUT1IpOwotCi0JLyogTWFrZSBzdXJlIG90aGVyIHZjcHVzIGdldCBhIGNoYW5jZSB0byBydW4gaWYgdGhleSBuZWVkIHRvLiAqLwotCXlpZWxkID0gZmFsc2U7Ci0JZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKQotCQlpZiAoeGVuX3ZjcHVfc3RvbGVuKGNwdSkpCi0JCQl5aWVsZCA9IHRydWU7Ci0KLQlpZiAoeWllbGQpCi0JCUhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF95aWVsZCwgMCk7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzIHx8Ci0JICAgICAgICh3YWl0ICYmIGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBjcHVzKSkKLQkJY3B1X3JlbGF4KCk7Ci0KLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOworCXJldHVybiBJUlFfSEFORExFRDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9zdXNwZW5kLmMgYi9hcmNoL3g4Ni94ZW4vc3VzcGVuZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1MTY2OWEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni94ZW4vc3VzcGVuZC5jCkBAIC0wLDAgKzEsNDUgQEAKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisKKyNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgorI2luY2x1ZGUgPGFzbS94ZW4vcGFnZS5oPgorCisjaW5jbHVkZSAieGVuLW9wcy5oIgorI2luY2x1ZGUgIm1tdS5oIgorCit2b2lkIHhlbl9wcmVfc3VzcGVuZCh2b2lkKQoreworCXhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4gPSBtZm5fdG9fcGZuKHhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4pOworCXhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0KKwkJbWZuX3RvX3Bmbih4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisKKwlCVUdfT04oIWlycXNfZGlzYWJsZWQoKSk7CisKKwlIWVBFUlZJU09SX3NoYXJlZF9pbmZvID0gJnhlbl9kdW1teV9zaGFyZWRfaW5mbzsKKwlpZiAoSFlQRVJWSVNPUl91cGRhdGVfdmFfbWFwcGluZyhmaXhfdG9fdmlydChGSVhfUEFSQVZJUlRfQk9PVE1BUCksCisJCQkJCSBfX3B0ZV9tYSgwKSwgMCkpCisJCUJVRygpOworfQorCit2b2lkIHhlbl9wb3N0X3N1c3BlbmQoaW50IHN1c3BlbmRfY2FuY2VsbGVkKQoreworCXhlbl9zZXR1cF9zaGFyZWRfaW5mbygpOworCisJaWYgKHN1c3BlbmRfY2FuY2VsbGVkKSB7CisJCXhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4gPQorCQkJcGZuX3RvX21mbih4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuKTsKKwkJeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4gPQorCQkJcGZuX3RvX21mbih4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisJfSBlbHNlIHsKKyNpZmRlZiBDT05GSUdfU01QCisJCXhlbl9jcHVfaW5pdGlhbGl6ZWRfbWFwID0gY3B1X29ubGluZV9tYXA7CisjZW5kaWYKKwkJeGVuX3ZjcHVfcmVzdG9yZSgpOworCQl4ZW5fdGltZXJfcmVzdW1lKCk7CisJfQorCit9CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi90aW1lLmMgYi9hcmNoL3g4Ni94ZW4vdGltZS5jCmluZGV4IDQxZTIxNzUuLjY4NWI3NzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi90aW1lLmMKKysrIGIvYXJjaC94ODYveGVuL3RpbWUuYwpAQCAtMTk3LDggKzE5Nyw4IEBACiB9CiAKIAotLyogR2V0IHRoZSBDUFUgc3BlZWQgZnJvbSBYZW4gKi8KLXVuc2lnbmVkIGxvbmcgeGVuX2NwdV9raHoodm9pZCkKKy8qIEdldCB0aGUgVFNDIHNwZWVkIGZyb20gWGVuICovCit1bnNpZ25lZCBsb25nIHhlbl90c2Nfa2h6KHZvaWQpCiB7CiAJdTY0IHhlbl9raHogPSAxMDAwMDAwVUxMIDw8IDMyOwogCWNvbnN0IHN0cnVjdCBwdmNsb2NrX3ZjcHVfdGltZV9pbmZvICppbmZvID0KQEAgLTQ1OSw2ICs0NTksMTkgQEAKIAljbG9ja2V2ZW50c19yZWdpc3Rlcl9kZXZpY2UoJl9fZ2V0X2NwdV92YXIoeGVuX2Nsb2NrX2V2ZW50cykpOwogfQogCit2b2lkIHhlbl90aW1lcl9yZXN1bWUodm9pZCkKK3sKKwlpbnQgY3B1OworCisJaWYgKHhlbl9jbG9ja2V2ZW50ICE9ICZ4ZW5fdmNwdW9wX2Nsb2NrZXZlbnQpCisJCXJldHVybjsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCWlmIChIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3N0b3BfcGVyaW9kaWNfdGltZXIsIGNwdSwgTlVMTCkpCisJCQlCVUcoKTsKKwl9Cit9CisKIF9faW5pdCB2b2lkIHhlbl90aW1lX2luaXQodm9pZCkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMgYi9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUwppbmRleCA2ZWMzYjRmLi43YzBjZjYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUworKysgYi9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUwpAQCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8YXNtL2Jvb3QuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaD4KKyNpbmNsdWRlIDxhc20veGVuL2ludGVyZmFjZS5oPgogCiAJX19JTklUCiBFTlRSWShzdGFydHVwX3hlbikKQEAgLTMyLDUgKzMzLDkgQEAKIAlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfRkVBVFVSRVMsICAgICAgIC5hc2NpeiAiIXdyaXRhYmxlX3BhZ2VfdGFibGVzfHBhZV9wZ2Rpcl9hYm92ZV80Z2IiKQogCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9QQUVfTU9ERSwgICAgICAgLmFzY2l6ICJ5ZXMiKQogCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9MT0FERVIsICAgICAgICAgLmFzY2l6ICJnZW5lcmljIikKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfTDFfTUZOX1ZBTElELAorCQkucXVhZCBfUEFHRV9QUkVTRU5UOyAucXVhZCBfUEFHRV9QUkVTRU5UKQorCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9TVVNQRU5EX0NBTkNFTCwgLmxvbmcgMSkKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfSFZfU1RBUlRfTE9XLCAgIC5sb25nIF9fSFlQRVJWSVNPUl9WSVJUX1NUQVJUKQogCiAjZW5kaWYgLypDT05GSUdfWEVOICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4veGVuLW9wcy5oIGIvYXJjaC94ODYveGVuL3hlbi1vcHMuaAppbmRleCBmMTA2M2FlLi42ZjRiMTA0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4veGVuLW9wcy5oCisrKyBiL2FyY2gveDg2L3hlbi94ZW4tb3BzLmgKQEAgLTksMjYgKzksMzUgQEAKIGV4dGVybiBjb25zdCBjaGFyIHhlbl9oeXBlcnZpc29yX2NhbGxiYWNrW107CiBleHRlcm4gY29uc3QgY2hhciB4ZW5fZmFpbHNhZmVfY2FsbGJhY2tbXTsKIAorc3RydWN0IHRyYXBfaW5mbzsKIHZvaWQgeGVuX2NvcHlfdHJhcF9pbmZvKHN0cnVjdCB0cmFwX2luZm8gKnRyYXBzKTsKIAogREVDTEFSRV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIHhlbl9jcjMpOwogREVDTEFSRV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIHhlbl9jdXJyZW50X2NyMyk7CiAKIGV4dGVybiBzdHJ1Y3Qgc3RhcnRfaW5mbyAqeGVuX3N0YXJ0X2luZm87CitleHRlcm4gc3RydWN0IHNoYXJlZF9pbmZvIHhlbl9kdW1teV9zaGFyZWRfaW5mbzsKIGV4dGVybiBzdHJ1Y3Qgc2hhcmVkX2luZm8gKkhZUEVSVklTT1Jfc2hhcmVkX2luZm87CiAKK3ZvaWQgeGVuX3NldHVwX21mbl9saXN0X2xpc3Qodm9pZCk7Cit2b2lkIHhlbl9zZXR1cF9zaGFyZWRfaW5mbyh2b2lkKTsKKwogY2hhciAqIF9faW5pdCB4ZW5fbWVtb3J5X3NldHVwKHZvaWQpOwogdm9pZCBfX2luaXQgeGVuX2FyY2hfc2V0dXAodm9pZCk7CiB2b2lkIF9faW5pdCB4ZW5faW5pdF9JUlEodm9pZCk7CiB2b2lkIHhlbl9lbmFibGVfc3lzZW50ZXIodm9pZCk7Cit2b2lkIHhlbl92Y3B1X3Jlc3RvcmUodm9pZCk7CisKK3ZvaWQgX19pbml0IHhlbl9idWlsZF9keW5hbWljX3BoeXNfdG9fbWFjaGluZSh2b2lkKTsKIAogdm9pZCB4ZW5fc2V0dXBfdGltZXIoaW50IGNwdSk7CiB2b2lkIHhlbl9zZXR1cF9jcHVfY2xvY2tldmVudHModm9pZCk7Ci11bnNpZ25lZCBsb25nIHhlbl9jcHVfa2h6KHZvaWQpOwordW5zaWduZWQgbG9uZyB4ZW5fdHNjX2toeih2b2lkKTsKIHZvaWQgX19pbml0IHhlbl90aW1lX2luaXQodm9pZCk7CiB1bnNpZ25lZCBsb25nIHhlbl9nZXRfd2FsbGNsb2NrKHZvaWQpOwogaW50IHhlbl9zZXRfd2FsbGNsb2NrKHVuc2lnbmVkIGxvbmcgdGltZSk7CiB1bnNpZ25lZCBsb25nIGxvbmcgeGVuX3NjaGVkX2Nsb2NrKHZvaWQpOwordm9pZCB4ZW5fdGltZXJfcmVzdW1lKHZvaWQpOwogCiBpcnFyZXR1cm5fdCB4ZW5fZGVidWdfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7CiAKQEAgLTQ2LDEzICs1NSwxMCBAQAogCiB2b2lkIHhlbl9zbXBfc2VuZF9zdG9wKHZvaWQpOwogdm9pZCB4ZW5fc21wX3NlbmRfcmVzY2hlZHVsZShpbnQgY3B1KTsKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb24gKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQkgICBpbnQgd2FpdCk7Ci1pbnQgeGVuX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCk7Cit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7Cit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CiAKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCAoKmZ1bmMpKHZvaWQgKiksCi0JCQkgICAgICAgdm9pZCAqaW5mbywgaW50IHdhaXQpOworZXh0ZXJuIGNwdW1hc2tfdCB4ZW5fY3B1X2luaXRpYWxpemVkX21hcDsKIAogCiAvKiBEZWNsYXJlIGFuIGFzbSBmdW5jdGlvbiwgYWxvbmcgd2l0aCBzeW1ib2xzIG5lZWRlZCB0byBtYWtlIGl0CmRpZmYgLS1naXQgYS9ibG9jay9LY29uZmlnIGIvYmxvY2svS2NvbmZpZwppbmRleCAzZTk3ZjJiLi4xYWI3YzE1IDEwMDY0NAotLS0gYS9ibG9jay9LY29uZmlnCisrKyBiL2Jsb2NrL0tjb25maWcKQEAgLTgxLDYgKzgxLDE4IEBACiAKIAkgIElmIHVuc3VyZSwgc2F5IE4uCiAKK2NvbmZpZyBCTEtfREVWX0lOVEVHUklUWQorCWJvb2wgIkJsb2NrIGxheWVyIGRhdGEgaW50ZWdyaXR5IHN1cHBvcnQiCisJLS0taGVscC0tLQorCVNvbWUgc3RvcmFnZSBkZXZpY2VzIGFsbG93IGV4dHJhIGluZm9ybWF0aW9uIHRvIGJlCisJc3RvcmVkL3JldHJpZXZlZCB0byBoZWxwIHByb3RlY3QgdGhlIGRhdGEuICBUaGUgYmxvY2sgbGF5ZXIKKwlkYXRhIGludGVncml0eSBvcHRpb24gcHJvdmlkZXMgaG9va3Mgd2hpY2ggY2FuIGJlIHVzZWQgYnkKKwlmaWxlc3lzdGVtcyB0byBlbnN1cmUgYmV0dGVyIGRhdGEgaW50ZWdyaXR5LgorCisJU2F5IHllcyBoZXJlIGlmIHlvdSBoYXZlIGEgc3RvcmFnZSBkZXZpY2UgdGhhdCBwcm92aWRlcyB0aGUKKwlUMTAvU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCBvciB0aGUgVDEzL0FUQSBFeHRlcm5hbCBQYXRoCisJUHJvdGVjdGlvbi4gIElmIGluIGRvdWJ0LCBzYXkgTi4KKwogZW5kaWYgIyBCTE9DSwogCiBjb25maWcgQkxPQ0tfQ09NUEFUCmRpZmYgLS1naXQgYS9ibG9jay9NYWtlZmlsZSBiL2Jsb2NrL01ha2VmaWxlCmluZGV4IDVhNDNjN2QuLjIwODAwMGIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL01ha2VmaWxlCisrKyBiL2Jsb2NrL01ha2VmaWxlCkBAIC00LDcgKzQsOCBAQAogCiBvYmotJChDT05GSUdfQkxPQ0spIDo9IGVsZXZhdG9yLm8gYmxrLWNvcmUubyBibGstdGFnLm8gYmxrLXN5c2ZzLm8gXAogCQkJYmxrLWJhcnJpZXIubyBibGstc2V0dGluZ3MubyBibGstaW9jLm8gYmxrLW1hcC5vIFwKLQkJCWJsay1leGVjLm8gYmxrLW1lcmdlLm8gaW9jdGwubyBnZW5oZC5vIHNjc2lfaW9jdGwubworCQkJYmxrLWV4ZWMubyBibGstbWVyZ2UubyBpb2N0bC5vIGdlbmhkLm8gc2NzaV9pb2N0bC5vIFwKKwkJCWNtZC1maWx0ZXIubwogCiBvYmotJChDT05GSUdfQkxLX0RFVl9CU0cpCSs9IGJzZy5vCiBvYmotJChDT05GSUdfSU9TQ0hFRF9OT09QKQkrPSBub29wLWlvc2NoZWQubwpAQCAtMTQsMyArMTUsNCBAQAogCiBvYmotJChDT05GSUdfQkxLX0RFVl9JT19UUkFDRSkJKz0gYmxrdHJhY2Uubwogb2JqLSQoQ09ORklHX0JMT0NLX0NPTVBBVCkJKz0gY29tcGF0X2lvY3RsLm8KK29iai0kKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkJKz0gYmxrLWludGVncml0eS5vCmRpZmYgLS1naXQgYS9ibG9jay9hcy1pb3NjaGVkLmMgYi9ibG9jay9hcy1pb3NjaGVkLmMKaW5kZXggNzQzZjMzYS4uOTczNWFjYiAxMDA2NDQKLS0tIGEvYmxvY2svYXMtaW9zY2hlZC5jCisrKyBiL2Jsb2NrL2FzLWlvc2NoZWQuYwpAQCAtMTUxLDYgKzE1MSw3IEBACiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBpb2NfY291bnQpOwogc3RhdGljIHN0cnVjdCBjb21wbGV0aW9uICppb2NfZ29uZTsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soaW9jX2dvbmVfbG9jayk7CiAKIHN0YXRpYyB2b2lkIGFzX21vdmVfdG9fZGlzcGF0Y2goc3RydWN0IGFzX2RhdGEgKmFkLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpOwogc3RhdGljIHZvaWQgYXNfYW50aWNfc3RvcChzdHJ1Y3QgYXNfZGF0YSAqYWQpOwpAQCAtMTY0LDggKzE2NSwxOSBAQAogewogCWtmcmVlKGFpYyk7CiAJZWx2X2lvY19jb3VudF9kZWMoaW9jX2NvdW50KTsKLQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQljb21wbGV0ZShpb2NfZ29uZSk7CisJaWYgKGlvY19nb25lKSB7CisJCS8qCisJCSAqIEFTIHNjaGVkdWxlciBpcyBleGl0aW5nLCBncmFiIGV4aXQgbG9jayBhbmQgY2hlY2sKKwkJICogdGhlIHBlbmRpbmcgaW8gY29udGV4dCBjb3VudC4gSWYgaXQgaGl0cyB6ZXJvLAorCQkgKiBjb21wbGV0ZSBpb2NfZ29uZSBhbmQgc2V0IGl0IGJhY2sgdG8gTlVMTC4KKwkJICovCisJCXNwaW5fbG9jaygmaW9jX2dvbmVfbG9jayk7CisJCWlmIChpb2NfZ29uZSAmJiAhZWx2X2lvY19jb3VudF9yZWFkKGlvY19jb3VudCkpIHsKKwkJCWNvbXBsZXRlKGlvY19nb25lKTsKKwkJCWlvY19nb25lID0gTlVMTDsKKwkJfQorCQlzcGluX3VubG9jaygmaW9jX2dvbmVfbG9jayk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBhc190cmltKHN0cnVjdCBpb19jb250ZXh0ICppb2MpCkBAIC0xNDkzLDcgKzE1MDUsNyBAQAogCS8qIGlvY19nb25lJ3MgdXBkYXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgcmVhZGluZyBpb2NfY291bnQgKi8KIAlzbXBfd21iKCk7CiAJaWYgKGVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQl3YWl0X2Zvcl9jb21wbGV0aW9uKGlvY19nb25lKTsKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmYWxsX2dvbmUpOwogCXN5bmNocm9uaXplX3JjdSgpOwogfQogCmRpZmYgLS1naXQgYS9ibG9jay9ibGstY29yZS5jIGIvYmxvY2svYmxrLWNvcmUuYwppbmRleCAxOTA1YWFiLi5mZWY3OWNjIDEwMDY0NAotLS0gYS9ibG9jay9ibGstY29yZS5jCisrKyBiL2Jsb2NrL2Jsay1jb3JlLmMKQEAgLTE0Myw2ICsxNDMsMTAgQEAKIAogCQliaW8tPmJpX3NpemUgLT0gbmJ5dGVzOwogCQliaW8tPmJpX3NlY3RvciArPSAobmJ5dGVzID4+IDkpOworCisJCWlmIChiaW9faW50ZWdyaXR5KGJpbykpCisJCQliaW9faW50ZWdyaXR5X2FkdmFuY2UoYmlvLCBuYnl0ZXMpOworCiAJCWlmIChiaW8tPmJpX3NpemUgPT0gMCkKIAkJCWJpb19lbmRpbyhiaW8sIGVycm9yKTsKIAl9IGVsc2UgewpAQCAtMjAxLDggKzIwNSw3IEBACiAJaWYgKGJsa19xdWV1ZV9zdG9wcGVkKHEpKQogCQlyZXR1cm47CiAKLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQlfX3NldF9iaXQoUVVFVUVfRkxBR19QTFVHR0VELCAmcS0+cXVldWVfZmxhZ3MpOworCWlmICghcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQoUVVFVUVfRkxBR19QTFVHR0VELCBxKSkgewogCQltb2RfdGltZXIoJnEtPnVucGx1Z190aW1lciwgamlmZmllcyArIHEtPnVucGx1Z19kZWxheSk7CiAJCWJsa19hZGRfdHJhY2VfZ2VuZXJpYyhxLCBOVUxMLCAwLCBCTEtfVEFfUExVRyk7CiAJfQpAQCAtMjE3LDEwICsyMjAsOSBAQAogewogCVdBUk5fT04oIWlycXNfZGlzYWJsZWQoKSk7CiAKLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKSkKKwlpZiAoIXF1ZXVlX2ZsYWdfdGVzdF9hbmRfY2xlYXIoUVVFVUVfRkxBR19QTFVHR0VELCBxKSkKIAkJcmV0dXJuIDA7CiAKLQlxdWV1ZV9mbGFnX2NsZWFyKFFVRVVFX0ZMQUdfUExVR0dFRCwgcSk7CiAJZGVsX3RpbWVyKCZxLT51bnBsdWdfdGltZXIpOwogCXJldHVybiAxOwogfQpAQCAtMzI0LDggKzMyNiw3IEBACiAJICogb25lIGxldmVsIG9mIHJlY3Vyc2lvbiBpcyBvayBhbmQgaXMgbXVjaCBmYXN0ZXIgdGhhbiBraWNraW5nCiAJICogdGhlIHVucGx1ZyBoYW5kbGluZwogCSAqLwotCWlmICghdGVzdF9iaXQoUVVFVUVfRkxBR19SRUVOVEVSLCAmcS0+cXVldWVfZmxhZ3MpKSB7Ci0JCXF1ZXVlX2ZsYWdfc2V0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgcSk7CisJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpKSB7CiAJCXEtPnJlcXVlc3RfZm4ocSk7CiAJCXF1ZXVlX2ZsYWdfY2xlYXIoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKIAl9IGVsc2UgewpAQCAtMzkwLDggKzM5MSw3IEBACiAJICogaGFuZGxpbmcgcmVpbnZva2UgdGhlIGhhbmRsZXIgc2hvcnRseSBpZiB3ZSBhbHJlYWR5IGdvdCB0aGVyZS4KIAkgKi8KIAlpZiAoIWVsdl9xdWV1ZV9lbXB0eShxKSkgewotCQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQkJcXVldWVfZmxhZ19zZXQoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKKwkJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpKSB7CiAJCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCQkJcXVldWVfZmxhZ19jbGVhcihRVUVVRV9GTEFHX1JFRU5URVIsIHEpOwogCQl9IGVsc2UgewpAQCAtMTA0MiwxNSArMTA0Miw5IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IHJlcS0+cTsKIAotCS8qCi0JICogR2VlLCBJREUgY2FsbHMgaW4gdy8gTlVMTCBxLiAgRml4IElERSBhbmQgcmVtb3ZlIHRoZQotCSAqIGZvbGxvd2luZyBpZiAocSkgdGVzdC4KLQkgKi8KLQlpZiAocSkgewotCQlzcGluX2xvY2tfaXJxc2F2ZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7Ci0JCV9fYmxrX3B1dF9yZXF1ZXN0KHEsIHJlcSk7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOwotCX0KKwlzcGluX2xvY2tfaXJxc2F2ZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7CisJX19ibGtfcHV0X3JlcXVlc3QocSwgcmVxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKHEtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0woYmxrX3B1dF9yZXF1ZXN0KTsKIApAQCAtMTM4MSw2ICsxMzc1LDkgQEAKIAkJICovCiAJCWJsa19wYXJ0aXRpb25fcmVtYXAoYmlvKTsKIAorCQlpZiAoYmlvX2ludGVncml0eV9lbmFibGVkKGJpbykgJiYgYmlvX2ludGVncml0eV9wcmVwKGJpbykpCisJCQlnb3RvIGVuZF9pbzsKKwogCQlpZiAob2xkX3NlY3RvciAhPSAtMSkKIAkJCWJsa19hZGRfdHJhY2VfcmVtYXAocSwgYmlvLCBvbGRfZGV2LCBiaW8tPmJpX3NlY3RvciwKIAkJCQkJICAgIG9sZF9zZWN0b3IpOwpAQCAtMjA0NSw3ICsyMDQyLDcgQEAKIAlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkKIAkJSU5JVF9MSVNUX0hFQUQoJnBlcl9jcHUoYmxrX2NwdV9kb25lLCBpKSk7CiAKLQlvcGVuX3NvZnRpcnEoQkxPQ0tfU09GVElSUSwgYmxrX2RvbmVfc29mdGlycSwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKEJMT0NLX1NPRlRJUlEsIGJsa19kb25lX3NvZnRpcnEpOwogCXJlZ2lzdGVyX2hvdGNwdV9ub3RpZmllcigmYmxrX2NwdV9ub3RpZmllcik7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsay1leGVjLmMgYi9ibG9jay9ibGstZXhlYy5jCmluZGV4IDM5MWRkNjIuLjliY2VmZjcgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1leGVjLmMKKysrIGIvYmxvY2svYmxrLWV4ZWMuYwpAQCAtMTgsNyArMTgsNyBAQAogICogQHJxOiByZXF1ZXN0IHRvIGNvbXBsZXRlCiAgKiBAZXJyb3I6IGVuZCBpbyBzdGF0dXMgb2YgdGhlIHJlcXVlc3QKICAqLwotdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpCitzdGF0aWMgdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpCiB7CiAJc3RydWN0IGNvbXBsZXRpb24gKndhaXRpbmcgPSBycS0+ZW5kX2lvX2RhdGE7CiAKQEAgLTMxLDcgKzMxLDYgQEAKIAkgKi8KIAljb21wbGV0ZSh3YWl0aW5nKTsKIH0KLUVYUE9SVF9TWU1CT0woYmxrX2VuZF9zeW5jX3JxKTsKIAogLyoqCiAgKiBibGtfZXhlY3V0ZV9ycV9ub3dhaXQgLSBpbnNlcnQgYSByZXF1ZXN0IGludG8gcXVldWUgZm9yIGV4ZWN1dGlvbgpAQCAtNTgsNiArNTcsOSBAQAogCXNwaW5fbG9ja19pcnEocS0+cXVldWVfbG9jayk7CiAJX19lbHZfYWRkX3JlcXVlc3QocSwgcnEsIHdoZXJlLCAxKTsKIAlfX2dlbmVyaWNfdW5wbHVnX2RldmljZShxKTsKKwkvKiB0aGUgcXVldWUgaXMgc3RvcHBlZCBzbyBpdCB3b24ndCBiZSBwbHVnZ2VkK3VucGx1Z2dlZCAqLworCWlmIChibGtfcG1fcmVzdW1lX3JlcXVlc3QocnEpKQorCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCXNwaW5fdW5sb2NrX2lycShxLT5xdWV1ZV9sb2NrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGJsa19leGVjdXRlX3JxX25vd2FpdCk7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstaW50ZWdyaXR5LmMgYi9ibG9jay9ibGstaW50ZWdyaXR5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxYTg0NwotLS0gL2Rldi9udWxsCisrKyBiL2Jsb2NrL2Jsay1pbnRlZ3JpdHkuYwpAQCAtMCwwICsxLDM4MSBAQAorLyoKKyAqIGJsay1pbnRlZ3JpdHkuYyAtIEJsb2NrIGxheWVyIGRhdGEgaW50ZWdyaXR5IGV4dGVuc2lvbnMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggT3JhY2xlIENvcnBvcmF0aW9uCisgKiBXcml0dGVuIGJ5OiBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24KKyAqIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LAorICogVVNBLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvbWVtcG9vbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgorI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CisKKyNpbmNsdWRlICJibGsuaCIKKworc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICppbnRlZ3JpdHlfY2FjaGVwOworCisvKioKKyAqIGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2cgLSBDb3VudCBudW1iZXIgb2YgaW50ZWdyaXR5IHNjYXR0ZXJsaXN0IGVsZW1lbnRzCisgKiBAcnE6CQlyZXF1ZXN0IHdpdGggaW50ZWdyaXR5IG1ldGFkYXRhIGF0dGFjaGVkCisgKgorICogRGVzY3JpcHRpb246IFJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyByZXF1aXJlZCBpbiBhCisgKiBzY2F0dGVybGlzdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gYSByZXF1ZXN0LgorICovCitpbnQgYmxrX3JxX2NvdW50X2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqcnEpCit7CisJc3RydWN0IGJpb192ZWMgKml2LCAqaXZwcnY7CisJc3RydWN0IHJlcV9pdGVyYXRvciBpdGVyOworCXVuc2lnbmVkIGludCBzZWdtZW50czsKKworCWl2cHJ2ID0gTlVMTDsKKwlzZWdtZW50cyA9IDA7CisKKwlycV9mb3JfZWFjaF9pbnRlZ3JpdHlfc2VnbWVudChpdiwgcnEsIGl0ZXIpIHsKKworCQlpZiAoIWl2cHJ2IHx8ICFCSU9WRUNfUEhZU19NRVJHRUFCTEUoaXZwcnYsIGl2KSkKKwkJCXNlZ21lbnRzKys7CisKKwkJaXZwcnYgPSBpdjsKKwl9CisKKwlyZXR1cm4gc2VnbWVudHM7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2cpOworCisvKioKKyAqIGJsa19ycV9tYXBfaW50ZWdyaXR5X3NnIC0gTWFwIGludGVncml0eSBtZXRhZGF0YSBpbnRvIGEgc2NhdHRlcmxpc3QKKyAqIEBycToJCXJlcXVlc3Qgd2l0aCBpbnRlZ3JpdHkgbWV0YWRhdGEgYXR0YWNoZWQKKyAqIEBzZ2xpc3Q6CXRhcmdldCBzY2F0dGVybGlzdAorICoKKyAqIERlc2NyaXB0aW9uOiBNYXAgdGhlIGludGVncml0eSB2ZWN0b3JzIGluIHJlcXVlc3QgaW50byBhCisgKiBzY2F0dGVybGlzdC4gIFRoZSBzY2F0dGVybGlzdCBtdXN0IGJlIGJpZyBlbm91Z2ggdG8gaG9sZCBhbGwKKyAqIGVsZW1lbnRzLiAgSS5lLiBzaXplZCB1c2luZyBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKCkuCisgKi8KK2ludCBibGtfcnFfbWFwX2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqcnEsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0KQoreworCXN0cnVjdCBiaW9fdmVjICppdiwgKml2cHJ2OworCXN0cnVjdCByZXFfaXRlcmF0b3IgaXRlcjsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXVuc2lnbmVkIGludCBzZWdtZW50czsKKworCWl2cHJ2ID0gTlVMTDsKKwlzZyA9IE5VTEw7CisJc2VnbWVudHMgPSAwOworCisJcnFfZm9yX2VhY2hfaW50ZWdyaXR5X3NlZ21lbnQoaXYsIHJxLCBpdGVyKSB7CisKKwkJaWYgKGl2cHJ2KSB7CisJCQlpZiAoIUJJT1ZFQ19QSFlTX01FUkdFQUJMRShpdnBydiwgaXYpKQorCQkJCWdvdG8gbmV3X3NlZ21lbnQ7CisKKwkJCXNnLT5sZW5ndGggKz0gaXYtPmJ2X2xlbjsKKwkJfSBlbHNlIHsKK25ld19zZWdtZW50OgorCQkJaWYgKCFzZykKKwkJCQlzZyA9IHNnbGlzdDsKKwkJCWVsc2UgeworCQkJCXNnLT5wYWdlX2xpbmsgJj0gfjB4MDI7CisJCQkJc2cgPSBzZ19uZXh0KHNnKTsKKwkJCX0KKworCQkJc2dfc2V0X3BhZ2Uoc2csIGl2LT5idl9wYWdlLCBpdi0+YnZfbGVuLCBpdi0+YnZfb2Zmc2V0KTsKKwkJCXNlZ21lbnRzKys7CisJCX0KKworCQlpdnBydiA9IGl2OworCX0KKworCWlmIChzZykKKwkJc2dfbWFya19lbmQoc2cpOworCisJcmV0dXJuIHNlZ21lbnRzOworfQorRVhQT1JUX1NZTUJPTChibGtfcnFfbWFwX2ludGVncml0eV9zZyk7CisKKy8qKgorICogYmxrX2ludGVncml0eV9jb21wYXJlIC0gQ29tcGFyZSBpbnRlZ3JpdHkgcHJvZmlsZSBvZiB0d28gYmxvY2sgZGV2aWNlcworICogQGIxOgkJRGV2aWNlIHRvIGNvbXBhcmUKKyAqIEBiMjoJCURldmljZSB0byBjb21wYXJlCisgKgorICogRGVzY3JpcHRpb246IE1ldGEtZGV2aWNlcyBsaWtlIERNIGFuZCBNRCBuZWVkIHRvIHZlcmlmeSB0aGF0IGFsbAorICogc3ViLWRldmljZXMgdXNlIHRoZSBzYW1lIGludGVncml0eSBmb3JtYXQgYmVmb3JlIGFkdmVydGlzaW5nIHRvCisgKiB1cHBlciBsYXllcnMgdGhhdCB0aGV5IGNhbiBzZW5kL3JlY2VpdmUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhpcworICogZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gY2hlY2sgd2hldGhlciB0d28gYmxvY2sgZGV2aWNlcyBoYXZlCisgKiBjb21wYXRpYmxlIGludGVncml0eSBmb3JtYXRzLgorICovCitpbnQgYmxrX2ludGVncml0eV9jb21wYXJlKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkMSwgc3RydWN0IGJsb2NrX2RldmljZSAqYmQyKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiMSA9IGJkMS0+YmRfZGlzay0+aW50ZWdyaXR5OworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiMiA9IGJkMi0+YmRfZGlzay0+aW50ZWdyaXR5OworCisJQlVHX09OKGJkMS0+YmRfZGlzayA9PSBOVUxMKTsKKwlCVUdfT04oYmQyLT5iZF9kaXNrID09IE5VTEwpOworCisJaWYgKCFiMSB8fCAhYjIpCisJCXJldHVybiAwOworCisJaWYgKGIxLT5zZWN0b3Jfc2l6ZSAhPSBiMi0+c2VjdG9yX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgc2VjdG9yIHN6ICV1ICE9ICV1XG4iLCBfX2Z1bmNfXywKKwkJICAgICAgIGJkMS0+YmRfZGlzay0+ZGlza19uYW1lLCBiZDItPmJkX2Rpc2stPmRpc2tfbmFtZSwKKwkJICAgICAgIGIxLT5zZWN0b3Jfc2l6ZSwgYjItPnNlY3Rvcl9zaXplKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChiMS0+dHVwbGVfc2l6ZSAhPSBiMi0+dHVwbGVfc2l6ZSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiAlcy8lcyB0dXBsZSBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+dHVwbGVfc2l6ZSwgYjItPnR1cGxlX3NpemUpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGIxLT50YWdfc2l6ZSAmJiBiMi0+dGFnX3NpemUgJiYgKGIxLT50YWdfc2l6ZSAhPSBiMi0+dGFnX3NpemUpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6ICVzLyVzIHRhZyBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+dGFnX3NpemUsIGIyLT50YWdfc2l6ZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoc3RyY21wKGIxLT5uYW1lLCBiMi0+bmFtZSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgdHlwZSAlcyAhPSAlc1xuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+bmFtZSwgYjItPm5hbWUpOworCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfY29tcGFyZSk7CisKK3N0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgeworCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsKKwlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGJsa19pbnRlZ3JpdHkgKiwgY2hhciAqKTsKKwlzc2l6ZV90ICgqc3RvcmUpKHN0cnVjdCBibGtfaW50ZWdyaXR5ICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKK307CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgY2hhciAqcGFnZSkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCXN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgKmVudHJ5ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnksIGF0dHIpOworCisJcmV0dXJuIGVudHJ5LT5zaG93KGJpLCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X2F0dHJfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNvbnN0IGNoYXIgKnBhZ2UsCisJCQkJICAgIHNpemVfdCBjb3VudCkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCXN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgKmVudHJ5ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnksIGF0dHIpOworCXNzaXplX3QgcmV0ID0gMDsKKworCWlmIChlbnRyeS0+c3RvcmUpCisJCXJldCA9IGVudHJ5LT5zdG9yZShiaSwgcGFnZSwgY291bnQpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X2Zvcm1hdF9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlpZiAoYmkgIT0gTlVMTCAmJiBiaS0+bmFtZSAhPSBOVUxMKQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIGJpLT5uYW1lKTsKKwllbHNlCisJCXJldHVybiBzcHJpbnRmKHBhZ2UsICJub25lXG4iKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3RhZ19zaXplX3Nob3coc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpLCBjaGFyICpwYWdlKQoreworCWlmIChiaSAhPSBOVUxMKQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXVcbiIsIGJpLT50YWdfc2l6ZSk7CisJZWxzZQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiMFxuIik7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9yZWFkX3N0b3JlKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkgICAgY29uc3QgY2hhciAqcGFnZSwgc2l6ZV90IGNvdW50KQoreworCWNoYXIgKnAgPSAoY2hhciAqKSBwYWdlOworCXVuc2lnbmVkIGxvbmcgdmFsID0gc2ltcGxlX3N0cnRvdWwocCwgJnAsIDEwKTsKKworCWlmICh2YWwpCisJCWJpLT5mbGFncyB8PSBJTlRFR1JJVFlfRkxBR19SRUFEOworCWVsc2UKKwkJYmktPmZsYWdzICY9IH5JTlRFR1JJVFlfRkxBR19SRUFEOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfcmVhZF9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJWRcbiIsIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19SRUFEKSAhPSAwKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3dyaXRlX3N0b3JlKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwljaGFyICpwID0gKGNoYXIgKikgcGFnZTsKKwl1bnNpZ25lZCBsb25nIHZhbCA9IHNpbXBsZV9zdHJ0b3VsKHAsICZwLCAxMCk7CisKKwlpZiAodmFsKQorCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfV1JJVEU7CisJZWxzZQorCQliaS0+ZmxhZ3MgJj0gfklOVEVHUklUWV9GTEFHX1dSSVRFOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfd3JpdGVfc2hvdyhzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVkXG4iLCAoYmktPmZsYWdzICYgSU5URUdSSVRZX0ZMQUdfV1JJVEUpICE9IDApOworfQorCitzdGF0aWMgc3RydWN0IGludGVncml0eV9zeXNmc19lbnRyeSBpbnRlZ3JpdHlfZm9ybWF0X2VudHJ5ID0geworCS5hdHRyID0geyAubmFtZSA9ICJmb3JtYXQiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IGludGVncml0eV9mb3JtYXRfc2hvdywKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV90YWdfc2l6ZV9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAidGFnX3NpemUiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IGludGVncml0eV90YWdfc2l6ZV9zaG93LAorfTsKKworc3RhdGljIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgaW50ZWdyaXR5X3JlYWRfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gInJlYWRfdmVyaWZ5IiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gaW50ZWdyaXR5X3JlYWRfc2hvdywKKwkuc3RvcmUgPSBpbnRlZ3JpdHlfcmVhZF9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV93cml0ZV9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAid3JpdGVfZ2VuZXJhdGUiLCAubW9kZSA9IFNfSVJVR08gfCBTX0lXVVNSIH0sCisJLnNob3cgPSBpbnRlZ3JpdHlfd3JpdGVfc2hvdywKKwkuc3RvcmUgPSBpbnRlZ3JpdHlfd3JpdGVfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaW50ZWdyaXR5X2F0dHJzW10gPSB7CisJJmludGVncml0eV9mb3JtYXRfZW50cnkuYXR0ciwKKwkmaW50ZWdyaXR5X3RhZ19zaXplX2VudHJ5LmF0dHIsCisJJmludGVncml0eV9yZWFkX2VudHJ5LmF0dHIsCisJJmludGVncml0eV93cml0ZV9lbnRyeS5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyBpbnRlZ3JpdHlfb3BzID0geworCS5zaG93CT0gJmludGVncml0eV9hdHRyX3Nob3csCisJLnN0b3JlCT0gJmludGVncml0eV9hdHRyX3N0b3JlLAorfTsKKworc3RhdGljIGludCBfX2luaXQgYmxrX2Rldl9pbnRlZ3JpdHlfaW5pdCh2b2lkKQoreworCWludGVncml0eV9jYWNoZXAgPSBrbWVtX2NhY2hlX2NyZWF0ZSgiYmxrZGV2X2ludGVncml0eSIsCisJCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBibGtfaW50ZWdyaXR5KSwKKwkJCQkJICAgICAwLCBTTEFCX1BBTklDLCBOVUxMKTsKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChibGtfZGV2X2ludGVncml0eV9pbml0KTsKKworc3RhdGljIHZvaWQgYmxrX2ludGVncml0eV9yZWxlYXNlKHN0cnVjdCBrb2JqZWN0ICprb2JqKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9CisJCWNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgYmxrX2ludGVncml0eSwga29iaik7CisKKwlrbWVtX2NhY2hlX2ZyZWUoaW50ZWdyaXR5X2NhY2hlcCwgYmkpOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSBpbnRlZ3JpdHlfa3R5cGUgPSB7CisJLmRlZmF1bHRfYXR0cnMJPSBpbnRlZ3JpdHlfYXR0cnMsCisJLnN5c2ZzX29wcwk9ICZpbnRlZ3JpdHlfb3BzLAorCS5yZWxlYXNlCT0gYmxrX2ludGVncml0eV9yZWxlYXNlLAorfTsKKworLyoqCisgKiBibGtfaW50ZWdyaXR5X3JlZ2lzdGVyIC0gUmVnaXN0ZXIgYSBnZW5kaXNrIGFzIGJlaW5nIGludGVncml0eS1jYXBhYmxlCisgKiBAZGlzazoJc3RydWN0IGdlbmRpc2sgcG9pbnRlciB0byBtYWtlIGludGVncml0eS1hd2FyZQorICogQHRlbXBsYXRlOglpbnRlZ3JpdHkgcHJvZmlsZQorICoKKyAqIERlc2NyaXB0aW9uOiBXaGVuIGEgZGV2aWNlIG5lZWRzIHRvIGFkdmVydGlzZSBpdHNlbGYgYXMgYmVpbmcgYWJsZQorICogdG8gc2VuZC9yZWNlaXZlIGludGVncml0eSBtZXRhZGF0YSBpdCBtdXN0IHVzZSB0aGlzIGZ1bmN0aW9uIHRvCisgKiByZWdpc3RlciB0aGUgY2FwYWJpbGl0eSB3aXRoIHRoZSBibG9jayBsYXllci4gIFRoZSB0ZW1wbGF0ZSBpcyBhCisgKiBibGtfaW50ZWdyaXR5IHN0cnVjdCB3aXRoIHZhbHVlcyBhcHByb3ByaWF0ZSBmb3IgdGhlIHVuZGVybHlpbmcKKyAqIGhhcmR3YXJlLiAgU2VlIERvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0LgorICovCitpbnQgYmxrX2ludGVncml0eV9yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaywgc3RydWN0IGJsa19pbnRlZ3JpdHkgKnRlbXBsYXRlKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKworCUJVR19PTihkaXNrID09IE5VTEwpOworCUJVR19PTih0ZW1wbGF0ZSA9PSBOVUxMKTsKKworCWlmIChkaXNrLT5pbnRlZ3JpdHkgPT0gTlVMTCkgeworCQliaSA9IGttZW1fY2FjaGVfYWxsb2MoaW50ZWdyaXR5X2NhY2hlcCwKKwkJCQkJCUdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKTsKKwkJaWYgKCFiaSkKKwkJCXJldHVybiAtMTsKKworCQlpZiAoa29iamVjdF9pbml0X2FuZF9hZGQoJmJpLT5rb2JqLCAmaW50ZWdyaXR5X2t0eXBlLAorCQkJCQkgJmRpc2stPmRldi5rb2JqLCAiJXMiLCAiaW50ZWdyaXR5IikpIHsKKwkJCWttZW1fY2FjaGVfZnJlZShpbnRlZ3JpdHlfY2FjaGVwLCBiaSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlrb2JqZWN0X3VldmVudCgmYmktPmtvYmosIEtPQkpfQUREKTsKKworCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfUkVBRCB8IElOVEVHUklUWV9GTEFHX1dSSVRFOworCQliaS0+c2VjdG9yX3NpemUgPSBkaXNrLT5xdWV1ZS0+aGFyZHNlY3Rfc2l6ZTsKKwkJZGlzay0+aW50ZWdyaXR5ID0gYmk7CisJfSBlbHNlCisJCWJpID0gZGlzay0+aW50ZWdyaXR5OworCisJLyogVXNlIHRoZSBwcm92aWRlZCBwcm9maWxlIGFzIHRlbXBsYXRlICovCisJYmktPm5hbWUgPSB0ZW1wbGF0ZS0+bmFtZTsKKwliaS0+Z2VuZXJhdGVfZm4gPSB0ZW1wbGF0ZS0+Z2VuZXJhdGVfZm47CisJYmktPnZlcmlmeV9mbiA9IHRlbXBsYXRlLT52ZXJpZnlfZm47CisJYmktPnR1cGxlX3NpemUgPSB0ZW1wbGF0ZS0+dHVwbGVfc2l6ZTsKKwliaS0+c2V0X3RhZ19mbiA9IHRlbXBsYXRlLT5zZXRfdGFnX2ZuOworCWJpLT5nZXRfdGFnX2ZuID0gdGVtcGxhdGUtPmdldF90YWdfZm47CisJYmktPnRhZ19zaXplID0gdGVtcGxhdGUtPnRhZ19zaXplOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIpOworCisvKioKKyAqIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlciAtIFJlbW92ZSBibG9jayBpbnRlZ3JpdHkgcHJvZmlsZQorICogQGRpc2s6CWRpc2sgd2hvc2UgaW50ZWdyaXR5IHByb2ZpbGUgdG8gZGVhbGxvY2F0ZQorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIGZyZWVzIGFsbCBtZW1vcnkgdXNlZCBieSB0aGUgYmxvY2sKKyAqIGludGVncml0eSBwcm9maWxlLiAgVG8gYmUgY2FsbGVkIGF0IGRldmljZSB0ZWFyZG93bi4KKyAqLwordm9pZCBibGtfaW50ZWdyaXR5X3VucmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpOworCisJaWYgKCFkaXNrIHx8ICFkaXNrLT5pbnRlZ3JpdHkpCisJCXJldHVybjsKKworCWJpID0gZGlzay0+aW50ZWdyaXR5OworCisJa29iamVjdF91ZXZlbnQoJmJpLT5rb2JqLCBLT0JKX1JFTU9WRSk7CisJa29iamVjdF9kZWwoJmJpLT5rb2JqKTsKKwlrb2JqZWN0X3B1dCgmZGlzay0+ZGV2LmtvYmopOworCWttZW1fY2FjaGVfZnJlZShpbnRlZ3JpdHlfY2FjaGVwLCBiaSk7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfdW5yZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstbWFwLmMgYi9ibG9jay9ibGstbWFwLmMKaW5kZXggMGIxYWY1YS4uZGRkOTZmYiAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLW1hcC5jCisrKyBiL2Jsb2NrL2Jsay1tYXAuYwpAQCAtMjEwLDYgKzIxMCw3IEBACiAJaWYgKCFiaW9fZmxhZ2dlZChiaW8sIEJJT19VU0VSX01BUFBFRCkpCiAJCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX0NPUFlfVVNFUjsKIAorCWJsa19xdWV1ZV9ib3VuY2UocSwgJmJpbyk7CiAJYmlvX2dldChiaW8pOwogCWJsa19ycV9iaW9fcHJlcChxLCBycSwgYmlvKTsKIAlycS0+YnVmZmVyID0gcnEtPmRhdGEgPSBOVUxMOwpAQCAtMjY4LDYgKzI2OSw3IEBACiAJaW50IHJlYWRpbmcgPSBycV9kYXRhX2RpcihycSkgPT0gUkVBRDsKIAlpbnQgZG9fY29weSA9IDA7CiAJc3RydWN0IGJpbyAqYmlvOworCXVuc2lnbmVkIGxvbmcgc3RhY2tfbWFzayA9IH4oVEhSRUFEX1NJWkUgLSAxKTsKIAogCWlmIChsZW4gPiAocS0+bWF4X2h3X3NlY3RvcnMgPDwgOSkpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMjc4LDYgKzI4MCwxMCBAQAogCWFsaWdubWVudCA9IHF1ZXVlX2RtYV9hbGlnbm1lbnQocSkgfCBxLT5kbWFfcGFkX21hc2s7CiAJZG9fY29weSA9ICgoa2FkZHIgJiBhbGlnbm1lbnQpIHx8IChsZW4gJiBhbGlnbm1lbnQpKTsKIAorCWlmICghKChrYWRkciAmIHN0YWNrX21hc2spIF4KKwkgICAgICAoKHVuc2lnbmVkIGxvbmcpY3VycmVudC0+c3RhY2sgJiBzdGFja19tYXNrKSkpCisJCWRvX2NvcHkgPSAxOworCiAJaWYgKGRvX2NvcHkpCiAJCWJpbyA9IGJpb19jb3B5X2tlcm4ocSwga2J1ZiwgbGVuLCBnZnBfbWFzaywgcmVhZGluZyk7CiAJZWxzZQpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLW1lcmdlLmMgYi9ibG9jay9ibGstbWVyZ2UuYwppbmRleCA2NTExMzZhLi41ZWZjOWU3IDEwMDY0NAotLS0gYS9ibG9jay9ibGstbWVyZ2UuYworKysgYi9ibG9jay9ibGstbWVyZ2UuYwpAQCAtNDQxLDYgKzQ0MSw5IEBACiAJICAgIHx8IG5leHQtPnNwZWNpYWwpCiAJCXJldHVybiAwOwogCisJaWYgKGJsa19pbnRlZ3JpdHlfcnEocmVxKSAhPSBibGtfaW50ZWdyaXR5X3JxKG5leHQpKQorCQlyZXR1cm4gMDsKKwogCS8qCiAJICogSWYgd2UgYXJlIGFsbG93ZWQgdG8gbWVyZ2UsIHRoZW4gYXBwZW5kIGJpbyBsaXN0CiAJICogZnJvbSBuZXh0IHRvIHJxIGFuZCByZWxlYXNlIG5leHQuIG1lcmdlX3JlcXVlc3RzX2ZuCmRpZmYgLS1naXQgYS9ibG9jay9ibGstc2V0dGluZ3MuYyBiL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCmluZGV4IDhkZDg2NDEuLmRmYzc3MDEgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCisrKyBiL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCkBAIC0zMDIsMTEgKzMwMiwxMCBAQAogICogQHE6ICAgICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQogICogQG1hc2s6ICBwYWQgbWFzawogICoKLSAqIFNldCBwYWQgbWFzay4gIERpcmVjdCBJTyByZXF1ZXN0cyBhcmUgcGFkZGVkIHRvIHRoZSBtYXNrIHNwZWNpZmllZC4KKyAqIFNldCBkbWEgcGFkIG1hc2suCiAgKgotICogQXBwZW5kaW5nIHBhZCBidWZmZXIgdG8gYSByZXF1ZXN0IG1vZGlmaWVzIC0+ZGF0YV9sZW4gc3VjaCB0aGF0IGl0Ci0gKiBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4gIFRoZSBvcmlnaW5hbCByZXF1ZXN0ZWQgZGF0YSBsZW5ndGggY2FuIGJlCi0gKiBvYnRhaW5lZCB1c2luZyBibGtfcnFfcmF3X2RhdGFfbGVuKCkuCisgKiBBcHBlbmRpbmcgcGFkIGJ1ZmZlciB0byBhIHJlcXVlc3QgbW9kaWZpZXMgdGhlIGxhc3QgZW50cnkgb2YgYQorICogc2NhdHRlciBsaXN0IHN1Y2ggdGhhdCBpdCBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4KICAqKi8KIHZvaWQgYmxrX3F1ZXVlX2RtYV9wYWQoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHVuc2lnbmVkIGludCBtYXNrKQogewpAQCAtMzE1LDYgKzMxNCwyMyBAQAogRVhQT1JUX1NZTUJPTChibGtfcXVldWVfZG1hX3BhZCk7CiAKIC8qKgorICogYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkIC0gdXBkYXRlIHBhZCBtYXNrCisgKiBAcTogICAgIHRoZSByZXF1ZXN0IHF1ZXVlIGZvciB0aGUgZGV2aWNlCisgKiBAbWFzazogIHBhZCBtYXNrCisgKgorICogVXBkYXRlIGRtYSBwYWQgbWFzay4KKyAqCisgKiBBcHBlbmRpbmcgcGFkIGJ1ZmZlciB0byBhIHJlcXVlc3QgbW9kaWZpZXMgdGhlIGxhc3QgZW50cnkgb2YgYQorICogc2NhdHRlciBsaXN0IHN1Y2ggdGhhdCBpdCBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4KKyAqKi8KK3ZvaWQgYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgbWFzaykKK3sKKwlpZiAobWFzayA+IHEtPmRtYV9wYWRfbWFzaykKKwkJcS0+ZG1hX3BhZF9tYXNrID0gbWFzazsKK30KK0VYUE9SVF9TWU1CT0woYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKTsKKworLyoqCiAgKiBibGtfcXVldWVfZG1hX2RyYWluIC0gU2V0IHVwIGEgZHJhaW4gYnVmZmVyIGZvciBleGNlc3MgZG1hLgogICogQHE6ICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQogICogQGRtYV9kcmFpbl9uZWVkZWQ6IGZuIHdoaWNoIHJldHVybnMgbm9uLXplcm8gaWYgZHJhaW4gaXMgbmVjZXNzYXJ5CmRpZmYgLS1naXQgYS9ibG9jay9ibGsuaCBiL2Jsb2NrL2Jsay5oCmluZGV4IDU5Nzc2YWIuLmM3OWYzMGUgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay5oCisrKyBiL2Jsb2NrL2Jsay5oCkBAIC01MSw0ICs1MSwxMiBAQAogCXJldHVybiBxLT5ucl9jb25nZXN0aW9uX29mZjsKIH0KIAorI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCisjZGVmaW5lIHJxX2Zvcl9lYWNoX2ludGVncml0eV9zZWdtZW50KGJ2bCwgX3JxLCBfaXRlcikJCVwKKwlfX3JxX2Zvcl9lYWNoX2JpbyhfaXRlci5iaW8sIF9ycSkJCQlcCisJCWJpcF9mb3JfZWFjaF92ZWMoYnZsLCBfaXRlci5iaW8tPmJpX2ludGVncml0eSwgX2l0ZXIuaSkKKworI2VuZGlmIC8qIEJMS19ERVZfSU5URUdSSVRZICovCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrdHJhY2UuYyBiL2Jsb2NrL2Jsa3RyYWNlLmMKaW5kZXggOGQzYTI3Ny4uZWI5NjUxYyAxMDA2NDQKLS0tIGEvYmxvY2svYmxrdHJhY2UuYworKysgYi9ibG9jay9ibGt0cmFjZS5jCkBAIC0yNDQsNiArMjQ0LDcgQEAKIHN0YXRpYyB2b2lkIGJsa190cmFjZV9jbGVhbnVwKHN0cnVjdCBibGtfdHJhY2UgKmJ0KQogewogCXJlbGF5X2Nsb3NlKGJ0LT5yY2hhbik7CisJZGVidWdmc19yZW1vdmUoYnQtPm1zZ19maWxlKTsKIAlkZWJ1Z2ZzX3JlbW92ZShidC0+ZHJvcHBlZF9maWxlKTsKIAlibGtfcmVtb3ZlX3RyZWUoYnQtPmRpcik7CiAJZnJlZV9wZXJjcHUoYnQtPnNlcXVlbmNlKTsKQEAgLTI5MSw2ICsyOTIsNDQgQEAKIAkucmVhZCA9CQlibGtfZHJvcHBlZF9yZWFkLAogfTsKIAorc3RhdGljIGludCBibGtfbXNnX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJZmlscC0+cHJpdmF0ZV9kYXRhID0gaW5vZGUtPmlfcHJpdmF0ZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBibGtfbXNnX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAorCQkJCXNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgKm1zZzsKKwlzdHJ1Y3QgYmxrX3RyYWNlICpidDsKKworCWlmIChjb3VudCA+IEJMS19UTl9NQVhfTVNHKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1zZyA9IGttYWxsb2MoY291bnQsIEdGUF9LRVJORUwpOworCWlmIChtc2cgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoY29weV9mcm9tX3VzZXIobXNnLCBidWZmZXIsIGNvdW50KSkgeworCQlrZnJlZShtc2cpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlidCA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwlfX3RyYWNlX25vdGVfbWVzc2FnZShidCwgIiVzIiwgbXNnKTsKKwlrZnJlZShtc2cpOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBibGtfbXNnX2ZvcHMgPSB7CisJLm93bmVyID0JVEhJU19NT0RVTEUsCisJLm9wZW4gPQkJYmxrX21zZ19vcGVuLAorCS53cml0ZSA9CWJsa19tc2dfd3JpdGUsCit9OworCiAvKgogICogS2VlcCB0cmFjayBvZiBob3cgbWFueSB0aW1lcyB3ZSBlbmNvdW50ZXJlZCBhIGZ1bGwgc3ViYnVmZmVyLCB0byBhaWQKICAqIHRoZSB1c2VyIHNwYWNlIGFwcCBpbiB0ZWxsaW5nIGhvdyBtYW55IGxvc3QgZXZlbnRzIHRoZXJlIHdlcmUuCkBAIC0zODAsNiArNDE5LDEwIEBACiAJaWYgKCFidC0+ZHJvcHBlZF9maWxlKQogCQlnb3RvIGVycjsKIAorCWJ0LT5tc2dfZmlsZSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoIm1zZyIsIDAyMjIsIGRpciwgYnQsICZibGtfbXNnX2ZvcHMpOworCWlmICghYnQtPm1zZ19maWxlKQorCQlnb3RvIGVycjsKKwogCWJ0LT5yY2hhbiA9IHJlbGF5X29wZW4oInRyYWNlIiwgZGlyLCBidXRzLT5idWZfc2l6ZSwKIAkJCQlidXRzLT5idWZfbnIsICZibGtfcmVsYXlfY2FsbGJhY2tzLCBidCk7CiAJaWYgKCFidC0+cmNoYW4pCkBAIC00MDksNiArNDUyLDggQEAKIAlpZiAoZGlyKQogCQlibGtfcmVtb3ZlX3RyZWUoZGlyKTsKIAlpZiAoYnQpIHsKKwkJaWYgKGJ0LT5tc2dfZmlsZSkKKwkJCWRlYnVnZnNfcmVtb3ZlKGJ0LT5tc2dfZmlsZSk7CiAJCWlmIChidC0+ZHJvcHBlZF9maWxlKQogCQkJZGVidWdmc19yZW1vdmUoYnQtPmRyb3BwZWRfZmlsZSk7CiAJCWZyZWVfcGVyY3B1KGJ0LT5zZXF1ZW5jZSk7CmRpZmYgLS1naXQgYS9ibG9jay9ic2cuYyBiL2Jsb2NrL2JzZy5jCmluZGV4IGYwYjdjZDMuLjBiM2IyODIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2JzZy5jCisrKyBiL2Jsb2NrL2JzZy5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CiAjaW5jbHVkZSA8bGludXgvYnNnLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaV9pb2N0bC5oPgpAQCAtNDQsMTEgKzQ1LDEyIEBACiAJY2hhciBuYW1lW0JVU19JRF9TSVpFXTsKIAlpbnQgbWF4X3F1ZXVlOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmNtZF9maWx0ZXI7CisJbW9kZV90ICpmX21vZGU7CiB9OwogCiBlbnVtIHsKIAlCU0dfRl9CTE9DSwkJPSAxLAotCUJTR19GX1dSSVRFX1BFUk0JPSAyLAogfTsKIAogI2RlZmluZSBCU0dfREVGQVVMVF9DTURTCTY0CkBAIC0xNzIsNyArMTc0LDcgQEAKIH0KIAogc3RhdGljIGludCBibGtfZmlsbF9zZ3Y0X2hkcl9ycShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxLAotCQkJCXN0cnVjdCBzZ19pb192NCAqaGRyLCBpbnQgaGFzX3dyaXRlX3Blcm0pCisJCQkJc3RydWN0IHNnX2lvX3Y0ICpoZHIsIHN0cnVjdCBic2dfZGV2aWNlICpiZCkKIHsKIAlpZiAoaGRyLT5yZXF1ZXN0X2xlbiA+IEJMS19NQVhfQ0RCKSB7CiAJCXJxLT5jbWQgPSBremFsbG9jKGhkci0+cmVxdWVzdF9sZW4sIEdGUF9LRVJORUwpOwpAQCAtMTg1LDcgKzE4Nyw4IEBACiAJCXJldHVybiAtRUZBVUxUOwogCiAJaWYgKGhkci0+c3VicHJvdG9jb2wgPT0gQlNHX1NVQl9QUk9UT0NPTF9TQ1NJX0NNRCkgewotCQlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKHJxLT5jbWQsIGhhc193cml0ZV9wZXJtKSkKKwkJaWYgKGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKGJkLT5jbWRfZmlsdGVyLCBycS0+Y21kLAorCQkJCQkJIGJkLT5mX21vZGUpKQogCQkJcmV0dXJuIC1FUEVSTTsKIAl9IGVsc2UgaWYgKCFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQogCQlyZXR1cm4gLUVQRVJNOwpAQCAtMjYzLDggKzI2Niw3IEBACiAJcnEgPSBibGtfZ2V0X3JlcXVlc3QocSwgcncsIEdGUF9LRVJORUwpOwogCWlmICghcnEpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCXJldCA9IGJsa19maWxsX3NndjRfaGRyX3JxKHEsIHJxLCBoZHIsIHRlc3RfYml0KEJTR19GX1dSSVRFX1BFUk0sCi0JCQkJCQkgICAgICAgJmJkLT5mbGFncykpOworCXJldCA9IGJsa19maWxsX3NndjRfaGRyX3JxKHEsIHJxLCBoZHIsIGJkKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIApAQCAtNTY2LDEyICs1NjgsMjMgQEAKIAkJc2V0X2JpdChCU0dfRl9CTE9DSywgJmJkLT5mbGFncyk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBic2dfc2V0X3dyaXRlX3Blcm0oc3RydWN0IGJzZ19kZXZpY2UgKmJkLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3N0YXRpYyB2b2lkIGJzZ19zZXRfY21kX2ZpbHRlcihzdHJ1Y3QgYnNnX2RldmljZSAqYmQsCisJCQkgICBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCi0JCXNldF9iaXQoQlNHX0ZfV1JJVEVfUEVSTSwgJmJkLT5mbGFncyk7Ci0JZWxzZQotCQljbGVhcl9iaXQoQlNHX0ZfV1JJVEVfUEVSTSwgJmJkLT5mbGFncyk7CisJc3RydWN0IGlub2RlICppbm9kZTsKKwlzdHJ1Y3QgZ2VuZGlzayAqZGlzazsKKworCWlmICghZmlsZSkKKwkJcmV0dXJuOworCisJaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKwlpZiAoIWlub2RlKQorCQlyZXR1cm47CisKKwlkaXNrID0gaW5vZGUtPmlfYmRldi0+YmRfZGlzazsKKworCWJkLT5jbWRfZmlsdGVyID0gJmRpc2stPmNtZF9maWx0ZXI7CisJYmQtPmZfbW9kZSA9ICZmaWxlLT5mX21vZGU7CiB9CiAKIC8qCkBAIC01OTUsNiArNjA4LDggQEAKIAlkcHJpbnRrKCIlczogcmVhZCAlWmQgYnl0ZXNcbiIsIGJkLT5uYW1lLCBjb3VudCk7CiAKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKKwlic2dfc2V0X2NtZF9maWx0ZXIoYmQsIGZpbGUpOworCiAJYnl0ZXNfcmVhZCA9IDA7CiAJcmV0ID0gX19ic2dfcmVhZChidWYsIGNvdW50LCBiZCwgTlVMTCwgJmJ5dGVzX3JlYWQpOwogCSpwcG9zID0gYnl0ZXNfcmVhZDsKQEAgLTY2OCw3ICs2ODMsNyBAQAogCWRwcmludGsoIiVzOiB3cml0ZSAlWmQgYnl0ZXNcbiIsIGJkLT5uYW1lLCBjb3VudCk7CiAKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKLQlic2dfc2V0X3dyaXRlX3Blcm0oYmQsIGZpbGUpOworCWJzZ19zZXRfY21kX2ZpbHRlcihiZCwgZmlsZSk7CiAKIAlieXRlc193cml0dGVuID0gMDsKIAlyZXQgPSBfX2JzZ193cml0ZShiZCwgYnVmLCBjb3VudCwgJmJ5dGVzX3dyaXR0ZW4pOwpAQCAtNzA5LDExICs3MjQsMTIgQEAKIHsKIAlzdHJ1Y3QgYnNnX2NsYXNzX2RldmljZSAqYmNkID0KIAkJY29udGFpbmVyX29mKGtyZWYsIHN0cnVjdCBic2dfY2xhc3NfZGV2aWNlLCByZWYpOworCXN0cnVjdCBkZXZpY2UgKnBhcmVudCA9IGJjZC0+cGFyZW50OwogCiAJaWYgKGJjZC0+cmVsZWFzZSkKIAkJYmNkLT5yZWxlYXNlKGJjZC0+cGFyZW50KTsKIAotCXB1dF9kZXZpY2UoYmNkLT5wYXJlbnQpOworCXB1dF9kZXZpY2UocGFyZW50KTsKIH0KIAogc3RhdGljIGludCBic2dfcHV0X2RldmljZShzdHJ1Y3QgYnNnX2RldmljZSAqYmQpCkBAIC03NzEsNyArNzg3LDkgQEAKIAl9CiAKIAliZC0+cXVldWUgPSBycTsKKwogCWJzZ19zZXRfYmxvY2soYmQsIGZpbGUpOworCWJzZ19zZXRfY21kX2ZpbHRlcihiZCwgZmlsZSk7CiAKIAlhdG9taWNfc2V0KCZiZC0+cmVmX2NvdW50LCAxKTsKIAltdXRleF9sb2NrKCZic2dfbXV0ZXgpOwpAQCAtODM0LDcgKzg1MiwxMSBAQAogCiBzdGF0aWMgaW50IGJzZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXN0cnVjdCBic2dfZGV2aWNlICpiZCA9IGJzZ19nZXRfZGV2aWNlKGlub2RlLCBmaWxlKTsKKwlzdHJ1Y3QgYnNnX2RldmljZSAqYmQ7CisKKwlsb2NrX2tlcm5lbCgpOworCWJkID0gYnNnX2dldF9kZXZpY2UoaW5vZGUsIGZpbGUpOworCXVubG9ja19rZXJuZWwoKTsKIAogCWlmIChJU19FUlIoYmQpKQogCQlyZXR1cm4gUFRSX0VSUihiZCk7CmRpZmYgLS1naXQgYS9ibG9jay9jZnEtaW9zY2hlZC5jIGIvYmxvY2svY2ZxLWlvc2NoZWQuYwppbmRleCBkMDFiNDExLi4xZTJhZmY4IDEwMDY0NAotLS0gYS9ibG9jay9jZnEtaW9zY2hlZC5jCisrKyBiL2Jsb2NrL2NmcS1pb3NjaGVkLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lbGV2YXRvci5oPgogI2luY2x1ZGUgPGxpbnV4L3JidHJlZS5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcHJpby5oPgorI2luY2x1ZGUgPGxpbnV4L2Jsa3RyYWNlX2FwaS5oPgogCiAvKgogICogdHVuYWJsZXMKQEAgLTQxLDEzICs0MiwxNCBAQAogCiAjZGVmaW5lIFJRX0NJQyhycSkJCVwKIAkoKHN0cnVjdCBjZnFfaW9fY29udGV4dCAqKSAocnEpLT5lbGV2YXRvcl9wcml2YXRlKQotI2RlZmluZSBSUV9DRlFRKHJxKQkJKChycSktPmVsZXZhdG9yX3ByaXZhdGUyKQorI2RlZmluZSBSUV9DRlFRKHJxKQkJKHN0cnVjdCBjZnFfcXVldWUgKikgKChycSktPmVsZXZhdG9yX3ByaXZhdGUyKQogCiBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmNmcV9wb29sOwogc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICpjZnFfaW9jX3Bvb2w7CiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBpb2NfY291bnQpOwogc3RhdGljIHN0cnVjdCBjb21wbGV0aW9uICppb2NfZ29uZTsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soaW9jX2dvbmVfbG9jayk7CiAKICNkZWZpbmUgQ0ZRX1BSSU9fTElTVFMJCUlPUFJJT19CRV9OUgogI2RlZmluZSBjZnFfY2xhc3NfaWRsZShjZnFxKQkoKGNmcXEpLT5pb3ByaW9fY2xhc3MgPT0gSU9QUklPX0NMQVNTX0lETEUpCkBAIC0xNTUsNiArMTU3LDcgQEAKIAl1bnNpZ25lZCBzaG9ydCBpb3ByaW8sIG9yZ19pb3ByaW87CiAJdW5zaWduZWQgc2hvcnQgaW9wcmlvX2NsYXNzLCBvcmdfaW9wcmlvX2NsYXNzOwogCisJcGlkX3QgcGlkOwogfTsKIAogZW51bSBjZnFxX3N0YXRlX2ZsYWdzIHsKQEAgLTE5OCw2ICsyMDEsMTEgQEAKIENGUV9DRlFRX0ZOUyhzeW5jKTsKICN1bmRlZiBDRlFfQ0ZRUV9GTlMKIAorI2RlZmluZSBjZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgZm10LCBhcmdzLi4uKQlcCisJYmxrX2FkZF90cmFjZV9tc2coKGNmcWQpLT5xdWV1ZSwgImNmcSVkICIgZm10LCAoY2ZxcSktPnBpZCwgIyNhcmdzKQorI2RlZmluZSBjZnFfbG9nKGNmcWQsIGZtdCwgYXJncy4uLikJXAorCWJsa19hZGRfdHJhY2VfbXNnKChjZnFkKS0+cXVldWUsICJjZnEgIiBmbXQsICMjYXJncykKKwogc3RhdGljIHZvaWQgY2ZxX2Rpc3BhdGNoX2luc2VydChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKIHN0YXRpYyBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFfZ2V0X3F1ZXVlKHN0cnVjdCBjZnFfZGF0YSAqLCBpbnQsCiAJCQkJICAgICAgIHN0cnVjdCBpb19jb250ZXh0ICosIGdmcF90KTsKQEAgLTIzNCw4ICsyNDIsMTAgQEAKICAqLwogc3RhdGljIGlubGluZSB2b2lkIGNmcV9zY2hlZHVsZV9kaXNwYXRjaChzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQpCiB7Ci0JaWYgKGNmcWQtPmJ1c3lfcXVldWVzKQorCWlmIChjZnFkLT5idXN5X3F1ZXVlcykgeworCQljZnFfbG9nKGNmcWQsICJzY2hlZHVsZSBkaXNwYXRjaCIpOwogCQlrYmxvY2tkX3NjaGVkdWxlX3dvcmsoJmNmcWQtPnVucGx1Z193b3JrKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQgY2ZxX3F1ZXVlX2VtcHR5KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKQpAQCAtMjcwLDYgKzI4MCw3IEBACiBjZnFfc2V0X3ByaW9fc2xpY2Uoc3RydWN0IGNmcV9kYXRhICpjZnFkLCBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxKQogewogCWNmcXEtPnNsaWNlX2VuZCA9IGNmcV9wcmlvX3RvX3NsaWNlKGNmcWQsIGNmcXEpICsgamlmZmllczsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgInNldF9zbGljZT0lbHUiLCBjZnFxLT5zbGljZV9lbmQgLSBqaWZmaWVzKTsKIH0KIAogLyoKQEAgLTUzOSw2ICs1NTAsNyBAQAogICovCiBzdGF0aWMgdm9pZCBjZnFfYWRkX2NmcXFfcnIoc3RydWN0IGNmcV9kYXRhICpjZnFkLCBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxKQogeworCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiYWRkX3RvX3JyIik7CiAJQlVHX09OKGNmcV9jZnFxX29uX3JyKGNmcXEpKTsKIAljZnFfbWFya19jZnFxX29uX3JyKGNmcXEpOwogCWNmcWQtPmJ1c3lfcXVldWVzKys7CkBAIC01NTIsNiArNTY0LDcgQEAKICAqLwogc3RhdGljIHZvaWQgY2ZxX2RlbF9jZnFxX3JyKHN0cnVjdCBjZnFfZGF0YSAqY2ZxZCwgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSkKIHsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImRlbF9mcm9tX3JyIik7CiAJQlVHX09OKCFjZnFfY2ZxcV9vbl9ycihjZnFxKSk7CiAJY2ZxX2NsZWFyX2NmcXFfb25fcnIoY2ZxcSk7CiAKQEAgLTYzOCw2ICs2NTEsOCBAQAogCXN0cnVjdCBjZnFfZGF0YSAqY2ZxZCA9IHEtPmVsZXZhdG9yLT5lbGV2YXRvcl9kYXRhOwogCiAJY2ZxZC0+cnFfaW5fZHJpdmVyKys7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIFJRX0NGUVEocnEpLCAiYWN0aXZhdGUgcnEsIGRydj0lZCIsCisJCQkJCQljZnFkLT5ycV9pbl9kcml2ZXIpOwogCiAJLyoKIAkgKiBJZiB0aGUgZGVwdGggaXMgbGFyZ2VyIDEsIGl0IHJlYWxseSBjb3VsZCBiZSBxdWV1ZWluZy4gQnV0IGxldHMKQEAgLTY1Nyw2ICs2NzIsOCBAQAogCiAJV0FSTl9PTighY2ZxZC0+cnFfaW5fZHJpdmVyKTsKIAljZnFkLT5ycV9pbl9kcml2ZXItLTsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgUlFfQ0ZRUShycSksICJkZWFjdGl2YXRlIHJxLCBkcnY9JWQiLAorCQkJCQkJY2ZxZC0+cnFfaW5fZHJpdmVyKTsKIH0KIAogc3RhdGljIHZvaWQgY2ZxX3JlbW92ZV9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0ICpycSkKQEAgLTc0Niw2ICs3NjMsNyBAQAogCQkJCSAgIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEpCiB7CiAJaWYgKGNmcXEpIHsKKwkJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJzZXRfYWN0aXZlIik7CiAJCWNmcXEtPnNsaWNlX2VuZCA9IDA7CiAJCWNmcV9jbGVhcl9jZnFxX211c3RfYWxsb2Nfc2xpY2UoY2ZxcSk7CiAJCWNmcV9jbGVhcl9jZnFxX2ZpZm9fZXhwaXJlKGNmcXEpOwpAQCAtNzYzLDYgKzc4MSw4IEBACiBfX2NmcV9zbGljZV9leHBpcmVkKHN0cnVjdCBjZnFfZGF0YSAqY2ZxZCwgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSwKIAkJICAgIGludCB0aW1lZF9vdXQpCiB7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJzbGljZSBleHBpcmVkIHQ9JWQiLCB0aW1lZF9vdXQpOworCiAJaWYgKGNmcV9jZnFxX3dhaXRfcmVxdWVzdChjZnFxKSkKIAkJZGVsX3RpbWVyKCZjZnFkLT5pZGxlX3NsaWNlX3RpbWVyKTsKIApAQCAtNzcyLDggKzc5MiwxMCBAQAogCS8qCiAJICogc3RvcmUgd2hhdCB3YXMgbGVmdCBvZiB0aGlzIHNsaWNlLCBpZiB0aGUgcXVldWUgaWRsZWQvdGltZWQgb3V0CiAJICovCi0JaWYgKHRpbWVkX291dCAmJiAhY2ZxX2NmcXFfc2xpY2VfbmV3KGNmcXEpKQorCWlmICh0aW1lZF9vdXQgJiYgIWNmcV9jZnFxX3NsaWNlX25ldyhjZnFxKSkgewogCQljZnFxLT5zbGljZV9yZXNpZCA9IGNmcXEtPnNsaWNlX2VuZCAtIGppZmZpZXM7CisJCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAicmVzaWQ9JWxkIiwgY2ZxcS0+c2xpY2VfcmVzaWQpOworCX0KIAogCWNmcV9yZXNvcnRfcnJfbGlzdChjZnFkLCBjZnFxKTsKIApAQCAtODY2LDYgKzg4OCwxMiBAQAogCQlyZXR1cm47CiAKIAkvKgorCSAqIHN0aWxsIHJlcXVlc3RzIHdpdGggdGhlIGRyaXZlciwgZG9uJ3QgaWRsZQorCSAqLworCWlmIChjZnFkLT5ycV9pbl9kcml2ZXIpCisJCXJldHVybjsKKworCS8qCiAJICogdGFzayBoYXMgZXhpdGVkLCBkb24ndCB3YWl0CiAJICovCiAJY2ljID0gY2ZxZC0+YWN0aXZlX2NpYzsKQEAgLTg5Miw2ICs5MjAsNyBAQAogCQlzbCA9IG1pbihzbCwgbXNlY3NfdG9famlmZmllcyhDRlFfTUlOX1RUKSk7CiAKIAltb2RfdGltZXIoJmNmcWQtPmlkbGVfc2xpY2VfdGltZXIsIGppZmZpZXMgKyBzbCk7CisJY2ZxX2xvZyhjZnFkLCAiYXJtX2lkbGU6ICVsdSIsIHNsKTsKIH0KIAogLyoKQEAgLTkwMiw2ICs5MzEsOCBAQAogCXN0cnVjdCBjZnFfZGF0YSAqY2ZxZCA9IHEtPmVsZXZhdG9yLT5lbGV2YXRvcl9kYXRhOwogCXN0cnVjdCBjZnFfcXVldWUgKmNmcXEgPSBSUV9DRlFRKHJxKTsKIAorCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiZGlzcGF0Y2hfaW5zZXJ0Iik7CisKIAljZnFfcmVtb3ZlX3JlcXVlc3QocnEpOwogCWNmcXEtPmRpc3BhdGNoZWQrKzsKIAllbHZfZGlzcGF0Y2hfc29ydChxLCBycSk7CkBAIC05MzEsOCArOTYyLDkgQEAKIAlycSA9IHJxX2VudHJ5X2ZpZm8oY2ZxcS0+Zmlmby5uZXh0KTsKIAogCWlmICh0aW1lX2JlZm9yZShqaWZmaWVzLCBycS0+c3RhcnRfdGltZSArIGNmcWQtPmNmcV9maWZvX2V4cGlyZVtmaWZvXSkpCi0JCXJldHVybiBOVUxMOworCQlycSA9IE5VTEw7CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImZpZm89JXAiLCBycSk7CiAJcmV0dXJuIHJxOwogfQogCkBAIC0xMDcyLDYgKzExMDQsNyBAQAogCiAJQlVHX09OKGNmcWQtPmJ1c3lfcXVldWVzKTsKIAorCWNmcV9sb2coY2ZxZCwgImZvcmNlZF9kaXNwYXRjaD0lZFxuIiwgZGlzcGF0Y2hlZCk7CiAJcmV0dXJuIGRpc3BhdGNoZWQ7CiB9CiAKQEAgLTExMTIsNiArMTE0NSw3IEBACiAJCWRpc3BhdGNoZWQgKz0gX19jZnFfZGlzcGF0Y2hfcmVxdWVzdHMoY2ZxZCwgY2ZxcSwgbWF4X2Rpc3BhdGNoKTsKIAl9CiAKKwljZnFfbG9nKGNmcWQsICJkaXNwYXRjaGVkPSVkIiwgZGlzcGF0Y2hlZCk7CiAJcmV0dXJuIGRpc3BhdGNoZWQ7CiB9CiAKQEAgLTExMzAsNiArMTE2NCw3IEBACiAJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZjZnFxLT5yZWYpKQogCQlyZXR1cm47CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgInB1dF9xdWV1ZSIpOwogCUJVR19PTihyYl9maXJzdCgmY2ZxcS0+c29ydF9saXN0KSk7CiAJQlVHX09OKGNmcXEtPmFsbG9jYXRlZFtSRUFEXSArIGNmcXEtPmFsbG9jYXRlZFtXUklURV0pOwogCUJVR19PTihjZnFfY2ZxcV9vbl9ycihjZnFxKSk7CkBAIC0xMTc3LDggKzEyMTIsMTkgQEAKIAlrbWVtX2NhY2hlX2ZyZWUoY2ZxX2lvY19wb29sLCBjaWMpOwogCWVsdl9pb2NfY291bnRfZGVjKGlvY19jb3VudCk7CiAKLQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQljb21wbGV0ZShpb2NfZ29uZSk7CisJaWYgKGlvY19nb25lKSB7CisJCS8qCisJCSAqIENGUSBzY2hlZHVsZXIgaXMgZXhpdGluZywgZ3JhYiBleGl0IGxvY2sgYW5kIGNoZWNrCisJCSAqIHRoZSBwZW5kaW5nIGlvIGNvbnRleHQgY291bnQuIElmIGl0IGhpdHMgemVybywKKwkJICogY29tcGxldGUgaW9jX2dvbmUgYW5kIHNldCBpdCBiYWNrIHRvIE5VTEwKKwkJICovCisJCXNwaW5fbG9jaygmaW9jX2dvbmVfbG9jayk7CisJCWlmIChpb2NfZ29uZSAmJiAhZWx2X2lvY19jb3VudF9yZWFkKGlvY19jb3VudCkpIHsKKwkJCWNvbXBsZXRlKGlvY19nb25lKTsKKwkJCWlvY19nb25lID0gTlVMTDsKKwkJfQorCQlzcGluX3VubG9jaygmaW9jX2dvbmVfbG9jayk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBjZnFfY2ljX2ZyZWUoc3RydWN0IGNmcV9pb19jb250ZXh0ICpjaWMpCkBAIC0xNDI3LDYgKzE0NzMsOCBAQAogCQkJCWNmcV9tYXJrX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CiAJCQljZnFfbWFya19jZnFxX3N5bmMoY2ZxcSk7CiAJCX0KKwkJY2ZxcS0+cGlkID0gY3VycmVudC0+cGlkOworCQljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImFsbG9jZWQiKTsKIAl9CiAKIAlpZiAobmV3X2NmcXEpCkBAIC0xNjc1LDcgKzE3MjMsNyBAQAogY2ZxX3VwZGF0ZV9pZGxlX3dpbmRvdyhzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQsIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEsCiAJCSAgICAgICBzdHJ1Y3QgY2ZxX2lvX2NvbnRleHQgKmNpYykKIHsKLQlpbnQgZW5hYmxlX2lkbGU7CisJaW50IG9sZF9pZGxlLCBlbmFibGVfaWRsZTsKIAogCS8qCiAJICogRG9uJ3QgaWRsZSBmb3IgYXN5bmMgb3IgaWRsZSBpbyBwcmlvIGNsYXNzCkBAIC0xNjgzLDcgKzE3MzEsNyBAQAogCWlmICghY2ZxX2NmcXFfc3luYyhjZnFxKSB8fCBjZnFfY2xhc3NfaWRsZShjZnFxKSkKIAkJcmV0dXJuOwogCi0JZW5hYmxlX2lkbGUgPSBjZnFfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwllbmFibGVfaWRsZSA9IG9sZF9pZGxlID0gY2ZxX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CiAKIAlpZiAoIWF0b21pY19yZWFkKCZjaWMtPmlvYy0+bnJfdGFza3MpIHx8ICFjZnFkLT5jZnFfc2xpY2VfaWRsZSB8fAogCSAgICAoY2ZxZC0+aHdfdGFnICYmIENJQ19TRUVLWShjaWMpKSkKQEAgLTE2OTUsMTAgKzE3NDMsMTMgQEAKIAkJCWVuYWJsZV9pZGxlID0gMTsKIAl9CiAKLQlpZiAoZW5hYmxlX2lkbGUpCi0JCWNmcV9tYXJrX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7Ci0JZWxzZQotCQljZnFfY2xlYXJfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwlpZiAob2xkX2lkbGUgIT0gZW5hYmxlX2lkbGUpIHsKKwkJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJpZGxlPSVkIiwgZW5hYmxlX2lkbGUpOworCQlpZiAoZW5hYmxlX2lkbGUpCisJCQljZnFfbWFya19jZnFxX2lkbGVfd2luZG93KGNmcXEpOworCQllbHNlCisJCQljZnFfY2xlYXJfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwl9CiB9CiAKIC8qCkBAIC0xNzU3LDYgKzE4MDgsNyBAQAogICovCiBzdGF0aWMgdm9pZCBjZnFfcHJlZW1wdF9xdWV1ZShzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQsIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEpCiB7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJwcmVlbXB0Iik7CiAJY2ZxX3NsaWNlX2V4cGlyZWQoY2ZxZCwgMSk7CiAKIAkvKgpAQCAtMTgxOCw2ICsxODcwLDcgQEAKIAlzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQgPSBxLT5lbGV2YXRvci0+ZWxldmF0b3JfZGF0YTsKIAlzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxID0gUlFfQ0ZRUShycSk7CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImluc2VydF9yZXF1ZXN0Iik7CiAJY2ZxX2luaXRfcHJpb19kYXRhKGNmcXEsIFJRX0NJQyhycSktPmlvYyk7CiAKIAljZnFfYWRkX3JxX3JiKHJxKTsKQEAgLTE4MzUsNiArMTg4OCw3IEBACiAJdW5zaWduZWQgbG9uZyBub3c7CiAKIAlub3cgPSBqaWZmaWVzOworCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiY29tcGxldGUiKTsKIAogCVdBUk5fT04oIWNmcWQtPnJxX2luX2RyaXZlcik7CiAJV0FSTl9PTighY2ZxcS0+ZGlzcGF0Y2hlZCk7CkBAIC0yMDA0LDYgKzIwNTgsNyBAQAogCiAJY2ZxX3NjaGVkdWxlX2Rpc3BhdGNoKGNmcWQpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOworCWNmcV9sb2coY2ZxZCwgInNldF9yZXF1ZXN0IGZhaWwiKTsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMjAyOSw2ICsyMDg0LDggQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCB0aW1lZF9vdXQgPSAxOwogCisJY2ZxX2xvZyhjZnFkLCAiaWRsZSB0aW1lciBmaXJlZCIpOworCiAJc3Bpbl9sb2NrX2lycXNhdmUoY2ZxZC0+cXVldWUtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKIAogCWNmcXEgPSBjZnFkLT5hY3RpdmVfcXVldWU7CkBAIC0yMzE3LDcgKzIzNzQsNyBAQAogCSAqIHBlbmRpbmcgUkNVIGNhbGxiYWNrcwogCSAqLwogCWlmIChlbHZfaW9jX2NvdW50X3JlYWQoaW9jX2NvdW50KSkKLQkJd2FpdF9mb3JfY29tcGxldGlvbihpb2NfZ29uZSk7CisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmFsbF9nb25lKTsKIAljZnFfc2xhYl9raWxsKCk7CiB9CiAKZGlmZiAtLWdpdCBhL2Jsb2NrL2NtZC1maWx0ZXIuYyBiL2Jsb2NrL2NtZC1maWx0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWM0NDA0Ci0tLSAvZGV2L251bGwKKysrIGIvYmxvY2svY21kLWZpbHRlci5jCkBAIC0wLDAgKzEsMzM0IEBACisvKgorICogQ29weXJpZ2h0IDIwMDQgUGV0ZXIgTS4gSm9uZXMgPHBqb25lc0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICoKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2VucworICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9nZW5oZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorCisjaW5jbHVkZSA8c2NzaS9zY3NpLmg+CisjaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KKworaW50IGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsCisJCQkJICB1bnNpZ25lZCBjaGFyICpjbWQsIG1vZGVfdCAqZl9tb2RlKQoreworCS8qIHJvb3QgY2FuIGRvIGFueSBjb21tYW5kLiAqLworCWlmIChjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQorCQlyZXR1cm4gMDsKKworCS8qIGlmIHRoZXJlJ3Mgbm8gZmlsdGVyIHNldCwgYXNzdW1lIHdlJ3JlIGZpbHRlcmluZyBldmVyeXRoaW5nIG91dCAqLworCWlmICghZmlsdGVyKQorCQlyZXR1cm4gLUVQRVJNOworCisJLyogQW55Ym9keSB3aG8gY2FuIG9wZW4gdGhlIGRldmljZSBjYW4gZG8gYSByZWFkLXNhZmUgY29tbWFuZCAqLworCWlmICh0ZXN0X2JpdChjbWRbMF0sIGZpbHRlci0+cmVhZF9vaykpCisJCXJldHVybiAwOworCisJLyogV3JpdGUtc2FmZSBjb21tYW5kcyByZXF1aXJlIGEgd3JpdGFibGUgb3BlbiAqLworCWlmICh0ZXN0X2JpdChjbWRbMF0sIGZpbHRlci0+d3JpdGVfb2spICYmICgqZl9tb2RlICYgRk1PREVfV1JJVEUpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAtRVBFUk07Cit9CitFWFBPUlRfU1lNQk9MKGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKTsKKworaW50IGJsa192ZXJpZnlfY29tbWFuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgY2hhciAqY21kKQoreworCXN0cnVjdCBnZW5kaXNrICpkaXNrOworCXN0cnVjdCBpbm9kZSAqaW5vZGU7CisKKwlpZiAoIWZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCisJaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKwlpZiAoIWlub2RlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpc2sgPSBpbm9kZS0+aV9iZGV2LT5iZF9kaXNrOworCisJcmV0dXJuIGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKCZkaXNrLT5jbWRfZmlsdGVyLAorCQkJCQkJIGNtZCwgJmZpbGUtPmZfbW9kZSk7Cit9CitFWFBPUlRfU1lNQk9MKGJsa192ZXJpZnlfY29tbWFuZCk7CisKKy8qIGFuZCBub3csIHRoZSBzeXNmcyBzdHVmZiAqLworc3RhdGljIHNzaXplX3QgcmNmX2NtZHNfc2hvdyhzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLCBjaGFyICpwYWdlLAorCQkJICAgICBpbnQgcncpCit7CisJY2hhciAqbnBhZ2UgPSBwYWdlOworCXVuc2lnbmVkIGxvbmcgKm9rYml0czsKKwlpbnQgaTsKKworCWlmIChydyA9PSBSRUFEKQorCQlva2JpdHMgPSBmaWx0ZXItPnJlYWRfb2s7CisJZWxzZQorCQlva2JpdHMgPSBmaWx0ZXItPndyaXRlX29rOworCisJZm9yIChpID0gMDsgaSA8IEJMS19TQ1NJX01BWF9DTURTOyBpKyspIHsKKwkJaWYgKHRlc3RfYml0KGksIG9rYml0cykpIHsKKwkJCXNwcmludGYobnBhZ2UsICIlMDJ4IiwgaSk7CisJCQlucGFnZSArPSAyOworCQkJaWYgKGkgPCBCTEtfU0NTSV9NQVhfQ01EUyAtIDEpCisJCQkJc3ByaW50ZihucGFnZSsrLCAiICIpOworCQl9CisJfQorCisJaWYgKG5wYWdlICE9IHBhZ2UpCisJCW5wYWdlICs9IHNwcmludGYobnBhZ2UsICJcbiIpOworCisJcmV0dXJuIG5wYWdlIC0gcGFnZTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX3JlYWRjbWRzX3Nob3coc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc2hvdyhmaWx0ZXIsIHBhZ2UsIFJFQUQpOworfQorCitzdGF0aWMgc3NpemVfdCByY2Zfd3JpdGVjbWRzX3Nob3coc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwKKwkJCQkgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc2hvdyhmaWx0ZXIsIHBhZ2UsIFdSSVRFKTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX2NtZHNfc3RvcmUoc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCwgaW50IHJ3KQoreworCXNzaXplX3QgcmV0ID0gMDsKKwl1bnNpZ25lZCBsb25nIG9rYml0c1tCTEtfU0NTSV9DTURfUEVSX0xPTkddLCAqdGFyZ2V0X29rYml0czsKKwlpbnQgY21kLCBzdGF0dXMsIGxlbjsKKwlzdWJzdHJpbmdfdCBzczsKKworCW1lbXNldCgmb2tiaXRzLCAwLCBzaXplb2Yob2tiaXRzKSk7CisKKwlmb3IgKGxlbiA9IHN0cmxlbihwYWdlKTsgbGVuID4gMDsgbGVuIC09IDMpIHsKKwkJaWYgKGxlbiA8IDIpCisJCQlicmVhazsKKwkJc3MuZnJvbSA9IChjaGFyICopIHBhZ2UgKyByZXQ7CisJCXNzLnRvID0gKGNoYXIgKikgcGFnZSArIHJldCArIDI7CisJCXJldCArPSAzOworCQlzdGF0dXMgPSBtYXRjaF9oZXgoJnNzLCAmY21kKTsKKwkJLyogZWl0aGVyIG9mIHRoZXNlIGNhc2VzIG1lYW5zIGludmFsaWQgaW5wdXQsIHNvIGRvIG5vdGhpbmcuICovCisJCWlmIChzdGF0dXMgfHwgY21kID49IEJMS19TQ1NJX01BWF9DTURTKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJX19zZXRfYml0KGNtZCwgb2tiaXRzKTsKKwl9CisKKwlpZiAocncgPT0gUkVBRCkKKwkJdGFyZ2V0X29rYml0cyA9IGZpbHRlci0+cmVhZF9vazsKKwllbHNlCisJCXRhcmdldF9va2JpdHMgPSBmaWx0ZXItPndyaXRlX29rOworCisJbWVtbW92ZSh0YXJnZXRfb2tiaXRzLCBva2JpdHMsIHNpemVvZihva2JpdHMpKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJjZl9yZWFkY21kc19zdG9yZShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCSAgY29uc3QgY2hhciAqcGFnZSwgc2l6ZV90IGNvdW50KQoreworCXJldHVybiByY2ZfY21kc19zdG9yZShmaWx0ZXIsIHBhZ2UsIGNvdW50LCBSRUFEKTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX3dyaXRlY21kc19zdG9yZShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCSAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc3RvcmUoZmlsdGVyLCBwYWdlLCBjb3VudCwgV1JJVEUpOworfQorCitzdHJ1Y3QgcmNmX3N5c2ZzX2VudHJ5IHsKKwlzdHJ1Y3QgYXR0cmlidXRlIGF0dHI7CisJc3NpemVfdCAoKnNob3cpKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICosIGNoYXIgKik7CisJc3NpemVfdCAoKnN0b3JlKShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqLCBjb25zdCBjaGFyICosIHNpemVfdCk7Cit9OworCitzdGF0aWMgc3RydWN0IHJjZl9zeXNmc19lbnRyeSByY2ZfcmVhZGNtZHNfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gInJlYWRfdGFibGUiLCAubW9kZSA9IFNfSVJVR08gfCBTX0lXVVNSIH0sCisJLnNob3cgPSByY2ZfcmVhZGNtZHNfc2hvdywKKwkuc3RvcmUgPSByY2ZfcmVhZGNtZHNfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IHJjZl9zeXNmc19lbnRyeSByY2Zfd3JpdGVjbWRzX2VudHJ5ID0geworCS5hdHRyID0gey5uYW1lID0gIndyaXRlX3RhYmxlIiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gcmNmX3dyaXRlY21kc19zaG93LAorCS5zdG9yZSA9IHJjZl93cml0ZWNtZHNfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqZGVmYXVsdF9hdHRyc1tdID0geworCSZyY2ZfcmVhZGNtZHNfZW50cnkuYXR0ciwKKwkmcmNmX3dyaXRlY21kc19lbnRyeS5hdHRyLAorCU5VTEwsCit9OworCisjZGVmaW5lIHRvX3JjZihhdHIpIGNvbnRhaW5lcl9vZigoYXRyKSwgc3RydWN0IHJjZl9zeXNmc19lbnRyeSwgYXR0cikKKworc3RhdGljIHNzaXplX3QKK3JjZl9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJc3RydWN0IHJjZl9zeXNmc19lbnRyeSAqZW50cnkgPSB0b19yY2YoYXR0cik7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlcjsKKworCWZpbHRlciA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciwga29iaik7CisJaWYgKGVudHJ5LT5zaG93KQorCQlyZXR1cm4gZW50cnktPnNob3coZmlsdGVyLCBwYWdlKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdAorcmNmX2F0dHJfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCisJCQljb25zdCBjaGFyICpwYWdlLCBzaXplX3QgbGVuZ3RoKQoreworCXN0cnVjdCByY2Zfc3lzZnNfZW50cnkgKmVudHJ5ID0gdG9fcmNmKGF0dHIpOworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXI7CisKKwlpZiAoIWNhcGFibGUoQ0FQX1NZU19SQVdJTykpCisJCXJldHVybiAtRVBFUk07CisKKwlpZiAoIWVudHJ5LT5zdG9yZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmaWx0ZXIgPSBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIsIGtvYmopOworCXJldHVybiBlbnRyeS0+c3RvcmUoZmlsdGVyLCBwYWdlLCBsZW5ndGgpOworfQorCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyByY2Zfc3lzZnNfb3BzID0geworCS5zaG93ID0gcmNmX2F0dHJfc2hvdywKKwkuc3RvcmUgPSByY2ZfYXR0cl9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qga29ial90eXBlIHJjZl9rdHlwZSA9IHsKKwkuc3lzZnNfb3BzID0gJnJjZl9zeXNmc19vcHMsCisJLmRlZmF1bHRfYXR0cnMgPSBkZWZhdWx0X2F0dHJzLAorfTsKKworI2lmbmRlZiBNQUlOVEVOQU5DRV9JTl9DTUQKKyNkZWZpbmUgTUFJTlRFTkFOQ0VfSU5fQ01EIDB4YTMKKyNlbmRpZgorCitzdGF0aWMgdm9pZCByY2Zfc2V0X2RlZmF1bHRzKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIpCit7CisJLyogQmFzaWMgcmVhZC1vbmx5IGNvbW1hbmRzICovCisJX19zZXRfYml0KFRFU1RfVU5JVF9SRUFEWSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVRVUVTVF9TRU5TRSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF82LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzEwLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzEyLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzE2LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEX0JVRkZFUiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9ERUZFQ1RfREFUQSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9DQVBBQ0lUWSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9MT05HLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChJTlFVSVJZLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChNT0RFX1NFTlNFLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChNT0RFX1NFTlNFXzEwLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChMT0dfU0VOU0UsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFNUQVJUX1NUT1AsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1ZFUklGWV8xMCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoVkVSSUZZXzE2LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRVBPUlRfTFVOUywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoU0VSVklDRV9BQ1RJT05fSU4sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFJFQ0VJVkVfRElBR05PU1RJQywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoTUFJTlRFTkFOQ0VfSU5fQ01ELCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0JVRkZFUl9DQVBBQ0lUWSwgZmlsdGVyLT5yZWFkX29rKTsKKworCS8qIEF1ZGlvIENEIGNvbW1hbmRzICovCisJX19zZXRfYml0KEdQQ01EX1BMQVlfQ0QsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1BMQVlfQVVESU9fMTAsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1BMQVlfQVVESU9fTVNGLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9QTEFZX0FVRElPX1RJLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9QQVVTRV9SRVNVTUUsIGZpbHRlci0+cmVhZF9vayk7CisKKwkvKiBDRC9EVkQgZGF0YSByZWFkaW5nICovCisJX19zZXRfYml0KEdQQ01EX1JFQURfQ0QsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfQ0RfTVNGLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0RJU0NfSU5GTywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9DRFZEX0NBUEFDSVRZLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0RWRF9TVFJVQ1RVUkUsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfSEVBREVSLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX1RSQUNLX1JaT05FX0lORk8sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfU1VCQ0hBTk5FTCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9UT0NfUE1BX0FUSVAsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFUE9SVF9LRVksIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1NDQU4sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0ZPUk1BVF9DQVBBQ0lUSUVTLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9HRVRfRVZFTlRfU1RBVFVTX05PVElGSUNBVElPTiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfR0VUX1BFUkZPUk1BTkNFLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9TRUVLLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9TVE9QX1BMQVlfU0NBTiwgZmlsdGVyLT5yZWFkX29rKTsKKworCS8qIEJhc2ljIHdyaXRpbmcgY29tbWFuZHMgKi8KKwlfX3NldF9iaXQoV1JJVEVfNiwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KFdSSVRFXzEwLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfVkVSSUZZLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfMTIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV9WRVJJRllfMTIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV8xNiwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KFdSSVRFX0xPTkcsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV9MT05HXzIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChFUkFTRSwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX01PREVfU0VMRUNUXzEwLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoTU9ERV9TRUxFQ1QsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChMT0dfU0VMRUNULCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfQkxBTkssIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9DTE9TRV9UUkFDSywgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX0ZMVVNIX0NBQ0hFLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfRk9STUFUX1VOSVQsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9SRVBBSVJfUlpPTkVfVFJBQ0ssIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9SRVNFUlZFX1JaT05FX1RSQUNLLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9EVkRfU1RSVUNUVVJFLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9FVkVOVCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFTkRfS0VZLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9PUEMsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9TRU5EX0NVRV9TSEVFVCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFVF9TUEVFRCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUwsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9MT0FEX1VOTE9BRCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFVF9TVFJFQU1JTkcsIGZpbHRlci0+d3JpdGVfb2spOworfQorCitpbnQgYmxrX3JlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaykKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIgPSAmZGlzay0+Y21kX2ZpbHRlcjsKKwlzdHJ1Y3Qga29iamVjdCAqcGFyZW50ID0ga29iamVjdF9nZXQoZGlzay0+aG9sZGVyX2Rpci0+cGFyZW50KTsKKworCWlmICghcGFyZW50KQorCQlyZXR1cm4gLUVOT0RFVjsKKworCXJldCA9IGtvYmplY3RfaW5pdF9hbmRfYWRkKCZmaWx0ZXItPmtvYmosICZyY2Zfa3R5cGUsIHBhcmVudCwKKwkJCQkgIiVzIiwgImNtZF9maWx0ZXIiKTsKKworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJcmNmX3NldF9kZWZhdWx0cyhmaWx0ZXIpOworCXJldHVybiAwOworfQorCit2b2lkIGJsa191bnJlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaykKK3sKKwlzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyID0gJmRpc2stPmNtZF9maWx0ZXI7CisKKwlrb2JqZWN0X3B1dCgmZmlsdGVyLT5rb2JqKTsKKwlrb2JqZWN0X3B1dChkaXNrLT5ob2xkZXJfZGlyLT5wYXJlbnQpOworfQorCmRpZmYgLS1naXQgYS9ibG9jay9lbGV2YXRvci5jIGIvYmxvY2svZWxldmF0b3IuYwppbmRleCA5MDJkZDEzLi5lZDZmOGYzIDEwMDY0NAotLS0gYS9ibG9jay9lbGV2YXRvci5jCisrKyBiL2Jsb2NrL2VsZXZhdG9yLmMKQEAgLTg2LDYgKzg2LDEyIEBACiAJaWYgKHJxLT5ycV9kaXNrICE9IGJpby0+YmlfYmRldi0+YmRfZGlzayB8fCBycS0+c3BlY2lhbCkKIAkJcmV0dXJuIDA7CiAKKwkvKgorCSAqIG9ubHkgbWVyZ2UgaW50ZWdyaXR5IHByb3RlY3RlZCBiaW8gaW50byBkaXR0byBycQorCSAqLworCWlmIChiaW9faW50ZWdyaXR5KGJpbykgIT0gYmxrX2ludGVncml0eV9ycShycSkpCisJCXJldHVybiAwOworCiAJaWYgKCFlbHZfaW9zY2hlZF9hbGxvd19tZXJnZShycSwgYmlvKSkKIAkJcmV0dXJuIDA7CiAKQEAgLTE0NCw3ICsxNTAsNyBAQAogCQllbHNlCiAJCQlzcHJpbnRmKGVsdiwgIiVzLWlvc2NoZWQiLCBuYW1lKTsKIAotCQlyZXF1ZXN0X21vZHVsZShlbHYpOworCQlyZXF1ZXN0X21vZHVsZSgiJXMiLCBlbHYpOwogCQlzcGluX2xvY2soJmVsdl9saXN0X2xvY2spOwogCQllID0gZWxldmF0b3JfZmluZChuYW1lKTsKIAl9CmRpZmYgLS1naXQgYS9ibG9jay9nZW5oZC5jIGIvYmxvY2svZ2VuaGQuYwppbmRleCBiOTIyZDQ4Li45MDc0ZjM4IDEwMDY0NAotLS0gYS9ibG9jay9nZW5oZC5jCisrKyBiL2Jsb2NrL2dlbmhkLmMKQEAgLTE4OSw2ICsxODksNyBAQAogCQkJICAgIGRpc2stPm1pbm9ycywgTlVMTCwgZXhhY3RfbWF0Y2gsIGV4YWN0X2xvY2ssIGRpc2spOwogCXJlZ2lzdGVyX2Rpc2soZGlzayk7CiAJYmxrX3JlZ2lzdGVyX3F1ZXVlKGRpc2spOworCWJsa19yZWdpc3Rlcl9maWx0ZXIoZGlzayk7CiAKIAliZGkgPSAmZGlzay0+cXVldWUtPmJhY2tpbmdfZGV2X2luZm87CiAJYmRpX3JlZ2lzdGVyX2RldihiZGksIE1LREVWKGRpc2stPm1ham9yLCBkaXNrLT5maXJzdF9taW5vcikpOwpAQCAtMjAwLDYgKzIwMSw3IEBACiAKIHZvaWQgdW5saW5rX2dlbmRpc2soc3RydWN0IGdlbmRpc2sgKmRpc2spCiB7CisJYmxrX3VucmVnaXN0ZXJfZmlsdGVyKGRpc2spOwogCXN5c2ZzX3JlbW92ZV9saW5rKCZkaXNrLT5kZXYua29iaiwgImJkaSIpOwogCWJkaV91bnJlZ2lzdGVyKCZkaXNrLT5xdWV1ZS0+YmFja2luZ19kZXZfaW5mbyk7CiAJYmxrX3VucmVnaXN0ZXJfcXVldWUoZGlzayk7CkBAIC00MDAsNiArNDAyLDE0IEBACiAJCSAgICAgICAoZGlzay0+ZmxhZ3MgJiBHRU5IRF9GTF9SRU1PVkFCTEUgPyAxIDogMCkpOwogfQogCitzdGF0aWMgc3NpemVfdCBkaXNrX3JvX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGdlbmRpc2sgKmRpc2sgPSBkZXZfdG9fZGlzayhkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGRpc2stPnBvbGljeSA/IDEgOiAwKTsKK30KKwogc3RhdGljIHNzaXplX3QgZGlza19zaXplX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAogCQkJICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHsKQEAgLTQ3Miw2ICs0ODIsNyBAQAogCiBzdGF0aWMgREVWSUNFX0FUVFIocmFuZ2UsIFNfSVJVR08sIGRpc2tfcmFuZ2Vfc2hvdywgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIocmVtb3ZhYmxlLCBTX0lSVUdPLCBkaXNrX3JlbW92YWJsZV9zaG93LCBOVUxMKTsKK3N0YXRpYyBERVZJQ0VfQVRUUihybywgU19JUlVHTywgZGlza19yb19zaG93LCBOVUxMKTsKIHN0YXRpYyBERVZJQ0VfQVRUUihzaXplLCBTX0lSVUdPLCBkaXNrX3NpemVfc2hvdywgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIoY2FwYWJpbGl0eSwgU19JUlVHTywgZGlza19jYXBhYmlsaXR5X3Nob3csIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKHN0YXQsIFNfSVJVR08sIGRpc2tfc3RhdF9zaG93LCBOVUxMKTsKQEAgLTQ4Myw2ICs0OTQsNyBAQAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmRpc2tfYXR0cnNbXSA9IHsKIAkmZGV2X2F0dHJfcmFuZ2UuYXR0ciwKIAkmZGV2X2F0dHJfcmVtb3ZhYmxlLmF0dHIsCisJJmRldl9hdHRyX3JvLmF0dHIsCiAJJmRldl9hdHRyX3NpemUuYXR0ciwKIAkmZGV2X2F0dHJfY2FwYWJpbGl0eS5hdHRyLAogCSZkZXZfYXR0cl9zdGF0LmF0dHIsCmRpZmYgLS1naXQgYS9ibG9jay9zY3NpX2lvY3RsLmMgYi9ibG9jay9zY3NpX2lvY3RsLmMKaW5kZXggNzgxOTljMC4uYzViOWJjZiAxMDA2NDQKLS0tIGEvYmxvY2svc2NzaV9pb2N0bC5jCisrKyBiL2Jsb2NrL3Njc2lfaW9jdGwuYwpAQCAtMTA1LDEyMCArMTA1LDEyIEBACiAJcmV0dXJuIHB1dF91c2VyKDEsIHApOwogfQogCi0jZGVmaW5lIENNRF9SRUFEX1NBRkUJMHgwMQotI2RlZmluZSBDTURfV1JJVEVfU0FGRQkweDAyCi0jZGVmaW5lIENNRF9XQVJORUQJMHgwNAotI2RlZmluZSBzYWZlX2Zvcl9yZWFkKGNtZCkJW2NtZF0gPSBDTURfUkVBRF9TQUZFCi0jZGVmaW5lIHNhZmVfZm9yX3dyaXRlKGNtZCkJW2NtZF0gPSBDTURfV1JJVEVfU0FGRQotCi1pbnQgYmxrX3ZlcmlmeV9jb21tYW5kKHVuc2lnbmVkIGNoYXIgKmNtZCwgaW50IGhhc193cml0ZV9wZXJtKQotewotCXN0YXRpYyB1bnNpZ25lZCBjaGFyIGNtZF90eXBlWzI1Nl0gPSB7Ci0KLQkJLyogQmFzaWMgcmVhZC1vbmx5IGNvbW1hbmRzICovCi0JCXNhZmVfZm9yX3JlYWQoVEVTVF9VTklUX1JFQURZKSwKLQkJc2FmZV9mb3JfcmVhZChSRVFVRVNUX1NFTlNFKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEXzYpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTApLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTIpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTYpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfQlVGRkVSKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEX0RFRkVDVF9EQVRBKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEX0xPTkcpLAotCQlzYWZlX2Zvcl9yZWFkKElOUVVJUlkpLAotCQlzYWZlX2Zvcl9yZWFkKE1PREVfU0VOU0UpLAotCQlzYWZlX2Zvcl9yZWFkKE1PREVfU0VOU0VfMTApLAotCQlzYWZlX2Zvcl9yZWFkKExPR19TRU5TRSksCi0JCXNhZmVfZm9yX3JlYWQoU1RBUlRfU1RPUCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfVkVSSUZZXzEwKSwKLQkJc2FmZV9mb3JfcmVhZChWRVJJRllfMTYpLAotCi0JCS8qIEF1ZGlvIENEIGNvbW1hbmRzICovCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9DRCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9BVURJT18xMCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9BVURJT19NU0YpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BMQVlfQVVESU9fVEkpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BBVVNFX1JFU1VNRSksCi0KLQkJLyogQ0QvRFZEIGRhdGEgcmVhZGluZyAqLwotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfQlVGRkVSX0NBUEFDSVRZKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0NEKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0NEX01TRiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9ESVNDX0lORk8pLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfQ0RWRF9DQVBBQ0lUWSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0hFQURFUiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9UUkFDS19SWk9ORV9JTkZPKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX1NVQkNIQU5ORUwpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfVE9DX1BNQV9BVElQKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRVBPUlRfS0VZKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9TQ0FOKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9HRVRfQ09ORklHVVJBVElPTiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9GT1JNQVRfQ0FQQUNJVElFUyksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfR0VUX0VWRU5UX1NUQVRVU19OT1RJRklDQVRJT04pLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX0dFVF9QRVJGT1JNQU5DRSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfU0VFSyksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfU1RPUF9QTEFZX1NDQU4pLAotCi0JCS8qIEJhc2ljIHdyaXRpbmcgY29tbWFuZHMgKi8KLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfNiksCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFXzEwKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfVkVSSUZZKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfMTIpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV9WRVJJRllfMTIpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV8xNiksCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFX0xPTkcpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV9MT05HXzIpLAotCQlzYWZlX2Zvcl93cml0ZShFUkFTRSksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX01PREVfU0VMRUNUXzEwKSwKLQkJc2FmZV9mb3Jfd3JpdGUoTU9ERV9TRUxFQ1QpLAotCQlzYWZlX2Zvcl93cml0ZShMT0dfU0VMRUNUKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfQkxBTkspLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9DTE9TRV9UUkFDSyksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX0ZMVVNIX0NBQ0hFKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfRk9STUFUX1VOSVQpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9SRVBBSVJfUlpPTkVfVFJBQ0spLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9SRVNFUlZFX1JaT05FX1RSQUNLKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9EVkRfU1RSVUNUVVJFKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9FVkVOVCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFTkRfS0VZKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9PUEMpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9TRU5EX0NVRV9TSEVFVCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFVF9TUEVFRCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUwpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9MT0FEX1VOTE9BRCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFVF9TVFJFQU1JTkcpLAotCX07Ci0JdW5zaWduZWQgY2hhciB0eXBlID0gY21kX3R5cGVbY21kWzBdXTsKLQotCS8qIEFueWJvZHkgd2hvIGNhbiBvcGVuIHRoZSBkZXZpY2UgY2FuIGRvIGEgcmVhZC1zYWZlIGNvbW1hbmQgKi8KLQlpZiAodHlwZSAmIENNRF9SRUFEX1NBRkUpCi0JCXJldHVybiAwOwotCi0JLyogV3JpdGUtc2FmZSBjb21tYW5kcyBqdXN0IHJlcXVpcmUgYSB3cml0YWJsZSBvcGVuLi4gKi8KLQlpZiAoKHR5cGUgJiBDTURfV1JJVEVfU0FGRSkgJiYgaGFzX3dyaXRlX3Blcm0pCi0JCXJldHVybiAwOwotCi0JLyogQW5kIHJvb3QgY2FuIGRvIGFueSBjb21tYW5kLi4gKi8KLQlpZiAoY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoIXR5cGUpIHsKLQkJY21kX3R5cGVbY21kWzBdXSA9IENNRF9XQVJORUQ7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgInNjc2k6IHVua25vd24gb3Bjb2RlIDB4JTAyeFxuIiwgY21kWzBdKTsKLQl9Ci0KLQkvKiBPdGhlcndpc2UgZmFpbCBpdCB3aXRoIGFuICJPcGVyYXRpb24gbm90IHBlcm1pdHRlZCIgKi8KLQlyZXR1cm4gLUVQRVJNOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoYmxrX3ZlcmlmeV9jb21tYW5kKTsKLQogc3RhdGljIGludCBibGtfZmlsbF9zZ2hkcl9ycShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxLAotCQkJICAgICBzdHJ1Y3Qgc2dfaW9faGRyICpoZHIsIGludCBoYXNfd3JpdGVfcGVybSkKKwkJCSAgICAgc3RydWN0IHNnX2lvX2hkciAqaGRyLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlpZiAoY29weV9mcm9tX3VzZXIocnEtPmNtZCwgaGRyLT5jbWRwLCBoZHItPmNtZF9sZW4pKQogCQlyZXR1cm4gLUVGQVVMVDsKLQlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKHJxLT5jbWQsIGhhc193cml0ZV9wZXJtKSkKKwlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKGZpbGUsIHJxLT5jbWQpKQogCQlyZXR1cm4gLUVQRVJNOwogCiAJLyoKQEAgLTI4Nyw3ICsxNzksNyBAQAogCQlzdHJ1Y3QgZ2VuZGlzayAqYmRfZGlzaywgc3RydWN0IHNnX2lvX2hkciAqaGRyKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnRfdGltZTsKLQlpbnQgd3JpdGluZyA9IDAsIHJldCA9IDAsIGhhc193cml0ZV9wZXJtID0gMDsKKwlpbnQgd3JpdGluZyA9IDAsIHJldCA9IDA7CiAJc3RydWN0IHJlcXVlc3QgKnJxOwogCWNoYXIgc2Vuc2VbU0NTSV9TRU5TRV9CVUZGRVJTSVpFXTsKIAlzdHJ1Y3QgYmlvICpiaW87CkBAIC0zMTYsMTAgKzIwOCw3IEBACiAJaWYgKCFycSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlpZiAoZmlsZSkKLQkJaGFzX3dyaXRlX3Blcm0gPSBmaWxlLT5mX21vZGUgJiBGTU9ERV9XUklURTsKLQotCWlmIChibGtfZmlsbF9zZ2hkcl9ycShxLCBycSwgaGRyLCBoYXNfd3JpdGVfcGVybSkpIHsKKwlpZiAoYmxrX2ZpbGxfc2doZHJfcnEocSwgcnEsIGhkciwgZmlsZSkpIHsKIAkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQpAQCAtNDUxLDcgKzM0MCw3IEBACiAJaWYgKGluX2xlbiAmJiBjb3B5X2Zyb21fdXNlcihidWZmZXIsIHNpYy0+ZGF0YSArIGNtZGxlbiwgaW5fbGVuKSkKIAkJZ290byBlcnJvcjsKIAotCWVyciA9IGJsa192ZXJpZnlfY29tbWFuZChycS0+Y21kLCBmaWxlLT5mX21vZGUgJiBGTU9ERV9XUklURSk7CisJZXJyID0gYmxrX3ZlcmlmeV9jb21tYW5kKGZpbGUsIHJxLT5jbWQpOwogCWlmIChlcnIpCiAJCWdvdG8gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9LY29uZmlnIGIvY3J5cHRvL0tjb25maWcKaW5kZXggODY0NDU2Yy4uZWE1MDM1NyAxMDA2NDQKLS0tIGEvY3J5cHRvL0tjb25maWcKKysrIGIvY3J5cHRvL0tjb25maWcKQEAgLTY1LDYgKzY1LDcgQEAKIGNvbmZpZyBDUllQVE9fQ1JZUFRECiAJdHJpc3RhdGUgIlNvZnR3YXJlIGFzeW5jIGNyeXB0byBkYWVtb24iCiAJc2VsZWN0IENSWVBUT19CTEtDSVBIRVIKKwlzZWxlY3QgQ1JZUFRPX0hBU0gKIAlzZWxlY3QgQ1JZUFRPX01BTkFHRVIKIAloZWxwCiAJICBUaGlzIGlzIGEgZ2VuZXJpYyBzb2Z0d2FyZSBhc3luY2hyb25vdXMgY3J5cHRvIGRhZW1vbiB0aGF0CkBAIC0yMTIsNyArMjEzLDcgQEAKIAogY29uZmlnIENSWVBUT19DUkMzMkMKIAl0cmlzdGF0ZSAiQ1JDMzJjIENSQyBhbGdvcml0aG0iCi0Jc2VsZWN0IENSWVBUT19BTEdBUEkKKwlzZWxlY3QgQ1JZUFRPX0hBU0gKIAlzZWxlY3QgTElCQ1JDMzJDCiAJaGVscAogCSAgQ2FzdGFnbm9saSwgZXQgYWwgQ3ljbGljIFJlZHVuZGFuY3ktQ2hlY2sgQWxnb3JpdGhtLiAgVXNlZApAQCAtMjQxLDYgKzI0Miw1NyBAQAogCSAgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBvdGhlciBwdXJwb3NlcyBiZWNhdXNlIG9mIHRoZSB3ZWFrbmVzcwogCSAgb2YgdGhlIGFsZ29yaXRobS4KIAorY29uZmlnIENSWVBUT19STUQxMjgKKyAgdHJpc3RhdGUgIlJJUEVNRC0xMjggZGlnZXN0IGFsZ29yaXRobSIKKyAgc2VsZWN0IENSWVBUT19BTEdBUEkKKyAgaGVscAorICAgIFJJUEVNRC0xMjggKElTTy9JRUMgMTAxMTgtMzoyMDA0KS4KKworICAgIFJJUEVNRC0xMjggaXMgYSAxMjgtYml0IGNyeXB0b2dyYXBoaWMgaGFzaCBmdW5jdGlvbi4gSXQgc2hvdWxkIG9ubHkKKyAgICB0byBiZSB1c2VkIGFzIGEgc2VjdXJlIHJlcGxhY2VtZW50IGZvciBSSVBFTUQuIEZvciBvdGhlciB1c2UgY2FzZXMKKyAgICBSSVBFTUQtMTYwIHNob3VsZCBiZSB1c2VkLgorCisgICAgRGV2ZWxvcGVkIGJ5IEhhbnMgRG9iYmVydGluLCBBbnRvb24gQm9zc2VsYWVycyBhbmQgQmFydCBQcmVuZWVsLgorICAgIFNlZSA8aHR0cDovL2hvbWUuZXNhdC5rdWxldXZlbi5iZS9+Ym9zc2VsYWUvcmlwZW1kMTYwLmh0bWw+CisKK2NvbmZpZyBDUllQVE9fUk1EMTYwCisgIHRyaXN0YXRlICJSSVBFTUQtMTYwIGRpZ2VzdCBhbGdvcml0aG0iCisgIHNlbGVjdCBDUllQVE9fQUxHQVBJCisgIGhlbHAKKyAgICBSSVBFTUQtMTYwIChJU08vSUVDIDEwMTE4LTM6MjAwNCkuCisKKyAgICBSSVBFTUQtMTYwIGlzIGEgMTYwLWJpdCBjcnlwdG9ncmFwaGljIGhhc2ggZnVuY3Rpb24uIEl0IGlzIGludGVuZGVkCisgICAgdG8gYmUgdXNlZCBhcyBhIHNlY3VyZSByZXBsYWNlbWVudCBmb3IgdGhlIDEyOC1iaXQgaGFzaCBmdW5jdGlvbnMKKyAgICBNRDQsIE1ENSBhbmQgaXQncyBwcmVkZWNlc3NvciBSSVBFTUQgKG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIFJJUEVNRC0xMjgpLgorCisgICAgSXQncyBzcGVlZCBpcyBjb21wYXJhYmxlIHRvIFNIQTEgYW5kIHRoZXJlIGFyZSBubyBrbm93biBhdHRhY2tzIGFnYWluc3QKKyAgICBSSVBFTUQtMTYwLgorCisgICAgRGV2ZWxvcGVkIGJ5IEhhbnMgRG9iYmVydGluLCBBbnRvb24gQm9zc2VsYWVycyBhbmQgQmFydCBQcmVuZWVsLgorICAgIFNlZSA8aHR0cDovL2hvbWUuZXNhdC5rdWxldXZlbi5iZS9+Ym9zc2VsYWUvcmlwZW1kMTYwLmh0bWw+CisKK2NvbmZpZyBDUllQVE9fUk1EMjU2CisgIHRyaXN0YXRlICJSSVBFTUQtMjU2IGRpZ2VzdCBhbGdvcml0aG0iCisgIHNlbGVjdCBDUllQVE9fQUxHQVBJCisgIGhlbHAKKyAgICBSSVBFTUQtMjU2IGlzIGFuIG9wdGlvbmFsIGV4dGVuc2lvbiBvZiBSSVBFTUQtMTI4IHdpdGggYSAyNTYgYml0IGhhc2guCisgICAgSXQgaXMgaW50ZW5kZWQgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IHJlcXVpcmUgbG9uZ2VyIGhhc2gtcmVzdWx0cywgd2l0aG91dAorICAgIG5lZWRpbmcgYSBsYXJnZXIgc2VjdXJpdHkgbGV2ZWwgKHRoYW4gUklQRU1ELTEyOCkuCisKKyAgICBEZXZlbG9wZWQgYnkgSGFucyBEb2JiZXJ0aW4sIEFudG9vbiBCb3NzZWxhZXJzIGFuZCBCYXJ0IFByZW5lZWwuCisgICAgU2VlIDxodHRwOi8vaG9tZS5lc2F0Lmt1bGV1dmVuLmJlL35ib3NzZWxhZS9yaXBlbWQxNjAuaHRtbD4KKworY29uZmlnIENSWVBUT19STUQzMjAKKyAgdHJpc3RhdGUgIlJJUEVNRC0zMjAgZGlnZXN0IGFsZ29yaXRobSIKKyAgc2VsZWN0IENSWVBUT19BTEdBUEkKKyAgaGVscAorICAgIFJJUEVNRC0zMjAgaXMgYW4gb3B0aW9uYWwgZXh0ZW5zaW9uIG9mIFJJUEVNRC0xNjAgd2l0aCBhIDMyMCBiaXQgaGFzaC4KKyAgICBJdCBpcyBpbnRlbmRlZCBmb3IgYXBwbGljYXRpb25zIHRoYXQgcmVxdWlyZSBsb25nZXIgaGFzaC1yZXN1bHRzLCB3aXRob3V0CisgICAgbmVlZGluZyBhIGxhcmdlciBzZWN1cml0eSBsZXZlbCAodGhhbiBSSVBFTUQtMTYwKS4KKworICAgIERldmVsb3BlZCBieSBIYW5zIERvYmJlcnRpbiwgQW50b29uIEJvc3NlbGFlcnMgYW5kIEJhcnQgUHJlbmVlbC4KKyAgICBTZWUgPGh0dHA6Ly9ob21lLmVzYXQua3VsZXV2ZW4uYmUvfmJvc3NlbGFlL3JpcGVtZDE2MC5odG1sPgorCiBjb25maWcgQ1JZUFRPX1NIQTEKIAl0cmlzdGF0ZSAiU0hBMSBkaWdlc3QgYWxnb3JpdGhtIgogCXNlbGVjdCBDUllQVE9fQUxHQVBJCkBAIC02MTQsNiArNjY2LDE1IEBACiAJaGVscAogCSAgVGhpcyBpcyB0aGUgTFpPIGFsZ29yaXRobS4KIAorY29tbWVudCAiUmFuZG9tIE51bWJlciBHZW5lcmF0aW9uIgorCitjb25maWcgQ1JZUFRPX1BSTkcKKwl0cmlzdGF0ZSAiUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdGlvbiBmb3IgQ3J5cHRvZ3JhcGhpYyBtb2R1bGVzIgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIGdlbmVyaWMgcHNldWRvIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yCisJICBmb3IgY3J5cHRvZ3JhcGhpYyBtb2R1bGVzLiAgVXNlcyB0aGUgQWxnb3JpdGhtIHNwZWNpZmllZCBpbgorCSAgQU5TSSBYOS4zMSBBLjIuNAorCiBzb3VyY2UgImRyaXZlcnMvY3J5cHRvL0tjb25maWciCiAKIGVuZGlmCSMgaWYgQ1JZUFRPCmRpZmYgLS1naXQgYS9jcnlwdG8vTWFrZWZpbGUgYi9jcnlwdG8vTWFrZWZpbGUKaW5kZXggY2EwMjQ0MS4uZWY2MWIzYiAxMDA2NDQKLS0tIGEvY3J5cHRvL01ha2VmaWxlCisrKyBiL2NyeXB0by9NYWtlZmlsZQpAQCAtMTksNiArMTksNyBAQAogb2JqLSQoQ09ORklHX0NSWVBUT19TRVFJVikgKz0gc2VxaXYubwogCiBjcnlwdG9faGFzaC1vYmpzIDo9IGhhc2gubworY3J5cHRvX2hhc2gtb2JqcyArPSBhaGFzaC5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0hBU0gpICs9IGNyeXB0b19oYXNoLm8KIAogb2JqLSQoQ09ORklHX0NSWVBUT19NQU5BR0VSKSArPSBjcnlwdG9tZ3IubwpAQCAtMjcsNiArMjgsMTAgQEAKIG9iai0kKENPTkZJR19DUllQVE9fTlVMTCkgKz0gY3J5cHRvX251bGwubwogb2JqLSQoQ09ORklHX0NSWVBUT19NRDQpICs9IG1kNC5vCiBvYmotJChDT05GSUdfQ1JZUFRPX01ENSkgKz0gbWQ1Lm8KK29iai0kKENPTkZJR19DUllQVE9fUk1EMTI4KSArPSBybWQxMjgubworb2JqLSQoQ09ORklHX0NSWVBUT19STUQxNjApICs9IHJtZDE2MC5vCitvYmotJChDT05GSUdfQ1JZUFRPX1JNRDI1NikgKz0gcm1kMjU2Lm8KK29iai0kKENPTkZJR19DUllQVE9fUk1EMzIwKSArPSBybWQzMjAubwogb2JqLSQoQ09ORklHX0NSWVBUT19TSEExKSArPSBzaGExX2dlbmVyaWMubwogb2JqLSQoQ09ORklHX0NSWVBUT19TSEEyNTYpICs9IHNoYTI1Nl9nZW5lcmljLm8KIG9iai0kKENPTkZJR19DUllQVE9fU0hBNTEyKSArPSBzaGE1MTJfZ2VuZXJpYy5vCkBAIC02NCw3ICs2OSw3IEBACiBvYmotJChDT05GSUdfQ1JZUFRPX0NSQzMyQykgKz0gY3JjMzJjLm8KIG9iai0kKENPTkZJR19DUllQVE9fQVVUSEVOQykgKz0gYXV0aGVuYy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0xaTykgKz0gbHpvLm8KLQorb2JqLSQoQ09ORklHX0NSWVBUT19QUk5HKSArPSBwcm5nLm8KIG9iai0kKENPTkZJR19DUllQVE9fVEVTVCkgKz0gdGNyeXB0Lm8KIAogIwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2FoYXNoLmMgYi9jcnlwdG8vYWhhc2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzEyOGYyCi0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL2FoYXNoLmMKQEAgLTAsMCArMSwxOTQgQEAKKy8qCisgKiBBc3luY2hyb25vdXMgQ3J5cHRvZ3JhcGhpYyBIYXNoIG9wZXJhdGlvbnMuCisgKgorICogVGhpcyBpcyB0aGUgYXN5bmNocm9ub3VzIHZlcnNpb24gb2YgaGFzaC5jIHdpdGggbm90aWZpY2F0aW9uIG9mCisgKiBjb21wbGV0aW9uIHZpYSBhIGNhbGxiYWNrLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBMb2MgSG8gPGxob0BhbWNjLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2NhdHRlcndhbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorCisjaW5jbHVkZSAiaW50ZXJuYWwuaCIKKworc3RhdGljIGludCBoYXNoX3dhbGtfbmV4dChzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayAqd2FsaykKK3sKKwl1bnNpZ25lZCBpbnQgYWxpZ25tYXNrID0gd2Fsay0+YWxpZ25tYXNrOworCXVuc2lnbmVkIGludCBvZmZzZXQgPSB3YWxrLT5vZmZzZXQ7CisJdW5zaWduZWQgaW50IG5ieXRlcyA9IG1pbih3YWxrLT5lbnRyeWxlbiwKKwkJCQkgICgodW5zaWduZWQgaW50KShQQUdFX1NJWkUpKSAtIG9mZnNldCk7CisKKwl3YWxrLT5kYXRhID0gY3J5cHRvX2ttYXAod2Fsay0+cGcsIDApOworCXdhbGstPmRhdGEgKz0gb2Zmc2V0OworCisJaWYgKG9mZnNldCAmIGFsaWdubWFzaykKKwkJbmJ5dGVzID0gYWxpZ25tYXNrICsgMSAtIChvZmZzZXQgJiBhbGlnbm1hc2spOworCisJd2Fsay0+ZW50cnlsZW4gLT0gbmJ5dGVzOworCXJldHVybiBuYnl0ZXM7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF93YWxrX25ld19lbnRyeShzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayAqd2FsaykKK3sKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCisJc2cgPSB3YWxrLT5zZzsKKwl3YWxrLT5wZyA9IHNnX3BhZ2Uoc2cpOworCXdhbGstPm9mZnNldCA9IHNnLT5vZmZzZXQ7CisJd2Fsay0+ZW50cnlsZW4gPSBzZy0+bGVuZ3RoOworCisJaWYgKHdhbGstPmVudHJ5bGVuID4gd2Fsay0+dG90YWwpCisJCXdhbGstPmVudHJ5bGVuID0gd2Fsay0+dG90YWw7CisJd2Fsay0+dG90YWwgLT0gd2Fsay0+ZW50cnlsZW47CisKKwlyZXR1cm4gaGFzaF93YWxrX25leHQod2Fsayk7Cit9CisKK2ludCBjcnlwdG9faGFzaF93YWxrX2RvbmUoc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGssIGludCBlcnIpCit7CisJdW5zaWduZWQgaW50IGFsaWdubWFzayA9IHdhbGstPmFsaWdubWFzazsKKwl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gd2Fsay0+ZW50cnlsZW47CisKKwl3YWxrLT5kYXRhIC09IHdhbGstPm9mZnNldDsKKworCWlmIChuYnl0ZXMgJiYgd2Fsay0+b2Zmc2V0ICYgYWxpZ25tYXNrICYmICFlcnIpIHsKKwkJd2Fsay0+b2Zmc2V0ICs9IGFsaWdubWFzayAtIDE7CisJCXdhbGstPm9mZnNldCA9IEFMSUdOKHdhbGstPm9mZnNldCwgYWxpZ25tYXNrICsgMSk7CisJCXdhbGstPmRhdGEgKz0gd2Fsay0+b2Zmc2V0OworCisJCW5ieXRlcyA9IG1pbihuYnl0ZXMsCisJCQkgICAgICgodW5zaWduZWQgaW50KShQQUdFX1NJWkUpKSAtIHdhbGstPm9mZnNldCk7CisJCXdhbGstPmVudHJ5bGVuIC09IG5ieXRlczsKKworCQlyZXR1cm4gbmJ5dGVzOworCX0KKworCWNyeXB0b19rdW5tYXAod2Fsay0+ZGF0YSwgMCk7CisJY3J5cHRvX3lpZWxkKHdhbGstPmZsYWdzKTsKKworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwl3YWxrLT5vZmZzZXQgPSAwOworCisJaWYgKG5ieXRlcykKKwkJcmV0dXJuIGhhc2hfd2Fsa19uZXh0KHdhbGspOworCisJaWYgKCF3YWxrLT50b3RhbCkKKwkJcmV0dXJuIDA7CisKKwl3YWxrLT5zZyA9IHNjYXR0ZXJ3YWxrX3NnX25leHQod2Fsay0+c2cpOworCisJcmV0dXJuIGhhc2hfd2Fsa19uZXdfZW50cnkod2Fsayk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChjcnlwdG9faGFzaF93YWxrX2RvbmUpOworCitpbnQgY3J5cHRvX2hhc2hfd2Fsa19maXJzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJICAgc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGspCit7CisJd2Fsay0+dG90YWwgPSByZXEtPm5ieXRlczsKKworCWlmICghd2Fsay0+dG90YWwpCisJCXJldHVybiAwOworCisJd2Fsay0+YWxpZ25tYXNrID0gY3J5cHRvX2FoYXNoX2FsaWdubWFzayhjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSkpOworCXdhbGstPnNnID0gcmVxLT5zcmM7CisJd2Fsay0+ZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3M7CisKKwlyZXR1cm4gaGFzaF93YWxrX25ld19lbnRyeSh3YWxrKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNyeXB0b19oYXNoX3dhbGtfZmlyc3QpOworCitzdGF0aWMgaW50IGFoYXNoX3NldGtleV91bmFsaWduZWQoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGFoYXNoX2FsZyAqYWhhc2ggPSBjcnlwdG9fYWhhc2hfYWxnKHRmbSk7CisJdW5zaWduZWQgbG9uZyBhbGlnbm1hc2sgPSBjcnlwdG9fYWhhc2hfYWxpZ25tYXNrKHRmbSk7CisJaW50IHJldDsKKwl1OCAqYnVmZmVyLCAqYWxpZ25idWZmZXI7CisJdW5zaWduZWQgbG9uZyBhYnNpemU7CisKKwlhYnNpemUgPSBrZXlsZW4gKyBhbGlnbm1hc2s7CisJYnVmZmVyID0ga21hbGxvYyhhYnNpemUsIEdGUF9BVE9NSUMpOworCWlmICghYnVmZmVyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWFsaWduYnVmZmVyID0gKHU4ICopQUxJR04oKHVuc2lnbmVkIGxvbmcpYnVmZmVyLCBhbGlnbm1hc2sgKyAxKTsKKwltZW1jcHkoYWxpZ25idWZmZXIsIGtleSwga2V5bGVuKTsKKwlyZXQgPSBhaGFzaC0+c2V0a2V5KHRmbSwgYWxpZ25idWZmZXIsIGtleWxlbik7CisJbWVtc2V0KGFsaWduYnVmZmVyLCAwLCBrZXlsZW4pOworCWtmcmVlKGJ1ZmZlcik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhaGFzaF9zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgYWhhc2hfYWxnICphaGFzaCA9IGNyeXB0b19haGFzaF9hbGcodGZtKTsKKwl1bnNpZ25lZCBsb25nIGFsaWdubWFzayA9IGNyeXB0b19haGFzaF9hbGlnbm1hc2sodGZtKTsKKworCWlmICgodW5zaWduZWQgbG9uZylrZXkgJiBhbGlnbm1hc2spCisJCXJldHVybiBhaGFzaF9zZXRrZXlfdW5hbGlnbmVkKHRmbSwga2V5LCBrZXlsZW4pOworCisJcmV0dXJuIGFoYXNoLT5zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgY3J5cHRvX2FoYXNoX2N0eHNpemUoc3RydWN0IGNyeXB0b19hbGcgKmFsZywgdTMyIHR5cGUsCisJCQkJCXUzMiBtYXNrKQoreworCXJldHVybiBhbGctPmNyYV9jdHhzaXplOworfQorCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2FoYXNoX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1MzIgdHlwZSwgdTMyIG1hc2spCit7CisJc3RydWN0IGFoYXNoX2FsZyAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfYWhhc2g7CisJc3RydWN0IGFoYXNoX3RmbSAqY3J0ICAgPSAmdGZtLT5jcnRfYWhhc2g7CisKKwlpZiAoYWxnLT5kaWdlc3RzaXplID4gUEFHRV9TSVpFIC8gOCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljcnQtPmluaXQgPSBhbGctPmluaXQ7CisJY3J0LT51cGRhdGUgPSBhbGctPnVwZGF0ZTsKKwljcnQtPmZpbmFsICA9IGFsZy0+ZmluYWw7CisJY3J0LT5kaWdlc3QgPSBhbGctPmRpZ2VzdDsKKwljcnQtPnNldGtleSA9IGFoYXNoX3NldGtleTsKKwljcnQtPmRpZ2VzdHNpemUgPSBhbGctPmRpZ2VzdHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY3J5cHRvX2FoYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQorCV9fYXR0cmlidXRlX18gKCh1bnVzZWQpKTsKK3N0YXRpYyB2b2lkIGNyeXB0b19haGFzaF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGNyeXB0b19hbGcgKmFsZykKK3sKKwlzZXFfcHJpbnRmKG0sICJ0eXBlICAgICAgICAgOiBhaGFzaFxuIik7CisJc2VxX3ByaW50ZihtLCAiYXN5bmMgICAgICAgIDogJXNcbiIsIGFsZy0+Y3JhX2ZsYWdzICYgQ1JZUFRPX0FMR19BU1lOQyA/CisJCQkJCSAgICAgInllcyIgOiAibm8iKTsKKwlzZXFfcHJpbnRmKG0sICJibG9ja3NpemUgICAgOiAldVxuIiwgYWxnLT5jcmFfYmxvY2tzaXplKTsKKwlzZXFfcHJpbnRmKG0sICJkaWdlc3RzaXplICAgOiAldVxuIiwgYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplKTsKK30KKworY29uc3Qgc3RydWN0IGNyeXB0b190eXBlIGNyeXB0b19haGFzaF90eXBlID0geworCS5jdHhzaXplID0gY3J5cHRvX2FoYXNoX2N0eHNpemUsCisJLmluaXQgPSBjcnlwdG9faW5pdF9haGFzaF9vcHMsCisjaWZkZWYgQ09ORklHX1BST0NfRlMKKwkuc2hvdyA9IGNyeXB0b19haGFzaF9zaG93LAorI2VuZGlmCit9OworRVhQT1JUX1NZTUJPTF9HUEwoY3J5cHRvX2FoYXNoX3R5cGUpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFzeW5jaHJvbm91cyBjcnlwdG9ncmFwaGljIGhhc2ggdHlwZSIpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2FwaS5jIGIvY3J5cHRvL2FwaS5jCmluZGV4IDBhMGY0MWUuLmQwNmUzMzIgMTAwNjQ0Ci0tLSBhL2NyeXB0by9hcGkuYworKysgYi9jcnlwdG8vYXBpLmMKQEAgLTIzNSw4ICsyMzUsMTIgQEAKIAkJcmV0dXJuIGNyeXB0b19pbml0X2NpcGhlcl9vcHModGZtKTsKIAkJCiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfRElHRVNUOgotCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wcyh0Zm0pOwotCQkKKwkJaWYgKChtYXNrICYgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSykgIT0KKwkJICAgIENSWVBUT19BTEdfVFlQRV9IQVNIX01BU0spCisJCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wc19hc3luYyh0Zm0pOworCQllbHNlCisJCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wcyh0Zm0pOworCiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfQ09NUFJFU1M6CiAJCXJldHVybiBjcnlwdG9faW5pdF9jb21wcmVzc19vcHModGZtKTsKIAkKZGlmZiAtLWdpdCBhL2NyeXB0by9hc3luY190eC9hc3luY190eC5jIGIvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKaW5kZXggYzZlNzcyZi4uMDk1Yzc5OCAxMDA2NDQKLS0tIGEvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKKysrIGIvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKQEAgLTIzLDYgKzIzLDcgQEAKICAqIDUxIEZyYW5rbGluIFN0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCiAgKgogICovCisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2FzeW5jX3R4Lmg+CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9jYW1lbGxpYS5jIGIvY3J5cHRvL2NhbWVsbGlhLmMKaW5kZXggNDkzZmVlNy4uYjFjYzRkZSAxMDA2NDQKLS0tIGEvY3J5cHRvL2NhbWVsbGlhLmMKKysrIGIvY3J5cHRvL2NhbWVsbGlhLmMKQEAgLTM1LDYgKzM1LDggQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgogCiBzdGF0aWMgY29uc3QgdTMyIGNhbWVsbGlhX3NwMTExMFsyNTZdID0gewogCTB4NzA3MDcwMDAsMHg4MjgyODIwMCwweDJjMmMyYzAwLDB4ZWNlY2VjMDAsCkBAIC0zMzUsMjAgKzMzNyw2IEBACiAvKgogICogIG1hY3JvcwogICovCi0jZGVmaW5lIEdFVFUzMih2LCBwdCkgXAotICAgIGRvIHsgXAotCS8qIGxhdGVzdCBicmVlZCBvZiBnY2MgaXMgY2xldmVyIGVub3VnaCB0byB1c2UgbW92ZSAqLyBcCi0JbWVtY3B5KCYodiksIChwdCksIDQpOyBcCi0JKHYpID0gYmUzMl90b19jcHUodik7IFwKLSAgICB9IHdoaWxlKDApCi0KLS8qIHJvdGF0aW9uIHJpZ2h0IHNoaWZ0IDFieXRlICovCi0jZGVmaW5lIFJPUjgoeCkgKCgoeCkgPj4gOCkgKyAoKHgpIDw8IDI0KSkKLS8qIHJvdGF0aW9uIGxlZnQgc2hpZnQgMWJpdCAqLwotI2RlZmluZSBST0wxKHgpICgoKHgpIDw8IDEpICsgKCh4KSA+PiAzMSkpCi0vKiByb3RhdGlvbiBsZWZ0IHNoaWZ0IDFieXRlICovCi0jZGVmaW5lIFJPTDgoeCkgKCgoeCkgPDwgOCkgKyAoKHgpID4+IDI0KSkKLQogI2RlZmluZSBST0xEUShsbCwgbHIsIHJsLCByciwgdzAsIHcxLCBiaXRzKQkJXAogICAgIGRvIHsJCQkJCQlcCiAJdzAgPSBsbDsJCQkJCVwKQEAgLTM4Myw3ICszNzEsNyBAQAogCSAgIF4gY2FtZWxsaWFfc3AzMDMzWyh1OCkoaWwgPj4gOCldCQkJXAogCSAgIF4gY2FtZWxsaWFfc3A0NDA0Wyh1OCkoaWwgICAgICldOwkJCVwKIAl5bCBePSB5cjsJCQkJCQlcCi0JeXIgPSBST1I4KHlyKTsJCQkJCQlcCisJeXIgPSByb3IzMih5ciwgOCk7CQkJCQlcCiAJeXIgXj0geWw7CQkJCQkJXAogICAgIH0gd2hpbGUoMCkKIApAQCAtNDA1LDcgKzM5Myw3IEBACiAJc3ViTFs3XSBePSBzdWJMWzFdOyBzdWJSWzddIF49IHN1YlJbMV07CiAJc3ViTFsxXSBePSBzdWJSWzFdICYgfnN1YlJbOV07CiAJZHcgPSBzdWJMWzFdICYgc3ViTFs5XSwKLQkJc3ViUlsxXSBePSBST0wxKGR3KTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsMikgKi8KKwkJc3ViUlsxXSBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDIpICovCiAJLyogcm91bmQgOCAqLwogCXN1YkxbMTFdIF49IHN1YkxbMV07IHN1YlJbMTFdIF49IHN1YlJbMV07CiAJLyogcm91bmQgMTAgKi8KQEAgLTQxNCw3ICs0MDIsNyBAQAogCXN1YkxbMTVdIF49IHN1YkxbMV07IHN1YlJbMTVdIF49IHN1YlJbMV07CiAJc3ViTFsxXSBePSBzdWJSWzFdICYgfnN1YlJbMTddOwogCWR3ID0gc3ViTFsxXSAmIHN1YkxbMTddLAotCQlzdWJSWzFdIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2w0KSAqLworCQlzdWJSWzFdIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsNCkgKi8KIAkvKiByb3VuZCAxNCAqLwogCXN1YkxbMTldIF49IHN1YkxbMV07IHN1YlJbMTldIF49IHN1YlJbMV07CiAJLyogcm91bmQgMTYgKi8KQEAgLTQzMCw3ICs0MTgsNyBAQAogCX0gZWxzZSB7CiAJCXN1YkxbMV0gXj0gc3ViUlsxXSAmIH5zdWJSWzI1XTsKIAkJZHcgPSBzdWJMWzFdICYgc3ViTFsyNV0sCi0JCQlzdWJSWzFdIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2w2KSAqLworCQkJc3ViUlsxXSBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDYpICovCiAJCS8qIHJvdW5kIDIwICovCiAJCXN1YkxbMjddIF49IHN1YkxbMV07IHN1YlJbMjddIF49IHN1YlJbMV07CiAJCS8qIHJvdW5kIDIyICovCkBAIC00NTAsNyArNDM4LDcgQEAKIAkJc3ViTFsyNl0gXj0ga3c0bDsgc3ViUlsyNl0gXj0ga3c0cjsKIAkJa3c0bCBePSBrdzRyICYgfnN1YlJbMjRdOwogCQlkdyA9IGt3NGwgJiBzdWJMWzI0XSwKLQkJCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDUpICovCisJCQlrdzRyIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMKGtsNSkgKi8KIAl9CiAJLyogcm91bmQgMTcgKi8KIAlzdWJMWzIyXSBePSBrdzRsOyBzdWJSWzIyXSBePSBrdzRyOwpAQCAtNDYwLDcgKzQ0OCw3IEBACiAJc3ViTFsxOF0gXj0ga3c0bDsgc3ViUlsxOF0gXj0ga3c0cjsKIAlrdzRsIF49IGt3NHIgJiB+c3ViUlsxNl07CiAJZHcgPSBrdzRsICYgc3ViTFsxNl0sCi0JCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDMpICovCisJCWt3NHIgXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wzKSAqLwogCS8qIHJvdW5kIDExICovCiAJc3ViTFsxNF0gXj0ga3c0bDsgc3ViUlsxNF0gXj0ga3c0cjsKIAkvKiByb3VuZCA5ICovCkBAIC00NjksNyArNDU3LDcgQEAKIAlzdWJMWzEwXSBePSBrdzRsOyBzdWJSWzEwXSBePSBrdzRyOwogCWt3NGwgXj0ga3c0ciAmIH5zdWJSWzhdOwogCWR3ID0ga3c0bCAmIHN1YkxbOF0sCi0JCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDEpICovCisJCWt3NHIgXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wxKSAqLwogCS8qIHJvdW5kIDUgKi8KIAlzdWJMWzZdIF49IGt3NGw7IHN1YlJbNl0gXj0ga3c0cjsKIAkvKiByb3VuZCAzICovCkBAIC00OTQsNyArNDgyLDcgQEAKIAlTVUJLRVlfUig2KSA9IHN1YlJbNV0gXiBzdWJSWzddOwogCXRsID0gc3ViTFsxMF0gXiAoc3ViUlsxMF0gJiB+c3ViUls4XSk7CiAJZHcgPSB0bCAmIHN1YkxbOF0sICAvKiBGTChrbDEpICovCi0JCXRyID0gc3ViUlsxMF0gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzEwXSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCg3KSA9IHN1YkxbNl0gXiB0bDsgLyogcm91bmQgNiAqLwogCVNVQktFWV9SKDcpID0gc3ViUls2XSBeIHRyOwogCVNVQktFWV9MKDgpID0gc3ViTFs4XTsgICAgICAgLyogRkwoa2wxKSAqLwpAQCAtNTAzLDcgKzQ5MSw3IEBACiAJU1VCS0VZX1IoOSkgPSBzdWJSWzldOwogCXRsID0gc3ViTFs3XSBeIChzdWJSWzddICYgfnN1YlJbOV0pOwogCWR3ID0gdGwgJiBzdWJMWzldLCAgLyogRkxpbnYoa2wyKSAqLwotCQl0ciA9IHN1YlJbN10gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzddIF4gcm9sMzIoZHcsIDEpOwogCVNVQktFWV9MKDEwKSA9IHRsIF4gc3ViTFsxMV07IC8qIHJvdW5kIDcgKi8KIAlTVUJLRVlfUigxMCkgPSB0ciBeIHN1YlJbMTFdOwogCVNVQktFWV9MKDExKSA9IHN1YkxbMTBdIF4gc3ViTFsxMl07IC8qIHJvdW5kIDggKi8KQEAgLTUxNiw3ICs1MDQsNyBAQAogCVNVQktFWV9SKDE0KSA9IHN1YlJbMTNdIF4gc3ViUlsxNV07CiAJdGwgPSBzdWJMWzE4XSBeIChzdWJSWzE4XSAmIH5zdWJSWzE2XSk7CiAJZHcgPSB0bCAmIHN1YkxbMTZdLCAvKiBGTChrbDMpICovCi0JCXRyID0gc3ViUlsxOF0gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzE4XSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCgxNSkgPSBzdWJMWzE0XSBeIHRsOyAvKiByb3VuZCAxMiAqLwogCVNVQktFWV9SKDE1KSA9IHN1YlJbMTRdIF4gdHI7CiAJU1VCS0VZX0woMTYpID0gc3ViTFsxNl07ICAgICAvKiBGTChrbDMpICovCkBAIC01MjUsNyArNTEzLDcgQEAKIAlTVUJLRVlfUigxNykgPSBzdWJSWzE3XTsKIAl0bCA9IHN1YkxbMTVdIF4gKHN1YlJbMTVdICYgfnN1YlJbMTddKTsKIAlkdyA9IHRsICYgc3ViTFsxN10sIC8qIEZMaW52KGtsNCkgKi8KLQkJdHIgPSBzdWJSWzE1XSBeIFJPTDEoZHcpOworCQl0ciA9IHN1YlJbMTVdIF4gcm9sMzIoZHcsIDEpOwogCVNVQktFWV9MKDE4KSA9IHRsIF4gc3ViTFsxOV07IC8qIHJvdW5kIDEzICovCiAJU1VCS0VZX1IoMTgpID0gdHIgXiBzdWJSWzE5XTsKIAlTVUJLRVlfTCgxOSkgPSBzdWJMWzE4XSBeIHN1YkxbMjBdOyAvKiByb3VuZCAxNCAqLwpAQCAtNTQ0LDcgKzUzMiw3IEBACiAJfSBlbHNlIHsKIAkJdGwgPSBzdWJMWzI2XSBeIChzdWJSWzI2XSAmIH5zdWJSWzI0XSk7CiAJCWR3ID0gdGwgJiBzdWJMWzI0XSwgLyogRkwoa2w1KSAqLwotCQkJdHIgPSBzdWJSWzI2XSBeIFJPTDEoZHcpOworCQkJdHIgPSBzdWJSWzI2XSBeIHJvbDMyKGR3LCAxKTsKIAkJU1VCS0VZX0woMjMpID0gc3ViTFsyMl0gXiB0bDsgLyogcm91bmQgMTggKi8KIAkJU1VCS0VZX1IoMjMpID0gc3ViUlsyMl0gXiB0cjsKIAkJU1VCS0VZX0woMjQpID0gc3ViTFsyNF07ICAgICAvKiBGTChrbDUpICovCkBAIC01NTMsNyArNTQxLDcgQEAKIAkJU1VCS0VZX1IoMjUpID0gc3ViUlsyNV07CiAJCXRsID0gc3ViTFsyM10gXiAoc3ViUlsyM10gJiB+c3ViUlsyNV0pOwogCQlkdyA9IHRsICYgc3ViTFsyNV0sIC8qIEZMaW52KGtsNikgKi8KLQkJCXRyID0gc3ViUlsyM10gXiBST0wxKGR3KTsKKwkJCXRyID0gc3ViUlsyM10gXiByb2wzMihkdywgMSk7CiAJCVNVQktFWV9MKDI2KSA9IHRsIF4gc3ViTFsyN107IC8qIHJvdW5kIDE5ICovCiAJCVNVQktFWV9SKDI2KSA9IHRyIF4gc3ViUlsyN107CiAJCVNVQktFWV9MKDI3KSA9IHN1YkxbMjZdIF4gc3ViTFsyOF07IC8qIHJvdW5kIDIwICovCkBAIC01NzMsMTcgKzU2MSwxNyBAQAogCS8qIGFwcGx5IHRoZSBpbnZlcnNlIG9mIHRoZSBsYXN0IGhhbGYgb2YgUC1mdW5jdGlvbiAqLwogCWkgPSAyOwogCWRvIHsKLQkJZHcgPSBTVUJLRVlfTChpICsgMCkgXiBTVUJLRVlfUihpICsgMCk7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgMSAqLworCQlkdyA9IFNVQktFWV9MKGkgKyAwKSBeIFNVQktFWV9SKGkgKyAwKTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgMSAqLwogCQlTVUJLRVlfUihpICsgMCkgPSBTVUJLRVlfTChpICsgMCkgXiBkdzsgU1VCS0VZX0woaSArIDApID0gZHc7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDEpIF4gU1VCS0VZX1IoaSArIDEpOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDIgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgMSkgXiBTVUJLRVlfUihpICsgMSk7IGR3ID0gcm9sMzIoZHcsIDgpOy8qIHJvdW5kIDIgKi8KIAkJU1VCS0VZX1IoaSArIDEpID0gU1VCS0VZX0woaSArIDEpIF4gZHc7IFNVQktFWV9MKGkgKyAxKSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyAyKSBeIFNVQktFWV9SKGkgKyAyKTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCAzICovCisJCWR3ID0gU1VCS0VZX0woaSArIDIpIF4gU1VCS0VZX1IoaSArIDIpOyBkdyA9IHJvbDMyKGR3LCA4KTsvKiByb3VuZCAzICovCiAJCVNVQktFWV9SKGkgKyAyKSA9IFNVQktFWV9MKGkgKyAyKSBeIGR3OyBTVUJLRVlfTChpICsgMikgPSBkdzsKLQkJZHcgPSBTVUJLRVlfTChpICsgMykgXiBTVUJLRVlfUihpICsgMyk7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgNCAqLworCQlkdyA9IFNVQktFWV9MKGkgKyAzKSBeIFNVQktFWV9SKGkgKyAzKTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgNCAqLwogCQlTVUJLRVlfUihpICsgMykgPSBTVUJLRVlfTChpICsgMykgXiBkdzsgU1VCS0VZX0woaSArIDMpID0gZHc7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDQpIF4gU1VCS0VZX1IoaSArIDQpOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDUgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgNCkgXiBTVUJLRVlfUihpICsgNCk7IGR3ID0gcm9sMzIoZHcsIDkpOy8qIHJvdW5kIDUgKi8KIAkJU1VCS0VZX1IoaSArIDQpID0gU1VCS0VZX0woaSArIDQpIF4gZHc7IFNVQktFWV9MKGkgKyA0KSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyA1KSBeIFNVQktFWV9SKGkgKyA1KTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCA2ICovCisJCWR3ID0gU1VCS0VZX0woaSArIDUpIF4gU1VCS0VZX1IoaSArIDUpOyBkdyA9IHJvbDMyKGR3LCA4KTsvKiByb3VuZCA2ICovCiAJCVNVQktFWV9SKGkgKyA1KSA9IFNVQktFWV9MKGkgKyA1KSBeIGR3OyBTVUJLRVlfTChpICsgNSkgPSBkdzsKIAkJaSArPSA4OwogCX0gd2hpbGUgKGkgPCBtYXgpOwpAQCAtNTk5LDEwICs1ODcsMTAgQEAKIAkvKioKIAkgKiAgayA9PSBrbGwgfHwga2xyIHx8IGtybCB8fCBrcnIgKHx8IGlzIGNvbmNhdGVuYXRpb24pCiAJICovCi0JR0VUVTMyKGtsbCwga2V5ICAgICApOwotCUdFVFUzMihrbHIsIGtleSArICA0KTsKLQlHRVRVMzIoa3JsLCBrZXkgKyAgOCk7Ci0JR0VUVTMyKGtyciwga2V5ICsgMTIpOworCWtsbCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkpOworCWtsciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyA0KTsKKwlrcmwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgOCk7CisJa3JyID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDEyKTsKIAogCS8qIGdlbmVyYXRlIEtMIGRlcGVuZGVudCBzdWJrZXlzICovCiAJLyoga3cxICovCkBAIC03MDcsMTQgKzY5NSwxNCBAQAogCSAqICBrZXkgPSAoa2xsIHx8IGtsciB8fCBrcmwgfHwga3JyIHx8IGtybGwgfHwga3JsciB8fCBrcnJsIHx8IGtycnIpCiAJICogICh8fCBpcyBjb25jYXRlbmF0aW9uKQogCSAqLwotCUdFVFUzMihrbGwsICBrZXkgICAgICk7Ci0JR0VUVTMyKGtsciwgIGtleSArICA0KTsKLQlHRVRVMzIoa3JsLCAga2V5ICsgIDgpOwotCUdFVFUzMihrcnIsICBrZXkgKyAxMik7Ci0JR0VUVTMyKGtybGwsIGtleSArIDE2KTsKLQlHRVRVMzIoa3Jsciwga2V5ICsgMjApOwotCUdFVFUzMihrcnJsLCBrZXkgKyAyNCk7Ci0JR0VUVTMyKGtycnIsIGtleSArIDI4KTsKKwlrbGwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5KTsKKwlrbHIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgNCk7CisJa3JsID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDgpOworCWtyciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAxMik7CisJa3JsbCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAxNik7CisJa3JsciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyMCk7CisJa3JybCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyNCk7CisJa3JyciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyOCk7CiAKIAkvKiBnZW5lcmF0ZSBLTCBkZXBlbmRlbnQgc3Via2V5cyAqLwogCS8qIGt3MSAqLwpAQCAtODcwLDEzICs4NTgsMTMgQEAKIAl0MCAmPSBsbDsJCQkJCQkJXAogCXQyIHw9IHJyOwkJCQkJCQlcCiAJcmwgXj0gdDI7CQkJCQkJCVwKLQlsciBePSBST0wxKHQwKTsJCQkJCQkJXAorCWxyIF49IHJvbDMyKHQwLCAxKTsJCQkJCQlcCiAJdDMgPSBrcmw7CQkJCQkJCVwKIAl0MSA9IGtscjsJCQkJCQkJXAogCXQzICY9IHJsOwkJCQkJCQlcCiAJdDEgfD0gbHI7CQkJCQkJCVwKIAlsbCBePSB0MTsJCQkJCQkJXAotCXJyIF49IFJPTDEodDMpOwkJCQkJCQlcCisJcnIgXj0gcm9sMzIodDMsIDEpOwkJCQkJCVwKICAgICB9IHdoaWxlKDApCiAKICNkZWZpbmUgQ0FNRUxMSUFfUk9VTkRTTSh4bCwgeHIsIGtsLCBrciwgeWwsIHlyLCBpbCwgaXIpCQlcCkBAIC04OTIsNyArODgwLDcgQEAKIAlpbCBePSBrbDsJCQkJCQkJXAogCWlyIF49IGlsIF4ga3I7CQkJCQkJCVwKIAl5bCBePSBpcjsJCQkJCQkJXAotCXlyIF49IFJPUjgoaWwpIF4gaXI7CQkJCQkJXAorCXlyIF49IHJvcjMyKGlsLCA4KSBeIGlyOwkJCQkJCVwKICAgICB9IHdoaWxlKDApCiAKIC8qIG1heCA9IDI0OiAxMjhiaXQgZW5jcnlwdCwgbWF4ID0gMzI6IDI1NmJpdCBlbmNyeXB0ICovCmRpZmYgLS1naXQgYS9jcnlwdG8vY2hhaW5pdi5jIGIvY3J5cHRvL2NoYWluaXYuYwppbmRleCA2ZGEzZjU3Li45YWZmYWRlIDEwMDY0NAotLS0gYS9jcnlwdG8vY2hhaW5pdi5jCisrKyBiL2NyeXB0by9jaGFpbml2LmMKQEAgLTExNyw2ICsxMTcsNyBAQAogc3RhdGljIGludCBhc3luY19jaGFpbml2X3NjaGVkdWxlX3dvcmsoc3RydWN0IGFzeW5jX2NoYWluaXZfY3R4ICpjdHgpCiB7CiAJaW50IHF1ZXVlZDsKKwlpbnQgZXJyID0gY3R4LT5lcnI7CiAKIAlpZiAoIWN0eC0+cXVldWUucWxlbikgewogCQlzbXBfbWJfX2JlZm9yZV9jbGVhcl9iaXQoKTsKQEAgLTEzMSw3ICsxMzIsNyBAQAogCUJVR19PTighcXVldWVkKTsKIAogb3V0OgotCXJldHVybiBjdHgtPmVycjsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IGFzeW5jX2NoYWluaXZfcG9zdHBvbmVfcmVxdWVzdChzdHJ1Y3Qgc2tjaXBoZXJfZ2l2Y3J5cHRfcmVxdWVzdCAqcmVxKQpAQCAtMjI3LDYgKzIyOCw3IEBACiAJCQkJCQkgICAgIHBvc3Rwb25lZCk7CiAJc3RydWN0IHNrY2lwaGVyX2dpdmNyeXB0X3JlcXVlc3QgKnJlcTsKIAlzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpzdWJyZXE7CisJaW50IGVycjsKIAogCS8qIE9ubHkgaGFuZGxlIG9uZSByZXF1ZXN0IGF0IGEgdGltZSB0byBhdm9pZCBob2dnaW5nIGtldmVudGQuICovCiAJc3Bpbl9sb2NrX2JoKCZjdHgtPmxvY2spOwpAQCAtMjQxLDcgKzI0MywxMSBAQAogCXN1YnJlcSA9IHNrY2lwaGVyX2dpdmNyeXB0X3JlcWN0eChyZXEpOwogCXN1YnJlcS0+YmFzZS5mbGFncyB8PSBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CiAKLQlhc3luY19jaGFpbml2X2dpdmVuY3J5cHRfdGFpbChyZXEpOworCWVyciA9IGFzeW5jX2NoYWluaXZfZ2l2ZW5jcnlwdF90YWlsKHJlcSk7CisKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CisJc2tjaXBoZXJfZ2l2Y3J5cHRfY29tcGxldGUocmVxLCBlcnIpOworCWxvY2FsX2JoX2VuYWJsZSgpOwogfQogCiBzdGF0aWMgaW50IGFzeW5jX2NoYWluaXZfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQpkaWZmIC0tZ2l0IGEvY3J5cHRvL2NyYzMyYy5jIGIvY3J5cHRvL2NyYzMyYy5jCmluZGV4IDBkY2Y2NGEuLmE4ODJkOWUgMTAwNjQ0Ci0tLSBhL2NyeXB0by9jcmMzMmMuYworKysgYi9jcnlwdG8vY3JjMzJjLmMKQEAgLTUsMjAgKzUsMjMgQEAKICAqCiAgKiBUaGlzIG1vZHVsZSBmaWxlIGlzIGEgd3JhcHBlciB0byBpbnZva2UgdGhlIGxpYi9jcmMzMmMgcm91dGluZXMuCiAgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKICAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCiAgKi8KKworI2luY2x1ZGUgPGNyeXB0by9pbnRlcm5hbC9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgogI2luY2x1ZGUgPGxpbnV4L2NyYzMyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogCi0jZGVmaW5lIENIS1NVTV9CTE9DS19TSVpFCTMyCisjZGVmaW5lIENIS1NVTV9CTE9DS19TSVpFCTEKICNkZWZpbmUgQ0hLU1VNX0RJR0VTVF9TSVpFCTQKIAogc3RydWN0IGNoa3N1bV9jdHggewpAQCAtNzEsNyArNzQsNyBAQAogCSooX19sZTMyICopb3V0ID0gfmNwdV90b19sZTMyKG1jdHgtPmNyYyk7CiB9CiAKLXN0YXRpYyBpbnQgY3JjMzJjX2NyYV9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCitzdGF0aWMgaW50IGNyYzMyY19jcmFfaW5pdF9vbGQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKIHsKIAlzdHJ1Y3QgY2hrc3VtX2N0eCAqbWN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CiAKQEAgLTc5LDE0ICs4MiwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIG9sZF9hbGcgPSB7CiAJLmNyYV9uYW1lCT0JImNyYzMyYyIsCiAJLmNyYV9mbGFncwk9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCiAJLmNyYV9ibG9ja3NpemUJPQlDSEtTVU1fQkxPQ0tfU0laRSwKIAkuY3JhX2N0eHNpemUJPQlzaXplb2Yoc3RydWN0IGNoa3N1bV9jdHgpLAogCS5jcmFfbW9kdWxlCT0JVEhJU19NT0RVTEUsCi0JLmNyYV9saXN0CT0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKLQkuY3JhX2luaXQJPQljcmMzMmNfY3JhX2luaXQsCisJLmNyYV9saXN0CT0JTElTVF9IRUFEX0lOSVQob2xkX2FsZy5jcmFfbGlzdCksCisJLmNyYV9pbml0CT0JY3JjMzJjX2NyYV9pbml0X29sZCwKIAkuY3JhX3UJCT0JewogCQkuZGlnZXN0ID0gewogCQkJIC5kaWFfZGlnZXN0c2l6ZT0JQ0hLU1VNX0RJR0VTVF9TSVpFLApAQCAtOTgsMTQgKzEwMSwxMjUgQEAKIAl9CiB9OwogCisvKgorICogU2V0dGluZyB0aGUgc2VlZCBhbGxvd3MgYXJiaXRyYXJ5IGFjY3VtdWxhdG9ycyBhbmQgZmxleGlibGUgWE9SIHBvbGljeQorICogSWYgeW91ciBhbGdvcml0aG0gc3RhcnRzIHdpdGggfjAsIHRoZW4gWE9SIHdpdGggfjAgYmVmb3JlIHlvdSBzZXQKKyAqIHRoZSBzZWVkLgorICovCitzdGF0aWMgaW50IGNyYzMyY19zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqaGFzaCwgY29uc3QgdTggKmtleSwKKwkJCSB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXUzMiAqbWN0eCA9IGNyeXB0b19haGFzaF9jdHgoaGFzaCk7CisKKwlpZiAoa2V5bGVuICE9IHNpemVvZih1MzIpKSB7CisJCWNyeXB0b19haGFzaF9zZXRfZmxhZ3MoaGFzaCwgQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU4pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJKm1jdHggPSBsZTMyX3RvX2NwdXAoKF9fbGUzMiAqKWtleSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCSpjcmNwID0gKm1jdHg7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX3VwZGF0ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9faGFzaF93YWxrIHdhbGs7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwl1MzIgY3JjID0gKmNyY3A7CisJaW50IG5ieXRlczsKKworCWZvciAobmJ5dGVzID0gY3J5cHRvX2hhc2hfd2Fsa19maXJzdChyZXEsICZ3YWxrKTsgbmJ5dGVzOworCSAgICAgbmJ5dGVzID0gY3J5cHRvX2hhc2hfd2Fsa19kb25lKCZ3YWxrLCAwKSkKKwkJY3JjID0gY3JjMzJjKGNyYywgd2Fsay5kYXRhLCBuYnl0ZXMpOworCisJKmNyY3AgPSBjcmM7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwkKKwkqKF9fbGUzMiAqKXJlcS0+cmVzdWx0ID0gfmNwdV90b19sZTMycChjcmNwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmMzMmNfZGlnZXN0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgd2FsazsKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJdTMyIGNyYyA9ICptY3R4OworCWludCBuYnl0ZXM7CisKKwlmb3IgKG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZmlyc3QocmVxLCAmd2Fsayk7IG5ieXRlczsKKwkgICAgIG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZG9uZSgmd2FsaywgMCkpCisJCWNyYyA9IGNyYzMyYyhjcmMsIHdhbGsuZGF0YSwgbmJ5dGVzKTsKKworCSooX19sZTMyICopcmVxLT5yZXN1bHQgPSB+Y3B1X3RvX2xlMzIoY3JjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmMzMmNfY3JhX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwl1MzIgKmtleSA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwkqa2V5ID0gfjA7CisKKwl0Zm0tPmNydF9haGFzaC5yZXFzaXplID0gc2l6ZW9mKHUzMik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJCT0JImNyYzMyYyIsCisJLmNyYV9kcml2ZXJfbmFtZQk9CSJjcmMzMmMtZ2VuZXJpYyIsCisJLmNyYV9wcmlvcml0eQkJPQkxMDAsCisJLmNyYV9mbGFncwkJPQlDUllQVE9fQUxHX1RZUEVfQUhBU0gsCisJLmNyYV9ibG9ja3NpemUJCT0JQ0hLU1VNX0JMT0NLX1NJWkUsCisJLmNyYV9hbGlnbm1hc2sJCT0JMywKKwkuY3JhX2N0eHNpemUJCT0Jc2l6ZW9mKHUzMiksCisJLmNyYV9tb2R1bGUJCT0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CQk9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV9pbml0CQk9CWNyYzMyY19jcmFfaW5pdCwKKwkuY3JhX3R5cGUJCT0JJmNyeXB0b19haGFzaF90eXBlLAorCS5jcmFfdQkJCT0JeworCQkuYWhhc2ggPSB7CisJCQkgLmRpZ2VzdHNpemUJPQlDSEtTVU1fRElHRVNUX1NJWkUsCisJCQkgLnNldGtleQk9CWNyYzMyY19zZXRrZXksCisJCQkgLmluaXQgICAJPSAJY3JjMzJjX2luaXQsCisJCQkgLnVwZGF0ZSAJPQljcmMzMmNfdXBkYXRlLAorCQkJIC5maW5hbCAgCT0JY3JjMzJjX2ZpbmFsLAorCQkJIC5kaWdlc3QgIAk9CWNyYzMyY19kaWdlc3QsCisJCSB9CisJfQorfTsKKwogc3RhdGljIGludCBfX2luaXQgY3JjMzJjX21vZF9pbml0KHZvaWQpCiB7Ci0JcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7CisJaW50IGVycjsKKworCWVyciA9IGNyeXB0b19yZWdpc3Rlcl9hbGcoJm9sZF9hbGcpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworCWlmIChlcnIpCisJCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmb2xkX2FsZyk7CisKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgdm9pZCBfX2V4aXQgY3JjMzJjX21vZF9maW5pKHZvaWQpCiB7CiAJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmb2xkX2FsZyk7CiB9CiAKIG1vZHVsZV9pbml0KGNyYzMyY19tb2RfaW5pdCk7CmRpZmYgLS1naXQgYS9jcnlwdG8vY3J5cHRkLmMgYi9jcnlwdG8vY3J5cHRkLmMKaW5kZXggYjE1MGRlNS4uZDI5ZTA2YiAxMDA2NDQKLS0tIGEvY3J5cHRvL2NyeXB0ZC5jCisrKyBiL2NyeXB0by9jcnlwdGQuYwpAQCAtMTEsNiArMTEsNyBAQAogICovCiAKICNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC00NSw2ICs0NiwxMyBAQAogCWNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGU7CiB9OwogCitzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4IHsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKmNoaWxkOworfTsKKworc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4IHsKKwljcnlwdG9fY29tcGxldGlvbl90IGNvbXBsZXRlOworfTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRkX3N0YXRlICpjcnlwdGRfZ2V0X3N0YXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CkBAIC04MiwxMCArOTAsOCBAQAogCiAJcmN0eCA9IGFibGtjaXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKIAotCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkgewotCQlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOwotCQlyZXR1cm47Ci0JfQorCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CiAKIAlkZXNjLnRmbSA9IGNoaWxkOwogCWRlc2MuaW5mbyA9IHJlcS0+aW5mbzsKQEAgLTk1LDggKzEwMSw5IEBACiAKIAlyZXEtPmJhc2UuY29tcGxldGUgPSByY3R4LT5jb21wbGV0ZTsKIAorb3V0OgogCWxvY2FsX2JoX2Rpc2FibGUoKTsKLQlyZXEtPmJhc2UuY29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOwogCWxvY2FsX2JoX2VuYWJsZSgpOwogfQogCkBAIC0yNjEsNiArMjY4LDI0MCBAQAogCXJldHVybiBpbnN0OwogfQogCitzdGF0aWMgaW50IGNyeXB0ZF9oYXNoX2luaXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqaW5zdCA9IGNyeXB0b190Zm1fYWxnX2luc3RhbmNlKHRmbSk7CisJc3RydWN0IGNyeXB0ZF9pbnN0YW5jZV9jdHggKmljdHggPSBjcnlwdG9faW5zdGFuY2VfY3R4KGluc3QpOworCXN0cnVjdCBjcnlwdG9fc3Bhd24gKnNwYXduID0gJmljdHgtPnNwYXduOworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICpjaXBoZXI7CisKKwljaXBoZXIgPSBjcnlwdG9fc3Bhd25faGFzaChzcGF3bik7CisJaWYgKElTX0VSUihjaXBoZXIpKQorCQlyZXR1cm4gUFRSX0VSUihjaXBoZXIpOworCisJY3R4LT5jaGlsZCA9IGNpcGhlcjsKKwl0Zm0tPmNydF9haGFzaC5yZXFzaXplID0KKwkJc2l6ZW9mKHN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0ZF9oYXNoX2V4aXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzdHJ1Y3QgY3J5cHRkX3N0YXRlICpzdGF0ZSA9IGNyeXB0ZF9nZXRfc3RhdGUodGZtKTsKKwlpbnQgYWN0aXZlOworCisJbXV0ZXhfbG9jaygmc3RhdGUtPm11dGV4KTsKKwlhY3RpdmUgPSBhaGFzaF90Zm1faW5fcXVldWUoJnN0YXRlLT5xdWV1ZSwKKwkJCQlfX2NyeXB0b19haGFzaF9jYXN0KHRmbSkpOworCW11dGV4X3VubG9jaygmc3RhdGUtPm11dGV4KTsKKworCUJVR19PTihhY3RpdmUpOworCisJY3J5cHRvX2ZyZWVfaGFzaChjdHgtPmNoaWxkKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF9zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqcGFyZW50LAorCQkJCSAgIGNvbnN0IHU4ICprZXksIHVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fYWhhc2hfY3R4KHBhcmVudCk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCWludCBlcnI7CisKKwljcnlwdG9faGFzaF9jbGVhcl9mbGFncyhjaGlsZCwgQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJY3J5cHRvX2hhc2hfc2V0X2ZsYWdzKGNoaWxkLCBjcnlwdG9fYWhhc2hfZ2V0X2ZsYWdzKHBhcmVudCkgJgorCQkJCQkgIENSWVBUT19URk1fUkVRX01BU0spOworCWVyciA9IGNyeXB0b19oYXNoX3NldGtleShjaGlsZCwga2V5LCBrZXlsZW4pOworCWNyeXB0b19haGFzaF9zZXRfZmxhZ3MocGFyZW50LCBjcnlwdG9faGFzaF9nZXRfZmxhZ3MoY2hpbGQpICYKKwkJCQkJICAgIENSWVBUT19URk1fUkVTX01BU0spOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCWNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGUpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0gPSBjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSk7CisJc3RydWN0IGNyeXB0ZF9zdGF0ZSAqc3RhdGUgPQorCQljcnlwdGRfZ2V0X3N0YXRlKGNyeXB0b19haGFzaF90Zm0odGZtKSk7CisJaW50IGVycjsKKworCXJjdHgtPmNvbXBsZXRlID0gcmVxLT5iYXNlLmNvbXBsZXRlOworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IGNvbXBsZXRlOworCisJc3Bpbl9sb2NrX2JoKCZzdGF0ZS0+bG9jayk7CisJZXJyID0gYWhhc2hfZW5xdWV1ZV9yZXF1ZXN0KCZzdGF0ZS0+cXVldWUsIHJlcSk7CisJc3Bpbl91bmxvY2tfYmgoJnN0YXRlLT5sb2NrKTsKKworCXdha2VfdXBfcHJvY2VzcyhzdGF0ZS0+dGFzayk7CisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfaW5pdChzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJlcV9hc3luYywgaW50IGVycikKK3sKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggICA9IGNyeXB0b190Zm1fY3R4KHJlcV9hc3luYy0+dGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggICAgICpjaGlsZCA9IGN0eC0+Y2hpbGQ7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgICAgKnJlcSA9IGFoYXNoX3JlcXVlc3RfY2FzdChyZXFfYXN5bmMpOworCXN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCAqcmN0eDsKKwlzdHJ1Y3QgaGFzaF9kZXNjIGRlc2M7CisKKwlyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CisKKwlkZXNjLnRmbSA9IGNoaWxkOworCWRlc2MuZmxhZ3MgPSBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CisKKwllcnIgPSBjcnlwdG9faGFzaF9jcnQoY2hpbGQpLT5pbml0KCZkZXNjKTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfaW5pdF9lbnF1ZXVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIGNyeXB0ZF9oYXNoX2VucXVldWUocmVxLCBjcnlwdGRfaGFzaF9pbml0KTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfdXBkYXRlKHN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxX2FzeW5jLCBpbnQgZXJyKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCAgID0gY3J5cHRvX3RmbV9jdHgocmVxX2FzeW5jLT50Zm0pOworCXN0cnVjdCBjcnlwdG9faGFzaCAgICAgKmNoaWxkID0gY3R4LT5jaGlsZDsKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAgICAqcmVxID0gYWhhc2hfcmVxdWVzdF9jYXN0KHJlcV9hc3luYyk7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4OworCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKworCXJjdHggPSBhaGFzaF9yZXF1ZXN0X2N0eChyZXEpOworCisJaWYgKHVubGlrZWx5KGVyciA9PSAtRUlOUFJPR1JFU1MpKQorCQlnb3RvIG91dDsKKworCWRlc2MudGZtID0gY2hpbGQ7CisJZGVzYy5mbGFncyA9IENSWVBUT19URk1fUkVRX01BWV9TTEVFUDsKKworCWVyciA9IGNyeXB0b19oYXNoX2NydChjaGlsZCktPnVwZGF0ZSgmZGVzYywKKwkJCQkJCXJlcS0+c3JjLAorCQkJCQkJcmVxLT5uYnl0ZXMpOworCisJcmVxLT5iYXNlLmNvbXBsZXRlID0gcmN0eC0+Y29tcGxldGU7CisKK291dDoKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CisJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlsb2NhbF9iaF9lbmFibGUoKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF91cGRhdGVfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfdXBkYXRlKTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfZmluYWwoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+ZmluYWwoJmRlc2MsIHJlcS0+cmVzdWx0KTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZmluYWxfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfZmluYWwpOworfQorCitzdGF0aWMgdm9pZCBjcnlwdGRfaGFzaF9kaWdlc3Qoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+ZGlnZXN0KCZkZXNjLAorCQkJCQkJcmVxLT5zcmMsCisJCQkJCQlyZXEtPm5ieXRlcywKKwkJCQkJCXJlcS0+cmVzdWx0KTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZGlnZXN0X2VucXVldWUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY3J5cHRkX2hhc2hfZW5xdWV1ZShyZXEsIGNyeXB0ZF9oYXNoX2RpZ2VzdCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdGRfYWxsb2NfaGFzaCgKKwlzdHJ1Y3QgcnRhdHRyICoqdGIsIHN0cnVjdCBjcnlwdGRfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmluc3Q7CisJc3RydWN0IGNyeXB0b19hbGcgKmFsZzsKKworCWFsZyA9IGNyeXB0b19nZXRfYXR0cl9hbGcodGIsIENSWVBUT19BTEdfVFlQRV9IQVNILAorCQkJCSAgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSyk7CisJaWYgKElTX0VSUihhbGcpKQorCQlyZXR1cm4gRVJSX1BUUihQVFJfRVJSKGFsZykpOworCisJaW5zdCA9IGNyeXB0ZF9hbGxvY19pbnN0YW5jZShhbGcsIHN0YXRlKTsKKwlpZiAoSVNfRVJSKGluc3QpKQorCQlnb3RvIG91dF9wdXRfYWxnOworCisJaW5zdC0+YWxnLmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BSEFTSCB8IENSWVBUT19BTEdfQVNZTkM7CisJaW5zdC0+YWxnLmNyYV90eXBlID0gJmNyeXB0b19haGFzaF90eXBlOworCisJaW5zdC0+YWxnLmNyYV9haGFzaC5kaWdlc3RzaXplID0gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplOworCWluc3QtPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4KTsKKworCWluc3QtPmFsZy5jcmFfaW5pdCA9IGNyeXB0ZF9oYXNoX2luaXRfdGZtOworCWluc3QtPmFsZy5jcmFfZXhpdCA9IGNyeXB0ZF9oYXNoX2V4aXRfdGZtOworCisJaW5zdC0+YWxnLmNyYV9haGFzaC5pbml0ICAgPSBjcnlwdGRfaGFzaF9pbml0X2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC51cGRhdGUgPSBjcnlwdGRfaGFzaF91cGRhdGVfZW5xdWV1ZTsKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLmZpbmFsICA9IGNyeXB0ZF9oYXNoX2ZpbmFsX2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5zZXRrZXkgPSBjcnlwdGRfaGFzaF9zZXRrZXk7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5kaWdlc3QgPSBjcnlwdGRfaGFzaF9kaWdlc3RfZW5xdWV1ZTsKKworb3V0X3B1dF9hbGc6CisJY3J5cHRvX21vZF9wdXQoYWxnKTsKKwlyZXR1cm4gaW5zdDsKK30KKwogc3RhdGljIHN0cnVjdCBjcnlwdGRfc3RhdGUgc3RhdGU7CiAKIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdGRfYWxsb2Moc3RydWN0IHJ0YXR0ciAqKnRiKQpAQCAtMjc0LDYgKzUxNSw4IEBACiAJc3dpdGNoIChhbGd0LT50eXBlICYgYWxndC0+bWFzayAmIENSWVBUT19BTEdfVFlQRV9NQVNLKSB7CiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfQkxLQ0lQSEVSOgogCQlyZXR1cm4gY3J5cHRkX2FsbG9jX2Jsa2NpcGhlcih0YiwgJnN0YXRlKTsKKwljYXNlIENSWVBUT19BTEdfVFlQRV9ESUdFU1Q6CisJCXJldHVybiBjcnlwdGRfYWxsb2NfaGFzaCh0YiwgJnN0YXRlKTsKIAl9CiAKIAlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9kaWdlc3QuYyBiL2NyeXB0by9kaWdlc3QuYwppbmRleCBiNTI2Y2MzLi5hYzA5MTk0IDEwMDY0NAotLS0gYS9jcnlwdG8vZGlnZXN0LmMKKysrIGIvY3J5cHRvL2RpZ2VzdC5jCkBAIC0xMiw2ICsxMiw3IEBACiAgKgogICovCiAKKyNpbmNsdWRlIDxjcnlwdG8vaW50ZXJuYWwvaGFzaC5oPgogI2luY2x1ZGUgPGNyeXB0by9zY2F0dGVyd2Fsay5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KQEAgLTE0MSw3ICsxNDIsNyBAQAogCXN0cnVjdCBoYXNoX3RmbSAqb3BzID0gJnRmbS0+Y3J0X2hhc2g7CiAJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CiAKLQlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBjcnlwdG9fdGZtX2FsZ19ibG9ja3NpemUodGZtKSkKKwlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBQQUdFX1NJWkUgLyA4KQogCQlyZXR1cm4gLUVJTlZBTDsKIAkKIAlvcHMtPmluaXQJPSBpbml0OwpAQCAtMTU3LDMgKzE1OCw4MyBAQAogdm9pZCBjcnlwdG9fZXhpdF9kaWdlc3Rfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiB9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX25vc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbV9hc3luYywgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbV9hc3luYywgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJcmV0dXJuIC1FTk9TWVM7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm1fYXN5bmMsIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICAgICp0Zm0gICAgICAgID0gY3J5cHRvX2FoYXNoX3RmbSh0Zm1fYXN5bmMpOworCXN0cnVjdCBkaWdlc3RfYWxnICAgICpkYWxnICAgICAgID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfZGlnZXN0OworCisJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbV9hc3luYywgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJcmV0dXJuIGRhbGctPmRpYV9zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtICA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CisKKwlkYWxnLT5kaWFfaW5pdCh0Zm0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwl1cGRhdGUoJmRlc2MsIHJlcS0+c3JjLCByZXEtPm5ieXRlcyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSAgPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBoYXNoX2Rlc2MgIGRlc2MgPSB7CisJCS50Zm0gICA9IF9fY3J5cHRvX2hhc2hfY2FzdCh0Zm0pLAorCQkuZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MsCisJfTsKKworCWZpbmFsKCZkZXNjLCByZXEtPnJlc3VsdCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlyZXR1cm4gZGlnZXN0KCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMsIHJlcS0+cmVzdWx0KTsKK30KKworaW50IGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgYWhhc2hfdGZtICAqY3J0ICA9ICZ0Zm0tPmNydF9haGFzaDsKKwlzdHJ1Y3QgZGlnZXN0X2FsZyAqZGFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2RpZ2VzdDsKKworCWlmIChkYWxnLT5kaWFfZGlnZXN0c2l6ZSA+IGNyeXB0b190Zm1fYWxnX2Jsb2Nrc2l6ZSh0Zm0pKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNydC0+aW5pdCAgICAgICA9IGRpZ2VzdF9hc3luY19pbml0OworCWNydC0+dXBkYXRlICAgICA9IGRpZ2VzdF9hc3luY191cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gZGlnZXN0X2FzeW5jX2ZpbmFsOworCWNydC0+ZGlnZXN0ICAgICA9IGRpZ2VzdF9hc3luY19kaWdlc3Q7CisJY3J0LT5zZXRrZXkgICAgID0gZGFsZy0+ZGlhX3NldGtleSA/IGRpZ2VzdF9hc3luY19zZXRrZXkgOgorCQkJCQkJZGlnZXN0X2FzeW5jX25vc2V0a2V5OworCWNydC0+ZGlnZXN0c2l6ZSA9IGRhbGctPmRpYV9kaWdlc3RzaXplOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9jcnlwdG8vaGFzaC5jIGIvY3J5cHRvL2hhc2guYwppbmRleCA3ZGNmZjY3Li5jYjg2YjE5IDEwMDY0NAotLS0gYS9jcnlwdG8vaGFzaC5jCisrKyBiL2NyeXB0by9oYXNoLmMKQEAgLTksNiArOSw3IEBACiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNTksMjQgKzYwLDEwNyBAQAogCXJldHVybiBhbGctPnNldGtleShjcnQsIGtleSwga2V5bGVuKTsKIH0KIAotc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1MzIgdHlwZSwgdTMyIG1hc2spCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbV9hc3luYywgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0b190Zm0gICp0Zm0gICAgICA9IGNyeXB0b19haGFzaF90Zm0odGZtX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKnRmbV9oYXNoID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSk7CisJc3RydWN0IGhhc2hfYWxnICAgICphbGcgICAgICA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwlyZXR1cm4gYWxnLT5zZXRrZXkodGZtX2hhc2gsIGtleSwga2V5bGVuKTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+aW5pdCgmZGVzYyk7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF9hc3luY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+dXBkYXRlKCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMpOworfQorCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfZmluYWwoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+ZmluYWwoJmRlc2MsIHJlcS0+cmVzdWx0KTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBoYXNoX2FsZyAgICphbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9oYXNoOworCXN0cnVjdCBoYXNoX2Rlc2MgIGRlc2MgPSB7CisJCS50Zm0gPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlyZXR1cm4gYWxnLT5kaWdlc3QoJmRlc2MsIHJlcS0+c3JjLCByZXEtPm5ieXRlcywgcmVxLT5yZXN1bHQpOworfQorCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2hhc2hfb3BzX2FzeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGFoYXNoX3RmbSAqY3J0ID0gJnRmbS0+Y3J0X2FoYXNoOworCXN0cnVjdCBoYXNoX2FsZyAgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwljcnQtPmluaXQgICAgICAgPSBoYXNoX2FzeW5jX2luaXQ7CisJY3J0LT51cGRhdGUgICAgID0gaGFzaF9hc3luY191cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gaGFzaF9hc3luY19maW5hbDsKKwljcnQtPmRpZ2VzdCAgICAgPSBoYXNoX2FzeW5jX2RpZ2VzdDsKKwljcnQtPnNldGtleSAgICAgPSBoYXNoX2FzeW5jX3NldGtleTsKKwljcnQtPmRpZ2VzdHNpemUgPSBhbGctPmRpZ2VzdHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wc19zeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiAJc3RydWN0IGhhc2hfdGZtICpjcnQgPSAmdGZtLT5jcnRfaGFzaDsKIAlzdHJ1Y3QgaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CiAKLQlpZiAoYWxnLT5kaWdlc3RzaXplID4gY3J5cHRvX3RmbV9hbGdfYmxvY2tzaXplKHRmbSkpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JY3J0LT5pbml0ID0gYWxnLT5pbml0OwotCWNydC0+dXBkYXRlID0gYWxnLT51cGRhdGU7Ci0JY3J0LT5maW5hbCA9IGFsZy0+ZmluYWw7Ci0JY3J0LT5kaWdlc3QgPSBhbGctPmRpZ2VzdDsKLQljcnQtPnNldGtleSA9IGhhc2hfc2V0a2V5OworCWNydC0+aW5pdCAgICAgICA9IGFsZy0+aW5pdDsKKwljcnQtPnVwZGF0ZSAgICAgPSBhbGctPnVwZGF0ZTsKKwljcnQtPmZpbmFsICAgICAgPSBhbGctPmZpbmFsOworCWNydC0+ZGlnZXN0ICAgICA9IGFsZy0+ZGlnZXN0OworCWNydC0+c2V0a2V5ICAgICA9IGhhc2hfc2V0a2V5OwogCWNydC0+ZGlnZXN0c2l6ZSA9IGFsZy0+ZGlnZXN0c2l6ZTsKIAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2hhc2hfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHUzMiB0eXBlLCB1MzIgbWFzaykKK3sKKwlzdHJ1Y3QgaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwlpZiAoYWxnLT5kaWdlc3RzaXplID4gUEFHRV9TSVpFIC8gOCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoKG1hc2sgJiBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKSAhPSBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKQorCQlyZXR1cm4gY3J5cHRvX2luaXRfaGFzaF9vcHNfYXN5bmModGZtKTsKKwllbHNlCisJCXJldHVybiBjcnlwdG9faW5pdF9oYXNoX29wc19zeW5jKHRmbSk7Cit9CisKIHN0YXRpYyB2b2lkIGNyeXB0b19oYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQogCV9fYXR0cmlidXRlX18gKCh1bnVzZWQpKTsKIHN0YXRpYyB2b2lkIGNyeXB0b19oYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQpkaWZmIC0tZ2l0IGEvY3J5cHRvL2htYWMuYyBiL2NyeXB0by9obWFjLmMKaW5kZXggMTRjNjM1MS4uN2ZmMmQ2YSAxMDA2NDQKLS0tIGEvY3J5cHRvL2htYWMuYworKysgYi9jcnlwdG8vaG1hYy5jCkBAIC0yMjYsNiArMjI2LDcgQEAKIAlzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICppbnN0OwogCXN0cnVjdCBjcnlwdG9fYWxnICphbGc7CiAJaW50IGVycjsKKwlpbnQgZHM7CiAKIAllcnIgPSBjcnlwdG9fY2hlY2tfYXR0cl90eXBlKHRiLCBDUllQVE9fQUxHX1RZUEVfSEFTSCk7CiAJaWYgKGVycikKQEAgLTIzNiw2ICsyMzcsMTMgQEAKIAlpZiAoSVNfRVJSKGFsZykpCiAJCXJldHVybiBFUlJfQ0FTVChhbGcpOwogCisJaW5zdCA9IEVSUl9QVFIoLUVJTlZBTCk7CisJZHMgPSAoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgPT0KKwkgICAgIENSWVBUT19BTEdfVFlQRV9IQVNIID8gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplIDoKKwkJCQkgICAgYWxnLT5jcmFfZGlnZXN0LmRpYV9kaWdlc3RzaXplOworCWlmIChkcyA+IGFsZy0+Y3JhX2Jsb2Nrc2l6ZSkKKwkJZ290byBvdXRfcHV0X2FsZzsKKwogCWluc3QgPSBjcnlwdG9fYWxsb2NfaW5zdGFuY2UoImhtYWMiLCBhbGcpOwogCWlmIChJU19FUlIoaW5zdCkpCiAJCWdvdG8gb3V0X3B1dF9hbGc7CkBAIC0yNDYsMTQgKzI1NCwxMCBAQAogCWluc3QtPmFsZy5jcmFfYWxpZ25tYXNrID0gYWxnLT5jcmFfYWxpZ25tYXNrOwogCWluc3QtPmFsZy5jcmFfdHlwZSA9ICZjcnlwdG9faGFzaF90eXBlOwogCi0JaW5zdC0+YWxnLmNyYV9oYXNoLmRpZ2VzdHNpemUgPQotCQkoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgPT0KLQkJQ1JZUFRPX0FMR19UWVBFX0hBU0ggPyBhbGctPmNyYV9oYXNoLmRpZ2VzdHNpemUgOgotCQkJCSAgICAgICBhbGctPmNyYV9kaWdlc3QuZGlhX2RpZ2VzdHNpemU7CisJaW5zdC0+YWxnLmNyYV9oYXNoLmRpZ2VzdHNpemUgPSBkczsKIAogCWluc3QtPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgaG1hY19jdHgpICsKLQkJCQlBTElHTihpbnN0LT5hbGcuY3JhX2Jsb2Nrc2l6ZSAqIDIgKwotCQkJCSAgICAgIGluc3QtPmFsZy5jcmFfaGFzaC5kaWdlc3RzaXplLAorCQkJCUFMSUdOKGluc3QtPmFsZy5jcmFfYmxvY2tzaXplICogMiArIGRzLAogCQkJCSAgICAgIHNpemVvZih2b2lkICopKTsKIAogCWluc3QtPmFsZy5jcmFfaW5pdCA9IGhtYWNfaW5pdF90Zm07CmRpZmYgLS1naXQgYS9jcnlwdG8vaW50ZXJuYWwuaCBiL2NyeXB0by9pbnRlcm5hbC5oCmluZGV4IDMyZjRjMjEuLjY4M2ZjYjIgMTAwNjQ0Ci0tLSBhL2NyeXB0by9pbnRlcm5hbC5oCisrKyBiL2NyeXB0by9pbnRlcm5hbC5oCkBAIC04Niw2ICs4Niw3IEBACiBzdHJ1Y3QgY3J5cHRvX2FsZyAqY3J5cHRvX2FsZ19tb2RfbG9va3VwKGNvbnN0IGNoYXIgKm5hbWUsIHUzMiB0eXBlLCB1MzIgbWFzayk7CiAKIGludCBjcnlwdG9faW5pdF9kaWdlc3Rfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pOworaW50IGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiBpbnQgY3J5cHRvX2luaXRfY2lwaGVyX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKTsKIGludCBjcnlwdG9faW5pdF9jb21wcmVzc19vcHMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9wcm5nLmMgYi9jcnlwdG8vcHJuZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTRmMzIKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcHJuZy5jCkBAIC0wLDAgKzEsNDEwIEBACisvKgorICogUFJORzogUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yCisgKiAgICAgICBCYXNlZCBvbiBOSVNUIFJlY29tbWVuZGVkIFBSTkcgRnJvbSBBTlNJIFg5LjMxIEFwcGVuZGl4IEEuMi40IHVzaW5nCisgKiAgICAgICBBRVMgMTI4IGNpcGhlciBpbiBSRkMzNjg2IGN0ciBtb2RlCisgKgorICogIChDKSBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlICJwcm5nLmgiCisKKyNkZWZpbmUgVEVTVF9QUk5HX09OX1NUQVJUIDAKKworI2RlZmluZSBERUZBVUxUX1BSTkdfS0VZICIwMTIzNDU2Nzg5YWJjZGVmMTAxMSIKKyNkZWZpbmUgREVGQVVMVF9QUk5HX0tTWiAyMAorI2RlZmluZSBERUZBVUxUX1BSTkdfSVYgImRlZmF1bHR2IgorI2RlZmluZSBERUZBVUxUX1BSTkdfSVZTWiA4CisjZGVmaW5lIERFRkFVTFRfQkxLX1NaIDE2CisjZGVmaW5lIERFRkFVTFRfVl9TRUVEICJ6YXlieGN3ZHZldWZ0Z3NoIgorCisvKgorICogRmxhZ3MgZm9yIHRoZSBwcm5nX2NvbnRleHQgZmxhZ3MgZmllbGQKKyAqLworCisjZGVmaW5lIFBSTkdfRklYRURfU0laRSAweDEKKyNkZWZpbmUgUFJOR19ORUVEX1JFU0VUIDB4MgorCisvKgorICogTm90ZTogRFQgaXMgb3VyIGNvdW50ZXIgdmFsdWUKKyAqIAkgSSBpcyBvdXIgaW50ZXJtZWRpYXRlIHZhbHVlCisgKgkgViBpcyBvdXIgc2VlZCB2ZWN0b3IKKyAqIFNlZSBodHRwOi8vY3NyYy5uaXN0Lmdvdi9ncm91cHMvU1RNL2NhdnAvZG9jdW1lbnRzL3JuZy85MzFybmdleHQucGRmCisgKiBmb3IgaW1wbGVtZW50YXRpb24gZGV0YWlscworICovCisKKworc3RydWN0IHBybmdfY29udGV4dCB7CisJY2hhciAqcHJuZ19rZXk7CisJY2hhciAqcHJuZ19pdjsKKwlzcGlubG9ja190IHBybmdfbG9jazsKKwl1bnNpZ25lZCBjaGFyIHJhbmRfZGF0YVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBsYXN0X3JhbmRfZGF0YVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBEVFtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBJW0RFRkFVTFRfQkxLX1NaXTsKKwl1bnNpZ25lZCBjaGFyIFZbREVGQVVMVF9CTEtfU1pdOworCXUzMiByYW5kX2RhdGFfdmFsaWQ7CisJc3RydWN0IGNyeXB0b19ibGtjaXBoZXIgKnRmbTsKKwl1MzIgZmxhZ3M7Cit9OworCitzdGF0aWMgaW50IGRiZzsKKworc3RhdGljIHZvaWQgaGV4ZHVtcChjaGFyICpub3RlLCB1bnNpZ25lZCBjaGFyICpidWYsIHVuc2lnbmVkIGludCBsZW4pCit7CisJaWYgKGRiZykgeworCQlwcmludGsoS0VSTl9DUklUICIlcyIsIG5vdGUpOworCQlwcmludF9oZXhfZHVtcChLRVJOX0NPTlQsICIiLCBEVU1QX1BSRUZJWF9PRkZTRVQsCisJCQkJMTYsIDEsCisJCQkJYnVmLCBsZW4sIGZhbHNlKTsKKwl9Cit9CisKKyNkZWZpbmUgZGJncHJpbnQoZm9ybWF0LCBhcmdzLi4uKSBkbyB7aWYoZGJnKSBwcmludGsoZm9ybWF0LCAjI2FyZ3MpO30gd2hpbGUoMCkKKworc3RhdGljIHZvaWQgeG9yX3ZlY3RvcnModW5zaWduZWQgY2hhciAqaW4xLCB1bnNpZ25lZCBjaGFyICppbjIsCisJCSAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaT0wO2k8c2l6ZTtpKyspCisJCW91dFtpXSA9IGluMVtpXSBeIGluMltpXTsKKworfQorLyoKKyAqIFJldHVybnMgREVGQVVMVF9CTEtfU1ogYnl0ZXMgb2YgcmFuZG9tIGRhdGEgcGVyIGNhbGwKKyAqIHJldHVybnMgMCBpZiBnZW5lcmF0aW9uIHN1Y2NlZGVkLCA8MCBpZiBzb21ldGhpbmcgd2VudCB3cm9uZworICovCitzdGF0aWMgaW50IF9nZXRfbW9yZV9wcm5nX2J5dGVzKHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgYmxrY2lwaGVyX2Rlc2MgZGVzYzsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3Qgc2dfaW4sIHNnX291dDsKKwlpbnQgcmV0OworCXVuc2lnbmVkIGNoYXIgdG1wW0RFRkFVTFRfQkxLX1NaXTsKKworCWRlc2MudGZtID0gY3R4LT50Zm07CisJZGVzYy5mbGFncyA9IDA7CisKKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAiQ2FsbGluZyBfZ2V0X21vcmVfcHJuZ19ieXRlcyBmb3IgY29udGV4dCAlcFxuIixjdHgpOworCisJaGV4ZHVtcCgiSW5wdXQgRFQ6ICIsIGN0eC0+RFQsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJJbnB1dCBJOiAiLCBjdHgtPkksIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJJbnB1dCBWOiAiLCBjdHgtPlYsIERFRkFVTFRfQkxLX1NaKTsKKworCS8qCisJICogVGhpcyBhbGdvcml0aG0gaXMgYSAzIHN0YWdlIHN0YXRlIG1hY2hpbmUKKwkgKi8KKwlmb3IgKGk9MDtpPDM7aSsrKSB7CisKKwkJZGVzYy50Zm0gPSBjdHgtPnRmbTsKKwkJZGVzYy5mbGFncyA9IDA7CisJCXN3aXRjaCAoaSkgeworCQkJY2FzZSAwOgorCQkJCS8qCisJCQkJICogU3RhcnQgYnkgZW5jcnlwdGluZyB0aGUgY291bnRlciB2YWx1ZQorCQkJCSAqIFRoaXMgZ2l2ZXMgdXMgYW4gaW50ZXJtZWRpYXRlIHZhbHVlIEkKKwkJCQkgKi8KKwkJCQltZW1jcHkodG1wLCBjdHgtPkRULCBERUZBVUxUX0JMS19TWik7CisJCQkJc2dfaW5pdF9vbmUoJnNnX291dCwgJmN0eC0+SVswXSwgREVGQVVMVF9CTEtfU1opOworCQkJCWhleGR1bXAoInRtcCBzdGFnZSAwOiAiLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMToKKworCQkJCS8qCisJCQkJICogTmV4dCB4b3IgSSB3aXRoIG91ciBzZWNyZXQgdmVjdG9yIFYKKwkJCQkgKiBlbmNyeXB0IHRoYXQgcmVzdWx0IHRvIG9idGFpbiBvdXIKKwkJCQkgKiBwc2V1ZG8gcmFuZG9tIGRhdGEgd2hpY2ggd2Ugb3V0cHV0CisJCQkJICovCisJCQkJeG9yX3ZlY3RvcnMoY3R4LT5JLCBjdHgtPlYsIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPnJhbmRfZGF0YVswXSwgREVGQVVMVF9CTEtfU1opOworCQkJCWhleGR1bXAoInRtcCBzdGFnZSAxOiAiLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMjoKKwkJCQkvKgorCQkJCSAqIEZpcnN0IGNoZWNrIHRoYXQgd2UgZGlkbid0IHByb2R1Y2UgdGhlIHNhbWUgcmFuZG9tIGRhdGEKKwkJCQkgKiB0aGF0IHdlIGRpZCBsYXN0IHRpbWUgYXJvdW5kIHRocm91Z2ggdGhpcworCQkJCSAqLworCQkJCWlmICghbWVtY21wKGN0eC0+cmFuZF9kYXRhLCBjdHgtPmxhc3RfcmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWikpIHsKKwkJCQkJcHJpbnRrKEtFUk5fRVJSICJjdHggJXAgRmFpbGVkIHJlcGV0aXRpb24gY2hlY2shXG4iLAorCQkJCQkJY3R4KTsKKwkJCQkJY3R4LT5mbGFncyB8PSBQUk5HX05FRURfUkVTRVQ7CisJCQkJCXJldHVybiAtMTsKKwkJCQl9CisJCQkJbWVtY3B5KGN0eC0+bGFzdF9yYW5kX2RhdGEsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisKKwkJCQkvKgorCQkJCSAqIExhc3RseSB4b3IgdGhlIHJhbmRvbSBkYXRhIHdpdGggSQorCQkJCSAqIGFuZCBlbmNyeXB0IHRoYXQgdG8gb2J0YWluIGEgbmV3IHNlY3JldCB2ZWN0b3IgVgorCQkJCSAqLworCQkJCXhvcl92ZWN0b3JzKGN0eC0+cmFuZF9kYXRhLCBjdHgtPkksIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPlZbMF0sIERFRkFVTFRfQkxLX1NaKTsKKwkJCQloZXhkdW1wKCJ0bXAgc3RhZ2UgMjogIiwgdG1wLCBERUZBVUxUX0JMS19TWik7CisJCQkJYnJlYWs7CisJCX0KKworCQkvKiBJbml0aWFsaXplIG91ciBpbnB1dCBidWZmZXIgKi8KKwkJc2dfaW5pdF9vbmUoJnNnX2luLCAmdG1wWzBdLCBERUZBVUxUX0JMS19TWik7CisKKwkJLyogZG8gdGhlIGVuY3J5cHRpb24gKi8KKwkJcmV0ID0gY3J5cHRvX2Jsa2NpcGhlcl9lbmNyeXB0KCZkZXNjLCAmc2dfb3V0LCAmc2dfaW4sIERFRkFVTFRfQkxLX1NaKTsKKworCQkvKiBBbmQgY2hlY2sgdGhlIHJlc3VsdCAqLworCQlpZiAocmV0KSB7CisJCQlkYmdwcmludChLRVJOX0NSSVQgIkVuY3J5cHRpb24gb2YgbmV3IGJsb2NrIGZhaWxlZCBmb3IgY29udGV4dCAlcFxuIixjdHgpOworCQkJY3R4LT5yYW5kX2RhdGFfdmFsaWQgPSBERUZBVUxUX0JMS19TWjsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJfQorCisJLyoKKwkgKiBOb3cgdXBkYXRlIG91ciBEVCB2YWx1ZQorCSAqLworCWZvciAoaT1ERUZBVUxUX0JMS19TWi0xO2k+MDtpLS0pIHsKKwkJY3R4LT5EVFtpXSA9IGN0eC0+RFRbaS0xXTsKKwl9CisJY3R4LT5EVFswXSArPSAxOworCisJZGJncHJpbnQoIlJldHVybmluZyBuZXcgYmxvY2sgZm9yIGNvbnRleHQgJXBcbiIsY3R4KTsKKwljdHgtPnJhbmRfZGF0YV92YWxpZCA9IDA7CisKKwloZXhkdW1wKCJPdXRwdXQgRFQ6ICIsIGN0eC0+RFQsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJPdXRwdXQgSTogIiwgY3R4LT5JLCBERUZBVUxUX0JMS19TWik7CisJaGV4ZHVtcCgiT3V0cHV0IFY6ICIsIGN0eC0+ViwgREVGQVVMVF9CTEtfU1opOworCWhleGR1bXAoIk5ldyBSYW5kb20gRGF0YTogIiwgY3R4LT5yYW5kX2RhdGEsIERFRkFVTFRfQkxLX1NaKTsKKworCXJldHVybiAwOworfQorCisvKiBPdXIgZXhwb3J0ZWQgZnVuY3Rpb25zICovCitpbnQgZ2V0X3BybmdfYnl0ZXMoY2hhciAqYnVmLCBpbnQgbmJ5dGVzLCBzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHgpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBjaGFyICpwdHIgPSBidWY7CisJdW5zaWduZWQgaW50IGJ5dGVfY291bnQgPSAodW5zaWduZWQgaW50KW5ieXRlczsKKwlpbnQgZXJyOworCisKKwlpZiAobmJ5dGVzIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY3R4LT5wcm5nX2xvY2ssIGZsYWdzKTsKKworCWVyciA9IC1FRkFVTFQ7CisJaWYgKGN0eC0+ZmxhZ3MgJiBQUk5HX05FRURfUkVTRVQpCisJCWdvdG8gZG9uZTsKKworCS8qCisJICogSWYgdGhlIEZJWEVEX1NJWkUgZmxhZyBpcyBvbiwgb25seSByZXR1cm4gd2hvbGUgYmxvY2tzIG9mCisJICogcHNldWRvIHJhbmRvbSBkYXRhCisJICovCisJZXJyID0gLUVJTlZBTDsKKwlpZiAoY3R4LT5mbGFncyAmIFBSTkdfRklYRURfU0laRSkgeworCQlpZiAobmJ5dGVzIDwgREVGQVVMVF9CTEtfU1opCisJCQlnb3RvIGRvbmU7CisJCWJ5dGVfY291bnQgPSBERUZBVUxUX0JMS19TWjsKKwl9CisKKwllcnIgPSBieXRlX2NvdW50OworCisJZGJncHJpbnQoS0VSTl9DUklUICJnZXR0aW5nICVkIHJhbmRvbSBieXRlcyBmb3IgY29udGV4dCAlcFxuIixieXRlX2NvdW50LCBjdHgpOworCisKK3JlbWFpbmRlcjoKKwlpZiAoY3R4LT5yYW5kX2RhdGFfdmFsaWQgPT0gREVGQVVMVF9CTEtfU1opIHsKKwkJaWYgKF9nZXRfbW9yZV9wcm5nX2J5dGVzKGN0eCkgPCAwKSB7CisJCQltZW1zZXQoYnVmLCAwLCBuYnl0ZXMpOworCQkJZXJyID0gLUVGQVVMVDsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qCisJICogQ29weSB1cCB0byB0aGUgbmV4dCB3aG9sZSBibG9jayBzaXplCisJICovCisJaWYgKGJ5dGVfY291bnQgPCBERUZBVUxUX0JMS19TWikgeworCQlmb3IgKDtjdHgtPnJhbmRfZGF0YV92YWxpZCA8IERFRkFVTFRfQkxLX1NaOyBjdHgtPnJhbmRfZGF0YV92YWxpZCsrKSB7CisJCQkqcHRyID0gY3R4LT5yYW5kX2RhdGFbY3R4LT5yYW5kX2RhdGFfdmFsaWRdOworCQkJcHRyKys7CisJCQlieXRlX2NvdW50LS07CisJCQlpZiAoYnl0ZV9jb3VudCA9PSAwKQorCQkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qCisJICogTm93IGNvcHkgd2hvbGUgYmxvY2tzCisJICovCisJZm9yKDtieXRlX2NvdW50ID49IERFRkFVTFRfQkxLX1NaOyBieXRlX2NvdW50IC09IERFRkFVTFRfQkxLX1NaKSB7CisJCWlmIChfZ2V0X21vcmVfcHJuZ19ieXRlcyhjdHgpIDwgMCkgeworCQkJbWVtc2V0KGJ1ZiwgMCwgbmJ5dGVzKTsKKwkJCWVyciA9IC0xOworCQkJZ290byBkb25lOworCQl9CisJCW1lbWNweShwdHIsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisJCWN0eC0+cmFuZF9kYXRhX3ZhbGlkICs9IERFRkFVTFRfQkxLX1NaOworCQlwdHIgKz0gREVGQVVMVF9CTEtfU1o7CisJfQorCisJLyoKKwkgKiBOb3cgY29weSBhbnkgZXh0cmEgcGFydGlhbCBkYXRhCisJICovCisJaWYgKGJ5dGVfY291bnQpCisJCWdvdG8gcmVtYWluZGVyOworCitkb25lOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0eC0+cHJuZ19sb2NrLCBmbGFncyk7CisJZGJncHJpbnQoS0VSTl9DUklUICJyZXR1cm5pbmcgJWQgZnJvbSBnZXRfcHJuZ19ieXRlcyBpbiBjb250ZXh0ICVwXG4iLGVyciwgY3R4KTsKKwlyZXR1cm4gZXJyOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZ2V0X3BybmdfYnl0ZXMpOworCitzdHJ1Y3QgcHJuZ19jb250ZXh0ICphbGxvY19wcm5nX2NvbnRleHQodm9pZCkKK3sKKwlzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHg9a3phbGxvYyhzaXplb2Yoc3RydWN0IHBybmdfY29udGV4dCksIEdGUF9LRVJORUwpOworCisJc3Bpbl9sb2NrX2luaXQoJmN0eC0+cHJuZ19sb2NrKTsKKworCWlmIChyZXNldF9wcm5nX2NvbnRleHQoY3R4LCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKSkgeworCQlrZnJlZShjdHgpOworCQljdHggPSBOVUxMOworCX0KKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAicmV0dXJuaW5nIGNvbnRleHQgJXBcbiIsY3R4KTsKKwlyZXR1cm4gY3R4OworfQorCitFWFBPUlRfU1lNQk9MX0dQTChhbGxvY19wcm5nX2NvbnRleHQpOworCit2b2lkIGZyZWVfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCkKK3sKKwljcnlwdG9fZnJlZV9ibGtjaXBoZXIoY3R4LT50Zm0pOworCWtmcmVlKGN0eCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChmcmVlX3BybmdfY29udGV4dCk7CisKK2ludCByZXNldF9wcm5nX2NvbnRleHQoc3RydWN0IHBybmdfY29udGV4dCAqY3R4LAorCQkgICAgICAgdW5zaWduZWQgY2hhciAqa2V5LCB1bnNpZ25lZCBjaGFyICppdiwKKwkJICAgICAgIHVuc2lnbmVkIGNoYXIgKlYsIHVuc2lnbmVkIGNoYXIgKkRUKQoreworCWludCByZXQ7CisJaW50IGl2X2xlbjsKKwlpbnQgcmMgPSAtRUZBVUxUOworCisJc3Bpbl9sb2NrKCZjdHgtPnBybmdfbG9jayk7CisJY3R4LT5mbGFncyB8PSBQUk5HX05FRURfUkVTRVQ7CisKKwlpZiAoa2V5KQorCQltZW1jcHkoY3R4LT5wcm5nX2tleSxrZXksc3RybGVuKGN0eC0+cHJuZ19rZXkpKTsKKwllbHNlCisJCWN0eC0+cHJuZ19rZXkgPSBERUZBVUxUX1BSTkdfS0VZOworCisJaWYgKGl2KQorCQltZW1jcHkoY3R4LT5wcm5nX2l2LGl2LCBzdHJsZW4oY3R4LT5wcm5nX2l2KSk7CisJZWxzZQorCQljdHgtPnBybmdfaXYgPSBERUZBVUxUX1BSTkdfSVY7CisKKwlpZiAoVikKKwkJbWVtY3B5KGN0eC0+VixWLERFRkFVTFRfQkxLX1NaKTsKKwllbHNlCisJCW1lbWNweShjdHgtPlYsREVGQVVMVF9WX1NFRUQsREVGQVVMVF9CTEtfU1opOworCisJaWYgKERUKQorCQltZW1jcHkoY3R4LT5EVCwgRFQsIERFRkFVTFRfQkxLX1NaKTsKKwllbHNlCisJCW1lbXNldChjdHgtPkRULCAwLCBERUZBVUxUX0JMS19TWik7CisKKwltZW1zZXQoY3R4LT5yYW5kX2RhdGEsMCxERUZBVUxUX0JMS19TWik7CisJbWVtc2V0KGN0eC0+bGFzdF9yYW5kX2RhdGEsMCxERUZBVUxUX0JMS19TWik7CisKKwlpZiAoY3R4LT50Zm0pCisJCWNyeXB0b19mcmVlX2Jsa2NpcGhlcihjdHgtPnRmbSk7CisKKwljdHgtPnRmbSA9IGNyeXB0b19hbGxvY19ibGtjaXBoZXIoInJmYzM2ODYoY3RyKGFlcykpIiwwLDApOworCWlmICghY3R4LT50Zm0pIHsKKwkJZGJncHJpbnQoS0VSTl9DUklUICJGYWlsZWQgdG8gYWxsb2MgY3J5cHRvIHRmbSBmb3IgY29udGV4dCAlcFxuIixjdHgtPnRmbSk7CisJCWdvdG8gb3V0OworCX0KKworCWN0eC0+cmFuZF9kYXRhX3ZhbGlkID0gREVGQVVMVF9CTEtfU1o7CisKKwlyZXQgPSBjcnlwdG9fYmxrY2lwaGVyX3NldGtleShjdHgtPnRmbSwgY3R4LT5wcm5nX2tleSwgc3RybGVuKGN0eC0+cHJuZ19rZXkpKTsKKwlpZiAocmV0KSB7CisJCWRiZ3ByaW50KEtFUk5fQ1JJVCAiUFJORzogc2V0a2V5KCkgZmFpbGVkIGZsYWdzPSV4XG4iLAorCQkJY3J5cHRvX2Jsa2NpcGhlcl9nZXRfZmxhZ3MoY3R4LT50Zm0pKTsKKwkJY3J5cHRvX2ZyZWVfYmxrY2lwaGVyKGN0eC0+dGZtKTsKKwkJZ290byBvdXQ7CisJfQorCisJaXZfbGVuID0gY3J5cHRvX2Jsa2NpcGhlcl9pdnNpemUoY3R4LT50Zm0pOworCWlmIChpdl9sZW4pIHsKKwkJY3J5cHRvX2Jsa2NpcGhlcl9zZXRfaXYoY3R4LT50Zm0sIGN0eC0+cHJuZ19pdiwgaXZfbGVuKTsKKwl9CisJcmMgPSAwOworCWN0eC0+ZmxhZ3MgJj0gflBSTkdfTkVFRF9SRVNFVDsKK291dDoKKwlzcGluX3VubG9jaygmY3R4LT5wcm5nX2xvY2spOworCisJcmV0dXJuIHJjOworCit9CitFWFBPUlRfU1lNQk9MX0dQTChyZXNldF9wcm5nX2NvbnRleHQpOworCisvKiBNb2R1bGUgaW5pdGFsaXphdGlvbiAqLworc3RhdGljIGludCBfX2luaXQgcHJuZ19tb2RfaW5pdCh2b2lkKQoreworCisjaWZkZWYgVEVTVF9QUk5HX09OX1NUQVJUCisJaW50IGk7CisJdW5zaWduZWQgY2hhciB0bXBidWZbREVGQVVMVF9CTEtfU1pdOworCisJc3RydWN0IHBybmdfY29udGV4dCAqY3R4ID0gYWxsb2NfcHJuZ19jb250ZXh0KCk7CisJaWYgKGN0eCA9PSBOVUxMKQorCQlyZXR1cm4gLUVGQVVMVDsKKwlmb3IgKGk9MDtpPDE2O2krKykgeworCQlpZiAoZ2V0X3BybmdfYnl0ZXModG1wYnVmLCBERUZBVUxUX0JMS19TWiwgY3R4KSA8IDApIHsKKwkJCWZyZWVfcHJuZ19jb250ZXh0KGN0eCk7CisJCQlyZXR1cm4gLUVGQVVMVDsKKwkJfQorCX0KKwlmcmVlX3BybmdfY29udGV4dChjdHgpOworI2VuZGlmCisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHBybmdfbW9kX2Zpbmkodm9pZCkKK3sKKwlyZXR1cm47Cit9CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiU29mdHdhcmUgUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yIik7CitNT0RVTEVfQVVUSE9SKCJOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPiIpOworbW9kdWxlX3BhcmFtKGRiZywgaW50LCAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZGJnLCAiQm9vbGVhbiB0byBlbmFibGUgZGVidWdnaW5nICgwLzEgPT0gb2ZmL29uKSIpOworbW9kdWxlX2luaXQocHJuZ19tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChwcm5nX21vZF9maW5pKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9wcm5nLmggYi9jcnlwdG8vcHJuZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYzliZTUKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcHJuZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBQUk5HOiBQc2V1ZG8gUmFuZG9tIE51bWJlciBHZW5lcmF0b3IKKyAqCisgKiAgKEMpIE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91cgorICogIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqCisgKi8KKworI2lmbmRlZiBfUFJOR19IXworI2RlZmluZSBfUFJOR19IXworc3RydWN0IHBybmdfY29udGV4dDsKKworaW50IGdldF9wcm5nX2J5dGVzKGNoYXIgKmJ1ZiwgaW50IG5ieXRlcywgc3RydWN0IHBybmdfY29udGV4dCAqY3R4KTsKK3N0cnVjdCBwcm5nX2NvbnRleHQgKmFsbG9jX3BybmdfY29udGV4dCh2b2lkKTsKK2ludCByZXNldF9wcm5nX2NvbnRleHQoc3RydWN0IHBybmdfY29udGV4dCAqY3R4LAorCQkJdW5zaWduZWQgY2hhciAqa2V5LCB1bnNpZ25lZCBjaGFyICppdiwKKwkJCXVuc2lnbmVkIGNoYXIgKlYsCisJCQl1bnNpZ25lZCBjaGFyICpEVCk7Cit2b2lkIGZyZWVfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCk7CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9jcnlwdG8vcmlwZW1kLmggYi9jcnlwdG8vcmlwZW1kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU3YTJkNAotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9yaXBlbWQuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29tbW9uIHZhbHVlcyBmb3IgUklQRU1EIGFsZ29yaXRobXMKKyAqLworCisjaWZuZGVmIF9DUllQVE9fUk1EX0gKKyNkZWZpbmUgX0NSWVBUT19STURfSAorCisjZGVmaW5lIFJNRDEyOF9ESUdFU1RfU0laRSAgICAgIDE2CisjZGVmaW5lIFJNRDEyOF9CTE9DS19TSVpFICAgICAgIDY0CisKKyNkZWZpbmUgUk1EMTYwX0RJR0VTVF9TSVpFICAgICAgMjAKKyNkZWZpbmUgUk1EMTYwX0JMT0NLX1NJWkUgICAgICAgNjQKKworI2RlZmluZSBSTUQyNTZfRElHRVNUX1NJWkUgICAgICAzMgorI2RlZmluZSBSTUQyNTZfQkxPQ0tfU0laRSAgICAgICA2NAorCisjZGVmaW5lIFJNRDMyMF9ESUdFU1RfU0laRSAgICAgIDQwCisjZGVmaW5lIFJNRDMyMF9CTE9DS19TSVpFICAgICAgIDY0CisKKy8qIGluaXRpYWwgdmFsdWVzICAqLworI2RlZmluZSBSTURfSDAgIDB4Njc0NTIzMDFVTAorI2RlZmluZSBSTURfSDEgIDB4ZWZjZGFiODlVTAorI2RlZmluZSBSTURfSDIgIDB4OThiYWRjZmVVTAorI2RlZmluZSBSTURfSDMgIDB4MTAzMjU0NzZVTAorI2RlZmluZSBSTURfSDQgIDB4YzNkMmUxZjBVTAorI2RlZmluZSBSTURfSDUgIDB4NzY1NDMyMTBVTAorI2RlZmluZSBSTURfSDYgIDB4ZmVkY2JhOThVTAorI2RlZmluZSBSTURfSDcgIDB4ODlhYmNkZWZVTAorI2RlZmluZSBSTURfSDggIDB4MDEyMzQ1NjdVTAorI2RlZmluZSBSTURfSDkgIDB4M2MyZDFlMGZVTAorCisvKiBjb25zdGFudHMgKi8KKyNkZWZpbmUgUk1EX0sxICAweDAwMDAwMDAwVUwKKyNkZWZpbmUgUk1EX0syICAweDVhODI3OTk5VUwKKyNkZWZpbmUgUk1EX0szICAweDZlZDllYmExVUwKKyNkZWZpbmUgUk1EX0s0ICAweDhmMWJiY2RjVUwKKyNkZWZpbmUgUk1EX0s1ICAweGE5NTNmZDRlVUwKKyNkZWZpbmUgUk1EX0s2ICAweDUwYTI4YmU2VUwKKyNkZWZpbmUgUk1EX0s3ICAweDVjNGRkMTI0VUwKKyNkZWZpbmUgUk1EX0s4ICAweDZkNzAzZWYzVUwKKyNkZWZpbmUgUk1EX0s5ICAweDdhNmQ3NmU5VUwKKworI2VuZGlmCmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMTI4LmMgYi9jcnlwdG8vcm1kMTI4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRlNmZhMgotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQxMjguYwpAQCAtMCwwICsxLDMyNSBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0xMjggLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQxMjhfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbNF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgS0sxIFJNRF9LNgorI2RlZmluZSBLSzIgUk1EX0s3CisjZGVmaW5lIEtLMyBSTURfSzgKKyNkZWZpbmUgS0s0IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7CVwKKwkoYSkgPSByb2wzMigoYSksIChzKSk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMTI4X3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgYWFhLCBiYmIsIGNjYywgZGRkOworCisJLyogSW5pdGlhbGl6ZSBsZWZ0IGxhbmUgKi8KKwlhYSA9IHN0YXRlWzBdOworCWJiID0gc3RhdGVbMV07CisJY2MgPSBzdGF0ZVsyXTsKKwlkZCA9IHN0YXRlWzNdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbMF07CisJYmJiID0gc3RhdGVbMV07CisJY2NjID0gc3RhdGVbMl07CisJZGRkID0gc3RhdGVbM107CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblswXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblszXSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpbls2XSwgICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls5XSwgIDEzKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMl0sICA2KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxNV0sICA4KTsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMzogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxMF0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMl0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblszXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxNF0sICA4KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsyXSwgIDEyKTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bNF0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTVdLCAgOCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTBdLCAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiByb3VuZCAzOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxNV0sICA5KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblszXSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpbls2XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls4XSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxMF0sIDEzKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblsxM10sICA1KTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMF0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMl0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bN10sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJZGRkICs9IGNjICsgc3RhdGVbMV07CQkvKiBmaW5hbCByZXN1bHQgZm9yIHN0YXRlWzBdICovCisJc3RhdGVbMV0gPSBzdGF0ZVsyXSArIGRkICsgYWFhOworCXN0YXRlWzJdID0gc3RhdGVbM10gKyBhYSArIGJiYjsKKwlzdGF0ZVszXSA9IHN0YXRlWzBdICsgYmIgKyBjY2M7CisJc3RhdGVbMF0gPSBkZGQ7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHJtZDEyOF9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCisJcmN0eC0+Ynl0ZV9jb3VudCA9IDA7CisKKwlyY3R4LT5zdGF0ZVswXSA9IFJNRF9IMDsKKwlyY3R4LT5zdGF0ZVsxXSA9IFJNRF9IMTsKKwlyY3R4LT5zdGF0ZVsyXSA9IFJNRF9IMjsKKwlyY3R4LT5zdGF0ZVszXSA9IFJNRF9IMzsKKworCW1lbXNldChyY3R4LT5idWZmZXIsIDAsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKK30KKworc3RhdGljIHZvaWQgcm1kMTI4X3VwZGF0ZShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBjb25zdCB1OCAqZGF0YSwKKwkJCSAgdW5zaWduZWQgaW50IGxlbikKK3sKKwlzdHJ1Y3Qgcm1kMTI4X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJY29uc3QgdTMyIGF2YWlsID0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSAocmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2YpOworCisJcmN0eC0+Ynl0ZV9jb3VudCArPSBsZW47CisKKwkvKiBFbm91Z2ggc3BhY2UgaW4gYnVmZmVyPyBJZiBzbyBjb3B5IGFuZCB3ZSdyZSBkb25lICovCisJaWYgKGF2YWlsID4gbGVuKSB7CisJCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkJICAgICAgIGRhdGEsIGxlbik7CisJCXJldHVybjsKKwl9CisKKwltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJICAgICAgIGRhdGEsIGF2YWlsKTsKKworCXJtZDEyOF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJZGF0YSArPSBhdmFpbDsKKwlsZW4gLT0gYXZhaWw7CisKKwl3aGlsZSAobGVuID49IHNpemVvZihyY3R4LT5idWZmZXIpKSB7CisJCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKKwkJcm1kMTI4X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwkJZGF0YSArPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwkJbGVuIC09IHNpemVvZihyY3R4LT5idWZmZXIpOworCX0KKworCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIGxlbik7Cit9CisKKy8qIEFkZCBwYWRkaW5nIGFuZCByZXR1cm4gdGhlIG1lc3NhZ2UgZGlnZXN0LiAqLworc3RhdGljIHZvaWQgcm1kMTI4X2ZpbmFsKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4ICpvdXQpCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXUzMiBpLCBpbmRleCwgcGFkbGVuOworCV9fbGU2NCBiaXRzOworCV9fbGUzMiAqZHN0ID0gKF9fbGUzMiAqKW91dDsKKwlzdGF0aWMgY29uc3QgdTggcGFkZGluZ1s2NF0gPSB7IDB4ODAsIH07CisKKwliaXRzID0gY3B1X3RvX2xlNjQocmN0eC0+Ynl0ZV9jb3VudCA8PCAzKTsKKworCS8qIFBhZCBvdXQgdG8gNTYgbW9kIDY0ICovCisJaW5kZXggPSByY3R4LT5ieXRlX2NvdW50ICYgMHgzZjsKKwlwYWRsZW4gPSAoaW5kZXggPCA1NikgPyAoNTYgLSBpbmRleCkgOiAoKDY0KzU2KSAtIGluZGV4KTsKKwlybWQxMjhfdXBkYXRlKHRmbSwgcGFkZGluZywgcGFkbGVuKTsKKworCS8qIEFwcGVuZCBsZW5ndGggKi8KKwlybWQxMjhfdXBkYXRlKHRmbSwgKGNvbnN0IHU4ICopJmJpdHMsIHNpemVvZihiaXRzKSk7CisKKwkvKiBTdG9yZSBzdGF0ZSBpbiBkaWdlc3QgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDEyOCIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQxMjgiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQxMjhfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQxMjhfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMTI4X0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQxMjhfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQxMjhfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMTI4X2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMTI4X21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQxMjhfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDEyOF9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQxMjhfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0xMjggTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQxMjgiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9ybWQxNjAuYyBiL2NyeXB0by9ybWQxNjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDAxZWM3Ci0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL3JtZDE2MC5jCkBAIC0wLDAgKzEsMzY5IEBACisvKgorICogQ3J5cHRvZ3JhcGhpYyBBUEkuCisgKgorICogUklQRU1ELTE2MCAtIFJBQ0UgSW50ZWdyaXR5IFByaW1pdGl2ZXMgRXZhbHVhdGlvbiBNZXNzYWdlIERpZ2VzdC4KKyAqCisgKiBCYXNlZCBvbiB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGJ5IEFudG9vbiBCb3NzZWxhZXJzLCBFU0FULUNPU0lDCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEFkcmlhbi1LZW4gUnVlZWdzZWdnZXIgPHJ1ZWVnc2VnZ2VyIChhdCkgc3dpc3MtaXQuY2g+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CisKKyNpbmNsdWRlICJyaXBlbWQuaCIKKworc3RydWN0IHJtZDE2MF9jdHggeworCXU2NCBieXRlX2NvdW50OworCXUzMiBzdGF0ZVs1XTsKKwlfX2xlMzIgYnVmZmVyWzE2XTsKK307CisKKyNkZWZpbmUgSzEgIFJNRF9LMQorI2RlZmluZSBLMiAgUk1EX0syCisjZGVmaW5lIEszICBSTURfSzMKKyNkZWZpbmUgSzQgIFJNRF9LNAorI2RlZmluZSBLNSAgUk1EX0s1CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzkKKyNkZWZpbmUgS0s1IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKyNkZWZpbmUgRjUoeCwgeSwgeikgKHggXiAoeSB8IH56KSkKKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBlLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSkgKyAoZSk7IFwKKwkoYykgPSByb2wzMigoYyksIDEwKTsgXAorfQorCitzdGF0aWMgdm9pZCBybWQxNjBfdHJhbnNmb3JtKHUzMiAqc3RhdGUsIGNvbnN0IF9fbGUzMiAqaW4pCit7CisJdTMyIGFhLCBiYiwgY2MsIGRkLCBlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBlZWU7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisJZWUgPSBzdGF0ZVs0XTsKKworCS8qIEluaXRpYWxpemUgcmlnaHQgbGFuZSAqLworCWFhYSA9IHN0YXRlWzBdOworCWJiYiA9IHN0YXRlWzFdOworCWNjYyA9IHN0YXRlWzJdOworCWRkZCA9IHN0YXRlWzNdOworCWVlZSA9IHN0YXRlWzRdOworCisJLyogcm91bmQgMTogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMjogbGVmdCBsYW5lIiAqLworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls3XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblsxNV0sICA3KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblswXSwgIDEyKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblsyXSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls4XSwgIDEyKTsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSIgKi8KKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxNF0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxNV0sICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpblsyXSwgIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls2XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls1XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNTogbGVmdCBsYW5lIiAqLworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpbls0XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bMF0sICAxNSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls5XSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bN10sICAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblsyXSwgIDEzKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMV0sIDExKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzE1XSwgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblsxM10sICA2KTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzE1XSwgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMTJdLCAgNik7CisKKwkvKiByb3VuZCAyOiByaWdodCBsYW5lICovCisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bMTNdLCAgOCk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTJdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMV0sICAxMyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzJdLCAgMTEpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNV0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblszXSwgIDExKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpbls2XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls4XSwgIDEzKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTJdLCAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxMF0sIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxM10sICA1KTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzJdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTRdLCAgOCk7CisKKwkvKiByb3VuZCA1OiByaWdodCBsYW5lICovCisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpblsxNV0sICA1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzRdLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bNV0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpbls3XSwgICA2KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzJdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxM10sICA2KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTRdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzBdLCAgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpblszXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bOV0sICAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzExXSwgMTEpOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJZGRkICs9IGNjICsgc3RhdGVbMV07CQkvKiBmaW5hbCByZXN1bHQgZm9yIHN0YXRlWzBdICovCisJc3RhdGVbMV0gPSBzdGF0ZVsyXSArIGRkICsgZWVlOworCXN0YXRlWzJdID0gc3RhdGVbM10gKyBlZSArIGFhYTsKKwlzdGF0ZVszXSA9IHN0YXRlWzRdICsgYWEgKyBiYmI7CisJc3RhdGVbNF0gPSBzdGF0ZVswXSArIGJiICsgY2NjOworCXN0YXRlWzBdID0gZGRkOworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBybWQxNjBfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKworCXJjdHgtPmJ5dGVfY291bnQgPSAwOworCisJcmN0eC0+c3RhdGVbMF0gPSBSTURfSDA7CisJcmN0eC0+c3RhdGVbMV0gPSBSTURfSDE7CisJcmN0eC0+c3RhdGVbMl0gPSBSTURfSDI7CisJcmN0eC0+c3RhdGVbM10gPSBSTURfSDM7CisJcmN0eC0+c3RhdGVbNF0gPSBSTURfSDQ7CisKKwltZW1zZXQocmN0eC0+YnVmZmVyLCAwLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7Cit9CisKK3N0YXRpYyB2b2lkIHJtZDE2MF91cGRhdGUoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgY29uc3QgdTggKmRhdGEsCisJCQkgIHVuc2lnbmVkIGludCBsZW4pCit7CisJc3RydWN0IHJtZDE2MF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWNvbnN0IHUzMiBhdmFpbCA9IHNpemVvZihyY3R4LT5idWZmZXIpIC0gKHJjdHgtPmJ5dGVfY291bnQgJiAweDNmKTsKKworCXJjdHgtPmJ5dGVfY291bnQgKz0gbGVuOworCisJLyogRW5vdWdoIHNwYWNlIGluIGJ1ZmZlcj8gSWYgc28gY29weSBhbmQgd2UncmUgZG9uZSAqLworCWlmIChhdmFpbCA+IGxlbikgeworCQltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJCSAgICAgICBkYXRhLCBsZW4pOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCSAgICAgICBkYXRhLCBhdmFpbCk7CisKKwlybWQxNjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCWRhdGEgKz0gYXZhaWw7CisJbGVuIC09IGF2YWlsOworCisJd2hpbGUgKGxlbiA+PSBzaXplb2YocmN0eC0+YnVmZmVyKSkgeworCQltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7CisJCXJtZDE2MF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJCWRhdGEgKz0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJCWxlbiAtPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwl9CisKKwltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBsZW4pOworfQorCisvKiBBZGQgcGFkZGluZyBhbmQgcmV0dXJuIHRoZSBtZXNzYWdlIGRpZ2VzdC4gKi8KK3N0YXRpYyB2b2lkIHJtZDE2MF9maW5hbChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1OCAqb3V0KQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwl1MzIgaSwgaW5kZXgsIHBhZGxlbjsKKwlfX2xlNjQgYml0czsKKwlfX2xlMzIgKmRzdCA9IChfX2xlMzIgKilvdXQ7CisJc3RhdGljIGNvbnN0IHU4IHBhZGRpbmdbNjRdID0geyAweDgwLCB9OworCisJYml0cyA9IGNwdV90b19sZTY0KHJjdHgtPmJ5dGVfY291bnQgPDwgMyk7CisKKwkvKiBQYWQgb3V0IHRvIDU2IG1vZCA2NCAqLworCWluZGV4ID0gcmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2Y7CisJcGFkbGVuID0gKGluZGV4IDwgNTYpID8gKDU2IC0gaW5kZXgpIDogKCg2NCs1NikgLSBpbmRleCk7CisJcm1kMTYwX3VwZGF0ZSh0Zm0sIHBhZGRpbmcsIHBhZGxlbik7CisKKwkvKiBBcHBlbmQgbGVuZ3RoICovCisJcm1kMTYwX3VwZGF0ZSh0Zm0sIChjb25zdCB1OCAqKSZiaXRzLCBzaXplb2YoYml0cykpOworCisJLyogU3RvcmUgc3RhdGUgaW4gZGlnZXN0ICovCisJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKwkJZHN0W2ldID0gY3B1X3RvX2xlMzJwKCZyY3R4LT5zdGF0ZVtpXSk7CisKKwkvKiBXaXBlIGNvbnRleHQgKi8KKwltZW1zZXQocmN0eCwgMCwgc2l6ZW9mKCpyY3R4KSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBhbGcgPSB7CisJLmNyYV9uYW1lCSA9CSJybWQxNjAiLAorCS5jcmFfZHJpdmVyX25hbWUgPQkicm1kMTYwIiwKKwkuY3JhX2ZsYWdzCSA9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCisJLmNyYV9ibG9ja3NpemUJID0JUk1EMTYwX0JMT0NLX1NJWkUsCisJLmNyYV9jdHhzaXplCSA9CXNpemVvZihzdHJ1Y3Qgcm1kMTYwX2N0eCksCisJLmNyYV9tb2R1bGUJID0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CSA9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV91CQkgPQl7IC5kaWdlc3QgPSB7CisJLmRpYV9kaWdlc3RzaXplCSA9CVJNRDE2MF9ESUdFU1RfU0laRSwKKwkuZGlhX2luaXQJID0Jcm1kMTYwX2luaXQsCisJLmRpYV91cGRhdGUJID0Jcm1kMTYwX3VwZGF0ZSwKKwkuZGlhX2ZpbmFsCSA9CXJtZDE2MF9maW5hbCB9IH0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IHJtZDE2MF9tb2RfaW5pdCh2b2lkKQoreworCXJldHVybiBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgcm1kMTYwX21vZF9maW5pKHZvaWQpCit7CisJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCittb2R1bGVfaW5pdChybWQxNjBfbW9kX2luaXQpOworbW9kdWxlX2V4aXQocm1kMTYwX21vZF9maW5pKTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJSSVBFTUQtMTYwIE1lc3NhZ2UgRGlnZXN0Iik7CisKK01PRFVMRV9BTElBUygicm1kMTYwIik7CmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMjU2LmMgYi9jcnlwdG8vcm1kMjU2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNkZTViNAotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQyNTYuYwpAQCAtMCwwICsxLDM0NCBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0yNTYgLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQyNTZfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbOF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgS0sxIFJNRF9LNgorI2RlZmluZSBLSzIgUk1EX0s3CisjZGVmaW5lIEtLMyBSTURfSzgKKyNkZWZpbmUgS0s0IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgYWFhLCBiYmIsIGNjYywgZGRkLCB0bXA7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisKKwkvKiBJbml0aWFsaXplIHJpZ2h0IGxhbmUgKi8KKwlhYWEgPSBzdGF0ZVs0XTsKKwliYmIgPSBzdGF0ZVs1XTsKKwljY2MgPSBzdGF0ZVs2XTsKKwlkZGQgPSBzdGF0ZVs3XTsKKworCS8qIHJvdW5kIDE6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bMTJdLCAgNik7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJhIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBhYTsgYWEgPSBhYWE7IGFhYSA9IHRtcDsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJiIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBiYjsgYmIgPSBiYmI7IGJiYiA9IHRtcDsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzNdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzhdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzEzXSwgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzEyXSwgIDUpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls1XSwgICA3KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpbls3XSwgICA4KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpbls5XSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpblsxMl0sICA1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpblswXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJjIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBjYzsgY2MgPSBjY2M7IGNjYyA9IHRtcDsKKworCS8qIHJvdW5kIDQ6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNDogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMTRdLCAgOCk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJkIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBkZDsgZGQgPSBkZGQ7IGRkZCA9IHRtcDsKKworCS8qIGNvbWJpbmUgcmVzdWx0cyAqLworCXN0YXRlWzBdICs9IGFhOworCXN0YXRlWzFdICs9IGJiOworCXN0YXRlWzJdICs9IGNjOworCXN0YXRlWzNdICs9IGRkOworCXN0YXRlWzRdICs9IGFhYTsKKwlzdGF0ZVs1XSArPSBiYmI7CisJc3RhdGVbNl0gKz0gY2NjOworCXN0YXRlWzddICs9IGRkZDsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g1OworCXJjdHgtPnN0YXRlWzVdID0gUk1EX0g2OworCXJjdHgtPnN0YXRlWzZdID0gUk1EX0g3OworCXJjdHgtPnN0YXRlWzddID0gUk1EX0g4OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQyNTZfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQyNTZfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMjU2X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQyNTZfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQyNTZfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDI1Nl91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDI1Nl91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspCisJCWRzdFtpXSA9IGNwdV90b19sZTMycCgmcmN0eC0+c3RhdGVbaV0pOworCisJLyogV2lwZSBjb250ZXh0ICovCisJbWVtc2V0KHJjdHgsIDAsIHNpemVvZigqcmN0eCkpOworfQorCitzdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworCS5jcmFfbmFtZQkgPQkicm1kMjU2IiwKKwkuY3JhX2RyaXZlcl9uYW1lID0JInJtZDI1NiIsCisJLmNyYV9mbGFncwkgPQlDUllQVE9fQUxHX1RZUEVfRElHRVNULAorCS5jcmFfYmxvY2tzaXplCSA9CVJNRDI1Nl9CTE9DS19TSVpFLAorCS5jcmFfY3R4c2l6ZQkgPQlzaXplb2Yoc3RydWN0IHJtZDI1Nl9jdHgpLAorCS5jcmFfbW9kdWxlCSA9CVRISVNfTU9EVUxFLAorCS5jcmFfbGlzdAkgPQlMSVNUX0hFQURfSU5JVChhbGcuY3JhX2xpc3QpLAorCS5jcmFfdQkJID0JeyAuZGlnZXN0ID0geworCS5kaWFfZGlnZXN0c2l6ZQkgPQlSTUQyNTZfRElHRVNUX1NJWkUsCisJLmRpYV9pbml0CSA9CXJtZDI1Nl9pbml0LAorCS5kaWFfdXBkYXRlCSA9CXJtZDI1Nl91cGRhdGUsCisJLmRpYV9maW5hbAkgPQlybWQyNTZfZmluYWwgfSB9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBybWQyNTZfbW9kX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gY3J5cHRvX3JlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHJtZDI1Nl9tb2RfZmluaSh2b2lkKQoreworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworbW9kdWxlX2luaXQocm1kMjU2X21vZF9pbml0KTsKK21vZHVsZV9leGl0KHJtZDI1Nl9tb2RfZmluaSk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiUklQRU1ELTI1NiBNZXNzYWdlIERpZ2VzdCIpOworCitNT0RVTEVfQUxJQVMoInJtZDI1NiIpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3JtZDMyMC5jIGIvY3J5cHRvL3JtZDMyMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNDNkNjYKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcm1kMzIwLmMKQEAgLTAsMCArMSwzOTMgQEAKKy8qCisgKiBDcnlwdG9ncmFwaGljIEFQSS4KKyAqCisgKiBSSVBFTUQtMzIwIC0gUkFDRSBJbnRlZ3JpdHkgUHJpbWl0aXZlcyBFdmFsdWF0aW9uIE1lc3NhZ2UgRGlnZXN0LgorICoKKyAqIEJhc2VkIG9uIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYnkgQW50b29uIEJvc3NlbGFlcnMsIEVTQVQtQ09TSUMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggQWRyaWFuLUtlbiBSdWVlZ3NlZ2dlciA8cnVlZWdzZWdnZXIgKGF0KSBzd2lzcy1pdC5jaD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0b2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KKworI2luY2x1ZGUgInJpcGVtZC5oIgorCitzdHJ1Y3Qgcm1kMzIwX2N0eCB7CisJdTY0IGJ5dGVfY291bnQ7CisJdTMyIHN0YXRlWzEwXTsKKwlfX2xlMzIgYnVmZmVyWzE2XTsKK307CisKKyNkZWZpbmUgSzEgIFJNRF9LMQorI2RlZmluZSBLMiAgUk1EX0syCisjZGVmaW5lIEszICBSTURfSzMKKyNkZWZpbmUgSzQgIFJNRF9LNAorI2RlZmluZSBLNSAgUk1EX0s1CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzkKKyNkZWZpbmUgS0s1IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKyNkZWZpbmUgRjUoeCwgeSwgeikgKHggXiAoeSB8IH56KSkKKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBlLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSkgKyAoZSk7IFwKKwkoYykgPSByb2wzMigoYyksIDEwKTsgXAorfQorCitzdGF0aWMgdm9pZCBybWQzMjBfdHJhbnNmb3JtKHUzMiAqc3RhdGUsIGNvbnN0IF9fbGUzMiAqaW4pCit7CisJdTMyIGFhLCBiYiwgY2MsIGRkLCBlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIHRtcDsKKworCS8qIEluaXRpYWxpemUgbGVmdCBsYW5lICovCisJYWEgPSBzdGF0ZVswXTsKKwliYiA9IHN0YXRlWzFdOworCWNjID0gc3RhdGVbMl07CisJZGQgPSBzdGF0ZVszXTsKKwllZSA9IHN0YXRlWzRdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbNV07CisJYmJiID0gc3RhdGVbNl07CisJY2NjID0gc3RhdGVbN107CisJZGRkID0gc3RhdGVbOF07CisJZWVlID0gc3RhdGVbOV07CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMTJdLCAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMTVdLCAgOCk7CisKKwkvKiByb3VuZCAxOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bN10sICAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMTNdLCAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiYSIgcmVnaXN0ZXJzICovCisJdG1wID0gYWE7IGFhID0gYWFhOyBhYWEgPSB0bXA7CisKKwkvKiByb3VuZCAyOiBsZWZ0IGxhbmUiICovCisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls0XSwgICA2KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bMTNdLCAgOCk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblsxMF0sIDExKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblszXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTJdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls5XSwgIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxNF0sICA3KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls2XSwgICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls3XSwgICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMF0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpbls1XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblsxNV0sICA3KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bOF0sICAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpbls0XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpblsyXSwgIDExKTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImIiIHJlZ2lzdGVycyAqLworCXRtcCA9IGJiOyBiYiA9IGJiYjsgYmJiID0gdG1wOworCisJLyogcm91bmQgMzogbGVmdCBsYW5lIiAqLworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblszXSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpbls0XSwgICA3KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls4XSwgIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls3XSwgICA4KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxM10sICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxMl0sICA1KTsKKworCS8qIHJvdW5kIDM6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxXSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNF0sICA2KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblsxMV0sIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpblsyXSwgIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls0XSwgICA3KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJjIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBjYzsgY2MgPSBjY2M7IGNjYyA9IHRtcDsKKworCS8qIHJvdW5kIDQ6IGxlZnQgbGFuZSIgKi8KKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTRdLCAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bMl0sICAxMik7CisKKwkvKiByb3VuZCA0OiByaWdodCBsYW5lICovCisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bNF0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bNV0sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiZCIgcmVnaXN0ZXJzICovCisJdG1wID0gZGQ7IGRkID0gZGRkOyBkZGQgPSB0bXA7CisKKwkvKiByb3VuZCA1OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzRdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblswXSwgIDE1KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bNV0sICAgNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpbls3XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bMTJdLCAgOCk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzJdLCAgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMF0sIDEyKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bMTRdLCAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzFdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblszXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bOF0sICAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzExXSwgMTEpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls2XSwgICA4KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEzXSwgIDYpOworCisJLyogcm91bmQgNTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMl0sICA4KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzEwXSwgMTIpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpbls0XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bMV0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpbls4XSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bN10sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzZdLCAgIDgpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsyXSwgIDEzKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bMTNdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpblswXSwgIDE1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMV0sIDExKTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImUiIHJlZ2lzdGVycyAqLworCXRtcCA9IGVlOyBlZSA9IGVlZTsgZWVlID0gdG1wOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJc3RhdGVbMF0gKz0gYWE7CisJc3RhdGVbMV0gKz0gYmI7CisJc3RhdGVbMl0gKz0gY2M7CisJc3RhdGVbM10gKz0gZGQ7CisJc3RhdGVbNF0gKz0gZWU7CisJc3RhdGVbNV0gKz0gYWFhOworCXN0YXRlWzZdICs9IGJiYjsKKwlzdGF0ZVs3XSArPSBjY2M7CisJc3RhdGVbOF0gKz0gZGRkOworCXN0YXRlWzldICs9IGVlZTsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMzIwX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g0OworCXJjdHgtPnN0YXRlWzVdID0gUk1EX0g1OworCXJjdHgtPnN0YXRlWzZdID0gUk1EX0g2OworCXJjdHgtPnN0YXRlWzddID0gUk1EX0g3OworCXJjdHgtPnN0YXRlWzhdID0gUk1EX0g4OworCXJjdHgtPnN0YXRlWzldID0gUk1EX0g5OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQzMjBfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQzMjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMzIwX3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQzMjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQzMjBfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDMyMF91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDMyMF91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDMyMCIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQzMjAiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQzMjBfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQzMjBfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMzIwX0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQzMjBfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQzMjBfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMzIwX2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMzIwX21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQzMjBfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDMyMF9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQzMjBfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0zMjAgTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQzMjAiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by90Y3J5cHQuYyBiL2NyeXB0by90Y3J5cHQuYwppbmRleCA2YmVhYmM1Li41OTgyMWEyIDEwMDY0NAotLS0gYS9jcnlwdG8vdGNyeXB0LmMKKysrIGIvY3J5cHRvL3RjcnlwdC5jCkBAIC0xMywxNSArMTMsOSBAQAogICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQogICogYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogMjAwNy0xMS0xMyBBZGRlZCBHQ00gdGVzdHMKLSAqIDIwMDctMTEtMTMgQWRkZWQgQUVBRCBzdXBwb3J0Ci0gKiAyMDA3LTExLTA2IEFkZGVkIFNIQS0yMjQgYW5kIFNIQS0yMjQtSE1BQyB0ZXN0cwotICogMjAwNi0xMi0wNyBBZGRlZCBTSEEzODQgSE1BQyBhbmQgU0hBNTEyIEhNQUMgdGVzdHMKLSAqIDIwMDQtMDgtMDkgQWRkZWQgY2lwaGVyIHNwZWVkIHRlc3RzIChSZXlrIEZsb2V0ZXIgPHJleWtAdmFudHJvbml4Lm5ldD4pCi0gKiAyMDAzLTA5LTE0IFJld3JpdHRlbiBieSBLYXJ0aWtleSBNYWhlbmRyYSBCaGF0dAotICoKICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zMCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXguaD4KQEAgLTM4LDcgKzMxLDcgQEAKICNpbmNsdWRlICJ0Y3J5cHQuaCIKIAogLyoKLSAqIE5lZWQgdG8ga21hbGxvYygpIG1lbW9yeSBmb3IgdGVzdGluZyBrbWFwKCkuCisgKiBOZWVkIHRvIGttYWxsb2MoKSBtZW1vcnkgZm9yIHRlc3RpbmcuCiAgKi8KICNkZWZpbmUgVFZNRU1TSVpFCTE2Mzg0CiAjZGVmaW5lIFhCVUZTSVpFCTMyNzY4CkBAIC00Niw3ICszOSw3IEBACiAvKgogICogSW5kZXhlcyBpbnRvIHRoZSB4YnVmIHRvIHNpbXVsYXRlIGNyb3NzLXBhZ2UgYWNjZXNzLgogICovCi0jZGVmaW5lIElEWDEJCTM3CisjZGVmaW5lIElEWDEJCTMyCiAjZGVmaW5lIElEWDIJCTMyNDAwCiAjZGVmaW5lIElEWDMJCTEKICNkZWZpbmUgSURYNAkJODE5MwpAQCAtODMsNyArNzYsOCBAQAogCSJibG93ZmlzaCIsICJ0d29maXNoIiwgInNlcnBlbnQiLCAic2hhMzg0IiwgInNoYTUxMiIsICJtZDQiLCAiYWVzIiwKIAkiY2FzdDYiLCAiYXJjNCIsICJtaWNoYWVsX21pYyIsICJkZWZsYXRlIiwgImNyYzMyYyIsICJ0ZWEiLCAieHRlYSIsCiAJImtoYXphZCIsICJ3cDUxMiIsICJ3cDM4NCIsICJ3cDI1NiIsICJ0bmVwcmVzIiwgInhldGEiLCAgImZjcnlwdCIsCi0JImNhbWVsbGlhIiwgInNlZWQiLCAic2Fsc2EyMCIsICJsem8iLCAiY3RzIiwgTlVMTAorCSJjYW1lbGxpYSIsICJzZWVkIiwgInNhbHNhMjAiLCAicm1kMTI4IiwgInJtZDE2MCIsICJybWQyNTYiLCAicm1kMzIwIiwKKwkibHpvIiwgImN0cyIsIE5VTEwKIH07CiAKIHN0YXRpYyB2b2lkIGhleGR1bXAodW5zaWduZWQgY2hhciAqYnVmLCB1bnNpZ25lZCBpbnQgbGVuKQpAQCAtMTEwLDIyICsxMDQsMzAgQEAKIAl1bnNpZ25lZCBpbnQgaSwgaiwgaywgdGVtcDsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3Qgc2dbOF07CiAJY2hhciByZXN1bHRbNjRdOwotCXN0cnVjdCBjcnlwdG9faGFzaCAqdGZtOwotCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm07CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcTsKKwlzdHJ1Y3QgdGNyeXB0X3Jlc3VsdCB0cmVzdWx0OwogCWludCByZXQ7CiAJdm9pZCAqaGFzaF9idWZmOwogCiAJcHJpbnRrKCJcbnRlc3RpbmcgJXNcbiIsIGFsZ28pOwogCi0JdGZtID0gY3J5cHRvX2FsbG9jX2hhc2goYWxnbywgMCwgQ1JZUFRPX0FMR19BU1lOQyk7CisJaW5pdF9jb21wbGV0aW9uKCZ0cmVzdWx0LmNvbXBsZXRpb24pOworCisJdGZtID0gY3J5cHRvX2FsbG9jX2FoYXNoKGFsZ28sIDAsIDApOwogCWlmIChJU19FUlIodGZtKSkgewogCQlwcmludGsoImZhaWxlZCB0byBsb2FkIHRyYW5zZm9ybSBmb3IgJXM6ICVsZFxuIiwgYWxnbywKIAkJICAgICAgIFBUUl9FUlIodGZtKSk7CiAJCXJldHVybjsKIAl9CiAKLQlkZXNjLnRmbSA9IHRmbTsKLQlkZXNjLmZsYWdzID0gMDsKKwlyZXEgPSBhaGFzaF9yZXF1ZXN0X2FsbG9jKHRmbSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXEpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBmb3IgJXNcbiIsIGFsZ28pOworCQlnb3RvIG91dF9ub3JlcTsKKwl9CisJYWhhc2hfcmVxdWVzdF9zZXRfY2FsbGJhY2socmVxLCBDUllQVE9fVEZNX1JFUV9NQVlfQkFDS0xPRywKKwkJCQkgICB0Y3J5cHRfY29tcGxldGUsICZ0cmVzdWx0KTsKIAogCWZvciAoaSA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewogCQlwcmludGsoInRlc3QgJXU6XG4iLCBpICsgMSk7CkBAIC0xMzksOCArMTQxLDkgQEAKIAkJc2dfaW5pdF9vbmUoJnNnWzBdLCBoYXNoX2J1ZmYsIHRlbXBsYXRlW2ldLnBzaXplKTsKIAogCQlpZiAodGVtcGxhdGVbaV0ua3NpemUpIHsKLQkJCXJldCA9IGNyeXB0b19oYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKLQkJCQkJCSB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CisJCQljcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CisJCQlyZXQgPSBjcnlwdG9fYWhhc2hfc2V0a2V5KHRmbSwgdGVtcGxhdGVbaV0ua2V5LAorCQkJCQkJICB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CiAJCQlpZiAocmV0KSB7CiAJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwogCQkJCWtmcmVlKGhhc2hfYnVmZik7CkBAIC0xNDgsMTcgKzE1MSwzMCBAQAogCQkJfQogCQl9CiAKLQkJcmV0ID0gY3J5cHRvX2hhc2hfZGlnZXN0KCZkZXNjLCBzZywgdGVtcGxhdGVbaV0ucHNpemUsIHJlc3VsdCk7Ci0JCWlmIChyZXQpIHsKKwkJYWhhc2hfcmVxdWVzdF9zZXRfY3J5cHQocmVxLCBzZywgcmVzdWx0LCB0ZW1wbGF0ZVtpXS5wc2l6ZSk7CisJCXJldCA9IGNyeXB0b19haGFzaF9kaWdlc3QocmVxKTsKKwkJc3dpdGNoIChyZXQpIHsKKwkJY2FzZSAwOgorCQkJYnJlYWs7CisJCWNhc2UgLUVJTlBST0dSRVNTOgorCQljYXNlIC1FQlVTWToKKwkJCXJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgKKwkJCQkmdHJlc3VsdC5jb21wbGV0aW9uKTsKKwkJCWlmICghcmV0ICYmICEocmV0ID0gdHJlc3VsdC5lcnIpKSB7CisJCQkJSU5JVF9DT01QTEVUSU9OKHRyZXN1bHQuY29tcGxldGlvbik7CisJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKIAkJCXByaW50aygiZGlnZXN0ICgpIGZhaWxlZCByZXQ9JWRcbiIsIHJldCk7CiAJCQlrZnJlZShoYXNoX2J1ZmYpOwogCQkJZ290byBvdXQ7CiAJCX0KIAotCQloZXhkdW1wKHJlc3VsdCwgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKTsKKwkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpOwogCQlwcmludGsoIiVzXG4iLAogCQkgICAgICAgbWVtY21wKHJlc3VsdCwgdGVtcGxhdGVbaV0uZGlnZXN0LAotCQkJICAgICAgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CisJCQkgICAgICBjcnlwdG9fYWhhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CiAJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCQlrZnJlZShoYXNoX2J1ZmYpOwogCX0KQEAgLTE4Nyw4ICsyMDMsOSBAQAogCQkJfQogCiAJCQlpZiAodGVtcGxhdGVbaV0ua3NpemUpIHsKLQkJCQlyZXQgPSBjcnlwdG9faGFzaF9zZXRrZXkodGZtLCB0ZW1wbGF0ZVtpXS5rZXksCi0JCQkJCQkJIHRlbXBsYXRlW2ldLmtzaXplKTsKKwkJCQljcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CisJCQkJcmV0ID0gY3J5cHRvX2FoYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKKwkJCQkJCQkgIHRlbXBsYXRlW2ldLmtzaXplKTsKIAogCQkJCWlmIChyZXQpIHsKIAkJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwpAQCAtMTk2LDI5ICsyMTMsNDQgQEAKIAkJCQl9CiAJCQl9CiAKLQkJCXJldCA9IGNyeXB0b19oYXNoX2RpZ2VzdCgmZGVzYywgc2csIHRlbXBsYXRlW2ldLnBzaXplLAotCQkJCQkJIHJlc3VsdCk7Ci0JCQlpZiAocmV0KSB7CisJCQlhaGFzaF9yZXF1ZXN0X3NldF9jcnlwdChyZXEsIHNnLCByZXN1bHQsCisJCQkJCQl0ZW1wbGF0ZVtpXS5wc2l6ZSk7CisJCQlyZXQgPSBjcnlwdG9fYWhhc2hfZGlnZXN0KHJlcSk7CisJCQlzd2l0Y2ggKHJldCkgeworCQkJY2FzZSAwOgorCQkJCWJyZWFrOworCQkJY2FzZSAtRUlOUFJPR1JFU1M6CisJCQljYXNlIC1FQlVTWToKKwkJCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGlibGUoCisJCQkJCSZ0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCWlmICghcmV0ICYmICEocmV0ID0gdHJlc3VsdC5lcnIpKSB7CisJCQkJCUlOSVRfQ09NUExFVElPTih0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQlkZWZhdWx0OgogCQkJCXByaW50aygiZGlnZXN0ICgpIGZhaWxlZCByZXQ9JWRcbiIsIHJldCk7CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCWhleGR1bXAocmVzdWx0LCBjcnlwdG9faGFzaF9kaWdlc3RzaXplKHRmbSkpOworCQkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpOwogCQkJcHJpbnRrKCIlc1xuIiwKIAkJCSAgICAgICBtZW1jbXAocmVzdWx0LCB0ZW1wbGF0ZVtpXS5kaWdlc3QsCi0JCQkJICAgICAgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CisJCQkJICAgICAgY3J5cHRvX2FoYXNoX2RpZ2VzdHNpemUodGZtKSkgPwogCQkJICAgICAgICJmYWlsIiA6ICJwYXNzIik7CiAJCX0KIAl9CiAKIG91dDoKLQljcnlwdG9fZnJlZV9oYXNoKHRmbSk7CisJYWhhc2hfcmVxdWVzdF9mcmVlKHJlcSk7CitvdXRfbm9yZXE6CisJY3J5cHRvX2ZyZWVfYWhhc2godGZtKTsKIH0KIAogc3RhdGljIHZvaWQgdGVzdF9hZWFkKGNoYXIgKmFsZ28sIGludCBlbmMsIHN0cnVjdCBhZWFkX3Rlc3R2ZWMgKnRlbXBsYXRlLAogCQkgICAgICB1bnNpZ25lZCBpbnQgdGNvdW50KQogewotCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIHRlbXA7CisJdW5zaWduZWQgaW50IHJldCwgaSwgaiwgaywgbiwgdGVtcDsKIAljaGFyICpxOwogCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtOwogCWNoYXIgKmtleTsKQEAgLTM0NCwxMyArMzc2LDEyIEBACiAJCQkJZ290byBuZXh0X29uZTsKIAkJCX0KIAotCQkJcSA9IGttYXAoc2dfcGFnZSgmc2dbMF0pKSArIHNnWzBdLm9mZnNldDsKKwkJCXEgPSBpbnB1dDsKIAkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0ucmxlbik7CiAKIAkJCXByaW50ayhLRVJOX0lORk8gImVuYy9kZWM6ICVzXG4iLAogCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQsCiAJCQkJICAgICAgdGVtcGxhdGVbaV0ucmxlbikgPyAiZmFpbCIgOiAicGFzcyIpOwotCQkJa3VubWFwKHNnX3BhZ2UoJnNnWzBdKSk7CiBuZXh0X29uZToKIAkJCWlmICghdGVtcGxhdGVbaV0ua2V5KQogCQkJCWtmcmVlKGtleSk7CkBAIC0zNjAsNyArMzkxLDYgQEAKIAl9CiAKIAlwcmludGsoS0VSTl9JTkZPICJcbnRlc3RpbmcgJXMgJXMgYWNyb3NzIHBhZ2VzIChjaHVua2luZylcbiIsIGFsZ28sIGUpOwotCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJbWVtc2V0KGF4YnVmLCAwLCBYQlVGU0laRSk7CiAKIAlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IHRjb3VudDsgaSsrKSB7CkBAIC0zODgsNiArNDE4LDcgQEAKIAkJCQkJZ290byBvdXQ7CiAJCQl9CiAKKwkJCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJCQlzZ19pbml0X3RhYmxlKHNnLCB0ZW1wbGF0ZVtpXS5ucCk7CiAJCQlmb3IgKGsgPSAwLCB0ZW1wID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQltZW1jcHkoJnhidWZbSURYW2tdXSwKQEAgLTQ1MCw3ICs0ODEsNyBAQAogCiAJCQlmb3IgKGsgPSAwLCB0ZW1wID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQlwcmludGsoS0VSTl9JTkZPICJwYWdlICV1XG4iLCBrKTsKLQkJCQlxID0ga21hcChzZ19wYWdlKCZzZ1trXSkpICsgc2dba10ub2Zmc2V0OworCQkJCXEgPSAmYXhidWZbSURYW2tdXTsKIAkJCQloZXhkdW1wKHEsIHRlbXBsYXRlW2ldLnRhcFtrXSk7CiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXNcbiIsCiAJCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQgKyB0ZW1wLApAQCAtNDU5LDggKzQ5MCwxNSBAQAogCQkJCQkgICAgICAgMCA6IGF1dGhzaXplKSkgPwogCQkJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCisJCQkJZm9yIChuID0gMDsgcVt0ZW1wbGF0ZVtpXS50YXBba10gKyBuXTsgbisrKQorCQkJCQk7CisJCQkJaWYgKG4pIHsKKwkJCQkJcHJpbnRrKCJSZXN1bHQgYnVmZmVyIGNvcnJ1cHRpb24gJXUgIgorCQkJCQkgICAgICAgImJ5dGVzOlxuIiwgbik7CisJCQkJCWhleGR1bXAoJnFbdGVtcGxhdGVbaV0udGFwW2tdXSwgbik7CisJCQkJfQorCiAJCQkJdGVtcCArPSB0ZW1wbGF0ZVtpXS50YXBba107Ci0JCQkJa3VubWFwKHNnX3BhZ2UoJnNnW2tdKSk7CiAJCQl9CiAJCX0KIAl9CkBAIC00NzMsNyArNTExLDcgQEAKIHN0YXRpYyB2b2lkIHRlc3RfY2lwaGVyKGNoYXIgKmFsZ28sIGludCBlbmMsCiAJCQlzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgKnRlbXBsYXRlLCB1bnNpZ25lZCBpbnQgdGNvdW50KQogewotCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIHRlbXA7CisJdW5zaWduZWQgaW50IHJldCwgaSwgaiwgaywgbiwgdGVtcDsKIAljaGFyICpxOwogCXN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtOwogCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcTsKQEAgLTU2OSwyOSArNjA3LDIxIEBACiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCXEgPSBrbWFwKHNnX3BhZ2UoJnNnWzBdKSkgKyBzZ1swXS5vZmZzZXQ7CisJCQlxID0gZGF0YTsKIAkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0ucmxlbik7CiAKIAkJCXByaW50aygiJXNcbiIsCiAJCQkgICAgICAgbWVtY21wKHEsIHRlbXBsYXRlW2ldLnJlc3VsdCwKIAkJCQkgICAgICB0ZW1wbGF0ZVtpXS5ybGVuKSA/ICJmYWlsIiA6ICJwYXNzIik7Ci0JCQlrdW5tYXAoc2dfcGFnZSgmc2dbMF0pKTsKIAkJfQogCQlrZnJlZShkYXRhKTsKIAl9CiAKIAlwcmludGsoIlxudGVzdGluZyAlcyAlcyBhY3Jvc3MgcGFnZXMgKGNodW5raW5nKVxuIiwgYWxnbywgZSk7Ci0JbWVtc2V0KHhidWYsIDAsIFhCVUZTSVpFKTsKIAogCWogPSAwOwogCWZvciAoaSA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewogCi0JCWRhdGEgPSBremFsbG9jKHRlbXBsYXRlW2ldLmlsZW4sIEdGUF9LRVJORUwpOwotCQlpZiAoIWRhdGEpCi0JCQljb250aW51ZTsKLQotCQltZW1jcHkoZGF0YSwgdGVtcGxhdGVbaV0uaW5wdXQsIHRlbXBsYXRlW2ldLmlsZW4pOwotCiAJCWlmICh0ZW1wbGF0ZVtpXS5pdikKIAkJCW1lbWNweShpdiwgdGVtcGxhdGVbaV0uaXYsIE1BWF9JVkxFTik7CiAJCWVsc2UKQEAgLTYwMiw2ICs2MzIsNyBAQAogCQkJcHJpbnRrKCJ0ZXN0ICV1ICglZCBiaXQga2V5KTpcbiIsCiAJCQlqLCB0ZW1wbGF0ZVtpXS5rbGVuICogOCk7CiAKKwkJCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJCQljcnlwdG9fYWJsa2NpcGhlcl9jbGVhcl9mbGFncyh0Zm0sIH4wKTsKIAkJCWlmICh0ZW1wbGF0ZVtpXS53aykKIAkJCQljcnlwdG9fYWJsa2NpcGhlcl9zZXRfZmxhZ3MoCkBAIC02MTMsMTAgKzY0NCw4IEBACiAJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgZmxhZ3M9JXhcbiIsCiAJCQkJCQljcnlwdG9fYWJsa2NpcGhlcl9nZXRfZmxhZ3ModGZtKSk7CiAKLQkJCQlpZiAoIXRlbXBsYXRlW2ldLmZhaWwpIHsKLQkJCQkJa2ZyZWUoZGF0YSk7CisJCQkJaWYgKCF0ZW1wbGF0ZVtpXS5mYWlsKQogCQkJCQlnb3RvIG91dDsKLQkJCQl9CiAJCQl9CiAKIAkJCXRlbXAgPSAwOwpAQCAtNjU3LDE0ICs2ODYsMjEgQEAKIAkJCXRlbXAgPSAwOwogCQkJZm9yIChrID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQlwcmludGsoInBhZ2UgJXVcbiIsIGspOwotCQkJCXEgPSBrbWFwKHNnX3BhZ2UoJnNnW2tdKSkgKyBzZ1trXS5vZmZzZXQ7CisJCQkJcSA9ICZ4YnVmW0lEWFtrXV07CiAJCQkJaGV4ZHVtcChxLCB0ZW1wbGF0ZVtpXS50YXBba10pOwogCQkJCXByaW50aygiJXNcbiIsCiAJCQkJCW1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQgKyB0ZW1wLAogCQkJCQkJdGVtcGxhdGVbaV0udGFwW2tdKSA/ICJmYWlsIiA6CiAJCQkJCSJwYXNzIik7CisKKwkJCQlmb3IgKG4gPSAwOyBxW3RlbXBsYXRlW2ldLnRhcFtrXSArIG5dOyBuKyspCisJCQkJCTsKKwkJCQlpZiAobikgeworCQkJCQlwcmludGsoIlJlc3VsdCBidWZmZXIgY29ycnVwdGlvbiAldSAiCisJCQkJCSAgICAgICAiYnl0ZXM6XG4iLCBuKTsKKwkJCQkJaGV4ZHVtcCgmcVt0ZW1wbGF0ZVtpXS50YXBba11dLCBuKTsKKwkJCQl9CiAJCQkJdGVtcCArPSB0ZW1wbGF0ZVtpXS50YXBba107Ci0JCQkJa3VubWFwKHNnX3BhZ2UoJnNnW2tdKSk7CiAJCQl9CiAJCX0KIAl9CkBAIC0xMTgwLDYgKzEyMTYsMTQgQEAKIAkJdGVzdF9jaXBoZXIoImVjYihkZXMzX2VkZSkiLCBERUNSWVBULCBkZXMzX2VkZV9kZWNfdHZfdGVtcGxhdGUsCiAJCQkgICAgREVTM19FREVfREVDX1RFU1RfVkVDVE9SUyk7CiAKKwkJdGVzdF9jaXBoZXIoImNiYyhkZXMzX2VkZSkiLCBFTkNSWVBULAorCQkJICAgIGRlczNfZWRlX2NiY19lbmNfdHZfdGVtcGxhdGUsCisJCQkgICAgREVTM19FREVfQ0JDX0VOQ19URVNUX1ZFQ1RPUlMpOworCisJCXRlc3RfY2lwaGVyKCJjYmMoZGVzM19lZGUpIiwgREVDUllQVCwKKwkJCSAgICBkZXMzX2VkZV9jYmNfZGVjX3R2X3RlbXBsYXRlLAorCQkJICAgIERFUzNfRURFX0NCQ19ERUNfVEVTVF9WRUNUT1JTKTsKKwogCQl0ZXN0X2hhc2goIm1kNCIsIG1kNF90dl90ZW1wbGF0ZSwgTUQ0X1RFU1RfVkVDVE9SUyk7CiAKIAkJdGVzdF9oYXNoKCJzaGEyMjQiLCBzaGEyMjRfdHZfdGVtcGxhdGUsIFNIQTIyNF9URVNUX1ZFQ1RPUlMpOwpAQCAtMTM5MCw2ICsxNDM0LDE0IEBACiAJCQkgICAgREVTM19FREVfRU5DX1RFU1RfVkVDVE9SUyk7CiAJCXRlc3RfY2lwaGVyKCJlY2IoZGVzM19lZGUpIiwgREVDUllQVCwgZGVzM19lZGVfZGVjX3R2X3RlbXBsYXRlLAogCQkJICAgIERFUzNfRURFX0RFQ19URVNUX1ZFQ1RPUlMpOworCisJCXRlc3RfY2lwaGVyKCJjYmMoZGVzM19lZGUpIiwgRU5DUllQVCwKKwkJCSAgICBkZXMzX2VkZV9jYmNfZW5jX3R2X3RlbXBsYXRlLAorCQkJICAgIERFUzNfRURFX0NCQ19FTkNfVEVTVF9WRUNUT1JTKTsKKworCQl0ZXN0X2NpcGhlcigiY2JjKGRlczNfZWRlKSIsIERFQ1JZUFQsCisJCQkgICAgZGVzM19lZGVfY2JjX2RlY190dl90ZW1wbGF0ZSwKKwkJCSAgICBERVMzX0VERV9DQkNfREVDX1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwogCiAJY2FzZSA1OgpAQCAtMTU1OCw3ICsxNjEwLDcgQEAKIAljYXNlIDI5OgogCQl0ZXN0X2hhc2goInRncjEyOCIsIHRncjEyOF90dl90ZW1wbGF0ZSwgVEdSMTI4X1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwotCQkKKwogCWNhc2UgMzA6CiAJCXRlc3RfY2lwaGVyKCJlY2IoeGV0YSkiLCBFTkNSWVBULCB4ZXRhX2VuY190dl90ZW1wbGF0ZSwKIAkJCSAgICBYRVRBX0VOQ19URVNUX1ZFQ1RPUlMpOwpAQCAtMTYyMyw2ICsxNjc1LDIyIEBACiAJCQkgICAgQ1RTX01PREVfREVDX1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwogCisgICAgICAgIGNhc2UgMzk6CisJCXRlc3RfaGFzaCgicm1kMTI4Iiwgcm1kMTI4X3R2X3RlbXBsYXRlLCBSTUQxMjhfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKyAgICAgICAgY2FzZSA0MDoKKwkJdGVzdF9oYXNoKCJybWQxNjAiLCBybWQxNjBfdHZfdGVtcGxhdGUsIFJNRDE2MF9URVNUX1ZFQ1RPUlMpOworCQlicmVhazsKKworCWNhc2UgNDE6CisJCXRlc3RfaGFzaCgicm1kMjU2Iiwgcm1kMjU2X3R2X3RlbXBsYXRlLCBSTUQyNTZfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKwljYXNlIDQyOgorCQl0ZXN0X2hhc2goInJtZDMyMCIsIHJtZDMyMF90dl90ZW1wbGF0ZSwgUk1EMzIwX1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCiAJY2FzZSAxMDA6CiAJCXRlc3RfaGFzaCgiaG1hYyhtZDUpIiwgaG1hY19tZDVfdHZfdGVtcGxhdGUsCiAJCQkgIEhNQUNfTUQ1X1RFU1RfVkVDVE9SUyk7CkBAIC0xNjU4LDYgKzE3MjYsMTYgQEAKIAkJCSAgWENCQ19BRVNfVEVTVF9WRUNUT1JTKTsKIAkJYnJlYWs7CiAKKwljYXNlIDEwNzoKKwkJdGVzdF9oYXNoKCJobWFjKHJtZDEyOCkiLCBobWFjX3JtZDEyOF90dl90ZW1wbGF0ZSwKKwkJCSAgSE1BQ19STUQxMjhfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKwljYXNlIDEwODoKKwkJdGVzdF9oYXNoKCJobWFjKHJtZDE2MCkiLCBobWFjX3JtZDE2MF90dl90ZW1wbGF0ZSwKKwkJCSAgSE1BQ19STUQxNjBfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKIAljYXNlIDIwMDoKIAkJdGVzdF9jaXBoZXJfc3BlZWQoImVjYihhZXMpIiwgRU5DUllQVCwgc2VjLCBOVUxMLCAwLAogCQkJCXNwZWVkX3RlbXBsYXRlXzE2XzI0XzMyKTsKQEAgLTE3OTYsNiArMTg3NCwyMiBAQAogCQl0ZXN0X2hhc2hfc3BlZWQoInNoYTIyNCIsIHNlYywgZ2VuZXJpY19oYXNoX3NwZWVkX3RlbXBsYXRlKTsKIAkJaWYgKG1vZGUgPiAzMDAgJiYgbW9kZSA8IDQwMCkgYnJlYWs7CiAKKwljYXNlIDMxNDoKKwkJdGVzdF9oYXNoX3NwZWVkKCJybWQxMjgiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CisJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOworCisJY2FzZSAzMTU6CisJCXRlc3RfaGFzaF9zcGVlZCgicm1kMTYwIiwgc2VjLCBnZW5lcmljX2hhc2hfc3BlZWRfdGVtcGxhdGUpOworCQlpZiAobW9kZSA+IDMwMCAmJiBtb2RlIDwgNDAwKSBicmVhazsKKworCWNhc2UgMzE2OgorCQl0ZXN0X2hhc2hfc3BlZWQoInJtZDI1NiIsIHNlYywgZ2VuZXJpY19oYXNoX3NwZWVkX3RlbXBsYXRlKTsKKwkJaWYgKG1vZGUgPiAzMDAgJiYgbW9kZSA8IDQwMCkgYnJlYWs7CisKKwljYXNlIDMxNzoKKwkJdGVzdF9oYXNoX3NwZWVkKCJybWQzMjAiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CisJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOworCiAJY2FzZSAzOTk6CiAJCWJyZWFrOwogCmRpZmYgLS1naXQgYS9jcnlwdG8vdGNyeXB0LmggYi9jcnlwdG8vdGNyeXB0LmgKaW5kZXggNDdiYzBlYy4uODAxZTBjMiAxMDA2NDQKLS0tIGEvY3J5cHRvL3RjcnlwdC5oCisrKyBiL2NyeXB0by90Y3J5cHQuaApAQCAtMTMsMTIgKzEzLDYgQEAKICAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKICAqIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIDIwMDctMTEtMTMgQWRkZWQgR0NNIHRlc3RzCi0gKiAyMDA3LTExLTEzIEFkZGVkIEFFQUQgc3VwcG9ydAotICogMjAwNi0xMi0wNyBBZGRlZCBTSEEzODQgSE1BQyBhbmQgU0hBNTEyIEhNQUMgdGVzdHMKLSAqIDIwMDQtMDgtMDkgQ2lwaGVyIHNwZWVkIHRlc3RzIGJ5IFJleWsgRmxvZXRlciA8cmV5a0B2YW50cm9uaXgubmV0PgotICogMjAwMy0wOS0xNCBDaGFuZ2VzIGJ5IEthcnRpa2V5IE1haGVuZHJhIEJoYXR0Ci0gKgogICovCiAjaWZuZGVmIF9DUllQVE9fVENSWVBUX0gKICNkZWZpbmUgX0NSWVBUT19UQ1JZUFRfSApAQCAtMTY4LDYgKzE2MiwyNzEgQEAKIAkJLmRpZ2VzdAk9ICJceDU3XHhlZFx4ZjRceGEyXHgyYlx4ZTNceGM5XHg1NSIKIAkJCSAgIlx4YWNceDQ5XHhkYVx4MmVceDIxXHgwN1x4YjZceDdhIiwKIAl9CisKK307CisKKy8qCisgKiBSSVBFTUQtMTI4IHRlc3QgdmVjdG9ycyBmcm9tIElTTy9JRUMgMTAxMTgtMzoyMDA0KEUpCisgKi8KKyNkZWZpbmUgUk1EMTI4X1RFU1RfVkVDVE9SUyAgICAgMTAKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMTI4X3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4Y2RceGYyXHg2Mlx4MTNceGExXHg1MFx4ZGNceDNlIgorCQkJICAiXHhjYlx4NjFceDBmXHgxOFx4ZjZceGIzXHg4Ylx4NDYiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhIiwKKwkJLnBzaXplCT0gMSwKKwkJLmRpZ2VzdAk9ICJceDg2XHhiZVx4N2FceGZhXHgzM1x4OWRceDBmXHhjNyIKKwkJCSAgIlx4Y2ZceGM3XHg4NVx4ZTdceDJmXHg1N1x4OGRceDMzIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGMxXHg0YVx4MTJceDE5XHg5Y1x4NjZceGU0XHhiYSIKKwkJCSAgIlx4ODRceDYzXHg2Ylx4MGZceDY5XHgxNFx4NGNceDc3IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDllXHgzMlx4N2JceDNkXHg2ZVx4NTJceDMwXHg2MiIKKwkJCSAgIlx4YWZceGMxXHgxM1x4MmRceDdkXHhmOVx4ZDFceGI4IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLAorCQkucHNpemUJPSAyNiwKKwkJLmRpZ2VzdAk9ICJceGZkXHgyYVx4YTZceDA3XHhmN1x4MWRceGM4XHhmNSIKKwkJCSAgIlx4MTBceDcxXHg0OVx4MjJceGIzXHg3MVx4ODNceDRlIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceGQxXHhlOVx4NTlceGViXHgxN1x4OWNceDkxXHgxZiIKKwkJCSAgIlx4YWVceGE0XHg2Mlx4NGNceDYwXHhjNVx4YzdceDAyIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDNmXHg0NVx4ZWZceDE5XHg0N1x4MzJceGMyXHhkYiIKKwkJCSAgIlx4YjJceGM0XHhhMlx4YzdceDY5XHg3OVx4NWZceGEzIiwKKyAgICAgICAgfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWoiCisJCQkgICAgICJoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwKKwkJLnBzaXplCT0gNTYsCisJCS5kaWdlc3QJPSAiXHhhMVx4YWFceDA2XHg4OVx4ZDBceGZhXHhmYVx4MmQiCisJCQkgICJceGRjXHgyMlx4ZThceDhiXHg0OVx4MTNceDNhXHgwNiIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGJjZGVmZ2hpY2RlZmdoaWpkZWZnaGlqa2VmZ2hpamtsZmdoaSIKKwkJCSAgICAgImprbG1naGlqa2xtbmhpamtsbW5vaWprbG1ub3Bqa2xtbm9wcWtsbW5vcHFyIgorCQkJICAgICAibG1ub3BxcnNtbm9wcXJzdG5vcHFyc3R1IiwKKwkJLnBzaXplCT0gMTEyLAorCQkuZGlnZXN0CT0gIlx4ZDRceGVjXHhjOVx4MTNceGUxXHhkZlx4NzdceDZiIgorCQkJICAiXHhmNFx4OGRceGU5XHhkNVx4NWJceDFmXHgyNVx4NDYiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqaGlqayIsCisJCS5wc2l6ZQk9IDMyLAorCQkuZGlnZXN0CT0gIlx4MTNceGZjXHgxM1x4ZThceGVmXHhmZlx4MzRceDdkIgorCQkJICAiXHhlMVx4OTNceGZmXHg0Nlx4ZGJceGFjXHhjZlx4ZDQiLAorCX0KK307CisKKy8qCisgKiBSSVBFTUQtMTYwIHRlc3QgdmVjdG9ycyBmcm9tIElTTy9JRUMgMTAxMTgtMzoyMDA0KEUpCisgKi8KKyNkZWZpbmUgUk1EMTYwX1RFU1RfVkVDVE9SUyAgICAgMTAKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMTYwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4OWNceDExXHg4NVx4YTVceGM1XHhlOVx4ZmNceDU0XHg2MVx4MjgiCisJCQkgICJceDA4XHg5N1x4N2VceGU4XHhmNVx4NDhceGIyXHgyNVx4OGRceDMxIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYSIsCisJCS5wc2l6ZQk9IDEsCisJCS5kaWdlc3QJPSAiXHgwYlx4ZGNceDlkXHgyZFx4MjVceDZiXHgzZVx4ZTlceGRhXHhhZSIKKwkJCSAgIlx4MzRceDdiXHhlNlx4ZjRceGRjXHg4M1x4NWFceDQ2XHg3Zlx4ZmUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmMiLAorCQkucHNpemUJPSAzLAorCQkuZGlnZXN0CT0gIlx4OGVceGIyXHgwOFx4ZjdceGUwXHg1ZFx4OThceDdhXHg5Ylx4MDQiCisJCQkgICJceDRhXHg4ZVx4OThceGM2XHhiMFx4ODdceGYxXHg1YVx4MGJceGZjIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDVkXHgwNlx4ODlceGVmXHg0OVx4ZDJceGZhXHhlNVx4NzJceGI4IgorCQkJICAiXHg4MVx4YjFceDIzXHhhOFx4NWZceGZhXHgyMVx4NTlceDVmXHgzNiIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiwKKwkJLnBzaXplCT0gMjYsCisJCS5kaWdlc3QJPSAiXHhmN1x4MWNceDI3XHgxMFx4OWNceDY5XHgyY1x4MWJceDU2XHhiYiIKKwkJCSAgIlx4ZGNceGViXHg1Ylx4OWRceDI4XHg2NVx4YjNceDcwXHg4ZFx4YmMiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlIgorCQkJICAgICAiZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIsCisJCS5wc2l6ZQk9IDYyLAorCQkuZGlnZXN0CT0gIlx4YjBceGUyXHgwYlx4NmVceDMxXHgxNlx4NjRceDAyXHg4Nlx4ZWQiCisJCQkgICJceDNhXHg4N1x4YTVceDcxXHgzMFx4NzlceGIyXHgxZlx4NTFceDg5IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDliXHg3NVx4MmVceDQ1XHg1N1x4M2RceDRiXHgzOVx4ZjRceGRiIgorCQkJICAiXHhkM1x4MzJceDNjXHhhYlx4ODJceGJmXHg2M1x4MzJceDZiXHhmYiIsCisgICAgICAgIH0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqIgorCQkJICAgICAiaGlqa2lqa2xqa2xta2xtbmxtbm9tbm9wbm9wcSIsCisJCS5wc2l6ZQk9IDU2LAorCQkuZGlnZXN0CT0gIlx4MTJceGEwXHg1M1x4MzhceDRhXHg5Y1x4MGNceDg4XHhlNFx4MDUiCisJCQkgICJceGEwXHg2Y1x4MjdceGRjXHhmNFx4OWFceGRhXHg2Mlx4ZWJceDJiIiwKKwkJLm5wCT0gMiwKKwkJLnRhcAk9IHsgMjgsIDI4IH0sCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoYmNkZWZnaGljZGVmZ2hpamRlZmdoaWprZWZnaGlqa2xmZ2hpIgorCQkJICAgICAiamtsbWdoaWprbG1uaGlqa2xtbm9pamtsbW5vcGprbG1ub3Bxa2xtbm9wcXIiCisJCQkgICAgICJsbW5vcHFyc21ub3BxcnN0bm9wcXJzdHUiLAorCQkucHNpemUJPSAxMTIsCisJCS5kaWdlc3QJPSAiXHg2Zlx4M2ZceGEzXHg5Ylx4NmJceDUwXHgzY1x4MzhceDRmXHg5MSIKKwkJCSAgIlx4OWFceDQ5XHhhN1x4YWFceDVjXHgyY1x4MDhceGJkXHhmYlx4NDUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqaGlqayIsCisJCS5wc2l6ZQk9IDMyLAorCQkuZGlnZXN0CT0gIlx4OTRceGMyXHg2NFx4MTFceDU0XHgwNFx4ZTZceDMzXHg3OVx4MGQiCisJCQkgICJceGZjXHhjOFx4N2JceDU4XHg3ZFx4MzZceDc3XHgwNlx4N2RceDlmIiwKKwl9Cit9OworCisvKgorICogUklQRU1ELTI1NiB0ZXN0IHZlY3RvcnMKKyAqLworI2RlZmluZSBSTUQyNTZfVEVTVF9WRUNUT1JTICAgICA4CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDI1Nl90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceDAyXHhiYVx4NGNceDRlXHg1Zlx4OGVceGNkXHgxOCIKKwkJCSAgIlx4NzdceGZjXHg1Mlx4ZDZceDRkXHgzMFx4ZTNceDdhIgorCQkJICAiXHgyZFx4OTdceDc0XHhmYlx4MWVceDVkXHgwMlx4NjMiCisJCQkgICJceDgwXHhhZVx4MDFceDY4XHhlM1x4YzVceDUyXHgyZCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImEiLAorCQkucHNpemUJPSAxLAorCQkuZGlnZXN0CT0gIlx4ZjlceDMzXHgzZVx4NDVceGQ4XHg1N1x4ZjVceGQ5IgorCQkJICAiXHgwYVx4OTFceGJhXHhiN1x4MGFceDFlXHhiYVx4MGMiCisJCQkgICJceGZiXHgxYlx4ZTRceGIwXHg3OFx4M2NceDlhXHhjZiIKKwkJCSAgIlx4Y2RceDg4XHgzYVx4OTFceDM0XHg2OVx4MjlceDI1IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGFmXHhiZFx4NmVceDIyXHg4Ylx4OWRceDhjXHhiYiIKKwkJCSAgIlx4Y2VceGY1XHhjYVx4MmRceDAzXHhlNlx4ZGJceGExIgorCQkJICAiXHgwYVx4YzBceGJjXHg3ZFx4Y2JceGU0XHg2OFx4MGUiCisJCQkgICJceDFlXHg0Mlx4ZDJceGU5XHg3NVx4NDVceDliXHg2NSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHg4N1x4ZTlceDcxXHg3NVx4OWFceDFjXHhlNFx4N2EiCisJCQkgICJceDUxXHg0ZFx4NWNceDkxXHg0Y1x4MzlceDJjXHg5MCIKKwkJCSAgIlx4MThceGM3XHhjNFx4NmJceGMxXHg0NFx4NjVceDU1IgorCQkJICAiXHg0YVx4ZmNceGRmXHg1NFx4YTVceDA3XHgwY1x4MGUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsCisJCS5wc2l6ZQk9IDI2LAorCQkuZGlnZXN0CT0gIlx4NjRceDlkXHgzMFx4MzRceDc1XHgxZVx4YTJceDE2IgorCQkJICAiXHg3N1x4NmJceGY5XHhhMVx4OGFceGNjXHg4MVx4YmMiCisJCQkgICJceDc4XHg5Nlx4MTFceDhhXHg1MVx4OTdceDk2XHg4NyIKKwkJCSAgIlx4ODJceGRkXHgxZlx4ZDlceDdkXHg4ZFx4NTFceDMzIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceDU3XHg0MFx4YTRceDA4XHhhY1x4MTZceGI3XHgyMCIKKwkJCSAgIlx4YjhceDQ0XHgyNFx4YWVceDkzXHgxY1x4YmJceDFmIgorCQkJICAiXHhlM1x4NjNceGQxXHhkMFx4YmZceDQwXHgxN1x4ZjEiCisJCQkgICJceGE4XHg5Zlx4N2VceGE2XHhkZVx4NzdceGEwXHhiOCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHgwNlx4ZmRceGNjXHg3YVx4NDBceDk1XHg0OFx4YWEiCisJCQkgICJceGY5XHgxM1x4NjhceGMwXHg2YVx4NjJceDc1XHhiNSIKKwkJCSAgIlx4NTNceGUzXHhmMFx4OTlceGJmXHgwZVx4YTRceGVkIgorCQkJICAiXHhmZFx4NjdceDc4XHhkZlx4ODlceGE4XHg5MFx4ZGQiLAorICAgICAgICB9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpaiIKKwkJCSAgICAgImhpamtpamtsamtsbWtsbW5sbW5vbW5vcG5vcHEiLAorCQkucHNpemUJPSA1NiwKKwkJLmRpZ2VzdAk9ICJceDM4XHg0M1x4MDRceDU1XHg4M1x4YWFceGM2XHhjOCIKKwkJCSAgIlx4YzhceGQ5XHgxMlx4ODVceDczXHhlN1x4YTlceDgwIgorCQkJICAiXHg5YVx4ZmJceDJhXHgwZlx4MzRceGNjXHhjM1x4NmUiCisJCQkgICJceGE5XHhlN1x4MmZceDE2XHhmNlx4MzZceDhlXHgzZiIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0KK307CisKKy8qCisgKiBSSVBFTUQtMzIwIHRlc3QgdmVjdG9ycworICovCisjZGVmaW5lIFJNRDMyMF9URVNUX1ZFQ1RPUlMgICAgIDgKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMzIwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4MjJceGQ2XHg1ZFx4NTZceDYxXHg1M1x4NmNceGRjXHg3NVx4YzEiCisJCQkgICJceGZkXHhmNVx4YzZceGRlXHg3Ylx4NDFceGI5XHhmMlx4NzNceDI1IgorCQkJICAiXHhlYlx4YzZceDFlXHg4NVx4NTdceDE3XHg3ZFx4NzBceDVhXHgwZSIKKwkJCSAgIlx4YzhceDgwXHgxNVx4MWNceDNhXHgzMlx4YTBceDA4XHg5OVx4YjgiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhIiwKKwkJLnBzaXplCT0gMSwKKwkJLmRpZ2VzdAk9ICJceGNlXHg3OFx4ODVceDA2XHgzOFx4ZjlceDI2XHg1OFx4YTVceGE1IgorCQkJICAiXHg4NVx4MDlceDc1XHg3OVx4OTJceDZkXHhkYVx4NjZceDdhXHg1NyIKKwkJCSAgIlx4MTZceDU2XHgyY1x4ZmNceGY2XHhmYlx4ZTdceDdmXHg2M1x4NTQiCisJCQkgICJceDJmXHg5OVx4YjBceDQ3XHgwNVx4ZDZceDk3XHgwZFx4ZmZceDVkIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGRlXHg0Y1x4MDFceGIzXHgwNVx4NGZceDg5XHgzMFx4YTdceDlkIgorCQkJICAiXHgwOVx4YWVceDczXHg4ZVx4OTJceDMwXHgxZVx4NWFceDE3XHgwOCIKKwkJCSAgIlx4NWJceGVmXHhmZFx4YzFceGI4XHhkMVx4MTZceDcxXHgzZVx4NzQiCisJCQkgICJceGY4XHgyZlx4YTlceDQyXHhkNlx4NGNceGRiXHhjNFx4NjhceDJkIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDNhXHg4ZVx4MjhceDUwXHgyZVx4ZDRceDVkXHg0Mlx4MmZceDY4IgorCQkJICAiXHg4NFx4NGZceDlkXHhkM1x4MTZceGU3XHhiOVx4ODVceDMzXHhmYSIKKwkJCSAgIlx4M2ZceDJhXHg5MVx4ZDJceDlmXHg4NFx4ZDRceDI1XHhjOFx4OGQiCisJCQkgICJceDZiXHg0ZVx4ZmZceDcyXHg3ZFx4ZjZceDZhXHg3Y1x4MDFceDk3IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLAorCQkucHNpemUJPSAyNiwKKwkJLmRpZ2VzdAk9ICJceGNhXHhiZFx4YjFceDgxXHgwYlx4OTJceDQ3XHgwYVx4MjBceDkzIgorCQkJICAiXHhhYVx4NmJceGNlXHgwNVx4OTVceDJjXHgyOFx4MzRceDhjXHhmNCIKKwkJCSAgIlx4M2ZceGY2XHgwOFx4NDFceDk3XHg1MVx4NjZceGJiXHg0MFx4ZWQiCisJCQkgICJceDIzXHg0MFx4MDRceGI4XHg4Mlx4NDRceDYzXHhlNlx4YjBceDA5IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceGVkXHg1NFx4NDlceDQwXHhjOFx4NmRceDY3XHhmMlx4NTBceGQyIgorCQkJICAiXHgzMlx4YzNceDBiXHg3Ylx4M2VceDU3XHg3MFx4ZTBceGM2XHgwYyIKKwkJCSAgIlx4OGNceGI5XHhhNFx4Y2FceGZlXHgzYlx4MTFceDM4XHg4YVx4ZjkiCisJCQkgICJceDkyXHgwZVx4MWJceDk5XHgyM1x4MGJceDg0XHgzY1x4ODZceGE0IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDU1XHg3OFx4ODhceGFmXHg1Zlx4NmRceDhlXHhkNlx4MmFceGI2IgorCQkJICAiXHg2OVx4NDVceGM2XHhkMlx4YTBceGE0XHg3ZVx4Y2RceDUzXHg0MSIKKwkJCSAgIlx4ZTlceDE1XHhlYlx4OGZceGVhXHgxZFx4MDVceDI0XHg5NVx4NWYiCisJCQkgICJceDgyXHg1ZFx4YzdceDE3XHhlNFx4YTBceDA4XHhhYlx4MmRceDQyIiwKKyAgICAgICAgfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWoiCisJCQkgICAgICJoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwKKwkJLnBzaXplCT0gNTYsCisJCS5kaWdlc3QJPSAiXHhkMFx4MzRceGE3XHg5NVx4MGNceGY3XHgyMlx4MDJceDFiXHhhNCIKKwkJCSAgIlx4YjhceDRkXHhmN1x4NjlceGE1XHhkZVx4MjBceDYwXHhlMlx4NTkiCisJCQkgICJceGRmXHg0Y1x4OWJceGI0XHhhNFx4MjZceDhjXHgwZVx4OTNceDViIgorCQkJICAiXHhiY1x4NzRceDcwXHhhOVx4NjlceGM5XHhkMFx4NzJceGExXHhhYyIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0KIH07CiAKIC8qCkBAIC04MTcsNiArMTA3NiwxNjggQEAKIH07CiAKIC8qCisgKiBITUFDLVJJUEVNRDEyOCB0ZXN0IHZlY3RvcnMgZnJvbSBSRkMyMjg2CisgKi8KKyNkZWZpbmUgSE1BQ19STUQxMjhfVEVTVF9WRUNUT1JTCTcKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgaG1hY19ybWQxMjhfdHZfdGVtcGxhdGVbXSA9IHsKKwl7CisJCS5rZXkJPSAiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYiIsCisJCS5rc2l6ZQk9IDE2LAorCQkucGxhaW50ZXh0ID0gIkhpIFRoZXJlIiwKKwkJLnBzaXplCT0gOCwKKwkJLmRpZ2VzdAk9ICJceGZiXHhmNlx4MWZceDk0XHg5Mlx4YWFceDRiXHhiZiIKKwkJCSAgIlx4ODFceGMxXHg3Mlx4ZThceDRlXHgwN1x4MzRceGRiIiwKKwl9LCB7CisJCS5rZXkJPSAiSmVmZSIsCisJCS5rc2l6ZQk9IDQsCisJCS5wbGFpbnRleHQgPSAid2hhdCBkbyB5YSB3YW50IGZvciBub3RoaW5nPyIsCisJCS5wc2l6ZQk9IDI4LAorCQkuZGlnZXN0CT0gIlx4ODdceDVmXHg4Mlx4ODhceDYyXHhiNlx4YjNceDM0IgorCQkJICAiXHhiNFx4MjdceGM1XHg1Zlx4OWZceDdmXHhmMFx4OWIiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAxNCwgMTQgfSwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIsCisJCS5rc2l6ZQk9IDE2LAorCQkucGxhaW50ZXh0ID0gIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIiwKKwkJLnBzaXplCT0gNTAsCisJCS5kaWdlc3QJPSAiXHgwOVx4ZjBceGIyXHg4NFx4NmRceDJmXHg1NFx4M2QiCisJCQkgICJceGEzXHg2M1x4Y2JceGVjXHg4ZFx4NjJceGEzXHg4ZCIsCisJfSwgeworCQkua2V5CT0gIlx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4IgorCQkJICAiXHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZlx4MTAiCisJCQkgICJceDExXHgxMlx4MTNceDE0XHgxNVx4MTZceDE3XHgxOFx4MTkiLAorCQkua3NpemUJPSAyNSwKKwkJLnBsYWludGV4dCA9ICJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIsCisJCS5wc2l6ZQk9IDUwLAorCQkuZGlnZXN0CT0gIlx4YmRceGJiXHhkN1x4Y2ZceDAzXHhlNFx4NGJceDVhIgorCQkJICAiXHhhNlx4MGFceGY4XHgxNVx4YmVceDRkXHgyMlx4OTQiLAorCX0sIHsKKwkJLmtleQk9ICJceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjIiwKKwkJLmtzaXplCT0gMTYsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBXaXRoIFRydW5jYXRpb24iLAorCQkucHNpemUJPSAyMCwKKwkJLmRpZ2VzdAk9ICJceGU3XHg5OFx4MDhceGYyXHg0Ylx4MjVceGZkXHgwMyIKKwkJCSAgIlx4MWNceDE1XHg1Zlx4MGRceDU1XHgxZFx4OWFceDNhIiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IC0gSGFzaCBLZXkgRmlyc3QiLAorCQkucHNpemUJPSA1NCwKKwkJLmRpZ2VzdAk9ICJceGRjXHg3M1x4MjlceDI4XHhkZVx4OThceDEwXHg0YSIKKwkJCSAgIlx4MWZceDU5XHhkM1x4NzNceGMxXHg1MFx4YWNceGJiIiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IGFuZCBMYXJnZXIgVGhhbiBPbmUgIgorCQkJICAgIkJsb2NrLVNpemUgRGF0YSIsCisJCS5wc2l6ZQk9IDczLAorCQkuZGlnZXN0CT0gIlx4NWNceDZiXHhlY1x4OTZceDc5XHgzZVx4MTZceGQ0IgorCQkJICAiXHgwNlx4OTBceGMyXHgzN1x4NjNceDVmXHgzMFx4YzUiLAorCX0sCit9OworCisvKgorICogSE1BQy1SSVBFTUQxNjAgdGVzdCB2ZWN0b3JzIGZyb20gUkZDMjI4NgorICovCisjZGVmaW5lIEhNQUNfUk1EMTYwX1RFU1RfVkVDVE9SUwk3CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIGhtYWNfcm1kMTYwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkua2V5CT0gIlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiIiwKKwkJLmtzaXplCT0gMjAsCisJCS5wbGFpbnRleHQgPSAiSGkgVGhlcmUiLAorCQkucHNpemUJPSA4LAorCQkuZGlnZXN0CT0gIlx4MjRceGNiXHg0Ylx4ZDZceDdkXHgyMFx4ZmNceDFhXHg1ZFx4MmUiCisJCQkgICJceGQ3XHg3M1x4MmRceGNjXHgzOVx4MzdceDdmXHgwYVx4NTZceDY4IiwKKwl9LCB7CisJCS5rZXkJPSAiSmVmZSIsCisJCS5rc2l6ZQk9IDQsCisJCS5wbGFpbnRleHQgPSAid2hhdCBkbyB5YSB3YW50IGZvciBub3RoaW5nPyIsCisJCS5wc2l6ZQk9IDI4LAorCQkuZGlnZXN0CT0gIlx4ZGRceGE2XHhjMFx4MjFceDNhXHg0OFx4NWFceDllXHgyNFx4ZjQiCisJCQkgICJceDc0XHgyMFx4NjRceGE3XHhmMFx4MzNceGI0XHgzY1x4NDBceDY5IiwKKwkJLm5wCT0gMiwKKwkJLnRhcAk9IHsgMTQsIDE0IH0sCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIiwKKwkJLmtzaXplCT0gMjAsCisJCS5wbGFpbnRleHQgPSAiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiLAorCQkucHNpemUJPSA1MCwKKwkJLmRpZ2VzdAk9ICJceGIwXHhiMVx4MDVceDM2XHgwZFx4ZTdceDU5XHg5Nlx4MGFceGI0IgorCQkJICAiXHhmM1x4NTJceDk4XHhlMVx4MTZceGUyXHg5NVx4ZDhceGU3XHhjMSIsCisJfSwgeworCQkua2V5CT0gIlx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4IgorCQkJICAiXHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZlx4MTAiCisJCQkgICJceDExXHgxMlx4MTNceDE0XHgxNVx4MTZceDE3XHgxOFx4MTkiLAorCQkua3NpemUJPSAyNSwKKwkJLnBsYWludGV4dCA9ICJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIsCisJCS5wc2l6ZQk9IDUwLAorCQkuZGlnZXN0CT0gIlx4ZDVceGNhXHg4Nlx4MmZceDRkXHgyMVx4ZDVceGU2XHgxMFx4ZTEiCisJCQkgICJceDhiXHg0Y1x4ZjFceGJlXHhiOVx4N2FceDQzXHg2NVx4ZWNceGY0IiwKKwl9LCB7CisJCS5rZXkJPSAiXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGMiLAorCQkua3NpemUJPSAyMCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFdpdGggVHJ1bmNhdGlvbiIsCisJCS5wc2l6ZQk9IDIwLAorCQkuZGlnZXN0CT0gIlx4NzZceDE5XHg2OVx4MzlceDc4XHhmOVx4MWRceDkwXHg1M1x4OWEiCisJCQkgICJceGU3XHg4Nlx4NTBceDBmXHhmM1x4ZDhceGUwXHg1MVx4OGVceDM5IiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IC0gSGFzaCBLZXkgRmlyc3QiLAorCQkucHNpemUJPSA1NCwKKwkJLmRpZ2VzdAk9ICJceDY0XHg2Nlx4Y2FceDA3XHhhY1x4NWVceGFjXHgyOVx4ZTFceGJkIgorCQkJICAiXHg1Mlx4M2VceDVhXHhkYVx4NzZceDA1XHhiN1x4OTFceGZkXHg4YiIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSBhbmQgTGFyZ2VyIFRoYW4gT25lICIKKwkJCSAgICJCbG9jay1TaXplIERhdGEiLAorCQkucHNpemUJPSA3MywKKwkJLmRpZ2VzdAk9ICJceDY5XHhlYVx4NjBceDc5XHg4ZFx4NzFceDYxXHg2Y1x4Y2VceDVmIgorCQkJICAiXHhkMFx4ODdceDFlXHgyM1x4NzVceDRjXHhkN1x4NWRceDVhXHgwYSIsCisJfSwKK307CisKKy8qCiAgKiBITUFDLVNIQTEgdGVzdCB2ZWN0b3JzIGZyb20gUkZDMjIwMgogICovCiAjZGVmaW5lIEhNQUNfU0hBMV9URVNUX1ZFQ1RPUlMJNwpAQCAtMTQ0Miw2ICsxODYzLDggQEAKICNkZWZpbmUgREVTX0NCQ19ERUNfVEVTVF9WRUNUT1JTCTQKICNkZWZpbmUgREVTM19FREVfRU5DX1RFU1RfVkVDVE9SUwkzCiAjZGVmaW5lIERFUzNfRURFX0RFQ19URVNUX1ZFQ1RPUlMJMworI2RlZmluZSBERVMzX0VERV9DQkNfRU5DX1RFU1RfVkVDVE9SUwkxCisjZGVmaW5lIERFUzNfRURFX0NCQ19ERUNfVEVTVF9WRUNUT1JTCTEKIAogc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXNfZW5jX3R2X3RlbXBsYXRlW10gPSB7CiAJeyAvKiBGcm9tIEFwcGxpZWQgQ3J5cHRvZ3JhcGh5ICovCkBAIC0xNjgwLDkgKzIxMDMsNiBAQAogCX0sCiB9OwogCi0vKgotICogV2UgcmVhbGx5IG5lZWQgc29tZSBtb3JlIHRlc3QgdmVjdG9ycywgZXNwZWNpYWxseSBmb3IgREVTMyBDQkMuCi0gKi8KIHN0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzM19lZGVfZW5jX3R2X3RlbXBsYXRlW10gPSB7CiAJeyAvKiBUaGVzZSBhcmUgZnJvbSBvcGVuc3NsICovCiAJCS5rZXkJPSAiXHgwMVx4MjNceDQ1XHg2N1x4ODlceGFiXHhjZFx4ZWYiCkBAIC0xNzQ1LDYgKzIxNjUsOTQgQEAKIAl9LAogfTsKIAorc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXMzX2VkZV9jYmNfZW5jX3R2X3RlbXBsYXRlW10gPSB7CisJeyAvKiBHZW5lcmF0ZWQgZnJvbSBvcGVuc3NsICovCisJCS5rZXkJPSAiXHhFOVx4QzBceEZGXHgyRVx4NzZceDBCXHg2NFx4MjQiCisJCQkgICJceDQ0XHg0RFx4OTlceDVBXHgxMlx4RDZceDQwXHhDMCIKKwkJCSAgIlx4RUFceEMyXHg4NFx4RThceDE0XHg5NVx4REJceEU4IiwKKwkJLmtsZW4JPSAyNCwKKwkJLml2CT0gIlx4N0RceDMzXHg4OFx4OTNceDBGXHg5M1x4QjJceDQyIiwKKwkJLmlucHV0CT0gIlx4NmZceDU0XHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlIgorCQkJICAiXHg1M1x4MjBceDYzXHg2NVx4NjVceDcyXHg3M1x4NzQiCisJCQkgICJceDU0XHgyMFx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MSIKKwkJCSAgIlx4MjBceDc5XHg2NVx4NTNceDcyXHg2M1x4NzRceDY1IgorCQkJICAiXHgyMFx4NzNceDZmXHg1NFx4MjBceDZmXHg2MVx4NGQiCisJCQkgICJceDc5XHg2ZVx4NTNceDIwXHg2M1x4NjVceDY1XHg3MiIKKwkJCSAgIlx4NzNceDc0XHg1NFx4MjBceDZmXHg2Zlx4NGRceDIwIgorCQkJICAiXHg2ZVx4NjFceDIwXHg3OVx4NjVceDUzXHg3Mlx4NjMiCisJCQkgICJceDc0XHg2NVx4MjBceDczXHg2Zlx4NTRceDIwXHg2ZiIKKwkJCSAgIlx4NjFceDRkXHg3OVx4NmVceDUzXHgyMFx4NjNceDY1IgorCQkJICAiXHg2NVx4NzJceDczXHg3NFx4NTRceDIwXHg2Zlx4NmYiCisJCQkgICJceDRkXHgyMFx4NmVceDYxXHgyMFx4NzlceDY1XHg1MyIKKwkJCSAgIlx4NzJceDYzXHg3NFx4NjVceDIwXHg3M1x4NmZceDU0IgorCQkJICAiXHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlXHg1M1x4MjAiCisJCQkgICJceDYzXHg2NVx4NjVceDcyXHg3M1x4NzRceDU0XHgyMCIKKwkJCSAgIlx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MVx4MGFceDc5IiwKKwkJLmlsZW4JPSAxMjgsCisJCS5yZXN1bHQJPSAiXHgwZVx4MmRceGI2XHg5N1x4M2NceDU2XHgzM1x4ZjQiCisJCQkgICJceDY3XHgxN1x4MjFceGM3XHg2ZVx4OGFceGQ1XHg0OSIKKwkJCSAgIlx4NzRceGIzXHg0OVx4MDVceGM1XHgxY1x4ZDBceGVkIgorCQkJICAiXHgxMlx4NTZceDVjXHg1M1x4OTZceGI2XHgwMFx4N2QiCisJCQkgICJceDkwXHg0OFx4ZmNceGY1XHg4ZFx4MjlceDM5XHhjYyIKKwkJCSAgIlx4OGFceGQ1XHgzNVx4MThceDM2XHgyM1x4NGVceGQ3IgorCQkJICAiXHg3Nlx4ZDFceGRhXHgwY1x4OTRceDY3XHhiYlx4MDQiCisJCQkgICJceDhiXHhmMlx4MDNceDZjXHhhOFx4Y2ZceGI2XHhlYSIKKwkJCSAgIlx4MjJceDY0XHg0N1x4YWFceDhmXHg3NVx4MTNceGJmIgorCQkJICAiXHg5Zlx4YzJceGMzXHhmMFx4YzlceDU2XHhjNVx4N2EiCisJCQkgICJceDcxXHg2M1x4MmVceDg5XHg3Ylx4MWVceDEyXHhjYSIKKwkJCSAgIlx4ZTJceDVmXHhhZlx4ZDhceGE0XHhmOFx4YzlceDdhIgorCQkJICAiXHhkNlx4ZjlceDIxXHgzMVx4NjJceDQ0XHg0NVx4YTYiCisJCQkgICJceGQ2XHhiY1x4NWFceGQzXHgyZFx4NTRceDQzXHhjYyIKKwkJCSAgIlx4OWRceGRlXHhhNVx4NzBceGU5XHg0Mlx4NDVceDhhIgorCQkJICAiXHg2Ylx4ZmFceGIxXHg5MVx4MTNceGIwXHhkOVx4MTkiLAorCQkucmxlbgk9IDEyOCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXMzX2VkZV9jYmNfZGVjX3R2X3RlbXBsYXRlW10gPSB7CisJeyAvKiBHZW5lcmF0ZWQgZnJvbSBvcGVuc3NsICovCisJCS5rZXkJPSAiXHhFOVx4QzBceEZGXHgyRVx4NzZceDBCXHg2NFx4MjQiCisJCQkgICJceDQ0XHg0RFx4OTlceDVBXHgxMlx4RDZceDQwXHhDMCIKKwkJCSAgIlx4RUFceEMyXHg4NFx4RThceDE0XHg5NVx4REJceEU4IiwKKwkJLmtsZW4JPSAyNCwKKwkJLml2CT0gIlx4N0RceDMzXHg4OFx4OTNceDBGXHg5M1x4QjJceDQyIiwKKwkJLmlucHV0CT0gIlx4MGVceDJkXHhiNlx4OTdceDNjXHg1Nlx4MzNceGY0IgorCQkJICAiXHg2N1x4MTdceDIxXHhjN1x4NmVceDhhXHhkNVx4NDkiCisJCQkgICJceDc0XHhiM1x4NDlceDA1XHhjNVx4MWNceGQwXHhlZCIKKwkJCSAgIlx4MTJceDU2XHg1Y1x4NTNceDk2XHhiNlx4MDBceDdkIgorCQkJICAiXHg5MFx4NDhceGZjXHhmNVx4OGRceDI5XHgzOVx4Y2MiCisJCQkgICJceDhhXHhkNVx4MzVceDE4XHgzNlx4MjNceDRlXHhkNyIKKwkJCSAgIlx4NzZceGQxXHhkYVx4MGNceDk0XHg2N1x4YmJceDA0IgorCQkJICAiXHg4Ylx4ZjJceDAzXHg2Y1x4YThceGNmXHhiNlx4ZWEiCisJCQkgICJceDIyXHg2NFx4NDdceGFhXHg4Zlx4NzVceDEzXHhiZiIKKwkJCSAgIlx4OWZceGMyXHhjM1x4ZjBceGM5XHg1Nlx4YzVceDdhIgorCQkJICAiXHg3MVx4NjNceDJlXHg4OVx4N2JceDFlXHgxMlx4Y2EiCisJCQkgICJceGUyXHg1Zlx4YWZceGQ4XHhhNFx4ZjhceGM5XHg3YSIKKwkJCSAgIlx4ZDZceGY5XHgyMVx4MzFceDYyXHg0NFx4NDVceGE2IgorCQkJICAiXHhkNlx4YmNceDVhXHhkM1x4MmRceDU0XHg0M1x4Y2MiCisJCQkgICJceDlkXHhkZVx4YTVceDcwXHhlOVx4NDJceDQ1XHg4YSIKKwkJCSAgIlx4NmJceGZhXHhiMVx4OTFceDEzXHhiMFx4ZDlceDE5IiwKKwkJLmlsZW4JPSAxMjgsCisJCS5yZXN1bHQJPSAiXHg2Zlx4NTRceDIwXHg2Zlx4NjFceDRkXHg3OVx4NmUiCisJCQkgICJceDUzXHgyMFx4NjNceDY1XHg2NVx4NzJceDczXHg3NCIKKwkJCSAgIlx4NTRceDIwXHg2Zlx4NmZceDRkXHgyMFx4NmVceDYxIgorCQkJICAiXHgyMFx4NzlceDY1XHg1M1x4NzJceDYzXHg3NFx4NjUiCisJCQkgICJceDIwXHg3M1x4NmZceDU0XHgyMFx4NmZceDYxXHg0ZCIKKwkJCSAgIlx4NzlceDZlXHg1M1x4MjBceDYzXHg2NVx4NjVceDcyIgorCQkJICAiXHg3M1x4NzRceDU0XHgyMFx4NmZceDZmXHg0ZFx4MjAiCisJCQkgICJceDZlXHg2MVx4MjBceDc5XHg2NVx4NTNceDcyXHg2MyIKKwkJCSAgIlx4NzRceDY1XHgyMFx4NzNceDZmXHg1NFx4MjBceDZmIgorCQkJICAiXHg2MVx4NGRceDc5XHg2ZVx4NTNceDIwXHg2M1x4NjUiCisJCQkgICJceDY1XHg3Mlx4NzNceDc0XHg1NFx4MjBceDZmXHg2ZiIKKwkJCSAgIlx4NGRceDIwXHg2ZVx4NjFceDIwXHg3OVx4NjVceDUzIgorCQkJICAiXHg3Mlx4NjNceDc0XHg2NVx4MjBceDczXHg2Zlx4NTQiCisJCQkgICJceDIwXHg2Zlx4NjFceDRkXHg3OVx4NmVceDUzXHgyMCIKKwkJCSAgIlx4NjNceDY1XHg2NVx4NzJceDczXHg3NFx4NTRceDIwIgorCQkJICAiXHg2Zlx4NmZceDRkXHgyMFx4NmVceDYxXHgwYVx4NzkiLAorCQkucmxlbgk9IDEyOCwKKwl9LAorfTsKKwogLyoKICAqIEJsb3dmaXNoIHRlc3QgdmVjdG9ycy4KICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9NYWtlZmlsZSBiL2RyaXZlcnMvTWFrZWZpbGUKaW5kZXggZjY1ZGVkYS4uZmRhNDQ2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9NYWtlZmlsZQorKysgYi9kcml2ZXJzL01ha2VmaWxlCkBAIC0xMCw2ICsxMCw3IEBACiBvYmotJChDT05GSUdfUEFSSVNDKQkJKz0gcGFyaXNjLwogb2JqLSQoQ09ORklHX1JBUElESU8pCQkrPSByYXBpZGlvLwogb2JqLXkJCQkJKz0gdmlkZW8vCitvYmoteQkJCQkrPSBncHUvCiBvYmotJChDT05GSUdfQUNQSSkJCSs9IGFjcGkvCiAjIFBuUCBtdXN0IGNvbWUgYWZ0ZXIgQUNQSSBzaW5jZSBpdCB3aWxsIGV2ZW50dWFsbHkgbmVlZCB0byBjaGVjayBpZiBhY3BpCiAjIHdhcyB1c2VkIGFuZCBkbyBub3RoaW5nIGlmIHNvCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Fjb3JuL2NoYXIvTWFrZWZpbGUgYi9kcml2ZXJzL2Fjb3JuL2NoYXIvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwMDZjOWYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hY29ybi9jaGFyL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciB0aGUgYWNvcm4gY2hhcmFjdGVyIGRldmljZSBkcml2ZXJzLgotIwotCi1vYmotJChDT05GSUdfTDcyMDBfS0VZQikJKz0gZGVma2V5bWFwLWw3MjAwLm8ga2V5Yl9sNzIwMC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMgYi9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzZDgwYTEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jCisrKyAvZGV2L251bGwKQEAgLTEsMzg2ICswLDAgQEAKLS8qCi0gKiBsaW51eC9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMKLSAqCi0gKiBEZWZhdWx0IGtleWJvYXJkIG1hcHMgZm9yIExpbmtVcCBTeXN0ZW1zIEw3MjAwIGJvYXJkCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAwIFN0ZXZlIEhpbGwgKHNqaGlsbEBjb3R3LmNvbSkKLSAqCi0gKiBDaGFuZ2Vsb2c6Ci0gKiAgIDA4LTA0LTIwMDAgU0pIICAgICBDcmVhdGVkIGZpbGUKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXlib2FyZC5oPgotI2luY2x1ZGUgPGxpbnV4L2tkLmg+Ci0KLS8qIE5vcm1hbCAobWFwcyAxOjEgd2l0aCBubyBwcm9jZXNzaW5nKSAqLwotI2RlZmluZSBLVG4JMHhGMAotLyogRnVuY3Rpb24ga2V5cyAqLwotI2RlZmluZSBLVGYJMHhGMQotLyogU3BlY2lhbCAoUGVyZm9ybXMgc3BlY2lhbCBob3VzZS1rZWVwaW5nIGZ1bmNzKSAqLwotI2RlZmluZSBLVHMJMHhGMgotI2RlZmluZSBLSUdOT1JFCQlLKEtUcywgMCkJLyogSWdub3JlICovCi0jZGVmaW5lIEtFTlRFUgkJSyhLVHMsIDEpCS8qIEVudGVyICovCi0jZGVmaW5lIEtSRUdTCQlLKEtUcywgMikJLyogUmVncyAqLwotI2RlZmluZSBLTUVNCQlLKEtUcywgMykJLyogTWVtICovCi0jZGVmaW5lIEtTVEFUCQlLKEtUcywgNCkJLyogU3RhdGUgKi8KLSNkZWZpbmUgS0lOVFIJCUsoS1RzLCA1KQkvKiBJbnRyICovCi0jZGVmaW5lIEtzbAk2CS8qIExhc3QgY29uc29sZSAqLwotI2RlZmluZSBLQ0FQU0xLCQlLKEtUcywgNykJLyogQ2FwcyBsb2NrICovCi0jZGVmaW5lIEtOVU1MSwkJSyhLVHMsIDgpCS8qIE51bS1sb2NrICovCi0jZGVmaW5lIEtTQ1JMTEsJCUsoS1RzLCA5KQkvKiBTY3JvbGwtbG9jayAqLwotI2RlZmluZSBLU0NSTEZPUglLKEtUcywxMCkJLyogU2Nyb2xsIGZvcndhcmQgKi8KLSNkZWZpbmUgS1NDUkxCQUsJSyhLVHMsMTEpCS8qIFNjcm9sbCBiYWNrICovCi0jZGVmaW5lIEtSRUJPT1QJCUsoS1RzLDEyKQkvKiBSZWJvb3QgKi8KLSNkZWZpbmUgS0NBUFNPTgkJSyhLVHMsMTMpCS8qIENhcHMgb24gKi8KLSNkZWZpbmUgS0NPTVBPU0UJSyhLVHMsMTQpCS8qIENvbXBvc2UgKi8KLSNkZWZpbmUgS1NBSwkJSyhLVHMsMTUpCS8qIFNBSyAqLwotI2RlZmluZSBDT05TX0RFQwlLKEtUcywxNikJLyogRGVjIGNvbnNvbGUgKi8KLSNkZWZpbmUgQ09OU19JTkMJSyhLVHMsMTcpCS8qIEluY3IgY29uc29sZSAqLwotI2RlZmluZSBLRkxPUFBZCQlLKEtUcywxOCkJLyogRmxvcHB5ICovCi0vKiBLZXkgcGFkICgwLTkgPSBkaWdpdHMsIDEwPSssIDExPS0sIDEyPSosIDEzPS8sIDE0PWVudGVyLCAxNj0uLCAxNz0jICovCi0jZGVmaW5lIEtUcAkweEYzCi0jZGVmaW5lIEtQQURfMAkJSyhLVHAsIDAgKQotI2RlZmluZSBLUEFEXzEgIAlLKEtUcCwgMSApCi0jZGVmaW5lIEtQQURfMgkJSyhLVHAsIDIgKQotI2RlZmluZSBLUEFEXzMJCUsoS1RwLCAzICkKLSNkZWZpbmUgS1BBRF80CQlLKEtUcCwgNCApCi0jZGVmaW5lIEtQQURfNQkJSyhLVHAsIDUgKQotI2RlZmluZSBLUEFEXzYJCUsoS1RwLCA2ICkKLSNkZWZpbmUgS1BBRF83CQlLKEtUcCwgNyApCi0jZGVmaW5lIEtQQURfOAkJSyhLVHAsIDggKQotI2RlZmluZSBLUEFEXzkJCUsoS1RwLCA5ICkKLSNkZWZpbmUgS1BBRF9QTAkJSyhLVHAsMTAgKQotI2RlZmluZSBLUEFEX01JCQlLKEtUcCwxMSApCi0jZGVmaW5lIEtQQURfTUwJCUsoS1RwLDEyICkKLSNkZWZpbmUgS1BBRF9EVgkJSyhLVHAsMTMgKQotI2RlZmluZSBLUEFEX0VOCQlLKEtUcCwxNCApCi0jZGVmaW5lIEtQQURfRFQJCUsoS1RwLDE2ICkKLSNkZWZpbmUgS1BBRF9IUwkJSyhLVHAsMjAgKQotLyogQ29uc29sZSBzd2l0Y2hpbmcgKi8KLSNkZWZpbmUgS0NuCTB4RjUKLS8qIEN1cnNvciAqLwotI2RlZmluZSBLVGMJMHhGNgotI2RlZmluZSBLY2QJMAkvKiBDdXJzb3IgZG93biAqLwotI2RlZmluZSBLY2wJMQkvKiBDdXJzb3IgbGVmdCAqLwotI2RlZmluZSBLY3IJMgkvKiBDdXJzb3IgcmlnaHQgKi8KLSNkZWZpbmUgS2N1CTMJLyogQ3Vyc29yIHVwICovCi0vKiBTaGlmdC9hbHQgbW9kaWZpZXJzIGV0YyAqLwotI2RlZmluZSBLTWQJMHhGNwotI2RlZmluZSBLU0hJRlQJCUsoS01kLCAwICkKLSNkZWZpbmUgS0FMVEdSCQlLKEtNZCwgMSApCi0jZGVmaW5lIEtDVFJMCQlLKEtNZCwgMiApCi0jZGVmaW5lIEtBTFQJCUsoS01kLCAzICkKLS8qIE1ldGEgKi8KLSNkZWZpbmUgS010CTB4RjgKLSNkZWZpbmUgS0FzCTB4RjkKLSNkZWZpbmUgS1BBREFfMAkJSyhLQXMsIDAgKQotI2RlZmluZSBLUEFEQV8xCQlLKEtBcywgMSApCi0jZGVmaW5lIEtQQURBXzIJCUsoS0FzLCAyICkKLSNkZWZpbmUgS1BBREFfMwkJSyhLQXMsIDMgKQotI2RlZmluZSBLUEFEQV80CQlLKEtBcywgNCApCi0jZGVmaW5lIEtQQURBXzUJCUsoS0FzLCA1ICkKLSNkZWZpbmUgS1BBREFfNgkJSyhLQXMsIDYgKQotI2RlZmluZSBLUEFEQV83CQlLKEtBcywgNyApCi0jZGVmaW5lIEtQQURBXzgJCUsoS0FzLCA4ICkKLSNkZWZpbmUgS1BBREFfOQkJSyhLQXMsIDkgKQotI2RlZmluZSBLUEFEQl8wCQlLKEtBcywxMCApCi0jZGVmaW5lIEtQQURCXzEJCUsoS0FzLDExICkKLSNkZWZpbmUgS1BBREJfMgkJSyhLQXMsMTIgKQotI2RlZmluZSBLUEFEQl8zCQlLKEtBcywxMyApCi0jZGVmaW5lIEtQQURCXzQJCUsoS0FzLDE0ICkKLSNkZWZpbmUgS1BBREJfNQkJSyhLQXMsMTUgKQotI2RlZmluZSBLUEFEQl82CQlLKEtBcywxNiApCi0jZGVmaW5lIEtQQURCXzcJCUsoS0FzLDE3ICkKLSNkZWZpbmUgS1BBREJfOAkJSyhLQXMsMTggKQotI2RlZmluZSBLUEFEQl85CQlLKEtBcywxOSApCi0vKiBMb2NraW5nIGtleXMgKi8KLSNkZWZpbmUgS0xrCTB4RkEKLS8qIExldHRlcnMgKi8KLSNkZWZpbmUgS1RsCTB4RkIKLQotLyoKLSAqIEhlcmUgaXMgdGhlIGxheW91dCBvZiB0aGUga2V5cyBmb3IgdGhlIEZ1aml0c3UgUVdFUlRZCi0gKiBzdHlsZSBrZXlib2FyZDoKLSAqCi0gKglzdGF0aWMgY2hhciBGdWppdHN1X0tleV9UYWJsZVtdID0KLSAqCXsKLSAqICAgICAgICBLQUxULCAnYCcgLCBLTlVMLCBLQ1RMLCBLRlVOLCBLRVNDLCAnMScgLCAnMicgLAotICoJICAnOScgLCAnMCcgLCAnLScgLCAnPScgLCBLTlVMLCBLQlNQLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLQlNMLCBLU0hGLCBLTlVMLCBLTlVMLCBLREVMLCBLTlVMLCAndCcgLAotICoJICAneScgLCAndScgLCAnaScgLCBLUkVULCBLU0hGLCBLUEdELCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLVEFCLCBLTlVMLCBLTlVMLCBLTlVMLCAncScgLCAndycgLCAnZScgLAotICoJICAncicgLCAnbycgLCAncCcgLCAnWycgLCBLTlVMLCAnXScgLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAneicgLCBLTlVMLCBLTlVMLCBLTlVMLCBLU0hMLCBLTlVMLCBLTlVMLAotICoJICAnaycgLCAnbCcgLCAnOycgLCBLU1FULCBLTlVMLCBLUEdVLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAnYScgLCBLTlVMLCBLTlVMLCBLTlVMLCAncycgLCAnZCcgLCAnZicgLAotICoJICAnZycgLCAnaCcgLCAnaicgLCAnLycgLCBLTlVMLCBLSE1FLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAneCcgLCBLTlVMLCBLTlVMLCBLTlVMLCAnYycgLCAndicgLCAnYicgLAotICoJICAnbicgLCAnbScgLCAnLCcgLCAnLicgLCBLTlVMLCAnICcgLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLTlVMLCBLTlVMLCBLTlVMLCBLTlVMLCAnMycgLCAnNCcgLCAnNScgLAotICoJICAnNicgLCAnNycgLCAnOCcgLCBLTlVMLCBLUFJHLCBLTlVMLCBLRU5ELCBLTlVMLAotICoJfTsKLSAqLwotCi11X3Nob3J0IHBsYWluX21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjA2MCwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMzEsIDB4ZjAzMiwKLQkweGYwMzksIDB4ZjAzMCwgMHhmMDJkLCAweGYwM2QsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjA1YywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZmI3NCwKLQkweGZiNzksIDB4ZmI3NSwgMHhmYjY5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwOSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjcxLCAweGZiNzcsIDB4ZmI2NSwKLQkweGZiNzIsIDB4ZmI2ZiwgMHhmYjcwLCAweGYwNWIsIDB4ZjIwMCwgMHhmMDVkLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI3YSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjA3LCAweGYyMDAsIDB4ZjIwMCwKLQkweGZiNmIsIDB4ZmI2YywgMHhmMDNiLCAweGYwMjcsIDB4ZjIwMCwgMHhmNjAzLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI2MSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjczLCAweGZiNjQsIDB4ZmI2NiwKLQkweGZiNjcsIDB4ZmI2OCwgMHhmYjZhLCAweGYwMmYsIDB4ZjIwMCwgMHhmNjAxLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI3OCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjYzLCAweGZiNzYsIDB4ZmI2MiwKLQkweGZiNmUsIDB4ZmI2ZCwgMHhmMDJjLCAweGYwMmUsIDB4ZjIwMCwgMHhmMDIwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDMzLCAweGYwMzQsIDB4ZjAzNSwgCi0JMHhmMDM2LCAweGYwMzcsIDB4ZjAzOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmNjAyLCAweGYyMDAsIAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi19OwotCi11X3Nob3J0IHNoaWZ0X21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjA3ZSwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMjEsIDB4ZjA0MCwKLQkweGYwMjgsIDB4ZjAyOSwgMHhmMDVmLCAweGYwMmIsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjA3YywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZmI1NCwKLQkweGZiNTksIDB4ZmI1NSwgMHhmYjQ5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLSAJMHhmMjAwLCAweGYwMDksIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI1MSwgMHhmYjU3LCAweGZiNDUsCi0JMHhmYjUyLCAweGZiNGYsIDB4ZmI1MCwgMHhmMDdiLCAweGYyMDAsIDB4ZjA3ZCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNWEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwNywgMHhmMjAwLCAweGYyMDAsCi0JMHhmYjRiLCAweGZiNGMsIDB4ZjAzYSwgMHhmMDIyLCAweGYyMDAsIDB4ZjYwMywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNDEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI1MywgMHhmYjQ0LCAweGZiNDYsCi0JMHhmYjQ3LCAweGZiNDgsIDB4ZmI0YSwgMHhmMDNmLCAweGYyMDAsIDB4ZjYwMSwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNTgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI0MywgMHhmYjU2LCAweGZiNDIsCi0JMHhmYjRlLCAweGZiNGQsIDB4ZjAzYywgMHhmMDNlLCAweGYyMDAsIDB4ZjAyMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAyMywgMHhmMDI0LCAweGYwMjUsIAotCTB4ZjA1ZSwgMHhmMDI2LCAweGYwMmEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjYwMiwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIAotfTsKLQotdV9zaG9ydCBhbHRncl9tYXBbTlJfS0VZU109Ci17Ci0gIEtJR05PUkUgICAsSyhLQ24sMTIgKSxLKEtDbiwxMyApLEsoS0NuLDE0ICApLEsoS0NuLDE1ICksSyhLQ24sMTYgKSxLKEtDbiwxNyAgKSxLKEtDbiwgMTgpLAotICBLKEtDbiwgMTkpLEsoS0NuLDIwICksSyhLQ24sMjEgKSxLKEtDbiwyMiAgKSxLKEtDbiwyMyApLEtJR05PUkUgICAsS1JFR1MgICAgICAsS0lOVFIgICAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEsoS1RuLCdAJyksS0lHTk9SRSAgICAsSyhLVG4sJyQnKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEsoS1RuLCd7JyksCi0gIEsoS1RuLCdbJyksSyhLVG4sJ10nKSxLKEtUbiwnfScpLEsoS1RuLCdcXCcpLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUZiwyMSApLAotICBLKEtUZiwyMCApLEsoS1RmLDI0ICksS05VTUxLICAgICxLUEFEX0RWICAgICxLUEFEX01MICAgLEtQQURfSFMgICAsS0lHTk9SRSAgICAsSyhLVGwsJ3EnKSwKLSAgSyhLVGwsJ3cnKSxLKEtUbCwnZScpLEsoS1RsLCdyJyksSyhLVGwsJ3QnICksSyhLVGwsJ3knKSxLKEtUbCwndScpLEsoS1RsLCdpJyApLEsoS1RsLCdvJyksCi0gIEsoS1RsLCdwJyksS0lHTk9SRSAgICxLKEtUbiwnficpLEtJR05PUkUgICAgLEsoS1RmLDIyICksSyhLVGYsMjMgKSxLKEtUZiwyNSAgKSxLUEFEQl83ICAgLAotICBLUEFEQl84ICAgLEtQQURCXzkgICAsS1BBRF9NSSAgICxLQ1RSTCAgICAgICxLKEtBcywyMCApLEsoS1RsLCdzJyksSyhLQXMsMjMgICksSyhLQXMsMjUgKSwKLSAgSyhLVGwsJ2cnKSxLKEtUbCwnaCcpLEsoS1RsLCdqJyksSyhLVGwsJ2snICksSyhLVGwsJ2wnKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtFTlRFUiAgICAsCi0gIEtQQURCXzQgICAsS1BBREJfNSAgICxLUEFEQl82ICAgLEtQQURfUEwgICAgLEtTSElGVCAgICAsS0lHTk9SRSAgICxLKEtUbCwneicgKSxLKEtUbCwneCcpLAotICBLKEtBcywyMiApLEsoS1RsLCd2JyksSyhLVGwsMjEgKSxLKEtUbCwnbicgKSxLKEtUbCwnbScpLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS1NISUZUICAgICxLKEtUYyxLY3UpLEtQQURCXzEgICAsS1BBREJfMiAgICAsS1BBREJfMyAgICxLQ0FQU0xLICAgLEtBTFQgICAgICAgLEtJR05PUkUgICAsCi0gIEtBTFRHUiAgICAsS0NUUkwgICAgICxLKEtUYyxLY2wpLEsoS1RjLEtjZCApLEsoS1RjLEtjciksS1BBREJfMCAgICxLUEFEX0RUICAgICxLUEFEX0VOICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotfTsKLQotdV9zaG9ydCBjdHJsX21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjIwMCwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMjAwLCAweGYwMDEsIDB4ZjAwMiwKLQkweGYwMDksIDB4ZjAwMCwgMHhmMDMxLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxYywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZjAyMCwKLQkweGYwMTksIDB4ZjAxNSwgMHhmMDA5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwOSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDExLCAweGYwMTcsIDB4ZjAwNSwKLQkweGYwMTIsIDB4ZjAwZiwgMHhmMDEwLCAweGYwMWIsIDB4ZjIwMCwgMHhmMDFkLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxYSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjA3LCAweGYyMDAsIDB4ZjIwMCwKLQkweGYwMGIsIDB4ZjAwYywgMHhmMjAwLCAweGYwMDcsIDB4ZjIwMCwgMHhmNjAzLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwMSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAxLCAweGYwMTMsIDB4ZjAwNiwKLQkweGYwMDcsIDB4ZjAwOCwgMHhmMDBhLCAweGYwN2YsIDB4ZjIwMCwgMHhmNjAxLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAzLCAweGYwMTYsIDB4ZjAwMiwKLQkweGYwMGUsIDB4ZjAwZCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMWMsIDB4ZjAxZCwgCi0JMHhmMDM2LCAweGYwMzcsIDB4ZjAzOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmNjAyLCAweGYyMDAsIAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGY2MDIsIDB4ZjIwMCwgCi19OwotCi11X3Nob3J0IHNoaWZ0X2N0cmxfbWFwW05SX0tFWVNdPQotewotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtGTE9QUFkgICAgLEtJTlRSICAgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLKEtUbiwgMCApLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLKEtUbiwzMSAgKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsSyhLVGYsMjEgKSwKLSAgSyhLVGYsMjAgKSxLKEtUZiwyNCApLEtOVU1MSyAgICAsS1BBRF9EViAgICAsS1BBRF9NTCAgICxLUEFEX0hTICAgLEtJR05PUkUgICAgLEsoS1RuLDE3ICksCi0gIEsoS1RuLDIzICksSyhLVG4sIDUgKSxLKEtUbiwxOCApLEsoS1RuLDIwICApLEsoS1RuLDI1ICksSyhLVG4sMjEgKSxLKEtUbiwgOSAgKSxLKEtUbiwxNSApLAotICBLKEtUbiwxNiApLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUZiwyMiApLEsoS1RmLDIzICksSyhLVGYsMjUgICksS1BBRF83ICAgICwKLSAgS1BBRF84ICAgICxLUEFEXzkgICAgLEtQQURfTUkgICAsS0NUUkwgICAgICAsSyhLVG4sIDEgKSxLKEtUbiwxOSApLEsoS1RuLCA0ICApLEsoS1RuLCA2ICksCi0gIEsoS1RuLCA3ICksSyhLVG4sIDggKSxLKEtUbiwxMCApLEsoS1RuLDExICApLEsoS1RuLDEyICksS0lHTk9SRSAgICxLKEtUbiwgNyAgKSxLRU5URVIgICAgLAotICBLUEFEXzQgICAgLEtQQURfNSAgICAsS1BBRF82ICAgICxLUEFEX1BMICAgICxLU0hJRlQgICAgLEtJR05PUkUgICAsSyhLVG4sMjYgICksSyhLVG4sMjQgKSwKLSAgSyhLVG4sIDMgKSxLKEtUbiwyMiApLEsoS1RuLCAyICksSyhLVG4sMTQgICksSyhLVG4sMTMgKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtTSElGVCAgICAsSyhLVGMsS2N1KSxLUEFEXzEgICAgLEtQQURfMiAgICAgLEtQQURfMyAgICAsS0NBUFNMSyAgICxLQUxUICAgICAgICxLKEtUbiwgMCApLAotICBLQUxUR1IgICAgLEtDVFJMICAgICAsSyhLVGMsS2NsKSxLKEtUYyxLY2QgKSxLKEtUYyxLY3IpLEtQQURfMCAgICAsS1BBRF9EVCAgICAsS1BBRF9FTiAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLX07Ci0KLXVfc2hvcnQgYWx0X21hcFtOUl9LRVlTXT0KLXsKLSAgSyhLTXQsMjcgKSxLKEtDbiwgMCApLEsoS0NuLCAxICksSyhLQ24sIDIgICksSyhLQ24sIDMgKSxLKEtDbiwgNCApLEsoS0NuLCA1ICApLEsoS0NuLCA2ICksCi0gIEsoS0NuLCA3ICksSyhLQ24sIDggKSxLKEtDbiwgOSApLEsoS0NuLDEwICApLEsoS0NuLDExICksS0lHTk9SRSAgICxLU0NSTExLICAgICxLSU5UUiAgICAgLAotICBLKEtNdCwnYCcpLEsoS010LCcxJyksSyhLTXQsJzInKSxLKEtNdCwnMycgKSxLKEtNdCwnNCcpLEsoS010LCc1JyksSyhLTXQsJzYnICksSyhLTXQsJzcnKSwKLSAgSyhLTXQsJzgnKSxLKEtNdCwnOScpLEsoS010LCcwJyksSyhLTXQsJy0nICksSyhLTXQsJz0nKSxLKEtNdCwnoycpLEsoS010LDEyNyApLEsoS1RmLDIxICksCi0gIEsoS1RmLDIwICksSyhLVGYsMjQgKSxLTlVNTEsgICAgLEtQQURfRFYgICAgLEtQQURfTUwgICAsS1BBRF9IUyAgICxLKEtNdCwgOSAgKSxLKEtNdCwncScpLAotICBLKEtNdCwndycpLEsoS010LCdlJyksSyhLTXQsJ3InKSxLKEtNdCwndCcgKSxLKEtNdCwneScpLEsoS010LCd1JyksSyhLTXQsJ2knICksSyhLTXQsJ28nKSwKLSAgSyhLTXQsJ3AnKSxLKEtNdCwnWycpLEsoS010LCddJyksSyhLTXQsJ1xcJyksSyhLVGYsMjIgKSxLKEtUZiwyMyApLEsoS1RmLDI1ICApLEtQQURBXzcgICAsCi0gIEtQQURBXzggICAsS1BBREFfOSAgICxLUEFEX01JICAgLEtDVFJMICAgICAgLEsoS010LCdhJyksSyhLTXQsJ3MnKSxLKEtNdCwnZCcgKSxLKEtNdCwnZicpLAotICBLKEtNdCwnZycpLEsoS010LCdoJyksSyhLTXQsJ2onKSxLKEtNdCwnaycgKSxLKEtNdCwnbCcpLEsoS010LCc7JyksSyhLTXQsJ1wnJyksSyhLTXQsMTMgKSwKLSAgS1BBREFfNCAgICxLUEFEQV81ICAgLEtQQURBXzYgICAsS1BBRF9QTCAgICAsS1NISUZUICAgICxLSUdOT1JFICAgLEsoS010LCd6JyApLEsoS010LCd4JyksCi0gIEsoS010LCdjJyksSyhLTXQsJ3YnKSxLKEtNdCwnYicpLEsoS010LCduJyApLEsoS010LCdtJyksSyhLTXQsJywnKSxLKEtNdCwnLicgKSxLSUdOT1JFICAgLAotICBLU0hJRlQgICAgLEsoS1RjLEtjdSksS1BBREFfMSAgICxLUEFEQV8yICAgICxLUEFEQV8zICAgLEtDQVBTTEsgICAsS0FMVCAgICAgICAsSyhLTXQsJyAnKSwKLSAgS0FMVEdSICAgICxLQ1RSTCAgICAgLENPTlNfREVDICAsSyhLVGMsS2NkICksQ09OU19JTkMgICxLUEFEQV8wICAgLEtQQURfRFQgICAgLEtQQURfRU4gICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi19OwotCi11X3Nob3J0IGN0cmxfYWx0X21hcFtOUl9LRVlTXT0KLXsKLSAgS0lHTk9SRSAgICxLKEtDbiwgMCApLEsoS0NuLCAxICksSyhLQ24sIDIgICksSyhLQ24sIDMgKSxLKEtDbiwgNCApLEsoS0NuLCA1ICApLEsoS0NuLCA2ICksCi0gIEsoS0NuLCA3ICksSyhLQ24sIDggKSxLKEtDbiwgOSApLEsoS0NuLDEwICApLEsoS0NuLDExICksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSU5UUiAgICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEsoS1RmLDIxICksCi0gIEsoS1RmLDIwICksSyhLVGYsMjQgKSxLTlVNTEsgICAgLEtQQURfRFYgICAgLEtQQURfTUwgICAsS1BBRF9IUyAgICxLSUdOT1JFICAgICxLKEtNdCwxNyApLAotICBLKEtNdCwyMyApLEsoS010LCA1ICksSyhLTXQsMTggKSxLKEtNdCwyMCAgKSxLKEtNdCwyNSApLEsoS010LDIxICksSyhLTXQsIDkgICksSyhLTXQsMTUgKSwKLSAgSyhLTXQsMTYgKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS1JFQk9PVCAgICxLKEtUZiwyMyApLEsoS1RmLDI1ICApLEtQQURfNyAgICAsCi0gIEtQQURfOCAgICAsS1BBRF85ICAgICxLUEFEX01JICAgLEtDVFJMICAgICAgLEsoS010LCAxICksSyhLTXQsMTkgKSxLKEtNdCwgNCAgKSxLKEtNdCwgNiApLAotICBLKEtNdCwgNyApLEsoS010LCA4ICksSyhLTXQsMTAgKSxLKEtNdCwxMSAgKSxLKEtNdCwxMiApLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0VOVEVSICAgICwKLSAgS1BBRF80ICAgICxLUEFEXzUgICAgLEtQQURfNiAgICAsS1BBRF9QTCAgICAsS1NISUZUICAgICxLSUdOT1JFICAgLEsoS010LDI2ICApLEsoS010LDI0ICksCi0gIEsoS010LCAzICksSyhLTXQsMjIgKSxLKEtNdCwgMiApLEsoS010LDE0ICApLEsoS010LDEzICksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLU0hJRlQgICAgLEsoS1RjLEtjdSksS1BBRF8xICAgICxLUEFEXzIgICAgICxLUEFEXzMgICAgLEtDQVBTTEsgICAsS0FMVCAgICAgICAsS0lHTk9SRSAgICwKLSAgS0FMVEdSICAgICxLQ1RSTCAgICAgLEsoS1RjLEtjbCksSyhLVGMsS2NkICksSyhLVGMsS2NyKSxLUEFEXzAgICAgLEtSRUJPT1QgICAgLEtQQURfRU4gICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi19OwotCi11c2hvcnQgKmtleV9tYXBzW01BWF9OUl9LRVlNQVBTXSA9IHsKLQlwbGFpbl9tYXAsIHNoaWZ0X21hcCwgYWx0Z3JfbWFwLCAwLAotCWN0cmxfbWFwLCBzaGlmdF9jdHJsX21hcCwgMCwgMCwKLQlhbHRfbWFwLCAwLCAwLCAwLAotCWN0cmxfYWx0X21hcCwJMAotfTsKLQotdW5zaWduZWQgaW50IGtleW1hcF9jb3VudCA9IDc7Ci0KLS8qCi0gKiBQaGlsb3NvcGh5OiBtb3N0IHBlb3BsZSBkbyBub3QgZGVmaW5lIG1vcmUgc3RyaW5ncywgYnV0IHRoZXkgd2hvIGRvCi0gKiBvZnRlbiB3YW50IHF1aXRlIGEgbG90IG9mIHN0cmluZyBzcGFjZS4gU28sIHdlIHN0YXRpY2FsbHkgYWxsb2NhdGUKLSAqIHRoZSBkZWZhdWx0IGFuZCBhbGxvY2F0ZSBkeW5hbWljYWxseSBpbiBjaHVua3Mgb2YgNTEyIGJ5dGVzLgotICovCi0KLWNoYXIgZnVuY19idWZbXSA9IHsKLQknXDAzMycsICdbJywgJ1snLCAnQScsIDAsCi0JJ1wwMzMnLCAnWycsICdbJywgJ0InLCAwLAotCSdcMDMzJywgJ1snLCAnWycsICdDJywgMCwKLQknXDAzMycsICdbJywgJ1snLCAnRCcsIDAsCi0JJ1wwMzMnLCAnWycsICdbJywgJ0UnLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc3JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc4JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc5JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICcwJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICcxJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc0JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc1JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc2JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc4JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc5JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICcxJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICcyJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICc0JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnNCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzUnLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICc2JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnTScsIDAsCi0JJ1wwMzMnLCAnWycsICdQJywgMCwKLX07Ci0KLWNoYXIgKmZ1bmNidWZwdHIgPSBmdW5jX2J1ZjsKLWludCBmdW5jYnVmc2l6ZSA9IHNpemVvZihmdW5jX2J1Zik7Ci1pbnQgZnVuY2J1ZmxlZnQgPSAwOyAgICAgICAgICAvKiBzcGFjZSBsZWZ0ICovCi0KLWNoYXIgKmZ1bmNfdGFibGVbTUFYX05SX0ZVTkNdID0gewotCWZ1bmNfYnVmICsgMCwKLQlmdW5jX2J1ZiArIDUsCi0JZnVuY19idWYgKyAxMCwKLQlmdW5jX2J1ZiArIDE1LAotCWZ1bmNfYnVmICsgMjAsCi0JZnVuY19idWYgKyAyNSwKLQlmdW5jX2J1ZiArIDMxLAotCWZ1bmNfYnVmICsgMzcsCi0JZnVuY19idWYgKyA0MywKLQlmdW5jX2J1ZiArIDQ5LAotCWZ1bmNfYnVmICsgNTUsCi0JZnVuY19idWYgKyA2MSwKLQlmdW5jX2J1ZiArIDY3LAotCWZ1bmNfYnVmICsgNzMsCi0JZnVuY19idWYgKyA3OSwKLQlmdW5jX2J1ZiArIDg1LAotCWZ1bmNfYnVmICsgOTEsCi0JZnVuY19idWYgKyA5NywKLQlmdW5jX2J1ZiArIDEwMywKLQlmdW5jX2J1ZiArIDEwOSwKLQlmdW5jX2J1ZiArIDExNSwKLQlmdW5jX2J1ZiArIDEyMCwKLQlmdW5jX2J1ZiArIDEyNSwKLQlmdW5jX2J1ZiArIDEzMCwKLQlmdW5jX2J1ZiArIDEzNSwKLQlmdW5jX2J1ZiArIDE0MCwKLQlmdW5jX2J1ZiArIDE0NSwKLQkwLAotCTAsCi0JZnVuY19idWYgKyAxNDksCi0JMCwKLX07Ci0KLXN0cnVjdCBrYmRpYWNydWMgYWNjZW50X3RhYmxlW01BWF9ESUFDUl0gPSB7Ci0JeydgJywgJ0EnLCAwMzAwfSwJeydgJywgJ2EnLCAwMzQwfSwKLQl7J1wnJywgJ0EnLCAwMzAxfSwJeydcJycsICdhJywgMDM0MX0sCi0JeydeJywgJ0EnLCAwMzAyfSwJeydeJywgJ2EnLCAwMzQyfSwKLQl7J34nLCAnQScsIDAzMDN9LAl7J34nLCAnYScsIDAzNDN9LAotCXsnIicsICdBJywgMDMwNH0sCXsnIicsICdhJywgMDM0NH0sCi0JeydPJywgJ0EnLCAwMzA1fSwJeydvJywgJ2EnLCAwMzQ1fSwKLQl7JzAnLCAnQScsIDAzMDV9LAl7JzAnLCAnYScsIDAzNDV9LAotCXsnQScsICdBJywgMDMwNX0sCXsnYScsICdhJywgMDM0NX0sCi0JeydBJywgJ0UnLCAwMzA2fSwJeydhJywgJ2UnLCAwMzQ2fSwKLQl7JywnLCAnQycsIDAzMDd9LAl7JywnLCAnYycsIDAzNDd9LAotCXsnYCcsICdFJywgMDMxMH0sCXsnYCcsICdlJywgMDM1MH0sCi0JeydcJycsICdFJywgMDMxMX0sCXsnXCcnLCAnZScsIDAzNTF9LAotCXsnXicsICdFJywgMDMxMn0sCXsnXicsICdlJywgMDM1Mn0sCi0JeyciJywgJ0UnLCAwMzEzfSwJeyciJywgJ2UnLCAwMzUzfSwKLQl7J2AnLCAnSScsIDAzMTR9LAl7J2AnLCAnaScsIDAzNTR9LAotCXsnXCcnLCAnSScsIDAzMTV9LAl7J1wnJywgJ2knLCAwMzU1fSwKLQl7J14nLCAnSScsIDAzMTZ9LAl7J14nLCAnaScsIDAzNTZ9LAotCXsnIicsICdJJywgMDMxN30sCXsnIicsICdpJywgMDM1N30sCi0JeyctJywgJ0QnLCAwMzIwfSwJeyctJywgJ2QnLCAwMzYwfSwKLQl7J34nLCAnTicsIDAzMjF9LAl7J34nLCAnbicsIDAzNjF9LAotCXsnYCcsICdPJywgMDMyMn0sCXsnYCcsICdvJywgMDM2Mn0sCi0JeydcJycsICdPJywgMDMyM30sCXsnXCcnLCAnbycsIDAzNjN9LAotCXsnXicsICdPJywgMDMyNH0sCXsnXicsICdvJywgMDM2NH0sCi0Jeyd+JywgJ08nLCAwMzI1fSwJeyd+JywgJ28nLCAwMzY1fSwKLQl7JyInLCAnTycsIDAzMjZ9LAl7JyInLCAnbycsIDAzNjZ9LAotCXsnLycsICdPJywgMDMzMH0sCXsnLycsICdvJywgMDM3MH0sCi0JeydgJywgJ1UnLCAwMzMxfSwJeydgJywgJ3UnLCAwMzcxfSwKLQl7J1wnJywgJ1UnLCAwMzMyfSwJeydcJycsICd1JywgMDM3Mn0sCi0JeydeJywgJ1UnLCAwMzMzfSwJeydeJywgJ3UnLCAwMzczfSwKLQl7JyInLCAnVScsIDAzMzR9LAl7JyInLCAndScsIDAzNzR9LAotCXsnXCcnLCAnWScsIDAzMzV9LAl7J1wnJywgJ3knLCAwMzc1fSwKLQl7J1QnLCAnSCcsIDAzMzZ9LAl7J3QnLCAnaCcsIDAzNzZ9LAotCXsncycsICdzJywgMDMzN30sCXsnIicsICd5JywgMDM3N30sCi0JeydzJywgJ3onLCAwMzM3fSwJeydpJywgJ2onLCAwMzc3fSwKLX07Ci0KLXVuc2lnbmVkIGludCBhY2NlbnRfdGFibGVfc2l6ZSA9IDY4OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL0tjb25maWcgYi9kcml2ZXJzL2FjcGkvS2NvbmZpZwppbmRleCBjNTJmY2E4Li5iYmE4NjczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2FjcGkvS2NvbmZpZworKysgYi9kcml2ZXJzL2FjcGkvS2NvbmZpZwpAQCAtNCw4ICs0LDYgQEAKIAogbWVudWNvbmZpZyBBQ1BJCiAJYm9vbCAiQUNQSSAoQWR2YW5jZWQgQ29uZmlndXJhdGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gIVg4Nl9OVU1BUQotCWRlcGVuZHMgb24gIVg4Nl9WSVNXUwogCWRlcGVuZHMgb24gIUlBNjRfSFBfU0lNCiAJZGVwZW5kcyBvbiBJQTY0IHx8IFg4NgogCWRlcGVuZHMgb24gUENJCmRpZmYgLS1naXQgYS9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX2lkbGUuYyBiL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCmluZGV4IDU1NmVlMTUuLjQ5NzZlNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCisrKyBiL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCkBAIC0xMzM5LDcgKzEzMzksNyBAQAogc3RhdGljIGludCBhY3BpX3Byb2Nlc3Nvcl9sYXRlbmN5X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKmIsCiAJCXVuc2lnbmVkIGxvbmcgbCwgdm9pZCAqdikKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzbXBfY2FsbGJhY2ssIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9jYWxsYmFjaywgTlVMTCwgMSk7CiAJcmV0dXJuIE5PVElGWV9PSzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvYWhjaS5jIGIvZHJpdmVycy9hdGEvYWhjaS5jCmluZGV4IDVlNjQ2OGEuLmRjNzU5NmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2FoY2kuYworKysgYi9kcml2ZXJzL2F0YS9haGNpLmMKQEAgLTU2LDYgKzU2LDEyIEBACiBzdGF0aWMgaW50IGFoY2lfZW5hYmxlX2FscG0oc3RydWN0IGF0YV9wb3J0ICphcCwKIAkJZW51bSBsaW5rX3BtIHBvbGljeSk7CiBzdGF0aWMgdm9pZCBhaGNpX2Rpc2FibGVfYWxwbShzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3Nob3coc3RydWN0IGF0YV9wb3J0ICphcCwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3N0b3JlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCSAgICAgIHNpemVfdCBzaXplKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2Uoc3RydWN0IGF0YV9wb3J0ICphcCwgdTMyIHN0YXRlLAorCQkJCQlzc2l6ZV90IHNpemUpOworI2RlZmluZSBNQVhfU0xPVFMgOAogCiBlbnVtIHsKIAlBSENJX1BDSV9CQVIJCT0gNSwKQEAgLTk4LDYgKzEwNCw4IEBACiAJSE9TVF9JUlFfU1RBVAkJPSAweDA4LCAvKiBpbnRlcnJ1cHQgc3RhdHVzICovCiAJSE9TVF9QT1JUU19JTVBMCQk9IDB4MGMsIC8qIGJpdG1hcCBvZiBpbXBsZW1lbnRlZCBwb3J0cyAqLwogCUhPU1RfVkVSU0lPTgkJPSAweDEwLCAvKiBBSENJIHNwZWMuIHZlcnNpb24gY29tcGxpYW5jeSAqLworCUhPU1RfRU1fTE9DCQk9IDB4MWMsIC8qIEVuY2xvc3VyZSBNYW5hZ2VtZW50IGxvY2F0aW9uICovCisJSE9TVF9FTV9DVEwJCT0gMHgyMCwgLyogRW5jbG9zdXJlIE1hbmFnZW1lbnQgQ29udHJvbCAqLwogCiAJLyogSE9TVF9DVEwgYml0cyAqLwogCUhPU1RfUkVTRVQJCT0gKDEgPDwgMCksICAvKiByZXNldCBjb250cm9sbGVyOyBzZWxmLWNsZWFyICovCkBAIC0xMDUsNiArMTEzLDcgQEAKIAlIT1NUX0FIQ0lfRU4JCT0gKDEgPDwgMzEpLCAvKiBBSENJIGVuYWJsZWQgKi8KIAogCS8qIEhPU1RfQ0FQIGJpdHMgKi8KKwlIT1NUX0NBUF9FTVMJCT0gKDEgPDwgNiksICAvKiBFbmNsb3N1cmUgTWFuYWdlbWVudCBzdXBwb3J0ICovCiAJSE9TVF9DQVBfU1NDCQk9ICgxIDw8IDE0KSwgLyogU2x1bWJlciBjYXBhYmxlICovCiAJSE9TVF9DQVBfUE1QCQk9ICgxIDw8IDE3KSwgLyogUG9ydCBNdWx0aXBsaWVyIHN1cHBvcnQgKi8KIAlIT1NUX0NBUF9DTE8JCT0gKDEgPDwgMjQpLCAvKiBDb21tYW5kIExpc3QgT3ZlcnJpZGUgc3VwcG9ydCAqLwpAQCAtMjAyLDYgKzIxMSwxMSBAQAogCQkJCQkgIEFUQV9GTEFHX0lQTSwKIAogCUlDSF9NQVAJCQkJPSAweDkwLCAvKiBJQ0ggTUFQIHJlZ2lzdGVyICovCisKKwkvKiBlbV9jdGwgYml0cyAqLworCUVNX0NUTF9SU1QJCQk9ICgxIDw8IDkpLCAvKiBSZXNldCAqLworCUVNX0NUTF9UTQkJCT0gKDEgPDwgOCksIC8qIFRyYW5zbWl0IE1lc3NhZ2UgKi8KKwlFTV9DVExfQUxIRAkJCT0gKDEgPDwgMjYpLCAvKiBBY3Rpdml0eSBMRUQgKi8KIH07CiAKIHN0cnVjdCBhaGNpX2NtZF9oZHIgewpAQCAtMjE5LDEyICsyMzMsMjEgQEAKIAlfX2xlMzIJCQlmbGFnc19zaXplOwogfTsKIAorc3RydWN0IGFoY2lfZW1fcHJpdiB7CisJZW51bSBzd19hY3Rpdml0eSBibGlua19wb2xpY3k7CisJc3RydWN0IHRpbWVyX2xpc3QgdGltZXI7CisJdW5zaWduZWQgbG9uZyBzYXZlZF9hY3Rpdml0eTsKKwl1bnNpZ25lZCBsb25nIGFjdGl2aXR5OworCXVuc2lnbmVkIGxvbmcgbGVkX3N0YXRlOworfTsKKwogc3RydWN0IGFoY2lfaG9zdF9wcml2IHsKIAl1bnNpZ25lZCBpbnQJCWZsYWdzOwkJLyogQUhDSV9IRkxBR18qICovCiAJdTMyCQkJY2FwOwkJLyogY2FwIHRvIHVzZSAqLwogCXUzMgkJCXBvcnRfbWFwOwkvKiBwb3J0IG1hcCB0byB1c2UgKi8KIAl1MzIJCQlzYXZlZF9jYXA7CS8qIHNhdmVkIGluaXRpYWwgY2FwICovCiAJdTMyCQkJc2F2ZWRfcG9ydF9tYXA7CS8qIHNhdmVkIGluaXRpYWwgcG9ydF9tYXAgKi8KKwl1MzIgCQkJZW1fbG9jOyAvKiBlbmNsb3N1cmUgbWFuYWdlbWVudCBsb2NhdGlvbiAqLwogfTsKIAogc3RydWN0IGFoY2lfcG9ydF9wcml2IHsKQEAgLTI0MCw2ICsyNjMsOCBAQAogCXVuc2lnbmVkIGludAkJbmNxX3Nhd19kbWFzOjE7CiAJdW5zaWduZWQgaW50CQluY3Ffc2F3X3NkYjoxOwogCXUzMiAJCQlpbnRyX21hc2s7CS8qIGludGVycnVwdHMgdG8gZW5hYmxlICovCisJc3RydWN0IGFoY2lfZW1fcHJpdgllbV9wcml2W01BWF9TTE9UU107LyogZW5jbG9zdXJlIG1hbmFnZW1lbnQgaW5mbworCQkJCQkgCSAqIHBlciBQTSBzbG90ICovCiB9OwogCiBzdGF0aWMgaW50IGFoY2lfc2NyX3JlYWQoc3RydWN0IGF0YV9wb3J0ICphcCwgdW5zaWduZWQgaW50IHNjX3JlZywgdTMyICp2YWwpOwpAQCAtMjc3LDkgKzMwMiwyMCBAQAogc3RhdGljIGludCBhaGNpX3BjaV9kZXZpY2Vfc3VzcGVuZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgcG1fbWVzc2FnZV90IG1lc2cpOwogc3RhdGljIGludCBhaGNpX3BjaV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKICNlbmRpZgorc3RhdGljIHNzaXplX3QgYWhjaV9hY3Rpdml0eV9zaG93KHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsCisJCQkJICAgZW51bSBzd19hY3Rpdml0eSB2YWwpOworc3RhdGljIHZvaWQgYWhjaV9pbml0X3N3X2FjdGl2aXR5KHN0cnVjdCBhdGFfbGluayAqbGluayk7CiAKIHN0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYWhjaV9zaG9zdF9hdHRyc1tdID0gewogCSZkZXZfYXR0cl9saW5rX3Bvd2VyX21hbmFnZW1lbnRfcG9saWN5LAorCSZkZXZfYXR0cl9lbV9tZXNzYWdlX3R5cGUsCisJJmRldl9hdHRyX2VtX21lc3NhZ2UsCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphaGNpX3NkZXZfYXR0cnNbXSA9IHsKKwkmZGV2X2F0dHJfc3dfYWN0aXZpdHksCiAJTlVMTAogfTsKIApAQCAtMjg5LDYgKzMyNSw3IEBACiAJLnNnX3RhYmxlc2l6ZQkJPSBBSENJX01BWF9TRywKIAkuZG1hX2JvdW5kYXJ5CQk9IEFIQ0lfRE1BX0JPVU5EQVJZLAogCS5zaG9zdF9hdHRycwkJPSBhaGNpX3Nob3N0X2F0dHJzLAorCS5zZGV2X2F0dHJzCQk9IGFoY2lfc2Rldl9hdHRycywKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgYXRhX3BvcnRfb3BlcmF0aW9ucyBhaGNpX29wcyA9IHsKQEAgLTMxNiw2ICszNTMsMTAgQEAKIAogCS5lbmFibGVfcG0JCT0gYWhjaV9lbmFibGVfYWxwbSwKIAkuZGlzYWJsZV9wbQkJPSBhaGNpX2Rpc2FibGVfYWxwbSwKKwkuZW1fc2hvdwkJPSBhaGNpX2xlZF9zaG93LAorCS5lbV9zdG9yZQkJPSBhaGNpX2xlZF9zdG9yZSwKKwkuc3dfYWN0aXZpdHlfc2hvdwk9IGFoY2lfYWN0aXZpdHlfc2hvdywKKwkuc3dfYWN0aXZpdHlfc3RvcmUJPSBhaGNpX2FjdGl2aXR5X3N0b3JlLAogI2lmZGVmIENPTkZJR19QTQogCS5wb3J0X3N1c3BlbmQJCT0gYWhjaV9wb3J0X3N1c3BlbmQsCiAJLnBvcnRfcmVzdW1lCQk9IGFoY2lfcG9ydF9yZXN1bWUsCkBAIC01NjEsNiArNjAyLDExIEBACiAjZW5kaWYKIH07CiAKK3N0YXRpYyBpbnQgYWhjaV9lbV9tZXNzYWdlcyA9IDE7Cittb2R1bGVfcGFyYW0oYWhjaV9lbV9tZXNzYWdlcywgaW50LCAwNDQ0KTsKKy8qIGFkZCBvdGhlciBMRUQgcHJvdG9jb2wgdHlwZXMgd2hlbiB0aGV5IGJlY29tZSBzdXBwb3J0ZWQgKi8KK01PRFVMRV9QQVJNX0RFU0MoYWhjaV9lbV9tZXNzYWdlcywKKwkiU2V0IEFIQ0kgRW5jbG9zdXJlIE1hbmFnZW1lbnQgTWVzc2FnZSB0eXBlICgwID0gZGlzYWJsZWQsIDEgPSBMRUQiKTsKIAogc3RhdGljIGlubGluZSBpbnQgYWhjaV9ucl9wb3J0cyh1MzIgY2FwKQogewpAQCAtMTAzMSwxMSArMTA3NywyOCBAQAogCiBzdGF0aWMgdm9pZCBhaGNpX3N0YXJ0X3BvcnQoc3RydWN0IGF0YV9wb3J0ICphcCkKIHsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCiAJLyogZW5hYmxlIEZJUyByZWNlcHRpb24gKi8KIAlhaGNpX3N0YXJ0X2Zpc19yeChhcCk7CiAKIAkvKiBlbmFibGUgRE1BICovCiAJYWhjaV9zdGFydF9lbmdpbmUoYXApOworCisJLyogdHVybiBvbiBMRURzICovCisJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKSB7CisJCWF0YV9wb3J0X2Zvcl9lYWNoX2xpbmsobGluaywgYXApIHsKKwkJCWVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCQkJYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgZW1wLT5sZWRfc3RhdGUsIDQpOworCQl9CisJfQorCisJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NXX0FDVElWSVRZKQorCQlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKQorCQkJYWhjaV9pbml0X3N3X2FjdGl2aXR5KGxpbmspOworCiB9CiAKIHN0YXRpYyBpbnQgYWhjaV9kZWluaXRfcG9ydChzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjb25zdCBjaGFyICoqZW1zZykKQEAgLTEwNzksMTIgKzExNDIsMTUgQEAKIAkJCXJlYWRsKG1taW8gKyBIT1NUX0NUTCk7IC8qIGZsdXNoICovCiAJCX0KIAotCQkvKiByZXNldCBtdXN0IGNvbXBsZXRlIHdpdGhpbiAxIHNlY29uZCwgb3IKKwkJLyoKKwkJICogdG8gcGVyZm9ybSBob3N0IHJlc2V0LCBPUyBzaG91bGQgc2V0IEhPU1RfUkVTRVQKKwkJICogYW5kIHBvbGwgdW50aWwgdGhpcyBiaXQgaXMgcmVhZCB0byBiZSAiMCIuCisJCSAqIHJlc2V0IG11c3QgY29tcGxldGUgd2l0aGluIDEgc2Vjb25kLCBvcgogCQkgKiB0aGUgaGFyZHdhcmUgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZnJpZWQuCiAJCSAqLwotCQlzc2xlZXAoMSk7CisJCXRtcCA9IGF0YV93YWl0X3JlZ2lzdGVyKG1taW8gKyBIT1NUX0NUTCwgSE9TVF9SRVNFVCwKKwkJCQkJSE9TVF9SRVNFVCwgMTAsIDEwMDApOwogCi0JCXRtcCA9IHJlYWRsKG1taW8gKyBIT1NUX0NUTCk7CiAJCWlmICh0bXAgJiBIT1NUX1JFU0VUKSB7CiAJCQlkZXZfcHJpbnRrKEtFUk5fRVJSLCBob3N0LT5kZXYsCiAJCQkJICAgImNvbnRyb2xsZXIgcmVzZXQgZmFpbGVkICgweCV4KVxuIiwgdG1wKTsKQEAgLTExMTYsNiArMTE4MiwyMzAgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgYWhjaV9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspCit7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCisJaWYgKCEobGluay0+ZmxhZ3MgJiBBVEFfTEZMQUdfU1dfQUNUSVZJVFkpKQorCQlyZXR1cm47CisKKwllbXAtPmFjdGl2aXR5Kys7CisJaWYgKCF0aW1lcl9wZW5kaW5nKCZlbXAtPnRpbWVyKSkKKwkJbW9kX3RpbWVyKCZlbXAtPnRpbWVyLCBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxMCkpOworfQorCitzdGF0aWMgdm9pZCBhaGNpX3N3X2FjdGl2aXR5X2JsaW5rKHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IChzdHJ1Y3QgYXRhX2xpbmsgKilhcmc7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCXVuc2lnbmVkIGxvbmcgbGVkX21lc3NhZ2UgPSBlbXAtPmxlZF9zdGF0ZTsKKwl1MzIgYWN0aXZpdHlfbGVkX3N0YXRlOworCisJbGVkX21lc3NhZ2UgJj0gMHhmZmZmMDAwMDsKKwlsZWRfbWVzc2FnZSB8PSBhcC0+cG9ydF9ubyB8IChsaW5rLT5wbXAgPDwgOCk7CisKKwkvKiBjaGVjayB0byBzZWUgaWYgd2UndmUgaGFkIGFjdGl2aXR5LiAgSWYgc28sCisJICogdG9nZ2xlIHN0YXRlIG9mIExFRCBhbmQgcmVzZXQgdGltZXIuICBJZiBub3QsCisJICogdHVybiBMRUQgdG8gZGVzaXJlZCBpZGxlIHN0YXRlLgorCSAqLworCWlmIChlbXAtPnNhdmVkX2FjdGl2aXR5ICE9IGVtcC0+YWN0aXZpdHkpIHsKKwkJZW1wLT5zYXZlZF9hY3Rpdml0eSA9IGVtcC0+YWN0aXZpdHk7CisJCS8qIGdldCB0aGUgY3VycmVudCBMRUQgc3RhdGUgKi8KKwkJYWN0aXZpdHlfbGVkX3N0YXRlID0gbGVkX21lc3NhZ2UgJiAweDAwMDEwMDAwOworCisJCWlmIChhY3Rpdml0eV9sZWRfc3RhdGUpCisJCQlhY3Rpdml0eV9sZWRfc3RhdGUgPSAwOworCQllbHNlCisJCQlhY3Rpdml0eV9sZWRfc3RhdGUgPSAxOworCisJCS8qIGNsZWFyIG9sZCBzdGF0ZSAqLworCQlsZWRfbWVzc2FnZSAmPSAweGZmZjhmZmZmOworCisJCS8qIHRvZ2dsZSBzdGF0ZSAqLworCQlsZWRfbWVzc2FnZSB8PSAoYWN0aXZpdHlfbGVkX3N0YXRlIDw8IDE2KTsKKwkJbW9kX3RpbWVyKCZlbXAtPnRpbWVyLCBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxMDApKTsKKwl9IGVsc2UgeworCQkvKiBzd2l0Y2ggdG8gaWRsZSAqLworCQlsZWRfbWVzc2FnZSAmPSAweGZmZjhmZmZmOworCQlpZiAoZW1wLT5ibGlua19wb2xpY3kgPT0gQkxJTktfT0ZGKQorCQkJbGVkX21lc3NhZ2UgfD0gKDEgPDwgMTYpOworCX0KKwlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBsZWRfbWVzc2FnZSwgNCk7Cit9CisKK3N0YXRpYyB2b2lkIGFoY2lfaW5pdF9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspCit7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCisJLyogaW5pdCBhY3Rpdml0eSBzdGF0cywgc2V0dXAgdGltZXIgKi8KKwllbXAtPnNhdmVkX2FjdGl2aXR5ID0gZW1wLT5hY3Rpdml0eSA9IDA7CisJc2V0dXBfdGltZXIoJmVtcC0+dGltZXIsIGFoY2lfc3dfYWN0aXZpdHlfYmxpbmssICh1bnNpZ25lZCBsb25nKWxpbmspOworCisJLyogY2hlY2sgb3VyIGJsaW5rIHBvbGljeSBhbmQgc2V0IGZsYWcgZm9yIGxpbmsgaWYgaXQncyBlbmFibGVkICovCisJaWYgKGVtcC0+YmxpbmtfcG9saWN5KQorCQlsaW5rLT5mbGFncyB8PSBBVEFfTEZMQUdfU1dfQUNUSVZJVFk7Cit9CisKK3N0YXRpYyBpbnQgYWhjaV9yZXNldF9lbShzdHJ1Y3QgYXRhX2hvc3QgKmhvc3QpCit7CisJdm9pZCBfX2lvbWVtICptbWlvID0gaG9zdC0+aW9tYXBbQUhDSV9QQ0lfQkFSXTsKKwl1MzIgZW1fY3RsOworCisJZW1fY3RsID0gcmVhZGwobW1pbyArIEhPU1RfRU1fQ1RMKTsKKwlpZiAoKGVtX2N0bCAmIEVNX0NUTF9UTSkgfHwgKGVtX2N0bCAmIEVNX0NUTF9SU1QpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXdyaXRlbChlbV9jdGwgfCBFTV9DVExfUlNULCBtbWlvICsgSE9TVF9FTV9DVEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIHUzMiBzdGF0ZSwKKwkJCQkJc3NpemVfdCBzaXplKQoreworCXN0cnVjdCBhaGNpX2hvc3RfcHJpdiAqaHByaXYgPSBhcC0+aG9zdC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXZvaWQgX19pb21lbSAqbW1pbyA9IGFwLT5ob3N0LT5pb21hcFtBSENJX1BDSV9CQVJdOworCXUzMiBlbV9jdGw7CisJdTMyIG1lc3NhZ2VbXSA9IHswLCAwfTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7CisJaW50IHBtcDsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXA7CisKKwkvKiBnZXQgdGhlIHNsb3QgbnVtYmVyIGZyb20gdGhlIG1lc3NhZ2UgKi8KKwlwbXAgPSAoc3RhdGUgJiAweDAwMDBmZjAwKSA+PiA4OworCWlmIChwbXAgPCBNQVhfU0xPVFMpCisJCWVtcCA9ICZwcC0+ZW1fcHJpdltwbXBdOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZShhcC0+bG9jaywgZmxhZ3MpOworCisJLyoKKwkgKiBpZiB3ZSBhcmUgc3RpbGwgYnVzeSB0cmFuc21pdHRpbmcgYSBwcmV2aW91cyBtZXNzYWdlLAorCSAqIGRvIG5vdCBhbGxvdworCSAqLworCWVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisJaWYgKGVtX2N0bCAmIEVNX0NUTF9UTSkgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGFwLT5sb2NrLCBmbGFncyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qCisJICogY3JlYXRlIG1lc3NhZ2UgaGVhZGVyIC0gdGhpcyBpcyBhbGwgemVybyBleGNlcHQgZm9yCisJICogdGhlIG1lc3NhZ2Ugc2l6ZSwgd2hpY2ggaXMgNCBieXRlcy4KKwkgKi8KKwltZXNzYWdlWzBdIHw9ICg0IDw8IDgpOworCisJLyogaWdub3JlIDA6NCBvZiBieXRlIHplcm8sIGZpbGwgaW4gcG9ydCBpbmZvIHlvdXJzZWxmICovCisJbWVzc2FnZVsxXSA9ICgoc3RhdGUgJiAweGZmZmZmZmYwKSB8IGFwLT5wb3J0X25vKTsKKworCS8qIHdyaXRlIG1lc3NhZ2UgdG8gRU1fTE9DICovCisJd3JpdGVsKG1lc3NhZ2VbMF0sIG1taW8gKyBocHJpdi0+ZW1fbG9jKTsKKwl3cml0ZWwobWVzc2FnZVsxXSwgbW1pbyArIGhwcml2LT5lbV9sb2MrNCk7CisKKwkvKiBzYXZlIG9mZiBuZXcgbGVkIHN0YXRlIGZvciBwb3J0L3Nsb3QgKi8KKwllbXAtPmxlZF9zdGF0ZSA9IG1lc3NhZ2VbMV07CisKKwkvKgorCSAqIHRlbGwgaGFyZHdhcmUgdG8gdHJhbnNtaXQgdGhlIG1lc3NhZ2UKKwkgKi8KKwl3cml0ZWwoZW1fY3RsIHwgRU1fQ1RMX1RNLCBtbWlvICsgSE9TVF9FTV9DVEwpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2xlZF9zaG93KHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCWludCByYyA9IDA7CisKKwlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKSB7CisJCWVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCQlyYyArPSBzcHJpbnRmKGJ1ZiwgIiVseFxuIiwgZW1wLT5sZWRfc3RhdGUpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3N0b3JlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCQlzaXplX3Qgc2l6ZSkKK3sKKwlpbnQgc3RhdGU7CisJaW50IHBtcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXA7CisKKwlzdGF0ZSA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CisKKwkvKiBnZXQgdGhlIHNsb3QgbnVtYmVyIGZyb20gdGhlIG1lc3NhZ2UgKi8KKwlwbXAgPSAoc3RhdGUgJiAweDAwMDBmZjAwKSA+PiA4OworCWlmIChwbXAgPCBNQVhfU0xPVFMpCisJCWVtcCA9ICZwcC0+ZW1fcHJpdltwbXBdOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBtYXNrIG9mZiB0aGUgYWN0aXZpdHkgYml0cyBpZiB3ZSBhcmUgaW4gc3dfYWN0aXZpdHkKKwkgKiBtb2RlLCB1c2VyIHNob3VsZCB0dXJuIG9mZiBzd19hY3Rpdml0eSBiZWZvcmUgc2V0dGluZworCSAqIGFjdGl2aXR5IGxlZCB0aHJvdWdoIGVtX21lc3NhZ2UKKwkgKi8KKwlpZiAoZW1wLT5ibGlua19wb2xpY3kpCisJCXN0YXRlICY9IDB4ZmZmOGZmZmY7CisKKwlyZXR1cm4gYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgc3RhdGUsIHNpemUpOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGVudW0gc3dfYWN0aXZpdHkgdmFsKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IGRldi0+bGluazsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gbGluay0+YXA7CisJc3RydWN0IGFoY2lfcG9ydF9wcml2ICpwcCA9IGFwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wID0gJnBwLT5lbV9wcml2W2xpbmstPnBtcF07CisJdTMyIHBvcnRfbGVkX3N0YXRlID0gZW1wLT5sZWRfc3RhdGU7CisKKwkvKiBzYXZlIHRoZSBkZXNpcmVkIEFjdGl2aXR5IExFRCBiZWhhdmlvciAqLworCWlmICh2YWwgPT0gT0ZGKSB7CisJCS8qIGNsZWFyIExGTEFHICovCisJCWxpbmstPmZsYWdzICY9IH4oQVRBX0xGTEFHX1NXX0FDVElWSVRZKTsKKworCQkvKiBzZXQgdGhlIExFRCB0byBPRkYgKi8KKwkJcG9ydF9sZWRfc3RhdGUgJj0gMHhmZmY4MDAwMDsKKwkJcG9ydF9sZWRfc3RhdGUgfD0gKGFwLT5wb3J0X25vIHwgKGxpbmstPnBtcCA8PCA4KSk7CisJCWFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2UoYXAsIHBvcnRfbGVkX3N0YXRlLCA0KTsKKwl9IGVsc2UgeworCQlsaW5rLT5mbGFncyB8PSBBVEFfTEZMQUdfU1dfQUNUSVZJVFk7CisJCWlmICh2YWwgPT0gQkxJTktfT0ZGKSB7CisJCQkvKiBzZXQgTEVEIHRvIE9OIGZvciBpZGxlICovCisJCQlwb3J0X2xlZF9zdGF0ZSAmPSAweGZmZjgwMDAwOworCQkJcG9ydF9sZWRfc3RhdGUgfD0gKGFwLT5wb3J0X25vIHwgKGxpbmstPnBtcCA8PCA4KSk7CisJCQlwb3J0X2xlZF9zdGF0ZSB8PSAweDAwMDEwMDAwOyAvKiBjaGVjayB0aGlzICovCisJCQlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBwb3J0X2xlZF9zdGF0ZSwgNCk7CisJCX0KKwl9CisJZW1wLT5ibGlua19wb2xpY3kgPSB2YWw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFoY2lfYWN0aXZpdHlfc2hvdyhzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBjaGFyICpidWYpCit7CisJc3RydWN0IGF0YV9saW5rICpsaW5rID0gZGV2LT5saW5rOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBsaW5rLT5hcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKworCS8qIGRpc3BsYXkgdGhlIHNhdmVkIHZhbHVlIG9mIGFjdGl2aXR5IGJlaGF2aW9yIGZvciB0aGlzCisJICogZGlzay4KKwkgKi8KKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgZW1wLT5ibGlua19wb2xpY3kpOworfQorCiBzdGF0aWMgdm9pZCBhaGNpX3BvcnRfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgc3RydWN0IGF0YV9wb3J0ICphcCwKIAkJCSAgIGludCBwb3J0X25vLCB2b2lkIF9faW9tZW0gKm1taW8sCiAJCQkgICB2b2lkIF9faW9tZW0gKnBvcnRfbW1pbykKQEAgLTE4NDYsNyArMjEzNiw4IEBACiAJaWYgKHFjLT50Zi5wcm90b2NvbCA9PSBBVEFfUFJPVF9OQ1EpCiAJCXdyaXRlbCgxIDw8IHFjLT50YWcsIHBvcnRfbW1pbyArIFBPUlRfU0NSX0FDVCk7CiAJd3JpdGVsKDEgPDwgcWMtPnRhZywgcG9ydF9tbWlvICsgUE9SVF9DTURfSVNTVUUpOwotCXJlYWRsKHBvcnRfbW1pbyArIFBPUlRfQ01EX0lTU1VFKTsJLyogZmx1c2ggKi8KKworCWFoY2lfc3dfYWN0aXZpdHkocWMtPmRldi0+bGluayk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIxNTQsNyArMjQ0NSw4IEBACiAJZGV2X3ByaW50ayhLRVJOX0lORk8sICZwZGV2LT5kZXYsCiAJCSJmbGFnczogIgogCQkiJXMlcyVzJXMlcyVzJXMiCi0JCSIlcyVzJXMlcyVzJXMlc1xuIgorCQkiJXMlcyVzJXMlcyVzJXMiCisJCSIlc1xuIgogCQksCiAKIAkJY2FwICYgKDEgPDwgMzEpID8gIjY0Yml0ICIgOiAiIiwKQEAgLTIxNzEsNyArMjQ2Myw4IEBACiAJCWNhcCAmICgxIDw8IDE3KSA/ICJwbXAgIiA6ICIiLAogCQljYXAgJiAoMSA8PCAxNSkgPyAicGlvICIgOiAiIiwKIAkJY2FwICYgKDEgPDwgMTQpID8gInNsdW0gIiA6ICIiLAotCQljYXAgJiAoMSA8PCAxMykgPyAicGFydCAiIDogIiIKKwkJY2FwICYgKDEgPDwgMTMpID8gInBhcnQgIiA6ICIiLAorCQljYXAgJiAoMSA8PCA2KSA/ICJlbXMgIjogIiIKIAkJKTsKIH0KIApAQCAtMjI5MSw2ICsyNTg0LDI0IEBACiAJaWYgKGhwcml2LT5jYXAgJiBIT1NUX0NBUF9QTVApCiAJCXBpLmZsYWdzIHw9IEFUQV9GTEFHX1BNUDsKIAorCWlmIChhaGNpX2VtX21lc3NhZ2VzICYmIChocHJpdi0+Y2FwICYgSE9TVF9DQVBfRU1TKSkgeworCQl1OCBtZXNzYWdlczsKKwkJdm9pZCBfX2lvbWVtICptbWlvID0gcGNpbV9pb21hcF90YWJsZShwZGV2KVtBSENJX1BDSV9CQVJdOworCQl1MzIgZW1fbG9jID0gcmVhZGwobW1pbyArIEhPU1RfRU1fTE9DKTsKKwkJdTMyIGVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisKKwkJbWVzc2FnZXMgPSAoZW1fY3RsICYgMHgwMDBmMDAwMCkgPj4gMTY7CisKKwkJLyogd2Ugb25seSBzdXBwb3J0IExFRCBtZXNzYWdlIHR5cGUgcmlnaHQgbm93ICovCisJCWlmICgobWVzc2FnZXMgJiAweDAxKSAmJiAoYWhjaV9lbV9tZXNzYWdlcyA9PSAxKSkgeworCQkJLyogc3RvcmUgZW1fbG9jICovCisJCQlocHJpdi0+ZW1fbG9jID0gKChlbV9sb2MgPj4gMTYpICogNCk7CisJCQlwaS5mbGFncyB8PSBBVEFfRkxBR19FTTsKKwkJCWlmICghKGVtX2N0bCAmIEVNX0NUTF9BTEhEKSkKKwkJCQlwaS5mbGFncyB8PSBBVEFfRkxBR19TV19BQ1RJVklUWTsKKwkJfQorCX0KKwogCS8qIENBUC5OUCBzb21ldGltZXMgaW5kaWNhdGUgdGhlIGluZGV4IG9mIHRoZSBsYXN0IGVuYWJsZWQKIAkgKiBwb3J0LCBhdCBvdGhlciB0aW1lcywgdGhhdCBvZiB0aGUgbGFzdCBwb3NzaWJsZSBwb3J0LCBzbwogCSAqIGRldGVybWluaW5nIHRoZSBtYXhpbXVtIHBvcnQgbnVtYmVyIHJlcXVpcmVzIGxvb2tpbmcgYXQKQEAgLTIzMDQsNiArMjYxNSw5IEBACiAJaG9zdC0+aW9tYXAgPSBwY2ltX2lvbWFwX3RhYmxlKHBkZXYpOwogCWhvc3QtPnByaXZhdGVfZGF0YSA9IGhwcml2OwogCisJaWYgKHBpLmZsYWdzICYgQVRBX0ZMQUdfRU0pCisJCWFoY2lfcmVzZXRfZW0oaG9zdCk7CisKIAlmb3IgKGkgPSAwOyBpIDwgaG9zdC0+bl9wb3J0czsgaSsrKSB7CiAJCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBob3N0LT5wb3J0c1tpXTsKIApAQCAtMjMxNCw2ICsyNjI4LDExIEBACiAJCS8qIHNldCBpbml0aWFsIGxpbmsgcG0gcG9saWN5ICovCiAJCWFwLT5wbV9wb2xpY3kgPSBOT1RfQVZBSUxBQkxFOwogCisJCS8qIHNldCBlbmNsb3N1cmUgbWFuYWdlbWVudCBtZXNzYWdlIHR5cGUgKi8KKwkJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKQorCQkJYXAtPmVtX21lc3NhZ2VfdHlwZSA9IGFoY2lfZW1fbWVzc2FnZXM7CisKKwogCQkvKiBkaXNhYmxlZC9ub3QtaW1wbGVtZW50ZWQgcG9ydCAqLwogCQlpZiAoIShocHJpdi0+cG9ydF9tYXAgJiAoMSA8PCBpKSkpCiAJCQlhcC0+b3BzID0gJmF0YV9kdW1teV9wb3J0X29wczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1hY3BpLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtYWNwaS5jCmluZGV4IDNmZjhiMTQuLjkzMzBiNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS1hY3BpLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLWFjcGkuYwpAQCAtMjksMTQgKzI5LDE2IEBACiBlbnVtIHsKIAlBVEFfQUNQSV9GSUxURVJfU0VUWEZFUgk9IDEgPDwgMCwKIAlBVEFfQUNQSV9GSUxURVJfTE9DSwk9IDEgPDwgMSwKKwlBVEFfQUNQSV9GSUxURVJfRElQTQk9IDEgPDwgMiwKIAogCUFUQV9BQ1BJX0ZJTFRFUl9ERUZBVUxUCT0gQVRBX0FDUElfRklMVEVSX1NFVFhGRVIgfAotCQkJCSAgQVRBX0FDUElfRklMVEVSX0xPQ0ssCisJCQkJICBBVEFfQUNQSV9GSUxURVJfTE9DSyB8CisJCQkJICBBVEFfQUNQSV9GSUxURVJfRElQTSwKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYXRhX2FjcGlfZ3RmX2ZpbHRlciA9IEFUQV9BQ1BJX0ZJTFRFUl9ERUZBVUxUOwogbW9kdWxlX3BhcmFtX25hbWVkKGFjcGlfZ3RmX2ZpbHRlciwgYXRhX2FjcGlfZ3RmX2ZpbHRlciwgaW50LCAwNjQ0KTsKLU1PRFVMRV9QQVJNX0RFU0MoYWNwaV9ndGZfZmlsdGVyLCAiZmlsdGVyIG1hc2sgZm9yIEFDUEkgX0dURiBjb21tYW5kcywgc2V0IHRvIGZpbHRlciBvdXQgKDB4MT1zZXQgeGZlcm1vZGUsIDB4Mj1sb2NrL2ZyZWV6ZSBsb2NrKSIpOworTU9EVUxFX1BBUk1fREVTQyhhY3BpX2d0Zl9maWx0ZXIsICJmaWx0ZXIgbWFzayBmb3IgQUNQSSBfR1RGIGNvbW1hbmRzLCBzZXQgdG8gZmlsdGVyIG91dCAoMHgxPXNldCB4ZmVybW9kZSwgMHgyPWxvY2svZnJlZXplIGxvY2ssIDB4ND1ESVBNKSIpOwogCiAjZGVmaW5lIE5PX1BPUlRfTVVMVAkJMHhmZmZmCiAjZGVmaW5lIFNBVEFfQURSKHJvb3QsIHBtcCkJKCgocm9vdCkgPDwgMTYpIHwgKHBtcCkpCkBAIC0xOTUsNiArMTk3LDEwIEBACiAJCS8qIFRoaXMgZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgaG90cGx1ZyAqLwogCQlyZXR1cm47CiAKKwlpZiAoZXZlbnQgPT0gQUNQSV9OT1RJRllfQlVTX0NIRUNLIHx8CisJICAgIGV2ZW50ID09IEFDUElfTk9USUZZX0RFVklDRV9DSEVDSykKKwkJc3RhdHVzID0gYWNwaV9ldmFsdWF0ZV9pbnRlZ2VyKGhhbmRsZSwgIl9TVEEiLCBOVUxMLCAmc3RhKTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKGFwLT5sb2NrLCBmbGFncyk7CiAKIAlzd2l0Y2ggKGV2ZW50KSB7CkBAIC0yMDIsNyArMjA4LDYgQEAKIAljYXNlIEFDUElfTk9USUZZX0RFVklDRV9DSEVDSzoKIAkJYXRhX2VoaV9wdXNoX2Rlc2MoZWhpLCAiQUNQSSBldmVudCIpOwogCi0JCXN0YXR1cyA9IGFjcGlfZXZhbHVhdGVfaW50ZWdlcihoYW5kbGUsICJfU1RBIiwgTlVMTCwgJnN0YSk7CiAJCWlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewogCQkJYXRhX3BvcnRfcHJpbnRrKGFwLCBLRVJOX0VSUiwKIAkJCQkiYWNwaTogZmFpbGVkIHRvIGRldGVybWluZSBiYXkgc3RhdHVzICgweCV4KVxuIiwKQEAgLTY5MCw2ICs2OTUsMTQgQEAKIAkJCXJldHVybiAxOwogCX0KIAorCWlmIChhdGFfYWNwaV9ndGZfZmlsdGVyICYgQVRBX0FDUElfRklMVEVSX0RJUE0pIHsKKwkJLyogaW5oaWJpdCBlbmFibGluZyBESVBNICovCisJCWlmICh0Zi0+Y29tbWFuZCA9PSBBVEFfQ01EX1NFVF9GRUFUVVJFUyAmJgorCQkgICAgdGYtPmZlYXR1cmUgPT0gU0VURkVBVFVSRVNfU0FUQV9FTkFCTEUgJiYKKwkJICAgIHRmLT5uc2VjdCA9PSBTQVRBX0RJUE0pCisJCQlyZXR1cm4gMTsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvbGliYXRhLWNvcmUuYyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1jb3JlLmMKaW5kZXggMzAzZmMwZC4uOWJlZjFhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLWNvcmUuYworKysgYi9kcml2ZXJzL2F0YS9saWJhdGEtY29yZS5jCkBAIC01NCw3ICs1NCw2IEBACiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KLSNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgpAQCAtMTQ1LDcgKzE0NCw3IEBACiBtb2R1bGVfcGFyYW1fbmFtZWQoZG1hLCBsaWJhdGFfZG1hX21hc2ssIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGRtYSwgIkRNQSBlbmFibGUvZGlzYWJsZSAoMHgxPT1BVEEsIDB4Mj09QVRBUEksIDB4ND09Q0YpIik7CiAKLXN0YXRpYyBpbnQgYXRhX3Byb2JlX3RpbWVvdXQgPSBBVEFfVE1PVVRfSU5URVJOQUwgLyBIWjsKK3N0YXRpYyBpbnQgYXRhX3Byb2JlX3RpbWVvdXQ7CiBtb2R1bGVfcGFyYW0oYXRhX3Byb2JlX3RpbWVvdXQsIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGF0YV9wcm9iZV90aW1lb3V0LCAiU2V0IEFUQSBwcm9iaW5nIHRpbWVvdXQgKHNlY29uZHMpIik7CiAKQEAgLTE1MzMsNyArMTUzMiw3IEBACiAgKglAYXA6IFRoZSBhdGFfcG9ydCB0byBxdWV1ZSBwb3J0X3Rhc2sgZm9yCiAgKglAZm46IHdvcmtxdWV1ZSBmdW5jdGlvbiB0byBiZSBzY2hlZHVsZWQKICAqCUBkYXRhOiBkYXRhIGZvciBAZm4gdG8gdXNlCi0gKglAZGVsYXk6IGRlbGF5IHRpbWUgZm9yIHdvcmtxdWV1ZSBmdW5jdGlvbgorICoJQGRlbGF5OiBkZWxheSB0aW1lIGluIG1zZWNzIGZvciB3b3JrcXVldWUgZnVuY3Rpb24KICAqCiAgKglTY2hlZHVsZSBAZm4oQGRhdGEpIGZvciBleGVjdXRpb24gYWZ0ZXIgQGRlbGF5IGppZmZpZXMgdXNpbmcKICAqCXBvcnRfdGFzay4gIFRoZXJlIGlzIG9uZSBwb3J0X3Rhc2sgcGVyIHBvcnQgYW5kIGl0J3MgdGhlCkBAIC0xNTUyLDcgKzE1NTEsNyBAQAogCWFwLT5wb3J0X3Rhc2tfZGF0YSA9IGRhdGE7CiAKIAkvKiBtYXkgZmFpbCBpZiBhdGFfcG9ydF9mbHVzaF90YXNrKCkgaW4gcHJvZ3Jlc3MgKi8KLQlxdWV1ZV9kZWxheWVkX3dvcmsoYXRhX3dxLCAmYXAtPnBvcnRfdGFzaywgZGVsYXkpOworCXF1ZXVlX2RlbGF5ZWRfd29yayhhdGFfd3EsICZhcC0+cG9ydF90YXNrLCBtc2Vjc190b19qaWZmaWVzKGRlbGF5KSk7CiB9CiAKIC8qKgpAQCAtMTYxMiw2ICsxNjExLDcgQEAKIAlzdHJ1Y3QgYXRhX2xpbmsgKmxpbmsgPSBkZXYtPmxpbms7CiAJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOwogCXU4IGNvbW1hbmQgPSB0Zi0+Y29tbWFuZDsKKwlpbnQgYXV0b190aW1lb3V0ID0gMDsKIAlzdHJ1Y3QgYXRhX3F1ZXVlZF9jbWQgKnFjOwogCXVuc2lnbmVkIGludCB0YWcsIHByZWVtcHRlZF90YWc7CiAJdTMyIHByZWVtcHRlZF9zYWN0aXZlLCBwcmVlbXB0ZWRfcWNfYWN0aXZlOwpAQCAtMTY4NCw4ICsxNjg0LDE0IEBACiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKGFwLT5sb2NrLCBmbGFncyk7CiAKLQlpZiAoIXRpbWVvdXQpCi0JCXRpbWVvdXQgPSBhdGFfcHJvYmVfdGltZW91dCAqIDEwMDAgLyBIWjsKKwlpZiAoIXRpbWVvdXQpIHsKKwkJaWYgKGF0YV9wcm9iZV90aW1lb3V0KQorCQkJdGltZW91dCA9IGF0YV9wcm9iZV90aW1lb3V0ICogMTAwMDsKKwkJZWxzZSB7CisJCQl0aW1lb3V0ID0gYXRhX2ludGVybmFsX2NtZF90aW1lb3V0KGRldiwgY29tbWFuZCk7CisJCQlhdXRvX3RpbWVvdXQgPSAxOworCQl9CisJfQogCiAJcmMgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoJndhaXQsIG1zZWNzX3RvX2ppZmZpZXModGltZW91dCkpOwogCkBAIC0xNzYxLDYgKzE3NjcsOSBAQAogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOwogCisJaWYgKChlcnJfbWFzayAmIEFDX0VSUl9USU1FT1VUKSAmJiBhdXRvX3RpbWVvdXQpCisJCWF0YV9pbnRlcm5hbF9jbWRfdGltZWRfb3V0KGRldiwgY29tbWFuZCk7CisKIAlyZXR1cm4gZXJyX21hc2s7CiB9CiAKQEAgLTMzMTksNyArMzMyOCw3IEBACiAJCSAgIGludCAoKmNoZWNrX3JlYWR5KShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBqaWZmaWVzOwotCXVuc2lnbmVkIGxvbmcgbm9kZXZfZGVhZGxpbmUgPSBzdGFydCArIEFUQV9UTU9VVF9GRl9XQUlUOworCXVuc2lnbmVkIGxvbmcgbm9kZXZfZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoc3RhcnQsIEFUQV9UTU9VVF9GRl9XQUlUKTsKIAlpbnQgd2FybmVkID0gMDsKIAogCWlmICh0aW1lX2FmdGVyKG5vZGV2X2RlYWRsaW5lLCBkZWFkbGluZSkpCkBAIC0zMzg3LDcgKzMzOTYsNyBAQAogaW50IGF0YV93YWl0X2FmdGVyX3Jlc2V0KHN0cnVjdCBhdGFfbGluayAqbGluaywgdW5zaWduZWQgbG9uZyBkZWFkbGluZSwKIAkJCQlpbnQgKCpjaGVja19yZWFkeSkoc3RydWN0IGF0YV9saW5rICpsaW5rKSkKIHsKLQltc2xlZXAoQVRBX1dBSVRfQUZURVJfUkVTRVRfTVNFQ1MpOworCW1zbGVlcChBVEFfV0FJVF9BRlRFUl9SRVNFVCk7CiAKIAlyZXR1cm4gYXRhX3dhaXRfcmVhZHkobGluaywgZGVhZGxpbmUsIGNoZWNrX3JlYWR5KTsKIH0KQEAgLTM0MTcsMTMgKzM0MjYsMTMgQEAKIGludCBzYXRhX2xpbmtfZGVib3VuY2Uoc3RydWN0IGF0YV9saW5rICpsaW5rLCBjb25zdCB1bnNpZ25lZCBsb25nICpwYXJhbXMsCiAJCSAgICAgICB1bnNpZ25lZCBsb25nIGRlYWRsaW5lKQogewotCXVuc2lnbmVkIGxvbmcgaW50ZXJ2YWxfbXNlYyA9IHBhcmFtc1swXTsKLQl1bnNpZ25lZCBsb25nIGR1cmF0aW9uID0gbXNlY3NfdG9famlmZmllcyhwYXJhbXNbMV0pOworCXVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwgPSBwYXJhbXNbMF07CisJdW5zaWduZWQgbG9uZyBkdXJhdGlvbiA9IHBhcmFtc1sxXTsKIAl1bnNpZ25lZCBsb25nIGxhc3RfamlmZmllcywgdDsKIAl1MzIgbGFzdCwgY3VyOwogCWludCByYzsKIAotCXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyhwYXJhbXNbMl0pOworCXQgPSBhdGFfZGVhZGxpbmUoamlmZmllcywgcGFyYW1zWzJdKTsKIAlpZiAodGltZV9iZWZvcmUodCwgZGVhZGxpbmUpKQogCQlkZWFkbGluZSA9IHQ7CiAKQEAgLTM0MzUsNyArMzQ0NCw3IEBACiAJbGFzdF9qaWZmaWVzID0gamlmZmllczsKIAogCXdoaWxlICgxKSB7Ci0JCW1zbGVlcChpbnRlcnZhbF9tc2VjKTsKKwkJbXNsZWVwKGludGVydmFsKTsKIAkJaWYgKChyYyA9IHNhdGFfc2NyX3JlYWQobGluaywgU0NSX1NUQVRVUywgJmN1cikpKQogCQkJcmV0dXJuIHJjOwogCQljdXIgJj0gMHhmOwpAQCAtMzQ0NCw3ICszNDUzLDggQEAKIAkJaWYgKGN1ciA9PSBsYXN0KSB7CiAJCQlpZiAoY3VyID09IDEgJiYgdGltZV9iZWZvcmUoamlmZmllcywgZGVhZGxpbmUpKQogCQkJCWNvbnRpbnVlOwotCQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgbGFzdF9qaWZmaWVzICsgZHVyYXRpb24pKQorCQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywKKwkJCQkgICAgICAgYXRhX2RlYWRsaW5lKGxhc3RfamlmZmllcywgZHVyYXRpb24pKSkKIAkJCQlyZXR1cm4gMDsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0zNjM2LDcgKzM2NDYsOCBAQAogCQlpZiAoY2hlY2tfcmVhZHkpIHsKIAkJCXVuc2lnbmVkIGxvbmcgcG1wX2RlYWRsaW5lOwogCi0JCQlwbXBfZGVhZGxpbmUgPSBqaWZmaWVzICsgQVRBX1RNT1VUX1BNUF9TUlNUX1dBSVQ7CisJCQlwbXBfZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoamlmZmllcywKKwkJCQkJCSAgICBBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVCk7CiAJCQlpZiAodGltZV9hZnRlcihwbXBfZGVhZGxpbmUsIGRlYWRsaW5lKSkKIAkJCQlwbXBfZGVhZGxpbmUgPSBkZWFkbGluZTsKIAkJCWF0YV93YWl0X3JlYWR5KGxpbmssIHBtcF9kZWFkbGluZSwgY2hlY2tfcmVhZHkpOwpAQCAtNjA3Myw4ICs2MDg0LDYgQEAKIAogc3RhdGljIGludCBfX2luaXQgYXRhX2luaXQodm9pZCkKIHsKLQlhdGFfcHJvYmVfdGltZW91dCAqPSBIWjsKLQogCWF0YV9wYXJzZV9mb3JjZV9wYXJhbSgpOwogCiAJYXRhX3dxID0gY3JlYXRlX3dvcmtxdWV1ZSgiYXRhIik7CkBAIC02MTI3LDggKzYxMzYsOCBAQAogICoJQHJlZzogSU8tbWFwcGVkIHJlZ2lzdGVyCiAgKglAbWFzazogTWFzayB0byBhcHBseSB0byByZWFkIHJlZ2lzdGVyIHZhbHVlCiAgKglAdmFsOiBXYWl0IGNvbmRpdGlvbgotICoJQGludGVydmFsX21zZWM6IHBvbGxpbmcgaW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzCi0gKglAdGltZW91dF9tc2VjOiB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcworICoJQGludGVydmFsOiBwb2xsaW5nIGludGVydmFsIGluIG1pbGxpc2Vjb25kcworICoJQHRpbWVvdXQ6IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzCiAgKgogICoJV2FpdGluZyBmb3Igc29tZSBiaXRzIG9mIHJlZ2lzdGVyIHRvIGNoYW5nZSBpcyBhIGNvbW1vbgogICoJb3BlcmF0aW9uIGZvciBBVEEgY29udHJvbGxlcnMuICBUaGlzIGZ1bmN0aW9uIHJlYWRzIDMyYml0IExFCkBAIC02MTQ2LDEwICs2MTU1LDkgQEAKICAqCVRoZSBmaW5hbCByZWdpc3RlciB2YWx1ZS4KICAqLwogdTMyIGF0YV93YWl0X3JlZ2lzdGVyKHZvaWQgX19pb21lbSAqcmVnLCB1MzIgbWFzaywgdTMyIHZhbCwKLQkJICAgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbF9tc2VjLAotCQkgICAgICB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXNlYykKKwkJICAgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQogewotCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKKwl1bnNpZ25lZCBsb25nIGRlYWRsaW5lOwogCXUzMiB0bXA7CiAKIAl0bXAgPSBpb3JlYWQzMihyZWcpOwpAQCAtNjE1OCwxMCArNjE2NiwxMCBAQAogCSAqIHByZWNlZGluZyB3cml0ZXMgcmVhY2ggdGhlIGNvbnRyb2xsZXIgYmVmb3JlIHN0YXJ0aW5nIHRvCiAJICogZWF0IGF3YXkgdGhlIHRpbWVvdXQuCiAJICovCi0JdGltZW91dCA9IGppZmZpZXMgKyAodGltZW91dF9tc2VjICogSFopIC8gMTAwMDsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCB0aW1lb3V0KTsKIAotCXdoaWxlICgodG1wICYgbWFzaykgPT0gdmFsICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKSB7Ci0JCW1zbGVlcChpbnRlcnZhbF9tc2VjKTsKKwl3aGlsZSAoKHRtcCAmIG1hc2spID09IHZhbCAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCBkZWFkbGluZSkpIHsKKwkJbXNsZWVwKGludGVydmFsKTsKIAkJdG1wID0gaW9yZWFkMzIocmVnKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1laC5jIGIvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKaW5kZXggNzg5NGQ4My4uNThiZGM1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKQEAgLTY2LDE1ICs2NiwxOSBAQAogCUFUQV9FQ0FUX0RVQklPVVNfVE9VVF9IU00JPSA2LAogCUFUQV9FQ0FUX0RVQklPVVNfVU5LX0RFVgk9IDcsCiAJQVRBX0VDQVRfTlIJCQk9IDgsCi19OwogCi0vKiBXYWl0aW5nIGluIC0+cHJlcmVzZXQgY2FuIG5ldmVyIGJlIHJlbGlhYmxlLiAgSXQncyBzb21ldGltZXMgbmljZQotICogdG8gd2FpdCB0aGVyZSBidXQgaXQgY2FuJ3QgYmUgZGVwZW5kZWQgdXBvbjsgb3RoZXJ3aXNlLCB3ZSB3b3VsZG4ndAotICogYmUgcmVzZXR0aW5nLiAgSnVzdCBnaXZlIGl0IGVub3VnaCB0aW1lIGZvciBtb3N0IGRyaXZlcyB0byBzcGluIHVwLgotICovCi1lbnVtIHsKLQlBVEFfRUhfUFJFUkVTRVRfVElNRU9VVAkJPSAxMCAqIEhaLAotCUFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwJPSAzICogSFosCisJQVRBX0VIX0NNRF9ERkxfVElNRU9VVAkJPSAgNTAwMCwKKworCS8qIGFsd2F5cyBwdXQgYXQgbGVhc3QgdGhpcyBhbW91bnQgb2YgdGltZSBiZXR3ZWVuIHJlc2V0cyAqLworCUFUQV9FSF9SRVNFVF9DT09MX0RPV04JCT0gIDUwMDAsCisKKwkvKiBXYWl0aW5nIGluIC0+cHJlcmVzZXQgY2FuIG5ldmVyIGJlIHJlbGlhYmxlLiAgSXQncworCSAqIHNvbWV0aW1lcyBuaWNlIHRvIHdhaXQgdGhlcmUgYnV0IGl0IGNhbid0IGJlIGRlcGVuZGVkIHVwb247CisJICogb3RoZXJ3aXNlLCB3ZSB3b3VsZG4ndCBiZSByZXNldHRpbmcuICBKdXN0IGdpdmUgaXQgZW5vdWdoCisJICogdGltZSBmb3IgbW9zdCBkcml2ZXMgdG8gc3BpbiB1cC4KKwkgKi8KKwlBVEFfRUhfUFJFUkVTRVRfVElNRU9VVAkJPSAxMDAwMCwKKwlBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMCT0gIDMwMDAsCiB9OwogCiAvKiBUaGUgZm9sbG93aW5nIHRhYmxlIGRldGVybWluZXMgaG93IHdlIHNlcXVlbmNlIHJlc2V0cy4gIEVhY2ggZW50cnkKQEAgLTg0LDEzICs4OCw2MCBAQAogICogYXJlIG1vc3RseSBmb3IgZXJyb3IgaGFuZGxpbmcsIGhvdHBsdWcgYW5kIHJldGFyZGVkIGRldmljZXMuCiAgKi8KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIGF0YV9laF9yZXNldF90aW1lb3V0c1tdID0gewotCTEwICogSFosCS8qIG1vc3QgZHJpdmVzIHNwaW4gdXAgYnkgMTBzZWMgKi8KLQkxMCAqIEhaLAkvKiA+IDk5JSB3b3JraW5nIGRyaXZlcyBzcGluIHVwIGJlZm9yZSAyMHNlYyAqLwotCTM1ICogSFosCS8qIGdpdmUgPiAzMCBzZWNzIG9mIGlkbGVuZXNzIGZvciByZXRhcmRlZCBkZXZpY2VzICovCi0JNSAqIEhaLAkJLyogYW5kIHN3ZWV0IG9uZSBsYXN0IGNoYW5jZSAqLwotCS8qID4gMSBtaW4gaGFzIGVsYXBzZWQsIGdpdmUgdXAgKi8KKwkxMDAwMCwJLyogbW9zdCBkcml2ZXMgc3BpbiB1cCBieSAxMHNlYyAqLworCTEwMDAwLAkvKiA+IDk5JSB3b3JraW5nIGRyaXZlcyBzcGluIHVwIGJlZm9yZSAyMHNlYyAqLworCTM1MDAwLAkvKiBnaXZlID4gMzAgc2VjcyBvZiBpZGxlbmVzcyBmb3IgcmV0YXJkZWQgZGV2aWNlcyAqLworCSA1MDAwLAkvKiBhbmQgc3dlZXQgb25lIGxhc3QgY2hhbmNlICovCisJVUxPTkdfTUFYLCAvKiA+IDEgbWluIGhhcyBlbGFwc2VkLCBnaXZlIHVwICovCiB9OwogCitzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBhdGFfZWhfaWRlbnRpZnlfdGltZW91dHNbXSA9IHsKKwkgNTAwMCwJLyogY292ZXJzID4gOTklIG9mIHN1Y2Nlc3NlcyBhbmQgbm90IHRvbyBib3Jpbmcgb24gZmFpbHVyZXMgKi8KKwkxMDAwMCwgIC8qIGNvbWJpbmVkIHRpbWUgdGlsbCBoZXJlIGlzIGVub3VnaCBldmVuIGZvciBtZWRpYSBhY2Nlc3MgKi8KKwkzMDAwMCwJLyogZm9yIHRydWUgaWRpb3RzICovCisJVUxPTkdfTUFYLAorfTsKKworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgYXRhX2VoX290aGVyX3RpbWVvdXRzW10gPSB7CisJIDUwMDAsCS8qIHNhbWUgcmF0aW9uYWxlIGFzIGlkZW50aWZ5IHRpbWVvdXQgKi8KKwkxMDAwMCwJLyogZGl0dG8gKi8KKwkvKiBidXQgbm8gbWVyY2lmdWwgMzBzZWMgZm9yIG90aGVyIGNvbW1hbmRzLCBpdCBqdXN0IGlzbid0IHdvcnRoIGl0ICovCisJVUxPTkdfTUFYLAorfTsKKworc3RydWN0IGF0YV9laF9jbWRfdGltZW91dF9lbnQgeworCWNvbnN0IHU4CQkqY29tbWFuZHM7CisJY29uc3QgdW5zaWduZWQgbG9uZwkqdGltZW91dHM7Cit9OworCisvKiBUaGUgZm9sbG93aW5nIHRhYmxlIGRldGVybWluZXMgdGltZW91dHMgdG8gdXNlIGZvciBFSCBpbnRlcm5hbAorICogY29tbWFuZHMuICBFYWNoIHRhYmxlIGVudHJ5IGlzIGEgY29tbWFuZCBjbGFzcyBhbmQgbWF0Y2hlcyB0aGUKKyAqIGNvbW1hbmRzIHRoZSBlbnRyeSBhcHBsaWVzIHRvIGFuZCB0aGUgdGltZW91dCB0YWJsZSB0byB1c2UuCisgKgorICogT24gdGhlIHJldHJ5IGFmdGVyIGEgY29tbWFuZCB0aW1lZCBvdXQsIHRoZSBuZXh0IHRpbWVvdXQgdmFsdWUgZnJvbQorICogdGhlIHRhYmxlIGlzIHVzZWQuICBJZiB0aGUgdGFibGUgZG9lc24ndCBjb250YWluIGZ1cnRoZXIgZW50cmllcywKKyAqIHRoZSBsYXN0IHZhbHVlIGlzIHVzZWQuCisgKgorICogZWhjLT5jbWRfdGltZW91dF9pZHgga2VlcHMgdHJhY2sgb2Ygd2hpY2ggdGltZW91dCB0byB1c2UgcGVyCisgKiBjb21tYW5kIGNsYXNzLCBzbyBpZiBTRVRfRkVBVFVSRVMgdGltZXMgb3V0IG9uIHRoZSBmaXJzdCB0cnksIHRoZQorICogbmV4dCB0cnkgd2lsbCB1c2UgdGhlIHNlY29uZCB0aW1lb3V0IHZhbHVlIG9ubHkgZm9yIHRoYXQgY2xhc3MuCisgKi8KKyNkZWZpbmUgQ01EUyhjbWRzLi4uKQkoY29uc3QgdTggW10peyBjbWRzLCAwIH0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXRhX2VoX2NtZF90aW1lb3V0X2VudAorYXRhX2VoX2NtZF90aW1lb3V0X3RhYmxlW0FUQV9FSF9DTURfVElNRU9VVF9UQUJMRV9TSVpFXSA9IHsKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9JRF9BVEEsIEFUQV9DTURfSURfQVRBUEkpLAorCSAgLnRpbWVvdXRzID0gYXRhX2VoX2lkZW50aWZ5X3RpbWVvdXRzLCB9LAorCXsgLmNvbW1hbmRzID0gQ01EUyhBVEFfQ01EX1JFQURfTkFUSVZFX01BWCwgQVRBX0NNRF9SRUFEX05BVElWRV9NQVhfRVhUKSwKKwkgIC50aW1lb3V0cyA9IGF0YV9laF9vdGhlcl90aW1lb3V0cywgfSwKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9TRVRfTUFYLCBBVEFfQ01EX1NFVF9NQVhfRVhUKSwKKwkgIC50aW1lb3V0cyA9IGF0YV9laF9vdGhlcl90aW1lb3V0cywgfSwKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9TRVRfRkVBVFVSRVMpLAorCSAgLnRpbWVvdXRzID0gYXRhX2VoX290aGVyX3RpbWVvdXRzLCB9LAorCXsgLmNvbW1hbmRzID0gQ01EUyhBVEFfQ01EX0lOSVRfREVWX1BBUkFNUyksCisJICAudGltZW91dHMgPSBhdGFfZWhfb3RoZXJfdGltZW91dHMsIH0sCit9OworI3VuZGVmIENNRFMKKwogc3RhdGljIHZvaWQgX19hdGFfcG9ydF9mcmVlemUoc3RydWN0IGF0YV9wb3J0ICphcCk7CiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgdm9pZCBhdGFfZWhfaGFuZGxlX3BvcnRfc3VzcGVuZChzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKQEAgLTIzNiw2ICsyODcsNzMgQEAKIAogI2VuZGlmIC8qIENPTkZJR19QQ0kgKi8KIAorc3RhdGljIGludCBhdGFfbG9va3VwX3RpbWVvdXRfdGFibGUodTggY21kKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IEFUQV9FSF9DTURfVElNRU9VVF9UQUJMRV9TSVpFOyBpKyspIHsKKwkJY29uc3QgdTggKmN1cjsKKworCQlmb3IgKGN1ciA9IGF0YV9laF9jbWRfdGltZW91dF90YWJsZVtpXS5jb21tYW5kczsgKmN1cjsgY3VyKyspCisJCQlpZiAoKmN1ciA9PSBjbWQpCisJCQkJcmV0dXJuIGk7CisJfQorCisJcmV0dXJuIC0xOworfQorCisvKioKKyAqCWF0YV9pbnRlcm5hbF9jbWRfdGltZW91dCAtIGRldGVybWluZSB0aW1lb3V0IGZvciBhbiBpbnRlcm5hbCBjb21tYW5kCisgKglAZGV2OiB0YXJnZXQgZGV2aWNlCisgKglAY21kOiBpbnRlcm5hbCBjb21tYW5kIHRvIGJlIGlzc3VlZAorICoKKyAqCURldGVybWluZSB0aW1lb3V0IGZvciBpbnRlcm5hbCBjb21tYW5kIEBjbWQgZm9yIEBkZXYuCisgKgorICoJTE9DS0lORzoKKyAqCUVIIGNvbnRleHQuCisgKgorICoJUkVUVVJOUzoKKyAqCURldGVybWluZWQgdGltZW91dC4KKyAqLwordW5zaWduZWQgbG9uZyBhdGFfaW50ZXJuYWxfY21kX3RpbWVvdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKQoreworCXN0cnVjdCBhdGFfZWhfY29udGV4dCAqZWhjID0gJmRldi0+bGluay0+ZWhfY29udGV4dDsKKwlpbnQgZW50ID0gYXRhX2xvb2t1cF90aW1lb3V0X3RhYmxlKGNtZCk7CisJaW50IGlkeDsKKworCWlmIChlbnQgPCAwKQorCQlyZXR1cm4gQVRBX0VIX0NNRF9ERkxfVElNRU9VVDsKKworCWlkeCA9IGVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dW2VudF07CisJcmV0dXJuIGF0YV9laF9jbWRfdGltZW91dF90YWJsZVtlbnRdLnRpbWVvdXRzW2lkeF07Cit9CisKKy8qKgorICoJYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQgLSBub3RpZmljYXRpb24gZm9yIGludGVybmFsIGNvbW1hbmQgdGltZW91dAorICoJQGRldjogdGFyZ2V0IGRldmljZQorICoJQGNtZDogaW50ZXJuYWwgY29tbWFuZCB3aGljaCB0aW1lZCBvdXQKKyAqCisgKglOb3RpZnkgRUggdGhhdCBpbnRlcm5hbCBjb21tYW5kIEBjbWQgZm9yIEBkZXYgdGltZWQgb3V0LiAgVGhpcworICoJZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbmx5IGZvciBjb21tYW5kcyB3aG9zZSB0aW1lb3V0cyBhcmUKKyAqCWRldGVybWluZWQgdXNpbmcgYXRhX2ludGVybmFsX2NtZF90aW1lb3V0KCkuCisgKgorICoJTE9DS0lORzoKKyAqCUVIIGNvbnRleHQuCisgKi8KK3ZvaWQgYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKQoreworCXN0cnVjdCBhdGFfZWhfY29udGV4dCAqZWhjID0gJmRldi0+bGluay0+ZWhfY29udGV4dDsKKwlpbnQgZW50ID0gYXRhX2xvb2t1cF90aW1lb3V0X3RhYmxlKGNtZCk7CisJaW50IGlkeDsKKworCWlmIChlbnQgPCAwKQorCQlyZXR1cm47CisKKwlpZHggPSBlaGMtPmNtZF90aW1lb3V0X2lkeFtkZXYtPmRldm5vXVtlbnRdOworCWlmIChhdGFfZWhfY21kX3RpbWVvdXRfdGFibGVbZW50XS50aW1lb3V0c1tpZHggKyAxXSAhPSBVTE9OR19NQVgpCisJCWVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dW2VudF0rKzsKK30KKwogc3RhdGljIHZvaWQgYXRhX2VyaW5nX3JlY29yZChzdHJ1Y3QgYXRhX2VyaW5nICplcmluZywgdW5zaWduZWQgaW50IGVmbGFncywKIAkJCSAgICAgdW5zaWduZWQgaW50IGVycl9tYXNrKQogewpAQCAtNDg2LDYgKzYwNCw5IEBACiAJCQkJaWYgKGF0YV9uY3FfZW5hYmxlZChkZXYpKQogCQkJCQllaGMtPnNhdmVkX25jcV9lbmFibGVkIHw9IDEgPDwgZGV2bm87CiAJCQl9CisKKwkJCS8qIHNldCBsYXN0IHJlc2V0IHRpbWVzdGFtcCB0byBzb21lIHRpbWUgaW4gdGhlIHBhc3QgKi8KKwkJCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXMgLSA2MCAqIEhaOwogCQl9CiAKIAkJYXAtPnBmbGFncyB8PSBBVEFfUEZMQUdfRUhfSU5fUFJPR1JFU1M7CkBAIC02NDEsNyArNzYyLDcgQEAKIAkJLyogc29tZSBxY3MgaGF2ZSBmaW5pc2hlZCwgZ2l2ZSBpdCBhbm90aGVyIGNoYW5jZSAqLwogCQlhcC0+ZmFzdGRyYWluX2NudCA9IGNudDsKIAkJYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0KLQkJCWppZmZpZXMgKyBBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMOworCQkJYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwpOwogCQlhZGRfdGltZXIoJmFwLT5mYXN0ZHJhaW5fdGltZXIpOwogCX0KIApAQCAtNjgxLDcgKzgwMiw4IEBACiAKIAkvKiBhY3RpdmF0ZSBmYXN0IGRyYWluICovCiAJYXAtPmZhc3RkcmFpbl9jbnQgPSBjbnQ7Ci0JYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0gamlmZmllcyArIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUw7CisJYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0KKwkJYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwpOwogCWFkZF90aW1lcigmYXAtPmZhc3RkcmFpbl90aW1lcik7CiB9CiAKQEAgLTEyMzgsNiArMTM2MCw3IEBACiAgKglhdGFwaV9laF9yZXF1ZXN0X3NlbnNlIC0gcGVyZm9ybSBBVEFQSSBSRVFVRVNUX1NFTlNFCiAgKglAZGV2OiBkZXZpY2UgdG8gcGVyZm9ybSBSRVFVRVNUX1NFTlNFIHRvCiAgKglAc2Vuc2VfYnVmOiByZXN1bHQgc2Vuc2UgZGF0YSBidWZmZXIgKFNDU0lfU0VOU0VfQlVGRkVSU0laRSBieXRlcyBsb25nKQorICoJQGRmbF9zZW5zZV9rZXk6IGRlZmF1bHQgc2Vuc2Uga2V5IHRvIHVzZQogICoKICAqCVBlcmZvcm0gQVRBUEkgUkVRVUVTVF9TRU5TRSBhZnRlciB0aGUgZGV2aWNlIHJlcG9ydGVkIENIRUNLCiAgKglTRU5TRS4gIFRoaXMgZnVuY3Rpb24gaXMgRUggaGVscGVyLgpAQCAtMTI0OCwxMyArMTM3MSwxMyBAQAogICoJUkVUVVJOUzoKICAqCTAgb24gc3VjY2VzcywgQUNfRVJSXyogbWFzayBvbiBmYWlsdXJlCiAgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgYXRhcGlfZWhfcmVxdWVzdF9zZW5zZShzdHJ1Y3QgYXRhX3F1ZXVlZF9jbWQgKnFjKQorc3RhdGljIHVuc2lnbmVkIGludCBhdGFwaV9laF9yZXF1ZXN0X3NlbnNlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsCisJCQkJCSAgIHU4ICpzZW5zZV9idWYsIHU4IGRmbF9zZW5zZV9rZXkpCiB7Ci0Jc3RydWN0IGF0YV9kZXZpY2UgKmRldiA9IHFjLT5kZXY7Ci0JdW5zaWduZWQgY2hhciAqc2Vuc2VfYnVmID0gcWMtPnNjc2ljbWQtPnNlbnNlX2J1ZmZlcjsKKwl1OCBjZGJbQVRBUElfQ0RCX0xFTl0gPQorCQl7IFJFUVVFU1RfU0VOU0UsIDAsIDAsIDAsIFNDU0lfU0VOU0VfQlVGRkVSU0laRSwgMCB9OwogCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBkZXYtPmxpbmstPmFwOwogCXN0cnVjdCBhdGFfdGFza2ZpbGUgdGY7Ci0JdTggY2RiW0FUQVBJX0NEQl9MRU5dOwogCiAJRFBSSU5USygiQVRBUEkgcmVxdWVzdCBzZW5zZVxuIik7CiAKQEAgLTEyNjUsMTUgKzEzODgsMTEgQEAKIAkgKiBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhleSBhcmUgLW5vdC0gb3ZlcndyaXR0ZW4KIAkgKi8KIAlzZW5zZV9idWZbMF0gPSAweDcwOwotCXNlbnNlX2J1ZlsyXSA9IHFjLT5yZXN1bHRfdGYuZmVhdHVyZSA+PiA0OworCXNlbnNlX2J1ZlsyXSA9IGRmbF9zZW5zZV9rZXk7CiAKIAkvKiBzb21lIGRldmljZXMgdGltZSBvdXQgaWYgZ2FyYmFnZSBsZWZ0IGluIHRmICovCiAJYXRhX3RmX2luaXQoZGV2LCAmdGYpOwogCi0JbWVtc2V0KGNkYiwgMCwgQVRBUElfQ0RCX0xFTik7Ci0JY2RiWzBdID0gUkVRVUVTVF9TRU5TRTsKLQljZGJbNF0gPSBTQ1NJX1NFTlNFX0JVRkZFUlNJWkU7Ci0KIAl0Zi5mbGFncyB8PSBBVEFfVEZMQUdfSVNBRERSIHwgQVRBX1RGTEFHX0RFVklDRTsKIAl0Zi5jb21tYW5kID0gQVRBX0NNRF9QQUNLRVQ7CiAKQEAgLTE0NDUsNyArMTU2NCw5IEBACiAKIAljYXNlIEFUQV9ERVZfQVRBUEk6CiAJCWlmICghKHFjLT5hcC0+cGZsYWdzICYgQVRBX1BGTEFHX0ZST1pFTikpIHsKLQkJCXRtcCA9IGF0YXBpX2VoX3JlcXVlc3Rfc2Vuc2UocWMpOworCQkJdG1wID0gYXRhcGlfZWhfcmVxdWVzdF9zZW5zZShxYy0+ZGV2LAorCQkJCQkJcWMtPnNjc2ljbWQtPnNlbnNlX2J1ZmZlciwKKwkJCQkJCXFjLT5yZXN1bHRfdGYuZmVhdHVyZSA+PiA0KTsKIAkJCWlmICghdG1wKSB7CiAJCQkJLyogQVRBX1FDRkxBR19TRU5TRV9WQUxJRCBpcyB1c2VkIHRvCiAJCQkJICogdGVsbCBhdGFwaV9xY19jb21wbGV0ZSgpIHRoYXQgc2Vuc2UKQEAgLTIwNzEsMTMgKzIxOTIsMTIgQEAKIAkJIGF0YV9wcmVyZXNldF9mbl90IHByZXJlc2V0LCBhdGFfcmVzZXRfZm5fdCBzb2Z0cmVzZXQsCiAJCSBhdGFfcmVzZXRfZm5fdCBoYXJkcmVzZXQsIGF0YV9wb3N0cmVzZXRfZm5fdCBwb3N0cmVzZXQpCiB7Ci0JY29uc3QgaW50IG1heF90cmllcyA9IEFSUkFZX1NJWkUoYXRhX2VoX3Jlc2V0X3RpbWVvdXRzKTsKIAlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gbGluay0+YXA7CiAJc3RydWN0IGF0YV9laF9jb250ZXh0ICplaGMgPSAmbGluay0+ZWhfY29udGV4dDsKIAl1bnNpZ25lZCBpbnQgKmNsYXNzZXMgPSBlaGMtPmNsYXNzZXM7CiAJdW5zaWduZWQgaW50IGxmbGFncyA9IGxpbmstPmZsYWdzOwogCWludCB2ZXJib3NlID0gIShlaGMtPmkuZmxhZ3MgJiBBVEFfRUhJX1FVSUVUKTsKLQlpbnQgdHJ5ID0gMDsKKwlpbnQgbWF4X3RyaWVzID0gMCwgdHJ5ID0gMDsKIAlzdHJ1Y3QgYXRhX2RldmljZSAqZGV2OwogCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmUsIG5vdzsKIAlhdGFfcmVzZXRfZm5fdCByZXNldDsKQEAgLTIwODgsMTEgKzIyMDgsMjAgQEAKIAkvKgogCSAqIFByZXBhcmUgdG8gcmVzZXQKIAkgKi8KKwl3aGlsZSAoYXRhX2VoX3Jlc2V0X3RpbWVvdXRzW21heF90cmllc10gIT0gVUxPTkdfTUFYKQorCQltYXhfdHJpZXMrKzsKKworCW5vdyA9IGppZmZpZXM7CisJZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoZWhjLT5sYXN0X3Jlc2V0LCBBVEFfRUhfUkVTRVRfQ09PTF9ET1dOKTsKKwlpZiAodGltZV9iZWZvcmUobm93LCBkZWFkbGluZSkpCisJCXNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKGRlYWRsaW5lIC0gbm93KTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKGFwLT5sb2NrLCBmbGFncyk7CiAJYXAtPnBmbGFncyB8PSBBVEFfUEZMQUdfUkVTRVRUSU5HOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoYXAtPmxvY2ssIGZsYWdzKTsKIAogCWF0YV9laF9hYm91dF90b19kbyhsaW5rLCBOVUxMLCBBVEFfRUhfUkVTRVQpOworCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXM7CiAKIAlhdGFfbGlua19mb3JfZWFjaF9kZXYoZGV2LCBsaW5rKSB7CiAJCS8qIElmIHdlIGlzc3VlIGFuIFNSU1QgdGhlbiBhbiBBVEEgZHJpdmUgKG5vdCBBVEFQSSkKQEAgLTIxMjUsNyArMjI1NCw4IEBACiAJfQogCiAJaWYgKHByZXJlc2V0KSB7Ci0JCXJjID0gcHJlcmVzZXQobGluaywgamlmZmllcyArIEFUQV9FSF9QUkVSRVNFVF9USU1FT1VUKTsKKwkJcmMgPSBwcmVyZXNldChsaW5rLAorCQkJICAgICAgYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9QUkVSRVNFVF9USU1FT1VUKSk7CiAJCWlmIChyYykgewogCQkJaWYgKHJjID09IC1FTk9FTlQpIHsKIAkJCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9ERUJVRywKQEAgLTIxNTcsMTAgKzIyODcsMTEgQEAKIAkvKgogCSAqIFBlcmZvcm0gcmVzZXQKIAkgKi8KKwllaGMtPmxhc3RfcmVzZXQgPSBqaWZmaWVzOwogCWlmIChhdGFfaXNfaG9zdF9saW5rKGxpbmspKQogCQlhdGFfZWhfZnJlZXplX3BvcnQoYXApOwogCi0JZGVhZGxpbmUgPSBqaWZmaWVzICsgYXRhX2VoX3Jlc2V0X3RpbWVvdXRzW3RyeSsrXTsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCBhdGFfZWhfcmVzZXRfdGltZW91dHNbdHJ5KytdKTsKIAogCWlmIChyZXNldCkgewogCQlpZiAodmVyYm9zZSkKQEAgLTIyNzcsNiArMjQwOCw3IEBACiAKIAkvKiByZXNldCBzdWNjZXNzZnVsLCBzY2hlZHVsZSByZXZhbGlkYXRpb24gKi8KIAlhdGFfZWhfZG9uZShsaW5rLCBOVUxMLCBBVEFfRUhfUkVTRVQpOworCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXM7CiAJZWhjLT5pLmFjdGlvbiB8PSBBVEFfRUhfUkVWQUxJREFURTsKIAogCXJjID0gMDsKQEAgLTIzMDMsOSArMjQzNSw5IEBACiAJaWYgKHRpbWVfYmVmb3JlKG5vdywgZGVhZGxpbmUpKSB7CiAJCXVuc2lnbmVkIGxvbmcgZGVsdGEgPSBkZWFkbGluZSAtIG5vdzsKIAotCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9XQVJOSU5HLCAicmVzZXQgZmFpbGVkICIKLQkJCQkiKGVycm5vPSVkKSwgcmV0cnlpbmcgaW4gJXUgc2Vjc1xuIiwKLQkJCQlyYywgKGppZmZpZXNfdG9fbXNlY3MoZGVsdGEpICsgOTk5KSAvIDEwMDApOworCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9XQVJOSU5HLAorCQkJInJlc2V0IGZhaWxlZCAoZXJybm89JWQpLCByZXRyeWluZyBpbiAldSBzZWNzXG4iLAorCQkJcmMsIERJVl9ST1VORF9VUChqaWZmaWVzX3RvX21zZWNzKGRlbHRhKSwgMTAwMCkpOwogCiAJCXdoaWxlIChkZWx0YSkKIAkJCWRlbHRhID0gc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoZGVsdGEpOwpAQCAtMjU4Myw4ICsyNzE1LDExIEBACiAJCQlhdGFfZWhfZGV0YWNoX2RldihkZXYpOwogCiAJCS8qIHNjaGVkdWxlIHByb2JlIGlmIG5lY2Vzc2FyeSAqLwotCQlpZiAoYXRhX2VoX3NjaGVkdWxlX3Byb2JlKGRldikpCisJCWlmIChhdGFfZWhfc2NoZWR1bGVfcHJvYmUoZGV2KSkgewogCQkJZWhjLT50cmllc1tkZXYtPmRldm5vXSA9IEFUQV9FSF9ERVZfVFJJRVM7CisJCQltZW1zZXQoZWhjLT5jbWRfdGltZW91dF9pZHhbZGV2LT5kZXZub10sIDAsCisJCQkgICAgICAgc2l6ZW9mKGVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dKSk7CisJCX0KIAogCQlyZXR1cm4gMTsKIAl9IGVsc2UgewpAQCAtMjYyMiw3ICsyNzU3LDcgQEAKIHsKIAlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CiAJc3RydWN0IGF0YV9kZXZpY2UgKmRldjsKLQlpbnQgbnJfZmFpbGVkX2RldnMsIG5yX2Rpc2FibGVkX2RldnM7CisJaW50IG5yX2ZhaWxlZF9kZXZzOwogCWludCByYzsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0yNjY1LDcgKzI4MDAsNiBAQAogIHJldHJ5OgogCXJjID0gMDsKIAlucl9mYWlsZWRfZGV2cyA9IDA7Ci0JbnJfZGlzYWJsZWRfZGV2cyA9IDA7CiAKIAkvKiBpZiBVTkxPQURJTkcsIGZpbmlzaCBpbW1lZGlhdGVseSAqLwogCWlmIChhcC0+cGZsYWdzICYgQVRBX1BGTEFHX1VOTE9BRElORykKQEAgLTI3MzIsOCArMjg2Niw3IEBACiAKIGRldl9mYWlsOgogCQlucl9mYWlsZWRfZGV2cysrOwotCQlpZiAoYXRhX2VoX2hhbmRsZV9kZXZfZmFpbChkZXYsIHJjKSkKLQkJCW5yX2Rpc2FibGVkX2RldnMrKzsKKwkJYXRhX2VoX2hhbmRsZV9kZXZfZmFpbChkZXYsIHJjKTsKIAogCQlpZiAoYXAtPnBmbGFncyAmIEFUQV9QRkxBR19GUk9aRU4pIHsKIAkJCS8qIFBNUCByZXNldCByZXF1aXJlcyB3b3JraW5nIGhvc3QgcG9ydC4KQEAgLTI3NDUsMTggKzI4NzgsOCBAQAogCQl9CiAJfQogCi0JaWYgKG5yX2ZhaWxlZF9kZXZzKSB7Ci0JCWlmIChucl9mYWlsZWRfZGV2cyAhPSBucl9kaXNhYmxlZF9kZXZzKSB7Ci0JCQlhdGFfcG9ydF9wcmludGsoYXAsIEtFUk5fV0FSTklORywgImZhaWxlZCB0byByZWNvdmVyICIKLQkJCQkJInNvbWUgZGV2aWNlcywgcmV0cnlpbmcgaW4gNSBzZWNzXG4iKTsKLQkJCXNzbGVlcCg1KTsKLQkJfSBlbHNlIHsKLQkJCS8qIG5vIGRldmljZSBsZWZ0IHRvIHJlY292ZXIsIHJlcGVhdCBmYXN0ICovCi0JCQltc2xlZXAoNTAwKTsKLQkJfQotCisJaWYgKG5yX2ZhaWxlZF9kZXZzKQogCQlnb3RvIHJldHJ5OwotCX0KIAogIG91dDoKIAlpZiAocmMgJiYgcl9mYWlsZWRfbGluaykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1wbXAuYyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1wbXAuYwppbmRleCA3ZGFmNGMwLi5iNjVkYjMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9saWJhdGEtcG1wLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLXBtcC5jCkBAIC03MjcsMTkgKzcyNywxMiBAQAogCQl9CiAKIAkJaWYgKHRyaWVzKSB7Ci0JCQlpbnQgc2xlZXAgPSBlaGMtPmkuZmxhZ3MgJiBBVEFfRUhJX0RJRF9SRVNFVDsKLQogCQkJLyogY29uc2VjdXRpdmUgcmV2YWxpZGF0aW9uIGZhaWx1cmVzPyBzcGVlZCBkb3duICovCiAJCQlpZiAocmV2YWxfZmFpbGVkKQogCQkJCXNhdGFfZG93bl9zcGRfbGltaXQobGluayk7CiAJCQllbHNlCiAJCQkJcmV2YWxfZmFpbGVkID0gMTsKIAotCQkJYXRhX2Rldl9wcmludGsoZGV2LCBLRVJOX1dBUk5JTkcsCi0JCQkJICAgICAgICJyZXRyeWluZyByZXNldCVzXG4iLAotCQkJCSAgICAgICBzbGVlcCA/ICIgaW4gNSBzZWNzIiA6ICIiKTsKLQkJCWlmIChzbGVlcCkKLQkJCQlzc2xlZXAoNSk7CiAJCQllaGMtPmkuYWN0aW9uIHw9IEFUQV9FSF9SRVNFVDsKIAkJCWdvdG8gcmV0cnk7CiAJCX0gZWxzZSB7CkBAIC03ODUsNyArNzc4LDggQEAKIAkJICogU0Vycm9yLk4gd29ya2luZy4KIAkJICovCiAJCXNhdGFfbGlua19oYXJkcmVzZXQobGluaywgc2F0YV9kZWJfdGltaW5nX25vcm1hbCwKLQkJCQlqaWZmaWVzICsgQVRBX1RNT1VUX0lOVEVSTkFMX1FVSUNLLCBOVUxMLCBOVUxMKTsKKwkJCQlhdGFfZGVhZGxpbmUoamlmZmllcywgQVRBX1RNT1VUX0lOVEVSTkFMX1FVSUNLKSwKKwkJCQlOVUxMLCBOVUxMKTsKIAogCQkvKiB1bmNvbmRpdGlvbmFsbHkgY2xlYXIgU0Vycm9yLk4gKi8KIAkJcmMgPSBzYXRhX3Njcl93cml0ZShsaW5rLCBTQ1JfRVJST1IsIFNFUlJfUEhZUkRZX0NIRyk7CkBAIC05OTAsMTAgKzk4NCw3IEBACiAJCWdvdG8gcmV0cnk7CiAKIAlpZiAoLS1wbXBfdHJpZXMpIHsKLQkJYXRhX3BvcnRfcHJpbnRrKGFwLCBLRVJOX1dBUk5JTkcsCi0JCQkJImZhaWxlZCB0byByZWNvdmVyIFBNUCwgcmV0cnlpbmcgaW4gNSBzZWNzXG4iKTsKIAkJcG1wX2VoYy0+aS5hY3Rpb24gfD0gQVRBX0VIX1JFU0VUOwotCQlzc2xlZXAoNSk7CiAJCWdvdG8gcmV0cnk7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jIGIvZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYwppbmRleCA1N2E0MzY0Li5mM2I0YjE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMKQEAgLTE5MCw2ICsxOTAsODUgQEAKIAlzY3NpX2J1aWxkX3NlbnNlX2J1ZmZlcigwLCBjbWQtPnNlbnNlX2J1ZmZlciwgc2ssIGFzYywgYXNjcSk7CiB9CiAKK3N0YXRpYyBzc2l6ZV90CithdGFfc2NzaV9lbV9tZXNzYWdlX3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBTY3NpX0hvc3QgKnNob3N0ID0gY2xhc3NfdG9fc2hvc3QoZGV2KTsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gYXRhX3Nob3N0X3RvX3BvcnQoc2hvc3QpOworCWlmIChhcC0+b3BzLT5lbV9zdG9yZSAmJiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfRU0pKQorCQlyZXR1cm4gYXAtPm9wcy0+ZW1fc3RvcmUoYXAsIGJ1ZiwgY291bnQpOworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfZW1fbWVzc2FnZV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgY2hhciAqYnVmKQoreworCXN0cnVjdCBTY3NpX0hvc3QgKnNob3N0ID0gY2xhc3NfdG9fc2hvc3QoZGV2KTsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gYXRhX3Nob3N0X3RvX3BvcnQoc2hvc3QpOworCisJaWYgKGFwLT5vcHMtPmVtX3Nob3cgJiYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKSkKKwkJcmV0dXJuIGFwLT5vcHMtPmVtX3Nob3coYXAsIGJ1Zik7CisJcmV0dXJuIC1FSU5WQUw7Cit9CitERVZJQ0VfQVRUUihlbV9tZXNzYWdlLCBTX0lSVUdPIHwgU19JV1VHTywKKwkJYXRhX3Njc2lfZW1fbWVzc2FnZV9zaG93LCBhdGFfc2NzaV9lbV9tZXNzYWdlX3N0b3JlKTsKK0VYUE9SVF9TWU1CT0xfR1BMKGRldl9hdHRyX2VtX21lc3NhZ2UpOworCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfZW1fbWVzc2FnZV90eXBlX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCSAgICAgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgU2NzaV9Ib3N0ICpzaG9zdCA9IGNsYXNzX3RvX3Nob3N0KGRldik7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGF0YV9zaG9zdF90b19wb3J0KHNob3N0KTsKKworCXJldHVybiBzbnByaW50ZihidWYsIDIzLCAiJWRcbiIsIGFwLT5lbV9tZXNzYWdlX3R5cGUpOworfQorREVWSUNFX0FUVFIoZW1fbWVzc2FnZV90eXBlLCBTX0lSVUdPLAorCQkgIGF0YV9zY3NpX2VtX21lc3NhZ2VfdHlwZV9zaG93LCBOVUxMKTsKK0VYUE9SVF9TWU1CT0xfR1BMKGRldl9hdHRyX2VtX21lc3NhZ2VfdHlwZSk7CisKK3N0YXRpYyBzc2l6ZV90CithdGFfc2NzaV9hY3Rpdml0eV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCWNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3Qgc2NzaV9kZXZpY2UgKnNkZXYgPSB0b19zY3NpX2RldmljZShkZXYpOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBhdGFfc2hvc3RfdG9fcG9ydChzZGV2LT5ob3N0KTsKKwlzdHJ1Y3QgYXRhX2RldmljZSAqYXRhZGV2ID0gYXRhX3Njc2lfZmluZF9kZXYoYXAsIHNkZXYpOworCisJaWYgKGFwLT5vcHMtPnN3X2FjdGl2aXR5X3Nob3cgJiYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NXX0FDVElWSVRZKSkKKwkJcmV0dXJuIGFwLT5vcHMtPnN3X2FjdGl2aXR5X3Nob3coYXRhZGV2LCBidWYpOworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfYWN0aXZpdHlfc3RvcmUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwljb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkKK3sKKwlzdHJ1Y3Qgc2NzaV9kZXZpY2UgKnNkZXYgPSB0b19zY3NpX2RldmljZShkZXYpOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBhdGFfc2hvc3RfdG9fcG9ydChzZGV2LT5ob3N0KTsKKwlzdHJ1Y3QgYXRhX2RldmljZSAqYXRhZGV2ID0gYXRhX3Njc2lfZmluZF9kZXYoYXAsIHNkZXYpOworCWVudW0gc3dfYWN0aXZpdHkgdmFsOworCWludCByYzsKKworCWlmIChhcC0+b3BzLT5zd19hY3Rpdml0eV9zdG9yZSAmJiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfU1dfQUNUSVZJVFkpKSB7CisJCXZhbCA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CisJCXN3aXRjaCAodmFsKSB7CisJCWNhc2UgT0ZGOiBjYXNlIEJMSU5LX09OOiBjYXNlIEJMSU5LX09GRjoKKwkJCXJjID0gYXAtPm9wcy0+c3dfYWN0aXZpdHlfc3RvcmUoYXRhZGV2LCB2YWwpOworCQkJaWYgKCFyYykKKwkJCQlyZXR1cm4gY291bnQ7CisJCQllbHNlCisJCQkJcmV0dXJuIHJjOworCQl9CisJfQorCXJldHVybiAtRUlOVkFMOworfQorREVWSUNFX0FUVFIoc3dfYWN0aXZpdHksIFNfSVdVR08gfCBTX0lSVUdPLCBhdGFfc2NzaV9hY3Rpdml0eV9zaG93LAorCQkJYXRhX3Njc2lfYWN0aXZpdHlfc3RvcmUpOworRVhQT1JUX1NZTUJPTF9HUEwoZGV2X2F0dHJfc3dfYWN0aXZpdHkpOworCiBzdGF0aWMgdm9pZCBhdGFfc2NzaV9pbnZhbGlkX2ZpZWxkKHN0cnVjdCBzY3NpX2NtbmQgKmNtZCwKIAkJCQkgICB2b2lkICgqZG9uZSkoc3RydWN0IHNjc2lfY21uZCAqKSkKIHsKQEAgLTg4NSw3ICs5NjQsOCBAQAogCQkvKiBzZXQgdGhlIG1pbiBhbGlnbm1lbnQgYW5kIHBhZGRpbmcgKi8KIAkJYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfYWxpZ25tZW50KHNkZXYtPnJlcXVlc3RfcXVldWUsCiAJCQkJCSAgICAgICBBVEFfRE1BX1BBRF9TWiAtIDEpOwotCQlibGtfcXVldWVfZG1hX3BhZChzZGV2LT5yZXF1ZXN0X3F1ZXVlLCBBVEFfRE1BX1BBRF9TWiAtIDEpOworCQlibGtfcXVldWVfdXBkYXRlX2RtYV9wYWQoc2Rldi0+cmVxdWVzdF9xdWV1ZSwKKwkJCQkJIEFUQV9ETUFfUEFEX1NaIC0gMSk7CiAKIAkJLyogY29uZmlndXJlIGRyYWluaW5nICovCiAJCWJ1ZiA9IGttYWxsb2MoQVRBUElfTUFYX0RSQUlOLCBxLT5ib3VuY2VfZ2ZwIHwgR0ZQX0tFUk5FTCk7CkBAIC0xNzc4LDcgKzE4NTgsOSBAQAogCWNvbnN0IHU4IHBhZ2VzW10gPSB7CiAJCTB4MDAsCS8qIHBhZ2UgMHgwMCwgdGhpcyBwYWdlICovCiAJCTB4ODAsCS8qIHBhZ2UgMHg4MCwgdW5pdCBzZXJpYWwgbm8gcGFnZSAqLwotCQkweDgzCS8qIHBhZ2UgMHg4MywgZGV2aWNlIGlkZW50IHBhZ2UgKi8KKwkJMHg4MywJLyogcGFnZSAweDgzLCBkZXZpY2UgaWRlbnQgcGFnZSAqLworCQkweDg5LAkvKiBwYWdlIDB4ODksIGF0YSBpbmZvIHBhZ2UgKi8KKwkJMHhiMSwJLyogcGFnZSAweGIxLCBibG9jayBkZXZpY2UgY2hhcmFjdGVyaXN0aWNzIHBhZ2UgKi8KIAl9OwogCiAJcmJ1ZlszXSA9IHNpemVvZihwYWdlcyk7CS8qIG51bWJlciBvZiBzdXBwb3J0ZWQgVlBEIHBhZ2VzICovCkBAIC0xODk5LDYgKzE5ODEsMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBhdGFfc2NzaW9wX2lucV9iMShzdHJ1Y3QgYXRhX3Njc2lfYXJncyAqYXJncywgdTggKnJidWYpCit7CisJcmJ1ZlsxXSA9IDB4YjE7CisJcmJ1ZlszXSA9IDB4M2M7CisJaWYgKGF0YV9pZF9tYWpvcl92ZXJzaW9uKGFyZ3MtPmlkKSA+IDcpIHsKKwkJcmJ1Zls0XSA9IGFyZ3MtPmlkWzIxN10gPj4gODsKKwkJcmJ1Zls1XSA9IGFyZ3MtPmlkWzIxN107CisJCXJidWZbN10gPSBhcmdzLT5pZFsxNjhdICYgMHhmOworCX0KKworCXJldHVybiAwOworfQorCiAvKioKICAqCWF0YV9zY3Npb3Bfbm9vcCAtIENvbW1hbmQgaGFuZGxlciB0aGF0IHNpbXBseSByZXR1cm5zIHN1Y2Nlc3MuCiAgKglAYXJnczogZGV2aWNlIElERU5USUZZIGRhdGEgLyBTQ1NJIGNvbW1hbmQgb2YgaW50ZXJlc3QuCkBAIC0yOTIwLDYgKzMwMTUsOSBAQAogCQljYXNlIDB4ODk6CiAJCQlhdGFfc2NzaV9yYnVmX2ZpbGwoJmFyZ3MsIGF0YV9zY3Npb3BfaW5xXzg5KTsKIAkJCWJyZWFrOworCQljYXNlIDB4YjE6CisJCQlhdGFfc2NzaV9yYnVmX2ZpbGwoJmFyZ3MsIGF0YV9zY3Npb3BfaW5xX2IxKTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJYXRhX3Njc2lfaW52YWxpZF9maWVsZChjbWQsIGRvbmUpOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtc2ZmLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtc2ZmLmMKaW5kZXggYzA5MDhjMi4uMzA0ZmRjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLXNmZi5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1zZmYuYwpAQCAtMzQ1LDggKzM0NSw4IEBACiAvKioKICAqCWF0YV9zZmZfYnVzeV9zbGVlcCAtIHNsZWVwIHVudGlsIEJTWSBjbGVhcnMsIG9yIHRpbWVvdXQKICAqCUBhcDogcG9ydCBjb250YWluaW5nIHN0YXR1cyByZWdpc3RlciB0byBiZSBwb2xsZWQKLSAqCUB0bW91dF9wYXQ6IGltcGF0aWVuY2UgdGltZW91dAotICoJQHRtb3V0OiBvdmVyYWxsIHRpbWVvdXQKKyAqCUB0bW91dF9wYXQ6IGltcGF0aWVuY2UgdGltZW91dCBpbiBtc2VjcworICoJQHRtb3V0OiBvdmVyYWxsIHRpbWVvdXQgaW4gbXNlY3MKICAqCiAgKglTbGVlcCB1bnRpbCBBVEEgU3RhdHVzIHJlZ2lzdGVyIGJpdCBCU1kgY2xlYXJzLAogICoJb3IgYSB0aW1lb3V0IG9jY3Vycy4KQEAgLTM2NSw3ICszNjUsNyBAQAogCiAJc3RhdHVzID0gYXRhX3NmZl9idXN5X3dhaXQoYXAsIEFUQV9CVVNZLCAzMDApOwogCXRpbWVyX3N0YXJ0ID0gamlmZmllczsKLQl0aW1lb3V0ID0gdGltZXJfc3RhcnQgKyB0bW91dF9wYXQ7CisJdGltZW91dCA9IGF0YV9kZWFkbGluZSh0aW1lcl9zdGFydCwgdG1vdXRfcGF0KTsKIAl3aGlsZSAoc3RhdHVzICE9IDB4ZmYgJiYgKHN0YXR1cyAmIEFUQV9CVVNZKSAmJgogCSAgICAgICB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkgewogCQltc2xlZXAoNTApOwpAQCAtMzc3LDcgKzM3Nyw3IEBACiAJCQkJInBvcnQgaXMgc2xvdyB0byByZXNwb25kLCBwbGVhc2UgYmUgcGF0aWVudCAiCiAJCQkJIihTdGF0dXMgMHgleClcbiIsIHN0YXR1cyk7CiAKLQl0aW1lb3V0ID0gdGltZXJfc3RhcnQgKyB0bW91dDsKKwl0aW1lb3V0ID0gYXRhX2RlYWRsaW5lKHRpbWVyX3N0YXJ0LCB0bW91dCk7CiAJd2hpbGUgKHN0YXR1cyAhPSAweGZmICYmIChzdGF0dXMgJiBBVEFfQlVTWSkgJiYKIAkgICAgICAgdGltZV9iZWZvcmUoamlmZmllcywgdGltZW91dCkpIHsKIAkJbXNsZWVwKDUwKTsKQEAgLTM5MCw3ICszOTAsNyBAQAogCWlmIChzdGF0dXMgJiBBVEFfQlVTWSkgewogCQlhdGFfcG9ydF9wcmludGsoYXAsIEtFUk5fRVJSLCAicG9ydCBmYWlsZWQgdG8gcmVzcG9uZCAiCiAJCQkJIiglbHUgc2VjcywgU3RhdHVzIDB4JXgpXG4iLAotCQkJCXRtb3V0IC8gSFosIHN0YXR1cyk7CisJCQkJRElWX1JPVU5EX1VQKHRtb3V0LCAxMDAwKSwgc3RhdHVzKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKQEAgLTE4ODgsNyArMTg4OCw3IEBACiAJdW5zaWduZWQgaW50IGRldjEgPSBkZXZtYXNrICYgKDEgPDwgMSk7CiAJaW50IHJjLCByZXQgPSAwOwogCi0JbXNsZWVwKEFUQV9XQUlUX0FGVEVSX1JFU0VUX01TRUNTKTsKKwltc2xlZXAoQVRBX1dBSVRfQUZURVJfUkVTRVQpOwogCiAJLyogYWx3YXlzIGNoZWNrIHJlYWRpbmVzcyBvZiB0aGUgbWFzdGVyIGRldmljZSAqLwogCXJjID0gYXRhX3NmZl93YWl0X3JlYWR5KGxpbmssIGRlYWRsaW5lKTsKQEAgLTIzNzEsNyArMjM3MSw4IEBACiAKIAkvKiBpc3N1ZSBidXMgcmVzZXQgKi8KIAlpZiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfU1JTVCkgewotCQlyYyA9IGF0YV9idXNfc29mdHJlc2V0KGFwLCBkZXZtYXNrLCBqaWZmaWVzICsgNDAgKiBIWik7CisJCXJjID0gYXRhX2J1c19zb2Z0cmVzZXQoYXAsIGRldm1hc2ssCisJCQkJICAgICAgIGF0YV9kZWFkbGluZShqaWZmaWVzLCA0MDAwMCkpOwogCQlpZiAocmMgJiYgcmMgIT0gLUVOT0RFVikKIAkJCWdvdG8gZXJyX291dDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEuaCBiL2RyaXZlcnMvYXRhL2xpYmF0YS5oCmluZGV4IDFjZjgwM2EuLmY2ZjljMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS5oCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS5oCkBAIC0xNTEsNiArMTUxLDggQEAKIGV4dGVybiBpbnQgYXRhX2J1c19wcm9iZShzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKIAogLyogbGliYXRhLWVoLmMgKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIGF0YV9pbnRlcm5hbF9jbWRfdGltZW91dChzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCB1OCBjbWQpOworZXh0ZXJuIHZvaWQgYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKTsKIGV4dGVybiBlbnVtIHNjc2lfZWhfdGltZXJfcmV0dXJuIGF0YV9zY3NpX3RpbWVkX291dChzdHJ1Y3Qgc2NzaV9jbW5kICpjbWQpOwogZXh0ZXJuIHZvaWQgYXRhX3Njc2lfZXJyb3Ioc3RydWN0IFNjc2lfSG9zdCAqaG9zdCk7CiBleHRlcm4gdm9pZCBhdGFfcG9ydF93YWl0X2VoKHN0cnVjdCBhdGFfcG9ydCAqYXApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9iZjU0eC5jIGIvZHJpdmVycy9hdGEvcGF0YV9iZjU0eC5jCmluZGV4IDU1NTE2MTAuLmQzOTMyOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL3BhdGFfYmY1NHguYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX2JmNTR4LmMKQEAgLTEwMTEsNyArMTAxMSw3IEBACiAJdm9pZCBfX2lvbWVtICpiYXNlID0gKHZvaWQgX19pb21lbSAqKWFwLT5pb2FkZHIuY3RsX2FkZHI7CiAJdW5zaWduZWQgaW50IGRldjAgPSBkZXZtYXNrICYgKDEgPDwgMCk7CiAJdW5zaWduZWQgaW50IGRldjEgPSBkZXZtYXNrICYgKDEgPDwgMSk7Ci0JdW5zaWduZWQgbG9uZyB0aW1lb3V0OworCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmU7CiAKIAkvKiBpZiBkZXZpY2UgMCB3YXMgZm91bmQgaW4gYXRhX2RldmNoaywgd2FpdCBmb3IgaXRzCiAJICogQlNZIGJpdCB0byBjbGVhcgpAQCAtMTAyMiw3ICsxMDIyLDcgQEAKIAkvKiBpZiBkZXZpY2UgMSB3YXMgZm91bmQgaW4gYXRhX2RldmNoaywgd2FpdCBmb3IKIAkgKiByZWdpc3RlciBhY2Nlc3MsIHRoZW4gd2FpdCBmb3IgQlNZIHRvIGNsZWFyCiAJICovCi0JdGltZW91dCA9IGppZmZpZXMgKyBBVEFfVE1PVVRfQk9PVDsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCBBVEFfVE1PVVRfQk9PVCk7CiAJd2hpbGUgKGRldjEpIHsKIAkJdTggbnNlY3QsIGxiYWw7CiAKQEAgLTEwMzEsNyArMTAzMSw3IEBACiAJCWxiYWwgPSByZWFkX2F0YXBpX3JlZ2lzdGVyKGJhc2UsIEFUQV9SRUdfTEJBTCk7CiAJCWlmICgobnNlY3QgPT0gMSkgJiYgKGxiYWwgPT0gMSkpCiAJCQlicmVhazsKLQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgdGltZW91dCkpIHsKKwkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgZGVhZGxpbmUpKSB7CiAJCQlkZXYxID0gMDsKIAkJCWJyZWFrOwogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX2xlZ2FjeS5jIGIvZHJpdmVycy9hdGEvcGF0YV9sZWdhY3kuYwppbmRleCBmZTdjYzhlLi5iYzAzN2ZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX2xlZ2FjeS5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfbGVnYWN5LmMKQEAgLTMwNSw3ICszMDUsNyBAQAogCQkJaW93cml0ZTMyX3JlcChhcC0+aW9hZGRyLmRhdGFfYWRkciwgYnVmLCBidWZsZW4gPj4gMik7CiAKIAkJaWYgKHVubGlrZWx5KHNsb3ApKSB7Ci0JCQl1MzIgcGFkOworCQkJX19sZTMyIHBhZDsKIAkJCWlmIChydyA9PSBSRUFEKSB7CiAJCQkJcGFkID0gY3B1X3RvX2xlMzIoaW9yZWFkMzIoYXAtPmlvYWRkci5kYXRhX2FkZHIpKTsKIAkJCQltZW1jcHkoYnVmICsgYnVmbGVuIC0gc2xvcCwgJnBhZCwgc2xvcCk7CkBAIC03NDYsMTQgKzc0NiwxMiBAQAogCQkJaW9yZWFkMzJfcmVwKGFwLT5pb2FkZHIuZGF0YV9hZGRyLCBidWYsIGJ1ZmxlbiA+PiAyKTsKIAogCQlpZiAodW5saWtlbHkoc2xvcCkpIHsKLQkJCXUzMiBwYWQ7CisJCQlfX2xlMzIgcGFkOwogCQkJaWYgKHJ3ID09IFdSSVRFKSB7CiAJCQkJbWVtY3B5KCZwYWQsIGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsIHNsb3ApOwotCQkJCXBhZCA9IGxlMzJfdG9fY3B1KHBhZCk7Ci0JCQkJaW93cml0ZTMyKHBhZCwgYXAtPmlvYWRkci5kYXRhX2FkZHIpOworCQkJCWlvd3JpdGUzMihsZTMyX3RvX2NwdShwYWQpLCBhcC0+aW9hZGRyLmRhdGFfYWRkcik7CiAJCQl9IGVsc2UgewotCQkJCXBhZCA9IGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKTsKLQkJCQlwYWQgPSBjcHVfdG9fbGUzMihwYWQpOworCQkJCXBhZCA9IGNwdV90b19sZTMyKGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKSk7CiAJCQkJbWVtY3B5KGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsICZwYWQsIHNsb3ApOwogCQkJfQogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX3FkaS5jIGIvZHJpdmVycy9hdGEvcGF0YV9xZGkuYwppbmRleCA5N2U1YjA5Li42M2I3YTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3FkaS5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfcWRpLmMKQEAgLTEzNyw3ICsxMzcsNyBAQAogCQkJaW93cml0ZTMyX3JlcChhcC0+aW9hZGRyLmRhdGFfYWRkciwgYnVmLCBidWZsZW4gPj4gMik7CiAKIAkJaWYgKHVubGlrZWx5KHNsb3ApKSB7Ci0JCQl1MzIgcGFkOworCQkJX19sZTMyIHBhZDsKIAkJCWlmIChydyA9PSBSRUFEKSB7CiAJCQkJcGFkID0gY3B1X3RvX2xlMzIoaW9yZWFkMzIoYXAtPmlvYWRkci5kYXRhX2FkZHIpKTsKIAkJCQltZW1jcHkoYnVmICsgYnVmbGVuIC0gc2xvcCwgJnBhZCwgc2xvcCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX3NjYy5jIGIvZHJpdmVycy9hdGEvcGF0YV9zY2MuYwppbmRleCBiYmY1YWEzLi4xNjY3M2QxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3NjYy5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfc2NjLmMKQEAgLTY5Niw3ICs2OTYsNyBAQAogCiAJCWlmIChyZWcgJiBJTlRTVFNfQk1TSU5UKSB7CiAJCQl1bnNpZ25lZCBpbnQgY2xhc3NlczsKLQkJCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmUgPSBqaWZmaWVzICsgQVRBX1RNT1VUX0JPT1Q7CisJCQl1bnNpZ25lZCBsb25nIGRlYWRsaW5lID0gYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9UTU9VVF9CT09UKTsKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBJbnRlcm5hbCBCdXMgRXJyb3JcbiIsIERSVl9OQU1FKTsKIAkJCW91dF9iZTMyKGJtaWRfYmFzZSArIFNDQ19ETUFfSU5UU1QsIElOVFNUU19CTVNJTlQpOwogCQkJLyogVEJEOiBTVyByZXNldCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9zaXMuYyBiL2RyaXZlcnMvYXRhL3BhdGFfc2lzLmMKaW5kZXggZTgyYzY2ZS4uMjYzNDVkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV9zaXMuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3Npcy5jCkBAIC01Niw2ICs1Niw3IEBACiAJeyAweDU1MTMsIDB4MTA0MywgMHgxMTA3IH0sCS8qIEFTVVMgQTZLICovCiAJeyAweDU1MTMsIDB4MTczNCwgMHgxMDVGIH0sCS8qIEZTQyBBbWlsbyBBMTYzMCAqLwogCXsgMHg1NTEzLCAweDEwNzEsIDB4ODY0MCB9LCAgICAgLyogRWFzeU5vdGUgSzUzMDUgKi8KKwl7IDB4NTUxMywgMHgxMDM5LCAweDU1MTMgfSwJLyogVGFyZ2EgVmlzaW9uYXJ5IDEwMDAgKi8KIAkvKiBlbmQgbWFya2VyICovCiAJeyAwLCB9CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMgYi9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYwppbmRleCA0NzQ1MjhmLi5hNzYwNmIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYwpAQCAtMTA1LDcgKzEwNSw3IEBACiAJCQlpb3dyaXRlMzJfcmVwKGFwLT5pb2FkZHIuZGF0YV9hZGRyLCBidWYsIGJ1ZmxlbiA+PiAyKTsKIAogCQlpZiAodW5saWtlbHkoc2xvcCkpIHsKLQkJCXUzMiBwYWQ7CisJCQlfX2xlMzIgcGFkOwogCQkJaWYgKHJ3ID09IFJFQUQpIHsKIAkJCQlwYWQgPSBjcHVfdG9fbGUzMihpb3JlYWQzMihhcC0+aW9hZGRyLmRhdGFfYWRkcikpOwogCQkJCW1lbWNweShidWYgKyBidWZsZW4gLSBzbG9wLCAmcGFkLCBzbG9wKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL3NhdGFfc3Z3LmMgYi9kcml2ZXJzL2F0YS9zYXRhX3N2dy5jCmluZGV4IDE2YWE2ODMuLmZiMTNiODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL3NhdGFfc3Z3LmMKKysrIGIvZHJpdmVycy9hdGEvc2F0YV9zdncuYwpAQCAtMjUzLDIxICsyNTMsMjkgQEAKIAkvKiBzdGFydCBob3N0IERNQSB0cmFuc2FjdGlvbiAqLwogCWRtYWN0bCA9IHJlYWRiKG1taW8gKyBBVEFfRE1BX0NNRCk7CiAJd3JpdGViKGRtYWN0bCB8IEFUQV9ETUFfU1RBUlQsIG1taW8gKyBBVEFfRE1BX0NNRCk7Ci0JLyogVGhlcmUgaXMgYSByYWNlIGNvbmRpdGlvbiBpbiBjZXJ0YWluIFNBVEEgY29udHJvbGxlcnMgdGhhdCBjYW4KLQkgICBiZSBzZWVuIHdoZW4gdGhlIHIvdyBjb21tYW5kIGlzIGdpdmVuIHRvIHRoZSBjb250cm9sbGVyIGJlZm9yZSB0aGUKLQkgICBob3N0IERNQSBpcyBzdGFydGVkLiBPbiBhIFJlYWQgY29tbWFuZCwgdGhlIGNvbnRyb2xsZXIgd291bGQgaW5pdGlhdGUKLQkgICB0aGUgY29tbWFuZCB0byB0aGUgZHJpdmUgZXZlbiBiZWZvcmUgaXQgc2VlcyB0aGUgRE1BIHN0YXJ0LiBXaGVuIHRoZXJlCi0JICAgYXJlIHZlcnkgZmFzdCBkcml2ZXMgY29ubmVjdGVkIHRvIHRoZSBjb250cm9sbGVyLCBvciB3aGVuIHRoZSBkYXRhIHJlcXVlc3QKLQkgICBoaXRzIGluIHRoZSBkcml2ZSBjYWNoZSwgdGhlcmUgaXMgdGhlIHBvc3NpYmlsaXR5IHRoYXQgdGhlIGRyaXZlIHJldHVybnMgYSBwYXJ0Ci0JICAgb3IgYWxsIG9mIHRoZSByZXF1ZXN0ZWQgZGF0YSB0byB0aGUgY29udHJvbGxlciBiZWZvcmUgdGhlIERNQSBzdGFydCBpcyBpc3N1ZWQuCi0JICAgSW4gdGhpcyBjYXNlLCB0aGUgY29udHJvbGxlciB3b3VsZCBiZWNvbWUgY29uZnVzZWQgYXMgdG8gd2hhdCB0byBkbyB3aXRoIHRoZSBkYXRhLgotCSAgIEluIHRoZSB3b3JzdCBjYXNlIHdoZW4gYWxsIHRoZSBkYXRhIGlzIHJldHVybmVkIGJhY2sgdG8gdGhlIGNvbnRyb2xsZXIsIHRoZQotCSAgIGNvbnRyb2xsZXIgY291bGQgaGFuZy4gSW4gb3RoZXIgY2FzZXMgaXQgY291bGQgcmV0dXJuIHBhcnRpYWwgZGF0YSByZXR1cm5pbmcKLQkgICBpbiBkYXRhIGNvcnJ1cHRpb24uIFRoaXMgcHJvYmxlbSBoYXMgYmVlbiBzZWVuIGluIFBQQyBzeXN0ZW1zIGFuZCBjYW4gYWxzbyBhcHBlYXIKLQkgICBvbiBhbiBzeXN0ZW0gd2l0aCB2ZXJ5IGZhc3QgZGlza3MsIHdoZXJlIHRoZSBTQVRBIGNvbnRyb2xsZXIgaXMgc2l0dGluZyBiZWhpbmQgYQotCSAgIG51bWJlciBvZiBicmlkZ2VzLCBhbmQgaGVuY2UgdGhlcmUgaXMgc2lnbmlmaWNhbnQgbGF0ZW5jeSBiZXR3ZWVuIHRoZSByL3cgY29tbWFuZAotCSAgIGFuZCB0aGUgc3RhcnQgY29tbWFuZC4gKi8KLQkvKiBpc3N1ZSByL3cgY29tbWFuZCBpZiB0aGUgYWNjZXNzIGlzIHRvIEFUQSovCisJLyogVGhpcyB3b3JrcyBhcm91bmQgcG9zc2libGUgZGF0YSBjb3JydXB0aW9uLgorCisJICAgT24gY2VydGFpbiBTQVRBIGNvbnRyb2xsZXJzIHRoYXQgY2FuIGJlIHNlZW4gd2hlbiB0aGUgci93CisJICAgY29tbWFuZCBpcyBnaXZlbiB0byB0aGUgY29udHJvbGxlciBiZWZvcmUgdGhlIGhvc3QgRE1BIGlzCisJICAgc3RhcnRlZC4KKworCSAgIE9uIGEgUmVhZCBjb21tYW5kLCB0aGUgY29udHJvbGxlciB3b3VsZCBpbml0aWF0ZSB0aGUKKwkgICBjb21tYW5kIHRvIHRoZSBkcml2ZSBldmVuIGJlZm9yZSBpdCBzZWVzIHRoZSBETUEKKwkgICBzdGFydC4gV2hlbiB0aGVyZSBhcmUgdmVyeSBmYXN0IGRyaXZlcyBjb25uZWN0ZWQgdG8gdGhlCisJICAgY29udHJvbGxlciwgb3Igd2hlbiB0aGUgZGF0YSByZXF1ZXN0IGhpdHMgaW4gdGhlIGRyaXZlCisJICAgY2FjaGUsIHRoZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBkcml2ZSByZXR1cm5zIGEKKwkgICBwYXJ0IG9yIGFsbCBvZiB0aGUgcmVxdWVzdGVkIGRhdGEgdG8gdGhlIGNvbnRyb2xsZXIgYmVmb3JlCisJICAgdGhlIERNQSBzdGFydCBpcyBpc3N1ZWQuICBJbiB0aGlzIGNhc2UsIHRoZSBjb250cm9sbGVyCisJICAgd291bGQgYmVjb21lIGNvbmZ1c2VkIGFzIHRvIHdoYXQgdG8gZG8gd2l0aCB0aGUgZGF0YS4gIEluCisJICAgdGhlIHdvcnN0IGNhc2Ugd2hlbiBhbGwgdGhlIGRhdGEgaXMgcmV0dXJuZWQgYmFjayB0byB0aGUKKwkgICBjb250cm9sbGVyLCB0aGUgY29udHJvbGxlciBjb3VsZCBoYW5nLiBJbiBvdGhlciBjYXNlcyBpdAorCSAgIGNvdWxkIHJldHVybiBwYXJ0aWFsIGRhdGEgcmV0dXJuaW5nIGluIGRhdGEKKwkgICBjb3JydXB0aW9uLiBUaGlzIHByb2JsZW0gaGFzIGJlZW4gc2VlbiBpbiBQUEMgc3lzdGVtcyBhbmQKKwkgICBjYW4gYWxzbyBhcHBlYXIgb24gYW4gc3lzdGVtIHdpdGggdmVyeSBmYXN0IGRpc2tzLCB3aGVyZQorCSAgIHRoZSBTQVRBIGNvbnRyb2xsZXIgaXMgc2l0dGluZyBiZWhpbmQgYSBudW1iZXIgb2YgYnJpZGdlcywKKwkgICBhbmQgaGVuY2UgdGhlcmUgaXMgc2lnbmlmaWNhbnQgbGF0ZW5jeSBiZXR3ZWVuIHRoZSByL3cKKwkgICBjb21tYW5kIGFuZCB0aGUgc3RhcnQgY29tbWFuZC4gKi8KKwkvKiBpc3N1ZSByL3cgY29tbWFuZCBpZiB0aGUgYWNjZXNzIGlzIHRvIEFUQSAqLwogCWlmIChxYy0+dGYucHJvdG9jb2wgPT0gQVRBX1BST1RfRE1BKQogCQlhcC0+b3BzLT5zZmZfZXhlY19jb21tYW5kKGFwLCAmcWMtPnRmKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL01ha2VmaWxlIGIvZHJpdmVycy9hdG0vTWFrZWZpbGUKaW5kZXggZTRmYTk5Ni4uNzQ5MjY2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdG0vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9hdG0vTWFrZWZpbGUKQEAgLTYsOSArNiw5IEBACiBob3N0cHJvZ3MteQk6PSBmb3JlMjAwZV9ta2Zpcm0KIAogIyBGaWxlcyBnZW5lcmF0ZWQgdGhhdCBzaGFsbCBiZSByZW1vdmVkIHVwb24gbWFrZSBjbGVhbgotY2xlYW4tZmlsZXMgOj0gYXRtc2FyMTEuYmluIGF0bXNhcjExLmJpbjEgYXRtc2FyMTEuYmluMiBwY2EyMDBlLmJpbiBcCi0JcGNhMjAwZS5iaW4xIHBjYTIwMGUuYmluMiBwY2EyMDBlX2VjZC5iaW4gcGNhMjAwZV9lY2QuYmluMSBcCi0JcGNhMjAwZV9lY2QuYmluMiBzYmEyMDBlX2VjZC5iaW4gc2JhMjAwZV9lY2QuYmluMSBzYmEyMDBlX2VjZC5iaW4yCitjbGVhbi1maWxlcyA6PSBwY2EyMDBlLmJpbiBwY2EyMDBlLmJpbjEgcGNhMjAwZS5iaW4yIHBjYTIwMGVfZWNkLmJpbiBcCisJcGNhMjAwZV9lY2QuYmluMSBwY2EyMDBlX2VjZC5iaW4yIHNiYTIwMGVfZWNkLmJpbiBzYmEyMDBlX2VjZC5iaW4xIFwKKwlzYmEyMDBlX2VjZC5iaW4yCiAjIEZpcm13YXJlIGdlbmVyYXRlZCB0aGF0IHNoYWxsIGJlIHJlbW92ZWQgdXBvbiBtYWtlIGNsZWFuCiBjbGVhbi1maWxlcyArPSBmb3JlMjAwZV9wY2FfZncuYyBmb3JlMjAwZV9zYmFfZncuYwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmMgYi9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmMKaW5kZXggNmFkYjcyYS4uNzAzMzY0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5jCisrKyBiL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuYwpAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3BvaXNvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdHJldi5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAKICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC0yOTAsMjkgKzI5Miw2IEBACiAgIAogKi8KIAotLyoqKioqKioqKiogbWljcm9jb2RlICoqKioqKioqKiovCi0KLSNpZmRlZiBBTUJfTkVXX01JQ1JPQ09ERQotI2RlZmluZSBVQ09ERSh4KSBVQ09ERTIoYXRtc2FyMTIueCkKLSNlbHNlCi0jZGVmaW5lIFVDT0RFKHgpIFVDT0RFMihhdG1zYXIxMS54KQotI2VuZGlmCi0jZGVmaW5lIFVDT0RFMih4KSAjeAotCi1zdGF0aWMgdTMyIF9fZGV2aW5pdGRhdGEgdWNvZGVfc3RhcnQgPQotI2luY2x1ZGUgVUNPREUoc3RhcnQpCi07Ci0KLXN0YXRpYyByZWdpb24gX19kZXZpbml0ZGF0YSB1Y29kZV9yZWdpb25zW10gPSB7Ci0jaW5jbHVkZSBVQ09ERShyZWdpb25zKQotICB7IDAsIDAgfQotfTsKLQotc3RhdGljIHUzMiBfX2RldmluaXRkYXRhIHVjb2RlX2RhdGFbXSA9IHsKLSNpbmNsdWRlIFVDT0RFKGRhdGEpCi0gIDB4ZGVhZGJlZWYKLX07Ci0KIHN0YXRpYyB2b2lkIGRvX2hvdXNla2VlcGluZyAodW5zaWduZWQgbG9uZyBhcmcpOwogLyoqKioqKioqKiogZ2xvYmFscyAqKioqKioqKioqLwogCkBAIC0xODQxLDQ1ICsxODIwLDM0IEBACiAKIC8qIGxvYWRlcjogd3JpdGUgbWVtb3J5IGRhdGEgYmxvY2tzICovCiAKLXN0YXRpYyBpbnQgX19kZXZpbml0IGxvYWRlcl93cml0ZSAobG9hZGVyX2Jsb2NrICogbGIsCi0JCQkJY29uc3QgYW1iX2RldiAqIGRldiwgY29uc3QgdTMyICogZGF0YSwKLQkJCQl1MzIgYWRkcmVzcywgdW5zaWduZWQgaW50IGNvdW50KSB7Ci0gIHVuc2lnbmVkIGludCBpOworc3RhdGljIGludCBfX2RldmluaXQgbG9hZGVyX3dyaXRlIChsb2FkZXJfYmxvY2sqIGxiLAorCQkJCSAgIGNvbnN0IGFtYl9kZXYgKmRldiwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYykgewogICB0cmFuc2Zlcl9ibG9jayAqIHRiID0gJmxiLT5wYXlsb2FkLnRyYW5zZmVyOwogICAKICAgUFJJTlREIChEQkdfRkxPV3xEQkdfTE9BRCwgImxvYWRlcl93cml0ZSIpOwotICAKLSAgaWYgKGNvdW50ID4gTUFYX1RSQU5TRkVSX0RBVEEpCi0gICAgcmV0dXJuIC1FSU5WQUw7Ci0gIHRiLT5hZGRyZXNzID0gY3B1X3RvX2JlMzIgKGFkZHJlc3MpOwotICB0Yi0+Y291bnQgPSBjcHVfdG9fYmUzMiAoY291bnQpOwotICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAgICB0Yi0+ZGF0YVtpXSA9IGNwdV90b19iZTMyIChkYXRhW2ldKTsKKworICB0Yi0+YWRkcmVzcyA9IHJlYy0+YWRkcjsKKyAgdGItPmNvdW50ID0gY3B1X3RvX2JlMzIoYmUxNl90b19jcHUocmVjLT5sZW4pIC8gNCk7CisgIG1lbWNweSh0Yi0+ZGF0YSwgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogICByZXR1cm4gZG9fbG9hZGVyX2NvbW1hbmQgKGxiLCBkZXYsIHdyaXRlX2FkYXB0ZXJfbWVtb3J5KTsKIH0KIAogLyogbG9hZGVyOiB2ZXJpZnkgbWVtb3J5IGRhdGEgYmxvY2tzICovCiAKIHN0YXRpYyBpbnQgX19kZXZpbml0IGxvYWRlcl92ZXJpZnkgKGxvYWRlcl9ibG9jayAqIGxiLAotCQkJCSBjb25zdCBhbWJfZGV2ICogZGV2LCBjb25zdCB1MzIgKiBkYXRhLAotCQkJCSB1MzIgYWRkcmVzcywgdW5zaWduZWQgaW50IGNvdW50KSB7Ci0gIHVuc2lnbmVkIGludCBpOworCQkJCSAgICBjb25zdCBhbWJfZGV2ICpkZXYsCisJCQkJICAgIGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjKSB7CiAgIHRyYW5zZmVyX2Jsb2NrICogdGIgPSAmbGItPnBheWxvYWQudHJhbnNmZXI7CiAgIGludCByZXM7CiAgIAogICBQUklOVEQgKERCR19GTE9XfERCR19MT0FELCAibG9hZGVyX3ZlcmlmeSIpOwogICAKLSAgaWYgKGNvdW50ID4gTUFYX1RSQU5TRkVSX0RBVEEpCi0gICAgcmV0dXJuIC1FSU5WQUw7Ci0gIHRiLT5hZGRyZXNzID0gY3B1X3RvX2JlMzIgKGFkZHJlc3MpOwotICB0Yi0+Y291bnQgPSBjcHVfdG9fYmUzMiAoY291bnQpOworICB0Yi0+YWRkcmVzcyA9IHJlYy0+YWRkcjsKKyAgdGItPmNvdW50ID0gY3B1X3RvX2JlMzIoYmUxNl90b19jcHUocmVjLT5sZW4pIC8gNCk7CiAgIHJlcyA9IGRvX2xvYWRlcl9jb21tYW5kIChsYiwgZGV2LCByZWFkX2FkYXB0ZXJfbWVtb3J5KTsKLSAgaWYgKCFyZXMpCi0gICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpCi0gICAgICBpZiAodGItPmRhdGFbaV0gIT0gY3B1X3RvX2JlMzIgKGRhdGFbaV0pKSB7Ci0JcmVzID0gLUVJTlZBTDsKLQlicmVhazsKLSAgICAgIH0KKyAgaWYgKCFyZXMgJiYgbWVtY21wKHRiLT5kYXRhLCByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSkpCisgICAgcmVzID0gLUVJTlZBTDsKICAgcmV0dXJuIHJlczsKIH0KIApAQCAtMTk2Miw0NyArMTkzMCw1MyBAQAogLyoqKioqKioqKiogdHJhbnNmZXIgYW5kIHN0YXJ0IHRoZSBtaWNyb2NvZGUgKioqKioqKioqKi8KIAogc3RhdGljIGludCBfX2RldmluaXQgdWNvZGVfaW5pdCAobG9hZGVyX2Jsb2NrICogbGIsIGFtYl9kZXYgKiBkZXYpIHsKLSAgdW5zaWduZWQgaW50IGkgPSAwOwotICB1bnNpZ25lZCBpbnQgdG90YWwgPSAwOwotICBjb25zdCB1MzIgKiBwb2ludGVyID0gdWNvZGVfZGF0YTsKLSAgdTMyIGFkZHJlc3M7Ci0gIHVuc2lnbmVkIGludCBjb3VudDsKKyAgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKyAgdW5zaWduZWQgbG9uZyBzdGFydF9hZGRyZXNzOworICBjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKICAgaW50IHJlczsKICAgCisgIHJlcyA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsICJhdG1zYXIxMS5mdyIsICZkZXYtPnBjaV9kZXYtPmRldik7CisgIGlmIChyZXMpIHsKKyAgICBQUklOVEsgKEtFUk5fRVJSLCAiQ2Fubm90IGxvYWQgbWljcm9jb2RlIGRhdGEiKTsKKyAgICByZXR1cm4gcmVzOworICB9CisKKyAgLyogRmlyc3QgcmVjb3JkIGNvbnRhaW5zIGp1c3QgdGhlIHN0YXJ0IGFkZHJlc3MgKi8KKyAgcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOworICBpZiAoYmUxNl90b19jcHUocmVjLT5sZW4pICE9IHNpemVvZihfX2JlMzIpIHx8IGJlMzJfdG9fY3B1KHJlYy0+YWRkcikpIHsKKyAgICBQUklOVEsgKEtFUk5fRVJSLCAiQmFkIG1pY3JvY29kZSBkYXRhIChubyBzdGFydCByZWNvcmQpIik7CisgICAgcmV0dXJuIC1FSU5WQUw7CisgIH0KKyAgc3RhcnRfYWRkcmVzcyA9IGJlMzJfdG9fY3B1cCgoX19iZTMyICopcmVjLT5kYXRhKTsKKworICByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7CisKICAgUFJJTlREIChEQkdfRkxPV3xEQkdfTE9BRCwgInVjb2RlX2luaXQiKTsKLSAgCi0gIHdoaWxlIChhZGRyZXNzID0gdWNvZGVfcmVnaW9uc1tpXS5zdGFydCwKLQkgY291bnQgPSB1Y29kZV9yZWdpb25zW2ldLmNvdW50KSB7Ci0gICAgUFJJTlREIChEQkdfTE9BRCwgInN0YXJ0aW5nIHJlZ2lvbiAoJXgsICV1KSIsIGFkZHJlc3MsIGNvdW50KTsKLSAgICB3aGlsZSAoY291bnQpIHsKLSAgICAgIHVuc2lnbmVkIGludCB3b3JkczsKLSAgICAgIGlmIChjb3VudCA8PSBNQVhfVFJBTlNGRVJfREFUQSkKLQl3b3JkcyA9IGNvdW50OwotICAgICAgZWxzZQotCXdvcmRzID0gTUFYX1RSQU5TRkVSX0RBVEE7Ci0gICAgICB0b3RhbCArPSB3b3JkczsKLSAgICAgIHJlcyA9IGxvYWRlcl93cml0ZSAobGIsIGRldiwgcG9pbnRlciwgYWRkcmVzcywgd29yZHMpOwotICAgICAgaWYgKHJlcykKLQlyZXR1cm4gcmVzOwotICAgICAgcmVzID0gbG9hZGVyX3ZlcmlmeSAobGIsIGRldiwgcG9pbnRlciwgYWRkcmVzcywgd29yZHMpOwotICAgICAgaWYgKHJlcykKLQlyZXR1cm4gcmVzOwotICAgICAgY291bnQgLT0gd29yZHM7Ci0gICAgICBhZGRyZXNzICs9IHNpemVvZih1MzIpICogd29yZHM7Ci0gICAgICBwb2ludGVyICs9IHdvcmRzOworCisgIHdoaWxlIChyZWMpIHsKKyAgICBQUklOVEQgKERCR19MT0FELCAic3RhcnRpbmcgcmVnaW9uICgleCwgJXUpIiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkgICAgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKKyAgICBpZiAoYmUxNl90b19jcHUocmVjLT5sZW4pID4gNCAqIE1BWF9UUkFOU0ZFUl9EQVRBKSB7CisJICAgIFBSSU5USyAoS0VSTl9FUlIsICJCYWQgbWljcm9jb2RlIGRhdGEgKHJlY29yZCB0b28gbG9uZykiKTsKKwkgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQotICAgIGkgKz0gMTsKKyAgICBpZiAoYmUxNl90b19jcHUocmVjLT5sZW4pICYgMykgeworCSAgICBQUklOVEsgKEtFUk5fRVJSLCAiQmFkIG1pY3JvY29kZSBkYXRhIChvZGQgbnVtYmVyIG9mIGJ5dGVzKSIpOworCSAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisgICAgcmVzID0gbG9hZGVyX3dyaXRlKGxiLCBkZXYsIHJlYyk7CisgICAgaWYgKHJlcykKKyAgICAgIGJyZWFrOworCisgICAgcmVzID0gbG9hZGVyX3ZlcmlmeShsYiwgZGV2LCByZWMpOworICAgIGlmIChyZXMpCisgICAgICBicmVhazsKICAgfQotICBpZiAoKnBvaW50ZXIgPT0gQVRNX1BPSVNPTikgewotICAgIHJldHVybiBsb2FkZXJfc3RhcnQgKGxiLCBkZXYsIHVjb2RlX3N0YXJ0KTsKLSAgfSBlbHNlIHsKLSAgICAvLyBjYXN0IG5lZWRlZCBhcyB0aGVyZSBpcyBubyAlPyBmb3IgcG9pbnRlciBkaWZmZXJuY2VzCi0gICAgUFJJTlREIChEQkdfTE9BRHxEQkdfRVJSLAotCSAgICAib2Zmc2V0PSVsaSwgKnBvaW50ZXI9JXgsIGFkZHJlc3M9JXgsIHRvdGFsPSV1IiwKLQkgICAgKGxvbmcpIChwb2ludGVyIC0gdWNvZGVfZGF0YSksICpwb2ludGVyLCBhZGRyZXNzLCB0b3RhbCk7Ci0gICAgUFJJTlRLIChLRVJOX0VSUiwgImluY29ycmVjdCBtaWNyb2NvZGUgZGF0YSIpOwotICAgIHJldHVybiAtRU5PTUVNOwotICB9CisgIHJlbGVhc2VfZmlybXdhcmUoZncpOworICBpZiAoIXJlcykKKyAgICByZXMgPSBsb2FkZXJfc3RhcnQobGIsIGRldiwgc3RhcnRfYWRkcmVzcyk7CisKKyAgcmV0dXJuIHJlczsKIH0KIAogLyoqKioqKioqKiogZ2l2ZSBhZGFwdGVyIHBhcmFtZXRlcnMgKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuaCBiL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuaAppbmRleCBkZjU1ZmE4Li5iZDFjNDZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmgKKysrIGIvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5oCkBAIC02NTYsMTcgKzY1Niw2IEBACiAjZGVmaW5lIEFNQl9ERVYoYXRtX2RldikgKChhbWJfZGV2ICopIChhdG1fZGV2KS0+ZGV2X2RhdGEpCiAjZGVmaW5lIEFNQl9WQ0MoYXRtX3ZjYykgKChhbWJfdmNjICopIChhdG1fdmNjKS0+ZGV2X2RhdGEpCiAKLS8qIHRoZSBtaWNyb2NvZGUgKi8KLQotdHlwZWRlZiBzdHJ1Y3QgewotICB1MzIgc3RhcnQ7Ci0gIHVuc2lnbmVkIGludCBjb3VudDsKLX0gcmVnaW9uOwotCi1zdGF0aWMgcmVnaW9uIHVjb2RlX3JlZ2lvbnNbXTsKLXN0YXRpYyB1MzIgdWNvZGVfZGF0YVtdOwotc3RhdGljIHUzMiB1Y29kZV9zdGFydDsKLQogLyogcmF0ZSByb3VuZGluZyAqLwogCiB0eXBlZGVmIGVudW0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdG0vYXRtc2FyMTEuZGF0YSBiL2RyaXZlcnMvYXRtL2F0bXNhcjExLmRhdGEKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkYzhhNzYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hdG0vYXRtc2FyMTEuZGF0YQorKysgL2Rldi9udWxsCkBAIC0xLDIwNjMgKzAsMCBAQAotLyoKLSAgTWFkZ2UgQW1iYXNzYWRvciBBVE0gQWRhcHRlciBtaWNyb2NvZGUuCi0gIENvcHlyaWdodCAoQykgMTk5NS0xOTk5ICBNYWRnZSBOZXR3b3JrcyBMdGQuCi0gIAotICBUaGlzIG1pY3JvY29kZSBkYXRhIGlzIHBsYWNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsCi0gIFB1YmxpYyBMaWNlbnNlLiBUaGUgR1BMIGlzIGNvbnRhaW5lZCBpbiAvdXNyL2RvYy9jb3B5cmlnaHQvR1BMIG9uIGEKLSAgRGViaWFuIHN5c3RlbSBhbmQgaW4gdGhlIGZpbGUgQ09QWUlORyBpbiB0aGUgTGludXgga2VybmVsIHNvdXJjZS4KLSAgCi0gIFdlIHdvdWxkIHByZWZlciB5b3Ugbm90IHRvIGRpc3RyaWJ1dGUgbW9kaWZpZWQgdmVyc2lvbnMgd2l0aG91dAotICBjb25zdWx0YXRpb24gYW5kIG5vdCB0byBhc2sgZm9yIGFzc2VtYmx5L290aGVyIG1pY3JvY29kZSBzb3VyY2UuCi0qLwotCi0gIDB4NDAxYTY4MDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzM1YjAwN2MsCi0gIDB4MTM2MDAwMDUsCi0gIDB4MzM1YjEwMDAsCi0gIDB4M2MxYWEwYzAsCi0gIDB4Mzc1YTAxODAsCi0gIDB4MDM0MDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTc2MGZmZmIsCi0gIDB4MzM1YjQwMDAsCi0gIDB4NDAxYTcwMDAsCi0gIDB4MTM2MDAwMDMsCi0gIDB4MjQxYjBmYzAsCi0gIDB4YWY5YjQ1MDAsCi0gIDB4MjUwODAwMDgsCi0gIDB4MDM0MDAwMDgsCi0gIDB4NDIwMDAwMTAsCi0gIDB4OGY4MTBjOTAsCi0gIDB4MzIyMjAwMDIsCi0gIDB4MTA0MDAwMDMsCi0gIDB4M2MwM2EwZDEsCi0gIDB4MjQ2M2Y4MTAsCi0gIDB4MDA2MGY4MDksCi0gIDB4MjQyMTAwMDEsCi0gIDB4MTAwMDAwMWEsCi0gIDB4YWY4MTBjOTAsCi0gIDB4ODIwMjAwMTEsCi0gIDB4YWY5MDBjNDgsCi0gIDB4MDQ0MTAwMGEsCi0gIDB4MzQ0MjAwODAsCi0gIDB4OTY3ZDAwMDIsCi0gIDB4OTYwMjAwMTIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA1ZDAwMTEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDQxMTAxNjEsCi0gIDB4YTY2MjAwMDIsCi0gIDB4MTAwMDAwMGQsCi0gIDB4YWU2MjAwMGMsCi0gIDB4MzQ4NDgwMDAsCi0gIDB4YTIwMjAwMTEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MzRjMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MzBmZWMsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4MDAwNDE0MDAsCi0gIDB4MDQ0MGZmZjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4OGUxMDAwMDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MzRjMDAsCi0gIDB4NDkwMDAwMWQsCi0gIDB4YWY4MzBmZWMsCi0gIDB4OGY4MjBjYmMsCi0gIDB4OGY5ZDBjNGMsCi0gIDB4MjQ0MjAwMDEsCi0gIDB4OTdiZTAwMDAsCi0gIDB4YWY4MjBjYmMsCi0gIDB4MTNjMDAwMDksCi0gIDB4YWNhMjAwZDgsCi0gIDB4YTdhMDAwMDAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAzZTA4MjUsCi0gIDB4OTQyMjAwMmMsCi0gIDB4MDQxMTAxM2YsCi0gIDB4YTQyMjAwMDIsCi0gIDB4YWMyMjAwMGMsCi0gIDB4YWMyMDAwMTAsCi0gIDB4OGY5ZTBjNTQsCi0gIDB4MjdiZDAwMDIsCi0gIDB4MTdiZTAwMDIsCi0gIDB4OGNhMjAwYzAsCi0gIDB4OGY5ZDBjNTAsCi0gIDB4OGY5NzBmYzgsCi0gIDB4YWY5ZDBjNGMsCi0gIDB4MTJlMjAwMDUsCi0gIDB4ODc4MDQwMDIsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmY5NGMsCi0gIDB4MDA0MGY4MDksCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NDUwMGZmZGMsCi0gIDB4OGUxMTAwMGMsCi0gIDB4M2MxMzAwZDEsCi0gIDB4MDAxMTExMDIsCi0gIDB4MmM0MzA0MDAsCi0gIDB4MTA2MGZmYjksCi0gIDB4MDAwMjExODAsCi0gIDB4MDI2Mjk4MjEsCi0gIDB4OGU3NjAwM2MsCi0gIDB4MzIyMjAwMDgsCi0gIDB4MTQ0MGZmYjcsCi0gIDB4OGU3NzAwMzQsCi0gIDB4OGU3NTAwMzAsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MTZjMDAwMDMsCi0gIDB4MDJkNTEwMmIsCi0gIDB4MDQxMTAwYmUsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA0MGZmYTYsCi0gIDB4MDA3MDE4MjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjMDAsCi0gIDB4YWY5NzRjMDAsCi0gIDB4YWY4MjBmZWMsCi0gIDB4YWM3NjAwMTAsCi0gIDB4MDI2MDkwMjEsCi0gIDB4MzIyMjAwMDIsCi0gIDB4MTA0MDAwMDcsCi0gIDB4OGY5NDRhMDAsCi0gIDB4OTYwMjAwM2EsCi0gIDB4MzQ4NDAwMDQsCi0gIDB4MTQ0MDAwMDMsCi0gIDB4YWY4MjBmYmMsCi0gIDB4M2MwMjkwMDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4OGUxMDAwMDgsCi0gIDB4MzI5NDNmMDAsCi0gIDB4OGUxMTAwMGMsCi0gIDB4MjY5NGZmMDAsCi0gIDB4MTI4MDAwNzMsCi0gIDB4M2MxMzAwZDEsCi0gIDB4NDkwMTAwNzEsCi0gIDB4MzIzNzAwMDgsCi0gIDB4MTZlMDAwNmYsCi0gIDB4MDAxMTExMDIsCi0gIDB4MmM0MzA0MDAsCi0gIDB4MTA2MDAwNmMsCi0gIDB4MDAwMmI5ODAsCi0gIDB4MDAwNDE3NDAsCi0gIDB4MDQ0MDAwM2EsCi0gIDB4MDI3Nzk4MjEsCi0gIDB4MTI3MjAwMjMsCi0gIDB4MjZkNjAwMzAsCi0gIDB4YWU1NjAwM2MsCi0gIDB4OGU3NjAwM2MsCi0gIDB4OGU3NzAwMzQsCi0gIDB4OGU3NTAwMzAsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MTZjMDAwMDMsCi0gIDB4MDJkNTEwMmIsCi0gIDB4MDQxMTAwOTEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA0MDAwNjAsCi0gIDB4MmU4MjEwMDAsCi0gIDB4MTQ0MDAwMDksCi0gIDB4MDA3MDE4MjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjMDAsCi0gIDB4YWY5NzRjMDAsCi0gIDB4YWM3NjAwMTAsCi0gIDB4YWU0MjAwMzQsCi0gIDB4MTAwMGZmZDAsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MDA3MDE4MjYsCi0gIDB4YWU0NjAwMzQsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjMDAsCi0gIDB4YWY5NzRjMDAsCi0gIDB4YWY4MjBmZWMsCi0gIDB4YWM3NjAwMTAsCi0gIDB4MTAwMGZmYzMsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MDJkNTEwMmIsCi0gIDB4MTA0MDAwNDIsCi0gIDB4M2MxN2NmYjAsCi0gIDB4MmU4MjEwMDAsCi0gIDB4MTQ0MDAwMDYsCi0gIDB4MDJmMGI4MjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWVmNjAwMTAsCi0gIDB4MTAwMGZmYjgsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjMDAsCi0gIDB4YWY4NjRjMDAsCi0gIDB4YWVmNjAwMTAsCi0gIDB4YWY4MjBmZWMsCi0gIDB4MTAwMGZmYWUsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MzA4NGZmZmIsCi0gIDB4OGU1NzAwMzgsCi0gIDB4MzI0MmZmYzAsCi0gIDB4MDAwMjExODIsCi0gIDB4YTc4MjBmYjgsCi0gIDB4YWY5NzBmYjQsCi0gIDB4ODY1ZDAwMmEsCi0gIDB4ODY1ZTAwMDgsCi0gIDB4YTc5ZDBmYmEsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MzNkZTAwNjAsCi0gIDB4MDNiZWU4MjEsCi0gIDB4MDAxZWYwYzIsCi0gIDB4MDNiZWU4MjEsCi0gIDB4OGY5NzBjNTgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MzRjMDAsCi0gIDB4OGZhMjAwMWMsCi0gIDB4MTJlMzAwMDMsCi0gIDB4M2MwMzBjNDAsCi0gIDB4M2MxZWMwMDAsCi0gIDB4YWY5ZTBmYmMsCi0gIDB4YWM2MjBmYjQsCi0gIDB4OGZhMzAwMTgsCi0gIDB4MjQ0MjAwMGMsCi0gIDB4MTQ0MzAwMDIsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4OGZhMjAwMTQsCi0gIDB4YWU0MDAwM2MsCi0gIDB4YWZhMjAwMWMsCi0gIDB4OGU3NjAwM2MsCi0gIDB4OGU3NzAwMzQsCi0gIDB4OGU3NTAwMzAsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MTZjMDAwMDMsCi0gIDB4MDJkNTEwMmIsCi0gIDB4MDQxMTAwM2MsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA3MDE4MjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWNhNTAwZTQsCi0gIDB4MTA0MDAwMzIsCi0gIDB4YWY5NzRjMDAsCi0gIDB4MTAwMGZmN2YsCi0gIDB4YWM3NjAwMTAsCi0gIDB4MDAwNDE3NDAsCi0gIDB4MDQ0MDAwMDcsCi0gIDB4MjZkNjAwMzAsCi0gIDB4YWU1NjAwM2MsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MTAwMGZmMzksCi0gIDB4YWU0NjAwMzQsCi0gIDB4OGU1NzAwMzgsCi0gIDB4MzI0MmZmYzAsCi0gIDB4MDAwMjExODIsCi0gIDB4YTc4MjBmYjgsCi0gIDB4YWY5NzBmYjQsCi0gIDB4OGY5NzBjNTgsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4MTJlNjAwMDMsCi0gIDB4M2MwMzBjNDAsCi0gIDB4M2MwMmMwMDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4ODY1ZDAwMmEsCi0gIDB4ODY1ZTAwMDgsCi0gIDB4YTc5ZDBmYmEsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MzNkZTAwNjAsCi0gIDB4MDNiZWU4MjEsCi0gIDB4MDAxZWYwYzIsCi0gIDB4MDNiZWU4MjEsCi0gIDB4OGZhMjAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NzRjMDAsCi0gIDB4YWM2MjBmYjQsCi0gIDB4MzA4NGZmZmIsCi0gIDB4OGZhMzAwMTgsCi0gIDB4MjQ0MjAwMGMsCi0gIDB4MTQ0MzAwMDIsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4OGZhMjAwMTQsCi0gIDB4YWU0MDAwM2MsCi0gIDB4YWZhMjAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWNhNTAwZTQsCi0gIDB4MTAwMGZmMTMsCi0gIDB4YWY5NzRjMDAsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4MTAwMGZmMGYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA0MDAwNWIsCi0gIDB4ODY3ZTAwMDgsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MzNkZTAwNjAsCi0gIDB4MDNiZWU4MjEsCi0gIDB4MDAxZTEwYzIsCi0gIDB4MDNhMmU4MjEsCi0gIDB4OGZiNzAwMDgsCi0gIDB4OGZhMjAwMGMsCi0gIDB4OGVmNjAwMDQsCi0gIDB4MTJlMjAwMjgsCi0gIDB4ODY2MjAwMDgsCi0gIDB4ODIwMzAwMTAsCi0gIDB4MDAwMjE3NDAsCi0gIDB4MDQ0MTAwMTksCi0gIDB4MjQ2MzAwMDEsCi0gIDB4MTA2MDAwMTcsCi0gIDB4M2MwMmQxYjAsCi0gIDB4MDA1MDEwMjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5ZTRjMDAsCi0gIDB4YWM1NjAwMTAsCi0gIDB4MjZkNmZmZmUsCi0gIDB4ODYwMjAwMTAsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MzQ2MzIwMDAsCi0gIDB4YTY2MjAwMmEsCi0gIDB4OGVlMjAwMDAsCi0gIDB4MjZmNzAwMDgsCi0gIDB4YWU2MjAwMzgsCi0gIDB4OGZhMjAwMjAsCi0gIDB4YWZiNzAwMDgsCi0gIDB4MjQxN2ZmZmYsCi0gIDB4MDJjMmE4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY5ZTRjMDAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWU3NTAwMzAsCi0gIDB4OGVlMjAwMDAsCi0gIDB4MjZmNzAwMDgsCi0gIDB4YWU2MjAwMzgsCi0gIDB4OGZhMjAwMjAsCi0gIDB4YWZiNzAwMDgsCi0gIDB4MjQxN2ZmZmYsCi0gIDB4YTY3NzAwMmEsCi0gIDB4MDJjMmE4MjEsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWU3NTAwMzAsCi0gIDB4MDAxZTE4YzIsCi0gIDB4MDA2NTE4MjEsCi0gIDB4OGM2MzAwYzgsCi0gIDB4OGZhMjAwMTAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA2MmIwMjMsCi0gIDB4MWVjMDAwMDMsCi0gIDB4OGZhMTAwMDQsCi0gIDB4MTJjMDAwMWIsCi0gIDB4MDAyMmIwMjMsCi0gIDB4MmVjMzAwNDEsCi0gIDB4MTQ2MDAwMDIsCi0gIDB4M2MxNTAwNDAsCi0gIDB4MjQxNjAwNDAsCi0gIDB4MDAxNjFlODAsCi0gIDB4MDAwMzE4ODIsCi0gIDB4MDA3NTE4MjUsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NTRjMDAsCi0gIDB4MDAxZWI4NDAsCi0gIDB4MDA3NzE4MjEsCi0gIDB4YWM2MjRkMDAsCi0gIDB4MDA1NjEwMjEsCi0gIDB4MTQ0MTAwMDIsCi0gIDB4Mjc4MzBkMDAsCi0gIDB4OGZhMjAwMDAsCi0gIDB4MDJlM2I4MjEsCi0gIDB4YWZhMjAwMTAsCi0gIDB4MDJkNzE4MjEsCi0gIDB4YWZhMzAwMGMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGVmNjAwMDQsCi0gIDB4MTAwMGZmYjUsCi0gIDB4YWY5NTRjMDAsCi0gIDB4M2MxNmRlYWQsCi0gIDB4YWU3NjAwM2MsCi0gIDB4YWU2MDAwMzgsCi0gIDB4MjZkNWZmZmYsCi0gIDB4MDAwMDEwMjEsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWU3NTAwMzAsCi0gIDB4MmM0MzBhYjIsCi0gIDB4MTA2MDAwMDUsCi0gIDB4MmM0MzI0YjIsCi0gIDB4MTAwMDAwMDQsCi0gIDB4MjQwMjBhYjIsCi0gIDB4MTAwMDAwMDIsCi0gIDB4MjQwMjI0YjEsCi0gIDB4MTA2MGZmZmQsCi0gIDB4MzA0MzAxZmYsCi0gIDB4MDAwMzE4NDAsCi0gIDB4M2MxZGEwZDEsCi0gIDB4MjdiZGQ2Y2MsCi0gIDB4MDA3ZDE4MjEsCi0gIDB4OTQ2MzAwMDAsCi0gIDB4MDAwMmVhNDIsCi0gIDB4MDAwMzFjMDAsCi0gIDB4MjdiZGZmZmIsCi0gIDB4MDNlMDAwMDgsCi0gIDB4MDNhMzEwMDYsCi0gIDB4MjQwMzBmYzAsCi0gIDB4YWY4MzQ1MDAsCi0gIDB4MTAwMDAwMDIsCi0gIDB4MDEyMDYwMjEsCi0gIDB4M2MwY2NmYjAsCi0gIDB4MTFlMDAwNTYsCi0gIDB4MDE4OTYwMjYsCi0gIDB4ODVmZTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTNjMDAwNDcsCi0gIDB4M2MwMmNmYjAsCi0gIDB4MDdjMDAwMmQsCi0gIDB4MDAxZTFmODAsCi0gIDB4MDQ2MTAwMzQsCi0gIDB4MDAxZTFmYzAsCi0gIDB4MDQ2MDAwMDksCi0gIDB4M2MwMmQzYjAsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4OGY5OTBmZWMsCi0gIDB4MTAwMDAwMGIsCi0gIDB4YWY5OTRjMDAsCi0gIDB4MDFlMjc4MjYsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4YWY5OTRjMDAsCi0gIDB4YWRlZjIwMTAsCi0gIDB4M2MwMmQzYjAsCi0gIDB4MDFlMjc4MjYsCi0gIDB4OGY4MjBmYzAsCi0gIDB4OGY4MzBmYzQsCi0gIDB4YWY4MjRkMDAsCi0gIDB4OGRlMjAwMDQsCi0gIDB4YTVlMDAwMDAsCi0gIDB4YWM2MjAwMDAsCi0gIDB4OGM2MjAwMDAsCi0gIDB4MjQwMjAzODAsCi0gIDB4YWY4MjRkMDAsCi0gIDB4OGY4MjRkMDAsCi0gIDB4OGY4MjBmMTQsCi0gIDB4MjQ2MzAwMDQsCi0gIDB4MTQ2MjAwMDIsCi0gIDB4MjQxOWZmZmYsCi0gIDB4OGY4MzBmMTAsCi0gIDB4YWNhNTAwZTQsCi0gIDB4YWY4MzBmYzQsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjODAsCi0gIDB4MTAwMDAwMWYsCi0gIDB4YWRlMjAwM2MsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTVlMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4MTU4MDAwMjIsCi0gIDB4YWY4ZjQ1NDAsCi0gIDB4MTAwMDAwMTcsCi0gIDB4MDFlMjc4MjYsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4YWY5OTRjMDAsCi0gIDB4YWRlZjIwMTAsCi0gIDB4M2MwMmNmYjAsCi0gIDB4MDFlMjc4MjYsCi0gIDB4YTVlMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMDAwMDcsCi0gIDB4OGY5OTRjMDAsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4OGY5OTBmZWMsCi0gIDB4MTU4MDAwMGEsCi0gIDB4YWY4ZjQ1MDAsCi0gIDB4MDAwMDc4MjEsCi0gIDB4MTAwMDAwMTQsCi0gIDB4YWYxOTAwMTQsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTE4MGZmZjgsCi0gIDB4OGY4NjRjMDAsCi0gIDB4ODUyMjAwMDAsCi0gIDB4MDEyMDc4MjEsCi0gIDB4MDQ0MDAwMGEsCi0gIDB4OGQyOTAwMDgsCi0gIDB4MTMwYjAwMDQsCi0gIDB4MDAwYzE2MDIsCi0gIDB4YWYxOTAwMTQsCi0gIDB4OGQ3OTAwMTQsCi0gIDB4MDE2MGMwMjEsCi0gIDB4YWY5OTRjMDAsCi0gIDB4YWQ4ZTQwMTAsCi0gIDB4MzA0MjAwM2YsCi0gIDB4MDFjMjcwMjEsCi0gIDB4MDAwNDE3ODAsCi0gIDB4MDQ0MDAxOGIsCi0gIDB4OGY4MjRhMDAsCi0gIDB4MzA4MTgwMDAsCi0gIDB4MzA0MjAwMDQsCi0gIDB4MTQ0MGZmOGQsCi0gIDB4OGQ0YjAwMDAsCi0gIDB4MTAyMDAwMGMsCi0gIDB4MzA4NDdmZmYsCi0gIDB4OGY4MjBjNDgsCi0gIDB4MDEyMGYwMjEsCi0gIDB4MjQ0MzAwMzQsCi0gIDB4OGM1ZDAwMGMsCi0gIDB4MjQ0MjAwMDQsCi0gIDB4YWZkZDAwMGMsCi0gIDB4MTQ2MmZmZmMsCi0gIDB4MjdkZTAwMDQsCi0gIDB4YTUyMTAwMDAsCi0gIDB4MTAwMGZmODIsCi0gIDB4MjUwODAwMDgsCi0gIDB4MTE2MDAwNTgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ODU3ZDAwMDgsCi0gIDB4OGQ2MzAwMGMsCi0gIDB4OTU2MjAwMGEsCi0gIDB4OGQ0MTAwMDQsCi0gIDB4MDdhMTAwMjYsCi0gIDB4MDA2MjE4MjEsCi0gIDB4YTU2MzAwMGEsCi0gIDB4MDAwMzFjMDIsCi0gIDB4MDQxMTAxYTAsCi0gIDB4MDAwMzE4YzAsCi0gIDB4MDAxZDE2YzAsCi0gIDB4MDQ0MTAwMWYsCi0gIDB4MjdhMjAwODAsCi0gIDB4MDAwMjFjYzAsCi0gIDB4MDQ2MTAwMGUsCi0gIDB4MDA0MGU4MjEsCi0gIDB4MjdiZDAwODAsCi0gIDB4OTU2MjAwMDAsCi0gIDB4OTU2MzAwMDIsCi0gIDB4MzQ0MjAwMGMsCi0gIDB4YWQyMjAwMGMsCi0gIDB4MjQwMjAxMDAsCi0gIDB4YTUyMjAwMTAsCi0gIDB4OTU2MjAwMmMsCi0gIDB4YTUyMzAwMTQsCi0gIDB4YTUyMjAwMTIsCi0gIDB4YTUyMDAwMTYsCi0gIDB4MzQwMjgwMDAsCi0gIDB4YTUyMjAwMDAsCi0gIDB4YTU3ZDAwMDgsCi0gIDB4MDdhMDAwMGMsCi0gIDB4OGY4MjBjNGMsCi0gIDB4OGY4MzBjNTAsCi0gIDB4MjQ0MWZmZTgsCi0gIDB4MDAyM2YwMmIsCi0gIDB4MTNjMDAwMDIsCi0gIDB4MDAyMDEwMjEsCi0gIDB4MjQ0MjA0MDAsCi0gIDB4OTQ1ZTAwMDAsCi0gIDB4MjQ0MWZmZmUsCi0gIDB4MTdjMGZmZjksCi0gIDB4YWQ2MjAwMTAsCi0gIDB4YTQ0YjAwMDAsCi0gIDB4MTQyYjAwMWMsCi0gIDB4YWQ0MDAwMDAsCi0gIDB4YWQ0MDAwMDQsCi0gIDB4MjU0YTAwMDgsCi0gIDB4MzE0MjAwN2YsCi0gIDB4MTQ0MDAwMGUsCi0gIDB4MDAwNDE3ODAsCi0gIDB4MDQ0MTAwMDMsCi0gIDB4OGY4MjBmZTAsCi0gIDB4MTAwMDAwMDYsCi0gIDB4MzQ4NDAwMDEsCi0gIDB4MzQ4NDAwMDIsCi0gIDB4MjQ0MjAwMDgsCi0gIDB4MzQ0MjEwMDAsCi0gIDB4Mzg0MjEwMDAsCi0gIDB4YWY4MjBmZTAsCi0gIDB4MzU0YTAxMDAsCi0gIDB4Mzk0YTAxMDAsCi0gIDB4Mzk0MjAwODAsCi0gIDB4YWY4MjBmZTQsCi0gIDB4MDAxZDE0YzAsCi0gIDB4MDQ0MTAwMDMsCi0gIDB4MzNhMmVmZmYsCi0gIDB4MTAwMGZmM2MsCi0gIDB4YTU2MjAwMDgsCi0gIDB4MDdhMDAwOWYsCi0gIDB4MzNhMmZmZmUsCi0gIDB4MTAwMDAwMjEsCi0gIDB4YTU2MjAwMDgsCi0gIDB4OGQ2MjAwMjQsCi0gIDB4MDAxZDFjYzAsCi0gIDB4MDQ2MTAwMDQsCi0gIDB4YWQ0MjAwMDAsCi0gIDB4MzNhM2VmZmYsCi0gIDB4MTAwMGZmMzEsCi0gIDB4YTU2MzAwMDgsCi0gIDB4MDdhMDAwMDUsCi0gIDB4MzNhM2ZmZmUsCi0gIDB4YTU2MzAwMDgsCi0gIDB4OGQ0YjAwMDAsCi0gIDB4MTAwMGZmYWEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMDAwOGUsCi0gIDB4MjUwODAwMDgsCi0gIDB4MjU0YTAwMDgsCi0gIDB4MzE0MjAwN2YsCi0gIDB4MTQ0MDAwMGUsCi0gIDB4MDAwNDE3ODAsCi0gIDB4MDQ0MTAwMDMsCi0gIDB4OGY4MjBmZTAsCi0gIDB4MTAwMDAwMDYsCi0gIDB4MzQ4NDAwMDEsCi0gIDB4MzQ4NDAwMDIsCi0gIDB4MjQ0MjAwMDgsCi0gIDB4MzQ0MjEwMDAsCi0gIDB4Mzg0MjEwMDAsCi0gIDB4YWY4MjBmZTAsCi0gIDB4MzU0YTAxMDAsCi0gIDB4Mzk0YTAxMDAsCi0gIDB4Mzk0MjAwODAsCi0gIDB4YWY4MjBmZTQsCi0gIDB4MTEwMDAwMDMsCi0gIDB4OGQ0YjAwMDAsCi0gIDB4MTAwMGZmOTMsCi0gIDB4MjUwOGZmZjgsCi0gIDB4OGY4MjBmZDgsCi0gIDB4OGY4MzBmZGMsCi0gIDB4OGY4MTBmZDQsCi0gIDB4MTA2MjAwMWQsCi0gIDB4MjQ2MjAwMDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4YzRjMDAsCi0gIDB4ODQ3ZjAwMDAsCi0gIDB4M2MxZTAwZDEsCi0gIDB4MzNmZDAzZmYsCi0gIDB4MDAxZDU5ODAsCi0gIDB4MDE3ZTU4MjEsCi0gIDB4ODU3ZTAwMDgsCi0gIDB4MDAxZGU5MDAsCi0gIDB4MDAxZTBmMDAsCi0gIDB4MDNlMWY4MjUsCi0gIDB4MDdlMDAwMDMsCi0gIDB4YWY4MjBmZGMsCi0gIDB4ODc5ZTBjYTAsCi0gIDB4Mjc4YjBjOTgsCi0gIDB4MDdjMTAwNDIsCi0gIDB4M2MwMjA4NDAsCi0gIDB4M2MwMWY3YjAsCi0gIDB4OGQ2MjAwMjAsCi0gIDB4MDAyMzA4MjYsCi0gIDB4YWMyMjAwMDAsCi0gIDB4OGM2MjAwMDQsCi0gIDB4OTQ2MzAwMDIsCi0gIDB4MjQ0MmZmZjgsCi0gIDB4MDA0MzEwMjEsCi0gIDB4MTAwMDAwNGUsCi0gIDB4YWQ2MjAwMjAsCi0gIDB4OGY4MjBmZDAsCi0gIDB4ODc4MzBjYTAsCi0gIDB4MTQyMjAwMDcsCi0gIDB4Mjc4YjBjOTgsCi0gIDB4NDEwMDAwNTEsCi0gIDB4M2MwMTgwMDAsCi0gIDB4YWNhMTAwZTAsCi0gIDB4OGNhMTAwYzQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAyMjAwNGMsCi0gIDB4MDAyMmU4MjMsCi0gIDB4OGY5ZjBmMGMsCi0gIDB4MDdhMTAwMDIsCi0gIDB4YWY4MTBmZDQsCi0gIDB4MDNlMmU4MjMsCi0gIDB4MmZhMzAwNDEsCi0gIDB4MTQ2MDAwMDIsCi0gIDB4M2MxZTAwNDAsCi0gIDB4MjQxZDAwNDAsCi0gIDB4MDAxZDFlODAsCi0gIDB4MDAwMzE4ODIsCi0gIDB4MDA3ZTE4MjUsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4YzRjMDAsCi0gIDB4YWM2MjRjYzAsCi0gIDB4MDA1ZDEwMjEsCi0gIDB4MTQ1ZjAwMDIsCi0gIDB4Mjc4MzBjYzAsCi0gIDB4OGY4MjBmMDgsCi0gIDB4MDNhM2YwMjEsCi0gIDB4YWY4MjBmZDAsCi0gIDB4YWY5ZTBmZDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZmYzMsCi0gIDB4MjQ2MjAwMDgsCi0gIDB4OGQ2MzAwMGMsCi0gIDB4OGQ3ZDAwMTAsCi0gIDB4YTU2MzAwMGEsCi0gIDB4MTNhMDAwMDIsCi0gIDB4MDAwMzFjMDIsCi0gIDB4YTdhMDAwMDAsCi0gIDB4MDAwMzE4YzAsCi0gIDB4MDQxMTAwZWYsCi0gIDB4MDA2ODE4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBjNDQsCi0gIDB4OGY4MzBjNDAsCi0gIDB4YWQ2MjAwMTAsCi0gIDB4YTU2MzAwMDQsCi0gIDB4YTU2MzAwMDYsCi0gIDB4MTAwMDAwMjEsCi0gIDB4YWY4YzRjMDAsCi0gIDB4YTU3ZDAwMDAsCi0gIDB4OGM3ZDAwMDQsCi0gIDB4OTQ2MzAwMDIsCi0gIDB4YWM1ZDRjNDAsCi0gIDB4MjdhMjAwMDgsCi0gIDB4YWQ2MjAwMTgsCi0gIDB4MDNhM2U4MjEsCi0gIDB4MjdiZGZmZjQsCi0gIDB4YWQ3ZDAwMWMsCi0gIDB4MjdiZDAwMDQsCi0gIDB4YWQ3ZDAwMjAsCi0gIDB4MzdjMTgwMDEsCi0gIDB4MDAxZTE3YzAsCi0gIDB4MDQ0MWZmZTAsCi0gIDB4YTU2MTAwMDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBjNDQsCi0gIDB4OGY4MzBjNDAsCi0gIDB4YWQ2MjAwMTAsCi0gIDB4YTU2MzAwMDQsCi0gIDB4YTU2MzAwMDYsCi0gIDB4OGY4MjBmZDgsCi0gIDB4OGY4MzBmZGMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTQ2MmZmOTUsCi0gIDB4MjQ2MjAwMDgsCi0gIDB4YWY4YzRjMDAsCi0gIDB4ODc4MzBjYTAsCi0gIDB4Mjc4YjBjOTgsCi0gIDB4MDQ2MWZlOTcsCi0gIDB4MDAwNDE3MDAsCi0gIDB4MDQ0MDAwMDUsCi0gIDB4OTU2MjAwMDAsCi0gIDB4MTE3ODAwMDYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWYwZTAwMTAsCi0gIDB4YTcwZDAwMDQsCi0gIDB4MzA4NGZmZjcsCi0gIDB4OTU2ZDAwMDQsCi0gIDB4OGQ2ZTAwMTAsCi0gIDB4MjVhZGZmZDAsCi0gIDB4MDVhMWZlOGYsCi0gIDB4YWQyMjAwMGMsCi0gIDB4M2MwY2ZmYjAsCi0gIDB4MDE4OTYwMjYsCi0gIDB4MDAwZDE4MjIsCi0gIDB4MjVhZDAwMzAsCi0gIDB4OGQ3ZTAwMTgsCi0gIDB4OGQ2MTAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAzZTAwMzYsCi0gIDB4OGY5ZDRjMDAsCi0gIDB4M2MwMTA4NDAsCi0gIDB4YWMzZTRjNDAsCi0gIDB4MjdkZTAwMDgsCi0gIDB4MTFhMDAwMTcsCi0gIDB4YWQ3ZTAwMTgsCi0gIDB4MDAwZGY2MDAsCi0gIDB4MDE5ZTYwMjUsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWQ4ZTQwMTAsCi0gIDB4OGY4ZDBjNDAsCi0gIDB4OTU3ZTAwMDYsCi0gIDB4OGY4ZTBjNDQsCi0gIDB4MDNjZGYwMjEsCi0gIDB4YTU3ZTAwMDYsCi0gIDB4MDAwY2Y3ODIsCi0gIDB4MDAwYzBlMDIsCi0gIDB4MDNjMWYwMjEsCi0gIDB4MDAxZTBmODAsCi0gIDB4MDAwYzYyMDAsCi0gIDB4MDAwYzYyMDIsCi0gIDB4MDE4MTYwMjUsCi0gIDB4MzNkZTAwM2MsCi0gIDB4MDE5ZTYwMjEsCi0gIDB4MzQwMTAwMDEsCi0gIDB4MTAwMDAwMDgsCi0gIDB4YTUyMTAwMDAsCi0gIDB4OTU3ZTAwMDYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4ZDBjNDAsCi0gIDB4OGY4ZTBjNDQsCi0gIDB4MDNjZGYwMjEsCi0gIDB4YTU3ZTAwMDYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDFhM2YwMmIsCi0gIDB4MTdjMDAwMDgsCi0gIDB4MDAwM2Y2MDAsCi0gIDB4MDFhMzY4MjMsCi0gIDB4MDE5ZTYwMjUsCi0gIDB4MDE4OTYwMjYsCi0gIDB4NGQwMWZmZjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZlNTgsCi0gIDB4YWY5ZDRjMDAsCi0gIDB4OGQ3ZTAwMTgsCi0gIDB4OGQ2MTAwMWMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTQzZWZmY2UsCi0gIDB4MDA2ZDE4MjMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MmM2MTAwMDgsCi0gIDB4MTAyMDAwMTcsCi0gIDB4OTU2MTAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMWZmODAsCi0gIDB4MDdlMDAwMGIsCi0gIDB4MzQyMTAwMDIsCi0gIDB4MDA2ZDE4MjEsCi0gIDB4MDAwMzFlMDAsCi0gIDB4MDE4MzYwMjUsCi0gIDB4MDE4OTYwMjYsCi0gIDB4MjQwZDAwMmMsCi0gIDB4YTU2MTAwMDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZlNDAsCi0gIDB4YWY5ZDRjMDAsCi0gIDB4M2MxZjBjNDAsCi0gIDB4YWZmZTRmYTgsCi0gIDB4MzAyMWZmZmQsCi0gIDB4YTU2MTAwMDgsCi0gIDB4M2MwY2QzY2YsCi0gIDB4MzU4Y2UwMDAsCi0gIDB4MTAwMDAwMDgsCi0gIDB4MzQwMzAwMDIsCi0gIDB4M2MxZjBjNDAsCi0gIDB4YWZmZTRmYTgsCi0gIDB4MTFhMGZmZjksCi0gIDB4MDAwZGY2MDAsCi0gIDB4MzQwMzAwMDMsCi0gIDB4MDE5ZTYwMjUsCi0gIDB4MDE4OTYwMjYsCi0gIDB4MzQ4NDAwMDgsCi0gIDB4MzQ0MjAwMDIsCi0gIDB4YWQyMjAwMGMsCi0gIDB4OTU2MjAwMDYsCi0gIDB4YTUyMzAwMDAsCi0gIDB4YWQyMjAwMzgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ODU3ZTAwMDgsCi0gIDB4OGY4MjBmYTgsCi0gIDB4OTc4MzBmYWMsCi0gIDB4YWQyMjAwMDQsCi0gIDB4MzNjMTdmZmYsCi0gIDB4YWQ2MDAwMTAsCi0gIDB4YTU2MTAwMDgsCi0gIDB4MTA2MGZlMjAsCi0gIDB4YWY5ZDRjMDAsCi0gIDB4YTU3ZTAwMDgsCi0gIDB4MDAwMzE5MDAsCi0gIDB4MzA2MzNmZjAsCi0gIDB4YTU2MzAwMDAsCi0gIDB4OGY4MjBmYjAsCi0gIDB4M2MwMzA4NDAsCi0gIDB4YWM2MjRjNDAsCi0gIDB4MjQ0MzAwMDgsCi0gIDB4YWQ2MzAwMTgsCi0gIDB4OTc4MzBmYWUsCi0gIDB4MjQ0MmZmZjQsCi0gIDB4MDA2MjE4MjEsCi0gIDB4YWQ2MzAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4ZDBjNDAsCi0gIDB4OGY4MzBjNDQsCi0gIDB4YTU2ZDAwMDQsCi0gIDB4YTU2ZDAwMDYsCi0gIDB4YWQ2MzAwMTAsCi0gIDB4MTAwMGZlMGEsCi0gIDB4YWY5ZDRjMDAsCi0gIDB4OGY4MjBmZTAsCi0gIDB4MDAwNDBmYzAsCi0gIDB4OGM0MzAwMDAsCi0gIDB4MDQyMTAwMWIsCi0gIDB4OGY5ZjBmZTQsCi0gIDB4OGM1ZDAwMDQsCi0gIDB4YWM0MDAwMDQsCi0gIDB4MTA2MDAwMGUsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OTQ2MjAwMjgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA1ZjEwMjAsCi0gIDB4OGM0MTAwMDQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAyMDAwMDMsCi0gIDB4YWM0MzAwMDQsCi0gIDB4MTAwMDAwMDIsCi0gIDB4YWMyMzAwMjQsCi0gIDB4YWM0MzAwMDAsCi0gIDB4MTdhM2ZmZjQsCi0gIDB4OGM2MzAwMjQsCi0gIDB4OGY4MjBmZTAsCi0gIDB4M2JmZjAwODAsCi0gIDB4MjQ0MjAwMDgsCi0gIDB4MzQ0MjEwMDAsCi0gIDB4Mzg0MjEwMDAsCi0gIDB4YWY4MjBmZTAsCi0gIDB4YWY5ZjBmZTQsCi0gIDB4MTAwMGZlNTcsCi0gIDB4MzA4NGZmZmUsCi0gIDB4MTA2MDAwMTAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OTQ3ZDAwMjgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDNiZmU4MjAsCi0gIDB4OGZhMTAwMDQsCi0gIDB4YWZhMzAwMDQsCi0gIDB4MTAyMDAwMDMsCi0gIDB4OGM1ZTAwMDQsCi0gIDB4MTAwMDAwMDIsCi0gIDB4YWMyMzAwMjQsCi0gIDB4YWZhMzAwMDAsCi0gIDB4OGM2MTAwMjQsCi0gIDB4MTdjM2ZlNDgsCi0gIDB4YWM0MTAwMDAsCi0gIDB4YWM0MDAwMDQsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MTAwMGZlNDQsCi0gIDB4MzA4NGZmZmQsCi0gIDB4MmM2MjAxMDAsCi0gIDB4MTQ0MDAwMGUsCi0gIDB4MDA2YTEwMjEsCi0gIDB4MzE0MzAwN2YsCi0gIDB4MDE0MzE4MjMsCi0gIDB4MDA0MzE4MjMsCi0gIDB4MzA2MjAwN2YsCi0gIDB4YTU2MjAwMjgsCi0gIDB4MDA2MjE4MjMsCi0gIDB4MDAwMzE5MDIsCi0gIDB4OGY4MjBmZTAsCi0gIDB4MjQ2M2ZmZjgsCi0gIDB4MDA2MjE4MjEsCi0gIDB4MzQ2MzEwMDAsCi0gIDB4MTAwMDAwMDMsCi0gIDB4Mzg2MzEwMDAsCi0gIDB4MzQ0MzAxMDAsCi0gIDB4Mzg2MzAxMDAsCi0gIDB4OGM2MjAwMDQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA0MDAwMDMsCi0gIDB4YWM2YjAwMDQsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWM0YjAwMjQsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWM2YjAwMDAsCi0gIDB4MDAwMDAwMDIsCi0gIDB4YTBkMGUwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDEwMDAsCi0gIDB4MDAwMDAwMDYsCi0gIDB4MDAwMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDgsCi0gIDB4MDAwMDAwMDIsCi0gIDB4YTBkMGQ2NDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDA4ODgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQzMTMyMDAsCi0gIDB4MjQzMTMyMDAsCi0gIDB4MjQzMTMyMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQ0ZDQzNTIsCi0gIDB4MjQyMDQzNmYsCi0gIDB4NzA3OTcyNjksCi0gIDB4Njc2ODc0MjAsCi0gIDB4Mjg2MzI5MjAsCi0gIDB4NGQ2MTY0NjcsCi0gIDB4NjUyMDRlNjUsCi0gIDB4NzQ3NzZmNzIsCi0gIDB4NmI3MzIwNGMsCi0gIDB4NzQ2NDIwMzEsCi0gIDB4MzkzOTM1MmUsCi0gIDB4MjA0MTZjNmMsCi0gIDB4MjA3MjY5NjcsCi0gIDB4Njg3NDczMjAsCi0gIDB4NzI2NTczNjUsCi0gIDB4NzI3NjY1NjQsCi0gIDB4MmUwMDRkNjEsCi0gIDB4NjQ2NzY1MjAsCi0gIDB4NDE2ZDYyNjEsCi0gIDB4NzM3MzYxNjQsCi0gIDB4NmY3MjIwNzYsCi0gIDB4MzEyZTMwMzEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDEsCi0gIDB4MDAwMDAwMDEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ZmZmMDQwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MGMzNDNlMmQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MxY2EwZDEsCi0gIDB4Mjc5YzU2MzgsCi0gIDB4M2MxZGEwZDEsCi0gIDB4MjdiZGRmZDAsCi0gIDB4M2MwOGEwZDEsCi0gIDB4MjUwOGRmZDAsCi0gIDB4YWY4NzgwMDgsCi0gIDB4MGMzNDNjMTMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQwNDAwMDMsCi0gIDB4MDA5NzAwMGQsCi0gIDB4M2MwOGJmYzAsCi0gIDB4MzUwODAyMzAsCi0gIDB4OGQwODAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDEwMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjdiZGZmZDAsCi0gIDB4YWZiZjAwMWMsCi0gIDB4YWZiMTAwMTgsCi0gIDB4YWZiMDAwMTQsCi0gIDB4M2MxMWZmZjAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4M2MxODAwNTYsCi0gIDB4MzcxODNiNzksCi0gIDB4MjYxOTAyMDAsCi0gIDB4MTcyMDAwMDIsCi0gIDB4MDMxOTAwMWEsCi0gIDB4MDAwNzAwMGQsCi0gIDB4MjQwMWZmZmYsCi0gIDB4MTcyMTAwMDUsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwMTgwMDAsCi0gIDB4MTcwMTAwMDIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwNjAwMGQsCi0gIDB4MDAwMDEwMTIsCi0gIDB4MDAxMDE4NDAsCi0gIDB4M2MwNWEwZDEsCi0gIDB4MjRhNWQ2Y2MsCi0gIDB4MDBhMzIwMjEsCi0gIDB4YTQ4MjAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAyMDAsCi0gIDB4MTQyMGZmZWEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwNmEwZDEsCi0gIDB4MjRjNmY5ZTQsCi0gIDB4M2MwN2EwZDEsCi0gIDB4MjRlN2Q2NDgsCi0gIDB4YWNlNjAwMDAsCi0gIDB4M2MwOGEwZDEsCi0gIDB4MjUwOGZiMTQsCi0gIDB4YWNlODAwMDQsCi0gIDB4M2MwOWEwZDEsCi0gIDB4MjUyOWZjOTQsCi0gIDB4YWNlOTAwMDgsCi0gIDB4M2MwYWEwZDEsCi0gIDB4MjU0YWZjZDQsCi0gIDB4YWNlYTAwMGMsCi0gIDB4M2MwYmEwZDEsCi0gIDB4MjU2YmZiYTgsCi0gIDB4YWNlYjAwMTAsCi0gIDB4M2MwY2EwZDEsCi0gIDB4MjU4Y2ZiYzQsCi0gIDB4YWNlYzAwMTQsCi0gIDB4M2MwZGEwZDEsCi0gIDB4MjVhZGZiZTAsCi0gIDB4YWNlZDAwMTgsCi0gIDB4M2MwZWEwZDEsCi0gIDB4MjVjZWZiZmMsCi0gIDB4YWNlZTAwMWMsCi0gIDB4M2MwZmEwZDEsCi0gIDB4MjVlZmZjMTgsCi0gIDB4YWNlZjAwMjAsCi0gIDB4M2MxOGEwZDEsCi0gIDB4MjcxOGZjMzQsCi0gIDB4YWNmODAwMjQsCi0gIDB4M2MxOWEwZDEsCi0gIDB4MjczOWZjNTAsCi0gIDB4YWNmOTAwMjgsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmZjNjAsCi0gIDB4YWNlMjAwMmMsCi0gIDB4M2MwM2EwZDEsCi0gIDB4MjQ2M2ZjNzAsCi0gIDB4YWNlMzAwMzAsCi0gIDB4M2MwNGEwZDEsCi0gIDB4MjQ4NGZjODAsCi0gIDB4YWNlNDAwMzQsCi0gIDB4M2MwNWEwZDEsCi0gIDB4MjRhNWZjYjQsCi0gIDB4YWNlNTAwMzgsCi0gIDB4M2MwNmEwZDEsCi0gIDB4MjRjNmZlMDgsCi0gIDB4YWNlNjAwM2MsCi0gIDB4M2MwOGEwZDEsCi0gIDB4MjUwOGZlOTAsCi0gIDB4YWNlODAwNDAsCi0gIDB4M2MwOWEwZDEsCi0gIDB4MjUyOWZhMzgsCi0gIDB4YWNlOTAwNDQsCi0gIDB4M2MwYWEwZDEsCi0gIDB4MjU0YWZhNzQsCi0gIDB4YWNlYTAwNDgsCi0gIDB4MjQxMDAwMTMsCi0gIDB4M2MwYmEwZDEsCi0gIDB4MjU2YmY5ZDgsCi0gIDB4MDAxMDYwODAsCi0gIDB4M2MwZWEwZDEsCi0gIDB4MjVjZWQ2NDgsCi0gIDB4MDFjYzY4MjEsCi0gIDB4YWRhYjAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMjAsCi0gIDB4MTQyMGZmZjYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5ODgwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWYwMDAxMDAsCi0gIDB4OGY4MjgwMDAsCi0gIDB4MjQxOTAzZmYsCi0gIDB4YTQ1OTAyMDIsCi0gIDB4MDAwMDgwMjEsCi0gIDB4OGY4NjgwMDAsCi0gIDB4MjQwMzBmZmYsCi0gIDB4MDAxMDIwNDAsCi0gIDB4MjRjNzAzODAsCi0gIDB4MDBlNDI4MjEsCi0gIDB4YTRhMzAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMDgsCi0gIDB4MTQyMGZmZjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4OTgwMDAsCi0gIDB4MzQwODljNDAsCi0gIDB4YWQyODAzYTAsCi0gIDB4OGY4YjgwMDAsCi0gIDB4M2MwYTAwZmYsCi0gIDB4MzU0YWZmZmYsCi0gIDB4YWQ2YTAzYTQsCi0gIDB4MDAwMDgwMjEsCi0gIDB4OGY4ZjgwMDAsCi0gIDB4MjQwYzBmZmYsCi0gIDB4MDAxMDY4NDAsCi0gIDB4MjVmODAzMDAsCi0gIDB4MDMwZDcwMjEsCi0gIDB4YTVjYzAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMDgsCi0gIDB4MTQyMGZmZjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjgwMDAsCi0gIDB4MzQxOTljNDAsCi0gIDB4YWM1OTAzMjAsCi0gIDB4OGY4NDgwMDAsCi0gIDB4M2MwMzAwZmYsCi0gIDB4MzQ2M2ZmZmYsCi0gIDB4YWM4MzAzMjQsCi0gIDB4OGY4NjgwMDAsCi0gIDB4MjQwNTAyZmYsCi0gIDB4YTRjNTAyMDIsCi0gIDB4M2MwOGEwYzAsCi0gIDB4MzUwODAxODAsCi0gIDB4M2MwOWEwZDEsCi0gIDB4MjUyOWQ1YjgsCi0gIDB4MjUwYTAwMjgsCi0gIDB4OGQwYjAwMDAsCi0gIDB4OGQwYzAwMDQsCi0gIDB4YWQyYjAwMDAsCi0gIDB4YWQyYzAwMDQsCi0gIDB4MjUwODAwMDgsCi0gIDB4MTUwYWZmZmEsCi0gIDB4MjUyOTAwMDgsCi0gIDB4NDAwMjYwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMjAwMjgsCi0gIDB4MjQwMzAwMjIsCi0gIDB4M2MwNGEwZTAsCi0gIDB4MzQ4NDAwMTQsCi0gIDB4YWM4MzAwMDAsCi0gIDB4OGZhNTAwMjgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzRhNjEwMDEsCi0gIDB4MDBjMDEwMjEsCi0gIDB4YWZhNjAwMjgsCi0gIDB4M2MwN2ZmYmYsCi0gIDB4MzRlN2ZmZmYsCi0gIDB4MDBjNzM4MjQsCi0gIDB4MDBlMDEwMjEsCi0gIDB4YWZhNzAwMjgsCi0gIDB4NDA4NzYwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwODAwMDIsCi0gIDB4MzUwOGQ4OTAsCi0gIDB4M2MwOWZmZmUsCi0gIDB4MzUyOTAxMzAsCi0gIDB4YWQyODAwMDAsCi0gIDB4OGZhYTAwMjgsCi0gIDB4M2MwYmYwMDAsCi0gIDB4MDE0YjU4MjUsCi0gIDB4MDE2MDEwMjEsCi0gIDB4YWZhYjAwMjgsCi0gIDB4MDE2MDYwMjEsCi0gIDB4NDA4YzYwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4MDAxMDcwODAsCi0gIDB4MDIyZTc4MjEsCi0gIDB4YWRlMDAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTA0MDAsCi0gIDB4MTQyMGZmZmEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQxODAwMDEsCi0gIDB4M2MxOWEwZTgsCi0gIDB4YWYzODAwMDAsCi0gIDB4MjQwMjAwMTEsCi0gIDB4M2MwM2EwZjAsCi0gIDB4MzQ2MzAwMTcsCi0gIDB4YTA2MjAwMDAsCi0gIDB4M2MwNGYwZWIsCi0gIDB4MzQ4NDAwNzAsCi0gIDB4M2MwNWZmZjAsCi0gIDB4MzRhNTRhMDAsCi0gIDB4YWNhNDAwMDAsCi0gIDB4M2MwNmZjZWIsCi0gIDB4MzRjNjAwNzAsCi0gIDB4YWNhNjAwMDAsCi0gIDB4M2MwN2ZmZjAsCi0gIDB4MzRlNzQ3MDAsCi0gIDB4YWNlMDAwMDAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4M2MwOGZmZjAsCi0gIDB4MzUwODBmYzAsCi0gIDB4M2MwOWZmZjAsCi0gIDB4MzUyOTQ1MDAsCi0gIDB4YWQyODAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMDQsCi0gIDB4MTQyMGZmZjgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4M2MwYWRlYWQsCi0gIDB4MDAxMDU5ODAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyYTAwM2MsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyMDAwMzAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyMDAwMzgsCi0gIDB4MjQwZGZmZmYsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyZDAwMTQsCi0gIDB4MDAxMDcxMDAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YTQyZTAwMDAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YTQyMDAwMDQsCi0gIDB4MjQxODAwMjAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YTQzODAwMDgsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyMDAwMTAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTA0MDAsCi0gIDB4MTQyMGZmZTAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4MDAxMDE4YzAsCi0gIDB4M2MwNWEwZDEsCi0gIDB4MjRhNWUwMDAsCi0gIDB4MDBhMzIwMjEsCi0gIDB4YWM4MDAwMDAsCi0gIDB4M2MwN2EwZDEsCi0gIDB4MjRlN2UwMDAsCi0gIDB4MjRlODAwMDQsCi0gIDB4MDEwMzMwMjEsCi0gIDB4YWNjMDAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMDksCi0gIDB4MTQyMGZmZjMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQwOTAzODAsCi0gIDB4M2MwYWZmZjAsCi0gIDB4MzU0YTRkMDAsCi0gIDB4YWQ0OTAwMDAsCi0gIDB4M2MwY2EwODAsCi0gIDB4MzU4YzAwOWMsCi0gIDB4YWQ4MDAwMDAsCi0gIDB4M2MwZGEwODAsCi0gIDB4MzVhZDAwYTAsCi0gIDB4YWRhMDAwMDAsCi0gIDB4M2MwZTExMDAsCi0gIDB4M2MwZmEwODAsCi0gIDB4MzVlZjAwYTgsCi0gIDB4YWRlZTAwMDAsCi0gIDB4NDEwMTAwMDMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NDEwMGZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MxOGEwODAsCi0gIDB4MzcxODAwZTAsCi0gIDB4OGYxOTAwMDAsCi0gIDB4M2MwMWEwZDEsCi0gIDB4YWMzOWQ2YzgsCi0gIDB4MGMzNDNkNDMsCi0gIDB4MDMyMDIwMjEsCi0gIDB4OGZiMDAwMTQsCi0gIDB4OGZiZjAwMWMsCi0gIDB4OGZiMTAwMTgsCi0gIDB4MDNlMDAwMDgsCi0gIDB4MjdiZDAwMzAsCi0gIDB4MDA4MGI4MjEsCi0gIDB4M2MxY2ZmZjAsCi0gIDB4YTM4MDBjODQsCi0gIDB4YTM4MDBjODgsCi0gIDB4OGY5MDQ0MDAsCi0gIDB4MDAwMDIwMjEsCi0gIDB4YWY4MDBjYmMsCi0gIDB4MjQwMjAwYTgsCi0gIDB4Mjc4MzBmMDAsCi0gIDB4MmM1ZDAwNDAsCi0gIDB4MTdhMDAwMGMsCi0gIDB4M2MxZGZmYjAsCi0gIDB4MDNhM2U4MjYsCi0gIDB4YWZiNzQwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQ0MmZmYzAsCi0gIDB4MjQ2MzAwNDAsCi0gIDB4MTAwMGZmZjMsCi0gIDB4MjZmNzAwNDAsCi0gIDB4MTA0MDAwMGQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMmVlMDAsCi0gIDB4M2MwMTAwNDAsCi0gIDB4MDNhMWU4MjUsCi0gIDB4M2MwMWZmZjAsCi0gIDB4MDNhMWU4MjYsCi0gIDB4MDNhM2U4MjYsCi0gIDB4YWZiNzQwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwNWEwODAsCi0gIDB4OGY4MjBmMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MjBmZDQsCi0gIDB4YWY4MjBmZDAsCi0gIDB4YWNhMjAwYzQsCi0gIDB4OGY4MjBmMTAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMjFkODIsCi0gIDB4YWY4MzBmYzAsCi0gIDB4MDAwMzFkODAsCi0gIDB4MDA0MzEwMjMsCi0gIDB4M2MwMWEwODAsCi0gIDB4MDA0MTEwMjUsCi0gIDB4YWY4MjBmYzQsCi0gIDB4YWY4MjBmMTAsCi0gIDB4OGY4MjBmMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA0MzEwMjMsCi0gIDB4M2MwMWEwODAsCi0gIDB4MDA0MTEwMjUsCi0gIDB4YWY4MjBmMTQsCi0gIDB4MjQwMzAwMDMsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MjRiZTAwYzgsCi0gIDB4Mjc4MTBkMDAsCi0gIDB4OGZhMjAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMjAwMTAsCi0gIDB4YWZjMjAwMDAsCi0gIDB4YWZhMTAwMDgsCi0gIDB4YWZhMTAwMGMsCi0gIDB4OGZhMjAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMjAwMWMsCi0gIDB4MjdiZDAwMjQsCi0gIDB4MjdkZTAwMDQsCi0gIDB4MjQyMTAwNDAsCi0gIDB4MTQ2MGZmZjMsCi0gIDB4MjQ2M2ZmZmYsCi0gIDB4OGY4MjBmMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MjBmYzgsCi0gIDB4YWNhMjAwYzAsCi0gIDB4Mjc4MjA4MDAsCi0gIDB4MjQwMzAwMGYsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MjQ0MjAwMDQsCi0gIDB4MTQ2MGZmZmQsCi0gIDB4MjQ2M2ZmZmYsCi0gIDB4OGY4MzBmYzAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MzRkMDAsCi0gIDB4OGY4MzRkMDAsCi0gIDB4OGY4MzBmMTQsCi0gIDB4OGY4MjBmMTAsCi0gIDB4MjQ2M2ZmZmMsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MTQ0M2ZmZmUsCi0gIDB4MjQ0MjAwMDQsCi0gIDB4MjQwMjAzODAsCi0gIDB4YWY4MjRkMDAsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MjdhMTAwOTAsCi0gIDB4OGZhMjAwMTQsCi0gIDB4OGZhMzAwMTgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA2MjE4MjMsCi0gIDB4MmM3ZjAwNDAsCi0gIDB4MTdlMDAwMDksCi0gIDB4M2MxZjAwNDAsCi0gIDB4MzdmZjA4MDAsCi0gIDB4MDNhMGYwMjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZlMjAwMDAsCi0gIDB4MjQ0MjAwNDAsCi0gIDB4MTAwMGZmZjYsCi0gIDB4MjQ2M2ZmYzAsCi0gIDB4MTA2MDAwMDYsCi0gIDB4MzdmZjA4MDAsCi0gIDB4MDAwMzFlMDAsCi0gIDB4MDNlM2Y4MjUsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZlMjAwMDAsCi0gIDB4MjdiZDAwMjQsCi0gIDB4MTdhMWZmZTgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDM4MjEsCi0gIDB4OGZjMjAwMTQsCi0gIDB4OGZjMzAwMTgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA2MjE4MjMsCi0gIDB4MmM3ZjAwNDAsCi0gIDB4MTNlMDAwMDQsCi0gIDB4M2MxZjAwNDAsCi0gIDB4MDAwMzBlMDAsCi0gIDB4MTAwMDAwMDIsCi0gIDB4MDNlMWY4MjUsCi0gIDB4MjQwMzAwNDAsCi0gIDB4MzdmZjA4MDAsCi0gIDB4MjQxZTAzZTcsCi0gIDB4MDAwMDA4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZlMjAwMDAsCi0gIDB4MDAyMzA4MjEsCi0gIDB4NDkwMGZmZmIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ODc4MDQwMDIsCi0gIDB4MTdjMGZmZjgsCi0gIDB4MjdkZWZmZmYsCi0gIDB4MTRlMDAwMDQsCi0gIDB4MzRlNzQwMDAsCi0gIDB4MDNlN2Y4MjUsCi0gIDB4MTAwMGZmZjAsCi0gIDB4YWY4MTBjNjAsCi0gIDB4YWY4MTBjNWMsCi0gIDB4M2MwMWEwZDEsCi0gIDB4OGMyMmQ2YzgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwMWEwODAsCi0gIDB4YWMyMjAwZTAsCi0gIDB4M2MwMWEwODAsCi0gIDB4OGMyMDAwZTAsCi0gIDB4YWY4MDBmYjQsCi0gIDB4YTc4MDBmYjgsCi0gIDB4YTc4MDBmYmEsCi0gIDB4YTc4MDBmYmMsCi0gIDB4YTc4MDBmYmUsCi0gIDB4Mjc4MjBjYzAsCi0gIDB4YWY4MjBmZGMsCi0gIDB4YWY4MjBmZDgsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmRhY2MsCi0gIDB4YWY4MjBjNGMsCi0gIDB4YWY4MjBjNTAsCi0gIDB4MjQ0MjA0MDAsCi0gIDB4YWY4MjBjNTQsCi0gIDB4MjQwMjAwMWUsCi0gIDB4M2MwM2ZmZjAsCi0gIDB4MjQ3ZDAwNDAsCi0gIDB4YWM3ZDAwMDgsCi0gIDB4MDNhMDE4MjEsCi0gIDB4MTQ0MGZmZmMsCi0gIDB4MjQ0MmZmZmYsCi0gIDB4M2MxZGZmZjAsCi0gIDB4YWM3ZDAwMDgsCi0gIDB4M2MwMmM3MDQsCi0gIDB4MzQ0MmRkN2IsCi0gIDB4YWY4MjBjNTgsCi0gIDB4M2MwNzAwMDAsCi0gIDB4MjRlNzAxNTgsCi0gIDB4MDgzNDNmYTksCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGU2MjAwMzgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTQ0MDAwMDUsCi0gIDB4OGY4MzBjOTQsCi0gIDB4MTJhMDAwMjIsCi0gIDB4MjQ2MzAwMDEsCi0gIDB4MTAwMDAwMjAsCi0gIDB4YWY4MzBjOTQsCi0gIDB4YWY4MjBmYjQsCi0gIDB4MzI2MmZmYzAsCi0gIDB4MDAwMjExODIsCi0gIDB4ODY2MzAwMmEsCi0gIDB4YTc4MjBmYjgsCi0gIDB4M2MwMmEwMDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4YTc4MzBmYmEsCi0gIDB4ODY3ZTAwMDgsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MzNkZTAwNjAsCi0gIDB4MDNiZWU4MjEsCi0gIDB4MDAxZWYwYzIsCi0gIDB4MDNiZWU4MjEsCi0gIDB4OGZhMjAwMWMsCi0gIDB4M2MwMzBjNDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NzRjMDAsCi0gIDB4YWM2MjBmYjQsCi0gIDB4OGZhMzAwMTgsCi0gIDB4MjQ0MjAwMGMsCi0gIDB4MTQ0MzAwMDMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGZhMjAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMjAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWNhNTAwZTQsCi0gIDB4YWY5NzRjMDAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWU2MDAwM2MsCi0gIDB4M2MwZGEwZDEsCi0gIDB4MjVhZGQ1MDAsCi0gIDB4MTFhMDAwMjEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGRhOTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTEyMDAwMWQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGRhYTAwMDQsCi0gIDB4OGRhYjAwMDgsCi0gIDB4OGRhYzAwMGMsCi0gIDB4MDAwOTQ3NDAsCi0gIDB4MDUwMTAwMDQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwOGEwZDEsCi0gIDB4MjUwOGQ2MzgsCi0gIDB4MDE0ODUwMjEsCi0gIDB4MDAwOTQ3ODAsCi0gIDB4MDUwMTAwMDcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTE4MDAwMGQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWQ0MDAwMDAsCi0gIDB4MjU0YTAwMDQsCi0gIDB4MTAwMGZmZmIsCi0gIDB4MjU4Y2ZmZmMsCi0gIDB4MTE4MDAwMDcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGQ2ZTAwMDAsCi0gIDB4MjU2YjAwMDQsCi0gIDB4YWQ0ZTAwMDAsCi0gIDB4MjU0YTAwMDQsCi0gIDB4MTAwMGZmZjksCi0gIDB4MjU4Y2ZmZmMsCi0gIDB4MTAwMGZmZTEsCi0gIDB4MjVhZDAwMTAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwMjEwNDAsCi0gIDB4YWM1NzRmZjAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBmZmMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzA0MjAwMWYsCi0gIDB4MDAwMjEwODAsCi0gIDB4M2MxN2EwZDEsCi0gIDB4MDJlMmI4MjEsCi0gIDB4MjZmN2Q2NDgsCi0gIDB4OGVmNzAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDJlMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQwMmZmZmYsCi0gIDB4YWY4MjBmZmMsCi0gIDB4OGY5NzBmYzgsCi0gIDB4M2MwMjEwNDAsCi0gIDB4YWM1NzBmZjAsCi0gIDB4OGY4MjBmMDQsCi0gIDB4MjZmNzAwMTAsCi0gIDB4MTZlMjAwMDQsCi0gIDB4YWY5NzBmYzgsCi0gIDB4OGY5NzBmMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY5NzBmYzgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MxZmEwZDEsCi0gIDB4MjdmZmYwMmMsCi0gIDB4MTAwMGZmZWQsCi0gIDB4OGY5NzBmZjAsCi0gIDB4M2MwMjAwZDEsCi0gIDB4MzJmNzAzZmYsCi0gIDB4MDAxN2I5ODAsCi0gIDB4MDJlMmI4MjUsCi0gIDB4YWVlMDAwM2MsCi0gIDB4MjQwMmZmZmYsCi0gIDB4YWVlMjAwMzAsCi0gIDB4YWVlMjAwMTQsCi0gIDB4OTc4MzBmZjQsCi0gIDB4OTc4MjBmZjgsCi0gIDB4M2MxZDAwMDAsCi0gIDB4MjdiZDA2OTgsCi0gIDB4YTZlMzAwMDgsCi0gIDB4YTZlMjAwMDIsCi0gIDB4YWY5ZjBmZTgsCi0gIDB4MDNhMGY4MDksCi0gIDB4YTZlMjAwMmMsCi0gIDB4OGY5ZjBmZTgsCi0gIDB4MTAwMGZmZDksCi0gIDB4YWVlMjAwMGMsCi0gIDB4OGY5NzBmZjAsCi0gIDB4M2MwMjAwZDEsCi0gIDB4MzJmNzAzZmYsCi0gIDB4MDAxN2I5ODAsCi0gIDB4MDJlMmI4MjUsCi0gIDB4OTc4MjBmZjQsCi0gIDB4M2MwMzAwMDAsCi0gIDB4MjQ2MzA2OTgsCi0gIDB4YTZlMjAwMDIsCi0gIDB4YWY5ZjBmZTgsCi0gIDB4MDA2MGY4MDksCi0gIDB4YTZlMjAwMmMsCi0gIDB4OGY5ZjBmZTgsCi0gIDB4MTAwMGZmY2EsCi0gIDB4YWVlMjAwMGMsCi0gIDB4OGY5NzBmZjAsCi0gIDB4M2MwMjAwZDEsCi0gIDB4MzJmNzAzZmYsCi0gIDB4MDAxN2I5ODAsCi0gIDB4MDJlMmI4MjUsCi0gIDB4OTc4MjBmZjQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OTZlMzAwMDgsCi0gIDB4YTZlMjAwMDgsCi0gIDB4MDA0MzEwMjYsCi0gIDB4MzA0MjAwNjAsCi0gIDB4MTA0MGZmYmQsCi0gIDB4OGVlMjAwM2MsCi0gIDB4YWVlMDAwM2MsCi0gIDB4MTA0MGZmYmEsCi0gIDB4M2MwMjg4MDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4OGVlMjAwMzgsCi0gIDB4YWVlMDAwMzgsCi0gIDB4MzA2MzAwNjAsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MDNhM2U4MjEsCi0gIDB4MDAwMzE4YzIsCi0gIDB4MDNhM2U4MjEsCi0gIDB4OGZhMzAwMWMsCi0gIDB4MTA0MGZmYWYsCi0gIDB4YWY4MjBmYjQsCi0gIDB4M2MwMjBjNDAsCi0gIDB4YWM0MzBmYjQsCi0gIDB4OGZhMjAwMTgsCi0gIDB4MjQ2MzAwMGMsCi0gIDB4MTQ0MzAwMDMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGZhMzAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMzAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZmYTIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NzBmZjAsCi0gIDB4M2MwMjAwZDEsCi0gIDB4YTc5NzBmYjgsCi0gIDB4MDAxN2I5ODAsCi0gIDB4MzJmN2ZmYzAsCi0gIDB4MDJlMmI4MjEsCi0gIDB4YWVlMDAwMzAsCi0gIDB4M2MwMmRlYWQsCi0gIDB4OGVlMzAwM2MsCi0gIDB4YWVlMjAwM2MsCi0gIDB4OGVlMjAwMzgsCi0gIDB4MTA2MGZmOTUsCi0gIDB4YWVlMDAwMzgsCi0gIDB4M2MwMzg4MDAsCi0gIDB4YWY4MzBmYmMsCi0gIDB4ODZlMzAwMDgsCi0gIDB4Mjc5NzBmMTgsCi0gIDB4MzA2MzAwNjAsCi0gIDB4MDJlM2I4MjEsCi0gIDB4MDAwMzE4YzIsCi0gIDB4MDJlM2I4MjEsCi0gIDB4OGVlMzAwMWMsCi0gIDB4MTA0MGZmOGEsCi0gIDB4YWY4MjBmYjQsCi0gIDB4M2MwMjBjNDAsCi0gIDB4YWM0MzBmYjQsCi0gIDB4OGVlMjAwMTgsCi0gIDB4MjQ2MzAwMGMsCi0gIDB4MTQ0MzAwMDMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGVlMzAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWVlMzAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZmN2QsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OTA0MTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4MTAwMGZmNzYsCi0gIDB4YTA0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OTQ0MTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4MTAwMGZmNmYsCi0gIDB4YTQ0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OGM0MTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4MTAwMGZmNjgsCi0gIDB4YWM0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OTA0MTAwMDAsCi0gIDB4MDJlMGI4MjcsCi0gIDB4MDAzNzA4MjQsCi0gIDB4MTAwMGZmNjEsCi0gIDB4YTA0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OTQ0MTAwMDAsCi0gIDB4MDJlMGI4MjcsCi0gIDB4MDAzNzA4MjQsCi0gIDB4MTAwMGZmNWEsCi0gIDB4YTQ0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OGM0MTAwMDAsCi0gIDB4MDJlMGI4MjcsCi0gIDB4MDAzNzA4MjQsCi0gIDB4MTAwMGZmNTMsCi0gIDB4YWM0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4MTAwMGZmNGYsCi0gIDB4YTA1NzAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4MTAwMGZmNGIsCi0gIDB4YTQ1NzAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4MTAwMGZmNDcsCi0gIDB4YWM1NzAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGM0MjAwMDAsCi0gIDB4MTAwMGZmNDIsCi0gIDB4YWY4MjBmZjQsCi0gIDB4M2MwMWEwYzIsCi0gIDB4OGMyMmMwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MjBmZjAsCi0gIDB4M2MwMWEwYzIsCi0gIDB4OGMyMmMwMDQsCi0gIDB4MTAwMGZmM2EsCi0gIDB4YWY4MjBmZjQsCi0gIDB4M2MwMWEwZDEsCi0gIDB4OGMyMmQ1YWMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MjBmZjAsCi0gIDB4M2MwMWEwZDEsCi0gIDB4OGMyMmQ1YjAsCi0gIDB4MTAwMGZmMzIsCi0gIDB4YWY4MjBmZjQsCi0gIDB4M2MwMmEwZjAsCi0gIDB4YWM0MDAwMDAsCi0gIDB4OTA1NzAxNTMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjODAsCi0gIDB4OTA1NzAxNTcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjODEsCi0gIDB4OTA1NzAxNWIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjODcsCi0gIDB4OTA1NzAxNWYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjODYsCi0gIDB4OTA1NzAxNjMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMDcsCi0gIDB4YTM5NzBjODUsCi0gIDB4OTA1NzAxOTMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjOGIsCi0gIDB4OTA1NzAxOTcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjOGEsCi0gIDB4OTA1NzAxOWIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMDcsCi0gIDB4YTM5NzBjODksCi0gIDB4OTA1NzAwMGIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwZTAsCi0gIDB4MDAxNzA5NDIsCi0gIDB4OTA1NzAwNDcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwNzgsCi0gIDB4MDAzNzA4MjUsCi0gIDB4OTA1NzAwNjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMGYsCi0gIDB4MDAxN2I5YzAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4OTA1NzAwYzcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMmYsCi0gIDB4MDAxN2JhYzAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4OTA1NzAxNDcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMWUsCi0gIDB4MDAxN2JjMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4OTA1NzAxODMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwNjAsCi0gIDB4MDAxN2JjMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4YWY4MTBjOGMsCi0gIDB4M2MwMjE4NDAsCi0gIDB4OGY5NzBmYzgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NzBmZjAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWM1NzBjODAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmY5OTgsCi0gIDB4YWY4MDBjOTAsCi0gIDB4YWY4MDBjOTQsCi0gIDB4MDA0MDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ODc5NzBmZjAsCi0gIDB4M2MxMzAwZDEsCi0gIDB4YTY3NzAwMDgsCi0gIDB4M2MwMzAwMDAsCi0gIDB4MjQ2MzA1MjAsCi0gIDB4YWY5ZjBmZTgsCi0gIDB4MDA2MGY4MDksCi0gIDB4MjQwMjAwMDEsCi0gIDB4OGY5ZjBmZTgsCi0gIDB4MTA0MGZlZGEsCi0gIDB4OTc5NzBmZjAsCi0gIDB4Mjc4MzBmMTgsCi0gIDB4MDA3NzE4MjEsCi0gIDB4MDAxN2I4YzIsCi0gIDB4MDJlM2I4MjEsCi0gIDB4M2MwMjg4MDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4OGU2MjAwMzgsCi0gIDB4YTc4MDBmYjgsCi0gIDB4YWY4MjBmYjQsCi0gIDB4OGVlMzAwMWMsCi0gIDB4M2MwMjBjNDAsCi0gIDB4YWM0MzBmYjQsCi0gIDB4OGVlMjAwMTgsCi0gIDB4MjQ2MzAwMGMsCi0gIDB4MTQ0MzAwMDQsCi0gIDB4YWVlMzAwMWMsCi0gIDB4OGVlMzAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWVlMzAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZmZGYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBjNWMsCi0gIDB4OGY4MzBjNjAsCi0gIDB4YWY4MjBmZjAsCi0gIDB4MTAwMGZlYmUsCi0gIDB4YWY4MzBmZjQsCi0gIDB4MjM4OTA4MDAsCi0gIDB4MDEyMDE4MjEsCi0gIDB4MjQwMjAwMGYsCi0gIDB4MjA2YzAwNDAsCi0gIDB4YWM2YzAwMDgsCi0gIDB4MDE4MDE4MjEsCi0gIDB4MTQ0MGZmZmMsCi0gIDB4MjA0MmZmZmYsCi0gIDB4YWM2OTAwMDgsCi0gIDB4Mjc4YjBjOTgsCi0gIDB4YTU2MDAwMDAsCi0gIDB4MjQwM2ZmZmYsCi0gIDB4YWQ2MzAwMTQsCi0gIDB4MzQwMjAwMDEsCi0gIDB4MzQ0MjAwMjAsCi0gIDB4YTU2MjAwMDgsCi0gIDB4Mjc4YTBlMDAsCi0gIDB4MDE0MDEwMjEsCi0gIDB4MDAwMDE4MjEsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MjQ2MzAwMDQsCi0gIDB4MmM2YzAxMDAsCi0gIDB4MTU4MGZmZmMsCi0gIDB4MjQ0MjAwMDQsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmUwMDAsCi0gIDB4YWY4MjBmZTAsCi0gIDB4M2MxODAwZDEsCi0gIDB4MDEyMDYwMjEsCi0gIDB4MDAwMDY4MjEsCi0gIDB4MDAwMDc4MjEsCi0gIDB4MDAwMDU4MjEsCi0gIDB4MDAwMDQwMjEsCi0gIDB4NDAwMjYwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzQ0MjQwMDEsCi0gIDB4NDA4MjYwMDAsCi0gIDB4M2MwMjAwMDAsCi0gIDB4MjQ0MjA2ZjgsCi0gIDB4MDA0MDAwMDgsCi0gIDB4MDAwMDAwMDAsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0bS9hdG1zYXIxMS5yZWdpb25zIGIvZHJpdmVycy9hdG0vYXRtc2FyMTEucmVnaW9ucwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDIyNTJiNy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2F0bS9hdG1zYXIxMS5yZWdpb25zCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vKgotICBTZWUgY29weXJpZ2h0IGFuZCBsaWNlbnNpbmcgY29uZGl0aW9ucyBpbiBhbWJhc3NhZG9yLiogZmlsZXMuCi0qLwotICB7IDB4MDAwMDAwODAsICA5OTMsIH0sCi0gIHsgMHhhMGQwZDUwMCwgICA4MCwgfSwKLSAgeyAweGEwZDBmMDAwLCAgOTc4LCB9LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdG0vYXRtc2FyMTEuc3RhcnQgYi9kcml2ZXJzL2F0bS9hdG1zYXIxMS5zdGFydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJhNTVlNy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2F0bS9hdG1zYXIxMS5zdGFydAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLyoKLSAgU2VlIGNvcHlyaWdodCBhbmQgbGljZW5zaW5nIGNvbmRpdGlvbnMgaW4gYW1iYXNzYWRvci4qIGZpbGVzLgotKi8KLSAgMHhhMGQwZjAwMApkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlL0tjb25maWcgYi9kcml2ZXJzL2Jhc2UvS2NvbmZpZwppbmRleCBkN2RhMTA5Li5kNDc0ODJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jhc2UvS2NvbmZpZworKysgYi9kcml2ZXJzL2Jhc2UvS2NvbmZpZwpAQCAtMzQsNiArMzQsNzAgQEAKIAkgIHJlcXVpcmUgdXNlcnNwYWNlIGZpcm13YXJlIGxvYWRpbmcgc3VwcG9ydCwgYnV0IGEgbW9kdWxlIGJ1aWx0IG91dHNpZGUKIAkgIHRoZSBrZXJuZWwgdHJlZSBkb2VzLgogCitjb25maWcgRklSTVdBUkVfSU5fS0VSTkVMCisJYm9vbCAiSW5jbHVkZSBpbi1rZXJuZWwgZmlybXdhcmUgYmxvYnMgaW4ga2VybmVsIGJpbmFyeSIKKwlkZXBlbmRzIG9uIEZXX0xPQURFUgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFRoZSBrZXJuZWwgc291cmNlIHRyZWUgaW5jbHVkZXMgYSBudW1iZXIgb2YgZmlybXdhcmUgJ2Jsb2JzJworCSAgd2hpY2ggYXJlIHVzZWQgYnkgdmFyaW91cyBkcml2ZXJzLiBUaGUgcmVjb21tZW5kZWQgd2F5IHRvCisJICB1c2UgdGhlc2UgaXMgdG8gcnVuICJtYWtlIGZpcm13YXJlX2luc3RhbGwiIGFuZCB0byBjb3B5IHRoZQorCSAgcmVzdWx0aW5nIGJpbmFyeSBmaWxlcyBjcmVhdGVkIGluIHVzci9saWIvZmlybXdhcmUgZGlyZWN0b3J5CisJICBvZiB0aGUga2VybmVsIHRyZWUgdG8gdGhlIC9saWIvZmlybXdhcmUgb24geW91ciBzeXN0ZW0gc28KKwkgIHRoYXQgdGhleSBjYW4gYmUgbG9hZGVkIGJ5IHVzZXJzcGFjZSBoZWxwZXJzIG9uIHJlcXVlc3QuCisKKwkgIEVuYWJsaW5nIHRoaXMgb3B0aW9uIHdpbGwgYnVpbGQgZWFjaCByZXF1aXJlZCBmaXJtd2FyZSBibG9iCisJICBpbnRvIHRoZSBrZXJuZWwgZGlyZWN0bHksIHdoZXJlIHJlcXVlc3RfZmlybXdhcmUoKSB3aWxsIGZpbmQKKwkgIHRoZW0gd2l0aG91dCBoYXZpbmcgdG8gY2FsbCBvdXQgdG8gdXNlcnNwYWNlLiBUaGlzIG1heSBiZQorCSAgdXNlZnVsIGlmIHlvdXIgcm9vdCBmaWxlIHN5c3RlbSByZXF1aXJlcyBhIGRldmljZSB3aGljaCB1c2VzCisJICBzdWNoIGZpcm13YXJlLCBhbmQgZG8gbm90IHdpc2ggdG8gdXNlIGFuIGluaXRyZC4KKworCSAgVGhpcyBzaW5nbGUgb3B0aW9uIGNvbnRyb2xzIHRoZSBpbmNsdXNpb24gb2YgZmlybXdhcmUgZm9yCisJICBldmVyeSBkcml2ZXIgd2hpY2ggdXNlZXMgcmVxdWVzdF9maXJtYXJlKCkgYW5kIHNoaXBzIGl0cworCSAgZmlybXdhcmUgaW4gdGhlIGtlcm5lbCBzb3VyY2UgdHJlZSwgdG8gYXZvaWQgYSBwcm9saWZlcmF0aW9uCisJICBvZiAnSW5jbHVkZSBmaXJtd2FyZSBmb3IgeHh4IGRldmljZScgb3B0aW9ucy4KKworCSAgU2F5ICdOJyBhbmQgbGV0IGZpcm13YXJlIGJlIGxvYWRlZCBmcm9tIHVzZXJzcGFjZS4KKworY29uZmlnIEVYVFJBX0ZJUk1XQVJFCisJc3RyaW5nICJFeHRlcm5hbCBmaXJtd2FyZSBibG9icyB0byBidWlsZCBpbnRvIHRoZSBrZXJuZWwgYmluYXJ5IgorCWRlcGVuZHMgb24gRldfTE9BREVSCisJaGVscAorCSAgVGhpcyBvcHRpb24gYWxsb3dzIGZpcm13YXJlIHRvIGJlIGJ1aWx0IGludG8gdGhlIGtlcm5lbCwgZm9yIHRoZQorCSAgY2FzZXMgd2hlcmUgdGhlIHVzZXIgZWl0aGVyIGNhbm5vdCBvciBkb2Vzbid0IHdhbnQgdG8gcHJvdmlkZSBpdCBmcm9tCisJICB1c2Vyc3BhY2UgYXQgcnVudGltZSAoZm9yIGV4YW1wbGUsIHdoZW4gdGhlIGZpcm13YXJlIGluIHF1ZXN0aW9uIGlzCisJICByZXF1aXJlZCBmb3IgYWNjZXNzaW5nIHRoZSBib290IGRldmljZSwgYW5kIHRoZSB1c2VyIGRvZXNuJ3Qgd2FudCB0bworCSAgdXNlIGFuIGluaXRyZCkuCisKKwkgIFRoaXMgb3B0aW9uIGlzIGEgc3RyaW5nLCBhbmQgdGFrZXMgdGhlIChzcGFjZS1zZXBhcmF0ZWQpIG5hbWVzIG9mIHRoZQorCSAgZmlybXdhcmUgZmlsZXMgLS0gdGhlIHNhbWUgbmFtZXMgd2hpY2ggYXBwZWFyIGluIE1PRFVMRV9GSVJNV0FSRSgpCisJICBhbmQgcmVxdWVzdF9maXJtd2FyZSgpIGluIHRoZSBzb3VyY2UuIFRoZXNlIGZpbGVzIHNob3VsZCBleGlzdCB1bmRlcgorCSAgdGhlIGRpcmVjdG9yeSBzcGVjaWZpZWQgYnkgdGhlIEVYVFJBX0ZJUk1XQVJFX0RJUiBvcHRpb24sIHdoaWNoIGlzCisJICBieSBkZWZhdWx0IHRoZSBmaXJtd2FyZS8gc3ViZGlyZWN0b3J5IG9mIHRoZSBrZXJuZWwgc291cmNlIHRyZWUuCisKKwkgIFNvLCBmb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHNldCBDT05GSUdfRVhUUkFfRklSTVdBUkU9InVzYjgzODguYmluIiwKKwkgIGNvcHkgdGhlIHVzYjgzODguYmluIGZpbGUgaW50byB0aGUgZmlybXdhcmUvIGRpcmVjdG9yeSwgYW5kIGJ1aWxkIHRoZQorCSAga2VybmVsLiBUaGVuIGFueSByZXF1ZXN0X2Zpcm13YXJlKCJ1c2I4Mzg4LmJpbiIpIHdpbGwgYmUKKwkgIHNhdGlzZmllZCBpbnRlcm5hbGx5IHdpdGhvdXQgbmVlZGluZyB0byBjYWxsIG91dCB0byB1c2Vyc3BhY2UuCisKKwkgIFdBUk5JTkc6IElmIHlvdSBpbmNsdWRlIGFkZGl0aW9uYWwgZmlybXdhcmUgZmlsZXMgaW50byB5b3VyIGJpbmFyeQorCSAga2VybmVsIGltYWdlIHdoaWNoIGFyZSBub3QgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR1BMLAorCSAgdGhlbiBpdCBtYXkgYmUgYSB2aW9sYXRpb24gb2YgdGhlIEdQTCB0byBkaXN0cmlidXRlIHRoZSByZXN1bHRpbmcKKwkgIGltYWdlIC0tIHNpbmNlIGl0IGNvbWJpbmVzIGJvdGggR1BMIGFuZCBub24tR1BMIHdvcmsuIFlvdSBzaG91bGQKKwkgIGNvbnN1bHQgYSBsYXd5ZXIgb2YgeW91ciBvd24gYmVmb3JlIGRpc3RyaWJ1dGluZyBzdWNoIGFuIGltYWdlLgorCitjb25maWcgRVhUUkFfRklSTVdBUkVfRElSCisJc3RyaW5nICJGaXJtd2FyZSBibG9icyByb290IGRpcmVjdG9yeSIKKwlkZXBlbmRzIG9uIEVYVFJBX0ZJUk1XQVJFICE9ICIiCisJZGVmYXVsdCAiZmlybXdhcmUiCisJaGVscAorCSAgVGhpcyBvcHRpb24gY29udHJvbHMgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUga2VybmVsIGJ1aWxkIHN5c3RlbQorCSAgbG9va3MgZm9yIHRoZSBmaXJtd2FyZSBmaWxlcyBsaXN0ZWQgaW4gdGhlIEVYVFJBX0ZJUk1XQVJFIG9wdGlvbi4KKwkgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJtd2FyZS8gZGlyZWN0b3J5IGluIHRoZSBrZXJuZWwgc291cmNlIHRyZWUsCisJICBidXQgYnkgY2hhbmdpbmcgdGhpcyBvcHRpb24geW91IGNhbiBwb2ludCBpdCBlbHNld2hlcmUsIHN1Y2ggYXMKKwkgIHRoZSAvbGliL2Zpcm13YXJlLyBkaXJlY3Rvcnkgb3IgYW5vdGhlciBzZXBhcmF0ZSBkaXJlY3RvcnkKKwkgIGNvbnRhaW5pbmcgZmlybXdhcmUgZmlsZXMuCisKIGNvbmZpZyBERUJVR19EUklWRVIKIAlib29sICJEcml2ZXIgQ29yZSB2ZXJib3NlIGRlYnVnIG1lc3NhZ2VzIgogCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYyBiL2RyaXZlcnMvYmFzZS9maXJtd2FyZV9jbGFzcy5jCmluZGV4IDlmZDRhODUuLmIwYmUxZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmFzZS9maXJtd2FyZV9jbGFzcy5jCisrKyBiL2RyaXZlcnMvYmFzZS9maXJtd2FyZV9jbGFzcy5jCkBAIC00OSw2ICs0OSwxNCBAQAogCXN0cnVjdCB0aW1lcl9saXN0IHRpbWVvdXQ7CiB9OwogCisjaWZkZWYgQ09ORklHX0ZXX0xPQURFUgorZXh0ZXJuIHN0cnVjdCBidWlsdGluX2Z3IF9fc3RhcnRfYnVpbHRpbl9md1tdOworZXh0ZXJuIHN0cnVjdCBidWlsdGluX2Z3IF9fZW5kX2J1aWx0aW5fZndbXTsKKyNlbHNlIC8qIE1vZHVsZSBjYXNlLiBBdm9pZCBpZmRlZnMgbGF0ZXI7IGl0J2xsIGFsbCBvcHRpbWlzZSBvdXQgKi8KK3N0YXRpYyBzdHJ1Y3QgYnVpbHRpbl9mdyAqX19zdGFydF9idWlsdGluX2Z3Oworc3RhdGljIHN0cnVjdCBidWlsdGluX2Z3ICpfX2VuZF9idWlsdGluX2Z3OworI2VuZGlmCisKIHN0YXRpYyB2b2lkCiBmd19sb2FkX2Fib3J0KHN0cnVjdCBmaXJtd2FyZV9wcml2ICpmd19wcml2KQogewpAQCAtMjU3LDcgKzI2NSw3IEBACiAJaWYgKHJldHZhbCkKIAkJZ290byBvdXQ7CiAKLQltZW1jcHkoZnctPmRhdGEgKyBvZmZzZXQsIGJ1ZmZlciwgY291bnQpOworCW1lbWNweSgodTggKilmdy0+ZGF0YSArIG9mZnNldCwgYnVmZmVyLCBjb3VudCk7CiAKIAlmdy0+c2l6ZSA9IG1heF90KHNpemVfdCwgb2Zmc2V0ICsgY291bnQsIGZ3LT5zaXplKTsKIAlyZXR2YWwgPSBjb3VudDsKQEAgLTM5MSwxMyArMzk5LDEyIEBACiAJc3RydWN0IGRldmljZSAqZl9kZXY7CiAJc3RydWN0IGZpcm13YXJlX3ByaXYgKmZ3X3ByaXY7CiAJc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZTsKKwlzdHJ1Y3QgYnVpbHRpbl9mdyAqYnVpbHRpbjsKIAlpbnQgcmV0dmFsOwogCiAJaWYgKCFmaXJtd2FyZV9wKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXByaW50ayhLRVJOX0lORk8gImZpcm13YXJlOiByZXF1ZXN0aW5nICVzXG4iLCBuYW1lKTsKLQogCSpmaXJtd2FyZV9wID0gZmlybXdhcmUgPSBremFsbG9jKHNpemVvZigqZmlybXdhcmUpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWZpcm13YXJlKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiJXM6IGttYWxsb2Moc3RydWN0IGZpcm13YXJlKSBmYWlsZWRcbiIsCkBAIC00MDYsNiArNDEzLDIwIEBACiAJCWdvdG8gb3V0OwogCX0KIAorCWZvciAoYnVpbHRpbiA9IF9fc3RhcnRfYnVpbHRpbl9mdzsgYnVpbHRpbiAhPSBfX2VuZF9idWlsdGluX2Z3OworCSAgICAgYnVpbHRpbisrKSB7CisJCWlmIChzdHJjbXAobmFtZSwgYnVpbHRpbi0+bmFtZSkpCisJCQljb250aW51ZTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZmlybXdhcmU6IHVzaW5nIGJ1aWx0LWluIGZpcm13YXJlICVzXG4iLAorCQkgICAgICAgbmFtZSk7CisJCWZpcm13YXJlLT5zaXplID0gYnVpbHRpbi0+c2l6ZTsKKwkJZmlybXdhcmUtPmRhdGEgPSBidWlsdGluLT5kYXRhOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAodWV2ZW50KQorCQlwcmludGsoS0VSTl9JTkZPICJmaXJtd2FyZTogcmVxdWVzdGluZyAlc1xuIiwgbmFtZSk7CisKIAlyZXR2YWwgPSBmd19zZXR1cF9kZXZpY2UoZmlybXdhcmUsICZmX2RldiwgbmFtZSwgZGV2aWNlLCB1ZXZlbnQpOwogCWlmIChyZXR2YWwpCiAJCWdvdG8gZXJyb3Jfa2ZyZWVfZnc7CkBAIC00NzMsOCArNDk0LDE2IEBACiB2b2lkCiByZWxlYXNlX2Zpcm13YXJlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCiB7CisJc3RydWN0IGJ1aWx0aW5fZncgKmJ1aWx0aW47CisKIAlpZiAoZncpIHsKKwkJZm9yIChidWlsdGluID0gX19zdGFydF9idWlsdGluX2Z3OyBidWlsdGluICE9IF9fZW5kX2J1aWx0aW5fZnc7CisJCSAgICAgYnVpbHRpbisrKSB7CisJCQlpZiAoZnctPmRhdGEgPT0gYnVpbHRpbi0+ZGF0YSkKKwkJCQlnb3RvIGZyZWVfZnc7CisJCX0KIAkJdmZyZWUoZnctPmRhdGEpOworCWZyZWVfZnc6CiAJCWtmcmVlKGZ3KTsKIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2UvcG93ZXIvdHJhY2UuYyBiL2RyaXZlcnMvYmFzZS9wb3dlci90cmFjZS5jCmluZGV4IDJiNGIzOTIuLjg3YTdmMWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmFzZS9wb3dlci90cmFjZS5jCisrKyBiL2RyaXZlcnMvYmFzZS9wb3dlci90cmFjZS5jCkBAIC0xNTMsNyArMTUzLDcgQEAKICAqIGl0J3Mgbm90IGFueSBndWFyYW50ZWUsIGJ1dCBpdCdzIGEgaGlnaCBfbGlrZWxpaG9vZF8gdGhhdAogICogdGhlIG1hdGNoIGlzIHZhbGlkKS4KICAqLwotdm9pZCBnZW5lcmF0ZV9yZXN1bWVfdHJhY2Uodm9pZCAqdHJhY2VkYXRhLCB1bnNpZ25lZCBpbnQgdXNlcikKK3ZvaWQgZ2VuZXJhdGVfcmVzdW1lX3RyYWNlKGNvbnN0IHZvaWQgKnRyYWNlZGF0YSwgdW5zaWduZWQgaW50IHVzZXIpCiB7CiAJdW5zaWduZWQgc2hvcnQgbGluZW5vID0gKih1bnNpZ25lZCBzaG9ydCAqKXRyYWNlZGF0YTsKIAljb25zdCBjaGFyICpmaWxlID0gKihjb25zdCBjaGFyICoqKSh0cmFjZWRhdGEgKyAyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZS90b3BvbG9neS5jIGIvZHJpdmVycy9iYXNlL3RvcG9sb2d5LmMKaW5kZXggZmRmNDA0NC4uM2Y2ZDliMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9iYXNlL3RvcG9sb2d5LmMKKysrIGIvZHJpdmVycy9iYXNlL3RvcG9sb2d5LmMKQEAgLTQwLDYgKzQwLDcgQEAKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgdG9wb2xvZ3lfIyNuYW1lKGNwdSkpOwlcCiB9CiAKKyNpZiBkZWZpbmVkKHRvcG9sb2d5X3RocmVhZF9zaWJsaW5ncykgfHwgZGVmaW5lZCh0b3BvbG9neV9jb3JlX3NpYmxpbmdzKQogc3RhdGljIHNzaXplX3Qgc2hvd19jcHVtYXAoaW50IHR5cGUsIGNwdW1hc2tfdCAqbWFzaywgY2hhciAqYnVmKQogewogCXB0cmRpZmZfdCBsZW4gPSBQVFJfQUxJR04oYnVmICsgUEFHRV9TSVpFIC0gMSwgUEFHRV9TSVpFKSAtIGJ1ZjsKQEAgLTU0LDY1ICs1NSw2NSBAQAogCX0KIAlyZXR1cm4gbjsKIH0KKyNlbmRpZgogCisjaWZkZWYgYXJjaF9wcm92aWRlc190b3BvbG9neV9wb2ludGVycwogI2RlZmluZSBkZWZpbmVfc2libGluZ3Nfc2hvd19tYXAobmFtZSkJCQkJCVwKLXN0YXRpYyBpbmxpbmUgc3NpemVfdCBzaG93XyMjbmFtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikJXAogewkJCQkJCQkJCVwKIAl1bnNpZ25lZCBpbnQgY3B1ID0gZGV2LT5pZDsJCQkJCVwKIAlyZXR1cm4gc2hvd19jcHVtYXAoMCwgJih0b3BvbG9neV8jI25hbWUoY3B1KSksIGJ1Zik7CQlcCiB9CiAKICNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbGlzdChuYW1lKQkJCQkJXAotc3RhdGljIGlubGluZSBzc2l6ZV90IHNob3dfIyNuYW1lIyNfbGlzdChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpIFwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lIyNfbGlzdChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpIFwKIHsJCQkJCQkJCQlcCiAJdW5zaWduZWQgaW50IGNwdSA9IGRldi0+aWQ7CQkJCQlcCiAJcmV0dXJuIHNob3dfY3B1bWFwKDEsICYodG9wb2xvZ3lfIyNuYW1lKGNwdSkpLCBidWYpOwkJXAogfQogCisjZWxzZQorI2RlZmluZSBkZWZpbmVfc2libGluZ3Nfc2hvd19tYXAobmFtZSkJCQkJCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikJXAorewkJCQkJCQkJCVwKKwl1bnNpZ25lZCBpbnQgY3B1ID0gZGV2LT5pZDsJCQkJCVwKKwljcHVtYXNrX3QgbWFzayA9IHRvcG9sb2d5XyMjbmFtZShjcHUpOwkJCQlcCisJcmV0dXJuIHNob3dfY3B1bWFwKDAsICZtYXNrLCBidWYpOwkJCQlcCit9CisKKyNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbGlzdChuYW1lKQkJCQkJXAorc3RhdGljIHNzaXplX3Qgc2hvd18jI25hbWUjI19saXN0KHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikgXAorewkJCQkJCQkJCVwKKwl1bnNpZ25lZCBpbnQgY3B1ID0gZGV2LT5pZDsJCQkJCVwKKwljcHVtYXNrX3QgbWFzayA9IHRvcG9sb2d5XyMjbmFtZShjcHUpOwkJCQlcCisJcmV0dXJuIHNob3dfY3B1bWFwKDEsICZtYXNrLCBidWYpOwkJCQlcCit9CisjZW5kaWYKKwogI2RlZmluZSBkZWZpbmVfc2libGluZ3Nfc2hvd19mdW5jKG5hbWUpCQlcCiAJZGVmaW5lX3NpYmxpbmdzX3Nob3dfbWFwKG5hbWUpOyBkZWZpbmVfc2libGluZ3Nfc2hvd19saXN0KG5hbWUpCiAKLSNpZmRlZgl0b3BvbG9neV9waHlzaWNhbF9wYWNrYWdlX2lkCiBkZWZpbmVfaWRfc2hvd19mdW5jKHBoeXNpY2FsX3BhY2thZ2VfaWQpOwogZGVmaW5lX29uZV9ybyhwaHlzaWNhbF9wYWNrYWdlX2lkKTsKLSNkZWZpbmUgcmVmX3BoeXNpY2FsX3BhY2thZ2VfaWRfYXR0cgkmYXR0cl9waHlzaWNhbF9wYWNrYWdlX2lkLmF0dHIsCi0jZWxzZQotI2RlZmluZSByZWZfcGh5c2ljYWxfcGFja2FnZV9pZF9hdHRyCi0jZW5kaWYKIAotI2lmZGVmIHRvcG9sb2d5X2NvcmVfaWQKIGRlZmluZV9pZF9zaG93X2Z1bmMoY29yZV9pZCk7CiBkZWZpbmVfb25lX3JvKGNvcmVfaWQpOwotI2RlZmluZSByZWZfY29yZV9pZF9hdHRyCQkmYXR0cl9jb3JlX2lkLmF0dHIsCi0jZWxzZQotI2RlZmluZSByZWZfY29yZV9pZF9hdHRyCi0jZW5kaWYKIAotI2lmZGVmIHRvcG9sb2d5X3RocmVhZF9zaWJsaW5ncwogZGVmaW5lX3NpYmxpbmdzX3Nob3dfZnVuYyh0aHJlYWRfc2libGluZ3MpOwogZGVmaW5lX29uZV9ybyh0aHJlYWRfc2libGluZ3MpOwogZGVmaW5lX29uZV9ybyh0aHJlYWRfc2libGluZ3NfbGlzdCk7Ci0jZGVmaW5lIHJlZl90aHJlYWRfc2libGluZ3NfYXR0cglcCi0JCSZhdHRyX3RocmVhZF9zaWJsaW5ncy5hdHRyLCAmYXR0cl90aHJlYWRfc2libGluZ3NfbGlzdC5hdHRyLAotI2Vsc2UKLSNkZWZpbmUgcmVmX3RocmVhZF9zaWJsaW5nc19hdHRyCi0jZW5kaWYKIAotI2lmZGVmIHRvcG9sb2d5X2NvcmVfc2libGluZ3MKIGRlZmluZV9zaWJsaW5nc19zaG93X2Z1bmMoY29yZV9zaWJsaW5ncyk7CiBkZWZpbmVfb25lX3JvKGNvcmVfc2libGluZ3MpOwogZGVmaW5lX29uZV9ybyhjb3JlX3NpYmxpbmdzX2xpc3QpOwotI2RlZmluZSByZWZfY29yZV9zaWJsaW5nc19hdHRyCQlcCi0JCSZhdHRyX2NvcmVfc2libGluZ3MuYXR0ciwgJmF0dHJfY29yZV9zaWJsaW5nc19saXN0LmF0dHIsCi0jZWxzZQotI2RlZmluZSByZWZfY29yZV9zaWJsaW5nc19hdHRyCi0jZW5kaWYKIAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmRlZmF1bHRfYXR0cnNbXSA9IHsKLQlyZWZfcGh5c2ljYWxfcGFja2FnZV9pZF9hdHRyCi0JcmVmX2NvcmVfaWRfYXR0cgotCXJlZl90aHJlYWRfc2libGluZ3NfYXR0cgotCXJlZl9jb3JlX3NpYmxpbmdzX2F0dHIKKwkmYXR0cl9waHlzaWNhbF9wYWNrYWdlX2lkLmF0dHIsCisJJmF0dHJfY29yZV9pZC5hdHRyLAorCSZhdHRyX3RocmVhZF9zaWJsaW5ncy5hdHRyLAorCSZhdHRyX3RocmVhZF9zaWJsaW5nc19saXN0LmF0dHIsCisJJmF0dHJfY29yZV9zaWJsaW5ncy5hdHRyLAorCSZhdHRyX2NvcmVfc2libGluZ3NfbGlzdC5hdHRyLAogCU5VTEwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svREFDOTYwLmMgYi9kcml2ZXJzL2Jsb2NrL0RBQzk2MC5jCmluZGV4IGNkMDM0NzMuLmEwMDJhMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svREFDOTYwLmMKKysrIGIvZHJpdmVycy9ibG9jay9EQUM5NjAuYwpAQCAtNjYyOCwxNSArNjYyOCwxOCBAQAogICogREFDOTYwX2dhbV9pb2N0bCBpcyB0aGUgaW9jdGwgZnVuY3Rpb24gZm9yIHBlcmZvcm1pbmcgUkFJRCBvcGVyYXRpb25zLgogKi8KIAotc3RhdGljIGludCBEQUM5NjBfZ2FtX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQkJICAgIHVuc2lnbmVkIGludCBSZXF1ZXN0LCB1bnNpZ25lZCBsb25nIEFyZ3VtZW50KQorc3RhdGljIGxvbmcgREFDOTYwX2dhbV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IFJlcXVlc3QsCisJCQkJCQl1bnNpZ25lZCBsb25nIEFyZ3VtZW50KQogewotICBpbnQgRXJyb3JDb2RlID0gMDsKKyAgbG9uZyBFcnJvckNvZGUgPSAwOwogICBpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpIHJldHVybiAtRUFDQ0VTOworCisgIGxvY2tfa2VybmVsKCk7CiAgIHN3aXRjaCAoUmVxdWVzdCkKICAgICB7CiAgICAgY2FzZSBEQUM5NjBfSU9DVExfR0VUX0NPTlRST0xMRVJfQ09VTlQ6Ci0gICAgICByZXR1cm4gREFDOTYwX0NvbnRyb2xsZXJDb3VudDsKKyAgICAgIEVycm9yQ29kZSA9IERBQzk2MF9Db250cm9sbGVyQ291bnQ7CisgICAgICBicmVhazsKICAgICBjYXNlIERBQzk2MF9JT0NUTF9HRVRfQ09OVFJPTExFUl9JTkZPOgogICAgICAgewogCURBQzk2MF9Db250cm9sbGVySW5mb19UIF9fdXNlciAqVXNlclNwYWNlQ29udHJvbGxlckluZm8gPQpAQCAtNjY0NCwxNSArNjY0NywyMCBAQAogCURBQzk2MF9Db250cm9sbGVySW5mb19UIENvbnRyb2xsZXJJbmZvOwogCURBQzk2MF9Db250cm9sbGVyX1QgKkNvbnRyb2xsZXI7CiAJaW50IENvbnRyb2xsZXJOdW1iZXI7Ci0JaWYgKFVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvID09IE5VTEwpIHJldHVybiAtRUlOVkFMOwotCUVycm9yQ29kZSA9IGdldF91c2VyKENvbnRyb2xsZXJOdW1iZXIsCisJaWYgKFVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvID09IE5VTEwpCisJCUVycm9yQ29kZSA9IC1FSU5WQUw7CisJZWxzZSBFcnJvckNvZGUgPSBnZXRfdXNlcihDb250cm9sbGVyTnVtYmVyLAogCQkJICAgICAmVXNlclNwYWNlQ29udHJvbGxlckluZm8tPkNvbnRyb2xsZXJOdW1iZXIpOwotCWlmIChFcnJvckNvZGUgIT0gMCkgcmV0dXJuIEVycm9yQ29kZTsKKwlpZiAoRXJyb3JDb2RlICE9IDApCisJCWJyZWFrOzsKKwlFcnJvckNvZGUgPSAtRU5YSU87CiAJaWYgKENvbnRyb2xsZXJOdW1iZXIgPCAwIHx8Ci0JICAgIENvbnRyb2xsZXJOdW1iZXIgPiBEQUM5NjBfQ29udHJvbGxlckNvdW50IC0gMSkKLQkgIHJldHVybiAtRU5YSU87CisJICAgIENvbnRyb2xsZXJOdW1iZXIgPiBEQUM5NjBfQ29udHJvbGxlckNvdW50IC0gMSkgeworCSAgYnJlYWs7CisJfQogCUNvbnRyb2xsZXIgPSBEQUM5NjBfQ29udHJvbGxlcnNbQ29udHJvbGxlck51bWJlcl07Ci0JaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkgcmV0dXJuIC1FTlhJTzsKKwlpZiAoQ29udHJvbGxlciA9PSBOVUxMKQorCQlicmVhazs7CiAJbWVtc2V0KCZDb250cm9sbGVySW5mbywgMCwgc2l6ZW9mKERBQzk2MF9Db250cm9sbGVySW5mb19UKSk7CiAJQ29udHJvbGxlckluZm8uQ29udHJvbGxlck51bWJlciA9IENvbnRyb2xsZXJOdW1iZXI7CiAJQ29udHJvbGxlckluZm8uRmlybXdhcmVUeXBlID0gQ29udHJvbGxlci0+RmlybXdhcmVUeXBlOwpAQCAtNjY2NSw4ICs2NjczLDkgQEAKIAlDb250cm9sbGVySW5mby5QQ0lfQWRkcmVzcyA9IENvbnRyb2xsZXItPlBDSV9BZGRyZXNzOwogCXN0cmNweShDb250cm9sbGVySW5mby5Nb2RlbE5hbWUsIENvbnRyb2xsZXItPk1vZGVsTmFtZSk7CiAJc3RyY3B5KENvbnRyb2xsZXJJbmZvLkZpcm13YXJlVmVyc2lvbiwgQ29udHJvbGxlci0+RmlybXdhcmVWZXJzaW9uKTsKLQlyZXR1cm4gKGNvcHlfdG9fdXNlcihVc2VyU3BhY2VDb250cm9sbGVySW5mbywgJkNvbnRyb2xsZXJJbmZvLAorCUVycm9yQ29kZSA9IChjb3B5X3RvX3VzZXIoVXNlclNwYWNlQ29udHJvbGxlckluZm8sICZDb250cm9sbGVySW5mbywKIAkJCSAgICAgc2l6ZW9mKERBQzk2MF9Db250cm9sbGVySW5mb19UKSkgPyAtRUZBVUxUIDogMCk7CisJYnJlYWs7CiAgICAgICB9CiAgICAgY2FzZSBEQUM5NjBfSU9DVExfVjFfRVhFQ1VURV9DT01NQU5EOgogICAgICAgewpAQCAtNjY4NCwzMCArNjY5MywzOSBAQAogCWludCBDb250cm9sbGVyTnVtYmVyLCBEYXRhVHJhbnNmZXJMZW5ndGg7CiAJdW5zaWduZWQgY2hhciAqRGF0YVRyYW5zZmVyQnVmZmVyID0gTlVMTDsKIAlkbWFfYWRkcl90IERhdGFUcmFuc2ZlckJ1ZmZlckRNQTsKLQlpZiAoVXNlclNwYWNlVXNlckNvbW1hbmQgPT0gTlVMTCkgcmV0dXJuIC1FSU5WQUw7CisJaWYgKFVzZXJTcGFjZVVzZXJDb21tYW5kID09IE5VTEwpIHsKKwkJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQogCWlmIChjb3B5X2Zyb21fdXNlcigmVXNlckNvbW1hbmQsIFVzZXJTcGFjZVVzZXJDb21tYW5kLAogCQkJCSAgIHNpemVvZihEQUM5NjBfVjFfVXNlckNvbW1hbmRfVCkpKSB7CiAJCUVycm9yQ29kZSA9IC1FRkFVTFQ7Ci0JCWdvdG8gRmFpbHVyZTFhOworCQlicmVhazsKIAl9CiAJQ29udHJvbGxlck51bWJlciA9IFVzZXJDb21tYW5kLkNvbnRyb2xsZXJOdW1iZXI7CisgICAgCUVycm9yQ29kZSA9IC1FTlhJTzsKIAlpZiAoQ29udHJvbGxlck51bWJlciA8IDAgfHwKIAkgICAgQ29udHJvbGxlck51bWJlciA+IERBQzk2MF9Db250cm9sbGVyQ291bnQgLSAxKQotCSAgcmV0dXJuIC1FTlhJTzsKKwkgICAgCWJyZWFrOwogCUNvbnRyb2xsZXIgPSBEQUM5NjBfQ29udHJvbGxlcnNbQ29udHJvbGxlck51bWJlcl07Ci0JaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkgcmV0dXJuIC1FTlhJTzsKLQlpZiAoQ29udHJvbGxlci0+RmlybXdhcmVUeXBlICE9IERBQzk2MF9WMV9Db250cm9sbGVyKSByZXR1cm4gLUVJTlZBTDsKKwlpZiAoQ29udHJvbGxlciA9PSBOVUxMKQorCQlicmVhazsKKwlFcnJvckNvZGUgPSAtRUlOVkFMOworCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YxX0NvbnRyb2xsZXIpCisJCWJyZWFrOwogCUNvbW1hbmRPcGNvZGUgPSBVc2VyQ29tbWFuZC5Db21tYW5kTWFpbGJveC5Db21tb24uQ29tbWFuZE9wY29kZTsKIAlEYXRhVHJhbnNmZXJMZW5ndGggPSBVc2VyQ29tbWFuZC5EYXRhVHJhbnNmZXJMZW5ndGg7Ci0JaWYgKENvbW1hbmRPcGNvZGUgJiAweDgwKSByZXR1cm4gLUVJTlZBTDsKKwlpZiAoQ29tbWFuZE9wY29kZSAmIDB4ODApCisJCWJyZWFrOwogCWlmIChDb21tYW5kT3Bjb2RlID09IERBQzk2MF9WMV9EQ0RCKQogCSAgewogCSAgICBpZiAoY29weV9mcm9tX3VzZXIoJkRDREIsIFVzZXJDb21tYW5kLkRDREIsCiAJCQkgICAgICAgc2l6ZW9mKERBQzk2MF9WMV9EQ0RCX1QpKSkgewogCQlFcnJvckNvZGUgPSAtRUZBVUxUOwotCQlnb3RvIEZhaWx1cmUxYTsKKwkJYnJlYWs7CiAJICAgIH0KLQkgICAgaWYgKERDREIuQ2hhbm5lbCA+PSBEQUM5NjBfVjFfTWF4Q2hhbm5lbHMpIHJldHVybiAtRUlOVkFMOworCSAgICBpZiAoRENEQi5DaGFubmVsID49IERBQzk2MF9WMV9NYXhDaGFubmVscykKKwkgICAgCQlicmVhazsKIAkgICAgaWYgKCEoKERhdGFUcmFuc2Zlckxlbmd0aCA9PSAwICYmCiAJCSAgIERDREIuRGlyZWN0aW9uCiAJCSAgID09IERBQzk2MF9WMV9EQ0RCX05vRGF0YVRyYW5zZmVyKSB8fApAQCAtNjcxNywzOCArNjczNSwzNyBAQAogCQkgIChEYXRhVHJhbnNmZXJMZW5ndGggPCAwICYmCiAJCSAgIERDREIuRGlyZWN0aW9uCiAJCSAgID09IERBQzk2MF9WMV9EQ0RCX0RhdGFUcmFuc2ZlclN5c3RlbVRvRGV2aWNlKSkpCi0JICAgICAgcmV0dXJuIC1FSU5WQUw7CisJCSAgIAlicmVhazsKIAkgICAgaWYgKCgoRENEQi5UcmFuc2Zlckxlbmd0aEhpZ2g0IDw8IDE2KSB8IERDREIuVHJhbnNmZXJMZW5ndGgpCiAJCSE9IGFicyhEYXRhVHJhbnNmZXJMZW5ndGgpKQotCSAgICAgIHJldHVybiAtRUlOVkFMOworCQkJYnJlYWs7CiAJICAgIERDREJfSU9CVUYgPSBwY2lfYWxsb2NfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsCiAJCQlzaXplb2YoREFDOTYwX1YxX0RDREJfVCksICZEQ0RCX0lPQlVGRE1BKTsKLQkgICAgaWYgKERDREJfSU9CVUYgPT0gTlVMTCkKLQkJCXJldHVybiAtRU5PTUVNOworCSAgICBpZiAoRENEQl9JT0JVRiA9PSBOVUxMKSB7CisJICAgIAkJRXJyb3JDb2RlID0gLUVOT01FTTsKKwkJCWJyZWFrOworCQl9CiAJICB9CisJRXJyb3JDb2RlID0gLUVOT01FTTsKIAlpZiAoRGF0YVRyYW5zZmVyTGVuZ3RoID4gMCkKIAkgIHsKIAkgICAgRGF0YVRyYW5zZmVyQnVmZmVyID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLAogCQkJCURhdGFUcmFuc2Zlckxlbmd0aCwgJkRhdGFUcmFuc2ZlckJ1ZmZlckRNQSk7Ci0JICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkgewotCQlFcnJvckNvZGUgPSAtRU5PTUVNOwotCQlnb3RvIEZhaWx1cmUxOwotCSAgICB9CisJICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkKKwkgICAgCWJyZWFrOwogCSAgICBtZW1zZXQoRGF0YVRyYW5zZmVyQnVmZmVyLCAwLCBEYXRhVHJhbnNmZXJMZW5ndGgpOwogCSAgfQogCWVsc2UgaWYgKERhdGFUcmFuc2Zlckxlbmd0aCA8IDApCiAJICB7CiAJICAgIERhdGFUcmFuc2ZlckJ1ZmZlciA9IHBjaV9hbGxvY19jb25zaXN0ZW50KENvbnRyb2xsZXItPlBDSURldmljZSwKIAkJCQktRGF0YVRyYW5zZmVyTGVuZ3RoLCAmRGF0YVRyYW5zZmVyQnVmZmVyRE1BKTsKLQkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKSB7Ci0JCUVycm9yQ29kZSA9IC1FTk9NRU07Ci0JCWdvdG8gRmFpbHVyZTE7Ci0JICAgIH0KKwkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKQorCSAgICAJYnJlYWs7CiAJICAgIGlmIChjb3B5X2Zyb21fdXNlcihEYXRhVHJhbnNmZXJCdWZmZXIsCiAJCQkgICAgICAgVXNlckNvbW1hbmQuRGF0YVRyYW5zZmVyQnVmZmVyLAogCQkJICAgICAgIC1EYXRhVHJhbnNmZXJMZW5ndGgpKSB7CiAJCUVycm9yQ29kZSA9IC1FRkFVTFQ7Ci0JCWdvdG8gRmFpbHVyZTE7CisJCWJyZWFrOwogCSAgICB9CiAJICB9CiAJaWYgKENvbW1hbmRPcGNvZGUgPT0gREFDOTYwX1YxX0RDREIpCkBAIC02ODI1LDggKzY4NDIsNyBAQAogCWlmIChEQ0RCX0lPQlVGICE9IE5VTEwpCiAJICBwY2lfZnJlZV9jb25zaXN0ZW50KENvbnRyb2xsZXItPlBDSURldmljZSwgc2l6ZW9mKERBQzk2MF9WMV9EQ0RCX1QpLAogCQkJRENEQl9JT0JVRiwgRENEQl9JT0JVRkRNQSk7Ci0gICAgICBGYWlsdXJlMWE6Ci0JcmV0dXJuIEVycm9yQ29kZTsKKyAgICAgIAlicmVhazsKICAgICAgIH0KICAgICBjYXNlIERBQzk2MF9JT0NUTF9WMl9FWEVDVVRFX0NPTU1BTkQ6CiAgICAgICB7CkBAIC02ODQ0LDMyICs2ODYwLDQzIEBACiAJZG1hX2FkZHJfdCBEYXRhVHJhbnNmZXJCdWZmZXJETUE7CiAJdW5zaWduZWQgY2hhciAqUmVxdWVzdFNlbnNlQnVmZmVyID0gTlVMTDsKIAlkbWFfYWRkcl90IFJlcXVlc3RTZW5zZUJ1ZmZlckRNQTsKLQlpZiAoVXNlclNwYWNlVXNlckNvbW1hbmQgPT0gTlVMTCkgcmV0dXJuIC1FSU5WQUw7CisKKwlFcnJvckNvZGUgPSAtRUlOVkFMOworCWlmIChVc2VyU3BhY2VVc2VyQ29tbWFuZCA9PSBOVUxMKQorCQlicmVhazsKIAlpZiAoY29weV9mcm9tX3VzZXIoJlVzZXJDb21tYW5kLCBVc2VyU3BhY2VVc2VyQ29tbWFuZCwKIAkJCSAgIHNpemVvZihEQUM5NjBfVjJfVXNlckNvbW1hbmRfVCkpKSB7CiAJCUVycm9yQ29kZSA9IC1FRkFVTFQ7Ci0JCWdvdG8gRmFpbHVyZTJhOworCQlicmVhazsKIAl9CisJRXJyb3JDb2RlID0gLUVOWElPOwogCUNvbnRyb2xsZXJOdW1iZXIgPSBVc2VyQ29tbWFuZC5Db250cm9sbGVyTnVtYmVyOwogCWlmIChDb250cm9sbGVyTnVtYmVyIDwgMCB8fAogCSAgICBDb250cm9sbGVyTnVtYmVyID4gREFDOTYwX0NvbnRyb2xsZXJDb3VudCAtIDEpCi0JICByZXR1cm4gLUVOWElPOworCSAgICAJYnJlYWs7CiAJQ29udHJvbGxlciA9IERBQzk2MF9Db250cm9sbGVyc1tDb250cm9sbGVyTnVtYmVyXTsKLQlpZiAoQ29udHJvbGxlciA9PSBOVUxMKSByZXR1cm4gLUVOWElPOwotCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YyX0NvbnRyb2xsZXIpIHJldHVybiAtRUlOVkFMOworCWlmIChDb250cm9sbGVyID09IE5VTEwpCisJCWJyZWFrOworCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YyX0NvbnRyb2xsZXIpeworCQlFcnJvckNvZGUgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CiAJRGF0YVRyYW5zZmVyTGVuZ3RoID0gVXNlckNvbW1hbmQuRGF0YVRyYW5zZmVyTGVuZ3RoOworICAgIAlFcnJvckNvZGUgPSAtRU5PTUVNOwogCWlmIChEYXRhVHJhbnNmZXJMZW5ndGggPiAwKQogCSAgewogCSAgICBEYXRhVHJhbnNmZXJCdWZmZXIgPSBwY2lfYWxsb2NfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsCiAJCQkJRGF0YVRyYW5zZmVyTGVuZ3RoLCAmRGF0YVRyYW5zZmVyQnVmZmVyRE1BKTsKLQkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKSByZXR1cm4gLUVOT01FTTsKKwkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKQorCSAgICAJYnJlYWs7CiAJICAgIG1lbXNldChEYXRhVHJhbnNmZXJCdWZmZXIsIDAsIERhdGFUcmFuc2Zlckxlbmd0aCk7CiAJICB9CiAJZWxzZSBpZiAoRGF0YVRyYW5zZmVyTGVuZ3RoIDwgMCkKIAkgIHsKIAkgICAgRGF0YVRyYW5zZmVyQnVmZmVyID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLAogCQkJCS1EYXRhVHJhbnNmZXJMZW5ndGgsICZEYXRhVHJhbnNmZXJCdWZmZXJETUEpOwotCSAgICBpZiAoRGF0YVRyYW5zZmVyQnVmZmVyID09IE5VTEwpIHJldHVybiAtRU5PTUVNOworCSAgICBpZiAoRGF0YVRyYW5zZmVyQnVmZmVyID09IE5VTEwpCisJICAgIAlicmVhazsKIAkgICAgaWYgKGNvcHlfZnJvbV91c2VyKERhdGFUcmFuc2ZlckJ1ZmZlciwKIAkJCSAgICAgICBVc2VyQ29tbWFuZC5EYXRhVHJhbnNmZXJCdWZmZXIsCiAJCQkgICAgICAgLURhdGFUcmFuc2Zlckxlbmd0aCkpIHsKQEAgLTY5NzksOCArNzAwNiw3IEBACiAJaWYgKFJlcXVlc3RTZW5zZUJ1ZmZlciAhPSBOVUxMKQogCSAgcGNpX2ZyZWVfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsIFJlcXVlc3RTZW5zZUxlbmd0aCwKIAkJUmVxdWVzdFNlbnNlQnVmZmVyLCBSZXF1ZXN0U2Vuc2VCdWZmZXJETUEpOwotICAgICAgRmFpbHVyZTJhOgotCXJldHVybiBFcnJvckNvZGU7CisgICAgICAgIGJyZWFrOwogICAgICAgfQogICAgIGNhc2UgREFDOTYwX0lPQ1RMX1YyX0dFVF9IRUFMVEhfU1RBVFVTOgogICAgICAgewpAQCAtNjk5MCwyMSArNzAxNiwzMyBAQAogCURBQzk2MF9WMl9IZWFsdGhTdGF0dXNCdWZmZXJfVCBIZWFsdGhTdGF0dXNCdWZmZXI7CiAJREFDOTYwX0NvbnRyb2xsZXJfVCAqQ29udHJvbGxlcjsKIAlpbnQgQ29udHJvbGxlck51bWJlcjsKLQlpZiAoVXNlclNwYWNlR2V0SGVhbHRoU3RhdHVzID09IE5VTEwpIHJldHVybiAtRUlOVkFMOworCWlmIChVc2VyU3BhY2VHZXRIZWFsdGhTdGF0dXMgPT0gTlVMTCkgeworCQlFcnJvckNvZGUgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CiAJaWYgKGNvcHlfZnJvbV91c2VyKCZHZXRIZWFsdGhTdGF0dXMsIFVzZXJTcGFjZUdldEhlYWx0aFN0YXR1cywKLQkJCSAgIHNpemVvZihEQUM5NjBfVjJfR2V0SGVhbHRoU3RhdHVzX1QpKSkKLQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkgICBzaXplb2YoREFDOTYwX1YyX0dldEhlYWx0aFN0YXR1c19UKSkpIHsKKwkJRXJyb3JDb2RlID0gLUVGQVVMVDsKKwkJYnJlYWs7CisJfQorCUVycm9yQ29kZSA9IC1FTlhJTzsKIAlDb250cm9sbGVyTnVtYmVyID0gR2V0SGVhbHRoU3RhdHVzLkNvbnRyb2xsZXJOdW1iZXI7CiAJaWYgKENvbnRyb2xsZXJOdW1iZXIgPCAwIHx8CiAJICAgIENvbnRyb2xsZXJOdW1iZXIgPiBEQUM5NjBfQ29udHJvbGxlckNvdW50IC0gMSkKLQkgIHJldHVybiAtRU5YSU87CisJCSAgICBicmVhazsKIAlDb250cm9sbGVyID0gREFDOTYwX0NvbnRyb2xsZXJzW0NvbnRyb2xsZXJOdW1iZXJdOwotCWlmIChDb250cm9sbGVyID09IE5VTEwpIHJldHVybiAtRU5YSU87Ci0JaWYgKENvbnRyb2xsZXItPkZpcm13YXJlVHlwZSAhPSBEQUM5NjBfVjJfQ29udHJvbGxlcikgcmV0dXJuIC1FSU5WQUw7CisJaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkKKwkJYnJlYWs7CisJaWYgKENvbnRyb2xsZXItPkZpcm13YXJlVHlwZSAhPSBEQUM5NjBfVjJfQ29udHJvbGxlcikgeworCQlFcnJvckNvZGUgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CiAJaWYgKGNvcHlfZnJvbV91c2VyKCZIZWFsdGhTdGF0dXNCdWZmZXIsCiAJCQkgICBHZXRIZWFsdGhTdGF0dXMuSGVhbHRoU3RhdHVzQnVmZmVyLAotCQkJICAgc2l6ZW9mKERBQzk2MF9WMl9IZWFsdGhTdGF0dXNCdWZmZXJfVCkpKQotCQlyZXR1cm4gLUVGQVVMVDsKKwkJCSAgIHNpemVvZihEQUM5NjBfVjJfSGVhbHRoU3RhdHVzQnVmZmVyX1QpKSkgeworCQlFcnJvckNvZGUgPSAtRUZBVUxUOworCQlicmVhazsKKwl9CiAJd2hpbGUgKENvbnRyb2xsZXItPlYyLkhlYWx0aFN0YXR1c0J1ZmZlci0+U3RhdHVzQ2hhbmdlQ291bnRlcgogCSAgICAgICA9PSBIZWFsdGhTdGF0dXNCdWZmZXIuU3RhdHVzQ2hhbmdlQ291bnRlciAmJgogCSAgICAgICBDb250cm9sbGVyLT5WMi5IZWFsdGhTdGF0dXNCdWZmZXItPk5leHRFdmVudFNlcXVlbmNlTnVtYmVyCkBAIC03MDEyLDIxICs3MDUwLDI4IEBACiAJICB7CiAJICAgIGludGVycnVwdGlibGVfc2xlZXBfb25fdGltZW91dCgmQ29udHJvbGxlci0+SGVhbHRoU3RhdHVzV2FpdFF1ZXVlLAogCQkJCQkgICBEQUM5NjBfTW9uaXRvcmluZ1RpbWVySW50ZXJ2YWwpOwotCSAgICBpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHJldHVybiAtRUlOVFI7CisJICAgIGlmIChzaWduYWxfcGVuZGluZyhjdXJyZW50KSkgeworCSAgICAJRXJyb3JDb2RlID0gLUVJTlRSOworCSAgICAJYnJlYWs7CisJICAgIH0KIAkgIH0KIAlpZiAoY29weV90b191c2VyKEdldEhlYWx0aFN0YXR1cy5IZWFsdGhTdGF0dXNCdWZmZXIsCiAJCQkgQ29udHJvbGxlci0+VjIuSGVhbHRoU3RhdHVzQnVmZmVyLAogCQkJIHNpemVvZihEQUM5NjBfVjJfSGVhbHRoU3RhdHVzQnVmZmVyX1QpKSkKLQkJcmV0dXJuIC1FRkFVTFQ7Ci0JcmV0dXJuIDA7CisJCUVycm9yQ29kZSA9IC1FRkFVTFQ7CisJZWxzZQorCQlFcnJvckNvZGUgPSAgMDsKICAgICAgIH0KKyAgICAgIGRlZmF1bHQ6CisJRXJyb3JDb2RlID0gLUVOT1RUWTsKICAgICB9Ci0gIHJldHVybiAtRUlOVkFMOworICB1bmxvY2tfa2VybmVsKCk7CisgIHJldHVybiBFcnJvckNvZGU7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIERBQzk2MF9nYW1fZm9wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmlvY3RsCQk9IERBQzk2MF9nYW1faW9jdGwKKwkudW5sb2NrZWRfaW9jdGwJPSBEQUM5NjBfZ2FtX2lvY3RsCiB9OwogCiBzdGF0aWMgc3RydWN0IG1pc2NkZXZpY2UgREFDOTYwX2dhbV9kZXYgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjaHIuYyBiL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNoci5jCmluZGV4IGU4ZTYwZTcuLmQxZGU2OGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNoci5jCisrKyBiL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNoci5jCkBAIC03LDYgKzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+CiAjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgImFvZS5oIgogCiBlbnVtIHsKQEAgLTE3NCwxMiArMTc1LDE2IEBACiB7CiAJaW50IG4sIGk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW4gPSBpbWlub3IoaW5vZGUpOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9ICh2b2lkICopICh1bnNpZ25lZCBsb25nKSBuOwogCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY2hhcmRldnMpOyArK2kpCi0JCWlmIChjaGFyZGV2c1tpXS5taW5vciA9PSBuKQorCQlpZiAoY2hhcmRldnNbaV0ubWlub3IgPT0gbikgeworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIDA7CisJCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNtZC5jIGIvZHJpdmVycy9ibG9jay9hb2UvYW9lY21kLmMKaW5kZXggNDFmODE4Yi4uMmYxNzQ2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9hb2UvYW9lY21kLmMKKysrIGIvZHJpdmVycy9ibG9jay9hb2UvYW9lY21kLmMKQEAgLTEwMDMsNyArMTAwMyw3IEBACiAJICogRW5vdWdoIHBlb3BsZSBoYXZlIHRoZWlyIGRpcCBzd2l0Y2hlcyBzZXQgYmFja3dhcmRzIHRvCiAJICogd2FycmFudCBhIGxvdWQgbWVzc2FnZSBmb3IgdGhpcyBzcGVjaWFsIGNhc2UuCiAJICovCi0JYW9lbWFqb3IgPSBiZTE2X3RvX2NwdShnZXRfdW5hbGlnbmVkKCZoLT5tYWpvcikpOworCWFvZW1ham9yID0gZ2V0X3VuYWxpZ25lZF9iZTE2KCZoLT5tYWpvcik7CiAJaWYgKGFvZW1ham9yID09IDB4ZmZmKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiYW9lOiBXYXJuaW5nOiBzaGVsZiBhZGRyZXNzIGlzIGFsbCBvbmVzLiAgIgogCQkJIkNoZWNrIHNoZWxmIGRpcCBzd2l0Y2hlcy5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9wYXJpZGUvcGQuYyBiL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BkLmMKaW5kZXggNTcwZjNiNy4uNWZkZmE3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9wYXJpZGUvcGQuYworKysgYi9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZC5jCkBAIC03MTIsMTkgKzcxMiwxNyBAQAogc3RhdGljIGludCBwZF9zcGVjaWFsX2NvbW1hbmQoc3RydWN0IHBkX3VuaXQgKmRpc2ssCiAJCSAgICAgIGVudW0gYWN0aW9uICgqZnVuYykoc3RydWN0IHBkX3VuaXQgKmRpc2spKQogewotCURFQ0xBUkVfQ09NUExFVElPTl9PTlNUQUNLKHdhaXQpOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlpbnQgZXJyID0gMDsKIAotCWJsa19ycV9pbml0KE5VTEwsICZycSk7Ci0JcnEucnFfZGlzayA9IGRpc2stPmdkOwotCXJxLmVuZF9pb19kYXRhID0gJndhaXQ7Ci0JcnEuZW5kX2lvID0gYmxrX2VuZF9zeW5jX3JxOwotCWJsa19pbnNlcnRfcmVxdWVzdChkaXNrLT5nZC0+cXVldWUsICZycSwgMCwgZnVuYyk7Ci0Jd2FpdF9mb3JfY29tcGxldGlvbigmd2FpdCk7Ci0JaWYgKHJxLmVycm9ycykKLQkJZXJyID0gLUVJTzsKLQlibGtfcHV0X3JlcXVlc3QoJnJxKTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkaXNrLT5nZC0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+c3BlY2lhbCA9IGZ1bmM7CisKKwllcnIgPSBibGtfZXhlY3V0ZV9ycShkaXNrLT5nZC0+cXVldWUsIGRpc2stPmdkLCBycSwgMCk7CisKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BnLmMgYi9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZy5jCmluZGV4IGFiODZlMjMuLjlkOTI2MzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BnLmMKKysrIGIvZHJpdmVycy9ibG9jay9wYXJpZGUvcGcuYwpAQCAtMTYyLDYgKzE2Miw3IEBACiAjaW5jbHVkZSA8bGludXgvcGcuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgkvKiBjdXJyZW50LCBUQVNLXyogKi8KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC01MTUsMTIgKzUxNiwxOCBAQAogewogCWludCB1bml0ID0gaW1pbm9yKGlub2RlKSAmIDB4N2Y7CiAJc3RydWN0IHBnICpkZXYgPSAmZGV2aWNlc1t1bml0XTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmICgodW5pdCA+PSBQR19VTklUUykgfHwgKCFkZXYtPnByZXNlbnQpKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlsb2NrX2tlcm5lbCgpOworCWlmICgodW5pdCA+PSBQR19VTklUUykgfHwgKCFkZXYtPnByZXNlbnQpKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAotCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZkZXYtPmFjY2VzcykpCi0JCXJldHVybiAtRUJVU1k7CisJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJmRldi0+YWNjZXNzKSkgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0OworCX0KIAogCWlmIChkZXYtPmJ1c3kpIHsKIAkJcGdfcmVzZXQoZGV2KTsKQEAgLTUzMywxMiArNTQwLDE1IEBACiAJaWYgKGRldi0+YnVmcHRyID09IE5VTEwpIHsKIAkJY2xlYXJfYml0KDAsICZkZXYtPmFjY2Vzcyk7CiAJCXByaW50aygiJXM6IGJ1ZmZlciBhbGxvY2F0aW9uIGZhaWxlZFxuIiwgZGV2LT5uYW1lKTsKLQkJcmV0dXJuIC1FTk9NRU07CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OwogCX0KIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGRldjsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHBnX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wdC5jIGIvZHJpdmVycy9ibG9jay9wYXJpZGUvcHQuYwppbmRleCA4Yjk1NDlhLi41Yzc0YzM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wdC5jCisrKyBiL2RyaXZlcnMvYmxvY2svcGFyaWRlL3B0LmMKQEAgLTE0Niw2ICsxNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L210aW8uaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgkvKiBjdXJyZW50LCBUQVNLXyosIHNjaGVkdWxlX3RpbWVvdXQoKSAqLworI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC0xODksOCArMTkwLDcgQEAKICNkZWZpbmUgQVRBUElfTE9HX1NFTlNFCQkweDRkCiAKIHN0YXRpYyBpbnQgcHRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSk7Ci1zdGF0aWMgaW50IHB0X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQkgICAgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpOworc3RhdGljIGxvbmcgcHRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKTsKIHN0YXRpYyBpbnQgcHRfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSk7CiBzdGF0aWMgc3NpemVfdCBwdF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqYnVmLAogCQkgICAgICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKiBwcG9zKTsKQEAgLTIzNiw3ICsyMzYsNyBAQAogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5yZWFkID0gcHRfcmVhZCwKIAkud3JpdGUgPSBwdF93cml0ZSwKLQkuaW9jdGwgPSBwdF9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwgPSBwdF9pb2N0bCwKIAkub3BlbiA9IHB0X29wZW4sCiAJLnJlbGVhc2UgPSBwdF9yZWxlYXNlLAogfTsKQEAgLTY1MCw4ICs2NTAsMTEgQEAKIAlzdHJ1Y3QgcHRfdW5pdCAqdGFwZSA9IHB0ICsgdW5pdDsKIAlpbnQgZXJyOwogCi0JaWYgKHVuaXQgPj0gUFRfVU5JVFMgfHwgKCF0YXBlLT5wcmVzZW50KSkKKwlsb2NrX2tlcm5lbCgpOworCWlmICh1bml0ID49IFBUX1VOSVRTIHx8ICghdGFwZS0+cHJlc2VudCkpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKIAllcnIgPSAtRUJVU1k7CiAJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZ0YXBlLT5hdmFpbGFibGUpKQpAQCAtNjc4LDE1ICs2ODEsMTYgQEAKIAl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSB0YXBlOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogb3V0OgogCWF0b21pY19pbmMoJnRhcGUtPmF2YWlsYWJsZSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgcHRfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsCi0JIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgcHRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogewogCXN0cnVjdCBwdF91bml0ICp0YXBlID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXN0cnVjdCBtdG9wIF9fdXNlciAqcCA9ICh2b2lkIF9fdXNlciAqKWFyZzsKQEAgLTcwMCwyMyArNzA0LDI2IEBACiAJCXN3aXRjaCAobXRvcC5tdF9vcCkgewogCiAJCWNhc2UgTVRSRVc6CisJCQlsb2NrX2tlcm5lbCgpOwogCQkJcHRfcmV3aW5kKHRhcGUpOworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIDA7CiAKIAkJY2FzZSBNVFdFT0Y6CisJCQlsb2NrX2tlcm5lbCgpOwogCQkJcHRfd3JpdGVfZm0odGFwZSk7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gMDsKIAogCQlkZWZhdWx0OgotCQkJcHJpbnRrKCIlczogVW5pbXBsZW1lbnRlZCBtdF9vcCAlZFxuIiwgdGFwZS0+bmFtZSwKKwkJCS8qIEZJWE1FOiByYXRlIGxpbWl0ID8/ICovCisJCQlwcmludGsoS0VSTl9ERUJVRyAiJXM6IFVuaW1wbGVtZW50ZWQgbXRfb3AgJWRcbiIsIHRhcGUtPm5hbWUsCiAJCQkgICAgICAgbXRvcC5tdF9vcCk7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCiAJZGVmYXVsdDoKLQkJcHJpbnRrKCIlczogVW5pbXBsZW1lbnRlZCBpb2N0bCAweCV4XG4iLCB0YXBlLT5uYW1lLCBjbWQpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQorCQlyZXR1cm4gLUVOT1RUWTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jIGIvZHJpdmVycy9ibG9jay9wa3RjZHZkLmMKaW5kZXggM2JhMWRmOS4uNDViZWU5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9wa3RjZHZkLmMKKysrIGIvZHJpdmVycy9ibG9jay9wa3RjZHZkLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9maWxlLmg+CkBAIC0yMDc5LDcgKzIwODAsNiBAQAogCXVuc2lnbmVkIGNoYXIgYnVmWzY0XTsKIAlpbnQgcmV0OwogCi0JbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwogCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIHNpemVvZihidWYpLCBDR0NfREFUQV9SRUFEKTsKIAljZ2Muc2Vuc2UgPSAmc2Vuc2U7CiAJY2djLmJ1ZmxlbiA9IHBkLT5tb2RlX29mZnNldCArIDEyOwpAQCAtMjEyNiw3ICsyMTI2LDYgQEAKIAl1bnNpZ25lZCBjaGFyICpjYXBfYnVmOwogCWludCByZXQsIG9mZnNldDsKIAotCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKIAljYXBfYnVmID0gJmJ1ZltzaXplb2Yoc3RydWN0IG1vZGVfcGFnZV9oZWFkZXIpICsgcGQtPm1vZGVfb2Zmc2V0XTsKIAlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCBzaXplb2YoYnVmKSwgQ0dDX0RBVEFfVU5LTk9XTik7CiAJY2djLnNlbnNlID0gJnNlbnNlOwpAQCAtMjYzMywxMSArMjYzMiwxMiBAQAogCiAKIAotc3RhdGljIGludCBwa3RfbWVyZ2VfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3ZlYyAqYnZlYykKK3N0YXRpYyBpbnQgcGt0X21lcmdlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJtZCwKKwkJCSAgc3RydWN0IGJpb192ZWMgKmJ2ZWMpCiB7CiAJc3RydWN0IHBrdGNkdmRfZGV2aWNlICpwZCA9IHEtPnF1ZXVlZGF0YTsKLQlzZWN0b3JfdCB6b25lID0gWk9ORShiaW8tPmJpX3NlY3RvciwgcGQpOwotCWludCB1c2VkID0gKChiaW8tPmJpX3NlY3RvciAtIHpvbmUpIDw8IDkpICsgYmlvLT5iaV9zaXplOworCXNlY3Rvcl90IHpvbmUgPSBaT05FKGJtZC0+Ymlfc2VjdG9yLCBwZCk7CisJaW50IHVzZWQgPSAoKGJtZC0+Ymlfc2VjdG9yIC0gem9uZSkgPDwgOSkgKyBibWQtPmJpX3NpemU7CiAJaW50IHJlbWFpbmluZyA9IChwZC0+c2V0dGluZ3Muc2l6ZSA8PCA5KSAtIHVzZWQ7CiAJaW50IHJlbWFpbmluZzI7CiAKQEAgLTI2NDUsNyArMjY0NSw3IEBACiAJICogQSBiaW8gPD0gUEFHRV9TSVpFIG11c3QgYmUgYWxsb3dlZC4gSWYgaXQgY3Jvc3NlcyBhIHBhY2tldAogCSAqIGJvdW5kYXJ5LCBwa3RfbWFrZV9yZXF1ZXN0KCkgd2lsbCBzcGxpdCB0aGUgYmlvLgogCSAqLwotCXJlbWFpbmluZzIgPSBQQUdFX1NJWkUgLSBiaW8tPmJpX3NpemU7CisJcmVtYWluaW5nMiA9IFBBR0VfU0laRSAtIGJtZC0+Ymlfc2l6ZTsKIAlyZW1haW5pbmcgPSBtYXgocmVtYWluaW5nLCByZW1haW5pbmcyKTsKIAogCUJVR19PTihyZW1haW5pbmcgPCAwKTsKQEAgLTI3OTYsOSArMjc5NiwxNCBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgcGt0X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIHBrdF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCiB7Ci0Jc3RydWN0IHBrdGNkdmRfZGV2aWNlICpwZCA9IGlub2RlLT5pX2JkZXYtPmJkX2Rpc2stPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3QgcGt0Y2R2ZF9kZXZpY2UgKnBkOworCWxvbmcgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlwZCA9IGlub2RlLT5pX2JkZXYtPmJkX2Rpc2stPnByaXZhdGVfZGF0YTsKIAogCVZQUklOVEsoInBrdF9pb2N0bDogY21kICV4LCBkZXYgJWQ6JWRcbiIsIGNtZCwgaW1ham9yKGlub2RlKSwgaW1pbm9yKGlub2RlKSk7CiAKQEAgLTI4MTEsNyArMjgxNiw4IEBACiAJY2FzZSBDRFJPTV9MQVNUX1dSSVRURU46CiAJY2FzZSBDRFJPTV9TRU5EX1BBQ0tFVDoKIAljYXNlIFNDU0lfSU9DVExfU0VORF9DT01NQU5EOgotCQlyZXR1cm4gYmxrZGV2X2lvY3RsKHBkLT5iZGV2LT5iZF9pbm9kZSwgZmlsZSwgY21kLCBhcmcpOworCQlyZXQgPSBibGtkZXZfaW9jdGwocGQtPmJkZXYtPmJkX2lub2RlLCBmaWxlLCBjbWQsIGFyZyk7CisJCWJyZWFrOwogCiAJY2FzZSBDRFJPTUVKRUNUOgogCQkvKgpAQCAtMjgyMCwxNCArMjgyNiwxNSBAQAogCQkgKi8KIAkJaWYgKHBkLT5yZWZjbnQgPT0gMSkKIAkJCXBrdF9sb2NrX2Rvb3IocGQsIDApOwotCQlyZXR1cm4gYmxrZGV2X2lvY3RsKHBkLT5iZGV2LT5iZF9pbm9kZSwgZmlsZSwgY21kLCBhcmcpOworCQlyZXQgPSBibGtkZXZfaW9jdGwocGQtPmJkZXYtPmJkX2lub2RlLCBmaWxlLCBjbWQsIGFyZyk7CisJCWJyZWFrOwogCiAJZGVmYXVsdDoKIAkJVlBSSU5USyhEUklWRVJfTkFNRSI6IFVua25vd24gaW9jdGwgZm9yICVzICgleClcbiIsIHBkLT5uYW1lLCBjbWQpOwotCQlyZXR1cm4gLUVOT1RUWTsKKwkJcmV0ID0gLUVOT1RUWTsKIAl9Ci0KLQlyZXR1cm4gMDsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBwa3RfbWVkaWFfY2hhbmdlZChzdHJ1Y3QgZ2VuZGlzayAqZGlzaykKQEAgLTI4NDksNyArMjg1Niw3IEBACiAJLm93bmVyID0JCVRISVNfTU9EVUxFLAogCS5vcGVuID0JCQlwa3Rfb3BlbiwKIAkucmVsZWFzZSA9CQlwa3RfY2xvc2UsCi0JLmlvY3RsID0JCXBrdF9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwgPQlwa3RfaW9jdGwsCiAJLm1lZGlhX2NoYW5nZWQgPQlwa3RfbWVkaWFfY2hhbmdlZCwKIH07CiAKQEAgLTMwMTQsNyArMzAyMSw4IEBACiAJbXV0ZXhfdW5sb2NrKCZjdGxfbXV0ZXgpOwogfQogCi1zdGF0aWMgaW50IHBrdF9jdGxfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgcGt0X2N0bF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgYXJnKQogewogCXZvaWQgX191c2VyICphcmdwID0gKHZvaWQgX191c2VyICopYXJnOwogCXN0cnVjdCBwa3RfY3RybF9jb21tYW5kIGN0cmxfY21kOwpAQCAtMzAzMSwxNiArMzAzOSwyMiBAQAogCWNhc2UgUEtUX0NUUkxfQ01EX1NFVFVQOgogCQlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCiAJCQlyZXR1cm4gLUVQRVJNOworCQlsb2NrX2tlcm5lbCgpOwogCQlyZXQgPSBwa3Rfc2V0dXBfZGV2KG5ld19kZWNvZGVfZGV2KGN0cmxfY21kLmRldiksICZwa3RfZGV2KTsKIAkJY3RybF9jbWQucGt0X2RldiA9IG5ld19lbmNvZGVfZGV2KHBrdF9kZXYpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCWJyZWFrOwogCWNhc2UgUEtUX0NUUkxfQ01EX1RFQVJET1dOOgogCQlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCiAJCQlyZXR1cm4gLUVQRVJNOworCQlsb2NrX2tlcm5lbCgpOwogCQlyZXQgPSBwa3RfcmVtb3ZlX2RldihuZXdfZGVjb2RlX2RldihjdHJsX2NtZC5wa3RfZGV2KSk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJYnJlYWs7CiAJY2FzZSBQS1RfQ1RSTF9DTURfU1RBVFVTOgorCQlsb2NrX2tlcm5lbCgpOwogCQlwa3RfZ2V0X3N0YXR1cygmY3RybF9jbWQpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtRU5PVFRZOwpAQCAtMzA1Myw3ICszMDY3LDcgQEAKIAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBwa3RfY3RsX2ZvcHMgPSB7Ci0JLmlvY3RsCSA9IHBrdF9jdGxfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsCSA9IHBrdF9jdGxfaW9jdGwsCiAJLm93bmVyCSA9IFRISVNfTU9EVUxFLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMKaW5kZXggZjJmZmY1Ny4uOWFlMDVjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYworKysgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvaGRyZWcuaD4KKyNpbmNsdWRlIDxsaW51eC9jZHJvbS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCiAjaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgpAQCAtMTUzLDYgKzE1NCw0MCBAQAogCXJldHVybiAwOwogfQogCitpbnQgYmxraWZfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGVwLAorCQl1bnNpZ25lZCBjb21tYW5kLCB1bnNpZ25lZCBsb25nIGFyZ3VtZW50KQoreworCXN0cnVjdCBibGtmcm9udF9pbmZvICppbmZvID0KKwkJaW5vZGUtPmlfYmRldi0+YmRfZGlzay0+cHJpdmF0ZV9kYXRhOworCWludCBpOworCisJZGV2X2RiZygmaW5mby0+eGJkZXYtPmRldiwgImNvbW1hbmQ6IDB4JXgsIGFyZ3VtZW50OiAweCVseFxuIiwKKwkJY29tbWFuZCwgKGxvbmcpYXJndW1lbnQpOworCisJc3dpdGNoIChjb21tYW5kKSB7CisJY2FzZSBDRFJPTU1VTFRJU0VTU0lPTjoKKwkJZGV2X2RiZygmaW5mby0+eGJkZXYtPmRldiwgIkZJWE1FOiBzdXBwb3J0IG11bHRpc2Vzc2lvbiBDRHMgbGF0ZXJcbiIpOworCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHN0cnVjdCBjZHJvbV9tdWx0aXNlc3Npb24pOyBpKyspCisJCQlpZiAocHV0X3VzZXIoMCwgKGNoYXIgX191c2VyICopKGFyZ3VtZW50ICsgaSkpKQorCQkJCXJldHVybiAtRUZBVUxUOworCQlyZXR1cm4gMDsKKworCWNhc2UgQ0RST01fR0VUX0NBUEFCSUxJVFk6IHsKKwkJc3RydWN0IGdlbmRpc2sgKmdkID0gaW5mby0+Z2Q7CisJCWlmIChnZC0+ZmxhZ3MgJiBHRU5IRF9GTF9DRCkKKwkJCXJldHVybiAwOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlkZWZhdWx0OgorCQkvKnByaW50ayhLRVJOX0FMRVJUICJpb2N0bCAlMDh4IG5vdCBzdXBwb3J0ZWQgYnkgWGVuIGJsa2RldlxuIiwKKwkJICBjb21tYW5kKTsqLworCQlyZXR1cm4gLUVJTlZBTDsgLyogc2FtZSByZXR1cm4gYXMgbmF0aXZlIExpbnV4ICovCisJfQorCisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBibGtpZl9xdWV1ZV9yZXF1ZXN0CiAgKgpAQCAtMzI0LDYgKzM1OSw5IEBACiAJLyogTWFrZSBzdXJlIGJ1ZmZlciBhZGRyZXNzZXMgYXJlIHNlY3Rvci1hbGlnbmVkLiAqLwogCWJsa19xdWV1ZV9kbWFfYWxpZ25tZW50KHJxLCA1MTEpOwogCisJLyogTWFrZSBzdXJlIHdlIGRvbid0IHVzZSBib3VuY2UgYnVmZmVycy4gKi8KKwlibGtfcXVldWVfYm91bmNlX2xpbWl0KHJxLCBCTEtfQk9VTkNFX0FOWSk7CisKIAlnZC0+cXVldWUgPSBycTsKIAogCXJldHVybiAwOwpAQCAtNTQ2LDcgKzU4NCw3IEBACiAKIAlpbmZvLT5yaW5nX3JlZiA9IEdSQU5UX0lOVkFMSURfUkVGOwogCi0Jc3JpbmcgPSAoc3RydWN0IGJsa2lmX3NyaW5nICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOworCXNyaW5nID0gKHN0cnVjdCBibGtpZl9zcmluZyAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfTk9JTyB8IF9fR0ZQX0hJR0gpOwogCWlmICghc3JpbmcpIHsKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIC1FTk9NRU0sICJhbGxvY2F0aW5nIHNoYXJlZCByaW5nIik7CiAJCXJldHVybiAtRU5PTUVNOwpAQCAtNzAzLDcgKzc0MSw4IEBACiAJaW50IGo7CiAKIAkvKiBTdGFnZSAxOiBNYWtlIGEgc2FmZSBjb3B5IG9mIHRoZSBzaGFkb3cgc3RhdGUuICovCi0JY29weSA9IGttYWxsb2Moc2l6ZW9mKGluZm8tPnNoYWRvdyksIEdGUF9LRVJORUwpOworCWNvcHkgPSBrbWFsbG9jKHNpemVvZihpbmZvLT5zaGFkb3cpLAorCQkgICAgICAgR0ZQX05PSU8gfCBfX0dGUF9SRVBFQVQgfCBfX0dGUF9ISUdIKTsKIAlpZiAoIWNvcHkpCiAJCXJldHVybiAtRU5PTUVNOwogCW1lbWNweShjb3B5LCBpbmZvLT5zaGFkb3csIHNpemVvZihpbmZvLT5zaGFkb3cpKTsKQEAgLTk1OSw3ICs5OTgsNyBAQAogCQlzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2ID0gaW5mby0+eGJkZXY7CiAJCWVudW0geGVuYnVzX3N0YXRlIHN0YXRlID0geGVuYnVzX3JlYWRfZHJpdmVyX3N0YXRlKGRldi0+b3RoZXJlbmQpOwogCi0JCWlmIChzdGF0ZSA9PSBYZW5idXNTdGF0ZUNsb3NpbmcpCisJCWlmIChzdGF0ZSA9PSBYZW5idXNTdGF0ZUNsb3NpbmcgJiYgaW5mby0+aXNfcmVhZHkpCiAJCQlibGtmcm9udF9jbG9zaW5nKGRldik7CiAJfQogCXJldHVybiAwOwpAQCAtOTcxLDYgKzEwMTAsNyBAQAogCS5vcGVuID0gYmxraWZfb3BlbiwKIAkucmVsZWFzZSA9IGJsa2lmX3JlbGVhc2UsCiAJLmdldGdlbyA9IGJsa2lmX2dldGdlbywKKwkuaW9jdGwgPSBibGtpZl9pb2N0bCwKIH07CiAKIApAQCAtMTAwNiw3ICsxMDQ2LDcgQEAKIG1vZHVsZV9pbml0KHhsYmxrX2luaXQpOwogCiAKLXN0YXRpYyB2b2lkIHhsYmxrX2V4aXQodm9pZCkKK3N0YXRpYyB2b2lkIF9fZXhpdCB4bGJsa19leGl0KHZvaWQpCiB7CiAJcmV0dXJuIHhlbmJ1c191bnJlZ2lzdGVyX2RyaXZlcigmYmxrZnJvbnQpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibHVldG9vdGgvYmZ1c2IuYyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2JmdXNiLmMKaW5kZXggYjk5MDgwNS4uMGMyMTFhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibHVldG9vdGgvYmZ1c2IuYworKysgYi9kcml2ZXJzL2JsdWV0b290aC9iZnVzYi5jCkBAIC01NjYsNyArNTY2LDggQEAKIAlyZXR1cm4gLUVOT0lPQ1RMQ01EOwogfQogCi1zdGF0aWMgaW50IGJmdXNiX2xvYWRfZmlybXdhcmUoc3RydWN0IGJmdXNiX2RhdGEgKmRhdGEsIHVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCBpbnQgY291bnQpCitzdGF0aWMgaW50IGJmdXNiX2xvYWRfZmlybXdhcmUoc3RydWN0IGJmdXNiX2RhdGEgKmRhdGEsCisJCQkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIGludCBjb3VudCkKIHsKIAl1bnNpZ25lZCBjaGFyICpidWY7CiAJaW50IGVyciwgcGlwZSwgbGVuLCBzaXplLCBzZW50ID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmx1ZXRvb3RoL2J0M2NfY3MuYyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2J0M2NfY3MuYwppbmRleCA3NzAzZDZlLi41OTNiN2M1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2JsdWV0b290aC9idDNjX2NzLmMKKysrIGIvZHJpdmVycy9ibHVldG9vdGgvYnQzY19jcy5jCkBAIC00NzAsNyArNDcwLDggQEAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PSBDYXJkIHNlcnZpY2VzIEhDSSBpbnRlcmFjdGlvbiA9PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIAogCi1zdGF0aWMgaW50IGJ0M2NfbG9hZF9maXJtd2FyZShidDNjX2luZm9fdCAqaW5mbywgdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIGludCBjb3VudCkKK3N0YXRpYyBpbnQgYnQzY19sb2FkX2Zpcm13YXJlKGJ0M2NfaW5mb190ICppbmZvLCBjb25zdCB1bnNpZ25lZCBjaGFyICpmaXJtd2FyZSwKKwkJCSAgICAgIGludCBjb3VudCkKIHsKIAljaGFyICpwdHIgPSAoY2hhciAqKSBmaXJtd2FyZTsKIAljaGFyIGJbOV07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2JsdWV0b290aC9oY2lfdmhjaS5jIGIvZHJpdmVycy9ibHVldG9vdGgvaGNpX3ZoY2kuYwppbmRleCAwNjM4NzMwLi5kOTc3MDBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2JsdWV0b290aC9oY2lfdmhjaS5jCisrKyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2hjaV92aGNpLmMKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CkBAIC0yNjMsOSArMjY0LDExIEBACiAJc2tiX3F1ZXVlX2hlYWRfaW5pdCgmZGF0YS0+cmVhZHEpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmRhdGEtPnJlYWRfd2FpdCk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWhkZXYgPSBoY2lfYWxsb2NfZGV2KCk7CiAJaWYgKCFoZGV2KSB7CiAJCWtmcmVlKGRhdGEpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIApAQCAtMjg2LDEwICsyODksMTIgQEAKIAkJQlRfRVJSKCJDYW4ndCByZWdpc3RlciBIQ0kgZGV2aWNlIik7CiAJCWtmcmVlKGRhdGEpOwogCQloY2lfZnJlZV9kZXYoaGRldik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBkYXRhOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIH0KQEAgLTMxMywxOCArMzE4LDIxIEBACiBzdGF0aWMgaW50IHZoY2lfZmFzeW5jKGludCBmZCwgc3RydWN0IGZpbGUgKmZpbGUsIGludCBvbikKIHsKIAlzdHJ1Y3QgdmhjaV9kYXRhICpkYXRhID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwotCWludCBlcnI7CisJaW50IGVyciA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWVyciA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmZGF0YS0+ZmFzeW5jKTsKIAlpZiAoZXJyIDwgMCkKLQkJcmV0dXJuIGVycjsKKwkJZ290byBvdXQ7CiAKIAlpZiAob24pCiAJCWRhdGEtPmZsYWdzIHw9IFZIQ0lfRkFTWU5DOwogCWVsc2UKIAkJZGF0YS0+ZmxhZ3MgJj0gflZIQ0lfRkFTWU5DOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHZoY2lfZm9wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2Ryb20vY2Ryb20uYyBiL2RyaXZlcnMvY2Ryb20vY2Ryb20uYwppbmRleCA2OWYyNmViLi5hNWRhMzU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Nkcm9tL2Nkcm9tLmMKKysrIGIvZHJpdmVycy9jZHJvbS9jZHJvbS5jCkBAIC00NjEsMzcgKzQ2MSwyNyBAQAogCQkJICBzdHJ1Y3QgbWVkaWFfZXZlbnRfZGVzYyAqbWVkKQogewogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JdW5zaWduZWQgY2hhciAqYnVmZmVyOwotCXN0cnVjdCBldmVudF9oZWFkZXIgKmVoOwotCWludCByZXQgPSAxOworCXVuc2lnbmVkIGNoYXIgYnVmZmVyWzhdOworCXN0cnVjdCBldmVudF9oZWFkZXIgKmVoID0gKHN0cnVjdCBldmVudF9oZWFkZXIgKikgYnVmZmVyOwogCi0JYnVmZmVyID0ga21hbGxvYyg4LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQllaCA9IChzdHJ1Y3QgZXZlbnRfaGVhZGVyICopYnVmZmVyOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgOCwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9HRVRfRVZFTlRfU1RBVFVTX05PVElGSUNBVElPTjsKIAljZ2MuY21kWzFdID0gMTsJCS8qIElNTUVEICovCiAJY2djLmNtZFs0XSA9IDEgPDwgNDsJLyogbWVkaWEgZXZlbnQgKi8KLQljZ2MuY21kWzhdID0gODsKKwljZ2MuY21kWzhdID0gc2l6ZW9mKGJ1ZmZlcik7CiAJY2djLnF1aWV0ID0gMTsKIAogCWlmIChjZGktPm9wcy0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkKLQkJZ290byBlcnI7CisJCXJldHVybiAxOwogCiAJaWYgKGJlMTZfdG9fY3B1KGVoLT5kYXRhX2xlbikgPCBzaXplb2YoKm1lZCkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gMTsKIAogCWlmIChlaC0+bmVhIHx8IGVoLT5ub3RpZmljYXRpb25fY2xhc3MgIT0gMHg0KQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIDE7CiAKLQltZW1jcHkobWVkLCBidWZmZXIgKyBzaXplb2YoKmVoKSwgc2l6ZW9mKCptZWQpKTsKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwltZW1jcHkobWVkLCAmYnVmZmVyW3NpemVvZigqZWgpXSwgc2l6ZW9mKCptZWQpKTsKKwlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTUwMSw4MiArNDkxLDY4IEBACiBzdGF0aWMgaW50IGNkcm9tX21yd19wcm9iZV9wYyhzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCWNoYXIgKmJ1ZmZlcjsKLQlpbnQgcmV0ID0gMTsKKwljaGFyIGJ1ZmZlclsxNl07CiAKLQlidWZmZXIgPSBrbWFsbG9jKDE2LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAxNiwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCiAJY2djLnRpbWVvdXQgPSBIWjsKIAljZ2MucXVpZXQgPSAxOwogCiAJaWYgKCFjZHJvbV9tb2RlX3NlbnNlKGNkaSwgJmNnYywgTVJXX01PREVfUEMsIDApKSB7CiAJCWNkaS0+bXJ3X21vZGVfcGFnZSA9IE1SV19NT0RFX1BDOwotCQlyZXQgPSAwOworCQlyZXR1cm4gMDsKIAl9IGVsc2UgaWYgKCFjZHJvbV9tb2RlX3NlbnNlKGNkaSwgJmNnYywgTVJXX01PREVfUENfUFJFMSwgMCkpIHsKIAkJY2RpLT5tcndfbW9kZV9wYWdlID0gTVJXX01PREVfUENfUFJFMTsKLQkJcmV0ID0gMDsKKwkJcmV0dXJuIDA7CiAJfQotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKworCXJldHVybiAxOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX2lzX21ydyhzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgaW50ICp3cml0ZSkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBtcndfZmVhdHVyZV9kZXNjICptZmQ7Ci0JdW5zaWduZWQgY2hhciAqYnVmZmVyOworCXVuc2lnbmVkIGNoYXIgYnVmZmVyWzE2XTsKIAlpbnQgcmV0OwogCiAJKndyaXRlID0gMDsKLQlidWZmZXIgPSBrbWFsbG9jKDE2LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07CiAKLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAxNiwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCiAJY2djLmNtZFswXSA9IEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OOwogCWNnYy5jbWRbM10gPSBDREZfTVJXOwotCWNnYy5jbWRbOF0gPSAxNjsKKwljZ2MuY21kWzhdID0gc2l6ZW9mKGJ1ZmZlcik7CiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCW1mZCA9IChzdHJ1Y3QgbXJ3X2ZlYXR1cmVfZGVzYyAqKSZidWZmZXJbc2l6ZW9mKHN0cnVjdCBmZWF0dXJlX2hlYWRlcildOwotCWlmIChiZTE2X3RvX2NwdShtZmQtPmZlYXR1cmVfY29kZSkgIT0gQ0RGX01SVykgewotCQlyZXQgPSAxOwotCQlnb3RvIGVycjsKLQl9CisJaWYgKGJlMTZfdG9fY3B1KG1mZC0+ZmVhdHVyZV9jb2RlKSAhPSBDREZfTVJXKQorCQlyZXR1cm4gMTsKIAkqd3JpdGUgPSBtZmQtPndyaXRlOwogCiAJaWYgKChyZXQgPSBjZHJvbV9tcndfcHJvYmVfcGMoY2RpKSkpIHsKIAkJKndyaXRlID0gMDsKKwkJcmV0dXJuIHJldDsKIAl9Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgY2Ryb21fbXJ3X2JnZm9ybWF0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBpbnQgY29udCkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjsKKwl1bnNpZ25lZCBjaGFyIGJ1ZmZlclsxMl07CiAJaW50IHJldDsKIAogCXByaW50ayhLRVJOX0lORk8gImNkcm9tOiAlc3N0YXJ0aW5nIGZvcm1hdFxuIiwgY29udCA/ICJSZSIgOiAiIik7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDEyLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KIAkvKgogCSAqIEZtdERhdGEgYml0IHNldCAoYml0IDQpLCBmb3JtYXQgdHlwZSBpcyAxCiAJICovCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTIsIENHQ19EQVRBX1dSSVRFKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgQ0dDX0RBVEFfV1JJVEUpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9GT1JNQVRfVU5JVDsKIAljZ2MuY21kWzFdID0gKDEgPDwgNCkgfCAxOwogCkBAIC02MDMsNyArNTc5LDYgQEAKIAlpZiAocmV0KQogCQlwcmludGsoS0VSTl9JTkZPICJjZHJvbTogYmdmb3JtYXQgZmFpbGVkXG4iKTsKIAotCWtmcmVlKGJ1ZmZlcik7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNjYzLDE3ICs2MzgsMTYgQEAKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBtb2RlX3BhZ2VfaGVhZGVyICptcGg7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzE2XTsKIAlpbnQgcmV0LCBvZmZzZXQsIHNpemU7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDE2LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOworCWNnYy5idWZmZXIgPSBidWZmZXI7CisJY2djLmJ1ZmxlbiA9IHNpemVvZihidWZmZXIpOwogCiAJaWYgKChyZXQgPSBjZHJvbV9tb2RlX3NlbnNlKGNkaSwgJmNnYywgY2RpLT5tcndfbW9kZV9wYWdlLCAwKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJbXBoID0gKHN0cnVjdCBtb2RlX3BhZ2VfaGVhZGVyICopIGJ1ZmZlcjsKIAlvZmZzZXQgPSBiZTE2X3RvX2NwdShtcGgtPmRlc2NfbGVuZ3RoKTsKQEAgLTY4Myw3MCArNjU3LDU1IEBACiAJY2djLmJ1ZmxlbiA9IHNpemU7CiAKIAlpZiAoKHJldCA9IGNkcm9tX21vZGVfc2VsZWN0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCXByaW50ayhLRVJOX0lORk8gImNkcm9tOiAlczogbXJ3IGFkZHJlc3Mgc3BhY2UgJXMgc2VsZWN0ZWRcbiIsIGNkaS0+bmFtZSwgbXJ3X2FkZHJlc3Nfc3BhY2Vbc3BhY2VdKTsKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBjZHJvbV9nZXRfcmFuZG9tX3dyaXRhYmxlKHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLAogCQkJICAgICAgc3RydWN0IHJ3cnRfZmVhdHVyZV9kZXNjICpyZmQpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7CisJY2hhciBidWZmZXJbMjRdOwogCWludCByZXQ7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDI0LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAyNCwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCiAJY2djLmNtZFswXSA9IEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OOwkvKiBvZnRlbiAweDQ2ICovCiAJY2djLmNtZFszXSA9IENERl9SV1JUOwkJCS8qIG9mdGVuIDB4MDAyMCAqLwotCWNnYy5jbWRbOF0gPSAyNDsJCSAgICAgICAgLyogb2Z0ZW4gMHgxOCAqLworCWNnYy5jbWRbOF0gPSBzaXplb2YoYnVmZmVyKTsJCS8qIG9mdGVuIDB4MTggKi8KIAljZ2MucXVpZXQgPSAxOwogCiAJaWYgKChyZXQgPSBjZGktPm9wcy0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJbWVtY3B5KHJmZCwgJmJ1ZmZlcltzaXplb2Yoc3RydWN0IGZlYXR1cmVfaGVhZGVyKV0sIHNpemVvZiAoKnJmZCkpOwotCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX2hhc19kZWZlY3RfbWd0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKQogewogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzE2XTsKIAlfX2JlMTYgKmZlYXR1cmVfY29kZTsKIAlpbnQgcmV0OwogCi0JYnVmZmVyID0ga21hbGxvYygxNiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAogCWNnYy5jbWRbMF0gPSBHUENNRF9HRVRfQ09ORklHVVJBVElPTjsKIAljZ2MuY21kWzNdID0gQ0RGX0hXRE07Ci0JY2djLmNtZFs4XSA9IDE2OworCWNnYy5jbWRbOF0gPSBzaXplb2YoYnVmZmVyKTsKIAljZ2MucXVpZXQgPSAxOwogCiAJaWYgKChyZXQgPSBjZGktPm9wcy0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJZmVhdHVyZV9jb2RlID0gKF9fYmUxNiAqKSAmYnVmZmVyW3NpemVvZihzdHJ1Y3QgZmVhdHVyZV9oZWFkZXIpXTsKIAlpZiAoYmUxNl90b19jcHUoKmZlYXR1cmVfY29kZSkgPT0gQ0RGX0hXRE0pCi0JCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCQlyZXR1cm4gMDsKKworCXJldHVybiAxOwogfQogCiAKQEAgLTgzNywxNCArNzk2LDEwIEBACiBzdGF0aWMgaW50IG1vX29wZW5fd3JpdGUoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7CisJY2hhciBidWZmZXJbMjU1XTsKIAlpbnQgcmV0OwogCi0JYnVmZmVyID0ga21hbGxvYygyNTUsIEdGUF9LRVJORUwpOwotCWlmICghYnVmZmVyKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDQsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCAmYnVmZmVyLCA0LCBDR0NfREFUQV9SRUFEKTsKIAljZ2MucXVpZXQgPSAxOwogCiAJLyoKQEAgLTg2MSwxNSArODE2LDEwIEBACiAJfQogCiAJLyogZHJpdmUgZ2F2ZSB1cyBubyBpbmZvLCBsZXQgdGhlIHVzZXIgZ28gYWhlYWQgKi8KLQlpZiAocmV0KSB7Ci0JCXJldCA9IDA7Ci0JCWdvdG8gZXJyOwotCX0KKwlpZiAocmV0KQorCQlyZXR1cm4gMDsKIAotCXJldCA9IGJ1ZmZlclszXSAmIDB4ODA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiBidWZmZXJbM10gJiAweDgwOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX3JhbV9vcGVuX3dyaXRlKHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKQpAQCAtODkyLDE5ICs4NDIsMTUgQEAKIHN0YXRpYyB2b2lkIGNkcm9tX21tYzNfcHJvZmlsZShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCWNoYXIgKmJ1ZmZlcjsKKwljaGFyIGJ1ZmZlclszMl07CiAJaW50IHJldCwgbW1jM19wcm9maWxlOwogCi0JYnVmZmVyID0ga21hbGxvYygzMiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybjsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDMyLCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgQ0dDX0RBVEFfUkVBRCk7CiAKIAljZ2MuY21kWzBdID0gR1BDTURfR0VUX0NPTkZJR1VSQVRJT047CiAJY2djLmNtZFsxXSA9IDA7CiAJY2djLmNtZFsyXSA9IGNnYy5jbWRbM10gPSAwOwkJLyogU3RhcnRpbmcgRmVhdHVyZSBOdW1iZXIgKi8KLQljZ2MuY21kWzhdID0gMzI7CQkgICAgICAgIC8qIEFsbG9jYXRpb24gTGVuZ3RoICovCisJY2djLmNtZFs4XSA9IHNpemVvZihidWZmZXIpOwkJLyogQWxsb2NhdGlvbiBMZW5ndGggKi8KIAljZ2MucXVpZXQgPSAxOwogCiAJaWYgKChyZXQgPSBjZGktPm9wcy0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCkBAIC05MTMsNyArODU5LDYgQEAKIAkJbW1jM19wcm9maWxlID0gKGJ1ZmZlcls2XSA8PCA4KSB8IGJ1ZmZlcls3XTsKIAogCWNkaS0+bW1jM19wcm9maWxlID0gbW1jM19wcm9maWxlOwotCWtmcmVlKGJ1ZmZlcik7CiB9CiAKIHN0YXRpYyBpbnQgY2Ryb21faXNfZHZkX3J3KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKQpAQCAtMTYyOCwxNSArMTU3MywxMiBAQAogc3RhdGljIGludCBkdmRfZG9fYXV0aChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgZHZkX2F1dGhpbmZvICphaSkKIHsKIAlpbnQgcmV0OwotCXVfY2hhciAqYnVmOworCXVfY2hhciBidWZbMjBdOwogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7CiAJc3RydWN0IGNkcm9tX2RldmljZV9vcHMgKmNkbyA9IGNkaS0+b3BzOwotCXJwY19zdGF0ZV90ICpycGNfc3RhdGU7CisJcnBjX3N0YXRlX3QgcnBjX3N0YXRlOwogCi0JYnVmID0ga3phbGxvYygyMCwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWYpCi0JCXJldHVybiAtRU5PTUVNOwotCisJbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwogCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIDAsIENHQ19EQVRBX1JFQUQpOwogCiAJc3dpdGNoIChhaS0+dHlwZSkgewpAQCAtMTY0Nyw3ICsxNTg5LDcgQEAKIAkJc2V0dXBfcmVwb3J0X2tleSgmY2djLCBhaS0+bHNhLmFnaWQsIDApOwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQlhaS0+bHNhLmFnaWQgPSBidWZbN10gPj4gNjsKIAkJLyogUmV0dXJuaW5nIGRhdGEsIGxldCBob3N0IGNoYW5nZSBzdGF0ZSAqLwpAQCAtMTY1OCw3ICsxNjAwLDcgQEAKIAkJc2V0dXBfcmVwb3J0X2tleSgmY2djLCBhaS0+bHNrLmFnaWQsIDIpOwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQljb3B5X2tleShhaS0+bHNrLmtleSwgJmJ1Zls0XSk7CiAJCS8qIFJldHVybmluZyBkYXRhLCBsZXQgaG9zdCBjaGFuZ2Ugc3RhdGUgKi8KQEAgLTE2NjksNyArMTYxMSw3IEBACiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzYy5hZ2lkLCAxKTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKIAkJY29weV9jaGFsKGFpLT5sc2MuY2hhbCwgJmJ1Zls0XSk7CiAJCS8qIFJldHVybmluZyBkYXRhLCBsZXQgaG9zdCBjaGFuZ2Ugc3RhdGUgKi8KQEAgLTE2ODYsNyArMTYyOCw3IEBACiAJCWNnYy5jbWRbMl0gPSBhaS0+bHN0ay5sYmEgPj4gMjQ7CiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCiAJCWFpLT5sc3RrLmNwbSA9IChidWZbNF0gPj4gNykgJiAxOwogCQlhaS0+bHN0ay5jcF9zZWMgPSAoYnVmWzRdID4+IDYpICYgMTsKQEAgLTE3MDAsNyArMTY0Miw3IEBACiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzYXNmLmFnaWQsIDUpOwogCQkKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCiAJCWFpLT5sc2FzZi5hc2YgPSBidWZbN10gJiAxOwogCQlicmVhazsKQEAgLTE3MTMsNyArMTY1NSw3IEBACiAJCWNvcHlfY2hhbCgmYnVmWzRdLCBhaS0+aHNjLmNoYWwpOwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQlhaS0+dHlwZSA9IERWRF9MVV9TRU5EX0tFWTE7CiAJCWJyZWFrOwpAQCAtMTcyNiw3ICsxNjY4LDcgQEAKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpIHsKIAkJCWFpLT50eXBlID0gRFZEX0FVVEhfRkFJTFVSRTsKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAkJfQogCQlhaS0+dHlwZSA9IERWRF9BVVRIX0VTVEFCTElTSEVEOwogCQlicmVhazsKQEAgLTE3MzcsMjMgKzE2NzksMjQgQEAKIAkJY2RpbmZvKENEX0RWRCwgImVudGVyaW5nIERWRF9JTlZBTElEQVRFX0FHSURcbiIpOyAKIAkJc2V0dXBfcmVwb3J0X2tleSgmY2djLCBhaS0+bHNhLmFnaWQsIDB4M2YpOwogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAJCWJyZWFrOwogCiAJLyogR2V0IHJlZ2lvbiBzZXR0aW5ncyAqLwogCWNhc2UgRFZEX0xVX1NFTkRfUlBDX1NUQVRFOgogCQljZGluZm8oQ0RfRFZELCAiZW50ZXJpbmcgRFZEX0xVX1NFTkRfUlBDX1NUQVRFXG4iKTsKIAkJc2V0dXBfcmVwb3J0X2tleSgmY2djLCAwLCA4KTsKKwkJbWVtc2V0KCZycGNfc3RhdGUsIDAsIHNpemVvZihycGNfc3RhdGVfdCkpOworCQljZ2MuYnVmZmVyID0gKGNoYXIgKikgJnJwY19zdGF0ZTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKLQkJcnBjX3N0YXRlID0gKHJwY19zdGF0ZV90ICopYnVmOwotCQlhaS0+bHJwY3MudHlwZSA9IHJwY19zdGF0ZS0+dHlwZV9jb2RlOwotCQlhaS0+bHJwY3MudnJhID0gcnBjX3N0YXRlLT52cmE7Ci0JCWFpLT5scnBjcy51Y2NhID0gcnBjX3N0YXRlLT51Y2NhOwotCQlhaS0+bHJwY3MucmVnaW9uX21hc2sgPSBycGNfc3RhdGUtPnJlZ2lvbl9tYXNrOwotCQlhaS0+bHJwY3MucnBjX3NjaGVtZSA9IHJwY19zdGF0ZS0+cnBjX3NjaGVtZTsKKwkJYWktPmxycGNzLnR5cGUgPSBycGNfc3RhdGUudHlwZV9jb2RlOworCQlhaS0+bHJwY3MudnJhID0gcnBjX3N0YXRlLnZyYTsKKwkJYWktPmxycGNzLnVjY2EgPSBycGNfc3RhdGUudWNjYTsKKwkJYWktPmxycGNzLnJlZ2lvbl9tYXNrID0gcnBjX3N0YXRlLnJlZ2lvbl9tYXNrOworCQlhaS0+bHJwY3MucnBjX3NjaGVtZSA9IHJwY19zdGF0ZS5ycGNfc2NoZW1lOwogCQlicmVhazsKIAogCS8qIFNldCByZWdpb24gc2V0dGluZ3MgKi8KQEAgLTE3NjQsMjMgKzE3MDcsMjAgQEAKIAkJYnVmWzRdID0gYWktPmhycGNzLnBkcmM7CiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCQlicmVhazsKIAogCWRlZmF1bHQ6CiAJCWNkaW5mbyhDRF9XQVJOSU5HLCAiSW52YWxpZCBEVkQga2V5IGlvY3RsICglZClcbiIsIGFpLT50eXBlKTsKLQkJcmV0ID0gLUVOT1RUWTsKLQkJZ290byBlcnI7CisJCXJldHVybiAtRU5PVFRZOwogCX0KLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGR2ZF9yZWFkX3BoeXNpY2FsKHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBkdmRfc3RydWN0ICpzKQogewotCXVuc2lnbmVkIGNoYXIgKmJ1ZiwgKmJhc2U7CisJdW5zaWduZWQgY2hhciBidWZbMjFdLCAqYmFzZTsKIAlzdHJ1Y3QgZHZkX2xheWVyICpsYXllcjsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBjZHJvbV9kZXZpY2Vfb3BzICpjZG8gPSBjZGktPm9wczsKQEAgLTE3ODksMTEgKzE3MjksNyBAQAogCWlmIChsYXllcl9udW0gPj0gRFZEX0xBWUVSUykKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlidWYgPSBrbWFsbG9jKDIxLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCAyMSwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1Ziwgc2l6ZW9mKGJ1ZiksIENHQ19EQVRBX1JFQUQpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9SRUFEX0RWRF9TVFJVQ1RVUkU7CiAJY2djLmNtZFs2XSA9IGxheWVyX251bTsKIAljZ2MuY21kWzddID0gcy0+dHlwZTsKQEAgLTE4MDUsNyArMTc0MSw3IEBACiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAliYXNlID0gJmJ1Zls0XTsKIAlsYXllciA9ICZzLT5waHlzaWNhbC5sYXllcltsYXllcl9udW1dOwpAQCAtMTgyOSwyNCArMTc2NSwxNyBAQAogCWxheWVyLT5lbmRfc2VjdG9yX2wwID0gYmFzZVsxM10gPDwgMTYgfCBiYXNlWzE0XSA8PCA4IHwgYmFzZVsxNV07CiAJbGF5ZXItPmJjYSA9IGJhc2VbMTZdID4+IDc7CiAKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBkdmRfcmVhZF9jb3B5cmlnaHQoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9zdHJ1Y3QgKnMpCiB7CiAJaW50IHJldDsKLQl1X2NoYXIgKmJ1ZjsKKwl1X2NoYXIgYnVmWzhdOwogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7CiAJc3RydWN0IGNkcm9tX2RldmljZV9vcHMgKmNkbyA9IGNkaS0+b3BzOwogCi0JYnVmID0ga21hbGxvYyg4LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCA4LCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCBzaXplb2YoYnVmKSwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLmNtZFswXSA9IEdQQ01EX1JFQURfRFZEX1NUUlVDVFVSRTsKIAljZ2MuY21kWzZdID0gcy0+Y29weXJpZ2h0LmxheWVyX251bTsKIAljZ2MuY21kWzddID0gcy0+dHlwZTsKQEAgLTE4NTQsMTUgKzE3ODMsMTIgQEAKIAljZ2MuY21kWzldID0gY2djLmJ1ZmxlbiAmIDB4ZmY7CiAKIAlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJcy0+Y29weXJpZ2h0LmNwc3QgPSBidWZbNF07CiAJcy0+Y29weXJpZ2h0LnJtaSA9IGJ1Zls1XTsKIAotCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGR2ZF9yZWFkX2Rpc2NrZXkoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9zdHJ1Y3QgKnMpCkBAIC0xODk0LDMzICsxODIwLDI2IEBACiBzdGF0aWMgaW50IGR2ZF9yZWFkX2JjYShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgZHZkX3N0cnVjdCAqcykKIHsKIAlpbnQgcmV0OwotCXVfY2hhciAqYnVmOworCXVfY2hhciBidWZbNCArIDE4OF07CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX29wcyAqY2RvID0gY2RpLT5vcHM7CiAKLQlidWYgPSBrbWFsbG9jKDQgKyAxODgsIEdGUF9LRVJORUwpOwotCWlmICghYnVmKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIDQgKyAxODgsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIHNpemVvZihidWYpLCBDR0NfREFUQV9SRUFEKTsKIAljZ2MuY21kWzBdID0gR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFOwogCWNnYy5jbWRbN10gPSBzLT50eXBlOwogCWNnYy5jbWRbOV0gPSBjZ2MuYnVmbGVuICYgMHhmZjsKIAogCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAlzLT5iY2EubGVuID0gYnVmWzBdIDw8IDggfCBidWZbMV07CiAJaWYgKHMtPmJjYS5sZW4gPCAxMiB8fCBzLT5iY2EubGVuID4gMTg4KSB7CiAJCWNkaW5mbyhDRF9XQVJOSU5HLCAiUmVjZWl2ZWQgaW52YWxpZCBCQ0EgbGVuZ3RoICglZClcbiIsIHMtPmJjYS5sZW4pOwotCQlyZXQgPSAtRUlPOwotCQlnb3RvIGVycjsKKwkJcmV0dXJuIC1FSU87CiAJfQogCW1lbWNweShzLT5iY2EudmFsdWUsICZidWZbNF0sIHMtPmJjYS5sZW4pOwotCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmKTsKLQlyZXR1cm4gcmV0OworCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgZHZkX3JlYWRfbWFudWZhY3Qoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9zdHJ1Y3QgKnMpCkBAIC0yMDIwLDEzICsxOTM5LDkgQEAKIHsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX29wcyAqY2RvID0gY2RpLT5vcHM7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7CisJY2hhciBidWZmZXJbMzJdOwogCWludCByZXQ7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDMyLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KIAlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAxNiwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLmNtZFswXSA9IEdQQ01EX1JFQURfU1VCQ0hBTk5FTDsKIAljZ2MuY21kWzFdID0gMjsgICAgIC8qIE1TRiBhZGRyZXNzaW5nICovCkBAIC0yMDM1LDcgKzE5NTAsNyBAQAogCWNnYy5jbWRbOF0gPSAxNjsKIAogCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAlzdWJjaG5sLT5jZHNjX2F1ZGlvc3RhdHVzID0gY2djLmJ1ZmZlclsxXTsKIAlzdWJjaG5sLT5jZHNjX2Zvcm1hdCA9IENEUk9NX01TRjsKQEAgLTIwNTAsMTAgKzE5NjUsNyBAQAogCXN1YmNobmwtPmNkc2NfYWJzYWRkci5tc2Yuc2Vjb25kID0gY2djLmJ1ZmZlclsxMF07CiAJc3ViY2hubC0+Y2RzY19hYnNhZGRyLm1zZi5mcmFtZSA9IGNnYy5idWZmZXJbMTFdOwogCi0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWZmZXIpOwotCXJldHVybiByZXQ7CisJcmV0dXJuIDA7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvTWFrZWZpbGUgYi9kcml2ZXJzL2NoYXIvTWFrZWZpbGUKaW5kZXggNGMxYzU4NC4uODE2MzBhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvY2hhci9NYWtlZmlsZQpAQCAtMTAxLDcgKzEwMSw2IEBACiAKIG9iai0kKENPTkZJR19NV0FWRSkJCSs9IG13YXZlLwogb2JqLSQoQ09ORklHX0FHUCkJCSs9IGFncC8KLW9iai0kKENPTkZJR19EUk0pCQkrPSBkcm0vCiBvYmotJChDT05GSUdfUENNQ0lBKQkJKz0gcGNtY2lhLwogb2JqLSQoQ09ORklHX0lQTUlfSEFORExFUikJKz0gaXBtaS8KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9hbWQ2NC1hZ3AuYyBiL2RyaXZlcnMvY2hhci9hZ3AvYW1kNjQtYWdwLmMKaW5kZXggMTM2NjVkYi4uNDgxZmZlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2FncC9hbWQ2NC1hZ3AuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2FtZDY0LWFncC5jCkBAIC0xNiwyOCArMTYsOSBAQAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CQkvKiBQQUdFX1NJWkUgKi8KICNpbmNsdWRlIDxhc20vZTgyMC5oPgogI2luY2x1ZGUgPGFzbS9rOC5oPgorI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CiAjaW5jbHVkZSAiYWdwLmgiCiAKLS8qIFBURSBiaXRzLiAqLwotI2RlZmluZSBHUFRFX1ZBTElECTEKLSNkZWZpbmUgR1BURV9DT0hFUkVOVAkyCi0KLS8qIEFwZXJ0dXJlIGNvbnRyb2wgcmVnaXN0ZXIgYml0cy4gKi8KLSNkZWZpbmUgR0FSVEVOCQkoMTw8MCkKLSNkZWZpbmUgRElTR0FSVENQVQkoMTw8NCkKLSNkZWZpbmUgRElTR0FSVElPCSgxPDw1KQotCi0vKiBHQVJUIGNhY2hlIGNvbnRyb2wgcmVnaXN0ZXIgYml0cy4gKi8KLSNkZWZpbmUgSU5WR0FSVAkJKDE8PDApCi0jZGVmaW5lIEdBUlRQVEVFUlIJKDE8PDEpCi0KLS8qIEs4IE9uLWNwdSBHQVJUIHJlZ2lzdGVycyAqLwotI2RlZmluZSBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwJMHg5MAotI2RlZmluZSBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFCTB4OTQKLSNkZWZpbmUgQU1ENjRfR0FSVFRBQkxFQkFTRQkweDk4Ci0jZGVmaW5lIEFNRDY0X0dBUlRDQUNIRUNUTAkweDljCi0jZGVmaW5lIEFNRDY0X0dBUlRFTgkJKDE8PDApCi0KIC8qIE5WSURJQSBLOCByZWdpc3RlcnMgKi8KICNkZWZpbmUgTlZJRElBX1g4Nl82NF8wX0FQQkFTRQkJMHgxMAogI2RlZmluZSBOVklESUFfWDg2XzY0XzFfQVBCQVNFMQkJMHg1MApAQCAtMTY1LDI5ICsxNDYsMTggQEAKICAqIEluIGEgbXVsdGlwcm9jZXNzb3IgeDg2LTY0IHN5c3RlbSwgdGhpcyBmdW5jdGlvbiBnZXRzCiAgKiBjYWxsZWQgb25jZSBmb3IgZWFjaCBDUFUuCiAgKi8KLXN0YXRpYyB1NjQgYW1kNjRfY29uZmlndXJlIChzdHJ1Y3QgcGNpX2RldiAqaGFtbWVyLCB1NjQgZ2F0dF90YWJsZSkKK3N0YXRpYyB1NjQgYW1kNjRfY29uZmlndXJlKHN0cnVjdCBwY2lfZGV2ICpoYW1tZXIsIHU2NCBnYXR0X3RhYmxlKQogewogCXU2NCBhcGVydHVyZWJhc2U7CiAJdTMyIHRtcDsKLQl1NjQgYWRkciwgYXBlcl9iYXNlOworCXU2NCBhcGVyX2Jhc2U7CiAKIAkvKiBBZGRyZXNzIHRvIG1hcCB0byAqLwotCXBjaV9yZWFkX2NvbmZpZ19kd29yZCAoaGFtbWVyLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCAmdG1wKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoaGFtbWVyLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCAmdG1wKTsKIAlhcGVydHVyZWJhc2UgPSB0bXAgPDwgMjU7CiAJYXBlcl9iYXNlID0gKGFwZXJ0dXJlYmFzZSAmIFBDSV9CQVNFX0FERFJFU1NfTUVNX01BU0spOwogCi0JLyogYWRkcmVzcyBvZiB0aGUgbWFwcGluZ3MgdGFibGUgKi8KLQlhZGRyID0gKHU2NCkgZ2F0dF90YWJsZTsKLQlhZGRyID4+PSAxMjsKLQl0bXAgPSAodTMyKSBhZGRyPDw0OwotCXRtcCAmPSB+MHhmOwotCXBjaV93cml0ZV9jb25maWdfZHdvcmQgKGhhbW1lciwgQU1ENjRfR0FSVFRBQkxFQkFTRSwgdG1wKTsKLQotCS8qIEVuYWJsZSBHQVJUIHRyYW5zbGF0aW9uIGZvciB0aGlzIGhhbW1lci4gKi8KLQlwY2lfcmVhZF9jb25maWdfZHdvcmQoaGFtbWVyLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZ0bXApOwotCXRtcCB8PSBHQVJURU47Ci0JdG1wICY9IH4oRElTR0FSVENQVSB8IERJU0dBUlRJTyk7Ci0JcGNpX3dyaXRlX2NvbmZpZ19kd29yZChoYW1tZXIsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgdG1wKTsKKwllbmFibGVfZ2FydF90cmFuc2xhdGlvbihoYW1tZXIsIGdhdHRfdGFibGUpOwogCiAJcmV0dXJuIGFwZXJfYmFzZTsKIH0KQEAgLTIyNiw5ICsxOTYsOSBAQAogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX2s4X25vcnRoYnJpZGdlczsgaSsrKSB7CiAJCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSBrOF9ub3J0aGJyaWRnZXNbaV07CiAJCS8qIGRpc2FibGUgZ2FydCB0cmFuc2xhdGlvbiAqLwotCQlwY2lfcmVhZF9jb25maWdfZHdvcmQgKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmdG1wKTsKKwkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmdG1wKTsKIAkJdG1wICY9IH5BTUQ2NF9HQVJURU47Ci0JCXBjaV93cml0ZV9jb25maWdfZHdvcmQgKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCB0bXApOworCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCB0bXApOwogCX0KIH0KIApAQCAtMjU4LDI0ICsyMjgsMTAgQEAKIH07CiAKIC8qIFNvbWUgYmFzaWMgc2FuaXR5IGNoZWNrcyBmb3IgdGhlIGFwZXJ0dXJlLiAqLwotc3RhdGljIGludCBfX2RldmluaXQgYXBlcnR1cmVfdmFsaWQodTY0IGFwZXIsIHUzMiBzaXplKQorc3RhdGljIGludCBfX2RldmluaXQgYWdwX2FwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyLCB1MzIgc2l6ZSkKIHsKLQlpZiAoYXBlciA9PSAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBQRlggIk5vIGFwZXJ0dXJlXG4iKTsKKwlpZiAoIWFwZXJ0dXJlX3ZhbGlkKGFwZXIsIHNpemUsIDMyKjEwMjQqMTAyNCkpCiAJCXJldHVybiAwOwotCX0KLQlpZiAoc2l6ZSA8IDMyKjEwMjQqMTAyNCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJBcGVydHVyZSB0b28gc21hbGwgKCVkIE1CKVxuIiwgc2l6ZT4+MjApOwotCQlyZXR1cm4gMDsKLQl9Ci0gICAgICAgaWYgKCh1NjQpYXBlciArIHNpemUgPiAweDEwMDAwMDAwMFVMTCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJBcGVydHVyZSBvdXQgb2YgYm91bmRzXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCWlmIChlODIwX2FueV9tYXBwZWQoYXBlciwgYXBlciArIHNpemUsIEU4MjBfUkFNKSkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJBcGVydHVyZSBwb2ludGluZyB0byBSQU1cbiIpOwotCQlyZXR1cm4gMDsKLQl9CiAKIAkvKiBSZXF1ZXN0IHRoZSBBcGVydHVyZS4gVGhpcyBjYXRjaGVzIGNhc2VzIHdoZW4gc29tZW9uZSBlbHNlCiAJICAgYWxyZWFkeSBwdXQgYSBtYXBwaW5nIGluIHRoZXJlIC0gaGFwcGVucyB3aXRoIHNvbWUgdmVyeSBicm9rZW4gQklPUwpAQCAtMzA4LDExICsyNjQsMTEgQEAKIAl1MzIgbmJfb3JkZXIsIG5iX2Jhc2U7CiAJdTE2IGFwc2l6ZTsKIAotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChuYiwgMHg5MCwgJm5iX29yZGVyKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQobmIsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJm5iX29yZGVyKTsKIAluYl9vcmRlciA9IChuYl9vcmRlciA+PiAxKSAmIDc7Ci0JcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5iLCAweDk0LCAmbmJfYmFzZSk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5iLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCAmbmJfYmFzZSk7CiAJbmJfYXBlciA9IG5iX2Jhc2UgPDwgMjU7Ci0JaWYgKGFwZXJ0dXJlX3ZhbGlkKG5iX2FwZXIsICgzMioxMDI0KjEwMjQpPDxuYl9vcmRlcikpIHsKKwlpZiAoYWdwX2FwZXJ0dXJlX3ZhbGlkKG5iX2FwZXIsICgzMioxMDI0KjEwMjQpPDxuYl9vcmRlcikpIHsKIAkJcmV0dXJuIDA7CiAJfQogCkBAIC0zMzEsMTIgKzI4NywyMyBAQAogCXBjaV9yZWFkX2NvbmZpZ19kd29yZChhZ3AsIDB4MTAsICZhcGVyX2xvdyk7CiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGFncCwgMHgxNCwgJmFwZXJfaGkpOwogCWFwZXIgPSAoYXBlcl9sb3cgJiB+KCgxPDwyMiktMSkpIHwgKCh1NjQpYXBlcl9oaSA8PCAzMik7CisKKwkvKgorCSAqIE9uIHNvbWUgc2ljayBjaGlwcyBBUFNJWkUgaXMgMC4gVGhpcyBtZWFucyBpdCB3YW50cyA0RworCSAqIHNvIGxldCBkb3VibGUgY2hlY2sgdGhhdCBvcmRlciwgYW5kIGxldHMgdHJ1c3QgdGhlIEFNRCBOQiBzZXR0aW5ncworCSAqLworCWlmIChvcmRlciA+PTAgJiYgYXBlciArICgzMlVMTDw8KDIwICsgb3JkZXIpKSA+IDB4MTAwMDAwMDAwVUxMKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkFwZXJ0dXJlIHNpemUgJXUgTUIgaXMgbm90IHJpZ2h0LCB1c2luZyBzZXR0aW5ncyBmcm9tIE5CXG4iLAorCQkJCSAgMzIgPDwgb3JkZXIpOworCQlvcmRlciA9IG5iX29yZGVyOworCX0KKwogCXByaW50ayhLRVJOX0lORk8gUEZYICJBcGVydHVyZSBmcm9tIEFHUCBAICVMeCBzaXplICV1IE1CXG4iLCBhcGVyLCAzMiA8PCBvcmRlcik7Ci0JaWYgKG9yZGVyIDwgMCB8fCAhYXBlcnR1cmVfdmFsaWQoYXBlciwgKDMyKjEwMjQqMTAyNCk8PG9yZGVyKSkKKwlpZiAob3JkZXIgPCAwIHx8ICFhZ3BfYXBlcnR1cmVfdmFsaWQoYXBlciwgKDMyKjEwMjQqMTAyNCk8PG9yZGVyKSkKIAkJcmV0dXJuIC0xOwogCi0JcGNpX3dyaXRlX2NvbmZpZ19kd29yZChuYiwgMHg5MCwgb3JkZXIgPDwgMSk7Ci0JcGNpX3dyaXRlX2NvbmZpZ19kd29yZChuYiwgMHg5NCwgYXBlciA+PiAyNSk7CisJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChuYiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCBvcmRlciA8PCAxKTsKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKG5iLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCBhcGVyID4+IDI1KTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9mcm9udGVuZC5jIGIvZHJpdmVycy9jaGFyL2FncC9mcm9udGVuZC5jCmluZGV4IGU2Y2IxYWIuLmE5NmYzMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvZnJvbnRlbmQuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2Zyb250ZW5kLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlICJhZ3AuaCIKQEAgLTY3Nyw2ICs2NzgsNyBAQAogCXN0cnVjdCBhZ3BfY2xpZW50ICpjbGllbnQ7CiAJaW50IHJjID0gLUVOWElPOwogCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCYoYWdwX2ZlLmFncF9tdXRleCkpOwogCiAJaWYgKG1pbm9yICE9IEFHUEdBUlRfTUlOT1IpCkBAIC03MDMsMTIgKzcwNSwxNCBAQAogCWFncF9pbnNlcnRfZmlsZV9wcml2YXRlKHByaXYpOwogCURCRygicHJpdmF0ZT0lcCwgY2xpZW50PSVwIiwgcHJpdiwgY2xpZW50KTsKIAltdXRleF91bmxvY2soJihhZ3BfZmUuYWdwX211dGV4KSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBlcnJfb3V0X25vbWVtOgogCXJjID0gLUVOT01FTTsKIGVycl9vdXQ6CiAJbXV0ZXhfdW5sb2NrKCYoYWdwX2ZlLmFncF9tdXRleCkpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jIGIvZHJpdmVycy9jaGFyL2FncC9nZW5lcmljLmMKaW5kZXggNTY0ZGFhYS4uZWFhMWEzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2FncC9nZW5lcmljLmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9nZW5lcmljLmMKQEAgLTEyNDksNyArMTI0OSw3IEBACiAKIHZvaWQgZ2xvYmFsX2NhY2hlX2ZsdXNoKHZvaWQpCiB7Ci0JaWYgKG9uX2VhY2hfY3B1KGlwaV9oYW5kbGVyLCBOVUxMLCAxLCAxKSAhPSAwKQorCWlmIChvbl9lYWNoX2NwdShpcGlfaGFuZGxlciwgTlVMTCwgMSkgIT0gMCkKIAkJcGFuaWMoUEZYICJ0aW1lZCBvdXQgd2FpdGluZyBmb3IgdGhlIG90aGVyIENQVXMhXG4iKTsKIH0KIEVYUE9SVF9TWU1CT0woZ2xvYmFsX2NhY2hlX2ZsdXNoKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hcG0tZW11bGF0aW9uLmMgYi9kcml2ZXJzL2NoYXIvYXBtLWVtdWxhdGlvbi5jCmluZGV4IGNkZDg3NmQuLmRhOGExNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hcG0tZW11bGF0aW9uLmMKKysrIGIvZHJpdmVycy9jaGFyL2FwbS1lbXVsYXRpb24uYwpAQCAtMTMsNiArMTMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC00MTYsNiArNDE3LDcgQEAKIHsKIAlzdHJ1Y3QgYXBtX3VzZXIgKmFzOwogCisJbG9ja19rZXJuZWwoKTsKIAlhcyA9IGt6YWxsb2Moc2l6ZW9mKCphcyksIEdGUF9LRVJORUwpOwogCWlmIChhcykgewogCQkvKgpAQCAtNDM1LDYgKzQzNyw3IEBACiAKIAkJZmlscC0+cHJpdmF0ZV9kYXRhID0gYXM7CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiBhcyA/IDAgOiAtRU5PTUVNOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2JyaXFfcGFuZWwuYyBiL2RyaXZlcnMvY2hhci9icmlxX3BhbmVsLmMKaW5kZXggYjZmMjYzOS4uZDhjZmY5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2JyaXFfcGFuZWwuYworKysgYi9kcml2ZXJzL2NoYXIvYnJpcV9wYW5lbC5jCkBAIC02LDYgKzYsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC90dHkuaD4KQEAgLTY3LDExICs2OCwxNSBAQAogCiBzdGF0aWMgaW50IGJyaXFfcGFuZWxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlubywgc3RydWN0IGZpbGUgKmZpbGVwKQogewotCS8qIGVuZm9yY2Ugc2luZ2xlIGFjY2VzcyAqLwotCWlmICh2ZmRfaXNfb3BlbikKKwlsb2NrX2tlcm5lbCgpOworCS8qIGVuZm9yY2Ugc2luZ2xlIGFjY2VzcywgdmZkX2lzX29wZW4gaXMgcHJvdGVjdGVkIGJ5IEJLTCAqLworCWlmICh2ZmRfaXNfb3BlbikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCXZmZF9pc19vcGVuID0gMTsKIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2NzNTUzNV9ncGlvLmMgYi9kcml2ZXJzL2NoYXIvY3M1NTM1X2dwaW8uYwppbmRleCBjMGE0YTBiLi4wNGJhOTA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvY3M1NTM1X2dwaW8uYworKysgYi9kcml2ZXJzL2NoYXIvY3M1NTM1X2dwaW8uYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKQEAgLTE1Nyw2ICsxNTgsNyBAQAogewogCXUzMiBtID0gaW1pbm9yKGlub2RlKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJLyogdGhlIG1hc2sgc2F5cyB3aGljaCBwaW5zIGFyZSB1c2FibGUgYnkgdGhpcyBkcml2ZXIgKi8KIAlpZiAoKG1hc2sgJiAoMSA8PCBtKSkgPT0gMCkKIAkJcmV0dXJuIC1FSU5WQUw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYyBiL2RyaXZlcnMvY2hhci9jeWNsYWRlcy5jCmluZGV4IGVmNzNlNzIuLjZiZmY5ZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9jeWNsYWRlcy5jCisrKyBiL2RyaXZlcnMvY2hhci9jeWNsYWRlcy5jCkBAIC00NjY4LDcgKzQ2NjgsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19kZXZpbml0IGN5el9mcGdhX2NvcHkodm9pZCBfX2lvbWVtICpmcGdhLCB1OCAqZGF0YSwKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2RldmluaXQgY3l6X2ZwZ2FfY29weSh2b2lkIF9faW9tZW0gKmZwZ2EsIGNvbnN0IHU4ICpkYXRhLAogCQl1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKIAlmb3IgKDsgc2l6ZSA+IDA7IHNpemUtLSkgewpAQCAtNDcwMSwxMCArNDcwMSwxMCBAQAogCQljb25zdCBjaGFyICpuYW1lLCBjb25zdCB1MzIgbWFpbGJveCwgdm9pZCBfX2lvbWVtICpiYXNlLAogCQl2b2lkIF9faW9tZW0gKmZwZ2EpCiB7Ci0Jdm9pZCAqcHRyID0gZnctPmRhdGE7Ci0Jc3RydWN0IHpmaWxlX2hlYWRlciAqaCA9IHB0cjsKLQlzdHJ1Y3QgemZpbGVfY29uZmlnICpjLCAqY3M7Ci0Jc3RydWN0IHpmaWxlX2Jsb2NrICpiLCAqYnM7CisJY29uc3Qgdm9pZCAqcHRyID0gZnctPmRhdGE7CisJY29uc3Qgc3RydWN0IHpmaWxlX2hlYWRlciAqaCA9IHB0cjsKKwljb25zdCBzdHJ1Y3QgemZpbGVfY29uZmlnICpjLCAqY3M7CisJY29uc3Qgc3RydWN0IHpmaWxlX2Jsb2NrICpiLCAqYnM7CiAJdW5zaWduZWQgaW50IGEsIHRtcCwgbGVuID0gZnctPnNpemU7CiAjZGVmaW5lIEJBRF9GVyBLRVJOX0VSUiAiQmFkIGZpcm13YXJlOiAiCiAJaWYgKGxlbiA8IHNpemVvZigqaCkpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vTWFrZWZpbGUgYi9kcml2ZXJzL2NoYXIvZHJtL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjgzZGVkLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvY2hhci9kcm0vTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKLSMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCi0KLWRybS1vYmpzICAgIDo9CWRybV9hdXRoLm8gZHJtX2J1ZnMubyBkcm1fY29udGV4dC5vIGRybV9kbWEubyBkcm1fZHJhd2FibGUubyBcCi0JCWRybV9kcnYubyBkcm1fZm9wcy5vIGRybV9pb2N0bC5vIGRybV9pcnEubyBcCi0JCWRybV9sb2NrLm8gZHJtX21lbW9yeS5vIGRybV9wcm9jLm8gZHJtX3N0dWIubyBkcm1fdm0ubyBcCi0JCWRybV9hZ3BzdXBwb3J0Lm8gZHJtX3NjYXR0ZXIubyBhdGlfcGNpZ2FydC5vIGRybV9wY2kubyBcCi0JCWRybV9zeXNmcy5vIGRybV9oYXNodGFiLm8gZHJtX3NtYW4ubyBkcm1fbW0ubwotCi10ZGZ4LW9ianMgICA6PSB0ZGZ4X2Rydi5vCi1yMTI4LW9ianMgICA6PSByMTI4X2Rydi5vIHIxMjhfY2NlLm8gcjEyOF9zdGF0ZS5vIHIxMjhfaXJxLm8KLW1nYS1vYmpzICAgIDo9IG1nYV9kcnYubyBtZ2FfZG1hLm8gbWdhX3N0YXRlLm8gbWdhX3dhcnAubyBtZ2FfaXJxLm8KLWk4MTAtb2JqcyAgIDo9IGk4MTBfZHJ2Lm8gaTgxMF9kbWEubwotaTgzMC1vYmpzICAgOj0gaTgzMF9kcnYubyBpODMwX2RtYS5vIGk4MzBfaXJxLm8KLWk5MTUtb2JqcyAgIDo9IGk5MTVfZHJ2Lm8gaTkxNV9kbWEubyBpOTE1X2lycS5vIGk5MTVfbWVtLm8KLXJhZGVvbi1vYmpzIDo9IHJhZGVvbl9kcnYubyByYWRlb25fY3AubyByYWRlb25fc3RhdGUubyByYWRlb25fbWVtLm8gcmFkZW9uX2lycS5vIHIzMDBfY21kYnVmLm8KLXNpcy1vYmpzICAgIDo9IHNpc19kcnYubyBzaXNfbW0ubwotc2F2YWdlLW9ianMgOj0gc2F2YWdlX2Rydi5vIHNhdmFnZV9iY2kubyBzYXZhZ2Vfc3RhdGUubwotdmlhLW9ianMgICAgOj0gdmlhX2lycS5vIHZpYV9kcnYubyB2aWFfbWFwLm8gdmlhX21tLm8gdmlhX2RtYS5vIHZpYV92ZXJpZmllci5vIHZpYV92aWRlby5vIHZpYV9kbWFibGl0Lm8KLQotaWZlcSAoJChDT05GSUdfQ09NUEFUKSx5KQotZHJtLW9ianMgICAgKz0gZHJtX2lvYzMyLm8KLXJhZGVvbi1vYmpzICs9IHJhZGVvbl9pb2MzMi5vCi1tZ2Etb2JqcyAgICArPSBtZ2FfaW9jMzIubwotcjEyOC1vYmpzICAgKz0gcjEyOF9pb2MzMi5vCi1pOTE1LW9ianMgICArPSBpOTE1X2lvYzMyLm8KLWVuZGlmCi0KLW9iai0kKENPTkZJR19EUk0pCSs9IGRybS5vCi1vYmotJChDT05GSUdfRFJNX1RERlgpCSs9IHRkZngubwotb2JqLSQoQ09ORklHX0RSTV9SMTI4KQkrPSByMTI4Lm8KLW9iai0kKENPTkZJR19EUk1fUkFERU9OKSs9IHJhZGVvbi5vCi1vYmotJChDT05GSUdfRFJNX01HQSkJKz0gbWdhLm8KLW9iai0kKENPTkZJR19EUk1fSTgxMCkJKz0gaTgxMC5vCi1vYmotJChDT05GSUdfRFJNX0k4MzApCSs9IGk4MzAubwotb2JqLSQoQ09ORklHX0RSTV9JOTE1KSAgKz0gaTkxNS5vCi1vYmotJChDT05GSUdfRFJNX1NJUykgICArPSBzaXMubwotb2JqLSQoQ09ORklHX0RSTV9TQVZBR0UpKz0gc2F2YWdlLm8KLW9iai0kKENPTkZJR19EUk1fVklBKQkrPXZpYS5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHMxMjg2LmMgYi9kcml2ZXJzL2NoYXIvZHMxMjg2LmMKaW5kZXggZWEzNWFiMi4uZmI1ODQ5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RzMTI4Ni5jCisrKyBiL2RyaXZlcnMvY2hhci9kczEyODYuYwpAQCAtMjcsNiArMjcsNyBAQAogICogb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqLwogI2luY2x1ZGUgPGxpbnV4L2RzMTI4Ni5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTI1Miw2ICsyNTMsNyBAQAogCiBzdGF0aWMgaW50IGRzMTI4Nl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycSgmZHMxMjg2X2xvY2spOwogCiAJaWYgKGRzMTI4Nl9zdGF0dXMgJiBSVENfSVNfT1BFTikKQEAgLTI2MCwxMCArMjYyLDEyIEBACiAJZHMxMjg2X3N0YXR1cyB8PSBSVENfSVNfT1BFTjsKIAogCXNwaW5fdW5sb2NrX2lycSgmZHMxMjg2X2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogb3V0X2J1c3k6CiAJc3Bpbl9sb2NrX2lycSgmZHMxMjg2X2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gLUVCVVNZOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHMxNjIwLmMgYi9kcml2ZXJzL2NoYXIvZHMxNjIwLmMKaW5kZXggMzM0YWQ1Yi4uMzQyNzVjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RzMTYyMC5jCisrKyBiL2RyaXZlcnMvY2hhci9kczE2MjAuYwpAQCAtOCw2ICs4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KQEAgLTIwOCw2ICsyMDksMTIgQEAKIAl0aGVybS0+aGkgPSBjdnRfOV90b19pbnQoZHMxNjIwX2luKFRIRVJNX1JFQURfVEgsIDkpKTsKIH0KIAorc3RhdGljIGludCBkczE2MjBfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwljeWNsZV9rZXJuZWxfbG9jaygpOworCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKK30KKwogc3RhdGljIHNzaXplX3QKIGRzMTYyMF9yZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHRyKQogewpAQCAtMzM2LDcgKzM0Myw3IEBACiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGRzMTYyMF9mb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkub3BlbgkJPSBub25zZWVrYWJsZV9vcGVuLAorCS5vcGVuCQk9IGRzMTYyMF9vcGVuLAogCS5yZWFkCQk9IGRzMTYyMF9yZWFkLAogCS5pb2N0bAkJPSBkczE2MjBfaW9jdGwsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RzcDU2ay5jIGIvZHJpdmVycy9jaGFyL2RzcDU2ay5jCmluZGV4IGE2OWM2NTIuLmI5YTMwYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kc3A1NmsuYworKysgYi9kcml2ZXJzL2NoYXIvZHNwNTZrLmMKQEAgLTMzLDYgKzMzLDkgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAKICNpbmNsdWRlIDxhc20vYXRhcmlody5oPgogI2luY2x1ZGUgPGFzbS90cmFwcy5oPgpAQCAtOTIsNDkgKzk1LDYgQEAKIAl9IFwKIH0KIAotLyogRFNQNTYwMDEgYm9vdHN0cmFwIGNvZGUgKi8KLXN0YXRpYyBjaGFyIGJvb3RzdHJhcFtdID0gewotCTB4MGMsIDB4MDAsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHg2MCwgMHhmNCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0ZiwgMHg2MSwgMHhmNCwKLQkweDAwLCAweDAwLCAweDdlLCAweGE5LCAweDA2LCAweDJlLCAweDgwLCAweDAwLCAweDAwLCAweDQ3LAotCTB4MDcsIDB4ZDgsIDB4ODQsIDB4MDcsIDB4NTksIDB4ODQsIDB4MDgsIDB4ZjQsIDB4YTgsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHgwOCwgMHhmNCwgMHhiZiwgMHgwMCwgMHgwYywgMHgwMCwgMHgwMCwgMHhmZSwKLQkweGI4LCAweDBhLCAweGYwLCAweDgwLCAweDAwLCAweDdlLCAweGE5LCAweDA4LCAweGY0LCAweGEwLAotCTB4MDAsIDB4MDAsIDB4MDEsIDB4MDgsIDB4ZjQsIDB4YmUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MGEsCi0JMHhhOSwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhhZCwgMHgwOCwgMHg0ZSwgMHgyYiwgMHg0NCwgMHhmNCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDQ0LCAweGY0LCAweDQ1LCAweDAwLCAweDAwLCAweDAxLAotCTB4MGUsIDB4YTAsIDB4MDAsIDB4MGEsIDB4YTksIDB4ODAsIDB4MDAsIDB4N2UsIDB4YjUsIDB4MDgsCi0JMHg1MCwgMHgyYiwgMHgwYSwgMHhhOSwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhiOCwgMHgwOCwgMHg0NiwKLQkweDJiLCAweDQ0LCAweGY0LCAweDQ1LCAweDAwLCAweDAwLCAweDAyLCAweDBhLCAweGYwLCAweGFhLAotCTB4MDAsIDB4N2UsIDB4YzksIDB4MjAsIDB4MDAsIDB4NDUsIDB4MGEsIDB4ZjAsIDB4YWEsIDB4MDAsCi0JMHg3ZSwgMHhkMCwgMHgwNiwgMHhjNiwgMHgwMCwgMHgwMCwgMHg3ZSwgMHhjNiwgMHgwYSwgMHhhOSwKLQkweDgwLCAweDAwLCAweDdlLCAweGM0LCAweDA4LCAweDU4LCAweDZiLCAweDBhLCAweGYwLCAweDgwLAotCTB4MDAsIDB4N2UsIDB4YWQsIDB4MDYsIDB4YzYsIDB4MDAsIDB4MDAsIDB4N2UsIDB4Y2QsIDB4MGEsCi0JMHhhOSwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhjYiwgMHgwOCwgMHg1OCwgMHhhYiwgMHgwYSwgMHhmMCwKLQkweDgwLCAweDAwLCAweDdlLCAweGFkLCAweDA2LCAweGM2LCAweDAwLCAweDAwLCAweDdlLCAweGQ0LAotCTB4MGEsIDB4YTksIDB4ODAsIDB4MDAsIDB4N2UsIDB4ZDIsIDB4MDgsIDB4NTgsIDB4ZWIsIDB4MGEsCi0JMHhmMCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhhZH07Ci1zdGF0aWMgaW50IHNpemVvZl9ib290c3RyYXAgPSAzNzU7Ci0KLQogc3RhdGljIHN0cnVjdCBkc3A1NmtfZGV2aWNlIHsKIAl1bnNpZ25lZCBsb25nIGluX3VzZTsKIAlsb25nIG1heGlvLCB0aW1lb3V0OwpAQCAtMTY0LDE4ICsxMjQsNDAgQEAKIAogc3RhdGljIGludCBkc3A1NmtfdXBsb2FkKHVfY2hhciBfX3VzZXIgKmJpbiwgaW50IGxlbikKIHsKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2OworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciBmd19uYW1lW10gPSAiZHNwNTZrL2Jvb3RzdHJhcC5iaW4iOworCWludCBlcnI7CiAJaW50IGk7Ci0JdV9jaGFyICpwOwotCQorCiAJZHNwNTZrX3Jlc2V0KCk7Ci0gIAotCXAgPSBib290c3RyYXA7Ci0JZm9yIChpID0gMDsgaSA8IHNpemVvZl9ib290c3RyYXAvMzsgaSsrKSB7Ci0JCS8qIHR4X3dhaXQoMTApOyAqLwotCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzFdID0gKnArKzsKLQkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlsyXSA9ICpwKys7Ci0JCWRzcDU2a19ob3N0X2ludGVyZmFjZS5kYXRhLmJbM10gPSAqcCsrOworCisJcGRldiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9zaW1wbGUoImRzcDU2ayIsIDAsIE5VTEwsIDApOworCWlmIChJU19FUlIocGRldikpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gcmVnaXN0ZXIgZGV2aWNlIGZvciBcIiVzXCJcbiIsCisJCSAgICAgICBmd19uYW1lKTsKKwkJcmV0dXJuIC1FSU5WQUw7CiAJfQorCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCAmcGRldi0+ZGV2KTsKKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihwZGV2KTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgaW1hZ2UgXCIlc1wiIGVyciAlZFxuIiwKKwkJICAgICAgIGZ3X25hbWUsIGVycik7CisJCXJldHVybiBlcnI7CisJfQorCWlmIChmdy0+c2l6ZSAlIDMpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJCb2d1cyBsZW5ndGggJWQgaW4gaW1hZ2UgXCIlc1wiXG4iLAorCQkgICAgICAgZnctPnNpemUsIGZ3X25hbWUpOworCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCWZvciAoaSA9IDA7IGkgPCBmdy0+c2l6ZTsgaSA9IGkgKyAzKSB7CisJCS8qIHR4X3dhaXQoMTApOyAqLworCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzFdID0gZnctPmRhdGFbaV07CisJCWRzcDU2a19ob3N0X2ludGVyZmFjZS5kYXRhLmJbMl0gPSBmdy0+ZGF0YVtpICsgMV07CisJCWRzcDU2a19ob3N0X2ludGVyZmFjZS5kYXRhLmJbM10gPSBmdy0+ZGF0YVtpICsgMl07CisJfQorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCWZvciAoOyBpIDwgNTEyOyBpKyspIHsKIAkJLyogdHhfd2FpdCgxMCk7ICovCiAJCWRzcDU2a19ob3N0X2ludGVyZmFjZS5kYXRhLmJbMV0gPSAwOwpAQCAtNDM2LDEzICs0MTgsMTcgQEAKIHN0YXRpYyBpbnQgZHNwNTZrX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJaW50IGRldiA9IGltaW5vcihpbm9kZSkgJiAweDBmOworCWludCByZXQgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlzd2l0Y2goZGV2KQogCXsKIAljYXNlIERTUDU2S19ERVZfNTYwMDE6CiAKLQkJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJmRzcDU2ay5pbl91c2UpKQotCQkJcmV0dXJuIC1FQlVTWTsKKwkJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJmRzcDU2ay5pbl91c2UpKSB7CisJCQlyZXQgPSAtRUJVU1k7CisJCQlnb3RvIG91dDsKKwkJfQogCiAJCWRzcDU2ay50aW1lb3V0ID0gVElNRU9VVDsKIAkJZHNwNTZrLm1heGlvID0gTUFYSU87CkBAIC00NTgsMTAgKzQ0NCwxMSBAQAogCQlicmVhazsKIAogCWRlZmF1bHQ6Ci0JCXJldHVybiAtRU5PREVWOworCQlyZXQgPSAtRU5PREVWOwogCX0KLQotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGRzcDU2a19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpAQCAtNTM0LDMgKzUyMSw0IEBACiBtb2R1bGVfZXhpdChkc3A1NmtfY2xlYW51cF9kcml2ZXIpOwogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoImRzcDU2ay9ib290c3RyYXAuYmluIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHRsay5jIGIvZHJpdmVycy9jaGFyL2R0bGsuYwppbmRleCBhYmRlNmRkLi42YjkwMGIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHRsay5jCisrKyBiL2RyaXZlcnMvY2hhci9kdGxrLmMKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgkvKiBmb3IgLUVCVVNZICovCiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CS8qIGZvciByZXF1ZXN0X3JlZ2lvbiAqLwogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CS8qIGZvciBsb29wc19wZXJfamlmZnkgKi8KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgkvKiBjeWNsZV9rZXJuZWxfbG9jaygpICovCiAjaW5jbHVkZSA8YXNtL2lvLmg+CQkvKiBmb3IgaW5iX3AsIG91dGJfcCwgaW5iLCBvdXRiLCBldGMuICovCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4JLyogZm9yIGdldF91c2VyLCBldGMuICovCiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgkJLyogZm9yIHdhaXRfcXVldWUgKi8KQEAgLTI4OCwxMCArMjg5LDEyIEBACiAJfQogfQogCisvKiBOb3RlIHRoYXQgbm9ib2R5IGV2ZXIgc2V0cyBkdGxrX2J1c3kuLi4gKi8KIHN0YXRpYyBpbnQgZHRsa19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCVRSQUNFX1RFWFQoIihkdGxrX29wZW4iKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiAJc3dpdGNoIChpbWlub3IoaW5vZGUpKSB7CiAJY2FzZSBEVExLX01JTk9SOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2VmaXJ0Yy5jIGIvZHJpdmVycy9jaGFyL2VmaXJ0Yy5jCmluZGV4IDQ5MjMzZjUuLmQ1N2NhM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9lZmlydGMuYworKysgYi9kcml2ZXJzL2NoYXIvZWZpcnRjLmMKQEAgLTI4LDYgKzI4LDcgQEAKICAqLwogCiAKKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC0yNzIsNiArMjczLDcgQEAKIAkgKiBXZSBkbyBhY2NlcHQgbXVsdGlwbGUgb3BlbiBmaWxlcyBhdCB0aGUgc2FtZSB0aW1lIGFzIHdlCiAJICogc3luY2hyb25pemUgb24gdGhlIHBlciBjYWxsIG9wZXJhdGlvbi4KIAkgKi8KKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZ2VucnRjLmMgYi9kcml2ZXJzL2NoYXIvZ2VucnRjLmMKaW5kZXggNjlmMGEyOS4uYWFjMDk4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2dlbnJ0Yy5jCisrKyBiL2RyaXZlcnMvY2hhci9nZW5ydGMuYwpAQCAtNTEsNiArNTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMzM4LDEyICszMzksMTYgQEAKIAogc3RhdGljIGludCBnZW5fcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JaWYgKGdlbl9ydGNfc3RhdHVzICYgUlRDX0lTX09QRU4pCisJbG9ja19rZXJuZWwoKTsKKwlpZiAoZ2VuX3J0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCiAJZ2VuX3J0Y19zdGF0dXMgfD0gUlRDX0lTX09QRU47CiAJZ2VuX3J0Y19pcnFfZGF0YSA9IDA7CiAJaXJxX2FjdGl2ZSA9IDA7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaHBldC5jIGIvZHJpdmVycy9jaGFyL2hwZXQuYwppbmRleCBlN2ZiMGJjLi5mYjBhODVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaHBldC5jCisrKyBiL2RyaXZlcnMvY2hhci9ocGV0LmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CkBAIC0xOTMsNiArMTk0LDcgQEAKIAlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCiAJCXJldHVybiAtRUlOVkFMOwogCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxKCZocGV0X2xvY2spOwogCiAJZm9yIChkZXZwID0gTlVMTCwgaHBldHAgPSBocGV0czsgaHBldHAgJiYgIWRldnA7IGhwZXRwID0gaHBldHAtPmhwX25leHQpCkBAIC0yMDcsNiArMjA5LDcgQEAKIAogCWlmICghZGV2cCkgewogCQlzcGluX3VubG9ja19pcnEoJmhwZXRfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKQEAgLTIxNCw2ICsyMTcsNyBAQAogCWRldnAtPmhkX2lycWRhdGEgPSAwOwogCWRldnAtPmhkX2ZsYWdzIHw9IEhQRVRfT1BFTjsKIAlzcGluX3VubG9ja19pcnEoJmhwZXRfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaHZjX3hlbi5jIGIvZHJpdmVycy9jaGFyL2h2Y194ZW4uYwppbmRleCBkZDY4Zjg1Li5kYjJhZTQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaHZjX3hlbi5jCisrKyBiL2RyaXZlcnMvY2hhci9odmNfeGVuLmMKQEAgLTM5LDkgKzM5LDE0IEBACiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjb25zb2xlX3BmbiA9IH4wdWw7CisKIHN0YXRpYyBpbmxpbmUgc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICp4ZW5jb25zX2ludGVyZmFjZSh2b2lkKQogewotCXJldHVybiBtZm5fdG9fdmlydCh4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisJaWYgKGNvbnNvbGVfcGZuID09IH4wdWwpCisJCXJldHVybiBtZm5fdG9fdmlydCh4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisJZWxzZQorCQlyZXR1cm4gX192YShjb25zb2xlX3BmbiA8PCBQQUdFX1NISUZUKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIG5vdGlmeV9kYWVtb24odm9pZCkKQEAgLTEwMSwyMCArMTA2LDMyIEBACiB7CiAJc3RydWN0IGh2Y19zdHJ1Y3QgKmhwOwogCi0JaWYgKCFpc19ydW5uaW5nX29uX3hlbigpKQotCQlyZXR1cm4gMDsKKwlpZiAoIWlzX3J1bm5pbmdfb25feGVuKCkgfHwKKwkgICAgaXNfaW5pdGlhbF94ZW5kb21haW4oKSB8fAorCSAgICAheGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5ldnRjaG4pCisJCXJldHVybiAtRU5PREVWOwogCiAJeGVuY29uc19pcnEgPSBiaW5kX2V2dGNobl90b19pcnEoeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5ldnRjaG4pOwogCWlmICh4ZW5jb25zX2lycSA8IDApCi0JCXhlbmNvbnNfaXJxID0gMCAvKiBOT19JUlEgKi87CisJCXhlbmNvbnNfaXJxID0gMDsgLyogTk9fSVJRICovCisKIAlocCA9IGh2Y19hbGxvYyhIVkNfQ09PS0lFLCB4ZW5jb25zX2lycSwgJmh2Y19vcHMsIDI1Nik7CiAJaWYgKElTX0VSUihocCkpCiAJCXJldHVybiBQVFJfRVJSKGhwKTsKIAogCWh2YyA9IGhwOworCisJY29uc29sZV9wZm4gPSBtZm5fdG9fcGZuKHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuKTsKKwogCXJldHVybiAwOwogfQogCit2b2lkIHhlbl9jb25zb2xlX3Jlc3VtZSh2b2lkKQoreworCWlmICh4ZW5jb25zX2lycSkKKwkJcmViaW5kX2V2dGNobl9pcnEoeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5ldnRjaG4sIHhlbmNvbnNfaXJxKTsKK30KKwogc3RhdGljIHZvaWQgX19leGl0IHhlbl9maW5pKHZvaWQpCiB7CiAJaWYgKGh2YykKQEAgLTEzNCwxMiArMTUxLDI4IEBACiBtb2R1bGVfZXhpdCh4ZW5fZmluaSk7CiBjb25zb2xlX2luaXRjYWxsKHhlbl9jb25zX2luaXQpOwogCitzdGF0aWMgdm9pZCByYXdfY29uc29sZV93cml0ZShjb25zdCBjaGFyICpzdHIsIGludCBsZW4pCit7CisJd2hpbGUobGVuID4gMCkgeworCQlpbnQgcmMgPSBIWVBFUlZJU09SX2NvbnNvbGVfaW8oQ09OU09MRUlPX3dyaXRlLCBsZW4sIChjaGFyICopc3RyKTsKKwkJaWYgKHJjIDw9IDApCisJCQlicmVhazsKKworCQlzdHIgKz0gcmM7CisJCWxlbiAtPSByYzsKKwl9Cit9CisKKyNpZmRlZiBDT05GSUdfRUFSTFlfUFJJTlRLCiBzdGF0aWMgdm9pZCB4ZW5ib290X3dyaXRlX2NvbnNvbGUoc3RydWN0IGNvbnNvbGUgKmNvbnNvbGUsIGNvbnN0IGNoYXIgKnN0cmluZywKIAkJCQkgIHVuc2lnbmVkIGxlbikKIHsKIAl1bnNpZ25lZCBpbnQgbGluZWxlbiwgb2ZmID0gMDsKIAljb25zdCBjaGFyICpwb3M7CiAKKwlyYXdfY29uc29sZV93cml0ZShzdHJpbmcsIGxlbik7CisKKwl3cml0ZV9jb25zb2xlKDAsICIoZWFybHkpICIsIDgpOwogCXdoaWxlIChvZmYgPCBsZW4gJiYgTlVMTCAhPSAocG9zID0gc3RyY2hyKHN0cmluZytvZmYsICdcbicpKSkgewogCQlsaW5lbGVuID0gcG9zLXN0cmluZytvZmY7CiAJCWlmIChvZmYgKyBsaW5lbGVuID4gbGVuKQpAQCAtMTU1LDUgKzE4OCwyMyBAQAogc3RydWN0IGNvbnNvbGUgeGVuYm9vdF9jb25zb2xlID0gewogCS5uYW1lCQk9ICJ4ZW5ib290IiwKIAkud3JpdGUJCT0geGVuYm9vdF93cml0ZV9jb25zb2xlLAotCS5mbGFncwkJPSBDT05fUFJJTlRCVUZGRVIgfCBDT05fQk9PVCwKKwkuZmxhZ3MJCT0gQ09OX1BSSU5UQlVGRkVSIHwgQ09OX0JPT1QgfCBDT05fQU5ZVElNRSwKIH07CisjZW5kaWYJLyogQ09ORklHX0VBUkxZX1BSSU5USyAqLworCit2b2lkIHhlbl9yYXdfY29uc29sZV93cml0ZShjb25zdCBjaGFyICpzdHIpCit7CisJcmF3X2NvbnNvbGVfd3JpdGUoc3RyLCBzdHJsZW4oc3RyKSk7Cit9CisKK3ZvaWQgeGVuX3Jhd19wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJc3RhdGljIGNoYXIgYnVmWzUxMl07CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXZzbnByaW50ZihidWYsIHNpemVvZihidWYpLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCisJeGVuX3Jhd19jb25zb2xlX3dyaXRlKGJ1Zik7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL2NvcmUuYyBiL2RyaXZlcnMvY2hhci9od19yYW5kb20vY29yZS5jCmluZGV4IDY2MmQ2MGUuLmU1ZDU4M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9od19yYW5kb20vY29yZS5jCisrKyBiL2RyaXZlcnMvY2hhci9od19yYW5kb20vY29yZS5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtODYsNiArODcsNyBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAlpZiAoZmlscC0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCiAJCXJldHVybiAtRUlOVkFMOworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcDIvZmlwX2Zpcm0uaCBiL2RyaXZlcnMvY2hhci9pcDIvZmlwX2Zpcm0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM1MjVmYS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2NoYXIvaXAyL2ZpcF9maXJtLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMTQ5ICswLDAgQEAKLS8qIGZpcF9maXJtLmggLSBJbnRlbGxpcG9ydCBJSSBsb2Fkd2FyZSAqLwotLyogLTMxMjMyIGJ5dGVzIHJlYWQgZnJvbSBmZi5sb2QgKi8KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgZmlwX2Zpcm1bXSBfX2luaXRkYXRhID0gewotMHgzQywweDQyLDB4MzcsMHgxOCwweDAyLDB4MDEsMHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4NTcsMHg2NSwweDY0LDB4MjAsMHg0NCwweDY1LDB4NjMsMHgyMCwweDMwLDB4MzEsMHgyMCwweDMxLDB4MzIsMHgzQSwweDMyLDB4MzQsCi0weDNBLDB4MzMsMHgzMCwweDIwLDB4MzEsMHgzOSwweDM5LDB4MzksMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHhFOSwweDZDLDB4MEYsMHg0MiwweDY1LDB4NDcsMHg2OSwweDRFLDB4NkUsMHg0OSwweDZFLDB4NDcsMHgyMCwweDZGLDB4NDYsMHgyMCwKLTB4NjMsMHg0RiwweDY0LDB4NDUsMHhDQywweDEzLDB4NUEsMHgxNSwweEU4LDB4MTYsMHg3NiwweDE4LDB4MDQsMHgxQSwweDkyLDB4MUIsCi0weDIwLDB4MUQsMHhBRSwweDFFLDB4M0MsMHgyMCwweENBLDB4MjEsMHg1OCwweDIzLDB4RTYsMHgyNCwweDc0LDB4MjYsMHgwMiwweDI4LAotMHg5MCwweDI5LDB4MUUsMHgyQiwweEFDLDB4MkMsMHgzQSwweDJFLDB4QzgsMHgyRiwweDU2LDB4MzEsMHhFNCwweDMyLDB4NzIsMHgzNCwKLTB4MDAsMHgzNiwweDhFLDB4MzcsMHgxQywweDM5LDB4QUEsMHgzQSwweDM4LDB4M0MsMHhDNiwweDNELDB4NTQsMHgzRiwweEUyLDB4NDAsCi0weDcwLDB4NDIsMHhGRSwweDQzLDB4OEMsMHg0NSwweDFBLDB4NDcsMHhBOCwweDQ4LDB4MzYsMHg0QSwweEM0LDB4NEIsMHg1MiwweDRELAotMHhFMCwweDRFLDB4NkUsMHg1MCwweEZDLDB4NTEsMHg4QSwweDUzLDB4MTgsMHg1NSwweEE2LDB4NTYsMHgzNCwweDU4LDB4QzIsMHg1OSwKLTB4NTAsMHg1QiwweERFLDB4NUMsMHg2QywweDVFLDB4RkEsMHg1RiwweDg4LDB4NjEsMHgxNiwweDYzLDB4QTQsMHg2NCwweDMyLDB4NjYsCi0weEMwLDB4NjcsMHg0RSwweDY5LDB4REMsMHg2QSwweDZBLDB4NkMsMHhGOCwweDZELDB4ODYsMHg2RiwweDE0LDB4NzEsMHhBMiwweDcyLAotMHgzMCwweDc0LDB4QkUsMHg3NSwweDRDLDB4NzcsMHg2QywweDc3LDB4OEMsMHg3NywweEFDLDB4NzcsMHgzMywweERCLDB4OEEsMHhEQywKLTB4NTMsMHgzMywweERCLDB4MjUsMHgwNywweDAwLDB4NzUsMHgwQSwweDhBLDB4MUUsMHgwOCwweDAxLDB4ODMsMHhFMywweDBDLDB4RUIsCi0weDIwLDB4OTAsMHgzQywweDAxLDB4NzUsMHgwQSwweDhBLDB4MUUsMHgwOCwweDAxLDB4ODAsMHhFMywweEMwLDB4RUIsMHgxMiwweDkwLAotMHg4QSwweDFFLDB4MEQsMHgwMSwweDNDLDB4MDIsMHg3NSwweDA2LDB4ODAsMHhFMywweDBDLDB4RUIsMHgwNCwweDkwLDB4ODAsMHhFMywKLTB4QzAsMHg1MywweDUwLDB4OEIsMHgxRSwweEJBLDB4MTMsMHg4RSwweERCLDB4RTgsMHg2QSwweDY1LDB4NTUsMHg4QiwweEVDLDB4NTMsCi0weDFFLDB4MkIsMHhDMCwweDhFLDB4RDgsMHg4QiwweDVFLDB4MDQsMHhDMSwweEUzLDB4MDQsMHgwMywweDVFLDB4MDYsMHhEMSwweEUzLAotMHgyRSwweDhCLDB4OUYsMHg0NCwweDAwLDB4OEQsMHg0NywweDJBLDB4MUUsMHg1QSwweDFGLDB4NUIsMHg1RCwweEMzLDB4NTUsMHg4QiwKLTB4RUMsMHg1MywweDFFLDB4MkIsMHhDMCwweDhFLDB4RDgsMHg4QiwweDVFLDB4MDQsMHhDMSwweEUzLDB4MDQsMHgwMywweDVFLDB4MDYsCi0weEQxLDB4RTMsMHgyRSwweDhCLDB4OUYsMHg0NCwweDAwLDB4OEQsMHg0NywweDM0LDB4MUUsMHg1QSwweDFGLDB4NUIsMHg1RCwweEMzLAotMHhGQiwweDU1LDB4OEIsMHhFQywweDUzLDB4NTEsMHg1MiwweDU2LDB4NTcsMHgxRSwweDA2LDB4MUUsMHgwNywweDMzLDB4QzAsMHg4RSwKLTB4RDgsMHg4QiwweDVFLDB4MDQsMHgyNiwweDhBLDB4NDcsMHg1OSwweDI1LDB4MDMsMHgwMCwweDhCLDB4RjAsMHhEMSwweEU2LDB4MkUsCi0weDhCLDB4QjQsMHhDNCwweDAwLDB4QzEsMHhFMCwweDA0LDB4MjYsMHgwMiwweDQ3LDB4MUEsMHhEMSwweEUwLDB4OEIsMHhFOCwweDJFLAotMHg4QiwweEFFLDB4NDQsMHgwMCwweDg5LDB4MkMsMHgyNiwweDhBLDB4NDcsMHgxQywweDg4LDB4NDQsMHgwRiwweDI2LDB4OEEsMHg0NywKLTB4MUQsMHg4OCwweDQ0LDB4MTAsMHgyNiwweDhBLDB4NDcsMHgxRSwweDg4LDB4NDQsMHgxMSwweDI2LDB4OEEsMHg0NywweDFGLDB4ODgsCi0weDQ0LDB4MTIsMHgyNiwweDhBLDB4NDcsMHgyMCwweDg4LDB4NDQsMHgxMywweDI2LDB4OEEsMHg0NywweDIzLDB4ODgsMHg0NCwweDE0LAotMHgyNiwweDhBLDB4NDcsMHgyNCwweDg4LDB4NDQsMHgxNSwweDI2LDB4OEEsMHg0NywweDVBLDB4ODgsMHg0NCwweDBFLDB4MzMsMHhDMCwKLTB4ODksMHg0NCwweDA2LDB4ODksMHg0NCwweDA4LDB4ODgsMHg0NCwweDBCLDB4ODgsMHg0NCwweDBBLDB4QjAsMHgyMSwweEI0LDB4NjQsCi0weDg5LDB4NDQsMHgwNCwweDg5LDB4NDQsMHgwMiwweEIwLDB4NTUsMHg4OCwweDQ0LDB4MEQsMHg4OCwweDQ0LDB4MEMsMHhFOCwweDZBLAotMHgwMCwweDcyLDB4NUIsMHhFOCwweEM5LDB4MDAsMHhFOCwweEMxLDB4MTAsMHg4OSwweDQ0LDB4MDgsMHg4MCwweDdDLDB4MEYsMHgwMSwKLTB4NzQsMHgyOSwweEU4LDB4MkIsMHgwMiwweEU4LDB4N0YsMHgwMiwweDgwLDB4N0MsMHgwRiwweDAzLDB4NzQsMHgxRCwweEU4LDB4QTksCi0weDEwLDB4OEIsMHhGOCwweDJCLDB4NDQsMHgwOCwweDNELDB4QTAsMHgwRiwweDcyLDB4MTAsMHg4OSwweDdDLDB4MDgsMHgzMywweEMwLAotMHg4NywweDQ0LDB4MDYsMHg4NSwweEMwLDB4NzUsMHgwNCwweEM2LDB4NDQsMHgwQSwweEZGLDB4OEEsMHg0NCwweDBBLDB4ODQsMHhDMCwKLTB4NzUsMHgwQiwweEI4LDB4MDgsMHgwMCwweEU4LDB4NkEsMHg0QSwweEU4LDB4QTksMHgwMSwweDczLDB4QkYsMHhFOCwweDRGLDB4MDEsCi0weDgxLDB4NjYsMHg0OCwweDdGLDB4RkYsMHg4MywweDY2LDB4N0EsMHhCRiwweEIwLDB4MDIsMHhFOCwweDA0LDB4MEUsMHg4QSwweDQ0LAotMHgwQSwweDk4LDB4MDcsMHgxRiwweDVGLDB4NUUsMHg1QSwweDU5LDB4NUIsMHg1RCwweEMzLDB4ODEsMHg0RSwweDQ4LDB4ODAsMHgwMCwKLTB4QjAsMHg0MCwweEU4LDB4M0QsMHg0QSwweEU4LDB4ODksMHg0MCwweDczLDB4MkEsMHhFOCwweDRELDB4MTAsMHg4QiwweEQ4LDB4QjAsCi0weDA1LDB4RTgsMHgyRSwweDRBLDB4RjYsMHg0NiwweDI3LDB4MDIsMHg3NSwweDFBLDB4RTgsMHgzRCwweDEwLDB4MkIsMHhDMywweDNELAotMHg1OCwweDFCLDB4NzIsMHhFQiwweDgxLDB4NjYsMHg0OCwweDdGLDB4RkYsMHhCMCwweDAyLDB4RTgsMHhDNCwweDBELDB4QzYsMHg0NCwKLTB4MEEsMHgwMSwweEY5LDB4QzMsMHg4MywweDRFLDB4N0EsMHg0MCwweEY4LDB4QzMsMHhGQiwweEIwLDB4MDEsMHhFOCwweDAyLDB4NEEsCi0weEZBLDB4RTgsMHg5OSwweDFFLDB4RTQsMHgwQSwweDg0LDB4QzAsMHg3NSwweEYwLDB4QjAsMHg0RSwweEU2LDB4MEEsMHhGQiwweEIwLAotMHgwMSwweEU4LDB4RUUsMHg0OSwweEZBLDB4RTgsMHg4NSwweDFFLDB4RTQsMHgwQSwweDg0LDB4QzAsMHg3NSwweEYwLDB4QzMsMHhGQSwKLTB4RTgsMHg3QSwweDFFLDB4RTQsMHhFQywweDg4LDB4NDQsMHgxNiwweEU0LDB4RTQsMHg4OCwweDQ0LDB4MTcsMHhFNCwweEY4LDB4ODgsCi0weDQ0LDB4MTgsMHhFNCwweEYwLDB4ODgsMHg0NCwweDE5LDB4RTQsMHgxMCwweDg4LDB4NDQsMHgxQSwweEU0LDB4MTIsMHg4OCwweDQ0LAotMHgxQiwweEU0LDB4MTQsMHg4OCwweDQ0LDB4MUMsMHhFNCwweDM0LDB4ODgsMHg0NCwweDFELDB4RTQsMHgzNiwweDg4LDB4NDQsMHgxRSwKLTB4RTQsMHhEOCwweDI0LDB4MDEsMHg4QSwweEUwLDB4RTQsMHhEQSwweDI0LDB4MDIsMHgwQSwweEM0LDB4ODgsMHg0NCwweDFGLDB4OEEsCi0weDQ0LDB4MTAsMHhFOCwweENELDB4MUYsMHg4QSwweDQ0LDB4MTEsMHhFOCwweDM1LDB4MjEsMHg4QSwweDQ0LDB4MTIsMHhFOCwweDg5LAotMHgyMSwweDhBLDB4NDQsMHgxMywweEU4LDB4NDMsMHgyMSwweEM2LDB4ODYsMHhBMSwweDAwLDB4MDAsMHhFNCwweDE0LDB4MjQsMHgxMCwKLTB4RTYsMHgxNCwweEU0LDB4MTIsMHgyNCwweDNELDB4RTYsMHgxMiwweDhBLDB4NDQsMHgxNSwweDNDLDB4MDEsMHg3MiwweDFFLDB4NzcsCi0weDE2LDB4QjAsMHgxMSwweEU2LDB4MzQsMHhCMCwweDEzLDB4RTYsMHgzNiwweEU0LDB4MTQsMHgwQywweDEwLDB4RTYsMHgxNCwweEU0LAotMHgxMiwweDBDLDB4NDAsMHhFNiwweDEyLDB4RUIsMHgwNiwweEU0LDB4MTIsMHgwQywweDAyLDB4RTYsMHgxMiwweDhBLDB4NDQsMHgwRiwKLTB4M0MsMHgwMSwweDc0LDB4MDYsMHgzQywweDAyLDB4NzQsMHgwQSwweEVCLDB4MEUsMHhFNCwweDEyLDB4MEMsMHgwOCwweEU2LDB4MTIsCi0weEVCLDB4MDYsMHhFNCwweDEyLDB4MEMsMHgxMCwweEU2LDB4MTIsMHhFOCwweDJGLDB4RkYsMHg4QSwweDQ0LDB4MTQsMHgzQywweDAyLAotMHg3NSwweDA4LDB4QjAsMHg1NSwweDg4LDB4NDQsMHgwQywweDg4LDB4NDQsMHgwRCwweEIwLDB4MjEsMHhCNCwweDY0LDB4ODksMHg0NCwKLTB4MDQsMHg4OSwweDQ0LDB4MDIsMHhFNCwweDBDLDB4MEMsMHgxMCwweEU2LDB4MEMsMHhFOCwweEVELDB4MzksMHhGQiwweEMzLDB4RTgsCi0weDVGLDB4M0YsMHg3MywweDA4LDB4RkIsMHhCMCwweDBBLDB4RTgsMHgwOCwweDQ5LDB4RUIsMHhGMywweEZBLDB4RTgsMHg5RCwweDFELAotMHg4QSwweDY0LDB4MTYsMHg4QSwweDQ0LDB4MTcsMHg4OSwweDg2LDB4OTQsMHgwMCwweEU2LDB4RTQsMHg4QSwweEM0LDB4RTYsMHhFQywKLTB4OEEsMHg2NCwweDE4LDB4OEEsMHg0NCwweDE5LDB4ODksMHg4NiwweDk2LDB4MDAsMHhFNiwweEYwLDB4OEEsMHhDNCwweEU2LDB4RjgsCi0weDhBLDB4NDQsMHgxQSwweEU2LDB4MTAsMHg4QSwweDQ0LDB4MUIsMHhFNiwweDEyLDB4OEEsMHg0NCwweDFDLDB4RTYsMHgxNCwweDhBLAotMHg0NCwweDFELDB4RTYsMHgzNCwweDhBLDB4NDQsMHgxRSwweEU2LDB4MzYsMHg4QSwweDQ0LDB4MUYsMHhFNiwweEQ4LDB4RTYsMHhEQSwKLTB4RTksMHhCNywweEZFLDB4OTAsMHhGQSwweDhBLDB4NDQsMHgwRSwweEU2LDB4RkUsMHhFNCwweDAyLDB4QTgsMHgwMSwweDc1LDB4MDUsCi0weDMzLDB4QzAsMHhGQiwweEY4LDB4QzMsMHgzMywweEMwLDB4RTQsMHgwMCwweEZCLDB4RjksMHhDMywweDhBLDB4NjQsMHgxNCwweDgwLAotMHhGQywweDAyLDB4NzQsMHgyQiwweEZFLDB4QzAsMHhGRSwweEM3LDB4ODAsMHhGRiwweDRFLDB4NzIsMHgxQywweDc0LDB4MDksMHg4MCwKLTB4RkYsMHg1MCwweDczLDB4MDgsMHhCMCwweDBBLDB4RUIsMHgxNywweEIwLDB4MEQsMHhFQiwweDEzLDB4MDIsMHhEQywweDMyLDB4RkYsCi0weDgwLDB4RkIsMHg3RiwweDdDLDB4MDIsMHhCMywweDIxLDB4OEEsMHhDMywweDNDLDB4N0YsMHg3QywweDAyLDB4QjAsMHgyMSwweEMzLAotMHhGQSwweDgwLDB4N0MsMHgwQiwweDA0LDB4NzYsMHgwMiwweEZCLDB4QzMsMHg4QiwweDQ2LDB4MjQsMHgzRCwweDA4LDB4MDAsMHg3MiwKLTB4RjYsMHg4RSwweDQ2LDB4MDIsMHg4QiwweDdFLDB4MjIsMHg4QSwweDQ0LDB4MEMsMHg4QiwweDVDLDB4MDIsMHhBQSwweEU4LDB4QUIsCi0weEZGLDB4QUEsMHhFOCwweEE3LDB4RkYsMHhBQSwweEU4LDB4QTMsMHhGRiwweEFBLDB4RTgsMHg5RiwweEZGLDB4ODgsMHg0NCwweDBDLAotMHg4OSwweDVDLDB4MDIsMHg4MCwweDQ0LDB4MEIsMHgwNCwweDg5LDB4N0UsMHgyMiwweDgzLDB4NkUsMHgyNCwweDA0LDB4ODMsMHg0NiwKLTB4MUEsMHgwNCwweDgwLDB4N0UsMHgyNiwweDAyLDB4NzQsMHgwNiwweDgwLDB4NjYsMHgyNiwweEZELDB4RkIsMHhDMywweDYwLDB4QjAsCi0weEZELDB4RTgsMHgwMiwweDNGLDB4NjEsMHhGQiwweEMzLDB4RkEsMHg4MCwweDdDLDB4MEYsMHgwMywweDc1LDB4MDksMHhDNiwweDQ0LAotMHgwQiwweDAwLDB4RTgsMHhFNSwweDM4LDB4RkIsMHhDMywweEM0LDB4N0UsMHgxNCwweDhCLDB4NEUsMHgzQSwweDg1LDB4QzksMHg3NSwKLTB4MzUsMHgyNiwweDhCLDB4MEQsMHg0NywweDQ3LDB4RTMsMHhFQSwweDNCLDB4N0UsMHgwNCwweDc2LDB4MjIsMHhCOCwweDAyLDB4MDAsCi0weDM5LDB4NDYsMHgyRSwweDc3LDB4MDcsMHhDNywweDQ2LDB4MkUsMHgwMCwweDAwLDB4RUIsMHgxMywweDhCLDB4NUUsMHgyQywweDg5LAotMHg1RSwweDA0LDB4MjYsMHhDNywweDA3LDB4MDAsMHgwMCwweDQzLDB4NDMsMHg4OSwweDVFLDB4MkMsMHgyOSwweDQ2LDB4MkUsMHg4NSwKLTB4QzksMHg3OCwweENFLDB4ODksMHg0RSwweDNBLDB4OEEsMHg0NCwweDBELDB4OEIsMHg1QywweDA0LDB4MjYsMHg4QSwweDI1LDB4NDcsCi0weDNBLDB4QzQsMHg3NSwweDE2LDB4RkUsMHg0QywweDBCLDB4RkYsMHg0NCwweDA2LDB4RTgsMHgwRiwweEZGLDB4RTIsMHhFRCwweDg4LAotMHg0NCwweDBELDB4ODksMHg1QywweDA0LDB4ODksMHg0RSwweDNBLDB4RUIsMHhBNywweEM2LDB4NDQsMHgwQSwweEZFLDB4RTgsMHg3OSwKLTB4MzgsMHhGQiwweEMzLDB4OTAsMHhFOCwweEIzLDB4MEQsMHg4QSwweEU4LDB4OEEsMHgwRSwweENCLDB4MTMsMHhCMywweDA3LDB4OEEsCi0weEMxLDB4RUUsMHhFQiwweDAwLDB4RUMsMHgzQSwweEMxLDB4NzUsMHgwOSwweDAyLDB4Q0QsMHhGRSwweENCLDB4NzUsMHhGMCwweEVCLAotMHgwQywweDkwLDB4ODgsMHgwRSwweENCLDB4MTMsMHg4QSwweEU4LDB4QkIsMHhGRiwweEZGLDB4RjksMHhDMywweDg4LDB4MEUsMHhDQiwKLTB4MTMsMHhGOCwweEMzLDB4OTAsMHhCQiwweDNGLDB4M0YsMHg4QSwweDhFLDB4OUUsMHgwMCwweEJBLDB4RkUsMHgwMCwweEVDLDB4OEEsCi0weEU4LDB4MzIsMHhDMSwweDIyLDB4QzMsMHg3NSwweDAyLDB4RjgsMHhDMywweEY5LDB4QzMsMHg5MCwweEU4LDB4RTUsMHhGRiwweDczLAotMHgwMSwweEMzLDB4QkEsMHhEMCwweDAwLDB4QkIsMHgwMywweDAzLDB4OEEsMHg4RSwweDlGLDB4MDAsMHhFQywweDhBLDB4RTgsMHgzMiwKLTB4QzEsMHgyMiwweEMzLDB4NzUsMHgwMiwweEY4LDB4QzMsMHhGOSwweEMzLDB4OTAsMHgzMywweEMwLDB4OEUsMHhEOCwweDhFLDB4QzAsCi0weDgwLDB4M0UsMHhDOCwweDEzLDB4MDAsMHg3NSwweDA3LDB4QjAsMHgwQSwweEU4LDB4MjYsMHg0NywweEVCLDB4RjIsMHhGQiwweDMzLAotMHhEQiwweDhBLDB4MUUsMHhDOSwweDEzLDB4NDMsMHg0MywweDgzLDB4RkIsMHg3RSwweDc2LDB4MDcsMHgzMywweERCLDB4QjAsMHgwMiwKLTB4RTgsMHgwRiwweDQ3LDB4MkUsMHg4QiwweEFGLDB4NDQsMHgwMCwweDgzLDB4N0UsMHgwOCwweDAwLDB4NzQsMHhFNywweDg4LDB4MUUsCi0weEM5LDB4MTMsMHhCMCwweDAyLDB4RTgsMHhGQiwweDQ2LDB4RkEsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzQsMHgxNCwweEU4LAotMHg5NiwweDFCLDB4RTgsMHg3RiwweEZGLDB4NzIsMHgxQywweDMzLDB4RDIsMHg4QSwweDk2LDB4OUYsMHgwMCwweDgzLDB4QzIsMHgwRSwKLTB4RUIsMHgwQywweDkwLDB4RTgsMHg3NywweDFCLDB4RTgsMHg4MywweEZGLDB4NzIsMHgwOCwweEJBLDB4NDgsMHgwMCwweEU4LDB4MzMsCi0weEZGLDB4NzMsMHhBQiwweDIzLDB4Q0IsMHg4OSwweDhFLDB4OUEsMHgwMCwweDg5LDB4OTYsMHg5QywweDAwLDB4RkUsMHg4NiwweEI1LAotMHgwMCwweEM2LDB4MDYsMHhDOCwweDEzLDB4MDAsMHhCMCwweDBBLDB4RTgsMHg2NywweDBBLDB4RkIsMHhFQiwweDg5LDB4MTAsMHgxOCwKLTB4MDgsMHgyOCwweDMzLDB4QzAsMHhBMCwweDA1LDB4MDEsMHg4QSwweEM4LDB4MjQsMHg0MCwweDc1LDB4MjQsMHhDNywweDA2LDB4N0MsCi0weDEyLDB4OEUsMHg0NSwweEM3LDB4MDYsMHg0MiwweDEyLDB4MDEsMHgwMCwweEM2LDB4MDYsMHg1NCwweDEyLDB4MDIsMHhCMCwweDA4LAotMHhGNiwweEMxLDB4MDEsMHg3NCwweDAyLDB4QjAsMHgwNCwweEEzLDB4NDYsMHgxMiwweEEyLDB4NEMsMHgxMiwweEEyLDB4OTQsMHgxMiwKLTB4QzMsMHhDNywweDA2LDB4N0MsMHgxMiwweEI2LDB4NDUsMHhBMCwweDBGLDB4MDEsMHg4NCwweEMwLDB4NzUsMHgwRSwweDZBLDB4MDAsCi0weDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgxRSwweDlDLDB4MEUsMHhFOCwweEIxLDB4MEMsMHg5MCwweEM3LDB4MDYsMHg0NCwweDEyLAotMHgwMSwweDAwLDB4QTMsMHg0MiwweDEyLDB4OEIsMHhEOCwweEMxLDB4RTMsMHgwNCwweDg4LDB4MUUsMHg5NCwweDEyLDB4QkUsMHhFMiwKLTB4MDUsMHgyQiwweEYwLDB4OEIsMHhDOCwweDMzLDB4REIsMHg4QiwweEZCLDB4MkUsMHhBQywweDg4LDB4ODUsMHg0OCwweDEyLDB4OEEsCi0weEQ4LDB4MEMsMHgwNSwweEU2LDB4RkUsMHg4QSwweEUwLDB4RUIsMHgwMCwweEU0LDB4RkUsMHgzMiwweEM0LDB4QTgsMHgzRiwweDc0LAotMHgwMywweEU5LDB4OUUsMHgwMCwweEU0LDB4MDAsMHg4OCwweDg1LDB4NTAsMHgxMiwweDhBLDB4RTAsMHgyNCwweDMwLDB4QkEsMHgxMCwKLTB4RkYsMHgzQywweDMwLDB4NzQsMHgxMiwweDgwLDB4RkMsMHgwNCwweDc0LDB4MEEsMHhCQSwweDA0LDB4MDMsMHhGNiwweDA2LDB4MDgsCi0weDAxLDB4RkUsMHg3NCwweDAzLDB4QkEsMHgwOCwweDBGLDB4ODgsMHg5NSwweDRDLDB4MTIsMHgwMiwweEZBLDB4MzIsMHhDMCwweEY2LAotMHhDNCwweDA4LDB4NzQsMHgwMiwweEIwLDB4MDEsMHg4OCwweDg1LDB4NTgsMHgxMiwweDhBLDB4QzQsMHgzQywweDM1LDB4NzQsMHg1QiwKLTB4M0MsMHgzNiwweDc0LDB4NTcsMHgzQywweDM0LDB4NzQsMHg1MywweDNDLDB4MDQsMHg3NCwweDRGLDB4M0MsMHgxNCwweDc0LDB4NEIsCi0weDNDLDB4MTUsMHg3NCwweDQ3LDB4QTgsMHg0MCwweDc0LDB4MjUsMHhDNiwweDg1LDB4NTQsMHgxMiwweDA0LDB4RDEsMHhFNywweEI0LAotMHgwMywweDhBLDB4QzMsMHg4OSwweDg1LDB4NUMsMHgxMiwweDhBLDB4QzMsMHg4QSwweEUzLDB4ODAsMHhDQywweDAxLDB4ODksMHg4NSwKLTB4NjQsMHgxMiwweEQxLDB4RUYsMHg0NywweEUyLDB4MDMsMHhFQiwweDFBLDB4OTAsMHhFOSwweDZDLDB4RkYsMHhDNiwweDg1LDB4NTQsCi0weDEyLDB4MDIsMHhEMSwweEU3LDB4OEEsMHhFNiwweDhBLDB4QzMsMHgwQywweDA0LDB4ODksMHg4NSwweDVDLDB4MTIsMHhEMSwweEVGLAotMHg0NywweEUyLDB4RTcsMHgzMywweEMwLDB4OEEsMHhDNywweEEzLDB4NDYsMHgxMiwweEMzLDB4QzYsMHg4NSwweDU0LDB4MTIsMHgwNiwKLTB4RUIsMHhCQiwweEM2LDB4ODUsMHg1NCwweDEyLDB4MDAsMHgzMywweEMwLDB4ODgsMHg4NSwweDUwLDB4MTIsMHg4OCwweDg1LDB4NEMsCi0weDEyLDB4ODgsMHg4NSwweDU4LDB4MTIsMHhFQiwweEE2LDB4QzcsMHg0NiwweDI2LDB4MDIsMHgxMiwweDhCLDB4NDYsMHgxRSwweDg5LAotMHg0NiwweDAwLDB4ODksMHg0NiwweDIyLDB4OEIsMHg0NiwweDIwLDB4ODksMHg0NiwweDI0LDB4QzcsMHg0NiwweDFBLDB4MDAsMHgwMCwKLTB4QzMsMHhDNywweDQ2LDB4M0MsMHg4MCwweDAwLDB4QzcsMHg0NiwweDM4LDB4MDEsMHgwMCwweDFFLDB4NTYsMHg4QiwweDc2LDB4MzAsCi0weDg5LDB4NzYsMHgwNCwweDg5LDB4NzYsMHgxNCwweDhFLDB4NUUsMHgwNiwweDMzLDB4QzAsMHg4OSwweDA0LDB4NDYsMHg0NiwweDg5LAotMHg3NiwweDJDLDB4ODksMHg0NiwweDNBLDB4OEIsMHg0NiwweDMyLDB4NDgsMHg0OCwweDg5LDB4NDYsMHgyRSwweDVFLDB4MUYsMHhDMywKLTB4MzMsMHhDMCwweDg5LDB4NDYsMHg0OCwweDg5LDB4NDYsMHg0QSwweEM3LDB4NDYsMHg0NiwweEFFLDB4MDEsMHg4OSwweDQ2LDB4NEUsCi0weDhCLDB4NDYsMHg0NCwweDg5LDB4NDYsMHg1MCwweDhCLDB4NDYsMHg0MiwweDg5LDB4NDYsMHg0MCwweDg5LDB4NDYsMHgwOCwweEMzLAotMHgzMywweEMwLDB4ODksMHg0NiwweDc2LDB4ODksMHg0NiwweDc4LDB4QzcsMHg0NiwweDdBLDB4MTAsMHgwMCwweDU2LDB4MUUsMHg4QiwKLTB4NzYsMHg3MCwweDg5LDB4NzYsMHgxMCwweDg5LDB4NzYsMHgwQywweDhFLDB4NUUsMHgxMiwweEM3LDB4MDQsMHgwMCwweDAwLDB4OEIsCi0weDQ2LDB4NzIsMHg4OSwweDQ2LDB4NzQsMHgxRiwweDVFLDB4QzMsMHg4OSwweDU2LDB4MTgsMHg4OSwweDU2LDB4MDIsMHg4OSwweDU2LAotMHgwNiwweDg5LDB4NTYsMHgwQSwweDg5LDB4NTYsMHgwRSwweDg5LDB4NTYsMHgxMiwweDg5LDB4NTYsMHgxNiwweDhCLDB4RDgsMHg0QiwKLTB4NEIsMHhDMSwweEUzLDB4MDIsMHhCRiwweDAyLDB4MDAsMHg4OSwweDdFLDB4MUUsMHgwMywweEZCLDB4ODksMHg3RSwweDMwLDB4MDMsCi0weEZCLDB4ODksMHg3RSwweDQyLDB4MDMsMHhGQiwweDg5LDB4N0UsMHg3MCwweDgzLDB4RUIsMHgwOCwweDg5LDB4NUUsMHgyMCwweDg5LAotMHg1RSwweDMyLDB4ODksMHg1RSwweDQ0LDB4ODksMHg1RSwweDcyLDB4NTAsMHhFOCwweDJCLDB4RkYsMHhFOCwweDcxLDB4RkYsMHhFOCwKLTB4M0YsMHhGRiwweEU4LDB4OEIsMHhGRiwweDU4LDB4QzMsMHhCOCwweDMwLDB4NzUsMHhDMSwweEU4LDB4MDQsMHgwRSwweDVCLDB4MDMsCi0weEMzLDB4QTMsMHhCQSwweDEzLDB4ODMsMHgzRSwweDQyLDB4MTIsMHgwMCwweDc0LDB4MDcsMHg4MCwweDNFLDB4OTQsMHgxMiwweDAwLAotMHg3NSwweDBFLDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgxRSwweDlDLDB4MEUsMHhFOCwweEJELDB4MEEsMHg5MCwKLTB4QjgsMHgzMCwweDdBLDB4QzEsMHhFOCwweDA0LDB4NDAsMHhBMywweEMwLDB4MTMsMHgyQiwweDA2LDB4MTIsMHgwMSwweEY3LDB4RDgsCi0weDMzLDB4RDIsMHg4QiwweENBLDB4OEEsMHgwRSwweDk0LDB4MTIsMHhGNywweEYxLDB4M0QsMHg4MCwweDAwLDB4NzcsMHgwRSwweDZBLAotMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgyNSwweDlDLDB4MEUsMHhFOCwweDkwLDB4MEEsMHg5MCwweDQ4LDB4M0QsMHhGRiwKLTB4MDcsMHg3MiwweDAzLDB4QjgsMHhGRiwweDA3LDB4QTMsMHhDMiwweDEzLDB4MzMsMHhDOSwweDhBLDB4MEUsMHg5NCwweDEyLDB4MzMsCi0weEY2LDB4QjgsMHgwMCwweDA5LDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweDg5LDB4NDYsMHg0QywweDQwLDB4NDYsMHg0NiwweEUyLAotMHhGMywweDhBLDB4MEUsMHg5NCwweDEyLDB4MzMsMHhGNiwweDhCLDB4MTYsMHhDMCwweDEzLDB4QTEsMHhDMiwweDEzLDB4MkUsMHg4QiwKLTB4QUMsMHg0NCwweDAwLDB4RTgsMHgyMiwweEZGLDB4MDMsMHhEMCwweDQ2LDB4NDYsMHhFMiwweEYyLDB4QzMsMHgzMywweEMwLDB4MkUsCi0weDhCLDB4QUQsMHg0NCwweDAwLDB4ODksMHg0NiwweDA4LDB4NDcsMHg0NywweEUyLDB4RjQsMHhDMywweDUxLDB4MzMsMHhDMCwweDBBLAotMHhDMiwweDJFLDB4OEIsMHhBRCwweDQ0LDB4MDAsMHg4OSwweDg2LDB4OUUsMHgwMCwweDgxLDB4NEUsMHgzOCwweDAwLDB4MjAsMHg0NywKLTB4NDcsMHhGRSwweEM0LDB4ODAsMHhGQywweDA0LDB4NzIsMHgwNCwweDMyLDB4RTQsMHhGRSwweEMwLDB4RTIsMHhFMywweDU5LDB4ODMsCi0weEU5LDB4MTAsMHg3NCwweDA1LDB4RjcsMHhEOSwweEU4LDB4QzQsMHhGRiwweEMzLDB4NTEsMHgzMywweEMwLDB4MEEsMHhDMiwweDJFLAotMHg4QiwweEFELDB4NDQsMHgwMCwweDg5LDB4ODYsMHg5RSwweDAwLDB4ODMsMHg0RSwweDM4LDB4NDAsMHg0NywweDQ3LDB4ODAsMHhDNCwKLTB4MTAsMHg3OSwweDA0LDB4MzIsMHhFNCwweEZFLDB4QzAsMHhFMiwweEU2LDB4NTksMHg4MywweEU5LDB4MTAsMHg3NCwweDA1LDB4RjcsCi0weEQ5LDB4RTgsMHg5OSwweEZGLDB4QzMsMHhFOCwweEQyLDB4RkYsMHhDMywweDhELDB4MDgsMHg5QywweDA4LDB4Q0EsMHgwOCwweEY1LAotMHgwOCwweDhCLDB4MEUsMHg0MiwweDEyLDB4MzMsMHhGNiwweDUxLDB4NTYsMHgzMywweERCLDB4OEIsMHhDQiwweDhBLDB4OTQsMHg0OCwKLTB4MTIsMHg4QSwweDhDLDB4NEMsMHgxMiwweDhBLDB4OUMsMHg1NCwweDEyLDB4OEIsMHhGRSwweEMxLDB4RTcsMHgwNSwweDg1LDB4REIsCi0weDc1LDB4MDIsMHhCMSwweDEwLDB4MkUsMHhGRiwweDk3LDB4RjksMHgwOCwweDVFLDB4NTksMHg0NiwweEUyLDB4RDksMHhDMywweDAxLAotMHhDQywweDAzLDB4RDAsMHgwMCwweEU4LDB4MDIsMHhEMCwweDAwLDB4RTgsMHgwMSwweEQwLDB4MDAsMHhFOCwweDAwLDB4RDAsMHgwMCwKLTB4RTgsMHgwNCwweEQwLDB4QTgsMHhEQSwweDAwLDB4REMsMHgwMCwweERFLDB4MDEsMHhEOCwweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsCi0weENDLDB4MDQsMHhEMCwweEE4LDB4REEsMHgyMCwweERDLDB4MDAsMHhERSwweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAwLAotMHhEOCwweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywKLTB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsCi0weENDLDB4MDQsMHhEMCwweDAwLDB4REEsMHgyMCwweERDLDB4MDMsMHhERSwweDAxLDB4RDgsMHgwMywweENDLDB4MDMsMHhDQywweDAzLAotMHhDQywweDAzLDB4Q0MsMHgwMCwweEQ4LDB4MDAsMHhDQywweDAwLDB4RDAsMHgwMCwweDAwLDB4NTYsMHg1MiwweDFFLDB4MEUsMHgxRiwKLTB4QkUsMHgyRiwweDA5LDB4MzMsMHhEMiwweEZDLDB4QUQsMHg4NSwweEMwLDB4NzQsMHgwRCwweDhBLDB4RDQsMHhFRSwweEFELDB4ODUsCi0weEMwLDB4NzQsMHgwNSwweDhBLDB4RDQsMHhFRSwweEVCLDB4RUUsMHgxRiwweDVBLDB4NUUsMHhDMywweEU0LDB4ODAsMHg4NCwweEMwLAotMHg3NCwweDE2LDB4NzgsMHgxNCwweEIwLDB4MjcsMHhFNiwweEZDLDB4QjAsMHgxMSwweEU2LDB4MzQsMHhFNCwweEZDLDB4M0MsMHgyNywKLTB4NzUsMHgwNiwweEU0LDB4MTEsMHg3NSwweDAyLDB4RjgsMHhDMywweEY5LDB4QzMsMHg4MywweEMyLDB4MDYsMHhCMCwweEJGLDB4RUUsCi0weDgzLDB4RUEsMHgwMiwweEIwLDB4MTAsMHhFRSwweDg4LDB4ODYsMHhBRiwweDAwLDB4QjAsMHgxMSwweDgzLDB4QzIsMHgwNCwweEVFLAotMHg4MywweEMyLDB4MDIsMHhFRSwweEIwLDB4MTMsMHg4MywweEMyLDB4MDIsMHhFRSwweDgzLDB4QzIsMHgwMiwweEVFLDB4MkUsMHhBMSwKLTB4NEMsMHgyRCwweDg5LDB4ODYsMHg5NCwweDAwLDB4ODMsMHhFQSwweDBFLDB4RUUsMHg4MywweEMyLDB4MDIsMHg4QSwweEM0LDB4RUUsCi0weDgzLDB4QzIsMHgwNCwweEIwLDB4MDMsMHhFRSwweDg4LDB4ODYsMHhBOCwweDAwLDB4ODMsMHhFQSwweDA0LDB4MzIsMHhDMCwweEVFLAotMHg4MywweEMyLDB4MDIsMHhCMCwweDg5LDB4RUUsMHg4OCwweDg2LDB4QTYsMHgwMCwweDBDLDB4MDYsMHhFRSwweEIwLDB4NDAsMHhCNCwKLTB4MzgsMHg4OSwweDQ2LDB4MUMsMHhDNywweDQ2LDB4MzYsMHgzOCwweDAwLDB4ODMsMHhDMiwweDA0LDB4MzIsMHhDMCwweEVFLDB4ODgsCi0weDg2LDB4QTcsMHgwMCwweEMzLDB4ODMsMHhDMiwweDA2LDB4QjAsMHhCRiwweEVFLDB4ODMsMHhFQSwweDAyLDB4RUMsMHgzQSwweDg2LAotMHhBRiwweDAwLDB4NzUsMHgyNCwweDgzLDB4QzIsMHgwNCwweEVDLDB4M0MsMHgxMSwweDc1LDB4MUMsMHg4MywweEMyLDB4MDYsMHhFQywKLTB4M0MsMHgxMywweDc1LDB4MTQsMHg4MywweEVBLDB4MDgsMHg4QSwweDg2LDB4QTgsMHgwMCwweEVFLDB4ODMsMHhFQSwweDAyLDB4RUMsCi0weDI0LDB4QzAsMHgzQywweEMwLDB4NzUsMHgwMiwweEY4LDB4QzMsMHhGOSwweEMzLDB4MzMsMHhDOSwweDhCLDB4RDEsMHg4QiwweEYxLAotMHg4QSwweDBFLDB4OTQsMHgxMiwweEMxLDB4RTksMHgwMiwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHhGNywweDQ2LDB4MzgsMHgwMCwKLTB4MjAsMHg3NCwweDBFLDB4OEEsMHg4NiwweDlFLDB4MDAsMHhFNiwweEZFLDB4MzIsMHhDMCwweEU2LDB4ODAsMHg0MiwweEU4LDB4RkEsCi0weEZFLDB4ODMsMHhDNiwweDA4LDB4RTIsMHhFMSwweDg1LDB4RDIsMHg3NCwweDAzLDB4RTgsMHgwNSwweDA4LDB4QzMsMHgzMywweEM5LAotMHg4QiwweEYxLDB4OEEsMHgwRSwweDk0LDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwKLTB4NzQsMHgwNiwweEU4LDB4NzMsMHgxNiwweEU4LDB4MTIsMHhGRiwweDQ2LDB4NDYsMHhFMiwweEVBLDB4QzMsMHgzMywweEM5LDB4OEIsCi0weEYxLDB4OEEsMHgwRSwweDk0LDB4MTIsMHhDMSwweEU5LDB4MDIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LAotMHgwMCwweDIwLDB4NzQsMHgxNiwweEU4LDB4NDYsMHgxNiwweEU4LDB4RDIsMHhGRSwweDczLDB4MEUsMHg2QSwweDAwLDB4MUYsMHhDNiwKLTB4MDYsMHg5MywweDEyLDB4MUMsMHg5QywweDBFLDB4RTgsMHhFMywweDA3LDB4OTAsMHg4MywweEM2LDB4MDgsMHhFMiwweEQ5LDB4QzMsCi0weDMzLDB4QzksMHg4QiwweEYxLDB4OEEsMHgwRSwweDk0LDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LAotMHg0MCwweDAwLDB4NzQsMHgxNiwweEU4LDB4MjEsMHgxNiwweEU4LDB4MkEsMHhGRiwweDczLDB4MEUsMHg2QSwweDAwLDB4MUYsMHhDNiwKLTB4MDYsMHg5MywweDEyLDB4MUMsMHg5QywweDBFLDB4RTgsMHhCMywweDA3LDB4OTAsMHg0NiwweDQ2LDB4RTIsMHhEQSwweEMzLDB4MEMsCi0weDAwLDB4MDAsMHgxMCwweDAwLDB4MTMsMHgxMiwweDAwLDB4MDAsMHgxNCwweDAwLDB4MjgsMHgzQywweDAwLDB4MUIsMHgzRSwweDAwLAotMHgwMCwweDJBLDB4MDAsMHgwMCwweDJDLDB4MDAsMHgwMCwweDQyLDB4MDAsMHgxNCwweEQ4LDB4MDAsMHgwMCwweERBLDB4MDAsMHgwMCwKLTB4MzQsMHgwMCwweDExLDB4MzYsMHgwMCwweDEzLDB4MzgsMHgwMCwweDExLDB4M0EsMHgwMCwweDEzLDB4MDAsMHgwMCwweDU2LDB4NTAsCi0weDUyLDB4QkUsMHgyRiwweDBCLDB4MkUsMHhBRCwweDg1LDB4QzAsMHg3NCwweDA2LDB4OTIsMHgyRSwweEFDLDB4RUUsMHhFQiwweEY0LAotMHg1QSwweDU4LDB4NUUsMHhDMywweDUzLDB4MkUsMHhBMSwweDYwLDB4MjIsMHhFNiwweEU0LDB4RTYsMHhGMCwweDhBLDB4QzQsMHhFNiwKLTB4RUMsMHhFNiwweEY4LDB4RTgsMHhEOCwweEZGLDB4QjAsMHg0QiwweEU2LDB4MTAsMHhCMCwweDUwLDB4RTYsMHgxMiwweEIwLDB4MzgsCi0weEU2LDB4MTQsMHhFOCwweEFFLDB4MTUsMHhCMCwweDQ2LDB4RTYsMHgwQSwweEU4LDB4QTcsMHgxNSwweEIwLDB4MUEsMHhFNiwweDBBLAotMHhFOCwweEEwLDB4MTUsMHhCMCwweDIyLDB4RTYsMHgwQSwweEU4LDB4OTksMHgxNSwweEU4LDB4RkQsMHgwNiwweDhCLDB4RDgsMHhFNCwKLTB4MTYsMHhBOCwweDA0LDB4NzUsMHgxOCwweEU4LDB4RjIsMHgwNiwweDJCLDB4QzMsMHgzRCwweDMyLDB4MDAsMHg3MiwweEYwLDB4NkEsCi0weDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDIzLDB4OUMsMHgwRSwweEU4LDB4MTAsMHgwNywweDkwLDB4RTgsMHhEQSwweDA2LAotMHgyQiwweEMzLDB4M0QsMHgyNCwweDAwLDB4NzcsMHgxQiwweEIwLDB4MzEsMHhFNiwweEZDLDB4NTYsMHg1MSwweDU1LDB4QjksMHgxMCwKLTB4MDAsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4ODEsMHg0RSwweDM4LDB4ODAsMHgwMCwweDQ2LDB4NDYsMHhFMiwweEYyLDB4NUQsCi0weDU5LDB4NUUsMHhFOCwweDY5LDB4RkYsMHhFOCwweDRCLDB4MTUsMHhCMCwweDQ2LDB4RTYsMHgwQSwweEU4LDB4NDQsMHgxNSwweDVCLAotMHhDMywweDMzLDB4RjYsMHg4QiwweDBFLDB4NDIsMHgxMiwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHhGNywweDQ2LDB4MzgsMHgwMCwKLTB4MjAsMHg3NCwweDA2LDB4RTgsMHgxNywweDE1LDB4RTgsMHg1QiwweEZGLDB4ODMsMHhDNiwweDIwLDB4RTIsMHhFOSwweEMzLDB4OEIsCi0weEMyLDB4MDUsMHgwNCwweDAwLDB4ODksMHg0NiwweDI4LDB4MkUsMHhBMSwweDRDLDB4MkQsMHg4OSwweDg2LDB4OEUsMHgwMCwweDg5LAotMHg4NiwweDkwLDB4MDAsMHg4OSwweDg2LDB4OTIsMHgwMCwweEM2LDB4ODYsMHhBMywweDAwLDB4MEEsMHhDNiwweDg2LDB4QzMsMHgwMCwKLTB4MDMsMHg1MiwweDgzLDB4QzIsMHgwNCwweDhBLDB4ODYsMHhBNiwweDAwLDB4MEMsMHgwNiwweEVFLDB4NUEsMHg4MywweEMyLDB4MDIsCi0weEIwLDB4MDUsMHhFRSwweDg4LDB4ODYsMHhBNSwweDAwLDB4QzMsMHhFOCwweDAzLDB4RkYsMHhFOCwweEU1LDB4MTQsMHhCMCwweDQyLAotMHhFNiwweDBBLDB4RjcsMHg0NiwweDM4LDB4ODAsMHgwMCwweDc0LDB4MDYsMHgyRSwweEExLDB4OUMsMHgyMiwweEVCLDB4MDQsMHgyRSwKLTB4QTEsMHg2QywweDIyLDB4QzcsMHg0NiwweDFDLDB4MEMsMHgwMCwweDg5LDB4ODYsMHg5NCwweDAwLDB4ODksMHg4NiwweDk2LDB4MDAsCi0weDg5LDB4ODYsMHg4RSwweDAwLDB4ODksMHg4NiwweDkwLDB4MDAsMHg4OSwweDg2LDB4OTIsMHgwMCwweEU2LDB4RjAsMHhFNiwweEU0LAotMHg4QSwweEM0LDB4RTYsMHhGOCwweEU2LDB4RUMsMHhDNiwweDg2LDB4QzMsMHgwMCwweDAzLDB4RTgsMHhBNSwweDE0LDB4QjAsMHgxQSwKLTB4RTYsMHgwQSwweEIwLDB4MTAsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhDMywweDMzLDB4QzksMHg4QiwweEYxLDB4OEEsCi0weDBFLDB4OTQsMHgxMiwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzQsMHgwNiwweEU4LAotMHg3NiwweDE0LDB4RTgsMHg1QSwweEZGLDB4NDYsMHg0NiwweEUyLDB4RUEsMHhDMywweDMzLDB4QzksMHg4QiwweEYxLDB4OEEsMHgwRSwKLTB4OTQsMHgxMiwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHhGNywweDQ2LDB4MzgsMHgwMCwweDIwLDB4NzQsMHgwNiwweEU4LDB4NEMsCi0weDE0LDB4RTgsMHg3NCwweEZGLDB4NDYsMHg0NiwweEUyLDB4RUEsMHhDMywweDkwLDB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc1LAotMHgxNCwweEIwLDB4MDEsMHhCQSwweDA2LDB4MDEsMHhFRSwweDJBLDB4QzAsMHhFRSwweEIwLDB4MDIsMHhFRSwweEIwLDB4MDQsMHhFRSwKLTB4QjgsMHgwMCwweDAyLDB4RUIsMHgwRiwweEJBLDB4MDYsMHgwMSwweEIwLDB4NDAsMHhFRSwweEI4LDB4MDEsMHgwMCwweDhBLDB4MEUsCi0weDBFLDB4MDEsMHhEMywweEUwLDB4QTMsMHg4OCwweDEyLDB4QzMsMHhBMSwweDg4LDB4MTIsMHhBMywweDg0LDB4MTIsMHgyRCwweDIwLAotMHgwMCwweEEzLDB4OEEsMHgxMiwweDJELDB4MjAsMHgwMCwweEEzLDB4ODIsMHgxMiwweEM3LDB4MDYsMHg4NiwweDEyLDB4MjAsMHgwMCwKLTB4QzcsMHgwNiwweDgwLDB4MTIsMHgzMiwweDAwLDB4QzMsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzQsMHg3NiwweDhCLDB4MEUsCi0weDQyLDB4MTIsMHgzMywweEY2LDB4OEEsMHhBNCwweDU0LDB4MTIsMHg4NCwweEU0LDB4NzQsMHg1RiwweDhBLDB4ODQsMHg0OCwweDEyLAotMHgwQywweDA0LDB4RTYsMHhGRSwweEY2LDB4QzQsMHgwNCwweDc0LDB4MjUsMHhCMCwweDFCLDB4QkEsMHgwMCwweDAwLDB4RUUsMHhFQiwKLTB4MDAsMHgyQSwweEMwLDB4QkEsMHgwMiwweDAwLDB4RUUsMHhFQiwweDAwLDB4QjAsMHgwMywweEVFLDB4RUIsMHgwMCwweDMyLDB4QzAsCi0weEJBLDB4MDIsMHgwMCwweEVFLDB4RUIsMHgwMCwweEJBLDB4MDAsMHgwMCwweEIwLDB4MDAsMHhFRSwweEVCLDB4MkQsMHhCMCwweDFGLAotMHhCQSwweDAwLDB4MDAsMHhFRSwweEVCLDB4MDAsMHgyQSwweEMwLDB4QkEsMHgwMiwweDAwLDB4RUUsMHhFQiwweDAwLDB4QjAsMHgwMywKLTB4RUUsMHhFQiwweDAwLDB4RDEsMHhFNiwweDhBLDB4ODQsMHg1RCwweDEyLDB4RDEsMHhFRSwweEY2LDB4RDAsMHhCQSwweDAyLDB4MDAsCi0weEVFLDB4RUIsMHgwMCwweEJBLDB4MDAsMHgwMCwweEIwLDB4MEEsMHhFRSwweEVCLDB4MDAsMHhFNCwweDA0LDB4RUIsMHgwMCwweEU0LAotMHgwNCwweDQ2LDB4RTIsMHg5MCwweEMzLDB4OTAsMHhCOCwweDE0LDB4MDAsMHhCQSwweDNFLDB4RkYsMHhFRiwweEI4LDB4MDYsMHgwMCwKLTB4QkEsMHgzMiwweEZGLDB4RUYsMHhCOCwweDBGLDB4MDAsMHhCQSwweDM0LDB4RkYsMHhFRiwweEJBLDB4MzYsMHhGRiwweEVGLDB4ODMsCi0weDNFLDB4NDQsMHgxMiwweDAwLDB4NzUsMHgxNiwweEI4LDB4MTEsMHgwMCwweEJBLDB4MzgsMHhGRiwweEVGLDB4QjgsMHgxMiwweDAwLAotMHhCQSwweDNBLDB4RkYsMHhFRiwweEI4LDB4MUIsMHgwMCwweEJBLDB4M0MsMHhGRiwweEVGLDB4QzMsMHhCOCwweDExLDB4MDAsMHhCQSwKLTB4MzgsMHhGRiwweEVGLDB4QjgsMHgxMiwweDAwLDB4QkEsMHgzQSwweEZGLDB4RUYsMHhCOCwweDFCLDB4MDAsMHhCQSwweDNDLDB4RkYsCi0weEVGLDB4QzMsMHhCOCwweEZDLDB4MDAsMHhCQSwweDI4LDB4RkYsMHhFRiwweEZCLDB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc0LAotMHgwNywweEI4LDB4Q0MsMHgwMCwweEJBLDB4MjgsMHhGRiwweEVGLDB4QzMsMHgwMCwweEZGLDB4RkYsMHgyMCwweDI0LDB4MjgsMHhGRiwKLTB4MkMsMHhGRiwweEZGLDB4MzAsMHgzNCwweDM4LDB4RkYsMHhGRiwweDNDLDB4OTAsMHgzQywweDBGLDB4NzcsMHgwRSwweEJCLDB4MTksCi0weDBFLDB4MkUsMHhENywweDNDLDB4RkYsMHg3NCwweDA1LDB4OEEsMHhEOCwweEY4LDB4QzMsMHg5MCwweDJBLDB4REIsMHhGOSwweEMzLAotMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzQsMHgyNywweEEwLDB4MDYsMHgwMSwweDgwLDB4MjYsMHgwNiwweDAxLDB4MzAsMHg4MCwKLTB4M0UsMHgwNiwweDAxLDB4MzAsMHg3NSwweDE4LDB4QjksMHgwMiwweDAwLDB4QkYsMHhDNCwweDEzLDB4QkEsMHgwNiwweDAxLDB4RUMsCi0weEE4LDB4MjAsMHg3NSwweEY4LDB4QkEsMHgwNCwweDAxLDB4RUQsMHhBQiwweEUyLDB4RjEsMHhFQiwweDE2LDB4OTAsMHhCOSwweDA0LAotMHgwMCwweEJGLDB4QzQsMHgxMywweEJBLDB4MDYsMHgwMSwweEVDLDB4QTgsMHgyMCwweDc1LDB4RjgsMHhCQSwweDA0LDB4MDEsMHhFQywKLTB4QUEsMHhFMiwweEYxLDB4RkEsMHg5MCwweEJFLDB4QzQsMHgxMywweEFELDB4ODAsMHhFNCwweDNGLDB4ODAsMHhGQywweDAyLDB4NzQsCi0weDBFLDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgwQSwweDlDLDB4MEUsMHhFOCwweDNFLDB4MDQsMHg5MCwweEFELAotMHgzQywweDBGLDB4NzUsMHhFRCwweDhBLDB4QzQsMHhFOCwweDgxLDB4RkYsMHg3MiwweEU2LDB4ODgsMHgxRSwweDFBLDB4MDEsMHhDNiwKLTB4MDYsMHg4RSwweDEyLDB4MDAsMHhCMCwweDAwLDB4MEEsMHgwNiwweDFBLDB4MDEsMHhCQSwweDAwLDB4MDEsMHhFRSwweEM2LDB4MDYsCi0weDhGLDB4MTIsMHg0MCwweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NSwweDA2LDB4QjgsMHgwQywweDAwLDB4RUIsMHgwNCwweDkwLAotMHhCOCwweDRDLDB4MDAsMHhCQSwweDI4LDB4RkYsMHhFRiwweEMzLDB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc1LDB4MDEsMHhDMywKLTB4QTEsMHg1MCwweDEyLDB4MEIsMHgwNiwweDUyLDB4MTIsMHgwQSwweEM0LDB4QTgsMHgwOCwweDc0LDB4RjIsMHhBMCwweDBGLDB4MDEsCi0weDJBLDB4RTQsMHg1MCwweEZGLDB4MzYsMHhCQSwweDEzLDB4MUYsMHhFOCwweDUwLDB4NTYsMHg4MywweEM0LDB4MDIsMHg2QSwweDAwLAotMHgxRiwweDMzLDB4QzAsMHhBMywweEJDLDB4MTMsMHhBMCwweDBGLDB4MDEsMHhBMywweEJFLDB4MTMsMHg4QiwweDFFLDB4QkMsMHgxMywKLTB4OEEsMHg4NywweDUwLDB4MTIsMHhGNiwweDg3LDB4NTAsMHgxMiwweDA4LDB4NzQsMHgwRCwweDI0LDB4MDcsMHg4QSwweEUwLDB4QkUsCi0weENDLDB4MDAsMHhBMCwweEJDLDB4MTMsMHhFOCwweDk0LDB4M0QsMHhGRiwweDA2LDB4QkMsMHgxMywweEZGLDB4MEUsMHhCRSwweDEzLAotMHg3NSwweERBLDB4QzMsMHg5MCwweDFFLDB4MzMsMHhDMCwweDhFLDB4RDgsMHhCMCwweDAxLDB4RTgsMHg1NCwweDNELDB4MUYsMHhDMywKLTB4MzMsMHhDOSwweDhCLDB4RjEsMHg4QSwweDBFLDB4OTQsMHgxMiwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHhDNywweDQ2LDB4NjIsCi0weDM4LDB4NDQsMHhDNywweDQ2LDB4N0MsMHhGQywweDNCLDB4QzcsMHg0NiwweDdFLDB4RTIsMHgzQiwweEM3LDB4ODYsMHg4MCwweDAwLAotMHhFQywweDNDLDB4RTgsMHhBQiwweDE2LDB4QzYsMHg4NiwweEMwLDB4MDAsMHgxMSwweDgzLDB4N0UsMHgwOCwweDAwLDB4NzQsMHgwNywKLTB4NTEsMHg1NiwweEU4LDB4MzMsMHgzMywweDVFLDB4NTksMHg0NiwweDQ2LDB4RTIsMHhDRCwweEMzLDB4MzMsMHhDOSwweDhCLDB4RjEsCi0weDhCLDB4RjksMHg4QSwweDBFLDB4OTQsMHgxMiwweEMxLDB4RTksMHgwMiwweEUzLDB4MTMsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLAotMHg4QSwweDg2LDB4OUUsMHgwMCwweDg4LDB4ODUsMHg2QywweDEyLDB4ODMsMHhDNiwweDA4LDB4NDcsMHhFMiwweEVELDB4QzMsMHhGQSwKLTB4RkMsMHhCMCwweEMwLDB4QkEsMHgwMCwweDAxLDB4RUUsMHgzMywweEMwLDB4OEUsMHhEOCwweDhFLDB4QzAsMHg4RSwweEQwLDB4QkYsCi0weDE2LDB4MDEsMHhCOSwweENDLDB4NzcsMHgyQiwweENGLDB4RDEsMHhFOSwweEYzLDB4QUIsMHhCQywweDQwLDB4MTIsMHhFOCwweEQ5LAotMHgwMiwweEU4LDB4NzAsMHgzQywweEJFLDB4Q0MsMHgwRiwweEU4LDB4RjIsMHgzQywweEY0LDB4OTAsMHgzMywweEMwLDB4OEUsMHhEOCwKLTB4OEUsMHhDMCwweDhFLDB4RDAsMHhGNiwweDA2LDB4MEEsMHgwMSwweDgwLDB4NzQsMHgwQiwweEJFLDB4MzUsMHg1NSwweEU4LDB4REIsCi0weDNDLDB4QjAsMHgwMSwweEU4LDB4QUMsMHgzQywweEU4LDB4QjMsMHgwMCwweEU4LDB4RjYsMHhGNSwweEU4LDB4MDgsMHhGOCwweEU4LAotMHgwRiwweEY5LDB4RTgsMHg4NSwweEZBLDB4RTgsMHhCNiwweEZBLDB4RTgsMHhFRiwweEZDLDB4RTgsMHhDMiwweDEwLDB4RTgsMHgwMywKLTB4M0MsMHhFOCwweEIyLDB4RkQsMHhFOCwweDMwLDB4RkQsMHhFOCwweDU0LDB4MDIsMHhDNiwweDA2LDB4OEYsMHgxMiwweEMwLDB4RTgsCi0weEJCLDB4RkEsMHhFOCwweEVCLDB4RkEsMHhFOCwweEU5LDB4RkIsMHhFOCwweEFGLDB4RkMsMHhFOCwweDhELDB4RkMsMHhFOCwweDFGLAotMHhGRiwweEU4LDB4NTgsMHhGRiwweEU4LDB4REIsMHhGRCwweEU4LDB4MTYsMHhGRSwweDMzLDB4QzAsMHhCRSwweDVBLDB4MDUsMHhFOCwKLTB4OEEsMHgzQywweEU4LDB4QTMsMHhGRSwweEU4LDB4RTAsMHhGQywweEZCLDB4QkUsMHhBNCwweDQ0LDB4RTgsMHg3RCwweDNDLDB4RTksCi0weENBLDB4MkQsMHg1NiwweDk4LDB4OEIsMHhGMCwweDhCLDB4NDIsMHg1MiwweDg1LDB4QzAsMHg3NSwweDI3LDB4QzcsMHg0MiwweDUyLAotMHgwMSwweDAwLDB4NTMsMHgzNiwweDhCLDB4OUMsMHgyQywweDAxLDB4RjYsMHhDMywweDAxLDB4NzUsMHgwQywweDM2LDB4ODksMHg2OCwKLTB4NTIsMHgzNiwweDg5LDB4QUMsMHgyQywweDAxLDB4NUIsMHg1RSwweEMzLDB4MzYsMHg4OSwweEFDLDB4MkMsMHgwMSwweDM2LDB4ODksCi0weEFDLDB4MUMsMHgwMSwweDVCLDB4NUUsMHhDMywweDU2LDB4OTgsMHg4QiwweEYwLDB4MzMsMHhFRCwweDM2LDB4OEIsMHg4NCwweDFDLAotMHgwMSwweEE4LDB4MDEsMHg3NSwweDE1LDB4OEIsMHhFOCwweDMzLDB4QzAsMHg4NywweDQyLDB4NTIsMHgzNiwweDg5LDB4ODQsMHgxQywKLTB4MDEsMHhBOCwweDAxLDB4NzQsMHgwNSwweDM2LDB4ODksMHg4NCwweDJDLDB4MDEsMHg1RSwweEMzLDB4NTYsMHg1MSwweDMzLDB4RjYsCi0weEI4LDB4MDEsMHgwMCwweEI5LDB4MDgsMHgwMCwweDg5LDB4ODQsMHgxQywweDAxLDB4ODksMHg4NCwweDJDLDB4MDEsMHg0NiwweDQ2LAotMHhFMiwweEY0LDB4NTksMHg1RSwweEMzLDB4OTAsMHhCQiwweDAxLDB4MDAsMHg4QiwweEU4LDB4RkYsMHg0RSwweDZFLDB4NzQsMHgwQSwKLTB4OEIsMHhERCwweDhCLDB4NDYsMHg1OCwweEE4LDB4MDEsMHg3NCwweEYwLDB4QzMsMHg4QiwweDQ2LDB4NDgsMHhBOSwweDA4LDB4MDAsCi0weDc0LDB4NDUsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzQsMHgyNywweEU4LDB4NUMsMHgxMCwweDgwLDB4QzIsMHgwNiwweDhBLAotMHg4NiwweEE4LDB4MDAsMHgyNCwweEJGLDB4ODgsMHg4NiwweEE4LDB4MDAsMHhFRSwweDYwLDB4QjAsMHhGRSwweEU4LDB4ODYsMHgzMiwKLTB4NjEsMHhCMCwweDAyLDB4RTgsMHg0QywweEZGLDB4OEIsMHg0NiwweDQ4LDB4MjQsMHhGNywweDg5LDB4NDYsMHg0OCwweEVCLDB4MTcsCi0weEU4LDB4MkEsMHgxMCwweDgxLDB4NEUsMHgyNiwweDAwLDB4NDAsMHg4QSwweDg2LDB4QTUsMHgwMCwweDBDLDB4MDIsMHg4OCwweDg2LAotMHhBNSwweDAwLDB4RTYsMHgwQywweDhCLDB4NDYsMHg0OCwweEE5LDB4MDQsMHgwMCwweDc0LDB4MTQsMHhCMCwweDAyLDB4RTgsMHgyMSwKLTB4RkYsMHg4QiwweDQ2LDB4NDgsMHgyNCwweEZCLDB4ODksMHg0NiwweDQ4LDB4NjAsMHhCMCwweERGLDB4RTgsMHg0NywweDMyLDB4NjEsCi0weDMzLDB4QzAsMHg4NywweDQ2LDB4NTgsMHhGNiwweEMzLDB4MDEsMHg3NSwweDBCLDB4MzYsMHg4OSwweDQ3LDB4NTgsMHhBOCwweDAxLAotMHg3NSwweDBELDB4RTksMHg3NCwweEZGLDB4QTMsMHgyMiwweDAxLDB4QTgsMHgwMSwweDc1LDB4MDMsMHhFOSwweDZBLDB4RkYsMHg4OSwKLTB4MUUsMHgzMiwweDAxLDB4QzMsMHhCQiwweDAxLDB4MDAsMHg4QiwweEU4LDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc0LDB4MTUsCi0weEU4LDB4RDUsMHgwRiwweDgwLDB4QzIsMHgwQSwweEVDLDB4QTgsMHg0MCwweDc1LDB4MEEsMHg4QiwweERELDB4OEIsMHg0NiwweDU2LAotMHhBOCwweDAxLDB4NzQsMHhFMywweEMzLDB4OEIsMHg0NiwweDI2LDB4ODAsMHhFNCwweEZFLDB4ODAsMHhDQywweDAyLDB4ODksMHg0NiwKLTB4MjYsMHhCMCwweDAyLDB4RTgsMHhCQywweEZFLDB4MzMsMHhDMCwweDg3LDB4NDYsMHg1NiwweEY2LDB4QzMsMHgwMSwweDc1LDB4MEEsCi0weDM2LDB4ODksMHg0NywweDU2LDB4QTgsMHgwMSwweDc1LDB4MEIsMHhFQiwweEJELDB4QTMsMHgyMCwweDAxLDB4QTgsMHgwMSwweDc1LAotMHgwMiwweEVCLDB4QjQsMHg4OSwweDFFLDB4MzAsMHgwMSwweEMzLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMCwKLTB4OTAsMHgxMiwweDg0LDB4QzAsMHg3NSwweDQ5LDB4QTEsMHgyMiwweDAxLDB4QTgsMHgwMSwweDc1LDB4MDMsMHhFOCwweEY2LDB4RkUsCi0weEExLDB4MjAsMHgwMSwweEE4LDB4MDEsMHg3NSwweDAzLDB4RTgsMHg4QSwweEZGLDB4QTEsMHhBQywweDEzLDB4NDgsMHg3OCwweDA1LAotMHg3NCwweDQ1LDB4QTMsMHhBQywweDEzLDB4QTEsMHhBRSwweDEzLDB4NDgsMHg3OCwweDA1LDB4NzQsMHg1MSwweEEzLDB4QUUsMHgxMywKLTB4QTEsMHhCMCwweDEzLDB4NDgsMHg3OCwweDA1LDB4NzQsMHg2MywweEEzLDB4QjAsMHgxMywweEExLDB4N0UsMHgxMiwweDQwLDB4NzgsCi0weDAzLDB4QTMsMHg3RSwweDEyLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweEEwLAotMHg5MSwweDEyLDB4NDAsMHgzQywweDAyLDB4NzIsMHgwQiwweDMzLDB4QzAsMHhBMiwweDkxLDB4MTIsMHhGRiwweDE2LDB4N0MsMHgxMiwKLTB4RUIsMHhBNCwweEEyLDB4OTEsMHgxMiwweEVCLDB4OUYsMHhBMCwweDhFLDB4MTIsMHgzMiwweDA2LDB4OEYsMHgxMiwweEEyLDB4OEUsCi0weDEyLDB4MEEsMHgwNiwweDFBLDB4MDEsMHhCQSwweDAwLDB4MDEsMHhFRSwweEI4LDB4MkMsMHgwMSwweEVCLDB4QTQsMHg4MywweDNFLAotMHg4NCwweDEyLDB4MTAsMHg3MiwweDExLDB4QkEsMHgyOCwweEZGLDB4RUQsMHgwQywweDgxLDB4RUYsMHhFOCwweDUzLDB4MzcsMHhCQSwKLTB4MjgsMHhGRiwweEVELDB4MjQsMHg3RSwweEVGLDB4QjgsMHgwNCwweDAwLDB4RUIsMHg5MiwweEM2LDB4MDYsMHg4RCwweDEyLDB4MDEsCi0weEU4LDB4M0YsMHgzNywweEM2LDB4MDYsMHg4RCwweDEyLDB4MDAsMHhBMSwweEIyLDB4MTMsMHhFQiwweDhCLDB4OTAsMHg4QSwweDFFLAotMHgwQiwweDAxLDB4MkEsMHhGRiwweDZCLDB4QzMsMHgxOSwweEJBLDB4NjIsMHhGRiwweEVGLDB4QjgsMHgwQSwweDAwLDB4QkEsMHg2MCwKLTB4RkYsMHhFRiwweEI4LDB4MDEsMHhFMCwweEJBLDB4NjYsMHhGRiwweEVGLDB4QjgsMHhGRiwweEZGLDB4QkEsMHg1MiwweEZGLDB4RUYsCi0weEI4LDB4MDksMHhDMCwweEJBLDB4NTYsMHhGRiwweEVGLDB4QzcsMHgwNiwweEFDLDB4MTMsMHgyQywweDAxLDB4QzcsMHgwNiwweEFFLAotMHgxMywweDA0LDB4MDAsMHhDNiwweDA2LDB4OTEsMHgxMiwweDAwLDB4QzMsMHg5MCwweDhBLDB4MUUsMHgwQiwweDAxLDB4MkEsMHhGRiwKLTB4NkIsMHhDMywweDA1LDB4RDEsMHhFOCwweEEzLDB4MTgsMHgwMSwweEMzLDB4OTAsMHg1MiwweEJBLDB4NTAsMHhGRiwweEVELDB4NUEsCi0weEMzLDB4OTAsMHg1MywweDUxLDB4OEIsMHgxRSwweDE4LDB4MDEsMHhCOSwweDMyLDB4MDUsMHg5MCwweEUyLDB4RkUsMHg0QiwweDc1LAotMHhGNywweDU5LDB4NUIsMHhDMywweEIwLDB4ODAsMHhCQSwweDAwLDB4MDEsMHgwQSwweDA2LDB4MUEsMHgwMSwweEVFLDB4QzMsMHg5MCwKLTB4QjAsMHg0MCwweEVCLDB4RjIsMHhCMCwweEMwLDB4RUIsMHhFRSwweEIwLDB4MDAsMHhFQiwweEVBLDB4RkEsMHg2MCwweDA2LDB4MUUsCi0weDE2LDB4MkIsMHhEQiwweDhFLDB4REIsMHgyRSwweEExLDB4QkEsMHg0QywweDJFLDB4QTMsMHg5MiwweDRDLDB4QTAsMHg5MywweDEyLAotMHg5OCwweDhCLDB4RTgsMHg4OSwweDI2LDB4MkQsMHg3QSwweDgwLDB4M0UsMHhDQSwweDEzLDB4MDAsMHg3NCwweDAzLDB4RTksMHg2QiwKLTB4NDIsMHhFOCwweEMwLDB4RkYsMHhFOCwweEFCLDB4RkYsMHhFOCwweEE4LDB4RkYsMHhCMCwweDIwLDB4QzYsMHgwNiwweDkwLDB4MTIsCi0weDAwLDB4RkYsMHgxNiwweDdDLDB4MTIsMHg4QiwweEZELDB4ODMsMHhGRiwweDBBLDB4NzIsMHgxMSwweEU4LDB4QjksMHhGRiwweEU4LAotMHg5MCwweEZGLDB4RTgsMHhBQiwweEZGLDB4RTgsMHg4QSwweEZGLDB4ODMsMHhFRiwweDBBLDB4RUIsMHhFQSwweDBCLDB4RkYsMHg3NCwKLTB4MEYsMHhFOCwweEE0LDB4RkYsMHhFOCwweDdCLDB4RkYsMHhFOCwweDlBLDB4RkYsMHhFOCwweDc1LDB4RkYsMHg0RiwweDc1LDB4RjEsCi0weEU4LDB4OTUsMHhGRiwweEU4LDB4NkMsMHhGRiwweEVCLDB4QjksMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkQsMHhFRSwweDg4LAotMHg4NiwweEE1LDB4MDAsMHhDMywweDhBLDB4ODYsMHhBNiwweDAwLDB4MEMsMHgwMiwweEVFLDB4QzMsMHg4QiwweDc2LDB4MzgsMHhGNywKLTB4QzYsMHgwMSwweDAwLDB4NzQsMHhFRiwweDhCLDB4NEUsMHgzNiwweDhCLDB4NDYsMHgyRSwweDNCLDB4QzEsMHg3MywweDAyLDB4OEIsCi0weEM4LDB4MkIsMHhDMSwweDg5LDB4NDYsMHgyRSwweDAxLDB4NEUsMHgzNCwweEM0LDB4N0UsMHgwNCwweDI2LDB4MDEsMHgwRCwweDhCLAotMHg3RSwweDJDLDB4ODMsMHhFQSwweDA0LDB4RjMsMHg2QywweDhFLDB4QzEsMHg4OSwweDdFLDB4MkMsMHgzQiwweDQ2LDB4M0MsMHg3MiwKLTB4MTIsMHhGNywweEM2LDB4MjAsMHgwMCwweDc1LDB4MEIsMHg4MywweENFLDB4MjAsMHg4OSwweDc2LDB4MzgsMHhCMCwweDAwLDB4RTgsCi0weEEwLDB4RkMsMHhDMywweEY3LDB4QzYsMHgwNCwweDAwLDB4NzQsMHgxQiwweDhCLDB4RDgsMHg4MywweENFLDB4MTAsMHg4OSwweDc2LAotMHgzOCwweDhBLDB4ODYsMHhBNywweDAwLDB4MjQsMHhGRSwweDg4LDB4ODYsMHhBNywweDAwLDB4ODMsMHhDMiwweDA4LDB4RUUsMHg4MywKLTB4RUEsMHgwOCwweDhCLDB4QzMsMHgzRCwweDQwLDB4MDAsMHg3MiwweDAxLDB4QzMsMHg4MSwweDRFLDB4MzgsMHgwMCwweDA0LDB4ODMsCi0weEMyLDB4MDIsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkEsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVFLDB4QzMsMHg4QSwweDg2LAotMHhBNiwweDAwLDB4MEMsMHgwMiwweEVFLDB4QzMsMHhGNywweDQ2LDB4MzgsMHgwMSwweDAwLDB4NzQsMHhGMSwweDhCLDB4NEUsMHgyRSwKLTB4MzIsMHhEQiwweDhBLDB4QkUsMHhBMywweDAwLDB4ODMsMHhDMiwweDA2LDB4QzQsMHg3NiwweDA0LDB4OEIsMHg3RSwweDJDLDB4ODMsCi0weEY5LDB4MDgsMHg3MiwweDJDLDB4RUMsMHhBOCwweDAxLDB4NzQsMHgxNiwweDhBLDB4RTAsMHg4MywweEVBLDB4MEEsMHhFQywweDgzLAotMHhDMiwweDBBLDB4ODQsMHhFNywweDc1LDB4NTEsMHhBQSwweEZFLDB4QzMsMHg0OSwweDgzLDB4RjksMHgwOCwweDczLDB4RTUsMHgzMiwKLTB4RkYsMHgyNiwweDAxLDB4MUMsMHgwMSwweDVFLDB4MzQsMHg4OSwweDc2LDB4MDQsMHg4OSwweDRFLDB4MkUsMHg4OSwweDdFLDB4MkMsCi0weDNCLDB4NEUsMHgzQywweDcyLDB4MTEsMHhGNiwweDQ2LDB4MzgsMHgyMCwweDc0LDB4MDEsMHhDMywweDgzLDB4NEUsMHgzOCwweDIwLAotMHhCMCwweDAwLDB4RTgsMHhGRCwweEZCLDB4QzMsMHhGNiwweDQ2LDB4MzgsMHgwNCwweDc0LDB4MTUsMHg4MywweDRFLDB4MzgsMHgxMCwKLTB4OEEsMHg4NiwweEE3LDB4MDAsMHgyNCwweEZFLDB4ODgsMHg4NiwweEE3LDB4MDAsMHg4MywweEVBLDB4MDIsMHhFRSwweDgzLDB4QzIsCi0weDAyLDB4M0QsMHg0MCwweDAwLDB4NzIsMHg1RCwweEMzLDB4MzIsMHhGRiwweDI2LDB4MDMsMHgxQywweDg1LDB4REIsMHg3NCwweDA5LAotMHgyNiwweDg5LDB4MUMsMHg4QiwweEY3LDB4NDcsMHg0NywweDQ5LDB4NDksMHg4MCwweEU0LDB4MUUsMHg4MCwweENDLDB4QzAsMHgyNiwKLTB4ODksMHgwNCwweEY2LDB4QzQsMHgxMCwweDc0LDB4MjcsMHg4QiwweDc2LDB4MzgsMHhGNywweEM2LDB4MDAsMHgxMCwweDc0LDB4MEIsCi0weDUwLDB4RkUsMHg4NiwweEIyLDB4MDAsMHhCMCwweDBBLDB4RTgsMHhBOCwweEZCLDB4NTgsMHhGNywweEM2LDB4MDAsMHgwMSwweDc0LAotMHgwRCwweEU4LDB4ODIsMHgyNiwweDhCLDB4NzYsMHgzOCwweDhCLDB4NEUsMHgyRSwweDhCLDB4N0UsMHgwNCwweEFCLDB4OEIsMHhGNywKLTB4MzMsMHhDMCwweEFCLDB4MzIsMHhEQiwweDhBLDB4QkUsMHhBMywweDAwLDB4NDksMHg0OSwweDgzLDB4RjksMHgwOCwweDcyLDB4MTcsCi0weEU5LDB4NDEsMHhGRiwweDgxLDB4NEUsMHgzOCwweDAwLDB4MDQsMHg4MywweEMyLDB4RjgsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LAotMHhGQSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RUUsMHhDMywweEU5LDB4NDUsMHhGRiwweDgzLDB4QzIsMHgwOCwweEVDLDB4ODgsMHg4NiwKLTB4QUEsMHgwMCwweEMwLDB4RTgsMHgwNCwweDhBLDB4RTAsMHg4QSwweEM4LDB4ODYsMHg4NiwweEE5LDB4MDAsMHgzMiwweEUwLDB4OEIsCi0weDVFLDB4M0UsMHg4NCwweEUzLDB4NzQsMHg0RiwweDhBLDB4QzEsMHg4QiwweDRFLDB4MjYsMHhGNiwweEM1LDB4MDQsMHg3NCwweDBDLAotMHhBOCwweDA4LDB4NzQsMHgwNSwweDgwLDB4RTEsMHhCRiwweEVCLDB4MDMsMHg4MCwweEM5LDB4NDAsMHhGNiwweEM1LDB4MDgsMHg3NCwKLTB4MEMsMHhBOCwweDAyLDB4NzQsMHgwNSwweDgwLDB4RTEsMHg3RiwweEVCLDB4MDMsMHg4MCwweEM5LDB4ODAsMHg4OCwweDRFLDB4MjYsCi0weDhCLDB4RjAsMHg4QSwweDg2LDB4QTUsMHgwMCwweDg0LDB4QzksMHg3NCwweDA4LDB4QTgsMHgwMiwweDc0LDB4MTUsMHgyNCwweEZELAotMHhFQiwweDA2LDB4QTgsMHgwMiwweDc1LDB4MEQsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHg4MywweEVBLDB4MEEsMHhFRSwKLTB4ODMsMHhDMiwweDBBLDB4OEIsMHhDNiwweDg0LDB4RTcsMHg3NSwweDAxLDB4QzMsMHhDNiwweDg2LDB4QkEsMHgwMCwweDAxLDB4QjAsCi0weDBFLDB4RTgsMHhFRSwweEZBLDB4RjcsMHg0NiwweDM4LDB4MDAsMHgwMiwweDc0LDB4RUUsMHg4MywweDdFLDB4MkUsMHgwNiwweDcyLAotMHhFOCwweDhBLDB4QTYsMHhBQSwweDAwLDB4QzQsMHg1RSwweDA0LDB4OEIsMHg3RSwweDJDLDB4QjAsMHhGRiwweEFBLDB4QjAsMHgwMiwKLTB4QUIsMHgyNiwweDgzLDB4MDcsMHgwMywweDgzLDB4NkUsMHgyRSwweDAzLDB4ODksMHg3RSwweDJDLDB4RjYsMHg0NiwweDM4LDB4MjAsCi0weDc0LDB4MDEsMHhDMywweDgzLDB4NEUsMHgzOCwweDIwLDB4QjAsMHgwMCwweEU4LDB4QjYsMHhGQSwweEMzLDB4OTAsMHg4MywweEVBLAotMHgwOCwweEU5LDB4QjQsMHhGRCwweDgzLDB4QzIsMHgwNiwweDhCLDB4NUUsMHgyNiwweEY2LDB4QzMsMHhDMCwweDc1LDB4RUYsMHg4QiwKLTB4NEUsMHgxQywweEVDLDB4ODgsMHg4NiwweEE0LDB4MDAsMHg4MywweEVBLDB4MEEsMHhBOCwweDIwLDB4NzUsMHgwMiwweDhBLDB4Q0QsCi0weDMyLDB4RUQsMHg4QiwweDQ2LDB4MUEsMHgzQiwweEM4LDB4NzMsMHgxOCwweDAxLDB4NEUsMHgyQSwweDJCLDB4QzEsMHg4OSwweDQ2LAotMHgxQSwweEM1LDB4NzYsMHgwMCwweEYzLDB4NkUsMHg4RSwweEQ5LDB4ODksMHg3NiwweDAwLDB4M0QsMHgyMCwweDAwLDB4NzIsMHgzMCwKLTB4QzMsMHg4NSwweEMwLDB4NzQsMHgzMSwweDhCLDB4QzgsMHgwMSwweDQ2LDB4MkEsMHhDNSwweDc2LDB4MDAsMHhGMywweDZFLDB4OEUsCi0weEQ5LDB4ODAsMHhDQiwweDAyLDB4ODksMHg1RSwweDI2LDB4RTgsMHgzMiwweEYxLDB4RjYsMHhDNywweDAxLDB4NzUsMHgxNiwweDgzLAotMHhDMiwweDAyLDB4RTgsMHg1MywweEZELDB4RjYsMHhDNywweDEwLDB4NzUsMHgwQiwweEIwLDB4MDIsMHhFOCwweDQzLDB4RkEsMHhDMywKLTB4RjYsMHhDNywweDAxLDB4NzQsMHhGMCwweEMzLDB4ODAsMHhDQiwweDAyLDB4ODksMHg1RSwweDI2LDB4RjYsMHhDNywweDAxLDB4NzQsCi0weERFLDB4ODMsMHhDMiwweDAyLDB4RTgsMHgzMSwweEZELDB4RjYsMHg4NiwweEE0LDB4MDAsMHg0MCwweDc0LDB4MEIsMHg4MCwweEU3LAotMHhGRSwweDgwLDB4Q0YsMHgwMiwweDg5LDB4NUUsMHgyNiwweEVCLDB4Q0MsMHhCMCwweDA0LDB4RTgsMHgxNCwweEZBLDB4QzMsMHhDMCwKLTB4QzIsMHhDOCwweENBLDB4QzQsMHhDNiwweENDLDB4Q0UsMHhEMCwweEQyLDB4RDgsMHhEQSwweEQ0LDB4RDYsMHhEQywweERFLDB4OTAsCi0weEU5LDB4MEUsMHgwMSwweEU0LDB4QzQsMHg4QSwweEUwLDB4RTQsMHhDNCwweDhCLDB4RDAsMHg4MywweEY5LDB4MDgsMHg3MiwweEYwLAotMHgyNiwweDgzLDB4M0YsMHgwMCwweDc0LDB4MDQsMHg4QiwweERGLDB4NDksMHg0OSwweDhCLDB4RkIsMHg4QSwweERFLDB4ODMsMHhFMywKLTB4MEYsMHgyRSwweDhBLDB4QTcsMHgyRiwweDE2LDB4QUIsMHhGNiwweEM0LDB4MTAsMHg3NCwweDI0LDB4RjcsMHhDNiwweDAwLDB4MTAsCi0weDc0LDB4MEIsMHg1MCwweEZFLDB4ODYsMHhCMiwweDAwLDB4QjAsMHgwQSwweEU4LDB4QzYsMHhGOSwweDU4LDB4RjcsMHhDNiwweDAwLAotMHgwMSwweDc0LDB4MEQsMHhFOCwweEEwLDB4MjQsMHg4QiwweDc2LDB4MzgsMHg4QiwweDRFLDB4MkUsMHg4QiwweDdFLDB4MDQsMHhBQiwKLTB4ODksMHg3RSwweDA0LDB4MzMsMHhDMCwweEFCLDB4NDksMHg0OSwweDg5LDB4NEUsMHgyRSwweDg5LDB4N0UsMHgyQywweDhCLDB4QzEsCi0weEVCLDB4NEUsMHg5MCwweEVCLDB4OUUsMHg5MCwweEU0LDB4RDYsMHg4NCwweEMwLDB4NzksMHg2MywweEU2LDB4RDAsMHg4QSwweEM4LAotMHgyNSwweDAzLDB4MDAsMHgwMywweEQ4LDB4RDEsMHhFMywweDJFLDB4OEIsMHhBRiwweDQ0LDB4MDAsMHg4OCwweDhFLDB4QUUsMHgwMCwKLTB4OEIsMHg0RSwweDJFLDB4QzQsMHg1RSwweDA0LDB4OEIsMHg3RSwweDJDLDB4OEIsMHg3NiwweDM4LDB4RTQsMHg4NiwweDI0LDB4MDcsCi0weDNDLDB4MDMsMHg3NSwweENGLDB4RTQsMHgxQywweDkxLDB4M0IsMHhDMSwweDczLDB4MDIsMHg4QiwweEM4LDB4MkIsMHhDMSwweDg5LAotMHg0NiwweDJFLDB4MDEsMHg0RSwweDM0LDB4MjYsMHgwMSwweDBGLDB4QkEsMHhDNCwweDAwLDB4RjMsMHg2QywweDg5LDB4N0UsMHgyQywKLTB4M0IsMHg0NiwweDNDLDB4NzIsMHgxQywweEY3LDB4QzYsMHgyMCwweDAwLDB4NzUsMHgwQiwweDgzLDB4Q0UsMHgyMCwweDg5LDB4NzYsCi0weDM4LDB4QjAsMHgwMCwweEU4LDB4M0MsMHhGOSwweDhBLDB4ODYsMHhBRSwweDAwLDB4MjQsMHgzRiwweEU2LDB4RDYsMHhDMywweEY5LAotMHhDMywweEY3LDB4QzYsMHgwQSwweDAwLDB4NzQsMHgzNSwweEY3LDB4QzYsMHgxMCwweDAwLDB4NzUsMHgyRiwweDgzLDB4Q0UsMHgxMCwKLTB4ODksMHg3NiwweDM4LDB4RjcsMHhDNiwweDAyLDB4MDAsMHg3NCwweDBFLDB4NTAsMHhFNCwweEQ4LDB4MjQsMHhGRSwweEU2LDB4RDgsCi0weDU4LDB4RjcsMHhDNiwweDA4LDB4MDAsMHg3NCwweDE1LDB4NTAsMHg1MSwweEI5LDB4RTgsMHgwMywweEU0LDB4MEEsMHg4NCwweEMwLAotMHhFMCwweEZBLDB4ODQsMHhDMCwweDc1LDB4MDQsMHhCMCwweDI0LDB4RTYsMHgwQSwweDU5LDB4NTgsMHgzRCwweDQwLDB4MDAsMHg3MywKLTB4QjUsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RUYsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg4MSwweENFLDB4MTAsCi0weDA0LDB4ODksMHg3NiwweDM4LDB4RUIsMHhBMCwweDAwLDB4MDgsMHgwNCwweDBDLDB4MDEsMHgwOSwweDA1LDB4MEQsMHgwMiwweDBBLAotMHgwNiwweDBFLDB4MDMsMHgwQiwweDA3LDB4MEYsMHgwMCwweDQwLDB4ODAsMHhDMCwweDIwLDB4NjAsMHhBMCwweEUwLDB4MTAsMHg1MCwKLTB4OTAsMHhEMCwweDMwLDB4NzAsMHhCMCwweEYwLDB4RTQsMHhEMiwweEU2LDB4RDAsMHg4QSwweEM4LDB4MjUsMHgwMywweDAwLDB4MDMsCi0weEQ4LDB4RDEsMHhFMywweDJFLDB4OEIsMHhBRiwweDQ0LDB4MDAsMHg4OCwweDhFLDB4QUUsMHgwMCwweEU0LDB4RDgsMHhDMCwweEU4LAotMHgwNCwweDhCLDB4RDgsMHgyRSwweDhBLDB4ODcsMHg2NiwweDE3LDB4OEEsMHhFMCwweDhBLDB4QzgsMHg4NiwweDg2LDB4QTksMHgwMCwKLTB4MzIsMHhFMCwweEU0LDB4OTgsMHg4QiwweDVFLDB4M0UsMHg4NCwweEUzLDB4NzQsMHg1NCwweDhBLDB4QzEsMHg4QiwweDRFLDB4MjYsCi0weEY2LDB4QzUsMHgwNCwweDc0LDB4MEMsMHhBOCwweDA4LDB4NzQsMHgwNSwweDgwLDB4RTEsMHhCRiwweEVCLDB4MDMsMHg4MCwweEM5LAotMHg0MCwweEY2LDB4QzUsMHgwOCwweDc0LDB4MEMsMHhBOCwweDAyLDB4NzQsMHgwNSwweDgwLDB4RTEsMHg3RiwweEVCLDB4MDMsMHg4MCwKLTB4QzksMHg4MCwweDg4LDB4NEUsMHgyNiwweDhCLDB4RjAsMHg4QSwweDg2LDB4QTUsMHgwMCwweEY2LDB4QzEsMHhGRCwweDc0LDB4MDgsCi0weEE4LDB4MDYsMHg3NCwweDE5LDB4MjQsMHhGOSwweEVCLDB4MEYsMHhBOCwweDA2LDB4NzUsMHgxMSwweEY2LDB4QzUsMHgwMSwweDc1LAotMHgwNCwweDBDLDB4MDQsMHhFQiwweDAyLDB4MEMsMHgwMiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDhCLDB4QzYsMHg4NCwKLTB4RTcsMHg3NSwweDA5LDB4OEEsMHg4NiwweEFFLDB4MDAsMHgyNCwweDNGLDB4RTYsMHhEMiwweEMzLDB4QzYsMHg4NiwweEJBLDB4MDAsCi0weDAxLDB4QjAsMHgwRSwweEU4LDB4MUMsMHhGOCwweEY3LDB4NDYsMHgzOCwweDAwLDB4MDIsMHg3NCwweEU2LDB4ODMsMHg3RSwweDJFLAotMHgwNiwweDcyLDB4RTAsMHg4QSwweDg2LDB4QTksMHgwMCwweDhBLDB4RTAsMHg4NiwweDg2LDB4QUEsMHgwMCwweDhBLDB4QzgsMHgzMiwKLTB4QzQsMHg4MCwweEM5LDB4MEIsMHgyMiwweEMxLDB4QzAsMHhFNCwweDA0LDB4MEEsMHhFMCwweEM0LDB4NUUsMHgwNCwweDhCLDB4N0UsCi0weDJDLDB4QjAsMHhGRiwweEFBLDB4QjAsMHgwMiwweEFCLDB4MjYsMHg4MywweDA3LDB4MDMsMHg4MywweDZFLDB4MkUsMHgwMywweDg5LAotMHg3RSwweDJDLDB4RjYsMHg0NiwweDM4LDB4MjAsMHg3NSwweEFCLDB4ODMsMHg0RSwweDM4LDB4MjAsMHhCMCwweDAwLDB4RTgsMHhEMSwKLTB4RjcsMHhFQiwweEEwLDB4OTAsMHhFNCwweDEyLDB4MjQsMHhERiwweEU2LDB4MTIsMHg4MSwweEUzLDB4RkUsMHg5RiwweDg5LDB4NUUsCi0weDI2LDB4ODMsMHg2NiwweDQ4LDB4RjcsMHhFQiwweDczLDB4OTAsMHhGNiwweEM3LDB4MjAsMHg3NSwweEU3LDB4RTQsMHgxMiwweDBDLAotMHgyMCwweEU2LDB4MTIsMHgzMiwweEMwLDB4RTYsMHhDNiwweEIwLDB4ODMsMHhFNiwweEM2LDB4ODAsMHhDRiwweDIwLDB4ODksMHg1RSwKLTB4MjYsMHg4QSwweDg2LDB4QTUsMHgwMCwweDBDLDB4MDIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhFQiwweDc0LDB4OTAsCi0weEY2LDB4QzcsMHg0MCwweDc1LDB4RDMsMHhFNCwweDEyLDB4MEMsMHgyMCwweEU2LDB4MTIsMHgzMiwweEMwLDB4RTYsMHhDNiwweEIwLAotMHg4MSwweEU2LDB4QzYsMHg4MCwweEU3LDB4REYsMHg4MCwweENCLDB4MDEsMHg4OSwweDVFLDB4MjYsMHhCMCwweDA2LDB4RTgsMHg3MSwKLTB4RjcsMHg5MCwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGOSwweEU2LDB4MEMsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVCLDB4NDMsCi0weEU0LDB4RDQsMHhFNiwweEQwLDB4OEIsMHhGOCwweDI1LDB4MDMsMHgwMCwweDAzLDB4RDgsMHhEMSwweEUzLDB4MkUsMHg4QiwweEFGLAotMHg0NCwweDAwLDB4OEIsMHg1RSwweDI2LDB4RjYsMHhDNywweDYwLDB4NzUsMHhCNiwweEY2LDB4QzMsMHhDMCwweDc1LDB4RDMsMHhCQSwKLTB4QzYsMHgwMCwweDhCLDB4NEUsMHgxQywweDhCLDB4NDYsMHgxQSwweDNCLDB4QzgsMHg3MywweDFFLDB4MDEsMHg0RSwweDJBLDB4MkIsCi0weEMxLDB4ODksMHg0NiwweDFBLDB4QzUsMHg3NiwweDAwLDB4RjMsMHg2RSwweDhFLDB4RDksMHg4OSwweDc2LDB4MDAsMHgzRCwweDIwLAotMHgwMCwweDcyLDB4M0QsMHg4QiwweEM3LDB4MjQsMHgzRiwweEU2LDB4RDQsMHhDMywweDg1LDB4QzAsMHg3NCwweDM5LDB4OEIsMHhDOCwKLTB4MDEsMHg0NiwweDJBLDB4QzUsMHg3NiwweDAwLDB4RjMsMHg2RSwweDhFLDB4RDksMHg4MywweENCLDB4MDIsMHg4OSwweDVFLDB4MjYsCi0weEU4LDB4RDksMHhFRCwweEY2LDB4QzcsMHgwMSwweDc1LDB4MzksMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RjksMHhFNiwweDBDLAotMHg4OCwweDg2LDB4QTUsMHgwMCwweEY2LDB4QzcsMHgxMCwweDc1LDB4Q0EsMHhCMCwweDAyLDB4RTgsMHhFNCwweEY2LDB4RUIsMHhDMywKLTB4RjYsMHhDNywweDAxLDB4NzQsMHhFRiwweEVCLDB4QkMsMHhGNiwweEM3LDB4MDEsMHg3NCwweERDLDB4OEEsMHg4NiwweEE1LDB4MDAsCi0weEE4LDB4MDIsMHg3NCwweDExLDB4ODEsMHhFMywweEZGLDB4RkUsMHg4MSwweENCLDB4MDAsMHgwMiwweDg5LDB4NUUsMHgyNiwweEVCLAotMHhDNywweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGQiwweDBDLDB4MDIsMHhFNiwweDBDLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFQiwKLTB4OTIsMHg5MCwweEZELDB4RjcsMHhERiwweDdGLDB4RkUsMHhGQiwweEVGLDB4QkYsMHgwMCwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwMSwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDAyLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDAxLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDAzLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDAxLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDIsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDEsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MzMsMHhEQiwweDhBLDB4RDgsMHg4QSwweDg3LAotMHg2QywweDEyLDB4RTYsMHhGRSwweEMxLDB4RTMsMHgwMiwweEU0LDB4Q0UsMHhBOCwweDA0LDB4NzUsMHgwOSwweEE4LDB4MDIsMHg3NCwKLTB4MDMsMHhFOSwweDJDLDB4RkUsMHhGOSwweEMzLDB4NTAsMHg1MywweEU4LDB4Q0IsMHhGQywweDVCLDB4NTgsMHhBOCwweDAyLDB4NzQsCi0weDAzLDB4RTksMHgxQywweEZFLDB4RjgsMHhDMywweDMzLDB4REIsMHg4QSwweEQ4LDB4OEEsMHg4NywweDZDLDB4MTIsMHhFNiwweEZFLAotMHhDMSwweEUzLDB4MDIsMHhFOSwweEQwLDB4RkIsMHg5QSwweDFBLDB4QzYsMHgxQSwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEEsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwQywweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBBLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEUsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwQSwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBDLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEEsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHhDMywweDkwLDB4REEsMHgxNCwweDk0LDB4MTUsCi0weDVDLDB4MTMsMHhFNiwweDEzLDB4REEsMHgxQiwweERBLDB4MUIsMHhFNiwweDEzLDB4REEsMHgxQiwweDhCLDB4OTQsMHg2NCwweDEyLAotMHhDMSwweEU2LDB4MDQsMHhBOCwweDAxLDB4NzQsMHgzNSwweDUwLDB4MzMsMHhDMCwweDhBLDB4QzIsMHhFNiwweEZFLDB4RTQsMHhBMCwKLTB4ODUsMHhDMCwweDc0LDB4MjcsMHg4QiwweEQ4LDB4MkUsMHg4QSwweDlGLDB4REEsMHgxQSwweDUyLDB4NTYsMHgyRSwweDhCLDB4QTgsCi0weDQ0LDB4MDAsMHg4QiwweDU2LDB4MjgsMHhFQywweEE4LDB4MDEsMHg3NSwweDBELDB4ODgsMHg4NiwweEFELDB4MDAsMHgyNCwweDBFLAotMHg4QSwweEQ4LDB4MkUsMHhGRiwweDk3LDB4REMsMHgxQiwweDVFLDB4NUEsMHhFQiwweENELDB4NTgsMHhBOCwweDAyLDB4NzQsMHgzNiwKLTB4ODMsMHhDNiwweDEwLDB4MzMsMHhDMCwweDhBLDB4QzYsMHhFNiwweEZFLDB4RTQsMHhBMCwweDg1LDB4QzAsMHg3NCwweDI3LDB4OEIsCi0weEQ4LDB4MkUsMHg4QSwweDlGLDB4REEsMHgxQSwweDUyLDB4NTYsMHgyRSwweDhCLDB4QTgsMHg0NCwweDAwLDB4OEIsMHg1NiwweDI4LAotMHhFQywweEE4LDB4MDEsMHg3NSwweDBELDB4ODgsMHg4NiwweEFELDB4MDAsMHgyNCwweDBFLDB4OEEsMHhEOCwweDJFLDB4RkYsMHg5NywKLTB4REMsMHgxQiwweDVFLDB4NUEsMHhFQiwweENELDB4QzMsMHg5MCwweDMyLDB4RTQsMHg4QiwweEQ4LDB4OEIsMHhEMCwweDJFLDB4OEEsCi0weDlGLDB4OUEsMHgxOSwweDJFLDB4MjIsMHg5NywweDkyLDB4MTksMHg1NiwweDUyLDB4OEEsMHhDMywweDI0LDB4MDMsMHgwMywweEM2LAotMHg4MCwweEUzLDB4MDQsMHhEMCwweEVCLDB4MkUsMHhGRiwweDk3LDB4RDYsMHgxQSwweDU4LDB4NUUsMHhBOSwweDU1LDB4MDAsMHg3NSwKLTB4RDksMHhDMywweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsCi0weDIyLDB4QzQsMHg3NCwweDA4LDB4MzMsMHhGNiwweEU4LDB4QkYsMHhGRiwweEVCLDB4RUUsMHg5MCwweEU0LDB4MDQsMHgwNywweEU0LAotMHgwNCwweDFGLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwKLTB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1RSwweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHgwOCwweEJFLDB4MDQsCi0weDAwLDB4RTgsMHg5NCwweEZGLDB4RUIsMHhFRCwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsMHgxRiwweEI4LDB4MDAsMHg4MCwweEJBLAotMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUMsMHgxMiwKLTB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHgxOCwweDMzLDB4RjYsMHhFOCwweDZCLDB4RkYsMHhBMSwweDYwLDB4MTIsCi0weEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4RTUsMHhCRSwweDA4LDB4MDAsMHhFOCwweDVBLDB4RkYsMHhFQiwweERELAotMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NSwweEVELDB4RTQsMHgwNCwweDA3LDB4RTQsMHgwNCwKLTB4QTEsMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4MDQsMHgxRiwweEU0LDB4MDQsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsCi0weEVGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDVFLDB4MTIsMHhFNiwweEZFLAotMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4MTksMHhCRSwweDA0LDB4MDAsMHhFOCwweDFDLDB4RkYsMHhBMSwweDYyLDB4MTIsMHhFNiwKLTB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4RTQsMHhCRSwweDBDLDB4MDAsMHhFOCwweDBCLDB4RkYsMHhFQiwweERDLDB4QTEsCi0weDYyLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NSwweEVELDB4RTQsMHgwNCwweDA3LDB4RTQsMHgwNCwweEExLAotMHg1RSwweDEyLDB4RTYsMHhGRSwweEU0LDB4MDQsMHgxRiwweEU0LDB4MDQsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwKLTB4NjEsMHhDRiwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsCi0weDg0LDB4QzQsMHg3NCwweDA4LDB4MzMsMHhGNiwweEU4LDB4NTMsMHhGRSwweEVCLDB4RUUsMHg5MCwweEI4LDB4MDAsMHg4MCwweEJBLAotMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwKLTB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4MDgsMHhCRSwweDAyLDB4MDAsMHhFOCwweDJDLDB4RkUsCi0weEVCLDB4RUQsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLAotMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHgwOCwKLTB4QkUsMHgwNCwweDAwLDB4RTgsMHgwNiwweEZFLDB4RUIsMHhFRCwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4MDcsCi0weDFGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDYyLDB4MTIsMHhFNiwweEZFLAotMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4MDgsMHhCRSwweDA2LDB4MDAsMHhFOCwweEUwLDB4RkQsMHhFQiwweEVELDB4QjgsMHgwMCwKLTB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsCi0weEQ4LDB4QTEsMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHgxOCwweDMzLDB4RjYsMHhFOCwweDM3LAotMHhGRSwweEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4RTUsMHhCRSwweDA0LDB4MDAsMHhFOCwKLTB4QUEsMHhGRCwweEVCLDB4REQsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NSwweEVELDB4QTEsCi0weDVDLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwNCwweDA3LDB4RTQsMHgwNCwweDFGLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLAotMHhFRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1RSwweDEyLDB4RTYsMHhGRSwKLTB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweDE5LDB4QkUsMHgwNCwweDAwLDB4RTgsMHhFQywweEZELDB4QTEsMHg2MiwweDEyLDB4RTYsCi0weEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweEU0LDB4QkUsMHgwNiwweDAwLDB4RTgsMHg1RiwweEZELDB4RUIsMHhEQywweEExLAotMHg2MiwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzUsMHhFRCwweEExLDB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwKLTB4MDQsMHgwNywweEU0LDB4MDQsMHgxRiwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4NjEsMHhDRiwweDYwLDB4MUUsCi0weDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDVDLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweDE4LAotMHgzMywweEY2LDB4RTgsMHgyNywweEZELDB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHhFNSwKLTB4QkUsMHgwOCwweDAwLDB4RTgsMHg5MiwweEZELDB4RUIsMHhERCwweEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsCi0weEM0LDB4NzUsMHhFRCwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsMHgxRiwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLAotMHg2MSwweENGLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDVFLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwKLTB4ODQsMHhDNCwweDc0LDB4MTksMHhCRSwweDAyLDB4MDAsMHhFOCwweEUyLDB4RkMsMHhBMSwweDYyLDB4MTIsMHhFNiwweEZFLDB4RTQsCi0weDAwLDB4MjIsMHhDNCwweDc0LDB4RTQsMHhCRSwweDBDLDB4MDAsMHhFOCwweDRELDB4RkQsMHhFQiwweERDLDB4QTEsMHg2MiwweDEyLAotMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NSwweEVELDB4RTQsMHgwNCwweDA3LDB4RTQsMHgwNCwweDFGLDB4QjgsMHgwMCwKLTB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsCi0weDVDLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweDE4LDB4MzMsMHhGNiwweEU4LDB4OUQsMHhGQywweEExLAotMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHhFNSwweEJFLDB4MDQsMHgwMCwweEU4LDB4OEMsMHhGQywKLTB4RUIsMHhERCwweEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc1LDB4RUQsMHgwNywweDFGLDB4QjgsCi0weDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDYxLDB4Q0YsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLAotMHg1RSwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHgxOSwweEJFLDB4MDIsMHgwMCwweEU4LDB4NUMsMHhGQywKLTB4QTEsMHg2MiwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHhFNCwweEJFLDB4MDYsMHgwMCwweEU4LDB4NEIsCi0weEZDLDB4RUIsMHhEQywweEExLDB4NjIsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc1LDB4RUQsMHgwNywweDFGLAotMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwKLTB4RDgsMHg5MCwweDJBLDB4QzAsMHhFNiwweEZFLDB4RTQsMHhDRSwweEE4LDB4MDEsMHg3NCwweDE0LDB4MzMsMHhEQiwweEU4LDB4RDUsCi0weEY2LDB4RUIsMHhFRiwweDkwLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLAotMHhGNiwweDA2LDB4MDUsMHgwMSwweDAxLDB4NzUsMHhFRCwweEIwLDB4MDEsMHhFNiwweEZFLDB4RTQsMHhDRSwweEE4LDB4MDEsMHg3NCwKLTB4RTMsMHhCQiwweDA0LDB4MDAsMHhFOCwweEFGLDB4RjYsMHhFQiwweEM5LDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsCi0weEQ4LDB4OTAsMHhGQiwweDkwLDB4RkEsMHgyQSwweEMwLDB4RTYsMHhGRSwweEU0LDB4Q0UsMHhBOCwweDAyLDB4NzQsMHgxMywweDMzLAotMHhEQiwweEU4LDB4Q0MsMHhGOCwweEVCLDB4RUMsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwKLTB4Q0YsMHg5MCwweEE4LDB4MDQsMHg3NCwweEYwLDB4MzMsMHhEQiwweEU4LDB4NUIsMHhGNywweEVCLDB4RDUsMHg5MCwweDYwLDB4MUUsCi0weDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHg5MCwweEZCLDB4OTAsMHhGQSwweEIwLDB4MDEsMHhFNiwweEZFLDB4RTQsMHhDRSwweEE4LAotMHgwMiwweDc0LDB4MTUsMHhCQiwweDA0LDB4MDAsMHhFOCwweDk3LDB4RjgsMHhFQiwweEVCLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhCQSwKLTB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwweEE4LDB4MDQsMHg3NCwweEYwLDB4QkIsMHgwNCwweDAwLDB4RTgsCi0weDI0LDB4RjcsMHhFQiwweEQyLDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgwOSwweDlDLDB4MEUsMHhFOCwweDZCLAotMHhGMiwweDkwLDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgyOSwweDlDLDB4MEUsMHhFOCwweDVELDB4RjIsMHg5MCwKLTB4NzIsMHgyMCwweDcyLDB4MjAsMHg3MiwweDIwLDB4Q0UsMHgxRCwweDkyLDB4MUMsMHhFNiwweDFDLDB4MUEsMHgxRSwweDcyLDB4MjAsCi0weDgyLDB4MUQsMHhBRSwweDFFLDB4MzgsMHgxRiwweDcyLDB4MjAsMHg4MiwweDFELDB4NzIsMHgyMCwweDcyLDB4MjAsMHgzOCwweDFGLAotMHg3MiwweDIwLDB4NzIsMHgyMCwweDcyLDB4MjAsMHhGNCwweDFELDB4QkMsMHgxQywweDM0LDB4MUQsMHg2NCwweDFFLDB4NzIsMHgyMCwKLTB4QTgsMHgxRCwweEYyLDB4MUUsMHg3OCwweDFGLDB4NzIsMHgyMCwweEE4LDB4MUQsMHg3MiwweDIwLDB4NzIsMHgyMCwweDc4LDB4MUYsCi0weEZDLDB4QjksMHg0MCwweDAwLDB4OEMsMHhDQiwweEI4LDB4NjQsMHgyMCwweDJCLDB4RkYsMHhBQiwweDkzLDB4QUIsMHg5MywweEUyLAotMHhGQSwweEM3LDB4MDYsMHg0QywweDAwLDB4QTgsMHgxMSwweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NSwweDIwLDB4QzcsMHgwNiwKLTB4M0MsMHgwMCwweDA4LDB4NEIsMHhDNywweDA2LDB4MzAsMHgwMCwweEJBLDB4MUYsMHhDNywweDA2LDB4MzQsMHgwMCwweEZBLDB4MUYsCi0weEY2LDB4MDYsMHgwNSwweDAxLDB4MDEsMHg3NSwweDA2LDB4QzcsMHgwNiwweDM4LDB4MDAsMHgyRSwweDIwLDB4QzMsMHhDNywweDA2LAotMHgzQywweDAwLDB4NTYsMHg0QiwweDMzLDB4REIsMHg4QSwweDFFLDB4NTQsMHgxMiwweEMxLDB4RTMsMHgwMiwweDAyLDB4MUUsMHg1NiwKLTB4MTIsMHgyRSwweDhCLDB4ODcsMHg4MCwweDIwLDB4QTMsMHgzMCwweDAwLDB4OEEsMHgxRSwweDU1LDB4MTIsMHhDMSwweEUzLDB4MDIsCi0weDAyLDB4MUUsMHg1NywweDEyLDB4MkUsMHg4QiwweDg3LDB4QTAsMHgyMCwweEEzLDB4MzQsMHgwMCwweEMzLDB4OEIsMHg4NiwweDlFLAotMHgwMCwweEU2LDB4RkUsMHg4NiwweEM0LDB4RTYsMHhEMCwweEMzLDB4OEIsMHg4NiwweDlFLDB4MDAsMHhFNiwweEZFLDB4MzMsMHhEMiwKLTB4OEEsMHhENCwweEMzLDB4NTEsMHhCOSwweDEwLDB4MjcsMHhFNCwweDBBLDB4OTAsMHg5MCwweDg0LDB4QzAsMHg3NCwweDA1LDB4RTIsCi0weEY2LDB4NTksMHhGOSwweEMzLDB4NTksMHhGOCwweEMzLDB4ODQsMHhDMCwweDc4LDB4MUUsMHg1MSwweDhBLDB4RTgsMHg4QSwweEM4LAotMHhCOCwweDAxLDB4MDAsMHhEMywweEUwLDB4MDksMHg4NiwweDk4LDB4MDAsMHgzQSwweEFFLDB4QTAsMHgwMCwweDU5LDB4NzUsMHgxMCwKLTB4RTgsMHhBOSwweEU1LDB4ODMsMHg0RSwweDI2LDB4MDIsMHhGOSwweEMzLDB4OTgsMHg4OSwweDg2LDB4OTgsMHgwMCwweEVCLDB4RjAsCi0weEY4LDB4QzMsMHg4NCwweEMwLDB4NzgsMHgxMiwweDUxLDB4OEEsMHhFMCwweDhBLDB4QzgsMHhCOCwweDAxLDB4MDAsMHhEMywweEUwLAotMHg1OSwweEY3LDB4RDAsMHgyMSwweDg2LDB4OTgsMHgwMCwweEMzLDB4QzcsMHg4NiwweDk4LDB4MDAsMHgwMCwweDAwLDB4QzMsMHg4MywKLTB4QzIsMHgwNCwweDhBLDB4ODYsMHhBNiwweDAwLDB4MEMsMHgwNCwweEVFLDB4ODMsMHhFQSwweDA0LDB4QzMsMHhFOCwweDkzLDB4RkYsCi0weDcyLDB4MDQsMHhCMCwweDgyLDB4RTYsMHgwQSwweEMzLDB4OEIsMHg0NiwweDI2LDB4QTgsMHhGRCwweDc0LDB4MTEsMHg4QSwweDg2LAotMHhBNSwweDAwLDB4QTgsMHgwNiwweDc0LDB4MDgsMHgyNCwweEY5LDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4QzMsMHhGNiwKLTB4QzQsMHgwMSwweDc0LDB4MEEsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkIsMHgwQywweDAyLDB4RUIsMHgwQywweEE4LDB4MDIsCi0weDc1LDB4MEYsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkQsMHgwQywweDA0LDB4M0EsMHg4NiwweEE1LDB4MDAsMHg3NSwweEQ4LAotMHhDMywweDhBLDB4ODYsMHhBNSwweDAwLDB4RUIsMHhDRiwweEU0LDB4RDgsMHgzMywweERCLDB4OEEsMHhEOCwweEMwLDB4RUIsMHgwNCwKLTB4MkUsMHg4QSwweDlGLDB4NjYsMHgxNywweDg4LDB4OUUsMHhBOSwweDAwLDB4OEIsMHg1RSwweDI2LDB4ODAsMHhFMywweDNGLDB4RjYsCi0weEM3LDB4MDQsMHg3NCwweDA3LDB4QTgsMHgxMCwweDc1LDB4MDMsMHg4MCwweENCLDB4NDAsMHhGNiwweEM3LDB4MDgsMHg3NCwweDA3LAotMHhBOCwweDgwLDB4NzUsMHgwMywweDgwLDB4Q0IsMHg0MCwweDg4LDB4NUUsMHgyNiwweDhBLDB4ODYsMHhBNSwweDAwLDB4RjYsMHhDMywKLTB4RkQsMHg3NCwweDBELDB4QTgsMHgwNiwweDc0LDB4MDgsMHgyNCwweEY5LDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4QzMsCi0weEY2LDB4QzcsMHgwMSwweDc0LDB4MDQsMHgwQywweDAyLDB4RUIsMHhGMCwweEY2LDB4QzMsMHgwMiwweDc1LDB4RTksMHgwQywweDA0LAotMHhFQiwweEU3LDB4QzQsMHgwNCwweEM0LDB4MDQsMHg4NSwweDA0LDB4NTksMHgwNCwweDQ4LDB4MDQsMHg0MSwweDA0LDB4QzMsMHgwMywKLTB4ODIsMHgwMywweDQxLDB4MDMsMHg4MiwweDAyLDB4NTcsMHgwMiwweDQxLDB4MDIsMHg4MiwweDAxLDB4NDEsMHgwMSwweDgyLDB4MDAsCi0weDQxLDB4MDAsMHg0RSwweDAyLDB4QUQsMHgwMSwweDU3LDB4MDEsMHgyRCwweDAwLDB4MkIsMHgwMCwweDI3LDB4MDAsMHgyMSwweDAwLAotMHgxNiwweDAwLDB4RjQsMHgwNCwweEY0LDB4MDQsMHhBMywweDA0LDB4NkYsMHgwNCwweDVCLDB4MDQsMHg1MSwweDA0LDB4RjQsMHgwMywKLTB4QTMsMHgwMywweDUxLDB4MDMsMHhBMywweDAyLDB4NkQsMHgwMiwweDUxLDB4MDIsMHhBMywweDAxLDB4NTEsMHgwMSwweEEzLDB4MDAsCi0weDUxLDB4MDAsMHg2MiwweDAyLDB4RDksMHgwMSwweDZELDB4MDEsMHgzOCwweDAwLDB4MzYsMHgwMCwweDMxLDB4MDAsMHgyOSwweDAwLAotMHgxQiwweDAwLDB4NTEsMHg1NywweEJGLDB4MDIsMHgwMCwweEVCLDB4MEYsMHg5MCwweDUxLDB4NTYsMHhCRiwweDAxLDB4MDAsMHhFQiwKLTB4MDcsMHg5MCwweDUxLDB4NTYsMHhCRiwweDAzLDB4MDAsMHg5MCwweDNDLDB4MTksMHg3NiwweDAyLDB4QjAsMHgxNywweDk4LDB4OEIsCi0weEYwLDB4OEEsMHg4MiwweEM0LDB4MDAsMHgyQSwweEU0LDB4OEIsMHhGMCwweDgzLDB4RkUsMHgxOCwweDczLDB4NDYsMHhEMSwweEU2LAotMHgyRSwweDhCLDB4OEMsMHg1MiwweDIyLDB4RjcsMHg0NiwweDM4LDB4ODAsMHgwMCwweDc0LDB4MDUsMHgyRSwweDhCLDB4OEMsMHg4MiwKLTB4MjIsMHhGNywweEM3LDB4MDIsMHgwMCwweDc0LDB4MTIsMHgzQiwweDhFLDB4OTQsMHgwMCwweDc0LDB4MEMsMHg4OSwweDhFLDB4OTQsCi0weDAwLDB4OEEsMHhDNSwweEU2LDB4RUMsMHg4QSwweEMxLDB4RTYsMHhFNCwweEY3LDB4QzcsMHgwMSwweDAwLDB4NzQsMHgxMiwweDNCLAotMHg4RSwweDk2LDB4MDAsMHg3NCwweDBDLDB4ODksMHg4RSwweDk2LDB4MDAsMHg4QSwweEM1LDB4RTYsMHhGOCwweDhBLDB4QzEsMHhFNiwKLTB4RjAsMHg1RSwweDU5LDB4QzMsMHg3NywweDA2LDB4OEIsMHg4RSwweDhFLDB4MDAsMHhFQiwweEM1LDB4OEIsMHg4RSwweDkwLDB4MDAsCi0weEVCLDB4QkYsMHhENSwweDAzLDB4RjYsMHgwMCwweDNFLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweENBLDB4MDQsMHgzMywweDAxLAotMHg0RCwweDAwLDB4MTQsMHgwMCwweDA1LDB4MDAsMHgwMSwweDAzLDB4MDUsMHgwNywweDA5LDB4MDAsMHgwMSwweDAyLDB4MDMsMHgwNCwKLTB4ODAsMHg4NCwweDFFLDB4MDAsMHhBMCwweDI1LDB4MjYsMHgwMCwweDAwLDB4MDAsMHg2MCwweDhCLDB4RjAsMHgzMywweEZGLDB4MkUsCi0weEExLDB4NTAsMHgyMywweDJFLDB4OEIsMHgxNiwweDUyLDB4MjMsMHhCQiwweDMyLDB4MjMsMHhGNywweDQ2LDB4MzgsMHg4MCwweDAwLAotMHg3NCwweDBDLDB4MkUsMHhBMSwweDU0LDB4MjMsMHgyRSwweDhCLDB4MTYsMHg1NiwweDIzLDB4QkIsMHgzQywweDIzLDB4QjksMHgwNSwKLTB4MDAsMHgyRSwweDNCLDB4MzEsMHg3MywweDBBLDB4NDcsMHg0NywweEUyLDB4RjcsMHhCOCwweEZGLDB4RkYsMHhFQiwweDFELDB4OTAsCi0weEQxLDB4RUYsMHgyRSwweDhBLDB4OEQsMHg0NiwweDIzLDB4MkEsMHhFRCwweEQxLDB4RUEsMHhEMSwweEQ4LDB4RTIsMHhGQSwweEY3LAotMHhGNiwweDA1LDB4MDIsMHgwMCwweEMxLDB4RTgsMHgwMiwweDJFLDB4OEEsMHhBNSwweDRCLDB4MjMsMHgyRSwweEEzLDB4NTgsMHgyMywKLTB4NjEsMHgyRSwweEExLDB4NTgsMHgyMywweEMzLDB4MDgsMHgwMCwweDIwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMiwweDYwLDB4MDksCi0weDA4LDB4MDAsMHgyMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMiwweDAwLAotMHgwMywweDAwLDB4MDQsMHgwMCwweDUyLDB4NTYsMHg1NywweDg1LDB4QzAsMHg3NCwweDA1LDB4M0QsMHgwMSwweDA5LDB4NzYsMHgwMywKLTB4QjgsMHgwMSwweDA5LDB4QkYsMHg1QiwweDAxLDB4RjcsMHg0NiwweDM4LDB4ODAsMHgwMCwweDc0LDB4MDMsMHhCRiwweEIyLDB4MDEsCi0weDMzLDB4RjYsMHgyRSwweDNCLDB4ODQsMHhCNiwweDIzLDB4NzYsMHgwNCwweDQ2LDB4NDYsMHhFQiwweEY1LDB4RjcsMHhFNywweDJFLAotMHg4QiwweEJDLDB4QzAsMHgyMywweDAzLDB4QzcsMHg4MywweEQyLDB4MDAsMHhEMSwweEU3LDB4RjcsMHhGNywweDJFLDB4OEEsMHhBNCwKLTB4Q0EsMHgyMywweDVGLDB4NUUsMHg1QSwweEMzLDB4RTQsMHgzRSwweDgwLDB4QkUsMHhDMywweDAwLDB4MDMsMHg3NSwweDBDLDB4RjcsCi0weDQ2LDB4N0EsMHgyMCwweDAwLDB4NzQsMHgwNSwweDBDLDB4ODAsMHhFNiwweDNFLDB4QzMsMHgyNCwweDdGLDB4RTYsMHgzRSwweEMzLAotMHgyNCwweDAzLDB4ODgsMHg4NiwweEMzLDB4MDAsMHg4QSwweEUwLDB4RTQsMHgxMCwweDI0LDB4RkMsMHgwQSwweEM0LDB4RTYsMHgxMCwKLTB4ODAsMHg4RSwweEExLDB4MDAsMHg0MiwweEU4LDB4Q0UsMHhGRiwweEMzLDB4OTAsMHg1NiwweDhCLDB4RjAsMHg4MywweEU2LDB4MDcsCi0weEQxLDB4RTYsMHgyRSwweEZGLDB4QTQsMHg1OCwweDI0LDB4OTAsMHg2OCwweDI0LDB4NkMsMHgyNCwweDcwLDB4MjQsMHg3NCwweDI0LAotMHg3OCwweDI0LDB4ODcsMHgyNCwweDg3LDB4MjQsMHg4NywweDI0LDB4QjQsMHgwMCwweEVCLDB4MEUsMHhCNCwweEMwLDB4RUIsMHgwQSwKLTB4QjQsMHg0MCwweEVCLDB4MDYsMHhCNCwweDIwLDB4RUIsMHgwMiwweEI0LDB4QTAsMHhFNCwweDEwLDB4MjQsMHgxRiwweDBBLDB4QzQsCi0weEU2LDB4MTAsMHg4MCwweDhFLDB4QTEsMHgwMCwweDQyLDB4NUUsMHhDMywweDkwLDB4M0MsMHgwMiwweDc3LDB4MTIsMHg4QSwweEUwLAotMHhFNCwweDEwLDB4MjQsMHhGMywweEMwLDB4RTQsMHgwMiwweDBBLDB4QzQsMHhFNiwweDEwLDB4ODAsMHg4RSwweEExLDB4MDAsMHg0MiwKLTB4QzMsMHg5MCwweDhCLDB4NUUsMHgzOCwweDg0LDB4QzAsMHg3NCwweDFGLDB4M0MsMHgwMiwweDc0LDB4MjAsMHg4MywweENCLDB4MDgsCi0weDhCLDB4NDYsMHgyRSwweDNCLDB4NDYsMHgzQywweDc3LDB4MEMsMHhFOCwweDg4LDB4RkMsMHg3MiwweDA3LDB4QjAsMHgyNCwweEU2LAotMHgwQSwweDgzLDB4Q0IsMHgxMCwweDg5LDB4NUUsMHgzOCwweEMzLDB4ODMsMHhFMywweEY3LDB4RUIsMHhGNywweEY3LDB4QzMsMHgxMCwKLTB4MDAsMHg3NCwweEY1LDB4RTgsMHg2RCwweEZDLDB4NzIsMHhFQywweDhBLDB4ODYsMHhDMCwweDAwLDB4RTYsMHgzOCwweEIwLDB4MjMsCi0weEU2LDB4MEEsMHhFQiwweEUwLDB4OEIsMHg1RSwweDM4LDB4OEIsMHg0NiwweDJFLDB4M0IsMHg0NiwweDNDLDB4RTQsMHhEOCwweDc3LAotMHgwQiwweDI0LDB4RkUsMHg4MCwweENCLDB4MTIsMHhFNiwweEQ4LDB4ODksMHg1RSwweDM4LDB4QzMsMHgwQywweDAxLDB4ODAsMHhDQiwKLTB4MDIsMHhFQiwweEYzLDB4NTAsMHgzMywweERCLDB4QzEsMHhFOCwweDA0LDB4MjUsMHgwRiwweDBGLDB4OEEsMHhEOCwweDJFLDB4OEEsCi0weDg3LDB4NjYsMHgxNywweDhBLDB4REMsMHgyRSwweDhBLDB4QTcsMHg2NiwweDE3LDB4MDksMHg0NiwweDNFLDB4NTgsMHhDMywweDUwLAotMHgzMywweERCLDB4QzEsMHhFOCwweDA0LDB4MjUsMHgwRiwweDBGLDB4OEEsMHhEOCwweDJFLDB4OEEsMHg4NywweDY2LDB4MTcsMHg4QSwKLTB4REMsMHgyRSwweDhBLDB4QTcsMHg2NiwweDE3LDB4RjcsMHhEMCwweDIxLDB4NDYsMHgzRSwweDU4LDB4QzMsMHg4QiwweDQ2LDB4M0UsCi0weDMzLDB4REIsMHg4QSwweEQ4LDB4MEEsMHhEQywweDJFLDB4OEEsMHg4NywweDc2LDB4MTcsMHhFNiwweDJDLDB4OEEsMHhFMCwweEU0LAotMHgyQSwweDI0LDB4MEYsMHgwQSwweEM0LDB4RTYsMHgyQSwweDhBLDB4ODYsMHhBNSwweDAwLDB4ODQsMHhFNCwweDc1LDB4MEQsMHhBOCwKLTB4ODAsMHg3NCwweDExLDB4MjQsMHg3RiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEMzLDB4QTgsMHg4MCwweDc1LDB4MDQsCi0weDBDLDB4ODAsMHhFQiwweEYxLDB4QzMsMHgxRSwweDYwLDB4MzMsMHhDOSwweDMzLDB4RDIsMHgzMywweEY2LDB4OEUsMHhEOSwweDhELAotMHhCRSwweEZELDB4MDAsMHg1NywweDhCLDB4MDUsMHg4NCwweEMwLDB4NzQsMHgxNiwweDhCLDB4RDEsMHg0MiwweDhCLDB4RkUsMHg0RiwKLTB4NzgsMHgwOSwweDM4LDB4QTMsMHhFNCwweDAwLDB4NzQsMHgwOCwweDRGLDB4NzksMHhGNywweDg4LDB4QTIsMHhFNCwweDAwLDB4NDYsCi0weDVGLDB4ODMsMHhDNywweDA5LDB4NDEsMHg4MywweEY5LDB4MTAsMHg3MiwweEQ5LDB4ODksMHhCNiwweDg2LDB4MDAsMHg4OSwweDk2LAotMHg4NCwweDAwLDB4NjEsMHgxRiwweEMzLDB4NTMsMHhDNywweDQ2LDB4NjYsMHgwMCwweDAwLDB4OEIsMHg0NiwweDY0LDB4QTksMHg0MCwKLTB4MDAsMHg3NCwweDBELDB4QjMsMHgwMCwweEE5LDB4ODAsMHgwMCwweDc0LDB4MDIsMHhCMywweDdGLDB4ODgsMHg5RSwweEMxLDB4MDAsCi0weDMyLDB4REIsMHhBOSwweDAyLDB4MDAsMHg3NCwweDAzLDB4ODAsMHhDQiwweDQwLDB4QTksMHgwMCwweDQwLDB4NzQsMHgwMywweDgwLAotMHhDQiwweDAyLDB4QTksMHgwMCwweDgwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgwMSwweEE5LDB4MzAsMHgxRSwweDc0LDB4MDMsMHg4MCwKLTB4Q0IsMHhCQywweEE5LDB4MDAsMHgyMCwweDc0LDB4MDMsMHg4MCwweENCLDB4MDgsMHhBOSwweDA0LDB4MDEsMHg3NCwweDAzLDB4ODAsCi0weENCLDB4MTAsMHhBOSwweDA4LDB4MDAsMHg3NCwweDAzLDB4ODAsMHhDQiwweDIwLDB4ODgsMHg5RSwweEMyLDB4MDAsMHg1QiwweEMzLAotMHgwNiwweDUxLDB4NTcsMHg1MCwweDE2LDB4MDcsMHg4RCwweEJFLDB4QzQsMHgwMCwweEI5LDB4MUYsMHgwMCwweDMzLDB4QzAsMHhBQSwKLTB4NDAsMHhFMiwweEZDLDB4OEIsMHg4NiwweDkyLDB4MDAsMHg4OSwweDg2LDB4OEUsMHgwMCwweDg5LDB4ODYsMHg5MCwweDAwLDB4NTgsCi0weDVGLDB4NTksMHgwNywweEMzLDB4RTQsMHhEOCwweEMwLDB4RTgsMHgwNCwweDUzLDB4MjUsMHgwRiwweDAwLDB4OEIsMHhEOCwweDJFLAotMHg4QSwweDg3LDB4NjYsMHgxNywweDg4LDB4ODYsMHhBOSwweDAwLDB4NUEsMHhDMywweDA4LDB4ODYsMHhBQywweDAwLDB4QzYsMHg4NiwKLTB4QkEsMHgwMCwweDAxLDB4QjAsMHgwRSwweEU4LDB4RUEsMHhFOSwweEMzLDB4QUQsMHgzNiwweEEzLDB4QjQsMHgxMywweEFELDB4MzYsCi0weEEzLDB4QjYsMHgxMywweEFELDB4MzYsMHhBMywweEI4LDB4MTMsMHg4MywweEU5LDB4MDYsMHgzNiwweEY3LDB4MDYsMHhCNiwweDEzLAotMHgwRiwweDAwLDB4QzMsMHg4QSwweDQ2LDB4MjYsMHhGNywweDQ2LDB4NDgsMHg4MCwweDAwLDB4NzQsMHgwMiwweDBDLDB4MTAsMHg4OCwKLTB4ODYsMHhCRCwweDAwLDB4MzIsMHhDMCwweDgzLDB4N0UsMHgxQSwweDAwLDB4NzUsMHgwRSwweDhCLDB4NUUsMHg0MCwweDQzLDB4ODAsCi0weEUzLDB4RkUsMHgzQiwweDVFLDB4MDgsMHg3NSwweDAyLDB4MEMsMHgwMSwweDgzLDB4N0UsMHgzQSwweDAwLDB4NzUsMHgwRCwweDFFLAotMHhDNSwweDVFLDB4MTQsMHg4QiwweDFGLDB4MUYsMHg4NSwweERCLDB4NzUsMHgwMiwweDBDLDB4MDIsMHhGNywweDQ2LDB4MzgsMHgxMCwKLTB4MDAsMHg3NCwweDAyLDB4MEMsMHgwNCwweDhCLDB4NUUsMHg3QSwweEY3LDB4QzMsMHgwMiwweDAwLDB4NzQsMHgwMiwweDBDLDB4MDgsCi0weEY3LDB4QzMsMHgwNCwweDAwLDB4NzQsMHgwMiwweDBDLDB4MTAsMHhGNywweEMzLDB4MDgsMHgwMCwweDc0LDB4MDIsMHgwQywweDIwLAotMHhGNywweEMzLDB4NDAsMHgwMCwweDc0LDB4MDIsMHgwQywweDQwLDB4ODgsMHg4NiwweEJGLDB4MDAsMHhDMywweDkwLDB4NkEsMHgwMCwKLTB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDBELDB4OUMsMHgwRSwweEU4LDB4RjEsMHhFQiwweDkwLDB4QjAsMHgwMiwweEU2LDB4REEsCi0weEY4LDB4QzMsMHgzMywweEMwLDB4RTYsMHhEQSwweEY4LDB4QzMsMHhCMCwweDAxLDB4RTYsMHhEOCwweEY4LDB4QzMsMHgzMywweEMwLAotMHhFNiwweEQ4LDB4RjgsMHhDMywweEIwLDB4RkYsMHhFOCwweDRFLDB4RkEsMHhFOCwweEExLDB4RkEsMHhGOCwweEMzLDB4QUMsMHg0OSwKLTB4RTgsMHhBRiwweEZCLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4MTUsMHhGRCwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksCi0weEU4LDB4NjcsMHhGRCwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDFGLDB4RkQsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LAotMHhFNiwweDM0LDB4RjgsMHhDMywweEFDLDB4NDksMHhFNiwweDM2LDB4RjgsMHhDMywweEFDLDB4NDksMHgzQywweDAyLDB4NzcsMHgxRiwKLTB4ODQsMHhDMCwweDc1LDB4MUQsMHhFNCwweDE0LDB4MjQsMHhFRiwweEU2LDB4MTQsMHhFNCwweDEyLDB4MjQsMHgzRiwweEU2LDB4MTIsCi0weEU0LDB4MTYsMHhBOCwweDA0LDB4NzQsMHgwOSwweEU4LDB4RUEsMHhGOSwweDcyLDB4MDQsMHhCMCwweDE4LDB4RTYsMHgwQSwweEY4LAotMHhDMywweDhBLDB4RTAsMHhFNCwweDE0LDB4MEMsMHgxMCwweEU2LDB4MTQsMHhFNCwweDEyLDB4MEMsMHhDMCwweEY2LDB4QzQsMHgwMSwKLTB4NzQsMHgwMiwweDI0LDB4N0YsMHhFNiwweDEyLDB4RjgsMHhDMywweEFDLDB4NDksMHhFOCwweDI1LDB4RkQsMHhGOCwweEMzLDB4OTAsCi0weEI4LDB4MDAsMHg0MCwweEU4LDB4N0QsMHhGRCwweEU4LDB4QjQsMHhGRCwweEU4LDB4QTgsMHhGRSwweEIwLDB4MDEsMHhFOCwweEI5LAotMHhGRSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHg0MCwweEU4LDB4ODUsMHhGRCwweEU4LDB4QTAsMHhGRCwweEY4LDB4QzMsMHg5MCwKLTB4QjgsMHgwMCwweDEwLDB4RTgsMHg1RCwweEZELDB4RTgsMHg5NCwweEZELDB4RTgsMHg4OCwweEZFLDB4QjAsMHgwOCwweEU4LDB4OTksCi0weEZFLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDEwLDB4RTgsMHg2NSwweEZELDB4RTgsMHg4MCwweEZELDB4RjgsMHhDMywweDkwLAotMHhCOCwweDAwLDB4ODAsMHhFOCwweDNELDB4RkQsMHhFOCwweDc0LDB4RkQsMHhFOCwweDY4LDB4RkUsMHhCMCwweDAyLDB4RTgsMHg3OSwKLTB4RkUsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhFOCwweDQ1LDB4RkQsMHhFOCwweDYwLDB4RkQsMHhGOCwweEMzLDB4OTAsCi0weEI4LDB4MDAsMHgyMCwweEU4LDB4MUQsMHhGRCwweEU4LDB4NTQsMHhGRCwweEU4LDB4NDgsMHhGRSwweEIwLDB4MDQsMHhFOCwweDU5LAotMHhGRSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgyMCwweEU4LDB4MjUsMHhGRCwweEU4LDB4NDAsMHhGRCwweEY4LDB4QzMsMHg5MCwKLTB4QUMsMHg0OSwweEU4LDB4NDgsMHgxNCwweEU0LDB4M0MsMHgyNCwweEU3LDB4MEEsMHhDNCwweEU2LDB4M0MsMHhGOCwweEMzLDB4OTAsCi0weEI4LDB4RkMsMHgzQiwweDg5LDB4NDYsMHg3QywweEU0LDB4M0MsMHgwQywweDE4LDB4RTYsMHgzQywweEY4LDB4QzMsMHhFNCwweDEyLAotMHgwQywweDAyLDB4RTYsMHgxMiwweEY4LDB4QzMsMHhFNCwweDEyLDB4MjQsMHhGRCwweEVCLDB4RjYsMHhFOCwweEI1LDB4RkMsMHhGOCwKLTB4QzMsMHg5MCwweDgzLDB4NjYsMHgzOCwweEZELDB4RjgsMHhDMywweEFDLDB4NDksMHhBOCwweDAxLDB4NzQsMHgwNiwweDgzLDB4NEUsCi0weDdBLDB4MjAsMHhFQiwweDA0LDB4ODMsMHg2NiwweDdBLDB4REYsMHhFOCwweENCLDB4RkIsMHhGOCwweEMzLDB4OTAsMHg4QSwweDg2LAotMHhBNSwweDAwLDB4MEMsMHgwMiwweDI0LDB4RkIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg4MSwweDRFLDB4MjYsMHgwMSwKLTB4MjAsMHhBQywweDQ5LDB4MzIsMHhFNCwweDg5LDB4NDYsMHg2RSwweDgzLDB4NEUsMHg0OCwweDA4LDB4NDksMHg0NiwweEY5LDB4QzMsCi0weDhBLDB4ODYsMHhBNSwweDAwLDB4MEMsMHgwMiwweDI0LDB4RkIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg4MSwweDRFLAotMHgyNiwweDAxLDB4MjAsMHhBQywweEI0LDB4MEEsMHhGNiwweEU0LDB4RUIsMHhEOCwweEU4LDB4RkEsMHgxMywweEU0LDB4M0MsMHgyNCwKLTB4RjgsMHgwQSwweEM0LDB4RTYsMHgzQywweEY4LDB4QzMsMHg5MCwweEFELDB4NDksMHg0OSwweDg5LDB4NDYsMHg2NCwweEE5LDB4MDEsCi0weDAwLDB4NzQsMHgxQiwweDhCLDB4RDgsMHg4MywweEUzLDB4RkEsMHg3NSwweDFBLDB4QTksMHgwNCwweDAwLDB4NzQsMHgwRiwweEU0LAotMHgzRSwweDBDLDB4MDIsMHhFNiwweDNFLDB4QjgsMHgzOCwweDQ0LDB4ODksMHg0NiwweDYyLDB4RjgsMHhDMywweDkwLDB4RTQsMHgzRSwKLTB4MjQsMHhGQywweEVCLDB4RUYsMHhFNCwweDNFLDB4MjQsMHhGQywweEU2LDB4M0UsMHhFOCwweEU4LDB4RkMsMHhCOCwweEFBLDB4NDAsCi0weEVCLDB4RTYsMHhFOCwweDZFLDB4RjgsMHg3MiwweDA1LDB4QjAsMHgxOCwweEU2LDB4MEEsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LAotMHhFOCwweENGLDB4RjksMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHhDRiwweEY5LDB4RjgsMHhDMywweDkwLDB4RTgsMHg2OCwKLTB4RkQsMHg3NSwweDA2LDB4MzIsMHhDMCwweEU2LDB4REEsMHhGOCwweEMzLDB4QjAsMHgwMiwweEU2LDB4REEsMHgzNiwweEEwLDB4QjQsCi0weDEzLDB4MjQsMHgxMCwweDM0LDB4MTAsMHhFOCwweDE2LDB4MDEsMHgzNiwweEExLDB4QjQsMHgxMywweEE5LDB4MDEsMHgwMCwweDc0LAotMHgwNSwweEU4LDB4RkMsMHhGRSwweEVCLDB4MEUsMHhBOSwweDAyLDB4MDAsMHg3NCwweDA0LDB4MzIsMHhDMCwweEVCLDB4MDIsMHhCMCwKLTB4MDEsMHhFOCwweERFLDB4RkUsMHgzNiwweEExLDB4QjQsMHgxMywweEU4LDB4QjUsMHgxMywweEU0LDB4M0MsMHgyNCwweEY4LDB4MEEsCi0weEM0LDB4RTYsMHgzQywweDM2LDB4QTEsMHhCNCwweDEzLDB4QzEsMHhFOCwweDA1LDB4MjUsMHgwMSwweDAwLDB4RTgsMHhGQSwweEZFLAotMHgzNiwweEEwLDB4QjUsMHgxMywweDI0LDB4MTAsMHhFOCwweDU5LDB4RkIsMHgzMiwweEMwLDB4MzYsMHg4QSwweDI2LDB4QjUsMHgxMywKLTB4RjYsMHhDNCwweDA0LDB4NzQsMHgwOSwweEZFLDB4QzAsMHhGNiwweEM0LDB4MDgsMHg3NCwweDAyLDB4RkUsMHhDMCwweEU4LDB4REIsCi0weEZELDB4MzYsMHhBMSwweEI2LDB4MTMsMHgyNSwweDBGLDB4MDAsMHhFOCwweDU3LDB4RjksMHgzNiwweEExLDB4QjYsMHgxMywweEMxLAotMHhFOCwweDA0LDB4MjUsMHgwMywweDAwLDB4RTgsMHhCOCwweEZBLDB4MzYsMHhBMSwweEI2LDB4MTMsMHhDMSwweEU4LDB4MDUsMHgyNSwKLTB4MDIsMHgwMCwweEU4LDB4MDUsMHhGQiwweDM2LDB4QTEsMHhCNiwweDEzLDB4RjYsMHhDNCwweDAxLDB4NzUsMHgwNCwweDMyLDB4QzAsCi0weEVCLDB4MDksMHg4MCwweEU0LDB4MDIsMHhEMCwweEVDLDB4QjAsMHgwMiwweDJBLDB4QzQsMHhFOCwweEFDLDB4RkEsMHgzNiwweEY2LAotMHgwNiwweEI3LDB4MTMsMHg0MCwweDc0LDB4MDUsMHhFOCwweDgzLDB4RkUsMHhFQiwweDAzLDB4RTgsMHg4NCwweEZFLDB4MzYsMHhGNiwKLTB4MDYsMHhCNywweDEzLDB4MjAsMHg3NCwweDA1LDB4RTgsMHg2NSwweEZFLDB4RUIsMHgwMywweEU4LDB4NjgsMHhGRSwweEY4LDB4QzMsCi0weEU0LDB4MTIsMHgwQywweDAxLDB4RTYsMHgxMiwweEY4LDB4QzMsMHhFNCwweDEyLDB4MjQsMHhGRSwweEVCLDB4RjYsMHhFNCwweDE0LAotMHgyNCwweEYwLDB4MEMsMHgwNSwweEU2LDB4MTQsMHhFNCwweDJBLDB4MjQsMHhGMCwweDBDLDB4MDYsMHhFNiwweDJBLDB4RjgsMHhDMywKLTB4RTQsMHgyQSwweDI0LDB4RjAsMHhFNiwweDJBLDB4RTQsMHgxNCwweDI0LDB4RjAsMHgwQywweDA3LDB4RTYsMHgxNCwweEY4LDB4QzMsCi0weEFELDB4NDksMHg0OSwweEU4LDB4NjQsMHhGOSwweDg5LDB4ODYsMHg4RSwweDAwLDB4RjgsMHhDMywweEFELDB4NDksMHg0OSwweEU4LAotMHg1OCwweEY5LDB4ODksMHg4NiwweDkwLDB4MDAsMHhGOCwweEMzLDB4ODMsMHg0RSwweDI2LDB4MDQsMHhFOCwweEE4LDB4RjcsMHhGOCwKLTB4QzMsMHg5MCwweDgzLDB4NjYsMHgyNiwweEZCLDB4RTgsMHg5RSwweEY3LDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweDg0LDB4QzAsCi0weDc1LDB4MEQsMHhFNCwweDEwLDB4MjQsMHhFRiwweEU2LDB4MTAsMHg4MCwweDhFLDB4QTEsMHgwMCwweDQyLDB4RjgsMHhDMywweEU0LAotMHgxMCwweDBDLDB4MTAsMHhFQiwweEYxLDB4OTAsMHhBQywweDQ5LDB4M0MsMHgwMiwweDc2LDB4MDIsMHgzMiwweEMwLDB4QzAsMHhFMCwKLTB4MDQsMHhBOCwweDIwLDB4NzQsMHgwMiwweDBDLDB4MDgsMHgyNCwweDE4LDB4OEEsMHhFMCwweEU0LDB4MTIsMHgyNCwweEU3LDB4MEEsCi0weEM0LDB4RTYsMHgxMiwweDgwLDB4OEUsMHhBMSwweDAwLDB4NDQsMHhGOCwweEMzLDB4QUMsMHg0OSwweDg4LDB4ODYsMHhDMCwweDAwLAotMHhGOCwweEMzLDB4QUMsMHg0OSwweEU2LDB4M0EsMHhGOCwweEMzLDB4QUMsMHg0OSwweDg0LDB4QzAsMHg3NCwweDA4LDB4RTQsMHgxMiwKLTB4MEMsMHgwNCwweEU2LDB4MTIsMHhGOCwweEMzLDB4RTQsMHgxMiwweDI0LDB4RkIsMHhFQiwweEY2LDB4QUMsMHg0OSwweEU4LDB4RDYsCi0weEY2LDB4NzMsMHgwMywweEU4LDB4MjcsMHhGNywweEY4LDB4QzMsMHhFNCwweDEyLDB4QTgsMHgwMiwweDc0LDB4MDQsMHgyNCwweEZELAotMHhFNiwweDEyLDB4QjgsMHhGMCwweDAwLDB4RTgsMHg4NywweEZBLDB4ODEsMHg2NiwweDI2LDB4RkYsMHhGMywweEU4LDB4NTcsMHhGNywKLTB4RTgsMHg5QSwweEZBLDB4RjgsMHhDMywweDkwLDB4QjgsMHg4MCwweDAwLDB4RTgsMHg1NywweEZBLDB4ODAsMHg0RSwweDI3LDB4MDgsCi0weEU4LDB4NDQsMHhGNywweEU4LDB4ODcsMHhGQSwweEY4LDB4QzMsMHhCOCwweDgwLDB4MDAsMHhFOCwweDYxLDB4RkEsMHg4MSwweDY2LAotMHgyNiwweEZGLDB4RjcsMHhFOCwweDMxLDB4RjcsMHhFOCwweDc0LDB4RkEsMHhGOCwweEMzLDB4OTAsMHhCOCwweDEwLDB4MDAsMHhFOCwKLTB4MzEsMHhGQSwweDgwLDB4NEUsMHgyNywweDA0LDB4RTgsMHgxRSwweEY3LDB4RTgsMHg2MSwweEZBLDB4RjgsMHhDMywweEI4LDB4MTAsCi0weDAwLDB4RTgsMHgzQiwweEZBLDB4ODEsMHg2NiwweDI2LDB4RkYsMHhGQiwweEU4LDB4MEIsMHhGNywweEU4LDB4NEUsMHhGQSwweEY4LAotMHhDMywweDkwLDB4MzMsMHhDMCwweEFDLDB4NDksMHgzQywweDAxLDB4NzMsMHgwNCwweEIwLDB4MDEsMHhFQiwweDA2LDB4M0MsMHgwQywKLTB4NzYsMHgwMiwweEIwLDB4MEMsMHg4OSwweDQ2LDB4MUMsMHhGOCwweEMzLDB4OTAsMHg4MSwweDRFLDB4MjYsMHgwMCwweDIwLDB4OEEsCi0weDg2LDB4QTUsMHgwMCwweDBDLDB4MDIsMHgyNCwweEZCLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4ODMsMHg0RSwweDI2LAotMHgwMSwweEY4LDB4QzMsMHg5MCwweDgxLDB4NEUsMHgyNiwweDAwLDB4NDAsMHg4QSwweDg2LDB4QTUsMHgwMCwweDBDLDB4MDIsMHg4OCwKLTB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHg1MCwweEU4LDB4MDUsMHhGNiwweDU4LDB4NzIsCi0weDA4LDB4RTYsMHgzOCwweEIwLDB4MjMsMHhFNiwweDBBLDB4RjgsMHhDMywweEY5LDB4QzMsMHg5MCwweEFDLDB4NTAsMHhBRCwweEU4LAotMHg4MiwweEY4LDB4NUEsMHhGNiwweEMyLDB4MDEsMHg3NCwweDEyLDB4MzksMHg4NiwweDk2LDB4MDAsMHg3NCwweDBDLDB4ODksMHg4NiwKLTB4OTYsMHgwMCwweEU2LDB4RjAsMHg4NiwweEUwLDB4RTYsMHhGOCwweDg2LDB4RTAsMHhGNiwweEMyLDB4MDIsMHg3NCwweDEwLDB4MzksCi0weDg2LDB4OTQsMHgwMCwweDc0LDB4MEEsMHg4OSwweDg2LDB4OTQsMHgwMCwweEU2LDB4RTQsMHg4NiwweEUwLDB4RTYsMHhFQywweDgzLAotMHhFOSwweDAzLDB4QzMsMHg5MCwweEU0LDB4MTYsMHg4OCwweDg2LDB4QkMsMHgwMCwweEU4LDB4RTYsMHhGQSwweDMzLDB4REIsMHhFNCwKLTB4MEMsMHhBOCwweDA2LDB4NzQsMHgwMywweDgwLDB4Q0IsMHgwMSwweEE4LDB4MTAsMHg3NCwweDAzLDB4ODAsMHhDQiwweDAyLDB4QTgsCi0weDgwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgwNCwweEU0LDB4MTIsMHg4QSwweEUwLDB4MjQsMHgxOCwweDBBLDB4RDgsMHhFNCwweERBLAotMHhGNiwweEM0LDB4MDIsMHg3NCwweDA3LDB4QTgsMHg0MCwweDc1LDB4MDMsMHg4MCwweENCLDB4MjAsMHhBOCwweDAyLDB4NzUsMHgwOSwKLTB4RTQsMHgyQSwweEE4LDB4MEYsMHg3NCwweDAzLDB4ODAsMHhDQiwweDQwLDB4RjcsMHg0NiwweDM4LDB4MDIsMHgwMCwweDc0LDB4MDksCi0weEU0LDB4RDgsMHhBOCwweDAxLDB4NzUsMHgwMywweDgwLDB4Q0IsMHg4MCwweDg4LDB4OUUsMHhCRSwweDAwLDB4RkUsMHg4NiwweEI0LAotMHgwMCwweEIwLDB4MEEsMHhFOCwweDVDLDB4RTQsMHhGOCwweEMzLDB4QUMsMHg0OSwweDNDLDB4MDIsMHg3NCwweDQxLDB4NzcsMHgxRiwKLTB4NTAsMHhFOCwweDRGLDB4RjUsMHg1OCwweDcyLDB4MEMsMHg4NCwweEMwLDB4NzQsMHgwQSwweEIwLDB4MTIsMHhFNiwweDBBLDB4ODAsCi0weDRFLDB4MzgsMHgwMSwweEY4LDB4QzMsMHhCMCwweDExLDB4RTYsMHgwQSwweDgwLDB4NjYsMHgzOCwweEZFLDB4RjgsMHhDMywweDhCLAotMHg0NiwweDM4LDB4MjUsMHhGRiwweEY3LDB4ODksMHg0NiwweDM4LDB4QTksMHgwMCwweDA0LDB4NzUsMHhFNiwweDhBLDB4ODYsMHhBNSwKLTB4MDAsMHhBOCwweDEwLDB4NzUsMHhERSwweDBDLDB4MTAsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhGOCwweEMzLDB4ODEsCi0weDRFLDB4MzgsMHgwMCwweDA4LDB4OEEsMHg4NiwweEE1LDB4MDAsMHhBOCwweDEwLDB4NzQsMHhDNywweDI0LDB4RUYsMHhFQiwweEU3LAotMHhBRCwweDQ5LDB4NDksMHgzQywweDAxLDB4NzIsMHgxMSwweDNDLDB4MEMsMHg3NywweDBELDB4NTAsMHg4QSwweEUwLDB4RTQsMHgxNCwKLTB4MjUsMHhGMCwweDBGLDB4MEEsMHhDNCwweEU2LDB4MTQsMHg1OCwweDhBLDB4QzQsMHg4NCwweEMwLDB4NzQsMHgwMiwweEU2LDB4NDIsCi0weEY4LDB4QzMsMHhFOCwweENGLDB4RjksMHhGRSwweDg2LDB4QjksMHgwMCwweEIwLDB4MEUsMHhFOCwweEQ0LDB4RTMsMHhGOCwweEMzLAotMHgzQSwweDg2LDB4QUYsMHgwMCwweDc0LDB4MUYsMHg4OCwweDg2LDB4QUYsMHgwMCwweDhBLDB4RTAsMHg4MCwweEMyLDB4MDYsMHhCMCwKLTB4QkYsMHhFRSwweDgwLDB4RUEsMHgwMiwweDhBLDB4QzQsMHhFRSwweDhBLDB4ODYsMHhBOCwweDAwLDB4ODAsMHhDMiwweDAyLDB4RUUsCi0weDgwLDB4RUEsMHgwNiwweDhBLDB4QzQsMHhDMywweDhCLDB4NDYsMHgzRSwweDg1LDB4QzAsMHg4QSwweDg2LDB4QTUsMHgwMCwweDc0LAotMHgxMiwweEE4LDB4MDgsMHg3NSwweDBELDB4MEMsMHgwOCwweDg4LDB4ODYsMHhBNSwweDAwLDB4ODAsMHhDMiwweDAyLDB4RUUsMHg4MCwKLTB4RUEsMHgwMiwweEMzLDB4QTgsMHgwOCwweDc0LDB4RkIsMHgyNCwweEY3LDB4RUIsMHhFQywweDhCLDB4NDYsMHgyNiwweDg0LDB4QzAsCi0weDc0LDB4MTYsMHg4QSwweDg2LDB4QTUsMHgwMCwweEE4LDB4MDIsMHg3NCwweDBELDB4MjQsMHhGRCwweDg4LDB4ODYsMHhBNSwweDAwLAotMHg4MywweEMyLDB4MDIsMHhFRSwweDgzLDB4RUEsMHgwMiwweEMzLDB4OEEsMHg4NiwweEE1LDB4MDAsMHhBOCwweDAyLDB4NzUsMHhGNywKLTB4MEMsMHgwMiwweEVCLDB4RTgsMHg1MiwweDgzLDB4QzIsMHgwQywweEVDLDB4QzAsMHhFOCwweDA0LDB4ODgsMHg4NiwweEE5LDB4MDAsCi0weDhCLDB4NUUsMHgyNiwweDgwLDB4RTMsMHgzRiwweEY2LDB4QzcsMHgwNCwweDc0LDB4MDcsMHhBOCwweDA4LDB4NzUsMHgwMywweDgwLAotMHhDQiwweDQwLDB4RjYsMHhDNywweDA4LDB4NzQsMHgwNywweEE4LDB4MDIsMHg3NSwweDAzLDB4ODAsMHhDQiwweDgwLDB4ODgsMHg1RSwKLTB4MjYsMHg4QSwweDg2LDB4QTUsMHgwMCwweDg0LDB4REIsMHg3NCwweDEwLDB4QTgsMHgwMiwweDc0LDB4MEEsMHgyNCwweEZELDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweDgzLDB4RUEsMHgwQSwweEVFLDB4NUEsMHhDMywweEE4LDB4MDIsMHg3NSwweEZBLDB4MEMsMHgwMiwweEVCLAotMHhFRSwweDkwLDB4RkYsMHhGRiwweDAwLDB4NDgsMHgwMCwweDMwLDB4QkEsMHgyMCwweEM0LDB4MUEsMHgwMCwweDE4LDB4MDAsMHgxMiwKLTB4MDAsMHgwQywweDAwLDB4MDYsMHgwMCwweDAzLDB4MDAsMHgwMiwweDgwLDB4MDEsMHhDMCwweDAwLDB4NjAsMHgwMCwweDMwLDB4MDAsCi0weDE4LDB4MDAsMHhDRCwweDAxLDB4MDAsMHgwMSwweDgwLDB4MDAsMHgxMCwweDAwLDB4MTAsMHgwMCwweDBFLDB4MDAsMHgwQywweDAwLAotMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDAwLDB4MDQsMHgwMCwweDAzLDB4MDAsMHgwMiwweDAwLDB4MDEsMHgwMCwKLTB4NTIsMHg1MSwweDU2LDB4M0MsMHgxRSwweDc3LDB4NDcsMHg5OCwweDhCLDB4RjAsMHg4QSwweDgyLDB4QzQsMHgwMCwweDMyLDB4RTQsCi0weDgzLDB4RkUsMHgxOCwweDc0LDB4M0QsMHg4MywweEZFLDB4MTksMHg3NCwweDNFLDB4ODMsMHhGRSwweDFFLDB4NzcsMHgyRiwweEQxLAotMHhFNiwweDJFLDB4OEIsMHg4QywweDMyLDB4MkQsMHgzQiwweDhFLDB4OTQsMHgwMCwweDc0LDB4MjIsMHg4OSwweDhFLDB4OTQsMHgwMCwKLTB4ODMsMHhDMiwweDA2LDB4OEEsMHg4NiwweEE4LDB4MDAsMHg4QSwweEUwLDB4MEMsMHg4MCwweEVFLDB4ODMsMHhFQSwweDA2LDB4OEEsCi0weEMxLDB4RUUsMHg4MywweEMyLDB4MDIsMHg4QSwweEM1LDB4RUUsMHg4MywweEMyLDB4MDQsMHg4QSwweEM0LDB4RUUsMHg1RSwweDU5LAotMHg1QSwweEMzLDB4OEIsMHg4RSwweDhFLDB4MDAsMHhFQiwweENFLDB4OEIsMHg4RSwweDkwLDB4MDAsMHhFQiwweEM4LDB4NTIsMHg1MSwKLTB4M0QsMHgwNSwweDAwLDB4NzcsMHgwMywweEI4LDB4MDUsMHgwMCwweDhCLDB4QzgsMHhCQSwweDAyLDB4MDAsMHhCOCwweDAwLDB4RDAsCi0weEY3LDB4RjEsMHgwNSwweDAxLDB4MDAsMHhEMSwweEU4LDB4NTksMHg1QSwweEMzLDB4OEIsMHg0NiwweDdBLDB4QTgsMHgyMCwweDc0LAotMHgwQiwweDgwLDB4QkUsMHhDMywweDAwLDB4MDMsMHg3NSwweDA0LDB4MEMsMHgwMSwweEVCLDB4MDIsMHgyNCwweEZFLDB4ODksMHg0NiwKLTB4N0EsMHhDMywweDI0LDB4MDMsMHg4OCwweDg2LDB4QzMsMHgwMCwweDhBLDB4QTYsMHhBOCwweDAwLDB4OEEsMHhEQywweDgwLDB4RTQsCi0weEZDLDB4MEEsMHhDNCwweDNBLDB4QzMsMHg3NCwweDBCLDB4ODgsMHg4NiwweEE4LDB4MDAsMHg4MywweEMyLDB4MDYsMHhFRSwweDgzLAotMHhFQSwweDA2LDB4RTgsMHhDNSwweEZGLDB4QzMsMHgwMCwweDA4LDB4MTgsMHgzOCwweDI4LDB4OTAsMHgzQywweDA0LDB4NzcsMHgyMywKLTB4MzIsMHhFNCwweDhCLDB4RDgsMHgyRSwweDhBLDB4ODcsMHgyNiwweDJFLDB4OEEsMHhBNiwweEE4LDB4MDAsMHg4QSwweERDLDB4ODAsCi0weEU0LDB4QzcsMHgwQSwweEM0LDB4M0EsMHhDMywweDc0LDB4MEIsMHg4OCwweDg2LDB4QTgsMHgwMCwweDgzLDB4QzIsMHgwNiwweEVFLAotMHg4MywweEVBLDB4MDYsMHhDMywweDg0LDB4QzAsMHg3NCwweDAyLDB4QjAsMHgwNCwweDhBLDB4QTYsMHhBOCwweDAwLDB4OEEsMHhEQywKLTB4ODAsMHhFNCwweEZCLDB4MEEsMHhDNCwweDNBLDB4QzMsMHg3NCwweDBCLDB4ODgsMHg4NiwweEE4LDB4MDAsMHg4MywweEMyLDB4MDYsCi0weEVFLDB4ODMsMHhFQSwweDA2LDB4QzMsMHg5MCwweDhCLDB4NUUsMHgzOCwweDg0LDB4QzAsMHg3NCwweDM0LDB4M0MsMHgwMiwweDc0LAotMHgzQiwweDhBLDB4ODYsMHhBRiwweDAwLDB4MEMsMHgwNCwweEU4LDB4RTYsMHhGRCwweDhCLDB4NDYsMHgyRSwweDNCLDB4NDYsMHgzQywKLTB4NzcsMHgxQiwweEY3LDB4QzMsMHgwMCwweDA0LDB4NzUsMHgxNSwweDgxLDB4Q0IsMHgwMCwweDA0LDB4ODMsMHhDMiwweDAyLDB4OEEsCi0weDg2LDB4QTUsMHgwMCwweDI0LDB4RkEsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVFLDB4ODMsMHhFQSwweDAyLDB4ODksMHg1RSwweDM4LAotMHhDMywweDhBLDB4ODYsMHhBRiwweDAwLDB4MjQsMHhGQiwweEU4LDB4QjYsMHhGRCwweEVCLDB4RjEsMHhGNywweEMzLDB4MTAsMHgwMCwKLTB4NzQsMHhFRiwweEVCLDB4RUQsMHg4MywweEMyLDB4MEMsMHhFQywweDgzLDB4RUEsMHgwQywweEMwLDB4RTgsMHgwNCwweDg4LDB4ODYsCi0weEE5LDB4MDAsMHhDMywweDkwLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgwQywweDAxLDB4ODgsMHg4NiwweEE3LDB4MDAsMHg4QiwweERBLAotMHg4MCwweEMyLDB4MDgsMHhFRSwweDhCLDB4RDMsMHhGOCwweEMzLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgyNCwweEZFLDB4RUIsMHhFQSwKLTB4OEEsMHg4NiwweEE3LDB4MDAsMHgwQywweDAyLDB4RUIsMHhFMiwweDhBLDB4ODYsMHhBNywweDAwLDB4MjQsMHhGRCwweEVCLDB4REEsCi0weEIwLDB4RkYsMHhFOCwweDUyLDB4RjIsMHhFOCwweDk3LDB4RjIsMHhGOCwweEMzLDB4QUMsMHg0OSwweEU4LDB4NjEsMHhGRSwweEY4LAotMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4RUIsMHhGRSwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDM1LDB4RkYsMHhGOCwKLTB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDA1LDB4RkYsMHhGOCwweEMzLDB4OTAsMHg1MiwweDgzLDB4QzIsMHgwNiwweEIwLDB4QkYsCi0weEVFLDB4NTIsMHg4MywweEMyLDB4MDIsMHhBQywweDQ5LDB4RUUsMHg1QSwweDhBLDB4ODYsMHhBOCwweDAwLDB4RUUsMHg1QSwweEY4LAotMHhDMywweDkwLDB4NTIsMHg4MywweEMyLDB4MDYsMHhCMCwweEJGLDB4RUUsMHg1MiwweDgzLDB4QzIsMHgwNiwweEVCLDB4RTYsMHg5MCwKLTB4QUMsMHg0OSwweDNDLDB4MDIsMHg3NywweDBELDB4ODQsMHhDMCwweDc1LDB4MEIsMHg4QSwweDg2LDB4QUYsMHgwMCwweDI0LDB4RkQsCi0weEU4LDB4MEQsMHhGRCwweEY4LDB4QzMsMHg1MCwweDhBLDB4ODYsMHhBRiwweDAwLDB4MEMsMHgwMiwweEU4LDB4MDEsMHhGRCwweDVCLAotMHg4MywweEMyLDB4MDgsMHg4QSwweDg2LDB4QTcsMHgwMCwweEY2LDB4QzMsMHgwMSwweDc0LDB4MEMsMHgyNCwweERGLDB4ODgsMHg4NiwKLTB4QTcsMHgwMCwweEVFLDB4ODMsMHhFQSwweDA4LDB4RjgsMHhDMywweDBDLDB4MjAsMHhFQiwweEYyLDB4QUMsMHg0OSwweEU4LDB4RTUsCi0weEZFLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDQwLDB4RTgsMHg2OSwweEY1LDB4RTgsMHhGOSwweEZDLDB4RTgsMHgyNCwweEZGLAotMHhCMCwweDAxLDB4RTgsMHhBNSwweEY2LDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDQwLDB4RTgsMHg3MSwweEY1LDB4RTgsMHhFNSwKLTB4RkMsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4MTAsMHhFOCwweDQ5LDB4RjUsMHhFOCwweEQ5LDB4RkMsMHhFOCwweDA0LDB4RkYsCi0weEIwLDB4MDgsMHhFOCwweDg1LDB4RjYsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4MTAsMHhFOCwweDUxLDB4RjUsMHhFOCwweEM1LAotMHhGQywweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHg4MCwweEU4LDB4MjksMHhGNSwweEU4LDB4QjksMHhGQywweEU4LDB4RTQsMHhGRSwKLTB4QjAsMHgwMiwweEU4LDB4NjUsMHhGNiwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHg4MCwweEU4LDB4MzEsMHhGNSwweEU4LDB4QTUsCi0weEZDLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDIwLDB4RTgsMHgwOSwweEY1LDB4RTgsMHg5OSwweEZDLDB4RTgsMHhDNCwweEZFLAotMHhCMCwweDA0LDB4RTgsMHg0NSwweEY2LDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDIwLDB4RTgsMHgxMSwweEY1LDB4RTgsMHg4NSwKLTB4RkMsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHgzNCwweDBDLDB4RjgsMHhDMywweDkwLDB4QjgsMHhGQywweDNCLDB4ODksCi0weDQ2LDB4N0MsMHhGOCwweEMzLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgwQywweDgwLDB4RTgsMHg0MywweEZDLDB4RjgsMHhDMywweDkwLAotMHg4QSwweDg2LDB4QUYsMHgwMCwweDI0LDB4N0YsMHhFQiwweEYyLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgwQywweDQwLDB4RTgsMHgyRiwKLTB4RkMsMHhGOCwweEMzLDB4OTAsMHg4QSwweDg2LDB4QUYsMHgwMCwweDI0LDB4QkYsMHhFQiwweEYyLDB4QUMsMHg0OSwweEE4LDB4MDEsCi0weDc0LDB4MDcsMHg4MywweDRFLDB4N0EsMHgyMCwweEVCLDB4MDUsMHg5MCwweDgzLDB4NjYsMHg3QSwweERGLDB4RTgsMHg4QSwweEZELAotMHhGOCwweEMzLDB4ODMsMHhDMiwweDA2LDB4OEEsMHg4NiwweEE4LDB4MDAsMHgwQywweDQwLDB4ODgsMHg4NiwweEE4LDB4MDAsMHhFRSwKLTB4ODMsMHhFQSwweDA2LDB4QUMsMHg0OSwweDMyLDB4RTQsMHg4OSwweDQ2LDB4NkUsMHg4MywweDRFLDB4MjYsMHgwMSwweDgzLDB4NEUsCi0weDQ4LDB4MDgsMHhCMCwweDA2LDB4RTgsMHhCQiwweERGLDB4NDksMHg0NiwweEY5LDB4QzMsMHg5MCwweDgzLDB4QzIsMHgwNiwweDhBLAotMHg4NiwweEE4LDB4MDAsMHgwQywweDQwLDB4ODgsMHg4NiwweEE4LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwNiwweEFDLDB4QjQsMHgwQSwKLTB4RjYsMHhFNCwweEVCLDB4RDAsMHhFOCwweEUwLDB4MEIsMHhGOCwweEMzLDB4OTAsMHhBRCwweDQ5LDB4NDksMHg4OSwweDQ2LDB4NjQsCi0weEE5LDB4MDEsMHgwMCwweDc0LDB4MTksMHg4QiwweEQ4LDB4ODMsMHhFMywweEZBLDB4NzUsMHgwQSwweEE5LDB4MDQsMHgwMCwweDc0LAotMHgwRCwweEI4LDB4RTIsMHgzRiwweEVCLDB4MEIsMHhFOCwweEVDLDB4RjQsMHhCOCwweEFBLDB4NDAsMHhFQiwweDAzLDB4QjgsMHgzOCwKLTB4NDQsMHg4OSwweDQ2LDB4NjIsMHhGOCwweEMzLDB4OEEsMHg4NiwweEFGLDB4MDAsMHhBOCwweDAyLDB4NzQsMHgwQSwweDI0LDB4RkQsCi0weEU4LDB4OEQsMHhGQiwweDBDLDB4MDIsMHhFOCwweDg4LDB4RkIsMHhGOCwweEMzLDB4QUMsMHg0OSwweEU4LDB4ODEsMHhGQywweEY4LAotMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4NzksMHhGQywweEY4LDB4QzMsMHg5MCwweEU4LDB4NUMsMHhGNSwweDc1LDB4MDUsMHhFOCwKLTB4RTYsMHhGRCwweEY4LDB4QzMsMHhFOCwweENELDB4RkQsMHgzNiwweEEwLDB4QjQsMHgxMywweDI0LDB4MTAsMHgzNCwweDEwLDB4RTgsCi0weDI2LDB4MDEsMHgzNiwweEExLDB4QjQsMHgxMywweEE5LDB4MDEsMHgwMCwweDc0LDB4MDUsMHhFOCwweEZFLDB4RkUsMHhFQiwweDBFLAotMHhBOSwweDAyLDB4MDAsMHg3NCwweDA0LDB4MzIsMHhDMCwweEVCLDB4MDIsMHhCMCwweDAxLDB4RTgsMHhFOCwweEZFLDB4MzYsMHhBMSwKLTB4QjQsMHgxMywweEU4LDB4QUIsMHgwQiwweDM2LDB4QTEsMHhCNCwweDEzLDB4QzEsMHhFOCwweDA1LDB4MjUsMHgwMSwweDAwLDB4RTgsCi0weDBDLDB4RkYsMHgzNiwweEEwLDB4QjUsMHgxMywweDI0LDB4MTAsMHhFOCwweDJCLDB4RkQsMHgzMiwweEMwLDB4MzYsMHg4QSwweDI2LAotMHhCNSwweDEzLDB4RjYsMHhDNCwweDA0LDB4NzQsMHgwOSwweEZFLDB4QzAsMHhGNiwweEM0LDB4MDgsMHg3NCwweDAyLDB4RkUsMHhDMCwKLTB4RTgsMHhFRiwweEZELDB4MzYsMHhBMSwweEI2LDB4MTMsMHgyNSwweDBGLDB4MDAsMHhFOCwweDAzLDB4RkMsMHgzNiwweEExLDB4QjYsCi0weDEzLDB4QzEsMHhFOCwweDA0LDB4MjUsMHgwMywweDAwLDB4RTgsMHg4OCwweEZDLDB4MzYsMHhBMSwweEI2LDB4MTMsMHhDMSwweEU4LAotMHgwNSwweDI1LDB4MDIsMHgwMCwweEU4LDB4Q0QsMHhGQywweDM2LDB4QTEsMHhCNiwweDEzLDB4RjYsMHhDNCwweDAxLDB4NzUsMHgwNCwKLTB4MzIsMHhDMCwweEVCLDB4MDksMHg4MCwweEU0LDB4MDIsMHhEMCwweEVDLDB4QjAsMHgwMiwweDJBLDB4QzQsMHhFOCwweDhDLDB4RkMsCi0weDM2LDB4RjYsMHgwNiwweEI3LDB4MTMsMHg0MCwweDc0LDB4MDUsMHhFOCwweDhELDB4RkUsMHhFQiwweDAzLDB4RTgsMHg5NCwweEZFLAotMHgzNiwweEY2LDB4MDYsMHhCNywweDEzLDB4MjAsMHg3NCwweDA1LDB4RTgsMHg2OSwweEZFLDB4RUIsMHgwMywweEU4LDB4NzAsMHhGRSwKLTB4RjgsMHhDMywweEY4LDB4QzMsMHg4QiwweDQ2LDB4MzgsMHhBOSwweDA0LDB4MDAsMHg3NSwweDIzLDB4MEQsMHgwNCwweDAwLDB4ODksCi0weDQ2LDB4MzgsMHg4MywweEMyLDB4MDgsMHg4QiwweDQ2LDB4MkUsMHgzQiwweDQ2LDB4M0MsMHg3MywweDE0LDB4ODMsMHg0RSwweDM4LAotMHgxMCwweDhBLDB4ODYsMHhBNywweDAwLDB4MjQsMHhGRSwweDg4LDB4ODYsMHhBNywweDAwLDB4RUUsMHg4MywweEVBLDB4MDgsMHhGOCwKLTB4QzMsMHg4QSwweDg2LDB4QTcsMHgwMCwweDBDLDB4MDEsMHhFQiwweEVFLDB4OTAsMHg4QiwweDQ2LDB4MzgsMHhBOSwweDA0LDB4MDAsCi0weDc0LDB4MDYsMHgyNSwweEZCLDB4RkYsMHg4OSwweDQ2LDB4MzgsMHhGOCwweEMzLDB4QUQsMHg0OSwweDQ5LDB4RTgsMHhCRSwweEZCLAotMHg4OSwweDg2LDB4OEUsMHgwMCwweEY4LDB4QzMsMHhBRCwweDQ5LDB4NDksMHhFOCwweEIyLDB4RkIsMHg4OSwweDg2LDB4OTAsMHgwMCwKLTB4RjgsMHhDMywweDgzLDB4NEUsMHgyNiwweDA0LDB4RTgsMHg5MiwweEZBLDB4RjgsMHhDMywweDkwLDB4ODMsMHg2NiwweDI2LDB4RkIsCi0weEU4LDB4ODgsMHhGQSwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHg4NCwweEMwLDB4NzUsMHgwNywweDgwLDB4OEUsMHhBMywweDAwLAotMHgwNCwweEY4LDB4QzMsMHg4MCwweEE2LDB4QTMsMHgwMCwweEZCLDB4RjgsMHhDMywweEFDLDB4NDksMHg4MywweEMyLDB4MDgsMHgzQywKLTB4MDIsMHg3NiwweDAyLDB4MzIsMHhDMCwweDNDLDB4MDEsMHg3NCwweDEyLDB4NzcsMHgwQiwweDhBLDB4ODYsMHhBNywweDAwLDB4MjQsCi0weEVGLDB4ODgsMHg4NiwweEE3LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwOCwweEY4LDB4QzMsMHg4QSwweDg2LDB4QTcsMHgwMCwweDBDLAotMHgxMCwweEVCLDB4RUUsMHg5MCwweDUyLDB4ODMsMHhDMiwweDA2LDB4QjAsMHhCRiwweEVFLDB4NTIsMHg4MywweEMyLDB4MDQsMHhBQywKLTB4NDksMHhFRSwweDVBLDB4OEEsMHg4NiwweEE4LDB4MDAsMHhFRSwweDVBLDB4RjgsMHhDMywweDkwLDB4NTIsMHg4MywweEMyLDB4MDYsCi0weEIwLDB4QkYsMHhFRSwweDUyLDB4ODMsMHhDMiwweDA4LDB4RUIsMHhFNiwweDkwLDB4QUMsMHg0OSwweEY4LDB4QzMsMHhBQywweDQ5LAotMHhFOCwweEI0LDB4RUUsMHg3MywweDAzLDB4RTgsMHhGNywweEVFLDB4RjgsMHhDMywweDhBLDB4ODYsMHhBRiwweDAwLDB4MjQsMHg3RiwKLTB4RTgsMHhCRCwweEY5LDB4QjgsMHhGMCwweDAwLDB4RTgsMHg2NiwweEYyLDB4ODEsMHg2NiwweDI2LDB4RkYsMHhGMywweEU4LDB4MjMsCi0weEZBLDB4RTgsMHhEMiwweEY5LDB4RjgsMHhDMywweEI4LDB4ODAsMHgwMCwweEU4LDB4MzcsMHhGMiwweDgwLDB4NEUsMHgyNywweDA4LAotMHhFOCwweDExLDB4RkEsMHhFOCwweEMwLDB4RjksMHhGOCwweEMzLDB4QjgsMHg4MCwweDAwLDB4RTgsMHg0MSwweEYyLDB4ODEsMHg2NiwKLTB4MjYsMHhGRiwweEY3LDB4RTgsMHhGRSwweEY5LDB4RTgsMHhBRCwweEY5LDB4RjgsMHhDMywweDkwLDB4QjgsMHgxMCwweDAwLDB4RTgsCi0weDExLDB4RjIsMHg4MCwweDRFLDB4MjcsMHgwNCwweEU4LDB4RUIsMHhGOSwweEU4LDB4OUEsMHhGOSwweEY4LDB4QzMsMHhCOCwweDEwLAotMHgwMCwweEU4LDB4RkYsMHhGMSwweDgxLDB4NjYsMHgyNiwweEZGLDB4RkIsMHhFOCwweEQ4LDB4RjksMHhGOCwweEMzLDB4QUMsMHg0OSwKLTB4RjgsMHhDMywweDgzLDB4QzIsMHgwNiwweDhBLDB4ODYsMHhBOCwweDAwLDB4MEMsMHg0MCwweDg4LDB4ODYsMHhBOCwweDAwLDB4RUUsCi0weDgzLDB4RUEsMHgwNiwweEY4LDB4QzMsMHg5MCwweDgzLDB4QzIsMHgwNiwweDhBLDB4ODYsMHhBOCwweDAwLDB4MjQsMHhCRiwweEVCLAotMHhFQSwweDkwLDB4QUMsMHg0OSwweDhBLDB4RTAsMHg4MCwweEMyLDB4MEEsMHhFQywweDgwLDB4RUEsMHgwQSwweEE4LDB4MjAsMHg3NCwKLTB4MDUsMHg4QSwweEM0LDB4RUUsMHhGOCwweEMzLDB4MDYsMHg1MSwweDU3LDB4OEIsMHg0RSwweDI0LDB4RTMsMHgzNCwweDQ5LDB4ODksCi0weDRFLDB4MjQsMHhGRiwweDQ2LDB4MUEsMHg4RSwweDQ2LDB4MDIsMHg4QiwweDdFLDB4MjIsMHg4QSwweEM0LDB4QUEsMHg4OSwweDdFLAotMHgyMiwweDhCLDB4NDYsMHgyNiwweDI0LDB4RkQsMHg4OSwweDQ2LDB4MjYsMHg3NSwweDI5LDB4OEEsMHg4NiwweEE1LDB4MDAsMHhBOCwKLTB4MDIsMHg3NSwweDIxLDB4ODAsMHhDMiwweDAyLDB4MEMsMHgwMiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RUUsMHg4MCwweEVBLDB4MDIsCi0weEVCLDB4MTIsMHhDNCwweDdFLDB4MDAsMHgzQiwweDdFLDB4MUUsMHg3NiwweDBBLDB4NEYsMHgyNiwweDg4LDB4MjUsMHg4OSwweDdFLAotMHgwMCwweEZGLDB4NDYsMHgxQSwweDVGLDB4NTksMHgwNywweEY4LDB4QzMsMHg5MCwweEFDLDB4QUQsMHg4MywweEU5LDB4MDMsMHg4NSwKLTB4QzAsMHg3NCwweDA1LDB4M0QsMHgwMCwweDIwLDB4NzIsMHgwNSwweEI4LDB4RkYsMHhGRiwweEVCLDB4MDMsMHhDMSwweEUwLDB4MDMsCi0weDNCLDB4ODYsMHg5NCwweDAwLDB4NzQsMHgyNiwweDg5LDB4ODYsMHg5NCwweDAwLDB4OEIsMHhEOCwweDUyLDB4ODMsMHhDMiwweDA2LAotMHg4QSwweDg2LDB4QTgsMHgwMCwweDhBLDB4RTAsMHgwQywweDgwLDB4RUUsMHg4MywweEVBLDB4MDYsMHg4QSwweEMzLDB4RUUsMHg4MywKLTB4QzIsMHgwMiwweDhBLDB4QzcsMHhFRSwweDgzLDB4QzIsMHgwNCwweDhBLDB4QzQsMHhFRSwweDVBLDB4RjgsMHhDMywweEIwLDB4ODgsCi0weDg4LDB4ODYsMHhCQywweDAwLDB4RTgsMHg4QywweEYyLDB4MzMsMHhEQiwweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsMHgwMiwweDc0LAotMHgwMywweDgwLDB4Q0IsMHgwMSwweEE4LDB4MDUsMHg3NCwweDAzLDB4ODAsMHhDQiwweDAyLDB4QTgsMHgwOCwweDc0LDB4MDMsMHg4MCwKLTB4Q0IsMHgwNCwweEY2LDB4ODYsMHhBNywweDAwLDB4MTAsMHg3NCwweDAzLDB4ODAsMHhDQiwweDEwLDB4OEEsMHg4NiwweEE5LDB4MDAsCi0weEY2LDB4QzMsMHgwNCwweDc1LDB4MEEsMHg4MywweEMyLDB4MEMsMHhFQywweDgzLDB4RUEsMHgwQywweEMwLDB4RTgsMHgwNCwweDhBLAotMHhFMCwweDhBLDB4ODYsMHhBRiwweDAwLDB4QTgsMHg4MCwweDc0LDB4MDgsMHhGNiwweEM0LDB4MDEsMHg3NSwweDAzLDB4ODAsMHhDQiwKLTB4MjAsMHhGNiwweDg2LDB4QTcsMHgwMCwweDAyLDB4NzUsMHgwQSwweEY3LDB4NDYsMHgzOCwweDA0LDB4MDAsMHg3NCwweDAzLDB4ODAsCi0weENCLDB4NDAsMHg4OCwweDlFLDB4QkUsMHgwMCwweEZFLDB4ODYsMHhCNCwweDAwLDB4QjAsMHgwQSwweEU4LDB4RjMsMHhEQiwweEY4LAotMHhDMywweEZFLDB4ODYsMHhCNCwweDAwLDB4QjAsMHgwQSwweEU4LDB4RTgsMHhEQiwweEY4LDB4QzMsMHhBQywweDQ5LDB4M0MsMHgwMiwKLTB4NzQsMHgzNywweDc3LDB4MTAsMHg4NCwweEMwLDB4NzQsMHgwNiwweDgwLDB4NEUsMHgzOCwweDAxLDB4RjgsMHhDMywweDgwLDB4NjYsCi0weDM4LDB4RkUsMHhGOCwweEMzLDB4OEIsMHg0NiwweDM4LDB4MjUsMHhGRiwweEY3LDB4ODksMHg0NiwweDM4LDB4QTksMHgwMCwweDA0LAotMHg3NSwweEVBLDB4OEEsMHg4NiwweEE1LDB4MDAsMHhBOCwweDAxLDB4NzUsMHhFMiwweDBDLDB4MDUsMHg4MywweEMyLDB4MDIsMHg4OCwKLTB4ODYsMHhBNSwweDAwLDB4RUUsMHg4MywweEVBLDB4MDIsMHhGOCwweEMzLDB4ODEsMHg0RSwweDM4LDB4MDAsMHgwOCwweDhBLDB4ODYsCi0weEE1LDB4MDAsMHhBOCwweDAxLDB4NzQsMHhDNiwweDI0LDB4RkEsMHhFQiwweEUyLDB4QUQsMHg0OSwweDQ5LDB4RjgsMHhDMywweDkwLAotMHhFOCwweDExLDB4RkEsMHhGRSwweDg2LDB4QjksMHgwMCwweEIwLDB4MEUsMHhFOCwweDg2LDB4REIsMHhGOCwweEMzLDB4QjAsMHhGRiwKLTB4RTgsMHhCRiwweEVDLDB4RjgsMHhDMywweDkwLDB4ODMsMHg2NiwweDdBLDB4RkIsMHhCMCwweDAwLDB4RTgsMHg3MywweERCLDB4RjgsCi0weEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHg1MywweEQ5LDB4NzIsMHgxMSwweDM2LDB4ODgsMHgxRSwweDFBLDB4MDEsMHgzNiwweEEwLAotMHg4RSwweDEyLDB4MEEsMHhDMywweDUyLDB4QkEsMHgwMCwweDAxLDB4RUUsMHg1QSwweEY4LDB4QzMsMHhBQywweDQ5LDB4MzIsMHhFNCwKLTB4MzYsMHhBMywweDg2LDB4MTIsMHgwNSwweDA2LDB4MDAsMHgzNiwweDhCLDB4MUUsMHg4OCwweDEyLDB4MkIsMHhEOCwweDM2LDB4ODksCi0weDFFLDB4OEEsMHgxMiwweEY4LDB4QzMsMHg5MCwweEFELDB4OEIsMHhEOCwweEFELDB4ODMsMHhFOSwweDA0LDB4MDMsMHhDMywweDJCLAotMHg0NiwweDc2LDB4ODksMHg0NiwweDc4LDB4RjcsMHg0NiwweDdBLDB4MDIsMHgwMCwweDc0LDB4MEEsMHg4MywweDY2LDB4N0EsMHhGRCwKLTB4QjgsMHgwMCwweDAwLDB4RTgsMHgxQywweERCLDB4RjgsMHhDMywweDA2LDB4MTYsMHgwNywweEFDLDB4NDksMHgyNSwweDBGLDB4MDAsCi0weDZCLDB4QzAsMHgwOSwweDhELDB4QkUsMHhGRCwweDAwLDB4MDMsMHhGOCwweEFDLDB4NDksMHgyNSwweDBGLDB4MDAsMHhBQSwweDg1LAotMHhDMCwweDc0LDB4MDgsMHgyQiwweEM4LDB4NTEsMHg4QiwweEM4LDB4RjMsMHhBNCwweDU5LDB4RTgsMHgyNywweEYwLDB4RTgsMHg0NCwKLTB4MDMsMHgwNywweEY4LDB4QzMsMHgzMywweEMwLDB4QUMsMHg0OSwweDM2LDB4QTMsMHhCMiwweDEzLDB4MzYsMHhBMywweEIwLDB4MTMsCi0weEY4LDB4QzMsMHg4MywweDY2LDB4N0EsMHhFRiwweEU4LDB4MkMsMHgwMywweEY4LDB4QzMsMHg5MCwweDgzLDB4NEUsMHg3QSwweDEwLAotMHhFQiwweEY0LDB4RTgsMHg5QiwweEYwLDB4RjgsMHhDMywweDkwLDB4QUQsMHgzQywweDE5LDB4NzcsMHgwRSwweDNDLDB4MTksMHg3NywKLTB4MEEsMHg4QiwweEY4LDB4ODEsMHhFNywweEZGLDB4MDAsMHg4OCwweEE2LDB4QzQsMHgwMCwweEY4LDB4QzMsMHg5MCwweDgzLDB4NEUsCi0weDI2LDB4MjAsMHhBQywweDQ5LDB4MzIsMHhFNCwweEQxLDB4RTAsMHg4QiwweEQ4LDB4QzEsMHhFMywweDAyLDB4MDMsMHhDMywweDg5LAotMHg0NiwweDZFLDB4ODMsMHg0RSwweDQ4LDB4MDQsMHhCMCwweDA2LDB4RTgsMHg5NywweERBLDB4NDksMHg0NiwweEY5LDB4QzMsMHg5MCwKLTB4RkUsMHg4NiwweEIzLDB4MDAsMHhCMCwweDBBLDB4RTgsMHg4OSwweERBLDB4RjgsMHhDMywweDkwLDB4MzMsMHhDMCwweEFDLDB4NDksCi0weDZCLDB4QzAsMHgwQSwweDg5LDB4ODYsMHg4QSwweDAwLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweDMyLDB4RTQsMHgzRCwweDBBLAotMHgwMCwweDc3LDB4MDUsMHhCOCwweDBBLDB4MDAsMHhFQiwweDA4LDB4M0QsMHg1QSwweDAwLDB4NzIsMHgwMywweEI4LDB4NUEsMHgwMCwKLTB4NTEsMHhGNywweEQ4LDB4MDUsMHg2NCwweDAwLDB4OEIsMHhDOCwweDhCLDB4NDYsMHg0NCwweEY3LDB4RTEsMHhCOSwweDY0LDB4MDAsCi0weEY3LDB4RjEsMHg4OSwweDQ2LDB4NDYsMHg1OSwweEY4LDB4QzMsMHhBQywweDQ5LDB4RTgsMHg4NSwweEVCLDB4RjgsMHhDMywweDkwLAotMHhBQywweDQ5LDB4ODQsMHhDMCwweDc1LDB4MDcsMHg4MSwweDY2LDB4MzgsMHhGRiwweEZELDB4RjgsMHhDMywweDgxLDB4NEUsMHgzOCwKLTB4MDAsMHgwMiwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NSwweDA4LDB4OEEsMHg4NiwweEE5LDB4MDAsMHg4OCwweDg2LDB4QUEsCi0weDAwLDB4RjgsMHhDMywweDkwLDB4NTEsMHg1NiwweEU4LDB4N0YsMHgwQywweDVFLDB4NTksMHhGOCwweEMzLDB4OTAsMHhGRSwweDg2LAotMHhCNiwweDAwLDB4QjAsMHgwQSwweEU4LDB4MEIsMHhEQSwweEY4LDB4QzMsMHg5MCwweEZFLDB4ODYsMHhCNywweDAwLDB4QjAsMHgwQSwKLTB4RTgsMHhGRiwweEQ5LDB4RjgsMHhDMywweDkwLDB4RkUsMHg4NiwweEI4LDB4MDAsMHhCMCwweDBBLDB4RTgsMHhGMywweEQ5LDB4RjgsCi0weEMzLDB4OTAsMHgwMCwweDkwLDB4NTEsMHg1NSwweEFDLDB4MkUsMHhBMiwweDUyLDB4MzYsMHgzMywweEM5LDB4QUQsMHg4QiwweEY5LAotMHhDMSwweEU3LDB4MDUsMHhBOSwweDAxLDB4MDAsMHg3NCwweDIzLDB4MkUsMHg4QiwweEFELDB4NDQsMHgwMCwweDgzLDB4N0UsMHgwOCwKLTB4MDAsMHg3NCwweDE4LDB4MkUsMHg4MCwweDNFLDB4NTIsMHgzNiwweDAxLDB4NzQsMHgwOSwweDYwLDB4QjAsMHgwNCwweEU4LDB4QkIsCi0weDBDLDB4NjEsMHhFQiwweDA3LDB4NjAsMHhCMCwweEZCLDB4RTgsMHhFQywweDBDLDB4NjEsMHg0NywweDQ3LDB4RDEsMHhFOCwweDc1LAotMHhEMiwweDQxLDB4ODMsMHhGOSwweDA0LDB4NzIsMHhDNiwweDVELDB4NTksMHg4MywweEU5LDB4MDUsMHhGNywweDQ2LDB4MzgsMHg0MCwKLTB4MDAsMHg3NCwweDA1LDB4RTgsMHg4NywweEVBLDB4RjgsMHhDMywweEU4LDB4OEQsMHhFQSwweEY4LDB4QzMsMHg5MCwweDM2LDB4QzYsCi0weDA2LDB4QzgsMHgxMywweDAxLDB4RjgsMHhDMywweDMzLDB4QzAsMHhBQywweDQ5LDB4MzYsMHhBMywweDgwLDB4MTIsMHhBQywweDQ5LAotMHgzNiwweDJCLDB4MDYsMHg4OCwweDEyLDB4RjcsMHhEOCwweDM2LDB4QTMsMHg4MiwweDEyLDB4RjgsMHhDMywweDkwLDB4REUsMHgyNiwKLTB4REUsMHgyNiwweEVDLDB4MjYsMHhGMiwweDI2LDB4RjgsMHgyNiwweEZFLDB4MjYsMHgwNCwweDI3LDB4MEUsMHgyNywweDE2LDB4MjcsCi0weDFFLDB4MjcsMHgyNiwweDI3LDB4MkUsMHgyNywweDM0LDB4MjcsMHhCRSwweDM0LDB4QzYsMHgzNCwweEQyLDB4MzQsMHgzQSwweDI3LAotMHg3OCwweDI3LDB4ODAsMHgyNywweDk0LDB4MjcsMHhBMCwweDI3LDB4QjQsMHgyNywweEMwLDB4MjcsMHhENCwweDI3LDB4RTAsMHgyNywKLTB4RjQsMHgyNywweDAwLDB4MjgsMHgxMCwweDI4LDB4RUMsMHgzNCwweERFLDB4MjYsMHgxRSwweDI4LDB4MjYsMHgyOCwweDJDLDB4MjgsCi0weDMyLDB4MjgsMHgzOCwweDI4LDB4NEUsMHgyOCwweDhBLDB4MjgsMHgwNiwweDM1LDB4MjgsMHgzNSwweDk4LDB4MjgsMHhCRSwweDI4LAotMHhEMiwweDI4LDB4REUsMHgyOCwweEU2LDB4MjgsMHg1NCwweDM1LDB4NjIsMHgzNSwweDZDLDB4MzUsMHhFRSwweDI4LDB4QzAsMHgyOSwKLTB4QzgsMHgyOSwweENFLDB4MjksMHhFMCwweDI5LDB4NzIsMHgzNSwweDc4LDB4MzUsMHhGMCwweDI5LDB4RkMsMHgyOSwweDhFLDB4MzUsCi0weDA4LDB4MkEsMHgxMiwweDJBLDB4MUMsMHgyQSwweEIwLDB4MzUsMHgzNiwweDJBLDB4QkMsMHgzNSwweDVBLDB4MkEsMHg2MiwweDJBLAotMHg2OCwweDJBLDB4Q0EsMHgzNSwweDdDLDB4MkEsMHhGOCwweDM1LDB4ODgsMHgyQSwweEE2LDB4MkEsMHhCOCwweDJBLDB4Q0MsMHgyQSwKLTB4REUsMHgyQSwweEYyLDB4MkEsMHgwMCwweDM2LDB4MEEsMHgyQiwweDI0LDB4MkIsMHgyNCwweDM2LDB4MzgsMHgyQiwweDRDLDB4MkIsCi0weDg0LDB4MkIsMHgyRSwweDM2LDB4M0EsMHgzNiwweDQ2LDB4MzYsMHg1NCwweDM2LDB4RTgsMHgyQiwweEFFLDB4MzYsMHg0MCwweDJDLAotMHg2MiwweDJDLDB4QjYsMHgzNiwweDcwLDB4MjgsMHhERSwweDI2LDB4REUsMHgyNiwweEQ0LDB4MkUsMHhFOCwweDJFLDB4RjAsMHgyRSwKLTB4RjgsMHgyRSwweDAwLDB4MkYsMHgwQSwweDJGLDB4MTIsMHgyRiwweDFBLDB4MkYsMHgyMiwweDJGLDB4MkEsMHgyRiwweDQyLDB4MkYsCi0weEJFLDB4MzQsMHhDNiwweDM0LDB4RDIsMHgzNCwweDUwLDB4MkYsMHg4QywweDJGLDB4OTQsMHgyRiwweEE4LDB4MkYsMHhCNCwweDJGLAotMHhDOCwweDJGLDB4RDQsMHgyRiwweEU4LDB4MkYsMHhGNCwweDJGLDB4MDgsMHgzMCwweDE0LDB4MzAsMHgxQywweDMwLDB4RUMsMHgzNCwKLTB4REUsMHgyNiwweDI0LDB4MzAsMHgzMCwweDMwLDB4MzgsMHgzMCwweDQ0LDB4MzAsMHg0QywweDMwLDB4NjIsMHgzMCwweEE0LDB4MzAsCi0weDA2LDB4MzUsMHgyOCwweDM1LDB4QUEsMHgzMCwweENFLDB4MzAsMHhENiwweDMwLDB4RUEsMHgzMCwweEYyLDB4MzAsMHg1NCwweDM1LAotMHg2MiwweDM1LDB4NkMsMHgzNSwweEZBLDB4MzAsMHhDMiwweDMxLDB4QzIsMHgzMSwweEM0LDB4MzEsMHhGQSwweDMxLDB4NzIsMHgzNSwKLTB4NzgsMHgzNSwweDBBLDB4MzIsMHgxNiwweDMyLDB4OEUsMHgzNSwweDIyLDB4MzIsMHgyQywweDMyLDB4MzYsMHgzMiwweEIwLDB4MzUsCi0weDRBLDB4MzIsMHhCQywweDM1LDB4NzQsMHgzMiwweDhDLDB4MzIsMHg5QSwweDMyLDB4Q0EsMHgzNSwweDlFLDB4MzIsMHhGOCwweDM1LAotMHhBQSwweDMyLDB4QzYsMHgzMiwweEQ4LDB4MzIsMHhFQywweDMyLDB4RkUsMHgzMiwweDBFLDB4MzMsMHgwMCwweDM2LDB4MTIsMHgzMywKLTB4MjYsMHgzMywweDI0LDB4MzYsMHgzMiwweDMzLDB4OUEsMHgzMywweERFLDB4MzMsMHgyRSwweDM2LDB4M0EsMHgzNiwweDQ2LDB4MzYsCi0weDU0LDB4MzYsMHg1QywweDM0LDB4QUUsMHgzNiwweEFBLDB4MzQsMHhCMCwweDM0LDB4QjYsMHgzNiwweDhDLDB4MzAsMHhFMywweDI4LAotMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzUsMHgzMiwweEU4LDB4RTMsMHhFOCwweDMzLDB4QzAsMHhBQywweDQ5LDB4M0QsMHg1QiwKLTB4MDAsMHg3NywweDE5LDB4OEIsMHhEOCwweEQxLDB4RTMsMHgyRSwweEZGLDB4OTcsMHhDRSwweDM2LDB4NzIsMHgwQiwweDg1LDB4QzksCi0weDc1LDB4RTgsMHg4QiwweDQ2LDB4NDgsMHhFOCwweDFBLDB4MEMsMHhDMywweDRFLDB4NDEsMHhDMywweDZBLDB4MDAsMHgxRiwweEM2LAotMHgwNiwweDkzLDB4MTIsMHgwQywweDlDLDB4MEUsMHhFOCwweDYzLDB4REEsMHhFOCwweEJDLDB4RTgsMHgzMywweEMwLDB4QUMsMHg0OSwKLTB4M0QsMHg1QiwweDAwLDB4NzcsMHhFNywweDhCLDB4RDgsMHhEMSwweEUzLDB4MkUsMHhGRiwweDk3LDB4ODYsMHgzNywweDcyLDB4RDksCi0weDg1LDB4QzksMHg3NSwweEU4LDB4QzMsMHhGNywweDQ2LDB4N0EsMHgxMCwweDAwLDB4NzUsMHgwRiwweDgzLDB4QkUsMHg4NCwweDAwLAotMHgwMCwweDc0LDB4MDgsMHhCOCwweDQ4LDB4M0EsMHg4OSwweDg2LDB4ODAsMHgwMCwweEMzLDB4ODEsMHhCRSwweDgwLDB4MDAsMHhFQywKLTB4M0MsMHg3NCwweEY3LDB4ODMsMHhCRSwweDg4LDB4MDAsMHgwMCwweDc1LDB4MDUsMHhCOCwweEVDLDB4M0MsMHhFQiwweEU3LDB4RjcsCi0weDQ2LDB4N0EsMHgwOCwweDAwLDB4NzUsMHg0MCwweDFFLDB4NjAsMHg4QiwweDhFLDB4ODgsMHgwMCwweDNCLDB4NEUsMHg3NCwweDc3LAotMHgzMywweDNCLDB4NEUsMHg3OCwweDc3LDB4MkUsMHhDNCwweDdFLDB4MTAsMHg4QiwweERGLDB4MjYsMHgwMywweDNELDB4NDcsMHg0NywKLTB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RCwweEI2LDB4RjQsMHgwMCwweDhCLDB4QzEsMHhGNywweDQ2LDB4N0EsMHgwMSwweDAwLDB4NzUsCi0weDFELDB4RjMsMHhBNCwweDI2LDB4MDEsMHgwNywweDI5LDB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweEIwLAotMHgwQywweEU4LDB4M0UsMHhENywweDYxLDB4MUYsMHhDNywweDg2LDB4ODgsMHgwMCwweDAwLDB4MDAsMHhFQiwweEFDLDB4RTMsMHhFMywKLTB4NTAsMHg5MCwweEFDLDB4MjQsMHg3RiwweEFBLDB4RTIsMHhGQSwweDU4LDB4RUIsMHhEOCwweDkwLDB4OEIsMHg4RSwweDg4LDB4MDAsCi0weEUzLDB4NDYsMHg4QiwweDlFLDB4OEEsMHgwMCwweDg1LDB4REIsMHg3NCwweDNFLDB4QkEsMHg1MCwweEZGLDB4RUQsMHgyQiwweDg2LAotMHg4MiwweDAwLDB4M0IsMHhDMywweDcyLDB4MzcsMHg4RCwweEI2LDB4RjQsMHgwMCwweEM0LDB4N0UsMHgxMCwweDhCLDB4REYsMHgyNiwKLTB4MDMsMHgzRCwweDQ3LDB4NDcsMHg4QiwweEMxLDB4MTYsMHgxRiwweEY3LDB4NDYsMHg3QSwweDAxLDB4MDAsMHg3NSwweDI0LDB4RjMsCi0weEE0LDB4MjYsMHgwMSwweDA3LDB4MjksMHg0NiwweDc4LDB4MDEsMHg0NiwweDc2LDB4MjksMHg0NiwweDc0LDB4QzcsMHg4NiwweDg4LAotMHgwMCwweDAwLDB4MDAsMHhCMCwweDBDLDB4RTgsMHhEQSwweEQ2LDB4ODMsMHg2NiwweDdBLDB4RjcsMHhDMywweEIwLDB4MDAsMHhFOCwKLTB4RDAsMHhENiwweEMzLDB4RTMsMHhEQywweDUwLDB4QUMsMHgyNCwweDdGLDB4QUEsMHhFMiwweEZBLDB4NTgsMHhFQiwweEQyLDB4OTAsCi0weDFFLDB4NjAsMHgzMywweEMwLDB4OEUsMHhEOCwweDhELDB4QjYsMHhGRCwweDAwLDB4OEIsMHg4NiwweDg4LDB4MDAsMHg4QiwweDk2LAotMHg4NCwweDAwLDB4M0EsMHgwNCwweDc1LDB4MTAsMHg4QiwweERFLDB4NDYsMHg4QiwweEM4LDB4OEQsMHhCRSwweEY0LDB4MDAsMHhGMywKLTB4QTYsMHg3NCwweDY2LDB4OEIsMHhGMywweDkwLDB4ODMsMHhDNiwweDA5LDB4NEEsMHg3NSwweEU2LDB4OEQsMHhCNiwweEZELDB4MDAsCi0weDhCLDB4OTYsMHg4NCwweDAwLDB4M0EsMHgwNCwweDczLDB4MTAsMHg4QiwweERFLDB4NDYsMHg4QiwweEM4LDB4OEQsMHhCRSwweEY0LAotMHgwMCwweEYzLDB4QTYsMHg3NCwweDc2LDB4OEIsMHhGMywweDkwLDB4ODMsMHhDNiwweDA5LDB4NEEsMHg3NSwweEU2LDB4OEQsMHhCNiwKLTB4RjQsMHgwMCwweEFDLDB4RjcsMHg0NiwweDdBLDB4MDEsMHgwMCwweDc0LDB4MDIsMHgyNCwweDdGLDB4MUUsMHhDNSwweDVFLDB4MTAsCi0weDhCLDB4MzcsMHg4OCwweDQwLDB4MDIsMHg0NiwweDg5LDB4MzcsMHhGRiwweDRFLDB4NzgsMHhGRiwweDQ2LDB4NzYsMHhGRiwweDRFLAotMHg3NCwweDFGLDB4OEIsMHg4RSwweDg4LDB4MDAsMHg0OSwweDg5LDB4OEUsMHg4OCwweDAwLDB4RTMsMHg0MywweDhELDB4QjYsMHhGNCwKLTB4MDAsMHg4QiwweEZFLDB4NDYsMHhGMywweEE0LDB4RTksMHg3RCwweEZGLDB4QzUsMHg3NiwweDEwLDB4OEIsMHgxQywweDg1LDB4REIsCi0weDc0LDB4MDgsMHgwMywweEYzLDB4ODMsMHhDNiwweDAzLDB4ODMsMHhFNiwweEZFLDB4OEIsMHg4NiwweDg0LDB4MDAsMHgyQiwweEMyLAotMHhCNCwweDgwLDB4ODksMHgwNCwweDQ2LDB4NDYsMHhDNywweDA0LDB4MDAsMHgwMCwweDg5LDB4NzYsMHgxMCwweDgzLDB4NEUsMHg3QSwKLTB4MDQsMHhDNywweDg2LDB4ODgsMHgwMCwweDAwLDB4MDAsMHg2MSwweDFGLDB4RjksMHhDMywweDMzLDB4QzAsMHg2MSwweDFGLDB4QzMsCi0weEIwLDB4ODAsMHg4NCwweEMwLDB4NjEsMHgxRiwweEMzLDB4OTAsMHg4QiwweDRFLDB4NzgsMHgyQiwweDhFLDB4ODgsMHgwMCwweDc2LAotMHgyNywweDg5LDB4QjYsMHg4QywweDAwLDB4OEIsMHg1RSwweDc0LDB4M0IsMHhDQiwweDcyLDB4MDIsMHg4QiwweENCLDB4M0IsMHhDOCwKLTB4NzIsMHgwMiwweDhCLDB4QzgsMHg4QiwweEMxLDB4RTMsMHg0NCwweDMzLDB4RDIsMHg4RSwweEMyLDB4OEIsMHhEMSwweDgzLDB4QkUsCi0weDg4LDB4MDAsMHgwMCwweDc0LDB4MDYsMHhFOSwweDhFLDB4MDAsMHgzMywweEMwLDB4QzMsMHg4QiwweDVFLDB4MTAsMHgwMywweDFGLAotMHg0MywweDQzLDB4NTIsMHhGNywweDQ2LDB4N0EsMHgwMSwweDAwLDB4NzUsMHgyQSwweEFDLDB4OEQsMHhCRSwweEU0LDB4MDAsMHg4QiwKLTB4OEUsMHg4NiwweDAwLDB4RjIsMHhBRSwweDc0LDB4MzQsMHg4OCwweDA3LDB4NDMsMHg0QSwweDc1LDB4RUQsMHg1OCwweDhCLDB4NUUsCi0weDEwLDB4MDEsMHgwNywweDI5LDB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweDhCLDB4QzYsMHgyQiwweDg2LAotMHg4QywweDAwLDB4QzMsMHg5MCwweEFDLDB4OEQsMHhCRSwweEU0LDB4MDAsMHg4QiwweDhFLDB4ODYsMHgwMCwweEYyLDB4QUUsMHg3NCwKLTB4MEEsMHgyNCwweDdGLDB4ODgsMHgwNywweDQzLDB4NEEsMHg3NSwweEVCLDB4RUIsMHhEMiwweDg4LDB4ODYsMHhGNCwweDAwLDB4QzcsCi0weDg2LDB4ODgsMHgwMCwweDAxLDB4MDAsMHg1OCwweDJCLDB4QzIsMHg3NCwweDBFLDB4OEIsMHg1RSwweDEwLDB4MDEsMHgwNywweDI5LAotMHg0NiwweDc4LDB4MDEsMHg0NiwweDc2LDB4MjksMHg0NiwweDc0LDB4NDAsMHhFOCwweDk0LDB4RkUsMHg3MiwweEJFLDB4NEEsMHg3NSwKLTB4MTUsMHg4MywweEJFLDB4OEEsMHgwMCwweDAwLDB4NzQsMHhCNCwweEJBLDB4NTAsMHhGRiwweEVELDB4ODksMHg4NiwweDgyLDB4MDAsCi0weDgzLDB4NEUsMHg3QSwweDA4LDB4RUIsMHhBNiwweDhELDB4QkUsMHhGNCwweDAwLDB4MDMsMHhCRSwweDg4LDB4MDAsMHhBNCwweEZGLAotMHg4NiwweDg4LDB4MDAsMHhFOCwweDZBLDB4RkUsMHg3MiwweDk0LDB4NzksMHgwNiwweDRBLDB4NzQsMHg4RiwweEU5LDB4NUIsMHhGRiwKLTB4NEEsMHg3NCwweENFLDB4RUIsMHhFMSwweDkwLDB4NTAsMHhFOCwweDExLDB4Q0MsMHg4QiwweDQ2LDB4NzQsMHgzOSwweDQ2LDB4NzIsCi0weDc0LDB4MjcsMHgxRSwweDU2LDB4NTEsMHgzMywweEM5LDB4QzUsMHg3NiwweDBDLDB4QUQsMHg3NCwweDEwLDB4NzgsMHgwOSwweDAzLAotMHhDOCwweDA1LDB4MDEsMHgwMCwweDI0LDB4RkUsMHgwMywweEYwLDB4M0IsMHg3NiwweDEwLDB4NzYsMHhFRCwweDI5LDB4NEUsMHg3NiwKLTB4MDEsMHg0RSwweDc4LDB4RTgsMHgzNywweENDLDB4NTksMHg1RSwweDFGLDB4NTgsMHhDMywweDkwLDB4QzQsMHg3RSwweDEwLDB4MjYsCi0weDhCLDB4MUQsMHg4MywweEMzLDB4MDMsMHgyNiwweDg5LDB4MUQsMHg0QiwweDAzLDB4RkIsMHhBQiwweDkxLDB4QUEsMHhCOCwweDAzLAotMHgwMCwweDI5LDB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweEMzLDB4OTAsMHhDNCwweDdFLDB4MTAsMHgyNiwKLTB4OEIsMHgxRCwweDQzLDB4MjYsMHg4OSwweDFELDB4NDMsMHgwMywweEZCLDB4QUEsMHhGRiwweDRFLDB4NzgsMHhGRiwweDQ2LDB4NzYsCi0weEZGLDB4NEUsMHg3NCwweEMzLDB4RTgsMHhFNSwweEZGLDB4QzMsMHg4MCwweDgxLDB4ODQsMHg4NSwweDgyLDB4ODMsMHg4NiwweDg3LAotMHg1MCwweDUzLDB4OEEsMHhEQywweDgzLDB4RTMsMHgwRSwweEQxLDB4RUIsMHgyRSwweDhBLDB4ODcsMHg5OCwweDNCLDB4MDgsMHg4NiwKLTB4QjAsMHgwMCwweEZFLDB4ODYsMHhCMSwweDAwLDB4QjAsMHgwQSwweEU4LDB4ODcsMHhENCwweDVCLDB4NTgsMHhDMywweDUwLDB4OEEsCi0weEM4LDB4QjgsMHhGRiwweDAwLDB4RTgsMHg5NSwweEZGLDB4NTgsMHhDMywweDkwLDB4OEEsMHg4NiwweEJCLDB4MDAsMHhFOCwweEFCLAotMHhGRiwweEMzLDB4RTgsMHhDQiwweEZGLDB4RTgsMHhGMiwweEZGLDB4QzMsMHg5MCwweEU4LDB4QzMsMHhGRiwweEU4LDB4QjQsMHhGRiwKLTB4QzMsMHg5MCwweDMzLDB4QzAsMHhFOCwweDk1LDB4RkYsMHhDMywweEI4LDB4RkYsMHgwMCwweDMzLDB4QzksMHhFOCwweDZDLDB4RkYsCi0weEMzLDB4OTAsMHhCOCwweEZGLDB4MDEsMHhCMSwweDEwLDB4RTgsMHg2MiwweEZGLDB4QzMsMHg5MCwweEMzLDB4RkMsMHgzQiwweEUyLAotMHgzQiwweEYyLDB4M0IsMHhGMiwweDNCLDB4RkMsMHgzQiwweEUyLDB4M0IsMHhFOCwweDNCLDB4RTgsMHgzQiwweEZDLDB4M0IsMHhFMiwKLTB4M0IsMHhFOCwweDNCLDB4RTgsMHgzQiwweEZDLDB4M0IsMHhFMiwweDNCLDB4RTIsMHgzQiwweEUyLDB4M0IsMHgwMCwweDEwLDB4MDAsCi0weDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLAotMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwKLTB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHg1MSwweDUzLDB4OEIsCi0weDRFLDB4MzgsMHg4MSwweEUxLDB4RkYsMHhFRSwweEE4LDB4MDQsMHg3NCwweDA0LDB4ODEsMHhDOSwweDAwLDB4MDEsMHg4QSwweEUwLAotMHg4MCwweEU0LDB4MDMsMHgyNCwweDE4LDB4RDAsMHhFNCwweDBBLDB4QzQsMHgzMywweERCLDB4OEEsMHhEOCwweDJFLDB4OEIsMHg4NywKLTB4RkQsMHgzQiwweDg5LDB4NDYsMHg3QywweDJFLDB4MEIsMHg4RiwweDFELDB4M0MsMHg4OSwweDRFLDB4MzgsMHhEMSwweEVCLDB4MkUsCi0weDhBLDB4QTcsMHgzRCwweDNDLDB4NUIsMHg1OSwweEMzLDB4QUMsMHg0OSwweDNDLDB4MDEsMHg3MiwweDFELDB4NzQsMHgyMCwweDNDLAotMHgwMywweDcyLDB4MjMsMHg3NCwweDI4LDB4M0MsMHgwOCwweDcyLDB4MkIsMHg3NCwweDMwLDB4M0MsMHgyMCwweDcyLDB4MzcsMHg3NCwKLTB4M0EsMHhCQiwweERBLDB4M0IsMHgzMiwweEU0LDB4ODksMHg1RSwweDdFLDB4QzMsMHhCQiwweEEwLDB4M0IsMHhFQiwweEY1LDB4QkIsCi0weDk0LDB4M0IsMHhCNCwweDAxLDB4RUIsMHhGMCwweEJCLDB4RkMsMHgzQiwweEI0LDB4MDIsMHhFQiwweEU5LDB4QkIsMHhFMiwweDNCLAotMHhCNCwweDAzLDB4RUIsMHhFMiwweEJCLDB4QkUsMHgzQiwweEI0LDB4MDQsMHhFQiwweERCLDB4QkIsMHhDQSwweDNCLDB4QUMsMHg0OSwKLTB4ODgsMHg4NiwweEJCLDB4MDAsMHhFQiwweENFLDB4QkIsMHhEMiwweDNCLDB4RUIsMHhGMywweEJCLDB4RkMsMHgzQiwweEVCLDB4QzQsCi0weEE5LDB4MDQsMHgwMCwweDc1LDB4RDEsMHhBOSwweDA4LDB4MDAsMHg3NSwweERBLDB4RUIsMHhEMSwweDhCLDB4NUUsMHg3NCwweDhCLAotMHg0RSwweDc4LDB4M0IsMHhDQiwweDcyLDB4MDIsMHg4QiwweENCLDB4M0IsMHhDOCwweDcyLDB4MDIsMHg4QiwweEM4LDB4OEIsMHhDMSwKLTB4RTMsMHgyQywweEM0LDB4N0UsMHgxMCwweDhCLDB4REYsMHgyNiwweDAzLDB4M0QsMHg0NywweDQ3LDB4RjcsMHg0NiwweDdBLDB4MDEsCi0weDAwLDB4NzUsMHgxQywweEY3LDB4QzcsMHgwMSwweDAwLDB4NzQsMHgwMiwweDQ5LDB4QTQsMHhEMSwweEU5LDB4RjMsMHhBNSwweDczLAotMHgwMSwweEE0LDB4MjYsMHgwMSwweDA3LDB4MjksMHg0NiwweDc4LDB4MDEsMHg0NiwweDc2LDB4MjksMHg0NiwweDc0LDB4QzMsMHg1MCwKLTB4NTMsMHhCQiwweDdGLDB4N0YsMHhGNywweEM3LDB4MDEsMHgwMCwweDc0LDB4MDUsMHg0OSwweEFDLDB4MjIsMHhDMywweEFBLDB4RDEsCi0weEU5LDB4RTMsMHgxRCwweDlDLDB4QUQsMHgyMywweEMzLDB4QUIsMHg0OSwweDc0LDB4MTQsMHhBRCwweDIzLDB4QzMsMHhBQiwweDQ5LAotMHg3NCwweDBELDB4QUQsMHgyMywweEMzLDB4QUIsMHg0OSwweDc0LDB4MDYsMHhBRCwweDIzLDB4QzMsMHhBQiwweEUyLDB4RTUsMHg5RCwKLTB4NzMsMHgwNCwweEFDLDB4MjIsMHhDMywweEFCLDB4NUIsMHg1OCwweEVCLDB4QjgsMHhFOCwweENFLDB4QzksMHg4QiwweDVFLDB4MzgsCi0weEY3LDB4QzMsMHgxMCwweDA0LDB4NzUsMHgwMSwweEMzLDB4RjcsMHhDMywweDQwLDB4MDAsMHg3NCwweDA1LDB4RTgsMHhCOCwweEUzLAotMHhFQiwweDAzLDB4RTgsMHhBOCwweEUzLDB4ODEsMHg2NiwweDM4LDB4RUYsMHhGQiwweEY2LDB4QzMsMHgxMCwweDc0LDB4M0MsMHhGNiwKLTB4QzMsMHgwMiwweDc0LDB4MDYsMHhFNCwweEQ4LDB4MEMsMHgwMSwweEU2LDB4RDgsMHhGNiwweEMzLDB4MDQsMHg3NCwweDExLDB4ODMsCi0weEMyLDB4MDgsMHg4QSwweDg2LDB4QTcsMHgwMCwweDBDLDB4MDEsMHhFRSwweDg4LDB4ODYsMHhBNywweDAwLDB4ODMsMHhFQSwweDA4LAotMHhGNiwweEMzLDB4MDgsMHg3NCwweDBGLDB4RTgsMHg4QiwweEUzLDB4NzIsMHgwQSwweDhBLDB4ODYsMHhDMCwweDAwLDB4RTYsMHgzOCwKLTB4QjAsMHgyMywweEU2LDB4MEEsMHhGNywweEMzLDB4MDAsMHgwNCwweDc1LDB4MDEsMHhDMywweEY3LDB4QzMsMHgwMCwweDA4LDB4NzUsCi0weEY5LDB4OEEsMHg4NiwweEE1LDB4MDAsMHhGNiwweEMzLDB4NDAsMHg3NSwweDBELDB4QTgsMHgxMCwweDc1LDB4RUMsMHgwQywweDEwLAotMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhDMywweEE4LDB4MDEsMHg3NSwweERGLDB4ODMsMHhDMiwweDAyLDB4MEMsMHgwNSwKLTB4RUUsMHg4OCwweDg2LDB4QTUsMHgwMCwweEMzLDB4QjAsMHgwMCwweEU4LDB4NDcsMHhEMiwweEVCLDB4MEYsMHhCMCwweDAyLDB4RTgsCi0weDkwLDB4MEUsMHhFQiwweDA4LDB4ODMsMHg2NiwweDM4LDB4REYsMHg4MywweDRFLDB4N0EsMHgwMiwweDMzLDB4QzAsMHg4RSwweEQ4LAotMHhGQSwweEEwLDB4OTIsMHgxMiwweDQwLDB4QTIsMHg5MiwweDEyLDB4M0MsMHgwNSwweDcyLDB4MUUsMHhDNiwweDA2LDB4OTIsMHgxMiwKLTB4MDAsMHhGQiwweEIwLDB4MDEsMHhFOCwweDZCLDB4MEUsMHhGQSwweEExLDB4MjYsMHgwMSwweDIzLDB4MDYsMHgyQSwweDAxLDB4QTgsCi0weDAxLDB4NzUsMHgwNywweEU4LDB4RTIsMHgwNywweEU4LDB4NjEsMHgwOSwweDkwLDB4QjAsMHgwMCwweEU4LDB4MzcsMHhEMiwweEZCLAotMHg4NSwweEVELDB4NzQsMHhCOSwweEZBLDB4RjcsMHg0NiwweDdBLDB4NDYsMHgwMCwweDc1LDB4QzAsMHg4QiwweDQ2LDB4NzgsMHgzRCwKLTB4MEEsMHgwMCwweDcyLDB4QjAsMHg4QiwweDRFLDB4NzQsMHg4MywweEY5LDB4NTAsMHg3MiwweDlBLDB4ODMsMHg2NiwweDM4LDB4REYsCi0weEM1LDB4NzYsMHgxNCwweDhCLDB4NDYsMHgzQSwweDg1LDB4QzAsMHg3NSwweDU4LDB4QUQsMHg4NSwweEMwLDB4NzUsMHgwRiwweEU4LAotMHhGOCwweEZFLDB4RjcsMHg0NiwweDdBLDB4MDgsMHgwMCwweDc0LDB4OTMsMHhFOCwweEEwLDB4RkEsMHhFQiwweDhFLDB4M0IsMHg3NiwKLTB4MDQsMHg3NiwweDIxLDB4QjksMHgwMiwweDAwLDB4MzksMHg0RSwweDJFLDB4NzcsMHgwNSwweEM3LDB4NDYsMHgyRSwweDAwLDB4MDAsCi0weDU2LDB4OEIsMHg3NiwweDJDLDB4ODksMHg3NiwweDA0LDB4QzcsMHgwNCwweDAwLDB4MDAsMHg0NiwweDQ2LDB4ODksMHg3NiwweDJDLAotMHgyOSwweDRFLDB4MkUsMHg1RSwweDg1LDB4QzAsMHg3OSwweDE3LDB4RjYsMHhDNCwweDEwLDB4NzQsMHgwNSwweEZGLDB4NTYsMHg3QywKLTB4RUIsMHgwMywweEZGLDB4NTYsMHg3RSwweDg5LDB4NzYsMHgxNCwweEIwLDB4MEMsMHhFOCwweDg1LDB4RDEsMHhFQiwweDg2LDB4ODksCi0weDQ2LDB4M0EsMHhGRiwweDk2LDB4ODAsMHgwMCwweDI5LDB4NDYsMHgzQSwweDg5LDB4NzYsMHgxNCwweEIwLDB4MEMsMHhFOCwweDcxLAotMHhEMSwweEU5LDB4NzEsMHhGRiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MTAsMHgwMiwKLTB4MDEsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwKLTB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDAwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg0RSwweDQxLDB4NzgsMHg0MSwweEQwLDB4NDEsMHhGNCwweDQxLDB4MDYsMHg0MiwweDE4LDB4NDIsCi0weEMzLDB4OTAsMHg4RSwweDQ2LDB4MDIsMHg4QiwweDdFLDB4MjIsMHg4OSwweDdFLDB4NkMsMHg4MCwweDY2LDB4MjcsMHhGRCwweDhCLAotMHg1NiwweDI0LDB4ODMsMHhGQSwweDA0LDB4NzIsMHhFOSwweDgzLDB4RUEsMHgwMiwweDhCLDB4RDksMHgzQiwweENBLDB4NzYsMHgwMiwKLTB4OEIsMHhDQSwweEIwLDB4MEEsMHg1NywweDUxLDB4OEIsMHhGRSwweEYyLDB4QUUsMHg4QiwweEMxLDB4NTksMHg1RiwweDc1LDB4MUUsCi0weDUwLDB4NDAsMHgyQiwweEM4LDB4NzQsMHgwNiwweDJCLDB4RDEsMHgyQiwweEQ5LDB4RjMsMHhBNCwweDU5LDB4NEIsMHg0QSwweDRBLAotMHhCMCwweDBELDB4QUEsMHhBNCwweDNCLDB4Q0EsMHg3NiwweDAyLDB4OEIsMHhDQSwweEUzLDB4MTMsMHhFQiwweEQ0LDB4MkIsMHhEOSwKLTB4RjcsMHhDNiwweDAxLDB4MDAsMHg3NCwweDAyLDB4QTQsMHg0OSwweEQxLDB4RTksMHhGMywweEE1LDB4NzMsMHgwMSwweEE0LDB4ODksCi0weDdFLDB4MjIsMHgyQiwweDdFLDB4NkMsMHgyOSwweDdFLDB4MjQsMHgwMSwweDdFLDB4MUEsMHg4QiwweENCLDB4ODAsMHg3RSwweDI2LAotMHgwMiwweDc0LDB4MDUsMHg4MCwweDY2LDB4MjYsMHhGRCwweEMzLDB4NjAsMHhCMCwweEZELDB4RTgsMHgxOCwweDAzLDB4NjEsMHhDMywKLTB4QzMsMHg5MCwweEU4LDB4N0MsMHgwMiwweDcyLDB4RjksMHg5MCwweDgzLDB4NEUsMHgyNiwweDIwLDB4OEIsMHg0NiwweDZBLDB4ODksCi0weDQ2LDB4NkUsMHg4QiwweDQ2LDB4NDgsMHgwRCwweDA0LDB4MDAsMHgyNSwweEJGLDB4RkYsMHg4OSwweDQ2LDB4NDgsMHhCMCwweDA2LAotMHhFOCwweEJGLDB4Q0YsMHhDMywweDg5LDB4N0UsMHgyMiwweDJCLDB4N0UsMHg2QywweDAxLDB4N0UsMHgxQSwweDI5LDB4N0UsMHgyNCwKLTB4ODAsMHg3RSwweDI2LDB4MDIsMHg3NCwweDA1LDB4ODMsMHg2NiwweDI2LDB4RkQsMHhDMywweDYwLDB4QjAsMHhGRCwweEU4LDB4RDUsCi0weDAyLDB4NjEsMHhDMywweDkwLDB4OEEsMHhCRSwweEMyLDB4MDAsMHhFQiwweDI0LDB4RjcsMHg0NiwweDQ4LDB4NDAsMHgwMCwweDc1LAotMHhCMSwweDhFLDB4NDYsMHgwMiwweDhCLDB4N0UsMHgyMiwweDg5LDB4N0UsMHg2QywweDhCLDB4NTYsMHgyNCwweDgzLDB4RUEsMHgwQSwKLTB4NzgsMHg5RSwweDAzLDB4RDcsMHg4MCwweDY2LDB4MjcsMHhGRCwweDMzLDB4QzAsMHg4QSwweEJFLDB4QzIsMHgwMCwweEUzLDB4QjQsCi0weDNCLDB4RkEsMHg3NywweEIwLDB4QUMsMHg0OSwweDkzLDB4MkUsMHg4QSwweDg3LDB4RDQsMHgzRSwweDkzLDB4MjIsMHhERiwweDc1LAotMHgxNywweEFBLDB4RTMsMHhBMCwweDNCLDB4RkEsMHg3NywweDlDLDB4QUMsMHg0OSwweDkzLDB4MkUsMHg4QSwweDg3LDB4RDQsMHgzRSwKLTB4OTMsMHgyMiwweERGLDB4NzUsMHgwMywweEFBLDB4RUIsMHhENiwweEY2LDB4QzMsMHg3RiwweDc1LDB4MDUsMHhGRiwweDQ2LDB4NjYsCi0weEVCLDB4REYsMHhGNiwweEMzLDB4NDAsMHg3NSwweDBDLDB4OEIsMHhEOCwweDgzLDB4RUIsMHgwOCwweEQxLDB4RTMsMHgyRSwweEZGLAotMHhBNywweEQ0LDB4M0YsMHhGRiwweDQ2LDB4NjYsMHgyQywweDIwLDB4RUIsMHhDNywweDg1LDB4QzAsMHg3NCwweDJDLDB4ODksMHg0NiwKLTB4NkEsMHg4MywweDRFLDB4NDgsMHg0MCwweDg5LDB4N0UsMHgyMiwweDJCLDB4N0UsMHg2QywweDAxLDB4N0UsMHgxQSwweDI5LDB4N0UsCi0weDI0LDB4ODAsMHg3RSwweDI2LDB4MDIsMHg3NCwweDA4LDB4ODMsMHg2NiwweDI2LDB4RkQsMHhFOCwweEEzLDB4MDEsMHhDMywweDYwLAotMHhCMCwweEZELDB4RTgsMHgzMSwweDAyLDB4NjEsMHhFOCwweDk4LDB4MDEsMHhDMywweEU5LDB4NTcsMHhGRiwweDkwLDB4OEIsMHg1RSwKLTB4NjYsMHg0QiwweDc4LDB4MDMsMHg4OSwweDVFLDB4NjYsMHhBQSwweDhCLDB4NUUsMHg2NCwweEY3LDB4QzMsMHgwMCwweDIwLDB4NzUsCi0weDAzLDB4RTksMHg0MCwweEZGLDB4RjcsMHhDMywweDQwLDB4MDAsMHg3NCwweDA4LDB4OEEsMHg4NiwweEMxLDB4MDAsMHhBQSwweEU5LAotMHgzMiwweEZGLDB4QjgsMHgzMiwweDAwLDB4RUIsMHhBMywweDkwLDB4OEIsMHg1RSwweDY2LDB4ODksMHg1RSwweDY4LDB4ODMsMHhDMywKLTB4MDgsMHg4MCwweEUzLDB4RjgsMHg4OSwweDVFLDB4NjYsMHg4QiwweDVFLDB4NjQsMHg4MSwweEUzLDB4MDAsMHgxOCwweDgxLDB4RkIsCi0weDAwLDB4MTgsMHg3NCwweDJELDB4QUEsMHg4NSwweERCLDB4NzQsMHgyNSwweEY3LDB4NDYsMHg2NCwweDQwLDB4MDAsMHg3NSwweDE4LAotMHg4MSwweEZCLDB4MDAsMHgxMCwweDc0LDB4MEMsMHg4QiwweDQ2LDB4NjYsMHgyQiwweDQ2LDB4NjgsMHhDMSwweEUwLDB4MDQsMHhFOSwKLTB4NjgsMHhGRiwweEI4LDB4NjQsMHgwMCwweEU5LDB4NjIsMHhGRiwweDhBLDB4ODYsMHhDMSwweDAwLDB4QUEsMHhBQSwweEU5LDB4RTMsCi0weEZFLDB4NTEsMHg4QiwweDRFLDB4NjYsMHgyQiwweDRFLDB4NjgsMHhCMCwweDIwLDB4RjMsMHhBQSwweDU5LDB4RTksMHhENCwweEZFLAotMHg4QiwweDVFLDB4NjYsMHg4OSwweDVFLDB4NjgsMHg4QiwweDVFLDB4NjQsMHhGNywweEMzLDB4MjQsMHgwMCwweDc0LDB4MTAsMHhDNywKLTB4NDYsMHg2NiwweDAwLDB4MDAsMHhGNywweEMzLDB4MDQsMHgwMCwweDc0LDB4MDUsMHhCMCwweDBELDB4QUEsMHhCMCwweDBBLDB4QUEsCi0weEVCLDB4NDgsMHg5MCwweDkwLDB4QUEsMHhGNywweDQ2LDB4NjQsMHgwMCwweDQwLDB4NzQsMHgwNiwweEI4LDB4RDAsMHgwNywweEU5LAotMHgxOCwweEZGLDB4RTksMHg5RiwweEZFLDB4OTAsMHhBQSwweEY3LDB4NDYsMHg2NCwweDAwLDB4ODAsMHg3NCwweDA2LDB4QjgsMHhEMCwKLTB4MDcsMHhFOSwweDA2LDB4RkYsMHhFOSwweDhELDB4RkUsMHg5MCwweDhCLDB4NUUsMHg2NiwweDg5LDB4NUUsMHg2OCwweDg1LDB4REIsCi0weDc1LDB4MEMsMHg4QiwweDVFLDB4NjQsMHhGNywweEMzLDB4MTAsMHgwMCwweDc0LDB4MDYsMHhFOSwweDc2LDB4RkUsMHg4QiwweDVFLAotMHg2NCwweEY3LDB4QzMsMHgwOCwweDAwLDB4NzQsMHgyNywweEIwLDB4MEEsMHhBQSwweEY3LDB4QzMsMHgyMCwweDAwLDB4NzUsMHgxRiwKLTB4RjcsMHhDMywweDAwLDB4MDEsMHg3NSwweDAzLDB4RTksMHg1QiwweEZFLDB4RjcsMHhDMywweDQwLDB4MDAsMHg3NSwweDA2LDB4QjgsCi0weDY0LDB4MDAsMHhFOSwweEM1LDB4RkUsMHg4QSwweDg2LDB4QzEsMHgwMCwweEFBLDB4QUEsMHhFOSwweDQ2LDB4RkUsMHhBQSwweEM3LAotMHg0NiwweDY2LDB4MDAsMHgwMCwweEY3LDB4QzMsMHgwMCwweDA2LDB4NzQsMHhGMSwweEY3LDB4QzMsMHg0MCwweDAwLDB4NzQsMHgxOSwKLTB4OEEsMHg4NiwweEMxLDB4MDAsMHg4MSwweEUzLDB4MDAsMHgwNiwweDgxLDB4RkIsMHgwMCwweDA0LDB4NzIsMHgwNiwweDc2LDB4MDIsCi0weEFBLDB4QUEsMHhBQSwweEFBLDB4QUEsMHhBQSwweEU5LDB4MUIsMHhGRSwweDgxLDB4RTMsMHgwMCwweDA2LDB4ODEsMHhGQiwweDAwLAotMHgwNCwweDcyLDB4MEUsMHg3NiwweDA2LDB4QjgsMHg5NiwweDAwLDB4RTksMHg3RiwweEZFLDB4QjgsMHg2NCwweDAwLDB4RTksMHg3OSwKLTB4RkUsMHg4QiwweDQ2LDB4NjgsMHhFOSwweDczLDB4RkUsMHg5MCwweDM2LDB4OEIsMHgwRSwweERBLDB4MTIsMHg4MywweEY5LDB4MzIsCi0weDczLDB4MUQsMHgxRSwweDA2LDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RSwweEMwLDB4OEQsMHg3NiwweDRDLDB4QkYsMHhEQywweDEyLAotMHgwMywweEY5LDB4QTUsMHhBNSwweEE1LDB4ODMsMHhDMSwweDA2LDB4ODksMHgwRSwweERBLDB4MTIsMHgwNywweDFGLDB4QzMsMHhCMCwKLTB4MDgsMHhFOCwweDZFLDB4Q0QsMHhDMywweDkwLDB4ODMsMHg2NiwweDQ4LDB4RkUsMHhFOCwweDkzLDB4QzQsMHhFOCwweEM4LDB4RkYsCi0weEMzLDB4RjYsMHg0NiwweDI3LDB4MDIsMHg3NSwweDBGLDB4OUMsMHhGQSwweDgzLDB4N0UsMHgxQSwweDAwLDB4NzQsMHgwOSwweDgwLAotMHg0RSwweDI3LDB4MDEsMHg5RCwweEY5LDB4QzMsMHhGOCwweEMzLDB4NTAsMHg1MiwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NCwKLTB4MUQsMHhFOCwweDM0LDB4REUsMHg4MywweEMyLDB4MEEsMHhFQywweEE4LDB4NDAsMHg3NSwweDI3LDB4ODMsMHhFQSwweDA4LDB4OEEsCi0weDg2LDB4QTUsMHgwMCwweDBDLDB4MDIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVFLDB4NUEsMHg1OCwweEVCLDB4RDEsMHhFOCwweDBDLAotMHhERSwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGQiwweDBDLDB4MDIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg1QSwKLTB4NTgsMHhFQiwweEJDLDB4ODAsMHg0RSwweDI3LDB4MDIsMHg1QSwweDU4LDB4OUQsMHhGOCwweEMzLDB4MDgsMHg0NiwweDI2LDB4OUMsCi0weEZBLDB4OEEsMHg4RSwweEE1LDB4MDAsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzUsMHgxNCwweEY2LDB4QzEsMHgwNiwweDc0LAotMHgyMywweEU4LDB4RDksMHhERCwweDhBLDB4QzEsMHgyNCwweEY5LDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4OUQsMHhDMywKLTB4RjYsMHhDMSwweDAyLDB4NzQsMHgwRiwweEU4LDB4RDAsMHhERCwweDgzLDB4QzIsMHgwMiwweDhBLDB4QzEsMHgyNCwweEZELDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweEVFLDB4OUQsMHhDMywweDhCLDB4NUUsMHgyNiwweDIyLDB4QzMsMHg4OCwweDQ2LDB4MjYsMHg3NCwweDAxLAotMHhDMywweDgwLDB4NjYsMHgyNywweEZELDB4OUMsMHhGQSwweDhBLDB4OEUsMHhBNSwweDAwLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwKLTB4NzUsMHgxNiwweEY2LDB4QzEsMHgwNCwweDc1LDB4MEYsMHhFOCwweDkzLDB4REQsMHg4QSwweEMxLDB4MjQsMHhGRCwweDBDLDB4MDQsCi0weDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDlELDB4QzMsMHhGNiwweEMxLDB4MDIsMHg3NSwweEY5LDB4RTgsMHg4OCwweERELAotMHg4MywweEMyLDB4MEEsMHhFQywweEE4LDB4MjAsMHg3NSwweDBFLDB4ODMsMHhFQSwweDA4LDB4OEEsMHhDMSwweDBDLDB4MDIsMHg4OCwKLTB4ODYsMHhBNSwweDAwLDB4RUUsMHg5RCwweEMzLDB4ODMsMHhFQSwweDBBLDB4MzMsMHhDOSwweDhBLDB4NEUsMHgxQywweDhCLDB4NDYsCi0weDFBLDB4M0IsMHhDOCwweDczLDB4MUIsMHgwMSwweDRFLDB4MkEsMHgyQiwweEMxLDB4ODksMHg0NiwweDFBLDB4MUUsMHhDNSwweDc2LAotMHgwMCwweEYzLDB4NkUsMHgxRiwweDg5LDB4NzYsMHgwMCwweDgzLDB4QzIsMHgwMiwweDhBLDB4ODYsMHhBNSwweDAwLDB4RUIsMHhDRCwKLTB4ODUsMHhDMCwweDc0LDB4MTIsMHgwMSwweDQ2LDB4MkEsMHg4QiwweEM4LDB4MUUsMHhDNSwweDc2LDB4MDAsMHhGMywweDZFLDB4MUYsCi0weDg5LDB4NzYsMHgwMCwweDg5LDB4NEUsMHgxQSwweEY2LDB4QzcsMHgwMSwweDc1LDB4MjMsMHg4MCwweENCLDB4MDIsMHg4OSwweDVFLAotMHgyNiwweEU4LDB4MDgsMHhDMywweDgzLDB4QzIsMHgwMiwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGRCwweEVFLDB4ODgsMHg4NiwKLTB4QTUsMHgwMCwweEY2LDB4QzcsMHgxMCwweDc1LDB4MDUsMHhCMCwweDAyLDB4RTgsMHgxNiwweENDLDB4OUQsMHhDMywweDgzLDB4QzIsCi0weDAyLDB4OEEsMHg4NiwweEE1LDB4MDAsMHhFQiwweDg2LDB4OTAsMHg4QiwweEQxLDB4OEIsMHg0NiwweDI0LDB4M0IsMHhDOCwweDc2LAotMHgwMiwweDhCLDB4QzgsMHgyQiwweEQxLDB4MkIsMHhDMSwweDhCLDB4RDksMHhFMywweDIyLDB4ODAsMHg2NiwweDI3LDB4RkQsMHg4RSwKLTB4NDYsMHgwMiwweDhCLDB4N0UsMHgyMiwweEY3LDB4QzYsMHgwMSwweDAwLDB4NzQsMHgwMiwweEE0LDB4NDksMHhEMSwweEU5LDB4RjMsCi0weEE1LDB4NzMsMHgwMSwweEE0LDB4ODksMHg3RSwweDIyLDB4ODksMHg0NiwweDI0LDB4MDEsMHg1RSwweDFBLDB4OEIsMHhDQSwweDgwLAotMHg3RSwweDI2LDB4MDIsMHg3NCwweDA1LDB4ODAsMHg2NiwweDI2LDB4RkQsMHhDMywweDYwLDB4QjAsMHhGRCwweEU4LDB4RjYsMHhGRSwKLTB4NjEsMHhDMywweDUwLDB4RTQsMHgwQSwweDg0LDB4QzAsMHg3NSwweDBBLDB4ODYsMHg4NiwweEExLDB4MDAsMHg4NCwweEMwLDB4NzQsCi0weDBBLDB4RTYsMHgwQSwweDU4LDB4MEMsMHgyMCwweDg5LDB4NDYsMHg0OCwweEY5LDB4QzMsMHg1OCwweDI0LDB4REYsMHg4OSwweDQ2LAotMHg0OCwweEY4LDB4QzMsMHg5MCwweEZCLDB4QjAsMHgwMiwweEU4LDB4RTgsMHgwNywweEZBLDB4RTgsMHgyRSwweDAxLDB4RkIsMHhCMCwKLTB4MDEsMHhFOCwweERFLDB4MDcsMHhGQSwweEIwLDB4MDIsMHhFOCwweEJDLDB4Q0IsMHhGQiwweDg1LDB4RUQsMHg3NCwweEU1LDB4RkEsCi0weDhFLDB4NUUsMHgwQSwweEZCLDB4OTAsMHhGQSwweDhCLDB4NDYsMHg0OCwweDhCLDB4NzYsMHg0MCwweEE4LDB4OEMsMHg3NSwweERFLAotMHhBOCwweDIwLDB4NzQsMHgxQSwweDUwLDB4RTgsMHg1NSwweERDLDB4NTgsMHhFOCwweEE2LDB4RkYsMHg3MywweDEwLDB4QjAsMHgwMiwKLTB4RTgsMHg1RiwweENCLDB4RUIsMHhDOSwweDkwLDB4MjUsMHhGRiwweDAwLDB4OEIsMHhDOCwweEVCLDB4MzYsMHg5MCwweEE4LDB4MDEsCi0weDc1LDB4MjIsMHg0NiwweDgzLDB4RTYsMHhGRSwweDNCLDB4NzYsMHgwOCwweDc0LDB4NzksMHhBRCwweDhBLDB4RkMsMHhCMywweEYwLAotMHgyMiwweEZCLDB4M0EsMHhGQiwweDc0LDB4RTAsMHgzQSwweEJFLDB4QTAsMHgwMCwweDc0LDB4MkUsMHhFOCwweEQyLDB4RkQsMHg3MywKLTB4NzcsMHhFQiwweDlCLDB4OTAsMHg4QSwweEUwLDB4MjQsMHhGQywweDg4LDB4NDYsMHg0OCwweDhCLDB4NEUsMHg0QSwweEY2LDB4QzQsCi0weDAyLDB4NzQsMHgxRCwweEU4LDB4QkIsMHhGRCwweDcyLDB4ODYsMHhFOCwweDEzLDB4RjMsMHg4OSwweDc2LDB4NDAsMHhFMywweDkzLAotMHg4MywweDRFLDB4NDgsMHgwMywweDg5LDB4NEUsMHg0QSwweEU5LDB4NzQsMHhGRiwweDI1LDB4RkYsMHgwRiwweDhCLDB4QzgsMHg5MCwKLTB4OEIsMHg4NiwweDk4LDB4MDAsMHg4NSwweEMwLDB4NzQsMHgxQSwweDUxLDB4OEEsMHg4RSwweEEwLDB4MDAsMHhDMCwweEU5LDB4MDQsCi0weEJBLDB4MDEsMHgwMCwweEQzLDB4RTIsMHg1OSwweDIzLDB4QzIsMHg3NCwweDA4LDB4MDMsMHhGMSwweDg5LDB4NzYsMHg0MCwweEU5LAotMHg2MSwweEZGLDB4RkYsMHg1NiwweDYyLDB4RTMsMHhGNSwweDgzLDB4NEUsMHg0OCwweDAxLDB4ODksMHg0RSwweDRBLDB4ODksMHg3NiwKLTB4NDAsMHhFOSwweDNBLDB4RkYsMHg4MSwweDRFLDB4MjYsMHgwMCwweDEwLDB4OEIsMHg0NiwweDUwLDB4M0IsMHg0NiwweDQ2LDB4NzcsCi0weDAzLDB4RTgsMHg1MiwweEZELDB4RTksMHgyNywweEZGLDB4OTAsMHg4OCwweEJFLDB4QTAsMHgwMCwweEVCLDB4QUMsMHgwQSwweDA2LAotMHg5MCwweDEyLDB4OEEsMHhFMCwweEJBLDB4MDYsMHgwMSwweEIwLDB4MDQsMHhFRSwweEVDLDB4ODQsMHhDMCwweDc1LDB4MTIsMHhCMCwKLTB4MDQsMHhFRSwweDhBLDB4QzQsMHhFRSwweDMyLDB4RTQsMHhBOCwweDgwLDB4NzQsMHgwNiwweEM3LDB4MDYsMHg4NCwweDEyLDB4MDAsCi0weDAwLDB4ODgsMHgyNiwweDkwLDB4MTIsMHhDMywweDBBLDB4MDYsMHg5MCwweDEyLDB4OEEsMHhFMCwweEJBLDB4MDYsMHgwMSwweEVDLAotMHhBOCwweDAxLDB4NzUsMHhFRCwweEJBLDB4MDgsMHgwMSwweDhBLDB4QzQsMHhFRSwweDMyLDB4RTQsMHhBOCwweDgwLDB4NzQsMHhFMSwKLTB4QzcsMHgwNiwweDg0LDB4MTIsMHgwMCwweDAwLDB4ODgsMHgyNiwweDkwLDB4MTIsMHhDMywweDkwLDB4MzYsMHhGNywweDA2LDB4MjQsCi0weDAxLDB4MDEsMHgwMCwweDc1LDB4MzAsMHgzNiwweDhCLDB4MEUsMHhEQSwweDEyLDB4ODAsMHhGOSwweDM2LDB4NzMsMHgyNiwweDMzLAotMHhDMCwweDhFLDB4QzAsMHg4RSwweEQ4LDB4QkYsMHhEQywweDEyLDB4MDMsMHhGOSwweEIwLDB4MDgsMHhFOCwweDc3LDB4Q0EsMHg4NSwKLTB4RUQsMHg3NCwweDBFLDB4OEQsMHg3NiwweDRDLDB4QTUsMHhBNSwweEE1LDB4ODAsMHhDMSwweDA2LDB4ODAsMHhGOSwweDM2LDB4NzIsCi0weEU5LDB4ODksMHgwRSwweERBLDB4MTIsMHhDMywweEMzLDB4OTAsMHhGNywweDA2LDB4MjYsMHgwMSwweDAxLDB4MDAsMHg3NSwweEY2LAotMHg4QiwweDBFLDB4MjAsMHgxMywweDg1LDB4QzksMHg3NSwweEVFLDB4MzMsMHhDMCwweDhFLDB4QzAsMHg4RSwweEQ4LDB4QkYsMHgyNCwKLTB4MTMsMHhCOSwweDM2LDB4MDAsMHhCMCwweDBBLDB4RTgsMHgzRCwweENBLDB4ODUsMHhFRCwweDc1LDB4MDYsMHhFOSwweDEyLDB4MDEsCi0weEU5LDB4MEEsMHgwMSwweDMzLDB4REIsMHg4QSwweDQ2LDB4NEMsMHg4QSwweEE2LDB4QjMsMHgwMCwweEZFLDB4Q0MsMHg3OCwweDBFLAotMHg4OCwweEE2LDB4QjMsMHgwMCwweDBBLDB4REMsMHhCNCwweDBBLDB4QUIsMHg4MywweEU5LDB4MDIsMHg3NiwweEUyLDB4OEEsMHhBNiwKLTB4QjIsMHgwMCwweEZFLDB4Q0MsMHg3OCwweDBFLDB4ODgsMHhBNiwweEIyLDB4MDAsMHgwQSwweERDLDB4QjQsMHgwOCwweEFCLDB4ODMsCi0weEU5LDB4MDIsMHg3NiwweENDLDB4OEEsMHhBNiwweEIxLDB4MDAsMHhGRSwweENDLDB4NzgsMHgxOCwweDhBLDB4QkUsMHhCMCwweDAwLAotMHg3NSwweDA0LDB4ODgsMHhBNiwweEIwLDB4MDAsMHg4OCwweEE2LDB4QjEsMHgwMCwweDBBLDB4REMsMHg4QSwweEU3LDB4QUIsMHg4MywKLTB4RTksMHgwMiwweDc2LDB4QUMsMHg4QSwweEE2LDB4QjQsMHgwMCwweEZFLDB4Q0MsMHg3OCwweDFGLDB4ODgsMHhBNiwweEI0LDB4MDAsCi0weDBBLDB4REMsMHhCNCwweDBCLDB4QUIsMHg4QSwweDg2LDB4QkMsMHgwMCwweDhBLDB4QTYsMHhCRCwweDAwLDB4QUIsMHg4QiwweDg2LAotMHhCRSwweDAwLDB4QUIsMHg4MywweEU5LDB4MDYsMHg3NiwweDg4LDB4OEEsMHg0NiwweDRDLDB4OEEsMHhBNiwweEI2LDB4MDAsMHhGRSwKLTB4Q0MsMHg3OCwweDE5LDB4ODgsMHhBNiwweEI2LDB4MDAsMHgwQSwweERDLDB4QjQsMHgwQywweEFCLDB4RTgsMHhEQiwweENCLDB4QUIsCi0weDhCLDB4NDYsMHgyQSwweEFCLDB4ODMsMHhFOSwweDA2LDB4NzYsMHg3NCwweDhBLDB4NDYsMHg0QywweDhBLDB4QTYsMHhCNywweDAwLAotMHhGRSwweENDLDB4NzgsMHgxOSwweDg4LDB4QTYsMHhCNywweDAwLDB4MEEsMHhEQywweEI0LDB4MEQsMHhBQiwweEU4LDB4QkEsMHhDQiwKLTB4QUIsMHg4QiwweDQ2LDB4MzQsMHhBQiwweDgzLDB4RTksMHgwNiwweDc2LDB4NTMsMHg4QSwweDQ2LDB4NEMsMHg4QSwweEE2LDB4QjgsCi0weDAwLDB4RkUsMHhDQywweDc4LDB4MTksMHg4OCwweEE2LDB4QjgsMHgwMCwweDBBLDB4REMsMHhCNCwweDBFLDB4QUIsMHhBMSwweDUwLAotMHgxMiwweEFCLDB4QTEsMHg1MiwweDEyLDB4QUIsMHg4MywweEU5LDB4MDYsMHg3NiwweDMyLDB4OEEsMHg0NiwweDRDLDB4OEEsMHhBNiwKLTB4QjUsMHgwMCwweEZFLDB4Q0MsMHg3OCwweDE4LDB4ODgsMHhBNiwweEI1LDB4MDAsMHgwQSwweERDLDB4QjQsMHgwRiwweEFCLDB4OEIsCi0weDg2LDB4OUEsMHgwMCwweEFCLDB4OEIsMHg4NiwweDlDLDB4MDAsMHhBQiwweDgzLDB4RTksMHgwNiwweDc2LDB4MEYsMHg4NCwweERCLAotMHg3NSwweDAzLDB4RTksMHhFRiwweEZFLDB4QjAsMHgwQSwweEU4LDB4RjgsMHhDOCwweEU5LDB4RTcsMHhGRSwweEIwLDB4MEEsMHhFOCwKLTB4RjAsMHhDOCwweEY3LDB4RDksMHg4MywweEMxLDB4MzYsMHg4QiwweEMxLDB4MEQsMHg4MCwweDAwLDB4ODYsMHhDNCwweEEzLDB4MjIsCi0weDEzLDB4NDEsMHg0MSwweDg5LDB4MEUsMHgyMCwweDEzLDB4QzMsMHhBMSwweDg0LDB4MTIsMHgyQiwweEMxLDB4NzIsMHgxMSwweEEzLAotMHg4NCwweDEyLDB4QkUsMHgyMiwweDEzLDB4RDEsMHhFOSwweEYzLDB4NkYsMHg5MCwweDg5LDB4MEUsMHgyMCwweDEzLDB4RjgsMHhDMywKLTB4RjksMHhDMywweEMzLDB4ODEsMHhFRiwweDZBLDB4MTMsMHg3NCwweEY5LDB4OEIsMHhDNywweDBELDB4ODAsMHgwMCwweDg2LDB4QzQsCi0weEEzLDB4NjgsMHgxMywweDQ3LDB4NDcsMHg4OSwweDNFLDB4NjYsMHgxMywweEMzLDB4RjcsMHgwNiwweDJBLDB4MDEsMHgwMSwweDAwLAotMHg3NSwweEUwLDB4OEIsMHgwRSwweDY2LDB4MTMsMHhFMywweDA3LDB4ODAsMHhGOSwweDIwLDB4NzcsMHhENSwweDQ5LDB4NDksMHgzMywKLTB4QzAsMHg4RSwweEMwLDB4OEUsMHhEOCwweEJGLDB4NkEsMHgxMywweDhCLDB4RjcsMHgwMywweEY5LDB4ODMsMHhDNiwweDM0LDB4M0IsCi0weEZFLDB4NzcsMHhDMCwweEIwLDB4MEUsMHhFOCwweEFFLDB4QzgsMHg4NSwweEVELDB4NzQsMHhCNywweDhBLDB4NDYsMHg0QywweDhBLAotMHhCNiwweEI5LDB4MDAsMHhGRSwweENFLDB4NzgsMHgxNSwweDg4LDB4QjYsMHhCOSwweDAwLDB4OEEsMHhBNiwweEE5LDB4MDAsMHg4MCwKLTB4Q0MsMHhDMCwweEFCLDB4ODQsMHhGNiwweDc0LDB4MDUsMHhCMCwweDBFLDB4RTgsMHg1NiwweEM4LDB4OEEsMHhCNiwweEJBLDB4MDAsCi0weEZFLDB4Q0UsMHg3OCwweENCLDB4OEEsMHg5RSwweEE5LDB4MDAsMHg4QSwweEJFLDB4QUIsMHgwMCwweDhBLDB4NTYsMHgzRiwweDhBLAotMHhGMywweDMyLDB4RjcsMHgwQSwweEI2LDB4QUMsMHgwMCwweEM2LDB4ODYsMHhBQywweDAwLDB4MDAsMHgyMiwweEYyLDB4NzQsMHg0QiwKLTB4RjYsMHhDNiwweDA4LDB4NzQsMHgwRiwweEI0LDB4MDIsMHhGNiwweEMzLDB4MDgsMHg3NSwweDAyLDB4QjQsMHgwMywweEFCLDB4ODAsCi0weEU2LDB4RjcsMHg3NCwweDM3LDB4RjYsMHhDNiwweDAxLDB4NzQsMHgwRiwweEI0LDB4MDAsMHhGNiwweEMzLDB4MDEsMHg3NSwweDAyLAotMHhCNCwweDAxLDB4QUIsMHg4MCwweEU2LDB4RkUsMHg3NCwweDIzLDB4RjYsMHhDNiwweDAyLDB4NzQsMHgwRiwweEI0LDB4MDQsMHhGNiwKLTB4QzMsMHgwMiwweDc1LDB4MDIsMHhCNCwweDA1LDB4QUIsMHg4MCwweEU2LDB4RkQsMHg3NCwweDBGLDB4RjYsMHhDNiwweDA0LDB4NzQsCi0weDBBLDB4QjQsMHgwNiwweEY2LDB4QzMsMHgwNCwweDc1LDB4MDIsMHhCNCwweDA3LDB4QUIsMHhDNiwweDg2LDB4QkEsMHgwMCwweDAwLAotMHg4OCwweDlFLDB4QUIsMHgwMCwweEU5LDB4NTgsMHhGRiwweDkwLDB4QTEsMHg4NCwweDEyLDB4MkIsMHhDMSwweDcyLDB4MTEsMHhBMywKLTB4ODQsMHgxMiwweEJFLDB4NjgsMHgxMywweEQxLDB4RTksMHhGMywweDZGLDB4OTAsMHg4OSwweDBFLDB4NjYsMHgxMywweEY4LDB4QzMsCi0weEY5LDB4QzMsMHhBMSwweDg0LDB4MTIsMHg0MSwweDQxLDB4MkIsMHhDMSwweDcyLDB4MjMsMHhBMywweDg0LDB4MTIsMHg4QiwweEMxLAotMHg0OCwweDQ4LDB4MzIsMHhFNCwweDBDLDB4ODAsMHg4NiwweEM0LDB4RUYsMHg5MCwweDkwLDB4OTAsMHg5MCwweDkwLDB4QkUsMHhEQywKLTB4MTIsMHg0OSwweDQ5LDB4RDEsMHhFOSwweEYzLDB4NkYsMHg5MCwweDg5LDB4MEUsMHhEQSwweDEyLDB4RjgsMHhDMywweEY5LDB4QzMsCi0weDhBLDB4QzgsMHg4QSwweDQ2LDB4NEMsMHhCNCwweDAxLDB4ODMsMHhFQiwweDA2LDB4RUYsMHg5MCwweDkwLDB4OTAsMHg5MCwweDkwLAotMHhCOCwweDAxLDB4MDAsMHhFRiwweDkwLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg4QSwweEMxLDB4RUYsMHg5MCwweDkwLDB4OTAsMHg5MCwKLTB4OTAsMHhFOSwweDk3LDB4MDAsMHhFOSwweEFDLDB4MDAsMHgzMywweEMwLDB4OEUsMHhEOCwweDg5LDB4MUUsMHg4NCwweDEyLDB4QzMsCi0weDM2LDB4OEIsMHgxRSwweDg0LDB4MTIsMHhGQiwweDkwLDB4RkEsMHhCMCwweDBDLDB4RTgsMHg4OSwweEM3LDB4ODUsMHhFRCwweDc0LAotMHhFNiwweEM1LDB4NzYsMHgwQywweDgzLDB4RkIsMHgxNCwweDcyLDB4REIsMHhGQiwweDkwLDB4RkEsMHhBRCwweDg1LDB4QzAsMHg3OCwKLTB4QUYsMHg3NCwweEUyLDB4OEIsMHhGRSwweDAzLDB4RjgsMHgzNiwweDhCLDB4MEUsMHg4NiwweDEyLDB4M0IsMHhDMSwweDc3LDB4MDIsCi0weDhCLDB4QzgsMHg4MywweEVCLDB4MDQsMHgzQiwweEQ5LDB4NzcsMHgwMiwweDhCLDB4Q0IsMHgzMywweEMwLDB4OEEsMHg0NiwweDRDLAotMHhFRiwweDkwLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg4QiwweEMxLDB4RUYsMHg5MCwweDkwLDB4OTAsMHg5MCwweDkwLDB4NDEsMHg4MCwKLTB4RTEsMHhGRSwweDJCLDB4RDksMHg1MSwweEQxLDB4RTksMHhGMywweDZGLDB4OTAsMHg1OSwweDhCLDB4QzcsMHg0MCwweDI0LDB4RkUsCi0weDNCLDB4QzYsMHg3NCwweDI3LDB4MkIsMHhGRSwweDRFLDB4NEUsMHg1MywweDhCLDB4NUUsMHgxMCwweDNCLDB4RjMsMHg3MiwweDEzLAotMHgwMywweDFGLDB4ODMsMHhDMywweDAzLDB4ODAsMHhFMywweEZFLDB4QzcsMHgwNywweDAwLDB4MDAsMHg4MywweDZFLDB4NzQsMHgwMiwKLTB4ODksMHg1RSwweDEwLDB4NUIsMHg4OSwweDNDLDB4ODksMHg3NiwweDBDLDB4RUIsMHg4OSwweDg5LDB4NzYsMHgwQywweDM5LDB4NzYsCi0weDEwLDB4NzcsMHg4MSwweDcyLDB4MDgsMHg4MywweDNDLDB4MDAsMHg3NCwweDAzLDB4RTksMHg3NywweEZGLDB4RTgsMHgwRCwweEJFLAotMHhFOSwweDYyLDB4RkYsMHgzNiwweDg5LDB4MUUsMHg4NCwweDEyLDB4QjAsMHgwQywweEU4LDB4QjUsMHhDNiwweDMzLDB4QzAsMHg4RSwKLTB4RDgsMHhDMywweEExLDB4ODQsMHgxMiwweDNELDB4MTAsMHgwMCwweDcyLDB4NzcsMHhCQSwweDA0LDB4MDEsMHgzQiwweDA2LDB4ODgsCi0weDEyLDB4NzUsMHgwNiwweEM3LDB4MDYsMHg3RSwweDEyLDB4MDAsMHgwMCwweDhCLDB4MEUsMHhEQSwweDEyLDB4RTMsMHgwQiwweEU4LAotMHhEMCwweEZFLDB4NzIsMHg1NywweEM3LDB4MDYsMHg3RSwweDEyLDB4RkYsMHg3RiwweDhCLDB4MEUsMHgyMCwweDEzLDB4RTMsMHgwQiwKLTB4RTgsMHhBNSwweEZELDB4NzIsMHg0NiwweEM3LDB4MDYsMHg3RSwweDEyLDB4RkYsMHg3RiwweDhCLDB4MEUsMHg2NiwweDEzLDB4RTMsCi0weDBCLDB4RTgsMHg5NCwweEZFLDB4NzIsMHgzNSwweEM3LDB4MDYsMHg3RSwweDEyLDB4RkYsMHg3RiwweEExLDB4MjgsMHgwMSwweEE5LAotMHgwMSwweDAwLDB4NzUsMHgwMywweEU4LDB4RjksMHhGRSwweDgwLDB4M0UsMHg4RCwweDEyLDB4MDAsMHg3NSwweDFELDB4QTEsMHg4NCwKLTB4MTIsMHgzRCwweDIwLDB4MDAsMHg3NiwweDE1LDB4M0IsMHgwNiwweDgyLDB4MTIsMHg3NiwweDA5LDB4QTEsMHg3RSwweDEyLDB4M0IsCi0weDA2LDB4ODAsMHgxMiwweDcyLDB4MEMsMHg4MCwweDBFLDB4OTAsMHgxMiwweDgwLDB4QzMsMHhCMCwweDgwLDB4RkYsMHgxNiwweDdDLAotMHgxMiwweEMzLDB4ODAsMHgwRSwweDkwLDB4MTIsMHg0MCwweEMzLDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgxNywKLTB4OUMsMHgwRSwweEU4LDB4QjcsMHhDOCwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MjAsMHg5QywweDBFLDB4RTgsCi0weEFBLDB4QzgsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDE2LDB4OUMsMHgwRSwweEU4LDB4OUQsMHhDOCwweDkwLAotMHhCQSwweDA2LDB4MDEsMHhFQywweEE4LDB4MjAsMHg3NSwweENBLDB4RkIsMHg5MCwweEZBLDB4QkEsMHgwNCwweDAxLDB4RUQsMHg5MCwKLTB4OTAsMHg5MCwweDkwLDB4OTAsMHgzQSwweDA2LDB4OTQsMHgxMiwweDc3LDB4QkUsMHgzMywweERCLDB4OEEsMHhEOCwweEQxLDB4RTMsCi0weDJFLDB4OEIsMHhBRiwweDQ0LDB4MDAsMHhDNCwweDdFLDB4MDgsMHg4NSwweEZGLDB4NzQsMHhCOSwweEY2LDB4QzQsMHhDMCwweDc1LAotMHg1NSwweDMyLDB4QzAsMHhDMSwweEUwLDB4MDIsMHg4MCwweEU0LDB4RjAsMHg4QiwweEYwLDB4RUQsMHg5MCwweDkwLDB4OTAsMHg5MCwKLTB4OTAsMHg4NSwweEMwLDB4NzQsMHhCQiwweDhCLDB4QzgsMHg0MSwweDgwLDB4RTEsMHhGRSwweDBCLDB4QzYsMHg4QiwweDVFLDB4NTAsCi0weDRCLDB4NEIsMHgyQiwweEQ5LDB4NzgsMHg5QywweEFCLDB4OEIsMHhDMSwweDQwLDB4NDAsMHgwMSwweDQ2LDB4NEUsMHhEMSwweEU5LAotMHhGMywweDZELDB4OTAsMHg4OSwweDVFLDB4NTAsMHg4OSwweDdFLDB4MDgsMHg4QiwweDQ2LDB4MjYsMHg4MCwweEU0LDB4RUYsMHg4OSwKLTB4NDYsMHgyNiwweEY2LDB4QzQsMHgwMSwweDc1LDB4MEMsMHhGNywweDQ2LDB4NDgsMHgwQywweDAwLDB4NzUsMHgwNSwweEIwLDB4MDIsCi0weEU4LDB4N0YsMHhDNSwweEU5LDB4N0EsMHhGRiwweDg2LDB4QzQsMHg4QiwweEM4LDB4ODMsMHhFMSwweDNGLDB4NDEsMHg4MCwweEUxLAotMHhGRSwweEUzLDB4MEEsMHgzQywweDgwLDB4NzIsMHgwOSwweDI0LDB4M0YsMHhCNCwweEYwLDB4RUIsMHhCMCwweEU5LDB4NjAsMHhGRiwKLTB4MjUsMHgzRiwweDAwLDB4MzMsMHhGRiwweDhFLDB4QzcsMHhCRiwweDk2LDB4MTIsMHg4QiwweEY3LDB4RDEsMHhFOSwweEYzLDB4NkQsCi0weDkwLDB4OEIsMHhDOCwweEU4LDB4NDgsMHhFRCwweEU5LDB4NDcsMHhGRiwweDkwLDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLAotMHgxMiwweDFCLDB4OUMsMHgwRSwweEU4LDB4RDUsMHhDNywweDkwLDB4NjAsMHgxRSwweDA2LDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RSwKLTB4QzAsMHhCQSwweDA2LDB4MDEsMHhFQywweEE4LDB4MDQsMHg3NCwweEUxLDB4QjAsMHgwNiwweEVFLDB4RUMsMHhBMiwweDhDLDB4MTIsCi0weEE4LDB4NDAsMHg3NCwweDExLDB4QTEsMHg4OCwweDEyLDB4QTMsMHg4NCwweDEyLDB4QzYsMHgwNiwweDhELDB4MTIsMHgwMCwweEU4LAotMHg2MCwweEZFLDB4QTAsMHg4QywweDEyLDB4QTgsMHg4MCwweDc0LDB4MDMsMHhFOCwweDA0LDB4RkYsMHhCOCwweDAwLDB4ODAsMHhCQSwKLTB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MUIsCi0weDlDLDB4MEUsMHhFOCwweDg3LDB4QzcsMHg5MCwweDYwLDB4MUUsMHgwNiwweDMzLDB4QzAsMHg4RSwweEQ4LDB4OEUsMHhDMCwweEJBLAotMHgwNiwweDAxLDB4RUMsMHhBOCwweDA0LDB4NzQsMHhFMSwweEJBLDB4MDgsMHgwMSwweEVDLDB4QTIsMHg4QywweDEyLDB4QTgsMHg0MCwKLTB4NzQsMHgxMSwweEExLDB4ODgsMHgxMiwweEEzLDB4ODQsMHgxMiwweEM2LDB4MDYsMHg4RCwweDEyLDB4MDAsMHhFOCwweDEyLDB4RkUsCi0weEEwLDB4OEMsMHgxMiwweEE4LDB4ODAsMHg3NCwweDAzLDB4RTgsMHhCNiwweEZFLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLAotMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsMHhFRSwweDg2LDB4RTAsMHhFRSwweDg2LDB4RTAsMHhFQywweDg2LDB4RTAsMHhFQywKLTB4ODYsMHhFMCwweDgwLDB4RTEsMHhGRSwweEYzLDB4NkMsMHg5MCwweDgwLDB4RTEsMHhGRSwweEYzLDB4NkUsMHg5MCwweDA1LDB4MDAsCi0weDc1LDB4NDcsMHhBOCwweDRCLDB4MDUsMHgwMCwweDc1LDB4NDgsMHhBOCwweDRCLDB4MDUsMHgwMCwweEEzLDB4NDgsMHhBOCwweDRCLAotMHgwNSwweDAwLDB4MzUsMHg0OSwweEE4LDB4NEIsMHgwNiwweDAwLDB4OTgsMHg0OCwweDk2LDB4NEIsMHgwNiwweDAwLDB4QkEsMHg0OCwKLTB4OTYsMHg0QiwweDA2LDB4MDAsMHhDMywweDQ4LDB4OTYsMHg0QiwweDA2LDB4MDAsMHhDQiwweDQ4LDB4OTYsMHg0QiwweDA2LDB4MDAsCi0weDIwLDB4NDksMHg5NiwweDRCLDB4MDYsMHgwMCwweDI4LDB4NDksMHg5NiwweDRCLDB4MDYsMHgwMCwweDRFLDB4NEEsMHg5QywweDRCLAotMHgwNiwweDAwLDB4N0IsMHg0QSwweDlDLDB4NEIsMHgwNSwweDAwLDB4OUUsMHg0QSwweEEyLDB4NEIsMHgwNSwweDAwLDB4RUMsMHg0QSwKLTB4QTIsMHg0QiwweDAwLDB4MDAsMHgxRSwweDA2LDB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc0LDB4MDksMHhBMCwweDA2LDB4MDEsCi0weDI0LDB4MzAsMHgzQywweDMwLDB4NzQsMHgxQSwweDhDLDB4QzgsMHg4RSwweEQ4LDB4OEUsMHhDMCwweEJCLDB4QUUsMHg0QiwweDhCLAotMHgwRiwweEUzLDB4MEQsMHg4QiwweDdGLDB4MDIsMHg4QiwweDc3LDB4MDQsMHhGMywweEE0LDB4ODMsMHhDMywweDA2LDB4RUIsMHhFRiwKLTB4MDcsMHgxRiwweEMzLDB4OTAsMHgzMywweEMwLDB4QTMsMHgzRSwweDAxLDB4QjksMHgwQywweDAxLDB4QkUsMHg0MCwweDAxLDB4OEIsCi0weEZFLDB4ODEsMHhDNiwweEI0LDB4MEYsMHg4OSwweDA0LDB4OEIsMHhDNiwweDJCLDB4RjEsMHgzQiwweEM3LDB4NzcsMHhGNiwweEEzLAotMHgzQywweDAxLDB4QzMsMHg5MCwweDFFLDB4MDYsMHg2MCwweDM2LDB4OEIsMHgyRSwweDNFLDB4MDEsMHg4QiwweDVFLDB4MDAsMHgzQiwKLTB4RUIsMHg3NCwweDJCLDB4OEIsMHg3NiwweDAyLDB4ODksMHgxQywweDg5LDB4NzcsMHgwMiwweDM2LDB4QTEsMHgzQywweDAxLDB4ODksCi0weDQ2LDB4MDAsMHgzNiwweDg5LDB4MkUsMHgzQywweDAxLDB4OEIsMHhFQiwweEZGLDB4NEUsMHgwNiwweDc0LDB4MDgsMHg4QiwweDZFLAotMHgwMCwweEZGLDB4NEUsMHgwNiwweDc1LDB4RjgsMHgzNiwweDg5LDB4MkUsMHgzRSwweDAxLDB4OEIsMHg2NiwweDA0LDB4NjEsMHgwNywKLTB4MUYsMHhDMywweDFFLDB4MDYsMHg2MCwweDM2LDB4OEIsMHgyRSwweDNFLDB4MDEsMHg5OCwweDg5LDB4NDYsMHgwNiwweDg5LDB4NjYsCi0weDA0LDB4M0IsMHg2RSwweDAwLDB4NzQsMHgxMCwweDhCLDB4NkUsMHgwMCwweEZGLDB4NEUsMHgwNiwweDc1LDB4RjgsMHgzNiwweDg5LAotMHgyRSwweDNFLDB4MDEsMHg4QiwweDY2LDB4MDQsMHg2MSwweDA3LDB4MUYsMHhDMywweEMzLDB4OTAsMHgxRSwweDA2LDB4NjAsMHg5QywKLTB4RkEsMHgzMywweEVELDB4OEUsMHhERCwweDhCLDB4MkUsMHgzQywweDAxLDB4ODUsMHhFRCwweDc0LDB4M0QsMHg4QiwweDRFLDB4MDAsCi0weDg5LDB4MEUsMHgzQywweDAxLDB4OEIsMHhDQywweDhELDB4QTYsMHgwQSwweDAxLDB4NTYsMHgxRSwweDA2LDB4NjAsMHg4OSwweDY2LAotMHgwNCwweEM3LDB4NDYsMHgwOCwweDBGLDB4MUEsMHhDNywweDQ2LDB4MDYsMHgwMSwweDAwLDB4OEIsMHgxRSwweDNFLDB4MDEsMHg4NSwKLTB4REIsMHg3NCwweDFELDB4OEIsMHhDNSwweDg3LDB4MDcsMHg4OSwweDQ2LDB4MDAsMHg4OSwweDVFLDB4MDIsMHg4QiwweEQ4LDB4ODksCi0weDZGLDB4MDIsMHg4QiwweEUxLDB4OUQsMHg2MSwweDA3LDB4MUYsMHhGOCwweEMzLDB4OUQsMHg2MSwweDA3LDB4MUYsMHhGOSwweEMzLAotMHg4OSwweDJFLDB4M0UsMHgwMSwweDg5LDB4NkUsMHgwMCwweDg5LDB4NkUsMHgwMiwweDg3LDB4RTEsMHg5RCwweDhCLDB4RTEsMHhFQiwKLTB4RTQsMHgwMCwweDBELDB4MEEsMHg1NCwweDY1LDB4NzIsMHg2RCwweDY5LDB4NkUsMHg2MSwweDZDLDB4NzMsMHgyMCwweDczLDB4NzUsCi0weDcwLDB4NzAsMHg2RiwweDcyLDB4NzQsMHg2NSwweDY0LDB4M0EsMHgwRCwweDBBLDB4MzEsMHgyOSwweDIwLDB4NDEsMHg0RSwweDUzLAotMHg0OSwweDIwLDB4NjMsMHg2RiwweDZELDB4NzAsMHg2MSwweDc0LDB4NjksMHg2MiwweDZDLDB4NjUsMHgwRCwweDBBLDB4MzIsMHgyOSwKLTB4MjAsMHg1NywweDc5LDB4NzMsMHg2NSwweDIwLDB4MzMsMHgzMCwweDBELDB4MEEsMHg1MCwweDZDLDB4NjUsMHg2MSwweDczLDB4NjUsCi0weDIwLDB4NzMsMHg2NSwweDZDLDB4NjUsMHg2MywweDc0LDB4M0EsMHgyMCwweDAwLDB4MEQsMHgwQSwweDYzLDB4NkYsMHg2NCwweDY1LAotMHgyMCwweDczLDB4NjUsMHg2NywweDZELDB4NjUsMHg2RSwweDc0LDB4M0QsMHgwMCwweDBELDB4MEEsMHg0RCwweDZGLDB4NkUsMHg2OSwKLTB4NzQsMHg2RiwweDcyLDB4MjAsMHg3NiwweDMyLDB4MkUsMHgzNSwweDBBLDB4MEQsMHgwQSwweDNFLDB4MDAsMHgwRCwweDBBLDB4NTAsCi0weDYxLDB4NzIsMHg2NCwweDZGLDB4NkUsMHgzRiwweDAwLDB4MEQsMHgwQSwweDRFLDB4NkYsMHgyMCwweDYxLDB4NjQsMHg2NCwweDcyLAotMHg2NSwweDczLDB4NzMsMHgyMCwweDczLDB4NzAsMHg2NSwweDYzLDB4NjksMHg2NiwweDY5LDB4NjUsMHg2NCwweDAwLDB4MEQsMHgwQSwKLTB4M0EsMHgwMCwweDBELDB4MEEsMHgwMCwweDRDLDB4NkYsMHg2MywweDNELDB4MDAsMHgwRCwweDBBLDB4NDYsMHg0MSwweDU0LDB4NDEsCi0weDRDLDB4MjAsMHg0NSwweDUyLDB4NTIsMHg0RiwweDUyLDB4M0QsMHgwMCwweDBELDB4MEEsMHg0RCwweDZGLDB4NkUsMHg2OSwweDc0LAotMHg2RiwweDcyLDB4MjAsMHg2MywweDZGLDB4NkQsMHg2RCwweDYxLDB4NkUsMHg2NCwweDczLDB4M0EsMHgyRCwweDBELDB4MEEsMHgyMCwKLTB4MjAsMHgyMCwweDQ0LDB4MkMsMHg2NCwweDVCLDB4NUIsMHg3OCwweDc4LDB4NzgsMHg3OCwweDNBLDB4NUQsMHg3OCwweDc4LDB4NzgsCi0weDc4LDB4NUQsMHgyMCwweDJELDB4MjAsMHg2NCwweDc1LDB4NkQsMHg3MCwweDIwLDB4NkQsMHg2NSwweDZELDB4NkYsMHg3MiwweDc5LAotMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NEMsMHgyQywweDZDLDB4NUIsMHg1QiwweDc4LDB4NzgsMHg3OCwweDc4LDB4M0EsMHg1RCwKLTB4NzgsMHg3OCwweDc4LDB4NzgsMHg1RCwweDIwLDB4MkQsMHgyMCwweDY0LDB4NzUsMHg2RCwweDcwLDB4MjAsMHg3MywweDY5LDB4NkUsCi0weDY3LDB4NkMsMHg2NSwweDIwLDB4NkMsMHg2OSwweDZFLDB4NjUsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NDUsMHgyQywweDY1LAotMHg1QiwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgzQSwweDVELDB4NzgsMHg3OCwweDc4LDB4NzgsMHg1RCwweDIwLDB4MkQsMHgyMCwKLTB4NjUsMHg2NCwweDY5LDB4NzQsMHgyMCwweDZELDB4NjUsMHg2RCwweDZGLDB4NzIsMHg3OSwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsCi0weDQ2LDB4MkMsMHg2NiwweDVCLDB4NUIsMHg3OCwweDc4LDB4NzgsMHg3OCwweDIwLDB4NUQsMHg3OCwweDc4LDB4NzgsMHg3OCwweDVELAotMHgyMCwweDJELDB4MjAsMHg2NiwweDY5LDB4NkMsMHg2QywweDIwLDB4NkQsMHg2NSwweDZELDB4NkYsMHg3MiwweDc5LDB4MjAsMHg3MCwKLTB4NjEsMHg3MiwweDYxLDB4NjcsMHg3MiwweDYxLDB4NzAsMHg2OCwweDczLDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDQ5LDB4NUIsCi0weDc4LDB4NzgsMHg3OCwweDc4LDB4NUQsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELAotMHgyMCwweDc3LDB4NkYsMHg3MiwweDY0LDB4MjAsMHg2OSwweDZFLDB4NzAsMHg3NSwweDc0LDB4MjAsMHg2NiwweDcyLDB4NkYsMHg2RCwKLTB4MjAsMHg3MCwweDZGLDB4NzIsMHg3NCwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg2OSwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsCi0weDVELDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NjIsMHg3OSwweDc0LAotMHg2NSwweDIwLDB4NjksMHg2RSwweDcwLDB4NzUsMHg3NCwweDIwLDB4NjYsMHg3MiwweDZGLDB4NkQsMHgyMCwweDcwLDB4NkYsMHg3MiwKLTB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NEYsMHg3OCwweDc4LDB4NzgsMHg3OCwweDIwLDB4NzgsMHg3OCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDZGLDB4NzUsMHg3NCwweDcwLDB4NzUsMHg3NCwweDIwLAotMHg3NywweDZGLDB4NzIsMHg2NCwweDIwLDB4NzQsMHg2RiwweDIwLDB4NzAsMHg2RiwweDcyLDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwKLTB4MjAsMHg2RiwweDc4LDB4NzgsMHg3OCwweDc4LDB4MjAsMHg3OCwweDc4LDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyRCwweDIwLDB4NkYsMHg3NSwweDc0LDB4NzAsMHg3NSwweDc0LDB4MjAsMHg2MiwweDc5LDB4NzQsMHg2NSwweDIwLAotMHg3NCwweDZGLDB4MjAsMHg3MCwweDZGLDB4NzIsMHg3NCwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg0NywweDVCLDB4NUIsMHg3OCwKLTB4NzgsMHg3OCwweDc4LDB4M0EsMHg1RCwweDc4LDB4NzgsMHg3OCwweDc4LDB4NUQsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NjcsCi0weDZGLDB4NzQsMHg2RiwweDIwLDB4NjEsMHg2NCwweDY0LDB4NzIsMHg2NSwweDczLDB4NzMsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLAotMHg1NywweDVCLDB4NUIsMHg3OCwweDc4LDB4NzgsMHg3OCwweDNBLDB4NUQsMHg3OCwweDc4LDB4NzgsMHg3OCwweDVELDB4MjAsMHgyMCwKLTB4MjAsMHgyRCwweDIwLDB4NzcsMHg2MSwweDc0LDB4NjMsMHg2OCwweDIwLDB4NjEsMHgyMCwweDc3LDB4NkYsMHg3MiwweDY0LDB4MEQsCi0weDBBLDB4MjAsMHgyMCwweDIwLDB4NDMsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDY5LDB4NkUsMHg3NCwweDY1LDB4NzIsMHg3MiwweDc1LDB4NzAsMHg3NCwKLTB4NzMsMHgyMCwweDZGLDB4NjYsMHg2NiwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg1MywweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NjksMHg2RSwweDc0LAotMHg2NSwweDcyLDB4NzIsMHg3NSwweDcwLDB4NzQsMHg3MywweDIwLDB4NkYsMHg2RSwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg3MywKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDJELDB4MjAsMHg3MywweDY5LDB4NkUsMHg2NywweDZDLDB4NjUsMHgyMCwweDczLDB4NzQsMHg2NSwweDcwLDB4MEQsMHgwQSwweDIwLAotMHgyMCwweDIwLDB4NDIsMHg3OCwweDc4LDB4NzgsMHg3OCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDYyLDB4NzIsMHg2NSwweDYxLDB4NkIsMHg3MCwweDZGLDB4NjksMHg2RSwweDc0LDB4MjAsCi0weDczLDB4NjUsMHg3NCwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg2MiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NjIsMHg3MiwweDY1LDB4NjEsMHg2QiwKLTB4NzAsMHg2RiwweDY5LDB4NkUsMHg3NCwweDIwLDB4NjMsMHg2QywweDY1LDB4NjEsMHg3MiwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsCi0weDUyLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDJELDB4MjAsMHg3MiwweDY1LDB4NzMsMHg3NCwweDYxLDB4NzIsMHg3NCwweDIwLDB4NjIsMHg3MiwweDY1LDB4NjEsMHg2QiwKLTB4NzAsMHg2RiwweDY5LDB4NkUsMHg3NCwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg3MiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NzIsMHg2NSwweDY3LAotMHg2OSwweDczLDB4NzQsMHg2NSwweDcyLDB4NzMsMHgyMCwweDYxLDB4NzQsMHgyMCwweDYyLDB4NzIsMHg2QiwweDcwLDB4NzQsMHgwRCwKLTB4MEEsMHgyMCwweDIwLDB4MjAsMHg1OCwweDJDLDB4NzgsMHgyMCwweDZFLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NjUsMHg3OCwweDYxLDB4NkQsMHg2OSwweDZFLDB4NjUsMHgyMCwweDYzLAotMHg2OCwweDYxLDB4NkUsMHg2RSwweDY1LDB4NkMsMHgyMCwweDZFLDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDQ4LDB4MkMsMHgzRiwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsCi0weDc0LDB4NjgsMHg2OSwweDczLDB4MjAsMHg2RCwweDY1LDB4NzMsMHg3MywweDYxLDB4NjcsMHg2NSwweDAwLDB4MUIsMHg1QiwweDMyLAotMHg0QSwweDFCLDB4NUIsMHgzMSwweDNCLDB4MzEsMHg0OCwweDQxLDB4NEUsMHg1MywweDQ5LDB4MjAsMHg1NCwweDY1LDB4NzIsMHg2RCwKLTB4NjksMHg2RSwweDYxLDB4NkMsMHgwRCwweDBBLDB4MEEsMHgwMCwweDFCLDB4NUIsMHg0QiwweDAwLDB4MUIsMHg1QiwweDRBLDB4MDAsCi0weDFCLDB4NUIsMHgzMiwweDRBLDB4MUIsMHg1QiwweDMxLDB4M0IsMHgzMSwweDQ4LDB4MDAsMHgxQiwweDVCLDB4NDQsMHgyMCwweDFCLAotMHg1QiwweDQ0LDB4MDAsMHgxQiwweDVCLDB4MzEsMHgzQiwweDM3LDB4MzIsMHg0OCwweDAwLDB4MUIsMHg1QiwweDAwLDB4M0IsMHgwMCwKLTB4NDgsMHgwMCwweDFCLDB4NUIsMHg3MywweDAwLDB4MUIsMHg1QiwweDc1LDB4MDAsMHgxQiwweDdBLDB4MkIsMHgwQiwweDdGLDB4MUIsCi0weDdBLDB4MkUsMHgwQywweDdGLDB4MUIsMHg3QSwweDJELDB4MDgsMHg3RiwweDFCLDB4N0EsMHgyQywweDBBLDB4N0YsMHgxQiwweDdBLAotMHgyMiwweDA4LDB4N0YsMHgxQSwweDU3LDB4NzksMHg3MywweDY1LDB4MjAsMHgzMywweDMwLDB4MjAsMHg1NCwweDY1LDB4NzIsMHg2RCwKLTB4NjksMHg2RSwweDYxLDB4NkMsMHgwRCwweDBBLDB4MDAsMHgxQiwweDU0LDB4MDAsMHgxQiwweDU5LDB4MDAsMHgxQSwweDAwLDB4MUUsCi0weDAwLDB4MDgsMHgyMCwweDA4LDB4MDAsMHgwMCwweDFCLDB4M0QsMHgwMCwweDAwLDB4MDAsMHgxQiwweDQ2LDB4MDAsMHgwRCwweDAwLAotMHgzRiwweDQ0LDB4NjQsMHg0NSwweDY1LDB4NDYsMHg2NiwweDQ3LDB4NjcsMHg0OCwweDY4LDB4NDksMHg2OSwweDRGLDB4NkYsMHg0MywKLTB4NjMsMHg1MywweDczLDB4NDIsMHg2MiwweDUyLDB4NzIsMHg1NywweDc3LDB4NTgsMHg3OCwweDRDLDB4NkMsMHgzQywweDYwLDB4RDQsCi0weDU3LDB4RDQsMHg1NywweDUwLDB4NTgsMHg1MCwweDU4LDB4RDYsMHg1OSwweEQ2LDB4NTksMHhCNCwweDU5LDB4QjQsMHg1OSwweDNDLAotMHg2MCwweDNDLDB4NjAsMHg2QywweDU3LDB4NDgsMHg1NywweDI2LDB4NTcsMHgwNiwweDU3LDB4OTAsMHg1NywweDkwLDB4NTcsMHg5OCwKLTB4NTcsMHg0OCwweDVGLDB4MEMsMHg1RiwweDU4LDB4NUYsMHgzMywweDVGLDB4NDAsMHg1RiwweEEwLDB4NTcsMHhBMCwweDU3LDB4RkUsCi0weDU5LDB4RkUsMHg1OSwweERDLDB4NTcsMHhEQywweDU3LDB4ODgsMHg2MSwweDk4LDB4NjEsMHhDMCwweDYxLDB4Q0MsMHg2MSwweEQ4LAotMHg2MSwweEY2LDB4NjEsMHgwMiwweDYyLDB4MjIsMHg2MiwweEY4LDB4NTYsMHg0QSwweDYyLDB4NTgsMHg2MiwweDYwLDB4NTksMHgyMCwKLTB4MjAsMHg2NiwweDZDLDB4NjEsMHg2NywweDczLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MSwweDc4LDB4M0QsMHgwMCwweDIwLDB4MjAsCi0weDYyLDB4NzgsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NzgsMHgzRCwweDAwLDB4MjAsMHgyMCwweDY0LDB4NzgsMHgzRCwweDAwLAotMHgyMCwweDIwLDB4NjMsMHg3MywweDNELDB4MDAsMHgyMCwweDIwLDB4NjQsMHg3MywweDNELDB4MDAsMHgyMCwweDIwLDB4NjUsMHg3MywKLTB4M0QsMHgwMCwweDIwLDB4MjAsMHg3MywweDczLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2NCwweDY5LDB4M0QsMHgwMCwweDIwLDB4MjAsCi0weDczLDB4NjksMHgzRCwweDAwLDB4MjAsMHgyMCwweDYyLDB4NzAsMHgzRCwweDAwLDB4MjAsMHgyMCwweDczLDB4NzAsMHgzRCwweDAwLAotMHgyMCwweDIwLDB4NjksMHg3MCwweDNELDB4MDAsMHgyMCwweDYzLDB4NjgsMHg2MSwweDZFLDB4NjUsMHg2QywweDNELDB4MDAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4NzMsMHg2NSwweDY3LDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NzMsMHg3NCwweDcyLDB4M0QsCi0weDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsMHg3NCwweDZGLDB4NzMsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsMHg2RCwweDYxLAotMHg3OCwweDNELDB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwweDYyLDB4NjEsMHg3MywweDNELDB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwKLTB4NzMsMHg2OSwweDdBLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NzMsMHg3NCwweDY2LDB4M0QsMHgwMCwweDIwLDB4NzQsCi0weDY5LDB4NUYsMHg3MiwweDZGLDB4NkYsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsMHg2NiwweDZDLDB4NjcsMHgzRCwweDAwLAotMHgyMCwweDc0LDB4NjksMHg1RiwweDc0LDB4NkYsMHg3NCwweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDcwLDB4NjMsMHg2RSwKLTB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzMsMHg3NCwweDcyLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzMsCi0weDc0LDB4NjYsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3MiwweDZGLDB4NkYsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LAotMHg1RiwweDYyLDB4NjEsMHg3MywweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDczLDB4NjksMHg3QSwweDNELDB4MDAsMHgyMCwKLTB4NzIsMHg2OSwweDVGLDB4NzQsMHg2RiwweDc0LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NkQsMHg2OSwweDZFLDB4M0QsCi0weDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg2NiwweDZDLDB4NjcsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3NCwweDZGLAotMHg3MywweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDc0LDB4NjgsMHg3MiwweDNELDB4MDAsMHgyMCwweDc0LDB4NjgsMHg1RiwKLTB4NzMsMHg3NCwweDY2LDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OCwweDVGLDB4NzMsMHg3NCwweDcyLDB4M0QsMHgwMCwweDIwLDB4NzQsCi0weDY4LDB4NUYsMHg2MiwweDYxLDB4NzMsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY4LDB4NUYsMHg3MywweDY5LDB4N0EsMHgzRCwweDAwLAotMHgyMCwweDc0LDB4NjgsMHg1RiwweDc0LDB4NzIsMHg2NywweDNELDB4MDAsMHgyMCwweDc0LDB4NjgsMHg1RiwweDY2LDB4NkMsMHg2NywKLTB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OCwweDVGLDB4NjMsMHg2RSwweDc0LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NzMsCi0weDc0LDB4NzIsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY4LDB4NUYsMHg3MywweDc0LDB4NjYsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY4LAotMHg1RiwweDYyLDB4NjEsMHg3MywweDNELDB4MDAsMHgyMCwweDcyLDB4NjgsMHg1RiwweDczLDB4NjksMHg3QSwweDNELDB4MDAsMHgyMCwKLTB4NzIsMHg2OCwweDVGLDB4NzMsMHg3MCwweDYxLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NjEsMHg3MywweDZGLDB4M0QsCi0weDAwLDB4MjAsMHg3MiwweDY4LDB4NUYsMHg3MiwweDZGLDB4NkYsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY4LDB4NUYsMHg2NiwweDZDLAotMHg2NywweDNELDB4MDAsMHgyMCwweDZELDB4NUYsMHg2MywweDYxLDB4NzIsMHg2NSwweDNELDB4MDAsMHgyMCwweDcwLDB4NzQsMHg1RiwKLTB4NjYsMHg2QywweDZGLDB4M0QsMHgwMCwweDIwLDB4NjEsMHg3MywweDVGLDB4NjYsMHg2QywweDZGLDB4M0QsMHgwMCwweDIwLDB4NzIsCi0weDZELDB4NUYsMHg2NiwweDZDLDB4NkYsMHgzRCwweDAwLDB4MjAsMHgyMCwweDIwLDB4NzEsMHg1RiwweDY5LDB4NkUsMHgzRCwweDAwLAotMHgyMCwweDIwLDB4NzEsMHg1RiwweDZGLDB4NzUsMHg3NCwweDNELDB4MDAsMHgyMCwweDcxLDB4NUYsMHg2NCwweDcyLDB4NjEsMHg2RSwKLTB4M0QsMHgwMCwweDIwLDB4MjAsMHg3MSwweDVGLDB4NzQsMHg2OSwweDZELDB4M0QsMHgwMCwweDIwLDB4MjAsMHgyMCwweDcxLDB4NUYsCi0weDY2LDB4NjMsMHgzRCwweDAwLDB4MjAsMHg3MSwweDVGLDB4NzMsMHg3NCwweDYxLDB4NzQsMHgzRCwweDAwLDB4MjAsMHg3MSwweDVGLAotMHg2NCwweDYxLDB4NzQsMHg2MSwweDNELDB4MDAsMHgyMCwweDcxLDB4NUYsMHg2RCwweDZGLDB4NjQsMHg2RCwweDNELDB4MDAsMHgyMCwKLTB4NjgsMHg2MSwweDZFLDB4NjQsMHg1RiwweDZGLDB4M0QsMHgwMCwweDIwLDB4NjgsMHg2MSwweDZFLDB4NjQsMHg1RiwweDYyLDB4M0QsCi0weDAwLDB4MjAsMHg2OCwweDYxLDB4NkUsMHg2NCwweDVGLDB4NjUsMHgzRCwweDAwLDB4MjAsMHg2OCwweDYxLDB4NkUsMHg2NCwweDVGLAotMHg2OSwweDNELDB4MDAsMHgyMCwweDIwLDB4NkYsMHg3MCwweDZGLDB4NzMsMHg3NCwweDNELDB4MDAsMHgyMCwweDIwLDB4NzQsMHg2OSwKLTB4NkQsMHg2NSwweDZGLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg3NSwweDczLDB4NzQsMHg2RCwweDMxLDB4M0QsMHgwMCwweDIwLDB4NjMsCi0weDc1LDB4NzMsMHg3NCwweDZELDB4MzIsMHgzRCwweDAwLDB4MjAsMHg2MywweDc1LDB4NzMsMHg3NCwweDZELDB4NjQsMHgzRCwweDAwLAotMHgyMCwweDc0LDB4NzgsMHg3MiwweDYxLDB4NzQsMHg2NSwweDNELDB4MDAsMHgyMCwweDcyLDB4NzgsMHg3MiwweDYxLDB4NzQsMHg2NSwKLTB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NkQsMHg2MSwweDcwLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDYxLDB4NjQsCi0weDY0LDB4NzIsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjEsMHg2OSwweDczLDB4NzIsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLAotMHg3OCwweDc0LDB4NjEsMHg2NywweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2NCwweDY1LDB4NjYsMHg3MiwweDNELDB4MDAsMHgyMCwKLTB4NjMsMHg1RiwweDY2LDB4NkMsMHg3MywweDY4LDB4M0QsMHgwMCwweDIwLDB4NzQsMHg3OCwweDZELDB4NjEsMHg3OCwweDczLDB4M0QsCi0weDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg2NSwweDZELDB4NzMsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2QywweDczLAotMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDY5LDB4NjUsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwKLTB4NjYsMHg2MywweDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NkQsMHg2MywweDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsCi0weDYzLDB4NUYsMHg2QywweDYzLDB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2NCwweDczLDB4NzMsMHgzRCwweDAwLAotMHgyMCwweDYzLDB4NUYsMHg2NCwweDczLDB4NzMsMHg2OSwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2NCwweDczLDB4NzMsMHg3MiwKLTB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NjksMHg3MywweDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NjMsCi0weDYxLDB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2NSwweDY2LDB4NzIsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLAotMHg2NSwweDcyLDB4NzMsMHg3NCwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2NSwweDYzLDB4NkUsMHg3NCwweDNELDB4MDAsMHgyMCwKLTB4NjMsMHg1RiwweDYyLDB4NzIsMHg2QiwweDYzLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDYyLDB4NkYsMHg2QiwweDYzLDB4M0QsCi0weDAwLDB4MjAsMHg2MywweDVGLDB4NzIsMHg2NSwweDcwLDB4NkMsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjMsMHg2MywweDczLAotMHg3MiwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg3MywweDc0LDB4NzQsMHgzMSwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg3MywKLTB4NzQsMHg3NCwweDMyLDB4M0QsMHgwMCwweDJCLDB4QzAsMHg4RSwweEQ4LDB4OEUsMHhDMCwweEU4LDB4QzIsMHgwMCwweEU4LDB4RTUsCi0weDAwLDB4RkEsMHhCRiwweDg0LDB4MDAsMHhDNywweDA1LDB4REMsMHg1NiwweDhDLDB4NEQsMHgwMiwweEJGLDB4MEMsMHgwMCwweEM3LAotMHgwNSwweDZFLDB4NUUsMHg4QywweDRELDB4MDIsMHhCRiwweDA0LDB4MDAsMHhDNywweDA1LDB4QkEsMHg1RSwweDhDLDB4NEQsMHgwMiwKLTB4RTgsMHhGMSwweDAwLDB4OTAsMHhFOCwweDQ5LDB4MDEsMHhFOCwweDE2LDB4MDAsMHhGNCwweDkwLDB4RTgsMHhFNSwweDAwLDB4QkUsCi0weEJBLDB4NEQsMHhFOCwweDA5LDB4MEMsMHhBMCwweDkzLDB4MTIsMHhFOCwweDVELDB4MEMsMHhFOCwweEMyLDB4MDksMHhFQiwweEU0LAotMHhFOCwweEQ1LDB4MEMsMHhFOCwweEM0LDB4MEMsMHgwQSwweEMwLDB4NzQsMHhGNiwweDhCLDB4MUUsMHhGOCwweDc5LDB4M0MsMHgwRCwKLTB4NzQsMHgyRSwweDNDLDB4MDgsMHg3NCwweDE3LDB4M0MsMHg3RiwweDc0LDB4MTMsMHg4MywweEZCLDB4MjAsMHg3RiwweEUxLDB4ODgsCi0weDg3LDB4RDYsMHg3OSwweDQzLDB4ODksMHgxRSwweEY4LDB4NzksMHhFOCwweDc3LDB4MEMsMHhFQiwweEQzLDB4MEIsMHhEQiwweDc0LAotMHhDRiwweDRCLDB4ODksMHgxRSwweEY4LDB4NzksMHg4QiwweDM2LDB4MTYsMHg3QSwweEU4LDB4QzEsMHgwQiwweEVCLDB4QzEsMHg5MCwKLTB4RTgsMHgwMiwweDAwLDB4RUIsMHhCQiwweEM2LDB4ODcsMHhENiwweDc5LDB4MDAsMHgwQiwweERCLDB4NzQsMHgxRSwweEEwLDB4RDYsCi0weDc5LDB4QkYsMHg2MCwweDUxLDB4QjksMHgxRCwweDAwLDB4OEIsMHhEOSwweDA2LDB4MEUsMHgwNywweEYyLDB4QUUsMHgwNywweDc1LAotMHgxNywweDQxLDB4MkIsMHhEOSwweEQxLDB4RTMsMHgyRSwweEZGLDB4OTcsMHg3RCwweDUxLDB4OTAsMHgzMywweEMwLDB4QTMsMHhGOCwKLTB4NzksMHhCRSwweDg5LDB4NEQsMHhFOCwweDg3LDB4MEIsMHhDMywweEJFLDB4OEQsMHg0RCwweEU4LDB4ODAsMHgwQiwweEVCLDB4RUMsCi0weEJBLDB4MDAsMHgwMiwweEIwLDB4OTMsMHhFRSwweEIwLDB4NTUsMHhFRSwweEJBLDB4MTAsMHgwMiwweEIwLDB4OTMsMHhFRSwweEIwLAotMHhBQSwweEVFLDB4QkEsMHgwMCwweDAyLDB4RUMsMHgzQywweDU1LDB4NzUsMHgwOCwweEJBLDB4MTAsMHgwMiwweEVDLDB4M0MsMHhBQSwKLTB4NzQsMHgwMywweEU4LDB4MkYsMHhGNiwweEMzLDB4QkEsMHgwNCwweDAyLDB4QjAsMHgxQSwweEVFLDB4QjAsMHgyMCwweEVFLDB4QjAsCi0weDMwLDB4RUUsMHhCMCwweDQwLDB4RUUsMHhCMCwweDgwLDB4RUUsMHhCQSwweDAwLDB4MDIsMHhCMCwweDEzLDB4RUUsMHhCMCwweDA3LAotMHhFRSwweEJBLDB4MDgsMHgwMiwweEIwLDB4ODAsMHhFRSwweEJBLDB4MDIsMHgwMiwweEIwLDB4QkIsMHhFRSwweEJBLDB4MDQsMHgwMiwKLTB4QjAsMHgwNSwweEVFLDB4QzMsMHhDNiwweDA2LDB4Q0EsMHgxMywweDAxLDB4QzcsMHgwNiwweEY4LDB4NzksMHgwMCwweDAwLDB4QzYsCi0weDA2LDB4RjYsMHg3OSwweDAxLDB4QzcsMHgwNiwweEQwLDB4NzksMHgwMCwweDAwLDB4QzcsMHgwNiwweEQyLDB4NzksMHgwMCwweDAwLAotMHhDNywweDA2LDB4RDQsMHg3OSwweDAwLDB4MDAsMHhDNywweDA2LDB4RkEsMHg3OSwweDAwLDB4MDAsMHhDNywweDA2LDB4RkMsMHg3OSwKLTB4MDAsMHgwMCwweEM3LDB4MDYsMHhGRSwweDc5LDB4MDAsMHgwMCwweEM3LDB4MDYsMHgwMCwweDdBLDB4MDAsMHgwMCwweEM3LDB4MDYsCi0weDAyLDB4N0EsMHhDRSwweDU5LDB4OEMsMHgwRSwweDA0LDB4N0EsMHhDNywweDA2LDB4MDYsMHg3QSwweDAwLDB4MDAsMHhDNywweDA2LAotMHgyNywweDdBLDB4MDAsMHgwMCwweEM2LDB4MDYsMHgyOSwweDdBLDB4MDAsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAwLDB4QzMsMHg5MCwKLTB4QkUsMHgyMiwweDRELDB4RTgsMHhDOCwweDBBLDB4RTgsMHgzRiwweDAwLDB4MkMsMHgzMSwweDNDLDB4MDEsMHg3NywweEY3LDB4RTgsCi0weDgxLDB4MDksMHg4QiwweDM2LDB4MEMsMHg3QSwweEU4LDB4QjUsMHgwQSwweEJFLDB4NkEsMHg0RCwweEU4LDB4QUYsMHgwQSwweDBFLAotMHg1OCwweEU4LDB4RjgsMHgwQSwweEJFLDB4N0EsMHg0RCwweEU4LDB4QTQsMHgwQSwweEMzLDB4OTAsMHg2MCwweEQxLDB4RTMsMHg4MywKLTB4RkIsMHgxOCwweDczLDB4MTEsMHgxRSwweEJBLDB4MDAsMHgwMCwweDhFLDB4REEsMHgyRSwweEZGLDB4OTcsMHhCNywweDUxLDB4OEIsCi0weEVDLDB4ODksMHg0NiwweDEwLDB4MUYsMHg2MSwweENGLDB4OTAsMHhFOCwweDRGLDB4MEIsMHgwQSwweEMwLDB4NzUsMHgwNSwweEU4LAotMHg1NiwweDBCLDB4RUIsMHhGNCwweEMzLDB4OTAsMHg4MywweDNFLDB4RjgsMHg3OSwweDAxLDB4NzQsMHgxNiwweEJFLDB4RDcsMHg3OSwKLTB4RTgsMHgzMSwweDBBLDB4OEIsMHhEMCwweEFDLDB4M0MsMHgyQywweDc0LDB4MDQsMHgzQywweDIwLDB4NzUsMHgwNSwweEU4LDB4MjMsCi0weDBBLDB4RUUsMHhDMywweEU5LDB4RDIsMHhGRSwweDgzLDB4M0UsMHhGOCwweDc5LDB4MDEsMHg3NCwweEY2LDB4QkUsMHhENywweDc5LAotMHhFOCwweDExLDB4MEEsMHg4QiwweEQwLDB4QUMsMHgzQywweDJDLDB4NzQsMHgwOCwweDNDLDB4MjAsMHg3NCwweDA0LDB4RTksMHhCNywKLTB4RkUsMHg5MCwweEU4LDB4RkYsMHgwOSwweEVGLDB4QzMsMHg5MCwweDhCLDB4MTYsMHgwNiwweDdBLDB4ODMsMHgzRSwweEY4LDB4NzksCi0weDAxLDB4NzQsMHgwQiwweEJFLDB4RDcsMHg3OSwweEU4LDB4RUIsMHgwOSwweDhCLDB4RDAsMHhBMywweDA2LDB4N0EsMHhCMCwweDIwLAotMHhFOCwweDU3LDB4MEIsMHg4QiwweDE2LDB4MDYsMHg3QSwweEVDLDB4RTgsMHg2RiwweDBCLDB4QzMsMHg4QiwweDE2LDB4MDYsMHg3QSwKLTB4ODMsMHgzRSwweEY4LDB4NzksMHgwMSwweDc0LDB4MEIsMHhCRSwweEQ3LDB4NzksMHhFOCwweEM3LDB4MDksMHg4QiwweEQwLDB4QTMsCi0weDA2LDB4N0EsMHhCMCwweDIwLDB4RTgsMHgzMywweDBCLDB4OEIsMHgxNiwweDA2LDB4N0EsMHhFRCwweEU4LDB4NjcsMHgwQiwweEMzLAotMHhGQSwweEM2LDB4MDYsMHhGNiwweDc5LDB4MDAsMHhDMywweDkwLDB4QzYsMHgwNiwweEY2LDB4NzksMHgwMSwweEZCLDB4QzMsMHg5MCwKLTB4MDYsMHhFOCwweDU4LDB4MDksMHhCMCwweDIwLDB4RTgsMHgxMSwweDBCLDB4MjYsMHg4QiwweDA1LDB4RTgsMHg0NywweDBCLDB4QjAsCi0weDA4LDB4RTgsMHgwNiwweDBCLDB4RTgsMHgwMywweDBCLDB4RTgsMHgwMCwweDBCLDB4RTgsMHhGRCwweDBBLDB4QjgsMHgwMSwweDAwLAotMHhFOCwweENGLDB4RjQsMHhCQSwweDAyLDB4MDIsMHhFQywweDI0LDB4MDEsMHg3NSwweDAyLDB4RUIsMHhEQywweEJBLDB4MDYsMHgwMiwKLTB4RUMsMHgwNywweEMzLDB4OTAsMHhDNywweDA2LDB4MDgsMHg3QSwweDEwLDB4MDAsMHhFQiwweDA2LDB4QzcsMHgwNiwweDA4LDB4N0EsCi0weDAxLDB4MDAsMHgwNiwweDhFLDB4MDYsMHhGQywweDc5LDB4OEIsMHgzRSwweEZBLDB4NzksMHhFOCwweDBFLDB4MDksMHhFOCwweDBCLAotMHgwMCwweDg5LDB4M0UsMHhGQSwweDc5LDB4OEMsMHgwNiwweEZDLDB4NzksMHgwNywweEMzLDB4OTAsMHhCRSwweEIyLDB4NEQsMHhFOCwKLTB4N0MsMHgwOSwweDhCLDB4MTYsMHgwOCwweDdBLDB4NTIsMHhFOCwweDJBLDB4MDksMHhFOCwweDBGLDB4MEEsMHhFOCwweDBDLDB4MEEsCi0weDMzLDB4REIsMHhCOSwweDEwLDB4MDAsMHg5MCwweDI2LDB4OEEsMHgwMSwweEU4LDB4QkMsMHgwOSwweEU4LDB4RkQsMHgwOSwweDQzLAotMHhFMiwweEY0LDB4RTgsMHhGNywweDA5LDB4RTgsMHhGNCwweDA5LDB4MzMsMHhEQiwweEI5LDB4MTAsMHgwMCwweDkwLDB4MjYsMHg4QSwKLTB4MDEsMHgzQywweDIwLDB4NzIsMHgwNSwweDNDLDB4N0UsMHg3NiwweDAzLDB4OTAsMHhCMCwweDJFLDB4RTgsMHhFMywweDA5LDB4NDMsCi0weEUyLDB4RUMsMHhCRSwweEIyLDB4NEQsMHhFOCwweDM2LDB4MDksMHg4MywweEM3LDB4MTAsMHg1QSwweDRBLDB4NzUsMHhCNywweEMzLAotMHgwNiwweDhFLDB4MDYsMHgwMCwweDdBLDB4OEIsMHgzRSwweEZFLDB4NzksMHhFOCwweEEwLDB4MDgsMHg4OSwweDNFLDB4RkUsMHg3OSwKLTB4OEMsMHgwNiwweDAwLDB4N0EsMHg1NywweDhCLDB4MzYsMHgwRSwweDdBLDB4RTgsMHgxMiwweDA5LDB4QzcsMHgwNiwweDA4LDB4N0EsCi0weDEwLDB4MDAsMHhCQSwweDAwLDB4MDIsMHhFOCwweEU4LDB4MDAsMHhFOCwweDgxLDB4RkYsMHg1RiwweEJBLDB4MDAsMHgwMCwweEU4LAotMHhERSwweDAwLDB4QkUsMHhCNSwweDRELDB4RTgsMHhGNiwweDA4LDB4OEMsMHhDMCwweEU4LDB4M0YsMHgwOSwweEIwLDB4M0EsMHhFOCwKLTB4OTAsMHgwOSwweDhCLDB4QzcsMHhFOCwweDM1LDB4MDksMHhFOCwweDdFLDB4MDgsMHhFOCwweEMzLDB4MDAsMHg5MCwweEU4LDB4QjcsCi0weDA5LDB4RTgsMHhBNiwweDA5LDB4MEEsMHhDMCwweDc0LDB4RjYsMHgzQywweDBCLDB4NzUsMHgwNiwweDgzLDB4RUYsMHgxMCwweEVCLAotMHgxOSwweDkwLDB4M0MsMHgwQSwweDc1LDB4MDYsMHg4MywweEM3LDB4MTAsMHhFQiwweDBGLDB4OTAsMHgzQywweDBDLDB4NzUsMHgwNCwKLTB4NDcsMHhFQiwweDA3LDB4OTAsMHgzQywweDA4LDB4NzUsMHgyNCwweDRGLDB4OTAsMHg4QiwweDM2LDB4RkUsMHg3OSwweDhCLDB4QzcsCi0weDJCLDB4QzYsMHgzRCwweDAwLDB4MDEsMHg3MiwweEE1LDB4M0QsMHgxMCwweDAxLDB4NzIsMHgwNCwweDgzLDB4RUUsMHgyMCwweDkwLAotMHg4MywweEM2LDB4MTAsMHg4OSwweDM2LDB4RkUsMHg3OSwweDU3LDB4OEIsMHhGRSwweEVCLDB4ODAsMHgzQywweDJFLDB4NzUsMHgwOCwKLTB4QkEsMHgwMSwweDEzLDB4RTgsMHg2QSwweDAwLDB4MDcsMHhDMywweEM2LDB4MDYsMHgwQSwweDdBLDB4MDIsMHgzMiwweEM5LDB4OTAsCi0weDNDLDB4MzAsMHg3MiwweDRDLDB4M0MsMHgzOSwweDc2LDB4MEMsMHgyNCwweDVGLDB4M0MsMHg0MSwweDcyLDB4NDIsMHgzQywweDQ2LAotMHg3NywweDNFLDB4MkMsMHgwNywweDJDLDB4MzAsMHg1MCwweEU4LDB4Q0MsMHgwOCwweDU4LDB4MDIsMHhDOCwweEZFLDB4MEUsMHgwQSwKLTB4N0EsMHg3NCwweDBGLDB4QzAsMHhFMSwweDA0LDB4RTgsMHgyRiwweDA5LDB4RTgsMHgxRSwweDA5LDB4MEEsMHhDMCwweDc0LDB4RjYsCi0weEVCLDB4Q0UsMHgyNiwweDg4LDB4MEQsMHhFOCwweEUwLDB4MDcsMHg4QSwweEQwLDB4RTgsMHgyMywweDAwLDB4OEEsMHhDMSwweDNDLAotMHgyMCwweDcyLDB4MDUsMHgzQywweDdFLDB4NzYsMHgwMywweDkwLDB4QjAsMHgyRSwweEU4LDB4RDUsMHgwOCwweEU5LDB4NzAsMHhGRiwKLTB4RTgsMHhDNSwweDA3LDB4RTgsMHgwQSwweDAwLDB4MjYsMHg4QSwweDA1LDB4RTgsMHg3QywweDA4LDB4RTksMHgxRCwweEZGLDB4OTAsCi0weEY2LDB4MDYsMHgyNiwweDdBLDB4MDIsMHg3NSwweDAyLDB4ODYsMHhGMiwweDUyLDB4OEIsMHgzNiwweDFBLDB4N0EsMHhFOCwweDBELAotMHgwOCwweDVBLDB4NTIsMHg4QSwweEM2LDB4MDIsMHgwNiwweDI0LDB4N0EsMHhGNiwweDA2LDB4MjYsMHg3QSwweDAxLDB4NzUsMHgwNiwKLTB4RTgsMHg5RiwweDA4LDB4RUIsMHgwRCwweDkwLDB4MzIsMHhFNCwweEU4LDB4MEQsMHgwOCwweDhCLDB4MzYsMHgxQywweDdBLDB4RTgsCi0weEVDLDB4MDcsMHg1QSwweDhBLDB4QzIsMHgwMiwweDA2LDB4MjUsMHg3QSwweEY2LDB4MDYsMHgyNiwweDdBLDB4MDEsMHg3NSwweDA2LAotMHhFOCwweDdGLDB4MDgsMHhFQiwweDA2LDB4OTAsMHgzMiwweEU0LDB4RTgsMHhFRCwweDA3LDB4OEIsMHgzNiwweDFFLDB4N0EsMHhFOCwKLTB4Q0MsMHgwNywweEMzLDB4OTAsMHgwNiwweDhFLDB4MDYsMHgwNCwweDdBLDB4OEIsMHgzRSwweDAyLDB4N0EsMHhFOCwweDNDLDB4MDcsCi0weDg5LDB4M0UsMHgwMiwweDdBLDB4OEMsMHgwNiwweDA0LDB4N0EsMHgwNywweEZGLDB4MUUsMHgwMiwweDdBLDB4QzMsMHhCRSwweDk3LAotMHg0RCwweEU4LDB4QUEsMHgwNywweENCLDB4OTAsMHgwNiwweDU3LDB4QkUsMHhENywweDc5LDB4RTgsMHg2NiwweDA3LDB4OEIsMHhEOCwKLTB4RTgsMHg2MSwweDA3LDB4OEIsMHhDOCwweDJCLDB4Q0IsMHg3OCwweDExLDB4OEUsMHhDMywweEJGLDB4MDAsMHgwMCwweEI4LDB4RkYsCi0weEZGLDB4NTEsMHhCOSwweDA4LDB4MDAsMHhGMywweEFCLDB4NTksMHhFMiwweEY3LDB4NUYsMHgwNywweEMzLDB4OTAsMHgwNiwweEJFLAotMHhENywweDc5LDB4RTgsMHgzRiwweDA3LDB4OEIsMHhEOCwweEQxLDB4RTMsMHgyRSwweDhCLDB4OUYsMHg0NCwweDAwLDB4QkUsMHgyNiwKLTB4NTIsMHhFOCwweEYxLDB4MDgsMHg4QiwweEMzLDB4RTgsMHhERCwweDA4LDB4QjgsMHgwMSwweDAwLDB4RTgsMHg3MywweEYyLDB4RTgsCi0weEUwLDB4MDgsMHhCRSwweDJGLDB4NTIsMHhFOCwweERELDB4MDgsMHg4QiwweDQ3LDB4MTgsMHhFOCwweEM4LDB4MDgsMHhCRSwweDc3LAotMHg1MiwweEU4LDB4RDEsMHgwOCwweDhCLDB4NDcsMHgyNiwweEU4LDB4QkMsMHgwOCwweEJFLDB4NTMsMHg1MiwweEU4LDB4QzUsMHgwOCwKLTB4OEIsMHg0NywweDFFLDB4RTgsMHhCMCwweDA4LDB4QkUsMHg1QywweDUyLDB4RTgsMHhCOSwweDA4LDB4OEIsMHg0NywweDIwLDB4RTgsCi0weEE0LDB4MDgsMHhCRSwweDZFLDB4NTIsMHhFOCwweEFELDB4MDgsMHg4QiwweDQ3LDB4MjQsMHhFOCwweDk4LDB4MDgsMHhCRSwweDgwLAotMHg1MiwweEU4LDB4QTEsMHgwOCwweDhCLDB4NDcsMHgyQSwweEU4LDB4OEMsMHgwOCwweEU4LDB4OTUsMHgwOCwweEJFLDB4MzgsMHg1MiwKLTB4RTgsMHg5MiwweDA4LDB4OEIsMHgwNywweEU4LDB4N0UsMHgwOCwweEJFLDB4NDEsMHg1MiwweEU4LDB4ODcsMHgwOCwweDhCLDB4NDcsCi0weDFBLDB4RTgsMHg3MiwweDA4LDB4QkUsMHg0QSwweDUyLDB4RTgsMHg3QiwweDA4LDB4OEIsMHg0NywweDFDLDB4RTgsMHg2NiwweDA4LAotMHhCRSwweDY1LDB4NTIsMHhFOCwweDZGLDB4MDgsMHg4QiwweDQ3LDB4MjIsMHhFOCwweDVBLDB4MDgsMHhFOCwweDYzLDB4MDgsMHhCRSwKLTB4RDEsMHg1MiwweEU4LDB4NjAsMHgwOCwweDhCLDB4NDcsMHgzOCwweEU4LDB4NEIsMHgwOCwweEJFLDB4QUQsMHg1MiwweEU4LDB4NTQsCi0weDA4LDB4OEIsMHg0NywweDMwLDB4RTgsMHgzRiwweDA4LDB4QkUsMHhCNiwweDUyLDB4RTgsMHg0OCwweDA4LDB4OEIsMHg0NywweDMyLAotMHhFOCwweDMzLDB4MDgsMHhCRSwweEE0LDB4NTIsMHhFOCwweDNDLDB4MDgsMHg4QiwweDQ3LDB4MkUsMHhFOCwweDI3LDB4MDgsMHhCRSwKLTB4QkYsMHg1MiwweEU4LDB4MzAsMHgwOCwweDhCLDB4NDcsMHgzNCwweEU4LDB4MUIsMHgwOCwweEU4LDB4MjQsMHgwOCwweEJFLDB4ODksCi0weDUyLDB4RTgsMHgyMSwweDA4LDB4OEIsMHg0NywweDA0LDB4RTgsMHgwQywweDA4LDB4QkUsMHg5MiwweDUyLDB4RTgsMHgxNSwweDA4LAotMHg4QiwweDQ3LDB4MTQsMHhFOCwweDAwLDB4MDgsMHhCRSwweDlCLDB4NTIsMHhFOCwweDA5LDB4MDgsMHg4QiwweDQ3LDB4MkMsMHhFOCwKLTB4RjQsMHgwNywweEJFLDB4QzgsMHg1MiwweEU4LDB4RkQsMHgwNywweDhCLDB4NDcsMHgzNiwweEU4LDB4RTgsMHgwNywweEJFLDB4REEsCi0weDUyLDB4RTgsMHhGMSwweDA3LDB4OEIsMHg0NywweDNBLDB4RTgsMHhEQywweDA3LDB4QkUsMHhFMywweDUyLDB4RTgsMHhFNSwweDA3LAotMHg4QiwweDQ3LDB4M0MsMHhFOCwweEQwLDB4MDcsMHhFOCwweEQ5LDB4MDcsMHhCRSwweDE5LDB4NTMsMHhFOCwweEQ2LDB4MDcsMHg4QiwKLTB4NDcsMHg0OCwweEU4LDB4QzEsMHgwNywweEJFLDB4RkUsMHg1MiwweEU4LDB4Q0EsMHgwNywweDhCLDB4NDcsMHg0MiwweEU4LDB4QjUsCi0weDA3LDB4QkUsMHgwNywweDUzLDB4RTgsMHhCRSwweDA3LDB4OEIsMHg0NywweDQ0LDB4RTgsMHhBOSwweDA3LDB4QkUsMHg3QywweDUzLAotMHhFOCwweEIyLDB4MDcsMHg4QiwweDQ3LDB4NEMsMHhFOCwweDlELDB4MDcsMHhCRSwweDg1LDB4NTMsMHhFOCwweEE2LDB4MDcsMHg4QiwKLTB4NDcsMHg0RSwweEU4LDB4OTEsMHgwNywweEJFLDB4OEUsMHg1MywweEU4LDB4OUEsMHgwNywweDhCLDB4NDcsMHg1MCwweEU4LDB4ODUsCi0weDA3LDB4RTgsMHg4RSwweDA3LDB4QkUsMHgyMiwweDUzLDB4RTgsMHg4QiwweDA3LDB4OEIsMHg0NywweDRBLDB4RTgsMHg3NiwweDA3LAotMHhCRSwweEVDLDB4NTIsMHhFOCwweDdGLDB4MDcsMHg4QiwweDQ3LDB4MDgsMHhFOCwweDZBLDB4MDcsMHhCRSwweEY1LDB4NTIsMHhFOCwKLTB4NzMsMHgwNywweDhCLDB4NDcsMHg0MCwweEU4LDB4NUUsMHgwNywweEJFLDB4MTAsMHg1MywweEU4LDB4NjcsMHgwNywweDhCLDB4NDcsCi0weDQ2LDB4RTgsMHg1MiwweDA3LDB4RTgsMHg1QiwweDA3LDB4QkUsMHg2QSwweDUzLDB4RTgsMHg1OCwweDA3LDB4OEIsMHg0NywweDdBLAotMHhFOCwweDQzLDB4MDcsMHhCRSwweDNELDB4NTMsMHhFOCwweDRDLDB4MDcsMHg4QiwweDQ3LDB4NzAsMHhFOCwweDM3LDB4MDcsMHhCRSwKLTB4NDYsMHg1MywweEU4LDB4NDAsMHgwNywweDhCLDB4NDcsMHg3MiwweEU4LDB4MkIsMHgwNywweEJFLDB4NEYsMHg1MywweEU4LDB4MzQsCi0weDA3LDB4OEIsMHg0NywweDc0LDB4RTgsMHgxRiwweDA3LDB4RTgsMHgyOCwweDA3LDB4QkUsMHgyQiwweDUzLDB4RTgsMHgyNSwweDA3LAotMHg4QiwweDQ3LDB4MEMsMHhFOCwweDEwLDB4MDcsMHhCRSwweDM0LDB4NTMsMHhFOCwweDE5LDB4MDcsMHg4QiwweDQ3LDB4MTAsMHhFOCwKLTB4MDQsMHgwNywweEJFLDB4NTgsMHg1MywweEU4LDB4MEQsMHgwNywweDhCLDB4NDcsMHg3NiwweEU4LDB4RjgsMHgwNiwweEJFLDB4NjEsCi0weDUzLDB4RTgsMHgwMSwweDA3LDB4OEIsMHg0NywweDc4LDB4RTgsMHhFQywweDA2LDB4QkUsMHg3MywweDUzLDB4RTgsMHhGNSwweDA2LAotMHg4QiwweDQ3LDB4M0UsMHhFOCwweEUwLDB4MDYsMHhFOCwweEU5LDB4MDYsMHhCRSwweDk3LDB4NTMsMHhFOCwweEU2LDB4MDYsMHg4QiwKLTB4NDcsMHg1MiwweEU4LDB4RDEsMHgwNiwweEJFLDB4QTAsMHg1MywweEU4LDB4REEsMHgwNiwweDhCLDB4NDcsMHg1NCwweEU4LDB4QzUsCi0weDA2LDB4QkUsMHhBOSwweDUzLDB4RTgsMHhDRSwweDA2LDB4OEIsMHg0NywweDU2LDB4RTgsMHhCOSwweDA2LDB4QkUsMHhCMiwweDUzLAotMHhFOCwweEMyLDB4MDYsMHg4QiwweDQ3LDB4NTgsMHhFOCwweEFELDB4MDYsMHhCRSwweEJCLDB4NTMsMHhFOCwweEI2LDB4MDYsMHg4QiwKLTB4NDcsMHg1QSwweEU4LDB4QTEsMHgwNiwweEJFLDB4QzQsMHg1MywweEU4LDB4QUEsMHgwNiwweDhCLDB4NDcsMHg1QywweEU4LDB4OTUsCi0weDA2LDB4RTgsMHg5RSwweDA2LDB4QkUsMHhDRCwweDUzLDB4RTgsMHg5QiwweDA2LDB4OEIsMHg0NywweDVFLDB4RTgsMHg4NiwweDA2LAotMHhCRSwweEQ2LDB4NTMsMHhFOCwweDhGLDB4MDYsMHg4QiwweDQ3LDB4NjAsMHhFOCwweDdBLDB4MDYsMHhCRSwweERGLDB4NTMsMHhFOCwKLTB4ODMsMHgwNiwweDhCLDB4NDcsMHg2MiwweEU4LDB4NkUsMHgwNiwweEJFLDB4RTgsMHg1MywweEU4LDB4NzcsMHgwNiwweDhCLDB4NDcsCi0weDdDLDB4RTgsMHg2MiwweDA2LDB4QkUsMHhGMSwweDUzLDB4RTgsMHg2QiwweDA2LDB4OEIsMHg0NywweDdFLDB4RTgsMHg1NiwweDA2LAotMHhCRSwweEZBLDB4NTMsMHhFOCwweDVGLDB4MDYsMHg4QiwweDg3LDB4ODAsMHgwMCwweEU4LDB4NDksMHgwNiwweEU4LDB4NTIsMHgwNiwKLTB4QkUsMHg0MiwweDU0LDB4RTgsMHg0RiwweDA2LDB4OEIsMHg4NywweDlFLDB4MDAsMHhFOCwweDM5LDB4MDYsMHhCRSwweDAzLDB4NTQsCi0weEU4LDB4NDIsMHgwNiwweDhCLDB4NDcsMHg2NCwweEU4LDB4MkQsMHgwNiwweEJFLDB4MEMsMHg1NCwweEU4LDB4MzYsMHgwNiwweDhCLAotMHg0NywweDZFLDB4RTgsMHgyMSwweDA2LDB4QkUsMHgxNSwweDU0LDB4RTgsMHgyQSwweDA2LDB4OEIsMHg4NywweDhFLDB4MDAsMHhFOCwKLTB4MTQsMHgwNiwweEJFLDB4MUUsMHg1NCwweEU4LDB4MUQsMHgwNiwweDhCLDB4ODcsMHg5MCwweDAwLDB4RTgsMHgwNywweDA2LDB4QkUsCi0weDI3LDB4NTQsMHhFOCwweDEwLDB4MDYsMHg4QiwweDg3LDB4OTIsMHgwMCwweEU4LDB4RkEsMHgwNSwweEU4LDB4MDMsMHgwNiwweEJFLAotMHgzMCwweDU0LDB4RTgsMHgwMCwweDA2LDB4OEIsMHg4NywweDk0LDB4MDAsMHhFOCwweEVBLDB4MDUsMHhCRSwweDM5LDB4NTQsMHhFOCwKLTB4RjMsMHgwNSwweDhCLDB4ODcsMHg5NiwweDAwLDB4RTgsMHhERCwweDA1LDB4QkUsMHg2RiwweDU0LDB4RTgsMHhFNiwweDA1LDB4OEIsCi0weDg3LDB4OTgsMHgwMCwweEU4LDB4RDAsMHgwNSwweEJFLDB4NUQsMHg1NCwweEU4LDB4RDksMHgwNSwweDhBLDB4ODcsMHhBMCwweDAwLAotMHhFOCwweEE3LDB4MDUsMHhCRSwweDU0LDB4NTQsMHhFOCwweENDLDB4MDUsMHg4QSwweDQ3LDB4MjgsMHhFOCwweDlCLDB4MDUsMHhCRSwKLTB4NjYsMHg1NCwweEU4LDB4QzAsMHgwNSwweDhBLDB4ODcsMHhBMSwweDAwLDB4RTgsMHg4RSwweDA1LDB4RTgsMHhCMywweDA1LDB4QkUsCi0weDc4LDB4NTQsMHhFOCwweEIwLDB4MDUsMHg4QSwweDg3LDB4QTIsMHgwMCwweEU4LDB4N0UsMHgwNSwweEJFLDB4ODEsMHg1NCwweEU4LAotMHhBMywweDA1LDB4OEEsMHg4NywweEEzLDB4MDAsMHhFOCwweDcxLDB4MDUsMHhCRSwweDhBLDB4NTQsMHhFOCwweDk2LDB4MDUsMHg4QSwKLTB4ODcsMHhBNCwweDAwLDB4RTgsMHg2NCwweDA1LDB4QkUsMHg5MywweDU0LDB4RTgsMHg4OSwweDA1LDB4OEEsMHg4NywweEE1LDB4MDAsCi0weEU4LDB4NTcsMHgwNSwweEJFLDB4OUMsMHg1NCwweEU4LDB4N0MsMHgwNSwweDhBLDB4ODcsMHhBNiwweDAwLDB4RTgsMHg0QSwweDA1LAotMHhCRSwweEE1LDB4NTQsMHhFOCwweDZGLDB4MDUsMHg4QSwweDg3LDB4QTcsMHgwMCwweEU4LDB4M0QsMHgwNSwweEJFLDB4QUUsMHg1NCwKLTB4RTgsMHg2MiwweDA1LDB4OEEsMHg4NywweEE4LDB4MDAsMHhFOCwweDMwLDB4MDUsMHhFOCwweDU1LDB4MDUsMHhCRSwweEI3LDB4NTQsCi0weEU4LDB4NTIsMHgwNSwweDhBLDB4ODcsMHhBOSwweDAwLDB4RTgsMHgyMCwweDA1LDB4QkUsMHhDMCwweDU0LDB4RTgsMHg0NSwweDA1LAotMHg4QSwweDg3LDB4QUEsMHgwMCwweEU4LDB4MTMsMHgwNSwweEJFLDB4QzksMHg1NCwweEU4LDB4MzgsMHgwNSwweDhBLDB4ODcsMHhBQiwKLTB4MDAsMHhFOCwweDA2LDB4MDUsMHhCRSwweEQyLDB4NTQsMHhFOCwweDJCLDB4MDUsMHg4QSwweDg3LDB4QUQsMHgwMCwweEU4LDB4RjksCi0weDA0LDB4QkUsMHhEQiwweDU0LDB4RTgsMHgxRSwweDA1LDB4OEEsMHg4NywweEFFLDB4MDAsMHhFOCwweEVDLDB4MDQsMHhCRSwweEU0LAotMHg1NCwweEU4LDB4MTEsMHgwNSwweDhBLDB4ODcsMHhBRiwweDAwLDB4RTgsMHhERiwweDA0LDB4QkUsMHhFRCwweDU0LDB4RTgsMHgwNCwKLTB4MDUsMHg4QSwweDg3LDB4QjAsMHgwMCwweEU4LDB4RDIsMHgwNCwweEU4LDB4RjcsMHgwNCwweEJFLDB4RjYsMHg1NCwweEU4LDB4RjQsCi0weDA0LDB4OEEsMHg4NywweEIxLDB4MDAsMHhFOCwweEMyLDB4MDQsMHhCRSwweEZGLDB4NTQsMHhFOCwweEU3LDB4MDQsMHg4QSwweDg3LAotMHhCMiwweDAwLDB4RTgsMHhCNSwweDA0LDB4QkUsMHgwOCwweDU1LDB4RTgsMHhEQSwweDA0LDB4OEEsMHg4NywweEIzLDB4MDAsMHhFOCwKLTB4QTgsMHgwNCwweEJFLDB4MTEsMHg1NSwweEU4LDB4Q0QsMHgwNCwweDhBLDB4ODcsMHhCQiwweDAwLDB4RTgsMHg5QiwweDA0LDB4RTgsCi0weEMwLDB4MDQsMHhCRSwweDFBLDB4NTUsMHhFOCwweEJELDB4MDQsMHg4QSwweDg3LDB4QkMsMHgwMCwweEU4LDB4OEIsMHgwNCwweEJFLAotMHgyMywweDU1LDB4RTgsMHhCMCwweDA0LDB4OEEsMHg4NywweEJFLDB4MDAsMHhFOCwweDdFLDB4MDQsMHhCRSwweDJDLDB4NTUsMHhFOCwKLTB4QTMsMHgwNCwweDhBLDB4ODcsMHhCRiwweDAwLDB4RTgsMHg3MSwweDA0LDB4RTgsMHg5NiwweDA0LDB4MDcsMHhDMywweDYwLDB4MDYsCi0weDFFLDB4MTYsMHg4QiwweEVDLDB4RkYsMHg0RSwweDE2LDB4RjcsMHg0NiwweDFBLDB4MDAsMHgwMiwweDc0LDB4MDEsMHhGQiwweEI4LAotMHgwMCwweDAwLDB4OEUsMHhEOCwweDhFLDB4QzAsMHg4OSwweDJFLDB4MkQsMHg3QSwweEU4LDB4Q0IsMHgwMCwweDgxLDB4NjYsMHgxQSwKLTB4RkYsMHhGRSwweEM2LDB4MDYsMHgyQSwweDdBLDB4MDAsMHhFOCwweEQ4LDB4MDAsMHhCOCwweDAwLDB4NUYsMHhBMywweDJCLDB4N0EsCi0weEU4LDB4NUQsMHgwMCwweDgwLDB4M0UsMHgyQSwweDdBLDB4MDAsMHg3NCwweDBBLDB4ODEsMHg0RSwweDFBLDB4MDAsMHgwMSwweEM2LAotMHgwNiwweDJBLDB4N0EsMHgwMCwweDE3LDB4MUYsMHgwNywweDYxLDB4Q0YsMHg5MCwweDYwLDB4MDYsMHgxRSwweDE2LDB4OEIsMHhFQywKLTB4RjcsMHg0NiwweDFBLDB4MDAsMHgwMiwweDc0LDB4MDEsMHhGQiwweEI4LDB4MDAsMHgwMCwweDhFLDB4RDgsMHg4RSwweEMwLDB4ODksCi0weDJFLDB4MkQsMHg3QSwweDgxLDB4NjYsMHgxQSwweEZGLDB4RkUsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAwLDB4RTgsMHg5MiwweDAwLAotMHhCOCwweDAwLDB4NUYsMHhBMywweDJCLDB4N0EsMHhFOCwweDE3LDB4MDAsMHg4MCwweDNFLDB4MkEsMHg3QSwweDAwLDB4NzQsMHgwQSwKLTB4ODEsMHg0RSwweDFBLDB4MDAsMHgwMSwweEM2LDB4MDYsMHgyQSwweDdBLDB4MDAsMHgxNywweDFGLDB4MDcsMHg2MSwweENGLDB4OTAsCi0weEI4LDB4RjAsMHgwMCwweEU4LDB4OEMsMHhFRCwweEZGLDB4MjYsMHgyQiwweDdBLDB4QzMsMHg5MCwweDA2LDB4NTMsMHg1NiwweDgwLAotMHgzRSwweDI5LDB4N0EsMHgwMCwweDc0LDB4MDMsMHhFOCwweDNGLDB4MDAsMHhCRSwweEQ3LDB4NzksMHhFOCwweDI1LDB4MDIsMHg4QiwKLTB4RDgsMHhBMywweDI3LDB4N0EsMHgyRSwweDhBLDB4MDcsMHhBMiwweDI5LDB4N0EsMHhCMCwweENDLDB4MkUsMHg4OCwweDA3LDB4NUUsCi0weDVCLDB4MDcsMHhDMywweEM2LDB4MDYsMHgyQSwweDdBLDB4MDAsMHhCOCwweDBBLDB4NUYsMHhBMywweDJCLDB4N0EsMHhDMywweDkwLAotMHg4QiwweDJFLDB4MkQsMHg3QSwweEU4LDB4MkIsMHgwMCwweEMzLDB4QzYsMHgwNiwweDJBLDB4N0EsMHgwMSwweEU4LDB4MDgsMHgwMCwKLTB4QjgsMHgwQSwweDVGLDB4QTMsMHgyQiwweDdBLDB4QzMsMHg5MCwweDU3LDB4ODAsMHgzRSwweDI5LDB4N0EsMHgwMCwweDc0LDB4MEYsCi0weDhCLDB4M0UsMHgyNywweDdBLDB4QTAsMHgyOSwweDdBLDB4MkUsMHg4OCwweDA1LDB4QzYsMHgwNiwweDI5LDB4N0EsMHgwMCwweDVGLAotMHhDMywweDkwLDB4QkUsMHhCMiwweDRELDB4RTgsMHgwNiwweDAyLDB4QkUsMHhEOCwweDUxLDB4RTgsMHgwMCwweDAyLDB4RkYsMHg3NiwKLTB4MTQsMHg1OCwweEU4LDB4NDcsMHgwMiwweEJFLDB4REUsMHg1MSwweEU4LDB4RjMsMHgwMSwweEZGLDB4NzYsMHgwRSwweDU4LDB4RTgsCi0weDNBLDB4MDIsMHhCRSwweEU0LDB4NTEsMHhFOCwweEU2LDB4MDEsMHhGRiwweDc2LDB4MTIsMHg1OCwweEU4LDB4MkQsMHgwMiwweEJFLAotMHhFQSwweDUxLDB4RTgsMHhEOSwweDAxLDB4RkYsMHg3NiwweDEwLDB4NTgsMHhFOCwweDIwLDB4MDIsMHhCRSwweDE0LDB4NTIsMHhFOCwKLTB4Q0MsMHgwMSwweEZGLDB4NzYsMHgwQSwweDU4LDB4RTgsMHgxMywweDAyLDB4QkUsMHgxQSwweDUyLDB4RTgsMHhCRiwweDAxLDB4RkYsCi0weDc2LDB4MEMsMHg1OCwweEU4LDB4MDYsMHgwMiwweEJFLDB4Q0YsMHg1MSwweEU4LDB4QjIsMHgwMSwweEZGLDB4NzYsMHgxQSwweDU4LAotMHhFOCwweEY5LDB4MDEsMHhCRSwweEIyLDB4NEQsMHhFOCwweEE1LDB4MDEsMHhCRSwweEYwLDB4NTEsMHhFOCwweDlGLDB4MDEsMHhGRiwKLTB4NzYsMHgxOCwweDU4LDB4RTgsMHhFNiwweDAxLDB4QkUsMHhGNiwweDUxLDB4RTgsMHg5MiwweDAxLDB4RkYsMHg3NiwweDAyLDB4NTgsCi0weEU4LDB4RDksMHgwMSwweEJFLDB4RkMsMHg1MSwweEU4LDB4ODUsMHgwMSwweEZGLDB4NzYsMHgwNCwweDU4LDB4RTgsMHhDQywweDAxLAotMHhCRSwweDAyLDB4NTIsMHhFOCwweDc4LDB4MDEsMHhGRiwweDc2LDB4MDAsMHg1OCwweEU4LDB4QkYsMHgwMSwweEJFLDB4MDgsMHg1MiwKLTB4RTgsMHg2QiwweDAxLDB4RkYsMHg3NiwweDA2LDB4NTgsMHhFOCwweEIyLDB4MDEsMHhCRSwweDBFLDB4NTIsMHhFOCwweDVFLDB4MDEsCi0weEZGLDB4NzYsMHgwOCwweDU4LDB4RTgsMHhBNSwweDAxLDB4QkUsMHgyMCwweDUyLDB4RTgsMHg1MSwweDAxLDB4RkYsMHg3NiwweDE2LAotMHg1OCwweEU4LDB4OTgsMHgwMSwweEJFLDB4ODksMHg0RCwweEU4LDB4NDQsMHgwMSwweEMzLDB4OTAsMHhCRSwweEM5LDB4NEQsMHhFOCwKLTB4M0MsMHgwMSwweEMzLDB4M0MsMHgwMCwweDc0LDB4MDUsMHgzQywweDAxLDB4NzQsMHg1OSwweEMzLDB4QzcsMHgwNiwweDBDLDB4N0EsCi0weENELDB4NTAsMHhDNywweDA2LDB4MEUsMHg3QSwweEYwLDB4NTAsMHhDNywweDA2LDB4MTAsMHg3QSwweEU4LDB4NTAsMHhDNywweDA2LAotMHgxMiwweDdBLDB4RUMsMHg1MCwweEM3LDB4MDYsMHgxNCwweDdBLDB4RjQsMHg1MCwweEM3LDB4MDYsMHgxNiwweDdBLDB4RkIsMHg1MCwKLTB4QzcsMHgwNiwweDE4LDB4N0EsMHgwMywweDUxLDB4QzcsMHgwNiwweDFBLDB4N0EsMHgwQiwweDUxLDB4QzcsMHgwNiwweDFDLDB4N0EsCi0weDBFLDB4NTEsMHhDNywweDA2LDB4MUUsMHg3QSwweDEwLDB4NTEsMHhDNywweDA2LDB4MjAsMHg3QSwweDEyLDB4NTEsMHhDNywweDA2LAotMHgyMiwweDdBLDB4MTYsMHg1MSwweEM2LDB4MDYsMHgyNCwweDdBLDB4MDEsMHhDNiwweDA2LDB4MjUsMHg3QSwweDAxLDB4QzYsMHgwNiwKLTB4MjYsMHg3QSwweDAzLDB4QzMsMHhDNywweDA2LDB4MEMsMHg3QSwweDFBLDB4NTEsMHhDNywweDA2LDB4MEUsMHg3QSwweDRELDB4NTEsCi0weEM3LDB4MDYsMHgxMCwweDdBLDB4NDcsMHg1MSwweEM3LDB4MDYsMHgxMiwweDdBLDB4NEEsMHg1MSwweEM3LDB4MDYsMHgxNCwweDdBLAotMHg0RiwweDUxLDB4QzcsMHgwNiwweDE2LDB4N0EsMHg1MSwweDUxLDB4QzcsMHgwNiwweDE4LDB4N0EsMHg1NSwweDUxLDB4QzcsMHgwNiwKLTB4MUEsMHg3QSwweDU2LDB4NTEsMHhDNywweDA2LDB4MUMsMHg3QSwweDU5LDB4NTEsMHhDNywweDA2LDB4MUUsMHg3QSwweDVBLDB4NTEsCi0weEM3LDB4MDYsMHgyMCwweDdBLDB4NUIsMHg1MSwweEM3LDB4MDYsMHgyMiwweDdBLDB4NUUsMHg1MSwweEM2LDB4MDYsMHgyNCwweDdBLAotMHgyMCwweEM2LDB4MDYsMHgyNSwweDdBLDB4MjAsMHhDNiwweDA2LDB4MjYsMHg3QSwweDAyLDB4QzMsMHhBMSwweEY4LDB4NzksMHg0OCwKLTB4NzQsMHgxNCwweEJFLDB4RDcsMHg3OSwweEU4LDB4M0MsMHgwMCwweDhCLDB4RjgsMHhBQywweDNDLDB4M0EsMHg3NSwweDA3LDB4OEUsCi0weEM3LDB4RTgsMHgzMCwweDAwLDB4OEIsMHhGOCwweEMzLDB4OTAsMHg4QiwweEM3LDB4MkIsMHgwNiwweEZFLDB4NzksMHg4QSwweEYwLAotMHgyNCwweDBGLDB4OEEsMHhEMCwweDAyLDB4RDAsMHgwMiwweEQwLDB4ODAsMHhDMiwweDBCLDB4QzAsMHhFRSwweDA0LDB4ODAsMHhDNiwKLTB4MDMsMHgwNCwweDNELDB4QzMsMHg4QywweEMwLDB4RTgsMHg5MywweDAwLDB4QjAsMHgzQSwweEU4LDB4RTQsMHgwMCwweDhCLDB4QzcsCi0weEU4LDB4ODksMHgwMCwweEMzLDB4NTEsMHgzMywweEM5LDB4OTAsMHhBQywweDNDLDB4MjAsMHg3NCwweEZCLDB4OTAsMHgwQSwweEMwLAotMHg3NCwweDI2LDB4MkMsMHgzMCwweDcyLDB4MjIsMHgzQywweDA5LDB4NzYsMHgxNCwweDNDLDB4MTEsMHg3MiwweDFBLDB4MkMsMHgwNywKLTB4M0MsMHgwRiwweDc2LDB4MEEsMHgzQywweDJBLDB4NzIsMHgxMCwweDJDLDB4MjAsMHgzQywweDBGLDB4NzcsMHgwQSwweDk4LDB4QzEsCi0weEUxLDB4MDQsMHgwMywweEM4LDB4QUMsMHhFQiwweEQ3LDB4OTAsMHg0RSwweDhCLDB4QzEsMHg1OSwweEMzLDB4OTAsMHgwNiwweDhDLAotMHhDOCwweDhFLDB4QzAsMHhFOCwweDAyLDB4MDAsMHgwNywweEMzLDB4MjYsMHg4QSwweDA0LDB4NDYsMHgwQSwweEMwLDB4NzQsMHgwNiwKLTB4RTgsMHg4RiwweDAwLDB4RUIsMHhGMywweDkwLDB4QzMsMHg5MCwweDBCLDB4QzAsMHg3NCwweDdBLDB4NTEsMHgzMywweEQyLDB4QjksCi0weEU4LDB4MDMsMHhGNywweEYxLDB4OEIsMHhDQSwweEU4LDB4MDMsMHgwMCwweDhCLDB4QzEsMHg1OSwweEJBLDB4NjQsMHgwMCwweEY2LAotMHhGMiwweEU4LDB4MEMsMHgwMCwweDhBLDB4QzQsMHg5OCwweEIyLDB4MEEsMHhGNiwweEYyLDB4RTgsMHgwMiwweDAwLDB4OEEsMHhDNCwKLTB4NTAsMHgwQSwweEYwLDB4NzQsMHgwNSwweDA0LDB4MzAsMHhFOCwweDU4LDB4MDAsMHg1OCwweEMzLDB4ODYsMHhDNCwweEU4LDB4MDcsCi0weDAwLDB4ODYsMHhDNCwweEU4LDB4MDIsMHgwMCwweEMzLDB4OTAsMHhDMSwweEM4LDB4MDQsMHhFOCwweDA4LDB4MDAsMHhDMSwweEMwLAotMHgwNCwweEU4LDB4MDIsMHgwMCwweEMzLDB4OTAsMHg1MywweDUwLDB4MjQsMHgwRiwweEJCLDB4Q0EsMHg2MiwweDJFLDB4RDcsMHhFOCwKLTB4MzAsMHgwMCwweDU4LDB4NUIsMHhDMywweDkwLDB4ODYsMHhDNCwweEU4LDB4MDcsMHgwMCwweDg2LDB4QzQsMHhFOCwweDAyLDB4MDAsCi0weEMzLDB4OTAsMHg1MCwweEI5LDB4MDgsMHgwMCwweDhBLDB4RTAsMHgzMiwweEMwLDB4RDEsMHhDMCwweDA0LDB4MzAsMHhFOCwweDExLAotMHgwMCwweEUyLDB4RjUsMHg1OCwweEMzLDB4OTAsMHhCMCwweDMwLDB4RTgsMHgwNywweDAwLDB4QzMsMHhCMCwweDIwLDB4RTgsMHgwMSwKLTB4MDAsMHhDMywweDU2LDB4OEIsMHgzNiwweEQwLDB4NzksMHg4OCwweDg0LDB4RDAsMHg3NywweDQ2LDB4ODEsMHhFNiwweEZGLDB4MDEsCi0weEZGLDB4MDYsMHhENCwweDc5LDB4ODksMHgzNiwweEQwLDB4NzksMHg4MSwweDNFLDB4RDQsMHg3OSwweEZFLDB4MDEsMHg3NSwweDA4LAotMHg1NiwweEU4LDB4MTQsMHgwMCwweDVFLDB4RUIsMHhGMSwweDkwLDB4NUUsMHhDMywweEJBLDB4MDIsMHgwMiwweEVDLDB4MjQsMHgwMSwKLTB4NzQsMHgwNCwweEJBLDB4MDYsMHgwMiwweEVDLDB4QzMsMHg5MCwweDgwLDB4M0UsMHhGNiwweDc5LDB4MDAsMHg3NCwweDA5LDB4NjAsCi0weEI4LDB4MDEsMHgwMCwweEU4LDB4MkMsMHhFQSwweDYxLDB4OTAsMHhCQSwweDAyLDB4MDIsMHhFQywweEE4LDB4MDQsMHg3NCwweDI4LAotMHg4QiwweDM2LDB4RDIsMHg3OSwweDgzLDB4M0UsMHhENCwweDc5LDB4MDAsMHg3NCwweDFELDB4OEEsMHg4NCwweEQwLDB4NzcsMHg0NiwKLTB4ODEsMHhFNiwweEZGLDB4MDEsMHg4OSwweDM2LDB4RDIsMHg3OSwweEZGLDB4MEUsMHhENCwweDc5LDB4QkEsMHgwNiwweDAyLDB4RUUsCi0weEJBLDB4MDIsMHgwMiwweEVDLDB4QTgsMHgwNCwweDc1LDB4REMsMHhBMSwweEQ0LDB4NzksMHhDMywweDUyLDB4QkEsMHgwNiwweDAyLAotMHhFRSwweDVBLDB4QzMsMHg5MCwweDUyLDB4NTAsMHhCQSwweDAyLDB4MDIsMHhFQywweEE4LDB4MDQsMHg3NCwweDA4LDB4NTgsMHg1QSwKLTB4RTgsMHhFOSwweEZGLDB4RjksMHhDMywweDkwLDB4NTgsMHg1QSwweEY4LDB4QzMsMHg1MiwweDUwLDB4QkEsMHgwMiwweDAyLDB4RUMsCi0weEE4LDB4MDQsMHg3NCwweEZCLDB4NTgsMHg1QSwweEU4LDB4RDMsMHhGRiwweEMzLDB4MzAsMHgzMSwweDMyLDB4MzMsMHgzNCwweDM1LAotMHgzNiwweDM3LDB4MzgsMHgzOSwweDQxLDB4NDIsMHg0MywweDQ0LDB4NDUsMHg0NiwweDUzLDB4NTAsMHg4QSwweEUwLDB4ODAsMHhFNCwKLTB4MEYsMHhCQiwweENBLDB4NjIsMHhDMCwweEU4LDB4MDQsMHgyRSwweEQ3LDB4RTgsMHhDRSwweEZGLDB4OEEsMHhDNCwweDJFLDB4RDcsCi0weEU4LDB4QzcsMHhGRiwweDU4LDB4NUIsMHhDMywweDg2LDB4RTAsMHhFOCwweERGLDB4RkYsMHg4NiwweEUwLDB4RTgsMHhEQSwweEZGLAotMHhDMywweDkwLDB4QkUsMHhCMiwweDRELDB4NTAsMHgyRSwweEFDLDB4M0MsMHgwMCwweDc0LDB4MDUsMHhFOCwweEFCLDB4RkYsMHhFQiwKLTB4RjUsMHg1OCwweEMzLDB4OTAsMHhDOCwweDA4LDB4MDAsMHgwMCwweDU2LDB4NTcsMHg4QiwweDc2LDB4MDQsMHhCRiwweDA0LDB4MDAsCi0weEM3LDB4NDYsMHhGQywweDAwLDB4MDAsMHhDNywweDQ2LDB4RkEsMHgwMCwweDAwLDB4QzcsMHg0NiwweEY4LDB4MDAsMHgwMCwweDgzLAotMHg3RSwweDA2LDB4MDAsMHg3NSwweDBFLDB4NTYsMHhFOCwweEI2LDB4MEUsMHg1OSwweDBCLDB4QzAsMHg3NSwweDA1LDB4OEIsMHhDNywKLTB4RTksMHg1QiwweDAxLDB4OEIsMHg0NiwweEZDLDB4ODksMHg0NiwweEZFLDB4MEIsMHhGRiwweDc1LDB4MDUsMHhCOCwweDAxLDB4MDAsCi0weEVCLDB4MDIsMHgzMywweEMwLDB4NTAsMHg1NiwweEU4LDB4QTQsMHgwRCwweDU5LDB4NTksMHhCNCwweDAwLDB4ODksMHg0NiwweEZDLAotMHg4QiwweDVFLDB4RkMsMHg4MywweEZCLDB4MDgsMHg3NiwweDAzLDB4RTksMHgyQiwweDAxLDB4RDEsMHhFMywweDJFLDB4RkYsMHhBNywKLTB4QjIsMHg2NCwweEI4LDB4MDMsMHgwMCwweEU5LDB4MjYsMHgwMSwweDgzLDB4N0UsMHhGQSwweDAwLDB4NzQsMHgxNCwweEM3LDB4NDYsCi0weEZBLDB4MDAsMHgwMCwweDhBLDB4NDQsMHg1OCwweDk4LDB4NTAsMHg4QSwweDQ0LDB4NTksMHg5OCwweDUwLDB4RTgsMHhDMiwweDBGLAotMHg1OSwweDU5LDB4ODMsMHg3RSwweEY4LDB4MDAsMHg3NCwweDBBLDB4QzcsMHg0NiwweEY4LDB4MDAsMHgwMCwweDU2LDB4RTgsMHg5QiwKLTB4MDgsMHg1OSwweDgzLDB4N0UsMHgwNiwweDAwLDB4NzUsMHgwNSwweDhCLDB4QzcsMHhFOSwweEYxLDB4MDAsMHg4MywweEZGLDB4MDQsCi0weDc1LDB4MDMsMHhFOSwweEU2LDB4MDAsMHg4QiwweEM3LDB4RTksMHhFNCwweDAwLDB4ODMsMHg3RSwweEZFLDB4MDAsMHg3NSwweDAzLAotMHhCRiwweDAyLDB4MDAsMHhFOSwweEQ1LDB4MDAsMHg4MywweDdFLDB4RkUsMHgwMCwweDc1LDB4MDMsMHhCRiwweDAxLDB4MDAsMHhFOSwKLTB4QzksMHgwMCwweDhCLDB4NUUsMHhGRSwweDgzLDB4RkIsMHgwNywweDc2LDB4MDMsMHhFOSwweDg2LDB4MDAsMHhEMSwweEUzLDB4MkUsCi0weEZGLDB4QTcsMHhBMiwweDY0LDB4MzMsMHhGRiwweEU5LDB4N0YsMHgwMCwweEJGLDB4MDQsMHgwMCwweDgwLDB4N0MsMHg1OCwweDBGLAotMHg3NCwweDIyLDB4ODMsMHg3RSwweEY4LDB4MDAsMHg3NSwweDFDLDB4RkUsMHg0NCwweDU4LDB4NkEsMHgwOCwweDU2LDB4RTgsMHg3RSwKLTB4MEMsMHg1OSwweDU5LDB4OEEsMHg0NCwweDU4LDB4MDQsMHg4MCwweDUwLDB4NTYsMHhFOCwweDcyLDB4MEMsMHg1OSwweDU5LDB4QzcsCi0weDQ2LDB4RkEsMHgwMSwweDAwLDB4ODMsMHg3RSwweEY4LDB4MDAsMHg3NCwweDBBLDB4QzcsMHg0NiwweEY4LDB4MDAsMHgwMCwweDU2LAotMHhFOCwweDE5LDB4MDgsMHg1OSwweEVCLDB4NDIsMHhCRiwweDA0LDB4MDAsMHg4MCwweDdDLDB4NTgsMHgwMCwweDc0LDB4MjIsMHg4MywKLTB4N0UsMHhGOCwweDAwLDB4NzUsMHgxQywweEZFLDB4NEMsMHg1OCwweDZBLDB4MDgsMHg1NiwweEU4LDB4NDEsMHgwQywweDU5LDB4NTksCi0weDhBLDB4NDQsMHg1OCwweDA0LDB4ODAsMHg1MCwweDU2LDB4RTgsMHgzNSwweDBDLDB4NTksMHg1OSwweEM3LDB4NDYsMHhGQSwweDAxLAotMHgwMCwweDgzLDB4N0UsMHhGOCwweDAwLDB4NzQsMHgwQSwweEM3LDB4NDYsMHhGOCwweDAwLDB4MDAsMHg1NiwweEU4LDB4REMsMHgwNywKLTB4NTksMHhFQiwweDA1LDB4QkYsMHgwNCwweDAwLDB4RUIsMHgwMCwweEVCLDB4MzEsMHhCRiwweDA0LDB4MDAsMHhFQiwweDJDLDB4QzcsCi0weDQ2LDB4RjgsMHgwMSwweDAwLDB4NkEsMHgwOCwweDU2LDB4RTgsMHgwNSwweDBDLDB4NTksMHg1OSwweDgwLDB4N0MsMHg1OCwweDA5LAotMHg3RCwweDA0LDB4QjAsMHgwRiwweEVCLDB4MDIsMHhCMCwweDAwLDB4MDQsMHg4MCwweDUwLDB4NTYsMHhFOCwweEYwLDB4MEIsMHg1OSwKLTB4NTksMHhCRiwweDA0LDB4MDAsMHhFQiwweDA1LDB4QkYsMHgwNCwweDAwLDB4RUIsMHgwMCwweEU5LDB4QTUsMHhGRSwweDVGLDB4NUUsCi0weEM5LDB4QzMsMHhFNCwweDYzLDB4NjMsMHg2NCwweDYzLDB4NjQsMHg2MywweDY0LDB4NjMsMHg2NCwweEU5LDB4NjMsMHgyNiwweDY0LAotMHg1MSwweDY0LDB4NzgsMHg2MywweEJBLDB4NjMsMHhDNiwweDYzLDB4OTYsMHg2NCwweEQyLDB4NjMsMHg2QSwweDY0LDB4NkEsMHg2NCwKLTB4NkYsMHg2NCwweDcyLDB4NjMsMHhDOCwweDA4LDB4MDAsMHgwMCwweDU2LDB4NTcsMHg4QiwweDc2LDB4MDQsMHg4QiwweDdFLDB4MDgsCi0weDZBLDB4MDEsMHg1NiwweEU4LDB4QTksMHgwQiwweDU5LDB4NTksMHg4QSwweDQ2LDB4MDYsMHhDMCwweEUwLDB4MDYsMHgwNCwweDgwLAotMHg1MCwweDU2LDB4RTgsMHg5QSwweDBCLDB4NTksMHg1OSwweEM3LDB4NDYsMHhGRSwweDAwLDB4MDAsMHg4OSwweDdFLDB4RjgsMHhFQiwKLTB4MDMsMHhGRiwweDQ2LDB4RkUsMHg4QiwweDVFLDB4RjgsMHhGRiwweDQ2LDB4RjgsMHg4MCwweDNGLDB4MDAsMHg3NSwweEYyLDB4ODMsCi0weDdFLDB4RkUsMHgxMCwweDdELDB4MjUsMHhCOCwweDEwLDB4MDAsMHgyQiwweDQ2LDB4RkUsMHhEMSwweEY4LDB4ODksMHg0NiwweEZDLAotMHhDNywweDQ2LDB4RkEsMHgwMCwweDAwLDB4RUIsMHgwQiwweDZBLDB4MjAsMHg1NiwweEU4LDB4NjIsMHgwQiwweDU5LDB4NTksMHhGRiwKLTB4NDYsMHhGQSwweDhCLDB4NDYsMHhGQSwweDNCLDB4NDYsMHhGQywweDdDLDB4RUQsMHhFQiwweDBDLDB4OEIsMHhERiwweDQ3LDB4OEEsCi0weDA3LDB4NTAsMHg1NiwweEU4LDB4NDksMHgwQiwweDU5LDB4NTksMHg4MCwweDNELDB4MDAsMHg3NSwweEVGLDB4NkEsMHgwMiwweDU2LAotMHhFOCwweDNDLDB4MEIsMHg1OSwweDU5LDB4RUIsMHgwMCwweDVGLDB4NUUsMHhDOSwweEMzLDB4QzgsMHgwNCwweDAwLDB4MDAsMHg1NiwKLTB4NTcsMHg4QiwweDdFLDB4MDQsMHhDNywweDQ2LDB4RkUsMHgwMCwweDAwLDB4QkUsMHgxNCwweDAwLDB4RTksMHgwOSwweDAxLDB4OEIsCi0weDVFLDB4RkUsMHg4MywweEMzLDB4MDQsMHgyQiwweERGLDB4OEEsMHg4NywweEFDLDB4MEIsMHg4OCwweDQ0LDB4NUEsMHhDNiwweDQ0LAotMHg1OCwweDA4LDB4OEEsMHg0NiwweEZFLDB4ODgsMHg0NCwweDU5LDB4QzcsMHg0NCwweDA2LDB4MDAsMHgwMCwweEM2LDB4NDQsMHgxOSwKLTB4MDAsMHhDNiwweDQ0LDB4MUEsMHgwMCwweEM2LDB4NDQsMHgxQiwweDAwLDB4QzYsMHg0NCwweDFELDB4MEQsMHhDNiwweDQ0LDB4MUUsCi0weDAzLDB4QzYsMHg0NCwweDFGLDB4MDAsMHhDNiwweDQ0LDB4MjAsMHgwMCwweEM2LDB4NDQsMHgyMSwweDAwLDB4QzYsMHg0NCwweDVCLAotMHgwMCwweEM2LDB4NDQsMHg1RCwweDAwLDB4QzYsMHg0NCwweDVFLDB4MDAsMHhDNiwweDQ0LDB4NUYsMHgwMCwweEM2LDB4NDQsMHg2MCwKLTB4MDAsMHhDNywweDQ2LDB4RkMsMHgwMCwweDAwLDB4RUIsMHgwRCwweDhCLDB4NUUsMHhGQywweEQxLDB4RTMsMHhDNywweDQwLDB4MzAsCi0weDAwLDB4MDAsMHhGRiwweDQ2LDB4RkMsMHg4MywweDdFLDB4RkMsMHgxMCwweDdDLDB4RUQsMHhDNywweDQ2LDB4RkMsMHgwMCwweDAwLAotMHhFQiwweDBBLDB4OEIsMHg1RSwweEZDLDB4QzYsMHg0MCwweDUwLDB4MDAsMHhGRiwweDQ2LDB4RkMsMHg4MywweDdFLDB4RkMsMHgwNCwKLTB4N0MsMHhGMCwweEM3LDB4NDQsMHg1NCwweDAwLDB4MDAsMHhDNywweDQ0LDB4NTYsMHgwMCwweDAwLDB4OEEsMHg0NCwweDVBLDB4OTgsCi0weEJBLDB4RjgsMHgwMCwweDIzLDB4RDAsMHhCOCwweDA1LDB4MDAsMHgwQiwweEMyLDB4ODksMHg0NiwweEZDLDB4OUMsMHhGQSwweDhBLAotMHg0NiwweEZDLDB4QkEsMHhGRSwweDAwLDB4RUUsMHhCQSwweDAwLDB4MDAsMHhFQywweDlELDB4MjQsMHgwOCwweDg4LDB4NDYsMHhGQywKLTB4ODMsMHg3RSwweEZDLDB4MDAsMHg3NSwweDAyLDB4RUIsMHg0QSwweEZGLDB4NzYsMHhGRSwweEU4LDB4N0EsMHgwQywweDU5LDB4NjgsCi0weDM1LDB4MDIsMHg1NiwweEU4LDB4MzIsMHgwQSwweDU5LDB4NTksMHgwQiwweEMwLDB4NzUsMHgzNCwweDY4LDB4MzgsMHgwMiwweDU2LAotMHhFOCwweDI1LDB4MEEsMHg1OSwweDU5LDB4MEIsMHhDMCwweDc1LDB4MjcsMHg2OCwweDQyLDB4MDIsMHg1NiwweEU4LDB4MTgsMHgwQSwKLTB4NTksMHg1OSwweDBCLDB4QzAsMHg3NSwweDFBLDB4NjgsMHg0QywweDAyLDB4NTYsMHhFOCwweDBCLDB4MEEsMHg1OSwweDU5LDB4MEIsCi0weEMwLDB4NzUsMHgwRCwweDY4LDB4NTYsMHgwMiwweDU2LDB4RTgsMHhGRSwweDA5LDB4NTksMHg1OSwweDBCLDB4QzAsMHg3NCwweDAyLAotMHhFQiwweDAwLDB4RkYsMHg0NiwweEZFLDB4ODMsMHhDNiwweDYyLDB4MzksMHg3RSwweEZFLDB4N0QsMHgwMywweEU5LDB4RUYsMHhGRSwKLTB4RUIsMHgwMCwweDVGLDB4NUUsMHhDOSwweEMzLDB4QzgsMHgwOCwweDAwLDB4MDAsMHg1NiwweDU3LDB4OEIsMHg0NiwweDA0LDB4QkEsCi0weDYyLDB4MDAsMHhGNywweEVBLDB4MDUsMHgxNCwweDAwLDB4OEIsMHhGMCwweDgzLDB4N0UsMHgwNiwweDAwLDB4NzQsMHgwNSwweEI4LAotMHgxMCwweDAwLDB4RUIsMHgwMywweEI4LDB4MDgsMHgwMCwweDg5LDB4NDQsMHgwNCwweDhBLDB4NDYsMHgwOCwweDg4LDB4NDQsMHg1QywKLTB4NTYsMHhFOCwweDU5LDB4MDQsMHg1OSwweDhCLDB4RjgsMHg4QiwweEM3LDB4ODksMHg0NCwweDU2LDB4ODksMHg0NCwweDU0LDB4OEEsCi0weDQ0LDB4NUQsMHg4OCwweDQ0LDB4MkYsMHgwQiwweEZGLDB4NzUsMHgxRCwweDY4LDB4QzIsMHgwRiwweDZBLDB4MDEsMHg1NiwweEU4LAotMHgwMiwweEZFLDB4ODMsMHhDNCwweDA2LDB4RUIsMHgwMCwweDZBLDB4MDEsMHg1NiwweEU4LDB4NDcsMHhGQywweDU5LDB4NTksMHgwQiwKLTB4QzAsMHg3NSwweEY0LDB4QkYsMHgwMSwweDAwLDB4ODksMHg3RSwweEZBLDB4QjksMHgwNSwweDAwLDB4QkIsMHhFOSwweDZBLDB4MkUsCi0weDhCLDB4MDcsMHgzQiwweDQ2LDB4RkEsMHg3NCwweDA3LDB4NDMsMHg0MywweEUyLDB4RjQsMHhFOSwweEE0LDB4MDMsMHgyRSwweEZGLAotMHg2NywweDBBLDB4QzcsMHg0NCwweDA2LDB4MDIsMHgwMCwweEM3LDB4NDQsMHgwOCwweEY0LDB4MDgsMHg4QiwweDVFLDB4MDQsMHhEMSwKLTB4RTMsMHg4QiwweDg3LDB4RkMsMHgwOCwweDg5LDB4NDQsMHgwQSwweDMzLDB4QzAsMHg4QiwweEY4LDB4ODksMHg0NCwweDU0LDB4RTksCi0weDgwLDB4MDMsMHg1NiwweEU4LDB4QkIsMHgwNSwweDU5LDB4QkYsMHgwMSwweDAwLDB4OEEsMHg0NCwweDVELDB4ODgsMHg0NCwweDYwLAotMHhFOSwweDZGLDB4MDMsMHg4MywweDdDLDB4MDQsMHgwOCwweDc1LDB4MzAsMHg4MCwweDdDLDB4NUMsMHgwMSwweDc1LDB4MTUsMHg4QSwKLTB4NDQsMHg1RCwweEI0LDB4MDAsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHhFNCwweDA4LDB4NTYsMHhFOCwweEY3LDB4MDgsCi0weDU5LDB4NTksMHhFQiwweDEzLDB4OEEsMHg0NCwweDVELDB4QjQsMHgwMCwweEQxLDB4RTAsMHg4QiwweEQ4LDB4RkYsMHhCNywweEM0LAotMHgwOCwweDU2LDB4RTgsMHhFMiwweDA4LDB4NTksMHg1OSwweEVCLDB4MkUsMHg4MCwweDdDLDB4NUMsMHgwMSwweDc1LDB4MTUsMHg4QSwKLTB4NDQsMHg1RCwweEI0LDB4MDAsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHhENCwweDA4LDB4NTYsMHhFOCwweEM3LDB4MDgsCi0weDU5LDB4NTksMHhFQiwweDEzLDB4OEEsMHg0NCwweDVELDB4QjQsMHgwMCwweEQxLDB4RTAsMHg4QiwweEQ4LDB4RkYsMHhCNywweEI0LAotMHgwOCwweDU2LDB4RTgsMHhCMiwweDA4LDB4NTksMHg1OSwweDZBLDB4MDEsMHg1NiwweEU4LDB4ODcsMHhGQiwweDU5LDB4NTksMHg4QiwKLTB4RDgsMHg4MywweEZCLDB4MDMsMHg3NywweDJBLDB4RDEsMHhFMywweDJFLDB4RkYsMHhBNywweEUxLDB4NkEsMHhCRiwweDAxLDB4MDAsCi0weDhBLDB4NDQsMHg1RCwweDg4LDB4NDQsMHg1RSwweEVCLDB4MTgsMHg4QSwweDQ0LDB4NUQsMHgwNCwweEZGLDB4MjQsMHgwNywweDg4LAotMHg0NCwweDVELDB4RUIsMHgwQywweDhBLDB4NDQsMHg1RCwweEZFLDB4QzAsMHgyNCwweDA3LDB4ODgsMHg0NCwweDVELDB4RUIsMHgwMCwKLTB4RTksMHhDRiwweDAyLDB4OEEsMHg0NCwweDVELDB4QjQsMHgwMCwweEQxLDB4RTAsMHg4QiwweEQ4LDB4RkYsMHhCNywweEZELDB4MDIsCi0weDU2LDB4RTgsMHg2MywweDA4LDB4NTksMHg1OSwweDY4LDB4MUQsMHgwMywweDU2LDB4RTgsMHg1QSwweDA4LDB4NTksMHg1OSwweDZBLAotMHgwMSwweDU2LDB4RTgsMHgyRiwweEZCLDB4NTksMHg1OSwweDhCLDB4RDgsMHg4MywweEZCLDB4MDMsMHg3NywweDM2LDB4RDEsMHhFMywKLTB4MkUsMHhGRiwweEE3LDB4RDksMHg2QSwweEJGLDB4MDEsMHgwMCwweDhBLDB4NDQsMHg1RCwweDg4LDB4NDQsMHg1RiwweEVCLDB4MjQsCi0weDhBLDB4NDQsMHg1RCwweDA0LDB4RkYsMHg4QSwweDU0LDB4MDQsMHg4MCwweEMyLDB4RkYsMHgyMiwweEMyLDB4ODgsMHg0NCwweDVELAotMHhFQiwweDEyLDB4OEEsMHg0NCwweDVELDB4RkUsMHhDMCwweDhBLDB4NTQsMHgwNCwweDgwLDB4QzIsMHhGRiwweDIyLDB4QzIsMHg4OCwKLTB4NDQsMHg1RCwweEVCLDB4MDAsMHhFOSwweDZCLDB4MDIsMHg4QiwweDVDLDB4MDYsMHg4MywweEMzLDB4RkUsMHhEMSwweEUzLDB4OEIsCi0weDQwLDB4MDgsMHg4OSwweDA0LDB4OEIsMHgxQywweEZGLDB4NzcsMHgwNiwweDZBLDB4MDAsMHg1NiwweEU4LDB4ODUsMHhGQywweDgzLAotMHhDNCwweDA2LDB4OEIsMHg1QywweDA2LDB4NEIsMHhEMSwweEUzLDB4OEIsMHg0MCwweDA4LDB4ODksMHg0NCwweDAyLDB4OEIsMHg1QywKLTB4MDIsMHhGRiwweDc3LDB4MDYsMHg2QSwweDAxLDB4NTYsMHhFOCwweDZBLDB4RkMsMHg4MywweEM0LDB4MDYsMHg2QSwweDAxLDB4NTYsCi0weEU4LDB4QjEsMHhGQSwweDU5LDB4NTksMHg4QiwweEQ4LDB4ODMsMHhGQiwweDAzLDB4NzYsMHgwMywweEU5LDB4MUYsMHgwMiwweEQxLAotMHhFMywweDJFLDB4RkYsMHhBNywweEQxLDB4NkEsMHg4QiwweDVDLDB4MDIsMHg4QiwweDQ3LDB4MDQsMHg4OSwweDQ0LDB4MDIsMHg4QiwKLTB4NUMsMHgwMiwweDgwLDB4M0YsMHg0NCwweDc1LDB4MEQsMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHhCNCwweDAwLDB4M0IsCi0weDQ0LDB4MDQsMHg3RCwweEUyLDB4OEIsMHg0NiwweDA0LDB4RDEsMHhFMCwweDhCLDB4MUMsMHgwMywweEQ4LDB4OEIsMHg0NCwweDAyLAotMHg4OSwweDQ3LDB4MDgsMHg4QiwweDVDLDB4MDYsMHg0QiwweEQxLDB4RTMsMHg4QiwweDQ0LDB4MDIsMHg4OSwweDQwLDB4MDgsMHhFOSwKLTB4REUsMHgwMSwweDhCLDB4NUMsMHgwMiwweDhCLDB4NDcsMHgwMiwweDg5LDB4NDQsMHgwMiwweDhCLDB4NUMsMHgwMiwweDgwLDB4M0YsCi0weDQ0LDB4NzUsMHgwRCwweDhCLDB4NUMsMHgwMiwweDhBLDB4NDcsMHgwMSwweEI0LDB4MDAsMHgzQiwweDQ0LDB4MDQsMHg3RCwweEUyLAotMHg4QiwweDQ2LDB4MDQsMHhEMSwweEUwLDB4OEIsMHgxQywweDAzLDB4RDgsMHg4QiwweDQ0LDB4MDIsMHg4OSwweDQ3LDB4MDgsMHg4QiwKLTB4NUMsMHgwNiwweDRCLDB4RDEsMHhFMywweDhCLDB4NDQsMHgwMiwweDg5LDB4NDAsMHgwOCwweEU5LDB4QTIsMHgwMSwweEJGLDB4MDEsCi0weDAwLDB4RTksMHg5QywweDAxLDB4OEIsMHg1QywweDAyLDB4OEEsMHgwNywweEI0LDB4MDAsMHg4OSwweDQ2LDB4RjgsMHhCOSwweDBDLAotMHgwMCwweEJCLDB4QTEsMHg2QSwweDJFLDB4OEIsMHgwNywweDNCLDB4NDYsMHhGOCwweDc0LDB4MDcsMHg0MywweDQzLDB4RTIsMHhGNCwKLTB4RTksMHg3NywweDAxLDB4MkUsMHhGRiwweDY3LDB4MTgsMHg4QiwweDQ2LDB4MDQsMHhEMSwweEUwLDB4OEIsMHg1QywweDAyLDB4MDMsCi0weEQ4LDB4OEIsMHg0NywweDA4LDB4OEIsMHg1QywweDA2LDB4RkYsMHg0NCwweDA2LDB4RDEsMHhFMywweDg5LDB4NDAsMHgwOCwweDhCLAotMHgxQywweDgwLDB4N0YsMHgwMSwweDAwLDB4NzQsMHgxMiwweDhCLDB4NUMsMHgwMiwweDhBLDB4NDcsMHgwMSwweDhCLDB4MUMsMHg4QSwKLTB4NTcsMHgwMSwweEI2LDB4MDAsMHg4QiwweERBLDB4ODgsMHg0MCwweDE4LDB4RTksMHg0MCwweDAxLDB4RkYsMHg0QywweDA2LDB4RTksCi0weDNBLDB4MDEsMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHg4QiwweDFDLDB4OEEsMHg1NywweDAxLDB4QjYsMHgwMCwweDhCLAotMHhEQSwweDg4LDB4NDAsMHgxOCwweEU5LDB4MjUsMHgwMSwweDhCLDB4NUMsMHgwMiwweDhBLDB4NDcsMHgwMSwweDhCLDB4MUMsMHg4QSwKLTB4NTcsMHgwMSwweEI2LDB4MDAsMHg4QiwweERBLDB4ODgsMHg0MCwweDE4LDB4RkYsMHg0QywweDA2LDB4RTksMHgwRCwweDAxLDB4OEIsCi0weDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHg4QiwweDFDLDB4OEEsMHg1NywweDAxLDB4QjYsMHgwMCwweDhCLDB4REEsMHgzMCwweDQwLAotMHgxOCwweEU5LDB4RjgsMHgwMCwweEI4LDB4RjAsMHgxMCwweDhCLDB4RjgsMHg4OSwweDQ0LDB4NTQsMHg4QSwweDQ0LDB4NUYsMHg4OCwKLTB4NDQsMHg1RCwweEU5LDB4RTcsMHgwMCwweDhBLDB4NDQsMHgxQywweDk4LDB4M0QsMHgwMiwweDAwLDB4NzQsMHgwNywweDNELDB4MDMsCi0weDAwLDB4NzQsMHgwMiwweEVCLDB4MDcsMHhDNywweDQ2LDB4RkUsMHgwMCwweDAwLDB4RUIsMHgyQiwweDhBLDB4NDQsMHgxQywweDk4LAotMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHg2OSwweDAyLDB4NTYsMHhFOCwweDZCLDB4MDYsMHg1OSwweDU5LDB4NkEsMHgwMSwKLTB4NTYsMHhFOCwweDQwLDB4RjksMHg1OSwweDU5LDB4ODksMHg0NiwweEZFLDB4ODMsMHg3RSwweEZFLDB4MDAsMHg3NCwweDA2LDB4ODMsCi0weDdFLDB4RkUsMHgwMywweDc1LDB4RTksMHhFQiwweDAwLDB4ODMsMHg3RSwweEZFLDB4MDMsMHg3NCwweDYyLDB4OEEsMHg0NCwweDFDLAotMHg5OCwweEQxLDB4RTAsMHg4QiwweEQ4LDB4RkYsMHhCNywweDZELDB4MDIsMHg1NiwweEU4LDB4M0EsMHgwNiwweDU5LDB4NTksMHg1NiwKLTB4RTgsMHg0RCwweDk3LDB4NTksMHg4OSwweDQ2LDB4RkMsMHg4QiwweDVFLDB4RkMsMHg4MywweEVCLDB4RkUsMHg4MywweEZCLDB4MDMsCi0weDc3LDB4MzMsMHhEMSwweEUzLDB4MkUsMHhGRiwweEE3LDB4OTksMHg2QSwweDY4LDB4QUMsMHgwMiwweDU2LDB4RTgsMHgxNywweDA2LAotMHg1OSwweDU5LDB4RUIsMHgyMywweDY4LDB4OEYsMHgwMiwweDU2LDB4RTgsMHgwQywweDA2LDB4NTksMHg1OSwweEVCLDB4MTgsMHg2OCwKLTB4NzUsMHgwMiwweDU2LDB4RTgsMHgwMSwweDA2LDB4NTksMHg1OSwweEVCLDB4MEQsMHg2OCwweEM2LDB4MDIsMHg1NiwweEU4LDB4RjYsCi0weDA1LDB4NTksMHg1OSwweEVCLDB4MDIsMHhFQiwweDAwLDB4NkEsMHgwMSwweDU2LDB4RTgsMHhDNywweEY4LDB4NTksMHg1OSwweEJGLAotMHgwMSwweDAwLDB4RUIsMHgzOCwweDY4LDB4REQsMHgwMiwweDU2LDB4RTgsMHhEQywweDA1LDB4NTksMHg1OSwweDZBLDB4MDEsMHg1NiwKLTB4RTgsMHhCMSwweEY4LDB4NTksMHg1OSwweEJGLDB4MDEsMHgwMCwweEVCLDB4MjIsMHhCOCwweEQwLDB4MzAsMHg4QiwweEY4LDB4ODksCi0weDQ0LDB4NTQsMHg4QSwweDQ0LDB4NjAsMHg4OCwweDQ0LDB4NUQsMHhFQiwweDEyLDB4QjgsMHhFMCwweDIwLDB4OEIsMHhGOCwweDg5LAotMHg0NCwweDU0LDB4OEEsMHg0NCwweDVFLDB4ODgsMHg0NCwweDVELDB4RUIsMHgwMiwweEVCLDB4MDAsMHhFQiwweDAyLDB4RUIsMHgwMCwKLTB4RUIsMHgwMCwweEU5LDB4NDEsMHhGQywweDVGLDB4NUUsMHhDOSwweEMzLDB4MTksMHg2QSwweDI0LDB4NkEsMHgyRiwweDZBLDB4M0EsCi0weDZBLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDQxLDB4MDAsMHg0MiwweDAwLDB4NDMsMHgwMCwweDQ0LAotMHgwMCwweDgwLDB4MDAsMHg4MSwweDAwLDB4ODIsMHgwMCwweEZGLDB4MDAsMHgxNywweDY5LDB4NTQsMHg2QSwweDdBLDB4NkEsMHhBNSwKLTB4NjksMHg1MiwweDY5LDB4OTQsMHg2OSwweDZBLDB4NkEsMHg2NywweDY5LDB4NTIsMHg2OSwweDdGLDB4NjksMHg2NywweDY5LDB4NEMsCi0weDY5LDB4RjQsMHg2OCwweDc2LDB4NjgsMHhCMiwweDY4LDB4RUUsMHg2OCwweEY1LDB4NjcsMHgwMCwweDY4LDB4MTIsMHg2OCwweEY1LAotMHg2NywweDlELDB4NjcsMHhBOCwweDY3LDB4QjQsMHg2NywweDlELDB4NjcsMHgwMCwweDAwLDB4MDEsMHgwMCwweEYwLDB4MTAsMHhFMCwKLTB4MjAsMHhEMCwweDMwLDB4MjcsMHg2OCwweEYyLDB4NjYsMHhDMywweDY3LDB4MjMsMHg2NywweDEyLDB4NjcsMHhDOCwweDA0LDB4MDAsCi0weDAwLDB4NTYsMHg1NywweDhCLDB4NzYsMHgwNCwweDhBLDB4NDQsMHg1OSwweDk4LDB4ODksMHg0NiwweEZDLDB4NkEsMHgwOSwweDhCLAotMHg0NiwweEZDLDB4MDUsMHg4NCwweDAxLDB4NTAsMHhFOCwweDkzLDB4MDgsMHg1OSwweDU5LDB4OEIsMHhGOCwweDhCLDB4QzcsMHgyNSwKLTB4MDAsMHhGMCwweDNELDB4MDAsMHgxMCwweDc1LDB4NTUsMHg4QiwweEM3LDB4MjUsMHhGMCwweDAwLDB4M0QsMHhGMCwweDAwLDB4NzUsCi0weDRCLDB4OEIsMHhDNywweDI1LDB4MDAsMHgwRiwweEMxLDB4RjgsMHgwOCwweDg5LDB4NDYsMHhGRSwweDhCLDB4NDQsMHgwNCwweDNCLAotMHg0NiwweEZFLDB4N0QsMHgwNSwweDMzLDB4QzAsMHhFOSwweEVGLDB4MDAsMHg4QiwweEM3LDB4MjUsMHgwRiwweDAwLDB4QkEsMHgwRiwKLTB4MDAsMHgyQiwweEQwLDB4M0IsMHg1NiwweEZFLDB4NzQsMHgwNSwweDMzLDB4QzAsMHhFOSwweERCLDB4MDAsMHhDNywweDQ0LDB4MDIsCi0weDA0LDB4MDksMHg4QSwweDQ2LDB4RkUsMHg4OCwweDQ0LDB4NUYsMHg4OCwweDQ0LDB4NUQsMHg4QiwweDVFLDB4RkMsMHhEMSwweEUzLAotMHhDNywweDg3LDB4RkMsMHgwOCwweDA0LDB4MDksMHhCOCwweEYwLDB4MTAsMHhFOSwweEJDLDB4MDAsMHg4QiwweEM3LDB4MjUsMHgwMCwKLTB4RjAsMHgzRCwweDAwLDB4MjAsMHg3NSwweDUyLDB4OEIsMHhDNywweDI1LDB4RjAsMHgwMCwweDNELDB4RTAsMHgwMCwweDc1LDB4NDgsCi0weDhCLDB4QzcsMHgyNSwweDAwLDB4MEYsMHhDMSwweEY4LDB4MDgsMHg4OSwweDQ2LDB4RkUsMHg4MywweDdFLDB4RkUsMHgwOCwweDdFLAotMHgwNSwweDMzLDB4QzAsMHhFOSwweDkyLDB4MDAsMHg4QiwweEM3LDB4MjUsMHgwRiwweDAwLDB4QkEsMHgwRiwweDAwLDB4MkIsMHhEMCwKLTB4M0IsMHg1NiwweEZFLDB4NzQsMHgwNSwweDMzLDB4QzAsMHhFQiwweDdGLDB4OTAsMHhDNywweDQ0LDB4MDIsMHgwQywweDA5LDB4OEEsCi0weDQ2LDB4RkUsMHg4OCwweDQ0LDB4NUUsMHg4OCwweDQ0LDB4NUQsMHg4QiwweDVFLDB4RkMsMHhEMSwweEUzLDB4QzcsMHg4NywweEZDLAotMHgwOCwweDBDLDB4MDksMHhCOCwweEUwLDB4MjAsMHhFQiwweDYwLDB4OEIsMHhDNywweDI1LDB4MDAsMHhGMCwweDNELDB4MDAsMHgzMCwKLTB4NzUsMHg1MiwweDhCLDB4QzcsMHgyNSwweEYwLDB4MDAsMHgzRCwweEQwLDB4MDAsMHg3NSwweDQ4LDB4OEIsMHhDNywweDI1LDB4MDAsCi0weDBGLDB4QzEsMHhGOCwweDA4LDB4ODksMHg0NiwweEZFLDB4OEIsMHg0NCwweDA0LDB4M0IsMHg0NiwweEZFLDB4N0QsMHgwNCwweDMzLAotMHhDMCwweEVCLDB4MzUsMHg4QiwweEM3LDB4MjUsMHgwRiwweDAwLDB4QkEsMHgwRiwweDAwLDB4MkIsMHhEMCwweDNCLDB4NTYsMHhGRSwKLTB4NzQsMHgwNCwweDMzLDB4QzAsMHhFQiwweDIyLDB4QzcsMHg0NCwweDAyLDB4MTQsMHgwOSwweDhBLDB4NDYsMHhGRSwweDg4LDB4NDQsCi0weDYwLDB4ODgsMHg0NCwweDVELDB4OEIsMHg1RSwweEZDLDB4RDEsMHhFMywweEM3LDB4ODcsMHhGQywweDA4LDB4MTQsMHgwOSwweEI4LAotMHhEMCwweDMwLDB4RUIsMHgwNCwweDMzLDB4QzAsMHhFQiwweDAwLDB4NUYsMHg1RSwweEM5LDB4QzMsMHhDOCwweDA2LDB4MDAsMHgwMCwKLTB4NTYsMHg4QiwweDc2LDB4MDQsMHg2QSwweDA4LDB4NTYsMHhFOCwweDM1LDB4MDQsMHg1OSwweDU5LDB4OEEsMHg0NCwweDU4LDB4MDQsCi0weDgwLDB4NTAsMHg1NiwweEU4LDB4MjksMHgwNCwweDU5LDB4NTksMHg4QiwweDQ0LDB4NTQsMHgzQiwweDQ0LDB4NTYsMHg3NSwweDBBLAotMHg4QSwweDQ0LDB4NUQsMHgzQSwweDQ0LDB4MkYsMHg3NSwweDAyLDB4RUIsMHg2NCwweDhCLDB4NDQsMHg1NCwweDg5LDB4NDQsMHg1NiwKLTB4OEIsMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4ODgsMHg0NCwweDJGLDB4OEEsMHg0NCwweDVELDB4QjQsMHgwMCwweEMxLDB4RTAsCi0weDA4LDB4OEIsMHg1NCwweDU0LDB4MEIsMHhEMCwweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhCQiwweDBGLDB4MDAsMHgyQiwweEQ4LAotMHgwQiwweEQzLDB4ODksMHg1NiwweEZFLDB4NkEsMHgxMCwweDhBLDB4NDQsMHg1OSwweDk4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwNSwKLTB4NDAsMHgwMSwweDgzLDB4RDIsMHgwMCwweDUyLDB4NTAsMHhFOCwweDU0LDB4MDgsMHg4MywweEM0LDB4MDYsMHg4OSwweDU2LDB4RkMsCi0weDg5LDB4NDYsMHhGQSwweDhCLDB4NDYsMHhGRSwweDA5LDB4NDYsMHhGQSwweDgzLDB4NEUsMHhGQywweDAwLDB4NkEsMHgxOSwweEZGLAotMHg3NiwweEZDLDB4RkYsMHg3NiwweEZBLDB4RTgsMHg3MywweDA3LDB4ODMsMHhDNCwweDA2LDB4RTgsMHhGRSwweDA3LDB4NUUsMHhDOSwKLTB4QzMsMHhDOCwweDFDLDB4MDAsMHgwMCwweDU2LDB4NTcsMHg4QiwweDVFLDB4MDQsMHg4QSwweDQ3LDB4NTksMHg5OCwweDhCLDB4RjAsCi0weDhCLDB4NUUsMHgwNCwweDhBLDB4NDcsMHg1RCwweEI0LDB4MDAsMHg4OSwweDQ2LDB4RTYsMHg4MywweDdFLDB4RTYsMHgwMCwweDdELAotMHgwQSwweDhCLDB4NUUsMHgwNCwweDhCLDB4NDcsMHgwNCwweDQ4LDB4ODksMHg0NiwweEU2LDB4OEIsMHg1RSwweDA0LDB4OEIsMHg0NywKLTB4MDQsMHgzQiwweDQ2LDB4RTYsMHg3RiwweDA1LDB4QzcsMHg0NiwweEU2LDB4MDAsMHgwMCwweDhCLDB4NUUsMHgwNCwweDhBLDB4NDYsCi0weEU2LDB4ODgsMHg0NywweDVELDB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NTksMHgwMiwweEM2LDB4NDcsMHgwMiwweDIwLAotMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg1OSwweDAyLDB4QzYsMHg0NywweDAzLDB4MzAsMHg4QiwweERFLDB4RDEsMHhFMywKLTB4OEIsMHg5RiwweDYxLDB4MDIsMHhDNiwweDQ3LDB4MDIsMHgyMCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDYxLDB4MDIsCi0weEM2LDB4NDcsMHgwMywweDMwLDB4OEIsMHg0NiwweEU2LDB4ODksMHg0NiwweEZBLDB4ODMsMHg3RSwweEZBLDB4MDAsMHg3NCwweDE4LAotMHg4QiwweDQ2LDB4RkEsMHhCQiwweDBBLDB4MDAsMHgzMywweEQyLDB4RjcsMHhGMywweDgwLDB4QzIsMHgzMCwweDhCLDB4REUsMHhEMSwKLTB4RTMsMHg4QiwweDlGLDB4NTksMHgwMiwweDg4LDB4NTcsMHgwMywweEJCLDB4MEEsMHgwMCwweDhCLDB4NDYsMHhGQSwweDMzLDB4RDIsCi0weEY3LDB4RjMsMHg4OSwweDQ2LDB4RkEsMHg4MywweDdFLDB4RkEsMHgwMCwweDc0LDB4MTgsMHg4QiwweDQ2LDB4RkEsMHhCQiwweDBBLAotMHgwMCwweDMzLDB4RDIsMHhGNywweEYzLDB4ODAsMHhDMiwweDMwLDB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NTksMHgwMiwKLTB4ODgsMHg1NywweDAyLDB4OEIsMHg0NiwweEU2LDB4ODksMHg0NiwweEZBLDB4ODMsMHg3RSwweEZBLDB4MDAsMHg3NCwweDE4LDB4OEIsCi0weDQ2LDB4RkEsMHhCQiwweDBBLDB4MDAsMHgzMywweEQyLDB4RjcsMHhGMywweDgwLDB4QzIsMHgzMCwweDhCLDB4REUsMHhEMSwweEUzLAotMHg4QiwweDlGLDB4NjEsMHgwMiwweDg4LDB4NTcsMHgwMywweEJCLDB4MEEsMHgwMCwweDhCLDB4NDYsMHhGQSwweDMzLDB4RDIsMHhGNywKLTB4RjMsMHg4OSwweDQ2LDB4RkEsMHg4MywweDdFLDB4RkEsMHgwMCwweDc0LDB4MTgsMHg4QiwweDQ2LDB4RkEsMHhCQiwweDBBLDB4MDAsCi0weDMzLDB4RDIsMHhGNywweEYzLDB4ODAsMHhDMiwweDMwLDB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NjEsMHgwMiwweDg4LAotMHg1NywweDAyLDB4OEIsMHg1RSwweEU2LDB4RDEsMHhFMywweEZGLDB4QjcsMHgxMiwweDAyLDB4NkEsMHgwMCwweEZGLDB4NzYsMHgwNCwKLTB4RTgsMHhEMSwweEY2LDB4ODMsMHhDNCwweDA2LDB4NjgsMHhEMywweDBGLDB4NkEsMHgwMSwweEZGLDB4NzYsMHgwNCwweEU4LDB4QzMsCi0weEY2LDB4ODMsMHhDNCwweDA2LDB4RkYsMHg3NiwweEU2LDB4NTYsMHhFOCwweDAxLDB4OTMsMHg1OSwweDU5LDB4ODksMHg1NiwweEYyLAotMHg4OSwweDQ2LDB4RjAsMHhGRiwweDc2LDB4RTYsMHg1NiwweEU4LDB4MTQsMHg5MywweDU5LDB4NTksMHg4OSwweDU2LDB4RUUsMHg4OSwKLTB4NDYsMHhFQywweDlDLDB4RkEsMHhDNCwweDVFLDB4RjAsMHgyNiwweDhCLDB4MDcsMHg4OSwweDQ2LDB4RUEsMHhDNCwweDVFLDB4RUMsCi0weDI2LDB4OEIsMHgwNywweDg5LDB4NDYsMHhFOCwweEJBLDB4NTAsMHhGRiwweEVELDB4ODksMHg0NiwweEZFLDB4OUQsMHhDNywweDQ2LAotMHhFNCwweDAxLDB4MDAsMHhFOCwweEVFLDB4QTAsMHhCQSwweDUwLDB4RkYsMHhFRCwweDg5LDB4NDYsMHhGQywweDhCLDB4NDYsMHhGQywKLTB4MkIsMHg0NiwweEZFLDB4M0QsMHhFOCwweDAzLDB4NzMsMHgwMywweEU5LDB4ODAsMHgwMSwweDlDLDB4RkEsMHhCQSwweDUwLDB4RkYsCi0weEVELDB4ODksMHg0NiwweEZDLDB4OEIsMHg0NiwweEZDLDB4MkIsMHg0NiwweEZFLDB4ODksMHg0NiwweEY4LDB4QzQsMHg1RSwweEYwLAotMHgyNiwweDhCLDB4MDcsMHgyQiwweDQ2LDB4RUEsMHg4OSwweDQ2LDB4RjYsMHhDNCwweDVFLDB4RjAsMHgyNiwweDhCLDB4MDcsMHg4OSwKLTB4NDYsMHhFQSwweEM0LDB4NUUsMHhFQywweDI2LDB4OEIsMHgwNywweDJCLDB4NDYsMHhFOCwweDg5LDB4NDYsMHhGNCwweEM0LDB4NUUsCi0weEVDLDB4MjYsMHg4QiwweDA3LDB4ODksMHg0NiwweEU4LDB4QkEsMHg1MCwweEZGLDB4RUQsMHg4OSwweDQ2LDB4RkUsMHg5RCwweDgxLAotMHg3RSwweEY4LDB4RTgsMHgwMywweDc2LDB4MUMsMHhGRiwweDc2LDB4RjgsMHhGRiwweDc2LDB4RjYsMHhFOCwweDc2LDB4MDEsMHg1OSwKLTB4NTksMHg4OSwweDQ2LDB4RjYsMHhGRiwweDc2LDB4RjgsMHhGRiwweDc2LDB4RjQsMHhFOCwweDY4LDB4MDEsMHg1OSwweDU5LDB4ODksCi0weDQ2LDB4RjQsMHhCRiwweDBFLDB4MDAsMHhFQiwweDE3LDB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NTksMHgwMiwweEM2LAotMHgwMSwweDIwLDB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NjEsMHgwMiwweEM2LDB4MDEsMHgyMCwweDQ3LDB4ODMsMHhGRiwKLTB4MTEsMHg3NiwweEU0LDB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NTksMHgwMiwweEM2LDB4NDcsMHgwRCwweDMwLDB4OEIsCi0weERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg2MSwweDAyLDB4QzYsMHg0NywweDBELDB4MzAsMHg4MywweDdFLDB4RjYsMHgwOSwweDc3LAotMHgwNSwweEI4LDB4MEQsMHgwMCwweEVCLDB4MjYsMHg4MywweDdFLDB4RjYsMHg2MywweDc3LDB4MDUsMHhCOCwweDBFLDB4MDAsMHhFQiwKLTB4MUIsMHg4MSwweDdFLDB4RjYsMHhFNywweDAzLDB4NzcsMHgwNSwweEI4LDB4MEYsMHgwMCwweEVCLDB4MEYsMHg4MSwweDdFLDB4RjYsCi0weDBGLDB4MjcsMHg3NywweDA1LDB4QjgsMHgxMCwweDAwLDB4RUIsMHgwMywweEI4LDB4MTEsMHgwMCwweDhCLDB4RjgsMHhFQiwweDI1LAotMHg4QiwweDQ2LDB4RjYsMHhCQiwweDBBLDB4MDAsMHgzMywweEQyLDB4RjcsMHhGMywweDgwLDB4QzIsMHgzMCwweDhCLDB4REUsMHhEMSwKLTB4RTMsMHg4QiwweDlGLDB4NTksMHgwMiwweDg4LDB4MTEsMHg0RiwweEJCLDB4MEEsMHgwMCwweDhCLDB4NDYsMHhGNiwweDMzLDB4RDIsCi0weEY3LDB4RjMsMHg4OSwweDQ2LDB4RjYsMHg4MywweDdFLDB4RjYsMHgwMCwweDc1LDB4RDUsMHg4MywweDdFLDB4RjQsMHgwOSwweDc3LAotMHgwNSwweEI4LDB4MEQsMHgwMCwweEVCLDB4MjYsMHg4MywweDdFLDB4RjQsMHg2MywweDc3LDB4MDUsMHhCOCwweDBFLDB4MDAsMHhFQiwKLTB4MUIsMHg4MSwweDdFLDB4RjQsMHhFNywweDAzLDB4NzcsMHgwNSwweEI4LDB4MEYsMHgwMCwweEVCLDB4MEYsMHg4MSwweDdFLDB4RjQsCi0weDBGLDB4MjcsMHg3NywweDA1LDB4QjgsMHgxMCwweDAwLDB4RUIsMHgwMywweEI4LDB4MTEsMHgwMCwweDhCLDB4RjgsMHhFQiwweDI1LAotMHg4QiwweDQ2LDB4RjQsMHhCQiwweDBBLDB4MDAsMHgzMywweEQyLDB4RjcsMHhGMywweDgwLDB4QzIsMHgzMCwweDhCLDB4REUsMHhEMSwKLTB4RTMsMHg4QiwweDlGLDB4NjEsMHgwMiwweDg4LDB4MTEsMHg0RiwweEJCLDB4MEEsMHgwMCwweDhCLDB4NDYsMHhGNCwweDMzLDB4RDIsCi0weEY3LDB4RjMsMHg4OSwweDQ2LDB4RjQsMHg4MywweDdFLDB4RjQsMHgwMCwweDc1LDB4RDUsMHg4QiwweERFLDB4RDEsMHhFMywweEZGLAotMHhCNywweDU5LDB4MDIsMHhGRiwweDc2LDB4MDQsMHhFOCwweDZFLDB4MDAsMHg1OSwweDU5LDB4OEIsMHhERSwweEQxLDB4RTMsMHhGRiwKLTB4QjcsMHg2MSwweDAyLDB4RkYsMHg3NiwweDA0LDB4RTgsMHg1RSwweDAwLDB4NTksMHg1OSwweDZBLDB4MDAsMHhGRiwweDc2LDB4MDQsCi0weEU4LDB4MzEsMHhGMywweDU5LDB4NTksMHg4QiwweEQ4LDB4ODMsMHhGQiwweDA0LDB4NzcsMHgxRiwweEQxLDB4RTMsMHgyRSwweEZGLAotMHhBNywweDFCLDB4NzAsMHhFQiwweDIyLDB4QzcsMHg0NiwweEU0LDB4MDAsMHgwMCwweEZGLDB4NEUsMHhFNiwweEVCLDB4MEMsMHhDNywKLTB4NDYsMHhFNCwweDAwLDB4MDAsMHhGRiwweDQ2LDB4RTYsMHhFQiwweDAyLDB4RUIsMHgwMCwweDgzLDB4N0UsMHhFNCwweDAwLDB4NzQsCi0weDAzLDB4RTksMHgyQSwweEZFLDB4RTksMHhENCwweEZDLDB4NUYsMHg1RSwweEM5LDB4QzMsMHhGMywweDZGLDB4RjUsMHg2RiwweEZGLAotMHg2RiwweEYzLDB4NkYsMHgwOSwweDcwLDB4NTUsMHg4QiwweEVDLDB4OEIsMHg0NiwweDA0LDB4QjksMHhFOCwweDAzLDB4RjcsMHhFMSwKLTB4OEIsMHg0RSwweDA2LDB4RjcsMHhGMSwweDVELDB4QzMsMHg1NSwweDhCLDB4RUMsMHg1NiwweDhCLDB4NzYsMHgwNiwweEVCLDB4MEUsCi0weDhCLDB4REUsMHg0NiwweDhBLDB4MDcsMHg1MCwweEZGLDB4NzYsMHgwNCwweEU4LDB4MzMsMHgwMCwweDU5LDB4NTksMHg4MCwweDNDLAotMHgwMCwweDc1LDB4RUQsMHhFQiwweDAwLDB4NUUsMHg1RCwweEMzLDB4NTUsMHg4QiwweEVDLDB4NTYsMHg4QiwweDc2LDB4MDYsMHhFQiwKLTB4MTQsMHg4QiwweERFLDB4NDYsMHg4QSwweDA3LDB4NTAsMHhGRiwweDc2LDB4MDQsMHhFOCwweDQ1LDB4MDAsMHg1OSwweDU5LDB4MEIsCi0weEMwLDB4NzQsMHgwMiwweEVCLDB4MDcsMHg4MCwweDNDLDB4MDAsMHg3NSwweEU3LDB4RUIsMHgwMCwweDVFLDB4NUQsMHhDMywweEM4LAotMHgwMiwweDAwLDB4MDAsMHg1NiwweDhCLDB4NzYsMHgwNCwweDhBLDB4NDQsMHg1QSwweDk4LDB4ODksMHg0NiwweEZFLDB4OUMsMHhGQSwKLTB4OEEsMHg0NiwweEZFLDB4QkEsMHhGRSwweDAwLDB4RUUsMHhCQSwweDAyLDB4MDAsMHhFQywweEE4LDB4MDIsMHg3NCwweDA2LDB4OUQsCi0weEU4LDB4OTEsMHg5RSwweEVCLDB4RTksMHhCQSwweDAwLDB4MDAsMHg4QSwweDQ2LDB4MDYsMHhFRSwweDlELDB4RUIsMHgwMCwweDVFLAotMHhDOSwweEMzLDB4QzgsMHgwNCwweDAwLDB4MDAsMHg1NiwweDhCLDB4NzYsMHgwNCwweDhBLDB4NDQsMHg1QSwweDk4LDB4ODksMHg0NiwKLTB4RkUsMHhFOCwweEU2LDB4QTEsMHg4OSwweDQ2LDB4RkMsMHhFOCwweEUwLDB4QTEsMHgyQiwweDQ2LDB4RkMsMHgzRCwweEI4LDB4MEIsCi0weDc2LDB4MDUsMHhCOCwweDAxLDB4MDAsMHhFQiwweDIzLDB4OUMsMHhGQSwweDhBLDB4NDYsMHhGRSwweEJBLDB4RkUsMHgwMCwweEVFLAotMHhCQSwweDAyLDB4MDAsMHhFQywweEE4LDB4MDIsMHg3NCwweDA2LDB4OUQsMHhFOCwweDQ4LDB4OUUsMHhFQiwweEQ5LDB4QkEsMHgwMCwKLTB4MDAsMHg4QSwweDQ2LDB4MDYsMHhFRSwweDlELDB4MzMsMHhDMCwweEVCLDB4MDAsMHg1RSwweEM5LDB4QzMsMHhDOCwweDA0LDB4MDAsCi0weDAwLDB4NTYsMHg1NywweDhCLDB4NzYsMHgwNCwweDgzLDB4N0UsMHgwNiwweDAwLDB4NzQsMHgwNywweDU2LDB4RTgsMHgwMywweDAxLAotMHg1OSwweEVCLDB4MDUsMHg1NiwweEU4LDB4QTIsMHgwMCwweDU5LDB4ODgsMHg0NiwweEZGLDB4ODAsMHg3RSwweEZGLDB4MDgsMHg3NywKLTB4MDYsMHg4QSwweDQ2LDB4RkYsMHhFOSwweDg0LDB4MDAsMHg4MCwweDdFLDB4RkYsMHgwRiwweDc2LDB4MDMsMHhFQiwweDc5LDB4OTAsCi0weDhBLDB4NDYsMHhGRiwweEI0LDB4MDAsMHgyRCwweDBBLDB4MDAsMHg4QiwweEQ4LDB4ODMsMHhGQiwweDA0LDB4NzcsMHg2NywweEQxLAotMHhFMywweDJFLDB4RkYsMHhBNywweEFGLDB4NzEsMHhCMCwweDAwLDB4RUIsMHg2MSwweDU2LDB4RTgsMHg2QiwweDAwLDB4NTksMHhCNCwKLTB4MDAsMHgyNSwweDBGLDB4MDAsMHg4OSwweDQ2LDB4RkMsMHg1NiwweEU4LDB4NUUsMHgwMCwweDU5LDB4QjQsMHgwMCwweDhCLDB4RjgsCi0weDU2LDB4RTgsMHg1NSwweDAwLDB4NTksMHhCNCwweDAwLDB4QzEsMHhFMCwweDA4LDB4OEIsMHhENywweDAzLDB4RDAsMHg4QiwweEZBLAotMHg4QiwweDVFLDB4RkMsMHhEMSwweEUzLDB4ODksMHg3OCwweDMwLDB4RUIsMHgyRSwweDU2LDB4RTgsMHgzQiwweDAwLDB4NTksMHg4OCwKLTB4NDQsMHg1QiwweEVCLDB4MjQsMHg1NiwweEU4LDB4MzEsMHgwMCwweDU5LDB4ODgsMHg0NCwweDUwLDB4NTYsMHhFOCwweDI5LDB4MDAsCi0weDU5LDB4ODgsMHg0NCwweDUxLDB4NTYsMHhFOCwweDIxLDB4MDAsMHg1OSwweDg4LDB4NDQsMHg1MiwweDU2LDB4RTgsMHgxOSwweDAwLAotMHg1OSwweDg4LDB4NDQsMHg1MywweEVCLDB4MDIsMHhFQiwweDAwLDB4RTksMHg1QiwweEZGLDB4NUYsMHg1RSwweEM5LDB4QzMsMHg0NiwKLTB4NzEsMHhBNiwweDcxLDB4NEEsMHg3MSwweDdBLDB4NzEsMHg4NCwweDcxLDB4QzgsMHgwNCwweDAwLDB4MDAsMHg1NiwweDhCLDB4NzYsCi0weDA0LDB4OEEsMHg0NCwweDVBLDB4OTgsMHg4OSwweDQ2LDB4RkUsMHg5QywweEZBLDB4OEEsMHg0NiwweEZFLDB4QkEsMHhGRSwweDAwLAotMHhFRSwweEJBLDB4MDIsMHgwMCwweEVDLDB4QTgsMHgwMSwweDc1LDB4MDYsMHg5RCwweEU4LDB4NTcsMHg5RCwweEVCLDB4RTksMHhCQSwKLTB4MDAsMHgwMCwweEVDLDB4ODgsMHg0NiwweEZELDB4OUQsMHg4QSwweDQ2LDB4RkQsMHhFQiwweDAwLDB4NUUsMHhDOSwweEMzLDB4QzgsCi0weDAyLDB4MDAsMHgwMCwweDU2LDB4OEIsMHg3NiwweDA0LDB4OEEsMHg0NCwweDVBLDB4OTgsMHg4OSwweDQ2LDB4RkUsMHg5QywweEZBLAotMHg4QSwweDQ2LDB4RkUsMHhCQSwweEZFLDB4MDAsMHhFRSwweEJBLDB4MDIsMHgwMCwweEVDLDB4MzIsMHhFNCwweDI0LDB4MDEsMHg5RCwKLTB4NUUsMHhDOSwweEMzLDB4QzgsMHgwNiwweDAwLDB4MDAsMHg1NiwweDhCLDB4NzYsMHgwNCwweDhBLDB4NDQsMHg1QSwweDk4LDB4ODksCi0weDQ2LDB4RkUsMHhFOCwweDg1LDB4QTAsMHg4OSwweDQ2LDB4RkEsMHhFOCwweDdGLDB4QTAsMHgyQiwweDQ2LDB4RkEsMHgzRCwweEI4LAotMHgwQiwweDc2LDB4MDQsMHhCMCwweDA4LDB4RUIsMHgyNCwweDlDLDB4RkEsMHg4QSwweDQ2LDB4RkUsMHhCQSwweEZFLDB4MDAsMHhFRSwKLTB4QkEsMHgwMiwweDAwLDB4RUMsMHhBOCwweDAxLDB4NzUsMHgwNiwweDlELDB4RTgsMHhFOCwweDlDLDB4RUIsMHhEQSwweEJBLDB4MDAsCi0weDAwLDB4RUMsMHg4OCwweDQ2LDB4RkQsMHg5RCwweDhBLDB4NDYsMHhGRCwweEVCLDB4MDAsMHg1RSwweEM5LDB4QzMsMHg1NSwweDhCLAotMHhFQywweDU2LDB4OEIsMHg1NiwweDA0LDB4OEEsMHg0NiwweDA2LDB4RUUsMHgzMywweEY2LDB4RUIsMHgwMywweDUwLDB4NTgsMHg0NiwKLTB4ODMsMHhGRSwweDE0LDB4N0MsMHhGOCwweDVFLDB4NUQsMHhDMywweEM4LDB4MDIsMHgwMCwweDAwLDB4NTYsMHg4QiwweDU2LDB4MDQsCi0weEVDLDB4ODgsMHg0NiwweEZGLDB4MzMsMHhGNiwweEVCLDB4MDMsMHg1MCwweDU4LDB4NDYsMHg4MywweEZFLDB4MTQsMHg3QywweEY4LAotMHg4QSwweDQ2LDB4RkYsMHhFQiwweDAwLDB4NUUsMHhDOSwweEMzLDB4QzgsMHgwMiwweDAwLDB4MDAsMHg1NiwweDU3LDB4OEIsMHg3NiwKLTB4MDQsMHg4MywweDNFLDB4QjAsMHgwQiwweDAwLDB4NzUsMHgxRiwweEJBLDB4ODgsMHgwMSwweEIwLDB4MDAsMHhFRSwweEJBLDB4ODYsCi0weDAxLDB4QjAsMHgwMCwweEVFLDB4NkEsMHgwOSwweDZBLDB4MDAsMHg2OCwweDMwLDB4MDEsMHhFOCwweDdELDB4MDEsMHg4MywweEM0LAotMHgwNiwweEM3LDB4MDYsMHhCMCwweDBCLDB4MDEsMHgwMCwweDZBLDB4MDksMHg4QiwweEM2LDB4MDUsMHg4MCwweDAxLDB4NTAsMHhFOCwKLTB4REEsMHgwMCwweDU5LDB4NTksMHg4QiwweEY4LDB4OEIsMHhDNywweEMxLDB4RTgsMHgwQywweDI1LDB4MEYsMHgwMCwweDg5LDB4NDYsCi0weEZFLDB4OEIsMHhDNywweEMxLDB4RTgsMHgwOCwweDI1LDB4MEYsMHgwMCwweDhCLDB4NTYsMHhGRSwweDgzLDB4RjIsMHgwQywweDNCLAotMHhDMiwweDc1LDB4MjEsMHg4QiwweEM3LDB4QzEsMHhFOCwweDA0LDB4MjUsMHgwRiwweDAwLDB4OEIsMHg1NiwweEZFLDB4ODMsMHhGMiwKLTB4MDYsMHgzQiwweEMyLDB4NzUsMHgwRiwweDhCLDB4QzcsMHgyNSwweDBGLDB4MDAsMHg4QiwweDU2LDB4RkUsMHg4MywweEYyLDB4MDksCi0weDNCLDB4QzIsMHg3NCwweDBELDB4NkEsMHgwNywweDU2LDB4RTgsMHgzOCwweDAwLDB4NTksMHg1OSwweEM3LDB4NDYsMHhGRSwweDA3LAotMHgwMCwweDhBLDB4NDYsMHhGRSwweDA0LDB4ODAsMHhBMiwweDMzLDB4MDIsMHg4QiwweEM2LDB4QkEsMHg2MiwweDAwLDB4RjcsMHhFQSwKLTB4OEEsMHg1NiwweEZFLDB4OEIsMHhEOCwweDg4LDB4OTcsMHg2QywweDAwLDB4NjgsMHgzMiwweDAyLDB4OEIsMHhDNiwweEJBLDB4NjIsCi0weDAwLDB4RjcsMHhFQSwweDA1LDB4MTQsMHgwMCwweDUwLDB4RTgsMHgwRSwweEZELDB4NTksMHg1OSwweEVCLDB4MDAsMHg1RiwweDVFLAotMHhDOSwweEMzLDB4QzgsMHgwMiwweDAwLDB4MDAsMHg1NiwweDhCLDB4NzYsMHgwNiwweDgzLDB4RTYsMHgwRiwweDhCLDB4QzYsMHhDMSwKLTB4RTAsMHgwQywweDhCLDB4RDYsMHg4MywweEYyLDB4MEMsMHhDMSwweEUyLDB4MDgsMHgwQiwweEMyLDB4OEIsMHhENiwweDgzLDB4RjIsCi0weDA2LDB4QzEsMHhFMiwweDA0LDB4MEIsMHhDMiwweDhCLDB4RDYsMHg4MywweEYyLDB4MDksMHgwQiwweEMyLDB4ODksMHg0NiwweEZFLAotMHg2QSwweDE5LDB4NkEsMHgxMCwweDhCLDB4NDYsMHgwNCwweDk5LDB4MDUsMHg0MCwweDAxLDB4ODMsMHhEMiwweDAwLDB4NTIsMHg1MCwKLTB4RTgsMHg2QiwweDAxLDB4ODMsMHhDNCwweDA2LDB4MEIsMHg0NiwweEZFLDB4ODMsMHhDQSwweDAwLDB4NTIsMHg1MCwweEU4LDB4OUEsCi0weDAwLDB4ODMsMHhDNCwweDA2LDB4RTgsMHgyNSwweDAxLDB4RUIsMHgwMCwweDVFLDB4QzksMHhDMywweDU1LDB4OEIsMHhFQywweDU2LAotMHg1NywweDMzLDB4RkYsMHg2QSwweDAxLDB4NjgsMHg4NiwweDAxLDB4RTgsMHhBMywweEZFLDB4NTksMHg1OSwweEIxLDB4MTAsMHgyQSwKLTB4NEUsMHgwNiwweEQzLDB4NjYsMHgwNCwweDMzLDB4RjYsMHhFQiwweDJFLDB4ODEsMHg3RSwweDA0LDB4MDAsMHg4MCwweDcyLDB4MDQsCi0weEIwLDB4MDEsMHhFQiwweDAyLDB4QjAsMHgwMCwweDUwLDB4NjgsMHg4OCwweDAxLDB4RTgsMHg4MSwweEZFLDB4NTksMHg1OSwweDZBLAotMHgwMywweDY4LDB4ODYsMHgwMSwweEU4LDB4NzcsMHhGRSwweDU5LDB4NTksMHg2QSwweDAxLDB4NjgsMHg4NiwweDAxLDB4RTgsMHg2RCwKLTB4RkUsMHg1OSwweDU5LDB4RDEsMHg2NiwweDA0LDB4NDYsMHgzQiwweDc2LDB4MDYsMHg3QywweENELDB4MzMsMHhGNiwweEVCLDB4MjQsCi0weEQxLDB4RTcsMHg2QSwweDAzLDB4NjgsMHg4NiwweDAxLDB4RTgsMHg1NCwweEZFLDB4NTksMHg1OSwweDZBLDB4MDEsMHg2OCwweDg2LAotMHgwMSwweEU4LDB4NEEsMHhGRSwweDU5LDB4NTksMHg2OCwweDg4LDB4MDEsMHhFOCwweDVDLDB4RkUsMHg1OSwweDk4LDB4MjUsMHgwMSwKLTB4MDAsMHgwQiwweEY4LDB4NDYsMHg4MywweEZFLDB4MTAsMHg3QywweEQ3LDB4NkEsMHgwMCwweDY4LDB4ODYsMHgwMSwweEU4LDB4MkQsCi0weEZFLDB4NTksMHg1OSwweDhCLDB4QzcsMHhFQiwweDAwLDB4NUYsMHg1RSwweDVELDB4QzMsMHg1NSwweDhCLDB4RUMsMHg1NiwweDU3LAotMHg4QiwweDdFLDB4MDgsMHg2QSwweDAxLDB4NjgsMHg4NiwweDAxLDB4RTgsMHgxMywweEZFLDB4NTksMHg1OSwweEI4LDB4MjAsMHgwMCwKLTB4MkIsMHhDNywweDUwLDB4RkYsMHg3NiwweDA2LDB4RkYsMHg3NiwweDA0LDB4RTgsMHhBMiwweDAwLDB4ODMsMHhDNCwweDA2LDB4ODksCi0weDU2LDB4MDYsMHg4OSwweDQ2LDB4MDQsMHgzMywweEY2LDB4RUIsMHg0NywweDgxLDB4N0UsMHgwNiwweDAwLDB4ODAsMHg3MiwweDBDLAotMHg3NSwweDA2LDB4ODMsMHg3RSwweDA0LDB4MDAsMHg3MiwweDA0LDB4QjAsMHgwMSwweEVCLDB4MDIsMHhCMCwweDAwLDB4NTAsMHg2OCwKLTB4ODgsMHgwMSwweEU4LDB4RDksMHhGRCwweDU5LDB4NTksMHg2QSwweDAzLDB4NjgsMHg4NiwweDAxLDB4RTgsMHhDRiwweEZELDB4NTksCi0weDU5LDB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4QzUsMHhGRCwweDU5LDB4NTksMHg2QSwweDAxLDB4RkYsMHg3NiwweDA2LAotMHhGRiwweDc2LDB4MDQsMHhFOCwweDU4LDB4MDAsMHg4MywweEM0LDB4MDYsMHg4OSwweDU2LDB4MDYsMHg4OSwweDQ2LDB4MDQsMHg0NiwKLTB4M0IsMHhGNywweDdDLDB4QjUsMHg2QSwweDAwLDB4NjgsMHg4NiwweDAxLDB4RTgsMHhBMiwweEZELDB4NTksMHg1OSwweDZBLDB4MDAsCi0weDY4LDB4ODYsMHgwMSwweEU4LDB4OTgsMHhGRCwweDU5LDB4NTksMHg1RiwweDVFLDB4NUQsMHhDMywweDU1LDB4OEIsMHhFQywweDU2LAotMHg2QSwweDAxLDB4NjgsMHg4NiwweDAxLDB4RTgsMHg4NiwweEZELDB4NTksMHg1OSwweDMzLDB4RjYsMHhFQiwweDAwLDB4NjgsMHg4OCwKLTB4MDEsMHhFOCwweDk0LDB4RkQsMHg1OSwweEE4LDB4MDEsMHg3NSwweDA4LDB4OEIsMHhDNiwweDQ2LDB4M0QsMHg2NCwweDAwLDB4N0MsCi0weEVELDB4NkEsMHgwMCwweDY4LDB4ODYsMHgwMSwweEU4LDB4NjUsMHhGRCwweDU5LDB4NTksMHg1RSwweDVELDB4QzMsMHhDOCwweDA0LAotMHgwMCwweDAwLDB4OEIsMHg0NiwweDA0LDB4OEIsMHg1NiwweDA2LDB4OEIsMHg0RSwweDA4LDB4RTMsMHgwNiwweEQxLDB4RTAsMHhEMSwKLTB4RDIsMHhFMiwweEZBLDB4ODksMHg0NiwweEZDLDB4ODksMHg1NiwweEZFLDB4OEIsMHg1NiwweEZFLDB4OEIsMHg0NiwweEZDLDB4RUIsCi0weDAwLDB4QzksMHhDMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHg1MCwweDcyLDB4NjUsMHg3NiwweDY5LDB4NkYsMHg3NSwweDczLDB4MjAsMHg0RCwweDY1LDB4NkUsMHg3NSwweDAwLDB4NDIsMHg2NSwKLTB4NjcsMHg2OSwweDZFLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsCi0weDIwLDB4MzAsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMyLAotMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMywweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDM0LDB4MDAsMHg1MCwKLTB4NkYsMHg3MiwweDc0LDB4MjAsMHgzNSwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDM2LDB4MDAsMHg1MCwweDZGLDB4NzIsCi0weDc0LDB4MjAsMHgzNywweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDM4LDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLAotMHgzOSwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLDB4MzAsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwKLTB4MzEsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwweDMyLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsCi0weDMzLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsMHgzNCwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLAotMHgzNSwweDAwLDB4OUMsMHgwMSwweEEzLDB4MDEsMHhBQSwweDAxLDB4QjEsMHgwMSwweEI4LDB4MDEsMHhCRiwweDAxLDB4QzYsMHgwMSwKLTB4Q0QsMHgwMSwweEQ0LDB4MDEsMHhEQiwweDAxLDB4RTIsMHgwMSwweEVBLDB4MDEsMHhGMiwweDAxLDB4RkEsMHgwMSwweDAyLDB4MDIsCi0weDBBLDB4MDIsMHgwOCwweDAwLDB4MDAsMHgwNywweDgxLDB4MDAsMHgwMywweDgwLDB4ODAsMHg4MCwweDlGLDB4OTEsMHg5NSwweDkxLAotMHg5RiwweDAwLDB4MDMsMHg4MSwweDg0LDB4OEUsMHg5NSwweDg0LDB4ODQsMHg4NCwweDg0LDB4MDAsMHgwMywweDgyLDB4ODQsMHg4NCwKLTB4ODQsMHg4NCwweDk1LDB4OEUsMHg4NCwweDAwLDB4MDQsMHg4OCwweDAwLDB4QjIsMHgwQiwweEM2LDB4MEIsMHhEQSwweDBCLDB4RUUsCi0weDBCLDB4MDIsMHgwQywweDE2LDB4MEMsMHgyQSwweDBDLDB4M0UsMHgwQywweDUyLDB4MEMsMHg3NywweDBDLDB4OUMsMHgwQywweEJFLAotMHgwQywweEUwLDB4MEMsMHgwMiwweDBELDB4MDEsMHg4MCwweDIwLDB4NTQsMHg2NSwweDczLDB4NzQsMHgyMCwweDUwLDB4NjEsMHg3MywKLTB4NzMsMHg2NSwweDY0LDB4MjAsMHgxRiwweDIwLDB4NTAsMHg3MiwweDY1LDB4NzMsMHg3MywweDIwLDB4ODAsMHgwMiwweDAwLDB4MDEsCi0weDgwLDB4MjAsMHg0RCwweDY5LDB4NzMsMHg3MywweDY5LDB4NkUsMHg2NywweDIwLDB4NTIsMHg3OCwweDIwLDB4NDQsMHg2MSwweDc0LAotMHg2MSwweDFGLDB4MjAsMHg1MCwweDcyLDB4NjUsMHg3MywweDczLDB4MjAsMHg4MCwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHg0MiwKLTB4NjEsMHg2NCwweDIwLDB4NTIsMHg3OCwweDIwLDB4NDQsMHg2MSwweDc0LDB4NjEsMHgyMCwweDFGLDB4MjAsMHg1MCwweDcyLDB4NjUsCi0weDczLDB4NzMsMHgyMCwweDgwLDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDU4LDB4NkQsMHg3NCwweDcyLDB4MjAsMHg0MiwweDc1LAotMHg3MywweDc5LDB4MUYsMHgyMCwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwweDgwLDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwKLTB4NkUsMHg2RiwweDc0LDB4MjAsMHg2MywweDc1LDB4NzIsMHg3MiwweDY1LDB4NkUsMHg3NCwweDZDLDB4NzksMHgxRiwweDIwLDB4MjAsCi0weDY5LDB4NkQsMHg3MCwweDZDLDB4NjUsMHg2RCwweDY1LDB4NkUsMHg3NCwweDY1LDB4NjQsMHgwMiwweDAwLDB4MjQsMHgwRCwweDJGLAotMHgwRCwweDNBLDB4MEQsMHg0NSwweDBELDB4NTAsMHgwRCwweDVCLDB4MEQsMHg2NiwweDBELDB4NzEsMHgwRCwweDdDLDB4MEQsMHg4NywKLTB4MEQsMHg5MiwweDBELDB4OUQsMHgwRCwweEE4LDB4MEQsMHhCMywweDBELDB4QkUsMHgwRCwweEM5LDB4MEQsMHg1MywweDgwLDB4MkMsCi0weDMyLDB4NTQsMHg0NCwweDIwLDB4NTMsMHg4NiwweDJDLDB4MzMsMHg0NCwweDU0LDB4NTIsMHgyMCwweDUzLDB4ODIsMHgyQywweDMzLAotMHg1MiwweDU0LDB4NTMsMHgyMCwweDFGLDB4NTMsMHg4MSwweDJDLDB4MzIsMHg1MiwweDQ0LDB4MjAsMHg1MywweDg1LDB4MkMsMHgzMiwKLTB4NDMsMHg0NCwweDIwLDB4NTMsMHg4MywweDJDLDB4MzMsMHg0MywweDU0LDB4NTMsMHgyMCwweDUzLDB4ODQsMHgyQywweDMzLDB4NDQsCi0weDUzLDB4NTIsMHgyMCwweDUzLDB4ODcsMHgyQywweDMyLDB4NTIsMHg0OSwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLAotMHg0NCwweDQzLDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMyLDB4MzAsMHgxRiwweDI3LDB4NTMsMHg4NSwKLTB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksCi0weDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg1MywweDUyLAotMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMxLDB4MzEsMHgxRiwweDI3LDB4NTMsMHg4NCwweDJFLDB4MzEsMHg4MSwKLTB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsCi0weDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDMsMHg1NCwweDUzLDB4MjAsMHgyRCwweDIwLAotMHg3MCwweDY5LDB4NkUsMHgyMCwweDM0LDB4MUYsMHgyNywweDUzLDB4ODMsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwKLTB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsCi0weDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NDksMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMyLAotMHgzMiwweDFGLDB4MjcsMHg1MywweDg3LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwKLTB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsCi0weDIwLDB4MjAsMHg0NCwweDU0LDB4NTIsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM2LDB4MkYsMHgzOCwweDFGLAotMHgyNywweDUzLDB4ODYsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwKLTB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsCi0weDUyLDB4NTQsMHg1MywweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzUsMHgxRiwweDI3LDB4NTMsMHg4MiwweDJFLAotMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwKLTB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg3OCwweDQ0LDB4MjAsCi0weDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMyLDB4MUYsMHgyNywweDUzLDB4ODEsMHgyRSwweDMwLDB4NTMsMHg0RCwweDgxLAotMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywKLTB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1NCwweDc4LDB4NDQsMHgyMCwweDJELDB4MjAsCi0weDcwLDB4NjksMHg2RSwweDIwLDB4MzMsMHgxRiwweDI3LDB4NTMsMHg4MCwweDJFLDB4MzAsMHg1MywweDRELDB4ODEsMHg4MiwweDYzLAotMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwKLTB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NDMsMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksCi0weDZFLDB4MjAsMHgzNSwweDFGLDB4MjcsMHg1MywweDg1LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDUzLDB4NTIsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM1LDB4MUYsCi0weDI3LDB4NTMsMHg4NCwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LAotMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4NDMsMHg1NCwweDUzLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMSwweDFGLDB4MjcsMHg1MywweDgzLDB4MkUsCi0weDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLAotMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDQ5LDB4MjAsMHgyRCwKLTB4MjAsMHgyOCwweDZFLDB4MkUsMHg2MywweDJFLDB4MjksMHgxRiwweDI3LDB4NTMsMHg4NywweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsCi0weDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLAotMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg1NCwweDUyLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwKLTB4NkUsMHgyMCwweDMyLDB4MUYsMHgyNywweDUzLDB4ODYsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsCi0weDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NTQsMHg1MywweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzcsMHgxRiwKLTB4MjcsMHg1MywweDgyLDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsCi0weDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLAotMHg1MiwweDc4LDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM2LDB4MUYsMHgyNywweDUzLDB4ODEsMHgyRSwKLTB4MzAsMHg1MywweDRELDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsCi0weDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1NCwweDc4LAotMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzMsMHgxRiwweDI3LDB4NTMsMHg4MCwweDJFLDB4MzAsMHg1MywKLTB4NEQsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsCi0weDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NDMsMHg0NCwweDIwLAotMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNSwweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODUsMHgyRSwKLTB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg1MywweDUyLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNSwweDFGLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NCwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwKLTB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDMsMHg1NCwweDUzLDB4MjAsCi0weDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMxLDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4MywweDJFLAotMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDQ5LDB4MjAsMHgyRCwweDIwLDB4MjgsMHg2RSwweDJFLDB4NjMsMHgyRSwweDI5LDB4MUYsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg3LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDU0LDB4NTIsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzIsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg2LDB4MkUsCi0weDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NTQsMHg1MywweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzcsMHgxRiwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODIsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsCi0weDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NzgsMHg0NCwweDIwLAotMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNiwweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODEsMHgyRSwKLTB4MzAsMHg1MywweDRELDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsCi0weDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDU0LDB4NzgsMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLAotMHgzMywweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODAsMHgyRSwweDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywKLTB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsCi0weDQ0LDB4NDMsMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzIsMHgzMCwweDFGLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDI3LDB4NTMsMHg4NSwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwKLTB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg1MywweDUyLDB4MjAsMHgyRCwweDIwLDB4NzAsCi0weDY5LDB4NkUsMHgyMCwweDMxLDB4MzEsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg0LDB4MkUsMHgzMSwweDgxLAotMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwKLTB4MjAsMHgyMCwweDQzLDB4NTQsMHg1MywweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzQsMHgxRiwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyNywweDUzLDB4ODMsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LAotMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NDksMHgyMCwweDJELDB4MjAsMHg3MCwKLTB4NjksMHg2RSwweDIwLDB4MzIsMHgzMiwweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODcsMHgyRSwweDMxLDB4ODEsCi0weDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLAotMHgyMCwweDIwLDB4NDQsMHg1NCwweDUyLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNiwweDJGLDB4MzgsMHgxRiwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODYsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsCi0weDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NTQsMHg1MywweDIwLAotMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNSwweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODIsMHgyRSwKLTB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg3OCwweDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwweDFGLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4MSwweDJFLDB4MzAsMHg1MywweDRELDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwKLTB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDU0LDB4NzgsCi0weDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMywweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLAotMHg4MCwweDJFLDB4MzAsMHg1MywweDRELDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwKLTB4ODcsMHgyNywweDAyLDB4MDAsMHg2OCwweDA0LDB4OTYsMHgwNCwweEI2LDB4MDMsMHgzQywweDA0LDB4MEUsMHgwNCwweDg5LDB4MDMsCi0weDVDLDB4MDMsMHhFMiwweDAzLDB4NjAsMHgwOCwweDhBLDB4MDgsMHhCRSwweDA3LDB4MzgsMHgwOCwweDBFLDB4MDgsMHg5NSwweDA3LAotMHg2QywweDA3LDB4RTYsMHgwNywweDFDLDB4MDUsMHg3NCwweDA1LDB4RkEsMHgwNSwweEM0LDB4MDQsMHhGMCwweDA0LDB4Q0MsMHgwNSwKLTB4QTAsMHgwNSwweDQ4LDB4MDUsMHg3OCwweDA2LDB4QzgsMHgwNiwweDQyLDB4MDcsMHgyOCwweDA2LDB4NTAsMHgwNiwweDE4LDB4MDcsCi0weEYwLDB4MDYsMHhBMCwweDA2LDB4MDAsMHgwMCwweEY0LDB4MDgsMHhGNCwweDA4LDB4RDQsMHgwRCwweDA0LDB4MDksMHgwNCwweDA5LAotMHgwNCwweDA5LDB4MDQsMHgwOSwweDQyLDB4MDAsMHgwQywweDA5LDB4MUMsMHgwOSwweEU1LDB4MEQsMHgwMiwweDAwLDB4MTQsMHgwOSwKLTB4MDQsMHgwOSwweEY0LDB4MEQsMHg0MywweDAwLDB4MUMsMHgwOSwweDBDLDB4MDksMHgwNSwweDBFLDB4MDAsMHgwNCwweDA0LDB4MDksCi0weDE0LDB4MDksMHgxMiwweDBFLDB4MkMsMHgwOSwweDJDLDB4MDksMHgyQywweDA5LDB4MkMsMHgwOSwweDAwLDB4MDAsMHgzQywweDA5LAotMHg2QywweDA5LDB4MUUsMHgwRSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHgwMCwweDAxLDB4NEMsMHgwOSwKLTB4MkMsMHgwOSwweDJELDB4MEUsMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4MDAsMHgwMiwweDVDLDB4MDksCi0weDNDLDB4MDksMHgzRCwweDBFLDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDAwLDB4MDMsMHg2QywweDA5LAotMHg0QywweDA5LDB4NEQsMHgwRSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHhGRiwweDAwLDB4MkMsMHgwOSwKLTB4NUMsMHgwOSwweDAwLDB4MDAsMHgwMCwweDA1LDB4ODQsMHgwOSwweEVDLDB4MDksMHg1RSwweDBFLDB4RjQsMHgwOSwweEY0LDB4MDksCi0weEY0LDB4MDksMHhGNCwweDA5LDB4MDAsMHgwNiwweDk0LDB4MDksMHg3NCwweDA5LDB4NjgsMHgwRSwweEFDLDB4MEEsMHhBQywweDBBLAotMHhBQywweDBBLDB4QUMsMHgwQSwweDAwLDB4MDcsMHhBNCwweDA5LDB4ODQsMHgwOSwweDcyLDB4MEUsMHhCQywweDBBLDB4QkMsMHgwQSwKLTB4QkMsMHgwQSwweEJDLDB4MEEsMHgwMCwweDA4LDB4QjQsMHgwOSwweDk0LDB4MDksMHg3QywweDBFLDB4RDQsMHgwQSwweEQ0LDB4MEEsCi0weEQ0LDB4MEEsMHhENCwweDBBLDB4MDAsMHgwQiwweEM0LDB4MDksMHhBNCwweDA5LDB4ODMsMHgwRSwweEZDLDB4MEEsMHhGQywweDBBLAotMHhGQywweDBBLDB4RkMsMHgwQSwweDAwLDB4MEMsMHhENCwweDA5LDB4QjQsMHgwOSwweDkwLDB4MEUsMHgxNCwweDBCLDB4MTQsMHgwQiwKLTB4MTQsMHgwQiwweDE0LDB4MEIsMHgwMCwweDAyLDB4RTQsMHgwOSwweEM0LDB4MDksMHhBMCwweDBFLDB4MkMsMHgwQiwweDJDLDB4MEIsCi0weDJDLDB4MEIsMHgyQywweDBCLDB4MDQsMHgwMCwweEVDLDB4MDksMHhENCwweDA5LDB4MEUsMHgwMCwweEZGLDB4MDAsMHg3NCwweDA5LAotMHhFNCwweDA5LDB4MDAsMHgwMCwweDgyLDB4MDEsMHhGQywweDA5LDB4QTQsMHgwQSwweEFDLDB4MEUsMHg4MiwweDAyLDB4MDQsMHgwQSwKLTB4RjQsMHgwOSwweEFGLDB4MEUsMHg4MiwweDAzLDB4MEMsMHgwQSwweEZDLDB4MDksMHhCMiwweDBFLDB4ODIsMHgwNCwweDE0LDB4MEEsCi0weDA0LDB4MEEsMHhCNiwweDBFLDB4ODIsMHgwNSwweDFDLDB4MEEsMHgwQywweDBBLDB4QkMsMHgwRSwweDgyLDB4MDYsMHgyNCwweDBBLAotMHgxNCwweDBBLDB4QzAsMHgwRSwweDgyLDB4MDcsMHgyQywweDBBLDB4MUMsMHgwQSwweEM0LDB4MEUsMHg4MiwweDA4LDB4MzQsMHgwQSwKLTB4MjQsMHgwQSwweEM4LDB4MEUsMHg4MiwweDA5LDB4M0MsMHgwQSwweDJDLDB4MEEsMHhDQywweDBFLDB4ODIsMHgwQSwweDQ0LDB4MEEsCi0weDM0LDB4MEEsMHhEMSwweDBFLDB4ODIsMHgxMCwweDRDLDB4MEEsMHgzQywweDBBLDB4RDYsMHgwRSwweDgyLDB4MEIsMHg1NCwweDBBLAotMHg0NCwweDBBLDB4REIsMHgwRSwweDgyLDB4MTEsMHg1QywweDBBLDB4NEMsMHgwQSwweEUwLDB4MEUsMHg4MiwweDBDLDB4NjQsMHgwQSwKLTB4NTQsMHgwQSwweEU1LDB4MEUsMHg4MiwweDEyLDB4NkMsMHgwQSwweDVDLDB4MEEsMHhFQSwweDBFLDB4ODIsMHgwRCwweDc0LDB4MEEsCi0weDY0LDB4MEEsMHhFRiwweDBFLDB4ODIsMHgwRSwweDdDLDB4MEEsMHg2QywweDBBLDB4RjQsMHgwRSwweDgyLDB4MEYsMHg4NCwweDBBLAotMHg3NCwweDBBLDB4RkIsMHgwRSwweDgyLDB4MTMsMHg4QywweDBBLDB4N0MsMHgwQSwweDAyLDB4MEYsMHg4MiwweDE0LDB4OTQsMHgwQSwKLTB4ODQsMHgwQSwweDA5LDB4MEYsMHg4MiwweDE1LDB4OUMsMHgwQSwweDhDLDB4MEEsMHgxMCwweDBGLDB4ODIsMHgxNiwweEE0LDB4MEEsCi0weDk0LDB4MEEsMHgxNywweDBGLDB4ODIsMHgxNywweEY0LDB4MDksMHg5QywweDBBLDB4MUUsMHgwRiwweDgyLDB4MDIsMHhCNCwweDBBLAotMHhCNCwweDBBLDB4MjYsMHgwRiwweDgyLDB4MDMsMHhBQywweDBBLDB4QUMsMHgwQSwweDJELDB4MEYsMHg4MiwweDAwLDB4QzQsMHgwQSwKLTB4Q0MsMHgwQSwweDM0LDB4MEYsMHg4MiwweDAxLDB4Q0MsMHgwQSwweEJDLDB4MEEsMHgzRiwweDBGLDB4ODIsMHgwMiwweEJDLDB4MEEsCi0weEM0LDB4MEEsMHg0RCwweDBGLDB4ODIsMHgwMCwweERDLDB4MEEsMHhGNCwweDBBLDB4NTksMHgwRiwweDgyLDB4MDEsMHhFNCwweDBBLAotMHhENCwweDBBLDB4NjMsMHgwRiwweDgyLDB4MDIsMHhFQywweDBBLDB4REMsMHgwQSwweDZFLDB4MEYsMHg4MiwweDAzLDB4RjQsMHgwQSwKLTB4RTQsMHgwQSwweDdBLDB4MEYsMHg4MiwweDA0LDB4RDQsMHgwQSwweEVDLDB4MEEsMHg4NywweDBGLDB4ODIsMHgwMCwweDA0LDB4MEIsCi0weDBDLDB4MEIsMHg5MywweDBGLDB4ODIsMHgwMSwweDBDLDB4MEIsMHhGQywweDBBLDB4OUIsMHgwRiwweDgyLDB4MDIsMHhGQywweDBBLAotMHgwNCwweDBCLDB4QTcsMHgwRiwweDgyLDB4MDAsMHgxQywweDBCLDB4MjQsMHgwQiwweEIwLDB4MEYsMHg4MiwweDAxLDB4MjQsMHgwQiwKLTB4MTQsMHgwQiwweEI1LDB4MEYsMHg4MiwweDAyLDB4MTQsMHgwQiwweDFDLDB4MEIsMHhCRSwweDBGLDB4NDQsMHgwMCwweDM0LDB4MEIsCi0weEE0LDB4MEIsMHg5QywweDAxLDB4NDQsMHgwMSwweDNDLDB4MEIsMHgyQywweDBCLDB4QTMsMHgwMSwweDQ0LDB4MDIsMHg0NCwweDBCLAotMHgzNCwweDBCLDB4QUEsMHgwMSwweDQ0LDB4MDMsMHg0QywweDBCLDB4M0MsMHgwQiwweEIxLDB4MDEsMHg0NCwweDA0LDB4NTQsMHgwQiwKLTB4NDQsMHgwQiwweEI4LDB4MDEsMHg0NCwweDA1LDB4NUMsMHgwQiwweDRDLDB4MEIsMHhCRiwweDAxLDB4NDQsMHgwNiwweDY0LDB4MEIsCi0weDU0LDB4MEIsMHhDNiwweDAxLDB4NDQsMHgwNywweDZDLDB4MEIsMHg1QywweDBCLDB4Q0QsMHgwMSwweDQ0LDB4MDgsMHg3NCwweDBCLAotMHg2NCwweDBCLDB4RDQsMHgwMSwweDQ0LDB4MDksMHg3QywweDBCLDB4NkMsMHgwQiwweERCLDB4MDEsMHg0NCwweDBBLDB4ODQsMHgwQiwKLTB4NzQsMHgwQiwweEUyLDB4MDEsMHg0NCwweDBCLDB4OEMsMHgwQiwweDdDLDB4MEIsMHhFQSwweDAxLDB4NDQsMHgwQywweDk0LDB4MEIsCi0weDg0LDB4MEIsMHhGMiwweDAxLDB4NDQsMHgwRCwweDlDLDB4MEIsMHg4QywweDBCLDB4RkEsMHgwMSwweDQ0LDB4MEUsMHhBNCwweDBCLAotMHg5NCwweDBCLDB4MDIsMHgwMiwweDQ0LDB4MEYsMHgyQywweDBCLDB4OUMsMHgwQiwweDBBLDB4MDIsMHgxNywweDFGLDB4MEYsMHgyRiwKLTB4MDAsMHgwMCwweDAxLDB4ODAsMHg3OCwweDc4LDB4M0EsMHgyMCwweDc0LDB4NzgsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsCi0weDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4ODAsMHg3OCwweDc4LDB4M0EsMHgyMCwweDc0LDB4NzgsMHgyMCwweDYzLAotMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4ODAsMHg3OCwweDc4LDB4M0EsMHgyMCwKLTB4NzQsMHg3OCwweDIwLDB4NjMsMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4ODAsCi0weDc4LDB4NzgsMHgzQSwweDIwLDB4NzQsMHg3OCwweDIwLDB4NjMsMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLAotMHgwMiwweDAwLDB4MDEsMHhDMCwweDc4LDB4NzgsMHgzQSwweDIwLDB4NzIsMHg2MywweDIwLDB4NjMsMHg3MCwweDczLDB4MjAsMHgyQSwKLTB4MkEsMHgyQSwweDJBLDB4MkEsMHgwMiwweDAwLDB4MDEsMHhDMCwweDc4LDB4NzgsMHgzQSwweDIwLDB4NzIsMHg2MywweDIwLDB4NjMsCi0weDcwLDB4NzMsMHgyMCwweDJBLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgwMiwweDAwLDB4MDEsMHhDMCwweDc4LDB4NzgsMHgzQSwweDIwLAotMHg3MiwweDYzLDB4MjAsMHg2MywweDcwLDB4NzMsMHgyMCwweDJBLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgwMiwweDAwLDB4MDEsMHhDMCwKLTB4NzgsMHg3OCwweDNBLDB4MjAsMHg3MiwweDYzLDB4MjAsMHg2MywweDcwLDB4NzMsMHgyMCwweDJBLDB4MkEsMHgyQSwweDJBLDB4MkEsCi0weDAyLDB4MDAsMHgwMSwweDgwLDB4NDksMHg2RSwweDczLDB4NzQsMHg2MSwweDZDLDB4NkMsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLAotMHg2MiwweDYxLDB4NjMsMHg2QiwweDFGLDB4NTAsMHg3MiwweDY1LDB4NzMsMHg3MywweDIwLDB4ODAsMHgyMCwweDc0LDB4NkYsMHgyMCwKLTB4NzMsMHg3NCwweDYxLDB4NzIsMHg3NCwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHg0MywweDYxLDB4NjIsMHg2QywweDY1LDB4MjAsCi0weDc0LDB4NkYsMHgyMCwweDUyLDB4NjUsMHg2RCwweDZGLDB4NzQsMHg2NSwweDFGLDB4NTAsMHg3MiwweDY1LDB4NzMsMHg3MywweDIwLAotMHg4MCwweDIwLDB4NzQsMHg2RiwweDIwLDB4NzMsMHg3NCwweDYxLDB4NzIsMHg3NCwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHg0QywKLTB4NkYsMHg2MywweDYxLDB4NkMsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLDB4NjIsMHg2MSwweDYzLDB4NkIsMHgyMCwweDFGLDB4MjAsCi0weDIwLDB4NTIsMHg3NSwweDZFLDB4NkUsMHg2OSwweDZFLDB4NjcsMHgyMCwweDJFLDB4MkUsMHgyRSwweDAyLDB4MDAsMHgwMSwweDgwLAotMHg1MiwweDY1LDB4NkQsMHg2RiwweDc0LDB4NjUsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLDB4NjIsMHg2MSwweDYzLDB4NkIsMHgyMCwKLTB4MUYsMHgyMCwweDIwLDB4NTIsMHg3NSwweDZFLDB4NkUsMHg2OSwweDZFLDB4NjcsMHgyMCwweDJFLDB4MkUsMHgyRSwweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDQ5LDB4NkUsMHg3NCwweDcyLDB4NkUsMHg2QywweDIwLDB4NEMsMHg2RiwweDZGLDB4NzAsMHg2MiwweDYxLAotMHg2MywweDZCLDB4MUYsMHgyMCwweDIwLDB4NTIsMHg3NSwweDZFLDB4NkUsMHg2OSwweDZFLDB4NjcsMHgyMCwweDJFLDB4MkUsMHgyRSwKLTB4MDIsMHgwMCwweDAxLDB4ODAsMHg1NCwweDcyLDB4NjEsMHg2RSwweDczLDB4NkQsMHg2OSwweDc0LDB4MjAsMHg1MCwweDYxLDB4NzQsCi0weDc0LDB4NjUsMHg3MiwweDZFLDB4MUYsMHgyMCwweDIwLDB4NTIsMHg3NSwweDZFLDB4NkUsMHg2OSwweDZFLDB4NjcsMHgyMCwweDJFLAotMHgyRSwweDJFLDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzAsMHgzQSwweDIwLDB4MjcsMHg0MywweDgwLDB4MDAsMHgwMSwKLTB4ODAsMHgyMCwweDIwLDB4MzEsMHgzQSwweDIwLDB4MjcsMHg0MywweDgxLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDMyLDB4M0EsCi0weDIwLDB4MjcsMHg0MywweDgyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDMzLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4MywweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDM0LDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4NCwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzNSwKLTB4M0EsMHgyMCwweDI3LDB4NDMsMHg4NSwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzNiwweDNBLDB4MjAsMHgyNywweDQzLDB4ODYsCi0weDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzNywweDNBLDB4MjAsMHgyNywweDQzLDB4ODcsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLAotMHgzOCwweDNBLDB4MjAsMHgyNywweDQzLDB4ODgsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzksMHgzQSwweDIwLDB4MjcsMHg0MywKLTB4ODksMHgwMCwweDAxLDB4ODAsMHgyMCwweDMxLDB4MzAsMHgzQSwweDIwLDB4MjcsMHg0MywweDhBLDB4MDAsMHgwMSwweDgwLDB4MjAsCi0weDMxLDB4MzEsMHgzQSwweDIwLDB4MjcsMHg0MywweDhCLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgzMSwweDMyLDB4M0EsMHgyMCwweDI3LAotMHg0MywweDhDLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgzMSwweDMzLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4RCwweDAwLDB4MDEsMHg4MCwKLTB4MjAsMHgzMSwweDM0LDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4RSwweDAwLDB4MDEsMHg4MCwweDIwLDB4MzEsMHgzNSwweDNBLDB4MjAsCi0weDI3LDB4NDMsMHg4RiwweDAwLDB4MkEsMHgyQSwweDIwLDB4NEQsMHg2MSwweDY5LDB4NkUsMHgyMCwweDIwLDB4NEQsMHg2NSwweDZFLAotMHg3NSwweDIwLDB4MkEsMHgyQSwweDAwLDB4NEQsMHg2RiwweDZFLDB4NjksMHg3NCwweDZGLDB4NzIsMHgyMCwweDYxLDB4MjAsMHg1MCwKLTB4NkYsMHg3MiwweDc0LDB4MDAsMHg0RCwweDZGLDB4NkUsMHg2OSwweDc0LDB4NkYsMHg3MiwweDIwLDB4NjEsMHgyMCwweDUzLDB4NjksCi0weDY3LDB4NkUsMHg2MSwweDZDLDB4MDAsMHg0NSwweDczLDB4NzQsMHg2OSwweDZELDB4NjEsMHg3NCwweDY1LDB4MjAsMHg0MywweDUwLAotMHg1MywweDAwLDB4NDQsMHg2OSwweDYxLDB4NjcsMHg2RSwweDZGLDB4NzMsMHg3NCwweDY5LDB4NjMsMHg3MywweDAwLDB4NEMsMHg2RiwKLTB4NjMsMHg2MSwweDZDLDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsMHg2MywweDZCLDB4MDAsMHg1MiwweDY1LDB4NkQsCi0weDZGLDB4NzQsMHg2NSwweDIwLDB4NEMsMHg2RiwweDZGLDB4NzAsMHg2MiwweDYxLDB4NjMsMHg2QiwweDAwLDB4NDksMHg2RSwweDc0LAotMHg3MiwweDZFLDB4NkMsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLDB4NjIsMHg2MSwweDYzLDB4NkIsMHgwMCwweDU0LDB4NzIsMHg2MSwKLTB4NkUsMHg3MywweDZELDB4NjksMHg3NCwweDIwLDB4NTAsMHg2MSwweDc0LDB4NzQsMHg2NSwweDcyLDB4NkUsMHgwMCwweDQyLDB4NjEsCi0weDc1LDB4NjQsMHgyMCwweDUyLDB4NjEsMHg3NCwweDY1LDB4MDAsMHg0NCwweDYxLDB4NzQsMHg2MSwweDIwLDB4NDIsMHg2OSwweDc0LAotMHg3MywweDAwLDB4NTMsMHg3NCwweDZGLDB4NzAsMHgyMCwweDQyLDB4NjksMHg3NCwweDczLDB4MDAsMHg1MCwweDYxLDB4NzIsMHg2OSwKLTB4NzQsMHg3OSwweDAwLDB4NDQsMHg2MSwweDc0LDB4NjEsMHgyMCwweDUwLDB4NjEsMHg3NCwweDc0LDB4NjUsMHg3MiwweDZFLDB4MDAsCi0weDU0LDB4NzgsMHgyMCwweDQ2LDB4NkMsMHg2RiwweDc3LDB4MjAsMHg0MywweDZGLDB4NkUsMHg3NCwweDcyLDB4NkYsMHg2QywweDAwLAotMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4NEUsMHg3NSwweDZELDB4NjIsMHg2NSwweDcyLDB4MDAsMHgzNSwweDMwLDB4MDAsMHgzNywKLTB4MzUsMHgwMCwweDMxLDB4MzEsMHgzMCwweDAwLDB4MzEsMHgzMywweDM0LDB4MkUsMHgzNSwweDAwLDB4MzEsMHgzNSwweDMwLDB4MDAsCi0weDMyLDB4MzAsMHgzMCwweDAwLDB4MzMsMHgzMCwweDMwLDB4MDAsMHgzNiwweDMwLDB4MzAsMHgwMCwweDMxLDB4MzIsMHgzMCwweDMwLAotMHgwMCwweDMxLDB4MzgsMHgzMCwweDMwLDB4MDAsMHgzMiwweDMwLDB4MzAsMHgzMCwweDAwLDB4MzIsMHgzNCwweDMwLDB4MzAsMHgwMCwKLTB4MzMsMHgzNiwweDMwLDB4MzAsMHgwMCwweDM0LDB4MzgsMHgzMCwweDMwLDB4MDAsMHgzNywweDMyLDB4MzAsMHgzMCwweDAwLDB4MzksCi0weDM2LDB4MzAsMHgzMCwweDAwLDB4MzEsMHgzOSwweDJDLDB4MzIsMHgzMCwweDMwLDB4MDAsMHgzMywweDM4LDB4MkMsMHgzNCwweDMwLAotMHgzMCwweDAwLDB4MzUsMHgzNiwweDJDLDB4MzAsMHgzMCwweDMwLDB4MDAsMHgzNSwweDM3LDB4MkMsMHgzNiwweDMwLDB4MzAsMHgwMCwKLTB4MzYsMHgzNCwweDJDLDB4MzAsMHgzMCwweDMwLDB4MDAsMHgzNywweDM2LDB4MkMsMHgzOCwweDMwLDB4MzAsMHgwMCwweDMxLDB4MzEsCi0weDM1LDB4MkMsMHgzMiwweDMwLDB4MzAsMHgwMCwweDM3LDB4MjAsMHg2MiwweDY5LDB4NzQsMHg3MywweDAwLDB4MzgsMHgyMCwweDYyLAotMHg2OSwweDc0LDB4NzMsMHgwMCwweDMxLDB4MjAsMHg3MywweDc0LDB4NkYsMHg3MCwweDIwLDB4NjIsMHg2OSwweDc0LDB4MDAsMHgzMSwKLTB4MkUsMHgzNSwweDIwLDB4NzMsMHg3NCwweDZGLDB4NzAsMHgyMCwweDYyLDB4NjksMHg3NCwweDczLDB4MDAsMHgzMiwweDIwLDB4NzMsCi0weDc0LDB4NkYsMHg3MCwweDIwLDB4NjIsMHg2OSwweDc0LDB4NzMsMHgwMCwweDZFLDB4NkYsMHgyMCwweDcwLDB4NjEsMHg3MiwweDY5LAotMHg3NCwweDc5LDB4MDAsMHg2RiwweDY0LDB4NjQsMHgyMCwweDcwLDB4NjEsMHg3MiwweDY5LDB4NzQsMHg3OSwweDAwLDB4NjUsMHg3NiwKLTB4NjUsMHg2RSwweDIwLDB4NzAsMHg2MSwweDcyLDB4NjksMHg3NCwweDc5LDB4MDAsMHg3MywweDcwLDB4NjEsMHg2MywweDY1LDB4MjAsCi0weDcwLDB4NjEsMHg3MiwweDY5LDB4NzQsMHg3OSwweDAwLDB4NkQsMHg2MSwweDcyLDB4NkIsMHgyMCwweDcwLDB4NjEsMHg3MiwweDY5LAotMHg3NCwweDc5LDB4MDAsMHg0MywweDZGLDB4NkMsMHg3NSwweDZELDB4NkUsMHg3MywweDAwLDB4NDIsMHg2MSwweDcyLDB4NjIsMHg2NSwKLTB4NzIsMHgyMCwweDUwLDB4NkYsMHg2QywweDY1LDB4MDAsMHg1NSwweDU1LDB4NTUsMHg1NSwweDU1LDB4MkUsMHgyRSwweDJFLDB4MDAsCi0weDRFLDB4NkYsMHg2RSwweDY1LDB4MDAsMHg1OCwweDZGLDB4NkUsMHgyRiwweDU4LDB4NkYsMHg2NiwweDY2LDB4MDAsMHg0MywweDU0LAotMHg1MywweDAwLDB4NTAsMHg3MiwweDY1LDB4NzMsMHg3MywweDIwLDB4ODAsMHgyMCwweDY2LDB4NkYsMHg3MiwweDIwLDB4NkQsMHg2NSwKLTB4NkUsMHg3NSwweDAwLDB4MjgsMHg2MywweDZGLDB4NzUsMHg2RSwweDc0LDB4NjksMHg2RSwweDY3LDB4MkUsMHgyRSwweDJFLDB4MjksCi0weDAwLDB4MDAsMHg2NSwweDRFLDB4NjQsMHgyMCwweDRGLDB4NjYsMHgyMCwweDQzLDB4NkYsMHg0NCwweDY1LDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwMi9pcDJiYXNlLmMgYi9kcml2ZXJzL2NoYXIvaXAyL2lwMmJhc2UuYwppbmRleCA0MzVjY2ZjLi44MTU1ZTI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaXAyL2lwMmJhc2UuYworKysgYi9kcml2ZXJzL2NoYXIvaXAyL2lwMmJhc2UuYwpAQCAtMjEsMTAgKzIxLDkgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAiaXAydHlwZXMuaCIJCQotI2luY2x1ZGUgImZpcF9maXJtLmgiCQkvLyB0aGUgbWVhdAogCiBpbnQKLWlwMl9sb2FkbWFpbihpbnQgKiwgaW50ICAqLCB1bnNpZ25lZCBjaGFyICosIGludCApOyAvLyByZWYgaW50byBpcDJtYWluLmMKK2lwMl9sb2FkbWFpbihpbnQgKiwgaW50ICopOyAvLyByZWYgaW50byBpcDJtYWluLmMKIAogLyogTm90ZTogQWRkIGNvbXBpbGVkIGluIGRlZmF1bHRzIHRvIHRoZXNlIGFycmF5cywgbm90IHRvIHRoZSBzdHJ1Y3R1cmUKIAlpbiBpcDIuaCBhbnkgbG9uZ2VyLiAgVGhhdCBzdHJ1Y3R1cmUgV0lMTCBnZXQgb3ZlcnJpZGRlbgpAQCAtNTIsNyArNTEsNyBAQAogCQlpcnFbMF0gPSBpcnFbMV0gPSBpcnFbMl0gPSBpcnFbM10gPSAwOwogCX0KIAotCXJldHVybiBpcDJfbG9hZG1haW4oaW8saXJxLCh1bnNpZ25lZCBjaGFyICopZmlwX2Zpcm0sc2l6ZW9mKGZpcF9maXJtKSk7CisJcmV0dXJuIGlwMl9sb2FkbWFpbihpbywgaXJxKTsKIH0KIG1vZHVsZV9pbml0KGlwMl9pbml0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwMi9pcDJtYWluLmMgYi9kcml2ZXJzL2NoYXIvaXAyL2lwMm1haW4uYwppbmRleCBjMTJjZjhmLi45YTIzOTRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaXAyL2lwMm1haW4uYworKysgYi9kcml2ZXJzL2NoYXIvaXAyL2lwMm1haW4uYwpAQCAtOTgsNiArOTgsOSBAQAogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KIAogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+CkBAIC0xNTUsOSArMTU4LDcgQEAKIHN0YXRpYyBjaGFyICpwY0lwbCAgICAJCSA9ICJpcDJpcGwiOwogCiAvLyBjaGVlenkga2x1ZGdlIG9yIGdlbml1cyAtIHlvdSBkZWNpZGU/Ci1pbnQgaXAyX2xvYWRtYWluKGludCAqLCBpbnQgKiwgdW5zaWduZWQgY2hhciAqLCBpbnQpOwotc3RhdGljIHVuc2lnbmVkIGNoYXIgKkZpcF9maXJtd2FyZTsKLXN0YXRpYyBpbnQgRmlwX2Zpcm13YXJlX3NpemU7CitpbnQgaXAyX2xvYWRtYWluKGludCAqLCBpbnQgKik7CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKi8KIC8qIEZ1bmN0aW9uIFByb3RvdHlwZXMgKi8KQEAgLTIwOCw3ICsyMDksNyBAQAogc3RhdGljIGludCBEdW1wVHJhY2VCdWZmZXIoY2hhciBfX3VzZXIgKiwgaW50KTsKIHN0YXRpYyBpbnQgRHVtcEZpZm9CdWZmZXIoIGNoYXIgX191c2VyICosIGludCk7CiAKLXN0YXRpYyB2b2lkIGlwMl9pbml0X2JvYXJkKGludCk7CitzdGF0aWMgdm9pZCBpcDJfaW5pdF9ib2FyZChpbnQsIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqKTsKIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBmaW5kX2Vpc2FfYm9hcmQoaW50KTsKIAogLyoqKioqKioqKioqKioqKi8KQEAgLTQ3NCw4ICs0NzUsMjcgQEAKIC8qIFNBX1JBTkRPTSAgIC0gY2FuIGJlIHNvdXJjZSBmb3IgY2VydC4gcmFuZG9tIG51bWJlciBnZW5lcmF0b3JzICovCiAjZGVmaW5lIElQMl9TQV9GTEFHUwkwCiAKKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqaXAyX3JlcXVlc3RfZmlybXdhcmUodm9pZCkKK3sKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2OworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisKKwlwZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX3NpbXBsZSgiaXAyIiwgMCwgTlVMTCwgMCk7CisJaWYgKElTX0VSUihwZGV2KSkgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byByZWdpc3RlciBwbGF0Zm9ybSBkZXZpY2UgZm9yIGlwMlxuIik7CisJCXJldHVybiBOVUxMOworCX0KKwlpZiAocmVxdWVzdF9maXJtd2FyZSgmZncsICJpbnRlbGxpcG9ydDIuYmluIiwgJnBkZXYtPmRldikpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBmaXJtd2FyZSAnaW50ZWxsaXBvcnQyLmJpbidcbiIpOworCQlmdyA9IE5VTEw7CisJfQorCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKHBkZXYpOworCXJldHVybiBmdzsKK30KKwogaW50Ci1pcDJfbG9hZG1haW4oaW50ICppb3AsIGludCAqaXJxcCwgdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIGludCBmaXJtc2l6ZSkgCitpcDJfbG9hZG1haW4oaW50ICppb3AsIGludCAqaXJxcCkKIHsKIAlpbnQgaSwgaiwgYm94OwogCWludCBlcnIgPSAwOwpAQCAtNDgzLDYgKzUwMyw3IEBACiAJaTJlQm9yZFN0clB0ciBwQiA9IE5VTEw7CiAJaW50IHJjID0gLTE7CiAJc3RhdGljIHN0cnVjdCBwY2lfZGV2ICpwY2lfZGV2X2kgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgPSBOVUxMOwogCiAJaXAydHJhY2UgKElUUkNfTk9fUE9SVCwgSVRSQ19JTklULCBJVFJDX0VOVEVSLCAwICk7CiAKQEAgLTUxNiw5ICs1MzcsNiBAQAogCX0KIAlwb2xsX29ubHkgPSAhcG9sbF9vbmx5OwogCi0JRmlwX2Zpcm13YXJlID0gZmlybXdhcmU7Ci0JRmlwX2Zpcm13YXJlX3NpemUgPSBmaXJtc2l6ZTsKLQogCS8qIEFubm91bmNlIG91ciBwcmVzZW5jZSAqLwogCXByaW50ayggS0VSTl9JTkZPICIlcyB2ZXJzaW9uICVzXG4iLCBwY05hbWUsIHBjVmVyc2lvbiApOwogCkBAIC02MzgsMTAgKzY1NiwxOCBAQAogCQl9CiAJfQogCWZvciAoIGkgPSAwOyBpIDwgSVAyX01BWF9CT0FSRFM7ICsraSApIHsKKwkJLyogV2UgZG9uJ3Qgd2FudCB0byByZXF1ZXN0IHRoZSBmaXJtd2FyZSB1bmxlc3Mgd2UgaGF2ZSBhdAorCQkgICBsZWFzdCBvbmUgYm9hcmQgKi8KIAkJaWYgKCBpMkJvYXJkUHRyVGFibGVbaV0gIT0gTlVMTCApIHsKLQkJCWlwMl9pbml0X2JvYXJkKCBpICk7CisJCQlpZiAoIWZ3KQorCQkJCWZ3ID0gaXAyX3JlcXVlc3RfZmlybXdhcmUoKTsKKwkJCWlmICghZncpCisJCQkJYnJlYWs7CisJCQlpcDJfaW5pdF9ib2FyZChpLCBmdyk7CiAJCX0KIAl9CisJaWYgKGZ3KQorCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCWlwMnRyYWNlIChJVFJDX05PX1BPUlQsIElUUkNfSU5JVCwgMiwgMCApOwogCkBAIC03NjksNyArNzk1LDcgQEAKIC8qIGFyZSByZXBvcnRlZCBvbiB0aGUgY29uc29sZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHZvaWQKLWlwMl9pbml0X2JvYXJkKCBpbnQgYm9hcmRudW0gKQoraXAyX2luaXRfYm9hcmQoaW50IGJvYXJkbnVtLCBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQogewogCWludCBpOwogCWludCBucG9ydHMgPSAwLCBuYm94ZXMgPSAwOwpAQCAtNzg5LDcgKzgxNSw3IEBACiAJCWdvdG8gZXJyX2luaXRpYWxpemU7CiAJfQogCi0JaWYgKCBpaURvd25sb2FkQWxsICggcEIsIChsb2FkSGRyU3RyUHRyKUZpcF9maXJtd2FyZSwgMSwgRmlwX2Zpcm13YXJlX3NpemUgKQorCWlmICggaWlEb3dubG9hZEFsbCAoIHBCLCAobG9hZEhkclN0clB0cilmdy0+ZGF0YSwgMSwgZnctPnNpemUgKQogCSAgICAhPSBJSV9ET1dOX0dPT0QgKSB7CiAJCXByaW50ayAoIEtFUk5fRVJSICJJUDI6IGZhaWxlZCB0byBkb3dubG9hZCBsb2Fkd2FyZVxuIiApOwogCQlnb3RvIGVycl9yZWxlYXNlX3JlZ2lvbjsKQEAgLTI5MDgsNDIgKzI5MzQsMTEgQEAKIHN0YXRpYyBpbnQKIGlwMl9pcGxfb3Blbiggc3RydWN0IGlub2RlICpwSW5vZGUsIHN0cnVjdCBmaWxlICpwRmlsZSApCiB7Ci0JdW5zaWduZWQgaW50IGlwbG1pbm9yID0gaW1pbm9yKHBJbm9kZSk7Ci0JaTJlQm9yZFN0clB0ciBwQjsKLQlpMkNoYW5TdHJQdHIgIHBDaDsKIAogI2lmZGVmIElQMkRFQlVHX0lQTAogCXByaW50ayAoS0VSTl9ERUJVRyAiSVAySVBMOiBvcGVuXG4iICk7CiAjZW5kaWYKLQotCXN3aXRjaChpcGxtaW5vcikgewotCS8vIFRoZXNlIGFyZSB0aGUgSVBMIGRldmljZXMKLQljYXNlIDA6Ci0JY2FzZSA0OgotCWNhc2UgODoKLQljYXNlIDEyOgotCQlicmVhazsKLQotCS8vIFRoZXNlIGFyZSB0aGUgc3RhdHVzIGRldmljZXMKLQljYXNlIDE6Ci0JY2FzZSA1OgotCWNhc2UgOToKLQljYXNlIDEzOgotCQlicmVhazsKLQotCS8vIFRoZXNlIGFyZSB0aGUgZGVidWcgZGV2aWNlcwotCWNhc2UgMjoKLQljYXNlIDY6Ci0JY2FzZSAxMDoKLQljYXNlIDE0OgotCQlwQiA9IGkyQm9hcmRQdHJUYWJsZVtpcGxtaW5vciAvIDRdOwotCQlwQ2ggPSAoaTJDaGFuU3RyUHRyKSBwQi0+aTJlQ2hhbm5lbFB0cjsKLQkJYnJlYWs7Ci0KLQkvLyBUaGlzIGlzIHRoZSB0cmFjZSBkZXZpY2UKLQljYXNlIDM6Ci0JCWJyZWFrOwotCX0KKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXAyNy1ydGMuYyBiL2RyaXZlcnMvY2hhci9pcDI3LXJ0Yy5jCmluZGV4IDg2ZTY1MzguLmVjOWQwNDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9pcDI3LXJ0Yy5jCisrKyBiL2RyaXZlcnMvY2hhci9pcDI3LXJ0Yy5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgvYmNkLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KQEAgLTE2MywxNSArMTY0LDE4IEBACiAKIHN0YXRpYyBpbnQgcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxKCZydGNfbG9jayk7CiAKIAlpZiAocnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKSB7CiAJCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCiAJcnRjX3N0YXR1cyB8PSBSVENfSVNfT1BFTjsKIAlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfZGV2aW50Zi5jIGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9kZXZpbnRmLmMKaW5kZXggMDI0NmEyYi4uYzExYTQwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9kZXZpbnRmLmMKKysrIGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9kZXZpbnRmLmMKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogc3RydWN0IGlwbWlfZmlsZV9wcml2YXRlCiB7CkBAIC0xMDAsNyArMTAxLDkgQEAKIAlzdHJ1Y3QgaXBtaV9maWxlX3ByaXZhdGUgKnByaXYgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJaW50ICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdDsKIAorCWxvY2tfa2VybmVsKCk7IC8qIGNvdWxkIHJhY2UgYWdhaW5zdCBvcGVuKCkgb3RoZXJ3aXNlICovCiAJcmVzdWx0ID0gZmFzeW5jX2hlbHBlcihmZCwgZmlsZSwgb24sICZwcml2LT5mYXN5bmNfcXVldWUpOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAocmVzdWx0KTsKIH0KQEAgLTEyMSw2ICsxMjQsNyBAQAogCWlmICghcHJpdikKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCXByaXYtPmZpbGUgPSBmaWxlOwogCiAJcnYgPSBpcG1pX2NyZWF0ZV91c2VyKGlmX251bSwKQEAgLTEyOSw3ICsxMzMsNyBAQAogCQkJICAgICAgJihwcml2LT51c2VyKSk7CiAJaWYgKHJ2KSB7CiAJCWtmcmVlKHByaXYpOwotCQlyZXR1cm4gcnY7CisJCWdvdG8gb3V0OwogCX0KIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHByaXY7CkBAIC0xNDQsNyArMTQ4LDkgQEAKIAlwcml2LT5kZWZhdWx0X3JldHJpZXMgPSAtMTsKIAlwcml2LT5kZWZhdWx0X3JldHJ5X3RpbWVfbXMgPSAwOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiBydjsKIH0KIAogc3RhdGljIGludCBpcG1pX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3dhdGNoZG9nLmMgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3dhdGNoZG9nLmMKaW5kZXggMWI5YTg3MC4uMjM1ZmFiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV93YXRjaGRvZy5jCisrKyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfd2F0Y2hkb2cuYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaXBtaS5oPgogI2luY2x1ZGUgPGxpbnV4L2lwbWlfc21pLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC93YXRjaGRvZy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC03NTUsOSArNzU2LDggQEAKIAkJcnYgPSBpcG1pX2hlYXJ0YmVhdCgpOwogCQlpZiAocnYpCiAJCQlyZXR1cm4gcnY7Ci0JCXJldHVybiAxOwogCX0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gbGVuOwogfQogCiBzdGF0aWMgc3NpemVfdCBpcG1pX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsCkBAIC04MTksNiArODE5LDggQEAKIAkJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJmlwbWlfd2RvZ19vcGVuKSkKIAkJCXJldHVybiAtRUJVU1k7CiAKKwkJY3ljbGVfa2VybmVsX2xvY2soKTsKKwogCQkvKgogCQkgKiBEb24ndCBzdGFydCB0aGUgdGltZXIgbm93LCBsZXQgaXQgc3RhcnQgb24gdGhlCiAJCSAqIGZpcnN0IGhlYXJ0YmVhdC4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9sY2QuYyBiL2RyaXZlcnMvY2hhci9sY2QuYwppbmRleCA0ZmU5MjA2Li4xYzI5YjIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbGNkLmMKKysrIGIvZHJpdmVycy9jaGFyL2xjZC5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtNDE0LDYgKzQxNSw4IEBACiAKIHN0YXRpYyBpbnQgbGNkX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKKwogCWlmICghbGNkX3ByZXNlbnQpCiAJCXJldHVybiAtRU5YSU87CiAJZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2xwLmMgYi9kcml2ZXJzL2NoYXIvbHAuYwppbmRleCA2MGFjNjQyLi43MWFiYjRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbHAuYworKysgYi9kcml2ZXJzL2NoYXIvbHAuYwpAQCAtMTI2LDYgKzEyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvcGFycG9ydC5oPgogI3VuZGVmIExQX1NUQVRTCkBAIC00ODksMTQgKzQ5MCwyMSBAQAogc3RhdGljIGludCBscF9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbGUpCiB7CiAJdW5zaWduZWQgaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmIChtaW5vciA+PSBMUF9OTykKLQkJcmV0dXJuIC1FTlhJTzsKLQlpZiAoKExQX0YobWlub3IpICYgTFBfRVhJU1QpID09IDApCi0JCXJldHVybiAtRU5YSU87Ci0JaWYgKHRlc3RfYW5kX3NldF9iaXQoTFBfQlVTWV9CSVRfUE9TLCAmTFBfRihtaW5vcikpKQotCQlyZXR1cm4gLUVCVVNZOwotCisJbG9ja19rZXJuZWwoKTsKKwlpZiAobWlub3IgPj0gTFBfTk8pIHsKKwkJcmV0ID0gLUVOWElPOworCQlnb3RvIG91dDsKKwl9CisJaWYgKChMUF9GKG1pbm9yKSAmIExQX0VYSVNUKSA9PSAwKSB7CisJCXJldCA9IC1FTlhJTzsKKwkJZ290byBvdXQ7CisJfQorCWlmICh0ZXN0X2FuZF9zZXRfYml0KExQX0JVU1lfQklUX1BPUywgJkxQX0YobWlub3IpKSkgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0OworCX0KIAkvKiBJZiBBQk9SVE9QRU4gaXMgc2V0IGFuZCB0aGUgcHJpbnRlciBpcyBvZmZsaW5lIG9yIG91dCBvZiBwYXBlciwKIAkgICB3ZSBtYXkgc3RpbGwgd2FudCB0byBvcGVuIGl0IHRvIHBlcmZvcm0gaW9jdGwoKXMuICBUaGVyZWZvcmUgd2UKIAkgICBoYXZlIGNvbW1hbmRlZXJlZCBPX05PTkJMT0NLLCBldmVuIHRob3VnaCBpdCBpcyBiZWluZyB1c2VkIGluCkBAIC01MTAsMjEgKzUxOCwyNSBAQAogCQlpZiAoc3RhdHVzICYgTFBfUE9VVFBBKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJscCVkIG91dCBvZiBwYXBlclxuIiwgbWlub3IpOwogCQkJTFBfRihtaW5vcikgJj0gfkxQX0JVU1k7Ci0JCQlyZXR1cm4gLUVOT1NQQzsKKwkJCXJldCA9IC1FTk9TUEM7CisJCQlnb3RvIG91dDsKIAkJfSBlbHNlIGlmICghKHN0YXR1cyAmIExQX1BTRUxFQ0QpKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJscCVkIG9mZi1saW5lXG4iLCBtaW5vcik7CiAJCQlMUF9GKG1pbm9yKSAmPSB+TFBfQlVTWTsKLQkJCXJldHVybiAtRUlPOworCQkJcmV0ID0gLUVJTzsKKwkJCWdvdG8gb3V0OwogCQl9IGVsc2UgaWYgKCEoc3RhdHVzICYgTFBfUEVSUk9SUCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAibHAlZCBwcmludGVyIGVycm9yXG4iLCBtaW5vcik7CiAJCQlMUF9GKG1pbm9yKSAmPSB+TFBfQlVTWTsKLQkJCXJldHVybiAtRUlPOworCQkJcmV0ID0gLUVJTzsKKwkJCWdvdG8gb3V0OwogCQl9CiAJfQogCWxwX3RhYmxlW21pbm9yXS5scF9idWZmZXIgPSBrbWFsbG9jKExQX0JVRkZFUl9TSVpFLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWxwX3RhYmxlW21pbm9yXS5scF9idWZmZXIpIHsKIAkJTFBfRihtaW5vcikgJj0gfkxQX0JVU1k7Ci0JCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKIAl9CiAJLyogRGV0ZXJtaW5lIGlmIHRoZSBwZXJpcGhlcmFsIHN1cHBvcnRzIEVDUCBtb2RlICovCiAJbHBfY2xhaW1fcGFycG9ydF9vcl9ibG9jayAoJmxwX3RhYmxlW21pbm9yXSk7CkBAIC01NDAsNyArNTUyLDkgQEAKIAlwYXJwb3J0X25lZ290aWF0ZSAobHBfdGFibGVbbWlub3JdLmRldi0+cG9ydCwgSUVFRTEyODRfTU9ERV9DT01QQVQpOwogCWxwX3JlbGVhc2VfcGFycG9ydCAoJmxwX3RhYmxlW21pbm9yXSk7CiAJbHBfdGFibGVbbWlub3JdLmN1cnJlbnRfbW9kZSA9IElFRUUxMjg0X01PREVfQ09NUEFUOwotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGxwX3JlbGVhc2Uoc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9tYmNzLmMgYi9kcml2ZXJzL2NoYXIvbWJjcy5jCmluZGV4IGY0NzE2YWQuLmFjZDhlOWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9tYmNzLmMKKysrIGIvZHJpdmVycy9jaGFyL21iY3MuYwpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgpAQCAtMzgyLDE1ICszODMsMTkgQEAKIAlzdHJ1Y3QgbWJjc19zb2Z0ICpzb2Z0OwogCWludCBtaW5vcjsKIAorCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBpbWlub3IoaXApOwogCisJLyogTm90aGluZyBwcm90ZWN0cyBhY2Nlc3MgdG8gdGhpcyBsaXN0Li4uICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShzb2Z0LCAmc29mdF9saXN0LCBsaXN0KSB7CiAJCWlmIChzb2Z0LT5uYXNpZCA9PSBtaW5vcikgewogCQkJZnAtPnByaXZhdGVfZGF0YSA9IHNvZnQtPmN4ZGV2OworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIDA7CiAJCX0KIAl9CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9tZW0uYyBiL2RyaXZlcnMvY2hhci9tZW0uYwppbmRleCA5MzRmZmFmLi4wNzBlMjJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbWVtLmMKKysrIGIvZHJpdmVycy9jaGFyL21lbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwbGljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtODg5LDYgKzg5MCw5IEBACiAKIHN0YXRpYyBpbnQgbWVtb3J5X29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKIHsKKwlpbnQgcmV0ID0gMDsKKworCWxvY2tfa2VybmVsKCk7CiAJc3dpdGNoIChpbWlub3IoaW5vZGUpKSB7CiAJCWNhc2UgMToKIAkJCWZpbHAtPmZfb3AgPSAmbWVtX2ZvcHM7CkBAIC05MzIsMTEgKzkzNiwxMyBAQAogCQkJYnJlYWs7CiAjZW5kaWYKIAkJZGVmYXVsdDoKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAtRU5YSU87CiAJfQogCWlmIChmaWxwLT5mX29wICYmIGZpbHAtPmZfb3AtPm9wZW4pCi0JCXJldHVybiBmaWxwLT5mX29wLT5vcGVuKGlub2RlLGZpbHApOwotCXJldHVybiAwOworCQlyZXQgPSBmaWxwLT5mX29wLT5vcGVuKGlub2RlLGZpbHApOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBtZW1vcnlfZm9wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9taXNjLmMgYi9kcml2ZXJzL2NoYXIvbWlzYy5jCmluZGV4IGVhYWNlMGQuLjZlMTU2M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9taXNjLmMKKysrIGIvZHJpdmVycy9jaGFyL21pc2MuYwpAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAvKgogICogSGVhZCBlbnRyeSBmb3IgdGhlIGRvdWJseSBsaW5rZWQgbWlzY2RldmljZSBsaXN0CkBAIC0xMTgsNiArMTE5LDcgQEAKIAlpbnQgZXJyID0gLUVOT0RFVjsKIAljb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpvbGRfZm9wcywgKm5ld19mb3BzID0gTlVMTDsKIAkKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJm1pc2NfbXR4KTsKIAkKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGMsICZtaXNjX2xpc3QsIGxpc3QpIHsKQEAgLTE1NSw2ICsxNTcsNyBAQAogCWZvcHNfcHV0KG9sZF9mb3BzKTsKIGZhaWw6CiAJbXV0ZXhfdW5sb2NrKCZtaXNjX210eCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9tb3hhLmMgYi9kcml2ZXJzL2NoYXIvbW94YS5jCmluZGV4IGQ1N2QzYTYuLmUyMTM0NmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9tb3hhLmMKKysrIGIvZHJpdmVycy9jaGFyL21veGEuYwpAQCAtNzIxLDcgKzcyMSw3IEBACiAKIHN0YXRpYyBpbnQgbW94YV9sb2FkX2Z3KHN0cnVjdCBtb3hhX2JvYXJkX2NvbmYgKmJyZCwgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKIHsKLQl2b2lkICpwdHIgPSBmdy0+ZGF0YTsKKwljb25zdCB2b2lkICpwdHIgPSBmdy0+ZGF0YTsKIAljaGFyIHJzbls2NF07CiAJdTE2IGxlbnNbNV07CiAJc2l6ZV90IGxlbjsKQEAgLTczNCw3ICs3MzQsNyBAQAogCQl1OCBtb2RlbDsJLyogQzIxOFQ9MSwgQzMyMFQ9MiwgQ1AyMDQ9MyAqLwogCQl1OCByZXNlcnZlZDJbOF07CiAJCV9fbGUxNiBsZW5bNV07Ci0JfSAqaGRyID0gcHRyOworCX0gY29uc3QgKmhkciA9IHB0cjsKIAogCUJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGhkci0+bGVuKSAhPSBBUlJBWV9TSVpFKGxlbnMpKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL213YXZlL213YXZlZGQuYyBiL2RyaXZlcnMvY2hhci9td2F2ZS9td2F2ZWRkLmMKaW5kZXggOGQxNDgyMy4uNTAyNDNmYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL213YXZlL213YXZlZGQuYworKysgYi9kcml2ZXJzL2NoYXIvbXdhdmUvbXdhdmVkZC5jCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgogI2luY2x1ZGUgInNtYXBpLmgiCkBAIC0xMDAsNiArMTAxLDcgQEAKIAlQUklOVEtfMihUUkFDRV9NV0FWRSwKIAkJIm13YXZlZGQ6Om13YXZlX29wZW4sIGV4aXQgcmV0dXJuIHJldHZhbCAleFxuIiwgcmV0dmFsKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL252cmFtLmMgYi9kcml2ZXJzL2NoYXIvbnZyYW0uYwppbmRleCA5OGRlYzM4Li4xOTdjZDdhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbnZyYW0uYworKysgYi9kcml2ZXJzL2NoYXIvbnZyYW0uYwpAQCAtMTA3LDYgKzEwNyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMzMzLDEyICszMzQsMTQgQEAKIHN0YXRpYyBpbnQKIG52cmFtX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJm52cmFtX3N0YXRlX2xvY2spOwogCiAJaWYgKChudnJhbV9vcGVuX2NudCAmJiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkpIHx8CiAJICAgIChudnJhbV9vcGVuX21vZGUgJiBOVlJBTV9FWENMKSB8fAogCSAgICAoKGZpbGUtPmZfbW9kZSAmIDIpICYmIChudnJhbV9vcGVuX21vZGUgJiBOVlJBTV9XUklURSkpKSB7CiAJCXNwaW5fdW5sb2NrKCZudnJhbV9zdGF0ZV9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIApAQCAtMzQ5LDYgKzM1Miw3IEBACiAJbnZyYW1fb3Blbl9jbnQrKzsKIAogCXNwaW5fdW5sb2NrKCZudnJhbV9zdGF0ZV9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wYzg3MzZ4X2dwaW8uYyBiL2RyaXZlcnMvY2hhci9wYzg3MzZ4X2dwaW8uYwppbmRleCBlY2ZhZjE4Li5iOTMwZGU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcGM4NzM2eF9ncGlvLmMKKysrIGIvZHJpdmVycy9jaGFyL3BjODczNnhfZ3Bpby5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9uc2NfZ3Bpby5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2RlZmluZSBERVZOQU1FICJwYzg3MzZ4X2dwaW8iCkBAIC0yMTcsNiArMjE4LDcgQEAKIAl1bnNpZ25lZCBtID0gaW1pbm9yKGlub2RlKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSAmcGM4NzM2eF9ncGlvX29wczsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJZGV2X2RiZygmcGRldi0+ZGV2LCAib3BlbiAlZFxuIiwgbSk7CiAKIAlpZiAobSA+PSBQQzg3MzZYX0dQSU9fQ1QpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDAwMF9jcy5jIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwMDBfY3MuYwppbmRleCA0YTkzM2Q0Li41OWNhMzUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDAwMF9jcy5jCisrKyBiL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDAwX2NzLmMKQEAgLTMyLDggKzMyLDkgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvYml0cmV2Lmg+Ci0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CkBAIC0xNDA1LDExICsxNDA2LDExIEBACiAJREVCVUdQKDMsIGRldiwgIjwtIHN0b3BfbW9uaXRvclxuIik7CiB9CiAKLXN0YXRpYyBpbnQgY21tX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLAotCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgY21tX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgY200MDAwX2RldiAqZGV2ID0gZmlscC0+cHJpdmF0ZV9kYXRhOwogCXVuc2lnbmVkIGludCBpb2Jhc2UgPSBkZXYtPnBfZGV2LT5pby5CYXNlUG9ydDE7CisJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7CiAJc3RydWN0IHBjbWNpYV9kZXZpY2UgKmxpbms7CiAJaW50IHNpemU7CiAJaW50IHJjOwpAQCAtMTQyNiwzOCArMTQyNyw0MiBAQAogCURFQlVHUCgzLCBkZXYsICJjbW1faW9jdGwoZGV2aWNlPSVkLiVkKSAlc1xuIiwgaW1ham9yKGlub2RlKSwKIAkgICAgICAgaW1pbm9yKGlub2RlKSwgaW9jdGxfbmFtZXNbX0lPQ19OUihjbWQpXSk7CiAKKwlsb2NrX2tlcm5lbCgpOworCXJjID0gLUVOT0RFVjsKIAlsaW5rID0gZGV2X3RhYmxlW2ltaW5vcihpbm9kZSldOwogCWlmICghcGNtY2lhX2Rldl9wcmVzZW50KGxpbmspKSB7CiAJCURFQlVHUCg0LCBkZXYsICJERVZfT0sgZmFsc2VcbiIpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCiAJaWYgKHRlc3RfYml0KElTX0NNTV9BQlNFTlQsICZkZXYtPmZsYWdzKSkgewogCQlERUJVR1AoNCwgZGV2LCAiQ01NX0FCU0VOVCBmbGFnIHNldFxuIik7Ci0JCXJldHVybiAtRU5PREVWOworCQlnb3RvIG91dDsKIAl9CisJcmMgPSBFSU5WQUw7CiAKIAlpZiAoX0lPQ19UWVBFKGNtZCkgIT0gQ01fSU9DX01BR0lDKSB7CiAJCURFQlVHUCg0LCBkZXYsICJpb2N0eXBlIG1pc21hdGNoXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7CisJCWdvdG8gb3V0OwogCX0KIAlpZiAoX0lPQ19OUihjbWQpID4gQ01fSU9DX01BWE5SKSB7CiAJCURFQlVHUCg0LCBkZXYsICJpb2NuciBtaXNtYXRjaFxuIik7Ci0JCXJldHVybiAtRUlOVkFMOworCQlnb3RvIG91dDsKIAl9CiAJc2l6ZSA9IF9JT0NfU0laRShjbWQpOwotCXJjID0gMDsKKwlyYyA9IC1FRkFVTFQ7CiAJREVCVUdQKDQsIGRldiwgImlvY2Rpcj0lLjR4IGlvY3I9JS40eCBpb2N3PSUuNHggaW9jc2l6ZT0lZCBjbWQ9JS40eFxuIiwKIAkgICAgICBfSU9DX0RJUihjbWQpLCBfSU9DX1JFQUQsIF9JT0NfV1JJVEUsIHNpemUsIGNtZCk7CiAKIAlpZiAoX0lPQ19ESVIoY21kKSAmIF9JT0NfUkVBRCkgewogCQlpZiAoIWFjY2Vzc19vayhWRVJJRllfV1JJVEUsIGFyZ3AsIHNpemUpKQotCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQlnb3RvIG91dDsKIAl9CiAJaWYgKF9JT0NfRElSKGNtZCkgJiBfSU9DX1dSSVRFKSB7CiAJCWlmICghYWNjZXNzX29rKFZFUklGWV9SRUFELCBhcmdwLCBzaXplKSkKLQkJCXJldHVybiAtRUZBVUxUOworCQkJZ290byBvdXQ7CiAJfQorCXJjID0gMDsKIAogCXN3aXRjaCAoY21kKSB7CiAJY2FzZSBDTV9JT0NHU1RBVFVTOgpAQCAtMTQ3Nyw5ICsxNDgyLDkgQEAKIAkJCWlmICh0ZXN0X2JpdChJU19CQURfQ0FSRCwgJmRldi0+ZmxhZ3MpKQogCQkJCXN0YXR1cyB8PSBDTV9CQURfQ0FSRDsKIAkJCWlmIChjb3B5X3RvX3VzZXIoYXJncCwgJnN0YXR1cywgc2l6ZW9mKGludCkpKQotCQkJCXJldHVybiAtRUZBVUxUOworCQkJCXJjID0gLUVGQVVMVDsKIAkJfQotCQlyZXR1cm4gMDsKKwkJYnJlYWs7CiAJY2FzZSBDTV9JT0NHQVRSOgogCQlERUJVR1AoNCwgZGV2LCAiLi4uIGluIENNX0lPQ0dBVFJcbiIpOwogCQl7CkBAIC0xNDkyLDI1ICsxNDk3LDI5IEBACiAJCQkgICAgICB8fCAodGVzdF9iaXQoSVNfQVRSX1BSRVNFTlQsICh2b2lkICopJmRldi0+ZmxhZ3MpCiAJCQkJICAhPSAwKSkpKSB7CiAJCQkJaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQotCQkJCQlyZXR1cm4gLUVBR0FJTjsKLQkJCQlyZXR1cm4gLUVSRVNUQVJUU1lTOworCQkJCQlyYyA9IC1FQUdBSU47CisJCQkJZWxzZQorCQkJCQlyYyA9IC1FUkVTVEFSVFNZUzsKKwkJCQlicmVhazsKIAkJCX0KIAorCQkJcmMgPSAtRUZBVUxUOwogCQkJaWYgKHRlc3RfYml0KElTX0FUUl9WQUxJRCwgJmRldi0+ZmxhZ3MpID09IDApIHsKIAkJCQl0bXAgPSAtMTsKIAkJCQlpZiAoY29weV90b191c2VyKCYoYXRyZXEtPmF0cl9sZW4pLCAmdG1wLAogCQkJCQkJIHNpemVvZihpbnQpKSkKLQkJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkJCWJyZWFrOwogCQkJfSBlbHNlIHsKIAkJCQlpZiAoY29weV90b191c2VyKGF0cmVxLT5hdHIsIGRldi0+YXRyLAogCQkJCQkJIGRldi0+YXRyX2xlbikpCi0JCQkJCXJldHVybiAtRUZBVUxUOworCQkJCQlicmVhazsKIAogCQkJCXRtcCA9IGRldi0+YXRyX2xlbjsKIAkJCQlpZiAoY29weV90b191c2VyKCYoYXRyZXEtPmF0cl9sZW4pLCAmdG1wLCBzaXplb2YoaW50KSkpCi0JCQkJCXJldHVybiAtRUZBVUxUOworCQkJCQlicmVhazsKIAkJCX0KLQkJCXJldHVybiAwOworCQkJcmMgPSAwOworCQkJYnJlYWs7CiAJCX0KIAljYXNlIENNX0lPQ0FSRE9GRjoKIApAQCAtMTUzOCw4ICsxNTQ3LDEwIEBACiAJCQkgICAgICB8fCAodGVzdF9hbmRfc2V0X2JpdChMT0NLX0lPLCAodm9pZCAqKSZkZXYtPmZsYWdzKQogCQkJCSAgPT0gMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAJCQkvKiBTZXQgRmxhZ3MwID0gMHg0MiAqLwogCQkJREVCVUdQKDQsIGRldiwgIlNldCBGbGFnczA9MHg0MiBcbiIpOwpAQCAtMTU1NCw4ICsxNTY1LDEwIEBACiAJCQkgICAgICB8fCAodGVzdF9iaXQoSVNfQVRSX1ZBTElELCAodm9pZCAqKSZkZXYtPmZsYWdzKSAhPQogCQkJCSAgMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAJCX0KIAkJLyogcmVsZWFzZSBsb2NrICovCkBAIC0xNTY4LDggKzE1ODEsMTAgQEAKIAkJCXN0cnVjdCBwdHNyZXEga3JucHRzcmVxOwogCiAJCQlpZiAoY29weV9mcm9tX3VzZXIoJmtybnB0c3JlcSwgYXJncCwKLQkJCQkJICAgc2l6ZW9mKHN0cnVjdCBwdHNyZXEpKSkKLQkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCQkJICAgc2l6ZW9mKHN0cnVjdCBwdHNyZXEpKSkgeworCQkJCXJjID0gLUVGQVVMVDsKKwkJCQlicmVhazsKKwkJCX0KIAogCQkJcmMgPSAwOwogCQkJREVCVUdQKDQsIGRldiwgIi4uLiBpbiBDTV9JT0NTUFRTXG4iKTsKQEAgLTE1ODAsOCArMTU5NSwxMCBAQAogCQkJICAgICAgfHwgKHRlc3RfYml0KElTX0FUUl9QUkVTRU5ULCAodm9pZCAqKSZkZXYtPmZsYWdzKQogCQkJCSAgIT0gMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAJCQkvKiBnZXQgSU8gbG9jayAqLwogCQkJaWYgKHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZQpAQCAtMTU5MCw4ICsxNjA3LDEwIEBACiAJCQkgICAgICB8fCAodGVzdF9hbmRfc2V0X2JpdChMT0NLX0lPLCAodm9pZCAqKSZkZXYtPmZsYWdzKQogCQkJCSAgPT0gMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAKIAkJCWlmICgocmMgPSBzZXRfcHJvdG9jb2woZGV2LCAma3JucHRzcmVxKSkgIT0gMCkgewpAQCAtMTYwNCw3ICsxNjIzLDcgQEAKIAkJCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmZGV2LT5pb3EpOwogCiAJCX0KLQkJcmV0dXJuIHJjOworCQlicmVhazsKICNpZmRlZiBQQ01DSUFfREVCVUcKIAljYXNlIENNX0lPU0RCR0xWTDoJLyogc2V0IGRlYnVnIGxvZyBsZXZlbCAqLwogCQl7CkBAIC0xNjEyLDE4ICsxNjMxLDIwIEBACiAKIAkJCW9sZF9wY19kZWJ1ZyA9IHBjX2RlYnVnOwogCQkJaWYgKGNvcHlfZnJvbV91c2VyKCZwY19kZWJ1ZywgYXJncCwgc2l6ZW9mKGludCkpKQotCQkJCXJldHVybiAtRUZBVUxUOwotCi0JCQlpZiAob2xkX3BjX2RlYnVnICE9IHBjX2RlYnVnKQorCQkJCXJjID0gLUVGQVVMVDsKKwkJCWVsc2UgaWYgKG9sZF9wY19kZWJ1ZyAhPSBwY19kZWJ1ZykKIAkJCQlERUJVR1AoMCwgZGV2LCAiQ2hhbmdlZCBkZWJ1ZyBsb2cgbGV2ZWwgIgogCQkJCSAgICAgICAidG8gJWlcbiIsIHBjX2RlYnVnKTsKIAkJfQotCQlyZXR1cm4gcmM7CisJCWJyZWFrOwogI2VuZGlmCiAJZGVmYXVsdDoKIAkJREVCVUdQKDQsIGRldiwgIi4uLiBpbiBkZWZhdWx0ICh1bmtub3duIElPQ1RMIGNvZGUpXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7CisJCXJjID0gLUVOT1RUWTsKIAl9CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByYzsKIH0KIAogc3RhdGljIGludCBjbW1fb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKQEAgLTE2MzEsMTYgKzE2NTIsMjIgQEAKIAlzdHJ1Y3QgY200MDAwX2RldiAqZGV2OwogCXN0cnVjdCBwY21jaWFfZGV2aWNlICpsaW5rOwogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CisJaW50IHJldDsKIAogCWlmIChtaW5vciA+PSBDTTQwMDBfTUFYX0RFVikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWxpbmsgPSBkZXZfdGFibGVbbWlub3JdOwotCWlmIChsaW5rID09IE5VTEwgfHwgIXBjbWNpYV9kZXZfcHJlc2VudChsaW5rKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKGxpbmsgPT0gTlVMTCB8fCAhcGNtY2lhX2Rldl9wcmVzZW50KGxpbmspKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAotCWlmIChsaW5rLT5vcGVuKQotCQlyZXR1cm4gLUVCVVNZOworCWlmIChsaW5rLT5vcGVuKSB7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CisJfQogCiAJZGV2ID0gbGluay0+cHJpdjsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBkZXY7CkBAIC0xNjYwLDggKzE2ODcsMTAgQEAKIAkgKiB2YWlsZCA9IGJsb2NrIHVudGlsIHZhbGlkIChvciBjYXJkCiAJICogaW5zZXJ0ZWQpCiAJICovCi0JaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQotCQlyZXR1cm4gLUVBR0FJTjsKKwlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spIHsKKwkJcmV0ID0gLUVBR0FJTjsKKwkJZ290byBvdXQ7CisJfQogCiAJZGV2LT5tZGVsYXkgPSBUXzUwTVNFQzsKIApAQCAtMTY3MSw3ICsxNzAwLDEwIEBACiAJbGluay0+b3BlbiA9IDE7CQkvKiBvbmx5IG9uZSBvcGVuIHBlciBkZXZpY2UgKi8KIAogCURFQlVHUCgyLCBkZXYsICI8LSBjbW1fb3BlblxuIik7Ci0JcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworCXJldCA9IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNtbV9jbG9zZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKQEAgLTE4OTcsNyArMTkyOSw3IEBACiAJLm93bmVyCT0gVEhJU19NT0RVTEUsCiAJLnJlYWQJPSBjbW1fcmVhZCwKIAkud3JpdGUJPSBjbW1fd3JpdGUsCi0JLmlvY3RsCT0gY21tX2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bAk9IGNtbV9pb2N0bCwKIAkub3Blbgk9IGNtbV9vcGVuLAogCS5yZWxlYXNlPSBjbW1fY2xvc2UsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwNDBfY3MuYyBiL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDQwX2NzLmMKaW5kZXggMDM1MDg0Yy4uNjE4MWY4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwNDBfY3MuYworKysgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDA0MF9jcy5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtNDQ4LDIzICs0NDksMzAgQEAKIAlzdHJ1Y3QgcmVhZGVyX2RldiAqZGV2OwogCXN0cnVjdCBwY21jaWFfZGV2aWNlICpsaW5rOwogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CisJaW50IHJldDsKIAogCWlmIChtaW5vciA+PSBDTV9NQVhfREVWKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWxvY2tfa2VybmVsKCk7CiAJbGluayA9IGRldl90YWJsZVttaW5vcl07Ci0JaWYgKGxpbmsgPT0gTlVMTCB8fCAhcGNtY2lhX2Rldl9wcmVzZW50KGxpbmspKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAobGluayA9PSBOVUxMIHx8ICFwY21jaWFfZGV2X3ByZXNlbnQobGluaykpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCi0JaWYgKGxpbmstPm9wZW4pCi0JCXJldHVybiAtRUJVU1k7CisJaWYgKGxpbmstPm9wZW4pIHsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAlkZXYgPSBsaW5rLT5wcml2OwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGRldjsKIAogCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykgewogCQlERUJVR1AoNCwgZGV2LCAiZmlsZXAtPmZfZmxhZ3MgT19OT05CTE9DSyBzZXRcbiIpOwotCQlyZXR1cm4gLUVBR0FJTjsKKwkJcmV0ID0gLUVBR0FJTjsKKwkJZ290byBvdXQ7CiAJfQogCiAJbGluay0+b3BlbiA9IDE7CkBAIC00NzMsNyArNDgxLDEwIEBACiAJbW9kX3RpbWVyKCZkZXYtPnBvbGxfdGltZXIsIGppZmZpZXMgKyBQT0xMX1BFUklPRCk7CiAKIAlERUJVR1AoMiwgZGV2LCAiPC0gY200MDQwX29wZW4gKHN1Y2Nlc3NmdWxseSlcbiIpOwotCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKKwlyZXQgPSBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjbTQwNDBfY2xvc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvaGFyZHdhcmUuYyBiL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9oYXJkd2FyZS5jCmluZGV4IGJhNjM0MGEuLjkyOTEwMWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9oYXJkd2FyZS5jCisrKyBiL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9oYXJkd2FyZS5jCkBAIC01OTAsOCArNTkwLDEwIEBACiAJCXBhY2tldCA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBpcHdfcnhfcGFja2V0KSArCiAJCQkJb2xkX3BhY2tldC0+bGVuZ3RoICsgbWluaW11bV9mcmVlX3NwYWNlLAogCQkJCUdGUF9BVE9NSUMpOwotCQlpZiAoIXBhY2tldCkKKwkJaWYgKCFwYWNrZXQpIHsKKwkJCWtmcmVlKG9sZF9wYWNrZXQpOwogCQkJcmV0dXJuIE5VTEw7CisJCX0KIAkJbWVtY3B5KHBhY2tldCwgb2xkX3BhY2tldCwKIAkJCQlzaXplb2Yoc3RydWN0IGlwd19yeF9wYWNrZXQpCiAJCQkJCSsgb2xkX3BhY2tldC0+bGVuZ3RoKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9tYWluLmMgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvbWFpbi5jCmluZGV4IDAwYzdmODQuLmNjN2RjZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9tYWluLmMKKysrIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL21haW4uYwpAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogCi0jaW5jbHVkZSA8cGNtY2lhL3ZlcnNpb24uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RldmljZV9pZC5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3BwZGV2LmMgYi9kcml2ZXJzL2NoYXIvcHBkZXYuYwppbmRleCAzYWFiODM3Li5mNmU2YWNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcHBkZXYuYworKysgYi9kcml2ZXJzL2NoYXIvcHBkZXYuYwpAQCAtNjYsNiArNjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L3BwZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiAjZGVmaW5lIFBQX1ZFUlNJT04gInBwZGV2OiB1c2VyLXNwYWNlIHBhcmFsbGVsIHBvcnQgZHJpdmVyIgpAQCAtNjM4LDYgKzYzOSw3IEBACiAJdW5zaWduZWQgaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKIAlzdHJ1Y3QgcHBfc3RydWN0ICpwcDsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJaWYgKG1pbm9yID49IFBBUlBPUlRfTUFYKQogCQlyZXR1cm4gLUVOWElPOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcmF3LmMgYi9kcml2ZXJzL2NoYXIvcmF3LmMKaW5kZXggYmJmYTBlMi4uNTA1ZmNiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3Jhdy5jCisrKyBiL2RyaXZlcnMvY2hhci9yYXcuYwpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC01Myw2ICs1NCw3IEBACiAJCXJldHVybiAwOwogCX0KIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmcmF3X211dGV4KTsKIAogCS8qCkBAIC03OSw2ICs4MSw3IEBACiAJCQliZGV2LT5iZF9pbm9kZS0+aV9tYXBwaW5nOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGJkZXY7CiAJbXV0ZXhfdW5sb2NrKCZyYXdfbXV0ZXgpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogb3V0MjoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9ydGMuYyBiL2RyaXZlcnMvY2hhci9ydGMuYwppbmRleCA1ZjgwYTlkLi5mYTkyYThhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcnRjLmMKKysrIGIvZHJpdmVycy9jaGFyL3J0Yy5jCkBAIC03Myw2ICs3Myw3IEBACiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9iY2QuaD4KQEAgLTY3OCwxMiArNjc5LDEzIEBACiAJCWlmIChhcmcgIT0gKDE8PHRtcCkpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAorCQlydGNfZnJlcSA9IGFyZzsKKwogCQlzcGluX2xvY2tfaXJxc2F2ZSgmcnRjX2xvY2ssIGZsYWdzKTsKIAkJaWYgKGhwZXRfc2V0X3BlcmlvZGljX2ZyZXEoYXJnKSkgewogCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnRjX2xvY2ssIGZsYWdzKTsKIAkJCXJldHVybiAwOwogCQl9Ci0JCXJ0Y19mcmVxID0gYXJnOwogCiAJCXZhbCA9IENNT1NfUkVBRChSVENfRlJFUV9TRUxFQ1QpICYgMHhmMDsKIAkJdmFsIHw9ICgxNiAtIHRtcCk7CkBAIC03MzMsNiArNzM1LDcgQEAKICAqIG5lZWRlZCBoZXJlLiBPciBhbnl3aGVyZSBlbHNlIGluIHRoaXMgZHJpdmVyLiAqLwogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKIAogCWlmIChydGNfc3RhdHVzICYgUlRDX0lTX09QRU4pCkBAIC03NDIsMTAgKzc0NSwxMiBAQAogCiAJcnRjX2lycV9kYXRhID0gMDsKIAlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dF9idXN5OgogCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gLUVCVVNZOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc2N4MjAwX2dwaW8uYyBiL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCmluZGV4IDk5ZTUyNzIuLjFkOTEwMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCisrKyBiL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIApAQCAtNTEsNiArNTIsNyBAQAogCXVuc2lnbmVkIG0gPSBpbWlub3IoaW5vZGUpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9ICZzY3gyMDBfZ3Bpb19vcHM7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWlmIChtID49IE1BWF9QSU5TKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc25zYy5jIGIvZHJpdmVycy9jaGFyL3Nuc2MuYwppbmRleCA4ZmUwOTlhLi4wYjc5OWFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvc25zYy5jCisrKyBiL2RyaXZlcnMvY2hhci9zbnNjLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3NuL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3NuL3NuX3NhbC5oPgogI2luY2x1ZGUgPGFzbS9zbi9tb2R1bGUuaD4KQEAgLTEwNCw2ICsxMDUsNyBAQAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHNkOwogCiAJLyogaG9vayB0aGlzIHN1YmNoYW5uZWwgdXAgdG8gdGhlIHN5c3RlbSBjb250cm9sbGVyIGludGVycnVwdCAqLworCWxvY2tfa2VybmVsKCk7CiAJcnYgPSByZXF1ZXN0X2lycShTR0lfVUFSVF9WRUNUT1IsIHNjZHJ2X2ludGVycnVwdCwKIAkJCSBJUlFGX1NIQVJFRCB8IElSUUZfRElTQUJMRUQsCiAJCQkgU1lTQ1RMX0JBU0VOQU1FLCBzZCk7CkBAIC0xMTEsOSArMTEzLDEwIEBACiAJCWlhNjRfc25faXJ0cl9jbG9zZShzZC0+c2RfbmFzaWQsIHNkLT5zZF9zdWJjaCk7CiAJCWtmcmVlKHNkKTsKIAkJcHJpbnRrKCIlczogaXJxIHJlcXVlc3QgZmFpbGVkICglZClcbiIsIF9fZnVuY19fLCBydik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9Ci0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9zb255cGkuYyBiL2RyaXZlcnMvY2hhci9zb255cGkuYwppbmRleCA1ODUzM2RlLi44NWUwZWI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvc29ueXBpLmMKKysrIGIvZHJpdmVycy9jaGFyL3NvbnlwaS5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgva2ZpZm8uaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTkwNiwxMiArOTA3LDE0IEBACiAKIHN0YXRpYyBpbnQgc29ueXBpX21pc2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnNvbnlwaV9kZXZpY2UubG9jayk7CiAJLyogRmx1c2ggaW5wdXQgcXVldWUgb24gZmlyc3Qgb3BlbiAqLwogCWlmICghc29ueXBpX2RldmljZS5vcGVuX2NvdW50KQogCQlrZmlmb19yZXNldChzb255cGlfZGV2aWNlLmZpZm8pOwogCXNvbnlwaV9kZXZpY2Uub3Blbl9jb3VudCsrOwogCW11dGV4X3VubG9jaygmc29ueXBpX2RldmljZS5sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9zeXNycS5jIGIvZHJpdmVycy9jaGFyL3N5c3JxLmMKaW5kZXggZGJjZTEyNi4uOGZkZmU5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3N5c3JxLmMKKysrIGIvZHJpdmVycy9jaGFyL3N5c3JxLmMKQEAgLTIxNSw3ICsyMTUsNyBAQAogCiBzdGF0aWMgdm9pZCBzeXNycV9zaG93cmVnc19vdGhlcmNwdXMoc3RydWN0IHdvcmtfc3RydWN0ICpkdW1teSkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzaG93YWNwdSwgTlVMTCwgMCwgMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oc2hvd2FjcHUsIE5VTEwsIDApOwogfQogCiBzdGF0aWMgREVDTEFSRV9XT1JLKHN5c3JxX3Nob3dhbGxjcHVzLCBzeXNycV9zaG93cmVnc19vdGhlcmNwdXMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3RiMDIxOS5jIGIvZHJpdmVycy9jaGFyL3RiMDIxOS5jCmluZGV4IDRjNDMxY2IuLjYwNjJiNjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci90YjAyMTkuYworKysgYi9kcml2ZXJzL2NoYXIvdGIwMjE5LmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3JlYm9vdC5oPgpAQCAtMjM2LDYgKzIzNyw3IEBACiB7CiAJdW5zaWduZWQgaW50IG1pbm9yOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAltaW5vciA9IGltaW5vcihpbm9kZSk7CiAJc3dpdGNoIChtaW5vcikgewogCWNhc2UgMDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90bGNsay5jIGIvZHJpdmVycy9jaGFyL3RsY2xrLmMKaW5kZXggMzVlNTgwMy4uOGYyMjg0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RsY2xrLmMKKysrIGIvZHJpdmVycy9jaGFyL3RsY2xrLmMKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KICNpbmNsdWRlIDxsaW51eC9zeXNmcy5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgpAQCAtMjA0LDExICsyMDUsMTQgQEAKIHsKIAlpbnQgcmVzdWx0OwogCi0JaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJnVzZWZsYWdzKSkKLQkJcmV0dXJuIC1FQlVTWTsKKwlsb2NrX2tlcm5lbCgpOworCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZ1c2VmbGFncykpIHsKKwkJcmVzdWx0ID0gLUVCVVNZOwogCQkvKiB0aGlzIGxlZ2FjeSBkZXZpY2UgaXMgYWx3YXlzIG9uZSBwZXIgc3lzdGVtIGFuZCBpdCBkb2Vzbid0CiAJCSAqIGtub3cgaG93IHRvIGhhbmRsZSBtdWx0aXBsZSBjb25jdXJyZW50IGNsaWVudHMuCiAJCSAqLworCQlnb3RvIG91dDsKKwl9CiAKIAkvKiBNYWtlIHN1cmUgdGhlcmUgaXMgbm8gaW50ZXJydXB0IHBlbmRpbmcgd2hpbGUKIAkgKiBpbml0aWFsaXNpbmcgaW50ZXJydXB0IGhhbmRsZXIgKi8KQEAgLTIxOCwxMyArMjIyLDE0IEBACiAJICogd2UgY2FuJ3Qgc2hhcmUgdGhpcyBJUlEgKi8KIAlyZXN1bHQgPSByZXF1ZXN0X2lycSh0ZWxjbGtfaW50ZXJydXB0LCAmdGxjbGtfaW50ZXJydXB0LAogCQkJICAgICBJUlFGX0RJU0FCTEVELCAidGVsY29fY2xvY2siLCB0bGNsa19pbnRlcnJ1cHQpOwotCWlmIChyZXN1bHQgPT0gLUVCVVNZKSB7CisJaWYgKHJlc3VsdCA9PSAtRUJVU1kpCiAJCXByaW50ayhLRVJOX0VSUiAidGxjbGs6IEludGVycnVwdCBjYW4ndCBiZSByZXNlcnZlZC5cbiIpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQlpbmIoVExDTEtfUkVHNik7CS8qIENsZWFyIGludGVycnVwdCBldmVudHMgKi8KKwllbHNlCisJCWluYihUTENMS19SRUc2KTsJLyogQ2xlYXIgaW50ZXJydXB0IGV2ZW50cyAqLwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXN1bHQ7CiB9CiAKIHN0YXRpYyBpbnQgdGxjbGtfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90cG0vdHBtLmMgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbS5jCmluZGV4IGE1ZDhiY2IuLmUxZmMxOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci90cG0vdHBtLmMKKysrIGIvZHJpdmVycy9jaGFyL3RwbS90cG0uYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgInRwbS5oIgogCkBAIC04OTcsNiArODk4LDcgQEAKIAlpbnQgcmMgPSAwLCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAJc3RydWN0IHRwbV9jaGlwICpjaGlwID0gTlVMTCwgKnBvczsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZkcml2ZXJfbG9jayk7CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBvcywgJnRwbV9jaGlwX2xpc3QsIGxpc3QpIHsKQEAgLTkyNiwxNiArOTI4LDE5IEBACiAJaWYgKGNoaXAtPmRhdGFfYnVmZmVyID09IE5VTEwpIHsKIAkJY2hpcC0+bnVtX29wZW5zLS07CiAJCXB1dF9kZXZpY2UoY2hpcC0+ZGV2KTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKIAlhdG9taWNfc2V0KCZjaGlwLT5kYXRhX3BlbmRpbmcsIDApOwogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIGVycl9vdXQ6CiAJc3Bpbl91bmxvY2soJmRyaXZlcl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogRVhQT1JUX1NZTUJPTF9HUEwodHBtX29wZW4pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzLmMgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXMuYwppbmRleCAxM2E0YmRkLi5jN2E5NzdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXMuYworKysgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXMuYwpAQCAtNjIzLDYgKzYyMyw3IEBACiAJeyJJRlgwMTAyIiwgMH0sCQkvKiBJbmZpbmVvbiAqLwogCXsiQkNNMDEwMSIsIDB9LAkJLyogQnJvYWRjb20gKi8KIAl7Ik5TQzEyMDAiLCAwfSwJCS8qIE5hdGlvbmFsICovCisJeyJJQ08wMTAyIiwgMH0sCQkvKiBJbnRlbCAqLwogCS8qIEFkZCBuZXcgaGVyZSAqLwogCXsiIiwgMH0sCQkvKiBVc2VyIFNwZWNpZmllZCAqLwogCXsiIiwgMH0JCQkvKiBUZXJtaW5hdG9yICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHR5X2lvLmMgYi9kcml2ZXJzL2NoYXIvdHR5X2lvLmMKaW5kZXggNzUwMTMxMC4uMDQ3YTE3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3R0eV9pby5jCisrKyBiL2RyaXZlcnMvY2hhci90dHlfaW8uYwpAQCAtMjY2NSw3ICsyNjY1LDcgQEAKICAqCQkgLT5zaWdsb2NrIHByb3RlY3RzIC0+c2lnbmFsLy0+c2lnaGFuZAogICovCiAKLXN0YXRpYyBpbnQgdHR5X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCitzdGF0aWMgaW50IF9fdHR5X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eTsKIAlpbnQgbm9jdHR5LCByZXR2YWw7CkBAIC0yNzc5LDYgKzI3NzksMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAorLyogQktMIHB1c2hkb3duOiBzY2FyeSBjb2RlIGF2b2lkYW5jZSB3cmFwcGVyICovCitzdGF0aWMgaW50IHR0eV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQoreworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IF9fdHR5X29wZW4oaW5vZGUsIGZpbHApOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQorCisKKwogI2lmZGVmIENPTkZJR19VTklYOThfUFRZUwogLyoqCiAgKglwdG14X29wZW4JCS0Jb3BlbiBhIHVuaXggOTggcHR5IG1hc3RlcgpAQCAtMjc5Miw3ICsyODA1LDcgQEAKICAqCQlhbGxvY2F0ZWRfcHR5c19sb2NrIGhhbmRsZXMgdGhlIGxpc3Qgb2YgZnJlZSBwdHkgbnVtYmVycwogICovCiAKLXN0YXRpYyBpbnQgcHRteF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQorc3RhdGljIGludCBfX3B0bXhfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5OwogCWludCByZXR2YWw7CkBAIC0yODMxLDYgKzI4NDQsMTYgQEAKIAlkZXZwdHNfa2lsbF9pbmRleChpbmRleCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KKworc3RhdGljIGludCBwdG14X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gX19wdG14X29wZW4oaW5vZGUsIGZpbHApOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQogI2VuZGlmCiAKIC8qKgpAQCAtMjg4NiwxNSArMjkwOSwxNiBAQAogewogCXN0cnVjdCB0dHlfc3RydWN0ICp0dHk7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmV0dmFsOworCWludCByZXR2YWwgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAl0dHkgPSAoc3RydWN0IHR0eV9zdHJ1Y3QgKilmaWxwLT5wcml2YXRlX2RhdGE7CiAJaWYgKHR0eV9wYXJhbm9pYV9jaGVjayh0dHksIGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUsICJ0dHlfZmFzeW5jIikpCi0JCXJldHVybiAwOworCQlnb3RvIG91dDsKIAogCXJldHZhbCA9IGZhc3luY19oZWxwZXIoZmQsIGZpbHAsIG9uLCAmdHR5LT5mYXN5bmMpOwogCWlmIChyZXR2YWwgPD0gMCkKLQkJcmV0dXJuIHJldHZhbDsKKwkJZ290byBvdXQ7CiAKIAlpZiAob24pIHsKIAkJZW51bSBwaWRfdHlwZSB0eXBlOwpAQCAtMjkxMiwxMiArMjkzNiwxNSBAQAogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ0dHktPmN0cmxfbG9jaywgZmxhZ3MpOwogCQlyZXR2YWwgPSBfX2Zfc2V0b3duKGZpbHAsIHBpZCwgdHlwZSwgMCk7CiAJCWlmIChyZXR2YWwpCi0JCQlyZXR1cm4gcmV0dmFsOworCQkJZ290byBvdXQ7CiAJfSBlbHNlIHsKIAkJaWYgKCF0dHktPmZhc3luYyAmJiAhd2FpdHF1ZXVlX2FjdGl2ZSgmdHR5LT5yZWFkX3dhaXQpKQogCQkJdHR5LT5taW5pbXVtX3RvX3dha2UgPSBOX1RUWV9CVUZfU0laRTsKIAl9Ci0JcmV0dXJuIDA7CisJcmV0dmFsID0gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldHZhbDsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdmNfc2NyZWVuLmMgYi9kcml2ZXJzL2NoYXIvdmNfc2NyZWVuLmMKaW5kZXggODNhZWVkZC4uZWViZmFkMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3ZjX3NjcmVlbi5jCisrKyBiL2RyaXZlcnMvY2hhci92Y19zY3JlZW4uYwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tiZF9rZXJuLmg+CiAjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KQEAgLTQ2MCw5ICs0NjEsMTMgQEAKIHZjc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCXVuc2lnbmVkIGludCBjdXJyY29ucyA9IGltaW5vcihpbm9kZSkgJiAxMjc7CisJaW50IHJldCA9IDA7CisJCisJbG9ja19rZXJuZWwoKTsKIAlpZihjdXJyY29ucyAmJiAhdmNfY29uc19hbGxvY2F0ZWQoY3VycmNvbnMtMSkpCi0JCXJldHVybiAtRU5YSU87Ci0JcmV0dXJuIDA7CisJCXJldCA9IC1FTlhJTzsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdmNzX2ZvcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdmlvdGFwZS5jIGIvZHJpdmVycy9jaGFyL3Zpb3RhcGUuYwppbmRleCBjMzlkZGFmLi45NzdmN2QzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdmlvdGFwZS5jCisrKyBiL2RyaXZlcnMvY2hhci92aW90YXBlLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvY3Rscy5oPgpAQCAtNjg3LDYgKzY4OCw3IEBACiAJaWYgKG9wID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlnZXRfZGV2X2luZm8oZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSwgJmRldmkpOwogCiAJLyogTm90ZTogV2UgY3VycmVudGx5IG9ubHkgc3VwcG9ydCBvbmUgbW9kZSEgKi8KQEAgLTcxNyw2ICs3MTksNyBAQAogCiBmcmVlX29wOgogCWZyZWVfb3Bfc3RydWN0KG9wKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3ZyNDF4eF9naXUuYyBiL2RyaXZlcnMvY2hhci92cjQxeHhfZ2l1LmMKaW5kZXggZTVlZDA5MS4uZmZlOWI0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3ZyNDF4eF9naXUuYworKysgYi9kcml2ZXJzL2NoYXIvdnI0MXh4X2dpdS5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAKQEAgLTU0Nyw2ICs1NDgsNyBAQAogewogCXVuc2lnbmVkIGludCBwaW47CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXBpbiA9IGltaW5vcihpbm9kZSk7CiAJaWYgKHBpbiA+PSBnaXVfbnJfcGlucykKIAkJcmV0dXJuIC1FQkFERjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci94aWxpbnhfaHdpY2FwL3hpbGlueF9od2ljYXAuYyBiL2RyaXZlcnMvY2hhci94aWxpbnhfaHdpY2FwL3hpbGlueF9od2ljYXAuYwppbmRleCAzZWRmMWZjLi4xZTFiODFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIveGlsaW54X2h3aWNhcC94aWxpbnhfaHdpY2FwLmMKKysrIGIvZHJpdmVycy9jaGFyL3hpbGlueF9od2ljYXAveGlsaW54X2h3aWNhcC5jCkBAIC04NSw2ICs4NSw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+CiAjaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CkBAIC01MDQsMTEgKzUwNSwxMiBAQAogCXN0cnVjdCBod2ljYXBfZHJ2ZGF0YSAqZHJ2ZGF0YTsKIAlpbnQgc3RhdHVzOwogCisJbG9ja19rZXJuZWwoKTsKIAlkcnZkYXRhID0gY29udGFpbmVyX29mKGlub2RlLT5pX2NkZXYsIHN0cnVjdCBod2ljYXBfZHJ2ZGF0YSwgY2Rldik7CiAKIAlzdGF0dXMgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRydmRhdGEtPnNlbSk7CiAJaWYgKHN0YXR1cykKLQkJcmV0dXJuIHN0YXR1czsKKwkJZ290byBvdXQ7CiAKIAlpZiAoZHJ2ZGF0YS0+aXNfb3BlbikgewogCQlzdGF0dXMgPSAtRUJVU1k7CkBAIC01MjgsNiArNTMwLDggQEAKIAogIGVycm9yOgogCW11dGV4X3VubG9jaygmZHJ2ZGF0YS0+c2VtKTsKKyBvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBzdGF0dXM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xvY2tzb3VyY2UvYWNwaV9wbS5jIGIvZHJpdmVycy9jbG9ja3NvdXJjZS9hY3BpX3BtLmMKaW5kZXggN2I0NmZhZi4uNWNhMWQ4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jbG9ja3NvdXJjZS9hY3BpX3BtLmMKKysrIGIvZHJpdmVycy9jbG9ja3NvdXJjZS9hY3BpX3BtLmMKQEAgLTIxNSwzICsyMTUsMjIgQEAKICAqIGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIGxvYWQgYmVmb3JlIGRldmljZV9pbml0Y2FsbAogICovCiBmc19pbml0Y2FsbChpbml0X2FjcGlfcG1fY2xvY2tzb3VyY2UpOworCisvKgorICogQWxsb3cgYW4gb3ZlcnJpZGUgb2YgdGhlIElPUG9ydC4gU3R1cGlkIEJJT1NlcyBkbyBub3QgdGVsbCB1cyBhYm91dAorICogdGhlIFBNVGltZXIsIGJ1dCB3ZSBtaWdodCBrbm93IHdoZXJlIGl0IGlzLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9wbXRtcihjaGFyICphcmcpCit7CisJdW5zaWduZWQgbG9uZyBiYXNlOworCisJaWYgKHN0cmljdF9zdHJ0b3VsKGFyZywgMTYsICZiYXNlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwcmludGsoS0VSTl9JTkZPICJQTVRNUiBJT1BvcnQgb3ZlcnJpZGU6IDB4JTA0eCAtPiAweCUwNGx4XG4iLAorCSAgICAgICAodW5zaWduZWQgaW50KXBtdG1yX2lvcG9ydCwgYmFzZSk7CisJcG10bXJfaW9wb3J0ID0gYmFzZTsKKworCXJldHVybiAxOworfQorX19zZXR1cCgicG10bXI9IiwgcGFyc2VfcG10bXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcHVpZGxlL2NwdWlkbGUuYyBiL2RyaXZlcnMvY3B1aWRsZS9jcHVpZGxlLmMKaW5kZXggMjM1NTRiNi4uNTQwNTc2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcHVpZGxlL2NwdWlkbGUuYworKysgYi9kcml2ZXJzL2NwdWlkbGUvY3B1aWRsZS5jCkBAIC0zNDAsNyArMzQwLDcgQEAKIHN0YXRpYyBpbnQgY3B1aWRsZV9sYXRlbmN5X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKmIsCiAJCXVuc2lnbmVkIGxvbmcgbCwgdm9pZCAqdikKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzbXBfY2FsbGJhY2ssIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9jYWxsYmFjaywgTlVMTCwgMSk7CiAJcmV0dXJuIE5PVElGWV9PSzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vS2NvbmZpZyBiL2RyaXZlcnMvY3J5cHRvL0tjb25maWcKaW5kZXggNDNiNzFiNi4uZTUyMjE0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcnlwdG8vS2NvbmZpZworKysgYi9kcml2ZXJzL2NyeXB0by9LY29uZmlnCkBAIC0xNzQsNCArMTc0LDMwIEBACiAJICBTZWxlY3QgdGhpcyBvcHRpb24gaWYgeW91IHdhbnQgdG8gZW5hYmxlIHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvcgogCSAgb24gdGhlIEhJRk4gNzk1eCBjcnlwdG8gYWRhcHRlcnMuCiAKK2NvbmZpZyBDUllQVE9fREVWX1RBTElUT1MKKwl0cmlzdGF0ZSAiVGFsaXRvcyBGcmVlc2NhbGUgU2VjdXJpdHkgRW5naW5lIChTRUMpIgorCXNlbGVjdCBDUllQVE9fQUxHQVBJCisJc2VsZWN0IENSWVBUT19BVVRIRU5DCisJc2VsZWN0IEhXX1JBTkRPTQorCWRlcGVuZHMgb24gRlNMX1NPQworCWhlbHAKKwkgIFNheSAnWScgaGVyZSB0byB1c2UgdGhlIEZyZWVzY2FsZSBTZWN1cml0eSBFbmdpbmUgKFNFQykKKwkgIHRvIG9mZmxvYWQgY3J5cHRvZ3JhcGhpYyBhbGdvcml0aG0gY29tcHV0YXRpb24uCisKKwkgIFRoZSBGcmVlc2NhbGUgU0VDIGlzIHByZXNlbnQgb24gUG93ZXJRVUlDQyAnRScgcHJvY2Vzc29ycywgc3VjaAorCSAgYXMgdGhlIE1QQzgzNDlFIGFuZCBNUEM4NTQ4RS4KKworCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgdGFsaXRvcy4KKworY29uZmlnIENSWVBUT19ERVZfSVhQNFhYCisJdHJpc3RhdGUgIkRyaXZlciBmb3IgSVhQNHh4IGNyeXB0byBoYXJkd2FyZSBhY2NlbGVyYXRpb24iCisJZGVwZW5kcyBvbiBBUkNIX0lYUDRYWAorCXNlbGVjdCBDUllQVE9fREVTCisJc2VsZWN0IENSWVBUT19BTEdBUEkKKwlzZWxlY3QgQ1JZUFRPX0FVVEhFTkMKKwlzZWxlY3QgQ1JZUFRPX0JMS0NJUEhFUgorCWhlbHAKKwkgIERyaXZlciBmb3IgdGhlIElYUDR4eCBOUEUgY3J5cHRvIGVuZ2luZS4KKwogZW5kaWYgIyBDUllQVE9fSFcKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL01ha2VmaWxlIGIvZHJpdmVycy9jcnlwdG8vTWFrZWZpbGUKaW5kZXggYzAzMjdmMC4uNzM1NTdiMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcnlwdG8vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9jcnlwdG8vTWFrZWZpbGUKQEAgLTIsMyArMiw1IEBACiBvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9QQURMT0NLX1NIQSkgKz0gcGFkbG9jay1zaGEubwogb2JqLSQoQ09ORklHX0NSWVBUT19ERVZfR0VPREUpICs9IGdlb2RlLWFlcy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVgpICs9IGhpZm5fNzk1eC5vCitvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9UQUxJVE9TKSArPSB0YWxpdG9zLm8KK29iai0kKENPTkZJR19DUllQVE9fREVWX0lYUDRYWCkgKz0gaXhwNHh4X2NyeXB0by5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9oaWZuXzc5NXguYyBiL2RyaXZlcnMvY3J5cHRvL2hpZm5fNzk1eC5jCmluZGV4IDgxZjNmOTUuLjRkMjJiMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3J5cHRvL2hpZm5fNzk1eC5jCisrKyBiL2RyaXZlcnMvY3J5cHRvL2hpZm5fNzk1eC5jCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KICNpbmNsdWRlIDxsaW51eC9od19yYW5kb20uaD4KICNpbmNsdWRlIDxsaW51eC9rdGltZS5oPgpAQCAtMzY5LDcgKzM2OCw5IEBACiAjZGVmaW5lCUhJRk5fRF9EU1RfUlNJWkUJCTgwKjQKICNkZWZpbmUJSElGTl9EX1JFU19SU0laRQkJMjQqNAogCi0jZGVmaW5lIEhJRk5fUVVFVUVfTEVOR1RICQlISUZOX0RfQ01EX1JTSVpFLTUKKyNkZWZpbmUgSElGTl9EX0RTVF9EQUxJR04JCTQKKworI2RlZmluZSBISUZOX1FVRVVFX0xFTkdUSAkJSElGTl9EX0NNRF9SU0laRS0xCiAKICNkZWZpbmUgQUVTX01JTl9LRVlfU0laRQkJMTYKICNkZWZpbmUgQUVTX01BWF9LRVlfU0laRQkJMzIKQEAgLTUzNSwxMCArNTM2LDEwIEBACiAgKi8KIHN0cnVjdCBoaWZuX21hY19jb21tYW5kCiB7Ci0Jdm9sYXRpbGUgdTE2IAkJbWFza3M7Ci0Jdm9sYXRpbGUgdTE2IAkJaGVhZGVyX3NraXA7Ci0Jdm9sYXRpbGUgdTE2IAkJc291cmNlX2NvdW50OwotCXZvbGF0aWxlIHUxNiAJCXJlc2VydmVkOworCXZvbGF0aWxlIF9fbGUxNiAJbWFza3M7CisJdm9sYXRpbGUgX19sZTE2IAloZWFkZXJfc2tpcDsKKwl2b2xhdGlsZSBfX2xlMTYgCXNvdXJjZV9jb3VudDsKKwl2b2xhdGlsZSBfX2xlMTYgCXJlc2VydmVkOwogfTsKIAogI2RlZmluZQlISUZOX01BQ19DTURfQUxHX01BU0sJCTB4MDAwMQpAQCAtNTY0LDEwICs1NjUsMTAgQEAKIAogc3RydWN0IGhpZm5fY29tcF9jb21tYW5kCiB7Ci0Jdm9sYXRpbGUgdTE2IAkJbWFza3M7Ci0Jdm9sYXRpbGUgdTE2IAkJaGVhZGVyX3NraXA7Ci0Jdm9sYXRpbGUgdTE2IAkJc291cmNlX2NvdW50OwotCXZvbGF0aWxlIHUxNiAJCXJlc2VydmVkOworCXZvbGF0aWxlIF9fbGUxNiAJbWFza3M7CisJdm9sYXRpbGUgX19sZTE2IAloZWFkZXJfc2tpcDsKKwl2b2xhdGlsZSBfX2xlMTYgCXNvdXJjZV9jb3VudDsKKwl2b2xhdGlsZSBfX2xlMTYgCXJlc2VydmVkOwogfTsKIAogI2RlZmluZQlISUZOX0NPTVBfQ01EX1NSQ0xFTl9NCQkweGMwMDAKQEAgLTU4MywxMCArNTg0LDEwIEBACiAKIHN0cnVjdCBoaWZuX2Jhc2VfcmVzdWx0CiB7Ci0Jdm9sYXRpbGUgdTE2IAkJZmxhZ3M7Ci0Jdm9sYXRpbGUgdTE2IAkJc2Vzc2lvbjsKLQl2b2xhdGlsZSB1MTYgCQlzcmNfY250OwkJLyogMTU6MCBvZiBzb3VyY2UgY291bnQgKi8KLQl2b2xhdGlsZSB1MTYgCQlkc3RfY250OwkJLyogMTU6MCBvZiBkZXN0IGNvdW50ICovCisJdm9sYXRpbGUgX19sZTE2IAlmbGFnczsKKwl2b2xhdGlsZSBfX2xlMTYgCXNlc3Npb247CisJdm9sYXRpbGUgX19sZTE2IAlzcmNfY250OwkJLyogMTU6MCBvZiBzb3VyY2UgY291bnQgKi8KKwl2b2xhdGlsZSBfX2xlMTYgCWRzdF9jbnQ7CQkvKiAxNTowIG9mIGRlc3QgY291bnQgKi8KIH07CiAKICNkZWZpbmUJSElGTl9CQVNFX1JFU19EU1RPVkVSUlVOCTB4MDIwMAkvKiBkZXN0aW5hdGlvbiBvdmVycnVuICovCkBAIC01OTcsOCArNTk4LDggQEAKIAogc3RydWN0IGhpZm5fY29tcF9yZXN1bHQKIHsKLQl2b2xhdGlsZSB1MTYgCQlmbGFnczsKLQl2b2xhdGlsZSB1MTYgCQljcmM7CisJdm9sYXRpbGUgX19sZTE2CQlmbGFnczsKKwl2b2xhdGlsZSBfX2xlMTYJCWNyYzsKIH07CiAKICNkZWZpbmUJSElGTl9DT01QX1JFU19MQ0JfTQkJMHhmZjAwCS8qIGxvbmdpdHVkaW5hbCBjaGVjayBieXRlICovCkBAIC02MDksOCArNjEwLDggQEAKIAogc3RydWN0IGhpZm5fbWFjX3Jlc3VsdAogewotCXZvbGF0aWxlIHUxNiAJCWZsYWdzOwotCXZvbGF0aWxlIHUxNiAJCXJlc2VydmVkOworCXZvbGF0aWxlIF9fbGUxNiAJZmxhZ3M7CisJdm9sYXRpbGUgX19sZTE2IAlyZXNlcnZlZDsKIAkvKiBmb2xsb3dlZCBieSAwLCA2LCA4LCBvciAxMCB1MTYncyBvZiB0aGUgTUFDLCB0aGVuIGNyeXB0ICovCiB9OwogCkBAIC02MTksOCArNjIwLDggQEAKIAogc3RydWN0IGhpZm5fY3J5cHRfcmVzdWx0CiB7Ci0Jdm9sYXRpbGUgdTE2IAkJZmxhZ3M7Ci0Jdm9sYXRpbGUgdTE2IAkJcmVzZXJ2ZWQ7CisJdm9sYXRpbGUgX19sZTE2CQlmbGFnczsKKwl2b2xhdGlsZSBfX2xlMTYJCXJlc2VydmVkOwogfTsKIAogI2RlZmluZQlISUZOX0NSWVBUX1JFU19TUkNfTk9UWkVSTwkweDAwMDEJLyogc291cmNlIGV4cGlyZWQgKi8KQEAgLTY4NiwxMiArNjg3LDEyIEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBoaWZuX3dyaXRlXzAoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHUzMiByZWcsIHUzMiB2YWwpCiB7Ci0Jd3JpdGVsKHZhbCwgZGV2LT5iYXJbMF0gKyByZWcpOworCXdyaXRlbCgoX19mb3JjZSB1MzIpY3B1X3RvX2xlMzIodmFsKSwgZGV2LT5iYXJbMF0gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgaGlmbl93cml0ZV8xKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCB1MzIgcmVnLCB1MzIgdmFsKQogewotCXdyaXRlbCh2YWwsIGRldi0+YmFyWzFdICsgcmVnKTsKKwl3cml0ZWwoKF9fZm9yY2UgdTMyKWNwdV90b19sZTMyKHZhbCksIGRldi0+YmFyWzFdICsgcmVnKTsKIH0KIAogc3RhdGljIHZvaWQgaGlmbl93YWl0X3B1YyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldikKQEAgLTg5NCw3ICs4OTUsNyBAQAogCWNoYXIgKm9mZnRibCA9IE5VTEw7CiAJaW50IGk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHBjaTJpZCkvc2l6ZW9mKHBjaTJpZFswXSk7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBjaTJpZCk7IGkrKykgewogCQlpZiAocGNpMmlkW2ldLnBjaV92ZW5kb3IgPT0gZGV2LT5wZGV2LT52ZW5kb3IgJiYKIAkJCQlwY2kyaWRbaV0ucGNpX3Byb2QgPT0gZGV2LT5wZGV2LT5kZXZpY2UpIHsKIAkJCW9mZnRibCA9IHBjaTJpZFtpXS5jYXJkX2lkOwpAQCAtMTAzNywxNCArMTAzOCwxNCBAQAogCWhpZm5fd3JpdGVfMChkZXYsIEhJRk5fMF9QVUlFUiwgSElGTl9QVUlFUl9EU1RPVkVSKTsKIAogCS8qIHdyaXRlIGFsbCA0IHJpbmcgYWRkcmVzcyByZWdpc3RlcnMgKi8KLQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NSQVIsIF9fY3B1X3RvX2xlMzIoZHB0ciArCi0JCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBjbWRyWzBdKSkpOwotCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfU1JBUiwgX19jcHVfdG9fbGUzMihkcHRyICsKLQkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIHNyY3JbMF0pKSk7Ci0JaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9EUkFSLCBfX2NwdV90b19sZTMyKGRwdHIgKwotCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgZHN0clswXSkpKTsKLQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX1JSQVIsIF9fY3B1X3RvX2xlMzIoZHB0ciArCi0JCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCByZXNyWzBdKSkpOworCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1JBUiwgZHB0ciArCisJCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBjbWRyWzBdKSk7CisJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9TUkFSLCBkcHRyICsKKwkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIHNyY3JbMF0pKTsKKwloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0RSQVIsIGRwdHIgKworCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgZHN0clswXSkpOworCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfUlJBUiwgZHB0ciArCisJCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCByZXNyWzBdKSk7CiAKIAltZGVsYXkoMik7CiAjaWYgMApAQCAtMTE2NiwxMDkgKzExNjcsMTUgQEAKIAlyZXR1cm4gY21kX2xlbjsKIH0KIAotc3RhdGljIGludCBoaWZuX3NldHVwX3NyY19kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKLQkJdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IHNpemUpCi17Ci0Jc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7Ci0JaW50IGlkeDsKLQlkbWFfYWRkcl90IGFkZHI7Ci0KLQlhZGRyID0gcGNpX21hcF9wYWdlKGRldi0+cGRldiwgcGFnZSwgb2Zmc2V0LCBzaXplLCBQQ0lfRE1BX1RPREVWSUNFKTsKLQotCWlkeCA9IGRtYS0+c3JjaTsKLQotCWRtYS0+c3JjcltpZHhdLnAgPSBfX2NwdV90b19sZTMyKGFkZHIpOwotCWRtYS0+c3JjcltpZHhdLmwgPSBfX2NwdV90b19sZTMyKHNpemUpIHwgSElGTl9EX1ZBTElEIHwKLQkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9OT0lOVkFMSUQgfCBISUZOX0RfTEFTVDsKLQotCWlmICgrK2lkeCA9PSBISUZOX0RfU1JDX1JTSVpFKSB7Ci0JCWRtYS0+c3JjcltpZHhdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8Ci0JCQkJSElGTl9EX0pVTVAgfAotCQkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKLQkJaWR4ID0gMDsKLQl9Ci0KLQlkbWEtPnNyY2kgPSBpZHg7Ci0JZG1hLT5zcmN1Kys7Ci0KLQlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX1NSQ19CVVNZKSkgewotCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfU19DVFJMX0VOQSk7Ci0JCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX1NSQ19CVVNZOwotCX0KLQotCXJldHVybiBzaXplOwotfQotCi1zdGF0aWMgdm9pZCBoaWZuX3NldHVwX3Jlc19kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2KQotewotCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OwotCi0JZG1hLT5yZXNyW2RtYS0+cmVzaV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9VU0VEX1JFU1VMVCB8Ci0JCQlISUZOX0RfVkFMSUQgfCBISUZOX0RfTEFTVCk7Ci0JLyoKLQkgKiBkbWEtPnJlc3JbZG1hLT5yZXNpXS5sID0gX19jcHVfdG9fbGUzMihISUZOX01BWF9SRVNVTFQgfCBISUZOX0RfVkFMSUQgfAotCSAqCQkJCQlISUZOX0RfTEFTVCB8IEhJRk5fRF9OT0lOVkFMSUQpOwotCSAqLwotCi0JaWYgKCsrZG1hLT5yZXNpID09IEhJRk5fRF9SRVNfUlNJWkUpIHsKLQkJZG1hLT5yZXNyW0hJRk5fRF9SRVNfUlNJWkVdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8Ci0JCQkJSElGTl9EX0pVTVAgfCBISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTEFTVCk7Ci0JCWRtYS0+cmVzaSA9IDA7Ci0JfQotCi0JZG1hLT5yZXN1Kys7Ci0KLQlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX1JFU19CVVNZKSkgewotCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfUl9DVFJMX0VOQSk7Ci0JCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX1JFU19CVVNZOwotCX0KLX0KLQotc3RhdGljIHZvaWQgaGlmbl9zZXR1cF9kc3RfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnBhZ2UsCi0JCXVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgc2l6ZSkKLXsKLQlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKLQlpbnQgaWR4OwotCWRtYV9hZGRyX3QgYWRkcjsKLQotCWFkZHIgPSBwY2lfbWFwX3BhZ2UoZGV2LT5wZGV2LCBwYWdlLCBvZmZzZXQsIHNpemUsIFBDSV9ETUFfRlJPTURFVklDRSk7Ci0KLQlpZHggPSBkbWEtPmRzdGk7Ci0JZG1hLT5kc3RyW2lkeF0ucCA9IF9fY3B1X3RvX2xlMzIoYWRkcik7Ci0JZG1hLT5kc3RyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoc2l6ZSB8CUhJRk5fRF9WQUxJRCB8Ci0JCQlISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTk9JTlZBTElEIHwgSElGTl9EX0xBU1QpOwotCi0JaWYgKCsraWR4ID09IEhJRk5fRF9EU1RfUlNJWkUpIHsKLQkJZG1hLT5kc3RyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKLQkJCQlISUZOX0RfSlVNUCB8IEhJRk5fRF9NQVNLRE9ORUlSUSB8Ci0JCQkJSElGTl9EX0xBU1QgfCBISUZOX0RfTk9JTlZBTElEKTsKLQkJaWR4ID0gMDsKLQl9Ci0JZG1hLT5kc3RpID0gaWR4OwotCWRtYS0+ZHN0dSsrOwotCi0JaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19EU1RfQlVTWSkpIHsKLQkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX0RfQ1RSTF9FTkEpOwotCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19EU1RfQlVTWTsKLQl9Ci19Ci0KLXN0YXRpYyBpbnQgaGlmbl9zZXR1cF9kbWEoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpzcGFnZSwgdW5zaWduZWQgaW50IHNvZmYsCi0JCXN0cnVjdCBwYWdlICpkcGFnZSwgdW5zaWduZWQgaW50IGRvZmYsIHVuc2lnbmVkIGludCBuYnl0ZXMsIHZvaWQgKnByaXYsCi0JCXN0cnVjdCBoaWZuX2NvbnRleHQgKmN0eCkKK3N0YXRpYyBpbnQgaGlmbl9zZXR1cF9jbWRfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwKKwkJc3RydWN0IGhpZm5fY29udGV4dCAqY3R4LCB2b2lkICpwcml2LCB1bnNpZ25lZCBpbnQgbmJ5dGVzKQogewogCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OwogCWludCBjbWRfbGVuLCBzYV9pZHg7CiAJdTggKmJ1ZiwgKmJ1Zl9wb3M7CiAJdTE2IG1hc2s7CiAKLQlkcHJpbnRrKCIlczogc3BhZ2U6ICVwLCBzb2Zmc2V0OiAldSwgZHBhZ2U6ICVwLCBkb2Zmc2V0OiAldSwgbmJ5dGVzOiAldSwgcHJpdjogJXAsIGN0eDogJXAuXG4iLAotCQkJZGV2LT5uYW1lLCBzcGFnZSwgc29mZiwgZHBhZ2UsIGRvZmYsIG5ieXRlcywgcHJpdiwgY3R4KTsKLQotCXNhX2lkeCA9IGRtYS0+cmVzaTsKLQotCWhpZm5fc2V0dXBfc3JjX2Rlc2MoZGV2LCBzcGFnZSwgc29mZiwgbmJ5dGVzKTsKLQorCXNhX2lkeCA9IGRtYS0+Y21kaTsKIAlidWZfcG9zID0gYnVmID0gZG1hLT5jb21tYW5kX2J1ZnNbZG1hLT5jbWRpXTsKIAogCW1hc2sgPSAwOwpAQCAtMTM3MCwxNiArMTI3NywxMTMgQEAKIAkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX0NfQ1RSTF9FTkEpOwogCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19DTURfQlVTWTsKIAl9Ci0KLQloaWZuX3NldHVwX2RzdF9kZXNjKGRldiwgZHBhZ2UsIGRvZmYsIG5ieXRlcyk7Ci0JaGlmbl9zZXR1cF9yZXNfZGVzYyhkZXYpOwotCiAJcmV0dXJuIDA7CiAKIGVycl9vdXQ6CiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAKK3N0YXRpYyBpbnQgaGlmbl9zZXR1cF9zcmNfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnBhZ2UsCisJCXVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBzaXplKQoreworCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OworCWludCBpZHg7CisJZG1hX2FkZHJfdCBhZGRyOworCisJYWRkciA9IHBjaV9tYXBfcGFnZShkZXYtPnBkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgUENJX0RNQV9UT0RFVklDRSk7CisKKwlpZHggPSBkbWEtPnNyY2k7CisKKwlkbWEtPnNyY3JbaWR4XS5wID0gX19jcHVfdG9fbGUzMihhZGRyKTsKKwlkbWEtPnNyY3JbaWR4XS5sID0gX19jcHVfdG9fbGUzMihzaXplIHwgSElGTl9EX1ZBTElEIHwKKwkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKKworCWlmICgrK2lkeCA9PSBISUZOX0RfU1JDX1JTSVpFKSB7CisJCWRtYS0+c3JjcltpZHhdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8CisJCQkJSElGTl9EX0pVTVAgfAorCQkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKKwkJaWR4ID0gMDsKKwl9CisKKwlkbWEtPnNyY2kgPSBpZHg7CisJZG1hLT5zcmN1Kys7CisKKwlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX1NSQ19CVVNZKSkgeworCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfU19DVFJMX0VOQSk7CisJCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX1NSQ19CVVNZOworCX0KKworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgdm9pZCBoaWZuX3NldHVwX3Jlc19kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OworCisJZG1hLT5yZXNyW2RtYS0+cmVzaV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9VU0VEX1JFU1VMVCB8CisJCQlISUZOX0RfVkFMSUQgfCBISUZOX0RfTEFTVCk7CisJLyoKKwkgKiBkbWEtPnJlc3JbZG1hLT5yZXNpXS5sID0gX19jcHVfdG9fbGUzMihISUZOX01BWF9SRVNVTFQgfCBISUZOX0RfVkFMSUQgfAorCSAqCQkJCQlISUZOX0RfTEFTVCk7CisJICovCisKKwlpZiAoKytkbWEtPnJlc2kgPT0gSElGTl9EX1JFU19SU0laRSkgeworCQlkbWEtPnJlc3JbSElGTl9EX1JFU19SU0laRV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKKwkJCQlISUZOX0RfSlVNUCB8IEhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKKwkJZG1hLT5yZXNpID0gMDsKKwl9CisKKwlkbWEtPnJlc3UrKzsKKworCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfUkVTX0JVU1kpKSB7CisJCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9SX0NUUkxfRU5BKTsKKwkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfUkVTX0JVU1k7CisJfQorfQorCitzdGF0aWMgdm9pZCBoaWZuX3NldHVwX2RzdF9kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBzaXplKQoreworCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OworCWludCBpZHg7CisJZG1hX2FkZHJfdCBhZGRyOworCisJYWRkciA9IHBjaV9tYXBfcGFnZShkZXYtPnBkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgUENJX0RNQV9GUk9NREVWSUNFKTsKKworCWlkeCA9IGRtYS0+ZHN0aTsKKwlkbWEtPmRzdHJbaWR4XS5wID0gX19jcHVfdG9fbGUzMihhZGRyKTsKKwlkbWEtPmRzdHJbaWR4XS5sID0gX19jcHVfdG9fbGUzMihzaXplIHwJSElGTl9EX1ZBTElEIHwKKwkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKKworCWlmICgrK2lkeCA9PSBISUZOX0RfRFNUX1JTSVpFKSB7CisJCWRtYS0+ZHN0cltpZHhdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8CisJCQkJSElGTl9EX0pVTVAgfCBISUZOX0RfTUFTS0RPTkVJUlEgfAorCQkJCUhJRk5fRF9MQVNUKTsKKwkJaWR4ID0gMDsKKwl9CisJZG1hLT5kc3RpID0gaWR4OworCWRtYS0+ZHN0dSsrOworCisJaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19EU1RfQlVTWSkpIHsKKwkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX0RfQ1RSTF9FTkEpOworCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19EU1RfQlVTWTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgaGlmbl9zZXR1cF9kbWEoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpzcGFnZSwgdW5zaWduZWQgaW50IHNvZmYsCisJCXN0cnVjdCBwYWdlICpkcGFnZSwgdW5zaWduZWQgaW50IGRvZmYsIHVuc2lnbmVkIGludCBuYnl0ZXMsIHZvaWQgKnByaXYsCisJCXN0cnVjdCBoaWZuX2NvbnRleHQgKmN0eCkKK3sKKwlkcHJpbnRrKCIlczogc3BhZ2U6ICVwLCBzb2Zmc2V0OiAldSwgZHBhZ2U6ICVwLCBkb2Zmc2V0OiAldSwgbmJ5dGVzOiAldSwgcHJpdjogJXAsIGN0eDogJXAuXG4iLAorCQkJZGV2LT5uYW1lLCBzcGFnZSwgc29mZiwgZHBhZ2UsIGRvZmYsIG5ieXRlcywgcHJpdiwgY3R4KTsKKworCWhpZm5fc2V0dXBfc3JjX2Rlc2MoZGV2LCBzcGFnZSwgc29mZiwgbmJ5dGVzKTsKKwloaWZuX3NldHVwX2NtZF9kZXNjKGRldiwgY3R4LCBwcml2LCBuYnl0ZXMpOworCWhpZm5fc2V0dXBfZHN0X2Rlc2MoZGV2LCBkcGFnZSwgZG9mZiwgbmJ5dGVzKTsKKwloaWZuX3NldHVwX3Jlc19kZXNjKGRldik7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgYWJsa2NpcGhlcl93YWxrX2luaXQoc3RydWN0IGFibGtjaXBoZXJfd2FsayAqdywKIAkJaW50IG51bSwgZ2ZwX3QgZ2ZwX2ZsYWdzKQogewpAQCAtMTQzMSw3ICsxNDM1LDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAl3aGlsZSAoc2l6ZSkgewotCQljb3B5ID0gbWluKGRyZXN0LCBzcmMtPmxlbmd0aCk7CisJCWNvcHkgPSBtaW4oZHJlc3QsIG1pbihzaXplLCBzcmMtPmxlbmd0aCkpOwogCiAJCXNhZGRyID0ga21hcF9hdG9taWMoc2dfcGFnZShzcmMpLCBLTV9TT0ZUSVJRMSk7CiAJCW1lbWNweShkYWRkciwgc2FkZHIgKyBzcmMtPm9mZnNldCwgY29weSk7CkBAIC0xNDU4LDEwICsxNDYyLDYgQEAKIHN0YXRpYyBpbnQgYWJsa2NpcGhlcl93YWxrKHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSwKIAkJc3RydWN0IGFibGtjaXBoZXJfd2FsayAqdykKIHsKLQl1bnNpZ25lZCBibG9ja3NpemUgPQotCQljcnlwdG9fYWJsa2NpcGhlcl9ibG9ja3NpemUoY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSkpOwotCXVuc2lnbmVkIGFsaWdubWFzayA9Ci0JCWNyeXB0b19hYmxrY2lwaGVyX2FsaWdubWFzayhjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKSk7CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsICpkc3QsICp0OwogCXZvaWQgKmRhZGRyOwogCXVuc2lnbmVkIGludCBuYnl0ZXMgPSByZXEtPm5ieXRlcywgb2Zmc2V0LCBjb3B5LCBkaWZmOwpAQCAtMTQ3NywxNiArMTQ3NywxNCBAQAogCQlkc3QgPSAmcmVxLT5kc3RbaWR4XTsKIAogCQlkcHJpbnRrKCJcbiVzOiBzbGVuOiAldSwgZGxlbjogJXUsIHNvZmY6ICV1LCBkb2ZmOiAldSwgb2Zmc2V0OiAldSwgIgotCQkJCSJibG9ja3NpemU6ICV1LCBuYnl0ZXM6ICV1LlxuIiwKKwkJCQkibmJ5dGVzOiAldS5cbiIsCiAJCQkJX19mdW5jX18sIHNyYy0+bGVuZ3RoLCBkc3QtPmxlbmd0aCwgc3JjLT5vZmZzZXQsCi0JCQkJZHN0LT5vZmZzZXQsIG9mZnNldCwgYmxvY2tzaXplLCBuYnl0ZXMpOworCQkJCWRzdC0+b2Zmc2V0LCBvZmZzZXQsIG5ieXRlcyk7CiAKLQkJaWYgKHNyYy0+bGVuZ3RoICYgKGJsb2Nrc2l6ZSAtIDEpIHx8Ci0JCQkJc3JjLT5vZmZzZXQgJiAoYWxpZ25tYXNrIC0gMSkgfHwKLQkJCQlkc3QtPmxlbmd0aCAmIChibG9ja3NpemUgLSAxKSB8fAotCQkJCWRzdC0+b2Zmc2V0ICYgKGFsaWdubWFzayAtIDEpIHx8Ci0JCQkJb2Zmc2V0KSB7Ci0JCQl1bnNpZ25lZCBzbGVuID0gc3JjLT5sZW5ndGggLSBvZmZzZXQ7CisJCWlmICghSVNfQUxJR05FRChkc3QtPm9mZnNldCwgSElGTl9EX0RTVF9EQUxJR04pIHx8CisJCSAgICAhSVNfQUxJR05FRChkc3QtPmxlbmd0aCwgSElGTl9EX0RTVF9EQUxJR04pIHx8CisJCSAgICBvZmZzZXQpIHsKKwkJCXVuc2lnbmVkIHNsZW4gPSBtaW4oc3JjLT5sZW5ndGggLSBvZmZzZXQsIG5ieXRlcyk7CiAJCQl1bnNpZ25lZCBkbGVuID0gUEFHRV9TSVpFOwogCiAJCQl0ID0gJnctPmNhY2hlW2lkeF07CkBAIC0xNDk4LDggKzE0OTYsOCBAQAogCiAJCQlpZHggKz0gZXJyOwogCi0JCQljb3B5ID0gc2xlbiAmIH4oYmxvY2tzaXplIC0gMSk7Ci0JCQlkaWZmID0gc2xlbiAmIChibG9ja3NpemUgLSAxKTsKKwkJCWNvcHkgPSBzbGVuICYgfihISUZOX0RfRFNUX0RBTElHTiAtIDEpOworCQkJZGlmZiA9IHNsZW4gJiAoSElGTl9EX0RTVF9EQUxJR04gLSAxKTsKIAogCQkJaWYgKGRsZW4gPCBuYnl0ZXMpIHsKIAkJCQkvKgpAQCAtMTUwNyw3ICsxNTA1LDcgQEAKIAkJCQkgKiB0byBwdXQgdGhlcmUgYWRkaXRpb25hbCBibG9ja3NpemVkIGNodW5rLAogCQkJCSAqIHNvIHdlIG1hcmsgdGhhdCBwYWdlIGFzIGNvbnRhaW5pbmcgb25seQogCQkJCSAqIGJsb2Nrc2l6ZSBhbGlnbmVkIGNodW5rczoKLQkJCQkgKiAJdC0+bGVuZ3RoID0gKHNsZW4gJiB+KGJsb2Nrc2l6ZSAtIDEpKTsKKwkJCQkgKiAJdC0+bGVuZ3RoID0gKHNsZW4gJiB+KEhJRk5fRF9EU1RfREFMSUdOIC0gMSkpOwogCQkJCSAqIGFuZCBpbmNyZWFzZSBudW1iZXIgb2YgYnl0ZXMgdG8gYmUgcHJvY2Vzc2VkCiAJCQkJICogaW4gbmV4dCBjaHVuazoKIAkJCQkgKiAJbmJ5dGVzICs9IGRpZmY7CkBAIC0xNTQ0LDcgKzE1NDIsNyBAQAogCiAJCQlrdW5tYXBfYXRvbWljKGRhZGRyLCBLTV9TT0ZUSVJRMCk7CiAJCX0gZWxzZSB7Ci0JCQluYnl0ZXMgLT0gc3JjLT5sZW5ndGg7CisJCQluYnl0ZXMgLT0gbWluKHNyYy0+bGVuZ3RoLCBuYnl0ZXMpOwogCQkJaWR4Kys7CiAJCX0KIApAQCAtMTU2MywxNCArMTU2MSwxMCBAQAogCXN0cnVjdCBoaWZuX2NvbnRleHQgKmN0eCA9IGNyeXB0b190Zm1fY3R4KHJlcS0+YmFzZS50Zm0pOwogCXN0cnVjdCBoaWZuX2RldmljZSAqZGV2ID0gY3R4LT5kZXY7CiAJc3RydWN0IHBhZ2UgKnNwYWdlLCAqZHBhZ2U7Ci0JdW5zaWduZWQgbG9uZyBzb2ZmLCBkb2ZmLCBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNvZmYsIGRvZmYsIGRsZW4sIGZsYWdzOwogCXVuc2lnbmVkIGludCBuYnl0ZXMgPSByZXEtPm5ieXRlcywgaWR4ID0gMCwgbGVuOwogCWludCBlcnIgPSAtRUlOVkFMLCBzZ19udW07CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsICpkc3QsICp0OwotCXVuc2lnbmVkIGJsb2Nrc2l6ZSA9Ci0JCWNyeXB0b19hYmxrY2lwaGVyX2Jsb2Nrc2l6ZShjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKSk7Ci0JdW5zaWduZWQgYWxpZ25tYXNrID0KLQkJY3J5cHRvX2FibGtjaXBoZXJfYWxpZ25tYXNrKGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpKTsKIAogCWlmIChjdHgtPml2ICYmICFjdHgtPml2c2l6ZSAmJiBjdHgtPm1vZGUgIT0gQUNSWVBUT19NT0RFX0VDQikKIAkJZ290byBlcnJfb3V0X2V4aXQ7CkBAIC0xNTc4LDE3ICsxNTcyLDE0IEBACiAJY3R4LT53YWxrLmZsYWdzID0gMDsKIAogCXdoaWxlIChuYnl0ZXMpIHsKLQkJc3JjID0gJnJlcS0+c3JjW2lkeF07CiAJCWRzdCA9ICZyZXEtPmRzdFtpZHhdOworCQlkbGVuID0gbWluKGRzdC0+bGVuZ3RoLCBuYnl0ZXMpOwogCi0JCWlmIChzcmMtPmxlbmd0aCAmIChibG9ja3NpemUgLSAxKSB8fAotCQkJCXNyYy0+b2Zmc2V0ICYgKGFsaWdubWFzayAtIDEpIHx8Ci0JCQkJZHN0LT5sZW5ndGggJiAoYmxvY2tzaXplIC0gMSkgfHwKLQkJCQlkc3QtPm9mZnNldCAmIChhbGlnbm1hc2sgLSAxKSkgeworCQlpZiAoIUlTX0FMSUdORUQoZHN0LT5vZmZzZXQsIEhJRk5fRF9EU1RfREFMSUdOKSB8fAorCQkgICAgIUlTX0FMSUdORUQoZGxlbiwgSElGTl9EX0RTVF9EQUxJR04pKQogCQkJY3R4LT53YWxrLmZsYWdzIHw9IEFTWU5DX0ZMQUdTX01JU0FMSUdORUQ7Ci0JCX0KIAotCQluYnl0ZXMgLT0gc3JjLT5sZW5ndGg7CisJCW5ieXRlcyAtPSBkbGVuOwogCQlpZHgrKzsKIAl9CiAKQEAgLTE2MDIsNyArMTU5MywxMCBAQAogCWlkeCA9IDA7CiAKIAlzZ19udW0gPSBhYmxrY2lwaGVyX3dhbGsocmVxLCAmY3R4LT53YWxrKTsKLQorCWlmIChzZ19udW0gPCAwKSB7CisJCWVyciA9IHNnX251bTsKKwkJZ290byBlcnJfb3V0X2V4aXQ7CisJfQogCWF0b21pY19zZXQoJmN0eC0+c2dfbnVtLCBzZ19udW0pOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+bG9jaywgZmxhZ3MpOwpAQCAtMTY0MCw3ICsxNjM0LDcgQEAKIAkJaWYgKGVycikKIAkJCWdvdG8gZXJyX291dDsKIAotCQluYnl0ZXMgLT0gbGVuOworCQluYnl0ZXMgLT0gbWluKGxlbiwgbmJ5dGVzKTsKIAl9CiAKIAlkZXYtPmFjdGl2ZSA9IEhJRk5fREVGQVVMVF9BQ1RJVkVfTlVNOwpAQCAtMTY1MSw3ICsxNjQ1LDcgQEAKIGVycl9vdXQ6CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5sb2NrLCBmbGFncyk7CiBlcnJfb3V0X2V4aXQ6Ci0JaWYgKGVyciAmJiBwcmludGtfcmF0ZWxpbWl0KCkpCisJaWYgKGVycikKIAkJZHByaW50aygiJXM6IGl2OiAlcCBbJWRdLCBrZXk6ICVwIFslZF0sIG1vZGU6ICV1LCBvcDogJXUsICIKIAkJCQkidHlwZTogJXUsIGVycjogJWQuXG4iLAogCQkJZGV2LT5uYW1lLCBjdHgtPml2LCBjdHgtPml2c2l6ZSwKQEAgLTE3NDUsOCArMTczOSw3IEBACiAJCXJldHVybiAtRUlOVkFMOwogCiAJd2hpbGUgKHNpemUpIHsKLQotCQljb3B5ID0gbWluKGRzdC0+bGVuZ3RoLCBzcmVzdCk7CisJCWNvcHkgPSBtaW4oc3Jlc3QsIG1pbihkc3QtPmxlbmd0aCwgc2l6ZSkpOwogCiAJCWRhZGRyID0ga21hcF9hdG9taWMoc2dfcGFnZShkc3QpLCBLTV9JUlEwKTsKIAkJbWVtY3B5KGRhZGRyICsgZHN0LT5vZmZzZXQgKyBvZmZzZXQsIHNhZGRyLCBjb3B5KTsKQEAgLTE4MDMsNyArMTc5Niw3IEBACiAJCQkJCXNnX3BhZ2UoZHN0KSwgZHN0LT5sZW5ndGgsIG5ieXRlcyk7CiAKIAkJCQlpZiAoIXQtPmxlbmd0aCkgewotCQkJCQluYnl0ZXMgLT0gZHN0LT5sZW5ndGg7CisJCQkJCW5ieXRlcyAtPSBtaW4oZHN0LT5sZW5ndGgsIG5ieXRlcyk7CiAJCQkJCWlkeCsrOwogCQkJCQljb250aW51ZTsKIAkJCQl9CkBAIC0yMjAyLDkgKzIxOTUsOSBAQAogCQlyZXR1cm4gZXJyOwogCiAJaWYgKGRldi0+c3RhcnRlZCA8IEhJRk5fUVVFVUVfTEVOR1RIICYmCWRldi0+cXVldWUucWxlbikKLQkJZXJyID0gaGlmbl9wcm9jZXNzX3F1ZXVlKGRldik7CisJCWhpZm5fcHJvY2Vzc19xdWV1ZShkZXYpOwogCi0JcmV0dXJuIGVycjsKKwlyZXR1cm4gLUVJTlBST0dSRVNTOwogfQogCiAvKgpAQCAtMjM2NCw3ICsyMzU3LDcgQEAKIAkgKiAzREVTIEVDQiwgQ0JDLCBDRkIgYW5kIE9GQiBtb2Rlcy4KIAkgKi8KIAl7Ci0JCS5uYW1lID0gImNmYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiaGlmbi0zZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiY2ZiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJjZmItM2RlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKQEAgLTIzNzQsNyArMjM2Nyw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gIm9mYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiaGlmbi0zZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAib2ZiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJvZmItM2RlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKQEAgLTIzODQsOCArMjM3Nyw5IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImNiYyhkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiaGlmbi0zZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiY2JjKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJjYmMtM2RlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0geworCQkJLml2c2l6ZQkJPQlISUZOX0lWX0xFTkdUSCwKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkuc2V0a2V5CQk9CWhpZm5fc2V0a2V5LApAQCAtMjM5NCw3ICsyMzg4LDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiZWNiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJoaWZuLTNkZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJlY2IoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImVjYi0zZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILApAQCAtMjQwOCw3ICsyNDAyLDcgQEAKIAkgKiBERVMgRUNCLCBDQkMsIENGQiBhbmQgT0ZCIG1vZGVzLgogCSAqLwogCXsKLQkJLm5hbWUgPSAiY2ZiKGRlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1kZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJjZmIoZGVzKSIsIC5kcnZfbmFtZSA9ICJjZmItZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKQEAgLTI0MTgsNyArMjQxMiw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gIm9mYihkZXMpIiwgLmRydl9uYW1lID0gImhpZm4tZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAib2ZiKGRlcykiLCAuZHJ2X25hbWUgPSAib2ZiLWRlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCkBAIC0yNDI4LDggKzI0MjIsOSBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJjYmMoZGVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWRlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImNiYyhkZXMpIiwgLmRydl9uYW1lID0gImNiYy1kZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKKwkJCS5pdnNpemUJCT0JSElGTl9JVl9MRU5HVEgsCiAJCQkubWluX2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKIAkJCS5zZXRrZXkJCT0JaGlmbl9zZXRrZXksCkBAIC0yNDM4LDcgKzI0MzMsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJlY2IoZGVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWRlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImVjYihkZXMpIiwgLmRydl9uYW1lID0gImVjYi1kZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILApAQCAtMjQ1Miw3ICsyNDQ3LDcgQEAKIAkgKiBBRVMgRUNCLCBDQkMsIENGQiBhbmQgT0ZCIG1vZGVzLgogCSAqLwogCXsKLQkJLm5hbWUgPSAiZWNiKGFlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1hZXMiLCAuYnNpemUgPSAxNiwKKwkJLm5hbWUgPSAiZWNiKGFlcykiLCAuZHJ2X25hbWUgPSAiZWNiLWFlcyIsIC5ic2l6ZSA9IDE2LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUFFU19NSU5fS0VZX1NJWkUsCiAJCQkubWF4X2tleXNpemUJPQlBRVNfTUFYX0tFWV9TSVpFLApAQCAtMjQ2Miw4ICsyNDU3LDkgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiY2JjKGFlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1hZXMiLCAuYnNpemUgPSAxNiwKKwkJLm5hbWUgPSAiY2JjKGFlcykiLCAuZHJ2X25hbWUgPSAiY2JjLWFlcyIsIC5ic2l6ZSA9IDE2LAogCQkuYWJsa2NpcGhlciA9IHsKKwkJCS5pdnNpemUJCT0JSElGTl9BRVNfSVZfTEVOR1RILAogCQkJLm1pbl9rZXlzaXplCT0JQUVTX01JTl9LRVlfU0laRSwKIAkJCS5tYXhfa2V5c2l6ZQk9CUFFU19NQVhfS0VZX1NJWkUsCiAJCQkuc2V0a2V5CQk9CWhpZm5fc2V0a2V5LApAQCAtMjQ3Miw3ICsyNDY4LDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiY2ZiKGFlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1hZXMiLCAuYnNpemUgPSAxNiwKKwkJLm5hbWUgPSAiY2ZiKGFlcykiLCAuZHJ2X25hbWUgPSAiY2ZiLWFlcyIsIC5ic2l6ZSA9IDE2LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUFFU19NSU5fS0VZX1NJWkUsCiAJCQkubWF4X2tleXNpemUJPQlBRVNfTUFYX0tFWV9TSVpFLApAQCAtMjQ4Miw3ICsyNDc4LDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAib2ZiKGFlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1hZXMiLCAuYnNpemUgPSAxNiwKKwkJLm5hbWUgPSAib2ZiKGFlcykiLCAuZHJ2X25hbWUgPSAib2ZiLWFlcyIsIC5ic2l6ZSA9IDE2LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUFFU19NSU5fS0VZX1NJWkUsCiAJCQkubWF4X2tleXNpemUJPQlBRVNfTUFYX0tFWV9TSVpFLApAQCAtMjUxNCwxNSArMjUxMCwxNCBAQAogCQlyZXR1cm4gLUVOT01FTTsKIAogCXNucHJpbnRmKGFsZy0+YWxnLmNyYV9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLCAiJXMiLCB0LT5uYW1lKTsKLQlzbnByaW50ZihhbGctPmFsZy5jcmFfZHJpdmVyX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcyIsIHQtPmRydl9uYW1lKTsKKwlzbnByaW50ZihhbGctPmFsZy5jcmFfZHJpdmVyX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcy0lcyIsCisJCSB0LT5kcnZfbmFtZSwgZGV2LT5uYW1lKTsKIAogCWFsZy0+YWxnLmNyYV9wcmlvcml0eSA9IDMwMDsKIAlhbGctPmFsZy5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQUJMS0NJUEhFUiB8IENSWVBUT19BTEdfQVNZTkM7CiAJYWxnLT5hbGcuY3JhX2Jsb2Nrc2l6ZSA9IHQtPmJzaXplOwogCWFsZy0+YWxnLmNyYV9jdHhzaXplID0gc2l6ZW9mKHN0cnVjdCBoaWZuX2NvbnRleHQpOwotCWFsZy0+YWxnLmNyYV9hbGlnbm1hc2sgPSAxNTsKLQlpZiAodC0+YnNpemUgPT0gOCkKLQkJYWxnLT5hbGcuY3JhX2FsaWdubWFzayA9IDM7CisJYWxnLT5hbGcuY3JhX2FsaWdubWFzayA9IDA7CiAJYWxnLT5hbGcuY3JhX3R5cGUgPSAmY3J5cHRvX2FibGtjaXBoZXJfdHlwZTsKIAlhbGctPmFsZy5jcmFfbW9kdWxlID0gVEhJU19NT0RVTEU7CiAJYWxnLT5hbGcuY3JhX3UuYWJsa2NpcGhlciA9IHQtPmFibGtjaXBoZXI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9peHA0eHhfY3J5cHRvLmMgYi9kcml2ZXJzL2NyeXB0by9peHA0eHhfY3J5cHRvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJhMTA3ZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvY3J5cHRvL2l4cDR4eF9jcnlwdG8uYwpAQCAtMCwwICsxLDE1MDYgQEAKKy8qCisgKiBJbnRlbCBJWFA0eHggTlBFLUMgY3J5cHRvIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBDaHJpc3RpYW4gSG9obnN0YWVkdCA8Y2hvaG5zdGFlZHRAaW5ub21pbmF0ZS5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB2ZXJzaW9uIDIgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZG1hcG9vbC5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKKyNpbmNsdWRlIDxjcnlwdG8vY3RyLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2Rlcy5oPgorI2luY2x1ZGUgPGNyeXB0by9hZXMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2hhLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGNyeXB0by9hZWFkLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2F1dGhlbmMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2NhdHRlcndhbGsuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL25wZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3FtZ3IuaD4KKworI2RlZmluZSBNQVhfS0VZTEVOIDMyCisKKy8qIGhhc2g6IGNmZ3dvcmQgKyAyICogZGlnZXN0bGVuOyBjcnlwdDoga2V5bGVuICsgY2Znd29yZCAqLworI2RlZmluZSBOUEVfQ1RYX0xFTiA4MAorI2RlZmluZSBBRVNfQkxPQ0sxMjggMTYKKworI2RlZmluZSBOUEVfT1BfSEFTSF9WRVJJRlkgICAweDAxCisjZGVmaW5lIE5QRV9PUF9DQ01fRU5BQkxFICAgIDB4MDQKKyNkZWZpbmUgTlBFX09QX0NSWVBUX0VOQUJMRSAgMHgwOAorI2RlZmluZSBOUEVfT1BfSEFTSF9FTkFCTEUgICAweDEwCisjZGVmaW5lIE5QRV9PUF9OT1RfSU5fUExBQ0UgIDB4MjAKKyNkZWZpbmUgTlBFX09QX0hNQUNfRElTQUJMRSAgMHg0MAorI2RlZmluZSBOUEVfT1BfQ1JZUFRfRU5DUllQVCAweDgwCisKKyNkZWZpbmUgTlBFX09QX0NDTV9HRU5fTUlDICAgMHhjYworI2RlZmluZSBOUEVfT1BfSEFTSF9HRU5fSUNWICAweDUwCisjZGVmaW5lIE5QRV9PUF9FTkNfR0VOX0tFWSAgIDB4YzkKKworI2RlZmluZSBNT0RfRUNCICAgICAweDAwMDAKKyNkZWZpbmUgTU9EX0NUUiAgICAgMHgxMDAwCisjZGVmaW5lIE1PRF9DQkNfRU5DIDB4MjAwMAorI2RlZmluZSBNT0RfQ0JDX0RFQyAweDMwMDAKKyNkZWZpbmUgTU9EX0NDTV9FTkMgMHg0MDAwCisjZGVmaW5lIE1PRF9DQ01fREVDIDB4NTAwMAorCisjZGVmaW5lIEtFWUxFTl8xMjggIDQKKyNkZWZpbmUgS0VZTEVOXzE5MiAgNgorI2RlZmluZSBLRVlMRU5fMjU2ICA4CisKKyNkZWZpbmUgQ0lQSF9ERUNSICAgMHgwMDAwCisjZGVmaW5lIENJUEhfRU5DUiAgIDB4MDQwMAorCisjZGVmaW5lIE1PRF9ERVMgICAgIDB4MDAwMAorI2RlZmluZSBNT0RfVERFQTIgICAweDAxMDAKKyNkZWZpbmUgTU9EXzNERVMgICAweDAyMDAKKyNkZWZpbmUgTU9EX0FFUyAgICAgMHgwODAwCisjZGVmaW5lIE1PRF9BRVMxMjggICgweDA4MDAgfCBLRVlMRU5fMTI4KQorI2RlZmluZSBNT0RfQUVTMTkyICAoMHgwOTAwIHwgS0VZTEVOXzE5MikKKyNkZWZpbmUgTU9EX0FFUzI1NiAgKDB4MGEwMCB8IEtFWUxFTl8yNTYpCisKKyNkZWZpbmUgTUFYX0lWTEVOICAgMTYKKyNkZWZpbmUgTlBFX0lEICAgICAgMiAgLyogTlBFIEMgKi8KKyNkZWZpbmUgTlBFX1FMRU4gICAgMTYKKy8qIFNwYWNlIGZvciByZWdpc3RlcmluZyB3aGVuIHRoZSBmaXJzdAorICogTlBFX1FMRU4gY3J5cHRfY3RsIGFyZSBidXN5ICovCisjZGVmaW5lIE5QRV9RTEVOX1RPVEFMIDY0CisKKyNkZWZpbmUgU0VORF9RSUQgICAgMjkKKyNkZWZpbmUgUkVDVl9RSUQgICAgMzAKKworI2RlZmluZSBDVExfRkxBR19VTlVTRUQJCTB4MDAwMAorI2RlZmluZSBDVExfRkxBR19VU0VECQkweDEwMDAKKyNkZWZpbmUgQ1RMX0ZMQUdfUEVSRk9STV9BQkxLCTB4MDAwMQorI2RlZmluZSBDVExfRkxBR19HRU5fSUNWCTB4MDAwMgorI2RlZmluZSBDVExfRkxBR19HRU5fUkVWQUVTCTB4MDAwNAorI2RlZmluZSBDVExfRkxBR19QRVJGT1JNX0FFQUQJMHgwMDA4CisjZGVmaW5lIENUTF9GTEFHX01BU0sJCTB4MDAwZgorCisjZGVmaW5lIEhNQUNfSVBBRF9WQUxVRSAgIDB4MzYKKyNkZWZpbmUgSE1BQ19PUEFEX1ZBTFVFICAgMHg1QworI2RlZmluZSBITUFDX1BBRF9CTE9DS0xFTiBTSEExX0JMT0NLX1NJWkUKKworI2RlZmluZSBNRDVfRElHRVNUX1NJWkUgICAxNgorCitzdHJ1Y3QgYnVmZmVyX2Rlc2MgeworCXUzMiBwaHlzX25leHQ7CisJdTE2IGJ1Zl9sZW47CisJdTE2IHBrdF9sZW47CisJdTMyIHBoeXNfYWRkcjsKKwl1MzIgX19yZXNlcnZlZFs0XTsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKm5leHQ7Cit9OworCitzdHJ1Y3QgY3J5cHRfY3RsIHsKKwl1OCBtb2RlOwkJLyogTlBFX09QXyogIG9wZXJhdGlvbiBtb2RlICovCisJdTggaW5pdF9sZW47CisJdTE2IHJlc2VydmVkOworCXU4IGl2W01BWF9JVkxFTl07CS8qIElWIGZvciBDQkMgbW9kZSBvciBDVFIgSVYgZm9yIENUUiBtb2RlICovCisJdTMyIGljdl9yZXZfYWVzOwkvKiBpY3Ygb3IgcmV2IGFlcyAqLworCXUzMiBzcmNfYnVmOworCXUzMiBkc3RfYnVmOworCXUxNiBhdXRoX29mZnM7CQkvKiBBdXRoZW50aWNhdGlvbiBzdGFydCBvZmZzZXQgKi8KKwl1MTYgYXV0aF9sZW47CQkvKiBBdXRoZW50aWNhdGlvbiBkYXRhIGxlbmd0aCAqLworCXUxNiBjcnlwdF9vZmZzOwkJLyogQ3J5cHRpb24gc3RhcnQgb2Zmc2V0ICovCisJdTE2IGNyeXB0X2xlbjsJCS8qIENyeXB0aW9uIGRhdGEgbGVuZ3RoICovCisJdTMyIGFhZEFkZHI7CQkvKiBBZGRpdGlvbmFsIEF1dGggRGF0YSBBZGRyIGZvciBDQ00gbW9kZSAqLworCXUzMiBjcnlwdG9fY3R4OwkJLyogTlBFIENyeXB0byBQYXJhbSBzdHJ1Y3R1cmUgYWRkcmVzcyAqLworCisJLyogVXNlZCBieSBIb3N0OiA0KjQgYnl0ZXMqLworCXVuc2lnbmVkIGN0bF9mbGFnczsKKwl1bmlvbiB7CisJCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKmFibGtfcmVxOworCQlzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphZWFkX3JlcTsKKwkJc3RydWN0IGNyeXB0b190Zm0gKnRmbTsKKwl9IGRhdGE7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpyZWdpc3RfYnVmOworCXU4ICpyZWdpc3RfcHRyOworfTsKKworc3RydWN0IGFibGtfY3R4IHsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKnNyYzsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmRzdDsKKwl1bnNpZ25lZCBzcmNfbmVudHM7CisJdW5zaWduZWQgZHN0X25lbnRzOworfTsKKworc3RydWN0IGFlYWRfY3R4IHsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZmZlcjsKKwl1bnNpZ25lZCBzaG9ydCBhc3NvY19uZW50czsKKwl1bnNpZ25lZCBzaG9ydCBzcmNfbmVudHM7CisJc3RydWN0IHNjYXR0ZXJsaXN0IGl2bGlzdDsKKwkvKiB1c2VkIHdoZW4gdGhlIGhtYWMgaXMgbm90IG9uIG9uZSBzZyBlbnRyeSAqLworCXU4ICpobWFjX3ZpcnQ7CisJaW50IGVuY3J5cHQ7Cit9OworCitzdHJ1Y3QgaXhfaGFzaF9hbGdvIHsKKwl1MzIgY2Znd29yZDsKKwl1bnNpZ25lZCBjaGFyICppY3Y7Cit9OworCitzdHJ1Y3QgaXhfc2FfZGlyIHsKKwl1bnNpZ25lZCBjaGFyICpucGVfY3R4OworCWRtYV9hZGRyX3QgbnBlX2N0eF9waHlzOworCWludCBucGVfY3R4X2lkeDsKKwl1OCBucGVfbW9kZTsKK307CisKK3N0cnVjdCBpeHBfY3R4IHsKKwlzdHJ1Y3QgaXhfc2FfZGlyIGVuY3J5cHQ7CisJc3RydWN0IGl4X3NhX2RpciBkZWNyeXB0OworCWludCBhdXRoa2V5X2xlbjsKKwl1OCBhdXRoa2V5W01BWF9LRVlMRU5dOworCWludCBlbmNrZXlfbGVuOworCXU4IGVuY2tleVtNQVhfS0VZTEVOXTsKKwl1OCBzYWx0W01BWF9JVkxFTl07CisJdTggbm9uY2VbQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRV07CisJdW5zaWduZWQgc2FsdGVkOworCWF0b21pY190IGNvbmZpZ3VyaW5nOworCXN0cnVjdCBjb21wbGV0aW9uIGNvbXBsZXRpb247Cit9OworCitzdHJ1Y3QgaXhwX2FsZyB7CisJc3RydWN0IGNyeXB0b19hbGcgY3J5cHRvOworCWNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gKmhhc2g7CisJdTMyIGNmZ19lbmM7CisJdTMyIGNmZ19kZWM7CisKKwlpbnQgcmVnaXN0ZXJlZDsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaXhfaGFzaF9hbGdvIGhhc2hfYWxnX21kNSA9IHsKKwkuY2Znd29yZAk9IDB4QUEwMTAwMDQsCisJLmljdgkJPSAiXHgwMVx4MjNceDQ1XHg2N1x4ODlceEFCXHhDRFx4RUYiCisJCQkgICJceEZFXHhEQ1x4QkFceDk4XHg3Nlx4NTRceDMyXHgxMCIsCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gaGFzaF9hbGdfc2hhMSA9IHsKKwkuY2Znd29yZAk9IDB4MDAwMDAwMDUsCisJLmljdgkJPSAiXHg2N1x4NDVceDIzXHgwMVx4RUZceENEXHhBQlx4ODlceDk4XHhCQSIKKwkJCSAgIlx4RENceEZFXHgxMFx4MzJceDU0XHg3Nlx4QzNceEQyXHhFMVx4RjAiLAorfTsKKworc3RhdGljIHN0cnVjdCBucGUgKm5wZV9jOworc3RhdGljIHN0cnVjdCBkbWFfcG9vbCAqYnVmZmVyX3Bvb2wgPSBOVUxMOworc3RhdGljIHN0cnVjdCBkbWFfcG9vbCAqY3R4X3Bvb2wgPSBOVUxMOworCitzdGF0aWMgc3RydWN0IGNyeXB0X2N0bCAqY3J5cHRfdmlydCA9IE5VTEw7CitzdGF0aWMgZG1hX2FkZHJfdCBjcnlwdF9waHlzOworCitzdGF0aWMgaW50IHN1cHBvcnRfYWVzID0gMTsKKworc3RhdGljIHZvaWQgZGV2X3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2KQoreworCXJldHVybjsKK30KKworI2RlZmluZSBEUklWRVJfTkFNRSAiaXhwNHh4X2NyeXB0byIKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBzZXVkb19kZXYgPSB7CisJLm5hbWUgPSBEUklWRVJfTkFNRSwKKwkuaWQgICA9IDAsCisJLm51bV9yZXNvdXJjZXMgPSAwLAorCS5kZXYgID0geworCQkuY29oZXJlbnRfZG1hX21hc2sgPSBETUFfMzJCSVRfTUFTSywKKwkJLnJlbGVhc2UgPSBkZXZfcmVsZWFzZSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGRldmljZSAqZGV2ID0gJnBzZXVkb19kZXYuZGV2OworCitzdGF0aWMgaW5saW5lIGRtYV9hZGRyX3QgY3J5cHRfdmlydDJwaHlzKHN0cnVjdCBjcnlwdF9jdGwgKnZpcnQpCit7CisJcmV0dXJuIGNyeXB0X3BoeXMgKyAodmlydCAtIGNyeXB0X3ZpcnQpICogc2l6ZW9mKHN0cnVjdCBjcnlwdF9jdGwpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0X3BoeXMydmlydChkbWFfYWRkcl90IHBoeXMpCit7CisJcmV0dXJuIGNyeXB0X3ZpcnQgKyAocGh5cyAtIGNyeXB0X3BoeXMpIC8gc2l6ZW9mKHN0cnVjdCBjcnlwdF9jdGwpOworfQorCitzdGF0aWMgaW5saW5lIHUzMiBjaXBoZXJfY2ZnX2VuYyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXJldHVybiBjb250YWluZXJfb2YodGZtLT5fX2NydF9hbGcsIHN0cnVjdCBpeHBfYWxnLGNyeXB0byktPmNmZ19lbmM7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyIGNpcGhlcl9jZmdfZGVjKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZih0Zm0tPl9fY3J0X2FsZywgc3RydWN0IGl4cF9hbGcsY3J5cHRvKS0+Y2ZnX2RlYzsKK30KKworc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgaXhfaGFzaF9hbGdvICppeF9oYXNoKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZih0Zm0tPl9fY3J0X2FsZywgc3RydWN0IGl4cF9hbGcsIGNyeXB0byktPmhhc2g7Cit9CisKK3N0YXRpYyBpbnQgc2V0dXBfY3J5cHRfZGVzYyh2b2lkKQoreworCUJVSUxEX0JVR19PTihzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCkgIT0gNjQpOworCWNyeXB0X3ZpcnQgPSBkbWFfYWxsb2NfY29oZXJlbnQoZGV2LAorCQkJTlBFX1FMRU4gKiBzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCksCisJCQkmY3J5cHRfcGh5cywgR0ZQX0tFUk5FTCk7CisJaWYgKCFjcnlwdF92aXJ0KQorCQlyZXR1cm4gLUVOT01FTTsKKwltZW1zZXQoY3J5cHRfdmlydCwgMCwgTlBFX1FMRU4gKiBzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3BpbmxvY2tfdCBkZXNjX2xvY2s7CitzdGF0aWMgc3RydWN0IGNyeXB0X2N0bCAqZ2V0X2NyeXB0X2Rlc2Modm9pZCkKK3sKKwlpbnQgaTsKKwlzdGF0aWMgaW50IGlkeCA9IDA7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkZXNjX2xvY2ssIGZsYWdzKTsKKworCWlmICh1bmxpa2VseSghY3J5cHRfdmlydCkpCisJCXNldHVwX2NyeXB0X2Rlc2MoKTsKKwlpZiAodW5saWtlbHkoIWNyeXB0X3ZpcnQpKSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRlc2NfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaSA9IGlkeDsKKwlpZiAoY3J5cHRfdmlydFtpXS5jdGxfZmxhZ3MgPT0gQ1RMX0ZMQUdfVU5VU0VEKSB7CisJCWlmICgrK2lkeCA+PSBOUEVfUUxFTikKKwkJCWlkeCA9IDA7CisJCWNyeXB0X3ZpcnRbaV0uY3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVVNFRDsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGVzY19sb2NrLCBmbGFncyk7CisJCXJldHVybiBjcnlwdF92aXJ0ICtpOworCX0gZWxzZSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRlc2NfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKK3N0YXRpYyBzcGlubG9ja190IGVtZXJnX2xvY2s7CitzdGF0aWMgc3RydWN0IGNyeXB0X2N0bCAqZ2V0X2NyeXB0X2Rlc2NfZW1lcmcodm9pZCkKK3sKKwlpbnQgaTsKKwlzdGF0aWMgaW50IGlkeCA9IE5QRV9RTEVOOworCXN0cnVjdCBjcnlwdF9jdGwgKmRlc2M7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWRlc2MgPSBnZXRfY3J5cHRfZGVzYygpOworCWlmIChkZXNjKQorCQlyZXR1cm4gZGVzYzsKKwlpZiAodW5saWtlbHkoIWNyeXB0X3ZpcnQpKQorCQlyZXR1cm4gTlVMTDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZlbWVyZ19sb2NrLCBmbGFncyk7CisJaSA9IGlkeDsKKwlpZiAoY3J5cHRfdmlydFtpXS5jdGxfZmxhZ3MgPT0gQ1RMX0ZMQUdfVU5VU0VEKSB7CisJCWlmICgrK2lkeCA+PSBOUEVfUUxFTl9UT1RBTCkKKwkJCWlkeCA9IE5QRV9RTEVOOworCQljcnlwdF92aXJ0W2ldLmN0bF9mbGFncyA9IENUTF9GTEFHX1VTRUQ7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVtZXJnX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIGNyeXB0X3ZpcnQgK2k7CisJfSBlbHNlIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW1lcmdfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfYnVmX2NoYWluKHN0cnVjdCBidWZmZXJfZGVzYyAqYnVmLCB1MzIgcGh5cykKK3sKKwl3aGlsZSAoYnVmKSB7CisJCXN0cnVjdCBidWZmZXJfZGVzYyAqYnVmMTsKKwkJdTMyIHBoeXMxOworCisJCWJ1ZjEgPSBidWYtPm5leHQ7CisJCXBoeXMxID0gYnVmLT5waHlzX25leHQ7CisJCWRtYV9wb29sX2ZyZWUoYnVmZmVyX3Bvb2wsIGJ1ZiwgcGh5cyk7CisJCWJ1ZiA9IGJ1ZjE7CisJCXBoeXMgPSBwaHlzMTsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgY3J5cHRvX2RvbmVfdGFza2xldDsKKworc3RhdGljIHZvaWQgZmluaXNoX3NjYXR0ZXJlZF9obWFjKHN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0KQoreworCXN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSA9IGNyeXB0LT5kYXRhLmFlYWRfcmVxOworCXN0cnVjdCBhZWFkX2N0eCAqcmVxX2N0eCA9IGFlYWRfcmVxdWVzdF9jdHgocmVxKTsKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCWludCBhdXRoc2l6ZSA9IGNyeXB0b19hZWFkX2F1dGhzaXplKHRmbSk7CisJaW50IGRlY3J5cHRsZW4gPSByZXEtPmNyeXB0bGVuIC0gYXV0aHNpemU7CisKKwlpZiAocmVxX2N0eC0+ZW5jcnlwdCkgeworCQlzY2F0dGVyd2Fsa19tYXBfYW5kX2NvcHkocmVxX2N0eC0+aG1hY192aXJ0LAorCQkJcmVxLT5zcmMsIGRlY3J5cHRsZW4sIGF1dGhzaXplLCAxKTsKKwl9CisJZG1hX3Bvb2xfZnJlZShidWZmZXJfcG9vbCwgcmVxX2N0eC0+aG1hY192aXJ0LCBjcnlwdC0+aWN2X3Jldl9hZXMpOworfQorCitzdGF0aWMgdm9pZCBvbmVfcGFja2V0KGRtYV9hZGRyX3QgcGh5cykKK3sKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4OworCWludCBmYWlsZWQ7CisJZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gc3JjX2RpcmVjdGlvbiA9IERNQV9CSURJUkVDVElPTkFMOworCisJZmFpbGVkID0gcGh5cyAmIDB4MSA/IC1FQkFETVNHIDogMDsKKwlwaHlzICY9IH4weDM7CisJY3J5cHQgPSBjcnlwdF9waHlzMnZpcnQocGh5cyk7CisKKwlzd2l0Y2ggKGNyeXB0LT5jdGxfZmxhZ3MgJiBDVExfRkxBR19NQVNLKSB7CisJY2FzZSBDVExfRkxBR19QRVJGT1JNX0FFQUQ6IHsKKwkJc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxID0gY3J5cHQtPmRhdGEuYWVhZF9yZXE7CisJCXN0cnVjdCBhZWFkX2N0eCAqcmVxX2N0eCA9IGFlYWRfcmVxdWVzdF9jdHgocmVxKTsKKwkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5hc3NvYywgcmVxX2N0eC0+YXNzb2NfbmVudHMsCisJCQkJRE1BX1RPX0RFVklDRSk7CisJCWRtYV91bm1hcF9zZyhkZXYsICZyZXFfY3R4LT5pdmxpc3QsIDEsIERNQV9CSURJUkVDVElPTkFMKTsKKwkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIHJlcV9jdHgtPnNyY19uZW50cywKKwkJCQlETUFfQklESVJFQ1RJT05BTCk7CisKKwkJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+YnVmZmVyLCBjcnlwdC0+c3JjX2J1Zik7CisJCWlmIChyZXFfY3R4LT5obWFjX3ZpcnQpIHsKKwkJCWZpbmlzaF9zY2F0dGVyZWRfaG1hYyhjcnlwdCk7CisJCX0KKwkJcmVxLT5iYXNlLmNvbXBsZXRlKCZyZXEtPmJhc2UsIGZhaWxlZCk7CisJCWJyZWFrOworCX0KKwljYXNlIENUTF9GTEFHX1BFUkZPUk1fQUJMSzogeworCQlzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXEgPSBjcnlwdC0+ZGF0YS5hYmxrX3JlcTsKKwkJc3RydWN0IGFibGtfY3R4ICpyZXFfY3R4ID0gYWJsa2NpcGhlcl9yZXF1ZXN0X2N0eChyZXEpOworCQlpbnQgbmVudHM7CisJCWlmIChyZXFfY3R4LT5kc3QpIHsKKwkJCW5lbnRzID0gcmVxX2N0eC0+ZHN0X25lbnRzOworCQkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5kc3QsIG5lbnRzLCBETUFfRlJPTV9ERVZJQ0UpOworCQkJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+ZHN0LCBjcnlwdC0+ZHN0X2J1Zik7CisJCQlzcmNfZGlyZWN0aW9uID0gRE1BX1RPX0RFVklDRTsKKwkJfQorCQluZW50cyA9IHJlcV9jdHgtPnNyY19uZW50czsKKwkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIG5lbnRzLCBzcmNfZGlyZWN0aW9uKTsKKwkJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+c3JjLCBjcnlwdC0+c3JjX2J1Zik7CisJCXJlcS0+YmFzZS5jb21wbGV0ZSgmcmVxLT5iYXNlLCBmYWlsZWQpOworCQlicmVhazsKKwl9CisJY2FzZSBDVExfRkxBR19HRU5fSUNWOgorCQljdHggPSBjcnlwdG9fdGZtX2N0eChjcnlwdC0+ZGF0YS50Zm0pOworCQlkbWFfcG9vbF9mcmVlKGN0eF9wb29sLCBjcnlwdC0+cmVnaXN0X3B0ciwKKwkJCQljcnlwdC0+cmVnaXN0X2J1Zi0+cGh5c19hZGRyKTsKKwkJZG1hX3Bvb2xfZnJlZShidWZmZXJfcG9vbCwgY3J5cHQtPnJlZ2lzdF9idWYsIGNyeXB0LT5zcmNfYnVmKTsKKwkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmN0eC0+Y29uZmlndXJpbmcpKQorCQkJY29tcGxldGUoJmN0eC0+Y29tcGxldGlvbik7CisJCWJyZWFrOworCWNhc2UgQ1RMX0ZMQUdfR0VOX1JFVkFFUzoKKwkJY3R4ID0gY3J5cHRvX3RmbV9jdHgoY3J5cHQtPmRhdGEudGZtKTsKKwkJKih1MzIqKWN0eC0+ZGVjcnlwdC5ucGVfY3R4ICY9IGNwdV90b19iZTMyKH5DSVBIX0VOQ1IpOworCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3R4LT5jb25maWd1cmluZykpCisJCQljb21wbGV0ZSgmY3R4LT5jb21wbGV0aW9uKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJQlVHKCk7CisJfQorCWNyeXB0LT5jdGxfZmxhZ3MgPSBDVExfRkxBR19VTlVTRUQ7Cit9CisKK3N0YXRpYyB2b2lkIGlycWhhbmRsZXIodm9pZCAqX3VudXNlZCkKK3sKKwl0YXNrbGV0X3NjaGVkdWxlKCZjcnlwdG9fZG9uZV90YXNrbGV0KTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRvX2RvbmVfYWN0aW9uKHVuc2lnbmVkIGxvbmcgYXJnKQoreworCWludCBpOworCisJZm9yKGk9MDsgaTw0OyBpKyspIHsKKwkJZG1hX2FkZHJfdCBwaHlzID0gcW1ncl9nZXRfZW50cnkoUkVDVl9RSUQpOworCQlpZiAoIXBoeXMpCisJCQlyZXR1cm47CisJCW9uZV9wYWNrZXQocGh5cyk7CisJfQorCXRhc2tsZXRfc2NoZWR1bGUoJmNyeXB0b19kb25lX3Rhc2tsZXQpOworfQorCitzdGF0aWMgaW50IGluaXRfaXhwX2NyeXB0byh2b2lkKQoreworCWludCByZXQgPSAtRU5PREVWOworCisJaWYgKCEgKCB+KCpJWFA0WFhfRVhQX0NGRzIpICYgKElYUDRYWF9GRUFUVVJFX0hBU0ggfAorCQkJCUlYUDRYWF9GRUFUVVJFX0FFUyB8IElYUDRYWF9GRUFUVVJFX0RFUykpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiaXhwX2NyeXB0bzogTm8gSFcgY3J5cHRvIGF2YWlsYWJsZVxuIik7CisJCXJldHVybiByZXQ7CisJfQorCW5wZV9jID0gbnBlX3JlcXVlc3QoTlBFX0lEKTsKKwlpZiAoIW5wZV9jKQorCQlyZXR1cm4gcmV0OworCisJaWYgKCFucGVfcnVubmluZyhucGVfYykpIHsKKwkJbnBlX2xvYWRfZmlybXdhcmUobnBlX2MsIG5wZV9uYW1lKG5wZV9jKSwgZGV2KTsKKwl9CisKKwkvKiBidWZmZXJfcG9vbCB3aWxsIGFsc28gYmUgdXNlZCB0byBzb21ldGltZXMgc3RvcmUgdGhlIGhtYWMsCisJICogc28gYXNzdXJlIGl0IGlzIGxhcmdlIGVub3VnaAorCSAqLworCUJVSUxEX0JVR19PTihTSEExX0RJR0VTVF9TSVpFID4gc2l6ZW9mKHN0cnVjdCBidWZmZXJfZGVzYykpOworCWJ1ZmZlcl9wb29sID0gZG1hX3Bvb2xfY3JlYXRlKCJidWZmZXIiLCBkZXYsCisJCQlzaXplb2Yoc3RydWN0IGJ1ZmZlcl9kZXNjKSwgMzIsIDApOworCXJldCA9IC1FTk9NRU07CisJaWYgKCFidWZmZXJfcG9vbCkgeworCQlnb3RvIGVycjsKKwl9CisJY3R4X3Bvb2wgPSBkbWFfcG9vbF9jcmVhdGUoImNvbnRleHQiLCBkZXYsCisJCQlOUEVfQ1RYX0xFTiwgMTYsIDApOworCWlmICghY3R4X3Bvb2wpIHsKKwkJZ290byBlcnI7CisJfQorCXJldCA9IHFtZ3JfcmVxdWVzdF9xdWV1ZShTRU5EX1FJRCwgTlBFX1FMRU5fVE9UQUwsIDAsIDApOworCWlmIChyZXQpCisJCWdvdG8gZXJyOworCXJldCA9IHFtZ3JfcmVxdWVzdF9xdWV1ZShSRUNWX1FJRCwgTlBFX1FMRU4sIDAsIDApOworCWlmIChyZXQpIHsKKwkJcW1ncl9yZWxlYXNlX3F1ZXVlKFNFTkRfUUlEKTsKKwkJZ290byBlcnI7CisJfQorCXFtZ3Jfc2V0X2lycShSRUNWX1FJRCwgUVVFVUVfSVJRX1NSQ19OT1RfRU1QVFksIGlycWhhbmRsZXIsIE5VTEwpOworCXRhc2tsZXRfaW5pdCgmY3J5cHRvX2RvbmVfdGFza2xldCwgY3J5cHRvX2RvbmVfYWN0aW9uLCAwKTsKKworCXFtZ3JfZW5hYmxlX2lycShSRUNWX1FJRCk7CisJcmV0dXJuIDA7CitlcnI6CisJaWYgKGN0eF9wb29sKQorCQlkbWFfcG9vbF9kZXN0cm95KGN0eF9wb29sKTsKKwlpZiAoYnVmZmVyX3Bvb2wpCisJCWRtYV9wb29sX2Rlc3Ryb3koYnVmZmVyX3Bvb2wpOworCW5wZV9yZWxlYXNlKG5wZV9jKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCByZWxlYXNlX2l4cF9jcnlwdG8odm9pZCkKK3sKKwlxbWdyX2Rpc2FibGVfaXJxKFJFQ1ZfUUlEKTsKKwl0YXNrbGV0X2tpbGwoJmNyeXB0b19kb25lX3Rhc2tsZXQpOworCisJcW1ncl9yZWxlYXNlX3F1ZXVlKFNFTkRfUUlEKTsKKwlxbWdyX3JlbGVhc2VfcXVldWUoUkVDVl9RSUQpOworCisJZG1hX3Bvb2xfZGVzdHJveShjdHhfcG9vbCk7CisJZG1hX3Bvb2xfZGVzdHJveShidWZmZXJfcG9vbCk7CisKKwlucGVfcmVsZWFzZShucGVfYyk7CisKKwlpZiAoY3J5cHRfdmlydCkgeworCQlkbWFfZnJlZV9jb2hlcmVudChkZXYsCisJCQlOUEVfUUxFTl9UT1RBTCAqIHNpemVvZiggc3RydWN0IGNyeXB0X2N0bCksCisJCQljcnlwdF92aXJ0LCBjcnlwdF9waHlzKTsKKwl9CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCByZXNldF9zYV9kaXIoc3RydWN0IGl4X3NhX2RpciAqZGlyKQoreworCW1lbXNldChkaXItPm5wZV9jdHgsIDAsIE5QRV9DVFhfTEVOKTsKKwlkaXItPm5wZV9jdHhfaWR4ID0gMDsKKwlkaXItPm5wZV9tb2RlID0gMDsKK30KKworc3RhdGljIGludCBpbml0X3NhX2RpcihzdHJ1Y3QgaXhfc2FfZGlyICpkaXIpCit7CisJZGlyLT5ucGVfY3R4ID0gZG1hX3Bvb2xfYWxsb2MoY3R4X3Bvb2wsIEdGUF9LRVJORUwsICZkaXItPm5wZV9jdHhfcGh5cyk7CisJaWYgKCFkaXItPm5wZV9jdHgpIHsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCXJlc2V0X3NhX2RpcihkaXIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmcmVlX3NhX2RpcihzdHJ1Y3QgaXhfc2FfZGlyICpkaXIpCit7CisJbWVtc2V0KGRpci0+bnBlX2N0eCwgMCwgTlBFX0NUWF9MRU4pOworCWRtYV9wb29sX2ZyZWUoY3R4X3Bvb2wsIGRpci0+bnBlX2N0eCwgZGlyLT5ucGVfY3R4X3BoeXMpOworfQorCitzdGF0aWMgaW50IGluaXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJaW50IHJldDsKKworCWF0b21pY19zZXQoJmN0eC0+Y29uZmlndXJpbmcsIDApOworCXJldCA9IGluaXRfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJcmV0ID0gaW5pdF9zYV9kaXIoJmN0eC0+ZGVjcnlwdCk7CisJaWYgKHJldCkgeworCQlmcmVlX3NhX2RpcigmY3R4LT5lbmNyeXB0KTsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBpbml0X3RmbV9hYmxrKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJdGZtLT5jcnRfYWJsa2NpcGhlci5yZXFzaXplID0gc2l6ZW9mKHN0cnVjdCBhYmxrX2N0eCk7CisJcmV0dXJuIGluaXRfdGZtKHRmbSk7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF90Zm1fYWVhZChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXRmbS0+Y3J0X2FlYWQucmVxc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYWVhZF9jdHgpOworCXJldHVybiBpbml0X3RmbSh0Zm0pOworfQorCitzdGF0aWMgdm9pZCBleGl0X3RmbShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWZyZWVfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCWZyZWVfc2FfZGlyKCZjdHgtPmRlY3J5cHQpOworfQorCitzdGF0aWMgaW50IHJlZ2lzdGVyX2NoYWluX3ZhcihzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1OCB4cGFkLCB1MzIgdGFyZ2V0LAorCQlpbnQgaW5pdF9sZW4sIHUzMiBjdHhfYWRkciwgY29uc3QgdTggKmtleSwgaW50IGtleV9sZW4pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJc3RydWN0IGNyeXB0X2N0bCAqY3J5cHQ7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpidWY7CisJaW50IGk7CisJdTggKnBhZDsKKwl1MzIgcGFkX3BoeXMsIGJ1Zl9waHlzOworCisJQlVJTERfQlVHX09OKE5QRV9DVFhfTEVOIDwgSE1BQ19QQURfQkxPQ0tMRU4pOworCXBhZCA9IGRtYV9wb29sX2FsbG9jKGN0eF9wb29sLCBHRlBfS0VSTkVMLCAmcGFkX3BoeXMpOworCWlmICghcGFkKQorCQlyZXR1cm4gLUVOT01FTTsKKwlidWYgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgR0ZQX0tFUk5FTCwgJmJ1Zl9waHlzKTsKKwlpZiAoIWJ1ZikgeworCQlkbWFfcG9vbF9mcmVlKGN0eF9wb29sLCBwYWQsIHBhZF9waHlzKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWNyeXB0ID0gZ2V0X2NyeXB0X2Rlc2NfZW1lcmcoKTsKKwlpZiAoIWNyeXB0KSB7CisJCWRtYV9wb29sX2ZyZWUoY3R4X3Bvb2wsIHBhZCwgcGFkX3BoeXMpOworCQlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCBidWYsIGJ1Zl9waHlzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCisJbWVtY3B5KHBhZCwga2V5LCBrZXlfbGVuKTsKKwltZW1zZXQocGFkICsga2V5X2xlbiwgMCwgSE1BQ19QQURfQkxPQ0tMRU4gLSBrZXlfbGVuKTsKKwlmb3IgKGkgPSAwOyBpIDwgSE1BQ19QQURfQkxPQ0tMRU47IGkrKykgeworCQlwYWRbaV0gXj0geHBhZDsKKwl9CisKKwljcnlwdC0+ZGF0YS50Zm0gPSB0Zm07CisJY3J5cHQtPnJlZ2lzdF9wdHIgPSBwYWQ7CisJY3J5cHQtPnJlZ2lzdF9idWYgPSBidWY7CisKKwljcnlwdC0+YXV0aF9vZmZzID0gMDsKKwljcnlwdC0+YXV0aF9sZW4gPSBITUFDX1BBRF9CTE9DS0xFTjsKKwljcnlwdC0+Y3J5cHRvX2N0eCA9IGN0eF9hZGRyOworCWNyeXB0LT5zcmNfYnVmID0gYnVmX3BoeXM7CisJY3J5cHQtPmljdl9yZXZfYWVzID0gdGFyZ2V0OworCWNyeXB0LT5tb2RlID0gTlBFX09QX0hBU0hfR0VOX0lDVjsKKwljcnlwdC0+aW5pdF9sZW4gPSBpbml0X2xlbjsKKwljcnlwdC0+Y3RsX2ZsYWdzIHw9IENUTF9GTEFHX0dFTl9JQ1Y7CisKKwlidWYtPm5leHQgPSAwOworCWJ1Zi0+YnVmX2xlbiA9IEhNQUNfUEFEX0JMT0NLTEVOOworCWJ1Zi0+cGt0X2xlbiA9IDA7CisJYnVmLT5waHlzX2FkZHIgPSBwYWRfcGh5czsKKworCWF0b21pY19pbmMoJmN0eC0+Y29uZmlndXJpbmcpOworCXFtZ3JfcHV0X2VudHJ5KFNFTkRfUUlELCBjcnlwdF92aXJ0MnBoeXMoY3J5cHQpKTsKKwlCVUdfT04ocW1ncl9zdGF0X292ZXJmbG93KFNFTkRfUUlEKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2V0dXBfYXV0aChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBpbnQgZW5jcnlwdCwgdW5zaWduZWQgYXV0aHNpemUsCisJCWNvbnN0IHU4ICprZXksIGludCBrZXlfbGVuLCB1bnNpZ25lZCBkaWdlc3RfbGVuKQoreworCXUzMiBpdGFyZ2V0LCBvdGFyZ2V0LCBucGVfY3R4X2FkZHI7CisJdW5zaWduZWQgY2hhciAqY2luZm87CisJaW50IGluaXRfbGVuLCByZXQgPSAwOworCXUzMiBjZmd3b3JkOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpcjsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCBzdHJ1Y3QgaXhfaGFzaF9hbGdvICphbGdvOworCisJZGlyID0gZW5jcnlwdCA/ICZjdHgtPmVuY3J5cHQgOiAmY3R4LT5kZWNyeXB0OworCWNpbmZvID0gZGlyLT5ucGVfY3R4ICsgZGlyLT5ucGVfY3R4X2lkeDsKKwlhbGdvID0gaXhfaGFzaCh0Zm0pOworCisJLyogd3JpdGUgY2ZnIHdvcmQgdG8gY3J5cHRpbmZvICovCisJY2Znd29yZCA9IGFsZ28tPmNmZ3dvcmQgfCAoIGF1dGhzaXplIDw8IDYpOyAvKiAoYXV0aHNpemUvNCkgPDwgOCAqLworCSoodTMyKiljaW5mbyA9IGNwdV90b19iZTMyKGNmZ3dvcmQpOworCWNpbmZvICs9IHNpemVvZihjZmd3b3JkKTsKKworCS8qIHdyaXRlIElDViB0byBjcnlwdGluZm8gKi8KKwltZW1jcHkoY2luZm8sIGFsZ28tPmljdiwgZGlnZXN0X2xlbik7CisJY2luZm8gKz0gZGlnZXN0X2xlbjsKKworCWl0YXJnZXQgPSBkaXItPm5wZV9jdHhfcGh5cyArIGRpci0+bnBlX2N0eF9pZHgKKwkJCQkrIHNpemVvZihhbGdvLT5jZmd3b3JkKTsKKwlvdGFyZ2V0ID0gaXRhcmdldCArIGRpZ2VzdF9sZW47CisJaW5pdF9sZW4gPSBjaW5mbyAtIChkaXItPm5wZV9jdHggKyBkaXItPm5wZV9jdHhfaWR4KTsKKwlucGVfY3R4X2FkZHIgPSBkaXItPm5wZV9jdHhfcGh5cyArIGRpci0+bnBlX2N0eF9pZHg7CisKKwlkaXItPm5wZV9jdHhfaWR4ICs9IGluaXRfbGVuOworCWRpci0+bnBlX21vZGUgfD0gTlBFX09QX0hBU0hfRU5BQkxFOworCisJaWYgKCFlbmNyeXB0KQorCQlkaXItPm5wZV9tb2RlIHw9IE5QRV9PUF9IQVNIX1ZFUklGWTsKKworCXJldCA9IHJlZ2lzdGVyX2NoYWluX3Zhcih0Zm0sIEhNQUNfT1BBRF9WQUxVRSwgb3RhcmdldCwKKwkJCWluaXRfbGVuLCBucGVfY3R4X2FkZHIsIGtleSwga2V5X2xlbik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlyZXR1cm4gcmVnaXN0ZXJfY2hhaW5fdmFyKHRmbSwgSE1BQ19JUEFEX1ZBTFVFLCBpdGFyZ2V0LAorCQkJaW5pdF9sZW4sIG5wZV9jdHhfYWRkciwga2V5LCBrZXlfbGVuKTsKK30KKworc3RhdGljIGludCBnZW5fcmV2X2Flc19rZXkoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzdHJ1Y3QgaXhfc2FfZGlyICpkaXIgPSAmY3R4LT5kZWNyeXB0OworCisJY3J5cHQgPSBnZXRfY3J5cHRfZGVzY19lbWVyZygpOworCWlmICghY3J5cHQpIHsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCSoodTMyKilkaXItPm5wZV9jdHggfD0gY3B1X3RvX2JlMzIoQ0lQSF9FTkNSKTsKKworCWNyeXB0LT5kYXRhLnRmbSA9IHRmbTsKKwljcnlwdC0+Y3J5cHRfb2ZmcyA9IDA7CisJY3J5cHQtPmNyeXB0X2xlbiA9IEFFU19CTE9DSzEyODsKKwljcnlwdC0+c3JjX2J1ZiA9IDA7CisJY3J5cHQtPmNyeXB0b19jdHggPSBkaXItPm5wZV9jdHhfcGh5czsKKwljcnlwdC0+aWN2X3Jldl9hZXMgPSBkaXItPm5wZV9jdHhfcGh5cyArIHNpemVvZih1MzIpOworCWNyeXB0LT5tb2RlID0gTlBFX09QX0VOQ19HRU5fS0VZOworCWNyeXB0LT5pbml0X2xlbiA9IGRpci0+bnBlX2N0eF9pZHg7CisJY3J5cHQtPmN0bF9mbGFncyB8PSBDVExfRkxBR19HRU5fUkVWQUVTOworCisJYXRvbWljX2luYygmY3R4LT5jb25maWd1cmluZyk7CisJcW1ncl9wdXRfZW50cnkoU0VORF9RSUQsIGNyeXB0X3ZpcnQycGh5cyhjcnlwdCkpOworCUJVR19PTihxbWdyX3N0YXRfb3ZlcmZsb3coU0VORF9RSUQpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZXR1cF9jaXBoZXIoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgaW50IGVuY3J5cHQsCisJCWNvbnN0IHU4ICprZXksIGludCBrZXlfbGVuKQoreworCXU4ICpjaW5mbzsKKwl1MzIgY2lwaGVyX2NmZzsKKwl1MzIga2V5bGVuX2NmZyA9IDA7CisJc3RydWN0IGl4X3NhX2RpciAqZGlyOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXUzMiAqZmxhZ3MgPSAmdGZtLT5jcnRfZmxhZ3M7CisKKwlkaXIgPSBlbmNyeXB0ID8gJmN0eC0+ZW5jcnlwdCA6ICZjdHgtPmRlY3J5cHQ7CisJY2luZm8gPSBkaXItPm5wZV9jdHg7CisKKwlpZiAoZW5jcnlwdCkgeworCQljaXBoZXJfY2ZnID0gY2lwaGVyX2NmZ19lbmModGZtKTsKKwkJZGlyLT5ucGVfbW9kZSB8PSBOUEVfT1BfQ1JZUFRfRU5DUllQVDsKKwl9IGVsc2UgeworCQljaXBoZXJfY2ZnID0gY2lwaGVyX2NmZ19kZWModGZtKTsKKwl9CisJaWYgKGNpcGhlcl9jZmcgJiBNT0RfQUVTKSB7CisJCXN3aXRjaCAoa2V5X2xlbikgeworCQkJY2FzZSAxNjoga2V5bGVuX2NmZyA9IE1PRF9BRVMxMjggfCBLRVlMRU5fMTI4OyBicmVhazsKKwkJCWNhc2UgMjQ6IGtleWxlbl9jZmcgPSBNT0RfQUVTMTkyIHwgS0VZTEVOXzE5MjsgYnJlYWs7CisJCQljYXNlIDMyOiBrZXlsZW5fY2ZnID0gTU9EX0FFUzI1NiB8IEtFWUxFTl8yNTY7IGJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQkqZmxhZ3MgfD0gQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU47CisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwkJY2lwaGVyX2NmZyB8PSBrZXlsZW5fY2ZnOworCX0gZWxzZSBpZiAoY2lwaGVyX2NmZyAmIE1PRF8zREVTKSB7CisJCWNvbnN0IHUzMiAqSyA9IChjb25zdCB1MzIgKilrZXk7CisJCWlmICh1bmxpa2VseSghKChLWzBdIF4gS1syXSkgfCAoS1sxXSBeIEtbM10pKSB8fAorCQkJICAgICAhKChLWzJdIF4gS1s0XSkgfCAoS1szXSBeIEtbNV0pKSkpCisJCXsKKwkJCSpmbGFncyB8PSBDUllQVE9fVEZNX1JFU19CQURfS0VZX1NDSEVEOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9IGVsc2UgeworCQl1MzIgdG1wW0RFU19FWFBLRVlfV09SRFNdOworCQlpZiAoZGVzX2VrZXkodG1wLCBrZXkpID09IDApIHsKKwkJCSpmbGFncyB8PSBDUllQVE9fVEZNX1JFU19XRUFLX0tFWTsKKwkJfQorCX0KKwkvKiB3cml0ZSBjZmcgd29yZCB0byBjcnlwdGluZm8gKi8KKwkqKHUzMiopY2luZm8gPSBjcHVfdG9fYmUzMihjaXBoZXJfY2ZnKTsKKwljaW5mbyArPSBzaXplb2YoY2lwaGVyX2NmZyk7CisKKwkvKiB3cml0ZSBjaXBoZXIga2V5IHRvIGNyeXB0aW5mbyAqLworCW1lbWNweShjaW5mbywga2V5LCBrZXlfbGVuKTsKKwkvKiBOUEUgd2FudHMga2V5bGVuIHNldCB0byBERVMzX0VERV9LRVlfU0laRSBldmVuIGZvciBzaW5nbGUgREVTICovCisJaWYgKGtleV9sZW4gPCBERVMzX0VERV9LRVlfU0laRSAmJiAhKGNpcGhlcl9jZmcgJiBNT0RfQUVTKSkgeworCQltZW1zZXQoY2luZm8gKyBrZXlfbGVuLCAwLCBERVMzX0VERV9LRVlfU0laRSAta2V5X2xlbik7CisJCWtleV9sZW4gPSBERVMzX0VERV9LRVlfU0laRTsKKwl9CisJZGlyLT5ucGVfY3R4X2lkeCA9IHNpemVvZihjaXBoZXJfY2ZnKSArIGtleV9sZW47CisJZGlyLT5ucGVfbW9kZSB8PSBOUEVfT1BfQ1JZUFRfRU5BQkxFOworCWlmICgoY2lwaGVyX2NmZyAmIE1PRF9BRVMpICYmICFlbmNyeXB0KSB7CisJCXJldHVybiBnZW5fcmV2X2Flc19rZXkodGZtKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY291bnRfc2coc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgaW50IG5ieXRlcykKK3sKKwlpbnQgaTsKKwlmb3IgKGkgPSAwOyBuYnl0ZXMgPiAwOyBpKyssIHNnID0gc2dfbmV4dChzZykpCisJCW5ieXRlcyAtPSBzZy0+bGVuZ3RoOworCXJldHVybiBpOworfQorCitzdGF0aWMgc3RydWN0IGJ1ZmZlcl9kZXNjICpjaGFpbnVwX2J1ZmZlcnMoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywKKwkJCXVuc2lnbmVkIG5ieXRlcywgc3RydWN0IGJ1ZmZlcl9kZXNjICpidWYsIGdmcF90IGZsYWdzKQoreworCWludCBuZW50cyA9IDA7CisKKwl3aGlsZSAobmJ5dGVzID4gMCkgeworCQlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKm5leHRfYnVmOworCQl1MzIgbmV4dF9idWZfcGh5czsKKwkJdW5zaWduZWQgbGVuID0gbWluKG5ieXRlcywgc2dfZG1hX2xlbihzZykpOworCisJCW5lbnRzKys7CisJCW5ieXRlcyAtPSBsZW47CisJCWlmICghYnVmLT5waHlzX2FkZHIpIHsKKwkJCWJ1Zi0+cGh5c19hZGRyID0gc2dfZG1hX2FkZHJlc3Moc2cpOworCQkJYnVmLT5idWZfbGVuID0gbGVuOworCQkJYnVmLT5uZXh0ID0gTlVMTDsKKwkJCWJ1Zi0+cGh5c19uZXh0ID0gMDsKKwkJCWdvdG8gbmV4dDsKKwkJfQorCQkvKiBUd28gY29uc2VjdXRpdmUgY2h1bmtzIG9uIG9uZSBwYWdlIG1heSBiZSBoYW5kbGVkIGJ5IHRoZSBvbGQKKwkJICogYnVmZmVyIGRlc2NyaXB0b3IsIGluY3JlYXNlZCBieSB0aGUgbGVuZ3RoIG9mIHRoZSBuZXcgb25lCisJCSAqLworCQlpZiAoc2dfZG1hX2FkZHJlc3Moc2cpID09IGJ1Zi0+cGh5c19hZGRyICsgYnVmLT5idWZfbGVuKSB7CisJCQlidWYtPmJ1Zl9sZW4gKz0gbGVuOworCQkJZ290byBuZXh0OworCQl9CisJCW5leHRfYnVmID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLCAmbmV4dF9idWZfcGh5cyk7CisJCWlmICghbmV4dF9idWYpCisJCQlyZXR1cm4gTlVMTDsKKwkJYnVmLT5uZXh0ID0gbmV4dF9idWY7CisJCWJ1Zi0+cGh5c19uZXh0ID0gbmV4dF9idWZfcGh5czsKKworCQlidWYgPSBuZXh0X2J1ZjsKKwkJYnVmLT5uZXh0ID0gTlVMTDsKKwkJYnVmLT5waHlzX25leHQgPSAwOworCQlidWYtPnBoeXNfYWRkciA9IHNnX2RtYV9hZGRyZXNzKHNnKTsKKwkJYnVmLT5idWZfbGVuID0gbGVuOworbmV4dDoKKwkJaWYgKG5ieXRlcyA+IDApIHsKKwkJCXNnID0gc2dfbmV4dChzZyk7CisJCX0KKwl9CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIGludCBhYmxrX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FibGtjaXBoZXIgKnRmbSwgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlfbGVuKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWJsa2NpcGhlcl9jdHgodGZtKTsKKwl1MzIgKmZsYWdzID0gJnRmbS0+YmFzZS5jcnRfZmxhZ3M7CisJaW50IHJldDsKKworCWluaXRfY29tcGxldGlvbigmY3R4LT5jb21wbGV0aW9uKTsKKwlhdG9taWNfaW5jKCZjdHgtPmNvbmZpZ3VyaW5nKTsKKworCXJlc2V0X3NhX2RpcigmY3R4LT5lbmNyeXB0KTsKKwlyZXNldF9zYV9kaXIoJmN0eC0+ZGVjcnlwdCk7CisKKwljdHgtPmVuY3J5cHQubnBlX21vZGUgPSBOUEVfT1BfSE1BQ19ESVNBQkxFOworCWN0eC0+ZGVjcnlwdC5ucGVfbW9kZSA9IE5QRV9PUF9ITUFDX0RJU0FCTEU7CisKKwlyZXQgPSBzZXR1cF9jaXBoZXIoJnRmbS0+YmFzZSwgMCwga2V5LCBrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZXQgPSBzZXR1cF9jaXBoZXIoJnRmbS0+YmFzZSwgMSwga2V5LCBrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCWlmICgqZmxhZ3MgJiBDUllQVE9fVEZNX1JFU19XRUFLX0tFWSkgeworCQlpZiAoKmZsYWdzICYgQ1JZUFRPX1RGTV9SRVFfV0VBS19LRVkpIHsKKwkJCXJldCA9IC1FSU5WQUw7CisJCX0gZWxzZSB7CisJCQkqZmxhZ3MgJj0gfkNSWVBUT19URk1fUkVTX1dFQUtfS0VZOworCQl9CisJfQorb3V0OgorCWlmICghYXRvbWljX2RlY19hbmRfdGVzdCgmY3R4LT5jb25maWd1cmluZykpCisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmN0eC0+Y29tcGxldGlvbik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhYmxrX3JmYzM2ODZfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQl1bnNpZ25lZCBpbnQga2V5X2xlbikKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FibGtjaXBoZXJfY3R4KHRmbSk7CisKKwkvKiB0aGUgbm9uY2UgaXMgc3RvcmVkIGluIGJ5dGVzIGF0IGVuZCBvZiBrZXkgKi8KKwlpZiAoa2V5X2xlbiA8IENUUl9SRkMzNjg2X05PTkNFX1NJWkUpCisJCXJldHVybiAtRUlOVkFMOworCisJbWVtY3B5KGN0eC0+bm9uY2UsIGtleSArIChrZXlfbGVuIC0gQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSksCisJCQlDVFJfUkZDMzY4Nl9OT05DRV9TSVpFKTsKKworCWtleV9sZW4gLT0gQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRTsKKwlyZXR1cm4gYWJsa19zZXRrZXkodGZtLCBrZXksIGtleV9sZW4pOworfQorCitzdGF0aWMgaW50IGFibGtfcGVyZm9ybShzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXEsIGludCBlbmNyeXB0KQoreworCXN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtID0gY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSk7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hYmxrY2lwaGVyX2N0eCh0Zm0pOworCXVuc2lnbmVkIGl2c2l6ZSA9IGNyeXB0b19hYmxrY2lwaGVyX2l2c2l6ZSh0Zm0pOworCWludCByZXQgPSAtRU5PTUVNOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpcjsKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gcmVxLT5uYnl0ZXMsIG5lbnRzOworCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIHNyY19kaXJlY3Rpb24gPSBETUFfQklESVJFQ1RJT05BTDsKKwlzdHJ1Y3QgYWJsa19jdHggKnJlcV9jdHggPSBhYmxrY2lwaGVyX3JlcXVlc3RfY3R4KHJlcSk7CisJZ2ZwX3QgZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MgJiBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVAgPworCQkJCUdGUF9LRVJORUwgOiBHRlBfQVRPTUlDOworCisJaWYgKHFtZ3Jfc3RhdF9mdWxsKFNFTkRfUUlEKSkKKwkJcmV0dXJuIC1FQUdBSU47CisJaWYgKGF0b21pY19yZWFkKCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJcmV0dXJuIC1FQUdBSU47CisKKwlkaXIgPSBlbmNyeXB0ID8gJmN0eC0+ZW5jcnlwdCA6ICZjdHgtPmRlY3J5cHQ7CisKKwljcnlwdCA9IGdldF9jcnlwdF9kZXNjKCk7CisJaWYgKCFjcnlwdCkKKwkJcmV0dXJuIHJldDsKKworCWNyeXB0LT5kYXRhLmFibGtfcmVxID0gcmVxOworCWNyeXB0LT5jcnlwdG9fY3R4ID0gZGlyLT5ucGVfY3R4X3BoeXM7CisJY3J5cHQtPm1vZGUgPSBkaXItPm5wZV9tb2RlOworCWNyeXB0LT5pbml0X2xlbiA9IGRpci0+bnBlX2N0eF9pZHg7CisKKwljcnlwdC0+Y3J5cHRfb2ZmcyA9IDA7CisJY3J5cHQtPmNyeXB0X2xlbiA9IG5ieXRlczsKKworCUJVR19PTihpdnNpemUgJiYgIXJlcS0+aW5mbyk7CisJbWVtY3B5KGNyeXB0LT5pdiwgcmVxLT5pbmZvLCBpdnNpemUpOworCWlmIChyZXEtPnNyYyAhPSByZXEtPmRzdCkgeworCQljcnlwdC0+bW9kZSB8PSBOUEVfT1BfTk9UX0lOX1BMQUNFOworCQluZW50cyA9IGNvdW50X3NnKHJlcS0+ZHN0LCBuYnl0ZXMpOworCQkvKiBUaGlzIHdhcyBuZXZlciB0ZXN0ZWQgYnkgSW50ZWwKKwkJICogZm9yIG1vcmUgdGhhbiBvbmUgZHN0IGJ1ZmZlciwgSSB0aGluay4gKi8KKwkJQlVHX09OKG5lbnRzICE9IDEpOworCQlyZXFfY3R4LT5kc3RfbmVudHMgPSBuZW50czsKKwkJZG1hX21hcF9zZyhkZXYsIHJlcS0+ZHN0LCBuZW50cywgRE1BX0ZST01fREVWSUNFKTsKKwkJcmVxX2N0eC0+ZHN0ID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLCZjcnlwdC0+ZHN0X2J1Zik7CisJCWlmICghcmVxX2N0eC0+ZHN0KQorCQkJZ290byB1bm1hcF9zZ19kZXN0OworCQlyZXFfY3R4LT5kc3QtPnBoeXNfYWRkciA9IDA7CisJCWlmICghY2hhaW51cF9idWZmZXJzKHJlcS0+ZHN0LCBuYnl0ZXMsIHJlcV9jdHgtPmRzdCwgZmxhZ3MpKQorCQkJZ290byBmcmVlX2J1Zl9kZXN0OworCQlzcmNfZGlyZWN0aW9uID0gRE1BX1RPX0RFVklDRTsKKwl9IGVsc2UgeworCQlyZXFfY3R4LT5kc3QgPSBOVUxMOworCQlyZXFfY3R4LT5kc3RfbmVudHMgPSAwOworCX0KKwluZW50cyA9IGNvdW50X3NnKHJlcS0+c3JjLCBuYnl0ZXMpOworCXJlcV9jdHgtPnNyY19uZW50cyA9IG5lbnRzOworCWRtYV9tYXBfc2coZGV2LCByZXEtPnNyYywgbmVudHMsIHNyY19kaXJlY3Rpb24pOworCisJcmVxX2N0eC0+c3JjID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLCAmY3J5cHQtPnNyY19idWYpOworCWlmICghcmVxX2N0eC0+c3JjKQorCQlnb3RvIHVubWFwX3NnX3NyYzsKKwlyZXFfY3R4LT5zcmMtPnBoeXNfYWRkciA9IDA7CisJaWYgKCFjaGFpbnVwX2J1ZmZlcnMocmVxLT5zcmMsIG5ieXRlcywgcmVxX2N0eC0+c3JjLCBmbGFncykpCisJCWdvdG8gZnJlZV9idWZfc3JjOworCisJY3J5cHQtPmN0bF9mbGFncyB8PSBDVExfRkxBR19QRVJGT1JNX0FCTEs7CisJcW1ncl9wdXRfZW50cnkoU0VORF9RSUQsIGNyeXB0X3ZpcnQycGh5cyhjcnlwdCkpOworCUJVR19PTihxbWdyX3N0YXRfb3ZlcmZsb3coU0VORF9RSUQpKTsKKwlyZXR1cm4gLUVJTlBST0dSRVNTOworCitmcmVlX2J1Zl9zcmM6CisJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+c3JjLCBjcnlwdC0+c3JjX2J1Zik7Cit1bm1hcF9zZ19zcmM6CisJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIHJlcV9jdHgtPnNyY19uZW50cywgc3JjX2RpcmVjdGlvbik7CitmcmVlX2J1Zl9kZXN0OgorCWlmIChyZXEtPnNyYyAhPSByZXEtPmRzdCkgeworCQlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5kc3QsIGNyeXB0LT5kc3RfYnVmKTsKK3VubWFwX3NnX2Rlc3Q6CisJCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+c3JjLCByZXFfY3R4LT5kc3RfbmVudHMsCisJCQlETUFfRlJPTV9ERVZJQ0UpOworCX0KKwljcnlwdC0+Y3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVU5VU0VEOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19lbmNyeXB0KHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gYWJsa19wZXJmb3JtKHJlcSwgMSk7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19kZWNyeXB0KHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gYWJsa19wZXJmb3JtKHJlcSwgMCk7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19yZmMzNjg2X2NyeXB0KHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FibGtjaXBoZXIgKnRmbSA9IGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWJsa2NpcGhlcl9jdHgodGZtKTsKKwl1OCBpdltDVFJfUkZDMzY4Nl9CTE9DS19TSVpFXTsKKwl1OCAqaW5mbyA9IHJlcS0+aW5mbzsKKwlpbnQgcmV0OworCisJLyogc2V0IHVwIGNvdW50ZXIgYmxvY2sgKi8KKyAgICAgICAgbWVtY3B5KGl2LCBjdHgtPm5vbmNlLCBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFKTsKKwltZW1jcHkoaXYgKyBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFLCBpbmZvLCBDVFJfUkZDMzY4Nl9JVl9TSVpFKTsKKworCS8qIGluaXRpYWxpemUgY291bnRlciBwb3J0aW9uIG9mIGNvdW50ZXIgYmxvY2sgKi8KKwkqKF9fYmUzMiAqKShpdiArIENUUl9SRkMzNjg2X05PTkNFX1NJWkUgKyBDVFJfUkZDMzY4Nl9JVl9TSVpFKSA9CisJCWNwdV90b19iZTMyKDEpOworCisJcmVxLT5pbmZvID0gaXY7CisJcmV0ID0gYWJsa19wZXJmb3JtKHJlcSwgMSk7CisJcmVxLT5pbmZvID0gaW5mbzsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGhtYWNfaW5jb25zaXN0ZW50KHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIHVuc2lnbmVkIHN0YXJ0LAorCQl1bnNpZ25lZCBpbnQgbmJ5dGVzKQoreworCWludCBvZmZzZXQgPSAwOworCisJaWYgKCFuYnl0ZXMpCisJCXJldHVybiAwOworCisJZm9yICg7OykgeworCQlpZiAoc3RhcnQgPCBvZmZzZXQgKyBzZy0+bGVuZ3RoKQorCQkJYnJlYWs7CisKKwkJb2Zmc2V0ICs9IHNnLT5sZW5ndGg7CisJCXNnID0gc2dfbmV4dChzZyk7CisJfQorCXJldHVybiAoc3RhcnQgKyBuYnl0ZXMgPiBvZmZzZXQgKyBzZy0+bGVuZ3RoKTsKK30KKworc3RhdGljIGludCBhZWFkX3BlcmZvcm0oc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxLCBpbnQgZW5jcnlwdCwKKwkJaW50IGNyeXB0b2Zmc2V0LCBpbnQgZWZmX2NyeXB0bGVuLCB1OCAqaXYpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICp0Zm0gPSBjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KHRmbSk7CisJdW5zaWduZWQgaXZzaXplID0gY3J5cHRvX2FlYWRfaXZzaXplKHRmbSk7CisJdW5zaWduZWQgYXV0aHNpemUgPSBjcnlwdG9fYWVhZF9hdXRoc2l6ZSh0Zm0pOworCWludCByZXQgPSAtRU5PTUVNOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpcjsKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwl1bnNpZ25lZCBpbnQgY3J5cHRsZW4sIG5lbnRzOworCXN0cnVjdCBidWZmZXJfZGVzYyAqYnVmOworCXN0cnVjdCBhZWFkX2N0eCAqcmVxX2N0eCA9IGFlYWRfcmVxdWVzdF9jdHgocmVxKTsKKwlnZnBfdCBmbGFncyA9IHJlcS0+YmFzZS5mbGFncyAmIENSWVBUT19URk1fUkVRX01BWV9TTEVFUCA/CisJCQkJR0ZQX0tFUk5FTCA6IEdGUF9BVE9NSUM7CisKKwlpZiAocW1ncl9zdGF0X2Z1bGwoU0VORF9RSUQpKQorCQlyZXR1cm4gLUVBR0FJTjsKKwlpZiAoYXRvbWljX3JlYWQoJmN0eC0+Y29uZmlndXJpbmcpKQorCQlyZXR1cm4gLUVBR0FJTjsKKworCWlmIChlbmNyeXB0KSB7CisJCWRpciA9ICZjdHgtPmVuY3J5cHQ7CisJCWNyeXB0bGVuID0gcmVxLT5jcnlwdGxlbjsKKwl9IGVsc2UgeworCQlkaXIgPSAmY3R4LT5kZWNyeXB0OworCQkvKiByZXEtPmNyeXB0bGVuIGluY2x1ZGVzIHRoZSBhdXRoc2l6ZSB3aGVuIGRlY3J5cHRpbmcgKi8KKwkJY3J5cHRsZW4gPSByZXEtPmNyeXB0bGVuIC1hdXRoc2l6ZTsKKwkJZWZmX2NyeXB0bGVuIC09IGF1dGhzaXplOworCX0KKwljcnlwdCA9IGdldF9jcnlwdF9kZXNjKCk7CisJaWYgKCFjcnlwdCkKKwkJcmV0dXJuIHJldDsKKworCWNyeXB0LT5kYXRhLmFlYWRfcmVxID0gcmVxOworCWNyeXB0LT5jcnlwdG9fY3R4ID0gZGlyLT5ucGVfY3R4X3BoeXM7CisJY3J5cHQtPm1vZGUgPSBkaXItPm5wZV9tb2RlOworCWNyeXB0LT5pbml0X2xlbiA9IGRpci0+bnBlX2N0eF9pZHg7CisKKwljcnlwdC0+Y3J5cHRfb2ZmcyA9IGNyeXB0b2Zmc2V0OworCWNyeXB0LT5jcnlwdF9sZW4gPSBlZmZfY3J5cHRsZW47CisKKwljcnlwdC0+YXV0aF9vZmZzID0gMDsKKwljcnlwdC0+YXV0aF9sZW4gPSByZXEtPmFzc29jbGVuICsgaXZzaXplICsgY3J5cHRsZW47CisJQlVHX09OKGl2c2l6ZSAmJiAhcmVxLT5pdik7CisJbWVtY3B5KGNyeXB0LT5pdiwgcmVxLT5pdiwgaXZzaXplKTsKKworCWlmIChyZXEtPnNyYyAhPSByZXEtPmRzdCkgeworCQlCVUcoKTsgLyogLUVOT1RTVVAgYmVjYXVzZSBvZiBteSBsYXp5bmVzcyAqLworCX0KKworCXJlcV9jdHgtPmJ1ZmZlciA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBmbGFncywgJmNyeXB0LT5zcmNfYnVmKTsKKwlpZiAoIXJlcV9jdHgtPmJ1ZmZlcikKKwkJZ290byBvdXQ7CisJcmVxX2N0eC0+YnVmZmVyLT5waHlzX2FkZHIgPSAwOworCS8qIEFTU09DIGRhdGEgKi8KKwluZW50cyA9IGNvdW50X3NnKHJlcS0+YXNzb2MsIHJlcS0+YXNzb2NsZW4pOworCXJlcV9jdHgtPmFzc29jX25lbnRzID0gbmVudHM7CisJZG1hX21hcF9zZyhkZXYsIHJlcS0+YXNzb2MsIG5lbnRzLCBETUFfVE9fREVWSUNFKTsKKwlidWYgPSBjaGFpbnVwX2J1ZmZlcnMocmVxLT5hc3NvYywgcmVxLT5hc3NvY2xlbiwgcmVxX2N0eC0+YnVmZmVyLGZsYWdzKTsKKwlpZiAoIWJ1ZikKKwkJZ290byB1bm1hcF9zZ19hc3NvYzsKKwkvKiBJViAqLworCXNnX2luaXRfdGFibGUoJnJlcV9jdHgtPml2bGlzdCwgMSk7CisJc2dfc2V0X2J1ZigmcmVxX2N0eC0+aXZsaXN0LCBpdiwgaXZzaXplKTsKKwlkbWFfbWFwX3NnKGRldiwgJnJlcV9jdHgtPml2bGlzdCwgMSwgRE1BX0JJRElSRUNUSU9OQUwpOworCWJ1ZiA9IGNoYWludXBfYnVmZmVycygmcmVxX2N0eC0+aXZsaXN0LCBpdnNpemUsIGJ1ZiwgZmxhZ3MpOworCWlmICghYnVmKQorCQlnb3RvIHVubWFwX3NnX2l2OworCWlmICh1bmxpa2VseShobWFjX2luY29uc2lzdGVudChyZXEtPnNyYywgY3J5cHRsZW4sIGF1dGhzaXplKSkpIHsKKwkJLyogVGhlIDEyIGhtYWMgYnl0ZXMgYXJlIHNjYXR0ZXJlZCwKKwkJICogd2UgbmVlZCB0byBjb3B5IHRoZW0gaW50byBhIHNhZmUgYnVmZmVyICovCisJCXJlcV9jdHgtPmhtYWNfdmlydCA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBmbGFncywKKwkJCQkmY3J5cHQtPmljdl9yZXZfYWVzKTsKKwkJaWYgKHVubGlrZWx5KCFyZXFfY3R4LT5obWFjX3ZpcnQpKQorCQkJZ290byB1bm1hcF9zZ19pdjsKKwkJaWYgKCFlbmNyeXB0KSB7CisJCQlzY2F0dGVyd2Fsa19tYXBfYW5kX2NvcHkocmVxX2N0eC0+aG1hY192aXJ0LAorCQkJCXJlcS0+c3JjLCBjcnlwdGxlbiwgYXV0aHNpemUsIDApOworCQl9CisJCXJlcV9jdHgtPmVuY3J5cHQgPSBlbmNyeXB0OworCX0gZWxzZSB7CisJCXJlcV9jdHgtPmhtYWNfdmlydCA9IE5VTEw7CisJfQorCS8qIENyeXB0ICovCisJbmVudHMgPSBjb3VudF9zZyhyZXEtPnNyYywgY3J5cHRsZW4gKyBhdXRoc2l6ZSk7CisJcmVxX2N0eC0+c3JjX25lbnRzID0gbmVudHM7CisJZG1hX21hcF9zZyhkZXYsIHJlcS0+c3JjLCBuZW50cywgRE1BX0JJRElSRUNUSU9OQUwpOworCWJ1ZiA9IGNoYWludXBfYnVmZmVycyhyZXEtPnNyYywgY3J5cHRsZW4gKyBhdXRoc2l6ZSwgYnVmLCBmbGFncyk7CisJaWYgKCFidWYpCisJCWdvdG8gdW5tYXBfc2dfc3JjOworCWlmICghcmVxX2N0eC0+aG1hY192aXJ0KSB7CisJCWNyeXB0LT5pY3ZfcmV2X2FlcyA9IGJ1Zi0+cGh5c19hZGRyICsgYnVmLT5idWZfbGVuIC0gYXV0aHNpemU7CisJfQorCWNyeXB0LT5jdGxfZmxhZ3MgfD0gQ1RMX0ZMQUdfUEVSRk9STV9BRUFEOworCXFtZ3JfcHV0X2VudHJ5KFNFTkRfUUlELCBjcnlwdF92aXJ0MnBoeXMoY3J5cHQpKTsKKwlCVUdfT04ocW1ncl9zdGF0X292ZXJmbG93KFNFTkRfUUlEKSk7CisJcmV0dXJuIC1FSU5QUk9HUkVTUzsKK3VubWFwX3NnX3NyYzoKKwlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgcmVxX2N0eC0+c3JjX25lbnRzLCBETUFfQklESVJFQ1RJT05BTCk7CisJaWYgKHJlcV9jdHgtPmhtYWNfdmlydCkgeworCQlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCByZXFfY3R4LT5obWFjX3ZpcnQsCisJCQkJY3J5cHQtPmljdl9yZXZfYWVzKTsKKwl9Cit1bm1hcF9zZ19pdjoKKwlkbWFfdW5tYXBfc2coZGV2LCAmcmVxX2N0eC0+aXZsaXN0LCAxLCBETUFfQklESVJFQ1RJT05BTCk7Cit1bm1hcF9zZ19hc3NvYzoKKwlkbWFfdW5tYXBfc2coZGV2LCByZXEtPmFzc29jLCByZXFfY3R4LT5hc3NvY19uZW50cywgRE1BX1RPX0RFVklDRSk7CisJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+YnVmZmVyLCBjcnlwdC0+c3JjX2J1Zik7CitvdXQ6CisJY3J5cHQtPmN0bF9mbGFncyA9IENUTF9GTEFHX1VOVVNFRDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFlYWRfc2V0dXAoc3RydWN0IGNyeXB0b19hZWFkICp0Zm0sIHVuc2lnbmVkIGludCBhdXRoc2l6ZSkKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KHRmbSk7CisJdTMyICpmbGFncyA9ICZ0Zm0tPmJhc2UuY3J0X2ZsYWdzOworCXVuc2lnbmVkIGRpZ2VzdF9sZW4gPSBjcnlwdG9fYWVhZF9hbGcodGZtKS0+bWF4YXV0aHNpemU7CisJaW50IHJldDsKKworCWlmICghY3R4LT5lbmNrZXlfbGVuICYmICFjdHgtPmF1dGhrZXlfbGVuKQorCQlyZXR1cm4gMDsKKwlpbml0X2NvbXBsZXRpb24oJmN0eC0+Y29tcGxldGlvbik7CisJYXRvbWljX2luYygmY3R4LT5jb25maWd1cmluZyk7CisKKwlyZXNldF9zYV9kaXIoJmN0eC0+ZW5jcnlwdCk7CisJcmVzZXRfc2FfZGlyKCZjdHgtPmRlY3J5cHQpOworCisJcmV0ID0gc2V0dXBfY2lwaGVyKCZ0Zm0tPmJhc2UsIDAsIGN0eC0+ZW5ja2V5LCBjdHgtPmVuY2tleV9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJldCA9IHNldHVwX2NpcGhlcigmdGZtLT5iYXNlLCAxLCBjdHgtPmVuY2tleSwgY3R4LT5lbmNrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZXQgPSBzZXR1cF9hdXRoKCZ0Zm0tPmJhc2UsIDAsIGF1dGhzaXplLCBjdHgtPmF1dGhrZXksCisJCQljdHgtPmF1dGhrZXlfbGVuLCBkaWdlc3RfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZXQgPSBzZXR1cF9hdXRoKCZ0Zm0tPmJhc2UsIDEsIGF1dGhzaXplLCAgY3R4LT5hdXRoa2V5LAorCQkJY3R4LT5hdXRoa2V5X2xlbiwgZGlnZXN0X2xlbik7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlpZiAoKmZsYWdzICYgQ1JZUFRPX1RGTV9SRVNfV0VBS19LRVkpIHsKKwkJaWYgKCpmbGFncyAmIENSWVBUT19URk1fUkVRX1dFQUtfS0VZKSB7CisJCQlyZXQgPSAtRUlOVkFMOworCQkJZ290byBvdXQ7CisJCX0gZWxzZSB7CisJCQkqZmxhZ3MgJj0gfkNSWVBUT19URk1fUkVTX1dFQUtfS0VZOworCQl9CisJfQorb3V0OgorCWlmICghYXRvbWljX2RlY19hbmRfdGVzdCgmY3R4LT5jb25maWd1cmluZykpCisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmN0eC0+Y29tcGxldGlvbik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhZWFkX3NldGF1dGhzaXplKHN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtLCB1bnNpZ25lZCBpbnQgYXV0aHNpemUpCit7CisJaW50IG1heCA9IGNyeXB0b19hZWFkX2FsZyh0Zm0pLT5tYXhhdXRoc2l6ZSA+PiAyOworCisJaWYgKChhdXRoc2l6ZT4+MikgPCAxIHx8IChhdXRoc2l6ZT4+MikgPiBtYXggfHwgKGF1dGhzaXplICYgMykpCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiBhZWFkX3NldHVwKHRmbSwgYXV0aHNpemUpOworfQorCitzdGF0aWMgaW50IGFlYWRfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KHRmbSk7CisJc3RydWN0IHJ0YXR0ciAqcnRhID0gKHN0cnVjdCBydGF0dHIgKilrZXk7CisJc3RydWN0IGNyeXB0b19hdXRoZW5jX2tleV9wYXJhbSAqcGFyYW07CisKKwlpZiAoIVJUQV9PSyhydGEsIGtleWxlbikpCisJCWdvdG8gYmFka2V5OworCWlmIChydGEtPnJ0YV90eXBlICE9IENSWVBUT19BVVRIRU5DX0tFWUFfUEFSQU0pCisJCWdvdG8gYmFka2V5OworCWlmIChSVEFfUEFZTE9BRChydGEpIDwgc2l6ZW9mKCpwYXJhbSkpCisJCWdvdG8gYmFka2V5OworCisJcGFyYW0gPSBSVEFfREFUQShydGEpOworCWN0eC0+ZW5ja2V5X2xlbiA9IGJlMzJfdG9fY3B1KHBhcmFtLT5lbmNrZXlsZW4pOworCisJa2V5ICs9IFJUQV9BTElHTihydGEtPnJ0YV9sZW4pOworCWtleWxlbiAtPSBSVEFfQUxJR04ocnRhLT5ydGFfbGVuKTsKKworCWlmIChrZXlsZW4gPCBjdHgtPmVuY2tleV9sZW4pCisJCWdvdG8gYmFka2V5OworCisJY3R4LT5hdXRoa2V5X2xlbiA9IGtleWxlbiAtIGN0eC0+ZW5ja2V5X2xlbjsKKwltZW1jcHkoY3R4LT5lbmNrZXksIGtleSArIGN0eC0+YXV0aGtleV9sZW4sIGN0eC0+ZW5ja2V5X2xlbik7CisJbWVtY3B5KGN0eC0+YXV0aGtleSwga2V5LCBjdHgtPmF1dGhrZXlfbGVuKTsKKworCXJldHVybiBhZWFkX3NldHVwKHRmbSwgY3J5cHRvX2FlYWRfYXV0aHNpemUodGZtKSk7CitiYWRrZXk6CisJY3R4LT5lbmNrZXlfbGVuID0gMDsKKwljcnlwdG9fYWVhZF9zZXRfZmxhZ3ModGZtLCBDUllQVE9fVEZNX1JFU19CQURfS0VZX0xFTik7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9lbmNyeXB0KHN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSkKK3sKKwl1bnNpZ25lZCBpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUoY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSkpOworCXJldHVybiBhZWFkX3BlcmZvcm0ocmVxLCAxLCByZXEtPmFzc29jbGVuICsgaXZzaXplLAorCQkJcmVxLT5jcnlwdGxlbiwgcmVxLT5pdik7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9kZWNyeXB0KHN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSkKK3sKKwl1bnNpZ25lZCBpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUoY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSkpOworCXJldHVybiBhZWFkX3BlcmZvcm0ocmVxLCAwLCByZXEtPmFzc29jbGVuICsgaXZzaXplLAorCQkJcmVxLT5jcnlwdGxlbiwgcmVxLT5pdik7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9naXZlbmNyeXB0KHN0cnVjdCBhZWFkX2dpdmNyeXB0X3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSA9IGFlYWRfZ2l2Y3J5cHRfcmVxdGZtKHJlcSk7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eCh0Zm0pOworCXVuc2lnbmVkIGxlbiwgaXZzaXplID0gY3J5cHRvX2FlYWRfaXZzaXplKHRmbSk7CisJX19iZTY0IHNlcTsKKworCS8qIGNvcGllZCBmcm9tIGVzZXFpdi5jICovCisJaWYgKCFjdHgtPnNhbHRlZCkgeworCQlnZXRfcmFuZG9tX2J5dGVzKGN0eC0+c2FsdCwgaXZzaXplKTsKKwkJY3R4LT5zYWx0ZWQgPSAxOworCX0KKwltZW1jcHkocmVxLT5hcmVxLml2LCBjdHgtPnNhbHQsIGl2c2l6ZSk7CisJbGVuID0gaXZzaXplOworCWlmIChpdnNpemUgPiBzaXplb2YodTY0KSkgeworCQltZW1zZXQocmVxLT5naXYsIDAsIGl2c2l6ZSAtIHNpemVvZih1NjQpKTsKKwkJbGVuID0gc2l6ZW9mKHU2NCk7CisJfQorCXNlcSA9IGNwdV90b19iZTY0KHJlcS0+c2VxKTsKKwltZW1jcHkocmVxLT5naXYgKyBpdnNpemUgLSBsZW4sICZzZXEsIGxlbik7CisJcmV0dXJuIGFlYWRfcGVyZm9ybSgmcmVxLT5hcmVxLCAxLCByZXEtPmFyZXEuYXNzb2NsZW4sCisJCQlyZXEtPmFyZXEuY3J5cHRsZW4gK2l2c2l6ZSwgcmVxLT5naXYpOworfQorCitzdGF0aWMgc3RydWN0IGl4cF9hbGcgaXhwNHh4X2FsZ29zW10gPSB7Cit7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImNiYyhkZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBERVNfS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBERVNfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IERFU19CTE9DS19TSVpFLAorCQkJLmdlbml2CQk9ICJlc2VxaXYiLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImVjYihkZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBERVNfS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBERVNfS0VZX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0RFUyB8IE1PRF9FQ0IgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0RFUyB8IE1PRF9FQ0IgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJjYmMoZGVzM19lZGUpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IERFUzNfRURFX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gREVTM19FREVfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiZWNiKGRlczNfZWRlKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBERVMzX0VERV9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IERFUzNfRURFX0tFWV9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF8zREVTIHwgTU9EX0VDQiB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfM0RFUyB8IE1PRF9FQ0IgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJjYmMoYWVzKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gQUVTX01JTl9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IEFFU19NQVhfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IEFFU19CTE9DS19TSVpFLAorCQkJLmdlbml2CQk9ICJlc2VxaXYiLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0VOQywKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0RFQywKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiZWNiKGFlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IEFFU19NSU5fS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBBRVNfTUFYX0tFWV9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfRUNCLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0FFUyB8IE1PRF9FQ0IsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImN0cihhZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBBRVNfTUlOX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gQUVTX01BWF9LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gQUVTX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DVFIsCisJLmNmZ19kZWMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NUUiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAicmZjMzY4NihjdHIoYWVzKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IEFFU19NSU5fS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBBRVNfTUFYX0tFWV9TSVpFLAorCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5nZW5pdgkJPSAiZXNlcWl2IiwKKwkJCS5zZXRrZXkJCT0gYWJsa19yZmMzNjg2X3NldGtleSwKKwkJCS5lbmNyeXB0CT0gYWJsa19yZmMzNjg2X2NyeXB0LAorCQkJLmRlY3J5cHQJPSBhYmxrX3JmYzM2ODZfY3J5cHQgfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ1RSLAorCS5jZmdfZGVjID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DVFIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhkZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBERVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfbWQ1LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfbWQ1LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhkZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBERVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX3NoYTEsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX3NoYTEsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMobWQ1KSxjYmMoYWVzKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gQUVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUJPSBNRDVfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX21kNSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0VOQywKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0RFQywKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhhZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX3NoYTEsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NCQ19FTkMsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfQUVTIHwgTU9EX0NCQ19ERUMsCit9IH07CisKKyNkZWZpbmUgSVhQX1BPU1RGSVggIi1peHA0eHgiCitzdGF0aWMgaW50IF9faW5pdCBpeHBfbW9kdWxlX2luaXQodm9pZCkKK3sKKwlpbnQgbnVtID0gQVJSQVlfU0laRShpeHA0eHhfYWxnb3MpOworCWludCBpLGVyciA7CisKKwlpZiAocGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZwc2V1ZG9fZGV2KSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlzcGluX2xvY2tfaW5pdCgmZGVzY19sb2NrKTsKKwlzcGluX2xvY2tfaW5pdCgmZW1lcmdfbG9jayk7CisKKwllcnIgPSBpbml0X2l4cF9jcnlwdG8oKTsKKwlpZiAoZXJyKSB7CisJCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKCZwc2V1ZG9fZGV2KTsKKwkJcmV0dXJuIGVycjsKKwl9CisJZm9yIChpPTA7IGk8IG51bTsgaSsrKSB7CisJCXN0cnVjdCBjcnlwdG9fYWxnICpjcmEgPSAmaXhwNHh4X2FsZ29zW2ldLmNyeXB0bzsKKworCQlpZiAoc25wcmludGYoY3JhLT5jcmFfZHJpdmVyX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsCisJCQkiJXMiSVhQX1BPU1RGSVgsIGNyYS0+Y3JhX25hbWUpID49CisJCQlDUllQVE9fTUFYX0FMR19OQU1FKQorCQl7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXN1cHBvcnRfYWVzICYmIChpeHA0eHhfYWxnb3NbaV0uY2ZnX2VuYyAmIE1PRF9BRVMpKSB7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIWl4cDR4eF9hbGdvc1tpXS5oYXNoKSB7CisJCQkvKiBibG9jayBjaXBoZXJzICovCisJCQljcmEtPmNyYV90eXBlID0gJmNyeXB0b19hYmxrY2lwaGVyX3R5cGU7CisJCQljcmEtPmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BQkxLQ0lQSEVSIHwKKwkJCQkJIENSWVBUT19BTEdfQVNZTkM7CisJCQlpZiAoIWNyYS0+Y3JhX2FibGtjaXBoZXIuc2V0a2V5KQorCQkJCWNyYS0+Y3JhX2FibGtjaXBoZXIuc2V0a2V5ID0gYWJsa19zZXRrZXk7CisJCQlpZiAoIWNyYS0+Y3JhX2FibGtjaXBoZXIuZW5jcnlwdCkKKwkJCQljcmEtPmNyYV9hYmxrY2lwaGVyLmVuY3J5cHQgPSBhYmxrX2VuY3J5cHQ7CisJCQlpZiAoIWNyYS0+Y3JhX2FibGtjaXBoZXIuZGVjcnlwdCkKKwkJCQljcmEtPmNyYV9hYmxrY2lwaGVyLmRlY3J5cHQgPSBhYmxrX2RlY3J5cHQ7CisJCQljcmEtPmNyYV9pbml0ID0gaW5pdF90Zm1fYWJsazsKKwkJfSBlbHNlIHsKKwkJCS8qIGF1dGhlbmMgKi8KKwkJCWNyYS0+Y3JhX3R5cGUgPSAmY3J5cHRvX2FlYWRfdHlwZTsKKwkJCWNyYS0+Y3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0FFQUQgfAorCQkJCQkgQ1JZUFRPX0FMR19BU1lOQzsKKwkJCWNyYS0+Y3JhX2FlYWQuc2V0a2V5ID0gYWVhZF9zZXRrZXk7CisJCQljcmEtPmNyYV9hZWFkLnNldGF1dGhzaXplID0gYWVhZF9zZXRhdXRoc2l6ZTsKKwkJCWNyYS0+Y3JhX2FlYWQuZW5jcnlwdCA9IGFlYWRfZW5jcnlwdDsKKwkJCWNyYS0+Y3JhX2FlYWQuZGVjcnlwdCA9IGFlYWRfZGVjcnlwdDsKKwkJCWNyYS0+Y3JhX2FlYWQuZ2l2ZW5jcnlwdCA9IGFlYWRfZ2l2ZW5jcnlwdDsKKwkJCWNyYS0+Y3JhX2luaXQgPSBpbml0X3RmbV9hZWFkOworCQl9CisJCWNyYS0+Y3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IGl4cF9jdHgpOworCQljcmEtPmNyYV9tb2R1bGUgPSBUSElTX01PRFVMRTsKKwkJY3JhLT5jcmFfYWxpZ25tYXNrID0gMzsKKwkJY3JhLT5jcmFfcHJpb3JpdHkgPSAzMDA7CisJCWNyYS0+Y3JhX2V4aXQgPSBleGl0X3RmbTsKKwkJaWYgKGNyeXB0b19yZWdpc3Rlcl9hbGcoY3JhKSkKKwkJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHJlZ2lzdGVyICclcydcbiIsCisJCQkJY3JhLT5jcmFfbmFtZSk7CisJCWVsc2UKKwkJCWl4cDR4eF9hbGdvc1tpXS5yZWdpc3RlcmVkID0gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBpeHBfbW9kdWxlX2V4aXQodm9pZCkKK3sKKwlpbnQgbnVtID0gQVJSQVlfU0laRShpeHA0eHhfYWxnb3MpOworCWludCBpOworCisJZm9yIChpPTA7IGk8IG51bTsgaSsrKSB7CisJCWlmIChpeHA0eHhfYWxnb3NbaV0ucmVnaXN0ZXJlZCkKKwkJCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmaXhwNHh4X2FsZ29zW2ldLmNyeXB0byk7CisJfQorCXJlbGVhc2VfaXhwX2NyeXB0bygpOworCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKCZwc2V1ZG9fZGV2KTsKK30KKworbW9kdWxlX2luaXQoaXhwX21vZHVsZV9pbml0KTsKK21vZHVsZV9leGl0KGl4cF9tb2R1bGVfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9BVVRIT1IoIkNocmlzdGlhbiBIb2huc3RhZWR0IDxjaG9obnN0YWVkdEBpbm5vbWluYXRlLmNvbT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiSVhQNHh4IGhhcmR3YXJlIGNyeXB0byIpOworCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLWFlcy5jIGIvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1hZXMuYwppbmRleCBiYjMwZWI5Li41NGEyYTE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLWFlcy5jCisrKyBiL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stYWVzLmMKQEAgLTM4NSwxMiArMzg1LDEyIEBACiAJaW50IHJldDsKIAogCWlmICghY3B1X2hhc194Y3J5cHQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiVklBIFBhZExvY2sgbm90IGRldGVjdGVkLlxuIik7CisJCXByaW50ayhLRVJOX05PVElDRSBQRlggIlZJQSBQYWRMb2NrIG5vdCBkZXRlY3RlZC5cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKIAlpZiAoIWNwdV9oYXNfeGNyeXB0X2VuYWJsZWQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiVklBIFBhZExvY2sgZGV0ZWN0ZWQsIGJ1dCBub3QgZW5hYmxlZC4gSG1tLCBzdHJhbmdlLi4uXG4iKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFIFBGWCAiVklBIFBhZExvY2sgZGV0ZWN0ZWQsIGJ1dCBub3QgZW5hYmxlZC4gSG1tLCBzdHJhbmdlLi4uXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLXNoYS5jIGIvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1zaGEuYwppbmRleCBjNjY2YjRlLi40MGQ1NjgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLXNoYS5jCisrKyBiL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stc2hhLmMKQEAgLTI1NCwxMiArMjU0LDEyIEBACiAJaW50IHJjID0gLUVOT0RFVjsKIAogCWlmICghY3B1X2hhc19waGUpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiVklBIFBhZExvY2sgSGFzaCBFbmdpbmUgbm90IGRldGVjdGVkLlxuIik7CisJCXByaW50ayhLRVJOX05PVElDRSBQRlggIlZJQSBQYWRMb2NrIEhhc2ggRW5naW5lIG5vdCBkZXRlY3RlZC5cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKIAlpZiAoIWNwdV9oYXNfcGhlX2VuYWJsZWQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiVklBIFBhZExvY2sgZGV0ZWN0ZWQsIGJ1dCBub3QgZW5hYmxlZC4gSG1tLCBzdHJhbmdlLi4uXG4iKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFIFBGWCAiVklBIFBhZExvY2sgZGV0ZWN0ZWQsIGJ1dCBub3QgZW5hYmxlZC4gSG1tLCBzdHJhbmdlLi4uXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmMgYi9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjExOTQzZAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuYwpAQCAtMCwwICsxLDE1OTcgQEAKKy8qCisgKiB0YWxpdG9zIC0gRnJlZXNjYWxlIEludGVncmF0ZWQgU2VjdXJpdHkgRW5naW5lIChTRUMpIGRldmljZSBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqCisgKiBTY2F0dGVybGlzdCBDcnlwdG8gQVBJIGdsdWUgY29kZSBjb3BpZWQgZnJvbSBmaWxlcyB3aXRoIHRoZSBmb2xsb3dpbmc6CisgKiBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwNyBIZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CisgKgorICogQ3J5cHRvIGFsZ29yaXRobSByZWdpc3RyYXRpb24gY29kZSBjb3BpZWQgZnJvbSBoaWZuIGRyaXZlcjoKKyAqIDIwMDcrIENvcHlyaWdodCAoYykgRXZnZW5peSBQb2x5YWtvdiA8am9obnBvbEAya2EubWlwdC5ydT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9od19yYW5kb20uaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgorCisjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGNyeXB0by9hZXMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vZGVzLmg+CisjaW5jbHVkZSA8Y3J5cHRvL3NoYS5oPgorI2luY2x1ZGUgPGNyeXB0by9hZWFkLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2F1dGhlbmMuaD4KKworI2luY2x1ZGUgInRhbGl0b3MuaCIKKworI2RlZmluZSBUQUxJVE9TX1RJTUVPVVQgMTAwMDAwCisjZGVmaW5lIFRBTElUT1NfTUFYX0RBVEFfTEVOIDY1NTM1CisKKyNkZWZpbmUgREVTQ19UWVBFKGRlc2NfaGRyKSAoKGJlMzJfdG9fY3B1KGRlc2NfaGRyKSA+PiAzKSAmIDB4MWYpCisjZGVmaW5lIFBSSU1BUllfRVUoZGVzY19oZHIpICgoYmUzMl90b19jcHUoZGVzY19oZHIpID4+IDI4KSAmIDB4ZikKKyNkZWZpbmUgU0VDT05EQVJZX0VVKGRlc2NfaGRyKSAoKGJlMzJfdG9fY3B1KGRlc2NfaGRyKSA+PiAxNikgJiAweGYpCisKKy8qIGRlc2NyaXB0b3IgcG9pbnRlciBlbnRyeSAqLworc3RydWN0IHRhbGl0b3NfcHRyIHsKKwlfX2JlMTYgbGVuOwkvKiBsZW5ndGggKi8KKwl1OCBqX2V4dGVudDsJLyoganVtcCB0byBzZyBsaW5rIHRhYmxlIGFuZC9vciBleHRlbnQgKi8KKwl1OCBlcHRyOwkvKiBleHRlbmRlZCBhZGRyZXNzICovCisJX19iZTMyIHB0cjsJLyogYWRkcmVzcyAqLworfTsKKworLyogZGVzY3JpcHRvciAqLworc3RydWN0IHRhbGl0b3NfZGVzYyB7CisJX19iZTMyIGhkcjsJCQkvKiBoZWFkZXIgaGlnaCBiaXRzICovCisJX19iZTMyIGhkcl9sbzsJCQkvKiBoZWFkZXIgbG93IGJpdHMgKi8KKwlzdHJ1Y3QgdGFsaXRvc19wdHIgcHRyWzddOwkvKiBwdHIvbGVuIHBhaXIgYXJyYXkgKi8KK307CisKKy8qKgorICogdGFsaXRvc19yZXF1ZXN0IC0gZGVzY3JpcHRvciBzdWJtaXNzaW9uIHJlcXVlc3QKKyAqIEBkZXNjOiBkZXNjcmlwdG9yIHBvaW50ZXIgKGtlcm5lbCB2aXJ0dWFsKQorICogQGRtYV9kZXNjOiBkZXNjcmlwdG9yJ3MgcGh5c2ljYWwgYnVzIGFkZHJlc3MKKyAqIEBjYWxsYmFjazogd2hvbSB0byBjYWxsIHdoZW4gZGVzY3JpcHRvciBwcm9jZXNzaW5nIGlzIGRvbmUKKyAqIEBjb250ZXh0OiBjYWxsZXIgY29udGV4dCAob3B0aW9uYWwpCisgKi8KK3N0cnVjdCB0YWxpdG9zX3JlcXVlc3QgeworCXN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2M7CisJZG1hX2FkZHJfdCBkbWFfZGVzYzsKKwl2b2lkICgqY2FsbGJhY2spIChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsCisJICAgICAgICAgICAgICAgICAgdm9pZCAqY29udGV4dCwgaW50IGVycm9yKTsKKwl2b2lkICpjb250ZXh0OworfTsKKworc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSB7CisJc3RydWN0IGRldmljZSAqZGV2OworCXN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2OworCXZvaWQgX19pb21lbSAqcmVnOworCWludCBpcnE7CisKKwkvKiBTRUMgdmVyc2lvbiBnZW9tZXRyeSAoZnJvbSBkZXZpY2UgdHJlZSBub2RlKSAqLworCXVuc2lnbmVkIGludCBudW1fY2hhbm5lbHM7CisJdW5zaWduZWQgaW50IGNoZmlmb19sZW47CisJdW5zaWduZWQgaW50IGV4ZWNfdW5pdHM7CisJdW5zaWduZWQgaW50IGRlc2NfdHlwZXM7CisKKwkvKiBuZXh0IGNoYW5uZWwgdG8gYmUgYXNzaWduZWQgbmV4dCBpbmNvbWluZyBkZXNjcmlwdG9yICovCisJYXRvbWljX3QgbGFzdF9jaGFuOworCisJLyogcGVyLWNoYW5uZWwgcmVxdWVzdCBmaWZvICovCisJc3RydWN0IHRhbGl0b3NfcmVxdWVzdCAqKmZpZm87CisKKwkvKgorCSAqIGxlbmd0aCBvZiB0aGUgcmVxdWVzdCBmaWZvCisJICogZmlmb19sZW4gaXMgY2hmaWZvX2xlbiByb3VuZGVkIHVwIHRvIG5leHQgcG93ZXIgb2YgMgorCSAqIHNvIHdlIGNhbiB1c2UgYml0d2lzZSBvcHMgdG8gd3JhcAorCSAqLworCXVuc2lnbmVkIGludCBmaWZvX2xlbjsKKworCS8qIHBlci1jaGFubmVsIGluZGV4IHRvIG5leHQgZnJlZSBkZXNjcmlwdG9yIHJlcXVlc3QgKi8KKwlpbnQgKmhlYWQ7CisKKwkvKiBwZXItY2hhbm5lbCBpbmRleCB0byBuZXh0IGluLXByb2dyZXNzL2RvbmUgZGVzY3JpcHRvciByZXF1ZXN0ICovCisJaW50ICp0YWlsOworCisJLyogcGVyLWNoYW5uZWwgcmVxdWVzdCBzdWJtaXNzaW9uIChoZWFkKSBhbmQgcmVsZWFzZSAodGFpbCkgbG9ja3MgKi8KKwlzcGlubG9ja190ICpoZWFkX2xvY2s7CisJc3BpbmxvY2tfdCAqdGFpbF9sb2NrOworCisJLyogcmVxdWVzdCBjYWxsYmFjayB0YXNrbGV0ICovCisJc3RydWN0IHRhc2tsZXRfc3RydWN0IGRvbmVfdGFzazsKKwlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgZXJyb3JfdGFzazsKKworCS8qIGxpc3Qgb2YgcmVnaXN0ZXJlZCBhbGdvcml0aG1zICovCisJc3RydWN0IGxpc3RfaGVhZCBhbGdfbGlzdDsKKworCS8qIGh3cm5nIGRldmljZSAqLworCXN0cnVjdCBod3JuZyBybmc7Cit9OworCisvKgorICogbWFwIHZpcnR1YWwgc2luZ2xlIChjb250aWd1b3VzKSBwb2ludGVyIHRvIGgvdyBkZXNjcmlwdG9yIHBvaW50ZXIKKyAqLworc3RhdGljIHZvaWQgbWFwX3NpbmdsZV90YWxpdG9zX3B0cihzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgc3RydWN0IHRhbGl0b3NfcHRyICp0YWxpdG9zX3B0ciwKKwkJCQkgICB1bnNpZ25lZCBzaG9ydCBsZW4sIHZvaWQgKmRhdGEsCisJCQkJICAgdW5zaWduZWQgY2hhciBleHRlbnQsCisJCQkJICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQoreworCXRhbGl0b3NfcHRyLT5sZW4gPSBjcHVfdG9fYmUxNihsZW4pOworCXRhbGl0b3NfcHRyLT5wdHIgPSBjcHVfdG9fYmUzMihkbWFfbWFwX3NpbmdsZShkZXYsIGRhdGEsIGxlbiwgZGlyKSk7CisJdGFsaXRvc19wdHItPmpfZXh0ZW50ID0gZXh0ZW50OworfQorCisvKgorICogdW5tYXAgYnVzIHNpbmdsZSAoY29udGlndW91cykgaC93IGRlc2NyaXB0b3IgcG9pbnRlcgorICovCitzdGF0aWMgdm9pZCB1bm1hcF9zaW5nbGVfdGFsaXRvc19wdHIoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgICAgc3RydWN0IHRhbGl0b3NfcHRyICp0YWxpdG9zX3B0ciwKKwkJCQkgICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKK3sKKwlkbWFfdW5tYXBfc2luZ2xlKGRldiwgYmUzMl90b19jcHUodGFsaXRvc19wdHItPnB0ciksCisJCQkgYmUxNl90b19jcHUodGFsaXRvc19wdHItPmxlbiksIGRpcik7Cit9CisKK3N0YXRpYyBpbnQgcmVzZXRfY2hhbm5lbChzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBjaCkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHRpbWVvdXQgPSBUQUxJVE9TX1RJTUVPVVQ7CisKKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ0NSKGNoKSwgVEFMSVRPU19DQ0NSX1JFU0VUKTsKKworCXdoaWxlICgoaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1IoY2gpKSAmIFRBTElUT1NfQ0NDUl9SRVNFVCkKKwkgICAgICAgJiYgLS10aW1lb3V0KQorCQljcHVfcmVsYXgoKTsKKworCWlmICh0aW1lb3V0ID09IDApIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVzZXQgY2hhbm5lbCAlZFxuIiwgY2gpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwkvKiBzZXQgZG9uZSB3cml0ZWJhY2sgYW5kIElSUSAqLworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1JfTE8oY2gpLCBUQUxJVE9TX0NDQ1JfTE9fQ0RXRSB8CisJCSAgVEFMSVRPU19DQ0NSX0xPX0NESUUpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVzZXRfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHRpbWVvdXQgPSBUQUxJVE9TX1RJTUVPVVQ7CisKKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19NQ1IsIFRBTElUT1NfTUNSX1NXUik7CisKKwl3aGlsZSAoKGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19NQ1IpICYgVEFMSVRPU19NQ1JfU1dSKQorCSAgICAgICAmJiAtLXRpbWVvdXQpCisJCWNwdV9yZWxheCgpOworCisJaWYgKHRpbWVvdXQgPT0gMCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXNldCBkZXZpY2VcbiIpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFJlc2V0IGFuZCBpbml0aWFsaXplIHRoZSBkZXZpY2UKKyAqLworc3RhdGljIGludCBpbml0X2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCBjaCwgZXJyOworCisJLyoKKwkgKiBNYXN0ZXIgcmVzZXQKKwkgKiBlcnJhdGEgZG9jdW1lbnRhdGlvbjogd2FybmluZzogY2VydGFpbiBTRUMgaW50ZXJydXB0cworCSAqIGFyZSBub3QgZnVsbHkgY2xlYXJlZCBieSB3cml0aW5nIHRoZSBNQ1I6U1dSIGJpdCwKKwkgKiBzZXQgYml0IHR3aWNlIHRvIGNvbXBsZXRlbHkgcmVzZXQKKwkgKi8KKwllcnIgPSByZXNldF9kZXZpY2UoZGV2KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gcmVzZXRfZGV2aWNlKGRldik7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCS8qIHJlc2V0IGNoYW5uZWxzICovCisJZm9yIChjaCA9IDA7IGNoIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBjaCsrKSB7CisJCWVyciA9IHJlc2V0X2NoYW5uZWwoZGV2LCBjaCk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKworCS8qIGVuYWJsZSBjaGFubmVsIGRvbmUgYW5kIGVycm9yIGludGVycnVwdHMgKi8KKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19JTVIsIFRBTElUT1NfSU1SX0lOSVQpOworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lNUl9MTywgVEFMSVRPU19JTVJfTE9fSU5JVCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiB0YWxpdG9zX3N1Ym1pdCAtIHN1Ym1pdHMgYSBkZXNjcmlwdG9yIHRvIHRoZSBkZXZpY2UgZm9yIHByb2Nlc3NpbmcKKyAqIEBkZXY6CXRoZSBTRUMgZGV2aWNlIHRvIGJlIHVzZWQKKyAqIEBkZXNjOgl0aGUgZGVzY3JpcHRvciB0byBiZSBwcm9jZXNzZWQgYnkgdGhlIGRldmljZQorICogQGNhbGxiYWNrOgl3aG9tIHRvIGNhbGwgd2hlbiBwcm9jZXNzaW5nIGlzIGNvbXBsZXRlCisgKiBAY29udGV4dDoJYSBoYW5kbGUgZm9yIHVzZSBieSBjYWxsZXIgKG9wdGlvbmFsKQorICoKKyAqIGRlc2MgbXVzdCBjb250YWluIHZhbGlkIGRtYS1tYXBwZWQgKGJ1cyBwaHlzaWNhbCkgYWRkcmVzcyBwb2ludGVycy4KKyAqIGNhbGxiYWNrIG11c3QgY2hlY2sgZXJyIGFuZCBmZWVkYmFjayBpbiBkZXNjcmlwdG9yIGhlYWRlcgorICogZm9yIGRldmljZSBwcm9jZXNzaW5nIHN0YXR1cy4KKyAqLworc3RhdGljIGludCB0YWxpdG9zX3N1Ym1pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsCisJCQkgIHZvaWQgKCpjYWxsYmFjaykoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkgICBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLAorCQkJCQkgICB2b2lkICpjb250ZXh0LCBpbnQgZXJyb3IpLAorCQkJICB2b2lkICpjb250ZXh0KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0ICpyZXF1ZXN0OworCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIGNoOworCWludCBoZWFkOworCisJLyogc2VsZWN0IGRvbmUgbm90aWZpY2F0aW9uICovCisJZGVzYy0+aGRyIHw9IERFU0NfSERSX0RPTkVfTk9USUZZOworCisJLyogZW11bGF0ZSBTRUMncyByb3VuZC1yb2JpbiBjaGFubmVsIGZpZm8gcG9sbGluZyBzY2hlbWUgKi8KKwljaCA9IGF0b21pY19pbmNfcmV0dXJuKCZwcml2LT5sYXN0X2NoYW4pICYgKHByaXYtPm51bV9jaGFubmVscyAtIDEpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPmhlYWRfbG9ja1tjaF0sIGZsYWdzKTsKKworCWhlYWQgPSBwcml2LT5oZWFkW2NoXTsKKwlyZXF1ZXN0ID0gJnByaXYtPmZpZm9bY2hdW2hlYWRdOworCisJaWYgKHJlcXVlc3QtPmRlc2MpIHsKKwkJLyogcmVxdWVzdCBxdWV1ZSBpcyBmdWxsICovCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPmhlYWRfbG9ja1tjaF0sIGZsYWdzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCisJLyogbWFwIGRlc2NyaXB0b3IgYW5kIHNhdmUgY2FsbGVyIGRhdGEgKi8KKwlyZXF1ZXN0LT5kbWFfZGVzYyA9IGRtYV9tYXBfc2luZ2xlKGRldiwgZGVzYywgc2l6ZW9mKCpkZXNjKSwKKwkJCQkJICAgRE1BX0JJRElSRUNUSU9OQUwpOworCXJlcXVlc3QtPmNhbGxiYWNrID0gY2FsbGJhY2s7CisJcmVxdWVzdC0+Y29udGV4dCA9IGNvbnRleHQ7CisKKwkvKiBpbmNyZW1lbnQgZmlmbyBoZWFkICovCisJcHJpdi0+aGVhZFtjaF0gPSAocHJpdi0+aGVhZFtjaF0gKyAxKSAmIChwcml2LT5maWZvX2xlbiAtIDEpOworCisJc21wX3dtYigpOworCXJlcXVlc3QtPmRlc2MgPSBkZXNjOworCisJLyogR08hICovCisJd21iKCk7CisJb3V0X2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19GRl9MTyhjaCksIHJlcXVlc3QtPmRtYV9kZXNjKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPmhlYWRfbG9ja1tjaF0sIGZsYWdzKTsKKworCXJldHVybiAtRUlOUFJPR1JFU1M7Cit9CisKKy8qCisgKiBwcm9jZXNzIHdoYXQgd2FzIGRvbmUsIG5vdGlmeSBjYWxsYmFjayBvZiBlcnJvciBpZiBub3QKKyAqLworc3RhdGljIHZvaWQgZmx1c2hfY2hhbm5lbChzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBjaCwgaW50IGVycm9yLCBpbnQgcmVzZXRfY2gpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCB0YWxpdG9zX3JlcXVlc3QgKnJlcXVlc3QsIHNhdmVkX3JlcTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCB0YWlsLCBzdGF0dXM7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+dGFpbF9sb2NrW2NoXSwgZmxhZ3MpOworCisJdGFpbCA9IHByaXYtPnRhaWxbY2hdOworCXdoaWxlIChwcml2LT5maWZvW2NoXVt0YWlsXS5kZXNjKSB7CisJCXJlcXVlc3QgPSAmcHJpdi0+Zmlmb1tjaF1bdGFpbF07CisKKwkJLyogZGVzY3JpcHRvcnMgd2l0aCB0aGVpciBkb25lIGJpdHMgc2V0IGRvbid0IGdldCB0aGUgZXJyb3IgKi8KKwkJcm1iKCk7CisJCWlmICgocmVxdWVzdC0+ZGVzYy0+aGRyICYgREVTQ19IRFJfRE9ORSkgPT0gREVTQ19IRFJfRE9ORSkKKwkJCXN0YXR1cyA9IDA7CisJCWVsc2UKKwkJCWlmICghZXJyb3IpCisJCQkJYnJlYWs7CisJCQllbHNlCisJCQkJc3RhdHVzID0gZXJyb3I7CisKKwkJZG1hX3VubWFwX3NpbmdsZShkZXYsIHJlcXVlc3QtPmRtYV9kZXNjLAorCQkJc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX2Rlc2MpLCBETUFfQklESVJFQ1RJT05BTCk7CisKKwkJLyogY29weSBlbnRyaWVzIHNvIHdlIGNhbiBjYWxsIGNhbGxiYWNrIG91dHNpZGUgbG9jayAqLworCQlzYXZlZF9yZXEuZGVzYyA9IHJlcXVlc3QtPmRlc2M7CisJCXNhdmVkX3JlcS5jYWxsYmFjayA9IHJlcXVlc3QtPmNhbGxiYWNrOworCQlzYXZlZF9yZXEuY29udGV4dCA9IHJlcXVlc3QtPmNvbnRleHQ7CisKKwkJLyogcmVsZWFzZSByZXF1ZXN0IGVudHJ5IGluIGZpZm8gKi8KKwkJc21wX3dtYigpOworCQlyZXF1ZXN0LT5kZXNjID0gTlVMTDsKKworCQkvKiBpbmNyZW1lbnQgZmlmbyB0YWlsICovCisJCXByaXYtPnRhaWxbY2hdID0gKHRhaWwgKyAxKSAmIChwcml2LT5maWZvX2xlbiAtIDEpOworCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPnRhaWxfbG9ja1tjaF0sIGZsYWdzKTsKKwkJc2F2ZWRfcmVxLmNhbGxiYWNrKGRldiwgc2F2ZWRfcmVxLmRlc2MsIHNhdmVkX3JlcS5jb250ZXh0LAorCQkJCSAgIHN0YXR1cyk7CisJCS8qIGNoYW5uZWwgbWF5IHJlc3VtZSBwcm9jZXNzaW5nIGluIHNpbmdsZSBkZXNjIGVycm9yIGNhc2UgKi8KKwkJaWYgKGVycm9yICYmICFyZXNldF9jaCAmJiBzdGF0dXMgPT0gZXJyb3IpCisJCQlyZXR1cm47CisJCXNwaW5fbG9ja19pcnFzYXZlKCZwcml2LT50YWlsX2xvY2tbY2hdLCBmbGFncyk7CisJCXRhaWwgPSBwcml2LT50YWlsW2NoXTsKKwl9CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT50YWlsX2xvY2tbY2hdLCBmbGFncyk7Cit9CisKKy8qCisgKiBwcm9jZXNzIGNvbXBsZXRlZCByZXF1ZXN0cyBmb3IgY2hhbm5lbHMgdGhhdCBoYXZlIGRvbmUgc3RhdHVzCisgKi8KK3N0YXRpYyB2b2lkIHRhbGl0b3NfZG9uZSh1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilkYXRhOworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlpbnQgY2g7CisKKwlmb3IgKGNoID0gMDsgY2ggPCBwcml2LT5udW1fY2hhbm5lbHM7IGNoKyspCisJCWZsdXNoX2NoYW5uZWwoZGV2LCBjaCwgMCwgMCk7Cit9CisKKy8qCisgKiBsb2NhdGUgY3VycmVudCAob2ZmZW5kaW5nKSBkZXNjcmlwdG9yCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdGFsaXRvc19kZXNjICpjdXJyZW50X2Rlc2Moc3RydWN0IGRldmljZSAqZGV2LCBpbnQgY2gpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCB0YWlsID0gcHJpdi0+dGFpbFtjaF07CisJZG1hX2FkZHJfdCBjdXJfZGVzYzsKKworCWN1cl9kZXNjID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NEUFJfTE8oY2gpKTsKKworCXdoaWxlIChwcml2LT5maWZvW2NoXVt0YWlsXS5kbWFfZGVzYyAhPSBjdXJfZGVzYykgeworCQl0YWlsID0gKHRhaWwgKyAxKSAmIChwcml2LT5maWZvX2xlbiAtIDEpOworCQlpZiAodGFpbCA9PSBwcml2LT50YWlsW2NoXSkgeworCQkJZGV2X2VycihkZXYsICJjb3VsZG4ndCBsb2NhdGUgY3VycmVudCBkZXNjcmlwdG9yXG4iKTsKKwkJCXJldHVybiBOVUxMOworCQl9CisJfQorCisJcmV0dXJuIHByaXYtPmZpZm9bY2hdW3RhaWxdLmRlc2M7Cit9CisKKy8qCisgKiB1c2VyIGRpYWdub3N0aWNzOyByZXBvcnQgcm9vdCBjYXVzZSBvZiBlcnJvciBiYXNlZCBvbiBleGVjdXRpb24gdW5pdCBzdGF0dXMKKyAqLworc3RhdGljIHZvaWQgcmVwb3J0X2V1X2Vycm9yKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGNoLCBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjKQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlpbnQgaTsKKworCXN3aXRjaCAoZGVzYy0+aGRyICYgREVTQ19IRFJfU0VMMF9NQVNLKSB7CisJY2FzZSBERVNDX0hEUl9TRUwwX0FGRVU6CisJCWRldl9lcnIoZGV2LCAiQUZFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19BRkVVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19BRkVVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9ERVU6CisJCWRldl9lcnIoZGV2LCAiREVVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0RFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfREVVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9NREVVQToKKwljYXNlIERFU0NfSERSX1NFTDBfTURFVUI6CisJCWRldl9lcnIoZGV2LCAiTURFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19NREVVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19NREVVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9STkc6CisJCWRldl9lcnIoZGV2LCAiUk5HVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9QS0VVOgorCQlkZXZfZXJyKGRldiwgIlBLRVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUEtFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUEtFVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfQUVTVToKKwkJZGV2X2VycihkZXYsICJBRVNVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0FFU1VJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0FFU1VJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX0NSQ1U6CisJCWRldl9lcnIoZGV2LCAiQ1JDVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DUkNVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DUkNVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9LRVU6CisJCWRldl9lcnIoZGV2LCAiS0VVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0tFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfS0VVSVNSX0xPKSk7CisJCWJyZWFrOworCX0KKworCXN3aXRjaCAoZGVzYy0+aGRyICYgREVTQ19IRFJfU0VMMV9NQVNLKSB7CisJY2FzZSBERVNDX0hEUl9TRUwxX01ERVVBOgorCWNhc2UgREVTQ19IRFJfU0VMMV9NREVVQjoKKwkJZGV2X2VycihkZXYsICJNREVVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01ERVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01ERVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwxX0NSQ1U6CisJCWRldl9lcnIoZGV2LCAiQ1JDVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DUkNVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DUkNVSVNSX0xPKSk7CisJCWJyZWFrOworCX0KKworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspCisJCWRldl9lcnIoZGV2LCAiREVTQ0JVRiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19ERVNDQlVGKGNoKSArIDgqaSksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfREVTQ0JVRl9MTyhjaCkgKyA4KmkpKTsKK30KKworLyoKKyAqIHJlY292ZXIgZnJvbSBlcnJvciBpbnRlcnJ1cHRzCisgKi8KK3N0YXRpYyB2b2lkIHRhbGl0b3NfZXJyb3IodW5zaWduZWQgbG9uZyBkYXRhKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IChzdHJ1Y3QgZGV2aWNlICopZGF0YTsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHRpbWVvdXQgPSBUQUxJVE9TX1RJTUVPVVQ7CisJaW50IGNoLCBlcnJvciwgcmVzZXRfZGV2ID0gMCwgcmVzZXRfY2ggPSAwOworCXUzMiBpc3IsIGlzcl9sbywgdiwgdl9sbzsKKworCWlzciA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JU1IpOworCWlzcl9sbyA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JU1JfTE8pOworCisJZm9yIChjaCA9IDA7IGNoIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBjaCsrKSB7CisJCS8qIHNraXAgY2hhbm5lbHMgd2l0aG91dCBlcnJvcnMgKi8KKwkJaWYgKCEoaXNyICYgKDEgPDwgKGNoICogMiArIDEpKSkpCisJCQljb250aW51ZTsKKworCQllcnJvciA9IC1FSU5WQUw7CisKKwkJdiA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ1BTUihjaCkpOworCQl2X2xvID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDUFNSX0xPKGNoKSk7CisKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0RPRikgeworCQkJZGV2X2VycihkZXYsICJkb3VibGUgZmV0Y2ggZmlmbyBvdmVyZmxvdyBlcnJvclxuIik7CisJCQllcnJvciA9IC1FQUdBSU47CisJCQlyZXNldF9jaCA9IDE7CisJCX0KKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX1NPRikgeworCQkJLyogaC93IGRyb3BwZWQgZGVzY3JpcHRvciAqLworCQkJZGV2X2VycihkZXYsICJzaW5nbGUgZmV0Y2ggZmlmbyBvdmVyZmxvdyBlcnJvclxuIik7CisJCQllcnJvciA9IC1FQUdBSU47CisJCX0KKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX01EVEUpCisJCQlkZXZfZXJyKGRldiwgIm1hc3RlciBkYXRhIHRyYW5zZmVyIGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX1NHRExaKQorCQkJZGV2X2VycihkZXYsICJzL2cgZGF0YSBsZW5ndGggemVybyBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19GUFopCisJCQlkZXZfZXJyKGRldiwgImZldGNoIHBvaW50ZXIgemVybyBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19JREgpCisJCQlkZXZfZXJyKGRldiwgImlsbGVnYWwgZGVzY3JpcHRvciBoZWFkZXIgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fSUVVKQorCQkJZGV2X2VycihkZXYsICJpbnZhbGlkIGV4ZWN1dGlvbiB1bml0IGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0VVKQorCQkJcmVwb3J0X2V1X2Vycm9yKGRldiwgY2gsIGN1cnJlbnRfZGVzYyhkZXYsIGNoKSk7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19HQikKKwkJCWRldl9lcnIoZGV2LCAiZ2F0aGVyIGJvdW5kYXJ5IGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0dSTCkKKwkJCWRldl9lcnIoZGV2LCAiZ2F0aGVyIHJldHVybi9sZW5ndGggZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fU0IpCisJCQlkZXZfZXJyKGRldiwgInNjYXR0ZXIgYm91bmRhcnkgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fU1JMKQorCQkJZGV2X2VycihkZXYsICJzY2F0dGVyIHJldHVybi9sZW5ndGggZXJyb3JcbiIpOworCisJCWZsdXNoX2NoYW5uZWwoZGV2LCBjaCwgZXJyb3IsIHJlc2V0X2NoKTsKKworCQlpZiAocmVzZXRfY2gpIHsKKwkJCXJlc2V0X2NoYW5uZWwoZGV2LCBjaCk7CisJCX0gZWxzZSB7CisJCQlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ0NSKGNoKSwKKwkJCQkgIFRBTElUT1NfQ0NDUl9DT05UKTsKKwkJCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1JfTE8oY2gpLCAwKTsKKwkJCXdoaWxlICgoaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1IoY2gpKSAmCisJCQkgICAgICAgVEFMSVRPU19DQ0NSX0NPTlQpICYmIC0tdGltZW91dCkKKwkJCQljcHVfcmVsYXgoKTsKKwkJCWlmICh0aW1lb3V0ID09IDApIHsKKwkJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXN0YXJ0IGNoYW5uZWwgJWRcbiIsCisJCQkJCWNoKTsKKwkJCQlyZXNldF9kZXYgPSAxOworCQkJfQorCQl9CisJfQorCWlmIChyZXNldF9kZXYgfHwgaXNyICYgflRBTElUT1NfSVNSX0NIRVJSIHx8IGlzcl9sbykgeworCQlkZXZfZXJyKGRldiwgImRvbmUgb3ZlcmZsb3csIGludGVybmFsIHRpbWUgb3V0LCBvciBybmd1IGVycm9yOiAiCisJCSAgICAgICAgIklTUiAweCUwOHhfJTA4eFxuIiwgaXNyLCBpc3JfbG8pOworCisJCS8qIHB1cmdlIHJlcXVlc3QgcXVldWVzICovCisJCWZvciAoY2ggPSAwOyBjaCA8IHByaXYtPm51bV9jaGFubmVsczsgY2grKykKKwkJCWZsdXNoX2NoYW5uZWwoZGV2LCBjaCwgLUVJTywgMSk7CisKKwkJLyogcmVzZXQgYW5kIHJlaW5pdGlhbGl6ZSB0aGUgZGV2aWNlICovCisJCWluaXRfZGV2aWNlKGRldik7CisJfQorfQorCitzdGF0aWMgaXJxcmV0dXJuX3QgdGFsaXRvc19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBkYXRhOworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1MzIgaXNyLCBpc3JfbG87CisKKwlpc3IgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSVNSKTsKKwlpc3JfbG8gPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSVNSX0xPKTsKKworCS8qIGFjayAqLworCW91dF9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSUNSLCBpc3IpOworCW91dF9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSUNSX0xPLCBpc3JfbG8pOworCisJaWYgKHVubGlrZWx5KChpc3IgJiB+VEFMSVRPU19JU1JfQ0hET05FKSB8fCBpc3JfbG8pKQorCQl0YWxpdG9zX2Vycm9yKCh1bnNpZ25lZCBsb25nKWRhdGEpOworCWVsc2UKKwkJaWYgKGxpa2VseShpc3IgJiBUQUxJVE9TX0lTUl9DSERPTkUpKQorCQkJdGFza2xldF9zY2hlZHVsZSgmcHJpdi0+ZG9uZV90YXNrKTsKKworCXJldHVybiAoaXNyIHx8IGlzcl9sbykgPyBJUlFfSEFORExFRCA6IElSUV9OT05FOworfQorCisvKgorICogaHdybmcKKyAqLworc3RhdGljIGludCB0YWxpdG9zX3JuZ19kYXRhX3ByZXNlbnQoc3RydWN0IGh3cm5nICpybmcsIGludCB3YWl0KQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IChzdHJ1Y3QgZGV2aWNlICopcm5nLT5wcml2OworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1MzIgb2ZsOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDIwOyBpKyspIHsKKwkJb2ZsID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VTUl9MTykgJgorCQkgICAgICBUQUxJVE9TX1JOR1VTUl9MT19PRkw7CisJCWlmIChvZmwgfHwgIXdhaXQpCisJCQlicmVhazsKKwkJdWRlbGF5KDEwKTsKKwl9CisKKwlyZXR1cm4gISFvZmw7Cit9CisKK3N0YXRpYyBpbnQgdGFsaXRvc19ybmdfZGF0YV9yZWFkKHN0cnVjdCBod3JuZyAqcm5nLCB1MzIgKmRhdGEpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilybmctPnByaXY7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJLyogcm5nIGZpZm8gcmVxdWlyZXMgNjQtYml0IGFjY2Vzc2VzICovCisJKmRhdGEgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVV9GSUZPKTsKKwkqZGF0YSA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVX0ZJRk9fTE8pOworCisJcmV0dXJuIHNpemVvZih1MzIpOworfQorCitzdGF0aWMgaW50IHRhbGl0b3Nfcm5nX2luaXQoc3RydWN0IGh3cm5nICpybmcpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilybmctPnByaXY7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGludCB0aW1lb3V0ID0gVEFMSVRPU19USU1FT1VUOworCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVVJDUl9MTywgVEFMSVRPU19STkdVUkNSX0xPX1NSKTsKKwl3aGlsZSAoIShpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVVNSX0xPKSAmIFRBTElUT1NfUk5HVVNSX0xPX1JEKQorCSAgICAgICAmJiAtLXRpbWVvdXQpCisJCWNwdV9yZWxheCgpOworCWlmICh0aW1lb3V0ID09IDApIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVzZXQgcm5nIGh3XG4iKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJLyogc3RhcnQgZ2VuZXJhdGluZyAqLworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VEU1JfTE8sIDApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGFsaXRvc19yZWdpc3Rlcl9ybmcoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCXByaXYtPnJuZy5uYW1lCQk9IGRldl9kcml2ZXJfc3RyaW5nKGRldiksCisJcHJpdi0+cm5nLmluaXQJCT0gdGFsaXRvc19ybmdfaW5pdCwKKwlwcml2LT5ybmcuZGF0YV9wcmVzZW50CT0gdGFsaXRvc19ybmdfZGF0YV9wcmVzZW50LAorCXByaXYtPnJuZy5kYXRhX3JlYWQJPSB0YWxpdG9zX3JuZ19kYXRhX3JlYWQsCisJcHJpdi0+cm5nLnByaXYJCT0gKHVuc2lnbmVkIGxvbmcpZGV2OworCisJcmV0dXJuIGh3cm5nX3JlZ2lzdGVyKCZwcml2LT5ybmcpOworfQorCitzdGF0aWMgdm9pZCB0YWxpdG9zX3VucmVnaXN0ZXJfcm5nKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwlod3JuZ191bnJlZ2lzdGVyKCZwcml2LT5ybmcpOworfQorCisvKgorICogY3J5cHRvIGFsZworICovCisjZGVmaW5lIFRBTElUT1NfQ1JBX1BSSU9SSVRZCQkzMDAwCisjZGVmaW5lIFRBTElUT1NfTUFYX0tFWV9TSVpFCQk2NAorI2RlZmluZSBUQUxJVE9TX01BWF9JVl9MRU5HVEgJCTE2IC8qIG1heCBvZiBBRVNfQkxPQ0tfU0laRSwgREVTM19FREVfQkxPQ0tfU0laRSAqLworCisjZGVmaW5lIE1ENV9ESUdFU1RfU0laRSAgIDE2CisKK3N0cnVjdCB0YWxpdG9zX2N0eCB7CisJc3RydWN0IGRldmljZSAqZGV2OworCV9fYmUzMiBkZXNjX2hkcl90ZW1wbGF0ZTsKKwl1OCBrZXlbVEFMSVRPU19NQVhfS0VZX1NJWkVdOworCXU4IGl2W1RBTElUT1NfTUFYX0lWX0xFTkdUSF07CisJdW5zaWduZWQgaW50IGtleWxlbjsKKwl1bnNpZ25lZCBpbnQgZW5ja2V5bGVuOworCXVuc2lnbmVkIGludCBhdXRoa2V5bGVuOworCXVuc2lnbmVkIGludCBhdXRoc2l6ZTsKK307CisKK3N0YXRpYyBpbnQgYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplKHN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYywKKwkJCQkJCSB1bnNpZ25lZCBpbnQgYXV0aHNpemUpCit7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisKKwljdHgtPmF1dGhzaXplID0gYXV0aHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYywKKwkJCQkJICAgIGNvbnN0IHU4ICprZXksIHVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IHJ0YXR0ciAqcnRhID0gKHZvaWQgKilrZXk7CisJc3RydWN0IGNyeXB0b19hdXRoZW5jX2tleV9wYXJhbSAqcGFyYW07CisJdW5zaWduZWQgaW50IGF1dGhrZXlsZW47CisJdW5zaWduZWQgaW50IGVuY2tleWxlbjsKKworCWlmICghUlRBX09LKHJ0YSwga2V5bGVuKSkKKwkJZ290byBiYWRrZXk7CisKKwlpZiAocnRhLT5ydGFfdHlwZSAhPSBDUllQVE9fQVVUSEVOQ19LRVlBX1BBUkFNKQorCQlnb3RvIGJhZGtleTsKKworCWlmIChSVEFfUEFZTE9BRChydGEpIDwgc2l6ZW9mKCpwYXJhbSkpCisJCWdvdG8gYmFka2V5OworCisJcGFyYW0gPSBSVEFfREFUQShydGEpOworCWVuY2tleWxlbiA9IGJlMzJfdG9fY3B1KHBhcmFtLT5lbmNrZXlsZW4pOworCisJa2V5ICs9IFJUQV9BTElHTihydGEtPnJ0YV9sZW4pOworCWtleWxlbiAtPSBSVEFfQUxJR04ocnRhLT5ydGFfbGVuKTsKKworCWlmIChrZXlsZW4gPCBlbmNrZXlsZW4pCisJCWdvdG8gYmFka2V5OworCisJYXV0aGtleWxlbiA9IGtleWxlbiAtIGVuY2tleWxlbjsKKworCWlmIChrZXlsZW4gPiBUQUxJVE9TX01BWF9LRVlfU0laRSkKKwkJZ290byBiYWRrZXk7CisKKwltZW1jcHkoJmN0eC0+a2V5LCBrZXksIGtleWxlbik7CisKKwljdHgtPmtleWxlbiA9IGtleWxlbjsKKwljdHgtPmVuY2tleWxlbiA9IGVuY2tleWxlbjsKKwljdHgtPmF1dGhrZXlsZW4gPSBhdXRoa2V5bGVuOworCisJcmV0dXJuIDA7CisKK2JhZGtleToKKwljcnlwdG9fYWVhZF9zZXRfZmxhZ3MoYXV0aGVuYywgQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU4pOworCXJldHVybiAtRUlOVkFMOworfQorCisvKgorICogaXBzZWNfZXNwX2VkZXNjIC0gcy93LWV4dGVuZGVkIGlwc2VjX2VzcCBkZXNjcmlwdG9yCisgKiBAc3JjX25lbnRzOiBudW1iZXIgb2Ygc2VnbWVudHMgaW4gaW5wdXQgc2NhdHRlcmxpc3QKKyAqIEBkc3RfbmVudHM6IG51bWJlciBvZiBzZWdtZW50cyBpbiBvdXRwdXQgc2NhdHRlcmxpc3QKKyAqIEBkbWFfbGVuOiBsZW5ndGggb2YgZG1hIG1hcHBlZCBsaW5rX3RibCBzcGFjZQorICogQGRtYV9saW5rX3RibDogYnVzIHBoeXNpY2FsIGFkZHJlc3Mgb2YgbGlua190YmwKKyAqIEBkZXNjOiBoL3cgZGVzY3JpcHRvcgorICogQGxpbmtfdGJsOiBpbnB1dCBhbmQgb3V0cHV0IGgvdyBsaW5rIHRhYmxlcyAoaWYge3NyYyxkc3R9X25lbnRzID4gMSkKKyAqCisgKiBpZiBkZWNyeXB0aW5nICh3aXRoIGF1dGhjaGVjayksIG9yIGVpdGhlciBvbmUgb2Ygc3JjX25lbnRzIG9yIGRzdF9uZW50cworICogaXMgZ3JlYXRlciB0aGFuIDEsIGFuIGludGVncml0eSBjaGVjayB2YWx1ZSBpcyBjb25jYXRlbmF0ZWQgdG8gdGhlIGVuZAorICogb2YgbGlua190YmwgZGF0YQorICovCitzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjIHsKKwlpbnQgc3JjX25lbnRzOworCWludCBkc3RfbmVudHM7CisJaW50IGRtYV9sZW47CisJZG1hX2FkZHJfdCBkbWFfbGlua190Ymw7CisJc3RydWN0IHRhbGl0b3NfZGVzYyBkZXNjOworCXN0cnVjdCB0YWxpdG9zX3B0ciBsaW5rX3RibFswXTsKK307CisKK3N0YXRpYyB2b2lkIGlwc2VjX2VzcF91bm1hcChzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkgICAgc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2MsCisJCQkgICAgc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSkKK3sKKwl1bm1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZWRlc2MtPmRlc2MucHRyWzZdLCBETUFfRlJPTV9ERVZJQ0UpOworCXVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZlZGVzYy0+ZGVzYy5wdHJbM10sIERNQV9UT19ERVZJQ0UpOworCXVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZlZGVzYy0+ZGVzYy5wdHJbMl0sIERNQV9UT19ERVZJQ0UpOworCXVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZlZGVzYy0+ZGVzYy5wdHJbMF0sIERNQV9UT19ERVZJQ0UpOworCisJZG1hX3VubWFwX3NnKGRldiwgYXJlcS0+YXNzb2MsIDEsIERNQV9UT19ERVZJQ0UpOworCisJaWYgKGFyZXEtPnNyYyAhPSBhcmVxLT5kc3QpIHsKKwkJZG1hX3VubWFwX3NnKGRldiwgYXJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxLAorCQkJICAgICBETUFfVE9fREVWSUNFKTsKKwkJZG1hX3VubWFwX3NnKGRldiwgYXJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzID8gOiAxLAorCQkJICAgICBETUFfRlJPTV9ERVZJQ0UpOworCX0gZWxzZSB7CisJCWRtYV91bm1hcF9zZyhkZXYsIGFyZXEtPnNyYywgZWRlc2MtPnNyY19uZW50cyA/IDogMSwKKwkJCSAgICAgRE1BX0JJRElSRUNUSU9OQUwpOworCX0KKworCWlmIChlZGVzYy0+ZG1hX2xlbikKKwkJZG1hX3VubWFwX3NpbmdsZShkZXYsIGVkZXNjLT5kbWFfbGlua190YmwsIGVkZXNjLT5kbWFfbGVuLAorCQkJCSBETUFfQklESVJFQ1RJT05BTCk7Cit9CisKKy8qCisgKiBpcHNlY19lc3AgZGVzY3JpcHRvciBjYWxsYmFja3MKKyAqLworc3RhdGljIHZvaWQgaXBzZWNfZXNwX2VuY3J5cHRfZG9uZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywgdm9pZCAqY29udGV4dCwKKwkJCQkgICBpbnQgZXJyKQoreworCXN0cnVjdCBhZWFkX3JlcXVlc3QgKmFyZXEgPSBjb250ZXh0OworCXN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjID0KKwkJIGNvbnRhaW5lcl9vZihkZXNjLCBzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjLCBkZXNjKTsKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0oYXJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl2b2lkICppY3ZkYXRhOworCisJaXBzZWNfZXNwX3VubWFwKGRldiwgZWRlc2MsIGFyZXEpOworCisJLyogY29weSB0aGUgZ2VuZXJhdGVkIElDViB0byBkc3QgKi8KKwlpZiAoZWRlc2MtPmRtYV9sZW4pIHsKKwkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbZWRlc2MtPnNyY19uZW50cyArCisJCQkJCSAgIGVkZXNjLT5kc3RfbmVudHMgKyAxXTsKKwkJc2cgPSBzZ19sYXN0KGFyZXEtPmRzdCwgZWRlc2MtPmRzdF9uZW50cyk7CisJCW1lbWNweSgoY2hhciAqKXNnX3ZpcnQoc2cpICsgc2ctPmxlbmd0aCAtIGN0eC0+YXV0aHNpemUsCisJCSAgICAgICBpY3ZkYXRhLCBjdHgtPmF1dGhzaXplKTsKKwl9CisKKwlrZnJlZShlZGVzYyk7CisKKwlhZWFkX3JlcXVlc3RfY29tcGxldGUoYXJlcSwgZXJyKTsKK30KKworc3RhdGljIHZvaWQgaXBzZWNfZXNwX2RlY3J5cHRfZG9uZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywgdm9pZCAqY29udGV4dCwKKwkJCQkgICBpbnQgZXJyKQoreworCXN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSA9IGNvbnRleHQ7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2MgPQorCQkgY29udGFpbmVyX29mKGRlc2MsIHN0cnVjdCBpcHNlY19lc3BfZWRlc2MsIGRlc2MpOworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisJdm9pZCAqaWN2ZGF0YTsKKworCWlwc2VjX2VzcF91bm1hcChkZXYsIGVkZXNjLCByZXEpOworCisJaWYgKCFlcnIpIHsKKwkJLyogYXV0aCBjaGVjayAqLworCQlpZiAoZWRlc2MtPmRtYV9sZW4pCisJCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFtlZGVzYy0+c3JjX25lbnRzICsKKwkJCQkJCSAgIGVkZXNjLT5kc3RfbmVudHMgKyAxXTsKKwkJZWxzZQorCQkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbMF07CisKKwkJc2cgPSBzZ19sYXN0KHJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzID8gOiAxKTsKKwkJZXJyID0gbWVtY21wKGljdmRhdGEsIChjaGFyICopc2dfdmlydChzZykgKyBzZy0+bGVuZ3RoIC0KKwkJCSAgICAgY3R4LT5hdXRoc2l6ZSwgY3R4LT5hdXRoc2l6ZSkgPyAtRUJBRE1TRyA6IDA7CisJfQorCisJa2ZyZWUoZWRlc2MpOworCisJYWVhZF9yZXF1ZXN0X2NvbXBsZXRlKHJlcSwgZXJyKTsKK30KKworLyoKKyAqIGNvbnZlcnQgc2NhdHRlcmxpc3QgdG8gU0VDIGgvdyBsaW5rIHRhYmxlIGZvcm1hdAorICogc3RvcCBhdCBjcnlwdGxlbiBieXRlcworICovCitzdGF0aWMgaW50IHNnX3RvX2xpbmtfdGJsKHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIGludCBzZ19jb3VudCwKKwkJCSAgIGludCBjcnlwdGxlbiwgc3RydWN0IHRhbGl0b3NfcHRyICpsaW5rX3RibF9wdHIpCit7CisJaW50IG5fc2cgPSBzZ19jb3VudDsKKworCXdoaWxlIChuX3NnLS0pIHsKKwkJbGlua190YmxfcHRyLT5wdHIgPSBjcHVfdG9fYmUzMihzZ19kbWFfYWRkcmVzcyhzZykpOworCQlsaW5rX3RibF9wdHItPmxlbiA9IGNwdV90b19iZTE2KHNnX2RtYV9sZW4oc2cpKTsKKwkJbGlua190YmxfcHRyLT5qX2V4dGVudCA9IDA7CisJCWxpbmtfdGJsX3B0cisrOworCQljcnlwdGxlbiAtPSBzZ19kbWFfbGVuKHNnKTsKKwkJc2cgPSBzZ19uZXh0KHNnKTsKKwl9CisKKwkvKiBhZGp1c3QgKGRlY3JlYXNlKSBsYXN0IG9uZSAob3IgdHdvKSBlbnRyeSdzIGxlbiB0byBjcnlwdGxlbiAqLworCWxpbmtfdGJsX3B0ci0tOworCXdoaWxlIChsaW5rX3RibF9wdHItPmxlbiA8PSAoLWNyeXB0bGVuKSkgeworCQkvKiBFbXB0eSB0aGlzIGVudHJ5LCBhbmQgbW92ZSB0byBwcmV2aW91cyBvbmUgKi8KKwkJY3J5cHRsZW4gKz0gYmUxNl90b19jcHUobGlua190YmxfcHRyLT5sZW4pOworCQlsaW5rX3RibF9wdHItPmxlbiA9IDA7CisJCXNnX2NvdW50LS07CisJCWxpbmtfdGJsX3B0ci0tOworCX0KKwlsaW5rX3RibF9wdHItPmxlbiA9IGNwdV90b19iZTE2KGJlMTZfdG9fY3B1KGxpbmtfdGJsX3B0ci0+bGVuKQorCQkJCQkrIGNyeXB0bGVuKTsKKworCS8qIHRhZyBlbmQgb2YgbGluayB0YWJsZSAqLworCWxpbmtfdGJsX3B0ci0+al9leHRlbnQgPSBERVNDX1BUUl9MTktUQkxfUkVUVVJOOworCisJcmV0dXJuIHNnX2NvdW50OworfQorCisvKgorICogZmlsbCBpbiBhbmQgc3VibWl0IGlwc2VjX2VzcCBkZXNjcmlwdG9yCisgKi8KK3N0YXRpYyBpbnQgaXBzZWNfZXNwKHN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjLCBzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphcmVxLAorCQkgICAgIHU4ICpnaXYsIHU2NCBzZXEsCisJCSAgICAgdm9pZCAoKmNhbGxiYWNrKSAoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgICAgICBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLAorCQkJCSAgICAgICB2b2lkICpjb250ZXh0LCBpbnQgZXJyb3IpKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYWVhZCA9IGNyeXB0b19hZWFkX3JlcXRmbShhcmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhZWFkKTsKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKKwlzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjID0gJmVkZXNjLT5kZXNjOworCXVuc2lnbmVkIGludCBjcnlwdGxlbiA9IGFyZXEtPmNyeXB0bGVuOworCXVuc2lnbmVkIGludCBhdXRoc2l6ZSA9IGN0eC0+YXV0aHNpemU7CisJdW5zaWduZWQgaW50IGl2c2l6ZTsKKwlpbnQgc2dfY291bnQ7CisKKwkvKiBobWFjIGtleSAqLworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzBdLCBjdHgtPmF1dGhrZXlsZW4sICZjdHgtPmtleSwKKwkJCSAgICAgICAwLCBETUFfVE9fREVWSUNFKTsKKwkvKiBobWFjIGRhdGEgKi8KKwltYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmRlc2MtPnB0clsxXSwgc2dfdmlydChhcmVxLT5zcmMpIC0KKwkJCSAgICAgICBzZ192aXJ0KGFyZXEtPmFzc29jKSwgc2dfdmlydChhcmVxLT5hc3NvYyksIDAsCisJCQkgICAgICAgRE1BX1RPX0RFVklDRSk7CisJLyogY2lwaGVyIGl2ICovCisJaXZzaXplID0gY3J5cHRvX2FlYWRfaXZzaXplKGFlYWQpOworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzJdLCBpdnNpemUsIGdpdiA/OiBhcmVxLT5pdiwgMCwKKwkJCSAgICAgICBETUFfVE9fREVWSUNFKTsKKworCS8qIGNpcGhlciBrZXkgKi8KKwltYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmRlc2MtPnB0clszXSwgY3R4LT5lbmNrZXlsZW4sCisJCQkgICAgICAgKGNoYXIgKikmY3R4LT5rZXkgKyBjdHgtPmF1dGhrZXlsZW4sIDAsCisJCQkgICAgICAgRE1BX1RPX0RFVklDRSk7CisKKwkvKgorCSAqIGNpcGhlciBpbgorCSAqIG1hcCBhbmQgYWRqdXN0IGNpcGhlciBsZW4gdG8gYWVhZCByZXF1ZXN0IGNyeXB0bGVuLgorCSAqIGV4dGVudCBpcyBieXRlcyBvZiBITUFDIHBvc3RwZW5kZWQgdG8gY2lwaGVydGV4dCwKKwkgKiB0eXBpY2FsbHkgMTIgZm9yIGlwc2VjCisJICovCisJZGVzYy0+cHRyWzRdLmxlbiA9IGNwdV90b19iZTE2KGNyeXB0bGVuKTsKKwlkZXNjLT5wdHJbNF0ual9leHRlbnQgPSBhdXRoc2l6ZTsKKworCWlmIChhcmVxLT5zcmMgPT0gYXJlcS0+ZHN0KQorCQlzZ19jb3VudCA9IGRtYV9tYXBfc2coZGV2LCBhcmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEsCisJCQkJICAgICAgRE1BX0JJRElSRUNUSU9OQUwpOworCWVsc2UKKwkJc2dfY291bnQgPSBkbWFfbWFwX3NnKGRldiwgYXJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxLAorCQkJCSAgICAgIERNQV9UT19ERVZJQ0UpOworCisJaWYgKHNnX2NvdW50ID09IDEpIHsKKwkJZGVzYy0+cHRyWzRdLnB0ciA9IGNwdV90b19iZTMyKHNnX2RtYV9hZGRyZXNzKGFyZXEtPnNyYykpOworCX0gZWxzZSB7CisJCXNnX2NvdW50ID0gc2dfdG9fbGlua190YmwoYXJlcS0+c3JjLCBzZ19jb3VudCwgY3J5cHRsZW4sCisJCQkJCSAgJmVkZXNjLT5saW5rX3RibFswXSk7CisJCWlmIChzZ19jb3VudCA+IDEpIHsKKwkJCWRlc2MtPnB0cls0XS5qX2V4dGVudCB8PSBERVNDX1BUUl9MTktUQkxfSlVNUDsKKwkJCWRlc2MtPnB0cls0XS5wdHIgPSBjcHVfdG9fYmUzMihlZGVzYy0+ZG1hX2xpbmtfdGJsKTsKKwkJCWRtYV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKGN0eC0+ZGV2LCBlZGVzYy0+ZG1hX2xpbmtfdGJsLAorCQkJCQkJICAgZWRlc2MtPmRtYV9sZW4sIERNQV9CSURJUkVDVElPTkFMKTsKKwkJfSBlbHNlIHsKKwkJCS8qIE9ubHkgb25lIHNlZ21lbnQgbm93LCBzbyBubyBsaW5rIHRibCBuZWVkZWQgKi8KKwkJCWRlc2MtPnB0cls0XS5wdHIgPSBjcHVfdG9fYmUzMihzZ19kbWFfYWRkcmVzcyhhcmVxLT5zcmMpKTsKKwkJfQorCX0KKworCS8qIGNpcGhlciBvdXQgKi8KKwlkZXNjLT5wdHJbNV0ubGVuID0gY3B1X3RvX2JlMTYoY3J5cHRsZW4pOworCWRlc2MtPnB0cls1XS5qX2V4dGVudCA9IGF1dGhzaXplOworCisJaWYgKGFyZXEtPnNyYyAhPSBhcmVxLT5kc3QpIHsKKwkJc2dfY291bnQgPSBkbWFfbWFwX3NnKGRldiwgYXJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzID8gOiAxLAorCQkJCSAgICAgIERNQV9GUk9NX0RFVklDRSk7CisJfQorCisJaWYgKHNnX2NvdW50ID09IDEpIHsKKwkJZGVzYy0+cHRyWzVdLnB0ciA9IGNwdV90b19iZTMyKHNnX2RtYV9hZGRyZXNzKGFyZXEtPmRzdCkpOworCX0gZWxzZSB7CisJCXN0cnVjdCB0YWxpdG9zX3B0ciAqbGlua190YmxfcHRyID0KKwkJCSZlZGVzYy0+bGlua190YmxbZWRlc2MtPnNyY19uZW50c107CisJCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisKKwkJZGVzYy0+cHRyWzVdLnB0ciA9IGNwdV90b19iZTMyKChzdHJ1Y3QgdGFsaXRvc19wdHIgKikKKwkJCQkJICAgICAgIGVkZXNjLT5kbWFfbGlua190YmwgKworCQkJCQkgICAgICAgZWRlc2MtPnNyY19uZW50cyk7CisJCWlmIChhcmVxLT5zcmMgPT0gYXJlcS0+ZHN0KSB7CisJCQltZW1jcHkobGlua190YmxfcHRyLCAmZWRlc2MtPmxpbmtfdGJsWzBdLAorCQkJICAgICAgIGVkZXNjLT5zcmNfbmVudHMgKiBzaXplb2Yoc3RydWN0IHRhbGl0b3NfcHRyKSk7CisJCX0gZWxzZSB7CisJCQlzZ19jb3VudCA9IHNnX3RvX2xpbmtfdGJsKGFyZXEtPmRzdCwgc2dfY291bnQsIGNyeXB0bGVuLAorCQkJCQkJICBsaW5rX3RibF9wdHIpOworCQl9CisJCWxpbmtfdGJsX3B0ciArPSBzZ19jb3VudCAtIDE7CisKKwkJLyogaGFuZGxlIGNhc2Ugd2hlcmUgc2dfbGFzdCBjb250YWlucyB0aGUgSUNWIGV4Y2x1c2l2ZWx5ICovCisJCXNnID0gc2dfbGFzdChhcmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMpOworCQlpZiAoc2ctPmxlbmd0aCA9PSBjdHgtPmF1dGhzaXplKQorCQkJbGlua190YmxfcHRyLS07CisKKwkJbGlua190YmxfcHRyLT5qX2V4dGVudCA9IDA7CisJCWxpbmtfdGJsX3B0cisrOworCQlsaW5rX3RibF9wdHItPmpfZXh0ZW50ID0gREVTQ19QVFJfTE5LVEJMX1JFVFVSTjsKKwkJbGlua190YmxfcHRyLT5sZW4gPSBjcHVfdG9fYmUxNihhdXRoc2l6ZSk7CisKKwkJLyogaWN2IGRhdGEgZm9sbG93cyBsaW5rIHRhYmxlcyAqLworCQlsaW5rX3RibF9wdHItPnB0ciA9IGNwdV90b19iZTMyKChzdHJ1Y3QgdGFsaXRvc19wdHIgKikKKwkJCQkJCWVkZXNjLT5kbWFfbGlua190YmwgKworCQkJCQkgICAgICAgIGVkZXNjLT5zcmNfbmVudHMgKworCQkJCQkJZWRlc2MtPmRzdF9uZW50cyArIDEpOworCisJCWRlc2MtPnB0cls1XS5qX2V4dGVudCB8PSBERVNDX1BUUl9MTktUQkxfSlVNUDsKKwkJZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoY3R4LT5kZXYsIGVkZXNjLT5kbWFfbGlua190YmwsCisJCQkJCSAgIGVkZXNjLT5kbWFfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7CisJfQorCisJLyogaXYgb3V0ICovCisJbWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZkZXNjLT5wdHJbNl0sIGl2c2l6ZSwgY3R4LT5pdiwgMCwKKwkJCSAgICAgICBETUFfRlJPTV9ERVZJQ0UpOworCisJcmV0dXJuIHRhbGl0b3Nfc3VibWl0KGRldiwgZGVzYywgY2FsbGJhY2ssIGFyZXEpOworfQorCisKKy8qCisgKiBkZXJpdmUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHNjYXR0ZXJsaXN0CisgKi8KK3N0YXRpYyBpbnQgc2dfY291bnQoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ19saXN0LCBpbnQgbmJ5dGVzKQoreworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2cgPSBzZ19saXN0OworCWludCBzZ19uZW50cyA9IDA7CisKKwl3aGlsZSAobmJ5dGVzKSB7CisJCXNnX25lbnRzKys7CisJCW5ieXRlcyAtPSBzZy0+bGVuZ3RoOworCQlzZyA9IHNnX25leHQoc2cpOworCX0KKworCXJldHVybiBzZ19uZW50czsKK30KKworLyoKKyAqIGFsbG9jYXRlIGFuZCBtYXAgdGhlIGlwc2VjX2VzcCBleHRlbmRlZCBkZXNjcmlwdG9yCisgKi8KK3N0YXRpYyBzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICppcHNlY19lc3BfZWRlc2NfYWxsb2Moc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSwKKwkJCQkJCSAgICAgaW50IGljdl9zdGFzaGluZykKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0oYXJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2M7CisJaW50IHNyY19uZW50cywgZHN0X25lbnRzLCBhbGxvY19sZW4sIGRtYV9sZW47CisKKwlpZiAoYXJlcS0+Y3J5cHRsZW4gKyBjdHgtPmF1dGhzaXplID4gVEFMSVRPU19NQVhfREFUQV9MRU4pIHsKKwkJZGV2X2VycihjdHgtPmRldiwgImNyeXB0bGVuIGV4Y2VlZHMgaC93IG1heCBsaW1pdFxuIik7CisJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOworCX0KKworCXNyY19uZW50cyA9IHNnX2NvdW50KGFyZXEtPnNyYywgYXJlcS0+Y3J5cHRsZW4gKyBjdHgtPmF1dGhzaXplKTsKKwlzcmNfbmVudHMgPSAoc3JjX25lbnRzID09IDEpID8gMCA6IHNyY19uZW50czsKKworCWlmIChhcmVxLT5kc3QgPT0gYXJlcS0+c3JjKSB7CisJCWRzdF9uZW50cyA9IHNyY19uZW50czsKKwl9IGVsc2UgeworCQlkc3RfbmVudHMgPSBzZ19jb3VudChhcmVxLT5kc3QsIGFyZXEtPmNyeXB0bGVuICsgY3R4LT5hdXRoc2l6ZSk7CisJCWRzdF9uZW50cyA9IChkc3RfbmVudHMgPT0gMSkgPyAwIDogc3JjX25lbnRzOworCX0KKworCS8qCisJICogYWxsb2NhdGUgc3BhY2UgZm9yIGJhc2UgZWRlc2MgcGx1cyB0aGUgbGluayB0YWJsZXMsCisJICogYWxsb3dpbmcgZm9yIGEgc2VwYXJhdGUgZW50cnkgZm9yIHRoZSBnZW5lcmF0ZWQgSUNWICgrIDEpLAorCSAqIGFuZCB0aGUgSUNWIGRhdGEgaXRzZWxmCisJICovCisJYWxsb2NfbGVuID0gc2l6ZW9mKHN0cnVjdCBpcHNlY19lc3BfZWRlc2MpOworCWlmIChzcmNfbmVudHMgfHwgZHN0X25lbnRzKSB7CisJCWRtYV9sZW4gPSAoc3JjX25lbnRzICsgZHN0X25lbnRzICsgMSkgKgorCQkJCSBzaXplb2Yoc3RydWN0IHRhbGl0b3NfcHRyKSArIGN0eC0+YXV0aHNpemU7CisJCWFsbG9jX2xlbiArPSBkbWFfbGVuOworCX0gZWxzZSB7CisJCWRtYV9sZW4gPSAwOworCQlhbGxvY19sZW4gKz0gaWN2X3N0YXNoaW5nID8gY3R4LT5hdXRoc2l6ZSA6IDA7CisJfQorCisJZWRlc2MgPSBrbWFsbG9jKGFsbG9jX2xlbiwgR0ZQX0RNQSk7CisJaWYgKCFlZGVzYykgeworCQlkZXZfZXJyKGN0eC0+ZGV2LCAiY291bGQgbm90IGFsbG9jYXRlIGVkZXNjcmlwdG9yXG4iKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJfQorCisJZWRlc2MtPnNyY19uZW50cyA9IHNyY19uZW50czsKKwllZGVzYy0+ZHN0X25lbnRzID0gZHN0X25lbnRzOworCWVkZXNjLT5kbWFfbGVuID0gZG1hX2xlbjsKKwllZGVzYy0+ZG1hX2xpbmtfdGJsID0gZG1hX21hcF9zaW5nbGUoY3R4LT5kZXYsICZlZGVzYy0+bGlua190YmxbMF0sCisJCQkJCSAgICAgZWRlc2MtPmRtYV9sZW4sIERNQV9CSURJUkVDVElPTkFMKTsKKworCXJldHVybiBlZGVzYzsKK30KKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfZW5jcnlwdChzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2M7CisKKwkvKiBhbGxvY2F0ZSBleHRlbmRlZCBkZXNjcmlwdG9yICovCisJZWRlc2MgPSBpcHNlY19lc3BfZWRlc2NfYWxsb2MocmVxLCAwKTsKKwlpZiAoSVNfRVJSKGVkZXNjKSkKKwkJcmV0dXJuIFBUUl9FUlIoZWRlc2MpOworCisJLyogc2V0IGVuY3J5cHQgKi8KKwllZGVzYy0+ZGVzYy5oZHIgPSBjdHgtPmRlc2NfaGRyX3RlbXBsYXRlIHwgREVTQ19IRFJfTU9ERTBfRU5DUllQVDsKKworCXJldHVybiBpcHNlY19lc3AoZWRlc2MsIHJlcSwgTlVMTCwgMCwgaXBzZWNfZXNwX2VuY3J5cHRfZG9uZSk7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9hdXRoZW5jX2RlY3J5cHQoc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXVuc2lnbmVkIGludCBhdXRoc2l6ZSA9IGN0eC0+YXV0aHNpemU7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2M7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl2b2lkICppY3ZkYXRhOworCisJcmVxLT5jcnlwdGxlbiAtPSBhdXRoc2l6ZTsKKworCS8qIGFsbG9jYXRlIGV4dGVuZGVkIGRlc2NyaXB0b3IgKi8KKwllZGVzYyA9IGlwc2VjX2VzcF9lZGVzY19hbGxvYyhyZXEsIDEpOworCWlmIChJU19FUlIoZWRlc2MpKQorCQlyZXR1cm4gUFRSX0VSUihlZGVzYyk7CisKKwkvKiBzdGFzaCBpbmNvbWluZyBJQ1YgZm9yIGxhdGVyIGNtcCB3aXRoIElDViBnZW5lcmF0ZWQgYnkgdGhlIGgvdyAqLworCWlmIChlZGVzYy0+ZG1hX2xlbikKKwkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbZWRlc2MtPnNyY19uZW50cyArCisJCQkJCSAgIGVkZXNjLT5kc3RfbmVudHMgKyAxXTsKKwllbHNlCisJCWljdmRhdGEgPSAmZWRlc2MtPmxpbmtfdGJsWzBdOworCisJc2cgPSBzZ19sYXN0KHJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxKTsKKworCW1lbWNweShpY3ZkYXRhLCAoY2hhciAqKXNnX3ZpcnQoc2cpICsgc2ctPmxlbmd0aCAtIGN0eC0+YXV0aHNpemUsCisJICAgICAgIGN0eC0+YXV0aHNpemUpOworCisJLyogZGVjcnlwdCAqLworCWVkZXNjLT5kZXNjLmhkciA9IGN0eC0+ZGVzY19oZHJfdGVtcGxhdGUgfCBERVNDX0hEUl9ESVJfSU5CT1VORDsKKworCXJldHVybiBpcHNlY19lc3AoZWRlc2MsIHJlcSwgTlVMTCwgMCwgaXBzZWNfZXNwX2RlY3J5cHRfZG9uZSk7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQoCisJc3RydWN0IGFlYWRfZ2l2Y3J5cHRfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBhZWFkX3JlcXVlc3QgKmFyZXEgPSAmcmVxLT5hcmVxOworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShhcmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYzsKKworCS8qIGFsbG9jYXRlIGV4dGVuZGVkIGRlc2NyaXB0b3IgKi8KKwllZGVzYyA9IGlwc2VjX2VzcF9lZGVzY19hbGxvYyhhcmVxLCAwKTsKKwlpZiAoSVNfRVJSKGVkZXNjKSkKKwkJcmV0dXJuIFBUUl9FUlIoZWRlc2MpOworCisJLyogc2V0IGVuY3J5cHQgKi8KKwllZGVzYy0+ZGVzYy5oZHIgPSBjdHgtPmRlc2NfaGRyX3RlbXBsYXRlIHwgREVTQ19IRFJfTU9ERTBfRU5DUllQVDsKKworCW1lbWNweShyZXEtPmdpdiwgY3R4LT5pdiwgY3J5cHRvX2FlYWRfaXZzaXplKGF1dGhlbmMpKTsKKworCXJldHVybiBpcHNlY19lc3AoZWRlc2MsIGFyZXEsIHJlcS0+Z2l2LCByZXEtPnNlcSwKKwkJCSBpcHNlY19lc3BfZW5jcnlwdF9kb25lKTsKK30KKworc3RydWN0IHRhbGl0b3NfYWxnX3RlbXBsYXRlIHsKKwljaGFyIG5hbWVbQ1JZUFRPX01BWF9BTEdfTkFNRV07CisJY2hhciBkcml2ZXJfbmFtZVtDUllQVE9fTUFYX0FMR19OQU1FXTsKKwl1bnNpZ25lZCBpbnQgYmxvY2tzaXplOworCXN0cnVjdCBhZWFkX2FsZyBhZWFkOworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlfX2JlMzIgZGVzY19oZHJfdGVtcGxhdGU7Cit9OworCitzdGF0aWMgc3RydWN0IHRhbGl0b3NfYWxnX3RlbXBsYXRlIGRyaXZlcl9hbGdzW10gPSB7CisJLyogc2luZ2xlLXBhc3MgaXBzZWNfZXNwIGRlc2NyaXB0b3IgKi8KKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhzaGExKSxjYmMoYWVzKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLXNoYTEtY2JjLWFlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0FFU1UgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9BRVNVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfU0hBMV9ITUFDLAorCX0sCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGRlczNfZWRlKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLXNoYTEtY2JjLTNkZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBTSEExX0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfREVVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV8zREVTIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9TSEExX0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhzaGEyNTYpLGNiYyhhZXMpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtc2hhMjU2LWNiYy1hZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IFNIQTI1Nl9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0FFU1UgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9BRVNVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfU0hBMjU2X0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhzaGEyNTYpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1zaGEyNTYtY2JjLTNkZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBTSEEyNTZfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9ERVUgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVXzNERVMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1Nl9ITUFDLAorCX0sCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMobWQ1KSxjYmMoYWVzKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLW1kNS1jYmMtYWVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBNRDVfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9BRVNVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfQUVTVV9DQkMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX01ENV9ITUFDLAorCX0sCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMobWQ1KSxjYmMoZGVzM19lZGUpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtbWQ1LWNiYy0zZGVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gTUQ1X0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfREVVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV8zREVTIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9NRDVfSE1BQywKKwl9Cit9OworCitzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGVudHJ5OworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlfX2JlMzIgZGVzY19oZHJfdGVtcGxhdGU7CisJc3RydWN0IGNyeXB0b19hbGcgY3J5cHRvX2FsZzsKK307CisKK3N0YXRpYyBpbnQgdGFsaXRvc19jcmFfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBjcnlwdG9fYWxnICphbGcgPSB0Zm0tPl9fY3J0X2FsZzsKKwlzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnICp0YWxpdG9zX2FsZyA9CisJCSBjb250YWluZXJfb2YoYWxnLCBzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnLCBjcnlwdG9fYWxnKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwkvKiB1cGRhdGUgY29udGV4dCB3aXRoIHB0ciB0byBkZXYgKi8KKwljdHgtPmRldiA9IHRhbGl0b3NfYWxnLT5kZXY7CisJLyogY29weSBkZXNjcmlwdG9yIGhlYWRlciB0ZW1wbGF0ZSB2YWx1ZSAqLworCWN0eC0+ZGVzY19oZHJfdGVtcGxhdGUgPSB0YWxpdG9zX2FsZy0+ZGVzY19oZHJfdGVtcGxhdGU7CisKKwkvKiByYW5kb20gZmlyc3QgSVYgKi8KKwlnZXRfcmFuZG9tX2J5dGVzKGN0eC0+aXYsIFRBTElUT1NfTUFYX0lWX0xFTkdUSCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGdpdmVuIHRoZSBhbGcncyBkZXNjcmlwdG9yIGhlYWRlciB0ZW1wbGF0ZSwgZGV0ZXJtaW5lIHdoZXRoZXIgZGVzY3JpcHRvcgorICogdHlwZSBhbmQgcHJpbWFyeS9zZWNvbmRhcnkgZXhlY3V0aW9uIHVuaXRzIHJlcXVpcmVkIG1hdGNoIHRoZSBodworICogY2FwYWJpbGl0aWVzIGRlc2NyaXB0aW9uIHByb3ZpZGVkIGluIHRoZSBkZXZpY2UgdHJlZSBub2RlLgorICovCitzdGF0aWMgaW50IGh3X3N1cHBvcnRzKHN0cnVjdCBkZXZpY2UgKmRldiwgX19iZTMyIGRlc2NfaGRyX3RlbXBsYXRlKQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlpbnQgcmV0OworCisJcmV0ID0gKDEgPDwgREVTQ19UWVBFKGRlc2NfaGRyX3RlbXBsYXRlKSAmIHByaXYtPmRlc2NfdHlwZXMpICYmCisJICAgICAgKDEgPDwgUFJJTUFSWV9FVShkZXNjX2hkcl90ZW1wbGF0ZSkgJiBwcml2LT5leGVjX3VuaXRzKTsKKworCWlmIChTRUNPTkRBUllfRVUoZGVzY19oZHJfdGVtcGxhdGUpKQorCQlyZXQgPSByZXQgJiYgKDEgPDwgU0VDT05EQVJZX0VVKGRlc2NfaGRyX3RlbXBsYXRlKQorCQkgICAgICAgICAgICAgICYgcHJpdi0+ZXhlY191bml0cyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IF9fZGV2ZXhpdCB0YWxpdG9zX3JlbW92ZShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldikKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmb2ZkZXYtPmRldjsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdF9hbGcsICpuOworCWludCBpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRfYWxnLCBuLCAmcHJpdi0+YWxnX2xpc3QsIGVudHJ5KSB7CisJCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmdF9hbGctPmNyeXB0b19hbGcpOworCQlsaXN0X2RlbCgmdF9hbGctPmVudHJ5KTsKKwkJa2ZyZWUodF9hbGcpOworCX0KKworCWlmIChod19zdXBwb3J0cyhkZXYsIERFU0NfSERSX1NFTDBfUk5HKSkKKwkJdGFsaXRvc191bnJlZ2lzdGVyX3JuZyhkZXYpOworCisJa2ZyZWUocHJpdi0+dGFpbCk7CisJa2ZyZWUocHJpdi0+aGVhZCk7CisKKwlpZiAocHJpdi0+ZmlmbykKKwkJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9jaGFubmVsczsgaSsrKQorCQkJa2ZyZWUocHJpdi0+Zmlmb1tpXSk7CisKKwlrZnJlZShwcml2LT5maWZvKTsKKwlrZnJlZShwcml2LT5oZWFkX2xvY2spOworCWtmcmVlKHByaXYtPnRhaWxfbG9jayk7CisKKwlpZiAocHJpdi0+aXJxICE9IE5PX0lSUSkgeworCQlmcmVlX2lycShwcml2LT5pcnEsIGRldik7CisJCWlycV9kaXNwb3NlX21hcHBpbmcocHJpdi0+aXJxKTsKKwl9CisKKwl0YXNrbGV0X2tpbGwoJnByaXYtPmRvbmVfdGFzayk7CisJdGFza2xldF9raWxsKCZwcml2LT5lcnJvcl90YXNrKTsKKworCWlvdW5tYXAocHJpdi0+cmVnKTsKKworCWRldl9zZXRfZHJ2ZGF0YShkZXYsIE5VTEwpOworCisJa2ZyZWUocHJpdik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgKnRhbGl0b3NfYWxnX2FsbG9jKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJCSAgICBzdHJ1Y3QgdGFsaXRvc19hbGdfdGVtcGxhdGUKKwkJCQkJCSAgICAgICAgICAgKnRlbXBsYXRlKQoreworCXN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgKnRfYWxnOworCXN0cnVjdCBjcnlwdG9fYWxnICphbGc7CisKKwl0X2FsZyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXRfYWxnKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCWFsZyA9ICZ0X2FsZy0+Y3J5cHRvX2FsZzsKKworCXNucHJpbnRmKGFsZy0+Y3JhX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcyIsIHRlbXBsYXRlLT5uYW1lKTsKKwlzbnByaW50ZihhbGctPmNyYV9kcml2ZXJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzIiwKKwkJIHRlbXBsYXRlLT5kcml2ZXJfbmFtZSk7CisJYWxnLT5jcmFfbW9kdWxlID0gVEhJU19NT0RVTEU7CisJYWxnLT5jcmFfaW5pdCA9IHRhbGl0b3NfY3JhX2luaXQ7CisJYWxnLT5jcmFfcHJpb3JpdHkgPSBUQUxJVE9TX0NSQV9QUklPUklUWTsKKwlhbGctPmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BRUFEIHwgQ1JZUFRPX0FMR19BU1lOQzsKKwlhbGctPmNyYV9ibG9ja3NpemUgPSB0ZW1wbGF0ZS0+YmxvY2tzaXplOworCWFsZy0+Y3JhX2FsaWdubWFzayA9IDA7CisJYWxnLT5jcmFfdHlwZSA9ICZjcnlwdG9fYWVhZF90eXBlOworCWFsZy0+Y3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IHRhbGl0b3NfY3R4KTsKKwlhbGctPmNyYV91LmFlYWQgPSB0ZW1wbGF0ZS0+YWVhZDsKKworCXRfYWxnLT5kZXNjX2hkcl90ZW1wbGF0ZSA9IHRlbXBsYXRlLT5kZXNjX2hkcl90ZW1wbGF0ZTsKKwl0X2FsZy0+ZGV2ID0gZGV2OworCisJcmV0dXJuIHRfYWxnOworfQorCitzdGF0aWMgaW50IHRhbGl0b3NfcHJvYmUoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYsCisJCQkgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqbWF0Y2gpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJm9mZGV2LT5kZXY7CisJc3RydWN0IGRldmljZV9ub2RlICpucCA9IG9mZGV2LT5ub2RlOworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXY7CisJY29uc3QgdW5zaWduZWQgaW50ICpwcm9wOworCWludCBpLCBlcnI7CisKKwlwcml2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSksIEdGUF9LRVJORUwpOworCWlmICghcHJpdikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlkZXZfc2V0X2RydmRhdGEoZGV2LCBwcml2KTsKKworCXByaXYtPm9mZGV2ID0gb2ZkZXY7CisKKwl0YXNrbGV0X2luaXQoJnByaXYtPmRvbmVfdGFzaywgdGFsaXRvc19kb25lLCAodW5zaWduZWQgbG9uZylkZXYpOworCXRhc2tsZXRfaW5pdCgmcHJpdi0+ZXJyb3JfdGFzaywgdGFsaXRvc19lcnJvciwgKHVuc2lnbmVkIGxvbmcpZGV2KTsKKworCXByaXYtPmlycSA9IGlycV9vZl9wYXJzZV9hbmRfbWFwKG5wLCAwKTsKKworCWlmIChwcml2LT5pcnEgPT0gTk9fSVJRKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIG1hcCBpcnFcbiIpOworCQllcnIgPSAtRUlOVkFMOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJLyogZ2V0IHRoZSBpcnEgbGluZSAqLworCWVyciA9IHJlcXVlc3RfaXJxKHByaXYtPmlycSwgdGFsaXRvc19pbnRlcnJ1cHQsIDAsCisJCQkgIGRldl9kcml2ZXJfc3RyaW5nKGRldiksIGRldik7CisJaWYgKGVycikgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXF1ZXN0IGlycSAlZFxuIiwgcHJpdi0+aXJxKTsKKwkJaXJxX2Rpc3Bvc2VfbWFwcGluZyhwcml2LT5pcnEpOworCQlwcml2LT5pcnEgPSBOT19JUlE7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwlwcml2LT5yZWcgPSBvZl9pb21hcChucCwgMCk7CisJaWYgKCFwcml2LT5yZWcpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gb2ZfaW9tYXBcbiIpOworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJLyogZ2V0IFNFQyB2ZXJzaW9uIGNhcGFiaWxpdGllcyBmcm9tIGRldmljZSB0cmVlICovCisJcHJvcCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImZzbCxudW0tY2hhbm5lbHMiLCBOVUxMKTsKKwlpZiAocHJvcCkKKwkJcHJpdi0+bnVtX2NoYW5uZWxzID0gKnByb3A7CisKKwlwcm9wID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiZnNsLGNoYW5uZWwtZmlmby1sZW4iLCBOVUxMKTsKKwlpZiAocHJvcCkKKwkJcHJpdi0+Y2hmaWZvX2xlbiA9ICpwcm9wOworCisJcHJvcCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImZzbCxleGVjLXVuaXRzLW1hc2siLCBOVUxMKTsKKwlpZiAocHJvcCkKKwkJcHJpdi0+ZXhlY191bml0cyA9ICpwcm9wOworCisJcHJvcCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImZzbCxkZXNjcmlwdG9yLXR5cGVzLW1hc2siLCBOVUxMKTsKKwlpZiAocHJvcCkKKwkJcHJpdi0+ZGVzY190eXBlcyA9ICpwcm9wOworCisJaWYgKCFpc19wb3dlcl9vZl8yKHByaXYtPm51bV9jaGFubmVscykgfHwgIXByaXYtPmNoZmlmb19sZW4gfHwKKwkgICAgIXByaXYtPmV4ZWNfdW5pdHMgfHwgIXByaXYtPmRlc2NfdHlwZXMpIHsKKwkJZGV2X2VycihkZXYsICJpbnZhbGlkIHByb3BlcnR5IGRhdGEgaW4gZGV2aWNlIHRyZWUgbm9kZVxuIik7CisJCWVyciA9IC1FSU5WQUw7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwlvZl9ub2RlX3B1dChucCk7CisJbnAgPSBOVUxMOworCisJcHJpdi0+aGVhZF9sb2NrID0ga21hbGxvYyhzaXplb2Yoc3BpbmxvY2tfdCkgKiBwcml2LT5udW1fY2hhbm5lbHMsCisJCQkJICBHRlBfS0VSTkVMKTsKKwlwcml2LT50YWlsX2xvY2sgPSBrbWFsbG9jKHNpemVvZihzcGlubG9ja190KSAqIHByaXYtPm51bV9jaGFubmVscywKKwkJCQkgIEdGUF9LRVJORUwpOworCWlmICghcHJpdi0+aGVhZF9sb2NrIHx8ICFwcml2LT50YWlsX2xvY2spIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgZmlmbyBsb2Nrc1xuIik7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBpKyspIHsKKwkJc3Bpbl9sb2NrX2luaXQoJnByaXYtPmhlYWRfbG9ja1tpXSk7CisJCXNwaW5fbG9ja19pbml0KCZwcml2LT50YWlsX2xvY2tbaV0pOworCX0KKworCXByaXYtPmZpZm8gPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0ICopICoKKwkJCSAgICAgcHJpdi0+bnVtX2NoYW5uZWxzLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXYtPmZpZm8pIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBmaWZvXG4iKTsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCXByaXYtPmZpZm9fbGVuID0gcm91bmR1cF9wb3dfb2ZfdHdvKHByaXYtPmNoZmlmb19sZW4pOworCisJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9jaGFubmVsczsgaSsrKSB7CisJCXByaXYtPmZpZm9baV0gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0KSAqCisJCQkJCXByaXYtPmZpZm9fbGVuLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFwcml2LT5maWZvW2ldKSB7CisJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSByZXF1ZXN0IGZpZm8gJWRcbiIsIGkpOworCQkJZXJyID0gLUVOT01FTTsKKwkJCWdvdG8gZXJyX291dDsKKwkJfQorCX0KKworCXByaXYtPmhlYWQgPSBremFsbG9jKHNpemVvZihpbnQpICogcHJpdi0+bnVtX2NoYW5uZWxzLCBHRlBfS0VSTkVMKTsKKwlwcml2LT50YWlsID0ga3phbGxvYyhzaXplb2YoaW50KSAqIHByaXYtPm51bV9jaGFubmVscywgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2LT5oZWFkIHx8ICFwcml2LT50YWlsKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlcXVlc3QgaW5kZXggc3BhY2VcbiIpOworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJLyogcmVzZXQgYW5kIGluaXRpYWxpemUgdGhlIGgvdyAqLworCWVyciA9IGluaXRfZGV2aWNlKGRldik7CisJaWYgKGVycikgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBpbml0aWFsaXplIGRldmljZVxuIik7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwkvKiByZWdpc3RlciB0aGUgUk5HLCBpZiBhdmFpbGFibGUgKi8KKwlpZiAoaHdfc3VwcG9ydHMoZGV2LCBERVNDX0hEUl9TRUwwX1JORykpIHsKKwkJZXJyID0gdGFsaXRvc19yZWdpc3Rlcl9ybmcoZGV2KTsKKwkJaWYgKGVycikgeworCQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgaHdybmc6ICVkXG4iLCBlcnIpOworCQkJZ290byBlcnJfb3V0OworCQl9IGVsc2UKKwkJCWRldl9pbmZvKGRldiwgImh3cm5nXG4iKTsKKwl9CisKKwkvKiByZWdpc3RlciBjcnlwdG8gYWxnb3JpdGhtcyB0aGUgZGV2aWNlIHN1cHBvcnRzICovCisJSU5JVF9MSVNUX0hFQUQoJnByaXYtPmFsZ19saXN0KTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGRyaXZlcl9hbGdzKTsgaSsrKSB7CisJCWlmIChod19zdXBwb3J0cyhkZXYsIGRyaXZlcl9hbGdzW2ldLmRlc2NfaGRyX3RlbXBsYXRlKSkgeworCQkJc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdF9hbGc7CisKKwkJCXRfYWxnID0gdGFsaXRvc19hbGdfYWxsb2MoZGV2LCAmZHJpdmVyX2FsZ3NbaV0pOworCQkJaWYgKElTX0VSUih0X2FsZykpIHsKKwkJCQllcnIgPSBQVFJfRVJSKHRfYWxnKTsKKwkJCQlnb3RvIGVycl9vdXQ7CisJCQl9CisKKwkJCWVyciA9IGNyeXB0b19yZWdpc3Rlcl9hbGcoJnRfYWxnLT5jcnlwdG9fYWxnKTsKKwkJCWlmIChlcnIpIHsKKwkJCQlkZXZfZXJyKGRldiwgIiVzIGFsZyByZWdpc3RyYXRpb24gZmFpbGVkXG4iLAorCQkJCQl0X2FsZy0+Y3J5cHRvX2FsZy5jcmFfZHJpdmVyX25hbWUpOworCQkJCWtmcmVlKHRfYWxnKTsKKwkJCX0gZWxzZSB7CisJCQkJbGlzdF9hZGRfdGFpbCgmdF9hbGctPmVudHJ5LCAmcHJpdi0+YWxnX2xpc3QpOworCQkJCWRldl9pbmZvKGRldiwgIiVzXG4iLAorCQkJCQkgdF9hbGctPmNyeXB0b19hbGcuY3JhX2RyaXZlcl9uYW1lKTsKKwkJCX0KKwkJfQorCX0KKworCXJldHVybiAwOworCitlcnJfb3V0OgorCXRhbGl0b3NfcmVtb3ZlKG9mZGV2KTsKKwlpZiAobnApCisJCW9mX25vZGVfcHV0KG5wKTsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHRhbGl0b3NfbWF0Y2hbXSA9IHsKKwl7CisJCS5jb21wYXRpYmxlID0gImZzbCxzZWMyLjAiLAorCX0sCisJe30sCit9OworTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgdGFsaXRvc19tYXRjaCk7CisKK3N0YXRpYyBzdHJ1Y3Qgb2ZfcGxhdGZvcm1fZHJpdmVyIHRhbGl0b3NfZHJpdmVyID0geworCS5uYW1lID0gInRhbGl0b3MiLAorCS5tYXRjaF90YWJsZSA9IHRhbGl0b3NfbWF0Y2gsCisJLnByb2JlID0gdGFsaXRvc19wcm9iZSwKKwkucmVtb3ZlID0gX19kZXZleGl0X3AodGFsaXRvc19yZW1vdmUpLAorfTsKKworc3RhdGljIGludCBfX2luaXQgdGFsaXRvc19pbml0KHZvaWQpCit7CisJcmV0dXJuIG9mX3JlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmdGFsaXRvc19kcml2ZXIpOworfQorbW9kdWxlX2luaXQodGFsaXRvc19pbml0KTsKKworc3RhdGljIHZvaWQgX19leGl0IHRhbGl0b3NfZXhpdCh2b2lkKQoreworCW9mX3VucmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZ0YWxpdG9zX2RyaXZlcik7Cit9Cittb2R1bGVfZXhpdCh0YWxpdG9zX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfQVVUSE9SKCJLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJGcmVlc2NhbGUgaW50ZWdyYXRlZCBzZWN1cml0eSBlbmdpbmUgKFNFQykgZHJpdmVyIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmggYi9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ4YTQwNQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuaApAQCAtMCwwICsxLDE5OSBAQAorLyoKKyAqIEZyZWVzY2FsZSBTRUMgKHRhbGl0b3MpIGRldmljZSByZWdpc3RlciBhbmQgZGVzY3JpcHRvciBoZWFkZXIgZGVmaW5lcworICoKKyAqIENvcHlyaWdodCAoYykgMjAwNi0yMDA4IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKy8qCisgKiBUQUxJVE9TX3h4eF9MTyBhZGRyZXNzZXMgcG9pbnQgdG8gdGhlIGxvdyBkYXRhIGJpdHMgKDMyLTYzKSBvZiB0aGUgcmVnaXN0ZXIKKyAqLworCisvKiBnbG9iYWwgcmVnaXN0ZXIgb2Zmc2V0IGFkZHJlc3NlcyAqLworI2RlZmluZSBUQUxJVE9TX01DUgkJCTB4MTAzMCAgLyogbWFzdGVyIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19NQ1JfTE8JCQkweDEwMzgKKyNkZWZpbmUgICBUQUxJVE9TX01DUl9TV1IJCTB4MSAgICAgLyogcy93IHJlc2V0ICovCisjZGVmaW5lIFRBTElUT1NfSU1SCQkJMHgxMDA4ICAvKiBpbnRlcnJ1cHQgbWFzayByZWdpc3RlciAqLworI2RlZmluZSAgIFRBTElUT1NfSU1SX0lOSVQJCTB4MTBmZmYgLyogZW5hYmxlIGNoYW5uZWwgSVJRcyAqLworI2RlZmluZSBUQUxJVE9TX0lNUl9MTwkJCTB4MTAwQworI2RlZmluZSAgIFRBTElUT1NfSU1SX0xPX0lOSVQJCTB4MjAwMDAgLyogYWxsb3cgUk5HVSBlcnJvciBJUlFzICovCisjZGVmaW5lIFRBTElUT1NfSVNSCQkJMHgxMDEwICAvKiBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyICovCisjZGVmaW5lICAgVEFMSVRPU19JU1JfQ0hFUlIJCTB4YWEgICAgLyogY2hhbm5lbCBlcnJvcnMgbWFzayAqLworI2RlZmluZSAgIFRBTElUT1NfSVNSX0NIRE9ORQkJMHg1NSAgICAvKiBjaGFubmVsIGRvbmUgbWFzayAqLworI2RlZmluZSBUQUxJVE9TX0lTUl9MTwkJCTB4MTAxNAorI2RlZmluZSBUQUxJVE9TX0lDUgkJCTB4MTAxOCAgLyogaW50ZXJydXB0IGNsZWFyIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfSUNSX0xPCQkJMHgxMDFDCisKKy8qIGNoYW5uZWwgcmVnaXN0ZXIgYWRkcmVzcyBzdHJpZGUgKi8KKyNkZWZpbmUgVEFMSVRPU19DSF9TVFJJREUJCTB4MTAwCisKKy8qIGNoYW5uZWwgY29uZmlndXJhdGlvbiByZWdpc3RlciAgKi8KKyNkZWZpbmUgVEFMSVRPU19DQ0NSKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExMDgpCisjZGVmaW5lICAgVEFMSVRPU19DQ0NSX0NPTlQJCTB4MiAgICAvKiBjaGFubmVsIGNvbnRpbnVlICovCisjZGVmaW5lICAgVEFMSVRPU19DQ0NSX1JFU0VUCQkweDEgICAgLyogY2hhbm5lbCByZXNldCAqLworI2RlZmluZSBUQUxJVE9TX0NDQ1JfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTEwYykKKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfTE9fQ0RXRQkJMHgxMCAgIC8qIGNoYW4uIGRvbmUgd3JpdGViYWNrIGVuYWIuICovCisjZGVmaW5lICAgVEFMSVRPU19DQ0NSX0xPX05UCQkweDQgICAgLyogbm90aWZpY2F0aW9uIHR5cGUgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfTE9fQ0RJRQkJMHgyICAgIC8qIGNoYW5uZWwgZG9uZSBJUlEgZW5hYmxlICovCisKKy8qIENDUFNSOiBjaGFubmVsIHBvaW50ZXIgc3RhdHVzIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfQ0NQU1IoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTExMCkKKyNkZWZpbmUgVEFMSVRPU19DQ1BTUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTE0KQorI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fRE9GCQkweDgwMDAgLyogZG91YmxlIEZGIHdyaXRlIG9mbG93IGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19TT0YJCTB4NDAwMCAvKiBzaW5nbGUgRkYgd3JpdGUgb2Zsb3cgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX01EVEUJCTB4MjAwMCAvKiBtYXN0ZXIgZGF0YSB0cmFuc2ZlciBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fU0dETFoJMHgxMDAwIC8qIHMvZyBkYXRhIGxlbiB6ZXJvIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19GUFoJCTB4MDgwMCAvKiBmZXRjaCBwdHIgemVybyBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fSURICQkweDA0MDAgLyogaWxsZWdhbCBkZXNjIGhkciBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fSUVVCQkweDAyMDAgLyogaW52YWxpZCBFVSBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fRVUJCTB4MDEwMCAvKiBFVSBlcnJvciBkZXRlY3RlZCAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fR0IJCTB4MDA4MCAvKiBnYXRoZXIgYm91bmRhcnkgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0dSTAkJMHgwMDQwIC8qIGdhdGhlciByZXR1cm4vbGVuZ3RoIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19TQgkJMHgwMDIwIC8qIHNjYXR0ZXIgYm91bmRhcnkgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX1NSTAkJMHgwMDEwIC8qIHNjYXR0ZXIgcmV0dXJuL2xlbmd0aCBlcnJvciAqLworCisvKiBjaGFubmVsIGZldGNoIGZpZm8gcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19GRihjaCkJCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE0OCkKKyNkZWZpbmUgVEFMSVRPU19GRl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTRjKQorCisvKiBjdXJyZW50IGRlc2NyaXB0b3IgcG9pbnRlciByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX0NEUFIoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE0MCkKKyNkZWZpbmUgVEFMSVRPU19DRFBSX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExNDQpCisKKy8qIGRlc2NyaXB0b3IgYnVmZmVyIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfREVTQ0JVRihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTgwKQorI2RlZmluZSBUQUxJVE9TX0RFU0NCVUZfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE4NCkKKworLyogZ2F0aGVyIGxpbmsgdGFibGUgKi8KKyNkZWZpbmUgVEFMSVRPU19HQVRIRVIoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTFjMCkKKyNkZWZpbmUgVEFMSVRPU19HQVRIRVJfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTFjNCkKKworLyogc2NhdHRlciBsaW5rIHRhYmxlICovCisjZGVmaW5lIFRBTElUT1NfU0NBVFRFUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMWUwKQorI2RlZmluZSBUQUxJVE9TX1NDQVRURVJfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTFlNCkKKworLyogZXhlY3V0aW9uIHVuaXQgaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlcnMgKi8KKyNkZWZpbmUgVEFMSVRPU19ERVVJU1IJCQkweDIwMzAgLyogREVTIHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19ERVVJU1JfTE8JCTB4MjAzNAorI2RlZmluZSBUQUxJVE9TX0FFU1VJU1IJCQkweDQwMzAgLyogQUVTIHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19BRVNVSVNSX0xPCQkweDQwMzQKKyNkZWZpbmUgVEFMSVRPU19NREVVSVNSCQkJMHg2MDMwIC8qIG1lc3NhZ2UgZGlnZXN0IHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19NREVVSVNSX0xPCQkweDYwMzQKKyNkZWZpbmUgVEFMSVRPU19BRkVVSVNSCQkJMHg4MDMwIC8qIGFyYzQgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX0FGRVVJU1JfTE8JCTB4ODAzNAorI2RlZmluZSBUQUxJVE9TX1JOR1VJU1IJCQkweGEwMzAgLyogcmFuZG9tIG51bWJlciB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfUk5HVUlTUl9MTwkJMHhhMDM0CisjZGVmaW5lIFRBTElUT1NfUk5HVVNSCQkJMHhhMDI4IC8qIHJuZyBzdGF0dXMgKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVU1JfTE8JCTB4YTAyYworI2RlZmluZSAgIFRBTElUT1NfUk5HVVNSX0xPX1JECQkweDEJLyogcmVzZXQgZG9uZSAqLworI2RlZmluZSAgIFRBTElUT1NfUk5HVVNSX0xPX09GTAkJMHhmZjAwMDAvKiBvdXRwdXQgRklGTyBsZW5ndGggKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVRFNSCQkJMHhhMDEwCS8qIGRhdGEgc2l6ZSAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VEU1JfTE8JCTB4YTAxNAorI2RlZmluZSBUQUxJVE9TX1JOR1VfRklGTwkJMHhhODAwCS8qIG91dHB1dCBGSUZPICovCisjZGVmaW5lIFRBTElUT1NfUk5HVV9GSUZPX0xPCQkweGE4MDQJLyogb3V0cHV0IEZJRk8gKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVUkNSCQkJMHhhMDE4CS8qIHJlc2V0IGNvbnRyb2wgKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVUkNSX0xPCQkweGEwMWMKKyNkZWZpbmUgICBUQUxJVE9TX1JOR1VSQ1JfTE9fU1IJCTB4MQkvKiBzb2Z0d2FyZSByZXNldCAqLworI2RlZmluZSBUQUxJVE9TX1BLRVVJU1IJCQkweGMwMzAgLyogcHVibGljIGtleSB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfUEtFVUlTUl9MTwkJMHhjMDM0CisjZGVmaW5lIFRBTElUT1NfS0VVSVNSCQkJMHhlMDMwIC8qIGthc3VtaSB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfS0VVSVNSX0xPCQkweGUwMzQKKyNkZWZpbmUgVEFMSVRPU19DUkNVSVNSCQkJMHhmMDMwIC8qIGN5Y2xpYyByZWR1bmRhbmN5IGNoZWNrIHVuaXQqLworI2RlZmluZSBUQUxJVE9TX0NSQ1VJU1JfTE8JCTB4ZjAzNAorCisvKgorICogdGFsaXRvcyBkZXNjcmlwdG9yIGhlYWRlciAoaGRyKSBiaXRzCisgKi8KKworLyogd3JpdHRlbiBiYWNrIHdoZW4gZG9uZSAqLworI2RlZmluZSBERVNDX0hEUl9ET05FCQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweGZmMDAwMDAwKQorCisvKiBwcmltYXJ5IGV4ZWN1dGlvbiB1bml0IHNlbGVjdCAqLworI2RlZmluZQlERVNDX0hEUl9TRUwwX01BU0sJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHhmMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9BRkVVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MTAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfREVVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MjAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfTURFVUEJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgzMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9NREVVQgkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweGIwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX1JORwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDQwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX1BLRVUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHg1MDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9BRVNVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4NjAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfS0VVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4NzAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfQ1JDVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDgwMDAwMDAwKQorCisvKiBwcmltYXJ5IGV4ZWN1dGlvbiB1bml0IG1vZGUgKE1PREUwKSBhbmQgZGVyaXZhdGl2ZXMgKi8KKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfRU5DUllQVAkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMTAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9BRVNVX0NCQwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMjAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9ERVVfQ0JDCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDA0MDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX0RFVV8zREVTCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAyMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfSU5JVAlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDEwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfSE1BQwlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDA4MDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfUEFECQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDA0MDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfTUQ1CQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAyMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfU0hBMjU2CV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDEwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9TSEExCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9NRDVfSE1BQwkoREVTQ19IRFJfTU9ERTBfTURFVV9NRDUgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMF9NREVVX0hNQUMpCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfU0hBMjU2X0hNQUMJKERFU0NfSERSX01PREUwX01ERVVfU0hBMjU2IHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTBfTURFVV9ITUFDKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX1NIQTFfSE1BQwkoREVTQ19IRFJfTU9ERTBfTURFVV9TSEExIHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTBfTURFVV9ITUFDKQorCisvKiBzZWNvbmRhcnkgZXhlY3V0aW9uIHVuaXQgc2VsZWN0IChTRUwxKSAqLworI2RlZmluZQlERVNDX0hEUl9TRUwxX01BU0sJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDBmMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMV9NREVVQQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDMwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwxX01ERVVCCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwYjAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDFfQ1JDVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDgwMDAwKQorCisvKiBzZWNvbmRhcnkgZXhlY3V0aW9uIHVuaXQgbW9kZSAoTU9ERTEpIGFuZCBkZXJpdmF0aXZlcyAqLworI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAxMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX0hNQUMJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwODAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1BBRAkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwNDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX01ENQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMjAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1NglfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAxMDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfU0hBMQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfTUQ1X0hNQUMJKERFU0NfSERSX01PREUxX01ERVVfTUQ1IHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTFfTURFVV9ITUFDKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1Nl9ITUFDCShERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1NiB8IFwKKwkJCQkJIERFU0NfSERSX01PREUxX01ERVVfSE1BQykKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9TSEExX0hNQUMJKERFU0NfSERSX01PREUxX01ERVVfU0hBMSB8IFwKKwkJCQkJIERFU0NfSERSX01PREUxX01ERVVfSE1BQykKKworLyogZGlyZWN0aW9uIG9mIG92ZXJhbGwgZGF0YSBmbG93IChESVIpICovCisjZGVmaW5lCURFU0NfSERSX0RJUl9JTkJPVU5ECQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAwMDIpCisKKy8qIHJlcXVlc3QgZG9uZSBub3RpZmljYXRpb24gKEROKSAqLworI2RlZmluZQlERVNDX0hEUl9ET05FX05PVElGWQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMDAxKQorCisvKiBkZXNjcmlwdG9yIHR5cGVzICovCisjZGVmaW5lIERFU0NfSERSX1RZUEVfQUVTVV9DVFJfTk9OU05PT1AJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMCA8PCAzKQorI2RlZmluZSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUAkJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMSA8PCAzKQorI2RlZmluZSBERVNDX0hEUl9UWVBFX0NPTU1PTl9OT05TTk9PUF9OT19BRkVVCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMiA8PCAzKQorI2RlZmluZSBERVNDX0hEUl9UWVBFX0hNQUNfU05PT1BfTk9fQUZFVQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDQgPDwgMykKKworLyogbGluayB0YWJsZSBleHRlbnQgZmllbGQgYml0cyAqLworI2RlZmluZSBERVNDX1BUUl9MTktUQkxfSlVNUAkJCTB4ODAKKyNkZWZpbmUgREVTQ19QVFJfTE5LVEJMX1JFVFVSTgkJCTB4MDIKKyNkZWZpbmUgREVTQ19QVFJfTE5LVEJMX05FWFQJCQkweDAxCmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWNhcmQuYyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctY2FyZC5jCmluZGV4IDViNGMwZDkuLmRhODczZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctY2FyZC5jCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctY2FyZC5jCkBAIC0xNiwxMiArMTYsMTUgQEAKICAqIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiAgKi8KIAotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgorI2luY2x1ZGUgPGxpbnV4L2NyYy1pdHUtdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9rcmVmLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KLSNpbmNsdWRlIDxsaW51eC9jcmMtaXR1LXQuaD4KKwogI2luY2x1ZGUgImZ3LXRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSAiZnctdG9wb2xvZ3kuaCIKICNpbmNsdWRlICJmdy1kZXZpY2UuaCIKQEAgLTM5NiwxNCArMzk5LDE2IEBACiB7CiAJc3RhdGljIGF0b21pY190IGluZGV4ID0gQVRPTUlDX0lOSVQoLTEpOwogCi0JYXRvbWljX3NldCgmY2FyZC0+ZGV2aWNlX2NvdW50LCAwKTsKIAljYXJkLT5pbmRleCA9IGF0b21pY19pbmNfcmV0dXJuKCZpbmRleCk7CiAJY2FyZC0+ZHJpdmVyID0gZHJpdmVyOwogCWNhcmQtPmRldmljZSA9IGRldmljZTsKIAljYXJkLT5jdXJyZW50X3RsYWJlbCA9IDA7CiAJY2FyZC0+dGxhYmVsX21hc2sgPSAwOwogCWNhcmQtPmNvbG9yID0gMDsKKwljYXJkLT5icm9hZGNhc3RfY2hhbm5lbCA9IEJST0FEQ0FTVF9DSEFOTkVMX0lOSVRJQUw7CiAKKwlrcmVmX2luaXQoJmNhcmQtPmtyZWYpOworCWluaXRfY29tcGxldGlvbigmY2FyZC0+ZG9uZSk7CiAJSU5JVF9MSVNUX0hFQUQoJmNhcmQtPnRyYW5zYWN0aW9uX2xpc3QpOwogCXNwaW5fbG9ja19pbml0KCZjYXJkLT5sb2NrKTsKIAlzZXR1cF90aW1lcigmY2FyZC0+Zmx1c2hfdGltZXIsCkBAIC00OTYsNyArNTAxLDYgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBmd19jYXJkX2RyaXZlciBkdW1teV9kcml2ZXIgPSB7Ci0JLm5hbWUgICAgICAgICAgICA9ICJkdW1teSIsCiAJLmVuYWJsZSAgICAgICAgICA9IGR1bW15X2VuYWJsZSwKIAkudXBkYXRlX3BoeV9yZWcgID0gZHVtbXlfdXBkYXRlX3BoeV9yZWcsCiAJLnNldF9jb25maWdfcm9tICA9IGR1bW15X3NldF9jb25maWdfcm9tLApAQCAtNTA3LDYgKzUxMSwxNCBAQAogfTsKIAogdm9pZAorZndfY2FyZF9yZWxlYXNlKHN0cnVjdCBrcmVmICprcmVmKQoreworCXN0cnVjdCBmd19jYXJkICpjYXJkID0gY29udGFpbmVyX29mKGtyZWYsIHN0cnVjdCBmd19jYXJkLCBrcmVmKTsKKworCWNvbXBsZXRlKCZjYXJkLT5kb25lKTsKK30KKwordm9pZAogZndfY29yZV9yZW1vdmVfY2FyZChzdHJ1Y3QgZndfY2FyZCAqY2FyZCkKIHsKIAljYXJkLT5kcml2ZXItPnVwZGF0ZV9waHlfcmVnKGNhcmQsIDQsCkBAIC01MjEsMTIgKzUzMywxMCBAQAogCWNhcmQtPmRyaXZlciA9ICZkdW1teV9kcml2ZXI7CiAKIAlmd19kZXN0cm95X25vZGVzKGNhcmQpOwotCS8qCi0JICogV2FpdCBmb3IgYWxsIGRldmljZSB3b3JrcXVldWUgam9icyB0byBmaW5pc2guICBPdGhlcndpc2UgdGhlCi0JICogZmlyZXdpcmUtY29yZSBtb2R1bGUgY291bGQgYmUgdW5sb2FkZWQgYmVmb3JlIHRoZSBqb2JzIHJhbi4KLQkgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmNhcmQtPmRldmljZV9jb3VudCkgPiAwKQotCQltc2xlZXAoMTAwKTsKKworCS8qIFdhaXQgZm9yIGFsbCB1c2VycywgZXNwZWNpYWxseSBkZXZpY2Ugd29ya3F1ZXVlIGpvYnMsIHRvIGZpbmlzaC4gKi8KKwlmd19jYXJkX3B1dChjYXJkKTsKKwl3YWl0X2Zvcl9jb21wbGV0aW9uKCZjYXJkLT5kb25lKTsKIAogCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmY2FyZC0+d29yayk7CiAJZndfZmx1c2hfdHJhbnNhY3Rpb25zKGNhcmQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuYyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmMKaW5kZXggZDljOGRhZi4uMDg1NWZiNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5jCkBAIC0xNjgsNyArMTY4LDcgQEAKIAlmd19ub2RlX3B1dChkZXZpY2UtPm5vZGUpOwogCWtmcmVlKGRldmljZS0+Y29uZmlnX3JvbSk7CiAJa2ZyZWUoZGV2aWNlKTsKLQlhdG9taWNfZGVjKCZjYXJkLT5kZXZpY2VfY291bnQpOworCWZ3X2NhcmRfcHV0KGNhcmQpOwogfQogCiBpbnQgZndfZGV2aWNlX2VuYWJsZV9waHlzX2RtYShzdHJ1Y3QgZndfZGV2aWNlICpkZXZpY2UpCkBAIC05NDYsOCArOTQ2LDcgQEAKIAkJICovCiAJCWRldmljZV9pbml0aWFsaXplKCZkZXZpY2UtPmRldmljZSk7CiAJCWF0b21pY19zZXQoJmRldmljZS0+c3RhdGUsIEZXX0RFVklDRV9JTklUSUFMSVpJTkcpOwotCQlhdG9taWNfaW5jKCZjYXJkLT5kZXZpY2VfY291bnQpOwotCQlkZXZpY2UtPmNhcmQgPSBjYXJkOworCQlkZXZpY2UtPmNhcmQgPSBmd19jYXJkX2dldChjYXJkKTsKIAkJZGV2aWNlLT5ub2RlID0gZndfbm9kZV9nZXQobm9kZSk7CiAJCWRldmljZS0+bm9kZV9pZCA9IG5vZGUtPm5vZGVfaWQ7CiAJCWRldmljZS0+Z2VuZXJhdGlvbiA9IGNhcmQtPmdlbmVyYXRpb247CmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5oIGIvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuaAppbmRleCA1ZjEzMWY1Li40MjMwNWJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5oCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmgKQEAgLTYyLDcgKzYyLDYgQEAKIAlib29sIGNtYzsKIAlzdHJ1Y3QgZndfY2FyZCAqY2FyZDsKIAlzdHJ1Y3QgZGV2aWNlIGRldmljZTsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CiAJc3RydWN0IGxpc3RfaGVhZCBjbGllbnRfbGlzdDsKIAl1MzIgKmNvbmZpZ19yb207CiAJc2l6ZV90IGNvbmZpZ19yb21fbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy1vaGNpLmMgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LW9oY2kuYwppbmRleCAwYjY2MzA2Li4zMzNiMTI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LW9oY2kuYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LW9oY2kuYwpAQCAtMjI5Miw3ICsyMjkyLDYgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmd19jYXJkX2RyaXZlciBvaGNpX2RyaXZlciA9IHsKLQkubmFtZQkJCT0gb2hjaV9kcml2ZXJfbmFtZSwKIAkuZW5hYmxlCQkJPSBvaGNpX2VuYWJsZSwKIAkudXBkYXRlX3BoeV9yZWcJCT0gb2hjaV91cGRhdGVfcGh5X3JlZywKIAkuc2V0X2NvbmZpZ19yb20JCT0gb2hjaV9zZXRfY29uZmlnX3JvbSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctc2JwMi5jIGIvZHJpdmVycy9maXJld2lyZS9mdy1zYnAyLmMKaW5kZXggMjI3ZDJlMC4uNTNmYzVhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy1zYnAyLmMKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy1zYnAyLmMKQEAgLTg2LDYgKzg2LDExIEBACiAgKiAtIGRlbGF5IGlucXVpcnkKICAqICAgV2FpdCBleHRyYSBTQlAyX0lOUVVJUllfREVMQVkgc2Vjb25kcyBhZnRlciBsb2dpbiBiZWZvcmUgU0NTSSBpbnF1aXJ5LgogICoKKyAqIC0gcG93ZXIgY29uZGl0aW9uCisgKiAgIFNldCB0aGUgcG93ZXIgY29uZGl0aW9uIGZpZWxkIGluIHRoZSBTVEFSVCBTVE9QIFVOSVQgY29tbWFuZHMgc2VudCBieQorICogICBzZF9tb2Qgb24gc3VzcGVuZCwgcmVzdW1lLCBhbmQgc2h1dGRvd24gKGlmIG1hbmFnZV9zdGFydF9zdG9wIGlzIG9uKS4KKyAqICAgU29tZSBkaXNrcyBuZWVkIHRoaXMgdG8gc3BpbiBkb3duIG9yIHRvIHJlc3VtZSBwcm9wZXJseS4KKyAqCiAgKiAtIG92ZXJyaWRlIGludGVybmFsIGJsYWNrbGlzdAogICogICBJbnN0ZWFkIG9mIGFkZGluZyB0byB0aGUgYnVpbHQtaW4gYmxhY2tsaXN0LCB1c2Ugb25seSB0aGUgd29ya2Fyb3VuZHMKICAqICAgc3BlY2lmaWVkIGluIHRoZSBtb2R1bGUgbG9hZCBwYXJhbWV0ZXIuCkBAIC05Nyw2ICsxMDIsNyBAQAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZCTB4OAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWQkweDEwCiAjZGVmaW5lIFNCUDJfSU5RVUlSWV9ERUxBWQkJMTIKKyNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTgkweDIwCiAjZGVmaW5lIFNCUDJfV09SS0FST1VORF9PVkVSUklERQkweDEwMAogCiBzdGF0aWMgaW50IHNicDJfcGFyYW1fd29ya2Fyb3VuZHM7CkBAIC0xMDcsNiArMTEzLDggQEAKIAkiLCBza2lwIG1vZGUgcGFnZSA4ID0gIiAgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzgpCiAJIiwgZml4IGNhcGFjaXR5ID0gIiAgICAgICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZKQogCSIsIGRlbGF5IGlucXVpcnkgPSAiICAgICAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlkpCisJIiwgc2V0IHBvd2VyIGNvbmRpdGlvbiBpbiBzdGFydCBzdG9wIHVuaXQgPSAiCisJCQkJICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OKQogCSIsIG92ZXJyaWRlIGludGVybmFsIGJsYWNrbGlzdCA9ICIgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX09WRVJSSURFKQogCSIsIG9yIGEgY29tYmluYXRpb24pIik7CiAKQEAgLTMxMCwxOCArMzE4LDI1IEBACiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDAyODAwLAogCQkubW9kZWwJCQk9IDB4MDAxMDEwLAogCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0lOUVVJUllfMzYgfAotCQkJCQkgIFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzgsCisJCQkJCSAgU0JQMl9XT1JLQVJPVU5EX01PREVfU0VOU0VfOCB8CisJCQkJCSAgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTiwKIAl9LAogCS8qIERWaUNPIE1vbW9iYXkgRlgtM0Egd2l0aCBUU0I0MkFBOUEgYnJpZGdlICovIHsKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMDI4MDAsCiAJCS5tb2RlbAkJCT0gMHgwMDAwMDAsCi0JCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSwKKwkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZIHwKKwkJCQkJICBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OLAogCX0sCiAJLyogSW5pdGlvIGJyaWRnZXMsIGFjdHVhbGx5IG9ubHkgbmVlZGVkIGZvciBzb21lIG9sZGVyIG9uZXMgKi8gewogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAwMDIwMCwKIAkJLm1vZGVsCQkJPSB+MCwKIAkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9JTlFVSVJZXzM2LAogCX0sCisJLyogUEwtMzUwNyBicmlkZ2Ugd2l0aCBQcm9saWZpYyBmaXJtd2FyZSAqLyB7CisJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDEyODAwLAorCQkubW9kZWwJCQk9IH4wLAorCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTiwKKwl9LAogCS8qIFN5bWJpb3MgYnJpZGdlICovIHsKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHhhMGI4MDAsCiAJCS5tb2RlbAkJCT0gfjAsCkBAIC0xNTMwLDYgKzE1NDUsOSBAQAogCiAJc2Rldi0+dXNlXzEwX2Zvcl9ydyA9IDE7CiAKKwlpZiAoc2JwMl9wYXJhbV9leGNsdXNpdmVfbG9naW4pCisJCXNkZXYtPm1hbmFnZV9zdGFydF9zdG9wID0gMTsKKwogCWlmIChzZGV2LT50eXBlID09IFRZUEVfUk9NKQogCQlzZGV2LT51c2VfMTBfZm9yX21zID0gMTsKIApAQCAtMTU0MCw2ICsxNTU4LDkgQEAKIAlpZiAobHUtPnRndC0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZKQogCQlzZGV2LT5maXhfY2FwYWNpdHkgPSAxOwogCisJaWYgKGx1LT50Z3QtPndvcmthcm91bmRzICYgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTikKKwkJc2Rldi0+c3RhcnRfc3RvcF9wd3JfY29uZCA9IDE7CisKIAlpZiAobHUtPnRndC0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfMTI4S19NQVhfVFJBTlMpCiAJCWJsa19xdWV1ZV9tYXhfc2VjdG9ycyhzZGV2LT5yZXF1ZXN0X3F1ZXVlLCAxMjggKiAxMDI0IC8gNTEyKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5jIGIvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5jCmluZGV4IDAzYWU4YTcuLjQwZGI4MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmMKQEAgLTU1LDYgKzU1LDkgQEAKICNkZWZpbmUgSEVBREVSX0dFVF9EQVRBX0xFTkdUSChxKQkoKChxKSA+PiAxNikgJiAweGZmZmYpCiAjZGVmaW5lIEhFQURFUl9HRVRfRVhURU5ERURfVENPREUocSkJKCgocSkgPj4gMCkgJiAweGZmZmYpCiAKKyNkZWZpbmUgSEVBREVSX0RFU1RJTkFUSU9OX0lTX0JST0FEQ0FTVChxKSBcCisJKCgocSkgJiBIRUFERVJfREVTVElOQVRJT04oMHgzZikpID09IEhFQURFUl9ERVNUSU5BVElPTigweDNmKSkKKwogI2RlZmluZSBQSFlfQ09ORklHX0dBUF9DT1VOVChnYXBfY291bnQpCSgoKGdhcF9jb3VudCkgPDwgMTYpIHwgKDEgPDwgMjIpKQogI2RlZmluZSBQSFlfQ09ORklHX1JPT1RfSUQobm9kZV9pZCkJKCgoKG5vZGVfaWQpICYgMHgzZikgPDwgMjQpIHwgKDEgPDwgMjMpKQogI2RlZmluZSBQSFlfSURFTlRJRklFUihpZCkJCSgoaWQpIDw8IDMwKQpAQCAtNjI0LDEyICs2MjcsOSBAQAogdm9pZAogZndfc2VuZF9yZXNwb25zZShzdHJ1Y3QgZndfY2FyZCAqY2FyZCwgc3RydWN0IGZ3X3JlcXVlc3QgKnJlcXVlc3QsIGludCByY29kZSkKIHsKLQkvKgotCSAqIEJyb2FkY2FzdCBwYWNrZXRzIGFyZSByZXBvcnRlZCBhcyBBQ0tfQ09NUExFVEUsIHNvIHRoaXMKLQkgKiBjaGVjayBpcyBzdWZmaWNpZW50IHRvIGVuc3VyZSB3ZSBkb24ndCBzZW5kIHJlc3BvbnNlIHRvCi0JICogYnJvYWRjYXN0IHBhY2tldHMgb3IgcG9zdGVkIHdyaXRlcy4KLQkgKi8KLQlpZiAocmVxdWVzdC0+YWNrICE9IEFDS19QRU5ESU5HKSB7CisJLyogdW5pZmllZCB0cmFuc2FjdGlvbiBvciBicm9hZGNhc3QgdHJhbnNhY3Rpb246IGRvbid0IHJlc3BvbmQgKi8KKwlpZiAocmVxdWVzdC0+YWNrICE9IEFDS19QRU5ESU5HIHx8CisJICAgIEhFQURFUl9ERVNUSU5BVElPTl9JU19CUk9BRENBU1QocmVxdWVzdC0+cmVxdWVzdF9oZWFkZXJbMF0pKSB7CiAJCWtmcmVlKHJlcXVlc3QpOwogCQlyZXR1cm47CiAJfQpAQCAtODE3LDEyICs4MTcsMTMgQEAKIAlpbnQgcmVnID0gb2Zmc2V0ICYgfkNTUl9SRUdJU1RFUl9CQVNFOwogCXVuc2lnbmVkIGxvbmcgbG9uZyBidXNfdGltZTsKIAlfX2JlMzIgKmRhdGEgPSBwYXlsb2FkOworCWludCByY29kZSA9IFJDT0RFX0NPTVBMRVRFOwogCiAJc3dpdGNoIChyZWcpIHsKIAljYXNlIENTUl9DWUNMRV9USU1FOgogCWNhc2UgQ1NSX0JVU19USU1FOgogCQlpZiAoIVRDT0RFX0lTX1JFQURfUkVRVUVTVCh0Y29kZSkgfHwgbGVuZ3RoICE9IDQpIHsKLQkJCWZ3X3NlbmRfcmVzcG9uc2UoY2FyZCwgcmVxdWVzdCwgUkNPREVfVFlQRV9FUlJPUik7CisJCQlyY29kZSA9IFJDT0RFX1RZUEVfRVJST1I7CiAJCQlicmVhazsKIAkJfQogCkBAIC04MzEsNyArODMyLDE3IEBACiAJCQkqZGF0YSA9IGNwdV90b19iZTMyKGJ1c190aW1lKTsKIAkJZWxzZQogCQkJKmRhdGEgPSBjcHVfdG9fYmUzMihidXNfdGltZSA+PiAyNSk7Ci0JCWZ3X3NlbmRfcmVzcG9uc2UoY2FyZCwgcmVxdWVzdCwgUkNPREVfQ09NUExFVEUpOworCQlicmVhazsKKworCWNhc2UgQ1NSX0JST0FEQ0FTVF9DSEFOTkVMOgorCQlpZiAodGNvZGUgPT0gVENPREVfUkVBRF9RVUFETEVUX1JFUVVFU1QpCisJCQkqZGF0YSA9IGNwdV90b19iZTMyKGNhcmQtPmJyb2FkY2FzdF9jaGFubmVsKTsKKwkJZWxzZSBpZiAodGNvZGUgPT0gVENPREVfV1JJVEVfUVVBRExFVF9SRVFVRVNUKQorCQkJY2FyZC0+YnJvYWRjYXN0X2NoYW5uZWwgPQorCQkJICAgIChiZTMyX3RvX2NwdSgqZGF0YSkgJiBCUk9BRENBU1RfQ0hBTk5FTF9WQUxJRCkgfAorCQkJICAgIEJST0FEQ0FTVF9DSEFOTkVMX0lOSVRJQUw7CisJCWVsc2UKKwkJCXJjb2RlID0gUkNPREVfVFlQRV9FUlJPUjsKIAkJYnJlYWs7CiAKIAljYXNlIENTUl9CVVNfTUFOQUdFUl9JRDoKQEAgLTg1MCwxMCArODYxLDEzIEBACiAKIAljYXNlIENTUl9CVVNZX1RJTUVPVVQ6CiAJCS8qIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4gKi8KKwogCWRlZmF1bHQ6Ci0JCWZ3X3NlbmRfcmVzcG9uc2UoY2FyZCwgcmVxdWVzdCwgUkNPREVfQUREUkVTU19FUlJPUik7CisJCXJjb2RlID0gUkNPREVfQUREUkVTU19FUlJPUjsKIAkJYnJlYWs7CiAJfQorCisJZndfc2VuZF9yZXNwb25zZShjYXJkLCByZXF1ZXN0LCByY29kZSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgZndfYWRkcmVzc19oYW5kbGVyIHJlZ2lzdGVycyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uaCBiL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uaAppbmRleCAwNGQzODU0Li4yYWUxYjBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmgKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5oCkBAIC0xOSwxNCArMTksMTUgQEAKICNpZm5kZWYgX19md190cmFuc2FjdGlvbl9oCiAjZGVmaW5lIF9fZndfdHJhbnNhY3Rpb25faAogCisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9maXJld2lyZS1jb25zdGFudHMuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8bGludXgva3JlZi5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9ja190eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CiAKICNkZWZpbmUgVENPREVfSVNfUkVBRF9SRVFVRVNUKHRjb2RlKQkoKCh0Y29kZSkgJiB+MSkgPT0gNCkKICNkZWZpbmUgVENPREVfSVNfQkxPQ0tfUEFDS0VUKHRjb2RlKQkoKCh0Y29kZSkgJiAgMSkgIT0gMCkKQEAgLTgwLDYgKzgxLDkgQEAKICNkZWZpbmUgQ1NSX1NQRUVEX01BUAkJCTB4MjAwMAogI2RlZmluZSBDU1JfU1BFRURfTUFQX0VORAkJMHgzMDAwCiAKKyNkZWZpbmUgQlJPQURDQVNUX0NIQU5ORUxfSU5JVElBTAkoMSA8PCAzMSB8IDMxKQorI2RlZmluZSBCUk9BRENBU1RfQ0hBTk5FTF9WQUxJRAkJKDEgPDwgMzApCisKICNkZWZpbmUgZndfbm90aWZ5KHMsIGFyZ3MuLi4pIHByaW50ayhLRVJOX05PVElDRSBLQlVJTERfTU9ETkFNRSAiOiAiIHMsICMjIGFyZ3MpCiAjZGVmaW5lIGZ3X2Vycm9yKHMsIGFyZ3MuLi4pIHByaW50ayhLRVJOX0VSUiBLQlVJTERfTU9ETkFNRSAiOiAiIHMsICMjIGFyZ3MpCiAKQEAgLTIxNiw3ICsyMjAsOCBAQAogc3RydWN0IGZ3X2NhcmQgewogCWNvbnN0IHN0cnVjdCBmd19jYXJkX2RyaXZlciAqZHJpdmVyOwogCXN0cnVjdCBkZXZpY2UgKmRldmljZTsKLQlhdG9taWNfdCBkZXZpY2VfY291bnQ7CisJc3RydWN0IGtyZWYga3JlZjsKKwlzdHJ1Y3QgY29tcGxldGlvbiBkb25lOwogCiAJaW50IG5vZGVfaWQ7CiAJaW50IGdlbmVyYXRpb247CkBAIC0yMzYsNiArMjQxLDcgQEAKIAkgKi8KIAlpbnQgc2VsZl9pZF9jb3VudDsKIAl1MzIgdG9wb2xvZ3lfbWFwWzI1MiArIDNdOworCXUzMiBicm9hZGNhc3RfY2hhbm5lbDsKIAogCXNwaW5sb2NrX3QgbG9jazsgLyogVGFrZSB0aGlzIGxvY2sgd2hlbiBoYW5kbGluZyB0aGUgbGlzdHMgaW4KIAkJCSAgKiB0aGlzIHN0cnVjdC4gKi8KQEAgLTI1Niw2ICsyNjIsMjAgQEAKIAlpbnQgYm1fZ2VuZXJhdGlvbjsKIH07CiAKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGZ3X2NhcmQgKmZ3X2NhcmRfZ2V0KHN0cnVjdCBmd19jYXJkICpjYXJkKQoreworCWtyZWZfZ2V0KCZjYXJkLT5rcmVmKTsKKworCXJldHVybiBjYXJkOworfQorCit2b2lkIGZ3X2NhcmRfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqa3JlZik7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBmd19jYXJkX3B1dChzdHJ1Y3QgZndfY2FyZCAqY2FyZCkKK3sKKwlrcmVmX3B1dCgmY2FyZC0+a3JlZiwgZndfY2FyZF9yZWxlYXNlKTsKK30KKwogLyoKICAqIFRoZSBpc28gcGFja2V0IGZvcm1hdCBhbGxvd3MgZm9yIGFuIGltbWVkaWF0ZSBoZWFkZXIvcGF5bG9hZCBwYXJ0CiAgKiBzdG9yZWQgaW4gJ2hlYWRlcicgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHBhY2tldCBpbmZvIHBsdXMgYW4KQEAgLTM0OCw4ICszNjgsNiBAQAogZndfaXNvX2NvbnRleHRfc3RvcChzdHJ1Y3QgZndfaXNvX2NvbnRleHQgKmN0eCk7CiAKIHN0cnVjdCBmd19jYXJkX2RyaXZlciB7Ci0JY29uc3QgY2hhciAqbmFtZTsKLQogCS8qCiAJICogRW5hYmxlIHRoZSBnaXZlbiBjYXJkIHdpdGggdGhlIGdpdmVuIGluaXRpYWwgY29uZmlnIHJvbS4KIAkgKiBUaGlzIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIGFjdGl2YXRlIHRoZSBjYXJkLCBhbmQgZWl0aGVyCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL0tjb25maWcgYi9kcml2ZXJzL2Zpcm13YXJlL0tjb25maWcKaW5kZXggZGMyY2VjNi4uZWJiOWU1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9LY29uZmlnCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvS2NvbmZpZwpAQCAtMjYsNiArMjYsMTYgQEAKIAkgIGtlcm5lbC4gU2F5IE4gaWYgeW91IHdhbnQgRUREIGVuYWJsZWQgYnkgZGVmYXVsdC4gRUREIGNhbiBiZSBkeW5hbWljYWxseSBzZXQKIAkgIHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyICdlZGQ9e29ufHNraXBtYnJ8b2ZmfScuCiAKK2NvbmZpZyBGSVJNV0FSRV9NRU1NQVAKKyAgICBib29sICJBZGQgZmlybXdhcmUtcHJvdmlkZWQgbWVtb3J5IG1hcCB0byBzeXNmcyIgaWYgRU1CRURERUQKKyAgICBkZWZhdWx0IChYODZfNjQgfHwgWDg2XzMyKQorICAgIGhlbHAKKyAgICAgIEFkZCB0aGUgZmlybXdhcmUtcHJvdmlkZWQgKHVubW9kaWZpZWQpIG1lbW9yeSBtYXAgdG8gL3N5cy9maXJtd2FyZS9tZW1tYXAuCisgICAgICBUaGF0IG1lbW9yeSBtYXAgaXMgdXNlZCBmb3IgZXhhbXBsZSBieSBrZXhlYyB0byBzZXQgdXAgcGFyYW1ldGVyIGFyZWEKKyAgICAgIGZvciB0aGUgbmV4dCBrZXJuZWwsIGJ1dCBjYW4gYWxzbyBiZSB1c2VkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuCisKKyAgICAgIFNlZSBhbHNvIERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZmlybXdhcmUtbWVtbWFwLgorCiBjb25maWcgRUZJX1ZBUlMKIAl0cmlzdGF0ZSAiRUZJIFZhcmlhYmxlIFN1cHBvcnQgdmlhIHN5c2ZzIgogCWRlcGVuZHMgb24gRUZJCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL01ha2VmaWxlIGIvZHJpdmVycy9maXJtd2FyZS9NYWtlZmlsZQppbmRleCA0YzkxNDcxLi4xYzNjMTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvTWFrZWZpbGUKQEAgLTEwLDMgKzEwLDQgQEAKIG9iai0kKENPTkZJR19ETUlJRCkJCSs9IGRtaS1pZC5vCiBvYmotJChDT05GSUdfSVNDU0lfSUJGVF9GSU5EKQkrPSBpc2NzaV9pYmZ0X2ZpbmQubwogb2JqLSQoQ09ORklHX0lTQ1NJX0lCRlQpCSs9IGlzY3NpX2liZnQubworb2JqLSQoQ09ORklHX0ZJUk1XQVJFX01FTU1BUCkJKz0gbWVtbWFwLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZGVsbF9yYnUuYyBiL2RyaXZlcnMvZmlybXdhcmUvZGVsbF9yYnUuYwppbmRleCA2YThiMWUwLi43NDMwZTIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2RlbGxfcmJ1LmMKKysrIGIvZHJpdmVycy9maXJtd2FyZS9kZWxsX3JidS5jCkBAIC0yMjAsNyArMjIwLDcgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1zdGF0aWMgaW50IHBhY2tldGl6ZV9kYXRhKHZvaWQgKmRhdGEsIHNpemVfdCBsZW5ndGgpCitzdGF0aWMgaW50IHBhY2tldGl6ZV9kYXRhKGNvbnN0IHU4ICpkYXRhLCBzaXplX3QgbGVuZ3RoKQogewogCWludCByYyA9IDA7CiAJaW50IGRvbmUgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9kbWlfc2Nhbi5jIGIvZHJpdmVycy9maXJtd2FyZS9kbWlfc2Nhbi5jCmluZGV4IGM1ZTNlZDcuLjQ1NTU3NWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvZG1pX3NjYW4uYworKysgYi9kcml2ZXJzL2Zpcm13YXJlL2RtaV9zY2FuLmMKQEAgLTgsNiArOCwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxhc20vZG1pLmg+CiAKKy8qCisgKiBETUkgc3RhbmRzIGZvciAiRGVza3RvcCBNYW5hZ2VtZW50IEludGVyZmFjZSIuICBJdCBpcyBwYXJ0CisgKiBvZiBhbmQgYW4gYW50ZWNlZGVudCB0bywgU01CSU9TLCB3aGljaCBzdGFuZHMgZm9yIFN5c3RlbQorICogTWFuYWdlbWVudCBCSU9TLiAgU2VlIGZ1cnRoZXI6IGh0dHA6Ly93d3cuZG10Zi5vcmcvc3RhbmRhcmRzCisgKi8KIHN0YXRpYyBjaGFyIGRtaV9lbXB0eV9zdHJpbmdbXSA9ICIgICAgICAgICI7CiAKIHN0YXRpYyBjb25zdCBjaGFyICogX19pbml0IGRtaV9zdHJpbmdfbm9zYXZlKGNvbnN0IHN0cnVjdCBkbWlfaGVhZGVyICpkbSwgdTggcykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvbWVtbWFwLmMgYi9kcml2ZXJzL2Zpcm13YXJlL21lbW1hcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMzM5OWMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2Zpcm13YXJlL21lbW1hcC5jCkBAIC0wLDAgKzEsMjA1IEBACisvKgorICogbGludXgvZHJpdmVycy9maXJtd2FyZS9tZW1tYXAuYworICogIENvcHlyaWdodCAoQykgMjAwOCBTVVNFIExJTlVYIFByb2R1Y3RzIEdtYkgKKyAqICBieSBCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIuMCBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUtbWFwLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CisKKy8qCisgKiBEYXRhIHR5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKy8qCisgKiBGaXJtd2FyZSBtYXAgZW50cnkuIEJlY2F1c2UgZmlybXdhcmUgbWVtb3J5IG1hcHMgYXJlIGZsYXQgYW5kIG5vdAorICogaGllcmFyY2hpY2FsLCBpdCdzIG9rIHRvIG9yZ2FuaXNlIHRoZW0gaW4gYSBsaW5rZWQgbGlzdC4gTm8gcGFyZW50CisgKiBpbmZvcm1hdGlvbiBpcyBuZWNlc3NhcnkgYXMgZm9yIHRoZSByZXNvdXJjZSB0cmVlLgorICovCitzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5IHsKKwlyZXNvdXJjZV9zaXplX3QJCXN0YXJ0OwkvKiBzdGFydCBvZiB0aGUgbWVtb3J5IHJhbmdlICovCisJcmVzb3VyY2Vfc2l6ZV90CQllbmQ7CS8qIGVuZCBvZiB0aGUgbWVtb3J5IHJhbmdlIChpbmNsLikgKi8KKwljb25zdCBjaGFyCQkqdHlwZTsJLyogdHlwZSBvZiB0aGUgbWVtb3J5IHJhbmdlICovCisJc3RydWN0IGxpc3RfaGVhZAlsaXN0OwkvKiBlbnRyeSBmb3IgdGhlIGxpbmtlZCBsaXN0ICovCisJc3RydWN0IGtvYmplY3QJCWtvYmo7ICAgLyoga29iamVjdCBmb3IgZWFjaCBlbnRyeSAqLworfTsKKworLyoKKyAqIEZvcndhcmQgZGVjbGFyYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3N0YXRpYyBzc2l6ZV90IG1lbW1hcF9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IHN0YXJ0X3Nob3coc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCBlbmRfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IHR5cGVfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKTsKKworLyoKKyAqIFN0YXRpYyBkYXRhIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUgeworCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsKKwlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1Zik7Cit9OworCitzdHJ1Y3QgbWVtbWFwX2F0dHJpYnV0ZSBtZW1tYXBfc3RhcnRfYXR0ciA9IF9fQVRUUl9STyhzdGFydCk7CitzdHJ1Y3QgbWVtbWFwX2F0dHJpYnV0ZSBtZW1tYXBfZW5kX2F0dHIgICA9IF9fQVRUUl9STyhlbmQpOworc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUgbWVtbWFwX3R5cGVfYXR0ciAgPSBfX0FUVFJfUk8odHlwZSk7CisKKy8qCisgKiBUaGVzZSBhcmUgZGVmYXVsdCBhdHRyaWJ1dGVzIHRoYXQgYXJlIGFkZGVkIGZvciBldmVyeSBtZW1tYXAgZW50cnkuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpkZWZfYXR0cnNbXSA9IHsKKwkmbWVtbWFwX3N0YXJ0X2F0dHIuYXR0ciwKKwkmbWVtbWFwX2VuZF9hdHRyLmF0dHIsCisJJm1lbW1hcF90eXBlX2F0dHIuYXR0ciwKKwlOVUxMCit9OworCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyBtZW1tYXBfYXR0cl9vcHMgPSB7CisJLnNob3cgPSBtZW1tYXBfYXR0cl9zaG93LAorfTsKKworc3RhdGljIHN0cnVjdCBrb2JqX3R5cGUgbWVtbWFwX2t0eXBlID0geworCS5zeXNmc19vcHMJPSAmbWVtbWFwX2F0dHJfb3BzLAorCS5kZWZhdWx0X2F0dHJzCT0gZGVmX2F0dHJzLAorfTsKKworLyoKKyAqIFJlZ2lzdHJhdGlvbiBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworLyoKKyAqIEZpcm13YXJlIG1lbW9yeSBtYXAgZW50cmllcworICovCitzdGF0aWMgTElTVF9IRUFEKG1hcF9lbnRyaWVzKTsKKworLyoqCisgKiBDb21tb24gaW1wbGVtZW50YXRpb24gb2YgZmlybXdhcmVfbWFwX2FkZCgpIGFuZCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KCkKKyAqIHdoaWNoIGV4cGVjdHMgYSBwcmUtYWxsb2NhdGVkIHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkuCisgKgorICogQHN0YXJ0OiBTdGFydCBvZiB0aGUgbWVtb3J5IHJhbmdlLgorICogQGVuZDogICBFbmQgb2YgdGhlIG1lbW9yeSByYW5nZSAoaW5jbHVzaXZlKS4KKyAqIEB0eXBlOiAgVHlwZSBvZiB0aGUgbWVtb3J5IHJhbmdlLgorICogQGVudHJ5OiBQcmUtYWxsb2NhdGVkIChlaXRoZXIga21hbGxvYygpIG9yIGJvb3RtZW0gYWxsb2NhdG9yKSwgdW5pbml0aWFsaXNlZAorICogICAgICAgICBlbnRyeS4KKyAqLworc3RhdGljIGludCBmaXJtd2FyZV9tYXBfYWRkX2VudHJ5KHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJCQkgIGNvbnN0IGNoYXIgKnR5cGUsCisJCQkJICBzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSkKK3sKKwlCVUdfT04oc3RhcnQgPiBlbmQpOworCisJZW50cnktPnN0YXJ0ID0gc3RhcnQ7CisJZW50cnktPmVuZCA9IGVuZDsKKwllbnRyeS0+dHlwZSA9IHR5cGU7CisJSU5JVF9MSVNUX0hFQUQoJmVudHJ5LT5saXN0KTsKKwlrb2JqZWN0X2luaXQoJmVudHJ5LT5rb2JqLCAmbWVtbWFwX2t0eXBlKTsKKworCWxpc3RfYWRkX3RhaWwoJmVudHJ5LT5saXN0LCAmbWFwX2VudHJpZXMpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTZWUgPGxpbnV4L2Zpcm13YXJlLW1hcC5oPiBmb3IgZG9jdW1lbnRhdGlvbi4KKyAqLworaW50IGZpcm13YXJlX21hcF9hZGQocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkgICAgIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnk7CisKKwllbnRyeSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkpLCBHRlBfQVRPTUlDKTsKKwlXQVJOX09OKCFlbnRyeSk7CisJaWYgKCFlbnRyeSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyZXR1cm4gZmlybXdhcmVfbWFwX2FkZF9lbnRyeShzdGFydCwgZW5kLCB0eXBlLCBlbnRyeSk7Cit9CisKKy8qCisgKiBTZWUgPGxpbnV4L2Zpcm13YXJlLW1hcC5oPiBmb3IgZG9jdW1lbnRhdGlvbi4KKyAqLworaW50IF9faW5pdCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJCQkgIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnk7CisKKwllbnRyeSA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemVvZihzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5KSk7CisJV0FSTl9PTighZW50cnkpOworCWlmICghZW50cnkpCisJCXJldHVybiAtRU5PTUVNOworCisJcmV0dXJuIGZpcm13YXJlX21hcF9hZGRfZW50cnkoc3RhcnQsIGVuZCwgdHlwZSwgZW50cnkpOworfQorCisvKgorICogU3lzZnMgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCitzdGF0aWMgc3NpemVfdCBzdGFydF9zaG93KHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5LCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiMHglbGx4XG4iLCBlbnRyeS0+c3RhcnQpOworfQorCitzdGF0aWMgc3NpemVfdCBlbmRfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKQoreworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIjB4JWxseFxuIiwgZW50cnktPmVuZCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHR5cGVfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKQoreworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVzXG4iLCBlbnRyeS0+dHlwZSk7Cit9CisKKyNkZWZpbmUgdG9fbWVtbWFwX2F0dHIoX2F0dHIpIGNvbnRhaW5lcl9vZihfYXR0ciwgc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUsIGF0dHIpCisjZGVmaW5lIHRvX21lbW1hcF9lbnRyeShvYmopIGNvbnRhaW5lcl9vZihvYmosIHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnksIGtvYmopCisKK3N0YXRpYyBzc2l6ZV90IG1lbW1hcF9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5ID0gdG9fbWVtbWFwX2VudHJ5KGtvYmopOworCXN0cnVjdCBtZW1tYXBfYXR0cmlidXRlICptZW1tYXBfYXR0ciA9IHRvX21lbW1hcF9hdHRyKGF0dHIpOworCisJcmV0dXJuIG1lbW1hcF9hdHRyLT5zaG93KGVudHJ5LCBidWYpOworfQorCisvKgorICogSW5pdGlhbGlzZXMgc3R1ZmYgYW5kIGFkZHMgdGhlIGVudHJpZXMgaW4gdGhlIG1hcF9lbnRyaWVzIGxpc3QgdG8KKyAqIHN5c2ZzLiBJbXBvcnRhbnQgaXMgdGhhdCBmaXJtd2FyZV9tYXBfYWRkKCkgYW5kIGZpcm13YXJlX21hcF9hZGRfZWFybHkoKQorICogbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGxhdGVfaW5pdGNhbGwuCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IG1lbW1hcF9pbml0KHZvaWQpCit7CisJaW50IGkgPSAwOworCXN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5OworCXN0cnVjdCBrc2V0ICptZW1tYXBfa3NldDsKKworCW1lbW1hcF9rc2V0ID0ga3NldF9jcmVhdGVfYW5kX2FkZCgibWVtbWFwIiwgTlVMTCwgZmlybXdhcmVfa29iaik7CisJV0FSTl9PTighbWVtbWFwX2tzZXQpOworCWlmICghbWVtbWFwX2tzZXQpCisJCXJldHVybiAtRU5PTUVNOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1hcF9lbnRyaWVzLCBsaXN0KSB7CisJCWVudHJ5LT5rb2JqLmtzZXQgPSBtZW1tYXBfa3NldDsKKwkJa29iamVjdF9hZGQoJmVudHJ5LT5rb2JqLCBOVUxMLCAiJWQiLCBpKyspOworCX0KKworCXJldHVybiAwOworfQorbGF0ZV9pbml0Y2FsbChtZW1tYXBfaW5pdCk7CisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU1NjZjZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L01ha2VmaWxlCkBAIC0wLDAgKzEgQEAKK29iai15CQkJKz0gZHJtLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vS2NvbmZpZwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL0tjb25maWcKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWY5YTk3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCkBAIC0wLDAgKzEsMjYgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KKworZHJtLXkgICAgICAgOj0JZHJtX2F1dGgubyBkcm1fYnVmcy5vIGRybV9jb250ZXh0Lm8gZHJtX2RtYS5vIGRybV9kcmF3YWJsZS5vIFwKKwkJZHJtX2Rydi5vIGRybV9mb3BzLm8gZHJtX2lvY3RsLm8gZHJtX2lycS5vIFwKKwkJZHJtX2xvY2subyBkcm1fbWVtb3J5Lm8gZHJtX3Byb2MubyBkcm1fc3R1Yi5vIGRybV92bS5vIFwKKwkJZHJtX2FncHN1cHBvcnQubyBkcm1fc2NhdHRlci5vIGF0aV9wY2lnYXJ0Lm8gZHJtX3BjaS5vIFwKKwkJZHJtX3N5c2ZzLm8gZHJtX2hhc2h0YWIubyBkcm1fc21hbi5vIGRybV9tbS5vCisKK2RybS0kKENPTkZJR19DT01QQVQpICs9IGRybV9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk0pCSs9IGRybS5vCitvYmotJChDT05GSUdfRFJNX1RERlgpCSs9IHRkZngvCitvYmotJChDT05GSUdfRFJNX1IxMjgpCSs9IHIxMjgvCitvYmotJChDT05GSUdfRFJNX1JBREVPTikrPSByYWRlb24vCitvYmotJChDT05GSUdfRFJNX01HQSkJKz0gbWdhLworb2JqLSQoQ09ORklHX0RSTV9JODEwKQkrPSBpODEwLworb2JqLSQoQ09ORklHX0RSTV9JODMwKQkrPSBpODMwLworb2JqLSQoQ09ORklHX0RSTV9JOTE1KSAgKz0gaTkxNS8KK29iai0kKENPTkZJR19EUk1fU0lTKSAgICs9IHNpcy8KK29iai0kKENPTkZJR19EUk1fU0FWQUdFKSs9IHNhdmFnZS8KK29iai0kKENPTkZJR19EUk1fVklBKQkrPXZpYS8KKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9SRUFETUUuZHJtIGIvZHJpdmVycy9ncHUvZHJtL1JFQURNRS5kcm0Kc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vUkVBRE1FLmRybQpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL1JFQURNRS5kcm0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vYXRpX3BjaWdhcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hdGlfcGNpZ2FydC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2F0aV9wY2lnYXJ0LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9hdGlfcGNpZ2FydC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9hZ3BzdXBwb3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fYWdwc3VwcG9ydC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fYXV0aC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdXRoLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2F1dGguYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9hdXRoLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2J1ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9idWZzLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbnRleHQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fY29udGV4dC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2NvbnRleHQuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9kbWEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fZHJhd2FibGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJhd2FibGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fZHJhd2FibGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9kcmF3YWJsZS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9mb3BzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwpzaW1pbGFyaXR5IGluZGV4IDk4JQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9mb3BzLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jCmluZGV4IGQyZTZkYTguLjg1MWE1M2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2ZvcHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgImRybVAuaCIKICNpbmNsdWRlICJkcm1fc2FyZWEuaCIKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogc3RhdGljIGludCBkcm1fb3Blbl9oZWxwZXIoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHAsCiAJCQkgICBzdHJ1Y3QgZHJtX2RldmljZSAqIGRldik7CkBAIC0xNzQsMTIgKzE3NSwxNCBAQAogCiAJRFJNX0RFQlVHKCJcbiIpOwogCisJLyogQktMIHB1c2hkb3duOiBub3RlIHRoYXQgbm90aGluZyBlbHNlIHNlcmlhbGl6ZXMgaWRyX2ZpbmQoKSAqLworCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBpZHJfZmluZCgmZHJtX21pbm9yc19pZHIsIG1pbm9yX2lkKTsKIAlpZiAoIW1pbm9yKQotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAKIAlpZiAoIShkZXYgPSBtaW5vci0+ZGV2KSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCiAJb2xkX2ZvcHMgPSBmaWxwLT5mX29wOwogCWZpbHAtPmZfb3AgPSBmb3BzX2dldCgmZGV2LT5kcml2ZXItPmZvcHMpOwpAQCAtMTg5LDYgKzE5Miw4IEBACiAJfQogCWZvcHNfcHV0KG9sZF9mb3BzKTsKIAorb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2hhc2h0YWIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2hhc2h0YWIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1faW9jMzIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jMzIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faW9jMzIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9pb2N0bC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9pb2N0bC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2xvY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9sb2NrLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbWVtb3J5LmMKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fbWVtb3J5LmMKaW5kZXggODQ1MDgxYjQuLjAxNzcwMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbWVtb3J5LmMKQEAgLTE2Nyw2ICsxNjcsMTEgQEAKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2NvcmVfaW9yZW1hcCk7CiAKK3ZvaWQgZHJtX2NvcmVfaW9yZW1hcF93YyhzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCW1hcC0+aGFuZGxlID0gaW9yZW1hcF93YyhtYXAtPm9mZnNldCwgbWFwLT5zaXplKTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NvcmVfaW9yZW1hcF93Yyk7CiB2b2lkIGRybV9jb3JlX2lvcmVtYXBmcmVlKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJaWYgKCFtYXAtPmhhbmRsZSB8fCAhbWFwLT5zaXplKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbW0uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9tbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGNpLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3BjaS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9wcm9jLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2MuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fcHJvYy5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2MuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc2NhdHRlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zY2F0dGVyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3NjYXR0ZXIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9zY2F0dGVyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc21hbi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fc21hbi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zdHViLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N0dWIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc3R1Yi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3N0dWIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3lzZnMuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc3lzZnMuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV92bS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV92bS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3ZtLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pODEwL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k4MTAvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM4NDRlYwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pODEwL01ha2VmaWxlCkBAIC0wLDAgKzEsOCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQoraTgxMC15IDo9IGk4MTBfZHJ2Lm8gaTgxMF9kbWEubworCitvYmotJChDT05GSUdfRFJNX0k4MTApCSs9IGk4MTAubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODEwX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kbWEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODEwX2RtYS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2RtYS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MTBfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MTBfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgxMF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgxMF9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k4MzAvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTgzMC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjQyZWUwCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k4MzAvTWFrZWZpbGUKQEAgLTAsMCArMSw4IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCitpODMwLXkgOj0gaTgzMF9kcnYubyBpODMwX2RtYS5vIGk4MzBfaXJxLm8KKworb2JqLSQoQ09ORklHX0RSTV9JODMwKSArPSBpODMwLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgzMF9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfZG1hLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgzMF9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9kbWEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODMwX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODMwX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgzMF9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfaXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgzMF9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWU2MDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTAsMCArMSwxMCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQoraTkxNS15IDo9IGk5MTVfZHJ2Lm8gaTkxNV9kbWEubyBpOTE1X2lycS5vIGk5MTVfbWVtLm8KKworaTkxNS0kKENPTkZJR19DT01QQVQpICAgKz0gaTkxNV9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk1fSTkxNSkgICs9IGk5MTUubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pOTE1X2RtYS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lvYzMyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9pb2MzMi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lvYzMyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X21lbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9tZW0uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pOTE1X21lbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X21lbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL21nYS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDY4NDc4Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL21nYS9NYWtlZmlsZQpAQCAtMCwwICsxLDExIEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCittZ2EteSA6PSBtZ2FfZHJ2Lm8gbWdhX2RtYS5vIG1nYV9zdGF0ZS5vIG1nYV93YXJwLm8gbWdhX2lycS5vCisKK21nYS0kKENPTkZJR19DT01QQVQpICs9IG1nYV9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk1fTUdBKQkrPSBtZ2EubworCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9pb2MzMi5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfaW9jMzIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfaW9jMzIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfaW9jMzIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfaXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2lycS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2Ffc3RhdGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2Ffc3RhdGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2Ffc3RhdGUuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfdWNvZGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3Vjb2RlLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX3Vjb2RlLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3Vjb2RlLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX3dhcnAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3dhcnAuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2Ffd2FycC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV93YXJwLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yMTI4L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNjNzJhZQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L01ha2VmaWxlCkBAIC0wLDAgKzEsMTAgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK3IxMjgteSAgIDo9IHIxMjhfZHJ2Lm8gcjEyOF9jY2UubyByMTI4X3N0YXRlLm8gcjEyOF9pcnEubworCityMTI4LSQoQ09ORklHX0NPTVBBVCkgICArPSByMTI4X2lvYzMyLm8KKworb2JqLSQoQ09ORklHX0RSTV9SMTI4KQkrPSByMTI4Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9jY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfY2NlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9jY2UuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9jY2UuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMTI4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMTI4X2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9pb2MzMi5jIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9pb2MzMi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfaW9jMzIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfaXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfaXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9zdGF0ZS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfc3RhdGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9zdGF0ZS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWI1MjFlCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9NYWtlZmlsZQpAQCAtMCwwICsxLDEwIEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCityYWRlb24teSA6PSByYWRlb25fZHJ2Lm8gcmFkZW9uX2NwLm8gcmFkZW9uX3N0YXRlLm8gcmFkZW9uX21lbS5vIHJhZGVvbl9pcnEubyByMzAwX2NtZGJ1Zi5vCisKK3JhZGVvbi0kKENPTkZJR19DT01QQVQpICs9IHJhZGVvbl9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk1fUkFERU9OKSs9IHJhZGVvbi5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IzMDBfY21kYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDBfY21kYnVmLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjMwMF9jbWRidWYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMzAwX2NtZGJ1Zi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IzMDBfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDBfcmVnLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjMwMF9yZWcuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMzAwX3JlZy5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9jcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3AuYwpzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9jcC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcC5jCmluZGV4IGU1MzE1OGYuLmYwZGU4MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2NwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3AuYwpAQCAtMTE1NCw3ICsxMTU0LDcgQEAKIAkJCWRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZy5zaXplID0KIAkJCSAgICBkZXZfcHJpdi0+Z2FydF9pbmZvLnRhYmxlX3NpemU7CiAKLQkJCWRybV9jb3JlX2lvcmVtYXAoJmRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZywgZGV2KTsKKwkJCWRybV9jb3JlX2lvcmVtYXBfd2MoJmRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZywgZGV2KTsKIAkJCWRldl9wcml2LT5nYXJ0X2luZm8uYWRkciA9CiAJCQkgICAgZGV2X3ByaXYtPmdhcnRfaW5mby5tYXBwaW5nLmhhbmRsZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pb2MzMi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pb2MzMi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25faXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX21lbS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbWVtLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX21lbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tZW0uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fbWljcm9jb2RlLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9taWNyb2NvZGUuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fbWljcm9jb2RlLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21pY3JvY29kZS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fc3RhdGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fc3RhdGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fc3RhdGUuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2UvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhmODRhYwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2UvTWFrZWZpbGUKQEAgLTAsMCArMSw5IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA9IC1JaW5jbHVkZS9kcm0KK3NhdmFnZS15IDo9IHNhdmFnZV9kcnYubyBzYXZhZ2VfYmNpLm8gc2F2YWdlX3N0YXRlLm8KKworb2JqLSQoQ09ORklHX0RSTV9TQVZBR0UpKz0gc2F2YWdlLm8KKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfYmNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9iY2kuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfYmNpLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2JjaS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zYXZhZ2Vfc3RhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX3N0YXRlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2F2YWdlX3N0YXRlLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX3N0YXRlLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zaXMvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MWMwNjEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL01ha2VmaWxlCkBAIC0wLDAgKzEsMTAgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15ID0gLUlpbmNsdWRlL2RybQorc2lzLXkgOj0gc2lzX2Rydi5vIHNpc19tbS5vCisKK29iai0kKENPTkZJR19EUk1fU0lTKSAgICs9IHNpcy5vCisKKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zaXNfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zaXNfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3Npc19kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3Npc19kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3Npcy9zaXNfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2lzX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19tbS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3Npc19tbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19tbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGRmeC9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNzlmMjkKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdGRmeC9NYWtlZmlsZQpAQCAtMCwwICsxLDggQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK3RkZngteSA6PSB0ZGZ4X2Rydi5vCisKK29iai0kKENPTkZJR19EUk1fVERGWCkJKz0gdGRmeC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3RkZnhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vdGRmeC90ZGZ4X2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3RkZnhfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS90ZGZ4L3RkZnhfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdGRmeF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L3RkZnhfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdGRmeF9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3RkZngvdGRmeF9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpYS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS92aWEvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU5ZTI1OAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvTWFrZWZpbGUKQEAgLTAsMCArMSw4IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCit2aWEteSAgICA6PSB2aWFfaXJxLm8gdmlhX2Rydi5vIHZpYV9tYXAubyB2aWFfbW0ubyB2aWFfZG1hLm8gdmlhX3ZlcmlmaWVyLm8gdmlhX3ZpZGVvLm8gdmlhX2RtYWJsaXQubworCitvYmotJChDT05GSUdfRFJNX1ZJQSkJKz12aWEubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfM2RfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV8zZF9yZWcuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfM2RfcmVnLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhXzNkX3JlZy5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RtYWJsaXQuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZG1hYmxpdC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWFibGl0LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RtYWJsaXQuaCBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZG1hYmxpdC5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWFibGl0LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfaXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX21hcC5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfbWFwLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX21hcC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9tYXAuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX21tLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX21tLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX21tLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX3ZlcmlmaWVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5oIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfdmVyaWZpZXIuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfdmlkZW8uYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZpZGVvLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX3ZpZGVvLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZpZGVvLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaGlkL2hpZHJhdy5jIGIvZHJpdmVycy9oaWQvaGlkcmF3LmMKaW5kZXggMWNhNmY0Ni4uMmZkZTZjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9oaWQvaGlkcmF3LmMKKysrIGIvZHJpdmVycy9oaWQvaGlkcmF3LmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L2hpZC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGxpbnV4L2hpZHJhdy5oPgogCkBAIC0xNTcsNiArMTU4LDcgQEAKIAlzdHJ1Y3QgaGlkcmF3X2xpc3QgKmxpc3Q7CiAJaW50IGVyciA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWlmICghKGxpc3QgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaGlkcmF3X2xpc3QpLCBHRlBfS0VSTkVMKSkpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CkBAIC0xODMsNiArMTg1LDcgQEAKIG91dF91bmxvY2s6CiAJc3Bpbl91bmxvY2soJm1pbm9yc19sb2NrKTsKIG91dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIAogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1iaXQuYwppbmRleCAzNTgxMjgyLi5lYjhmNzJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1iaXQuYworKysgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1iaXQuYwpAQCAtMzIwLDcgKzMyMCw3IEBACiAJCSAgICAgICB1bnNpZ25lZCBjaGFyIGFkZHIsIGludCByZXRyaWVzKQogewogCXN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YSAqYWRhcCA9IGkyY19hZGFwLT5hbGdvX2RhdGE7Ci0JaW50IGksIHJldCA9IC0xOworCWludCBpLCByZXQgPSAwOwogCiAJZm9yIChpID0gMDsgaSA8PSByZXRyaWVzOyBpKyspIHsKIAkJcmV0ID0gaTJjX291dGIoaTJjX2FkYXAsIGFkZHIpOwpAQCAtNTA4LDcgKzUwOCw3IEBACiAJCQlhZGRyIF49IDE7CiAJCXJldCA9IHRyeV9hZGRyZXNzKGkyY19hZGFwLCBhZGRyLCByZXRyaWVzKTsKIAkJaWYgKChyZXQgIT0gMSkgJiYgIW5ha19vaykKLQkJCXJldHVybiAtRVJFTU9URUlPOworCQkJcmV0dXJuIC1FTlhJTzsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKaW5kZXggZTk1NGEyMC4uZDUwYjMyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKKysrIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKQEAgLTE4Miw3ICsxODIsNyBAQAogCX0KIAlpZiAoc3RhdGUgIT0gMHhmOCkgewogCQlkZXZfZGJnKCZpMmNfYWRhcC0+ZGV2LCAiYnVzIGlzIG5vdCBpZGxlLiBzdGF0dXMgaXMgJSMwNHhcbiIsIHN0YXRlKTsKLQkJcmV0dXJuIC1FSU87CisJCXJldHVybiAtRUFHQUlOOwogCX0KIAogCURFQjEoInt7eyBYRkVSICVkIG1lc3NhZ2VzXG4iLCBudW0pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2YuYwppbmRleCA4OTA3YjAxLi4xZTMyOGQxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMKKysrIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMKQEAgLTc4LDYgKzc4LDM2IEBACiAJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX1NUT1ApOwogfQogCitzdGF0aWMgdm9pZCBoYW5kbGVfbGFiKHN0cnVjdCBpMmNfYWxnb19wY2ZfZGF0YSAqYWRhcCwgY29uc3QgaW50ICpzdGF0dXMpCit7CisJREVCMihwcmludGsoS0VSTl9JTkZPCisJCSJpMmMtYWxnby1wY2YubzogbG9zdCBhcmJpdHJhdGlvbiAoQ1NSIDB4JTAyeClcbiIsCisJCSAqc3RhdHVzKSk7CisKKwkvKiBDbGVhbnVwIGZyb20gTEFCIC0tIHJlc2V0IGFuZCBlbmFibGUgRVNPLgorCSAqIFRoaXMgcmVzZXRzIHRoZSBQQ0Y4NTg0OyBzaW5jZSB3ZSd2ZSBsb3N0IHRoZSBidXMsIG5vCisJICogZnVydGhlciBhdHRlbXB0cyBzaG91bGQgYmUgbWFkZSBieSBjYWxsZXJzIHRvIGNsZWFuIHVwCisJICogKG5vIGkyY19zdG9wKCkgZXRjLikKKwkgKi8KKwlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfUElOKTsKKwlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfRVNPKTsKKworCS8qIFdlIHBhdXNlIGZvciBhIHRpbWUgcGVyaW9kIHN1ZmZpY2llbnQgZm9yIGFueSBydW5uaW5nCisJICogSTJDIHRyYW5zYWN0aW9uIHRvIGNvbXBsZXRlIC0tIHRoZSBhcmJpdHJhdGlvbiBsb2dpYyB3b24ndAorCSAqIHdvcmsgcHJvcGVybHkgdW50aWwgdGhlIG5leHQgU1RBUlQgaXMgc2Vlbi4KKwkgKiBJdCBpcyBhc3N1bWVkIHRoZSBidXMgZHJpdmVyIG9yIGNsaWVudCBoYXMgc2V0IGEgcHJvcGVyIHZhbHVlLgorCSAqCisJICogUkVWSVNJVDogc2hvdWxkIHByb2JhYmx5IHVzZSBtc2xlZXAgaW5zdGVhZCBvZiBtZGVsYXkgaWYgd2UKKwkgKiBrbm93IHdlIGNhbiBzbGVlcC4KKwkgKi8KKwlpZiAoYWRhcC0+bGFiX21kZWxheSkKKwkJbWRlbGF5KGFkYXAtPmxhYl9tZGVsYXkpOworCisJREVCMihwcmludGsoS0VSTl9JTkZPCisJCSJpMmMtYWxnby1wY2YubzogcmVzZXQgTEFCIGNvbmRpdGlvbiAoQ1NSIDB4JTAyeClcbiIsCisJCWdldF9wY2YoYWRhcCwgMSkpKTsKK30KKwogc3RhdGljIGludCB3YWl0X2Zvcl9iYihzdHJ1Y3QgaTJjX2FsZ29fcGNmX2RhdGEgKmFkYXApIHsKIAogCWludCB0aW1lb3V0ID0gREVGX1RJTUVPVVQ7CkBAIC0xMDksMjMgKzEzOSw3IEBACiAJCSpzdGF0dXMgPSBnZXRfcGNmKGFkYXAsIDEpOwogCX0KIAlpZiAoKnN0YXR1cyAmIEkyQ19QQ0ZfTEFCKSB7Ci0JCURFQjIocHJpbnRrKEtFUk5fSU5GTyAKLQkJCSJpMmMtYWxnby1wY2YubzogbG9zdCBhcmJpdHJhdGlvbiAoQ1NSIDB4JTAyeClcbiIsCi0JCQkgKnN0YXR1cykpOwotCQkvKiBDbGVhbnVwIGZyb20gTEFCLS0gcmVzZXQgYW5kIGVuYWJsZSBFU08uCi0JCSAqIFRoaXMgcmVzZXRzIHRoZSBQQ0Y4NTg0OyBzaW5jZSB3ZSd2ZSBsb3N0IHRoZSBidXMsIG5vCi0JCSAqIGZ1cnRoZXIgYXR0ZW1wdHMgc2hvdWxkIGJlIG1hZGUgYnkgY2FsbGVycyB0byBjbGVhbiB1cCAKLQkJICogKG5vIGkyY19zdG9wKCkgZXRjLikKLQkJICovCi0JCXNldF9wY2YoYWRhcCwgMSwgSTJDX1BDRl9QSU4pOwotCQlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfRVNPKTsKLQkJLyogVE9ETzogd2Ugc2hvdWxkIHBhdXNlIGZvciBhIHRpbWUgcGVyaW9kIHN1ZmZpY2llbnQgZm9yIGFueQotCQkgKiBydW5uaW5nIEkyQyB0cmFuc2FjdGlvbiB0byBjb21wbGV0ZS0tIHRoZSBhcmJpdHJhdGlvbgotCQkgKiBsb2dpYyB3b24ndCB3b3JrIHByb3Blcmx5IHVudGlsIHRoZSBuZXh0IFNUQVJUIGlzIHNlZW4uCi0JCSAqLwotCQlERUIyKHByaW50ayhLRVJOX0lORk8gCi0JCQkiaTJjLWFsZ28tcGNmLm86IHJlc2V0IExBQiBjb25kaXRpb24gKENTUiAweCUwMngpXG4iLCAKLQkJCWdldF9wY2YoYWRhcCwxKSkpOworCQloYW5kbGVfbGFiKGFkYXAsIHN0YXR1cyk7CiAJCXJldHVybigtRUlOVFIpOwogCX0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL0tjb25maWcgYi9kcml2ZXJzL2kyYy9idXNzZXMvS2NvbmZpZwppbmRleCA0ODQzOGNjLi42ZWU5OTdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvS2NvbmZpZworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvS2NvbmZpZwpAQCAtNCw2ICs0LDkgQEAKIAogbWVudSAiSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0IgogCitjb21tZW50ICJQQyBTTUJ1cyBob3N0IGNvbnRyb2xsZXIgZHJpdmVycyIKKwlkZXBlbmRzIG9uIFBDSQorCiBjb25maWcgSTJDX0FMSTE1MzUKIAl0cmlzdGF0ZSAiQUxJIDE1MzUiCiAJZGVwZW5kcyBvbiBQQ0kKQEAgLTczLDYgKzc2LDE4NiBAQAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWFtZDgxMTEuCiAKK2NvbmZpZyBJMkNfSTgwMQorCXRyaXN0YXRlICJJbnRlbCA4MjgwMSAoSUNIKSIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAorCSAgODAxIGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKKwkgIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQ6CisJICAgIDgyODAxQUEKKwkgICAgODI4MDFBQgorCSAgICA4MjgwMUJBCisJICAgIDgyODAxQ0EvQ0FNCisJICAgIDgyODAxREIKKwkgICAgODI4MDFFQi9FUiAoSUNINS9JQ0g1UikKKwkgICAgNjMwMEVTQgorCSAgICBJQ0g2CisJICAgIElDSDcKKwkgICAgRVNCMgorCSAgICBJQ0g4CisJICAgIElDSDkKKwkgICAgVG9sYXBhaQorCSAgICBJQ0gxMAorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtaTgwMS4KKworY29uZmlnIEkyQ19JU0NICisJdHJpc3RhdGUgIkludGVsIFNDSCBTTUJ1cyAxLjAiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBTYXkgWSBoZXJlIGlmIHlvdSB3YW50IHRvIHVzZSBTTUJ1cyBjb250cm9sbGVyIG9uIHRoZSBJbnRlbCBTQ0gKKwkgIGJhc2VkIHN5c3RlbXMuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWlzY2guCisKK2NvbmZpZyBJMkNfUElJWDQKKwl0cmlzdGF0ZSAiSW50ZWwgUElJWDQgYW5kIGNvbXBhdGlibGUgKEFUSS9TZXJ2ZXJ3b3Jrcy9Ccm9hZGNvbS9TTVNDKSIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAorCSAgUElJWDQgZmFtaWx5IG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZworCSAgdmVyc2lvbnMgb2YgdGhlIGNoaXBzZXQgYXJlIHN1cHBvcnRlZCAobm90ZSB0aGF0IFNlcnZlcndvcmtzIGlzIHBhcnQKKwkgIG9mIEJyb2FkY29tKToKKwkgICAgSW50ZWwgUElJWDQKKwkgICAgSW50ZWwgNDQwTVgKKwkgICAgQVRJIElYUDIwMAorCSAgICBBVEkgSVhQMzAwCisJICAgIEFUSSBJWFA0MDAKKwkgICAgQVRJIFNCNjAwCisJICAgIEFUSSBTQjcwMAorCSAgICBBVEkgU0I4MDAKKwkgICAgU2VydmVyd29ya3MgT1NCNAorCSAgICBTZXJ2ZXJ3b3JrcyBDU0I1CisJICAgIFNlcnZlcndvcmtzIENTQjYKKwkgICAgU2VydmVyd29ya3MgSFQtMTAwMAorCSAgICBTTVNDIFZpY3Rvcnk2NgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcGlpeDQuCisKK2NvbmZpZyBJMkNfTkZPUkNFMgorCXRyaXN0YXRlICJOdmlkaWEgbkZvcmNlMiwgbkZvcmNlMyBhbmQgbkZvcmNlNCIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBOdmlkaWEKKwkgIG5Gb3JjZTIsIG5Gb3JjZTMgYW5kIG5Gb3JjZTQgZmFtaWxpZXMgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtbmZvcmNlMi4KKworY29uZmlnIEkyQ19ORk9SQ0UyX1M0OTg1CisJdHJpc3RhdGUgIlNNQnVzIG11bHRpcGxleGluZyBvbiB0aGUgVHlhbiBTNDk4NSIKKwlkZXBlbmRzIG9uIEkyQ19ORk9SQ0UyICYmIEVYUEVSSU1FTlRBTAorCWhlbHAKKwkgIEVuYWJsaW5nIHRoaXMgb3B0aW9uIHdpbGwgYWRkIHNwZWNpZmljIFNNQnVzIHN1cHBvcnQgZm9yIHRoZSBUeWFuCisJICBTNDk4NSBtb3RoZXJib2FyZC4gIE9uIHRoaXMgNC1DUFUgYm9hcmQsIHRoZSBTTUJ1cyBpcyBtdWx0aXBsZXhlZAorCSAgb3ZlciA0IGRpZmZlcmVudCBjaGFubmVscywgd2hlcmUgdGhlIHZhcmlvdXMgbWVtb3J5IG1vZHVsZSBFRVBST01zCisJICBsaXZlLiAgU2F5aW5nIHllcyBoZXJlIHdpbGwgZ2l2ZSB5b3UgYWNjZXNzIHRvIHRoZXNlIGluIGFkZGl0aW9uCisJICB0byB0aGUgdHJ1bmsuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1uZm9yY2UyLXM0OTg1LgorCitjb25maWcgSTJDX1NJUzU1OTUKKwl0cmlzdGF0ZSAiU2lTIDU1OTUiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIFNpUzU1OTUgU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtc2lzNTU5NS4KKworY29uZmlnIEkyQ19TSVM2MzAKKwl0cmlzdGF0ZSAiU2lTIDYzMC83MzAiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIFNpUzYzMCBhbmQgU2lTNzMwIFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZS4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczYzMC4KKworY29uZmlnIEkyQ19TSVM5NlgKKwl0cmlzdGF0ZSAiU2lTIDk2eCIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBTaVMKKwkgIDk2eCBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCisJICBjaGlwc2V0cyBhcmUgc3VwcG9ydGVkOgorCSAgICA2NDUvOTYxCisJICAgIDY0NURYLzk2MQorCSAgICA2NDVEWC85NjIKKwkgICAgNjQ4Lzk2MQorCSAgICA2NTAvOTYxCisJICAgIDczNQorCSAgICA3NDUKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczk2eC4KKworY29uZmlnIEkyQ19WSUEKKwl0cmlzdGF0ZSAiVklBIFZUODJDNTg2QiIKKwlkZXBlbmRzIG9uIFBDSSAmJiBFWFBFUklNRU5UQUwKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgVklBCisgICAgICAgICAgODJDNTg2QiBJMkMgaW50ZXJmYWNlCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy12aWEuCisKK2NvbmZpZyBJMkNfVklBUFJPCisJdHJpc3RhdGUgIlZJQSBWVDgyQzU5Ni84MkM2ODYvODJ4eCBhbmQgQ1g3MDAiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgVklBCisJICBWVDgyQzU5NiBhbmQgbGF0ZXIgU01CdXMgaW50ZXJmYWNlLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCisJICBjaGlwc2V0cyBhcmUgc3VwcG9ydGVkOgorCSAgICBWVDgyQzU5NkEvQgorCSAgICBWVDgyQzY4NkEvQgorCSAgICBWVDgyMzEKKwkgICAgVlQ4MjMzL0EKKwkgICAgVlQ4MjM1CisJICAgIFZUODIzN1IvQS9TCisJICAgIFZUODI1MQorCSAgICBDWDcwMAorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdmlhcHJvLgorCitjb21tZW50ICJNYWMgU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMiCisJZGVwZW5kcyBvbiBQUENfQ0hSUCB8fCBQUENfUE1BQworCitjb25maWcgSTJDX0hZRFJBCisJdHJpc3RhdGUgIkNIUlAgQXBwbGUgSHlkcmEgTWFjIEkvTyBJMkMgaW50ZXJmYWNlIgorCWRlcGVuZHMgb24gUENJICYmIFBQQ19DSFJQICYmIEVYUEVSSU1FTlRBTAorCXNlbGVjdCBJMkNfQUxHT0JJVAorCWhlbHAKKwkgIFRoaXMgc3VwcG9ydHMgdGhlIHVzZSBvZiB0aGUgSTJDIGludGVyZmFjZSBpbiB0aGUgQXBwbGUgSHlkcmEgTWFjCisJICBJL08gY2hpcCBvbiBzb21lIENIUlAgbWFjaGluZXMgKGUuZy4gdGhlIExvbmdUcmFpbCkuICBTYXkgWSBpZiB5b3UKKwkgIGhhdmUgc3VjaCBhIG1hY2hpbmUuCisKKwkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtaHlkcmEuCisKK2NvbmZpZyBJMkNfUE9XRVJNQUMKKwl0cmlzdGF0ZSAiUG93ZXJtYWMgSTJDIGludGVyZmFjZSIKKwlkZXBlbmRzIG9uIFBQQ19QTUFDCisJZGVmYXVsdCB5CisJaGVscAorCSAgVGhpcyBleHBvc2VzIHRoZSB2YXJpb3VzIFBvd2VyTWFjIGkyYyBpbnRlcmZhY2VzIHRvIHRoZSBsaW51eCBpMmMKKwkgIGxheWVyIGFuZCB0byB1c2VybGFuZC4gSXQgaXMgdXNlZCBieSB2YXJpb3VzIGRyaXZlcnMgb24gdGhlIFBvd2VyTWFjCisJICBwbGF0Zm9ybSwgYW5kIHNob3VsZCBnZW5lcmFsbHkgYmUgZW5hYmxlZC4KKworCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wb3dlcm1hYy4KKworY29tbWVudCAiSTJDIHN5c3RlbSBidXMgZHJpdmVycyAobW9zdGx5IGVtYmVkZGVkIC8gc3lzdGVtLW9uLWNoaXApIgorCiBjb25maWcgSTJDX0FUOTEKIAl0cmlzdGF0ZSAiQXRtZWwgQVQ5MSBJMkMgVHdvLVdpcmUgaW50ZXJmYWNlIChUV0kpIgogCWRlcGVuZHMgb24gQVJDSF9BVDkxICYmIEVYUEVSSU1FTlRBTCAmJiBCUk9LRU4KQEAgLTEwMSwxMCArMjg0LDkgQEAKIGNvbmZpZyBJMkNfQkxBQ0tGSU5fVFdJCiAJdHJpc3RhdGUgIkJsYWNrZmluIFRXSSBJMkMgc3VwcG9ydCIKIAlkZXBlbmRzIG9uIEJMQUNLRklOCisJZGVwZW5kcyBvbiAhQkY1NjEgJiYgIUJGNTMxICYmICFCRjUzMiAmJiAhQkY1MzMKIAloZWxwCi0JICBUaGlzIGlzIHRoZSBUV0kgSTJDIGRldmljZSBkcml2ZXIgZm9yIEJsYWNrZmluIEJGNTIyLCBCRjUyNSwKLQkgIEJGNTI3LCBCRjUzNCwgQkY1MzYsIEJGNTM3IGFuZCBCRjU0eC4gRm9yIG90aGVyIEJsYWNrZmluIHByb2Nlc3NvcnMsCi0JICBwbGVhc2UgZG9uJ3QgdXNlIHRoaXMgZHJpdmVyLgorCSAgVGhpcyBpcyB0aGUgSTJDIGJ1cyBkcml2ZXIgZm9yIEJsYWNrZmluIG9uLWNoaXAgVFdJIGludGVyZmFjZS4KIAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWJmaW4tdHdpLgpAQCAtMTE3LDYgKzI5OSwxNiBAQAogCWhlbHAKIAkgIFRoZSB1bml0IG9mIHRoZSBUV0kgY2xvY2sgaXMga0h6LgogCitjb25maWcgSTJDX0NQTQorCXRyaXN0YXRlICJGcmVlc2NhbGUgQ1BNMSBvciBDUE0yIChNUEM4eHgvODI2eCkiCisJZGVwZW5kcyBvbiAoQ1BNMSB8fCBDUE0yKSAmJiBPRl9JMkMKKwloZWxwCisJICBUaGlzIHN1cHBvcnRzIHRoZSB1c2Ugb2YgdGhlIEkyQyBpbnRlcmZhY2Ugb24gRnJlZXNjYWxlCisJICBwcm9jZXNzb3JzIHdpdGggQ1BNMSBvciBDUE0yLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtY3BtLgorCiBjb25maWcgSTJDX0RBVklOQ0kKIAl0cmlzdGF0ZSAiRGFWaW5jaSBJMkMgZHJpdmVyIgogCWRlcGVuZHMgb24gQVJDSF9EQVZJTkNJCkBAIC0xMzAsMTcgKzMyMiw2IEBACiAJICBkZXZpY2VzIHN1Y2ggYXMgRGFWaW5jaSBOSUMuCiAJICBGb3IgZGV0YWlscyBwbGVhc2Ugc2VlIGh0dHA6Ly93d3cudGkuY29tL2RhdmluY2kKIAotY29uZmlnIEkyQ19FTEVLVE9SCi0JdHJpc3RhdGUgIkVsZWt0b3IgSVNBIGNhcmQiCi0JZGVwZW5kcyBvbiBJU0EgJiYgQlJPS0VOX09OX1NNUAotCXNlbGVjdCBJMkNfQUxHT1BDRgotCWhlbHAKLQkgIFRoaXMgc3VwcG9ydHMgdGhlIFBDRjg1ODQgSVNBIGJ1cyBJMkMgYWRhcHRlci4gIFNheSBZIGlmIHlvdSBvd24KLQkgIHN1Y2ggYW4gYWRhcHRlci4KLQotCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1lbGVrdG9yLgotCiBjb25maWcgSTJDX0dQSU8KIAl0cmlzdGF0ZSAiR1BJTy1iYXNlZCBiaXRiYW5naW5nIEkyQyIKIAlkZXBlbmRzIG9uIEdFTkVSSUNfR1BJTwpAQCAtMTQ5LDEwNCArMzMwLDYgQEAKIAkgIFRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBiaXRiYW5naW5nIEkyQyBkcml2ZXIgdXRpbGl6aW5nIHRoZQogCSAgYXJjaC1uZXV0cmFsIEdQSU8gQVBJIHRvIGNvbnRyb2wgdGhlIFNDTCBhbmQgU0RBIGxpbmVzLgogCi1jb25maWcgSTJDX0hZRFJBCi0JdHJpc3RhdGUgIkNIUlAgQXBwbGUgSHlkcmEgTWFjIEkvTyBJMkMgaW50ZXJmYWNlIgotCWRlcGVuZHMgb24gUENJICYmIFBQQ19DSFJQICYmIEVYUEVSSU1FTlRBTAotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIFRoaXMgc3VwcG9ydHMgdGhlIHVzZSBvZiB0aGUgSTJDIGludGVyZmFjZSBpbiB0aGUgQXBwbGUgSHlkcmEgTWFjCi0JICBJL08gY2hpcCBvbiBzb21lIENIUlAgbWFjaGluZXMgKGUuZy4gdGhlIExvbmdUcmFpbCkuICBTYXkgWSBpZiB5b3UKLQkgIGhhdmUgc3VjaCBhIG1hY2hpbmUuCi0KLQkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtaHlkcmEuCi0KLWNvbmZpZyBJMkNfSTgwMQotCXRyaXN0YXRlICJJbnRlbCA4MjgwMSAoSUNIKSIKLQlkZXBlbmRzIG9uIFBDSQotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAotCSAgODAxIGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKLQkgIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQ6Ci0JICAgIDgyODAxQUEKLQkgICAgODI4MDFBQgotCSAgICA4MjgwMUJBCi0JICAgIDgyODAxQ0EvQ0FNCi0JICAgIDgyODAxREIKLQkgICAgODI4MDFFQi9FUiAoSUNINS9JQ0g1UikKLQkgICAgNjMwMEVTQgotCSAgICBJQ0g2Ci0JICAgIElDSDcKLQkgICAgRVNCMgotCSAgICBJQ0g4Ci0JICAgIElDSDkKLQkgICAgVG9sYXBhaQotCSAgICBJQ0gxMAotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtaTgwMS4KLQotY29uZmlnIEkyQ19JODEwCi0JdHJpc3RhdGUgIkludGVsIDgxMC84MTUgKERFUFJFQ0FURUQpIgotCWRlZmF1bHQgbgotCWRlcGVuZHMgb24gUENJCi0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIEludGVsCi0JICA4MTAvODE1IGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZQotCSAgZm9sbG93aW5nIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQ6Ci0JICAgIGk4MTBBQQotCSAgICBpODEwQUIKLQkgICAgaTgxMEUKLQkgICAgaTgxNQotCSAgICBpODQ1RwotCi0JICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHRoZSBpODEwZmIgYW5kIGludGVsZmIgZHJpdmVycy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWk4MTAuCi0KLWNvbmZpZyBJMkNfUFhBCi0JdHJpc3RhdGUgIkludGVsIFBYQTJYWCBJMkMgYWRhcHRlciAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBBUkNIX1BYQQotCWhlbHAKLQkgIElmIHlvdSBoYXZlIGRldmljZXMgaW4gdGhlIFBYQSBJMkMgYnVzLCBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLgotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXB4YS4KLQotY29uZmlnIEkyQ19QWEFfU0xBVkUKLQlib29sICJJbnRlbCBQWEEyWFggSTJDIFNsYXZlIGNvbW1zIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBJMkNfUFhBCi0JaGVscAotCSAgU3VwcG9ydCBJMkMgc2xhdmUgbW9kZSBjb21tdW5pY2F0aW9ucyBvbiB0aGUgUFhBIEkyQyBidXMuICBUaGlzCi0JICBpcyBuZWNlc3NhcnkgZm9yIHN5c3RlbXMgd2hlcmUgdGhlIFBYQSBtYXkgYmUgYSB0YXJnZXQgb24gdGhlCi0JICBJMkMgYnVzLgotCi1jb25maWcgSTJDX1BJSVg0Ci0JdHJpc3RhdGUgIkludGVsIFBJSVg0IGFuZCBjb21wYXRpYmxlIChBVEkvU2VydmVyd29ya3MvQnJvYWRjb20vU01TQykiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKLQkgIFBJSVg0IGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKLQkgIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQgKG5vdGUgdGhhdCBTZXJ2ZXJ3b3JrcyBpcyBwYXJ0Ci0JICBvZiBCcm9hZGNvbSk6Ci0JICAgIEludGVsIFBJSVg0Ci0JICAgIEludGVsIDQ0ME1YCi0JICAgIEFUSSBJWFAyMDAKLQkgICAgQVRJIElYUDMwMAotCSAgICBBVEkgSVhQNDAwCi0JICAgIEFUSSBTQjYwMAotCSAgICBBVEkgU0I3MDAKLQkgICAgQVRJIFNCODAwCi0JICAgIFNlcnZlcndvcmtzIE9TQjQKLQkgICAgU2VydmVyd29ya3MgQ1NCNQotCSAgICBTZXJ2ZXJ3b3JrcyBDU0I2Ci0JICAgIFNlcnZlcndvcmtzIEhULTEwMDAKLQkgICAgU01TQyBWaWN0b3J5NjYKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBpaXg0LgotCiBjb25maWcgSTJDX0lCTV9JSUMKIAl0cmlzdGF0ZSAiSUJNIFBQQyA0eHggb24tY2hpcCBJMkMgaW50ZXJmYWNlIgogCWRlcGVuZHMgb24gNHh4CkBAIC0yODEsMTggKzM2NCw2IEBACiAJICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIGRyb3BwZWQgc29vbi4gVXNlIGkyYy1ncGlvCiAJICBpbnN0ZWFkLgogCi1jb25maWcgSTJDX1BPV0VSTUFDCi0JdHJpc3RhdGUgIlBvd2VybWFjIEkyQyBpbnRlcmZhY2UiCi0JZGVwZW5kcyBvbiBQUENfUE1BQwotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFRoaXMgZXhwb3NlcyB0aGUgdmFyaW91cyBQb3dlck1hYyBpMmMgaW50ZXJmYWNlcyB0byB0aGUgbGludXggaTJjCi0JICBsYXllciBhbmQgdG8gdXNlcmxhbmQuIEl0IGlzIHVzZWQgYnkgdmFyaW91cyBkcml2ZXJzIG9uIHRoZSBQb3dlck1hYwotCSAgcGxhdGZvcm0sIGFuZCBzaG91bGQgZ2VuZXJhbGx5IGJlIGVuYWJsZWQuCi0KLQkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcG93ZXJtYWMuCi0KIGNvbmZpZyBJMkNfTVBDCiAJdHJpc3RhdGUgIk1QQzEwNy84MjR4Lzg1eHgvNTJ4eC84Nnh4IgogCWRlcGVuZHMgb24gUFBDMzIKQEAgLTMwNSwxNSArMzc2LDE1IEBACiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBpMmMtbXBjLgogCi1jb25maWcgSTJDX05GT1JDRTIKLQl0cmlzdGF0ZSAiTnZpZGlhIG5Gb3JjZTIsIG5Gb3JjZTMgYW5kIG5Gb3JjZTQiCi0JZGVwZW5kcyBvbiBQQ0kKK2NvbmZpZyBJMkNfTVY2NFhYWAorCXRyaXN0YXRlICJNYXJ2ZWxsIG12NjR4eHggSTJDIENvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiAoTVY2NFg2MCB8fCBQTEFUX09SSU9OKSAmJiBFWFBFUklNRU5UQUwKIAloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgTnZpZGlhCi0JICBuRm9yY2UyLCBuRm9yY2UzIGFuZCBuRm9yY2U0IGZhbWlsaWVzIG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4KKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQorCSAgYnVpbHQtaW4gSTJDIGludGVyZmFjZSBvbiB0aGUgTWFydmVsbCA2NHh4eCBsaW5lIG9mIGhvc3QgYnJpZGdlcy4KIAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW5mb3JjZTIuCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtbXY2NHh4eC4KIAogY29uZmlnIEkyQ19PQ09SRVMKIAl0cmlzdGF0ZSAiT3BlbkNvcmVzIEkyQyBDb250cm9sbGVyIgpAQCAtMzM2LDYgKzQwNyw4OSBAQAogCSAgTGlrZSBPTUFQMTUxMC8xNjEwLzE3MTAvNTkxMiBhbmQgT01BUDI0MnguCiAJICBGb3IgZGV0YWlscyBzZWUgaHR0cDovL3d3dy50aS5jb20vb21hcC4KIAorY29uZmlnIEkyQ19QQVNFTUkKKwl0cmlzdGF0ZSAiUEEgU2VtaSBTTUJ1cyBpbnRlcmZhY2UiCisJZGVwZW5kcyBvbiBQUENfUEFTRU1JICYmIFBDSQorCWhlbHAKKwkgIFN1cHBvcnRzIHRoZSBQQSBTZW1pIFBXUmZpY2llbnQgb24tY2hpcCBTTUJ1cyBpbnRlcmZhY2VzLgorCitjb25maWcgSTJDX1BOWAorCXRyaXN0YXRlICJJMkMgYnVzIHN1cHBvcnQgZm9yIFBoaWxpcHMgUE5YIHRhcmdldHMiCisJZGVwZW5kcyBvbiBBUkNIX1BOWDQwMDgKKwloZWxwCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgUGhpbGlwcyBJUDMyMDQgSTJDIElQIGJsb2NrIG1hc3RlciBhbmQvb3IKKwkgIHNsYXZlIGNvbnRyb2xsZXIKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBueC4KKworY29uZmlnIEkyQ19QWEEKKwl0cmlzdGF0ZSAiSW50ZWwgUFhBMlhYIEkyQyBhZGFwdGVyIChFWFBFUklNRU5UQUwpIgorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEFSQ0hfUFhBCisJaGVscAorCSAgSWYgeW91IGhhdmUgZGV2aWNlcyBpbiB0aGUgUFhBIEkyQyBidXMsIHNheSB5ZXMgdG8gdGhpcyBvcHRpb24uCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcHhhLgorCitjb25maWcgSTJDX1BYQV9TTEFWRQorCWJvb2wgIkludGVsIFBYQTJYWCBJMkMgU2xhdmUgY29tbXMgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEkyQ19QWEEKKwloZWxwCisJICBTdXBwb3J0IEkyQyBzbGF2ZSBtb2RlIGNvbW11bmljYXRpb25zIG9uIHRoZSBQWEEgSTJDIGJ1cy4gIFRoaXMKKwkgIGlzIG5lY2Vzc2FyeSBmb3Igc3lzdGVtcyB3aGVyZSB0aGUgUFhBIG1heSBiZSBhIHRhcmdldCBvbiB0aGUKKwkgIEkyQyBidXMuCisKK2NvbmZpZyBJMkNfUzNDMjQxMAorCXRyaXN0YXRlICJTM0MyNDEwIEkyQyBEcml2ZXIiCisJZGVwZW5kcyBvbiBBUkNIX1MzQzI0MTAKKwloZWxwCisJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgSTJDIGNvbnRyb2xsZXIgaW4gdGhlCisJICBTYW1zdW5nIFMzQzI0MTAgYmFzZWQgU3lzdGVtLW9uLUNoaXAgZGV2aWNlcy4KKworY29uZmlnIEkyQ19TSDc3NjAKKwl0cmlzdGF0ZSAiUmVuZXNhcyBTSDc3NjAgSTJDIENvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBDUFVfU1VCVFlQRV9TSDc3NjAKKwloZWxwCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgMiBJMkMgaW50ZXJmYWNlcyBvbiB0aGUgUmVuZXNhcyBTSDc3NjAuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaDc3NjAuCisKK2NvbmZpZyBJMkNfU0hfTU9CSUxFCisJdHJpc3RhdGUgIlN1cGVySCBNb2JpbGUgSTJDIENvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBTVVBFUkgKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIGJ1aWx0LWluIEkyQyBpbnRlcmZhY2Ugb24gdGhlIFJlbmVzYXMgU0gtTW9iaWxlIHByb2Nlc3Nvci4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNoX21vYmlsZS4KKworY29uZmlnIEkyQ19TSU1URUMKKwl0cmlzdGF0ZSAiU2ltdGVjIEdlbmVyaWMgSTJDIGludGVyZmFjZSIKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvcgorCSAgdGhlIFNpbXRlYyBHZW5lcmljIEkyQyBpbnRlcmZhY2UuIFRoaXMgZHJpdmVyIGlzIGZvciB0aGUKKwkgIHNpbXBsZSBJMkMgYnVzIHVzZWQgb24gbmV3ZXIgU2ltdGVjIHByb2R1Y3RzIGZvciBnZW5lcmFsCisJICBJMkMsIHN1Y2ggYXMgRERDIG9uIHRoZSBTaW10ZWMgQkJEMjAxNkEuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpbXRlYy4KKworY29uZmlnIEkyQ19WRVJTQVRJTEUKKwl0cmlzdGF0ZSAiQVJNIFZlcnNhdGlsZS9SZWFsdmlldyBJMkMgYnVzIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUkNIX1ZFUlNBVElMRSB8fCBBUkNIX1JFQUxWSUVXCisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgU2F5IHllcyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoZSBJMkMgc2VyaWFsIGJ1cyBvbiBBUk1zIFZlcnNhdGlsZQorCSAgcmFuZ2Ugb2YgcGxhdGZvcm1zLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdmVyc2F0aWxlLgorCitjb21tZW50ICJFeHRlcm5hbCBJMkMvU01CdXMgYWRhcHRlciBkcml2ZXJzIgorCiBjb25maWcgSTJDX1BBUlBPUlQKIAl0cmlzdGF0ZSAiUGFyYWxsZWwgcG9ydCBhZGFwdGVyIgogCWRlcGVuZHMgb24gUEFSUE9SVApAQCAtMzgzLDUwICs1MzcsMTA2IEBACiAJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBhcnBvcnQtbGlnaHQuCiAKLWNvbmZpZyBJMkNfUEFTRU1JCi0JdHJpc3RhdGUgIlBBIFNlbWkgU01CdXMgaW50ZXJmYWNlIgotCWRlcGVuZHMgb24gUFBDX1BBU0VNSSAmJiBQQ0kKLQloZWxwCi0JICBTdXBwb3J0cyB0aGUgUEEgU2VtaSBQV1JmaWNpZW50IG9uLWNoaXAgU01CdXMgaW50ZXJmYWNlcy4KLQotY29uZmlnIEkyQ19QUk9TQVZBR0UKLQl0cmlzdGF0ZSAiUzMvVklBIChQcm8pU2F2YWdlIChERVBSRUNBVEVEKSIKK2NvbmZpZyBJMkNfVEFPU19FVk0KKwl0cmlzdGF0ZSAiVEFPUyBldmFsdWF0aW9uIG1vZHVsZSIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAorCXNlbGVjdCBTRVJJTworCXNlbGVjdCBTRVJJT19TRVJQT1JUCiAJZGVmYXVsdCBuCi0JZGVwZW5kcyBvbiBQQ0kKLQlzZWxlY3QgSTJDX0FMR09CSVQKIAloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIEkyQyBidXMgYW5kIEREQyBidXMgb2YgdGhlIFMzVklBIGVtYmVkZGVkIFNhdmFnZTQgYW5kIFByb1NhdmFnZTgKLQkgIGdyYXBoaWNzIHByb2Nlc3NvcnMuCi0JICBjaGlwc2V0cyBzdXBwb3J0ZWQ6Ci0JICAgIFMzL1ZJQSBLTTI2Ni9WVDgzNzUgYWthIFByb1NhdmFnZTgKLQkgICAgUzMvVklBIEtNMTMzL1ZUODM2NSBha2EgU2F2YWdlNAorCSAgVGhpcyBzdXBwb3J0cyBUQU9TIGV2YWx1YXRpb24gbW9kdWxlcyBvbiBzZXJpYWwgcG9ydC4gSW4gb3JkZXIgdG8KKwkgIHVzZSB0aGlzIGRyaXZlciwgeW91IHdpbGwgbmVlZCB0aGUgaW5wdXRhdHRhY2ggdG9vbCwgd2hpY2ggaXMgcGFydAorCSAgb2YgdGhlIGlucHV0LXV0aWxzIHBhY2thZ2UuCiAKLQkgIFRoaXMgZHJpdmVyIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdGhlIHNhdmFnZWZiIGRyaXZlci4KKwkgIElmIHVuc3VyZSwgc2F5IE4uCiAKIAkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcHJvc2F2YWdlLgorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXRhb3MtZXZtLgogCi1jb25maWcgSTJDX1MzQzI0MTAKLQl0cmlzdGF0ZSAiUzNDMjQxMCBJMkMgRHJpdmVyIgotCWRlcGVuZHMgb24gQVJDSF9TM0MyNDEwCitjb25maWcgSTJDX1RJTllfVVNCCisJdHJpc3RhdGUgIlRpbnktVVNCIGFkYXB0ZXIiCisJZGVwZW5kcyBvbiBVU0IKIAloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgSTJDIGNvbnRyb2xsZXIgaW4gdGhlCi0JICBTYW1zdW5nIFMzQzI0MTAgYmFzZWQgU3lzdGVtLW9uLUNoaXAgZGV2aWNlcy4KKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQorCSAgaTJjLXRpbnktdXNiLCBhIHNpbXBsZSBkby1pdC15b3Vyc2VsZiBVU0IgdG8gSTJDIGludGVyZmFjZS4gU2VlCisJICBodHRwOi8vd3d3LmhhcmJhdW0ub3JnL3RpbGwvaTJjX3RpbnlfdXNiIGZvciBoYXJkd2FyZSBkZXRhaWxzLgogCi1jb25maWcgSTJDX1NBVkFHRTQKLQl0cmlzdGF0ZSAiUzMgU2F2YWdlIDQgKERFUFJFQ0FURUQpIgotCWRlZmF1bHQgbgorCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXRpbnktdXNiLgorCitjb21tZW50ICJHcmFwaGljcyBhZGFwdGVyIEkyQy9EREMgY2hhbm5lbCBkcml2ZXJzIgorCWRlcGVuZHMgb24gUENJCisKK2NvbmZpZyBJMkNfVk9PRE9PMworCXRyaXN0YXRlICJWb29kb28gMyIKIAlkZXBlbmRzIG9uIFBDSQogCXNlbGVjdCBJMkNfQUxHT0JJVAogCWhlbHAKIAkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgUzMgU2F2YWdlIDQgSTJDIGludGVyZmFjZS4KLQotCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgc2F2YWdlZmIgZHJpdmVyLgorCSAgVm9vZG9vIDMgSTJDIGludGVyZmFjZS4KIAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNhdmFnZTQuCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdm9vZG9vMy4KKworY29tbWVudCAiT3RoZXIgSTJDL1NNQnVzIGJ1cyBkcml2ZXJzIgorCitjb25maWcgSTJDX0FDT1JOCisJdHJpc3RhdGUgIkFjb3JuIElPQy9JT01EIEkyQyBidXMgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4KKwlkZWZhdWx0IHkKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBTYXkgeWVzIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhlIEkyQyBidXMgb24gQWNvcm4gcGxhdGZvcm1zLgorCisJICBJZiB5b3UgZG9uJ3Qga25vdywgc2F5IFkuCisKK2NvbmZpZyBJMkNfRUxFS1RPUgorCXRyaXN0YXRlICJFbGVrdG9yIElTQSBjYXJkIgorCWRlcGVuZHMgb24gSVNBICYmIEJST0tFTl9PTl9TTVAKKwlzZWxlY3QgSTJDX0FMR09QQ0YKKwloZWxwCisJICBUaGlzIHN1cHBvcnRzIHRoZSBQQ0Y4NTg0IElTQSBidXMgSTJDIGFkYXB0ZXIuICBTYXkgWSBpZiB5b3Ugb3duCisJICBzdWNoIGFuIGFkYXB0ZXIuCisKKwkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtZWxla3Rvci4KKworY29uZmlnIEkyQ19QQ0FfSVNBCisJdHJpc3RhdGUgIlBDQTk1NjQgb24gYW4gSVNBIGJ1cyIKKwlkZXBlbmRzIG9uIElTQQorCXNlbGVjdCBJMkNfQUxHT1BDQQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIElTQSBib2FyZHMgdXNpbmcgdGhlIFBoaWxpcHMgUENBOTU2NAorCSAgcGFyYWxsZWwgYnVzIHRvIEkyQyBidXMgY29udHJvbGxlci4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBjYS1pc2EuCisKKwkgIFRoaXMgZGV2aWNlIGlzIGFsbW9zdCB1bmRldGVjdGFibGUgYW5kIHVzaW5nIHRoaXMgZHJpdmVyIG9uIGEKKwkgIHN5c3RlbSB3aGljaCBkb2Vzbid0IGhhdmUgdGhpcyBkZXZpY2Ugd2lsbCByZXN1bHQgaW4gbG9uZworCSAgZGVsYXlzIHdoZW4gSTJDL1NNQnVzIGNoaXAgZHJpdmVycyBhcmUgbG9hZGVkIChlLmcuIGF0IGJvb3QKKwkgIHRpbWUpLiAgSWYgdW5zdXJlLCBzYXkgTi4KKworY29uZmlnIEkyQ19QQ0FfUExBVEZPUk0KKwl0cmlzdGF0ZSAiUENBOTU2NCBhcyBwbGF0Zm9ybSBkZXZpY2UiCisJc2VsZWN0IEkyQ19BTEdPUENBCisJZGVmYXVsdCBuCisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgYSBtZW1vcnkgbWFwcGVkIFBoaWxpcHMgUENBOTU2NAorCSAgcGFyYWxsZWwgYnVzIHRvIEkyQyBidXMgY29udHJvbGxlci4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBjYS1wbGF0Zm9ybS4KKworY29uZmlnIEkyQ19QTUNNU1AKKwl0cmlzdGF0ZSAiUE1DIE1TUCBJMkMgVFdJIENvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBQTUNfTVNQCisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIFBNQyBUV0kgY29udHJvbGxlciBvbiBNU1AgZGV2aWNlcy4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBtY21zcC4KIAogY29uZmlnIEkyQ19TSUJZVEUKIAl0cmlzdGF0ZSAiU2lCeXRlIFNNQnVzIGludGVyZmFjZSIKQEAgLTQzNCwxNyArNjQ0LDE4IEBACiAJaGVscAogCSAgU3VwcG9ydHMgdGhlIFNpQnl0ZSBTT0Mgb24tY2hpcCBJMkMgaW50ZXJmYWNlcyAoMiBjaGFubmVscykuCiAKLWNvbmZpZyBJMkNfU0lNVEVDCi0JdHJpc3RhdGUgIlNpbXRlYyBHZW5lcmljIEkyQyBpbnRlcmZhY2UiCi0Jc2VsZWN0IEkyQ19BTEdPQklUCitjb25maWcgSTJDX1NUVUIKKwl0cmlzdGF0ZSAiSTJDL1NNQnVzIFRlc3QgU3R1YiIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBtCisJZGVmYXVsdCAnbicKIAloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvcgotCSAgdGhlIFNpbXRlYyBHZW5lcmljIEkyQyBpbnRlcmZhY2UuIFRoaXMgZHJpdmVyIGlzIGZvciB0aGUKLQkgIHNpbXBsZSBJMkMgYnVzIHVzZWQgb24gbmV3ZXIgU2ltdGVjIHByb2R1Y3RzIGZvciBnZW5lcmFsCi0JICBJMkMsIHN1Y2ggYXMgRERDIG9uIHRoZSBTaW10ZWMgQkJEMjAxNkEuCisJICBUaGlzIG1vZHVsZSBtYXkgYmUgdXNlZnVsIHRvIGRldmVsb3BlcnMgb2YgU01CdXMgY2xpZW50IGRyaXZlcnMsCisJICBlc3BlY2lhbGx5IGZvciBjZXJ0YWluIGtpbmRzIG9mIHNlbnNvciBjaGlwcy4KIAotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2ltdGVjLgorCSAgSWYgeW91IGRvIGJ1aWxkIHRoaXMgbW9kdWxlLCBiZSBzdXJlIHRvIHJlYWQgdGhlIG5vdGVzIGFuZCB3YXJuaW5ncworCSAgaW4gPGZpbGU6RG9jdW1lbnRhdGlvbi9pMmMvaTJjLXN0dWI+LgorCisJICBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGhlcmUsIGRlZmluaXRlbHkgc2F5IE4uCiAKIGNvbmZpZyBTQ3gyMDBfSTJDCiAJdHJpc3RhdGUgIk5hdFNlbWkgU0N4MjAwIEkyQyB1c2luZyBHUElPIHBpbnMgKERFUFJFQ0FURUQpIgpAQCAtNDg5LDIyMCArNzAwLDQgQEAKIAkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzY3gyMDBfYWNiLgogCi1jb25maWcgSTJDX1NJUzU1OTUKLQl0cmlzdGF0ZSAiU2lTIDU1OTUiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIFNpUzU1OTUgU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2lzNTU5NS4KLQotY29uZmlnIEkyQ19TSVM2MzAKLQl0cmlzdGF0ZSAiU2lTIDYzMC83MzAiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIFNpUzYzMCBhbmQgU2lTNzMwIFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZS4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczYzMC4KLQotY29uZmlnIEkyQ19TSVM5NlgKLQl0cmlzdGF0ZSAiU2lTIDk2eCIKLQlkZXBlbmRzIG9uIFBDSQotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBTaVMKLQkgIDk2eCBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCi0JICBjaGlwc2V0cyBhcmUgc3VwcG9ydGVkOgotCSAgICA2NDUvOTYxCi0JICAgIDY0NURYLzk2MQotCSAgICA2NDVEWC85NjIKLQkgICAgNjQ4Lzk2MQotCSAgICA2NTAvOTYxCi0JICAgIDczNQotCSAgICA3NDUKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczk2eC4KLQotY29uZmlnIEkyQ19UQU9TX0VWTQotCXRyaXN0YXRlICJUQU9TIGV2YWx1YXRpb24gbW9kdWxlIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCi0Jc2VsZWN0IFNFUklPCi0Jc2VsZWN0IFNFUklPX1NFUlBPUlQKLQlkZWZhdWx0IG4KLQloZWxwCi0JICBUaGlzIHN1cHBvcnRzIFRBT1MgZXZhbHVhdGlvbiBtb2R1bGVzIG9uIHNlcmlhbCBwb3J0LiBJbiBvcmRlciB0bwotCSAgdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIHRoZSBpbnB1dGF0dGFjaCB0b29sLCB3aGljaCBpcyBwYXJ0Ci0JICBvZiB0aGUgaW5wdXQtdXRpbHMgcGFja2FnZS4KLQotCSAgSWYgdW5zdXJlLCBzYXkgTi4KLQotCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy10YW9zLWV2bS4KLQotY29uZmlnIEkyQ19TVFVCCi0JdHJpc3RhdGUgIkkyQy9TTUJ1cyBUZXN0IFN0dWIiCi0JZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgbQotCWRlZmF1bHQgJ24nCi0JaGVscAotCSAgVGhpcyBtb2R1bGUgbWF5IGJlIHVzZWZ1bCB0byBkZXZlbG9wZXJzIG9mIFNNQnVzIGNsaWVudCBkcml2ZXJzLAotCSAgZXNwZWNpYWxseSBmb3IgY2VydGFpbiBraW5kcyBvZiBzZW5zb3IgY2hpcHMuCi0KLQkgIElmIHlvdSBkbyBidWlsZCB0aGlzIG1vZHVsZSwgYmUgc3VyZSB0byByZWFkIHRoZSBub3RlcyBhbmQgd2FybmluZ3MKLQkgIGluIDxmaWxlOkRvY3VtZW50YXRpb24vaTJjL2kyYy1zdHViPi4KLQotCSAgSWYgeW91IGRvbid0IGtub3cgd2hhdCB0byBkbyBoZXJlLCBkZWZpbml0ZWx5IHNheSBOLgotCi1jb25maWcgSTJDX1RJTllfVVNCCi0JdHJpc3RhdGUgIkkyQy1UaW55LVVTQiIKLQlkZXBlbmRzIG9uIFVTQgotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgaTJjLXRpbnktdXNiLCBhIHNpbXBsZSBkby1pdC15b3Vyc2VsZiBVU0IgdG8gSTJDIGludGVyZmFjZS4gU2VlCi0JICBodHRwOi8vd3d3LmhhcmJhdW0ub3JnL3RpbGwvaTJjX3RpbnlfdXNiIGZvciBoYXJkd2FyZSBkZXRhaWxzLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdGlueS11c2IuCi0KLWNvbmZpZyBJMkNfVkVSU0FUSUxFCi0JdHJpc3RhdGUgIkFSTSBWZXJzYXRpbGUvUmVhbHZpZXcgSTJDIGJ1cyBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVJDSF9WRVJTQVRJTEUgfHwgQVJDSF9SRUFMVklFVwotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIFNheSB5ZXMgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB0aGUgSTJDIHNlcmlhbCBidXMgb24gQVJNcyBWZXJzYXRpbGUKLQkgIHJhbmdlIG9mIHBsYXRmb3Jtcy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZlcnNhdGlsZS4KLQotY29uZmlnIEkyQ19BQ09STgotCXRyaXN0YXRlICJBY29ybiBJT0MvSU9NRCBJMkMgYnVzIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBBUkNIX0FDT1JOCi0JZGVmYXVsdCB5Ci0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgU2F5IHllcyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoZSBJMkMgYnVzIG9uIEFjb3JuIHBsYXRmb3Jtcy4KLQotCSAgSWYgeW91IGRvbid0IGtub3csIHNheSBZLgotCi1jb25maWcgSTJDX1ZJQQotCXRyaXN0YXRlICJWSUEgODJDNTg2QiIKLQlkZXBlbmRzIG9uIFBDSSAmJiBFWFBFUklNRU5UQUwKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgVklBCi0gICAgICAgICAgODJDNTg2QiBJMkMgaW50ZXJmYWNlCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy12aWEuCi0KLWNvbmZpZyBJMkNfVklBUFJPCi0JdHJpc3RhdGUgIlZJQSBWVDgyQzU5Ni84MkM2ODYvODJ4eCBhbmQgQ1g3MDAiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgVklBCi0JICBWVDgyQzU5NiBhbmQgbGF0ZXIgU01CdXMgaW50ZXJmYWNlLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCi0JICBjaGlwc2V0cyBhcmUgc3VwcG9ydGVkOgotCSAgICBWVDgyQzU5NkEvQgotCSAgICBWVDgyQzY4NkEvQgotCSAgICBWVDgyMzEKLQkgICAgVlQ4MjMzL0EKLQkgICAgVlQ4MjM1Ci0JICAgIFZUODIzN1IvQS9TCi0JICAgIFZUODI1MQotCSAgICBDWDcwMAotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdmlhcHJvLgotCi1jb25maWcgSTJDX1ZPT0RPTzMKLQl0cmlzdGF0ZSAiVm9vZG9vIDMiCi0JZGVwZW5kcyBvbiBQQ0kKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIFZvb2RvbyAzIEkyQyBpbnRlcmZhY2UuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy12b29kb28zLgotCi1jb25maWcgSTJDX1BDQV9JU0EKLQl0cmlzdGF0ZSAiUENBOTU2NCBvbiBhbiBJU0EgYnVzIgotCWRlcGVuZHMgb24gSVNBCi0Jc2VsZWN0IEkyQ19BTEdPUENBCi0JZGVmYXVsdCBuCi0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgSVNBIGJvYXJkcyB1c2luZyB0aGUgUGhpbGlwcyBQQ0E5NTY0Ci0JICBwYXJhbGxlbCBidXMgdG8gSTJDIGJ1cyBjb250cm9sbGVyLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcGNhLWlzYS4KLQotCSAgVGhpcyBkZXZpY2UgaXMgYWxtb3N0IHVuZGV0ZWN0YWJsZSBhbmQgdXNpbmcgdGhpcyBkcml2ZXIgb24gYQotCSAgc3lzdGVtIHdoaWNoIGRvZXNuJ3QgaGF2ZSB0aGlzIGRldmljZSB3aWxsIHJlc3VsdCBpbiBsb25nCi0JICBkZWxheXMgd2hlbiBJMkMvU01CdXMgY2hpcCBkcml2ZXJzIGFyZSBsb2FkZWQgKGUuZy4gYXQgYm9vdAotCSAgdGltZSkuICBJZiB1bnN1cmUsIHNheSBOLgotCi1jb25maWcgSTJDX1BDQV9QTEFURk9STQotCXRyaXN0YXRlICJQQ0E5NTY0IGFzIHBsYXRmb3JtIGRldmljZSIKLQlzZWxlY3QgSTJDX0FMR09QQ0EKLQlkZWZhdWx0IG4KLQloZWxwCi0JICBUaGlzIGRyaXZlciBzdXBwb3J0cyBhIG1lbW9yeSBtYXBwZWQgUGhpbGlwcyBQQ0E5NTY0Ci0JICBwYXJhbGxlbCBidXMgdG8gSTJDIGJ1cyBjb250cm9sbGVyLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcGNhLXBsYXRmb3JtLgotCi1jb25maWcgSTJDX01WNjRYWFgKLQl0cmlzdGF0ZSAiTWFydmVsbCBtdjY0eHh4IEkyQyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gKE1WNjRYNjAgfHwgUExBVF9PUklPTikgJiYgRVhQRVJJTUVOVEFMCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBidWlsdC1pbiBJMkMgaW50ZXJmYWNlIG9uIHRoZSBNYXJ2ZWxsIDY0eHh4IGxpbmUgb2YgaG9zdCBicmlkZ2VzLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtbXY2NHh4eC4KLQotY29uZmlnIEkyQ19QTlgKLQl0cmlzdGF0ZSAiSTJDIGJ1cyBzdXBwb3J0IGZvciBQaGlsaXBzIFBOWCB0YXJnZXRzIgotCWRlcGVuZHMgb24gQVJDSF9QTlg0MDA4Ci0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIFBoaWxpcHMgSVAzMjA0IEkyQyBJUCBibG9jayBtYXN0ZXIgYW5kL29yCi0JICBzbGF2ZSBjb250cm9sbGVyCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wbnguCi0KLWNvbmZpZyBJMkNfUE1DTVNQCi0JdHJpc3RhdGUgIlBNQyBNU1AgSTJDIFRXSSBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gUE1DX01TUAotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBQTUMgVFdJIGNvbnRyb2xsZXIgb24gTVNQIGRldmljZXMuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wbWNtc3AuCi0KLWNvbmZpZyBJMkNfU0g3NzYwCi0JdHJpc3RhdGUgIlJlbmVzYXMgU0g3NzYwIEkyQyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gQ1BVX1NVQlRZUEVfU0g3NzYwCi0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIDIgSTJDIGludGVyZmFjZXMgb24gdGhlIFJlbmVzYXMgU0g3NzYwLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2g3NzYwLgotCi1jb25maWcgSTJDX1NIX01PQklMRQotCXRyaXN0YXRlICJTdXBlckggTW9iaWxlIEkyQyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU1VQRVJICi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBidWlsdC1pbiBJMkMgaW50ZXJmYWNlIG9uIHRoZSBSZW5lc2FzIFNILU1vYmlsZSBwcm9jZXNzb3IuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaF9tb2JpbGUuCi0KIGVuZG1lbnUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9NYWtlZmlsZSBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9NYWtlZmlsZQppbmRleCBlOGM4ODJhLi45N2RiZmEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL01ha2VmaWxlCkBAIC0yLDU3ICsyLDY4IEBACiAjIE1ha2VmaWxlIGZvciB0aGUgaTJjIGJ1cyBkcml2ZXJzLgogIwogCisjIFBDIFNNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzCiBvYmotJChDT05GSUdfSTJDX0FMSTE1MzUpCSs9IGkyYy1hbGkxNTM1Lm8KIG9iai0kKENPTkZJR19JMkNfQUxJMTU2MykJKz0gaTJjLWFsaTE1NjMubwogb2JqLSQoQ09ORklHX0kyQ19BTEkxNVgzKQkrPSBpMmMtYWxpMTV4My5vCiBvYmotJChDT05GSUdfSTJDX0FNRDc1NikJKz0gaTJjLWFtZDc1Ni5vCiBvYmotJChDT05GSUdfSTJDX0FNRDc1Nl9TNDg4MikJKz0gaTJjLWFtZDc1Ni1zNDg4Mi5vCiBvYmotJChDT05GSUdfSTJDX0FNRDgxMTEpCSs9IGkyYy1hbWQ4MTExLm8KLW9iai0kKENPTkZJR19JMkNfQVQ5MSkJCSs9IGkyYy1hdDkxLm8KLW9iai0kKENPTkZJR19JMkNfQVUxNTUwKQkrPSBpMmMtYXUxNTUwLm8KLW9iai0kKENPTkZJR19JMkNfQkxBQ0tGSU5fVFdJKQkrPSBpMmMtYmZpbi10d2kubwotb2JqLSQoQ09ORklHX0kyQ19EQVZJTkNJKQkrPSBpMmMtZGF2aW5jaS5vCi1vYmotJChDT05GSUdfSTJDX0VMRUtUT1IpCSs9IGkyYy1lbGVrdG9yLm8KLW9iai0kKENPTkZJR19JMkNfR1BJTykJCSs9IGkyYy1ncGlvLm8KLW9iai0kKENPTkZJR19JMkNfSFlEUkEpCQkrPSBpMmMtaHlkcmEubwogb2JqLSQoQ09ORklHX0kyQ19JODAxKQkJKz0gaTJjLWk4MDEubwotb2JqLSQoQ09ORklHX0kyQ19JODEwKQkJKz0gaTJjLWk4MTAubwotb2JqLSQoQ09ORklHX0kyQ19JQk1fSUlDKQkrPSBpMmMtaWJtX2lpYy5vCi1vYmotJChDT05GSUdfSTJDX0lPUDNYWCkJKz0gaTJjLWlvcDN4eC5vCi1vYmotJChDT05GSUdfSTJDX0lYUDIwMDApCSs9IGkyYy1peHAyMDAwLm8KLW9iai0kKENPTkZJR19JMkNfUE9XRVJNQUMpCSs9IGkyYy1wb3dlcm1hYy5vCi1vYmotJChDT05GSUdfSTJDX01QQykJCSs9IGkyYy1tcGMubwotb2JqLSQoQ09ORklHX0kyQ19NVjY0WFhYKQkrPSBpMmMtbXY2NHh4eC5vCitvYmotJChDT05GSUdfSTJDX0lTQ0gpCQkrPSBpMmMtaXNjaC5vCiBvYmotJChDT05GSUdfSTJDX05GT1JDRTIpCSs9IGkyYy1uZm9yY2UyLm8KLW9iai0kKENPTkZJR19JMkNfT0NPUkVTKQkrPSBpMmMtb2NvcmVzLm8KLW9iai0kKENPTkZJR19JMkNfT01BUCkJCSs9IGkyYy1vbWFwLm8KLW9iai0kKENPTkZJR19JMkNfUEFSUE9SVCkJKz0gaTJjLXBhcnBvcnQubwotb2JqLSQoQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUKQkrPSBpMmMtcGFycG9ydC1saWdodC5vCi1vYmotJChDT05GSUdfSTJDX1BBU0VNSSkJKz0gaTJjLXBhc2VtaS5vCi1vYmotJChDT05GSUdfSTJDX1BDQV9JU0EpCSs9IGkyYy1wY2EtaXNhLm8KLW9iai0kKENPTkZJR19JMkNfUENBX1BMQVRGT1JNKQkrPSBpMmMtcGNhLXBsYXRmb3JtLm8KK29iai0kKENPTkZJR19JMkNfTkZPUkNFMl9TNDk4NSkJKz0gaTJjLW5mb3JjZTItczQ5ODUubwogb2JqLSQoQ09ORklHX0kyQ19QSUlYNCkJCSs9IGkyYy1waWl4NC5vCi1vYmotJChDT05GSUdfSTJDX1BNQ01TUCkJKz0gaTJjLXBtY21zcC5vCi1vYmotJChDT05GSUdfSTJDX1BOWCkJCSs9IGkyYy1wbngubwotb2JqLSQoQ09ORklHX0kyQ19QUk9TQVZBR0UpCSs9IGkyYy1wcm9zYXZhZ2Uubwotb2JqLSQoQ09ORklHX0kyQ19QWEEpCQkrPSBpMmMtcHhhLm8KLW9iai0kKENPTkZJR19JMkNfUzNDMjQxMCkJKz0gaTJjLXMzYzI0MTAubwotb2JqLSQoQ09ORklHX0kyQ19TQVZBR0U0KQkrPSBpMmMtc2F2YWdlNC5vCi1vYmotJChDT05GSUdfSTJDX1NINzc2MCkJKz0gaTJjLXNoNzc2MC5vCi1vYmotJChDT05GSUdfSTJDX1NIX01PQklMRSkJKz0gaTJjLXNoX21vYmlsZS5vCi1vYmotJChDT05GSUdfSTJDX1NJQllURSkJKz0gaTJjLXNpYnl0ZS5vCi1vYmotJChDT05GSUdfSTJDX1NJTVRFQykJKz0gaTJjLXNpbXRlYy5vCiBvYmotJChDT05GSUdfSTJDX1NJUzU1OTUpCSs9IGkyYy1zaXM1NTk1Lm8KIG9iai0kKENPTkZJR19JMkNfU0lTNjMwKQkrPSBpMmMtc2lzNjMwLm8KIG9iai0kKENPTkZJR19JMkNfU0lTOTZYKQkrPSBpMmMtc2lzOTZ4Lm8KLW9iai0kKENPTkZJR19JMkNfU1RVQikJCSs9IGkyYy1zdHViLm8KLW9iai0kKENPTkZJR19JMkNfVEFPU19FVk0pCSs9IGkyYy10YW9zLWV2bS5vCi1vYmotJChDT05GSUdfSTJDX1RJTllfVVNCKQkrPSBpMmMtdGlueS11c2Iubwotb2JqLSQoQ09ORklHX0kyQ19WRVJTQVRJTEUpCSs9IGkyYy12ZXJzYXRpbGUubwotb2JqLSQoQ09ORklHX0kyQ19BQ09STikJCSs9IGkyYy1hY29ybi5vCiBvYmotJChDT05GSUdfSTJDX1ZJQSkJCSs9IGkyYy12aWEubwogb2JqLSQoQ09ORklHX0kyQ19WSUFQUk8pCSs9IGkyYy12aWFwcm8ubworCisjIE1hYyBTTUJ1cyBob3N0IGNvbnRyb2xsZXIgZHJpdmVycworb2JqLSQoQ09ORklHX0kyQ19IWURSQSkJCSs9IGkyYy1oeWRyYS5vCitvYmotJChDT05GSUdfSTJDX1BPV0VSTUFDKQkrPSBpMmMtcG93ZXJtYWMubworCisjIEVtYmViYmVkIHN5c3RlbSBJMkMvU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMKK29iai0kKENPTkZJR19JMkNfQVQ5MSkJCSs9IGkyYy1hdDkxLm8KK29iai0kKENPTkZJR19JMkNfQVUxNTUwKQkrPSBpMmMtYXUxNTUwLm8KK29iai0kKENPTkZJR19JMkNfQkxBQ0tGSU5fVFdJKQkrPSBpMmMtYmZpbi10d2kubworb2JqLSQoQ09ORklHX0kyQ19DUE0pCQkrPSBpMmMtY3BtLm8KK29iai0kKENPTkZJR19JMkNfREFWSU5DSSkJKz0gaTJjLWRhdmluY2kubworb2JqLSQoQ09ORklHX0kyQ19HUElPKQkJKz0gaTJjLWdwaW8ubworb2JqLSQoQ09ORklHX0kyQ19JQk1fSUlDKQkrPSBpMmMtaWJtX2lpYy5vCitvYmotJChDT05GSUdfSTJDX0lPUDNYWCkJKz0gaTJjLWlvcDN4eC5vCitvYmotJChDT05GSUdfSTJDX0lYUDIwMDApCSs9IGkyYy1peHAyMDAwLm8KK29iai0kKENPTkZJR19JMkNfTVBDKQkJKz0gaTJjLW1wYy5vCitvYmotJChDT05GSUdfSTJDX01WNjRYWFgpCSs9IGkyYy1tdjY0eHh4Lm8KK29iai0kKENPTkZJR19JMkNfT0NPUkVTKQkrPSBpMmMtb2NvcmVzLm8KK29iai0kKENPTkZJR19JMkNfT01BUCkJCSs9IGkyYy1vbWFwLm8KK29iai0kKENPTkZJR19JMkNfUEFTRU1JKQkrPSBpMmMtcGFzZW1pLm8KK29iai0kKENPTkZJR19JMkNfUE5YKQkJKz0gaTJjLXBueC5vCitvYmotJChDT05GSUdfSTJDX1BYQSkJCSs9IGkyYy1weGEubworb2JqLSQoQ09ORklHX0kyQ19TM0MyNDEwKQkrPSBpMmMtczNjMjQxMC5vCitvYmotJChDT05GSUdfSTJDX1NINzc2MCkJKz0gaTJjLXNoNzc2MC5vCitvYmotJChDT05GSUdfSTJDX1NIX01PQklMRSkJKz0gaTJjLXNoX21vYmlsZS5vCitvYmotJChDT05GSUdfSTJDX1NJTVRFQykJKz0gaTJjLXNpbXRlYy5vCitvYmotJChDT05GSUdfSTJDX1ZFUlNBVElMRSkJKz0gaTJjLXZlcnNhdGlsZS5vCisKKyMgRXh0ZXJuYWwgSTJDL1NNQnVzIGFkYXB0ZXIgZHJpdmVycworb2JqLSQoQ09ORklHX0kyQ19QQVJQT1JUKQkrPSBpMmMtcGFycG9ydC5vCitvYmotJChDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQpCSs9IGkyYy1wYXJwb3J0LWxpZ2h0Lm8KK29iai0kKENPTkZJR19JMkNfVEFPU19FVk0pCSs9IGkyYy10YW9zLWV2bS5vCitvYmotJChDT05GSUdfSTJDX1RJTllfVVNCKQkrPSBpMmMtdGlueS11c2IubworCisjIEdyYXBoaWNzIGFkYXB0ZXIgSTJDL0REQyBjaGFubmVsIGRyaXZlcnMKIG9iai0kKENPTkZJR19JMkNfVk9PRE9PMykJKz0gaTJjLXZvb2RvbzMubworCisjIE90aGVyIEkyQy9TTUJ1cyBidXMgZHJpdmVycworb2JqLSQoQ09ORklHX0kyQ19BQ09STikJCSs9IGkyYy1hY29ybi5vCitvYmotJChDT05GSUdfSTJDX0VMRUtUT1IpCSs9IGkyYy1lbGVrdG9yLm8KK29iai0kKENPTkZJR19JMkNfUENBX0lTQSkJKz0gaTJjLXBjYS1pc2Eubworb2JqLSQoQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0pCSs9IGkyYy1wY2EtcGxhdGZvcm0ubworb2JqLSQoQ09ORklHX0kyQ19QTUNNU1ApCSs9IGkyYy1wbWNtc3Aubworb2JqLSQoQ09ORklHX0kyQ19TSUJZVEUpCSs9IGkyYy1zaWJ5dGUubworb2JqLSQoQ09ORklHX0kyQ19TVFVCKQkJKz0gaTJjLXN0dWIubwogb2JqLSQoQ09ORklHX1NDeDIwMF9BQ0IpCSs9IHNjeDIwMF9hY2Iubwogb2JqLSQoQ09ORklHX1NDeDIwMF9JMkMpCSs9IHNjeDIwMF9pMmMubwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1MzUuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTUzNS5jCmluZGV4IGYxNDM3MmEuLjljZWFkOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTUzNS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTUzNS5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBpMmMtYWxpMTUzNS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMjAwMCAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwgCiAgICAgICAgICAgICAgICAgICAgICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCAKICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4sCkBAIC02MSw2ICs1OSw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogCkBAIC0xNTksNiArMTU4LDExIEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKKwlyZXR2YWwgPSBhY3BpX2NoZWNrX3JlZ2lvbihhbGkxNTM1X3NtYmEsIEFMSTE1MzVfU01CX0lPU0laRSwKKwkJCQkgICBhbGkxNTM1X2RyaXZlci5uYW1lKTsKKwlpZiAocmV0dmFsKQorCQlnb3RvIGV4aXQ7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFsaTE1MzVfc21iYSwgQUxJMTUzNV9TTUJfSU9TSVpFLAogCQkJICAgIGFsaTE1MzVfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJmRldi0+ZGV2LCAiQUxJMTUzNV9zbWIgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLApAQCAtMjU5LDcgKzI2Myw3IEBACiAJCQlkZXZfZXJyKCZhZGFwLT5kZXYsCiAJCQkJIlNNQnVzIHJlc2V0IGZhaWxlZCEgKDB4JTAyeCkgLSBjb250cm9sbGVyIG9yICIKIAkJCQkiZGV2aWNlIG9uIGJ1cyBpcyBwcm9iYWJseSBodW5nXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0KIAl9IGVsc2UgewogCQkvKiBjaGVjayBhbmQgY2xlYXIgZG9uZSBiaXQgKi8KQEAgLTI4MSwxMiArMjg1LDEyIEBACiAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiBBTEkxNTM1X1NUU19GQUlMKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7CiAJfQogCkBAIC0yOTUsNyArMjk5LDcgQEAKIAkgKiBkbyBhIHByaW50ay4gIFRoaXMgbWVhbnMgdGhhdCBidXMgY29sbGlzaW9ucyBnbyB1bnJlcG9ydGVkLgogCSAqLwogCWlmICh0ZW1wICYgQUxJMTUzNV9TVFNfQlVTRVJSKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCWRldl9kYmcoJmFkYXAtPmRldiwKIAkJCSJFcnJvcjogbm8gcmVzcG9uc2Ugb3IgYnVzIGNvbGxpc2lvbiBBREQ9JTAyeFxuIiwKIAkJCWluYl9wKFNNQkhTVEFERCkpOwpAQCAtMzAzLDEzICszMDcsMTMgQEAKIAogCS8qIGhhdmVuJ3QgZXZlciBzZWVuIHRoaXMgKi8KIAlpZiAodGVtcCAmIEFMSTE1MzVfU1RTX0RFVikgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiRXJyb3I6IGRldmljZSBlcnJvclxuIik7CiAJfQogCiAJLyogY2hlY2sgdG8gc2VlIGlmIHRoZSAiY29tbWFuZCBjb21wbGV0ZSIgaW5kaWNhdGlvbiBpcyBzZXQgKi8KIAlpZiAoISh0ZW1wICYgQUxJMTUzNV9TVFNfRE9ORSkpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIkVycm9yOiBjb21tYW5kIG5ldmVyIGNvbXBsZXRlZFxuIik7CiAJfQogCkBAIC0zMzIsNyArMzM2LDcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIGFsaTE1MzVfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCiAJCQkgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsCiAJCQkgIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKQEAgLTM1NywxMCArMzYxLDYgQEAKIAlvdXRiX3AoMHhGRiwgU01CSFNUU1RTKTsKIAogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCXJlc3VsdCA9IC0xOwotCQlnb3RvIEVYSVQ7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCiAJCSAgICAgICBTTUJIU1RBREQpOwpAQCAtNDE4LDE0ICs0MTgsMTYgQEAKIAkJCQlvdXRiX3AoZGF0YS0+YmxvY2tbaV0sIFNNQkJMS0RBVCk7CiAJCX0KIAkJYnJlYWs7Ci0JfQotCi0JaWYgKGFsaTE1MzVfdHJhbnNhY3Rpb24oYWRhcCkpIHsKLQkJLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KLQkJcmVzdWx0ID0gLTE7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmVzdWx0ID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gRVhJVDsKIAl9CiAKKwlyZXN1bHQgPSBhbGkxNTM1X3RyYW5zYWN0aW9uKGFkYXApOworCWlmIChyZXN1bHQpCisJCWdvdG8gRVhJVDsKKwogCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IEFMSTE1MzVfUVVJQ0spKSB7CiAJCXJlc3VsdCA9IDA7CiAJCWdvdG8gRVhJVDsKQEAgLTQ3NSw3ICs0NzcsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBhbGkxNTM1X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfQUxJMTUzNSwKLQkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTYzLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1NjMuYwppbmRleCA2YjY4MDc0Li5mYzNlNWIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1NjMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1NjMuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAKICNkZWZpbmUgQUxJMTU2M19NQVhfVElNRU9VVAk1MDAKICNkZWZpbmUJQUxJMTU2M19TTUJCQQkJMHg4MApAQCAtNjcsNiArNjgsNyBAQAogewogCXUzMiBkYXRhOwogCWludCB0aW1lb3V0OworCWludCBzdGF0dXMgPSAtRUlPOwogCiAJZGV2X2RiZygmYS0+ZGV2LCAiVHJhbnNhY3Rpb24gKHByZSk6IFNUUz0lMDJ4LCBDTlRMMT0lMDJ4LCAiCiAJCSJDTlRMMj0lMDJ4LCBDTUQ9JTAyeCwgQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLApAQCAtMTAzLDEzICsxMDUsMTUgQEAKIAkJLyogSXNzdWUgJ2tpbGwnIHRvIGhvc3QgY29udHJvbGxlciAqLwogCQlvdXRiX3AoSFNUX0NOVEwyX0tJTEwsU01CX0hTVF9DTlRMMik7CiAJCWRhdGEgPSBpbmJfcChTTUJfSFNUX1NUUyk7CisJCXN0YXR1cyA9IC1FVElNRURPVVQ7CiAgCX0KIAogCS8qIGRldmljZSBlcnJvciAtIG5vIHJlc3BvbnNlLCBpZ25vcmUgdGhlIGF1dG9kZXRlY3Rpb24gY2FzZSAqLwotCWlmICgoZGF0YSAmIEhTVF9TVFNfREVWRVJSKSAmJiAoc2l6ZSAhPSBIU1RfQ05UTDJfUVVJQ0spKSB7Ci0JCWRldl9lcnIoJmEtPmRldiwgIkRldmljZSBlcnJvciFcbiIpOworCWlmIChkYXRhICYgSFNUX1NUU19ERVZFUlIpIHsKKwkJaWYgKHNpemUgIT0gSFNUX0NOVEwyX1FVSUNLKQorCQkJZGV2X2VycigmYS0+ZGV2LCAiRGV2aWNlIGVycm9yIVxuIik7CisJCXN0YXR1cyA9IC1FTlhJTzsKIAl9Ci0KIAkvKiBidXMgY29sbGlzaW9uICovCiAJaWYgKGRhdGEgJiBIU1RfU1RTX0JVU0VSUikgewogCQlkZXZfZXJyKCZhLT5kZXYsICJCdXMgY29sbGlzaW9uIVxuIik7CkBAIC0xMjIsMTMgKzEyNiwxNCBAQAogCQlvdXRiX3AoMHgwLFNNQl9IU1RfQ05UTDIpOwogCX0KIAotCXJldHVybiAtMTsKKwlyZXR1cm4gc3RhdHVzOwogfQogCiBzdGF0aWMgaW50IGFsaTE1NjNfYmxvY2tfc3RhcnQoc3RydWN0IGkyY19hZGFwdGVyICogYSkKIHsKIAl1MzIgZGF0YTsKIAlpbnQgdGltZW91dDsKKwlpbnQgc3RhdHVzID0gLUVJTzsKIAogCWRldl9kYmcoJmEtPmRldiwgIkJsb2NrIChwcmUpOiBTVFM9JTAyeCwgQ05UTDE9JTAyeCwgIgogCQkiQ05UTDI9JTAyeCwgQ01EPSUwMngsIEFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwKQEAgLTE2NCwxMyArMTY5LDIwIEBACiAKIAlpZiAodGltZW91dCAmJiAhKGRhdGEgJiBIU1RfU1RTX0JBRCkpCiAJCXJldHVybiAwOworCisJaWYgKHRpbWVvdXQgPT0gMCkKKwkJc3RhdHVzID0gLUVUSU1FRE9VVDsKKworCWlmIChkYXRhICYgSFNUX1NUU19ERVZFUlIpCisJCXN0YXR1cyA9IC1FTlhJTzsKKwogCWRldl9lcnIoJmEtPmRldiwgIlNNQnVzIEVycm9yOiAlcyVzJXMlcyVzXG4iLAotCQl0aW1lb3V0ID8gIlRpbWVvdXQgIiA6ICIiLAorCQl0aW1lb3V0ID8gIiIgOiAiVGltZW91dCAiLAogCQlkYXRhICYgSFNUX1NUU19GQUlMID8gIlRyYW5zYWN0aW9uIEZhaWxlZCAiIDogIiIsCiAJCWRhdGEgJiBIU1RfU1RTX0JVU0VSUiA/ICJObyByZXNwb25zZSBvciBCdXMgQ29sbGlzaW9uICIgOiAiIiwKIAkJZGF0YSAmIEhTVF9TVFNfREVWRVJSID8gIkRldmljZSBFcnJvciAiIDogIiIsCiAJCSEoZGF0YSAmIEhTVF9TVFNfRE9ORSkgPyAiVHJhbnNhY3Rpb24gTmV2ZXIgRmluaXNoZWQgIiA6ICIiKTsKLQlyZXR1cm4gLTE7CisJcmV0dXJuIHN0YXR1czsKIH0KIAogc3RhdGljIGludCBhbGkxNTYzX2Jsb2NrKHN0cnVjdCBpMmNfYWRhcHRlciAqIGEsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSwgdTggcncpCkBAIC0yMzUsMTAgKzI0Nyw2IEBACiAKIAkvKiBNYXAgdGhlIHNpemUgdG8gd2hhdCB0aGUgY2hpcCB1bmRlcnN0YW5kcyAqLwogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2VycigmYS0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCWVycm9yID0gLUVJTlZBTDsKLQkJYnJlYWs7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCXNpemUgPSBIU1RfQ05UTDJfUVVJQ0s7CiAJCWJyZWFrOwpAQCAtMjU0LDYgKzI2MiwxMCBAQAogCWNhc2UgSTJDX1NNQlVTX0JMT0NLX0RBVEE6CiAJCXNpemUgPSBIU1RfQ05UTDJfQkxPQ0s7CiAJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCWVycm9yID0gLUVPUE5PVFNVUFA7CisJCWdvdG8gRG9uZTsKIAl9CiAKIAlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocncgJiAweDAxKSwgU01CX0hTVF9BREQpOwpAQCAtMzQ1LDYgKzM1NywxMCBAQAogCQl9CiAJfQogCisJaWYgKGFjcGlfY2hlY2tfcmVnaW9uKGFsaTE1NjNfc21iYSwgQUxJMTU2M19TTUJfSU9TSVpFLAorCQkJICAgICAgYWxpMTU2M19wY2lfZHJpdmVyLm5hbWUpKQorCQlnb3RvIEVycjsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oYWxpMTU2M19zbWJhLCBBTEkxNTYzX1NNQl9JT1NJWkUsCiAJCQkgICAgYWxpMTU2M19wY2lfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJmRldi0+ZGV2LCAiQ291bGQgbm90IGFsbG9jYXRlIEkvTyBzcGFjZSBhdCAweCUwNHhcbiIsCkBAIC0zNzEsNyArMzg3LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgYWxpMTU2M19hZGFwdGVyID0gewogCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCS5pZAk9IEkyQ19IV19TTUJVU19BTEkxNTYzLAotCS5jbGFzcwk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCT0gJmFsaTE1NjNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNXgzLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1eDMuYwppbmRleCA5M2JmODdkLi4yMzRmZGRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1eDMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1eDMuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgYWxpMTV4My5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+IGFuZAogICAgIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KQEAgLTY4LDYgKzY2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIC8qIEFMSTE1WDMgU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCkBAIC0xNjYsNiArMTY1LDEwIEBACiAJaWYoZm9yY2VfYWRkcikKIAkJYWxpMTV4M19zbWJhID0gZm9yY2VfYWRkciAmIH4oQUxJMTVYM19TTUJfSU9TSVpFIC0gMSk7CiAKKwlpZiAoYWNwaV9jaGVja19yZWdpb24oYWxpMTV4M19zbWJhLCBBTEkxNVgzX1NNQl9JT1NJWkUsCisJCQkgICAgICBhbGkxNXgzX2RyaXZlci5uYW1lKSkKKwkJcmV0dXJuIC1FQlVTWTsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oYWxpMTV4M19zbWJhLCBBTEkxNVgzX1NNQl9JT1NJWkUsCiAJCQkgICAgYWxpMTV4M19kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2VycigmQUxJMTVYM19kZXYtPmRldiwKQEAgLTI4Miw3ICsyODUsNyBAQAogCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiU01CdXMgcmVzZXQgZmFpbGVkISAoMHglMDJ4KSAtICIKIAkJCQkiY29udHJvbGxlciBvciBkZXZpY2Ugb24gYnVzIGlzIHByb2JhYmx5IGh1bmdcbiIsCiAJCQkJdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9CiAJfSBlbHNlIHsKIAkJLyogY2hlY2sgYW5kIGNsZWFyIGRvbmUgYml0ICovCkBAIC0zMDQsMTIgKzMwNywxMiBAQAogCiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgQUxJMTVYM19TVFNfVEVSTSkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwogCX0KIApAQCAtMzIwLDcgKzMyMyw3IEBACiAJICBUaGlzIG1lYW5zIHRoYXQgYnVzIGNvbGxpc2lvbnMgZ28gdW5yZXBvcnRlZC4KIAkqLwogCWlmICh0ZW1wICYgQUxJMTVYM19TVFNfQ09MTCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsCiAJCQkiRXJyb3I6IG5vIHJlc3BvbnNlIG9yIGJ1cyBjb2xsaXNpb24gQUREPSUwMnhcbiIsCiAJCQlpbmJfcChTTUJIU1RBREQpKTsKQEAgLTMyOCw3ICszMzEsNyBAQAogCiAJLyogaGF2ZW4ndCBldmVyIHNlZW4gdGhpcyAqLwogCWlmICh0ZW1wICYgQUxJMTVYM19TVFNfREVWKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJFcnJvcjogZGV2aWNlIGVycm9yXG4iKTsKIAl9CiAJZGV2X2RiZygmYWRhcC0+ZGV2LCAiVHJhbnNhY3Rpb24gKHBvc3QpOiBTVFM9JTAyeCwgQ05UPSUwMngsIENNRD0lMDJ4LCAiCkBAIC0zMzgsNyArMzQxLDcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIGFsaTE1eDNfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkgICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLAogCQkgICBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQpAQCAtMzYyLDkgKzM2NSw2IEBACiAJfQogCiAJc3dpdGNoIChzaXplKSB7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgotCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkNfU01CVVNfUFJPQ19DQUxMIG5vdCBzdXBwb3J0ZWQhXG4iKTsKLQkJcmV0dXJuIC0xOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAogCQkgICAgICAgU01CSFNUQUREKTsKQEAgLTQxNywxMiArNDE3LDE2IEBACiAJCX0KIAkJc2l6ZSA9IEFMSTE1WDNfQkxPQ0tfREFUQTsKIAkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCW91dGJfcChzaXplLCBTTUJIU1RDTlQpOwkvKiBvdXRwdXQgY29tbWFuZCAqLwogCi0JaWYgKGFsaTE1eDNfdHJhbnNhY3Rpb24oYWRhcCkpCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJldHVybiAtMTsKKwl0ZW1wID0gYWxpMTV4M190cmFuc2FjdGlvbihhZGFwKTsKKwlpZiAodGVtcCkKKwkJcmV0dXJuIHRlbXA7CiAKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBBTEkxNVgzX1FVSUNLKSkKIAkJcmV0dXJuIDA7CkBAIC00NzAsNyArNDc0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgYWxpMTV4M19hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX0FMSTE1WDMsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LXM0ODgyLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni1zNDg4Mi5jCmluZGV4IGMzOGEwYTEuLjJmMTUwZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LXM0ODgyLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYtczQ4ODIuYwpAQCAtNTgsNyArNTgsNyBAQAogCS8qIFdlIGV4Y2x1ZGUgdGhlIG11bHRpcGxleGVkIGFkZHJlc3NlcyAqLwogCWlmIChhZGRyID09IDB4NGMgfHwgKGFkZHIgJiAweGZjKSA9PSAweDUwIHx8IChhZGRyICYgMHhmYykgPT0gMHgzMAogCSB8fCBhZGRyID09IDB4MTgpCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FTlhJTzsKIAogCW11dGV4X2xvY2soJmFtZDc1Nl9sb2NrKTsKIApAQCAtODYsNyArODYsNyBAQAogCiAJLyogV2UgZXhjbHVkZSB0aGUgbm9uLW11bHRpcGxleGVkIGFkZHJlc3NlcyAqLwogCWlmIChhZGRyICE9IDB4NGMgJiYgKGFkZHIgJiAweGZjKSAhPSAweDUwICYmIChhZGRyICYgMHhmYykgIT0gMHgzMCkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVOWElPOwogCiAJbXV0ZXhfbG9jaygmYW1kNzU2X2xvY2spOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYuYwppbmRleCA0MzUwOGQ2Li4xZWEzOTI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIGFtZDc1Ni5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwotCiAgICAgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgTWVybGluIEh1Z2hlcyA8bWVybGluQG1lcmxpbi5vcmc+CiAKICAgICBTaGFtZWxlc3NseSByaXBwZWQgZnJvbSBpMmMtcGlpeDQuYzoKQEAgLTQ1LDYgKzQyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAvKiBBTUQ3NTYgU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCkBAIC0xNTEsMTcgKzE0OSwxNyBAQAogCX0KIAogCWlmICh0ZW1wICYgR1NfUFJFUlJfU1RTKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIFByb3RvY29sIGVycm9yIChubyByZXNwb25zZSkhXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIEdTX0NPTF9TVFMpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl93YXJuKCZhZGFwLT5kZXYsICJTTUJ1cyBjb2xsaXNpb24hXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIEdTX1RPX1NUUykgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU01CdXMgcHJvdG9jb2wgdGltZW91dCFcbiIpOwogCX0KIApAQCAtMTg5LDIyICsxODcsMTggQEAKIAlvdXR3X3AoaW53KFNNQl9HTE9CQUxfRU5BQkxFKSB8IEdFX0FCT1JULCBTTUJfR0xPQkFMX0VOQUJMRSk7CiAJbXNsZWVwKDEwMCk7CiAJb3V0d19wKEdTX0NMRUFSX1NUUywgU01CX0dMT0JBTF9TVEFUVVMpOwotCXJldHVybiAtMTsKKwlyZXR1cm4gLUVJTzsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBhbWQ3NTZfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCSAgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKIAlpbnQgaSwgbGVuOworCWludCBzdGF0dXM7CiAKLQkvKiogVE9ETzogU2hvdWxkIEkgc3VwcG9ydGUgdGhlIDEwLWJpdCB0cmFuc2ZlcnM/ICovCiAJc3dpdGNoIChzaXplKSB7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgotCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJJMkNfU01CVVNfUFJPQ19DQUxMIG5vdCBzdXBwb3J0ZWQhXG4iKTsKLQkJLyogVE9ETzogV2VsbC4uLiBJdCBpcyBzdXBwb3J0ZWQsIEknbSBqdXN0IG5vdCBzdXJlIHdoYXQgdG8gZG8gaGVyZS4uLiAqLwotCQlyZXR1cm4gLTE7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCW91dHdfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCiAJCSAgICAgICBTTUJfSE9TVF9BRERSRVNTKTsKQEAgLTI1MSwxMyArMjQ1LDE3IEBACiAJCX0KIAkJc2l6ZSA9IEFNRDc1Nl9CTE9DS19EQVRBOwogCQlicmVhazsKKwlkZWZhdWx0OgorCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJLyogSG93IGFib3V0IGVuYWJsaW5nIGludGVycnVwdHMuLi4gKi8KIAlvdXR3X3Aoc2l6ZSAmIEdFX0NZQ19UWVBFX01BU0ssIFNNQl9HTE9CQUxfRU5BQkxFKTsKIAotCWlmIChhbWQ3NTZfdHJhbnNhY3Rpb24oYWRhcCkpCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWQ3NTZfdHJhbnNhY3Rpb24oYWRhcCk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IEFNRDc1Nl9RVUlDSykpCiAJCXJldHVybiAwOwpAQCAtMzAxLDcgKzI5OSw3IEBACiBzdHJ1Y3QgaTJjX2FkYXB0ZXIgYW1kNzU2X3NtYnVzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX0FNRDc1NiwKLQkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApAQCAtMzY4LDYgKzM2NiwxMSBAQAogCQlhbWQ3NTZfaW9wb3J0ICs9IFNNQl9BRERSX09GRlNFVDsKIAl9CiAKKwllcnJvciA9IGFjcGlfY2hlY2tfcmVnaW9uKGFtZDc1Nl9pb3BvcnQsIFNNQl9JT1NJWkUsCisJCQkJICBhbWQ3NTZfZHJpdmVyLm5hbWUpOworCWlmIChlcnJvcikKKwkJcmV0dXJuIGVycm9yOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihhbWQ3NTZfaW9wb3J0LCBTTUJfSU9TSVpFLCBhbWQ3NTZfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJnBkZXYtPmRldiwgIlNNQiByZWdpb24gMHgleCBhbHJlYWR5IGluIHVzZSFcbiIsCiAJCQlhbWQ3NTZfaW9wb3J0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kODExMS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ4MTExLmMKaW5kZXggNWQxYTI3ZS4uMzk3MjIwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ4MTExLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ4MTExLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKQEAgLTc3LDcgKzc4LDcgQEAKIAlpZiAoIXRpbWVvdXQpIHsKIAkJZGV2X3dhcm4oJnNtYnVzLT5kZXYtPmRldiwKIAkJCSAiVGltZW91dCB3aGlsZSB3YWl0aW5nIGZvciBJQkYgdG8gY2xlYXJcbiIpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRVRJTUVET1VUOwogCX0KIAogCXJldHVybiAwOwpAQCAtOTMsNyArOTQsNyBAQAogCWlmICghdGltZW91dCkgewogCQlkZXZfd2Fybigmc21idXMtPmRldi0+ZGV2LAogCQkJICJUaW1lb3V0IHdoaWxlIHdhaXRpbmcgZm9yIE9CRiB0byBzZXRcbiIpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRVRJTUVET1VUOwogCX0KIAogCXJldHVybiAwOwpAQCAtMTAyLDE2ICsxMDMsMjEgQEAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYW1kX2VjX3JlYWQoc3RydWN0IGFtZF9zbWJ1cyAqc21idXMsIHVuc2lnbmVkIGNoYXIgYWRkcmVzcywKIAkJdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCW91dGIoQU1EX0VDX0NNRF9SRCwgc21idXMtPmJhc2UgKyBBTURfRUNfQ01EKTsKIAotCWlmIChhbWRfZWNfd2FpdF93cml0ZShzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKGFkZHJlc3MsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0RBVEEpOwogCi0JaWYgKGFtZF9lY193YWl0X3JlYWQoc21idXMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kX2VjX3dhaXRfcmVhZChzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAkqZGF0YSA9IGluYihzbWJ1cy0+YmFzZSArIEFNRF9FQ19EQVRBKTsKIAogCXJldHVybiAwOwpAQCAtMTIwLDE2ICsxMjYsMjEgQEAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYW1kX2VjX3dyaXRlKHN0cnVjdCBhbWRfc21idXMgKnNtYnVzLCB1bnNpZ25lZCBjaGFyIGFkZHJlc3MsCiAJCXVuc2lnbmVkIGNoYXIgZGF0YSkKIHsKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCW91dGIoQU1EX0VDX0NNRF9XUiwgc21idXMtPmJhc2UgKyBBTURfRUNfQ01EKTsKIAotCWlmIChhbWRfZWNfd2FpdF93cml0ZShzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKGFkZHJlc3MsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0RBVEEpOwogCi0JaWYgKGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCW91dGIoZGF0YSwgc21idXMtPmJhc2UgKyBBTURfRUNfREFUQSk7CiAKIAlyZXR1cm4gMDsKQEAgLTI2NywxMiArMjc4LDE3IEBACiAKIAkJZGVmYXVsdDoKIAkJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJYW1kX2VjX3dyaXRlKHNtYnVzLCBBTURfU01CX0FERFIsIGFkZHIgPDwgMSk7CiAJYW1kX2VjX3dyaXRlKHNtYnVzLCBBTURfU01CX1BSVENMLCBwcm90b2NvbCk7CiAKKwkvKiBGSVhNRSB0aGlzIGRpc2NhcmRzIHN0YXR1cyBmcm9tIGVjX3JlYWQoKTsgc28gdGVtcFswXSB3aWxsCisJICogaG9sZCBzdGFjayBnYXJiYWdlIC4uLiB0aGUgcmVzdCBvZiB0aGlzIHJvdXRpbmUgd2lsbCBhY3QKKwkgKiBub25zZW5zaWNhbGx5LiAgSWdub3JlZCBlY193cml0ZSgpIHN0YXR1cyBtaWdodCBleHBsYWluCisJICogc29tZSBzdWNoIGZhaWx1cmVzLi4uCisJICovCiAJYW1kX2VjX3JlYWQoc21idXMsIEFNRF9TTUJfU1RTLCB0ZW1wICsgMCk7CiAKIAlpZiAofnRlbXBbMF0gJiBBTURfU01CX1NUU19ET05FKSB7CkBAIC0yODYsNyArMzAyLDcgQEAKIAl9CiAKIAlpZiAoKH50ZW1wWzBdICYgQU1EX1NNQl9TVFNfRE9ORSkgfHwgKHRlbXBbMF0gJiBBTURfU01CX1NUU19TVEFUVVMpKQotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUlPOwogCiAJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQogCQlyZXR1cm4gMDsKQEAgLTM1OSw2ICszNzUsMTAgQEAKIAlzbWJ1cy0+YmFzZSA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYsIDApOwogCXNtYnVzLT5zaXplID0gcGNpX3Jlc291cmNlX2xlbihkZXYsIDApOwogCisJZXJyb3IgPSBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KCZkZXYtPnJlc291cmNlWzBdKTsKKwlpZiAoZXJyb3IpCisJCWdvdG8gb3V0X2tmcmVlOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihzbWJ1cy0+YmFzZSwgc21idXMtPnNpemUsIGFtZDgxMTFfZHJpdmVyLm5hbWUpKSB7CiAJCWVycm9yID0gLUVCVVNZOwogCQlnb3RvIG91dF9rZnJlZTsKQEAgLTM2OCw3ICszODgsNyBAQAogCXNucHJpbnRmKHNtYnVzLT5hZGFwdGVyLm5hbWUsIHNpemVvZihzbWJ1cy0+YWRhcHRlci5uYW1lKSwKIAkJIlNNQnVzMiBBTUQ4MTExIGFkYXB0ZXIgYXQgJTA0eCIsIHNtYnVzLT5iYXNlKTsKIAlzbWJ1cy0+YWRhcHRlci5pZCA9IEkyQ19IV19TTUJVU19BTUQ4MTExOwotCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvID0gJnNtYnVzX2FsZ29yaXRobTsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvX2RhdGEgPSBzbWJ1czsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hdTE1NTAuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYXUxNTUwLmMKaW5kZXggY2FlOWRjOC4uNjZhMDRjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hdTE1NTAuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWF1MTU1MC5jCkBAIC0yNjksOSArMjY5LDEzIEBACiBhdTE1NTBfeGZlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmkyY19hZGFwLCBzdHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IG51bSkKIHsKIAlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICphZGFwID0gaTJjX2FkYXAtPmFsZ29fZGF0YTsKKwl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKWFkYXAtPnBzY19iYXNlOwogCXN0cnVjdCBpMmNfbXNnICpwOwogCWludCBpLCBlcnIgPSAwOwogCisJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRU5BQkxFOworCWF1X3N5bmMoKTsKKwogCWZvciAoaSA9IDA7ICFlcnIgJiYgaSA8IG51bTsgaSsrKSB7CiAJCXAgPSAmbXNnc1tpXTsKIAkJZXJyID0gZG9fYWRkcmVzcyhhZGFwLCBwLT5hZGRyLCBwLT5mbGFncyAmIEkyQ19NX1JELApAQCAtMjg4LDYgKzI5MiwxMCBAQAogCSovCiAJaWYgKGVyciA9PSAwKQogCQllcnIgPSBudW07CisKKwlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9TVVNQRU5EOworCWF1X3N5bmMoKTsKKwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTMwMiw1MyArMzEwLDExIEBACiAJLmZ1bmN0aW9uYWxpdHkJPSBhdTE1NTBfZnVuYywKIH07CiAKLS8qCi0gKiByZWdpc3RlcmluZyBmdW5jdGlvbnMgdG8gbG9hZCBhbGdvcml0aG1zIGF0IHJ1bnRpbWUKLSAqIFByaW9yIHRvIGNhbGxpbmcgdXMsIHRoZSA1ME1IeiBjbG9jayBmcmVxdWVuY3kgYW5kIHJvdXRpbmcKLSAqIG11c3QgaGF2ZSBiZWVuIHNldCB1cCBmb3IgdGhlIFBTQyBpbmRpY2F0ZWQgYnkgdGhlIGFkYXB0ZXIuCi0gKi8KLXN0YXRpYyBpbnQgX19kZXZpbml0Ci1pMmNfYXUxNTUwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgdm9pZCBpMmNfYXUxNTUwX3NldHVwKHN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXYpCiB7Ci0Jc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdjsKLQl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwOwotCXN0cnVjdCByZXNvdXJjZSAqcjsKKwl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKXByaXYtPnBzY19iYXNlOwogCXUzMiBzdGF0OwotCWludCByZXQ7CiAKLQlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKLQlpZiAoIXIpIHsKLQkJcmV0ID0gLUVOT0RFVjsKLQkJZ290byBvdXQ7Ci0JfQotCi0JcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpMmNfYXUxNTUwX2RhdGEpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXByaXYpIHsKLQkJcmV0ID0gLUVOT01FTTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JcHJpdi0+aW9hcmVhID0gcmVxdWVzdF9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEsCi0JCQkJCSAgcGRldi0+bmFtZSk7Ci0JaWYgKCFwcml2LT5pb2FyZWEpIHsKLQkJcmV0ID0gLUVCVVNZOwotCQlnb3RvIG91dF9tZW07Ci0JfQotCi0JcHJpdi0+cHNjX2Jhc2UgPSBDS1NFRzFBRERSKHItPnN0YXJ0KTsKLQlwcml2LT54ZmVyX3RpbWVvdXQgPSAyMDA7Ci0JcHJpdi0+YWNrX3RpbWVvdXQgPSAyMDA7Ci0KLQlwcml2LT5hZGFwLmlkID0gSTJDX0hXX0FVMTU1MF9QU0M7Ci0JcHJpdi0+YWRhcC5uciA9IHBkZXYtPmlkOwotCXByaXYtPmFkYXAuYWxnbyA9ICZhdTE1NTBfYWxnbzsKLQlwcml2LT5hZGFwLmFsZ29fZGF0YSA9IHByaXY7Ci0JcHJpdi0+YWRhcC5kZXYucGFyZW50ID0gJnBkZXYtPmRldjsKLQlzdHJsY3B5KHByaXYtPmFkYXAubmFtZSwgIkF1MXh4eCBQU0MgSTJDIiwgc2l6ZW9mKHByaXYtPmFkYXAubmFtZSkpOwotCi0JLyogTm93LCBzZXQgdXAgdGhlIFBTQyBmb3IgU01CdXMgUElPIG1vZGUuCi0JKi8KLQlzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9ESVNBQkxFOwogCWF1X3N5bmMoKTsKIAlzcC0+cHNjX3NlbCA9IFBTQ19TRUxfUFNfU01CVVNNT0RFOwpAQCAtMzg0LDcgKzM1MCw2NiBAQAogCWRvIHsKIAkJc3RhdCA9IHNwLT5wc2Nfc21ic3RhdDsKIAkJYXVfc3luYygpOwotCX0gd2hpbGUgKChzdGF0ICYgUFNDX1NNQlNUQVRfRFIpID09IDApOworCX0gd2hpbGUgKChzdGF0ICYgUFNDX1NNQlNUQVRfU1IpID09IDApOworCisJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfU1VTUEVORDsKKwlhdV9zeW5jKCk7Cit9CisKK3N0YXRpYyB2b2lkIGkyY19hdTE1NTBfZGlzYWJsZShzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2KQoreworCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CisKKwlzcC0+cHNjX3NtYmNmZyA9IDA7CisJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRElTQUJMRTsKKwlhdV9zeW5jKCk7Cit9CisKKy8qCisgKiByZWdpc3RlcmluZyBmdW5jdGlvbnMgdG8gbG9hZCBhbGdvcml0aG1zIGF0IHJ1bnRpbWUKKyAqIFByaW9yIHRvIGNhbGxpbmcgdXMsIHRoZSA1ME1IeiBjbG9jayBmcmVxdWVuY3kgYW5kIHJvdXRpbmcKKyAqIG11c3QgaGF2ZSBiZWVuIHNldCB1cCBmb3IgdGhlIFBTQyBpbmRpY2F0ZWQgYnkgdGhlIGFkYXB0ZXIuCisgKi8KK3N0YXRpYyBpbnQgX19kZXZpbml0CitpMmNfYXUxNTUwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdjsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IHJldDsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CisKKwlwcml2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGkyY19hdTE1NTBfZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghcHJpdikgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisKKwlwcml2LT5pb2FyZWEgPSByZXF1ZXN0X21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSwKKwkJCQkJICBwZGV2LT5uYW1lKTsKKwlpZiAoIXByaXYtPmlvYXJlYSkgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0X21lbTsKKwl9CisKKwlwcml2LT5wc2NfYmFzZSA9IENLU0VHMUFERFIoci0+c3RhcnQpOworCXByaXYtPnhmZXJfdGltZW91dCA9IDIwMDsKKwlwcml2LT5hY2tfdGltZW91dCA9IDIwMDsKKworCXByaXYtPmFkYXAuaWQgPSBJMkNfSFdfQVUxNTUwX1BTQzsKKwlwcml2LT5hZGFwLm5yID0gcGRldi0+aWQ7CisJcHJpdi0+YWRhcC5hbGdvID0gJmF1MTU1MF9hbGdvOworCXByaXYtPmFkYXAuYWxnb19kYXRhID0gcHJpdjsKKwlwcml2LT5hZGFwLmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OworCXN0cmxjcHkocHJpdi0+YWRhcC5uYW1lLCAiQXUxeHh4IFBTQyBJMkMiLCBzaXplb2YocHJpdi0+YWRhcC5uYW1lKSk7CisKKwkvKiBOb3csIHNldCB1cCB0aGUgUFNDIGZvciBTTUJ1cyBQSU8gbW9kZS4KKwkqLworCWkyY19hdTE1NTBfc2V0dXAocHJpdik7CiAKIAlyZXQgPSBpMmNfYWRkX251bWJlcmVkX2FkYXB0ZXIoJnByaXYtPmFkYXApOwogCWlmIChyZXQgPT0gMCkgewpAQCAtMzkyLDEwICs0MTcsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQkvKiBkaXNhYmxlIHRoZSBQU0MgKi8KLQlzcC0+cHNjX3NtYmNmZyA9IDA7Ci0Jc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRElTQUJMRTsKLQlhdV9zeW5jKCk7CisJaTJjX2F1MTU1MF9kaXNhYmxlKHByaXYpOwogCiAJcmVsZWFzZV9yZXNvdXJjZShwcml2LT5pb2FyZWEpOwogCWtmcmVlKHByaXYtPmlvYXJlYSk7CkBAIC00MDksMjcgKzQzMSwyNCBAQAogaTJjX2F1MTU1MF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0Jdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOwogCWkyY19kZWxfYWRhcHRlcigmcHJpdi0+YWRhcCk7Ci0Jc3AtPnBzY19zbWJjZmcgPSAwOwotCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0RJU0FCTEU7Ci0JYXVfc3luYygpOworCWkyY19hdTE1NTBfZGlzYWJsZShwcml2KTsKIAlyZWxlYXNlX3Jlc291cmNlKHByaXYtPmlvYXJlYSk7CiAJa2ZyZWUocHJpdi0+aW9hcmVhKTsKIAlrZnJlZShwcml2KTsKIAlyZXR1cm4gMDsKIH0KIAorI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludAogaTJjX2F1MTU1MF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKIAlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0Jdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAotCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX1NVU1BFTkQ7Ci0JYXVfc3luYygpOworCWkyY19hdTE1NTBfZGlzYWJsZShwcml2KTsKKwogCXJldHVybiAwOwogfQogCkBAIC00MzcsMTQgKzQ1NiwxNSBAQAogaTJjX2F1MTU1MF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0Jdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAotCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0VOQUJMRTsKLQlhdV9zeW5jKCk7Ci0Jd2hpbGUgKCEoc3AtPnBzY19zbWJzdGF0ICYgUFNDX1NNQlNUQVRfU1IpKQotCQlhdV9zeW5jKCk7CisJaTJjX2F1MTU1MF9zZXR1cChwcml2KTsKKwogCXJldHVybiAwOwogfQorI2Vsc2UKKyNkZWZpbmUgaTJjX2F1MTU1MF9zdXNwZW5kCU5VTEwKKyNkZWZpbmUgaTJjX2F1MTU1MF9yZXN1bWUJTlVMTAorI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGF1MXhwc2Nfc21idXNfZHJpdmVyID0gewogCS5kcml2ZXIgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWNwbS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1jcG0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTY0ZGUxCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1jcG0uYwpAQCAtMCwwICsxLDc0NSBAQAorLyoKKyAqIEZyZWVzY2FsZSBDUE0xL0NQTTIgSTJDIGludGVyZmFjZS4KKyAqIENvcHlyaWdodCAoYykgMTk5OSBEYW4gTWFsZWsgKGRtYWxla0BqbGMubmV0KS4KKyAqCisgKiBtb3ZlZCBpbnRvIHByb3BlciBpMmMgaW50ZXJmYWNlOworICogQnJhZCBQYXJrZXIgKGJyYWRAaGVlbHRvZS5jb20pCisgKgorICogUGFydHMgZnJvbSBkYm94Ml9pMmMuYyAoY3ZzLnR1eGJveC5vcmcpCisgKiAoQykgMjAwMC0yMDAxIEZlbGl4IERvbWtlICh0bWJpbmNAZ214Lm5ldCksIEdpbGxlbSAoaHRvYUBnbXgubmV0KQorICoKKyAqIChDKSAyMDA3IE1vbnRhdmlzdGEgU29mdHdhcmUsIEluYy4KKyAqIFZpdGFseSBCb3JkdWcgPHZpdGJAa2VybmVsLmNyYXNoaW5nLm9yZz4KKyAqCisgKiBDb252ZXJ0ZWQgdG8gb2ZfcGxhdGZvcm1fZGV2aWNlLiBSZW5hbWVkIHRvIGkyYy1jcG0uYy4KKyAqIChDKSAyMDA3LDIwMDggSm9jaGVuIEZyaWVkcmljaCA8am9jaGVuQHNjcmFtLmRlPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L29mX2kyYy5oPgorI2luY2x1ZGUgPHN5c2Rldi9mc2xfc29jLmg+CisjaW5jbHVkZSA8YXNtL2NwbS5oPgorCisvKiBUcnkgdG8gZGVmaW5lIHRoaXMgaWYgeW91IGhhdmUgYW4gb2xkZXIgQ1BVIChlYXJsaWVyIHRoYW4gcmV2IEQ0KSAqLworLyogSG93ZXZlciwgYmV0dGVyIHVzZSBhIEdQSU8gYmFzZWQgYml0YmFuZyBkcml2ZXIgaW4gdGhpcyBjYXNlIDovICAgKi8KKyN1bmRlZglJMkNfQ0hJUF9FUlJBVEEKKworI2RlZmluZSBDUE1fTUFYX1JFQUQgICAgNTEzCisjZGVmaW5lIENQTV9NQVhCRCAgICAgICA0CisKKyNkZWZpbmUgSTJDX0VCCQkJKDB4MTApIC8qIEJpZyBlbmRpYW4gbW9kZSAqLworI2RlZmluZSBJMkNfRUJfQ1BNMgkJKDB4MzApIC8qIEJpZyBlbmRpYW4gbW9kZSwgbWVtb3J5IHNub29wICovCisKKyNkZWZpbmUgRFBSQU1fQkFTRQkJKCh1OCBfX2lvbWVtIF9fZm9yY2UgKiljcG1fbXVyYW1fYWRkcigwKSkKKworLyogSTJDIHBhcmFtZXRlciBSQU0uICovCitzdHJ1Y3QgaTJjX3JhbSB7CisJdXNob3J0ICByYmFzZTsJCS8qIFJ4IEJ1ZmZlciBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcyAqLworCXVzaG9ydCAgdGJhc2U7CQkvKiBUeCBCdWZmZXIgZGVzY3JpcHRvciBiYXNlIGFkZHJlc3MgKi8KKwl1X2NoYXIgIHJmY3I7CQkvKiBSeCBmdW5jdGlvbiBjb2RlICovCisJdV9jaGFyICB0ZmNyOwkJLyogVHggZnVuY3Rpb24gY29kZSAqLworCXVzaG9ydCAgbXJibHI7CQkvKiBNYXggcmVjZWl2ZSBidWZmZXIgbGVuZ3RoICovCisJdWludCAgICByc3RhdGU7CQkvKiBJbnRlcm5hbCAqLworCXVpbnQgICAgcmRwOwkJLyogSW50ZXJuYWwgKi8KKwl1c2hvcnQgIHJicHRyOwkJLyogUnggQnVmZmVyIGRlc2NyaXB0b3IgcG9pbnRlciAqLworCXVzaG9ydCAgcmJjOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHJ4dG1wOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHRzdGF0ZTsJCS8qIEludGVybmFsICovCisJdWludCAgICB0ZHA7CQkvKiBJbnRlcm5hbCAqLworCXVzaG9ydCAgdGJwdHI7CQkvKiBUeCBCdWZmZXIgZGVzY3JpcHRvciBwb2ludGVyICovCisJdXNob3J0ICB0YmM7CQkvKiBJbnRlcm5hbCAqLworCXVpbnQgICAgdHh0bXA7CQkvKiBJbnRlcm5hbCAqLworCWNoYXIgICAgcmVzMVs0XTsJLyogUmVzZXJ2ZWQgKi8KKwl1c2hvcnQgIHJwYmFzZTsJCS8qIFJlbG9jYXRpb24gcG9pbnRlciAqLworCWNoYXIgICAgcmVzMlsyXTsJLyogUmVzZXJ2ZWQgKi8KK307CisKKyNkZWZpbmUgSTJDT01fU1RBUlQJMHg4MAorI2RlZmluZSBJMkNPTV9NQVNURVIJMHgwMQorI2RlZmluZSBJMkNFUl9UWEUJMHgxMAorI2RlZmluZSBJMkNFUl9CVVNZCTB4MDQKKyNkZWZpbmUgSTJDRVJfVFhCCTB4MDIKKyNkZWZpbmUgSTJDRVJfUlhCCTB4MDEKKyNkZWZpbmUgSTJNT0RfRU4JMHgwMQorCisvKiBJMkMgUmVnaXN0ZXJzICovCitzdHJ1Y3QgaTJjX3JlZyB7CisJdTgJaTJtb2Q7CisJdTgJcmVzMVszXTsKKwl1OAlpMmFkZDsKKwl1OAlyZXMyWzNdOworCXU4CWkyYnJnOworCXU4CXJlczNbM107CisJdTgJaTJjb207CisJdTgJcmVzNFszXTsKKwl1OAlpMmNlcjsKKwl1OAlyZXM1WzNdOworCXU4CWkyY21yOworfTsKKworc3RydWN0IGNwbV9pMmMgeworCWNoYXIgKmJhc2U7CisJc3RydWN0IG9mX2RldmljZSAqb2ZkZXY7CisJc3RydWN0IGkyY19hZGFwdGVyIGFkYXA7CisJdWludCBkcF9hZGRyOworCWludCB2ZXJzaW9uOyAvKiBDUE0xPTEsIENQTTI9MiAqLworCWludCBpcnE7CisJaW50IGNwX2NvbW1hbmQ7CisJaW50IGZyZXE7CisJc3RydWN0IGkyY19yZWcgX19pb21lbSAqaTJjX3JlZzsKKwlzdHJ1Y3QgaTJjX3JhbSBfX2lvbWVtICppMmNfcmFtOworCXUxNiBpMmNfYWRkcjsKKwl3YWl0X3F1ZXVlX2hlYWRfdCBpMmNfd2FpdDsKKwljYmRfdCBfX2lvbWVtICp0YmFzZTsKKwljYmRfdCBfX2lvbWVtICpyYmFzZTsKKwl1X2NoYXIgKnR4YnVmW0NQTV9NQVhCRF07CisJdV9jaGFyICpyeGJ1ZltDUE1fTUFYQkRdOworCXUzMiB0eGRtYVtDUE1fTUFYQkRdOworCXUzMiByeGRtYVtDUE1fTUFYQkRdOworfTsKKworc3RhdGljIGlycXJldHVybl90IGNwbV9pMmNfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtOworCXN0cnVjdCBpMmNfcmVnIF9faW9tZW0gKmkyY19yZWc7CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwID0gZGV2X2lkOworCWludCBpOworCisJY3BtID0gaTJjX2dldF9hZGFwZGF0YShkZXZfaWQpOworCWkyY19yZWcgPSBjcG0tPmkyY19yZWc7CisKKwkvKiBDbGVhciBpbnRlcnJ1cHQuICovCisJaSA9IGluXzgoJmkyY19yZWctPmkyY2VyKTsKKwlvdXRfOCgmaTJjX3JlZy0+aTJjZXIsIGkpOworCisJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSW50ZXJydXB0OiAleFxuIiwgaSk7CisKKwl3YWtlX3VwX2ludGVycnVwdGlibGUoJmNwbS0+aTJjX3dhaXQpOworCisJcmV0dXJuIGkgPyBJUlFfSEFORExFRCA6IElSUV9OT05FOworfQorCitzdGF0aWMgdm9pZCBjcG1fcmVzZXRfaTJjX3BhcmFtcyhzdHJ1Y3QgY3BtX2kyYyAqY3BtKQoreworCXN0cnVjdCBpMmNfcmFtIF9faW9tZW0gKmkyY19yYW0gPSBjcG0tPmkyY19yYW07CisKKwkvKiBTZXQgdXAgdGhlIEkyQyBwYXJhbWV0ZXJzIGluIHRoZSBwYXJhbWV0ZXIgcmFtLiAqLworCW91dF9iZTE2KCZpMmNfcmFtLT50YmFzZSwgKHU4IF9faW9tZW0gKiljcG0tPnRiYXNlIC0gRFBSQU1fQkFTRSk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnJiYXNlLCAodTggX19pb21lbSAqKWNwbS0+cmJhc2UgLSBEUFJBTV9CQVNFKTsKKworCWlmIChjcG0tPnZlcnNpb24gPT0gMSkgeworCQlvdXRfOCgmaTJjX3JhbS0+dGZjciwgSTJDX0VCKTsKKwkJb3V0XzgoJmkyY19yYW0tPnJmY3IsIEkyQ19FQik7CisJfSBlbHNlIHsKKwkJb3V0XzgoJmkyY19yYW0tPnRmY3IsIEkyQ19FQl9DUE0yKTsKKwkJb3V0XzgoJmkyY19yYW0tPnJmY3IsIEkyQ19FQl9DUE0yKTsKKwl9CisKKwlvdXRfYmUxNigmaTJjX3JhbS0+bXJibHIsIENQTV9NQVhfUkVBRCk7CisKKwlvdXRfYmUzMigmaTJjX3JhbS0+cnN0YXRlLCAwKTsKKwlvdXRfYmUzMigmaTJjX3JhbS0+cmRwLCAwKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+cmJwdHIsIDApOworCW91dF9iZTE2KCZpMmNfcmFtLT5yYmMsIDApOworCW91dF9iZTMyKCZpMmNfcmFtLT5yeHRtcCwgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnRzdGF0ZSwgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnRkcCwgMCk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnRicHRyLCAwKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+dGJjLCAwKTsKKwlvdXRfYmUzMigmaTJjX3JhbS0+dHh0bXAsIDApOworfQorCitzdGF0aWMgdm9pZCBjcG1faTJjX2ZvcmNlX2Nsb3NlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtID0gaTJjX2dldF9hZGFwZGF0YShhZGFwKTsKKwlzdHJ1Y3QgaTJjX3JlZyBfX2lvbWVtICppMmNfcmVnID0gY3BtLT5pMmNfcmVnOworCisJZGV2X2RiZygmYWRhcC0+ZGV2LCAiY3BtX2kyY19mb3JjZV9jbG9zZSgpXG4iKTsKKworCWNwbV9jb21tYW5kKGNwbS0+Y3BfY29tbWFuZCwgQ1BNX0NSX0NMT1NFX1JYX0JEKTsKKworCW91dF84KCZpMmNfcmVnLT5pMmNtciwgMHgwMCk7CS8qIERpc2FibGUgYWxsIGludGVycnVwdHMgKi8KKwlvdXRfOCgmaTJjX3JlZy0+aTJjZXIsIDB4ZmYpOworfQorCitzdGF0aWMgdm9pZCBjcG1faTJjX3BhcnNlX21lc3NhZ2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLAorCXN0cnVjdCBpMmNfbXNnICpwbXNnLCBpbnQgbnVtLCBpbnQgdHgsIGludCByeCkKK3sKKwljYmRfdCBfX2lvbWVtICp0YmRmOworCWNiZF90IF9faW9tZW0gKnJiZGY7CisJdV9jaGFyIGFkZHI7CisJdV9jaGFyICp0YjsKKwl1X2NoYXIgKnJiOworCXN0cnVjdCBjcG1faTJjICpjcG0gPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOworCisJdGJkZiA9IGNwbS0+dGJhc2UgKyB0eDsKKwlyYmRmID0gY3BtLT5yYmFzZSArIHJ4OworCisJYWRkciA9IHBtc2ctPmFkZHIgPDwgMTsKKwlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkKKwkJYWRkciB8PSAxOworCisJdGIgPSBjcG0tPnR4YnVmW3R4XTsKKwlyYiA9IGNwbS0+cnhidWZbcnhdOworCisJLyogQWxpZ24gcmVhZCBidWZmZXIgKi8KKwlyYiA9ICh1X2NoYXIgKikgKCgodWxvbmcpIHJiICsgMSkgJiB+MSk7CisKKwl0YlswXSA9IGFkZHI7CQkvKiBEZXZpY2UgYWRkcmVzcyBieXRlIHcvcncgZmxhZyAqLworCisJb3V0X2JlMTYoJnRiZGYtPmNiZF9kYXRsZW4sIHBtc2ctPmxlbiArIDEpOworCW91dF9iZTE2KCZ0YmRmLT5jYmRfc2MsIDApOworCisJaWYgKCEocG1zZy0+ZmxhZ3MgJiBJMkNfTV9OT1NUQVJUKSkKKwkJc2V0Yml0czE2KCZ0YmRmLT5jYmRfc2MsIEJEX0kyQ19TVEFSVCk7CisKKwlpZiAodHggKyAxID09IG51bSkKKwkJc2V0Yml0czE2KCZ0YmRmLT5jYmRfc2MsIEJEX1NDX0xBU1QgfCBCRF9TQ19XUkFQKTsKKworCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKSB7CisJCS8qCisJCSAqIFRvIHJlYWQsIHdlIG5lZWQgYW4gZW1wdHkgYnVmZmVyIG9mIHRoZSBwcm9wZXIgbGVuZ3RoLgorCQkgKiBBbGwgdGhhdCBpcyB1c2VkIGlzIHRoZSBmaXJzdCBieXRlIGZvciBhZGRyZXNzLCB0aGUgcmVtYWluZGVyCisJCSAqIGlzIGp1c3QgdXNlZCBmb3IgdGltaW5nIChhbmQgZG9lc24ndCByZWFsbHkgaGF2ZSB0byBleGlzdCkuCisJCSAqLworCisJCWRldl9kYmcoJmFkYXAtPmRldiwgImNwbV9pMmNfcmVhZChhYnl0ZT0weCV4KVxuIiwgYWRkcik7CisKKwkJb3V0X2JlMTYoJnJiZGYtPmNiZF9kYXRsZW4sIDApOworCQlvdXRfYmUxNigmcmJkZi0+Y2JkX3NjLCBCRF9TQ19FTVBUWSB8IEJEX1NDX0lOVFJQVCk7CisKKwkJaWYgKHJ4ICsgMSA9PSBDUE1fTUFYQkQpCisJCQlzZXRiaXRzMTYoJnJiZGYtPmNiZF9zYywgQkRfU0NfV1JBUCk7CisKKwkJZWllaW8oKTsKKwkJc2V0Yml0czE2KCZ0YmRmLT5jYmRfc2MsIEJEX1NDX1JFQURZKTsKKwl9IGVsc2UgeworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJjcG1faTJjX3dyaXRlKGFieXRlPTB4JXgpXG4iLCBhZGRyKTsKKworCQltZW1jcHkodGIrMSwgcG1zZy0+YnVmLCBwbXNnLT5sZW4pOworCisJCWVpZWlvKCk7CisJCXNldGJpdHMxNigmdGJkZi0+Y2JkX3NjLCBCRF9TQ19SRUFEWSB8IEJEX1NDX0lOVFJQVCk7CisJfQorfQorCitzdGF0aWMgaW50IGNwbV9pMmNfY2hlY2tfbWVzc2FnZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsCisJc3RydWN0IGkyY19tc2cgKnBtc2csIGludCB0eCwgaW50IHJ4KQoreworCWNiZF90IF9faW9tZW0gKnRiZGY7CisJY2JkX3QgX19pb21lbSAqcmJkZjsKKwl1X2NoYXIgKnRiOworCXVfY2hhciAqcmI7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGkyY19nZXRfYWRhcGRhdGEoYWRhcCk7CisKKwl0YmRmID0gY3BtLT50YmFzZSArIHR4OworCXJiZGYgPSBjcG0tPnJiYXNlICsgcng7CisKKwl0YiA9IGNwbS0+dHhidWZbdHhdOworCXJiID0gY3BtLT5yeGJ1ZltyeF07CisKKwkvKiBBbGlnbiByZWFkIGJ1ZmZlciAqLworCXJiID0gKHVfY2hhciAqKSAoKCh1aW50KSByYiArIDEpICYgfjEpOworCisJZWllaW8oKTsKKwlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkgeworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0eCBzYyAweCUwNHgsIHJ4IHNjIDB4JTA0eFxuIiwKKwkJCWluX2JlMTYoJnRiZGYtPmNiZF9zYyksIGluX2JlMTYoJnJiZGYtPmNiZF9zYykpOworCisJCWlmIChpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpICYgQkRfU0NfTkFLKSB7CisJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJJMkMgcmVhZDsgTm8gYWNrXG4iKTsKKwkJCXJldHVybiAtRU5YSU87CisJCX0KKwkJaWYgKGluX2JlMTYoJnJiZGYtPmNiZF9zYykgJiBCRF9TQ19FTVBUWSkgeworCQkJZGV2X2VycigmYWRhcC0+ZGV2LAorCQkJCSJJMkMgcmVhZDsgY29tcGxldGUgYnV0IHJidWYgZW1wdHlcbiIpOworCQkJcmV0dXJuIC1FUkVNT1RFSU87CisJCX0KKwkJaWYgKGluX2JlMTYoJnJiZGYtPmNiZF9zYykgJiBCRF9TQ19PVikgeworCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDIHJlYWQ7IE92ZXJydW5cbiIpOworCQkJcmV0dXJuIC1FUkVNT1RFSU87CisJCX0KKwkJbWVtY3B5KHBtc2ctPmJ1ZiwgcmIsIHBtc2ctPmxlbik7CisJfSBlbHNlIHsKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHggc2MgJWQgMHglMDR4XG4iLCB0eCwKKwkJCWluX2JlMTYoJnRiZGYtPmNiZF9zYykpOworCisJCWlmIChpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpICYgQkRfU0NfTkFLKSB7CisJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJJMkMgd3JpdGU7IE5vIGFja1xuIik7CisJCQlyZXR1cm4gLUVOWElPOworCQl9CisJCWlmIChpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpICYgQkRfU0NfVU4pIHsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQyB3cml0ZTsgVW5kZXJydW5cbiIpOworCQkJcmV0dXJuIC1FSU87CisJCX0KKwkJaWYgKGluX2JlMTYoJnRiZGYtPmNiZF9zYykgJiBCRF9TQ19DTCkgeworCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDIHdyaXRlOyBDb2xsaXNpb25cbiIpOworCQkJcmV0dXJuIC1FSU87CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3BtX2kyY194ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0pCit7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGkyY19nZXRfYWRhcGRhdGEoYWRhcCk7CisJc3RydWN0IGkyY19yZWcgX19pb21lbSAqaTJjX3JlZyA9IGNwbS0+aTJjX3JlZzsKKwlzdHJ1Y3QgaTJjX3JhbSBfX2lvbWVtICppMmNfcmFtID0gY3BtLT5pMmNfcmFtOworCXN0cnVjdCBpMmNfbXNnICpwbXNnOworCWludCByZXQsIGk7CisJaW50IHRwdHI7CisJaW50IHJwdHI7CisJY2JkX3QgX19pb21lbSAqdGJkZjsKKwljYmRfdCBfX2lvbWVtICpyYmRmOworCisJaWYgKG51bSA+IENQTV9NQVhCRCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBDaGVjayBpZiB3ZSBoYXZlIGFueSBvdmVyc2l6ZWQgUkVBRCByZXF1ZXN0cyAqLworCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgeworCQlwbXNnID0gJm1zZ3NbaV07CisJCWlmIChwbXNnLT5sZW4gPj0gQ1BNX01BWF9SRUFEKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogUmVzZXQgdG8gdXNlIGZpcnN0IGJ1ZmZlciAqLworCW91dF9iZTE2KCZpMmNfcmFtLT5yYnB0ciwgaW5fYmUxNigmaTJjX3JhbS0+cmJhc2UpKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+dGJwdHIsIGluX2JlMTYoJmkyY19yYW0tPnRiYXNlKSk7CisKKwl0YmRmID0gY3BtLT50YmFzZTsKKwlyYmRmID0gY3BtLT5yYmFzZTsKKworCXRwdHIgPSAwOworCXJwdHIgPSAwOworCisJd2hpbGUgKHRwdHIgPCBudW0pIHsKKwkJcG1zZyA9ICZtc2dzW3RwdHJdOworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJSOiAlZCBUOiAlZFxuIiwgcnB0ciwgdHB0cik7CisKKwkJY3BtX2kyY19wYXJzZV9tZXNzYWdlKGFkYXAsIHBtc2csIG51bSwgdHB0ciwgcnB0cik7CisJCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKQorCQkJcnB0cisrOworCQl0cHRyKys7CisJfQorCS8qIFN0YXJ0IHRyYW5zZmVyIG5vdyAqLworCS8qIEVuYWJsZSBSWC9UWC9FcnJvciBpbnRlcnVwdHMgKi8KKwlvdXRfOCgmaTJjX3JlZy0+aTJjbXIsIEkyQ0VSX1RYRSB8IEkyQ0VSX1RYQiB8IEkyQ0VSX1JYQik7CisJb3V0XzgoJmkyY19yZWctPmkyY2VyLCAweGZmKTsJLyogQ2xlYXIgaW50ZXJydXB0IHN0YXR1cyAqLworCS8qIENoaXAgYnVnLCBzZXQgZW5hYmxlIGhlcmUgKi8KKwlzZXRiaXRzOCgmaTJjX3JlZy0+aTJtb2QsIEkyTU9EX0VOKTsJLyogRW5hYmxlICovCisJLyogQmVnaW4gdHJhbnNtaXNzaW9uICovCisJc2V0Yml0czgoJmkyY19yZWctPmkyY29tLCBJMkNPTV9TVEFSVCk7CisKKwl0cHRyID0gMDsKKwlycHRyID0gMDsKKworCXdoaWxlICh0cHRyIDwgbnVtKSB7CisJCS8qIENoZWNrIGZvciBvdXRzdGFuZGluZyBtZXNzYWdlcyAqLworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0ZXN0IHJlYWR5LlxuIik7CisJCXBtc2cgPSAmbXNnc1t0cHRyXTsKKwkJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpCisJCQlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dChjcG0tPmkyY193YWl0LAorCQkJCSEoaW5fYmUxNigmcmJkZltycHRyXS5jYmRfc2MpICYgQkRfU0NfRU1QVFkpLAorCQkJCTEgKiBIWik7CisJCWVsc2UKKwkJCXJldCA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZV90aW1lb3V0KGNwbS0+aTJjX3dhaXQsCisJCQkJIShpbl9iZTE2KCZ0YmRmW3RwdHJdLmNiZF9zYykgJiBCRF9TQ19SRUFEWSksCisJCQkJMSAqIEhaKTsKKwkJaWYgKHJldCA9PSAwKSB7CisJCQlyZXQgPSAtRVJFTU9URUlPOworCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDIHRyYW5zZmVyOiB0aW1lb3V0XG4iKTsKKwkJCWdvdG8gb3V0X2VycjsKKwkJfQorCQlpZiAocmV0ID4gMCkgeworCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAicmVhZHkuXG4iKTsKKwkJCXJldCA9IGNwbV9pMmNfY2hlY2tfbWVzc2FnZShhZGFwLCBwbXNnLCB0cHRyLCBycHRyKTsKKwkJCXRwdHIrKzsKKwkJCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKQorCQkJCXJwdHIrKzsKKwkJCWlmIChyZXQpCisJCQkJZ290byBvdXRfZXJyOworCQl9CisJfQorI2lmZGVmIEkyQ19DSElQX0VSUkFUQQorCS8qCisJICogQ2hpcCBlcnJhdGEsIGNsZWFyIGVuYWJsZS4gVGhpcyBpcyBub3QgbmVlZGVkIG9uIHJldiBENCBDUFVzLgorCSAqIERpc2FibGluZyBJMkMgdG9vIGVhcmx5IG1heSBjYXVzZSB0b28gc2hvcnQgc3RvcCBjb25kaXRpb24KKwkgKi8KKwl1ZGVsYXkoNCk7CisJY2xyYml0czgoJmkyY19yZWctPmkybW9kLCBJMk1PRF9FTik7CisjZW5kaWYKKwlyZXR1cm4gKG51bSk7CisKK291dF9lcnI6CisJY3BtX2kyY19mb3JjZV9jbG9zZShhZGFwKTsKKyNpZmRlZiBJMkNfQ0hJUF9FUlJBVEEKKwkvKgorCSAqIENoaXAgZXJyYXRhLCBjbGVhciBlbmFibGUuIFRoaXMgaXMgbm90IG5lZWRlZCBvbiByZXYgRDQgQ1BVcy4KKwkgKi8KKwljbHJiaXRzOCgmaTJjX3JlZy0+aTJtb2QsIEkyTU9EX0VOKTsKKyNlbmRpZgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB1MzIgY3BtX2kyY19mdW5jKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlyZXR1cm4gSTJDX0ZVTkNfSTJDIHwgKEkyQ19GVU5DX1NNQlVTX0VNVUwgJiB+STJDX0ZVTkNfU01CVVNfUVVJQ0spOworfQorCisvKiAtLS0tLWV4cG9ydGVkIGFsZ29yaXRobSBkYXRhOiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCSovCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2FsZ29yaXRobSBjcG1faTJjX2FsZ28gPSB7CisJLm1hc3Rlcl94ZmVyID0gY3BtX2kyY194ZmVyLAorCS5mdW5jdGlvbmFsaXR5ID0gY3BtX2kyY19mdW5jLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfYWRhcHRlciBjcG1fb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkubmFtZQkJPSAiaTJjLWNwbSIsCisJLmFsZ28JCT0gJmNwbV9pMmNfYWxnbywKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKK307CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGNwbV9pMmNfc2V0dXAoc3RydWN0IGNwbV9pMmMgKmNwbSkKK3sKKwlzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldiA9IGNwbS0+b2ZkZXY7CisJY29uc3QgdTMyICpkYXRhOworCWludCBsZW4sIHJldCwgaTsKKwl2b2lkIF9faW9tZW0gKmkyY19iYXNlOworCWNiZF90IF9faW9tZW0gKnRiZGY7CisJY2JkX3QgX19pb21lbSAqcmJkZjsKKwl1bnNpZ25lZCBjaGFyIGJyZzsKKworCWRldl9kYmcoJmNwbS0+b2ZkZXYtPmRldiwgImNwbV9pMmNfc2V0dXAoKVxuIik7CisKKwlpbml0X3dhaXRxdWV1ZV9oZWFkKCZjcG0tPmkyY193YWl0KTsKKworCWNwbS0+aXJxID0gb2ZfaXJxX3RvX3Jlc291cmNlKG9mZGV2LT5ub2RlLCAwLCBOVUxMKTsKKwlpZiAoY3BtLT5pcnEgPT0gTk9fSVJRKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIEluc3RhbGwgaW50ZXJydXB0IGhhbmRsZXIuICovCisJcmV0ID0gcmVxdWVzdF9pcnEoY3BtLT5pcnEsIGNwbV9pMmNfaW50ZXJydXB0LCAwLCAiY3BtX2kyYyIsCisJCQkgICZjcG0tPmFkYXApOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwkvKiBJMkMgcGFyYW1ldGVyIFJBTSAqLworCWkyY19iYXNlID0gb2ZfaW9tYXAob2ZkZXYtPm5vZGUsIDEpOworCWlmIChpMmNfYmFzZSA9PSBOVUxMKSB7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0X2lycTsKKwl9CisKKwlpZiAob2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUob2ZkZXYtPm5vZGUsICJmc2wsY3BtMS1pMmMiKSkgeworCisJCS8qIENoZWNrIGZvciBhbmQgdXNlIGEgbWljcm9jb2RlIHJlbG9jYXRpb24gcGF0Y2guICovCisJCWNwbS0+aTJjX3JhbSA9IGkyY19iYXNlOworCQljcG0tPmkyY19hZGRyID0gaW5fYmUxNigmY3BtLT5pMmNfcmFtLT5ycGJhc2UpOworCisJCS8qCisJCSAqIE1heWJlIHNob3VsZCB1c2UgY3BtX211cmFtX2FsbG9jIGluc3RlYWQgb2YgaGFyZGNvZGluZworCQkgKiB0aGlzIGluIG1pY3JvcGF0Y2guYworCQkgKi8KKwkJaWYgKGNwbS0+aTJjX2FkZHIpIHsKKwkJCWNwbS0+aTJjX3JhbSA9IGNwbV9tdXJhbV9hZGRyKGNwbS0+aTJjX2FkZHIpOworCQkJaW91bm1hcChpMmNfYmFzZSk7CisJCX0KKworCQljcG0tPnZlcnNpb24gPSAxOworCisJfSBlbHNlIGlmIChvZl9kZXZpY2VfaXNfY29tcGF0aWJsZShvZmRldi0+bm9kZSwgImZzbCxjcG0yLWkyYyIpKSB7CisJCWNwbS0+aTJjX2FkZHIgPSBjcG1fbXVyYW1fYWxsb2Moc2l6ZW9mKHN0cnVjdCBpMmNfcmFtKSwgNjQpOworCQljcG0tPmkyY19yYW0gPSBjcG1fbXVyYW1fYWRkcihjcG0tPmkyY19hZGRyKTsKKwkJb3V0X2JlMTYoaTJjX2Jhc2UsIGNwbS0+aTJjX2FkZHIpOworCQlpb3VubWFwKGkyY19iYXNlKTsKKworCQljcG0tPnZlcnNpb24gPSAyOworCisJfSBlbHNlIHsKKwkJaW91bm1hcChpMmNfYmFzZSk7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0X2lycTsKKwl9CisKKwkvKiBJMkMgY29udHJvbC9zdGF0dXMgcmVnaXN0ZXJzICovCisJY3BtLT5pMmNfcmVnID0gb2ZfaW9tYXAob2ZkZXYtPm5vZGUsIDApOworCWlmIChjcG0tPmkyY19yZWcgPT0gTlVMTCkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9yYW07CisJfQorCisJZGF0YSA9IG9mX2dldF9wcm9wZXJ0eShvZmRldi0+bm9kZSwgImZzbCxjcG0tY29tbWFuZCIsICZsZW4pOworCWlmICghZGF0YSB8fCBsZW4gIT0gNCkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9yZWc7CisJfQorCWNwbS0+Y3BfY29tbWFuZCA9ICpkYXRhOworCisJZGF0YSA9IG9mX2dldF9wcm9wZXJ0eShvZmRldi0+bm9kZSwgImxpbnV4LGkyYy1jbGFzcyIsICZsZW4pOworCWlmIChkYXRhICYmIGxlbiA9PSA0KQorCQljcG0tPmFkYXAuY2xhc3MgPSAqZGF0YTsKKworCWRhdGEgPSBvZl9nZXRfcHJvcGVydHkob2ZkZXYtPm5vZGUsICJjbG9jay1mcmVxdWVuY3kiLCAmbGVuKTsKKwlpZiAoZGF0YSAmJiBsZW4gPT0gNCkKKwkJY3BtLT5mcmVxID0gKmRhdGE7CisJZWxzZQorCQljcG0tPmZyZXEgPSA2MDAwMDsgLyogdXNlIDYwa0h6IGkyYyBjbG9jayBieSBkZWZhdWx0ICovCisKKwkvKgorCSAqIEFsbG9jYXRlIHNwYWNlIGZvciBDUE1fTUFYQkQgdHJhbnNtaXQgYW5kIHJlY2VpdmUgYnVmZmVyCisJICogZGVzY3JpcHRvcnMgaW4gdGhlIERQIHJhbS4KKwkgKi8KKwljcG0tPmRwX2FkZHIgPSBjcG1fbXVyYW1fYWxsb2Moc2l6ZW9mKGNiZF90KSAqIDIgKiBDUE1fTUFYQkQsIDgpOworCWlmICghY3BtLT5kcF9hZGRyKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X3JlZzsKKwl9CisKKwljcG0tPnRiYXNlID0gY3BtX211cmFtX2FkZHIoY3BtLT5kcF9hZGRyKTsKKwljcG0tPnJiYXNlID0gY3BtX211cmFtX2FkZHIoY3BtLT5kcF9hZGRyICsgc2l6ZW9mKGNiZF90KSAqIENQTV9NQVhCRCk7CisKKwkvKiBBbGxvY2F0ZSBUWCBhbmQgUlggYnVmZmVycyAqLworCisJdGJkZiA9IGNwbS0+dGJhc2U7CisJcmJkZiA9IGNwbS0+cmJhc2U7CisKKwlmb3IgKGkgPSAwOyBpIDwgQ1BNX01BWEJEOyBpKyspIHsKKwkJY3BtLT5yeGJ1ZltpXSA9IGRtYV9hbGxvY19jb2hlcmVudCgKKwkJCU5VTEwsIENQTV9NQVhfUkVBRCArIDEsICZjcG0tPnJ4ZG1hW2ldLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFjcG0tPnJ4YnVmW2ldKSB7CisJCQlyZXQgPSAtRU5PTUVNOworCQkJZ290byBvdXRfbXVyYW07CisJCX0KKwkJb3V0X2JlMzIoJnJiZGZbaV0uY2JkX2J1ZmFkZHIsICgoY3BtLT5yeGRtYVtpXSArIDEpICYgfjEpKTsKKworCQljcG0tPnR4YnVmW2ldID0gKHVuc2lnbmVkIGNoYXIgKilkbWFfYWxsb2NfY29oZXJlbnQoCisJCQlOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLCAmY3BtLT50eGRtYVtpXSwgR0ZQX0tFUk5FTCk7CisJCWlmICghY3BtLT50eGJ1ZltpXSkgeworCQkJcmV0ID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0X211cmFtOworCQl9CisJCW91dF9iZTMyKCZ0YmRmW2ldLmNiZF9idWZhZGRyLCBjcG0tPnR4ZG1hW2ldKTsKKwl9CisKKwkvKiBJbml0aWFsaXplIFR4L1J4IHBhcmFtZXRlcnMuICovCisKKwljcG1fcmVzZXRfaTJjX3BhcmFtcyhjcG0pOworCisJZGV2X2RiZygmY3BtLT5vZmRldi0+ZGV2LCAiaTJjX3JhbSAweCVwLCBpMmNfYWRkciAweCUwNHgsIGZyZXEgJWRcbiIsCisJCWNwbS0+aTJjX3JhbSwgY3BtLT5pMmNfYWRkciwgY3BtLT5mcmVxKTsKKwlkZXZfZGJnKCZjcG0tPm9mZGV2LT5kZXYsICJ0YmFzZSAweCUwNHgsIHJiYXNlIDB4JTA0eFxuIiwKKwkJKHU4IF9faW9tZW0gKiljcG0tPnRiYXNlIC0gRFBSQU1fQkFTRSwKKwkJKHU4IF9faW9tZW0gKiljcG0tPnJiYXNlIC0gRFBSQU1fQkFTRSk7CisKKwljcG1fY29tbWFuZChjcG0tPmNwX2NvbW1hbmQsIENQTV9DUl9JTklUX1RSWCk7CisKKwkvKgorCSAqIFNlbGVjdCBhbiBpbnZhbGlkIGFkZHJlc3MuIEp1c3QgbWFrZSBzdXJlIHdlIGRvbid0IHVzZSBsb29wYmFjayBtb2RlCisJICovCisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJhZGQsIDB4N2YgPDwgMSk7CisKKwkvKgorCSAqIFBESVYgaXMgc2V0IHRvIDAwIGluIGkybW9kLCBzbyBicmdjbGsvMzIgaXMgdXNlZCBhcyBpbnB1dCB0byB0aGUKKwkgKiBpMmMgYmF1ZCByYXRlIGdlbmVyYXRvci4gVGhpcyBpcyBkaXZpZGVkIGJ5IDIgeCAoRElWICsgMykgdG8gZ2V0CisJICogdGhlIGFjdHVhbCBpMmMgYnVzIGZyZXF1ZW5jeS4KKwkgKi8KKwlicmcgPSBnZXRfYnJnZnJlcSgpIC8gKDMyICogMiAqIGNwbS0+ZnJlcSkgLSAzOworCW91dF84KCZjcG0tPmkyY19yZWctPmkyYnJnLCBicmcpOworCisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJtb2QsIDB4MDApOworCW91dF84KCZjcG0tPmkyY19yZWctPmkyY29tLCBJMkNPTV9NQVNURVIpOwkvKiBNYXN0ZXIgbW9kZSAqLworCisJLyogRGlzYWJsZSBpbnRlcnJ1cHRzLiAqLworCW91dF84KCZjcG0tPmkyY19yZWctPmkyY21yLCAwKTsKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNlciwgMHhmZik7CisKKwlyZXR1cm4gMDsKKworb3V0X211cmFtOgorCWZvciAoaSA9IDA7IGkgPCBDUE1fTUFYQkQ7IGkrKykgeworCQlpZiAoY3BtLT5yeGJ1ZltpXSkKKwkJCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIENQTV9NQVhfUkVBRCArIDEsCisJCQkJY3BtLT5yeGJ1ZltpXSwgY3BtLT5yeGRtYVtpXSk7CisJCWlmIChjcG0tPnR4YnVmW2ldKQorCQkJZG1hX2ZyZWVfY29oZXJlbnQoTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwKKwkJCQljcG0tPnR4YnVmW2ldLCBjcG0tPnR4ZG1hW2ldKTsKKwl9CisJY3BtX211cmFtX2ZyZWUoY3BtLT5kcF9hZGRyKTsKK291dF9yZWc6CisJaW91bm1hcChjcG0tPmkyY19yZWcpOworb3V0X3JhbToKKwlpZiAoKGNwbS0+dmVyc2lvbiA9PSAxKSAmJiAoIWNwbS0+aTJjX2FkZHIpKQorCQlpb3VubWFwKGNwbS0+aTJjX3JhbSk7CisJaWYgKGNwbS0+dmVyc2lvbiA9PSAyKQorCQljcG1fbXVyYW1fZnJlZShjcG0tPmkyY19hZGRyKTsKK291dF9pcnE6CisJZnJlZV9pcnEoY3BtLT5pcnEsICZjcG0tPmFkYXApOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGNwbV9pMmNfc2h1dGRvd24oc3RydWN0IGNwbV9pMmMgKmNwbSkKK3sKKwlpbnQgaTsKKworCS8qIFNodXQgZG93biBJMkMuICovCisJY2xyYml0czgoJmNwbS0+aTJjX3JlZy0+aTJtb2QsIEkyTU9EX0VOKTsKKworCS8qIERpc2FibGUgaW50ZXJydXB0cyAqLworCW91dF84KCZjcG0tPmkyY19yZWctPmkyY21yLCAwKTsKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNlciwgMHhmZik7CisKKwlmcmVlX2lycShjcG0tPmlycSwgJmNwbS0+YWRhcCk7CisKKwkvKiBGcmVlIGFsbCBtZW1vcnkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQ1BNX01BWEJEOyBpKyspIHsKKwkJZG1hX2ZyZWVfY29oZXJlbnQoTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwKKwkJCWNwbS0+cnhidWZbaV0sIGNwbS0+cnhkbWFbaV0pOworCQlkbWFfZnJlZV9jb2hlcmVudChOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLAorCQkJY3BtLT50eGJ1ZltpXSwgY3BtLT50eGRtYVtpXSk7CisJfQorCisJY3BtX211cmFtX2ZyZWUoY3BtLT5kcF9hZGRyKTsKKwlpb3VubWFwKGNwbS0+aTJjX3JlZyk7CisKKwlpZiAoKGNwbS0+dmVyc2lvbiA9PSAxKSAmJiAoIWNwbS0+aTJjX2FkZHIpKQorCQlpb3VubWFwKGNwbS0+aTJjX3JhbSk7CisJaWYgKGNwbS0+dmVyc2lvbiA9PSAyKQorCQljcG1fbXVyYW1fZnJlZShjcG0tPmkyY19hZGRyKTsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgY3BtX2kyY19wcm9iZShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldiwKKwkJCSBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaCkKK3sKKwlpbnQgcmVzdWx0LCBsZW47CisJc3RydWN0IGNwbV9pMmMgKmNwbTsKKwljb25zdCB1MzIgKmRhdGE7CisKKwljcG0gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgY3BtX2kyYyksIEdGUF9LRVJORUwpOworCWlmICghY3BtKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWNwbS0+b2ZkZXYgPSBvZmRldjsKKworCWRldl9zZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldiwgY3BtKTsKKworCWNwbS0+YWRhcCA9IGNwbV9vcHM7CisJaTJjX3NldF9hZGFwZGF0YSgmY3BtLT5hZGFwLCBjcG0pOworCWNwbS0+YWRhcC5kZXYucGFyZW50ID0gJm9mZGV2LT5kZXY7CisKKwlyZXN1bHQgPSBjcG1faTJjX3NldHVwKGNwbSk7CisJaWYgKHJlc3VsdCkgeworCQlkZXZfZXJyKCZvZmRldi0+ZGV2LCAiVW5hYmxlIHRvIGluaXQgaGFyZHdhcmVcbiIpOworCQlnb3RvIG91dF9mcmVlOworCX0KKworCS8qIHJlZ2lzdGVyIG5ldyBhZGFwdGVyIHRvIGkyYyBtb2R1bGUuLi4gKi8KKworCWRhdGEgPSBvZl9nZXRfcHJvcGVydHkob2ZkZXYtPm5vZGUsICJsaW51eCxpMmMtaW5kZXgiLCAmbGVuKTsKKwlpZiAoZGF0YSAmJiBsZW4gPT0gNCkgeworCQljcG0tPmFkYXAubnIgPSAqZGF0YTsKKwkJcmVzdWx0ID0gaTJjX2FkZF9udW1iZXJlZF9hZGFwdGVyKCZjcG0tPmFkYXApOworCX0gZWxzZQorCQlyZXN1bHQgPSBpMmNfYWRkX2FkYXB0ZXIoJmNwbS0+YWRhcCk7CisKKwlpZiAocmVzdWx0IDwgMCkgeworCQlkZXZfZXJyKCZvZmRldi0+ZGV2LCAiVW5hYmxlIHRvIHJlZ2lzdGVyIHdpdGggSTJDXG4iKTsKKwkJZ290byBvdXRfc2h1dDsKKwl9CisKKwlkZXZfZGJnKCZvZmRldi0+ZGV2LCAiaHcgcm91dGluZXMgZm9yICVzIHJlZ2lzdGVyZWQuXG4iLAorCQljcG0tPmFkYXAubmFtZSk7CisKKwkvKgorCSAqIHJlZ2lzdGVyIE9GIEkyQyBkZXZpY2VzCisJICovCisJb2ZfcmVnaXN0ZXJfaTJjX2RldmljZXMoJmNwbS0+YWRhcCwgb2ZkZXYtPm5vZGUpOworCisJcmV0dXJuIDA7CitvdXRfc2h1dDoKKwljcG1faTJjX3NodXRkb3duKGNwbSk7CitvdXRfZnJlZToKKwlkZXZfc2V0X2RydmRhdGEoJm9mZGV2LT5kZXYsIE5VTEwpOworCWtmcmVlKGNwbSk7CisKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW50IF9fZGV2ZXhpdCBjcG1faTJjX3JlbW92ZShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldikKK3sKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtID0gZGV2X2dldF9kcnZkYXRhKCZvZmRldi0+ZGV2KTsKKworCWkyY19kZWxfYWRhcHRlcigmY3BtLT5hZGFwKTsKKworCWNwbV9pMmNfc2h1dGRvd24oY3BtKTsKKworCWRldl9zZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldiwgTlVMTCk7CisJa2ZyZWUoY3BtKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBjcG1faTJjX21hdGNoW10gPSB7CisJeworCQkuY29tcGF0aWJsZSA9ICJmc2wsY3BtMS1pMmMiLAorCX0sCisJeworCQkuY29tcGF0aWJsZSA9ICJmc2wsY3BtMi1pMmMiLAorCX0sCisJe30sCit9OworCitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBjcG1faTJjX21hdGNoKTsKKworc3RhdGljIHN0cnVjdCBvZl9wbGF0Zm9ybV9kcml2ZXIgY3BtX2kyY19kcml2ZXIgPSB7CisJLm1hdGNoX3RhYmxlCT0gY3BtX2kyY19tYXRjaCwKKwkucHJvYmUJCT0gY3BtX2kyY19wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKGNwbV9pMmNfcmVtb3ZlKSwKKwkuZHJpdmVyCQk9IHsKKwkJLm5hbWUJPSAiZnNsLWkyYy1jcG0iLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBjcG1faTJjX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gb2ZfcmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZjcG1faTJjX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBjcG1faTJjX2V4aXQodm9pZCkKK3sKKwlvZl91bnJlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmY3BtX2kyY19kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChjcG1faTJjX2luaXQpOworbW9kdWxlX2V4aXQoY3BtX2kyY19leGl0KTsKKworTU9EVUxFX0FVVEhPUigiSm9jaGVuIEZyaWVkcmljaCA8am9jaGVuQHNjcmFtLmRlPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJJMkMtQnVzIGFkYXB0ZXIgcm91dGluZXMgZm9yIENQTSBib2FyZHMiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGF2aW5jaS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1kYXZpbmNpLmMKaW5kZXggN2VjYmZjNC4uYWYzODQ2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1kYXZpbmNpLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1kYXZpbmNpLmMKQEAgLTg1LDYgKzg1LDcgQEAKICNkZWZpbmUgREFWSU5DSV9JMkNfTURSX01TVAkoMSA8PCAxMCkKICNkZWZpbmUgREFWSU5DSV9JMkNfTURSX1RSWAkoMSA8PCA5KQogI2RlZmluZSBEQVZJTkNJX0kyQ19NRFJfWEEJKDEgPDwgOCkKKyNkZWZpbmUgREFWSU5DSV9JMkNfTURSX1JNCSgxIDw8IDcpCiAjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9JUlMJKDEgPDwgNSkKIAogI2RlZmluZSBEQVZJTkNJX0kyQ19JTVJfQUFTCSgxIDw8IDYpCkBAIC0xMTIsNiArMTEzLDcgQEAKIAl1OAkJCSpidWY7CiAJc2l6ZV90CQkJYnVmX2xlbjsKIAlpbnQJCQlpcnE7CisJdTgJCQl0ZXJtaW5hdGU7CiAJc3RydWN0IGkyY19hZGFwdGVyCWFkYXB0ZXI7CiB9OwogCkBAIC0xNDIsNiArMTQ0LDcgQEAKIAlzdHJ1Y3QgZGF2aW5jaV9pMmNfcGxhdGZvcm1fZGF0YSAqcGRhdGEgPSBkZXYtPmRldi0+cGxhdGZvcm1fZGF0YTsKIAl1MTYgcHNjOwogCXUzMiBjbGs7CisJdTMyIGQ7CiAJdTMyIGNsa2g7CiAJdTMyIGNsa2w7CiAJdTMyIGlucHV0X2Nsb2NrID0gY2xrX2dldF9yYXRlKGRldi0+Y2xrKTsKQEAgLTE3MSwyMyArMTc0LDI5IEBACiAJICogICAgICAgaWYgUFNDID4gMSAsIGQgPSA1CiAJICovCiAKLQlwc2MgPSAyNjsgLyogVG8gZ2V0IDFNSHogY2xvY2sgKi8KKwkvKiBnZXQgbWluaW11bSBvZiA3IE1IeiBjbG9jaywgYnV0IG1heCBvZiAxMiBNSHogKi8KKwlwc2MgPSAoaW5wdXRfY2xvY2sgLyA3MDAwMDAwKSAtIDE7CisJaWYgKChpbnB1dF9jbG9jayAvIChwc2MgKyAxKSkgPiAxMjAwMDAwMCkKKwkJcHNjKys7CS8qIGJldHRlciB0byBydW4gdW5kZXIgc3BlYyB0aGFuIG92ZXIgKi8KKwlkID0gKHBzYyA+PSAyKSA/IDUgOiA3IC0gcHNjOwogCi0JY2xrID0gKChpbnB1dF9jbG9jayAvIChwc2MgKyAxKSkgLyAocGRhdGEtPmJ1c19mcmVxICogMTAwMCkpIC0gMTA7Ci0JY2xraCA9ICg1MCAqIGNsaykgLyAxMDA7CisJY2xrID0gKChpbnB1dF9jbG9jayAvIChwc2MgKyAxKSkgLyAocGRhdGEtPmJ1c19mcmVxICogMTAwMCkpIC0gKGQgPDwgMSk7CisJY2xraCA9IGNsayA+PiAxOwogCWNsa2wgPSBjbGsgLSBjbGtoOwogCiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfUFNDX1JFRywgcHNjKTsKIAlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19DTEtIX1JFRywgY2xraCk7CiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfQ0xLTF9SRUcsIGNsa2wpOwogCi0JZGV2X2RiZyhkZXYtPmRldiwgIkNMSyAgPSAlZFxuIiwgY2xrKTsKKwlkZXZfZGJnKGRldi0+ZGV2LCAiaW5wdXRfY2xvY2sgPSAlZCwgQ0xLID0gJWRcbiIsIGlucHV0X2Nsb2NrLCBjbGspOwogCWRldl9kYmcoZGV2LT5kZXYsICJQU0MgID0gJWRcbiIsCiAJCWRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfUFNDX1JFRykpOwogCWRldl9kYmcoZGV2LT5kZXYsICJDTEtMID0gJWRcbiIsCiAJCWRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfQ0xLTF9SRUcpKTsKIAlkZXZfZGJnKGRldi0+ZGV2LCAiQ0xLSCA9ICVkXG4iLAogCQlkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX0NMS0hfUkVHKSk7CisJZGV2X2RiZyhkZXYtPmRldiwgImJ1c19mcmVxID0gJWRrSHosIGJ1c19kZWxheSA9ICVkXG4iLAorCQlwZGF0YS0+YnVzX2ZyZXEsIHBkYXRhLT5idXNfZGVsYXkpOwogCiAJLyogVGFrZSB0aGUgSTJDIG1vZHVsZSBvdXQgb2YgcmVzZXQ6ICovCiAJdyA9IGRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRyk7CkBAIC0yMzMsNyArMjQyLDYgQEAKIAlzdHJ1Y3QgZGF2aW5jaV9pMmNfZGV2ICpkZXYgPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOwogCXN0cnVjdCBkYXZpbmNpX2kyY19wbGF0Zm9ybV9kYXRhICpwZGF0YSA9IGRldi0+ZGV2LT5wbGF0Zm9ybV9kYXRhOwogCXUzMiBmbGFnOwotCXUzMiBzdGF0OwogCXUxNiB3OwogCWludCByOwogCkBAIC0yNTQsMTIgKzI2Miw5IEBACiAKIAlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19DTlRfUkVHLCBkZXYtPmJ1Zl9sZW4pOwogCi0JaW5pdF9jb21wbGV0aW9uKCZkZXYtPmNtZF9jb21wbGV0ZSk7CisJSU5JVF9DT01QTEVUSU9OKGRldi0+Y21kX2NvbXBsZXRlKTsKIAlkZXYtPmNtZF9lcnIgPSAwOwogCi0JLyogQ2xlYXIgYW55IHBlbmRpbmcgaW50ZXJydXB0cyBieSByZWFkaW5nIHRoZSBJVlIgKi8KLQlzdGF0ID0gZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19JVlJfUkVHKTsKLQogCS8qIFRha2UgSTJDIG91dCBvZiByZXNldCwgY29uZmlndXJlIGl0IGFzIG1hc3RlciBhbmQgc2V0IHRoZQogCSAqIHN0YXJ0IGJpdCAqLwogCWZsYWcgPSBEQVZJTkNJX0kyQ19NRFJfSVJTIHwgREFWSU5DSV9JMkNfTURSX01TVCB8IERBVklOQ0lfSTJDX01EUl9TVFQ7CkBAIC0yODAsMjAgKzI4NSwzNCBAQAogCQlNT0RfUkVHX0JJVCh3LCBEQVZJTkNJX0kyQ19JTVJfWFJEWSwgMSk7CiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfSU1SX1JFRywgdyk7CiAKKwlkZXYtPnRlcm1pbmF0ZSA9IDA7CiAJLyogd3JpdGUgdGhlIGRhdGEgaW50byBtb2RlIHJlZ2lzdGVyICovCiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRywgZmxhZyk7CiAKIAlyID0gd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoJmRldi0+Y21kX2NvbXBsZXRlLAogCQkJCQkJICAgICAgREFWSU5DSV9JMkNfVElNRU9VVCk7Ci0JZGV2LT5idWZfbGVuID0gMDsKLQlpZiAociA8IDApCi0JCXJldHVybiByOwotCiAJaWYgKHIgPT0gMCkgewogCQlkZXZfZXJyKGRldi0+ZGV2LCAiY29udHJvbGxlciB0aW1lZCBvdXRcbiIpOwogCQlpMmNfZGF2aW5jaV9pbml0KGRldik7CisJCWRldi0+YnVmX2xlbiA9IDA7CiAJCXJldHVybiAtRVRJTUVET1VUOwogCX0KKwlpZiAoZGV2LT5idWZfbGVuKSB7CisJCS8qIFRoaXMgc2hvdWxkIGJlIDAgaWYgYWxsIGJ5dGVzIHdlcmUgdHJhbnNmZXJyZWQKKwkJICogb3IgZGV2LT5jbWRfZXJyIGRlbm90ZXMgYW4gZXJyb3IuCisJCSAqIEEgc2lnbmFsIG1heSBoYXZlIGFib3J0ZWQgdGhlIHRyYW5zZmVyLgorCQkgKi8KKwkJaWYgKHIgPj0gMCkgeworCQkJZGV2X2VycihkZXYtPmRldiwgImFibm9ybWFsIHRlcm1pbmF0aW9uIGJ1Zl9sZW49JWlcbiIsCisJCQkJZGV2LT5idWZfbGVuKTsKKwkJCXIgPSAtRVJFTU9URUlPOworCQl9CisJCWRldi0+dGVybWluYXRlID0gMTsKKwkJd21iKCk7CisJCWRldi0+YnVmX2xlbiA9IDA7CisJfQorCWlmIChyIDwgMCkKKwkJcmV0dXJuIHI7CiAKIAkvKiBubyBlcnJvciAqLwogCWlmIChsaWtlbHkoIWRldi0+Y21kX2VycikpCkBAIC0zMzgsMTIgKzM1NywxMSBAQAogCiAJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CiAJCXJldCA9IGkyY19kYXZpbmNpX3hmZXJfbXNnKGFkYXAsICZtc2dzW2ldLCAoaSA9PSAobnVtIC0gMSkpKTsKKwkJZGV2X2RiZyhkZXYtPmRldiwgIiVzIFslZC8lZF0gcmV0OiAlZFxuIiwgX19mdW5jX18sIGkgKyAxLCBudW0sCisJCQlyZXQpOwogCQlpZiAocmV0IDwgMCkKIAkJCXJldHVybiByZXQ7CiAJfQotCi0JZGV2X2RiZyhkZXYtPmRldiwgIiVzOiVkIHJldDogJWRcbiIsIF9fZnVuY19fLCBfX0xJTkVfXywgcmV0KTsKLQogCXJldHVybiBudW07CiB9CiAKQEAgLTM1Miw2ICszNzAsMjcgQEAKIAlyZXR1cm4gSTJDX0ZVTkNfSTJDIHwgKEkyQ19GVU5DX1NNQlVTX0VNVUwgJiB+STJDX0ZVTkNfU01CVVNfUVVJQ0spOwogfQogCitzdGF0aWMgdm9pZCB0ZXJtaW5hdGVfcmVhZChzdHJ1Y3QgZGF2aW5jaV9pMmNfZGV2ICpkZXYpCit7CisJdTE2IHcgPSBkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcpOworCXcgfD0gREFWSU5DSV9JMkNfTURSX05BQ0s7CisJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRywgdyk7CisKKwkvKiBUaHJvdyBhd2F5IGRhdGEgKi8KKwlkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX0RSUl9SRUcpOworCWlmICghZGV2LT50ZXJtaW5hdGUpCisJCWRldl9lcnIoZGV2LT5kZXYsICJSRFIgSVJRIHdoaWxlIG5vIGRhdGEgcmVxdWVzdGVkXG4iKTsKK30KK3N0YXRpYyB2b2lkIHRlcm1pbmF0ZV93cml0ZShzdHJ1Y3QgZGF2aW5jaV9pMmNfZGV2ICpkZXYpCit7CisJdTE2IHcgPSBkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcpOworCXcgfD0gREFWSU5DSV9JMkNfTURSX1JNIHwgREFWSU5DSV9JMkNfTURSX1NUUDsKKwlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHLCB3KTsKKworCWlmICghZGV2LT50ZXJtaW5hdGUpCisJCWRldl9lcnIoZGV2LT5kZXYsICJURFIgSVJRIHdoaWxlIG5vIGRhdGEgdG8gc2VuZFxuIik7Cit9CisKIC8qCiAgKiBJbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLiBUaGlzIGdldHMgY2FsbGVkIHdoZW5ldmVyIGFuIEkyQyBpbnRlcnJ1cHQKICAqIG9jY3Vycy4KQEAgLTM3MiwxMiArNDExLDE1IEBACiAKIAkJc3dpdGNoIChzdGF0KSB7CiAJCWNhc2UgREFWSU5DSV9JMkNfSVZSX0FMOgorCQkJLyogQXJiaXRyYXRpb24gbG9zdCwgbXVzdCByZXRyeSAqLwogCQkJZGV2LT5jbWRfZXJyIHw9IERBVklOQ0lfSTJDX1NUUl9BTDsKKwkJCWRldi0+YnVmX2xlbiA9IDA7CiAJCQljb21wbGV0ZSgmZGV2LT5jbWRfY29tcGxldGUpOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBEQVZJTkNJX0kyQ19JVlJfTkFDSzoKIAkJCWRldi0+Y21kX2VyciB8PSBEQVZJTkNJX0kyQ19TVFJfTkFDSzsKKwkJCWRldi0+YnVmX2xlbiA9IDA7CiAJCQljb21wbGV0ZSgmZGV2LT5jbWRfY29tcGxldGUpOwogCQkJYnJlYWs7CiAKQEAgLTM5OSw5ICs0NDEsMTAgQEAKIAkJCQlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LAogCQkJCQlEQVZJTkNJX0kyQ19TVFJfUkVHLAogCQkJCQlEQVZJTkNJX0kyQ19JTVJfUlJEWSk7Ci0JCQl9IGVsc2UKLQkJCQlkZXZfZXJyKGRldi0+ZGV2LCAiUkRSIElSUSB3aGlsZSBubyAiCi0JCQkJCSJkYXRhIHJlcXVlc3RlZFxuIik7CisJCQl9IGVsc2UgeworCQkJCS8qIHNpZ25hbCBjYW4gdGVybWluYXRlIHRyYW5zZmVyICovCisJCQkJdGVybWluYXRlX3JlYWQoZGV2KTsKKwkJCX0KIAkJCWJyZWFrOwogCiAJCWNhc2UgREFWSU5DSV9JMkNfSVZSX1hSRFk6CkBAIC00MTgsOSArNDYxLDEwIEBACiAJCQkJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwKIAkJCQkJCSAgICAgIERBVklOQ0lfSTJDX0lNUl9SRUcsCiAJCQkJCQkgICAgICB3KTsKLQkJCX0gZWxzZQotCQkJCWRldl9lcnIoZGV2LT5kZXYsICJURFIgSVJRIHdoaWxlIG5vIGRhdGEgdG8gIgotCQkJCQkic2VuZFxuIik7CisJCQl9IGVsc2UgeworCQkJCS8qIHNpZ25hbCBjYW4gdGVybWluYXRlIHRyYW5zZmVyICovCisJCQkJdGVybWluYXRlX3dyaXRlKGRldik7CisJCQl9CiAJCQlicmVhazsKIAogCQljYXNlIERBVklOQ0lfSTJDX0lWUl9TQ0Q6CkBAIC00NzUsNiArNTE5LDcgQEAKIAkJZ290byBlcnJfcmVsZWFzZV9yZWdpb247CiAJfQogCisJaW5pdF9jb21wbGV0aW9uKCZkZXYtPmNtZF9jb21wbGV0ZSk7CiAJZGV2LT5kZXYgPSBnZXRfZGV2aWNlKCZwZGV2LT5kZXYpOwogCWRldi0+aXJxID0gaXJxLT5zdGFydDsKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWVsZWt0b3IuYwppbmRleCBiN2E5OTc3Li43ZjM4YzAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWVsZWt0b3IuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWVsZWt0b3IuYwpAQCAtMTk2LDEzICsxOTYsMTEgQEAKIAkuZ2V0b3duCSAgICA9IHBjZl9pc2FfZ2V0b3duLAogCS5nZXRjbG9jayAgID0gcGNmX2lzYV9nZXRjbG9jaywKIAkud2FpdGZvcnBpbiA9IHBjZl9pc2Ffd2FpdGZvcnBpbiwKLQkudWRlbGF5CSAgICA9IDEwLAotCS50aW1lb3V0ICAgID0gMTAwLAogfTsKIAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBwY2ZfaXNhX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuaWQJCT0gSTJDX0hXX1BfRUxFSywKIAkuYWxnb19kYXRhCT0gJnBjZl9pc2FfZGF0YSwKIAkubmFtZQkJPSAiaTJjLWVsZWt0b3IiLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ncGlvLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWdwaW8uYwppbmRleCA3YzFiNzYyLi43OWI0NTVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWdwaW8uYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWdwaW8uYwpAQCAtMTQwLDcgKzE0MCw3IEBACiAJYWRhcC0+b3duZXIgPSBUSElTX01PRFVMRTsKIAlzbnByaW50ZihhZGFwLT5uYW1lLCBzaXplb2YoYWRhcC0+bmFtZSksICJpMmMtZ3BpbyVkIiwgcGRldi0+aWQpOwogCWFkYXAtPmFsZ29fZGF0YSA9IGJpdF9kYXRhOwotCWFkYXAtPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCWFkYXAtPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlhZGFwLT5kZXYucGFyZW50ID0gJnBkZXYtPmRldjsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMKaW5kZXggZjk5NzJmOS4uMTA5OGYyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1oeWRyYS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaHlkcmEuYwpAQCAtMSw3ICsxLDQgQEAKIC8qCi0gICAgaTJjLWh5ZHJhLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsICBMaW51eCBrZXJuZWwgbW9kdWxlcwotICAgICAgICAgICAgICAgICAgZm9yIGhhcmR3YXJlIG1vbml0b3JpbmcKLQogICAgIGkyYyBTdXBwb3J0IGZvciB0aGUgQXBwbGUgYEh5ZHJhJyBNYWMgSS9PCiAKICAgICBDb3B5cmlnaHQgKGMpIDE5OTktMjAwNCBHZWVydCBVeXR0ZXJob2V2ZW4gPGdlZXJ0QGxpbnV4LW02OGsub3JnPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODAxLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEuYwppbmRleCBiMGY3NzFmLi5kYzdlYTMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEuYwpAQCAtMSwxMCArMSw4IEBACiAvKgotICAgIGkyYy1pODAxLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4IC0gMjAwMiAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCBhbmQgTWFyayBELiBTdHVkZWJha2VyCiAgICAgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0gICAgQ29weXJpZ2h0IChDKSAyMDA3ICAgICAgICAgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4ICAgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CiAKICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CkBAIC02NCw2ICs2Miw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogSTgwMSBTTUJ1cyBhZGRyZXNzIG9mZnNldHMgKi8KQEAgLTEyMSw2ICsxMjAsMTAgQEAKICNkZWZpbmUgU01CSFNUU1RTX0lOVFIJCTB4MDIKICNkZWZpbmUgU01CSFNUU1RTX0hPU1RfQlVTWQkweDAxCiAKKyNkZWZpbmUgU1RBVFVTX0ZMQUdTCQkoU01CSFNUU1RTX0JZVEVfRE9ORSB8IFNNQkhTVFNUU19GQUlMRUQgfCBcCisJCQkJIFNNQkhTVFNUU19CVVNfRVJSIHwgU01CSFNUU1RTX0RFVl9FUlIgfCBcCisJCQkJIFNNQkhTVFNUU19JTlRSKQorCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBpODAxX3NtYmE7CiBzdGF0aWMgdW5zaWduZWQgY2hhciBpODAxX29yaWdpbmFsX2hzdGNmZzsKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBpODAxX2RyaXZlcjsKQEAgLTEzMiwzMSArMTM1LDk2IEBACiAjZGVmaW5lIEZFQVRVUkVfSTJDX0JMT0NLX1JFQUQJKDEgPDwgMykKIHN0YXRpYyB1bnNpZ25lZCBpbnQgaTgwMV9mZWF0dXJlczsKIAotc3RhdGljIGludCBpODAxX3RyYW5zYWN0aW9uKGludCB4YWN0KQorLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIHJlYWR5IHRvIHN0YXJ0IHRyYW5zbWl0dGluZy4KKyAgIFJldHVybiAwIGlmIGl0IGlzLCAtRUJVU1kgaWYgaXQgaXMgbm90LiAqLworc3RhdGljIGludCBpODAxX2NoZWNrX3ByZSh2b2lkKQogewotCWludCB0ZW1wOwotCWludCByZXN1bHQgPSAwOwotCWludCB0aW1lb3V0ID0gMDsKKwlpbnQgc3RhdHVzOwogCi0JZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlRyYW5zYWN0aW9uIChwcmUpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKLQkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwgaW5iX3AoU01CSFNUQ05UKSwKLQkJaW5iX3AoU01CSFNUQ01EKSwgaW5iX3AoU01CSFNUQUREKSwgaW5iX3AoU01CSFNUREFUMCksCi0JCWluYl9wKFNNQkhTVERBVDEpKTsKKwlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOworCWlmIChzdGF0dXMgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKSB7CisJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsICJTTUJ1cyBpcyBidXN5LCBjYW4ndCB1c2UgaXQhXG4iKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKLQkvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgcmVhZHkgdG8gc3RhcnQgdHJhbnNtaXR0aW5nICovCi0JLyogMHgxZiA9IEZhaWxlZCwgQnVzX0VyciwgRGV2X0VyciwgSW50ciwgSG9zdF9CdXN5ICovCi0JaWYgKCh0ZW1wID0gKDB4MWYgJiBpbmJfcChTTUJIU1RTVFMpKSkgIT0gMHgwMCkgewotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgYnVzeSAoJTAyeCkuIFJlc2V0dGluZy4uLlxuIiwKLQkJCXRlbXApOwotCQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsKLQkJaWYgKCh0ZW1wID0gKDB4MWYgJiBpbmJfcChTTUJIU1RTVFMpKSkgIT0gMHgwMCkgewotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkZhaWxlZCEgKCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKLQkJfSBlbHNlIHsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJTdWNjZXNzZnVsIVxuIik7CisJc3RhdHVzICY9IFNUQVRVU19GTEFHUzsKKwlpZiAoc3RhdHVzKSB7CisJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJDbGVhcmluZyBzdGF0dXMgZmxhZ3MgKCUwMngpXG4iLAorCQkJc3RhdHVzKTsKKwkJb3V0Yl9wKHN0YXR1cywgU01CSFNUU1RTKTsKKwkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKSAmIFNUQVRVU19GTEFHUzsKKwkJaWYgKHN0YXR1cykgeworCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwKKwkJCQkiRmFpbGVkIGNsZWFyaW5nIHN0YXR1cyBmbGFncyAoJTAyeClcbiIsCisJCQkJc3RhdHVzKTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0KIAl9CiAKKwlyZXR1cm4gMDsKK30KKworLyogQ29udmVydCB0aGUgc3RhdHVzIHJlZ2lzdGVyIHRvIGFuIGVycm9yIGNvZGUsIGFuZCBjbGVhciBpdC4gKi8KK3N0YXRpYyBpbnQgaTgwMV9jaGVja19wb3N0KGludCBzdGF0dXMsIGludCB0aW1lb3V0KQoreworCWludCByZXN1bHQgPSAwOworCisJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KKwlpZiAodGltZW91dCkgeworCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiVHJhbnNhY3Rpb24gdGltZW91dFxuIik7CisJCS8qIHRyeSB0byBzdG9wIHRoZSBjdXJyZW50IGNvbW1hbmQgKi8KKwkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlRlcm1pbmF0aW5nIHRoZSBjdXJyZW50IG9wZXJhdGlvblxuIik7CisJCW91dGJfcChpbmJfcChTTUJIU1RDTlQpIHwgU01CSFNUQ05UX0tJTEwsIFNNQkhTVENOVCk7CisJCW1zbGVlcCgxKTsKKwkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgJiAoflNNQkhTVENOVF9LSUxMKSwgU01CSFNUQ05UKTsKKworCQkvKiBDaGVjayBpZiBpdCB3b3JrZWQgKi8KKwkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKTsKKwkJaWYgKChzdGF0dXMgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKSB8fAorCQkgICAgIShzdGF0dXMgJiBTTUJIU1RTVFNfRkFJTEVEKSkKKwkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCisJCQkJIkZhaWxlZCB0ZXJtaW5hdGluZyB0aGUgdHJhbnNhY3Rpb25cbiIpOworCQlvdXRiX3AoU1RBVFVTX0ZMQUdTLCBTTUJIU1RTVFMpOworCQlyZXR1cm4gLUVUSU1FRE9VVDsKKwl9CisKKwlpZiAoc3RhdHVzICYgU01CSFNUU1RTX0ZBSUxFRCkgeworCQlyZXN1bHQgPSAtRUlPOworCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiVHJhbnNhY3Rpb24gZmFpbGVkXG4iKTsKKwl9CisJaWYgKHN0YXR1cyAmIFNNQkhTVFNUU19ERVZfRVJSKSB7CisJCXJlc3VsdCA9IC1FTlhJTzsKKwkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIk5vIHJlc3BvbnNlXG4iKTsKKwl9CisJaWYgKHN0YXR1cyAmIFNNQkhTVFNUU19CVVNfRVJSKSB7CisJCXJlc3VsdCA9IC1FQUdBSU47CisJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJMb3N0IGFyYml0cmF0aW9uXG4iKTsKKwl9CisKKwlpZiAocmVzdWx0KSB7CisJCS8qIENsZWFyIGVycm9yIGZsYWdzICovCisJCW91dGJfcChzdGF0dXMgJiBTVEFUVVNfRkxBR1MsIFNNQkhTVFNUUyk7CisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUykgJiBTVEFUVVNfRkxBR1M7CisJCWlmIChzdGF0dXMpIHsKKwkJCWRldl93YXJuKCZJODAxX2Rldi0+ZGV2LCAiRmFpbGVkIGNsZWFyaW5nIHN0YXR1cyAiCisJCQkJICJmbGFncyBhdCBlbmQgb2YgdHJhbnNhY3Rpb24gKCUwMngpXG4iLAorCQkJCSBzdGF0dXMpOworCQl9CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludCBpODAxX3RyYW5zYWN0aW9uKGludCB4YWN0KQoreworCWludCBzdGF0dXM7CisJaW50IHJlc3VsdDsKKwlpbnQgdGltZW91dCA9IDA7CisKKwlyZXN1bHQgPSBpODAxX2NoZWNrX3ByZSgpOworCWlmIChyZXN1bHQgPCAwKQorCQlyZXR1cm4gcmVzdWx0OworCiAJLyogdGhlIGN1cnJlbnQgY29udGVudHMgb2YgU01CSFNUQ05UIGNhbiBiZSBvdmVyd3JpdHRlbiwgc2luY2UgUEVDLAogCSAqIElOVFJFTiwgU01CU0NNRCBhcmUgcGFzc2VkIGluIHhhY3QgKi8KIAlvdXRiX3AoeGFjdCB8IEk4MDFfU1RBUlQsIFNNQkhTVENOVCk7CkBAIC0xNjQsNzMgKzIzMiw0MCBAQAogCS8qIFdlIHdpbGwgYWx3YXlzIHdhaXQgZm9yIGEgZnJhY3Rpb24gb2YgYSBzZWNvbmQhICovCiAJZG8gewogCQltc2xlZXAoMSk7Ci0JCXRlbXAgPSBpbmJfcChTTUJIU1RTVFMpOwotCX0gd2hpbGUgKCh0ZW1wICYgU01CSFNUU1RTX0hPU1RfQlVTWSkgJiYgKHRpbWVvdXQrKyA8IE1BWF9USU1FT1VUKSk7CisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUyk7CisJfSB3aGlsZSAoKHN0YXR1cyAmIFNNQkhTVFNUU19IT1NUX0JVU1kpICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOwogCi0JLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KLQlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKLQkJLyogdHJ5IHRvIHN0b3AgdGhlIGN1cnJlbnQgY29tbWFuZCAqLwotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiVGVybWluYXRpbmcgdGhlIGN1cnJlbnQgb3BlcmF0aW9uXG4iKTsKLQkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgfCBTTUJIU1RDTlRfS0lMTCwgU01CSFNUQ05UKTsKLQkJbXNsZWVwKDEpOwotCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSAmICh+U01CSFNUQ05UX0tJTEwpLCBTTUJIU1RDTlQpOwotCX0KKwlyZXN1bHQgPSBpODAxX2NoZWNrX3Bvc3Qoc3RhdHVzLCB0aW1lb3V0ID49IE1BWF9USU1FT1VUKTsKKwlpZiAocmVzdWx0IDwgMCkKKwkJcmV0dXJuIHJlc3VsdDsKIAotCWlmICh0ZW1wICYgU01CSFNUU1RTX0ZBSUxFRCkgewotCQlyZXN1bHQgPSAtMTsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKLQl9Ci0KLQlpZiAodGVtcCAmIFNNQkhTVFNUU19CVVNfRVJSKSB7Ci0JCXJlc3VsdCA9IC0xOwotCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiQnVzIGNvbGxpc2lvbiEgU01CdXMgbWF5IGJlIGxvY2tlZCAiCi0JCQkidW50aWwgbmV4dCBoYXJkIHJlc2V0LiAoc29ycnkhKVxuIik7Ci0JCS8qIENsb2NrIHN0b3BzIGFuZCBzbGF2ZSBpcyBzdHVjayBpbiBtaWQtdHJhbnNtaXNzaW9uICovCi0JfQotCi0JaWYgKHRlbXAgJiBTTUJIU1RTVFNfREVWX0VSUikgewotCQlyZXN1bHQgPSAtMTsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkVycm9yOiBubyByZXNwb25zZSFcbiIpOwotCX0KLQotCWlmICgoaW5iX3AoU01CSFNUU1RTKSAmIDB4MWYpICE9IDB4MDApCi0JCW91dGJfcChpbmIoU01CSFNUU1RTKSwgU01CSFNUU1RTKTsKLQotCWlmICgodGVtcCA9ICgweDFmICYgaW5iX3AoU01CSFNUU1RTKSkpICE9IDB4MDApIHsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkZhaWxlZCByZXNldCBhdCBlbmQgb2YgdHJhbnNhY3Rpb24gIgotCQkJIiglMDJ4KVxuIiwgdGVtcCk7Ci0JfQotCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUcmFuc2FjdGlvbiAocG9zdCk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgotCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLCBpbmJfcChTTUJIU1RDTlQpLAotCQlpbmJfcChTTUJIU1RDTUQpLCBpbmJfcChTTUJIU1RBREQpLCBpbmJfcChTTUJIU1REQVQwKSwKLQkJaW5iX3AoU01CSFNUREFUMSkpOwotCXJldHVybiByZXN1bHQ7CisJb3V0Yl9wKFNNQkhTVFNUU19JTlRSLCBTTUJIU1RTVFMpOworCXJldHVybiAwOwogfQogCiAvKiB3YWl0IGZvciBJTlRSIGJpdCBhcyBhZHZpc2VkIGJ5IEludGVsICovCiBzdGF0aWMgdm9pZCBpODAxX3dhaXRfaHdwZWModm9pZCkKIHsKIAlpbnQgdGltZW91dCA9IDA7Ci0JaW50IHRlbXA7CisJaW50IHN0YXR1czsKIAogCWRvIHsKIAkJbXNsZWVwKDEpOwotCQl0ZW1wID0gaW5iX3AoU01CSFNUU1RTKTsKLQl9IHdoaWxlICgoISh0ZW1wICYgU01CSFNUU1RTX0lOVFIpKQorCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOworCX0gd2hpbGUgKCghKHN0YXR1cyAmIFNNQkhTVFNUU19JTlRSKSkKIAkJICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOwogCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlBFQyBUaW1lb3V0IVxuIik7CiAJfQotCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOworCW91dGJfcChzdGF0dXMsIFNNQkhTVFNUUyk7CiB9CiAKIHN0YXRpYyBpbnQgaTgwMV9ibG9ja190cmFuc2FjdGlvbl9ieV9ibG9jayh1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSwKIAkJCQkJICAgY2hhciByZWFkX3dyaXRlLCBpbnQgaHdwZWMpCiB7CiAJaW50IGksIGxlbjsKKwlpbnQgc3RhdHVzOwogCiAJaW5iX3AoU01CSFNUQ05UKTsgLyogcmVzZXQgdGhlIGRhdGEgYnVmZmVyIGluZGV4ICovCiAKQEAgLTI0MiwxNCArMjc3LDE1IEBACiAJCQlvdXRiX3AoZGF0YS0+YmxvY2tbaSsxXSwgU01CQkxLREFUKTsKIAl9CiAKLQlpZiAoaTgwMV90cmFuc2FjdGlvbihJODAxX0JMT0NLX0RBVEEgfCBFTkFCTEVfSU5UOSB8Ci0JCQkgICAgIEk4MDFfUEVDX0VOICogaHdwZWMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gaTgwMV90cmFuc2FjdGlvbihJODAxX0JMT0NLX0RBVEEgfCBFTkFCTEVfSU5UOSB8CisJCQkJICBJODAxX1BFQ19FTiAqIGh3cGVjKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1JFQUQpIHsKIAkJbGVuID0gaW5iX3AoU01CSFNUREFUMCk7CiAJCWlmIChsZW4gPCAxIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpCi0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVQUk9UTzsKIAogCQlkYXRhLT5ibG9ja1swXSA9IGxlbjsKIAkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQpAQCAtMjY0LDEwICszMDAsMTMgQEAKIHsKIAlpbnQgaSwgbGVuOwogCWludCBzbWJjbWQ7Ci0JaW50IHRlbXA7Ci0JaW50IHJlc3VsdCA9IDA7CisJaW50IHN0YXR1czsKKwlpbnQgcmVzdWx0OwogCWludCB0aW1lb3V0OwotCXVuc2lnbmVkIGNoYXIgZXJybWFzazsKKworCXJlc3VsdCA9IGk4MDFfY2hlY2tfcHJlKCk7CisJaWYgKHJlc3VsdCA8IDApCisJCXJldHVybiByZXN1bHQ7CiAKIAlsZW4gPSBkYXRhLT5ibG9ja1swXTsKIApAQCAtMjkxLDM2ICszMzAsNiBAQAogCQl9CiAJCW91dGJfcChzbWJjbWQgfCBFTkFCTEVfSU5UOSwgU01CSFNUQ05UKTsKIAotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiQmxvY2sgKHByZSAlZCk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgotCQkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeCwgQkxLREFUPSUwMnhcbiIsIGksCi0JCQlpbmJfcChTTUJIU1RDTlQpLCBpbmJfcChTTUJIU1RDTUQpLCBpbmJfcChTTUJIU1RBREQpLAotCQkJaW5iX3AoU01CSFNUREFUMCksIGluYl9wKFNNQkhTVERBVDEpLCBpbmJfcChTTUJCTEtEQVQpKTsKLQotCQkvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgcmVhZHkgdG8gc3RhcnQgdHJhbnNtaXR0aW5nICovCi0JCXRlbXAgPSBpbmJfcChTTUJIU1RTVFMpOwotCQlpZiAoaSA9PSAxKSB7Ci0JCQkvKiBFcnJvbmVvdXMgY29uZGl0aW9ucyBiZWZvcmUgdHJhbnNhY3Rpb246Ci0JCQkgKiBCeXRlX0RvbmUsIEZhaWxlZCwgQnVzX0VyciwgRGV2X0VyciwgSW50ciwgSG9zdF9CdXN5ICovCi0JCQllcnJtYXNrID0gMHg5ZjsKLQkJfSBlbHNlIHsKLQkJCS8qIEVycm9uZW91cyBjb25kaXRpb25zIGR1cmluZyB0cmFuc2FjdGlvbjoKLQkJCSAqIEZhaWxlZCwgQnVzX0VyciwgRGV2X0VyciwgSW50ciAqLwotCQkJZXJybWFzayA9IDB4MWU7Ci0JCX0KLQkJaWYgKHRlbXAgJiBlcnJtYXNrKSB7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgYnVzeSAoJTAyeCkuICIKLQkJCQkiUmVzZXR0aW5nLi4uXG4iLCB0ZW1wKTsKLQkJCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOwotCQkJaWYgKCgodGVtcCA9IGluYl9wKFNNQkhTVFNUUykpICYgZXJybWFzaykgIT0gMHgwMCkgewotCQkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCi0JCQkJCSJSZXNldCBmYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQkJcmV0dXJuIC0xOwotCQkJfQotCQkJaWYgKGkgIT0gMSkKLQkJCQkvKiBpZiBkaWUgaW4gbWlkZGxlIG9mIGJsb2NrIHRyYW5zYWN0aW9uLCBmYWlsICovCi0JCQkJcmV0dXJuIC0xOwotCQl9Ci0KIAkJaWYgKGkgPT0gMSkKIAkJCW91dGJfcChpbmIoU01CSFNUQ05UKSB8IEk4MDFfU1RBUlQsIFNNQkhTVENOVCk7CiAKQEAgLTMyOCw0MSArMzM3LDI4IEBACiAJCXRpbWVvdXQgPSAwOwogCQlkbyB7CiAJCQltc2xlZXAoMSk7Ci0JCQl0ZW1wID0gaW5iX3AoU01CSFNUU1RTKTsKKwkJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUyk7CiAJCX0KLQkJd2hpbGUgKCghKHRlbXAgJiBTTUJIU1RTVFNfQllURV9ET05FKSkKKwkJd2hpbGUgKCghKHN0YXR1cyAmIFNNQkhTVFNUU19CWVRFX0RPTkUpKQogCQkgICAgICAgJiYgKHRpbWVvdXQrKyA8IE1BWF9USU1FT1VUKSk7CiAKLQkJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KLQkJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJCS8qIHRyeSB0byBzdG9wIHRoZSBjdXJyZW50IGNvbW1hbmQgKi8KLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUZXJtaW5hdGluZyB0aGUgY3VycmVudCAiCi0JCQkJCQkib3BlcmF0aW9uXG4iKTsKLQkJCW91dGJfcChpbmJfcChTTUJIU1RDTlQpIHwgU01CSFNUQ05UX0tJTEwsIFNNQkhTVENOVCk7Ci0JCQltc2xlZXAoMSk7Ci0JCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSAmICh+U01CSFNUQ05UX0tJTEwpLAotCQkJCVNNQkhTVENOVCk7Ci0JCQlyZXN1bHQgPSAtMTsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7Ci0JCX0KLQotCQlpZiAodGVtcCAmIFNNQkhTVFNUU19GQUlMRUQpIHsKLQkJCXJlc3VsdCA9IC0xOwotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwKLQkJCQkiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwotCQl9IGVsc2UgaWYgKHRlbXAgJiBTTUJIU1RTVFNfQlVTX0VSUikgewotCQkJcmVzdWx0ID0gLTE7Ci0JCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiQnVzIGNvbGxpc2lvbiFcbiIpOwotCQl9IGVsc2UgaWYgKHRlbXAgJiBTTUJIU1RTVFNfREVWX0VSUikgewotCQkJcmVzdWx0ID0gLTE7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiRXJyb3I6IG5vIHJlc3BvbnNlIVxuIik7Ci0JCX0KKwkJcmVzdWx0ID0gaTgwMV9jaGVja19wb3N0KHN0YXR1cywgdGltZW91dCA+PSBNQVhfVElNRU9VVCk7CisJCWlmIChyZXN1bHQgPCAwKQorCQkJcmV0dXJuIHJlc3VsdDsKIAogCQlpZiAoaSA9PSAxICYmIHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1JFQUQKIAkJICYmIGNvbW1hbmQgIT0gSTJDX1NNQlVTX0kyQ19CTE9DS19EQVRBKSB7CiAJCQlsZW4gPSBpbmJfcChTTUJIU1REQVQwKTsKLQkJCWlmIChsZW4gPCAxIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpCi0JCQkJcmV0dXJuIC0xOworCQkJaWYgKGxlbiA8IDEgfHwgbGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCkgeworCQkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCisJCQkJCSJJbGxlZ2FsIFNNQnVzIGJsb2NrIHJlYWQgc2l6ZSAlZFxuIiwKKwkJCQkJbGVuKTsKKwkJCQkvKiBSZWNvdmVyICovCisJCQkJd2hpbGUgKGluYl9wKFNNQkhTVFNUUykgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKQorCQkJCQlvdXRiX3AoU01CSFNUU1RTX0JZVEVfRE9ORSwgU01CSFNUU1RTKTsKKwkJCQlvdXRiX3AoU01CSFNUU1RTX0lOVFIsIFNNQkhTVFNUUyk7CisJCQkJcmV0dXJuIC1FUFJPVE87CisJCQl9CiAJCQlkYXRhLT5ibG9ja1swXSA9IGxlbjsKIAkJfQogCkBAIC0zNzEsMzAgKzM2NywxOSBAQAogCQkJZGF0YS0+YmxvY2tbaV0gPSBpbmJfcChTTUJCTEtEQVQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUgJiYgaSsxIDw9IGxlbikKIAkJCW91dGJfcChkYXRhLT5ibG9ja1tpKzFdLCBTTUJCTEtEQVQpOwotCQlpZiAoKHRlbXAgJiAweDllKSAhPSAweDAwKQotCQkJb3V0Yl9wKHRlbXAsIFNNQkhTVFNUUyk7ICAvKiBzaWduYWxzIFNNQkJMS0RBVCByZWFkeSAqLwogCi0JCWlmICgodGVtcCA9ICgweDFlICYgaW5iX3AoU01CSFNUU1RTKSkpICE9IDB4MDApIHsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsCi0JCQkJIkJhZCBzdGF0dXMgKCUwMngpIGF0IGVuZCBvZiB0cmFuc2FjdGlvblxuIiwKLQkJCQl0ZW1wKTsKLQkJfQotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiQmxvY2sgKHBvc3QgJWQpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKLQkJCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMngsIEJMS0RBVD0lMDJ4XG4iLCBpLAotCQkJaW5iX3AoU01CSFNUQ05UKSwgaW5iX3AoU01CSFNUQ01EKSwgaW5iX3AoU01CSFNUQUREKSwKLQkJCWluYl9wKFNNQkhTVERBVDApLCBpbmJfcChTTUJIU1REQVQxKSwgaW5iX3AoU01CQkxLREFUKSk7Ci0KLQkJaWYgKHJlc3VsdCA8IDApCi0JCQlyZXR1cm4gcmVzdWx0OworCQkvKiBzaWduYWxzIFNNQkJMS0RBVCByZWFkeSAqLworCQlvdXRiX3AoU01CSFNUU1RTX0JZVEVfRE9ORSB8IFNNQkhTVFNUU19JTlRSLCBTTUJIU1RTVFMpOwogCX0KLQlyZXR1cm4gcmVzdWx0OworCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgaTgwMV9zZXRfYmxvY2tfYnVmZmVyX21vZGUodm9pZCkKIHsKIAlvdXRiX3AoaW5iX3AoU01CQVVYQ1RMKSB8IFNNQkFVWENUTF9FMzJCLCBTTUJBVVhDVEwpOwogCWlmICgoaW5iX3AoU01CQVVYQ1RMKSAmIFNNQkFVWENUTF9FMzJCKSA9PSAwKQotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUlPOwogCXJldHVybiAwOwogfQogCkBAIC00MTQsNyArMzk5LDcgQEAKIAkJfSBlbHNlIGlmICghKGk4MDFfZmVhdHVyZXMgJiBGRUFUVVJFX0kyQ19CTE9DS19SRUFEKSkgewogCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwKIAkJCQkiSTJDIGJsb2NrIHJlYWQgaXMgdW5zdXBwb3J0ZWQhXG4iKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRU9QTk9UU1VQUDsKIAkJfQogCX0KIApAQCAtNDQ5LDcgKzQzNCw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBpODAxX2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCB1MTYgYWRkciwKIAkJICAgICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsCiAJCSAgICAgICBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQpAQCAtNTExLDEwICs0OTYsOSBAQAogCQkJb3V0Yl9wKGNvbW1hbmQsIFNNQkhTVENNRCk7CiAJCWJsb2NrID0gMTsKIAkJYnJlYWs7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgogCWRlZmF1bHQ6CiAJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCWlmIChod3BlYykJLyogZW5hYmxlL2Rpc2FibGUgaGFyZHdhcmUgUEVDICovCkBAIC01MzcsNyArNTIxLDcgQEAKIAlpZihibG9jaykKIAkJcmV0dXJuIHJldDsKIAlpZihyZXQpCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIHJldDsKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoeGFjdCA9PSBJODAxX1FVSUNLKSkKIAkJcmV0dXJuIDA7CiAKQEAgLTU3Miw3ICs1NTYsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBpODAxX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfSTgwMSwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCkBAIC02MzksNiArNjIzLDEwIEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKKwllcnIgPSBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KCZkZXYtPnJlc291cmNlW1NNQkJBUl0pOworCWlmIChlcnIpCisJCWdvdG8gZXhpdDsKKwogCWVyciA9IHBjaV9yZXF1ZXN0X3JlZ2lvbihkZXYsIFNNQkJBUiwgaTgwMV9kcml2ZXIubmFtZSk7CiAJaWYgKGVycikgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIkZhaWxlZCB0byByZXF1ZXN0IFNNQnVzIHJlZ2lvbiAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MTAuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgxMC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MmU4ZDk0Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgxMC5jCisrKyAvZGV2L251bGwKQEAgLTEsMjYwICswLDAgQEAKLS8qCi0gICAgaTJjLWk4MTAuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKLSAgICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTksIDIwMDAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCi0gICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwKLSAgICBSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+LCBhbmQKLSAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0gICAgCi0gICAgQmFzZWQgb24gY29kZSB3cml0dGVuIGJ5IFJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4gYW5kCi0gICAgU2ltb24gVm9nbAotCi0gICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0qLwotLyoKLSAgIFRoaXMgaW50ZXJmYWNlcyB0byB0aGUgSTgxMC9JODE1IHRvIHByb3ZpZGUgYWNjZXNzIHRvCi0gICB0aGUgRERDIEJ1cyBhbmQgdGhlIEkyQyBCdXMuCi0KLSAgIFNVUFBPUlRFRCBERVZJQ0VTCVBDSSBJRAotICAgaTgxMEFBCQk3MTIxICAgICAgICAgICAKLSAgIGk4MTBBQgkJNzEyMyAgICAgICAgICAgCi0gICBpODEwRQkJNzEyNSAgICAgICAgICAgCi0gICBpODE1CQkJMTEzMiAgICAgICAgICAgCi0gICBpODQ1RwkJMjU2MgotKi8KLQotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMtYWxnby1iaXQuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLQotLyogR1BJTyByZWdpc3RlciBsb2NhdGlvbnMgKi8KLSNkZWZpbmUgSTgxMF9JT0NPTlRST0xfT0ZGU0VUCTB4NTAwMAotI2RlZmluZSBJODEwX0hWU1lOQwkJMHgwMAkvKiBub3QgdXNlZCAqLwotI2RlZmluZSBJODEwX0dQSU9BCQkweDEwCi0jZGVmaW5lIEk4MTBfR1BJT0IJCTB4MTQKLQotLyogYml0IGxvY2F0aW9ucyBpbiB0aGUgcmVnaXN0ZXJzICovCi0jZGVmaW5lIFNDTF9ESVJfTUFTSwkJMHgwMDAxCi0jZGVmaW5lIFNDTF9ESVIJCQkweDAwMDIKLSNkZWZpbmUgU0NMX1ZBTF9NQVNLCQkweDAwMDQKLSNkZWZpbmUgU0NMX1ZBTF9PVVQJCTB4MDAwOAotI2RlZmluZSBTQ0xfVkFMX0lOCQkweDAwMTAKLSNkZWZpbmUgU0RBX0RJUl9NQVNLCQkweDAxMDAKLSNkZWZpbmUgU0RBX0RJUgkJCTB4MDIwMAotI2RlZmluZSBTREFfVkFMX01BU0sJCTB4MDQwMAotI2RlZmluZSBTREFfVkFMX09VVAkJMHgwODAwCi0jZGVmaW5lIFNEQV9WQUxfSU4JCTB4MTAwMAotCi0vKiBpbml0aWFsaXphdGlvbiBzdGF0ZXMgKi8KLSNkZWZpbmUgSU5JVDEJCQkweDEKLSNkZWZpbmUgSU5JVDIJCQkweDIKLSNkZWZpbmUgSU5JVDMJCQkweDQKLQotLyogZGVsYXlzICovCi0jZGVmaW5lIENZQ0xFX0RFTEFZCQkxMAotI2RlZmluZSBUSU1FT1VUCQkJKEhaIC8gMikKLQotc3RhdGljIHZvaWQgX19pb21lbSAqaW9hZGRyOwotCi0vKiBUaGUgaTgxMCBHUElPIHJlZ2lzdGVycyBoYXZlIGluZGl2aWR1YWwgbWFza3MgZm9yIGVhY2ggYml0Ci0gICBzbyB3ZSBuZXZlciBoYXZlIHRvIHJlYWQgYmVmb3JlIHdyaXRpbmcuIE5pY2UuICovCi0KLXN0YXRpYyB2b2lkIGJpdF9pODEwaTJjX3NldHNjbCh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotCXdyaXRlbCgodmFsID8gU0NMX1ZBTF9PVVQgOiAwKSB8IFNDTF9ESVIgfCBTQ0xfRElSX01BU0sgfCBTQ0xfVkFMX01BU0ssCi0JICAgICBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQlyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9CKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLXN0YXRpYyB2b2lkIGJpdF9pODEwaTJjX3NldHNkYSh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotIAl3cml0ZWwoKHZhbCA/IFNEQV9WQUxfT1VUIDogMCkgfCBTREFfRElSIHwgU0RBX0RJUl9NQVNLIHwgU0RBX1ZBTF9NQVNLLAotCSAgICAgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0JcmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQik7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi0vKiBUaGUgR1BJTyBwaW5zIGFyZSBvcGVuIGRyYWluLCBzbyB0aGUgcGlucyBjb3VsZCBhbHdheXMgcmVtYWluIG91dHB1dHMuCi0gICBIb3dldmVyLCBzb21lIGNoaXAgdmVyc2lvbnMgZG9uJ3QgbGF0Y2ggdGhlIGlucHV0cyB1bmxlc3MgdGhleQotICAgYXJlIHNldCBhcyBpbnB1dHMuCi0gICBXZSByZWx5IG9uIHRoZSBpMmMtYWxnby1iaXQgcm91dGluZXMgdG8gc2V0IHRoZSBwaW5zIGhpZ2ggYmVmb3JlCi0gICByZWFkaW5nIHRoZSBpbnB1dCBmcm9tIG90aGVyIGNoaXBzLiBGb2xsb3dpbmcgZ3VpZGFuY2UgaW4gdGhlIDgxNQotICAgcHJvZy4gcmVmLiBndWlkZSwgd2UgZG8gYSAiZHVtbXkgd3JpdGUiIG9mIDAgdG8gdGhlIHJlZ2lzdGVyIGJlZm9yZQotICAgcmVhZGluZyB3aGljaCBmb3JjZXMgdGhlIGlucHV0IHZhbHVlIHRvIGJlIGxhdGNoZWQuIFdlIHByZXN1bWUgdGhpcwotICAgYXBwbGllcyB0byB0aGUgODEwIGFzIHdlbGw7IHNob3VsZG4ndCBodXJ0IGFueXdheS4gVGhpcyBpcyBuZWNlc3NhcnkgdG8gZ2V0Ci0gICBpMmNfYWxnb19iaXQgYml0X3Rlc3Q9MSB0byBwYXNzLiAqLwotCi1zdGF0aWMgaW50IGJpdF9pODEwaTJjX2dldHNjbCh2b2lkICpkYXRhKQotewotCXdyaXRlbChTQ0xfRElSX01BU0ssIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXdyaXRlbCgwLCBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0IpICYgU0NMX1ZBTF9JTikpOwotfQotCi1zdGF0aWMgaW50IGJpdF9pODEwaTJjX2dldHNkYSh2b2lkICpkYXRhKQotewotCXdyaXRlbChTREFfRElSX01BU0ssIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXdyaXRlbCgwLCBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0IpICYgU0RBX1ZBTF9JTikpOwotfQotCi1zdGF0aWMgdm9pZCBiaXRfaTgxMGRkY19zZXRzY2wodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLQl3cml0ZWwoKHZhbCA/IFNDTF9WQUxfT1VUIDogMCkgfCBTQ0xfRElSIHwgU0NMX0RJUl9NQVNLIHwgU0NMX1ZBTF9NQVNLLAotCSAgICAgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0JcmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQSk7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi1zdGF0aWMgdm9pZCBiaXRfaTgxMGRkY19zZXRzZGEodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLSAJd3JpdGVsKCh2YWwgPyBTREFfVkFMX09VVCA6IDApIHwgU0RBX0RJUiB8IFNEQV9ESVJfTUFTSyB8IFNEQV9WQUxfTUFTSywKLQkgICAgIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0EpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotc3RhdGljIGludCBiaXRfaTgxMGRkY19nZXRzY2wodm9pZCAqZGF0YSkKLXsKLQl3cml0ZWwoU0NMX0RJUl9NQVNLLCBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQl3cml0ZWwoMCwgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9BKSAmIFNDTF9WQUxfSU4pKTsKLX0KLQotc3RhdGljIGludCBiaXRfaTgxMGRkY19nZXRzZGEodm9pZCAqZGF0YSkKLXsKLQl3cml0ZWwoU0RBX0RJUl9NQVNLLCBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQl3cml0ZWwoMCwgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9BKSAmIFNEQV9WQUxfSU4pKTsKLX0KLQotc3RhdGljIGludCBjb25maWdfaTgxMChzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCXVuc2lnbmVkIGxvbmcgY2FkcjsKLQotCS8qIG1hcCBJODEwIG1lbW9yeSAqLwotCWNhZHIgPSBkZXYtPnJlc291cmNlWzFdLnN0YXJ0OwotCWNhZHIgKz0gSTgxMF9JT0NPTlRST0xfT0ZGU0VUOwotCWNhZHIgJj0gUENJX0JBU0VfQUREUkVTU19NRU1fTUFTSzsKLQlpb2FkZHIgPSBpb3JlbWFwX25vY2FjaGUoY2FkciwgMHgxMDAwKTsKLQlpZiAoaW9hZGRyKSB7Ci0JCWJpdF9pODEwaTJjX3NldHNjbChOVUxMLCAxKTsKLQkJYml0X2k4MTBpMmNfc2V0c2RhKE5VTEwsIDEpOwotCQliaXRfaTgxMGRkY19zZXRzY2woTlVMTCwgMSk7Ci0JCWJpdF9pODEwZGRjX3NldHNkYShOVUxMLCAxKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAtRU5PREVWOwotfQotCi1zdGF0aWMgc3RydWN0IGkyY19hbGdvX2JpdF9kYXRhIGk4MTBfaTJjX2JpdF9kYXRhID0gewotCS5zZXRzZGEJCT0gYml0X2k4MTBpMmNfc2V0c2RhLAotCS5zZXRzY2wJCT0gYml0X2k4MTBpMmNfc2V0c2NsLAotCS5nZXRzZGEJCT0gYml0X2k4MTBpMmNfZ2V0c2RhLAotCS5nZXRzY2wJCT0gYml0X2k4MTBpMmNfZ2V0c2NsLAotCS51ZGVsYXkJCT0gQ1lDTEVfREVMQVksCi0JLnRpbWVvdXQJPSBUSU1FT1VULAotfTsKLQotc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBpODEwX2kyY19hZGFwdGVyID0gewotCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuaWQJCT0gSTJDX0hXX0JfSTgxMCwKLQkubmFtZQkJPSAiSTgxMC9JODE1IEkyQyBBZGFwdGVyIiwKLQkuYWxnb19kYXRhCT0gJmk4MTBfaTJjX2JpdF9kYXRhLAotfTsKLQotc3RhdGljIHN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YSBpODEwX2RkY19iaXRfZGF0YSA9IHsKLQkuc2V0c2RhCQk9IGJpdF9pODEwZGRjX3NldHNkYSwKLQkuc2V0c2NsCQk9IGJpdF9pODEwZGRjX3NldHNjbCwKLQkuZ2V0c2RhCQk9IGJpdF9pODEwZGRjX2dldHNkYSwKLQkuZ2V0c2NsCQk9IGJpdF9pODEwZGRjX2dldHNjbCwKLQkudWRlbGF5CQk9IENZQ0xFX0RFTEFZLAotCS50aW1lb3V0CT0gVElNRU9VVCwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgaTgxMF9kZGNfYWRhcHRlciA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmlkCQk9IEkyQ19IV19CX0k4MTAsCi0JLm5hbWUJCT0gIkk4MTAvSTgxNSBEREMgQWRhcHRlciIsCi0JLmFsZ29fZGF0YQk9ICZpODEwX2RkY19iaXRfZGF0YSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBpODEwX2lkc1tdIF9fZGV2aW5pdGRhdGEgPSB7Ci0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MTBfSUcxKSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODEwX0lHMykgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgxMEVfSUcpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MTVfQ0dDKSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODQ1R19JRykgfSwKLQl7IDAsIH0sCi19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFIChwY2ksIGk4MTBfaWRzKTsKLQotc3RhdGljIGludCBfX2RldmluaXQgaTgxMF9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpCi17Ci0JaW50IHJldHZhbDsKLQotCXJldHZhbCA9IGNvbmZpZ19pODEwKGRldik7Ci0JaWYgKHJldHZhbCkKLQkJcmV0dXJuIHJldHZhbDsKLQlkZXZfaW5mbygmZGV2LT5kZXYsICJpODEwL2k4MTUgaTJjIGRldmljZSBmb3VuZC5cbiIpOwotCi0JLyogc2V0IHVwIHRoZSBzeXNmcyBsaW5rYWdlIHRvIG91ciBwYXJlbnQgZGV2aWNlICovCi0JaTgxMF9pMmNfYWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwotCWk4MTBfZGRjX2FkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKLQotCXJldHZhbCA9IGkyY19iaXRfYWRkX2J1cygmaTgxMF9pMmNfYWRhcHRlcik7Ci0JaWYgKHJldHZhbCkKLQkJcmV0dXJuIHJldHZhbDsKLQlyZXR2YWwgPSBpMmNfYml0X2FkZF9idXMoJmk4MTBfZGRjX2FkYXB0ZXIpOwotCWlmIChyZXR2YWwpCi0JCWkyY19kZWxfYWRhcHRlcigmaTgxMF9pMmNfYWRhcHRlcik7Ci0JcmV0dXJuIHJldHZhbDsKLX0KLQotc3RhdGljIHZvaWQgX19kZXZleGl0IGk4MTBfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0JaTJjX2RlbF9hZGFwdGVyKCZpODEwX2RkY19hZGFwdGVyKTsKLQlpMmNfZGVsX2FkYXB0ZXIoJmk4MTBfaTJjX2FkYXB0ZXIpOwotCWlvdW5tYXAoaW9hZGRyKTsKLX0KLQotc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGk4MTBfZHJpdmVyID0gewotCS5uYW1lCQk9ICJpODEwX3NtYnVzIiwKLQkuaWRfdGFibGUJPSBpODEwX2lkcywKLQkucHJvYmUJCT0gaTgxMF9wcm9iZSwKLQkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKGk4MTBfcmVtb3ZlKSwKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGkyY19pODEwX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gcGNpX3JlZ2lzdGVyX2RyaXZlcigmaTgxMF9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgaTJjX2k4MTBfZXhpdCh2b2lkKQotewotCXBjaV91bnJlZ2lzdGVyX2RyaXZlcigmaTgxMF9kcml2ZXIpOwotfQotCi1NT0RVTEVfQVVUSE9SKCJGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LCAiCi0JCSJQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCAiCi0JCSJSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+LCAiCi0JCSJhbmQgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJJODEwL0k4MTUgSTJDL0REQyBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoaTJjX2k4MTBfaW5pdCk7Ci1tb2R1bGVfZXhpdChpMmNfaTgxMF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pYm1faWljLmMKaW5kZXggODVkYmYzNC4uNjUxZjJmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pYm1faWljLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pYm1faWljLmMKQEAgLTQyLDEzICs0Miw4IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLWlkLmg+Ci0KLSNpZmRlZiBDT05GSUdfSUJNX09DUAotI2luY2x1ZGUgPGFzbS9vY3AuaD4KLSNpbmNsdWRlIDxhc20vaWJtNHh4Lmg+Ci0jZWxzZQogI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+Ci0jZW5kaWYKKyNpbmNsdWRlIDxsaW51eC9vZl9pMmMuaD4KIAogI2luY2x1ZGUgImkyYy1pYm1faWljLmgiCiAKQEAgLTY2NSwxODAgKzY2MCw2IEBACiAJcmV0dXJuICh1OCkoKG9wYiArIDkpIC8gMTAgLSAxKTsKIH0KIAotI2lmZGVmIENPTkZJR19JQk1fT0NQCi0vKgotICogUmVnaXN0ZXIgc2luZ2xlIElJQyBpbnRlcmZhY2UKLSAqLwotc3RhdGljIGludCBfX2RldmluaXQgaWljX3Byb2JlKHN0cnVjdCBvY3BfZGV2aWNlICpvY3ApewotCi0Jc3RydWN0IGlibV9paWNfcHJpdmF0ZSogZGV2OwotCXN0cnVjdCBpMmNfYWRhcHRlciogYWRhcDsKLQlzdHJ1Y3Qgb2NwX2Z1bmNfaWljX2RhdGEqIGlpY19kYXRhID0gb2NwLT5kZWYtPmFkZGl0aW9uczsKLQlpbnQgcmV0OwotCi0JaWYgKCFpaWNfZGF0YSkKLQkJcHJpbnRrKEtFUk5fV0FSTklORyJpYm0taWljJWQ6IG1pc3NpbmcgYWRkaXRpb25hbCBkYXRhIVxuIiwKLQkJCW9jcC0+ZGVmLT5pbmRleCk7Ci0KLQlpZiAoIShkZXYgPSBremFsbG9jKHNpemVvZigqZGV2KSwgR0ZQX0tFUk5FTCkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWJtLWlpYyVkOiBmYWlsZWQgdG8gYWxsb2NhdGUgZGV2aWNlIGRhdGFcbiIsCi0JCQlvY3AtPmRlZi0+aW5kZXgpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQlkZXYtPmlkeCA9IG9jcC0+ZGVmLT5pbmRleDsKLQlvY3Bfc2V0X2RydmRhdGEob2NwLCBkZXYpOwotCi0JaWYgKCFyZXF1ZXN0X21lbV9yZWdpb24ob2NwLT5kZWYtPnBhZGRyLCBzaXplb2Yoc3RydWN0IGlpY19yZWdzKSwKLQkJCQkiaWJtX2lpYyIpKSB7Ci0JCXJldCA9IC1FQlVTWTsKLQkJZ290byBmYWlsMTsKLQl9Ci0KLQlpZiAoIShkZXYtPnZhZGRyID0gaW9yZW1hcChvY3AtPmRlZi0+cGFkZHIsIHNpemVvZihzdHJ1Y3QgaWljX3JlZ3MpKSkpewotCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogZmFpbGVkIHRvIGlvcmVtYXAgZGV2aWNlIHJlZ2lzdGVyc1xuIiwKLQkJCWRldi0+aWR4KTsKLQkJcmV0ID0gLUVOWElPOwotCQlnb3RvIGZhaWwyOwotCX0KLQotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmRldi0+d3EpOwotCi0JZGV2LT5pcnEgPSBpaWNfZm9yY2VfcG9sbCA/IC0xIDogb2NwLT5kZWYtPmlycTsKLQlpZiAoZGV2LT5pcnEgPj0gMCl7Ci0JCS8qIERpc2FibGUgaW50ZXJydXB0cyB1bnRpbCB3ZSBmaW5pc2ggaW5pdGlhbGl6YXRpb24sCi0JCSAgIGFzc3VtZXMgbGV2ZWwtc2Vuc2l0aXZlIElSUSBzZXR1cC4uLgotCQkgKi8KLQkJaWljX2ludGVycnVwdF9tb2RlKGRldiwgMCk7Ci0JCWlmIChyZXF1ZXN0X2lycShkZXYtPmlycSwgaWljX2hhbmRsZXIsIDAsICJJQk0gSUlDIiwgZGV2KSl7Ci0JCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogcmVxdWVzdF9pcnEgJWQgZmFpbGVkXG4iLAotCQkJCWRldi0+aWR4LCBkZXYtPmlycSk7Ci0JCQkvKiBGYWxsYmFjayB0byB0aGUgcG9sbGluZyBtb2RlICovCi0JCQlkZXYtPmlycSA9IC0xOwotCQl9Ci0JfQotCi0JaWYgKGRldi0+aXJxIDwgMCkKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiaWJtLWlpYyVkOiB1c2luZyBwb2xsaW5nIG1vZGVcbiIsCi0JCQlkZXYtPmlkeCk7Ci0KLQkvKiBCb2FyZCBzcGVjaWZpYyBzZXR0aW5ncyAqLwotCWRldi0+ZmFzdF9tb2RlID0gaWljX2ZvcmNlX2Zhc3QgPyAxIDogKGlpY19kYXRhID8gaWljX2RhdGEtPmZhc3RfbW9kZSA6IDApOwotCi0JLyogY2xja2RpdiBpcyB0aGUgc2FtZSBmb3IgKmFsbCogSUlDIGludGVyZmFjZXMsCi0JICogYnV0IEknZCByYXRoZXIgbWFrZSBhIGNvcHkgdGhhbiBpbnRyb2R1Y2UgYW5vdGhlciBnbG9iYWwuIC0tZWJzCi0JICovCi0JZGV2LT5jbGNrZGl2ID0gaWljX2NsY2tkaXYob2NwX3N5c19pbmZvLm9wYl9idXNfZnJlcSk7Ci0JREJHKCIlZDogY2xja2RpdiA9ICVkXG4iLCBkZXYtPmlkeCwgZGV2LT5jbGNrZGl2KTsKLQotCS8qIEluaXRpYWxpemUgSUlDIGludGVyZmFjZSAqLwotCWlpY19kZXZfaW5pdChkZXYpOwotCi0JLyogUmVnaXN0ZXIgaXQgd2l0aCBpMmMgbGF5ZXIgKi8KLQlhZGFwID0gJmRldi0+YWRhcDsKLQlhZGFwLT5kZXYucGFyZW50ID0gJm9jcC0+ZGV2OwotCXN0cmNweShhZGFwLT5uYW1lLCAiSUJNIElJQyIpOwotCWkyY19zZXRfYWRhcGRhdGEoYWRhcCwgZGV2KTsKLQlhZGFwLT5pZCA9IEkyQ19IV19PQ1A7Ci0JYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047Ci0JYWRhcC0+YWxnbyA9ICZpaWNfYWxnbzsKLQlhZGFwLT5jbGllbnRfcmVnaXN0ZXIgPSBOVUxMOwotCWFkYXAtPmNsaWVudF91bnJlZ2lzdGVyID0gTlVMTDsKLQlhZGFwLT50aW1lb3V0ID0gMTsKLQotCS8qCi0JICogSWYgImRldi0+aWR4IiBpcyBuZWdhdGl2ZSB3ZSBjb25zaWRlciBpdCBhcyB6ZXJvLgotCSAqIFRoZSByZWFzb24gdG8gZG8gc28gaXMgdG8gYXZvaWQgc3lzZnMgbmFtZXMgdGhhdCBvbmx5IG1ha2UKLQkgKiBzZW5zZSB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBhZGFwdGVycy4KLQkgKi8KLQlhZGFwLT5uciA9IGRldi0+aWR4ID49IDAgPyBkZXYtPmlkeCA6IDA7Ci0KLQlpZiAoKHJldCA9IGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcihhZGFwKSkgPCAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWJtLWlpYyVkOiBmYWlsZWQgdG8gcmVnaXN0ZXIgaTJjIGFkYXB0ZXJcbiIsCi0JCQlkZXYtPmlkeCk7Ci0JCWdvdG8gZmFpbDsKLQl9Ci0KLQlwcmludGsoS0VSTl9JTkZPICJpYm0taWljJWQ6IHVzaW5nICVzIG1vZGVcbiIsIGRldi0+aWR4LAotCQlkZXYtPmZhc3RfbW9kZSA/ICJmYXN0ICg0MDAga0h6KSIgOiAic3RhbmRhcmQgKDEwMCBrSHopIik7Ci0KLQlyZXR1cm4gMDsKLQotZmFpbDoKLQlpZiAoZGV2LT5pcnEgPj0gMCl7Ci0JCWlpY19pbnRlcnJ1cHRfbW9kZShkZXYsIDApOwotCQlmcmVlX2lycShkZXYtPmlycSwgZGV2KTsKLQl9Ci0KLQlpb3VubWFwKGRldi0+dmFkZHIpOwotZmFpbDI6Ci0JcmVsZWFzZV9tZW1fcmVnaW9uKG9jcC0+ZGVmLT5wYWRkciwgc2l6ZW9mKHN0cnVjdCBpaWNfcmVncykpOwotZmFpbDE6Ci0Jb2NwX3NldF9kcnZkYXRhKG9jcCwgTlVMTCk7Ci0Ja2ZyZWUoZGV2KTsKLQlyZXR1cm4gcmV0OwotfQotCi0vKgotICogQ2xlYW51cCBpbml0aWFsaXplZCBJSUMgaW50ZXJmYWNlCi0gKi8KLXN0YXRpYyB2b2lkIF9fZGV2ZXhpdCBpaWNfcmVtb3ZlKHN0cnVjdCBvY3BfZGV2aWNlICpvY3ApCi17Ci0Jc3RydWN0IGlibV9paWNfcHJpdmF0ZSogZGV2ID0gKHN0cnVjdCBpYm1faWljX3ByaXZhdGUqKW9jcF9nZXRfZHJ2ZGF0YShvY3ApOwotCUJVR19PTihkZXYgPT0gTlVMTCk7Ci0JaWYgKGkyY19kZWxfYWRhcHRlcigmZGV2LT5hZGFwKSl7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWJtLWlpYyVkOiBmYWlsZWQgdG8gZGVsZXRlIGkyYyBhZGFwdGVyIDooXG4iLAotCQkJZGV2LT5pZHgpOwotCQkvKiBUaGF0J3MgKnZlcnkqIGJhZCwganVzdCBzaHV0ZG93biBJUlEgLi4uICovCi0JCWlmIChkZXYtPmlycSA+PSAwKXsKLQkJICAgIGlpY19pbnRlcnJ1cHRfbW9kZShkZXYsIDApOwotCQkgICAgZnJlZV9pcnEoZGV2LT5pcnEsIGRldik7Ci0JCSAgICBkZXYtPmlycSA9IC0xOwotCQl9Ci0JfSBlbHNlIHsKLQkJaWYgKGRldi0+aXJxID49IDApewotCQkgICAgaWljX2ludGVycnVwdF9tb2RlKGRldiwgMCk7Ci0JCSAgICBmcmVlX2lycShkZXYtPmlycSwgZGV2KTsKLQkJfQotCQlpb3VubWFwKGRldi0+dmFkZHIpOwotCQlyZWxlYXNlX21lbV9yZWdpb24ob2NwLT5kZWYtPnBhZGRyLCBzaXplb2Yoc3RydWN0IGlpY19yZWdzKSk7Ci0JCWtmcmVlKGRldik7Ci0JfQotfQotCi1zdGF0aWMgc3RydWN0IG9jcF9kZXZpY2VfaWQgaWJtX2lpY19pZHNbXSBfX2RldmluaXRkYXRhID0KLXsKLQl7IC52ZW5kb3IgPSBPQ1BfVkVORE9SX0lCTSwgLmZ1bmN0aW9uID0gT0NQX0ZVTkNfSUlDIH0sCi0JeyAudmVuZG9yID0gT0NQX1ZFTkRPUl9JTlZBTElEIH0KLX07Ci0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUob2NwLCBpYm1faWljX2lkcyk7Ci0KLXN0YXRpYyBzdHJ1Y3Qgb2NwX2RyaXZlciBpYm1faWljX2RyaXZlciA9Ci17Ci0JLm5hbWUgCQk9ICJpaWMiLAotCS5pZF90YWJsZQk9IGlibV9paWNfaWRzLAotCS5wcm9iZQkJPSBpaWNfcHJvYmUsCi0JLnJlbW92ZQkJPSBfX2RldmV4aXRfcChpaWNfcmVtb3ZlKSwKLSNpZiBkZWZpbmVkKENPTkZJR19QTSkKLQkuc3VzcGVuZAk9IE5VTEwsCi0JLnJlc3VtZQkJPSBOVUxMLAotI2VuZGlmCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpaWNfaW5pdCh2b2lkKQotewotCXByaW50ayhLRVJOX0lORk8gIklCTSBJSUMgZHJpdmVyIHYiIERSSVZFUl9WRVJTSU9OICJcbiIpOwotCXJldHVybiBvY3BfcmVnaXN0ZXJfZHJpdmVyKCZpYm1faWljX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBpaWNfZXhpdCh2b2lkKQotewotCW9jcF91bnJlZ2lzdGVyX2RyaXZlcigmaWJtX2lpY19kcml2ZXIpOwotfQotCi0jZWxzZSAgLyogIUNPTkZJR19JQk1fT0NQICovCi0KIHN0YXRpYyBpbnQgX19kZXZpbml0IGlpY19yZXF1ZXN0X2lycShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldiwKIAkJCQkgICAgIHN0cnVjdCBpYm1faWljX3ByaXZhdGUgKmRldikKIHsKQEAgLTg3Niw3ICs2OTcsNyBAQAogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBvZmRldi0+bm9kZTsKIAlzdHJ1Y3QgaWJtX2lpY19wcml2YXRlICpkZXY7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwOwotCWNvbnN0IHUzMiAqaW5kZXhwLCAqZnJlcTsKKwljb25zdCB1MzIgKmZyZXE7CiAJaW50IHJldDsKIAogCWRldiA9IGt6YWxsb2Moc2l6ZW9mKCpkZXYpLCBHRlBfS0VSTkVMKTsKQEAgLTg4NywxNCArNzA4LDYgQEAKIAogCWRldl9zZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldiwgZGV2KTsKIAotCWluZGV4cCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImluZGV4IiwgTlVMTCk7Ci0JaWYgKCFpbmRleHApIHsKLQkJZGV2X2Vycigmb2ZkZXYtPmRldiwgIm5vIGluZGV4IHNwZWNpZmllZFxuIik7Ci0JCXJldCA9IC1FSU5WQUw7Ci0JCWdvdG8gZXJyb3JfY2xlYW51cDsKLQl9Ci0JZGV2LT5pZHggPSAqaW5kZXhwOwotCiAJZGV2LT52YWRkciA9IG9mX2lvbWFwKG5wLCAwKTsKIAlpZiAoZGV2LT52YWRkciA9PSBOVUxMKSB7CiAJCWRldl9lcnIoJm9mZGV2LT5kZXYsICJmYWlsZWQgdG8gaW9tYXAgZGV2aWNlXG4iKTsKQEAgLTkzNCwxNyArNzQ3LDE5IEBACiAJc3RybGNweShhZGFwLT5uYW1lLCAiSUJNIElJQyIsIHNpemVvZihhZGFwLT5uYW1lKSk7CiAJaTJjX3NldF9hZGFwZGF0YShhZGFwLCBkZXYpOwogCWFkYXAtPmlkID0gSTJDX0hXX09DUDsKLQlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJYWRhcC0+YWxnbyA9ICZpaWNfYWxnbzsKIAlhZGFwLT50aW1lb3V0ID0gMTsKLQlhZGFwLT5uciA9IGRldi0+aWR4OwogCi0JcmV0ID0gaTJjX2FkZF9udW1iZXJlZF9hZGFwdGVyKGFkYXApOworCXJldCA9IGkyY19hZGRfYWRhcHRlcihhZGFwKTsKIAlpZiAocmV0ICA8IDApIHsKIAkJZGV2X2Vycigmb2ZkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBpMmMgYWRhcHRlclxuIik7CiAJCWdvdG8gZXJyb3JfY2xlYW51cDsKIAl9CiAKKwkvKiBOb3cgcmVnaXN0ZXIgYWxsIHRoZSBjaGlsZCBub2RlcyAqLworCW9mX3JlZ2lzdGVyX2kyY19kZXZpY2VzKGFkYXAsIG5wKTsKKwogCWRldl9pbmZvKCZvZmRldi0+ZGV2LCAidXNpbmcgJXMgbW9kZVxuIiwKIAkJIGRldi0+ZmFzdF9tb2RlID8gImZhc3QgKDQwMCBrSHopIiA6ICJzdGFuZGFyZCAoMTAwIGtIeikiKTsKIApAQCAtOTg3LDExICs4MDIsNyBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBpYm1faWljX21hdGNoW10gPSB7Ci0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQwNWV4IiwgfSwKLQl7IC5jb21wYXRpYmxlID0gImlibSxpaWMtNDA1Z3AiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00NDBncCIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQ0MGdweCIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQ0MGdyeCIsIH0sCisJeyAuY29tcGF0aWJsZSA9ICJpYm0saWljIiwgfSwKIAl7fQogfTsKIApAQCAtMTAxMSw3ICs4MjIsNiBAQAogewogCW9mX3VucmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZpYm1faWljX2RyaXZlcik7CiB9Ci0jZW5kaWYgLyogQ09ORklHX0lCTV9PQ1AgKi8KIAogbW9kdWxlX2luaXQoaWljX2luaXQpOwogbW9kdWxlX2V4aXQoaWljX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pb3AzeHguYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaW9wM3h4LmMKaW5kZXggMzk4ODRlNy4uZmMyNzE0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pb3AzeHguYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlvcDN4eC5jCkBAIC00ODIsNyArNDgyLDcgQEAKIAltZW1jcHkobmV3X2FkYXB0ZXItPm5hbWUsIHBkZXYtPm5hbWUsIHN0cmxlbihwZGV2LT5uYW1lKSk7CiAJbmV3X2FkYXB0ZXItPmlkID0gSTJDX0hXX0lPUDNYWDsKIAluZXdfYWRhcHRlci0+b3duZXIgPSBUSElTX01PRFVMRTsKLQluZXdfYWRhcHRlci0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJbmV3X2FkYXB0ZXItPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAluZXdfYWRhcHRlci0+ZGV2LnBhcmVudCA9ICZwZGV2LT5kZXY7CiAJbmV3X2FkYXB0ZXItPm5yID0gcGRldi0+aWQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaXNjaC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pc2NoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjljMDFhYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaXNjaC5jCkBAIC0wLDAgKzEsMzM5IEBACisvKgorICAgIGkyYy1pc2NoLmMgLSBMaW51eCBrZXJuZWwgZHJpdmVyIGZvciBJbnRlbCBTQ0ggY2hpcHNldCBTTUJ1cworICAgIC0gQmFzZWQgb24gaTJjLXBpaXg0LmMKKyAgICBDb3B5cmlnaHQgKGMpIDE5OTggLSAyMDAyIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCisgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgorICAgIC0gSW50ZWwgU0NIIHN1cHBvcnQKKyAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDA4IEphY29iIEp1biBQYW4gPGphY29iLmp1bi5wYW5AaW50ZWwuY29tPgorCisgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorCisgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyovCisKKy8qCisgICBTdXBwb3J0czoKKwlJbnRlbCBTQ0ggY2hpcHNldHMgKEFGODJVUzE1VywgQUY4MlVTMTVMLCBBRjgyVUwxMUwpCisgICBOb3RlOiB3ZSBhc3N1bWUgdGhlcmUgY2FuIG9ubHkgYmUgb25lIGRldmljZSwgd2l0aCBvbmUgU01CdXMgaW50ZXJmYWNlLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorCisvKiBTQ0ggU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCisjZGVmaW5lIFNNQkhTVENOVAkoMCArIHNjaF9zbWJhKQorI2RlZmluZSBTTUJIU1RTVFMJKDEgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CSFNUQURECSg0ICsgc2NoX3NtYmEpIC8qIFRTQSAqLworI2RlZmluZSBTTUJIU1RDTUQJKDUgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CSFNUREFUMAkoNiArIHNjaF9zbWJhKQorI2RlZmluZSBTTUJIU1REQVQxCSg3ICsgc2NoX3NtYmEpCisjZGVmaW5lIFNNQkJMS0RBVAkoMHgyMCArIHNjaF9zbWJhKQorCisvKiBjb3VudCBmb3IgcmVxdWVzdF9yZWdpb24gKi8KKyNkZWZpbmUgU01CSU9TSVpFCTY0CisKKy8qIFBDSSBBZGRyZXNzIENvbnN0YW50cyAqLworI2RlZmluZSBTTUJCQV9TQ0gJMHg0MAorCisvKiBPdGhlciBzZXR0aW5ncyAqLworI2RlZmluZSBNQVhfVElNRU9VVAk1MDAKKworLyogSTJDIGNvbnN0YW50cyAqLworI2RlZmluZSBTQ0hfUVVJQ0sJCTB4MDAKKyNkZWZpbmUgU0NIX0JZVEUJCTB4MDEKKyNkZWZpbmUgU0NIX0JZVEVfREFUQQkJMHgwMgorI2RlZmluZSBTQ0hfV09SRF9EQVRBCQkweDAzCisjZGVmaW5lIFNDSF9CTE9DS19EQVRBCQkweDA1CisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBzY2hfc21iYTsKK3N0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzY2hfZHJpdmVyOworc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzY2hfYWRhcHRlcjsKKworLyoKKyAqIFN0YXJ0IHRoZSBpMmMgdHJhbnNhY3Rpb24gLS0gdGhlIGkyY19hY2Nlc3Mgd2lsbCBwcmVwYXJlIHRoZSB0cmFuc2FjdGlvbgorICogYW5kIHRoaXMgZnVuY3Rpb24gd2lsbCBleGVjdXRlIGl0LgorICogcmV0dXJuIDAgZm9yIHN1Y2Nlc3MgYW5kIG90aGVycyBmb3IgZmFpbHVyZS4KKyAqLworc3RhdGljIGludCBzY2hfdHJhbnNhY3Rpb24odm9pZCkKK3sKKwlpbnQgdGVtcDsKKwlpbnQgcmVzdWx0ID0gMDsKKwlpbnQgdGltZW91dCA9IDA7CisKKwlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJUcmFuc2FjdGlvbiAocHJlKTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCisJCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsIGluYihTTUJIU1RDTlQpLAorCQlpbmIoU01CSFNUQ01EKSwgaW5iKFNNQkhTVEFERCksIGluYihTTUJIU1REQVQwKSwKKwkJaW5iKFNNQkhTVERBVDEpKTsKKworCS8qIE1ha2Ugc3VyZSB0aGUgU01CdXMgaG9zdCBpcyByZWFkeSB0byBzdGFydCB0cmFuc21pdHRpbmcgKi8KKwl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDBmOworCWlmICh0ZW1wKSB7CisJCS8qIENhbiBub3QgYmUgYnVzeSBzaW5jZSB3ZSBjaGVja2VkIGl0IGluIHNjaF9hY2Nlc3MgKi8KKwkJaWYgKHRlbXAgJiAweDAxKSB7CisJCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJDb21wbGV0aW9uICglMDJ4KS4gIgorCQkJCSJDbGVhci4uLlxuIiwgdGVtcCk7CisJCX0KKwkJaWYgKHRlbXAgJiAweDA2KSB7CisJCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJTTUJ1cyBlcnJvciAoJTAyeCkuICIKKwkJCQkiUmVzZXR0aW5nLi4uXG4iLCB0ZW1wKTsKKwkJfQorCQlvdXRiKHRlbXAsIFNNQkhTVFNUUyk7CisJCXRlbXAgPSBpbmIoU01CSFNUU1RTKSAmIDB4MGY7CisJCWlmICh0ZW1wKSB7CisJCQlkZXZfZXJyKCZzY2hfYWRhcHRlci5kZXYsCisJCQkJIlNNQnVzIGlzIG5vdCByZWFkeTogKCUwMngpXG4iLCB0ZW1wKTsKKwkJCXJldHVybiAtRUFHQUlOOworCQl9CisJfQorCisJLyogc3RhcnQgdGhlIHRyYW5zYWN0aW9uIGJ5IHNldHRpbmcgYml0IDQgKi8KKwlvdXRiKGluYihTTUJIU1RDTlQpIHwgMHgxMCwgU01CSFNUQ05UKTsKKworCWRvIHsKKwkJbXNsZWVwKDEpOworCQl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDBmOworCX0gd2hpbGUgKCh0ZW1wICYgMHgwOCkgJiYgKHRpbWVvdXQrKyA8IE1BWF9USU1FT1VUKSk7CisKKwkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLworCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CisJCWRldl9lcnIoJnNjaF9hZGFwdGVyLmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKKwl9CisJaWYgKHRlbXAgJiAweDA0KSB7CisJCXJlc3VsdCA9IC1FSU87CisJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIkJ1cyBjb2xsaXNpb24hIFNNQnVzIG1heSBiZSAiCisJCQkibG9ja2VkIHVudGlsIG5leHQgaGFyZCByZXNldC4gKHNvcnJ5ISlcbiIpOworCQkvKiBDbG9jayBzdG9wcyBhbmQgc2xhdmUgaXMgc3R1Y2sgaW4gbWlkLXRyYW5zbWlzc2lvbiAqLworCX0gZWxzZSBpZiAodGVtcCAmIDB4MDIpIHsKKwkJcmVzdWx0ID0gLUVJTzsKKwkJZGV2X2Vycigmc2NoX2FkYXB0ZXIuZGV2LCAiRXJyb3I6IG5vIHJlc3BvbnNlIVxuIik7CisJfSBlbHNlIGlmICh0ZW1wICYgMHgwMSkgeworCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJQb3N0IGNvbXBsZXRlIVxuIik7CisJCW91dGIodGVtcCwgU01CSFNUU1RTKTsKKwkJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwNzsKKwkJaWYgKHRlbXAgJiAweDA2KSB7CisJCQkvKiBDb21wbGV0aW9uIGNsZWFyIGZhaWxlZCAqLworCQkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiRmFpbGVkIHJlc2V0IGF0IGVuZCBvZiAiCisJCQkJInRyYW5zYWN0aW9uICglMDJ4KSwgQnVzIGVycm9yIVxuIiwgdGVtcCk7CisJCX0KKwl9IGVsc2UgeworCQlyZXN1bHQgPSAtRU5YSU87CisJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIk5vIHN1Y2ggYWRkcmVzcy5cbiIpOworCX0KKwlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJUcmFuc2FjdGlvbiAocG9zdCk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgorCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLCBpbmIoU01CSFNUQ05UKSwKKwkJaW5iKFNNQkhTVENNRCksIGluYihTTUJIU1RBREQpLCBpbmIoU01CSFNUREFUMCksCisJCWluYihTTUJIU1REQVQxKSk7CisJcmV0dXJuIHJlc3VsdDsKK30KKworLyoKKyAqIFRoaXMgaXMgdGhlIG1haW4gYWNjZXNzIGVudHJ5IGZvciBpMmMtc2NoIGFjY2VzcworICogYWRhcCBpcyBpMmNfYWRhcHRlciBwb2ludGVyLCBhZGRyIGlzIHRoZSBpMmMgZGV2aWNlIGJ1cyBhZGRyZXNzLCByZWFkX3dyaXRlCisgKiAoMCBmb3IgcmVhZCBhbmQgMSBmb3Igd3JpdGUpLCBzaXplIGlzIGkyYyB0cmFuc2FjdGlvbiB0eXBlIGFuZCBkYXRhIGlzIHRoZQorICogdW5pb24gb2YgdHJhbnNhY3Rpb24gZm9yIGRhdGEgdG8gYmUgdHJhbnNmZXJlZCBvciBkYXRhIHJlYWQgZnJvbSBidXMuCisgKiByZXR1cm4gMCBmb3Igc3VjY2VzcyBhbmQgb3RoZXJzIGZvciBmYWlsdXJlLgorICovCitzdGF0aWMgczMyIHNjaF9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCisJCSB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCit7CisJaW50IGksIGxlbiwgdGVtcCwgcmM7CisKKwkvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgbm90IGJ1c3kgKi8KKwl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDBmOworCWlmICh0ZW1wICYgMHgwOCkgeworCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJTTUJ1cyBidXN5ICglMDJ4KVxuIiwgdGVtcCk7CisJCXJldHVybiAtRUFHQUlOOworCX0KKwlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJhY2Nlc3Mgc2l6ZTogJWQgJXNcbiIsIHNpemUsCisJCShyZWFkX3dyaXRlKT8iUkVBRCI6IldSSVRFIik7CisJc3dpdGNoIChzaXplKSB7CisJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CisJCW91dGIoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLCBTTUJIU1RBREQpOworCQlzaXplID0gU0NIX1FVSUNLOworCQlicmVhazsKKwljYXNlIEkyQ19TTUJVU19CWVRFOgorCQlvdXRiKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKKwkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQorCQkJb3V0Yihjb21tYW5kLCBTTUJIU1RDTUQpOworCQlzaXplID0gU0NIX0JZVEU7CisJCWJyZWFrOworCWNhc2UgSTJDX1NNQlVTX0JZVEVfREFUQToKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCW91dGIoY29tbWFuZCwgU01CSFNUQ01EKTsKKwkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQorCQkJb3V0YihkYXRhLT5ieXRlLCBTTUJIU1REQVQwKTsKKwkJc2l6ZSA9IFNDSF9CWVRFX0RBVEE7CisJCWJyZWFrOworCWNhc2UgSTJDX1NNQlVTX1dPUkRfREFUQToKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCW91dGIoY29tbWFuZCwgU01CSFNUQ01EKTsKKwkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB7CisJCQlvdXRiKGRhdGEtPndvcmQgJiAweGZmLCBTTUJIU1REQVQwKTsKKwkJCW91dGIoKGRhdGEtPndvcmQgJiAweGZmMDApID4+IDgsIFNNQkhTVERBVDEpOworCQl9CisJCXNpemUgPSBTQ0hfV09SRF9EQVRBOworCQlicmVhazsKKwljYXNlIEkyQ19TTUJVU19CTE9DS19EQVRBOgorCQlvdXRiKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKKwkJb3V0Yihjb21tYW5kLCBTTUJIU1RDTUQpOworCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHsKKwkJCWxlbiA9IGRhdGEtPmJsb2NrWzBdOworCQkJaWYgKGxlbiA9PSAwIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQlvdXRiKGxlbiwgU01CSFNUREFUMCk7CisJCQlmb3IgKGkgPSAxOyBpIDw9IGxlbjsgaSsrKQorCQkJCW91dGIoZGF0YS0+YmxvY2tbaV0sIFNNQkJMS0RBVCtpLTEpOworCQl9CisJCXNpemUgPSBTQ0hfQkxPQ0tfREFUQTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCX0KKwlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJ3cml0ZSBzaXplICVkIHRvIDB4JTA0eFxuIiwgc2l6ZSwgU01CSFNUQ05UKTsKKwlvdXRiKChpbmIoU01CSFNUQ05UKSAmIDB4YjApIHwgKHNpemUgJiAweDcpLCBTTUJIU1RDTlQpOworCisJcmMgPSBzY2hfdHJhbnNhY3Rpb24oKTsKKwlpZiAocmMpCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCisJCXJldHVybiByYzsKKworCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFNDSF9RVUlDSykpCisJCXJldHVybiAwOworCisJc3dpdGNoIChzaXplKSB7CisJY2FzZSBTQ0hfQllURToKKwljYXNlIFNDSF9CWVRFX0RBVEE6CisJCWRhdGEtPmJ5dGUgPSBpbmIoU01CSFNUREFUMCk7CisJCWJyZWFrOworCWNhc2UgU0NIX1dPUkRfREFUQToKKwkJZGF0YS0+d29yZCA9IGluYihTTUJIU1REQVQwKSArIChpbmIoU01CSFNUREFUMSkgPDwgOCk7CisJCWJyZWFrOworCWNhc2UgU0NIX0JMT0NLX0RBVEE6CisJCWRhdGEtPmJsb2NrWzBdID0gaW5iKFNNQkhTVERBVDApOworCQlpZiAoZGF0YS0+YmxvY2tbMF0gPT0gMCB8fCBkYXRhLT5ibG9ja1swXSA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQlyZXR1cm4gLUVQUk9UTzsKKwkJZm9yIChpID0gMTsgaSA8PSBkYXRhLT5ibG9ja1swXTsgaSsrKQorCQkJZGF0YS0+YmxvY2tbaV0gPSBpbmIoU01CQkxLREFUK2ktMSk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHUzMiBzY2hfZnVuYyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpCit7CisJcmV0dXJuIEkyQ19GVU5DX1NNQlVTX1FVSUNLIHwgSTJDX0ZVTkNfU01CVVNfQllURSB8CisJICAgIEkyQ19GVU5DX1NNQlVTX0JZVEVfREFUQSB8IEkyQ19GVU5DX1NNQlVTX1dPUkRfREFUQSB8CisJICAgIEkyQ19GVU5DX1NNQlVTX0JMT0NLX0RBVEE7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2FsZ29yaXRobSBzbWJ1c19hbGdvcml0aG0gPSB7CisJLnNtYnVzX3hmZXIJPSBzY2hfYWNjZXNzLAorCS5mdW5jdGlvbmFsaXR5CT0gc2NoX2Z1bmMsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNjaF9hZGFwdGVyID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKKwkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAorfTsKKworc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHNjaF9pZHNbXSA9IHsKKwl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9TQ0hfTFBDKSB9LAorCXsgMCwgfQorfTsKKworTU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHNjaF9pZHMpOworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBzY2hfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmRldiwKKwkJCQljb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpCit7CisJaW50IHJldHZhbDsKKwl1bnNpZ25lZCBpbnQgc21iYTsKKworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIFNNQkJBX1NDSCwgJnNtYmEpOworCWlmICghKHNtYmEgJiAoMSA8PCAzMSkpKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiU01CdXMgSS9PIHNwYWNlIGRpc2FibGVkIVxuIik7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCXNjaF9zbWJhID0gKHVuc2lnbmVkIHNob3J0KXNtYmE7CisJaWYgKHNjaF9zbWJhID09IDApIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICJTTUJ1cyBiYXNlIGFkZHJlc3MgdW5pbml0aWFsaXplZCFcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisJaWYgKGFjcGlfY2hlY2tfcmVnaW9uKHNjaF9zbWJhLCBTTUJJT1NJWkUsIHNjaF9kcml2ZXIubmFtZSkpCisJCXJldHVybiAtRUJVU1k7CisJaWYgKCFyZXF1ZXN0X3JlZ2lvbihzY2hfc21iYSwgU01CSU9TSVpFLCBzY2hfZHJpdmVyLm5hbWUpKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiU01CdXMgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAorCQkJc2NoX3NtYmEpOworCQlyZXR1cm4gLUVCVVNZOworCX0KKwlkZXZfZGJnKCZkZXYtPmRldiwgIlNNQkEgPSAweCVYXG4iLCBzY2hfc21iYSk7CisKKwkvKiBzZXQgdXAgdGhlIHN5c2ZzIGxpbmthZ2UgdG8gb3VyIHBhcmVudCBkZXZpY2UgKi8KKwlzY2hfYWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OworCisJc25wcmludGYoc2NoX2FkYXB0ZXIubmFtZSwgc2l6ZW9mKHNjaF9hZGFwdGVyLm5hbWUpLAorCQkiU01CdXMgU0NIIGFkYXB0ZXIgYXQgJTA0eCIsIHNjaF9zbWJhKTsKKworCXJldHZhbCA9IGkyY19hZGRfYWRhcHRlcigmc2NoX2FkYXB0ZXIpOworCWlmIChyZXR2YWwpIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICJDb3VsZG4ndCByZWdpc3RlciBhZGFwdGVyIVxuIik7CisJCXJlbGVhc2VfcmVnaW9uKHNjaF9zbWJhLCBTTUJJT1NJWkUpOworCQlzY2hfc21iYSA9IDA7CisJfQorCisJcmV0dXJuIHJldHZhbDsKK30KKworc3RhdGljIHZvaWQgX19kZXZleGl0IHNjaF9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwlpZiAoc2NoX3NtYmEpIHsKKwkJaTJjX2RlbF9hZGFwdGVyKCZzY2hfYWRhcHRlcik7CisJCXJlbGVhc2VfcmVnaW9uKHNjaF9zbWJhLCBTTUJJT1NJWkUpOworCQlzY2hfc21iYSA9IDA7CisJfQorfQorCitzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgc2NoX2RyaXZlciA9IHsKKwkubmFtZQkJPSAiaXNjaF9zbWJ1cyIsCisJLmlkX3RhYmxlCT0gc2NoX2lkcywKKwkucHJvYmUJCT0gc2NoX3Byb2JlLAorCS5yZW1vdmUJCT0gX19kZXZleGl0X3Aoc2NoX3JlbW92ZSksCit9OworCitzdGF0aWMgaW50IF9faW5pdCBpMmNfc2NoX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gcGNpX3JlZ2lzdGVyX2RyaXZlcigmc2NoX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBpMmNfc2NoX2V4aXQodm9pZCkKK3sKKwlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJnNjaF9kcml2ZXIpOworfQorCitNT0RVTEVfQVVUSE9SKCJKYWNvYiBQYW4gPGphY29iLmp1bi5wYW5AaW50ZWwuY29tPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJJbnRlbCBTQ0ggU01CdXMgZHJpdmVyIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CisKK21vZHVsZV9pbml0KGkyY19zY2hfaW5pdCk7Cittb2R1bGVfZXhpdChpMmNfc2NoX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tcGMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXBjLmMKaW5kZXggYTA3NjEyOS4uMTBiOTM0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tcGMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW1wYy5jCkBAIC0zMTEsNyArMzExLDcgQEAKIAkubmFtZSA9ICJNUEMgYWRhcHRlciIsCiAJLmlkID0gSTJDX0hXX01QQzEwNywKIAkuYWxnbyA9ICZtcGNfYWxnbywKLQkuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkudGltZW91dCA9IDEsCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW12NjR4eHguYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXY2NHh4eC5jCmluZGV4IDAzNmU2YTguLjllODExOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXY2NHh4eC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXY2NHh4eC5jCkBAIC01MzAsNyArNTMwLDcgQEAKIAlkcnZfZGF0YS0+YWRhcHRlci5pZCA9IEkyQ19IV19NVjY0WFhYOwogCWRydl9kYXRhLT5hZGFwdGVyLmFsZ28gPSAmbXY2NHh4eF9pMmNfYWxnbzsKIAlkcnZfZGF0YS0+YWRhcHRlci5vd25lciA9IFRISVNfTU9EVUxFOwotCWRydl9kYXRhLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCWRydl9kYXRhLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlkcnZfZGF0YS0+YWRhcHRlci50aW1lb3V0ID0gcGRhdGEtPnRpbWVvdXQ7CiAJZHJ2X2RhdGEtPmFkYXB0ZXIubnIgPSBwZC0+aWQ7CiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGQsIGRydl9kYXRhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi1zNDk4NS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLXM0OTg1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE4OTk1ZAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi1zNDk4NS5jCkBAIC0wLDAgKzEsMjU3IEBACisvKgorICogaTJjLW5mb3JjZTItczQ5ODUuYyAtIGkyYy1uZm9yY2UyIGV4dHJhcyBmb3IgdGhlIFR5YW4gUzQ5ODUgbW90aGVyYm9hcmQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKi8KKworLyoKKyAqIFdlIHNlbGVjdCB0aGUgY2hhbm5lbHMgYnkgc2VuZGluZyBjb21tYW5kcyB0byB0aGUgUGhpbGlwcworICogUENBOTU1NiBjaGlwIGF0IEkyQyBhZGRyZXNzIDB4MTguIFRoZSBtYWluIGFkYXB0ZXIgaXMgdXNlZCBmb3IKKyAqIHRoZSBub24tbXVsdGlwbGV4ZWQgcGFydCBvZiB0aGUgYnVzLCBhbmQgNCB2aXJ0dWFsIGFkYXB0ZXJzCisgKiBhcmUgZGVmaW5lZCBmb3IgdGhlIG11bHRpcGxleGVkIGFkZHJlc3NlczogMHg1MC0weDUzIChtZW1vcnkKKyAqIG1vZHVsZSBFRVBST00pIGxvY2F0ZWQgb24gY2hhbm5lbHMgMS00LiBXZSBkZWZpbmUgb25lIHZpcnR1YWwKKyAqIGFkYXB0ZXIgcGVyIENQVSwgd2hpY2ggY29ycmVzcG9uZHMgdG8gb25lIG11bHRpcGxleGVkIGNoYW5uZWw6CisgKiAgIENQVTA6IHZpcnR1YWwgYWRhcHRlciAxLCBjaGFubmVsIDEKKyAqICAgQ1BVMTogdmlydHVhbCBhZGFwdGVyIDIsIGNoYW5uZWwgMgorICogICBDUFUyOiB2aXJ0dWFsIGFkYXB0ZXIgMywgY2hhbm5lbCAzCisgKiAgIENQVTM6IHZpcnR1YWwgYWRhcHRlciA0LCBjaGFubmVsIDQKKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorCitleHRlcm4gc3RydWN0IGkyY19hZGFwdGVyICpuZm9yY2UyX3NtYnVzOworCitzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyICpzNDk4NV9hZGFwdGVyOworc3RhdGljIHN0cnVjdCBpMmNfYWxnb3JpdGhtICpzNDk4NV9hbGdvOworCisvKiBXcmFwcGVyIGFjY2VzcyBmdW5jdGlvbnMgZm9yIG11bHRpcGxleGVkIFNNQnVzICovCitzdGF0aWMgREVGSU5FX01VVEVYKG5mb3JjZTJfbG9jayk7CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDAoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCWludCBlcnJvcjsKKworCS8qIFdlIGV4Y2x1ZGUgdGhlIG11bHRpcGxleGVkIGFkZHJlc3NlcyAqLworCWlmICgoYWRkciAmIDB4ZmMpID09IDB4NTAgfHwgKGFkZHIgJiAweGZjKSA9PSAweDMwCisJIHx8IGFkZHIgPT0gMHgxOCkKKwkJcmV0dXJuIC1FTlhJTzsKKworCW11dGV4X2xvY2soJm5mb3JjZTJfbG9jayk7CisJZXJyb3IgPSBuZm9yY2UyX3NtYnVzLT5hbGdvLT5zbWJ1c194ZmVyKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLAorCQkJCQkJY29tbWFuZCwgc2l6ZSwgZGF0YSk7CisJbXV0ZXhfdW5sb2NrKCZuZm9yY2UyX2xvY2spOworCisJcmV0dXJuIGVycm9yOworfQorCisvKiBXZSByZW1lbWJlciB0aGUgbGFzdCB1c2VkIGNoYW5uZWxzIGNvbWJpbmF0aW9uIHNvIGFzIHRvIG9ubHkgc3dpdGNoCisgICBjaGFubmVscyB3aGVuIGl0IGlzIHJlYWxseSBuZWVkZWQuIFRoaXMgZ3JlYXRseSByZWR1Y2VzIHRoZSBTTUJ1cworICAgb3ZlcmhlYWQsIGJ1dCBhbHNvIGFzc3VtZXMgdGhhdCBub2JvZHkgd2lsbCBiZSB3cml0aW5nIHRvIHRoZSBQQ0E5NTU2CisgICBpbiBvdXIgYmFjay4gKi8KK3N0YXRpYyB1OCBsYXN0X2NoYW5uZWxzOworCitzdGF0aWMgaW5saW5lIHMzMiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJCSB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCQkgdTggY29tbWFuZCwgaW50IHNpemUsCisJCQkJCSB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSwKKwkJCQkJIHU4IGNoYW5uZWxzKQoreworCWludCBlcnJvcjsKKworCS8qIFdlIGV4Y2x1ZGUgdGhlIG5vbi1tdWx0aXBsZXhlZCBhZGRyZXNzZXMgKi8KKwlpZiAoKGFkZHIgJiAweGZjKSAhPSAweDUwICYmIChhZGRyICYgMHhmYykgIT0gMHgzMCkKKwkJcmV0dXJuIC1FTlhJTzsKKworCW11dGV4X2xvY2soJm5mb3JjZTJfbG9jayk7CisJaWYgKGxhc3RfY2hhbm5lbHMgIT0gY2hhbm5lbHMpIHsKKwkJdW5pb24gaTJjX3NtYnVzX2RhdGEgbXBseGRhdGE7CisJCW1wbHhkYXRhLmJ5dGUgPSBjaGFubmVsczsKKworCQllcnJvciA9IG5mb3JjZTJfc21idXMtPmFsZ28tPnNtYnVzX3hmZXIoYWRhcCwgMHgxOCwgMCwKKwkJCQkJCQlJMkNfU01CVVNfV1JJVEUsIDB4MDEsCisJCQkJCQkJSTJDX1NNQlVTX0JZVEVfREFUQSwKKwkJCQkJCQkmbXBseGRhdGEpOworCQlpZiAoZXJyb3IpCisJCQlnb3RvIFVOTE9DSzsKKwkJbGFzdF9jaGFubmVscyA9IGNoYW5uZWxzOworCX0KKwllcnJvciA9IG5mb3JjZTJfc21idXMtPmFsZ28tPnNtYnVzX3hmZXIoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsCisJCQkJCQljb21tYW5kLCBzaXplLCBkYXRhKTsKKworVU5MT0NLOgorCW11dGV4X3VubG9jaygmbmZvcmNlMl9sb2NrKTsKKwlyZXR1cm4gZXJyb3I7Cit9CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDEoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCS8qIENQVTA6IGNoYW5uZWwgMSBlbmFibGVkICovCisJcmV0dXJuIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsIGNvbW1hbmQsCisJCQkJICAgICAgc2l6ZSwgZGF0YSwgMHgwMik7Cit9CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDIoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCS8qIENQVTE6IGNoYW5uZWwgMiBlbmFibGVkICovCisJcmV0dXJuIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsIGNvbW1hbmQsCisJCQkJICAgICAgc2l6ZSwgZGF0YSwgMHgwNCk7Cit9CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDMoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCS8qIENQVTI6IGNoYW5uZWwgMyBlbmFibGVkICovCisJcmV0dXJuIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsIGNvbW1hbmQsCisJCQkJICAgICAgc2l6ZSwgZGF0YSwgMHgwOCk7Cit9CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDQoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCS8qIENQVTM6IGNoYW5uZWwgNCBlbmFibGVkICovCisJcmV0dXJuIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsIGNvbW1hbmQsCisJCQkJICAgICAgc2l6ZSwgZGF0YSwgMHgxMCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG5mb3JjZTJfczQ5ODVfaW5pdCh2b2lkKQoreworCWludCBpLCBlcnJvcjsKKwl1bmlvbiBpMmNfc21idXNfZGF0YSBpb2NvbmZpZzsKKworCS8qIFVucmVnaXN0ZXIgcGh5c2ljYWwgYnVzICovCisJaWYgKCFuZm9yY2UyX3NtYnVzKQorCQlyZXR1cm4gLUVOT0RFVjsKKwllcnJvciA9IGkyY19kZWxfYWRhcHRlcihuZm9yY2UyX3NtYnVzKTsKKwlpZiAoZXJyb3IpIHsKKwkJZGV2X2VycigmbmZvcmNlMl9zbWJ1cy0+ZGV2LCAiUGh5c2ljYWwgYnVzIHJlbW92YWwgZmFpbGVkXG4iKTsKKwkJZ290byBFUlJPUjA7CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAiRW5hYmxpbmcgU01CdXMgbXVsdGlwbGV4aW5nIGZvciBUeWFuIFM0OTg1XG4iKTsKKwkvKiBEZWZpbmUgdGhlIDUgdmlydHVhbCBhZGFwdGVycyBhbmQgYWxnb3JpdGhtcyBzdHJ1Y3R1cmVzICovCisJczQ5ODVfYWRhcHRlciA9IGt6YWxsb2MoNSAqIHNpemVvZihzdHJ1Y3QgaTJjX2FkYXB0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXM0OTg1X2FkYXB0ZXIpIHsKKwkJZXJyb3IgPSAtRU5PTUVNOworCQlnb3RvIEVSUk9SMTsKKwl9CisJczQ5ODVfYWxnbyA9IGt6YWxsb2MoNSAqIHNpemVvZihzdHJ1Y3QgaTJjX2FsZ29yaXRobSksIEdGUF9LRVJORUwpOworCWlmICghczQ5ODVfYWxnbykgeworCQllcnJvciA9IC1FTk9NRU07CisJCWdvdG8gRVJST1IyOworCX0KKworCS8qIEZpbGwgaW4gdGhlIG5ldyBzdHJ1Y3R1cmVzICovCisJczQ5ODVfYWxnb1swXSA9ICoobmZvcmNlMl9zbWJ1cy0+YWxnbyk7CisJczQ5ODVfYWxnb1swXS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDA7CisJczQ5ODVfYWRhcHRlclswXSA9ICpuZm9yY2UyX3NtYnVzOworCXM0OTg1X2FkYXB0ZXJbMF0uYWxnbyA9IHM0OTg1X2FsZ287CisJczQ5ODVfYWRhcHRlclswXS5kZXYucGFyZW50ID0gbmZvcmNlMl9zbWJ1cy0+ZGV2LnBhcmVudDsKKwlmb3IgKGkgPSAxOyBpIDwgNTsgaSsrKSB7CisJCXM0OTg1X2FsZ29baV0gPSAqKG5mb3JjZTJfc21idXMtPmFsZ28pOworCQlzNDk4NV9hZGFwdGVyW2ldID0gKm5mb3JjZTJfc21idXM7CisJCXNucHJpbnRmKHM0OTg1X2FkYXB0ZXJbaV0ubmFtZSwgc2l6ZW9mKHM0OTg1X2FkYXB0ZXJbaV0ubmFtZSksCisJCQkgIlNNQnVzIG5Gb3JjZTIgYWRhcHRlciAoQ1BVJWQpIiwgaSAtIDEpOworCQlzNDk4NV9hZGFwdGVyW2ldLmFsZ28gPSBzNDk4NV9hbGdvICsgaTsKKwkJczQ5ODVfYWRhcHRlcltpXS5kZXYucGFyZW50ID0gbmZvcmNlMl9zbWJ1cy0+ZGV2LnBhcmVudDsKKwl9CisJczQ5ODVfYWxnb1sxXS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDE7CisJczQ5ODVfYWxnb1syXS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDI7CisJczQ5ODVfYWxnb1szXS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDM7CisJczQ5ODVfYWxnb1s0XS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDQ7CisKKwkvKiBDb25maWd1cmUgdGhlIFBDQTk1NTYgbXVsdGlwbGV4ZXIgKi8KKwlpb2NvbmZpZy5ieXRlID0gMHgwMDsgLyogQWxsIEkvTyB0byBvdXRwdXQgbW9kZSAqLworCWVycm9yID0gbmZvcmNlMl9zbWJ1cy0+YWxnby0+c21idXNfeGZlcihuZm9yY2UyX3NtYnVzLCAweDE4LCAwLAorCQkJCQkJSTJDX1NNQlVTX1dSSVRFLCAweDAzLAorCQkJCQkJSTJDX1NNQlVTX0JZVEVfREFUQSwgJmlvY29uZmlnKTsKKwlpZiAoZXJyb3IpIHsKKwkJZGV2X2VycigmbmZvcmNlMl9zbWJ1cy0+ZGV2LCAiUENBOTU1NiBjb25maWd1cmF0aW9uIGZhaWxlZFxuIik7CisJCWVycm9yID0gLUVJTzsKKwkJZ290byBFUlJPUjM7CisJfQorCisJLyogUmVnaXN0ZXIgdmlydHVhbCBhZGFwdGVycyAqLworCWZvciAoaSA9IDA7IGkgPCA1OyBpKyspIHsKKwkJZXJyb3IgPSBpMmNfYWRkX2FkYXB0ZXIoczQ5ODVfYWRhcHRlciArIGkpOworCQlpZiAoZXJyb3IpIHsKKwkJCWRldl9lcnIoJm5mb3JjZTJfc21idXMtPmRldiwKKwkJCQkiVmlydHVhbCBhZGFwdGVyICVkIHJlZ2lzdHJhdGlvbiAiCisJCQkJImZhaWxlZCwgbW9kdWxlIG5vdCBpbnNlcnRlZFxuIiwgaSk7CisJCQlmb3IgKGktLTsgaSA+PSAwOyBpLS0pCisJCQkJaTJjX2RlbF9hZGFwdGVyKHM0OTg1X2FkYXB0ZXIgKyBpKTsKKwkJCWdvdG8gRVJST1IzOworCQl9CisJfQorCisJcmV0dXJuIDA7CisKK0VSUk9SMzoKKwlrZnJlZShzNDk4NV9hbGdvKTsKKwlzNDk4NV9hbGdvID0gTlVMTDsKK0VSUk9SMjoKKwlrZnJlZShzNDk4NV9hZGFwdGVyKTsKKwlzNDk4NV9hZGFwdGVyID0gTlVMTDsKK0VSUk9SMToKKwkvKiBSZXN0b3JlIHBoeXNpY2FsIGJ1cyAqLworCWkyY19hZGRfYWRhcHRlcihuZm9yY2UyX3NtYnVzKTsKK0VSUk9SMDoKKwlyZXR1cm4gZXJyb3I7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBuZm9yY2UyX3M0OTg1X2V4aXQodm9pZCkKK3sKKwlpZiAoczQ5ODVfYWRhcHRlcikgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorCQkJaTJjX2RlbF9hZGFwdGVyKHM0OTg1X2FkYXB0ZXIraSk7CisJCWtmcmVlKHM0OTg1X2FkYXB0ZXIpOworCQlzNDk4NV9hZGFwdGVyID0gTlVMTDsKKwl9CisJa2ZyZWUoczQ5ODVfYWxnbyk7CisJczQ5ODVfYWxnbyA9IE5VTEw7CisKKwkvKiBSZXN0b3JlIHBoeXNpY2FsIGJ1cyAqLworCWlmIChpMmNfYWRkX2FkYXB0ZXIobmZvcmNlMl9zbWJ1cykpCisJCWRldl9lcnIoJm5mb3JjZTJfc21idXMtPmRldiwgIlBoeXNpY2FsIGJ1cyByZXN0b3JhdGlvbiAiCisJCQkiZmFpbGVkXG4iKTsKK30KKworTU9EVUxFX0FVVEhPUigiSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlM0OTg1IFNNQnVzIG11bHRpcGxleGluZyIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworCittb2R1bGVfaW5pdChuZm9yY2UyX3M0OTg1X2luaXQpOworbW9kdWxlX2V4aXQobmZvcmNlMl9zNDk4NV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLmMKaW5kZXggNDNjOWY4ZC4uM2IxOWJjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLmMKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpAQCAtMTI0LDYgKzEyNSwyMCBAQAogCiBzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgbmZvcmNlMl9kcml2ZXI7CiAKKy8qIEZvciBtdWx0aXBsZXhpbmcgc3VwcG9ydCwgd2UgbmVlZCBhIGdsb2JhbCByZWZlcmVuY2UgdG8gdGhlIDFzdAorICAgU01CdXMgY2hhbm5lbCAqLworI2lmIGRlZmluZWQgQ09ORklHX0kyQ19ORk9SQ0UyX1M0OTg1IHx8IGRlZmluZWQgQ09ORklHX0kyQ19ORk9SQ0UyX1M0OTg1X01PRFVMRQorc3RydWN0IGkyY19hZGFwdGVyICpuZm9yY2UyX3NtYnVzOworRVhQT1JUX1NZTUJPTF9HUEwobmZvcmNlMl9zbWJ1cyk7CisKK3N0YXRpYyB2b2lkIG5mb3JjZTJfc2V0X3JlZmVyZW5jZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJbmZvcmNlMl9zbWJ1cyA9IGFkYXA7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIG5mb3JjZTJfc2V0X3JlZmVyZW5jZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApIHsgfQorI2VuZGlmCisKIHN0YXRpYyB2b2lkIG5mb3JjZTJfYWJvcnQoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQogewogCXN0cnVjdCBuZm9yY2UyX3NtYnVzICpzbWJ1cyA9IGFkYXAtPmFsZ29fZGF0YTsKQEAgLTE1OCwxNiArMTczLDE2IEBACiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKIAkJaWYgKHNtYnVzLT5jYW5fYWJvcnQpCiAJCQluZm9yY2UyX2Fib3J0KGFkYXApOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRVRJTUVET1VUOwogCX0KIAlpZiAoISh0ZW1wICYgTlZJRElBX1NNQl9TVFNfRE9ORSkgfHwgKHRlbXAgJiBOVklESUFfU01CX1NUU19TVEFUVVMpKSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlRyYW5zYWN0aW9uIGZhaWxlZCAoMHglMDJ4KSFcbiIsIHRlbXApOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUlPOwogCX0KIAlyZXR1cm4gMDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IgKi8KIHN0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCXU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCkBAIC0xNzUsNyArMTkwLDcgQEAKIAlzdHJ1Y3QgbmZvcmNlMl9zbWJ1cyAqc21idXMgPSBhZGFwLT5hbGdvX2RhdGE7CiAJdW5zaWduZWQgY2hhciBwcm90b2NvbCwgcGVjOwogCXU4IGxlbjsKLQlpbnQgaTsKKwlpbnQgaSwgc3RhdHVzOwogCiAJcHJvdG9jb2wgPSAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfUkVBRCkgPyBOVklESUFfU01CX1BSVENMX1JFQUQgOgogCQlOVklESUFfU01CX1BSVENMX1dSSVRFOwpAQCAtMjE5LDcgKzIzNCw3IEBACiAJCQkJCQkiVHJhbnNhY3Rpb24gZmFpbGVkICIKIAkJCQkJCSIocmVxdWVzdGVkIGJsb2NrIHNpemU6ICVkKVxuIiwKIAkJCQkJCWxlbik7Ci0JCQkJCXJldHVybiAtMTsKKwkJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQkJfQogCQkJCW91dGJfcChsZW4sIE5WSURJQV9TTUJfQkNOVCk7CiAJCQkJZm9yIChpID0gMDsgaSA8IEkyQ19TTUJVU19CTE9DS19NQVg7IGkrKykKQEAgLTIzMSwxNCArMjQ2LDE1IEBACiAKIAkJZGVmYXVsdDoKIAkJCWRldl9lcnIoJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlvdXRiX3AoKGFkZHIgJiAweDdmKSA8PCAxLCBOVklESUFfU01CX0FERFIpOwogCW91dGJfcChwcm90b2NvbCwgTlZJRElBX1NNQl9QUlRDTCk7CiAKLQlpZiAobmZvcmNlMl9jaGVja19zdGF0dXMoYWRhcCkpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBuZm9yY2UyX2NoZWNrX3N0YXR1cyhhZGFwKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQogCQlyZXR1cm4gMDsKQEAgLTI2MCw3ICsyNzYsNyBAQAogCQkJCWRldl9lcnIoJmFkYXAtPmRldiwgIlRyYW5zYWN0aW9uIGZhaWxlZCAiCiAJCQkJCSIocmVjZWl2ZWQgYmxvY2sgc2l6ZTogMHglMDJ4KVxuIiwKIAkJCQkJbGVuKTsKLQkJCQlyZXR1cm4gLTE7CisJCQkJcmV0dXJuIC1FUFJPVE87CiAJCQl9CiAJCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCiAJCQkJZGF0YS0+YmxvY2tbaSsxXSA9IGluYl9wKE5WSURJQV9TTUJfREFUQSArIGkpOwpAQCAtMzIxLDIxICszMzcsMjYgQEAKIAkJICAgICE9IFBDSUJJT1NfU1VDQ0VTU0ZVTCkgewogCQkJZGV2X2VycigmZGV2LT5kZXYsICJFcnJvciByZWFkaW5nIFBDSSBjb25maWcgZm9yICVzXG4iLAogCQkJCW5hbWUpOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FSU87CiAJCX0KIAogCQlzbWJ1cy0+YmFzZSA9IGlvYmFzZSAmIFBDSV9CQVNFX0FERFJFU1NfSU9fTUFTSzsKIAkJc21idXMtPnNpemUgPSA2NDsKIAl9CiAKKwllcnJvciA9IGFjcGlfY2hlY2tfcmVnaW9uKHNtYnVzLT5iYXNlLCBzbWJ1cy0+c2l6ZSwKKwkJCQkgIG5mb3JjZTJfZHJpdmVyLm5hbWUpOworCWlmIChlcnJvcikKKwkJcmV0dXJuIC0xOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihzbWJ1cy0+YmFzZSwgc21idXMtPnNpemUsIG5mb3JjZTJfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJnNtYnVzLT5hZGFwdGVyLmRldiwgIkVycm9yIHJlcXVlc3RpbmcgcmVnaW9uICUwMnggLi4gJTAyWCBmb3IgJXNcbiIsCiAJCQlzbWJ1cy0+YmFzZSwgc21idXMtPmJhc2Urc21idXMtPnNpemUtMSwgbmFtZSk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FQlVTWTsKIAl9CiAJc21idXMtPmFkYXB0ZXIub3duZXIgPSBUSElTX01PRFVMRTsKIAlzbWJ1cy0+YWRhcHRlci5pZCA9IEkyQ19IV19TTUJVU19ORk9SQ0UyOwotCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvID0gJnNtYnVzX2FsZ29yaXRobTsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvX2RhdGEgPSBzbWJ1czsKIAlzbWJ1cy0+YWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwpAQCAtMzQ2LDcgKzM2Nyw3IEBACiAJaWYgKGVycm9yKSB7CiAJCWRldl9lcnIoJnNtYnVzLT5hZGFwdGVyLmRldiwgIkZhaWxlZCB0byByZWdpc3RlciBhZGFwdGVyLlxuIik7CiAJCXJlbGVhc2VfcmVnaW9uKHNtYnVzLT5iYXNlLCBzbWJ1cy0+c2l6ZSk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIGVycm9yOwogCX0KIAlkZXZfaW5mbygmc21idXMtPmFkYXB0ZXIuZGV2LCAibkZvcmNlMiBTTUJ1cyBhZGFwdGVyIGF0ICUjeFxuIiwgc21idXMtPmJhc2UpOwogCXJldHVybiAwOwpAQCAtMzk4LDYgKzQxOSw3IEBACiAJCXJldHVybiAtRU5PREVWOwogCX0KIAorCW5mb3JjZTJfc2V0X3JlZmVyZW5jZSgmc21idXNlc1swXS5hZGFwdGVyKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDA2LDYgKzQyOCw3IEBACiB7CiAJc3RydWN0IG5mb3JjZTJfc21idXMgKnNtYnVzZXMgPSAodm9pZCopIHBjaV9nZXRfZHJ2ZGF0YShkZXYpOwogCisJbmZvcmNlMl9zZXRfcmVmZXJlbmNlKE5VTEwpOwogCWlmIChzbWJ1c2VzWzBdLmJhc2UpIHsKIAkJaTJjX2RlbF9hZGFwdGVyKCZzbWJ1c2VzWzBdLmFkYXB0ZXIpOwogCQlyZWxlYXNlX3JlZ2lvbihzbWJ1c2VzWzBdLmJhc2UsIHNtYnVzZXNbMF0uc2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jb3Jlcy5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYwppbmRleCBmMTQ1NjkyLi5lNTE5M2JmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jb3Jlcy5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2NvcmVzLmMKQEAgLTI5LDYgKzI5LDcgQEAKIAlpbnQgcG9zOwogCWludCBubXNnczsKIAlpbnQgc3RhdGU7IC8qIHNlZSBTVEFURV8gKi8KKwlpbnQgY2xvY2tfa2h6OwogfTsKIAogLyogcmVnaXN0ZXJzICovCkBAIC0xNzMsOCArMTc0LDcgQEAKIAkJcmV0dXJuIC1FVElNRURPVVQ7CiB9CiAKLXN0YXRpYyB2b2lkIG9jb3Jlc19pbml0KHN0cnVjdCBvY29yZXNfaTJjICppMmMsCi0JCQlzdHJ1Y3Qgb2NvcmVzX2kyY19wbGF0Zm9ybV9kYXRhICpwZGF0YSkKK3N0YXRpYyB2b2lkIG9jb3Jlc19pbml0KHN0cnVjdCBvY29yZXNfaTJjICppMmMpCiB7CiAJaW50IHByZXNjYWxlOwogCXU4IGN0cmwgPSBvY19nZXRyZWcoaTJjLCBPQ0kyQ19DT05UUk9MKTsKQEAgLTE4Miw3ICsxODIsNyBAQAogCS8qIG1ha2Ugc3VyZSB0aGUgZGV2aWNlIGlzIGRpc2FibGVkICovCiAJb2Nfc2V0cmVnKGkyYywgT0NJMkNfQ09OVFJPTCwgY3RybCAmIH4oT0NJMkNfQ1RSTF9FTnxPQ0kyQ19DVFJMX0lFTikpOwogCi0JcHJlc2NhbGUgPSAocGRhdGEtPmNsb2NrX2toeiAvICg1KjEwMCkpIC0gMTsKKwlwcmVzY2FsZSA9IChpMmMtPmNsb2NrX2toeiAvICg1KjEwMCkpIC0gMTsKIAlvY19zZXRyZWcoaTJjLCBPQ0kyQ19QUkVMT1csIHByZXNjYWxlICYgMHhmZik7CiAJb2Nfc2V0cmVnKGkyYywgT0NJMkNfUFJFSElHSCwgcHJlc2NhbGUgPj4gOCk7CiAKQEAgLTIwNSw3ICsyMDUsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBvY29yZXNfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLm5hbWUJCT0gImkyYy1vY29yZXMiLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJm9jb3Jlc19hbGdvcml0aG0sCiB9OwogCkBAIC0yNDgsNyArMjQ4LDggQEAKIAl9CiAKIAlpMmMtPnJlZ3N0ZXAgPSBwZGF0YS0+cmVnc3RlcDsKLQlvY29yZXNfaW5pdChpMmMsIHBkYXRhKTsKKwlpMmMtPmNsb2NrX2toeiA9IHBkYXRhLT5jbG9ja19raHo7CisJb2NvcmVzX2luaXQoaTJjKTsKIAogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmkyYy0+d2FpdCk7CiAJcmV0ID0gcmVxdWVzdF9pcnEocmVzMi0+c3RhcnQsIG9jb3Jlc19pc3IsIDAsIHBkZXYtPm5hbWUsIGkyYyk7CkBAIC0zMTIsMTMgKzMxMyw0MCBAQAogCXJldHVybiAwOwogfQogCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IG9jb3Jlc19pMmNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IG9jb3Jlc19pMmMgKmkyYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXU4IGN0cmwgPSBvY19nZXRyZWcoaTJjLCBPQ0kyQ19DT05UUk9MKTsKKworCS8qIG1ha2Ugc3VyZSB0aGUgZGV2aWNlIGlzIGRpc2FibGVkICovCisJb2Nfc2V0cmVnKGkyYywgT0NJMkNfQ09OVFJPTCwgY3RybCAmIH4oT0NJMkNfQ1RSTF9FTnxPQ0kyQ19DVFJMX0lFTikpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgb2NvcmVzX2kyY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgb2NvcmVzX2kyYyAqaTJjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlvY29yZXNfaW5pdChpMmMpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBvY29yZXNfaTJjX3N1c3BlbmQJTlVMTAorI2RlZmluZSBvY29yZXNfaTJjX3Jlc3VtZQlOVUxMCisjZW5kaWYKKwogLyogd29yayB3aXRoIGhvdHBsdWcgYW5kIGNvbGRwbHVnICovCiBNT0RVTEVfQUxJQVMoInBsYXRmb3JtOm9jb3Jlcy1pMmMiKTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgb2NvcmVzX2kyY19kcml2ZXIgPSB7Ci0JLnByb2JlICA9IG9jb3Jlc19pMmNfcHJvYmUsCi0JLnJlbW92ZSA9IF9fZGV2ZXhpdF9wKG9jb3Jlc19pMmNfcmVtb3ZlKSwKLQkuZHJpdmVyID0geworCS5wcm9iZSAgID0gb2NvcmVzX2kyY19wcm9iZSwKKwkucmVtb3ZlICA9IF9fZGV2ZXhpdF9wKG9jb3Jlc19pMmNfcmVtb3ZlKSwKKwkuc3VzcGVuZCA9IG9jb3Jlc19pMmNfc3VzcGVuZCwKKwkucmVzdW1lICA9IG9jb3Jlc19pMmNfcmVzdW1lLAorCS5kcml2ZXIgID0gewogCQkub3duZXIgPSBUSElTX01PRFVMRSwKIAkJLm5hbWUgPSAib2NvcmVzLWkyYyIsCiAJfSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGFzZW1pLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhc2VtaS5jCmluZGV4IDE2MDNjODEuLmFkZjBmYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGFzZW1pLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wYXNlbWkuYwpAQCAtMzY1LDcgKzM2NSw3IEBACiAJc21idXMtPmFkYXB0ZXIub3duZXIgPSBUSElTX01PRFVMRTsKIAlzbnByaW50ZihzbWJ1cy0+YWRhcHRlci5uYW1lLCBzaXplb2Yoc21idXMtPmFkYXB0ZXIubmFtZSksCiAJCSAiUEEgU2VtaSBTTUJ1cyBhZGFwdGVyIGF0IDB4JWx4Iiwgc21idXMtPmJhc2UpOwotCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvID0gJnNtYnVzX2FsZ29yaXRobTsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvX2RhdGEgPSBzbWJ1czsKIAlzbWJ1cy0+YWRhcHRlci5uciA9IFBDSV9GVU5DKGRldi0+ZGV2Zm4pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wY2EtcGxhdGZvcm0uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGNhLXBsYXRmb3JtLmMKaW5kZXggOWQ3NWY1MS4uNmJiMTVhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wY2EtcGxhdGZvcm0uYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBjYS1wbGF0Zm9ybS5jCkBAIC0xNjMsNyArMTYzLDcgQEAKIAogCWkyYy0+cmVnX2Jhc2UgPSBpb3JlbWFwKHJlcy0+c3RhcnQsIHJlc19sZW4ocmVzKSk7CiAJaWYgKCFpMmMtPnJlZ19iYXNlKSB7Ci0JCXJldCA9IC1FSU87CisJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gZV9yZW1hcDsKIAl9CiAJaTJjLT5pb19iYXNlID0gcmVzLT5zdGFydDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGlpeDQuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGlpeDQuYwppbmRleCBhYzkxNjU5Li5lYWE5YjM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBpaXg0LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1waWl4NC5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBwaWl4NC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCAtIDIwMDIgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+CiAKQEAgLTM5LDE2ICszNywxMCBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kbWkuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIAotc3RydWN0IHNkIHsKLQljb25zdCB1bnNpZ25lZCBzaG9ydCBtZnI7Ci0JY29uc3QgdW5zaWduZWQgc2hvcnQgZGV2OwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgZm47Ci0JY29uc3QgY2hhciAqbmFtZTsKLX07Ci0KIC8qIFBJSVg0IFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLwogI2RlZmluZSBTTUJIU1RTVFMJKDAgKyBwaWl4NF9zbWJhKQogI2RlZmluZSBTTUJIU0xWU1RTCSgxICsgcGlpeDRfc21iYSkKQEAgLTEwMSw4ICs5Myw2IEBACiAJCSAiRm9yY2libHkgZW5hYmxlIHRoZSBQSUlYNCBhdCB0aGUgZ2l2ZW4gYWRkcmVzcy4gIgogCQkgIkVYVFJFTUVMWSBEQU5HRVJPVVMhIik7CiAKLXN0YXRpYyBpbnQgcGlpeDRfdHJhbnNhY3Rpb24odm9pZCk7Ci0KIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBwaWl4NF9zbWJhOwogc3RhdGljIGludCBzcnZyd29ya3NfY3NiNV9kZWxheTsKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBwaWl4NF9kcml2ZXI7CkBAIC0xNDEsOCArMTMxLDYgQEAKIHsKIAl1bnNpZ25lZCBjaGFyIHRlbXA7CiAKLQlkZXZfaW5mbygmUElJWDRfZGV2LT5kZXYsICJGb3VuZCAlcyBkZXZpY2VcbiIsIHBjaV9uYW1lKFBJSVg0X2RldikpOwotCiAJaWYgKChQSUlYNF9kZXYtPnZlbmRvciA9PSBQQ0lfVkVORE9SX0lEX1NFUlZFUldPUktTKSAmJgogCSAgICAoUElJWDRfZGV2LT5kZXZpY2UgPT0gUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19DU0I1KSkKIAkJc3J2cndvcmtzX2NzYjVfZGVsYXkgPSAxOwpAQCAtMTcyLDE3ICsxNjAsMjAgQEAKIAkJcGNpX3JlYWRfY29uZmlnX3dvcmQoUElJWDRfZGV2LCBTTUJCQSwgJnBpaXg0X3NtYmEpOwogCQlwaWl4NF9zbWJhICY9IDB4ZmZmMDsKIAkJaWYocGlpeDRfc21iYSA9PSAwKSB7Ci0JCQlkZXZfZXJyKCZQSUlYNF9kZXYtPmRldiwgIlNNQiBiYXNlIGFkZHJlc3MgIgorCQkJZGV2X2VycigmUElJWDRfZGV2LT5kZXYsICJTTUJ1cyBiYXNlIGFkZHJlc3MgIgogCQkJCSJ1bmluaXRpYWxpemVkIC0gdXBncmFkZSBCSU9TIG9yIHVzZSAiCiAJCQkJImZvcmNlX2FkZHI9MHhhZGRyXG4iKTsKIAkJCXJldHVybiAtRU5PREVWOwogCQl9CiAJfQogCisJaWYgKGFjcGlfY2hlY2tfcmVnaW9uKHBpaXg0X3NtYmEsIFNNQklPU0laRSwgcGlpeDRfZHJpdmVyLm5hbWUpKQorCQlyZXR1cm4gLUVCVVNZOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihwaWl4NF9zbWJhLCBTTUJJT1NJWkUsIHBpaXg0X2RyaXZlci5uYW1lKSkgewotCQlkZXZfZXJyKCZQSUlYNF9kZXYtPmRldiwgIlNNQiByZWdpb24gMHgleCBhbHJlYWR5IGluIHVzZSFcbiIsCisJCWRldl9lcnIoJlBJSVg0X2Rldi0+ZGV2LCAiU01CdXMgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAogCQkJcGlpeDRfc21iYSk7Ci0JCXJldHVybiAtRU5PREVWOworCQlyZXR1cm4gLUVCVVNZOwogCX0KIAogCXBjaV9yZWFkX2NvbmZpZ19ieXRlKFBJSVg0X2RldiwgU01CSFNUQ0ZHLCAmdGVtcCk7CkBAIC0yMjgsMTMgKzIxOSwxMyBAQAogCQkJIihvciBjb2RlIG91dCBvZiBkYXRlKSFcbiIpOwogCiAJcGNpX3JlYWRfY29uZmlnX2J5dGUoUElJWDRfZGV2LCBTTUJSRVYsICZ0ZW1wKTsKLQlkZXZfZGJnKCZQSUlYNF9kZXYtPmRldiwgIlNNQlJFViA9IDB4JVhcbiIsIHRlbXApOwotCWRldl9kYmcoJlBJSVg0X2Rldi0+ZGV2LCAiU01CQSA9IDB4JVhcbiIsIHBpaXg0X3NtYmEpOworCWRldl9pbmZvKCZQSUlYNF9kZXYtPmRldiwKKwkJICJTTUJ1cyBIb3N0IENvbnRyb2xsZXIgYXQgMHgleCwgcmV2aXNpb24gJWRcbiIsCisJCSBwaWl4NF9zbWJhLCB0ZW1wKTsKIAogCXJldHVybiAwOwogfQogCi0vKiBBbm90aGVyIGludGVybmFsbHkgdXNlZCBmdW5jdGlvbiAqLwogc3RhdGljIGludCBwaWl4NF90cmFuc2FjdGlvbih2b2lkKQogewogCWludCB0ZW1wOwpAQCAtMjUzLDcgKzI0NCw3IEBACiAJCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOwogCQlpZiAoKHRlbXAgPSBpbmJfcChTTUJIU1RTVFMpKSAhPSAweDAwKSB7CiAJCQlkZXZfZXJyKCZwaWl4NF9hZGFwdGVyLmRldiwgIkZhaWxlZCEgKCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0gZWxzZSB7CiAJCQlkZXZfZGJnKCZwaWl4NF9hZGFwdGVyLmRldiwgIlN1Y2Nlc3NmdWwhXG4iKTsKIAkJfQpAQCAtMjc1LDIzICsyNjYsMjMgQEAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9lcnIoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MTApIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwogCX0KIAogCWlmICh0ZW1wICYgMHgwOCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2RiZygmcGlpeDRfYWRhcHRlci5kZXYsICJCdXMgY29sbGlzaW9uISBTTUJ1cyBtYXkgYmUgIgogCQkJImxvY2tlZCB1bnRpbCBuZXh0IGhhcmQgcmVzZXQuIChzb3JyeSEpXG4iKTsKIAkJLyogQ2xvY2sgc3RvcHMgYW5kIHNsYXZlIGlzIHN0dWNrIGluIG1pZC10cmFuc21pc3Npb24gKi8KIAl9CiAKIAlpZiAodGVtcCAmIDB4MDQpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAkJZGV2X2RiZygmcGlpeDRfYWRhcHRlci5kZXYsICJFcnJvcjogbm8gcmVzcG9uc2UhXG4iKTsKIAl9CiAKQEAgLTMwOSwzMSArMzAwLDI5IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBwaWl4NF9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCSB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQkgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKIAlpbnQgaSwgbGVuOworCWludCBzdGF0dXM7CiAKIAlzd2l0Y2ggKHNpemUpIHsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6Ci0JCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQ19TTUJVU19QUk9DX0NBTEwgbm90IHN1cHBvcnRlZCFcbiIpOwotCQlyZXR1cm4gLTE7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlzaXplID0gUElJWDRfUVVJQ0s7CiAJCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX0JZVEU6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpCiAJCQlvdXRiX3AoY29tbWFuZCwgU01CSFNUQ01EKTsKIAkJc2l6ZSA9IFBJSVg0X0JZVEU7CiAJCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX0JZVEVfREFUQToKLQkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKKwkJb3V0Yl9wKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwKIAkJICAgICAgIFNNQkhTVEFERCk7CiAJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpCkBAIC0zNDEsNyArMzMwLDcgQEAKIAkJc2l6ZSA9IFBJSVg0X0JZVEVfREFUQTsKIAkJYnJlYWs7CiAJY2FzZSBJMkNfU01CVVNfV09SRF9EQVRBOgotCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAorCQlvdXRiX3AoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLAogCQkgICAgICAgU01CSFNUQUREKTsKIAkJb3V0Yl9wKGNvbW1hbmQsIFNNQkhTVENNRCk7CiAJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgewpAQCAtMzUxLDE1ICszNDAsMTMgQEAKIAkJc2l6ZSA9IFBJSVg0X1dPUkRfREFUQTsKIAkJYnJlYWs7CiAJY2FzZSBJMkNfU01CVVNfQkxPQ0tfREFUQToKLQkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKKwkJb3V0Yl9wKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwKIAkJICAgICAgIFNNQkhTVEFERCk7CiAJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHsKIAkJCWxlbiA9IGRhdGEtPmJsb2NrWzBdOwotCQkJaWYgKGxlbiA8IDApCi0JCQkJbGVuID0gMDsKLQkJCWlmIChsZW4gPiAzMikKLQkJCQlsZW4gPSAzMjsKKwkJCWlmIChsZW4gPT0gMCB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJCXJldHVybiAtRUlOVkFMOwogCQkJb3V0Yl9wKGxlbiwgU01CSFNUREFUMCk7CiAJCQlpID0gaW5iX3AoU01CSFNUQ05UKTsJLyogUmVzZXQgU01CQkxLREFUICovCiAJCQlmb3IgKGkgPSAxOyBpIDw9IGxlbjsgaSsrKQpAQCAtMzY3LDEyICszNTQsMTYgQEAKIAkJfQogCQlzaXplID0gUElJWDRfQkxPQ0tfREFUQTsKIAkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCW91dGJfcCgoc2l6ZSAmIDB4MUMpICsgKEVOQUJMRV9JTlQ5ICYgMSksIFNNQkhTVENOVCk7CiAKLQlpZiAocGlpeDRfdHJhbnNhY3Rpb24oKSkJLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IHBpaXg0X3RyYW5zYWN0aW9uKCk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFBJSVg0X1FVSUNLKSkKIAkJcmV0dXJuIDA7CkBAIC0zODgsNiArMzc5LDggQEAKIAkJYnJlYWs7CiAJY2FzZSBQSUlYNF9CTE9DS19EQVRBOgogCQlkYXRhLT5ibG9ja1swXSA9IGluYl9wKFNNQkhTVERBVDApOworCQlpZiAoZGF0YS0+YmxvY2tbMF0gPT0gMCB8fCBkYXRhLT5ibG9ja1swXSA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQlyZXR1cm4gLUVQUk9UTzsKIAkJaSA9IGluYl9wKFNNQkhTVENOVCk7CS8qIFJlc2V0IFNNQkJMS0RBVCAqLwogCQlmb3IgKGkgPSAxOyBpIDw9IGRhdGEtPmJsb2NrWzBdOyBpKyspCiAJCQlkYXRhLT5ibG9ja1tpXSA9IGluYl9wKFNNQkJMS0RBVCk7CkBAIC00MTEsNyArNDA0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgcGlpeDRfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19QSUlYNCwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBtY21zcC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wbWNtc3AuYwppbmRleCA2M2IzZTJjLi5kY2YyMDQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBtY21zcC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcG1jbXNwLmMKQEAgLTYyMiw3ICs2MjIsNyBAQAogCiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHBtY21zcHR3aV9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZwbWNtc3B0d2lfYWxnbywKIAkubmFtZQkJPSBEUlZfTkFNRSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXByb3NhdmFnZS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdjMWYxZS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXByb3NhdmFnZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMzI1ICswLDAgQEAKLS8qCi0gKiAgICBrZXJuZWwvYnVzc2VzL2kyYy1wcm9zYXZhZ2UuYwotICoKLSAqICAgIGkyYyBidXMgZHJpdmVyIGZvciBTMy9WSUEgODM2NS84Mzc1IGdyYXBoaWNzIHByb2Nlc3Nvci4KLSAqICAgIENvcHlyaWdodCAoYykgMjAwMyBIZW5rIFZlcmdvbmV0IDxoZW5rQGdvZC5keW5kbnMub3JnPgotICogICAgQmFzZWQgb24gY29kZSB3cml0dGVuIGJ5OgotICoJRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKLSAqCVBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCi0gKglSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+LCBhbmQKLSAqCU1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLSAqCVNpbW9uIFZvZ2wKLSAqCWFuZCBvdGhlcnMKLSAqCi0gKiAgICBQbGVhc2UgcmVhZCB0aGUgbG1fc2Vuc29ycyBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzIG9uIHVzZS4KLSAqCi0gKiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSAqCi0gKi8KLS8qICAxOC0wNS0yMDAzIEhWRSAtIGNyZWF0ZWQKLSAqICAxNC0wNi0yMDAzIEhWRSAtIGFkYXB0ZWQgZm9yIGxtX3NlbnNvcnMyCi0gKiAgMTctMDYtMjAwMyBIVkUgLSBsaW51eCAyLjUueHggY29tcGF0aWJsZQotICogIDE4LTA2LTIwMDMgSFZFIC0gY29kaW5nc3R5bGUKLSAqICAyMS0wNi0yMDAzIEhWRSAtIGNvbXBhdGliaWxpdHkgbG1fc2Vuc29yczIgYW5kIGxpbnV4IDIuNS54eAotICoJCSAgICAgY29kaW5nc3R5bGUsIG1taW8gZW5hYmxlZAotICoKLSAqICBUaGlzIGRyaXZlciBpbnRlcmZhY2VzIHRvIHRoZSBJMkMgYnVzIG9mIHRoZSBWSUEgbm9ydGggYnJpZGdlIGVtYmVkZGVkCi0gKiAgUHJvU2F2YWdlNC84IGRldmljZXMuIFVzZWZ1bGwgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBUViBFbmNvZGVyIGNoaXBzLgotICoKLSAqICBHcmFwaGljcyBjb3JlczoKLSAqICAgUzMvVklBIEtNMjY2L1ZUODM3NSBha2EgUHJvU2F2YWdlOAotICogICBTMy9WSUEgS00xMzMvVlQ4MzY1IGFrYSBTYXZhZ2U0Ci0gKgotICogIFR3byBzZXJpYWwgYnVzc2VzIGFyZSBpbXBsZW1lbnRlZDoKLSAqICAgU0VSSUFMMSAtIEkyQyBzZXJpYWwgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlCi0gKiAgIFNFUklBTDIgLSBEREMyIG1vbml0b3IgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlCi0gKgotICogIFRlc3RlZCBvbiBhIEZYNDEgbWFpbmJvYXJkLCBzZWUgaHR0cDovL3d3dy5zaHV0dGxlLmNvbQotICogCi0gKgotICogIFRPRE86Ci0gKiAgLSBpbnRlZ3JhdGlvbiB3aXRoIHByb3NhdmFnZSBmcmFtZWJ1ZmZlciBkZXZpY2UKLSAqICAgIChBZGRpdGlvbmFsIGRvY3VtZW50YXRpb24gbmVlZGVkIDooCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMtYWxnby1iaXQuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLQotLyoKLSAqIGRyaXZlciBjb25maWd1cmF0aW9uCi0gKi8KLSNkZWZpbmUgTUFYX0JVU1NFUwkyCi0KLXN0cnVjdCBzX2kyY19idXMgewotCXZvaWQgX19pb21lbSAqbW12Z2E7Ci0JaW50CWkyY19yZWc7Ci0JaW50CWFkYXBfb2s7Ci0Jc3RydWN0IGkyY19hZGFwdGVyCQlhZGFwOwotCXN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YQlhbGdvOwotfTsKLQotc3RydWN0IHNfaTJjX2NoaXAgewotCXZvaWQgX19pb21lbSAqbW1pbzsKLQlzdHJ1Y3Qgc19pMmNfYnVzCWkyY19idXNbTUFYX0JVU1NFU107Ci19OwotCi0KLS8qCi0gKiBpMmMgY29uZmlndXJhdGlvbgotICovCi0jZGVmaW5lIENZQ0xFX0RFTEFZCTEwCi0jZGVmaW5lIFRJTUVPVVQJCShIWiAvIDIpCi0KLQotLyogCi0gKiBTMy9WSUEgODM2NS84Mzc1IHJlZ2lzdGVycwotICovCi0jZGVmaW5lIFZHQV9DUl9JWAkweDNkNAotI2RlZmluZSBWR0FfQ1JfREFUQQkweDNkNQotCi0jZGVmaW5lIENSX1NFUklBTDEJMHhhMAkvKiBJMkMgc2VyaWFsIGNvbW11bmljYXRpb25zIGludGVyZmFjZSAqLwotI2RlZmluZSBNTV9TRVJJQUwxCTB4ZmYyMAotI2RlZmluZSBDUl9TRVJJQUwyCTB4YjEJLyogRERDMiBtb25pdG9yIGNvbW11bmljYXRpb25zIGludGVyZmFjZSAqLwotCi0vKiBiYXNlZCBvbiB2dDgzNjUgZG9jdW1lbnRhdGlvbiAqLwotI2RlZmluZSBJMkNfRU5BQgkweDEwCi0jZGVmaW5lIEkyQ19TQ0xfT1VUCTB4MDEKLSNkZWZpbmUgSTJDX1NEQV9PVVQJMHgwMgotI2RlZmluZSBJMkNfU0NMX0lOCTB4MDQKLSNkZWZpbmUgSTJDX1NEQV9JTgkweDA4Ci0KLSNkZWZpbmUgU0VUX0NSX0lYKHAsIHZhbCkJd3JpdGViKCh2YWwpLCAocCktPm1tdmdhICsgVkdBX0NSX0lYKQotI2RlZmluZSBTRVRfQ1JfREFUQShwLCB2YWwpCXdyaXRlYigodmFsKSwgKHApLT5tbXZnYSArIFZHQV9DUl9EQVRBKQotI2RlZmluZSBHRVRfQ1JfREFUQShwKQkJcmVhZGIoKHApLT5tbXZnYSArIFZHQV9DUl9EQVRBKQotCi0KLS8qCi0gKiBTZXJpYWwgYnVzIGxpbmUgaGFuZGxpbmcKLSAqCi0gKiBzZXJpYWwgY29tbXVuaWNhdGlvbnMgcmVnaXN0ZXIgYXMgcGFyYW1ldGVyIGluIHByaXZhdGUgZGF0YQotICoKLSAqIFRPRE86IGxvY2tzIHdpdGggb3RoZXIgY29kZSBzZWN0aW9ucyBhY2Nlc3NpbmcgdmlkZW8gcmVnaXN0ZXJzPwotICovCi1zdGF0aWMgdm9pZCBiaXRfczN2aWFfc2V0c2NsKHZvaWQgKmJ1cywgaW50IHZhbCkKLXsKLQlzdHJ1Y3Qgc19pMmNfYnVzICpwID0gKHN0cnVjdCBzX2kyY19idXMgKilidXM7Ci0JdW5zaWduZWQgaW50IHI7Ci0KLQlTRVRfQ1JfSVgocCwgcC0+aTJjX3JlZyk7Ci0JciA9IEdFVF9DUl9EQVRBKHApOwotCXIgfD0gSTJDX0VOQUI7Ci0JaWYgKHZhbCkgewotCQlyIHw9IEkyQ19TQ0xfT1VUOwotCX0gZWxzZSB7Ci0JCXIgJj0gfkkyQ19TQ0xfT1VUOwotCX0KLQlTRVRfQ1JfREFUQShwLCByKTsKLX0KLQotc3RhdGljIHZvaWQgYml0X3MzdmlhX3NldHNkYSh2b2lkICpidXMsIGludCB2YWwpCi17Ci0Jc3RydWN0IHNfaTJjX2J1cyAqcCA9IChzdHJ1Y3Qgc19pMmNfYnVzICopYnVzOwotCXVuc2lnbmVkIGludCByOwotCQotCVNFVF9DUl9JWChwLCBwLT5pMmNfcmVnKTsKLQlyID0gR0VUX0NSX0RBVEEocCk7Ci0JciB8PSBJMkNfRU5BQjsKLQlpZiAodmFsKSB7Ci0JCXIgfD0gSTJDX1NEQV9PVVQ7Ci0JfSBlbHNlIHsKLQkJciAmPSB+STJDX1NEQV9PVVQ7Ci0JfQotCVNFVF9DUl9EQVRBKHAsIHIpOwotfQotCi1zdGF0aWMgaW50IGJpdF9zM3ZpYV9nZXRzY2wodm9pZCAqYnVzKQotewotCXN0cnVjdCBzX2kyY19idXMgKnAgPSAoc3RydWN0IHNfaTJjX2J1cyAqKWJ1czsKLQotCVNFVF9DUl9JWChwLCBwLT5pMmNfcmVnKTsKLQlyZXR1cm4gKDAgIT0gKEdFVF9DUl9EQVRBKHApICYgSTJDX1NDTF9JTikpOwotfQotCi1zdGF0aWMgaW50IGJpdF9zM3ZpYV9nZXRzZGEodm9pZCAqYnVzKQotewotCXN0cnVjdCBzX2kyY19idXMgKnAgPSAoc3RydWN0IHNfaTJjX2J1cyAqKWJ1czsKLQotCVNFVF9DUl9JWChwLCBwLT5pMmNfcmVnKTsKLQlyZXR1cm4gKDAgIT0gKEdFVF9DUl9EQVRBKHApICYgSTJDX1NEQV9JTikpOwotfQotCi0KLS8qCi0gKiBhZGFwdGVyIGluaXRpYWxpc2F0aW9uCi0gKi8KLXN0YXRpYyBpbnQgaTJjX3JlZ2lzdGVyX2J1cyhzdHJ1Y3QgcGNpX2RldiAqZGV2LCBzdHJ1Y3Qgc19pMmNfYnVzICpwLCB2b2lkIF9faW9tZW0gKm1tdmdhLCB1MzIgaTJjX3JlZykKLXsKLQlpbnQgcmV0OwotCXAtPmFkYXAub3duZXIJICA9IFRISVNfTU9EVUxFOwotCXAtPmFkYXAuaWQJICA9IEkyQ19IV19CX1MzVklBOwotCXAtPmFkYXAuYWxnb19kYXRhID0gJnAtPmFsZ287Ci0JcC0+YWRhcC5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwotCXAtPmFsZ28uc2V0c2RhCSAgPSBiaXRfczN2aWFfc2V0c2RhOwotCXAtPmFsZ28uc2V0c2NsCSAgPSBiaXRfczN2aWFfc2V0c2NsOwotCXAtPmFsZ28uZ2V0c2RhCSAgPSBiaXRfczN2aWFfZ2V0c2RhOwotCXAtPmFsZ28uZ2V0c2NsCSAgPSBiaXRfczN2aWFfZ2V0c2NsOwotCXAtPmFsZ28udWRlbGF5CSAgPSBDWUNMRV9ERUxBWTsKLQlwLT5hbGdvLnRpbWVvdXQJICA9IFRJTUVPVVQ7Ci0JcC0+YWxnby5kYXRhCSAgPSBwOwotCXAtPm1tdmdhCSAgPSBtbXZnYTsKLQlwLT5pMmNfcmVnCSAgPSBpMmNfcmVnOwotICAgIAotCXJldCA9IGkyY19iaXRfYWRkX2J1cygmcC0+YWRhcCk7Ci0JaWYgKHJldCkgewotCQlyZXR1cm4gcmV0OwotCX0KLQotCXAtPmFkYXBfb2sgPSAxOwotCXJldHVybiAwOwotfQotCi0KLS8qCi0gKiBDbGVhbnVwIHN0dWZmCi0gKi8KLXN0YXRpYyB2b2lkIHByb3NhdmFnZV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQlzdHJ1Y3Qgc19pMmNfY2hpcCAqY2hpcDsKLQlpbnQgaSwgcmV0OwotCi0JY2hpcCA9IChzdHJ1Y3Qgc19pMmNfY2hpcCAqKXBjaV9nZXRfZHJ2ZGF0YShkZXYpOwotCi0JaWYgKCFjaGlwKSB7Ci0JCXJldHVybjsKLQl9Ci0JZm9yIChpID0gTUFYX0JVU1NFUyAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCWlmIChjaGlwLT5pMmNfYnVzW2ldLmFkYXBfb2sgPT0gMCkKLQkJCWNvbnRpbnVlOwotCi0JCXJldCA9IGkyY19kZWxfYWRhcHRlcigmY2hpcC0+aTJjX2J1c1tpXS5hZGFwKTsKLQkgICAgICAgIGlmIChyZXQpIHsKLQkJCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgbm90IHJlbW92ZWRcbiIsCi0JCQkJY2hpcC0+aTJjX2J1c1tpXS5hZGFwLm5hbWUpOwotCQl9Ci0JfQotCWlmIChjaGlwLT5tbWlvKSB7Ci0JCWlvdW5tYXAoY2hpcC0+bW1pbyk7Ci0JfQotCWtmcmVlKGNoaXApOwotfQotCi0KLS8qCi0gKiBEZXRlY3QgY2hpcCBhbmQgaW5pdGlhbGl6ZSBpdAotICovCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBwcm9zYXZhZ2VfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQotewotCWludCByZXQ7Ci0JdW5zaWduZWQgbG9uZyBiYXNlLCBsZW47Ci0Jc3RydWN0IHNfaTJjX2NoaXAgKmNoaXA7Ci0Jc3RydWN0IHNfaTJjX2J1cyAgKmJ1czsKLQotCXBjaV9zZXRfZHJ2ZGF0YShkZXYsIGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzX2kyY19jaGlwKSwgR0ZQX0tFUk5FTCkpOwotCWNoaXAgPSAoc3RydWN0IHNfaTJjX2NoaXAgKilwY2lfZ2V0X2RydmRhdGEoZGV2KTsKLQlpZiAoY2hpcCA9PSBOVUxMKSB7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KLQotCWJhc2UgPSBkZXYtPnJlc291cmNlWzBdLnN0YXJ0ICYgUENJX0JBU0VfQUREUkVTU19NRU1fTUFTSzsKLQlsZW4gID0gZGV2LT5yZXNvdXJjZVswXS5lbmQgLSBiYXNlICsgMTsKLQljaGlwLT5tbWlvID0gaW9yZW1hcF9ub2NhY2hlKGJhc2UsIGxlbik7Ci0KLQlpZiAoY2hpcC0+bW1pbyA9PSBOVUxMKSB7Ci0JCWRldl9lcnIoJmRldi0+ZGV2LCAiaW9yZW1hcCBmYWlsZWRcbiIpOwotCQlwcm9zYXZhZ2VfcmVtb3ZlKGRldik7Ci0JCXJldHVybiAtRU5PREVWOwotCX0KLQotCi0JLyoKLQkgKiBDaGlwIGluaXRpYWxpc2F0aW9uCi0JICovCi0JLyogVW5sb2NrIEV4dGVuZGVkIElPIFNwYWNlID8/PyAqLwotCi0KLQkvKgotCSAqIGkyYyBidXMgcmVnaXN0cmF0aW9uCi0JICovCi0JYnVzID0gJmNoaXAtPmkyY19idXNbMF07Ci0Jc25wcmludGYoYnVzLT5hZGFwLm5hbWUsIHNpemVvZihidXMtPmFkYXAubmFtZSksCi0JCSJQcm9TYXZhZ2UgSTJDIGJ1cyBhdCAlMDJ4OiUwMnguJXgiLAotCQlkZXYtPmJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXYtPmRldmZuKSwgUENJX0ZVTkMoZGV2LT5kZXZmbikpOwotCXJldCA9IGkyY19yZWdpc3Rlcl9idXMoZGV2LCBidXMsIGNoaXAtPm1taW8gKyAweDgwMDAsIENSX1NFUklBTDEpOwotCWlmIChyZXQpIHsKLQkJZ290byBlcnJfYWRhcDsKLQl9Ci0JLyoKLQkgKiBkZGMgYnVzIHJlZ2lzdHJhdGlvbgotCSAqLwotCWJ1cyA9ICZjaGlwLT5pMmNfYnVzWzFdOwotCXNucHJpbnRmKGJ1cy0+YWRhcC5uYW1lLCBzaXplb2YoYnVzLT5hZGFwLm5hbWUpLAotCQkiUHJvU2F2YWdlIEREQyBidXMgYXQgJTAyeDolMDJ4LiV4IiwKLQkJZGV2LT5idXMtPm51bWJlciwgUENJX1NMT1QoZGV2LT5kZXZmbiksIFBDSV9GVU5DKGRldi0+ZGV2Zm4pKTsKLQlyZXQgPSBpMmNfcmVnaXN0ZXJfYnVzKGRldiwgYnVzLCBjaGlwLT5tbWlvICsgMHg4MDAwLCBDUl9TRVJJQUwyKTsKLQlpZiAocmV0KSB7Ci0JCWdvdG8gZXJyX2FkYXA7Ci0JfQotCXJldHVybiAwOwotZXJyX2FkYXA6Ci0JZGV2X2VycigmZGV2LT5kZXYsICIlcyBmYWlsZWRcbiIsIGJ1cy0+YWRhcC5uYW1lKTsKLQlwcm9zYXZhZ2VfcmVtb3ZlKGRldik7Ci0JcmV0dXJuIHJldDsKLX0KLQotCi0vKgotICogRGF0YSBmb3IgUENJIGRyaXZlciBpbnRlcmZhY2UKLSAqLwotc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHByb3NhdmFnZV9wY2lfdGJsW10gPSB7Ci0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfUzMsIFBDSV9ERVZJQ0VfSURfUzNfU0FWQUdFNCkgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9TMywgUENJX0RFVklDRV9JRF9TM19QUk9TQVZBR0U4KSB9LAotCXsgMCwgfSwKLX07Ci0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUgKHBjaSwgcHJvc2F2YWdlX3BjaV90YmwpOwotCi1zdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgcHJvc2F2YWdlX2RyaXZlciA9IHsKLQkubmFtZQkJPQkicHJvc2F2YWdlX3NtYnVzIiwKLQkuaWRfdGFibGUJPQlwcm9zYXZhZ2VfcGNpX3RibCwKLQkucHJvYmUJCT0JcHJvc2F2YWdlX3Byb2JlLAotCS5yZW1vdmUJCT0JcHJvc2F2YWdlX3JlbW92ZSwKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGkyY19wcm9zYXZhZ2VfaW5pdCh2b2lkKQotewotCXJldHVybiBwY2lfcmVnaXN0ZXJfZHJpdmVyKCZwcm9zYXZhZ2VfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGkyY19wcm9zYXZhZ2VfZXhpdCh2b2lkKQotewotCXBjaV91bnJlZ2lzdGVyX2RyaXZlcigmcHJvc2F2YWdlX2RyaXZlcik7Ci19Ci0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBwcm9zYXZhZ2VfcGNpX3RibCk7Ci1NT0RVTEVfQVVUSE9SKCJIZW5rIFZlcmdvbmV0Iik7Ci1NT0RVTEVfREVTQ1JJUFRJT04oIlByb1NhdmFnZSBWSUEgODM2NS84Mzc1IHNtYnVzIGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdCAoaTJjX3Byb3NhdmFnZV9pbml0KTsKLW1vZHVsZV9leGl0IChpMmNfcHJvc2F2YWdlX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1weGEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHhhLmMKaW5kZXggZWI2OWZiYS4uYWY5ZTYwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1weGEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXB4YS5jCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaTJjLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgogCiBzdHJ1Y3QgcHhhX2kyYyB7CiAJc3BpbmxvY2tfdAkJbG9jazsKQEAgLTk0NSwzMiArOTQ0LDYgQEAKIAkuZnVuY3Rpb25hbGl0eQk9IGkyY19weGFfZnVuY3Rpb25hbGl0eSwKIH07CiAKLXN0YXRpYyB2b2lkIGkyY19weGFfZW5hYmxlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlpZiAoY3B1X2lzX3B4YTI3eCgpKSB7Ci0JCXN3aXRjaCAoZGV2LT5pZCkgewotCQljYXNlIDA6Ci0JCQlweGFfZ3Bpb19tb2RlKEdQSU8xMTdfSTJDU0NMX01EKTsKLQkJCXB4YV9ncGlvX21vZGUoR1BJTzExOF9JMkNTREFfTUQpOwotCQkJYnJlYWs7Ci0JCWNhc2UgMToKLQkJCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCQlQQ0ZSIHw9IFBDRlJfUEkyQ0VOOwotCQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGkyY19weGFfZGlzYWJsZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCi17Ci0JaWYgKGNwdV9pc19weGEyN3goKSAmJiBkZXYtPmlkID09IDEpIHsKLQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJUENGUiAmPSB+UENGUl9QSTJDRU47Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQl9Ci19Ci0KICNkZWZpbmUgcmVzX2xlbihyKQkJKChyKS0+ZW5kIC0gKHIpLT5zdGFydCArIDEpCiBzdGF0aWMgaW50IGkyY19weGFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQogewpAQCAtMTAzNiw3ICsxMDA5LDYgQEAKICNlbmRpZgogCiAJY2xrX2VuYWJsZShpMmMtPmNsayk7Ci0JaTJjX3B4YV9lbmFibGUoZGV2KTsKIAogCWlmIChwbGF0KSB7CiAJCWkyYy0+YWRhcC5jbGFzcyA9IHBsYXQtPmNsYXNzOwpAQCAtMTA4MCw3ICsxMDUyLDYgQEAKIAkJZnJlZV9pcnEoaXJxLCBpMmMpOwogZXJlcWlycToKIAljbGtfZGlzYWJsZShpMmMtPmNsayk7Ci0JaTJjX3B4YV9kaXNhYmxlKGRldik7CiAJaW91bm1hcChpMmMtPnJlZ19iYXNlKTsKIGVyZW1hcDoKIAljbGtfcHV0KGkyYy0+Y2xrKTsKQEAgLTExMDMsNyArMTA3NCw2IEBACiAKIAljbGtfZGlzYWJsZShpMmMtPmNsayk7CiAJY2xrX3B1dChpMmMtPmNsayk7Ci0JaTJjX3B4YV9kaXNhYmxlKGRldik7CiAKIAlpb3VubWFwKGkyYy0+cmVnX2Jhc2UpOwogCXJlbGVhc2VfbWVtX3JlZ2lvbihpMmMtPmlvYmFzZSwgaTJjLT5pb3NpemUpOwpAQCAtMTEzNCw1ICsxMTA0LDUgQEAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIE1PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMnh4LWkyYyIpOwogCi1tb2R1bGVfaW5pdChpMmNfYWRhcF9weGFfaW5pdCk7CitzdWJzeXNfaW5pdGNhbGwoaTJjX2FkYXBfcHhhX2luaXQpOwogbW9kdWxlX2V4aXQoaTJjX2FkYXBfcHhhX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zM2MyNDEwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXMzYzI0MTAuYwppbmRleCA5ZThjODc1Li4wMDczOTBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXMzYzI0MTAuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXMzYzI0MTAuYwpAQCAtNTkwLDcgKzU5MCw3IEBACiAJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJCS5hbGdvCQkJPSAmczNjMjR4eF9pMmNfYWxnb3JpdGhtLAogCQkucmV0cmllcwkJPSAyLAotCQkuY2xhc3MJCQk9IEkyQ19DTEFTU19IV01PTiwKKwkJLmNsYXNzCQkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCX0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNhdmFnZTQuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YWRmNGFiLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNC5jCisrKyAvZGV2L251bGwKQEAgLTEsMTg1ICswLDAgQEAKLS8qCi0gICAgaTJjLXNhdmFnZTQuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKLSAgICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAwMyAgVGhlIExNIFNlbnNvcnMgVGVhbQotICAgIEFsZXhhbmRlciBXb2xkIDxhd29sZEBiaWdmb290LmNvbT4KLSAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0gICAgCi0gICAgQmFzZWQgb24gaTJjLXZvb2RvbzMuYy4KLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotKi8KLQotLyogVGhpcyBpbnRlcmZhY2VzIHRvIHRoZSBJMkMgYnVzIG9mIHRoZSBTYXZhZ2U0IHRvIGdhaW4gYWNjZXNzIHRvCi0gICB0aGUgQlQ4NjkgYW5kIHBvc3NpYmx5IG90aGVyIEkyQyBkZXZpY2VzLiBUaGUgRERDIGJ1cyBpcyBub3QKLSAgIHlldCBzdXBwb3J0ZWQgYmVjYXVzZSBpdHMgcmVnaXN0ZXIgaXMgbm90IG1lbW9yeS1tYXBwZWQuCi0qLwotCi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgotI2luY2x1ZGUgPGxpbnV4L2kyYy1hbGdvLWJpdC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotCi0vKiBkZXZpY2UgSURzICovCi0jZGVmaW5lIFBDSV9DSElQX1NBVkFHRTQJMHg4QTIyCi0jZGVmaW5lIFBDSV9DSElQX1NBVkFHRTIwMDAJMHg5MTAyCi0KLSNkZWZpbmUgUkVHCQkJMHhmZjIwCS8qIFNlcmlhbCBQb3J0IDEgUmVnaXN0ZXIgKi8KLQotLyogYml0IGxvY2F0aW9ucyBpbiB0aGUgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgSTJDX0VOQUIJCTB4MDAwMDAwMjAKLSNkZWZpbmUgSTJDX1NDTF9PVVQJCTB4MDAwMDAwMDEKLSNkZWZpbmUgSTJDX1NEQV9PVVQJCTB4MDAwMDAwMDIKLSNkZWZpbmUgSTJDX1NDTF9JTgkJMHgwMDAwMDAwOAotI2RlZmluZSBJMkNfU0RBX0lOCQkweDAwMDAwMDEwCi0KLS8qIGRlbGF5cyAqLwotI2RlZmluZSBDWUNMRV9ERUxBWQkJMTAKLSNkZWZpbmUgVElNRU9VVAkJCShIWiAvIDIpCi0KLQotc3RhdGljIHZvaWQgX19pb21lbSAqaW9hZGRyOwotCi0vKiBUaGUgc2F2IEdQSU8gcmVnaXN0ZXJzIGRvbid0IGhhdmUgaW5kaXZpZHVhbCBtYXNrcyBmb3IgZWFjaCBiaXQKLSAgIHNvIHdlIGFsd2F5cyBoYXZlIHRvIHJlYWQgYmVmb3JlIHdyaXRpbmcuICovCi0KLXN0YXRpYyB2b2lkIGJpdF9zYXZpMmNfc2V0c2NsKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0JdW5zaWduZWQgaW50IHI7Ci0JciA9IHJlYWRsKGlvYWRkciArIFJFRyk7Ci0JaWYodmFsKQotCQlyIHw9IEkyQ19TQ0xfT1VUOwotCWVsc2UKLQkJciAmPSB+STJDX1NDTF9PVVQ7Ci0Jd3JpdGVsKHIsIGlvYWRkciArIFJFRyk7Ci0JcmVhZGwoaW9hZGRyICsgUkVHKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLXN0YXRpYyB2b2lkIGJpdF9zYXZpMmNfc2V0c2RhKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0JdW5zaWduZWQgaW50IHI7Ci0JciA9IHJlYWRsKGlvYWRkciArIFJFRyk7Ci0JaWYodmFsKQotCQlyIHw9IEkyQ19TREFfT1VUOwotCWVsc2UKLQkJciAmPSB+STJDX1NEQV9PVVQ7Ci0Jd3JpdGVsKHIsIGlvYWRkciArIFJFRyk7Ci0JcmVhZGwoaW9hZGRyICsgUkVHKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLS8qIFRoZSBHUElPIHBpbnMgYXJlIG9wZW4gZHJhaW4sIHNvIHRoZSBwaW5zIGFsd2F5cyByZW1haW4gb3V0cHV0cy4KLSAgIFdlIHJlbHkgb24gdGhlIGkyYy1hbGdvLWJpdCByb3V0aW5lcyB0byBzZXQgdGhlIHBpbnMgaGlnaCBiZWZvcmUKLSAgIHJlYWRpbmcgdGhlIGlucHV0IGZyb20gb3RoZXIgY2hpcHMuICovCi0KLXN0YXRpYyBpbnQgYml0X3NhdmkyY19nZXRzY2wodm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIFJFRykgJiBJMkNfU0NMX0lOKSk7Ci19Ci0KLXN0YXRpYyBpbnQgYml0X3NhdmkyY19nZXRzZGEodm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIFJFRykgJiBJMkNfU0RBX0lOKSk7Ci19Ci0KLS8qIENvbmZpZ3VyZXMgdGhlIGNoaXAgKi8KLQotc3RhdGljIGludCBjb25maWdfczQoc3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQl1bnNpZ25lZCBsb25nIGNhZHI7Ci0KLQkvKiBtYXAgbWVtb3J5ICovCi0JY2FkciA9IGRldi0+cmVzb3VyY2VbMF0uc3RhcnQ7Ci0JY2FkciAmPSBQQ0lfQkFTRV9BRERSRVNTX01FTV9NQVNLOwotCWlvYWRkciA9IGlvcmVtYXBfbm9jYWNoZShjYWRyLCAweDAwODAwMDApOwotCWlmIChpb2FkZHIpIHsKLQkJLyogd3JpdGVsKDB4ODE2MCwgaW9hZGRyICsgUkVHMik7ICovCi0JCXdyaXRlbCgweDAwMDAwMDIwLCBpb2FkZHIgKyBSRUcpOwotCQlkZXZfaW5mbygmZGV2LT5kZXYsICJVc2luZyBTYXZhZ2U0IGF0ICVwXG4iLCBpb2FkZHIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JcmV0dXJuIC1FTk9ERVY7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEgc2F2X2kyY19iaXRfZGF0YSA9IHsKLQkuc2V0c2RhCQk9IGJpdF9zYXZpMmNfc2V0c2RhLAotCS5zZXRzY2wJCT0gYml0X3NhdmkyY19zZXRzY2wsCi0JLmdldHNkYQkJPSBiaXRfc2F2aTJjX2dldHNkYSwKLQkuZ2V0c2NsCQk9IGJpdF9zYXZpMmNfZ2V0c2NsLAotCS51ZGVsYXkJCT0gQ1lDTEVfREVMQVksCi0JLnRpbWVvdXQJPSBUSU1FT1VUCi19OwotCi1zdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNhdmFnZTRfaTJjX2FkYXB0ZXIgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5pZAkJPSBJMkNfSFdfQl9TQVZBR0UsCi0JLm5hbWUJCT0gIkkyQyBTYXZhZ2U0IGFkYXB0ZXIiLAotCS5hbGdvX2RhdGEJPSAmc2F2X2kyY19iaXRfZGF0YSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzYXZhZ2U0X2lkc1tdIF9fZGV2aW5pdGRhdGEgPSB7Ci0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfUzMsIFBDSV9DSElQX1NBVkFHRTQpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfUzMsIFBDSV9DSElQX1NBVkFHRTIwMDApIH0sCi0JeyAwLCB9Ci19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFIChwY2ksIHNhdmFnZTRfaWRzKTsKLQotc3RhdGljIGludCBfX2RldmluaXQgc2F2YWdlNF9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpCi17Ci0JaW50IHJldHZhbDsKLQotCXJldHZhbCA9IGNvbmZpZ19zNChkZXYpOwotCWlmIChyZXR2YWwpCi0JCXJldHVybiByZXR2YWw7Ci0KLQkvKiBzZXQgdXAgdGhlIHN5c2ZzIGxpbmthZ2UgdG8gb3VyIHBhcmVudCBkZXZpY2UgKi8KLQlzYXZhZ2U0X2kyY19hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2LT5kZXY7Ci0KLQlyZXR1cm4gaTJjX2JpdF9hZGRfYnVzKCZzYXZhZ2U0X2kyY19hZGFwdGVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19kZXZleGl0IHNhdmFnZTRfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0JaTJjX2RlbF9hZGFwdGVyKCZzYXZhZ2U0X2kyY19hZGFwdGVyKTsKLQlpb3VubWFwKGlvYWRkcik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzYXZhZ2U0X2RyaXZlciA9IHsKLQkubmFtZQkJPSAic2F2YWdlNF9zbWJ1cyIsCi0JLmlkX3RhYmxlCT0gc2F2YWdlNF9pZHMsCi0JLnByb2JlCQk9IHNhdmFnZTRfcHJvYmUsCi0JLnJlbW92ZQkJPSBfX2RldmV4aXRfcChzYXZhZ2U0X3JlbW92ZSksCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpMmNfc2F2YWdlNF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHBjaV9yZWdpc3Rlcl9kcml2ZXIoJnNhdmFnZTRfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGkyY19zYXZhZ2U0X2V4aXQodm9pZCkKLXsKLQlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJnNhdmFnZTRfZHJpdmVyKTsKLX0KLQotTU9EVUxFX0FVVEhPUigiQWxleGFuZGVyIFdvbGQgPGF3b2xkQGJpZ2Zvb3QuY29tPiAiCi0JCSJhbmQgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJTYXZhZ2U0IEkyQy9TTUJ1cyBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoaTJjX3NhdmFnZTRfaW5pdCk7Ci1tb2R1bGVfZXhpdChpMmNfc2F2YWdlNF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lieXRlLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpYnl0ZS5jCmluZGV4IDExNDYzNGQuLjRkZGVmYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lieXRlLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaWJ5dGUuYwpAQCAtMTQzLDcgKzE0Myw3IEBACiAJY3NyX291dDMyKHNwZWVkLCBTTUJfQ1NSKGFkYXAsUl9TTUJfRlJFUSkpOwogCWNzcl9vdXQzMigwLCBTTUJfQ1NSKGFkYXAsUl9TTUJfQ09OVFJPTCkpOwogCi0JcmV0dXJuIGkyY19hZGRfYWRhcHRlcihpMmNfYWRhcCk7CisJcmV0dXJuIGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcihpMmNfYWRhcCk7CiB9CiAKIApAQCAtMTU2LDE3ICsxNTYsMTkgQEAKIAl7CiAJCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkJLmlkCQk9IEkyQ19IV19TSUJZVEUsCi0JCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCQkuYWxnbwkJPSBOVUxMLAogCQkuYWxnb19kYXRhCT0gJnNpYnl0ZV9ib2FyZF9kYXRhWzBdLAorCQkubnIJCT0gMCwKIAkJLm5hbWUJCT0gIlNpQnl0ZSBTTUJ1cyAwIiwKIAl9LAogCXsKIAkJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCQkuaWQJCT0gSTJDX0hXX1NJQllURSwKLQkJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJCS5hbGdvCQk9IE5VTEwsCiAJCS5hbGdvX2RhdGEJPSAmc2lieXRlX2JvYXJkX2RhdGFbMV0sCisJCS5ucgkJPSAxLAogCQkubmFtZQkJPSAiU2lCeXRlIFNNQnVzIDEiLAogCX0sCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM1NTk1LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczU1OTUuYwppbmRleCA5Y2E4ZjkxLi5kZmMyZDVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczU1OTUuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczU1OTUuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgc2lzNTU5NS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCwgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+CiAKQEAgLTYyLDYgKzYwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiBzdGF0aWMgaW50IGJsYWNrbGlzdFtdID0gewpAQCAtMTc0LDYgKzE3MywxMSBAQAogCiAJLyogTkI6IFdlIGdyYWIganVzdCB0aGUgdHdvIFNNQnVzIHJlZ2lzdGVycyBoZXJlLCBidXQgdGhpcyBtYXkgc3RpbGwKIAkgKiBpbnRlcmZlcmUgd2l0aCBBQ1BJIDotKCAgKi8KKwlyZXR2YWwgPSBhY3BpX2NoZWNrX3JlZ2lvbihzaXM1NTk1X2Jhc2UgKyBTTUJfSU5ERVgsIDIsCisJCQkJICAgc2lzNTU5NV9kcml2ZXIubmFtZSk7CisJaWYgKHJldHZhbCkKKwkJcmV0dXJuIHJldHZhbDsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oc2lzNTU5NV9iYXNlICsgU01CX0lOREVYLCAyLAogCQkJICAgIHNpczU1OTVfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJlNJUzU1OTVfZGV2LT5kZXYsICJTTUJ1cyByZWdpc3RlcnMgMHglMDR4LTB4JTA0eCBhbHJlYWR5IGluIHVzZSFcbiIsCkBAIC0yMzYsNyArMjQwLDcgQEAKIAkJc2lzNTU5NV93cml0ZShTTUJfU1RTX0hJLCB0ZW1wID4+IDgpOwogCQlpZiAoKHRlbXAgPSBzaXM1NTk1X3JlYWQoU01CX1NUU19MTykgKyAoc2lzNTU5NV9yZWFkKFNNQl9TVFNfSEkpIDw8IDgpKSAhPSAweDAwKSB7CiAJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJGYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9IGVsc2UgewogCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU3VjY2Vzc2Z1bCFcbiIpOwogCQl9CkBAIC0yNTQsMTkgKzI1OCwxOSBAQAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MTApIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCX0KIAogCWlmICh0ZW1wICYgMHgyMCkgewogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJCdXMgY29sbGlzaW9uISBTTUJ1cyBtYXkgYmUgbG9ja2VkIHVudGlsICIKIAkJCSJuZXh0IGhhcmQgcmVzZXQgKG9yIG5vdC4uLilcbiIpOwogCQkvKiBDbG9jayBzdG9wcyBhbmQgc2xhdmUgaXMgc3R1Y2sgaW4gbWlkLXRyYW5zbWlzc2lvbiAqLwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAl9CiAKIAl0ZW1wID0gc2lzNTU5NV9yZWFkKFNNQl9TVFNfTE8pICsgKHNpczU1OTVfcmVhZChTTUJfU1RTX0hJKSA8PCA4KTsKQEAgLTI4MiwxMSArMjg2LDEzIEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBzaXM1NTk1X2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAogCQkJICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQkJICB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCiB7CisJaW50IHN0YXR1czsKKwogCXN3aXRjaCAoc2l6ZSkgewogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlzaXM1NTk1X3dyaXRlKFNNQl9BRERSLCAoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSkpOwpAQCAtMzE4LDEzICszMjQsMTQgQEAKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJc2lzNTU5NV93cml0ZShTTUJfQ1RMX0xPLCAoKHNpemUgJiAweDBFKSkpOwogCi0JaWYgKHNpczU1OTVfdHJhbnNhY3Rpb24oYWRhcCkpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBzaXM1NTk1X3RyYW5zYWN0aW9uKGFkYXApOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHNpemUgIT0gU0lTNTU5NV9QUk9DX0NBTEwpICYmCiAJICAgICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFNJUzU1OTVfUVVJQ0spKSkKQEAgLTM1OSw3ICszNjYsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzaXM1NTk1X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfU0lTNTU5NSwKLQkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM2MzAuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNjMwLmMKaW5kZXggMzc2NWRkNy4uZTdjNGI3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM2MzAuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczYzMC5jCkBAIC0xLDcgKzEsNCBAQAogLyoKLSAgICBpMmMtc2lzNjMwLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0KICAgICBDb3B5cmlnaHQgKGMpIDIwMDIsMjAwMyBBbGV4YW5kZXIgTWFseXNoIDxhbWFseXNoQHdlYi5kZT4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC01NSw2ICs1Miw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogU0lTNjMwIFNNQnVzIHJlZ2lzdGVycyAqLwpAQCAtMTM0LDcgKzEzMiw3IEBACiAKIAkJaWYgKCh0ZW1wID0gc2lzNjMwX3JlYWQoU01CX0NOVCkgJiAweDAzKSAhPSAweDAwKSB7CiAJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJGYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTdWNjZXNzZnVsIVxuIik7CiAJCX0KQEAgLTE3NywxNyArMTc1LDE3IEBACiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCX0KIAogCWlmICh0ZW1wICYgMHgwMikgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJfQogCiAJaWYgKHRlbXAgJiAweDA0KSB7CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIkJ1cyBjb2xsaXNpb24hXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCS8qCiAJCSAgVEJEOiBEYXRhc2hlZXQgc2F5OgogCQkgIHRoZSBzb2Z0d2FyZSBzaG91bGQgY2xlYXIgdGhpcyBiaXQgYW5kIHJlc3RhcnQgU01CVVMgb3BlcmF0aW9uLgpAQCAtMjUwLDggKzI0OCwxMCBAQAogCQkJaWYgKGk9PTggfHwgKGxlbjw4ICYmIGk9PWxlbikpIHsKIAkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJzdGFydCB0cmFucyBsZW49JWQgaT0lZFxuIixsZW4gLGkpOwogCQkJCS8qIGZpcnN0IHRyYW5zYWN0aW9uICovCi0JCQkJaWYgKHNpczYzMF90cmFuc2FjdGlvbl9zdGFydChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSwgJm9sZGNsb2NrKSkKLQkJCQkJcmV0dXJuIC0xOworCQkJCXJjID0gc2lzNjMwX3RyYW5zYWN0aW9uX3N0YXJ0KGFkYXAsCisJCQkJCQlTSVM2MzBfQkxPQ0tfREFUQSwgJm9sZGNsb2NrKTsKKwkJCQlpZiAocmMpCisJCQkJCXJldHVybiByYzsKIAkJCX0KIAkJCWVsc2UgaWYgKChpLTEpJTggPT0gNyB8fCBpPT1sZW4pIHsKIAkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0cmFuc193YWl0IGxlbj0lZCBpPSVkXG4iLGxlbixpKTsKQEAgLTI2NCw5ICsyNjQsMTAgQEAKIAkJCQkJKi8KIAkJCQkJc2lzNjMwX3dyaXRlKFNNQl9TVFMsMHgxMCk7CiAJCQkJfQotCQkJCWlmIChzaXM2MzBfdHJhbnNhY3Rpb25fd2FpdChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSkpIHsKKwkJCQlyYyA9IHNpczYzMF90cmFuc2FjdGlvbl93YWl0KGFkYXAsCisJCQkJCQlTSVM2MzBfQkxPQ0tfREFUQSk7CisJCQkJaWYgKHJjKSB7CiAJCQkJCWRldl9kYmcoJmFkYXAtPmRldiwgInRyYW5zX3dhaXQgZmFpbGVkXG4iKTsKLQkJCQkJcmMgPSAtMTsKIAkJCQkJYnJlYWs7CiAJCQkJfQogCQkJfQpAQCAtMjc1LDEzICsyNzYsMTQgQEAKIAllbHNlIHsKIAkJLyogcmVhZCByZXF1ZXN0ICovCiAJCWRhdGEtPmJsb2NrWzBdID0gbGVuID0gMDsKLQkJaWYgKHNpczYzMF90cmFuc2FjdGlvbl9zdGFydChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSwgJm9sZGNsb2NrKSkgewotCQkJcmV0dXJuIC0xOwotCQl9CisJCXJjID0gc2lzNjMwX3RyYW5zYWN0aW9uX3N0YXJ0KGFkYXAsCisJCQkJU0lTNjMwX0JMT0NLX0RBVEEsICZvbGRjbG9jayk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKIAkJZG8gewotCQkJaWYgKHNpczYzMF90cmFuc2FjdGlvbl93YWl0KGFkYXAsIFNJUzYzMF9CTE9DS19EQVRBKSkgeworCQkJcmMgPSBzaXM2MzBfdHJhbnNhY3Rpb25fd2FpdChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSk7CisJCQlpZiAocmMpIHsKIAkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0cmFuc193YWl0IGZhaWxlZFxuIik7Ci0JCQkJcmMgPSAtMTsKIAkJCQlicmVhazsKIAkJCX0KIAkJCS8qIGlmIHRoaXMgZmlyc3QgdHJhbnNhY3Rpb24gdGhlbiByZWFkIGJ5dGUgY291bnQgKi8KQEAgLTMxMSwxMSArMzEzLDEzIEBACiAJcmV0dXJuIHJjOwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIHNpczYzMF9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKIAkJCSB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQkJIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKIHsKKwlpbnQgc3RhdHVzOworCiAJc3dpdGNoIChzaXplKSB7CiAJCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQkJc2lzNjMwX3dyaXRlKFNNQl9BRERSLCAoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSkpOwpAQCAtMzUwLDEzICszNTQsMTQgQEAKIAkJCXNpemUgPSBTSVM2MzBfQkxPQ0tfREFUQTsKIAkJCXJldHVybiBzaXM2MzBfYmxvY2tfZGF0YShhZGFwLCBkYXRhLCByZWFkX3dyaXRlKTsKIAkJZGVmYXVsdDoKLQkJCXByaW50aygiVW5zdXBwb3J0ZWQgSTJDIHNpemVcbiIpOwotCQkJcmV0dXJuIC0xOwotCQkJYnJlYWs7CisJCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsCisJCQkJIHNpemUpOworCQkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAotCWlmIChzaXM2MzBfdHJhbnNhY3Rpb24oYWRhcCwgc2l6ZSkpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBzaXM2MzBfdHJhbnNhY3Rpb24oYWRhcCwgc2l6ZSk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmICgoc2l6ZSAhPSBTSVM2MzBfUENBTEwpICYmCiAJCSgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFNJUzYzMF9RVUlDSykpKSB7CkBAIC0zNzIsOSArMzc3LDYgQEAKIAkJY2FzZSBTSVM2MzBfV09SRF9EQVRBOgogCQkJZGF0YS0+d29yZCA9IHNpczYzMF9yZWFkKFNNQl9CWVRFKSArIChzaXM2MzBfcmVhZChTTUJfQllURSArIDEpIDw8IDgpOwogCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gLTE7Ci0JCQlicmVhazsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTQzMyw2ICs0MzUsMTEgQEAKIAogCWRldl9kYmcoJnNpczYzMF9kZXYtPmRldiwgIkFDUEkgYmFzZSBhdCAweCUwNHhcbiIsIGFjcGlfYmFzZSk7CiAKKwlyZXR2YWwgPSBhY3BpX2NoZWNrX3JlZ2lvbihhY3BpX2Jhc2UgKyBTTUJfU1RTLCBTSVM2MzBfU01CX0lPUkVHSU9OLAorCQkJCSAgIHNpczYzMF9kcml2ZXIubmFtZSk7CisJaWYgKHJldHZhbCkKKwkJZ290byBleGl0OworCiAJLyogRXZlcnl0aGluZyBpcyBoYXBweSwgbGV0J3MgZ3JhYiB0aGUgbWVtb3J5IGFuZCBzZXQgdGhpbmdzIHVwLiAqLwogCWlmICghcmVxdWVzdF9yZWdpb24oYWNwaV9iYXNlICsgU01CX1NUUywgU0lTNjMwX1NNQl9JT1JFR0lPTiwKIAkJCSAgICBzaXM2MzBfZHJpdmVyLm5hbWUpKSB7CkBAIC00NTgsNyArNDY1LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2lzNjMwX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfU0lTNjMwLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzOTZ4LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczk2eC5jCmluZGV4IGRjMjM1YmIuLmYxYmJhNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzOTZ4LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM5NnguYwpAQCAtMSw3ICsxLDQgQEAKIC8qCi0gICAgc2lzOTZ4LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0KICAgICBDb3B5cmlnaHQgKGMpIDIwMDMgTWFyayBNLiBIb2ZmbWFuIDxtaG9mZm1hbkBsaWdodGxpbmsuY29tPgogCiAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKQEAgLTQwLDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAvKiBiYXNlIGFkZHJlc3MgcmVnaXN0ZXIgaW4gUENJIGNvbmZpZyBzcGFjZSAqLwpAQCAtMTExLDcgKzEwOSw3IEBACiAJCS8qIGNoZWNrIGl0IGFnYWluICovCiAJCWlmICgoKHRlbXAgPSBzaXM5NnhfcmVhZChTTUJfQ05UKSkgJiAweDAzKSAhPSAweDAwKSB7CiAJCQlkZXZfZGJnKCZzaXM5NnhfYWRhcHRlci5kZXYsICJGYWlsZWQgKDB4JTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfSBlbHNlIHsKIAkJCWRldl9kYmcoJnNpczk2eF9hZGFwdGVyLmRldiwgIlN1Y2Nlc3NmdWxcbiIpOwogCQl9CkBAIC0xMzYsMTkgKzEzNCwxOSBAQAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2RiZygmc2lzOTZ4X2FkYXB0ZXIuZGV2LCAiU01CdXMgVGltZW91dCEgKDB4JTAyeClcbiIsIHRlbXApOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAl9CiAKIAkvKiBkZXZpY2UgZXJyb3IgLSBwcm9iYWJseSBtaXNzaW5nIEFDSyAqLwogCWlmICh0ZW1wICYgMHgwMikgewogCQlkZXZfZGJnKCZzaXM5NnhfYWRhcHRlci5kZXYsICJGYWlsZWQgYnVzIHRyYW5zYWN0aW9uIVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJfQogCiAJLyogYnVzIGNvbGxpc2lvbiAqLwogCWlmICh0ZW1wICYgMHgwNCkgewogCQlkZXZfZGJnKCZzaXM5NnhfYWRhcHRlci5kZXYsICJCdXMgY29sbGlzaW9uIVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCX0KIAogCS8qIEZpbmlzaCB1cCBieSByZXNldHRpbmcgdGhlIGJ1cyAqLwpAQCAtMTYxLDExICsxNTksMTIgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIHNpczk2eF9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJCSB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQogeworCWludCBzdGF0dXM7CiAKIAlzd2l0Y2ggKHNpemUpIHsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKQEAgLTIwMCwyMCArMTk5LDE0IEBACiAJCQlTSVM5NnhfUFJPQ19DQUxMIDogU0lTOTZ4X1dPUkRfREFUQSk7CiAJCWJyZWFrOwogCi0JY2FzZSBJMkNfU01CVVNfQkxPQ0tfREFUQToKLQkJLyogVE8gRE86ICovCi0JCWRldl9pbmZvKCZhZGFwLT5kZXYsICJTTUJ1cyBibG9jayBub3QgaW1wbGVtZW50ZWQhXG4iKTsKLQkJcmV0dXJuIC0xOwotCQlicmVhazsKLQogCWRlZmF1bHQ6Ci0JCWRldl9pbmZvKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCBJMkMgc2l6ZVxuIik7Ci0JCXJldHVybiAtMTsKLQkJYnJlYWs7CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKLQlpZiAoc2lzOTZ4X3RyYW5zYWN0aW9uKHNpemUpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gc2lzOTZ4X3RyYW5zYWN0aW9uKHNpemUpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHNpemUgIT0gU0lTOTZ4X1BST0NfQ0FMTCkgJiYKIAkJKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gU0lTOTZ4X1FVSUNLKSkpCkBAIC0yNDksNyArMjQyLDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2lzOTZ4X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfU0lTOTZYLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKQEAgLTI4Niw2ICsyNzksMTAgQEAKIAlkZXZfaW5mbygmZGV2LT5kZXYsICJTaVM5NnggU01CdXMgYmFzZSBhZGRyZXNzOiAweCUwNHhcbiIsCiAJCQlzaXM5Nnhfc21idXNfYmFzZSk7CiAKKwlyZXR2YWwgPSBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KCZkZXYtPnJlc291cmNlW1NJUzk2eF9CQVJdKTsKKwlpZiAocmV0dmFsKQorCQlyZXR1cm4gcmV0dmFsOworCiAJLyogRXZlcnl0aGluZyBpcyBoYXBweSwgbGV0J3MgZ3JhYiB0aGUgbWVtb3J5IGFuZCBzZXQgdGhpbmdzIHVwLiAqLwogCWlmICghcmVxdWVzdF9yZWdpb24oc2lzOTZ4X3NtYnVzX2Jhc2UsIFNNQl9JT1NJWkUsCiAJCQkgICAgc2lzOTZ4X2RyaXZlci5uYW1lKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zdHViLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXN0dWIuYwppbmRleCBkMDhlZWVjLi4xYjdiMmFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXN0dWIuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXN0dWIuYwpAQCAtNDMsNyArNDMsNyBAQAogCiBzdGF0aWMgc3RydWN0IHN0dWJfY2hpcCAqc3R1Yl9jaGlwczsKIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBzdHViX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsIHVuc2lnbmVkIHNob3J0IGZsYWdzLAogCWNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKQEAgLTEyMCw3ICsxMjAsNyBAQAogCiAJZGVmYXVsdDoKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgSTJDL1NNQnVzIGNvbW1hbmRcbiIpOwotCQlyZXQgPSAtMTsKKwkJcmV0ID0gLUVPUE5PVFNVUFA7CiAJCWJyZWFrOwogCX0gLyogc3dpdGNoIChzaXplKSAqLwogCkBAIC0xNDAsNyArMTQwLDcgQEAKIAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzdHViX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIAkubmFtZQkJPSAiU01CdXMgc3R1YiBkcml2ZXIiLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdGFvcy1ldm0uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdGFvcy1ldm0uYwppbmRleCBkZTlkYjQ5Li4yMjRhYTEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXRhb3MtZXZtLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy10YW9zLWV2bS5jCkBAIC05Niw5ICs5Niw4IEBACiAJCQlzcHJpbnRmKHAsICIkJTAyWCIsIGNvbW1hbmQpOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiBzaXplICVkXG4iLAotCQkJc2l6ZSk7Ci0JCXJldHVybiAtRUlOVkFMOworCQlkZXZfd2FybigmYWRhcHRlci0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJLyogU2VuZCB0aGUgdHJhbnNhY3Rpb24gdG8gdGhlIFRBT1MgRVZNICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWEuYwppbmRleCA2MTcxNmY2Li4yOWNlZjA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhLmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIGkyYy12aWEuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgIExpbnV4IGtlcm5lbCBtb2R1bGVzCi0gICAgICAgICAgICAgICAgZm9yIGhhcmR3YXJlIG1vbml0b3JpbmcKLQogICAgIGkyYyBTdXBwb3J0IGZvciBWaWEgVGVjaG5vbG9naWVzIDgyQzU4NkIgU291dGggQnJpZGdlCiAKICAgICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTkgS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4KQEAgLTg3LDcgKzg0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgdnQ1ODZiX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfQl9WSUEsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLm5hbWUJCT0gIlZJQSBpMmMiLAogCS5hbGdvX2RhdGEJPSAmYml0X2RhdGEsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWFwcm8uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhcHJvLmMKaW5kZXggNzdiMTNkMC4uODYyZWIzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWFwcm8uYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYXByby5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBpMmMtdmlhcHJvLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4IC0gMjAwMiAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCBLecO2c3RpIE3DpGxra2kgPGttYWxra2lAY2MuaHV0LmZpPiwKICAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+CkBAIC01MCw2ICs0OCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogc3RhdGljIHN0cnVjdCBwY2lfZGV2ICp2dDU5Nl9wZGV2OwpAQCAtMTUyLDcgKzE1MSw3IEBACiAJCWlmICgodGVtcCA9IGluYl9wKFNNQkhTVFNUUykpICYgMHgxRikgewogCQkJZGV2X2VycigmdnQ1OTZfYWRhcHRlci5kZXYsICJTTUJ1cyByZXNldCBmYWlsZWQhICIKIAkJCQkiKDB4JTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfQogCX0KIApAQCAtMTY3LDI0ICsxNjYsMjQgQEAKIAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9lcnIoJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiU01CdXMgdGltZW91dCFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgMHgxMCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2VycigmdnQ1OTZfYWRhcHRlci5kZXYsICJUcmFuc2FjdGlvbiBmYWlsZWQgKDB4JTAyeClcbiIsCiAJCQlzaXplKTsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MDgpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiU01CdXMgY29sbGlzaW9uIVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiAweDA0KSB7CiAJCWludCByZWFkID0gaW5iX3AoU01CSFNUQUREKSAmIDB4MDE7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCS8qIFRoZSBxdWljayBhbmQgcmVjZWl2ZSBieXRlIGNvbW1hbmRzIGFyZSB1c2VkIHRvIHByb2JlCiAJCSAgIGZvciBjaGlwcywgc28gZXJyb3JzIGFyZSBleHBlY3RlZCwgYW5kIHdlIGRvbid0IHdhbnQKIAkJICAgdG8gZnJpZ2h0ZW4gdGhlIHVzZXIuICovCkBAIC0yMDIsMTIgKzIwMSwxMyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvciwgMCBvbiBzdWNjZXNzICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IsIDAgb24gc3VjY2VzcyAqLwogc3RhdGljIHMzMiB2dDU5Nl9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKIAkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwKIAkJaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQogewogCWludCBpOworCWludCBzdGF0dXM7CiAKIAlzd2l0Y2ggKHNpemUpIHsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKQEAgLTI1OCw4ICsyNTgsOSBAQAogCiAJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKIAotCWlmICh2dDU5Nl90cmFuc2FjdGlvbihzaXplKSkgLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IHZ0NTk2X3RyYW5zYWN0aW9uKHNpemUpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBWVDU5Nl9RVUlDSykpCiAJCXJldHVybiAwOwpAQCAtMjg1LDkgKzI4Niw5IEBACiAJcmV0dXJuIDA7CiAKIGV4aXRfdW5zdXBwb3J0ZWQ6Ci0JZGV2X3dhcm4oJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiVW5zdXBwb3J0ZWQgY29tbWFuZCBpbnZva2VkISAoMHglMDJ4KVxuIiwKKwlkZXZfd2FybigmdnQ1OTZfYWRhcHRlci5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwKIAkJIHNpemUpOwotCXJldHVybiAtMTsKKwlyZXR1cm4gLUVPUE5PVFNVUFA7CiB9CiAKIHN0YXRpYyB1MzIgdnQ1OTZfZnVuYyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpCkBAIC0zMDksNyArMzEwLDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgdnQ1OTZfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19WSUEyLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKQEAgLTM1NCw2ICszNTUsMTAgQEAKIAl9CiAKIGZvdW5kOgorCWVycm9yID0gYWNwaV9jaGVja19yZWdpb24odnQ1OTZfc21iYSwgOCwgdnQ1OTZfZHJpdmVyLm5hbWUpOworCWlmIChlcnJvcikKKwkJcmV0dXJuIGVycm9yOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbih2dDU5Nl9zbWJhLCA4LCB2dDU5Nl9kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiU01CdXMgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAogCQkJdnQ1OTZfc21iYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZvb2RvbzMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdm9vZG9vMy5jCmluZGV4IDg4YTM0NDcuLjFkNGFlMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdm9vZG9vMy5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdm9vZG9vMy5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICB2b29kb28zLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4LCAxOTk5ICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAogICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCiAgICAgUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiwgYW5kCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvc2N4MjAwX2FjYi5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL3NjeDIwMF9hY2IuYwppbmRleCA2MWFiZTBmLi5lZDc5NGIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvc2N4MjAwX2FjYi5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9zY3gyMDBfYWNiLmMKQEAgLTQ0Miw3ICs0NDIsNyBAQAogCWFkYXB0ZXItPm93bmVyID0gVEhJU19NT0RVTEU7CiAJYWRhcHRlci0+aWQgPSBJMkNfSFdfU01CVVNfU0NYMjAwOwogCWFkYXB0ZXItPmFsZ28gPSAmc2N4MjAwX2FjYl9hbGdvcml0aG07Ci0JYWRhcHRlci0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJYWRhcHRlci0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCWFkYXB0ZXItPmRldi5wYXJlbnQgPSBkZXY7CiAKIAltdXRleF9pbml0KCZpZmFjZS0+bXV0ZXgpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvS2NvbmZpZyBiL2RyaXZlcnMvaTJjL2NoaXBzL0tjb25maWcKaW5kZXggMmRhMmVkZi4uNTBlMGE0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvS2NvbmZpZworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9LY29uZmlnCkBAIC0xNCw2ICsxNCwzMiBAQAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgZHMxNjgyLgogCitjb25maWcgQVQyNAorCXRyaXN0YXRlICJFRVBST01zIGZyb20gbW9zdCB2ZW5kb3JzIgorCWRlcGVuZHMgb24gU1lTRlMgJiYgRVhQRVJJTUVOVEFMCisJaGVscAorCSAgRW5hYmxlIHRoaXMgZHJpdmVyIHRvIGdldCByZWFkL3dyaXRlIHN1cHBvcnQgdG8gbW9zdCBJMkMgRUVQUk9NcywKKwkgIGFmdGVyIHlvdSBjb25maWd1cmUgdGhlIGRyaXZlciB0byBrbm93IGFib3V0IGVhY2ggRUVQUk9NIG9uCisJICB5b3VyIHRhcmdldCBib2FyZC4gIFVzZSB0aGVzZSBnZW5lcmljIGNoaXAgbmFtZXMsIGluc3RlYWQgb2YKKwkgIHZlbmRvci1zcGVjaWZpYyBvbmVzIGxpa2UgYXQyNGM2NCBvciAyNGxjMDI6CisKKwkgICAgIDI0YzAwLCAyNGMwMSwgMjRjMDIsIHNwZCAocmVhZG9ubHkgMjRjMDIpLCAyNGMwNCwgMjRjMDgsCisJICAgICAyNGMxNiwgMjRjMzIsIDI0YzY0LCAyNGMxMjgsIDI0YzI1NiwgMjRjNTEyLCAyNGMxMDI0CisKKwkgIFVubGVzcyB5b3UgbGlrZSBkYXRhIGxvc3MgcHV6emxlcywgYWx3YXlzIGJlIHN1cmUgdGhhdCBhbnkgY2hpcAorCSAgeW91IGNvbmZpZ3VyZSBhcyBhIDI0YzMyICgzMiBrYml0KSBvciBsYXJnZXIgaXMgTk9UIHJlYWxseSBhCisJICAyNGMxNiAoMTYga2JpdCkgb3Igc21hbGxlciwgYW5kIHZpY2UgdmVyc2EuIE1hcmtpbmcgdGhlIGNoaXAKKwkgIGFzIHJlYWQtb25seSB3b24ndCBoZWxwIHJlY292ZXIgZnJvbSB0aGlzLiBBbHNvLCBpZiB5b3VyIGNoaXAKKwkgIGhhcyBhbnkgc29mdHdhcmUgd3JpdGUtcHJvdGVjdCBtZWNoYW5pc20geW91IG1heSB3YW50IHRvIHJldmlldyB0aGUKKwkgIGNvZGUgdG8gbWFrZSBzdXJlIHRoaXMgZHJpdmVyIHdvbid0IHR1cm4gaXQgb24gYnkgYWNjaWRlbnQuCisKKwkgIElmIHlvdSB1c2UgdGhpcyB3aXRoIGFuIFNNQnVzIGFkYXB0ZXIgaW5zdGVhZCBvZiBhbiBJMkMgYWRhcHRlciwKKwkgIGZ1bGwgZnVuY3Rpb25hbGl0eSBpcyBub3QgYXZhaWxhYmxlLiAgT25seSBzbWFsbGVyIGRldmljZXMgYXJlCisJICBzdXBwb3J0ZWQgKDI0YzE2IGFuZCBiZWxvdywgbWF4IDQga0J5dGUpLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBhdDI0LgorCiBjb25maWcgU0VOU09SU19FRVBST00KIAl0cmlzdGF0ZSAiRUVQUk9NIHJlYWRlciIKIAlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTApAQCAtMjYsOCArNTIsOCBAQAogCSAgd2lsbCBiZSBjYWxsZWQgZWVwcm9tLgogCiBjb25maWcgU0VOU09SU19QQ0Y4NTc0Ci0JdHJpc3RhdGUgIlBoaWxpcHMgUENGODU3NCBhbmQgUENGODU3NEEiCi0JZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKKwl0cmlzdGF0ZSAiUGhpbGlwcyBQQ0Y4NTc0IGFuZCBQQ0Y4NTc0QSAoREVQUkVDQVRFRCkiCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgR1BJT19QQ0Y4NTdYID0gIm4iCiAJZGVmYXVsdCBuCiAJaGVscAogCSAgSWYgeW91IHNheSB5ZXMgaGVyZSB5b3UgZ2V0IHN1cHBvcnQgZm9yIFBoaWxpcHMgUENGODU3NCBhbmQgCkBAIC0zNiwxMiArNjIsMTYgQEAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHBjZjg1NzQuCiAKKwkgIFRoaXMgZHJpdmVyIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgZHJvcHBlZCBzb29uLiBVc2UKKwkgIGRyaXZlcnMvZ3Bpby9wY2Y4NTd4LmMgaW5zdGVhZC4KKwogCSAgVGhlc2UgZGV2aWNlcyBhcmUgaGFyZCB0byBkZXRlY3QgYW5kIHJhcmVseSBmb3VuZCBvbiBtYWluc3RyZWFtCiAJICBoYXJkd2FyZS4gIElmIHVuc3VyZSwgc2F5IE4uCiAKIGNvbmZpZyBQQ0Y4NTc1Ci0JdHJpc3RhdGUgIlBoaWxpcHMgUENGODU3NSIKKwl0cmlzdGF0ZSAiUGhpbGlwcyBQQ0Y4NTc1IChERVBSRUNBVEVEKSIKIAlkZWZhdWx0IG4KKwlkZXBlbmRzIG9uIEdQSU9fUENGODU3WCA9ICJuIgogCWhlbHAKIAkgIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBzdXBwb3J0IGZvciBQaGlsaXBzIFBDRjg1NzUgY2hpcC4KIAkgIFRoaXMgY2hpcCBpcyBhIDE2LWJpdCBJL08gZXhwYW5kZXIgZm9yIHRoZSBJMkMgYnVzLiAgU2V2ZXJhbCBvdGhlcgpAQCAtNTAsMTIgKzgwLDE1IEBACiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBwY2Y4NTc1LgogCisJICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIGRyb3BwZWQgc29vbi4gVXNlCisJICBkcml2ZXJzL2dwaW8vcGNmODU3eC5jIGluc3RlYWQuCisKIAkgIFRoaXMgZGV2aWNlIGlzIGhhcmQgdG8gZGV0ZWN0IGFuZCBpcyByYXJlbHkgZm91bmQgb24gbWFpbnN0cmVhbQogCSAgaGFyZHdhcmUuICBJZiB1bnN1cmUsIHNheSBOLgogCiBjb25maWcgU0VOU09SU19QQ0E5NTM5CiAJdHJpc3RhdGUgIlBoaWxpcHMgUENBOTUzOSAxNi1iaXQgSS9PIHBvcnQgKERFUFJFQ0FURUQpIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEdQSU9fUENBOTUzOSA9ICJuIgorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEdQSU9fUENBOTUzWCA9ICJuIgogCWhlbHAKIAkgIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBzdXBwb3J0IGZvciB0aGUgUGhpbGlwcyBQQ0E5NTM5CiAJICAxNi1iaXQgSS9PIHBvcnQuCkBAIC02NCw3ICs5Nyw3IEBACiAJICB3aWxsIGJlIGNhbGxlZCBwY2E5NTM5LgogCiAJICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIGRyb3BwZWQgc29vbi4gVXNlCi0JICBkcml2ZXJzL2dwaW8vcGNhOTUzOS5jIGluc3RlYWQuCisJICBkcml2ZXJzL2dwaW8vcGNhOTUzeC5jIGluc3RlYWQuCiAKIGNvbmZpZyBTRU5TT1JTX1BDRjg1OTEKIAl0cmlzdGF0ZSAiUGhpbGlwcyBQQ0Y4NTkxIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvTWFrZWZpbGUgYi9kcml2ZXJzL2kyYy9jaGlwcy9NYWtlZmlsZQppbmRleCBlNDdhY2EwLi4zOWUzZTY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9NYWtlZmlsZQpAQCAtMTAsNiArMTAsNyBAQAogIwogCiBvYmotJChDT05GSUdfRFMxNjgyKQkJKz0gZHMxNjgyLm8KK29iai0kKENPTkZJR19BVDI0KQkJKz0gYXQyNC5vCiBvYmotJChDT05GSUdfU0VOU09SU19FRVBST00pCSs9IGVlcHJvbS5vCiBvYmotJChDT05GSUdfU0VOU09SU19NQVg2ODc1KQkrPSBtYXg2ODc1Lm8KIG9iai0kKENPTkZJR19TRU5TT1JTX1BDQTk1MzkpCSs9IHBjYTk1MzkubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvYXQyNC5jIGIvZHJpdmVycy9pMmMvY2hpcHMvYXQyNC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NjRjOTQKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9hdDI0LmMKQEAgLTAsMCArMSw1ODMgQEAKKy8qCisgKiBhdDI0LmMgLSBoYW5kbGUgbW9zdCBJMkMgRUVQUk9NcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNS0yMDA3IERhdmlkIEJyb3duZWxsCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggV29sZnJhbSBTYW5nLCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNmcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2xvZzIuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvaTJjL2F0MjQuaD4KKworLyoKKyAqIEkyQyBFRVBST01zIGZyb20gbW9zdCB2ZW5kb3JzIGFyZSBpbmV4cGVuc2l2ZSBhbmQgbW9zdGx5IGludGVyY2hhbmdlYWJsZS4KKyAqIERpZmZlcmVuY2VzIGJldHdlZW4gZGlmZmVyZW50IHZlbmRvciBwcm9kdWN0IGxpbmVzIChsaWtlIEF0bWVsIEFUMjRDIG9yCisgKiBNaWNyb0NoaXAgMjRMQywgZXRjKSB3b24ndCBtdWNoIG1hdHRlciBmb3IgdHlwaWNhbCByZWFkL3dyaXRlIGFjY2Vzcy4KKyAqIFRoZXJlIGFyZSBhbHNvIEkyQyBSQU0gY2hpcHMsIGxpa2V3aXNlIGludGVyY2hhbmdlYWJsZS4gT25lIGV4YW1wbGUKKyAqIHdvdWxkIGJlIHRoZSBQQ0Y4NTcwLCB3aGljaCBhY3RzIGxpa2UgYSAyNGMwMiBFRVBST00gKDI1NiBieXRlcykuCisgKgorICogSG93ZXZlciwgbWlzY29uZmlndXJhdGlvbiBjYW4gbG9zZSBkYXRhLiAiU2V0IDE2LWJpdCBtZW1vcnkgYWRkcmVzcyIKKyAqIHRvIGEgcGFydCB3aXRoIDgtYml0IGFkZHJlc3Npbmcgd2lsbCBvdmVyd3JpdGUgZGF0YS4gV3JpdGluZyB3aXRoIHRvbworICogYmlnIGEgcGFnZSBzaXplIGFsc28gbG9zZXMgZGF0YS4gQW5kIGl0J3Mgbm90IHNhZmUgdG8gYXNzdW1lIHRoYXQgdGhlCisgKiBjb252ZW50aW9uYWwgYWRkcmVzc2VzIDB4NTAuLjB4NTcgb25seSBob2xkIGVlcHJvbXM7IGEgUENGODU2MyBSVEMKKyAqIHVzZXMgMHg1MSwgZm9yIGp1c3Qgb25lIGV4YW1wbGUuCisgKgorICogQWNjb3JkaW5nbHksIGV4cGxpY2l0IGJvYXJkLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZGF0YSBzaG91bGQgYmUgdXNlZAorICogaW4gYWxtb3N0IGFsbCBjYXNlcy4gKE9uZSBwYXJ0aWFsIGV4Y2VwdGlvbiBpcyBhbiBTTUJ1cyB1c2VkIHRvIGFjY2VzcworICogIlNQRCIgZGF0YSBmb3IgRFJBTSBzdGlja3MuIFRob3NlIG9ubHkgdXNlIDI0YzAyIEVFUFJPTXMuKQorICoKKyAqIFNvIHRoaXMgZHJpdmVyIHVzZXMgIm5ldyBzdHlsZSIgSTJDIGRyaXZlciBiaW5kaW5nLCBleHBlY3RpbmcgdG8gYmUKKyAqIHRvbGQgd2hhdCBkZXZpY2VzIGV4aXN0LiBUaGF0IG1heSBiZSBpbiBhcmNoL1gvbWFjaC1ZL2JvYXJkLVouYyBvcgorICogc2ltaWxhciBrZXJuZWwtcmVzaWRlbnQgdGFibGVzOyBvciwgY29uZmlndXJhdGlvbiBkYXRhIGNvbWluZyBmcm9tCisgKiBhIGJvb3Rsb2FkZXIuCisgKgorICogT3RoZXIgdGhhbiBiaW5kaW5nIG1vZGVsLCBjdXJyZW50IGRpZmZlcmVuY2VzIGZyb20gImVlcHJvbSIgZHJpdmVyIGFyZQorICogdGhhdCB0aGlzIG9uZSBoYW5kbGVzIHdyaXRlIGFjY2VzcyBhbmQgaXNuJ3QgcmVzdHJpY3RlZCB0byAyNGMwMiBkZXZpY2VzLgorICogSXQgYWxzbyBoYW5kbGVzIGxhcmdlciBkZXZpY2VzICgzMiBrYml0IGFuZCB1cCkgd2l0aCB0d28tYnl0ZSBhZGRyZXNzZXMsCisgKiB3aGljaCB3b24ndCB3b3JrIG9uIHB1cmUgU01CdXMgc3lzdGVtcy4KKyAqLworCitzdHJ1Y3QgYXQyNF9kYXRhIHsKKwlzdHJ1Y3QgYXQyNF9wbGF0Zm9ybV9kYXRhIGNoaXA7CisJYm9vbCB1c2Vfc21idXM7CisKKwkvKgorCSAqIExvY2sgcHJvdGVjdHMgYWdhaW5zdCBhY3Rpdml0aWVzIGZyb20gb3RoZXIgTGludXggdGFza3MsCisJICogYnV0IG5vdCBmcm9tIGNoYW5nZXMgYnkgb3RoZXIgSTJDIG1hc3RlcnMuCisJICovCisJc3RydWN0IG11dGV4IGxvY2s7CisJc3RydWN0IGJpbl9hdHRyaWJ1dGUgYmluOworCisJdTggKndyaXRlYnVmOworCXVuc2lnbmVkIHdyaXRlX21heDsKKwl1bnNpZ25lZCBudW1fYWRkcmVzc2VzOworCisJLyoKKwkgKiBTb21lIGNoaXBzIHRpZSB1cCBtdWx0aXBsZSBJMkMgYWRkcmVzc2VzOyBkdW1teSBkZXZpY2VzIHJlc2VydmUKKwkgKiB0aGVtIGZvciB1cywgYW5kIHdlJ2xsIHVzZSB0aGVtIHdpdGggU01CdXMgY2FsbHMuCisJICovCisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudFtdOworfTsKKworLyoKKyAqIFRoaXMgcGFyYW1ldGVyIGlzIHRvIGhlbHAgdGhpcyBkcml2ZXIgYXZvaWQgYmxvY2tpbmcgb3RoZXIgZHJpdmVycyBvdXQKKyAqIG9mIEkyQyBmb3IgcG90ZW50aWFsbHkgdHJvdWJsZXNvbWUgYW1vdW50cyBvZiB0aW1lLiBXaXRoIGEgMTAwIGtIeiBJMkMKKyAqIGNsb2NrLCBvbmUgMjU2IGJ5dGUgcmVhZCB0YWtlcyBhYm91dCAxLzQzIHNlY29uZCB3aGljaCBpcyBleGNlc3NpdmU7CisgKiBidXQgdGhlIDEvMTcwIHNlY29uZCBpdCB0YWtlcyBhdCA0MDAga0h6IG1heSBiZSBxdWl0ZSByZWFzb25hYmxlOyBhbmQKKyAqIGF0IDEgTUh6IChGbSspIGEgMS80MzAgc2Vjb25kIGRlbGF5IGNvdWxkIGVhc2lseSBiZSBpbnZpc2libGUuCisgKgorICogVGhpcyB2YWx1ZSBpcyBmb3JjZWQgdG8gYmUgYSBwb3dlciBvZiB0d28gc28gdGhhdCB3cml0ZXMgYWxpZ24gb24gcGFnZXMuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpb19saW1pdCA9IDEyODsKK21vZHVsZV9wYXJhbShpb19saW1pdCwgdWludCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKGlvX2xpbWl0LCAiTWF4aW11bSBieXRlcyBwZXIgSS9PIChkZWZhdWx0IDEyOCkiKTsKKworLyoKKyAqIFNwZWNzIG9mdGVuIGFsbG93IDUgbXNlYyBmb3IgYSBwYWdlIHdyaXRlLCBzb21ldGltZXMgMjAgbXNlYzsKKyAqIGl0J3MgaW1wb3J0YW50IHRvIHJlY292ZXIgZnJvbSB3cml0ZSB0aW1lb3V0cy4KKyAqLworc3RhdGljIHVuc2lnbmVkIHdyaXRlX3RpbWVvdXQgPSAyNTsKK21vZHVsZV9wYXJhbSh3cml0ZV90aW1lb3V0LCB1aW50LCAwKTsKK01PRFVMRV9QQVJNX0RFU0Mod3JpdGVfdGltZW91dCwgIlRpbWUgKGluIG1zKSB0byB0cnkgd3JpdGVzIChkZWZhdWx0IDI1KSIpOworCisjZGVmaW5lIEFUMjRfU0laRV9CWVRFTEVOIDUKKyNkZWZpbmUgQVQyNF9TSVpFX0ZMQUdTIDgKKworI2RlZmluZSBBVDI0X0JJVE1BU0soeCkgKEJJVCh4KSAtIDEpCisKKy8qIGNyZWF0ZSBub24temVybyBtYWdpYyB2YWx1ZSBmb3IgZ2l2ZW4gZWVwcm9tIHBhcmFtZXRlcnMgKi8KKyNkZWZpbmUgQVQyNF9ERVZJQ0VfTUFHSUMoX2xlbiwgX2ZsYWdzKSAJCVwKKwkoKDEgPDwgQVQyNF9TSVpFX0ZMQUdTIHwgKF9mbGFncykpIAkJXAorCSAgICA8PCBBVDI0X1NJWkVfQllURUxFTiB8IGlsb2cyKF9sZW4pKQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYXQyNF9pZHNbXSA9IHsKKwkvKiBuZWVkcyA4IGFkZHJlc3NlcyBhcyBBMC1BMiBhcmUgaWdub3JlZCAqLworCXsgIjI0YzAwIiwgQVQyNF9ERVZJQ0VfTUFHSUMoMTI4IC8gOCwgQVQyNF9GTEFHX1RBS0U4QUREUikgfSwKKwkvKiBvbGQgdmFyaWFudHMgY2FuJ3QgYmUgaGFuZGxlZCB3aXRoIHRoaXMgZ2VuZXJpYyBlbnRyeSEgKi8KKwl7ICIyNGMwMSIsIEFUMjRfREVWSUNFX01BR0lDKDEwMjQgLyA4LCAwKSB9LAorCXsgIjI0YzAyIiwgQVQyNF9ERVZJQ0VfTUFHSUMoMjA0OCAvIDgsIDApIH0sCisJLyogc3BkIGlzIGEgMjRjMDIgaW4gbWVtb3J5IERJTU1zICovCisJeyAic3BkIiwgQVQyNF9ERVZJQ0VfTUFHSUMoMjA0OCAvIDgsCisJCUFUMjRfRkxBR19SRUFET05MWSB8IEFUMjRfRkxBR19JUlVHTykgfSwKKwl7ICIyNGMwNCIsIEFUMjRfREVWSUNFX01BR0lDKDQwOTYgLyA4LCAwKSB9LAorCS8qIDI0cmYwOCBxdWlyayBpcyBoYW5kbGVkIGF0IGkyYy1jb3JlICovCisJeyAiMjRjMDgiLCBBVDI0X0RFVklDRV9NQUdJQyg4MTkyIC8gOCwgMCkgfSwKKwl7ICIyNGMxNiIsIEFUMjRfREVWSUNFX01BR0lDKDE2Mzg0IC8gOCwgMCkgfSwKKwl7ICIyNGMzMiIsIEFUMjRfREVWSUNFX01BR0lDKDMyNzY4IC8gOCwgQVQyNF9GTEFHX0FERFIxNikgfSwKKwl7ICIyNGM2NCIsIEFUMjRfREVWSUNFX01BR0lDKDY1NTM2IC8gOCwgQVQyNF9GTEFHX0FERFIxNikgfSwKKwl7ICIyNGMxMjgiLCBBVDI0X0RFVklDRV9NQUdJQygxMzEwNzIgLyA4LCBBVDI0X0ZMQUdfQUREUjE2KSB9LAorCXsgIjI0YzI1NiIsIEFUMjRfREVWSUNFX01BR0lDKDI2MjE0NCAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiMjRjNTEyIiwgQVQyNF9ERVZJQ0VfTUFHSUMoNTI0Mjg4IC8gOCwgQVQyNF9GTEFHX0FERFIxNikgfSwKKwl7ICIyNGMxMDI0IiwgQVQyNF9ERVZJQ0VfTUFHSUMoMTA0ODU3NiAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiYXQyNCIsIDAgfSwKKwl7IC8qIEVORCBPRiBMSVNUICovIH0KK307CitNT0RVTEVfREVWSUNFX1RBQkxFKGkyYywgYXQyNF9pZHMpOworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKgorICogVGhpcyByb3V0aW5lIHN1cHBvcnRzIGNoaXBzIHdoaWNoIGNvbnN1bWUgbXVsdGlwbGUgSTJDIGFkZHJlc3Nlcy4gSXQKKyAqIGNvbXB1dGVzIHRoZSBhZGRyZXNzaW5nIGluZm9ybWF0aW9uIHRvIGJlIHVzZWQgZm9yIGEgZ2l2ZW4gci93IHJlcXVlc3QuCisgKiBBc3N1bWVzIHRoYXQgc2FuaXR5IGNoZWNrcyBmb3Igb2Zmc2V0IGhhcHBlbmVkIGF0IHN5c2ZzLWxheWVyLgorICovCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgKmF0MjRfdHJhbnNsYXRlX29mZnNldChzdHJ1Y3QgYXQyNF9kYXRhICphdDI0LAorCQl1bnNpZ25lZCAqb2Zmc2V0KQoreworCXVuc2lnbmVkIGk7CisKKwlpZiAoYXQyNC0+Y2hpcC5mbGFncyAmIEFUMjRfRkxBR19BRERSMTYpIHsKKwkJaSA9ICpvZmZzZXQgPj4gMTY7CisJCSpvZmZzZXQgJj0gMHhmZmZmOworCX0gZWxzZSB7CisJCWkgPSAqb2Zmc2V0ID4+IDg7CisJCSpvZmZzZXQgJj0gMHhmZjsKKwl9CisKKwlyZXR1cm4gYXQyNC0+Y2xpZW50W2ldOworfQorCitzdGF0aWMgc3NpemVfdCBhdDI0X2VlcHJvbV9yZWFkKHN0cnVjdCBhdDI0X2RhdGEgKmF0MjQsIGNoYXIgKmJ1ZiwKKwkJdW5zaWduZWQgb2Zmc2V0LCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGkyY19tc2cgbXNnWzJdOworCXU4IG1zZ2J1ZlsyXTsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OworCWludCBzdGF0dXMsIGk7CisKKwltZW1zZXQobXNnLCAwLCBzaXplb2YobXNnKSk7CisKKwkvKgorCSAqIFJFVklTSVQgc29tZSBtdWx0aS1hZGRyZXNzIGNoaXBzIGRvbid0IHJvbGxvdmVyIHBhZ2UgcmVhZHMgdG8KKwkgKiB0aGUgbmV4dCBzbGF2ZSBhZGRyZXNzLCBzbyB3ZSBtYXkgbmVlZCB0byB0cnVuY2F0ZSB0aGUgY291bnQuCisJICogVGhvc2UgY2hpcHMgbWlnaHQgbmVlZCBhbm90aGVyIHF1aXJrIGZsYWcuCisJICoKKwkgKiBJZiB0aGUgcmVhbCBoYXJkd2FyZSB1c2VkIGZvdXIgYWRqYWNlbnQgMjRjMDIgY2hpcHMgYW5kIHRoYXQKKwkgKiB3ZXJlIG1pc2NvbmZpZ3VyZWQgYXMgb25lIDI0YzA4LCB0aGF0IHdvdWxkIGJlIGEgc2ltaWxhciBlZmZlY3Q6CisJICogb25lICJlZXByb20iIGZpbGUgbm90IGZvdXIsIGJ1dCBsYXJnZXIgcmVhZHMgd291bGQgZmFpbCB3aGVuCisJICogdGhleSBjcm9zc2VkIGNlcnRhaW4gcGFnZXMuCisJICovCisKKwkvKgorCSAqIFNsYXZlIGFkZHJlc3MgYW5kIGJ5dGUgb2Zmc2V0IGRlcml2ZSBmcm9tIHRoZSBvZmZzZXQuIEFsd2F5cworCSAqIHNldCB0aGUgYnl0ZSBhZGRyZXNzOyBvbiBhIG11bHRpLW1hc3RlciBib2FyZCwgYW5vdGhlciBtYXN0ZXIKKwkgKiBtYXkgaGF2ZSBjaGFuZ2VkIHRoZSBjaGlwJ3MgImN1cnJlbnQiIGFkZHJlc3MgcG9pbnRlci4KKwkgKi8KKwljbGllbnQgPSBhdDI0X3RyYW5zbGF0ZV9vZmZzZXQoYXQyNCwgJm9mZnNldCk7CisKKwlpZiAoY291bnQgPiBpb19saW1pdCkKKwkJY291bnQgPSBpb19saW1pdDsKKworCS8qIFNtYWxsZXIgZWVwcm9tcyBjYW4gd29yayBnaXZlbiBzb21lIFNNQnVzIGV4dGVuc2lvbiBjYWxscyAqLworCWlmIChhdDI0LT51c2Vfc21idXMpIHsKKwkJaWYgKGNvdW50ID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCWNvdW50ID0gSTJDX1NNQlVTX0JMT0NLX01BWDsKKwkJc3RhdHVzID0gaTJjX3NtYnVzX3JlYWRfaTJjX2Jsb2NrX2RhdGEoY2xpZW50LCBvZmZzZXQsCisJCQkJY291bnQsIGJ1Zik7CisJCWRldl9kYmcoJmNsaWVudC0+ZGV2LCAic21idXMgcmVhZCAlemRAJWQgLS0+ICVkXG4iLAorCQkJCWNvdW50LCBvZmZzZXQsIHN0YXR1cyk7CisJCXJldHVybiAoc3RhdHVzIDwgMCkgPyAtRUlPIDogc3RhdHVzOworCX0KKworCS8qCisJICogV2hlbiB3ZSBoYXZlIGEgYmV0dGVyIGNob2ljZSB0aGFuIFNNQnVzIGNhbGxzLCB1c2UgYSBjb21iaW5lZAorCSAqIEkyQyBtZXNzYWdlLiBXcml0ZSBhZGRyZXNzOyB0aGVuIHJlYWQgdXAgdG8gaW9fbGltaXQgZGF0YSBieXRlcy4KKwkgKiBOb3RlIHRoYXQgcmVhZCBwYWdlIHJvbGxvdmVyIGhlbHBzIHVzIGhlcmUgKHVubGlrZSB3cml0ZXMpLgorCSAqIG1zZ2J1ZiBpcyB1OCBhbmQgd2lsbCBjYXN0IHRvIG91ciBuZWVkcy4KKwkgKi8KKwlpID0gMDsKKwlpZiAoYXQyNC0+Y2hpcC5mbGFncyAmIEFUMjRfRkxBR19BRERSMTYpCisJCW1zZ2J1ZltpKytdID0gb2Zmc2V0ID4+IDg7CisJbXNnYnVmW2krK10gPSBvZmZzZXQ7CisKKwltc2dbMF0uYWRkciA9IGNsaWVudC0+YWRkcjsKKwltc2dbMF0uYnVmID0gbXNnYnVmOworCW1zZ1swXS5sZW4gPSBpOworCisJbXNnWzFdLmFkZHIgPSBjbGllbnQtPmFkZHI7CisJbXNnWzFdLmZsYWdzID0gSTJDX01fUkQ7CisJbXNnWzFdLmJ1ZiA9IGJ1ZjsKKwltc2dbMV0ubGVuID0gY291bnQ7CisKKwlzdGF0dXMgPSBpMmNfdHJhbnNmZXIoY2xpZW50LT5hZGFwdGVyLCBtc2csIDIpOworCWRldl9kYmcoJmNsaWVudC0+ZGV2LCAiaTJjIHJlYWQgJXpkQCVkIC0tPiAlZFxuIiwKKwkJCWNvdW50LCBvZmZzZXQsIHN0YXR1cyk7CisKKwlpZiAoc3RhdHVzID09IDIpCisJCXJldHVybiBjb3VudDsKKwllbHNlIGlmIChzdGF0dXMgPj0gMCkKKwkJcmV0dXJuIC1FSU87CisJZWxzZQorCQlyZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgc3NpemVfdCBhdDI0X2Jpbl9yZWFkKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSAqYXR0ciwKKwkJY2hhciAqYnVmLCBsb2ZmX3Qgb2ZmLCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGF0MjRfZGF0YSAqYXQyNDsKKwlzc2l6ZV90IHJldHZhbCA9IDA7CisKKwlhdDI0ID0gZGV2X2dldF9kcnZkYXRhKGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgZGV2aWNlLCBrb2JqKSk7CisKKwlpZiAodW5saWtlbHkoIWNvdW50KSkKKwkJcmV0dXJuIGNvdW50OworCisJLyoKKwkgKiBSZWFkIGRhdGEgZnJvbSBjaGlwLCBwcm90ZWN0aW5nIGFnYWluc3QgY29uY3VycmVudCB1cGRhdGVzCisJICogZnJvbSB0aGlzIGhvc3QsIGJ1dCBub3QgZnJvbSBvdGhlciBJMkMgbWFzdGVycy4KKwkgKi8KKwltdXRleF9sb2NrKCZhdDI0LT5sb2NrKTsKKworCXdoaWxlIChjb3VudCkgeworCQlzc2l6ZV90CXN0YXR1czsKKworCQlzdGF0dXMgPSBhdDI0X2VlcHJvbV9yZWFkKGF0MjQsIGJ1Ziwgb2ZmLCBjb3VudCk7CisJCWlmIChzdGF0dXMgPD0gMCkgeworCQkJaWYgKHJldHZhbCA9PSAwKQorCQkJCXJldHZhbCA9IHN0YXR1czsKKwkJCWJyZWFrOworCQl9CisJCWJ1ZiArPSBzdGF0dXM7CisJCW9mZiArPSBzdGF0dXM7CisJCWNvdW50IC09IHN0YXR1czsKKwkJcmV0dmFsICs9IHN0YXR1czsKKwl9CisKKwltdXRleF91bmxvY2soJmF0MjQtPmxvY2spOworCisJcmV0dXJuIHJldHZhbDsKK30KKworCisvKgorICogUkVWSVNJVDogZXhwb3J0IGF0MjRfYmlue3JlYWQsd3JpdGV9KCkgdG8gbGV0IG90aGVyIGtlcm5lbCBjb2RlIHVzZQorICogZWVwcm9tIGRhdGEuIEZvciBleGFtcGxlLCBpdCBtaWdodCBob2xkIGEgYm9hcmQncyBFdGhlcm5ldCBhZGRyZXNzLCBvcgorICogYm9hcmQtc3BlY2lmaWMgY2FsaWJyYXRpb24gZGF0YSBnZW5lcmF0ZWQgb24gdGhlIG1hbnVmYWN0dXJpbmcgZmxvb3IuCisgKi8KKworCisvKgorICogTm90ZSB0aGF0IGlmIHRoZSBoYXJkd2FyZSB3cml0ZS1wcm90ZWN0IHBpbiBpcyBwdWxsZWQgaGlnaCwgdGhlIHdob2xlCisgKiBjaGlwIGlzIG5vcm1hbGx5IHdyaXRlIHByb3RlY3RlZC4gQnV0IHRoZXJlIGFyZSBwbGVudHkgb2YgcHJvZHVjdAorICogdmFyaWFudHMgaGVyZSwgaW5jbHVkaW5nIE9UUCBmdXNlcyBhbmQgcGFydGlhbCBjaGlwIHByb3RlY3QuCisgKgorICogV2Ugb25seSB1c2UgcGFnZSBtb2RlIHdyaXRlczsgdGhlIGFsdGVybmF0aXZlIGlzIHNsb29vb3cuIFRoaXMgcm91dGluZQorICogd3JpdGVzIGF0IG1vc3Qgb25lIHBhZ2UuCisgKi8KK3N0YXRpYyBzc2l6ZV90IGF0MjRfZWVwcm9tX3dyaXRlKHN0cnVjdCBhdDI0X2RhdGEgKmF0MjQsIGNoYXIgKmJ1ZiwKKwkJdW5zaWduZWQgb2Zmc2V0LCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKKwlzdHJ1Y3QgaTJjX21zZyBtc2c7CisJc3NpemVfdCBzdGF0dXM7CisJdW5zaWduZWQgbG9uZyB0aW1lb3V0LCB3cml0ZV90aW1lOworCXVuc2lnbmVkIG5leHRfcGFnZTsKKworCS8qIEdldCBjb3JyZXNwb25kaW5nIEkyQyBhZGRyZXNzIGFuZCBhZGp1c3Qgb2Zmc2V0ICovCisJY2xpZW50ID0gYXQyNF90cmFuc2xhdGVfb2Zmc2V0KGF0MjQsICZvZmZzZXQpOworCisJLyogd3JpdGVfbWF4IGlzIGF0IG1vc3QgYSBwYWdlICovCisJaWYgKGNvdW50ID4gYXQyNC0+d3JpdGVfbWF4KQorCQljb3VudCA9IGF0MjQtPndyaXRlX21heDsKKworCS8qIE5ldmVyIHJvbGwgb3ZlciBiYWNrd2FyZHMsIHRvIHRoZSBzdGFydCBvZiB0aGlzIHBhZ2UgKi8KKwluZXh0X3BhZ2UgPSByb3VuZHVwKG9mZnNldCArIDEsIGF0MjQtPmNoaXAucGFnZV9zaXplKTsKKwlpZiAob2Zmc2V0ICsgY291bnQgPiBuZXh0X3BhZ2UpCisJCWNvdW50ID0gbmV4dF9wYWdlIC0gb2Zmc2V0OworCisJLyogSWYgd2UnbGwgdXNlIEkyQyBjYWxscyBmb3IgSS9PLCBzZXQgdXAgdGhlIG1lc3NhZ2UgKi8KKwlpZiAoIWF0MjQtPnVzZV9zbWJ1cykgeworCQlpbnQgaSA9IDA7CisKKwkJbXNnLmFkZHIgPSBjbGllbnQtPmFkZHI7CisJCW1zZy5mbGFncyA9IDA7CisKKwkJLyogbXNnLmJ1ZiBpcyB1OCBhbmQgY2FzdHMgd2lsbCBtYXNrIHRoZSB2YWx1ZXMgKi8KKwkJbXNnLmJ1ZiA9IGF0MjQtPndyaXRlYnVmOworCQlpZiAoYXQyNC0+Y2hpcC5mbGFncyAmIEFUMjRfRkxBR19BRERSMTYpCisJCQltc2cuYnVmW2krK10gPSBvZmZzZXQgPj4gODsKKworCQltc2cuYnVmW2krK10gPSBvZmZzZXQ7CisJCW1lbWNweSgmbXNnLmJ1ZltpXSwgYnVmLCBjb3VudCk7CisJCW1zZy5sZW4gPSBpICsgY291bnQ7CisJfQorCisJLyoKKwkgKiBXcml0ZXMgZmFpbCBpZiB0aGUgcHJldmlvdXMgb25lIGRpZG4ndCBjb21wbGV0ZSB5ZXQuIFdlIG1heQorCSAqIGxvb3AgYSBmZXcgdGltZXMgdW50aWwgdGhpcyBvbmUgc3VjY2VlZHMsIHdhaXRpbmcgYXQgbGVhc3QKKwkgKiBsb25nIGVub3VnaCBmb3Igb25lIGVudGlyZSBwYWdlIHdyaXRlIHRvIHdvcmsuCisJICovCisJdGltZW91dCA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKHdyaXRlX3RpbWVvdXQpOworCWRvIHsKKwkJd3JpdGVfdGltZSA9IGppZmZpZXM7CisJCWlmIChhdDI0LT51c2Vfc21idXMpIHsKKwkJCXN0YXR1cyA9IGkyY19zbWJ1c193cml0ZV9pMmNfYmxvY2tfZGF0YShjbGllbnQsCisJCQkJCW9mZnNldCwgY291bnQsIGJ1Zik7CisJCQlpZiAoc3RhdHVzID09IDApCisJCQkJc3RhdHVzID0gY291bnQ7CisJCX0gZWxzZSB7CisJCQlzdGF0dXMgPSBpMmNfdHJhbnNmZXIoY2xpZW50LT5hZGFwdGVyLCAmbXNnLCAxKTsKKwkJCWlmIChzdGF0dXMgPT0gMSkKKwkJCQlzdGF0dXMgPSBjb3VudDsKKwkJfQorCQlkZXZfZGJnKCZjbGllbnQtPmRldiwgIndyaXRlICV6ZEAlZCAtLT4gJXpkICglbGQpXG4iLAorCQkJCWNvdW50LCBvZmZzZXQsIHN0YXR1cywgamlmZmllcyk7CisKKwkJaWYgKHN0YXR1cyA9PSBjb3VudCkKKwkJCXJldHVybiBjb3VudDsKKworCQkvKiBSRVZJU0lUOiBhdCBIWj0xMDAsIHRoaXMgaXMgc2xvb29vdyAqLworCQltc2xlZXAoMSk7CisJfSB3aGlsZSAodGltZV9iZWZvcmUod3JpdGVfdGltZSwgdGltZW91dCkpOworCisJcmV0dXJuIC1FVElNRURPVVQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGF0MjRfYmluX3dyaXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSAqYXR0ciwKKwkJY2hhciAqYnVmLCBsb2ZmX3Qgb2ZmLCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGF0MjRfZGF0YSAqYXQyNDsKKwlzc2l6ZV90IHJldHZhbCA9IDA7CisKKwlhdDI0ID0gZGV2X2dldF9kcnZkYXRhKGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgZGV2aWNlLCBrb2JqKSk7CisKKwlpZiAodW5saWtlbHkoIWNvdW50KSkKKwkJcmV0dXJuIGNvdW50OworCisJLyoKKwkgKiBXcml0ZSBkYXRhIHRvIGNoaXAsIHByb3RlY3RpbmcgYWdhaW5zdCBjb25jdXJyZW50IHVwZGF0ZXMKKwkgKiBmcm9tIHRoaXMgaG9zdCwgYnV0IG5vdCBmcm9tIG90aGVyIEkyQyBtYXN0ZXJzLgorCSAqLworCW11dGV4X2xvY2soJmF0MjQtPmxvY2spOworCisJd2hpbGUgKGNvdW50KSB7CisJCXNzaXplX3QJc3RhdHVzOworCisJCXN0YXR1cyA9IGF0MjRfZWVwcm9tX3dyaXRlKGF0MjQsIGJ1Ziwgb2ZmLCBjb3VudCk7CisJCWlmIChzdGF0dXMgPD0gMCkgeworCQkJaWYgKHJldHZhbCA9PSAwKQorCQkJCXJldHZhbCA9IHN0YXR1czsKKwkJCWJyZWFrOworCQl9CisJCWJ1ZiArPSBzdGF0dXM7CisJCW9mZiArPSBzdGF0dXM7CisJCWNvdW50IC09IHN0YXR1czsKKwkJcmV0dmFsICs9IHN0YXR1czsKKwl9CisKKwltdXRleF91bmxvY2soJmF0MjQtPmxvY2spOworCisJcmV0dXJuIHJldHZhbDsKK30KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIGludCBhdDI0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKK3sKKwlzdHJ1Y3QgYXQyNF9wbGF0Zm9ybV9kYXRhIGNoaXA7CisJYm9vbCB3cml0YWJsZTsKKwlib29sIHVzZV9zbWJ1cyA9IGZhbHNlOworCXN0cnVjdCBhdDI0X2RhdGEgKmF0MjQ7CisJaW50IGVycjsKKwl1bnNpZ25lZCBpLCBudW1fYWRkcmVzc2VzOworCWtlcm5lbF91bG9uZ190IG1hZ2ljOworCisJaWYgKGNsaWVudC0+ZGV2LnBsYXRmb3JtX2RhdGEpIHsKKwkJY2hpcCA9ICooc3RydWN0IGF0MjRfcGxhdGZvcm1fZGF0YSAqKWNsaWVudC0+ZGV2LnBsYXRmb3JtX2RhdGE7CisJfSBlbHNlIHsKKwkJaWYgKCFpZC0+ZHJpdmVyX2RhdGEpIHsKKwkJCWVyciA9IC1FTk9ERVY7CisJCQlnb3RvIGVycl9vdXQ7CisJCX0KKwkJbWFnaWMgPSBpZC0+ZHJpdmVyX2RhdGE7CisJCWNoaXAuYnl0ZV9sZW4gPSBCSVQobWFnaWMgJiBBVDI0X0JJVE1BU0soQVQyNF9TSVpFX0JZVEVMRU4pKTsKKwkJbWFnaWMgPj49IEFUMjRfU0laRV9CWVRFTEVOOworCQljaGlwLmZsYWdzID0gbWFnaWMgJiBBVDI0X0JJVE1BU0soQVQyNF9TSVpFX0ZMQUdTKTsKKwkJLyoKKwkJICogVGhpcyBpcyBzbG93LCBidXQgd2UgY2FuJ3Qga25vdyBhbGwgZWVwcm9tcywgc28gd2UgYmV0dGVyCisJCSAqIHBsYXkgc2FmZS4gU3BlY2lmeWluZyBjdXN0b20gZWVwcm9tLXR5cGVzIHZpYSBwbGF0Zm9ybV9kYXRhCisJCSAqIGlzIHJlY29tbWVuZGVkIGFueWhvdy4KKwkJICovCisJCWNoaXAucGFnZV9zaXplID0gMTsKKwl9CisKKwlpZiAoIWlzX3Bvd2VyX29mXzIoY2hpcC5ieXRlX2xlbikpCisJCWRldl93YXJuKCZjbGllbnQtPmRldiwKKwkJCSJieXRlX2xlbiBsb29rcyBzdXNwaWNpb3VzIChubyBwb3dlciBvZiAyKSFcbiIpOworCWlmICghaXNfcG93ZXJfb2ZfMihjaGlwLnBhZ2Vfc2l6ZSkpCisJCWRldl93YXJuKCZjbGllbnQtPmRldiwKKwkJCSJwYWdlX3NpemUgbG9va3Mgc3VzcGljaW91cyAobm8gcG93ZXIgb2YgMikhXG4iKTsKKworCS8qIFVzZSBJMkMgb3BlcmF0aW9ucyB1bmxlc3Mgd2UncmUgc3R1Y2sgd2l0aCBTTUJ1cyBleHRlbnNpb25zLiAqLworCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoY2xpZW50LT5hZGFwdGVyLCBJMkNfRlVOQ19JMkMpKSB7CisJCWlmIChjaGlwLmZsYWdzICYgQVQyNF9GTEFHX0FERFIxNikgeworCQkJZXJyID0gLUVQRk5PU1VQUE9SVDsKKwkJCWdvdG8gZXJyX291dDsKKwkJfQorCQlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGNsaWVudC0+YWRhcHRlciwKKwkJCQlJMkNfRlVOQ19TTUJVU19SRUFEX0kyQ19CTE9DSykpIHsKKwkJCWVyciA9IC1FUEZOT1NVUFBPUlQ7CisJCQlnb3RvIGVycl9vdXQ7CisJCX0KKwkJdXNlX3NtYnVzID0gdHJ1ZTsKKwl9CisKKwlpZiAoY2hpcC5mbGFncyAmIEFUMjRfRkxBR19UQUtFOEFERFIpCisJCW51bV9hZGRyZXNzZXMgPSA4OworCWVsc2UKKwkJbnVtX2FkZHJlc3NlcyA9CURJVl9ST1VORF9VUChjaGlwLmJ5dGVfbGVuLAorCQkJKGNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfQUREUjE2KSA/IDY1NTM2IDogMjU2KTsKKworCWF0MjQgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYXQyNF9kYXRhKSArCisJCW51bV9hZGRyZXNzZXMgKiBzaXplb2Yoc3RydWN0IGkyY19jbGllbnQgKiksIEdGUF9LRVJORUwpOworCWlmICghYXQyNCkgeworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJbXV0ZXhfaW5pdCgmYXQyNC0+bG9jayk7CisJYXQyNC0+dXNlX3NtYnVzID0gdXNlX3NtYnVzOworCWF0MjQtPmNoaXAgPSBjaGlwOworCWF0MjQtPm51bV9hZGRyZXNzZXMgPSBudW1fYWRkcmVzc2VzOworCisJLyoKKwkgKiBFeHBvcnQgdGhlIEVFUFJPTSBieXRlcyB0aHJvdWdoIHN5c2ZzLCBzaW5jZSB0aGF0J3MgY29udmVuaWVudC4KKwkgKiBCeSBkZWZhdWx0LCBvbmx5IHJvb3Qgc2hvdWxkIHNlZSB0aGUgZGF0YSAobWF5YmUgcGFzc3dvcmRzIGV0YykKKwkgKi8KKwlhdDI0LT5iaW4uYXR0ci5uYW1lID0gImVlcHJvbSI7CisJYXQyNC0+YmluLmF0dHIubW9kZSA9IGNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfSVJVR08gPyBTX0lSVUdPIDogU19JUlVTUjsKKwlhdDI0LT5iaW4uYXR0ci5vd25lciA9IFRISVNfTU9EVUxFOworCWF0MjQtPmJpbi5yZWFkID0gYXQyNF9iaW5fcmVhZDsKKwlhdDI0LT5iaW4uc2l6ZSA9IGNoaXAuYnl0ZV9sZW47CisKKwl3cml0YWJsZSA9ICEoY2hpcC5mbGFncyAmIEFUMjRfRkxBR19SRUFET05MWSk7CisJaWYgKHdyaXRhYmxlKSB7CisJCWlmICghdXNlX3NtYnVzIHx8IGkyY19jaGVja19mdW5jdGlvbmFsaXR5KGNsaWVudC0+YWRhcHRlciwKKwkJCQlJMkNfRlVOQ19TTUJVU19XUklURV9JMkNfQkxPQ0spKSB7CisKKwkJCXVuc2lnbmVkIHdyaXRlX21heCA9IGNoaXAucGFnZV9zaXplOworCisJCQlhdDI0LT5iaW4ud3JpdGUgPSBhdDI0X2Jpbl93cml0ZTsKKwkJCWF0MjQtPmJpbi5hdHRyLm1vZGUgfD0gU19JV1VTUjsKKworCQkJaWYgKHdyaXRlX21heCA+IGlvX2xpbWl0KQorCQkJCXdyaXRlX21heCA9IGlvX2xpbWl0OworCQkJaWYgKHVzZV9zbWJ1cyAmJiB3cml0ZV9tYXggPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJCXdyaXRlX21heCA9IEkyQ19TTUJVU19CTE9DS19NQVg7CisJCQlhdDI0LT53cml0ZV9tYXggPSB3cml0ZV9tYXg7CisKKwkJCS8qIGJ1ZmZlciAoZGF0YSArIGFkZHJlc3MgYXQgdGhlIGJlZ2lubmluZykgKi8KKwkJCWF0MjQtPndyaXRlYnVmID0ga21hbGxvYyh3cml0ZV9tYXggKyAyLCBHRlBfS0VSTkVMKTsKKwkJCWlmICghYXQyNC0+d3JpdGVidWYpIHsKKwkJCQllcnIgPSAtRU5PTUVNOworCQkJCWdvdG8gZXJyX3N0cnVjdDsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCWRldl93YXJuKCZjbGllbnQtPmRldiwKKwkJCQkiY2Fubm90IHdyaXRlIGR1ZSB0byBjb250cm9sbGVyIHJlc3RyaWN0aW9ucy4iKTsKKwkJfQorCX0KKworCWF0MjQtPmNsaWVudFswXSA9IGNsaWVudDsKKworCS8qIHVzZSBkdW1teSBkZXZpY2VzIGZvciBtdWx0aXBsZS1hZGRyZXNzIGNoaXBzICovCisJZm9yIChpID0gMTsgaSA8IG51bV9hZGRyZXNzZXM7IGkrKykgeworCQlhdDI0LT5jbGllbnRbaV0gPSBpMmNfbmV3X2R1bW15KGNsaWVudC0+YWRhcHRlciwKKwkJCQkJY2xpZW50LT5hZGRyICsgaSk7CisJCWlmICghYXQyNC0+Y2xpZW50W2ldKSB7CisJCQlkZXZfZXJyKCZjbGllbnQtPmRldiwgImFkZHJlc3MgMHglMDJ4IHVuYXZhaWxhYmxlXG4iLAorCQkJCQljbGllbnQtPmFkZHIgKyBpKTsKKwkJCWVyciA9IC1FQUREUklOVVNFOworCQkJZ290byBlcnJfY2xpZW50czsKKwkJfQorCX0KKworCWVyciA9IHN5c2ZzX2NyZWF0ZV9iaW5fZmlsZSgmY2xpZW50LT5kZXYua29iaiwgJmF0MjQtPmJpbik7CisJaWYgKGVycikKKwkJZ290byBlcnJfY2xpZW50czsKKworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGF0MjQpOworCisJZGV2X2luZm8oJmNsaWVudC0+ZGV2LCAiJVpkIGJ5dGUgJXMgRUVQUk9NICVzXG4iLAorCQlhdDI0LT5iaW4uc2l6ZSwgY2xpZW50LT5uYW1lLAorCQl3cml0YWJsZSA/ICIod3JpdGFibGUpIiA6ICIocmVhZC1vbmx5KSIpOworCWRldl9kYmcoJmNsaWVudC0+ZGV2LAorCQkicGFnZV9zaXplICVkLCBudW1fYWRkcmVzc2VzICVkLCB3cml0ZV9tYXggJWQlc1xuIiwKKwkJY2hpcC5wYWdlX3NpemUsIG51bV9hZGRyZXNzZXMsCisJCWF0MjQtPndyaXRlX21heCwKKwkJdXNlX3NtYnVzID8gIiwgdXNlX3NtYnVzIiA6ICIiKTsKKworCXJldHVybiAwOworCitlcnJfY2xpZW50czoKKwlmb3IgKGkgPSAxOyBpIDwgbnVtX2FkZHJlc3NlczsgaSsrKQorCQlpZiAoYXQyNC0+Y2xpZW50W2ldKQorCQkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGF0MjQtPmNsaWVudFtpXSk7CisKKwlrZnJlZShhdDI0LT53cml0ZWJ1Zik7CitlcnJfc3RydWN0OgorCWtmcmVlKGF0MjQpOworZXJyX291dDoKKwlkZXZfZGJnKCZjbGllbnQtPmRldiwgInByb2JlIGVycm9yICVkXG4iLCBlcnIpOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZleGl0IGF0MjRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IGF0MjRfZGF0YSAqYXQyNDsKKwlpbnQgaTsKKworCWF0MjQgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlzeXNmc19yZW1vdmVfYmluX2ZpbGUoJmNsaWVudC0+ZGV2LmtvYmosICZhdDI0LT5iaW4pOworCisJZm9yIChpID0gMTsgaSA8IGF0MjQtPm51bV9hZGRyZXNzZXM7IGkrKykKKwkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGF0MjQtPmNsaWVudFtpXSk7CisKKwlrZnJlZShhdDI0LT53cml0ZWJ1Zik7CisJa2ZyZWUoYXQyNCk7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgTlVMTCk7CisJcmV0dXJuIDA7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBhdDI0X2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICJhdDI0IiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUgPSBhdDI0X3Byb2JlLAorCS5yZW1vdmUgPSBfX2RldmV4aXRfcChhdDI0X3JlbW92ZSksCisJLmlkX3RhYmxlID0gYXQyNF9pZHMsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBhdDI0X2luaXQodm9pZCkKK3sKKwlpb19saW1pdCA9IHJvdW5kZG93bl9wb3dfb2ZfdHdvKGlvX2xpbWl0KTsKKwlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmF0MjRfZHJpdmVyKTsKK30KK21vZHVsZV9pbml0KGF0MjRfaW5pdCk7CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdDI0X2V4aXQodm9pZCkKK3sKKwlpMmNfZGVsX2RyaXZlcigmYXQyNF9kcml2ZXIpOworfQorbW9kdWxlX2V4aXQoYXQyNF9leGl0KTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJEcml2ZXIgZm9yIG1vc3QgSTJDIEVFUFJPTXMiKTsKK01PRFVMRV9BVVRIT1IoIkRhdmlkIEJyb3duZWxsIGFuZCBXb2xmcmFtIFNhbmciKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvZWVwcm9tLmMKaW5kZXggN2RlZTAwMS4uMzczZWE4ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvZWVwcm9tLmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvZWVwcm9tLmMKQEAgLTEsMTUgKzEsOSBAQAogLyoKLSAgICBlZXByb20uYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChDKSAxOTk4LCAxOTk5ICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+IGFuZAogCQkJICAgICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDMgR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVnQGtyb2FoLmNvbT4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDMgSUJNIENvcnAuCi0KLSAgICAyMDA0LTAxLTE2ICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KLSAgICBEaXZpZGUgdGhlIGVlcHJvbSBpbiAzMi1ieXRlIChhcmJpdHJhcnkpIHNsaWNlcy4gVGhpcyBzaWduaWZpY2FudGx5Ci0gICAgc3BlZWRzIHNlbnNvcnMgdXAsIGFzIHdlbGwgYXMgdmFyaW91cyBzY3JpcHRzIHVzaW5nIHRoZSBlZXByb20KLSAgICBtb2R1bGUuCisgICAgQ29weXJpZ2h0IChDKSAyMDA0IEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgogCiAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtNzgsNyArNzIsNyBAQAogc3RhdGljIHZvaWQgZWVwcm9tX3VwZGF0ZV9jbGllbnQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggc2xpY2UpCiB7CiAJc3RydWN0IGVlcHJvbV9kYXRhICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Ci0JaW50IGksIGo7CisJaW50IGk7CiAKIAltdXRleF9sb2NrKCZkYXRhLT51cGRhdGVfbG9jayk7CiAKQEAgLTkzLDE1ICs4NywxMiBAQAogCQkJCQkJCSE9IDMyKQogCQkJCQlnb3RvIGV4aXQ7CiAJCX0gZWxzZSB7Ci0JCQlpZiAoaTJjX3NtYnVzX3dyaXRlX2J5dGUoY2xpZW50LCBzbGljZSA8PCA1KSkgewotCQkJCWRldl9kYmcoJmNsaWVudC0+ZGV2LCAiZWVwcm9tIHJlYWQgc3RhcnQgaGFzIGZhaWxlZCFcbiIpOwotCQkJCWdvdG8gZXhpdDsKLQkJCX0KLQkJCWZvciAoaSA9IHNsaWNlIDw8IDU7IGkgPCAoc2xpY2UgKyAxKSA8PCA1OyBpKyspIHsKLQkJCQlqID0gaTJjX3NtYnVzX3JlYWRfYnl0ZShjbGllbnQpOwotCQkJCWlmIChqIDwgMCkKKwkJCWZvciAoaSA9IHNsaWNlIDw8IDU7IGkgPCAoc2xpY2UgKyAxKSA8PCA1OyBpICs9IDIpIHsKKwkJCQlpbnQgd29yZCA9IGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YShjbGllbnQsIGkpOworCQkJCWlmICh3b3JkIDwgMCkKIAkJCQkJZ290byBleGl0OwotCQkJCWRhdGEtPmRhdGFbaV0gPSAodTgpIGo7CisJCQkJZGF0YS0+ZGF0YVtpXSA9IHdvcmQgJiAweGZmOworCQkJCWRhdGEtPmRhdGFbaSArIDFdID0gd29yZCA+PiA4OwogCQkJfQogCQl9CiAJCWRhdGEtPmxhc3RfdXBkYXRlZFtzbGljZV0gPSBqaWZmaWVzOwpAQCAtMTU5LDI0ICsxNTAsMzMgQEAKIAogc3RhdGljIGludCBlZXByb21fYXR0YWNoX2FkYXB0ZXIoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQogeworCWlmICghKGFkYXB0ZXItPmNsYXNzICYgKEkyQ19DTEFTU19EREMgfCBJMkNfQ0xBU1NfU1BEKSkpCisJCXJldHVybiAwOwogCXJldHVybiBpMmNfcHJvYmUoYWRhcHRlciwgJmFkZHJfZGF0YSwgZWVwcm9tX2RldGVjdCk7CiB9CiAKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGkyY19wcm9iZSAqLwogc3RhdGljIGludCBlZXByb21fZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgaW50IGFkZHJlc3MsIGludCBraW5kKQogewotCXN0cnVjdCBpMmNfY2xpZW50ICpuZXdfY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IGVlcHJvbV9kYXRhICpkYXRhOwogCWludCBlcnIgPSAwOwogCi0JLyogVGhlcmUgYXJlIHRocmVlIHdheXMgd2UgY2FuIHJlYWQgdGhlIEVFUFJPTSBkYXRhOgorCS8qIEVESUQgRUVQUk9NcyBhcmUgb2Z0ZW4gMjRDMDAgRUVQUk9Ncywgd2hpY2ggYW5zd2VyIHRvIGFsbAorCSAgIGFkZHJlc3NlcyAweDUwLTB4NTcsIGJ1dCB3ZSBvbmx5IGNhcmUgYWJvdXQgMHg1MC4gU28gZGVjbGluZQorCSAgIGF0dGFjaGluZyB0byBhZGRyZXNzZXMgPj0gMHg1MSBvbiBEREMgYnVzZXMgKi8KKwlpZiAoIShhZGFwdGVyLT5jbGFzcyAmIEkyQ19DTEFTU19TUEQpICYmIGFkZHJlc3MgPj0gMHg1MSkKKwkJZ290byBleGl0OworCisJLyogVGhlcmUgYXJlIGZvdXIgd2F5cyB3ZSBjYW4gcmVhZCB0aGUgRUVQUk9NIGRhdGE6CiAJICAgKDEpIEkyQyBibG9jayByZWFkcyAoZmFzdGVyLCBidXQgdW5zdXBwb3J0ZWQgYnkgbW9zdCBhZGFwdGVycykKLQkgICAoMikgQ29uc2VjdXRpdmUgYnl0ZSByZWFkcyAoMTAwJSBvdmVyaGVhZCkKLQkgICAoMykgUmVndWxhciBieXRlIGRhdGEgcmVhZHMgKDIwMCUgb3ZlcmhlYWQpCi0JICAgVGhlIHRoaXJkIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQgYnkgdGhpcyBkcml2ZXIgYmVjYXVzZSBhbGwKLQkgICBrbm93biBhZGFwdGVycyBzdXBwb3J0IGF0IGxlYXN0IHRoZSBzZWNvbmQuICovCi0JaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19SRUFEX0JZVEVfREFUQQotCQkJCQkgICAgfCBJMkNfRlVOQ19TTUJVU19CWVRFKSkKKwkgICAoMikgV29yZCByZWFkcyAoMTI4JSBvdmVyaGVhZCkKKwkgICAoMykgQ29uc2VjdXRpdmUgYnl0ZSByZWFkcyAoODglIG92ZXJoZWFkLCB1bnNhZmUpCisJICAgKDQpIFJlZ3VsYXIgYnl0ZSBkYXRhIHJlYWRzICgyNjUlIG92ZXJoZWFkKQorCSAgIFRoZSB0aGlyZCBhbmQgZm91cnRoIG1ldGhvZHMgYXJlIG5vdCBpbXBsZW1lbnRlZCBieSB0aGlzIGRyaXZlcgorCSAgIGJlY2F1c2UgYWxsIGtub3duIGFkYXB0ZXJzIHN1cHBvcnQgb25lIG9mIHRoZSBmaXJzdCB0d28uICovCisJaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19SRUFEX1dPUkRfREFUQSkKKwkgJiYgIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1JFQURfSTJDX0JMT0NLKSkKIAkJZ290byBleGl0OwogCiAJaWYgKCEoZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBlZXByb21fZGF0YSksIEdGUF9LRVJORUwpKSkgewpAQCAtMTg0LDUwICsxODQsNDkgQEAKIAkJZ290byBleGl0OwogCX0KIAotCW5ld19jbGllbnQgPSAmZGF0YS0+Y2xpZW50OworCWNsaWVudCA9ICZkYXRhLT5jbGllbnQ7CiAJbWVtc2V0KGRhdGEtPmRhdGEsIDB4ZmYsIEVFUFJPTV9TSVpFKTsKLQlpMmNfc2V0X2NsaWVudGRhdGEobmV3X2NsaWVudCwgZGF0YSk7Ci0JbmV3X2NsaWVudC0+YWRkciA9IGFkZHJlc3M7Ci0JbmV3X2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7Ci0JbmV3X2NsaWVudC0+ZHJpdmVyID0gJmVlcHJvbV9kcml2ZXI7Ci0JbmV3X2NsaWVudC0+ZmxhZ3MgPSAwOworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGRhdGEpOworCWNsaWVudC0+YWRkciA9IGFkZHJlc3M7CisJY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKwljbGllbnQtPmRyaXZlciA9ICZlZXByb21fZHJpdmVyOwogCiAJLyogRmlsbCBpbiB0aGUgcmVtYWluaW5nIGNsaWVudCBmaWVsZHMgKi8KLQlzdHJsY3B5KG5ld19jbGllbnQtPm5hbWUsICJlZXByb20iLCBJMkNfTkFNRV9TSVpFKTsKLQlkYXRhLT52YWxpZCA9IDA7CisJc3RybGNweShjbGllbnQtPm5hbWUsICJlZXByb20iLCBJMkNfTkFNRV9TSVpFKTsKIAltdXRleF9pbml0KCZkYXRhLT51cGRhdGVfbG9jayk7CiAJZGF0YS0+bmF0dXJlID0gVU5LTk9XTjsKIAogCS8qIFRlbGwgdGhlIEkyQyBsYXllciBhIG5ldyBjbGllbnQgaGFzIGFycml2ZWQgKi8KLQlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KG5ld19jbGllbnQpKSkKKwlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KGNsaWVudCkpKQogCQlnb3RvIGV4aXRfa2ZyZWU7CiAKIAkvKiBEZXRlY3QgdGhlIFZhaW8gbmF0dXJlIG9mIEVFUFJPTXMuCiAJICAgV2UgdXNlIHRoZSAiUENHLSIgb3IgIlZHTi0iIHByZWZpeCBhcyB0aGUgc2lnbmF0dXJlLiAqLwotCWlmIChhZGRyZXNzID09IDB4NTcpIHsKKwlpZiAoYWRkcmVzcyA9PSAweDU3CisJICYmIGkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1JFQURfQllURV9EQVRBKSkgewogCQljaGFyIG5hbWVbNF07CiAKLQkJbmFtZVswXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShuZXdfY2xpZW50LCAweDgwKTsKLQkJbmFtZVsxXSA9IGkyY19zbWJ1c19yZWFkX2J5dGUobmV3X2NsaWVudCk7Ci0JCW5hbWVbMl0gPSBpMmNfc21idXNfcmVhZF9ieXRlKG5ld19jbGllbnQpOwotCQluYW1lWzNdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZShuZXdfY2xpZW50KTsKKwkJbmFtZVswXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDB4ODApOworCQluYW1lWzFdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgMHg4MSk7CisJCW5hbWVbMl0gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCAweDgyKTsKKwkJbmFtZVszXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDB4ODMpOwogCiAJCWlmICghbWVtY21wKG5hbWUsICJQQ0ctIiwgNCkgfHwgIW1lbWNtcChuYW1lLCAiVkdOLSIsIDQpKSB7Ci0JCQlkZXZfaW5mbygmbmV3X2NsaWVudC0+ZGV2LCAiVmFpbyBFRVBST00gZGV0ZWN0ZWQsICIKKwkJCWRldl9pbmZvKCZjbGllbnQtPmRldiwgIlZhaW8gRUVQUk9NIGRldGVjdGVkLCAiCiAJCQkJICJlbmFibGluZyBwcml2YWN5IHByb3RlY3Rpb25cbiIpOwogCQkJZGF0YS0+bmF0dXJlID0gVkFJTzsKIAkJfQogCX0KIAogCS8qIGNyZWF0ZSB0aGUgc3lzZnMgZWVwcm9tIGZpbGUgKi8KLQllcnIgPSBzeXNmc19jcmVhdGVfYmluX2ZpbGUoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmZWVwcm9tX2F0dHIpOworCWVyciA9IHN5c2ZzX2NyZWF0ZV9iaW5fZmlsZSgmY2xpZW50LT5kZXYua29iaiwgJmVlcHJvbV9hdHRyKTsKIAlpZiAoZXJyKQogCQlnb3RvIGV4aXRfZGV0YWNoOwogCiAJcmV0dXJuIDA7CiAKIGV4aXRfZGV0YWNoOgotCWkyY19kZXRhY2hfY2xpZW50KG5ld19jbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiBleGl0X2tmcmVlOgogCWtmcmVlKGRhdGEpOwogZXhpdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL2lzcDEzMDFfb21hcC5jIGIvZHJpdmVycy9pMmMvY2hpcHMvaXNwMTMwMV9vbWFwLmMKaW5kZXggYjFiNDVkZC4uMDNhMzNmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvaXNwMTMwMV9vbWFwLmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvaXNwMTMwMV9vbWFwLmMKQEAgLTcyLDcgKzcyLDcgQEAKIH07CiAKIAotLyogYml0cyBpbiBPVEdfQ1RSTF9SRUcgKi8KKy8qIGJpdHMgaW4gT1RHX0NUUkwgKi8KIAogI2RlZmluZQlPVEdfWENFSVZfT1VUUFVUUyBcCiAJKE9UR19BU0VTU1ZMRHxPVEdfQlNFU1NFTkR8T1RHX0JTRVNTVkxEfE9UR19WQlVTVkxEfE9UR19JRCkKQEAgLTE4Niw4ICsxODYsOCBAQAogCiAvKiBvcGVyYXRpb25hbCByZWdpc3RlcnMgKi8KICNkZWZpbmUJSVNQMTMwMV9NT0RFX0NPTlRST0xfMQkJMHgwNAkvKiB1OCByZWFkLCBzZXQsICsxIGNsZWFyICovCi0jCWRlZmluZQlNQzFfU1BFRURfUkVHCQkoMSA8PCAwKQotIwlkZWZpbmUJTUMxX1NVU1BFTkRfUkVHCQkoMSA8PCAxKQorIwlkZWZpbmUJTUMxX1NQRUVECQkoMSA8PCAwKQorIwlkZWZpbmUJTUMxX1NVU1BFTkQJCSgxIDw8IDEpCiAjCWRlZmluZQlNQzFfREFUX1NFMAkJKDEgPDwgMikKICMJZGVmaW5lCU1DMV9UUkFOU1BBUkVOVAkJKDEgPDwgMykKICMJZGVmaW5lCU1DMV9CRElTX0FDT05fRU4JKDEgPDwgNCkKQEAgLTI3NCw3ICsyNzQsNyBAQAogCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX1VOREVGSU5FRDsKIAogCS8vIGlzcDEzMDFfc2V0X2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8yLCBNQzJfR0xPQkFMX1BXUl9ETik7Ci0JaXNwMTMwMV9zZXRfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9TVVNQRU5EX1JFRyk7CisJaXNwMTMwMV9zZXRfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9TVVNQRU5EKTsKIAogCWlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfT1RHX0NPTlRST0xfMSwgT1RHMV9JRF9QVUxMRE9XTik7CiAJaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwgTUMxX0RBVF9TRTApOwpAQCAtMjgzLDcgKzI4Myw3IEBACiBzdGF0aWMgdm9pZCBwb3dlcl91cChzdHJ1Y3QgaXNwMTMwMSAqaXNwKQogewogCS8vIGlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzIsIE1DMl9HTE9CQUxfUFdSX0ROKTsKLQlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfU1VTUEVORF9SRUcpOworCWlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9TVVNQRU5EKTsKIAogCS8qIGRvIHRoaXMgb25seSB3aGVuIGNwdSBpcyBkcml2aW5nIHRyYW5zY2VpdmVyLAogCSAqIHNvIGhvc3Qgd29uJ3Qgc2VlIGEgbG93IHNwZWVkIGRldmljZS4uLgpAQCAtMzYwLDYgKzM2MCw4IEBACiAvKiBjYWxsZWQgZnJvbSBpcnEgaGFuZGxlcnMgKi8KIHN0YXRpYyB2b2lkIGFfaWRsZShzdHJ1Y3QgaXNwMTMwMSAqaXNwLCBjb25zdCBjaGFyICp0YWcpCiB7CisJdTMyIGw7CisKIAlpZiAoaXNwLT5vdGcuc3RhdGUgPT0gT1RHX1NUQVRFX0FfSURMRSkKIAkJcmV0dXJuOwogCkBAIC0zNzMsMTMgKzM3NSwxNyBAQAogCQlnYWRnZXRfc3VzcGVuZChpc3ApOwogCX0KIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9BX0lETEU7Ci0JaXNwLT5sYXN0X290Z19jdHJsID0gT1RHX0NUUkxfUkVHID0gT1RHX0NUUkxfUkVHICYgT1RHX1hDRUlWX09VVFBVVFM7CisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX1hDRUlWX09VVFBVVFM7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCWlzcC0+bGFzdF9vdGdfY3RybCA9IGw7CiAJcHJfZGVidWcoIiAgLS0+ICVzLyVzXG4iLCBzdGF0ZV9uYW1lKGlzcCksIHRhZyk7CiB9CiAKIC8qIGNhbGxlZCBmcm9tIGlycSBoYW5kbGVycyAqLwogc3RhdGljIHZvaWQgYl9pZGxlKHN0cnVjdCBpc3AxMzAxICppc3AsIGNvbnN0IGNoYXIgKnRhZykKIHsKKwl1MzIgbDsKKwogCWlmIChpc3AtPm90Zy5zdGF0ZSA9PSBPVEdfU1RBVEVfQl9JRExFKQogCQlyZXR1cm47CiAKQEAgLTM5Myw3ICszOTksOSBAQAogCQlnYWRnZXRfc3VzcGVuZChpc3ApOwogCX0KIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX0lETEU7Ci0JaXNwLT5sYXN0X290Z19jdHJsID0gT1RHX0NUUkxfUkVHID0gT1RHX0NUUkxfUkVHICYgT1RHX1hDRUlWX09VVFBVVFM7CisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX1hDRUlWX09VVFBVVFM7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCWlzcC0+bGFzdF9vdGdfY3RybCA9IGw7CiAJcHJfZGVidWcoIiAgLS0+ICVzLyVzXG4iLCBzdGF0ZV9uYW1lKGlzcCksIHRhZyk7CiB9CiAKQEAgLTQwNiw3ICs0MTQsNyBAQAogCXU4CXNyYyA9IGlzcDEzMDFfZ2V0X3U4KGlzcCwgSVNQMTMwMV9JTlRFUlJVUFRfU09VUkNFKTsKIAogCXByX2RlYnVnKCJvdGc6ICUwNngsICVzICVzLCBvdGcvJTAyeCBzdGF0LyUwMnguJTAyeFxuIiwKLQkJT1RHX0NUUkxfUkVHLCBsYWJlbCwgc3RhdGVfbmFtZShpc3ApLAorCQlvbWFwX3JlYWRsKE9UR19DVFJMKSwgbGFiZWwsIHN0YXRlX25hbWUoaXNwKSwKIAkJY3RybCwgc3RhdHVzLCBzcmMpOwogCS8qIG1vZGUgY29udHJvbCBhbmQgaXJxIGVuYWJsZXMgZG9uJ3QgY2hhbmdlIG11Y2ggKi8KICNlbmRpZgpAQCAtNDI5LDcgKzQzNyw3IEBACiBzdGF0aWMgdm9pZCBjaGVja19zdGF0ZShzdHJ1Y3QgaXNwMTMwMSAqaXNwLCBjb25zdCBjaGFyICp0YWcpCiB7CiAJZW51bSB1c2Jfb3RnX3N0YXRlCXN0YXRlID0gT1RHX1NUQVRFX1VOREVGSU5FRDsKLQl1OAkJCWZzbSA9IE9UR19URVNUX1JFRyAmIDB4MGZmOworCXU4CQkJZnNtID0gb21hcF9yZWFkdyhPVEdfVEVTVCkgJiAweDBmZjsKIAl1bnNpZ25lZAkJZXh0cmEgPSAwOwogCiAJc3dpdGNoIChmc20pIHsKQEAgLTQ5NCw3ICs1MDIsOCBAQAogCWlmIChpc3AtPm90Zy5zdGF0ZSA9PSBzdGF0ZSAmJiAhZXh0cmEpCiAJCXJldHVybjsKIAlwcl9kZWJ1Zygib3RnOiAlcyBGU00gJXMvJTAyeCwgJXMsICUwNnhcbiIsIHRhZywKLQkJc3RhdGVfc3RyaW5nKHN0YXRlKSwgZnNtLCBzdGF0ZV9uYW1lKGlzcCksIE9UR19DVFJMX1JFRyk7CisJCXN0YXRlX3N0cmluZyhzdGF0ZSksIGZzbSwgc3RhdGVfbmFtZShpc3ApLAorCQlvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiB9CiAKICNlbHNlCkBAIC01MDgsMTAgKzUxNywxMSBAQAogewogCXUzMglvdGdfY3RybDsKIAotCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHCi0JCQkmIE9UR19DVFJMX01BU0sKLQkJCSYgfk9UR19YQ0VJVl9JTlBVVFMKLQkJCSYgfihPVEdfSUR8T1RHX0FTRVNTVkxEfE9UR19WQlVTVkxEKTsKKwlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0NUUkxfTUFTSzsKKwlvdGdfY3RybCAmPSB+T1RHX1hDRUlWX0lOUFVUUzsKKwlvdGdfY3RybCAmPSB+KE9UR19JRHxPVEdfQVNFU1NWTER8T1RHX1ZCVVNWTEQpOworCisKIAlpZiAoaW50X3NyYyAmIElOVFJfU0VTU19WTEQpCiAJCW90Z19jdHJsIHw9IE9UR19BU0VTU1ZMRDsKIAllbHNlIGlmIChpc3AtPm90Zy5zdGF0ZSA9PSBPVEdfU1RBVEVfQV9XQUlUX1ZGQUxMKSB7CkBAIC01MzQsNyArNTQ0LDcgQEAKIAkJCXJldHVybjsKIAkJfQogCX0KLQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogfQogCiAvKiBvdXRwdXRzIGZyb20gSVNQMTMwMV9PVEdfU1RBVFVTICovCkBAIC01NDIsMTUgKzU1MiwxNCBAQAogewogCXUzMglvdGdfY3RybDsKIAotCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHCi0JCQkmIE9UR19DVFJMX01BU0sKLQkJCSYgfk9UR19YQ0VJVl9JTlBVVFMKLQkJCSYgfihPVEdfQlNFU1NWTER8T1RHX0JTRVNTRU5EKTsKKwlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0NUUkxfTUFTSzsKKwlvdGdfY3RybCAmPSB+T1RHX1hDRUlWX0lOUFVUUzsKKwlvdGdfY3RybCAmPSB+KE9UR19CU0VTU1ZMRCB8IE9UR19CU0VTU0VORCk7CiAJaWYgKG90Z19zdGF0dXMgJiBPVEdfQl9TRVNTX1ZMRCkKIAkJb3RnX2N0cmwgfD0gT1RHX0JTRVNTVkxEOwogCWVsc2UgaWYgKG90Z19zdGF0dXMgJiBPVEdfQl9TRVNTX0VORCkKIAkJb3RnX2N0cmwgfD0gT1RHX0JTRVNTRU5EOwotCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiB9CiAKIC8qIGlucHV0cyBnb2luZyB0byBJU1AxMzAxICovCkBAIC01NTksNyArNTY4LDcgQEAKIAl1MzIJb3RnX2N0cmwsIG90Z19jaGFuZ2U7CiAJdTgJc2V0ID0gT1RHMV9ETV9QVUxMRE9XTiwgY2xyID0gT1RHMV9ETV9QVUxMVVA7CiAKLQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCW90Z19jaGFuZ2UgPSBvdGdfY3RybCBeIGlzcC0+bGFzdF9vdGdfY3RybDsKIAlpc3AtPmxhc3Rfb3RnX2N0cmwgPSBvdGdfY3RybDsKIAlvdGdfY3RybCA9IG90Z19jdHJsICYgT1RHX1hDRUlWX0lOUFVUUzsKQEAgLTYzOSw2ICs2NDgsOCBAQAogCiAJLyogSE5QIHN3aXRjaCB0byBob3N0IG9yIHBlcmlwaGVyYWw7IGFuZCBTUlAgKi8KIAlpZiAob3RnX2NoYW5nZSAmIE9UR19QVUxMVVApIHsKKwkJdTMyIGw7CisKIAkJc3dpdGNoIChpc3AtPm90Zy5zdGF0ZSkgewogCQljYXNlIE9UR19TVEFURV9CX0lETEU6CiAJCQlpZiAoY2xyICYgT1RHMV9EUF9QVUxMVVApCkBAIC02NTUsNyArNjY2LDkgQEAKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwogCQl9Ci0JCU9UR19DVFJMX1JFRyB8PSBPVEdfUFVMTFVQOworCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CisJCWwgfD0gT1RHX1BVTExVUDsKKwkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCX0KIAogCWNoZWNrX3N0YXRlKGlzcCwgX19mdW5jX18pOwpAQCAtNjY0LDIwICs2NzcsMjAgQEAKIAogc3RhdGljIGlycXJldHVybl90IG9tYXBfb3RnX2lycShpbnQgaXJxLCB2b2lkICpfaXNwKQogewotCXUxNgkJb3RnX2lycSA9IE9UR19JUlFfU1JDX1JFRzsKKwl1MTYJCW90Z19pcnEgPSBvbWFwX3JlYWR3KE9UR19JUlFfU1JDKTsKIAl1MzIJCW90Z19jdHJsOwogCWludAkJcmV0ID0gSVJRX05PTkU7CiAJc3RydWN0IGlzcDEzMDEJKmlzcCA9IF9pc3A7CiAKIAkvKiB1cGRhdGUgSVNQMTMwMSB0cmFuc2NpZXZlciBmcm9tIE9URyBjb250cm9sbGVyICovCiAJaWYgKG90Z19pcnEgJiBPUFJUX0NIRykgewotCQlPVEdfSVJRX1NSQ19SRUcgPSBPUFJUX0NIRzsKKwkJb21hcF93cml0ZXcoT1BSVF9DSEcsIE9UR19JUlFfU1JDKTsKIAkJaXNwMTMwMV9kZWZlcl93b3JrKGlzcCwgV09SS19VUERBVEVfSVNQKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBTUlAgdG8gYmVjb21lIGJfcGVyaXBoZXJhbCBmYWlsZWQgKi8KIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBCX1NSUF9UTVJPVVQpIHsKLQkJcHJfZGVidWcoIm90ZzogQl9TUlBfVElNRU9VVCwgJTA2eFxuIiwgT1RHX0NUUkxfUkVHKTsKKwkJcHJfZGVidWcoIm90ZzogQl9TUlBfVElNRU9VVCwgJTA2eFxuIiwgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCQlub3RyZXNwb25kaW5nKGlzcCk7CiAKIAkJLyogZ2FkZ2V0IGRyaXZlcnMgdGhhdCBjYXJlIHNob3VsZCBtb25pdG9yIGFsbCBraW5kcyBvZgpAQCAtNjg3LDMxICs3MDAsMzEgQEAKIAkJaWYgKGlzcC0+b3RnLnN0YXRlID09IE9UR19TVEFURV9CX1NSUF9JTklUKQogCQkJYl9pZGxlKGlzcCwgInNycF90aW1lb3V0Iik7CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gQl9TUlBfVE1ST1VUOworCQlvbWFwX3dyaXRldyhCX1NSUF9UTVJPVVQsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBITlAgdG8gYmVjb21lIGJfaG9zdCBmYWlsZWQgKi8KIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBCX0hOUF9GQUlMKSB7CiAJCXByX2RlYnVnKCJvdGc6ICVzIEJfSE5QX0ZBSUwsICUwNnhcbiIsCi0JCQkJc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCQkJCXN0YXRlX25hbWUoaXNwKSwgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCQlub3RyZXNwb25kaW5nKGlzcCk7CiAKLQkJb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCW90Z19jdHJsIHw9IE9UR19CVVNEUk9QOwogCQlvdGdfY3RybCAmPSBPVEdfQ1RSTF9NQVNLICYgfk9UR19YQ0VJVl9JTlBVVFM7Ci0JCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCiAJCS8qIHN1YnNldCBvZiBiX3BlcmlwaGVyYWwoKS4uLiAqLwogCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX1BFUklQSEVSQUw7CiAJCXByX2RlYnVnKCIgIC0tPiBiX3BlcmlwaGVyYWxcbiIpOwogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEJfSE5QX0ZBSUw7CisJCW9tYXBfd3JpdGV3KEJfSE5QX0ZBSUwsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBkZXRlY3QgU1JQIGZyb20gQi1kZXZpY2UgLi4uICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQV9TUlBfREVURUNUKSB7CiAJCXByX2RlYnVnKCJvdGc6ICVzIFNSUF9ERVRFQ1QsICUwNnhcbiIsCi0JCQkJc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCQkJCXN0YXRlX25hbWUoaXNwKSwgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCiAJCWlzcDEzMDFfZGVmZXJfd29yayhpc3AsIFdPUktfVVBEQVRFX09URyk7CiAJCXN3aXRjaCAoaXNwLT5vdGcuc3RhdGUpIHsKQEAgLTcxOSw0OSArNzMyLDQ5IEBACiAJCQlpZiAoIWlzcC0+b3RnLmhvc3QpCiAJCQkJYnJlYWs7CiAJCQlpc3AxMzAxX2RlZmVyX3dvcmsoaXNwLCBXT1JLX0hPU1RfUkVTVU1FKTsKLQkJCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJCW90Z19jdHJsIHw9IE9UR19BX0JVU1JFUTsKIAkJCW90Z19jdHJsICY9IH4oT1RHX0JVU0RST1B8T1RHX0JfQlVTUkVRKQogCQkJCQkmIH5PVEdfWENFSVZfSU5QVVRTCiAJCQkJCSYgT1RHX0NUUkxfTUFTSzsKLQkJCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJYnJlYWs7CiAJCX0KIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBBX1NSUF9ERVRFQ1Q7CisJCW9tYXBfd3JpdGV3KEFfU1JQX0RFVEVDVCwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCS8qIHRpbWVyIGV4cGlyZWQ6ICBUKGFfd2FpdF9iY29uKSBhbmQgbWF5YmUgVChhX3dhaXRfdnJpc2UpCiAJICogd2UgZG9uJ3QgdHJhY2sgdGhlbSBzZXBhcmF0ZWx5CiAJICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQV9SRVFfVE1ST1VUKSB7Ci0JCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQlwcl9pbmZvKCJvdGc6IEJDT05fVE1PVVQgZnJvbSAlcywgJTA2eFxuIiwKIAkJCQlzdGF0ZV9uYW1lKGlzcCksIG90Z19jdHJsKTsKIAkJbm90cmVzcG9uZGluZyhpc3ApOwogCiAJCW90Z19jdHJsIHw9IE9UR19CVVNEUk9QOwogCQlvdGdfY3RybCAmPSB+T1RHX0FfQlVTUkVRICYgT1RHX0NUUkxfTUFTSyAmIH5PVEdfWENFSVZfSU5QVVRTOwotCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQV9XQUlUX1ZGQUxMOwogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEFfUkVRX1RNUk9VVDsKKwkJb21hcF93cml0ZXcoQV9SRVFfVE1ST1VULCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogQS1zdXBwbGllZCB2b2x0YWdlIGZlbGwgdG9vIGxvdzsgb3ZlcmN1cnJlbnQgKi8KIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBBX1ZCVVNfRVJSKSB7Ci0JCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQlwcmludGsoS0VSTl9FUlIgIm90ZzogJXMsIFZCVVNfRVJSICUwNHggY3RybCAlMDZ4XG4iLAogCQkJc3RhdGVfbmFtZShpc3ApLCBvdGdfaXJxLCBvdGdfY3RybCk7CiAKIAkJb3RnX2N0cmwgfD0gT1RHX0JVU0RST1A7CiAJCW90Z19jdHJsICY9IH5PVEdfQV9CVVNSRVEgJiBPVEdfQ1RSTF9NQVNLICYgfk9UR19YQ0VJVl9JTlBVVFM7Ci0JCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9BX1ZCVVNfRVJSOwogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEFfVkJVU19FUlI7CisJCW9tYXBfd3JpdGV3KEFfVkJVU19FUlIsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBzd2l0Y2ggZHJpdmVyOyB0aGUgdHJhbnNjaWV2ZXIgY29kZSBhY3RpdmF0ZXMgaXQsCkBAIC03NzAsNyArNzgzLDcgQEAKIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBEUklWRVJfU1dJVENIKSB7CiAJCWludAlraWNrID0gMDsKIAotCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJcHJpbnRrKEtFUk5fTk9USUNFICJvdGc6ICVzLCBTV0lUQ0ggdG8gJXMsIGN0cmwgJTA2eFxuIiwKIAkJCQlzdGF0ZV9uYW1lKGlzcCksCiAJCQkJKG90Z19jdHJsICYgT1RHX0RSSVZFUl9TRUwpCkBAIC03OTMsNyArODA2LDcgQEAKIAkJfSBlbHNlIHsKIAkJCWlmICghKG90Z19jdHJsICYgT1RHX0lEKSkgewogCQkJCW90Z19jdHJsICY9IE9UR19DVFJMX01BU0sgJiB+T1RHX1hDRUlWX0lOUFVUUzsKLQkJCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybCB8IE9UR19BX0JVU1JFUTsKKwkJCQlvbWFwX3dyaXRlbChvdGdfY3RybCB8IE9UR19BX0JVU1JFUSwgT1RHX0NUUkwpOwogCQkJfQogCiAJCQlpZiAoaXNwLT5vdGcuaG9zdCkgewpAQCAtODE4LDcgKzgzMSw3IEBACiAJCQl9CiAJCX0KIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBEUklWRVJfU1dJVENIOworCQlvbWFwX3dyaXRldyhEUklWRVJfU1dJVENILCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJCWlmIChraWNrKQpAQCAtODM0LDEyICs4NDcsMTUgQEAKIAogc3RhdGljIGludCBvdGdfaW5pdChzdHJ1Y3QgaXNwMTMwMSAqaXNwKQogeworCXUzMiBsOworCiAJaWYgKCFvdGdfZGV2KQogCQlyZXR1cm4gLUVOT0RFVjsKIAogCWR1bXBfcmVncyhpc3AsIF9fZnVuY19fKTsKIAkvKiBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcmUgYm9hcmQtc3BlY2lmaWMuLi4gKi8KLQlPVEdfU1lTQ09OXzJfUkVHIHw9IE9UR19FTgorCWwgPSBvbWFwX3JlYWRsKE9UR19TWVNDT05fMik7CisJbCB8PSBPVEdfRU4KIAkJLyogZm9yIEItZGV2aWNlOiAqLwogCQl8IFNSUF9HUERBVEEJCS8qIDltc2VjIEJkZXYgRCsgcHVsc2UgKi8KIAkJfCBTUlBfR1BEVkJVUwkJLyogZGlzY2hhcmdlIGFmdGVyIFZCVVMgcHVsc2UgKi8KQEAgLTg0OSwxOCArODY1LDIyIEBACiAJCXwgU1JQX0RQVwkJLyogZGV0ZWN0IDE2NytucyBTUlAgcHVsc2VzICovCiAJCXwgU1JQX0RBVEEgfCBTUlBfVkJVUwkvKiBhY2NlcHQgYm90aCBraW5kcyBvZiBTUlAgcHVsc2UgKi8KIAkJOworCW9tYXBfd3JpdGVsKGwsIE9UR19TWVNDT05fMik7CiAKIAl1cGRhdGVfb3RnMShpc3AsIGlzcDEzMDFfZ2V0X3U4KGlzcCwgSVNQMTMwMV9JTlRFUlJVUFRfU09VUkNFKSk7CiAJdXBkYXRlX290ZzIoaXNwLCBpc3AxMzAxX2dldF91OChpc3AsIElTUDEzMDFfT1RHX1NUQVRVUykpOwogCiAJY2hlY2tfc3RhdGUoaXNwLCBfX2Z1bmNfXyk7CiAJcHJfZGVidWcoIm90ZzogJXMsICVzICUwNnhcbiIsCi0JCQlzdGF0ZV9uYW1lKGlzcCksIF9fZnVuY19fLCBPVEdfQ1RSTF9SRUcpOworCQkJc3RhdGVfbmFtZShpc3ApLCBfX2Z1bmNfXywgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCi0JT1RHX0lSUV9FTl9SRUcgPSBEUklWRVJfU1dJVENIIHwgT1BSVF9DSEcKKwlvbWFwX3dyaXRldyhEUklWRVJfU1dJVENIIHwgT1BSVF9DSEcKIAkJCXwgQl9TUlBfVE1ST1VUIHwgQl9ITlBfRkFJTAotCQkJfCBBX1ZCVVNfRVJSIHwgQV9TUlBfREVURUNUIHwgQV9SRVFfVE1ST1VUOwotCU9UR19TWVNDT05fMl9SRUcgfD0gT1RHX0VOOworCQkJfCBBX1ZCVVNfRVJSIHwgQV9TUlBfREVURUNUIHwgQV9SRVFfVE1ST1VULCBPVEdfSVJRX0VOKTsKKworCWwgPSBvbWFwX3JlYWRsKE9UR19TWVNDT05fMik7CisJbCB8PSBPVEdfRU47CisJb21hcF93cml0ZWwobCwgT1RHX1NZU0NPTl8yKTsKIAogCXJldHVybiAwOwogfQpAQCAtOTI3LDcgKzk0NywxMSBAQAogCiBzdGF0aWMgdm9pZCBiX3BlcmlwaGVyYWwoc3RydWN0IGlzcDEzMDEgKmlzcCkKIHsKLQlPVEdfQ1RSTF9SRUcgPSBPVEdfQ1RSTF9SRUcgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwl1MzIgbDsKKworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19YQ0VJVl9PVVRQVVRTOworCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwogCXVzYl9nYWRnZXRfdmJ1c19jb25uZWN0KGlzcC0+b3RnLmdhZGdldCk7CiAKICNpZmRlZglDT05GSUdfVVNCX09URwpAQCAtOTk5LDYgKzEwMjMsOCBAQAogCQkJaXNwX2JzdGF0ID0gMDsKIAkJfQogCX0gZWxzZSB7CisJCXUzMiBsOworCiAJCS8qIGlmIHVzZXIgdW5wbHVnZ2VkIG1pbmktQSBlbmQgb2YgY2FibGUsCiAJCSAqIGRvbid0IGJ5cGFzcyBBX1dBSVRfVkZBTEwuCiAJCSAqLwpAQCAtMTAxOSw4ICsxMDQ1LDkgQEAKIAkJCQlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLAogCQkJCQkJTUMxX0JESVNfQUNPTl9FTik7CiAJCQkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9JRExFOwotCQkJCU9UR19DVFJMX1JFRyAmPSBPVEdfQ1RSTF9SRUcgJiBPVEdfQ1RSTF9NQVNLCi0JCQkJCQkmIH5PVEdfQ1RSTF9CSVRTOworCQkJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19DVFJMX01BU0s7CisJCQkJbCAmPSB+T1RHX0NUUkxfQklUUzsKKwkJCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIE9UR19TVEFURV9CX0lETEU6CiAJCQkJYnJlYWs7CkBAIC0xMDQ2LDcgKzEwNzMsOCBAQAogCQkJLyogRkFMTFRIUk9VR0ggKi8KIAkJY2FzZSBPVEdfU1RBVEVfQl9TUlBfSU5JVDoKIAkJCWJfaWRsZShpc3AsIF9fZnVuY19fKTsKLQkJCU9UR19DVFJMX1JFRyAmPSBPVEdfQ1RSTF9SRUcgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwkJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19YQ0VJVl9PVVRQVVRTOworCQkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCQkJLyogRkFMTFRIUk9VR0ggKi8KIAkJY2FzZSBPVEdfU1RBVEVfQl9JRExFOgogCQkJaWYgKGlzcC0+b3RnLmdhZGdldCAmJiAoaXNwX2JzdGF0ICYgT1RHX0JfU0VTU19WTEQpKSB7CkBAIC0xMTMwLDExICsxMTU4LDExIEBACiAJCQljYXNlIE9UR19TVEFURV9BX1dBSVRfVlJJU0U6CiAJCQkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQV9IT1NUOwogCQkJCXByX2RlYnVnKCIgIC0tPiBhX2hvc3RcbiIpOwotCQkJCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQkJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCQkJb3RnX2N0cmwgfD0gT1RHX0FfQlVTUkVROwogCQkJCW90Z19jdHJsICY9IH4oT1RHX0JVU0RST1B8T1RHX0JfQlVTUkVRKQogCQkJCQkJJiBPVEdfQ1RSTF9NQVNLOwotCQkJCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQkJCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIE9UR19TVEFURV9CX1dBSVRfQUNPTjoKIAkJCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX0hPU1Q7CkBAIC0xMjc0LDcgKzEzMDIsNyBAQAogCQlyZXR1cm4gLUVOT0RFVjsKIAogCWlmICghaG9zdCkgewotCQlPVEdfSVJRX0VOX1JFRyA9IDA7CisJCW9tYXBfd3JpdGV3KDAsIE9UR19JUlFfRU4pOwogCQlwb3dlcl9kb3duKGlzcCk7CiAJCWlzcC0+b3RnLmhvc3QgPSAwOwogCQlyZXR1cm4gMDsKQEAgLTEzMjUsMTIgKzEzNTMsMTMgQEAKIGlzcDEzMDFfc2V0X3BlcmlwaGVyYWwoc3RydWN0IG90Z190cmFuc2NlaXZlciAqb3RnLCBzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0KQogewogCXN0cnVjdCBpc3AxMzAxCSppc3AgPSBjb250YWluZXJfb2Yob3RnLCBzdHJ1Y3QgaXNwMTMwMSwgb3RnKTsKKwl1MzIgbDsKIAogCWlmICghb3RnIHx8IGlzcCAhPSB0aGVfdHJhbnNjZWl2ZXIpCiAJCXJldHVybiAtRU5PREVWOwogCiAJaWYgKCFnYWRnZXQpIHsKLQkJT1RHX0lSUV9FTl9SRUcgPSAwOworCQlvbWFwX3dyaXRldygwLCBPVEdfSVJRX0VOKTsKIAkJaWYgKCFpc3AtPm90Zy5kZWZhdWx0X2EpCiAJCQllbmFibGVfdmJ1c19kcmF3KGlzcCwgMCk7CiAJCXVzYl9nYWRnZXRfdmJ1c19kaXNjb25uZWN0KGlzcC0+b3RnLmdhZGdldCk7CkBAIC0xMzUxLDkgKzEzODAsMTEgQEAKIAlpc3AtPm90Zy5nYWRnZXQgPSBnYWRnZXQ7CiAJLy8gRklYTUUgdXBkYXRlIGl0cyByZWZjb3VudAogCi0JT1RHX0NUUkxfUkVHID0gKE9UR19DVFJMX1JFRyAmIE9UR19DVFJMX01BU0sKLQkJCQkmIH4oT1RHX1hDRUlWX09VVFBVVFN8T1RHX0NUUkxfQklUUykpCi0JCQl8IE9UR19JRDsKKwlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfQ1RSTF9NQVNLOworCWwgJj0gfihPVEdfWENFSVZfT1VUUFVUU3xPVEdfQ1RSTF9CSVRTKTsKKwlsIHw9IE9UR19JRDsKKwlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisKIAlwb3dlcl91cChpc3ApOwogCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0JfSURMRTsKIApAQCAtMTQwNSwxNiArMTQzNiwxNyBAQAogCQkJfHwgaXNwLT5vdGcuc3RhdGUgIT0gT1RHX1NUQVRFX0JfSURMRSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKLQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCWlmICghKG90Z19jdHJsICYgT1RHX0JTRVNTRU5EKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlvdGdfY3RybCB8PSBPVEdfQl9CVVNSRVE7CiAJb3RnX2N0cmwgJj0gfk9UR19BX0JVU1JFUSAmIE9UR19DVFJMX01BU0s7Ci0JT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX1NSUF9JTklUOwogCi0JcHJfZGVidWcoIm90ZzogU1JQLCAlcyAuLi4gJTA2eFxuIiwgc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCXByX2RlYnVnKCJvdGc6IFNSUCwgJXMgLi4uICUwNnhcbiIsIHN0YXRlX25hbWUoaXNwKSwKKwkJCW9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKICNpZmRlZglDT05GSUdfVVNCX09URwogCWNoZWNrX3N0YXRlKGlzcCwgX19mdW5jX18pOwogI2VuZGlmCkBAIC0xNDI2LDYgKzE0NTgsNyBAQAogewogI2lmZGVmCUNPTkZJR19VU0JfT1RHCiAJc3RydWN0IGlzcDEzMDEJKmlzcCA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBpc3AxMzAxLCBvdGcpOworCXUzMiBsOwogCiAJaWYgKCFkZXYgfHwgaXNwICE9IHRoZV90cmFuc2NlaXZlcikKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0xNDUyLDcgKzE0ODUsOSBAQAogI2VuZGlmCiAJCS8qIGNhbGxlciBtdXN0IHN1c3BlbmQgdGhlbiBjbGVhciBBX0JVU1JFUSAqLwogCQl1c2JfZ2FkZ2V0X3ZidXNfY29ubmVjdChpc3AtPm90Zy5nYWRnZXQpOwotCQlPVEdfQ1RSTF9SRUcgfD0gT1RHX0FfU0VUQl9ITlBFTjsKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsIHw9IE9UR19BX1NFVEJfSE5QRU47CisJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKIAogCQlicmVhazsKIAljYXNlIE9UR19TVEFURV9BX1BFUklQSEVSQUw6CkBAIC0xNDYyLDcgKzE0OTcsNyBAQAogCQlyZXR1cm4gLUVJTFNFUTsKIAl9CiAJcHJfZGVidWcoIm90ZzogSE5QICVzLCAlMDZ4IC4uLlxuIiwKLQkJc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCQlzdGF0ZV9uYW1lKGlzcCksIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAljaGVja19zdGF0ZShpc3AsIF9fZnVuY19fKTsKIAlyZXR1cm4gMDsKICNlbHNlCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9tYXg2ODc1LmMgYi9kcml2ZXJzL2kyYy9jaGlwcy9tYXg2ODc1LmMKaW5kZXggY2Y1MDdiMy4uNWEwMjg1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvbWF4Njg3NS5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL21heDY4NzUuYwpAQCAtMTcwLDcgKzE3MCw3IEBACiAJc3RydWN0IGkyY19jbGllbnQgKnJlYWxfY2xpZW50OwogCXN0cnVjdCBpMmNfY2xpZW50ICpmYWtlX2NsaWVudDsKIAlzdHJ1Y3QgbWF4Njg3NV9kYXRhICpkYXRhOwotCWludCBlcnIgPSAwOworCWludCBlcnI7CiAKIAlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1dSSVRFX0JZVEVfREFUQQogCQkJCSAgICAgfCBJMkNfRlVOQ19TTUJVU19SRUFEX0JZVEUpKQpAQCAtMTk1LDcgKzE5NSw2IEBACiAJcmVhbF9jbGllbnQtPmFkZHIgPSBhZGRyZXNzOwogCXJlYWxfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKIAlyZWFsX2NsaWVudC0+ZHJpdmVyID0gJm1heDY4NzVfZHJpdmVyOwotCXJlYWxfY2xpZW50LT5mbGFncyA9IDA7CiAJc3RybGNweShyZWFsX2NsaWVudC0+bmFtZSwgIm1heDY4NzUiLCBJMkNfTkFNRV9TSVpFKTsKIAltdXRleF9pbml0KCZkYXRhLT51cGRhdGVfbG9jayk7CiAKQEAgLTIwNCw3ICsyMDMsNiBAQAogCWZha2VfY2xpZW50LT5hZGRyID0gYWRkcmVzcyB8IDE7CiAJZmFrZV9jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwogCWZha2VfY2xpZW50LT5kcml2ZXIgPSAmbWF4Njg3NV9kcml2ZXI7Ci0JZmFrZV9jbGllbnQtPmZsYWdzID0gMDsKIAlzdHJsY3B5KGZha2VfY2xpZW50LT5uYW1lLCAibWF4Njg3NSBzdWJjbGllbnQiLCBJMkNfTkFNRV9TSVpFKTsKIAogCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQocmVhbF9jbGllbnQpKSAhPSAwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvcGNhOTUzOS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNhOTUzOS5jCmluZGV4IGY0M2M0ZTcuLjU4YWI3ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjYTk1MzkuYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2E5NTM5LmMKQEAgLTExMyw3ICsxMTMsNyBAQAogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgaTJjX3Byb2JlICovCiBzdGF0aWMgaW50IHBjYTk1MzlfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgaW50IGFkZHJlc3MsIGludCBraW5kKQogewotCXN0cnVjdCBpMmNfY2xpZW50ICpuZXdfY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IHBjYTk1MzlfZGF0YSAqZGF0YTsKIAlpbnQgZXJyID0gMDsKIApAQCAtMTI3LDI5ICsxMjcsMjggQEAKIAkJZ290byBleGl0OwogCX0KIAotCW5ld19jbGllbnQgPSAmZGF0YS0+Y2xpZW50OwotCWkyY19zZXRfY2xpZW50ZGF0YShuZXdfY2xpZW50LCBkYXRhKTsKLQluZXdfY2xpZW50LT5hZGRyID0gYWRkcmVzczsKLQluZXdfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKLQluZXdfY2xpZW50LT5kcml2ZXIgPSAmcGNhOTUzOV9kcml2ZXI7Ci0JbmV3X2NsaWVudC0+ZmxhZ3MgPSAwOworCWNsaWVudCA9ICZkYXRhLT5jbGllbnQ7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgZGF0YSk7CisJY2xpZW50LT5hZGRyID0gYWRkcmVzczsKKwljbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOworCWNsaWVudC0+ZHJpdmVyID0gJnBjYTk1MzlfZHJpdmVyOwogCiAJaWYgKGtpbmQgPCAwKSB7CiAJCS8qIERldGVjdGlvbjogdGhlIHBjYTk1Mzkgb25seSBoYXMgOCByZWdpc3RlcnMgKDAtNykuCiAJCSAgIEEgcmVhZCBvZiA3IHNob3VsZCBzdWNjZWVkLCBidXQgYSByZWFkIG9mIDggc2hvdWxkIGZhaWwuICovCi0JCWlmICgoaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKG5ld19jbGllbnQsIDcpIDwgMCkgfHwKLQkJICAgIChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEobmV3X2NsaWVudCwgOCkgPj0gMCkpCisJCWlmICgoaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgNykgPCAwKSB8fAorCQkgICAgKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDgpID49IDApKQogCQkJZ290byBleGl0X2tmcmVlOwogCX0KIAotCXN0cmxjcHkobmV3X2NsaWVudC0+bmFtZSwgInBjYTk1MzkiLCBJMkNfTkFNRV9TSVpFKTsKKwlzdHJsY3B5KGNsaWVudC0+bmFtZSwgInBjYTk1MzkiLCBJMkNfTkFNRV9TSVpFKTsKIAogCS8qIFRlbGwgdGhlIEkyQyBsYXllciBhIG5ldyBjbGllbnQgaGFzIGFycml2ZWQgKi8KLQlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KG5ld19jbGllbnQpKSkKKwlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KGNsaWVudCkpKQogCQlnb3RvIGV4aXRfa2ZyZWU7CiAKIAkvKiBSZWdpc3RlciBzeXNmcyBob29rcyAqLwotCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmbmV3X2NsaWVudC0+ZGV2LmtvYmosCisJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLAogCQkJCSAmcGNhOTUzOV9kZWZhdHRyX2dyb3VwKTsKIAlpZiAoZXJyKQogCQlnb3RvIGV4aXRfZGV0YWNoOwpAQCAtMTU3LDcgKzE1Niw3IEBACiAJcmV0dXJuIDA7CiAKIGV4aXRfZGV0YWNoOgotCWkyY19kZXRhY2hfY2xpZW50KG5ld19jbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiBleGl0X2tmcmVlOgogCWtmcmVlKGRhdGEpOwogZXhpdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1NzQuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1NzQuYwppbmRleCBlNWIzMTMyLi4xYjNkYjJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTc0LmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU3NC5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBwY2Y4NTc0LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDIwMDAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIAogICAgICAgICAgICAgICAgICAgICAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwKICAgICAgICAgICAgICAgICAgICAgICAgIERhbiBFYXRvbiA8ZGFuLmVhdG9uQHJvY2tldGxvZ2l4LmNvbT4KQEAgLTEyOSw3ICsxMjcsNyBAQAogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgaTJjX3Byb2JlICovCiBzdGF0aWMgaW50IHBjZjg1NzRfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgaW50IGFkZHJlc3MsIGludCBraW5kKQogewotCXN0cnVjdCBpMmNfY2xpZW50ICpuZXdfY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IHBjZjg1NzRfZGF0YSAqZGF0YTsKIAlpbnQgZXJyID0gMDsKIAljb25zdCBjaGFyICpjbGllbnRfbmFtZSA9ICIiOwpAQCAtMTQ0LDEyICsxNDIsMTEgQEAKIAkJZ290byBleGl0OwogCX0KIAotCW5ld19jbGllbnQgPSAmZGF0YS0+Y2xpZW50OwotCWkyY19zZXRfY2xpZW50ZGF0YShuZXdfY2xpZW50LCBkYXRhKTsKLQluZXdfY2xpZW50LT5hZGRyID0gYWRkcmVzczsKLQluZXdfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKLQluZXdfY2xpZW50LT5kcml2ZXIgPSAmcGNmODU3NF9kcml2ZXI7Ci0JbmV3X2NsaWVudC0+ZmxhZ3MgPSAwOworCWNsaWVudCA9ICZkYXRhLT5jbGllbnQ7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgZGF0YSk7CisJY2xpZW50LT5hZGRyID0gYWRkcmVzczsKKwljbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOworCWNsaWVudC0+ZHJpdmVyID0gJnBjZjg1NzRfZHJpdmVyOwogCiAJLyogTm93LCB3ZSB3b3VsZCBkbyB0aGUgcmVtYWluaW5nIGRldGVjdGlvbi4gQnV0IHRoZSBQQ0Y4NTc0IGlzIHBsYWlubHkKIAkgICBpbXBvc3NpYmxlIHRvIGRldGVjdCEgU3R1cGlkIGNoaXAuICovCkBAIC0xNjgsMjMgKzE2NSwyMyBAQAogCQljbGllbnRfbmFtZSA9ICJwY2Y4NTc0IjsKIAogCS8qIEZpbGwgaW4gdGhlIHJlbWFpbmluZyBjbGllbnQgZmllbGRzIGFuZCBwdXQgaXQgaW50byB0aGUgZ2xvYmFsIGxpc3QgKi8KLQlzdHJsY3B5KG5ld19jbGllbnQtPm5hbWUsIGNsaWVudF9uYW1lLCBJMkNfTkFNRV9TSVpFKTsKKwlzdHJsY3B5KGNsaWVudC0+bmFtZSwgY2xpZW50X25hbWUsIEkyQ19OQU1FX1NJWkUpOwogCiAJLyogVGVsbCB0aGUgSTJDIGxheWVyIGEgbmV3IGNsaWVudCBoYXMgYXJyaXZlZCAqLwotCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQobmV3X2NsaWVudCkpKQorCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQoY2xpZW50KSkpCiAJCWdvdG8gZXhpdF9mcmVlOwogCQogCS8qIEluaXRpYWxpemUgdGhlIFBDRjg1NzQgY2hpcCAqLwotCXBjZjg1NzRfaW5pdF9jbGllbnQobmV3X2NsaWVudCk7CisJcGNmODU3NF9pbml0X2NsaWVudChjbGllbnQpOwogCiAJLyogUmVnaXN0ZXIgc3lzZnMgaG9va3MgKi8KLQllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmcGNmODU3NF9hdHRyX2dyb3VwKTsKKwllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTc0X2F0dHJfZ3JvdXApOwogCWlmIChlcnIpCiAJCWdvdG8gZXhpdF9kZXRhY2g7CiAJcmV0dXJuIDA7CiAKICAgICAgIGV4aXRfZGV0YWNoOgotCWkyY19kZXRhY2hfY2xpZW50KG5ld19jbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiAgICAgICBleGl0X2ZyZWU6CiAJa2ZyZWUoZGF0YSk7CiAgICAgICBleGl0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU5MS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU5MS5jCmluZGV4IDY2YzdjM2IuLmRiNzM1MzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1OTEuYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTkxLmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIHBjZjg1OTEuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoQykgMjAwMS0yMDA0IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD4KICAgICBQb3J0ZWQgdG8gTGludXggMi42IGJ5IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD4gd2l0aCAKICAgICB0aGUgaGVscCBvZiBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KQEAgLTE5MCw3ICsxODgsNyBAQAogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgaTJjX3Byb2JlICovCiBzdGF0aWMgaW50IHBjZjg1OTFfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgaW50IGFkZHJlc3MsIGludCBraW5kKQogewotCXN0cnVjdCBpMmNfY2xpZW50ICpuZXdfY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IHBjZjg1OTFfZGF0YSAqZGF0YTsKIAlpbnQgZXJyID0gMDsKIApAQCAtMjA1LDEyICsyMDMsMTEgQEAKIAkJZ290byBleGl0OwogCX0KIAkKLQluZXdfY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKLQlpMmNfc2V0X2NsaWVudGRhdGEobmV3X2NsaWVudCwgZGF0YSk7Ci0JbmV3X2NsaWVudC0+YWRkciA9IGFkZHJlc3M7Ci0JbmV3X2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7Ci0JbmV3X2NsaWVudC0+ZHJpdmVyID0gJnBjZjg1OTFfZHJpdmVyOwotCW5ld19jbGllbnQtPmZsYWdzID0gMDsKKwljbGllbnQgPSAmZGF0YS0+Y2xpZW50OworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGRhdGEpOworCWNsaWVudC0+YWRkciA9IGFkZHJlc3M7CisJY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKwljbGllbnQtPmRyaXZlciA9ICZwY2Y4NTkxX2RyaXZlcjsKIAogCS8qIE5vdywgd2Ugd291bGQgZG8gdGhlIHJlbWFpbmluZyBkZXRlY3Rpb24uIEJ1dCB0aGUgUENGODU5MSBpcyBwbGFpbmx5CiAJICAgaW1wb3NzaWJsZSB0byBkZXRlY3QhIFN0dXBpZCBjaGlwLiAqLwpAQCAtMjIxLDMxICsyMTgsMzEgQEAKIAogCS8qIEZpbGwgaW4gdGhlIHJlbWFpbmluZyBjbGllbnQgZmllbGRzIGFuZCBwdXQgaXQgaW50byB0aGUgZ2xvYmFsIAogCSAgIGxpc3QgKi8KLQlzdHJsY3B5KG5ld19jbGllbnQtPm5hbWUsICJwY2Y4NTkxIiwgSTJDX05BTUVfU0laRSk7CisJc3RybGNweShjbGllbnQtPm5hbWUsICJwY2Y4NTkxIiwgSTJDX05BTUVfU0laRSk7CiAJbXV0ZXhfaW5pdCgmZGF0YS0+dXBkYXRlX2xvY2spOwogCiAJLyogVGVsbCB0aGUgSTJDIGxheWVyIGEgbmV3IGNsaWVudCBoYXMgYXJyaXZlZCAqLwotCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQobmV3X2NsaWVudCkpKQorCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQoY2xpZW50KSkpCiAJCWdvdG8gZXhpdF9rZnJlZTsKIAogCS8qIEluaXRpYWxpemUgdGhlIFBDRjg1OTEgY2hpcCAqLwotCXBjZjg1OTFfaW5pdF9jbGllbnQobmV3X2NsaWVudCk7CisJcGNmODU5MV9pbml0X2NsaWVudChjbGllbnQpOwogCiAJLyogUmVnaXN0ZXIgc3lzZnMgaG9va3MgKi8KLQllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwKTsKKwllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTkxX2F0dHJfZ3JvdXApOwogCWlmIChlcnIpCiAJCWdvdG8gZXhpdF9kZXRhY2g7CiAKIAkvKiBSZWdpc3RlciBpbnB1dDIgaWYgbm90IGluICJ0d28gZGlmZmVyZW50aWFsIGlucHV0cyIgbW9kZSAqLwogCWlmIChpbnB1dF9tb2RlICE9IDMpIHsKLQkJaWYgKChlcnIgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJm5ld19jbGllbnQtPmRldiwKKwkJaWYgKChlcnIgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJmNsaWVudC0+ZGV2LAogCQkJCQkgICAgICAmZGV2X2F0dHJfaW4yX2lucHV0KSkpCiAJCQlnb3RvIGV4aXRfc3lzZnNfcmVtb3ZlOwogCX0KIAogCS8qIFJlZ2lzdGVyIGlucHV0MyBvbmx5IGluICJmb3VyIHNpbmdsZSBlbmRlZCBpbnB1dHMiIG1vZGUgKi8KIAlpZiAoaW5wdXRfbW9kZSA9PSAwKSB7Ci0JCWlmICgoZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKCZuZXdfY2xpZW50LT5kZXYsCisJCWlmICgoZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKCZjbGllbnQtPmRldiwKIAkJCQkJICAgICAgJmRldl9hdHRyX2luM19pbnB1dCkpKQogCQkJZ290byBleGl0X3N5c2ZzX3JlbW92ZTsKIAl9CkBAIC0yNTMsMTAgKzI1MCwxMCBAQAogCXJldHVybiAwOwogCiBleGl0X3N5c2ZzX3JlbW92ZToKLQlzeXNmc19yZW1vdmVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwX29wdCk7Ci0Jc3lzZnNfcmVtb3ZlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cCk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwX29wdCk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwKTsKIGV4aXRfZGV0YWNoOgotCWkyY19kZXRhY2hfY2xpZW50KG5ld19jbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiBleGl0X2tmcmVlOgogCWtmcmVlKGRhdGEpOwogZXhpdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMgYi9kcml2ZXJzL2kyYy9pMmMtY29yZS5jCmluZGV4IGQwMTc1ZjQuLjBhNzlmNzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMKKysrIGIvZHJpdmVycy9pMmMvaTJjLWNvcmUuYwpAQCAtMjksMTMgKzI5LDExIEBACiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgotI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgogI2luY2x1ZGUgPGxpbnV4L2lycWZsYWdzLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VtYXBob3JlLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2luY2x1ZGUgImkyYy1jb3JlLmgiCkBAIC00NCw3ICs0Miw5IEBACiBzdGF0aWMgREVGSU5FX01VVEVYKGNvcmVfbG9jayk7CiBzdGF0aWMgREVGSU5FX0lEUihpMmNfYWRhcHRlcl9pZHIpOwogCi0jZGVmaW5lIGlzX25ld3N0eWxlX2RyaXZlcihkKSAoKGQpLT5wcm9iZSB8fCAoZCktPnJlbW92ZSkKKyNkZWZpbmUgaXNfbmV3c3R5bGVfZHJpdmVyKGQpICgoZCktPnByb2JlIHx8IChkKS0+cmVtb3ZlIHx8IChkKS0+ZGV0ZWN0KQorCitzdGF0aWMgaW50IGkyY19kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyKTsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCkBAIC0xMDMsMTkgKzEwMywxNCBAQAogewogCXN0cnVjdCBpMmNfY2xpZW50CSpjbGllbnQgPSB0b19pMmNfY2xpZW50KGRldik7CiAJc3RydWN0IGkyY19kcml2ZXIJKmRyaXZlciA9IHRvX2kyY19kcml2ZXIoZGV2LT5kcml2ZXIpOwotCWNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZDsKIAlpbnQgc3RhdHVzOwogCi0JaWYgKCFkcml2ZXItPnByb2JlKQorCWlmICghZHJpdmVyLT5wcm9iZSB8fCAhZHJpdmVyLT5pZF90YWJsZSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAJY2xpZW50LT5kcml2ZXIgPSBkcml2ZXI7CiAJZGV2X2RiZyhkZXYsICJwcm9iZVxuIik7CiAKLQlpZiAoZHJpdmVyLT5pZF90YWJsZSkKLQkJaWQgPSBpMmNfbWF0Y2hfaWQoZHJpdmVyLT5pZF90YWJsZSwgY2xpZW50KTsKLQllbHNlCi0JCWlkID0gTlVMTDsKLQlzdGF0dXMgPSBkcml2ZXItPnByb2JlKGNsaWVudCwgaWQpOworCXN0YXR1cyA9IGRyaXZlci0+cHJvYmUoY2xpZW50LCBpMmNfbWF0Y2hfaWQoZHJpdmVyLT5pZF90YWJsZSwgY2xpZW50KSk7CiAJaWYgKHN0YXR1cykKIAkJY2xpZW50LT5kcml2ZXIgPSBOVUxMOwogCXJldHVybiBzdGF0dXM7CkBAIC0yMDgsNyArMjAzLDcgQEAKIAl7IH0sCiB9OwogCi1zdGF0aWMgc3RydWN0IGJ1c190eXBlIGkyY19idXNfdHlwZSA9IHsKK3N0cnVjdCBidXNfdHlwZSBpMmNfYnVzX3R5cGUgPSB7CiAJLm5hbWUJCT0gImkyYyIsCiAJLmRldl9hdHRycwk9IGkyY19kZXZfYXR0cnMsCiAJLm1hdGNoCQk9IGkyY19kZXZpY2VfbWF0Y2gsCkBAIC0yMTksNiArMjE0LDcgQEAKIAkuc3VzcGVuZAk9IGkyY19kZXZpY2Vfc3VzcGVuZCwKIAkucmVzdW1lCQk9IGkyY19kZXZpY2VfcmVzdW1lLAogfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGkyY19idXNfdHlwZSk7CiAKIAogLyoqCkBAIC0zMDYsNiArMzAyLDE0IEBACiAJCXJldHVybjsKIAl9CiAKKwlpZiAoYWRhcHRlci0+Y2xpZW50X3VucmVnaXN0ZXIpIHsKKwkJaWYgKGFkYXB0ZXItPmNsaWVudF91bnJlZ2lzdGVyKGNsaWVudCkpIHsKKwkJCWRldl93YXJuKCZjbGllbnQtPmRldiwKKwkJCQkgImNsaWVudF91bnJlZ2lzdGVyIFslc10gZmFpbGVkXG4iLAorCQkJCSBjbGllbnQtPm5hbWUpOworCQl9CisJfQorCiAJbXV0ZXhfbG9jaygmYWRhcHRlci0+Y2xpc3RfbG9jayk7CiAJbGlzdF9kZWwoJmNsaWVudC0+bGlzdCk7CiAJbXV0ZXhfdW5sb2NrKCZhZGFwdGVyLT5jbGlzdF9sb2NrKTsKQEAgLTQxNiw2ICs0MjAsMTAgQEAKIAlzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyID0gdG9faTJjX2RyaXZlcihkKTsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAgPSBkYXRhOwogCisJLyogRGV0ZWN0IHN1cHBvcnRlZCBkZXZpY2VzIG9uIHRoYXQgYnVzLCBhbmQgaW5zdGFudGlhdGUgdGhlbSAqLworCWkyY19kZXRlY3QoYWRhcCwgZHJpdmVyKTsKKworCS8qIExldCBsZWdhY3kgZHJpdmVycyBzY2FuIHRoaXMgYnVzIGZvciBtYXRjaGluZyBkZXZpY2VzICovCiAJaWYgKGRyaXZlci0+YXR0YWNoX2FkYXB0ZXIpIHsKIAkJLyogV2UgaWdub3JlIHRoZSByZXR1cm4gY29kZTsgaWYgaXQgZmFpbHMsIHRvbyBiYWQgKi8KIAkJZHJpdmVyLT5hdHRhY2hfYWRhcHRlcihhZGFwKTsKQEAgLTQ1NSw3ICs0NjMsNyBAQAogCWlmIChhZGFwLT5uciA8IF9faTJjX2ZpcnN0X2R5bmFtaWNfYnVzX251bSkKIAkJaTJjX3NjYW5fc3RhdGljX2JvYXJkX2luZm8oYWRhcCk7CiAKLQkvKiBsZXQgbGVnYWN5IGRyaXZlcnMgc2NhbiB0aGlzIGJ1cyBmb3IgbWF0Y2hpbmcgZGV2aWNlcyAqLworCS8qIE5vdGlmeSBkcml2ZXJzICovCiAJZHVtbXkgPSBidXNfZm9yX2VhY2hfZHJ2KCZpMmNfYnVzX3R5cGUsIE5VTEwsIGFkYXAsCiAJCQkJIGkyY19kb19hZGRfYWRhcHRlcik7CiAKQEAgLTU2MSw4ICs1NjksMTkgQEAKIHsKIAlzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyID0gdG9faTJjX2RyaXZlcihkKTsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSBkYXRhOworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsICpfbjsKIAlpbnQgcmVzOwogCisJLyogUmVtb3ZlIHRoZSBkZXZpY2VzIHdlIGNyZWF0ZWQgb3Vyc2VsdmVzICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGNsaWVudCwgX24sICZkcml2ZXItPmNsaWVudHMsIGRldGVjdGVkKSB7CisJCWlmIChjbGllbnQtPmFkYXB0ZXIgPT0gYWRhcHRlcikgeworCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiUmVtb3ZpbmcgJXMgYXQgMHgleFxuIiwKKwkJCQljbGllbnQtPm5hbWUsIGNsaWVudC0+YWRkcik7CisJCQlsaXN0X2RlbCgmY2xpZW50LT5kZXRlY3RlZCk7CisJCQlpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoY2xpZW50KTsKKwkJfQorCX0KKwogCWlmICghZHJpdmVyLT5kZXRhY2hfYWRhcHRlcikKIAkJcmV0dXJuIDA7CiAJcmVzID0gZHJpdmVyLT5kZXRhY2hfYWRhcHRlcihhZGFwdGVyKTsKQEAgLTU4Miw4ICs2MDEsNyBAQAogICovCiBpbnQgaTJjX2RlbF9hZGFwdGVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkICAqaXRlbSwgKl9uOwotCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgKl9uOwogCWludCByZXMgPSAwOwogCiAJbXV0ZXhfbG9jaygmY29yZV9sb2NrKTsKQEAgLTYwNCwxMCArNjIyLDkgQEAKIAogCS8qIGRldGFjaCBhbnkgYWN0aXZlIGNsaWVudHMuIFRoaXMgbXVzdCBiZSBkb25lIGZpcnN0LCBiZWNhdXNlCiAJICogaXQgY2FuIGZhaWw7IGluIHdoaWNoIGNhc2Ugd2UgZ2l2ZSB1cC4gKi8KLQlsaXN0X2Zvcl9lYWNoX3NhZmUoaXRlbSwgX24sICZhZGFwLT5jbGllbnRzKSB7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGNsaWVudCwgX24sICZhZGFwLT5jbGllbnRzLCBsaXN0KSB7CiAJCXN0cnVjdCBpMmNfZHJpdmVyCSpkcml2ZXI7CiAKLQkJY2xpZW50ID0gbGlzdF9lbnRyeShpdGVtLCBzdHJ1Y3QgaTJjX2NsaWVudCwgbGlzdCk7CiAJCWRyaXZlciA9IGNsaWVudC0+ZHJpdmVyOwogCiAJCS8qIG5ldyBzdHlsZSwgZm9sbG93IHN0YW5kYXJkIGRyaXZlciBtb2RlbCAqLwpAQCAtNjQ2LDYgKzY2MywyMCBAQAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKK3N0YXRpYyBpbnQgX19hdHRhY2hfYWRhcHRlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gdG9faTJjX2FkYXB0ZXIoZGV2KTsKKwlzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyID0gZGF0YTsKKworCWkyY19kZXRlY3QoYWRhcHRlciwgZHJpdmVyKTsKKworCS8qIExlZ2FjeSBkcml2ZXJzIHNjYW4gaTJjIGJ1c3NlcyBkaXJlY3RseSAqLworCWlmIChkcml2ZXItPmF0dGFjaF9hZGFwdGVyKQorCQlkcml2ZXItPmF0dGFjaF9hZGFwdGVyKGFkYXB0ZXIpOworCisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBBbiBpMmNfZHJpdmVyIGlzIHVzZWQgd2l0aCBvbmUgb3IgbW9yZSBpMmNfY2xpZW50IChkZXZpY2UpIG5vZGVzIHRvIGFjY2VzcwogICogaTJjIHNsYXZlIGNoaXBzLCBvbiBhIGJ1cyBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggc29tZSBpMmNfYWRhcHRlci4gIFRoZXJlCkBAIC02ODUsMjMgKzcxNiw1OSBAQAogCiAJcHJfZGVidWcoImkyYy1jb3JlOiBkcml2ZXIgWyVzXSByZWdpc3RlcmVkXG4iLCBkcml2ZXItPmRyaXZlci5uYW1lKTsKIAotCS8qIGxlZ2FjeSBkcml2ZXJzIHNjYW4gaTJjIGJ1c3NlcyBkaXJlY3RseSAqLwotCWlmIChkcml2ZXItPmF0dGFjaF9hZGFwdGVyKSB7Ci0JCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcjsKLQotCQlkb3duKCZpMmNfYWRhcHRlcl9jbGFzcy5zZW0pOwotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGFkYXB0ZXIsICZpMmNfYWRhcHRlcl9jbGFzcy5kZXZpY2VzLAotCQkJCSAgICBkZXYubm9kZSkgewotCQkJZHJpdmVyLT5hdHRhY2hfYWRhcHRlcihhZGFwdGVyKTsKLQkJfQotCQl1cCgmaTJjX2FkYXB0ZXJfY2xhc3Muc2VtKTsKLQl9CisJSU5JVF9MSVNUX0hFQUQoJmRyaXZlci0+Y2xpZW50cyk7CisJLyogV2FsayB0aGUgYWRhcHRlcnMgdGhhdCBhcmUgYWxyZWFkeSBwcmVzZW50ICovCisJY2xhc3NfZm9yX2VhY2hfZGV2aWNlKCZpMmNfYWRhcHRlcl9jbGFzcywgZHJpdmVyLCBfX2F0dGFjaF9hZGFwdGVyKTsKIAogCW11dGV4X3VubG9jaygmY29yZV9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3JlZ2lzdGVyX2RyaXZlcik7CiAKK3N0YXRpYyBpbnQgX19kZXRhY2hfYWRhcHRlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gdG9faTJjX2FkYXB0ZXIoZGV2KTsKKwlzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyID0gZGF0YTsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCAqX247CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY2xpZW50LCBfbiwgJmRyaXZlci0+Y2xpZW50cywgZGV0ZWN0ZWQpIHsKKwkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiUmVtb3ZpbmcgJXMgYXQgMHgleFxuIiwKKwkJCWNsaWVudC0+bmFtZSwgY2xpZW50LT5hZGRyKTsKKwkJbGlzdF9kZWwoJmNsaWVudC0+ZGV0ZWN0ZWQpOworCQlpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoY2xpZW50KTsKKwl9CisKKwlpZiAoaXNfbmV3c3R5bGVfZHJpdmVyKGRyaXZlcikpCisJCXJldHVybiAwOworCisJLyogSGF2ZSBhIGxvb2sgYXQgZWFjaCBhZGFwdGVyLCBpZiBjbGllbnRzIG9mIHRoaXMgZHJpdmVyIGFyZSBzdGlsbAorCSAqIGF0dGFjaGVkLiBJZiBzbywgZGV0YWNoIHRoZW0gdG8gYmUgYWJsZSB0byBraWxsIHRoZSBkcml2ZXIKKwkgKiBhZnRlcndhcmRzLgorCSAqLworCWlmIChkcml2ZXItPmRldGFjaF9hZGFwdGVyKSB7CisJCWlmIChkcml2ZXItPmRldGFjaF9hZGFwdGVyKGFkYXB0ZXIpKQorCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LAorCQkJCSJkZXRhY2hfYWRhcHRlciBmYWlsZWQgZm9yIGRyaXZlciBbJXNdXG4iLAorCQkJCWRyaXZlci0+ZHJpdmVyLm5hbWUpOworCX0gZWxzZSB7CisJCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsICpfbjsKKworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY2xpZW50LCBfbiwgJmFkYXB0ZXItPmNsaWVudHMsIGxpc3QpIHsKKwkJCWlmIChjbGllbnQtPmRyaXZlciAhPSBkcml2ZXIpCisJCQkJY29udGludWU7CisJCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsCisJCQkJImRldGFjaGluZyBjbGllbnQgWyVzXSBhdCAweCUwMnhcbiIsCisJCQkJY2xpZW50LT5uYW1lLCBjbGllbnQtPmFkZHIpOworCQkJaWYgKGRyaXZlci0+ZGV0YWNoX2NsaWVudChjbGllbnQpKQorCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgImRldGFjaF9jbGllbnQgIgorCQkJCQkiZmFpbGVkIGZvciBjbGllbnQgWyVzXSBhdCAweCUwMnhcbiIsCisJCQkJCWNsaWVudC0+bmFtZSwgY2xpZW50LT5hZGRyKTsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCiAvKioKICAqIGkyY19kZWxfZHJpdmVyIC0gdW5yZWdpc3RlciBJMkMgZHJpdmVyCiAgKiBAZHJpdmVyOiB0aGUgZHJpdmVyIGJlaW5nIHVucmVnaXN0ZXJlZApAQCAtNzA5LDQ4ICs3NzYsMTAgQEAKICAqLwogdm9pZCBpMmNfZGVsX2RyaXZlcihzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyKQogewotCXN0cnVjdCBsaXN0X2hlYWQgICAqaXRlbTIsICpfbjsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAgKmNsaWVudDsKLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXA7Ci0KIAltdXRleF9sb2NrKCZjb3JlX2xvY2spOwogCi0JLyogbmV3LXN0eWxlIGRyaXZlcj8gKi8KLQlpZiAoaXNfbmV3c3R5bGVfZHJpdmVyKGRyaXZlcikpCi0JCWdvdG8gdW5yZWdpc3RlcjsKKwljbGFzc19mb3JfZWFjaF9kZXZpY2UoJmkyY19hZGFwdGVyX2NsYXNzLCBkcml2ZXIsIF9fZGV0YWNoX2FkYXB0ZXIpOwogCi0JLyogSGF2ZSBhIGxvb2sgYXQgZWFjaCBhZGFwdGVyLCBpZiBjbGllbnRzIG9mIHRoaXMgZHJpdmVyIGFyZSBzdGlsbAotCSAqIGF0dGFjaGVkLiBJZiBzbywgZGV0YWNoIHRoZW0gdG8gYmUgYWJsZSB0byBraWxsIHRoZSBkcml2ZXIKLQkgKiBhZnRlcndhcmRzLgotCSAqLwotCWRvd24oJmkyY19hZGFwdGVyX2NsYXNzLnNlbSk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShhZGFwLCAmaTJjX2FkYXB0ZXJfY2xhc3MuZGV2aWNlcywgZGV2Lm5vZGUpIHsKLQkJaWYgKGRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIpIHsKLQkJCWlmIChkcml2ZXItPmRldGFjaF9hZGFwdGVyKGFkYXApKSB7Ci0JCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiZGV0YWNoX2FkYXB0ZXIgZmFpbGVkICIKLQkJCQkJImZvciBkcml2ZXIgWyVzXVxuIiwKLQkJCQkJZHJpdmVyLT5kcml2ZXIubmFtZSk7Ci0JCQl9Ci0JCX0gZWxzZSB7Ci0JCQlsaXN0X2Zvcl9lYWNoX3NhZmUoaXRlbTIsIF9uLCAmYWRhcC0+Y2xpZW50cykgewotCQkJCWNsaWVudCA9IGxpc3RfZW50cnkoaXRlbTIsIHN0cnVjdCBpMmNfY2xpZW50LCBsaXN0KTsKLQkJCQlpZiAoY2xpZW50LT5kcml2ZXIgIT0gZHJpdmVyKQotCQkJCQljb250aW51ZTsKLQkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJkZXRhY2hpbmcgY2xpZW50IFslc10gIgotCQkJCQkiYXQgMHglMDJ4XG4iLCBjbGllbnQtPm5hbWUsCi0JCQkJCWNsaWVudC0+YWRkcik7Ci0JCQkJaWYgKGRyaXZlci0+ZGV0YWNoX2NsaWVudChjbGllbnQpKSB7Ci0JCQkJCWRldl9lcnIoJmFkYXAtPmRldiwgImRldGFjaF9jbGllbnQgIgotCQkJCQkJImZhaWxlZCBmb3IgY2xpZW50IFslc10gYXQgIgotCQkJCQkJIjB4JTAyeFxuIiwgY2xpZW50LT5uYW1lLAotCQkJCQkJY2xpZW50LT5hZGRyKTsKLQkJCQl9Ci0JCQl9Ci0JCX0KLQl9Ci0JdXAoJmkyY19hZGFwdGVyX2NsYXNzLnNlbSk7Ci0KLSB1bnJlZ2lzdGVyOgogCWRyaXZlcl91bnJlZ2lzdGVyKCZkcml2ZXItPmRyaXZlcik7CiAJcHJfZGVidWcoImkyYy1jb3JlOiBkcml2ZXIgWyVzXSB1bnJlZ2lzdGVyZWRcbiIsIGRyaXZlci0+ZHJpdmVyLm5hbWUpOwogCkBAIC04NjMsOCArODkyLDkgQEAKICAqLwogc3RydWN0IGkyY19jbGllbnQgKmkyY191c2VfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiB7Ci0JZ2V0X2RldmljZSgmY2xpZW50LT5kZXYpOwotCXJldHVybiBjbGllbnQ7CisJaWYgKGNsaWVudCAmJiBnZXRfZGV2aWNlKCZjbGllbnQtPmRldikpCisJCXJldHVybiBjbGllbnQ7CisJcmV0dXJuIE5VTEw7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY191c2VfY2xpZW50KTsKIApAQCAtODc2LDcgKzkwNiw4IEBACiAgKi8KIHZvaWQgaTJjX3JlbGVhc2VfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiB7Ci0JcHV0X2RldmljZSgmY2xpZW50LT5kZXYpOworCWlmIChjbGllbnQpCisJCXB1dF9kZXZpY2UoJmNsaWVudC0+ZGV2KTsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3JlbGVhc2VfY2xpZW50KTsKIApAQCAtOTQyLDEwICs5NzMsMzkgQEAKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCisvKioKKyAqIGkyY190cmFuc2ZlciAtIGV4ZWN1dGUgYSBzaW5nbGUgb3IgY29tYmluZWQgSTJDIG1lc3NhZ2UKKyAqIEBhZGFwOiBIYW5kbGUgdG8gSTJDIGJ1cworICogQG1zZ3M6IE9uZSBvciBtb3JlIG1lc3NhZ2VzIHRvIGV4ZWN1dGUgYmVmb3JlIFNUT1AgaXMgaXNzdWVkIHRvCisgKgl0ZXJtaW5hdGUgdGhlIG9wZXJhdGlvbjsgZWFjaCBtZXNzYWdlIGJlZ2lucyB3aXRoIGEgU1RBUlQuCisgKiBAbnVtOiBOdW1iZXIgb2YgbWVzc2FnZXMgdG8gYmUgZXhlY3V0ZWQuCisgKgorICogUmV0dXJucyBuZWdhdGl2ZSBlcnJubywgZWxzZSB0aGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGV4ZWN1dGVkLgorICoKKyAqIE5vdGUgdGhhdCB0aGVyZSBpcyBubyByZXF1aXJlbWVudCB0aGF0IGVhY2ggbWVzc2FnZSBiZSBzZW50IHRvCisgKiB0aGUgc2FtZSBzbGF2ZSBhZGRyZXNzLCBhbHRob3VnaCB0aGF0IGlzIHRoZSBtb3N0IGNvbW1vbiBtb2RlbC4KKyAqLwogaW50IGkyY190cmFuc2ZlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCBzdHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IG51bSkKIHsKIAlpbnQgcmV0OwogCisJLyogUkVWSVNJVCB0aGUgZmF1bHQgcmVwb3J0aW5nIG1vZGVsIGhlcmUgaXMgd2VhazoKKwkgKgorCSAqICAtIFdoZW4gd2UgZ2V0IGFuIGVycm9yIGFmdGVyIHJlY2VpdmluZyBOIGJ5dGVzIGZyb20gYSBzbGF2ZSwKKwkgKiAgICB0aGVyZSBpcyBubyB3YXkgdG8gcmVwb3J0ICJOIi4KKwkgKgorCSAqICAtIFdoZW4gd2UgZ2V0IGEgTkFLIGFmdGVyIHRyYW5zbWl0dGluZyBOIGJ5dGVzIHRvIGEgc2xhdmUsCisJICogICAgdGhlcmUgaXMgbm8gd2F5IHRvIHJlcG9ydCAiTiIgLi4uIG9yIHRvIGxldCB0aGUgbWFzdGVyCisJICogICAgY29udGludWUgZXhlY3V0aW5nIHRoZSByZXN0IG9mIHRoaXMgY29tYmluZWQgbWVzc2FnZSwgaWYKKwkgKiAgICB0aGF0J3MgdGhlIGFwcHJvcHJpYXRlIHJlc3BvbnNlLgorCSAqCisJICogIC0gV2hlbiBmb3IgZXhhbXBsZSAibnVtIiBpcyB0d28gYW5kIHdlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZQorCSAqICAgIHRoZSBmaXJzdCBtZXNzYWdlIGJ1dCBnZXQgYW4gZXJyb3IgcGFydCB3YXkgdGhyb3VnaCB0aGUKKwkgKiAgICBzZWNvbmQsIGl0J3MgdW5jbGVhciB3aGV0aGVyIHRoYXQgc2hvdWxkIGJlIHJlcG9ydGVkIGFzCisJICogICAgb25lIChkaXNjYXJkaW5nIHN0YXR1cyBvbiB0aGUgc2Vjb25kIG1lc3NhZ2UpIG9yIGVycm5vCisJICogICAgKGRpc2NhcmRpbmcgc3RhdHVzIG9uIHRoZSBmaXJzdCBvbmUpLgorCSAqLworCiAJaWYgKGFkYXAtPmFsZ28tPm1hc3Rlcl94ZmVyKSB7CiAjaWZkZWYgREVCVUcKIAkJZm9yIChyZXQgPSAwOyByZXQgPCBudW07IHJldCsrKSB7CkBAIC05NzEsMTEgKzEwMzEsMTkgQEAKIAkJcmV0dXJuIHJldDsKIAl9IGVsc2UgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJJMkMgbGV2ZWwgdHJhbnNmZXJzIG5vdCBzdXBwb3J0ZWRcbiIpOwotCQlyZXR1cm4gLUVOT1NZUzsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIH0KIEVYUE9SVF9TWU1CT0woaTJjX3RyYW5zZmVyKTsKIAorLyoqCisgKiBpMmNfbWFzdGVyX3NlbmQgLSBpc3N1ZSBhIHNpbmdsZSBJMkMgbWVzc2FnZSBpbiBtYXN0ZXIgdHJhbnNtaXQgbW9kZQorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGJ1ZjogRGF0YSB0aGF0IHdpbGwgYmUgd3JpdHRlbiB0byB0aGUgc2xhdmUKKyAqIEBjb3VudDogSG93IG1hbnkgYnl0ZXMgdG8gd3JpdGUKKyAqCisgKiBSZXR1cm5zIG5lZ2F0aXZlIGVycm5vLCBvciBlbHNlIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4KKyAqLwogaW50IGkyY19tYXN0ZXJfc2VuZChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LGNvbnN0IGNoYXIgKmJ1ZiAsaW50IGNvdW50KQogewogCWludCByZXQ7CkBAIC05OTUsNiArMTA2MywxNCBAQAogfQogRVhQT1JUX1NZTUJPTChpMmNfbWFzdGVyX3NlbmQpOwogCisvKioKKyAqIGkyY19tYXN0ZXJfcmVjdiAtIGlzc3VlIGEgc2luZ2xlIEkyQyBtZXNzYWdlIGluIG1hc3RlciByZWNlaXZlIG1vZGUKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBidWY6IFdoZXJlIHRvIHN0b3JlIGRhdGEgcmVhZCBmcm9tIHNsYXZlCisgKiBAY291bnQ6IEhvdyBtYW55IGJ5dGVzIHRvIHJlYWQKKyAqCisgKiBSZXR1cm5zIG5lZ2F0aXZlIGVycm5vLCBvciBlbHNlIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZC4KKyAqLwogaW50IGkyY19tYXN0ZXJfcmVjdihzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCBjaGFyICpidWYgLGludCBjb3VudCkKIHsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXA9Y2xpZW50LT5hZGFwdGVyOwpAQCAtMTEwMyw3ICsxMTc5LDcgQEAKIAogCQlkZXZfd2FybigmYWRhcHRlci0+ZGV2LCAiU01CdXMgUXVpY2sgY29tbWFuZCBub3Qgc3VwcG9ydGVkLCAiCiAJCQkgImNhbid0IHByb2JlIGZvciBjaGlwc1xuIik7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCS8qIFByb2JlIGVudHJpZXMgYXJlIGRvbmUgc2Vjb25kLCBhbmQgYXJlIG5vdCBhZmZlY3RlZCBieSBpZ25vcmUKQEAgLTExNTcsNiArMTIzMywxNzkgQEAKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3Byb2JlKTsKIAorLyogU2VwYXJhdGUgZGV0ZWN0aW9uIGZ1bmN0aW9uIGZvciBuZXctc3R5bGUgZHJpdmVycyAqLworc3RhdGljIGludCBpMmNfZGV0ZWN0X2FkZHJlc3Moc3RydWN0IGkyY19jbGllbnQgKnRlbXBfY2xpZW50LCBpbnQga2luZCwKKwkJCSAgICAgIHN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIpCit7CisJc3RydWN0IGkyY19ib2FyZF9pbmZvIGluZm87CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gdGVtcF9jbGllbnQtPmFkYXB0ZXI7CisJaW50IGFkZHIgPSB0ZW1wX2NsaWVudC0+YWRkcjsKKwlpbnQgZXJyOworCisJLyogTWFrZSBzdXJlIHRoZSBhZGRyZXNzIGlzIHZhbGlkICovCisJaWYgKGFkZHIgPCAweDAzIHx8IGFkZHIgPiAweDc3KSB7CisJCWRldl93YXJuKCZhZGFwdGVyLT5kZXYsICJJbnZhbGlkIHByb2JlIGFkZHJlc3MgMHglMDJ4XG4iLAorCQkJIGFkZHIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBTa2lwIGlmIGFscmVhZHkgaW4gdXNlICovCisJaWYgKGkyY19jaGVja19hZGRyKGFkYXB0ZXIsIGFkZHIpKQorCQlyZXR1cm4gMDsKKworCS8qIE1ha2Ugc3VyZSB0aGVyZSBpcyBzb21ldGhpbmcgYXQgdGhpcyBhZGRyZXNzLCB1bmxlc3MgZm9yY2VkICovCisJaWYgKGtpbmQgPCAwKSB7CisJCWlmIChpMmNfc21idXNfeGZlcihhZGFwdGVyLCBhZGRyLCAwLCAwLCAwLAorCQkJCSAgIEkyQ19TTUJVU19RVUlDSywgTlVMTCkgPCAwKQorCQkJcmV0dXJuIDA7CisKKwkJLyogcHJldmVudCAyNFJGMDggY29ycnVwdGlvbiAqLworCQlpZiAoKGFkZHIgJiB+MHgwZikgPT0gMHg1MCkKKwkJCWkyY19zbWJ1c194ZmVyKGFkYXB0ZXIsIGFkZHIsIDAsIDAsIDAsCisJCQkJICAgICAgIEkyQ19TTUJVU19RVUlDSywgTlVMTCk7CisJfQorCisJLyogRmluYWxseSBjYWxsIHRoZSBjdXN0b20gZGV0ZWN0aW9uIGZ1bmN0aW9uICovCisJbWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7CisJaW5mby5hZGRyID0gYWRkcjsKKwllcnIgPSBkcml2ZXItPmRldGVjdCh0ZW1wX2NsaWVudCwga2luZCwgJmluZm8pOworCWlmIChlcnIpIHsKKwkJLyogLUVOT0RFViBpcyByZXR1cm5lZCBpZiB0aGUgZGV0ZWN0aW9uIGZhaWxzLiBXZSBjYXRjaCBpdAorCQkgICBoZXJlIGFzIHRoaXMgaXNuJ3QgYW4gZXJyb3IuICovCisJCXJldHVybiBlcnIgPT0gLUVOT0RFViA/IDAgOiBlcnI7CisJfQorCisJLyogQ29uc2lzdGVuY3kgY2hlY2sgKi8KKwlpZiAoaW5mby50eXBlWzBdID09ICdcMCcpIHsKKwkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAiJXMgZGV0ZWN0aW9uIGZ1bmN0aW9uIHByb3ZpZGVkICIKKwkJCSJubyBuYW1lIGZvciAweCV4XG4iLCBkcml2ZXItPmRyaXZlci5uYW1lLAorCQkJYWRkcik7CisJfSBlbHNlIHsKKwkJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKKworCQkvKiBEZXRlY3Rpb24gc3VjY2VlZGVkLCBpbnN0YW50aWF0ZSB0aGUgZGV2aWNlICovCisJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgIkNyZWF0aW5nICVzIGF0IDB4JTAyeFxuIiwKKwkJCWluZm8udHlwZSwgaW5mby5hZGRyKTsKKwkJY2xpZW50ID0gaTJjX25ld19kZXZpY2UoYWRhcHRlciwgJmluZm8pOworCQlpZiAoY2xpZW50KQorCQkJbGlzdF9hZGRfdGFpbCgmY2xpZW50LT5kZXRlY3RlZCwgJmRyaXZlci0+Y2xpZW50cyk7CisJCWVsc2UKKwkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgIkZhaWxlZCBjcmVhdGluZyAlcyBhdCAweCUwMnhcbiIsCisJCQkJaW5mby50eXBlLCBpbmZvLmFkZHIpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpMmNfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlcikKK3sKKwljb25zdCBzdHJ1Y3QgaTJjX2NsaWVudF9hZGRyZXNzX2RhdGEgKmFkZHJlc3NfZGF0YTsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqdGVtcF9jbGllbnQ7CisJaW50IGksIGVyciA9IDA7CisJaW50IGFkYXBfaWQgPSBpMmNfYWRhcHRlcl9pZChhZGFwdGVyKTsKKworCWFkZHJlc3NfZGF0YSA9IGRyaXZlci0+YWRkcmVzc19kYXRhOworCWlmICghZHJpdmVyLT5kZXRlY3QgfHwgIWFkZHJlc3NfZGF0YSkKKwkJcmV0dXJuIDA7CisKKwkvKiBTZXQgdXAgYSB0ZW1wb3JhcnkgY2xpZW50IHRvIGhlbHAgZGV0ZWN0IGNhbGxiYWNrICovCisJdGVtcF9jbGllbnQgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaTJjX2NsaWVudCksIEdGUF9LRVJORUwpOworCWlmICghdGVtcF9jbGllbnQpCisJCXJldHVybiAtRU5PTUVNOworCXRlbXBfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKworCS8qIEZvcmNlIGVudHJpZXMgYXJlIGRvbmUgZmlyc3QsIGFuZCBhcmUgbm90IGFmZmVjdGVkIGJ5IGlnbm9yZQorCSAgIGVudHJpZXMgKi8KKwlpZiAoYWRkcmVzc19kYXRhLT5mb3JjZXMpIHsKKwkJY29uc3QgdW5zaWduZWQgc2hvcnQgKiBjb25zdCAqZm9yY2VzID0gYWRkcmVzc19kYXRhLT5mb3JjZXM7CisJCWludCBraW5kOworCisJCWZvciAoa2luZCA9IDA7IGZvcmNlc1traW5kXTsga2luZCsrKSB7CisJCQlmb3IgKGkgPSAwOyBmb3JjZXNba2luZF1baV0gIT0gSTJDX0NMSUVOVF9FTkQ7CisJCQkgICAgIGkgKz0gMikgeworCQkJCWlmIChmb3JjZXNba2luZF1baV0gPT0gYWRhcF9pZAorCQkJCSB8fCBmb3JjZXNba2luZF1baV0gPT0gQU5ZX0kyQ19CVVMpIHsKKwkJCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiZm91bmQgZm9yY2UgIgorCQkJCQkJInBhcmFtZXRlciBmb3IgYWRhcHRlciAlZCwgIgorCQkJCQkJImFkZHIgMHglMDJ4LCBraW5kICVkXG4iLAorCQkJCQkJYWRhcF9pZCwgZm9yY2VzW2tpbmRdW2kgKyAxXSwKKwkJCQkJCWtpbmQpOworCQkJCQl0ZW1wX2NsaWVudC0+YWRkciA9IGZvcmNlc1traW5kXVtpICsgMV07CisJCQkJCWVyciA9IGkyY19kZXRlY3RfYWRkcmVzcyh0ZW1wX2NsaWVudCwKKwkJCQkJCWtpbmQsIGRyaXZlcik7CisJCQkJCWlmIChlcnIpCisJCQkJCQlnb3RvIGV4aXRfZnJlZTsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisKKwkvKiBTdG9wIGhlcmUgaWYgd2UgY2FuJ3QgdXNlIFNNQlVTX1FVSUNLICovCisJaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19RVUlDSykpIHsKKwkJaWYgKGFkZHJlc3NfZGF0YS0+cHJvYmVbMF0gPT0gSTJDX0NMSUVOVF9FTkQKKwkJICYmIGFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1swXSA9PSBJMkNfQ0xJRU5UX0VORCkKKwkJCWdvdG8gZXhpdF9mcmVlOworCisJCWRldl93YXJuKCZhZGFwdGVyLT5kZXYsICJTTUJ1cyBRdWljayBjb21tYW5kIG5vdCBzdXBwb3J0ZWQsICIKKwkJCSAiY2FuJ3QgcHJvYmUgZm9yIGNoaXBzXG4iKTsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CisJCWdvdG8gZXhpdF9mcmVlOworCX0KKworCS8qIFN0b3AgaGVyZSBpZiB0aGUgY2xhc3NlcyBkbyBub3QgbWF0Y2ggKi8KKwlpZiAoIShhZGFwdGVyLT5jbGFzcyAmIGRyaXZlci0+Y2xhc3MpKQorCQlnb3RvIGV4aXRfZnJlZTsKKworCS8qIFByb2JlIGVudHJpZXMgYXJlIGRvbmUgc2Vjb25kLCBhbmQgYXJlIG5vdCBhZmZlY3RlZCBieSBpZ25vcmUKKwkgICBlbnRyaWVzIGVpdGhlciAqLworCWZvciAoaSA9IDA7IGFkZHJlc3NfZGF0YS0+cHJvYmVbaV0gIT0gSTJDX0NMSUVOVF9FTkQ7IGkgKz0gMikgeworCQlpZiAoYWRkcmVzc19kYXRhLT5wcm9iZVtpXSA9PSBhZGFwX2lkCisJCSB8fCBhZGRyZXNzX2RhdGEtPnByb2JlW2ldID09IEFOWV9JMkNfQlVTKSB7CisJCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJmb3VuZCBwcm9iZSBwYXJhbWV0ZXIgZm9yICIKKwkJCQkiYWRhcHRlciAlZCwgYWRkciAweCUwMnhcbiIsIGFkYXBfaWQsCisJCQkJYWRkcmVzc19kYXRhLT5wcm9iZVtpICsgMV0pOworCQkJdGVtcF9jbGllbnQtPmFkZHIgPSBhZGRyZXNzX2RhdGEtPnByb2JlW2kgKyAxXTsKKwkJCWVyciA9IGkyY19kZXRlY3RfYWRkcmVzcyh0ZW1wX2NsaWVudCwgLTEsIGRyaXZlcik7CisJCQlpZiAoZXJyKQorCQkJCWdvdG8gZXhpdF9mcmVlOworCQl9CisJfQorCisJLyogTm9ybWFsIGVudHJpZXMgYXJlIGRvbmUgbGFzdCwgdW5sZXNzIHNoYWRvd2VkIGJ5IGFuIGlnbm9yZSBlbnRyeSAqLworCWZvciAoaSA9IDA7IGFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1tpXSAhPSBJMkNfQ0xJRU5UX0VORDsgaSArPSAxKSB7CisJCWludCBqLCBpZ25vcmU7CisKKwkJaWdub3JlID0gMDsKKwkJZm9yIChqID0gMDsgYWRkcmVzc19kYXRhLT5pZ25vcmVbal0gIT0gSTJDX0NMSUVOVF9FTkQ7CisJCSAgICAgaiArPSAyKSB7CisJCQlpZiAoKGFkZHJlc3NfZGF0YS0+aWdub3JlW2pdID09IGFkYXBfaWQgfHwKKwkJCSAgICAgYWRkcmVzc19kYXRhLT5pZ25vcmVbal0gPT0gQU5ZX0kyQ19CVVMpCisJCQkgJiYgYWRkcmVzc19kYXRhLT5pZ25vcmVbaiArIDFdCisJCQkgICAgPT0gYWRkcmVzc19kYXRhLT5ub3JtYWxfaTJjW2ldKSB7CisJCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiZm91bmQgaWdub3JlICIKKwkJCQkJInBhcmFtZXRlciBmb3IgYWRhcHRlciAlZCwgIgorCQkJCQkiYWRkciAweCUwMnhcbiIsIGFkYXBfaWQsCisJCQkJCWFkZHJlc3NfZGF0YS0+aWdub3JlW2ogKyAxXSk7CisJCQkJaWdub3JlID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlpZiAoaWdub3JlKQorCQkJY29udGludWU7CisKKwkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiZm91bmQgbm9ybWFsIGVudHJ5IGZvciBhZGFwdGVyICVkLCAiCisJCQkiYWRkciAweCUwMnhcbiIsIGFkYXBfaWQsCisJCQlhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbaV0pOworCQl0ZW1wX2NsaWVudC0+YWRkciA9IGFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1tpXTsKKwkJZXJyID0gaTJjX2RldGVjdF9hZGRyZXNzKHRlbXBfY2xpZW50LCAtMSwgZHJpdmVyKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gZXhpdF9mcmVlOworCX0KKworIGV4aXRfZnJlZToKKwlrZnJlZSh0ZW1wX2NsaWVudCk7CisJcmV0dXJuIGVycjsKK30KKwogc3RydWN0IGkyY19jbGllbnQgKgogaTJjX25ld19wcm9iZWRfZGV2aWNlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwKIAkJICAgICAgc3RydWN0IGkyY19ib2FyZF9pbmZvICppbmZvLApAQCAtMTI5NSwyOSArMTU0NCwzOCBAQAogCWlmIChycGVjICE9IGNwZWMpIHsKIAkJcHJfZGVidWcoImkyYy1jb3JlOiBCYWQgUEVDIDB4JTAyeCB2cy4gMHglMDJ4XG4iLAogCQkJcnBlYywgY3BlYyk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FQkFETVNHOwogCX0KIAlyZXR1cm4gMDsKIH0KIAotczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCB2YWx1ZSkKLXsKLQlyZXR1cm4gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwwLEkyQ19TTUJVU19RVUlDSyxOVUxMKTsKLX0KLUVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3dyaXRlX3F1aWNrKTsKLQorLyoqCisgKiBpMmNfc21idXNfcmVhZF9ieXRlIC0gU01CdXMgInJlY2VpdmUgYnl0ZSIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAicmVjZWl2ZSBieXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHRoZSBieXRlIHJlY2VpdmVkIGZyb20gdGhlIGRldmljZS4KKyAqLwogczMyIGkyY19zbWJ1c19yZWFkX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOwotCWlmIChpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19SRUFELDAsSTJDX1NNQlVTX0JZVEUsICZkYXRhKSkKLQkJcmV0dXJuIC0xOwotCWVsc2UKLQkJcmV0dXJuIGRhdGEuYnl0ZTsKKwlpbnQgc3RhdHVzOworCisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIDAsCisJCQkJSTJDX1NNQlVTX0JZVEUsICZkYXRhKTsKKwlyZXR1cm4gKHN0YXR1cyA8IDApID8gc3RhdHVzIDogZGF0YS5ieXRlOwogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfcmVhZF9ieXRlKTsKIAorLyoqCisgKiBpMmNfc21idXNfd3JpdGVfYnl0ZSAtIFNNQnVzICJzZW5kIGJ5dGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAdmFsdWU6IEJ5dGUgdG8gYmUgc2VudAorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJzZW5kIGJ5dGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3dyaXRlX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggdmFsdWUpCiB7CiAJcmV0dXJuIGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKQEAgLTEzMjUsMTcgKzE1ODMsMzUgQEAKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3dyaXRlX2J5dGUpOwogCisvKioKKyAqIGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YSAtIFNNQnVzICJyZWFkIGJ5dGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJyZWFkIGJ5dGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgYSBkYXRhIGJ5dGUgcmVjZWl2ZWQgZnJvbSB0aGUgZGV2aWNlLgorICovCiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IGNvbW1hbmQpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCxjb21tYW5kLCBJMkNfU01CVVNfQllURV9EQVRBLCZkYXRhKSkKLQkJcmV0dXJuIC0xOwotCWVsc2UKLQkJcmV0dXJuIGRhdGEuYnl0ZTsKKwlpbnQgc3RhdHVzOworCisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCisJCQkJSTJDX1NNQlVTX0JZVEVfREFUQSwgJmRhdGEpOworCXJldHVybiAoc3RhdHVzIDwgMCkgPyBzdGF0dXMgOiBkYXRhLmJ5dGU7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3dyaXRlX2J5dGVfZGF0YSAtIFNNQnVzICJ3cml0ZSBieXRlIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqIEB2YWx1ZTogQnl0ZSBiZWluZyB3cml0dGVuCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgIndyaXRlIGJ5dGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3dyaXRlX2J5dGVfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBjb21tYW5kLCB1OCB2YWx1ZSkKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOwpAQCAtMTM0NiwxNyArMTYyMiwzNSBAQAogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfd3JpdGVfYnl0ZV9kYXRhKTsKIAorLyoqCisgKiBpMmNfc21idXNfcmVhZF93b3JkX2RhdGEgLSBTTUJ1cyAicmVhZCB3b3JkIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAicmVhZCB3b3JkIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIGEgMTYtYml0IHVuc2lnbmVkICJ3b3JkIiByZWNlaXZlZCBmcm9tIHRoZSBkZXZpY2UuCisgKi8KIHMzMiBpMmNfc21idXNfcmVhZF93b3JkX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCkKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOwotCWlmIChpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19SRUFELGNvbW1hbmQsIEkyQ19TTUJVU19XT1JEX0RBVEEsICZkYXRhKSkKLQkJcmV0dXJuIC0xOwotCWVsc2UKLQkJcmV0dXJuIGRhdGEud29yZDsKKwlpbnQgc3RhdHVzOworCisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCisJCQkJSTJDX1NNQlVTX1dPUkRfREFUQSwgJmRhdGEpOworCXJldHVybiAoc3RhdHVzIDwgMCkgPyBzdGF0dXMgOiBkYXRhLndvcmQ7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3dyaXRlX3dvcmRfZGF0YSAtIFNNQnVzICJ3cml0ZSB3b3JkIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqIEB2YWx1ZTogMTYtYml0ICJ3b3JkIiBiZWluZyB3cml0dGVuCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgIndyaXRlIHdvcmQiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3dyaXRlX3dvcmRfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBjb21tYW5kLCB1MTYgdmFsdWUpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKQEAgLTEzNjgsMTUgKzE2NjIsMTQgQEAKIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3dyaXRlX3dvcmRfZGF0YSk7CiAKIC8qKgotICogaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YSAtIFNNQnVzIGJsb2NrIHJlYWQgcmVxdWVzdAorICogaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YSAtIFNNQnVzICJibG9jayByZWFkIiBwcm90b2NvbAogICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQotICogQGNvbW1hbmQ6IENvbW1hbmQgYnl0ZSBpc3N1ZWQgdG8gbGV0IHRoZSBzbGF2ZSBrbm93IHdoYXQgZGF0YSBzaG91bGQKLSAqCWJlIHJldHVybmVkCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQogICogQHZhbHVlczogQnl0ZSBhcnJheSBpbnRvIHdoaWNoIGRhdGEgd2lsbCBiZSByZWFkOyBiaWcgZW5vdWdoIHRvIGhvbGQKICAqCXRoZSBkYXRhIHJldHVybmVkIGJ5IHRoZSBzbGF2ZS4gIFNNQnVzIGFsbG93cyBhdCBtb3N0IDMyIGJ5dGVzLgogICoKLSAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyByZWFkIGluIHRoZSBzbGF2ZSdzIHJlc3BvbnNlLCBlbHNlIGEKLSAqIG5lZ2F0aXZlIG51bWJlciB0byBpbmRpY2F0ZSBzb21lIGtpbmQgb2YgZXJyb3IuCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAiYmxvY2sgcmVhZCIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSB0aGUgbnVtYmVyIG9mIGRhdGEgYnl0ZXMgaW4gdGhlIHNsYXZlJ3MgcmVzcG9uc2UuCiAgKgogICogTm90ZSB0aGF0IHVzaW5nIHRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhhdCB0aGUgY2xpZW50J3MgYWRhcHRlciBzdXBwb3J0CiAgKiB0aGUgSTJDX0ZVTkNfU01CVVNfUkVBRF9CTE9DS19EQVRBIGZ1bmN0aW9uYWxpdHkuICBOb3QgYWxsIGFkYXB0ZXIgZHJpdmVycwpAQCAtMTM4NywxNyArMTY4MCwyOSBAQAogCQkJICAgICAgdTggKnZhbHVlcykKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOworCWludCBzdGF0dXM7CiAKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19SRUFELCBjb21tYW5kLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfQkxPQ0tfREFUQSwgJmRhdGEpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCisJCQkJSTJDX1NNQlVTX0JMT0NLX0RBVEEsICZkYXRhKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJbWVtY3B5KHZhbHVlcywgJmRhdGEuYmxvY2tbMV0sIGRhdGEuYmxvY2tbMF0pOwogCXJldHVybiBkYXRhLmJsb2NrWzBdOwogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfcmVhZF9ibG9ja19kYXRhKTsKIAorLyoqCisgKiBpMmNfc21idXNfd3JpdGVfYmxvY2tfZGF0YSAtIFNNQnVzICJibG9jayB3cml0ZSIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKiBAbGVuZ3RoOiBTaXplIG9mIGRhdGEgYmxvY2s7IFNNQnVzIGFsbG93cyBhdCBtb3N0IDMyIGJ5dGVzCisgKiBAdmFsdWVzOiBCeXRlIGFycmF5IHdoaWNoIHdpbGwgYmUgd3JpdHRlbi4KKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAiYmxvY2sgd3JpdGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3dyaXRlX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCwKIAkJCSAgICAgICB1OCBsZW5ndGgsIGNvbnN0IHU4ICp2YWx1ZXMpCiB7CkBAIC0xNDE4LDE0ICsxNzIzLDE2IEBACiAJCQkJICB1OCBsZW5ndGgsIHU4ICp2YWx1ZXMpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKKwlpbnQgc3RhdHVzOwogCiAJaWYgKGxlbmd0aCA+IEkyQ19TTUJVU19CTE9DS19NQVgpCiAJCWxlbmd0aCA9IEkyQ19TTUJVU19CTE9DS19NQVg7CiAJZGF0YS5ibG9ja1swXSA9IGxlbmd0aDsKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCxjb21tYW5kLAotCSAgICAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfSTJDX0JMT0NLX0RBVEEsJmRhdGEpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCisJCQkJSTJDX1NNQlVTX0kyQ19CTE9DS19EQVRBLCAmZGF0YSk7CisJaWYgKHN0YXR1cyA8IDApCisJCXJldHVybiBzdGF0dXM7CiAKIAltZW1jcHkodmFsdWVzLCAmZGF0YS5ibG9ja1sxXSwgZGF0YS5ibG9ja1swXSk7CiAJcmV0dXJuIGRhdGEuYmxvY2tbMF07CkBAIC0xNDY2LDYgKzE3NzMsNyBAQAogCSAgICAgICAgICAgICAgICAgICAgICAgIH07CiAJaW50IGk7CiAJdTggcGFydGlhbF9wZWMgPSAwOworCWludCBzdGF0dXM7CiAKIAltc2didWYwWzBdID0gY29tbWFuZDsKIAlzd2l0Y2goc2l6ZSkgewpAQCAtMTUxNSwxMCArMTgyMywxMCBAQAogCQl9IGVsc2UgewogCQkJbXNnWzBdLmxlbiA9IGRhdGEtPmJsb2NrWzBdICsgMjsKIAkJCWlmIChtc2dbMF0ubGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCArIDIpIHsKLQkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJzbWJ1c19hY2Nlc3MgY2FsbGVkIHdpdGggIgotCQkJCSAgICAgICAiaW52YWxpZCBibG9jayB3cml0ZSBzaXplICglZClcbiIsCi0JCQkJICAgICAgIGRhdGEtPmJsb2NrWzBdKTsKLQkJCQlyZXR1cm4gLTE7CisJCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LAorCQkJCQkiSW52YWxpZCBibG9jayB3cml0ZSBzaXplICVkXG4iLAorCQkJCQlkYXRhLT5ibG9ja1swXSk7CisJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQl9CiAJCQlmb3IgKGkgPSAxOyBpIDwgbXNnWzBdLmxlbjsgaSsrKQogCQkJCW1zZ2J1ZjBbaV0gPSBkYXRhLT5ibG9ja1tpLTFdOwpAQCAtMTUyOCwxMCArMTgzNiwxMCBAQAogCQludW0gPSAyOyAvKiBBbm90aGVyIHNwZWNpYWwgY2FzZSAqLwogCQlyZWFkX3dyaXRlID0gSTJDX1NNQlVTX1JFQUQ7CiAJCWlmIChkYXRhLT5ibG9ja1swXSA+IEkyQ19TTUJVU19CTE9DS19NQVgpIHsKLQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgIiVzIGNhbGxlZCB3aXRoIGludmFsaWQgIgotCQkJCSJibG9jayBwcm9jIGNhbGwgc2l6ZSAoJWQpXG4iLCBfX2Z1bmNfXywKKwkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwKKwkJCQkiSW52YWxpZCBibG9jayB3cml0ZSBzaXplICVkXG4iLAogCQkJCWRhdGEtPmJsb2NrWzBdKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUlOVkFMOwogCQl9CiAJCW1zZ1swXS5sZW4gPSBkYXRhLT5ibG9ja1swXSArIDI7CiAJCWZvciAoaSA9IDE7IGkgPCBtc2dbMF0ubGVuOyBpKyspCkBAIC0xNTQ2LDE5ICsxODU0LDE4IEBACiAJCX0gZWxzZSB7CiAJCQltc2dbMF0ubGVuID0gZGF0YS0+YmxvY2tbMF0gKyAxOwogCQkJaWYgKG1zZ1swXS5sZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYICsgMSkgewotCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgImkyY19zbWJ1c194ZmVyX2VtdWxhdGVkIGNhbGxlZCB3aXRoICIKLQkJCQkgICAgICAgImludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAoJWQpXG4iLAotCQkJCSAgICAgICBkYXRhLT5ibG9ja1swXSk7Ci0JCQkJcmV0dXJuIC0xOworCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwKKwkJCQkJIkludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAlZFxuIiwKKwkJCQkJZGF0YS0+YmxvY2tbMF0pOworCQkJCXJldHVybiAtRUlOVkFMOwogCQkJfQogCQkJZm9yIChpID0gMTsgaSA8PSBkYXRhLT5ibG9ja1swXTsgaSsrKQogCQkJCW1zZ2J1ZjBbaV0gPSBkYXRhLT5ibG9ja1tpXTsKIAkJfQogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJzbWJ1c19hY2Nlc3MgY2FsbGVkIHdpdGggaW52YWxpZCBzaXplICglZClcbiIsCi0JCSAgICAgICBzaXplKTsKLQkJcmV0dXJuIC0xOworCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlpID0gKChmbGFncyAmIEkyQ19DTElFTlRfUEVDKSAmJiBzaXplICE9IEkyQ19TTUJVU19RVUlDSwpAQCAtMTU3NiwxMyArMTg4MywxNSBAQAogCQkJbXNnW251bS0xXS5sZW4rKzsKIAl9CiAKLQlpZiAoaTJjX3RyYW5zZmVyKGFkYXB0ZXIsIG1zZywgbnVtKSA8IDApCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBpMmNfdHJhbnNmZXIoYWRhcHRlciwgbXNnLCBudW0pOworCWlmIChzdGF0dXMgPCAwKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJLyogQ2hlY2sgUEVDIGlmIGxhc3QgbWVzc2FnZSBpcyBhIHJlYWQgKi8KIAlpZiAoaSAmJiAobXNnW251bS0xXS5mbGFncyAmIEkyQ19NX1JEKSkgewotCQlpZiAoaTJjX3NtYnVzX2NoZWNrX3BlYyhwYXJ0aWFsX3BlYywgJm1zZ1tudW0tMV0pIDwgMCkKLQkJCXJldHVybiAtMTsKKwkJc3RhdHVzID0gaTJjX3NtYnVzX2NoZWNrX3BlYyhwYXJ0aWFsX3BlYywgJm1zZ1tudW0tMV0pOworCQlpZiAoc3RhdHVzIDwgMCkKKwkJCXJldHVybiBzdGF0dXM7CiAJfQogCiAJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1JFQUQpCkBAIC0xNjEwLDkgKzE5MTksMjEgQEAKIAlyZXR1cm4gMDsKIH0KIAotCisvKioKKyAqIGkyY19zbWJ1c194ZmVyIC0gZXhlY3V0ZSBTTUJ1cyBwcm90b2NvbCBvcGVyYXRpb25zCisgKiBAYWRhcHRlcjogSGFuZGxlIHRvIEkyQyBidXMKKyAqIEBhZGRyOiBBZGRyZXNzIG9mIFNNQnVzIHNsYXZlIG9uIHRoYXQgYnVzCisgKiBAZmxhZ3M6IEkyQ19DTElFTlRfKiBmbGFncyAodXN1YWxseSB6ZXJvIG9yIEkyQ19DTElFTlRfUEVDKQorICogQHJlYWRfd3JpdGU6IEkyQ19TTUJVU19SRUFEIG9yIEkyQ19TTUJVU19XUklURQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUsIGZvciBwcm90b2NvbHMgd2hpY2ggdXNlIHN1Y2ggYnl0ZXMKKyAqIEBwcm90b2NvbDogU01CdXMgcHJvdG9jb2wgb3BlcmF0aW9uIHRvIGV4ZWN1dGUsIHN1Y2ggYXMgSTJDX1NNQlVTX1BST0NfQ0FMTAorICogQGRhdGE6IERhdGEgdG8gYmUgcmVhZCBvciB3cml0dGVuCisgKgorICogVGhpcyBleGVjdXRlcyBhbiBTTUJ1cyBwcm90b2NvbCBvcGVyYXRpb24sIGFuZCByZXR1cm5zIGEgbmVnYXRpdmUKKyAqIGVycm5vIGNvZGUgZWxzZSB6ZXJvIG9uIHN1Y2Nlc3MuCisgKi8KIHMzMiBpMmNfc21idXNfeGZlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwdGVyLCB1MTYgYWRkciwgdW5zaWduZWQgc2hvcnQgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJICAgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLCBpbnQgcHJvdG9jb2wsCiAgICAgICAgICAgICAgICAgICAgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQogewogCXMzMiByZXM7CkBAIC0xNjIyLDExICsxOTQzLDExIEBACiAJaWYgKGFkYXB0ZXItPmFsZ28tPnNtYnVzX3hmZXIpIHsKIAkJbXV0ZXhfbG9jaygmYWRhcHRlci0+YnVzX2xvY2spOwogCQlyZXMgPSBhZGFwdGVyLT5hbGdvLT5zbWJ1c194ZmVyKGFkYXB0ZXIsYWRkcixmbGFncyxyZWFkX3dyaXRlLAotCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQsc2l6ZSxkYXRhKTsKKwkJCQkJCWNvbW1hbmQsIHByb3RvY29sLCBkYXRhKTsKIAkJbXV0ZXhfdW5sb2NrKCZhZGFwdGVyLT5idXNfbG9jayk7CiAJfSBlbHNlCiAJCXJlcyA9IGkyY19zbWJ1c194ZmVyX2VtdWxhdGVkKGFkYXB0ZXIsYWRkcixmbGFncyxyZWFkX3dyaXRlLAotCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCxzaXplLGRhdGEpOworCQkJCQkgICAgICBjb21tYW5kLCBwcm90b2NvbCwgZGF0YSk7CiAKIAlyZXR1cm4gcmVzOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvaTJjLWRldi5jIGIvZHJpdmVycy9pMmMvaTJjLWRldi5jCmluZGV4IGQzNGMxNGMuLjg2NzI3ZmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2kyYy1kZXYuYworKysgYi9kcml2ZXJzL2kyYy9pMmMtZGV2LmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLWRldi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGkyY2Rldl9kcml2ZXI7CkBAIC0zNjYsOCArMzY3LDcgQEAKIAlyZXR1cm4gcmVzOwogfQogCi1zdGF0aWMgaW50IGkyY2Rldl9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCitzdGF0aWMgbG9uZyBpMmNkZXZfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogewogCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQgPSAoc3RydWN0IGkyY19jbGllbnQgKilmaWxlLT5wcml2YXRlX2RhdGE7CiAJdW5zaWduZWQgbG9uZyBmdW5jczsKQEAgLTQ0MSwxNCArNDQxLDIwIEBACiAJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXA7CiAJc3RydWN0IGkyY19kZXYgKmkyY19kZXY7CisJaW50IHJldCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWkyY19kZXYgPSBpMmNfZGV2X2dldF9ieV9taW5vcihtaW5vcik7Ci0JaWYgKCFpMmNfZGV2KQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAoIWkyY19kZXYpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCiAJYWRhcCA9IGkyY19nZXRfYWRhcHRlcihpMmNfZGV2LT5hZGFwLT5ucik7Ci0JaWYgKCFhZGFwKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAoIWFkYXApIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCiAJLyogVGhpcyBjcmVhdGVzIGFuIGFub255bW91cyBpMmNfY2xpZW50LCB3aGljaCBtYXkgbGF0ZXIgYmUKIAkgKiBwb2ludGVkIHRvIHNvbWUgYWRkcmVzcyB1c2luZyBJMkNfU0xBVkUgb3IgSTJDX1NMQVZFX0ZPUkNFLgpAQCAtNDYwLDcgKzQ2Niw4IEBACiAJY2xpZW50ID0ga3phbGxvYyhzaXplb2YoKmNsaWVudCksIEdGUF9LRVJORUwpOwogCWlmICghY2xpZW50KSB7CiAJCWkyY19wdXRfYWRhcHRlcihhZGFwKTsKLQkJcmV0dXJuIC1FTk9NRU07CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OwogCX0KIAlzbnByaW50ZihjbGllbnQtPm5hbWUsIEkyQ19OQU1FX1NJWkUsICJpMmMtZGV2ICVkIiwgYWRhcC0+bnIpOwogCWNsaWVudC0+ZHJpdmVyID0gJmkyY2Rldl9kcml2ZXI7CkBAIC00NjgsNyArNDc1LDkgQEAKIAljbGllbnQtPmFkYXB0ZXIgPSBhZGFwOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNsaWVudDsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGkyY2Rldl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpAQCAtNDg3LDcgKzQ5Niw3IEBACiAJLmxsc2VlawkJPSBub19sbHNlZWssCiAJLnJlYWQJCT0gaTJjZGV2X3JlYWQsCiAJLndyaXRlCQk9IGkyY2Rldl93cml0ZSwKLQkuaW9jdGwJCT0gaTJjZGV2X2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bAk9IGkyY2Rldl9pb2N0bCwKIAkub3BlbgkJPSBpMmNkZXZfb3BlbiwKIAkucmVsZWFzZQk9IGkyY2Rldl9yZWxlYXNlLAogfTsKQEAgLTU0OSwxOSArNTU4LDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaTJjZGV2X2RldGFjaF9jbGllbnQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKLXsKLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGkyY2Rldl9kcml2ZXIgPSB7CiAJLmRyaXZlciA9IHsKIAkJLm5hbWUJPSAiZGV2X2RyaXZlciIsCiAJfSwKLQkuaWQJCT0gSTJDX0RSSVZFUklEX0kyQ0RFViwKIAkuYXR0YWNoX2FkYXB0ZXIJPSBpMmNkZXZfYXR0YWNoX2FkYXB0ZXIsCiAJLmRldGFjaF9hZGFwdGVyCT0gaTJjZGV2X2RldGFjaF9hZGFwdGVyLAotCS5kZXRhY2hfY2xpZW50CT0gaTJjZGV2X2RldGFjaF9jbGllbnQsCiB9OwogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9LY29uZmlnIGIvZHJpdmVycy9pZGUvS2NvbmZpZwppbmRleCAxNjA3NTM2Li5jZjcwN2M4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9LY29uZmlnCisrKyBiL2RyaXZlcnMvaWRlL0tjb25maWcKQEAgLTk4LDYgKzk4LDkgQEAKIAogY29tbWVudCAiUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcyIKIAorY29uZmlnIElERV9BVEFQSQorCWJvb2wKKwogY29uZmlnIEJMS19ERVZfSURFX1NBVEEKIAlib29sICJTdXBwb3J0IGZvciBTQVRBIChkZXByZWNhdGVkOyBjb25mbGljdHMgd2l0aCBsaWJhdGEgU0FUQSBkcml2ZXIpIgogCWRlZmF1bHQgbgpAQCAtMjAxLDYgKzIwNCw3IEBACiAKIGNvbmZpZyBCTEtfREVWX0lERVRBUEUKIAl0cmlzdGF0ZSAiSW5jbHVkZSBJREUvQVRBUEkgVEFQRSBzdXBwb3J0IgorCXNlbGVjdCBJREVfQVRBUEkKIAloZWxwCiAJICBJZiB5b3UgaGF2ZSBhbiBJREUgdGFwZSBkcml2ZSB1c2luZyB0aGUgQVRBUEkgcHJvdG9jb2wsIHNheSBZLgogCSAgQVRBUEkgaXMgYSBuZXdlciBwcm90b2NvbCB1c2VkIGJ5IElERSB0YXBlIGFuZCBDRC1ST00gZHJpdmVzLApAQCAtMjIzLDYgKzIyNyw3IEBACiAKIGNvbmZpZyBCTEtfREVWX0lERUZMT1BQWQogCXRyaXN0YXRlICJJbmNsdWRlIElERS9BVEFQSSBGTE9QUFkgc3VwcG9ydCIKKwlzZWxlY3QgSURFX0FUQVBJCiAJLS0taGVscC0tLQogCSAgSWYgeW91IGhhdmUgYW4gSURFIGZsb3BweSBkcml2ZSB3aGljaCB1c2VzIHRoZSBBVEFQSSBwcm90b2NvbCwKIAkgIGFuc3dlciBZLiAgQVRBUEkgaXMgYSBuZXdlciBwcm90b2NvbCB1c2VkIGJ5IElERSBDRC1ST00vdGFwZS9mbG9wcHkKQEAgLTI0Niw2ICsyNTEsNyBAQAogY29uZmlnIEJMS19ERVZfSURFU0NTSQogCXRyaXN0YXRlICJTQ1NJIGVtdWxhdGlvbiBzdXBwb3J0IgogCWRlcGVuZHMgb24gU0NTSQorCXNlbGVjdCBJREVfQVRBUEkKIAktLS1oZWxwLS0tCiAJICBXQVJOSU5HOiBpZGUtc2NzaSBpcyBubyBsb25nZXIgbmVlZGVkIGZvciBjZCB3cml0aW5nIGFwcGxpY2F0aW9ucyEKIAkgIFRoZSAyLjYga2VybmVsIHN1cHBvcnRzIGRpcmVjdCB3cml0aW5nIHRvIGlkZS1jZCwgd2hpY2ggZWxpbWluYXRlcwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvTWFrZWZpbGUgYi9kcml2ZXJzL2lkZS9NYWtlZmlsZQppbmRleCBmOTRiNjc5Li5hMmIzZjg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2lkZS9NYWtlZmlsZQpAQCAtMTQsNiArMTQsNyBAQAogaWRlLWNvcmUteSArPSBpZGUubyBpZGUtaW8ubyBpZGUtaW9wcy5vIGlkZS1saWIubyBpZGUtcHJvYmUubyBpZGUtdGFza2ZpbGUubwogCiAjIGNvcmUgSURFIGNvZGUKK2lkZS1jb3JlLSQoQ09ORklHX0lERV9BVEFQSSkJCSs9IGlkZS1hdGFwaS5vCiBpZGUtY29yZS0kKENPTkZJR19CTEtfREVWX0lERVBDSSkJKz0gc2V0dXAtcGNpLm8KIGlkZS1jb3JlLSQoQ09ORklHX0JMS19ERVZfSURFRE1BKQkrPSBpZGUtZG1hLm8KIGlkZS1jb3JlLSQoQ09ORklHX0lERV9QUk9DX0ZTKQkJKz0gaWRlLXByb2MubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvYXJtL3BhbG1fYmszNzEwLmMgYi9kcml2ZXJzL2lkZS9hcm0vcGFsbV9iazM3MTAuYwppbmRleCAyZjJiNGY0Li4zODM5ZjU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9hcm0vcGFsbV9iazM3MTAuYworKysgYi9kcml2ZXJzL2lkZS9hcm0vcGFsbV9iazM3MTAuYwpAQCAtODMsNyArODMsNyBAQAogCXsxMjUsIDE2MH0sCQkvKiBVRE1BIE1vZGUgMSAqLwogCXsxMDAsIDEyMH0sCQkvKiBVRE1BIE1vZGUgMiAqLwogCXsxMDAsIDkwfSwJCS8qIFVETUEgTW9kZSAzICovCi0Jezg1LCAgNjB9LAkJLyogVURNQSBNb2RlIDQgKi8KKwl7MTAwLCA2MH0sCQkvKiBVRE1BIE1vZGUgNCAqLwogfTsKIAogc3RhdGljIHZvaWQgcGFsbV9iazM3MTBfc2V0dWRtYW1vZGUodm9pZCBfX2lvbWVtICpiYXNlLCB1bnNpZ25lZCBpbnQgZGV2LApAQCAtNDA1LDcgKzQwNSw2IEBACiAJaWRlX2luaXRfcG9ydF9kYXRhKGh3aWYsIGkpOwogCWlkZV9pbml0X3BvcnRfaHcoaHdpZiwgJmh3KTsKIAotCWh3aWYtPm1taW8gPSAxOwogCWRlZmF1bHRfaHdpZl9tbWlvcHMoaHdpZik7CiAKIAlpZHhbMF0gPSBpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaDgzMDAvaWRlLWg4MzAwLmMgYi9kcml2ZXJzL2lkZS9oODMwMC9pZGUtaDgzMDAuYwppbmRleCBlY2Y1M2JiLi5hZTM3ZWU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9oODMwMC9pZGUtaDgzMDAuYworKysgYi9kcml2ZXJzL2lkZS9oODMwMC9pZGUtaDgzMDAuYwpAQCAtNTIsOCArNTIsNiBAQAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19GTEFHR0VEKQogCQlISUhJID0gMHhGRjsKIAotCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKLQogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19PVVRfREFUQSkKIAkJbW1fb3V0dygodGYtPmhvYl9kYXRhIDw8IDgpIHwgdGYtPmRhdGEsIGlvX3BvcnRzLT5kYXRhX2FkZHIpOwogCkBAIC05OCw3ICs5Niw3IEBACiAJfQogCiAJLyogYmUgc3VyZSB3ZSdyZSBsb29raW5nIGF0IHRoZSBsb3cgb3JkZXIgYml0cyAqLwotCW91dGIoZHJpdmUtPmN0bCAmIH4weDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCW91dGIoQVRBX0RFVkNUTF9PQlMgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9OU0VDVCkKIAkJdGYtPm5zZWN0ICA9IGluYihpb19wb3J0cy0+bnNlY3RfYWRkcik7CkBAIC0xMTIsNyArMTEwLDcgQEAKIAkJdGYtPmRldmljZSA9IGluYihpb19wb3J0cy0+ZGV2aWNlX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0xCQTQ4KSB7Ci0JCW91dGIoZHJpdmUtPmN0bCB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCW91dGIoQVRBX0RFVkNUTF9PQlMgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9IT0JfRkVBVFVSRSkKIAkJCXRmLT5ob2JfZmVhdHVyZSA9IGluYihpb19wb3J0cy0+ZmVhdHVyZV9hZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1hY3BpLmMgYi9kcml2ZXJzL2lkZS9pZGUtYWNwaS5jCmluZGV4IDlkMzYwMWYuLjZmNzA0NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1hY3BpLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWFjcGkuYwpAQCAtNjAsMTUgKzYwLDE1IEBACiAjZGVmaW5lIERFQlBSSU5UKGZtdCwgYXJncy4uLikJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYJLyogREVCVUdHSU5HICovCiAKLWludCBpZGVfbm9hY3BpOworc3RhdGljIGludCBpZGVfbm9hY3BpOwogbW9kdWxlX3BhcmFtX25hbWVkKG5vYWNwaSwgaWRlX25vYWNwaSwgYm9vbCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKG5vYWNwaSwgImRpc2FibGUgSURFIEFDUEkgc3VwcG9ydCIpOwogCi1pbnQgaWRlX2FjcGlndGY7CitzdGF0aWMgaW50IGlkZV9hY3BpZ3RmOwogbW9kdWxlX3BhcmFtX25hbWVkKGFjcGlndGYsIGlkZV9hY3BpZ3RmLCBib29sLCAwKTsKIE1PRFVMRV9QQVJNX0RFU0MoYWNwaWd0ZiwgImVuYWJsZSBJREUgQUNQSSBfR1RGIHN1cHBvcnQiKTsKIAotaW50IGlkZV9hY3Bpb25ib290Oworc3RhdGljIGludCBpZGVfYWNwaW9uYm9vdDsKIG1vZHVsZV9wYXJhbV9uYW1lZChhY3Bpb25ib290LCBpZGVfYWNwaW9uYm9vdCwgYm9vbCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGFjcGlvbmJvb3QsICJjYWxsIElERSBBQ1BJIG1ldGhvZHMgb24gYm9vdCIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtYXRhcGkuYyBiL2RyaXZlcnMvaWRlL2lkZS1hdGFwaS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4MDIwMzEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2lkZS9pZGUtYXRhcGkuYwpAQCAtMCwwICsxLDI5NiBAQAorLyoKKyAqIEFUQVBJIHN1cHBvcnQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaWRlLmg+CisjaW5jbHVkZSA8c2NzaS9zY3NpLmg+CisKKyNpZmRlZiBERUJVRworI2RlZmluZSBkZWJ1Z19sb2coZm10LCBhcmdzLi4uKSBcCisJcHJpbnRrKEtFUk5fSU5GTyAiaWRlOiAiIGZtdCwgIyMgYXJncykKKyNlbHNlCisjZGVmaW5lIGRlYnVnX2xvZyhmbXQsIGFyZ3MuLi4pIGRvIHt9IHdoaWxlICgwKQorI2VuZGlmCisKKy8qIFRPRE86IHVuaWZ5IHRoZSBjb2RlIHRodXMgbWFraW5nIHNvbWUgYXJndW1lbnRzIGdvIGF3YXkgKi8KK2lkZV9zdGFydHN0b3BfdCBpZGVfcGNfaW50cihpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCWlkZV9oYW5kbGVyX3QgKmhhbmRsZXIsIHVuc2lnbmVkIGludCB0aW1lb3V0LCBpZGVfZXhwaXJ5X3QgKmV4cGlyeSwKKwl2b2lkICgqdXBkYXRlX2J1ZmZlcnMpKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiksCisJdm9pZCAoKnJldHJ5X3BjKShpZGVfZHJpdmVfdCAqKSwgdm9pZCAoKmRzY19oYW5kbGUpKGlkZV9kcml2ZV90ICopLAorCXZvaWQgKCppb19idWZmZXJzKShpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosIHVuc2lnbmVkLCBpbnQpKQoreworCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKKwl4ZmVyX2Z1bmNfdCAqeGZlcmZ1bmM7CisJdW5zaWduZWQgaW50IHRlbXA7CisJdTE2IGJjb3VudDsKKwl1OCBzdGF0LCBpcmVhc29uLCBzY3NpID0gZHJpdmUtPnNjc2k7CisKKwlkZWJ1Z19sb2coIkVudGVyICVzIC0gaW50ZXJydXB0IGhhbmRsZXJcbiIsIF9fZnVuY19fKTsKKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1RJTUVET1VUKSB7CisJCXBjLT5jYWxsYmFjayhkcml2ZSk7CisJCXJldHVybiBpZGVfc3RvcHBlZDsKKwl9CisKKwkvKiBDbGVhciB0aGUgaW50ZXJydXB0ICovCisJc3RhdCA9IGlkZV9yZWFkX3N0YXR1cyhkcml2ZSk7CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKKwkJaWYgKGh3aWYtPmRtYV9vcHMtPmRtYV9lbmQoZHJpdmUpIHx8CisJCSAgICAoZHJpdmUtPm1lZGlhID09IGlkZV90YXBlICYmICFzY3NpICYmIChzdGF0ICYgRVJSX1NUQVQpKSkgeworCQkJaWYgKGRyaXZlLT5tZWRpYSA9PSBpZGVfZmxvcHB5ICYmICFzY3NpKQorCQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IERNQSAlcyBlcnJvclxuIiwKKwkJCQkJZHJpdmUtPm5hbWUsIHJxX2RhdGFfZGlyKHBjLT5ycSkKKwkJCQkJCSAgICAgPyAid3JpdGUiIDogInJlYWQiKTsKKwkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9FUlJPUjsKKwkJfSBlbHNlIHsKKwkJCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOworCQkJaWYgKHVwZGF0ZV9idWZmZXJzKQorCQkJCXVwZGF0ZV9idWZmZXJzKGRyaXZlLCBwYyk7CisJCX0KKwkJZGVidWdfbG9nKCIlczogRE1BIGZpbmlzaGVkXG4iLCBkcml2ZS0+bmFtZSk7CisJfQorCisJLyogTm8gbW9yZSBpbnRlcnJ1cHRzICovCisJaWYgKChzdGF0ICYgRFJRX1NUQVQpID09IDApIHsKKwkJZGVidWdfbG9nKCJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIHRyYW5zZmVycmVkXG4iLAorCQkJICBwYy0+eGZlcnJlZCk7CisKKwkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKKworCQlsb2NhbF9pcnFfZW5hYmxlX2luX2hhcmRpcnEoKTsKKworCQlpZiAoZHJpdmUtPm1lZGlhID09IGlkZV90YXBlICYmICFzY3NpICYmCisJCSAgICAoc3RhdCAmIEVSUl9TVEFUKSAmJiBwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKQorCQkJc3RhdCAmPSB+RVJSX1NUQVQ7CisJCWlmICgoc3RhdCAmIEVSUl9TVEFUKSB8fCAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpKSB7CisJCQkvKiBFcnJvciBkZXRlY3RlZCAqLworCQkJZGVidWdfbG9nKCIlczogSS9PIGVycm9yXG4iLCBkcml2ZS0+bmFtZSk7CisKKwkJCWlmIChkcml2ZS0+bWVkaWEgIT0gaWRlX3RhcGUgfHwgc2NzaSkgeworCQkJCXBjLT5ycS0+ZXJyb3JzKys7CisJCQkJaWYgKHNjc2kpCisJCQkJCWdvdG8gY21kX2ZpbmlzaGVkOworCQkJfQorCisJCQlpZiAocGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgeworCQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IEkvTyBlcnJvciBpbiByZXF1ZXN0IHNlbnNlIgorCQkJCQkJIiBjb21tYW5kXG4iLCBkcml2ZS0+bmFtZSk7CisJCQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJCQl9CisKKwkJCWRlYnVnX2xvZygiW2NtZCAleF06IGNoZWNrIGNvbmRpdGlvblxuIiwgcGMtPmNbMF0pOworCisJCQkvKiBSZXRyeSBvcGVyYXRpb24gKi8KKwkJCXJldHJ5X3BjKGRyaXZlKTsKKwkJCS8qIHF1ZXVlZCwgYnV0IG5vdCBzdGFydGVkICovCisJCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJCX0KK2NtZF9maW5pc2hlZDoKKwkJcGMtPmVycm9yID0gMDsKKwkJaWYgKChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dBSVRfRk9SX0RTQykgJiYKKwkJICAgIChzdGF0ICYgU0VFS19TVEFUKSA9PSAwKSB7CisJCQlkc2NfaGFuZGxlKGRyaXZlKTsKKwkJCXJldHVybiBpZGVfc3RvcHBlZDsKKwkJfQorCQkvKiBDb21tYW5kIGZpbmlzaGVkIC0gQ2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gKi8KKwkJcGMtPmNhbGxiYWNrKGRyaXZlKTsKKwkJcmV0dXJuIGlkZV9zdG9wcGVkOworCX0KKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgeworCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBUaGUgZGV2aWNlIHdhbnRzIHRvIGlzc3VlIG1vcmUgaW50ZXJydXB0cyAiCisJCQkJImluIERNQSBtb2RlXG4iLCBkcml2ZS0+bmFtZSk7CisJCWlkZV9kbWFfb2ZmKGRyaXZlKTsKKwkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJfQorCS8qIEdldCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyIG9uIHRoaXMgaW50ZXJydXB0LiAqLworCWJjb3VudCA9IChod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhaF9hZGRyKSA8PCA4KSB8CisJCSAgaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYW1fYWRkcik7CisKKwlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOworCisJaWYgKGlyZWFzb24gJiBDRCkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBDb0QgIT0gMCBpbiAlc1xuIiwgZHJpdmUtPm5hbWUsIF9fZnVuY19fKTsKKwkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJfQorCWlmICgoKGlyZWFzb24gJiBJTykgPT0gSU8pID09ICEhKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKKwkJLyogSG9wZWZ1bGx5LCB3ZSB3aWxsIG5ldmVyIGdldCBoZXJlICovCisJCXByaW50ayhLRVJOX0VSUiAiJXM6IFdlIHdhbnRlZCB0byAlcywgYnV0IHRoZSBkZXZpY2Ugd2FudHMgdXMgIgorCQkJCSJ0byAlcyFcbiIsIGRyaXZlLT5uYW1lLAorCQkJCShpcmVhc29uICYgSU8pID8gIldyaXRlIiA6ICJSZWFkIiwKKwkJCQkoaXJlYXNvbiAmIElPKSA/ICJSZWFkIiA6ICJXcml0ZSIpOworCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKKwl9CisJaWYgKCEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgeworCQkvKiBSZWFkaW5nIC0gQ2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBzcGFjZSAqLworCQl0ZW1wID0gcGMtPnhmZXJyZWQgKyBiY291bnQ7CisJCWlmICh0ZW1wID4gcGMtPnJlcV94ZmVyKSB7CisJCQlpZiAodGVtcCA+IHBjLT5idWZfc2l6ZSkgeworCQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IFRoZSBkZXZpY2Ugd2FudHMgdG8gc2VuZCAiCisJCQkJCQkidXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgLSAiCisJCQkJCQkiZGlzY2FyZGluZyBkYXRhXG4iLAorCQkJCQkJZHJpdmUtPm5hbWUpOworCQkJCWlmIChzY3NpKQorCQkJCQl0ZW1wID0gcGMtPmJ1Zl9zaXplIC0gcGMtPnhmZXJyZWQ7CisJCQkJZWxzZQorCQkJCQl0ZW1wID0gMDsKKwkJCQlpZiAodGVtcCkgeworCQkJCQlpZiAocGMtPnNnKQorCQkJCQkJaW9fYnVmZmVycyhkcml2ZSwgcGMsIHRlbXAsIDApOworCQkJCQllbHNlCisJCQkJCQlod2lmLT5pbnB1dF9kYXRhKGRyaXZlLCBOVUxMLAorCQkJCQkJCXBjLT5jdXJfcG9zLCB0ZW1wKTsKKwkJCQkJcHJpbnRrKEtFUk5fRVJSICIlczogdHJhbnNmZXJyZWQgJWQgb2YgIgorCQkJCQkJCSIlZCBieXRlc1xuIiwKKwkJCQkJCQlkcml2ZS0+bmFtZSwKKwkJCQkJCQl0ZW1wLCBiY291bnQpOworCQkJCX0KKwkJCQlwYy0+eGZlcnJlZCArPSB0ZW1wOworCQkJCXBjLT5jdXJfcG9zICs9IHRlbXA7CisJCQkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgMCwgYmNvdW50IC0gdGVtcCk7CisJCQkJaWRlX3NldF9oYW5kbGVyKGRyaXZlLCBoYW5kbGVyLCB0aW1lb3V0LAorCQkJCQkJZXhwaXJ5KTsKKwkJCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJCQl9CisJCQlkZWJ1Z19sb2coIlRoZSBkZXZpY2Ugd2FudHMgdG8gc2VuZCB1cyBtb3JlIGRhdGEgdGhhbiAiCisJCQkJICAiZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7CisJCX0KKwkJeGZlcmZ1bmMgPSBod2lmLT5pbnB1dF9kYXRhOworCX0gZWxzZQorCQl4ZmVyZnVuYyA9IGh3aWYtPm91dHB1dF9kYXRhOworCisJaWYgKChkcml2ZS0+bWVkaWEgPT0gaWRlX2Zsb3BweSAmJiAhc2NzaSAmJiAhcGMtPmJ1ZikgfHwKKwkgICAgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhc2NzaSAmJiBwYy0+YmgpIHx8CisJICAgIChzY3NpICYmIHBjLT5zZykpCisJCWlvX2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQsICEhKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpOworCWVsc2UKKwkJeGZlcmZ1bmMoZHJpdmUsIE5VTEwsIHBjLT5jdXJfcG9zLCBiY291bnQpOworCisJLyogVXBkYXRlIHRoZSBjdXJyZW50IHBvc2l0aW9uICovCisJcGMtPnhmZXJyZWQgKz0gYmNvdW50OworCXBjLT5jdXJfcG9zICs9IGJjb3VudDsKKworCWRlYnVnX2xvZygiW2NtZCAleF0gdHJhbnNmZXJyZWQgJWQgYnl0ZXMgb24gdGhhdCBpbnRyLlxuIiwKKwkJICBwYy0+Y1swXSwgYmNvdW50KTsKKworCS8qIEFuZCBzZXQgdGhlIGludGVycnVwdCBoYW5kbGVyIGFnYWluICovCisJaWRlX3NldF9oYW5kbGVyKGRyaXZlLCBoYW5kbGVyLCB0aW1lb3V0LCBleHBpcnkpOworCXJldHVybiBpZGVfc3RhcnRlZDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGlkZV9wY19pbnRyKTsKKworc3RhdGljIHU4IGlkZV93YWl0X2lyZWFzb24oaWRlX2RyaXZlX3QgKmRyaXZlLCB1OCBpcmVhc29uKQoreworCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKKwlpbnQgcmV0cmllcyA9IDEwMDsKKworCXdoaWxlIChyZXRyaWVzLS0gJiYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IChJTyxDb0QgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCisJCQkJImEgcGFja2V0IGNvbW1hbmQsIHJldHJ5aW5nXG4iLCBkcml2ZS0+bmFtZSk7CisJCXVkZWxheSgxMDApOworCQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOworCQlpZiAocmV0cmllcyA9PSAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIiVzOiAoSU8sQ29EICE9ICgwLDEpIHdoaWxlIGlzc3VpbmcgIgorCQkJCQkiYSBwYWNrZXQgY29tbWFuZCwgaWdub3JpbmdcbiIsCisJCQkJCWRyaXZlLT5uYW1lKTsKKwkJCWlyZWFzb24gfD0gQ0Q7CisJCQlpcmVhc29uICY9IH5JTzsKKwkJfQorCX0KKworCXJldHVybiBpcmVhc29uOworfQorCitpZGVfc3RhcnRzdG9wX3QgaWRlX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkJaWRlX2hhbmRsZXJfdCAqaGFuZGxlciwgdW5zaWduZWQgaW50IHRpbWVvdXQsCisJCQkJaWRlX2V4cGlyeV90ICpleHBpcnkpCit7CisJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOworCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7CisJdTggaXJlYXNvbjsKKworCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsIGRyaXZlLCBEUlFfU1RBVCwgQlVTWV9TVEFULCBXQUlUX1JFQURZKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBTdHJhbmdlLCBwYWNrZXQgY29tbWFuZCBpbml0aWF0ZWQgeWV0ICIKKwkJCQkiRFJRIGlzbid0IGFzc2VydGVkXG4iLCBkcml2ZS0+bmFtZSk7CisJCXJldHVybiBzdGFydHN0b3A7CisJfQorCisJaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKKwlpZiAoZHJpdmUtPm1lZGlhID09IGlkZV90YXBlICYmICFkcml2ZS0+c2NzaSkKKwkJaXJlYXNvbiA9IGlkZV93YWl0X2lyZWFzb24oZHJpdmUsIGlyZWFzb24pOworCisJaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCisJCQkJImEgcGFja2V0IGNvbW1hbmRcbiIsIGRyaXZlLT5uYW1lKTsKKwkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJfQorCisJLyogU2V0IHRoZSBpbnRlcnJ1cHQgcm91dGluZSAqLworCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgaGFuZGxlciwgdGltZW91dCwgZXhwaXJ5KTsKKworCS8qIEJlZ2luIERNQSwgaWYgbmVjZXNzYXJ5ICovCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX09LKSB7CisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKKwkJaHdpZi0+ZG1hX29wcy0+ZG1hX3N0YXJ0KGRyaXZlKTsKKwl9CisKKwkvKiBTZW5kIHRoZSBhY3R1YWwgcGFja2V0ICovCisJaWYgKChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1pJUF9EUklWRSkgPT0gMCkKKwkJaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIHBjLT5jLCAxMik7CisKKwlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpZGVfdHJhbnNmZXJfcGMpOworCitpZGVfc3RhcnRzdG9wX3QgaWRlX2lzc3VlX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkgICAgIGlkZV9oYW5kbGVyX3QgKmhhbmRsZXIsIHVuc2lnbmVkIGludCB0aW1lb3V0LAorCQkJICAgICBpZGVfZXhwaXJ5X3QgKmV4cGlyeSkKK3sKKwlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CisJdTE2IGJjb3VudDsKKwl1OCBkbWEgPSAwOworCisJLyogV2UgaGF2ZW4ndCB0cmFuc2ZlcnJlZCBhbnkgZGF0YSB5ZXQgKi8KKwlwYy0+eGZlcnJlZCA9IDA7CisJcGMtPmN1cl9wb3MgPSBwYy0+YnVmOworCisJLyogUmVxdWVzdCB0byB0cmFuc2ZlciB0aGUgZW50aXJlIGJ1ZmZlciBhdCBvbmNlICovCisJaWYgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhZHJpdmUtPnNjc2kpCisJCWJjb3VudCA9IHBjLT5yZXFfeGZlcjsKKwllbHNlCisJCWJjb3VudCA9IG1pbihwYy0+cmVxX3hmZXIsIDYzICogMTAyNCk7CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpIHsKKwkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9FUlJPUjsKKwkJaWRlX2RtYV9vZmYoZHJpdmUpOworCX0KKworCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19ETUFfT0spICYmIGRyaXZlLT51c2luZ19kbWEpIHsKKwkJaWYgKGRyaXZlLT5zY3NpKQorCQkJaHdpZi0+c2dfbWFwcGVkID0gMTsKKwkJZG1hID0gIWh3aWYtPmRtYV9vcHMtPmRtYV9zZXR1cChkcml2ZSk7CisJCWlmIChkcml2ZS0+c2NzaSkKKwkJCWh3aWYtPnNnX21hcHBlZCA9IDA7CisJfQorCisJaWYgKCFkbWEpCisJCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfT0s7CisKKwlpZGVfcGt0Y21kX3RmX2xvYWQoZHJpdmUsIGRyaXZlLT5zY3NpID8gMCA6IElERV9URkxBR19PVVRfREVWSUNFLAorCQkJICAgYmNvdW50LCBkbWEpOworCisJLyogSXNzdWUgdGhlIHBhY2tldCBjb21tYW5kICovCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRFJRX0lOVEVSUlVQVCkgeworCQlpZGVfZXhlY3V0ZV9jb21tYW5kKGRyaXZlLCBXSU5fUEFDS0VUQ01ELCBoYW5kbGVyLAorCQkJCSAgICB0aW1lb3V0LCBOVUxMKTsKKwkJcmV0dXJuIGlkZV9zdGFydGVkOworCX0gZWxzZSB7CisJCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOworCQlyZXR1cm4gKCpoYW5kbGVyKShkcml2ZSk7CisJfQorfQorRVhQT1JUX1NZTUJPTF9HUEwoaWRlX2lzc3VlX3BjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1jZC5jIGIvZHJpdmVycy9pZGUvaWRlLWNkLmMKaW5kZXggNjhlN2YxOS4uZDk5ODQ3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWNkLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWNkLmMKQEAgLTE4OCwxNiArMTg4LDYgQEAKIAlpZGVfY2RfbG9nX2Vycm9yKGRyaXZlLT5uYW1lLCBmYWlsZWRfY29tbWFuZCwgc2Vuc2UpOwogfQogCi0vKiBJbml0aWFsaXplIGEgaWRlLWNkIHBhY2tldCBjb21tYW5kIHJlcXVlc3QgKi8KLXZvaWQgaWRlX2NkX2luaXRfcnEoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCi17Ci0Jc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCi0JaWRlX2luaXRfZHJpdmVfY21kKHJxKTsKLQlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfUEM7Ci0JcnEtPnJxX2Rpc2sgPSBjZC0+ZGlzazsKLX0KLQogc3RhdGljIHZvaWQgY2Ryb21fcXVldWVfcmVxdWVzdF9zZW5zZShpZGVfZHJpdmVfdCAqZHJpdmUsIHZvaWQgKnNlbnNlLAogCQkJCSAgICAgIHN0cnVjdCByZXF1ZXN0ICpmYWlsZWRfY29tbWFuZCkKIHsKQEAgLTIwOCw3ICsxOTgsOSBAQAogCQlzZW5zZSA9ICZpbmZvLT5zZW5zZV9kYXRhOwogCiAJLyogc3R1ZmYgdGhlIHNlbnNlIHJlcXVlc3QgaW4gZnJvbnQgb2Ygb3VyIGN1cnJlbnQgcmVxdWVzdCAqLwotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCBycSk7CisJYmxrX3JxX2luaXQoTlVMTCwgcnEpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9QQzsKKwlycS0+cnFfZGlzayA9IGluZm8tPmRpc2s7CiAKIAlycS0+ZGF0YSA9IHNlbnNlOwogCXJxLT5jbWRbMF0gPSBHUENNRF9SRVFVRVNUX1NFTlNFOwpAQCAtMjE2LDExICsyMDgsMTIgQEAKIAlycS0+ZGF0YV9sZW4gPSAxODsKIAogCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NFTlNFOworCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7CiAKIAkvKiBOT1RFISBTYXZlIHRoZSBmYWlsZWQgY29tbWFuZCBpbiAicnEtPmJ1ZmZlciIgKi8KIAlycS0+YnVmZmVyID0gKHZvaWQgKikgZmFpbGVkX2NvbW1hbmQ7CiAKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV9wcmVlbXB0KTsKKwlpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNkcm9tX2VuZF9yZXF1ZXN0KGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IHVwdG9kYXRlKQpAQCAtNTM3LDggKzUzMCw4IEBACiAJCWluZm8tPmRtYSA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOwogCiAJLyogc2V0IHVwIHRoZSBjb250cm9sbGVyIHJlZ2lzdGVycyAqLwotCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX09VVF9OU0VDVCB8IElERV9URkxBR19PVVRfTEJBTCB8Ci0JCQkgICBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0ssIHhmZXJsZW4sIGluZm8tPmRtYSk7CisJaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfT1VUX05TRUNUIHwgSURFX1RGTEFHX09VVF9MQkFMLAorCQkJICAgeGZlcmxlbiwgaW5mby0+ZG1hKTsKIAogCWlmIChpbmZvLT5jZF9mbGFncyAmIElERV9DRF9GTEFHX0RSUV9JTlRFUlJVUFQpIHsKIAkJLyogd2FpdGluZyBmb3IgQ0RCIGludGVycnVwdCwgbm90IERNQSB5ZXQuICovCkBAIC04MzgsMzQgKzgzMSw1NCBAQAogCQl9CiB9CiAKLWludCBpZGVfY2RfcXVldWVfcGMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCitpbnQgaWRlX2NkX3F1ZXVlX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqY21kLAorCQkgICAgaW50IHdyaXRlLCB2b2lkICpidWZmZXIsIHVuc2lnbmVkICpidWZmbGVuLAorCQkgICAgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKnNlbnNlLCBpbnQgdGltZW91dCwKKwkJICAgIHVuc2lnbmVkIGludCBjbWRfZmxhZ3MpCiB7Ci0Jc3RydWN0IHJlcXVlc3Rfc2Vuc2Ugc2Vuc2U7CisJc3RydWN0IGNkcm9tX2luZm8gKmluZm8gPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CisJc3RydWN0IHJlcXVlc3Rfc2Vuc2UgbG9jYWxfc2Vuc2U7CiAJaW50IHJldHJpZXMgPSAxMDsKLQl1bnNpZ25lZCBpbnQgZmxhZ3MgPSBycS0+Y21kX2ZsYWdzOworCXVuc2lnbmVkIGludCBmbGFncyA9IDA7CiAKLQlpZiAocnEtPnNlbnNlID09IE5VTEwpCi0JCXJxLT5zZW5zZSA9ICZzZW5zZTsKKwlpZiAoIXNlbnNlKQorCQlzZW5zZSA9ICZsb2NhbF9zZW5zZTsKIAogCS8qIHN0YXJ0IG9mIHJldHJ5IGxvb3AgKi8KIAlkbyB7CisJCXN0cnVjdCByZXF1ZXN0ICpycTsKIAkJaW50IGVycm9yOwotCQl1bnNpZ25lZCBsb25nIHRpbWUgPSBqaWZmaWVzOwotCQlycS0+Y21kX2ZsYWdzID0gZmxhZ3M7CiAKLQkJZXJyb3IgPSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSwgaWRlX3dhaXQpOwotCQl0aW1lID0gamlmZmllcyAtIHRpbWU7CisJCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgd3JpdGUsIF9fR0ZQX1dBSVQpOworCisJCW1lbWNweShycS0+Y21kLCBjbWQsIEJMS19NQVhfQ0RCKTsKKwkJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1BDOworCQlycS0+c2Vuc2UgPSBzZW5zZTsKKwkJcnEtPmNtZF9mbGFncyB8PSBjbWRfZmxhZ3M7CisJCXJxLT50aW1lb3V0ID0gdGltZW91dDsKKwkJaWYgKGJ1ZmZlcikgeworCQkJcnEtPmRhdGEgPSBidWZmZXI7CisJCQlycS0+ZGF0YV9sZW4gPSAqYnVmZmxlbjsKKwkJfQorCisJCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBpbmZvLT5kaXNrLCBycSwgMCk7CisKKwkJaWYgKGJ1ZmZlcikKKwkJCSpidWZmbGVuID0gcnEtPmRhdGFfbGVuOworCisJCWZsYWdzID0gcnEtPmNtZF9mbGFnczsKKwkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAogCQkvKgogCQkgKiBGSVhNRTogd2Ugc2hvdWxkIHByb2JhYmx5IGFib3J0L3JldHJ5IG9yIHNvbWV0aGluZyBpbiBjYXNlIG9mCiAJCSAqIGZhaWx1cmUuCiAJCSAqLwotCQlpZiAocnEtPmNtZF9mbGFncyAmIFJFUV9GQUlMRUQpIHsKKwkJaWYgKGZsYWdzICYgUkVRX0ZBSUxFRCkgewogCQkJLyoKIAkJCSAqIFRoZSByZXF1ZXN0IGZhaWxlZC4gIFJldHJ5IGlmIGl0IHdhcyBkdWUgdG8gYSB1bml0CiAJCQkgKiBhdHRlbnRpb24gc3RhdHVzICh1c3VhbGx5IG1lYW5zIG1lZGlhIHdhcyBjaGFuZ2VkKS4KIAkJCSAqLwotCQkJc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKnJlcWJ1ZiA9IHJxLT5zZW5zZTsKKwkJCXN0cnVjdCByZXF1ZXN0X3NlbnNlICpyZXFidWYgPSBzZW5zZTsKIAogCQkJaWYgKHJlcWJ1Zi0+c2Vuc2Vfa2V5ID09IFVOSVRfQVRURU5USU9OKQogCQkJCWNkcm9tX3Nhd19tZWRpYV9jaGFuZ2UoZHJpdmUpOwpAQCAtODg1LDEwICs4OTgsMTAgQEAKIAkJfQogCiAJCS8qIGVuZCBvZiByZXRyeSBsb29wICovCi0JfSB3aGlsZSAoKHJxLT5jbWRfZmxhZ3MgJiBSRVFfRkFJTEVEKSAmJiByZXRyaWVzID49IDApOworCX0gd2hpbGUgKChmbGFncyAmIFJFUV9GQUlMRUQpICYmIHJldHJpZXMgPj0gMCk7CiAKIAkvKiByZXR1cm4gYW4gZXJyb3IgaWYgdGhlIGNvbW1hbmQgZmFpbGVkICovCi0JcmV0dXJuIChycS0+Y21kX2ZsYWdzICYgUkVRX0ZBSUxFRCkgPyAtRUlPIDogMDsKKwlyZXR1cm4gKGZsYWdzICYgUkVRX0ZBSUxFRCkgPyAtRUlPIDogMDsKIH0KIAogLyoKQEAgLTEyNjgsMjMgKzEyODEsMjAgQEAKIAogaW50IGNkcm9tX2NoZWNrX3N0YXR1cyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0X3NlbnNlICpzZW5zZSkKIHsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CiAJc3RydWN0IGNkcm9tX2luZm8gKmluZm8gPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkgPSAmaW5mby0+ZGV2aW5mbzsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7Ci0KLQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQlyZXEuY21kWzBdID0gR1BDTURfVEVTVF9VTklUX1JFQURZOwotCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1FVSUVUOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKKwljbWRbMF0gPSBHUENNRF9URVNUX1VOSVRfUkVBRFk7CiAKIAkvKgogCSAqIFNhbnlvIDMgQ0QgY2hhbmdlciB1c2VzIGJ5dGUgNyBvZiBURVNUX1VOSVRfUkVBRFkgdG8gc3dpdGNoIENEcwogCSAqIGluc3RlYWQgb2Ygc3VwcG9ydGluZyB0aGUgTE9BRF9VTkxPQUQgb3Bjb2RlLgogCSAqLwotCXJlcS5jbWRbN10gPSBjZGktPnNhbnlvX3Nsb3QgJSAzOworCWNtZFs3XSA9IGNkaS0+c2FueW9fc2xvdCAlIDM7CiAKLQlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsIHNlbnNlLCAwLCBSRVFfUVVJRVQpOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX3JlYWRfY2FwYWNpdHkoaWRlX2RyaXZlX3QgKmRyaXZlLCB1bnNpZ25lZCBsb25nICpjYXBhY2l0eSwKQEAgLTEyOTcsMTcgKzEzMDcsMTQgQEAKIAl9IGNhcGJ1ZjsKIAogCWludCBzdGF0OwotCXN0cnVjdCByZXF1ZXN0IHJlcTsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CisJdW5zaWduZWQgbGVuID0gc2l6ZW9mKGNhcGJ1Zik7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOworCWNtZFswXSA9IEdQQ01EX1JFQURfQ0RWRF9DQVBBQ0lUWTsKIAotCXJlcS5zZW5zZSA9IHNlbnNlOwotCXJlcS5jbWRbMF0gPSBHUENNRF9SRUFEX0NEVkRfQ0FQQUNJVFk7Ci0JcmVxLmRhdGEgPSAoY2hhciAqKSZjYXBidWY7Ci0JcmVxLmRhdGFfbGVuID0gc2l6ZW9mKGNhcGJ1Zik7Ci0JcmVxLmNtZF9mbGFncyB8PSBSRVFfUVVJRVQ7Ci0KLQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsICZjYXBidWYsICZsZW4sIHNlbnNlLCAwLAorCQkJICAgICAgIFJFUV9RVUlFVCk7CiAJaWYgKHN0YXQgPT0gMCkgewogCQkqY2FwYWNpdHkgPSAxICsgYmUzMl90b19jcHUoY2FwYnVmLmxiYSk7CiAJCSpzZWN0b3JzX3Blcl9mcmFtZSA9CkBAIC0xMzIxLDI0ICsxMzI4LDIwIEBACiAJCQkJaW50IGZvcm1hdCwgY2hhciAqYnVmLCBpbnQgYnVmbGVuLAogCQkJCXN0cnVjdCByZXF1ZXN0X3NlbnNlICpzZW5zZSkKIHsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKIAotCXJlcS5zZW5zZSA9IHNlbnNlOwotCXJlcS5kYXRhID0gIGJ1ZjsKLQlyZXEuZGF0YV9sZW4gPSBidWZsZW47Ci0JcmVxLmNtZF9mbGFncyB8PSBSRVFfUVVJRVQ7Ci0JcmVxLmNtZFswXSA9IEdQQ01EX1JFQURfVE9DX1BNQV9BVElQOwotCXJlcS5jbWRbNl0gPSB0cmFja25vOwotCXJlcS5jbWRbN10gPSAoYnVmbGVuID4+IDgpOwotCXJlcS5jbWRbOF0gPSAoYnVmbGVuICYgMHhmZik7Ci0JcmVxLmNtZFs5XSA9IChmb3JtYXQgPDwgNik7CisJY21kWzBdID0gR1BDTURfUkVBRF9UT0NfUE1BX0FUSVA7CisJY21kWzZdID0gdHJhY2tubzsKKwljbWRbN10gPSAoYnVmbGVuID4+IDgpOworCWNtZFs4XSA9IChidWZsZW4gJiAweGZmKTsKKwljbWRbOV0gPSAoZm9ybWF0IDw8IDYpOwogCiAJaWYgKG1zZl9mbGFnKQotCQlyZXEuY21kWzFdID0gMjsKKwkJY21kWzFdID0gMjsKIAotCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZyZXEpOworCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgYnVmLCAmYnVmbGVuLCBzZW5zZSwgMCwgUkVRX1FVSUVUKTsKIH0KIAogLyogVHJ5IHRvIHJlYWQgdGhlIGVudGlyZSBUT0MgZm9yIHRoZSBkaXNrIGludG8gb3VyIGludGVybmFsIGJ1ZmZlci4gKi8KQEAgLTIxMDMsMTEgKzIxMDYsNiBAQAogCQkJZ290byBmYWlsZWQ7CiAJCX0KIAl9Ci0JaWYgKGRyaXZlLT5zY3NpKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gImlkZS1jZDogcGFzc2luZyBkcml2ZSAlcyB0byBpZGUtc2NzaSAiCi0JCQkJICJlbXVsYXRpb24uXG4iLCBkcml2ZS0+bmFtZSk7Ci0JCWdvdG8gZmFpbGVkOwotCX0KIAlpbmZvID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGNkcm9tX2luZm8pLCBHRlBfS0VSTkVMKTsKIAlpZiAoaW5mbyA9PSBOVUxMKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiJXM6IENhbid0IGFsbG9jYXRlIGEgY2Ryb20gc3RydWN0dXJlXG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWNkLmggYi9kcml2ZXJzL2lkZS9pZGUtY2QuaAppbmRleCBhNTg4MDFjLi5mZTBlYTM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtY2QuaAorKysgYi9kcml2ZXJzL2lkZS9pZGUtY2QuaApAQCAtMTQzLDggKzE0Myw4IEBACiB2b2lkIGlkZV9jZF9sb2dfZXJyb3IoY29uc3QgY2hhciAqLCBzdHJ1Y3QgcmVxdWVzdCAqLCBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqKTsKIAogLyogaWRlLWNkLmMgZnVuY3Rpb25zIHVzZWQgYnkgaWRlLWNkX2lvY3RsLmMgKi8KLXZvaWQgaWRlX2NkX2luaXRfcnEoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3QgKik7Ci1pbnQgaWRlX2NkX3F1ZXVlX3BjKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICopOworaW50IGlkZV9jZF9xdWV1ZV9wYyhpZGVfZHJpdmVfdCAqLCBjb25zdCB1bnNpZ25lZCBjaGFyICosIGludCwgdm9pZCAqLAorCQkgICAgdW5zaWduZWQgKiwgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKiwgaW50LCB1bnNpZ25lZCBpbnQpOwogaW50IGlkZV9jZF9yZWFkX3RvYyhpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqKTsKIGludCBpZGVfY2Ryb21fZ2V0X2NhcGFiaWxpdGllcyhpZGVfZHJpdmVfdCAqLCB1OCAqKTsKIHZvaWQgaWRlX2Nkcm9tX3VwZGF0ZV9zcGVlZChpZGVfZHJpdmVfdCAqLCB1OCAqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1jZF9pb2N0bC5jIGIvZHJpdmVycy9pZGUvaWRlLWNkX2lvY3RsLmMKaW5kZXggNmQxNDdjZS4uMjRkMDAyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWNkX2lvY3RsLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWNkX2lvY3RsLmMKQEAgLTEwNCw4ICsxMDQsOCBAQAogewogCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSA9ICZjZC0+ZGV2aW5mbzsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CiAJY2hhciBsb2VqID0gMHgwMjsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CiAKIAlpZiAoKGNkLT5jZF9mbGFncyAmIElERV9DRF9GTEFHX05PX0VKRUNUKSAmJiAhZWplY3RmbGFnKQogCQlyZXR1cm4gLUVEUklWRV9DQU5UX0RPX1RISVM7CkBAIC0xMTQsMTcgKzExNCwxNiBAQAogCWlmICgoY2QtPmNkX2ZsYWdzICYgSURFX0NEX0ZMQUdfRE9PUl9MT0NLRUQpICYmIGVqZWN0ZmxhZykKIAkJcmV0dXJuIDA7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7Ci0KIAkvKiBvbmx5IHRlbGwgZHJpdmUgdG8gY2xvc2UgdHJheSBpZiBvcGVuLCBpZiBpdCBjYW4gZG8gdGhhdCAqLwogCWlmIChlamVjdGZsYWcgJiYgKGNkaS0+bWFzayAmIENEQ19DTE9TRV9UUkFZKSkKIAkJbG9laiA9IDA7CiAKLQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQlyZXEuY21kWzBdID0gR1BDTURfU1RBUlRfU1RPUF9VTklUOwotCXJlcS5jbWRbNF0gPSBsb2VqIHwgKGVqZWN0ZmxhZyAhPSAwKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CiAKLQlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwljbWRbMF0gPSBHUENNRF9TVEFSVF9TVE9QX1VOSVQ7CisJY21kWzRdID0gbG9laiB8IChlamVjdGZsYWcgIT0gMCk7CisKKwlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsIHNlbnNlLCAwLCAwKTsKIH0KIAogLyogTG9jayB0aGUgZG9vciBpZiBMT0NLRkxBRyBpcyBub256ZXJvOyB1bmxvY2sgaXQgb3RoZXJ3aXNlLiAqLwpAQCAtMTM0LDcgKzEzMyw2IEBACiB7CiAJc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCByZXF1ZXN0X3NlbnNlIG15X3NlbnNlOwotCXN0cnVjdCByZXF1ZXN0IHJlcTsKIAlpbnQgc3RhdDsKIAogCWlmIChzZW5zZSA9PSBOVUxMKQpAQCAtMTQ0LDExICsxNDIsMTUgQEAKIAlpZiAoY2QtPmNkX2ZsYWdzICYgSURFX0NEX0ZMQUdfTk9fRE9PUkxPQ0spIHsKIAkJc3RhdCA9IDA7CiAJfSBlbHNlIHsKLQkJaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwotCQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQkJcmVxLmNtZFswXSA9IEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUw7Ci0JCXJlcS5jbWRbNF0gPSBsb2NrZmxhZyA/IDEgOiAwOwotCQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwkJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOworCisJCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKKworCQljbWRbMF0gPSBHUENNRF9QUkVWRU5UX0FMTE9XX01FRElVTV9SRU1PVkFMOworCQljbWRbNF0gPSBsb2NrZmxhZyA/IDEgOiAwOworCisJCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgTlVMTCwgMCwKKwkJCQkgICAgICAgc2Vuc2UsIDAsIDApOwogCX0KIAogCS8qIElmIHdlIGdvdCBhbiBpbGxlZ2FsIGZpZWxkIGVycm9yLCB0aGUgZHJpdmUKQEAgLTIwNiwzMiArMjA4LDMwIEBACiB7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gY2RpLT5oYW5kbGU7CiAJc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCByZXF1ZXN0IHJxOwogCXN0cnVjdCByZXF1ZXN0X3NlbnNlIHNlbnNlOwogCXU4IGJ1ZltBVEFQSV9DQVBBQklMSVRJRVNfUEFHRV9TSVpFXTsKIAlpbnQgc3RhdDsKLQotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcnEpOwotCi0JcnEuc2Vuc2UgPSAmc2Vuc2U7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCiAJaWYgKHNwZWVkID09IDApCiAJCXNwZWVkID0gMHhmZmZmOyAvKiBzZXQgdG8gbWF4ICovCiAJZWxzZQogCQlzcGVlZCAqPSAxNzc7ICAgLyogTnggdG8ga2J5dGVzL3MgKi8KIAotCXJxLmNtZFswXSA9IEdQQ01EX1NFVF9TUEVFRDsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CisKKwljbWRbMF0gPSBHUENNRF9TRVRfU1BFRUQ7CiAJLyogUmVhZCBEcml2ZSBzcGVlZCBpbiBrYnl0ZXMvc2Vjb25kIE1TQi9MU0IgKi8KLQlycS5jbWRbMl0gPSAoc3BlZWQgPj4gOCkgJiAweGZmOwotCXJxLmNtZFszXSA9IHNwZWVkICYgMHhmZjsKKwljbWRbMl0gPSAoc3BlZWQgPj4gOCkgJiAweGZmOworCWNtZFszXSA9IHNwZWVkICYgMHhmZjsKIAlpZiAoKGNkaS0+bWFzayAmIChDRENfQ0RfUiB8IENEQ19DRF9SVyB8IENEQ19EVkRfUikpICE9CiAJICAgIChDRENfQ0RfUiB8IENEQ19DRF9SVyB8IENEQ19EVkRfUikpIHsKIAkJLyogV3JpdGUgRHJpdmUgc3BlZWQgaW4ga2J5dGVzL3NlY29uZCBNU0IvTFNCICovCi0JCXJxLmNtZFs0XSA9IChzcGVlZCA+PiA4KSAmIDB4ZmY7Ci0JCXJxLmNtZFs1XSA9IHNwZWVkICYgMHhmZjsKKwkJY21kWzRdID0gKHNwZWVkID4+IDgpICYgMHhmZjsKKwkJY21kWzVdID0gc3BlZWQgJiAweGZmOwogCX0KIAotCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZycSk7CisJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLCAmc2Vuc2UsIDAsIDApOwogCiAJaWYgKCFpZGVfY2Ryb21fZ2V0X2NhcGFiaWxpdGllcyhkcml2ZSwgYnVmKSkgewogCQlpZGVfY2Ryb21fdXBkYXRlX3NwZWVkKGRyaXZlLCBidWYpOwpAQCAtMjY4LDIxICsyNjgsMTkgQEAKIHsKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBjZGktPmhhbmRsZTsKIAlpbnQgc3RhdCwgbWNubGVuOwotCXN0cnVjdCByZXF1ZXN0IHJxOwogCWNoYXIgYnVmWzI0XTsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CisJdW5zaWduZWQgbGVuID0gc2l6ZW9mKGJ1Zik7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJxKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CiAKLQlycS5kYXRhID0gYnVmOwotCXJxLmRhdGFfbGVuID0gc2l6ZW9mKGJ1Zik7CisJY21kWzBdID0gR1BDTURfUkVBRF9TVUJDSEFOTkVMOworCWNtZFsxXSA9IDI7CQkvKiBNU0YgYWRkcmVzc2luZyAqLworCWNtZFsyXSA9IDB4NDA7CS8qIHJlcXVlc3Qgc3ViUSBkYXRhICovCisJY21kWzNdID0gMjsJCS8qIGZvcm1hdCAqLworCWNtZFs4XSA9IGxlbjsKIAotCXJxLmNtZFswXSA9IEdQQ01EX1JFQURfU1VCQ0hBTk5FTDsKLQlycS5jbWRbMV0gPSAyOwkJLyogTVNGIGFkZHJlc3NpbmcgKi8KLQlycS5jbWRbMl0gPSAweDQwOwkvKiByZXF1ZXN0IHN1YlEgZGF0YSAqLwotCXJxLmNtZFszXSA9IDI7CQkvKiBmb3JtYXQgKi8KLQlycS5jbWRbOF0gPSBzaXplb2YoYnVmKTsKLQotCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZycSk7CisJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBidWYsICZsZW4sIE5VTEwsIDAsIDApOwogCWlmIChzdGF0KQogCQlyZXR1cm4gc3RhdDsKIApAQCAtMjk4LDE0ICsyOTYsMTQgQEAKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBjZGktPmhhbmRsZTsKIAlzdHJ1Y3QgY2Ryb21faW5mbyAqY2QgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IHJlcXVlc3Rfc2Vuc2Ugc2Vuc2U7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlpbnQgcmV0OwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwotCXJlcS5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7Ci0JcmVxLmNtZF9mbGFncyA9IFJFUV9RVUlFVDsKLQlyZXQgPSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcmVxLCBpZGVfd2FpdCk7Ci0KKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPmNtZF9mbGFncyA9IFJFUV9RVUlFVDsKKwlyZXQgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIGNkLT5kaXNrLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAkvKgogCSAqIEEgcmVzZXQgd2lsbCB1bmxvY2sgdGhlIGRvb3IuIElmIGl0IHdhcyBwcmV2aW91c2x5IGxvY2tlZCwKIAkgKiBsb2NrIGl0IGFnYWluLgpAQCAtMzUxLDggKzM0OSw4IEBACiAJc3RydWN0IGF0YXBpX3RvY19lbnRyeSAqZmlyc3RfdG9jLCAqbGFzdF90b2M7CiAJdW5zaWduZWQgbG9uZyBsYmFfc3RhcnQsIGxiYV9lbmQ7CiAJaW50IHN0YXQ7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CiAJc3RydWN0IHJlcXVlc3Rfc2Vuc2Ugc2Vuc2U7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCiAJc3RhdCA9IGlkZV9jZF9nZXRfdG9jX2VudHJ5KGRyaXZlLCB0aS0+Y2R0aV90cmswLCAmZmlyc3RfdG9jKTsKIAlpZiAoc3RhdCkKQEAgLTM3MCwxNCArMzY4LDEzIEBACiAJaWYgKGxiYV9lbmQgPD0gbGJhX3N0YXJ0KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcnEpOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKIAotCXJxLnNlbnNlID0gJnNlbnNlOwotCXJxLmNtZFswXSA9IEdQQ01EX1BMQVlfQVVESU9fTVNGOwotCWxiYV90b19tc2YobGJhX3N0YXJ0LCAgICZycS5jbWRbM10sICZycS5jbWRbNF0sICZycS5jbWRbNV0pOwotCWxiYV90b19tc2YobGJhX2VuZCAtIDEsICZycS5jbWRbNl0sICZycS5jbWRbN10sICZycS5jbWRbOF0pOworCWNtZFswXSA9IEdQQ01EX1BMQVlfQVVESU9fTVNGOworCWxiYV90b19tc2YobGJhX3N0YXJ0LCAgICZjbWRbM10sICZjbWRbNF0sICZjbWRbNV0pOworCWxiYV90b19tc2YobGJhX2VuZCAtIDEsICZjbWRbNl0sICZjbWRbN10sICZjbWRbOF0pOwogCi0JcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJxKTsKKwlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsICZzZW5zZSwgMCwgMCk7CiB9CiAKIHN0YXRpYyBpbnQgaWRlX2NkX3JlYWRfdG9jaGRyKGlkZV9kcml2ZV90ICpkcml2ZSwgdm9pZCAqYXJnKQpAQCAtNDQ3LDggKzQ0NCw5IEBACiBpbnQgaWRlX2Nkcm9tX3BhY2tldChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwKIAkJCSAgICBzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgKmNnYykKIHsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gY2RpLT5oYW5kbGU7CisJdW5zaWduZWQgaW50IGZsYWdzID0gMDsKKwl1bnNpZ25lZCBsZW4gPSBjZ2MtPmJ1ZmxlbjsKIAogCWlmIChjZ2MtPnRpbWVvdXQgPD0gMCkKIAkJY2djLT50aW1lb3V0ID0gQVRBUElfV0FJVF9QQzsKQEAgLTQ1NiwyNCArNDU0LDIxIEBACiAJLyogaGVyZSB3ZSBxdWV1ZSB0aGUgY29tbWFuZHMgZnJvbSB0aGUgdW5pZm9ybSBDRC1ST00KIAkgICBsYXllci4gdGhlIHBhY2tldCBtdXN0IGJlIGNvbXBsZXRlLCBhcyB3ZSBkbyBub3QKIAkgICB0b3VjaCBpdCBhdCBhbGwuICovCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwogCiAJaWYgKGNnYy0+ZGF0YV9kaXJlY3Rpb24gPT0gQ0dDX0RBVEFfV1JJVEUpCi0JCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1JXOworCQlmbGFncyB8PSBSRVFfUlc7CiAKLQltZW1jcHkocmVxLmNtZCwgY2djLT5jbWQsIENEUk9NX1BBQ0tFVF9TSVpFKTsKIAlpZiAoY2djLT5zZW5zZSkKIAkJbWVtc2V0KGNnYy0+c2Vuc2UsIDAsIHNpemVvZihzdHJ1Y3QgcmVxdWVzdF9zZW5zZSkpOwotCXJlcS5kYXRhID0gY2djLT5idWZmZXI7Ci0JcmVxLmRhdGFfbGVuID0gY2djLT5idWZsZW47Ci0JcmVxLnRpbWVvdXQgPSBjZ2MtPnRpbWVvdXQ7CiAKIAlpZiAoY2djLT5xdWlldCkKLQkJcmVxLmNtZF9mbGFncyB8PSBSRVFfUVVJRVQ7CisJCWZsYWdzIHw9IFJFUV9RVUlFVDsKIAotCXJlcS5zZW5zZSA9IGNnYy0+c2Vuc2U7Ci0JY2djLT5zdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwljZ2MtPnN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNnYy0+Y21kLAorCQkJCSAgICBjZ2MtPmRhdGFfZGlyZWN0aW9uID09IENHQ19EQVRBX1dSSVRFLAorCQkJCSAgICBjZ2MtPmJ1ZmZlciwgJmxlbiwKKwkJCQkgICAgY2djLT5zZW5zZSwgY2djLT50aW1lb3V0LCBmbGFncyk7CiAJaWYgKCFjZ2MtPnN0YXQpCi0JCWNnYy0+YnVmbGVuIC09IHJlcS5kYXRhX2xlbjsKKwkJY2djLT5idWZsZW4gLT0gbGVuOwogCXJldHVybiBjZ2MtPnN0YXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtZGlzay5jIGIvZHJpdmVycy9pZGUvaWRlLWRpc2suYwppbmRleCA4ZTA4ZDA4Li41ZjQ5YTRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtZGlzay5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1kaXNrLmMKQEAgLTE5OCw4ICsxOTgsNyBAQAogCX0KIAogCW1lbXNldCgmdGFzaywgMCwgc2l6ZW9mKHRhc2spKTsKLQl0YXNrLnRmX2ZsYWdzID0gSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLOyAgLyogRklYTUU/ICovCi0JdGFzay50Zl9mbGFncyB8PSAoSURFX1RGTEFHX1RGIHwgSURFX1RGTEFHX0RFVklDRSk7CisJdGFzay50Zl9mbGFncyA9IElERV9URkxBR19URiB8IElERV9URkxBR19ERVZJQ0U7CiAKIAlpZiAoZHJpdmUtPnNlbGVjdC5iLmxiYSkgewogCQlpZiAobGJhNDgpIHsKQEAgLTYxNyw3ICs2MTYsOCBAQAogICovCiBzdGF0aWMgaW50IHNldF9tdWx0Y291bnQoaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgYXJnKQogewotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgZXJyb3I7CiAKIAlpZiAoYXJnIDwgMCB8fCBhcmcgPiBkcml2ZS0+aWQtPm1heF9tdWx0c2VjdCkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC02MjUsMTIgKzYyNSwxMyBAQAogCWlmIChkcml2ZS0+c3BlY2lhbC5iLnNldF9tdWx0bW9kZSkKIAkJcmV0dXJuIC1FQlVTWTsKIAotCWlkZV9pbml0X2RyaXZlX2NtZCgmcnEpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOwogCiAJZHJpdmUtPm11bHRfcmVxID0gYXJnOwogCWRyaXZlLT5zcGVjaWFsLmIuc2V0X211bHRtb2RlID0gMTsKLQkodm9pZClpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAKIAlyZXR1cm4gKGRyaXZlLT5tdWx0X2NvdW50ID09IGFyZykgPyAwIDogLUVJTzsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1kbWEuYyBiL2RyaXZlcnMvaWRlL2lkZS1kbWEuYwppbmRleCA2NTNiMWFkLi43ZWU0NGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtZG1hLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWRtYS5jCkBAIC00NjMsNyArNDYzLDcgQEAKIAl9CiAKIAkvKiBQUkQgdGFibGUgKi8KLQlpZiAoaHdpZi0+bW1pbykKKwlpZiAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQl3cml0ZWwoaHdpZi0+ZG1hdGFibGVfZG1hLAogCQkgICAgICAgKHZvaWQgX19pb21lbSAqKShod2lmLT5kbWFfYmFzZSArIEFUQV9ETUFfVEFCTEVfT0ZTKSk7CiAJZWxzZQpAQCAtNjkyLDcgKzY5Miw3IEBACiAJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCXU4IHNwZWVkOwogCi0JaWYgKG5vYXV0b2RtYSB8fCBkcml2ZS0+bm9kbWEgfHwgKGRyaXZlLT5pZC0+Y2FwYWJpbGl0eSAmIDEpID09IDApCisJaWYgKGRyaXZlLT5ub2RtYSB8fCAoZHJpdmUtPmlkLT5jYXBhYmlsaXR5ICYgMSkgPT0gMCkKIAkJcmV0dXJuIDA7CiAKIAkvKiBjb25zdWx0IHRoZSBsaXN0IG9mIGtub3duICJiYWQiIGRyaXZlcyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWZsb3BweS5jIGIvZHJpdmVycy9pZGUvaWRlLWZsb3BweS5jCmluZGV4IGYwNWZiYzIuLmIzNjg5NDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1mbG9wcHkuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtZmxvcHB5LmMKQEAgLTI4NiwxMSArMjg2LDEyIEBACiB7CiAJc3RydWN0IGlkZV9mbG9wcHlfb2JqICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAKLQlpZGVfaW5pdF9kcml2ZV9jbWQocnEpOworCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKIAlycS0+YnVmZmVyID0gKGNoYXIgKikgcGM7CiAJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwogCXJxLT5ycV9kaXNrID0gZmxvcHB5LT5kaXNrOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSwgaWRlX3ByZWVtcHQpOworCWlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpZGVfYXRhcGlfcGMgKmlkZWZsb3BweV9uZXh0X3BjX3N0b3JhZ2UoaWRlX2RyaXZlX3QgKmRyaXZlKQpAQCAtMzExLDUwICszMTIsNDEgQEAKIAlyZXR1cm4gKCZmbG9wcHktPnJxX3N0YWNrW2Zsb3BweS0+cnFfc3RhY2tfaW5kZXgrK10pOwogfQogCi1zdGF0aWMgdm9pZCBpZGVmbG9wcHlfcmVxdWVzdF9zZW5zZV9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCitzdGF0aWMgdm9pZCBpZGVfZmxvcHB5X2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQl1OCAqYnVmID0gZmxvcHB5LT5wYy0+YnVmOworCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gZmxvcHB5LT5wYzsKKwlpbnQgdXB0b2RhdGUgPSBwYy0+ZXJyb3IgPyAwIDogMTsKIAogCWRlYnVnX2xvZygiUmVhY2hlZCAlc1xuIiwgX19mdW5jX18pOwogCi0JaWYgKCFmbG9wcHktPnBjLT5lcnJvcikgewotCQlmbG9wcHktPnNlbnNlX2tleSA9IGJ1ZlsyXSAmIDB4MEY7Ci0JCWZsb3BweS0+YXNjID0gYnVmWzEyXTsKLQkJZmxvcHB5LT5hc2NxID0gYnVmWzEzXTsKLQkJZmxvcHB5LT5wcm9ncmVzc19pbmRpY2F0aW9uID0gYnVmWzE1XSAmIDB4ODAgPwotCQkJKHUxNilnZXRfdW5hbGlnbmVkKCh1MTYgKikmYnVmWzE2XSkgOiAweDEwMDAwOworCWlmIChmbG9wcHktPmZhaWxlZF9wYyA9PSBwYykKKwkJZmxvcHB5LT5mYWlsZWRfcGMgPSBOVUxMOwogCi0JCWlmIChmbG9wcHktPmZhaWxlZF9wYykKLQkJCWRlYnVnX2xvZygicGMgPSAleCwgc2Vuc2Uga2V5ID0gJXgsIGFzYyA9ICV4LCIKLQkJCQkJIiBhc2NxID0gJXhcbiIsCi0JCQkJCWZsb3BweS0+ZmFpbGVkX3BjLT5jWzBdLAotCQkJCQlmbG9wcHktPnNlbnNlX2tleSwKLQkJCQkJZmxvcHB5LT5hc2MsCi0JCQkJCWZsb3BweS0+YXNjcSk7Ci0JCWVsc2UKKwlpZiAocGMtPmNbMF0gPT0gR1BDTURfUkVBRF8xMCB8fCBwYy0+Y1swXSA9PSBHUENNRF9XUklURV8xMCB8fAorCSAgICAocGMtPnJxICYmIGJsa19wY19yZXF1ZXN0KHBjLT5ycSkpKQorCQl1cHRvZGF0ZSA9IDE7IC8qIEZJWE1FICovCisJZWxzZSBpZiAocGMtPmNbMF0gPT0gR1BDTURfUkVRVUVTVF9TRU5TRSkgeworCQl1OCAqYnVmID0gZmxvcHB5LT5wYy0+YnVmOworCisJCWlmICghcGMtPmVycm9yKSB7CisJCQlmbG9wcHktPnNlbnNlX2tleSA9IGJ1ZlsyXSAmIDB4MEY7CisJCQlmbG9wcHktPmFzYyA9IGJ1ZlsxMl07CisJCQlmbG9wcHktPmFzY3EgPSBidWZbMTNdOworCQkJZmxvcHB5LT5wcm9ncmVzc19pbmRpY2F0aW9uID0gYnVmWzE1XSAmIDB4ODAgPworCQkJCSh1MTYpZ2V0X3VuYWxpZ25lZCgodTE2ICopJmJ1ZlsxNl0pIDogMHgxMDAwMDsKKworCQkJaWYgKGZsb3BweS0+ZmFpbGVkX3BjKQorCQkJCWRlYnVnX2xvZygicGMgPSAleCwgIiwgZmxvcHB5LT5mYWlsZWRfcGMtPmNbMF0pOworCiAJCQlkZWJ1Z19sb2coInNlbnNlIGtleSA9ICV4LCBhc2MgPSAleCwgYXNjcSA9ICV4XG4iLAotCQkJCQlmbG9wcHktPnNlbnNlX2tleSwKLQkJCQkJZmxvcHB5LT5hc2MsCi0JCQkJCWZsb3BweS0+YXNjcSk7Ci0KLQotCQlpZGVmbG9wcHlfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCX0gZWxzZSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRXJyb3IgaW4gUkVRVUVTVCBTRU5TRSBpdHNlbGYgLSBBYm9ydGluZyIKLQkJCQkiIHJlcXVlc3QhXG4iKTsKLQkJaWRlZmxvcHB5X2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKKwkJCQkgIGZsb3BweS0+c2Vuc2Vfa2V5LCBmbG9wcHktPmFzYywgZmxvcHB5LT5hc2NxKTsKKwkJfSBlbHNlCisJCQlwcmludGsoS0VSTl9FUlIgIkVycm9yIGluIFJFUVVFU1QgU0VOU0UgaXRzZWxmIC0gIgorCQkJCQkiQWJvcnRpbmcgcmVxdWVzdCFcbiIpOwogCX0KLX0KIAotLyogR2VuZXJhbCBwYWNrZXQgY29tbWFuZCBjYWxsYmFjayBmdW5jdGlvbi4gKi8KLXN0YXRpYyB2b2lkIGlkZWZsb3BweV9wY19jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0KLQlkZWJ1Z19sb2coIlJlYWNoZWQgJXNcbiIsIF9fZnVuY19fKTsKLQotCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgZmxvcHB5LT5wYy0+ZXJyb3IgPyAwIDogMSwgMCk7CisJaWRlZmxvcHB5X2VuZF9yZXF1ZXN0KGRyaXZlLCB1cHRvZGF0ZSwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZWZsb3BweV9pbml0X3BjKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtMzY1LDcgKzM1Nyw3IEBACiAJcGMtPnJlcV94ZmVyID0gMDsKIAlwYy0+YnVmID0gcGMtPnBjX2J1ZjsKIAlwYy0+YnVmX3NpemUgPSBJREVGTE9QUFlfUENfQlVGRkVSX1NJWkU7Ci0JcGMtPmlkZWZsb3BweV9jYWxsYmFjayA9ICZpZGVmbG9wcHlfcGNfY2FsbGJhY2s7CisJcGMtPmNhbGxiYWNrID0gaWRlX2Zsb3BweV9jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRlZmxvcHB5X2NyZWF0ZV9yZXF1ZXN0X3NlbnNlX2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTM3NCw3ICszNjYsNiBAQAogCXBjLT5jWzBdID0gR1BDTURfUkVRVUVTVF9TRU5TRTsKIAlwYy0+Y1s0XSA9IDI1NTsKIAlwYy0+cmVxX3hmZXIgPSAxODsKLQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrID0gJmlkZWZsb3BweV9yZXF1ZXN0X3NlbnNlX2NhbGxiYWNrOwogfQogCiAvKgpAQCAtMzk3LDE3NCArMzg4LDE5IEBACiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZWZsb3BweV9wY19pbnRyKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0Jc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBmbG9wcHktPnBjOwotCXN0cnVjdCByZXF1ZXN0ICpycSA9IHBjLT5ycTsKLQl4ZmVyX2Z1bmNfdCAqeGZlcmZ1bmM7Ci0JdW5zaWduZWQgaW50IHRlbXA7Ci0JaW50IGRtYV9lcnJvciA9IDA7Ci0JdTE2IGJjb3VudDsKLQl1OCBzdGF0LCBpcmVhc29uOwogCi0JZGVidWdfbG9nKCJSZWFjaGVkICVzIGludGVycnVwdCBoYW5kbGVyXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJZG1hX2Vycm9yID0gaHdpZi0+ZG1hX29wcy0+ZG1hX2VuZChkcml2ZSk7Ci0JCWlmIChkbWFfZXJyb3IpIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IERNQSAlcyBlcnJvclxuIiwgZHJpdmUtPm5hbWUsCi0JCQkJCXJxX2RhdGFfZGlyKHJxKSA/ICJ3cml0ZSIgOiAicmVhZCIpOwotCQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0VSUk9SOwotCQl9IGVsc2UgewotCQkJcGMtPnhmZXJyZWQgPSBwYy0+cmVxX3hmZXI7Ci0JCQlpZGVmbG9wcHlfdXBkYXRlX2J1ZmZlcnMoZHJpdmUsIHBjKTsKLQkJfQotCQlkZWJ1Z19sb2coIkRNQSBmaW5pc2hlZFxuIik7Ci0JfQotCi0JLyogQ2xlYXIgdGhlIGludGVycnVwdCAqLwotCXN0YXQgPSBpZGVfcmVhZF9zdGF0dXMoZHJpdmUpOwotCi0JLyogTm8gbW9yZSBpbnRlcnJ1cHRzICovCi0JaWYgKChzdGF0ICYgRFJRX1NUQVQpID09IDApIHsKLQkJZGVidWdfbG9nKCJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIHRyYW5zZmVycmVkXG4iLAotCQkJCXBjLT54ZmVycmVkKTsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQotCQlsb2NhbF9pcnFfZW5hYmxlX2luX2hhcmRpcnEoKTsKLQotCQlpZiAoKHN0YXQgJiBFUlJfU1RBVCkgfHwgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSkgewotCQkJLyogRXJyb3IgZGV0ZWN0ZWQgKi8KLQkJCWRlYnVnX2xvZygiJXM6IEkvTyBlcnJvclxuIiwgZHJpdmUtPm5hbWUpOwotCQkJcnEtPmVycm9ycysrOwotCQkJaWYgKHBjLT5jWzBdID09IEdQQ01EX1JFUVVFU1RfU0VOU0UpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IEkvTyBlcnJvciBpbiAiCi0JCQkJCSJyZXF1ZXN0IHNlbnNlIGNvbW1hbmRcbiIpOwotCQkJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCQkJfQotCQkJLyogUmV0cnkgb3BlcmF0aW9uICovCi0JCQlpZGVmbG9wcHlfcmV0cnlfcGMoZHJpdmUpOwotCQkJLyogcXVldWVkLCBidXQgbm90IHN0YXJ0ZWQgKi8KLQkJCXJldHVybiBpZGVfc3RvcHBlZDsKLQkJfQotCQlwYy0+ZXJyb3IgPSAwOwotCQlpZiAoZmxvcHB5LT5mYWlsZWRfcGMgPT0gcGMpCi0JCQlmbG9wcHktPmZhaWxlZF9wYyA9IE5VTEw7Ci0JCS8qIENvbW1hbmQgZmluaXNoZWQgLSBDYWxsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiAqLwotCQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrKGRyaXZlKTsKLQkJcmV0dXJuIGlkZV9zdG9wcGVkOwotCX0KLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IFRoZSBmbG9wcHkgd2FudHMgdG8gaXNzdWUgIgotCQkJIm1vcmUgaW50ZXJydXB0cyBpbiBETUEgbW9kZVxuIik7Ci0JCWlkZV9kbWFfb2ZmKGRyaXZlKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCi0JLyogR2V0IHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gdHJhbnNmZXIgKi8KLQliY291bnQgPSAoaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYWhfYWRkcikgPDwgOCkgfAotCQkgIGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFtX2FkZHIpOwotCS8qIG9uIHRoaXMgaW50ZXJydXB0ICovCi0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQotCWlmIChpcmVhc29uICYgQ0QpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBDb0QgIT0gMCBpbiAlc1xuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JaWYgKCgoaXJlYXNvbiAmIElPKSA9PSBJTykgPT0gISEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgewotCQkvKiBIb3BlZnVsbHksIHdlIHdpbGwgbmV2ZXIgZ2V0IGhlcmUgKi8KLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBXZSB3YW50ZWQgdG8gJXMsICIsCi0JCQkJKGlyZWFzb24gJiBJTykgPyAiV3JpdGUiIDogIlJlYWQiKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJidXQgdGhlIGZsb3BweSB3YW50cyB1cyB0byAlcyAhXG4iLAotCQkJCShpcmVhc29uICYgSU8pID8gIlJlYWQiIDogIldyaXRlIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQlpZiAoIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7Ci0JCS8qIFJlYWRpbmcgLSBDaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoIHNwYWNlICovCi0JCXRlbXAgPSBwYy0+eGZlcnJlZCArIGJjb3VudDsKLQkJaWYgKHRlbXAgPiBwYy0+cmVxX3hmZXIpIHsKLQkJCWlmICh0ZW1wID4gcGMtPmJ1Zl9zaXplKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBUaGUgZmxvcHB5IHdhbnRzICIKLQkJCQkJInRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgIgotCQkJCQkiLSBkaXNjYXJkaW5nIGRhdGFcbiIpOwotCQkJCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCk7Ci0KLQkJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsCi0JCQkJCQkmaWRlZmxvcHB5X3BjX2ludHIsCi0JCQkJCQlJREVGTE9QUFlfV0FJVF9DTUQsCi0JCQkJCQlOVUxMKTsKLQkJCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JCQl9Ci0JCQlkZWJ1Z19sb2coIlRoZSBmbG9wcHkgd2FudHMgdG8gc2VuZCB1cyBtb3JlIGRhdGEgdGhhbiIKLQkJCQkJIiBleHBlY3RlZCAtIGFsbG93aW5nIHRyYW5zZmVyXG4iKTsKLQkJfQotCX0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKQotCQl4ZmVyZnVuYyA9IGh3aWYtPm91dHB1dF9kYXRhOwotCWVsc2UKLQkJeGZlcmZ1bmMgPSBod2lmLT5pbnB1dF9kYXRhOwotCi0JaWYgKHBjLT5idWYpCi0JCXhmZXJmdW5jKGRyaXZlLCBOVUxMLCBwYy0+Y3VyX3BvcywgYmNvdW50KTsKLQllbHNlCi0JCWlkZV9mbG9wcHlfaW9fYnVmZmVycyhkcml2ZSwgcGMsIGJjb3VudCwKLQkJCQkgICAgICAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKTsKLQotCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBwb3NpdGlvbiAqLwotCXBjLT54ZmVycmVkICs9IGJjb3VudDsKLQlwYy0+Y3VyX3BvcyArPSBiY291bnQ7Ci0KLQkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZWZsb3BweV9wY19pbnRyLCBJREVGTE9QUFlfV0FJVF9DTUQsIE5VTEwpOwotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3BjX2ludHIoZHJpdmUsIGZsb3BweS0+cGMsIGlkZWZsb3BweV9wY19pbnRyLAorCQkJICAgSURFRkxPUFBZX1dBSVRfQ01ELCBOVUxMLCBpZGVmbG9wcHlfdXBkYXRlX2J1ZmZlcnMsCisJCQkgICBpZGVmbG9wcHlfcmV0cnlfcGMsIE5VTEwsIGlkZV9mbG9wcHlfaW9fYnVmZmVycyk7CiB9CiAKIC8qCi0gKiBUaGlzIGlzIHRoZSBvcmlnaW5hbCByb3V0aW5lIHRoYXQgZGlkIHRoZSBwYWNrZXQgdHJhbnNmZXIuCi0gKiBJdCBmYWlscyBhdCBoaWdoIHNwZWVkcyBvbiB0aGUgSW9tZWdhIFpJUCBkcml2ZSwgc28gdGhlcmUncyBhIHNsb3dlciB2ZXJzaW9uCi0gKiBmb3IgdGhhdCBkcml2ZSBiZWxvdy4gVGhlIGFsZ29yaXRobSBpcyBjaG9zZW4gYmFzZWQgb24gZHJpdmUgdHlwZQotICovCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZWZsb3BweV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7Ci0JaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JdTggaXJlYXNvbjsKLQotCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsIGRyaXZlLCBEUlFfU1RBVCwgQlVTWV9TVEFULCBXQUlUX1JFQURZKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kICIKLQkJCQkiaW5pdGlhdGVkIHlldCBEUlEgaXNuJ3QgYXNzZXJ0ZWRcbiIpOwotCQlyZXR1cm4gc3RhcnRzdG9wOwotCX0KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCWlmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgIgotCQkJCSJpc3N1aW5nIGEgcGFja2V0IGNvbW1hbmRcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0KLQkvKiBTZXQgdGhlIGludGVycnVwdCByb3V0aW5lICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlZmxvcHB5X3BjX2ludHIsIElERUZMT1BQWV9XQUlUX0NNRCwgTlVMTCk7Ci0KLQkvKiBTZW5kIHRoZSBhY3R1YWwgcGFja2V0ICovCi0JaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIGZsb3BweS0+cGMtPmMsIDEyKTsKLQotCXJldHVybiBpZGVfc3RhcnRlZDsKLX0KLQotCi0vKgogICogV2hhdCB3ZSBoYXZlIGhlcmUgaXMgYSBjbGFzc2ljIGNhc2Ugb2YgYSB0b3AgaGFsZiAvIGJvdHRvbSBoYWxmIGludGVycnVwdAogICogc2VydmljZSByb3V0aW5lLiBJbiBpbnRlcnJ1cHQgbW9kZSwgdGhlIGRldmljZSBzZW5kcyBhbiBpbnRlcnJ1cHQgdG8gc2lnbmFsCiAgKiB0aGF0IGl0IGlzIHJlYWR5IHRvIHJlY2VpdmUgYSBwYWNrZXQuIEhvd2V2ZXIsIHdlIG5lZWQgdG8gZGVsYXkgYWJvdXQgMi0zCiAgKiB0aWNrcyBiZWZvcmUgaXNzdWluZyB0aGUgcGFja2V0IG9yIHdlIGdldHMgaW4gdHJvdWJsZS4KLSAqCi0gKiBTbywgZm9sbG93IGNhcmVmdWxseS4gdHJhbnNmZXJfcGMxIGlzIGNhbGxlZCBhcyBhbiBpbnRlcnJ1cHQgKG9yIGRpcmVjdGx5KS4KLSAqIEluIGVpdGhlciBjYXNlLCB3aGVuIHRoZSBkZXZpY2Ugc2F5cyBpdCdzIHJlYWR5IGZvciBhIHBhY2tldCwgd2Ugc2NoZWR1bGUKLSAqIHRoZSBwYWNrZXQgdHJhbnNmZXIgdG8gb2NjdXIgYWJvdXQgMi0zIHRpY2tzIGxhdGVyIGluIHRyYW5zZmVyX3BjMi4KICAqLwotc3RhdGljIGludCBpZGVmbG9wcHlfdHJhbnNmZXJfcGMyKGlkZV9kcml2ZV90ICpkcml2ZSkKK3N0YXRpYyBpbnQgaWRlZmxvcHB5X3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIApAQCAtNTc1LDI0ICs0MTEsMTkgQEAKIAlyZXR1cm4gSURFRkxPUFBZX1dBSVRfQ01EOwogfQogCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZWZsb3BweV90cmFuc2Zlcl9wYzEoaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOwotCXU4IGlyZWFzb247CiAKLQlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLCBkcml2ZSwgRFJRX1NUQVQsIEJVU1lfU1RBVCwgV0FJVF9SRUFEWSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBTdHJhbmdlLCBwYWNrZXQgY29tbWFuZCAiCi0JCQkJImluaXRpYXRlZCB5ZXQgRFJRIGlzbid0IGFzc2VydGVkXG4iKTsKLQkJcmV0dXJuIHN0YXJ0c3RvcDsKLQl9Ci0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQlpZiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IChJTyxDb0QpICE9ICgwLDEpICIKLQkJCQkid2hpbGUgaXNzdWluZyBhIHBhY2tldCBjb21tYW5kXG4iKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQorLyoKKyAqIENhbGxlZCBhcyBhbiBpbnRlcnJ1cHQgKG9yIGRpcmVjdGx5KS4gV2hlbiB0aGUgZGV2aWNlIHNheXMgaXQncyByZWFkeSBmb3IgYQorICogcGFja2V0LCB3ZSBzY2hlZHVsZSB0aGUgcGFja2V0IHRyYW5zZmVyIHRvIG9jY3VyIGFib3V0IDItMyB0aWNrcyBsYXRlciBpbgorICogdHJhbnNmZXJfcGMuCisgKi8KK3N0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlZmxvcHB5X3N0YXJ0X3BjX3RyYW5zZmVyKGlkZV9kcml2ZV90ICpkcml2ZSkKK3sKKwlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKKwlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IGZsb3BweS0+cGM7CisJaWRlX2V4cGlyeV90ICpleHBpcnk7CisJdW5zaWduZWQgaW50IHRpbWVvdXQ7CisKIAkvKgogCSAqIFRoZSBmb2xsb3dpbmcgZGVsYXkgc29sdmVzIGEgcHJvYmxlbSB3aXRoIEFUQVBJIFppcCAxMDAgZHJpdmVzCiAJICogd2hlcmUgdGhlIEJ1c3kgZmxhZyB3YXMgYXBwYXJlbnRseSBiZWluZyBkZWFzc2VydGVkIGJlZm9yZSB0aGUKQEAgLTYwMSwxMCArNDMyLDE1IEBACiAJICogNDAgYW5kIDUwbXNlYyB3b3JrIHdlbGwuIGlkZWZsb3BweV9wY19pbnRyIHdpbGwgbm90IGJlIGFjdHVhbGx5CiAJICogdXNlZCB1bnRpbCBhZnRlciB0aGUgcGFja2V0IGlzIG1vdmVkIGluIGFib3V0IDUwIG1zZWMuCiAJICovCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfWklQX0RSSVZFKSB7CisJCXRpbWVvdXQgPSBmbG9wcHktPnRpY2tzOworCQlleHBpcnkgPSAmaWRlZmxvcHB5X3RyYW5zZmVyX3BjOworCX0gZWxzZSB7CisJCXRpbWVvdXQgPSBJREVGTE9QUFlfV0FJVF9DTUQ7CisJCWV4cGlyeSA9IE5VTEw7CisJfQogCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlZmxvcHB5X3BjX2ludHIsIGZsb3BweS0+dGlja3MsCi0JCQkmaWRlZmxvcHB5X3RyYW5zZmVyX3BjMik7Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfdHJhbnNmZXJfcGMoZHJpdmUsIHBjLCBpZGVmbG9wcHlfcGNfaW50ciwgdGltZW91dCwgZXhwaXJ5KTsKIH0KIAogc3RhdGljIHZvaWQgaWRlX2Zsb3BweV9yZXBvcnRfZXJyb3IoaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHksCkBAIC02MjcsMTAgKzQ2Myw2IEBACiAJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpZGVfaGFuZGxlcl90ICpwa3RfeGZlcl9yb3V0aW5lOwotCXUxNiBiY291bnQ7Ci0JdTggZG1hOwogCiAJaWYgKGZsb3BweS0+ZmFpbGVkX3BjID09IE5VTEwgJiYKIAkgICAgcGMtPmNbMF0gIT0gR1BDTURfUkVRVUVTVF9TRU5TRSkKQEAgLTY0NSw2NSArNDc3LDE2IEBACiAJCXBjLT5lcnJvciA9IElERUZMT1BQWV9FUlJPUl9HRU5FUkFMOwogCiAJCWZsb3BweS0+ZmFpbGVkX3BjID0gTlVMTDsKLQkJcGMtPmlkZWZsb3BweV9jYWxsYmFjayhkcml2ZSk7CisJCXBjLT5jYWxsYmFjayhkcml2ZSk7CiAJCXJldHVybiBpZGVfc3RvcHBlZDsKIAl9CiAKIAlkZWJ1Z19sb2coIlJldHJ5IG51bWJlciAtICVkXG4iLCBwYy0+cmV0cmllcyk7CiAKIAlwYy0+cmV0cmllcysrOwotCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCi0JcGMtPnhmZXJyZWQgPSAwOwotCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKLQliY291bnQgPSBtaW4ocGMtPnJlcV94ZmVyLCA2MyAqIDEwMjQpOwogCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfRVJST1I7Ci0JCWlkZV9kbWFfb2ZmKGRyaXZlKTsKLQl9Ci0JZG1hID0gMDsKLQotCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19ETUFfUkVDT01NRU5ERUQpICYmIGRyaXZlLT51c2luZ19kbWEpCi0JCWRtYSA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOwotCi0JaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0sgfAotCQkJICAgSURFX1RGTEFHX09VVF9ERVZJQ0UsIGJjb3VudCwgZG1hKTsKLQotCWlmIChkbWEpIHsKLQkJLyogQmVnaW4gRE1BLCBpZiBuZWNlc3NhcnkgKi8KLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCQlod2lmLT5kbWFfb3BzLT5kbWFfc3RhcnQoZHJpdmUpOwotCX0KLQotCS8qIENhbiB3ZSB0cmFuc2ZlciB0aGUgcGFja2V0IHdoZW4gd2UgZ2V0IHRoZSBpbnRlcnJ1cHQgb3Igd2FpdD8gKi8KLQlpZiAoZmxvcHB5LT5mbGFncyAmIElERUZMT1BQWV9GTEFHX1pJUF9EUklWRSkgewotCQkvKiB3YWl0ICovCi0JCXBrdF94ZmVyX3JvdXRpbmUgPSAmaWRlZmxvcHB5X3RyYW5zZmVyX3BjMTsKLQl9IGVsc2UgewotCQkvKiBpbW1lZGlhdGUgKi8KLQkJcGt0X3hmZXJfcm91dGluZSA9ICZpZGVmbG9wcHlfdHJhbnNmZXJfcGM7Ci0JfQotCi0JaWYgKGZsb3BweS0+ZmxhZ3MgJiBJREVGTE9QUFlfRkxBR19EUlFfSU5URVJSVVBUKSB7Ci0JCS8qIElzc3VlIHRoZSBwYWNrZXQgY29tbWFuZCAqLwotCQlpZGVfZXhlY3V0ZV9jb21tYW5kKGRyaXZlLCBXSU5fUEFDS0VUQ01ELAotCQkJCXBrdF94ZmVyX3JvdXRpbmUsCi0JCQkJSURFRkxPUFBZX1dBSVRfQ01ELAotCQkJCU5VTEwpOwotCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JfSBlbHNlIHsKLQkJLyogSXNzdWUgdGhlIHBhY2tldCBjb21tYW5kICovCi0JCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOwotCQlyZXR1cm4gKCpwa3RfeGZlcl9yb3V0aW5lKSAoZHJpdmUpOwotCX0KLX0KLQotc3RhdGljIHZvaWQgaWRlZmxvcHB5X3J3X2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlkZWJ1Z19sb2coIlJlYWNoZWQgJXNcbiIsIF9fZnVuY19fKTsKLQotCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Ci0JcmV0dXJuOworCXJldHVybiBpZGVfaXNzdWVfcGMoZHJpdmUsIHBjLCBpZGVmbG9wcHlfc3RhcnRfcGNfdHJhbnNmZXIsCisJCQkgICAgSURFRkxPUFBZX1dBSVRfQ01ELCBOVUxMKTsKIH0KIAogc3RhdGljIHZvaWQgaWRlZmxvcHB5X2NyZWF0ZV9wcmV2ZW50X2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywgaW50IHByZXZlbnQpCkBAIC04MDAsMjEgKzU4MywxOSBAQAogCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMTYoYmxvY2tzKSwgKHVuc2lnbmVkIHNob3J0ICopJnBjLT5jWzddKTsKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGJsb2NrKSwgKHVuc2lnbmVkIGludCAqKSAmcGMtPmNbMl0pOwogCi0JcGMtPmlkZWZsb3BweV9jYWxsYmFjayA9ICZpZGVmbG9wcHlfcndfY2FsbGJhY2s7CiAJcGMtPnJxID0gcnE7CiAJcGMtPmJfY291bnQgPSBjbWQgPT0gUkVBRCA/IDAgOiBycS0+YmlvLT5iaV9zaXplOwogCWlmIChycS0+Y21kX2ZsYWdzICYgUkVRX1JXKQogCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XUklUSU5HOwogCXBjLT5idWYgPSBOVUxMOwogCXBjLT5yZXFfeGZlciA9IHBjLT5idWZfc2l6ZSA9IGJsb2NrcyAqIGZsb3BweS0+YmxvY2tfc2l6ZTsKLQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfUkVDT01NRU5ERUQ7CisJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX09LOwogfQogCiBzdGF0aWMgdm9pZCBpZGVmbG9wcHlfYmxvY2twY19jbWQoaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHksCiAJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCiB7CiAJaWRlZmxvcHB5X2luaXRfcGMocGMpOwotCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2sgPSAmaWRlZmxvcHB5X3J3X2NhbGxiYWNrOwogCW1lbWNweShwYy0+YywgcnEtPmNtZCwgc2l6ZW9mKHBjLT5jKSk7CiAJcGMtPnJxID0gcnE7CiAJcGMtPmJfY291bnQgPSBycS0+ZGF0YV9sZW47CkBAIC04MjIsNyArNjAzLDcgQEAKIAkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKIAlwYy0+YnVmID0gcnEtPmRhdGE7CiAJaWYgKHJxLT5iaW8pCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRDsKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX09LOwogCS8qCiAJICogcG9zc2libHkgcHJvYmxlbWF0aWMsIGRvZXNuJ3QgbG9vayBsaWtlIGlkZS1mbG9wcHkgY29ycmVjdGx5CiAJICogaGFuZGxlZCBzY2F0dGVyZWQgcmVxdWVzdHMgaWYgZG1hIGZhaWxzLi4uCkBAIC04NzUsNyArNjU2LDE0IEBACiAJCXJldHVybiBpZGVfc3RvcHBlZDsKIAl9CiAKKwlpZiAoZmxvcHB5LT5mbGFncyAmIElERUZMT1BQWV9GTEFHX0RSUV9JTlRFUlJVUFQpCisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RSUV9JTlRFUlJVUFQ7CisKKwlpZiAoZmxvcHB5LT5mbGFncyAmIElERUZMT1BQWV9GTEFHX1pJUF9EUklWRSkKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfWklQX0RSSVZFOworCiAJcGMtPnJxID0gcnE7CisKIAlyZXR1cm4gaWRlZmxvcHB5X2lzc3VlX3BjKGRyaXZlLCBwYyk7CiB9CiAKQEAgLTg4NiwxNCArNjc0LDE2IEBACiBzdGF0aWMgaW50IGlkZWZsb3BweV9xdWV1ZV9wY190YWlsKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJc3RydWN0IGlkZV9mbG9wcHlfb2JqICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCBlcnJvcjsKIAotCWlkZV9pbml0X2RyaXZlX2NtZCgmcnEpOwotCXJxLmJ1ZmZlciA9IChjaGFyICopIHBjOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKLQlycS5ycV9kaXNrID0gZmxvcHB5LT5kaXNrOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmJ1ZmZlciA9IChjaGFyICopIHBjOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJZXJyb3IgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIGZsb3BweS0+ZGlzaywgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAKLQlyZXR1cm4gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJcmV0dXJuIGVycm9yOwogfQogCiAvKgpAQCAtMTYyMiwxMSArMTQxMiw2IEBACiAJCQkJIiBvZiBpZGUtZmxvcHB5XG4iLCBkcml2ZS0+bmFtZSk7CiAJCWdvdG8gZmFpbGVkOwogCX0KLQlpZiAoZHJpdmUtPnNjc2kpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLWZsb3BweTogcGFzc2luZyBkcml2ZSAlcyB0byBpZGUtc2NzaSIKLQkJCQkiIGVtdWxhdGlvbi5cbiIsIGRyaXZlLT5uYW1lKTsKLQkJZ290byBmYWlsZWQ7Ci0JfQogCWZsb3BweSA9IGt6YWxsb2Moc2l6ZW9mKGlkZWZsb3BweV9mbG9wcHlfdCksIEdGUF9LRVJORUwpOwogCWlmICghZmxvcHB5KSB7CiAJCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogJXM6IENhbid0IGFsbG9jYXRlIGEgZmxvcHB5IgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWlvLmMgYi9kcml2ZXJzL2lkZS9pZGUtaW8uYwppbmRleCA2OTY1MjUzLi4yODA1Nzc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtaW8uYworKysgYi9kcml2ZXJzL2lkZS9pZGUtaW8uYwpAQCAtMzU4LDMxICszNTgsNiBAQAogCiBFWFBPUlRfU1lNQk9MKGlkZV9lbmRfZHJpdmVfY21kKTsKIAotLyoqCi0gKgl0cnlfdG9fZmx1c2hfbGVmdG92ZXJfZGF0YQktCWZsdXNoIGp1bmsKLSAqCUBkcml2ZTogZHJpdmUgdG8gZmx1c2gKLSAqCi0gKgl0cnlfdG9fZmx1c2hfbGVmdG92ZXJfZGF0YSgpIGlzIGludm9rZWQgaW4gcmVzcG9uc2UgdG8gYSBkcml2ZQotICoJdW5leHBlY3RlZGx5IGhhdmluZyBpdHMgRFJRX1NUQVQgYml0IHNldC4gIEFzIGFuIGFsdGVybmF0aXZlIHRvCi0gKglyZXNldHRpbmcgdGhlIGRyaXZlLCB0aGlzIHJvdXRpbmUgdHJpZXMgdG8gY2xlYXIgdGhlIGNvbmRpdGlvbgotICoJYnkgcmVhZCBhIHNlY3RvcidzIHdvcnRoIG9mIGRhdGEgZnJvbSB0aGUgZHJpdmUuICBPZiBjb3Vyc2UsCi0gKgl0aGlzIG1heSBub3QgaGVscCBpZiB0aGUgZHJpdmUgaXMgKndhaXRpbmcqIGZvciBkYXRhIGZyb20gKnVzKi4KLSAqLwotc3RhdGljIHZvaWQgdHJ5X3RvX2ZsdXNoX2xlZnRvdmVyX2RhdGEgKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpbnQgaSA9IChkcml2ZS0+bXVsdF9jb3VudCA/IGRyaXZlLT5tdWx0X2NvdW50IDogMSkgKiBTRUNUT1JfV09SRFM7Ci0KLQlpZiAoZHJpdmUtPm1lZGlhICE9IGlkZV9kaXNrKQotCQlyZXR1cm47Ci0Jd2hpbGUgKGkgPiAwKSB7Ci0JCXUzMiBidWZmZXJbMTZdOwotCQl1MzIgd2NvdW50ID0gKGkgPiAxNikgPyAxNiA6IGk7Ci0KLQkJaSAtPSB3Y291bnQ7Ci0JCWRyaXZlLT5od2lmLT5pbnB1dF9kYXRhKGRyaXZlLCBOVUxMLCBidWZmZXIsIHdjb3VudCAqIDQpOwotCX0KLX0KLQogc3RhdGljIHZvaWQgaWRlX2tpbGxfcnEoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCiB7CiAJaWYgKHJxLT5ycV9kaXNrKSB7CkBAIC00MjIsOCArMzk3LDExIEBACiAJfQogCiAJaWYgKChzdGF0ICYgRFJRX1NUQVQpICYmIHJxX2RhdGFfZGlyKHJxKSA9PSBSRUFEICYmCi0JICAgIChod2lmLT5ob3N0X2ZsYWdzICYgSURFX0hGTEFHX0VSUk9SX1NUT1BTX0ZJRk8pID09IDApCi0JCXRyeV90b19mbHVzaF9sZWZ0b3Zlcl9kYXRhKGRyaXZlKTsKKwkgICAgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfRVJST1JfU1RPUFNfRklGTykgPT0gMCkgeworCQlpbnQgbnNlY3QgPSBkcml2ZS0+bXVsdF9jb3VudCA/IGRyaXZlLT5tdWx0X2NvdW50IDogMTsKKworCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCBSRUFELCBuc2VjdCAqIFNFQ1RPUl9TSVpFKTsKKwl9CiAKIAlpZiAocnEtPmVycm9ycyA+PSBFUlJPUl9NQVggfHwgYmxrX25vcmV0cnlfcmVxdWVzdChycSkpIHsKIAkJaWRlX2tpbGxfcnEoZHJpdmUsIHJxKTsKQEAgLTQ1OSw3ICs0MzcsNyBAQAogCiAJaWYgKGlkZV9yZWFkX3N0YXR1cyhkcml2ZSkgJiAoQlVTWV9TVEFUIHwgRFJRX1NUQVQpKQogCQkvKiBmb3JjZSBhbiBhYm9ydCAqLwotCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX0lETEVJTU1FRElBVEUsCisJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9JRExFSU1NRURJQVRFLAogCQkJICAgICAgIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAKIAlpZiAocnEtPmVycm9ycyA+PSBFUlJPUl9NQVgpIHsKQEAgLTE1MzksODggKzE1MTcsMzAgQEAKIH0KIAogLyoqCi0gKglpZGVfaW5pdF9kcml2ZV9jbWQJLQlpbml0aWFsaXplIGEgZHJpdmUgY29tbWFuZCByZXF1ZXN0Ci0gKglAcnE6IHJlcXVlc3Qgb2JqZWN0Ci0gKgotICoJSW5pdGlhbGl6ZSBhIHJlcXVlc3QgYmVmb3JlIHdlIGZpbGwgaXQgaW4gYW5kIHNlbmQgaXQgZG93biB0bwotICoJaWRlX2RvX2RyaXZlX2NtZC4gQ29tbWFuZHMgbXVzdCBiZSBzZXQgdXAgYnkgdGhpcyBmdW5jdGlvbi4gUmlnaHQKLSAqCW5vdyBpdCBkb2Vzbid0IGRvIGEgbG90LCBidXQgaWYgdGhhdCBjaGFuZ2VzIGFidXNlcnMgd2lsbCBoYXZlIGEKLSAqCW5hc3R5IHN1cnByaXNlLgotICovCi0KLXZvaWQgaWRlX2luaXRfZHJpdmVfY21kIChzdHJ1Y3QgcmVxdWVzdCAqcnEpCi17Ci0JYmxrX3JxX2luaXQoTlVMTCwgcnEpOwotfQotCi1FWFBPUlRfU1lNQk9MKGlkZV9pbml0X2RyaXZlX2NtZCk7Ci0KLS8qKgogICoJaWRlX2RvX2RyaXZlX2NtZAktCWlzc3VlIElERSBzcGVjaWFsIGNvbW1hbmQKICAqCUBkcml2ZTogZGV2aWNlIHRvIGlzc3VlIGNvbW1hbmQKICAqCUBycTogcmVxdWVzdCB0byBpc3N1ZQotICoJQGFjdGlvbjogYWN0aW9uIGZvciBwcm9jZXNzaW5nCiAgKgogICoJVGhpcyBmdW5jdGlvbiBpc3N1ZXMgYSBzcGVjaWFsIElERSBkZXZpY2UgcmVxdWVzdAogICoJb250byB0aGUgcmVxdWVzdCBxdWV1ZS4KICAqCi0gKglJZiBhY3Rpb24gaXMgaWRlX3dhaXQsIHRoZW4gdGhlIHJxIGlzIHF1ZXVlZCBhdCB0aGUgZW5kIG9mIHRoZQotICoJcmVxdWVzdCBxdWV1ZSwgYW5kIHRoZSBmdW5jdGlvbiBzbGVlcHMgdW50aWwgaXQgaGFzIGJlZW4gcHJvY2Vzc2VkLgotICoJVGhpcyBpcyBmb3IgdXNlIHdoZW4gaW52b2tlZCBmcm9tIGFuIGlvY3RsIGhhbmRsZXIuCi0gKgotICoJSWYgYWN0aW9uIGlzIGlkZV9wcmVlbXB0LCB0aGVuIHRoZSBycSBpcyBxdWV1ZWQgYXQgdGhlIGhlYWQgb2YKLSAqCXRoZSByZXF1ZXN0IHF1ZXVlLCBkaXNwbGFjaW5nIHRoZSBjdXJyZW50bHktYmVpbmctcHJvY2Vzc2VkCi0gKglyZXF1ZXN0IGFuZCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0aW5nCi0gKglmb3IgdGhlIG5ldyBycSB0byBiZSBjb21wbGV0ZWQuICBUaGlzIGlzIFZFUlkgREFOR0VST1VTLCBhbmQgaXMKLSAqCWludGVuZGVkIGZvciBjYXJlZnVsIHVzZSBieSB0aGUgQVRBUEkgdGFwZS9jZHJvbSBkcml2ZXIgY29kZS4KLSAqCi0gKglJZiBhY3Rpb24gaXMgaWRlX2VuZCwgdGhlbiB0aGUgcnEgaXMgcXVldWVkIGF0IHRoZSBlbmQgb2YgdGhlCi0gKglyZXF1ZXN0IHF1ZXVlLCBhbmQgdGhlIGZ1bmN0aW9uIHJldHVybnMgaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0aW5nCi0gKglmb3IgdGhlIG5ldyBycSB0byBiZSBjb21wbGV0ZWQuIFRoaXMgaXMgYWdhaW4gaW50ZW5kZWQgZm9yIGNhcmVmdWwKLSAqCXVzZSBieSB0aGUgQVRBUEkgdGFwZS9jZHJvbSBkcml2ZXIgY29kZS4KKyAqCXRoZSBycSBpcyBxdWV1ZWQgYXQgdGhlIGhlYWQgb2YgdGhlIHJlcXVlc3QgcXVldWUsIGRpc3BsYWNpbmcKKyAqCXRoZSBjdXJyZW50bHktYmVpbmctcHJvY2Vzc2VkIHJlcXVlc3QgYW5kIHRoaXMgZnVuY3Rpb24KKyAqCXJldHVybnMgaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0aW5nIGZvciB0aGUgbmV3IHJxIHRvIGJlCisgKgljb21wbGV0ZWQuICBUaGlzIGlzIFZFUlkgREFOR0VST1VTLCBhbmQgaXMgaW50ZW5kZWQgZm9yCisgKgljYXJlZnVsIHVzZSBieSB0aGUgQVRBUEkgdGFwZS9jZHJvbSBkcml2ZXIgY29kZS4KICAqLwotIAotaW50IGlkZV9kb19kcml2ZV9jbWQgKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxLCBpZGVfYWN0aW9uX3QgYWN0aW9uKQorCit2b2lkIGlkZV9kb19kcml2ZV9jbWQoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpZGVfaHdncm91cF90ICpod2dyb3VwID0gSFdHUk9VUChkcml2ZSk7Ci0JREVDTEFSRV9DT01QTEVUSU9OX09OU1RBQ0sod2FpdCk7Ci0JaW50IHdoZXJlID0gRUxFVkFUT1JfSU5TRVJUX0JBQ0ssIGVycjsKLQlpbnQgbXVzdF93YWl0ID0gKGFjdGlvbiA9PSBpZGVfd2FpdCB8fCBhY3Rpb24gPT0gaWRlX2hlYWRfd2FpdCk7Ci0KLQlycS0+ZXJyb3JzID0gMDsKLQotCS8qCi0JICogd2UgbmVlZCB0byBob2xkIGFuIGV4dHJhIHJlZmVyZW5jZSB0byByZXF1ZXN0IGZvciBzYWZlIGluc3BlY3Rpb24KLQkgKiBhZnRlciBjb21wbGV0aW9uCi0JICovCi0JaWYgKG11c3Rfd2FpdCkgewotCQlycS0+cmVmX2NvdW50Kys7Ci0JCXJxLT5lbmRfaW9fZGF0YSA9ICZ3YWl0OwotCQlycS0+ZW5kX2lvID0gYmxrX2VuZF9zeW5jX3JxOwotCX0KIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpZGVfbG9jaywgZmxhZ3MpOwotCWlmIChhY3Rpb24gPT0gaWRlX3ByZWVtcHQpCi0JCWh3Z3JvdXAtPnJxID0gTlVMTDsKLQlpZiAoYWN0aW9uID09IGlkZV9wcmVlbXB0IHx8IGFjdGlvbiA9PSBpZGVfaGVhZF93YWl0KSB7Ci0JCXdoZXJlID0gRUxFVkFUT1JfSU5TRVJUX0ZST05UOwotCQlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwotCX0KLQlfX2Vsdl9hZGRfcmVxdWVzdChkcml2ZS0+cXVldWUsIHJxLCB3aGVyZSwgMCk7Ci0JaWRlX2RvX3JlcXVlc3QoaHdncm91cCwgSURFX05PX0lSUSk7CisJaHdncm91cC0+cnEgPSBOVUxMOworCV9fZWx2X2FkZF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgcnEsIEVMRVZBVE9SX0lOU0VSVF9GUk9OVCwgMSk7CisJX19nZW5lcmljX3VucGx1Z19kZXZpY2UoZHJpdmUtPnF1ZXVlKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpZGVfbG9jaywgZmxhZ3MpOwotCi0JZXJyID0gMDsKLQlpZiAobXVzdF93YWl0KSB7Ci0JCXdhaXRfZm9yX2NvbXBsZXRpb24oJndhaXQpOwotCQlpZiAocnEtPmVycm9ycykKLQkJCWVyciA9IC1FSU87Ci0KLQkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKLQl9Ci0KLQlyZXR1cm4gZXJyOwogfQogCiBFWFBPUlRfU1lNQk9MKGlkZV9kb19kcml2ZV9jbWQpOwpAQCAtMTYzNyw2ICsxNTU3LDggQEAKIAl0YXNrLnRmLmxiYWggICAgPSAoYmNvdW50ID4+IDgpICYgMHhmZjsKIAogCWlkZV90Zl9kdW1wKGRyaXZlLT5uYW1lLCAmdGFzay50Zik7CisJaWRlX3NldF9pcnEoZHJpdmUsIDEpOworCVNFTEVDVF9NQVNLKGRyaXZlLCAwKTsKIAlkcml2ZS0+aHdpZi0+dGZfbG9hZChkcml2ZSwgJnRhc2spOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtaW9wcy5jIGIvZHJpdmVycy9pZGUvaWRlLWlvcHMuYwppbmRleCAwZGFmOTIzLi44MGFkNGYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtaW9wcy5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1pb3BzLmMKQEAgLTQyLDcgKzQyLDcgQEAKIAlvdXRiKHZhbCwgcG9ydCk7CiB9CiAKLXN0YXRpYyB2b2lkIGlkZV9vdXRic3luYyAoaWRlX2RyaXZlX3QgKmRyaXZlLCB1OCBhZGRyLCB1bnNpZ25lZCBsb25nIHBvcnQpCitzdGF0aWMgdm9pZCBpZGVfb3V0YnN5bmMoaWRlX2h3aWZfdCAqaHdpZiwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KQogewogCW91dGIoYWRkciwgcG9ydCk7CiB9CkBAIC02OCw3ICs2OCw3IEBACiAJd3JpdGViKHZhbHVlLCAodm9pZCBfX2lvbWVtICopIHBvcnQpOwogfQogCi1zdGF0aWMgdm9pZCBpZGVfbW1fb3V0YnN5bmMgKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggdmFsdWUsIHVuc2lnbmVkIGxvbmcgcG9ydCkKK3N0YXRpYyB2b2lkIGlkZV9tbV9vdXRic3luYyhpZGVfaHdpZl90ICpod2lmLCB1OCB2YWx1ZSwgdW5zaWduZWQgbG9uZyBwb3J0KQogewogCXdyaXRlYih2YWx1ZSwgKHZvaWQgX19pb21lbSAqKSBwb3J0KTsKIH0KQEAgLTk1LDcgKzk1LDcgQEAKIAlod2lmLT5PVVRCKGRyaXZlLT5zZWxlY3QuYWxsLCBod2lmLT5pb19wb3J0cy5kZXZpY2VfYWRkcik7CiB9CiAKLXN0YXRpYyB2b2lkIFNFTEVDVF9NQVNLKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IG1hc2spCit2b2lkIFNFTEVDVF9NQVNLKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IG1hc2spCiB7CiAJY29uc3Qgc3RydWN0IGlkZV9wb3J0X29wcyAqcG9ydF9vcHMgPSBkcml2ZS0+aHdpZi0+cG9ydF9vcHM7CiAKQEAgLTEyMCwxMSArMTIwLDYgQEAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfRkxBR0dFRCkKIAkJSElISSA9IDB4RkY7CiAKLQlpZGVfc2V0X2lycShkcml2ZSwgMSk7Ci0KLQlpZiAoKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLKSA9PSAwKQotCQlTRUxFQ1RfTUFTSyhkcml2ZSwgMCk7Ci0KIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfT1VUX0RBVEEpIHsKIAkJdTE2IGRhdGEgPSAodGYtPmhvYl9kYXRhIDw8IDgpIHwgdGYtPmRhdGE7CiAKQEAgLTE5MSw3ICsxODYsNyBAQAogCX0KIAogCS8qIGJlIHN1cmUgd2UncmUgbG9va2luZyBhdCB0aGUgbG93IG9yZGVyIGJpdHMgKi8KLQl0Zl9vdXRiKGRyaXZlLT5jdGwgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwl0Zl9vdXRiKEFUQV9ERVZDVExfT0JTICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fTlNFQ1QpCiAJCXRmLT5uc2VjdCAgPSB0Zl9pbmIoaW9fcG9ydHMtPm5zZWN0X2FkZHIpOwpAQCAtMjA1LDcgKzIwMCw3IEBACiAJCXRmLT5kZXZpY2UgPSB0Zl9pbmIoaW9fcG9ydHMtPmRldmljZV9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19MQkE0OCkgewotCQl0Zl9vdXRiKGRyaXZlLT5jdGwgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQl0Zl9vdXRiKEFUQV9ERVZDVExfT0JTIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCQlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fSE9CX0ZFQVRVUkUpCiAJCQl0Zi0+aG9iX2ZlYXR1cmUgPSB0Zl9pbmIoaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7CkBAIC02ODksOSArNjg0LDkgQEAKIAkgKi8KIAogCVNFTEVDVF9NQVNLKGRyaXZlLCAxKTsKLQlpZGVfc2V0X2lycShkcml2ZSwgMSk7CisJaWRlX3NldF9pcnEoZHJpdmUsIDApOwogCW1zbGVlcCg1MCk7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9JREVOVElGWSwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fSURFTlRJRlksIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAJdGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1dPUlNUQ0FTRTsKIAlkbyB7CiAJCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIHRpbWVvdXQpKSB7CkBAIC03NDQsOSArNzM5LDYgQEAKIAlpbnQgZXJyb3IgPSAwOwogCXU4IHN0YXQ7CiAKLS8vCXdoaWxlIChIV0dST1VQKGRyaXZlKS0+YnVzeSkKLS8vCQltc2xlZXAoNTApOwotCiAjaWZkZWYgQ09ORklHX0JMS19ERVZfSURFRE1BCiAJaWYgKGh3aWYtPmRtYV9vcHMpCS8qIGNoZWNrIGlmIGhvc3Qgc3VwcG9ydHMgRE1BICovCiAJCWh3aWYtPmRtYV9vcHMtPmRtYV9ob3N0X3NldChkcml2ZSwgMCk7CkBAIC03ODEsNyArNzczLDcgQEAKIAlpZGVfc2V0X2lycShkcml2ZSwgMCk7CiAJaHdpZi0+T1VUQihzcGVlZCwgaW9fcG9ydHMtPm5zZWN0X2FkZHIpOwogCWh3aWYtPk9VVEIoU0VURkVBVFVSRVNfWEZFUiwgaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9TRVRGRUFUVVJFUywgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX1NFVEZFQVRVUkVTLCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKIAlpZiAoZHJpdmUtPnF1aXJrX2xpc3QgPT0gMikKIAkJaWRlX3NldF9pcnEoZHJpdmUsIDEpOwogCkBAIC04ODksNyArODgxLDcgQEAKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpZGVfbG9jaywgZmxhZ3MpOwogCV9faWRlX3NldF9oYW5kbGVyKGRyaXZlLCBoYW5kbGVyLCB0aW1lb3V0LCBleHBpcnkpOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBjbWQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgY21kLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCS8qCiAJICogRHJpdmUgdGFrZXMgNDAwblMgdG8gcmVzcG9uZCwgd2UgbXVzdCBhdm9pZCB0aGUgSVJRIGJlaW5nCiAJICogc2VydmljZWQgYmVmb3JlIHRoYXQuCkBAIC05MDcsNyArODk5LDcgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmlkZV9sb2NrLCBmbGFncyk7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9QQUNLRVRDTUQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX1BBQ0tFVENNRCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAluZGVsYXkoNDAwKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpZGVfbG9jaywgZmxhZ3MpOwogfQpAQCAtMTEwMiw3ICsxMDk0LDcgQEAKIAkJcHJlX3Jlc2V0KGRyaXZlKTsKIAkJU0VMRUNUX0RSSVZFKGRyaXZlKTsKIAkJdWRlbGF5ICgyMCk7Ci0JCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fU1JTVCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CisJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9TUlNULCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKIAkJbmRlbGF5KDQwMCk7CiAJCWh3Z3JvdXAtPnBvbGxfdGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1dPUlNUQ0FTRTsKIAkJaHdncm91cC0+cG9sbGluZyA9IDE7CkBAIC0xMTMzLDE0ICsxMTI1LDE0IEBACiAJICogcmVjb3ZlciBmcm9tIHJlc2V0IHZlcnkgcXVpY2tseSwgc2F2aW5nIHVzIHRoZSBmaXJzdCA1MG1zIHdhaXQgdGltZS4KIAkgKi8KIAkvKiBzZXQgU1JTVCBhbmQgbklFTiAqLwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBkcml2ZS0+Y3RsfDYsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgQVRBX0RFVkNUTF9PQlMgfCA2LCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCS8qIG1vcmUgdGhhbiBlbm91Z2ggdGltZSAqLwogCXVkZWxheSgxMCk7CiAJaWYgKGRyaXZlLT5xdWlya19saXN0ID09IDIpCi0JCWN0bCA9IGRyaXZlLT5jdGw7CS8qIGNsZWFyIFNSU1QgYW5kIG5JRU4gKi8KKwkJY3RsID0gQVRBX0RFVkNUTF9PQlM7CQkvKiBjbGVhciBTUlNUIGFuZCBuSUVOICovCiAJZWxzZQotCQljdGwgPSBkcml2ZS0+Y3RsIHwgMjsJLyogY2xlYXIgU1JTVCwgbGVhdmUgbklFTiAqLwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBjdGwsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCWN0bCA9IEFUQV9ERVZDVExfT0JTIHwgMjsJLyogY2xlYXIgU1JTVCwgbGVhdmUgbklFTiAqLworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIGN0bCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAkvKiBtb3JlIHRoYW4gZW5vdWdoIHRpbWUgKi8KIAl1ZGVsYXkoMTApOwogCWh3Z3JvdXAtPnBvbGxfdGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1dPUlNUQ0FTRTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jIGIvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMKaW5kZXggMjZlNjhiNi4uZDIxZTUxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMKQEAgLTI5Myw3ICsyOTMsNyBAQAogCQlod2lmLT5PVVRCKDAsIGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwogCiAJLyogYXNrIGRyaXZlIGZvciBJRCAqLwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBjbWQsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIGNtZCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAogCXRpbWVvdXQgPSAoKGNtZCA9PSBXSU5fSURFTlRJRlkpID8gV0FJVF9XT1JTVENBU0UgOiBXQUlUX1BJREVOVElGWSkgLyAyOwogCXRpbWVvdXQgKz0gamlmZmllczsKQEAgLTQ3OCw5ICs0NzgsOSBAQAogCQkJcHJpbnRrKEtFUk5fRVJSICIlczogbm8gcmVzcG9uc2UgKHN0YXR1cyA9IDB4JTAyeCksICIKIAkJCQkJInJlc2V0dGluZyBkcml2ZVxuIiwgZHJpdmUtPm5hbWUsIHN0YXQpOwogCQkJbXNsZWVwKDUwKTsKLQkJCWh3aWYtPk9VVEIoZHJpdmUtPnNlbGVjdC5hbGwsIGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CisJCQlTRUxFQ1RfRFJJVkUoZHJpdmUpOwogCQkJbXNsZWVwKDUwKTsKLQkJCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fU1JTVCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CisJCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fU1JTVCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CiAJCQkodm9pZClpZGVfYnVzeV9zbGVlcChod2lmKTsKIAkJCXJjID0gdHJ5X3RvX2lkZW50aWZ5KGRyaXZlLCBjbWQpOwogCQl9CkBAIC01MTYsNyArNTE2LDcgQEAKIAlwcmludGsoIiVzOiBlbmFibGluZyAlcyAtLSAiLCBod2lmLT5uYW1lLCBkcml2ZS0+aWQtPm1vZGVsKTsKIAlTRUxFQ1RfRFJJVkUoZHJpdmUpOwogCW1zbGVlcCg1MCk7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIEVYQUJZVEVfRU5BQkxFX05FU1QsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgRVhBQllURV9FTkFCTEVfTkVTVCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAogCWlmIChpZGVfYnVzeV9zbGVlcChod2lmKSkgewogCQlwcmludGsoS0VSTl9DT05UICJmYWlsZWQgKHRpbWVvdXQpXG4iKTsKQEAgLTEwNjUsNyArMTA2NSw3IEBACiAKIAkJaWYgKGlvX3BvcnRzLT5jdGxfYWRkcikKIAkJCS8qIGNsZWFyIG5JRU4gKi8KLQkJCWh3aWYtPk9VVEIoMHgwOCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwkJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEFUQV9ERVZDVExfT0JTLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmIChyZXF1ZXN0X2lycShod2lmLT5pcnEsJmlkZV9pbnRyLHNhLGh3aWYtPm5hbWUsaHdncm91cCkpCiAJICAgICAgIAkJZ290byBvdXRfdW5saW5rOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLXRhcGUuYyBiL2RyaXZlcnMvaWRlL2lkZS10YXBlLmMKaW5kZXggMWUxZjI2My4uZjljZjE2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLXRhcGUuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtdGFwZS5jCkBAIC0xNDQsOSArMTQ0LDYgQEAKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiBFbmQgb2YgdHVuYWJsZSBwYXJhbWV0ZXJzICoqKioqKioqKioqKioqKioqKioqKioqLwogCi0vKiBSZWFkL1dyaXRlIGVycm9yIHNpbXVsYXRpb24gKi8KLSNkZWZpbmUgU0lNVUxBVEVfRVJST1JTCQkJMAotCiAvKiB0YXBlIGRpcmVjdGlvbnMgKi8KIGVudW0gewogCUlERVRBUEVfRElSX05PTkUgID0gKDEgPDwgMCksCkBAIC00NDIsNyArNDM5LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCitzdGF0aWMgdm9pZCBpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJc3RydWN0IGlkZXRhcGVfYmggKmJoID0gcGMtPmJoOwogCWludCBjb3VudDsKQEAgLTUwNiwxOCArNTAzLDYgQEAKIAlyZXR1cm4gKCZ0YXBlLT5ycV9zdGFja1t0YXBlLT5ycV9zdGFja19pbmRleCsrXSk7CiB9CiAKLXN0YXRpYyB2b2lkIGlkZXRhcGVfaW5pdF9wYyhzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKLXsKLQltZW1zZXQocGMtPmMsIDAsIDEyKTsKLQlwYy0+cmV0cmllcyA9IDA7Ci0JcGMtPmZsYWdzID0gMDsKLQlwYy0+cmVxX3hmZXIgPSAwOwotCXBjLT5idWYgPSBwYy0+cGNfYnVmOwotCXBjLT5idWZfc2l6ZSA9IElERVRBUEVfUENfQlVGRkVSX1NJWkU7Ci0JcGMtPmJoID0gTlVMTDsKLQlwYy0+Yl9kYXRhID0gTlVMTDsKLX0KLQogLyoKICAqIGNhbGxlZCBvbiBlYWNoIGZhaWxlZCBwYWNrZXQgY29tbWFuZCByZXRyeSB0byBhbmFseXplIHRoZSByZXF1ZXN0IHNlbnNlLiBXZQogICogY3VycmVudGx5IGRvIG5vdCB1dGlsaXplIHRoaXMgaW5mb3JtYXRpb24uCkBAIC01MzgsOCArNTIzLDggQEAKIAlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpIHsKIAkJcGMtPnhmZXJyZWQgPSBwYy0+cmVxX3hmZXIgLQogCQkJdGFwZS0+YmxrX3NpemUgKgotCQkJYmUzMl90b19jcHUoZ2V0X3VuYWxpZ25lZCgodTMyICopJnNlbnNlWzNdKSk7Ci0JCWlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMocGMpOworCQkJZ2V0X3VuYWxpZ25lZF9iZTMyKCZzZW5zZVszXSk7CisJCWlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMoZHJpdmUsIHBjKTsKIAl9CiAKIAkvKgpAQCAtNjM0LDIxICs2MTksNzggQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3JlcXVlc3Rfc2Vuc2VfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQorc3RhdGljIHZvaWQgaWRlX3RhcGVfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQogewogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOworCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gdGFwZS0+cGM7CisJaW50IHVwdG9kYXRlID0gcGMtPmVycm9yID8gMCA6IDE7CiAKIAlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKIAotCWlmICghdGFwZS0+cGMtPmVycm9yKSB7Ci0JCWlkZXRhcGVfYW5hbHl6ZV9lcnJvcihkcml2ZSwgdGFwZS0+cGMtPmJ1Zik7Ci0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCX0gZWxzZSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IEVycm9yIGluIFJFUVVFU1QgU0VOU0UgaXRzZWxmIC0gIgotCQkJCSJBYm9ydGluZyByZXF1ZXN0IVxuIik7Ci0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDAsIDApOworCWlmICh0YXBlLT5mYWlsZWRfcGMgPT0gcGMpCisJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7CisKKwlpZiAocGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgeworCQlpZiAodXB0b2RhdGUpCisJCQlpZGV0YXBlX2FuYWx5emVfZXJyb3IoZHJpdmUsIHBjLT5idWYpOworCQllbHNlCisJCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBFcnJvciBpbiBSRVFVRVNUIFNFTlNFICIKKwkJCQkJIml0c2VsZiAtIEFib3J0aW5nIHJlcXVlc3QhXG4iKTsKKwl9IGVsc2UgaWYgKHBjLT5jWzBdID09IFJFQURfNiB8fCBwYy0+Y1swXSA9PSBXUklURV82KSB7CisJCXN0cnVjdCByZXF1ZXN0ICpycSA9IGRyaXZlLT5od2lmLT5od2dyb3VwLT5ycTsKKwkJaW50IGJsb2NrcyA9IHBjLT54ZmVycmVkIC8gdGFwZS0+YmxrX3NpemU7CisKKwkJdGFwZS0+YXZnX3NpemUgKz0gYmxvY2tzICogdGFwZS0+YmxrX3NpemU7CisKKwkJaWYgKHRpbWVfYWZ0ZXJfZXEoamlmZmllcywgdGFwZS0+YXZnX3RpbWUgKyBIWikpIHsKKwkJCXRhcGUtPmF2Z19zcGVlZCA9IHRhcGUtPmF2Z19zaXplICogSFogLworCQkJCShqaWZmaWVzIC0gdGFwZS0+YXZnX3RpbWUpIC8gMTAyNDsKKwkJCXRhcGUtPmF2Z19zaXplID0gMDsKKwkJCXRhcGUtPmF2Z190aW1lID0gamlmZmllczsKKwkJfQorCisJCXRhcGUtPmZpcnN0X2ZyYW1lICs9IGJsb2NrczsKKwkJcnEtPmN1cnJlbnRfbnJfc2VjdG9ycyAtPSBibG9ja3M7CisKKwkJaWYgKHBjLT5lcnJvcikKKwkJCXVwdG9kYXRlID0gcGMtPmVycm9yOworCX0gZWxzZSBpZiAocGMtPmNbMF0gPT0gUkVBRF9QT1NJVElPTiAmJiB1cHRvZGF0ZSkgeworCQl1OCAqcmVhZHBvcyA9IHRhcGUtPnBjLT5idWY7CisKKwkJZGVidWdfbG9nKERCR19TRU5TRSwgIkJPUCAtICVzXG4iLAorCQkJCShyZWFkcG9zWzBdICYgMHg4MCkgPyAiWWVzIiA6ICJObyIpOworCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiRU9QIC0gJXNcbiIsCisJCQkJKHJlYWRwb3NbMF0gJiAweDQwKSA/ICJZZXMiIDogIk5vIik7CisKKwkJaWYgKHJlYWRwb3NbMF0gJiAweDQpIHsKKwkJCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiBCbG9jayBsb2NhdGlvbiBpcyB1bmtub3duIgorCQkJCQkgInRvIHRoZSB0YXBlXG4iKTsKKwkJCWNsZWFyX2JpdChJREVUQVBFX0ZMQUdfQUREUkVTU19WQUxJRCwgJnRhcGUtPmZsYWdzKTsKKwkJCXVwdG9kYXRlID0gMDsKKwkJfSBlbHNlIHsKKwkJCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJCbG9jayBMb2NhdGlvbiAtICV1XG4iLAorCQkJCQliZTMyX3RvX2NwdSgqKHUzMiAqKSZyZWFkcG9zWzRdKSk7CisKKwkJCXRhcGUtPnBhcnRpdGlvbiA9IHJlYWRwb3NbMV07CisJCQl0YXBlLT5maXJzdF9mcmFtZSA9IGJlMzJfdG9fY3B1KCoodTMyICopJnJlYWRwb3NbNF0pOworCQkJc2V0X2JpdChJREVUQVBFX0ZMQUdfQUREUkVTU19WQUxJRCwgJnRhcGUtPmZsYWdzKTsKKwkJfQogCX0KLQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisKKwlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCB1cHRvZGF0ZSwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGlkZXRhcGVfaW5pdF9wYyhzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKK3sKKwltZW1zZXQocGMtPmMsIDAsIDEyKTsKKwlwYy0+cmV0cmllcyA9IDA7CisJcGMtPmZsYWdzID0gMDsKKwlwYy0+cmVxX3hmZXIgPSAwOworCXBjLT5idWYgPSBwYy0+cGNfYnVmOworCXBjLT5idWZfc2l6ZSA9IElERVRBUEVfUENfQlVGRkVSX1NJWkU7CisJcGMtPmJoID0gTlVMTDsKKwlwYy0+Yl9kYXRhID0gTlVMTDsKKwlwYy0+Y2FsbGJhY2sgPSBpZGVfdGFwZV9jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfcmVxdWVzdF9zZW5zZV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC02NTcsNyArNjk5LDYgQEAKIAlwYy0+Y1swXSA9IFJFUVVFU1RfU0VOU0U7CiAJcGMtPmNbNF0gPSAyMDsKIAlwYy0+cmVxX3hmZXIgPSAyMDsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3JlcXVlc3Rfc2Vuc2VfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfaW5pdF9ycShzdHJ1Y3QgcmVxdWVzdCAqcnEsIHU4IGNtZCkKQEAgLTY4OCw5ICs3MjksMTAgQEAKIAlzdHJ1Y3QgaWRlX3RhcGVfb2JqICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCiAJaWRldGFwZV9pbml0X3JxKHJxLCBSRVFfSURFVEFQRV9QQzEpOworCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7CiAJcnEtPmJ1ZmZlciA9IChjaGFyICopIHBjOwogCXJxLT5ycV9kaXNrID0gdGFwZS0+ZGlzazsKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV9wcmVlbXB0KTsKKwlpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSk7CiB9CiAKIC8qCkBAIC02OTgsNyArNzQwLDcgQEAKICAqCWxhc3QgcGFja2V0IGNvbW1hbmQuIFdlIHF1ZXVlIGEgcmVxdWVzdCBzZW5zZSBwYWNrZXQgY29tbWFuZCBpbgogICoJdGhlIGhlYWQgb2YgdGhlIHJlcXVlc3QgbGlzdC4KICAqLwotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3JldHJ5X3BjIChpZGVfZHJpdmVfdCAqZHJpdmUpCitzdGF0aWMgdm9pZCBpZGV0YXBlX3JldHJ5X3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYzsKQEAgLTcxMCw3ICs3NTIsNiBAQAogCWlkZXRhcGVfY3JlYXRlX3JlcXVlc3Rfc2Vuc2VfY21kKHBjKTsKIAlzZXRfYml0KElERVRBUEVfRkxBR19JR05PUkVfRFNDLCAmdGFwZS0+ZmxhZ3MpOwogCWlkZXRhcGVfcXVldWVfcGNfaGVhZChkcml2ZSwgcGMsIHJxKTsKLQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiB9CiAKIC8qCkBAIC03MjcsNyArNzY4LDI2IEBACiAJaWRlX3N0YWxsX3F1ZXVlKGRyaXZlLCB0YXBlLT5kc2NfcG9sbF9mcmVxKTsKIH0KIAotdHlwZWRlZiB2b2lkIGlkZXRhcGVfaW9fYnVmKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwgdW5zaWduZWQgaW50KTsKK3N0YXRpYyB2b2lkIGlkZV90YXBlX2hhbmRsZV9kc2MoaWRlX2RyaXZlX3QgKmRyaXZlKQoreworCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOworCisJLyogTWVkaWEgYWNjZXNzIGNvbW1hbmQgKi8KKwl0YXBlLT5kc2NfcG9sbGluZ19zdGFydCA9IGppZmZpZXM7CisJdGFwZS0+ZHNjX3BvbGxfZnJlcSA9IElERVRBUEVfRFNDX01BX0ZBU1Q7CisJdGFwZS0+ZHNjX3RpbWVvdXQgPSBqaWZmaWVzICsgSURFVEFQRV9EU0NfTUFfVElNRU9VVDsKKwkvKiBBbGxvdyBpZGUuYyB0byBoYW5kbGUgb3RoZXIgcmVxdWVzdHMgKi8KKwlpZGV0YXBlX3Bvc3Rwb25lX3JlcXVlc3QoZHJpdmUpOworfQorCitzdGF0aWMgdm9pZCBpZGVfdGFwZV9pb19idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkJdW5zaWduZWQgaW50IGJjb3VudCwgaW50IHdyaXRlKQoreworCWlmICh3cml0ZSkKKwkJaWRldGFwZV9vdXRwdXRfYnVmZmVycyhkcml2ZSwgcGMsIGJjb3VudCk7CisJZWxzZQorCQlpZGV0YXBlX2lucHV0X2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQpOworfQogCiAvKgogICogVGhpcyBpcyB0aGUgdXN1YWwgaW50ZXJydXB0IGhhbmRsZXIgd2hpY2ggd2lsbCBiZSBjYWxsZWQgZHVyaW5nIGEgcGFja2V0CkBAIC03MzgsMTY5ICs3OTgsMTEgQEAKICAqLwogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3BjX2ludHIoaWRlX2RyaXZlX3QgKmRyaXZlKQogewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHRhcGUtPnBjOwotCXhmZXJfZnVuY190ICp4ZmVyZnVuYzsKLQlpZGV0YXBlX2lvX2J1ZiAqaW9idWY7Ci0JdW5zaWduZWQgaW50IHRlbXA7Ci0jaWYgU0lNVUxBVEVfRVJST1JTCi0Jc3RhdGljIGludCBlcnJvcl9zaW1fY291bnQ7Ci0jZW5kaWYKLQl1MTYgYmNvdW50OwotCXU4IHN0YXQsIGlyZWFzb247CiAKLQlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXMgLSBpbnRlcnJ1cHQgaGFuZGxlclxuIiwgX19mdW5jX18pOwotCi0JLyogQ2xlYXIgdGhlIGludGVycnVwdCAqLwotCXN0YXQgPSBpZGVfcmVhZF9zdGF0dXMoZHJpdmUpOwotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7Ci0JCWlmIChod2lmLT5kbWFfb3BzLT5kbWFfZW5kKGRyaXZlKSB8fCAoc3RhdCAmIEVSUl9TVEFUKSkgewotCQkJLyoKLQkJCSAqIEEgRE1BIGVycm9yIGlzIHNvbWV0aW1lcyBleHBlY3RlZC4gRm9yIGV4YW1wbGUsCi0JCQkgKiBpZiB0aGUgdGFwZSBpcyBjcm9zc2luZyBhIGZpbGVtYXJrIGR1cmluZyBhCi0JCQkgKiBSRUFEIGNvbW1hbmQsIGl0IHdpbGwgaXNzdWUgYW4gaXJxIGFuZCBwb3NpdGlvbgotCQkJICogaXRzZWxmIGJlZm9yZSB0aGUgZmlsZW1hcmssIHNvIHRoYXQgb25seSBhIHBhcnRpYWwKLQkJCSAqIGRhdGEgdHJhbnNmZXIgd2lsbCBvY2N1ciAod2hpY2ggY2F1c2VzIHRoZSBETUEKLQkJCSAqIGVycm9yKS4gSW4gdGhhdCBjYXNlLCB3ZSB3aWxsIGxhdGVyIGFzayB0aGUgdGFwZQotCQkJICogaG93IG11Y2ggYnl0ZXMgb2YgdGhlIG9yaWdpbmFsIHJlcXVlc3Qgd2VyZQotCQkJICogYWN0dWFsbHkgdHJhbnNmZXJyZWQgKHdlIGNhbid0IHJlY2VpdmUgdGhhdAotCQkJICogaW5mb3JtYXRpb24gZnJvbSB0aGUgRE1BIGVuZ2luZSBvbiBtb3N0IGNoaXBzZXRzKS4KLQkJCSAqLwotCi0JCQkvKgotCQkJICogT24gdGhlIGNvbnRyYXJ5LCBhIERNQSBlcnJvciBpcyBuZXZlciBleHBlY3RlZDsKLQkJCSAqIGl0IHVzdWFsbHkgaW5kaWNhdGVzIGEgaGFyZHdhcmUgZXJyb3Igb3IgYWJvcnQuCi0JCQkgKiBJZiB0aGUgdGFwZSBjcm9zc2VzIGEgZmlsZW1hcmsgZHVyaW5nIGEgUkVBRAotCQkJICogY29tbWFuZCwgaXQgd2lsbCBpc3N1ZSBhbiBpcnEgYW5kIHBvc2l0aW9uIGl0c2VsZgotCQkJICogYWZ0ZXIgdGhlIGZpbGVtYXJrIChub3QgYmVmb3JlKS4gT25seSBhIHBhcnRpYWwKLQkJCSAqIGRhdGEgdHJhbnNmZXIgd2lsbCBvY2N1ciwgYnV0IG5vIERNQSBlcnJvci4KLQkJCSAqIChBUywgMTkgQXByIDIwMDEpCi0JCQkgKi8KLQkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9FUlJPUjsKLQkJfSBlbHNlIHsKLQkJCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOwotCQkJaWRldGFwZV91cGRhdGVfYnVmZmVycyhwYyk7Ci0JCX0KLQkJZGVidWdfbG9nKERCR19QUk9DUywgIkRNQSBmaW5pc2hlZFxuIik7Ci0KLQl9Ci0KLQkvKiBObyBtb3JlIGludGVycnVwdHMgKi8KLQlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgPT0gMCkgewotCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyIKLQkJCQkiIHRyYW5zZmVycmVkXG4iLCBwYy0+eGZlcnJlZCk7Ci0KLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCi0jaWYgU0lNVUxBVEVfRVJST1JTCi0JCWlmICgocGMtPmNbMF0gPT0gV1JJVEVfNiB8fCBwYy0+Y1swXSA9PSBSRUFEXzYpICYmCi0JCSAgICAoKytlcnJvcl9zaW1fY291bnQgJSAxMDApID09IDApIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiAlczogc2ltdWxhdGluZyBlcnJvclxuIiwKLQkJCQl0YXBlLT5uYW1lKTsKLQkJCXN0YXQgfD0gRVJSX1NUQVQ7Ci0JCX0KLSNlbmRpZgotCQlpZiAoKHN0YXQgJiBFUlJfU1RBVCkgJiYgcGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkKLQkJCXN0YXQgJj0gfkVSUl9TVEFUOwotCQlpZiAoKHN0YXQgJiBFUlJfU1RBVCkgfHwgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSkgewotCQkJLyogRXJyb3IgZGV0ZWN0ZWQgKi8KLQkJCWRlYnVnX2xvZyhEQkdfRVJSLCAiJXM6IEkvTyBlcnJvclxuIiwgdGFwZS0+bmFtZSk7Ci0KLQkJCWlmIChwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogSS9PIGVycm9yIGluIHJlcXVlc3QiCi0JCQkJCQkiIHNlbnNlIGNvbW1hbmRcbiIpOwotCQkJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCQkJfQotCQkJZGVidWdfbG9nKERCR19FUlIsICJbY21kICV4XTogY2hlY2sgY29uZGl0aW9uXG4iLAotCQkJCQlwYy0+Y1swXSk7Ci0KLQkJCS8qIFJldHJ5IG9wZXJhdGlvbiAqLwotCQkJcmV0dXJuIGlkZXRhcGVfcmV0cnlfcGMoZHJpdmUpOwotCQl9Ci0JCXBjLT5lcnJvciA9IDA7Ci0JCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19XQUlUX0ZPUl9EU0MpICYmCi0JCSAgICAoc3RhdCAmIFNFRUtfU1RBVCkgPT0gMCkgewotCQkJLyogTWVkaWEgYWNjZXNzIGNvbW1hbmQgKi8KLQkJCXRhcGUtPmRzY19wb2xsaW5nX3N0YXJ0ID0gamlmZmllczsKLQkJCXRhcGUtPmRzY19wb2xsX2ZyZXEgPSBJREVUQVBFX0RTQ19NQV9GQVNUOwotCQkJdGFwZS0+ZHNjX3RpbWVvdXQgPSBqaWZmaWVzICsgSURFVEFQRV9EU0NfTUFfVElNRU9VVDsKLQkJCS8qIEFsbG93IGlkZS5jIHRvIGhhbmRsZSBvdGhlciByZXF1ZXN0cyAqLwotCQkJaWRldGFwZV9wb3N0cG9uZV9yZXF1ZXN0KGRyaXZlKTsKLQkJCXJldHVybiBpZGVfc3RvcHBlZDsKLQkJfQotCQlpZiAodGFwZS0+ZmFpbGVkX3BjID09IHBjKQotCQkJdGFwZS0+ZmFpbGVkX3BjID0gTlVMTDsKLQkJLyogQ29tbWFuZCBmaW5pc2hlZCAtIENhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uICovCi0JCXJldHVybiBwYy0+aWRldGFwZV9jYWxsYmFjayhkcml2ZSk7Ci0JfQotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IFRoZSB0YXBlIHdhbnRzIHRvIGlzc3VlIG1vcmUgIgotCQkJCSJpbnRlcnJ1cHRzIGluIERNQSBtb2RlXG4iKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogRE1BIGRpc2FibGVkLCByZXZlcnRpbmcgdG8gUElPXG4iKTsKLQkJaWRlX2RtYV9vZmYoZHJpdmUpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JLyogR2V0IHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gdHJhbnNmZXIgb24gdGhpcyBpbnRlcnJ1cHQuICovCi0JYmNvdW50ID0gKGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFoX2FkZHIpIDw8IDgpIHwKLQkJICBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhbV9hZGRyKTsKLQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0KLQlpZiAoaXJlYXNvbiAmIENEKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IENvRCAhPSAwIGluICVzXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQlpZiAoKChpcmVhc29uICYgSU8pID09IElPKSA9PSAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7Ci0JCS8qIEhvcGVmdWxseSwgd2Ugd2lsbCBuZXZlciBnZXQgaGVyZSAqLwotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBXZSB3YW50ZWQgdG8gJXMsICIsCi0JCQkJKGlyZWFzb24gJiBJTykgPyAiV3JpdGUiIDogIlJlYWQiKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogYnV0IHRoZSB0YXBlIHdhbnRzIHVzIHRvICVzICFcbiIsCi0JCQkJKGlyZWFzb24gJiBJTykgPyAiUmVhZCIgOiAiV3JpdGUiKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCWlmICghKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKLQkJLyogUmVhZGluZyAtIENoZWNrIHRoYXQgd2UgaGF2ZSBlbm91Z2ggc3BhY2UgKi8KLQkJdGVtcCA9IHBjLT54ZmVycmVkICsgYmNvdW50OwotCQlpZiAodGVtcCA+IHBjLT5yZXFfeGZlcikgewotCQkJaWYgKHRlbXAgPiBwYy0+YnVmX3NpemUpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBUaGUgdGFwZSB3YW50cyB0byAiCi0JCQkJCSJzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkICIKLQkJCQkJIi0gZGlzY2FyZGluZyBkYXRhXG4iKTsKLQkJCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQpOwotCQkJCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXRhcGVfcGNfaW50ciwKLQkJCQkJCUlERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwotCQkJCXJldHVybiBpZGVfc3RhcnRlZDsKLQkJCX0KLQkJCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJUaGUgdGFwZSB3YW50cyB0byBzZW5kIHVzIG1vcmUgIgotCQkJCSJkYXRhIHRoYW4gZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7Ci0JCX0KLQkJaW9idWYgPSAmaWRldGFwZV9pbnB1dF9idWZmZXJzOwotCQl4ZmVyZnVuYyA9IGh3aWYtPmlucHV0X2RhdGE7Ci0JfSBlbHNlIHsKLQkJaW9idWYgPSAmaWRldGFwZV9vdXRwdXRfYnVmZmVyczsKLQkJeGZlcmZ1bmMgPSBod2lmLT5vdXRwdXRfZGF0YTsKLQl9Ci0KLQlpZiAocGMtPmJoKQotCQlpb2J1Zihkcml2ZSwgcGMsIGJjb3VudCk7Ci0JZWxzZQotCQl4ZmVyZnVuYyhkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0KLQkvKiBVcGRhdGUgdGhlIGN1cnJlbnQgcG9zaXRpb24gKi8KLQlwYy0+eGZlcnJlZCArPSBiY291bnQ7Ci0JcGMtPmN1cl9wb3MgKz0gYmNvdW50OwotCi0JZGVidWdfbG9nKERCR19TRU5TRSwgIltjbWQgJXhdIHRyYW5zZmVycmVkICVkIGJ5dGVzIG9uIHRoYXQgaW50ci5cbiIsCi0JCQlwYy0+Y1swXSwgYmNvdW50KTsKLQotCS8qIEFuZCBzZXQgdGhlIGludGVycnVwdCBoYW5kbGVyIGFnYWluICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRldGFwZV9wY19pbnRyLCBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV9wY19pbnRyKGRyaXZlLCB0YXBlLT5wYywgaWRldGFwZV9wY19pbnRyLCBJREVUQVBFX1dBSVRfQ01ELAorCQkJICAgTlVMTCwgaWRldGFwZV91cGRhdGVfYnVmZmVycywgaWRldGFwZV9yZXRyeV9wYywKKwkJCSAgIGlkZV90YXBlX2hhbmRsZV9kc2MsIGlkZV90YXBlX2lvX2J1ZmZlcnMpOwogfQogCiAvKgpAQCAtOTQxLDU2ICs4NDMsMTYgQEAKICAqLwogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSB0YXBlLT5wYzsKLQlpbnQgcmV0cmllcyA9IDEwMDsKLQlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOwotCXU4IGlyZWFzb247CiAKLQlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLCBkcml2ZSwgRFJRX1NUQVQsIEJVU1lfU1RBVCwgV0FJVF9SRUFEWSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogU3RyYW5nZSwgcGFja2V0IGNvbW1hbmQgaW5pdGlhdGVkICIKLQkJCQkieWV0IERSUSBpc24ndCBhc3NlcnRlZFxuIik7Ci0JCXJldHVybiBzdGFydHN0b3A7Ci0JfQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0Jd2hpbGUgKHJldHJpZXMtLSAmJiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogKElPLENvRCAhPSAoMCwxKSB3aGlsZSBpc3N1aW5nICIKLQkJCQkiYSBwYWNrZXQgY29tbWFuZCwgcmV0cnlpbmdcbiIpOwotCQl1ZGVsYXkoMTAwKTsKLQkJaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQkJaWYgKHJldHJpZXMgPT0gMCkgewotCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogKElPLENvRCAhPSAoMCwxKSB3aGlsZSAiCi0JCQkJCSJpc3N1aW5nIGEgcGFja2V0IGNvbW1hbmQsIGlnbm9yaW5nXG4iKTsKLQkJCWlyZWFzb24gfD0gQ0Q7Ci0JCQlpcmVhc29uICY9IH5JTzsKLQkJfQotCX0KLQlpZiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiAoSU8sQ29EKSAhPSAoMCwxKSB3aGlsZSBpc3N1aW5nICIKLQkJCQkiYSBwYWNrZXQgY29tbWFuZFxuIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQkvKiBTZXQgdGhlIGludGVycnVwdCByb3V0aW5lICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRldGFwZV9wY19pbnRyLCBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JREVETUEKLQkvKiBCZWdpbiBETUEsIGlmIG5lY2Vzc2FyeSAqLwotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykKLQkJaHdpZi0+ZG1hX29wcy0+ZG1hX3N0YXJ0KGRyaXZlKTsKLSNlbmRpZgotCS8qIFNlbmQgdGhlIGFjdHVhbCBwYWNrZXQgKi8KLQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmMsIDEyKTsKLQotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3RyYW5zZmVyX3BjKGRyaXZlLCB0YXBlLT5wYywgaWRldGFwZV9wY19pbnRyLAorCQkJICAgICAgIElERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwogfQogCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfaXNzdWVfcGMoaWRlX2RyaXZlX3QgKmRyaXZlLAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JaW50IGRtYV9vayA9IDA7Ci0JdTE2IGJjb3VudDsKIAogCWlmICh0YXBlLT5wYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFICYmCiAJICAgIHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpIHsKQEAgLTEwMjUsNTAgKzg4NywxNSBAQAogCQkJcGMtPmVycm9yID0gSURFVEFQRV9FUlJPUl9HRU5FUkFMOwogCQl9CiAJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7Ci0JCXJldHVybiBwYy0+aWRldGFwZV9jYWxsYmFjayhkcml2ZSk7CisJCXBjLT5jYWxsYmFjayhkcml2ZSk7CisJCXJldHVybiBpZGVfc3RvcHBlZDsKIAl9CiAJZGVidWdfbG9nKERCR19TRU5TRSwgIlJldHJ5ICMlZCwgY21kID0gJTAyWFxuIiwgcGMtPnJldHJpZXMsIHBjLT5jWzBdKTsKIAogCXBjLT5yZXRyaWVzKys7Ci0JLyogV2UgaGF2ZW4ndCB0cmFuc2ZlcnJlZCBhbnkgZGF0YSB5ZXQgKi8KLQlwYy0+eGZlcnJlZCA9IDA7Ci0JcGMtPmN1cl9wb3MgPSBwYy0+YnVmOwotCS8qIFJlcXVlc3QgdG8gdHJhbnNmZXIgdGhlIGVudGlyZSBidWZmZXIgYXQgb25jZSAqLwotCWJjb3VudCA9IHBjLT5yZXFfeGZlcjsKIAotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0VSUk9SOwotCQlwcmludGsoS0VSTl9XQVJOSU5HICJpZGUtdGFwZTogRE1BIGRpc2FibGVkLCAiCi0JCQkJInJldmVydGluZyB0byBQSU9cbiIpOwotCQlpZGVfZG1hX29mZihkcml2ZSk7Ci0JfQotCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19ETUFfUkVDT01NRU5ERUQpICYmIGRyaXZlLT51c2luZ19kbWEpCi0JCWRtYV9vayA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOwotCi0JaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0sgfAotCQkJICAgSURFX1RGTEFHX09VVF9ERVZJQ0UsIGJjb3VudCwgZG1hX29rKTsKLQotCWlmIChkbWFfb2spCi0JCS8qIFdpbGwgYmVnaW4gRE1BIGxhdGVyICovCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQlpZiAodGVzdF9iaXQoSURFVEFQRV9GTEFHX0RSUV9JTlRFUlJVUFQsICZ0YXBlLT5mbGFncykpIHsKLQkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwgJmlkZXRhcGVfdHJhbnNmZXJfcGMsCi0JCQkJICAgIElERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwotCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JfSBlbHNlIHsKLQkJaWRlX2V4ZWN1dGVfcGt0X2NtZChkcml2ZSk7Ci0JCXJldHVybiBpZGV0YXBlX3RyYW5zZmVyX3BjKGRyaXZlKTsKLQl9Ci19Ci0KLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9wY19jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0KLQlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKLQotCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIHRhcGUtPnBjLT5lcnJvciA/IDAgOiAxLCAwKTsKLQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJcmV0dXJuIGlkZV9pc3N1ZV9wYyhkcml2ZSwgcGMsIGlkZXRhcGVfdHJhbnNmZXJfcGMsCisJCQkgICAgSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7CiB9CiAKIC8qIEEgbW9kZSBzZW5zZSBjb21tYW5kIGlzIHVzZWQgdG8gInNlbnNlIiB0YXBlIHBhcmFtZXRlcnMuICovCkBAIC0xMDk2LDcgKzkyMyw2IEBACiAJCXBjLT5yZXFfeGZlciA9IDI0OwogCWVsc2UKIAkJcGMtPnJlcV94ZmVyID0gNTA7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX21lZGlhX2FjY2Vzc19maW5pc2hlZChpZGVfZHJpdmVfdCAqZHJpdmUpCkBAIC0xMTE0LDgwICs5NDAsNDEgQEAKIAkJCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiAlczogSS9PIGVycm9yLCAiLAogCQkJCQkJdGFwZS0+bmFtZSk7CiAJCQkvKiBSZXRyeSBvcGVyYXRpb24gKi8KLQkJCXJldHVybiBpZGV0YXBlX3JldHJ5X3BjKGRyaXZlKTsKKwkJCWlkZXRhcGVfcmV0cnlfcGMoZHJpdmUpOworCQkJcmV0dXJuIGlkZV9zdG9wcGVkOwogCQl9CiAJCXBjLT5lcnJvciA9IDA7Ci0JCWlmICh0YXBlLT5mYWlsZWRfcGMgPT0gcGMpCi0JCQl0YXBlLT5mYWlsZWRfcGMgPSBOVUxMOwogCX0gZWxzZSB7CiAJCXBjLT5lcnJvciA9IElERVRBUEVfRVJST1JfR0VORVJBTDsKIAkJdGFwZS0+ZmFpbGVkX3BjID0gTlVMTDsKIAl9Ci0JcmV0dXJuIHBjLT5pZGV0YXBlX2NhbGxiYWNrKGRyaXZlKTsKLX0KLQotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3J3X2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBIV0dST1VQKGRyaXZlKS0+cnE7Ci0JaW50IGJsb2NrcyA9IHRhcGUtPnBjLT54ZmVycmVkIC8gdGFwZS0+YmxrX3NpemU7Ci0KLQl0YXBlLT5hdmdfc2l6ZSArPSBibG9ja3MgKiB0YXBlLT5ibGtfc2l6ZTsKLQotCWlmICh0aW1lX2FmdGVyX2VxKGppZmZpZXMsIHRhcGUtPmF2Z190aW1lICsgSFopKSB7Ci0JCXRhcGUtPmF2Z19zcGVlZCA9IHRhcGUtPmF2Z19zaXplICogSFogLwotCQkJCShqaWZmaWVzIC0gdGFwZS0+YXZnX3RpbWUpIC8gMTAyNDsKLQkJdGFwZS0+YXZnX3NpemUgPSAwOwotCQl0YXBlLT5hdmdfdGltZSA9IGppZmZpZXM7Ci0JfQotCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJFbnRlciAlc1xuIiwgX19mdW5jX18pOwotCi0JdGFwZS0+Zmlyc3RfZnJhbWUgKz0gYmxvY2tzOwotCXJxLT5jdXJyZW50X25yX3NlY3RvcnMgLT0gYmxvY2tzOwotCi0JaWYgKCF0YXBlLT5wYy0+ZXJyb3IpCi0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCWVsc2UKLQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgdGFwZS0+cGMtPmVycm9yLCAwKTsKKwlwYy0+Y2FsbGJhY2soZHJpdmUpOwogCXJldHVybiBpZGVfc3RvcHBlZDsKIH0KIAotc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfcmVhZF9jbWQoaWRldGFwZV90YXBlX3QgKnRhcGUsCi0JCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAotCQl1bnNpZ25lZCBpbnQgbGVuZ3RoLCBzdHJ1Y3QgaWRldGFwZV9iaCAqYmgpCitzdGF0aWMgdm9pZCBpZGVfdGFwZV9jcmVhdGVfcndfY21kKGlkZXRhcGVfdGFwZV90ICp0YXBlLAorCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywgdW5zaWduZWQgaW50IGxlbmd0aCwKKwkJc3RydWN0IGlkZXRhcGVfYmggKmJoLCB1OCBvcGNvZGUpCiB7CiAJaWRldGFwZV9pbml0X3BjKHBjKTsKLQlwYy0+Y1swXSA9IFJFQURfNjsKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGxlbmd0aCksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzFdKTsKIAlwYy0+Y1sxXSA9IDE7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9yd19jYWxsYmFjazsKIAlwYy0+YmggPSBiaDsKLQlhdG9taWNfc2V0KCZiaC0+Yl9jb3VudCwgMCk7CiAJcGMtPmJ1ZiA9IE5VTEw7CiAJcGMtPmJ1Zl9zaXplID0gbGVuZ3RoICogdGFwZS0+YmxrX3NpemU7CiAJcGMtPnJlcV94ZmVyID0gcGMtPmJ1Zl9zaXplOwogCWlmIChwYy0+cmVxX3hmZXIgPT0gdGFwZS0+YnVmZmVyX3NpemUpCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRDsKLX0KKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX09LOwogCi1zdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV93cml0ZV9jbWQoaWRldGFwZV90YXBlX3QgKnRhcGUsCi0JCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAotCQl1bnNpZ25lZCBpbnQgbGVuZ3RoLCBzdHJ1Y3QgaWRldGFwZV9iaCAqYmgpCi17Ci0JaWRldGFwZV9pbml0X3BjKHBjKTsKLQlwYy0+Y1swXSA9IFdSSVRFXzY7Ci0JcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihsZW5ndGgpLCAodW5zaWduZWQgaW50ICopICZwYy0+Y1sxXSk7Ci0JcGMtPmNbMV0gPSAxOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcndfY2FsbGJhY2s7Ci0JcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKLQlwYy0+YmggPSBiaDsKLQlwYy0+Yl9kYXRhID0gYmgtPmJfZGF0YTsKLQlwYy0+Yl9jb3VudCA9IGF0b21pY19yZWFkKCZiaC0+Yl9jb3VudCk7Ci0JcGMtPmJ1ZiA9IE5VTEw7Ci0JcGMtPmJ1Zl9zaXplID0gbGVuZ3RoICogdGFwZS0+YmxrX3NpemU7Ci0JcGMtPnJlcV94ZmVyID0gcGMtPmJ1Zl9zaXplOwotCWlmIChwYy0+cmVxX3hmZXIgPT0gdGFwZS0+YnVmZmVyX3NpemUpCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRDsKKwlpZiAob3Bjb2RlID09IFJFQURfNikgeworCQlwYy0+Y1swXSA9IFJFQURfNjsKKwkJYXRvbWljX3NldCgmYmgtPmJfY291bnQsIDApOworCX0gZWxzZSBpZiAob3Bjb2RlID09IFdSSVRFXzYpIHsKKwkJcGMtPmNbMF0gPSBXUklURV82OworCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XUklUSU5HOworCQlwYy0+Yl9kYXRhID0gYmgtPmJfZGF0YTsKKwkJcGMtPmJfY291bnQgPSBhdG9taWNfcmVhZCgmYmgtPmJfY291bnQpOworCX0KIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX2RvX3JlcXVlc3QoaWRlX2RyaXZlX3QgKmRyaXZlLApAQCAtMTIxMSw4ICs5OTgsMTAgQEAKIAl9CiAKIAkvKiBSZXRyeSBhIGZhaWxlZCBwYWNrZXQgY29tbWFuZCAqLwotCWlmICh0YXBlLT5mYWlsZWRfcGMgJiYgdGFwZS0+cGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkKLQkJcmV0dXJuIGlkZXRhcGVfaXNzdWVfcGMoZHJpdmUsIHRhcGUtPmZhaWxlZF9wYyk7CisJaWYgKHRhcGUtPmZhaWxlZF9wYyAmJiB0YXBlLT5wYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKSB7CisJCXBjID0gdGFwZS0+ZmFpbGVkX3BjOworCQlnb3RvIG91dDsKKwl9CiAKIAlpZiAocG9zdHBvbmVkX3JxICE9IE5VTEwpCiAJCWlmIChycSAhPSBwb3N0cG9uZWRfcnEpIHsKQEAgLTEyNjIsMTQgKzEwNTEsMTYgQEAKIAl9CiAJaWYgKHJxLT5jbWRbMF0gJiBSRVFfSURFVEFQRV9SRUFEKSB7CiAJCXBjID0gaWRldGFwZV9uZXh0X3BjX3N0b3JhZ2UoZHJpdmUpOwotCQlpZGV0YXBlX2NyZWF0ZV9yZWFkX2NtZCh0YXBlLCBwYywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycywKLQkJCQkJKHN0cnVjdCBpZGV0YXBlX2JoICopcnEtPnNwZWNpYWwpOworCQlpZGVfdGFwZV9jcmVhdGVfcndfY21kKHRhcGUsIHBjLCBycS0+Y3VycmVudF9ucl9zZWN0b3JzLAorCQkJCQkoc3RydWN0IGlkZXRhcGVfYmggKilycS0+c3BlY2lhbCwKKwkJCQkJUkVBRF82KTsKIAkJZ290byBvdXQ7CiAJfQogCWlmIChycS0+Y21kWzBdICYgUkVRX0lERVRBUEVfV1JJVEUpIHsKIAkJcGMgPSBpZGV0YXBlX25leHRfcGNfc3RvcmFnZShkcml2ZSk7Ci0JCWlkZXRhcGVfY3JlYXRlX3dyaXRlX2NtZCh0YXBlLCBwYywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycywKLQkJCQkJIChzdHJ1Y3QgaWRldGFwZV9iaCAqKXJxLT5zcGVjaWFsKTsKKwkJaWRlX3RhcGVfY3JlYXRlX3J3X2NtZCh0YXBlLCBwYywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycywKKwkJCQkJIChzdHJ1Y3QgaWRldGFwZV9iaCAqKXJxLT5zcGVjaWFsLAorCQkJCQkgV1JJVEVfNik7CiAJCWdvdG8gb3V0OwogCX0KIAlpZiAocnEtPmNtZFswXSAmIFJFUV9JREVUQVBFX1BDMSkgewpAQCAtMTI4NCw2ICsxMDc1LDkgQEAKIAl9CiAJQlVHKCk7CiBvdXQ6CisJaWYgKHRlc3RfYml0KElERVRBUEVfRkxBR19EUlFfSU5URVJSVVBULCAmdGFwZS0+ZmxhZ3MpKQorCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19EUlFfSU5URVJSVVBUOworCiAJcmV0dXJuIGlkZXRhcGVfaXNzdWVfcGMoZHJpdmUsIHBjKTsKIH0KIApAQCAtMTQ0Nyw0MCArMTI0MSw2IEBACiAJfQogfQogCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfcmVhZF9wb3NpdGlvbl9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JdTggKnJlYWRwb3MgPSB0YXBlLT5wYy0+YnVmOwotCi0JZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZiAoIXRhcGUtPnBjLT5lcnJvcikgewotCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiQk9QIC0gJXNcbiIsCi0JCQkJKHJlYWRwb3NbMF0gJiAweDgwKSA/ICJZZXMiIDogIk5vIik7Ci0JCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJFT1AgLSAlc1xuIiwKLQkJCQkocmVhZHBvc1swXSAmIDB4NDApID8gIlllcyIgOiAiTm8iKTsKLQotCQlpZiAocmVhZHBvc1swXSAmIDB4NCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXRhcGU6IEJsb2NrIGxvY2F0aW9uIGlzIHVua25vd24iCi0JCQkJCSAidG8gdGhlIHRhcGVcbiIpOwotCQkJY2xlYXJfYml0KElERVRBUEVfRkxBR19BRERSRVNTX1ZBTElELCAmdGFwZS0+ZmxhZ3MpOwotCQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgMCwgMCk7Ci0JCX0gZWxzZSB7Ci0JCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiQmxvY2sgTG9jYXRpb24gLSAldVxuIiwKLQkJCQkJYmUzMl90b19jcHUoKih1MzIgKikmcmVhZHBvc1s0XSkpOwotCi0JCQl0YXBlLT5wYXJ0aXRpb24gPSByZWFkcG9zWzFdOwotCQkJdGFwZS0+Zmlyc3RfZnJhbWUgPQotCQkJCWJlMzJfdG9fY3B1KCoodTMyICopJnJlYWRwb3NbNF0pOwotCQkJc2V0X2JpdChJREVUQVBFX0ZMQUdfQUREUkVTU19WQUxJRCwgJnRhcGUtPmZsYWdzKTsKLQkJCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCQl9Ci0JfSBlbHNlIHsKLQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgMCwgMCk7Ci0JfQotCXJldHVybiBpZGVfc3RvcHBlZDsKLX0KLQogLyoKICAqIFdyaXRlIGEgZmlsZW1hcmsgaWYgd3JpdGVfZmlsZW1hcms9MS4gRmx1c2ggdGhlIGRldmljZSBidWZmZXJzIHdpdGhvdXQKICAqIHdyaXRpbmcgYSBmaWxlbWFyayBvdGhlcndpc2UuCkBAIC0xNDkyLDE0ICsxMjUyLDEyIEBACiAJcGMtPmNbMF0gPSBXUklURV9GSUxFTUFSS1M7CiAJcGMtPmNbNF0gPSB3cml0ZV9maWxlbWFyazsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfdGVzdF91bml0X3JlYWR5X2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlpZGV0YXBlX2luaXRfcGMocGMpOwogCXBjLT5jWzBdID0gVEVTVF9VTklUX1JFQURZOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIC8qCkBAIC0xNTE4LDEyICsxMjc2LDE2IEBACiBzdGF0aWMgaW50IGlkZXRhcGVfcXVldWVfcGNfdGFpbChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCXN0cnVjdCBpZGVfdGFwZV9vYmogKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCBlcnJvcjsKIAotCWlkZXRhcGVfaW5pdF9ycSgmcnEsIFJFUV9JREVUQVBFX1BDMSk7Ci0JcnEuYnVmZmVyID0gKGNoYXIgKikgcGM7Ci0JcnEucnFfZGlzayA9IHRhcGUtPmRpc2s7Ci0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+Y21kWzBdID0gUkVRX0lERVRBUEVfUEMxOworCXJxLT5idWZmZXIgPSAoY2hhciAqKXBjOworCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCB0YXBlLT5kaXNrLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKKwlyZXR1cm4gZXJyb3I7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX2xvYWRfdW5sb2FkX2NtZChpZGVfZHJpdmVfdCAqZHJpdmUsCkBAIC0xNTMzLDcgKzEyOTUsNiBAQAogCXBjLT5jWzBdID0gU1RBUlRfU1RPUDsKIAlwYy0+Y1s0XSA9IGNtZDsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIGludCBpZGV0YXBlX3dhaXRfcmVhZHkoaWRlX2RyaXZlX3QgKmRyaXZlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpCkBAIC0xNTg1LDcgKzEzNDYsNiBAQAogCWlkZXRhcGVfaW5pdF9wYyhwYyk7CiAJcGMtPmNbMF0gPSBSRUFEX1BPU0lUSU9OOwogCXBjLT5yZXFfeGZlciA9IDIwOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcmVhZF9wb3NpdGlvbl9jYWxsYmFjazsKIH0KIAogc3RhdGljIGludCBpZGV0YXBlX3JlYWRfcG9zaXRpb24oaWRlX2RyaXZlX3QgKmRyaXZlKQpAQCAtMTYxMyw3ICsxMzczLDYgQEAKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGJsb2NrKSwgKHVuc2lnbmVkIGludCAqKSAmcGMtPmNbM10pOwogCXBjLT5jWzhdID0gcGFydGl0aW9uOwogCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dBSVRfRk9SX0RTQzsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgaW50IGlkZXRhcGVfY3JlYXRlX3ByZXZlbnRfY21kKGlkZV9kcml2ZV90ICpkcml2ZSwKQEAgLTE2MjgsNyArMTM4Nyw2IEBACiAJaWRldGFwZV9pbml0X3BjKHBjKTsKIAlwYy0+Y1swXSA9IEFMTE9XX01FRElVTV9SRU1PVkFMOwogCXBjLT5jWzRdID0gcHJldmVudDsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogCXJldHVybiAxOwogfQogCkBAIC0xNzAwLDI2ICsxNDU4LDMzIEBACiAJCQkJIHN0cnVjdCBpZGV0YXBlX2JoICpiaCkKIHsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CisJaW50IHJldCwgZXJyb3JzOwogCiAJZGVidWdfbG9nKERCR19TRU5TRSwgIiVzOiBjbWQ9JWRcbiIsIF9fZnVuY19fLCBjbWQpOwogCi0JaWRldGFwZV9pbml0X3JxKCZycSwgY21kKTsKLQlycS5ycV9kaXNrID0gdGFwZS0+ZGlzazsKLQlycS5zcGVjaWFsID0gKHZvaWQgKiliaDsKLQlycS5zZWN0b3IgPSB0YXBlLT5maXJzdF9mcmFtZTsKLQlycS5ucl9zZWN0b3JzCQk9IGJsb2NrczsKLQlycS5jdXJyZW50X25yX3NlY3RvcnMJPSBibG9ja3M7Ci0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+Y21kWzBdID0gY21kOworCXJxLT5ycV9kaXNrID0gdGFwZS0+ZGlzazsKKwlycS0+c3BlY2lhbCA9ICh2b2lkICopYmg7CisJcnEtPnNlY3RvciA9IHRhcGUtPmZpcnN0X2ZyYW1lOworCXJxLT5ucl9zZWN0b3JzID0gYmxvY2tzOworCXJxLT5jdXJyZW50X25yX3NlY3RvcnMgPSBibG9ja3M7CisJYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCB0YXBlLT5kaXNrLCBycSwgMCk7CisKKwllcnJvcnMgPSBycS0+ZXJyb3JzOworCXJldCA9IHRhcGUtPmJsa19zaXplICogKGJsb2NrcyAtIHJxLT5jdXJyZW50X25yX3NlY3RvcnMpOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAKIAlpZiAoKGNtZCAmIChSRVFfSURFVEFQRV9SRUFEIHwgUkVRX0lERVRBUEVfV1JJVEUpKSA9PSAwKQogCQlyZXR1cm4gMDsKIAogCWlmICh0YXBlLT5tZXJnZV9iaCkKIAkJaWRldGFwZV9pbml0X21lcmdlX2J1ZmZlcih0YXBlKTsKLQlpZiAocnEuZXJyb3JzID09IElERVRBUEVfRVJST1JfR0VORVJBTCkKKwlpZiAoZXJyb3JzID09IElERVRBUEVfRVJST1JfR0VORVJBTCkKIAkJcmV0dXJuIC1FSU87Ci0JcmV0dXJuICh0YXBlLT5ibGtfc2l6ZSAqIChibG9ja3MtcnEuY3VycmVudF9ucl9zZWN0b3JzKSk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfaW5xdWlyeV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC0xNzI4LDcgKzE0OTMsNiBAQAogCXBjLT5jWzBdID0gSU5RVUlSWTsKIAlwYy0+Y1s0XSA9IDI1NDsKIAlwYy0+cmVxX3hmZXIgPSAyNTQ7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfcmV3aW5kX2NtZChpZGVfZHJpdmVfdCAqZHJpdmUsCkBAIC0xNzM3LDcgKzE1MDEsNiBAQAogCWlkZXRhcGVfaW5pdF9wYyhwYyk7CiAJcGMtPmNbMF0gPSBSRVpFUk9fVU5JVDsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfZXJhc2VfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtMTc0Niw3ICsxNTA5LDYgQEAKIAlwYy0+Y1swXSA9IEVSQVNFOwogCXBjLT5jWzFdID0gMTsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfc3BhY2VfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLCBpbnQgY291bnQsIHU4IGNtZCkKQEAgLTE3NTYsNyArMTUxOCw2IEBACiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihjb3VudCksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzFdKTsKIAlwYy0+Y1sxXSA9IGNtZDsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogLyogUXVldWUgdXAgYSBjaGFyYWN0ZXIgZGV2aWNlIG9yaWdpbmF0ZWQgd3JpdGUgcmVxdWVzdC4gKi8KQEAgLTI0MjEsOSArMjE4MiwxMiBAQAogCWlmIChpID49IE1BWF9IV0lGUyAqIE1BWF9EUklWRVMpCiAJCXJldHVybiAtRU5YSU87CiAKKwlsb2NrX2tlcm5lbCgpOwogCXRhcGUgPSBpZGVfdGFwZV9jaHJkZXZfZ2V0KGkpOwotCWlmICghdGFwZSkKKwlpZiAoIXRhcGUpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOWElPOworCX0KIAogCWRlYnVnX2xvZyhEQkdfQ0hSREVWLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKIApAQCAtMjQ4MiwxMCArMjI0NiwxMiBAQAogCQkJfQogCQl9CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogb3V0X3B1dF90YXBlOgogCWlkZV90YXBlX3B1dCh0YXBlKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KIApAQCAtMjc0Niw5ICsyNTEyLDggQEAKIAkgKiBFbnN1cmUgdGhhdCB0aGUgbnVtYmVyIHdlIGdvdCBtYWtlcyBzZW5zZTsgbGltaXQgaXQgd2l0aGluCiAJICogSURFVEFQRV9EU0NfUldfTUlOIGFuZCBJREVUQVBFX0RTQ19SV19NQVguCiAJICovCi0JdGFwZS0+YmVzdF9kc2NfcndfZnJlcSA9IG1heF90KHVuc2lnbmVkIGxvbmcsCi0JCQkJbWluX3QodW5zaWduZWQgbG9uZywgdCwgSURFVEFQRV9EU0NfUldfTUFYKSwKLQkJCQlJREVUQVBFX0RTQ19SV19NSU4pOworCXRhcGUtPmJlc3RfZHNjX3J3X2ZyZXEgPSBjbGFtcF90KHVuc2lnbmVkIGxvbmcsIHQsIElERVRBUEVfRFNDX1JXX01JTiwKKwkJCQkJIElERVRBUEVfRFNDX1JXX01BWCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXRhcGU6ICVzIDwtPiAlczogJWRLQnBzLCAlZColZGtCIGJ1ZmZlciwgIgogCQkiJWx1bXMgdERTQyVzXG4iLAogCQlkcml2ZS0+bmFtZSwgdGFwZS0+bmFtZSwgKih1MTYgKikmdGFwZS0+Y2Fwc1sxNF0sCkBAIC0yOTAwLDExICsyNjY1LDYgQEAKIAkJCQkiIHRoZSBkcml2ZXJcbiIsIGRyaXZlLT5uYW1lKTsKIAkJZ290byBmYWlsZWQ7CiAJfQotCWlmIChkcml2ZS0+c2NzaSkgewotCQlwcmludGsoS0VSTl9JTkZPICJpZGUtdGFwZTogcGFzc2luZyBkcml2ZSAlcyB0byBpZGUtc2NzaSIKLQkJCQkgIiBlbXVsYXRpb24uXG4iLCBkcml2ZS0+bmFtZSk7Ci0JCWdvdG8gZmFpbGVkOwotCX0KIAl0YXBlID0ga3phbGxvYyhzaXplb2YoaWRldGFwZV90YXBlX3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAodGFwZSA9PSBOVUxMKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6ICVzOiBDYW4ndCBhbGxvY2F0ZSBhIHRhcGUgc3RydWN0XG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMgYi9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYwppbmRleCBhYjU0NWZmLi5jZjU1YTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYwpAQCAtMTA5LDEzICsxMDksMTUgQEAKIAogCWlmICgodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfRE1BX1BJT19GQUxMQkFDSykgPT0gMCkgewogCQlpZGVfdGZfZHVtcChkcml2ZS0+bmFtZSwgdGYpOworCQlpZGVfc2V0X2lycShkcml2ZSwgMSk7CisJCVNFTEVDVF9NQVNLKGRyaXZlLCAwKTsKIAkJaHdpZi0+dGZfbG9hZChkcml2ZSwgdGFzayk7CiAJfQogCiAJc3dpdGNoICh0YXNrLT5kYXRhX3BoYXNlKSB7CiAJY2FzZSBUQVNLRklMRV9NVUxUSV9PVVQ6CiAJY2FzZSBUQVNLRklMRV9PVVQ6Ci0JCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCB0Zi0+Y29tbWFuZCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKKwkJaHdpZi0+T1VUQlNZTkMoaHdpZiwgdGYtPmNvbW1hbmQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAJCW5kZWxheSg0MDApOwkvKiBGSVhNRSAqLwogCQlyZXR1cm4gcHJlX3Rhc2tfb3V0X2ludHIoZHJpdmUsIHRhc2stPnJxKTsKIAljYXNlIFRBU0tGSUxFX01VTFRJX0lOOgpAQCAtNDkyLDExICs0OTQsMTIgQEAKIAogaW50IGlkZV9yYXdfdGFza2ZpbGUoaWRlX2RyaXZlX3QgKmRyaXZlLCBpZGVfdGFza190ICp0YXNrLCB1OCAqYnVmLCB1MTYgbnNlY3QpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCBlcnJvcjsKIAotCWJsa19ycV9pbml0KE5VTEwsICZycSk7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7Ci0JcnEuYnVmZmVyID0gYnVmOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCXJxLT5idWZmZXIgPSBidWY7CiAKIAkvKgogCSAqIChrcykgV2UgdHJhbnNmZXIgY3VycmVudGx5IG9ubHkgd2hvbGUgc2VjdG9ycy4KQEAgLTUwNCwxNiArNTA3LDE5IEBACiAJICogaWYgd2Ugd291bGQgZmluZCBhIHNvbHV0aW9uIHRvIHRyYW5zZmVyIGFueSBzaXplLgogCSAqIFRvIHN1cHBvcnQgc3BlY2lhbCBjb21tYW5kcyBsaWtlIFJFQUQgTE9ORy4KIAkgKi8KLQlycS5oYXJkX25yX3NlY3RvcnMgPSBycS5ucl9zZWN0b3JzID0gbnNlY3Q7Ci0JcnEuaGFyZF9jdXJfc2VjdG9ycyA9IHJxLmN1cnJlbnRfbnJfc2VjdG9ycyA9IG5zZWN0OworCXJxLT5oYXJkX25yX3NlY3RvcnMgPSBycS0+bnJfc2VjdG9ycyA9IG5zZWN0OworCXJxLT5oYXJkX2N1cl9zZWN0b3JzID0gcnEtPmN1cnJlbnRfbnJfc2VjdG9ycyA9IG5zZWN0OwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX1dSSVRFKQotCQlycS5jbWRfZmxhZ3MgfD0gUkVRX1JXOworCQlycS0+Y21kX2ZsYWdzIHw9IFJFUV9SVzsKIAotCXJxLnNwZWNpYWwgPSB0YXNrOwotCXRhc2stPnJxID0gJnJxOworCXJxLT5zcGVjaWFsID0gdGFzazsKKwl0YXNrLT5ycSA9IHJxOwogCi0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKKworCXJldHVybiBlcnJvcjsKIH0KIAogRVhQT1JUX1NZTUJPTChpZGVfcmF3X3Rhc2tmaWxlKTsKQEAgLTczOSwxMiArNzQ1LDE0IEBACiAJc3RydWN0IGhkX2RyaXZlaWQgKmlkID0gZHJpdmUtPmlkOwogCiAJaWYgKE5VTEwgPT0gKHZvaWQgKikgYXJnKSB7Ci0JCXN0cnVjdCByZXF1ZXN0IHJxOworCQlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAKLQkJaWRlX2luaXRfZHJpdmVfY21kKCZycSk7Ci0JCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCQlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCQlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CisJCWVyciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCQlibGtfcHV0X3JlcXVlc3QocnEpOwogCi0JCXJldHVybiBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwkJcmV0dXJuIGVycjsKIAl9CiAKIAlpZiAoY29weV9mcm9tX3VzZXIoYXJncywgKHZvaWQgX191c2VyICopYXJnLCA0KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS10aW1pbmcuaCBiL2RyaXZlcnMvaWRlL2lkZS10aW1pbmcuaAppbmRleCAzYjEyZmZlLi4yZTkxYzU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtdGltaW5nLmgKKysrIGIvZHJpdmVycy9pZGUvaWRlLXRpbWluZy5oCkBAIC05NSw3ICs5NSw2IEBACiAjZGVmaW5lIElERV9USU1JTkdfVURNQQkJMHg4MAogI2RlZmluZSBJREVfVElNSU5HX0FMTAkJMHhmZgogCi0jZGVmaW5lIEZJVCh2LHZtaW4sdm1heCkJbWF4X3Qoc2hvcnQsbWluX3Qoc2hvcnQsdix2bWF4KSx2bWluKQogI2RlZmluZSBFTk9VR0godix1bml0KQkJKCgodiktMSkvKHVuaXQpKzEpCiAjZGVmaW5lIEVaKHYsdW5pdCkJCSgodik/RU5PVUdIKHYsdW5pdCk6MCkKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLmMgYi9kcml2ZXJzL2lkZS9pZGUuYwppbmRleCAzMDA0MzFkLi4yYjg0NTM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUuYworKysgYi9kcml2ZXJzL2lkZS9pZGUuYwpAQCAtODYsMTMgKzg2LDEwIEBACiAJCQkJCUlERTZfTUFKT1IsIElERTdfTUFKT1IsCiAJCQkJCUlERThfTUFKT1IsIElERTlfTUFKT1IgfTsKIAotc3RhdGljIGludCBpZGVidXNfcGFyYW1ldGVyOwkvKiBob2xkcyB0aGUgImlkZWJ1cz0iIHBhcmFtZXRlciAqLwotc3RhdGljIGludCBzeXN0ZW1fYnVzX3NwZWVkOwkvKiBob2xkcyB3aGF0IHdlIHRoaW5rIGlzIFZFU0EvUENJIGJ1cyBzcGVlZCAqLwotCiBERUZJTkVfTVVURVgoaWRlX2NmZ19tdHgpOwotIF9fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIERFRklORV9TUElOTE9DSyhpZGVfbG9jayk7CiAKLWludCBub2F1dG9kbWEgPSAwOworX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgREVGSU5FX1NQSU5MT0NLKGlkZV9sb2NrKTsKK0VYUE9SVF9TWU1CT0woaWRlX2xvY2spOwogCiBpZGVfaHdpZl90IGlkZV9od2lmc1tNQVhfSFdJRlNdOwkvKiBtYXN0ZXIgZGF0YSByZXBvc2l0b3J5ICovCiAKQEAgLTEzOSw3ICsxMzYsNiBAQAogCQlkcml2ZS0+bWVkaWEJCQk9IGlkZV9kaXNrOwogCQlkcml2ZS0+c2VsZWN0LmFsbAkJPSAodW5pdDw8NCl8MHhhMDsKIAkJZHJpdmUtPmh3aWYJCQk9IGh3aWY7Ci0JCWRyaXZlLT5jdGwJCQk9IDB4MDg7CiAJCWRyaXZlLT5yZWFkeV9zdGF0CQk9IFJFQURZX1NUQVQ7CiAJCWRyaXZlLT5iYWRfd3N0YXQJCT0gQkFEX1dfU1RBVDsKIAkJZHJpdmUtPnNwZWNpYWwuYi5yZWNhbGlicmF0ZQk9IDE7CkBAIC0xNTQsMzIgKzE1MCw5IEBACiAJfQogfQogCi0vKgotICogaW5pdF9pZGVfZGF0YSgpIHNldHMgcmVhc29uYWJsZSBkZWZhdWx0IHZhbHVlcyBpbnRvIGFsbCBmaWVsZHMKLSAqIG9mIGFsbCBpbnN0YW5jZXMgb2YgdGhlIGh3aWZzIGFuZCBkcml2ZXMsIGJ1dCBvbmx5IG9uIHRoZSBmaXJzdCBjYWxsLgotICogU3Vic2VxdWVudCBjYWxscyBoYXZlIG5vIGVmZmVjdCAodGhleSBkb24ndCB3aXBlIG91dCBhbnl0aGluZykuCi0gKgotICogVGhpcyByb3V0aW5lIGlzIG5vcm1hbGx5IGNhbGxlZCBhdCBkcml2ZXIgaW5pdGlhbGl6YXRpb24gdGltZSwKLSAqIGJ1dCBtYXkgYWxzbyBiZSBjYWxsZWQgTVVDSCBlYXJsaWVyIGR1cmluZyBrZXJuZWwgImNvbW1hbmQtbGluZSIKLSAqIHBhcmFtZXRlciBwcm9jZXNzaW5nLiAgQXMgc3VjaCwgd2UgY2Fubm90IGRlcGVuZCBvbiBhbnkgb3RoZXIgcGFydHMKLSAqIG9mIHRoZSBrZXJuZWwgKHN1Y2ggYXMgbWVtb3J5IGFsbG9jYXRpb24pIHRvIGJlIGZ1bmN0aW9uaW5nIHlldC4KLSAqCi0gKiBUaGlzIGlzIHRvbyBiYWQsIGFzIG90aGVyd2lzZSB3ZSBjb3VsZCBkeW5hbWljYWxseSBhbGxvY2F0ZSB0aGUKLSAqIGlkZV9kcml2ZV90IHN0cnVjdHMgYXMgbmVlZGVkLCByYXRoZXIgdGhhbiBhbHdheXMgY29uc3VtaW5nIG1lbW9yeQotICogZm9yIHRoZSBtYXggcG9zc2libGUgbnVtYmVyIChNQVhfSFdJRlMgKiBNQVhfRFJJVkVTKSBvZiB0aGVtLgotICoKLSAqIEZJWE1FOiBXZSBzaG91bGQgc3R1ZmYgdGhlIHNldHVwIGRhdGEgaW50byBfX2luaXQgYW5kIGNvcHkgdGhlCi0gKiByZWxldmFudCBod2lmcy9hbGxvY2F0ZSB0aGVtIHByb3Blcmx5IGR1cmluZyBib290LgotICovCi0jZGVmaW5lIE1BR0lDX0NPT0tJRSAweDEyMzQ1Njc4CiBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9pZGVfZGF0YSAodm9pZCkKIHsKIAl1bnNpZ25lZCBpbnQgaW5kZXg7Ci0Jc3RhdGljIHVuc2lnbmVkIGxvbmcgbWFnaWNfY29va2llID0gTUFHSUNfQ09PS0lFOwotCi0JaWYgKG1hZ2ljX2Nvb2tpZSAhPSBNQUdJQ19DT09LSUUpCi0JCXJldHVybjsJCS8qIGFscmVhZHkgaW5pdGlhbGl6ZWQgKi8KLQltYWdpY19jb29raWUgPSAwOwogCiAJLyogSW5pdGlhbGlzZSBhbGwgaW50ZXJmYWNlIHN0cnVjdHVyZXMgKi8KIAlmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBNQVhfSFdJRlM7ICsraW5kZXgpIHsKQEAgLTE4OSwzOCArMTYyLDYgQEAKIAl9CiB9CiAKLS8qKgotICoJaWRlX3N5c3RlbV9idXNfc3BlZWQJLQlndWVzcyBidXMgc3BlZWQKLSAqCi0gKglpZGVfc3lzdGVtX2J1c19zcGVlZCgpIHJldHVybnMgd2hhdCB3ZSB0aGluayBpcyB0aGUgc3lzdGVtIFZFU0EvUENJCi0gKglidXMgc3BlZWQgKGluIE1IeikuIFRoaXMgaXMgdXNlZCBmb3IgY2FsY3VsYXRpbmcgaW50ZXJmYWNlIFBJTyB0aW1pbmdzLgotICoJVGhlIGRlZmF1bHQgaXMgNDAgZm9yIGtub3duIFBDSSBzeXN0ZW1zLCA1MCBvdGhlcndpc2UuCi0gKglUaGUgImlkZWJ1cz14eCIgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoaXMgdmFsdWUuCi0gKglUaGUgYWN0dWFsIHZhbHVlIHRvIGJlIHVzZWQgaXMgY29tcHV0ZWQvZGlzcGxheWVkIHRoZSBmaXJzdCB0aW1lCi0gKgl0aHJvdWdoLiBEcml2ZXJzIHNob3VsZCBvbmx5IHVzZSB0aGlzIGFzIGEgbGFzdCByZXNvcnQuCi0gKgotICoJUmV0dXJucyBhIGd1ZXNzZWQgc3BlZWQgaW4gTUh6LgotICovCi0KLXN0YXRpYyBpbnQgaWRlX3N5c3RlbV9idXNfc3BlZWQodm9pZCkKLXsKLSNpZmRlZiBDT05GSUdfUENJCi0Jc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHBjaV9kZWZhdWx0W10gPSB7Ci0JCXsgUENJX0RFVklDRShQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lEKSB9LAotCQl7IH0KLQl9OwotI2Vsc2UKLSNkZWZpbmUgcGNpX2RlZmF1bHQgMAotI2VuZGlmIC8qIENPTkZJR19QQ0kgKi8KLQotCS8qIHVzZXIgc3VwcGxpZWQgdmFsdWUgKi8KLQlpZiAoaWRlYnVzX3BhcmFtZXRlcikKLQkJcmV0dXJuIGlkZWJ1c19wYXJhbWV0ZXI7Ci0KLQkvKiBzYWZlIGRlZmF1bHQgdmFsdWUgZm9yIFBDSSBvciBWRVNBIGFuZCBQQ0kqLwotCXJldHVybiBwY2lfZGV2X3ByZXNlbnQocGNpX2RlZmF1bHQpID8gMzMgOiA1MDsKLX0KLQogdm9pZCBpZGVfcmVtb3ZlX3BvcnRfZnJvbV9od2dyb3VwKGlkZV9od2lmX3QgKmh3aWYpCiB7CiAJaWRlX2h3Z3JvdXBfdCAqaHdncm91cCA9IGh3aWYtPmh3Z3JvdXA7CkBAIC00OTgsNyArNDM5LDcgQEAKIAogaW50IHNldF9waW9fbW9kZShpZGVfZHJpdmVfdCAqZHJpdmUsIGludCBhcmcpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOwogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAljb25zdCBzdHJ1Y3QgaWRlX3BvcnRfb3BzICpwb3J0X29wcyA9IGh3aWYtPnBvcnRfb3BzOwogCkBAIC01MTIsMTIgKzQ1MywxNSBAQAogCWlmIChkcml2ZS0+c3BlY2lhbC5iLnNldF90dW5lKQogCQlyZXR1cm4gLUVCVVNZOwogCi0JaWRlX2luaXRfZHJpdmVfY21kKCZycSk7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CiAKIAlkcml2ZS0+dHVuZV9yZXEgPSAodTgpIGFyZzsKIAlkcml2ZS0+c3BlY2lhbC5iLnNldF90dW5lID0gMTsKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisKKwlibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTUzNywyNSArNDgxLDExIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qKgotICoJc3lzdGVtX2J1c19jbG9jawktCWNsb2NrIGd1ZXNzCi0gKgotICoJRXh0ZXJuYWwgdmVyc2lvbiBvZiB0aGUgYnVzIGNsb2NrIGd1ZXNzIHVzZWQgYnkgdmVyeSBvbGQgSURFIGRyaXZlcnMKLSAqCWZvciB0aGluZ3MgbGlrZSBWTEIgdGltaW5ncy4gU2hvdWxkIG5vdCBiZSB1c2VkLgotICovCi0KLWludCBzeXN0ZW1fYnVzX2Nsb2NrICh2b2lkKQotewotCXJldHVybiBzeXN0ZW1fYnVzX3NwZWVkOwotfQotCi1FWFBPUlRfU1lNQk9MKHN5c3RlbV9idXNfY2xvY2spOwotCiBzdGF0aWMgaW50IGdlbmVyaWNfaWRlX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2LCBwbV9tZXNzYWdlX3QgbWVzZykKIHsKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBkZXYtPmRyaXZlcl9kYXRhOwogCWlkZV9od2lmX3QgKmh3aWYgPSBIV0lGKGRyaXZlKTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJc3RydWN0IHJlcXVlc3RfcG1fc3RhdGUgcnFwbTsKIAlpZGVfdGFza190IGFyZ3M7CiAJaW50IHJldDsKQEAgLTU2NCwxOCArNDk0LDE5IEBACiAJaWYgKCEoZHJpdmUtPmRuICUgMikpCiAJCWlkZV9hY3BpX2dldF90aW1pbmcoaHdpZik7CiAKLQlibGtfcnFfaW5pdChOVUxMLCAmcnEpOwogCW1lbXNldCgmcnFwbSwgMCwgc2l6ZW9mKHJxcG0pKTsKIAltZW1zZXQoJmFyZ3MsIDAsIHNpemVvZihhcmdzKSk7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9QTV9TVVNQRU5EOwotCXJxLnNwZWNpYWwgPSAmYXJnczsKLQlycS5kYXRhID0gJnJxcG07CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9QTV9TVVNQRU5EOworCXJxLT5zcGVjaWFsID0gJmFyZ3M7CisJcnEtPmRhdGEgPSAmcnFwbTsKIAlycXBtLnBtX3N0ZXAgPSBpZGVfcG1fc3RhdGVfc3RhcnRfc3VzcGVuZDsKIAlpZiAobWVzZy5ldmVudCA9PSBQTV9FVkVOVF9QUkVUSEFXKQogCQltZXNnLmV2ZW50ID0gUE1fRVZFTlRfRlJFRVpFOwogCXJxcG0ucG1fc3RhdGUgPSBtZXNnLmV2ZW50OwogCi0JcmV0ID0gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJcmV0ID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAkvKiBvbmx5IGNhbGwgQUNQSSBfUFMzIGFmdGVyIGJvdGggZHJpdmVycyBhcmUgc3VzcGVuZGVkICovCiAJaWYgKCFyZXQgJiYgKCgoZHJpdmUtPmRuICUgMikgJiYgaHdpZi0+ZHJpdmVzWzBdLnByZXNlbnQKIAkJICYmIGh3aWYtPmRyaXZlc1sxXS5wcmVzZW50KQpAQCAtNTg5LDcgKzUyMCw3IEBACiB7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gZGV2LT5kcml2ZXJfZGF0YTsKIAlpZGVfaHdpZl90ICpod2lmID0gSFdJRihkcml2ZSk7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOwogCXN0cnVjdCByZXF1ZXN0X3BtX3N0YXRlIHJxcG07CiAJaWRlX3Rhc2tfdCBhcmdzOwogCWludCBlcnI7CkBAIC02MDIsMTYgKzUzMywxOCBAQAogCiAJaWRlX2FjcGlfZXhlY190ZnMoZHJpdmUpOwogCi0JYmxrX3JxX2luaXQoTlVMTCwgJnJxKTsKIAltZW1zZXQoJnJxcG0sIDAsIHNpemVvZihycXBtKSk7CiAJbWVtc2V0KCZhcmdzLCAwLCBzaXplb2YoYXJncykpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfUE1fUkVTVU1FOwotCXJxLnNwZWNpYWwgPSAmYXJnczsKLQlycS5kYXRhID0gJnJxcG07CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9QTV9SRVNVTUU7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKKwlycS0+c3BlY2lhbCA9ICZhcmdzOworCXJxLT5kYXRhID0gJnJxcG07CiAJcnFwbS5wbV9zdGVwID0gaWRlX3BtX3N0YXRlX3N0YXJ0X3Jlc3VtZTsKIAlycXBtLnBtX3N0YXRlID0gUE1fRVZFTlRfT047CiAKLQllcnIgPSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV9oZWFkX3dhaXQpOworCWVyciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDEpOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAKIAlpZiAoZXJyID09IDAgJiYgZGV2LT5kcml2ZXIpIHsKIAkJaWRlX2RyaXZlcl90ICpkcnYgPSB0b19pZGVfZHJpdmVyKGRldi0+ZHJpdmVyKTsKQEAgLTc2NCwyMTIgKzY5Nyw2IEBACiAKIEVYUE9SVF9TWU1CT0woZ2VuZXJpY19pZGVfaW9jdGwpOwogCi0vKgotICogc3RyaWR4KCkgcmV0dXJucyB0aGUgb2Zmc2V0IG9mIGMgd2l0aGluIHMsCi0gKiBvciAtMSBpZiBjIGlzICdcMCcgb3Igbm90IGZvdW5kIHdpdGhpbiBzLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBzdHJpZHggKGNvbnN0IGNoYXIgKnMsIGNoYXIgYykKLXsKLQljaGFyICppID0gc3RyY2hyKHMsIGMpOwotCXJldHVybiAoaSAmJiBjKSA/IGkgLSBzIDogLTE7Ci19Ci0KLS8qCi0gKiBtYXRjaF9wYXJtKCkgZG9lcyBwYXJzaW5nIGZvciBpZGVfc2V0dXAoKToKLSAqCi0gKiAxLiB0aGUgZmlyc3QgY2hhciBvZiBzIG11c3QgYmUgJz0nLgotICogMi4gaWYgdGhlIHJlbWFpbmRlciBtYXRjaGVzIG9uZSBvZiB0aGUgc3VwcGxpZWQga2V5d29yZHMsCi0gKiAgICAgdGhlIGluZGV4ICgxIGJhc2VkKSBvZiB0aGUga2V5d29yZCBpcyBuZWdhdGVkIGFuZCByZXR1cm5lZC4KLSAqIDMuIGlmIHRoZSByZW1haW5kZXIgaXMgYSBzZXJpZXMgb2Ygbm8gbW9yZSB0aGFuIG1heF92YWxzIG51bWJlcnMKLSAqICAgICBzZXBhcmF0ZWQgYnkgY29tbWFzLCB0aGUgbnVtYmVycyBhcmUgc2F2ZWQgaW4gdmFsc1tdIGFuZCBhCi0gKiAgICAgY291bnQgb2YgaG93IG1hbnkgd2VyZSBzYXZlZCBpcyByZXR1cm5lZC4gIEJhc2UxMCBpcyBhc3N1bWVkLAotICogICAgIGFuZCBiYXNlMTYgaXMgYWxsb3dlZCB3aGVuIHByZWZpeGVkIHdpdGggIjB4Ii4KLSAqIDQuIG90aGVyd2lzZSwgemVybyBpcyByZXR1cm5lZC4KLSAqLwotc3RhdGljIGludCBfX2luaXQgbWF0Y2hfcGFybSAoY2hhciAqcywgY29uc3QgY2hhciAqa2V5d29yZHNbXSwgaW50IHZhbHNbXSwgaW50IG1heF92YWxzKQotewotCXN0YXRpYyBjb25zdCBjaGFyICpkZWNpbWFsID0gIjAxMjM0NTY3ODkiOwotCXN0YXRpYyBjb25zdCBjaGFyICpoZXggPSAiMDEyMzQ1Njc4OWFiY2RlZiI7Ci0JaW50IGksIG47Ci0KLQlpZiAoKnMrKyA9PSAnPScpIHsKLQkJLyoKLQkJICogVHJ5IG1hdGNoaW5nIGFnYWluc3QgdGhlIHN1cHBsaWVkIGtleXdvcmRzLAotCQkgKiBhbmQgcmV0dXJuIC0oaW5kZXgrMSkgaWYgd2UgbWF0Y2ggb25lCi0JCSAqLwotCQlpZiAoa2V5d29yZHMgIT0gTlVMTCkgewotCQkJZm9yIChpID0gMDsgKmtleXdvcmRzICE9IE5VTEw7ICsraSkgewotCQkJCWlmICghc3RyY21wKHMsICprZXl3b3JkcysrKSkKLQkJCQkJcmV0dXJuIC0oaSsxKTsKLQkJCX0KLQkJfQotCQkvKgotCQkgKiBMb29rIGZvciBhIHNlcmllcyBvZiBubyBtb3JlIHRoYW4gIm1heF92YWxzIgotCQkgKiBudW1lcmljIHZhbHVlcyBzZXBhcmF0ZWQgYnkgY29tbWFzLCBpbiBiYXNlMTAsCi0JCSAqIG9yIGJhc2UxNiB3aGVuIHByZWZpeGVkIHdpdGggIjB4Ii4KLQkJICogUmV0dXJuIGEgY291bnQgb2YgaG93IG1hbnkgd2VyZSBmb3VuZC4KLQkJICovCi0JCWZvciAobiA9IDA7IChpID0gc3RyaWR4KGRlY2ltYWwsICpzKSkgPj0gMDspIHsKLQkJCXZhbHNbbl0gPSBpOwotCQkJd2hpbGUgKChpID0gc3RyaWR4KGRlY2ltYWwsICorK3MpKSA+PSAwKQotCQkJCXZhbHNbbl0gPSAodmFsc1tuXSAqIDEwKSArIGk7Ci0JCQlpZiAoKnMgPT0gJ3gnICYmICF2YWxzW25dKSB7Ci0JCQkJd2hpbGUgKChpID0gc3RyaWR4KGhleCwgKisrcykpID49IDApCi0JCQkJCXZhbHNbbl0gPSAodmFsc1tuXSAqIDB4MTApICsgaTsKLQkJCX0KLQkJCWlmICgrK24gPT0gbWF4X3ZhbHMpCi0JCQkJYnJlYWs7Ci0JCQlpZiAoKnMgPT0gJywnIHx8ICpzID09ICc7JykKLQkJCQkrK3M7Ci0JCX0KLQkJaWYgKCEqcykKLQkJCXJldHVybiBuOwotCX0KLQlyZXR1cm4gMDsJLyogemVybyA9IG5vdGhpbmcgbWF0Y2hlZCAqLwotfQotCi0vKgotICogaWRlX3NldHVwKCkgZ2V0cyBjYWxsZWQgVkVSWSBFQVJMWSBkdXJpbmcgaW5pdGlhbGl6YXRpb24sCi0gKiB0byBoYW5kbGUga2VybmVsICJjb21tYW5kIGxpbmUiIHN0cmluZ3MgYmVnaW5uaW5nIHdpdGggImhkeD0iIG9yICJpZGUiLgotICoKLSAqIFJlbWVtYmVyIHRvIHVwZGF0ZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0IGlmIHlvdSBjaGFuZ2Ugc29tZXRoaW5nIGhlcmUuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGlkZV9zZXR1cChjaGFyICpzKQotewotCWlkZV9od2lmX3QgKmh3aWY7Ci0JaWRlX2RyaXZlX3QgKmRyaXZlOwotCXVuc2lnbmVkIGludCBodywgdW5pdDsKLQlpbnQgdmFsc1szXTsKLQljb25zdCBjaGFyIG1heF9kcml2ZSA9ICdhJyArICgoTUFYX0hXSUZTICogTUFYX0RSSVZFUykgLSAxKTsKLQotCWlmIChzdHJuY21wKHMsImhkIiwyKSA9PSAwICYmIHNbMl0gPT0gJz0nKQkvKiBoZD0gaXMgZm9yIGhkLmMgICAqLwotCQlyZXR1cm4gMDsJCQkJLyogZHJpdmVyIGFuZCBub3QgdXMgKi8KLQotCWlmIChzdHJuY21wKHMsImlkZSIsMykgJiYgc3RybmNtcChzLCJpZGVidXMiLDYpICYmIHN0cm5jbXAocywiaGQiLDIpKQotCQlyZXR1cm4gMDsKLQotCXByaW50ayhLRVJOX0lORk8gImlkZV9zZXR1cDogJXMiLCBzKTsKLQlpbml0X2lkZV9kYXRhICgpOwotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSURFRE9VQkxFUgotCWlmICghc3RyY21wKHMsICJpZGU9ZG91YmxlciIpKSB7Ci0JCWV4dGVybiBpbnQgaWRlX2RvdWJsZXI7Ci0KLQkJcHJpbnRrKCIgOiBFbmFibGVkIHN1cHBvcnQgZm9yIElERSBkb3VibGVyc1xuIik7Ci0JCWlkZV9kb3VibGVyID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lERURPVUJMRVIgKi8KLQotCWlmICghc3RyY21wKHMsICJpZGU9bm9kbWEiKSkgewotCQlwcmludGsoIiA6IFByZXZlbnRlZCBETUFcbiIpOwotCQlub2F1dG9kbWEgPSAxOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JREVBQ1BJCi0JaWYgKCFzdHJjbXAocywgImlkZT1ub2FjcGkiKSkgewotCQkvL3ByaW50aygiIDogRGlzYWJsZSBJREUgQUNQSSBzdXBwb3J0LlxuIik7Ci0JCWlkZV9ub2FjcGkgPSAxOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0JaWYgKCFzdHJjbXAocywgImlkZT1hY3BpZ3RmIikpIHsKLQkJLy9wcmludGsoIiA6IEVuYWJsZSBJREUgQUNQSSBfR1RGIHN1cHBvcnQuXG4iKTsKLQkJaWRlX2FjcGlndGYgPSAxOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0JaWYgKCFzdHJjbXAocywgImlkZT1hY3Bpb25ib290IikpIHsKLQkJLy9wcmludGsoIiA6IENhbGwgSURFIEFDUEkgbWV0aG9kcyBvbiBib290LlxuIik7Ci0JCWlkZV9hY3Bpb25ib290ID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lERUFDUEkgKi8KLQotCS8qCi0JICogTG9vayBmb3IgZHJpdmUgb3B0aW9uczogICJoZHg9IgotCSAqLwotCWlmIChzWzBdID09ICdoJyAmJiBzWzFdID09ICdkJyAmJiBzWzJdID49ICdhJyAmJiBzWzJdIDw9IG1heF9kcml2ZSkgewotCQljb25zdCBjaGFyICpoZF93b3Jkc1tdID0gewotCQkJIm5vbmUiLCAibm9wcm9iZSIsICJub3dlcnIiLCAiY2Ryb20iLCAibm9kbWEiLAotCQkJIi02IiwgIi03IiwgIi04IiwgIi05IiwgIi0xMCIsCi0JCQkibm9mbHVzaCIsICJyZW1hcCIsICJyZW1hcDYzIiwgInNjc2kiLCBOVUxMIH07Ci0JCXVuaXQgPSBzWzJdIC0gJ2EnOwotCQlodyAgID0gdW5pdCAvIE1BWF9EUklWRVM7Ci0JCXVuaXQgPSB1bml0ICUgTUFYX0RSSVZFUzsKLQkJaHdpZiA9ICZpZGVfaHdpZnNbaHddOwotCQlkcml2ZSA9ICZod2lmLT5kcml2ZXNbdW5pdF07Ci0JCWlmIChzdHJuY21wKHMgKyA0LCAiaWRlLSIsIDQpID09IDApIHsKLQkJCXN0cmxjcHkoZHJpdmUtPmRyaXZlcl9yZXEsIHMgKyA0LCBzaXplb2YoZHJpdmUtPmRyaXZlcl9yZXEpKTsKLQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQl9Ci0JCXN3aXRjaCAobWF0Y2hfcGFybSgmc1szXSwgaGRfd29yZHMsIHZhbHMsIDMpKSB7Ci0JCQljYXNlIC0xOiAvKiAibm9uZSIgKi8KLQkJCWNhc2UgLTI6IC8qICJub3Byb2JlIiAqLwotCQkJCWRyaXZlLT5ub3Byb2JlID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTM6IC8qICJub3dlcnIiICovCi0JCQkJZHJpdmUtPmJhZF93c3RhdCA9IEJBRF9SX1NUQVQ7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC00OiAvKiAiY2Ryb20iICovCi0JCQkJZHJpdmUtPnByZXNlbnQgPSAxOwotCQkJCWRyaXZlLT5tZWRpYSA9IGlkZV9jZHJvbTsKLQkJCQkvKiBhbiBBVEFQSSBkZXZpY2UgaWdub3JlcyBEUkRZICovCi0JCQkJZHJpdmUtPnJlYWR5X3N0YXQgPSAwOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtNTogLyogbm9kbWEgKi8KLQkJCQlkcml2ZS0+bm9kbWEgPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMTE6IC8qIG5vZmx1c2ggKi8KLQkJCQlkcml2ZS0+bm9mbHVzaCA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC0xMjogLyogInJlbWFwIiAqLwotCQkJCWRyaXZlLT5yZW1hcF8wX3RvXzEgPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMTM6IC8qICJyZW1hcDYzIiAqLwotCQkJCWRyaXZlLT5zZWN0MCA9IDYzOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMTQ6IC8qICJzY3NpIiAqLwotCQkJCWRyaXZlLT5zY3NpID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgMzogLyogY3lsLGhlYWQsc2VjdCAqLwotCQkJCWRyaXZlLT5tZWRpYQk9IGlkZV9kaXNrOwotCQkJCWRyaXZlLT5yZWFkeV9zdGF0ID0gUkVBRFlfU1RBVDsKLQkJCQlkcml2ZS0+Y3lsCT0gZHJpdmUtPmJpb3NfY3lsICA9IHZhbHNbMF07Ci0JCQkJZHJpdmUtPmhlYWQJPSBkcml2ZS0+Ymlvc19oZWFkID0gdmFsc1sxXTsKLQkJCQlkcml2ZS0+c2VjdAk9IGRyaXZlLT5iaW9zX3NlY3QgPSB2YWxzWzJdOwotCQkJCWRyaXZlLT5wcmVzZW50CT0gMTsKLQkJCQlkcml2ZS0+Zm9yY2VkX2dlb20gPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJZGVmYXVsdDoKLQkJCQlnb3RvIGJhZF9vcHRpb247Ci0JCX0KLQl9Ci0KLQlpZiAoc1swXSAhPSAnaScgfHwgc1sxXSAhPSAnZCcgfHwgc1syXSAhPSAnZScpCi0JCWdvdG8gYmFkX29wdGlvbjsKLQkvKgotCSAqIExvb2sgZm9yIGJ1cyBzcGVlZCBvcHRpb246ICAiaWRlYnVzPSIKLQkgKi8KLQlpZiAoc1szXSA9PSAnYicgJiYgc1s0XSA9PSAndScgJiYgc1s1XSA9PSAncycpIHsKLQkJaWYgKG1hdGNoX3Bhcm0oJnNbNl0sIE5VTEwsIHZhbHMsIDEpICE9IDEpCi0JCQlnb3RvIGJhZF9vcHRpb247Ci0JCWlmICh2YWxzWzBdID49IDIwICYmIHZhbHNbMF0gPD0gNjYpIHsKLQkJCWlkZWJ1c19wYXJhbWV0ZXIgPSB2YWxzWzBdOwotCQl9IGVsc2UKLQkJCXByaW50aygiIC0tIEJBRCBCVVMgU1BFRUQhIEV4cGVjdGVkIHZhbHVlIGZyb20gMjAgdG8gNjYiKTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotCi1iYWRfb3B0aW9uOgotCXByaW50aygiIC0tIEJBRCBPUFRJT05cbiIpOwotCXJldHVybiAxOwotb2Jzb2xldGVfb3B0aW9uOgotCXByaW50aygiIC0tIE9CU09MRVRFIE9QVElPTiwgV0lMTCBCRSBSRU1PVkVEIFNPT04hXG4iKTsKLQlyZXR1cm4gMTsKLX0KLQotRVhQT1JUX1NZTUJPTChpZGVfbG9jayk7Ci0KIHN0YXRpYyBpbnQgaWRlX2J1c19tYXRjaChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCiB7CiAJcmV0dXJuIDE7CkBAIC0xMjgxLDExICsxMDA4LDYgQEAKIAlpbnQgcmV0OwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiVW5pZm9ybSBNdWx0aS1QbGF0Zm9ybSBFLUlERSBkcml2ZXJcbiIpOwotCXN5c3RlbV9idXNfc3BlZWQgPSBpZGVfc3lzdGVtX2J1c19zcGVlZCgpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiaWRlOiBBc3N1bWluZyAlZE1IeiBzeXN0ZW0gYnVzIHNwZWVkICIKLQkJCSAiZm9yIFBJTyBtb2RlcyVzXG4iLCBzeXN0ZW1fYnVzX3NwZWVkLAotCQkJaWRlYnVzX3BhcmFtZXRlciA/ICIiIDogIjsgb3ZlcnJpZGUgd2l0aCBpZGVidXM9eHgiKTsKIAogCXJldCA9IGJ1c19yZWdpc3RlcigmaWRlX2J1c190eXBlKTsKIAlpZiAocmV0IDwgMCkgewpAQCAtMTMxMSwzMiArMTAzMyw3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotI2lmZGVmIE1PRFVMRQotc3RhdGljIGNoYXIgKm9wdGlvbnMgPSBOVUxMOwotbW9kdWxlX3BhcmFtKG9wdGlvbnMsIGNoYXJwLCAwKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX29wdGlvbnMgKGNoYXIgKmxpbmUpCi17Ci0JY2hhciAqbmV4dCA9IGxpbmU7Ci0KLQlpZiAobGluZSA9PSBOVUxMIHx8ICEqbGluZSkKLQkJcmV0dXJuOwotCXdoaWxlICgobGluZSA9IG5leHQpICE9IE5VTEwpIHsKLSAJCWlmICgobmV4dCA9IHN0cmNocihsaW5lLCcgJykpICE9IE5VTEwpCi0JCQkqbmV4dCsrID0gMDsKLQkJaWYgKCFpZGVfc2V0dXAobGluZSkpCi0JCQlwcmludGsgKEtFUk5fSU5GTyAiVW5rbm93biBvcHRpb24gJyVzJ1xuIiwgbGluZSk7Ci0JfQotfQotCi1pbnQgX19pbml0IGluaXRfbW9kdWxlICh2b2lkKQotewotCXBhcnNlX29wdGlvbnMob3B0aW9ucyk7Ci0JcmV0dXJuIGlkZV9pbml0KCk7Ci19Ci0KLXZvaWQgX19leGl0IGNsZWFudXBfbW9kdWxlICh2b2lkKQorc3RhdGljIHZvaWQgX19leGl0IGlkZV9leGl0KHZvaWQpCiB7CiAJcHJvY19pZGVfZGVzdHJveSgpOwogCkBAIC0xMzQ1LDEwICsxMDQyLDcgQEAKIAlidXNfdW5yZWdpc3RlcigmaWRlX2J1c190eXBlKTsKIH0KIAotI2Vsc2UgLyogIU1PRFVMRSAqLwotCi1fX3NldHVwKCIiLCBpZGVfc2V0dXApOwotCiBtb2R1bGVfaW5pdChpZGVfaW5pdCk7Cittb2R1bGVfZXhpdChpZGVfZXhpdCk7CiAKLSNlbmRpZiAvKiBNT0RVTEUgKi8KK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9hbGkxNHh4LmMgYi9kcml2ZXJzL2lkZS9sZWdhY3kvYWxpMTR4eC5jCmluZGV4IDkwYzY1Y2YuLjA1MjEyNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9hbGkxNHh4LmMKKysrIGIvZHJpdmVycy9pZGUvbGVnYWN5L2FsaTE0eHguYwpAQCAtMTE2LDcgKzExNiw3IEBACiAJaW50IHRpbWUxLCB0aW1lMjsKIAl1OCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zLCBwYXJhbTQ7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgYnVzX3NwZWVkID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgYnVzX3NwZWVkID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IDUwOwogCiAJLyogY2FsY3VsYXRlIHRpbWluZywgYWNjb3JkaW5nIHRvIFBJTyBtb2RlICovCiAJdGltZTEgPSBpZGVfcGlvX2N5Y2xlX3RpbWUoZHJpdmUsIHBpbyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvZ2F5bGUuYyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9nYXlsZS5jCmluZGV4IGZlZDdkODEuLmI3ODk0MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9nYXlsZS5jCisrKyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9nYXlsZS5jCkBAIC02NCw5ICs2NCw3IEBACiAjZGVmaW5lIEdBWUxFX0hBU19DT05UUk9MX1JFRwkoIWlkZV9kb3VibGVyKQogI2RlZmluZSBHQVlMRV9JREVSRUdfU0laRQkoaWRlX2RvdWJsZXIgPyAweDEwMDAgOiAweDIwMDApCiAKLWludCBpZGVfZG91YmxlciA9IDA7CS8qIHN1cHBvcnQgSURFIGRvdWJsZXJzPyAqLwotRVhQT1JUX1NZTUJPTF9HUEwoaWRlX2RvdWJsZXIpOwotCitzdGF0aWMgaW50IGlkZV9kb3VibGVyOwogbW9kdWxlX3BhcmFtX25hbWVkKGRvdWJsZXIsIGlkZV9kb3VibGVyLCBib29sLCAwKTsKIE1PRFVMRV9QQVJNX0RFU0MoZG91YmxlciwgImVuYWJsZSBzdXBwb3J0IGZvciBJREUgZG91YmxlcnMiKTsKICNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVET1VCTEVSICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvaHQ2NTYwYi5jIGIvZHJpdmVycy9pZGUvbGVnYWN5L2h0NjU2MGIuYwppbmRleCA0ZmU1MTZkLi5kZDZkZmIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9sZWdhY3kvaHQ2NTYwYi5jCisrKyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9odDY1NjBiLmMKQEAgLTIxMiw3ICsyMTIsNyBAQAogewogCWludCBhY3RpdmVfdGltZSwgcmVjb3ZlcnlfdGltZTsKIAlpbnQgYWN0aXZlX2N5Y2xlcywgcmVjb3ZlcnlfY3ljbGVzOwotCWludCBidXNfc3BlZWQgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpOworCWludCBidXNfc3BlZWQgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogNTA7CiAKICAgICAgICAgaWYgKHBpbykgewogCQl1bnNpZ25lZCBpbnQgY3ljbGVfdGltZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9pZGUtY3MuYyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9pZGUtY3MuYwppbmRleCAzMzgxNDI0Li44ZGJmNGQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9sZWdhY3kvaWRlLWNzLmMKKysrIGIvZHJpdmVycy9pZGUvbGVnYWN5L2lkZS1jcy5jCkBAIC02MywxMSArNjMsMTEgQEAKIAogI2RlZmluZSBJTlRfTU9EVUxFX1BBUk0obiwgdikgc3RhdGljIGludCBuID0gdjsgbW9kdWxlX3BhcmFtKG4sIGludCwgMCkKIAotI2lmZGVmIFBDTUNJQV9ERUJVRwotSU5UX01PRFVMRV9QQVJNKHBjX2RlYnVnLCBQQ01DSUFfREVCVUcpOworI2lmZGVmIENPTkZJR19QQ01DSUFfREVCVUcKK0lOVF9NT0RVTEVfUEFSTShwY19kZWJ1ZywgMCk7CiAjZGVmaW5lIERFQlVHKG4sIGFyZ3MuLi4pIGlmIChwY19kZWJ1Zz4obikpIHByaW50ayhLRVJOX0RFQlVHIGFyZ3MpCi1zdGF0aWMgY2hhciAqdmVyc2lvbiA9Ci0iaWRlLWNzLmMgMS4zIDIwMDIvMTAvMjYgMDU6NDU6MzEgKERhdmlkIEhpbmRzKSI7CisvKnN0YXRpYyBjaGFyICp2ZXJzaW9uID0KKyJpZGUtY3MuYyAxLjMgMjAwMi8xMC8yNiAwNTo0NTozMSAoRGF2aWQgSGluZHMpIjsqLwogI2Vsc2UKICNkZWZpbmUgREVCVUcobiwgYXJncy4uLikKICNlbmRpZgpAQCAtMzc1LDcgKzM3NSw3IEBACiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogCi12b2lkIGlkZV9yZWxlYXNlKHN0cnVjdCBwY21jaWFfZGV2aWNlICpsaW5rKQorc3RhdGljIHZvaWQgaWRlX3JlbGVhc2Uoc3RydWN0IHBjbWNpYV9kZXZpY2UgKmxpbmspCiB7CiAgICAgaWRlX2luZm9fdCAqaW5mbyA9IGxpbmstPnByaXY7CiAgICAgaWRlX2h3aWZfdCAqaHdpZiA9IGluZm8tPmh3aWY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvcWQ2NXh4LmMgYi9kcml2ZXJzL2lkZS9sZWdhY3kvcWQ2NXh4LmMKaW5kZXggNjQyNGFmMS4uNTFkYmE4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvbGVnYWN5L3FkNjV4eC5jCisrKyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9xZDY1eHguYwpAQCAtMTEwLDcgKzExMCw3IEBACiAKIHN0YXRpYyB1OCBxZDY1MDBfY29tcHV0ZV90aW1pbmcgKGlkZV9od2lmX3QgKmh3aWYsIGludCBhY3RpdmVfdGltZSwgaW50IHJlY292ZXJ5X3RpbWUpCiB7Ci0JaW50IGNsayA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGNsayA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiA1MDsKIAl1OCBhY3RfY3ljLCByZWNfY3ljOwogCiAJaWYgKGNsayA8PSAzMykgewpAQCAtMTMyLDcgKzEzMiw3IEBACiAKIHN0YXRpYyB1OCBxZDY1ODBfY29tcHV0ZV90aW1pbmcgKGludCBhY3RpdmVfdGltZSwgaW50IHJlY292ZXJ5X3RpbWUpCiB7Ci0JaW50IGNsayA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGNsayA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiA1MDsKIAl1OCBhY3RfY3ljLCByZWNfY3ljOwogCiAJYWN0X2N5YyA9IDE3IC0gSURFX0lOKGFjdGl2ZV90aW1lICAgKiBjbGsgLyAxMDAwICsgMSwgMiwgMTcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2FlYzYyeHguYyBiL2RyaXZlcnMvaWRlL3BjaS9hZWM2Mnh4LmMKaW5kZXggN2Y0NmMyMi4uYWU3YTQzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2FlYzYyeHguYworKysgYi9kcml2ZXJzL2lkZS9wY2kvYWVjNjJ4eC5jCkBAIC0xNDAsNyArMTQwLDcgQEAKIAogc3RhdGljIHVuc2lnbmVkIGludCBfX2RldmluaXQgaW5pdF9jaGlwc2V0X2FlYzYyeHgoc3RydWN0IHBjaV9kZXYgKmRldiwgY29uc3QgY2hhciAqbmFtZSkKIHsKLQlpbnQgYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzOwogCiAJaWYgKGJ1c19zcGVlZCA8PSAzMykKIAkJcGNpX3NldF9kcnZkYXRhKGRldiwgKHZvaWQgKikgYWVjNnh4eF8zM19iYXNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9hbGltMTV4My5jIGIvZHJpdmVycy9pZGUvcGNpL2FsaW0xNXgzLmMKaW5kZXggZjIxMjlkNS4uZjJkZTAwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2FsaW0xNXgzLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL2FsaW0xNXgzLmMKQEAgLTcyLDcgKzcyLDcgQEAKIAlpbnQgc190aW1lLCBhX3RpbWUsIGNfdGltZTsKIAl1OCBzX2NsYywgYV9jbGMsIHJfY2xjOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiAzMzsKIAlpbnQgcG9ydCA9IGh3aWYtPmNoYW5uZWwgPyAweDVjIDogMHg1ODsKIAlpbnQgcG9ydEZJRk8gPSBod2lmLT5jaGFubmVsID8gMHg1NSA6IDB4NTQ7CiAJdTggY2RfZG1hX2ZpZm8gPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2FtZDc0eHguYyBiL2RyaXZlcnMvaWRlL3BjaS9hbWQ3NHh4LmMKaW5kZXggZWZjZjU0My4uYWQyMjIyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2FtZDc0eHguYworKysgYi9kcml2ZXJzL2lkZS9wY2kvYW1kNzR4eC5jCkBAIC01MywyMCArNTMsMjAgQEAKIAl1OCB0ID0gMCwgb2Zmc2V0ID0gYW1kX29mZnNldChkZXYpOwogCiAJcGNpX3JlYWRfY29uZmlnX2J5dGUoZGV2LCBBTURfQUREUkVTU19TRVRVUCArIG9mZnNldCwgJnQpOwotCXQgPSAodCAmIH4oMyA8PCAoKDMgLSBkbikgPDwgMSkpKSB8ICgoRklUKHRpbWluZy0+c2V0dXAsIDEsIDQpIC0gMSkgPDwgKCgzIC0gZG4pIDw8IDEpKTsKKwl0ID0gKHQgJiB+KDMgPDwgKCgzIC0gZG4pIDw8IDEpKSkgfCAoKGNsYW1wX3ZhbCh0aW1pbmctPnNldHVwLCAxLCA0KSAtIDEpIDw8ICgoMyAtIGRuKSA8PCAxKSk7CiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgQU1EX0FERFJFU1NfU0VUVVAgKyBvZmZzZXQsIHQpOwogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgQU1EXzhCSVRfVElNSU5HICsgb2Zmc2V0ICsgKDEgLSAoZG4gPj4gMSkpLAotCQkoKEZJVCh0aW1pbmctPmFjdDhiLCAxLCAxNikgLSAxKSA8PCA0KSB8IChGSVQodGltaW5nLT5yZWM4YiwgMSwgMTYpIC0gMSkpOworCQkoKGNsYW1wX3ZhbCh0aW1pbmctPmFjdDhiLCAxLCAxNikgLSAxKSA8PCA0KSB8IChjbGFtcF92YWwodGltaW5nLT5yZWM4YiwgMSwgMTYpIC0gMSkpOwogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgQU1EX0RSSVZFX1RJTUlORyArIG9mZnNldCArICgzIC0gZG4pLAotCQkoKEZJVCh0aW1pbmctPmFjdGl2ZSwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoRklUKHRpbWluZy0+cmVjb3ZlciwgMSwgMTYpIC0gMSkpOworCQkoKGNsYW1wX3ZhbCh0aW1pbmctPmFjdGl2ZSwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoY2xhbXBfdmFsKHRpbWluZy0+cmVjb3ZlciwgMSwgMTYpIC0gMSkpOwogCiAJc3dpdGNoICh1ZG1hX21hc2spIHsKLQljYXNlIEFUQV9VRE1BMjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgKEZJVCh0aW1pbmctPnVkbWEsIDIsIDUpIC0gMikpIDogMHgwMzsgYnJlYWs7Ci0JY2FzZSBBVEFfVURNQTQ6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IGFtZF9jeWMydWRtYVtGSVQodGltaW5nLT51ZG1hLCAyLCAxMCldKSA6IDB4MDM7IGJyZWFrOwotCWNhc2UgQVRBX1VETUE1OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCBhbWRfY3ljMnVkbWFbRklUKHRpbWluZy0+dWRtYSwgMSwgMTApXSkgOiAweDAzOyBicmVhazsKLQljYXNlIEFUQV9VRE1BNjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgYW1kX2N5YzJ1ZG1hW0ZJVCh0aW1pbmctPnVkbWEsIDEsIDE1KV0pIDogMHgwMzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTI6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IChjbGFtcF92YWwodGltaW5nLT51ZG1hLCAyLCA1KSAtIDIpKSA6IDB4MDM7IGJyZWFrOworCWNhc2UgQVRBX1VETUE0OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCBhbWRfY3ljMnVkbWFbY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgMTApXSkgOiAweDAzOyBicmVhazsKKwljYXNlIEFUQV9VRE1BNTogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgYW1kX2N5YzJ1ZG1hW2NsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDEsIDEwKV0pIDogMHgwMzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTY6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IGFtZF9jeWMydWRtYVtjbGFtcF92YWwodGltaW5nLT51ZG1hLCAxLCAxNSldKSA6IDB4MDM7IGJyZWFrOwogCWRlZmF1bHQ6IHJldHVybjsKIAl9CiAKQEAgLTE3OSw3ICsxNzksNyBAQAogICogRGV0ZXJtaW5lIHRoZSBzeXN0ZW0gYnVzIGNsb2NrLgogICovCiAKLQlhbWRfY2xvY2sgPSAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKSkgKiAxMDAwOworCWFtZF9jbG9jayA9IChpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzMpICogMTAwMDsKIAogCXN3aXRjaCAoYW1kX2Nsb2NrKSB7CiAJCWNhc2UgMzMwMDA6IGFtZF9jbG9jayA9IDMzMzMzOyBicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NDAuYyBiL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NDAuYwppbmRleCBiMzhhMTk4MC4uY2QxYmExNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2NtZDY0MC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NDAuYwpAQCAtNTI1LDEyICs1MjUsMTAgQEAKIAl1OCBzZXR1cF9jb3VudCwgYWN0aXZlX2NvdW50LCByZWNvdmVyeV9jb3VudCwgcmVjb3ZlcnlfY291bnQyLCBjeWNsZV9jb3VudDsKIAlpbnQgYnVzX3NwZWVkOwogCi0JaWYgKGNtZDY0MF92bGIgJiYgaWRlX3ZsYl9jbGspCi0JCWJ1c19zcGVlZCA9IGlkZV92bGJfY2xrOwotCWVsc2UgaWYgKCFjbWQ2NDBfdmxiICYmIGlkZV9wY2lfY2xrKQotCQlidXNfc3BlZWQgPSBpZGVfcGNpX2NsazsKKwlpZiAoY21kNjQwX3ZsYikKKwkJYnVzX3NwZWVkID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IDUwOwogCWVsc2UKLQkJYnVzX3NwZWVkID0gc3lzdGVtX2J1c19jbG9jaygpOworCQlidXNfc3BlZWQgPSBpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzM7CiAKIAlpZiAocGlvX21vZGUgPiA1KQogCQlwaW9fbW9kZSA9IDU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvY21kNjR4LmMgYi9kcml2ZXJzL2lkZS9wY2kvY21kNjR4LmMKaW5kZXggMDg2NzQ3MS4uY2E0Nzc0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2NtZDY0eC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NHguYwpAQCAtNjksNyArNjksNyBAQAogc3RhdGljIHZvaWQgcHJvZ3JhbV9jeWNsZV90aW1lcyAoaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgY3ljbGVfdGltZSwgaW50IGFjdGl2ZV90aW1lKQogewogCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSB0b19wY2lfZGV2KGRyaXZlLT5od2lmLT5kZXYpOwotCWludCBjbG9ja190aW1lID0gMTAwMCAvIChpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpKTsKKwlpbnQgY2xvY2tfdGltZSA9IDEwMDAgLyAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzKTsKIAl1OCAgY3ljbGVfY291bnQsIGFjdGl2ZV9jb3VudCwgcmVjb3ZlcnlfY291bnQsIGRyd3RpbTsKIAlzdGF0aWMgY29uc3QgdTggcmVjb3ZlcnlfdmFsdWVzW10gPQogCQl7MTUsIDE1LCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDB9OwpAQCAtMTI4LDcgKzEyOCw3IEBACiAJCQkgICAgaWRlX3Bpb190aW1pbmdzW3Bpb10uYWN0aXZlX3RpbWUpOwogCiAJc2V0dXBfY291bnQgPSBxdWFudGl6ZV90aW1pbmcoaWRlX3Bpb190aW1pbmdzW3Bpb10uc2V0dXBfdGltZSwKLQkJCTEwMDAgLyAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKSkpOworCQkJMTAwMCAvIChpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzMpKTsKIAogCS8qCiAJICogVGhlIHByaW1hcnkgY2hhbm5lbCBoYXMgaW5kaXZpZHVhbCBhZGRyZXNzIHNldHVwIHRpbWluZyByZWdpc3RlcnMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9jeTgyYzY5My5jIGIvZHJpdmVycy9pZGUvcGNpL2N5ODJjNjkzLmMKaW5kZXggNzdjYzIyYy4uOGM1MzRhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2N5ODJjNjkzLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL2N5ODJjNjkzLmMKQEAgLTEzNCw3ICsxMzQsNyBAQAogc3RhdGljIHZvaWQgY29tcHV0ZV9jbG9ja3ModTggcGlvLCBwaW9fY2xvY2tzX3QgKnBfcGNsaykKIHsKIAlpbnQgY2xrMSwgY2xrMjsKLQlpbnQgYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzOwogCiAJLyogd2UgZG9uJ3QgY2hlY2sgYWdhaW5zdCBDWTgyQzY5MydzIG1pbiBhbmQgbWF4IHNwZWVkLAogCSAqIHNvIHlvdSBjYW4gcGxheSB3aXRoIHRoZSBpZGVidXM9eHggcGFyYW1ldGVyCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvaHB0MzY2LmMgYi9kcml2ZXJzL2lkZS9wY2kvaHB0MzY2LmMKaW5kZXggYzkyOWRhZC4uMzk3YzZjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2hwdDM2Ni5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9ocHQzNjYuYwpAQCAtNzU5LDggKzc1OSw3IEBACiAJCQkJZW5hYmxlX2lycSAoaHdpZi0+aXJxKTsKIAkJfQogCX0gZWxzZQotCQlvdXRiKG1hc2sgPyAoZHJpdmUtPmN0bCB8IDIpIDogKGRyaXZlLT5jdGwgJiB+MiksCi0JCSAgICAgaHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOworCQlvdXRiKEFUQV9ERVZDVExfT0JTIHwgKG1hc2sgPyAyIDogMCksIGh3aWYtPmlvX3BvcnRzLmN0bF9hZGRyKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9uczg3NDE1LmMgYi9kcml2ZXJzL2lkZS9wY2kvbnM4NzQxNS5jCmluZGV4IGE3YTQxYmIuLjQ1YmE3MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9uczg3NDE1LmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL25zODc0MTUuYwpAQCAtNzYsNyArNzYsNyBAQAogCX0KIAogCS8qIGJlIHN1cmUgd2UncmUgbG9va2luZyBhdCB0aGUgbG93IG9yZGVyIGJpdHMgKi8KLQlvdXRiKGRyaXZlLT5jdGwgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwlvdXRiKEFUQV9ERVZDVExfT0JTICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fTlNFQ1QpCiAJCXRmLT5uc2VjdCAgPSBpbmIoaW9fcG9ydHMtPm5zZWN0X2FkZHIpOwpAQCAtOTAsNyArOTAsNyBAQAogCQl0Zi0+ZGV2aWNlID0gc3VwZXJpb19pZGVfaW5iKGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfTEJBNDgpIHsKLQkJb3V0Yihkcml2ZS0+Y3RsIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwkJb3V0YihBVEFfREVWQ1RMX09CUyB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAkJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX0hPQl9GRUFUVVJFKQogCQkJdGYtPmhvYl9mZWF0dXJlID0gaW5iKGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL3NjY19wYXRhLmMgYi9kcml2ZXJzL2lkZS9wY2kvc2NjX3BhdGEuYwppbmRleCA5MTBmYjAwLi4xNTg0ZWJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvc2NjX3BhdGEuYworKysgYi9kcml2ZXJzL2lkZS9wY2kvc2NjX3BhdGEuYwpAQCAtMTQ4LDExICsxNDgsOCBAQAogCW91dF9iZTMyKCh2b2lkKilwb3J0LCBhZGRyKTsKIH0KIAotc3RhdGljIHZvaWQKLXNjY19pZGVfb3V0YnN5bmMoaWRlX2RyaXZlX3QgKiBkcml2ZSwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KQorc3RhdGljIHZvaWQgc2NjX2lkZV9vdXRic3luYyhpZGVfaHdpZl90ICpod2lmLCB1OCBhZGRyLCB1bnNpZ25lZCBsb25nIHBvcnQpCiB7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IEhXSUYoZHJpdmUpOwotCiAJb3V0X2JlMzIoKHZvaWQqKXBvcnQsIGFkZHIpOwogCWVpZWlvKCk7CiAJaW5fYmUzMigodm9pZCopKGh3aWYtPmRtYV9iYXNlICsgMHgwMWMpKTsKQEAgLTY2Miw4ICs2NTksNiBAQAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19GTEFHR0VEKQogCQlISUhJID0gMHhGRjsKIAotCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKLQogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19PVVRfREFUQSkKIAkJb3V0X2JlMzIoKHZvaWQgKilpb19wb3J0cy0+ZGF0YV9hZGRyLAogCQkJICh0Zi0+aG9iX2RhdGEgPDwgOCkgfCB0Zi0+ZGF0YSk7CkBAIC03MDgsNyArNzAzLDcgQEAKIAl9CiAKIAkvKiBiZSBzdXJlIHdlJ3JlIGxvb2tpbmcgYXQgdGhlIGxvdyBvcmRlciBiaXRzICovCi0Jc2NjX2lkZV9vdXRiKGRyaXZlLT5jdGwgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwlzY2NfaWRlX291dGIoQVRBX0RFVkNUTF9PQlMgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9OU0VDVCkKIAkJdGYtPm5zZWN0ICA9IHNjY19pZGVfaW5iKGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKQEAgLTcyMiw3ICs3MTcsNyBAQAogCQl0Zi0+ZGV2aWNlID0gc2NjX2lkZV9pbmIoaW9fcG9ydHMtPmRldmljZV9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19MQkE0OCkgewotCQlzY2NfaWRlX291dGIoZHJpdmUtPmN0bCB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCXNjY19pZGVfb3V0YihBVEFfREVWQ1RMX09CUyB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAkJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX0hPQl9GRUFUVVJFKQogCQkJdGYtPmhvYl9mZWF0dXJlID0gc2NjX2lkZV9pbmIoaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7CkBAIC03OTUsNyArNzkwLDYgQEAKIAogCWh3aWYtPmRtYV9iYXNlID0gZG1hX2Jhc2U7CiAJaHdpZi0+Y29uZmlnX2RhdGEgPSBwb3J0cy0+Y3RsOwotCWh3aWYtPm1taW8gPSAxOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9zZ2lpb2M0LmMgYi9kcml2ZXJzL2lkZS9wY2kvc2dpaW9jNC5jCmluZGV4IDE2YTBiY2UuLjI0NTEzZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9zZ2lpb2M0LmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL3NnaWlvYzQuYwpAQCAtMTExLDcgKzExMSw3IEBACiBzdGF0aWMgdm9pZAogc2dpaW9jNF9tYXNrcHJvYyhpZGVfZHJpdmVfdCAqIGRyaXZlLCBpbnQgbWFzaykKIHsKLQl3cml0ZWIobWFzayA/IChkcml2ZS0+Y3RsIHwgMikgOiAoZHJpdmUtPmN0bCAmIH4yKSwKKwl3cml0ZWIoQVRBX0RFVkNUTF9PQlMgfCAobWFzayA/IDIgOiAwKSwKIAkgICAgICAgKHZvaWQgX19pb21lbSAqKWRyaXZlLT5od2lmLT5pb19wb3J0cy5jdGxfYWRkcik7CiB9CiAKQEAgLTM2OSw4ICszNjksNyBAQAogCWh3aWYtPnNnX21heF9uZW50cyA9IElPQzRfUFJEX0VOVFJJRVM7CiAKIAlwYWQgPSBwY2lfYWxsb2NfY29uc2lzdGVudChkZXYsIElPQzRfSURFX0NBQ0hFTElORV9TSVpFLAotCQkJCSAgIChkbWFfYWRkcl90ICopICYoaHdpZi0+ZG1hX3N0YXR1cykpOwotCisJCQkJICAgKGRtYV9hZGRyX3QgKikmaHdpZi0+ZXh0cmFfYmFzZSk7CiAJaWYgKHBhZCkgewogCQlpZGVfc2V0X2h3aWZkYXRhKGh3aWYsIHBhZCk7CiAJCXJldHVybiAwOwpAQCAtNDM5LDcgKzQzOCw3IEBACiAKIAkvKiBBZGRyZXNzIG9mIHRoZSBFbmRpbmcgRE1BICovCiAJbWVtc2V0KGlkZV9nZXRfaHdpZmRhdGEoaHdpZiksIDAsIElPQzRfSURFX0NBQ0hFTElORV9TSVpFKTsKLQllbmRpbmdfZG1hX2FkZHIgPSBjcHVfdG9fbGUzMihod2lmLT5kbWFfc3RhdHVzKTsKKwllbmRpbmdfZG1hX2FkZHIgPSBjcHVfdG9fbGUzMihod2lmLT5leHRyYV9iYXNlKTsKIAl3cml0ZWwoZW5kaW5nX2RtYV9hZGRyLCAodm9pZCBfX2lvbWVtICopKGRtYV9iYXNlICsgSU9DNF9ETUFfRU5EX0FERFIgKiA0KSk7CiAKIAl3cml0ZWwoZG1hX2RpcmVjdGlvbiwgKHZvaWQgX19pb21lbSAqKWlvYzRfZG1hX2FkZHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL3NpaW1hZ2UuYyBiL2RyaXZlcnMvaWRlL3BjaS9zaWltYWdlLmMKaW5kZXggMDAwNmI5ZS4uYjc1ZTliYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL3NpaW1hZ2UuYworKysgYi9kcml2ZXJzL2lkZS9wY2kvc2lpbWFnZS5jCkBAIC05NCw3ICs5NCw3IEBACiAJdW5zaWduZWQgbG9uZyBiYXNlID0gKHVuc2lnbmVkIGxvbmcpaHdpZi0+aHdpZl9kYXRhOwogCiAJYmFzZSArPSAweEEwICsgcjsKLQlpZiAoaHdpZi0+bW1pbykKKwlpZiAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQliYXNlICs9IGh3aWYtPmNoYW5uZWwgPDwgNjsKIAllbHNlCiAJCWJhc2UgKz0gaHdpZi0+Y2hhbm5lbCA8PCA0OwpAQCAtMTE3LDcgKzExNyw3IEBACiAJdW5zaWduZWQgbG9uZyBiYXNlCT0gKHVuc2lnbmVkIGxvbmcpaHdpZi0+aHdpZl9kYXRhOwogCiAJYmFzZSArPSAweEEwICsgcjsKLQlpZiAoaHdpZi0+bW1pbykKKwlpZiAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQliYXNlICs9IGh3aWYtPmNoYW5uZWwgPDwgNjsKIAllbHNlCiAJCWJhc2UgKz0gaHdpZi0+Y2hhbm5lbCA8PCA0OwpAQCAtMTkwLDcgKzE5MCw5IEBACiAJdW5zaWduZWQgbG9uZyBiYXNlCT0gKHVuc2lnbmVkIGxvbmcpaHdpZi0+aHdpZl9kYXRhOwogCXU4IHNjc2MsIG1hc2sJCT0gMDsKIAotCXNjc2MgPSBzaWxfaW9yZWFkOChkZXYsIGJhc2UgKyAoaHdpZi0+bW1pbyA/IDB4NEEgOiAweDhBKSk7CisJYmFzZSArPSAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKSA/IDB4NEEgOiAweDhBOworCisJc2NzYyA9IHNpbF9pb3JlYWQ4KGRldiwgYmFzZSk7CiAKIAlzd2l0Y2ggKHNjc2MgJiAweDMwKSB7CiAJY2FzZSAweDEwOgkvKiAxMzMgKi8KQEAgLTIzOCw4ICsyNDAsOSBAQAogCXVuc2lnbmVkIGxvbmcgdGZhZGRyCT0gc2lpbWFnZV9zZWxyZWcoaHdpZiwJMHgwMik7CiAJdW5zaWduZWQgbG9uZyBiYXNlCT0gKHVuc2lnbmVkIGxvbmcpaHdpZi0+aHdpZl9kYXRhOwogCXU4IHRmX3BpbwkJPSBwaW87Ci0JdTggYWRkcl9tYXNrCQk9IGh3aWYtPmNoYW5uZWwgPyAoaHdpZi0+bW1pbyA/IDB4RjQgOiAweDg0KQotCQkJCQkJOiAoaHdpZi0+bW1pbyA/IDB4QjQgOiAweDgwKTsKKwl1OCBtbWlvCQkJPSAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKSA/IDEgOiAwOworCXU4IGFkZHJfbWFzawkJPSBod2lmLT5jaGFubmVsID8gKG1taW8gPyAweEY0IDogMHg4NCkKKwkJCQkJCTogKG1taW8gPyAweEI0IDogMHg4MCk7CiAJdTggbW9kZQkJCT0gMDsKIAl1OCB1bml0CQkJPSBkcml2ZS0+c2VsZWN0LmIudW5pdDsKIApAQCAtMjkwLDEzICsyOTMsMTMgQEAKIAl1MTYgdWx0cmEgPSAwLCBtdWx0aQk9IDA7CiAJdTggbW9kZSA9IDAsIHVuaXQJPSBkcml2ZS0+c2VsZWN0LmIudW5pdDsKIAl1bnNpZ25lZCBsb25nIGJhc2UJPSAodW5zaWduZWQgbG9uZylod2lmLT5od2lmX2RhdGE7Ci0JdTggc2NzYyA9IDAsIGFkZHJfbWFzawk9IGh3aWYtPmNoYW5uZWwgPwotCQkJCQkoaHdpZi0+bW1pbyA/IDB4RjQgOiAweDg0KSA6Ci0JCQkJCShod2lmLT5tbWlvID8gMHhCNCA6IDB4ODApOworCXU4IG1taW8JCQk9IChod2lmLT5ob3N0X2ZsYWdzICYgSURFX0hGTEFHX01NSU8pID8gMSA6IDA7CisJdTggc2NzYyA9IDAsIGFkZHJfbWFzawk9IGh3aWYtPmNoYW5uZWwgPyAobW1pbyA/IDB4RjQgOiAweDg0KQorCQkJCQkJOiAobW1pbyA/IDB4QjQgOiAweDgwKTsKIAl1bnNpZ25lZCBsb25nIG1hCT0gc2lpbWFnZV9zZWxkZXYoZHJpdmUsIDB4MDgpOwogCXVuc2lnbmVkIGxvbmcgdWEJPSBzaWltYWdlX3NlbGRldihkcml2ZSwgMHgwQyk7CiAKLQlzY3NjICA9IHNpbF9pb3JlYWQ4IChkZXYsIGJhc2UgKyAoaHdpZi0+bW1pbyA/IDB4NEEgOiAweDhBKSk7CisJc2NzYyAgPSBzaWxfaW9yZWFkOCAoZGV2LCBiYXNlICsgKG1taW8gPyAweDRBIDogMHg4QSkpOwogCW1vZGUgID0gc2lsX2lvcmVhZDggKGRldiwgYmFzZSArIGFkZHJfbWFzayk7CiAJbXVsdGkgPSBzaWxfaW9yZWFkMTYoZGV2LCBtYSk7CiAJdWx0cmEgPSBzaWxfaW9yZWFkMTYoZGV2LCB1YSk7CkBAIC0zOTEsNyArMzk0LDcgQEAKIAogc3RhdGljIGludCBzaWltYWdlX2RtYV90ZXN0X2lycShpZGVfZHJpdmVfdCAqZHJpdmUpCiB7Ci0JaWYgKGRyaXZlLT5od2lmLT5tbWlvKQorCWlmIChkcml2ZS0+aHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQlyZXR1cm4gc2lpbWFnZV9tbWlvX2RtYV90ZXN0X2lycShkcml2ZSk7CiAJZWxzZQogCQlyZXR1cm4gc2lpbWFnZV9pb19kbWFfdGVzdF9pcnEoZHJpdmUpOwpAQCAtNjQwLDggKzY0Myw2IEBACiAJaHdpZi0+aXJxID0gZGV2LT5pcnE7CiAKIAlod2lmLT5kbWFfYmFzZSA9ICh1bnNpZ25lZCBsb25nKWFkZHIgKyAoY2ggPyAweDA4IDogMHgwMCk7Ci0KLQlod2lmLT5tbWlvID0gMTsKIH0KIAogc3RhdGljIGludCBpc19kZXZfc2VhZ2F0ZV9zYXRhKGlkZV9kcml2ZV90ICpkcml2ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS92aWE4MmN4eHguYyBiL2RyaXZlcnMvaWRlL3BjaS92aWE4MmN4eHguYwppbmRleCA1NjZlMGVjLi4zZWQ5NzI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvdmlhODJjeHh4LmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL3ZpYTgyY3h4eC5jCkBAIC0xMjAsMjEgKzEyMCwyMSBAQAogCiAJaWYgKH52ZGV2LT52aWFfY29uZmlnLT5mbGFncyAmIFZJQV9CQURfQVNUKSB7CiAJCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgVklBX0FERFJFU1NfU0VUVVAsICZ0KTsKLQkJdCA9ICh0ICYgfigzIDw8ICgoMyAtIGRuKSA8PCAxKSkpIHwgKChGSVQodGltaW5nLT5zZXR1cCwgMSwgNCkgLSAxKSA8PCAoKDMgLSBkbikgPDwgMSkpOworCQl0ID0gKHQgJiB+KDMgPDwgKCgzIC0gZG4pIDw8IDEpKSkgfCAoKGNsYW1wX3ZhbCh0aW1pbmctPnNldHVwLCAxLCA0KSAtIDEpIDw8ICgoMyAtIGRuKSA8PCAxKSk7CiAJCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIFZJQV9BRERSRVNTX1NFVFVQLCB0KTsKIAl9CiAKIAlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBWSUFfOEJJVF9USU1JTkcgKyAoMSAtIChkbiA+PiAxKSksCi0JCSgoRklUKHRpbWluZy0+YWN0OGIsIDEsIDE2KSAtIDEpIDw8IDQpIHwgKEZJVCh0aW1pbmctPnJlYzhiLCAxLCAxNikgLSAxKSk7CisJCSgoY2xhbXBfdmFsKHRpbWluZy0+YWN0OGIsIDEsIDE2KSAtIDEpIDw8IDQpIHwgKGNsYW1wX3ZhbCh0aW1pbmctPnJlYzhiLCAxLCAxNikgLSAxKSk7CiAKIAlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBWSUFfRFJJVkVfVElNSU5HICsgKDMgLSBkbiksCi0JCSgoRklUKHRpbWluZy0+YWN0aXZlLCAxLCAxNikgLSAxKSA8PCA0KSB8IChGSVQodGltaW5nLT5yZWNvdmVyLCAxLCAxNikgLSAxKSk7CisJCSgoY2xhbXBfdmFsKHRpbWluZy0+YWN0aXZlLCAxLCAxNikgLSAxKSA8PCA0KSB8IChjbGFtcF92YWwodGltaW5nLT5yZWNvdmVyLCAxLCAxNikgLSAxKSk7CiAKIAlzd2l0Y2ggKHZkZXYtPnZpYV9jb25maWctPnVkbWFfbWFzaykgewotCWNhc2UgQVRBX1VETUEyOiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTAgfCAoRklUKHRpbWluZy0+dWRtYSwgMiwgNSkgLSAyKSkgOiAweDAzOyBicmVhazsKLQljYXNlIEFUQV9VRE1BNDogdCA9IHRpbWluZy0+dWRtYSA/ICgweGU4IHwgKEZJVCh0aW1pbmctPnVkbWEsIDIsIDkpIC0gMikpIDogMHgwZjsgYnJlYWs7Ci0JY2FzZSBBVEFfVURNQTU6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlMCB8IChGSVQodGltaW5nLT51ZG1hLCAyLCA5KSAtIDIpKSA6IDB4MDc7IGJyZWFrOwotCWNhc2UgQVRBX1VETUE2OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTAgfCAoRklUKHRpbWluZy0+dWRtYSwgMiwgOSkgLSAyKSkgOiAweDA3OyBicmVhazsKKwljYXNlIEFUQV9VRE1BMjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKGNsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDIsIDUpIC0gMikpIDogMHgwMzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTQ6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlOCB8IChjbGFtcF92YWwodGltaW5nLT51ZG1hLCAyLCA5KSAtIDIpKSA6IDB4MGY7IGJyZWFrOworCWNhc2UgQVRBX1VETUE1OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTAgfCAoY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgOSkgLSAyKSkgOiAweDA3OyBicmVhazsKKwljYXNlIEFUQV9VRE1BNjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKGNsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDIsIDkpIC0gMikpIDogMHgwNzsgYnJlYWs7CiAJZGVmYXVsdDogcmV0dXJuOwogCX0KIApAQCAtMzQwLDcgKzM0MCw3IEBACiAJICogRGV0ZXJtaW5lIHN5c3RlbSBidXMgY2xvY2suCiAJICovCiAKLQl2aWFfY2xvY2sgPSAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKSkgKiAxMDAwOworCXZpYV9jbG9jayA9IChpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzMpICogMTAwMDsKIAogCXN3aXRjaCAodmlhX2Nsb2NrKSB7CiAJCWNhc2UgMzMwMDA6IHZpYV9jbG9jayA9IDMzMzMzOyBicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BwYy9wbWFjLmMgYi9kcml2ZXJzL2lkZS9wcGMvcG1hYy5jCmluZGV4IGJhMmQ1ODcuLmRjYjJjNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BwYy9wbWFjLmMKKysrIGIvZHJpdmVycy9pZGUvcHBjL3BtYWMuYwpAQCAtNDgwLDEzICs0ODAsMTMgQEAKIAkJcG1hY19pZGVfc2VsZWN0cHJvYyhkcml2ZSk7CiB9CiAKLXN0YXRpYyB2b2lkCi1wbWFjX291dGJzeW5jKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggdmFsdWUsIHVuc2lnbmVkIGxvbmcgcG9ydCkKK3N0YXRpYyB2b2lkIHBtYWNfb3V0YnN5bmMoaWRlX2h3aWZfdCAqaHdpZiwgdTggdmFsdWUsIHVuc2lnbmVkIGxvbmcgcG9ydCkKIHsKIAl1MzIgdG1wOwogCQogCXdyaXRlYih2YWx1ZSwgKHZvaWQgX19pb21lbSAqKSBwb3J0KTsKLQl0bXAgPSByZWFkbChQTUFDX0lERV9SRUcoSURFX1RJTUlOR19DT05GSUcpKTsKKwl0bXAgPSByZWFkbCgodm9pZCBfX2lvbWVtICopKGh3aWYtPmlvX3BvcnRzLmRhdGFfYWRkcgorCQkJCSAgICAgKyBJREVfVElNSU5HX0NPTkZJRykpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvc2V0dXAtcGNpLmMgYi9kcml2ZXJzL2lkZS9zZXR1cC1wY2kuYwppbmRleCA1MTcxNjAxLi5hYmNmYjE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9zZXR1cC1wY2kuYworKysgYi9kcml2ZXJzL2lkZS9zZXR1cC1wY2kuYwpAQCAtODcsNyArODcsNyBAQAogCXVuc2lnbmVkIGxvbmcgZG1hX2Jhc2UgPSAwOwogCXU4IGRtYV9zdGF0ID0gMDsKIAotCWlmIChod2lmLT5tbWlvKQorCWlmIChod2lmLT5ob3N0X2ZsYWdzICYgSURFX0hGTEFHX01NSU8pCiAJCXJldHVybiBod2lmLT5kbWFfYmFzZTsKIAogCWlmIChod2lmLT5tYXRlICYmIGh3aWYtPm1hdGUtPmRtYV9iYXNlKSB7CkBAIC0zNzQsNyArMzc0LDcgQEAKIAkJaWYgKGJhc2UgPT0gMCB8fCBpZGVfcGNpX3NldF9tYXN0ZXIoZGV2LCBkLT5uYW1lKSA8IDApCiAJCQlyZXR1cm4gLTE7CiAKLQkJaWYgKGh3aWYtPm1taW8pCisJCWlmIChod2lmLT5ob3N0X2ZsYWdzICYgSURFX0hGTEFHX01NSU8pCiAJCQlwcmludGsoS0VSTl9JTkZPICIgICAgJXM6IE1NSU8tRE1BXG4iLCBod2lmLT5uYW1lKTsKIAkJZWxzZQogCQkJcHJpbnRrKEtFUk5fSU5GTyAiICAgICVzOiBCTS1ETUEgYXQgMHglMDRseC0weCUwNGx4XG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC9jc3IxMjEyLmMgYi9kcml2ZXJzL2llZWUxMzk0L2NzcjEyMTIuYwppbmRleCBlODEyMmRlLi45Zjk1MzM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L2NzcjEyMTIuYworKysgYi9kcml2ZXJzL2llZWUxMzk0L2NzcjEyMTIuYwpAQCAtMTA0OSw2ICsxMDQ5LDI0IEBACiAJcmV0dXJuIC1FTk9FTlQ7CiB9CiAKKy8qCisgKiBBcHBhcmVudGx5IHRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCB3cm9uZyBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIENSQworICogYWxnb3JpdGhtLiAgV2UgZG9uJ3QgZmFpbCwgd2UganVzdCB3YXJuLi4uIGFwcHJveGltYXRlbHkgb25jZSBwZXIgR1VJRC4KKyAqLworc3RhdGljIHZvaWQKK2NzcjEyMTJfY2hlY2tfY3JjKGNvbnN0IHUzMiAqYnVmZmVyLCBzaXplX3QgbGVuZ3RoLCB1MTYgY3JjLCBfX2JlMzIgKmd1aWQpCit7CisJc3RhdGljIHU2NCBsYXN0X2JhZF9ldWk2NDsKKwl1NjQgZXVpNjQgPSAoKHU2NCliZTMyX3RvX2NwdShndWlkWzBdKSA8PCAzMikgfCBiZTMyX3RvX2NwdShndWlkWzFdKTsKKworCWlmIChjc3IxMjEyX2NyYzE2KGJ1ZmZlciwgbGVuZ3RoKSA9PSBjcmMgfHwKKwkgICAgY3NyMTIxMl9tc2Z0X2NyYzE2KGJ1ZmZlciwgbGVuZ3RoKSA9PSBjcmMgfHwKKwkgICAgZXVpNjQgPT0gbGFzdF9iYWRfZXVpNjQpCisJCXJldHVybjsKKworCXByaW50ayhLRVJOX0RFQlVHICJpZWVlMTM5NDogY29uZmlnIFJPTSBDUkMgZXJyb3JcbiIpOworCWxhc3RfYmFkX2V1aTY0ID0gZXVpNjQ7Cit9CiAKIC8qIFBhcnNlIGEgY2h1bmsgb2YgZGF0YSBhcyBhIENvbmZpZyBST00gKi8KIApAQCAtMTA5MiwxMSArMTExMCw4IEBACiAJCQlyZXR1cm4gcmV0OwogCX0KIAotCS8qIEFwcGFyZW50bHkgdGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IHdyb25nIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgQ1JDCi0JICogYWxnb3JpdGhtLiAgV2UgZG9uJ3QgZmFpbCwgd2UganVzdCB3YXJuLiAqLwotCWlmICgoY3NyMTIxMl9jcmMxNihiaS0+ZGF0YSwgYmktPmNyY19sZW5ndGgpICE9IGJpLT5jcmMpICYmCi0JICAgIChjc3IxMjEyX21zZnRfY3JjMTYoYmktPmRhdGEsIGJpLT5jcmNfbGVuZ3RoKSAhPSBiaS0+Y3JjKSkKLQkJcHJpbnRrKEtFUk5fREVCVUcgIklFRUUgMTM5NCBkZXZpY2UgaGFzIFJPTSBDUkMgZXJyb3JcbiIpOworCWNzcjEyMTJfY2hlY2tfY3JjKGJpLT5kYXRhLCBiaS0+Y3JjX2xlbmd0aCwgYmktPmNyYywKKwkJCSAgJmNzci0+YnVzX2luZm9fZGF0YVszXSk7CiAKIAljciA9IENTUjEyMTJfTUFMTE9DKHNpemVvZigqY3IpKTsKIAlpZiAoIWNyKQpAQCAtMTIwNSwxMSArMTIyMCw4IEBACiAJCSZjYWNoZS0+ZGF0YVtieXRlc190b19xdWFkcyhrdi0+b2Zmc2V0IC0gY2FjaGUtPm9mZnNldCldOwogCWt2aV9sZW4gPSBiZTE2X3RvX2NwdShrdmktPmxlbmd0aCk7CiAKLQkvKiBBcHBhcmVudGx5IHRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCB3cm9uZyBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIENSQwotCSAqIGFsZ29yaXRobS4gIFdlIGRvbid0IGZhaWwsIHdlIGp1c3Qgd2Fybi4gKi8KLQlpZiAoKGNzcjEyMTJfY3JjMTYoa3ZpLT5kYXRhLCBrdmlfbGVuKSAhPSBrdmktPmNyYykgJiYKLQkgICAgKGNzcjEyMTJfbXNmdF9jcmMxNihrdmktPmRhdGEsIGt2aV9sZW4pICE9IGt2aS0+Y3JjKSkKLQkJcHJpbnRrKEtFUk5fREVCVUcgIklFRUUgMTM5NCBkZXZpY2UgaGFzIFJPTSBDUkMgZXJyb3JcbiIpOworCS8qIEdVSUQgaXMgd3JvbmcgaW4gaGVyZSBpbiBjYXNlIG9mIGV4dGVuZGVkIFJPTS4gIFdlIGRvbid0IGNhcmUuICovCisJY3NyMTIxMl9jaGVja19jcmMoa3ZpLT5kYXRhLCBrdmlfbGVuLCBrdmktPmNyYywgJmNhY2hlLT5kYXRhWzNdKTsKIAogCXN3aXRjaCAoa3YtPmtleS50eXBlKSB7CiAJY2FzZSBDU1IxMjEyX0tWX1RZUEVfRElSRUNUT1JZOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC9kbWEuYyBiL2RyaXZlcnMvaWVlZTEzOTQvZG1hLmMKaW5kZXggNzM2ODVlNy4uMWFiYThjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9kbWEuYworKysgYi9kcml2ZXJzL2llZWUxMzk0L2RtYS5jCkBAIC0yNzQsNyArMjc0LDcgQEAKIAl2bWEtPnZtX29wcyA9ICZkbWFfcmVnaW9uX3ZtX29wczsKIAl2bWEtPnZtX3ByaXZhdGVfZGF0YSA9IGRtYTsKIAl2bWEtPnZtX2ZpbGUgPSBmaWxlOwotCXZtYS0+dm1fZmxhZ3MgfD0gVk1fUkVTRVJWRUQ7CisJdm1hLT52bV9mbGFncyB8PSBWTV9SRVNFUlZFRCB8IFZNX0FMV0FZU0RVTVA7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmMgYi9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5jCmluZGV4IGZhMmJmZWMuLjkxOGZmYzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuYwpAQCAtMjI4LDEwICsyMjgsOCBAQAogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKKwlocHNiX2luaXRfaGlnaGxldmVsKGhsKTsKIAlJTklUX0xJU1RfSEVBRCgmaGwtPmFkZHJfbGlzdCk7Ci0JSU5JVF9MSVNUX0hFQUQoJmhsLT5ob3N0X2luZm9fbGlzdCk7Ci0KLQlyd2xvY2tfaW5pdCgmaGwtPmhvc3RfaW5mb19sb2NrKTsKIAogCWRvd25fd3JpdGUoJmhsX2RyaXZlcnNfc2VtKTsKIAlsaXN0X2FkZF90YWlsKCZobC0+aGxfbGlzdCwgJmhsX2RyaXZlcnMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuaCBiL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmgKaW5kZXggZWI5ZmUzMi4uYmM1ZDA4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuaAorKysgYi9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5oCkBAIC0yLDcgKzIsNyBAQAogI2RlZmluZSBJRUVFMTM5NF9ISUdITEVWRUxfSAogCiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgotI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrX3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiBzdHJ1Y3QgbW9kdWxlOwpAQCAtMTAzLDYgKzEwMywxNyBAQAogdm9pZCBoaWdobGV2ZWxfZmNwX3JlcXVlc3Qoc3RydWN0IGhwc2JfaG9zdCAqaG9zdCwgaW50IG5vZGVpZCwgaW50IGRpcmVjdGlvbiwKIAkJCSAgIHZvaWQgKmRhdGEsIHNpemVfdCBsZW5ndGgpOwogCisvKioKKyAqIGhwc2JfaW5pdF9oaWdobGV2ZWwgLSBpbml0aWFsaXplIGEgc3RydWN0IGhwc2JfaGlnaGxldmVsCisgKgorICogVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBpZiBocHNiX2dldF9ob3N0aW5mb19ieWtleSBjYW4gYmUgY2FsbGVkCisgKiBiZWZvcmUgaHBzYl9yZWdpc3Rlcl9oaWdobGV2ZWwuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBocHNiX2luaXRfaGlnaGxldmVsKHN0cnVjdCBocHNiX2hpZ2hsZXZlbCAqaGwpCit7CisJcndsb2NrX2luaXQoJmhsLT5ob3N0X2luZm9fbG9jayk7CisJSU5JVF9MSVNUX0hFQUQoJmhsLT5ob3N0X2luZm9fbGlzdCk7Cit9CiB2b2lkIGhwc2JfcmVnaXN0ZXJfaGlnaGxldmVsKHN0cnVjdCBocHNiX2hpZ2hsZXZlbCAqaGwpOwogdm9pZCBocHNiX3VucmVnaXN0ZXJfaGlnaGxldmVsKHN0cnVjdCBocHNiX2hpZ2hsZXZlbCAqaGwpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L3JhdzEzOTQuYyBiL2RyaXZlcnMvaWVlZTEzOTQvcmF3MTM5NC5jCmluZGV4IGVjMmEwYWQuLjk2ZjI4NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvcmF3MTM5NC5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvcmF3MTM5NC5jCkBAIC0yNTQ5LDggKzI1NDksOCBAQAogfQogCiAvKiBpb2N0bCBpcyBvbmx5IHVzZWQgZm9yIHJhd2lzbyBvcGVyYXRpb25zICovCi1zdGF0aWMgaW50IHJhdzEzOTRfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsCi0JCQkgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCitzdGF0aWMgbG9uZyBkb19yYXcxMzk0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAorCQkJCQkJCXVuc2lnbmVkIGxvbmcgYXJnKQogewogCXN0cnVjdCBmaWxlX2luZm8gKmZpID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXZvaWQgX191c2VyICphcmdwID0gKHZvaWQgX191c2VyICopYXJnOwpAQCAtMjY1Niw2ICsyNjU2LDE2IEBACiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAKK3N0YXRpYyBsb25nIHJhdzEzOTRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJCQkJdW5zaWduZWQgbG9uZyBhcmcpCit7CisJbG9uZyByZXQ7CisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBkb19yYXcxMzk0X2lvY3RsKGZpbGUsIGNtZCwgYXJnKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKwogI2lmZGVmIENPTkZJR19DT01QQVQKIHN0cnVjdCByYXcxMzk0X2lzb19wYWNrZXRzMzIgewogICAgICAgICBfX3UzMiBuX3BhY2tldHM7CkBAIC0yNjkwLDcgKzI3MDAsNyBAQAogCSAgICAhY29weV9mcm9tX3VzZXIoJmluZm9zMzIsICZhcmctPmluZm9zLCBzaXplb2YgaW5mb3MzMikpIHsKIAkJaW5mb3MgPSBjb21wYXRfcHRyKGluZm9zMzIpOwogCQlpZiAoIWNvcHlfdG9fdXNlcigmZHN0LT5pbmZvcywgJmluZm9zLCBzaXplb2YgaW5mb3MpKQotCQkJZXJyID0gcmF3MTM5NF9pb2N0bChOVUxMLCBmaWxlLCBjbWQsICh1bnNpZ25lZCBsb25nKWRzdCk7CisJCQllcnIgPSBkb19yYXcxMzk0X2lvY3RsKGZpbGUsIGNtZCwgKHVuc2lnbmVkIGxvbmcpZHN0KTsKIAl9CiAJcmV0dXJuIGVycjsKIH0KQEAgLTI3MzEsNyArMjc0MSw3IEBACiAJY2FzZSBSQVcxMzk0X0lPQ19JU09fR0VUX1NUQVRVUzoKIAljYXNlIFJBVzEzOTRfSU9DX0lTT19TSFVURE9XTjoKIAljYXNlIFJBVzEzOTRfSU9DX0lTT19RVUVVRV9BQ1RJVklUWToKLQkJZXJyID0gcmF3MTM5NF9pb2N0bChOVUxMLCBmaWxlLCBjbWQsIGFyZyk7CisJCWVyciA9IGRvX3JhdzEzOTRfaW9jdGwoZmlsZSwgY21kLCBhcmcpOwogCQlicmVhazsKIAkvKiBUaGVzZSByZXF1ZXN0IGhhdmUgZGlmZmVyZW50IGZvcm1hdC4gKi8KIAljYXNlIFJBVzEzOTRfSU9DX0lTT19SRUNWX1BBQ0tFVFMzMjoKQEAgLTI5ODQsNyArMjk5NCw3IEBACiAJLnJlYWQgPSByYXcxMzk0X3JlYWQsCiAJLndyaXRlID0gcmF3MTM5NF93cml0ZSwKIAkubW1hcCA9IHJhdzEzOTRfbW1hcCwKLQkuaW9jdGwgPSByYXcxMzk0X2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bCA9IHJhdzEzOTRfaW9jdGwsCiAjaWZkZWYgQ09ORklHX0NPTVBBVAogCS5jb21wYXRfaW9jdGwgPSByYXcxMzk0X2NvbXBhdF9pb2N0bCwKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmMgYi9kcml2ZXJzL2llZWUxMzk0L3NicDIuYwppbmRleCBhNWNlZmYyLi45Y2JmMzE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L3NicDIuYworKysgYi9kcml2ZXJzL2llZWUxMzk0L3NicDIuYwpAQCAtMTg2LDYgKzE4NiwxMSBAQAogICogLSBkZWxheSBpbnF1aXJ5CiAgKiAgIFdhaXQgZXh0cmEgU0JQMl9JTlFVSVJZX0RFTEFZIHNlY29uZHMgYWZ0ZXIgbG9naW4gYmVmb3JlIFNDU0kgaW5xdWlyeS4KICAqCisgKiAtIHBvd2VyIGNvbmRpdGlvbgorICogICBTZXQgdGhlIHBvd2VyIGNvbmRpdGlvbiBmaWVsZCBpbiB0aGUgU1RBUlQgU1RPUCBVTklUIGNvbW1hbmRzIHNlbnQgYnkKKyAqICAgc2RfbW9kIG9uIHN1c3BlbmQsIHJlc3VtZSwgYW5kIHNodXRkb3duIChpZiBtYW5hZ2Vfc3RhcnRfc3RvcCBpcyBvbikuCisgKiAgIFNvbWUgZGlza3MgbmVlZCB0aGlzIHRvIHNwaW4gZG93biBvciB0byByZXN1bWUgcHJvcGVybHkuCisgKgogICogLSBvdmVycmlkZSBpbnRlcm5hbCBibGFja2xpc3QKICAqICAgSW5zdGVhZCBvZiBhZGRpbmcgdG8gdGhlIGJ1aWx0LWluIGJsYWNrbGlzdCwgdXNlIG9ubHkgdGhlIHdvcmthcm91bmRzCiAgKiAgIHNwZWNpZmllZCBpbiB0aGUgbW9kdWxlIGxvYWQgcGFyYW1ldGVyLgpAQCAtMTk5LDYgKzIwNCw4IEBACiAJIiwgc2tpcCBtb2RlIHBhZ2UgOCA9ICIgICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfTU9ERV9TRU5TRV84KQogCSIsIGZpeCBjYXBhY2l0eSA9ICIgICAgICAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX0ZJWF9DQVBBQ0lUWSkKIAkiLCBkZWxheSBpbnF1aXJ5ID0gIiAgICAgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZKQorCSIsIHNldCBwb3dlciBjb25kaXRpb24gaW4gc3RhcnQgc3RvcCB1bml0ID0gIgorCQkJCSAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTikKIAkiLCBvdmVycmlkZSBpbnRlcm5hbCBibGFja2xpc3QgPSAiIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9PVkVSUklERSkKIAkiLCBvciBhIGNvbWJpbmF0aW9uKSIpOwogCkBAIC0zNTksMTggKzM2NiwyNSBAQAogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAwMjgwMCwKIAkJLm1vZGVsX2lkCQk9IDB4MDAxMDEwLAogCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0lOUVVJUllfMzYgfAotCQkJCQkgIFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzgsCisJCQkJCSAgU0JQMl9XT1JLQVJPVU5EX01PREVfU0VOU0VfOCB8CisJCQkJCSAgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTiwKIAl9LAogCS8qIERWaUNPIE1vbW9iYXkgRlgtM0Egd2l0aCBUU0I0MkFBOUEgYnJpZGdlICovIHsKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMDI4MDAsCiAJCS5tb2RlbF9pZAkJPSAweDAwMDAwMCwKLQkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZLAorCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlkgfAorCQkJCQkgIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04sCiAJfSwKIAkvKiBJbml0aW8gYnJpZGdlcywgYWN0dWFsbHkgb25seSBuZWVkZWQgZm9yIHNvbWUgb2xkZXIgb25lcyAqLyB7CiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDAwMjAwLAogCQkubW9kZWxfaWQJCT0gU0JQMl9ST01fVkFMVUVfV0lMRENBUkQsCiAJCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfSU5RVUlSWV8zNiwKIAl9LAorCS8qIFBMLTM1MDcgYnJpZGdlIHdpdGggUHJvbGlmaWMgZmlybXdhcmUgKi8geworCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAxMjgwMCwKKwkJLm1vZGVsX2lkCQk9IFNCUDJfUk9NX1ZBTFVFX1dJTERDQVJELAorCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTiwKKwl9LAogCS8qIFN5bWJpb3MgYnJpZGdlICovIHsKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHhhMGI4MDAsCiAJCS5tb2RlbF9pZAkJPSBTQlAyX1JPTV9WQUxVRV9XSUxEQ0FSRCwKQEAgLTE5OTUsNiArMjAwOSw4IEBACiAKIAlzZGV2LT51c2VfMTBfZm9yX3J3ID0gMTsKIAorCWlmIChzYnAyX2V4Y2x1c2l2ZV9sb2dpbikKKwkJc2Rldi0+bWFuYWdlX3N0YXJ0X3N0b3AgPSAxOwogCWlmIChzZGV2LT50eXBlID09IFRZUEVfUk9NKQogCQlzZGV2LT51c2VfMTBfZm9yX21zID0gMTsKIAlpZiAoc2Rldi0+dHlwZSA9PSBUWVBFX0RJU0sgJiYKQEAgLTIwMDIsNiArMjAxOCw4IEBACiAJCXNkZXYtPnNraXBfbXNfcGFnZV84ID0gMTsKIAlpZiAobHUtPndvcmthcm91bmRzICYgU0JQMl9XT1JLQVJPVU5EX0ZJWF9DQVBBQ0lUWSkKIAkJc2Rldi0+Zml4X2NhcGFjaXR5ID0gMTsKKwlpZiAobHUtPndvcmthcm91bmRzICYgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTikKKwkJc2Rldi0+c3RhcnRfc3RvcF9wd3JfY29uZCA9IDE7CiAJaWYgKGx1LT53b3JrYXJvdW5kcyAmIFNCUDJfV09SS0FST1VORF8xMjhLX01BWF9UUkFOUykKIAkJYmxrX3F1ZXVlX21heF9zZWN0b3JzKHNkZXYtPnJlcXVlc3RfcXVldWUsIDEyOCAqIDEwMjQgLyA1MTIpOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmggYi9kcml2ZXJzL2llZWUxMzk0L3NicDIuaAppbmRleCA4MGQ4ZTA5Li44NzU0MjhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L3NicDIuaAorKysgYi9kcml2ZXJzL2llZWUxMzk0L3NicDIuaApAQCAtMzQ1LDYgKzM0NSw3IEBACiAjZGVmaW5lIFNCUDJfV09SS0FST1VORF9GSVhfQ0FQQUNJVFkJMHg4CiAjZGVmaW5lIFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZCTB4MTAKICNkZWZpbmUgU0JQMl9JTlFVSVJZX0RFTEFZCQkxMgorI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OCTB4MjAKICNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX09WRVJSSURFCTB4MTAwCiAKICNlbmRpZiAvKiBTQlAyX0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvdmlkZW8xMzk0LmMgYi9kcml2ZXJzL2llZWUxMzk0L3ZpZGVvMTM5NC5jCmluZGV4IGUyNDc3MmQuLjA2OWI5ZjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvdmlkZW8xMzk0LmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC92aWRlbzEzOTQuYwpAQCAtMTUwMyw2ICsxNTAzLDggQEAKIHsKIAlpbnQgcmV0OwogCisJaHBzYl9pbml0X2hpZ2hsZXZlbCgmdmlkZW8xMzk0X2hpZ2hsZXZlbCk7CisKIAljZGV2X2luaXQoJnZpZGVvMTM5NF9jZGV2LCAmdmlkZW8xMzk0X2ZvcHMpOwogCXZpZGVvMTM5NF9jZGV2Lm93bmVyID0gVEhJU19NT0RVTEU7CiAJcmV0ID0gY2Rldl9hZGQoJnZpZGVvMTM5NF9jZGV2LCBJRUVFMTM5NF9WSURFTzEzOTRfREVWLCAxNik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZGRyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZGRyLmMKaW5kZXggNzgxZWE1OS4uMDlhMmJlYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FkZHIuYwpAQCAtNCwyOCArNCwzMyBAQAogICogQ29weXJpZ2h0IChjKSAxOTk5LTIwMDUsIE1lbGxhbm94IFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA1IEludGVsIENvcnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBUaGlzIFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpY2Vuc2VzOgorICogVGhpcyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8geW91IHVuZGVyIGEgY2hvaWNlIG9mIG9uZSBvZiB0d28KKyAqIGxpY2Vuc2VzLiAgWW91IG1heSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyLCBhdmFpbGFibGUgZnJvbSB0aGUgZmlsZQorICogQ09QWUlORyBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZSwgb3IgdGhlCisgKiBPcGVuSUIub3JnIEJTRCBsaWNlbnNlIGJlbG93OgogICoKLSAqIDEpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkNvbW1vbiBQdWJsaWMgTGljZW5zZSAxLjAiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9jcGwucGhwLgorICogICAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3IKKyAqICAgICB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcKKyAqICAgICBjb25kaXRpb25zIGFyZSBtZXQ6CiAgKgotICogMikgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiVGhlIEJTRCBMaWNlbnNlIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIuCiAgKgotICogMykgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyIiBhCi0gKiAgICBjb3B5IG9mIHdoaWNoIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCi0gKiBMaWNlbnNlZSBoYXMgdGhlIHJpZ2h0IHRvIGNob29zZSBvbmUgb2YgdGhlIGFib3ZlIGxpY2Vuc2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UgYW5kIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSBib3RoIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMgaW4gdGhlIGRvY3VtZW50YXRpb24KLSAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisgKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FSRS4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KQEAgLTEwMCw2ICsxMDUsNyBAQAogCW1lbWNweShkZXZfYWRkci0+YnJvYWRjYXN0LCBkZXYtPmJyb2FkY2FzdCwgTUFYX0FERFJfTEVOKTsKIAlpZiAoZHN0X2Rldl9hZGRyKQogCQltZW1jcHkoZGV2X2FkZHItPmRzdF9kZXZfYWRkciwgZHN0X2Rldl9hZGRyLCBNQVhfQUREUl9MRU4pOworCWRldl9hZGRyLT5zcmNfZGV2ID0gZGV2OwogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChyZG1hX2NvcHlfYWRkcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZ2VudC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWdlbnQuaAppbmRleCBmYjllZDE0Li42NjY5Mjg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZ2VudC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FnZW50LmgKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGFnZW50LmggMTM4OSAyMDA0LTEyLTI3IDIyOjU2OjQ3WiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgX19BR0VOVF9IXwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY2FjaGUuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NhY2hlLmMKaW5kZXggZTg1ZjcwMS4uNjg4ODM1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY2FjaGUuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jYWNoZS5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBjYWNoZS5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY20uYwppbmRleCBhNDdmZTY0Li41NTczOGVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGNtLmMgNDMxMSAyMDA1LTEyLTA1IDE4OjQyOjAxWiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbWEuYwppbmRleCA2NzFmMTM3Li5hZTExZDVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbWEuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbWEuYwpAQCAtNCwyOSArNCwzMyBAQAogICogQ29weXJpZ2h0IChjKSAxOTk5LTIwMDUsIE1lbGxhbm94IFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA1LTIwMDYgSW50ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFRoaXMgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXM6CisgKiBUaGlzIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bworICogbGljZW5zZXMuICBZb3UgbWF5IGNob29zZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIsIGF2YWlsYWJsZSBmcm9tIHRoZSBmaWxlCisgKiBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLCBvciB0aGUKKyAqIE9wZW5JQi5vcmcgQlNEIGxpY2Vuc2UgYmVsb3c6CiAgKgotICogMSkgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiQ29tbW9uIFB1YmxpYyBMaWNlbnNlIDEuMCIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2NwbC5waHAuCisgKiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgorICogICAgIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZworICogICAgIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAqCi0gKiAyKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJUaGUgQlNEIExpY2Vuc2UiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lci4KICAqCi0gKiAzKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIiIGEKLSAqICAgIGNvcHkgb2Ygd2hpY2ggaXMgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICoKLSAqIExpY2Vuc2VlIGhhcyB0aGUgcmlnaHQgdG8gY2hvb3NlIG9uZSBvZiB0aGUgYWJvdmUgbGljZW5zZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSBhbmQgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGJvdGggdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbgotICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisgKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FSRS4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgpAQCAtMTI2LDggKzEzMCw3IEBACiAKIAlzdHJ1Y3QgY29tcGxldGlvbgljb21wOwogCWF0b21pY190CQlyZWZjb3VudDsKLQl3YWl0X3F1ZXVlX2hlYWRfdAl3YWl0X3JlbW92ZTsKLQlhdG9taWNfdAkJZGV2X3JlbW92ZTsKKwlzdHJ1Y3QgbXV0ZXgJCWhhbmRsZXJfbXV0ZXg7CiAKIAlpbnQJCQliYWNrbG9nOwogCWludAkJCXRpbWVvdXRfbXM7CkBAIC0zNTEsMjYgKzM1NCwxNSBAQAogCQljb21wbGV0ZSgmaWRfcHJpdi0+Y29tcCk7CiB9CiAKLXN0YXRpYyBpbnQgY21hX2Rpc2FibGVfcmVtb3ZlKHN0cnVjdCByZG1hX2lkX3ByaXZhdGUgKmlkX3ByaXYsCitzdGF0aWMgaW50IGNtYV9kaXNhYmxlX2NhbGxiYWNrKHN0cnVjdCByZG1hX2lkX3ByaXZhdGUgKmlkX3ByaXYsCiAJCQkgICAgICBlbnVtIGNtYV9zdGF0ZSBzdGF0ZSkKIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZXQ7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaWRfcHJpdi0+bG9jaywgZmxhZ3MpOwotCWlmIChpZF9wcml2LT5zdGF0ZSA9PSBzdGF0ZSkgewotCQlhdG9taWNfaW5jKCZpZF9wcml2LT5kZXZfcmVtb3ZlKTsKLQkJcmV0ID0gMDsKLQl9IGVsc2UKLQkJcmV0ID0gLUVJTlZBTDsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpZF9wcml2LT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIHZvaWQgY21hX2VuYWJsZV9yZW1vdmUoc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdikKLXsKLQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmaWRfcHJpdi0+ZGV2X3JlbW92ZSkpCi0JCXdha2VfdXAoJmlkX3ByaXYtPndhaXRfcmVtb3ZlKTsKKwltdXRleF9sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKKwlpZiAoaWRfcHJpdi0+c3RhdGUgIT0gc3RhdGUpIHsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGNtYV9oYXNfY21fZGV2KHN0cnVjdCByZG1hX2lkX3ByaXZhdGUgKmlkX3ByaXYpCkBAIC0zOTUsOCArMzg3LDcgQEAKIAltdXRleF9pbml0KCZpZF9wcml2LT5xcF9tdXRleCk7CiAJaW5pdF9jb21wbGV0aW9uKCZpZF9wcml2LT5jb21wKTsKIAlhdG9taWNfc2V0KCZpZF9wcml2LT5yZWZjb3VudCwgMSk7Ci0JaW5pdF93YWl0cXVldWVfaGVhZCgmaWRfcHJpdi0+d2FpdF9yZW1vdmUpOwotCWF0b21pY19zZXQoJmlkX3ByaXYtPmRldl9yZW1vdmUsIDApOworCW11dGV4X2luaXQoJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCUlOSVRfTElTVF9IRUFEKCZpZF9wcml2LT5saXN0ZW5fbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJmlkX3ByaXYtPm1jX2xpc3QpOwogCWdldF9yYW5kb21fYnl0ZXMoJmlkX3ByaXYtPnNlcV9udW0sIHNpemVvZiBpZF9wcml2LT5zZXFfbnVtKTsKQEAgLTkyMyw3ICs5MTQsNyBAQAogCXN0cnVjdCByZG1hX2NtX2V2ZW50IGV2ZW50OwogCWludCByZXQgPSAwOwogCi0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShpZF9wcml2LCBDTUFfQ09OTkVDVCkpCisJaWYgKGNtYV9kaXNhYmxlX2NhbGxiYWNrKGlkX3ByaXYsIENNQV9DT05ORUNUKSkKIAkJcmV0dXJuIDA7CiAKIAltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YgZXZlbnQpOwpAQCAtOTcwLDcgKzk2MSw3IEBACiAJCWV2ZW50LnBhcmFtLmNvbm4ucHJpdmF0ZV9kYXRhX2xlbiA9IElCX0NNX1JFSl9QUklWQVRFX0RBVEFfU0laRTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fRVJSICJSRE1BIENNQTogdW5leHBlY3RlZCBJQiBDTSBldmVudDogJWQiLAorCQlwcmludGsoS0VSTl9FUlIgIlJETUEgQ01BOiB1bmV4cGVjdGVkIElCIENNIGV2ZW50OiAlZFxuIiwKIAkJICAgICAgIGliX2V2ZW50LT5ldmVudCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTk4MCwxMiArOTcxLDEyIEBACiAJCS8qIERlc3Ryb3kgdGhlIENNIElEIGJ5IHJldHVybmluZyBhIG5vbi16ZXJvIHZhbHVlLiAqLwogCQlpZF9wcml2LT5jbV9pZC5pYiA9IE5VTEw7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm4gcmV0OwogCX0KIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTk5OCw2ICs5ODksNyBAQAogCXVuaW9uIGNtYV9pcF9hZGRyICpzcmMsICpkc3Q7CiAJX19iZTE2IHBvcnQ7CiAJdTggaXBfdmVyOworCWludCByZXQ7CiAKIAlpZiAoY21hX2dldF9uZXRfaW5mbyhpYl9ldmVudC0+cHJpdmF0ZV9kYXRhLCBsaXN0ZW5faWQtPnBzLAogCQkJICAgICAmaXBfdmVyLCAmcG9ydCwgJnNyYywgJmRzdCkpCkBAIC0xMDIyLDEwICsxMDE0LDExIEBACiAJaWYgKHJ0LT5udW1fcGF0aHMgPT0gMikKIAkJcnQtPnBhdGhfcmVjWzFdID0gKmliX2V2ZW50LT5wYXJhbS5yZXFfcmN2ZC5hbHRlcm5hdGVfcGF0aDsKIAotCWliX2FkZHJfc2V0X3NnaWQoJnJ0LT5hZGRyLmRldl9hZGRyLCAmcnQtPnBhdGhfcmVjWzBdLnNnaWQpOwogCWliX2FkZHJfc2V0X2RnaWQoJnJ0LT5hZGRyLmRldl9hZGRyLCAmcnQtPnBhdGhfcmVjWzBdLmRnaWQpOwotCWliX2FkZHJfc2V0X3BrZXkoJnJ0LT5hZGRyLmRldl9hZGRyLCBiZTE2X3RvX2NwdShydC0+cGF0aF9yZWNbMF0ucGtleSkpOwotCXJ0LT5hZGRyLmRldl9hZGRyLmRldl90eXBlID0gUkRNQV9OT0RFX0lCX0NBOworCXJldCA9IHJkbWFfdHJhbnNsYXRlX2lwKCZpZC0+cm91dGUuYWRkci5zcmNfYWRkciwKKwkJCQkmaWQtPnJvdXRlLmFkZHIuZGV2X2FkZHIpOworCWlmIChyZXQpCisJCWdvdG8gZGVzdHJveV9pZDsKIAogCWlkX3ByaXYgPSBjb250YWluZXJfb2YoaWQsIHN0cnVjdCByZG1hX2lkX3ByaXZhdGUsIGlkKTsKIAlpZF9wcml2LT5zdGF0ZSA9IENNQV9DT05ORUNUOwpAQCAtMTA5NSw3ICsxMDg4LDcgQEAKIAlpbnQgb2Zmc2V0LCByZXQ7CiAKIAlsaXN0ZW5faWQgPSBjbV9pZC0+Y29udGV4dDsKLQlpZiAoY21hX2Rpc2FibGVfcmVtb3ZlKGxpc3Rlbl9pZCwgQ01BX0xJU1RFTikpCisJaWYgKGNtYV9kaXNhYmxlX2NhbGxiYWNrKGxpc3Rlbl9pZCwgQ01BX0xJU1RFTikpCiAJCXJldHVybiAtRUNPTk5BQk9SVEVEOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTExMTYsNyArMTEwOSw3IEBACiAJCWdvdG8gb3V0OwogCX0KIAotCWF0b21pY19pbmMoJmNvbm5faWQtPmRldl9yZW1vdmUpOworCW11dGV4X2xvY2tfbmVzdGVkKCZjb25uX2lkLT5oYW5kbGVyX211dGV4LCBTSU5HTEVfREVQVEhfTkVTVElORyk7CiAJbXV0ZXhfbG9jaygmbG9jayk7CiAJcmV0ID0gY21hX2FjcXVpcmVfZGV2KGNvbm5faWQpOwogCW11dGV4X3VubG9jaygmbG9jayk7CkBAIC0xMTM4LDcgKzExMzEsNyBAQAogCQkgICAgIWNtYV9pc191ZF9wcyhjb25uX2lkLT5pZC5wcykpCiAJCQlpYl9zZW5kX2NtX21yYShjbV9pZCwgQ01BX0NNX01SQV9TRVRUSU5HLCBOVUxMLCAwKTsKIAkJbXV0ZXhfdW5sb2NrKCZsb2NrKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtMTE0NywxMSArMTE0MCwxMSBAQAogCiByZWxlYXNlX2Nvbm5faWQ6CiAJY21hX2V4Y2goY29ubl9pZCwgQ01BX0RFU1RST1lJTkcpOwotCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJcmRtYV9kZXN0cm95X2lkKCZjb25uX2lkLT5pZCk7CiAKIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShsaXN0ZW5faWQpOworCW11dGV4X3VubG9jaygmbGlzdGVuX2lkLT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMjE3LDcgKzEyMTAsNyBAQAogCXN0cnVjdCBzb2NrYWRkcl9pbiAqc2luOwogCWludCByZXQgPSAwOwogCi0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShpZF9wcml2LCBDTUFfQ09OTkVDVCkpCisJaWYgKGNtYV9kaXNhYmxlX2NhbGxiYWNrKGlkX3ByaXYsIENNQV9DT05ORUNUKSkKIAkJcmV0dXJuIDA7CiAKIAltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YgZXZlbnQpOwpAQCAtMTI2MSwxMiArMTI1NCwxMiBAQAogCQkvKiBEZXN0cm95IHRoZSBDTSBJRCBieSByZXR1cm5pbmcgYSBub24temVybyB2YWx1ZS4gKi8KIAkJaWRfcHJpdi0+Y21faWQuaXcgPSBOVUxMOwogCQljbWFfZXhjaChpZF9wcml2LCBDTUFfREVTVFJPWUlORyk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCQltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTEyODIsNyArMTI3NSw3IEBACiAJc3RydWN0IGliX2RldmljZV9hdHRyIGF0dHI7CiAKIAlsaXN0ZW5faWQgPSBjbV9pZC0+Y29udGV4dDsKLQlpZiAoY21hX2Rpc2FibGVfcmVtb3ZlKGxpc3Rlbl9pZCwgQ01BX0xJU1RFTikpCisJaWYgKGNtYV9kaXNhYmxlX2NhbGxiYWNrKGxpc3Rlbl9pZCwgQ01BX0xJU1RFTikpCiAJCXJldHVybiAtRUNPTk5BQk9SVEVEOwogCiAJLyogQ3JlYXRlIGEgbmV3IFJETUEgaWQgZm9yIHRoZSBuZXcgSVcgQ00gSUQgKi8KQEAgLTEyOTQsMTkgKzEyODcsMTkgQEAKIAkJZ290byBvdXQ7CiAJfQogCWNvbm5faWQgPSBjb250YWluZXJfb2YobmV3X2NtX2lkLCBzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlLCBpZCk7Ci0JYXRvbWljX2luYygmY29ubl9pZC0+ZGV2X3JlbW92ZSk7CisJbXV0ZXhfbG9ja19uZXN0ZWQoJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgsIFNJTkdMRV9ERVBUSF9ORVNUSU5HKTsKIAljb25uX2lkLT5zdGF0ZSA9IENNQV9DT05ORUNUOwogCiAJZGV2ID0gaXBfZGV2X2ZpbmQoJmluaXRfbmV0LCBpd19ldmVudC0+bG9jYWxfYWRkci5zaW5fYWRkci5zX2FkZHIpOwogCWlmICghZGV2KSB7CiAJCXJldCA9IC1FQUREUk5PVEFWQUlMOwotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KIAlyZXQgPSByZG1hX2NvcHlfYWRkcigmY29ubl9pZC0+aWQucm91dGUuYWRkci5kZXZfYWRkciwgZGV2LCBOVUxMKTsKIAlpZiAocmV0KSB7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCQltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQobmV3X2NtX2lkKTsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMTMxNSw3ICsxMzA4LDcgQEAKIAlyZXQgPSBjbWFfYWNxdWlyZV9kZXYoY29ubl9pZCk7CiAJbXV0ZXhfdW5sb2NrKCZsb2NrKTsKIAlpZiAocmV0KSB7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCQltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQobmV3X2NtX2lkKTsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMTMzMSw3ICsxMzI0LDcgQEAKIAogCXJldCA9IGliX3F1ZXJ5X2RldmljZShjb25uX2lkLT5pZC5kZXZpY2UsICZhdHRyKTsKIAlpZiAocmV0KSB7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCQltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQobmV3X2NtX2lkKTsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMTM0NywxNCArMTM0MCwxNyBAQAogCQkvKiBVc2VyIHdhbnRzIHRvIGRlc3Ryb3kgdGhlIENNIElEICovCiAJCWNvbm5faWQtPmNtX2lkLml3ID0gTlVMTDsKIAkJY21hX2V4Y2goY29ubl9pZCwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKCZjb25uX2lkLT5pZCk7CisJCWdvdG8gb3V0OwogCX0KIAorCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CisKIG91dDoKIAlpZiAoZGV2KQogCQlkZXZfcHV0KGRldik7Ci0JY21hX2VuYWJsZV9yZW1vdmUobGlzdGVuX2lkKTsKKwltdXRleF91bmxvY2soJmxpc3Rlbl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTQ0Niw3ICsxNDQyLDcgQEAKIAlyZXQgPSByZG1hX2xpc3RlbihpZCwgaWRfcHJpdi0+YmFja2xvZyk7CiAJaWYgKHJldCkKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiUkRNQSBDTUE6IGNtYV9saXN0ZW5fb25fZGV2LCBlcnJvciAlZCwgIgotCQkgICAgICAgImxpc3RlbmluZyBvbiBkZXZpY2UgJXMiLCByZXQsIGNtYV9kZXYtPmRldmljZS0+bmFtZSk7CisJCSAgICAgICAibGlzdGVuaW5nIG9uIGRldmljZSAlc1xuIiwgcmV0LCBjbWFfZGV2LT5kZXZpY2UtPm5hbWUpOwogfQogCiBzdGF0aWMgdm9pZCBjbWFfbGlzdGVuX29uX2FsbChzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2KQpAQCAtMTU4Niw3ICsxNTgyLDcgQEAKIAlzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2ID0gd29yay0+aWQ7CiAJaW50IGRlc3Ryb3kgPSAwOwogCi0JYXRvbWljX2luYygmaWRfcHJpdi0+ZGV2X3JlbW92ZSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJaWYgKCFjbWFfY29tcF9leGNoKGlkX3ByaXYsIHdvcmstPm9sZF9zdGF0ZSwgd29yay0+bmV3X3N0YXRlKSkKIAkJZ290byBvdXQ7CiAKQEAgLTE1OTUsNyArMTU5MSw3IEBACiAJCWRlc3Ryb3kgPSAxOwogCX0KIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCWNtYV9kZXJlZl9pZChpZF9wcml2KTsKIAlpZiAoZGVzdHJveSkKIAkJcmRtYV9kZXN0cm95X2lkKCZpZF9wcml2LT5pZCk7CkBAIC0xNzU4LDcgKzE3NTQsNyBAQAogCXN0cnVjdCByZG1hX2NtX2V2ZW50IGV2ZW50OwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKLQlhdG9taWNfaW5jKCZpZF9wcml2LT5kZXZfcmVtb3ZlKTsKKwltdXRleF9sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAogCS8qCiAJICogR3JhYiBtdXRleCB0byBibG9jayByZG1hX2Rlc3Ryb3lfaWQoKSBmcm9tIHJlbW92aW5nIHRoZSBkZXZpY2Ugd2hpbGUKQEAgLTE3ODcsMTMgKzE3ODMsMTMgQEAKIAogCWlmIChpZF9wcml2LT5pZC5ldmVudF9oYW5kbGVyKCZpZF9wcml2LT5pZCwgJmV2ZW50KSkgewogCQljbWFfZXhjaChpZF9wcml2LCBDTUFfREVTVFJPWUlORyk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCQltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCQljbWFfZGVyZWZfaWQoaWRfcHJpdik7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm47CiAJfQogb3V0OgotCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJY21hX2RlcmVmX2lkKGlkX3ByaXYpOwogfQogCkBAIC0yMTIwLDcgKzIxMTYsNyBAQAogCXN0cnVjdCBpYl9jbV9zaWRyX3JlcF9ldmVudF9wYXJhbSAqcmVwID0gJmliX2V2ZW50LT5wYXJhbS5zaWRyX3JlcF9yY3ZkOwogCWludCByZXQgPSAwOwogCi0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShpZF9wcml2LCBDTUFfQ09OTkVDVCkpCisJaWYgKGNtYV9kaXNhYmxlX2NhbGxiYWNrKGlkX3ByaXYsIENNQV9DT05ORUNUKSkKIAkJcmV0dXJuIDA7CiAKIAltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YgZXZlbnQpOwpAQCAtMjE1MSw3ICsyMTQ3LDcgQEAKIAkJZXZlbnQuc3RhdHVzID0gMDsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fRVJSICJSRE1BIENNQTogdW5leHBlY3RlZCBJQiBDTSBldmVudDogJWQiLAorCQlwcmludGsoS0VSTl9FUlIgIlJETUEgQ01BOiB1bmV4cGVjdGVkIElCIENNIGV2ZW50OiAlZFxuIiwKIAkJICAgICAgIGliX2V2ZW50LT5ldmVudCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTIxNjEsMTIgKzIxNTcsMTIgQEAKIAkJLyogRGVzdHJveSB0aGUgQ00gSUQgYnkgcmV0dXJuaW5nIGEgbm9uLXplcm8gdmFsdWUuICovCiAJCWlkX3ByaXYtPmNtX2lkLmliID0gTlVMTDsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKCZpZF9wcml2LT5pZCk7CiAJCXJldHVybiByZXQ7CiAJfQogb3V0OgotCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMjU2NCw4ICsyNTYwLDggQEAKIAlpbnQgcmV0OwogCiAJaWRfcHJpdiA9IG1jLT5pZF9wcml2OwotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0FERFJfQk9VTkQpICYmCi0JICAgIGNtYV9kaXNhYmxlX3JlbW92ZShpZF9wcml2LCBDTUFfQUREUl9SRVNPTFZFRCkpCisJaWYgKGNtYV9kaXNhYmxlX2NhbGxiYWNrKGlkX3ByaXYsIENNQV9BRERSX0JPVU5EKSAmJgorCSAgICBjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQUREUl9SRVNPTFZFRCkpCiAJCXJldHVybiAwOwogCiAJbXV0ZXhfbG9jaygmaWRfcHJpdi0+cXBfbXV0ZXgpOwpAQCAtMjU5MCwxMiArMjU4NiwxMiBAQAogCXJldCA9IGlkX3ByaXYtPmlkLmV2ZW50X2hhbmRsZXIoJmlkX3ByaXYtPmlkLCAmZXZlbnQpOwogCWlmIChyZXQpIHsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKCZpZF9wcml2LT5pZCk7CiAJCXJldHVybiAwOwogCX0KIAotCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI3NTQsNiArMjc1MCw3IEBACiB7CiAJc3RydWN0IHJkbWFfY21fZXZlbnQgZXZlbnQ7CiAJZW51bSBjbWFfc3RhdGUgc3RhdGU7CisJaW50IHJldCA9IDA7CiAKIAkvKiBSZWNvcmQgdGhhdCB3ZSB3YW50IHRvIHJlbW92ZSB0aGUgZGV2aWNlICovCiAJc3RhdGUgPSBjbWFfZXhjaChpZF9wcml2LCBDTUFfREVWSUNFX1JFTU9WQUwpOwpAQCAtMjc2MSwxNSArMjc1OCwxOCBAQAogCQlyZXR1cm4gMDsKIAogCWNtYV9jYW5jZWxfb3BlcmF0aW9uKGlkX3ByaXYsIHN0YXRlKTsKLQl3YWl0X2V2ZW50KGlkX3ByaXYtPndhaXRfcmVtb3ZlLCAhYXRvbWljX3JlYWQoJmlkX3ByaXYtPmRldl9yZW1vdmUpKTsKKwltdXRleF9sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAogCS8qIENoZWNrIGZvciBkZXN0cnVjdGlvbiBmcm9tIGFub3RoZXIgY2FsbGJhY2suICovCiAJaWYgKCFjbWFfY29tcChpZF9wcml2LCBDTUFfREVWSUNFX1JFTU9WQUwpKQotCQlyZXR1cm4gMDsKKwkJZ290byBvdXQ7CiAKIAltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YgZXZlbnQpOwogCWV2ZW50LmV2ZW50ID0gUkRNQV9DTV9FVkVOVF9ERVZJQ0VfUkVNT1ZBTDsKLQlyZXR1cm4gaWRfcHJpdi0+aWQuZXZlbnRfaGFuZGxlcigmaWRfcHJpdi0+aWQsICZldmVudCk7CisJcmV0ID0gaWRfcHJpdi0+aWQuZXZlbnRfaGFuZGxlcigmaWRfcHJpdi0+aWQsICZldmVudCk7CitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgdm9pZCBjbWFfcHJvY2Vzc19yZW1vdmUoc3RydWN0IGNtYV9kZXZpY2UgKmNtYV9kZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NvcmVfcHJpdi5oCmluZGV4IDdhZDQ3YTQuLjA1YWMzNmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NvcmVfcHJpdi5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NvcmVfcHJpdi5oCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBjb3JlX3ByaXYuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBfQ09SRV9QUklWX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZGV2aWNlLmMKaW5kZXggNWFjNWZmZS4uNzkxM2I4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZGV2aWNlLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZGV2aWNlLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGRldmljZS5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9mbXJfcG9vbC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZm1yX3Bvb2wuYwppbmRleCAxMjg2ZGMxLi40NTA3MDQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9mbXJfcG9vbC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2Ztcl9wb29sLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGZtcl9wb29sLmMgMjczMCAyMDA1LTA2LTI4IDE2OjQzOjAzWiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9wcml2LmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcHJpdi5oCmluZGV4IDhiNzUwMTAuLjA1Y2UzMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9wcml2LmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3ByaXYuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbWFkX3ByaXYuaCA1NTk2IDIwMDYtMDMtMDMgMDE6MDA6MDdaIHNlYW4uaGVmdHkgJAogICovCiAKICNpZm5kZWYgX19JQl9NQURfUFJJVl9IX18KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5jCmluZGV4IGE1ZTJhMzEuLmQwZWY3ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbWFkX3JtcHAuYyAxOTIxIDIwMDUtMDMtMDIgMjI6NTg6NDRaIHNlYW4uaGVmdHkgJAogICovCiAKICNpbmNsdWRlICJtYWRfcHJpdi5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmgKaW5kZXggZjA2MTZmZC4uM2QzMzZiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5oCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtYWRfcm1wcC5oIDE5MjEgMjAwNS0wMi0yNSAyMjo1ODo0NFogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmbmRlZiBfX01BRF9STVBQX0hfXwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9wYWNrZXIuYwppbmRleCBjOTcyZDcyLi4wMTliZDRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9wYWNrZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9wYWNrZXIuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogcGFja2VyLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3NhX3F1ZXJ5LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zYV9xdWVyeS5jCmluZGV4IGNmNDc0ZWMuLjEzNDFkZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3NhX3F1ZXJ5LmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc2FfcXVlcnkuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogc2FfcXVlcnkuYyAyODExIDIwMDUtMDctMDYgMTg6MTE6NDNaIGhhbHIgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTM2MSw3ICszNTksNyBAQAogewogCXN0cnVjdCBpYl9zYV9wb3J0ICpwb3J0ID0KIAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpYl9zYV9wb3J0LCB1cGRhdGVfdGFzayk7Ci0Jc3RydWN0IGliX3NhX3NtX2FoICpuZXdfYWgsICpvbGRfYWg7CisJc3RydWN0IGliX3NhX3NtX2FoICpuZXdfYWg7CiAJc3RydWN0IGliX3BvcnRfYXR0ciBwb3J0X2F0dHI7CiAJc3RydWN0IGliX2FoX2F0dHIgICBhaF9hdHRyOwogCkBAIC0zOTcsMTIgKzM5NSw5IEBACiAJfQogCiAJc3Bpbl9sb2NrX2lycSgmcG9ydC0+YWhfbG9jayk7Ci0Jb2xkX2FoID0gcG9ydC0+c21fYWg7CiAJcG9ydC0+c21fYWggPSBuZXdfYWg7CiAJc3Bpbl91bmxvY2tfaXJxKCZwb3J0LT5haF9sb2NrKTsKIAotCWlmIChvbGRfYWgpCi0JCWtyZWZfcHV0KCZvbGRfYWgtPnJlZiwgZnJlZV9zbV9haCk7CiB9CiAKIHN0YXRpYyB2b2lkIGliX3NhX2V2ZW50KHN0cnVjdCBpYl9ldmVudF9oYW5kbGVyICpoYW5kbGVyLCBzdHJ1Y3QgaWJfZXZlbnQgKmV2ZW50KQpAQCAtNDEzLDggKzQwOCwxNyBAQAogCSAgICBldmVudC0+ZXZlbnQgPT0gSUJfRVZFTlRfUEtFWV9DSEFOR0UgfHwKIAkgICAgZXZlbnQtPmV2ZW50ID09IElCX0VWRU5UX1NNX0NIQU5HRSAgIHx8CiAJICAgIGV2ZW50LT5ldmVudCA9PSBJQl9FVkVOVF9DTElFTlRfUkVSRUdJU1RFUikgewotCQlzdHJ1Y3QgaWJfc2FfZGV2aWNlICpzYV9kZXY7Ci0JCXNhX2RldiA9IGNvbnRhaW5lcl9vZihoYW5kbGVyLCB0eXBlb2YoKnNhX2RldiksIGV2ZW50X2hhbmRsZXIpOworCQl1bnNpZ25lZCBsb25nIGZsYWdzOworCQlzdHJ1Y3QgaWJfc2FfZGV2aWNlICpzYV9kZXYgPQorCQkJY29udGFpbmVyX29mKGhhbmRsZXIsIHR5cGVvZigqc2FfZGV2KSwgZXZlbnRfaGFuZGxlcik7CisJCXN0cnVjdCBpYl9zYV9wb3J0ICpwb3J0ID0KKwkJCSZzYV9kZXYtPnBvcnRbZXZlbnQtPmVsZW1lbnQucG9ydF9udW0gLSBzYV9kZXYtPnN0YXJ0X3BvcnRdOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5haF9sb2NrLCBmbGFncyk7CisJCWlmIChwb3J0LT5zbV9haCkKKwkJCWtyZWZfcHV0KCZwb3J0LT5zbV9haC0+cmVmLCBmcmVlX3NtX2FoKTsKKwkJcG9ydC0+c21fYWggPSBOVUxMOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5haF9sb2NrLCBmbGFncyk7CiAKIAkJc2NoZWR1bGVfd29yaygmc2FfZGV2LT5wb3J0W2V2ZW50LT5lbGVtZW50LnBvcnRfbnVtIC0KIAkJCQkJICAgIHNhX2Rldi0+c3RhcnRfcG9ydF0udXBkYXRlX3Rhc2spOwpAQCAtNTE5LDYgKzUyMywxMCBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmcXVlcnktPnBvcnQtPmFoX2xvY2ssIGZsYWdzKTsKKwlpZiAoIXF1ZXJ5LT5wb3J0LT5zbV9haCkgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZxdWVyeS0+cG9ydC0+YWhfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CiAJa3JlZl9nZXQoJnF1ZXJ5LT5wb3J0LT5zbV9haC0+cmVmKTsKIAlxdWVyeS0+c21fYWggPSBxdWVyeS0+cG9ydC0+c21fYWg7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcXVlcnktPnBvcnQtPmFoX2xvY2ssIGZsYWdzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3N5c2ZzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zeXNmcy5jCmluZGV4IDk1NzU2NTUuLjRkMTA0MjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3N5c2ZzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc3lzZnMuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogc3lzZnMuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgImNvcmVfcHJpdi5oIgpAQCAtNjY1LDYgKzY2MywxMjAgQEAKIAkuZGV2X3VldmVudCA9IGliX2RldmljZV91ZXZlbnQsCiB9OwogCisvKiBTaG93IGEgZ2l2ZW4gYW4gYXR0cmlidXRlIGluIHRoZSBzdGF0aXN0aWNzIGdyb3VwICovCitzdGF0aWMgc3NpemVfdCBzaG93X3Byb3RvY29sX3N0YXQoY29uc3Qgc3RydWN0IGRldmljZSAqZGV2aWNlLAorCQkJICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYsCisJCQkgICAgdW5zaWduZWQgb2Zmc2V0KQoreworCXN0cnVjdCBpYl9kZXZpY2UgKmRldiA9IGNvbnRhaW5lcl9vZihkZXZpY2UsIHN0cnVjdCBpYl9kZXZpY2UsIGRldik7CisJdW5pb24gcmRtYV9wcm90b2NvbF9zdGF0cyBzdGF0czsKKwlzc2l6ZV90IHJldDsKKworCXJldCA9IGRldi0+Z2V0X3Byb3RvY29sX3N0YXRzKGRldiwgJnN0YXRzKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWxsdVxuIiwKKwkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpICgodTY0ICopICZzdGF0cylbb2Zmc2V0XSk7Cit9CisKKy8qIGdlbmVyYXRlIGEgcmVhZC1vbmx5IGl3YXJwIHN0YXRpc3RpY3MgYXR0cmlidXRlICovCisjZGVmaW5lIElXX1NUQVRTX0VOVFJZKG5hbWUpCQkJCQkJXAorc3RhdGljIHNzaXplX3Qgc2hvd18jI25hbWUoc3RydWN0IGRldmljZSAqZGV2aWNlLAkJCVwKKwkJCSAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCVwKK3sJCQkJCQkJCQlcCisJcmV0dXJuIHNob3dfcHJvdG9jb2xfc3RhdChkZXZpY2UsIGF0dHIsIGJ1ZiwJCQlcCisJCQkJICBvZmZzZXRvZihzdHJ1Y3QgaXdfcHJvdG9jb2xfc3RhdHMsIG5hbWUpIC8gXAorCQkJCSAgc2l6ZW9mICh1NjQpKTsJCQlcCit9CQkJCQkJCQkJXAorc3RhdGljIERFVklDRV9BVFRSKG5hbWUsIFNfSVJVR08sIHNob3dfIyNuYW1lLCBOVUxMKQorCitJV19TVEFUU19FTlRSWShpcEluUmVjZWl2ZXMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkhkckVycm9ycyk7CitJV19TVEFUU19FTlRSWShpcEluVG9vQmlnRXJyb3JzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5Ob1JvdXRlcyk7CitJV19TVEFUU19FTlRSWShpcEluQWRkckVycm9ycyk7CitJV19TVEFUU19FTlRSWShpcEluVW5rbm93blByb3Rvcyk7CitJV19TVEFUU19FTlRSWShpcEluVHJ1bmNhdGVkUGt0cyk7CitJV19TVEFUU19FTlRSWShpcEluRGlzY2FyZHMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkRlbGl2ZXJzKTsKK0lXX1NUQVRTX0VOVFJZKGlwT3V0Rm9yd0RhdGFncmFtcyk7CitJV19TVEFUU19FTlRSWShpcE91dFJlcXVlc3RzKTsKK0lXX1NUQVRTX0VOVFJZKGlwT3V0RGlzY2FyZHMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXROb1JvdXRlcyk7CitJV19TVEFUU19FTlRSWShpcFJlYXNtVGltZW91dCk7CitJV19TVEFUU19FTlRSWShpcFJlYXNtUmVxZHMpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbU9Lcyk7CitJV19TVEFUU19FTlRSWShpcFJlYXNtRmFpbHMpOworSVdfU1RBVFNfRU5UUlkoaXBGcmFnT0tzKTsKK0lXX1NUQVRTX0VOVFJZKGlwRnJhZ0ZhaWxzKTsKK0lXX1NUQVRTX0VOVFJZKGlwRnJhZ0NyZWF0ZXMpOworSVdfU1RBVFNfRU5UUlkoaXBJbk1jYXN0UGt0cyk7CitJV19TVEFUU19FTlRSWShpcE91dE1jYXN0UGt0cyk7CitJV19TVEFUU19FTlRSWShpcEluQmNhc3RQa3RzKTsKK0lXX1NUQVRTX0VOVFJZKGlwT3V0QmNhc3RQa3RzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFJ0b0FsZ29yaXRobSk7CitJV19TVEFUU19FTlRSWSh0Y3BSdG9NaW4pOworSVdfU1RBVFNfRU5UUlkodGNwUnRvTWF4KTsKK0lXX1NUQVRTX0VOVFJZKHRjcE1heENvbm4pOworSVdfU1RBVFNfRU5UUlkodGNwQWN0aXZlT3BlbnMpOworSVdfU1RBVFNfRU5UUlkodGNwUGFzc2l2ZU9wZW5zKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEF0dGVtcHRGYWlscyk7CitJV19TVEFUU19FTlRSWSh0Y3BFc3RhYlJlc2V0cyk7CitJV19TVEFUU19FTlRSWSh0Y3BDdXJyRXN0YWIpOworSVdfU1RBVFNfRU5UUlkodGNwSW5TZWdzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcE91dFNlZ3MpOworSVdfU1RBVFNfRU5UUlkodGNwUmV0cmFuc1NlZ3MpOworSVdfU1RBVFNfRU5UUlkodGNwSW5FcnJzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcE91dFJzdHMpOworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaXdfcHJvdG9fc3RhdHNfYXR0cnNbXSA9IHsKKwkmZGV2X2F0dHJfaXBJblJlY2VpdmVzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5IZHJFcnJvcnMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJblRvb0JpZ0Vycm9ycy5hdHRyLAorCSZkZXZfYXR0cl9pcEluTm9Sb3V0ZXMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbkFkZHJFcnJvcnMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJblVua25vd25Qcm90b3MuYXR0ciwKKwkmZGV2X2F0dHJfaXBJblRydW5jYXRlZFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbkRpc2NhcmRzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5EZWxpdmVycy5hdHRyLAorCSZkZXZfYXR0cl9pcE91dEZvcndEYXRhZ3JhbXMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXRSZXF1ZXN0cy5hdHRyLAorCSZkZXZfYXR0cl9pcE91dERpc2NhcmRzLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0Tm9Sb3V0ZXMuYXR0ciwKKwkmZGV2X2F0dHJfaXBSZWFzbVRpbWVvdXQuYXR0ciwKKwkmZGV2X2F0dHJfaXBSZWFzbVJlcWRzLmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21PS3MuYXR0ciwKKwkmZGV2X2F0dHJfaXBSZWFzbUZhaWxzLmF0dHIsCisJJmRldl9hdHRyX2lwRnJhZ09Lcy5hdHRyLAorCSZkZXZfYXR0cl9pcEZyYWdGYWlscy5hdHRyLAorCSZkZXZfYXR0cl9pcEZyYWdDcmVhdGVzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5NY2FzdFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXRNY2FzdFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbkJjYXN0UGt0cy5hdHRyLAorCSZkZXZfYXR0cl9pcE91dEJjYXN0UGt0cy5hdHRyLAorCSZkZXZfYXR0cl90Y3BSdG9BbGdvcml0aG0uYXR0ciwKKwkmZGV2X2F0dHJfdGNwUnRvTWluLmF0dHIsCisJJmRldl9hdHRyX3RjcFJ0b01heC5hdHRyLAorCSZkZXZfYXR0cl90Y3BNYXhDb25uLmF0dHIsCisJJmRldl9hdHRyX3RjcEFjdGl2ZU9wZW5zLmF0dHIsCisJJmRldl9hdHRyX3RjcFBhc3NpdmVPcGVucy5hdHRyLAorCSZkZXZfYXR0cl90Y3BBdHRlbXB0RmFpbHMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwRXN0YWJSZXNldHMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwQ3VyckVzdGFiLmF0dHIsCisJJmRldl9hdHRyX3RjcEluU2Vncy5hdHRyLAorCSZkZXZfYXR0cl90Y3BPdXRTZWdzLmF0dHIsCisJJmRldl9hdHRyX3RjcFJldHJhbnNTZWdzLmF0dHIsCisJJmRldl9hdHRyX3RjcEluRXJycy5hdHRyLAorCSZkZXZfYXR0cl90Y3BPdXRSc3RzLmF0dHIsCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgaXdfc3RhdHNfZ3JvdXAgPSB7CisJLm5hbWUJPSAicHJvdG9fc3RhdHMiLAorCS5hdHRycwk9IGl3X3Byb3RvX3N0YXRzX2F0dHJzLAorfTsKKwogaW50IGliX2RldmljZV9yZWdpc3Rlcl9zeXNmcyhzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UpCiB7CiAJc3RydWN0IGRldmljZSAqY2xhc3NfZGV2ID0gJmRldmljZS0+ZGV2OwpAQCAtNzA3LDYgKzgxOSwxMiBAQAogCQl9CiAJfQogCisJaWYgKGRldmljZS0+bm9kZV90eXBlID09IFJETUFfTk9ERV9STklDICYmIGRldmljZS0+Z2V0X3Byb3RvY29sX3N0YXRzKSB7CisJCXJldCA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmY2xhc3NfZGV2LT5rb2JqLCAmaXdfc3RhdHNfZ3JvdXApOworCQlpZiAocmV0KQorCQkJZ290byBlcnJfcHV0OworCX0KKwogCXJldHVybiAwOwogCiBlcnJfcHV0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y20uYwppbmRleCBkN2E2ODgxLi45NDk0MDA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y20uYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdWNtLmMgNDMxMSAyMDA1LTEyLTA1IDE4OjQyOjAxWiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgpAQCAtNDUsNiArNDMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9pZHIuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC0xMTU5LDYgKzExNTgsNyBAQAogewogCXN0cnVjdCBpYl91Y21fZmlsZSAqZmlsZTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJZmlsZSA9IGttYWxsb2Moc2l6ZW9mKCpmaWxlKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFmaWxlKQogCQlyZXR1cm4gLUVOT01FTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbWEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbWEuYwppbmRleCBjYTRjZjNhLi4xOTVmOTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y21hLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtYS5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW4uaD4KICNpbmNsdWRlIDxsaW51eC9pbjYuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPHJkbWEvcmRtYV91c2VyX2NtLmg+CiAjaW5jbHVkZSA8cmRtYS9pYl9tYXJzaGFsbC5oPgpAQCAtMTE1Niw2ICsxMTU3LDcgQEAKIAlpZiAoIWZpbGUpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlJTklUX0xJU1RfSEVBRCgmZmlsZS0+ZXZlbnRfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJmZpbGUtPmN0eF9saXN0KTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZmaWxlLT5wb2xsX3dhaXQpOwpAQCAtMTE2Myw2ICsxMTY1LDcgQEAKIAogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGZpbGU7CiAJZmlsZS0+ZmlscCA9IGZpbHA7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VkX2hlYWRlci5jCmluZGV4IDk5N2MwN2QuLjhlYzc4NzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VkX2hlYWRlci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VkX2hlYWRlci5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1ZF9oZWFkZXIuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMKaW5kZXggYTE3NjhkYi4uNmY3YzA5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdXZlcmJzX21lbS5jIDI3NDMgMjAwNS0wNi0yOCAyMjoyNzo1OVogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW0uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VzZXJfbWFkLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91c2VyX21hZC5jCmluZGV4IDg0MGVkZTkuLjI2OGEyZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VzZXJfbWFkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXNlcl9tYWQuYwpAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdXNlcl9tYWQuYyA1NTk2IDIwMDYtMDMtMDMgMDE6MDA6MDdaIHNlYW4uaGVmdHkgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTc3Nyw2ICs3NzUsMTkgQEAKIH0KICNlbmRpZgogCisvKgorICogaWJfdW1hZF9vcGVuKCkgZG9lcyBub3QgbmVlZCB0aGUgQktMOgorICoKKyAqICAtIHVtYWRfcG9ydFtdIGFjY2Vzc2VzIGFyZSBwcm90ZWN0ZWQgYnkgcG9ydF9sb2NrLCB0aGUKKyAqICAgIGliX3VtYWRfcG9ydCBzdHJ1Y3R1cmVzIGFyZSBwcm9wZXJseSByZWZlcmVuY2UgY291bnRlZCwgYW5kCisgKiAgICBldmVyeXRoaW5nIGVsc2UgaXMgcHVyZWx5IGxvY2FsIHRvIHRoZSBmaWxlIGJlaW5nIGNyZWF0ZWQsIHNvCisgKiAgICByYWNlcyBhZ2FpbnN0IG90aGVyIG9wZW4gY2FsbHMgYXJlIG5vdCBhIHByb2JsZW07CisgKiAgLSB0aGUgaW9jdGwgbWV0aG9kIGRvZXMgbm90IGFmZmVjdCBhbnkgZ2xvYmFsIHN0YXRlIG91dHNpZGUgb2YgdGhlCisgKiAgICBmaWxlIHN0cnVjdHVyZSBiZWluZyBvcGVyYXRlZCBvbjsKKyAqICAtIHRoZSBwb3J0IGlzIGFkZGVkIHRvIHVtYWRfcG9ydFtdIGFzIHRoZSBsYXN0IHBhcnQgb2YgbW9kdWxlCisgKiAgICBpbml0aWFsaXphdGlvbiBzbyB0aGUgb3BlbiBtZXRob2Qgd2lsbCBlaXRoZXIgaW1tZWRpYXRlbHkgcnVuCisgKiAgICAtRU5YSU8sIG9yIGFsbCByZXF1aXJlZCBpbml0aWFsaXphdGlvbiB3aWxsIGJlIGRvbmUuCisgKi8KIHN0YXRpYyBpbnQgaWJfdW1hZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCXN0cnVjdCBpYl91bWFkX3BvcnQgKnBvcnQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJicy5oCmluZGV4IDM3NmE1N2MuLmIzZWE5NTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJicy5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJicy5oCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1dmVyYnMuaCAyNTU5IDIwMDUtMDYtMDYgMTk6NDM6MTZaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBVVkVSQlNfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX2NtZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX2NtZC5jCmluZGV4IDJjM2JmZjUuLjU2ZmVhYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19jbWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfY21kLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHV2ZXJic19jbWQuYyAyNzA4IDIwMDUtMDYtMjQgMTc6Mjc6MjFaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KQEAgLTkxOSw3ICs5MTcsNyBAQAogCQlyZXNwLT53Y1tpXS5vcGNvZGUgCSAgID0gd2NbaV0ub3Bjb2RlOwogCQlyZXNwLT53Y1tpXS52ZW5kb3JfZXJyIAkgICA9IHdjW2ldLnZlbmRvcl9lcnI7CiAJCXJlc3AtPndjW2ldLmJ5dGVfbGVuIAkgICA9IHdjW2ldLmJ5dGVfbGVuOwotCQlyZXNwLT53Y1tpXS5pbW1fZGF0YSAJICAgPSAoX191MzIgX19mb3JjZSkgd2NbaV0uaW1tX2RhdGE7CisJCXJlc3AtPndjW2ldLmV4LmltbV9kYXRhICAgID0gKF9fdTMyIF9fZm9yY2UpIHdjW2ldLmV4LmltbV9kYXRhOwogCQlyZXNwLT53Y1tpXS5xcF9udW0gCSAgID0gd2NbaV0ucXAtPnFwX251bTsKIAkJcmVzcC0+d2NbaV0uc3JjX3FwIAkgICA9IHdjW2ldLnNyY19xcDsKIAkJcmVzcC0+d2NbaV0ud2NfZmxhZ3MgCSAgID0gd2NbaV0ud2NfZmxhZ3M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfbWFpbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX21haW4uYwppbmRleCBjYWVkNDJiLi5hZWVlODU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19tYWluLmMKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHV2ZXJic19tYWluLmMgMjczMyAyMDA1LTA2LTI4IDE5OjE0OjM0WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTYxMCw2ICs2MDgsMTggQEAKIAkJcmV0dXJuIGZpbGUtPmRldmljZS0+aWJfZGV2LT5tbWFwKGZpbGUtPnVjb250ZXh0LCB2bWEpOwogfQogCisvKgorICogaWJfdXZlcmJzX29wZW4oKSBkb2VzIG5vdCBuZWVkIHRoZSBCS0w6CisgKgorICogIC0gZGV2X3RhYmxlW10gYWNjZXNzZXMgYXJlIHByb3RlY3RlZCBieSBtYXBfbG9jaywgdGhlCisgKiAgICBpYl91dmVyYnNfZGV2aWNlIHN0cnVjdHVyZXMgYXJlIHByb3Blcmx5IHJlZmVyZW5jZSBjb3VudGVkLCBhbmQKKyAqICAgIGV2ZXJ5dGhpbmcgZWxzZSBpcyBwdXJlbHkgbG9jYWwgdG8gdGhlIGZpbGUgYmVpbmcgY3JlYXRlZCwgc28KKyAqICAgIHJhY2VzIGFnYWluc3Qgb3RoZXIgb3BlbiBjYWxscyBhcmUgbm90IGEgcHJvYmxlbTsKKyAqICAtIHRoZXJlIGlzIG5vIGlvY3RsIG1ldGhvZCB0byByYWNlIGFnYWluc3Q7CisgKiAgLSB0aGUgZGV2aWNlIGlzIGFkZGVkIHRvIGRldl90YWJsZVtdIGFzIHRoZSBsYXN0IHBhcnQgb2YgbW9kdWxlCisgKiAgICBpbml0aWFsaXphdGlvbiwgdGhlIG9wZW4gbWV0aG9kIHdpbGwgZWl0aGVyIGltbWVkaWF0ZWx5IHJ1bgorICogICAgLUVOWElPLCBvciBhbGwgcmVxdWlyZWQgaW5pdGlhbGl6YXRpb24gd2lsbCBiZSBkb25lLgorICovCiBzdGF0aWMgaW50IGliX3V2ZXJic19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCXN0cnVjdCBpYl91dmVyYnNfZGV2aWNlICpkZXY7CkBAIC02NTEsNyArNjYxLDYgQEAKIAogZXJyOgogCWtyZWZfcHV0KCZkZXYtPnJlZiwgaWJfdXZlcmJzX3JlbGVhc2VfZGV2KTsKLQogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3ZlcmJzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS92ZXJicy5jCmluZGV4IDA1MDQyMDguLmE3ZGE5YmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdmVyYnMuYwpAQCAtMzQsOCArMzQsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdmVyYnMuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CkBAIC0zMTcsNyArMzE1LDYgQEAKIH0gcXBfc3RhdGVfdGFibGVbSUJfUVBTX0VSUiArIDFdW0lCX1FQU19FUlIgKyAxXSA9IHsKIAlbSUJfUVBTX1JFU0VUXSA9IHsKIAkJW0lCX1FQU19SRVNFVF0gPSB7IC52YWxpZCA9IDEgfSwKLQkJW0lCX1FQU19FUlJdICAgPSB7IC52YWxpZCA9IDEgfSwKIAkJW0lCX1FQU19JTklUXSAgPSB7CiAJCQkudmFsaWQgPSAxLAogCQkJLnJlcV9wYXJhbSA9IHsKQEAgLTc1NSw2ICs3NTIsNTIgQEAKIH0KIEVYUE9SVF9TWU1CT0woaWJfZGVyZWdfbXIpOwogCitzdHJ1Y3QgaWJfbXIgKmliX2FsbG9jX2Zhc3RfcmVnX21yKHN0cnVjdCBpYl9wZCAqcGQsIGludCBtYXhfcGFnZV9saXN0X2xlbikKK3sKKwlzdHJ1Y3QgaWJfbXIgKm1yOworCisJaWYgKCFwZC0+ZGV2aWNlLT5hbGxvY19mYXN0X3JlZ19tcikKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NZUyk7CisKKwltciA9IHBkLT5kZXZpY2UtPmFsbG9jX2Zhc3RfcmVnX21yKHBkLCBtYXhfcGFnZV9saXN0X2xlbik7CisKKwlpZiAoIUlTX0VSUihtcikpIHsKKwkJbXItPmRldmljZSAgPSBwZC0+ZGV2aWNlOworCQltci0+cGQgICAgICA9IHBkOworCQltci0+dW9iamVjdCA9IE5VTEw7CisJCWF0b21pY19pbmMoJnBkLT51c2VjbnQpOworCQlhdG9taWNfc2V0KCZtci0+dXNlY250LCAwKTsKKwl9CisKKwlyZXR1cm4gbXI7Cit9CitFWFBPUlRfU1lNQk9MKGliX2FsbG9jX2Zhc3RfcmVnX21yKTsKKworc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqaWJfYWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0KHN0cnVjdCBpYl9kZXZpY2UgKmRldmljZSwKKwkJCQkJCQkgIGludCBtYXhfcGFnZV9saXN0X2xlbikKK3sKKwlzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3Q7CisKKwlpZiAoIWRldmljZS0+YWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PU1lTKTsKKworCXBhZ2VfbGlzdCA9IGRldmljZS0+YWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0KGRldmljZSwgbWF4X3BhZ2VfbGlzdF9sZW4pOworCisJaWYgKCFJU19FUlIocGFnZV9saXN0KSkgeworCQlwYWdlX2xpc3QtPmRldmljZSA9IGRldmljZTsKKwkJcGFnZV9saXN0LT5tYXhfcGFnZV9saXN0X2xlbiA9IG1heF9wYWdlX2xpc3RfbGVuOworCX0KKworCXJldHVybiBwYWdlX2xpc3Q7Cit9CitFWFBPUlRfU1lNQk9MKGliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCk7CisKK3ZvaWQgaWJfZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3Qoc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqcGFnZV9saXN0KQoreworCXBhZ2VfbGlzdC0+ZGV2aWNlLT5mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdChwYWdlX2xpc3QpOworfQorRVhQT1JUX1NZTUJPTChpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdCk7CisKIC8qIE1lbW9yeSB3aW5kb3dzICovCiAKIHN0cnVjdCBpYl9tdyAqaWJfYWxsb2NfbXcoc3RydWN0IGliX3BkICpwZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9hbXNvMTEwMC9jMl9ybmljLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvYW1zbzExMDAvYzJfcm5pYy5jCmluZGV4IGIxNDQxYWUuLmRkMDVjNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9hbXNvMTEwMC9jMl9ybmljLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2Ftc28xMTAwL2MyX3JuaWMuYwpAQCAtNDU0LDcgKzQ1NCw3IEBACiAJICAgIChJQl9ERVZJQ0VfUkVTSVpFX01BWF9XUiB8CiAJICAgICBJQl9ERVZJQ0VfQ1VSUl9RUF9TVEFURV9NT0QgfAogCSAgICAgSUJfREVWSUNFX1NZU19JTUFHRV9HVUlEIHwKLQkgICAgIElCX0RFVklDRV9aRVJPX1NUQUcgfAorCSAgICAgSUJfREVWSUNFX0xPQ0FMX0RNQV9MS0VZIHwKIAkgICAgIElCX0RFVklDRV9NRU1fV0lORE9XKTsKIAogCS8qIEFsbG9jYXRlIHRoZSBxcHRyX2FycmF5ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5jCmluZGV4IDNmNDQxZmMuLmY2ZDU3NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5jCkBAIC0xNDUsNyArMTQ1LDkgQEAKIAl9CiAJd3FlID0gKHN0cnVjdCB0M19tb2RpZnlfcXBfd3IgKikgc2tiX3B1dChza2IsIHNpemVvZigqd3FlKSk7CiAJbWVtc2V0KHdxZSwgMCwgc2l6ZW9mKCp3cWUpKTsKLQlidWlsZF9md19yaXdyaCgoc3RydWN0IGZ3X3Jpd3JoICopIHdxZSwgVDNfV1JfUVBfTU9ELCAzLCAwLCBxcGlkLCA3KTsKKwlidWlsZF9md19yaXdyaCgoc3RydWN0IGZ3X3Jpd3JoICopIHdxZSwgVDNfV1JfUVBfTU9ELAorCQkgICAgICAgVDNfQ09NUExFVElPTl9GTEFHIHwgVDNfTk9USUZZX0ZMQUcsIDAsIHFwaWQsIDcsCisJCSAgICAgICBUM19TT1BFT1ApOwogCXdxZS0+ZmxhZ3MgPSBjcHVfdG9fYmUzMihNT0RRUF9XUklURV9FQyk7CiAJc2dlX2NtZCA9IHFwaWQgPDwgOCB8IDM7CiAJd3FlLT5zZ2VfY21kID0gY3B1X3RvX2JlNjQoc2dlX2NtZCk7CkBAIC0yNzYsNyArMjc4LDcgQEAKIAlpZiAoIXdxLT5xcGlkKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXdxLT5ycSA9IGt6YWxsb2MoZGVwdGggKiBzaXplb2YodTY0KSwgR0ZQX0tFUk5FTCk7CisJd3EtPnJxID0ga3phbGxvYyhkZXB0aCAqIHNpemVvZihzdHJ1Y3QgdDNfc3dycSksIEdGUF9LRVJORUwpOwogCWlmICghd3EtPnJxKQogCQlnb3RvIGVycjE7CiAKQEAgLTMwMCw2ICszMDIsNyBAQAogCWlmICgha2VybmVsX2RvbWFpbikKIAkJd3EtPnVkYiA9ICh1NjQpcmRldl9wLT5ybmljX2luZm8udWRiZWxsX3BoeXNiYXNlICsKIAkJCQkJKHdxLT5xcGlkIDw8IHJkZXZfcC0+cXBzaGlmdCk7CisJd3EtPnJkZXYgPSByZGV2X3A7CiAJUERCRygiJXMgcXBpZCAweCV4IGRvb3JiZWxsIDB4JXAgdWRiIDB4JWxseFxuIiwgX19mdW5jX18sCiAJICAgICB3cS0+cXBpZCwgd3EtPmRvb3JiZWxsLCAodW5zaWduZWQgbG9uZyBsb25nKSB3cS0+dWRiKTsKIAlyZXR1cm4gMDsKQEAgLTU1OCw3ICs1NjEsNyBAQAogCXdxZSA9IChzdHJ1Y3QgdDNfbW9kaWZ5X3FwX3dyICopIHNrYl9wdXQoc2tiLCBzaXplb2YoKndxZSkpOwogCW1lbXNldCh3cWUsIDAsIHNpemVvZigqd3FlKSk7CiAJYnVpbGRfZndfcml3cmgoKHN0cnVjdCBmd19yaXdyaCAqKSB3cWUsIFQzX1dSX1FQX01PRCwgMCwgMCwKLQkJICAgICAgIFQzX0NUTF9RUF9USUQsIDcpOworCQkgICAgICAgVDNfQ1RMX1FQX1RJRCwgNywgVDNfU09QRU9QKTsKIAl3cWUtPmZsYWdzID0gY3B1X3RvX2JlMzIoTU9EUVBfV1JJVEVfRUMpOwogCXNnZV9jbWQgPSAoM1VMTCA8PCA1NikgfCBGV19SSV9TR0VFQ19TVEFSVCA8PCA4IHwgMzsKIAl3cWUtPnNnZV9jbWQgPSBjcHVfdG9fYmU2NChzZ2VfY21kKTsKQEAgLTY3NCw3ICs2NzcsNyBAQAogCQlidWlsZF9md19yaXdyaCgoc3RydWN0IGZ3X3Jpd3JoICopIHdxZSwgVDNfV1JfQlAsIGZsYWcsCiAJCQkgICAgICAgUV9HRU5CSVQocmRldl9wLT5jdHJsX3FwLndwdHIsCiAJCQkJCVQzX0NUUkxfUVBfU0laRV9MT0cyKSwgVDNfQ1RSTF9RUF9JRCwKLQkJCSAgICAgICB3cl9sZW4pOworCQkJICAgICAgIHdyX2xlbiwgVDNfU09QRU9QKTsKIAkJaWYgKGZsYWcgPT0gVDNfQ09NUExFVElPTl9GTEFHKQogCQkJcmluZ19kb29yYmVsbChyZGV2X3AtPmN0cmxfcXAuZG9vcmJlbGwsIFQzX0NUUkxfUVBfSUQpOwogCQlsZW4gLT0gOTY7CkBAIC04MTYsNiArODE5LDEzIEBACiAJCQkgICAgIDAsIDApOwogfQogCitpbnQgY3hpb19hbGxvY2F0ZV9zdGFnKHN0cnVjdCBjeGlvX3JkZXYgKnJkZXZfcCwgdTMyICpzdGFnLCB1MzIgcGRpZCwgdTMyIHBibF9zaXplLCB1MzIgcGJsX2FkZHIpCit7CisJKnN0YWcgPSBUM19TVEFHX1VOU0VUOworCXJldHVybiBfX2N4aW9fdHB0X29wKHJkZXZfcCwgMCwgc3RhZywgMCwgcGRpZCwgVFBUX05PTl9TSEFSRURfTVIsCisJCQkgICAgIDAsIDAsIDBVTEwsIDAsIDAsIHBibF9zaXplLCBwYmxfYWRkcik7Cit9CisKIGludCBjeGlvX3JkbWFfaW5pdChzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2X3AsIHN0cnVjdCB0M19yZG1hX2luaXRfYXR0ciAqYXR0cikKIHsKIAlzdHJ1Y3QgdDNfcmRtYV9pbml0X3dyICp3cWU7CkBAIC0xMjU3LDEzICsxMjY3LDE2IEBACiAJCXdxLT5zcV9ycHRyID0gQ1FFX1dSSURfU1FfV1BUUigqaHdfY3FlKTsKIAkJUERCRygiJXMgY29tcGxldGluZyBzcSBpZHggJWxkXG4iLCBfX2Z1bmNfXywKIAkJICAgICBRX1BUUjJJRFgod3EtPnNxX3JwdHIsIHdxLT5zcV9zaXplX2xvZzIpKTsKLQkJKmNvb2tpZSA9ICh3cS0+c3EgKwotCQkJICAgUV9QVFIySURYKHdxLT5zcV9ycHRyLCB3cS0+c3Ffc2l6ZV9sb2cyKSktPndyX2lkOworCQkqY29va2llID0gd3EtPnNxW1FfUFRSMklEWCh3cS0+c3FfcnB0ciwgd3EtPnNxX3NpemVfbG9nMildLndyX2lkOwogCQl3cS0+c3FfcnB0cisrOwogCX0gZWxzZSB7CiAJCVBEQkcoIiVzIGNvbXBsZXRpbmcgcnEgaWR4ICVsZFxuIiwgX19mdW5jX18sCiAJCSAgICAgUV9QVFIySURYKHdxLT5ycV9ycHRyLCB3cS0+cnFfc2l6ZV9sb2cyKSk7Ci0JCSpjb29raWUgPSAqKHdxLT5ycSArIFFfUFRSMklEWCh3cS0+cnFfcnB0ciwgd3EtPnJxX3NpemVfbG9nMikpOworCQkqY29va2llID0gd3EtPnJxW1FfUFRSMklEWCh3cS0+cnFfcnB0ciwgd3EtPnJxX3NpemVfbG9nMildLndyX2lkOworCQlpZiAod3EtPnJxW1FfUFRSMklEWCh3cS0+cnFfcnB0ciwgd3EtPnJxX3NpemVfbG9nMildLnBibF9hZGRyKQorCQkJY3hpb19oYWxfcGJscG9vbF9mcmVlKHdxLT5yZGV2LAorCQkJCXdxLT5ycVtRX1BUUjJJRFgod3EtPnJxX3JwdHIsCisJCQkJd3EtPnJxX3NpemVfbG9nMildLnBibF9hZGRyLCBUM19TVEFHMF9QQkxfU0laRSk7CiAJCXdxLT5ycV9ycHRyKys7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5oCmluZGV4IDZlMTI4ZjYuLjY1NmZlNDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5oCkBAIC00NSwxNSArNDUsMTcgQEAKICNkZWZpbmUgVDNfQ1RSTF9RUF9TSVpFX0xPRzIgIDgKICNkZWZpbmUgVDNfQ1RSTF9DUV9JRCAgICAwCiAKLS8qIFRCRCAqLwogI2RlZmluZSBUM19NQVhfTlVNX1JJICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX05VTV9RUCAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9OVU1fQ1EgKDE8PDE1KQogI2RlZmluZSBUM19NQVhfTlVNX1BEICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX1BCTF9TSVpFIDI1NgogI2RlZmluZSBUM19NQVhfUlFfU0laRSAxMDI0CisjZGVmaW5lIFQzX01BWF9RUF9ERVBUSCAoVDNfTUFYX1JRX1NJWkUtMSkKKyNkZWZpbmUgVDNfTUFYX0NRX0RFUFRIIDgxOTIKICNkZWZpbmUgVDNfTUFYX05VTV9TVEFHICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX01SX1NJWkUgMHgxMDAwMDAwMDBVTEwKKyNkZWZpbmUgVDNfUEFHRVNJWkVfTUFTSyAweGZmZmYwMDAgIC8qIDRLQi0xMjhNQiAqLwogCiAjZGVmaW5lIFQzX1NUQUdfVU5TRVQgMHhmZmZmZmZmZgogCkBAIC0xNjUsNiArMTY3LDcgQEAKIGludCBjeGlvX2RlcmVnX21lbShzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2LCB1MzIgc3RhZywgdTMyIHBibF9zaXplLAogCQkgICB1MzIgcGJsX2FkZHIpOwogaW50IGN4aW9fYWxsb2NhdGVfd2luZG93KHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHUzMiAqIHN0YWcsIHUzMiBwZGlkKTsKK2ludCBjeGlvX2FsbG9jYXRlX3N0YWcoc3RydWN0IGN4aW9fcmRldiAqcmRldiwgdTMyICpzdGFnLCB1MzIgcGRpZCwgdTMyIHBibF9zaXplLCB1MzIgcGJsX2FkZHIpOwogaW50IGN4aW9fZGVhbGxvY2F0ZV93aW5kb3coc3RydWN0IGN4aW9fcmRldiAqcmRldiwgdTMyIHN0YWcpOwogaW50IGN4aW9fcmRtYV9pbml0KHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHN0cnVjdCB0M19yZG1hX2luaXRfYXR0ciAqYXR0cik7CiB2b2lkIGN4aW9fcmVnaXN0ZXJfZXZfY2IoY3hpb19oYWxfZXZfY2FsbGJhY2tfZnVuY190IGV2X2NiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX3dyLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb193ci5oCmluZGV4IGYxYTI1YTguLjA0NjE4ZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX3dyLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9fd3IuaApAQCAtMzksNiArMzksOSBAQAogCiAjZGVmaW5lIFQzX01BWF9TR0UgICAgICA0CiAjZGVmaW5lIFQzX01BWF9JTkxJTkUJNjQKKyNkZWZpbmUgVDNfU1RBRzBfUEJMX1NJWkUgKDIgKiBUM19NQVhfU0dFIDw8IDMpCisjZGVmaW5lIFQzX1NUQUcwX01BWF9QQkVfTEVOICgxMjggKiAxMDI0ICogMTAyNCkKKyNkZWZpbmUgVDNfU1RBRzBfUEFHRV9TSElGVCAxNQogCiAjZGVmaW5lIFFfRU1QVFkocnB0cix3cHRyKSAoKHJwdHIpPT0od3B0cikpCiAjZGVmaW5lIFFfRlVMTChycHRyLHdwdHIsc2l6ZV9sb2cyKSAgKCAoKCh3cHRyKS0ocnB0cikpPj4oc2l6ZV9sb2cyKSkgJiYgXApAQCAtNzIsNyArNzUsOCBAQAogCVQzX1dSX0JJTkQgPSBGV19XUk9QQ09ERV9SSV9CSU5EX01XLAogCVQzX1dSX1JDViA9IEZXX1dST1BDT0RFX1JJX1JFQ0VJVkUsCiAJVDNfV1JfSU5JVCA9IEZXX1dST1BDT0RFX1JJX1JETUFfSU5JVCwKLQlUM19XUl9RUF9NT0QgPSBGV19XUk9QQ09ERV9SSV9NT0RJRllfUVAKKwlUM19XUl9RUF9NT0QgPSBGV19XUk9QQ09ERV9SSV9NT0RJRllfUVAsCisJVDNfV1JfRkFTVFJFRyA9IEZXX1dST1BDT0RFX1JJX0ZBU1RSRUdJU1RFUl9NUgogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKIGVudW0gdDNfcmRtYV9vcGNvZGUgewpAQCAtODksNyArOTMsOCBAQAogCVQzX0ZBU1RfUkVHSVNURVIsCiAJVDNfTE9DQUxfSU5WLAogCVQzX1FQX01PRCwKLQlUM19CWVBBU1MKKwlUM19CWVBBU1MsCisJVDNfUkRNQV9SRUFEX1JFUV9XSVRIX0lOViwKIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCiBzdGF0aWMgaW5saW5lIGVudW0gdDNfcmRtYV9vcGNvZGUgd3Iyb3Bjb2RlKGVudW0gdDNfd3Jfb3Bjb2RlIHdyb3ApCkBAIC0xMDMsNiArMTA4LDcgQEAKIAkJY2FzZSBUM19XUl9CSU5EOiByZXR1cm4gVDNfQklORF9NVzsKIAkJY2FzZSBUM19XUl9JTklUOiByZXR1cm4gVDNfUkRNQV9JTklUOwogCQljYXNlIFQzX1dSX1FQX01PRDogcmV0dXJuIFQzX1FQX01PRDsKKwkJY2FzZSBUM19XUl9GQVNUUkVHOiByZXR1cm4gVDNfRkFTVF9SRUdJU1RFUjsKIAkJZGVmYXVsdDogYnJlYWs7CiAJfQogCXJldHVybiAtMTsKQEAgLTE3MCwxMSArMTc2LDU0IEBACiAJc3RydWN0IHQzX3NnZSBzZ2xbVDNfTUFYX1NHRV07CS8qIDQrICovCiB9OwogCisjZGVmaW5lIFQzX01BWF9GQVNUUkVHX0RFUFRIIDI0CisjZGVmaW5lIFQzX01BWF9GQVNUUkVHX0ZSQUcgMTAKKworc3RydWN0IHQzX2Zhc3RyZWdfd3IgeworCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KKwl1bmlvbiB0M193cmlkIHdyaWQ7CS8qIDEgKi8KKwlfX2JlMzIgc3RhZzsJCS8qIDIgKi8KKwlfX2JlMzIgbGVuOworCV9fYmUzMiB2YV9iYXNlX2hpOwkvKiAzICovCisJX19iZTMyIHZhX2Jhc2VfbG9fZmJvOworCV9fYmUzMiBwYWdlX3R5cGVfcGVybXM7IC8qIDQgKi8KKwlfX2JlMzIgcmVzZXJ2ZWQxOworCV9fYmU2NCBwYmxfYWRkcnNbMF07CS8qIDUrICovCit9OworCisvKgorICogSWYgYSBmYXN0cmVnIHdyIHNwYW5zIG11bHRpcGxlIHdxZXMsIHRoZW4gdGhlIDJuZCBmcmFnbWVudCBsb29rIGxpa2UgdGhpcy4KKyAqLworc3RydWN0IHQzX3BibF9mcmFnIHsKKwlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCisJX19iZTY0IHBibF9hZGRyc1sxNF07CS8qIDEuLjE0ICovCit9OworCisjZGVmaW5lIFNfRlJfUEFHRV9DT1VOVAkJMjQKKyNkZWZpbmUgTV9GUl9QQUdFX0NPVU5UCQkweGZmCisjZGVmaW5lIFZfRlJfUEFHRV9DT1VOVCh4KQkoKHgpIDw8IFNfRlJfUEFHRV9DT1VOVCkKKyNkZWZpbmUgR19GUl9QQUdFX0NPVU5UKHgpCSgoKCh4KSA+PiBTX0ZSX1BBR0VfQ09VTlQpKSAmIE1fRlJfUEFHRV9DT1VOVCkKKworI2RlZmluZSBTX0ZSX1BBR0VfU0laRQkJMTYKKyNkZWZpbmUgTV9GUl9QQUdFX1NJWkUJCTB4MWYKKyNkZWZpbmUgVl9GUl9QQUdFX1NJWkUoeCkJKCh4KSA8PCBTX0ZSX1BBR0VfU0laRSkKKyNkZWZpbmUgR19GUl9QQUdFX1NJWkUoeCkJKCgoKHgpID4+IFNfRlJfUEFHRV9TSVpFKSkgJiBNX0ZSX1BBR0VfU0laRSkKKworI2RlZmluZSBTX0ZSX1RZUEUJCTgKKyNkZWZpbmUgTV9GUl9UWVBFCQkweDEKKyNkZWZpbmUgVl9GUl9UWVBFKHgpCQkoKHgpIDw8IFNfRlJfVFlQRSkKKyNkZWZpbmUgR19GUl9UWVBFKHgpCQkoKCgoeCkgPj4gU19GUl9UWVBFKSkgJiBNX0ZSX1RZUEUpCisKKyNkZWZpbmUgU19GUl9QRVJNUwkJMAorI2RlZmluZSBNX0ZSX1BFUk1TCQkweGZmCisjZGVmaW5lIFZfRlJfUEVSTVMoeCkJCSgoeCkgPDwgU19GUl9QRVJNUykKKyNkZWZpbmUgR19GUl9QRVJNUyh4KQkJKCgoKHgpID4+IFNfRlJfUEVSTVMpKSAmIE1fRlJfUEVSTVMpCisKIHN0cnVjdCB0M19sb2NhbF9pbnZfd3IgewogCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KIAl1bmlvbiB0M193cmlkIHdyaWQ7CS8qIDEgKi8KIAlfX2JlMzIgc3RhZzsJCS8qIDIgKi8KLQlfX2JlMzIgcmVzZXJ2ZWQzOworCV9fYmUzMiByZXNlcnZlZDsKIH07CiAKIHN0cnVjdCB0M19yZG1hX3dyaXRlX3dyIHsKQEAgLTE5Myw3ICsyNDIsOCBAQAogCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KIAl1bmlvbiB0M193cmlkIHdyaWQ7CS8qIDEgKi8KIAl1OCByZG1hb3A7CQkvKiAyICovCi0JdTggcmVzZXJ2ZWRbM107CisJdTggbG9jYWxfaW52OworCXU4IHJlc2VydmVkWzJdOwogCV9fYmUzMiByZW1fc3RhZzsKIAlfX2JlNjQgcmVtX3RvOwkJLyogMyAqLwogCV9fYmUzMiBsb2NhbF9zdGFnOwkvKiA0ICovCkBAIC0yMDEsMTggKzI1MSw2IEBACiAJX19iZTY0IGxvY2FsX3RvOwkvKiA1ICovCiB9OwogCi1lbnVtIHQzX2FkZHJfdHlwZSB7Ci0JVDNfVkFfQkFTRURfVE8gPSAweDAsCi0JVDNfWkVST19CQVNFRF9UTyA9IDB4MQotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLWVudW0gdDNfbWVtX3Blcm1zIHsKLQlUM19NRU1fQUNDRVNTX0xPQ0FMX1JFQUQgPSAweDEsCi0JVDNfTUVNX0FDQ0VTU19MT0NBTF9XUklURSA9IDB4MiwKLQlUM19NRU1fQUNDRVNTX1JFTV9SRUFEID0gMHg0LAotCVQzX01FTV9BQ0NFU1NfUkVNX1dSSVRFID0gMHg4Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQogc3RydWN0IHQzX2JpbmRfbXdfd3IgewogCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KIAl1bmlvbiB0M193cmlkIHdyaWQ7CS8qIDEgKi8KQEAgLTMzNiw2ICszNzQsMTEgQEAKIAlfX2JlNjQgZ2VuYml0OwogfTsKIAorc3RydWN0IHQzX3dxX2luX2VyciB7CisJdTY0IGZsaXRbMTNdOworCXU2NCBlcnI7Cit9OworCiBlbnVtIHJkbWFfaW5pdF93cl9mbGFncyB7CiAJTVBBX0lOSVRJQVRPUiA9ICgxPDwwKSwKIAlQUklWX1FQID0gKDE8PDEpLApAQCAtMzQ2LDEzICszODksMTYgQEAKIAlzdHJ1Y3QgdDNfcmRtYV93cml0ZV93ciB3cml0ZTsKIAlzdHJ1Y3QgdDNfcmRtYV9yZWFkX3dyIHJlYWQ7CiAJc3RydWN0IHQzX3JlY2VpdmVfd3IgcmVjdjsKKwlzdHJ1Y3QgdDNfZmFzdHJlZ193ciBmYXN0cmVnOworCXN0cnVjdCB0M19wYmxfZnJhZyBwYmxfZnJhZzsKIAlzdHJ1Y3QgdDNfbG9jYWxfaW52X3dyIGxvY2FsX2ludjsKIAlzdHJ1Y3QgdDNfYmluZF9td193ciBiaW5kOwogCXN0cnVjdCB0M19ieXBhc3Nfd3IgYnlwYXNzOwogCXN0cnVjdCB0M19yZG1hX2luaXRfd3IgaW5pdDsKIAlzdHJ1Y3QgdDNfbW9kaWZ5X3FwX3dyIHFwX21vZDsKIAlzdHJ1Y3QgdDNfZ2VuYml0IGdlbmJpdDsKLQl1NjQgZmxpdFsxNl07CisJc3RydWN0IHQzX3dxX2luX2VyciB3cV9pbl9lcnI7CisJX19iZTY0IGZsaXRbMTZdOwogfTsKIAogI2RlZmluZSBUM19TUV9DUUVfRkxJVAkgIDEzCkBAIC0zNjYsMTIgKzQxMiwxOCBAQAogCXJldHVybiBHX0ZXX1JJV1JfT1AoYmUzMl90b19jcHUod3FlLT5vcF9zZW9wX2ZsYWdzKSk7CiB9CiAKK2VudW0gdDNfd3JfaGRyX2JpdHMgeworCVQzX0VPUCA9IDEsCisJVDNfU09QID0gMiwKKwlUM19TT1BFT1AgPSBUM19FT1B8VDNfU09QLAorfTsKKwogc3RhdGljIGlubGluZSB2b2lkIGJ1aWxkX2Z3X3Jpd3JoKHN0cnVjdCBmd19yaXdyaCAqd3FlLCBlbnVtIHQzX3dyX29wY29kZSBvcCwKIAkJCQkgIGVudW0gdDNfd3JfZmxhZ3MgZmxhZ3MsIHU4IGdlbmJpdCwgdTMyIHRpZCwKLQkJCQkgIHU4IGxlbikKKwkJCQkgIHU4IGxlbiwgdTggc29wZW9wKQogewogCXdxZS0+b3Bfc2VvcF9mbGFncyA9IGNwdV90b19iZTMyKFZfRldfUklXUl9PUChvcCkgfAotCQkJCQkgVl9GV19SSVdSX1NPUEVPUChNX0ZXX1JJV1JfU09QRU9QKSB8CisJCQkJCSBWX0ZXX1JJV1JfU09QRU9QKHNvcGVvcCkgfAogCQkJCQkgVl9GV19SSVdSX0ZMQUdTKGZsYWdzKSk7CiAJd21iKCk7CiAJd3FlLT5nZW5fdGlkX2xlbiA9IGNwdV90b19iZTMyKFZfRldfUklXUl9HRU4oZ2VuYml0KSB8CkBAIC00MDQsNiArNDU2LDcgQEAKIH07CiAKIGVudW0gdHB0X21lbV9wZXJtIHsKKwlUUFRfTVdfQklORCA9IDB4MTAsCiAJVFBUX0xPQ0FMX1JFQUQgPSAweDgsCiAJVFBUX0xPQ0FMX1dSSVRFID0gMHg0LAogCVRQVF9SRU1PVEVfUkVBRCA9IDB4MiwKQEAgLTYxNSw2ICs2NjgsMTEgQEAKIAlpbnQJCQlzaWduYWxlZDsKIH07CiAKK3N0cnVjdCB0M19zd3JxIHsKKwlfX3U2NAkJCXdyX2lkOworCV9fdTMyCQkJcGJsX2FkZHI7Cit9OworCiAvKgogICogQSBUMyBXUSBpbXBsZW1lbnRzIGJvdGggdGhlIFNRIGFuZCBSUS4KICAqLwpAQCAtNjMxLDE0ICs2ODksMTUgQEAKIAl1MzIgc3Ffd3B0cjsJCQkvKiBzcV93cHRyIC0gc3FfcnB0ciA9PSBjb3VudCBvZiAqLwogCXUzMiBzcV9ycHRyOwkJCS8qIHBlbmRpbmcgd3JzICovCiAJdTMyIHNxX3NpemVfbG9nMjsJCS8qIHNxIHNpemUgKi8KLQl1NjQgKnJxOwkJCS8qIFNXIFJRIChob2xkcyBjb25zdW1lciB3cl9pZHMgKi8KKwlzdHJ1Y3QgdDNfc3dycSAqcnE7CQkvKiBTVyBSUSAoaG9sZHMgY29uc3VtZXIgd3JfaWRzICovCiAJdTMyIHJxX3dwdHI7CQkJLyogcnFfd3B0ciAtIHJxX3JwdHIgPT0gY291bnQgb2YgKi8KIAl1MzIgcnFfcnB0cjsJCQkvKiBwZW5kaW5nIHdycyAqLwotCXU2NCAqcnFfb2xkZXN0X3dyOwkJLyogb2xkZXN0IHdyIG9uIHRoZSBTVyBSUSAqLworCXN0cnVjdCB0M19zd3JxICpycV9vbGRlc3Rfd3I7CS8qIG9sZGVzdCB3ciBvbiB0aGUgU1cgUlEgKi8KIAl1MzIgcnFfc2l6ZV9sb2cyOwkJLyogcnEgc2l6ZSAqLwogCXUzMiBycV9hZGRyOwkJCS8qIHJxIGFkYXB0ZXIgYWRkcmVzcyAqLwogCXZvaWQgX19pb21lbSAqZG9vcmJlbGw7CQkvKiBrZXJuZWwgZGIgKi8KIAl1NjQgdWRiOwkJCS8qIHVzZXIgZGIgaWYgYW55ICovCisJc3RydWN0IGN4aW9fcmRldiAqcmRldjsKIH07CiAKIHN0cnVjdCB0M19jcSB7CkBAIC02NTksNyArNzE4LDcgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIGN4aW9fc2V0X3dxX2luX2Vycm9yKHN0cnVjdCB0M193cSAqd3EpCiB7Ci0Jd3EtPnF1ZXVlLT5mbGl0WzEzXSA9IDE7CisJd3EtPnF1ZXVlLT53cV9pbl9lcnIuZXJyID0gMTsKIH0KIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgdDNfY3FlICpjeGlvX25leHRfaHdfY3FlKHN0cnVjdCB0M19jcSAqY3EpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guYwppbmRleCA3MTU1NGVhLi40NDg5Yzg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmMKQEAgLTcxLDE4ICs3MSwxNiBAQAogCWlkcl9pbml0KCZybmljcC0+bW1pZHIpOwogCXNwaW5fbG9ja19pbml0KCZybmljcC0+bG9jayk7CiAKLQlybmljcC0+YXR0ci52ZW5kb3JfaWQgPSAweDE2ODsKLQlybmljcC0+YXR0ci52ZW5kb3JfcGFydF9pZCA9IDc7CiAJcm5pY3AtPmF0dHIubWF4X3FwcyA9IFQzX01BWF9OVU1fUVAgLSAzMjsKLQlybmljcC0+YXR0ci5tYXhfd3JzID0gKDFVTCA8PCAyNCkgLSAxOworCXJuaWNwLT5hdHRyLm1heF93cnMgPSBUM19NQVhfUVBfREVQVEg7CiAJcm5pY3AtPmF0dHIubWF4X3NnZV9wZXJfd3IgPSBUM19NQVhfU0dFOwogCXJuaWNwLT5hdHRyLm1heF9zZ2VfcGVyX3JkbWFfd3JpdGVfd3IgPSBUM19NQVhfU0dFOwogCXJuaWNwLT5hdHRyLm1heF9jcXMgPSBUM19NQVhfTlVNX0NRIC0gMTsKLQlybmljcC0+YXR0ci5tYXhfY3Flc19wZXJfY3EgPSAoMVVMIDw8IDI0KSAtIDE7CisJcm5pY3AtPmF0dHIubWF4X2NxZXNfcGVyX2NxID0gVDNfTUFYX0NRX0RFUFRIOwogCXJuaWNwLT5hdHRyLm1heF9tZW1fcmVncyA9IGN4aW9fbnVtX3N0YWdzKCZybmljcC0+cmRldik7CiAJcm5pY3AtPmF0dHIubWF4X3BoeXNfYnVmX2VudHJpZXMgPSBUM19NQVhfUEJMX1NJWkU7CiAJcm5pY3AtPmF0dHIubWF4X3BkcyA9IFQzX01BWF9OVU1fUEQgLSAxOwotCXJuaWNwLT5hdHRyLm1lbV9wZ3NpemVzX2JpdG1hc2sgPSAweDdGRkY7CS8qIDRLQi0xMjhNQiAqLworCXJuaWNwLT5hdHRyLm1lbV9wZ3NpemVzX2JpdG1hc2sgPSBUM19QQUdFU0laRV9NQVNLOwogCXJuaWNwLT5hdHRyLm1heF9tcl9zaXplID0gVDNfTUFYX01SX1NJWkU7CiAJcm5pY3AtPmF0dHIuY2FuX3Jlc2l6ZV93cSA9IDA7CiAJcm5pY3AtPmF0dHIubWF4X3JkbWFfcmVhZHNfcGVyX3FwID0gODsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5oCmluZGV4IGQyNDA5YTUuLjM3NzM0NTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guaApAQCAtNDgsOCArNDgsNiBAQAogc3RydWN0IGl3Y2hfbXI7CiAKIHN0cnVjdCBpd2NoX3JuaWNfYXR0cmlidXRlcyB7Ci0JdTMyIHZlbmRvcl9pZDsKLQl1MzIgdmVuZG9yX3BhcnRfaWQ7CiAJdTMyIG1heF9xcHM7CiAJdTMyIG1heF93cnM7CQkJCS8qIE1heCBmb3IgYW55IFNRL1JRICovCiAJdTMyIG1heF9zZ2VfcGVyX3dyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfY3EuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX2NxLmMKaW5kZXggNGVlOGNjZC4uY2Y1NDc0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfY3EuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9jcS5jCkBAIC04MSw2ICs4MSw3IEBACiAJd2MtPndyX2lkID0gY29va2llOwogCXdjLT5xcCA9ICZxaHAtPmlicXA7CiAJd2MtPnZlbmRvcl9lcnIgPSBDUUVfU1RBVFVTKGNxZSk7CisJd2MtPndjX2ZsYWdzID0gMDsKIAogCVBEQkcoIiVzIHFwaWQgMHgleCB0eXBlICVkIG9wY29kZSAlZCBzdGF0dXMgMHgleCB3cmlkIGhpIDB4JXggIgogCSAgICAgImxvIDB4JXggY29va2llIDB4JWxseFxuIiwgX19mdW5jX18sCkBAIC05NCw2ICs5NSwxMSBAQAogCQllbHNlCiAJCQl3Yy0+Ynl0ZV9sZW4gPSAwOwogCQl3Yy0+b3Bjb2RlID0gSUJfV0NfUkVDVjsKKwkJaWYgKENRRV9PUENPREUoY3FlKSA9PSBUM19TRU5EX1dJVEhfSU5WIHx8CisJCSAgICBDUUVfT1BDT0RFKGNxZSkgPT0gVDNfU0VORF9XSVRIX1NFX0lOVikgeworCQkJd2MtPmV4LmludmFsaWRhdGVfcmtleSA9IENRRV9XUklEX1NUQUcoY3FlKTsKKwkJCXdjLT53Y19mbGFncyB8PSBJQl9XQ19XSVRIX0lOVkFMSURBVEU7CisJCX0KIAl9IGVsc2UgewogCQlzd2l0Y2ggKENRRV9PUENPREUoY3FlKSkgewogCQljYXNlIFQzX1JETUFfV1JJVEU6CkBAIC0xMDUsMTcgKzExMSwyMCBAQAogCQkJYnJlYWs7CiAJCWNhc2UgVDNfU0VORDoKIAkJY2FzZSBUM19TRU5EX1dJVEhfU0U6CisJCWNhc2UgVDNfU0VORF9XSVRIX0lOVjoKKwkJY2FzZSBUM19TRU5EX1dJVEhfU0VfSU5WOgogCQkJd2MtPm9wY29kZSA9IElCX1dDX1NFTkQ7CiAJCQlicmVhazsKIAkJY2FzZSBUM19CSU5EX01XOgogCQkJd2MtPm9wY29kZSA9IElCX1dDX0JJTkRfTVc7CiAJCQlicmVhazsKIAotCQkvKiB0aGVzZSBhcmVuJ3Qgc3VwcG9ydGVkIHlldCAqLwotCQljYXNlIFQzX1NFTkRfV0lUSF9JTlY6Ci0JCWNhc2UgVDNfU0VORF9XSVRIX1NFX0lOVjoKIAkJY2FzZSBUM19MT0NBTF9JTlY6CisJCQl3Yy0+b3Bjb2RlID0gSUJfV0NfTE9DQUxfSU5WOworCQkJYnJlYWs7CiAJCWNhc2UgVDNfRkFTVF9SRUdJU1RFUjoKKwkJCXdjLT5vcGNvZGUgPSBJQl9XQ19GQVNUX1JFR19NUjsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJcHJpbnRrKEtFUk5fRVJSIE1PRCAiVW5leHBlY3RlZCBvcGNvZGUgJWQgIgogCQkJICAgICAgICJpbiB0aGUgQ1FFIHJlY2VpdmVkIGZvciBRUElEPTB4JTB4XG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmMKaW5kZXggODkzNDE3OC4uYjg5NjQwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5jCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiaXdjaF9wcm92aWRlci5oIgogI2luY2x1ZGUgIml3Y2hfY20uaCIKICNpbmNsdWRlICJpd2NoX3VzZXIuaCIKKyNpbmNsdWRlICJjb21tb24uaCIKIAogc3RhdGljIGludCBpd2NoX21vZGlmeV9wb3J0KHN0cnVjdCBpYl9kZXZpY2UgKmliZGV2LAogCQkJICAgIHU4IHBvcnQsIGludCBwb3J0X21vZGlmeV9tYXNrLApAQCAtNzQ3LDYgKzc0OCw3IEBACiAJbWhwLT5hdHRyLnR5cGUgPSBUUFRfTVc7CiAJbWhwLT5hdHRyLnN0YWcgPSBzdGFnOwogCW1taWQgPSAoc3RhZykgPj4gODsKKwltaHAtPmlibXcucmtleSA9IHN0YWc7CiAJaW5zZXJ0X2hhbmRsZShyaHAsICZyaHAtPm1taWRyLCBtaHAsIG1taWQpOwogCVBEQkcoIiVzIG1taWQgMHgleCBtaHAgJXAgc3RhZyAweCV4XG4iLCBfX2Z1bmNfXywgbW1pZCwgbWhwLCBzdGFnKTsKIAlyZXR1cm4gJihtaHAtPmlibXcpOwpAQCAtNzY4LDYgKzc3MCw2OCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgc3RydWN0IGliX21yICppd2NoX2FsbG9jX2Zhc3RfcmVnX21yKHN0cnVjdCBpYl9wZCAqcGQsIGludCBwYmxfZGVwdGgpCit7CisJc3RydWN0IGl3Y2hfZGV2ICpyaHA7CisJc3RydWN0IGl3Y2hfcGQgKnBocDsKKwlzdHJ1Y3QgaXdjaF9tciAqbWhwOworCXUzMiBtbWlkOworCXUzMiBzdGFnID0gMDsKKwlpbnQgcmV0OworCisJcGhwID0gdG9faXdjaF9wZChwZCk7CisJcmhwID0gcGhwLT5yaHA7CisJbWhwID0ga3phbGxvYyhzaXplb2YoKm1ocCksIEdGUF9LRVJORUwpOworCWlmICghbWhwKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCW1ocC0+cmhwID0gcmhwOworCXJldCA9IGl3Y2hfYWxsb2NfcGJsKG1ocCwgcGJsX2RlcHRoKTsKKwlpZiAocmV0KSB7CisJCWtmcmVlKG1ocCk7CisJCXJldHVybiBFUlJfUFRSKHJldCk7CisJfQorCW1ocC0+YXR0ci5wYmxfc2l6ZSA9IHBibF9kZXB0aDsKKwlyZXQgPSBjeGlvX2FsbG9jYXRlX3N0YWcoJnJocC0+cmRldiwgJnN0YWcsIHBocC0+cGRpZCwKKwkJCQkgbWhwLT5hdHRyLnBibF9zaXplLCBtaHAtPmF0dHIucGJsX2FkZHIpOworCWlmIChyZXQpIHsKKwkJaXdjaF9mcmVlX3BibChtaHApOworCQlrZnJlZShtaHApOworCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCX0KKwltaHAtPmF0dHIucGRpZCA9IHBocC0+cGRpZDsKKwltaHAtPmF0dHIudHlwZSA9IFRQVF9OT05fU0hBUkVEX01SOworCW1ocC0+YXR0ci5zdGFnID0gc3RhZzsKKwltaHAtPmF0dHIuc3RhdGUgPSAxOworCW1taWQgPSAoc3RhZykgPj4gODsKKwltaHAtPmlibXIucmtleSA9IG1ocC0+aWJtci5sa2V5ID0gc3RhZzsKKwlpbnNlcnRfaGFuZGxlKHJocCwgJnJocC0+bW1pZHIsIG1ocCwgbW1pZCk7CisJUERCRygiJXMgbW1pZCAweCV4IG1ocCAlcCBzdGFnIDB4JXhcbiIsIF9fZnVuY19fLCBtbWlkLCBtaHAsIHN0YWcpOworCXJldHVybiAmKG1ocC0+aWJtcik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICppd2NoX2FsbG9jX2Zhc3RyZWdfcGJsKAorCQkJCQlzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCisJCQkJCWludCBwYWdlX2xpc3RfbGVuKQoreworCXN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKnBhZ2VfbGlzdDsKKworCXBhZ2VfbGlzdCA9IGttYWxsb2Moc2l6ZW9mICpwYWdlX2xpc3QgKyBwYWdlX2xpc3RfbGVuICogc2l6ZW9mKHU2NCksCisJCQkgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFwYWdlX2xpc3QpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJcGFnZV9saXN0LT5wYWdlX2xpc3QgPSAodTY0ICopKHBhZ2VfbGlzdCArIDEpOworCXBhZ2VfbGlzdC0+bWF4X3BhZ2VfbGlzdF9sZW4gPSBwYWdlX2xpc3RfbGVuOworCisJcmV0dXJuIHBhZ2VfbGlzdDsKK30KKworc3RhdGljIHZvaWQgaXdjaF9mcmVlX2Zhc3RyZWdfcGJsKHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKnBhZ2VfbGlzdCkKK3sKKwlrZnJlZShwYWdlX2xpc3QpOworfQorCiBzdGF0aWMgaW50IGl3Y2hfZGVzdHJveV9xcChzdHJ1Y3QgaWJfcXAgKmliX3FwKQogewogCXN0cnVjdCBpd2NoX2RldiAqcmhwOwpAQCAtODQzLDYgKzkwNywxNSBAQAogCSAqLwogCXNxc2l6ZSA9IHJvdW5kdXBfcG93X29mX3R3byhhdHRycy0+Y2FwLm1heF9zZW5kX3dyKTsKIAl3cXNpemUgPSByb3VuZHVwX3Bvd19vZl90d28ocnFzaXplICsgc3FzaXplKTsKKworCS8qCisJICogS2VybmVsIHVzZXJzIG5lZWQgbW9yZSB3cSBzcGFjZSBmb3IgZmFzdHJlZyBXUnMgd2hpY2ggY2FuIHRha2UKKwkgKiAyIFdSIGZyYWdtZW50cy4KKwkgKi8KKwl1Y29udGV4dCA9IHBkLT51b2JqZWN0ID8gdG9faXdjaF91Y29udGV4dChwZC0+dW9iamVjdC0+Y29udGV4dCkgOiBOVUxMOworCWlmICghdWNvbnRleHQgJiYgd3FzaXplIDwgKHJxc2l6ZSArICgyICogc3FzaXplKSkpCisJCXdxc2l6ZSA9IHJvdW5kdXBfcG93X29mX3R3byhycXNpemUgKworCQkJCXJvdW5kdXBfcG93X29mX3R3byhhdHRycy0+Y2FwLm1heF9zZW5kX3dyICogMikpOwogCVBEQkcoIiVzIHdxc2l6ZSAlZCBzcXNpemUgJWQgcnFzaXplICVkXG4iLCBfX2Z1bmNfXywKIAkgICAgIHdxc2l6ZSwgc3FzaXplLCBycXNpemUpOwogCXFocCA9IGt6YWxsb2Moc2l6ZW9mKCpxaHApLCBHRlBfS0VSTkVMKTsKQEAgLTg1MSw3ICs5MjQsNiBAQAogCXFocC0+d3Euc2l6ZV9sb2cyID0gaWxvZzIod3FzaXplKTsKIAlxaHAtPndxLnJxX3NpemVfbG9nMiA9IGlsb2cyKHJxc2l6ZSk7CiAJcWhwLT53cS5zcV9zaXplX2xvZzIgPSBpbG9nMihzcXNpemUpOwotCXVjb250ZXh0ID0gcGQtPnVvYmplY3QgPyB0b19pd2NoX3Vjb250ZXh0KHBkLT51b2JqZWN0LT5jb250ZXh0KSA6IE5VTEw7CiAJaWYgKGN4aW9fY3JlYXRlX3FwKCZyaHAtPnJkZXYsICF1ZGF0YSwgJnFocC0+d3EsCiAJCQkgICB1Y29udGV4dCA/ICZ1Y29udGV4dC0+dWN0eCA6ICZyaHAtPnJkZXYudWN0eCkpIHsKIAkJa2ZyZWUocWhwKTsKQEAgLTkzNSwxMCArMTAwNywxMCBAQAogCXFocC0+aWJxcC5xcF9udW0gPSBxaHAtPndxLnFwaWQ7CiAJaW5pdF90aW1lcigmKHFocC0+dGltZXIpKTsKIAlQREJHKCIlcyBzcV9udW1fZW50cmllcyAlZCwgcnFfbnVtX2VudHJpZXMgJWQgIgotCSAgICAgInFwaWQgMHglMHggcWhwICVwIGRtYV9hZGRyIDB4JWxseCBzaXplICVkXG4iLAorCSAgICAgInFwaWQgMHglMHggcWhwICVwIGRtYV9hZGRyIDB4JWxseCBzaXplICVkIHJxX2FkZHIgMHgleFxuIiwKIAkgICAgIF9fZnVuY19fLCBxaHAtPmF0dHIuc3FfbnVtX2VudHJpZXMsIHFocC0+YXR0ci5ycV9udW1fZW50cmllcywKIAkgICAgIHFocC0+d3EucXBpZCwgcWhwLCAodW5zaWduZWQgbG9uZyBsb25nKSBxaHAtPndxLmRtYV9hZGRyLAotCSAgICAgMSA8PCBxaHAtPndxLnNpemVfbG9nMik7CisJICAgICAxIDw8IHFocC0+d3Euc2l6ZV9sb2cyLCBxaHAtPndxLnJxX2FkZHIpOwogCXJldHVybiAmcWhwLT5pYnFwOwogfQogCkBAIC0xMDIzLDYgKzEwOTUsMjkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHU2NCBmd192ZXJzX3N0cmluZ190b191NjQoc3RydWN0IGl3Y2hfZGV2ICppd2NoX2RldikKK3sKKwlzdHJ1Y3QgZXRodG9vbF9kcnZpbmZvIGluZm87CisJc3RydWN0IG5ldF9kZXZpY2UgKmxsZGV2ID0gaXdjaF9kZXYtPnJkZXYudDNjZGV2X3AtPmxsZGV2OworCWNoYXIgKmNwLCAqbmV4dDsKKwl1bnNpZ25lZCBmd19tYWosIGZ3X21pbiwgZndfbWljOworCisJcnRubF9sb2NrKCk7CisJbGxkZXYtPmV0aHRvb2xfb3BzLT5nZXRfZHJ2aW5mbyhsbGRldiwgJmluZm8pOworCXJ0bmxfdW5sb2NrKCk7CisKKwluZXh0ID0gaW5mby5md192ZXJzaW9uICsgMTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19tYWopOworCWNwID0gc3Ryc2VwKCZuZXh0LCAiLiIpOworCXNzY2FuZihjcCwgIiVpIiwgJmZ3X21pbik7CisJY3AgPSBzdHJzZXAoJm5leHQsICIuIik7CisJc3NjYW5mKGNwLCAiJWkiLCAmZndfbWljKTsKKworCXJldHVybiAoKCh1NjQpZndfbWFqICYgMHhmZmZmKSA8PCAzMikgfCAoKGZ3X21pbiAmIDB4ZmZmZikgPDwgMTYpIHwKKwkgICAgICAgKGZ3X21pYyAmIDB4ZmZmZik7Cit9CisKIHN0YXRpYyBpbnQgaXdjaF9xdWVyeV9kZXZpY2Uoc3RydWN0IGliX2RldmljZSAqaWJkZXYsCiAJCQkgICAgIHN0cnVjdCBpYl9kZXZpY2VfYXR0ciAqcHJvcHMpCiB7CkBAIC0xMDMzLDcgKzExMjgsMTAgQEAKIAlkZXYgPSB0b19pd2NoX2RldihpYmRldik7CiAJbWVtc2V0KHByb3BzLCAwLCBzaXplb2YgKnByb3BzKTsKIAltZW1jcHkoJnByb3BzLT5zeXNfaW1hZ2VfZ3VpZCwgZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldi0+ZGV2X2FkZHIsIDYpOworCXByb3BzLT5od192ZXIgPSBkZXYtPnJkZXYudDNjZGV2X3AtPnR5cGU7CisJcHJvcHMtPmZ3X3ZlciA9IGZ3X3ZlcnNfc3RyaW5nX3RvX3U2NChkZXYpOwogCXByb3BzLT5kZXZpY2VfY2FwX2ZsYWdzID0gZGV2LT5kZXZpY2VfY2FwX2ZsYWdzOworCXByb3BzLT5wYWdlX3NpemVfY2FwID0gZGV2LT5hdHRyLm1lbV9wZ3NpemVzX2JpdG1hc2s7CiAJcHJvcHMtPnZlbmRvcl9pZCA9ICh1MzIpZGV2LT5yZGV2LnJuaWNfaW5mby5wZGV2LT52ZW5kb3I7CiAJcHJvcHMtPnZlbmRvcl9wYXJ0X2lkID0gKHUzMilkZXYtPnJkZXYucm5pY19pbmZvLnBkZXYtPmRldmljZTsKIAlwcm9wcy0+bWF4X21yX3NpemUgPSBkZXYtPmF0dHIubWF4X21yX3NpemU7CkBAIC0xMDQ4LDYgKzExNDYsNyBAQAogCXByb3BzLT5tYXhfbXIgPSBkZXYtPmF0dHIubWF4X21lbV9yZWdzOwogCXByb3BzLT5tYXhfcGQgPSBkZXYtPmF0dHIubWF4X3BkczsKIAlwcm9wcy0+bG9jYWxfY2FfYWNrX2RlbGF5ID0gMDsKKwlwcm9wcy0+bWF4X2Zhc3RfcmVnX3BhZ2VfbGlzdF9sZW4gPSBUM19NQVhfRkFTVFJFR19ERVBUSDsKIAogCXJldHVybiAwOwogfQpAQCAtMTA4OCw2ICsxMTg3LDI4IEBACiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT50eXBlKTsKIH0KIAorc3RhdGljIGludCBmd19zdXBwb3J0c19mYXN0cmVnKHN0cnVjdCBpd2NoX2RldiAqaXdjaF9kZXYpCit7CisJc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyBpbmZvOworCXN0cnVjdCBuZXRfZGV2aWNlICpsbGRldiA9IGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldjsKKwljaGFyICpjcCwgKm5leHQ7CisJdW5zaWduZWQgZndfbWFqLCBmd19taW47CisKKwlydG5sX2xvY2soKTsKKwlsbGRldi0+ZXRodG9vbF9vcHMtPmdldF9kcnZpbmZvKGxsZGV2LCAmaW5mbyk7CisJcnRubF91bmxvY2soKTsKKworCW5leHQgPSBpbmZvLmZ3X3ZlcnNpb24rMTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19tYWopOworCWNwID0gc3Ryc2VwKCZuZXh0LCAiLiIpOworCXNzY2FuZihjcCwgIiVpIiwgJmZ3X21pbik7CisKKwlQREJHKCIlcyBtYWogJXUgbWluICV1XG4iLCBfX2Z1bmNfXywgZndfbWFqLCBmd19taW4pOworCisJcmV0dXJuIGZ3X21haiA+IDYgfHwgKGZ3X21haiA9PSA2ICYmIGZ3X21pbiA+IDApOworfQorCiBzdGF0aWMgc3NpemVfdCBzaG93X2Z3X3ZlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCiB7CiAJc3RydWN0IGl3Y2hfZGV2ICppd2NoX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBpd2NoX2RldiwKQEAgLTEwOTYsNyArMTIxNyw5IEBACiAJc3RydWN0IG5ldF9kZXZpY2UgKmxsZGV2ID0gaXdjaF9kZXYtPnJkZXYudDNjZGV2X3AtPmxsZGV2OwogCiAJUERCRygiJXMgZGV2IDB4JXBcbiIsIF9fZnVuY19fLCBkZXYpOworCXJ0bmxfbG9jaygpOwogCWxsZGV2LT5ldGh0b29sX29wcy0+Z2V0X2RydmluZm8obGxkZXYsICZpbmZvKTsKKwlydG5sX3VubG9jaygpOwogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVzXG4iLCBpbmZvLmZ3X3ZlcnNpb24pOwogfQogCkBAIC0xMTA5LDcgKzEyMzIsOSBAQAogCXN0cnVjdCBuZXRfZGV2aWNlICpsbGRldiA9IGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldjsKIAogCVBEQkcoIiVzIGRldiAweCVwXG4iLCBfX2Z1bmNfXywgZGV2KTsKKwlydG5sX2xvY2soKTsKIAlsbGRldi0+ZXRodG9vbF9vcHMtPmdldF9kcnZpbmZvKGxsZGV2LCAmaW5mbyk7CisJcnRubF91bmxvY2soKTsKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlc1xuIiwgaW5mby5kcml2ZXIpOwogfQogCkBAIC0xMTIzLDYgKzEyNDgsNjEgQEAKIAkJICAgICAgIGl3Y2hfZGV2LT5yZGV2LnJuaWNfaW5mby5wZGV2LT5kZXZpY2UpOwogfQogCitzdGF0aWMgaW50IGl3Y2hfZ2V0X21pYihzdHJ1Y3QgaWJfZGV2aWNlICppYmRldiwKKwkJCXVuaW9uIHJkbWFfcHJvdG9jb2xfc3RhdHMgKnN0YXRzKQoreworCXN0cnVjdCBpd2NoX2RldiAqZGV2OworCXN0cnVjdCB0cF9taWJfc3RhdHMgbTsKKwlpbnQgcmV0OworCisJUERCRygiJXMgaWJkZXYgJXBcbiIsIF9fZnVuY19fLCBpYmRldik7CisJZGV2ID0gdG9faXdjaF9kZXYoaWJkZXYpOworCXJldCA9IGRldi0+cmRldi50M2NkZXZfcC0+Y3RsKGRldi0+cmRldi50M2NkZXZfcCwgUkRNQV9HRVRfTUlCLCAmbSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwltZW1zZXQoc3RhdHMsIDAsIHNpemVvZiAqc3RhdHMpOworCXN0YXRzLT5pdy5pcEluUmVjZWl2ZXMgPSAoKHU2NCkgbS5pcEluUmVjZWl2ZV9oaSA8PCAzMikgKworCQkJCW0uaXBJblJlY2VpdmVfbG87CisJc3RhdHMtPml3LmlwSW5IZHJFcnJvcnMgPSAoKHU2NCkgbS5pcEluSGRyRXJyb3JzX2hpIDw8IDMyKSArCisJCQkJICBtLmlwSW5IZHJFcnJvcnNfbG87CisJc3RhdHMtPml3LmlwSW5BZGRyRXJyb3JzID0gKCh1NjQpIG0uaXBJbkFkZHJFcnJvcnNfaGkgPDwgMzIpICsKKwkJCQkgICBtLmlwSW5BZGRyRXJyb3JzX2xvOworCXN0YXRzLT5pdy5pcEluVW5rbm93blByb3RvcyA9ICgodTY0KSBtLmlwSW5Vbmtub3duUHJvdG9zX2hpIDw8IDMyKSArCisJCQkJICAgICAgbS5pcEluVW5rbm93blByb3Rvc19sbzsKKwlzdGF0cy0+aXcuaXBJbkRpc2NhcmRzID0gKCh1NjQpIG0uaXBJbkRpc2NhcmRzX2hpIDw8IDMyKSArCisJCQkJIG0uaXBJbkRpc2NhcmRzX2xvOworCXN0YXRzLT5pdy5pcEluRGVsaXZlcnMgPSAoKHU2NCkgbS5pcEluRGVsaXZlcnNfaGkgPDwgMzIpICsKKwkJCQkgbS5pcEluRGVsaXZlcnNfbG87CisJc3RhdHMtPml3LmlwT3V0UmVxdWVzdHMgPSAoKHU2NCkgbS5pcE91dFJlcXVlc3RzX2hpIDw8IDMyKSArCisJCQkJICBtLmlwT3V0UmVxdWVzdHNfbG87CisJc3RhdHMtPml3LmlwT3V0RGlzY2FyZHMgPSAoKHU2NCkgbS5pcE91dERpc2NhcmRzX2hpIDw8IDMyKSArCisJCQkJICBtLmlwT3V0RGlzY2FyZHNfbG87CisJc3RhdHMtPml3LmlwT3V0Tm9Sb3V0ZXMgPSAoKHU2NCkgbS5pcE91dE5vUm91dGVzX2hpIDw8IDMyKSArCisJCQkJICBtLmlwT3V0Tm9Sb3V0ZXNfbG87CisJc3RhdHMtPml3LmlwUmVhc21UaW1lb3V0ID0gKHU2NCkgbS5pcFJlYXNtVGltZW91dDsKKwlzdGF0cy0+aXcuaXBSZWFzbVJlcWRzID0gKHU2NCkgbS5pcFJlYXNtUmVxZHM7CisJc3RhdHMtPml3LmlwUmVhc21PS3MgPSAodTY0KSBtLmlwUmVhc21PS3M7CisJc3RhdHMtPml3LmlwUmVhc21GYWlscyA9ICh1NjQpIG0uaXBSZWFzbUZhaWxzOworCXN0YXRzLT5pdy50Y3BBY3RpdmVPcGVucyA9ICh1NjQpIG0udGNwQWN0aXZlT3BlbnM7CisJc3RhdHMtPml3LnRjcFBhc3NpdmVPcGVucyA9ICh1NjQpIG0udGNwUGFzc2l2ZU9wZW5zOworCXN0YXRzLT5pdy50Y3BBdHRlbXB0RmFpbHMgPSAodTY0KSBtLnRjcEF0dGVtcHRGYWlsczsKKwlzdGF0cy0+aXcudGNwRXN0YWJSZXNldHMgPSAodTY0KSBtLnRjcEVzdGFiUmVzZXRzOworCXN0YXRzLT5pdy50Y3BPdXRSc3RzID0gKHU2NCkgbS50Y3BPdXRSc3RzOworCXN0YXRzLT5pdy50Y3BDdXJyRXN0YWIgPSAodTY0KSBtLnRjcEN1cnJFc3RhYjsKKwlzdGF0cy0+aXcudGNwSW5TZWdzID0gKCh1NjQpIG0udGNwSW5TZWdzX2hpIDw8IDMyKSArCisJCQkgICAgICBtLnRjcEluU2Vnc19sbzsKKwlzdGF0cy0+aXcudGNwT3V0U2VncyA9ICgodTY0KSBtLnRjcE91dFNlZ3NfaGkgPDwgMzIpICsKKwkJCSAgICAgICBtLnRjcE91dFNlZ3NfbG87CisJc3RhdHMtPml3LnRjcFJldHJhbnNTZWdzID0gKCh1NjQpIG0udGNwUmV0cmFuc1NlZ19oaSA8PCAzMikgKworCQkJCSAgbS50Y3BSZXRyYW5zU2VnX2xvOworCXN0YXRzLT5pdy50Y3BJbkVycnMgPSAoKHU2NCkgbS50Y3BJbkVycnNfaGkgPDwgMzIpICsKKwkJCSAgICAgIG0udGNwSW5FcnJzX2xvOworCXN0YXRzLT5pdy50Y3BSdG9NaW4gPSAodTY0KSBtLnRjcFJ0b01pbjsKKwlzdGF0cy0+aXcudGNwUnRvTWF4ID0gKHU2NCkgbS50Y3BSdG9NYXg7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBERVZJQ0VfQVRUUihod19yZXYsIFNfSVJVR08sIHNob3dfcmV2LCBOVUxMKTsKIHN0YXRpYyBERVZJQ0VfQVRUUihmd192ZXIsIFNfSVJVR08sIHNob3dfZndfdmVyLCBOVUxMKTsKIHN0YXRpYyBERVZJQ0VfQVRUUihoY2FfdHlwZSwgU19JUlVHTywgc2hvd19oY2EsIE5VTEwpOwpAQCAtMTEzMiw3ICsxMzEyLDcgQEAKIAkmZGV2X2F0dHJfaHdfcmV2LAogCSZkZXZfYXR0cl9md192ZXIsCiAJJmRldl9hdHRyX2hjYV90eXBlLAotCSZkZXZfYXR0cl9ib2FyZF9pZAorCSZkZXZfYXR0cl9ib2FyZF9pZCwKIH07CiAKIGludCBpd2NoX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgaXdjaF9kZXYgKmRldikKQEAgLTExNDUsOCArMTMyNSwxMiBAQAogCW1lbXNldCgmZGV2LT5pYmRldi5ub2RlX2d1aWQsIDAsIHNpemVvZihkZXYtPmliZGV2Lm5vZGVfZ3VpZCkpOwogCW1lbWNweSgmZGV2LT5pYmRldi5ub2RlX2d1aWQsIGRldi0+cmRldi50M2NkZXZfcC0+bGxkZXYtPmRldl9hZGRyLCA2KTsKIAlkZXYtPmliZGV2Lm93bmVyID0gVEhJU19NT0RVTEU7Ci0JZGV2LT5kZXZpY2VfY2FwX2ZsYWdzID0KLQkgICAgKElCX0RFVklDRV9aRVJPX1NUQUcgfCBJQl9ERVZJQ0VfTUVNX1dJTkRPVyk7CisJZGV2LT5kZXZpY2VfY2FwX2ZsYWdzID0gSUJfREVWSUNFX0xPQ0FMX0RNQV9MS0VZIHwgSUJfREVWSUNFX01FTV9XSU5ET1c7CisKKwkvKiBjeGdiMyBzdXBwb3J0cyBTVGFnIDAuICovCisJZGV2LT5pYmRldi5sb2NhbF9kbWFfbGtleSA9IDA7CisJaWYgKGZ3X3N1cHBvcnRzX2Zhc3RyZWcoZGV2KSkKKwkJZGV2LT5kZXZpY2VfY2FwX2ZsYWdzIHw9IElCX0RFVklDRV9NRU1fTUdUX0VYVEVOU0lPTlM7CiAKIAlkZXYtPmliZGV2LnV2ZXJic19jbWRfbWFzayA9CiAJICAgICgxdWxsIDw8IElCX1VTRVJfVkVSQlNfQ01EX0dFVF9DT05URVhUKSB8CkBAIC0xMTk4LDE1ICsxMzgyLDE2IEBACiAJZGV2LT5pYmRldi5hbGxvY19tdyA9IGl3Y2hfYWxsb2NfbXc7CiAJZGV2LT5pYmRldi5iaW5kX213ID0gaXdjaF9iaW5kX213OwogCWRldi0+aWJkZXYuZGVhbGxvY19tdyA9IGl3Y2hfZGVhbGxvY19tdzsKLQorCWRldi0+aWJkZXYuYWxsb2NfZmFzdF9yZWdfbXIgPSBpd2NoX2FsbG9jX2Zhc3RfcmVnX21yOworCWRldi0+aWJkZXYuYWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0ID0gaXdjaF9hbGxvY19mYXN0cmVnX3BibDsKKwlkZXYtPmliZGV2LmZyZWVfZmFzdF9yZWdfcGFnZV9saXN0ID0gaXdjaF9mcmVlX2Zhc3RyZWdfcGJsOwogCWRldi0+aWJkZXYuYXR0YWNoX21jYXN0ID0gaXdjaF9tdWx0aWNhc3RfYXR0YWNoOwogCWRldi0+aWJkZXYuZGV0YWNoX21jYXN0ID0gaXdjaF9tdWx0aWNhc3RfZGV0YWNoOwogCWRldi0+aWJkZXYucHJvY2Vzc19tYWQgPSBpd2NoX3Byb2Nlc3NfbWFkOwotCiAJZGV2LT5pYmRldi5yZXFfbm90aWZ5X2NxID0gaXdjaF9hcm1fY3E7CiAJZGV2LT5pYmRldi5wb3N0X3NlbmQgPSBpd2NoX3Bvc3Rfc2VuZDsKIAlkZXYtPmliZGV2LnBvc3RfcmVjdiA9IGl3Y2hfcG9zdF9yZWNlaXZlOwotCisJZGV2LT5pYmRldi5nZXRfcHJvdG9jb2xfc3RhdHMgPSBpd2NoX2dldF9taWI7CiAKIAlkZXYtPmliZGV2Lml3Y20gPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgaXdfY21fdmVyYnMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWRldi0+aWJkZXYuaXdjbSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5oCmluZGV4IDgzNjE2M2YuLmY1Y2VjYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuaApAQCAtMjk2LDE0ICsyOTYsNiBAQAogCSAgICAgICBUUFRfTE9DQUxfUkVBRDsKIH0KIAotc3RhdGljIGlubGluZSB1MzIgaXdjaF9pYl90b19td2JpbmRfYWNjZXNzKGludCBhY2MpCi17Ci0JcmV0dXJuIChhY2MgJiBJQl9BQ0NFU1NfUkVNT1RFX1dSSVRFID8gVDNfTUVNX0FDQ0VTU19SRU1fV1JJVEUgOiAwKSB8Ci0JICAgICAgIChhY2MgJiBJQl9BQ0NFU1NfUkVNT1RFX1JFQUQgPyBUM19NRU1fQUNDRVNTX1JFTV9SRUFEIDogMCkgfAotCSAgICAgICAoYWNjICYgSUJfQUNDRVNTX0xPQ0FMX1dSSVRFID8gVDNfTUVNX0FDQ0VTU19MT0NBTF9XUklURSA6IDApIHwKLQkgICAgICAgVDNfTUVNX0FDQ0VTU19MT0NBTF9SRUFEOwotfQotCiBlbnVtIGl3Y2hfbW1pZF9zdGF0ZSB7CiAJSVdDSF9TVEFHX1NUQVRFX1ZBTElELAogCUlXQ0hfU1RBR19TVEFURV9JTlZBTElECmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9xcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcXAuYwppbmRleCA5OTI2MTM3Li45YTNiZTNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9xcC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3FwLmMKQEAgLTMzLDEwICszMywxMSBAQAogI2luY2x1ZGUgIml3Y2guaCIKICNpbmNsdWRlICJpd2NoX2NtLmgiCiAjaW5jbHVkZSAiY3hpb19oYWwuaCIKKyNpbmNsdWRlICJjeGlvX3Jlc291cmNlLmgiCiAKICNkZWZpbmUgTk9fU1VQUE9SVCAtMQogCi1zdGF0aWMgaW50IGl3Y2hfYnVpbGRfcmRtYV9zZW5kKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKK3N0YXRpYyBpbnQgYnVpbGRfcmRtYV9zZW5kKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKIAkJCQl1OCAqIGZsaXRfY250KQogewogCWludCBpOwpAQCAtNDQsNTkgKzQ1LDQ0IEBACiAKIAlzd2l0Y2ggKHdyLT5vcGNvZGUpIHsKIAljYXNlIElCX1dSX1NFTkQ6Ci0JY2FzZSBJQl9XUl9TRU5EX1dJVEhfSU1NOgogCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NPTElDSVRFRCkKIAkJCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfU0U7CiAJCWVsc2UKIAkJCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EOwogCQl3cWUtPnNlbmQucmVtX3N0YWcgPSAwOwogCQlicmVhazsKLSNpZiAwCQkJCS8qIE5vdCBjdXJyZW50bHkgc3VwcG9ydGVkICovCi0JY2FzZSBUWVBFX1NFTkRfSU5WQUxJREFURToKLQljYXNlIFRZUEVfU0VORF9JTlZBTElEQVRFX0lNTUVESUFURToKLQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkRfV0lUSF9JTlY7Ci0JCXdxZS0+c2VuZC5yZW1fc3RhZyA9IGNwdV90b19iZTMyKHdyLT53ci5yZG1hLnJrZXkpOworCWNhc2UgSUJfV1JfU0VORF9XSVRIX0lOVjoKKwkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9TT0xJQ0lURUQpCisJCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORF9XSVRIX1NFX0lOVjsKKwkJZWxzZQorCQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkRfV0lUSF9JTlY7CisJCXdxZS0+c2VuZC5yZW1fc3RhZyA9IGNwdV90b19iZTMyKHdyLT5leC5pbnZhbGlkYXRlX3JrZXkpOwogCQlicmVhazsKLQljYXNlIFRZUEVfU0VORF9TRV9JTlZBTElEQVRFOgotCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORF9XSVRIX1NFX0lOVjsKLQkJd3FlLT5zZW5kLnJlbV9zdGFnID0gY3B1X3RvX2JlMzIod3ItPndyLnJkbWEucmtleSk7Ci0JCWJyZWFrOwotI2VuZGlmCiAJZGVmYXVsdDoKLQkJYnJlYWs7CisJCXJldHVybiAtRUlOVkFMOwogCX0KIAlpZiAod3ItPm51bV9zZ2UgPiBUM19NQVhfU0dFKQogCQlyZXR1cm4gLUVJTlZBTDsKIAl3cWUtPnNlbmQucmVzZXJ2ZWRbMF0gPSAwOwogCXdxZS0+c2VuZC5yZXNlcnZlZFsxXSA9IDA7CiAJd3FlLT5zZW5kLnJlc2VydmVkWzJdID0gMDsKLQlpZiAod3ItPm9wY29kZSA9PSBJQl9XUl9TRU5EX1dJVEhfSU1NKSB7Ci0JCXBsZW4gPSA0OwotCQl3cWUtPnNlbmQuc2dsWzBdLnN0YWcgPSB3ci0+ZXguaW1tX2RhdGE7Ci0JCXdxZS0+c2VuZC5zZ2xbMF0ubGVuID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigwKTsKLQkJd3FlLT5zZW5kLm51bV9zZ2xlID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigwKTsKLQkJKmZsaXRfY250ID0gNTsKLQl9IGVsc2UgewotCQlwbGVuID0gMDsKLQkJZm9yIChpID0gMDsgaSA8IHdyLT5udW1fc2dlOyBpKyspIHsKLQkJCWlmICgocGxlbiArIHdyLT5zZ19saXN0W2ldLmxlbmd0aCkgPCBwbGVuKSB7Ci0JCQkJcmV0dXJuIC1FTVNHU0laRTsKLQkJCX0KLQkJCXBsZW4gKz0gd3ItPnNnX2xpc3RbaV0ubGVuZ3RoOwotCQkJd3FlLT5zZW5kLnNnbFtpXS5zdGFnID0KLQkJCSAgICBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sa2V5KTsKLQkJCXdxZS0+c2VuZC5zZ2xbaV0ubGVuID0KLQkJCSAgICBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sZW5ndGgpOwotCQkJd3FlLT5zZW5kLnNnbFtpXS50byA9IGNwdV90b19iZTY0KHdyLT5zZ19saXN0W2ldLmFkZHIpOwotCQl9Ci0JCXdxZS0+c2VuZC5udW1fc2dsZSA9IGNwdV90b19iZTMyKHdyLT5udW1fc2dlKTsKLQkJKmZsaXRfY250ID0gNCArICgod3ItPm51bV9zZ2UpIDw8IDEpOworCXBsZW4gPSAwOworCWZvciAoaSA9IDA7IGkgPCB3ci0+bnVtX3NnZTsgaSsrKSB7CisJCWlmICgocGxlbiArIHdyLT5zZ19saXN0W2ldLmxlbmd0aCkgPCBwbGVuKQorCQkJcmV0dXJuIC1FTVNHU0laRTsKKworCQlwbGVuICs9IHdyLT5zZ19saXN0W2ldLmxlbmd0aDsKKwkJd3FlLT5zZW5kLnNnbFtpXS5zdGFnID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGtleSk7CisJCXdxZS0+c2VuZC5zZ2xbaV0ubGVuID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGVuZ3RoKTsKKwkJd3FlLT5zZW5kLnNnbFtpXS50byA9IGNwdV90b19iZTY0KHdyLT5zZ19saXN0W2ldLmFkZHIpOwogCX0KKwl3cWUtPnNlbmQubnVtX3NnbGUgPSBjcHVfdG9fYmUzMih3ci0+bnVtX3NnZSk7CisJKmZsaXRfY250ID0gNCArICgod3ItPm51bV9zZ2UpIDw8IDEpOwogCXdxZS0+c2VuZC5wbGVuID0gY3B1X3RvX2JlMzIocGxlbik7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaXdjaF9idWlsZF9yZG1hX3dyaXRlKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKK3N0YXRpYyBpbnQgYnVpbGRfcmRtYV93cml0ZSh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCiAJCQkJIHU4ICpmbGl0X2NudCkKIHsKIAlpbnQgaTsKQEAgLTEzNywxNSArMTIzLDE4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaXdjaF9idWlsZF9yZG1hX3JlYWQodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAorc3RhdGljIGludCBidWlsZF9yZG1hX3JlYWQodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAogCQkJCXU4ICpmbGl0X2NudCkKIHsKIAlpZiAod3ItPm51bV9zZ2UgPiAxKQogCQlyZXR1cm4gLUVJTlZBTDsKIAl3cWUtPnJlYWQucmRtYW9wID0gVDNfUkVBRF9SRVE7CisJaWYgKHdyLT5vcGNvZGUgPT0gSUJfV1JfUkRNQV9SRUFEX1dJVEhfSU5WKQorCQl3cWUtPnJlYWQubG9jYWxfaW52ID0gMTsKKwllbHNlCisJCXdxZS0+cmVhZC5sb2NhbF9pbnYgPSAwOwogCXdxZS0+cmVhZC5yZXNlcnZlZFswXSA9IDA7CiAJd3FlLT5yZWFkLnJlc2VydmVkWzFdID0gMDsKLQl3cWUtPnJlYWQucmVzZXJ2ZWRbMl0gPSAwOwogCXdxZS0+cmVhZC5yZW1fc3RhZyA9IGNwdV90b19iZTMyKHdyLT53ci5yZG1hLnJrZXkpOwogCXdxZS0+cmVhZC5yZW1fdG8gPSBjcHVfdG9fYmU2NCh3ci0+d3IucmRtYS5yZW1vdGVfYWRkcik7CiAJd3FlLT5yZWFkLmxvY2FsX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFswXS5sa2V5KTsKQEAgLTE1NSw2ICsxNDQsNTcgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBidWlsZF9mYXN0cmVnKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKKwkJCQl1OCAqZmxpdF9jbnQsIGludCAqd3JfY250LCBzdHJ1Y3QgdDNfd3EgKndxKQoreworCWludCBpOworCV9fYmU2NCAqcDsKKworCWlmICh3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0X2xlbiA+IFQzX01BWF9GQVNUUkVHX0RFUFRIKQorCQlyZXR1cm4gLUVJTlZBTDsKKwkqd3JfY250ID0gMTsKKwl3cWUtPmZhc3RyZWcuc3RhZyA9IGNwdV90b19iZTMyKHdyLT53ci5mYXN0X3JlZy5ya2V5KTsKKwl3cWUtPmZhc3RyZWcubGVuID0gY3B1X3RvX2JlMzIod3ItPndyLmZhc3RfcmVnLmxlbmd0aCk7CisJd3FlLT5mYXN0cmVnLnZhX2Jhc2VfaGkgPSBjcHVfdG9fYmUzMih3ci0+d3IuZmFzdF9yZWcuaW92YV9zdGFydCA+PiAzMik7CisJd3FlLT5mYXN0cmVnLnZhX2Jhc2VfbG9fZmJvID0KKwkJCQljcHVfdG9fYmUzMih3ci0+d3IuZmFzdF9yZWcuaW92YV9zdGFydCAmIDB4ZmZmZmZmZmYpOworCXdxZS0+ZmFzdHJlZy5wYWdlX3R5cGVfcGVybXMgPSBjcHVfdG9fYmUzMigKKwkJVl9GUl9QQUdFX0NPVU5UKHdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3RfbGVuKSB8CisJCVZfRlJfUEFHRV9TSVpFKHdyLT53ci5mYXN0X3JlZy5wYWdlX3NoaWZ0LTEyKSB8CisJCVZfRlJfVFlQRShUUFRfVkFUTykgfAorCQlWX0ZSX1BFUk1TKGl3Y2hfaWJfdG9fdHB0X2FjY2Vzcyh3ci0+d3IuZmFzdF9yZWcuYWNjZXNzX2ZsYWdzKSkpOworCXAgPSAmd3FlLT5mYXN0cmVnLnBibF9hZGRyc1swXTsKKwlmb3IgKGkgPSAwOyBpIDwgd3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW47IGkrKywgcCsrKSB7CisKKwkJLyogSWYgd2UgbmVlZCBhIDJuZCBXUiwgdGhlbiBzZXQgaXQgdXAgKi8KKwkJaWYgKGkgPT0gVDNfTUFYX0ZBU1RSRUdfRlJBRykgeworCQkJKndyX2NudCA9IDI7CisJCQl3cWUgPSAodW5pb24gdDNfd3IgKikod3EtPnF1ZXVlICsKKwkJCQlRX1BUUjJJRFgoKHdxLT53cHRyKzEpLCB3cS0+c2l6ZV9sb2cyKSk7CisJCQlidWlsZF9md19yaXdyaCgodm9pZCAqKXdxZSwgVDNfV1JfRkFTVFJFRywgMCwKKwkJCSAgICAgICBRX0dFTkJJVCh3cS0+d3B0ciArIDEsIHdxLT5zaXplX2xvZzIpLAorCQkJICAgICAgIDAsIDEgKyB3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0X2xlbiAtIFQzX01BWF9GQVNUUkVHX0ZSQUcsCisJCQkgICAgICAgVDNfRU9QKTsKKworCQkJcCA9ICZ3cWUtPnBibF9mcmFnLnBibF9hZGRyc1swXTsKKwkJfQorCQkqcCA9IGNwdV90b19iZTY0KCh1NjQpd3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdC0+cGFnZV9saXN0W2ldKTsKKwl9CisJKmZsaXRfY250ID0gNSArIHdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3RfbGVuOworCWlmICgqZmxpdF9jbnQgPiAxNSkKKwkJKmZsaXRfY250ID0gMTU7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYnVpbGRfaW52X3N0YWcodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAorCQkJCXU4ICpmbGl0X2NudCkKK3sKKwl3cWUtPmxvY2FsX2ludi5zdGFnID0gY3B1X3RvX2JlMzIod3ItPmV4LmludmFsaWRhdGVfcmtleSk7CisJd3FlLT5sb2NhbF9pbnYucmVzZXJ2ZWQgPSAwOworCSpmbGl0X2NudCA9IHNpemVvZihzdHJ1Y3QgdDNfbG9jYWxfaW52X3dyKSA+PiAzOworCXJldHVybiAwOworfQorCiAvKgogICogVEJEOiB0aGlzIGlzIGdvaW5nIHRvIGJlIG1vdmVkIHRvIGZpcm13YXJlLiBNaXNzaW5nIHBkaWQvcXBpZCBjaGVjayBmb3Igbm93LgogICovCkBAIC0yMDUsMjMgKzI0NSwxMDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBpd2NoX2J1aWxkX3JkbWFfcmVjdihzdHJ1Y3QgaXdjaF9kZXYgKnJocCwgdW5pb24gdDNfd3IgKndxZSwKK3N0YXRpYyBpbnQgYnVpbGRfcmRtYV9yZWN2KHN0cnVjdCBpd2NoX3FwICpxaHAsIHVuaW9uIHQzX3dyICp3cWUsCiAJCQkJc3RydWN0IGliX3JlY3Zfd3IgKndyKQogewotCWludCBpOwotCWlmICh3ci0+bnVtX3NnZSA+IFQzX01BWF9TR0UpCi0JCXJldHVybiAtRUlOVkFMOworCWludCBpLCBlcnIgPSAwOworCXUzMiBwYmxfYWRkcltUM19NQVhfU0dFXTsKKwl1OCBwYWdlX3NpemVbVDNfTUFYX1NHRV07CisKKwllcnIgPSBpd2NoX3NnbDJwYmxfbWFwKHFocC0+cmhwLCB3ci0+c2dfbGlzdCwgd3ItPm51bV9zZ2UsIHBibF9hZGRyLAorCQkJICAgICAgIHBhZ2Vfc2l6ZSk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwl3cWUtPnJlY3YucGFnZXN6WzBdID0gcGFnZV9zaXplWzBdOworCXdxZS0+cmVjdi5wYWdlc3pbMV0gPSBwYWdlX3NpemVbMV07CisJd3FlLT5yZWN2LnBhZ2VzelsyXSA9IHBhZ2Vfc2l6ZVsyXTsKKwl3cWUtPnJlY3YucGFnZXN6WzNdID0gcGFnZV9zaXplWzNdOwogCXdxZS0+cmVjdi5udW1fc2dsZSA9IGNwdV90b19iZTMyKHdyLT5udW1fc2dlKTsKIAlmb3IgKGkgPSAwOyBpIDwgd3ItPm51bV9zZ2U7IGkrKykgewogCQl3cWUtPnJlY3Yuc2dsW2ldLnN0YWcgPSBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sa2V5KTsKIAkJd3FlLT5yZWN2LnNnbFtpXS5sZW4gPSBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sZW5ndGgpOwotCQl3cWUtPnJlY3Yuc2dsW2ldLnRvID0gY3B1X3RvX2JlNjQod3ItPnNnX2xpc3RbaV0uYWRkcik7CisKKwkJLyogdG8gaW4gdGhlIFdRRSA9PSB0aGUgb2Zmc2V0IGludG8gdGhlIHBhZ2UgKi8KKwkJd3FlLT5yZWN2LnNnbFtpXS50byA9IGNwdV90b19iZTY0KCgodTMyKSB3ci0+c2dfbGlzdFtpXS5hZGRyKSAlCisJCQkJKDFVTCA8PCAoMTIgKyBwYWdlX3NpemVbaV0pKSk7CisKKwkJLyogcGJsX2FkZHIgaXMgdGhlIGFkYXB0ZXJzIGFkZHJlc3MgaW4gdGhlIFBCTCAqLworCQl3cWUtPnJlY3YucGJsX2FkZHJbaV0gPSBjcHVfdG9fYmUzMihwYmxfYWRkcltpXSk7CiAJfQogCWZvciAoOyBpIDwgVDNfTUFYX1NHRTsgaSsrKSB7CiAJCXdxZS0+cmVjdi5zZ2xbaV0uc3RhZyA9IDA7CiAJCXdxZS0+cmVjdi5zZ2xbaV0ubGVuID0gMDsKIAkJd3FlLT5yZWN2LnNnbFtpXS50byA9IDA7CisJCXdxZS0+cmVjdi5wYmxfYWRkcltpXSA9IDA7CiAJfQorCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwKKwkJCSAgICAgcWhwLT53cS5ycV9zaXplX2xvZzIpXS53cl9pZCA9IHdyLT53cl9pZDsKKwlxaHAtPndxLnJxW1FfUFRSMklEWChxaHAtPndxLnJxX3dwdHIsCisJCQkgICAgIHFocC0+d3EucnFfc2l6ZV9sb2cyKV0ucGJsX2FkZHIgPSAwOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJ1aWxkX3plcm9fc3RhZ19yZWN2KHN0cnVjdCBpd2NoX3FwICpxaHAsIHVuaW9uIHQzX3dyICp3cWUsCisJCQkJc3RydWN0IGliX3JlY3Zfd3IgKndyKQoreworCWludCBpOworCXUzMiBwYmxfYWRkcjsKKwl1MzIgcGJsX29mZnNldDsKKworCisJLyoKKwkgKiBUaGUgVDMgSFcgcmVxdWlyZXMgdGhlIFBCTCBpbiB0aGUgSFcgcmVjdiBkZXNjcmlwdG9yIHRvIHJlZmVyZW5jZQorCSAqIGEgUEJMIGVudHJ5LiAgU28gd2UgYWxsb2NhdGUgdGhlIG1heCBuZWVkZWQgUEJMIG1lbW9yeSBoZXJlIGFuZCBwYXNzCisJICogaXQgdG8gdGhlIHVQIGluIHRoZSByZWN2IFdSLiAgVGhlIHVQIHdpbGwgYnVpbGQgdGhlIFBCTCBhbmQgc2V0dXAKKwkgKiB0aGUgSFcgcmVjdiBkZXNjcmlwdG9yLgorCSAqLworCXBibF9hZGRyID0gY3hpb19oYWxfcGJscG9vbF9hbGxvYygmcWhwLT5yaHAtPnJkZXYsIFQzX1NUQUcwX1BCTF9TSVpFKTsKKwlpZiAoIXBibF9hZGRyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCS8qCisJICogQ29tcHV0ZSB0aGUgOEIgYWxpZ25lZCBvZmZzZXQuCisJICovCisJcGJsX29mZnNldCA9IChwYmxfYWRkciAtIHFocC0+cmhwLT5yZGV2LnJuaWNfaW5mby5wYmxfYmFzZSkgPj4gMzsKKworCXdxZS0+cmVjdi5udW1fc2dsZSA9IGNwdV90b19iZTMyKHdyLT5udW1fc2dlKTsKKworCWZvciAoaSA9IDA7IGkgPCB3ci0+bnVtX3NnZTsgaSsrKSB7CisKKwkJLyoKKwkJICogVXNlIGEgMTI4TUIgcGFnZSBzaXplLiBUaGlzIGFuZCBhbiBpbXBvc2VkIDEyOE1CCisJCSAqIHNnZSBsZW5ndGggbGltaXQgYWxsb3dzIHVzIHRvIHJlcXVpcmUgb25seSBhIDItZW50cnkgSFcKKwkJICogUEJMIGZvciBlYWNoIFNHRS4gIFRoaXMgcmVzdHJpY3Rpb24gaXMgYWNjZXB0YWJsZSBzaW5jZQorCQkgKiBzaW5jZSBpdCBpcyBub3QgcG9zc2libGUgdG8gYWxsb2NhdGUgMTI4TUIgb2YgY29udGlndW91cworCQkgKiBETUEgY29oZXJlbnQgbWVtb3J5IQorCQkgKi8KKwkJaWYgKHdyLT5zZ19saXN0W2ldLmxlbmd0aCA+IFQzX1NUQUcwX01BWF9QQkVfTEVOKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCXdxZS0+cmVjdi5wYWdlc3pbaV0gPSBUM19TVEFHMF9QQUdFX1NISUZUOworCisJCS8qCisJCSAqIFQzIHJlc3RyaWN0cyBhIHJlY3YgdG8gYWxsIHplcm8tc3RhZyBvciBhbGwgbm9uLXplcm8tc3RhZy4KKwkJICovCisJCWlmICh3ci0+c2dfbGlzdFtpXS5sa2V5ICE9IDApCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJd3FlLT5yZWN2LnNnbFtpXS5zdGFnID0gMDsKKwkJd3FlLT5yZWN2LnNnbFtpXS5sZW4gPSBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sZW5ndGgpOworCQl3cWUtPnJlY3Yuc2dsW2ldLnRvID0gY3B1X3RvX2JlNjQod3ItPnNnX2xpc3RbaV0uYWRkcik7CisJCXdxZS0+cmVjdi5wYmxfYWRkcltpXSA9IGNwdV90b19iZTMyKHBibF9vZmZzZXQpOworCQlwYmxfb2Zmc2V0ICs9IDI7CisJfQorCWZvciAoOyBpIDwgVDNfTUFYX1NHRTsgaSsrKSB7CisJCXdxZS0+cmVjdi5wYWdlc3pbaV0gPSAwOworCQl3cWUtPnJlY3Yuc2dsW2ldLnN0YWcgPSAwOworCQl3cWUtPnJlY3Yuc2dsW2ldLmxlbiA9IDA7CisJCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSAwOworCQl3cWUtPnJlY3YucGJsX2FkZHJbaV0gPSAwOworCX0KKwlxaHAtPndxLnJxW1FfUFRSMklEWChxaHAtPndxLnJxX3dwdHIsCisJCQkgICAgIHFocC0+d3EucnFfc2l6ZV9sb2cyKV0ud3JfaWQgPSB3ci0+d3JfaWQ7CisJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLAorCQkJICAgICBxaHAtPndxLnJxX3NpemVfbG9nMildLnBibF9hZGRyID0gcGJsX2FkZHI7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIzOCw2ICszNjEsNyBAQAogCXUzMiBudW1fd3JzOwogCXVuc2lnbmVkIGxvbmcgZmxhZzsKIAlzdHJ1Y3QgdDNfc3dzcSAqc3FwOworCWludCB3cl9jbnQgPSAxOwogCiAJcWhwID0gdG9faXdjaF9xcChpYnFwKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmcWhwLT5sb2NrLCBmbGFnKTsKQEAgLTI2MiwzMyArMzg2LDQ1IEBACiAJCXQzX3dyX2ZsYWdzID0gMDsKIAkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9TT0xJQ0lURUQpCiAJCQl0M193cl9mbGFncyB8PSBUM19TT0xJQ0lURURfRVZFTlRfRkxBRzsKLQkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9GRU5DRSkKLQkJCXQzX3dyX2ZsYWdzIHw9IFQzX1JFQURfRkVOQ0VfRkxBRzsKIAkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9TSUdOQUxFRCkKIAkJCXQzX3dyX2ZsYWdzIHw9IFQzX0NPTVBMRVRJT05fRkxBRzsKIAkJc3FwID0gcWhwLT53cS5zcSArCiAJCSAgICAgIFFfUFRSMklEWChxaHAtPndxLnNxX3dwdHIsIHFocC0+d3Euc3Ffc2l6ZV9sb2cyKTsKIAkJc3dpdGNoICh3ci0+b3Bjb2RlKSB7CiAJCWNhc2UgSUJfV1JfU0VORDoKLQkJY2FzZSBJQl9XUl9TRU5EX1dJVEhfSU1NOgorCQljYXNlIElCX1dSX1NFTkRfV0lUSF9JTlY6CisJCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX0ZFTkNFKQorCQkJCXQzX3dyX2ZsYWdzIHw9IFQzX1JFQURfRkVOQ0VfRkxBRzsKIAkJCXQzX3dyX29wY29kZSA9IFQzX1dSX1NFTkQ7Ci0JCQllcnIgPSBpd2NoX2J1aWxkX3JkbWFfc2VuZCh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOworCQkJZXJyID0gYnVpbGRfcmRtYV9zZW5kKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CiAJCQlicmVhazsKIAkJY2FzZSBJQl9XUl9SRE1BX1dSSVRFOgogCQljYXNlIElCX1dSX1JETUFfV1JJVEVfV0lUSF9JTU06CiAJCQl0M193cl9vcGNvZGUgPSBUM19XUl9XUklURTsKLQkJCWVyciA9IGl3Y2hfYnVpbGRfcmRtYV93cml0ZSh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOworCQkJZXJyID0gYnVpbGRfcmRtYV93cml0ZSh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOwogCQkJYnJlYWs7CiAJCWNhc2UgSUJfV1JfUkRNQV9SRUFEOgorCQljYXNlIElCX1dSX1JETUFfUkVBRF9XSVRIX0lOVjoKIAkJCXQzX3dyX29wY29kZSA9IFQzX1dSX1JFQUQ7CiAJCQl0M193cl9mbGFncyA9IDA7IC8qIFQzIHJlYWRzIGFyZSBhbHdheXMgc2lnbmFsZWQgKi8KLQkJCWVyciA9IGl3Y2hfYnVpbGRfcmRtYV9yZWFkKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CisJCQllcnIgPSBidWlsZF9yZG1hX3JlYWQod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKIAkJCWlmIChlcnIpCiAJCQkJYnJlYWs7CiAJCQlzcXAtPnJlYWRfbGVuID0gd3FlLT5yZWFkLmxvY2FsX2xlbjsKIAkJCWlmICghcWhwLT53cS5vbGRlc3RfcmVhZCkKIAkJCQlxaHAtPndxLm9sZGVzdF9yZWFkID0gc3FwOwogCQkJYnJlYWs7CisJCWNhc2UgSUJfV1JfRkFTVF9SRUdfTVI6CisJCQl0M193cl9vcGNvZGUgPSBUM19XUl9GQVNUUkVHOworCQkJZXJyID0gYnVpbGRfZmFzdHJlZyh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQsCisJCQkJCQkgJndyX2NudCwgJnFocC0+d3EpOworCQkJYnJlYWs7CisJCWNhc2UgSUJfV1JfTE9DQUxfSU5WOgorCQkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9GRU5DRSkKKwkJCQl0M193cl9mbGFncyB8PSBUM19MT0NBTF9GRU5DRV9GTEFHOworCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfSU5WX1NUQUc7CisJCQllcnIgPSBidWlsZF9pbnZfc3RhZyh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOworCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQlQREJHKCIlcyBwb3N0IG9mIHR5cGU9JWQgVEJEIVxuIiwgX19mdW5jX18sCiAJCQkgICAgIHdyLT5vcGNvZGUpOwpAQCAtMzA3LDE0ICs0NDMsMTUgQEAKIAogCQlidWlsZF9md19yaXdyaCgodm9pZCAqKSB3cWUsIHQzX3dyX29wY29kZSwgdDNfd3JfZmxhZ3MsCiAJCQkgICAgICAgUV9HRU5CSVQocWhwLT53cS53cHRyLCBxaHAtPndxLnNpemVfbG9nMiksCi0JCQkgICAgICAgMCwgdDNfd3JfZmxpdF9jbnQpOworCQkJICAgICAgIDAsIHQzX3dyX2ZsaXRfY250LAorCQkJICAgICAgICh3cl9jbnQgPT0gMSkgPyBUM19TT1BFT1AgOiBUM19TT1ApOwogCQlQREJHKCIlcyBjb29raWUgMHglbGx4IHdxIGlkeCAweCV4IHN3c3EgaWR4ICVsZCBvcGNvZGUgJWRcbiIsCiAJCSAgICAgX19mdW5jX18sICh1bnNpZ25lZCBsb25nIGxvbmcpIHdyLT53cl9pZCwgaWR4LAogCQkgICAgIFFfUFRSMklEWChxaHAtPndxLnNxX3dwdHIsIHFocC0+d3Euc3Ffc2l6ZV9sb2cyKSwKIAkJICAgICBzcXAtPm9wY29kZSk7CiAJCXdyID0gd3ItPm5leHQ7CiAJCW51bV93cnMtLTsKLQkJKysocWhwLT53cS53cHRyKTsKKwkJcWhwLT53cS53cHRyICs9IHdyX2NudDsKIAkJKysocWhwLT53cS5zcV93cHRyKTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcWhwLT5sb2NrLCBmbGFnKTsKQEAgLTM0NSwyMSArNDgyLDI3IEBACiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAl3aGlsZSAod3IpIHsKKwkJaWYgKHdyLT5udW1fc2dlID4gVDNfTUFYX1NHRSkgeworCQkJZXJyID0gLUVJTlZBTDsKKwkJCSpiYWRfd3IgPSB3cjsKKwkJCWJyZWFrOworCQl9CiAJCWlkeCA9IFFfUFRSMklEWChxaHAtPndxLndwdHIsIHFocC0+d3Euc2l6ZV9sb2cyKTsKIAkJd3FlID0gKHVuaW9uIHQzX3dyICopIChxaHAtPndxLnF1ZXVlICsgaWR4KTsKIAkJaWYgKG51bV93cnMpCi0JCQllcnIgPSBpd2NoX2J1aWxkX3JkbWFfcmVjdihxaHAtPnJocCwgd3FlLCB3cik7CisJCQlpZiAod3ItPnNnX2xpc3RbMF0ubGtleSkKKwkJCQllcnIgPSBidWlsZF9yZG1hX3JlY3YocWhwLCB3cWUsIHdyKTsKKwkJCWVsc2UKKwkJCQllcnIgPSBidWlsZF96ZXJvX3N0YWdfcmVjdihxaHAsIHdxZSwgd3IpOwogCQllbHNlCiAJCQllcnIgPSAtRU5PTUVNOwogCQlpZiAoZXJyKSB7CiAJCQkqYmFkX3dyID0gd3I7CiAJCQlicmVhazsKIAkJfQotCQlxaHAtPndxLnJxW1FfUFRSMklEWChxaHAtPndxLnJxX3dwdHIsIHFocC0+d3EucnFfc2l6ZV9sb2cyKV0gPQotCQkJd3ItPndyX2lkOwogCQlidWlsZF9md19yaXdyaCgodm9pZCAqKSB3cWUsIFQzX1dSX1JDViwgVDNfQ09NUExFVElPTl9GTEFHLAogCQkJICAgICAgIFFfR0VOQklUKHFocC0+d3Eud3B0ciwgcWhwLT53cS5zaXplX2xvZzIpLAotCQkJICAgICAgIDAsIHNpemVvZihzdHJ1Y3QgdDNfcmVjZWl2ZV93cikgPj4gMyk7CisJCQkgICAgICAgMCwgc2l6ZW9mKHN0cnVjdCB0M19yZWNlaXZlX3dyKSA+PiAzLCBUM19TT1BFT1ApOwogCQlQREJHKCIlcyBjb29raWUgMHglbGx4IGlkeCAweCV4IHJxX3dwdHIgMHgleCByd19ycHRyIDB4JXggIgogCQkgICAgICJ3cWUgJXAgXG4iLCBfX2Z1bmNfXywgKHVuc2lnbmVkIGxvbmcgbG9uZykgd3ItPndyX2lkLAogCQkgICAgIGlkeCwgcWhwLT53cS5ycV93cHRyLCBxaHAtPndxLnJxX3JwdHIsIHdxZSk7CkBAIC00MTksMTAgKzU2MiwxMCBAQAogCXNnbC5sa2V5ID0gbXdfYmluZC0+bXItPmxrZXk7CiAJc2dsLmxlbmd0aCA9IG13X2JpbmQtPmxlbmd0aDsKIAl3cWUtPmJpbmQucmVzZXJ2ZWQgPSAwOwotCXdxZS0+YmluZC50eXBlID0gVDNfVkFfQkFTRURfVE87CisJd3FlLT5iaW5kLnR5cGUgPSBUUFRfVkFUTzsKIAogCS8qIFRCRDogY2hlY2sgcGVybXMgKi8KLQl3cWUtPmJpbmQucGVybXMgPSBpd2NoX2liX3RvX213YmluZF9hY2Nlc3MobXdfYmluZC0+bXdfYWNjZXNzX2ZsYWdzKTsKKwl3cWUtPmJpbmQucGVybXMgPSBpd2NoX2liX3RvX3RwdF9hY2Nlc3MobXdfYmluZC0+bXdfYWNjZXNzX2ZsYWdzKTsKIAl3cWUtPmJpbmQubXJfc3RhZyA9IGNwdV90b19iZTMyKG13X2JpbmQtPm1yLT5sa2V5KTsKIAl3cWUtPmJpbmQubXdfc3RhZyA9IGNwdV90b19iZTMyKG13LT5ya2V5KTsKIAl3cWUtPmJpbmQubXdfbGVuID0gY3B1X3RvX2JlMzIobXdfYmluZC0+bGVuZ3RoKTsKQEAgLTQzMCw3ICs1NzMsNyBAQAogCWVyciA9IGl3Y2hfc2dsMnBibF9tYXAocmhwLCAmc2dsLCAxLCAmcGJsX2FkZHIsICZwYWdlX3NpemUpOwogCWlmIChlcnIpIHsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcWhwLT5sb2NrLCBmbGFnKTsKLQkgICAgICAgIHJldHVybiBlcnI7CisJCXJldHVybiBlcnI7CiAJfQogCXdxZS0+c2VuZC53cmlkLmlkMC5oaSA9IHFocC0+d3Euc3Ffd3B0cjsKIAlzcXAgPSBxaHAtPndxLnNxICsgUV9QVFIySURYKHFocC0+d3Euc3Ffd3B0ciwgcWhwLT53cS5zcV9zaXplX2xvZzIpOwpAQCAtNDQxLDEwICs1ODQsOSBAQAogCXNxcC0+c2lnbmFsZWQgPSAobXdfYmluZC0+c2VuZF9mbGFncyAmIElCX1NFTkRfU0lHTkFMRUQpOwogCXdxZS0+YmluZC5tcl9wYmxfYWRkciA9IGNwdV90b19iZTMyKHBibF9hZGRyKTsKIAl3cWUtPmJpbmQubXJfcGFnZXN6ID0gcGFnZV9zaXplOwotCXdxZS0+ZmxpdFtUM19TUV9DT09LSUVfRkxJVF0gPSBtd19iaW5kLT53cl9pZDsKIAlidWlsZF9md19yaXdyaCgodm9pZCAqKXdxZSwgVDNfV1JfQklORCwgdDNfd3JfZmxhZ3MsCiAJCSAgICAgICBRX0dFTkJJVChxaHAtPndxLndwdHIsIHFocC0+d3Euc2l6ZV9sb2cyKSwgMCwKLQkJCSAgICAgICAgc2l6ZW9mKHN0cnVjdCB0M19iaW5kX213X3dyKSA+PiAzKTsKKwkJICAgICAgIHNpemVvZihzdHJ1Y3QgdDNfYmluZF9td193cikgPj4gMywgVDNfU09QRU9QKTsKIAkrKyhxaHAtPndxLndwdHIpOwogCSsrKHFocC0+d3Euc3Ffd3B0cik7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcWhwLT5sb2NrLCBmbGFnKTsKQEAgLTc1OCw3ICs5MDAsOCBAQAogCWluaXRfYXR0ci5xcF9kbWFfc2l6ZSA9ICgxVUwgPDwgcWhwLT53cS5zaXplX2xvZzIpOwogCWluaXRfYXR0ci5ycWVfY291bnQgPSBpd2NoX3JxZXNfcG9zdGVkKHFocCk7CiAJaW5pdF9hdHRyLmZsYWdzID0gcWhwLT5hdHRyLm1wYV9hdHRyLmluaXRpYXRvciA/IE1QQV9JTklUSUFUT1IgOiAwOwotCWluaXRfYXR0ci5mbGFncyB8PSBjYXBhYmxlKENBUF9ORVRfQklORF9TRVJWSUNFKSA/IFBSSVZfUVAgOiAwOworCWlmICghcWhwLT5pYnFwLnVvYmplY3QpCisJCWluaXRfYXR0ci5mbGFncyB8PSBQUklWX1FQOwogCWlmIChwZWVyMnBlZXIpIHsKIAkJaW5pdF9hdHRyLnJ0cl90eXBlID0gUlRSX1JFQUQ7CiAJCWlmIChpbml0X2F0dHIub3JkID09IDAgJiYgcWhwLT5hdHRyLm1wYV9hdHRyLmluaXRpYXRvcikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfaXJxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX2lycS5jCmluZGV4IGNlMWFiMDUuLjA3OTJkOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfaXJxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9pcnEuYwpAQCAtNTMxLDcgKzUzMSw3IEBACiB7CiAJc3RydWN0IGVoY2FfZXEgKmVxID0gJnNoY2EtPmVxOwogCXN0cnVjdCBlaGNhX2VxZV9jYWNoZV9lbnRyeSAqZXFlX2NhY2hlID0gZXEtPmVxZV9jYWNoZTsKLQl1NjQgZXFlX3ZhbHVlOworCXU2NCBlcWVfdmFsdWUsIHJldDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBlcWVfY250LCBpOwogCWludCBlcV9lbXB0eSA9IDA7CkBAIC01ODMsOCArNTgzLDEzIEBACiAJCQllaGNhX2RiZygmc2hjYS0+aWJfZGV2aWNlLAogCQkJCSAiTm8gZXFlIGZvdW5kIGZvciBpcnEgZXZlbnQiKTsKIAkJZ290byB1bmxvY2tfaXJxX3NwaW5sb2NrOwotCX0gZWxzZSBpZiAoIWlzX2lycSkKKwl9IGVsc2UgaWYgKCFpc19pcnEpIHsKKwkJcmV0ID0gaGlwel9oX2VvaShlcS0+aXN0KTsKKwkJaWYgKHJldCAhPSBIX1NVQ0NFU1MpCisJCQllaGNhX2Vycigmc2hjYS0+aWJfZGV2aWNlLAorCQkJCSAiYmFkIHJldHVybiBjb2RlIEVPSSAtcmMgPSAlbGRcbiIsIHJldCk7CiAJCWVoY2FfZGJnKCZzaGNhLT5pYl9kZXZpY2UsICJkZWFkbWFuIGZvdW5kICV4IGVxZSIsIGVxZV9jbnQpOworCX0KIAlpZiAodW5saWtlbHkoZXFlX2NudCA9PSBFSENBX0VRRV9DQUNIRV9TSVpFKSkKIAkJZWhjYV9kYmcoJnNoY2EtPmliX2RldmljZSwgInRvbyBtYW55IGVxZXMgZm9yIG9uZSBpcnEgZXZlbnQiKTsKIAkvKiBlbmFibGUgaXJxIGZvciBuZXcgcGFja2V0cyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9tYWluLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX21haW4uYwppbmRleCA0ODIxMDNlLi41OTg4NDRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX21haW4uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX21haW4uYwpAQCAtOTIzLDYgKzkyMyw3IEBACiAJfSwKIAl7fSwKIH07CitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBlaGNhX2RldmljZV90YWJsZSk7CiAKIHN0YXRpYyBzdHJ1Y3Qgb2ZfcGxhdGZvcm1fZHJpdmVyIGVoY2FfZHJpdmVyID0gewogCS5uYW1lICAgICAgICA9ICJlaGNhIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfcmVxcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9yZXFzLmMKaW5kZXggZjA5M2IwMC4uZGQ5YmM2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9yZXFzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9yZXFzLmMKQEAgLTU0NCw4ICs1NDQsMTYgQEAKIAkJICAgc3RydWN0IGliX3JlY3Zfd3IgKnJlY3Zfd3IsCiAJCSAgIHN0cnVjdCBpYl9yZWN2X3dyICoqYmFkX3JlY3Zfd3IpCiB7Ci0JcmV0dXJuIGludGVybmFsX3Bvc3RfcmVjdihjb250YWluZXJfb2YocXAsIHN0cnVjdCBlaGNhX3FwLCBpYl9xcCksCi0JCQkJICBxcC0+ZGV2aWNlLCByZWN2X3dyLCBiYWRfcmVjdl93cik7CisJc3RydWN0IGVoY2FfcXAgKm15X3FwID0gY29udGFpbmVyX29mKHFwLCBzdHJ1Y3QgZWhjYV9xcCwgaWJfcXApOworCisJLyogUmVqZWN0IFdSIGlmIFFQIGlzIGluIFJFU0VUIHN0YXRlICovCisJaWYgKHVubGlrZWx5KG15X3FwLT5zdGF0ZSA9PSBJQl9RUFNfUkVTRVQpKSB7CisJCWVoY2FfZXJyKHFwLT5kZXZpY2UsICJJbnZhbGlkIFFQIHN0YXRlICBxcF9zdGF0ZT0lZCBxcG49JXgiLAorCQkJIG15X3FwLT5zdGF0ZSwgcXAtPnFwX251bSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiBpbnRlcm5hbF9wb3N0X3JlY3YobXlfcXAsIHFwLT5kZXZpY2UsIHJlY3Zfd3IsIGJhZF9yZWN2X3dyKTsKIH0KIAogaW50IGVoY2FfcG9zdF9zcnFfcmVjdihzdHJ1Y3QgaWJfc3JxICpzcnEsCkBAIC02ODEsNyArNjg5LDcgQEAKIAl3Yy0+ZGxpZF9wYXRoX2JpdHMgPSBjcWUtPmRsaWQ7CiAJd2MtPnNyY19xcCA9IGNxZS0+cmVtb3RlX3FwX251bWJlcjsKIAl3Yy0+d2NfZmxhZ3MgPSBjcWUtPndfY29tcGxldGlvbl9mbGFnczsKLQl3Yy0+aW1tX2RhdGEgPSBjcHVfdG9fYmUzMihjcWUtPmltbWVkaWF0ZV9kYXRhKTsKKwl3Yy0+ZXguaW1tX2RhdGEgPSBjcHVfdG9fYmUzMihjcWUtPmltbWVkaWF0ZV9kYXRhKTsKIAl3Yy0+c2wgPSBjcWUtPnNlcnZpY2VfbGV2ZWw7CiAKIHBvbGxfY3Ffb25lX2V4aXQwOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuYwppbmRleCA1MjQ1ZTEzLi40MTVkM2E0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuYwpAQCAtOTMzLDMgKzkzMywxMyBAQAogCQkJCSAgICAgICByX2NiLAogCQkJCSAgICAgICAwLCAwLCAwLCAwKTsKIH0KKwordTY0IGhpcHpfaF9lb2koaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIHhpcnI7CisKKwlpb3N5bmMoKTsKKwl4aXJyID0gKDB4ZmZVTEwgPDwgMjQpIHwgaXJxOworCisJcmV0dXJuIHBscGFyX2hjYWxsX25vcmV0cyhIX0VPSSwgeGlycik7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5oCmluZGV4IDYwY2UwMmIuLjJjM2M2ZTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5oCkBAIC0yNjAsNSArMjYwLDYgQEAKIAkJICAgICAgY29uc3QgdTY0IHJlc3NvdXJjZV9oYW5kbGUsCiAJCSAgICAgIHZvaWQgKnJibG9jaywKIAkJICAgICAgdW5zaWduZWQgbG9uZyAqYnl0ZV9jb3VudCk7Cit1NjQgaGlwel9oX2VvaShpbnQgaXJxKTsKIAogI2VuZGlmIC8qIF9fSENQX0lGX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2NxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfY3EuYwppbmRleCBhMDNiZDI4Li5kMzg1ZTQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfY3EuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfY3EuYwpAQCAtODIsNyArODIsNyBAQAogCQl3Yy0+dXF1ZXVlW2hlYWRdLm9wY29kZSA9IGVudHJ5LT5vcGNvZGU7CiAJCXdjLT51cXVldWVbaGVhZF0udmVuZG9yX2VyciA9IGVudHJ5LT52ZW5kb3JfZXJyOwogCQl3Yy0+dXF1ZXVlW2hlYWRdLmJ5dGVfbGVuID0gZW50cnktPmJ5dGVfbGVuOwotCQl3Yy0+dXF1ZXVlW2hlYWRdLmltbV9kYXRhID0gKF9fdTMyIF9fZm9yY2UpZW50cnktPmltbV9kYXRhOworCQl3Yy0+dXF1ZXVlW2hlYWRdLmV4LmltbV9kYXRhID0gKF9fdTMyIF9fZm9yY2UpIGVudHJ5LT5leC5pbW1fZGF0YTsKIAkJd2MtPnVxdWV1ZVtoZWFkXS5xcF9udW0gPSBlbnRyeS0+cXAtPnFwX251bTsKIAkJd2MtPnVxdWV1ZVtoZWFkXS5zcmNfcXAgPSBlbnRyeS0+c3JjX3FwOwogCQl3Yy0+dXF1ZXVlW2hlYWRdLndjX2ZsYWdzID0gZW50cnktPndjX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2ZpbGVfb3BzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfZmlsZV9vcHMuYwppbmRleCBiNDcyYjE1Li4zNWYzMDFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfZmlsZV9vcHMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfZmlsZV9vcHMuYwpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAKICNpbmNsdWRlICJpcGF0aF9rZXJuZWwuaCIKQEAgLTE4MTUsNiArMTgxNiw3IEBACiBzdGF0aWMgaW50IGlwYXRoX29wZW4oc3RydWN0IGlub2RlICppbiwgc3RydWN0IGZpbGUgKmZwKQogewogCS8qIFRoZSByZWFsIHdvcmsgaXMgcGVyZm9ybWVkIGxhdGVyIGluIGlwYXRoX2Fzc2lnbl9wb3J0KCkgKi8KKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZwLT5wcml2YXRlX2RhdGEgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaXBhdGhfZmlsZWRhdGEpLCBHRlBfS0VSTkVMKTsKIAlyZXR1cm4gZnAtPnByaXZhdGVfZGF0YSA/IDAgOiAtRU5PTUVNOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2liYTcyMjAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9pYmE3MjIwLmMKaW5kZXggOGVlZTc4My4uZmI3MDcxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2liYTcyMjAuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfaWJhNzIyMC5jCkBAIC0yMjI4LDggKzIyMjgsOCBAQAogCQkweGZmZmZmZmZmLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsCiAJCTB4NDAwMDAwMDEsIDB4MTM4OCwgMHgxNWUsIC8qIHJlc3QgMCdzICovCiAJCX07Ci0JZGNudCA9IHNpemVvZihtYWRwYXlsb2FkX3N0YXJ0KS9zaXplb2YobWFkcGF5bG9hZF9zdGFydFswXSk7Ci0JaGNudCA9IHNpemVvZihoZHIpL3NpemVvZihoZHJbMF0pOworCWRjbnQgPSBBUlJBWV9TSVpFKG1hZHBheWxvYWRfc3RhcnQpOworCWhjbnQgPSBBUlJBWV9TSVpFKGhkcik7CiAJaWYgKCFzd2FwcGVkKSB7CiAJCS8qIGZvciBtYWludGFpbmFiaWxpdHksIGRvIGl0IGF0IHJ1bnRpbWUgKi8KIAkJZm9yIChpID0gMDsgaSA8IGhjbnQ7IGkrKykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX21hZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX21hZC5jCmluZGV4IDVmOTMxNWQuLmJlNGZjOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9tYWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfbWFkLmMKQEAgLTExMSw5ICsxMTEsOSBAQAogCW5pcC0+cmV2aXNpb24gPSBjcHVfdG9fYmUzMigobWFqcmV2IDw8IDE2KSB8IG1pbnJldik7CiAJbmlwLT5sb2NhbF9wb3J0X251bSA9IHBvcnQ7CiAJdmVuZG9yID0gZGQtPmlwYXRoX3ZlbmRvcmlkOwotCW5pcC0+dmVuZG9yX2lkWzBdID0gMDsKLQluaXAtPnZlbmRvcl9pZFsxXSA9IHZlbmRvciA+PiA4OwotCW5pcC0+dmVuZG9yX2lkWzJdID0gdmVuZG9yOworCW5pcC0+dmVuZG9yX2lkWzBdID0gSVBBVEhfU1JDX09VSV8xOworCW5pcC0+dmVuZG9yX2lkWzFdID0gSVBBVEhfU1JDX09VSV8yOworCW5pcC0+dmVuZG9yX2lkWzJdID0gSVBBVEhfU1JDX09VSV8zOwogCiAJcmV0dXJuIHJlcGx5KHNtcCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcmMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9yYy5jCmluZGV4IDEwOGRmNjYuLjk3NzEwNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9yYy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9yYy5jCkBAIC0xNzAzLDExICsxNzAzLDExIEBACiAJY2FzZSBPUChTRU5EX0xBU1RfV0lUSF9JTU1FRElBVEUpOgogCXNlbmRfbGFzdF9pbW06CiAJCWlmIChoZWFkZXJfaW5fZGF0YSkgewotCQkJd2MuaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOwogCQkJZGF0YSArPSBzaXplb2YoX19iZTMyKTsKIAkJfSBlbHNlIHsKIAkJCS8qIEltbWVkaWF0ZSBkYXRhIGNvbWVzIGFmdGVyIEJUSCAqLwotCQkJd2MuaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOwogCQl9CiAJCWhkcnNpemUgKz0gNDsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9ydWMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9ydWMuYwppbmRleCBhNGI1NTIxLi5hZjA1MWY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcnVjLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3J1Yy5jCkBAIC0zMzEsNyArMzMxLDcgQEAKIAlzd2l0Y2ggKHdxZS0+d3Iub3Bjb2RlKSB7CiAJY2FzZSBJQl9XUl9TRU5EX1dJVEhfSU1NOgogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQl3Yy5pbW1fZGF0YSA9IHdxZS0+d3IuZXguaW1tX2RhdGE7CisJCXdjLmV4LmltbV9kYXRhID0gd3FlLT53ci5leC5pbW1fZGF0YTsKIAkJLyogRkFMTFRIUk9VR0ggKi8KIAljYXNlIElCX1dSX1NFTkQ6CiAJCWlmICghaXBhdGhfZ2V0X3J3cWUocXAsIDApKQpAQCAtMzQyLDcgKzM0Miw3IEBACiAJCWlmICh1bmxpa2VseSghKHFwLT5xcF9hY2Nlc3NfZmxhZ3MgJiBJQl9BQ0NFU1NfUkVNT1RFX1dSSVRFKSkpCiAJCQlnb3RvIGludl9lcnI7CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCXdjLmltbV9kYXRhID0gd3FlLT53ci5leC5pbW1fZGF0YTsKKwkJd2MuZXguaW1tX2RhdGEgPSB3cWUtPndyLmV4LmltbV9kYXRhOwogCQlpZiAoIWlwYXRoX2dldF9yd3FlKHFwLCAxKSkKIAkJCWdvdG8gcm5yX25hazsKIAkJLyogRkFMTFRIUk9VR0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91Yy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VjLmMKaW5kZXggMDU5NmVjMS4uODJjYzU4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VjLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VjLmMKQEAgLTM3OSwxMSArMzc5LDExIEBACiAJY2FzZSBPUChTRU5EX0xBU1RfV0lUSF9JTU1FRElBVEUpOgogCXNlbmRfbGFzdF9pbW06CiAJCWlmIChoZWFkZXJfaW5fZGF0YSkgewotCQkJd2MuaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOwogCQkJZGF0YSArPSBzaXplb2YoX19iZTMyKTsKIAkJfSBlbHNlIHsKIAkJCS8qIEltbWVkaWF0ZSBkYXRhIGNvbWVzIGFmdGVyIEJUSCAqLwotCQkJd2MuaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOwogCQl9CiAJCWhkcnNpemUgKz0gNDsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKQEAgLTQ4MywxMSArNDgzLDExIEBACiAJY2FzZSBPUChSRE1BX1dSSVRFX0xBU1RfV0lUSF9JTU1FRElBVEUpOgogCXJkbWFfbGFzdF9pbW06CiAJCWlmIChoZWFkZXJfaW5fZGF0YSkgewotCQkJd2MuaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOwogCQkJZGF0YSArPSBzaXplb2YoX19iZTMyKTsKIAkJfSBlbHNlIHsKIAkJCS8qIEltbWVkaWF0ZSBkYXRhIGNvbWVzIGFmdGVyIEJUSCAqLwotCQkJd2MuaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOwogCQl9CiAJCWhkcnNpemUgKz0gNDsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91ZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VkLmMKaW5kZXggNzdjYThjYS4uMzZhYTI0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VkLmMKQEAgLTk2LDcgKzk2LDcgQEAKIAogCWlmIChzd3FlLT53ci5vcGNvZGUgPT0gSUJfV1JfU0VORF9XSVRIX0lNTSkgewogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQl3Yy5pbW1fZGF0YSA9IHN3cWUtPndyLmV4LmltbV9kYXRhOworCQl3Yy5leC5pbW1fZGF0YSA9IHN3cWUtPndyLmV4LmltbV9kYXRhOwogCX0KIAogCS8qCkBAIC00OTIsMTQgKzQ5MiwxNCBAQAogCWlmIChxcC0+aWJxcC5xcF9udW0gPiAxICYmCiAJICAgIG9wY29kZSA9PSBJQl9PUENPREVfVURfU0VORF9PTkxZX1dJVEhfSU1NRURJQVRFKSB7CiAJCWlmIChoZWFkZXJfaW5fZGF0YSkgewotCQkJd2MuaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOwogCQkJZGF0YSArPSBzaXplb2YoX19iZTMyKTsKIAkJfSBlbHNlCi0JCQl3Yy5pbW1fZGF0YSA9IG9oZHItPnUudWQuaW1tX2RhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9IG9oZHItPnUudWQuaW1tX2RhdGE7CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07CiAJCWhkcnNpemUgKz0gc2l6ZW9mKHUzMik7CiAJfSBlbHNlIGlmIChvcGNvZGUgPT0gSUJfT1BDT0RFX1VEX1NFTkRfT05MWSkgewotCQl3Yy5pbW1fZGF0YSA9IDA7CisJCXdjLmV4LmltbV9kYXRhID0gMDsKIAkJd2Mud2NfZmxhZ3MgPSAwOwogCX0gZWxzZSB7CiAJCWRldi0+bl9wa3RfZHJvcHMrKzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzLmMKaW5kZXggNzc3OTE2NS4uNTVjNzE4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzLmMKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxyZG1hL2liX3VzZXJfdmVyYnMuaD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAKICNpbmNsdWRlICJpcGF0aF9rZXJuZWwuaCIKICNpbmNsdWRlICJpcGF0aF92ZXJicy5oIgpAQCAtMTQ5Nyw3ICsxNDk4LDggQEAKIAkJSUJfREVWSUNFX1NZU19JTUFHRV9HVUlEIHwgSUJfREVWSUNFX1JDX1JOUl9OQUtfR0VOIHwKIAkJSUJfREVWSUNFX1BPUlRfQUNUSVZFX0VWRU5UIHwgSUJfREVWSUNFX1NSUV9SRVNJWkU7CiAJcHJvcHMtPnBhZ2Vfc2l6ZV9jYXAgPSBQQUdFX1NJWkU7Ci0JcHJvcHMtPnZlbmRvcl9pZCA9IGRldi0+ZGQtPmlwYXRoX3ZlbmRvcmlkOworCXByb3BzLT52ZW5kb3JfaWQgPQorCQlJUEFUSF9TUkNfT1VJXzEgPDwgMTYgfCBJUEFUSF9TUkNfT1VJXzIgPDwgOCB8IElQQVRIX1NSQ19PVUlfMzsKIAlwcm9wcy0+dmVuZG9yX3BhcnRfaWQgPSBkZXYtPmRkLT5pcGF0aF9kZXZpY2VpZDsKIAlwcm9wcy0+aHdfdmVyID0gZGV2LT5kZC0+aXBhdGhfcGNpcmV2OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdmVyYnNfbWNhc3QuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJic19tY2FzdC5jCmluZGV4IDllNWFiZjkuLmQ3M2UzMjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJic19tY2FzdC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJic19tY2FzdC5jCkBAIC0zMSw4ICszMSw3IEBACiAgKiBTT0ZUV0FSRS4KICAqLwogCi0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgotI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogCiAjaW5jbHVkZSAiaXBhdGhfdmVyYnMuaCIKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvY3EuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L2NxLmMKaW5kZXggNDUyMTMxOS4uMjk5ZjIwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvY3EuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9jcS5jCkBAIC02NjMsMTggKzY2MywxOCBAQAogCiAJCXN3aXRjaCAoY3FlLT5vd25lcl9zcl9vcGNvZGUgJiBNTFg0X0NRRV9PUENPREVfTUFTSykgewogCQljYXNlIE1MWDRfUkVDVl9PUENPREVfUkRNQV9XUklURV9JTU06Ci0JCQl3Yy0+b3Bjb2RlICAgPSBJQl9XQ19SRUNWX1JETUFfV0lUSF9JTU07Ci0JCQl3Yy0+d2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKLQkJCXdjLT5pbW1fZGF0YSA9IGNxZS0+aW1tZWRfcnNzX2ludmFsaWQ7CisJCQl3Yy0+b3Bjb2RlCT0gSUJfV0NfUkVDVl9SRE1BX1dJVEhfSU1NOworCQkJd2MtPndjX2ZsYWdzCT0gSUJfV0NfV0lUSF9JTU07CisJCQl3Yy0+ZXguaW1tX2RhdGEgPSBjcWUtPmltbWVkX3Jzc19pbnZhbGlkOwogCQkJYnJlYWs7CiAJCWNhc2UgTUxYNF9SRUNWX09QQ09ERV9TRU5EOgogCQkJd2MtPm9wY29kZSAgID0gSUJfV0NfUkVDVjsKIAkJCXdjLT53Y19mbGFncyA9IDA7CiAJCQlicmVhazsKIAkJY2FzZSBNTFg0X1JFQ1ZfT1BDT0RFX1NFTkRfSU1NOgotCQkJd2MtPm9wY29kZSAgID0gSUJfV0NfUkVDVjsKLQkJCXdjLT53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQkJd2MtPmltbV9kYXRhID0gY3FlLT5pbW1lZF9yc3NfaW52YWxpZDsKKwkJCXdjLT5vcGNvZGUJPSBJQl9XQ19SRUNWOworCQkJd2MtPndjX2ZsYWdzCT0gSUJfV0NfV0lUSF9JTU07CisJCQl3Yy0+ZXguaW1tX2RhdGEgPSBjcWUtPmltbWVkX3Jzc19pbnZhbGlkOwogCQkJYnJlYWs7CiAJCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWQuYwppbmRleCA0YzFlNzJmLi5jZGNhM2E1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWQuYwpAQCAtMjU1LDcgKzI1NSw4IEBACiAJCQlyZXR1cm4gSUJfTUFEX1JFU1VMVF9TVUNDRVNTOwogCX0gZWxzZSBpZiAoaW5fbWFkLT5tYWRfaGRyLm1nbXRfY2xhc3MgPT0gSUJfTUdNVF9DTEFTU19QRVJGX01HTVQgfHwKIAkJICAgaW5fbWFkLT5tYWRfaGRyLm1nbXRfY2xhc3MgPT0gTUxYNF9JQl9WRU5ET1JfQ0xBU1MxICAgfHwKLQkJICAgaW5fbWFkLT5tYWRfaGRyLm1nbXRfY2xhc3MgPT0gTUxYNF9JQl9WRU5ET1JfQ0xBU1MyKSB7CisJCSAgIGluX21hZC0+bWFkX2hkci5tZ210X2NsYXNzID09IE1MWDRfSUJfVkVORE9SX0NMQVNTMiAgIHx8CisJCSAgIGluX21hZC0+bWFkX2hkci5tZ210X2NsYXNzID09IElCX01HTVRfQ0xBU1NfQ09OR19NR01UKSB7CiAJCWlmIChpbl9tYWQtPm1hZF9oZHIubWV0aG9kICAhPSBJQl9NR01UX01FVEhPRF9HRVQgJiYKIAkJICAgIGluX21hZC0+bWFkX2hkci5tZXRob2QgICE9IElCX01HTVRfTUVUSE9EX1NFVCkKIAkJCXJldHVybiBJQl9NQURfUkVTVUxUX1NVQ0NFU1M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWluLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWluLmMKaW5kZXggNGQ2MWUzMi4uYmNmNTA2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21haW4uYwpAQCAtOTAsNyArOTAsOCBAQAogCXByb3BzLT5kZXZpY2VfY2FwX2ZsYWdzICAgID0gSUJfREVWSUNFX0NIQU5HRV9QSFlfUE9SVCB8CiAJCUlCX0RFVklDRV9QT1JUX0FDVElWRV9FVkVOVAkJfAogCQlJQl9ERVZJQ0VfU1lTX0lNQUdFX0dVSUQJCXwKLQkJSUJfREVWSUNFX1JDX1JOUl9OQUtfR0VOOworCQlJQl9ERVZJQ0VfUkNfUk5SX05BS19HRU4JCXwKKwkJSUJfREVWSUNFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSzsKIAlpZiAoZGV2LT5kZXYtPmNhcHMuZmxhZ3MgJiBNTFg0X0RFVl9DQVBfRkxBR19CQURfUEtFWV9DTlRSKQogCQlwcm9wcy0+ZGV2aWNlX2NhcF9mbGFncyB8PSBJQl9ERVZJQ0VfQkFEX1BLRVlfQ05UUjsKIAlpZiAoZGV2LT5kZXYtPmNhcHMuZmxhZ3MgJiBNTFg0X0RFVl9DQVBfRkxBR19CQURfUUtFWV9DTlRSKQpAQCAtNDM3LDcgKzQzOCw5IEBACiBzdGF0aWMgaW50IG1seDRfaWJfbWNnX2F0dGFjaChzdHJ1Y3QgaWJfcXAgKmlicXAsIHVuaW9uIGliX2dpZCAqZ2lkLCB1MTYgbGlkKQogewogCXJldHVybiBtbHg0X211bHRpY2FzdF9hdHRhY2godG9fbWRldihpYnFwLT5kZXZpY2UpLT5kZXYsCi0JCQkJICAgICAmdG9fbXFwKGlicXApLT5tcXAsIGdpZC0+cmF3KTsKKwkJCQkgICAgICZ0b19tcXAoaWJxcCktPm1xcCwgZ2lkLT5yYXcsCisJCQkJICAgICAhISh0b19tcXAoaWJxcCktPmZsYWdzICYKKwkJCQkJTUxYNF9JQl9RUF9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0spKTsKIH0KIAogc3RhdGljIGludCBtbHg0X2liX21jZ19kZXRhY2goc3RydWN0IGliX3FwICppYnFwLCB1bmlvbiBpYl9naWQgKmdpZCwgdTE2IGxpZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21seDRfaWIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21seDRfaWIuaAppbmRleCA1Y2Y5OTQ3Li5jNGNmNWI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tbHg0X2liLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWx4NF9pYi5oCkBAIC0xMDEsNyArMTAxLDggQEAKIH07CiAKIGVudW0gbWx4NF9pYl9xcF9mbGFncyB7Ci0JTUxYNF9JQl9RUF9MU08JCT0gMSA8PCAwCisJTUxYNF9JQl9RUF9MU08JCQkJPSAxIDw8IDAsCisJTUxYNF9JQl9RUF9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0sJPSAxIDw8IDEsCiB9OwogCiBzdHJ1Y3QgbWx4NF9pYl9xcCB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9xcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvcXAuYwppbmRleCBhODBkZjIyLi44OWViNmNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9xcC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L3FwLmMKQEAgLTEyOSw5ICsxMjksMTAgQEAKIAlpbnQgaW5kOwogCXZvaWQgKmJ1ZjsKIAlfX2JlMzIgc3RhbXA7CisJc3RydWN0IG1seDRfd3FlX2N0cmxfc2VnICpjdHJsOwogCi0JcyA9IHJvdW5kdXAoc2l6ZSwgMVUgPDwgcXAtPnNxLndxZV9zaGlmdCk7CiAJaWYgKHFwLT5zcV9tYXhfd3Flc19wZXJfd3IgPiAxKSB7CisJCXMgPSByb3VuZHVwKHNpemUsIDFVIDw8IHFwLT5zcS53cWVfc2hpZnQpOwogCQlmb3IgKGkgPSAwOyBpIDwgczsgaSArPSA2NCkgewogCQkJaW5kID0gKGkgPj4gcXAtPnNxLndxZV9zaGlmdCkgKyBuOwogCQkJc3RhbXAgPSBpbmQgJiBxcC0+c3Eud3FlX2NudCA/IGNwdV90b19iZTMyKDB4N2ZmZmZmZmYpIDoKQEAgLTE0MSw3ICsxNDIsOCBAQAogCQkJKndxZSA9IHN0YW1wOwogCQl9CiAJfSBlbHNlIHsKLQkJYnVmID0gZ2V0X3NlbmRfd3FlKHFwLCBuICYgKHFwLT5zcS53cWVfY250IC0gMSkpOworCQljdHJsID0gYnVmID0gZ2V0X3NlbmRfd3FlKHFwLCBuICYgKHFwLT5zcS53cWVfY250IC0gMSkpOworCQlzID0gKGN0cmwtPmZlbmNlX3NpemUgJiAweDNmKSA8PCA0OwogCQlmb3IgKGkgPSA2NDsgaSA8IHM7IGkgKz0gNjQpIHsKIAkJCXdxZSA9IGJ1ZiArIGk7CiAJCQkqd3FlID0gY3B1X3RvX2JlMzIoMHhmZmZmZmZmZik7CkBAIC00NTIsMTkgKzQ1NCw4IEBACiAJc3Bpbl9sb2NrX2luaXQoJnFwLT5ycS5sb2NrKTsKIAogCXFwLT5zdGF0ZQkgPSBJQl9RUFNfUkVTRVQ7Ci0JcXAtPmF0b21pY19yZF9lbiA9IDA7Ci0JcXAtPnJlc3BfZGVwdGggICA9IDA7Ci0KLQlxcC0+cnEuaGVhZAkgICAgPSAwOwotCXFwLT5ycS50YWlsCSAgICA9IDA7Ci0JcXAtPnNxLmhlYWQJICAgID0gMDsKLQlxcC0+c3EudGFpbAkgICAgPSAwOwotCXFwLT5zcV9uZXh0X3dxZSAgICAgPSAwOwotCiAJaWYgKGluaXRfYXR0ci0+c3Ffc2lnX3R5cGUgPT0gSUJfU0lHTkFMX0FMTF9XUikKIAkJcXAtPnNxX3NpZ25hbF9iaXRzID0gY3B1X3RvX2JlMzIoTUxYNF9XUUVfQ1RSTF9DUV9VUERBVEUpOwotCWVsc2UKLQkJcXAtPnNxX3NpZ25hbF9iaXRzID0gMDsKIAogCWVyciA9IHNldF9ycV9zaXplKGRldiwgJmluaXRfYXR0ci0+Y2FwLCAhIXBkLT51b2JqZWN0LCAhIWluaXRfYXR0ci0+c3JxLCBxcCk7CiAJaWYgKGVycikKQEAgLTUwOSw2ICs1MDAsOSBAQAogCX0gZWxzZSB7CiAJCXFwLT5zcV9ub19wcmVmZXRjaCA9IDA7CiAKKwkJaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYgSUJfUVBfQ1JFQVRFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSykKKwkJCXFwLT5mbGFncyB8PSBNTFg0X0lCX1FQX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSzsKKwogCQlpZiAoaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgJiBJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPKQogCQkJcXAtPmZsYWdzIHw9IE1MWDRfSUJfUVBfTFNPOwogCkBAIC02ODIsMTAgKzY3NiwxNSBAQAogCXN0cnVjdCBtbHg0X2liX3FwICpxcDsKIAlpbnQgZXJyOwogCi0JLyogV2Ugb25seSBzdXBwb3J0IExTTywgYW5kIG9ubHkgZm9yIGtlcm5lbCBVRCBRUHMuICovCi0JaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYgfklCX1FQX0NSRUFURV9JUE9JQl9VRF9MU08pCisJLyoKKwkgKiBXZSBvbmx5IHN1cHBvcnQgTFNPIGFuZCBtdWx0aWNhc3QgbG9vcGJhY2sgYmxvY2tpbmcsIGFuZAorCSAqIG9ubHkgZm9yIGtlcm5lbCBVRCBRUHMuCisJICovCisJaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYgfihJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPIHwKKwkJCQkJSUJfUVBfQ1JFQVRFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSykpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwotCWlmIChpbml0X2F0dHItPmNyZWF0ZV9mbGFncyAmIElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU08gJiYKKworCWlmIChpbml0X2F0dHItPmNyZWF0ZV9mbGFncyAmJgogCSAgICAocGQtPnVvYmplY3QgfHwgaW5pdF9hdHRyLT5xcF90eXBlICE9IElCX1FQVF9VRCkpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCkBAIC02OTQsNyArNjkzLDcgQEAKIAljYXNlIElCX1FQVF9VQzoKIAljYXNlIElCX1FQVF9VRDoKIAl7Ci0JCXFwID0ga21hbGxvYyhzaXplb2YgKnFwLCBHRlBfS0VSTkVMKTsKKwkJcXAgPSBremFsbG9jKHNpemVvZiAqcXAsIEdGUF9LRVJORUwpOwogCQlpZiAoIXFwKQogCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKQEAgLTcxNSw3ICs3MTQsNyBAQAogCQlpZiAocGQtPnVvYmplY3QpCiAJCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIAotCQlzcXAgPSBrbWFsbG9jKHNpemVvZiAqc3FwLCBHRlBfS0VSTkVMKTsKKwkJc3FwID0ga3phbGxvYyhzaXplb2YgKnNxcCwgR0ZQX0tFUk5FTCk7CiAJCWlmICghc3FwKQogCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKQEAgLTkwNiw3ICs5MDUsOCBAQAogCQkJICAgICAgIGF0dHItPnBhdGhfbXR1KTsKIAkJCWdvdG8gb3V0OwogCQl9Ci0JCWNvbnRleHQtPm10dV9tc2dtYXggPSAoYXR0ci0+cGF0aF9tdHUgPDwgNSkgfCAzMTsKKwkJY29udGV4dC0+bXR1X21zZ21heCA9IChhdHRyLT5wYXRoX210dSA8PCA1KSB8CisJCQlpbG9nMihkZXYtPmRldi0+Y2Fwcy5tYXhfbXNnX3N6KTsKIAl9CiAKIAlpZiAocXAtPnJxLndxZV9jbnQpCkBAIC0xMDYzLDYgKzEwNjMsOCBAQAogCQlmb3IgKGkgPSAwOyBpIDwgcXAtPnNxLndxZV9jbnQ7ICsraSkgewogCQkJY3RybCA9IGdldF9zZW5kX3dxZShxcCwgaSk7CiAJCQljdHJsLT5vd25lcl9vcGNvZGUgPSBjcHVfdG9fYmUzMigxIDw8IDMxKTsKKwkJCWlmIChxcC0+c3FfbWF4X3dxZXNfcGVyX3dyID09IDEpCisJCQkJY3RybC0+ZmVuY2Vfc2l6ZSA9IDEgPDwgKHFwLT5zcS53cWVfc2hpZnQgLSA0KTsKIAogCQkJc3RhbXBfc2VuZF93cWUocXAsIGksIDEgPDwgcXAtPnNxLndxZV9zaGlmdCk7CiAJCX0KQEAgLTExMjcsMjMgKzExMjksNiBAQAogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaWJfcXBfYXR0ciBtbHg0X2liX3FwX2F0dHIgPSB7IC5wb3J0X251bSA9IDEgfTsKLXN0YXRpYyBjb25zdCBpbnQgbWx4NF9pYl9xcF9hdHRyX21hc2tfdGFibGVbSUJfUVBUX1VEICsgMV0gPSB7Ci0JCVtJQl9RUFRfVURdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQkJSUJfUVBfUE9SVAkJCXwKLQkJCQlJQl9RUF9RS0VZKSwKLQkJW0lCX1FQVF9VQ10gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCQlJQl9RUF9QT1JUCQkJfAotCQkJCUlCX1FQX0FDQ0VTU19GTEFHUyksCi0JCVtJQl9RUFRfUkNdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQkJSUJfUVBfUE9SVAkJCXwKLQkJCQlJQl9RUF9BQ0NFU1NfRkxBR1MpLAotCQlbSUJfUVBUX1NNSV0gPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJCUlCX1FQX1FLRVkpLAotCQlbSUJfUVBUX0dTSV0gPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJCUlCX1FQX1FLRVkpLAotfTsKLQogaW50IG1seDRfaWJfbW9kaWZ5X3FwKHN0cnVjdCBpYl9xcCAqaWJxcCwgc3RydWN0IGliX3FwX2F0dHIgKmF0dHIsCiAJCSAgICAgIGludCBhdHRyX21hc2ssIHN0cnVjdCBpYl91ZGF0YSAqdWRhdGEpCiB7CkBAIC0xMTg2LDE1ICsxMTcxLDYgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKGN1cl9zdGF0ZSA9PSBJQl9RUFNfUkVTRVQgJiYgbmV3X3N0YXRlID09IElCX1FQU19FUlIpIHsKLQkJZXJyID0gX19tbHg0X2liX21vZGlmeV9xcChpYnFwLCAmbWx4NF9pYl9xcF9hdHRyLAotCQkJCQkgIG1seDRfaWJfcXBfYXR0cl9tYXNrX3RhYmxlW2licXAtPnFwX3R5cGVdLAotCQkJCQkgIElCX1FQU19SRVNFVCwgSUJfUVBTX0lOSVQpOwotCQlpZiAoZXJyKQotCQkJZ290byBvdXQ7Ci0JCWN1cl9zdGF0ZSA9IElCX1FQU19JTklUOwotCX0KLQogCWVyciA9IF9fbWx4NF9pYl9tb2RpZnlfcXAoaWJxcCwgYXR0ciwgYXR0cl9tYXNrLCBjdXJfc3RhdGUsIG5ld19zdGF0ZSk7CiAKIG91dDoKQEAgLTE4NjUsNiArMTg0MSwxMyBAQAogCiAJcXBfaW5pdF9hdHRyLT5jYXAJICAgICA9IHFwX2F0dHItPmNhcDsKIAorCXFwX2luaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzID0gMDsKKwlpZiAocXAtPmZsYWdzICYgTUxYNF9JQl9RUF9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0spCisJCXFwX2luaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzIHw9IElCX1FQX0NSRUFURV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0s7CisKKwlpZiAocXAtPmZsYWdzICYgTUxYNF9JQl9RUF9MU08pCisJCXFwX2luaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzIHw9IElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU087CisKIG91dDoKIAltdXRleF91bmxvY2soJnFwLT5tdXRleCk7CiAJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hbGxvY2F0b3IuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hbGxvY2F0b3IuYwppbmRleCBhNzYzMDY3Li5jNWNjYzJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYWxsb2NhdG9yLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2FsbG9jYXRvci5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9hbGxvY2F0b3IuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYXYuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hdi5jCmluZGV4IDRiMTExYTguLjMyZjZjNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hdi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hdi5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9hdi5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY2F0YXMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jYXRhcy5jCmluZGV4IGU5NDgxNTguLmNjNDQwZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jYXRhcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jYXRhcy5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CkBAIC0xMjgsNyArMTI2LDYgQEAKIHN0YXRpYyB2b2lkIHBvbGxfY2F0YXModW5zaWduZWQgbG9uZyBkZXZfcHRyKQogewogCXN0cnVjdCBtdGhjYV9kZXYgKmRldiA9IChzdHJ1Y3QgbXRoY2FfZGV2ICopIGRldl9wdHI7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBkZXYtPmNhdGFzX2Vyci5zaXplOyArK2kpCkBAIC0xMzcsMTMgKzEzNCw4IEBACiAJCQlyZXR1cm47CiAJCX0KIAotCXNwaW5fbG9ja19pcnFzYXZlKCZjYXRhc19sb2NrLCBmbGFncyk7Ci0JaWYgKCFkZXYtPmNhdGFzX2Vyci5zdG9wKQotCQltb2RfdGltZXIoJmRldi0+Y2F0YXNfZXJyLnRpbWVyLAotCQkJICBqaWZmaWVzICsgTVRIQ0FfQ0FUQVNfUE9MTF9JTlRFUlZBTCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2F0YXNfbG9jaywgZmxhZ3MpOwotCi0JcmV0dXJuOworCW1vZF90aW1lcigmZGV2LT5jYXRhc19lcnIudGltZXIsCisJCSAgcm91bmRfamlmZmllcyhqaWZmaWVzICsgTVRIQ0FfQ0FUQVNfUE9MTF9JTlRFUlZBTCkpOwogfQogCiB2b2lkIG10aGNhX3N0YXJ0X2NhdGFzX3BvbGwoc3RydWN0IG10aGNhX2RldiAqZGV2KQpAQCAtMTUxLDcgKzE0Myw2IEBACiAJdW5zaWduZWQgbG9uZyBhZGRyOwogCiAJaW5pdF90aW1lcigmZGV2LT5jYXRhc19lcnIudGltZXIpOwotCWRldi0+Y2F0YXNfZXJyLnN0b3AgPSAwOwogCWRldi0+Y2F0YXNfZXJyLm1hcCAgPSBOVUxMOwogCiAJYWRkciA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYtPnBkZXYsIDApICsKQEAgLTE4MiwxMCArMTczLDYgQEAKIAogdm9pZCBtdGhjYV9zdG9wX2NhdGFzX3BvbGwoc3RydWN0IG10aGNhX2RldiAqZGV2KQogewotCXNwaW5fbG9ja19pcnEoJmNhdGFzX2xvY2spOwotCWRldi0+Y2F0YXNfZXJyLnN0b3AgPSAxOwotCXNwaW5fdW5sb2NrX2lycSgmY2F0YXNfbG9jayk7Ci0KIAlkZWxfdGltZXJfc3luYygmZGV2LT5jYXRhc19lcnIudGltZXIpOwogCiAJaWYgKGRldi0+Y2F0YXNfZXJyLm1hcCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5jCmluZGV4IDU0ZDIzMGUuLmMzM2UxYzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2NtZC5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5oCmluZGV4IDg5MjhjYTQuLjZlZmQzMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2NtZC5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX0NNRF9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY29uZmlnX3JlZy5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NvbmZpZ19yZWcuaAppbmRleCBhZmE1NmJmLi43NTY3MWY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY29uZmlnX3JlZy5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jb25maWdfcmVnLmgKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2NvbmZpZ19yZWcuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9DT05GSUdfUkVHX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jcS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NxLmMKaW5kZXggMjA0MDFkMi4uZDlmNDczNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NxLmMKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2NxLmMgMTM2OSAyMDA0LTEyLTIwIDE2OjE3OjA3WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CkBAIC02MjIsMTMgKzYyMCwxMyBAQAogCQljYXNlIElCX09QQ09ERV9TRU5EX0xBU1RfV0lUSF9JTU1FRElBVEU6CiAJCWNhc2UgSUJfT1BDT0RFX1NFTkRfT05MWV9XSVRIX0lNTUVESUFURToKIAkJCWVudHJ5LT53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQkJZW50cnktPmltbV9kYXRhID0gY3FlLT5pbW1fZXR5cGVfcGtleV9lZWM7CisJCQllbnRyeS0+ZXguaW1tX2RhdGEgPSBjcWUtPmltbV9ldHlwZV9wa2V5X2VlYzsKIAkJCWVudHJ5LT5vcGNvZGUgPSBJQl9XQ19SRUNWOwogCQkJYnJlYWs7CiAJCWNhc2UgSUJfT1BDT0RFX1JETUFfV1JJVEVfTEFTVF9XSVRIX0lNTUVESUFURToKIAkJY2FzZSBJQl9PUENPREVfUkRNQV9XUklURV9PTkxZX1dJVEhfSU1NRURJQVRFOgogCQkJZW50cnktPndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCQllbnRyeS0+aW1tX2RhdGEgPSBjcWUtPmltbV9ldHlwZV9wa2V5X2VlYzsKKwkJCWVudHJ5LT5leC5pbW1fZGF0YSA9IGNxZS0+aW1tX2V0eXBlX3BrZXlfZWVjOwogCQkJZW50cnktPm9wY29kZSA9IElCX1dDX1JFQ1ZfUkRNQV9XSVRIX0lNTTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rldi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rldi5oCmluZGV4IDdiYzMyZjguLmVlNGQwNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kZXYuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZGV2LmgKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2Rldi5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX0RFVl9ICkBAIC0yNzksNyArMjc3LDYgQEAKIHN0cnVjdCBtdGhjYV9jYXRhc19lcnIgewogCXU2NAkJCWFkZHI7CiAJdTMyIF9faW9tZW0JICAgICAgICptYXA7Ci0JdW5zaWduZWQgbG9uZwkJc3RvcDsKIAl1MzIJCQlzaXplOwogCXN0cnVjdCB0aW1lcl9saXN0CXRpbWVyOwogCXN0cnVjdCBsaXN0X2hlYWQJbGlzdDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kb29yYmVsbC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rvb3JiZWxsLmgKaW5kZXggYjM3NGRjMy4uMTRmNTFlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rvb3JiZWxsLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rvb3JiZWxsLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2Rvb3JiZWxsLmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2VxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZXEuYwppbmRleCA4YmRlN2Y5Li40ZTM2YWE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZXEuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZXEuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfZXEuYyAxMzgyIDIwMDQtMTItMjQgMDI6MjE6MDJaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFkLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFkLmMKaW5kZXggOGI3ZTgzZS4uNjQwNDQ5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21hZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWQuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfbWFkLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWluLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFpbi5jCmluZGV4IDIwMGNmMTMuLmZiOWY5MWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWluLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21haW4uYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfbWFpbi5jIDEzOTYgMjAwNC0xMi0yOCAwNDoxMDoyN1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWNnLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWNnLmMKaW5kZXggYThhZDA3Mi4uM2Y1Zjk0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21jZy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tY2cuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfbWNnLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jCmluZGV4IGQ1ODYyZTUuLjFmN2QxYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW0uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5oCmluZGV4IGExYWIwNjguLmRhOWI4ZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaWZuZGVmIE1USENBX01FTUZSRUVfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21yLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbXIuYwppbmRleCA4MjAyMDVkLi44NDg5YjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbXIuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfbXIuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3BkLmMKaW5kZXggYzFlOTUwNy4uMjY2ZjE0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3BkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3BkLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3BkLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmMKaW5kZXggNjA1YThkNS4uZDE2OGMyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9wcm9maWxlLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5oCmluZGV4IGU3NmNiNjIuLjYyYjAwOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuaApAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcHJvZmlsZS5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX1BST0ZJTEVfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuYwppbmRleCBiZTM0Zjk5Li44N2FkODg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuYwpAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcHJvdmlkZXIuYyA0ODU5IDIwMDYtMDEtMDkgMjE6NTU6MTBaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPHJkbWEvaWJfc21pLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5oCmluZGV4IDkzNGJmOTUuLmM2MjFmODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9wcm92aWRlci5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX1BST1ZJREVSX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9xcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3FwLmMKaW5kZXggMDlkYzM2MS4uZjUwODFiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3FwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3FwLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3FwLmMgMTM1NSAyMDA0LTEyLTE3IDE1OjIzOjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTg1MCwyMyArODQ4LDYgQEAKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGliX3FwX2F0dHIgZHVtbXlfaW5pdF9hdHRyID0geyAucG9ydF9udW0gPSAxIH07Ci1zdGF0aWMgY29uc3QgaW50IGR1bW15X2luaXRfYXR0cl9tYXNrW10gPSB7Ci0JW0lCX1FQVF9VRF0gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQlJQl9RUF9RS0VZKSwKLQlbSUJfUVBUX1VDXSAgPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJSUJfUVBfUE9SVAkJCXwKLQkJCUlCX1FQX0FDQ0VTU19GTEFHUyksCi0JW0lCX1FQVF9SQ10gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQlJQl9RUF9BQ0NFU1NfRkxBR1MpLAotCVtJQl9RUFRfU01JXSA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQlJQl9RUF9RS0VZKSwKLQlbSUJfUVBUX0dTSV0gPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJSUJfUVBfUUtFWSksCi19OwotCiBpbnQgbXRoY2FfbW9kaWZ5X3FwKHN0cnVjdCBpYl9xcCAqaWJxcCwgc3RydWN0IGliX3FwX2F0dHIgKmF0dHIsIGludCBhdHRyX21hc2ssCiAJCSAgICBzdHJ1Y3QgaWJfdWRhdGEgKnVkYXRhKQogewpAQCAtOTI4LDE1ICs5MDksNiBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAoY3VyX3N0YXRlID09IElCX1FQU19SRVNFVCAmJiBuZXdfc3RhdGUgPT0gSUJfUVBTX0VSUikgewotCQllcnIgPSBfX210aGNhX21vZGlmeV9xcChpYnFwLCAmZHVtbXlfaW5pdF9hdHRyLAotCQkJCQlkdW1teV9pbml0X2F0dHJfbWFza1tpYnFwLT5xcF90eXBlXSwKLQkJCQkJSUJfUVBTX1JFU0VULCBJQl9RUFNfSU5JVCk7Ci0JCWlmIChlcnIpCi0JCQlnb3RvIG91dDsKLQkJY3VyX3N0YXRlID0gSUJfUVBTX0lOSVQ7Ci0JfQotCiAJZXJyID0gX19tdGhjYV9tb2RpZnlfcXAoaWJxcCwgYXR0ciwgYXR0cl9tYXNrLCBjdXJfc3RhdGUsIG5ld19zdGF0ZSk7CiAKIG91dDoKQEAgLTEyNzcsMTAgKzEyNDksMTAgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAkvKgotCSAqIEZvciBNTFggdHJhbnNwb3J0IHdlIG5lZWQgMiBleHRyYSBTL0cgZW50cmllczoKKwkgKiBGb3IgTUxYIHRyYW5zcG9ydCB3ZSBuZWVkIDIgZXh0cmEgc2VuZCBnYXRoZXIgZW50cmllczoKIAkgKiBvbmUgZm9yIHRoZSBoZWFkZXIgYW5kIG9uZSBmb3IgdGhlIGNoZWNrc3VtIGF0IHRoZSBlbmQKIAkgKi8KLQlpZiAocXAtPnRyYW5zcG9ydCA9PSBNTFggJiYgY2FwLT5tYXhfcmVjdl9zZ2UgKyAyID4gZGV2LT5saW1pdHMubWF4X3NnKQorCWlmIChxcC0+dHJhbnNwb3J0ID09IE1MWCAmJiBjYXAtPm1heF9zZW5kX3NnZSArIDIgPiBkZXYtPmxpbWl0cy5tYXhfc2cpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWYgKG10aGNhX2lzX21lbWZyZWUoZGV2KSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Jlc2V0LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcmVzZXQuYwppbmRleCA5MTkzNGYyLi5hY2I2ODE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcmVzZXQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcmVzZXQuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcmVzZXQuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9zcnEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9zcnEuYwppbmRleCBhNWZmZmY2Li40ZmFiZTYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffc3JxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3NycS5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9zcnEuYyAzMDQ3IDIwMDUtMDgtMTAgMDM6NTk6MzVaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91YXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91YXIuYwppbmRleCA4YjcyODQ4Li5jYTU5MDBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdWFyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Vhci5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkJAogICovCiAKICNpbmNsdWRlIDxhc20vcGFnZS5oPgkJLyogUEFHRV9TSElGVCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3VzZXIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91c2VyLmgKaW5kZXggZTEyNjJjOS4uNWZlNTZlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3VzZXIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdXNlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgogICovCiAKICNpZm5kZWYgTVRIQ0FfVVNFUl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffd3FlLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffd3FlLmgKaW5kZXggYjM1NTFhOC4uMzQxYTVhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3dxZS5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV93cWUuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2Ffd3FlLmggMzA0NyAyMDA1LTA4LTEwIDAzOjU5OjM1WiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgTVRIQ0FfV1FFX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5jCmluZGV4IGE0ZTkyNjkuLmQyODg0ZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuYwpAQCAtMzI4LDcgKzMyOCw3IEBACiAJCXNldF93cWVfMzJiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1dRRV9JRF9JRFgsIG5lc3FwLT5od3FwLnFwX2lkKTsKIAkJdTY0dGVtcCA9ICh1NjQpbmVzcXAtPm5lc3FwX2NvbnRleHRfcGJhc2U7CiAJCXNldF93cWVfNjRiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1FQX1dRRV9DT05URVhUX0xPV19JRFgsIHU2NHRlbXApOwotCQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCX0KIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmgKaW5kZXggNjFiNDZlOS4uMzliZDg5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5oCkBAIC05NCw5ICs5NCw2IEBACiAKICNkZWZpbmUgTUFYX0RQQ19JVEVSQVRJT05TICAgICAgICAgICAgICAgMTI4CiAKLSNkZWZpbmUgTkVTX0NRUF9SRVFVRVNUX05PX0RPT1JCRUxMX1JJTkcgMAotI2RlZmluZSBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCAgICAxCi0KICNkZWZpbmUgTkVTX0RSVl9PUFRfRU5BQkxFX01QQV9WRVJfMCAgICAgMHgwMDAwMDAwMQogI2RlZmluZSBORVNfRFJWX09QVF9ESVNBQkxFX01QQV9DUkMgICAgICAweDAwMDAwMDAyCiAjZGVmaW5lIE5FU19EUlZfT1BUX0RJU0FCTEVfRklSU1RfV1JJVEUgIDB4MDAwMDAwMDQKQEAgLTUzOCw3ICs1MzUsMTEgQEAKIHZvaWQgbmVzX3dyaXRlXzEwR19waHlfcmVnKHN0cnVjdCBuZXNfZGV2aWNlICosIHUxNiwgdTgsIHUxNiwgdTE2KTsKIHZvaWQgbmVzX3JlYWRfMTBHX3BoeV9yZWcoc3RydWN0IG5lc19kZXZpY2UgKiwgdTgsIHU4LCB1MTYpOwogc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqbmVzX2dldF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqKTsKLXZvaWQgbmVzX3Bvc3RfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKiwgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqLCBpbnQpOwordm9pZCBuZXNfZnJlZV9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LAorCQkJICBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCk7Cit2b2lkIG5lc19wdXRfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKKwkJCSBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCk7Cit2b2lkIG5lc19wb3N0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICosIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKik7CiBpbnQgbmVzX2FycF90YWJsZShzdHJ1Y3QgbmVzX2RldmljZSAqLCB1MzIsIHU4ICosIHUzMik7CiB2b2lkIG5lc19taF9maXgodW5zaWduZWQgbG9uZyk7CiB2b2lkIG5lc19jbGModW5zaWduZWQgbG9uZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19jbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfY20uYwppbmRleCA5YTRiNDBmLi42YWE1MzFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19jbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2NtLmMKQEAgLTE2MDMsNyArMTYwMyw2IEBACiAJCQlyZXR1cm4gTlVMTDsKIAkJfQogCi0JCW1lbXNldChsaXN0ZW5lciwgMCwgc2l6ZW9mKHN0cnVjdCBuZXNfY21fbGlzdGVuZXIpKTsKIAkJbGlzdGVuZXItPmxvY19hZGRyID0gaHRvbmwoY21faW5mby0+bG9jX2FkZHIpOwogCQlsaXN0ZW5lci0+bG9jX3BvcnQgPSBodG9ucyhjbV9pbmZvLT5sb2NfcG9ydCk7CiAJCWxpc3RlbmVyLT5yZXVzZWRfbm9kZSA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuYwppbmRleCBkMzI3OGYxLi44NWYyNmQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmMKQEAgLTM5OCw3ICszOTgsNyBAQAogCW5lc2FkYXB0ZXItPmJhc2VfcGQgPSAxOwogCiAJbmVzYWRhcHRlci0+ZGV2aWNlX2NhcF9mbGFncyA9Ci0JCUlCX0RFVklDRV9aRVJPX1NUQUcgfCBJQl9ERVZJQ0VfTUVNX1dJTkRPVzsKKwkJSUJfREVWSUNFX0xPQ0FMX0RNQV9MS0VZIHwgSUJfREVWSUNFX01FTV9XSU5ET1c7CiAKIAluZXNhZGFwdGVyLT5hbGxvY2F0ZWRfcXBzID0gKHVuc2lnbmVkIGxvbmcgKikmKCgodW5zaWduZWQgY2hhciAqKW5lc2FkYXB0ZXIpCiAJCQlbKHNpemVvZihzdHJ1Y3QgbmVzX2FkYXB0ZXIpKyhzaXplb2YodW5zaWduZWQgbG9uZyktMSkpJih+KHNpemVvZih1bnNpZ25lZCBsb25nKS0xKSldKTsKQEAgLTI3MTAsMzkgKzI3MTAsMTEgQEAKIAkJCQkJYmFycmllcigpOwogCQkJCQljcXBfcmVxdWVzdC0+cmVxdWVzdF9kb25lID0gMTsKIAkJCQkJd2FrZV91cCgmY3FwX3JlcXVlc3QtPndhaXRxKTsKLQkJCQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCQkJCW5lc19kZWJ1ZyhORVNfREJHX0NRUCwgIkNRUCByZXF1ZXN0ICVwIChvcGNvZGUgMHglMDJYKSBmcmVlZC5cbiIsCi0JCQkJCQkJCWNxcF9yZXF1ZXN0LAotCQkJCQkJCQlsZTMyX3RvX2NwdShjcXBfcmVxdWVzdC0+Y3FwX3dxZS53cWVfd29yZHNbTkVTX0NRUF9XUUVfT1BDT0RFX0lEWF0pJjB4M2YpOwotCQkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQkJfSBlbHNlIHsKLQkJCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJfQotCQkJCQl9Ci0JCQkJfSBlbHNlIGlmIChjcXBfcmVxdWVzdC0+Y2FsbGJhY2spIHsKLQkJCQkJLyogRW52b2tlIHRoZSBjYWxsYmFjayByb3V0aW5lICovCi0JCQkJCWNxcF9yZXF1ZXN0LT5jcXBfY2FsbGJhY2sobmVzZGV2LCBjcXBfcmVxdWVzdCk7Ci0JCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQl9IGVsc2UgewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCX0KKwkJCQkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJCQl9IGVsc2UgewotCQkJCQluZXNfZGVidWcoTkVTX0RCR19DUVAsICJDUVAgcmVxdWVzdCAlcCAob3Bjb2RlIDB4JTAyWCkgZnJlZWQuXG4iLAotCQkJCQkJCWNxcF9yZXF1ZXN0LAotCQkJCQkJCWxlMzJfdG9fY3B1KGNxcF9yZXF1ZXN0LT5jcXBfd3FlLndxZV93b3Jkc1tORVNfQ1FQX1dRRV9PUENPREVfSURYXSkgJiAweDNmKTsKLQkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQkJCX0gZWxzZSB7Ci0JCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJfQorCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmNhbGxiYWNrKQorCQkJCQkJY3FwX3JlcXVlc3QtPmNxcF9jYWxsYmFjayhuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwkJCQkJbmVzX2ZyZWVfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCQkJfQogCQkJfSBlbHNlIHsKIAkJCQl3YWtlX3VwKCZuZXNkZXYtPmNxcC53YWl0cSk7CkBAIC0zMTQ5LDcgKzMxMjEsNiBAQAogewogCXN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYgPSBuZXN2bmljLT5uZXNkZXY7CiAJc3RydWN0IG5lc19od19jcXBfd3FlICpjcXBfd3FlOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3Q7CiAJaW50IHJldCA9IDA7CiAJdTE2IG1ham9yX2NvZGU7CkBAIC0zMTc2LDcgKzMxNDcsNyBAQAogCW5lc19kZWJ1ZyhORVNfREJHX1FQLCAiV2FpdGluZyBmb3IgQ1FQIGNvbXBsZXRpb24gZm9yIEFQQlZULlxuIik7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCWlmIChhZGRfcG9ydCA9PSBORVNfTUFOQUdFX0FQQlZUX0FERCkKIAkJcmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGNxcF9yZXF1ZXN0LT53YWl0cSwgKGNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUgIT0gMCksCkBAIC0zMTg0LDE1ICszMTU1LDkgQEAKIAluZXNfZGVidWcoTkVTX0RCR19RUCwgIkNvbXBsZXRlZCwgcmV0PSV1LCAgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WFxuIiwKIAkJCXJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKIAltYWpvcl9jb2RlID0gY3FwX3JlcXVlc3QtPm1ham9yX2NvZGU7Ci0JaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJfQotCX0KKworCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAlpZiAoIXJldCkKIAkJcmV0dXJuIC1FVElNRTsKIAllbHNlIGlmIChtYWpvcl9jb2RlKQpAQCAtMzI1Miw3ICszMjE3LDcgQEAKIAkJCW5lc2Rldi0+Y3FwLnNxX2hlYWQsIG5lc2Rldi0+Y3FwLnNxX3RhaWwpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAxKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiB9CiAKIApAQCAtMzI2Miw3ICszMjI3LDYgQEAKIHZvaWQgZmx1c2hfd3FlcyhzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LCBzdHJ1Y3QgbmVzX3FwICpuZXNxcCwKIAkJdTMyIHdoaWNoX3dxLCB1MzIgd2FpdF9jb21wbGV0aW9uKQogewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3Q7CiAJc3RydWN0IG5lc19od19jcXBfd3FlICpjcXBfd3FlOwogCWludCByZXQ7CkBAIC0zMjg1LDcgKzMyNDksNyBAQAogCQkJY3B1X3RvX2xlMzIoTkVTX0NRUF9GTFVTSF9XUUVTIHwgd2hpY2hfd3EpOwogCWNxcF93cWUtPndxZV93b3Jkc1tORVNfQ1FQX1dRRV9JRF9JRFhdID0gY3B1X3RvX2xlMzIobmVzcXAtPmh3cXAucXBfaWQpOwogCi0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJaWYgKHdhaXRfY29tcGxldGlvbikgewogCQkvKiBXYWl0IGZvciBDUVAgKi8KQEAgLTMyOTQsMTQgKzMyNTgsNiBAQAogCQluZXNfZGVidWcoTkVTX0RCR19RUCwgIkZsdXNoIFNRIFFQIFdRRXMgY29tcGxldGVkLCByZXQ9JXUsIgogCQkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WFxuIiwKIAkJCQlyZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKwkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuaAppbmRleCA3NDViZjk0Li43YjgxZTBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmgKQEAgLTExNzIsNyArMTE3Miw3IEBACiAJdTMyICAgIG1jcnFfcXBfaWQ7CiAJc3RydWN0IG5lc191Y29udGV4dCAqbWNycV91Y29udGV4dDsKIAlzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0KiAoKmdldF9jcXBfcmVxdWVzdCkoc3RydWN0IG5lc19kZXZpY2UgKm5lc2Rldik7Ci0Jdm9pZCAoKnBvc3RfY3FwX3JlcXVlc3QpKHN0cnVjdCBuZXNfZGV2aWNlKiwgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqLCBpbnQpOworCXZvaWQgKCpwb3N0X2NxcF9yZXF1ZXN0KShzdHJ1Y3QgbmVzX2RldmljZSosIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKik7CiAJaW50ICgqbWNycV9tY2FzdF9maWx0ZXIpKCBzdHJ1Y3QgbmVzX3ZuaWMqIG5lc3ZuaWMsIF9fdTgqIGRtaV9hZGRyICk7CiAJc3RydWN0IG5ldF9kZXZpY2Vfc3RhdHMgbmV0c3RhdHM7CiAJLyogdXNlZCB0byBwdXQgdGhlIG5ldGRldiBvbiB0aGUgYWRhcHRlcnMgbG9naWNhbCBwb3J0IGxpc3QgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3V0aWxzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc191dGlscy5jCmluZGV4IGZlODNkMWIuLmZiOGNiZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3V0aWxzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdXRpbHMuYwpAQCAtNTY3LDEyICs1NjcsMzYgQEAKIAlyZXR1cm4gY3FwX3JlcXVlc3Q7CiB9CiAKK3ZvaWQgbmVzX2ZyZWVfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKKwkJCSAgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCW5lc19kZWJ1ZyhORVNfREJHX0NRUCwgIkNRUCByZXF1ZXN0ICVwIChvcGNvZGUgMHglMDJYKSBmcmVlZC5cbiIsCisJCSAgY3FwX3JlcXVlc3QsCisJCSAgbGUzMl90b19jcHUoY3FwX3JlcXVlc3QtPmNxcF93cWUud3FlX3dvcmRzW05FU19DUVBfV1FFX09QQ09ERV9JRFhdKSAmIDB4M2YpOworCisJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7CisJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKKwl9IGVsc2UgeworCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOworCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7CisJfQorfQorCit2b2lkIG5lc19wdXRfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKKwkJCSBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCkKK3sKKwlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkKKwkJbmVzX2ZyZWVfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7Cit9CiAKIC8qKgogICogbmVzX3Bvc3RfY3FwX3JlcXVlc3QKICAqLwogdm9pZCBuZXNfcG9zdF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LAotCQlzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCwgaW50IHJpbmdfZG9vcmJlbGwpCisJCQkgIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0KQogewogCXN0cnVjdCBuZXNfaHdfY3FwX3dxZSAqY3FwX3dxZTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtNjAwLDEwICs2MjQsOSBAQAogCQkJCW5lc2Rldi0+Y3FwLnNxX2hlYWQsIG5lc2Rldi0+Y3FwLnNxX3RhaWwsIG5lc2Rldi0+Y3FwLnNxX3NpemUsCiAJCQkJY3FwX3JlcXVlc3QtPndhaXRpbmcsIGF0b21pY19yZWFkKCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKTsKIAkJYmFycmllcigpOwotCQlpZiAocmluZ19kb29yYmVsbCkgewotCQkJLyogUmluZyBkb29yYmVsbCAoMSBXUUVzKSAqLwotCQkJbmVzX3dyaXRlMzIobmVzZGV2LT5yZWdzK05FU19XUUVfQUxMT0MsIDB4MDE4MDAwMDAgfCBuZXNkZXYtPmNxcC5xcF9pZCk7Ci0JCX0KKworCQkvKiBSaW5nIGRvb3JiZWxsICgxIFdRRXMpICovCisJCW5lc193cml0ZTMyKG5lc2Rldi0+cmVncytORVNfV1FFX0FMTE9DLCAweDAxODAwMDAwIHwgbmVzZGV2LT5jcXAucXBfaWQpOwogCiAJCWJhcnJpZXIoKTsKIAl9IGVsc2UgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdmVyYnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3ZlcmJzLmMKaW5kZXggZDYxN2RhOS4uZTM5MzlkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc192ZXJicy5jCkBAIC01NSw3ICs1NSw2IEBACiAgKiBuZXNfYWxsb2NfbXcKICAqLwogc3RhdGljIHN0cnVjdCBpYl9tdyAqbmVzX2FsbG9jX213KHN0cnVjdCBpYl9wZCAqaWJwZCkgewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IG5lc19wZCAqbmVzcGQgPSB0b19uZXNwZChpYnBkKTsKIAlzdHJ1Y3QgbmVzX3ZuaWMgKm5lc3ZuaWMgPSB0b19uZXN2bmljKGlicGQtPmRldmljZSk7CiAJc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiA9IG5lc3ZuaWMtPm5lc2RldjsKQEAgLTExOSw3ICsxMTgsNyBAQAogCXNldF93cWVfMzJiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1NUQUdfV1FFX1NUQUdfSURYLCBzdGFnKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJcmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGNxcF9yZXF1ZXN0LT53YWl0cSwgKGNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUgIT0gMCksCkBAIC0xMjgsMTUgKzEyNyw3IEBACiAJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFguXG4iLAogCQkJc3RhZywgcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwogCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CisJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCWtmcmVlKG5lc21yKTsKIAkJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX21ycywgc3RhZ19pbmRleCk7CiAJCWlmICghcmV0KSB7CkBAIC0xNDQsMTcgKzEzNSw4IEBACiAJCX0gZWxzZSB7CiAJCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAkJfQotCX0gZWxzZSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KIAl9CisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCW5lc21yLT5pYm13LnJrZXkgPSBzdGFnOwogCW5lc21yLT5tb2RlID0gSVdORVNfTUVNUkVHX1RZUEVfTVc7CkBAIC0xNzgsNyArMTYwLDYgQEAKIAlzdHJ1Y3QgbmVzX2h3X2NxcF93cWUgKmNxcF93cWU7CiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3Q7CiAJaW50IGVyciA9IDA7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgcmV0OwogCiAJLyogRGVhbGxvY2F0ZSB0aGUgd2luZG93IHdpdGggdGhlIGFkYXB0ZXIgKi8KQEAgLTE5NCw3ICsxNzUsNyBAQAogCXNldF93cWVfMzJiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1NUQUdfV1FFX1NUQUdfSURYLCBpYm13LT5ya2V5KTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJbmVzX2RlYnVnKE5FU19EQkdfTVIsICJXYWl0aW5nIGZvciBkZWFsbG9jYXRlIFNUYWcgMHglMDhYIHRvIGNvbXBsZXRlLlxuIiwKQEAgLTIwNCwzMiArMTg1LDEyIEBACiAJbmVzX2RlYnVnKE5FU19EQkdfTVIsICJEZWFsbG9jYXRlIFNUYWcgY29tcGxldGVkLCB3YWl0X2V2ZW50X3RpbWVvdXQgcmV0ID0gJXUsIgogCQkJIiBDUVAgTWFqb3I6TWlub3IgY29kZXMgPSAweCUwNFg6MHglMDRYLlxuIiwKIAkJCXJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKLQlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQotCQlpZiAoIXJldCkgewotCQkJZXJyID0gLUVUSU1FOwotCQl9IGVsc2UgewotCQkJZXJyID0gLUVJTzsKLQkJfQotCX0gZWxzZSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KLQl9CisJaWYgKCFyZXQpCisJCWVyciA9IC1FVElNRTsKKwllbHNlIGlmIChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkKKwkJZXJyID0gLUVJTzsKKworCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAluZXNfZnJlZV9yZXNvdXJjZShuZXNhZGFwdGVyLCBuZXNhZGFwdGVyLT5hbGxvY2F0ZWRfbXJzLAogCQkJKGlibXctPnJrZXkgJiAweDBmZmZmZjAwKSA+PiA4KTsKQEAgLTUxNiw3ICs0NzcsNyBAQAogCQkJKG5lc2Ztci0+bmVzbXIucGJsc191c2VkLTEpIDogbmVzZm1yLT5uZXNtci5wYmxzX3VzZWQpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAlyZXQgPSB3YWl0X2V2ZW50X3RpbWVvdXQoY3FwX3JlcXVlc3QtPndhaXRxLCAoY3FwX3JlcXVlc3QtPnJlcXVlc3RfZG9uZSAhPSAwKSwKQEAgLTUyNiwyOSArNDg3LDExIEBACiAJCQlzdGFnLCByZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAKIAlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQlyZXQgPSAoIXJldCkgPyAtRVRJTUUgOiAtRUlPOwogCQlnb3RvIGZhaWxlZF9sZWFmX3ZwYmxfcGFnZXNfYWxsb2M7Ci0JfSBlbHNlIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQogCX0KLQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJbmVzZm1yLT5uZXNtci5pYmZtci5sa2V5ID0gc3RhZzsKIAluZXNmbXItPm5lc21yLmliZm1yLnJrZXkgPSBzdGFnOwogCW5lc2Ztci0+YXR0ciA9ICppYmZtcl9hdHRyOwpAQCAtMTQ3NCw3ICsxNDE3LDcgQEAKIAkJCXNldF93cWVfNjRiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1FQX1dRRV9DT05URVhUX0xPV19JRFgsIHU2NHRlbXApOwogCiAJCQlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCQkJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCQkJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkJCS8qIFdhaXQgZm9yIENRUCAqLwogCQkJbmVzX2RlYnVnKE5FU19EQkdfUVAsICJXYWl0aW5nIGZvciBjcmVhdGUgaVdBUlAgUVAldSB0byBjb21wbGV0ZS5cbiIsCkBAIC0xNDg3LDE1ICsxNDMwLDcgQEAKIAkJCQkJbmVzcXAtPmh3cXAucXBfaWQsIHJldCwgbmVzZGV2LT5jcXAuc3FfaGVhZCwgbmVzZGV2LT5jcXAuc3FfdGFpbCwKIAkJCQkJY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKIAkJCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQkJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQl9IGVsc2UgewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCX0KLQkJCQl9CisJCQkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJCQluZXNfZnJlZV9yZXNvdXJjZShuZXNhZGFwdGVyLCBuZXNhZGFwdGVyLT5hbGxvY2F0ZWRfcXBzLCBxcF9udW0pOwogCQkJCW5lc19mcmVlX3FwX21lbShuZXNkZXYsIG5lc3FwLHZpcnRfd3FzKTsKIAkJCQlrZnJlZShuZXNxcC0+YWxsb2NhdGVkX2J1ZmZlcik7CkBAIC0xNTA0LDE4ICsxNDM5LDEwIEBACiAJCQkJfSBlbHNlIHsKIAkJCQkJcmV0dXJuIEVSUl9QVFIoLUVJTyk7CiAJCQkJfQotCQkJfSBlbHNlIHsKLQkJCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJfSBlbHNlIHsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQl9Ci0JCQkJfQogCQkJfQogCisJCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworCiAJCQlpZiAoaWJwZC0+dW9iamVjdCkgewogCQkJCXVyZXNwLm1tYXBfc3FfZGJfaW5kZXggPSBuZXNxcC0+bW1hcF9zcV9kYl9pbmRleDsKIAkJCQl1cmVzcC5hY3R1YWxfc3Ffc2l6ZSA9IHNxX3NpemU7CkBAIC0xODE3LDcgKzE3NDQsNyBAQAogCQkJY3B1X3RvX2xlMzIoKCh1MzIpKCh1NjR0ZW1wKSA+PiAzMykpICYgMHg3RkZGRkZGRik7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiV2FpdGluZyBmb3IgY3JlYXRlIGlXQVJQIENRJXUgdG8gY29tcGxldGUuXG4iLApAQCAtMTgyNywzMiArMTc1NCwxNSBAQAogCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiQ3JlYXRlIGlXQVJQIENRJXUgY29tcGxldGVkLCB3YWl0X2V2ZW50X3RpbWVvdXQgcmV0ID0gJWQuXG4iLAogCQkJbmVzY3EtPmh3X2NxLmNxX251bWJlciwgcmV0KTsKIAlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQlpZiAoIWNvbnRleHQpCiAJCQlwY2lfZnJlZV9jb25zaXN0ZW50KG5lc2Rldi0+cGNpZGV2LCBuZXNjcS0+Y3FfbWVtX3NpemUsIG1lbSwKIAkJCQkJbmVzY3EtPmh3X2NxLmNxX3BiYXNlKTsKIAkJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX2NxcywgY3FfbnVtKTsKIAkJa2ZyZWUobmVzY3EpOwogCQlyZXR1cm4gRVJSX1BUUigtRUlPKTsKLQl9IGVsc2UgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CiAJfQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAlpZiAoY29udGV4dCkgewogCQkvKiBmcmVlIHRoZSBuZXNwYmwgKi8KQEAgLTE5MzEsNyArMTg0MSw3IEBACiAJCShuZXNjcS0+aHdfY3EuY3FfbnVtYmVyIHwgKCh1MzIpUENJX0ZVTkMobmVzZGV2LT5wY2lkZXYtPmRldmZuKSA8PCAxNikpKTsKIAluZXNfZnJlZV9yZXNvdXJjZShuZXNhZGFwdGVyLCBuZXNhZGFwdGVyLT5hbGxvY2F0ZWRfY3FzLCBuZXNjcS0+aHdfY3EuY3FfbnVtYmVyKTsKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiV2FpdGluZyBmb3IgZGVzdHJveSBpV0FSUCBDUSV1IHRvIGNvbXBsZXRlLlxuIiwKQEAgLTE5NDIsMzcgKzE4NTIsMTggQEAKIAkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WC5cbiIsCiAJCQluZXNjcS0+aHdfY3EuY3FfbnVtYmVyLCByZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLAogCQkJY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwotCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9Ci0JCWlmICghcmV0KSB7Ci0JCQluZXNfZGVidWcoTkVTX0RCR19DUSwgImlXQVJQIENRJXUgZGVzdHJveSB0aW1lb3V0IGV4cGlyZWRcbiIsCisJaWYgKCFyZXQpIHsKKwkJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJpV0FSUCBDUSV1IGRlc3Ryb3kgdGltZW91dCBleHBpcmVkXG4iLAogCQkJCQluZXNjcS0+aHdfY3EuY3FfbnVtYmVyKTsKLQkJCXJldCA9IC1FVElNRTsKLQkJfSBlbHNlIHsKLQkJCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiaVdBUlAgQ1EldSBkZXN0cm95IGZhaWxlZFxuIiwKKwkJcmV0ID0gLUVUSU1FOworCX0gZWxzZSBpZiAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpIHsKKwkJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJpV0FSUCBDUSV1IGRlc3Ryb3kgZmFpbGVkXG4iLAogCQkJCQluZXNjcS0+aHdfY3EuY3FfbnVtYmVyKTsKLQkJCXJldCA9IC1FSU87Ci0JCX0KKwkJcmV0ID0gLUVJTzsKIAl9IGVsc2UgewogCQlyZXQgPSAwOwotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CiAJfQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAlpZiAobmVzY3EtPmNxX21lbV9zaXplKQogCQlwY2lfZnJlZV9jb25zaXN0ZW50KG5lc2Rldi0+cGNpZGV2LCBuZXNjcS0+Y3FfbWVtX3NpemUsCkBAIC0yMDk2LDcgKzE5ODcsNyBAQAogCWJhcnJpZXIoKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJcmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGNxcF9yZXF1ZXN0LT53YWl0cSwgKDAgIT0gY3FwX3JlcXVlc3QtPnJlcXVlc3RfZG9uZSksCkBAIC0yMTA1LDE1ICsxOTk2LDggQEAKIAkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WC5cbiIsCiAJCQlzdGFnLCByZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAJbWFqb3JfY29kZSA9IGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlOwotCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQl9IGVsc2UgewotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCX0KLQl9CisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwogCWlmICghcmV0KQogCQlyZXR1cm4gLUVUSU1FOwogCWVsc2UgaWYgKG1ham9yX2NvZGUpCkBAIC0yNzU0LDcgKzI2MzgsNyBAQAogCXNldF93cWVfMzJiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1NUQUdfV1FFX1NUQUdfSURYLCBpYl9tci0+cmtleSk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCW5lc19kZWJ1ZyhORVNfREJHX01SLCAiV2FpdGluZyBmb3IgZGVhbGxvY2F0ZSBTVGFnIDB4JTA4WCBjb21wbGV0ZWRcbiIsIGliX21yLT5ya2V5KTsKQEAgLTI3NzEsMTUgKzI2NTUsOSBAQAogCiAJbWFqb3JfY29kZSA9IGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlOwogCW1pbm9yX2NvZGUgPSBjcXBfcmVxdWVzdC0+bWlub3JfY29kZTsKLQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQl9Ci0JfQorCisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwogCWlmICghcmV0KSB7CiAJCW5lc19kZWJ1ZyhORVNfREJHX01SLCAiVGltZW91dCB3YWl0aW5nIHRvIGRlc3Ryb3kgU1RhZywiCiAJCQkJIiBpYl9tcj0lcCwgcmtleSA9IDB4JTA4WFxuIiwKQEAgLTI5MDQsNyArMjc4Miw2IEBACiAJLyogc3RydWN0IGl3X2NtX2lkICpjbV9pZCA9IG5lc3FwLT5jbV9pZDsgKi8KIAkvKiBzdHJ1Y3QgaXdfY21fZXZlbnQgY21fZXZlbnQ7ICovCiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3Q7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgcmV0OwogCXUxNiBtYWpvcl9jb2RlOwogCkBAIC0yOTMyLDcgKzI4MDksNyBAQAogCXNldF93cWVfNjRiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1FQX1dRRV9DT05URVhUX0xPV19JRFgsICh1NjQpbmVzcXAtPm5lc3FwX2NvbnRleHRfcGJhc2UpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAlpZiAod2FpdF9jb21wbGV0aW9uKSB7CkBAIC0yOTUwLDE1ICsyODI3LDkgQEAKIAkJCQkJbmVzcXAtPmh3cXAucXBfaWQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLAogCQkJCQljcXBfcmVxdWVzdC0+bWlub3JfY29kZSwgbmV4dF9pd2FycF9zdGF0ZSk7CiAJCX0KLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCisJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAkJaWYgKCFyZXQpCiAJCQlyZXR1cm4gLUVUSU1FOwogCQllbHNlIGlmIChtYWpvcl9jb2RlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9LY29uZmlnIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9LY29uZmlnCmluZGV4IDFmNzZiYWQuLjY5MTUyNWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvS2NvbmZpZworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL0tjb25maWcKQEAgLTEsNiArMSw3IEBACiBjb25maWcgSU5GSU5JQkFORF9JUE9JQgogCXRyaXN0YXRlICJJUC1vdmVyLUluZmluaUJhbmQiCiAJZGVwZW5kcyBvbiBORVRERVZJQ0VTICYmIElORVQgJiYgKElQVjYgfHwgSVBWNj1uKQorCXNlbGVjdCBJTkVUX0xSTwogCS0tLWhlbHAtLS0KIAkgIFN1cHBvcnQgZm9yIHRoZSBJUC1vdmVyLUluZmluaUJhbmQgcHJvdG9jb2wgKElQb0lCKS4gVGhpcwogCSAgdHJhbnNwb3J0cyBJUCBwYWNrZXRzIG92ZXIgSW5maW5pQmFuZCBzbyB5b3UgY2FuIHVzZSB5b3VyIElCCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liLmggYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liLmgKaW5kZXggY2ExMjZmYy4uYjBmZmM5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYi5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWIuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXBvaWIuaCAxMzU4IDIwMDQtMTItMTcgMjI6MDA6MTFaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBfSVBPSUJfSApAQCAtNTIsOSArNTAsMTYgQEAKICNpbmNsdWRlIDxyZG1hL2liX3ZlcmJzLmg+CiAjaW5jbHVkZSA8cmRtYS9pYl9wYWNrLmg+CiAjaW5jbHVkZSA8cmRtYS9pYl9zYS5oPgorI2luY2x1ZGUgPGxpbnV4L2luZXRfbHJvLmg+CiAKIC8qIGNvbnN0YW50cyAqLwogCitlbnVtIGlwb2liX2ZsdXNoX2xldmVsIHsKKwlJUE9JQl9GTFVTSF9MSUdIVCwKKwlJUE9JQl9GTFVTSF9OT1JNQUwsCisJSVBPSUJfRkxVU0hfSEVBVlkKK307CisKIGVudW0gewogCUlQT0lCX0VOQ0FQX0xFTgkJICA9IDQsCiAKQEAgLTY1LDggKzcwLDggQEAKIAlJUE9JQl9DTV9CVUZfU0laRQkgID0gSVBPSUJfQ01fTVRVICArIElQT0lCX0VOQ0FQX0xFTiwKIAlJUE9JQl9DTV9IRUFEX1NJWkUJICA9IElQT0lCX0NNX0JVRl9TSVpFICUgUEFHRV9TSVpFLAogCUlQT0lCX0NNX1JYX1NHCQkgID0gQUxJR04oSVBPSUJfQ01fQlVGX1NJWkUsIFBBR0VfU0laRSkgLyBQQUdFX1NJWkUsCi0JSVBPSUJfUlhfUklOR19TSVpFCSAgPSAxMjgsCi0JSVBPSUJfVFhfUklOR19TSVpFCSAgPSA2NCwKKwlJUE9JQl9SWF9SSU5HX1NJWkUJICA9IDI1NiwKKwlJUE9JQl9UWF9SSU5HX1NJWkUJICA9IDEyOCwKIAlJUE9JQl9NQVhfUVVFVUVfU0laRQkgID0gODE5MiwKIAlJUE9JQl9NSU5fUVVFVUVfU0laRQkgID0gMiwKIAlJUE9JQl9DTV9NQVhfQ09OTl9RUAkgID0gNDA5NiwKQEAgLTg0LDcgKzg5LDYgQEAKIAlJUE9JQl9GTEFHX1NVQklOVEVSRkFDRQkgID0gNSwKIAlJUE9JQl9NQ0FTVF9SVU4JCSAgPSA2LAogCUlQT0lCX1NUT1BfUkVBUEVSCSAgPSA3LAotCUlQT0lCX01DQVNUX1NUQVJURUQJICA9IDgsCiAJSVBPSUJfRkxBR19BRE1JTl9DTQkgID0gOSwKIAlJUE9JQl9GTEFHX1VNQ0FTVAkgID0gMTAsCiAJSVBPSUJfRkxBR19DU1VNCQkgID0gMTEsCkBAIC05Niw3ICsxMDAsMTEgQEAKIAlJUE9JQl9NQ0FTVF9GTEFHX0JVU1kJICA9IDIsCS8qIGpvaW5pbmcgb3IgYWxyZWFkeSBqb2luZWQgKi8KIAlJUE9JQl9NQ0FTVF9GTEFHX0FUVEFDSEVEID0gMywKIAorCUlQT0lCX01BWF9MUk9fREVTQ1JJUFRPUlMgPSA4LAorCUlQT0lCX0xST19NQVhfQUdHUiAJICA9IDY0LAorCiAJTUFYX1NFTkRfQ1FFCQkgID0gMTYsCisJSVBPSUJfQ01fQ09QWUJSRUFLCSAgPSAyNTYsCiB9OwogCiAjZGVmaW5lCUlQT0lCX09QX1JFQ1YgICAoMXVsIDw8IDMxKQpAQCAtMTQ5LDYgKzE1NywxMSBAQAogCXU2NAkJbWFwcGluZ1tNQVhfU0tCX0ZSQUdTICsgMV07CiB9OwogCitzdHJ1Y3QgaXBvaWJfY21fdHhfYnVmIHsKKwlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOworCXU2NAkJbWFwcGluZzsKK307CisKIHN0cnVjdCBpYl9jbV9pZDsKIAogc3RydWN0IGlwb2liX2NtX2RhdGEgewpAQCAtMjA3LDcgKzIyMCw3IEBACiAJc3RydWN0IG5ldF9kZXZpY2UgICAqZGV2OwogCXN0cnVjdCBpcG9pYl9uZWlnaCAgKm5laWdoOwogCXN0cnVjdCBpcG9pYl9wYXRoICAgKnBhdGg7Ci0Jc3RydWN0IGlwb2liX3R4X2J1ZiAqdHhfcmluZzsKKwlzdHJ1Y3QgaXBvaWJfY21fdHhfYnVmICp0eF9yaW5nOwogCXVuc2lnbmVkCSAgICAgdHhfaGVhZDsKIAl1bnNpZ25lZAkgICAgIHR4X3RhaWw7CiAJdW5zaWduZWQgbG9uZwkgICAgIGZsYWdzOwpAQCAtMjQ5LDYgKzI2MiwxMSBAQAogCXUxNiAgICAgbWF4X2NvYWxlc2NlZF9mcmFtZXM7CiB9OwogCitzdHJ1Y3QgaXBvaWJfbHJvIHsKKwlzdHJ1Y3QgbmV0X2xyb19tZ3IgbHJvX21ncjsKKwlzdHJ1Y3QgbmV0X2xyb19kZXNjIGxyb19kZXNjW0lQT0lCX01BWF9MUk9fREVTQ1JJUFRPUlNdOworfTsKKwogLyoKICAqIERldmljZSBwcml2YXRlIGxvY2tpbmc6IHR4X2xvY2sgcHJvdGVjdHMgbWVtYmVycyB1c2VkIGluIFRYIGZhc3QKICAqIHBhdGggKGFuZCB3ZSB1c2UgTExUWCBzbyB1cHBlciBsYXllcnMgZG9uJ3QgZG8gZXh0cmEgbG9ja2luZykuCkBAIC0yNjQsNyArMjgyLDYgQEAKIAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlzdHJ1Y3QgbXV0ZXggbWNhc3RfbXV0ZXg7CiAJc3RydWN0IG11dGV4IHZsYW5fbXV0ZXg7CiAKIAlzdHJ1Y3QgcmJfcm9vdCAgcGF0aF90cmVlOwpAQCAtMjc2LDEwICsyOTMsMTEgQEAKIAogCXN0cnVjdCBkZWxheWVkX3dvcmsgcGtleV9wb2xsX3Rhc2s7CiAJc3RydWN0IGRlbGF5ZWRfd29yayBtY2FzdF90YXNrOwotCXN0cnVjdCB3b3JrX3N0cnVjdCBmbHVzaF90YXNrOworCXN0cnVjdCB3b3JrX3N0cnVjdCBmbHVzaF9saWdodDsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfbm9ybWFsOworCXN0cnVjdCB3b3JrX3N0cnVjdCBmbHVzaF9oZWF2eTsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgcmVzdGFydF90YXNrOwogCXN0cnVjdCBkZWxheWVkX3dvcmsgYWhfcmVhcF90YXNrOwotCXN0cnVjdCB3b3JrX3N0cnVjdCBwa2V5X2V2ZW50X3Rhc2s7CiAKIAlzdHJ1Y3QgaWJfZGV2aWNlICpjYTsKIAl1OAkJICBwb3J0OwpAQCAtMzM1LDYgKzM1Myw4IEBACiAJaW50CWhjYV9jYXBzOwogCXN0cnVjdCBpcG9pYl9ldGh0b29sX3N0IGV0aHRvb2w7CiAJc3RydWN0IHRpbWVyX2xpc3QgcG9sbF90aW1lcjsKKworCXN0cnVjdCBpcG9pYl9scm8gbHJvOwogfTsKIAogc3RydWN0IGlwb2liX2FoIHsKQEAgLTM1OSw2ICszNzksNyBAQAogCiAJc3RydWN0IHJiX25vZGUJICAgICAgcmJfbm9kZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkICAgICAgbGlzdDsKKwlpbnQgIAkJICAgICAgdmFsaWQ7CiB9OwogCiBzdHJ1Y3QgaXBvaWJfbmVpZ2ggewpAQCAtNDIzLDExICs0NDQsMTQgQEAKIAkJc3RydWN0IGlwb2liX2FoICphZGRyZXNzLCB1MzIgcXBuKTsKIHZvaWQgaXBvaWJfcmVhcF9haChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogCit2b2lkIGlwb2liX21hcmtfcGF0aHNfaW52YWxpZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIHZvaWQgaXBvaWJfZmx1c2hfcGF0aHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiBzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKmlwb2liX2ludGZfYWxsb2MoY29uc3QgY2hhciAqZm9ybWF0KTsKIAogaW50IGlwb2liX2liX2Rldl9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBpYl9kZXZpY2UgKmNhLCBpbnQgcG9ydCk7Ci12b2lkIGlwb2liX2liX2Rldl9mbHVzaChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwordm9pZCBpcG9pYl9pYl9kZXZfZmx1c2hfbGlnaHQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX25vcm1hbChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwordm9pZCBpcG9pYl9pYl9kZXZfZmx1c2hfaGVhdnkoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIHZvaWQgaXBvaWJfcGtleV9ldmVudChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogdm9pZCBpcG9pYl9pYl9kZXZfY2xlYW51cChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIApAQCAtNDY2LDkgKzQ5MCw3IEBACiAjZW5kaWYKIAogaW50IGlwb2liX21jYXN0X2F0dGFjaChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgbWxpZCwKLQkJICAgICAgIHVuaW9uIGliX2dpZCAqbWdpZCk7Ci1pbnQgaXBvaWJfbWNhc3RfZGV0YWNoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtbGlkLAotCQkgICAgICAgdW5pb24gaWJfZ2lkICptZ2lkKTsKKwkJICAgICAgIHVuaW9uIGliX2dpZCAqbWdpZCwgaW50IHNldF9xa2V5KTsKIAogaW50IGlwb2liX2luaXRfcXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiBpbnQgaXBvaWJfdHJhbnNwb3J0X2Rldl9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBpYl9kZXZpY2UgKmNhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYwppbmRleCA5N2U2N2QzLi4wZjJkMzA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9jbS5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkJAogICovCiAKICNpbmNsdWRlIDxyZG1hL2liX2NtLmg+CkBAIC0xMTMsMTggKzExMSwyMCBAQAogfQogCiBzdGF0aWMgaW50IGlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKLQkJCQkJc3RydWN0IGlwb2liX2NtX3J4ICpyeCwgaW50IGlkKQorCQkJCQlzdHJ1Y3QgaXBvaWJfY21fcnggKnJ4LAorCQkJCQlzdHJ1Y3QgaWJfcmVjdl93ciAqd3IsCisJCQkJCXN0cnVjdCBpYl9zZ2UgKnNnZSwgaW50IGlkKQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CiAJc3RydWN0IGliX3JlY3Zfd3IgKmJhZF93cjsKIAlpbnQgaSwgcmV0OwogCi0JcHJpdi0+Y20ucnhfd3Iud3JfaWQgPSBpZCB8IElQT0lCX09QX0NNIHwgSVBPSUJfT1BfUkVDVjsKKwl3ci0+d3JfaWQgPSBpZCB8IElQT0lCX09QX0NNIHwgSVBPSUJfT1BfUkVDVjsKIAogCWZvciAoaSA9IDA7IGkgPCBJUE9JQl9DTV9SWF9TRzsgKytpKQotCQlwcml2LT5jbS5yeF9zZ2VbaV0uYWRkciA9IHJ4LT5yeF9yaW5nW2lkXS5tYXBwaW5nW2ldOworCQlzZ2VbaV0uYWRkciA9IHJ4LT5yeF9yaW5nW2lkXS5tYXBwaW5nW2ldOwogCi0JcmV0ID0gaWJfcG9zdF9yZWN2KHJ4LT5xcCwgJnByaXYtPmNtLnJ4X3dyLCAmYmFkX3dyKTsKKwlyZXQgPSBpYl9wb3N0X3JlY3YocngtPnFwLCB3ciwgJmJhZF93cik7CiAJaWYgKHVubGlrZWx5KHJldCkpIHsKIAkJaXBvaWJfd2Fybihwcml2LCAicG9zdCByZWN2IGZhaWxlZCBmb3IgYnVmICVkICglZClcbiIsIGlkLCByZXQpOwogCQlpcG9pYl9jbV9kbWFfdW5tYXBfcngocHJpdiwgSVBPSUJfQ01fUlhfU0cgLSAxLApAQCAtMzIyLDEwICszMjIsMzMgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgaXBvaWJfY21faW5pdF9yeF93cihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJCXN0cnVjdCBpYl9yZWN2X3dyICp3ciwKKwkJCQlzdHJ1Y3QgaWJfc2dlICpzZ2UpCit7CisJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBwcml2LT5jbS5udW1fZnJhZ3M7ICsraSkKKwkJc2dlW2ldLmxrZXkgPSBwcml2LT5tci0+bGtleTsKKworCXNnZVswXS5sZW5ndGggPSBJUE9JQl9DTV9IRUFEX1NJWkU7CisJZm9yIChpID0gMTsgaSA8IHByaXYtPmNtLm51bV9mcmFnczsgKytpKQorCQlzZ2VbaV0ubGVuZ3RoID0gUEFHRV9TSVpFOworCisJd3ItPm5leHQgICAgPSBOVUxMOworCXdyLT5zZ19saXN0ID0gcHJpdi0+Y20ucnhfc2dlOworCXdyLT5udW1fc2dlID0gcHJpdi0+Y20ubnVtX2ZyYWdzOworfQorCiBzdGF0aWMgaW50IGlwb2liX2NtX25vbnNycV9pbml0X3J4KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBpYl9jbV9pZCAqY21faWQsCiAJCQkJICAgc3RydWN0IGlwb2liX2NtX3J4ICpyeCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOworCXN0cnVjdCB7CisJCXN0cnVjdCBpYl9yZWN2X3dyIHdyOworCQlzdHJ1Y3QgaWJfc2dlIHNnZVtJUE9JQl9DTV9SWF9TR107CisJfSAqdDsKIAlpbnQgcmV0OwogCWludCBpOwogCkBAIC0zMzMsNiArMzU2LDE0IEBACiAJaWYgKCFyeC0+cnhfcmluZykKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwl0ID0ga21hbGxvYyhzaXplb2YgKnQsIEdGUF9LRVJORUwpOworCWlmICghdCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycl9mcmVlOworCX0KKworCWlwb2liX2NtX2luaXRfcnhfd3IoZGV2LCAmdC0+d3IsIHQtPnNnZSk7CisKIAlzcGluX2xvY2tfaXJxKCZwcml2LT5sb2NrKTsKIAogCWlmIChwcml2LT5jbS5ub25zcnFfY29ubl9xcCA+PSBpcG9pYl9tYXhfY29ubl9xcCkgewpAQCAtMzUxLDggKzM4Miw4IEBACiAJCQlpcG9pYl93YXJuKHByaXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVjZWl2ZSBidWZmZXIgJWRcbiIsIGkpOwogCQkJCXJldCA9IC1FTk9NRU07CiAJCQkJZ290byBlcnJfY291bnQ7Ci0JCQl9Ci0JCXJldCA9IGlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEoZGV2LCByeCwgaSk7CisJCX0KKwkJcmV0ID0gaXBvaWJfY21fcG9zdF9yZWNlaXZlX25vbnNycShkZXYsIHJ4LCAmdC0+d3IsIHQtPnNnZSwgaSk7CiAJCWlmIChyZXQpIHsKIAkJCWlwb2liX3dhcm4ocHJpdiwgImlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEgIgogCQkJCSAgICJmYWlsZWQgZm9yIGJ1ZiAlZFxuIiwgaSk7CkBAIC0zNjMsNiArMzk0LDggQEAKIAogCXJ4LT5yZWN2X2NvdW50ID0gaXBvaWJfcmVjdnFfc2l6ZTsKIAorCWtmcmVlKHQpOworCiAJcmV0dXJuIDA7CiAKIGVycl9jb3VudDoKQEAgLTM3MSw2ICs0MDQsNyBAQAogCXNwaW5fdW5sb2NrX2lycSgmcHJpdi0+bG9jayk7CiAKIGVycl9mcmVlOgorCWtmcmVlKHQpOwogCWlwb2liX2NtX2ZyZWVfcnhfcmluZyhkZXYsIHJ4LT5yeF9yaW5nKTsKIAogCXJldHVybiByZXQ7CkBAIC01MjUsNiArNTU5LDcgQEAKIAl1NjQgbWFwcGluZ1tJUE9JQl9DTV9SWF9TR107CiAJaW50IGZyYWdzOwogCWludCBoYXNfc3JxOworCXN0cnVjdCBza19idWZmICpzbWFsbF9za2I7CiAKIAlpcG9pYl9kYmdfZGF0YShwcml2LCAiY20gcmVjdiBjb21wbGV0aW9uOiBpZCAlZCwgc3RhdHVzOiAlZFxuIiwKIAkJICAgICAgIHdyX2lkLCB3Yy0+c3RhdHVzKTsKQEAgLTU3OSw2ICs2MTQsMjMgQEAKIAkJfQogCX0KIAorCWlmICh3Yy0+Ynl0ZV9sZW4gPCBJUE9JQl9DTV9DT1BZQlJFQUspIHsKKwkJaW50IGRsZW4gPSB3Yy0+Ynl0ZV9sZW47CisKKwkJc21hbGxfc2tiID0gZGV2X2FsbG9jX3NrYihkbGVuICsgMTIpOworCQlpZiAoc21hbGxfc2tiKSB7CisJCQlza2JfcmVzZXJ2ZShzbWFsbF9za2IsIDEyKTsKKwkJCWliX2RtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KHByaXYtPmNhLCByeF9yaW5nW3dyX2lkXS5tYXBwaW5nWzBdLAorCQkJCQkJICAgZGxlbiwgRE1BX0ZST01fREVWSUNFKTsKKwkJCXNrYl9jb3B5X2Zyb21fbGluZWFyX2RhdGEoc2tiLCBzbWFsbF9za2ItPmRhdGEsIGRsZW4pOworCQkJaWJfZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UocHJpdi0+Y2EsIHJ4X3Jpbmdbd3JfaWRdLm1hcHBpbmdbMF0sCisJCQkJCQkgICAgICBkbGVuLCBETUFfRlJPTV9ERVZJQ0UpOworCQkJc2tiX3B1dChzbWFsbF9za2IsIGRsZW4pOworCQkJc2tiID0gc21hbGxfc2tiOworCQkJZ290byBjb3BpZWQ7CisJCX0KKwl9CisKIAlmcmFncyA9IFBBR0VfQUxJR04od2MtPmJ5dGVfbGVuIC0gbWluKHdjLT5ieXRlX2xlbiwKIAkJCQkJICAgICAgKHVuc2lnbmVkKUlQT0lCX0NNX0hFQURfU0laRSkpIC8gUEFHRV9TSVpFOwogCkBAIC02MDEsNiArNjUzLDcgQEAKIAogCXNrYl9wdXRfZnJhZ3Moc2tiLCBJUE9JQl9DTV9IRUFEX1NJWkUsIHdjLT5ieXRlX2xlbiwgbmV3c2tiKTsKIAorY29waWVkOgogCXNrYi0+cHJvdG9jb2wgPSAoKHN0cnVjdCBpcG9pYl9oZWFkZXIgKikgc2tiLT5kYXRhKS0+cHJvdG87CiAJc2tiX3Jlc2V0X21hY19oZWFkZXIoc2tiKTsKIAlza2JfcHVsbChza2IsIElQT0lCX0VOQ0FQX0xFTik7CkBAIC02MjAsNyArNjczLDEwIEBACiAJCQlpcG9pYl93YXJuKHByaXYsICJpcG9pYl9jbV9wb3N0X3JlY2VpdmVfc3JxIGZhaWxlZCAiCiAJCQkJICAgImZvciBidWYgJWRcbiIsIHdyX2lkKTsKIAl9IGVsc2UgewotCQlpZiAodW5saWtlbHkoaXBvaWJfY21fcG9zdF9yZWNlaXZlX25vbnNycShkZXYsIHAsIHdyX2lkKSkpIHsKKwkJaWYgKHVubGlrZWx5KGlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEoZGV2LCBwLAorCQkJCQkJCSAgJnByaXYtPmNtLnJ4X3dyLAorCQkJCQkJCSAgcHJpdi0+Y20ucnhfc2dlLAorCQkJCQkJCSAgd3JfaWQpKSkgewogCQkJLS1wLT5yZWN2X2NvdW50OwogCQkJaXBvaWJfd2Fybihwcml2LCAiaXBvaWJfY21fcG9zdF9yZWNlaXZlX25vbnNycSBmYWlsZWQgIgogCQkJCSAgICJmb3IgYnVmICVkXG4iLCB3cl9pZCk7CkBAIC02NDcsNyArNzAzLDcgQEAKIHZvaWQgaXBvaWJfY21fc2VuZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgaXBvaWJfY21fdHggKnR4KQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7Ci0Jc3RydWN0IGlwb2liX3R4X2J1ZiAqdHhfcmVxOworCXN0cnVjdCBpcG9pYl9jbV90eF9idWYgKnR4X3JlcTsKIAl1NjQgYWRkcjsKIAogCWlmICh1bmxpa2VseShza2ItPmxlbiA+IHR4LT5tdHUpKSB7CkBAIC02NzgsNyArNzM0LDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCXR4X3JlcS0+bWFwcGluZ1swXSA9IGFkZHI7CisJdHhfcmVxLT5tYXBwaW5nID0gYWRkcjsKIAogCWlmICh1bmxpa2VseShwb3N0X3NlbmQocHJpdiwgdHgsIHR4LT50eF9oZWFkICYgKGlwb2liX3NlbmRxX3NpemUgLSAxKSwKIAkJCSAgICAgICBhZGRyLCBza2ItPmxlbikpKSB7CkBAIC03MDMsNyArNzU5LDcgQEAKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBpcG9pYl9jbV90eCAqdHggPSB3Yy0+cXAtPnFwX2NvbnRleHQ7CiAJdW5zaWduZWQgaW50IHdyX2lkID0gd2MtPndyX2lkICYgfklQT0lCX09QX0NNOwotCXN0cnVjdCBpcG9pYl90eF9idWYgKnR4X3JlcTsKKwlzdHJ1Y3QgaXBvaWJfY21fdHhfYnVmICp0eF9yZXE7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWlwb2liX2RiZ19kYXRhKHByaXYsICJjbSBzZW5kIGNvbXBsZXRpb246IGlkICVkLCBzdGF0dXM6ICVkXG4iLApAQCAtNzE3LDcgKzc3Myw3IEBACiAKIAl0eF9yZXEgPSAmdHgtPnR4X3Jpbmdbd3JfaWRdOwogCi0JaWJfZG1hX3VubWFwX3NpbmdsZShwcml2LT5jYSwgdHhfcmVxLT5tYXBwaW5nWzBdLCB0eF9yZXEtPnNrYi0+bGVuLCBETUFfVE9fREVWSUNFKTsKKwlpYl9kbWFfdW5tYXBfc2luZ2xlKHByaXYtPmNhLCB0eF9yZXEtPm1hcHBpbmcsIHR4X3JlcS0+c2tiLT5sZW4sIERNQV9UT19ERVZJQ0UpOwogCiAJLyogRklYTUU6IGlzIHRoaXMgcmlnaHQ/IFNob3VsZG4ndCB3ZSBvbmx5IGluY3JlbWVudCBvbiBzdWNjZXNzPyAqLwogCSsrZGV2LT5zdGF0cy50eF9wYWNrZXRzOwpAQCAtMTA4Nyw3ICsxMTQzLDcgQEAKIHN0YXRpYyB2b2lkIGlwb2liX2NtX3R4X2Rlc3Ryb3koc3RydWN0IGlwb2liX2NtX3R4ICpwKQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KHAtPmRldik7Ci0Jc3RydWN0IGlwb2liX3R4X2J1ZiAqdHhfcmVxOworCXN0cnVjdCBpcG9pYl9jbV90eF9idWYgKnR4X3JlcTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXVuc2lnbmVkIGxvbmcgYmVnaW47CiAKQEAgLTExMTUsNyArMTE3MSw3IEBACiAKIAl3aGlsZSAoKGludCkgcC0+dHhfdGFpbCAtIChpbnQpIHAtPnR4X2hlYWQgPCAwKSB7CiAJCXR4X3JlcSA9ICZwLT50eF9yaW5nW3AtPnR4X3RhaWwgJiAoaXBvaWJfc2VuZHFfc2l6ZSAtIDEpXTsKLQkJaWJfZG1hX3VubWFwX3NpbmdsZShwcml2LT5jYSwgdHhfcmVxLT5tYXBwaW5nWzBdLCB0eF9yZXEtPnNrYi0+bGVuLAorCQlpYl9kbWFfdW5tYXBfc2luZ2xlKHByaXYtPmNhLCB0eF9yZXEtPm1hcHBpbmcsIHR4X3JlcS0+c2tiLT5sZW4sCiAJCQkJICAgIERNQV9UT19ERVZJQ0UpOwogCQlkZXZfa2ZyZWVfc2tiX2FueSh0eF9yZXEtPnNrYik7CiAJCSsrcC0+dHhfdGFpbDsKQEAgLTEzODQsNyArMTQ0MCw5IEBACiAJCWlwb2liX3dhcm4ocHJpdiwgImVuYWJsaW5nIGNvbm5lY3RlZCBtb2RlICIKIAkJCSAgICJ3aWxsIGNhdXNlIG11bHRpY2FzdCBwYWNrZXQgZHJvcHNcbiIpOwogCisJCXJ0bmxfbG9jaygpOwogCQlkZXYtPmZlYXR1cmVzICY9IH4oTkVUSUZfRl9JUF9DU1VNIHwgTkVUSUZfRl9TRyB8IE5FVElGX0ZfVFNPKTsKKwkJcnRubF91bmxvY2soKTsKIAkJcHJpdi0+dHhfd3Iuc2VuZF9mbGFncyAmPSB+SUJfU0VORF9JUF9DU1VNOwogCiAJCWlwb2liX2ZsdXNoX3BhdGhzKGRldik7CkBAIC0xMzkzLDE0ICsxNDUxLDE2IEBACiAKIAlpZiAoIXN0cmNtcChidWYsICJkYXRhZ3JhbVxuIikpIHsKIAkJY2xlYXJfYml0KElQT0lCX0ZMQUdfQURNSU5fQ00sICZwcml2LT5mbGFncyk7Ci0JCWRldi0+bXR1ID0gbWluKHByaXYtPm1jYXN0X210dSwgZGV2LT5tdHUpOwotCQlpcG9pYl9mbHVzaF9wYXRocyhkZXYpOwogCisJCXJ0bmxfbG9jaygpOwogCQlpZiAodGVzdF9iaXQoSVBPSUJfRkxBR19DU1VNLCAmcHJpdi0+ZmxhZ3MpKSB7CiAJCQlkZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfSVBfQ1NVTSB8IE5FVElGX0ZfU0c7CiAJCQlpZiAocHJpdi0+aGNhX2NhcHMgJiBJQl9ERVZJQ0VfVURfVFNPKQogCQkJCWRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9UU087CiAJCX0KKwkJZGV2X3NldF9tdHUoZGV2LCBtaW4ocHJpdi0+bWNhc3RfbXR1LCBkZXYtPm10dSkpOworCQlydG5sX3VubG9jaygpOworCQlpcG9pYl9mbHVzaF9wYXRocyhkZXYpOwogCiAJCXJldHVybiBjb3VudDsKIAl9CkBAIC0xNDg1LDE1ICsxNTQ1LDcgQEAKIAkJcHJpdi0+Y20ubnVtX2ZyYWdzICA9IElQT0lCX0NNX1JYX1NHOwogCX0KIAotCWZvciAoaSA9IDA7IGkgPCBwcml2LT5jbS5udW1fZnJhZ3M7ICsraSkKLQkJcHJpdi0+Y20ucnhfc2dlW2ldLmxrZXkJPSBwcml2LT5tci0+bGtleTsKLQotCXByaXYtPmNtLnJ4X3NnZVswXS5sZW5ndGggPSBJUE9JQl9DTV9IRUFEX1NJWkU7Ci0JZm9yIChpID0gMTsgaSA8IHByaXYtPmNtLm51bV9mcmFnczsgKytpKQotCQlwcml2LT5jbS5yeF9zZ2VbaV0ubGVuZ3RoID0gUEFHRV9TSVpFOwotCXByaXYtPmNtLnJ4X3dyLm5leHQgPSBOVUxMOwotCXByaXYtPmNtLnJ4X3dyLnNnX2xpc3QgPSBwcml2LT5jbS5yeF9zZ2U7Ci0JcHJpdi0+Y20ucnhfd3IubnVtX3NnZSA9IHByaXYtPmNtLm51bV9mcmFnczsKKwlpcG9pYl9jbV9pbml0X3J4X3dyKGRldiwgJnByaXYtPmNtLnJ4X3dyLCBwcml2LT5jbS5yeF9zZ2UpOwogCiAJaWYgKGlwb2liX2NtX2hhc19zcnEoZGV2KSkgewogCQlmb3IgKGkgPSAwOyBpIDwgaXBvaWJfcmVjdnFfc2l6ZTsgKytpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2V0aHRvb2wuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZXRodG9vbC5jCmluZGV4IDEwMjc5YjcuLjY2YWY1YzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZXRodG9vbC5jCkBAIC04NiwxMSArODYsNTcgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgaXBvaWJfc3RhdHNfa2V5c1tdW0VUSF9HU1RSSU5HX0xFTl0gPSB7CisJIkxSTyBhZ2dyZWdhdGVkIiwgIkxSTyBmbHVzaGVkIiwKKwkiTFJPIGF2ZyBhZ2dyIiwgIkxSTyBubyBkZXNjIgorfTsKKworc3RhdGljIHZvaWQgaXBvaWJfZ2V0X3N0cmluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgdTMyIHN0cmluZ3NldCwgdTggKmRhdGEpCit7CisJc3dpdGNoIChzdHJpbmdzZXQpIHsKKwljYXNlIEVUSF9TU19TVEFUUzoKKwkJbWVtY3B5KGRhdGEsICppcG9pYl9zdGF0c19rZXlzLAlzaXplb2YoaXBvaWJfc3RhdHNfa2V5cykpOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyBpbnQgaXBvaWJfZ2V0X3NzZXRfY291bnQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50IHNzZXQpCit7CisJc3dpdGNoIChzc2V0KSB7CisJY2FzZSBFVEhfU1NfU1RBVFM6CisJCXJldHVybiBBUlJBWV9TSVpFKGlwb2liX3N0YXRzX2tleXMpOworCWRlZmF1bHQ6CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGlwb2liX2dldF9ldGh0b29sX3N0YXRzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCisJCQkJc3RydWN0IGV0aHRvb2xfc3RhdHMgKnN0YXRzLCB1aW50NjRfdCAqZGF0YSkKK3sKKwlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOworCWludCBpbmRleCA9IDA7CisKKwkvKiBHZXQgTFJPIHN0YXRpc3RpY3MgKi8KKwlkYXRhW2luZGV4KytdID0gcHJpdi0+bHJvLmxyb19tZ3Iuc3RhdHMuYWdncmVnYXRlZDsKKwlkYXRhW2luZGV4KytdID0gcHJpdi0+bHJvLmxyb19tZ3Iuc3RhdHMuZmx1c2hlZDsKKwlpZiAocHJpdi0+bHJvLmxyb19tZ3Iuc3RhdHMuZmx1c2hlZCkKKwkJZGF0YVtpbmRleCsrXSA9IHByaXYtPmxyby5scm9fbWdyLnN0YXRzLmFnZ3JlZ2F0ZWQgLworCQkJCXByaXYtPmxyby5scm9fbWdyLnN0YXRzLmZsdXNoZWQ7CisJZWxzZQorCQlkYXRhW2luZGV4KytdID0gMDsKKwlkYXRhW2luZGV4KytdID0gcHJpdi0+bHJvLmxyb19tZ3Iuc3RhdHMubm9fZGVzYzsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBldGh0b29sX29wcyBpcG9pYl9ldGh0b29sX29wcyA9IHsKIAkuZ2V0X2RydmluZm8JCT0gaXBvaWJfZ2V0X2RydmluZm8sCiAJLmdldF90c28JCT0gZXRodG9vbF9vcF9nZXRfdHNvLAogCS5nZXRfY29hbGVzY2UJCT0gaXBvaWJfZ2V0X2NvYWxlc2NlLAogCS5zZXRfY29hbGVzY2UJCT0gaXBvaWJfc2V0X2NvYWxlc2NlLAorCS5nZXRfZmxhZ3MJCT0gZXRodG9vbF9vcF9nZXRfZmxhZ3MsCisJLnNldF9mbGFncwkJPSBldGh0b29sX29wX3NldF9mbGFncywKKwkuZ2V0X3N0cmluZ3MJCT0gaXBvaWJfZ2V0X3N0cmluZ3MsCisJLmdldF9zc2V0X2NvdW50CQk9IGlwb2liX2dldF9zc2V0X2NvdW50LAorCS5nZXRfZXRodG9vbF9zdGF0cwk9IGlwb2liX2dldF9ldGh0b29sX3N0YXRzLAogfTsKIAogdm9pZCBpcG9pYl9zZXRfZXRodG9vbF9vcHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZnMuYwppbmRleCA4Yjg4MmJiLi45NjFjNTg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2ZzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9mcy5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpcG9pYl9mcy5jIDEzODkgMjAwNC0xMi0yNyAyMjo1Njo0N1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2liLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2liLmMKaW5kZXggZjQyOWJjZS4uNjZjYWZhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9pYi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfaWIuYwpAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXBvaWJfaWIuYyAxMzg2IDIwMDQtMTItMjcgMTY6MjM6MTdaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CkBAIC0yOTAsNyArMjg4LDEwIEBACiAJaWYgKHRlc3RfYml0KElQT0lCX0ZMQUdfQ1NVTSwgJnByaXYtPmZsYWdzKSAmJiBsaWtlbHkod2MtPmNzdW1fb2spKQogCQlza2ItPmlwX3N1bW1lZCA9IENIRUNLU1VNX1VOTkVDRVNTQVJZOwogCi0JbmV0aWZfcmVjZWl2ZV9za2Ioc2tiKTsKKwlpZiAoZGV2LT5mZWF0dXJlcyAmIE5FVElGX0ZfTFJPKQorCQlscm9fcmVjZWl2ZV9za2IoJnByaXYtPmxyby5scm9fbWdyLCBza2IsIE5VTEwpOworCWVsc2UKKwkJbmV0aWZfcmVjZWl2ZV9za2Ioc2tiKTsKIAogcmVwb3N0OgogCWlmICh1bmxpa2VseShpcG9pYl9pYl9wb3N0X3JlY2VpdmUoZGV2LCB3cl9pZCkpKQpAQCAtNDQyLDYgKzQ0Myw5IEBACiAJfQogCiAJaWYgKGRvbmUgPCBidWRnZXQpIHsKKwkJaWYgKGRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX0xSTykKKwkJCWxyb19mbHVzaF9hbGwoJnByaXYtPmxyby5scm9fbWdyKTsKKwogCQluZXRpZl9yeF9jb21wbGV0ZShkZXYsIG5hcGkpOwogCQlpZiAodW5saWtlbHkoaWJfcmVxX25vdGlmeV9jcShwcml2LT5yZWN2X2NxLAogCQkJCQkgICAgICBJQl9DUV9ORVhUX0NPTVAgfApAQCAtODk4LDcgKzkwMiw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIF9faXBvaWJfaWJfZGV2X2ZsdXNoKHN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiwgaW50IHBrZXlfZXZlbnQpCitzdGF0aWMgdm9pZCBfX2lwb2liX2liX2Rldl9mbHVzaChzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYsCisJCQkJZW51bSBpcG9pYl9mbHVzaF9sZXZlbCBsZXZlbCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKmNwcml2OwogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBwcml2LT5kZXY7CkBAIC05MTEsNyArOTE2LDcgQEAKIAkgKiB0aGUgcGFyZW50IGlzIGRvd24uCiAJICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjcHJpdiwgJnByaXYtPmNoaWxkX2ludGZzLCBsaXN0KQotCQlfX2lwb2liX2liX2Rldl9mbHVzaChjcHJpdiwgcGtleV9ldmVudCk7CisJCV9faXBvaWJfaWJfZGV2X2ZsdXNoKGNwcml2LCBsZXZlbCk7CiAKIAltdXRleF91bmxvY2soJnByaXYtPnZsYW5fbXV0ZXgpOwogCkBAIC05MjUsNyArOTMwLDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCWlmIChwa2V5X2V2ZW50KSB7CisJaWYgKGxldmVsID09IElQT0lCX0ZMVVNIX0hFQVZZKSB7CiAJCWlmIChpYl9maW5kX3BrZXkocHJpdi0+Y2EsIHByaXYtPnBvcnQsIHByaXYtPnBrZXksICZuZXdfaW5kZXgpKSB7CiAJCQljbGVhcl9iaXQoSVBPSUJfUEtFWV9BU1NJR05FRCwgJnByaXYtPmZsYWdzKTsKIAkJCWlwb2liX2liX2Rldl9kb3duKGRldiwgMCk7CkBAIC05NDMsMTEgKzk0OCwxNSBAQAogCQlwcml2LT5wa2V5X2luZGV4ID0gbmV3X2luZGV4OwogCX0KIAotCWlwb2liX2RiZyhwcml2LCAiZmx1c2hpbmdcbiIpOworCWlmIChsZXZlbCA9PSBJUE9JQl9GTFVTSF9MSUdIVCkgeworCQlpcG9pYl9tYXJrX3BhdGhzX2ludmFsaWQoZGV2KTsKKwkJaXBvaWJfbWNhc3RfZGV2X2ZsdXNoKGRldik7CisJfQogCi0JaXBvaWJfaWJfZGV2X2Rvd24oZGV2LCAwKTsKKwlpZiAobGV2ZWwgPj0gSVBPSUJfRkxVU0hfTk9STUFMKQorCQlpcG9pYl9pYl9kZXZfZG93bihkZXYsIDApOwogCi0JaWYgKHBrZXlfZXZlbnQpIHsKKwlpZiAobGV2ZWwgPT0gSVBPSUJfRkxVU0hfSEVBVlkpIHsKIAkJaXBvaWJfaWJfZGV2X3N0b3AoZGV2LCAwKTsKIAkJaXBvaWJfaWJfZGV2X29wZW4oZGV2KTsKIAl9CkBAIC05NTcsMjcgKzk2NiwzNCBAQAogCSAqIHdlIGdldCBoZXJlLCBkb24ndCBicmluZyBpdCBiYWNrIHVwIGlmIGl0J3Mgbm90IGNvbmZpZ3VyZWQgdXAKIAkgKi8KIAlpZiAodGVzdF9iaXQoSVBPSUJfRkxBR19BRE1JTl9VUCwgJnByaXYtPmZsYWdzKSkgewotCQlpcG9pYl9pYl9kZXZfdXAoZGV2KTsKKwkJaWYgKGxldmVsID49IElQT0lCX0ZMVVNIX05PUk1BTCkKKwkJCWlwb2liX2liX2Rldl91cChkZXYpOwogCQlpcG9pYl9tY2FzdF9yZXN0YXJ0X3Rhc2soJnByaXYtPnJlc3RhcnRfdGFzayk7CiAJfQogfQogCi12b2lkIGlwb2liX2liX2Rldl9mbHVzaChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit2b2lkIGlwb2liX2liX2Rldl9mbHVzaF9saWdodChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0KLQkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpcG9pYl9kZXZfcHJpdiwgZmx1c2hfdGFzayk7CisJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYsIGZsdXNoX2xpZ2h0KTsKIAotCWlwb2liX2RiZyhwcml2LCAiRmx1c2hpbmcgJXNcbiIsIHByaXYtPmRldi0+bmFtZSk7Ci0JX19pcG9pYl9pYl9kZXZfZmx1c2gocHJpdiwgMCk7CisJX19pcG9pYl9pYl9kZXZfZmx1c2gocHJpdiwgSVBPSUJfRkxVU0hfTElHSFQpOwogfQogCi12b2lkIGlwb2liX3BrZXlfZXZlbnQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQordm9pZCBpcG9pYl9pYl9kZXZfZmx1c2hfbm9ybWFsKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPQotCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGlwb2liX2Rldl9wcml2LCBwa2V5X2V2ZW50X3Rhc2spOworCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGlwb2liX2Rldl9wcml2LCBmbHVzaF9ub3JtYWwpOwogCi0JaXBvaWJfZGJnKHByaXYsICJGbHVzaGluZyAlcyBhbmQgcmVzdGFydGluZyBpdHMgUVBcbiIsIHByaXYtPmRldi0+bmFtZSk7Ci0JX19pcG9pYl9pYl9kZXZfZmx1c2gocHJpdiwgMSk7CisJX19pcG9pYl9pYl9kZXZfZmx1c2gocHJpdiwgSVBPSUJfRkxVU0hfTk9STUFMKTsKK30KKwordm9pZCBpcG9pYl9pYl9kZXZfZmx1c2hfaGVhdnkoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9CisJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYsIGZsdXNoX2hlYXZ5KTsKKworCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIElQT0lCX0ZMVVNIX0hFQVZZKTsKIH0KIAogdm9pZCBpcG9pYl9pYl9kZXZfY2xlYW51cChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tYWluLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX21haW4uYwppbmRleCAyNDQyMDkwLi44YmU5ZWEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX21haW4uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX21haW4uYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXBvaWJfbWFpbi5jIDEzNzcgMjAwNC0xMi0yMyAxOTo1NzoxMlogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSAiaXBvaWIuaCIKQEAgLTYyLDYgKzYwLDE1IEBACiBtb2R1bGVfcGFyYW1fbmFtZWQocmVjdl9xdWV1ZV9zaXplLCBpcG9pYl9yZWN2cV9zaXplLCBpbnQsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhyZWN2X3F1ZXVlX3NpemUsICJOdW1iZXIgb2YgZGVzY3JpcHRvcnMgaW4gcmVjZWl2ZSBxdWV1ZSIpOwogCitzdGF0aWMgaW50IGxybzsKK21vZHVsZV9wYXJhbShscm8sIGJvb2wsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhscm8sICAiRW5hYmxlIExSTyAoTGFyZ2UgUmVjZWl2ZSBPZmZsb2FkKSIpOworCitzdGF0aWMgaW50IGxyb19tYXhfYWdnciA9IElQT0lCX0xST19NQVhfQUdHUjsKK21vZHVsZV9wYXJhbShscm9fbWF4X2FnZ3IsIGludCwgMDY0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGxyb19tYXhfYWdnciwgIkxSTzogTWF4IHBhY2tldHMgdG8gYmUgYWdncmVnYXRlZCAiCisJCSIoZGVmYXVsdCA9IDY0KSIpOworCiAjaWZkZWYgQ09ORklHX0lORklOSUJBTkRfSVBPSUJfREVCVUcKIGludCBpcG9pYl9kZWJ1Z19sZXZlbDsKIApAQCAtMzUwLDYgKzM1NywyMyBAQAogCiAjZW5kaWYgLyogQ09ORklHX0lORklOSUJBTkRfSVBPSUJfREVCVUcgKi8KIAordm9pZCBpcG9pYl9tYXJrX3BhdGhzX2ludmFsaWQoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOworCXN0cnVjdCBpcG9pYl9wYXRoICpwYXRoLCAqdHA7CisKKwlzcGluX2xvY2tfaXJxKCZwcml2LT5sb2NrKTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwYXRoLCB0cCwgJnByaXYtPnBhdGhfbGlzdCwgbGlzdCkgeworCQlpcG9pYl9kYmcocHJpdiwgIm1hcmsgcGF0aCBMSUQgMHglMDR4IEdJRCAiIElQT0lCX0dJRF9GTVQgIiBpbnZhbGlkXG4iLAorCQkJYmUxNl90b19jcHUocGF0aC0+cGF0aHJlYy5kbGlkKSwKKwkJCUlQT0lCX0dJRF9BUkcocGF0aC0+cGF0aHJlYy5kZ2lkKSk7CisJCXBhdGgtPnZhbGlkID0gIDA7CisJfQorCisJc3Bpbl91bmxvY2tfaXJxKCZwcml2LT5sb2NrKTsKK30KKwogdm9pZCBpcG9pYl9mbHVzaF9wYXRocyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CkBAIC0zODYsNiArNDEwLDcgQEAKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gcGF0aC0+ZGV2OwogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CiAJc3RydWN0IGlwb2liX2FoICphaCA9IE5VTEw7CisJc3RydWN0IGlwb2liX2FoICpvbGRfYWg7CiAJc3RydWN0IGlwb2liX25laWdoICpuZWlnaCwgKnRuOwogCXN0cnVjdCBza19idWZmX2hlYWQgc2txdWV1ZTsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwpAQCAtNDA5LDYgKzQzNCw3IEBACiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+bG9jaywgZmxhZ3MpOwogCisJb2xkX2FoICAgPSBwYXRoLT5haDsKIAlwYXRoLT5haCA9IGFoOwogCiAJaWYgKGFoKSB7CkBAIC00MjEsNiArNDQ3LDE3IEBACiAJCQlfX3NrYl9xdWV1ZV90YWlsKCZza3F1ZXVlLCBza2IpOwogCiAJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShuZWlnaCwgdG4sICZwYXRoLT5uZWlnaF9saXN0LCBsaXN0KSB7CisJCQlpZiAobmVpZ2gtPmFoKSB7CisJCQkJV0FSTl9PTihuZWlnaC0+YWggIT0gb2xkX2FoKTsKKwkJCQkvKgorCQkJCSAqIERyb3BwaW5nIHRoZSBhaCByZWZlcmVuY2UgaW5zaWRlCisJCQkJICogcHJpdi0+bG9jayBpcyBzYWZlIGhlcmUsIGJlY2F1c2Ugd2UKKwkJCQkgKiB3aWxsIGhvbGQgb25lIG1vcmUgcmVmZXJlbmNlIGZyb20KKwkJCQkgKiB0aGUgb3JpZ2luYWwgdmFsdWUgb2YgcGF0aC0+YWggKGllCisJCQkJICogb2xkX2FoKS4KKwkJCQkgKi8KKwkJCQlpcG9pYl9wdXRfYWgobmVpZ2gtPmFoKTsKKwkJCX0KIAkJCWtyZWZfZ2V0KCZwYXRoLT5haC0+cmVmKTsKIAkJCW5laWdoLT5haCA9IHBhdGgtPmFoOwogCQkJbWVtY3B5KCZuZWlnaC0+ZGdpZC5yYXcsICZwYXRoLT5wYXRocmVjLmRnaWQucmF3LApAQCAtNDQzLDYgKzQ4MCw3IEBACiAJCQl3aGlsZSAoKHNrYiA9IF9fc2tiX2RlcXVldWUoJm5laWdoLT5xdWV1ZSkpKQogCQkJCV9fc2tiX3F1ZXVlX3RhaWwoJnNrcXVldWUsIHNrYik7CiAJCX0KKwkJcGF0aC0+dmFsaWQgPSAxOwogCX0KIAogCXBhdGgtPnF1ZXJ5ID0gTlVMTDsKQEAgLTQ1MCw2ICs0ODgsOSBAQAogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+bG9jaywgZmxhZ3MpOwogCisJaWYgKG9sZF9haCkKKwkJaXBvaWJfcHV0X2FoKG9sZF9haCk7CisKIAl3aGlsZSAoKHNrYiA9IF9fc2tiX2RlcXVldWUoJnNrcXVldWUpKSkgewogCQlza2ItPmRldiA9IGRldjsKIAkJaWYgKGRldl9xdWV1ZV94bWl0KHNrYikpCkBAIC02MjMsOCArNjY0LDkgQEAKIAlzcGluX2xvY2soJnByaXYtPmxvY2spOwogCiAJcGF0aCA9IF9fcGF0aF9maW5kKGRldiwgcGhkci0+aHdhZGRyICsgNCk7Ci0JaWYgKCFwYXRoKSB7Ci0JCXBhdGggPSBwYXRoX3JlY19jcmVhdGUoZGV2LCBwaGRyLT5od2FkZHIgKyA0KTsKKwlpZiAoIXBhdGggfHwgIXBhdGgtPnZhbGlkKSB7CisJCWlmICghcGF0aCkKKwkJCXBhdGggPSBwYXRoX3JlY19jcmVhdGUoZGV2LCBwaGRyLT5od2FkZHIgKyA0KTsKIAkJaWYgKHBhdGgpIHsKIAkJCS8qIHB1dCBwc2V1ZG9oZWFkZXIgYmFjayBvbiBmb3IgbmV4dCB0aW1lICovCiAJCQlza2JfcHVzaChza2IsIHNpemVvZiAqcGhkcik7CkBAIC05MzgsNiArOTgwLDU0IEBACiAJLmNyZWF0ZQk9IGlwb2liX2hhcmRfaGVhZGVyLAogfTsKIAorc3RhdGljIGludCBnZXRfc2tiX2hkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB2b2lkICoqaXBoZHIsCisJCSAgICAgICB2b2lkICoqdGNwaCwgdTY0ICpoZHJfZmxhZ3MsIHZvaWQgKnByaXYpCit7CisJdW5zaWduZWQgaW50IGlwX2xlbjsKKwlzdHJ1Y3QgaXBoZHIgKmlwaDsKKworCWlmICh1bmxpa2VseShza2ItPnByb3RvY29sICE9IGh0b25zKEVUSF9QX0lQKSkpCisJCXJldHVybiAtMTsKKworCS8qCisJICogSW4gdGhlIGZ1dHVyZSB3ZSBtYXkgYWRkIGFuIGVsc2UgY2xhdXNlIHRoYXQgdmVyaWZpZXMgdGhlCisJICogY2hlY2tzdW0gYW5kIGFsbG93cyBkZXZpY2VzIHdoaWNoIGRvIG5vdCBjYWxjdWxhdGUgY2hlY2tzdW0KKwkgKiB0byB1c2UgTFJPLgorCSAqLworCWlmICh1bmxpa2VseShza2ItPmlwX3N1bW1lZCAhPSBDSEVDS1NVTV9VTk5FQ0VTU0FSWSkpCisJCXJldHVybiAtMTsKKworCS8qIENoZWNrIGZvciBub24tVENQIHBhY2tldCAqLworCXNrYl9yZXNldF9uZXR3b3JrX2hlYWRlcihza2IpOworCWlwaCA9IGlwX2hkcihza2IpOworCWlmIChpcGgtPnByb3RvY29sICE9IElQUFJPVE9fVENQKQorCQlyZXR1cm4gLTE7CisKKwlpcF9sZW4gPSBpcF9oZHJsZW4oc2tiKTsKKwlza2Jfc2V0X3RyYW5zcG9ydF9oZWFkZXIoc2tiLCBpcF9sZW4pOworCSp0Y3BoID0gdGNwX2hkcihza2IpOworCisJLyogY2hlY2sgaWYgSVAgaGVhZGVyIGFuZCBUQ1AgaGVhZGVyIGFyZSBjb21wbGV0ZSAqLworCWlmIChudG9ocyhpcGgtPnRvdF9sZW4pIDwgaXBfbGVuICsgdGNwX2hkcmxlbihza2IpKQorCQlyZXR1cm4gLTE7CisKKwkqaGRyX2ZsYWdzID0gTFJPX0lQVjQgfCBMUk9fVENQOworCSppcGhkciA9IGlwaDsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBpcG9pYl9scm9fc2V0dXAoc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2KQoreworCXByaXYtPmxyby5scm9fbWdyLm1heF9hZ2dyCSA9IGxyb19tYXhfYWdncjsKKwlwcml2LT5scm8ubHJvX21nci5tYXhfZGVzYwkgPSBJUE9JQl9NQVhfTFJPX0RFU0NSSVBUT1JTOworCXByaXYtPmxyby5scm9fbWdyLmxyb19hcnIJID0gcHJpdi0+bHJvLmxyb19kZXNjOworCXByaXYtPmxyby5scm9fbWdyLmdldF9za2JfaGVhZGVyID0gZ2V0X3NrYl9oZHI7CisJcHJpdi0+bHJvLmxyb19tZ3IuZmVhdHVyZXMJID0gTFJPX0ZfTkFQSTsKKwlwcml2LT5scm8ubHJvX21nci5kZXYJCSA9IHByaXYtPmRldjsKKwlwcml2LT5scm8ubHJvX21nci5pcF9zdW1tZWRfYWdnciA9IENIRUNLU1VNX1VOTkVDRVNTQVJZOworfQorCiBzdGF0aWMgdm9pZCBpcG9pYl9zZXR1cChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CkBAIC05NzcsMTAgKzEwNjcsMTEgQEAKIAogCXByaXYtPmRldiA9IGRldjsKIAorCWlwb2liX2xyb19zZXR1cChwcml2KTsKKwogCXNwaW5fbG9ja19pbml0KCZwcml2LT5sb2NrKTsKIAlzcGluX2xvY2tfaW5pdCgmcHJpdi0+dHhfbG9jayk7CiAKLQltdXRleF9pbml0KCZwcml2LT5tY2FzdF9tdXRleCk7CiAJbXV0ZXhfaW5pdCgmcHJpdi0+dmxhbl9tdXRleCk7CiAKIAlJTklUX0xJU1RfSEVBRCgmcHJpdi0+cGF0aF9saXN0KTsKQEAgLTk4OSw5ICsxMDgwLDEwIEBACiAJSU5JVF9MSVNUX0hFQUQoJnByaXYtPm11bHRpY2FzdF9saXN0KTsKIAogCUlOSVRfREVMQVlFRF9XT1JLKCZwcml2LT5wa2V5X3BvbGxfdGFzaywgaXBvaWJfcGtleV9wb2xsKTsKLQlJTklUX1dPUksoJnByaXYtPnBrZXlfZXZlbnRfdGFzaywgaXBvaWJfcGtleV9ldmVudCk7CiAJSU5JVF9ERUxBWUVEX1dPUksoJnByaXYtPm1jYXN0X3Rhc2ssICAgaXBvaWJfbWNhc3Rfam9pbl90YXNrKTsKLQlJTklUX1dPUksoJnByaXYtPmZsdXNoX3Rhc2ssICAgaXBvaWJfaWJfZGV2X2ZsdXNoKTsKKwlJTklUX1dPUksoJnByaXYtPmZsdXNoX2xpZ2h0LCAgIGlwb2liX2liX2Rldl9mbHVzaF9saWdodCk7CisJSU5JVF9XT1JLKCZwcml2LT5mbHVzaF9ub3JtYWwsICAgaXBvaWJfaWJfZGV2X2ZsdXNoX25vcm1hbCk7CisJSU5JVF9XT1JLKCZwcml2LT5mbHVzaF9oZWF2eSwgICBpcG9pYl9pYl9kZXZfZmx1c2hfaGVhdnkpOwogCUlOSVRfV09SSygmcHJpdi0+cmVzdGFydF90YXNrLCBpcG9pYl9tY2FzdF9yZXN0YXJ0X3Rhc2spOwogCUlOSVRfREVMQVlFRF9XT1JLKCZwcml2LT5haF9yZWFwX3Rhc2ssIGlwb2liX3JlYXBfYWgpOwogfQpAQCAtMTE1NCw2ICsxMjQ2LDkgQEAKIAkJcHJpdi0+ZGV2LT5mZWF0dXJlcyB8PSBORVRJRl9GX1NHIHwgTkVUSUZfRl9JUF9DU1VNOwogCX0KIAorCWlmIChscm8pCisJCXByaXYtPmRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9MUk87CisKIAkvKgogCSAqIFNldCB0aGUgZnVsbCBtZW1iZXJzaGlwIGJpdCwgc28gdGhhdCB3ZSBqb2luIHRoZSByaWdodAogCSAqIGJyb2FkY2FzdCBncm91cCwgZXRjLgpAQCAtMTMwNCw2ICsxMzk5LDEyIEBACiAJaXBvaWJfbWF4X2Nvbm5fcXAgPSBtaW4oaXBvaWJfbWF4X2Nvbm5fcXAsIElQT0lCX0NNX01BWF9DT05OX1FQKTsKICNlbmRpZgogCisJLyoKKwkgKiBXaGVuIGNvcHlpbmcgc21hbGwgcmVjZWl2ZWQgcGFja2V0cywgd2Ugb25seSBjb3B5IGZyb20gdGhlCisJICogbGluZWFyIGRhdGEgcGFydCBvZiB0aGUgU0tCLCBzbyB3ZSByZWx5IG9uIHRoaXMgY29uZGl0aW9uLgorCSAqLworCUJVSUxEX0JVR19PTihJUE9JQl9DTV9DT1BZQlJFQUsgPiBJUE9JQl9DTV9IRUFEX1NJWkUpOworCiAJcmV0ID0gaXBvaWJfcmVnaXN0ZXJfZGVidWdmcygpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tdWx0aWNhc3QuYwppbmRleCAzZjY2M2ZiLi4xZmNjOWE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbXVsdGljYXN0LmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX211bHRpY2FzdC5jIDEzNjIgMjAwNC0xMi0xOCAxNTo1NjoyOVogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CkBAIC0xODgsNiArMTg2LDcgQEAKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBpcG9pYl9haCAqYWg7CiAJaW50IHJldDsKKwlpbnQgc2V0X3FrZXkgPSAwOwogCiAJbWNhc3QtPm1jbWVtYmVyID0gKm1jbWVtYmVyOwogCkBAIC0yMDIsNiArMjAxLDcgQEAKIAkJcHJpdi0+cWtleSA9IGJlMzJfdG9fY3B1KHByaXYtPmJyb2FkY2FzdC0+bWNtZW1iZXIucWtleSk7CiAJCXNwaW5fdW5sb2NrX2lycSgmcHJpdi0+bG9jayk7CiAJCXByaXYtPnR4X3dyLndyLnVkLnJlbW90ZV9xa2V5ID0gcHJpdi0+cWtleTsKKwkJc2V0X3FrZXkgPSAxOwogCX0KIAogCWlmICghdGVzdF9iaXQoSVBPSUJfTUNBU1RfRkxBR19TRU5ET05MWSwgJm1jYXN0LT5mbGFncykpIHsKQEAgLTIxNCw3ICsyMTQsNyBAQAogCQl9CiAKIAkJcmV0ID0gaXBvaWJfbWNhc3RfYXR0YWNoKGRldiwgYmUxNl90b19jcHUobWNhc3QtPm1jbWVtYmVyLm1saWQpLAotCQkJCQkgJm1jYXN0LT5tY21lbWJlci5tZ2lkKTsKKwkJCQkJICZtY2FzdC0+bWNtZW1iZXIubWdpZCwgc2V0X3FrZXkpOwogCQlpZiAocmV0IDwgMCkgewogCQkJaXBvaWJfd2Fybihwcml2LCAiY291bGRuJ3QgYXR0YWNoIFFQIHRvIG11bHRpY2FzdCBncm91cCAiCiAJCQkJICAgSVBPSUJfR0lEX0ZNVCAiXG4iLApAQCAtNTc1LDggKzU3NSwxMSBAQAogCiAJcHJpdi0+bWNhc3RfbXR1ID0gSVBPSUJfVURfTVRVKGliX210dV9lbnVtX3RvX2ludChwcml2LT5icm9hZGNhc3QtPm1jbWVtYmVyLm10dSkpOwogCi0JaWYgKCFpcG9pYl9jbV9hZG1pbl9lbmFibGVkKGRldikpCi0JCWRldi0+bXR1ID0gbWluKHByaXYtPm1jYXN0X210dSwgcHJpdi0+YWRtaW5fbXR1KTsKKwlpZiAoIWlwb2liX2NtX2FkbWluX2VuYWJsZWQoZGV2KSkgeworCQlydG5sX2xvY2soKTsKKwkJZGV2X3NldF9tdHUoZGV2LCBtaW4ocHJpdi0+bWNhc3RfbXR1LCBwcml2LT5hZG1pbl9tdHUpKTsKKwkJcnRubF91bmxvY2soKTsKKwl9CiAKIAlpcG9pYl9kYmdfbWNhc3QocHJpdiwgInN1Y2Nlc3NmdWxseSBqb2luZWQgYWxsIG11bHRpY2FzdCBncm91cHNcbiIpOwogCkBAIC01OTQsMTAgKzU5Nyw2IEBACiAJCXF1ZXVlX2RlbGF5ZWRfd29yayhpcG9pYl93b3JrcXVldWUsICZwcml2LT5tY2FzdF90YXNrLCAwKTsKIAltdXRleF91bmxvY2soJm1jYXN0X211dGV4KTsKIAotCXNwaW5fbG9ja19pcnEoJnByaXYtPmxvY2spOwotCXNldF9iaXQoSVBPSUJfTUNBU1RfU1RBUlRFRCwgJnByaXYtPmZsYWdzKTsKLQlzcGluX3VubG9ja19pcnEoJnByaXYtPmxvY2spOwotCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTYwNywxMCArNjA2LDYgQEAKIAogCWlwb2liX2RiZ19tY2FzdChwcml2LCAic3RvcHBpbmcgbXVsdGljYXN0IHRocmVhZFxuIik7CiAKLQlzcGluX2xvY2tfaXJxKCZwcml2LT5sb2NrKTsKLQljbGVhcl9iaXQoSVBPSUJfTUNBU1RfU1RBUlRFRCwgJnByaXYtPmZsYWdzKTsKLQlzcGluX3VubG9ja19pcnEoJnByaXYtPmxvY2spOwotCiAJbXV0ZXhfbG9jaygmbWNhc3RfbXV0ZXgpOwogCWNsZWFyX2JpdChJUE9JQl9NQ0FTVF9SVU4sICZwcml2LT5mbGFncyk7CiAJY2FuY2VsX2RlbGF5ZWRfd29yaygmcHJpdi0+bWNhc3RfdGFzayk7CkBAIC02MzUsMTAgKzYzMCwxMCBAQAogCQkJCUlQT0lCX0dJRF9BUkcobWNhc3QtPm1jbWVtYmVyLm1naWQpKTsKIAogCQkvKiBSZW1vdmUgb3Vyc2VsdmVzIGZyb20gdGhlIG11bHRpY2FzdCBncm91cCAqLwotCQlyZXQgPSBpcG9pYl9tY2FzdF9kZXRhY2goZGV2LCBiZTE2X3RvX2NwdShtY2FzdC0+bWNtZW1iZXIubWxpZCksCi0JCQkJCSAmbWNhc3QtPm1jbWVtYmVyLm1naWQpOworCQlyZXQgPSBpYl9kZXRhY2hfbWNhc3QocHJpdi0+cXAsICZtY2FzdC0+bWNtZW1iZXIubWdpZCwKKwkJCQkgICAgICBiZTE2X3RvX2NwdShtY2FzdC0+bWNtZW1iZXIubWxpZCkpOwogCQlpZiAocmV0KQotCQkJaXBvaWJfd2Fybihwcml2LCAiaXBvaWJfbWNhc3RfZGV0YWNoIGZhaWxlZCAocmVzdWx0ID0gJWQpXG4iLCByZXQpOworCQkJaXBvaWJfd2Fybihwcml2LCAiaWJfZGV0YWNoX21jYXN0IGZhaWxlZCAocmVzdWx0ID0gJWQpXG4iLCByZXQpOwogCX0KIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92ZXJicy5jCmluZGV4IDg3NjZkMjkuLjY4MzI1MTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZlcmJzLmMKQEAgLTI5LDI0ICsyOSwxNyBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXBvaWJfdmVyYnMuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgImlwb2liLmgiCiAKLWludCBpcG9pYl9tY2FzdF9hdHRhY2goc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IG1saWQsIHVuaW9uIGliX2dpZCAqbWdpZCkKK2ludCBpcG9pYl9tY2FzdF9hdHRhY2goc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IG1saWQsIHVuaW9uIGliX2dpZCAqbWdpZCwgaW50IHNldF9xa2V5KQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7Ci0Jc3RydWN0IGliX3FwX2F0dHIgKnFwX2F0dHI7CisJc3RydWN0IGliX3FwX2F0dHIgKnFwX2F0dHIgPSBOVUxMOwogCWludCByZXQ7CiAJdTE2IHBrZXlfaW5kZXg7CiAKLQlyZXQgPSAtRU5PTUVNOwotCXFwX2F0dHIgPSBrbWFsbG9jKHNpemVvZiAqcXBfYXR0ciwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFxcF9hdHRyKQotCQlnb3RvIG91dDsKLQogCWlmIChpYl9maW5kX3BrZXkocHJpdi0+Y2EsIHByaXYtPnBvcnQsIHByaXYtPnBrZXksICZwa2V5X2luZGV4KSkgewogCQljbGVhcl9iaXQoSVBPSUJfUEtFWV9BU1NJR05FRCwgJnByaXYtPmZsYWdzKTsKIAkJcmV0ID0gLUVOWElPOwpAQCAtNTQsMTggKzQ3LDIzIEBACiAJfQogCXNldF9iaXQoSVBPSUJfUEtFWV9BU1NJR05FRCwgJnByaXYtPmZsYWdzKTsKIAotCS8qIHNldCBjb3JyZWN0IFFLZXkgZm9yIFFQICovCi0JcXBfYXR0ci0+cWtleSA9IHByaXYtPnFrZXk7Ci0JcmV0ID0gaWJfbW9kaWZ5X3FwKHByaXYtPnFwLCBxcF9hdHRyLCBJQl9RUF9RS0VZKTsKLQlpZiAocmV0KSB7Ci0JCWlwb2liX3dhcm4ocHJpdiwgImZhaWxlZCB0byBtb2RpZnkgUVAsIHJldCA9ICVkXG4iLCByZXQpOwotCQlnb3RvIG91dDsKKwlpZiAoc2V0X3FrZXkpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJcXBfYXR0ciA9IGttYWxsb2Moc2l6ZW9mICpxcF9hdHRyLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFxcF9hdHRyKQorCQkJZ290byBvdXQ7CisKKwkJLyogc2V0IGNvcnJlY3QgUUtleSBmb3IgUVAgKi8KKwkJcXBfYXR0ci0+cWtleSA9IHByaXYtPnFrZXk7CisJCXJldCA9IGliX21vZGlmeV9xcChwcml2LT5xcCwgcXBfYXR0ciwgSUJfUVBfUUtFWSk7CisJCWlmIChyZXQpIHsKKwkJCWlwb2liX3dhcm4ocHJpdiwgImZhaWxlZCB0byBtb2RpZnkgUVAsIHJldCA9ICVkXG4iLCByZXQpOworCQkJZ290byBvdXQ7CisJCX0KIAl9CiAKIAkvKiBhdHRhY2ggUVAgdG8gbXVsdGljYXN0IGdyb3VwICovCi0JbXV0ZXhfbG9jaygmcHJpdi0+bWNhc3RfbXV0ZXgpOwogCXJldCA9IGliX2F0dGFjaF9tY2FzdChwcml2LT5xcCwgbWdpZCwgbWxpZCk7Ci0JbXV0ZXhfdW5sb2NrKCZwcml2LT5tY2FzdF9tdXRleCk7CiAJaWYgKHJldCkKIAkJaXBvaWJfd2Fybihwcml2LCAiZmFpbGVkIHRvIGF0dGFjaCB0byBtdWx0aWNhc3QgZ3JvdXAsIHJldCA9ICVkXG4iLCByZXQpOwogCkBAIC03NCwyMCArNzIsNiBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBpcG9pYl9tY2FzdF9kZXRhY2goc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IG1saWQsIHVuaW9uIGliX2dpZCAqbWdpZCkKLXsKLQlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwotCWludCByZXQ7Ci0KLQltdXRleF9sb2NrKCZwcml2LT5tY2FzdF9tdXRleCk7Ci0JcmV0ID0gaWJfZGV0YWNoX21jYXN0KHByaXYtPnFwLCBtZ2lkLCBtbGlkKTsKLQltdXRleF91bmxvY2soJnByaXYtPm1jYXN0X211dGV4KTsKLQlpZiAocmV0KQotCQlpcG9pYl93YXJuKHByaXYsICJpYl9kZXRhY2hfbWNhc3QgZmFpbGVkIChyZXN1bHQgPSAlZClcbiIsIHJldCk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCiBpbnQgaXBvaWJfaW5pdF9xcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CkBAIC0yMDEsNyArMTg1LDEwIEBACiAJaW5pdF9hdHRyLnJlY3ZfY3EgPSBwcml2LT5yZWN2X2NxOwogCiAJaWYgKHByaXYtPmhjYV9jYXBzICYgSUJfREVWSUNFX1VEX1RTTykKLQkJaW5pdF9hdHRyLmNyZWF0ZV9mbGFncyA9IElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU087CisJCWluaXRfYXR0ci5jcmVhdGVfZmxhZ3MgfD0gSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTzsKKworCWlmIChwcml2LT5oY2FfY2FwcyAmIElCX0RFVklDRV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0spCisJCWluaXRfYXR0ci5jcmVhdGVfZmxhZ3MgfD0gSUJfUVBfQ1JFQVRFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSzsKIAogCWlmIChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9TRykKIAkJaW5pdF9hdHRyLmNhcC5tYXhfc2VuZF9zZ2UgPSBNQVhfU0tCX0ZSQUdTICsgMTsKQEAgLTI4OSwxNSArMjc2LDE3IEBACiAJaWYgKHJlY29yZC0+ZWxlbWVudC5wb3J0X251bSAhPSBwcml2LT5wb3J0KQogCQlyZXR1cm47CiAKLQlpZiAocmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9QT1JUX0VSUiAgICB8fAotCSAgICByZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1BPUlRfQUNUSVZFIHx8Ci0JICAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfTElEX0NIQU5HRSAgfHwKLQkgICAgcmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9TTV9DSEFOR0UgICB8fAorCWlwb2liX2RiZyhwcml2LCAiRXZlbnQgJWQgb24gZGV2aWNlICVzIHBvcnQgJWRcbiIsIHJlY29yZC0+ZXZlbnQsCisJCSAgcmVjb3JkLT5kZXZpY2UtPm5hbWUsIHJlY29yZC0+ZWxlbWVudC5wb3J0X251bSk7CisKKwlpZiAocmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9TTV9DSEFOR0UgfHwKIAkgICAgcmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9DTElFTlRfUkVSRUdJU1RFUikgewotCQlpcG9pYl9kYmcocHJpdiwgIlBvcnQgc3RhdGUgY2hhbmdlIGV2ZW50XG4iKTsKLQkJcXVldWVfd29yayhpcG9pYl93b3JrcXVldWUsICZwcml2LT5mbHVzaF90YXNrKTsKKwkJcXVldWVfd29yayhpcG9pYl93b3JrcXVldWUsICZwcml2LT5mbHVzaF9saWdodCk7CisJfSBlbHNlIGlmIChyZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1BPUlRfRVJSIHx8CisJCSAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfUE9SVF9BQ1RJVkUgfHwKKwkJICAgcmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9MSURfQ0hBTkdFKSB7CisJCXF1ZXVlX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+Zmx1c2hfbm9ybWFsKTsKIAl9IGVsc2UgaWYgKHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfUEtFWV9DSEFOR0UpIHsKLQkJaXBvaWJfZGJnKHByaXYsICJQX0tleSBjaGFuZ2UgZXZlbnQgb24gcG9ydDolZFxuIiwgcHJpdi0+cG9ydCk7Ci0JCXF1ZXVlX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+cGtleV9ldmVudF90YXNrKTsKKwkJcXVldWVfd29yayhpcG9pYl93b3JrcXVldWUsICZwcml2LT5mbHVzaF9oZWF2eSk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92bGFuLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZsYW4uYwppbmRleCAxY2RiNWNmLi5iMDhlYjU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZsYW4uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZsYW4uYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXBvaWJfdmxhbi5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuYwppbmRleCBhZWI1OGNhLi4zNTZmYWM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmMKQEAgLTQyLDkgKzQyLDYgQEAKICAqCVpoZW55dSBXYW5nCiAgKiBNb2RpZmllZCBieToKICAqICAgICAgRXJleiBaaWxiZXIKLSAqCi0gKgotICogJElkOiBpc2NzaV9pc2VyLmMgNjk2NSAyMDA2LTA1LTA3IDExOjM2OjIwWiBvZ2VybGl0eiAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5oIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuaAppbmRleCBhOGMxYjMwLi4wZTEwNzAzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmgKQEAgLTM2LDggKzM2LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlzY3NpX2lzZXIuaCA3MDUxIDIwMDYtMDUtMTAgMTI6Mjk6MTFaIG9nZXJsaXR6ICQKICAqLwogI2lmbmRlZiBfX0lTQ1NJX0lTRVJfSF9fCiAjZGVmaW5lIF9fSVNDU0lfSVNFUl9IX18KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX2luaXRpYXRvci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfaW5pdGlhdG9yLmMKaW5kZXggMDhkYzgxYy4uMzFhZDQ5OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfaW5pdGlhdG9yLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfaW5pdGlhdG9yLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlzZXJfaW5pdGlhdG9yLmMgNjk2NCAyMDA2LTA1LTA3IDExOjExOjQzWiBvZ2VybGl0eiAkCiAgKi8KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9tZW1vcnkuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX21lbW9yeS5jCmluZGV4IGNhYzUwYzQuLjgxZTQ5Y2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX21lbW9yeS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX21lbW9yeS5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpc2VyX21lbW9yeS5jIDY5NjQgMjAwNi0wNS0wNyAxMToxMTo0M1ogb2dlcmxpdHogJAogICovCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfdmVyYnMuYwppbmRleCBkMTljZmU2Li43N2NhYmVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl92ZXJicy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX3ZlcmJzLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlzZXJfdmVyYnMuYyA3MDUxIDIwMDYtMDUtMTAgMTI6Mjk6MTFaIG9nZXJsaXR6ICQKICAqLwogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuYwppbmRleCA0MzUxNDU3Li5lZDdjNWY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfc3JwLmMgMzkzMiAyMDA1LTExLTAxIDE3OjE5OjI5WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTQ5LDggKzQ3LDYgQEAKICNpbmNsdWRlIDxzY3NpL3NycC5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaV90cmFuc3BvcnRfc3JwLmg+CiAKLSNpbmNsdWRlIDxyZG1hL2liX2NhY2hlLmg+Ci0KICNpbmNsdWRlICJpYl9zcnAuaCIKIAogI2RlZmluZSBEUlZfTkFNRQkiaWJfc3JwIgpAQCAtMTgzLDEwICsxNzksMTAgQEAKIAlpZiAoIWF0dHIpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JcmV0ID0gaWJfZmluZF9jYWNoZWRfcGtleSh0YXJnZXQtPnNycF9ob3N0LT5zcnBfZGV2LT5kZXYsCi0JCQkJICB0YXJnZXQtPnNycF9ob3N0LT5wb3J0LAotCQkJCSAgYmUxNl90b19jcHUodGFyZ2V0LT5wYXRoLnBrZXkpLAotCQkJCSAgJmF0dHItPnBrZXlfaW5kZXgpOworCXJldCA9IGliX2ZpbmRfcGtleSh0YXJnZXQtPnNycF9ob3N0LT5zcnBfZGV2LT5kZXYsCisJCQkgICB0YXJnZXQtPnNycF9ob3N0LT5wb3J0LAorCQkJICAgYmUxNl90b19jcHUodGFyZ2V0LT5wYXRoLnBrZXkpLAorCQkJICAgJmF0dHItPnBrZXlfaW5kZXgpOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0OwogCkBAIC0xODgzLDggKzE4NzksNyBAQAogCWlmIChyZXQpCiAJCWdvdG8gZXJyOwogCi0JaWJfZ2V0X2NhY2hlZF9naWQoaG9zdC0+c3JwX2Rldi0+ZGV2LCBob3N0LT5wb3J0LCAwLAotCQkJICAmdGFyZ2V0LT5wYXRoLnNnaWQpOworCWliX3F1ZXJ5X2dpZChob3N0LT5zcnBfZGV2LT5kZXYsIGhvc3QtPnBvcnQsIDAsICZ0YXJnZXQtPnBhdGguc2dpZCk7CiAKIAlzaG9zdF9wcmludGsoS0VSTl9ERUJVRywgdGFyZ2V0LT5zY3NpX2hvc3QsIFBGWAogCQkgICAgICJuZXcgdGFyZ2V0OiBpZF9leHQgJTAxNmxseCBpb2NfZ3VpZCAlMDE2bGx4IHBrZXkgJTA0eCAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5oCmluZGV4IDYzZDJhZTcuLmUxODViOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5oCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9zcnAuaCAzOTMyIDIwMDUtMTEtMDEgMTc6MTk6MjlaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBJQl9TUlBfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9pbnB1dC5jIGIvZHJpdmVycy9pbnB1dC9pbnB1dC5jCmluZGV4IDI3MDA2ZmMuLjQwOGRmMGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvaW5wdXQuYworKysgYi9kcml2ZXJzL2lucHV0L2lucHV0LmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogTU9EVUxFX0FVVEhPUigiVm9qdGVjaCBQYXZsaWsgPHZvanRlY2hAc3VzZS5jej4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiSW5wdXQgY29yZSIpOwpAQCAtMTU4OCwxMyArMTU4OSwxNyBAQAogCiBzdGF0aWMgaW50IGlucHV0X29wZW5fZmlsZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlzdHJ1Y3QgaW5wdXRfaGFuZGxlciAqaGFuZGxlciA9IGlucHV0X3RhYmxlW2ltaW5vcihpbm9kZSkgPj4gNV07CisJc3RydWN0IGlucHV0X2hhbmRsZXIgKmhhbmRsZXI7CiAJY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqb2xkX2ZvcHMsICpuZXdfZm9wcyA9IE5VTEw7CiAJaW50IGVycjsKIAorCWxvY2tfa2VybmVsKCk7CiAJLyogTm8gbG9hZC1vbi1kZW1hbmQgaGVyZT8gKi8KLQlpZiAoIWhhbmRsZXIgfHwgIShuZXdfZm9wcyA9IGZvcHNfZ2V0KGhhbmRsZXItPmZvcHMpKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaGFuZGxlciA9IGlucHV0X3RhYmxlW2ltaW5vcihpbm9kZSkgPj4gNV07CisJaWYgKCFoYW5kbGVyIHx8ICEobmV3X2ZvcHMgPSBmb3BzX2dldChoYW5kbGVyLT5mb3BzKSkpIHsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCiAJLyoKIAkgKiBUaGF0J3MgX3JlYWxseV8gb2RkLiBVc3VhbGx5IE5VTEwgLT5vcGVuIG1lYW5zICJub3RoaW5nIHNwZWNpYWwiLApAQCAtMTYwMiw3ICsxNjA3LDggQEAKIAkgKi8KIAlpZiAoIW5ld19mb3BzLT5vcGVuKSB7CiAJCWZvcHNfcHV0KG5ld19mb3BzKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAlvbGRfZm9wcyA9IGZpbGUtPmZfb3A7CiAJZmlsZS0+Zl9vcCA9IG5ld19mb3BzOwpAQCAtMTYxNCw2ICsxNjIwLDggQEAKIAkJZmlsZS0+Zl9vcCA9IGZvcHNfZ2V0KG9sZF9mb3BzKTsKIAl9CiAJZm9wc19wdXQob2xkX2ZvcHMpOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L21pc2MvaHBfc2RjX3J0Yy5jIGIvZHJpdmVycy9pbnB1dC9taXNjL2hwX3NkY19ydGMuYwppbmRleCA0NWU1ZDA1Li40OWQ4YWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L21pc2MvaHBfc2RjX3J0Yy5jCisrKyBiL2RyaXZlcnMvaW5wdXQvbWlzYy9ocF9zZGNfcnRjLmMKQEAgLTM1LDYgKzM1LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2hwX3NkYy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTQwOCw2ICs0MDksNyBAQAogCiBzdGF0aWMgaW50IGhwX3NkY19ydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogICAgICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9taXNjL3VpbnB1dC5jIGIvZHJpdmVycy9pbnB1dC9taXNjL3VpbnB1dC5jCmluZGV4IGE1NmFkNGIuLjJiY2ZhMGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvbWlzYy91aW5wdXQuYworKysgYi9kcml2ZXJzL2lucHV0L21pc2MvdWlucHV0LmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC91aW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiBzdGF0aWMgaW50IHVpbnB1dF9kZXZfZXZlbnQoc3RydWN0IGlucHV0X2RldiAqZGV2LCB1bnNpZ25lZCBpbnQgdHlwZSwgdW5zaWduZWQgaW50IGNvZGUsIGludCB2YWx1ZSkKIHsKQEAgLTIyMiw2ICsyMjMsNyBAQAogCWlmICghbmV3ZGV2KQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfaW5pdCgmbmV3ZGV2LT5tdXRleCk7CiAJc3Bpbl9sb2NrX2luaXQoJm5ld2Rldi0+cmVxdWVzdHNfbG9jayk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmbmV3ZGV2LT5yZXF1ZXN0c193YWl0cSk7CkBAIC0yMjksNiArMjMxLDcgQEAKIAluZXdkZXYtPnN0YXRlID0gVUlTVF9ORVdfREVWSUNFOwogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gbmV3ZGV2OworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9tb3VzZWRldi5jIGIvZHJpdmVycy9pbnB1dC9tb3VzZWRldi5jCmluZGV4IGI5ODk3NDguLjgxMzdlNTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvbW91c2VkZXYuYworKysgYi9kcml2ZXJzL2lucHV0L21vdXNlZGV2LmMKQEAgLTE0LDYgKzE0LDcgQEAKICNkZWZpbmUgTU9VU0VERVZfTUlYCQkzMQogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTU0NSwxNiArNTQ2LDIxIEBACiAJaWYgKGkgPj0gTU9VU0VERVZfTUlOT1JTKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWxvY2tfa2VybmVsKCk7CiAJZXJyb3IgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJm1vdXNlZGV2X3RhYmxlX211dGV4KTsKLQlpZiAoZXJyb3IpCisJaWYgKGVycm9yKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIGVycm9yOworCX0KIAltb3VzZWRldiA9IG1vdXNlZGV2X3RhYmxlW2ldOwogCWlmIChtb3VzZWRldikKIAkJZ2V0X2RldmljZSgmbW91c2VkZXYtPmRldik7CiAJbXV0ZXhfdW5sb2NrKCZtb3VzZWRldl90YWJsZV9tdXRleCk7CiAKLQlpZiAoIW1vdXNlZGV2KQorCWlmICghbW91c2VkZXYpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKIAljbGllbnQgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgbW91c2VkZXZfY2xpZW50KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFjbGllbnQpIHsKQEAgLTU3Myw2ICs1NzksNyBAQAogCQlnb3RvIGVycl9mcmVlX2NsaWVudDsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNsaWVudDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKICBlcnJfZnJlZV9jbGllbnQ6CkBAIC01ODAsNiArNTg3LDcgQEAKIAlrZnJlZShjbGllbnQpOwogIGVycl9wdXRfbW91c2VkZXY6CiAJcHV0X2RldmljZSgmbW91c2VkZXYtPmRldik7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnJvcjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9zZXJpby9zZXJpb19yYXcuYyBiL2RyaXZlcnMvaW5wdXQvc2VyaW8vc2VyaW9fcmF3LmMKaW5kZXggMDQwMzYyMi4uYzkzOTdjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC9zZXJpby9zZXJpb19yYXcuYworKysgYi9kcml2ZXJzL2lucHV0L3NlcmlvL3NlcmlvX3Jhdy5jCkBAIC0xMCw2ICsxMCw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpby5oPgpAQCAtODEsOSArODIsMTAgQEAKIAlzdHJ1Y3Qgc2VyaW9fcmF3X2xpc3QgKmxpc3Q7CiAJaW50IHJldHZhbCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXJldHZhbCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmc2VyaW9fcmF3X211dGV4KTsKIAlpZiAocmV0dmFsKQotCQlyZXR1cm4gcmV0dmFsOworCQlnb3RvIG91dF9ia2w7CiAKIAlpZiAoIShzZXJpb19yYXcgPSBzZXJpb19yYXdfbG9jYXRlKGltaW5vcihpbm9kZSkpKSkgewogCQlyZXR2YWwgPSAtRU5PREVWOwpAQCAtMTA4LDYgKzExMCw4IEBACiAKIG91dDoKIAltdXRleF91bmxvY2soJnNlcmlvX3Jhd19tdXRleCk7CitvdXRfYmtsOgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L3hlbi1rYmRmcm9udC5jIGIvZHJpdmVycy9pbnB1dC94ZW4ta2JkZnJvbnQuYwppbmRleCAwZjQ3ZjQ2Li45Y2UzYjNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L3hlbi1rYmRmcm9udC5jCisrKyBiL2RyaXZlcnMvaW5wdXQveGVuLWtiZGZyb250LmMKQEAgLTY2LDYgKzY2LDkgQEAKIAkJY2FzZSBYRU5LQkRfVFlQRV9NT1RJT046CiAJCQlpbnB1dF9yZXBvcnRfcmVsKGRldiwgUkVMX1gsIGV2ZW50LT5tb3Rpb24ucmVsX3gpOwogCQkJaW5wdXRfcmVwb3J0X3JlbChkZXYsIFJFTF9ZLCBldmVudC0+bW90aW9uLnJlbF95KTsKKwkJCWlmIChldmVudC0+bW90aW9uLnJlbF96KQorCQkJCWlucHV0X3JlcG9ydF9yZWwoZGV2LCBSRUxfV0hFRUwsCisJCQkJCQkgLWV2ZW50LT5tb3Rpb24ucmVsX3opOwogCQkJYnJlYWs7CiAJCWNhc2UgWEVOS0JEX1RZUEVfS0VZOgogCQkJZGV2ID0gTlVMTDsKQEAgLTg0LDYgKzg3LDkgQEAKIAkJY2FzZSBYRU5LQkRfVFlQRV9QT1M6CiAJCQlpbnB1dF9yZXBvcnRfYWJzKGRldiwgQUJTX1gsIGV2ZW50LT5wb3MuYWJzX3gpOwogCQkJaW5wdXRfcmVwb3J0X2FicyhkZXYsIEFCU19ZLCBldmVudC0+cG9zLmFic195KTsKKwkJCWlmIChldmVudC0+cG9zLnJlbF96KQorCQkJCWlucHV0X3JlcG9ydF9yZWwoZGV2LCBSRUxfV0hFRUwsCisJCQkJCQkgLWV2ZW50LT5wb3MucmVsX3opOwogCQkJYnJlYWs7CiAJCX0KIAkJaWYgKGRldikKQEAgLTE1Miw3ICsxNTgsNyBAQAogCXB0ci0+ZXZiaXRbMF0gPSBCSVQoRVZfS0VZKSB8IEJJVChFVl9SRUwpIHwgQklUKEVWX0FCUyk7CiAJZm9yIChpID0gQlROX0xFRlQ7IGkgPD0gQlROX1RBU0s7IGkrKykKIAkJc2V0X2JpdChpLCBwdHItPmtleWJpdCk7Ci0JcHRyLT5yZWxiaXRbMF0gPSBCSVQoUkVMX1gpIHwgQklUKFJFTF9ZKTsKKwlwdHItPnJlbGJpdFswXSA9IEJJVChSRUxfWCkgfCBCSVQoUkVMX1kpIHwgQklUKFJFTF9XSEVFTCk7CiAJaW5wdXRfc2V0X2Fic19wYXJhbXMocHRyLCBBQlNfWCwgMCwgWEVORkJfV0lEVEgsIDAsIDApOwogCWlucHV0X3NldF9hYnNfcGFyYW1zKHB0ciwgQUJTX1ksIDAsIFhFTkZCX0hFSUdIVCwgMCwgMCk7CiAKQEAgLTI5NCw2ICszMDAsMTYgQEAKIAkJICovCiAJCWlmIChkZXYtPnN0YXRlICE9IFhlbmJ1c1N0YXRlQ29ubmVjdGVkKQogCQkJZ290byBJbml0V2FpdDsgLyogbm8gSW5pdFdhaXQgc2VlbiB5ZXQsIGZ1ZGdlIGl0ICovCisKKwkJLyogU2V0IGlucHV0IGFicyBwYXJhbXMgdG8gbWF0Y2ggYmFja2VuZCBzY3JlZW4gcmVzICovCisJCWlmICh4ZW5idXNfc2NhbmYoWEJUX05JTCwgaW5mby0+eGJkZXYtPm90aGVyZW5kLAorCQkJCSAid2lkdGgiLCAiJWQiLCAmdmFsKSA+IDApCisJCQlpbnB1dF9zZXRfYWJzX3BhcmFtcyhpbmZvLT5wdHIsIEFCU19YLCAwLCB2YWwsIDAsIDApOworCisJCWlmICh4ZW5idXNfc2NhbmYoWEJUX05JTCwgaW5mby0+eGJkZXYtPm90aGVyZW5kLAorCQkJCSAiaGVpZ2h0IiwgIiVkIiwgJnZhbCkgPiAwKQorCQkJaW5wdXRfc2V0X2Fic19wYXJhbXMoaW5mby0+cHRyLCBBQlNfWSwgMCwgdmFsLCAwLCAwKTsKKwogCQlicmVhazsKIAogCWNhc2UgWGVuYnVzU3RhdGVDbG9zaW5nOgpAQCAtMzM3LDQgKzM1Myw2IEBACiBtb2R1bGVfaW5pdCh4ZW5rYmRfaW5pdCk7CiBtb2R1bGVfZXhpdCh4ZW5rYmRfY2xlYW51cCk7CiAKK01PRFVMRV9ERVNDUklQVElPTigiWGVuIHZpcnR1YWwga2V5Ym9hcmQvcG9pbnRlciBkZXZpY2UgZnJvbnRlbmQiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9BTElBUygieGVuOnZrYmQiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYyBiL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYwppbmRleCA2Y2EwYmI5Li4yMDk1MTUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMKKysrIGIvZHJpdmVycy9pc2RuL2NhcGkvY2FwaS5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaWZkZWYgQ09ORklHX0lTRE5fQ0FQSV9NSURETEVXQVJFCkBAIC05ODMsMTMgKzk4NCwxNyBAQAogc3RhdGljIGludAogY2FwaV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWludCByZXQ7CisJCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoZmlsZS0+cHJpdmF0ZV9kYXRhKQotCQlyZXR1cm4gLUVFWElTVDsKLQotCWlmICgoZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2FwaWRldl9hbGxvYygpKSA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKKwkJcmV0ID0gLUVFWElTVDsKKwllbHNlIGlmICgoZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2FwaWRldl9hbGxvYygpKSA9PSBOVUxMKQorCQlyZXQgPSAtRU5PTUVNOworCWVsc2UKKwkJcmV0ID0gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhbW50LmMgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YW1udC5jCmluZGV4IGM5MDkyODkuLjFlODVmNzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhbW50LmMKKysrIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFtbnQuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiAjaW5jbHVkZSAicGxhdGZvcm0uaCIKQEAgLTEyNywxNCArMTI4LDE5IEBACiAKIHN0YXRpYyBpbnQgbWFpbnRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlubywgc3RydWN0IGZpbGUgKmZpbGVwKQogeworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOwogCS8qIG9ubHkgb25lIG9wZW4gaXMgYWxsb3dlZCwgc28gd2UgdGVzdAogCSAgIGl0IGF0b21pY2FsbHkgKi8KIAlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmb3BlbmVkKSkKLQkJcmV0dXJuICgtRUJVU1kpOwotCi0JZmlsZXAtPnByaXZhdGVfZGF0YSA9IE5VTEw7Ci0KLQlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm8sIGZpbGVwKTsKKwkJcmV0ID0gLUVCVVNZOworCWVsc2UgeworCQlmaWxlcC0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKKwkJcmV0ID0gbm9uc2Vla2FibGVfb3Blbihpbm8sIGZpbGVwKTsKKwl9CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgbWFpbnRfY2xvc2Uoc3RydWN0IGlub2RlICppbm8sIHN0cnVjdCBmaWxlICpmaWxlcCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc2kuYyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc2kuYwppbmRleCA3OGYxNDFlLi5mNDk2OWZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNpLmMKKysrIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzaS5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKICNpbmNsdWRlICJwbGF0Zm9ybS5oIgpAQCAtNDAwLDYgKzQwMSw3IEBACiAKIHN0YXRpYyBpbnQgdW1faWRpX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gKDApOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNtYWluLmMgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNtYWluLmMKaW5kZXggMTZhODc0Yi4uZmJiY2IyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzbWFpbi5jCisrKyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc21haW4uYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgva21vZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJwbGF0Zm9ybS5oIgogI3VuZGVmIElEX01BU0sKQEAgLTU4MCw2ICs1ODEsNyBAQAogICovCiBzdGF0aWMgaW50IGRpdmFzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gKDApOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMgYi9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMKaW5kZXggMGYzYzY2ZC4uNzE4OGM1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jCisrKyBiL2RyaXZlcnMvaXNkbi9pNGwvaXNkbl9jb21tb24uYwpAQCAtMTczMiw3ICsxNzMyLDcgQEAKIAlpbnQgY2hpZHg7CiAJaW50IHJldHZhbCA9IC1FTk9ERVY7CiAKLQorCWxvY2tfa2VybmVsKCk7CiAJaWYgKG1pbm9yID09IElTRE5fTUlOT1JfU1RBVFVTKSB7CiAJCWluZm9zdHJ1Y3QgKnA7CiAKQEAgLTE3ODMsNiArMTc4Myw3IEBACiAjZW5kaWYKICBvdXQ6CiAJbm9uc2Vla2FibGVfb3Blbihpbm8sIGZpbGVwKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KIApAQCAtMTk3Nyw4ICsxOTc4LDEwIEBACiAJaWYgKCFza2IpCiAJCXJldHVybiAtRU5PTUVNOwogCXNrYl9yZXNlcnZlKHNrYiwgaGwpOwotCWlmIChjb3B5X2Zyb21fdXNlcihza2JfcHV0KHNrYiwgbGVuKSwgYnVmLCBsZW4pKQorCWlmIChjb3B5X2Zyb21fdXNlcihza2JfcHV0KHNrYiwgbGVuKSwgYnVmLCBsZW4pKSB7CisJCWRldl9rZnJlZV9za2Ioc2tiKTsKIAkJcmV0dXJuIC1FRkFVTFQ7CisJfQogCXJldCA9IGRldi0+ZHJ2W2RydmlkeF0tPmludGVyZmFjZS0+d3JpdGVidWZfc2tiKGRydmlkeCwgY2hhbiwgMSwgc2tiKTsKIAlpZiAocmV0IDw9IDApCiAJCWRldl9rZnJlZV9za2Ioc2tiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGd1ZXN0L0tjb25maWcgYi9kcml2ZXJzL2xndWVzdC9LY29uZmlnCmluZGV4IDZiOGRiYjkuLjc2ZjJiMzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbGd1ZXN0L0tjb25maWcKKysrIGIvZHJpdmVycy9sZ3Vlc3QvS2NvbmZpZwpAQCAtMSw2ICsxLDYgQEAKIGNvbmZpZyBMR1VFU1QKIAl0cmlzdGF0ZSAiTGludXggaHlwZXJ2aXNvciBleGFtcGxlIGNvZGUiCi0JZGVwZW5kcyBvbiBYODZfMzIgJiYgRVhQRVJJTUVOVEFMICYmICFYODZfUEFFICYmIEZVVEVYICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWRlcGVuZHMgb24gWDg2XzMyICYmIEVYUEVSSU1FTlRBTCAmJiAhWDg2X1BBRSAmJiBGVVRFWCAmJiAhWDg2X1ZPWUFHRVIKIAlzZWxlY3QgSFZDX0RSSVZFUgogCS0tLWhlbHAtLS0KIAkgIFRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBtb2R1bGUgd2hpY2ggYWxsb3dzIHlvdSB0byBydW4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGd1ZXN0L2xnLmggYi9kcml2ZXJzL2xndWVzdC9sZy5oCmluZGV4IDAwNWJkMDQuLjVmYWVmZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbGd1ZXN0L2xnLmgKKysrIGIvZHJpdmVycy9sZ3Vlc3QvbGcuaApAQCAtMTM2LDcgKzEzNiw2IEBACiAgKiBmaXJzdCBzdGVwIGluIHRoZSBtaWdyYXRpb24gdG8gdGhlIGtlcm5lbCB0eXBlcy4gIHB0ZV9wZm4gaXMgYWxyZWFkeSBkZWZpbmVkCiAgKiBpbiB0aGUga2VybmVsLiAqLwogI2RlZmluZSBwZ2RfZmxhZ3MoeCkJKHBnZF92YWwoeCkgJiB+UEFHRV9NQVNLKQotI2RlZmluZSBwdGVfZmxhZ3MoeCkJKHB0ZV92YWwoeCkgJiB+UEFHRV9NQVNLKQogI2RlZmluZSBwZ2RfcGZuKHgpCShwZ2RfdmFsKHgpID4+IFBBR0VfU0hJRlQpCiAKIC8qIGludGVycnVwdHNfYW5kX3RyYXBzLmM6ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2xndWVzdC94ODYvY29yZS5jIGIvZHJpdmVycy9sZ3Vlc3QveDg2L2NvcmUuYwppbmRleCAyZTU1NGE0Li45NWRmZGE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2xndWVzdC94ODYvY29yZS5jCisrKyBiL2RyaXZlcnMvbGd1ZXN0L3g4Ni9jb3JlLmMKQEAgLTQ3OCw3ICs0NzgsNyBAQAogCQljcHVfaGFkX3BnZSA9IDE7CiAJCS8qIGFkanVzdF9wZ2UgaXMgYSBoZWxwZXIgZnVuY3Rpb24gd2hpY2ggc2V0cyBvciB1bnNldHMgdGhlIFBHRQogCQkgKiBiaXQgb24gaXRzIENQVSwgZGVwZW5kaW5nIG9uIHRoZSBhcmd1bWVudCAoMCA9PSB1bnNldCkuICovCi0JCW9uX2VhY2hfY3B1KGFkanVzdF9wZ2UsICh2b2lkICopMCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KGFkanVzdF9wZ2UsICh2b2lkICopMCwgMSk7CiAJCS8qIFR1cm4gb2ZmIHRoZSBmZWF0dXJlIGluIHRoZSBnbG9iYWwgZmVhdHVyZSBzZXQuICovCiAJCWNsZWFyX2JpdChYODZfRkVBVFVSRV9QR0UsIGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHkpOwogCX0KQEAgLTQ5Myw3ICs0OTMsNyBAQAogCWlmIChjcHVfaGFkX3BnZSkgewogCQlzZXRfYml0KFg4Nl9GRUFUVVJFX1BHRSwgYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eSk7CiAJCS8qIGFkanVzdF9wZ2UncyBhcmd1bWVudCAiMSIgbWVhbnMgc2V0IFBHRS4gKi8KLQkJb25fZWFjaF9jcHUoYWRqdXN0X3BnZSwgKHZvaWQgKikxLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoYWRqdXN0X3BnZSwgKHZvaWQgKikxLCAxKTsKIAl9CiAJcHV0X29ubGluZV9jcHVzKCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21hY2ludG9zaC9hZGIuYyBiL2RyaXZlcnMvbWFjaW50b3NoL2FkYi5jCmluZGV4IGRiYWFkMzkuLjQwYzcwYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWFjaW50b3NoL2FkYi5jCisrKyBiL2RyaXZlcnMvbWFjaW50b3NoL2FkYi5jCkBAIC02NDQsMTIgKzY0NCwxOCBAQAogc3RhdGljIGludCBhZGJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlzdHJ1Y3QgYWRiZGV2X3N0YXRlICpzdGF0ZTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmIChpbWlub3IoaW5vZGUpID4gMCB8fCBhZGJfY29udHJvbGxlciA9PSBOVUxMKQotCQlyZXR1cm4gLUVOWElPOworCWxvY2tfa2VybmVsKCk7CisJaWYgKGltaW5vcihpbm9kZSkgPiAwIHx8IGFkYl9jb250cm9sbGVyID09IE5VTEwpIHsKKwkJcmV0ID0gLUVOWElPOworCQlnb3RvIG91dDsKKwl9CiAJc3RhdGUgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgYWRiZGV2X3N0YXRlKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKHN0YXRlID09IDApCi0JCXJldHVybiAtRU5PTUVNOworCWlmIChzdGF0ZSA9PSAwKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBzdGF0ZTsKIAlzcGluX2xvY2tfaW5pdCgmc3RhdGUtPmxvY2spOwogCWF0b21pY19zZXQoJnN0YXRlLT5uX3BlbmRpbmcsIDApOwpAQCAtNjU3LDcgKzY2Myw5IEBACiAJaW5pdF93YWl0cXVldWVfaGVhZCgmc3RhdGUtPndhaXRfcXVldWUpOwogCXN0YXRlLT5pbnVzZSA9IDE7CiAKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBhZGJfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWFjaW50b3NoL2Fucy1sY2QuYyBiL2RyaXZlcnMvbWFjaW50b3NoL2Fucy1sY2QuYwppbmRleCA3M2M1MGJjLi42YTgyMjE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL21hY2ludG9zaC9hbnMtbGNkLmMKKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvYW5zLWxjZC5jCkBAIC0zLDYgKzMsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC0xMTksNiArMTIwLDcgQEAKIHN0YXRpYyBpbnQKIGFuc2xjZF9vcGVuKCBzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxlICkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21hY2ludG9zaC9zbXUuYyBiL2RyaXZlcnMvbWFjaW50b3NoL3NtdS5jCmluZGV4IGQ4NmQ1N2EuLjMyY2IwMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWFjaW50b3NoL3NtdS5jCisrKyBiL2RyaXZlcnMvbWFjaW50b3NoL3NtdS5jCkBAIC0xOSw2ICsxOSw3IEBACiAgKiAgICB0aGUgdXNlcmxhbmQgaW50ZXJmYWNlCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KQEAgLTEwODYsMTAgKzEwODcsMTIgQEAKIAlwcC0+bW9kZSA9IHNtdV9maWxlX2NvbW1hbmRzOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnBwLT53YWl0KTsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNtdV9jbGlzdF9sb2NrLCBmbGFncyk7CiAJbGlzdF9hZGQoJnBwLT5saXN0LCAmc211X2NsaXN0KTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzbXVfY2xpc3RfbG9jaywgZmxhZ3MpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHBwOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvdmlhLXBtdS5jIGIvZHJpdmVycy9tYWNpbnRvc2gvdmlhLXBtdS5jCmluZGV4IGQ2MzY1YTkuLmQ1MjRkYzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUuYworKysgYi9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11LmMKQEAgLTE4LDYgKzE4LDcgQEAKICAqCiAgKi8KICNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KQEAgLTIwNDcsNiArMjA0OCw3IEBACiAJcHAtPnJiX2dldCA9IHBwLT5yYl9wdXQgPSAwOwogCXNwaW5fbG9ja19pbml0KCZwcC0+bG9jayk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHAtPndhaXQpOworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmFsbF9wdnRfbG9jaywgZmxhZ3MpOwogI2lmIGRlZmluZWQoQ09ORklHX0lOUFVUX0FEQkhJRCkgJiYgZGVmaW5lZChDT05GSUdfUE1BQ19CQUNLTElHSFQpCiAJcHAtPmJhY2tsaWdodF9sb2NrZXIgPSAwOwpAQCAtMjA1NCw2ICsyMDU2LDcgQEAKIAlsaXN0X2FkZCgmcHAtPmxpc3QsICZhbGxfcG11X3B2dCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYWxsX3B2dF9sb2NrLCBmbGFncyk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcHA7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL2xpbmVhci5jIGIvZHJpdmVycy9tZC9saW5lYXIuYwppbmRleCAxMDc0ODI0Li42YTg2NmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL2xpbmVhci5jCisrKyBiL2RyaXZlcnMvbWQvbGluZWFyLmMKQEAgLTUwLDE3ICs1MCwxOSBAQAogLyoqCiAgKglsaW5lYXJfbWVyZ2VhYmxlX2J2ZWMgLS0gdGVsbCBiaW8gbGF5ZXIgaWYgdHdvIHJlcXVlc3RzIGNhbiBiZSBtZXJnZWQKICAqCUBxOiByZXF1ZXN0IHF1ZXVlCi0gKglAYmlvOiB0aGUgYnVmZmVyIGhlYWQgdGhhdCdzIGJlZW4gYnVpbHQgdXAgc28gZmFyCisgKglAYnZtOiBwcm9wZXJ0aWVzIG9mIG5ldyBiaW8KICAqCUBiaW92ZWM6IHRoZSByZXF1ZXN0IHRoYXQgY291bGQgYmUgbWVyZ2VkIHRvIGl0LgogICoKICAqCVJldHVybiBhbW91bnQgb2YgYnl0ZXMgd2UgY2FuIHRha2UgYXQgdGhpcyBvZmZzZXQKICAqLwotc3RhdGljIGludCBsaW5lYXJfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKK3N0YXRpYyBpbnQgbGluZWFyX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAorCQkJCSBzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICpidm0sCisJCQkJIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCiB7CiAJbWRkZXZfdCAqbWRkZXYgPSBxLT5xdWV1ZWRhdGE7CiAJZGV2X2luZm9fdCAqZGV2MDsKLQl1bnNpZ25lZCBsb25nIG1heHNlY3RvcnMsIGJpb19zZWN0b3JzID0gYmlvLT5iaV9zaXplID4+IDk7Ci0Jc2VjdG9yX3Qgc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChiaW8tPmJpX2JkZXYpOworCXVuc2lnbmVkIGxvbmcgbWF4c2VjdG9ycywgYmlvX3NlY3RvcnMgPSBidm0tPmJpX3NpemUgPj4gOTsKKwlzZWN0b3JfdCBzZWN0b3IgPSBidm0tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJ2bS0+YmlfYmRldik7CiAKIAlkZXYwID0gd2hpY2hfZGV2KG1kZGV2LCBzZWN0b3IpOwogCW1heHNlY3RvcnMgPSAoZGV2MC0+c2l6ZSA8PCAxKSAtIChzZWN0b3IgLSAoZGV2MC0+b2Zmc2V0PDwxKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL3JhaWQwLmMgYi9kcml2ZXJzL21kL3JhaWQwLmMKaW5kZXggOTE0YzA0ZC4uYmNiYjgyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZC9yYWlkMC5jCisrKyBiL2RyaXZlcnMvbWQvcmFpZDAuYwpAQCAtMjQxLDE4ICsyNDEsMjAgQEAKIC8qKgogICoJcmFpZDBfbWVyZ2VhYmxlX2J2ZWMgLS0gdGVsbCBiaW8gbGF5ZXIgaWYgYSB0d28gcmVxdWVzdHMgY2FuIGJlIG1lcmdlZAogICoJQHE6IHJlcXVlc3QgcXVldWUKLSAqCUBiaW86IHRoZSBidWZmZXIgaGVhZCB0aGF0J3MgYmVlbiBidWlsdCB1cCBzbyBmYXIKKyAqCUBidm06IHByb3BlcnRpZXMgb2YgbmV3IGJpbwogICoJQGJpb3ZlYzogdGhlIHJlcXVlc3QgdGhhdCBjb3VsZCBiZSBtZXJnZWQgdG8gaXQuCiAgKgogICoJUmV0dXJuIGFtb3VudCBvZiBieXRlcyB3ZSBjYW4gYWNjZXB0IGF0IHRoaXMgb2Zmc2V0CiAgKi8KLXN0YXRpYyBpbnQgcmFpZDBfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKK3N0YXRpYyBpbnQgcmFpZDBfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCisJCQkJc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSAqYnZtLAorCQkJCXN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCiB7CiAJbWRkZXZfdCAqbWRkZXYgPSBxLT5xdWV1ZWRhdGE7Ci0Jc2VjdG9yX3Qgc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChiaW8tPmJpX2JkZXYpOworCXNlY3Rvcl90IHNlY3RvciA9IGJ2bS0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYnZtLT5iaV9iZGV2KTsKIAlpbnQgbWF4OwogCXVuc2lnbmVkIGludCBjaHVua19zZWN0b3JzID0gbWRkZXYtPmNodW5rX3NpemUgPj4gOTsKLQl1bnNpZ25lZCBpbnQgYmlvX3NlY3RvcnMgPSBiaW8tPmJpX3NpemUgPj4gOTsKKwl1bnNpZ25lZCBpbnQgYmlvX3NlY3RvcnMgPSBidm0tPmJpX3NpemUgPj4gOTsKIAogCW1heCA9ICAoY2h1bmtfc2VjdG9ycyAtICgoc2VjdG9yICYgKGNodW5rX3NlY3RvcnMgLSAxKSkgKyBiaW9fc2VjdG9ycykpIDw8IDk7CiAJaWYgKG1heCA8IDApIG1heCA9IDA7IC8qIGJpb19hZGQgY2Fubm90IGhhbmRsZSBhIG5lZ2F0aXZlIHJldHVybiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9yYWlkMTAuYyBiL2RyaXZlcnMvbWQvcmFpZDEwLmMKaW5kZXggYTcxMjc3Yi4uMjJiYjJiMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZC9yYWlkMTAuYworKysgYi9kcml2ZXJzL21kL3JhaWQxMC5jCkBAIC00MzksMjYgKzQzOSwyNyBAQAogLyoqCiAgKglyYWlkMTBfbWVyZ2VhYmxlX2J2ZWMgLS0gdGVsbCBiaW8gbGF5ZXIgaWYgYSB0d28gcmVxdWVzdHMgY2FuIGJlIG1lcmdlZAogICoJQHE6IHJlcXVlc3QgcXVldWUKLSAqCUBiaW86IHRoZSBidWZmZXIgaGVhZCB0aGF0J3MgYmVlbiBidWlsdCB1cCBzbyBmYXIKKyAqCUBidm06IHByb3BlcnRpZXMgb2YgbmV3IGJpbwogICoJQGJpb3ZlYzogdGhlIHJlcXVlc3QgdGhhdCBjb3VsZCBiZSBtZXJnZWQgdG8gaXQuCiAgKgogICoJUmV0dXJuIGFtb3VudCBvZiBieXRlcyB3ZSBjYW4gYWNjZXB0IGF0IHRoaXMgb2Zmc2V0CiAgKiAgICAgIElmIG5lYXJfY29waWVzID09IHJhaWRfZGlzaywgdGhlcmUgYXJlIG5vIHN0cmlwaW5nIGlzc3VlcywKICAqICAgICAgYnV0IGluIHRoYXQgY2FzZSwgdGhlIGZ1bmN0aW9uIGlzbid0IGNhbGxlZCBhdCBhbGwuCiAgKi8KLXN0YXRpYyBpbnQgcmFpZDEwX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sCi0JCQkJc3RydWN0IGJpb192ZWMgKmJpb192ZWMpCitzdGF0aWMgaW50IHJhaWQxMF9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKKwkJCQkgc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSAqYnZtLAorCQkJCSBzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQogewogCW1kZGV2X3QgKm1kZGV2ID0gcS0+cXVldWVkYXRhOwotCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYmlvLT5iaV9iZGV2KTsKKwlzZWN0b3JfdCBzZWN0b3IgPSBidm0tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJ2bS0+YmlfYmRldik7CiAJaW50IG1heDsKIAl1bnNpZ25lZCBpbnQgY2h1bmtfc2VjdG9ycyA9IG1kZGV2LT5jaHVua19zaXplID4+IDk7Ci0JdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYmlvLT5iaV9zaXplID4+IDk7CisJdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYnZtLT5iaV9zaXplID4+IDk7CiAKIAltYXggPSAgKGNodW5rX3NlY3RvcnMgLSAoKHNlY3RvciAmIChjaHVua19zZWN0b3JzIC0gMSkpICsgYmlvX3NlY3RvcnMpKSA8PCA5OwogCWlmIChtYXggPCAwKSBtYXggPSAwOyAvKiBiaW9fYWRkIGNhbm5vdCBoYW5kbGUgYSBuZWdhdGl2ZSByZXR1cm4gKi8KLQlpZiAobWF4IDw9IGJpb192ZWMtPmJ2X2xlbiAmJiBiaW9fc2VjdG9ycyA9PSAwKQotCQlyZXR1cm4gYmlvX3ZlYy0+YnZfbGVuOworCWlmIChtYXggPD0gYmlvdmVjLT5idl9sZW4gJiYgYmlvX3NlY3RvcnMgPT0gMCkKKwkJcmV0dXJuIGJpb3ZlYy0+YnZfbGVuOwogCWVsc2UKIAkJcmV0dXJuIG1heDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDUuYyBiL2RyaXZlcnMvbWQvcmFpZDUuYwppbmRleCA1NGM4ZWUyLi45Y2U3MTU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL3JhaWQ1LmMKKysrIGIvZHJpdmVycy9tZC9yYWlkNS5jCkBAIC0yMDE3LDEyICsyMDE3LDcgQEAKIAkJCSAqLwogCQkJcy0+dXB0b2RhdGUrKzsKIAkJCXJldHVybiAwOyAvKiB1cHRvZGF0ZSArIGNvbXB1dGUgPT0gZGlza3MgKi8KLQkJfSBlbHNlIGlmICgocy0+dXB0b2RhdGUgPCBkaXNrcyAtIDEpICYmCi0JCQl0ZXN0X2JpdChSNV9JbnN5bmMsICZkZXYtPmZsYWdzKSkgewotCQkJLyogTm90ZTogd2UgaG9sZCBvZmYgY29tcHV0ZSBvcGVyYXRpb25zIHdoaWxlIGNoZWNrcyBhcmUKLQkJCSAqIGluIGZsaWdodCwgYnV0IHdlIHN0aWxsIHByZWZlciAnY29tcHV0ZScgb3ZlciAncmVhZCcKLQkJCSAqIGhlbmNlIHdlIG9ubHkgcmVhZCBpZiAodXB0b2RhdGUgPCAqIGRpc2tzLTEpCi0JCQkgKi8KKwkJfSBlbHNlIGlmICh0ZXN0X2JpdChSNV9JbnN5bmMsICZkZXYtPmZsYWdzKSkgewogCQkJc2V0X2JpdChSNV9MT0NLRUQsICZkZXYtPmZsYWdzKTsKIAkJCXNldF9iaXQoUjVfV2FudHJlYWQsICZkZXYtPmZsYWdzKTsKIAkJCWlmICghdGVzdF9hbmRfc2V0X2JpdChTVFJJUEVfT1BfSU8sICZzaC0+b3BzLnBlbmRpbmcpKQpAQCAtMzMxOSwxNSArMzMxNCwxNyBAQAogLyogV2Ugd2FudCByZWFkIHJlcXVlc3RzIHRvIGFsaWduIHdpdGggY2h1bmtzIHdoZXJlIHBvc3NpYmxlLAogICogYnV0IHdyaXRlIHJlcXVlc3RzIGRvbid0IG5lZWQgdG8uCiAgKi8KLXN0YXRpYyBpbnQgcmFpZDVfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKK3N0YXRpYyBpbnQgcmFpZDVfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCisJCQkJc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSAqYnZtLAorCQkJCXN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCiB7CiAJbWRkZXZfdCAqbWRkZXYgPSBxLT5xdWV1ZWRhdGE7Ci0Jc2VjdG9yX3Qgc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChiaW8tPmJpX2JkZXYpOworCXNlY3Rvcl90IHNlY3RvciA9IGJ2bS0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYnZtLT5iaV9iZGV2KTsKIAlpbnQgbWF4OwogCXVuc2lnbmVkIGludCBjaHVua19zZWN0b3JzID0gbWRkZXYtPmNodW5rX3NpemUgPj4gOTsKLQl1bnNpZ25lZCBpbnQgYmlvX3NlY3RvcnMgPSBiaW8tPmJpX3NpemUgPj4gOTsKKwl1bnNpZ25lZCBpbnQgYmlvX3NlY3RvcnMgPSBidm0tPmJpX3NpemUgPj4gOTsKIAotCWlmIChiaW9fZGF0YV9kaXIoYmlvKSA9PSBXUklURSkKKwlpZiAoKGJ2bS0+YmlfcncgJiAxKSA9PSBXUklURSkKIAkJcmV0dXJuIGJpb3ZlYy0+YnZfbGVuOyAvKiBhbHdheXMgYWxsb3cgd3JpdGVzIHRvIGJlIG1lcmdlYWJsZSAqLwogCiAJbWF4ID0gIChjaHVua19zZWN0b3JzIC0gKChzZWN0b3IgJiAoY2h1bmtfc2VjdG9ycyAtIDEpKSArIGJpb19zZWN0b3JzKSkgPDwgOTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy90dW5lci14YzIwMjguYyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy90dW5lci14YzIwMjguYwppbmRleCAwY2JkZTE3Li4zMGViMDdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMvdHVuZXIteGMyMDI4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3R1bmVyLXhjMjAyOC5jCkBAIC0yNTQsNyArMjU0LDcgQEAKIHsKIAlzdHJ1Y3QgeGMyMDI4X2RhdGEgICAgKnByaXYgPSBmZS0+dHVuZXJfcHJpdjsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3ICAgPSBOVUxMOwotCXVuc2lnbmVkIGNoYXIgICAgICAgICAqcCwgKmVuZHA7CisJY29uc3QgdW5zaWduZWQgY2hhciAgICpwLCAqZW5kcDsKIAlpbnQgICAgICAgICAgICAgICAgICAgcmMgPSAwOwogCWludAkJICAgICAgbiwgbl9hcnJheTsKIAljaGFyCQkgICAgICBuYW1lWzMzXTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy94YzUwMDAuYyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy94YzUwMDAuYwppbmRleCA3Y2Y0ZjViLi40ODc4ZDY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMveGM1MDAwLmMKKysrIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3hjNTAwMC5jCkBAIC0yNzgsNyArMjc4LDcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgaW50IHhjX2xvYWRfaTJjX3NlcXVlbmNlKHN0cnVjdCBkdmJfZnJvbnRlbmQgKmZlLCB1OCBpMmNfc2VxdWVuY2VbXSkKK3N0YXRpYyBpbnQgeGNfbG9hZF9pMmNfc2VxdWVuY2Uoc3RydWN0IGR2Yl9mcm9udGVuZCAqZmUsIGNvbnN0IHU4ICppMmNfc2VxdWVuY2UpCiB7CiAJc3RydWN0IHhjNTAwMF9wcml2ICpwcml2ID0gZmUtPnR1bmVyX3ByaXY7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLWNvcmUvZHZiZGV2LmMKaW5kZXggOGI1NmQ5Mi4uZTIwOGE2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZHZiLWNvcmUvZHZiZGV2LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLWNvcmUvZHZiZGV2LmMKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSAiZHZiZGV2LmgiCiAKIHN0YXRpYyBpbnQgZHZiZGV2X2RlYnVnOwpAQCAtNzQsNiArNzUsNyBAQAogewogCXN0cnVjdCBkdmJfZGV2aWNlICpkdmJkZXY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWR2YmRldiA9IGR2YmRldl9maW5kX2RldmljZSAoaW1pbm9yKGlub2RlKSk7CiAKIAlpZiAoZHZiZGV2ICYmIGR2YmRldi0+Zm9wcykgewpAQCAtOTAsOCArOTIsMTAgQEAKIAkJCWZpbGUtPmZfb3AgPSBmb3BzX2dldChvbGRfZm9wcyk7CiAJCX0KIAkJZm9wc19wdXQob2xkX2ZvcHMpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiBlcnI7CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gLUVOT0RFVjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9jeHVzYi5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9jeHVzYi5jCmluZGV4IDcyMGZjZDEuLjAyODYxNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2N4dXNiLmMKQEAgLTI0LDYgKzI0LDcgQEAKICAqIHNlZSBEb2N1bWVudGF0aW9uL2R2Yi9SRUFETUUuZHZiLXVzYiBmb3IgbW9yZSBpbmZvcm1hdGlvbgogICovCiAjaW5jbHVkZSA8bWVkaWEvdHVuZXIuaD4KKyNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAKICNpbmNsdWRlICJjeHVzYi5oIgogCkBAIC03MDAsMTIgKzcwMSwyNiBAQAogCiAJCWlmIChmdy0+ZGF0YVtpZG9mZl0gPT0gKFVTQl9WSURfRFZJQ08gJiAweGZmKSAmJgogCQkgICAgZnctPmRhdGFbaWRvZmYgKyAxXSA9PSBVU0JfVklEX0RWSUNPID4+IDgpIHsKLQkJCWZ3LT5kYXRhW2lkb2ZmICsgMl0gPQorCQkJc3RydWN0IGZpcm13YXJlIG5ld19mdzsKKwkJCXU4ICpuZXdfZndfZGF0YSA9IHZtYWxsb2MoZnctPnNpemUpOworCQkJaW50IHJldDsKKworCQkJaWYgKCFuZXdfZndfZGF0YSkKKwkJCQlyZXR1cm4gLUVOT01FTTsKKworCQkJbWVtY3B5KG5ld19md19kYXRhLCBmdy0+ZGF0YSwgZnctPnNpemUpOworCQkJbmV3X2Z3LnNpemUgPSBmdy0+c2l6ZTsKKwkJCW5ld19mdy5kYXRhID0gbmV3X2Z3X2RhdGE7CisKKwkJCW5ld19md19kYXRhW2lkb2ZmICsgMl0gPQogCQkJCWxlMTZfdG9fY3B1KHVkZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSArIDE7Ci0JCQlmdy0+ZGF0YVtpZG9mZiArIDNdID0KKwkJCW5ld19md19kYXRhW2lkb2ZmICsgM10gPQogCQkJCWxlMTZfdG9fY3B1KHVkZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSA+PiA4OwogCi0JCQlyZXR1cm4gdXNiX2N5cHJlc3NfbG9hZF9maXJtd2FyZSh1ZGV2LCBmdywgQ1lQUkVTU19GWDIpOworCQkJcmV0ID0gdXNiX2N5cHJlc3NfbG9hZF9maXJtd2FyZSh1ZGV2LCAmbmV3X2Z3LAorCQkJCQkJCUNZUFJFU1NfRlgyKTsKKwkJCXZmcmVlKG5ld19md19kYXRhKTsKKwkJCXJldHVybiByZXQ7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvZ3A4cHNrLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2dwOHBzay5jCmluZGV4IDI2NTMxMjAuLmQ5NjVhOTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvZ3A4cHNrLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9ncDhwc2suYwpAQCAtODYsNyArODYsOCBAQAogewogCWludCByZXQ7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyA9IE5VTEw7Ci0JdTggKnB0ciwgKmJ1ZjsKKwljb25zdCB1OCAqcHRyOworCXU4ICpidWY7CiAJaWYgKChyZXQgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgYmNtNDUwMF9maXJtd2FyZSwKIAkJCQkJJmQtPnVkZXYtPmRldikpICE9IDApIHsKIAkJZXJyKCJkaWQgbm90IGZpbmQgdGhlIGJjbTQ1MDAgZmlybXdhcmUgZmlsZS4gKCVzKSAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvYmNtMzUxMC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL2JjbTM1MTAuYwppbmRleCBkMjY4ZTY1Li5jZjVlNTc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvYmNtMzUxMC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9iY20zNTEwLmMKQEAgLTU5MCw3ICs1OTAsOCBAQAogICovCiAjZGVmaW5lIEJDTTM1MTBfREVGQVVMVF9GSVJNV0FSRSAiZHZiLWZlLWJjbTM1MTAtMDEuZnciCiAKLXN0YXRpYyBpbnQgYmNtMzUxMF93cml0ZV9yYW0oc3RydWN0IGJjbTM1MTBfc3RhdGUgKnN0LCB1MTYgYWRkciwgdTggKmIsIHUxNiBsZW4pCitzdGF0aWMgaW50IGJjbTM1MTBfd3JpdGVfcmFtKHN0cnVjdCBiY20zNTEwX3N0YXRlICpzdCwgdTE2IGFkZHIsIGNvbnN0IHU4ICpiLAorCQkJICAgICB1MTYgbGVuKQogewogCWludCByZXQgPSAwLGk7CiAJYmNtMzUxMF9yZWdpc3Rlcl92YWx1ZSB2SCwgdkwsdkQ7CkBAIC02MTQsNyArNjE1LDcgQEAKIAlzdHJ1Y3QgYmNtMzUxMF9zdGF0ZSogc3QgPSBmZS0+ZGVtb2R1bGF0b3JfcHJpdjsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCXUxNiBhZGRyLGxlbjsKLQl1OCAgKmI7CisJY29uc3QgdTggKmI7CiAJaW50IHJldCxpOwogCiAJZGViX2luZm8oInJlcXVlc3RpbmcgZmlybXdhcmVcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL254dDIwMHguYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9ueHQyMDB4LmMKaW5kZXggMjNkMDIyOC4uYWYyOTgzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL254dDIwMHguYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvbnh0MjAweC5jCkBAIC05Myw3ICs5Myw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbnh0MjAweF93cml0ZWJ5dGVzIChzdHJ1Y3Qgbnh0MjAweF9zdGF0ZSogc3RhdGUsIHU4IHJlZywgdTggKmJ1ZiwgdTggbGVuKQorc3RhdGljIGludCBueHQyMDB4X3dyaXRlYnl0ZXMgKHN0cnVjdCBueHQyMDB4X3N0YXRlKiBzdGF0ZSwgdTggcmVnLAorCQkJICAgICAgIGNvbnN0IHU4ICpidWYsIHU4IGxlbikKIHsKIAl1OCBidWYyIFtsZW4rMV07CiAJaW50IGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9vcjUxMjExLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvb3I1MTIxMS5jCmluZGV4IDdlYWE0NzYuLjZhZmUxMmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9vcjUxMjExLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL29yNTEyMTEuYwpAQCAtNjksNyArNjksNyBAQAogCXUzMiBjdXJyZW50X2ZyZXF1ZW5jeTsKIH07CiAKLXN0YXRpYyBpbnQgaTJjX3dyaXRlYnl0ZXMgKHN0cnVjdCBvcjUxMjExX3N0YXRlKiBzdGF0ZSwgdTggcmVnLCB1OCAqYnVmLAorc3RhdGljIGludCBpMmNfd3JpdGVieXRlcyAoc3RydWN0IG9yNTEyMTFfc3RhdGUqIHN0YXRlLCB1OCByZWcsIGNvbnN0IHU4ICpidWYsCiAJCQkgICBpbnQgbGVuKQogewogCWludCBlcnI7CkBAIC03Nyw3ICs3Nyw3IEBACiAJbXNnLmFkZHIJPSByZWc7CiAJbXNnLmZsYWdzCT0gMDsKIAltc2cubGVuCQk9IGxlbjsKLQltc2cuYnVmCQk9IGJ1ZjsKKwltc2cuYnVmCQk9ICh1OCAqKWJ1ZjsKIAogCWlmICgoZXJyID0gaTJjX3RyYW5zZmVyIChzdGF0ZS0+aTJjLCAmbXNnLCAxKSkgIT0gMSkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJvcjUxMjExOiBpMmNfd3JpdGVieXRlcyBlcnJvciAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODcwLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODcwLmMKaW5kZXggYWE3OGFhMS4uMWM5YTliNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3MC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4NzAuYwpAQCAtOTgsNyArOTgsNyBAQAogc3RhdGljIGludCBzcDg4NzBfZmlybXdhcmVfdXBsb2FkIChzdHJ1Y3Qgc3A4ODcwX3N0YXRlKiBzdGF0ZSwgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKIHsKIAlzdHJ1Y3QgaTJjX21zZyBtc2c7Ci0JY2hhciAqZndfYnVmID0gZnctPmRhdGE7CisJY29uc3QgY2hhciAqZndfYnVmID0gZnctPmRhdGE7CiAJaW50IGZ3X3BvczsKIAl1OCB0eF9idWZbMjU1XTsKIAlpbnQgdHhfbGVuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3eC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3eC5jCmluZGV4IDQ5ZjU1ODcuLjQ1NDM2MDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4N3guYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODd4LmMKQEAgLTE0MCw3ICsxNDAsNyBAQAogCXU4IGJ1ZiBbQkxPQ0tTSVpFKzJdOwogCWludCBpOwogCWludCBmd19zaXplID0gZnctPnNpemU7Ci0JdW5zaWduZWQgY2hhciAqbWVtID0gZnctPmRhdGE7CisJY29uc3QgdW5zaWduZWQgY2hhciAqbWVtID0gZnctPmRhdGE7CiAKIAlkcHJpbnRrKCIlc1xuIiwgX19mdW5jX18pOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNDguYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0OC5jCmluZGV4IDA5MGZiN2QuLjBhYjhkODZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNDguYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNDguYwpAQCAtMjMzLDcgKzIzMyw3IEBACiB9CiAKIHN0YXRpYyBpbnQgdGRhMTAwNDhfd3JpdGVyZWdidWxrKHN0cnVjdCB0ZGExMDA0OF9zdGF0ZSAqc3RhdGUsIHU4IHJlZywKLQl1OCAqZGF0YSwgdTE2IGxlbikKKwkJCQkgY29uc3QgdTggKmRhdGEsIHUxNiBsZW4pCiB7CiAJaW50IHJldCA9IC1FUkVNT1RFSU87CiAJc3RydWN0IGkyY19tc2cgbXNnOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDR4LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNHguYwppbmRleCBhMGQ2Mzg2Li4xNDY1ZmY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNHguYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNHguYwpAQCAtMzE3LDcgKzMxNyw3IEBACiB9CiAKIHN0YXRpYyBpbnQgdGRhMTAwNHhfZG9fdXBsb2FkKHN0cnVjdCB0ZGExMDA0eF9zdGF0ZSAqc3RhdGUsCi0JCQkgICAgICB1bnNpZ25lZCBjaGFyICptZW0sIHVuc2lnbmVkIGludCBsZW4sCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICptZW0sIHVuc2lnbmVkIGludCBsZW4sCiAJCQkgICAgICB1OCBkc3BDb2RlQ291bnRlclJlZywgdTggZHNwQ29kZUluUmVnKQogewogCXU4IGJ1Zls2NV07CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWJ1ZGdldC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1idWRnZXQuYwppbmRleCA1ZDJkODFhLi5iYzIwNDNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWJ1ZGdldC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItYnVkZ2V0LmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAKICNpbmNsdWRlICJkdmJfZnJvbnRlbmQuaCIKICNpbmNsdWRlICJkbXhkZXYuaCIKQEAgLTI4NSwxMyArMjg2LDE5IEBACiAJcmV0dXJuIGk7CiB9CiAKLSNpbmNsdWRlICJkdmItdHR1c2ItZHNwYm9vdGNvZGUuaCIKLQogc3RhdGljIGludCB0dHVzYl9ib290X2RzcChzdHJ1Y3QgdHR1c2IgKnR0dXNiKQogeworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJaW50IGksIGVycjsKIAl1OCBiWzQwXTsKIAorCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCAidHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbiIsCisJCQkgICAgICAgJnR0dXNiLT5kZXYtPmRldik7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgInR0dXNiLWJ1ZGdldDogZmFpbGVkIHRvIHJlcXVlc3QgZmlybXdhcmVcbiIpOworCQlyZXR1cm4gZXJyOworCX0KKwogCS8qIEJvb3RCbG9jayAqLwogCWJbMF0gPSAweGFhOwogCWJbMl0gPSAweDEzOwpAQCAtMjk5LDggKzMwNiw4IEBACiAKIAkvKiB1cGxvYWQgZHNwIGNvZGUgaW4gMzIgYnl0ZSBzdGVwcyAoMzYgZGlkbid0IHdvcmsgZm9yIG1lIC4uLikgKi8KIAkvKiAzMiBpcyBtYXggcGFja2V0IHNpemUsIG5vIG1lc3NhZ2VzIHNob3VsZCBiZSBzcGxpdHRlZC4gKi8KLQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKGRzcF9ib290Y29kZSk7IGkgKz0gMjgpIHsKLQkJbWVtY3B5KCZiWzRdLCAmZHNwX2Jvb3Rjb2RlW2ldLCAyOCk7CisJZm9yIChpID0gMDsgaSA8IGZ3LT5zaXplOyBpICs9IDI4KSB7CisJCW1lbWNweSgmYls0XSwgJmZ3LT5kYXRhW2ldLCAyOCk7CiAKIAkJYlsxXSA9ICsrdHR1c2ItPmM7CiAKQEAgLTE4MjAsMyArMTgyNyw0IEBACiBNT0RVTEVfQVVUSE9SKCJIb2xnZXIgV2FlY2h0bGVyIDxob2xnZXJAY29udmVyZ2VuY2UuZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlRUVVNCIERWQiBEcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgidHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1kc3Bib290Y29kZS5oIGIvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1kc3Bib290Y29kZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzNjZDU0Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItZHNwYm9vdGNvZGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDE2NDQgKzAsMCBAQAotCi0jaW5jbHVkZSA8YXNtL3R5cGVzLmg+Ci0KLXN0YXRpYyB1OCBkc3BfYm9vdGNvZGUgW10gPSB7Ci0JMHgwOCwgMHhhYSwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwMywgMHgwOCwgMHgwMCwKLQkweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDAxLCAweDgwLCAweDE4LCAweDVmLAotCTB4MDAsIDB4MDAsIDB4MDEsIDB4ODAsIDB4NzcsIDB4MTgsIDB4MmEsIDB4ZWIsCi0JMHg2YiwgMHhmOCwgMHgwMCwgMHgxOCwgMHgwMywgMHhmZiwgMHg2OCwgMHhmOCwKLQkweDAwLCAweDE4LCAweGZmLCAweGZlLCAweGY3LCAweGI4LCAweGY3LCAweGJlLAotCTB4ZjYsIDB4YjksIDB4ZjQsIDB4YTAsIDB4ZjYsIDB4YjcsIDB4ZjYsIDB4YjUsCi0JMHhmNiwgMHhiNiwgMHhmMCwgMHgyMCwgMHgxOSwgMHhkZiwgMHhmMSwgMHgwMCwKLQkweDAwLCAweDAxLCAweGY4LCAweDRkLCAweDAxLCAweGFiLCAweGY2LCAweGI4LAotCTB4ZjAsIDB4MjAsIDB4MTksIDB4ZGYsIDB4ZjAsIDB4NzMsIDB4MDEsIDB4YTUsCi0JMHg3ZSwgMHhmOCwgMHgwMCwgMHgxMiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDQ3LCAweGY4LCAweDAwLCAweDExLCAweDdlLCAweDkyLCAweDAwLCAweGY4LAotCTB4MDAsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4N2UsIDB4ZjgsCi0JMHgwMCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg2YywgMHg4OSwKLQkweDAxLCAweDlhLCAweGY3LCAweGI4LCAweGVlLCAweGZjLCAweGYwLCAweDIwLAotCTB4ZmYsIDB4ZmYsIDB4ZjEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4NGQsCi0JMHgwMSwgMHhiZiwgMHhmMiwgMHg3MywgMHgwMSwgMHhiOSwgMHg0ZSwgMHgwMiwKLQkweGY0LCAweDk1LCAweGY1LCAweGUzLCAweDU2LCAweDAyLCAweDdlLCAweDAwLAotCTB4MTEsIDB4MDAsIDB4ZmEsIDB4NGMsIDB4MDEsIDB4YjcsIDB4NmIsIDB4MDMsCi0JMHgwMCwgMHgwMSwgMHhmNiwgMHhiOCwgMHhlZSwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDBkLCAweGE3LCAweGYwLCAweDc0LCAweDAxLCAweGM1LCAweDRhLCAweDExLAotCTB4NGEsIDB4MTYsIDB4NzIsIDB4MTEsIDB4MmEsIDB4ZTYsIDB4MTAsIDB4ZjgsCi0JMHgwMCwgMHgxMSwgMHhmYSwgMHg0NSwgMHgwMSwgMHhkYiwgMHhmNCwgMHg5NSwKLQkweGVlLCAweGZmLCAweDQ4LCAweDExLCAweGYwLCAweDAwLCAweDJhLCAweGM2LAotCTB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ZWUsCi0JMHhmZiwgMHhmZiwgMHhmNCwgMHhlMywgMHg2YywgMHhlOSwgMHhmZiwgMHhmZiwKLQkweDAxLCAweGQ1LCAweDEwLCAweGY4LCAweDJhLCAweGU3LCAweGY4LCAweDQ1LAotCTB4MDEsIDB4ZTIsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTcsIDB4ZjQsIDB4ZTMsCi0JMHhmMCwgMHg3NCwgMHgwMSwgMHhmZiwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweGY3LCAweGI4LCAweGU5LCAweDIwLAotCTB4NGEsIDB4MTEsIDB4MDksIDB4ZjgsIDB4MmEsIDB4ZTYsIDB4ZjgsIDB4NGUsCi0JMHgwMSwgMHhmMywgMHhmMiwgMHg3MywgMHgwMSwgMHhmZCwgMHhmNCwgMHg5NSwKLQkweGU4LCAweDAxLCAweDcyLCAweDExLCAweDJhLCAweGU2LCAweDQ5LCAweDExLAotCTB4ODAsIDB4ZTEsIDB4MmEsIDB4YzYsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhlOCwgMHgwMCwgMHg4MSwgMHhmOCwgMHgyYSwgMHhlNiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweGY0LCAweDk1LCAweGYwLCAweDczLCAweDAyLCAweDAwLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4MGYsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHhmMCwgMHg3NCwgMHgwMiwgMHgwMiwgMHg4MCwgMHhmOCwgMHgyYSwgMHgxMCwKLQkweDczLCAweDA4LCAweDAwLCAweDA5LCAweDQwLCAweGY4LCAweDJhLCAweDE1LAotCTB4ODIsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHgwMywgMHhlOCwgMHhmNSwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwMiwgMHgyMSwKLQkweDcxLCAweGY4LCAweDJhLCAweDEwLCAweDJhLCAweDE1LCAweDU2LCAweGY4LAotCTB4MmEsIDB4MGMsIDB4ZjAsIDB4ZTMsIDB4NGUsIDB4ZjgsIDB4MmEsIDB4MTYsCi0JMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwgMHgyYSwgMHgwYywgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDA2LCAweDRhLCAweDA3LCAweDRhLCAweDFkLAotCTB4NjgsIDB4ZjgsIDB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwKLQkweGZmLCAweGZjLCAweDZiLCAweGY4LCAweDJhLCAweDBmLCAweDAwLCAweDAxLAotCTB4OGEsIDB4MWQsIDB4OGEsIDB4MDcsIDB4OGEsIDB4MDYsIDB4ZjQsIDB4ZWIsCi0JMHhlZSwgMHhmZCwgMHg3NiwgMHhmOCwgMHgyYSwgMHgwZiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweDAwLCAweDAwLCAweDAwLCAweGZiLCAweDgwLCAweDE5LCAweDRjLAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4MTEsCi0JMHhmOSwgMHg4MCwgMHgxOSwgMHgwNywgMHg4MCwgMHhmOCwgMHgyYSwgMHgwZSwKLQkweGY5LCAweDgwLCAweDE2LCAweDY2LCAweDc2LCAweDAwLCAweDJhLCAweDEyLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4MTEsIDB4ZjksIDB4ODAsIDB4MTgsIDB4ZTMsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHgwZSwgMHhmOSwgMHg4MCwgMHgxNiwgMHg2NiwKLQkweDEwLCAweGY4LCAweDJhLCAweDBlLCAweGY5LCAweDgwLCAweDE2LCAweDg3LAotCTB4ZWUsIDB4MDMsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjYsIDB4YjgsCi0JMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHg4MCwgMHgwMCwgMHgxMSwgMHhmOCwKLQkweDJhLCAweDVhLCAweGY4LCAweDRkLCAweDAyLCAweDkzLCAweDExLCAweGY4LAotCTB4MmEsIDB4OWYsIDB4ZjgsIDB4NGMsIDB4MDIsIDB4N2MsIDB4NzcsIDB4MTIsCi0JMHgyYSwgMHgzOSwgMHg0OSwgMHgxMiwgMHgwMSwgMHhmOCwgMHgyYSwgMHg5ZiwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTEsIDB4NmMsIDB4ZTEsIDB4ZmYsIDB4YWIsIDB4MDIsIDB4OTMsCi0JMHg2YiwgMHhmOCwgMHgyYSwgMHg5ZiwgMHgwMCwgMHgwMSwgMHhlOSwgMHgwNSwKLQkweDAxLCAweGUyLCAweDAwLCAweDAzLCAweDgxLCAweGY4LCAweDJhLCAweGEwLAotCTB4ZjAsIDB4NzMsIDB4MDIsIDB4OTUsIDB4NzIsIDB4MTEsIDB4MmEsIDB4OWYsCi0JMHhmNCwgMHg5NSwgMHgxMCwgMHhlMSwgMHgyYSwgMHgzOSwgMHg2YiwgMHhmOCwKLQkweDJhLCAweDlmLCAweDAwLCAweDAxLCAweDExLCAweGY4LCAweDJhLCAweDlmLAotCTB4MDksIDB4ZjgsIDB4MmEsIDB4YTAsIDB4ZjgsIDB4NGMsIDB4MDIsIDB4OTMsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHg1YSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwKLQkweDJhLCAweDlmLCAweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGEwLAotCTB4MDAsIDB4MDAsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDEwLCAweGY4LCAweDJhLCAweDVhLCAweGY4LCAweDQ0LCAweDAyLCAweGIyLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4NWEsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzQsCi0JMHgwMiwgMHg1OCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDgwLCAweDAwLCAweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDAyLCAweGIyLAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4ZmYsIDB4ODAsIDB4MDAsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwgMHgxOCwgMHhkNiwKLQkweGVlLCAweDAyLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweGY0LCAweDk1LAotCTB4NGEsIDB4MDgsIDB4NGEsIDB4MDksIDB4NGEsIDB4MGEsIDB4NGEsIDB4MGIsCi0JMHg0YSwgMHgwYywgMHg0YSwgMHgwZCwgMHg0YSwgMHgxMCwgMHg0YSwgMHgxMSwKLQkweDRhLCAweDEyLCAweDRhLCAweDEzLCAweDRhLCAweDE0LCAweDRhLCAweDE1LAotCTB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsIDB4NGEsIDB4MTcsIDB4NGEsIDB4MTksCi0JMHg0YSwgMHgwZSwgMHg0YSwgMHgwNiwgMHg0YSwgMHgwNywgMHg0YSwgMHgxYSwKLQkweDRhLCAweDFkLCAweDRhLCAweDFiLCAweDRhLCAweDFjLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsIDB4MDAsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwgMHhmZiwgMHhmYywKLQkweDQ4LCAweDE4LCAweDY4LCAweGY4LCAweDAwLCAweDE4LCAweGZmLCAweGZlLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NGEsIDB4MDgsIDB4ZWUsIDB4ZmQsCi0JMHhmMCwgMHg3NCwgMHgwMiwgMHg1OCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweDgwLCAweDAwLCAweGY0LCAweGE5LCAweGY4LCAweDMwLAotCTB4MDIsIDB4ZWYsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4ZmYsCi0JMHg4MCwgMHgwMCwgMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwKLQkweDE4LCAweGQ2LCAweGVlLCAweDAzLCAweDhhLCAweDE4LCAweGY0LCAweDk1LAotCTB4OGEsIDB4MWMsIDB4OGEsIDB4MWIsIDB4OGEsIDB4MWQsIDB4OGEsIDB4MWEsCi0JMHg4YSwgMHgwNywgMHg4YSwgMHgwNiwgMHg4YSwgMHgwZSwgMHg4YSwgMHgxOSwKLQkweDhhLCAweDE3LCAweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDE1LAotCTB4OGEsIDB4MTQsIDB4OGEsIDB4MTMsIDB4OGEsIDB4MTIsIDB4OGEsIDB4MTEsCi0JMHg4YSwgMHgxMCwgMHg4YSwgMHgwZCwgMHg4YSwgMHgwYywgMHg4YSwgMHgwYiwKLQkweDhhLCAweDBhLCAweDhhLCAweDA5LCAweDhhLCAweDA4LCAweGY0LCAweGViLAotCTB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MzksIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwgMHgyYSwgMHgxOCwgMHgxMCwgMHhlMiwKLQkweDAwLCAweDAxLCAweDgwLCAweGUxLCAweDAwLCAweDAxLCAweDEwLCAweGUyLAotCTB4MDAsIDB4MDIsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHg2ZiwgMHhmOCwgMHgyYSwgMHg5ZSwKLQkweDBjLCAweDg4LCAweGU4LCAweGZmLCAweDE4LCAweGUxLCAweDAwLCAweDAxLAotCTB4MWEsIDB4ZjgsIDB4MmEsIDB4OWUsIDB4ZjAsIDB4MzAsIDB4MWYsIDB4ZmYsCi0JMHg4MCwgMHhmOCwgMHgyYSwgMHg5ZSwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDc3LCAweDExLCAweDJhLCAweDM5LCAweDc2LCAweDgxLAotCTB4MDAsIDB4NTUsIDB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsIDB4MTEsIDB4ZTIsCi0JMHgwMCwgMHgwMSwgMHg4MSwgMHhlMSwgMHgwMCwgMHgwMSwgMHgxMSwgMHhlMiwKLQkweDAwLCAweDAyLCAweDgxLCAweGUxLCAweDAwLCAweDAyLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4MDIsIDB4NDgsIDB4MDgsIDB4NmYsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHgwYywgMHg5OCwgMHhmMCwgMHgzMCwgMHgwMCwgMHhmZiwKLQkweDgwLCAweGUxLCAweDAwLCAweDA1LCAweDc2LCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgyYSwgMHgzOSwKLQkweDc2LCAweDgxLCAweDAwLCAweDU1LCAweDc3LCAweDEyLCAweDJhLCAweDE4LAotCTB4MTAsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDA0LCAweDQ4LCAweDExLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMywgMHgyYSwgMHg3NiwgMHhlOSwgMHgwMCwgMHhlNSwgMHg5OCwKLQkweGYzLCAweDAwLCAweDAwLCAweDAxLCAweGY2LCAweGI4LCAweDQ4LCAweDBiLAotCTB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsIDB4ZjgsIDB4NDMsIDB4MDMsIDB4NzEsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwgMHgwMiwgMHg5OCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGYwLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxNCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgxNSwKLQkweDQ5LCAweDExLCAweGYzLCAweDAwLCAweDAwLCAweDAyLCAweDg5LCAweDExLAotCTB4ZTcsIDB4ODIsIDB4NmQsIDB4ZWEsIDB4MDAsIDB4MDQsIDB4ZTcsIDB4ODMsCi0JMHg2ZCwgMHhlYiwgMHgwMCwgMHgwYSwgMHg3NywgMHgxYSwgMHgwMCwgMHgwNSwKLQkweGYwLCAweDcyLCAweDAzLCAweGFhLCAweDExLCAweDgxLCAweGYyLCAweGU4LAotCTB4ODAsIDB4ODIsIDB4ZTksIDB4ZmYsIDB4MTksIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHhmMSwgMHhhMCwgMHg4MSwgMHg5MiwgMHgxMSwgMHhlMSwgMHgwMCwgMHgwYywKLQkweGYyLCAweGU4LCAweDgwLCAweDgzLCAweGU5LCAweGZmLCAweDE5LCAweGUxLAotCTB4MDAsIDB4MGQsIDB4ZjEsIDB4YTAsIDB4ODEsIDB4OTMsIDB4NmQsIDB4ZTksCi0JMHgwMCwgMHgwMiwgMHg0OCwgMHgxOCwgMHg0OSwgMHgxOCwgMHg3MCwgMHgwMCwKLQkweDAwLCAweDE1LCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweGYzLCAweDAwLAotCTB4MDAsIDB4MGEsIDB4ODAsIDB4MDEsIDB4ODEsIDB4MDIsIDB4ZjIsIDB4NzQsCi0JMHgwZSwgMHg1NCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNCwgMHhlZSwgMHgxMCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGYwLCAweDc0LAotCTB4MGMsIDB4NWUsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4NWMsIDB4NzcsIDB4MTIsCi0JMHgyYSwgMHgzOSwgMHg3NiwgMHg4MiwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMSwKLQkweDJhLCAweDE4LCAweDEwLCAweGUxLCAweDAwLCAweDAxLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDEsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwMiwgMHg3NiwgMHhlMiwgMHgwMCwgMHgwMywgMHgwMCwgMHgxYywKLQkweGY2LCAweGI4LCAweDU2LCAweGY4LCAweDJhLCAweDE2LCAweGYwLCAweGYwLAotCTB4ZjAsIDB4ZjgsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MDcsIDB4NTYsIDB4ZjgsCi0JMHgyYSwgMHgxNiwgMHhmMSwgMHhmMCwgMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwKLQkweDgwLCAweGUyLCAweDAwLCAweDA2LCAweDU2LCAweGY4LCAweDJhLCAweDE2LAotCTB4ZjEsIDB4ZjgsIDB4ZTgsIDB4ZmYsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwNSwgMHg1NywgMHhmOCwgMHgyYSwgMHgxNiwgMHhlOCwgMHhmZiwKLQkweGYyLCAweDgwLCAweDgwLCAweGUyLCAweDAwLCAweDA0LCAweDU2LCAweGY4LAotCTB4MjcsIDB4NmMsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjgsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwYiwgMHg1NiwgMHhmOCwgMHgyNywgMHg2YywgMHhmMSwgMHhmMCwKLQkweGU4LCAweGZmLCAweGYyLCAweDgwLCAweDgwLCAweGUyLCAweDAwLCAweDBhLAotCTB4NTYsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4ZjEsIDB4ZjgsIDB4ZTgsIDB4ZmYsCi0JMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwOSwgMHhlOCwgMHhmZiwKLQkweDU3LCAweGY4LCAweDI3LCAweDZjLCAweGYyLCAweDgwLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDgsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NmEsIDB4ZjAsIDB4ZjAsCi0JMHhmMCwgMHhmOCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwZiwgMHg1NiwgMHhmOCwKLQkweDI3LCAweDZhLCAweGYxLCAweGYwLCAweGU4LCAweGZmLCAweGYyLCAweDgwLAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MGUsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NmEsCi0JMHhmMSwgMHhmOCwgMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDBkLCAweDU3LCAweGY4LCAweDI3LCAweDZhLCAweGU4LCAweGZmLAotCTB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MGMsIDB4NzYsIDB4ZTIsCi0JMHgwMCwgMHgxMywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxMiwKLQkweDAwLCAweDAwLCAweDZmLCAweGY4LCAweDJhLCAweDVjLCAweDBjLCAweDU4LAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MTEsIDB4ZTgsIDB4ZmYsIDB4MTgsIDB4ZjgsCi0JMHgyYSwgMHg1YywgMHg4MCwgMHhlMiwgMHgwMCwgMHgxMCwgMHg3NiwgMHhlMiwKLQkweDAwLCAweDE3LCAweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDE2LAotCTB4MDAsIDB4MDAsIDB4NmYsIDB4ZjgsIDB4MmEsIDB4OWUsIDB4MGMsIDB4NTgsCi0JMHg4MCwgMHhlMiwgMHgwMCwgMHgxNSwgMHhlOCwgMHhmZiwgMHgxOCwgMHhmOCwKLQkweDJhLCAweDllLCAweDgwLCAweGUyLCAweDAwLCAweDE0LCAweDc2LCAweGUyLAotCTB4MDAsIDB4MWIsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MWEsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxOSwgMHgwMCwgMHgwMCwKLQkweDcwLCAweGUyLCAweDAwLCAweDE4LCAweDI3LCAweDZlLCAweDc2LCAweGUyLAotCTB4MDAsIDB4MWYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MWUsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxZCwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUyLCAweDAwLCAweDFjLCAweDAwLCAweDAwLCAweDc2LCAweGUyLAotCTB4MDAsIDB4MjAsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDEwLCAweGY4LCAweDJhLCAweDM4LCAweGY4LCAweDQ1LCAweDA0LCAweGVkLAotCTB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwOCwKLQkweDZkLCAweGU5LCAweGZmLCAweGRmLCAweGY2LCAweGE5LCAweGY4LCAweDIwLAotCTB4MDQsIDB4NzUsIDB4ZjAsIDB4NzMsIDB4MDQsIDB4N2QsIDB4ZjAsIDB4MTAsCi0JMHgwMCwgMHgyMSwgMHhmMCwgMHgwMCwgMHgxYSwgMHg4MywgMHg0OCwgMHgwOCwKLQkweDdlLCAweGY4LCAweDAwLCAweDA4LCAweGY0LCAweGUyLCAweGYwLCAweDc0LAotCTB4MDMsIDB4MGEsIDB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4NDgsIDB4MTIsCi0JMHhmMiwgMHg3NCwgMHgwMywgMHgyMywgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwKLQkweGYyLCAweDc0LCAweDAzLCAweDM2LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MTgsCi0JMHhlOCwgMHhmZiwgMHg2ZiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwZCwgMHg0OCwKLQkweDE4LCAweGUxLCAweDAwLCAweDA1LCAweGYyLCAweDc0LCAweDA5LCAweDY5LAotCTB4ZjQsIDB4OTUsIDB4ZjIsIDB4YTAsIDB4ZjAsIDB4NzQsIDB4MDMsIDB4MzYsCi0JMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHg3NywgMHgxMSwgMHgyYSwgMHgxOCwKLQkweGU4LCAweGZmLCAweDZmLCAweGUxLCAweDAwLCAweDA0LCAweDBkLCAweDQ4LAotCTB4MTgsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4ZjIsIDB4NzQsIDB4MDksIDB4NDEsCi0JMHhmNCwgMHg5NSwgMHhmMiwgMHhhMCwgMHhmMCwgMHg3NCwgMHgwMywgMHgzNiwKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweGYwLCAweDc0LCAweDAzLCAweDU3LAotCTB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4MWMsCi0JMHhmMCwgMHg3NCwgMHgxMiwgMHhhNCwgMHhmMiwgMHg3NCwgMHgwMywgMHgzNiwKLQkweGY0LCAweDk1LCAweGU4LCAweDAwLCAweGYwLCAweDczLCAweDA0LCAweGVhLAotCTB4NDgsIDB4MTIsIDB4ZjIsIDB4NzQsIDB4MDMsIDB4ODAsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHhmMiwgMHg3NCwgMHgwMywgMHgzNiwgMHhmNCwgMHg5NSwKLQkweGU4LCAweDAwLCAweGYwLCAweDczLCAweDA0LCAweGVhLCAweDEwLCAweGY4LAotCTB4MmEsIDB4MWMsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4YzUsIDB4ZjIsIDB4NzQsCi0JMHgwMywgMHgzNiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhmMCwgMHg3MywKLQkweDA0LCAweGVhLCAweDc3LCAweDExLCAweDJhLCAweDE4LCAweGU4LCAweGZmLAotCTB4NmYsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MGQsIDB4NDgsIDB4MTgsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweGYyLCAweGEwLCAweDcwLCAweDAwLCAweDAwLCAweDEyLCAweDgwLCAweDAxLAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MGUsIDB4N2EsCi0JMHhmMiwgMHg3NCwgMHgwMywgMHgzNiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweGYwLCAweDc0LCAweDAzLCAweGJjLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4MzgsIDB4MDAsIDB4MDAsIDB4ZWUsIDB4MDIsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwKLQkweDJhLCAweDM5LCAweDc2LCAweDgxLCAweDAwLCAweDU1LCAweDc3LCAweDEyLAotCTB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwgMHg4MCwgMHhlMSwKLQkweDAwLCAweDAyLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDA5LAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTIsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMywgMHgyYSwgMHg4NiwgMHhlOSwgMHgwMCwKLQkweGU1LCAweDk4LCAweGYzLCAweDAwLCAweDAwLCAweDAxLCAweGY2LCAweGI4LAotCTB4NDgsIDB4MGIsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsIDB4ZjgsIDB4NDMsCi0JMHgwNSwgMHgwYSwgMHg3NiwgMHg4MiwgMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwKLQkweDAyLCAweDk4LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4NzcsIDB4MTEsIDB4MmEsIDB4MzksIDB4NzYsIDB4ODEsIDB4MDAsIDB4NTUsCi0JMHg3NywgMHgxMywgMHgyYSwgMHgxOCwgMHgxMCwgMHhlMywgMHgwMCwgMHgwMSwKLQkweDgwLCAweGUxLCAweDAwLCAweDAxLCAweDEwLCAweGUzLCAweDAwLCAweDAyLAotCTB4ODAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MTMsIDB4ZTMsIDB4MDAsIDB4MDMsCi0JMHg4MSwgMHhlMSwgMHgwMCwgMHgwMywgMHg0OCwgMHgxMSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDAwLCAweGY4LCAweDRkLCAweDA1LCAweDQ0LCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4ODgsIDB4MTIsIDB4NDgsIDB4MTMsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweGU1LCAweDk4LCAweDZkLCAweDkxLCAweGY2LCAweGI4LCAweDQ4LCAweDExLAotCTB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsIDB4ZjgsIDB4NDMsIDB4MDUsIDB4M2EsCi0JMHhmMCwgMHgyMCwgMHgyYSwgMHgzOSwgMHg0OSwgMHgxMSwgMHhmNSwgMHgwMCwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDQsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwKLQkweDJhLCAweDM5LCAweDc2LCAweDgxLCAweDAwLCAweDU1LCAweDc3LCAweDEyLAotCTB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwgMHg4MCwgMHhlMSwKLQkweDAwLCAweDAyLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDBjLAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTIsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMywgMHgyYSwgMHg3YSwgMHhlOSwgMHgwMCwKLQkweGU1LCAweDk4LCAweGYzLCAweDAwLCAweDAwLCAweDAxLCAweGY2LCAweGI4LAotCTB4NDgsIDB4MGIsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsIDB4ZjgsIDB4NDMsCi0JMHgwNSwgMHg2YSwgMHg3NiwgMHg4MiwgMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwKLQkweDAyLCAweDk4LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4NzcsIDB4MTEsIDB4MmEsIDB4MzksIDB4NzYsIDB4ODEsIDB4MDAsIDB4NTUsCi0JMHg3NywgMHgxMiwgMHgyYSwgMHgxOCwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMSwKLQkweDgwLCAweGUxLCAweDAwLCAweDAxLCAweDEwLCAweGUyLCAweDAwLCAweDAyLAotCTB4ODAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsCi0JMHgwMCwgMHgxOSwgMHg0OCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwKLQkweDg4LCAweDEyLCAweGY0LCAweDk1LCAweDc3LCAweDEzLCAweDJhLCAweDVkLAotCTB4ZTksIDB4MDAsIDB4ZTUsIDB4OTgsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhmNiwgMHhiOCwgMHg0OCwgMHgwYiwgMHgwOCwgMHhmOCwgMHgyYSwgMHgzYywKLQkweGY4LCAweDQzLCAweDA1LCAweDkzLCAweDc2LCAweDgyLCAweDAwLCAweGFhLAotCTB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwgMHgxMCwgMHhmOCwgMHgyYSwgMHgzOCwKLQkweGY4LCAweDQ0LCAweDA1LCAweGUzLCAweDEwLCAweGY4LCAweDJhLCAweGExLAotCTB4ZjgsIDB4NDQsIDB4MDUsIDB4YmEsIDB4NmMsIDB4ZTEsIDB4ZmYsIDB4NTYsCi0JMHgwNSwgMHhlMywgMHg3MiwgMHgxMiwgMHgyYSwgMHhhMSwgMHhmNCwgMHg5NSwKLQkweDcwLCAweGUyLCAweDJhLCAweDE4LCAweDAwLCAweDExLCAweDZiLCAweGY4LAotCTB4MmEsIDB4YTEsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MDUsIDB4ZTMsCi0JMHg3MiwgMHgxMiwgMHgyYSwgMHhhMSwgMHhmNCwgMHg5NSwgMHg3MCwgMHhlMiwKLQkweDJhLCAweDE4LCAweDAwLCAweDExLCAweDEwLCAweGY4LCAweDJhLCAweGExLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg2ZSwgMHhlMiwgMHhmZiwgMHhmYywgMHgwNSwgMHhkMSwKLQkweDczLCAweDEyLCAweDJhLCAweGExLCAweDQ4LCAweDExLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDUsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4YTIsIDB4MTAsIDB4ZjgsCi0JMHgyYSwgMHhhMSwgMHgwOCwgMHhmOCwgMHgyYSwgMHhhMiwgMHhmOCwgMHg0NCwKLQkweDA1LCAweGUzLCAweDZjLCAweGUxLCAweGZmLCAweGFiLCAweDA1LCAweGRkLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4MzgsIDB4MDAsIDB4MDEsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHhhMSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhMiwKLQkweDAwLCAweDAwLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweGY0LCAweDk1LAotCTB4NGEsIDB4MDgsIDB4NGEsIDB4MDksIDB4NGEsIDB4MGEsIDB4NGEsIDB4MGIsCi0JMHg0YSwgMHgwYywgMHg0YSwgMHgwZCwgMHg0YSwgMHgxMCwgMHg0YSwgMHgxMSwKLQkweDRhLCAweDEyLCAweDRhLCAweDEzLCAweDRhLCAweDE0LCAweDRhLCAweDE1LAotCTB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsIDB4NGEsIDB4MTcsIDB4NGEsIDB4MTksCi0JMHg0YSwgMHgwZSwgMHg0YSwgMHgwNiwgMHg0YSwgMHgwNywgMHg0YSwgMHgxYSwKLQkweDRhLCAweDFkLCAweDRhLCAweDFiLCAweDRhLCAweDFjLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsIDB4MDAsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwgMHhmZiwgMHhmYywKLQkweDQ4LCAweDE4LCAweDY4LCAweGY4LCAweDAwLCAweDE4LCAweGZmLCAweGZlLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NGEsIDB4MDgsIDB4ZWUsIDB4ZmYsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwgMHgxOCwgMHgwNCwKLQkweGYwLCAweDc0LCAweDA1LCAweGEyLCAweGVlLCAweDAxLCAweDhhLCAweDE4LAotCTB4ZjQsIDB4OTUsIDB4OGEsIDB4MWMsIDB4OGEsIDB4MWIsIDB4OGEsIDB4MWQsCi0JMHg4YSwgMHgxYSwgMHg4YSwgMHgwNywgMHg4YSwgMHgwNiwgMHg4YSwgMHgwZSwKLQkweDhhLCAweDE5LCAweDhhLCAweDE3LCAweDhhLCAweDE3LCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTUsIDB4OGEsIDB4MTQsIDB4OGEsIDB4MTMsIDB4OGEsIDB4MTIsCi0JMHg4YSwgMHgxMSwgMHg4YSwgMHgxMCwgMHg4YSwgMHgwZCwgMHg4YSwgMHgwYywKLQkweDhhLCAweDBiLCAweDhhLCAweDBhLCAweDhhLCAweDA5LCAweDhhLCAweDA4LAotCTB4ZjQsIDB4ZWIsIDB4ZWUsIDB4ZmQsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4MzgsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHg1YSwgMHgwMCwgMHgwMCwKLQkweGU4LCAweDAxLCAweDRlLCAweDAwLCAweGZiLCAweDgwLCAweDE3LCAweGQ2LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDEsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4NWIsCi0JMHg3NiwgMHgwMCwgMHgyYSwgMHg4ZiwgMHhmOSwgMHg4MCwgMHgxNiwgMHhhYSwKLQkweDEwLCAweGY4LCAweDJhLCAweDViLCAweGY5LCAweDgwLCAweDE3LCAweDVjLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsIDB4MTcsIDB4NmYsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHg2NiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgxYSwKLQkweGZiLCAweDgwLCAweDE2LCAweDg3LCAweGY0LCAweDk1LCAweGU4LCAweDFhLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4NjYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWIsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHg4NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgxYiwKLQkweGVlLCAweDAzLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY0LCAweDk1LAotCTB4MTMsIDB4MDIsIDB4ODgsIDB4MTEsIDB4ZTgsIDB4MDAsIDB4ZjgsIDB4NGQsCi0JMHgwNiwgMHg2YSwgMHhmMywgMHgxMCwgMHgwMCwgMHgwMSwgMHg4OSwgMHgxYSwKLQkweGY0LCAweDk1LCAweGYwLCAweDcyLCAweDA2LCAweDY5LCAweDFjLCAweDkxLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsCi0JMHgxMiwgMHgwMywgMHgxMSwgMHgwMiwgMHhmOCwgMHg0NSwgMHgwNiwgMHg3OSwKLQkweGYwLCAweDEwLCAweDAwLCAweDAxLCAweDg4LCAweDFhLCAweGY0LCAweDk1LAotCTB4ZjAsIDB4NzIsIDB4MDYsIDB4NzgsIDB4ODEsIDB4OTEsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwKLQkweDAwLCAweDExLCAweDExLCAweDAzLCAweDYxLCAweGY4LCAweDAwLCAweDExLAotCTB4MDAsIDB4MDEsIDB4ZjgsIDB4MzAsIDB4MDYsIDB4OTEsIDB4ZjYsIDB4YjgsCi0JMHg2ZiwgMHhmOCwgMHgwMCwgMHgxMSwgMHgwYywgMHgxZiwgMHg4OCwgMHgxMSwKLQkweGYzLCAweGU4LCAweGU4LCAweGZmLCAweDE4LCAweDgxLCAweGYxLCAweGEwLAotCTB4ODEsIDB4ODEsIDB4ZjAsIDB4NzMsIDB4MDYsIDB4OWQsIDB4ZjYsIDB4YjgsCi0JMHg2ZiwgMHhmOCwgMHgwMCwgMHgxMSwgMHgwYywgMHgxZiwgMHg4OCwgMHgxMSwKLQkweGYzLCAweDMwLCAweDAwLCAweGZmLCAweGYwLCAweDIwLCAweGZmLCAweDAwLAotCTB4MTgsIDB4ODEsIDB4ZjEsIDB4YTAsIDB4ODEsIDB4ODEsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHgxMSwgMHgwMiwKLQkweDYxLCAweGY4LCAweDAwLCAweDBiLCAweDAwLCAweDAxLCAweGY4LCAweDIwLAotCTB4MDYsIDB4YjEsIDB4NDksIDB4MGIsIDB4ZjYsIDB4MWYsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHhmMiwgMHg3MywKLQkweDA2LCAweGI4LCAweGYwLCAweDMwLCAweDAwLCAweGZmLCAweDQ5LCAweDBiLAotCTB4ZjYsIDB4MWYsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHgxMiwgMHg4MSwgMHhmNCwgMHg3OCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLCAweDAwLCAweDEyLAotCTB4MTMsIDB4MDMsIDB4ODgsIDB4MTEsIDB4ZTgsIDB4MDAsIDB4ZjgsIDB4NGQsCi0JMHgwNiwgMHhjYywgMHhmMywgMHgxMCwgMHgwMCwgMHgwMSwgMHg4OSwgMHgxYSwKLQkweGY0LCAweDk1LCAweGYwLCAweDcyLCAweDA2LCAweGNiLCAweDExLCAweDkyLAotCTB4ZjIsIDB4YzAsIDB4ODEsIDB4OTEsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg4OCwgMHgxMiwgMHgxMiwgMHgwMiwgMHg3MSwgMHgwMSwgMHgwMCwgMHgxMywKLQkweGY4LCAweDQ1LCAweDA2LCAweGRiLCAweGYwLCAweDEwLCAweDAwLCAweDAxLAotCTB4ODgsIDB4MWEsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4NzIsIDB4MDYsIDB4ZGEsCi0JMHhlNSwgMHg5OCwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDg4LCAweDExLCAweDExLCAweDA0LCAweDEwLCAweDA2LCAweDcxLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTIsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgyMCwgMHgwNiwgMHhlYSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweGY2LCAweGI4LCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDZmLCAweGY4LAotCTB4MDAsIDB4MTIsIDB4MGYsIDB4MWYsIDB4NDgsIDB4MDgsIDB4ODEsIDB4MDAsCi0JMHhmNCwgMHg3ZiwgMHg4MCwgMHgwMSwgMHhmMiwgMHg3NCwgMHgwNiwgMHhiYSwKLQkweGY0LCAweDk1LCAweDQ4LCAweDExLCAweGVlLCAweDAyLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsIDB4ODgsIDB4MTIsCi0JMHgxMSwgMHgwNCwgMHgxMCwgMHgwNiwgMHg3MSwgMHgwNSwgMHgwMCwgMHgxMywKLQkweDYxLCAweGY4LCAweDAwLCAweDEzLCAweDAwLCAweDAxLCAweGY4LCAweDIwLAotCTB4MDcsIDB4MDksIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg4OCwgMHgxMSwgMHhmNiwgMHhiOCwgMHg2ZiwgMHhmOCwKLQkweDAwLCAweDEzLCAweDBmLCAweDFmLCAweDgxLCAweDAwLCAweDQ4LCAweDExLAotCTB4ZjQsIDB4N2YsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4Y2UsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgxMiwgMHg0OCwgMHgxMSwgMHhmMCwgMHgzMCwKLQkweGZmLCAweGZlLCAweGVlLCAweDAyLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmMsCi0JMHhmNCwgMHg5NSwgMHg4MCwgMHgwMiwgMHg3MSwgMHgwOCwgMHgwMCwgMHgxNiwKLQkweDEwLCAweDA5LCAweDcxLCAweDBiLCAweDAwLCAweDE3LCAweDgwLCAweDAzLAotCTB4NzEsIDB4MGEsIDB4MDAsIDB4MTEsIDB4NDgsIDB4MTcsIDB4ZjgsIDB4NDUsCi0JMHgwNywgMHgzZiwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxMSwgMHgxMCwgMHgwMywKLQkweGYwLCAweDc0LCAweDA2LCAweDlmLCAweDgwLCAweDAxLCAweDcwLCAweDAwLAotCTB4MDAsIDB4MTYsIDB4MTAsIDB4MDIsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4N2IsCi0JMHg2ZCwgMHg5MSwgMHg2ZCwgMHg5NiwgMHg2YywgMHhlZiwgMHhmZiwgMHhmZiwKLQkweDA3LCAweDJmLCAweGVlLCAweDA0LCAweDhhLCAweDE3LCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHhlOCwgMHgwOCwgMHhmOCwgMHgyYSwgMHhlOSwKLQkweGY4LCAweDQ1LCAweDA3LCAweDY0LCAweDc2LCAweDAwLCAweDAwLCAweDAxLAotCTB4NjIsIDB4ZjgsIDB4MmEsIDB4ZTksIDB4MDAsIDB4NWUsIDB4ZjIsIDB4NzQsCi0JMHgxMiwgMHgwYiwgMHhmMCwgMHgwMCwgMHgzMCwgMHg0MCwgMHg3MiwgMHgxMSwKLQkweDJhLCAweGU5LCAweDc3LCAweDEwLCAweDAwLCAweDBmLCAweGY1LCAweGE5LAotCTB4ZjgsIDB4MjAsIDB4MDcsIDB4NjEsIDB4NmIsIDB4ZjgsIDB4MmEsIDB4ZTksCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgwNywgMHg2NCwgMHg3NiwgMHhmOCwKLQkweDJhLCAweGU5LCAweDAwLCAweDAwLCAweGVlLCAweDAyLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZTgsIDB4MDAsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwOCwgMHhlOCwgMHgwMCwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDA5LCAweGY2LCAweGI4LAotCTB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmMsIDB4M2YsIDB4NzUsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHgwZCwgMHhmMCwgMHgyMCwgMHgwYywgMHgzMCwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDBjLCAweDc2LCAweGY4LAotCTB4MmEsIDB4ZTgsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4ZTksCi0JMHgwMCwgMHgwMCwgMHg2YywgMHg4MSwgMHgwNywgMHg5MiwgMHg3NiwgMHhmOCwKLQkweDJhLCAweGVhLCAweDAwLCAweDAwLCAweGZiLCAweDgwLCAweDE2LCAweDc2LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MTAsIDB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHhmMCwgMHg3MywgMHgwNywgMHhhOCwKLQkweDc2LCAweGY4LCAweDJhLCAweGVhLCAweDAwLCAweDAxLCAweGZiLCAweDgwLAotCTB4MTYsIDB4NjYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MTAsIDB4ZmIsIDB4ODAsCi0JMHgxNiwgMHg4NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgxMCwgMHhlOCwgMHgwMCwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAwLCAweGY2LCAweGI4LAotCTB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmYsIDB4ZmYsIDB4NzUsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweGY0LCAweDk1LCAweDRhLCAweDA4LCAweDRhLCAweDA5LCAweDRhLCAweDBhLAotCTB4NGEsIDB4MDYsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWQsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwgMHgwMCwgMHgwNywKLQkweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLCAweGZmLCAweGZjLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4ZWEsIDB4ZjgsIDB4NDUsIDB4MDcsIDB4ZTEsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHhlOCwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweGYwLCAweDMwLCAweDAwLCAweDBmLCAweDgwLCAweGY4LCAweDJhLCAweGU4LAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTgsIDB4ZjgsIDB4NDQsIDB4MDcsIDB4ZDYsCi0JMHhmNiwgMHhiOCwgMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHhmYywgMHgzZiwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDBkLCAweGYwLCAweDIwLAotCTB4MGMsIDB4MzAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MGMsCi0JMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwKLQkweGY2LCAweGI4LCAweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZmLCAweGZmLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsIDB4OGEsIDB4MWQsCi0JMHg4YSwgMHgwNywgMHg4YSwgMHgwNiwgMHg4YSwgMHgwYSwgMHg4YSwgMHgwOSwKLQkweDhhLCAweDA4LCAweGY0LCAweGViLCAweGVlLCAweGZmLCAweGYyLCAweDc0LAotCTB4MDcsIDB4NjcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDEsIDB4ZWUsIDB4MDEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgwNywgMHg0YSwgMHgxZCwgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHg4YSwgMHgxZCwgMHg4YSwgMHgwNywgMHhmNCwgMHhlYiwgMHg0YSwgMHgxMSwKLQkweDc3LCAweDExLCAweDAwLCAweDI4LCAweDc2LCAweDgxLCAweDI0LCAweDAwLAotCTB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHhmMiwgMHg3NCwgMHgwNywgMHg2NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweDc3LCAweDExLCAweDAwLCAweDFkLCAweDY4LCAweDgxLCAweDAwLCAweDdmLAotCTB4ZjYsIDB4YjgsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmYsIDB4ODAsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgxZCwgMHhmMCwgMHgzMCwgMHgwMSwgMHgwMCwKLQkweDFhLCAweDgxLCAweDgwLCAweDgxLCAweGYwLCAweDc0LCAweDBhLCAweDMzLAotCTB4ZjAsIDB4NzQsIDB4MTEsIDB4YWMsIDB4ZjksIDB4ODAsIDB4MTMsIDB4MjUsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg1MywgMHhmOSwgMHg4MCwgMHgxNywgMHg4MiwKLQkweGYwLCAweDc0LCAweDA2LCAweDJmLCAweGY5LCAweDgwLCAweDE0LCAweGIyLAotCTB4ZjksIDB4ODAsIDB4MTksIDB4MTAsIDB4ZjAsIDB4NzQsIDB4MGQsIDB4ZTMsCi0JMHhmMCwgMHg3NCwgMHgwNywgMHhlOCwgMHhmMCwgMHg3NCwgMHgwMiwgMHgzNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDYwLCAweGY4LAotCTB4MjcsIDB4N2IsIDB4ZmYsIDB4ZmYsIDB4ZjgsIDB4MzAsIDB4MDgsIDB4MzksCi0JMHg3MSwgMHhmOCwgMHgyNywgMHg3YiwgMHgyNywgMHg3OSwgMHg2MCwgMHhmOCwKLQkweDI3LCAweDc5LCAweGZmLCAweGZmLCAweGY4LCAweDMwLCAweDA4LCAweGIyLAotCTB4MTAsIDB4ZjgsIDB4MjksIDB4ODYsIDB4MDgsIDB4ZjgsIDB4MjcsIDB4NzksCi0JMHhmMCwgMHgzMCwgMHg3ZiwgMHhmZiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweDQwLCAweDAwLCAweGY2LCAweGE5LCAweGY4LCAweDMwLAotCTB4MDgsIDB4NTgsIDB4MTAsIDB4ZjgsIDB4MjcsIDB4NzksIDB4MDgsIDB4ZjgsCi0JMHgyNywgMHg3YSwgMHhmMCwgMHgzMCwgMHg3ZiwgMHhmZiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDQwLCAweDAwLCAweGY2LCAweGE5LAotCTB4ZjgsIDB4MjAsIDB4MDgsIDB4NjMsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NzksCi0JMHhmZiwgMHhmZiwgMHg3NiwgMHhmOCwgMHgyNywgMHg3YiwgMHhmZiwgMHhmZiwKLQkweGY3LCAweGI4LCAweGYyLCAweDczLCAweDA4LCAweGQ5LCAweGYwLCAweDIwLAotCTB4ZmYsIDB4ZmYsIDB4ZjYsIDB4YjgsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NzQsCi0JMHhmMCwgMHhmOSwgMHg4OCwgMHgxMSwgMHg1NiwgMHhmOCwgMHgyNywgMHg3MiwKLQkweGYwLCAweGY5LCAweDg4LCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4ZTcsIDB4MjAsIDB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MDgsIDB4OGYsCi0JMHhmMSwgMHgyMCwgMHgyNywgMHg3YywgMHg0OCwgMHgxMSwgMHhmNiwgMHgwMCwKLQkweDg4LCAweDEzLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgzLAotCTB4MDgsIDB4ZjgsIDB4MjcsIDB4NzksIDB4ZjAsIDB4MzAsIDB4N2YsIDB4ZmYsCi0JMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwKLQkweGY1LCAweGFiLCAweGY4LCAweDMwLCAweDA4LCAweDhmLCAweDZkLCAweDkxLAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsIDB4MDEsIDB4ZmYsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhlNywgMHgyMCwgMHhmNywgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDA4LCAweDc0LCAweDZkLCAweDg5LCAweDQ4LCAweDExLCAweGYwLCAweDMwLAotCTB4MDEsIDB4ZmYsIDB4ZjAsIDB4ZTcsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MDgsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg3NCwgMHg0OCwgMHgwOCwgMHhmMSwgMHhmOSwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcxLCAweGUxLAotCTB4MjcsIDB4N2MsIDB4MjcsIDB4N2EsIDB4NjAsIDB4ZjgsIDB4MjcsIDB4N2IsCi0JMHhmZiwgMHhmZiwgMHhmOCwgMHgzMCwgMHgwOCwgMHhhYiwgMHg0OCwgMHgwOCwKLQkweDRlLCAweGY4LCAweDI3LCAweDcyLCAweDc2LCAweGY4LCAweDI3LCAweDdiLAotCTB4ZmYsIDB4ZmYsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NzksIDB4ZmYsIDB4ZmYsCi0JMHhmMiwgMHg3MywgMHgwOCwgMHhkOSwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweDQ0LCAweGY4LCAweDI3LCAweDczLCAweDQwLCAweGY4LCAweDI3LCAweDc1LAotCTB4ODIsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHg4MCwgMHgwMCwgMHhmNiwgMHhhOSwgMHhmOCwgMHgyMCwgMHgwOCwgMHhkOCwKLQkweGY2LCAweGI4LCAweDEwLCAweGY4LCAweDI3LCAweDczLCAweGYwLCAweDAwLAotCTB4ODAsIDB4MDAsIDB4NDgsIDB4MDgsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NzQsCi0JMHg0OCwgMHgwOCwgMHhmMCwgMHhmOSwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDcxLCAweGUxLCAweDI3LCAweDdjLCAweDI3LCAweDdhLAotCTB4ZjcsIDB4YjgsIDB4NTcsIDB4ZjgsIDB4MjcsIDB4NzQsIDB4ZjAsIDB4NjIsCi0JMHhmZiwgMHhmZiwgMHhmMCwgMHg0MCwgMHhmZiwgMHg4MCwgMHhmMiwgMHg4MCwKLQkweDRlLCAweGY4LCAweDI3LCAweDc0LCAweGU4LCAweDAwLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZWUsIDB4ZmIsCi0JMHgxMSwgMHhmOCwgMHgyNywgMHg3MSwgMHgwOSwgMHhmOCwgMHgyNywgMHg3MywKLQkweDg5LCAweDExLCAweDg4LCAweDEwLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4ZjYsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MDgsIDB4ZWQsIDB4ZjIsIDB4NzMsCi0JMHgwOSwgMHgwZSwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhmNiwgMHgyMCwKLQkweDc2LCAweDAwLCAweDAwLCAweDQxLCAweGYwLCAweDc0LCAweDEyLCAweGVlLAotCTB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4ZjcsIDB4YjgsIDB4NmQsIDB4OTYsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxNiwgMHhmOCwgMHg0NywgMHgwOSwgMHgwYSwKLQkweGU3LCAweDYxLCAweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDc2LCAweDAxLAotCTB4MDAsIDB4ODAsIDB4NzYsIDB4MDIsIDB4MDAsIDB4ZmYsIDB4NzYsIDB4MDMsCi0JMHgwMCwgMHgwMCwgMHhmMiwgMHg3NCwgMHgwYywgMHhiOSwgMHhmNCwgMHg5NSwKLQkweGU4LCAweDAwLCAweDZjLCAweGU5LCAweGZmLCAweGZmLCAweDA4LCAweGZiLAotCTB4NzMsIDB4MTYsIDB4MDAsIDB4MGUsIDB4ZjAsIDB4NjYsIDB4MDAsIDB4NDEsCi0JMHhlZSwgMHgwNSwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLCAweDAwLCAweDEzLAotCTB4ZjYsIDB4YjgsIDB4NzcsIDB4MTEsIDB4N2YsIDB4ZmYsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHg0OCwgMHgxMSwgMHhmMiwgMHg4MCwgMHhmMCwgMHgwMCwKLQkweDgwLCAweDAwLCAweDg4LCAweDExLCAweGY2LCAweDQwLCAweGYwLCAweGUwLAotCTB4ZjEsIDB4ZjEsIDB4ZTgsIDB4MDEsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZjgsCi0JMHgyNywgMHg3OCwgMHg3NywgMHgxMiwgMHg4MCwgMHgwMCwgMHg1NywgMHhmOCwKLQkweDI3LCAweDcyLCAweDQ4LCAweDEyLCAweGYyLCAweDgwLCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODIsIDB4MDksIDB4MzgsCi0JMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweGYwLCAweDczLCAweDA5LCAweDNkLCAweGYwLCAweDIwLCAweDgwLCAweDAxLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4NzAsIDB4ODEsCi0JMHgwMCwgMHgxMywgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweGYwLCAweDMwLCAweDdmLCAweGZmLCAweDExLCAweGY4LCAweDI5LCAweDg2LAotCTB4ZjUsIDB4MjAsIDB4ZjMsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4ODksIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwKLQkweGY4LCAweDIwLCAweDA5LCAweDU0LCAweGYyLCAweDczLCAweDA5LCAweDY3LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDIsIDB4NmYsIDB4ZjgsIDB4MjcsIDB4N2EsCi0JMHgwZCwgMHgyMCwgMHhmMywgMHgzMCwgMHg3ZiwgMHhmZiwgMHg4OSwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDQwLCAweDAwLCAweGY2LCAweGE5LAotCTB4ZjgsIDB4MjAsIDB4MDksIDB4NjQsIDB4ZjIsIDB4NzMsIDB4MDksIDB4NjcsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMSwgMHg4MCwgMHhmOCwgMHgyNywgMHg3YiwKLQkweGU4LCAweDAwLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4MTEsIDB4ZjgsIDB4MjksIDB4ODYsIDB4ZjUsIDB4MjAsIDB4ZjMsIDB4MzAsCi0JMHg3ZiwgMHhmZiwgMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDQwLCAweDAwLCAweGY2LCAweGE5LCAweGY4LCAweDIwLCAweDA5LCAweDdhLAotCTB4ZjIsIDB4NzMsIDB4MDksIDB4OGQsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDIsCi0JMHg2ZiwgMHhmOCwgMHgyNywgMHg3YSwgMHgwZCwgMHgyMCwgMHhmMywgMHgzMCwKLQkweDdmLCAweGZmLCAweDg5LCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4NDAsIDB4MDAsIDB4ZjYsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MDksIDB4OGEsCi0JMHhmMiwgMHg3MywgMHgwOSwgMHg4ZCwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMSwKLQkweDgwLCAweGY4LCAweDI3LCAweDc5LCAweGU4LCAweDAwLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDIsCi0JMHgwMCwgMHgxMiwgMHg4OCwgMHgxMSwgMHhmNiwgMHhiOCwgMHg1NywgMHhmOCwKLQkweDI3LCAweDcyLCAweGYwLCAweDIwLCAweDdmLCAweGZmLCAweGYyLCAweDgwLAotCTB4ZjAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4ODAsIDB4ODEsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHhlOCwgMHgwMSwgMHhmMywgMHhmMSwgMHhmMiwgMHg4MCwKLQkweDgwLCAweGY4LCAweDI3LCAweDc4LCAweDc3LCAweDExLCAweDgwLCAweDAwLAotCTB4NDgsIDB4MTEsIDB4NTcsIDB4ZjgsIDB4MjcsIDB4NzIsIDB4ZjIsIDB4ODAsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MSwKLQkweDA5LCAweGI1LCAweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MDksIDB4YmEsIDB4ZjAsIDB4MjAsCi0JMHg4MCwgMHgwMSwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweDQ1LCAweGY4LCAweDI3LCAweDcxLCAweDQzLCAweGY4LCAweDI3LCAweDczLAotCTB4ODMsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZTcsIDB4MjAsCi0JMHhmNiwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwOSwgMHhjOSwgMHhmMiwgMHg3MywKLQkweDA5LCAweGU0LCAweDc3LCAweDEyLCAweDAwLCAweDAwLCAweDU3LCAweGY4LAotCTB4MjcsIDB4NzIsIDB4ZjAsIDB4MjAsIDB4N2YsIDB4ZmYsIDB4ZjIsIDB4ODAsCi0JMHg0OSwgMHgxMiwgMHhmNSwgMHgwMCwgMHhmMywgMHgwMCwgMHg4MCwgMHgwMCwKLQkweDYxLCAweGY4LCAweDAwLCAweDBiLCAweDgwLCAweDAwLCAweGY4LCAweDMwLAotCTB4MDksIDB4ZGMsIDB4ZjEsIDB4MjAsIDB4ODAsIDB4MDAsIDB4ZjUsIDB4MjAsCi0JMHg4OSwgMHgxMiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMiwgMHg2ZiwgMHhmOCwKLQkweDI3LCAweDczLCAweDBkLCAweDAwLCAweGY0LCAweDk1LCAweDQ5LCAweDBiLAotCTB4NGYsIDB4ZjgsIDB4MjcsIDB4NzIsIDB4OGEsIDB4MTEsIDB4ZmUsIDB4MDAsCi0JMHg0OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGZjLCAweGY0LCAweDk1LCAweDcxLCAweDA4LAotCTB4MDAsIDB4MTYsIDB4ODgsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MDgsIDB4MzAsCi0JMHg0OCwgMHgxOCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwgMHhmMiwgMHg3NCwKLQkweDA5LCAweDhmLCAweGYwLCAweDAwLCAweDAwLCAweDAyLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODEsIDB4MGEsIDB4MGEsCi0JMHhmMiwgMHg3NCwgMHgwOCwgMHhkYiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNiwKLQkweDQ4LCAweDE4LCAweDcwLCAweDAwLCAweDAwLCAweDE2LCAweGYyLCAweDc0LAotCTB4MDksIDB4OGYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODgsIDB4MTEsCi0JMHgxMCwgMHgwMiwgMHg3MCwgMHgwMSwgMHgwMCwgMHgxMSwgMHg4MCwgMHgwMCwKLQkweGYyLCAweDc0LCAweDA2LCAweGNlLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LAotCTB4NDksIDB4MTEsIDB4NDgsIDB4MTcsIDB4ZjYsIDB4MDAsIDB4ODgsIDB4MTcsCi0JMHhlNywgMHg2MCwgMHhmNSwgMHhhOSwgMHhmOCwgMHgyMCwgMHgwYSwgMHgyZCwKLQkweDQ4LCAweDE2LCAweGY2LCAweDIwLCAweDg4LCAweDExLCAweDQ4LCAweDE4LAotCTB4NzAsIDB4MDAsIDB4MDAsIDB4MTEsIDB4ZjIsIDB4NzQsIDB4MDksIDB4OGYsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4OCwgMHgxMSwgMHg3MCwgMHgwMSwKLQkweDAwLCAweDExLCAweDEwLCAweDAyLCAweDgwLCAweDAwLCAweGYyLCAweDc0LAotCTB4MDYsIDB4Y2UsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsIDB4ZWUsIDB4MDQsCi0JMHg0OCwgMHgxNiwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweGVlLCAweGZkLCAweGU4LCAweDAwLCAweDRlLCAweGY4LAotCTB4MjcsIDB4NzAsIDB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NzIsCi0JMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwgMHgyNywgMHg3NCwgMHhlOCwgMHgwMCwKLQkweDRlLCAweGY4LCAweDI3LCAweDc2LCAweDc2LCAweGY4LCAweDI3LCAweDc5LAotCTB4ZmYsIDB4ZmYsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4N2EsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhmOCwgMHgyNywgMHg3YiwgMHhmZiwgMHhmZiwgMHg3NiwgMHhmOCwKLQkweDI3LCAweDc4LCAweDAwLCAweDAwLCAweGU4LCAweDAwLCAweDc1LCAweGY4LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHgwMSwgMHgwMiwgMHgwMCwgMHhmMiwgMHg3NCwgMHgxMiwgMHhkYywKLQkweGYwLCAweDIwLCAweDI3LCAweDdjLCAweGVlLCAweDAzLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmMsIDB4ZjQsIDB4OTUsIDB4NGUsIDB4MDAsCi0JMHg3NywgMHgxMiwgMHg3ZiwgMHhmZiwgMHhmNiwgMHhiOCwgMHg0OSwgMHgxMiwKLQkweGYxLCAweDgwLCAweGYzLCAweDAwLCAweDgwLCAweDAwLCAweDg5LCAweDEyLAotCTB4ZjAsIDB4ZTAsIDB4ZjEsIDB4ZjEsIDB4NGYsIDB4MDIsIDB4ZTksIDB4MDEsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgwYiwgMHhmNSwgMHg0MCwgMHg1NiwgMHgwMiwKLQkweGYxLCAweDgwLCAweDgxLCAweGY4LCAweDI3LCAweDc4LCAweDc3LCAweDExLAotCTB4ODAsIDB4MDAsIDB4NTYsIDB4MDAsIDB4NDksIDB4MTEsIDB4ZjEsIDB4ODAsCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MSwKLQkweDBhLCAweDgxLCAweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MGEsIDB4ODYsIDB4ZjAsIDB4MjAsCi0JMHg4MCwgMHgwMSwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweDEwLCAweDgyLCAweGVlLCAweDA0LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsIDB4ZjQsIDB4OTUsIDB4NGUsIDB4MDAsCi0JMHg3NywgMHgxMSwgMHg3ZiwgMHhmZiwgMHhmNiwgMHhiOCwgMHg0OSwgMHgxMSwKLQkweGYxLCAweDgwLCAweGYzLCAweDAwLCAweDgwLCAweDAwLCAweDg5LCAweDExLAotCTB4ZjAsIDB4ZTAsIDB4ZjEsIDB4ZjEsIDB4ZTgsIDB4MDEsIDB4ZjIsIDB4ODAsCi0JMHg4MCwgMHhmOCwgMHgyNywgMHg3OCwgMHg1NiwgMHgwMCwgMHhmMSwgMHgyMCwKLQkweDgwLCAweDAwLCAweGYxLCAweDgwLCAweGY0LCAweDk1LCAweDQ5LCAweDBiLAotCTB4ZjgsIDB4NGQsIDB4MGEsIDB4YWIsIDB4ZjAsIDB4MjAsIDB4ODAsIDB4MDEsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywKLQkweDBhLCAweGFmLCAweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LAotCTB4MDAsIDB4MDEsIDB4ZWUsIDB4MDIsIDB4NDgsIDB4MTEsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMiwgMHgxMywgMHgwMiwKLQkweDc3LCAweDExLCAweDAwLCAweDAwLCAweGY4LCAweDRkLCAweDBhLCAweGNiLAotCTB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ODksIDB4MWEsIDB4ZjQsIDB4OTUsCi0JMHhmMCwgMHg3MiwgMHgwYSwgMHhjYSwgMHg0OCwgMHgxMSwgMHgxYywgMHhmOCwKLQkweDI5LCAweDdlLCAweDg4LCAweDExLCAweDExLCAweGY4LCAweDI5LCAweDdlLAotCTB4ZjIsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZjgsIDB4MjksIDB4N2UsCi0JMHg4MSwgMHg5MiwgMHg0OCwgMHgxMSwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLCAweDAwLCAweDExLAotCTB4ODgsIDB4MTIsIDB4ZjYsIDB4YjgsIDB4ZjAsIDB4MjAsIDB4N2YsIDB4ZmYsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg3MCwgMHhmMiwgMHg4MCwgMHhmMCwgMHgwMCwKLQkweDgwLCAweDAwLCAweDgwLCAweDgyLCAweDU3LCAweGY4LCAweDI3LCAweDcwLAotCTB4ZTgsIDB4MDEsIDB4ZjMsIDB4ZjEsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZjgsCi0JMHgyNywgMHg3OCwgMHg3NywgMHgxMiwgMHg4MCwgMHgwMCwgMHg0OCwgMHgxMiwKLQkweDU3LCAweGY4LCAweDI3LCAweDcwLCAweGYyLCAweDgwLCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODIsIDB4MGEsIDB4ZjQsCi0JMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweGYwLCAweDczLCAweDBhLCAweGY5LCAweGYwLCAweDIwLCAweDgwLCAweDAxLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4NDUsIDB4ZjgsCi0JMHgyNywgMHg3NSwgMHhlNywgMHgxMCwgMHg0MywgMHhmOCwgMHgyNywgMHg3MSwKLQkweDgzLCAweGY4LCAweDAwLCAweDEyLCAweDZkLCAweGU4LCAweDAwLCAweDA0LAotCTB4NmQsIDB4OGEsIDB4ZjYsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MGIsIDB4MGEsCi0JMHhmMiwgMHg3MywgMHgwYiwgMHgyNSwgMHg3NywgMHgxMSwgMHgwMCwgMHgwMCwKLQkweDU3LCAweGY4LCAweDI3LCAweDcwLCAweGYwLCAweDIwLCAweDdmLCAweGZmLAotCTB4ZjIsIDB4ODAsIDB4NDksIDB4MTEsIDB4ZjUsIDB4MDAsIDB4ZjMsIDB4MDAsCi0JMHg4MCwgMHgwMCwgMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwgMHg4MCwgMHgwMCwKLQkweGY4LCAweDMwLCAweDBiLCAweDFkLCAweGYxLCAweDIwLCAweDgwLCAweDAwLAotCTB4ZjUsIDB4MjAsIDB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHg2ZiwgMHhmOCwgMHgyNywgMHg3MSwgMHgwZCwgMHgwMCwgMHhmNCwgMHg5NSwKLQkweDQ5LCAweDBiLCAweDRmLCAweGY4LCAweDI3LCAweDcwLCAweDQ4LCAweDExLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmMCwgMHg4OCwgMHgxNywgMHgxMCwgMHgxNywKLQkweDgwLCAweDA1LCAweDEwLCAweDE2LCAweDgwLCAweDA2LCAweDEwLCAweDE1LAotCTB4ODAsIDB4MDcsIDB4NzEsIDB4MTQsIDB4MDAsIDB4MTEsIDB4MTAsIDB4MDUsCi0JMHhmMCwgMHgzMCwgMHgwMCwgMHgwMSwgMHg4OCwgMHgxMCwgMHgxMCwgMHgwNiwKLQkweGYwLCAweDMwLCAweDAwLCAweDAxLCAweDgwLCAweDA4LCAweDQ5LCAweDExLAotCTB4MTAsIDB4MDUsIDB4ZjYsIDB4MDEsIDB4ODAsIDB4MDksIDB4MTAsIDB4MDYsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwKLQkweDBiLCAweDRiLCAweDEwLCAweDA5LCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4ODAsIDB4MDksIDB4NzEsIDB4MDgsIDB4MDAsIDB4MTIsIDB4ZjQsIDB4YWEsCi0JMHhmOCwgMHgzMCwgMHgwYiwgMHg1NCwgMHgxMCwgMHgwOSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDgwLCAweDA5LCAweDEyLCAweDA5LCAweDQ5LCAweDExLAotCTB4ZjQsIDB4N2YsIDB4ODAsIDB4MDksIDB4ZjYsIDB4MjAsIDB4ODAsIDB4MGEsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg3MCwgMHg0ZSwgMHgwYywgMHgxMCwgMHgwOSwKLQkweDgwLCAweDAwLCAweDQ4LCAweDE4LCAweGYyLCAweDc0LCAweDBhLCAweGNlLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg2YywgMHg4NiwgMHgwYiwgMHg2ZCwgMHhmMiwgMHg3MywKLQkweDBjLCAweDU5LCAweGY0LCAweDk1LCAweGU4LCAweDAwLCAweGY2LCAweGI4LAotCTB4ZjQsIDB4OTUsIDB4NTYsIDB4MGMsIDB4ZjAsIDB4ZjksIDB4ODgsIDB4MTIsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MCwgMHhlMiwgMHgyNywgMHg3YywKLQkweDI5LCAweDg2LCAweGU4LCAweDAwLCAweDgwLCAweDBlLCAweDQ4LCAweDExLAotCTB4ZjgsIDB4NDUsIDB4MGIsIDB4Y2MsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDEsCi0JMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwYiwgMHg4OSwgMHg2YywgMHhlMSwKLQkweGZmLCAweGZkLCAweDBiLCAweDhiLCAweDEwLCAweGU3LCAweDAwLCAweDAyLAotCTB4ODAsIDB4MGUsIDB4ZjAsIDB4NzMsIDB4MGIsIDB4OGIsIDB4MTAsIDB4ODcsCi0JMHg4MCwgMHgwZSwgMHhlNywgMHgxMCwgMHhmNSwgMHhhZSwgMHhmOCwgMHgyMCwKLQkweDBiLCAweGIyLCAweDcwLCAweDAwLCAweDAwLCAweDE3LCAweDcwLCAweDAxLAotCTB4MDAsIDB4MTYsIDB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4Y2UsCi0JMHg0OCwgMHgxNywgMHg0OSwgMHgxNiwgMHhmNiwgMHgwMCwgMHg4OCwgMHgxNywKLQkweDQ4LCAweDExLCAweGY2LCAweDIwLCAweDg4LCAweDExLCAweDEwLCAweDA5LAotCTB4ZjYsIDB4MjAsIDB4ODAsIDB4MDAsIDB4NDgsIDB4MTgsIDB4ZjIsIDB4NzQsCi0JMHgwYSwgMHhjZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg4OCwgMHgxNiwKLQkweDEwLCAweDA0LCAweDcwLCAweDAwLCAweDAwLCAweDE3LCAweDcwLCAweDAxLAotCTB4MDAsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4NDgsIDB4MTEsCi0JMHgwMCwgMHgwNCwgMHg4MCwgMHgwNCwgMHhmMCwgMHg3MywgMHgwYiwgMHhiYywKLQkweDcwLCAweDAwLCAweDAwLCAweDE3LCAweDcwLCAweDAxLCAweDAwLCAweDExLAotCTB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4NDgsIDB4MTEsCi0JMHgwMCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg0OSwgMHgxMSwgMHg0OCwgMHgxNiwKLQkweGY2LCAweDIwLCAweDg4LCAweDE2LCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4NmMsIDB4ODYsIDB4MGIsIDB4Y2MsIDB4MTAsIDB4MGEsIDB4ODAsIDB4MDAsCi0JMHg0OCwgMHgxOCwgMHhmMiwgMHg3NCwgMHgwYSwgMHhjZSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA0LCAweDg4LCAweDE2LCAweDEyLCAweDBhLCAweGY4LCAweDQ1LAotCTB4MGMsIDB4MzMsIDB4NzEsIDB4MGEsIDB4MDAsIDB4MTAsIDB4ZjQsIDB4YWUsCi0JMHhmOCwgMHgzMCwgMHgwYywgMHgxYywgMHg0OCwgMHgxNiwgMHhmMCwgMHhlMSwKLQkweDg4LCAweDExLCAweDEyLCAweDA4LCAweGY4LCAweDQ1LCAweDBiLCAweGRiLAotCTB4NmQsIDB4ODksIDB4MTIsIDB4MDcsIDB4ZjgsIDB4NDUsIDB4MGIsIDB4ZTksCi0JMHgxMCwgMHgwNywgMHg4MCwgMHgwMCwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxMSwKLQkweDEwLCAweDA2LCAweDgwLCAweDAxLCAweDEwLCAweDA0LCAweGYwLCAweDc0LAotCTB4MDYsIDB4ZGMsIDB4ZjAsIDB4NzMsIDB4MGIsIDB4ZWYsIDB4NDgsIDB4MTEsCi0JMHg2ZiwgMHgwMCwgMHgwYywgMHg5ZiwgMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDBhLCAweGIzLCAweDExLCAweDBlLCAweGYxLCAweGMwLCAweDgxLCAweDBlLAotCTB4MTAsIDB4MDYsIDB4NDksIDB4MTEsIDB4ZjYsIDB4MDAsIDB4ODAsIDB4MDYsCi0JMHgxMCwgMHgwNSwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDQ4LCAweDA4LCAweDZmLCAweDAwLCAweDBjLCAweDlmLAotCTB4NDgsIDB4MTgsIDB4ZjIsIDB4NzQsIDB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHgxMiwgMHgwNywgMHhmOCwgMHg0NSwgMHgwYywgMHgxMSwKLQkweDEwLCAweDA3LCAweDgwLCAweDAwLCAweDcwLCAweDAyLCAweDAwLCAweDExLAotCTB4MTAsIDB4MDYsIDB4ODAsIDB4MDEsIDB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsCi0JMHgwNiwgMHhkYywgMHhmMCwgMHg3MywgMHgwYywgMHgxNywgMHg0OCwgMHgxMSwKLQkweDZmLCAweDAwLCAweDBjLCAweDlmLCAweDEwLCAweDA0LCAweGYwLCAweDc0LAotCTB4MGEsIDB4YjMsIDB4MTEsIDB4MGUsIDB4ZjEsIDB4YzAsIDB4ODEsIDB4MGUsCi0JMHhmMCwgMHg3MywgMHgwYywgMHgzMywgMHgxMiwgMHgwNywgMHhmOCwgMHg0NSwKLQkweDBjLCAweDJhLCAweDEwLCAweDA3LCAweDgwLCAweDAwLCAweDEwLCAweDA2LAotCTB4ODAsIDB4MDEsIDB4MTAsIDB4MDUsIDB4ODAsIDB4MDIsIDB4MTAsIDB4MDQsCi0JMHhmMCwgMHg3NCwgMHgwNiwgMHhkYywgMHhmMCwgMHg3MywgMHgwYywgMHgzMCwKLQkweDEyLCAweDA1LCAweDZmLCAweDAwLCAweDBjLCAweDlmLCAweDEwLCAweDA0LAotCTB4ZjAsIDB4NzQsIDB4MGEsIDB4YjMsIDB4MTEsIDB4MGUsIDB4ZjEsIDB4YzAsCi0JMHg4MSwgMHgwZSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMSwgMHg0OCwgMHgxOCwKLQkweGYyLCAweDc0LCAweDBhLCAweGNlLCAweGYwLCAweDAwLCAweDAwLCAweDA0LAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTEsIDB4NzAsIDB4ODEsIDB4MjksIDB4ODYsCi0JMHgxMCwgMHgwZSwgMHgxYywgMHhmOCwgMHgyOSwgMHg4NiwgMHg4MCwgMHgwZSwKLQkweDc2LCAweDAwLCAweDAwLCAweDAxLCAweDQ4LCAweDE4LCAweGYyLCAweDc0LAotCTB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MTAsIDB4MGUsCi0JMHg3MSwgMHgwNCwgMHgwMCwgMHgxMSwgMHg4MCwgMHg4MSwgMHgxMCwgMHhmOCwKLQkweDI5LCAweDg2LCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweGYwLCAweDMwLAotCTB4N2YsIDB4ZmYsIDB4ODAsIDB4ZjgsIDB4MjksIDB4ODYsIDB4MTAsIDB4MDksCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgwOSwgMHhlZSwgMHgxMCwKLQkweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NzUsIDB4MDgsIDB4ZjgsIDB4MjcsIDB4NzEsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgwMSwgMHg0OCwgMHgwOCwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweGVlLCAweGZmLCAweGY0LCAweDk1LAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0OCwgMHgwOCwgMHg0ZSwgMHhmOCwgMHgyOSwgMHg3YywgMHg2ZCwgMHhlZSwKLQkweGZmLCAweGZkLCAweDQ4LCAweDE2LCAweGY4LCAweDQ1LCAweDBjLCAweDk5LAotCTB4NTYsIDB4ZjgsIDB4MjksIDB4N2MsIDB4ZjAsIDB4NzQsIDB4MGEsIDB4NWEsCi0JMHg4OCwgMHgxMSwgMHgxMCwgMHhmOCwgMHgyOSwgMHg3ZCwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDQ4LCAweDA4LCAweDRlLCAweGY4LCAweDI5LCAweDdjLAotCTB4MTAsIDB4ZjgsIDB4MjksIDB4ODIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhhOSwKLQkweGZhLCAweDMwLCAweDBjLCAweDk2LCAweDgwLCAweGY4LCAweDI5LCAweDgyLAotCTB4NTYsIDB4ZjgsIDB4MjksIDB4ODAsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0ZSwgMHhmOCwgMHgyOSwgMHg4MCwgMHg3MywgMHgxMSwgMHgyOSwgMHg4MiwKLQkweDZjLCAweGVlLCAweGZmLCAweGZmLCAweDBjLCAweDc2LCAweGVlLCAweDAxLAotCTB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg3NiwgMHhmOCwgMHgyOSwgMHg4NCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwKLQkweDI5LCAweDg1LCAweDAwLCAweDAxLCAweGU4LCAweDAwLCAweDRlLCAweGY4LAotCTB4MmEsIDB4MGMsIDB4NzYsIDB4ZjgsIDB4MjksIDB4ODYsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhmOCwgMHgyOSwgMHg4NywgMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwKLQkweDI5LCAweDg4LCAweDc2LCAweDgxLCAweGFhLCAweGFhLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDEsIDB4YWEsIDB4YWEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweGVlLCAweGZjLCAweGY0LCAweDk1LCAweDcxLCAweDA2LCAweDAwLCAweDE0LAotCTB4NzEsIDB4MDcsIDB4MDAsIDB4MTMsIDB4NzEsIDB4MDgsIDB4MDAsIDB4MTIsCi0JMHg3MSwgMHgwOSwgMHgwMCwgMHgxNSwgMHg3NywgMHgxMCwgMHgwMCwgMHhmZiwKLQkweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDBkLCAweDQ0LCAweDQ5LCAweDEzLAotCTB4NTMsIDB4ZjgsIDB4MmEsIDB4MGMsIDB4NGYsIDB4ZjgsIDB4MmEsIDB4MGMsCi0JMHg3MywgMHgxMiwgMHgwMCwgMHgwZSwgMHhmMSwgMHg2NiwgMHgwMCwgMHgwZCwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDAwLCAweDAxLAotCTB4NzEsIDB4ZTEsIDB4MjQsIDB4MDAsIDB4MDAsIDB4MTEsIDB4ZjQsIDB4YTksCi0JMHhmOCwgMHgzMCwgMHgwZCwgMHgxNywgMHg3NywgMHgxMCwgMHgwMCwgMHgwMiwKLQkweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDBjLCAweGVjLCAweDc3LCAweDExLAotCTB4MjksIDB4OGEsIDB4NzYsIDB4ODEsIDB4MDAsIDB4MDAsIDB4ZTgsIDB4MDAsCi0JMHg3NywgMHgxNCwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMywgMHgwMCwgMHgwMCwKLQkweGYwLCAweDczLCAweDBkLCAweDQ4LCAweDZjLCAweDgzLCAweDBjLCAweGZhLAotCTB4NzcsIDB4MTEsIDB4MjksIDB4OGEsIDB4NDgsIDB4MTIsIDB4ZjAsIDB4ZTgsCi0JMHhmMCwgMHg0MCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg4MSwgMHhlOCwgMHgwMCwKLQkweDc3LCAweDE0LCAweDAwLCAweDAwLCAweGYwLCAweDczLCAweDBkLCAweDQ4LAotCTB4NDksIDB4MTMsIDB4ZjMsIDB4NDAsIDB4ODAsIDB4MDAsIDB4ODEsIDB4ZjgsCi0JMHgyOSwgMHg4YSwgMHg2MSwgMHhmOCwgMHgwMCwgMHgxNSwgMHgwMCwgMHgwMSwKLQkweGY4LCAweDIwLCAweDBkLCAweDA3LCAweDY5LCAweGY4LCAweDI5LCAweDhhLAotCTB4NDAsIDB4MDAsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTQsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgyMCwgMHgwZCwgMHgwZiwgMHg2OSwgMHhmOCwgMHgyOSwgMHg4YSwKLQkweDIwLCAweDAwLCAweDc3LCAweDExLCAweDI5LCAweDhhLCAweDQ5LCAweDEyLAotCTB4ZjMsIDB4ZTgsIDB4MWIsIDB4ODEsIDB4ODEsIDB4ODEsIDB4ZjAsIDB4NzMsCi0JMHgwZCwgMHg0OCwgMHgxMSwgMHhmOCwgMHgyOSwgMHg4NCwgMHhmOCwgMHg0YywKLQkweDBkLCAweDM3LCAweDc3LCAweDExLCAweDI5LCAweDg4LCAweDc2LCAweDgxLAotCTB4YWEsIDB4YWEsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODUsIDB4ZjMsIDB4MTAsCi0JMHgwMCwgMHgwMSwgMHhmMywgMHg0MCwgMHhhYSwgMHgwMCwgMHg4MSwgMHhlMSwKLQkweDAwLCAweDAxLCAweDc2LCAweDAwLCAweDAwLCAweDAyLCAweDgwLCAweDAxLAotCTB4NzAsIDB4MDIsIDB4MDAsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDAsIDB4MTMsCi0JMHhmMiwgMHg3NCwgMHgwYiwgMHgyOCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweDcxLCAweGY4LCAweDI5LCAweDg1LCAweDI5LCAweDg0LCAweGYwLCAweDczLAotCTB4MGQsIDB4NzMsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4MDEsCi0JMHg3NiwgMHgwMiwgMHgwMCwgMHgwMCwgMHg3MCwgMHgwMywgMHgwMCwgMHgxMywKLQkweGYyLCAweDc0LCAweDBiLCAweDI4LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4NzMsIDB4NzcsIDB4MTEsIDB4MjksIDB4OGEsCi0JMHg3MCwgMHg4MSwgMHgwMCwgMHgxMywgMHgxMSwgMHhmOCwgMHgyOSwgMHg4NCwKLQkweGY4LCAweDRjLCAweDBkLCAweDY4LCAweDc3LCAweDExLCAweDI5LCAweDg4LAotCTB4NzYsIDB4ODEsIDB4YWEsIDB4YWEsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODUsCi0JMHhmMywgMHgxMCwgMHgwMCwgMHgwMSwgMHhmMywgMHg0MCwgMHhhYSwgMHgwMCwKLQkweDgxLCAweGUxLCAweDAwLCAweDAxLCAweDc2LCAweDAwLCAweDAwLCAweDAzLAotCTB4ODAsIDB4MDEsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTQsIDB4NzAsIDB4MDMsCi0JMHgwMCwgMHgxMywgMHhmMiwgMHg3NCwgMHgwYiwgMHgyOCwgMHhmNCwgMHg5NSwKLQkweDQ4LCAweDExLCAweDcxLCAweGY4LCAweDI5LCAweDg1LCAweDI5LCAweDg0LAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4NzMsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg4MCwgMHgwMSwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxNCwgMHg3MCwgMHgwMywKLQkweDAwLCAweDEzLCAweGYyLCAweDc0LCAweDBiLCAweDI4LCAweGY0LCAweDk1LAotCTB4NDgsIDB4MTEsIDB4NmIsIDB4ZjgsIDB4MjksIDB4ODQsIDB4ZmYsIDB4ZmYsCi0JMHhlZSwgMHgwNCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweGY1LCAweDQwLCAweGY0LCAweDk1LCAweDQ4LCAweDBiLCAweGY0LCAweDc4LAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ZTEsCi0JMHhmZiwgMHhiOSwgMHgwZCwgMHg4OCwgMHhmMiwgMHg3MywgMHgwZCwgMHhhNSwKLQkweGY0LCAweDk1LCAweGU4LCAweDYwLCAweGYyLCAweDAwLCAweDAwLCAweDA2LAotCTB4NjEsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4MDAsIDB4MjAsIDB4ZjgsIDB4MzAsCi0JMHgwZCwgMHg5OCwgMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwgMHgwMCwgMHgwMSwKLQkweGY4LCAweDIwLCAweDBkLCAweGEzLCAweGYyLCAweDAwLCAweDAwLCAweDA3LAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4YTMsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsCi0JMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwgMHgwZCwgMHhhMSwgMHhmMiwgMHg3MywKLQkweDBkLCAweGEzLCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDIsIDB4NDgsIDB4MDgsIDB4ZjQsIDB4N2YsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHhlZSwgMHhmZiwgMHhmMCwgMHg3NCwgMHgwNywgMHhmZCwKLQkweGYwLCAweDc0LCAweDA3LCAweDQ0LCAweGYwLCAweDc0LCAweDBkLCAweGI0LAotCTB4ZjAsIDB4NzQsIDB4MDIsIDB4MDUsIDB4ZjAsIDB4NzQsIDB4MDQsIDB4NjAsCi0JMHhmMCwgMHg3MywgMHgwZCwgMHhhYSwgMHhlZSwgMHhmZCwgMHgxMCwgMHhmOCwKLQkweDJhLCAweGEzLCAweGY4LCAweDQ0LCAweDBkLCAweGNiLCAweDEwLCAweGY4LAotCTB4MmEsIDB4YTQsIDB4ZjgsIDB4NDUsIDB4MGQsIDB4ZDcsIDB4NzYsIDB4MDAsCi0JMHgwMiwgMHgwMCwgMHhmMiwgMHg3NCwgMHgwOSwgMHhlOCwgMHhmMCwgMHgyMCwKLQkweDIyLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGE0LCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4YTcsIDB4MDAsIDB4MDAsIDB4ZjAsIDB4NzMsCi0JMHgwZCwgMHhkNywgMHg3NiwgMHgwMCwgMHgwMiwgMHgwMCwgMHhmMiwgMHg3NCwKLQkweDA5LCAweGU4LCAweGYwLCAweDIwLCAweDIwLCAweDAwLCAweDc2LCAweGY4LAotCTB4MmEsIDB4YTMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTcsCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHg3NCwgMHgwYywgMHg1ZSwgMHhmMCwgMHhlMCwKLQkweGYwLCAweDEwLCAweDNhLCAweDk4LCAweGY4LCAweDQ3LCAweDBkLCAweGUxLAotCTB4NzYsIDB4ZjgsIDB4MjcsIDB4NmUsIDB4MDAsIDB4MDAsIDB4ZWUsIDB4MDMsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwgMHg3NywgMHgxMSwKLQkweDIwLCAweDAwLCAweDc2LCAweDAwLCAweGFhLCAweGFhLCAweDc2LCAweDAxLAotCTB4MDIsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4NmMsIDB4ZjQsIDB4OTUsCi0JMHg0OCwgMHgxMSwgMHg3NiwgMHgwMCwgMHg1NSwgMHg1NSwgMHg3NiwgMHgwMSwKLQkweDAyLCAweDAwLCAweDQ4LCAweDExLCAweGYyLCAweDc0LCAweDA2LCAweDZjLAotCTB4ZjAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhNCwgMHgwMCwgMHgwMCwKLQkweGU4LCAweDAwLCAweDRlLCAweDAwLCAweGZiLCAweDgwLCAweDE1LCAweDNlLAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDQsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4YTUsCi0JMHg3NiwgMHgwMCwgMHgyYSwgMHhhOCwgMHhmOSwgMHg4MCwgMHgxNCwgMHg4NywKLQkweDc2LCAweDAwLCAweDJhLCAweGFkLCAweGZiLCAweDgwLCAweDEzLCAweDYyLAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDIsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4YTUsCi0JMHhmOSwgMHg4MCwgMHgxNCwgMHg2MywgMHhmYiwgMHg4MCwgMHgxNiwgMHg2NiwKLQkweGY0LCAweDk1LCAweGU4LCAweDFjLCAweGZiLCAweDgwLCAweDE2LCAweDg3LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWMsIDB4ZTgsIDB4MDEsIDB4NGUsIDB4MDAsCi0JMHhmYiwgMHg4MCwgMHgxNywgMHhkNiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweDgwLCAweGY4LCAweDJhLCAweGE2LCAweDc2LCAweDAwLCAweDJhLCAweGI3LAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4YWEsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4YTYsCi0JMHhmOSwgMHg4MCwgMHgxNywgMHg1YywgMHgxMCwgMHhmOCwgMHgyYSwgMHhhNiwKLQkweGY5LCAweDgwLCAweDE3LCAweDZmLCAweGVlLCAweDAyLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4ZjQsIDB4OTUsIDB4NGEsIDB4MDgsIDB4NGEsIDB4MDksCi0JMHg0YSwgMHgwYSwgMHg0YSwgMHgwNywgMHg0YSwgMHgxZCwgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHhhNywgMHhmOCwgMHg0NCwgMHgwZSwgMHg0YiwKLQkweDc2LCAweGY4LCAweDJhLCAweGEzLCAweDAwLCAweDAxLCAweGYwLCAweDczLAotCTB4MGUsIDB4NGUsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTQsIDB4MDAsIDB4MDEsCi0JMHg4YSwgMHgxZCwgMHg4YSwgMHgwNywgMHg4YSwgMHgwYSwgMHg4YSwgMHgwOSwKLQkweDhhLCAweDA4LCAweGY0LCAweGViLCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmUsIDB4ODgsIDB4MGUsIDB4NzEsIDB4MDgsCi0JMHgwMCwgMHgxNiwgMHg3MSwgMHgwNiwgMHgwMCwgMHgxNywgMHgxMSwgMHgwNywKLQkweGYwLCAweDY2LCAweDAwLCAweDBkLCAweGYwLCAweDAwLCAweDI1LCAweGEwLAotCTB4ODgsIDB4MTEsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsIDB4ODEsIDB4MDAsCi0JMHhmMiwgMHg3NCwgMHgwNiwgMHhjZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDc2LCAweDAxLCAweDAwLCAweDA2LCAweDcwLCAweDAwLCAweDAwLCAweDE2LAotCTB4NDgsIDB4MTEsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNywgMHg3MCwgMHg4MSwgMHgwMCwgMHgxNywgMHhlZSwgMHgwMiwKLQkweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ODgsIDB4MGUsIDB4NzEsIDB4MDIsIDB4MDAsIDB4MTIsCi0JMHgxMSwgMHgwMywgMHhmMCwgMHg2NiwgMHgwMCwgMHgwZCwgMHhmMCwgMHgwMCwKLQkweDI0LCAweDAwLCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweDcwLCAweDgxLAotCTB4MDAsIDB4MTIsIDB4NmUsIDB4ZTIsIDB4ZmYsIDB4ZmUsIDB4MGUsIDB4OGQsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhlOCwgMHgwMSwgMHg4MCwgMHhlMSwKLQkweDAwLCAweDAyLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweGZmLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwYiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywKLQkweDAwLCAweDAwLCAweDgxLCAweGUxLCAweDAwLCAweDAxLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmMsIDB4ODgsIDB4MGUsCi0JMHhmNCwgMHg5NSwgMHhmMSwgMHg2NiwgMHgwMCwgMHgwZCwgMHhmMywgMHgwMCwKLQkweDI0LCAweDAwLCAweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwYiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDAxLCAweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDc2LCAweDAxLAotCTB4MDAsIDB4MDAsIDB4ODAsIDB4MDIsIDB4NzYsIDB4MDMsIDB4MDAsIDB4MDAsCi0JMHhmMiwgMHg3NCwgMHgwYywgMHhiOSwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweGVlLCAweDA0LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4ODgsIDB4MTksIDB4ZjQsIDB4OTUsIDB4NzMsIDB4MTksIDB4MDAsIDB4MGUsCi0JMHhmMSwgMHg2NiwgMHgwMCwgMHgwZCwgMHhmMiwgMHgwMCwgMHgyNCwgMHgwMCwKLQkweDc3LCAweDE1LCAweDI1LCAweGEwLCAweDc3LCAweDE0LCAweDAwLCAweDAwLAotCTB4NzcsIDB4MWEsIDB4MDAsIDB4MWYsIDB4ZjAsIDB4NzIsIDB4MGYsIDB4MTQsCi0JMHhmNiwgMHhiOCwgMHg0OSwgMHgxOSwgMHgwOSwgMHg4NSwgMHhmOCwgMHg0YywKLQkweDBmLCAweDEzLCAweGYxLCAweDAwLCAweDAwLCAweDA1LCAweDg5LCAweDExLAotCTB4NDksIDB4MTUsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODksIDB4MTMsCi0JMHg0OSwgMHgxNSwgMHhmMywgMHgwMCwgMHgwMCwgMHgwNywgMHg4OSwgMHgxMiwKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDEwLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODAsIDB4MGYsIDB4MTMsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTAsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MCwgMHgwZiwgMHgxMywKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDEwLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODAsIDB4MGYsIDB4MTMsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MSwgMHgwZiwgMHgxMywKLQkweDZkLCAweDk0LCAweDZkLCAweGVkLCAweDAwLCAweDBkLCAweDQ4LCAweDE0LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmOCwgMHg4OCwgMHgxNywgMHgxMCwgMHgwZCwKLQkweDgwLCAweDA0LCAweDEwLCAweDBjLCAweDgwLCAweDA1LCAweDcxLCAweDBlLAotCTB4MDAsIDB4MTYsIDB4NzMsIDB4MTcsIDB4MDAsIDB4MGUsIDB4ZjAsIDB4NjYsCi0JMHgwMCwgMHgwZCwgMHhmMCwgMHgwMCwgMHgyNCwgMHgwMCwgMHg4OCwgMHgxMSwKLQkweDEwLCAweGY4LCAweDI3LCAweDYzLCAweGY4LCAweDQ1LCAweDBmLCAweDMyLAotCTB4ZjIsIDB4NzQsIDB4MGUsIDB4OWYsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsCi0JMHgxMCwgMHhmOCwgMHgyNywgMHg2MCwgMHhmOCwgMHg0NCwgMHgwZiwgMHgzZCwKLQkweDYwLCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDAxLCAweGY4LCAweDIwLAotCTB4MGYsIDB4NmQsIDB4ZjAsIDB4NzMsIDB4MTEsIDB4MzMsIDB4MTAsIDB4MDQsCi0JMHg4MCwgMHgwMCwgMHgxMCwgMHgwNSwgMHhmMCwgMHg3NCwgMHgwNiwgMHg5ZiwKLQkweDExLCAweDA0LCAweGYzLCAweDAwLCAweDAwLCAweDAxLCAweDgxLCAweDA0LAotCTB4NmQsIDB4OGUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwgMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwKLQkweDBmLCAweDYyLCAweDc3LCAweDEwLCAweDAwLCAweDAyLCAweGY0LCAweGFhLAotCTB4ZjgsIDB4MzAsIDB4MGYsIDB4NmQsIDB4NDUsIDB4ZTEsIDB4MDAsIDB4MGIsCi0JMHg4OCwgMHgxMCwgMHg0MywgMHhlMSwgMHgwMCwgMHgwYywgMHg4MywgMHhmOCwKLQkweDAwLCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweGFhLAotCTB4ZjgsIDB4MzAsIDB4MGYsIDB4NmQsIDB4ZjAsIDB4NzMsIDB4MGYsIDB4OTYsCi0JMHhmNSwgMHgwMCwgMHg4MSwgMHgwNCwgMHg0OSwgMHgxNiwgMHhmNSwgMHgyMCwKLQkweDg5LCAweDE2LCAweDc2LCAweGUxLCAweDAwLCAweDBjLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NDgsIDB4MTYsCi0JMHhmOCwgMHg0NSwgMHgxMSwgMHgzMywgMHhmNywgMHhiOCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDEyLCAweDEwLCAweGY4LCAweDAwLCAweDEyLAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDMsIDB4ZjgsIDB4NDYsIDB4MGYsIDB4OGMsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxMiwgMHhmMCwgMHgxMCwgMHgwMCwgMHgwMywKLQkweGY4LCAweDQ1LCAweDEwLCAweDE2LCAweDc3LCAweDEwLCAweDAwLCAweDAxLAotCTB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MGYsIDB4OWMsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHgwMiwgMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgwZiwgMHhhOCwKLQkweGYwLCAweDczLCAweDBmLCAweDk2LCAweDc3LCAweDEwLCAweDAwLCAweDA0LAotCTB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MTAsIDB4YjcsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHgwNSwgMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgxMCwgMHhiYywKLQkweGYyLCAweDc0LCAweDBlLCAweDlmLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LAotCTB4ZjAsIDB4NzMsIDB4MTEsIDB4MzEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MTEsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHhlOCwgMHgwMywgMHhmNiwgMHgyMCwgMHg4OSwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweDAwLCAweDAzLCAweGY1LCAweGFhLCAweGY4LCAweDMwLAotCTB4MGYsIDB4YjYsIDB4NmIsIDB4ZjgsIDB4MjcsIDB4NmYsIDB4MDAsIDB4MDEsCi0JMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNSwgMHhhZSwKLQkweGY4LCAweDIwLCAweDBmLCAweGJkLCAweDQ4LCAweDE2LCAweDgwLCAweDA2LAotCTB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDMsCi0JMHhmNiwgMHhhYiwgMHhmOCwgMHgyMCwgMHgwZiwgMHhjOCwgMHg2YiwgMHhmOCwKLQkweDI3LCAweDZmLCAweDAwLCAweDAxLCAweDEyLCAweDA2LCAweGY4LCAweDQ1LAotCTB4MTAsIDB4MDAsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ODAsIDB4MDAsCi0JMHgxMCwgMHgwNSwgMHg4MCwgMHgwMSwgMHgxMCwgMHgwNCwgMHg4MCwgMHgwMiwKLQkweDEwLCAweDA2LCAweDgwLCAweDAzLCAweDQ4LCAweDExLCAweGYyLCAweDc0LAotCTB4MDcsIDB4MWUsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MTAsIDB4MDYsCi0JMHgwMCwgMHhlMSwgMHgwMCwgMHgwNCwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweDEwLCAweDA2LCAweDAwLCAweGUxLCAweDAwLCAweDBjLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4ODgsIDB4MTIsIDB4MTEsIDB4MDYsIDB4MTAsIDB4MDQsCi0JMHhmNiwgMHgwMCwgMHg4MCwgMHgwNCwgMHg0OCwgMHgxNiwgMHhmNiwgMHgyMCwKLQkweDg4LCAweDE2LCAweDg5LCAweDEzLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4MDAsIDB4MDMsIDB4ZjYsIDB4YWIsIDB4ZjgsIDB4MjAsIDB4MGYsIDB4ZjUsCi0JMHg2YiwgMHhmOCwgMHgyNywgMHg2ZiwgMHgwMCwgMHgwMSwgMHg3NywgMHgxMCwKLQkweDAwLCAweDBjLCAweDcxLCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDEzLAotCTB4ZjYsIDB4YWIsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4MDAsIDB4NmIsIDB4ZjgsCi0JMHgyNywgMHg2ZiwgMHgwMCwgMHgwMSwgMHg2YywgMHhlMiwgMHhmZiwgMHhmZCwKLQkweDExLCAweDMxLCAweGY2LCAweGI4LCAweDZmLCAweGUxLCAweDAwLCAweDA1LAotCTB4MGMsIDB4NDgsIDB4NmYsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MGMsIDB4MTgsCi0JMHhmMCwgMHgzMCwgMHgwZiwgMHhmZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMywKLQkweDgwLCAweGUxLCAweDAwLCAweDBiLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDMsIDB4NDgsIDB4MTYsIDB4ZjgsIDB4NDUsIDB4MTEsIDB4MzMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwYywgMHgwMCwgMHgxMiwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDBiLCAweDQ5LCAweDEyLCAweGY2LCAweDIwLCAweDg4LCAweDEzLAotCTB4ZTgsIDB4MGMsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNSwgMHhhYiwgMHhmOCwgMHgyMCwgMHgxMCwgMHgyNywKLQkweDQ4LCAweDEzLCAweDgwLCAweDA2LCAweDg4LCAweDEwLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjUsIDB4YWUsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4MzAsCi0JMHg3MCwgMHgwNiwgMHgwMCwgMHgxNiwgMHgxMiwgMHgwNiwgMHhmOCwgMHg0NSwKLQkweDEwLCAweDVmLCAweDEwLCAweGUxLCAweDAwLCAweDA0LCAweDgwLCAweDAwLAotCTB4MTAsIDB4MDUsIDB4ODAsIDB4MDEsIDB4MTAsIDB4MDQsIDB4ODAsIDB4MDIsCi0JMHgxMCwgMHgwNiwgMHg4MCwgMHgwMywgMHg0OCwgMHgxMSwgMHhmMiwgMHg3NCwKLQkweDA3LCAweDFlLCAweGYwLCAweDAwLCAweDAwLCAweDA1LCAweDEwLCAweDA2LAotCTB4MDAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHgxMCwgMHgwNiwgMHgwMCwgMHhlMSwgMHgwMCwgMHgwYywgMHg4MCwgMHhlMSwKLQkweDAwLCAweDBjLCAweDg4LCAweDEyLCAweDExLCAweDA2LCAweDEwLCAweDA0LAotCTB4ZjYsIDB4MDAsIDB4ODAsIDB4MDQsIDB4NDgsIDB4MTYsIDB4ZjYsIDB4MjAsCi0JMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywKLQkweDcxLCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDEzLCAweGY2LCAweGFiLAotCTB4ZjgsIDB4MjAsIDB4MTAsIDB4NWYsIDB4NmIsIDB4ZjgsIDB4MjcsIDB4NmYsCi0JMHgwMCwgMHgwMSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywgMHhmNiwgMHhhYSwKLQkweGY4LCAweDIwLCAweDEwLCAweDZiLCAweGYyLCAweDc0LCAweDBlLCAweDlmLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHgwMCwgMHgxMiwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywgMHhmNCwgMHhhYSwKLQkweGY4LCAweDMwLCAweDEwLCAweDdjLCAweDc3LCAweDEwLCAweDAwLCAweDBjLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MTMsIDB4ZjYsIDB4YWIsCi0JMHhmOCwgMHgzMCwgMHgxMCwgMHhiNCwgMHhlNywgMHgzMCwgMHhmNywgMHhhYSwKLQkweGY4LCAweDMwLCAweDEwLCAweGI0LCAweGYyLCAweDc0LCAweDBlLCAweGMxLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg2YywgMHg4MiwgMHgxMCwgMHg4ZCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDUsIDB4ZjAsIDB4NzMsIDB4MTAsIDB4YjQsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgwNCwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywKLQkweDcxLCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDEyLCAweGY1LCAweGFhLAotCTB4ZjgsIDB4MjAsIDB4MTAsIDB4OWEsIDB4ZjAsIDB4NzMsIDB4MTAsIDB4OWMsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHgwYywgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDcwLCAweDAxLCAweDAwLCAweDEyLCAweDcwLCAweDAyLCAweDAwLCAweDE3LAotCTB4NzYsIDB4MDMsIDB4MDAsIDB4MDEsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4NzQsCi0JMHgwYywgMHhiOSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDc3LCAweDEwLCAweDAwLCAweDBjLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MTIsIDB4ZjYsIDB4YWEsCi0JMHhmOCwgMHgyMCwgMHgxMSwgMHgxYywgMHg0OCwgMHgxNiwgMHhmOCwgMHg0NSwKLQkweDExLCAweDMzLCAweDYwLCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDA1LAotCTB4ZjgsIDB4MjAsIDB4MTAsIDB4ZGYsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MGIsCi0JMHgwOCwgMHhlMSwgMHgwMCwgMHgwYywgMHgxMSwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweGY4LCAweDRkLCAweDEwLCAweGM3LCAweDZiLCAweGY4LCAweDI3LCAweDZmLAotCTB4MDAsIDB4MDEsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHhmNSwgMHhhZSwgMHhmOCwgMHgyMCwgMHgxMCwgMHhjZiwgMHg0OCwgMHgxNiwKLQkweGY0LCAweDk1LCAweDQ4LCAweDA4LCAweGY4LCAweDQ1LCAweDExLCAweDE2LAotCTB4NmYsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MGQsIDB4MDAsIDB4ODEsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHgxMSwgMHgwNCwgMHhmNSwgMHgwMCwgMHg4MSwgMHgwNCwKLQkweDQ5LCAweDE2LCAweGY1LCAweDIwLCAweDg5LCAweDE2LCAweGYwLCAweDczLAotCTB4MTEsIDB4MGUsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHgwMCwgMHgxMiwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY2LCAweGFhLCAweGY4LCAweDMwLCAweDExLCAweDE2LAotCTB4NDksIDB4MTIsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNSwgMHhhZSwgMHhmOCwgMHgyMCwgMHgxMCwgMHhmMywKLQkweDQ4LCAweDE2LCAweDgwLCAweDA2LCAweDQ4LCAweDA4LCAweGY4LCAweDQ1LAotCTB4MTEsIDB4MTYsIDB4MTAsIDB4MDQsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTcsCi0JMHg4MCwgMHgwMCwgMHg3NiwgMHgwMywgMHgwMCwgMHgwMCwgMHgxMCwgMHgwNiwKLQkweDgwLCAweDAxLCAweDEwLCAweDA1LCAweGYwLCAweDc0LCAweDBjLCAweGI5LAotCTB4MTAsIDB4MDYsIDB4MDAsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHgxMSwgMHgwNiwgMHgxMCwgMHgwNCwgMHhmNiwgMHgwMCwKLQkweDgwLCAweDA0LCAweDQ4LCAweDE2LCAweGY2LCAweDIwLCAweDg4LCAweDE2LAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MDgsIDB4ZTEsIDB4MDAsIDB4MGIsCi0JMHhmOCwgMHg0NSwgMHgxMSwgMHgxYywgMHhmMCwgMHg3MywgMHgxMSwgMHgzMSwKLQkweGYyLCAweDc0LCAweDBlLCAweDlmLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LAotCTB4ZjAsIDB4NzMsIDB4MTEsIDB4MzMsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDAxLCAweDEwLCAweDA0LAotCTB4ODAsIDB4MDAsIDB4MTAsIDB4MDUsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4OWYsCi0JMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHhmZiwKLQkweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDExLCAweDMzLCAweDZjLCAweDg2LAotCTB4MGYsIDB4NzAsIDB4ZWUsIDB4MDgsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmYywKLQkweGY0LCAweDk1LCAweDcxLCAweDA2LCAweDAwLCAweDEyLCAweDg4LCAweDExLAotCTB4NzMsIDB4MTIsIDB4MDAsIDB4MGUsIDB4ZjEsIDB4NjYsIDB4MDAsIDB4MGQsCi0JMHhmMywgMHgwMCwgMHgyNCwgMHgwMCwgMHg4OSwgMHgxNCwgMHgxMywgMHg4MSwKLQkweGY3LCAweDdhLCAweGYzLCAweDMwLCAweDAwLCAweDAxLCAweDgxLCAweGY4LAotCTB4MjcsIDB4NjAsIDB4MTMsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZjcsIDB4N2MsCi0JMHhmMywgMHgzMCwgMHgwMCwgMHgwMywgMHg4MSwgMHhmOCwgMHgyNywgMHg2MSwKLQkweGU5LCAweDBmLCAweDE5LCAweGUxLCAweDAwLCAweDAxLCAweDgxLCAweGY4LAotCTB4MjcsIDB4NjIsIDB4NzEsIDB4ZTQsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MTMsCi0JMHhmNiwgMHhiOCwgMHg0OSwgMHgxMywgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwKLQkweGYzLCAweDMwLCAweDAwLCAweDBmLCAweDQ5LCAweDBiLCAweDA5LCAweGY4LAotCTB4MjcsIDB4NjIsIDB4ZjgsIDB4NGQsIDB4MTEsIDB4NzUsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHhmZiwgMHhmNCwgMHhhYiwgMHhmOCwgMHgzMCwgMHgxMSwgMHg3NSwKLQkweDU3LCAweGY4LCAweDI3LCAweDZjLCAweGYzLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGYsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NjMsCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgxMSwgMHg3OCwgMHg3NiwgMHhmOCwKLQkweDI3LCAweDYzLCAweDAwLCAweDAwLCAweDcwLCAweGU0LCAweDAwLCAweDAzLAotCTB4MjcsIDB4NjIsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NjQsIDB4MDAsIDB4MDAsCi0JMHgxMSwgMHhmOCwgMHgyNywgMHg2MSwgMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwKLQkweDAwLCAweDAyLCAweGY4LCAweDIwLCAweDExLCAweDhkLCAweGU5LCAweDAxLAotCTB4NmYsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MTgsIDB4ODEsIDB4ZjgsCi0JMHgyNywgMHg2NCwgMHgxMSwgMHhmOCwgMHgyNywgMHg2MSwgMHg2MSwgMHhmOCwKLQkweDAwLCAweDBiLCAweDAwLCAweDAxLCAweGY4LCAweDIwLCAweDExLCAweGE5LAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NjQsIDB4ZjEsIDB4MDAsIDB4MDAsIDB4MDQsCi0JMHg4OSwgMHgxMywgMHhlOSwgMHhiOCwgMHhmNSwgMHgyMCwgMHg4MSwgMHhmOCwKLQkweDI3LCAweDY1LCAweDYwLCAweDg0LCAweDAwLCAweDAyLCAweGY4LCAweDIwLAotCTB4MTEsIDB4YTksIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTEsIDB4NzAsIDB4MDEsCi0JMHgwMCwgMHgxMywgMHg3MCwgMHgwMiwgMHgyNywgMHg2NSwgMHhmMiwgMHg3NCwKLQkweDBmLCAweDE4LCAweGY0LCAweDk1LCAweDQ4LCAweDEyLCAweGVlLCAweDA0LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmYywgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwKLQkweDI3LCAweDY2LCAweGU4LCAweDAwLCAweDRlLCAweGY4LCAweDI3LCAweDY4LAotCTB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4ZTgsIDB4MDAsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg2YSwgMHg3NywgMHgxMiwgMHgyNywgMHg0MCwKLQkweDc3LCAweDExLCAweDI0LCAweDAwLCAweDc3LCAweDFhLCAweDAwLCAweDFmLAotCTB4ZjAsIDB4NzIsIDB4MTEsIDB4ZGIsIDB4NzAsIDB4OTIsIDB4MDAsIDB4MTEsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4ZmYsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYiwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLAotCTB4NmQsIDB4ZTksIDB4MDAsIDB4MGQsIDB4ZjAsIDB4MjAsIDB4MjUsIDB4YTAsCi0JMHhmMSwgMHgwMCwgMHgwMCwgMHgwNywgMHg4OSwgMHgxMSwgMHhmMSwgMHgwMCwKLQkweDAwLCAweDAxLCAweDgxLCAweDAyLCAweDg4LCAweDE2LCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTcsIDB4MDAsIDB4MjAsIDB4NzYsIDB4ODYsIDB4MDAsIDB4ZmYsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwKLQkweDEwLCAweDAyLCAweGYwLCAweDc0LCAweDA2LCAweDZjLCAweDc2LCAweDAwLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsIDB4ZjIsIDB4NzQsCi0JMHgwNiwgMHg2YywgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwgMHgxMCwgMHgwMiwKLQkweGYwLCAweDAwLCAweDAwLCAweDBkLCAweDgwLCAweDAyLCAweDZkLCAweGU5LAotCTB4MDAsIDB4MGQsIDB4NmQsIDB4ZWUsIDB4MDAsIDB4MGQsIDB4NmMsIDB4ZWYsCi0JMHhmZiwgMHhmZiwgMHgxMSwgMHhlOCwgMHhmMCwgMHg3NCwgMHgwYywgMHg5ZCwKLQkweGVlLCAweDA0LCAweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsCi0JMHhlZSwgMHhmYSwgMHg4OCwgMHgxMSwgMHgxMCwgMHgwYSwgMHg0OSwgMHgxMSwKLQkweGY4LCAweDRkLCAweDEyLCAweDlmLCAweDQ4LCAweDA4LCAweGY4LCAweDQ1LAotCTB4MTIsIDB4OWYsIDB4ODAsIDB4MDQsIDB4MTIsIDB4ODEsIDB4ZjUsIDB4NzgsCi0JMHg4OSwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHhlMiwKLQkweGZmLCAweGI5LCAweDEyLCAweDhhLCAweDYxLCAweGY4LCAweDAwLCAweDA4LAotCTB4MDAsIDB4ODAsIDB4ZjgsIDB4MzAsIDB4MTIsIDB4OGEsIDB4MTMsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHhlOCwgMHhmNywgMHg3OCwgMHhmMSwgMHhhMCwKLQkweGYyLCAweDMwLCAweDFmLCAweGZmLCAweDg4LCAweDE3LCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTIsIDB4MjQsIDB4MDAsIDB4NzcsIDB4MTYsIDB4MDAsIDB4MDAsCi0JMHg3NywgMHgxMywgMHgwMCwgMHgyMCwgMHhmNiwgMHhiOCwgMHg0OCwgMHgxNywKLQkweDA4LCAweGUyLCAweDAwLCAweDAxLCAweGY4LCAweDQ1LCAweDEyLCAweDQyLAotCTB4NmQsIDB4ZWEsIDB4MDAsIDB4MGQsIDB4NmQsIDB4OTYsIDB4NmMsIDB4ZWIsCi0JMHhmZiwgMHhmZiwgMHgxMiwgMHgzNCwgMHhmMCwgMHg3MywgMHgxMiwgMHg5MCwKLQkweDU2LCAweGY4LCAweDI3LCAweDZhLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NmEsIDB4NjAsIDB4ODIsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgzMCwgMHgxMiwgMHg1NCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwKLQkweGYyLCAweDc0LCAweDExLCAweDM4LCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4ZjAsIDB4NzMsIDB4MTIsIDB4OTAsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTYsCi0JMHhmMiwgMHg3NCwgMHgxMSwgMHgzOCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweDcyLCAweDEwLCAweDJhLCAweDllLCAweGY0LCAweDk1LCAweGY0LCAweGFmLAotCTB4ZjgsIDB4MzAsIDB4MTIsIDB4NmUsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHgwMSwgMHgwMCwgMHhiYywgMHg3MCwgMHgwMiwgMHgwMCwgMHgxNiwKLQkweDc2LCAweDAzLCAweDAwLCAweDAwLCAweGYyLCAweDc0LCAweDBjLCAweGI5LAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4NzMsIDB4MTIsIDB4OTAsCi0JMHgxMCwgMHhmOCwgMHgyNywgMHg2ZSwgMHhmOCwgMHg0NCwgMHgxMiwgMHg5MCwKLQkweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweGJjLAotCTB4NzAsIDB4MDIsIDB4MDAsIDB4MTYsIDB4NzYsIDB4MDMsIDB4MDAsIDB4MDAsCi0JMHhmMiwgMHg3NCwgMHgwYywgMHhiOSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweGYwLCAweDc0LCAweDBjLCAweDVlLCAweGYwLCAweGUwLCAweGYwLCAweDEwLAotCTB4MTMsIDB4ODgsIDB4ZjgsIDB4NDIsIDB4MTIsIDB4OTAsIDB4NzYsIDB4ZjgsCi0JMHgyNywgMHg2ZSwgMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgxMiwgMHg5MCwKLQkweDU2LCAweGY4LCAweDI3LCAweDY2LCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NjYsIDB4NmQsIDB4ZTksIDB4MDAsIDB4NWUsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg2OCwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRlLCAweGY4LCAweDI3LCAweDY4LCAweDcxLCAweDA0LCAweDAwLCAweDEyLAotCTB4NmUsIDB4ZWEsIDB4ZmYsIDB4ZmYsIDB4MTIsIDB4MTgsIDB4NzAsIDB4MDQsCi0JMHgwMCwgMHgxMiwgMHhlZSwgMHgwNiwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLAotCTB4ODgsIDB4MGUsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4NjYsIDB4MDAsIDB4MGQsCi0JMHhmMCwgMHgwMCwgMHgyNSwgMHhhMCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDc2LCAweDgxLCAweDAwLCAweGZmLCAweDc2LCAweDAwLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsIDB4ZjIsIDB4NzQsCi0JMHgwNiwgMHg2YywgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwKLQkweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweDA2LCAweDQ4LCAweDExLAotCTB4ZjIsIDB4NzQsIDB4MDYsIDB4NmMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDcsCi0JMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDg4LCAweDBlLCAweGY0LCAweDk1LCAweGYwLCAweDY2LCAweDAwLCAweDBkLAotCTB4ZjAsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZiwKLQkweDc2LCAweDgxLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4ZmYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDEzLCAweDAzLCAweDg4LCAweDExLCAweGZhLCAweDRkLCAweDEyLCAweGVjLAotCTB4NzEsIDB4MDIsIDB4MDAsIDB4MTIsIDB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsCi0JMHg4OSwgMHgxYSwgMHhmNCwgMHg5NSwgMHhmMCwgMHg3MiwgMHgxMiwgMHhlYiwKLQkweDcwLCAweDkxLCAweDAwLCAweDEyLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4ZjQsIDB4OTUsIDB4NGEsIDB4MGIsIDB4NGEsIDB4MGMsIDB4NGEsIDB4MGQsCi0JMHhmNywgMHhiOCwgMHhlZSwgMHhmZSwgMHgxMCwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDExLCAweDA2LCAweGYxLCAweGMwLCAweDgzLCAweDAwLCAweGY0LCAweDg1LAotCTB4MTEsIDB4MDYsIDB4ZjcsIDB4ODUsIDB4ODEsIDB4MDYsIDB4ZjYsIDB4YjgsCi0JMHhlYywgMHgwZiwgMHgxZSwgMHgwNiwgMHg2MSwgMHgwMCwgMHg4MCwgMHgwMCwKLQkweGY4LCAweDIwLCAweDEzLCAweDA1LCAweGY0LCAweDg0LCAweGVlLCAweDAyLAotCTB4OGEsIDB4MGQsIDB4OGEsIDB4MGMsIDB4OGEsIDB4MGIsIDB4ZmMsIDB4MDAsCi0JMHhmNCwgMHg5NSwgMHg0YSwgMHgwYiwgMHg0YSwgMHgwYywgMHg0YSwgMHgwZCwKLQkweGVlLCAweGZlLCAweGY3LCAweGI4LCAweDgwLCAweDAwLCAweDEwLCAweGY4LAotCTB4MDAsIDB4MDgsIDB4ZjQsIDB4ODUsIDB4MTEsIDB4MDYsIDB4ZjcsIDB4ODUsCi0JMHg4MSwgMHgwNiwgMHhmNiwgMHhiOCwgMHhlYywgMHgwZiwgMHgxZSwgMHgwNiwKLQkweGYwLCAweGYwLCAweDYxLCAweDAwLCAweDgwLCAweDAwLCAweGY4LCAweDIwLAotCTB4MTMsIDB4MjAsIDB4ZjQsIDB4ODQsIDB4ZWUsIDB4MDIsIDB4OGEsIDB4MGQsCi0JMHg4YSwgMHgwYywgMHg4YSwgMHgwYiwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweDc2LCAweDgxLCAweDJlLCAweGVjLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4ZWUsIDB4ZmYsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxMSwgMHhlZSwgMHgwMSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHg2MiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHg3NiwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDkyLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4OTQsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHhiMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHhiMywKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweGJlLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4YmYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHhjMSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHhjMywKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweGM1LCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4YzcsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweDRhLCAweDE3LCAweGVlLCAweGZmLAotCTB4ZjQsIDB4OTUsIDB4NzEsIDB4MDYsIDB4MDAsIDB4MTYsIDB4ZmIsIDB4ODAsCi0JMHgxNiwgMHhhMiwgMHg4OCwgMHgxNywgMHhmNCwgMHg5NSwgMHhmNywgMHhiOCwKLQkweDEwLCAweGY4LCAweDAwLCAweDE3LCAweGYwLCAweDEwLCAweDAwLCAweDAyLAotCTB4ZmEsIDB4NDYsIDB4MTMsIDB4ODgsIDB4NzcsIDB4MTEsIDB4MDAsIDB4MDAsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywgMHhmMCwgMHgxMCwgMHgwMCwgMHgwMiwKLQkweGY4LCAweDQ1LCAweDEzLCAweGY5LCAweDEwLCAweGY4LCAweDAwLCAweDE3LAotCTB4ZjgsIDB4NDUsIDB4MTQsIDB4MzksIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgwMSwgMHhmOCwgMHg0NSwgMHgxNCwgMHgxZiwKLQkweGYwLCAweDczLCAweDE0LCAweDUyLCAweDEwLCAweGY4LCAweDAwLCAweDE3LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDMsIDB4ZjgsIDB4NDUsIDB4MTMsIDB4ZDMsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywgMHhmMCwgMHgxMCwgMHgwMCwgMHgwNiwKLQkweGY4LCAweDQ0LCAweDE0LCAweDUyLCAweDc3LCAweDEyLCAweDAwLCAweDdiLAotCTB4NzEsIDB4ODIsIDB4MDAsIDB4MTQsIDB4NjEsIDB4ZTQsIDB4MDAsIDB4MDcsCi0JMHgwMCwgMHg0MCwgMHhmOCwgMHgzMCwgMHgxNCwgMHg1MiwgMHg0OSwgMHgxNCwKLQkweDQ4LCAweDE3LCAweGY2LCAweDAwLCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTMsIDB4MDAsIDB4NTUsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTcsCi0JMHg2ZCwgMHhlYSwgMHgwMCwgMHgzYiwgMHhlNSwgMHgwMSwgMHgxMCwgMHhlNiwKLQkweDAwLCAweDA2LCAweDgwLCAweDgxLCAweDQ4LCAweDE0LCAweDAwLCAweGY4LAotCTB4MDAsIDB4MTcsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg1NSwgMHgxMCwgMHhlMiwgMHgwMCwgMHg0MCwgMHg4MCwgMHg4MSwKLQkweDc3LCAweDExLCAweDAwLCAweDU3LCAweDEwLCAweGU2LCAweDAwLCAweDA3LAotCTB4ODAsIDB4ODEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTUsIDB4MTAsIDB4ZTIsCi0JMHgwMCwgMHg0NSwgMHg4MCwgMHg4MSwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwOCwKLQkweDc3LCAweDExLCAweDAwLCAweDU3LCAweDgwLCAweDgxLCAweDc3LCAweDExLAotCTB4MDAsIDB4NTUsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4NGEsIDB4ODAsIDB4ODEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwgMHgwMCwgMHgwOSwKLQkweDgwLCAweDgxLCAweGYyLCAweDczLCAweDE0LCAweDUyLCAweDc3LCAweDExLAotCTB4MDMsIDB4YzAsIDB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODIsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywgMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDk2LCAweDFiLCAweGY4LCAweDMwLCAweDE0LCAweDUyLAotCTB4MTAsIDB4ZTMsIDB4MDAsIDB4MzUsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsCi0JMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwKLQkweDAwLCAweDA0LCAweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4MTAsIDB4ZTMsIDB4MDAsIDB4MzcsIDB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwgMHgwMCwgMHgwNSwgMHg4MCwgMHg4MiwKLQkweDQ4LCAweDExLCAweGYwLCAweDQwLCAweDAwLCAweDEwLCAweGYyLCAweDczLAotCTB4MTQsIDB4NTAsIDB4ZjAsIDB4NDAsIDB4MDAsIDB4MjAsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg3YiwgMHgxMCwgMHg4MiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywKLQkweDg4LCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDk2LCAweDBkLAotCTB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MzQsCi0JMHg3NywgMHgxMywgMHgwMCwgMHg1NSwgMHg4MCwgMHg4MywgMHg3NywgMHgxMywKLQkweDAwLCAweDU3LCAweDEwLCAweGU2LCAweDAwLCAweDAyLCAweDgwLCAweDgzLAotCTB4MTAsIDB4ZTIsIDB4MDAsIDB4MzYsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsCi0JMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwKLQkweDAwLCAweDAzLCAweDgwLCAweDgyLCAweDQ4LCAweDExLCAweGYwLCAweDQwLAotCTB4MDAsIDB4MDQsIDB4ZjIsIDB4NzMsIDB4MTQsIDB4NTAsIDB4ZjAsIDB4NDAsCi0JMHgwMCwgMHgwOCwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MiwKLQkweGYwLCAweDAwLCAweDAwLCAweDA3LCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4OTYsIDB4MGUsIDB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsCi0JMHgxMCwgMHhlMiwgMHgwMCwgMHgzMywgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwKLQkweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU3LCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDEsIDB4ODAsIDB4ODIsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4NzMsCi0JMHgxNCwgMHg1MCwgMHhmMCwgMHg0MCwgMHgwMCwgMHgwMiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDdiLCAweDEwLCAweDgyLCAweGYwLCAweDAwLCAweDAwLCAweDA3LAotCTB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4OTYsIDB4MGYsCi0JMHhmOCwgMHgzMCwgMHgxNCwgMHg1MiwgMHgxMCwgMHhlMiwgMHgwMCwgMHgzMiwKLQkweDc3LCAweDEyLCAweDAwLCAweDU1LCAweDc3LCAweDEzLCAweDAwLCAweDU3LAotCTB4ODAsIDB4ODIsIDB4NDgsIDB4MTEsIDB4ZTcsIDB4NjIsIDB4ZjAsIDB4NDAsCi0JMHgwMCwgMHgwMSwgMHhlNSwgMHgwMSwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEyLCAweDAwLCAweDdiLCAweDQ4LCAweDExLCAweDcxLCAweDgyLAotCTB4MDAsIDB4MTIsIDB4MWEsIDB4ZTIsIDB4MDAsIDB4MDcsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwNywgMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwKLQkweDhhLCAweDE3LCAweDQ4LCAweDExLCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4NzcsIDB4MGUsCi0JMHgwMCwgMHgwNSwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwgMHhlOCwgMHgwNCwKLQkweGY2LCAweGI4LCAweDI4LCAweGUxLCAweDAwLCAweDAyLCAweGVlLCAweGZmLAotCTB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTcsIDB4ZjAsIDB4MjAsCi0JMHg4MCwgMHgwMCwgMHhlZSwgMHgwMSwgMHgxYSwgMHg4MiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU3LCAweDgwLCAweDgyLCAweGU4LCAweDAxLCAweDMyLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4ZjUsIDB4ODIsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTQsCi0JMHhmNiwgMHg5MywgMHgxOCwgMHg4MSwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NCwKLQkweGYyLCAweGEwLCAweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZjQsIDB4OTUsCi0JMHg3MSwgMHgwNCwgMHgwMCwgMHgxMSwgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwKLQkweDg4LCAweDE2LCAweGY0LCAweDk1LCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MDMsIDB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMiwgMHg3NywgMHgxMywKLQkweDAwLCAweDU2LCAweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU2LAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4ODAsIDB4ODIsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NiwgMHg4MCwgMHg4MiwKLQkweDc3LCAweDEyLCAweDAwLCAweDU2LCAweDEwLCAweGUxLCAweDAwLCAweDAxLAotCTB4ODAsIDB4ODIsIDB4ZTcsIDB4MTIsIDB4ZTUsIDB4MDEsIDB4ZjksIDB4ODAsCi0JMHgxNiwgMHg5YSwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweDRhLCAweDE3LCAweGVlLCAweGY5LAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MTYsCi0JMHg3NiwgMHgwMSwgMHgwMCwgMHgxNywgMHg3NiwgMHgwMiwgMHgwMCwgMHgxYSwKLQkweDc2LCAweDAzLCAweDAwLCAweDFiLCAweDc2LCAweDA0LCAweDAwLCAweDFjLAotCTB4NzYsIDB4MDUsIDB4MDAsIDB4MWQsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTcsCi0JMHg3MSwgMHhlNywgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMSwgMHgxMCwgMHg4MSwKLQkweGY4LCAweDQ0LCAweDE0LCAweGRmLCAweGY5LCAweDgwLCAweDE2LCAweDUzLAotCTB4ZjYsIDB4YjgsIDB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjAsIDB4MjAsCi0JMHhmZiwgMHhmZiwgMHhmNiwgMHhiOCwgMHhmYiwgMHg4MCwgMHgxNiwgMHgwOCwKLQkweGYwLCAweDIwLCAweGZmLCAweGZmLCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4NzEsIDB4ODEsIDB4MDAsIDB4MTcsIDB4NzYsIDB4ZTcsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgwMSwgMHg0OCwgMHgxNywgMHg3NywgMHgxNiwgMHgwMCwgMHgwMCwKLQkweDc3LCAweDEwLCAweDAwLCAweDA0LCAweDc3LCAweDE1LCAweDAwLCAweDAzLAotCTB4NzcsIDB4MTQsIDB4MDAsIDB4MDIsIDB4NzcsIDB4MTMsIDB4MDAsIDB4MDEsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHg3NiwgMHhlNywgMHgwMCwgMHgwOCwKLQkweDAwLCAweDFmLCAweDc2LCAweGU3LCAweDAwLCAweDA3LCAweDAwLCAweDAwLAotCTB4ODgsIDB4MGUsIDB4NzcsIDB4MWEsIDB4MDAsIDB4MDUsIDB4NDgsIDB4MTcsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwOSwgMHg4OCwgMHgxMiwgMHg0OCwgMHgxOCwKLQkweDg4LCAweDE5LCAweGU4LCAweDAwLCAweGYwLCAweDcyLCAweDE1LCAweDJjLAotCTB4NzMsIDB4MTksIDB4MDAsIDB4MTEsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsCi0JMHgxMSwgMHg5MSwgMHg3MywgMHgxMSwgMHgwMCwgMHgxOSwgMHg3MCwgMHhlMiwKLQkweDAwLCAweDAzLCAweDAwLCAweDE2LCAweDcwLCAweGUyLCAweDAwLCAweDA0LAotCTB4MDAsIDB4MTMsIDB4NzAsIDB4ZTIsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTQsCi0JMHg4MSwgMHhlMiwgMHgwMCwgMHgwMSwgMHg3MCwgMHhlMiwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDE1LCAweDcwLCAweGUyLCAweDAwLCAweDA3LCAweDAwLCAweDEwLAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MDIsIDB4NzMsIDB4MGUsIDB4MDAsIDB4MTEsCi0JMHhmMSwgMHgwMCwgMHgwMCwgMHgxZSwgMHg2ZCwgMHhlZSwgMHgwMCwgMHgwNSwKLQkweDZkLCAweGViLCAweDAwLCAweDA1LCAweDZkLCAweGVjLCAweDAwLCAweDA1LAotCTB4NmQsIDB4ZWQsIDB4MDAsIDB4MDUsIDB4NmQsIDB4ZTgsIDB4MDAsIDB4MDUsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg4MSwgMHg5MSwgMHg2ZCwgMHhlYSwKLQkweDAwLCAweDA4LCAweDczLCAweDExLCAweDAwLCAweDBlLCAweGVlLCAweDA3LAotCTB4NzYsIDB4ZTcsIDB4MDAsIDB4NDEsIDB4MDAsIDB4MjQsIDB4NzYsIDB4ZTcsCi0JMHgwMCwgMHg0NiwgMHgwMCwgMHgyNSwgMHg3NiwgMHhlNywgMHgwMCwgMHg0YiwKLQkweDAwLCAweDI2LCAweDc2LCAweGU3LCAweDAwLCAweDUwLCAweDAwLCAweDI3LAotCTB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhlZSwgMHhmZSwgMHg4OCwgMHgxMSwKLQkweDU2LCAweDA2LCAweDRlLCAweDAwLCAweGY5LCAweDgwLCAweDE2LCAweGEyLAotCTB4ZjcsIDB4YjgsIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjAsIDB4MTAsCi0JMHhmZiwgMHhmZiwgMHhmYSwgMHg0NSwgMHgxNSwgMHg2MCwgMHg3NywgMHgxNiwKLQkweGZmLCAweGZmLCAweDc3LCAweDEyLCAweDAwLCAweDdiLCAweDQ5LCAweDExLAotCTB4MTAsIDB4ODIsIDB4ZjYsIDB4MDMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDksCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwKLQkweGY4LCAweDQ0LCAweDE1LCAweDcxLCAweGYyLCAweDczLCAweDE1LCAweDcxLAotCTB4ZjQsIDB4OTUsIDB4ZTcsIDB4MTYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHgxMCwgMHg4MSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwOSwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEyLCAweDAwLCAweDA2LCAweDEwLCAweDgxLAotCTB4ZjgsIDB4NDUsIDB4MTUsIDB4NWMsIDB4NmUsIDB4ZWEsIDB4ZmYsIDB4ZmYsCi0JMHgxNSwgMHg2OSwgMHg2ZCwgMHhlOSwgMHgwMCwgMHgwOCwgMHg3NiwgMHg4NiwKLQkweDAwLCAweDAxLCAweGU5LCAweDAxLCAweDU2LCAweDAwLCAweGYxLCAweDgwLAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MGIsIDB4ZjgsIDB4NDUsIDB4MTUsIDB4N2UsCi0JMHhmYiwgMHg4MCwgMHgxNSwgMHg4NSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNiwKLQkweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAyLCAweDQ4LCAweDE2LAotCTB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsCi0JMHhlZSwgMHhmZiwgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEwLCAweGZmLCAweGZmLCAweGY0LCAweGE5LAotCTB4ZjgsIDB4MzAsIDB4MTUsIDB4YzQsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDMsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwgMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwOCwgMHgzMiwgMHhmOCwKLQkweDAwLCAweDA4LCAweDc3LCAweDEyLCAweDAwLCAweDU0LCAweGU4LCAweDAxLAotCTB4ZjQsIDB4ODIsIDB4ZjQsIDB4OTMsIDB4MTgsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NCwgMHhmMCwgMHg0MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHg4MiwKLQkweDEwLCAweGUxLCAweDAwLCAweDAxLCAweGY5LCAweDgwLCAweDE2LCAweDc2LAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NjYsCi0JMHhmMCwgMHg3MywgMHgxNiwgMHgwMywgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDcxLCAweDgxLCAweDAwLCAweDExLCAweDcxLCAweGUxLCAweDAwLCAweDA3LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOSwgMHhmOSwgMHg4MCwgMHgxNSwgMHg4NSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDcxLCAweDgxLCAweDAwLCAweDExLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDksIDB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwOCwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwKLQkweDAwLCAweDExLCAweDEwLCAweGUxLCAweDAwLCAweDA5LCAweGZiLCAweDgwLAotCTB4MTUsIDB4ODUsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwgMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA5LCAweGZiLCAweDgwLCAweDE1LCAweDg1LCAweGYwLCAweDAwLAotCTB4MDAsIDB4MTgsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwKLQkweDE1LCAweDg1LCAweGYwLCAweDAwLCAweDAwLCAweDIwLCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTEsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwgMHgxNSwgMHg4NSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDI4LCAweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAxLAotCTB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmYsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweGZmLCAweGZmLCAweGY0LCAweGE5LCAweGY4LCAweDMwLAotCTB4MTYsIDB4NDEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTUsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgxZSwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHhmMiwgMHg3MywKLQkweDE2LCAweDRlLCAweDc2LCAweDgxLCAweDAwLCAweDAwLCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTEsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwKLQkweDEwLCAweGUxLCAweDAwLCAweDM5LCAweGY5LCAweDgwLCAweDE2LCAweDA4LAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDEwLCAweDgxLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4ZmEsIDB4NDQsCi0JMHgxNiwgMHg2MywgMHhmNCwgMHg5NSwgMHhlZSwgMHhmZiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAxLCAweGVlLCAweDAxLCAweDhhLCAweDExLCAweGY0LCAweGU0LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MTAsIDB4NGEsIDB4MTEsIDB4MzIsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHhlZSwgMHhmZiwgMHg3NywgMHgxMSwgMHgwMCwgMHgwMSwKLQkweGU4LCAweDAxLCAweGVlLCAweDAxLCAweGY0LCAweDgyLCAweDFhLCAweDgxLAotCTB4ODAsIDB4ODEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgxMCwgMHg0YSwgMHgxMSwgMHgzMiwgMHhmOCwKLQkweDAwLCAweDA4LCAweGVlLCAweGZmLCAweGU4LCAweDAxLCAweDc3LCAweDExLAotCTB4MDAsIDB4MDAsIDB4ZjQsIDB4ODIsIDB4ZWUsIDB4MDEsIDB4ZjQsIDB4OTMsCi0JMHgxOCwgMHg4MSwgMHg4MCwgMHg4MSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweGYwLCAweDEwLCAweDAwLCAweDEwLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4MDAsIDB4MzIsIDB4ZjgsIDB4MDAsIDB4MDgsCi0JMHhlZSwgMHhmZiwgMHgxMSwgMHg4MSwgMHhlOCwgMHgwMSwgMHhlZSwgMHgwMSwKLQkweDc3LCAweDExLCAweDAwLCAweDAwLCAweGY0LCAweDgyLCAweGYyLCAweGEwLAotCTB4ODAsIDB4ODEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHhmMiwgMHg3MywgMHgxNiwgMHg5ZSwgMHhmNiwgMHhiYiwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4ZjIsIDB4NzMsIDB4MTYsIDB4YTYsIDB4ZjcsIDB4YmIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweGY0LCAweDk1LCAweDcxLCAweDA0LAotCTB4MDAsIDB4MTYsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDBlLCAweDEwLCAweGU2LCAweDAwLCAweDBlLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDBkLCAweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MGQsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwYywKLQkweDEwLCAweGU2LCAweDAwLCAweDBjLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwYiwgMHgxMCwgMHhlNiwKLQkweDAwLCAweDBiLCAweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLAotCTB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwYSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDEwLCAweGU2LCAweDAwLCAweDBhLCAweDgwLCAweDgyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwOSwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwOSwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDgwLCAweDgyLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDgsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHgxMCwgMHhlNiwKLQkweDAwLCAweDA4LCAweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDcsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwNywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwKLQkweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwNiwgMHg4MCwgMHg4MiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsCi0JMHgxMCwgMHhlNiwgMHgwMCwgMHgwNSwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA0LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwNCwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAzLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDMsCi0JMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDAyLCAweDEwLCAweGU2LCAweDAwLCAweDAyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAxLCAweDEwLCAweGU2LCAweDAwLCAweDAxLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEzLCAweGU3LCAweDYyLAotCTB4ZTUsIDB4MDEsIDB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcxLCAweGUxLCAweDAwLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4ZWUsIDB4ZmYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsCi0JMHhlZSwgMHgwMSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMSwKLQkweDY5LCAweDgxLCAweDAwLCAweDAxLCAweDhhLCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweGVlLCAweGZmLCAweDc2LCAweDgyLCAweDAwLCAweDAxLCAweGVlLCAweDAxLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTEsIDB4NjksIDB4ODEsCi0JMHgwMCwgMHgwMSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4OTQsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHhmYSwgMHg0NCwgMHgxNywgMHg5YywKLQkweGY0LCAweDk1LCAweGVlLCAweGZmLCAweGY5LCAweDgwLCAweDE2LCAweDUzLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHg5NCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweDc2LCAweDgxLCAweDAwLCAweDAxLCAweGVlLCAweDAxLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgyMSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgyMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDIzLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MjIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgzOCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNywgMHgwMCwgMHgzOSwKLQkweDc2LCAweGUxLCAweDAwLCAweDA4LCAweDAwLCAweDE1LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDksIDB4MDAsIDB4MTQsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGEsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHg0MSwKLQkweDc2LCAweGUxLCAweDAwLCAweDBjLCAweDAwLCAweDQwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MGQsIDB4MDAsIDB4NDMsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGUsCi0JMHgwMCwgMHg0MiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwZiwgMHgwMCwgMHg0OCwKLQkweDc2LCAweGUxLCAweDAwLCAweDEwLCAweDAwLCAweDQ5LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MTEsIDB4MDAsIDB4MWIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MTIsCi0JMHgwMCwgMHgxYSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweGVlLCAweGZkLCAweDg4LCAweDExLCAweDU2LCAweDA2LAotCTB4NGUsIDB4MDAsIDB4ZjksIDB4ODAsIDB4MTYsIDB4YTIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg3YiwgMHg3NywgMHgwZSwgMHgwMCwgMHgwOSwgMHgxMCwgMHg4MiwKLQkweDI4LCAweGY4LCAweDAwLCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDk1LAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsCi0JMHhmOCwgMHg0NSwgMHgxNywgMHhmMCwgMHhmMiwgMHg3MywgMHgxNywgMHhmZCwKLQkweDc3LCAweDExLCAweGZmLCAweGZmLCAweDc2LCAweDgxLCAweDAwLCAweDAxLAotCTB4ZTksIDB4MDEsIDB4NTYsIDB4MDAsIDB4ZjEsIDB4ODAsIDB4MTAsIDB4ZjgsCi0JMHgwMCwgMHgwYiwgMHhmOCwgMHg0NSwgMHgxNywgMHhmZCwgMHhmYiwgMHg4MCwKLQkweDE4LCAweDEwLCAweGY0LCAweDk1LCAweDQ4LCAweDExLCAweGY5LCAweDgwLAotCTB4MTYsIDB4OWEsIDB4ZWUsIDB4MDMsIDB4NDgsIDB4MTEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGVlLCAweGZmLCAweDcxLCAweGUxLCAweDAwLCAweDAxLAotCTB4MDAsIDB4MTEsIDB4ZWUsIDB4MDEsIDB4MTAsIDB4ODEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZiwKLQkweGZiLCAweDgwLCAweDE2LCAweGEyLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTAsIDB4ZmYsIDB4ZmYsIDB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsCi0JMHgxOCwgMHhjMywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwMiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDQsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA1LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDA2LCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwNywKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MjAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwOCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDksCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MGEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDBiLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDBjLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwZCwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwZSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDcsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NzYsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOCwgMHhmOSwgMHg4MCwgMHgxNiwgMHg3NiwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA3LCAweGY5LCAweDgwLCAweDE2LCAweDY2LCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDgsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NjYsIDB4ZjAsIDB4NzMsCi0JMHgxOCwgMHhkMSwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwKLQkweGZiLCAweDgwLCAweDE4LCAweDEwLCAweGYwLCAweDAwLCAweDAwLCAweDk1LAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsIDB4ZmIsIDB4ODAsCi0JMHgxOCwgMHgxMCwgMHhmMCwgMHgwMCwgMHgwMCwgMHg5ZSwgMHhmOSwgMHg4MCwKLQkweDE2LCAweDlhLCAweGVlLCAweDAxLCAweDhhLCAweDExLCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZWUsIDB4ZmYsIDB4ZjQsIDB4OTUsCi0JMHgxMCwgMHgwNCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgxMSwKLQkweGVlLCAweDAxLCAweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZjQsIDB4OTUsCi0JMHg3MSwgMHgwNCwgMHgwMCwgMHgxNiwgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MTAsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwMSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgxMiwKLQkweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDEyLAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ODIsIDB4ZTcsIDB4NjIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgxMywgMHhlNSwgMHgwMSwKLQkweGY5LCAweDgwLCAweDE2LCAweDlhLCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZWUsIDB4ZmYsCi0JMHhlZSwgMHgwMSwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwgMHg4YSwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4YjMsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwKLQkweGZhLCAweDQ0LCAweDE5LCAweDJhLCAweGY0LCAweDk1LCAweGVlLCAweGZmLAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4NTMsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHgxMCwgMHg4MSwgMHhmMCwgMHgwMCwgMHgwMCwgMHhiMywgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDc2LCAweDgxLCAweDAwLCAweDAxLAotCTB4ZWUsIDB4MDEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgxMywgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAzLCAweDAwLCAweDI2LCAweDc2LCAweGUxLCAweDAwLCAweDA0LAotCTB4MDAsIDB4MjUsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MjQsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA3LCAweDAwLCAweDE3LCAweDc2LCAweGUxLCAweDAwLCAweDA4LAotCTB4MDAsIDB4MzIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDksIDB4MDAsIDB4MzEsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwYSwgMHgwMCwgMHgzMCwgMHg4YSwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmYsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDYsCi0JMHgwMCwgMHgxNywgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY3LCAweGI4LCAweDEwLCAweGY4LCAweDAwLCAweDExLAotCTB4ZjAsIDB4MTAsIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4NDUsIDB4MTksIDB4NzMsCi0JMHg3NywgMHgxNiwgMHhmZiwgMHhmZiwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwKLQkweDc3LCAweDBlLCAweDAwLCAweDA1LCAweDEwLCAweDgyLCAweDI4LCAweGY4LAotCTB4MDAsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4YjQsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHhmOCwgMHg0NCwKLQkweDE5LCAweDg0LCAweGYyLCAweDczLCAweDE5LCAweDg0LCAweGY0LCAweDk1LAotCTB4ZTcsIDB4MTYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHhiNCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEyLCAweDAwLCAweDAyLCAweDEwLCAweDgxLCAweGY4LCAweDQ1LAotCTB4MTksIDB4NmYsIDB4NmUsIDB4ZWEsIDB4ZmYsIDB4ZmYsIDB4MTksIDB4N2MsCi0JMHg2ZCwgMHhlOSwgMHgwMCwgMHgwNSwgMHg2MSwgMHhmOCwgMHgwMCwgMHgxNywKLQkweDAwLCAweDAxLCAweGZhLCAweDIwLCAweDE5LCAweDhmLCAweDc2LCAweDg2LAotCTB4MDAsIDB4MDEsIDB4ZmIsIDB4ODAsIDB4MTksIDB4OTcsIDB4ZjQsIDB4OTUsCi0JMHg0OCwgMHgxNiwgMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwKLQkweDhhLCAweDE3LCAweDQ4LCAweDE2LCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmYsIDB4ZmIsIDB4ODAsCi0JMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweGZmLCAweGZmLCAweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDE5LCAweGNjLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsIDB4NjksIDB4ODIsCi0JMHgwMCwgMHgxMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwKLQkweDY4LCAweDgyLCAweGY3LCAweGZmLCAweDcxLCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MTIsIDB4NjgsIDB4ODIsIDB4ZmIsIDB4ZmYsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwgMHg2OCwgMHg4MiwgMHhmZiwgMHhmMCwKLQkweDcxLCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4ZmYsIDB4ZmYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHhmZiwgMHhmZiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDEyLCAweDY5LCAweDgyLCAweDAwLCAweDIwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MTEsIDB4ZjIsIDB4NzMsIDB4MTksIDB4ZGEsCi0JMHg2OCwgMHg4MSwgMHhmZiwgMHhlZiwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDEwLCAweDgxLCAweGZiLCAweDgwLCAweDE5LCAweDk3LCAweGYwLCAweDAwLAotCTB4MDAsIDB4YjQsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsCi0JMHhmYiwgMHg4MCwgMHgxOSwgMHg5NywgMHhmMCwgMHgwMCwgMHgwMCwgMHhiOSwKLQkweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAxLCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4MDAsIDB4YTQsIDB4MDAsIDB4MDAsIDB4MTksIDB4ZGYsCi0JMHgwMCwgMHgwMSwgMHgyYSwgMHhlNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDJhLCAweGU3LCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDJhLCAweDEyLAotCTB4MGMsIDB4MDEsIDB4YzMsIDB4NGYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgyYSwgMHgxNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgyYSwgMHgxNiwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDE5LCAweDJhLCAweDVkLAotCTB4MDAsIDB4NDMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzksCi0JMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2OCwKLQkweDAwLCAweDc0LCAweDAwLCAweDIwLCAweDAwLCAweDU0LCAweDAwLCAweDY1LAotCTB4MDAsIDB4NjMsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsCi0JMHgwMCwgMHg1NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2ZSwKLQkweDAwLCAweDY0LCAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDQ3LAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MmEsIDB4NzYsIDB4MDAsIDB4MzAsCi0JMHgwMCwgMHgyZSwgMHgwMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwYywKLQkweDJhLCAweDdhLCAweDAwLCAweDQ2LCAweDAwLCAweDY1LCAweDAwLCAweDYyLAotCTB4MDAsIDB4MjAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MjAsCi0JMHgwMCwgMHgzMiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMSwKLQkweDAwLCAweDAwLCAweDAwLCAweDA5LCAweDJhLCAweDg2LCAweDAwLCAweDMxLAotCTB4MDAsIDB4MzQsIDB4MDAsIDB4M2EsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MzUsCi0JMHgwMCwgMHgzYSwgMHgwMCwgMHgzMywgMHgwMCwgMHgzMywgMHgwMCwgMHgwMCwKLQkweDAwLCAweDBmLCAweDJhLCAweDhmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MmEsIDB4OWUsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHgyYSwgMHg5ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDJhLCAweGEwLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDJhLCAweGExLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MmEsIDB4YTIsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHgyOSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwKLQkweDI5LCAweDgwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAotCTB4MjksIDB4ODIsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDEsIDB4MmEsIDB4YTcsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgyYSwgMHhhOCwgMHg3MSwgMHg0MSwKLQkweDIwLCAweDAwLCAweDIwLCAweDAwLCAweDAwLCAweDIzLCAweDA0LCAweDAwLAotCTB4MDAsIDB4MGEsIDB4MmEsIDB4YWQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MGYsIDB4MmEsIDB4YjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0MCwgMHgwMCwgMHhhMCwgMHg4MiwgMHg0MCwKLQkweDAwLCAweDA4LCAweDMwLCAweDdmLCAweDAwLCAweDgwLCAweDAxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgyNywgMHg2ZSwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDI3LCAweDZmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDksIDB4MDAsIDB4MDAsIDB4MWEsIDB4ODMsIDB4MDQsIDB4ZTgsCi0JMHgwNCwgMHhjZiwgMHgwNCwgMHhjNSwgMHgwNCwgMHhiYSwgMHgwNCwgMHhiMCwKLQkweDA0LCAweGFjLCAweDA0LCAweDljLCAweDA0LCAweDhjLCAweDA0LCAweDgxLAotCTB4MDAsIDB4NzgsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGFhLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDAyLCAweDIzLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDUsIDB4ZTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwMiwgMHhiNSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDBlLCAweDMzLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MDAsIDB4MDAsCi19OwotCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1kZWMvdHR1c2JfZGVjLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1kZWMvdHR1c2JfZGVjLmMKaW5kZXggZmVmZGMwNS4uZGU1ODI5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItZGVjL3R0dXNiX2RlYy5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWRlYy90dHVzYl9kZWMuYwpAQCAtMTI3NSw3ICsxMjc1LDcgQEAKIAl1OCBiMVtdID0geyAweDYxIH07CiAJdTggKmI7CiAJY2hhciBpZHN0cmluZ1syMV07Ci0JdTggKmZpcm13YXJlID0gTlVMTDsKKwljb25zdCB1OCAqZmlybXdhcmUgPSBOVUxMOwogCXNpemVfdCBmaXJtd2FyZV9zaXplID0gMDsKIAl1MTYgZmlybXdhcmVfY3N1bSA9IDA7CiAJX19iZTE2IGZpcm13YXJlX2NzdW1fbnM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3JhZGlvL21pcm9wY20yMC1yZHMuYyBiL2RyaXZlcnMvbWVkaWEvcmFkaW8vbWlyb3BjbTIwLXJkcy5jCmluZGV4IDA2ZGZlZDkuLjNlODQwZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcmFkaW8vbWlyb3BjbTIwLXJkcy5jCisrKyBiL2RyaXZlcnMvbWVkaWEvcmFkaW8vbWlyb3BjbTIwLXJkcy5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CkBAIC0yNywxMyArMjgsMTYgQEAKIAlpZiAocmRzX3VzZXJzKQogCQlyZXR1cm4gLUVCVVNZOwogCisJbG9ja19rZXJuZWwoKTsKIAlyZHNfdXNlcnMrKzsKIAlpZiAoKHRleHRfYnVmZmVyPWttYWxsb2MoNjYsIEdGUF9LRVJORUwpKSA9PSAwKSB7CiAJCXJkc191c2Vycy0tOwogCQlwcmludGsoS0VSTl9OT1RJQ0UgImFjaS1yZHM6IE91dCBvZiBtZW1vcnkgYnkgb3BlbigpLi4uXG4iKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vYnQ4eHgvYnR0di1jYXJkcy5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9idDh4eC9idHR2LWNhcmRzLmMKaW5kZXggOGVmMDQyNC4uMWM1NmFlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9idDh4eC9idHR2LWNhcmRzLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9idDh4eC9idHR2LWNhcmRzLmMKQEAgLTM3NjgsNyArMzc2OCw4IEBACiAjZGVmaW5lIEJUVFZfQUxUX0RDTEsJCTB4MTAwMDAwCiAjZGVmaW5lIEJUVFZfQUxUX05DT05GSUcJMHg4MDAwMDAKIAotc3RhdGljIGludCBfX2RldmluaXQgcHZyX2FsdGVyYV9sb2FkKHN0cnVjdCBidHR2ICpidHYsIHU4ICptaWNybywgdTMyIG1pY3JvbGVuKQorc3RhdGljIGludCBfX2RldmluaXQgcHZyX2FsdGVyYV9sb2FkKHN0cnVjdCBidHR2ICpidHYsIGNvbnN0IHU4ICptaWNybywKKwkJCQkgICAgIHUzMiBtaWNyb2xlbikKIHsKIAl1MzIgbjsKIAl1OCBiaXRzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMl9jb3JlLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEyX2NvcmUuYwppbmRleCBjOGI5ZmRiLi5mMmU4YjFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEyX2NvcmUuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEyX2NvcmUuYwpAQCAtMzMsMTEgKzMzLDEwIEBACiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAKIC8qICNkZWZpbmUgX0NQSUEyX0RFQlVHXyAqLwogCi0jaW5jbHVkZSAiY3BpYTJwYXRjaC5oIgotCiAjaWZkZWYgX0NQSUEyX0RFQlVHXwogCiBzdGF0aWMgY29uc3QgY2hhciAqYmxvY2tfbmFtZVtdID0gewpAQCAtODkzLDI0ICs4OTIsNTMgQEAKICAqICBhcHBseV92cF9wYXRjaAogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbnQgY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoc3RydWN0IGNhbWVyYV9kYXRhICpjYW0sCisJCQkJICAgICAgc3RydWN0IGNwaWEyX2NvbW1hbmQgKmNtZCwKKwkJCQkgICAgICB1OCBzdGFydCwgdTggZGF0dW0pCit7CisJY21kLT5idWZmZXIuYmxvY2tfZGF0YVswXSA9IGRhdHVtOworCWNtZC0+c3RhcnQgPSBzdGFydDsKKwljbWQtPnJlZ19jb3VudCA9IDE7CisJcmV0dXJuIGNwaWEyX3NlbmRfY29tbWFuZChjYW0sIGNtZCk7Cit9CisKIHN0YXRpYyBpbnQgYXBwbHlfdnBfcGF0Y2goc3RydWN0IGNhbWVyYV9kYXRhICpjYW0pCiB7Ci0JaW50IGksIGo7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyIGZ3X25hbWVbXSA9ICJjcGlhMi9zdHYwNjcyX3ZwNC5iaW4iOworCWludCBpLCByZXQ7CiAJc3RydWN0IGNwaWEyX2NvbW1hbmQgY21kOwogCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWUsICZjYW0tPmRldi0+ZGV2KTsKKwlpZiAocmV0KSB7CisJCXByaW50ayhLRVJOX0VSUiAiY3BpYTI6IGZhaWxlZCB0byBsb2FkIFZQIHBhdGNoIFwiJXNcIlxuIiwKKwkJICAgICAgIGZ3X25hbWUpOworCQlyZXR1cm4gcmV0OworCX0KKwogCWNtZC5yZXFfbW9kZSA9IENBTUVSQUFDQ0VTU19UWVBFX1JFUEVBVCB8IENBTUVSQUFDQ0VTU19WUDsKIAljbWQuZGlyZWN0aW9uID0gVFJBTlNGRVJfV1JJVEU7CiAKLQlmb3IgKGkgPSAwOyBpIDwgUEFUQ0hfREFUQV9TSVpFOyBpKyspIHsKLQkJZm9yIChqID0gMDsgaiA8IHBhdGNoX2RhdGFbaV0uY291bnQ7IGorKykgewotCQkJY21kLmJ1ZmZlci5ibG9ja19kYXRhW2pdID0gcGF0Y2hfZGF0YVtpXS5kYXRhW2pdOwotCQl9CisJLyogRmlyc3Qgc2VuZCB0aGUgc3RhcnQgYWRkcmVzcy4uLiAqLworCWNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKGNhbSwgJmNtZCwgMHgwQSwgZnctPmRhdGFbMF0pOyAvKiBoaSAqLworCWNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKGNhbSwgJmNtZCwgMHgwQiwgZnctPmRhdGFbMV0pOyAvKiBsbyAqLwogCi0JCWNtZC5zdGFydCA9IHBhdGNoX2RhdGFbaV0ucmVnOwotCQljbWQucmVnX2NvdW50ID0gcGF0Y2hfZGF0YVtpXS5jb3VudDsKKwkvKiAuLi4gZm9sbG93ZWQgYnkgdGhlIGRhdGEgcGF5bG9hZCAqLworCWZvciAoaSA9IDI7IGkgPCBmdy0+c2l6ZTsgaSArPSA2NCkgeworCQljbWQuc3RhcnQgPSAweDBDOyAvKiBEYXRhICovCisJCWNtZC5yZWdfY291bnQgPSBtaW5fdChpbnQsIDY0LCBmdy0+c2l6ZSAtIGkpOworCQltZW1jcHkoY21kLmJ1ZmZlci5ibG9ja19kYXRhLCAmZnctPmRhdGFbaV0sIGNtZC5yZWdfY291bnQpOwogCQljcGlhMl9zZW5kX2NvbW1hbmQoY2FtLCAmY21kKTsKIAl9CiAKKwkvKiBOZXh0IHNlbmQgdGhlIHN0YXJ0IGFkZHJlc3MuLi4gKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEEsIGZ3LT5kYXRhWzBdKTsgLyogaGkgKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEIsIGZ3LT5kYXRhWzFdKTsgLyogbG8gKi8KKworCS8qIC4uLiBmb2xsb3dlZCBieSB0aGUgJ2dvdG8nIGNvbW1hbmQgKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEQsIDEpOworCisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJwYXRjaC5oIGIvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMnBhdGNoLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmMDg1ZmIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMnBhdGNoLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMzMgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqCi0gKiAgRmlsZW5hbWU6IGNwaWEycGF0Y2guaAotICoKLSAqICBDb3B5cmlnaHQgMjAwMSwgU1RNaWNyb2xlY3Ryb25pY3MsIEluYy4KLSAqCi0gKiAgQ29udGFjdDogIHN0ZXZlLm1pbGxlckBzdC5jb20KLSAqCi0gKiAgRGVzY3JpcHRpb246Ci0gKiAgICAgVGhpcyBmaWxlIGNvbnRhaW5zIHBhdGNoIGRhdGEgZm9yIHRoZSBDUGlBMiAoc3R2MDY3MikgVlA0LgotICoKLSAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0gKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpZm5kZWYgQ1BJQTJfUEFUQ0hfSEVBREVSCi0jZGVmaW5lIENQSUEyX1BBVENIX0hFQURFUgotCi10eXBlZGVmIHN0cnVjdCB7Ci0JdW5zaWduZWQgY2hhciByZWc7Ci0JdW5zaWduZWQgY2hhciBjb3VudDsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhOwotfSBjcGlhMl9wYXRjaDsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc3RhcnRfYWRkcmVzc19oaVsxXSA9IHsKLQkweDAxCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBzdGFydF9hZGRyZXNzX2xvWzFdID0gewotCTB4QkMKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMFs2NF0gPSB7Ci0JMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHhFMywgMHgwNCwgMHhFMywgMHgwNSwKLQkweEUzLCAweDA2LCAweEUzLCAweDA3LCAweDkzLCAweDQ0LCAweDU2LCAweEQ0LAotCTB4OTMsIDB4NEUsIDB4NTYsIDB4NTEsIDB4OTMsIDB4NEUsIDB4NTEsIDB4RDYsCi0JMHg5MywgMHg0RSwgMHg0RiwgMHg1NCwgMHg5MywgMHg0RSwgMHg5MiwgMHg0RiwKLQkweDkyLCAweEE0LCAweDkzLCAweDA1LCAweDkyLCAweEY0LCAweDkzLCAweDFCLAotCTB4OTIsIDB4OTIsIDB4OTEsIDB4RTYsIDB4OTIsIDB4MzYsIDB4OTIsIDB4NzQsCi0JMHg5MiwgMHg0QSwgMHg5MiwgMHg4QywgMHg5MiwgMHg4RSwgMHhDOCwgMHhEMCwKLQkweDBCLCAweDQyLCAweDAyLCAweEEwLCAweENBLCAweDkyLCAweDA5LCAweDAyCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazFbNjRdID0gewotCTB4QzksIDB4MTAsIDB4MEEsIDB4MEEsIDB4MEEsIDB4ODEsIDB4RTMsIDB4QjgsCi0JMHhFMywgMHhCMCwgMHhFMywgMHhBOCwgMHhFMywgMHhBMCwgMHhFMywgMHg5OCwKLQkweEUzLCAweDkwLCAweEUxLCAweDAwLCAweENGLCAweEQ3LCAweDBBLCAweDEyLAotCTB4Q0MsIDB4OTUsIDB4MDgsIDB4QjIsIDB4MEEsIDB4MTgsIDB4RTEsIDB4MDAsCi0JMHgwMSwgMHhFRSwgMHgwQywgMHgwOCwgMHg0QSwgMHgxMiwgMHhDOCwgMHgxOCwKLQkweEYwLCAweDlBLCAweEMwLCAweDIyLCAweEYzLCAweDFDLCAweDRBLCAweDEzLAotCTB4RjMsIDB4MTQsIDB4QzgsIDB4QTAsIDB4RjIsIDB4MTQsIDB4RjIsIDB4MUMsCi0JMHhFQiwgMHgxMywgMHhEMywgMHhBMiwgMHg2MywgMHgxNiwgMHg0OCwgMHg5RQotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2syWzY0XSA9IHsKLQkweEYwLCAweDE4LCAweEE0LCAweDAzLCAweEYzLCAweDkzLCAweEMwLCAweDU4LAotCTB4RjcsIDB4MTMsIDB4NTEsIDB4OUMsIDB4RTksIDB4MjAsIDB4Q0YsIDB4RUYsCi0JMHg2MywgMHhGOSwgMHg5MiwgMHgyRSwgMHhEMywgMHg1RiwgMHg2MywgMHhGQSwKLQkweDkyLCAweDJFLCAweEQzLCAweDY3LCAweDYzLCAweEZCLCAweDkyLCAweDJFLAotCTB4RDMsIDB4NkYsIDB4RTksIDB4MUEsIDB4NjMsIDB4MTYsIDB4NDgsIDB4QTcsCi0JMHhGMCwgMHgyMCwgMHhBNCwgMHgwNiwgMHhGMywgMHg5NCwgMHhDMCwgMHgyNywKLQkweEY3LCAweDE0LCAweEY1LCAweDEzLCAweDUxLCAweDlELCAweEY2LCAweDEzLAotCTB4NjMsIDB4MTgsIDB4QzQsIDB4MjAsIDB4Q0IsIDB4RUYsIDB4NjMsIDB4RkMKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrM1s2NF0gPSB7Ci0JMHg5MiwgMHgyRSwgMHhEMywgMHg3NywgMHg2MywgMHhGRCwgMHg5MiwgMHgyRSwKLQkweEQzLCAweDdGLCAweDYzLCAweEZFLCAweDkyLCAweDJFLCAweEQzLCAweDg3LAotCTB4NjMsIDB4RkYsIDB4OTIsIDB4MkUsIDB4RDMsIDB4OEYsIDB4NjQsIDB4MzgsCi0JMHg5MiwgMHgyRSwgMHhEMywgMHg5NywgMHg2NCwgMHgzOSwgMHg5MiwgMHgyRSwKLQkweEQzLCAweDlGLCAweEUxLCAweDAwLCAweEY1LCAweDNBLCAweEY0LCAweDNCLAotCTB4RjcsIDB4QkYsIDB4RjIsIDB4QkMsIDB4RjIsIDB4M0QsIDB4RTEsIDB4MDAsCi0JMHg4MCwgMHg4NywgMHg5MCwgMHg4MCwgMHg1MSwgMHhENSwgMHgwMiwgMHgyMiwKLQkweDAyLCAweDMyLCAweDRCLCAweEQzLCAweEY3LCAweDExLCAweDBCLCAweERBCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazRbNjRdID0gewotCTB4RTEsIDB4MDAsIDB4MEUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MEQsIDB4QjUsCi0JMHhFMywgMHgwMiwgMHg0OCwgMHg1NSwgMHhFNSwgMHgxMiwgMHhBNCwgMHgwMSwKLQkweEU4LCAweDFCLCAweEUzLCAweDkwLCAweEYwLCAweDE4LCAweEE0LCAweDAxLAotCTB4RTgsIDB4QkYsIDB4OEQsIDB4QjgsIDB4NEIsIDB4RDEsIDB4NEIsIDB4RDgsCi0JMHgwQiwgMHhDQiwgMHgwQiwgMHhDMiwgMHhFMSwgMHgwMCwgMHhFMywgMHgwMiwKLQkweEUzLCAweDAzLCAweDUyLCAweEQzLCAweDYwLCAweDU5LCAweEU2LCAweDkzLAotCTB4MEQsIDB4MjIsIDB4NTIsIDB4RDQsIDB4RTYsIDB4OTMsIDB4MEQsIDB4MkEsCi0JMHhFMywgMHg5OCwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHgwMiwgMHg1RAotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s1WzY0XSA9IHsKLQkweDAyLCAweDYzLCAweEUzLCAweDAyLCAweEM4LCAweDEyLCAweDAyLCAweENBLAotCTB4QzgsIDB4NTIsIDB4MDIsIDB4QzIsIDB4ODIsIDB4NjgsIDB4RTMsIDB4MDIsCi0JMHhDOCwgMHgxNCwgMHgwMiwgMHhDQSwgMHhDOCwgMHg5MCwgMHgwMiwgMHhDMiwKLQkweDBBLCAweEQwLCAweEM5LCAweDkzLCAweDBBLCAweERBLCAweENDLCAweEQyLAotCTB4MEEsIDB4RTIsIDB4NjMsIDB4MTIsIDB4MDIsIDB4REEsIDB4MEEsIDB4OTgsCi0JMHgwQSwgMHhBMCwgMHgwQSwgMHhBOCwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwKLQkweEUzLCAweDAyLCAweDBBLCAweEQwLCAweEM5LCAweDkzLCAweDBBLCAweERBLAotCTB4Q0MsIDB4RDIsIDB4MEEsIDB4RTIsIDB4NjMsIDB4MTIsIDB4MDIsIDB4REEKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrNls2NF0gPSB7Ci0JMHgwQSwgMHg5OCwgMHgwQSwgMHhBMCwgMHgwQSwgMHhBOCwgMHg0OSwgMHg5MSwKLQkweEU1LCAweDZBLCAweEE0LCAweDA0LCAweEM4LCAweDEyLCAweDAyLCAweENBLAotCTB4QzgsIDB4NTIsIDB4ODIsIDB4ODksIDB4QzgsIDB4MTQsIDB4MDIsIDB4Q0EsCi0JMHhDOCwgMHg5MCwgMHgwMiwgMHhDMiwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwKLQkweDA4LCAweDYwLCAweEUxLCAweDAwLCAweDQ4LCAweDUzLCAweEU4LCAweDk3LAotCTB4MDgsIDB4NUEsIDB4RTEsIDB4MDAsIDB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsCi0JMHg1NCwgMHhEMywgMHg2MCwgMHg1OSwgMHhFNiwgMHg5MywgMHgwRCwgMHg1MiwKLQkweEUzLCAweDk4LCAweEUzLCAweDkwLCAweEUxLCAweDAwLCAweDAyLCAweDlDCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazdbNjRdID0gewotCTB4RTMsIDB4MDIsIDB4NTUsIDB4MTMsIDB4OTMsIDB4MTcsIDB4NTUsIDB4MTMsCi0JMHg5MywgMHgxNywgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHg3NSwgMHgzMCwKLQkweEUzLCAweDAyLCAweEUzLCAweDAzLCAweDU1LCAweDU1LCAweDYwLCAweDU5LAotCTB4RTYsIDB4OTMsIDB4MEQsIDB4QjIsIDB4RTMsIDB4OTgsIDB4RTMsIDB4OTAsCi0JMHhFMSwgMHgwMCwgMHgwMiwgMHhBRSwgMHhFNywgMHg5MiwgMHhFOSwgMHgxOCwKLQkweEVBLCAweDlBLCAweEU4LCAweDk4LCAweEU4LCAweDEwLCAweEU4LCAweDExLAotCTB4RTgsIDB4NTEsIDB4RDIsIDB4REEsIDB4RDIsIDB4RjMsIDB4RTgsIDB4MTMsCi0JMHhEMiwgMHhGQSwgMHhFOCwgMHg1MCwgMHhEMiwgMHhFQSwgMHhFOCwgMHhEMAotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s4WzY0XSA9IHsKLQkweEU4LCAweEQxLCAweEQzLCAweDBBLCAweDAzLCAweDA5LCAweDQ4LCAweDIzLAotCTB4RTUsIDB4MkMsIDB4QTAsIDB4MDMsIDB4NDgsIDB4MjQsIDB4RUEsIDB4MUMsCi0JMHgwMywgMHgwOCwgMHhEMiwgMHhFMywgMHhEMywgMHgwMywgMHhEMywgMHgxMywKLQkweEUxLCAweDAwLCAweDAyLCAweENCLCAweDA1LCAweDkzLCAweDU3LCAweDkzLAotCTB4RjAsIDB4OUEsIDB4QUMsIDB4MEIsIDB4RTMsIDB4MDcsIDB4OTIsIDB4RUEsCi0JMHhFMiwgMHg5RiwgMHhFNSwgMHgwNiwgMHhFMywgMHhCMCwgMHhBMCwgMHgwMiwKLQkweEVCLCAweDFFLCAweDgyLCAweEQ3LCAweEVBLCAweDFFLCAweEUyLCAweDNCLAotCTB4ODUsIDB4OUIsIDB4RTksIDB4MUUsIDB4QzgsIDB4OTAsIDB4ODUsIDB4OTQKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrOVs2NF0gPSB7Ci0JMHgwMiwgMHhERSwgMHgwNSwgMHg4MCwgMHg1NywgMHg5MywgMHhGMCwgMHhCQSwKLQkweEFDLCAweDA2LCAweDkyLCAweEVBLCAweEUyLCAweEJGLCAweEU1LCAweDA2LAotCTB4QTAsIDB4MDEsIDB4RUIsIDB4QkYsIDB4ODUsIDB4ODgsIDB4RTksIDB4M0UsCi0JMHhDOCwgMHg5MCwgMHg4NSwgMHg4MSwgMHhFOSwgMHgzRSwgMHhGMCwgMHhCQSwKLQkweEYzLCAweDM5LCAweEYwLCAweDNBLCAweDYwLCAweDE3LCAweEYwLCAweDNBLAotCTB4QzAsIDB4OTAsIDB4RjAsIDB4QkEsIDB4RTEsIDB4MDAsIDB4MDAsIDB4M0YsCi0JMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHg1OCwgMHgxMCwgMHg2MCwgMHg1OSwKLQkweEU2LCAweDkzLCAweDBELCAweEEyLCAweDU4LCAweDEyLCAweEU2LCAweDkzCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazEwWzY0XSA9IHsKLQkweDBELCAweEFBLCAweEUzLCAweDk4LCAweEUzLCAweDkwLCAweEUxLCAweDAwLAotCTB4MDMsIDB4MDEsIDB4RTEsIDB4MDAsIDB4MDMsIDB4MDMsIDB4OUIsIDB4N0QsCi0JMHg4QiwgMHg4QiwgMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHg1OCwgMHg1NiwKLQkweDYwLCAweDU5LCAweEU2LCAweDkzLCAweDBELCAweEJBLCAweEUzLCAweDk4LAotCTB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4MDMsIDB4MEYsIDB4OTMsIDB4MTEsCi0JMHhFMSwgMHgwMCwgMHhFMywgMHgwMiwgMHg0QSwgMHgxMSwgMHgwQiwgMHg0MiwKLQkweDkxLCAweEFGLCAweEUzLCAweDkwLCAweEUxLCAweDAwLCAweEYyLCAweDkxLAotCTB4RjAsIDB4OTEsIDB4QTMsIDB4RkUsIDB4RTEsIDB4MDAsIDB4NjAsIDB4OTIKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMTFbNjRdID0gewotCTB4QzAsIDB4NUYsIDB4RjAsIDB4MTMsIDB4RjAsIDB4MTMsIDB4NTksIDB4NUIsCi0JMHhFMiwgMHgxMywgMHhGMCwgMHgxMSwgMHg1QSwgMHgxOSwgMHhFMiwgMHgxMywKLQkweEUxLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDI3LCAweDY4LCAweDYxLAotCTB4NzYsIDB4NjEsIDB4NkUsIDB4NjEsIDB4MDAsIDB4MDYsIDB4MDMsIDB4MkMsCi0JMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHhFOSwgMHgzOCwgMHg1OSwgMHgxNSwKLQkweDU5LCAweDVBLCAweEYyLCAweDlBLCAweEJDLCAweDBCLCAweEE0LCAweDBBLAotCTB4NTksIDB4MUUsIDB4RjMsIDB4MTEsIDB4RjAsIDB4MUEsIDB4RTIsIDB4QkIsCi0JMHg1OSwgMHgxNSwgMHhGMCwgMHgxMSwgMHgxOSwgMHgyQSwgMHhFNSwgMHgwMgotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2sxMls1NF0gPSB7Ci0JMHhBNCwgMHgwMSwgMHhFQiwgMHhCRiwgMHhFMywgMHg5OCwgMHhFMywgMHg5MCwKLQkweEUxLCAweDAwLCAweDAzLCAweDQyLCAweDE5LCAweDI4LCAweEUxLCAweDAwLAotCTB4RTksIDB4MzAsIDB4NjAsIDB4NzksIDB4RTEsIDB4MDAsIDB4RTMsIDB4MDMsCi0JMHhFMywgMHgwNywgMHg2MCwgMHg3OSwgMHg5MywgMHg0RSwgMHhFMywgMHhCOCwKLQkweEUzLCAweDk4LCAweEUxLCAweDAwLCAweEU5LCAweDFBLCAweEYwLCAweDFGLAotCTB4RTIsIDB4MzMsIDB4RjAsIDB4OTEsIDB4RTIsIDB4OTIsIDB4RTAsIDB4MzIsCi0JMHhGMCwgMHgzMSwgMHhFMSwgMHgwMCwgMHgwMCwgMHgwMAotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZG9fY2FsbFsxXSA9IHsKLQkweDAxCi19OwotCi0KLSNkZWZpbmUgUEFUQ0hfREFUQV9TSVpFIDE4Ci0KLXN0YXRpYyBjb25zdCBjcGlhMl9wYXRjaCBwYXRjaF9kYXRhW1BBVENIX0RBVEFfU0laRV0gPSB7Ci0JezB4MEEsIHNpemVvZihzdGFydF9hZGRyZXNzX2hpKSwgc3RhcnRfYWRkcmVzc19oaX0KLQksCQkJLy8gMAotCXsweDBCLCBzaXplb2Yoc3RhcnRfYWRkcmVzc19sbyksIHN0YXJ0X2FkZHJlc3NfbG99Ci0JLAkJCS8vIDEKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMCksIHBhdGNoX2Jsb2NrMH0KLQksCQkJLy8gMgotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2sxKSwgcGF0Y2hfYmxvY2sxfQotCSwJCQkvLyAzCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazIpLCBwYXRjaF9ibG9jazJ9Ci0JLAkJCS8vIDQKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMyksIHBhdGNoX2Jsb2NrM30KLQksCQkJLy8gNQotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s0KSwgcGF0Y2hfYmxvY2s0fQotCSwJCQkvLyA2Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazUpLCBwYXRjaF9ibG9jazV9Ci0JLAkJCS8vIDcKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrNiksIHBhdGNoX2Jsb2NrNn0KLQksCQkJLy8gOAotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s3KSwgcGF0Y2hfYmxvY2s3fQotCSwJCQkvLyA5Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazgpLCBwYXRjaF9ibG9jazh9Ci0JLAkJCS8vIDEwCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazkpLCBwYXRjaF9ibG9jazl9Ci0JLAkJCS8vMTEKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMTApLCBwYXRjaF9ibG9jazEwfQotCSwJCQkvLyAxMgotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2sxMSksIHBhdGNoX2Jsb2NrMTF9Ci0JLAkJCS8vIDEzCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazEyKSwgcGF0Y2hfYmxvY2sxMn0KLQksCQkJLy8gMTQKLQl7MHgwQSwgc2l6ZW9mKHN0YXJ0X2FkZHJlc3NfaGkpLCBzdGFydF9hZGRyZXNzX2hpfQotCSwJCQkvLyAxNQotCXsweDBCLCBzaXplb2Yoc3RhcnRfYWRkcmVzc19sbyksIHN0YXJ0X2FkZHJlc3NfbG99Ci0JLAkJCS8vIDE2Ci0JezB4MEQsIHNpemVvZihkb19jYWxsKSwgZG9fY2FsbH0JLy8xNwotfTsKLQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gxOC9jeDE4LWF2LWZpcm13YXJlLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MTgvY3gxOC1hdi1maXJtd2FyZS5jCmluZGV4IDUyNmUxNDIuLmExYTZhZjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gxOC9jeDE4LWF2LWZpcm13YXJlLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9jeDE4L2N4MTgtYXYtZmlybXdhcmUuYwpAQCAtMjksNyArMjksNyBAQAogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgPSBOVUxMOwogCXUzMiBzaXplOwogCXUzMiB2OwotCXU4ICpwdHI7CisJY29uc3QgdTggKnB0cjsKIAlpbnQgaTsKIAogCWlmIChyZXF1ZXN0X2Zpcm13YXJlKCZmdywgRldGSUxFLCAmY3gtPmRldi0+ZGV2KSAhPSAwKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MjU4NDAvY3gyNTg0MC1maXJtd2FyZS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9jeDI1ODQwL2N4MjU4NDAtZmlybXdhcmUuYwppbmRleCA2MjBkMjk1Li44ZDQ4OWE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MjU4NDAvY3gyNTg0MC1maXJtd2FyZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gyNTg0MC9jeDI1ODQwLWZpcm13YXJlLmMKQEAgLTc5LDcgKzc5LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBmd193cml0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCAqZGF0YSwgaW50IHNpemUpCitzdGF0aWMgaW50IGZ3X3dyaXRlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIGNvbnN0IHU4ICpkYXRhLCBpbnQgc2l6ZSkKIHsKIAlpZiAoaTJjX21hc3Rlcl9zZW5kKGNsaWVudCwgZGF0YSwgc2l6ZSkgPCBzaXplKSB7CiAJCXY0bF9lcnIoY2xpZW50LCAiZmlybXdhcmUgbG9hZCBpMmMgZmFpbHVyZVxuIik7CkBAIC05Myw3ICs5Myw4IEBACiB7CiAJc3RydWN0IGN4MjU4NDBfc3RhdGUgKnN0YXRlID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyA9IE5VTEw7Ci0JdTggYnVmZmVyWzRdLCAqcHRyOworCXU4IGJ1ZmZlcltGV1NFTkRdOworCWNvbnN0IHU4ICpwdHI7CiAJaW50IHNpemUsIHJldHZhbDsKIAogCWlmIChzdGF0ZS0+aXNfY3gyMzg4NSkKQEAgLTEwOCwyOSArMTA5LDIzIEBACiAKIAlidWZmZXJbMF0gPSAweDA4OwogCWJ1ZmZlclsxXSA9IDB4MDI7Ci0JYnVmZmVyWzJdID0gZnctPmRhdGFbMF07Ci0JYnVmZmVyWzNdID0gZnctPmRhdGFbMV07Ci0JcmV0dmFsID0gZndfd3JpdGUoY2xpZW50LCBidWZmZXIsIDQpOwogCi0JaWYgKHJldHZhbCA8IDApIHsKLQkJcmVsZWFzZV9maXJtd2FyZShmdyk7Ci0JCXJldHVybiByZXR2YWw7Ci0JfQotCi0Jc2l6ZSA9IGZ3LT5zaXplIC0gMjsKKwlzaXplID0gZnctPnNpemU7CiAJcHRyID0gZnctPmRhdGE7CiAJd2hpbGUgKHNpemUgPiAwKSB7Ci0JCXB0clswXSA9IDB4MDg7Ci0JCXB0clsxXSA9IDB4MDI7Ci0JCXJldHZhbCA9IGZ3X3dyaXRlKGNsaWVudCwgcHRyLCBtaW4oRldTRU5ELCBzaXplICsgMikpOworCQlpbnQgbGVuID0gbWluKEZXU0VORCAtIDIsIHNpemUpOworCisJCW1lbWNweShidWZmZXIgKyAyLCBwdHIsIGxlbik7CisKKwkJcmV0dmFsID0gZndfd3JpdGUoY2xpZW50LCBidWZmZXIsIGxlbiArIDIpOwogCiAJCWlmIChyZXR2YWwgPCAwKSB7CiAJCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAkJCXJldHVybiByZXR2YWw7CiAJCX0KIAotCQlzaXplIC09IEZXU0VORCAtIDI7Ci0JCXB0ciArPSBGV1NFTkQgLSAyOworCQlzaXplIC09IGxlbjsKKwkJcHRyICs9IGxlbjsKIAl9CiAKIAllbmRfZndfbG9hZChjbGllbnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9kYWJmaXJtd2FyZS5oIGIvZHJpdmVycy9tZWRpYS92aWRlby9kYWJmaXJtd2FyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYmQ5MjYzLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFiZmlybXdhcmUuaAorKysgL2Rldi9udWxsCkBAIC0xLDE0MTUgKzAsMCBAQAotLyoKLSAqIGRhYmRhdGEuaCAtIGRhYiB1c2IgZmlybXdhcmUgYW5kIGJpdHN0cmVhbSBkYXRhCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5IEJheUNvbSBHbWJICi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCByZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlCi0gKiBjb2RlIHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBjb21tZW50IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbi4KLSAqLwotCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBmaXJtd2FyZVtdID0gewotCi17ICAyLCAweDAwMDAsIDAsIHsweDIxLDB4NTd9IH0sCi17ICAzLCAweDAwMDMsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAwYiwgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDEzLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMWIsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAyMywgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDJiLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMzMsIDAsIHsweDAyLDB4MDMsMHgwZn0gfSwKLXsgIDMsIDB4MDAzYiwgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDQzLCAwLCB7MHgwMiwweDAxLDB4MDB9IH0sCi17ICAzLCAweDAwNGIsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDA1MywgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDViLCAwLCB7MHgwMiwweDA0LDB4YmR9IH0sCi17ICAzLCAweDAwNjMsIDAsIHsweDAyLDB4MDEsMHg2N30gfSwKLXsgIDMsIDB4MDEwMCwgMCwgezB4MDIsMHgwYywweDVhfSB9LAoteyAgMywgMHgwMTA0LCAwLCB7MHgwMiwweDAxLDB4ZWR9IH0sCi17ICAzLCAweDAxMDgsIDAsIHsweDAyLDB4MDIsMHg1MX0gfSwKLXsgIDMsIDB4MDEwYywgMCwgezB4MDIsMHgwMiwweDdjfSB9LAoteyAgMywgMHgwMTEwLCAwLCB7MHgwMiwweDAyLDB4ZTR9IH0sCi17ICAxLCAweDAxMTQsIDAsIHsweDMyfSB9LAoteyAgMSwgMHgwMTE4LCAwLCB7MHgzMn0gfSwKLXsgIDMsIDB4MDExYywgMCwgezB4MDIsMHgwNSwweGZkfSB9LAoteyAgMywgMHgwMTIwLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxMjQsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDEyOCwgMCwgezB4MDIsMHgwNCwweDNjfSB9LAoteyAgMywgMHgwMTJjLCAwLCB7MHgwMiwweDA0LDB4NmF9IH0sCi17ICAzLCAweDAxMzAsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDEzNCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTM4LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxM2MsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE0MCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTQ0LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNDgsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE0YywgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTUwLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNTQsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgMTAsIDB4MDE1NywgMCwgezB4NzUsMHg4MSwweDdmLDB4ZTUsMHg4MiwweDYwLDB4MDMsMHgwMiwweDAxLDB4NjF9IH0sCi17ICA1LCAweDAxNjEsIDAsIHsweDEyLDB4MDcsMHg2ZiwweDIxLDB4NjR9IH0sCi17ICAxLCAweDAxNjYsIDAsIHsweDMyfSB9LAoteyAxNCwgMHgwMTY3LCAwLCB7MHhjMCwweGQwLDB4YzAsMHg4NiwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweDkwLDB4N2YsMHg5NywweGUwfSB9LAoteyAxNCwgMHgwMTc1LCAwLCB7MHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NjksMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMTgzLCAwLCB7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMTkxLCAwLCB7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwfSB9LAoteyAgMywgMHgwMTlmLCAwLCB7MHg1NSwweDdmLDB4ZjB9IH0sCi17IDE0LCAweDAxYTIsIDAsIHsweDkwLDB4N2YsMHg5YSwweGUwLDB4MzAsMHhlNCwweDIzLDB4OTAsMHg3ZiwweDY4LDB4ZjAsMHhmMCwweGYwLDB4ZjB9IH0sCi17IDE0LCAweDAxYjAsIDAsIHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9IH0sCi17IDE0LCAweDAxYmUsIDAsIHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9IH0sCi17IDE0LCAweDAxY2MsIDAsIHsweGU1LDB4ZDgsMHhjMiwweGUzLDB4ZjUsMHhkOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ODZ9IH0sCi17ICAzLCAweDAxZGEsIDAsIHsweGQwLDB4ZDAsMHgzMn0gfSwKLXsgIDgsIDB4MDFkZCwgMCwgezB4NzUsMHg4NiwweDAwLDB4OTAsMHhmZiwweGMzLDB4N2MsMHgwNX0gfSwKLXsgIDcsIDB4MDFlNSwgMCwgezB4YTMsMHhlNSwweDgyLDB4NDUsMHg4MywweDcwLDB4Zjl9IH0sCi17ICAxLCAweDAxZWMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwMWVkLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweGQwfSB9LAoteyAxNCwgMHgwMWZiLCAwLCB7MHg3NSwweGQwLDB4MDAsMHhjMCwweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxfSB9LAoteyAxMywgMHgwMjA5LCAwLCB7MHg5MCwweDg4LDB4MDAsMHhlMCwweGY1LDB4NDEsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgIDksIDB4MDIxNiwgMCwgezB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGU1LDB4MzIsMHg2MCwweDIxfSB9LAoteyAgNCwgMHgwMjFmLCAwLCB7MHg3YSwweDAwLDB4N2IsMHgwMH0gfSwKLXsgMTEsIDB4MDIyMywgMCwgezB4YzMsMHhlYSwweDk0LDB4MTgsMHhlYiwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgxMn0gfSwKLXsgMTQsIDB4MDIyZSwgMCwgezB4OTAsMHg3ZiwweDY5LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBhLDB4YmEsMHgwMH0gfSwKLXsgIDIsIDB4MDIzYywgMCwgezB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MDIzZSwgMCwgezB4ODAsMHhlM30gfSwKLXsgIDIsIDB4MDI0MCwgMCwgezB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MDI0MiwgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMH0gfSwKLXsgIDEsIDB4MDI1MCwgMCwgezB4MzJ9IH0sCi17IDE0LCAweDAyNTEsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDAyNWYsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGFiLDB4NzR9IH0sCi17ICA0LCAweDAyNmQsIDAsIHsweDA0LDB4ZjAsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwMjcxLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwMjdjLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0fSB9LAoteyAxNCwgMHgwMjhhLCAwLCB7MHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4ZDAsMHg3NSwweGQwfSB9LAoteyAxMywgMHgwMjk4LCAwLCB7MHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MH0gfSwKLXsgMTIsIDB4MDJhNSwgMCwgezB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMiwweDEyfSB9LAoteyAgNiwgMHgwMmIxLCAwLCB7MHgxMSwweDQ0LDB4NzUsMHg3MCwweDM5LDB4NzV9IH0sCi17ICA2LCAweDAyYjcsIDAsIHsweDcxLDB4MGMsMHg3NSwweDcyLDB4MDIsMHgxMn0gfSwKLXsgMTIsIDB4MDJiZCwgMCwgezB4MTEsMHg3NSwweDkwLDB4N2YsMHhkNiwweGU0LDB4ZjAsMHg3NSwweGQ4LDB4MjAsMHhkMCwweDg2fSB9LAoteyAxNCwgMHgwMmM5LCAwLCB7MHhkMCwweGQwLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAxMywgMHgwMmQ3LCAwLCB7MHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDJlNCwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTQsIDB4MDJmMiwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MCwweDdmLDB4YWIsMHg3NH0gfSwKLXsgIDQsIDB4MDMwMCwgMCwgezB4MTAsMHhmMCwweGQwLDB4ODZ9IH0sCi17IDExLCAweDAzMDQsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDAzMGYsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDR9IH0sCi17IDE0LCAweDAzMWQsIDAsIHsweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHhkMCwweDc1LDB4ZDB9IH0sCi17IDEyLCAweDAzMmIsIDAsIHsweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMn0gfSwKLXsgIDcsIDB4MDMzNywgMCwgezB4MTIsMHgxMSwweDQ0LDB4NzUsMHg3MCwweDQwLDB4NzV9IH0sCi17ICA2LCAweDAzM2UsIDAsIHsweDcxLDB4MGMsMHg3NSwweDcyLDB4MDIsMHgxMn0gfSwKLXsgMTQsIDB4MDM0NCwgMCwgezB4MTEsMHg3NSwweDkwLDB4N2YsMHhkNiwweDc0LDB4MDIsMHhmMCwweDkwLDB4N2YsMHhkNiwweDc0LDB4MDYsMHhmMH0gfSwKLXsgIDUsIDB4MDM1MiwgMCwgezB4NzUsMHhkOCwweDEwLDB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MDM1NywgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTMsIDB4MDM2NSwgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDEzLCAweDAzNzIsIDAsIHsweDkwLDB4N2YsMHhhNSwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweDc0LDB4OWEsMHhmMCwweDEyfSB9LAoteyAxMiwgMHgwMzdmLCAwLCB7MHgxMCwweDFiLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHg0MiwweGYwLDB4MTIsMHgxMCwweDFiLDB4OTB9IH0sCi17IDEzLCAweDAzOGIsIDAsIHsweDdmLDB4YTYsMHhlNSwweDQzLDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwfSB9LAoteyAgMSwgMHgwMzk4LCAwLCB7MHhmMH0gfSwKLXsgIDEsIDB4MDM5OSwgMCwgezB4MjJ9IH0sCi17IDEzLCAweDAzOWEsIDAsIHsweDkwLDB4N2YsMHhhNSwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweDc0LDB4OWEsMHhmMCwweDEyfSB9LAoteyAxMiwgMHgwM2E3LCAwLCB7MHgxMCwweDFiLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHg0NCwweGYwLDB4MTIsMHgxMCwweDFiLDB4OTB9IH0sCi17IDEyLCAweDAzYjMsIDAsIHsweDdmLDB4YTYsMHhlNSwweDQ1LDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MCwweDdmLDB4YTYsMHhlNX0gfSwKLXsgMTEsIDB4MDNiZiwgMCwgezB4NDYsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMH0gfSwKLXsgIDEsIDB4MDNjYSwgMCwgezB4MjJ9IH0sCi17IDEwLCAweDAzY2IsIDAsIHsweDc1LDB4NDQsMHgwMiwweDc1LDB4NDUsMHgwMCwweDc1LDB4NDYsMHgwMCwweDEyfSB9LAoteyAgOSwgMHgwM2Q1LCAwLCB7MHgwMywweDlhLDB4NzUsMHg0MiwweDAzLDB4NzUsMHg0MywweDAwLDB4MTJ9IH0sCi17ICAyLCAweDAzZGUsIDAsIHsweDAzLDB4NzJ9IH0sCi17ICAxLCAweDAzZTAsIDAsIHsweDIyfSB9LAoteyAxMiwgMHgwM2UxLCAwLCB7MHg5MCwweDg4LDB4MDAsMHhlNSwweDM2LDB4ZjAsMHg5MCwweDg4LDB4MDAsMHg3NCwweDEwLDB4MjV9IH0sCi17ICA5LCAweDAzZWQsIDAsIHsweDM2LDB4ZjAsMHgxMiwweDAxLDB4ZGQsMHg3NSwweDQyLDB4MDEsMHg3NX0gfSwKLXsgIDksIDB4MDNmNiwgMCwgezB4NDMsMHgxOCwweDEyLDB4MDMsMHg3MiwweDc1LDB4NDQsMHgwMiwweDc1fSB9LAoteyAgOSwgMHgwM2ZmLCAwLHsweDQ1LDB4MDAsMHg3NSwweDQ2LDB4MDAsMHgxMiwweDAzLDB4OWEsMHg3NX0gfSwKLXsgIDgsIDB4MDQwOCwgMCx7MHg0MiwweDAzLDB4NzUsMHg0MywweDQ0LDB4MTIsMHgwMywweDcyfSB9LAoteyAgMSwgMHgwNDEwLCAwLHsweDIyfSB9LAoteyAxNCwgMHgwNDExLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxNCwgMHgwNDFmLCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwLDB4N2YsMHhhYSwweDc0fSB9LAoteyAgNCwgMHgwNDJkLCAwLCB7MHgwMiwweGYwLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDQzMSwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDQzYywgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTQsIDB4MDQ0YSwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MCwweDdmLDB4YTksMHg3NH0gfSwKLXsgIDcsIDB4MDQ1OCwgMCwgezB4MDQsMHhmMCwweDc1LDB4MzAsMHgwMSwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0NWYsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA0NmEsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDA0NzgsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGFhLDB4NzR9IH0sCi17ICA3LCAweDA0ODYsIDAsIHsweDA0LDB4ZjAsMHg3NSwweDMxLDB4MDEsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwNDhkLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNDk4LCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxMiwgMHgwNGE2LCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU1LDB4ZjUsMHg5MSwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0YjIsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA0YmQsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDEyLCAweDA0Y2IsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTcsMHhmNSwweDkxLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDRkNywgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTIsIDB4MDRlMiwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYSwweDhhLDB4MjAsMHg5MCwweDdmLDB4OTYsMHhlNCwweGYwfSB9LAoteyAgMSwgMHgwNGVlLCAwLCB7MHgyMn0gfSwKLXsgIDcsIDB4MDRlZiwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYSwweDhhLDB4MjF9IH0sCi17ICAxLCAweDA0ZjYsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwNGY3LCAwLCB7MHg5MCwweDE3LDB4MTMsMHhlMCwweGZhLDB4OTAsMHgxNywweDE1LDB4ZTAsMHhmYiwweDc0LDB4ODAsMHgyYSwweGZhfSB9LAoteyAxNCwgMHgwNTA1LCAwLCB7MHg3NCwweDgwLDB4MmIsMHhmYiwweGVhLDB4MDMsMHgwMywweDU0LDB4M2YsMHhmYywweGVhLDB4YzQsMHgyMywweDU0fSB9LAoteyAxNCwgMHgwNTEzLCAwLCB7MHgxZiwweGZhLDB4MmMsMHhmYSwweGViLDB4MDMsMHgwMywweDU0LDB4M2YsMHhmYywweGViLDB4YzQsMHgyMywweDU0fSB9LAoteyAxMSwgMHgwNTIxLCAwLCB7MHgxZiwweGZiLDB4MmMsMHhmYiwweDkwLDB4MTcsMHgwYSwweGUwLDB4ZmMsMHg2MCwweDAyfSB9LAoteyAgMiwgMHgwNTJjLCAwLCB7MHg3YSwweDAwfSB9LAoteyAgNywgMHgwNTJlLCAwLCB7MHg5MCwweDE3LDB4MGMsMHhlMCwweGZjLDB4NjAsMHgwMn0gfSwKLXsgIDIsIDB4MDUzNSwgMCwgezB4N2IsMHgwMH0gfSwKLXsgMTEsIDB4MDUzNywgMCwgezB4ZWEsMHgyYiwweGZjLDB4YzMsMHgxMywweGY1LDB4M2EsMHg3NSwweDQ0LDB4MDIsMHg4Yn0gfSwKLXsgIDcsIDB4MDU0MiwgMCwgezB4NDUsMHg4YSwweDQ2LDB4MTIsMHgwMywweDlhLDB4NzV9IH0sCi17ICA5LCAweDA1NDksIDAsIHsweDZlLDB4MDgsMHg3NSwweDZmLDB4MDAsMHgxMiwweDExLDB4NDQsMHg3NX0gfSwKLXsgIDQsIDB4MDU1MiwgMCwgezB4NzAsMHg0NywweDc1LDB4NzF9IH0sCi17ICA4LCAweDA1NTYsIDAsIHsweDBjLDB4NzUsMHg3MiwweDAyLDB4MTIsMHgxMSwweDc1LDB4ODV9IH0sCi17ICA1LCAweDA1NWUsIDAsIHsweDNhLDB4NzMsMHgxMiwweDExLDB4YTB9IH0sCi17ICAxLCAweDA1NjMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwNTY0LCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg4MCwweDY1LDB4MDIsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwNTcyLCAwLCB7MHg3ZiwweGViLDB4ZTAsMHhmYSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmIsMHg5MCwweDdmLDB4ZWYsMHhlMCwweGZjfSB9LAoteyAxNCwgMHgwNTgwLCAwLCB7MHgzMywweDk1LDB4ZTAsMHhmZCwweDhjLDB4MDUsMHg3YywweDAwLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHhmZSwweDMzfSB9LAoteyAxNCwgMHgwNThlLCAwLCB7MHg5NSwweGUwLDB4ZmYsMHhlYywweDJlLDB4ZmMsMHhlZCwweDNmLDB4ZmQsMHg5MCwweDdmLDB4ZTksMHhlMCwweGZlfSB9LAoteyAgNSwgMHgwNTljLCAwLCB7MHhiZSwweDAxLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwNWExLCAwLCB7MHgwMiwweDA1LDB4Zjl9IH0sCi17ICA2LCAweDA1YTQsIDAsIHsweGJjLDB4MDEsMHgyMSwweGJkLDB4MDAsMHgxZX0gfSwKLXsgMTQsIDB4MDVhYSwgMCwgezB4ZWEsMHhjNCwweDAzLDB4NTQsMHhmOCwweGZjLDB4ZWIsMHgyNSwweGUwLDB4ZmQsMHgyYywweDI0LDB4MDAsMHhmY30gfSwKLXsgMTQsIDB4MDViOCwgMCwgezB4ZTQsMHgzNCwweDE3LDB4ZmQsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZlLDB4OGMsMHg4MiwweDhkLDB4ODMsMHhmMH0gfSwKLXsgIDIsIDB4MDVjNiwgMCwgezB4ODAsMHgzMX0gfSwKLXsgMTQsIDB4MDVjOCwgMCwgezB4ZWEsMHhjNCwweDAzLDB4NTQsMHhmOCwweGZhLDB4ZWIsMHgyNSwweGUwLDB4ZmIsMHgyYSwweGZhLDB4MjQsMHgwMH0gfSwKLXsgMTQsIDB4MDVkNiwgMCwgezB4ZmIsMHhlNCwweDM0LDB4MTcsMHhmYywweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmQsMHg4YiwweDgyLDB4OGMsMHg4M30gfSwKLXsgMTQsIDB4MDVlNCwgMCwgezB4ZjAsMHg3NCwweDAxLDB4MmEsMHgyNCwweDAwLDB4ZmEsMHhlNCwweDM0LDB4MTcsMHhmYiwweDkwLDB4N2UsMHhjMX0gfSwKLXsgIDcsIDB4MDVmMiwgMCwgezB4ZTAsMHhmYywweDhhLDB4ODIsMHg4YiwweDgzLDB4ZjB9IH0sCi17ICAzLCAweDA1ZjksIDAsIHsweDc1LDB4MzgsMHgwMX0gfSwKLXsgIDEsIDB4MDVmYywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDA1ZmQsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDR9IH0sCi17IDE0LCAweDA2MGIsIDAsIHsweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHhkMCwweDc1LDB4ZDB9IH0sCi17IDEzLCAweDA2MTksIDAsIHsweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwfSB9LAoteyAxMywgMHgwNjI2LCAwLCB7MHg3ZiwweGFhLDB4NzQsMHgwMSwweGYwLDB4MTIsMHgwNSwweDY0LDB4NzUsMHgzNywweDAwLDB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MDYzMywgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTMsIDB4MDY0MSwgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA2NGUsIDAsIHsweDkwLDB4N2YsMHhlYiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZiLDB4OTAsMHg3ZiwweGVlLDB4ZTB9IH0sCi17IDE0LCAweDA2NWMsIDAsIHsweGZjLDB4MzMsMHg5NSwweGUwLDB4ZmQsMHg5MCwweDdmLDB4OTYsMHhlMCwweGZlLDB4OTAsMHg3ZiwweDk2LDB4NzR9IH0sCi17IDE0LCAweDA2NmEsIDAsIHsweDgwLDB4NjUsMHgwNiwweGYwLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHgwMSwweGYwLDB4ZWEsMHhjNCwweDAzLDB4NTR9IH0sCi17IDE0LCAweDA2NzgsIDAsIHsweGY4LDB4ZmUsMHhlYiwweDI1LDB4ZTAsMHhmYiwweDJlLDB4ZmUsMHgyNCwweDAwLDB4ZmIsMHhlNCwweDM0LDB4MTd9IH0sCi17IDE0LCAweDA2ODYsIDAsIHsweGZmLDB4OGIsMHg4MiwweDhmLDB4ODMsMHhlMCwweGZiLDB4NzQsMHgwMSwweDJlLDB4MjQsMHgwMCwweGZlLDB4ZTR9IH0sCi17IDE0LCAweDA2OTQsIDAsIHsweDM0LDB4MTcsMHhmZiwweDhlLDB4ODIsMHg4ZiwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlOSwweGUwLDB4ZmZ9IH0sCi17ICAzLCAweDA2YTIsIDAsIHsweGJmLDB4ODEsMHgwYX0gfSwKLXsgMTAsIDB4MDZhNSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZWIsMHhmMCwweDkwLDB4N2YsMHgwMSwweGVlLDB4ZjB9IH0sCi17ICA4LCAweDA2YWYsIDAsIHsweDkwLDB4N2YsMHhlOSwweGUwLDB4ZmIsMHhiYiwweDgyLDB4MWF9IH0sCi17ICAzLCAweDA2YjcsIDAsIHsweGJhLDB4MDEsMHgwY30gfSwKLXsgMTIsIDB4MDZiYSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg4MCwweDBifSB9LAoteyAxMSwgMHgwNmM2LCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4NzQsMHhiNSwweGYwfSB9LAoteyAgOCwgMHgwNmQxLCAwLCB7MHg5MCwweDdmLDB4ZTksMHhlMCwweGZiLDB4YmIsMHg4MywweDFifSB9LAoteyAgMywgMHgwNmQ5LCAwLCB7MHhiYSwweDAxLDB4MGR9IH0sCi17IDEzLCAweDA2ZGMsIDAsIHsweDkwLDB4N2YsMHgwMCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg4MCwweDBifSB9LAoteyAxMSwgMHgwNmU5LCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4NzQsMHgxMiwweGYwfSB9LAoteyAgOCwgMHgwNmY0LCAwLCB7MHg5MCwweDdmLDB4ZTksMHhlMCwweGZiLDB4YmIsMHg4NCwweDFjfSB9LAoteyAgMywgMHgwNmZjLCAwLCB7MHhiYSwweDAxLDB4MGR9IH0sCi17IDEzLCAweDA2ZmYsIDAsIHsweDkwLDB4N2YsMHgwMCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg4MCwweDBjfSB9LAoteyAxMiwgMHgwNzBjLCAwLCB7MHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICA1LCAweDA3MTgsIDAsIHsweDkwLDB4N2YsMHhiNSwweGVjLDB4ZjB9IH0sCi17ICAxLCAweDA3MWQsIDAsIHsweDIyfSB9LAoteyAxMiwgMHgwNzFlLCAwLCB7MHg3NSwweDM2LDB4MGQsMHg5MCwweDg4LDB4MDAsMHg3NCwweDFkLDB4ZjAsMHg3NSwweDZiLDB4ODB9IH0sCi17IDEwLCAweDA3MmEsIDAsIHsweDc1LDB4NmMsMHgzYywweDEyLDB4MTAsMHhlMiwweDc1LDB4NmIsMHg4MCwweDc1fSB9LAoteyAgOSwgMHgwNzM0LCAwLCB7MHg2YywweDBmLDB4MTIsMHgxMCwweGUyLDB4NzUsMHg2YiwweDgwLDB4NzV9IH0sCi17ICA5LCAweDA3M2QsIDAsIHsweDZjLDB4MDYsMHgxMiwweDEwLDB4ZTIsMHg3NSwweDZiLDB4ODAsMHg3NX0gfSwKLXsgIDcsIDB4MDc0NiwgMCwgezB4NmMsMHgwMSwweDEyLDB4MTAsMHhlMiwweDdhLDB4MDB9IH0sCi17ICAzLCAweDA3NGQsIDAsIHsweGJhLDB4ZmYsMHgwMH0gfSwKLXsgIDIsIDB4MDc1MCwgMCwgezB4NTAsMHgwYX0gfSwKLXsgMTAsIDB4MDc1MiwgMCwgezB4YzAsMHgwMiwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDIsMHgwYSwweDgwLDB4ZjF9IH0sCi17IDEwLCAweDA3NWMsIDAsIHsweDc1LDB4NmIsMHg4MCwweDc1LDB4NmMsMHgzYywweDEyLDB4MTAsMHhlMiwweDc1fSB9LAoteyAgOCwgMHgwNzY2LCAwLCB7MHg2YiwweDgwLDB4NzUsMHg2YywweDBmLDB4MTIsMHgxMCwweGUyfSB9LAoteyAgMSwgMHgwNzZlLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDc2ZiwgMCwgezB4OTAsMHg3ZiwweGExLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhhZiwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5Mn0gfSwKLXsgMTQsIDB4MDc3ZCwgMCwgezB4NzQsMHgwMiwweGYwLDB4NzUsMHg4ZSwweDMxLDB4NzUsMHg4OSwweDIxLDB4NzUsMHg4OCwweDAwLDB4NzUsMHhjOH0gfSwKLXsgMTQsIDB4MDc4YiwgMCwgezB4MDAsMHg3NSwweDhkLDB4NDAsMHg3NSwweDk4LDB4NDAsMHg3NSwweGMwLDB4NDAsMHg3NSwweDg3LDB4MDAsMHg3NX0gfSwKLXsgIDksIDB4MDc5OSwgMCwgezB4MjAsMHgwMCwweDc1LDB4MjEsMHgwMCwweDc1LDB4MjIsMHgwMCwweDc1fSB9LAoteyAgNSwgMHgwN2EyLCAwLCB7MHgyMywweDAwLDB4NzUsMHg0NywweDAwfSB9LAoteyAgNywgMHgwN2E3LCAwLCB7MHhjMywweGU1LDB4NDcsMHg5NCwweDIwLDB4NTAsMHgxMX0gfSwKLXsgMTMsIDB4MDdhZSwgMCwgezB4ZTUsMHg0NywweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDE3LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17ICA0LCAweDA3YmIsIDAsIHsweDA1LDB4NDcsMHg4MCwweGU4fSB9LAoteyAgOSwgMHgwN2JmLCAwLCB7MHhlNCwweGY1LDB4NDAsMHhmNSwweDNmLDB4ZTQsMHhmNSwweDNjLDB4ZjV9IH0sCi17ICA3LCAweDA3YzgsIDAsIHsweDNiLDB4ZTQsMHhmNSwweDNlLDB4ZjUsMHgzZCwweDc1fSB9LAoteyAxMSwgMHgwN2NmLCAwLCB7MHgzMiwweDAwLDB4NzUsMHgzNywweDAwLDB4NzUsMHgzOSwweDAwLDB4OTAsMHg3ZiwweDkzfSB9LAoteyAxNCwgMHgwN2RhLCAwLCB7MHg3NCwweDNjLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwfSB9LAoteyAxNCwgMHgwN2U4LCAwLCB7MHhmMCwweDkwLDB4N2YsMHg5NCwweDc0LDB4NzAsMHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4OGYsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwN2Y2LCAwLCB7MHg3ZiwweDk3LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHg5NSwweDc0LDB4YzIsMHhmMCwweDkwLDB4N2YsMHg5OCwweDc0fSB9LAoteyAxNCwgMHgwODA0LCAwLCB7MHgyOCwweGYwLDB4OTAsMHg3ZiwweDllLDB4NzQsMHgyOCwweGYwLDB4OTAsMHg3ZiwweGYwLDB4ZTQsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwODEyLCAwLCB7MHg3ZiwweGYxLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmMiwweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHhlNCwweGYwfSB9LAoteyAxNCwgMHgwODIwLCAwLCB7MHg5MCwweDdmLDB4ZjQsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGY1LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmNiwweGU0fSB9LAoteyAxNCwgMHgwODJlLCAwLCB7MHhmMCwweDkwLDB4N2YsMHhmNywweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjgsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGY5fSB9LAoteyAxNCwgMHgwODNjLCAwLCB7MHg3NCwweDM4LDB4ZjAsMHg5MCwweDdmLDB4ZmEsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4ZmIsMHg3NCwweGEwfSB9LAoteyAxNCwgMHgwODRhLCAwLCB7MHhmMCwweDkwLDB4N2YsMHhmYywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHhmZCwweDc0LDB4YTAsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwODU4LCAwLCB7MHg3ZiwweGZlLDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweGUwfSB9LAoteyAxNCwgMHgwODY2LCAwLCB7MHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZTEsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4ZGQsMHg3NCwweDgwfSB9LAoteyAxMSwgMHgwODc0LCAwLCB7MHhmMCwweDEyLDB4MTIsMHg0MywweDEyLDB4MDcsMHgxZSwweDdhLDB4MDAsMHg3YiwweDAwfSB9LAoteyAgOSwgMHgwODdmLCAwLCB7MHhjMywweGVhLDB4OTQsMHgxZSwweGViLDB4OTQsMHgwMCwweDUwLDB4MTd9IH0sCi17IDEyLCAweDA4ODgsIDAsIHsweDkwLDB4ODgsMHgwMCwweGUwLDB4ZjUsMHg0NywweDkwLDB4ODgsMHgwYiwweGUwLDB4ZjUsMHg0N30gfSwKLXsgIDksIDB4MDg5NCwgMCwgezB4OTAsMHg3ZiwweDY4LDB4ZjAsMHgwYSwweGJhLDB4MDAsMHgwMSwweDBifSB9LAoteyAgMiwgMHgwODlkLCAwLCB7MHg4MCwweGUwfSB9LAoteyAxMiwgMHgwODlmLCAwLCB7MHgxMiwweDAzLDB4ZTEsMHg5MCwweDdmLDB4ZDYsMHhlNCwweGYwLDB4N2EsMHgwMCwweDdiLDB4MDB9IH0sCi17IDEzLCAweDA4YWIsIDAsIHsweDhhLDB4MDQsMHg4YiwweDA1LDB4YzMsMHhlYSwweDk0LDB4ZTAsMHhlYiwweDk0LDB4MmUsMHg1MCwweDFhfSB9LAoteyAxNCwgMHgwOGI4LCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwfSB9LAoteyAxMCwgMHgwOGM2LCAwLCB7MHgwNCwweGQwLDB4MDMsMHhkMCwweDAyLDB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MDhkMCwgMCwgezB4ODAsMHhkOX0gfSwKLXsgMTMsIDB4MDhkMiwgMCwgezB4OTAsMHg3ZiwweGQ2LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3ZiwweGQ2LDB4NzQsMHgwNiwweGYwLDB4OTB9IH0sCi17IDE0LCAweDA4ZGYsIDAsIHsweDdmLDB4ZGUsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDdmLDB4ZGYsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDdmLDB4YWN9IH0sCi17IDE0LCAweDA4ZWQsIDAsIHsweGU0LDB4ZjAsMHg5MCwweDdmLDB4YWQsMHg3NCwweDA1LDB4ZjAsMHg3NSwweGE4LDB4ODAsMHg3NSwweGY4LDB4MTB9IH0sCi17IDEzLCAweDA4ZmIsIDAsIHsweDkwLDB4N2YsMHhhZSwweDc0LDB4MGIsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODgsMHhmMCwweDkwfSB9LAoteyAxMiwgMHgwOTA4LCAwLCB7MHg3ZiwweGFiLDB4NzQsMHgwOCwweGYwLDB4NzUsMHhlOCwweDExLDB4NzUsMHgzMiwweDAxLDB4NzV9IH0sCi17IDEyLCAweDA5MTQsIDAsIHsweDMxLDB4MDAsMHg3NSwweDMwLDB4MDAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDQsMHhmN30gfSwKLXsgMTAsIDB4MDkyMCwgMCwgezB4ZDAsMHgwNSwweGQwLDB4MDQsMHg3NSwweDM0LDB4MDAsMHg3NSwweDM1LDB4MDF9IH0sCi17IDEzLCAweDA5MmEsIDAsIHsweDkwLDB4N2YsMHhhZSwweDc0LDB4MDMsMHhmMCwweDhjLDB4MDIsMHhiYSwweDAwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwOTM3LCAwLCB7MHgwMiwweDBhLDB4M2Z9IH0sCi17IDEyLCAweDA5M2EsIDAsIHsweDg1LDB4MzMsMHgzNCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4OGYsMHhmMCwweDkwLDB4N2YsMHg5N30gfSwKLXsgMTQsIDB4MDk0NiwgMCwgezB4NzQsMHgwOCwweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHg4OCwweGYwLDB4OTAsMHg3ZiwweDlhLDB4ZTAsMHhmYX0gfSwKLXsgMTIsIDB4MDk1NCwgMCwgezB4NzQsMHgwNSwweDVhLDB4ZjUsMHgzMywweDkwLDB4N2YsMHg5ZCwweDc0LDB4OGYsMHhmMCwweDkwfSB9LAoteyAxMywgMHgwOTYwLCAwLCB7MHg3ZiwweDk3LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHg4MiwweGYwLDB4ZTUsMHgzM30gfSwKLXsgMTMsIDB4MDk2ZCwgMCwgezB4MjUsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDlhLDB4ZTAsMHg1NCwweDA1LDB4ZmIsMHg0YSwweGY1LDB4MzN9IH0sCi17ICAyLCAweDA5N2EsIDAsIHsweDYwLDB4MGN9IH0sCi17IDEyLCAweDA5N2MsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwLDB4NGEsMHhmMH0gfSwKLXsgMTEsIDB4MDk4OCwgMCwgezB4NzUsMHg2ZSwweDAwLDB4NzUsMHg2ZiwweDAwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMn0gfSwKLXsgMTQsIDB4MDk5MywgMCwgezB4MTEsMHg0NCwweGQwLDB4MDUsMHhkMCwweDA0LDB4OTAsMHgxNywweDEzLDB4ZTAsMHhmYSwweDc0LDB4ODAsMHgyYX0gfSwKLXsgIDYsIDB4MDlhMSwgMCwgezB4ZmEsMHhlNSwweDMzLDB4YjQsMHgwNCwweDI5fSB9LAoteyAgMywgMHgwOWE3LCAwLCB7MHhiYSwweGEwLDB4MDB9IH0sCi17ICAyLCAweDA5YWEsIDAsIHsweDUwLDB4MjR9IH0sCi17IDEzLCAweDA5YWMsIDAsIHsweDkwLDB4MTcsMHgxMywweGUwLDB4MDQsMHhmYiwweDBiLDB4OTAsMHgxNywweDEzLDB4ZWIsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwOWI5LCAwLCB7MHgxNywweDEzLDB4ZTAsMHhmYiwweDkwLDB4MTcsMHgxNSwweGYwLDB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1fSB9LAoteyAgOSwgMHgwOWM3LCAwLCB7MHgxMiwweDA0LDB4ZjcsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwLDB4MDJ9IH0sCi17ICA1LCAweDA5ZDAsIDAsIHsweGU1LDB4MzMsMHhiNCwweDAyLDB4MjZ9IH0sCi17ICA2LCAweDA5ZDUsIDAsIHsweGMzLDB4NzQsMHgwNCwweDlhLDB4NTAsMHgyMH0gfSwKLXsgMTMsIDB4MDlkYiwgMCwgezB4OTAsMHgxNywweDEzLDB4ZTAsMHhmYSwweDFhLDB4MWEsMHg5MCwweDE3LDB4MTMsMHhlYSwweGYwLDB4OTB9IH0sCi17IDEzLCAweDA5ZTgsIDAsIHsweDE3LDB4MTMsMHhlMCwweGZhLDB4OTAsMHgxNywweDE1LDB4ZjAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyfSB9LAoteyAgNiwgMHgwOWY1LCAwLCB7MHgwNCwweGY3LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17ICA1LCAweDA5ZmIsIDAsIHsweGU1LDB4MzMsMHhiNCwweDA4LDB4MWR9IH0sCi17ICA0LCAweDBhMDAsIDAsIHsweGU1LDB4MzQsMHg3MCwweDE5fSB9LAoteyAxMCwgMHgwYTA0LCAwLCB7MHg3NCwweDAxLDB4MjUsMHgzNSwweDU0LDB4MGYsMHhmNSwweDM1LDB4ODUsMHgzNX0gfSwKLXsgMTIsIDB4MGEwZSwgMCwgezB4NzUsMHg3NSwweDc2LDB4MDAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTMsMHhmZSwweGQwfSB9LAoteyAgMywgMHgwYTFhLCAwLCB7MHgwNSwweGQwLDB4MDR9IH0sCi17ICA1LCAweDBhMWQsIDAsIHsweGU1LDB4MzMsMHhiNCwweDAxLDB4MWR9IH0sCi17ICA0LCAweDBhMjIsIDAsIHsweGU1LDB4MzQsMHg3MCwweDE5fSB9LAoteyAxMCwgMHgwYTI2LCAwLCB7MHhlNSwweDM1LDB4MjQsMHhmZiwweDU0LDB4MGYsMHhmNSwweDM1LDB4ODUsMHgzNX0gfSwKLXsgMTIsIDB4MGEzMCwgMCwgezB4NzUsMHg3NSwweDc2LDB4MDAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTMsMHhmZSwweGQwfSB9LAoteyAgMywgMHgwYTNjLCAwLCB7MHgwNSwweGQwLDB4MDR9IH0sCi17IDE0LCAweDBhM2YsIDAsIHsweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHg5MCwweDdmLDB4OTZ9IH0sCi17IDE0LCAweDBhNGQsIDAsIHsweGUwLDB4ZmEsMHg5MCwweDdmLDB4OTYsMHg3NCwweDdmLDB4NWEsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4MDh9IH0sCi17IDEwLCAweDBhNWIsIDAsIHsweGYwLDB4YzMsMHhlYywweDk0LDB4MDAsMHhlZCwweDk0LDB4MDIsMHg0MCwweDA4fSB9LAoteyAgOCwgMHgwYTY1LCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4MjAsMHhlNiwweDA4fSB9LAoteyAgOCwgMHgwYTZkLCAwLCB7MHhjMywweGU0LDB4OWMsMHg3NCwweDA4LDB4OWQsMHg1MCwweDEzfSB9LAoteyAxNCwgMHgwYTc1LCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg0MCwweDY1LDB4MDIsMHhmMCwweDdjfSB9LAoteyAgNSwgMHgwYTgzLCAwLCB7MHgwMCwweDdkLDB4MDAsMHg4MCwweDA1fSB9LAoteyAgNSwgMHgwYTg4LCAwLCB7MHgwYywweGJjLDB4MDAsMHgwMSwweDBkfSB9LAoteyAgNSwgMHgwYThkLCAwLCB7MHhlNSwweDM4LDB4YjQsMHgwMSwweDBlfSB9LAoteyAxMywgMHgwYTkyLCAwLCB7MHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDQsMHhmNywweGQwLDB4MDUsMHhkMCwweDA0LDB4NzUsMHgzOH0gfSwKLXsgIDEsIDB4MGE5ZiwgMCwgezB4MDB9IH0sCi17ICA3LCAweDBhYTAsIDAsIHsweGU1LDB4MzEsMHg3MCwweDAzLDB4MDIsMHgwOSwweDJhfSB9LAoteyAxMCwgMHgwYWE3LCAwLCB7MHg5MCwweDdmLDB4YzksMHhlMCwweGZhLDB4NzAsMHgwMywweDAyLDB4MGMsMHgyZH0gfSwKLXsgMTQsIDB4MGFiMSwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5NiwweDc0LDB4ODAsMHg2NSwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgIDksIDB4MGFiZiwgMCwgezB4N2QsMHhjMCwweGUwLDB4ZmEsMHhiYSwweDJjLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwYWM4LCAwLCB7MHgwMiwweDBiLDB4MzZ9IH0sCi17ICA1LCAweDBhY2IsIDAsIHsweDc1LDB4MzIsMHgwMCwweDdiLDB4MDB9IH0sCi17ICAzLCAweDBhZDAsIDAsIHsweGJiLDB4NjQsMHgwMH0gfSwKLXsgIDIsIDB4MGFkMywgMCwgezB4NTAsMHgxY30gfSwKLXsgMTQsIDB4MGFkNSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMH0gfSwKLXsgMTMsIDB4MGFlMywgMCwgezB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweDkwLDB4ODgsMHgwZiwweGUwLDB4ZjUsMHg0NywweDBiLDB4ODB9IH0sCi17ICAxLCAweDBhZjAsIDAsIHsweGRmfSB9LAoteyAxMywgMHgwYWYxLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDA3LDB4MWUsMHgxMiwweDAzLDB4ZTEsMHgxMn0gfSwKLXsgMTIsIDB4MGFmZSwgMCwgezB4MDQsMHhmNywweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMiwweDc1LDB4NmUsMHgwMCwweDc1fSB9LAoteyAxMywgMHgwYjBhLCAwLCB7MHg2ZiwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMSwweDQ0LDB4ZDAsMHgwNX0gfSwKLXsgIDksIDB4MGIxNywgMCwgezB4ZDAsMHgwNCwweGQwLDB4MDIsMHg3NSwweDcwLDB4NGQsMHg3NSwweDcxfSB9LAoteyAxMSwgMHgwYjIwLCAwLCB7MHgwYywweDc1LDB4NzIsMHgwMiwweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyfSB9LAoteyAxMSwgMHgwYjJiLCAwLCB7MHgxMSwweDc1LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMCwweDAyLDB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYjM2LCAwLCB7MHhiYSwweDJhLDB4M2J9IH0sCi17IDEzLCAweDBiMzksIDAsIHsweDkwLDB4N2YsMHg5OCwweDc0LDB4MjAsMHhmMCwweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyfSB9LAoteyAxNCwgMHgwYjQ2LCAwLCB7MHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMCwweDAyLDB4OTAsMHg3ZiwweDk4LDB4NzQsMHgyOCwweGYwfSB9LAoteyAgMiwgMHgwYjU0LCAwLCB7MHg3YiwweDAwfSB9LAoteyAgMywgMHgwYjU2LCAwLCB7MHhiYiwweDBhLDB4MDB9IH0sCi17ICA1LCAweDBiNTksIDAsIHsweDQwLDB4MDMsMHgwMiwweDBjLDB4MmR9IH0sCi17IDE0LCAweDBiNWUsIDAsIHsweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDA1LDB4ZDB9IH0sCi17ICA4LCAweDBiNmMsIDAsIHsweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHgwYiwweDgwLDB4ZTJ9IH0sCi17ICAzLCAweDBiNzQsIDAsIHsweGJhLDB4MmIsMHgxYX0gfSwKLXsgIDgsIDB4MGI3NywgMCwgezB4OTAsMHg3ZiwweGM5LDB4ZTAsMHhmYiwweGJiLDB4NDAsMHgxMn0gfSwKLXsgMTQsIDB4MGI3ZiwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMiwweDA1LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMH0gfSwKLXsgIDQsIDB4MGI4ZCwgMCwgezB4MDIsMHgwMiwweDBjLDB4MmR9IH0sCi17ICAzLCAweDBiOTEsIDAsIHsweGJhLDB4MTAsMHgxZn0gfSwKLXsgMTQsIDB4MGI5NCwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYiwweDkwLDB4N2YsMHg5NiwweDc0LDB4ODAsMHg2NSwweDAzLDB4ZjAsMHhjMH0gfSwKLXsgMTQsIDB4MGJhMiwgMCwgezB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTAsMHgzZCwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMn0gfSwKLXsgIDMsIDB4MGJiMCwgMCwgezB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYmIzLCAwLCB7MHhiYSwweDExLDB4MTJ9IH0sCi17IDE0LCAweDBiYjYsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTAsMHg2YSwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICA0LCAweDBiYzQsIDAsIHsweDAyLDB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYmM4LCAwLCB7MHhiYSwweDEyLDB4MTJ9IH0sCi17IDE0LCAweDBiY2IsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTAsMHg4ZiwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICA0LCAweDBiZDksIDAsIHsweDAyLDB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYmRkLCAwLCB7MHhiYSwweDEzLDB4MGJ9IH0sCi17IDExLCAweDBiZTAsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZmIsMHg5MCwweDg4LDB4MDAsMHhmMCwweDgwLDB4NDJ9IH0sCi17ICAzLCAweDBiZWIsIDAsIHsweGJhLDB4MTQsMHgxMX0gfSwKLXsgMTQsIDB4MGJlZSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMSwweGRkLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMH0gfSwKLXsgIDMsIDB4MGJmYywgMCwgezB4MDIsMHg4MCwweDJlfSB9LAoteyAgMywgMHgwYmZmLCAwLCB7MHhiYSwweDE1LDB4MWR9IH0sCi17IDEyLCAweDBjMDIsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZjUsMHg3NSwweDkwLDB4N2QsMHhjMiwweGUwLDB4ZjUsMHg3Nn0gfSwKLXsgMTQsIDB4MGMwZSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMywweGZlLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMH0gfSwKLXsgIDMsIDB4MGMxYywgMCwgezB4MDIsMHg4MCwweDBlfSB9LAoteyAgMywgMHgwYzFmLCAwLCB7MHhiYSwweDE2LDB4MGJ9IH0sCi17IDExLCAweDBjMjIsIDAsIHsweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMywweGEzLDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDExLCAweDBjMmQsIDAsIHsweDkwLDB4N2YsMHhjOSwweGU0LDB4ZjAsMHg3NSwweDMxLDB4MDAsMHgwMiwweDA5LDB4MmF9IH0sCi17ICAxLCAweDBjMzgsIDAsIHsweDIyfSB9LAoteyAgNywgMHgwYzM5LCAwLCB7MHg1MywweDU1LDB4NTAsMHg0NSwweDRlLDB4NDQsMHgwMH0gfSwKLXsgIDcsIDB4MGM0MCwgMCwgezB4NTIsMHg0NSwweDUzLDB4NTUsMHg0ZCwweDQ1LDB4MDB9IH0sCi17ICA2LCAweDBjNDcsIDAsIHsweDIwLDB4NTYsMHg2ZiwweDZjLDB4MjAsMHgwMH0gfSwKLXsgMTMsIDB4MGM0ZCwgMCwgezB4NDQsMHg0MSwweDQyLDB4NTUsMHg1MywweDQyLDB4MjAsMHg3NiwweDMxLDB4MmUsMHgzMCwweDMwLDB4MDB9IH0sCi17IDE0LCAweDBjNWEsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDR9IH0sCi17IDE0LCAweDBjNjgsIDAsIHsweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHhkMCwweDc1LDB4ZDB9IH0sCi17IDEzLCAweDBjNzYsIDAsIHsweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwfSB9LAoteyAxNCwgMHgwYzgzLCAwLCB7MHg3ZiwweGFiLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGU4LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHhlOSwweGUwfSB9LAoteyAgNiwgMHgwYzkxLCAwLCB7MHhmYiwweGJiLDB4MDAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBjOTcsIDAsIHsweDAyLDB4MGQsMHgzOH0gfSwKLXsgIDMsIDB4MGM5YSwgMCwgezB4YmEsMHg4MCwweDE0fSB9LAoteyAxNCwgMHgwYzlkLCAwLCB7MHg5MCwweDdmLDB4MDAsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGI1fSB9LAoteyAgNiwgMHgwY2FiLCAwLCB7MHg3NCwweDAyLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBjYjEsIDAsIHsweGJhLDB4ODIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBjYjYsIDAsIHsweDAyLDB4MGQsMHgxZH0gfSwKLXsgIDgsIDB4MGNiOSwgMCwgezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmYywweGJjLDB4MDEsMHgwMH0gfSwKLXsgIDIsIDB4MGNjMSwgMCwgezB4NDAsMHgyMX0gfSwKLXsgIDYsIDB4MGNjMywgMCwgezB4YzMsMHg3NCwweDA3LDB4OWMsMHg0MCwweDFifSB9LAoteyAxNCwgMHgwY2M5LCAwLCB7MHhlYywweDI0LDB4ZmYsMHgyNSwweGUwLDB4ZmQsMHgyNCwweGM2LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSB9LAoteyAxMywgMHgwY2Q3LCAwLCB7MHg4MywweGUwLDB4ZmQsMHg1MywweDA1LDB4MDEsMHg5MCwweDdmLDB4MDAsMHhlZCwweGYwLDB4ODAsMHgyYn0gfSwKLXsgIDMsIDB4MGNlNCwgMCwgezB4YmMsMHg4MSwweDAwfSB9LAoteyAgMiwgMHgwY2U3LCAwLCB7MHg0MCwweDIxfSB9LAoteyAgNiwgMHgwY2U5LCAwLCB7MHhjMywweDc0LDB4ODcsMHg5YywweDQwLDB4MWJ9IH0sCi17IDE0LCAweDBjZWYsIDAsIHsweGVjLDB4MjQsMHg3ZiwweDI1LDB4ZTAsMHhmYywweDI0LDB4YjYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9IH0sCi17IDEzLCAweDBjZmQsIDAsIHsweDgzLDB4ZTAsMHhmYywweDUzLDB4MDQsMHgwMSwweDkwLDB4N2YsMHgwMCwweGVjLDB4ZjAsMHg4MCwweDA1fSB9LAoteyAgNSwgMHgwZDBhLCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwfSB9LAoteyAxNCwgMHgwZDBmLCAwLCB7MHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgNSwgMHgwZDFkLCAwLCB7MHhiYSwweDgxLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZDIyLCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDE0LCAweDBkMjUsIDAsIHsweDkwLDB4N2YsMHgwMCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9IH0sCi17ICA1LCAweDBkMzMsIDAsIHsweDAyLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBkMzgsIDAsIHsweGJiLDB4MDEsMHgyZH0gfSwKLXsgIDYsIDB4MGQzYiwgMCwgezB4YmEsMHgwMCwweDAzLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZDQxLCAwLCB7MHhiYSwweDAyLDB4MTF9IH0sCi17IDEzLCAweDBkNDQsIDAsIHsweDc1LDB4NTksMHgwMCwweGMwLDB4MDIsMHhjMCwweDAzLDB4MTIsMHgwZSwweGYwLDB4ZDAsMHgwMywweGQwfSB9LAoteyAgNCwgMHgwZDUxLCAwLCB7MHgwMiwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGQ1NSwgMCwgezB4YmEsMHgyMSwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGQ1YSwgMCwgezB4MDIsMHgwZSwweGNkfSB9LAoteyAxMSwgMHgwZDVkLCAwLCB7MHg3NSwweDM3LDB4MDEsMHg5MCwweDdmLDB4YzUsMHhlNCwweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZDY4LCAwLCB7MHhiYiwweDAzLDB4MWZ9IH0sCi17ICA2LCAweDBkNmIsIDAsIHsweGJhLDB4MDAsMHgwMywweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGQ3MSwgMCwgezB4YmEsMHgwMiwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGQ3NiwgMCwgezB4MDIsMHgwZSwweGNkfSB9LAoteyAxMywgMHgwZDc5LCAwLCB7MHg3NSwweDU5LDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwMywweDEyLDB4MGUsMHhmMCwweGQwLDB4MDMsMHhkMH0gfSwKLXsgIDQsIDB4MGQ4NiwgMCwgezB4MDIsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBkOGEsIDAsIHsweGJiLDB4MDYsMHg1NH0gfSwKLXsgIDUsIDB4MGQ4ZCwgMCwgezB4YmEsMHg4MCwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGQ5MiwgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAgOCwgMHgwZDk1LCAwLCB7MHg5MCwweDdmLDB4ZWIsMHhlMCwweGZjLDB4YmMsMHgwMSwweDE1fSB9LAoteyAxMiwgMHgwZDlkLCAwLCB7MHg3YywweGZiLDB4N2QsMHgwZiwweDhkLDB4MDYsMHg3ZiwweDAwLDB4OTAsMHg3ZiwweGQ0LDB4ZWV9IH0sCi17ICA5LCAweDBkYTksIDAsIHsweGYwLDB4OTAsMHg3ZiwweGQ1LDB4ZWMsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgMTAsIDB4MGRiMiwgMCwgezB4OTAsMHg3ZiwweGViLDB4ZTAsMHhmYywweGJjLDB4MDIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkYmMsIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgMTAsIDB4MGRiZiwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYywweGJjLDB4MDAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkYzksIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgMTIsIDB4MGRjYywgMCwgezB4N2MsMHgzYiwweDdkLDB4MGYsMHg4ZCwweDA2LDB4N2YsMHgwMCwweDkwLDB4N2YsMHhkNCwweGVlfSB9LAoteyAgOSwgMHgwZGQ4LCAwLCB7MHhmMCwweDkwLDB4N2YsMHhkNSwweGVjLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA2LCAweDBkZTEsIDAsIHsweGJiLDB4MDcsMHgwMywweDAyLDB4MGUsMHhjNX0gfSwKLXsgIDMsIDB4MGRlNywgMCwgezB4YmIsMHgwOCwweDEwfSB9LAoteyAxMywgMHgwZGVhLCAwLCB7MHhhYywweDQ4LDB4OTAsMHg3ZiwweDAwLDB4ZWMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDMsIDB4MGRmNywgMCwgezB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZGZhLCAwLCB7MHhiYiwweDA5LDB4MzF9IH0sCi17ICA1LCAweDBkZmQsIDAsIHsweGJhLDB4MDAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBlMDIsIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgMTQsIDB4MGUwNSwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYywweGMzLDB4NzQsMHgwMSwweDljLDB4NTAsMHgwMywweDAyLDB4MGUsMHhjNX0gfSwKLXsgIDgsIDB4MGUxMywgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYywweGJjLDB4MDAsMHgwYX0gfSwKLXsgMTAsIDB4MGUxYiwgMCwgezB4OTAsMHgxNywweDIxLDB4ZTQsMHhmMCwweDkwLDB4MTcsMHgyMiwweGU0LDB4ZjB9IH0sCi17ICA5LCAweDBlMjUsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjUsMHg0OCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGUyZSwgMCwgezB4YmIsMHgwYSwweDI3fSB9LAoteyAgNSwgMHgwZTMxLCAwLCB7MHhiYSwweDgxLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZTM2LCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDE0LCAweDBlMzksIDAsIHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZmEsMHgyNCwweDIwLDB4ZmEsMHhlNCwweDM0LDB4MTcsMHhmYywweDhhLDB4ODJ9IH0sCi17IDE0LCAweDBlNDcsIDAsIHsweDhjLDB4ODMsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAzLCAweDBlNTUsIDAsIHsweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGU1OCwgMCwgezB4YmIsMHgwYiwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGU1ZCwgMCwgezB4MDIsMHgwZSwweGE5fSB9LAoteyAxMywgMHgwZTYwLCAwLCB7MHg5MCwweDE3LDB4MjAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmYSwweGJhLDB4MDEsMHgxYX0gfSwKLXsgIDgsIDB4MGU2ZCwgMCwgezB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmYSwweGJhLDB4MDAsMHgxMn0gfSwKLXsgMTQsIDB4MGU3NSwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYSwweDkwLDB4MTcsMHgyMSwweGYwLDB4YzAsMHgwMywweDEyLDB4MDQsMHhlMn0gfSwKLXsgIDQsIDB4MGU4MywgMCwgezB4ZDAsMHgwMywweDgwLDB4NDZ9IH0sCi17ICA4LCAweDBlODcsIDAsIHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZmEsMHhiYSwweDAyLDB4M2V9IH0sCi17ICA4LCAweDBlOGYsIDAsIHsweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmEsMHhiYSwweDAwLDB4MzZ9IH0sCi17IDEzLCAweDBlOTcsIDAsIHsweGMwLDB4MDMsMHgxMiwweDA0LDB4ZWYsMHhkMCwweDAzLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYSwweDkwfSB9LAoteyAgNSwgMHgwZWE0LCAwLCB7MHgxNywweDIyLDB4ZjAsMHg4MCwweDI0fSB9LAoteyAgNSwgMHgwZWE5LCAwLCB7MHhiYiwweDEyLDB4MDIsMHg4MCwweDE3fSB9LAoteyAgNSwgMHgwZWFlLCAwLCB7MHhiYiwweDgxLDB4MDIsMHg4MCwweDBkfSB9LAoteyAgNSwgMHgwZWIzLCAwLCB7MHhiYiwweDgzLDB4MDIsMHg4MCwweDA4fSB9LAoteyAgNSwgMHgwZWI4LCAwLCB7MHhiYiwweDgyLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZWJkLCAwLCB7MHhiYiwweDg0LDB4MDV9IH0sCi17ICA1LCAweDBlYzAsIDAsIHsweDEyLDB4MDYsMHg0ZSwweDgwLDB4MDh9IH0sCi17ICA4LCAweDBlYzUsIDAsIHsweDkwLDB4N2YsMHhiNCwweDc0LDB4MDMsMHhmMCwweDgwLDB4MDZ9IH0sCi17ICA2LCAweDBlY2QsIDAsIHsweDkwLDB4N2YsMHhiNCwweDc0LDB4MDIsMHhmMH0gfSwKLXsgIDIsIDB4MGVkMywgMCwgezB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MGVkNSwgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTMsIDB4MGVlMywgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDExLCAweDBlZjAsIDAsIHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZjUsMHg1YSwweGMzLDB4OTQsMHgwMSwweDQwLDB4MWR9IH0sCi17ICA3LCAweDBlZmIsIDAsIHsweGMzLDB4NzQsMHgwNywweDk1LDB4NWEsMHg0MCwweDE2fSB9LAoteyAxMywgMHgwZjAyLCAwLCB7MHhlNSwweDVhLDB4MjQsMHhmZiwweDI1LDB4ZTAsMHhmYSwweDI0LDB4YzYsMHhmNSwweDgyLDB4ZTQsMHgzNH0gfSwKLXsgIDksIDB4MGYwZiwgMCwgezB4N2YsMHhmNSwweDgzLDB4YWEsMHg1OSwweGVhLDB4ZjAsMHg4MCwweDIyfSB9LAoteyAgNywgMHgwZjE4LCAwLCB7MHhjMywweGU1LDB4NWEsMHg5NCwweDgxLDB4NDAsMHgxYn0gfSwKLXsgIDcsIDB4MGYxZiwgMCwgezB4YzMsMHg3NCwweDg3LDB4OTUsMHg1YSwweDQwLDB4MTR9IH0sCi17IDEzLCAweDBmMjYsIDAsIHsweGU1LDB4NWEsMHgyNCwweGZmLDB4MjUsMHhlMCwweGZhLDB4MjQsMHhiNiwweGY1LDB4ODIsMHhlNCwweDM0fSB9LAoteyAgNywgMHgwZjMzLCAwLCB7MHg3ZiwweGY1LDB4ODMsMHhhYSwweDU5LDB4ZWEsMHhmMH0gfSwKLXsgIDEsIDB4MGYzYSwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDBmM2IsIDAsIHsweDA5LDB4MDIsMHhiYSwweDAwLDB4MDMsMHgwMSwweDAwLDB4NDAsMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDB9IH0sCi17IDE0LCAweDBmNDksIDAsIHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MDksMHgyNCwweDAxLDB4MDAsMHgwMSwweDNkLDB4MDAsMHgwMSwweDAxLDB4MGN9IH0sCi17IDE0LCAweDBmNTcsIDAsIHsweDI0LDB4MDIsMHgwMSwweDEwLDB4MDcsMHgwMCwweDAyLDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwZCwweDI0LDB4MDZ9IH0sCi17IDE0LCAweDBmNjUsIDAsIHsweDAzLDB4MDEsMHgwMiwweDE1LDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAwLDB4MDksMHgyNCwweDAzLDB4MDJ9IH0sCi17IDE0LCAweDBmNzMsIDAsIHsweDAxLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwNCwweDAyLDB4MDMsMHgwMCwweDAzLDB4MDB9IH0sCi17IDE0LCAweDBmODEsIDAsIHsweDA5LDB4MjQsMHgwMywweDA1LDB4MDMsMHgwNiwweDAwLDB4MDEsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAwLDB4MDB9IH0sCi17IDE0LCAweDBmOGYsIDAsIHsweDAxLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDd9IH0sCi17IDE0LCAweDBmOWQsIDAsIHsweDI0LDB4MDEsMHgwMiwweDAxLDB4MDEsMHgwMCwweDBiLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMiwweDEwLDB4MDF9IH0sCi17IDE0LCAweDBmYWIsIDAsIHsweDgwLDB4YmIsMHgwMCwweDA5LDB4MDUsMHg4OCwweDA1LDB4MDAsMHgwMSwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjV9IH0sCi17IDE0LCAweDBmYjksIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17IDE0LCAweDBmYzcsIDAsIHsweDA3LDB4MDUsMHg4MiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDAyLDB4MDIsMHg0MCwweDAwLDB4MDB9IH0sCi17IDE0LCAweDBmZDUsIDAsIHsweDA5LDB4MDQsMHgwMiwweDAxLDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4MiwweDAyLDB4NDB9IH0sCi17IDE0LCAweDBmZTMsIDAsIHsweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4OSwweDA1LDB4YTB9IH0sCi17IDEwLCAweDBmZjEsIDAsIHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAwfSB9LAoteyAxNCwgMHgwZmZiLCAwLCB7MHgxMiwweDAxLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDcsMHgwNSwweDk5LDB4OTksMHgwMCwweDAxfSB9LAoteyAxNCwgMHgxMDA5LCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwMiwweGJhfSB9LAoteyAgNCwgMHgxMDE3LCAwLCB7MHgwMCwweDAzLDB4MDEsMHgwMH0gfSwKLXsgIDIsIDB4MTAxYiwgMCwgezB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTAxZCwgMCwgezB4YmEsMHgwNSwweDAwfSB9LAoteyAgMiwgMHgxMDIwLCAwLCB7MHg1MCwweDE3fSB9LAoteyAgOCwgMHgxMDIyLCAwLCB7MHg5MCwweDdmLDB4YTUsMHhlMCwweGZiLDB4MzAsMHhlMCwweDA1fSB9LAoteyAgNSwgMHgxMDJhLCAwLCB7MHg5MCwweDAwLDB4MDEsMHg4MCwweDBkfSB9LAoteyAxMCwgMHgxMDJmLCAwLCB7MHhjMCwweDAyLDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwMiwweDBhLDB4ODAsMHhlNH0gfSwKLXsgIDMsIDB4MTAzOSwgMCwgezB4OTAsMHgwMCwweDAxfSB9LAoteyAgMSwgMHgxMDNjLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTAzZCwgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmOSwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmYiwweDdjLDB4MDAsMHg3ZH0gfSwKLXsgIDQsIDB4MTA0YiwgMCwgezB4N2UsMHhlYiwweDYwLDB4MTJ9IH0sCi17IDE0LCAweDEwNGYsIDAsIHsweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTAsMHhhMywweGE5LDB4ODIsMHhhYSwweDgzLDB4OGMsMHg4MiwweDhkLDB4ODN9IH0sCi17ICA0LCAweDEwNWQsIDAsIHsweGYwLDB4MGMsMHhkYiwweGVlfSB9LAoteyAgOCwgMHgxMDYxLCAwLCB7MHg5MCwweDdkLDB4YzMsMHhlMCwweDkwLDB4N2YsMHhiOSwweGYwfSB9LAoteyAgMSwgMHgxMDY5LCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTA2YSwgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmOSwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmYiwweDdjLDB4YzQsMHg3ZH0gfSwKLXsgIDQsIDB4MTA3OCwgMCwgezB4N2QsMHhlYiwweDYwLDB4ZTV9IH0sCi17IDE0LCAweDEwN2MsIDAsIHsweDhjLDB4ODIsMHg4ZCwweDgzLDB4ZTAsMHgwYywweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjAsMHhhMywweGE5LDB4ODJ9IH0sCi17ICA0LCAweDEwOGEsIDAsIHsweGFhLDB4ODMsMHhkYiwweGVlfSB9LAoteyAgMSwgMHgxMDhlLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTA4ZiwgMCwgezB4OTAsMHg3ZiwweGE1LDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweDkwLDB4N2QsMHhjMSwweGUwLDB4MDUsMHg4Nn0gfSwKLXsgMTQsIDB4MTA5ZCwgMCwgezB4YTMsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNiwweDA1LDB4ODYsMHhhMywweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDUsIDB4MTBhYiwgMCwgezB4NjAsMHgxNiwweGEzLDB4MDUsMHg4Nn0gfSwKLXsgMTMsIDB4MTBiMCwgMCwgezB4OTAsMHg3ZiwweGE2LDB4MDUsMHg4NiwweGUwLDB4YTMsMHgwNSwweDg2LDB4ZjAsMHhjMCwweDAxLDB4MTJ9IH0sCi17ICA2LCAweDEwYmQsIDAsIHsweDEwLDB4MWIsMHhkMCwweDAxLDB4ZDksMHhlZH0gfSwKLXsgIDYsIDB4MTBjMywgMCwgezB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwfSB9LAoteyAgMSwgMHgxMGM5LCAwLCB7MHgyMn0gfSwKLXsgIDgsIDB4MTBjYSwgMCwgezB4OTAsMHg4OCwweDAyLDB4NzQsMHgwMSwweGYwLDB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTBkMiwgMCwgezB4YmEsMHhmZiwweDAwfSB9LAoteyAgMiwgMHgxMGQ1LCAwLCB7MHg1MCwweDBhfSB9LAoteyAxMCwgMHgxMGQ3LCAwLCB7MHhjMCwweDAyLDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwMiwweDBhLDB4ODAsMHhmMX0gfSwKLXsgIDEsIDB4MTBlMSwgMCwgezB4MjJ9IH0sCi17ICA1LCAweDEwZTIsIDAsIHsweGU1LDB4NmIsMHhiNCwweGMwLDB4MDh9IH0sCi17ICA4LCAweDEwZTcsIDAsIHsweDkwLDB4ODgsMHgwMywweGU1LDB4NmMsMHhmMCwweDgwLDB4MDZ9IH0sCi17ICA2LCAweDEwZWYsIDAsIHsweDkwLDB4ODgsMHgwMiwweGU1LDB4NmMsMHhmMH0gfSwKLXsgIDQsIDB4MTBmNSwgMCwgezB4N2EsMHgwMCwweDdiLDB4MDB9IH0sCi17IDExLCAweDEwZjksIDAsIHsweGMzLDB4ZWEsMHg5NCwweDMyLDB4ZWIsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDd9IH0sCi17ICA1LCAweDExMDQsIDAsIHsweDBhLDB4YmEsMHgwMCwweDAxLDB4MGJ9IH0sCi17ICAyLCAweDExMDksIDAsIHsweDgwLDB4ZWV9IH0sCi17ICAxLCAweDExMGIsIDAsIHsweDIyfSB9LAoteyAxMCwgMHgxMTBjLCAwLCB7MHg5MCwweDg4LDB4MDMsMHhlNSwweDZkLDB4ZjAsMHgwNSwweDM5LDB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTExNiwgMCwgezB4YmEsMHgyOCwweDAwfSB9LAoteyAgMiwgMHgxMTE5LCAwLCB7MHg1MCwweDAzfSB9LAoteyAgMywgMHgxMTFiLCAwLCB7MHgwYSwweDgwLDB4Zjh9IH0sCi17ICA1LCAweDExMWUsIDAsIHsweGU1LDB4MzksMHhiNCwweDEwLDB4MDh9IH0sCi17ICA4LCAweDExMjMsIDAsIHsweDkwLDB4ODgsMHgwMiwweDc0LDB4YzAsMHhmMCwweDgwLDB4MGV9IH0sCi17ICA1LCAweDExMmIsIDAsIHsweGU1LDB4MzksMHhiNCwweDIwLDB4MDl9IH0sCi17ICA5LCAweDExMzAsIDAsIHsweDkwLDB4ODgsMHgwMiwweDc0LDB4ODAsMHhmMCwweDc1LDB4MzksMHgwMH0gfSwKLXsgIDIsIDB4MTEzOSwgMCwgezB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTEzYiwgMCwgezB4YmEsMHgyOCwweDAwfSB9LAoteyAgMiwgMHgxMTNlLCAwLCB7MHg1MCwweDAzfSB9LAoteyAgMywgMHgxMTQwLCAwLCB7MHgwYSwweDgwLDB4Zjh9IH0sCi17ICAxLCAweDExNDMsIDAsIHsweDIyfSB9LAoteyAgNCwgMHgxMTQ0LCAwLCB7MHhlNSwweDZmLDB4NjAsMHgwMn0gfSwKLXsgIDIsIDB4MTE0OCwgMCwgezB4ODAsMHgwN30gfSwKLXsgIDcsIDB4MTE0YSwgMCwgezB4N2EsMHgwMCwweDc1LDB4MzksMHgwMCwweDgwLDB4MDV9IH0sCi17ICA1LCAweDExNTEsIDAsIHsweDdhLDB4NDAsMHg3NSwweDM5LDB4MTB9IH0sCi17ICA5LCAweDExNTYsIDAsIHsweGU1LDB4NmUsMHgyYSwweGZhLDB4ZTUsMHg2ZSwweDI1LDB4MzksMHhmNX0gfSwKLXsgMTAsIDB4MTE1ZiwgMCwgezB4MzksMHg5MCwweDg4LDB4MDIsMHg3NCwweDgwLDB4MmEsMHhmMCwweDdhLDB4MDB9IH0sCi17ICA4LCAweDExNjksIDAsIHsweGMzLDB4ZWEsMHg2NCwweDgwLDB4OTQsMHhhOCwweDUwLDB4MDN9IH0sCi17ICAzLCAweDExNzEsIDAsIHsweDBhLDB4ODAsMHhmNX0gfSwKLXsgIDEsIDB4MTE3NCwgMCwgezB4MjJ9IH0sCi17ICA2LCAweDExNzUsIDAsIHsweGFhLDB4NzAsMHhhYiwweDcxLDB4YWMsMHg3Mn0gfSwKLXsgMTIsIDB4MTE3YiwgMCwgezB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4MTIsMHgxNCwweGVlLDB4ZmQsMHg2MCwweDE4fSB9LAoteyAxMywgMHgxMTg3LCAwLCB7MHg4ZCwweDZkLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4MTIsMHgxMSwweDBjLDB4ZDAsMHgwNH0gfSwKLXsgIDksIDB4MTE5NCwgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHgwYSwweGJhLDB4MDAsMHgwMSwweDBifSB9LAoteyAgMiwgMHgxMTlkLCAwLCB7MHg4MCwweGRjfSB9LAoteyAgMSwgMHgxMTlmLCAwLCB7MHgyMn0gfSwKLXsgMTMsIDB4MTFhMCwgMCwgezB4ZTUsMHg3MywweGM0LDB4NTQsMHgwZiwweGZhLDB4NTMsMHgwMiwweDBmLDB4YzMsMHg3NCwweDA5LDB4OWF9IH0sCi17ICAyLCAweDExYWQsIDAsIHsweDUwLDB4MDZ9IH0sCi17ICA2LCAweDExYWYsIDAsIHsweDc0LDB4MzcsMHgyYSwweGZiLDB4ODAsMHgwNH0gfSwKLXsgIDQsIDB4MTFiNSwgMCwgezB4NzQsMHgzMCwweDJhLDB4ZmJ9IH0sCi17IDEyLCAweDExYjksIDAsIHsweDhiLDB4NmQsMHhjMCwweDAzLDB4MTIsMHgxMSwweDBjLDB4ZDAsMHgwMywweGFhLDB4NzMsMHg1M30gfSwKLXsgIDgsIDB4MTFjNSwgMCwgezB4MDIsMHgwZiwweGMzLDB4NzQsMHgwOSwweDlhLDB4NTAsMHgwNn0gfSwKLXsgIDYsIDB4MTFjZCwgMCwgezB4NzQsMHgzNywweDJhLDB4ZmIsMHg4MCwweDA0fSB9LAoteyAgNCwgMHgxMWQzLCAwLCB7MHg3NCwweDMwLDB4MmEsMHhmYn0gfSwKLXsgIDUsIDB4MTFkNywgMCwgezB4OGIsMHg2ZCwweDEyLDB4MTEsMHgwY30gfSwKLXsgIDEsIDB4MTFkYywgMCwgezB4MjJ9IH0sCi17ICA3LCAweDExZGQsIDAsIHsweDkwLDB4N2QsMHhjMywweGUwLDB4ZmEsMHg2MCwweDBmfSB9LAoteyAxMiwgMHgxMWU0LCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGY1LDB4NmUsMHg5MCwweDdkLDB4YzIsMHhlMCwweGY1LDB4NmZ9IH0sCi17ICAzLCAweDExZjAsIDAsIHsweDEyLDB4MTEsMHg0NH0gfSwKLXsgMTIsIDB4MTFmMywgMCwgezB4OTAsMHg3ZCwweGZmLDB4ZTQsMHhmMCwweDc1LDB4NzAsMHhjNCwweDc1LDB4NzEsMHg3ZCwweDc1fSB9LAoteyAgNSwgMHgxMWZmLCAwLCB7MHg3MiwweDAxLDB4MTIsMHgxMSwweDc1fSB9LAoteyAgMSwgMHgxMjA0LCAwLCB7MHgyMn0gfSwKLXsgIDIsIDB4MTIwNSwgMCwgezB4N2EsMHgwNH0gfSwKLXsgIDMsIDB4MTIwNywgMCwgezB4YmEsMHg0MCwweDAwfSB9LAoteyAgMiwgMHgxMjBhLCAwLCB7MHg1MCwweDM2fSB9LAoteyAxNCwgMHgxMjBjLCAwLCB7MHhlYSwweDI0LDB4YzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdkLDB4ZjUsMHg4MywweGUwLDB4ZmIsMHg3YywweDAwfSB9LAoteyAgMywgMHgxMjFhLCAwLCB7MHhiYywweDA4LDB4MDB9IH0sCi17ICAyLCAweDEyMWQsIDAsIHsweDUwLDB4MjB9IH0sCi17ICA2LCAweDEyMWYsIDAsIHsweDhiLDB4MDUsMHhlZCwweDMwLDB4ZTcsMHgwYn0gfSwKLXsgMTEsIDB4MTIyNSwgMCwgezB4OTAsMHg3ZiwweDk2LDB4NzQsMHg0MiwweGYwLDB4NzQsMHhjMywweGYwLDB4ODAsMHgwOH0gfSwKLXsgIDgsIDB4MTIzMCwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTQsMHhmMCwweDc0LDB4ODEsMHhmMH0gfSwKLXsgIDcsIDB4MTIzOCwgMCwgezB4ZWIsMHgyNSwweGUwLDB4ZmIsMHgwYywweDgwLDB4ZGJ9IH0sCi17ICAzLCAweDEyM2YsIDAsIHsweDBhLDB4ODAsMHhjNX0gfSwKLXsgIDEsIDB4MTI0MiwgMCwgezB4MjJ9IH0sCi17ICA0LCAweDEyNDMsIDAsIHsweDdhLDB4MDAsMHg3YiwweGVmfSB9LAoteyAgMywgMHgxMjQ3LCAwLCB7MHhiYSwweDEwLDB4MDB9IH0sCi17ICAyLCAweDEyNGEsIDAsIHsweDUwLDB4MjB9IH0sCi17IDE0LCAweDEyNGMsIDAsIHsweDc0LDB4MTEsMHgyYiwweGZiLDB4MjQsMHgwMCwweGZjLDB4ZTQsMHgzNCwweDE4LDB4ZmQsMHg4YywweDgyLDB4OGR9IH0sCi17IDE0LCAweDEyNWEsIDAsIHsweDgzLDB4ZTQsMHhmMCwweGVhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4MTksMHhmNSwweDgzLDB4ZTR9IH0sCi17ICA0LCAweDEyNjgsIDAsIHsweGYwLDB4MGEsMHg4MCwweGRifSB9LAoteyAgMSwgMHgxMjZjLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTI2ZCwgMCwgezB4NzQsMHhmOCwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MTI3YiwgMCwgezB4NzQsMHhmOSwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MTI4OSwgMCwgezB4NzQsMHhmYSwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MTI5NywgMCwgezB4NzQsMHhmYiwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MTJhNSwgMCwgezB4NzQsMHhmZiwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgIDEsIDB4MTJiMywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEyYjQsIDAsIHsweDEyLDB4MDMsMHhjYiwweDEyLDB4MTIsMHg2ZCwweDdhLDB4YzAsMHg3YiwweDg3LDB4N2MsMHgwMSwweDc0LDB4MDF9IH0sCi17IDE0LCAweDEyYzIsIDAsIHsweDJhLDB4ZmQsMHhlNCwweDNiLDB4ZmUsMHg4YywweDA3LDB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4NzR9IH0sCi17IDE0LCAweDEyZDAsIDAsIHsweDAxLDB4MTIsMHgxNCwweGJmLDB4MmQsMHhmYSwweGU0LDB4M2UsMHhmYiwweDhmLDB4MDQsMHg4ZCwweDgyLDB4OGV9IH0sCi17IDE0LCAweDEyZGUsIDAsIHsweDgzLDB4OGYsMHhmMCwweDc0LDB4MDYsMHgxMiwweDE0LDB4YmYsMHg3NCwweDAxLDB4MmEsMHhmZCwweGU0LDB4M2J9IH0sCi17IDE0LCAweDEyZWMsIDAsIHsweGZlLDB4OGMsMHgwNywweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweGU0LDB4MTIsMHgxNCwweGJmLDB4NzR9IH0sCi17IDE0LCAweDEyZmEsIDAsIHsweDAxLDB4MmQsMHhmYSwweGU0LDB4M2UsMHhmYiwweDhmLDB4MDQsMHg4ZCwweDgyLDB4OGUsMHg4MywweDhmLDB4ZjB9IH0sCi17IDE0LCAweDEzMDgsIDAsIHsweDc0LDB4MGIsMHgxMiwweDE0LDB4YmYsMHg3NCwweDAxLDB4MmEsMHhmZCwweGU0LDB4M2IsMHhmZSwweDhjLDB4MDd9IH0sCi17IDE0LCAweDEzMTYsIDAsIHsweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweDc0LDB4MDgsMHgxMiwweDE0LDB4YmYsMHg3NCwweDAxLDB4MmR9IH0sCi17IDE0LCAweDEzMjQsIDAsIHsweGZhLDB4ZTQsMHgzZSwweGZiLDB4OGYsMHgwNCwweDhkLDB4ODIsMHg4ZSwweDgzLDB4OGYsMHhmMCwweDc0LDB4MDF9IH0sCi17IDE0LCAweDEzMzIsIDAsIHsweDEyLDB4MTQsMHhiZiwweDJhLDB4ZmQsMHhlNCwweDNiLDB4ZmUsMHg4YywweDA3LDB4OGEsMHg4MiwweDhiLDB4ODN9IH0sCi17IDE0LCAweDEzNDAsIDAsIHsweDhjLDB4ZjAsMHhlNCwweDEyLDB4MTQsMHhiZiwweDc0LDB4MDEsMHgyZCwweGZhLDB4ZTQsMHgzZSwweGZiLDB4OGZ9IH0sCi17IDE0LCAweDEzNGUsIDAsIHsweDA0LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg4ZiwweGYwLDB4NzQsMHgwMywweDEyLDB4MTQsMHhiZiwweDdkLDB4MDB9IH0sCi17ICAzLCAweDEzNWMsIDAsIHsweGJkLDB4MDYsMHgwMH0gfSwKLXsgIDIsIDB4MTM1ZiwgMCwgezB4NTAsMHgxMn0gfSwKLXsgMTEsIDB4MTM2MSwgMCwgezB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDcsIDB4MTM2YywgMCwgezB4ZTQsMHgxMiwweDE0LDB4YmYsMHgwZCwweDgwLDB4ZTl9IH0sCi17IDEzLCAweDEzNzMsIDAsIHsweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweGU1LDB4NzQsMHgxMiwweDE0LDB4YmYsMHg3NCwweGY5fSB9LAoteyAxNCwgMHgxMzgwLCAwLCB7MHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDc0fSB9LAoteyAxNCwgMHgxMzhlLCAwLCB7MHhmZSwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgNiwgMHgxMzljLCAwLCB7MHgxMiwweDAzLDB4ZTEsMHgxMiwweDA0LDB4Zjd9IH0sCi17ICAxLCAweDEzYTIsIDAsIHsweDIyfSB9LAoteyAxMywgMHgxM2EzLCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGZhLDB4MjQsMHgwMCwweGZiLDB4ZTQsMHgzNCwweDE5LDB4ZmMsMHg5MH0gfSwKLXsgMTQsIDB4MTNiMCwgMCwgezB4N2QsMHhjMiwweGUwLDB4ZmQsMHg4YiwweDgyLDB4OGMsMHg4MywweGYwLDB4NzUsMHhmMCwweDExLDB4ZWEsMHhhNH0gfSwKLXsgIDMsIDB4MTNiZSwgMCwgezB4ZmEsMHg3YiwweDAwfSB9LAoteyAgMywgMHgxM2MxLCAwLCB7MHhiYiwweDEwLDB4MDB9IH0sCi17ICAyLCAweDEzYzQsIDAsIHsweDUwLDB4MjR9IH0sCi17IDE0LCAweDEzYzYsIDAsIHsweGVhLDB4MjQsMHgwMCwweGZjLDB4ZTQsMHgzNCwweDE4LDB4ZmQsMHhlYiwweDJjLDB4ZmMsMHhlNCwweDNkLDB4ZmR9IH0sCi17IDE0LCAweDEzZDQsIDAsIHsweDc0LDB4MDQsMHgyYiwweDI0LDB4YzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdkLDB4ZjUsMHg4MywweGUwLDB4ZmV9IH0sCi17ICA4LCAweDEzZTIsIDAsIHsweDhjLDB4ODIsMHg4ZCwweDgzLDB4ZjAsMHgwYiwweDgwLDB4ZDd9IH0sCi17IDE0LCAweDEzZWEsIDAsIHsweGVhLDB4MjQsMHgwMCwweGZhLDB4ZTQsMHgzNCwweDE4LDB4ZmIsMHg3NCwweDEwLDB4MmEsMHhmNSwweDgyLDB4ZTR9IH0sCi17ICA1LCAweDEzZjgsIDAsIHsweDNiLDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17ICAxLCAweDEzZmQsIDAsIHsweDIyfSB9LAoteyAgNCwgMHgxM2ZlLCAwLCB7MHhlNSwweDc2LDB4NjAsMHgwMn0gfSwKLXsgIDIsIDB4MTQwMiwgMCwgezB4ODAsMHgxNn0gfSwKLXsgMTIsIDB4MTQwNCwgMCwgezB4NzQsMHgwZiwweDU1LDB4NzUsMHhmYSwweDhhLDB4NzUsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0fSB9LAoteyAxMCwgMHgxNDEwLCAwLCB7MHgzNCwweDE5LDB4ZjUsMHg4MywweGUwLDB4ZjUsMHg3NCwweDEyLDB4MTIsMHhiNH0gfSwKLXsgMTAsIDB4MTQxYSwgMCwgezB4MTIsMHgxMCwweGNhLDB4NzUsMHg2ZSwweDAwLDB4NzUsMHg2ZiwweDAwLDB4MTJ9IH0sCi17ICA2LCAweDE0MjQsIDAsIHsweDExLDB4NDQsMHg3NSwweDcwLDB4YjksMHg3NX0gfSwKLXsgIDYsIDB4MTQyYSwgMCwgezB4NzEsMHgxNCwweDc1LDB4NzIsMHgwMiwweDEyfSB9LAoteyAxMSwgMHgxNDMwLCAwLCB7MHgxMSwweDc1LDB4ZTUsMHg3NiwweGI0LDB4MDIsMHgwNCwweDc0LDB4MDEsMHg4MCwweDAxfSB9LAoteyAgMSwgMHgxNDNiLCAwLCB7MHhlNH0gfSwKLXsgIDMsIDB4MTQzYywgMCwgezB4ZmEsMHg3MCwweDBmfSB9LAoteyAxMiwgMHgxNDNmLCAwLCB7MHg3NCwweDAxLDB4MjUsMHg3NSwweGY1LDB4NzMsMHhjMCwweDAyLDB4MTIsMHgxMSwweGEwLDB4ZDB9IH0sCi17ICAzLCAweDE0NGIsIDAsIHsweDAyLDB4ODAsMHgwYX0gfSwKLXsgMTAsIDB4MTQ0ZSwgMCwgezB4ODUsMHg3NSwweDczLDB4YzAsMHgwMiwweDEyLDB4MTEsMHhhMCwweGQwLDB4MDJ9IH0sCi17IDEyLCAweDE0NTgsIDAsIHsweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMSwweGMwLDB4MDIsMHgxMiwweDExLDB4NDQsMHhkMH0gfSwKLXsgIDQsIDB4MTQ2NCwgMCwgezB4MDIsMHhlYSwweDcwLDB4MWF9IH0sCi17IDEzLCAweDE0NjgsIDAsIHsweDc1LDB4ZjAsMHgxMSwweGU1LDB4NzUsMHhhNCwweGZhLDB4MjQsMHgwMCwweGZhLDB4ZTQsMHgzNCwweDE4fSB9LAoteyAgOSwgMHgxNDc1LCAwLCB7MHhmYiwweDhhLDB4NzAsMHg4YiwweDcxLDB4NzUsMHg3MiwweDAxLDB4MTJ9IH0sCi17ICA0LCAweDE0N2UsIDAsIHsweDExLDB4NzUsMHg4MCwweDM2fSB9LAoteyAgMiwgMHgxNDgyLCAwLCB7MHg3YSwweDAwfSB9LAoteyAgMywgMHgxNDg0LCAwLCB7MHhiYSwweDEwLDB4MDB9IH0sCi17ICAyLCAweDE0ODcsIDAsIHsweDUwLDB4MmZ9IH0sCi17IDEzLCAweDE0ODksIDAsIHsweGVhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4MTksMHhmNSwweDgzLDB4ZTAsMHhmYiwweGU1fSB9LAoteyAgNCwgMHgxNDk2LCAwLCB7MHg3NSwweGI1LDB4MDMsMHgxYn0gfSwKLXsgMTQsIDB4MTQ5YSwgMCwgezB4NzUsMHhmMCwweDExLDB4ZWEsMHhhNCwweGZiLDB4MjQsMHgwMCwweGZiLDB4ZTQsMHgzNCwweDE4LDB4ZmMsMHg4Yn0gfSwKLXsgIDksIDB4MTRhOCwgMCwgezB4NzAsMHg4YywweDcxLDB4NzUsMHg3MiwweDAxLDB4YzAsMHgwMiwweDEyfSB9LAoteyAgNCwgMHgxNGIxLCAwLCB7MHgxMSwweDc1LDB4ZDAsMHgwMn0gfSwKLXsgIDMsIDB4MTRiNSwgMCwgezB4MGEsMHg4MCwweGNjfSB9LAoteyAgMSwgMHgxNGI4LCAwLCB7MHgyMn0gfSwKLXsgIDYsIDB4MTRiOSwgMCwgezB4NTAsMHg3MiwweDZmLDB4NjcsMHgyMCwweDAwfSB9LAoteyAxNCwgMHgxNGJmLCAwLCB7MHhjOCwweGMwLDB4ZTAsMHhjOCwweGMwLDB4ZTAsMHhlNSwweGYwLDB4NjAsMHgwYiwweDE0LDB4NjAsMHgwZiwweDE0fSB9LAoteyAgNywgMHgxNGNkLCAwLCB7MHg2MCwweDExLDB4MTQsMHg2MCwweDEyLDB4ODAsMHgxNX0gfSwKLXsgIDcsIDB4MTRkNCwgMCwgezB4ZDAsMHhlMCwweGE4LDB4ODIsMHhmNiwweDgwLDB4MGV9IH0sCi17ICA1LCAweDE0ZGIsIDAsIHsweGQwLDB4ZTAsMHhmMCwweDgwLDB4MDl9IH0sCi17ICA0LCAweDE0ZTAsIDAsIHsweGQwLDB4ZTAsMHg4MCwweDA1fSB9LAoteyAgNSwgMHgxNGU0LCAwLCB7MHhkMCwweGUwLDB4YTgsMHg4MiwweGYyfSB9LAoteyAgNCwgMHgxNGU5LCAwLCB7MHhjOCwweGQwLDB4ZTAsMHhjOH0gfSwKLXsgIDEsIDB4MTRlZCwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDE0ZWUsIDAsIHsweGM4LDB4YzAsMHhlMCwweGU1LDB4ZjAsMHg2MCwweDBkLDB4MTQsMHg2MCwweDBmLDB4MTQsMHg2MCwweDBmLDB4MTR9IH0sCi17ICA2LCAweDE0ZmMsIDAsIHsweDYwLDB4MTAsMHg3NCwweGZmLDB4ODAsMHgwZn0gfSwKLXsgIDUsIDB4MTUwMiwgMCwgezB4YTgsMHg4MiwweGU2LDB4ODAsMHgwYX0gfSwKLXsgIDMsIDB4MTUwNywgMCwgezB4ZTAsMHg4MCwweDA3fSB9LAoteyAgNCwgMHgxNTBhLCAwLCB7MHhlNCwweDkzLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MTUwZSwgMCwgezB4YTgsMHg4MiwweGUyfSB9LAoteyAgNCwgMHgxNTExLCAwLCB7MHhmOCwweGQwLDB4ZTAsMHhjOH0gfSwKLXsgIDEsIDB4MTUxNSwgMCwgezB4MjJ9IH0sCi17ICAwLCAweDAwMDAsIDEsIHswfSB9Ci0KLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGJpdHN0cmVhbVtdID0gewotCi0weDAwLDB4MDksMHgwRiwweEYwLDB4MEYsMHhGMCwweDBGLDB4RjAsIDB4MEYsMHhGMCwweDAwLDB4MDAsMHgwMSwweDYxLDB4MDAsMHgwRCwKLTB4NjQsMHg2MSwweDYyLDB4NzUsMHg3MywweDYyLDB4NzQsMHg3MiwgMHgyRSwweDZFLDB4NjMsMHg2NCwweDAwLDB4NjIsMHgwMCwweDBCLAotMHg3MywweDMxLDB4MzAsMHg3OCwweDZDLDB4NzYsMHg3MSwweDMxLCAweDMwLDB4MzAsMHgwMCwweDYzLDB4MDAsMHgwQiwweDMxLDB4MzksCi0weDM5LDB4MzksMHgyRiwweDMwLDB4MzksMHgyRiwweDMyLDB4MzQsIDB4MDAsMHg2NCwweDAwLDB4MDksMHgzMSwweDMwLDB4M0EsMHgzNCwKLTB4MzIsMHgzQSwweDM0LDB4MzYsMHgwMCwweDY1LDB4MDAsMHgwMCwgMHgyRSwweEMwLDB4RkYsMHgyMCwweDE3LDB4NUYsMHg5RiwweDVCLAotMHhGRSwweEZCLDB4QkIsMHhCNywweEJCLDB4QkIsMHhGQiwweEJGLCAweEFGLDB4RUYsMHhGQiwweERGLDB4QjcsMHhGQiwweEZCLDB4N0YsCi0weEJGLDB4QjcsMHhFRiwweEYyLDB4RkYsMHhGQiwweEZFLDB4RkYsIDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGRiwweEJGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEFGLDB4RkYsMHhGQSwweEZGLDB4RkYsMHhGRiwgMHhDOSwweEZGLDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhBMywweEZGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEVGLDB4RTMsMHhGRSwweEZGLDB4QkYsIDB4RTMsMHhGRSwweEZGLDB4QkYsMHg2RiwweEZCLDB4RjYsMHhGRiwKLTB4QkYsMHhGRiwweDQ3LDB4RkYsMHhGRiwweDlGLDB4RUUsMHhGOSwgMHhGRSwweENGLDB4OUYsMHhFRiwweEZCLDB4Q0YsMHg5QiwweEVFLAotMHhGOCwweEZFLDB4RUYsMHg4RiwweEVFLDB4RkIsMHhGRSwweDBCLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweEZGLDB4RkMsMHgxNywweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsMHg3RiwgMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLAotMHhGQywweDNGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweDVGLDB4RkYsIDB4RkYsMHhGRCwweEZGLDB4RkYsMHhEQiwweEZGLDB4RkQsMHhGRiwKLTB4NzcsMHhGRiwweEZELDB4RkYsMHhGRiwweERGLDB4RkUsMHhGRCwgMHhGRiwweEZGLDB4RjIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTEsCi0weDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDNGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMywweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLAotMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4NjcsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weDdGLDB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLDB4MkYsMHhGRiwKLTB4RjMsMHhGRCwweEZGLDB4N0YsMHhERSwweEY3LDB4RkQsMHhGRiwgMHg3RiwweEY3LDB4N0QsMHhGRiwweDdGLDB4REYsMHhGNywweEJELAotMHhGRiwweDdGLDB4RkYsMHgxRiwweEZGLDB4RUYsMHhGQiwweEZFLCAweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEVGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkYsIDB4M0YsMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwKLTB4OUYsMHhFNywweEZBLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwgMHg3RiwweDlGLDB4RTcsMHhGRiwweEZDLDB4N0YsMHhCRiwweEJGLAotMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEI3LCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsCi0weEZGLDB4RTAsMHhGRCwweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsIDB4RjksMHhGRSwweDdGLDB4OUQsMHhGOSwweEZFLDB4N0QsMHg5RCwKLTB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEVELDB4RUQsMHhGRiwgMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLAotMHhERiwweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLCAweDdGLDB4REYsMHhGRiwweDlCLDB4RkYsMHhFRiwweEZCLDB4RkUsCi0weEZCLDB4QkYsMHhFRiwweEJCLDB4RkUsMHhGRiwweEFGLDB4QkIsIDB4QkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRiwKLTB4QjcsMHhCRiwweERCLDB4RjYsMHhCRCwweEJGLDB4NkIsMHhEQiwgMHhGNiwweEY5LDB4QkYsMHg1QiwweEQ2LDB4RjksMHhCRiwweDZGLAotMHhEQiwweEY2LDB4RkQsMHhCRiwweEZGLDB4MEUsMHhGRiwweEZGLCAweEZGLDB4RkYsMHg1RiwweEZGLDB4RjcsMHhGRiwweEZGLDB4N0YsCi0weEY3LDB4QkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhERiwweDlGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwKLTB4RkYsMHhFRiwweEZFLDB4RkUsMHhGRiwweEZGLDB4NzcsMHhGRiwgMHhGQiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOCwweDNGLAotMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEY0LDB4N0YsMHhGRiwweEZFLDB4RkQsIDB4QkUsMHhGRiwweERGLDB4RkUsMHhGRiwweEZGLDB4RUYsMHg3RiwKLTB4RkYsMHhDRiwweEZGLDB4Q0YsMHhGRiwweEZGLDB4RkYsMHhERiwgMHhFNiwweEZGLDB4RkYsMHg3RiwweERGLDB4RjcsMHhERCwweDdGLAotMHg3RiwweERGLDB4RjcsMHhGRiwweDdGLDB4REYsMHhENywweEZELCAweEZGLDB4N0YsMHhERiwweEY3LDB4RkYsMHhDRCwweEZGLDB4RjIsCi0weEZGLDB4RkYsMHg0RiwweDdGLDB4RjQsMHhGRiwweEZGLDB4RkYsIDB4RTcsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEJCLDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGRiwgMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZCLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDY1LCAweEVGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRCwweEVGLDB4RkYsCi0weEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkUsMHhDRiwweERGLDB4RkUsMHhGRiwKLTB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjMsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRSwweERGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEJGLDB4RkYsIDB4RkYsMHhGRiwweEUzLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEVGLDB4RUIsMHhGRiwweEZFLDB4QkYsMHhGRiwgMHhFQiwweEZGLDB4RkMsMHg3RiwweEZGLDB4RkYsMHhGRiwweEVFLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERCwweEZGLCAweEQ2LDB4RkYsMHhGRCwweEJGLDB4RkYsMHhGQiwweEZGLDB4RkUsCi0weEZELDB4RkYsMHhGRiwweEZELDB4RUYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4REUsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHhCRiwgMHhGRiwweDVGLDB4REYsMHhGRiwweEZGLDB4QkYsMHg3NywweEZGLAotMHhGRiwweEZGLDB4N0YsMHhENywweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4QzMsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RUYsCi0weEZGLDB4RkYsMHhGRSwweEZCLDB4RkYsMHhGRiwweERGLDB4QkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRCwweEZGLDB4QjcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhBRiwweDdGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4REYsMHhCRiwweERGLDB4RjMsMHhGRCwweEZCLDB4RkYsMHg1QiwKLTB4RkQsMHhGRiwweEJGLDB4RUYsMHhGNywweEZGLDB4RkYsMHg3RCwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEY4LDB4M0IsMHhGRiwweEJGLAotMHg2RiwweEZGLDB4RkUsMHhGRiwweEJGLDB4RkYsMHhFQiwweDdELCAweEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RjIsMHg3RiwweEZDLDB4RkYsMHgzRiwweERGLDB4RUQsIDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4NUYsMHhGNywKLTB4QjUsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RTAsMHgzRiwgMHg5RiwweDlFLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhERiwweEZGLAotMHhCRiwweDVGLDB4QkYsMHhDRiwweEYzLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweDY5LDB4QUYsMHgzMywweEZELDB4RkYsCi0weEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQywweEZGLDB4N0YsIDB4RDksMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNSwKLTB4QTMsMHhERiwweDZFLDB4REUsMHhGRiwweEZGLDB4QkQsMHhGRiwgMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhFNywweEZELAotMHhGRiwweEZGLDB4RkYsMHhGOSwweEVGLDB4QzYsMHhGRSwweEI3LCAweEFELDB4RTUsMHhGOSwweEZGLDB4RkYsMHhGRiwweENGLDB4RkYsCi0weEZGLDB4RkYsMHhDRCwweEZCLDB4N0YsMHhGRiwweEZGLDB4RkYsIDB4RjksMHhGNiwweDBGLDB4REYsMHhFQywweENGLDB4N0YsMHhGRiwKLTB4RkIsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRSwgMHhGOSwweEZELDB4N0YsMHhGRiwweDdGLDB4RkYsMHhGOSwweDVCLAotMHhGRiwweDczLDB4REMsMHhGRCwweDdCLDB4REYsMHhGRiwweEZGLCAweEZGLDB4N0IsMHhGRiwweEZGLDB4RjcsMHg1MywweEQ2LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEQ4LDB4OUYsMHhGRSwweEZGLDB4RUYsIDB4N0YsMHhFRSwweEZGLDB4RkYsMHhGRiwweEZCLDB4RUQsMHhFRCwKLTB4RkQsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZCLDB4N0YsMHhGRiwgMHhFMiwweDdGLDB4RkYsMHg2RiwweEQ4LDB4NTcsMHhGNywweEZGLAotMHhGRiwweEZGLDB4REYsMHhGRiwweEU4LDB4RkYsMHhGRiwweEZELCAweEZGLDB4RkYsMHhGQywweDdGLDB4RkYsMHhFNCwweEZGLDB4RkIsCi0weEVGLDB4RkIsMHhGRSwweERGLDB4QjcsMHhFRCwweEZGLDB4RkUsIDB4REYsMHg3RiwweEZGLDB4RkUsMHg3RiwweEI3LDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweDg5LDB4RkYsMHhGRiwweENGLDB4RjMsMHhGRSwgMHg3RiwweEZGLDB4RUYsMHhGRiwweEZFLDB4N0UsMHg3RiwweEZCLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEYxLCAweEZGLDB4RUIsMHg3QSwweEQ1LDB4QkYsMHg2RiwweERCLDB4QkUsCi0weEZELDB4QjcsMHhEOCwweEY2LDB4RTUsMHhCRiwweDZGLDB4RkIsIDB4RkUsMHhGNSwweEJELDB4N0UsMHgwNiwweEZGLDB4REYsMHhGNywKLTB4RkIsMHhGNiwweEZGLDB4M0YsMHhGRiwweERCLDB4RkYsMHhGRiwgMHg2RiwweEZCLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGQiwweEZFLAotMHhGNywweEFGLDB4RkYsMHhCNywweEVELDB4RUYsMHhGNywweEZFLCAweEZGLDB4RkYsMHhERiwweEZGLDB4RkUsMHhGRiwweEVGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEJGLDB4RjcsMHhGQywweDFGLDB4RUUsIDB4RkIsMHhGRSwweEJELDB4RkYsMHg3RiwweDVGLDB4RDcsMHhGRCwKLTB4RkIsMHg0MywweEZGLDB4RkYsMHhGRCwweEZGLDB4NUYsMHhGRiwgMHhGNywweEZGLDB4RjksMHgzRiwweEZGLDB4Q0YsMHhGMywweEZELAotMHhGNywweDdFLDB4RUYsMHhBNywweEY5LDB4RkUsMHg4RiwweEE3LCAweEU5LDB4RjMsMHg3RSwweDlGLDB4RkIsMHhGOCwweEZGLDB4RkYsCi0weDNGLDB4RkQsMHg3RiwweDVGLDB4REYsMHhGRCwweEZGLDB4RkYsIDB4NUYsMHhGRiwweEZELDB4NUYsMHhGRiwweEZGLDB4N0YsMHhGRCwKLTB4N0YsMHhGRCwweDlGLDB4RkYsMHhFMCwweEZGLDB4RkEsMHhGOCwgMHhCRSwweDZGLDB4OUYsMHhFNiwweEY4LDB4QkUsMHgzRiwweDlBLAotMHhGOSwweEJFLDB4NkYsMHg5RiwweEUyLDB4RjksMHhGRSwweDZGLCAweDlGLDB4RjksMHhGRiwweEY1LDB4RkQsMHg3RiwweENGLDB4REYsCi0weEZELDB4RkQsMHg3RiwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsIDB4RjcsMHhGNSwweEZELDB4MEYsMHhEQiwweEZGLDB4RDMsMHhGRiwKLTB4RUIsMHhGQSwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkEsMHhGRiwgMHhGRiwweENCLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhFQiwweEZBLAotMHhGRSwweEZGLDB4RkYsMHhCNywweEZGLDB4RkYsMHhGRiwweEZGLCAweEJGLDB4RkYsMHhERiwweEY1LDB4RkYsMHhGRiwweEQ3LDB4RkYsCi0weEZGLDB4RkYsMHhERiwweEQ3LDB4RjUsMHhGRiwweDdGLDB4RkUsIDB4NEYsMHhGRiwweEZELDB4RkYsMHg3RiwweDdGLDB4RkYsMHhBRCwKLTB4RUIsMHhGQiwweEZGLDB4QUQsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhBRiwweEVCLDB4RkIsMHhGRiwweEZDLDB4MEQsMHhGRiwweEZGLAotMHhERiwweEQyLDB4RkQsMHhGRiwweEZGLDB4RkQsMHhGNiwweEZGLCAweEZGLDB4N0YsMHhGRiwweEZGLDB4MUYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkIsMHgzRiwweDdELDB4RUIsMHgzMiwweEZFLDB4QkYsIDB4MkYsMHhFQiwweEZBLDB4QUUsMHhCRCwweEUwLDB4RkEsMHg3RSwKLTB4QkYsMHhBRCwweEVCLDB4RkEsMHhGRSwweEJGLDB4RjUsMHg3RiwgMHhGRiwweERFLDB4RkUsMHhFMywweEZCLDB4RkYsMHhGRiwweEZGLAotMHhERiwweEVGLDB4NEYsMHhERiwweEZGLDB4N0YsMHhERiwweEZGLCAweEY3LDB4RkYsMHhGRiwweEY4LDB4N0YsMHhGRiwweEZGLDB4RUYsCi0weEZCLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4REYsIDB4RUQsMHhGQiwweERGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwKLTB4ODEsMHhGRiwweEZGLDB4RkYsMHhGRiwweDNGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkUsMHhERCwweEZFLDB4RUYsMHhGRCwweEZGLAotMHhGRiwweEZCLDB4RkUsMHhGNywweEZGLDB4OTMsMHhGRCwweEZCLCAweDdFLDB4RkYsMHhGRSwweDg3LDB4RTksMHhGRiwweDdGLDB4QjMsCi0weDlGLDB4RkUsMHhGRSwweEZGLDB4QUYsMHhGRCwweEZFLDB4N0UsIDB4M0YsMHhGRSwweDY3LDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwKLTB4RkMsMHhGNywweERGLDB4RkQsMHhGRiwweDdGLDB4RkYsMHhGRiwgMHg3RiwweDZELDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweDJGLAotMHhGRiwweEJGLDB4RkYsMHhGRiwweEVFLDB4RkYsMHhCRSwweEZGLCAweEZGLDB4RkUsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZFLDB4RkYsCi0weEVGLDB4RkYsMHhGRiwweEZBLDB4NUYsMHhGRiwweEZGLDB4RkIsIDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGQiwweEZFLDB4RkQsMHhGRiwKLTB4RkUsMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwgMHhGRSwweEJGLDB4REYsMHhGRiwweEZCLDB4RkYsMHhGRiwweEY3LAotMHhGQywweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDdGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMiwweDdGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RjMsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZCLDB4RkYsMHhGRiwKLTB4RkYsMHhERiwweEUyLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RTcsMHhGRiwweEZELAotMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEVELCAweEVGLDB4RkQsMHhGRiwweEZGLDB4REYsMHhENywweEY1LDB4RkQsCi0weDdGLDB4NUQsMHhGRCwweEZGLDB4N0YsMHhERiwweDk3LDB4RjQsIDB4RkQsMHg3QiwweDVGLDB4RkYsMHhDOSwweEZGLDB4RkIsMHhGRSwKLTB4RkYsMHhCRiwweEZGLDB4NUYsMHhGRiwweEZGLDB4RjcsMHhGRiwgMHhFRiwweEZELDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEY3LDB4RkYsMHhENywweEZELDB4N0QsMHg3RiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEVGLDB4REYsMHhGNywweEZELDB4RkYsCi0weEJCLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRSwweEUzLDB4RkYsIDB4RjksMHhGRSwweDdGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwKLTB4QkYsMHhGOSwweEZFLDB4RkYsMHg5RiwweEVGLDB4RjksMHhGRSwgMHhGRiwweEJGLDB4RjMsMHhEQSwweEZGLDB4MzcsMHhDRCwweEYzLAotMHg3QywweERGLDB4MzcsMHhDRCwweEYzLDB4N0YsMHgzNywweENELCAweEYzLDB4N0MsMHhERiwweDM3LDB4Q0MsMHhGMywweDdGLDB4NUEsCi0weEJELDB4RjYsMHhGRCwweEJGLDB4NkYsMHhEQiwweEY2LDB4RkQsIDB4QkYsMHg2RiwweERFLDB4RkQsMHhCRiwweDZGLDB4REIsMHhGNiwKLTB4RkQsMHhCRiwweDZGLDB4RkUsMHhGMSwweDZGLDB4RUIsMHg3QSwgMHhERSwweEI3LDB4QUQsMHhFQiwweDdBLDB4REUsMHhCNywweEFGLAotMHg3QSwweERFLDB4QjcsMHhBRCwweEVCLDB4N0EsMHhERSwweEI3LCAweEZGLDB4N0UsMHhGRiwweEZFLDB4Q0QsMHhCMywweDZDLDB4REIsCi0weDM2LDB4Q0QsMHhCMywweDZDLDB4REUsMHhDRCwweEIzLDB4NkMsIDB4REIsMHgzNiwweENELDB4QjMsMHg2QywweERGLDB4QzksMHhCRiwKLTB4RjcsMHhCRCwweEVGLDB4N0EsMHg5RSwweEE3LDB4QTksMHhFQSwgMHg3QSwweEI3LDB4QkQsMHhFQSwweDdCLDB4REUsMHhBNywweEJELAotMHhDQSwweDcyLDB4OEQsMHg5MSwweEZGLDB4RUYsMHhGQiwweEZFLCAweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGNywweEVGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkUsIDB4ODcsMHhGRiwweEY2LDB4RkQsMHhCRiwweDZGLDB4REIsMHhGNiwKLTB4RkQsMHhCRiwweDZGLDB4RjYsMHhGRCwweEJGLDB4NkYsMHhEQiwgMHhGNiwweEZELDB4QkYsMHg2RiwweEZFLDB4NEYsMHhGRiwweEJGLAotMHhFRiwweEJCLDB4RUUsMHhGQiwweEJFLDB4RUYsMHhCQiwweEVGLCAweEJFLDB4RUYsMHhCQiwweEVFLDB4RkIsMHhCRSwweEVGLDB4QkIsCi0weEVGLDB4RkMsMHg1RiwweEZGLDB4RkYsMHhGRiwweDNGLDB4Q0YsIDB4RjMsMHhGQywweEZGLDB4M0YsMHhDRiwweEZDLDB4RkYsMHgzRiwKLTB4Q0YsMHhGMywweEZDLDB4RkYsMHgzRiwweENGLDB4RkQsMHg5RiwgMHhGRSwweEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEFGLAotMHhFQiwweEZFLDB4QkYsMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLCAweEFGLDB4RUIsMHhGRiwweEUxLDB4NkYsMHhGRCwweEZGLDB4N0YsCi0weERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEZELDB4RkYsIDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGRiwKLTB4N0EsMHhCRiwweEZCLDB4RkUsMHhERiwweEI3LDB4RUQsMHhGQiwgMHg3RSwweERGLDB4QjcsMHhGQiwweDdFLDB4REYsMHhCNywweEVELAotMHhGQiwweDdFLDB4REYsMHhCNywweEZGLDB4QzksMHhGRiwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUUsIDB4RkIsMHhGRSwweEJCLDB4RkYsMHhGRSwweEZGLDB4QkYsMHhFRiwKLTB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZFLDB4RkYsMHhCRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweDNGLDB4Q0YsMHhGRiwweEU3LAotMHhGRSwweEZGLDB4RjUsMHhGRCwweDc3LDB4NUQsMHhENywweDM1LCAweERELDB4NzcsMHhENywweEY1LDB4Q0QsMHg3QiwweDVELDB4RDcsCi0weEY1LDB4REQsMHg3NywweEZFLDB4MjcsMHhGRiwweEZGLDB4OEIsIDB4RTIsMHhGOCwweEJFLDB4MkYsMHg4QiwweEUyLDB4RjksMHhBRiwKLTB4OEIsMHhFMiwweEY4LDB4QkUsMHgyRiwweDhCLDB4RTIsMHhGOSwgMHhGRSwweDFGLDB4RkYsMHg1RiwweEQ3LDB4RjUsMHhGRCwweDdGLAotMHg1RiwweEQ3LDB4RjUsMHhGRiwweDVGLDB4RDcsMHhGNSwweEZELCAweDdGLDB4NUYsMHhENywweEY1LDB4RkYsMHhGQSwweDNGLDB4RkUsCi0weEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEFGLDB4RUIsIDB4RUMsMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhBRiwKLTB4RUIsMHhGRiwweEZFLDB4N0YsMHhGRCwweDdGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEU2LCAweEZGLDB4RkEsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsCi0weEY3LDB4RkMsMHhGRiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsIDB4REYsMHhGNywweEZELDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweDAyLDB4RkYsMHhGRSwweEJGLDB4QUIsMHhFQiwweEZBLCAweEJFLDB4QkYsMHgyMywweEVCLDB4REUsMHgxRiwweEFGLDB4RUEsCi0weEZBLDB4RkUsMHhBRiwweEFGLDB4RUIsMHhGRCwweDk3LDB4RkYsIDB4RjMsMHhGQywweDdCLDB4MUYsMHhDRiwweEYxLDB4RkMsMHg3RiwKLTB4MUYsMHhGMSwweEZDLDB4NzcsMHgxRiwweENELDB4RjEsMHhGQywgMHhGRiwweDFGLDB4RkUsMHg4NywweEZGLDB4QUYsMHhFRiwweEZBLAotMHhGRSwweEZGLDB4QUYsMHhFRiwweEZBLDB4RkQsMHhCRiwweDJCLCAweEZCLDB4N0UsMHhCRiwweEJGLDB4RUIsMHhGQiwweEZCLDB4RkIsCi0weERGLDB4RkYsMHhGQiwweEY3LDB4RkYsMHhGRiwweDdGLDB4RjcsIDB4RjcsMHhGRiwweEZELDB4REYsMHhGRSwweEZDLDB4REYsMHhGRiwKLTB4REYsMHhGRiwweEZELDB4RkYsMHhEQSwweEJGLDB4RkYsMHhCQiwgMHhFRiwweEZCLDB4RjksMHhGRiwweEJFLDB4RUYsMHhGQiwweEZCLAotMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLCAweEZGLDB4RjcsMHg3RiwweEZELDB4RDcsMHhGRiwweEZGLDB4N0YsCi0weEZGLDB4RkYsMHhGRiwweEZFLDB4RjcsMHhGRiwweEZFLDB4RkYsIDB4RjcsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RUMsMHhGRiwKLTB4RkYsMHhGRSwweERGLDB4QkYsMHhGRiwweEZCLDB4RkUsMHhGRiwgMHhCQiwweDY4LDB4QUUsMHgxRiwweEFFLDB4RkIsMHhGQiwweEZGLAotMHhGRiwweEJGLDB4RkYsMHhENSwweEZGLDB4N0YsMHhGRiwweEZGLCAweEY3LDB4RkUsMHhGRSwweEZGLDB4QkYsMHhFRiwweDlGLDB4RkQsCi0weDdGLDB4RkYsMHhDQiwweEZGLDB4RkYsMHhERiwweEZGLDB4RkYsIDB4QkIsMHhGNywweEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwKLTB4RkYsMHhCRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4REUsMHgzRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QTcsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RUYsMHhGRiwweDdGLDB4RkIsMHhGRCwweEZCLCAweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhDRiwweEYzLDB4N0MsCi0weEZGLDB4N0YsMHg4RCwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkIsMHhGRiwweEY3LDB4RkIsMHhGRSwweEZELDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdGLDB4RkQsMHgxRiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhERiwweEZGLAotMHhGRiwweEZFLDB4NUMsMHhGRiwweDZELDB4RkYsMHg3RiwweEFCLCAweEU3LDB4RjEsMHhGRiwweEZELDB4OUYsMHhGRiwweEZGLDB4QUQsCi0weEVCLDB4N0EsMHgzRiwweDFGLDB4RkYsMHhGRiwweEZFLDB4QkYsIDB4QUYsMHhGMywweERFLDB4RjUsMHhGRiwweDhGLDB4RkIsMHhERiwKLTB4RTYsMHg3RiwweEZGLDB4REYsMHhGMywweEZELDB4RkYsMHg3RSwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGNywweEYzLAotMHg3RiwweERGLDB4RjcsMHhFRiwweEZGLDB4RjYsMHgzRiwweDlGLCAweERGLDB4RkYsMHhGRiwweEVFLDB4RkYsMHhGRiwweEVGLDB4RkIsCi0weEZGLDB4RkYsMHhGOSwweEZCLDB4RkUsMHg0RiwweEJGLDB4RUYsIDB4QkIsMHhGRiwweDY5LDB4QUYsMHhBRiwweEZDLDB4RkYsMHgzRiwKLTB4REQsMHhGRiwweEZDLDB4QkYsMHg4RiwweEZGLDB4RkQsMHhGMywgMHhCRiwweEVELDB4OUUsMHhGQywweEJGLDB4NkYsMHhGNSwweEQzLAotMHhERiwweEZGLDB4REIsMHhENiwweEY1LDB4RUYsMHhGRCwweEZFLCAweEZGLDB4QjksMHhGRiwweDFGLDB4RDIsMHhBOSwweEFGLDB4RkYsCi0weERCLDB4RjcsMHhCRiwweEVGLDB4NDYsMHhGRiwweEZGLDB4QUQsIDB4RUIsMHg3QSwweERGLDB4RUYsMHhGNywweEZGLDB4N0YsMHhGNywKLTB4OUYsMHhFRCwweEZGLDB4N0YsMHhGRiwweEFELDB4RUIsMHg3RiwgMHhGNSwweDZGLDB4RkYsMHhGRCwweEZCLDB4RDYsMHhGNCwweEY3LAotMHhGQiwweEY5LDB4N0UsMHg3RiwweEZGLDB4NUYsMHhDMiwweEZFLCAweEJGLDB4RkQsMHhGQiwweDMzLDB4REYsMHhGOSwweDVCLDB4RkYsCi0weEZGLDB4REQsMHg2NywweDdELDB4Q0YsMHhFRiwweERCLDB4RUMsIDB4RkYsMHg3NywweERELDB4RjcsMHhGRCwweEZGLDB4RkYsMHhERSwKLTB4QTcsMHhCRiwweEQ0LDB4OUYsMHhGRiwweEZGLDB4QkYsMHhFRiwgMHhGRSwweEZGLDB4REYsMHhFRiwweEJCLDB4RkYsMHhGRiwweEVGLAotMHhFQiwweEZBLDB4RkYsMHhFRiwweEJELDB4RkIsMHhGRiwweEUyLCAweDdGLDB4RkYsMHhERiwweERGLDB4RjcsMHhGRCwweEJGLDB4QkIsCi0weDczLDB4RjcsMHhGRCwweDdGLDB4REYsMHhERSwweEY3LDB4QkYsIDB4RUEsMHhEQiwweEY2LDB4RkYsMHhENiwweEZGLDB4RkYsMHg2NiwKLTB4RkYsMHhCRSwweEZGLDB4QkYsMHg2QiwweEQ5LDB4RjYsMHhERiwgMHhGRiwweEZCLDB4N0UsMHg3RiwweEI3LDB4N0UsMHhGRiwweEZFLAotMHhGRiwweENELDB4RkYsMHhGRSwweDdGLDB4RkYsMHhGQywweEZELCAweDNGLDB4RkIsMHhGQiwweEY3LDB4RkYsMHhGRiwweEZCLDB4RjYsCi0weDdELDB4RkUsMHg3RiwweEZGLDB4RkMsMHhGRiwweEI5LDB4RkYsIDB4RjksMHhGQSwweEZFLDB4QkYsMHhBRiwweDVCLDB4RDYsMHhFRCwKLTB4QUQsMHg3QiwweEY2LDB4RjksMHhCRiwweEVGLDB4RjgsMHhGQSwgMHhGRSwweEJGLDB4RkUsMHhFNiwweEZGLDB4RkYsMHhGNywweEZELAotMHhGRiwweDdGLDB4QkYsMHhFRiwweEYzLDB4RkYsMHhGRiwweDZGLCAweEY3LDB4RkUsMHhGRiwweEZGLDB4RjcsMHhGRCwweEZFLDB4RjcsCi0weEVGLDB4RkYsMHhGQiwweEVGLDB4RkIsMHg3RSwweERFLDB4RkUsIDB4RkYsMHhCRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkIsMHhGRiwKLTB4RkYsMHhFRiwweEZCLDB4NkYsMHhGQywweDFGLDB4RkUsMHhFNywgMHhGRiwweEZGLDB4RkYsMHhFRiwweEZGLDB4RDMsMHhCNCwweEJCLAotMHhGRiwweEZGLDB4RkQsMHhCRiwweDZGLDB4RTMsMHhGRSwweEZGLCAweEJGLDB4RkMsMHhCRiwweEY3LDB4Q0YsMHhGNywweEZELDB4RkYsCi0weDJGLDB4REYsMHhBQiwweEVBLDB4RkYsMHhERiwweEU3LDB4RUEsIDB4OUEsMHhBRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RjUsMHgzRiwKLTB4RkQsMHg3RSwweEZGLDB4RDcsMHhGNSwweEZCLDB4RkYsMHhGRCwgMHhGNywweEZGLDB4N0YsMHhGRSwweEY3LDB4RkQsMHhGRiwweEQ3LAotMHhGRiwweEQ3LDB4N0YsMHhFRSwweDdGLDB4RkEsMHg3OSwweEZFLCAweDJGLDB4OEIsMHhFNiwweEY5LDB4RkUsMHgzRiwweDlFLDB4RjksCi0weEJFLDB4MkYsMHgwQiwweEU3LDB4RjksMHhGRSwweDJGLDB4OUYsIDB4RkQsMHhGRiwweEZFLDB4N0QsMHg3RiwweDVGLDB4RDcsMHhGRiwKLTB4RkYsMHg3RiwweEZGLDB4RkQsMHhGRiwweDdGLDB4NUYsMHg5NywgMHhGRiwweEZELDB4N0YsMHg1RiwweEZGLDB4RTMsMHhGRiwweEZGLAotMHhGQSwweEZFLDB4QkYsMHhBRiwweEZCLDB4RkIsMHhGRiwweEZGLCAweENGLDB4RUIsMHhGRSwweEJGLDB4QUYsMHhGRiwweEZBLDB4RkUsCi0weEJGLDB4RkYsMHg4NywweEZGLDB4RkYsMHhGNSwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZELDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RkIsMHhGRiwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkUsMHgwRiwgMHhGRiwweEZELDB4RUIsMHhGRiwweEZGLDB4RjcsMHhGRiwweEVGLAotMHg3QiwweERGLDB4RkUsMHhGRiwweEZGLDB4REYsMHhGNywweEZELCAweEVCLDB4N0YsMHhERiwweEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkQsMHhCRiwweEZGLDB4N0UsMHhGQSwweEJGLDB4QzcsIDB4REIsMHhGNywweEJELDB4M0YsMHhGQiwweEZGLDB4RjYsMHhGRiwKLTB4RkEsMHhBRiwweEZGLDB4RUIsMHhGQSwweEZFLDB4M0YsMHgyRiwgMHhFQSwweEZBLDB4M0UsMHhBRCwweEM5LDB4QkEsMHhGNiwweEFELAotMHhBRiwweEVCLDB4RkEsMHhGNiwweEJGLDB4RkUsMHg3RiwweEZGLCAweEZGLDB4RkQsMHhGRiwweEYxLDB4N0YsMHgzRiwweENGLDB4RjEsCi0weEVGLDB4RkYsMHg3RiwweEZGLDB4QkMsMHhERiwweERGLDB4RjcsIDB4REQsMHhGRiwweEUwLDB4N0YsMHhGRiwweEZGLDB4RkUsMHhGRiwKLTB4RkEsMHhFQywweEJCLDB4N0YsMHg1RiwweEZGLDB4RkIsMHhFQywgMHhGRiwweEVGLDB4QjcsMHhGRiwweEY3LDB4RkYsMHhGRiwweEI1LAotMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhFRSwweERGLCAweDVGLDB4REYsMHhERSwweEZGLDB4QUUsMHhFNywweDc3LDB4RkYsCi0weEZGLDB4REYsMHhGNywweEZGLDB4RTMsMHhGRiwweEZBLDB4QkIsIDB4RkUsMHhGRiwweEFGLDB4RkQsMHhGQiwweEZFLDB4QkYsMHhBQiwKLTB4RjksMHhGRSwweEZGLDB4QkYsMHg3RiwweEJGLDB4RkUsMHhCRCwgMHhGRSwweEQ3LDB4RkYsMHg5RiwweEZELDB4RkYsMHhCRSwweEVGLAotMHhGRiwweEVFLDB4RkQsMHhCQiwweDVCLDB4RUYsMHhGRiwweDdGLCAweEVGLDB4RkYsMHhFRiwweEZGLDB4N0YsMHhGRiwweDRGLDB4RkYsCi0weEVGLDB4RkIsMHhCQywweEZDLDB4RkYsMHhGRiwweEZGLDB4RkUsIDB4RkUsMHhGRCwweEZBLDB4RkUsMHhGQiwweEZGLDB4RkQsMHhGMywKLTB4RkIsMHhGRiwweEY4LDB4NUYsMHhGRiwweEZGLDB4RDcsMHhGNSwgMHhGRCwweERGLDB4RUYsMHhGRiwweEYzLDB4REMsMHg1RiwweENFLAotMHhGNSwweEJELDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhGRiwweEY5LCAweDNGLDB4RkYsMHhERiwweEY3LDB4RkYsMHhGRSwweEZGLDB4RkQsCi0weEZGLDB4RkIsMHhGRiwweEY3LDB4QjksMHg3RCwweEZFLDB4REYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOSwweDdGLDB4RkYsMHhGRSwKLTB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGNywgMHhGNiwweEZGLDB4QkYsMHhGMSwweEY4LDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEUwLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOSwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhFRiwweEZGLDB4RkYsCi0weDlCLDB4RkIsMHg3RiwweEZGLDB4RkYsMHhGRiwweEMxLDB4RkYsIDB4REYsMHhGRiwweDNGLDB4NUYsMHhENywweEJGLDB4RUYsMHhCQiwKLTB4REUsMHhFRSwweEZGLDB4N0YsMHhERiwweEZGLDB4RkUsMHhGNSwgMHg3RiwweERGLDB4RkYsMHg5OSwweEZGLDB4RkYsMHhGQSwweEZGLAotMHhCRiwweEZELDB4RUIsMHg3QSwweEZGLDB4QjcsMHhGRSwweEZFLCAweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRCwweEJGLDB4RkYsCi0weDk3LDB4RkYsMHhGRCwweEY3LDB4RkYsMHg3RiwweEY3LDB4RkYsIDB4RkYsMHhGRCwweDVGLDB4RkUsMHhGMywweEY5LDB4REYsMHhERiwKLTB4RkYsMHhGRiwweEZDLDB4RkYsMHhGRiwweDgzLDB4RkYsMHhGRiwgMHhGRSwweEZGLDB4OUUsMHhFQywweEZCLDB4RUUsMHhGRiwweDlGLAotMHhCRiwweEVGLDB4RkYsMHhGRSwweEVELDB4N0IsMHhGRiwweEZGLCAweEZGLDB4RjEsMHg1QSwweEZGLDB4RkYsMHhGRCwweEZGLDB4N0MsCi0weDY5LDB4M0IsMHhERiwweEZGLDB4N0YsMHgxRiwweERGLDB4RkYsIDB4RkQsMHhCQSwweEZGLDB4RkYsMHhGQiwweEZGLDB4NUIsMHhCRCwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhENywweEI2LDB4RUQsMHhFOSwgMHhGRiwweEQ2LDB4QkQsMHg2RiwweDVGLDB4RkIsMHhGRiwweEVGLAotMHhGRiwweDVGLDB4RkUsMHhGNiwweDZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RjcsMHhFQiwweDdBLDB4REYsMHhGRiwweDlGLDB4N0YsCi0weDdGLDB4RkYsMHhCNywweEZGLDB4RkYsMHhGRSwweERGLDB4RkYsIDB4NkMsMHhGRiwweEZCLDB4RkYsMHhCQiwweDZGLDB4RUIsMHhGRSwKLTB4Q0MsMHhGNywweEE1LDB4RkEsMHg1QywweEY1LDB4NzUsMHhCQiwgMHhCNywweERGLDB4RkUsMHg2RiwweDVGLDB4QzUsMHhCRiwweEZELAotMHg3QiwweEZFLDB4RkYsMHg5NSwweEU3LDB4MjksMHhDRiwweDRGLCAweEY1LDB4OTEsMHhFRSwweDZCLDB4REYsMHhFRiwweEZELDB4NTQsCi0weEY1LDB4QkQsMHhCMSwweEZGLDB4RUYsMHhFRSwweEZCLDB4QkUsIDB4QkYsMHhBRiwweEZFLDB4REUsMHhCRCwweDZGLDB4REEsMHhGMiwKLTB4RkYsMHhBRiwweEJFLDB4RkYsMHhGRiwweEZELDB4N0UsMHhBNywgMHhGRiwweEY3LDB4RkYsMHhCRiwweEVGLDB4N0IsMHhGNiwweEZELAotMHhCRCwweDRBLDB4RjIsMHg4NSwweDg1LDB4QkYsMHg1QiwweEZFLCAweEI1LDB4RkQsMHhGQSwweEZGLDB4NEYsMHhGRiwweEZFLDB4REYsCi0weEZGLDB4RUQsMHhGRiwweEJGLDB4RkYsMHhCRiwweDdGLDB4RkUsIDB4RkYsMHhCNywweDZELDB4RkYsMHhGNywweEJGLDB4QkYsMHhFRiwKLTB4RkQsMHgxRiwweEZGLDB4RkUsMHg3RCwweEZGLDB4NjcsMHhGRiwgMHhGRiwweEZGLDB4M0YsMHg3RiwweEZFLDB4QkYsMHhGRiwweEU3LAotMHhERiwweEU3LDB4RkYsMHhFRiwweDZCLDB4RkMsMHgxRiwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4REUsMHhCRiwweEFGLDB4RkEsCi0weEZGLDB4QjYsMHhFRiwweEY5LDB4RkUsMHhGRiwweDhGLDB4RUYsIDB4REIsMHhFRiwweEFCLDB4NkYsMHhGQiwweEZFLDB4RkYsMHhGRiwKLTB4RUYsMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLDB4REUsMHhGRiwgMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4M0YsMHhGRiwweDZDLAotMHhGRiwweEJGLDB4RkIsMHhGRiwweEZFLDB4RkYsMHhGQiwweEZFLCAweERGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEJGLDB4RkYsCi0weEZGLDB4RkUsMHhGQiwweEZGLDB4RDUsMHg3RiwweEZGLDB4RkYsIDB4RUYsMHhGQiwweEZGLDB4RkYsMHhCRiwweEVGLDB4NDMsMHhCNSwKLTB4RkQsMHg2RiwweENGLDB4RDYsMHhCRSwweDNGLDB4N0YsMHhEQiwgMHhGRSwweEMzLDB4RkYsMHhGRCwweEZGLDB4QUYsMHhFQiwweEZCLAotMHhGQywweEZGLDB4M0UsMHhFRiwweEU4LDB4RkEsMHhCRCwweENELCAweEFBLDB4RkUsMHhGRSwweDdELDB4Q0YsMHhGRiwweEI3LDB4RkYsCi0weEY3LDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweDc1LDB4Q0QsIDB4NTIsMHhENywweEZELDB4RkIsMHhGNywweERELDB4RkIsMHhFRiwKLTB4RUIsMHhGRiwweEZGLDB4NEYsMHhGRiwweEJGLDB4OUYsMHhFNywgMHhGOSwweEZDLDB4N0YsMHg4QiwweEMzLDB4RjksMHhBRiwweDhGLAotMHhFNywweEU5LDB4QkUsMHg3RiwweDlGLDB4RTYsMHhGOSwweEZDLCAweDVGLDB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdBLDB4NUYsCi0weEQ3LDB4RUQsMHhGRiwweEZGLDB4RDcsMHhGRiwweERELDB4N0YsIDB4RTcsMHhGRiwweEZDLDB4RkYsMHhGQywweDNGLDB4RkYsMHhGRiwKLTB4RkYsMHhGQiwweEZGLDB4RkUsMHhCRiwweEFGLDB4RkYsMHhGRCwgMHhGRiwweEVGLDB4RkYsMHhFQiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEY3LDB4N0YsMHhGRiwweDdGLDB4REYsMHhGRiwweEZELCAweEZELDB4N0YsMHhGRSwweEY3LDB4RkQsMHg3RiwweERGLDB4RkYsCi0weEZELDB4RkYsMHhGRiwweERGLDB4RkIsMHhGRiwweEVFLDB4RkYsIDB4RkIsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdBLDB4REYsMHhGNSwKLTB4RkQsMHhGQSwweERGLDB4RjcsMHhGQywweEZGLDB4N0YsMHhERiwgMHhCRiwweEVELDB4RkYsMHhDOSwweEZGLDB4REYsMHhGRiwweEJGLAotMHgyRiwweEZCLDB4RkYsMHhCQywweEFELDB4RkYsMHhGNywweEZGLCAweEZGLDB4RUYsMHhEMywweEZGLDB4N0QsMHhCRiwweDZGLDB4RkYsCi0weEZBLDB4RkYsMHhGRSwweEJGLDB4QUUsMHhFQSwweEZBLDB4QkUsIDB4QUQsMHhBNSwweEVCLDB4Q0UsMHhCRiwweEE3LDB4RUIsMHg1QSwKLTB4REUsMHhCRCwweEFGLDB4NkIsMHhGRCwweDU3LDB4RkYsMHhGRiwgMHhGNCwweDdGLDB4MUYsMHg3RiwweEZELDB4RkYsMHg3RiwweDM2LAotMHhGMCwweERGLDB4NzksMHhGRiwweEZGLDB4RkYsMHhGNywweEZELCAweEJGLDB4RkYsMHg4NywweEZGLDB4RkIsMHhGMywweEZDLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdFLDB4RkYsMHhCRiwweERGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEJGLDB4RjgsMHg5RiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRCwgMHhGNywweEZDLDB4QkQsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkIsMHhGOSwweEJGLDB4RkYsMHhGRiwweEVCLCAweEUyLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhBOSwweEJBLDB4MkYsCi0weEVCLDB4RjksMHhGRSwweDc3LDB4REYsMHhGNywweEZGLDB4RkYsIDB4RjksMHg3RiwweEZGLDB4RkYsMHg3RiwweEVGLDB4RDcsMHhGRiwKLTB4RkQsMHhGRiwweEZCLDB4RjUsMHhGRiwweEJGLDB4NkYsMHhERiwgMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RjAsMHhGRiwweEZGLAotMHhGRiwweDNGLDB4Q0YsMHhGRiwweEJBLDB4RUUsMHg5QiwweEJGLCAweEVFLDB4RDcsMHhGRSwweENELDB4RUYsMHhGRiwweERGLDB4QkYsCi0weEZGLDB4RkYsMHhDNSwweEZGLDB4RkYsMHhGRCwweDdGLDB4NEYsIDB4RkQsMHhGNiwweEQ5LDB4RkYsMHg0RiwweEQ2LDB4RkQsMHhCRiwKLTB4NkUsMHhGRiwweEZGLDB4RjQsMHg3RiwweEZGLDB4N0YsMHg4QiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGOSwweEZFLAotMHgzNywweEZGLDB4RDksMHhGQiwweEY1LDB4QUYsMHhGRCwweEZGLCAweEZGLDB4RkIsMHhGRiwweEZGLDB4MDcsMHhGRiwweEZGLDB4RkYsCi0weEZCLDB4RjcsMHhGRiwweEZELDB4RkYsMHg3QywweEZBLDB4N0UsIDB4NEYsMHhGQywweERGLDB4MUQsMHhDNywweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhBRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGQiwgMHhGRiwweEZGLDB4RkUsMHhGRSwweEZDLDB4RkYsMHg3RiwweDdGLAotMHhCRiwweEVGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHg1RiwweEZELCAweEZGLDB4RkYsMHhGRiwweEZELDB4NkYsMHg1QSwweEQ3LDB4N0IsCi0weEJFLDB4NUYsMHhGRSwweDM5LDB4RkYsMHhGNywweEZGLDB4RjcsIDB4RkQsMHhGRSwweEFBLDB4MUYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkUsMHhGRSwweEFCLDB4QUYsMHhGRCwweEZFLDB4QkYsMHhGRiwgMHhGNywweEZGLDB4N0YsMHhGRSwweDhGLDB4RTMsMHhGQiwweEVFLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUIsMHhGQiwweEZGLCAweEZELDB4QkYsMHhFRiwweERGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZCLDB4RTQsMHgzRiwweEZGLDB4REYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMywweEVGLDB4QkIsMHhGQiwKLTB4QkYsMHhFRiwweEJCLDB4RkYsMHhENywweEJGLDB4RkYsMHhGRiwgMHhGRiwweDI5LDB4QUYsMHhGNywweEZGLDB4RkYsMHhGQiwweEZGLAotMHhGQiwweEU2LDB4RkYsMHgwRiwweEZCLDB4M0YsMHhERiwweDBGLCAweEZGLDB4QUYsMHhGRiwweEZGLDB4RkYsMHhGNSwweEMzLDB4REYsCi0weDVGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHg2QiwweENBLDB4QkUsIDB4QkMsMHhGRiwweDlGLDB4RjIsMHhCRiwweEZGLDB4RkUsMHhGQSwKLTB4RkYsMHhGRiwweEVGLDB4MTYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZDLDB4REYsMHg5NywweEZELDB4NzksMHhGRiwweDM3LAotMHhFNywweDdGLDB4RkYsMHhGRiwweEI1LDB4RkYsMHhGRiwweEY2LCAweDJGLDB4RkYsMHhGRCwweEZCLDB4RkUsMHhGRiwweEZGLDB4RkQsCi0weDVGLDB4NTcsMHg1RiwweEZGLDB4REIsMHg1MiwweERGLDB4RkYsIDB4RkQsMHhCRiwweEZGLDB4RkYsMHhGQywweERCLDB4RkYsMHg3QiwKLTB4QjUsMHhGRCwweDdGLDB4RkYsMHg3MSwweDlDLDB4NkUsMHhGRiwgMHhGNiwweDM1LDB4QTUsMHg5QiwweEZGLDB4RkYsMHhGRCwweEZGLAotMHhGRiwweERCLDB4OUUsMHg3RiwweEZFLDB4RUYsMHhGQiwweEZGLCAweEZGLDB4QkQsMHhFRiwweEZGLDB4REUsMHhCNywweEY5LDB4NEIsCi0weEZGLDB4RjUsMHhFRiwweEZGLDB4RkYsMHhGRiwweEU4LDB4N0UsIDB4RkYsMHhFQSwweERGLDB4RjcsMHhGRiwweEZELDB4NjksMHg1QiwKLTB4RkMsMHg5RiwweEVGLDB4NzgsMHhENiwweEZGLDB4RUIsMHhFRiwgMHhGRiwweEZGLDB4RkYsMHhFOCwweEZGLDB4RkYsMHhFRCwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhFMywweEY5LDB4RjYsMHhCRiwweEZGLCAweEZGLDB4RkUsMHhERiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsCi0weEQxLDB4RkYsMHhGRiwweEU3LDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RTcsMHhGOSwweEZGLDB4QkYsMHg3RiwweEQ5LDB4RkYsMHhGRCwKLTB4RkUsMHg3RiwweEZGLDB4RkUsMHhGRiwweEY5LDB4RkYsMHhGQiwgMHhENiwweERGLDB4QkYsMHhFRiwweDVCLDB4RDYsMHhGRiwweEJGLAotMHhGQiwweEY2LDB4RkYsMHhCRiwweEVGLDB4RjgsMHhGNiwweERELCAweEJFLDB4RkUsMHgxNiwweEZGLDB4QkYsMHhFRiwweEZGLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweDZGLDB4RkIsIDB4RkYsMHhGRiwweEZGLDB4NkYsMHhGMywweEZGLDB4RjcsMHhFRiwKLTB4RkIsMHhGRiwweEJGLDB4RkYsMHhFRiwweEZFLDB4RkYsMHhCRiwgMHhGRiwweEZGLDB4RkYsMHhCRSwweEJGLDB4RkYsMHhFRiwweEZGLAotMHg3RiwweEVGLDB4RkYsMHhGRCwweDE3LDB4RkIsMHg3QiwweEZGLCAweEZGLDB4RkQsMHg3RiwweERCLDB4RjYsMHhGNCwweDdGLDB4RkEsCi0weEZFLDB4RjUsMHhCRiwweEVCLDB4RTMsMHhGNywweEZGLDB4RkYsIDB4RTksMHhCRiwweEZGLDB4QUYsMHhGNywweEZELDB4RjMsMHg3RSwKLTB4OEYsMHhBMywweEVBLDB4RkYsMHhDQiwweEYzLDB4RUUsMHhGRiwgMHhCRiwweEVGLDB4RjcsMHhGOSwweEZGLDB4RkUsMHg3RiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGNSwweEZCLDB4RjYsMHhGRiwweEY1LCAweDJGLDB4RkUsMHhGQiwweEQ3LDB4QkYsMHhGRiwweEJFLDB4REYsCi0weDlGLDB4RkYsMHhGMCwweEZGLDB4RkYsMHhGOSwweEZFLDB4N0YsIDB4OEYsMHhBMywweEY4LDB4RkUsMHg2RiwweDlGLDB4RjksMHhGNiwKLTB4MkYsMHg5RiwweEU3LDB4RjksMHhGRSwweDJGLDB4OUYsMHhFMSwgMHhGRiwweEZGLDB4RkYsMHg3RiwweERGLDB4RjcsMHhGNSwweEZELAotMHg3RiwweDdGLDB4RjUsMHhGRiwweDlGLDB4NUYsMHhGQiwweEZFLCAweEZGLDB4N0YsMHhGRiwweEZGLDB4Q0IsMHhGRiwweEZGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEFGLDB4RkIsMHhGRSwweEZGLDB4REYsIDB4RkUsMHhGRSwweEJGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhDNywweEZGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHhERCwgMHhGNywweEZELDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhGRCwweDdGLAotMHhGRiwweEZCLDB4RkQsMHhGRiwweEZGLDB4RkUsMHhFRiwweDdGLCAweEZELDB4RUYsMHhGQiwweEZFLDB4RkIsMHhGRCwweEZGLDB4N0YsCi0weERGLDB4RkQsMHhGRiwweDdBLDB4REYsMHhGNywweEZELDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4MUYsMHhGRiwweEZGLDB4RDMsMHhGNywKLTB4RkYsMHhGRiwweDZGLDB4REIsMHhGRiwweEZGLDB4RUYsMHhDQiwgMHhGNCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLAotMHgyOSwweEZGLDB4RTgsMHhEQSwweDc2LDB4OUYsMHhBRiwweDZBLCAweERBLDB4RkUsMHgzNSwweEVCLDB4REEsMHhENiwweEJGLDB4QUIsCi0weEVCLDB4N0EsMHhERSwweEJGLDB4RDcsMHg3RiwweEZGLDB4RkUsIDB4RkYsMHhCRiwweEVGLDB4RkQsMHhERiwweDc3LDB4QkYsMHhGRCwKLTB4MzcsMHhFRiwweEZGLDB4RUYsMHhGRiwweDNGLDB4RkYsMHhGRiwgMHhGRiwweEZFLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGNywweDdFLAotMHhERiwweEZGLDB4RkYsMHhGRiwweEZBLDB4QjcsMHg3RiwweEZGLCAweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweDg5LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHg5RiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RTcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4QUEsMHhGRiwweEFCLDB4RkIsMHhGQSwgMHhFRiwweEJGLDB4RkYsMHhERiwweEZBLDB4N0IsMHhCOSwweEZFLAotMHhGRSwweEZGLDB4RkQsMHhGRiwweEY3LDB4RkUsMHgzRiwweEZGLCAweEI3LDB4RkYsMHhGNywweEVFLDB4RkYsMHg3RiwweEVGLDB4RkYsCi0weEZGLDB4N0YsMHhGRiwweDFGLDB4RkIsMHhGRiwweEJGLDB4RkIsIDB4RkUsMHhGRiwweEJELDB4RkYsMHhGRiwweDJGLDB4RkYsMHhCRiwKLTB4RkYsMHg3RiwweERGLDB4RkEsMHhGRiwweEZGLDB4RkMsMHhFRSwgMHhGNSwweEYzLDB4QkUsMHhGQiwweDBGLDB4RUYsMHhGMywweEJFLAotMHhFRiwweEZDLDB4NUYsMHhGRiwweDVBLDB4RkYsMHhGNywweERGLCAweEZGLDB4RkYsMHhGRSwweEQ1LDB4RkMsMHg1RiwweEZCLDB4RjIsCi0weEZGLDB4RkYsMHgyRiwweEJCLDB4RjMsMHhGRiwweEZGLDB4QkYsIDB4RkYsMHhFRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4QkYsMHhGRiwweEZGLDB4RkQsMHg3QiwweEZGLDB4REYsMHhCOSwgMHhGRiwweEZCLDB4RkYsMHhEOCwweDdGLDB4RkYsMHhGRiwweEZGLAotMHhGQiwweEZGLDB4RkMsMHg3RiwweDFGLDB4QkYsMHhFMCwweERGLCAweEY3LDB4RUYsMHhGRiwweEZELDB4N0YsMHhGRSwweERGLDB4RkYsCi0weEUwLDB4RkYsMHhGRiwweEZELDB4RUYsMHhGQiwweEZGLDB4RkUsIDB4RjcsMHhERiwweEZGLDB4RUIsMHg1RiwweEZGLDB4RjcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZELDB4RkYsMHhGRCwgMHhGRiwweEZGLDB4RkYsMHhGNywweEZELDB4RkYsMHgzQiwweERDLAotMHhGRCwweDZELDB4N0IsMHg1RiwweDU3LDB4RjUsMHhGRCwweDdGLCAweDVGLDB4RkYsMHhCMSwweEZGLDB4RUIsMHhGRiwweEZGLDB4RkYsCi0weEZCLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhGQiwweEJFLDB4RkYsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEFGLDB4RkUsMHhGNywKLTB4REYsMHhERiwweEZGLDB4RkYsMHhGRiwweDdGLDB4Q0YsMHhGMywgMHhGOCwweEZGLDB4RDcsMHhGQiwweEZGLDB4NUYsMHhCRiwweEY3LAotMHhGQiwweEZGLDB4N0YsMHhGRSwweDIzLDB4RkYsMHhGRiwweEZFLCAweDdGLDB4RjMsMHhGRiwweEZCLDB4RkUsMHhGRiwweEZGLDB4RjMsCi0weEZGLDB4RkYsMHhGNSwweEY5LDB4RkYsMHgzRiwweEZGLDB4RkYsIDB4RjAsMHg5QSwweEZGLDB4QkUsMHg3RiwweEZGLDB4RkMsMHhGOSwKLTB4RkYsMHhGRCwweEFGLDB4RUIsMHhGRSwweEJGLDB4RkYsMHhDRiwgMHhGMywweEZFLDB4N0YsMHhGRiwweEZGLDB4NUIsMHhCRCwweEZGLAotMHhCQywweEVCLDB4RkYsMHhENywweEQ0LDB4QUYsMHhBRiwweEZELCAweEZGLDB4Q0YsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RjcsCi0weEZELDB4RkUsMHhGRiwweDZGLDB4RkYsMHhGQiwweEZGLDB4RkYsIDB4RkYsMHhGRCwweDdGLDB4NUUsMHhGRCwweEJGLDB4REIsMHhGNiwKLTB4RkQsMHhCRiwweDZGLDB4RkIsMHhFRSwweEZELDB4RkYsMHg3QSwgMHhGRiwweEZBLDB4RkIsMHhGRiwweDNGLDB4RkIsMHhCNywweDVGLAotMHhENiwweEY3LDB4MUYsMHg3MSwweERDLDB4NzcsMHgxRCwweEM3LCAweDMxLDB4REMsMHg3NywweERGLDB4RjksMHhCRiwweEY1LDB4NUIsCi0weEY0LDB4RDcsMHg5RCwweEFFLDB4RkYsMHhCRiwweEZELDB4QkYsIDB4REIsMHhGNiwweEZELDB4QkYsMHg2RiwweERCLDB4RjYsMHhGRSwKLTB4M0QsMHg4MSwweEZGLDB4RUIsMHhGRSwweEZFLDB4RkUsMHhGRiwgMHhFQiwweDdBLDB4REYsMHg3RCwweDc3LDB4N0QsMHhGNSwweDc5LAotMHhERiwweDU3LDB4REQsMHhGNSwweDdELDB4N0UsMHhFNiwweEZGLCAweEQ2LDB4M0YsMHhCRiwweDdGLDB4RkYsMHhENCwweEY1LDB4M0YsCi0weEJGLDB4RkIsMHhCRSwweEVGLDB4QjMsMHhFRSwweEZCLDB4OUUsIDB4RUYsMHhCQiwweEZFLDB4OEIsMHhGRiwweEZFLDB4REYsMHhCNywKLTB4RUQsMHhGRiwweEY3LDB4RkQsMHhGRSwweEZGLDB4RUYsMHhCQiwgMHhFRSwweEZGLDB4QkUsMHhFRiwweEJCLDB4RUUsMHhFQiwweEZDLAotMHgxRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RTcsMHhGRiwweEY3LCAweEZELDB4RkYsMHhFRiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEVCLDB4RkEsMHgxRiwweEZGLDB4QjcsIDB4RUYsMHg1QiwweEZFLDB4RkYsMHhBRiwweEVCLDB4REQsMHhFNywKLTB4REUsMHg3NywweDlELDB4RTcsMHg3OSwweERFLDB4NzcsMHg5RCwgMHhCRiwweEU2LDB4NkYsMHhGRiwweEZFLDB4RkYsMHhCRiwweEVGLAotMHhGQiwweEZFLDB4RkQsMHhCRiwweDZGLDB4RjYsMHhGRCwweEJGLCAweDZGLDB4REIsMHhGNiwweEZELDB4QkYsMHhGRiwweDdFLDB4RkYsCi0weEZGLDB4RkIsMHhGRSwweEZFLDB4RkYsMHhFRiwweEZCLDB4RkQsIDB4RUYsMHg3RSwweEY3LDB4QkQsMHhFRiwweDdCLDB4REUsMHhGNywKLTB4QkQsMHhFRiwweEZGLDB4RDUsMHhGRiwweEJGLDB4RkYsMHhFRiwgMHhGRSwweEZGLDB4RkMsMHgzRiwweDBGLDB4RTcsMHhGRSwweDdGLAotMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywweEZFLCAweEYzLDB4RkYsMHhGRSwweERGLDB4QUQsMHhERiwweDY3LDB4RUUsCi0weEZCLDB4QkYsMHhFRiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGRiwweDIzLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweDdGLDB4RkYsMHhGMywweEJDLDB4REIsMHhGRSwgMHhGQiwweEZGLDB4RkIsMHhCRSwweEY3LDB4RkIsMHhGRiwweDdGLAotMHhERiwweEZGLDB4Q0YsMHhGQiwweEZGLDB4OUYsMHhFMywweEY5LCAweEJFLDB4M0YsMHg4RiwweEU3LDB4NzksMHhGRiwweDlELDB4RTcsCi0weEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4NUYsIDB4RkYsMHhDRiwweEY3LDB4RkYsMHhGRiwweEZGLDB4REYsMHhGNywKLTB4RkUsMHg3RiwweEU3LDB4RjksMHhGRSwweDdGLDB4RkYsMHhGRiwgMHhGQiwweEZFLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhCRiwweEJGLAotMHhGRiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkYsMHhGRCwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZELDB4RkYsCi0weEZGLDB4M0YsMHhGRiwweEJGLDB4RkYsMHhGNywweEZGLDB4RkYsIDB4N0YsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEU4LDB4RUYsMHhGRiwgMHg1RiwweEY3LDB4QkYsMHhGOSwweEZFLDB4REYsMHhCNywweEZELAotMHhGRiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LCAweEZELDB4RkYsMHhERCwweEZGLDB4RjIsMHhGRiwweEJGLDB4RkYsCi0weEZGLDB4QkYsMHhGRiwweEZGLDB4MkYsMHhGMiwweEZGLDB4QkYsIDB4MkYsMHg3QiwweEQyLDB4RjcsMHhCRiwweDJGLDB4RkYsMHhCQiwKLTB4RkYsMHhFRSwweDhGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHgzRiwgMHhBNywweDY5LDB4Q0UsMHg4RiwweEE0LDB4RUEsMHhGQSwweEVFLAotMHhCNywweEFFLDB4RUIsMHhGRCwweEM3LDB4RkYsMHhGNywweEY3LCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3RiwweDNFLDB4RjMsCi0weDc0LDB4RkYsMHgzRiwweDRGLDB4RkYsMHhFNywweEZGLDB4M0YsIDB4RkUsMHhBNywweEZGLDB4RkYsMHhERiwweEY3LDB4QjcsMHhGRiwKLTB4RjcsMHhGRiwweEJBLDB4RUYsMHgzNywweEVCLDB4RkIsMHhGRSwgMHhCRiwweEZCLDB4RkUsMHhGMywweEZGLDB4RjksMHhERiwweEZGLAotMHhCRiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLCAweEZELDB4REYsMHhGRiwweEZELDB4RkYsMHhGRiwweEZCLDB4RkUsCi0weEZELDB4RkYsMHhGQiwweEJGLDB4RkUsMHgzRiwweEVELDB4RkYsIDB4REYsMHhCRSwweDNELDB4QTcsMHhGQiwweEZBLDB4M0YsMHhFNiwKLTB4RTEsMHhGRSwweEZFLDB4M0YsMHhFRiwweEUzLDB4REYsMHhGNSwgMHg3RiwweEZFLDB4RkYsMHg3RSwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhFRiwweDZGLDB4RjYsMHhGRiwweDdELDB4RUYsMHhENywweERFLCAweEZGLDB4N0QsMHhFRiwweEZGLDB4RjIsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdCLDB4REUsMHhGQiwweEU2LDB4RUUsIDB4RUYsMHgzNywweDZFLDB4RjMsMHg3RSwweEVCLDB4MzcsMHhFRiwKLTB4RkYsMHhDMSwweEZGLDB4RkUsMHhGRiwweEY3LDB4RUYsMHhGRiwgMHhGRiwweEZGLDB4QkYsMHgzRiwweEQyLDB4REYsMHhCRiwweDJGLAotMHg3QiwweEUyLDB4RkYsMHhGRSwweDNCLDB4QkQsMHhEQiwweEZGLCAweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RkUsCi0weEZGLDB4RkIsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZCLDB4REYsIDB4RkYsMHhCRiwweEZGLDB4QjcsMHhGRiwweEZGLDB4QkYsMHhFRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4MEYsMHhGRiwgMHg3RiwweEZGLDB4MUYsMHhFRiwweEYxLDB4RkQsMHhGRiwweEY2LAotMHhBRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZGLCAweEZGLDB4RkYsMHhGRSwweDlGLDB4RkYsMHhGRiwweEZGLDB4NzcsCi0weEVGLDB4RjcsMHhGQiwweEZGLDB4RkUsMHg1RiwweEZGLDB4RkYsIDB4QkYsMHhDRiwweEZCLDB4RjcsMHhERCwweEY3LDB4RjUsMHhGRiwKLTB4NUYsMHhENSwweEY1LDB4RkQsMHg3RiwweDVGLDB4RDcsMHhGNSwgMHhGRiwweEZCLDB4MEYsMHhGRiwweEZGLDB4QTksMHhFQSwweDdBLAotMHhGRiwweEFGLDB4OEYsMHhGRSwweERGLDB4QUYsMHhFRiwweEZCLCAweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhERiwweEU1LDB4NUYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRCwweDU3LDB4RkYsIDB4RkYsMHg2RiwweDc3LDB4QkYsMHhGNywweEZCLDB4RkYsMHg3RiwKLTB4QkYsMHhGNywweEZGLDB4RkMsMHhCRiwweEZGLDB4OUYsMHhGRiwgMHhGRiwweEVGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweDFGLAotMHhDRiwweEZGLDB4RkMsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLCAweDY1LDB4QUYsMHhGMywweDdDLDB4RkYsMHgzRiwweERGLDB4RkYsCi0weEZELDB4RTksMHhGRSwweDdGLDB4RTcsMHhGRiwweEZFLDB4N0YsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEUzLDB4REYsMHhGQiwKLTB4REIsMHhGNiwweEZELDB4RUYsMHg1QiwweEZCLDB4RkYsMHhERiwgMHhGQywweEZGLDB4M0YsMHhERiwweEYzLDB4RkQsMHhGRiwweDdGLAotMHhERiwweEVGLDB4NjYsMHhGRiwweERGLDB4QUQsMHhFQiwweDdBLCAweERFLDB4RjcsMHhGNywweEU3LDB4RDksMHhGRCwweDlGLDB4NjcsCi0weEQ5LDB4RjYsMHg3RCwweDlGLDB4RTcsMHhERiwweEY1LDB4NDcsIDB4RkQsMHg2NSwweDVCLDB4RDYsMHhGNCwweEZFLDB4RkYsMHhFRiwKLTB4RkYsMHg2RCwweEY2LDB4REQsMHhCNywweDZELDB4REIsMHg3NiwgMHhEQywweEI3LDB4N0QsMHhGQSwweDlCLDB4RjYsMHg2RCwweDlELAotMHg2NywweDU5LDB4REYsMHhGNywweERELDB4RkYsMHhFQiwweEZFLCAweEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEFGLDB4RTMsCi0weEQxLDB4OUYsMHhGRiwweEJELDB4QkYsMHhFRiwweEZFLDB4RjcsIDB4QkYsMHhCRiwweEY3LDB4RDcsMHg3RiwweERELDB4RjcsMHg5RCwKLTB4REYsMHg3RiwweERGLDB4RjcsMHhGRiwweEUwLDB4N0YsMHhGRCwgMHhDMSwweERGLDB4RjcsMHhGRCwweEM3LDB4N0YsMHg3RiwweEZCLAotMHhGRiwweEJCLDB4RUMsMHhGQiwweDNFLDB4RkYsMHhCRiwweEVDLCAweEZCLDB4RkYsMHhEOCwweDdGLDB4QkYsMHg2QywweEZGLDB4QkUsCi0weEZGLDB4QkYsMHhFRCwweEZGLDB4RUYsMHhGRSwweEZCLDB4QkYsIDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVFLDB4RkYsMHhDNSwKLTB4RkYsMHhBRiwweDZGLDB4RkYsMHhGQywweEZELDB4M0YsMHhFNywgMHhGRiwweEZFLDB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLAotMHhFRiwweEZCLDB4RkUsMHhCRiwweDg5LDB4RkUsMHhGQSwweEJBLCAweEZFLDB4QkYsMHhBRiwweEZCLDB4RjYsMHhGNSwweEQ5LDB4N0QsCi0weDk3LDB4NjUsMHhEOSwweDc0LDB4NUQsMHg5NywweDY1LDB4RDMsIDB4RkUsMHhENiwweEZGLDB4QkYsMHhGNywweEZELDB4RkYsMHg3RiwKLTB4QkYsMHhDRiwweEZCLDB4RkUsMHhGRiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLDB4RjYsMHg4RiwweEZCLAotMHhGRiwweEVGLDB4RkIsMHg3RSwweERCLDB4RkUsMHhGRiwweEJFLCAweEVGLDB4RUUsMHhGQiwweEJFLDB4RUYsMHhCQiwweEVFLDB4RkIsCi0weEJFLDB4RkYsMHhGRiwweERGLDB4RkYsMHg0MywweEZGLDB4RkYsIDB4RkIsMHhFRiwweDVGLDB4QjcsMHhGRSwweDdGLDB4RTcsMHhGOSwKLTB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHhGOSwgMHhCRiwweEZFLDB4QUYsMHg3NywweEZELDB4RkYsMHgyRiwweEFGLAotMHhBNywweEZFLDB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLCAweEVGLDB4RkIsMHhGRSwweEZGLDB4RjEsMHg3RiwweEVGLDB4REYsCi0weEZGLDB4OTcsMHhGNSwweEVGLDB4RkYsMHhERiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwKLTB4RkYsMHhFMCwweEZGLDB4RkYsMHhGOSwweEZFLDB4MkYsMHg4QiwgMHhFMywweEY4LDB4QkUsMHg3NywweDlGLDB4RjksMHhEQSwweDc3LAotMHg5RCwweEU3LDB4NzksMHhERSwweDc3LDB4OUYsMHhERCwweEZGLCAweEZELDB4RkQsMHg3RiwweDVGLDB4RDcsMHhGRCwweEZGLDB4N0YsCi0weEU3LDB4RkUsMHg3RiwweDk3LDB4RTcsMHhGQiwweEZFLDB4RkYsIDB4QkYsMHhFRiwweEZGLDB4QUIsMHhGRiwweEVGLDB4RkEsMHhGRSwKLTB4QkYsMHhBRiwweEZGLDB4RkEsMHhGRiwweEZGLDB4REYsMHhGRiwgMHhGQiwweEZGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEZGLAotMHg2NywweEZGLDB4RjcsMHhGNSwweEZGLDB4RkYsMHhGRiwweERGLCAweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZGLDB4QkQsIDB4RUIsMHhGRiwweEZGLDB4RjcsMHhBRCwweEVCLDB4RkYsMHhERiwKLTB4RkQsMHhGRiwweDNGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwgMHhERiwweEZGLDB4NUYsMHhGRiwweEY3LDB4RkYsMHhGRiwweEZELAotMHhCRiwweEZGLDB4Q0IsMHhGNCwweEZGLDB4N0YsMHhEMywweEY3LCAweEZELDB4M0YsMHg3RiwweEQzLDB4RjcsMHhGRiwweEZDLDB4M0YsCi0weEZGLDB4RUEsMHhGQSwweEJFLDB4QUYsMHhBQiwweEVCLDB4QkEsIDB4RjQsMHg5NSwweDZCLDB4NTIsMHhENCwweEFELDB4MkYsMHg0QSwKLTB4RDIsMHhGNiwweEJGLDB4RDIsMHg3RiwweEY3LDB4M0YsMHhGRiwgMHhGRiwweEYzLDB4N0YsMHhGRiwweEZGLDB4RjcsMHhGRiwweEJBLAotMHhERiwweEZCLDB4RkQsMHhGRiwweEJGLDB4RkYsMHhGQiwweEZGLCAweEY4LDB4N0YsMHhFQSwweEZGLDB4RkUsMHhGRSwweERGLDB4RkYsCi0weEY3LDB4RkYsMHg3RiwweEJCLDB4RkYsMHhGRiwweEJGLDB4REYsIDB4RkIsMHhGRiwweEZGLDB4QkYsMHhGRiwweEIxLDB4N0YsMHhGRiwKLTB4RkIsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwgMHhDRiwweEZFLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGNywweEZGLAotMHhGRiwweEZGLDB4RjEsMHhGRiwweDY5LDB4QkUsMHhGQSwweEJGLCAweEFGLDB4RTIsMHhGRiwweEZFLDB4RkQsMHhBRiwweEYzLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkMsMHhGRiwweEZGLDB4MDcsIDB4RkQsMHg5NSwweERCLDB4REYsMHg3RiwweERGLDB4QUYsMHhGRiwKLTB4RjcsMHhBRiwweDM2LDB4RkUsMHhCRiwweDY1LDB4RUIsMHhGNiwgMHhGRSwweDlGLDB4NkYsMHhGRSwweDA3LDB4RkYsMHhDRiwweEZGLAotMHhGOCwweEZFLDB4RkYsMHhDRiwweEZGLDB4RjYsMHhGQSwweEU3LCAweEZCLDB4RkUsMHhGRiwweEJCLDB4RUQsMHhGOSwweEZGLDB4RkYsCi0weEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsMHg3NSwweEZGLDB4RUYsIDB4N0UsMHhGRCwweEUwLDB4RTgsMHg1RSwweEQzLDB4RTUsMHhGOSwKLTB4M0UsMHg1RiwweEQ3LDB4RjcsMHhGRiwweEZBLDB4MkYsMHhGQiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweDdGLAotMHg3RiwweEQ3LDB4RjUsMHg3RCwweDVGLDB4NTcsMHhENSwweEY1LCAweEVGLDB4RkYsMHhGMywweDdGLDB4RkMsMHg3RiwweEZGLDB4QzcsCi0weEYxLDB4RkYsMHhGRiwweDFGLDB4Q0YsMHhCMCwweEZGLDB4M0YsIDB4Q0YsMHhGMywweEZDLDB4RkYsMHgzRiwweENFLDB4RkYsMHhFNCwKLTB4RkYsMHhERiwweDdGLDB4RkUsMHhGNywweEJCLDB4RkYsMHhGRiwgMHhERiwweEVGLDB4RUUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLAotMHhCRiwweEJGLDB4RUYsMHhGRiwweEQxLDB4RkYsMHhGRiwweEZGLCAweEZELDB4RkIsMHhGRiwweEZELDB4RkYsMHhGQiwweDlGLDB4RTksCi0weEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4QkYsIDB4RkYsMHhCMywweEZGLDB4RkYsMHhGNywweEZGLDB4RkYsMHhBRiwKLTB4RjcsMHhGRiwweEI2LDB4M0YsMHhFQiwweEZBLDB4RkUsMHhCRiwgMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLDB4RkUsMHhBNywweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwweEZGLCAweEZFLDB4OUYsMHhGNywweEY5LDB4RkYsMHg3RiwweDlGLDB4RTcsCi0weEZGLDB4RkYsMHhGRSwweEFGLDB4NkYsMHhGRiwweEZGLDB4RkYsIDB4OUYsMHhGRiwweERGLDB4RkYsMHg3RCwweDVGLDB4REQsMHhGRiwKLTB4RkIsMHhCRiwweEU3LDB4QkIsMHhGRiwweEZCLDB4REYsMHg2RCwgMHg1RiwweDdFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhFQiwweEY3LDB4RkYsMHhFNywweEVGLDB4RjcsMHhGRiwweEZGLCAweDdGLDB4RkYsMHhGNywweEZGLDB4RkMsMHg4RiwweEZGLDB4RUYsCi0weEZELDB4RkUsMHhGRiwweEJFLDB4RjQsMHhGMiwweDdELDB4RDcsIDB4Q0YsMHhGRiwweDNGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhDRiwweDZCLDB4RkYsMHhCRiwweDNGLDB4RkIsMHhGMiwgMHhGQywweDdGLDB4RUIsMHhGRiwweDlGLDB4RkEsMHhGRiwweEZGLAotMHgzRiwweEZGLDB4RjMsMHhGRiwweEZGLDB4RkQsMHg3MCwweEY3LCAweEZGLDB4RkYsMHhCRiwweEZGLDB4RkIsMHhENywweEZFLDB4RjUsCi0weDc3LDB4RkYsMHgxNSwweERELDB4NzcsMHhGRCwweEZGLDB4N0YsIDB4REYsMHhGNywweEZCLDB4Q0QsMHhCRiwweEZGLDB4RkQsMHhGRiwKLTB4RkYsMHhERiwweDM3LDB4Q0QsMHhGOSwweEVDLDB4RkUsMHhFRiwgMHhCQiwweEY0LDB4RkIsMHgzRiwweDRGLDB4QjMsMHhGRiwweEZELAotMHhDQiwweEZGLDB4RTksMHg3RSwweDU0LDB4OUYsMHhFNSwweDRCLCAweEI3LDB4RkYsMHhERCwweDdELDB4QzcsMHg3MSwweERELDB4NzcsCi0weDVELDB4RDcsMHg3NSwweENELDB4N0YsMHhENiwweEZGLDB4RDMsIDB4RjYsMHhGOSwweDNGLDB4NkQsMHg5NSwweEFGLDB4N0YsMHhGRSwKLTB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwgMHhGRSwweEY2LDB4QzcsMHhGRiwweEFELDB4N0IsMHhDQSwweEZGLAotMHhCRiwweEJGLDB4RUYsMHhGRCwweEUzLDB4REYsMHhCNywweEVELCAweEZCLDB4N0UsMHhERiwweDM3LDB4RUQsMHhFMywweEZCLDB4REYsCi0weEZGLDB4NTIsMHg1QywweDE1LDB4RkQsMHhDRiwweDdGLDB4REYsIDB4RkUsMHhFRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFQywKLTB4N0IsMHhGRSwweEZGLDB4RkUsMHgzRSwweDdGLDB4REEsMHhGNywgMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkIsMHhFRiwweEJCLAotMHg2RiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLCAweEY3LDB4N0QsMHhGRiwweEQ4LDB4RkYsMHhGRCwweEJGLDB4N0YsCi0weEZCLDB4RkYsMHhGRiwweDlGLDB4RkIsMHhGRSwweDdGLDB4OUYsIDB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEVBLDB4N0YsMHhGNiwKLTB4QkYsMHhCRCwweDZBLDB4NUEsMHhGNiwweEU1LDB4QkYsMHg3NywgMHg1RiwweDZELDB4REQsMHg3NywweDVELDB4RDcsMHg3NSwweERELAotMHg3NywweEZGLDB4QTUsMHhCRiwweENGLDB4RkIsMHhGRiwweEZGLCAweEJGLDB4Q0YsMHhGQiwweEZELDB4RkYsMHhCRiwweEYzLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZELDB4QUIsIDB4RkYsMHhCRiwweEJGLDB4RkYsMHhGQiwweEZGLDB4N0YsMHhFRiwKLTB4RkYsMHhCRSwweEZCLDB4RUUsMHhGQiwweEJFLDB4RUYsMHhCQiwgMHhFRSwweEZCLDB4QkYsMHhGRiwweEI1LDB4RkYsMHhEMCwweEJDLAotMHhGRCwweDJGLDB4NEIsMHhGNywweEZGLDB4RkYsMHg5RiwweEY5LCAweEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4OUYsCi0weEZBLDB4OEYsMHhGRCwweEFCLDB4RkEsMHhEQSwweEJGLDB4QUYsIDB4QjMsMHhGRCwweEZGLDB4QkYsMHhGQiwweEZFLDB4RkYsMHhCRiwKLTB4RUYsMHhGQiwweEZFLDB4RjcsMHhCRiwweEZGLDB4OUYsMHhGRiwgMHg3NywweEY3LDB4QkQsMHhGRCwweDc3LDB4REYsMHhGRiwweDdFLAotMHhERiwweEVELDB4QkIsMHhGRSwweEZGLDB4QkUsMHhFRiwweEZCLCAweEZFLDB4RkYsMHhGQSwweDNGLDB4RkYsMHhCRSwweDZGLDB4OEYsCi0weEU2LDB4RjksMHhGRSwweDdGLDB4OUYsMHhDNywweEZFLDB4N0YsIDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGQiwKLTB4N0YsMHhGRiwweDdGLDB4Q0YsMHhGRiwweEZELDB4RkYsMHhGRiwgMHhERiwweEZCLDB4QUYsMHhCRiwweEVGLDB4RkYsMHhGRSwweEZGLAotMHg5RiwweEVGLDB4RkIsMHhGRiwweEZDLDB4RkYsMHhGQiwweEZFLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RjcsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRiwweDNGLDB4REYsMHhGNywKLTB4RkYsMHhGRiwweDdGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhGRiwgMHhGQiwweEZGLDB4RkYsMHhCRiwweEVGLDB4RkYsMHhCMywweDdGLAotMHhGRiwweDdCLDB4NUUsMHhGNywweEZELDB4RkYsMHg3QiwweDdGLCAweEY3LDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsCi0weERGLDB4RjcsMHhGRiwweDE3LDB4RkYsMHhGRiwweEZGLDB4N0YsIDB4RkYsMHhGRiwweERELDB4RjYsMHhGQywweEJGLDB4Q0IsMHhGMiwKLTB4QkMsMHhCRiwweDJGLDB4Q0IsMHhGMiwweEZDLDB4QkYsMHhGRSwgMHg4RiwweEZGLDB4RkEsMHg3RSwweEJGLDB4QTcsMHhFQiwweERBLAotMHhGQywweEJGLDB4QUYsMHg3QSwweEZFLDB4QkYsMHhBRiwweEVBLCAweEZBLDB4RkUsMHhCRiwweEFGLDB4RjQsMHhERiwweEZFLDB4RkYsCi0weEYzLDB4M0MsMHg3RiwweDNFLDB4RkYsMHhDRiwweEY4LDB4QkYsIDB4OEYsMHhFMywweEY4LDB4RkUsMHgzRiwweDhGLDB4RTcsMHhFOCwKLTB4RkYsMHhGQywweDlGLDB4RkYsMHhGRiwweENGLDB4RUIsMHhCMywgMHhFNywweEZCLDB4N0IsMHhGMywweEZFLDB4RkYsMHhDRiwweERCLAotMHhGQiwweEZCLDB4QkYsMHg2RiwweDZGLDB4REYsMHhFQywweDdGLCAweEZGLDB4RkYsMHhGNywweEZELDB4RkQsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4QjIsMHhCRiwweEZGLDB4REUsMHhGRCwweEJELDB4RUYsIDB4RkIsMHhGNiwweERGLDB4RUEsMHhFNywweERCLDB4RkUsMHhCQiwKLTB4RkYsMHhFQiwweEZCLDB4QkYsMHg5RiwweDhGLDB4RTgsMHhGRSwgMHgzRiwweDhGLDB4QTMsMHhGOCwweEZFLDB4M0YsMHg4RiwweEZGLAotMHhGOCwweDdFLDB4RkQsMHhGRCwweDdGLDB4RkYsMHhGQiwweENELCAweEZGLDB4RkQsMHhGRiwweDVGLDB4RUYsMHhGRCwweEZGLDB4RkYsCi0weERGLDB4RjcsMHhGRCwweEZGLDB4QkUsMHg5MCwweEZGLDB4RkYsIDB4RUUsMHhGRiwweDNGLDB4QkYsMHhGMywweEJCLDB4RkUsMHhCNywKLTB4QUIsMHhGQSwweEZFLDB4QUYsMHhBRCwweEVBLDB4RkEsMHhERSwgMHhBQiwweEZGLDB4NjMsMHhGRiwweEZFLDB4RjIsMHhGRiwweEIzLAotMHhGRiwweERGLDB4RUUsMHg3RCwweEZGLDB4MDMsMHhGMSwweEY0LCAweDNGLDB4MUYsMHhDMywweEYxLDB4RUMsMHg3RiwweEZFLDB4NkYsCi0weEZGLDB4RkIsMHhGQiwweEZGLDB4OUYsMHhGRiwweEJGLDB4RkYsIDB4N0IsMHg1RiwweEZELDB4RkYsMHhERiwweEY3LDB4RkQsMHhGRCwKLTB4N0YsMHg3RiwweERGLDB4RkUsMHhDRiwweEZCLDB4RkYsMHhGRiwgMHhBRiwweEZCLDB4RkYsMHgxRiwweEVGLDB4QTUsMHhGRCwweEJGLAotMHhERiwweEZCLDB4N0QsMHhGRiwweEJGLDB4REYsMHhGQiwweEZGLCAweEZELDB4M0IsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsCi0weEFGLDB4RjMsMHhGRiwweEZCLDB4N0YsMHhCRiwweEQ3LDB4RkIsIDB4QkYsMHg3RiwweEJCLDB4RjcsMHhGRiwweEY4LDB4N0YsMHhGRiwKLTB4RkEsMHg1RiwweEQ3LDB4RkYsMHhERiwweDdGLDB4RUYsMHhGRiwgMHhGRiwweDdGLDB4REIsMHhGNywweEZELDB4RkYsMHg3RiwweERGLAotMHhCNywweEZCLDB4RUMsMHhGRiwweEZGLDB4RjcsMHhCRiwweEVGLCAweEZELDB4RkMsMHhGQiwweEZGLDB4RUYsMHhGMCwweEZFLDB4M0YsCi0weDhGLDB4RTMsMHhGOCwweEZFLDB4M0YsMHg4RiwweEVGLDB4OEQsIDB4RkYsMHhGRiwweEVGLDB4N0YsMHhCRiwweEZGLDB4RkIsMHhGRiwKLTB4REIsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhFRiwweEQ4LDB4RkYsMHgyRSwweDdGLAotMHhCRSwweEVGLDB4RkUsMHg2RSwweEZGLDB4QkYsMHhGOSwweEZGLCAweEZGLDB4RjMsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZDLDB4NjYsMHhCRSwweDQ3LDB4RjMsMHg3RiwweERGLDB4RkUsIDB4ODcsMHg5RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEQ2LDB4NkYsMHg3QywgMHhGQiwweDRGLDB4RDIsMHhGRiwweEZELDB4MkIsMHhGRSwweEZGLAotMHhGRiwweEZELDB4NUYsMHhENywweEQ1LDB4RjUsMHg3RCwweEZGLCAweEZGLDB4RkYsMHhCRiwweDlCLDB4RkYsMHhGRiwweERGLDB4QjcsCi0weEZGLDB4RkYsMHhERiwweEZGLDB4M0YsMHhDRiwweEZFLDB4N0YsIDB4QkYsMHhFRiwweEZCLDB4RkMsMHhGRiwweDNGLDB4RkYsMHhEOSwKLTB4QkYsMHhGRSwweDk3LDB4RUMsMHg4RiwweEI3LDB4RkUsMHg5QiwgMHg3RCwweEZELDB4QjcsMHhERCwweDc3LDB4MUQsMHhDNywweDcxLAotMHhERCwweDc3LDB4NUQsMHhENywweEYzLDB4NkYsMHhGRCwweDNGLCAweDczLDB4REQsMHhBRiwweEZELDB4N0EsMHhGRiwweEZGLDB4QUYsCi0weEZFLDB4RkQsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsIDB4RUYsMHg2NiwweDdGLDB4RkYsMHhGRiwweEJGLDB4QkYsMHhGRiwKLTB4RkIsMHhGRiwweEY3LDB4REYsMHhGRCwweEZCLDB4N0QsMHhERiwgMHhCNywweENELDB4RjMsMHg3QywweDVGLDB4M0YsMHg5MSwweDNGLAotMHhGRiwweDNELDB4RUYsMHg3QiwweEZGLDB4RkMsMHhGRiwweENBLCAweEVGLDB4RkUsMHhGRiwweEJELDB4RUYsMHhGQiwweDFFLDB4RTcsCi0weEJCLDB4RUMsMHg3RiwweEIzLDB4RkYsMHhGRCwweDlGLDB4RkYsIDB4RkYsMHhGRSwweEZGLDB4RkYsMHg3RiwweEJGLDB4RkIsMHhGRSwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHhFRSwweEZCLDB4QkYsMHhERiwgMHg2NywweEZGLDB4RkYsMHhCRiwweEVGLDB4REIsMHhGRiwweEJDLAotMHhGRSwweDdGLDB4RkIsMHhGRiwweDlGLDB4RUYsMHhGOSwweEZFLCAweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg4NywweEZGLDB4RUUsCi0weEZCLDB4QkUsMHhFNSwweEJGLDB4RUYsMHhGOSwweEQ3LDB4NjUsIDB4RjcsMHhERCwweEU3LDB4N0QsMHhERiwweDc3LDB4NUQsMHhENywKLTB4N0YsMHhGOCwweDlCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwgMHhGRiwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkYsMHg3RiwweENGLAotMHhGMywweEZDLDB4RkYsMHhCRiwweEVGLDB4RkYsMHhEQiwweDNGLCAweEVGLDB4RkIsMHhGRSwweEZGLDB4REYsMHhGRiwweEZFLDB4RkIsCi0weEJCLDB4RUYsMHhCRiwweEVGLDB4QkIsMHhFRSwweEZCLDB4QkUsIDB4RUYsMHhCQiwweEZGLDB4RkMsMHg3RiwweEZELDB4M0IsMHg1QiwKLTB4RDYsMHhFNSwweEZELDB4NEYsMHhDMywweEZCLDB4RkYsMHhCRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLAotMHhCNCwweEZGLDB4RkEsMHhCQywweDhGLDB4QjIsMHhFOSwweEQyLCAweDJFLDB4Q0YsMHhGQiwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkYsMHhFQywweEZGLDB4RkQsIDB4RkQsMHg3RiwweERGLDB4RjcsMHhFNCwweERGLDB4NUYsMHhGRiwKLTB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4QzMsMHhGRiwweEVGLDB4RTYsMHhGOCwweEZFLAotMHgzRiwweDhCLDB4ODMsMHhGOSwweEZFLDB4N0YsMHhFNywweEY5LCAweEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4MTcsCi0weEZELDB4RkYsMHhGRiwweEZGLDB4N0YsMHg1RiwweEY3LDB4MkMsIDB4RkYsMHhGRiwweEZGLDB4RkUsMHg3RiwweEZGLDB4RTcsMHhGOSwKLTB4RkUsMHg3RiwweDlGLDB4RkUsMHgyRiwweEZGLDB4RkYsMHhFRiwgMHhGRiwweEZFLDB4QkYsMHhFRiwweEFELDB4RkYsMHhGRiwweDdGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZFLDB4REYsMHhGRiwweERGLDB4RkYsMHhGRCwweEZELDB4N0YsCi0weERGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZBLDB4M0YsMHhGRSwKLTB4RjcsMHhGRCwweEVGLDB4N0EsMHhGRiwweEIxLDB4QkQsMHhGRiwgMHg3RiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywweEZELAotMHhGRiwweDdGLDB4RjMsMHgyNywweEZGLDB4REYsMHhGRiwweERELCAweEZGLDB4RkMsMHg5QiwweEZGLDB4Q0IsMHhGQywweEJGLDB4MkYsCi0weENCLDB4RjIsMHhGQywweEJGLDB4MkYsMHhDOSwweEZGLDB4REUsIDB4RkYsMHhERiwweEFGLDB4RUIsMHhEQSwweEZFLDB4QkIsMHhBRiwKLTB4RUIsMHhGOCwweEY3LDB4QUYsMHhFOCwweEZBLDB4RkUsMHhCRiwgMHhBRiwweEVCLDB4RjIsMHhGRiwweEZELDB4RkYsMHhGRiwweEVGLAotMHhCRCwweEQ3LDB4QkYsMHhGRiwweEZGLDB4REUsMHg4RiwweEI4LCAweERFLDB4MzcsMHg4RCwweEEzLDB4NzgsMHhEQSwweDNGLDB4OEYsCi0weEZGLDB4QTEsMHhGRiwweEZGLDB4RkIsMHhGQiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEE3LDB4QkQsMHhGQiwweDc2LDB4RkQsMHhCRiwKLTB4RUYsMHhEQiwweEZFLDB4QkIsMHhCRiwweEZFLDB4MjcsMHg3RiwgMHhGRiwweEZFLDB4RkUsMHhGRCwweEY1LDB4RkYsMHhFRiwweEY1LAotMHhERiwweDFGLDB4RTcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LCAweEZELDB4RkYsMHhGRiwweENELDB4RkQsMHhBRSwweEZGLDB4RkEsCi0weDNFLDB4M0YsMHhBQiwweEZELDB4RjgsMHg3RSwweDhGLDB4RTMsIDB4RjgsMHhGRSwweDNFLDB4OEYsMHhFMywweEY4LDB4RkYsMHhGRSwKLTB4MUYsMHhFRiwweERGLDB4QkYsMHhGRSwweERFLDB4REYsMHhEOSwgMHhGRiwweERGLDB4QkMsMHhGRiwweEZGLDB4N0YsMHhGRiwweEVGLAotMHhGRCwweDdGLDB4REYsMHhGNywweEY5LDB4M0YsMHhGRSwweEZGLCAweEZGLDB4NkYsMHhGRSwweERFLDB4QkYsMHhGNywweEVELDB4RUEsCi0weEZELDB4OEYsMHg4MywweEY4LDB4RUEsMHgzRiwweDhGLDB4RUYsIDB4RkYsMHhGNCwweDdGLDB4RkYsMHhFRiwweEVGLDB4N0IsMHhGMywKLTB4RjEsMHg1RiwweEZGLDB4RkYsMHhGMSwweDNCLDB4N0YsMHhERiwgMHhGNywweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMCwweEZGLAotMHhGRiwweEZGLDB4RjcsMHhGRiwweDZGLDB4RkYsMHg3RiwweEZGLCAweEZGLDB4RjcsMHhERSwweEY3LDB4QkYsMHhFRiwweEZCLDB4RjcsCi0weEZELDB4RkYsMHhGRiwweEY1LDB4RkEsMHhGRiwweEZGLDB4RkIsIDB4RTcsMHhGRiwweEYzLDB4RjgsMHg3RiwweEYzLDB4REYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4MUYsMHhFRiwgMHhCQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELAotMHhGRiwweDdGLDB4RkYsMHg5RiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweENGLDB4RkYsMHgzNywweEZGLDB4RkYsCi0weDdGLDB4REYsMHg3NywweDVELDB4RTcsMHhGQywweEZGLDB4QkYsIDB4RjcsMHhGNSwweEZCLDB4RkYsMHhGRiwweEQ3LDB4RjUsMHhGQiwKLTB4RkYsMHhGRiwweDQ1LDB4RkQsMHg3RiwweEVBLDB4RkQsMHhCRSwgMHhCRiwweERGLDB4RjcsMHhGRiwweEZGLDB4REIsMHhGQiwweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGQiwweDVGLCAweDdGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkUsMHhGRiwweEVGLDB4RkQsMHhGRiwweDdGLDB4REYsIDB4RkYsMHhFRiwweEZCLDB4RjgsMHgwRiwweEYzLDB4RkYsMHhGOSwKLTB4MkUsMHhGQiwweEZFLDB4RkMsMHhGMywweEVGLDB4RkYsMHhGRiwgMHhCRiwweEZGLDB4RkIsMHhFNywweEZGLDB4RkUsMHg3RSwweEZGLAotMHhDMCwweDZCLDB4Q0YsMHhGRiwweDM0LDB4REYsMHhGMSwweEZELCAweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhERiwweEY3LDB4RkQsCi0weENGLDB4N0YsMHg5QywweEZELDB4RkQsMHg2QywweEY3LDB4RkYsIDB4RjYsMHhGRCwweEVCLDB4MkIsMHg5RiwweEZGLDB4RkMsMHhGRSwKLTB4N0UsMHhGRiwweEZGLDB4RkYsMHhGRiwweEQ3LDB4RjMsMHhGNywgMHhGRiwweEZCLDB4RTEsMHhCRiwweEZGLDB4RUIsMHg3QSwweERFLAotMHhENywweEZCLDB4RkYsMHhGOSwweEZFLDB4RkYsMHhGRiwweEYzLCAweERFLDB4N0YsMHhGRCwweEU3LDB4N0YsMHhGRiwweEZELDB4QkIsCi0weEZGLDB4RkYsMHg3RSwweENDLDB4RjYsMHhBRiwweDVGLDB4N0YsIDB4RkUsMHhGNCwweDdELDB4RjcsMHhGRCwweEJCLDB4NkUsMHhEQiwKLTB4QjcsMHhGRiwweEY3LDB4REYsMHg2NiwweEZGLDB4RkYsMHhGNywgMHgzRCwweENGLDB4REUsMHhCRCwweEZGLDB4RkYsMHhERSwweERCLAotMHg4RCwweEY3LDB4N0UsMHhERiwweEI3LDB4RUYsMHg3RiwweEZGLCAweEY2LDB4ODcsMHhGRiwweEZGLDB4RUYsMHhGRSwweERFLDB4QkYsCi0weEZGLDB4RkYsMHhGRiwweEJCLDB4RUYsMHhGRCwweEZGLDB4N0IsIDB4REUsMHhGNywweDNGLDB4RkYsMHhCRiwweEZCLDB4REIsMHhGRiwKLTB4RjIsMHhCNiwweEZELDB4QkQsMHg3RiwweEU3LDB4RkYsMHhGRiwgMHhGRiwweDZGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRSwweDc3LAotMHhGRiwweEJGLDB4RjgsMHhBRiwweEZGLDB4REYsMHhCRiwweEZGLCAweEJGLDB4N0YsMHhGQiwweEZGLDB4RkYsMHhGRiwweERCLDB4RkUsCi0weEZGLDB4QkYsMHhGRiwweEZBLDB4RkYsMHhGRCwweEZGLDB4RjYsIDB4N0YsMHhGRiwweDlGLDB4RkYsMHhGRiwweDNGLDB4RUYsMHhGOCwKLTB4RUUsMHg3RSwweDlGLDB4QkEsMHhGRSwweEJGLDB4OEYsMHhFRiwgMHhGRSwweEZFLDB4RjksMHhGRiwweEZBLDB4N0YsMHhGRSwweDdFLAotMHhCRiwweEFGLDB4RkIsMHg5NiwweEZELDB4OUYsMHhFRiwweDVFLCAweDY1LDB4QkUsMHhFRiwweDVCLDB4QjYsMHhGRiwweEJFLDB4RTMsCi0weEZGLDB4QjUsMHhCRiwweEZGLDB4RkQsMHhGRiwweDdGLDB4RkYsIDB4RUYsMHhERiwweEZFLDB4RkYsMHhCRiwweEZCLDB4RkUsMHhGRiwKLTB4QkYsMHhDRiwweEZGLDB4RkYsMHhGRiwweEZELDB4OUIsMHhGRiwgMHhGRSwweEZCLDB4RkUsMHhERiwweEZGLDB4N0YsMHhGRiwweEY3LAotMHhGRSwweEZGLDB4REYsMHhGQiwweEZCLDB4RkUsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEI3LDB4RkUsMHhGQSwweEZGLDB4QUIsCi0weEVGLDB4RkYsMHhGRCwweEI1LDB4N0IsMHg3RiwweEZCLDB4RjcsIDB4RkQsMHhGRiwweEZGLDB4REQsMHhGRiwweEVGLDB4OEYsMHhGRiwKLTB4MkYsMHhGRiwweEZCLDB4N0MsMHhGRiwweDNGLDB4REYsMHg3MywgMHhFQiwweEZFLDB4M0YsMHhGRiwweEVGLDB4RkIsMHhGRSwweEZGLAotMHhFRiwweEZELDB4RkYsMHhCRiwweEZELDB4MEYsMHhGRiwweEZGLCAweEZGLDB4RjUsMHhGOSwweEZGLDB4N0YsMHhENywweEZELDB4RkYsCi0weERGLDB4RkYsMHhGNywweEZCLDB4RkYsMHg3RiwweEJGLDB4RkYsIDB4RkYsMHhGMCwweDlGLDB4RkYsMHhGRSwweDdGLDB4OEIsMHhFMywKLTB4RjksMHhERSwweDI3LDB4OUIsMHhFNiwweEJFLDB4N0YsMHg5QiwgMHhDMywweEY4LDB4REUsMHg3RiwweDlELDB4RTcsMHhGRSwweDdGLAotMHhGRiwweEZGLDB4NUYsMHhENywweEZGLDB4RkYsMHhGRiwweDRGLCAweEZCLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhBRiwweEZGLDB4OUYsCi0weDdGLDB4RkIsMHhGRiwweEU4LDB4RkYsMHhGRiwweEZFLDB4QkYsIDB4QUYsMHhGRiwweEZGLDB4RkUsMHhCRiwweEVGLDB4RjcsMHhGRiwKLTB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwgMHhGQywweEZGLDB4RkYsMHhGRCwweDdGLDB4RkYsMHhGRiwweEZGLAotMHhGRCwweDNGLDB4Q0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LCAweEZGLDB4RkQsMHg3RiwweEZGLDB4RkYsMHg5MywweEZGLDB4RkYsCi0weDdBLDB4REYsMHhGNywweEZGLDB4RkYsMHg3QiwweDdGLDB4QjcsIDB4RUYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEZELDB4RkIsMHhGRiwKLTB4RjcsMHhGRiwweEQ3LDB4RkYsMHhGRiwweEZGLDB4RkMsMHg5RiwgMHg2RiwweENCLDB4RkYsMHhGNCwweEJCLDB4REYsMHhENiwweEZELAotMHhCRiwweDJGLDB4RDMsMHhGNywweEZGLDB4REYsMHhGRiwweENGLCAweEZGLDB4RkEsMHhCRSwweEJELDB4QUYsMHg2QSwweERBLDB4QkUsCi0weEJCLDB4QUIsMHgzQSwweEJFLDB4MkQsMHhBRSwweEVCLDB4REEsIDB4RjYsMHgzRiwweEFELDB4RjUsMHhERCwweEZGLDB4Q0YsMHhGMSwKLTB4RkYsMHhGOSwweDdGLDB4RkYsMHg3MywweEZFLDB4RkYsMHhDRiwgMHhDMywweEY0LDB4RjcsMHgyRiwweEYzLDB4RkYsMHhGQywweEZGLAotMHg3QywweDFGLDB4RkYsMHgzRiwweDRGLDB4RkYsMHg3RSwweEZGLCAweEVGLDB4QkQsMHhGNiwweEZFLDB4RkYsMHgyQiwweEVGLDB4REMsCi0weEZCLDB4RkQsMHhGRiwweEZCLDB4RkYsMHhFQSwweDdCLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEY3LDB4REYsMHhGRiwKLTB4RTMsMHg3RCwweEZGLDB4QjcsMHhGRiwweEJGLDB4RkYsMHhGRiwgMHhERiwweEZGLDB4RjgsMHhGRiwweEJGLDB4RkYsMHhCRiwweEVCLAotMHhFNywweEZBLDB4RkUsMHgzRCwweEJGLDB4RTksMHhGQywweEJGLCAweEZGLDB4RkEsMHhGQiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RDksCi0weEZGLDB4RkYsMHhGRiwweEY2LDB4N0YsMHhGRiwweEY2LDB4N0QsIDB4RkYsMHhERiwweENGLDB4RkQsMHhCRiwweEZCLDB4RUYsMHg3RSwKLTB4RkYsMHg3RiwweEZGLDB4RkYsMHhEMywweEZGLDB4RkQsMHhGQiwgMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEJGLAotMHhGRSwweEZGLDB4RjcsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZCLCAweEZGLDB4ODcsMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weDdCLDB4RkUsMHhGRiwweEZFLDB4M0IsMHhGNywweEY3LDB4RkYsIDB4M0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4MEYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGNywgMHhGRiwweEZGLDB4QUQsMHhGRiwweEZFLDB4RjcsMHhGRiwweEZGLAotMHg1RiwweEZGLDB4RkYsMHhERiwweEZGLDB4RkQsMHhGRiwweEY1LCAweEZGLDB4REYsMHhGRiwweEJELDB4RkYsMHhFOSwweEZGLDB4QzcsCi0weEYzLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGMywweEZGLDB4RjgsIDB4M0IsMHhGRiwweEZGLDB4N0IsMHhERiwweEJGLDB4RkIsMHhFRiwKLTB4RkIsMHhGRiwweEZCLDB4RjcsMHhGNywweEJCLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkIsMHhGRiwweEZFLDB4N0YsMHhGMywweDdGLAotMHg1RSwweEI3LDB4QkYsMHhGRCwweDdGLDB4RkYsMHhGOSwweDdGLCAweEZCLDB4RkYsMHhFQiwweEZELDB4N0YsMHg3RiwweEZGLDB4RUYsCi0weEZCLDB4RTAsMHgzRiwweEZFLDB4QkYsMHhCRiwweERGLDB4RkYsIDB4N0UsMHhGRiwweEY3LDB4RkYsMHhGRiwweEZFLDB4QkYsMHhGRiwKLTB4REIsMHg3OCwweEZGLDB4RkYsMHhGRiwweEVFLDB4QTEsMHhCRiwgMHhGNSwweERFLDB4RkIsMHhGNywweEZGLDB4RkIsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4RDcsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhFRiwweEYwLDB4RkYsMHhGRiwweEZGLDB4RjMsCi0weEY3LDB4RkYsMHhFRiwweEZGLDB4RTcsMHhDRiwweEZGLDB4RkIsIDB4RkYsMHhFRiwweEZGLDB4RkYsMHg5RiwweDlGLDB4RUYsMHhGQywKLTB4MTYsMHhCRiwweEZFLDB4RjMsMHhFNCwweEZGLDB4RkYsMHhDNiwgMHhGRiwweEU3LDB4RkYsMHhGRiwweEZELDB4RkYsMHhCRiwweEZGLAotMHhGRiwweDNGLDB4RkYsMHhCRiwweEQ2LDB4QUYsMHg3RiwweEZFLCAweDZCLDB4N0UsMHg3RiwweEZGLDB4QUYsMHhGRiwweEZGLDB4QkYsCi0weEZGLDB4NUYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZFLDB4RkYsIDB4RkYsMHhCRCwweERCLDB4RkYsMHhGRSwweDVGLDB4RjIsMHhGRiwKLTB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhFRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERSwweEJGLAotMHhGRiwweEZGLDB4RUYsMHhGQiwweDc3LDB4RkUsMHhCRCwweDdGLCAweDVGLDB4RkYsMHhGRiwweEZGLDB4REYsMHg2RiwweEVELDB4RkYsCi0weEZELDB4RkYsMHg3RiwweEZELDB4NkYsMHhGRiwweEZGLDB4NzcsIDB4REEsMHhDRiwweEZELDB4NUYsMHhGRiwweEJGLDB4RkYsMHhGRiwKLTB4REYsMHg3RiwweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHg2NiwweDdGLDB4RkYsMHhGRSwweEJGLDB4RTcsMHhCRiwweEZBLAotMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGRiwweDU5LCAweEVGLDB4RkYsMHhFRiwweEZCLDB4N0YsMHg4OSwweEZGLDB4RkYsCi0weEU5LDB4RkYsMHg2RiwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweDdGLDB4RjIsMHhGNywweEZGLDB4RkYsMHhFRiwKLTB4RjgsMHg3RiwweEZCLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhEOSwgMHhGRiwweEVGLDB4QkIsMHhGRiwweEZGLDB4RkYsMHhCRiwweEVGLAotMHhERSwweEZGLDB4RkYsMHg5RiwweDdGLDB4REYsMHhGRiwweEY3LCAweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGRiwweEZGLDB4QUYsCi0weEZGLDB4RkYsMHhGNywweDNGLDB4RUIsMHg5RiwweEZFLDB4N0YsIDB4OUUsMHg3RiwweDlGLDB4RkUsMHg4NywweEZGLDB4RUQsMHhEQiwKLTB4NTYsMHhGRiwweEJGLDB4QUYsMHgwQiwweEQyLDB4RkYsMHhFRiwgMHhEQiwweDZFLDB4N0QsMHhCRCwweDZGLDB4RjgsMHhGRSwweDNGLAotMHhGQSwweDVCLDB4RkYsMHhGRCwweEJGLDB4RUYsMHhGRiwweEJGLCAweDZGLDB4REIsMHhFNiwweEZGLDB4RkYsMHgzRiwweEZGLDB4REYsCi0weEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhEQSwweDNGLDB4RkYsIDB4RkIsMHhGRSwweEZFLDB4RkYsMHhGRiwweERGLDB4RjcsMHhCRCwKLTB4RkYsMHhGRCwweEZGLDB4RkUsMHhGRiwweEZCLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RjEsMHg1RiwweEZELDB4OUYsMHhERiwweEZELAotMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweDc2LCAweEZBLDB4RkYsMHhGRiwweDdGLDB4RTMsMHhGOCwweEZGLDB4QUUsCi0weEZGLDB4RkIsMHg3RSwweDlELDB4NzMsMHhGRiwweEZBLDB4N0YsIDB4REYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZCLDB4Q0QsMHhGRiwKLTB4N0YsMHhFRiwweEZCLDB4RkYsMHhGRCwweEZGLDB4RjcsMHg3RiwgMHg3RiwweEVGLDB4RkYsMHhFRCwweEZGLDB4RkYsMHhGRiwweEI1LAotMHhGRiwweEJGLDB4RkYsMHhCRiwweEZELDB4RUYsMHhEQiwweEY3LCAweEZGLDB4OTMsMHhGRiwweEVGLDB4RTIsMHhGOSwweEJFLDB4N0YsCi0weDhCLDB4RTcsMHhGOSwweEZFLDB4NkIsMHhFNywweEY5LDB4RkUsIDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4NDcsMHhGRiwKLTB4RkYsMHhGRCwweEZGLDB4OUYsMHhGRiwweEQ3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RjUsMHhGRiwweDlGLDB4RkYsMHhGNywweEZFLAotMHhGRiwweEJGLDB4RkUsMHg2RiwweEZGLDB4RkYsMHhGQiwweEZGLCAweEZGLDB4RkYsMHhBRiwweEZGLDB4RkYsMHhGRiwweDdGLDB4RkIsCi0weEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsIDB4REYsMHhGRiwweEZGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhERiwKLTB4RkYsMHhGRiwweEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHg1RiwweEZCLDB4RkUsMHhGRiwweEY4LDB4MzcsMHhGRiwweEZGLAotMHhFRiwweEZGLDB4N0YsMHhGRSwweEJGLDB4RkYsMHhGRiwweEZFLCAweEJGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhCRiwweEZELDB4RkYsCi0weDdGLDB4RkEsMHg3RiwweEZGLDB4RkYsMHg2RiwweEZGLDB4RkYsIDB4N0QsMHhGRiwweENGLDB4RkYsMHhGRiwweEZGLDB4NEYsMHhGRiwKLTB4RjIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkEsMHhCRiwgMHhGRiwweEFFLDB4RUIsMHhGQSwweEZFLDB4QkIsMHhBRCwweEVCLAotMHhGQSwweEY3LDB4QUYsMHg2QiwweEZBLDB4RjYsMHhCRiwweDI1LCAweEU5LDB4RjIsMHg3RiwweDQ1LDB4RkYsMHhGRiwweEZELDB4RjcsCi0weEY3LDB4QkYsMHhGRiwweERGLDB4RkYsMHhGRiwweEJGLDB4RkIsIDB4RkYsMHhERiwweEYzLDB4RkYsMHhGNywweDNGLDB4Q0YsMHhGRiwKLTB4QTEsMHhGRiwweEZGLDB4QkYsMHhFNywweEZGLDB4RkYsMHg3RiwgMHhGRiwweDNELDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwweDJGLAotMHhGRiwweEZCLDB4RjUsMHg3RiwweEZFLDB4NTcsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsCi0weDNGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZELDB4RkUsIDB4RjcsMHhFRSwweEFGLDB4RkUsMHhFRSwweEU3LDB4RkEsMHhGRiwKLTB4RkUsMHg5RCwweEY5LDB4NUUsMHhGRSwweEZGLDB4RUIsMHhGRiwgMHhGRiwweERGLDB4QTcsMHhGRiwweEZGLDB4RkYsMHhGQywweERCLAotMHhGRiwweEZGLDB4RkYsMHg3RSwweEZCLDB4RkYsMHhGRiwweEVGLCAweEZCLDB4RkQsMHhGRiwweERCLDB4RkYsMHhGRiwweEZGLDB4RUYsCi0weEZGLDB4RkYsMHhGRiwweEZELDB4QkYsMHhGRSwweEJGLDB4RkYsIDB4NkYsMHg3RiwweEZGLDB4RjcsMHhGRiwweEZGLDB4RjksMHhGRiwKLTB4RjcsMHhGRiwweEJGLDB4REUsMHhGNywweEZGLDB4RkYsMHhGRiwgMHhGQSwweDdGLDB4RkQsMHhCRiwweDVGLDB4RkYsMHhGRiwweEJGLAotMHhGRiwweEVELDB4RkYsMHhGNywweEJGLDB4RkYsMHhGRiwweEVGLCAweEZGLDB4REYsMHhGRiwweEZGLDB4RkYsMHhFNiwweEZGLDB4RkIsCi0weDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUIsMHhGRiwKLTB4RkQsMHhGRiwweEY1LDB4RkYsMHhGNiwweDdGLDB4REYsMHhCRCwgMHhDRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGRiwweEZGLAotMHhGRiwweEY5LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEUzLCAweEZGLDB4RUUsMHhCRiwweEZGLDB4N0QsMHhFRiwweEZFLDB4RkYsCi0weEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFNywweEZGLDB4QjUsMHhBRSwKLTB4RkYsMHhGRiwweEI2LDB4RkUsMHhCRiwweEZGLDB4RkYsMHhCRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweDI3LDB4RkYsMHhFRiwweEZFLDB4N0YsMHhERiwweEZGLCAweDdFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRCwweEZGLDB4RjcsMHhGOSwweDlGLDB4RkYsIDB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3RiwKLTB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHgwRiwweEZGLDB4RTcsMHhCRiwweEZFLAotMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQywweEJGLCAweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4QzQsCi0weDZCLDB4RkYsMHgyOSwweDFGLDB4RkIsMHhBRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RUYsMHgxQiwweEZFLDB4RkYsMHhGQywKLTB4NkYsMHhGRiwweEZGLDB4RkQsMHg2QSwweEY3LDB4RDcsMHhGNSwgMHhCRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRSwweEJGLDB4RkYsMHhGRiwweEZBLDB4RkYsMHhGRiwweEY3LCAweEZCLDB4REQsMHhCRiwweEZGLDB4RTcsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweDdGLDB4RkYsIDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGNywweEZELDB4QjMsMHhFRiwKLTB4RkQsMHg3RSwweDVELDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwgMHhGRCwweDdGLDB4RDIsMHhGNSwweEZCLDB4N0UsMHhDQiwweEI3LAotMHhGRiwweEZGLDB4RkYsMHhDNiwweEZGLDB4RkQsMHhFRSwweDYzLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNiwweEZELDB4NjUsCi0weDVCLDB4REYsMHhGRiwweEQ1LDB4RkYsMHhGRiwweEZGLDB4RjYsIDB4RTcsMHhCRiwweEY3LDB4QTksMHhGRiwweEZGLDB4RUQsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhFQiwweEZGLDB4RkYsMHhGRiwgMHhBRiwweEZGLDB4RkYsMHhGRiwweEY4LDB4MUIsMHhGRiwweEUzLAotMHhEMCwweEJGLDB4RkYsMHhFMSwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RDcsMHhGRiwweEZGLDB4RkYsMHg1RiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhBRiwweEZGLDB4REIsMHg3NiwweEJGLDB4RkYsIDB4N0YsMHhGRiwweEJGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhFRiwKLTB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRiwweEJGLDB4RjIsMHg3RiwgMHhGRiwweDlGLDB4RkUsMHhCRCwweEZFLDB4N0YsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RjcsMHgzRiwweEVDLDB4N0YsMHhGNiwweDk1LDB4QkIsCi0weEVGLDB4RjgsMHhGRSwweEZDLDB4QkYsMHgyRiwweERBLDB4RkMsIDB4QkYsMHgyRiwweENCLDB4RjIsMHhGQywweEJGLDB4RUYsMHhGRiwKLTB4QTksMHhCRiwweENGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRSwgMHhERCwweEI3LDB4NkQsMHhGNiwweEQ5LDB4QjYsMHg2RCwweDlCLAotMHg3NiwweEQ5LDB4QkYsMHhGQiwweEZELDB4QTMsMHhGRiwweEJGLCAweEVGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweDdGLDB4REYsCi0weEZELDB4RUYsMHg3QiwweERFLDB4RjcsMHhGRCwweEVGLDB4N0YsIDB4RkYsMHhGRiwweDA1LDB4RkYsMHhGQSwweEZFLDB4N0YsMHhFRiwKLTB4RTMsMHhGRiwweEZGLDB4RkQsMHg3RiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweDVGLDB4RkYsMHhGRiwweEZELDB4N0YsMHhGQiwweEFGLAotMHhGRiwweDYzLDB4QzgsMHhGRiwweEJGLDB4RUYsMHhGRiwweEZGLCAweEZBLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRSwweDlGLDB4RjcsCi0weEZGLDB4RkEsMHhCRiwweEZFLDB4OUYsMHhGQiwweDdGLDB4RkYsIDB4RkYsMHhFRiwweEQ3LDB4RkYsMHhGRiwweEY1LDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4QkYsMHhGRiwgMHhGOSwweEJGLDB4RkYsMHhCRSwweDI3LDB4OUYsMHhFNywweEY5LAotMHhGRSwweDdGLDB4OEIsMHhFNywweEZFLDB4N0YsMHg5RiwweEUyLCAweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGMSwweDdGLDB4RkYsCi0weEZGLDB4RkYsMHhGQiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RDcsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRiwKLTB4RDcsMHhGRiwweEZBLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEFGLDB4RjcsMHhGRiwweEZGLAotMHhGRiwweEVCLDB4RkYsMHhGRiwweEZGLDB4QUYsMHhGRiwweEM0LCAweEZGLDB4RjcsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEQ3LDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFQiwweEZGLDB4RkIsMHg3QSwKLTB4REYsMHhGNywweEZELDB4RkYsMHhGRiwweEZFLDB4QkYsMHhGRiwgMHhGRiwweDdGLDB4RkYsMHhBRiwweEZGLDB4RkYsMHhGRiwweEY3LAotMHhFRiwweEUzLDB4RkYsMHhERCwweEQyLDB4RkYsMHhERiwweEZGLCAweEZGLDB4RjIsMHhGQywweEJGLDB4Q0IsMHhGNiwweEZELDB4QkYsCi0weDJGLDB4Q0IsMHhGRiwweDdGLDB4REYsMHhERSwweEFGLDB4RkYsIDB4REEsMHhFRSwweEJGLDB4QUYsMHhFOSwweEZBLDB4RjQsMHhCRCwKLTB4QUYsMHg1QSwweEFFLDB4QkIsMHhBQiwweDZCLDB4REEsMHhERSwgMHhCRiwweEFELDB4RDcsMHg1RSwweEZGLDB4RkYsMHhCRiwweEZDLAotMHhGRiwweERGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLCAweEY3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkEsCi0weDFGLDB4RkYsMHhGRSwweEZCLDB4RUYsMHhCRiwweEZELDB4RkYsIDB4RkQsMHhCRCwweDc3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHg5RCwKLTB4RUYsMHhGRiwweEZGLDB4RkYsMHhFRiwweDdELDB4RkYsMHhGQiwgMHhGRSwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVFLCAweEJGLDB4RTQsMHhGQiwweEZGLDB4RkUsMHgzRiwweEZFLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEFGLDB4RUEsMHhGRSwweEJGLDB4QUYsIDB4RUIsMHhGQSwweEZFLDB4RkYsMHhGRiwweEZGLDB4NTUsMHhGNiwKLTB4RkYsMHhGRSwweEY3LDB4RkYsMHg3RiwweEZGLDB4RUIsMHhGNywgMHg1RiwweEM1LDB4RkQsMHg3RiwweDVGLDB4RDcsMHhGNSwweEZGLAotMHg2RiwweEZCLDB4RkYsMHg4QSwweEZGLDB4RkYsMHhGRiwweEZGLCAweEVCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEJGLDB4QkYsCi0weEVGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsIDB4NzcsMHhERiwweEZCLDB4RkYsMHhGRCwweDdGLDB4RUYsMHhGRiwKLTB4RkYsMHhGRiwweEJGLDB4N0YsMHhGRiwweERGLDB4QkYsMHhGRiwgMHhGQiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RUYsMHhERiwweEZGLAotMHhGRSwweEZGLDB4OUYsMHhFRiwweDdELDB4RkYsMHhGNywweEZGLCAweDdGLDB4RkYsMHhGRiwweERGLDB4RjcsMHhGRCwweEZGLDB4RUYsCi0weERGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGQiwKLTB4RkQsMHhGRiwweEJGLDB4REYsMHhEMSwweEZGLDB4RjgsMHgzQiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHg3RSwweERCLDB4RkQsMHhGRiwweDc3LDB4REIsMHhCNywweDdELCAweEJGLDB4RkIsMHhGRiwweEY4LDB4N0YsMHhFRCwweDdCLDB4NUUsCi0weEZGLDB4RkUsMHhGRiwweEZGLDB4NEYsMHhENywweEZELDB4N0YsIDB4REYsMHhENywweEY1LDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RjIsMHgzRiwweEZFLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEJGLDB4RUYsMHhGRSwweEZGLDB4M0IsMHhFRSwweEZGLAotMHhGQywweEVGLDB4RkYsMHhGRiwweEZGLDB4ODUsMHhGRiwweEZELCAweEZFLDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRSwweEZGLDB4REYsCi0weEZCLDB4RkYsMHg1RiwweEJGLDB4RkYsMHhGRCwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEE4LDB4RkYsMHhGRiwweDlGLDB4OUUsMHhGRiwKLTB4RkYsMHhGRiwweDdGLDB4RjMsMHhGRiwweEZGLDB4Q0YsMHhGRiwgMHhGNywweEZELDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGQywweDE2LAotMHhCRiwweENGLDB4QTMsMHhFNSwweEVGLDB4N0YsMHhGRiwweEYzLCAweEU0LDB4RkYsMHhDRiwweDkzLDB4RkMsMHhGRiwweDNGLDB4Q0YsCi0weEZGLDB4RkYsMHhGRiwweEQ2LDB4MEYsMHg3RCwweEJGLDB4NkUsIDB4RkIsMHhGNCwweEZDLDB4QUYsMHg2RCwweERCLDB4NzcsMHhCNywKLTB4NkQsMHhEQiwweEY2LDB4RkQsMHhCRiwweEZGLDB4RkYsMHhGRiwgMHhCRiwweDlCLDB4RkEsMHhERSwweEI3LDB4QjcsMHhFRCwweEY5LAotMHg3RSwweEI3LDB4QUMsMHhFQiwweEQ2LDB4QjMsMHhBRCwweEVCLCAweDdBLDB4REYsMHhGRiwweEZGLDB4RkYsMHhEOCwweEJGLDB4RkYsCi0weEI3LDB4RUQsMHg5RiwweDZGLDB4REQsMHhGNywweDY4LDB4REIsIDB4MzcsMHhCMywweDZDLDB4REIsMHgzNiwweENELDB4QjMsMHg3RiwKLTB4RkYsMHg3RiwweEY1LDB4NkYsMHhGRCwweEVGLDB4NzksMHgzRCwgMHhGNywweDkzLDB4RTQsMHg3QSwweDlFLDB4QUQsMHhFQSwweDdBLAotMHg5RSwweEY3LDB4QkQsMHhFRiwweEZGLDB4RkYsMHhGRiwweDc2LCAweDdGLDB4RkIsMHhDNiwweEZGLDB4QkIsMHhFRiwweERBLDB4RkUsCi0weEZELDB4QkYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkYsMHhGRiwweEZCLDB4RkYsMHhBNSwweEZGLDB4RkQsMHhBQiwKLTB4NkYsMHg3OCwweERFLDB4MTcsMHg4RiwweDc5LDB4REYsMHhGRCwgMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHhGRiwweEZCLAotMHhGRiwweEZCLDB4RkYsMHhFRiwweEZCLDB4RUYsMHhGQiwweEZFLCAweEZGLDB4QkIsMHhEQSwweEYzLDB4RUYsMHgzQiwweENFLDB4RjMsCi0weEJDLDB4RUYsMHgzRiwweENGLDB4REYsMHhGRiwweEI3LDB4RkYsIDB4RkYsMHhGRiwweENGLDB4NzMsMHhGRiwweEJGLDB4RUYsMHhGRiwKLTB4RjMsMHhGRiwweDNGLDB4Q0YsMHhGMywweEZDLDB4RkYsMHgzRCwgMHhDRiwweDlGLDB4RkUsMHgwNywweEZGLDB4QUYsMHhFQiwweEZFLAotMHhGRCwweEJGLDB4RUYsMHhFQiwweEZBLDB4RkYsMHhBRiwweEVCLCAweEZBLDB4RkUsMHhCRiwweEFGLDB4RkIsMHhGRSwweDNGLDB4RkIsCi0weDlCLDB4RkYsMHg3RiwweERGLDB4RkYsMHhGMywweEZFLDB4RkYsIDB4REUsMHhGNywweEJGLDB4N0IsMHhERSwweEY3LDB4QkQsMHhFRiwKLTB4N0IsMHhGRSwweEZGLDB4RkYsMHhERiwweDNGLDB4RkUsMHhGRiwgMHhCNywweEZGLDB4RUYsMHhGNywweEZGLDB4QkYsMHhFRCwweEZFLAotMHhERiwweEI3LDB4RUQsMHhGQiwweDdFLDB4REYsMHhGRiwweEZGLCAweEZGLDB4RkQsMHg1RiwweEVGLDB4RUIsMHhGQSwweEZFLDB4RjUsCi0weEJGLDB4NkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGOCwweEZGLDB4QTgsMHhGRiwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHg2QSwweEZCLDB4QjcsMHhFRiwgMHhGQiwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLAotMHhFRiwweEZCLDB4RkYsMHhFMCwweEZGLDB4RkYsMHhGRCwweDdGLCAweDVDLDB4RDcsMHg3RCwweERGLDB4RjMsMHg1QywweEY1LDB4Q0QsCi0weDczLDB4NUUsMHhENywweEI1LDB4RkQsMHg3RiwweEVGLDB4RkYsIDB4REIsMHhGRiwweEZGLDB4RTIsMHhGOCwweEJFLDB4MkYsMHg4RiwKLTB4RTcsMHhGOCwweEJFLDB4NkIsMHhFMiwweEY4LDB4QkUsMHgyRiwgMHg4QiwweEUyLDB4RjksMHhGRSwweDdGLDB4RTcsMHhGRiwweEQ3LAotMHhGNSwweEZELDB4N0YsMHhGRiwweEY3LDB4RjUsMHhGRCwweDdGLCAweEQ3LDB4RjUsMHhGRCwweDdGLDB4NUYsMHhENywweEY1LDB4RkYsCi0weEZGLDB4RkYsMHg4RiwweEZGLDB4QUYsMHhFQiwweEZBLDB4RkYsIDB4RkYsMHhCRiwweEVCLDB4RkEsMHhGRiwweDJGLDB4RUIsMHhGQSwKLTB4RkUsMHhCRiwweEFGLDB4RUIsMHhGRiwweEZGLDB4RkUsMHg1RiwgMHhGRiwweDVGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwweEQ3LAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRSwweEI3LDB4RkQsCi0weEZGLDB4N0UsMHhERiwweEY3LDB4QUQsMHhGRiwweDdGLDB4RjcsIDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwKLTB4RjYsMHg3RiwweEZGLDB4RkYsMHhGRiwweERCLDB4RjYsMHhGQywgMHhBRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUMsMHhCRiwweEZGLCAweEFGLDB4RUIsMHhGQSwweEY2LDB4QUIsMHg4RiwweEVCLDB4RkEsCi0weEY3LDB4QTUsMHhFQiwweEZBLDB4QkUsMHhCRiwweEFGLDB4RUIsIDB4RkEsMHhGRiwweDZELDB4RkYsMHhGRiwweDdGLDB4REYsMHgzMywKLTB4REQsMHhGRiwweDdGLDB4RkUsMHhGNywweEZDLDB4N0YsMHhGQiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEE5LAotMHhGRiwweEZELDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweERGLCAweEZGLDB4RkYsMHhFRiwweEVGLDB4RkQsMHhGRiwweDdGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZFLDB4QTcsMHhGRiwweEZGLDB4RkYsIDB4NzcsMHhERiwweEY3LDB4RkQsMHg5RiwweDdGLDB4RkUsMHg3NywKLTB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEFGLDB4QkYsMHhBRiwweEZGLDB4RjksMHhCRSwweEJGLAotMHg4RiwweEZCLDB4RkUsMHhGRSwweEVGLDB4RkIsMHhGRSwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZGLDB4RkYsMHhGRCwweERGLDB4NkYsCi0weEVGLDB4RkYsMHg3RiwweEZGLDB4QkYsMHhCRiwweERGLDB4RkYsIDB4RkMsMHhGRiwweERGLDB4RjcsMHhGRCwweEVGLDB4N0YsMHhERiwKLTB4RkYsMHhGRiwweEZGLDB4M0YsMHhGNiwweEZGLDB4Q0YsMHhGRiwgMHhEQiwweEZCLDB4RjcsMHhGRiwweEVCLDB4N0EsMHhGRiwweEZGLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZFLCAweDZELDB4RkQsMHhGRiwweDVGLDB4RkIsMHhGRiwweEZGLDB4RjcsCi0weEZGLDB4NUYsMHhGNSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOCwweEZGLDB4RkIsMHhGRiwKLTB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTcsMHhGNiwgMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLAotMHhGRiwweEM5LDB4RkYsMHhGRiwweEZGLDB4QkQsMHhGRiwweEJGLCAweEFGLDB4RUYsMHhFRiwweDNGLDB4RDEsMHhGQywweDdGLDB4RkIsCi0weEM3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEUzLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLDB4NzcsMHhGRiwKLTB4REYsMHhCNywweEZELDB4RjcsMHhGRCwweEY3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHg1NywweEZGLDB4RjcsMHhBNSwweEZELAotMHgzRiwweERGLDB4QkYsMHhCRiwweEZFLDB4N0YsMHhGRiwweEZGLCAweEZGLDB4REYsMHhGQSwweEZELDB4RkYsMHhGRiwweEZGLDB4RkUsCi0weDg3LDB4RkYsMHhFOSwweEZGLDB4RkUsMHhFRiwweEJGLDB4RUYsIDB4RkUsMHhGRSwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQSwweDlGLDB4RkYsMHgzRiwgMHhGRiwweEZELDB4RkQsMHg1NywweERGLDB4RkQsMHhGMywweEZGLAotMHhERiwweEZELDB4RkYsMHg1RiwweERGLDB4RjUsMHhGRCwweEZGLCAweEZGLDB4RjksMHg4RiwweEZGLDB4RkYsMHhGRiwweEVFLDB4N0YsCi0weEZGLDB4RkYsMHhCRiwweDVFLDB4RkUsMHhFQywweEZCLDB4M0YsIDB4N0YsMHg5RiwweEVGLDB4RjksMHhGRiwweEZGLDB4Q0QsMHg2QiwKLTB4RkYsMHhGRiwweEZGLDB4QzUsMHhGMywweEZDLDB4RkEsMHgzOCwgMHhGRiwweEFGLDB4M0YsMHhFRSwweDdGLDB4OUYsMHhGRiwweEQ5LAotMHhGRiwweEZGLDB4RkQsMHg3QSwweEY3LDB4RkYsMHhGMywweEZGLCAweEFGLDB4NkYsMHhEQiwweEYyLDB4QjksMHhFOSwweEZCLDB4RkYsCi0weEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhFRiwweEZGLDB4RkIsIDB4QzUsMHhCRiwweEZGLDB4RUYsMHhGRiwweDVFLDB4QjcsMHhBRCwKLTB4Q0QsMHg3OSwweDdDLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4OTMsMHhGRiwweEVGLAotMHhFQSwweEZFLDB4QkYsMHhFRiwweDVCLDB4RDIsMHhDRCwweEY1LCAweDZELDB4NzcsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsCi0weEZGLDB4RkYsMHg2NiwweEZGLDB4RDUsMHg2NSwweDdELDB4NUYsIDB4NzUsMHg5RCwweDY1LDB4N0YsMHhENiwweEZCLDB4NEYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjYsMHhDNywgMHhGRiwweEJGLDB4RUYsMHhGQSwweEZFLDB4RkYsMHhCRiwweEVCLAotMHhGRiwweERGLDB4RkYsMHg3RSwweEZGLDB4RkYsMHhFRiwweEZELCAweDdFLDB4RDcsMHhGRiwweDc4LDB4REYsMHhGRiwweDVGLDB4REYsCi0weEY1LDB4QkYsMHg3RiwweERGLDB4QzUsMHhGRiwweDNGLDB4RjYsIDB4N0UsMHhGRiwweDBGLDB4RUYsMHhGMiwweDNFLDB4QkYsMHhGRiwKLTB4RkIsMHgzRiwweEZGLDB4RkIsMHg3RiwweEZGLDB4QjMsMHhGRSwgMHhGQiwweEY2LDB4RkQsMHhGRiwweERBLDB4RjcsMHhGRCwweEZGLAotMHg3RiwweERGLDB4RjcsMHhCRiwweEZGLDB4RkEsMHg3RiwweEZGLCAweEZGLDB4RkYsMHhGRiwweDlGLDB4RkYsMHhGMywweERDLDB4RjksCi0weEJGLDB4Q0UsMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsIDB4RkYsMHhGRiwweEUyLDB4N0YsMHhGRSwweEZGLDB4QkYsMHhFRiwKLTB4RUIsMHhGQSwweEZGLDB4OUYsMHg2NywweDFFLDB4RkYsMHg4RiwgMHhFNywweEY4LDB4RkUsMHg3RiwweDhGLDB4RUYsMHhGRiwweEJELAotMHhCRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4REYsMHhGNywweEZGLCAweEZDLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZELDB4QjMsMHhGRiwweEZGLDB4RUYsIDB4RkYsMHhGRiwweEJGLDB4RUQsMHhGRiwweEZCLDB4RUUsMHhGRSwKLTB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEI1LDB4RkYsMHhCNywweEZELDB4RkQsMHg2RSwweEZGLAotMHhGRiwweEZFLDB4RkQsMHgyRiwweEQ4LDB4RkUsMHhCRiwweDhGLCAweEVCLDB4RjksMHhGRSwweDNGLDB4RkYsMHhGQSwweENGLDB4RkYsCi0weEU3LDB4RDksMHhGQSwweEJGLDB4REYsMHg3NywweEZDLDB4RkIsIDB4M0YsMHhBQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwKLTB4RkYsMHhGRiwweEVFLDB4MUYsMHhGRiwweERGLDB4RjcsMHhGRiwgMHhGRiwweEZGLDB4NUYsMHg5NywweDM1LDB4QkYsMHg1RSwweEZFLAotMHhCRiwweEVGLDB4RkYsMHhGNywweEZELDB4RkYsMHhGRiwweEZBLCAweEJGLDB4RkYsMHhCRSwweDZGLDB4OUYsMHhFNywweEY4LDB4QkUsCi0weDJGLDB4OEIsMHg2NiwweDk0LDB4N0QsMHg5RCwweEU3LDB4RjksIDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGMSwweDdGLDB4RkYsMHhGRiwKLTB4RkYsMHhGNywweEY1LDB4RkQsMHg3RiwweDVGLDB4RkIsMHhGRCwgMHg5RSwweEZGLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhFRiwweEZGLAotMHhGRiwweEEwLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhFRiwweEVCLCAweEZBLDB4RkUsMHhCRiwweEI3LDB4RjcsMHhGNywweEZGLDB4RkYsCi0weEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweERELDB4RkYsIDB4RkQsMHhGRiwweEZGLDB4RkYsMHhENywweEZGLDB4RkYsMHhGRiwKLTB4N0YsMHhGNSwweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwgMHhCRiwweEZGLDB4RkYsMHhBQiwweEZFLDB4RkIsMHhGRSwweEZGLAotMHhGNywweEFGLDB4RkYsMHhGRiwweERFLDB4RjcsMHhFQiwweDVGLCAweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEZGLDB4RkYsCi0weEIzLDB4RkYsMHhDOSwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RDYsMHhGRiwweEZGLDB4Q0IsMHhGRiwweEZGLDB4REYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQywweDhGLDB4RkYsMHhCQSwgMHhCRSwweEJGLDB4QUYsMHhFQiwweDc4LDB4RkUsMHhCNywweEFELAotMHgzQSwweEZFLDB4QjcsMHhBRiwweEVCLDB4N0EsMHhGRSwweEJGLCAweEFGLDB4RkYsMHg5RiwweEZGLDB4RkYsMHhERiwweEZDLDB4RkYsCi0weEZGLDB4RkUsMHhDMywweEZFLDB4RkYsMHhGRiwweDMzLDB4RkMsIDB4RkYsMHhCRiwweERGLDB4RjMsMHhGRiwweEZGLDB4QkIsMHg5RiwKLTB4RkYsMHhGRiwweEZGLDB4RUIsMHhERiwweEZGLDB4RkYsMHhBRiwgMHhGNywweDZGLDB4RjksMHhCRiwweEVGLDB4RkQsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhFMywweDdGLDB4RkYsMHhGRiwweEZGLCAweEZCLDB4RkYsMHhGRiwweEJGLDB4RkQsMHhGQiwweEY3LDB4RkYsCi0weERGLDB4RjcsMHhGRiwweEZFLDB4RUYsMHg1RiwweEJELDB4RkYsIDB4RkEsMHhGRiwweEY4LDB4RkYsMHhCRiwweEFGLDB4RkIsMHhGRSwKLTB4RkUsMHgzRiwweEVGLDB4RTgsMHhGRiwweERGLDB4RjMsMHhGRCwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUQsMHhGRiwweEZCLAotMHhGRCwweEZGLDB4QUYsMHhGRiwweEZGLDB4RkUsMHhGRSwweEJGLCAweERCLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweERGLDB4RkYsCi0weEZELDB4RkYsMHhDQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4QkYsMHg2RiwweEZGLDB4N0YsMHhCNywweEIzLDB4RkYsMHhGRiwKLTB4REYsMHhGRiwweEZCLDB4RUYsMHhGRiwweEZGLDB4RkYsMHgwNywgMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RUQsMHhGRiwweEY1LAotMHg3QywweEZGLDB4N0YsMHhGRSwweEZGLDB4RkYsMHhFRiwweENGLCAweEZGLDB4RkIsMHhGRiwweEZGLDB4MkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RjMsMHhGRiwweEZCLDB4RkYsMHhGRSwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwKLTB4RkQsMHgxQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkUsMHg3QywweEZGLDB4RkYsMHhGRiwweEZGLAotMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhCRiwweDdGLCAweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weERCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsIDB4RkYsMHhGRiwweEYwLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhERiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEZFLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhFRiwweEZBLDB4QjUsMHhGRiwweEZGLDB4RkYsIDB4RjcsMHhGNywweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGQiwKLTB4RkMsMHhGRiwweEZGLDB4RkUsMHhGRiwweDdGLDB4REYsMHhCRiwgMHhGRiwweENCLDB4QkYsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LAotMHhGOSwweEZFLDB4N0YsMHg5NywweEUxLDB4RkUsMHg3OSwweDlGLCAweEU3LDB4RkQsMHhGRSwweDdGLDB4REYsMHhGRSwweDM3LDB4RkYsCi0weEZCLDB4REUsMHhERSwweEJELDB4RUYsMHhGMywweEZFLDB4RkIsIDB4QUYsMHhFQiwweEZFLDB4RkYsMHhGRiwweENGLDB4RkYsMHhGRSwKLTB4RkYsMHhCRiwweEZGLDB4OEYsMHhGRiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJGLDB4RTcsMHhGOSwweDVFLDB4N0YsMHhFRiwweEZCLAotMHhEQSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZELCAweDFGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsCi0weEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGNywweEZCLDB4N0YsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQywweDNGLDB4RkYsMHhCRiwKLTB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4N0IsMHg3RiwgMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QjUsMHhFRiwweEZCLAotMHhCRiwweEZBLDB4N0YsMHhGQywweEZGLDB4M0YsMHhDRiwweEYzLCAweEZDLDB4RkYsMHgzRiwweENGLDB4QkMsMHhGRiwweDNGLDB4RUYsCi0weEYzLDB4RkMsMHhGRSwweDNGLDB4Q0YsMHhGRiwweEVFLDB4RUYsIDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4NkEsMHhENywKLTB4QjcsMHhGQiwweEY4LDB4RkYsMHhCNywweEVGLDB4QkEsMHhGRSwgMHhGRiwweEJGLDB4N0YsMHhFOSwweEZGLDB4RjksMHg3RSwweDVGLAotMHg5NywweEU1LDB4RjksMHhGRSwweDdGLDB4QkYsMHhGOSwweDdFLCAweDVGLDB4OUYsMHhFNSwweEZCLDB4RkUsMHg1RiwweEI3LDB4RkYsCi0weEEzLDB4RkYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RjcsIDB4RkQsMHhGRiwweDVFLDB4RjcsMHg3RCwweEZGLDB4NzcsMHhERiwKLTB4RjcsMHhGRCwweEZGLDB4N0YsMHhGRiwweEQ3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4REYsMHhGQiwweDdGLAotMHhGRiwweEZGLDB4RUYsMHhGRiwweEZFLDB4RkIsMHhGRiwweEZGLCAweEJGLDB4RkUsMHg4RiwweEZGLDB4REYsMHhGNywweEZELDB4RkQsCi0weDdGLDB4REYsMHhGNywweEZELDB4M0UsMHhERiwweEY1LDB4QkQsIDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEY3LDB4RkYsMHg5RiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZELDB4RkYsMHhCRSwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRCwweDNGLDB4RkYsMHhERiwweEY3LCAweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4Q0YsCi0weDc3LDB4RkMsMHhGRiwweDVGLDB4REYsMHhGNywweEZELDB4RkYsIDB4RjQsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RUUsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEVELDB4RkIsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhFOSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEQzLDB4RkYsMHhGRiwKLTB4QkYsMHgzRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGMywgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEY3LCAweEZGLDB4RkYsMHhGRiwweEZGLDB4MTcsMHhGRiwweEZGLDB4RkYsCi0weERGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4REYsMHhERiwweEZGLDB4RkQsMHhGRiwweEZGLDB4REYsMHhGNywKLTB4RkYsMHg0RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZELAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHg5RiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsIDB4RkYsMHhGRiwweDdBLDB4M0YsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEYyLAotMHg3RiwweEZGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEY4LCAweEZFLDB4RkYsMHhCRiwweEZCLDB4RkUsMHhGRiwweDhGLDB4RUMsCi0weEZCLDB4RkUsMHhGRiwweEJGLDB4RjgsMHhGNywweEZFLDB4RkYsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRCwweEJGLDB4Q0YsMHhFQywKLTB4RkYsMHgzRiwweEVGLDB4REIsMHhGOCwweEZGLDB4QkYsMHhDRiwgMHhGRiwweEY5LDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGQiwweEZGLAotMHhGRiwweEZGLDB4RUYsMHhGQiwweERGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEJCLDB4RkYsCi0weEVGLDB4RkIsMHhGRSwweEVGLDB4QkYsMHhFRSwweEVCLDB4RkIsIDB4RkUsMHhGRiwweEVGLDB4RkUsMHhFRSwweEJGLDB4RkUsMHhFQiwKLTB4RkYsMHhFRiwweEZGLDB4MTcsMHhGRiwweDdFLDB4RUIsMHhCQiwgMHhGRSwweEJGLDB4QkUsMHhGQiwweEVGLDB4NUIsMHhGNywweEJELAotMHhGQiwweENGLDB4QkYsMHhCRiwweEJCLDB4RkIsMHg3RSwweENDLCAweEVGLDB4RkYKLQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFidXNiLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYnVzYi5jCmluZGV4IDhkMWY4ZWUuLjQ4ZjRiOTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFidXNiLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9kYWJ1c2IuYwpAQCAtMzgsOSArMzgsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAKICNpbmNsdWRlICJkYWJ1c2IuaCIKLSNpbmNsdWRlICJkYWJmaXJtd2FyZS5oIgogCiAvKgogICogVmVyc2lvbiBJbmZvcm1hdGlvbgpAQCAtMjk3LDcgKzI5OCw4IEBACiAJcmV0dXJuIHJldDsKIH0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwotc3RhdGljIGludCBkYWJ1c2Jfd3JpdGVtZW0gKHBkYWJ1c2JfdCBzLCBpbnQgcG9zLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuKQorc3RhdGljIGludCBkYWJ1c2Jfd3JpdGVtZW0gKHBkYWJ1c2JfdCBzLCBpbnQgcG9zLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLAorCQkJICAgIGludCBsZW4pCiB7CiAJaW50IHJldDsKIAl1bnNpZ25lZCBjaGFyICp0cmFuc2Zlcl9idWZmZXIgPSAga21hbGxvYyAobGVuLCBHRlBfS0VSTkVMKTsKQEAgLTMyNCwyNCArMzI2LDM1IEBACiBzdGF0aWMgaW50IGRhYnVzYl9sb2FkbWVtIChwZGFidXNiX3QgcywgY29uc3QgY2hhciAqZm5hbWUpCiB7CiAJaW50IHJldDsKLQlQSU5URUxfSEVYX1JFQ09SRCBwdHIgPSBmaXJtd2FyZTsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCiAJZGJnKCJFbnRlciBkYWJ1c2JfbG9hZG1lbSAoaW50ZXJuYWwpIik7CiAKKwlyZXQgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCAiZGFidXNiL2Zpcm13YXJlLmZ3IiwgJnMtPnVzYmRldi0+ZGV2KTsKKwlpZiAocmV0KSB7CisJCWVycigiRmFpbGVkIHRvIGxvYWQgXCJkYWJ1c2IvZmlybXdhcmUuZndcIjogJWRcbiIsIHJldCk7CisJCWdvdG8gb3V0OworCX0KIAlyZXQgPSBkYWJ1c2JfODA1MV9yZXNldCAocywgMSk7Ci0Jd2hpbGUgKHB0ci0+VHlwZSA9PSAwKSB7CiAKLQkJZGJnKCJkYWJ1c2Jfd3JpdGVtZW06ICUwNFggJXAgJWQpIiwgcHRyLT5BZGRyZXNzLCBwdHItPkRhdGEsIHB0ci0+TGVuZ3RoKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsgcmVjOworCSAgICAgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWRiZygiZGFidXNiX3dyaXRlbWVtOiAlMDRYICVwICVkKSIsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCSAgICByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAKLQkJcmV0ID0gZGFidXNiX3dyaXRlbWVtIChzLCBwdHItPkFkZHJlc3MsIHB0ci0+RGF0YSwgcHRyLT5MZW5ndGgpOworCQlyZXQgPSBkYWJ1c2Jfd3JpdGVtZW0ocywgYmUzMl90b19jcHUocmVjLT5hZGRyKSwgcmVjLT5kYXRhLAorCQkJCSAgICAgICBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCQlpZiAocmV0IDwgMCkgewotCQkJZXJyKCJkYWJ1c2Jfd3JpdGVtZW0gZmFpbGVkICglZCAlMDRYICVwICVkKSIsIHJldCwgcHRyLT5BZGRyZXNzLCBwdHItPkRhdGEsIHB0ci0+TGVuZ3RoKTsKKwkJCWVycigiZGFidXNiX3dyaXRlbWVtIGZhaWxlZCAoJWQgJTA0WCAlcCAlZCkiLCByZXQsCisJCQkgICAgYmUzMl90b19jcHUocmVjLT5hZGRyKSwgcmVjLT5kYXRhLAorCQkJICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQotCQlwdHIrKzsKIAl9CiAJcmV0ID0gZGFidXNiXzgwNTFfcmVzZXQgKHMsIDApOwotCisJcmVsZWFzZV9maXJtd2FyZShmdyk7Cisgb3V0OgogCWRiZygiZGFidXNiX2xvYWRtZW06IGV4aXQiKTsKIAogCXJldHVybiByZXQ7CkBAIC0zNzYsOSArMzg5LDkgQEAKIHN0YXRpYyBpbnQgZGFidXNiX2ZwZ2FfZG93bmxvYWQgKHBkYWJ1c2JfdCBzLCBjb25zdCBjaGFyICpmbmFtZSkKIHsKIAlwYnVsa190cmFuc2Zlcl90IGIgPSBrbWFsbG9jIChzaXplb2YgKGJ1bGtfdHJhbnNmZXJfdCksIEdGUF9LRVJORUwpOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJdW5zaWduZWQgaW50IGJsZW4sIG47CiAJaW50IHJldDsKLQl1bnNpZ25lZCBjaGFyICpidWYgPSBiaXRzdHJlYW07CiAKIAlkYmcoIkVudGVyIGRhYnVzYl9mcGdhX2Rvd25sb2FkIChpbnRlcm5hbCkiKTsKIApAQCAtMzg3LDEwICs0MDAsMTYgQEAKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsICJkYWJ1c2IvYml0c3RyZWFtLmJpbiIsICZzLT51c2JkZXYtPmRldik7CisJaWYgKHJldCkgeworCQllcnIoIkZhaWxlZCB0byBsb2FkIFwiZGFidXNiL2JpdHN0cmVhbS5iaW5cIjogJWRcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCiAJYi0+cGlwZSA9IDE7CiAJcmV0ID0gZGFidXNiX2ZwZ2FfY2xlYXIgKHMsIGIpOwogCW1kZWxheSAoMTApOwotCWJsZW4gPSBidWZbNzNdICsgKGJ1Zls3Ml0gPDwgOCk7CisJYmxlbiA9IGZ3LT5kYXRhWzczXSArIChmdy0+ZGF0YVs3Ml0gPDwgOCk7CiAKIAlkYmcoIkJpdHN0cmVhbSBsZW46ICVpIiwgYmxlbik7CiAKQEAgLTQwMiw3ICs0MjEsNyBAQAogCWZvciAobiA9IDA7IG4gPD0gYmxlbiArIDYwOyBuICs9IDYwKSB7CiAJCS8vIHNvbWUgY2Nsa3MgZm9yIHN0YXJ0dXAKIAkJYi0+c2l6ZSA9IDY0OwotCQltZW1jcHkgKGItPmRhdGEgKyA0LCBidWYgKyA3NCArIG4sIDYwKTsKKwkJbWVtY3B5IChiLT5kYXRhICsgNCwgZnctPmRhdGEgKyA3NCArIG4sIDYwKTsKIAkJcmV0ID0gZGFidXNiX2J1bGsgKHMsIGIpOwogCQlpZiAocmV0IDwgMCkgewogCQkJZXJyKCJkYWJ1c2JfYnVsayBmYWlsZWQuIik7CkBAIC00MTMsNiArNDMyLDcgQEAKIAogCXJldCA9IGRhYnVzYl9mcGdhX2luaXQgKHMsIGIpOwogCWtmcmVlIChiKTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCWRiZygiZXhpdCBkYWJ1c2JfZnBnYV9kb3dubG9hZCIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL292NzY3MC5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9vdjc2NzAuYwppbmRleCAyYmM2YmRjLi5kN2JmZDMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL292NzY3MC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vb3Y3NjcwLmMKQEAgLTQwNiw4ICs0MDYsMTAgQEAKIAlpbnQgcmV0OwogCiAJcmV0ID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGMsIHJlZyk7Ci0JaWYgKHJldCA+PSAwKQorCWlmIChyZXQgPj0gMCkgewogCQkqdmFsdWUgPSAodW5zaWduZWQgY2hhcikgcmV0OworCQlyZXQgPSAwOworCX0KIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL3VzYnZpZGVvL3ZpY2FtLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL3VzYnZpZGVvL3ZpY2FtLmMKaW5kZXggMTdmNTQyZC4uNDBkMDUzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vdXNidmlkZW8vdmljYW0uYwpAQCAtNDMsNiArNDMsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KICNpbmNsdWRlICJ1c2J2aWRlby5oIgogCiAvLyAjZGVmaW5lIFZJQ0FNX0RFQlVHCkBAIC03MCwyODQgKzcyLDYgQEAKIAogI2RlZmluZSBWSUNBTV9IRUFERVJfU0laRSAgICAgICA2NAogCi0vKiBOb3Qgc3VyZSB3aGF0IGFsbCB0aGUgYnl0ZXMgaW4gdGhlc2UgY2hhcgotICogYXJyYXlzIGRvLCBidXQgdGhleSdyZSBuZWNlc3NhcnkgdG8gbWFrZQotICogdGhlIGNhbWVyYSB3b3JrLgotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNldHVwMVtdID0gewotCTB4QjYsIDB4QzMsIDB4MUYsIDB4MDAsIDB4MDIsIDB4NjQsIDB4RTcsIDB4NjcsCi0JMHhGRCwgMHhGRiwgMHgwRSwgMHhDMCwgMHhFNywgMHgwOSwgMHhERSwgMHgwMCwKLQkweDhFLCAweDAwLCAweEMwLCAweDA5LCAweDQwLCAweDAzLCAweEMwLCAweDE3LAotCTB4NDQsIDB4MDMsIDB4NEIsIDB4QUYsIDB4QzAsIDB4MDcsIDB4MDAsIDB4MDAsCi0JMHg0QiwgMHhBRiwgMHg5NywgMHhDRiwgMHgwMCwgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXAyW10gPSB7Ci0JMHhCNiwgMHhDMywgMHgwMywgMHgwMCwgMHgwMywgMHg2NCwgMHgxOCwgMHgwMCwKLQkweDAwLCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzZXR1cDNbXSA9IHsKLQkweEI2LCAweEMzLCAweDAxLCAweDAwLCAweDA2LCAweDY0LCAweDAwLCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzZXR1cDRbXSA9IHsKLQkweEI2LCAweEMzLCAweDhGLCAweDA2LCAweDAyLCAweDY0LCAweEU3LCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MDgsIDB4QzAsIDB4RTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0JMHgzRSwgMHhDMCwgMHhFNywgMHgwNywgMHg1NCwgMHgwMSwgMHhBQSwgMHgwMCwKLQkweEU3LCAweDA3LCAweEM4LCAweDA1LCAweEI2LCAweDAwLCAweEU3LCAweDA3LAotCTB4NDIsIDB4MDEsIDB4RDIsIDB4MDAsIDB4RTcsIDB4MDcsIDB4N0MsIDB4MDAsCi0JMHgxNiwgMHgwMCwgMHhFNywgMHgwNywgMHg1NiwgMHgwMCwgMHgxOCwgMHgwMCwKLQkweEU3LCAweDA3LCAweDA2LCAweDAwLCAweDkyLCAweEMwLCAweEU3LCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MUUsIDB4QzAsIDB4RTcsIDB4MDcsIDB4RkYsIDB4RkYsCi0JMHgyMiwgMHhDMCwgMHhFNywgMHgwNywgMHgwNCwgMHgwMCwgMHgyNCwgMHhDMCwKLQkweEU3LCAweDA3LCAweEVDLCAweDI3LCAweDI4LCAweEMwLCAweEU3LCAweDA3LAotCTB4MTYsIDB4MDEsIDB4OEUsIDB4MDAsIDB4RTcsIDB4ODcsIDB4MDEsIDB4MDAsCi0JMHgwRSwgMHhDMCwgMHg5NywgMHhDRiwgMHhENywgMHgwOSwgMHgwMCwgMHhDMCwKLQkweEU3LCAweDc3LCAweDAxLCAweDAwLCAweDkyLCAweEMwLCAweDA5LCAweEMxLAotCTB4RTcsIDB4MDksIDB4RkUsIDB4MDUsIDB4MjQsIDB4MDEsIDB4RTcsIDB4MDksCi0JMHgwNCwgMHgwNiwgMHgyNiwgMHgwMSwgMHhFNywgMHgwNywgMHgwNywgMHgwMCwKLQkweDkyLCAweEMwLCAweEU3LCAweDA1LCAweDAwLCAweEMwLCAweEMwLCAweERGLAotCTB4OTcsIDB4Q0YsIDB4MTcsIDB4MDAsIDB4NTcsIDB4MDAsIDB4MTcsIDB4MDIsCi0JMHhENywgMHgwOSwgMHgwMCwgMHhDMCwgMHhFNywgMHg3NywgMHgwMSwgMHgwMCwKLQkweDkyLCAweEMwLCAweDBBLCAweEMxLCAweEU3LCAweDU3LCAweEZGLCAweEZGLAotCTB4RkEsIDB4MDUsIDB4MEQsIDB4QzAsIDB4RTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0JMHhGQSwgMHgwNSwgMHgwRiwgMHhDMCwgMHg5RiwgMHhBRiwgMHhDNiwgMHgwMCwKLQkweEU3LCAweDA1LCAweDAwLCAweEMwLCAweEM4LCAweDA1LCAweEMxLCAweDA1LAotCTB4QzAsIDB4MDUsIDB4QzAsIDB4REYsIDB4OTcsIDB4Q0YsIDB4MjcsIDB4REEsCi0JMHhGQSwgMHgwNSwgMHhFRiwgMHgwNywgMHgwMSwgMHgwMCwgMHgwQiwgMHgwNiwKLQkweDczLCAweENGLCAweDlGLCAweEFGLCAweDc4LCAweDAxLCAweDlGLCAweEFGLAotCTB4MUEsIDB4MDMsIDB4NkUsIDB4Q0YsIDB4RTcsIDB4MDksIDB4RkMsIDB4MDUsCi0JMHgyNCwgMHgwMSwgMHhFNywgMHgwOSwgMHgwMiwgMHgwNiwgMHgyNiwgMHgwMSwKLQkweEU3LCAweDA3LCAweDA3LCAweDAwLCAweDkyLCAweEMwLCAweEU3LCAweDA5LAotCTB4RkMsIDB4MDUsIDB4RkUsIDB4MDUsIDB4RTcsIDB4MDksIDB4MDIsIDB4MDYsCi0JMHgwNCwgMHgwNiwgMHhFNywgMHgwOSwgMHgwMCwgMHgwNiwgMHhGQywgMHgwNSwKLQkweEU3LCAweDA5LCAweEZFLCAweDA1LCAweDAwLCAweDA2LCAweDI3LCAweERBLAotCTB4RkEsIDB4MDUsIDB4RTcsIDB4NTcsIDB4MDEsIDB4MDAsIDB4RkEsIDB4MDUsCi0JMHgwMiwgMHhDQSwgMHgwNCwgMHhDMCwgMHg5NywgMHhDRiwgMHg5RiwgMHhBRiwKLQkweDY2LCAweDA1LCAweDk3LCAweENGLCAweEU3LCAweDA3LCAweDQwLCAweDAwLAotCTB4MDIsIDB4MDYsIDB4QzgsIDB4MDksIDB4RkMsIDB4MDUsIDB4OUYsIDB4QUYsCi0JMHhEQSwgMHgwMiwgMHg5NywgMHhDRiwgMHhDRiwgMHgxNywgMHgwMiwgMHgwMCwKLQkweEVGLCAweDU3LCAweDgxLCAweDAwLCAweDA5LCAweDA2LCAweDlGLCAweEEwLAotCTB4QjYsIDB4MDEsIDB4RUYsIDB4NTcsIDB4ODAsIDB4MDAsIDB4MDksIDB4MDYsCi0JMHg5RiwgMHhBMCwgMHg0MCwgMHgwMiwgMHhFRiwgMHg1NywgMHgwMSwgMHgwMCwKLQkweDBCLCAweDA2LCAweDlGLCAweEEwLCAweDQ2LCAweDAzLCAweEU3LCAweDA3LAotCTB4MDEsIDB4MDAsIDB4MEEsIDB4QzAsIDB4NDYsIDB4QUYsIDB4NDcsIDB4QUYsCi0JMHg5RiwgMHhBRiwgMHg0MCwgMHgwMiwgMHhFNywgMHgwNywgMHgyRSwgMHgwMCwKLQkweDBBLCAweEMwLCAweEVGLCAweDg3LCAweDgwLCAweDAwLCAweDA5LCAweDA2LAotCTB4OTcsIDB4Q0YsIDB4MDAsIDB4MEUsIDB4MDEsIDB4MDAsIDB4QzAsIDB4NTcsCi0JMHg1MSwgMHgwMCwgMHg5RiwgMHhDMCwgMHg5RSwgMHgwMiwgMHhDMCwgMHg1NywKLQkweDUwLCAweDAwLCAweDIwLCAweEMwLCAweEMwLCAweDU3LCAweDU1LCAweDAwLAotCTB4MTIsIDB4QzAsIDB4QzAsIDB4NTcsIDB4NTYsIDB4MDAsIDB4OUYsIDB4QzAsCi0JMHg3MiwgMHgwMiwgMHg5RiwgMHhDRiwgMHhENiwgMHgwMiwgMHhDMSwgMHgwQiwKLQkweDA4LCAweDA2LCAweDAxLCAweEQwLCAweDZGLCAweDkwLCAweDA4LCAweDA2LAotCTB4QzAsIDB4MDcsIDB4MDgsIDB4MDAsIDB4QzEsIDB4MEIsIDB4MDgsIDB4MDYsCi0JMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHg5NywgMHhDRiwgMHgyRiwgMHgwRSwKLQkweDAyLCAweDAwLCAweDA4LCAweDA2LCAweEMwLCAweDA3LCAweDA4LCAweDAwLAotCTB4QzEsIDB4MEIsIDB4MDgsIDB4MDYsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHg5RiwgMHhDRiwgMHhENiwgMHgwMiwgMHgyRiwgMHgwRSwgMHgwMiwgMHgwMCwKLQkweDA5LCAweDA2LCAweEVGLCAweDg3LCAweDgwLCAweDAwLCAweDA5LCAweDA2LAotCTB4OUYsIDB4Q0YsIDB4RDYsIDB4MDIsIDB4RUYsIDB4NjcsIDB4N0YsIDB4RkYsCi0JMHgwOSwgMHgwNiwgMHhFNywgMHg2NywgMHhGRiwgMHhGRCwgMHgyMiwgMHhDMCwKLQkweEU3LCAweDY3LCAweEVGLCAweEZGLCAweDI0LCAweEMwLCAweEU3LCAweDg3LAotCTB4MTAsIDB4MDAsIDB4MjgsIDB4QzAsIDB4OUYsIDB4QUYsIDB4QjgsIDB4MDUsCi0JMHhFNywgMHg4NywgMHhFMCwgMHgyMSwgMHgyNCwgMHhDMCwgMHg5RiwgMHhBRiwKLQkweEE4LCAweDA1LCAweEU3LCAweDg3LCAweDA4LCAweDAwLCAweDI0LCAweEMwLAotCTB4RTcsIDB4NjcsIDB4REYsIDB4RkYsIDB4MjQsIDB4QzAsIDB4QzgsIDB4MDcsCi0JMHgwQSwgMHgwMCwgMHhDMCwgMHgwNywgMHgwMCwgMHgwMCwgMHhDMSwgMHgwNywKLQkweDAxLCAweDAwLCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweDlGLCAweEFGLAotCTB4QjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4OUUsIDB4MDAsIDB4OUYsIDB4QUYsCi0JMHg0NCwgMHgwNSwgMHhFNywgMHg2NywgMHhGRiwgMHhGRSwgMHgyNCwgMHhDMCwKLQkweEMwLCAweDA5LCAweDIwLCAweEMwLCAweEU3LCAweDg3LCAweDAwLCAweDAxLAotCTB4MjQsIDB4QzAsIDB4QzAsIDB4NzcsIDB4MDAsIDB4MDIsIDB4MEYsIDB4QzEsCi0JMHhFNywgMHg2NywgMHhGNywgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg2NywKLQkweEY3LCAweEZGLCAweDI0LCAweEMwLCAweEU3LCAweDg3LCAweDA4LCAweDAwLAotCTB4MjQsIDB4QzAsIDB4MDgsIDB4REEsIDB4NUUsIDB4QzEsIDB4RUYsIDB4MDcsCi0JMHg4MCwgMHgwMCwgMHgwOSwgMHgwNiwgMHg5NywgMHhDRiwgMHhFRiwgMHgwNywKLQkweDAxLCAweDAwLCAweDBBLCAweDA2LCAweDk3LCAweENGLCAweEVGLCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MEIsIDB4MDYsIDB4RUYsIDB4MDcsIDB4MDAsIDB4MDAsCi0JMHgwQSwgMHgwNiwgMHhFRiwgMHg2NywgMHg3RiwgMHhGRiwgMHgwOSwgMHgwNiwKLQkweEVGLCAweDA3LCAweDAwLCAweDAwLCAweDBELCAweDA2LCAweEU3LCAweDY3LAotCTB4RUYsIDB4RkYsIDB4MjgsIDB4QzAsIDB4RTcsIDB4NjcsIDB4MTcsIDB4RDgsCi0JMHgyNCwgMHhDMCwgMHhFNywgMHgwNywgMHgwMCwgMHgwMCwgMHgxRSwgMHhDMCwKLQkweEU3LCAweDA3LCAweEZGLCAweEZGLCAweDIyLCAweEMwLCAweDk3LCAweENGLAotCTB4QzgsIDB4MDcsIDB4MEUsIDB4MDYsIDB4OUYsIDB4QUYsIDB4REEsIDB4MDIsCi0JMHhFNywgMHgwNywgMHgwMCwgMHgwMCwgMHhGMiwgMHgwNSwgMHhFNywgMHgwNywKLQkweDEwLCAweDAwLCAweEY2LCAweDA1LCAweEU3LCAweDA3LCAweDBFLCAweDA2LAotCTB4RjQsIDB4MDUsIDB4RTcsIDB4MDcsIDB4RDYsIDB4MDIsIDB4RjgsIDB4MDUsCi0JMHhDOCwgMHgwNywgMHhGMiwgMHgwNSwgMHhDMSwgMHgwNywgMHgwMCwgMHg4MCwKLQkweDUwLCAweEFGLCAweDk3LCAweENGLCAweDJGLCAweDBDLCAweDAyLCAweDAwLAotCTB4MDcsIDB4MDYsIDB4MkYsIDB4MEMsIDB4MDQsIDB4MDAsIDB4MDYsIDB4MDYsCi0JMHhFNywgMHgwNywgMHgwMCwgMHgwMCwgMHhGMiwgMHgwNSwgMHhFNywgMHgwNywKLQkweDEwLCAweDAwLCAweEY2LCAweDA1LCAweEU3LCAweDA3LCAweEUyLCAweDA1LAotCTB4RjQsIDB4MDUsIDB4RTcsIDB4MDcsIDB4Q0UsIDB4MDIsIDB4RjgsIDB4MDUsCi0JMHhDOCwgMHgwNywgMHhGMiwgMHgwNSwgMHhDMSwgMHgwNywgMHgwMCwgMHg4MCwKLQkweDUxLCAweEFGLCAweDk3LCAweENGLCAweDlGLCAweEFGLCAweDY2LCAweDA0LAotCTB4OUYsIDB4QUYsIDB4MUEsIDB4MDMsIDB4NTksIDB4QUYsIDB4OTcsIDB4Q0YsCi0JMHhDMCwgMHgwNywgMHgwRSwgMHgwMCwgMHhDMSwgMHgwQiwgMHgwQywgMHgwNiwKLQkweDQxLCAweEQxLCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LAotCTB4M0MsIDB4MDAsIDB4OUYsIDB4QUYsIDB4NDQsIDB4MDUsIDB4NjgsIDB4MDAsCi0JMHhDMCwgMHgwNywgMHgzQiwgMHgwMCwgMHg5RiwgMHhBRiwgMHg0NCwgMHgwNSwKLQkweDZGLCAweDAwLCAweDBDLCAweDA2LCAweDY4LCAweDAwLCAweEUwLCAweDA3LAotCTB4MDQsIDB4MDEsIDB4RTgsIDB4MEIsIDB4MEEsIDB4MDYsIDB4RTgsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHhFMCwgMHgwNywgMHgwMCwgMHgwMiwgMHhFMCwgMHgwNywKLQkweEVDLCAweDAxLCAweEUwLCAweDA3LCAweEZDLCAweEZGLCAweDk3LCAweENGLAotCTB4RTcsIDB4MDcsIDB4RkYsIDB4RkYsIDB4RkEsIDB4MDUsIDB4RUYsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgwQiwgMHgwNiwgMHhFNywgMHgwNywgMHgwRSwgMHgwNiwKLQkweDI0LCAweDAxLCAweEU3LCAweDA3LCAweDBFLCAweDA2LCAweEZFLCAweDA1LAotCTB4RTcsIDB4MDcsIDB4NDAsIDB4MDAsIDB4MjYsIDB4MDEsIDB4RTcsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHgwNCwgMHgwNiwgMHhFNywgMHgwNywgMHgwNywgMHgwMCwKLQkweDkyLCAweEMwLCAweDk3LCAweENGLCAweEVGLCAweDA3LCAweDAyLCAweDAwLAotCTB4MEIsIDB4MDYsIDB4OUYsIDB4QUYsIDB4NzgsIDB4MDEsIDB4RUYsIDB4NzcsCi0JMHg4MCwgMHgwMCwgMHgwNywgMHgwNiwgMHg5RiwgMHhDMCwgMHgxNCwgMHgwNCwKLQkweEVGLCAweDc3LCAweDAxLCAweDAwLCAweDA3LCAweDA2LCAweDM3LCAweEMwLAotCTB4RUYsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MEQsIDB4MDYsIDB4MEYsIDB4QzEsCi0JMHhFRiwgMHgwNywgMHgwMSwgMHgwMCwgMHgwRCwgMHgwNiwgMHhDMCwgMHgwNywKLQkweDAyLCAweDAwLCAweEMxLCAweDA3LCAweDMwLCAweDAwLCAweDlGLCAweEFGLAotCTB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MDEsIDB4MDAsIDB4QzEsIDB4MDcsCi0JMHgwMiwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDOCwgMHgwNywKLQkweEZGLCAweDRGLCAweDlGLCAweEFGLCAweEE4LCAweDA1LCAweEMwLCAweDA3LAotCTB4MzgsIDB4MDAsIDB4OUYsIDB4QUYsIDB4NDQsIDB4MDUsIDB4QzEsIDB4NzcsCi0JMHgwMywgMHgwMCwgMHgwMiwgMHhDMSwgMHgwOCwgMHhEQSwgMHg3NSwgMHhDMSwKLQkweEMxLCAweDc3LCAweDAxLCAweDAwLCAweDBBLCAweEMxLCAweEMwLCAweDA3LAotCTB4MDEsIDB4MDAsIDB4QzEsIDB4MDcsIDB4MDIsIDB4MDAsIDB4OUYsIDB4QUYsCi0JMHgyOCwgMHgwNSwgMHhFRiwgMHgwNywgMHgwMSwgMHgwMCwgMHgwNiwgMHgwNiwKLQkweDJDLCAweENGLCAweEMwLCAweDA3LCAweDAxLCAweDAwLCAweEMxLCAweDA3LAotCTB4MDQsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4RUYsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgwNiwgMHgyMiwgMHhDRiwgMHhFRiwgMHgwNywKLQkweDAwLCAweDAwLCAweDBELCAweDA2LCAweEVGLCAweDU3LCAweDAxLCAweDAwLAotCTB4MDYsIDB4MDYsIDB4MUIsIDB4QzAsIDB4QzAsIDB4MDcsIDB4MDEsIDB4MDAsCi0JMHhDMSwgMHgwNywgMHgwMSwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweEMwLCAweDA3LCAweDAyLCAweDAwLCAweEMxLCAweDA3LCAweDMwLCAweDAwLAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzgsIDB4MDcsIDB4RkYsIDB4NEYsCi0JMHg5RiwgMHhBRiwgMHhBOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgzOCwgMHgwMCwKLQkweDlGLCAweEFGLCAweDQ0LCAweDA1LCAweEMxLCAweDY3LCAweDAzLCAweDAwLAotCTB4QzEsIDB4NTcsIDB4MDMsIDB4MDAsIDB4MDIsIDB4QzAsIDB4MDgsIDB4REEsCi0JMHg3MywgMHhDMSwgMHhDMCwgMHgwNywgMHgwMiwgMHgwMCwgMHhDMSwgMHgwNywKLQkweDEyLCAweDAwLCAweEVGLCAweDU3LCAweDAwLCAweDAwLCAweDA2LCAweDA2LAotCTB4MDIsIDB4QzAsIDB4QzEsIDB4MDcsIDB4MjMsIDB4MDAsIDB4OUYsIDB4QUYsCi0JMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgxNCwgMHgwMCwgMHhDMSwgMHgwQiwKLQkweEVBLCAweDA1LCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LAotCTB4M0UsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MEEsIDB4MDUsIDB4RTcsIDB4MDksCi0JMHhFNCwgMHgwNSwgMHhGQSwgMHgwNSwgMHgyNywgMHhEOCwgMHhGQSwgMHgwNSwKLQkweEU3LCAweDA3LCAweDBFLCAweDA2LCAweEZDLCAweDA1LCAweEU3LCAweDA3LAotCTB4NEUsIDB4MDYsIDB4MDAsIDB4MDYsIDB4RTcsIDB4MDcsIDB4NDAsIDB4MDAsCi0JMHgwMiwgMHgwNiwgMHg5RiwgMHhBRiwgMHg2NiwgMHgwNSwgMHg5RiwgMHhBRiwKLQkweEM2LCAweDAwLCAweDk3LCAweENGLCAweEMxLCAweDBCLCAweEUyLCAweDA1LAotCTB4NDEsIDB4RDAsIDB4MDEsIDB4RDIsIDB4QzEsIDB4MTcsIDB4MjMsIDB4MDAsCi0JMHg5RiwgMHhBRiwgMHhEQywgMHgwNCwgMHhDMCwgMHgwNywgMHgwNCwgMHgwMCwKLQkweEMxLCAweDBCLCAweEUzLCAweDA1LCAweDlGLCAweEFGLCAweDI4LCAweDA1LAotCTB4QzAsIDB4MDcsIDB4MDYsIDB4MDAsIDB4QzEsIDB4MDksIDB4RTYsIDB4MDUsCi0JMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgwNywgMHgwMCwKLQkweEMxLCAweDA5LCAweEU2LCAweDA1LCAweEMxLCAweEQxLCAweDlGLCAweEFGLAotCTB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MEIsIDB4MDAsIDB4QzEsIDB4MDksCi0JMHhFOCwgMHgwNSwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywKLQkweDBDLCAweDAwLCAweEMxLCAweDA5LCAweEU4LCAweDA1LCAweEMxLCAweEQxLAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MEQsIDB4MDAsCi0JMHhDMSwgMHgwNywgMHgwOSwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweEMwLCAweDA3LCAweDAzLCAweDAwLCAweEMxLCAweDA3LCAweDMyLCAweDAwLAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MEYsIDB4MDAsCi0JMHhDMSwgMHgwNywgMHgwMCwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweDk3LCAweENGLCAweEU3LCAweDY3LCAweEZGLCAweEQ5LCAweDI0LCAweEMwLAotCTB4QzgsIDB4MDcsIDB4MEEsIDB4MDAsIDB4NDAsIDB4MDAsIDB4QzAsIDB4NjcsCi0JMHgwMCwgMHgwMiwgMHgyNywgMHg4MCwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywKLQkweDAwLCAweDA0LCAweDI0LCAweEMwLCAweEU3LCAweDY3LCAweEZGLCAweEY5LAotCTB4MjQsIDB4QzAsIDB4MDEsIDB4RDIsIDB4MDgsIDB4REEsIDB4NzIsIDB4QzEsCi0JMHhFNywgMHg4NywgMHgwMCwgMHgyMCwgMHgyNCwgMHhDMCwgMHg5NywgMHhDRiwKLQkweDI3LCAweDAwLCAweDFFLCAweEMwLCAweEU3LCAweDg3LCAweEZGLCAweDAwLAotCTB4MjIsIDB4QzAsIDB4RTcsIDB4NjcsIDB4N0YsIDB4RkYsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHg4NywgMHg4MCwgMHgwMCwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywKLQkweDgwLCAweDAwLCAweDI0LCAweEMwLCAweDk3LCAweENGLCAweDlGLCAweEFGLAotCTB4MEEsIDB4MDUsIDB4NjcsIDB4MDAsIDB4MUUsIDB4QzAsIDB4RTcsIDB4NjcsCi0JMHhCRiwgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywgMHg0MCwgMHgwMCwKLQkweDI0LCAweEMwLCAweEU3LCAweDg3LCAweDQwLCAweDAwLCAweDI0LCAweEMwLAotCTB4OTcsIDB4Q0YsIDB4OUYsIDB4QUYsIDB4MEEsIDB4MDUsIDB4RTcsIDB4NjcsCi0JMHgwMCwgMHhGRiwgMHgyMiwgMHhDMCwgMHhFNywgMHg2NywgMHhGRiwgMHhGRSwKLQkweDI0LCAweEMwLCAweEU3LCAweDY3LCAweEZGLCAweEZFLCAweDI0LCAweEMwLAotCTB4QzEsIDB4MDksIDB4MjAsIDB4QzAsIDB4RTcsIDB4ODcsIDB4MDAsIDB4MDEsCi0JMHgyNCwgMHhDMCwgMHg5NywgMHhDRiwgMHhDMCwgMHgwNywgMHg0MCwgMHgwMCwKLQkweEM4LCAweDA5LCAweEZDLCAweDA1LCAweEU3LCAweDY3LCAweDAwLCAweEZGLAotCTB4MjIsIDB4QzAsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkUsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHg2NywgMHhCRiwgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg2NywKLQkweEJGLCAweEZGLCAweDI0LCAweEMwLCAweDAwLCAweERBLCAweEU4LCAweDA5LAotCTB4MjAsIDB4QzAsIDB4RTcsIDB4ODcsIDB4NDAsIDB4MDAsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHg4NywgMHg0MCwgMHgwMCwgMHgyNCwgMHhDMCwgMHgwMCwgMHhEQSwKLQkweEU4LCAweDA5LCAweDIwLCAweEMwLCAweDZELCAweEMxLCAweEU3LCAweDg3LAotCTB4MDAsIDB4MDEsIDB4MjQsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4RTcsIDB4MDcsCi0JMHgzMiwgMHgwMCwgMHgxMiwgMHhDMCwgMHhFNywgMHg3NywgMHgwMCwgMHg4MCwKLQkweDEyLCAweEMwLCAweDdDLCAweEMwLCAweDk3LCAweENGLCAweEU3LCAweDA3LAotCTB4MjAsIDB4NEUsIDB4MTIsIDB4QzAsIDB4RTcsIDB4NzcsIDB4MDAsIDB4ODAsCi0JMHgxMiwgMHhDMCwgMHg3QywgMHhDMCwgMHg5NywgMHhDRiwgMHgwOSwgMHgwMiwKLQkweDE5LCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDk2LCAweDA5LAotCTB4MDQsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXA1W10gPSB7Ci0JMHhCNiwgMHhDMywgMHgyRiwgMHgwMSwgMHgwMywgMHg2NCwgMHgwRSwgMHgwMCwKLQkweDE0LCAweDAwLCAweDFBLCAweDAwLCAweDIwLCAweDAwLCAweDI2LCAweDAwLAotCTB4NEEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NkEsIDB4MDAsIDB4OTIsIDB4MDAsCi0JMHg5QSwgMHgwMCwgMHhBMCwgMHgwMCwgMHhCMiwgMHgwMCwgMHhCOCwgMHgwMCwKLQkweEJFLCAweDAwLCAweEMyLCAweDAwLCAweEM4LCAweDAwLCAweENFLCAweDAwLAotCTB4REMsIDB4MDAsIDB4REEsIDB4MDAsIDB4RTIsIDB4MDAsIDB4RTAsIDB4MDAsCi0JMHhFOCwgMHgwMCwgMHhFNiwgMHgwMCwgMHhFRSwgMHgwMCwgMHhFQywgMHgwMCwKLQkweEYyLCAweDAwLCAweEY4LCAweDAwLCAweDAyLCAweDAxLCAweDBBLCAweDAxLAotCTB4MEUsIDB4MDEsIDB4MTIsIDB4MDEsIDB4MUUsIDB4MDEsIDB4MjIsIDB4MDEsCi0JMHgyOCwgMHgwMSwgMHgyQywgMHgwMSwgMHgzMiwgMHgwMSwgMHgzNiwgMHgwMSwKLQkweDQ0LCAweDAxLCAweDUwLCAweDAxLCAweDVFLCAweDAxLCAweDcyLCAweDAxLAotCTB4NzYsIDB4MDEsIDB4N0EsIDB4MDEsIDB4ODAsIDB4MDEsIDB4ODgsIDB4MDEsCi0JMHg4QywgMHgwMSwgMHg5NCwgMHgwMSwgMHg5QywgMHgwMSwgMHhBMCwgMHgwMSwKLQkweEE0LCAweDAxLCAweEFBLCAweDAxLCAweEIwLCAweDAxLCAweEI0LCAweDAxLAotCTB4QkEsIDB4MDEsIDB4RDAsIDB4MDEsIDB4REEsIDB4MDEsIDB4RjYsIDB4MDEsCi0JMHhGQSwgMHgwMSwgMHgwMiwgMHgwMiwgMHgzNCwgMHgwMiwgMHgzQywgMHgwMiwKLQkweDQ0LCAweDAyLCAweDRBLCAweDAyLCAweDUwLCAweDAyLCAweDU2LCAweDAyLAotCTB4NzQsIDB4MDIsIDB4NzgsIDB4MDIsIDB4N0UsIDB4MDIsIDB4ODQsIDB4MDIsCi0JMHg4QSwgMHgwMiwgMHg4OCwgMHgwMiwgMHg5MCwgMHgwMiwgMHg4RSwgMHgwMiwKLQkweDk0LCAweDAyLCAweEEyLCAweDAyLCAweEE4LCAweDAyLCAweEFFLCAweDAyLAotCTB4QjQsIDB4MDIsIDB4QkEsIDB4MDIsIDB4QjgsIDB4MDIsIDB4QzAsIDB4MDIsCi0JMHhCRSwgMHgwMiwgMHhDNCwgMHgwMiwgMHhEMCwgMHgwMiwgMHhENCwgMHgwMiwKLQkweEUwLCAweDAyLCAweEU2LCAweDAyLCAweEVFLCAweDAyLCAweEY4LCAweDAyLAotCTB4RkMsIDB4MDIsIDB4MDYsIDB4MDMsIDB4MUUsIDB4MDMsIDB4MjQsIDB4MDMsCi0JMHgyOCwgMHgwMywgMHgzMCwgMHgwMywgMHgyRSwgMHgwMywgMHgzQywgMHgwMywKLQkweDRBLCAweDAzLCAweDRFLCAweDAzLCAweDU0LCAweDAzLCAweDU4LCAweDAzLAotCTB4NUUsIDB4MDMsIDB4NjYsIDB4MDMsIDB4NkUsIDB4MDMsIDB4N0EsIDB4MDMsCi0JMHg4NiwgMHgwMywgMHg4RSwgMHgwMywgMHg5NiwgMHgwMywgMHhCMiwgMHgwMywKLQkweEI4LCAweDAzLCAweEM2LCAweDAzLCAweENDLCAweDAzLCAweEQ0LCAweDAzLAotCTB4REEsIDB4MDMsIDB4RTgsIDB4MDMsIDB4RjQsIDB4MDMsIDB4RkMsIDB4MDMsCi0JMHgwNCwgMHgwNCwgMHgyMCwgMHgwNCwgMHgyQSwgMHgwNCwgMHgzMiwgMHgwNCwKLQkweDM2LCAweDA0LCAweDNFLCAweDA0LCAweDQ0LCAweDA0LCAweDQyLCAweDA0LAotCTB4NDgsIDB4MDQsIDB4NEUsIDB4MDQsIDB4NEMsIDB4MDQsIDB4NTQsIDB4MDQsCi0JMHg1MiwgMHgwNCwgMHg1QSwgMHgwNCwgMHg1RSwgMHgwNCwgMHg2MiwgMHgwNCwKLQkweDY4LCAweDA0LCAweDc0LCAweDA0LCAweDdDLCAweDA0LCAweDgwLCAweDA0LAotCTB4ODgsIDB4MDQsIDB4OEMsIDB4MDQsIDB4OTQsIDB4MDQsIDB4OUEsIDB4MDQsCi0JMHhBMiwgMHgwNCwgMHhBNiwgMHgwNCwgMHhBRSwgMHgwNCwgMHhCNCwgMHgwNCwKLQkweEMwLCAweDA0LCAweENDLCAweDA0LCAweEQ4LCAweDA0LCAweDJBLCAweDA1LAotCTB4NDYsIDB4MDUsIDB4NkMsIDB4MDUsIDB4MDAsIDB4MDAKLX07Ci0KIC8qIHJ2bWFsbG9jIC8gcnZmcmVlIGNvcGllZCBmcm9tIHVzYnZpZGVvLmMKICAqCiAgKiBOb3Qgc3VyZSB3aHkgdGhlc2UgYXJlIG5vdCB5ZXQgbm9uLXN0YXRpY3Mgd2hpY2ggSSBjYW4gcmVmZXJlbmNlIHRocm91Z2gKQEAgLTQ2NCwyOCArMTg4LDI4IEBACiBzdGF0aWMgaW50CiBpbml0aWFsaXplX2NhbWVyYShzdHJ1Y3QgdmljYW1fY2FtZXJhICpjYW0pCiB7Ci0JY29uc3Qgc3RydWN0IHsKLQkJdTggKmRhdGE7Ci0JCXUzMiBzaXplOwotCX0gZmlybXdhcmVbXSA9IHsKLQkJeyAuZGF0YSA9IHNldHVwMSwgLnNpemUgPSBzaXplb2Yoc2V0dXAxKSB9LAotCQl7IC5kYXRhID0gc2V0dXAyLCAuc2l6ZSA9IHNpemVvZihzZXR1cDIpIH0sCi0JCXsgLmRhdGEgPSBzZXR1cDMsIC5zaXplID0gc2l6ZW9mKHNldHVwMykgfSwKLQkJeyAuZGF0YSA9IHNldHVwNCwgLnNpemUgPSBzaXplb2Yoc2V0dXA0KSB9LAotCQl7IC5kYXRhID0gc2V0dXA1LCAuc2l6ZSA9IHNpemVvZihzZXR1cDUpIH0sCi0JCXsgLmRhdGEgPSBzZXR1cDMsIC5zaXplID0gc2l6ZW9mKHNldHVwMykgfSwKLQkJeyAuZGF0YSA9IE5VTEwsIC5zaXplID0gMCB9Ci0JfTsKKwlpbnQgZXJyOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAKLQlpbnQgZXJyLCBpOworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsICJ2aWNhbS9maXJtd2FyZS5mdyIsICZjYW0tPnVkZXYtPmRldik7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIFwidmljYW0vZmlybXdhcmUuZndcIjogJWRcbiIsCisJCSAgICAgICBlcnIpOworCQlyZXR1cm4gZXJyOworCX0KIAotCWZvciAoaSA9IDAsIGVyciA9IDA7IGZpcm13YXJlW2ldLmRhdGEgJiYgIWVycjsgaSsrKSB7Ci0JCW1lbWNweShjYW0tPmNudHJsYnVmLCBmaXJtd2FyZVtpXS5kYXRhLCBmaXJtd2FyZVtpXS5zaXplKTsKKwlmb3IgKHJlYyA9ICh2b2lkICopZnctPmRhdGE7IHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCW1lbWNweShjYW0tPmNudHJsYnVmLCByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAKIAkJZXJyID0gc2VuZF9jb250cm9sX21zZyhjYW0sIDB4ZmYsIDAsIDAsCi0JCQkJICAgICAgIGNhbS0+Y250cmxidWYsIGZpcm13YXJlW2ldLnNpemUpOworCQkJCSAgICAgICBjYW0tPmNudHJsYnVmLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOworCQlpZiAoZXJyKQorCQkJYnJlYWs7CiAJfQogCisJcmVsZWFzZV9maXJtd2FyZShmdyk7CisKIAlyZXR1cm4gZXJyOwogfQogCkBAIC0xMjI2LDMgKzk1MCw0IEBACiBNT0RVTEVfQVVUSE9SKERSSVZFUl9BVVRIT1IpOwogTU9EVUxFX0RFU0NSSVBUSU9OKERSSVZFUl9ERVNDKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgidmljYW0vZmlybXdhcmUuZnciKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vdmlkZW9kZXYuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vdmlkZW9kZXYuYwppbmRleCA2N2E2NjFjLi43NjQ5ODYwIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL3ZpZGVvZGV2LmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby92aWRlb2Rldi5jCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KIApAQCAtNDQyLDYgKzQ0Myw3IEBACiAKIAlpZihtaW5vcj49VklERU9fTlVNX0RFVklDRVMpCiAJCXJldHVybiAtRU5PREVWOworCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmdmlkZW9kZXZfbG9jayk7CiAJdmZsPXZpZGVvX2RldmljZVttaW5vcl07CiAJaWYodmZsPT1OVUxMKSB7CkBAIC00NTEsNiArNDUzLDcgQEAKIAkJdmZsPXZpZGVvX2RldmljZVttaW5vcl07CiAJCWlmICh2Zmw9PU5VTEwpIHsKIAkJCW11dGV4X3VubG9jaygmdmlkZW9kZXZfbG9jayk7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gLUVOT0RFVjsKIAkJfQogCX0KQEAgLTQ2NCw2ICs0NjcsNyBAQAogCX0KIAlmb3BzX3B1dChvbGRfZm9wcyk7CiAJbXV0ZXhfdW5sb2NrKCZ2aWRlb2Rldl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmMgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGJhc2UuYwppbmRleCBkYjNjODkyLi5kNDBkNmQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGJhc2UuYworKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGJhc2UuYwpAQCAtMTY4Niw5ICsxNjg2LDE0IEBACiAJCWlvYy0+YnVzX3R5cGUgPSBTQVM7CiAJfQogCi0JaWYgKGlvYy0+YnVzX3R5cGUgPT0gU0FTICYmIG1wdF9tc2lfZW5hYmxlID09IC0xKQotCQlpb2MtPm1zaV9lbmFibGUgPSAxOwotCWVsc2UKKwlpZiAobXB0X21zaV9lbmFibGUgPT0gLTEpIHsKKwkJLyogRW5hYmxlIG9uIFNBUywgZGlzYWJsZSBvbiBGQyBhbmQgU1BJICovCisJCWlmIChpb2MtPmJ1c190eXBlID09IFNBUykKKwkJCWlvYy0+bXNpX2VuYWJsZSA9IDE7CisJCWVsc2UKKwkJCWlvYy0+bXNpX2VuYWJsZSA9IDA7CisJfSBlbHNlCisJCS8qIGZvbGxvdyBmbGFnOiAwIC0gZGlzYWJsZTsgMSAtIGVuYWJsZSAqLwogCQlpb2MtPm1zaV9lbmFibGUgPSBtcHRfbXNpX2VuYWJsZTsKIAogCWlmIChpb2MtPmVycmF0YV9mbGFnXzEwNjQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0bC5jIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRjdGwuYwppbmRleCBlNjMwYjUwLi5jNTk0NjU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0bC5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0Y3RsLmMKQEAgLTU0OCwxMSArNTQ4LDE1IEBACiBtcHRjdGxfZmFzeW5jKGludCBmZCwgc3RydWN0IGZpbGUgKmZpbGVwLCBpbnQgbW9kZSkKIHsKIAlNUFRfQURBUFRFUgkqaW9jOworCWludCByZXQ7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoaW9jLCAmaW9jX2xpc3QsIGxpc3QpCiAJCWlvYy0+YWVuX2V2ZW50X3JlYWRfZmxhZz0wOwogCi0JcmV0dXJuIGZhc3luY19oZWxwZXIoZmQsIGZpbGVwLCBtb2RlLCAmYXN5bmNfcXVldWUpOworCXJldCA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGVwLCBtb2RlLCAmYXN5bmNfcXVldWUpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNwaS5jIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRzcGkuYwppbmRleCAyNWJjZmNmLi4xZWZmY2E0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNwaS5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0c3BpLmMKQEAgLTEyNjYsMTMgKzEyNjYsMTggQEAKIHN0YXRpYyBpbnQKIG1wdHNwaV9pb2NfcmVzZXQoTVBUX0FEQVBURVIgKmlvYywgaW50IHJlc2V0X3BoYXNlKQogewotCXN0cnVjdCBfTVBUX1NDU0lfSE9TVCAqaGQgPSBzaG9zdF9wcml2KGlvYy0+c2gpOwogCWludCByYzsKIAogCXJjID0gbXB0c2NzaWhfaW9jX3Jlc2V0KGlvYywgcmVzZXRfcGhhc2UpOwogCi0JaWYgKHJlc2V0X3BoYXNlID09IE1QVF9JT0NfUE9TVF9SRVNFVCkKKwkvKiBvbmx5IHRyeSB0byBkbyBhIHJlbmVnb3RpYXRpb24gaWYgd2UncmUgcHJvcGVybHkgc2V0IHVwCisJICogaWYgd2UgZ2V0IGFuIGlvYyBmYXVsdCBvbiBicmluZ3VwLCBpb2MtPnNoIHdpbGwgYmUgTlVMTCAqLworCWlmIChyZXNldF9waGFzZSA9PSBNUFRfSU9DX1BPU1RfUkVTRVQgJiYKKwkgICAgaW9jLT5zaCkgeworCQlzdHJ1Y3QgX01QVF9TQ1NJX0hPU1QgKmhkID0gc2hvc3RfcHJpdihpb2MtPnNoKTsKKwogCQltcHRzcGlfZHZfcmVuZWdvdGlhdGUoaGQpOworCX0KIAogCXJldHVybiByYzsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jIGIvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fY29uZmlnLmMKaW5kZXggYzBmYjc3ZC4uNDIzOGRlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fY29uZmlnLmMKKysrIGIvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fY29uZmlnLmMKQEAgLTEwNjEsNiArMTA2MSw3IEBACiAJaWYgKCF0bXApCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSAodm9pZCAqKShpMm9fY2ZnX2luZm9faWQrKyk7CiAJdG1wLT5mcCA9IGZpbGU7CiAJdG1wLT5mYXN5bmMgPSBOVUxMOwpAQCAtMTA3NCw2ICsxMDc1LDcgQEAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaTJvX2NvbmZpZ19sb2NrLCBmbGFncyk7CiAJb3Blbl9maWxlcyA9IHRtcDsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpMm9fY29uZmlnX2xvY2ssIGZsYWdzKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwODIsMTUgKzEwODQsMTcgQEAKIHsKIAl1bG9uZyBpZCA9ICh1bG9uZykgZnAtPnByaXZhdGVfZGF0YTsKIAlzdHJ1Y3QgaTJvX2NmZ19pbmZvICpwOworCWludCByZXQgPSAtRUJBREY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWZvciAocCA9IG9wZW5fZmlsZXM7IHA7IHAgPSBwLT5uZXh0KQogCQlpZiAocC0+cV9pZCA9PSBpZCkKIAkJCWJyZWFrOwogCi0JaWYgKCFwKQotCQlyZXR1cm4gLUVCQURGOwotCi0JcmV0dXJuIGZhc3luY19oZWxwZXIoZmQsIGZwLCBvbiwgJnAtPmZhc3luYyk7CisJaWYgKHApCisJCXJldCA9IGZhc3luY19oZWxwZXIoZmQsIGZwLCBvbiwgJnAtPmZhc3luYyk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgY2ZnX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvYXRtZWxfcHdtLmMgYi9kcml2ZXJzL21pc2MvYXRtZWxfcHdtLmMKaW5kZXggMGQ1Y2UwMy4uNWI1YTE0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL2F0bWVsX3B3bS5jCisrKyBiL2RyaXZlcnMvbWlzYy9hdG1lbF9wd20uYwpAQCAtMzMyLDcgKzMzMiw3IEBACiAJcC0+YmFzZSA9IGlvcmVtYXAoci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSk7CiAJaWYgKCFwLT5iYXNlKQogCQlnb3RvIGZhaWw7Ci0JcC0+Y2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAibWNrIik7CisJcC0+Y2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAicHdtX2NsayIpOwogCWlmIChJU19FUlIocC0+Y2xrKSkgewogCQlzdGF0dXMgPSBQVFJfRVJSKHAtPmNsayk7CiAJCXAtPmNsayA9IE5VTEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvaGRwdWZ0cnMvaGRwdV9jcHVzdGF0ZS5jIGIvZHJpdmVycy9taXNjL2hkcHVmdHJzL2hkcHVfY3B1c3RhdGUuYwppbmRleCBmZjUxYWI2Li4xNzZmZTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvaGRwdWZ0cnMvaGRwdV9jcHVzdGF0ZS5jCisrKyBiL2RyaXZlcnMvbWlzYy9oZHB1ZnRycy9oZHB1X2NwdXN0YXRlLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9oZHB1X2ZlYXR1cmVzLmg+CkBAIC0xNTEsNyArMTUyLDEzIEBACiAKIHN0YXRpYyBpbnQgY3B1c3RhdGVfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlyZXR1cm4gY3B1c3RhdGVfZ2V0X3JlZigoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkpOworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IGNwdXN0YXRlX2dldF9yZWYoKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKTsKKwl1bmxvY2tfa2VybmVsKCk7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNwdXN0YXRlX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvcGhhbnRvbS5jIGIvZHJpdmVycy9taXNjL3BoYW50b20uYwppbmRleCA3MWQxYzg0Li4xODYxNjI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvcGhhbnRvbS5jCisrKyBiL2RyaXZlcnMvbWlzYy9waGFudG9tLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvcGhhbnRvbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC0yMTIsMTMgKzIxMywxNyBAQAogCXN0cnVjdCBwaGFudG9tX2RldmljZSAqZGV2ID0gY29udGFpbmVyX29mKGlub2RlLT5pX2NkZXYsCiAJCQlzdHJ1Y3QgcGhhbnRvbV9kZXZpY2UsIGNkZXYpOwogCisJbG9ja19rZXJuZWwoKTsKIAlub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIAotCWlmIChtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+b3Blbl9sb2NrKSkKKwlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYtPm9wZW5fbG9jaykpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVSRVNUQVJUU1lTOworCX0KIAogCWlmIChkZXYtPm9wZW5lZCkgewogCQltdXRleF91bmxvY2soJmRldi0+b3Blbl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKQEAgLTIyOSw3ICsyMzQsNyBAQAogCWF0b21pY19zZXQoJmRldi0+Y291bnRlciwgMCk7CiAJZGV2LT5vcGVuZWQrKzsKIAltdXRleF91bmxvY2soJmRldi0+b3Blbl9sb2NrKTsKLQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMgYi9kcml2ZXJzL21pc2Mvc29ueS1sYXB0b3AuYwppbmRleCAwMGU0OGUyLi42MDc3NWJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2Mvc29ueS1sYXB0b3AuYworKysgYi9kcml2ZXJzL21pc2Mvc29ueS1sYXB0b3AuYwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9iYWNrbGlnaHQuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KQEAgLTE5MjcsOCArMTkyOCwxMCBAQAogc3RhdGljIGludCBzb255cGlfbWlzY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCS8qIEZsdXNoIGlucHV0IHF1ZXVlIG9uIGZpcnN0IG9wZW4gKi8KKwlsb2NrX2tlcm5lbCgpOwogCWlmIChhdG9taWNfaW5jX3JldHVybigmc29ueXBpX2NvbXBhdC5vcGVuX2NvdW50KSA9PSAxKQogCQlrZmlmb19yZXNldChzb255cGlfY29tcGF0LmZpZm8pOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tbWMvaG9zdC9pbXhtbWMuYyBiL2RyaXZlcnMvbW1jL2hvc3QvaW14bW1jLmMKaW5kZXggOTVmMzNlOC4uZWVkMjExYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9pbXhtbWMuYworKysgYi9kcml2ZXJzL21tYy9ob3N0L2lteG1tYy5jCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSA8bGludXgvbW1jL2hvc3QuaD4KICNpbmNsdWRlIDxsaW51eC9tbWMvY2FyZC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAKICNpbmNsdWRlIDxhc20vZG1hLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC05Miw2ICs5Myw4IEBACiAJdW5zaWduZWQgY2hhcgkJYWN0dWFsX2J1c193aWR0aDsKIAogCWludAkJCXByZXZfY21kX2NvZGU7CisKKwlzdHJ1Y3QgY2xrCQkqY2xrOwogfTsKIAogI2RlZmluZSBJTVhNQ0lfUEVORF9JUlFfYgkwCkBAIC04NDEsNyArODQ0LDcgQEAKIAkJLyogVGhlIHByZXNjYWxlciBpcyA1IGZvciBQRVJDTEsyIGVxdWFsIHRvIDk2TUh6CiAJCSAqIHRoZW4gOTZNSHogLyA1ID0gMTkuMiBNSHoKIAkJICovCi0JCWNsaz1pbXhfZ2V0X3BlcmNsazIoKTsKKwkJY2xrID0gY2xrX2dldF9yYXRlKGhvc3QtPmNsayk7CiAJCXByZXNjYWxlcj0oY2xrKyhDTEtfUkFURSo3KS84KS9DTEtfUkFURTsKIAkJc3dpdGNoKHByZXNjYWxlcikgewogCQljYXNlIDA6CkBAIC05OTQsNiArOTk3LDEzIEBACiAJaG9zdC0+cmVzID0gcjsKIAlob3N0LT5pcnEgPSBpcnE7CiAKKwlob3N0LT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJwZXJjbGsyIik7CisJaWYgKElTX0VSUihob3N0LT5jbGspKSB7CisJCXJldCA9IFBUUl9FUlIoaG9zdC0+Y2xrKTsKKwkJZ290byBvdXQ7CisJfQorCWNsa19lbmFibGUoaG9zdC0+Y2xrKTsKKwogCWlteF9ncGlvX21vZGUoUEI4X1BGX1NEX0RBVDApOwogCWlteF9ncGlvX21vZGUoUEI5X1BGX1NEX0RBVDEpOwogCWlteF9ncGlvX21vZGUoUEIxMF9QRl9TRF9EQVQyKTsKQEAgLTEwMTcsOCArMTAyNyw4IEBACiAJaG9zdC0+aW1hc2sgPSBJTVhNQ0lfSU5UX01BU0tfREVGQVVMVDsKIAlNTUNfSU5UX01BU0sgPSBob3N0LT5pbWFzazsKIAotCi0JaWYoaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oJmhvc3QtPmRtYSwgRFJJVkVSX05BTUUsIERNQV9QUklPX0xPVyk8MCl7CisJaG9zdC0+ZG1hID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oRFJJVkVSX05BTUUsIERNQV9QUklPX0xPVyk7CisJaWYoaG9zdC0+ZG1hIDwgMCkgewogCQlkZXZfZXJyKG1tY19kZXYoaG9zdC0+bW1jKSwgImlteF9kbWFfcmVxdWVzdF9ieV9wcmlvIGZhaWxlZFxuIik7CiAJCXJldCA9IC1FQlVTWTsKIAkJZ290byBvdXQ7CkBAIC0xMDUzLDYgKzEwNjMsMTAgQEAKIAkJCWlteF9kbWFfZnJlZShob3N0LT5kbWEpOwogCQkJaG9zdC0+ZG1hX2FsbG9jYXRlZD0wOwogCQl9CisJCWlmIChob3N0LT5jbGspIHsKKwkJCWNsa19kaXNhYmxlKGhvc3QtPmNsayk7CisJCQljbGtfcHV0KGhvc3QtPmNsayk7CisJCX0KIAl9CiAJaWYgKG1tYykKIAkJbW1jX2ZyZWVfaG9zdChtbWMpOwpAQCAtMTA4Miw2ICsxMDk2LDkgQEAKIAogCQl0YXNrbGV0X2tpbGwoJmhvc3QtPnRhc2tsZXQpOwogCisJCWNsa19kaXNhYmxlKGhvc3QtPmNsayk7CisJCWNsa19wdXQoaG9zdC0+Y2xrKTsKKwogCQlyZWxlYXNlX3Jlc291cmNlKGhvc3QtPnJlcyk7CiAKIAkJbW1jX2ZyZWVfaG9zdChtbWMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvZnRsLmMgYi9kcml2ZXJzL210ZC9mdGwuYwppbmRleCA0YTc5YjE4Li41YzI5ODcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9mdGwuYworKysgYi9kcml2ZXJzL210ZC9mdGwuYwpAQCAtMTMwLDEwICsxMzAsNiBAQAogICAgIHVfaW50MTZfdAkJRGF0YVVuaXRzOwogICAgIHVfaW50MzJfdAkJQmxvY2tzUGVyVW5pdDsKICAgICBlcmFzZV91bml0X2hlYWRlcl90CWhlYWRlcjsKLSNpZiAwCi0gICAgcmVnaW9uX2luZm9fdAlyZWdpb247Ci0gICAgbWVtb3J5X2hhbmRsZV90CWhhbmRsZTsKLSNlbmRpZgogfSBwYXJ0aXRpb25fdDsKIAogLyogUGFydGl0aW9uIHN0YXRlIGZsYWdzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tYXBzL29tYXBfbm9yLmMgYi9kcml2ZXJzL210ZC9tYXBzL29tYXBfbm9yLmMKaW5kZXggYzEyZDgwNS4uNjhlZWM2YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbWFwcy9vbWFwX25vci5jCisrKyBiL2RyaXZlcnMvbXRkL21hcHMvb21hcF9ub3IuYwpAQCAtNjAsMTMgKzYwLDIyIEBACiBzdGF0aWMgdm9pZCBvbWFwX3NldF92cHAoc3RydWN0IG1hcF9pbmZvICptYXAsIGludCBlbmFibGUpCiB7CiAJc3RhdGljIGludAljb3VudDsKKwl1MzIgbDsKIAotCWlmIChlbmFibGUpIHsKLQkJaWYgKGNvdW50KysgPT0gMCkKLQkJCU9NQVBfRU1JRlNfQ09ORklHX1JFRyB8PSBPTUFQX0VNSUZTX0NPTkZJR19XUDsKLQl9IGVsc2UgewotCQlpZiAoY291bnQgJiYgKC0tY291bnQgPT0gMCkpCi0JCQlPTUFQX0VNSUZTX0NPTkZJR19SRUcgJj0gfk9NQVBfRU1JRlNfQ09ORklHX1dQOworCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgeworCQlpZiAoZW5hYmxlKSB7CisJCQlpZiAoY291bnQrKyA9PSAwKSB7CisJCQkJbCA9IG9tYXBfcmVhZGwoRU1JRlNfQ09ORklHKTsKKwkJCQlsIHw9IE9NQVBfRU1JRlNfQ09ORklHX1dQOworCQkJCW9tYXBfd3JpdGVsKGwsIEVNSUZTX0NPTkZJRyk7CisJCQl9CisJCX0gZWxzZSB7CisJCQlpZiAoY291bnQgJiYgKC0tY291bnQgPT0gMCkpIHsKKwkJCQlsID0gb21hcF9yZWFkbChFTUlGU19DT05GSUcpOworCQkJCWwgJj0gfk9NQVBfRU1JRlNfQ09ORklHX1dQOworCQkJCW9tYXBfd3JpdGVsKGwsIEVNSUZTX0NPTkZJRyk7CisJCQl9CisJCX0KIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL21hcHMvcGNtY2lhbXRkLmMgYi9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jCmluZGV4IDE5MTJkOTYuLjBjYzMxNjc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jCisrKyBiL2RyaXZlcnMvbXRkL21hcHMvcGNtY2lhbXRkLmMKQEAgLTQ5OCwxNyArNDk4LDE0IEBACiAJaW50IGk7CiAJY29uZmlnX2luZm9fdCB0OwogCXN0YXRpYyBjaGFyICpwcm9iZXNbXSA9IHsgImplZGVjX3Byb2JlIiwgImNmaV9wcm9iZSIgfTsKLQljaXNpbmZvX3QgY2lzaW5mbzsKIAlpbnQgbmV3X25hbWUgPSAwOwogCiAJREVCVUcoMywgImxpbms9MHglcCIsIGxpbmspOwogCiAJREVCVUcoMiwgIlZhbGlkYXRpbmcgQ0lTIik7Ci0JcmV0ID0gcGNtY2lhX3ZhbGlkYXRlX2NpcyhsaW5rLCAmY2lzaW5mbyk7CisJcmV0ID0gcGNtY2lhX3ZhbGlkYXRlX2NpcyhsaW5rLCBOVUxMKTsKIAlpZihyZXQgIT0gQ1NfU1VDQ0VTUykgewogCQljc19lcnJvcihsaW5rLCBHZXRUdXBsZURhdGEsIHJldCk7Ci0JfSBlbHNlIHsKLQkJREVCVUcoMiwgIlZhbGlkYXRlQ0lTIGZvdW5kICVkIGNoYWlucyIsIGNpc2luZm8uQ2hhaW5zKTsKIAl9CiAKIAljYXJkX3NldHRpbmdzKGRldiwgbGluaywgJm5ld19uYW1lKTsKQEAgLTU2Myw5ICs1NjAsNyBAQAogCURFQlVHKDEsICJBbGxvY2F0ZWQgYSB3aW5kb3cgb2YgJWRLaUIiLCBkZXYtPndpbl9zaXplID4+IDEwKTsKIAogCS8qIEdldCB3cml0ZSBwcm90ZWN0IHN0YXR1cyAqLwotCUNTX0NIRUNLKEdldFN0YXR1cywgcGNtY2lhX2dldF9zdGF0dXMobGluaywgJnN0YXR1cykpOwotCURFQlVHKDIsICJzdGF0dXMgdmFsdWU6IDB4JXggd2luZG93IGhhbmRsZSA9IDB4JTguOGx4IiwKLQkgICAgICBzdGF0dXMuQ2FyZFN0YXRlLCAodW5zaWduZWQgbG9uZylsaW5rLT53aW4pOworCURFQlVHKDIsICJ3aW5kb3cgaGFuZGxlID0gMHglOC44bHgiLCAodW5zaWduZWQgbG9uZylsaW5rLT53aW4pOwogCWRldi0+d2luX2Jhc2UgPSBpb3JlbWFwKHJlcS5CYXNlLCByZXEuU2l6ZSk7CiAJaWYoIWRldi0+d2luX2Jhc2UpIHsKIAkJZXJyKCJpb3JlbWFwKCVsdSwgJXUpIGZhaWxlZCIsIHJlcS5CYXNlLCByZXEuU2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tdGRjaGFyLmMgYi9kcml2ZXJzL210ZC9tdGRjaGFyLmMKaW5kZXggNWQzYWM1MS4uMTI5ZDQyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbXRkY2hhci5jCisrKyBiL2RyaXZlcnMvbXRkL210ZGNoYXIuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL2NvbXBhdG1hYy5oPgpAQCAtODYsNiArODcsNyBAQAogewogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAJaW50IGRldm51bSA9IG1pbm9yID4+IDE7CisJaW50IHJldCA9IDA7CiAJc3RydWN0IG10ZF9pbmZvICptdGQ7CiAJc3RydWN0IG10ZF9maWxlX2luZm8gKm1maTsKIApAQCAtOTgsMzEgKzEwMCwzOSBAQAogCWlmICgoZmlsZS0+Zl9tb2RlICYgMikgJiYgKG1pbm9yICYgMSkpCiAJCXJldHVybiAtRUFDQ0VTOwogCisJbG9ja19rZXJuZWwoKTsKIAltdGQgPSBnZXRfbXRkX2RldmljZShOVUxMLCBkZXZudW0pOwogCi0JaWYgKElTX0VSUihtdGQpKQotCQlyZXR1cm4gUFRSX0VSUihtdGQpOworCWlmIChJU19FUlIobXRkKSkgeworCQlyZXQgPSBQVFJfRVJSKG10ZCk7CisJCWdvdG8gb3V0OworCX0KIAogCWlmIChNVERfQUJTRU5UID09IG10ZC0+dHlwZSkgewogCQlwdXRfbXRkX2RldmljZShtdGQpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyogWW91IGNhbid0IG9wZW4gaXQgUlcgaWYgaXQncyBub3QgYSB3cml0ZWFibGUgZGV2aWNlICovCiAJaWYgKChmaWxlLT5mX21vZGUgJiAyKSAmJiAhKG10ZC0+ZmxhZ3MgJiBNVERfV1JJVEVBQkxFKSkgewogCQlwdXRfbXRkX2RldmljZShtdGQpOwotCQlyZXR1cm4gLUVBQ0NFUzsKKwkJcmV0ID0gLUVBQ0NFUzsKKwkJZ290byBvdXQ7CiAJfQogCiAJbWZpID0ga3phbGxvYyhzaXplb2YoKm1maSksIEdGUF9LRVJORUwpOwogCWlmICghbWZpKSB7CiAJCXB1dF9tdGRfZGV2aWNlKG10ZCk7Ci0JCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKIAl9CiAJbWZpLT5tdGQgPSBtdGQ7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gbWZpOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9IC8qIG10ZF9vcGVuICovCiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL29yaW9uX25hbmQuYwppbmRleCA1OWUwNWExLi5lZTJhYzM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9uYW5kL29yaW9uX25hbmQuYworKysgYi9kcml2ZXJzL210ZC9uYW5kL29yaW9uX25hbmQuYwpAQCAtODUsNiArODUsOSBAQAogCW5jLT5jbWRfY3RybCA9IG9yaW9uX25hbmRfY21kX2N0cmw7CiAJbmMtPmVjYy5tb2RlID0gTkFORF9FQ0NfU09GVDsKIAorCWlmIChib2FyZC0+Y2hpcF9kZWxheSkKKwkJbmMtPmNoaXBfZGVsYXkgPSBib2FyZC0+Y2hpcF9kZWxheTsKKwogCWlmIChib2FyZC0+d2lkdGggPT0gMTYpCiAJCW5jLT5vcHRpb25zIHw9IE5BTkRfQlVTV0lEVEhfMTY7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL3ViaS9jZGV2LmMgYi9kcml2ZXJzL210ZC91YmkvY2Rldi5jCmluZGV4IDlkNmFhZTUuLjg5MTkzYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL3ViaS9jZGV2LmMKKysrIGIvZHJpdmVycy9tdGQvdWJpL2NkZXYuYwpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPG10ZC91YmktdXNlci5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CkBAIC0xMDMsOSArMTA0LDEyIEBACiAJc3RydWN0IHViaV92b2x1bWVfZGVzYyAqZGVzYzsKIAlpbnQgdm9sX2lkID0gaW1pbm9yKGlub2RlKSAtIDEsIG1vZGUsIHViaV9udW07CiAKKwlsb2NrX2tlcm5lbCgpOwogCXViaV9udW0gPSB1YmlfbWFqb3IybnVtKGltYWpvcihpbm9kZSkpOwotCWlmICh1YmlfbnVtIDwgMCkKKwlpZiAodWJpX251bSA8IDApIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gdWJpX251bTsKKwl9CiAKIAlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCiAJCW1vZGUgPSBVQklfUkVBRFdSSVRFOwpAQCAtMTE1LDYgKzExOSw3IEBACiAJZGJnX21zZygib3BlbiB2b2x1bWUgJWQsIG1vZGUgJWQiLCB2b2xfaWQsIG1vZGUpOwogCiAJZGVzYyA9IHViaV9vcGVuX3ZvbHVtZSh1YmlfbnVtLCB2b2xfaWQsIG1vZGUpOworCXVubG9ja19rZXJuZWwoKTsKIAlpZiAoSVNfRVJSKGRlc2MpKQogCQlyZXR1cm4gUFRSX0VSUihkZXNjKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvS2NvbmZpZyBiL2RyaXZlcnMvbmV0L0tjb25maWcKaW5kZXggZjQxODJjZi4uNDVhNDFiNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvS2NvbmZpZworKysgYi9kcml2ZXJzL25ldC9LY29uZmlnCkBAIC0yMTcsNyArMjE3LDcgQEAKIAogY29uZmlnIE1BQ0IKIAl0cmlzdGF0ZSAiQXRtZWwgTUFDQiBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVZSMzIgfHwgQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05MjYzIHx8IEFSQ0hfQVQ5MUNBUDkKKwlkZXBlbmRzIG9uIEFWUjMyIHx8IEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05RzIwIHx8IEFSQ0hfQVQ5MUNBUDkKIAlzZWxlY3QgUEhZTElCCiAJaGVscAogCSAgVGhlIEF0bWVsIE1BQ0IgZXRoZXJuZXQgaW50ZXJmYWNlIGlzIGZvdW5kIG9uIG1hbnkgQVQzMiBhbmQgQVQ5MQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYXJtL2V0aGVyaC5jIGIvZHJpdmVycy9uZXQvYXJtL2V0aGVyaC5jCmluZGV4IDAwMDgxZDIuLmU5ZDE1ZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2FybS9ldGhlcmguYworKysgYi9kcml2ZXJzL25ldC9hcm0vZXRoZXJoLmMKQEAgLTY0Nyw3ICs2NDcsNyBAQAogCXN0cnVjdCBlaV9kZXZpY2UgKmVpX2xvY2FsOwogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXY7CiAJc3RydWN0IGV0aGVyaF9wcml2ICplaDsKLQlpbnQgaSwgcmV0OworCWludCByZXQ7CiAJREVDTEFSRV9NQUNfQlVGKG1hYyk7CiAKIAlldGhlcmhfYmFubmVyKCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaCBiL2RyaXZlcnMvbmV0L2N4Z2IzL2NvbW1vbi5oCmluZGV4IDU3OWJlZTQuLjhlOGViZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL2NvbW1vbi5oCisrKyBiL2RyaXZlcnMvbmV0L2N4Z2IzL2NvbW1vbi5oCkBAIC02ODYsOCArNjg2LDkgQEAKIGludCB0M19zZWVwcm9tX3dwKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBpbnQgZW5hYmxlKTsKIGludCB0M19nZXRfdHBfdmVyc2lvbihzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdTMyICp2ZXJzKTsKIGludCB0M19jaGVja190cHNyYW1fdmVyc2lvbihzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50ICptdXN0X2xvYWQpOwotaW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdTggKnRwX3JhbSwgdW5zaWduZWQgaW50IHNpemUpOwotaW50IHQzX3NldF9wcm90b19zcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwLCB1OCAqZGF0YSk7CitpbnQgdDNfY2hlY2tfdHBzcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBjb25zdCB1OCAqdHBfcmFtLAorCQkgICAgdW5zaWduZWQgaW50IHNpemUpOworaW50IHQzX3NldF9wcm90b19zcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwLCBjb25zdCB1OCAqZGF0YSk7CiBpbnQgdDNfcmVhZF9mbGFzaChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdW5zaWduZWQgaW50IGFkZHIsCiAJCSAgdW5zaWduZWQgaW50IG53b3JkcywgdTMyICpkYXRhLCBpbnQgYnl0ZV9vcmllbnRlZCk7CiBpbnQgdDNfbG9hZF9mdyhzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgY29uc3QgdTggKiBmd19kYXRhLCB1bnNpZ25lZCBpbnQgc2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19jdGxfZGVmcy5oIGIvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfY3RsX2RlZnMuaAppbmRleCA2YzRmMzIwLi5lZDBlY2Q5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19jdGxfZGVmcy5oCisrKyBiL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX2N0bF9kZWZzLmgKQEAgLTU0LDYgKzU0LDcgQEAKIAlSRE1BX0NRX0RJU0FCTEUJCT0gMTYsCiAJUkRNQV9DVFJMX1FQX1NFVFVQCT0gMTcsCiAJUkRNQV9HRVRfTUVNCQk9IDE4LAorCVJETUFfR0VUX01JQgkJPSAxOSwKIAogCUdFVF9SWF9QQUdFX0lORk8JPSA1MCwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19vZmZsb2FkLmMgYi9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19vZmZsb2FkLmMKaW5kZXggZmY5YzAxMy4uY2YyNjk2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfb2ZmbG9hZC5jCisrKyBiL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX29mZmxvYWQuYwpAQCAtMzAzLDYgKzMwMywxMiBAQAogCQlzcGluX3VubG9ja19pcnEoJmFkYXB0ZXItPnNnZS5yZWdfbG9jayk7CiAJCWJyZWFrOwogCX0KKwljYXNlIFJETUFfR0VUX01JQjogeworCQlzcGluX2xvY2soJmFkYXB0ZXItPnN0YXRzX2xvY2spOworCQl0M190cF9nZXRfbWliX3N0YXRzKGFkYXB0ZXIsIChzdHJ1Y3QgdHBfbWliX3N0YXRzICopZGF0YSk7CisJCXNwaW5fdW5sb2NrKCZhZGFwdGVyLT5zdGF0c19sb2NrKTsKKwkJYnJlYWs7CisJfQogCWRlZmF1bHQ6CiAJCXJldCA9IC1FT1BOT1RTVVBQOwogCX0KQEAgLTM4MSw2ICszODcsNyBAQAogCWNhc2UgUkRNQV9DUV9ESVNBQkxFOgogCWNhc2UgUkRNQV9DVFJMX1FQX1NFVFVQOgogCWNhc2UgUkRNQV9HRVRfTUVNOgorCWNhc2UgUkRNQV9HRVRfTUlCOgogCQlpZiAoIW9mZmxvYWRfcnVubmluZyhhZGFwdGVyKSkKIAkJCXJldHVybiAtRUFHQUlOOwogCQlyZXR1cm4gY3hnYl9yZG1hX2N0bChhZGFwdGVyLCByZXEsIGRhdGEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvdDNfaHcuYyBiL2RyaXZlcnMvbmV0L2N4Z2IzL3QzX2h3LmMKaW5kZXggZDQwNWE5My4uNDdkNTE3OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY3hnYjMvdDNfaHcuYworKysgYi9kcml2ZXJzL25ldC9jeGdiMy90M19ody5jCkBAIC05MjMsNyArOTIzLDggQEAKICAqCUNoZWNrcyBpZiBhbiBhZGFwdGVyJ3MgdHAgc3JhbSBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGRyaXZlci4KICAqCVJldHVybnMgMCBpZiB0aGUgdmVyc2lvbnMgYXJlIGNvbXBhdGlibGUsIGEgbmVnYXRpdmUgZXJyb3Igb3RoZXJ3aXNlLgogICovCi1pbnQgdDNfY2hlY2tfdHBzcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCB1OCAqdHBfc3JhbSwgdW5zaWduZWQgaW50IHNpemUpCitpbnQgdDNfY2hlY2tfdHBzcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBjb25zdCB1OCAqdHBfc3JhbSwKKwkJICAgIHVuc2lnbmVkIGludCBzaXplKQogewogCXUzMiBjc3VtOwogCXVuc2lnbmVkIGludCBpOwpAQCAtMjg3NSwxMCArMjg3NiwxMCBAQAogICoKICAqCVdyaXRlIHRoZSBjb250ZW50cyBvZiB0aGUgcHJvdG9jb2wgU1JBTS4KICAqLwotaW50IHQzX3NldF9wcm90b19zcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwLCB1OCAqZGF0YSkKK2ludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgY29uc3QgdTggKmRhdGEpCiB7CiAJaW50IGk7Ci0JX19iZTMyICpidWYgPSAoX19iZTMyICopZGF0YTsKKwljb25zdCBfX2JlMzIgKmJ1ZiA9IChjb25zdCBfX2JlMzIgKilkYXRhOwogCiAJZm9yIChpID0gMDsgaSA8IFBST1RPX1NSQU1fTElORVM7IGkrKykgewogCQl0M193cml0ZV9yZWcoYWRhcCwgQV9UUF9FTUJFRF9PUF9GSUVMRDUsIGJlMzJfdG9fY3B1KCpidWYrKykpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvdmVyc2lvbi5oIGIvZHJpdmVycy9uZXQvY3hnYjMvdmVyc2lvbi5oCmluZGV4IGEwMTc3ZmMuLjI5ZGI3MTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL3ZlcnNpb24uaAorKysgYi9kcml2ZXJzL25ldC9jeGdiMy92ZXJzaW9uLmgKQEAgLTM4LDcgKzM4LDcgQEAKICNkZWZpbmUgRFJWX1ZFUlNJT04gIjEuMC1rbyIKIAogLyogRmlybXdhcmUgdmVyc2lvbiAqLwotI2RlZmluZSBGV19WRVJTSU9OX01BSk9SIDYKKyNkZWZpbmUgRldfVkVSU0lPTl9NQUpPUiA3CiAjZGVmaW5lIEZXX1ZFUlNJT05fTUlOT1IgMAogI2RlZmluZSBGV19WRVJTSU9OX01JQ1JPIDAKICNlbmRpZgkJCQkvKiBfX0NIRUxTSU9fVkVSU0lPTl9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL2lyZGEtdXNiLmMgYi9kcml2ZXJzL25ldC9pcmRhL2lyZGEtdXNiLmMKaW5kZXggNmY1MGVkNy4uMThiNDcxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9pcmRhLXVzYi5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvaXJkYS11c2IuYwpAQCAtMTAyNCw3ICsxMDI0LDcgQEAKICAqICAgVXBsb2FkIGZpcm13YXJlIGNvZGUgdG8gU2lnbWFUZWwgNDIxWCBJUkRBLVVTQiBkb25nbGUKICAqLwogc3RhdGljIGludCBzdGlyNDIxeF9md191cGxvYWQoc3RydWN0IGlyZGFfdXNiX2NiICpzZWxmLAotCQkJICAgICB1bnNpZ25lZCBjaGFyICpwYXRjaCwKKwkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcGF0Y2gsCiAJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGludCBwYXRjaF9sZW4pCiB7CiAgICAgICAgIGludCByZXQgPSAtRU5PTUVNOwpAQCAtMTA3MywxMSArMTA3MywxMSBAQAogICAqLwogc3RhdGljIGludCBzdGlyNDIxeF9wYXRjaF9kZXZpY2Uoc3RydWN0IGlyZGFfdXNiX2NiICpzZWxmKQogewotICAgICAgICB1bnNpZ25lZCBpbnQgaTsKLSAgICAgICAgaW50IHJldDsKLSAgICAgICAgY2hhciBzdGlyNDIxeF9md19uYW1lWzExXTsKLSAgICAgICAgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKLSAgICAgICAgdW5zaWduZWQgY2hhciAqZndfdmVyc2lvbl9wdHI7IC8qIHBvaW50ZXIgdG8gdmVyc2lvbiBzdHJpbmcgKi8KKwl1bnNpZ25lZCBpbnQgaTsKKwlpbnQgcmV0OworCWNoYXIgc3RpcjQyMXhfZndfbmFtZVsxMV07CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpmd192ZXJzaW9uX3B0cjsgLyogcG9pbnRlciB0byB2ZXJzaW9uIHN0cmluZyAqLwogCXVuc2lnbmVkIGxvbmcgZndfdmVyc2lvbiA9IDA7CiAKICAgICAgICAgLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lyZGEvbnNjLWlyY2MuYyBiL2RyaXZlcnMvbmV0L2lyZGEvbnNjLWlyY2MuYwppbmRleCBhNzcxNGRhLi5lZmZjMWNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmMKKysrIGIvZHJpdmVycy9uZXQvaXJkYS9uc2MtaXJjYy5jCkBAIC0xNTIsNiArMTUyLDcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcG5wX2RldmljZV9pZCBuc2NfaXJjY19wbnBfdGFibGVbXSA9IHsKIAl7IC5pZCA9ICJOU0M2MDAxIiwgLmRyaXZlcl9kYXRhID0gMCB9LAogCXsgLmlkID0gIklCTTAwNzEiLCAuZHJpdmVyX2RhdGEgPSAwIH0sCisJeyAuaWQgPSAiSFdQQzIyNCIsIC5kcml2ZXJfZGF0YSA9IDAgfSwKIAl7IH0KIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jIGIvZHJpdmVycy9uZXQvaXJkYS9weGFmaWNwX2lyLmMKaW5kZXggZDVjMmQyNy4uZjc2YjBiNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9weGFmaWNwX2lyLmMKKysrIGIvZHJpdmVycy9uZXQvaXJkYS9weGFmaWNwX2lyLmMKQEAgLTEzLDE2ICsxMyw4IEBACiAgKgogICovCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9wbS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCiAjaW5jbHVkZSA8bmV0L2lyZGEvaXJkYS5oPgpAQCAtMzAsMTcgKzIyLDkgQEAKICNpbmNsdWRlIDxuZXQvaXJkYS93cmFwcGVyLmg+CiAjaW5jbHVkZSA8bmV0L2lyZGEvaXJkYV9kZXZpY2UuaD4KIAotI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2RlbGF5Lmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJkYS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KLQotI2lmZGVmIENPTkZJR19NQUNIX01BSU5TVE9ORQotI2luY2x1ZGUgPGFzbS9hcmNoL21haW5zdG9uZS5oPgotI2VuZGlmCiAKICNkZWZpbmUgSXJTUl9SWFBMX05FR19JU19aRVJPICgxPDw0KQogI2RlZmluZSBJclNSX1JYUExfUE9TX0lTX1pFUk8gMHgwCkBAIC0xNjMsMTAgKzE0Nyw2IEBACiAJCQkvKiBzZXQgYm9hcmQgdHJhbnNjZWl2ZXIgdG8gU0lSIG1vZGUgKi8KIAkJCXNpLT5wZGF0YS0+dHJhbnNjZWl2ZXJfbW9kZShzaS0+ZGV2LCBJUl9TSVJNT0RFKTsKIAotCQkJLyogY29uZmlndXJlIEdQSU80Ni80NyAqLwotCQkJcHhhX2dwaW9fbW9kZShHUElPNDZfU1RSWERfTUQpOwotCQkJcHhhX2dwaW9fbW9kZShHUElPNDdfU1RUWERfTUQpOwotCiAJCQkvKiBlbmFibGUgdGhlIFNUVUFSVCBjbG9jayAqLwogCQkJcHhhX2lyZGFfZW5hYmxlX3NpcmNsayhzaSk7CiAJCX0KQEAgLTIwMSwxMCArMTgxLDYgQEAKIAkJLyogc2V0IGJvYXJkIHRyYW5zY2VpdmVyIHRvIEZJUiBtb2RlICovCiAJCXNpLT5wZGF0YS0+dHJhbnNjZWl2ZXJfbW9kZShzaS0+ZGV2LCBJUl9GSVJNT0RFKTsKIAotCQkvKiBjb25maWd1cmUgR1BJTzQ2LzQ3ICovCi0JCXB4YV9ncGlvX21vZGUoR1BJTzQ2X0lDUFJYRF9NRCk7Ci0JCXB4YV9ncGlvX21vZGUoR1BJTzQ3X0lDUFRYRF9NRCk7Ci0KIAkJLyogZW5hYmxlIHRoZSBGSUNQIGNsb2NrICovCiAJCXB4YV9pcmRhX2VuYWJsZV9maXJjbGsoc2kpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL3ZpYS1pcmNjLmMgYi9kcml2ZXJzL25ldC9pcmRhL3ZpYS1pcmNjLmMKaW5kZXggNThlMTI4Ny4uMDRhZDM1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS92aWEtaXJjYy5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvdmlhLWlyY2MuYwpAQCAtMTU0Niw2ICsxNTQ2LDcgQEAKIAkJCUlSREFfV0FSTklORygiJXMsIHVuYWJsZSB0byBhbGxvY2F0ZSBkbWEyPSVkXG4iLAogCQkJCSAgICAgZHJpdmVyX25hbWUsIHNlbGYtPmlvLmRtYTIpOwogCQkJZnJlZV9pcnEoc2VsZi0+aW8uaXJxLCBzZWxmKTsKKwkJCWZyZWVfZG1hKHNlbGYtPmlvLmRtYSk7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQogCX0KQEAgLTE2MDYsNiArMTYwNyw4IEBACiAJRW5BbGxJbnQoaW9iYXNlLCBPRkYpOwogCWZyZWVfaXJxKHNlbGYtPmlvLmlycSwgZGV2KTsKIAlmcmVlX2RtYShzZWxmLT5pby5kbWEpOworCWlmIChzZWxmLT5pby5kbWEyICE9IHNlbGYtPmlvLmRtYSkKKwkJZnJlZV9kbWEoc2VsZi0+aW8uZG1hMik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21hY2IuYyBiL2RyaXZlcnMvbmV0L21hY2IuYwppbmRleCA5MmRjY2Q0Li4wYTU3NDVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tYWNiLmMKKysrIGIvZHJpdmVycy9uZXQvbWFjYi5jCkBAIC0xMjc3LDggKzEyNzcsNDUgQEAKIAlyZXR1cm4gMDsKIH0KIAorI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBtYWNiX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgbWFjYiAqYnAgPSBuZXRkZXZfcHJpdihuZXRkZXYpOworCisJbmV0aWZfZGV2aWNlX2RldGFjaChuZXRkZXYpOworCisjaWZuZGVmIENPTkZJR19BUkNIX0FUOTEKKwljbGtfZGlzYWJsZShicC0+aGNsayk7CisjZW5kaWYKKwljbGtfZGlzYWJsZShicC0+cGNsayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtYWNiX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgbWFjYiAqYnAgPSBuZXRkZXZfcHJpdihuZXRkZXYpOworCisJY2xrX2VuYWJsZShicC0+cGNsayk7CisjaWZuZGVmIENPTkZJR19BUkNIX0FUOTEKKwljbGtfZW5hYmxlKGJwLT5oY2xrKTsKKyNlbmRpZgorCisJbmV0aWZfZGV2aWNlX2F0dGFjaChuZXRkZXYpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBtYWNiX3N1c3BlbmQJTlVMTAorI2RlZmluZSBtYWNiX3Jlc3VtZQlOVUxMCisjZW5kaWYKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbWFjYl9kcml2ZXIgPSB7CiAJLnJlbW92ZQkJPSBfX2V4aXRfcChtYWNiX3JlbW92ZSksCisJLnN1c3BlbmQJPSBtYWNiX3N1c3BlbmQsCisJLnJlc3VtZQkJPSBtYWNiX3Jlc3VtZSwKIAkuZHJpdmVyCQk9IHsKIAkJLm5hbWUJCT0gIm1hY2IiLAogCQkub3duZXIJPSBUSElTX01PRFVMRSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21hY3ZsYW4uYyBiL2RyaXZlcnMvbmV0L21hY3ZsYW4uYwppbmRleCBjMzZhMDNhLi44NjBkNzVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tYWN2bGFuLmMKKysrIGIvZHJpdmVycy9uZXQvbWFjdmxhbi5jCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGRldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2V0aGVyZGV2aWNlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg0L2Z3LmMgYi9kcml2ZXJzL25ldC9tbHg0L2Z3LmMKaW5kZXggZDgyZjI3NS4uMmI1MDA2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWx4NC9mdy5jCisrKyBiL2RyaXZlcnMvbmV0L21seDQvZncuYwpAQCAtMTAxLDYgKzEwMSwzNCBAQAogCQkJbWx4NF9kYmcoZGV2LCAiICAgICVzXG4iLCBmbmFtZVtpXSk7CiB9CiAKK2ludCBtbHg0X01PRF9TVEFUX0NGRyhzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfbW9kX3N0YXRfY2ZnICpjZmcpCit7CisJc3RydWN0IG1seDRfY21kX21haWxib3ggKm1haWxib3g7CisJdTMyICppbmJveDsKKwlpbnQgZXJyID0gMDsKKworI2RlZmluZSBNT0RfU1RBVF9DRkdfSU5fU0laRQkJMHgxMDAKKworI2RlZmluZSBNT0RfU1RBVF9DRkdfUEdfU1pfTV9PRkZTRVQJMHgwMDIKKyNkZWZpbmUgTU9EX1NUQVRfQ0ZHX1BHX1NaX09GRlNFVAkweDAwMworCisJbWFpbGJveCA9IG1seDRfYWxsb2NfY21kX21haWxib3goZGV2KTsKKwlpZiAoSVNfRVJSKG1haWxib3gpKQorCQlyZXR1cm4gUFRSX0VSUihtYWlsYm94KTsKKwlpbmJveCA9IG1haWxib3gtPmJ1ZjsKKworCW1lbXNldChpbmJveCwgMCwgTU9EX1NUQVRfQ0ZHX0lOX1NJWkUpOworCisJTUxYNF9QVVQoaW5ib3gsIGNmZy0+bG9nX3BnX3N6LCBNT0RfU1RBVF9DRkdfUEdfU1pfT0ZGU0VUKTsKKwlNTFg0X1BVVChpbmJveCwgY2ZnLT5sb2dfcGdfc3pfbSwgTU9EX1NUQVRfQ0ZHX1BHX1NaX01fT0ZGU0VUKTsKKworCWVyciA9IG1seDRfY21kKGRldiwgbWFpbGJveC0+ZG1hLCAwLCAwLCBNTFg0X0NNRF9NT0RfU1RBVF9DRkcsCisJCQlNTFg0X0NNRF9USU1FX0NMQVNTX0EpOworCisJbWx4NF9mcmVlX2NtZF9tYWlsYm94KGRldiwgbWFpbGJveCk7CisJcmV0dXJuIGVycjsKK30KKwogaW50IG1seDRfUVVFUllfREVWX0NBUChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfZGV2X2NhcCAqZGV2X2NhcCkKIHsKIAlzdHJ1Y3QgbWx4NF9jbWRfbWFpbGJveCAqbWFpbGJveDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDQvZncuaCBiL2RyaXZlcnMvbmV0L21seDQvZncuaAppbmRleCAzMDZjYjliLi5hMGUwNDZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tbHg0L2Z3LmgKKysrIGIvZHJpdmVycy9uZXQvbWx4NC9mdy5oCkBAIC0zOCw2ICszOCwxMSBAQAogI2luY2x1ZGUgIm1seDQuaCIKICNpbmNsdWRlICJpY20uaCIKIAorc3RydWN0IG1seDRfbW9kX3N0YXRfY2ZnIHsKKwl1OCBsb2dfcGdfc3o7CisJdTggbG9nX3BnX3N6X207Cit9OworCiBzdHJ1Y3QgbWx4NF9kZXZfY2FwIHsKIAlpbnQgbWF4X3NycV9zejsKIAlpbnQgbWF4X3FwX3N6OwpAQCAtMTYyLDUgKzE2Nyw2IEBACiBpbnQgbWx4NF9NQVBfSUNNX0FVWChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfaWNtICppY20pOwogaW50IG1seDRfVU5NQVBfSUNNX0FVWChzdHJ1Y3QgbWx4NF9kZXYgKmRldik7CiBpbnQgbWx4NF9OT1Aoc3RydWN0IG1seDRfZGV2ICpkZXYpOworaW50IG1seDRfTU9EX1NUQVRfQ0ZHKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9tb2Rfc3RhdF9jZmcgKmNmZyk7CiAKICNlbmRpZiAvKiBNTFg0X0ZXX0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDQvbWFpbi5jIGIvZHJpdmVycy9uZXQvbWx4NC9tYWluLmMKaW5kZXggYTZhYTQ5Zi4uZDM3MzYwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWx4NC9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvbWx4NC9tYWluLmMKQEAgLTQ4NSw2ICs0ODUsNyBAQAogCXN0cnVjdCBtbHg0X3ByaXYJICAqcHJpdiA9IG1seDRfcHJpdihkZXYpOwogCXN0cnVjdCBtbHg0X2FkYXB0ZXIJICAgYWRhcHRlcjsKIAlzdHJ1Y3QgbWx4NF9kZXZfY2FwCSAgIGRldl9jYXA7CisJc3RydWN0IG1seDRfbW9kX3N0YXRfY2ZnICAgbWx4NF9jZmc7CiAJc3RydWN0IG1seDRfcHJvZmlsZQkgICBwcm9maWxlOwogCXN0cnVjdCBtbHg0X2luaXRfaGNhX3BhcmFtIGluaXRfaGNhOwogCXU2NCBpY21fc2l6ZTsKQEAgLTUwMiw2ICs1MDMsMTIgQEAKIAkJcmV0dXJuIGVycjsKIAl9CiAKKwltbHg0X2NmZy5sb2dfcGdfc3pfbSA9IDE7CisJbWx4NF9jZmcubG9nX3BnX3N6ID0gMDsKKwllcnIgPSBtbHg0X01PRF9TVEFUX0NGRyhkZXYsICZtbHg0X2NmZyk7CisJaWYgKGVycikKKwkJbWx4NF93YXJuKGRldiwgIkZhaWxlZCB0byBvdmVycmlkZSBsb2dfcGdfc3ogcGFyYW1ldGVyXG4iKTsKKwogCWVyciA9IG1seDRfZGV2X2NhcChkZXYsICZkZXZfY2FwKTsKIAlpZiAoZXJyKSB7CiAJCW1seDRfZXJyKGRldiwgIlFVRVJZX0RFVl9DQVAgY29tbWFuZCBmYWlsZWQsIGFib3J0aW5nLlxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg0L21jZy5jIGIvZHJpdmVycy9uZXQvbWx4NC9tY2cuYwppbmRleCA1N2Y3ZjFmLi5iNGI1Nzg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tbHg0L21jZy5jCisrKyBiL2RyaXZlcnMvbmV0L21seDQvbWNnLmMKQEAgLTM4LDYgKzM4LDkgQEAKIAogI2luY2x1ZGUgIm1seDQuaCIKIAorI2RlZmluZSBNR01fUVBOX01BU0sgICAgICAgMHgwMEZGRkZGRgorI2RlZmluZSBNR01fQkxDS19MQl9CSVQgICAgMzAKKwogc3RydWN0IG1seDRfbWdtIHsKIAlfX2JlMzIJCQluZXh0X2dpZF9pbmRleDsKIAlfX2JlMzIJCQltZW1iZXJzX2NvdW50OwpAQCAtMTUzLDcgKzE1Niw4IEBACiAJcmV0dXJuIGVycjsKIH0KIAotaW50IG1seDRfbXVsdGljYXN0X2F0dGFjaChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfcXAgKnFwLCB1OCBnaWRbMTZdKQoraW50IG1seDRfbXVsdGljYXN0X2F0dGFjaChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfcXAgKnFwLCB1OCBnaWRbMTZdLAorCQkJICBpbnQgYmxvY2tfbWNhc3RfbG9vcGJhY2spCiB7CiAJc3RydWN0IG1seDRfcHJpdiAqcHJpdiA9IG1seDRfcHJpdihkZXYpOwogCXN0cnVjdCBtbHg0X2NtZF9tYWlsYm94ICptYWlsYm94OwpAQCAtMjAyLDEzICsyMDYsMTggQEAKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgbWVtYmVyc19jb3VudDsgKytpKQotCQlpZiAobWdtLT5xcFtpXSA9PSBjcHVfdG9fYmUzMihxcC0+cXBuKSkgeworCQlpZiAoKGJlMzJfdG9fY3B1KG1nbS0+cXBbaV0pICYgTUdNX1FQTl9NQVNLKSA9PSBxcC0+cXBuKSB7CiAJCQltbHg0X2RiZyhkZXYsICJRUCAlMDZ4IGFscmVhZHkgYSBtZW1iZXIgb2YgTUdNXG4iLCBxcC0+cXBuKTsKIAkJCWVyciA9IDA7CiAJCQlnb3RvIG91dDsKIAkJfQogCi0JbWdtLT5xcFttZW1iZXJzX2NvdW50KytdID0gY3B1X3RvX2JlMzIocXAtPnFwbik7CisJaWYgKGJsb2NrX21jYXN0X2xvb3BiYWNrKQorCQltZ20tPnFwW21lbWJlcnNfY291bnQrK10gPSBjcHVfdG9fYmUzMigocXAtPnFwbiAmIE1HTV9RUE5fTUFTSykgfAorCQkJCQkJICAgICAgICgxIDw8IE1HTV9CTENLX0xCX0JJVCkpOworCWVsc2UKKwkJbWdtLT5xcFttZW1iZXJzX2NvdW50KytdID0gY3B1X3RvX2JlMzIocXAtPnFwbiAmIE1HTV9RUE5fTUFTSyk7CisKIAltZ20tPm1lbWJlcnNfY291bnQgICAgICAgPSBjcHVfdG9fYmUzMihtZW1iZXJzX2NvdW50KTsKIAogCWVyciA9IG1seDRfV1JJVEVfTUNHKGRldiwgaW5kZXgsIG1haWxib3gpOwpAQCAtMjgzLDcgKzI5Miw3IEBACiAKIAltZW1iZXJzX2NvdW50ID0gYmUzMl90b19jcHUobWdtLT5tZW1iZXJzX2NvdW50KTsKIAlmb3IgKGxvYyA9IC0xLCBpID0gMDsgaSA8IG1lbWJlcnNfY291bnQ7ICsraSkKLQkJaWYgKG1nbS0+cXBbaV0gPT0gY3B1X3RvX2JlMzIocXAtPnFwbikpCisJCWlmICgoYmUzMl90b19jcHUobWdtLT5xcFtpXSkgJiBNR01fUVBOX01BU0spID09IHFwLT5xcG4pCiAJCQlsb2MgPSBpOwogCiAJaWYgKGxvYyA9PSAtMSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbXlyaTEwZ2UvbXlyaTEwZ2UuYyBiL2RyaXZlcnMvbmV0L215cmkxMGdlL215cmkxMGdlLmMKaW5kZXggZTBkNzZjNy4uODIzYmI2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbXlyaTEwZ2UvbXlyaTEwZ2UuYworKysgYi9kcml2ZXJzL25ldC9teXJpMTBnZS9teXJpMTBnZS5jCkBAIC01MjksNiArNTI5LDcgQEAKIAl1bnNpZ25lZCBjcmMsIHJlcmVhZF9jcmM7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmbWdwLT5wZGV2LT5kZXY7CisJdW5zaWduZWQgY2hhciAqZndfcmVhZGJhY2s7CiAJc3RydWN0IG1jcF9nZW5faGVhZGVyICpoZHI7CiAJc2l6ZV90IGhkcl9vZmZzZXQ7CiAJaW50IHN0YXR1czsKQEAgLTU3MSw5ICs1NzIsMTUgQEAKIAkJbWIoKTsKIAkJcmVhZGIobWdwLT5zcmFtKTsKIAl9CisJZndfcmVhZGJhY2sgPSB2bWFsbG9jKGZ3LT5zaXplKTsKKwlpZiAoIWZ3X3JlYWRiYWNrKSB7CisJCXN0YXR1cyA9IC1FTk9NRU07CisJCWdvdG8gYWJvcnRfd2l0aF9mdzsKKwl9CiAJLyogY29ycnVwdGlvbiBjaGVja2luZyBpcyBnb29kIGZvciBwYXJpdHkgcmVjb3ZlcnkgYW5kIGJ1Z2d5IGNoaXBzZXQgKi8KLQltZW1jcHlfZnJvbWlvKGZ3LT5kYXRhLCBtZ3AtPnNyYW0gKyBNWVJJMTBHRV9GV19PRkZTRVQsIGZ3LT5zaXplKTsKLQlyZXJlYWRfY3JjID0gY3JjMzIofjAsIGZ3LT5kYXRhLCBmdy0+c2l6ZSk7CisJbWVtY3B5X2Zyb21pbyhmd19yZWFkYmFjaywgbWdwLT5zcmFtICsgTVlSSTEwR0VfRldfT0ZGU0VULCBmdy0+c2l6ZSk7CisJcmVyZWFkX2NyYyA9IGNyYzMyKH4wLCBmd19yZWFkYmFjaywgZnctPnNpemUpOworCXZmcmVlKGZ3X3JlYWRiYWNrKTsKIAlpZiAoY3JjICE9IHJlcmVhZF9jcmMpIHsKIAkJZGV2X2VycihkZXYsICJDUkMgZmFpbGVkKGZ3LWxlbj0ldSksIGdvdCAweCV4IChleHBlY3QgMHgleClcbiIsCiAJCQkodW5zaWduZWQpZnctPnNpemUsIHJlcmVhZF9jcmMsIGNyYyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9wcHBfZ2VuZXJpYy5jIGIvZHJpdmVycy9uZXQvcHBwX2dlbmVyaWMuYwppbmRleCAxZjRjYTJiLi44MzYyNWZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9wcHBfZ2VuZXJpYy5jCisrKyBiL2RyaXZlcnMvbmV0L3BwcF9nZW5lcmljLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KICNpbmNsdWRlIDxsaW51eC9pcC5oPgogI2luY2x1ZGUgPGxpbnV4L3RjcC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9yd3NlbS5oPgogI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgpAQCAtMzUzLDYgKzM1NCw3IEBACiAgKi8KIHN0YXRpYyBpbnQgcHBwX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAkvKgogCSAqIFRoaXMgY291bGQgKHNob3VsZD8pIGJlIGVuZm9yY2VkIGJ5IHRoZSBwZXJtaXNzaW9ucyBvbiAvZGV2L3BwcC4KIAkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5jIGIvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyLmMKaW5kZXggNWYxYzUwNy4uZmE3M2U2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyLmMKKysrIGIvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyLmMKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KICNpbmNsdWRlIDxsaW51eC90cmRldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAKICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC01OSw3ICs2MCw2IEBACiAjZW5kaWYKIAogI2luY2x1ZGUgInNtY3RyLmgiICAgICAgICAgICAgICAgLyogT3VyIFN0dWZmICovCi0jaW5jbHVkZSAic21jdHJfZmlybXdhcmUuaCIgICAgICAvKiBTTUMgYWRhcHRlciBmaXJtd2FyZSAqLwogCiBzdGF0aWMgY2hhciB2ZXJzaW9uW10gX19pbml0ZGF0YSA9IEtFUk5fSU5GTyAic21jdHIuYzogdjEuNCA3LzEyLzAwIGJ5IGpzY2hsc3RAc2FtYmEub3JnXG4iOwogc3RhdGljIGNvbnN0IGNoYXIgY2FyZG5hbWVbXSA9ICJzbWN0ciI7CkBAIC0xMDMsNyArMTAzLDggQEAKIHN0YXRpYyBpbnQgc21jdHJfY2xvc2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiAKIC8qIEQgKi8KLXN0YXRpYyBpbnQgc21jdHJfZGVjb2RlX2Zpcm13YXJlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOworc3RhdGljIGludCBzbWN0cl9kZWNvZGVfZmlybXdhcmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKKwkJCQkgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyk7CiBzdGF0aWMgaW50IHNtY3RyX2Rpc2FibGVfMTZiaXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiBzdGF0aWMgaW50IHNtY3RyX2Rpc2FibGVfYWRhcHRlcl9jdHJsX3N0b3JlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogc3RhdGljIGludCBzbWN0cl9kaXNhYmxlX2JpY19pbnQoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CkBAIC03NDgsNyArNzQ5LDggQEAKICAgICAgICAgcmV0dXJuICgwKTsKIH0KIAotc3RhdGljIGludCBzbWN0cl9kZWNvZGVfZmlybXdhcmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKK3N0YXRpYyBpbnQgc21jdHJfZGVjb2RlX2Zpcm13YXJlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCisJCQkJIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCiB7CiAgICAgICAgIHN0cnVjdCBuZXRfbG9jYWwgKnRwID0gbmV0ZGV2X3ByaXYoZGV2KTsKICAgICAgICAgc2hvcnQgYml0ID0gMHg4MCwgc2hpZnQgPSAxMjsKQEAgLTc2MiwxMCArNzY0LDEwIEBACiAgICAgICAgIGlmKHNtY3RyX2RlYnVnID4gMTApCiAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fREVCVUcgIiVzOiBzbWN0cl9kZWNvZGVfZmlybXdhcmVcbiIsIGRldi0+bmFtZSk7CiAKLSAgICAgICAgd2VpZ2h0ICA9ICoobG9uZyAqKSh0cC0+cHRyX3Vjb2RlICsgV0VJR0hUX09GRlNFVCk7Ci0gICAgICAgIHRzaXplICAgPSAqKF9fdTggKikodHAtPnB0cl91Y29kZSArIFRSRUVfU0laRV9PRkZTRVQpOwotICAgICAgICB0cmVlICAgID0gKERFQ09ERV9UUkVFX05PREUgKikodHAtPnB0cl91Y29kZSArIFRSRUVfT0ZGU0VUKTsKLSAgICAgICAgdWNvZGUgICA9IChfX3U4ICopKHRwLT5wdHJfdWNvZGUgKyBUUkVFX09GRlNFVAorICAgICAgICB3ZWlnaHQgID0gKihsb25nICopKGZ3LT5kYXRhICsgV0VJR0hUX09GRlNFVCk7CisgICAgICAgIHRzaXplICAgPSAqKF9fdTggKikoZnctPmRhdGEgKyBUUkVFX1NJWkVfT0ZGU0VUKTsKKyAgICAgICAgdHJlZSAgICA9IChERUNPREVfVFJFRV9OT0RFICopKGZ3LT5kYXRhICsgVFJFRV9PRkZTRVQpOworICAgICAgICB1Y29kZSAgID0gKF9fdTggKikoZnctPmRhdGEgKyBUUkVFX09GRlNFVAogICAgICAgICAgICAgICAgICAgICAgICAgKyAodHNpemUgKiBzaXplb2YoREVDT0RFX1RSRUVfTk9ERSkpKTsKICAgICAgICAgbWVtICAgICA9IChfX3UxNiAqKSh0cC0+cmFtX2FjY2Vzcyk7CiAKQEAgLTI5NjMsMzQgKzI5NjUsNDQgQEAKIHN0YXRpYyBpbnQgc21jdHJfbG9hZF9maXJtd2FyZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogewogICAgICAgICBzdHJ1Y3QgbmV0X2xvY2FsICp0cCA9IG5ldGRldl9wcml2KGRldik7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKICAgICAgICAgX191MTYgaSwgY2hlY2tzdW0gPSAwOwogICAgICAgICBpbnQgZXJyID0gMDsKIAogICAgICAgICBpZihzbWN0cl9kZWJ1ZyA+IDEwKQogICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0RFQlVHICIlczogc21jdHJfbG9hZF9maXJtd2FyZVxuIiwgZGV2LT5uYW1lKTsKIAotICAgICAgICB0cC0+cHRyX3Vjb2RlICAgICAgICAgICA9IHNtY3RyX2NvZGU7CisJaWYgKHJlcXVlc3RfZmlybXdhcmUoJmZ3LCAidHJfc21jdHIuYmluIiwgJmRldi0+ZGV2KSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBmaXJtd2FyZSBub3QgZm91bmRcbiIsIGRldi0+bmFtZSk7CisJCXJldHVybiAoVUNPREVfTk9UX1BSRVNFTlQpOworCX0KKwogICAgICAgICB0cC0+bnVtX29mX3R4X2J1ZmZzICAgICA9IDQ7CiAgICAgICAgIHRwLT5tb2RlX2JpdHMgICAgICAgICAgfD0gVU1BQzsKICAgICAgICAgdHAtPnJlY2VpdmVfbWFzayAgICAgICAgPSAwOwogICAgICAgICB0cC0+bWF4X3BhY2tldF9zaXplICAgICA9IDQxNzc7CiAKICAgICAgICAgLyogQ2FuIG9ubHkgdXBsb2FkIHRoZSBmaXJtd2FyZSBvbmNlIHBlciBhZGFwdGVyIHJlc2V0LiAqLwotICAgICAgICBpZih0cC0+bWljcm9jb2RlX3ZlcnNpb24gIT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gKFVDT0RFX1BSRVNFTlQpOworICAgICAgICBpZiAodHAtPm1pY3JvY29kZV92ZXJzaW9uICE9IDApIHsKKwkJZXJyID0gKFVDT0RFX1BSRVNFTlQpOworCQlnb3RvIG91dDsKKwl9CiAKICAgICAgICAgLyogVmVyaWZ5IHRoZSBmaXJtd2FyZSBleGlzdHMgYW5kIGlzIHRoZXJlIGluIHRoZSByaWdodCBhbW91bnQuICovCi0gICAgICAgIGlmICghdHAtPnB0cl91Y29kZQotICAgICAgICAgICAgICAgIHx8ICgqKHRwLT5wdHJfdWNvZGUgKyBVQ09ERV9WRVJTSU9OX09GRlNFVCkgPCBVQ09ERV9WRVJTSU9OKSkKKyAgICAgICAgaWYgKCFmdy0+ZGF0YQorICAgICAgICAgICAgICAgIHx8ICgqKGZ3LT5kYXRhICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpIDwgVUNPREVfVkVSU0lPTikpCiAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gKFVDT0RFX05PVF9QUkVTRU5UKTsKKyAgICAgICAgICAgICAgICBlcnIgPSAoVUNPREVfTk9UX1BSRVNFTlQpOworCQlnb3RvIG91dDsKICAgICAgICAgfQogCiAgICAgICAgIC8qIFVDT0RFX1NJWkUgaXMgbm90IGluY2x1ZGVkIGluIENoZWNrc3VtLiAqLwotICAgICAgICBmb3IoaSA9IDA7IGkgPCAqKChfX3UxNiAqKSh0cC0+cHRyX3Vjb2RlICsgVUNPREVfU0laRV9PRkZTRVQpKTsgaSArPSAyKQotICAgICAgICAgICAgICAgIGNoZWNrc3VtICs9ICooKF9fdTE2ICopKHRwLT5wdHJfdWNvZGUgKyAyICsgaSkpOwotICAgICAgICBpZihjaGVja3N1bSkKLSAgICAgICAgICAgICAgICByZXR1cm4gKFVDT0RFX05PVF9QUkVTRU5UKTsKKyAgICAgICAgZm9yKGkgPSAwOyBpIDwgKigoX191MTYgKikoZnctPmRhdGEgKyBVQ09ERV9TSVpFX09GRlNFVCkpOyBpICs9IDIpCisgICAgICAgICAgICAgICAgY2hlY2tzdW0gKz0gKigoX191MTYgKikoZnctPmRhdGEgKyAyICsgaSkpOworICAgICAgICBpZiAoY2hlY2tzdW0pIHsKKwkJZXJyID0gKFVDT0RFX05PVF9QUkVTRU5UKTsKKwkJZ290byBvdXQ7CisJfQogCiAgICAgICAgIC8qIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBhIHZhbGlkIGZpcm13YXJlIGltYWdlLCBsZXRzIGtpY2sgaXQgb24gdXAuICovCiAgICAgICAgIHNtY3RyX2VuYWJsZV9hZGFwdGVyX3JhbShkZXYpOwpAQCAtMjk5OCw3ICszMDEwLDcgQEAKICAgICAgICAgc21jdHJfc2V0X3BhZ2UoZGV2LCAoX191OCAqKXRwLT5yYW1fYWNjZXNzKTsKIAogICAgICAgICBpZigoc21jdHJfY2hlY2tzdW1fZmlybXdhcmUoZGV2KSkKLSAgICAgICAgICAgICAgICB8fCAoKih0cC0+cHRyX3Vjb2RlICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpCisgICAgICAgICAgICAgICAgfHwgKCooZnctPmRhdGEgKyBVQ09ERV9WRVJTSU9OX09GRlNFVCkKICAgICAgICAgICAgICAgICA+IHRwLT5taWNyb2NvZGVfdmVyc2lvbikpCiAgICAgICAgIHsKICAgICAgICAgICAgICAgICBzbWN0cl9lbmFibGVfYWRhcHRlcl9jdHJsX3N0b3JlKGRldik7CkBAIC0zMDA3LDkgKzMwMTksOSBAQAogICAgICAgICAgICAgICAgIGZvcihpID0gMDsgaSA8IENTX1JBTV9TSVpFOyBpICs9IDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAqKChfX3UxNiAqKSh0cC0+cmFtX2FjY2VzcyArIGkpKSA9IDA7CiAKLSAgICAgICAgICAgICAgICBzbWN0cl9kZWNvZGVfZmlybXdhcmUoZGV2KTsKKyAgICAgICAgICAgICAgICBzbWN0cl9kZWNvZGVfZmlybXdhcmUoZGV2LCBmdyk7CiAKLSAgICAgICAgICAgICAgICB0cC0+bWljcm9jb2RlX3ZlcnNpb24gPSAqKHRwLT5wdHJfdWNvZGUgKyBVQ09ERV9WRVJTSU9OX09GRlNFVCk7ICAgICAgICAgICAgICAgICooKF9fdTE2ICopKHRwLT5yYW1fYWNjZXNzICsgQ1NfUkFNX1ZFUlNJT05fT0ZGU0VUKSkKKyAgICAgICAgICAgICAgICB0cC0+bWljcm9jb2RlX3ZlcnNpb24gPSAqKGZ3LT5kYXRhICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpOyAgICAgICAgICAgICAgICAqKChfX3UxNiAqKSh0cC0+cmFtX2FjY2VzcyArIENTX1JBTV9WRVJTSU9OX09GRlNFVCkpCiAgICAgICAgICAgICAgICAgICAgICAgICA9ICh0cC0+bWljcm9jb2RlX3ZlcnNpb24gPDwgOCk7CiAgICAgICAgICAgICAgICAgKigoX191MTYgKikodHAtPnJhbV9hY2Nlc3MgKyBDU19SQU1fQ0hFQ0tTVU1fT0ZGU0VUKSkKICAgICAgICAgICAgICAgICAgICAgICAgID0gfih0cC0+bWljcm9jb2RlX3ZlcnNpb24gPDwgOCkgKyAxOwpAQCAtMzAyMyw3ICszMDM1LDggQEAKICAgICAgICAgICAgICAgICBlcnIgPSBVQ09ERV9QUkVTRU5UOwogCiAgICAgICAgIHNtY3RyX2Rpc2FibGVfMTZiaXQoZGV2KTsKLQorIG91dDoKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKICAgICAgICAgcmV0dXJuIChlcnIpOwogfQogCkBAIC01NjUxLDYgKzU2NjQsNyBAQAogc3RhdGljIGludCBpcnFbU01DVFJfTUFYX0FEQVBURVJTXTsKIAogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJ0cl9zbWN0ci5iaW4iKTsKIAogbW9kdWxlX3BhcmFtX2FycmF5KGlvLCBpbnQsIE5VTEwsIDApOwogbW9kdWxlX3BhcmFtX2FycmF5KGlycSwgaW50LCBOVUxMLCAwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5oIGIvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyLmgKaW5kZXggODhkZmEyZS4uNTJkZjdkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyLmgKKysrIGIvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyLmgKQEAgLTEwNDIsOCArMTA0Miw2IEBACiAgICAgICAgIF9fdTE2ICAgICAgICAgICAgZnVuY3Rpb25hbF9hZGRyZXNzWzJdOwogICAgICAgICBfX3UxNiAgICAgICAgICAgIGJpdHdpc2VfZ3JvdXBfYWRkcmVzc1syXTsKIAotCWNvbnN0IF9fdTggICAgICAgKnB0cl91Y29kZTsKLQogCV9fdTgJCWNsZWFudXA7CiAKIAlzdHJ1Y3Qgc2tfYnVmZl9oZWFkIFNlbmRTa2JRdWV1ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0cl9maXJtd2FyZS5oIGIvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyX2Zpcm13YXJlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5MmU1MGRkZi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHJfZmlybXdhcmUuaAorKysgL2Rldi9udWxsCkBAIC0xLDk3OCArMCwwIEBACi0vKgotICogVGhlIGZpcm13YXJlIHRoaXMgZHJpdmVyIGRvd25sb2FkcyBpbnRvIHRoZSB0b2tlbnJpbmcgY2FyZCBpcyBhCi0gKiBzZXBhcmF0ZSBwcm9ncmFtIGFuZCBpcyBub3QgR1BMJ2Qgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoZSBMaW51eAotICogc2lkZSBkcml2ZXIgYW5kIHRoZSByb3V0aW5lIHRoYXQgbG9hZHMgdGhpcyBkYXRhIGludG8gdGhlIGNhcmQgYXJlLgotICoKLSAqIFRoaXMgZmlybXdhcmUgaXMgbGljZW5zZWQgdG8geW91IHN0cmljdGx5IGZvciB1c2UgaW4gY29uanVuY3Rpb24KLSAqIHdpdGggdGhlIHVzZSBvZiBTTUMgVG9rZW5SaW5nIGFkYXB0ZXJzLiBUaGVyZSBpcyBubyB3YXJhbnR5Ci0gKiBleHByZXNzZWQgb3IgaW1wbGllZCBhYm91dCBpdHMgZml0bmVzcyBmb3IgYW55IHB1cnBvc2UuCi0gKi8KLQotLyogc21jdHJfZmlybXdhcmUuaDogU01DIFRva2VuUmluZyBkcml2ZXIgZmlybXdhcmUgZHVtcCBmb3IgTGludXguCi0gKgotICogTm90ZXM6Ci0gKiAgLSBUaGlzIGlzIGFuIDhLIGJpbmFyeSBpbWFnZS4gKE1DVC5CSU4gdjYuM0MxIDAzLzAxLzk1KQotICoKLSAqIEF1dGhvcnM6Ci0gKiAgLSBKYXkgU2NodWxpc3QgPGpzY2hsc3RAc2FtYmEub3JnPgotICovCi0KLQotI2lmIGRlZmluZWQoQ09ORklHX1NNQ1RSKSB8fCBkZWZpbmVkKENPTkZJR19TTUNUUl9NT0RVTEUpCi0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHNtY3RyX2NvZGVbXSA9IHsKLQkweDBCQywgMHgwMUQsIDB4MDEyLCAweDAzQiwgMHgwNjMsIDB4MEI0LCAweDBFOSwgMHgwMDAsCi0JMHgwMDAsIDB4MDFGLCAweDAwMCwgMHgwMDEsIDB4MDAxLCAweDAwMCwgMHgwMDIsIDB4MDA1LAotCTB4MDAxLCAweDAwMCwgMHgwMDYsIDB4MDAzLCAweDAwMSwgMHgwMDAsIDB4MDA0LCAweDAwOSwKLQkweDAwMSwgMHgwMDAsIDB4MDBBLCAweDAwNywgMHgwMDEsIDB4MDAwLCAweDAwOCwgMHgwMEIsCi0JMHgwMDEsIDB4MDAwLCAweDAwQywgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDBGLAotCTB4MDAxLCAweDAwMCwgMHgwMTAsIDB4MDBELCAweDAwMSwgMHgwMDAsIDB4MDBFLCAweDAxMywKLQkweDAwMSwgMHgwMDAsIDB4MDE0LCAweDAxMSwgMHgwMDEsIDB4MDAwLCAweDAxMiwgMHgwMDAsCi0JMHgwMDAsIDB4MDA1LCAweDAwMCwgMHgwMTUsIDB4MDAxLCAweDAwMCwgMHgwMTYsIDB4MDE5LAotCTB4MDAxLCAweDAwMCwgMHgwMUEsIDB4MDE3LCAweDAwMSwgMHgwMDAsIDB4MDE4LCAweDAwMCwKLQkweDAwMCwgMHgwMEUsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDAxLCAweDAwMCwgMHgwMDAsCi0JMHgwMDAsIDB4MDA0LCAweDAwMCwgMHgwMUIsIDB4MDAxLCAweDAwMCwgMHgwMUMsIDB4MDAwLAotCTB4MDAwLCAweDAwNywgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMEYsIDB4MDAwLCAweDAwMCwKLQkweDAwMCwgMHgwMEIsIDB4MDAwLCAweDAxRCwgMHgwMDEsIDB4MDAwLCAweDAxRSwgMHgwMDAsCi0JMHgwMDAsIDB4MDA4LCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwMiwgMHgwMDAsIDB4MDAwLAotCTB4MDAwLCAweDAwQywgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMDYsIDB4MDAwLCAweDAwMCwKLQkweDAwMCwgMHgwMEQsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDAzLCAweDAwMCwgMHgwMDAsCi0JMHgwMDAsIDB4MDBBLCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwOSwgMHgwMDAsIDB4MDA0LAotCTB4MDc4LCAweDBDNiwgMHgwQkMsIDB4MDAxLCAweDA5NCwgMHgwMDQsIDB4MDkzLCAweDA4MCwKLQkweDBDOCwgMHgwNDAsIDB4MDYyLCAweDBFOSwgMHgwREEsIDB4MDFDLCAweDAyQywgMHgwMTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU4LAotCTB4MDBCLCAweDBFOSwgMHgwRTUsIDB4MEQ1LCAweDA5NSwgMHgwQzEsIDB4MDlELCAweDA3NywKLQkweDBDRSwgMHgwQkIsIDB4MEEwLCAweDA2RSwgMHgwMUMsIDB4MDA1LCAweDBGNiwgMHgwNzcsCi0JMHgwQzYsIDB4MDAyLCAweDBGQSwgMHgwOTYsIDB4MDcwLCAweDBFOCwgMHgwMUQsIDB4MEMwLAotCTB4MDE3LCAweDAwRSwgMHgwMDIsIDB4MEZBLCAweDA1OCwgMHgwN0QsIDB4MEMwLCAweDA1RiwKLQkweDA3MiwgMHgwQ0UsIDB4MEVDLCAweDBBNCwgMHgwQzMsIDB4MDg0LCAweDA5MCwgMHgwN0EsCi0JMHgwMzAsIDB4MENELCAweDA4RCwgMHgwNzksIDB4MDE5LCAweDBFNywgMHgwNkMsIDB4MDI0LAotCTB4MDI3LCAweDA5QywgMHgwMDgsIDB4MDM5LCAweDAwNywgMHgwMzgsIDB4MEE4LCAweDA0QSwKLQkweDA0QywgMHgwRUEsIDB4MDRELCAweDA5OCwgMHgwOUIsIDB4MDI0LCAweDA0QywgMHgwQzAsCi0JMHgwMjYsIDB4MEQzLCAweDBFNywgMHgwNTQsIDB4MDVBLCAweDA0RCwgMHgwRjIsIDB4MDRDLAotCTB4MDBDLCAweDAxMywgMHgwMjMsIDB4MDQ5LCAweDA5MCwgMHgwMzIsIDB4MDZFLCAweDBBNCwKLQkweDBERiwgMHgwOTMsIDB4MDcxLCAweDAxMywgMHgwNzcsIDB4MDI2LCAweDBFMSwgMHgwMjYsCi0JMHgwRjgsIDB4MDI2LCAweDAwQywgMHgwNEMsIDB4MDEyLCAweDAyNiwgMHgwMDgsIDB4MDA5LAotCTB4MDgyLCAweDA4MiwgMHgwNjAsIDB4MEE5LCAweDAzMCwgMHgwNzksIDB4MDM2LCAweDBCMCwKLQkweDBCMiwgMHgwQTgsIDB4MEE3LCAweDA3MiwgMHgwNjQsIDB4MDhGLCAweDA5QiwgMHgwMzMsCi0JMHgwMzMsIDB4MEY5LCAweDBCOCwgMHgwMzksIDB4MEQ1LCAweDAxMSwgMHgwNzMsIDB4MEFBLAotCTB4MDc1LCAweDAyNiwgMHgwNUQsIDB4MDI2LCAweDA1MSwgMHgwOTMsIDB4MDJBLCAweDA0OSwKLQkweDA5NCwgMHgwQzksIDB4MDk1LCAweDA4OSwgMHgwQkMsIDB4MDRELCAweDBDOCwgMHgwOUIsCi0JMHgwODAsIDB4MDlCLCAweDBBMCwgMHgwOTksIDB4MDA2LCAweDA0QywgMHgwODYsIDB4MDI2LAotCTB4MDU4LCAweDA5QiwgMHgwQTQsIDB4MDlCLCAweDA5OSwgMHgwMzcsIDB4MDYyLCAweDA2QywKLQkweDA2NywgMHgwOUIsIDB4MDMzLCAweDAzMCwgMHgwQkYsIDB4MDM2LCAweDA2NiwgMHgwNjEsCi0JMHgwQkYsIDB4MDM2LCAweDBFQywgMHgwQzUsIDB4MEJELCAweDA2NiwgMHgwODIsIDB4MDVBLAotCTB4MDUwLCAweDAzMSwgMHgwRDUsIDB4MDlELCAweDA5OCwgMHgwMTgsIDB4MDI5LCAweDAzQywKLQkweDA5OCwgMHgwODYsIDB4MDRDLCAweDAxNywgMHgwMjYsIDB4MDNFLCAweDAyQywgMHgwQjgsCi0JMHgwNjksIDB4MDNCLCAweDA0OSwgMHgwMkUsIDB4MEI0LCAweDAwOCwgMHgwNDMsIDB4MDFBLAotCTB4MEE0LCAweDBGOSwgMHgwQjMsIDB4MDUxLCAweDBGMSwgMHgwMTAsIDB4MEYzLCAweDA0MywKLQkweDBDRCwgMHgwMDgsIDB4MDZGLCAweDA2MywgMHgwNzksIDB4MEIzLCAweDAzMywgMHgwMEUsCi0JMHgwMTMsIDB4MDk4LCAweDA0OSwgMHgwOTgsIDB4MDA0LCAweDBEQSwgMHgwN0MsIDB4MEUwLAotCTB4MDUyLCAweDA3OSwgMHgwMzEsIDB4MDBDLCAweDA5OCwgMHgwMkUsIDB4MDRELCAweDBBQywKLQkweDAyQywgMHgwODQsIDB4MDE0LCAweDBFRSwgMHgwNEMsIDB4MEZFLCAweDA2NywgMHgwNUUsCi0JMHgwRTQsIDB4MDlBLCAweDA3NSwgMHgwMjksIDB4MEQ3LCAweDBBOSwgMHgwMzUsIDB4MDNBLAotCTB4MDk0LCAweDA1QiwgMHgwRDUsIDB4MDlCLCAweDA1OCwgMHgwQjQsIDB4MEFGLCAweDA3NSwKLQkweDA2NiwgMHgwQUYsIDB4MDE0LCAweDBBOSwgMHgwRUYsIDB4MDQwLCAweDA5NSwgMHgwMjUsCi0JMHgwMDgsIDB4MEI5LCAweDBBRCwgMHgwNDIsIDB4MEZDLCAweDBEOCwgMHgwRDksIDB4MDhDLAotCTB4MDMzLCAweDAwRSwgMHgwMTMsIDB4MDk4LCAweDA2NiwgMHgwMUUsIDB4MDQ1LCAweDBBQywKLQkweDBCMCwgMHgwMEMsIDB4MDQyLCAweDBEMywgMHgwQ0MsIDB4MEE2LCAweDAxMiwgMHgwNjIsCi0JMHgwREUsIDB4MEI0LCAweDBCMSwgMHgwODAsIDB4MDQ5LCAweDA3RCwgMHgwQTIsIDB4MERFLAotCTB4MEI0LCAweDAxOCwgMHgwQzAsIDB4MDI0LCAweDA4NCwgMHgwRTYsIDB4MDU0LCAweDBGNSwKLQkweDA4MywgMHgwNDYsIDB4MDAxLCAweDA2OCwgMHgwMUEsIDB4MDYzLCAweDAwQywgMHgwQzYsCi0JMHgwMTIsIDB4MDY0LCAweDBGQSwgMHgwNEMsIDB4MDM1LCAweDAxQywgMHgwMkMsIDB4MDBFLAotCTB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwKLQkweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFELCAweDBENywgMHgwMDIsCi0JMHgwNzAsIDB4MEUwLCAweDA0QywgMHgwRjMsIDB4MEExLCAweDBDMSwgMHgwRDUsIDB4MEMwLAotCTB4MDNDLCAweDBCOSwgMHgwNjksIDB4MDM5LCAweDA2MCwgMHgwNEUsIDB4MDU4LCAweDA3NywKLQkweDAwMiwgMHgwNjcsIDB4MDkzLCAweDAzQywgMHgwOTksIDB4MEU0LCAweDBDRiwgMHgwMzgsCi0JMHgwMUMsIDB4MDk3LCAweDAyRSwgMHgwNDAsIDB4MDFCLCAweDA5MCwgMHgwMzEsIDB4MDQ2LAotCTB4MEEzLCAweDA1RSwgMHgwMEUsIDB4MDg4LCAweDAzNCwgMHgwNkEsIDB4MDM1LCAweDBFMCwKLQkweDBFOCwgMHgwQUEsIDB4MDM1LCAweDAxQSwgMHgwQTksIDB4MEY1LCAweDAxNSwgMHgwNDYsCi0JMHgwQTMsIDB4MEVBLCAweDA3RCwgMHgwNEEsIDB4MEEzLCAweDA1MSwgMHgwQUEsIDB4MDlGLAotCTB4MDcwLCAweDA1NCwgMHgwQTYsIDB4MDU3LCAweDAyRSwgMHgwQjQsIDB4MENELCAweDBDOCwKLQkweDBBMywgMHgwMEMsIDB4MEMxLCAweDBEQSwgMHgwQzYsIDB4MEUxLCAweDBDQiwgMHgwN0EsCi0JMHgwRDQsIDB4MDFDLCAweDA2OCwgMHgwRkYsIDB4MENGLCAweDA1NSwgMHgwQTgsIDB4MEMwLAotCTB4MDJELCAweDA4NSwgMHgwMTEsIDB4MDE3LCAweDA0NCwgMHgwMkEsIDB4MDMwLCAweDAwQiwKLQkweDA0QSwgMHgwODgsIDB4MEMyLCAweDA0RCwgMHgwQjUsIDB4MDIwLCAweDBENSwgMHgwMjYsCi0JMHgwMDEsIDB4MDY5LCAweDA1MSwgMHgwNjksIDB4MDUyLCAweDAxOSwgMHgwNTIsIDB4MDYwLAotCTB4MDE2LCAweDA5NSwgMHgwMTYsIDB4MDgyLCAweDA5NiwgMHgwNTQsIDB4MDk4LCAweDAwNSwKLQkweDBBNSwgMHgwNDUsIDB4MEYzLCAweDBERCwgMHgwNkEsIDB4MEY5LCAweDAyOCwgMHgwMTgsCi0JMHgwRUYsIDB4MDAwLCAweDAzMCwgMHgwMzAsIDB4MDUxLCAweDA0RSwgMHgwNDQsIDB4MDVELAotCTB4MDEyLCAweDBEMSwgMHgwNDMsIDB4MEU2LCAweDAxMiwgMHgwNkYsIDB4MDlFLCAweDBCQSwKLQkweDBDQywgMHgwREYsIDB4MDI1LCAweDAwMywgMHgwMUQsIDB4MEUwLCAweDAwNiwgMHgwMDYsCi0JMHgwMEEsIDB4MDMwLCAweDBDQywgMHgwQTksIDB4MEVCLCAweDAyRCwgMHgwMDAsIDB4MDg2LAotCTB4MEE2LCAweDAxMiwgMHgwNjUsIDB4MDRGLCAweDA1NiwgMHgwRDYsIDB4MDY1LCAweDA0OSwKLQkweDA1RiwgMHgwM0QsIDB4MEU4LCAweDAzNywgMHgwQzksIDB4MDQwLCAweDBDNywgMHgwNzgsCi0JMHgwMDEsIDB4MDgxLCAweDA4MiwgMHgwOEMsIDB4MDMzLCAweDAxOCwgMHgwNDksIDB4MDgwLAotCTB4MEFFLCAweDA0MCwgMHgwQzUsIDB4MDE4LCAweDAwNSwgMHgwOUMsIDB4MDZELCAweDAxOCwKLQkweDA2NiwgMHgwMEUsIDB4MEYzLCAweDBBMCwgMHgwQzYsIDB4MDEyLCAweDA2MiwgMHgwREUsCi0JMHgwRjUsIDB4MDA0LCAweDBCNCwgMHgwQUMsIDB4MDZCLCAweDBDNiwgMHgwMTksIDB4MDkxLAotCTB4MDczLCAweDAwNSwgMHgwNDgsIDB4MDJFLCAweDA3MiwgMHgwOTQsIDB4MDgwLCAweDA3MywKLQkweDBBMSwgMHgwQzgsIDB4MDQ3LCAweDAzNiwgMHgwNjYsIDB4MDY0LCAweDAyRiwgMHgwMzYsCi0JMHgwNjYsIDB4MDY0LCAweDAwNywgMHgwOTksIDB4MDAyLCAweDA5MSwgMHgwOEUsIDB4MDcyLAotCTB4MEQxLCAweDAwRiwgMHgwOUQsIDB4MDA2LCAweDAzMSwgMHgwNzMsIDB4MEEwLCAweDBDMywKLQkweDA1MSwgMHgwNkEsIDB4MDFBLCAweDAyMCwgMHgwQkYsIDB4MDNBLCAweDAwQywgMHgwMkMsCi0JMHgwNzMsIDB4MDg3LCAweDA0MywgMHgwNUUsIDB4MDYwLCAweDAwMiwgMHgwMjMsIDB4MEZDLAotCTB4MEUwLCAweDBENiwgMHgwMzUsIDB4MEVGLCAweDA5RSwgMHgwRjUsIDB4MEVGLCAweDA5MiwKLQkweDA4MSwgMHgwOEUsIDB4MEYwLCAweDAwMywgMHgwMDMsIDB4MDA1LCAweDAxOCwgMHgwNjYsCi0JMHgwNDUsIDB4MENDLCAweDAwQiwgMHgwNDgsIDB4MDJFLCAweDA3MCwgMHgwMEEsIDB4MDQwLAotCTB4MDM5LCAweDBEMCwgMHgwRTQsIDB4MDIzLCAweDA5QiwgMHgwMzMsIDB4MDMyLCAweDAxNywKLQkweDA5QiwgMHgwMzMsIDB4MDMyLCAweDAwMywgMHgwQ0MsIDB4MDg1LCAweDA0OCwgMHgwQzcsCi0JMHgwMzgsIDB4MDE0LCAweDBBNSwgMHgwQ0UsIDB4MDI5LCAweDA3RSwgMHgwRDIsIDB4MDgwLAotCTB4MEExLCAweDBBOCwgMHgwQjQsIDB4MDQ4LCAweDA4OCwgMHgwMkYsIDB4MENFLCAweDA4MywKLQkweDAwQiwgMHgwMUMsIDB4MEUxLCAweDBEMCwgMHgwRDcsIDB4MDk4LCAweDAwNCwgMHgwODgsCi0JMHgwODcsIDB4MENFLCAweDA5NiwgMHgwMzEsIDB4MDczLCAweDBBNSwgMHgwOEYsIDB4MEYzLAotCTB4MDgzLCAweDA1OCwgMHgwRDcsIDB4MEJFLCAweDA3QiwgMHgwODIsIDB4MEFGLCAweDA5MiwKLQkweDA4MSwgMHgwOEUsIDB4MEYwLCAweDAwMywgMHgwMDMsIDB4MDA1LCAweDAxOCwgMHgwNjYsCi0JMHgwNDUsIDB4MENDLCAweDAxNSwgMHgwMjAsIDB4MEI5LCAweDBDOCwgMHgwMjksIDB4MDAwLAotCTB4MEU3LCAweDA0MywgMHgwOTAsIDB4MDhFLCAweDA2QywgMHgwQ0MsIDB4MEM4LCAweDA1RSwKLQkweDA2QywgMHgwQ0MsIDB4MEM4LCAweDAwRiwgMHgwMzIsIDB4MDA1LCAweDAyMywgMHgwMUMsCi0JMHgwRTQsIDB4MDUwLCAweDBENCwgMHgwNUEsIDB4MDE3LCAweDA4OCwgMHgwMkYsIDB4MENFLAotCTB4MDgzLCAweDAxMCwgMHgwRjksIDB4MEQwLCAweDAyMywgMHgwMTcsIDB4MDNBLCAweDAwNCwKLQkweDAzNSwgMHgwRTYsIDB4MDAwLCAweDAyMiwgMHgwMTYsIDB4MDM5LCAweDBDMywgMHgwQTMsCi0JMHgwRkMsIDB4MEUwLCAweDBENiwgMHgwMzUsIDB4MEUwLCAweDBCRiwgMHgwRjQsIDB4MDE4LAotCTB4MEYyLCAweDAyRCwgMHgwNEQsIDB4MDQzLCAweDA1MSwgMHgwNkUsIDB4MDVBLCAweDAyMiwKLQkweDAxRiwgMHgwMzAsIDB4MEQ0LCAweDAxNywgMHgwRTcsIDB4MDQxLCAweDA5MSwgMHgwNzMsCi0JMHgwMDUsIDB4MDQ4LCAweDAyRSwgMHgwNzcsIDB4MDY5LCAweDAwMCwgMHgwRTcsIDB4MDQzLAotCTB4MDkwLCAweDA4RSwgMHgwNkMsIDB4MENDLCAweDBDOCwgMHgwNUUsIDB4MDZDLCAweDBDQywKLQkweDBDOCwgMHgwMEYsIDB4MDMyLCAweDAwNSwgMHgwMjMsIDB4MDFDLCAweDBFRiwgMHgwNEMsCi0JMHgwNEUsIDB4MDA2LCAweDAwNCwgMHgwQzksIDB4MDlFLCAweDAwQiwgMHgwRkYsIDB4MDQxLAotCTB4MDhGLCAweDAyMiwgMHgwRDQsIDB4MEQ0LCAweDAzNSwgMHgwMTYsIDB4MEU1LCAweDBBMiwKLQkweDAyMSwgMHgwRjMsIDB4MDVBLCAweDA4MiwgMHgwRkMsIDB4MEU4LCAweDAzMiwgMHgwMkUsCi0JMHgwNjAsIDB4MEE5LCAweDAwNSwgMHgwQ0UsIDB4MDEzLCAweDA0OCwgMHgwMDcsIDB4MDNBLAotCTB4MDFDLCAweDA4NCwgMHgwNzMsIDB4MDY2LCAweDA2NiwgMHgwNDIsIDB4MEYzLCAweDA2NiwKLQkweDA2NiwgMHgwNDAsIDB4MDc5LCAweDA5MCwgMHgwMjksIDB4MDE4LCAweDBFNywgMHgwMEEsCi0JMHgwOTgsIDB4MDlDLCAweDAwQSwgMHgwOUUsIDB4MEI1LCAweDAxMiwgMHgwNUMsIDB4MDdDLAotCTB4MEMzLCAweDAzMSwgMHgwOEIsIDB4MDk4LCAweDAyQSwgMHgwN0MsIDB4MEQzLCAweDBFRCwKLQkweDAzOCwgMHgwRTksIDB4MEQzLCAweDA0RSwgMHgwNzQsIDB4MEVELCAweDA0OSwgMHgwOUUsCi0JMHgwMEIsIDB4MEZGLCAweDA0MSwgMHgwOEYsIDB4MDIyLCAweDBENCwgMHgwRDQsIDB4MDM1LAotCTB4MDE2LCAweDBFNSwgMHgwQTIsIDB4MDJELCAweDBFQiwgMHgwNDUsIDB4MDMzLCAweDA4RiwKLQkweDBGQywgMHgwRjcsIDB4MEEwLCAweDA1RiwgMHgwMjUsIDB4MDAzLCAweDAxRCwgMHgwRTQsCi0JMHgwMEUsIDB4MDA2LCAweDAwQSwgMHgwMzAsIDB4MENDLCAweDAwQywgMHgwRjMsIDB4MEVCLAotCTB4MDQwLCAweDBERSwgMHgwNjEsIDB4MEE4LCAweDA3MCwgMHgwOTIsIDB4MDBBLCAweDAwMCwKLQkweDBFMSwgMHgwMjQsIDB4MDFFLCAweDAwMCwgMHgwRTEsIDB4MDI0LCAweDAxRSwgMHgwMDAsCi0JMHgwRTEsIDB4MDI0LCAweDAxRSwgMHgwMDAsIDB4MEUxLCAweDAyNCwgMHgwMUUsIDB4MDAwLAotCTB4MEUxLCAweDAyNCwgMHgwMUUsIDB4MDAxLCAweDAwRiwgMHgwOTgsIDB4MDJBLCAweDAwQiwKLQkweDBGMywgMHgwQTAsIDB4MEM4LCAweDBCOSwgMHgwQTIsIDB4MEE0LCAweDAxNywgMHgwM0EsCi0JMHgwNjksIDB4MDAwLCAweDBFNywgMHgwNDMsIDB4MDkwLCAweDA4RSwgMHgwNzUsIDB4MDQ4LAotCTB4MDVFLCAweDA3MCwgMHgwNjksIDB4MDAxLCAweDBFNiwgMHgwMDAsIDB4MDUyLCAweDAzMSwKLQkweDBDQywgMHgwMTgsIDB4MDE0LCAweDBBNSwgMHgwQ0MsIDB4MDA5LCAweDA4MiwgMHgwOTQsCi0JMHgwNzMsIDB4MDBDLCAweDBBMCwgMHgwOTEsIDB4MEY1LCAweDAyNSwgMHgwQ0MsIDB4MDA3LAotCTB4MDA2LCAweDA4NCwgMHgwODQsIDB4MDlGLCAweDAzMCwgMHgwQTIsIDB4MEE0LCAweDA3RCwKLQkweDA1MCwgMHgwNzUsIDB4MEE2LCAweDA2NSwgMHgwMDEsIDB4MDRBLCAweDA4RSwgMHgwQjQsCi0JMHgwQ0MsIDB4MEM0LCAweDAzNSwgMHgwNTQsIDB4MDc1LCAweDA2NiwgMHgwQTQsIDB4MDk3LAotCTB4MDdBLCAweDA4OSwgMHgwNTAsIDB4MDUzLCAweDAxMywgMHgwODAsIDB4MDE5LCAweDBFMywKLQkweDA0OSwgMHgwNUMsIDB4MDZELCAweDBDRSwgMHgwQTksIDB4MDQwLCAweDAzNSwgMHgwMDYsCi0JMHgwNzgsIDB4MEQyLCAweDA1NywgMHgwMDYsIDB4MEYxLCAweDBCMywgMHgwMkEsIDB4MDhELAotCTB4MDk3LCAweDAyMywgMHgwNjIsIDB4MDkyLCAweDA1RCwgMHgwNjksIDB4MDk5LCAweDAxQywKLQkweDA2QSwgMHgwMzYsIDB4MEU2LCAweDBDRCwgMHgwNDYsIDB4MDEyLCAweDA2RiwgMHgwOUUsCi0JMHgwRTEsIDB4MEFCLCAweDBFNCwgMHgwQTMsIDB4MDBDLCAweDBDMCwgMHgwREUsIDB4MEFDLAotCTB4MEQ0LCAweDAwRCwgMHgwMjgsIDB4MDFCLCAweDBEMCwgMHgwMTIsIDB4MEE1LCAweDAwMCwKLQkweDBGOCwgMHgwNEIsIDB4MEFELCAweDAzMywgMHgwMjgsIDB4MDA2LCAweDBBMCwgMHgwREUsCi0JMHgwMTQsIDB4MDk3LCAweDAzQSwgMHgwODksIDB4MDVELCAweDBDMCwgMHgwMEQsIDB4MEUzLAotCTB4MDA2LCAweDA5MCwgMHgwOTIsIDB4MDVELCAweDA2OSwgMHgwOTgsIDB4MDY2LCAweDBCOSwKLQkweDAxOSwgMHgwOTUsIDB4MEU0LCAweDBBOCwgMHgwQ0YsIDB4MDlELCAweDAzMywgMHgwMTgsCi0JMHgwNDksIDB4MEJFLCAweDA3QiwgMHgwODYsIDB4MEFGLCAweDA5MiwgMHgwOEMsIDB4MDMzLAotCTB4MDI0LCAweDAxNCwgMHgwMEMsIDB4MEY0LCAweDA4MywgMHgwMjQsIDB4MDIxLCAweDBDMiwKLQkweDA3MCwgMHgwQkYsIDB4MEY0LCAweDAxOCwgMHgwRjIsIDB4MDJELCAweDA0RCwgMHgwNDMsCi0JMHgwNTEsIDB4MDZFLCAweDA1QSwgMHgwMjIsIDB4MDFGLCAweDAzMiwgMHgwQTgsIDB4MDJGLAotCTB4MENFLCAweDA4MywgMHgwMjIsIDB4MEU2LCAweDAwNSwgMHgwQTQsIDB4MDE3LCAweDAzQSwKLQkweDA2OSwgMHgwMDAsIDB4MEU3LCAweDA0MywgMHgwOTAsIDB4MDhFLCAweDA3NSwgMHgwNDgsCi0JMHgwNUUsIDB4MDcwLCAweDA2OSwgMHgwMDEsIDB4MEU2LCAweDA0MiwgMHgwQTQsIDB4MDYzLAotCTB4MDk4LCAweDAwMiwgMHgwMjksIDB4MDRCLCAweDA5QSwgMHgwMjksIDB4MDc4LCAweDBFOSwKLQkweDA0MCwgMHgwNTMsIDB4MDEzLCAweDA4MSwgMHgwODEsIDB4MDMyLCAweDA2NywgMHgwODIsCi0JMHgwRkYsIDB4MEQwLCAweDA2MywgMHgwQzgsIDB4MEI1LCAweDAzNSwgMHgwMEQsIDB4MDQ1LAotCTB4MEFFLCAweDA1MCwgMHgwMDgsIDB4MDdDLCAweDBFMCwgMHgwRDAsIDB4MDVGLCAweDA5RCwKLQkweDAwNiwgMHgwNDUsIDB4MENDLCAweDAwMSwgMHgwQTQsIDB4MDE3LCAweDAzQSwgMHgwNjksCi0JMHgwMDAsIDB4MEU3LCAweDA0MywgMHgwOTAsIDB4MDhFLCAweDA3NSwgMHgwNDgsIDB4MDVFLAotCTB4MDcwLCAweDA2OSwgMHgwMDEsIDB4MEU2LCAweDA1OSwgMHgwQTQsIDB4MDYzLCAweDA5OCwKLQkweDAxQywgMHgwNTIsIDB4MDk3LCAweDAzQiwgMHgwMzAsIDB4MDUyLCAweDA4RSwgMHgwN0QsCi0JMHgwMkEsIDB4MDA5LCAweDAxRiwgMHgwNTEsIDB4MEVCLCAweDBBNCwgMHgwQTQsIDB4MDBBLAotCTB4MEI5LCAweDA5NCwgMHgwODcsIDB4MEFFLCAweDBDNSwgMHgwMzEsIDB4MDM4LCAweDAwMiwKLQkweDBGRiwgMHgwRDAsIDB4MDYzLCAweDBDOCwgMHgwQjUsIDB4MDM1LCAweDAwRCwgMHgwNDUsCi0JMHgwQUUsIDB4MDUwLCAweDAwOCwgMHgwN0MsIDB4MEVBLCAweDAyMCwgMHgwQkYsIDB4MDNBLAotCTB4MDBDLCAweDA4QiwgMHgwOUEsIDB4MDE2LCAweDA5MCwgMHgwNUMsIDB4MEU5LCAweDBBNCwKLQkweDAwMywgMHgwOUQsIDB4MDBFLCAweDA0MiwgMHgwMzksIDB4MEQ1LCAweDAyMSwgMHgwNzksCi0JMHgwOTUsIDB4MDQ4LCAweDAwRiwgMHgwMzAsIDB4MDBBLCAweDA5MSwgMHgwOEUsIDB4MDYwLAotCTB4MEVCLCAweDAyOSwgMHgwNzMsIDB4MDAwLCAweDAwOSwgMHgwNTQsIDB4MDA0LCAweDBDQSwKLQkweDA4MiwgMHgwNjUsIDB4MDUyLCAweDA2NSwgMHgwRTQsIDB4MENBLCAweDAyMiwgMHgwNjUsCi0JMHgwNzIsIDB4MDY1LCAweDAwOSwgMHgwMzIsIDB4MEUwLCAweDA5OSwgMHgwNzIsIDB4MDRDLAotCTB4MEM0LCAweDBFMCwgMHgwMEIsIDB4MEZGLCAweDA0MSwgMHgwOEYsIDB4MDIyLCAweDBENCwKLQkweDBENCwgMHgwMzUsIDB4MDE2LCAweDBCOSwgMHgwNDAsIDB4MDIxLCAweDBGMywgMHgwOEEsCi0JMHgwODIsIDB4MEZDLCAweDBFOCwgMHgwMzIsIDB4MDJFLCAweDA2MCwgMHgwQTksIDB4MDA1LAotCTB4MENFLCAweDA5QSwgMHgwNDAsIDB4MDM5LCAweDBEMCwgMHgwRTQsIDB4MDIzLCAweDA5RCwKLQkweDA1MiwgMHgwMTcsIDB4MDk5LCAweDA1NCwgMHgwNjEsIDB4MDk5LCAweDAwMSwgMHgwRTYsCi0JMHgwNDAsIDB4MEE0LCAweDA2MywgMHgwOTgsIDB4MDA0LCAweDBCMSwgMHgwODQsIDB4MDk4LAotCTB4MDE4LCAweDBFRiwgMHgwMkQsIDB4MDAzLCAweDAwNSwgMHgwMzEsIDB4MDM4LCAweDAwMiwKLQkweDBGRiwgMHgwRDAsIDB4MDYzLCAweDBDOCwgMHgwQjUsIDB4MDM1LCAweDAwRCwgMHgwNDUsCi0JMHgwQjksIDB4MDY4LCAweDA4OCwgMHgwN0MsIDB4MEUwLCAweDA1MCwgMHgwNUYsIDB4MDlELAotCTB4MDA2LCAweDA0NSwgMHgwQ0MsIDB4MDgxLCAweDA0OCwgMHgwMkUsIDB4MDcxLCAweDAzNCwKLQkweDA4RiwgMHgwNDgsIDB4MDAxLCAweDA0OCwgMHgwMTUsIDB4MDIxLCAweDAwNSwgMHgwMjEsCi0JMHgwRTksIDB4MDBBLCAweDA1MiwgMHgwMDMsIDB4MENFLCAweDA1QSwgMHgwNDYsIDB4MDM5LAotCTB4MENGLCAweDA0NywgMHgwOEUsIDB4MDYwLCAweDBBQiwgMHgwMUEsIDB4MEYzLCAweDA1MywKLQkweDA0MywgMHgwRUIsIDB4MDM1LCAweDAyNCwgMHgwQjgsIDB4MDFCLCAweDAzMCwgMHgwMDcsCi0JMHgwMDksIDB4MDhBLCAweDA3NCwgMHgwMkYsIDB4MDdFLCAweDA0MSwgMHgwNzQsIDB4MDFFLAotCTB4MDFELCAweDAwRCwgMHgwODcsIDB4MDQ2LCAweDA0OSwgMHgwRDUsIDB4MDk1LCAweDBEMSwKLQkweDBENSwgMHgwRDUsIDB4MEJCLCAweDBBOSwgMHgwNEUsIDB4MDgyLCAweDA5RCwgMHgwMDUsCi0JMHgwM0EsIDB4MDBBLCAweDA3NCwgMHgwMTQsIDB4MEU4LCAweDAyOSwgMHgwRDAsIDB4MDQyLAotCTB4MDc0LCAweDA1QiwgMHgwQ0UsIDB4MDUwLCAweDBDNCwgMHgwMDcsIDB4MDQ1LCAweDBCQywKLQkweDBFMiwgMHgwMEMsIDB4MDQwLCAweDA3NCwgMHgwNUIsIDB4MENFLCAweDA4MywgMHgwMDQsCi0JMHgwRjksIDB4MDk1LCAweDA0RCwgMHgwMTMsIDB4MDYzLCAweDA1RSwgMHgwNkYsIDB4MDMxLAotCTB4MDNCLCAweDBBMCwgMHgwOEIsIDB4MEEyLCAweDBDNSwgMHgwMzksIDB4MDhELCAweDA3OCwKLQkweDAzQSwgMHgwMjIsIDB4MEEwLCAweDAwMCwgMHgwNkIsIDB4MEMxLCAweDBEMSwgMHgwNTQsCi0JMHgwNjAsIDB4MDE2LCAweDBEOSwgMHgwOTEsIDB4MEEyLCAweDBFNywgMHgwNDMsIDB4MDhDLAotCTB4MDI0LCAweDBEQywgMHgwMUMsIDB4MEUwLCAweDA1MSwgMHgwMTcsIDB4MDM5LCAweDA2QiwKLQkweDAzQiwgMHgwQ0MsIDB4MDRCLCAweDA0MiwgMHgwMkUsIDB4MDZCLCAweDA1MCwgMHgwQkYsCi0JMHgwMzYsIDB4MDM2LCAweDA2NSwgMHgwNEYsIDB4MDdBLCAweDAxOCwgMHgwNTUsIDB4MDI1LAotCTB4MDc4LCAweDA5OCwgMHgwMjMsIDB4MEU3LCAweDA1MCwgMHgwM0UsIDB4MEYzLCAweDA4MSwKLQkweDA0QywgMHgwMDIsIDB4MDZELCAweDAzRSwgMHgwNzEsIDB4MDUzLCAweDBBRiwgMHgwNzgsCi0JMHgwQTksIDB4MEQ0LCAweDBBNiwgMHgwMjksIDB4MEIxLCAweDBCQywgMHgwRDksIDB4MDk5LAotCTB4MEIyLCAweDA4RSwgMHgwNjIsIDB4MDhGLCAweDAyMiwgMHgwMkUsIDB4MDc1LCAweDAxNiwKLQkweDBCMCwgMHgwQjIsIDB4MEFCLCAweDAyMywgMHgwMjgsIDB4MDE2LCAweDA1NCwgMHgwNTIsCi0JMHgwMzEsIDB4MEJDLCAweDBEOSwgMHgwOTksIDB4MEIyLCAweDA4RSwgMHgwNjYsIDB4MDE5LAotCTB4MDAyLCAweDAyRSwgMHgwNzUsIDB4MDE2LCAweDA1MCwgMHgwMkMsIDB4MEE5LCAweDBDOCwKLQkweDBDNiwgMHgwRjUsIDB4MDIwLCAweDBEMywgMHgwRTQsIDB4MDdGLCAweDA0RiwgMHgwOUMsCi0JMHgwMEEsIDB4MEQ2LCAweDAxNiwgMHgwN0YsIDB4MDkwLCAweDBFRSwgMHgwNEMsIDB4MEVCLAotCTB4MENGLCAweDBFMiwgMHgwODgsIDB4MEJBLCAweDAyRiwgMHgwNDIsIDB4MDg2LCAweDBBRSwKLQkweDBCRCwgMHgwRTUsIDB4MEE3LCAweDA1MiwgMHgwOUYsIDB4MDkzLCAweDA2MywgMHgwNzksCi0JMHgwRUIsIDB4MDMzLCAweDAwOCwgMHgwRjksIDB4MDk0LCAweDA1MiwgMHgwNDcsIDB4MENELAotCTB4MDk5LCAweDAyNSwgMHgwNkYsIDB4MDNBLCAweDAwQywgMHgwMTMsIDB4MEU2LCAweDA1NSwKLQkweDAzNCwgMHgwNEMsIDB4MDVBLCAweDA0RCwgMHgwQjUsIDB4MDIzLCAweDA5NSwgMHgwQTUsCi0JMHgwNDgsIDB4MDExLCAweDA1QSwgMHgwMEEsIDB4MDQzLCAweDA5NSwgMHgwQUMsIDB4MDJDLAotCTB4MEJBLCAweDAyNCwgMHgwMDUsIDB4MDQ5LCAweDBCMSwgMHgwQkMsIDB4MENBLCAweDBBNywKLQkweDA3MiwgMHgwNkMsIDB4MDZCLCAweDBDNSwgMHgwQkQsIDB4MEU4LCAweDAzMSwgMHgwNjksCi0JMHgwNTIsIDB4MDVELCAweDAwNiwgMHgwMTIsIDB4MDY1LCAweDAzRSwgMHgwQjEsIDB4MDUwLAotCTB4MDRDLCAweDA3RCwgMHgwNEYsIDB4MEFDLCAweDAwQSwgMHgwMzAsIDB4MDBCLCAweDAzNiwKLQkweDA2NCwgMHgwMTEsIDB4MDczLCAweDA4QSwgMHgwODMsIDB4MDhFLCAweDA3NSwgMHgwMTIsCi0JMHgwOUYsIDB4MDdCLCAweDBEMiwgMHgwOTksIDB4MDU4LCAweDBFRSwgMHgwODIsIDB4MDJFLAotCTB4MDc3LCAweDBBMCwgMHgwRTMsIDB4MDlELCAweDA1RCwgMHgwNEYsIDB4MEJDLCAweDAyQSwKLQkweDA1MywgMHgwMjksIDB4MDUzLCAweDBERSwgMHgwOTMsIDB4MDI0LCAweDBCQSwgMHgwQjMsCi0JMHgwMzYsIDB4MEFBLCAweDA0QSwgMHgwQzYsIDB4MDc5LCAweDBENCwgMHgwQjksIDB4MERFLAotCTB4MDYyLCAweDA1QSwgMHgwMTEsIDB4MDczLCAweDA1MCwgMHgwNTAsIDB4MEJGLCAweDAzNywKLQkweDAzNiwgMHgwNkYsIDB4MDEzLCAweDAyMywgMHgwQkEsIDB4MDBDLCAweDAyNCwgMHgwQ0UsCi0JMHgwQkQsIDB4MEUyLCAweDBBNywgMHgwNTIsIDB4MEIyLCAweDA4RSwgMHgwNkIsIDB4MDYwLAotCTB4MDYyLCAweDAyRSwgMHgwNzUsIDB4MDEzLCAweDAzMCwgMHgwQUMsIDB4MEEwLCAweDA1OSwKLQkweDBDQSwgMHgwNjQsIDB4MDYzLCAweDA3OSwgMHgwQjMsIDB4MDMzLCAweDA2NSwgMHgwMUMsCi0JMHgwQ0MsIDB4MDMyLCAweDAwNCwgMHgwNUMsIDB4MEVBLCAweDAyQywgMHgwQTAsIDB4MDU5LAotCTB4MERGLCAweDAyMywgMHgwMUIsIDB4MEQ0LCAweDA4MywgMHgwNTIsIDB4MDQ3LCAweDBERCwKLQkweDA3OSwgMHgwOTYsIDB4MEQ0LCAweDA5RSwgMHgwQjMsIDB4MDUyLCAweDA0QiwgMHgwQTIsCi0JMHgwNUEsIDB4MDFBLCAweDA4RCwgMHgwNUQsIDB4MDdCLCAweDA4MiwgMHgwQTcsIDB4MDUyLAotCTB4MEIyLCAweDA4RSwgMHgwNjYsIDB4MDE5LCAweDAwMiwgMHgwMkUsIDB4MDc1LCAweDAxNiwKLQkweDA1MCwgMHgwMkMsIDB4MDhDLCAweDAzMiwgMHgwMUQsIDB4MDdCLCAweDA4RSwgMHgwQTcsCi0JMHgwNTIsIDB4MEIxLCAweDBCQywgMHgwRDksIDB4MDk5LCAweDA5OCwgMHgwMDQsIDB4MERBLAotCTB4MDdDLCAweDBFMiwgMHgwQUMsIDB4MEZFLCAweDA2NiwgMHgwMTksIDB4MDAyLCAweDAyRSwKLQkweDA2NSwgMHgwNTAsIDB4MEJGLCAweDAzMywgMHgwNjYsIDB4MDY0LCAweDBGRSwgMHgwNzQsCi0JMHgwMTgsIDB4MDg2LCAweDA0QywgMHgwMTcsIDB4MDI2LCAweDBENiwgMHgwMTYsIDB4MDUyLAotCTB4MDM5LCAweDAxOCwgMHgwREUsIDB4MDdBLCAweDBDQywgMHgwQzIsIDB4MDNFLCAweDA2NSwKLQkweDAxNCwgMHgwOTEsIDB4MEYzLCAweDA2NiwgMHgwNDksIDB4MDA4LCAweDA2RSwgMHgwODMsCi0JMHgwMDksIDB4MDMzLCAweDBBRiwgMHgwMzEsIDB4MEVELCAweDAwRCwgMHgwOUQsIDB4MDA2LAotCTB4MDEyLCAweDA2MiwgMHgwMkEsIDB4MDMxLCAweDA4RCwgMHgwNkQsIDB4MEU3LCAweDA0MSwKLQkweDA4MiwgMHgwN0MsIDB4MENBLCAweDBBNiwgMHgwODksIDB4MDg3LCAweDAwOSwgMHgwMkUsCi0JMHgwMjksIDB4MEIxLCAweDBBRiwgMHgwMTAsIDB4MDM5LCAweDBENiwgMHgwNjQsIDB4MDk3LAotCTB4MDMwLCAweDAxRCwgMHgwNDIsIDB4MDc1LCAweDA5MywgMHgwNDQsIDB4MDAyLCAweDA4QywKLQkweDAyNCwgMHgwRDIsIDB4MDdBLCAweDBCMywgMHgwNTAsIDB4MEY2LCAweDA4OSwgMHgwMDUsCi0JMHgwNDMsIDB4MDVFLCAweDA2MSwgMHgwOTgsIDB4MEMwLCAweDAyQywgMHgwOTIsIDB4MDI1LAotCTB4MDNDLCAweDA4QiwgMHgwMjQsIDB4MDg5LCAweDA0OSwgMHgwMDUsIDB4MDQ5LCAweDBFNywKLQkweDAwQywgMHgwQjksIDB4MDg0LCAweDA5OCwgMHgwQjcsIDB4MEFELCAweDAzMywgMHgwNDQsCi0JMHgwQUUsIDB4MDVBLCAweDA1MSwgMHgwODYsIDB4MDYwLCAweDA5RiwgMHgwMzgsIDB4MEE5LAotCTB4MEEyLCAweDA2QywgMHgwNkIsIDB4MEM0LCAweDA4RSwgMHgwRjQsIDB4MDVFLCAweDA0OSwKLQkweDA0NiwgMHgwMTIsIDB4MDYyLCAweDBERSwgMHgwQjQsIDB4MENELCAweDAyMSwgMHgwNUMsCi0JMHgwQjQsIDB4MEEzLCAweDAwQywgMHgwQzEsIDB4MDNFLCAweDA3MiwgMHgwMjksIDB4MEEyLAotCTB4MDZDLCAweDA2QiwgMHgwQzYsIDB4MDEyLCAweDA2MiwgMHgwNDcsIDB4MEYwLCAweDBFOCwKLQkweDBDMywgMHgwMzIsIDB4MDA0LCAweDAzNSwgMHgwNDAsIDB4MDkyLCAweDBBNCwgMHgwODIsCi0JMHgwODgsIDB4MDEwLCAweDA5MiwgMHgwN0MsIDB4MENCLCAweDBENCwgMHgwMkYsIDB4MEE0LAotCTB4MDAyLCAweDAxMSwgMHgwODQsIDB4MDk4LCAweDBCNywgMHgwQUQsIDB4MDMzLCAweDA0NCwKLQkweDBBRSwgMHgwNUEsIDB4MDUxLCAweDA4NiwgMHgwNjAsIDB4MDlGLCAweDAzOCwgMHgwQTksCi0JMHgwQTIsIDB4MDZDLCAweDA2QiwgMHgwQzQsIDB4MDhFLCAweDBGNCwgMHgwNUUsIDB4MDQ5LAotCTB4MDQ0LCAweDAwOCwgMHgwNDksIDB4MDNFLCAweDA2NSwgMHgwRUEsIDB4MDE3LCAweDBEMiwKLQkweDAwMSwgMHgwMDgsIDB4MEMyLCAweDA0QywgMHgwNUIsIDB4MEQ2LCAweDA5OSwgMHgwQTQsCi0JMHgwMkIsIDB4MDk2LCAweDA5NCwgMHgwNjEsIDB4MDk4LCAweDAyNywgMHgwQ0UsIDB4MDQ1LAotCTB4MDM0LCAweDA0RCwgMHgwOEQsIDB4MDc4LCAweDA4MSwgMHgwMDksIDB4MDI3LCAweDBDQywKLQkweDBCRCwgMHgwMTIsIDB4MDI4LCAweDA2QywgMHgwNTgsIDB4MEFGLCAweDBCNiwgMHgwRjMsCi0JMHgwQTAsIDB4MEMxLCAweDAzRSwgMHgwNjUsIDB4MDUzLCAweDA0NCwgMHgwRDgsIDB4MEQ3LAotCTB4MDkyLCAweDA4RSwgMHgwN0QsIDB4MDRCLCAweDBDMiwgMHgwRkEsIDB4MDYxLCAweDAyNiwKLQkweDAwNiwgMHgwM0EsIDB4MEIzLCAweDA2QiwgMHgwMDMsIDB4MDA1LCAweDA0OSwgMHgwRTcsCi0JMHgwMEMsIDB4MEI5LCAweDA2RiwgMHgwNUEsIDB4MDY2LCAweDA5NSwgMHgwNUMsIDB4MEI0LAotCTB4MEEzLCAweDAwQywgMHgwQzEsIDB4MDNFLCAweDA3MCwgMHgwMjksIDB4MEEyLCAweDA2RSwKLQkweDBBNCwgMHgwREYsIDB4MDkzLCAweDA3MSwgMHgwMTMsIDB4MDc3LCAweDAyNiwgMHgwRTEsCi0JMHgwMjYsIDB4MEY4LCAweDAyNiwgMHgwQzYsIDB4MEJDLCAweDA5NCwgMHgwNzMsIDB4MEY5LAotCTB4MDJGLCAweDAwQiwgMHgwRTksIDB4MDg0LCAweDA5OCwgMHgwMTgsIDB4MEVBLCAweDBDQywKLQkweDBFQywgMHgwMEMsIDB4MDE1LCAweDAyNywgMHgwOUMsIDB4MDMyLCAweDBGRiwgMHgwM0QsCi0JMHgwNTYsIDB4MEFGLCAweDA5MiwgMHgwOEIsIDB4MDdBLCAweDBEMywgMHgwMzUsIDB4MEQ1LAotCTB4MENCLCAweDA0QSwgMHgwMzAsIDB4MENDLCAweDAxMywgMHgwRTcsIDB4MDAyLCAweDA5QSwKLQkweDAyNiwgMHgwQzYsIDB4MEJDLCAweDA5NCwgMHgwNzMsIDB4MDQxLCAweDA5NywgMHgwOTEsCi0JMHgwRjQsIDB4MDgzLCAweDBDRSwgMHgwMDQsIDB4MDIwLCAweDA2MiwgMHgwOEIsIDB4MDA1LAotCTB4MDE2LCAweDA0OSwgMHgwOEMsIDB4MDI0LCAweDBDMCwgMHgwQzcsIDB4MDU2LCAweDA5MCwKLQkweDBDMCwgMHgwQzEsIDB4MDUyLCAweDA3OSwgMHgwQzMsIDB4MDJFLCAweDA1QiwgMHgwRDUsCi0JMHgwQTYsIDB4MDcyLCAweDBEMiwgMHgwOTQsIDB4MEZBLCAweDBBRCwgMHgwNTgsIDB4MEM4LAotCTB4MEZBLCAweDA5RiwgMHgwNTQsIDB4MEIzLCAweDAzMiwgMHgwNEIsIDB4MEI5LCAweDA1NCwKLQkweDBBNiwgMHgwNTEsIDB4MDg2LCAweDA2QiwgMHgwNzksIDB4MEQwLCAweDA2MCwgMHgwOUYsCi0JMHgwMzIsIDB4MDA1LCAweDAzNCwgMHgwNEQsIDB4MDhELCAweDA3QSwgMHgwNEQsIDB4MDFFLAotCTB4MDdBLCAweDBCMywgMHgwNTEsIDB4MDAwLCAweDBBOSwgMHgwM0QsIDB4MDU5LCAweDBBOCwKLQkweDA3QiwgMHgwNDQsIDB4MDgyLCAweDBBMSwgMHgwQUYsIDB4MDRBLCAweDA4RCwgMHgwNTIsCi0JMHgwQTksIDB4MDUyLCAweDA0MSwgMHgwNDksIDB4MDRGLCAweDAzQSwgMHgwMkUsIDB4MDQwLAotCTB4MEE0LCAweDA5OSwgMHgwNTAsIDB4MEJFLCAweDA5MCwgMHgwMDgsIDB4MDUyLCAweDA3OSwKLQkweDBDMywgMHgwMkUsIDB4MDYxLCAweDAyNiwgMHgwMkQsIDB4MEVCLCAweDA0QywgMHgwRDAsCi0JMHgwMTUsIDB4MENCLCAweDA0QSwgMHgwMzAsIDB4MENDLCAweDAxMywgMHgwRTcsIDB4MDAyLAotCTB4MDlBLCAweDAyNiwgMHgwQzYsIDB4MEJDLCAweDA0OCwgMHgwRkUsIDB4MDFELCAweDAyNSwKLQkweDA0NiwgMHgwQTksIDB4MDU0LCAweDBBOSwgMHgwMjAsIDB4MEE0LCAweDBBNywgMHgwOUQsCi0JMHgwMTcsIDB4MDIwLCAweDA1MiwgMHgwNEMsIDB4MEE4LCAweDA1RiwgMHgwNDgsIDB4MDA0LAotCTB4MDIzLCAweDAwOSwgMHgwMzEsIDB4MDZGLCAweDA1QSwgMHgwNjYsIDB4MDgwLCAweDBBRSwKLQkweDA1QSwgMHgwNTEsIDB4MDg2LCAweDA2MCwgMHgwOUYsIDB4MDM4LCAweDAxNCwgMHgwRDEsCi0JMHgwMzYsIDB4MDM1LCAweDBFNCwgMHgwQTcsIDB4MDlELCAweDAxNywgMHgwMjAsIDB4MDUyLAotCTB4MDRDLCAweDBBMiwgMHgwNDUsIDB4MDBELCAweDA4QiwgMHgwMTUsIDB4MEY0LCAweDA5MSwKLQkweDBERSwgMHgwOEIsIDB4MEM5LCAweDAyOCwgMHgwQzIsIDB4MDRDLCAweDA1QiwgMHgwRDYsCi0JMHgwOTksIDB4MEE5LCAweDA1QywgMHgwQjQsIDB4MEEzLCAweDAwQywgMHgwRDYsIDB4MEYzLAotCTB4MEEwLCAweDBDMSwgMHgwM0UsIDB4MDY0LCAweDAwQSwgMHgwNjgsIDB4MDlCLCAweDAxQSwKLQkweDBGMSwgMHgwNkQsIDB4MDRDLCAweDBBQSwgMHgwOTIsIDB4MEUwLCAweDAzNiwgMHgwOTQsCi0JMHgwNzAsIDB4MDlCLCAweDAyOSwgMHgwNzgsIDB4MDEzLCAweDBBRSwgMHgwQjMsIDB4MEFBLAotCTB4MDg1LCAweDBENCwgMHgwNDMsIDB4MDc1LCAweDAwOSwgMHgwM0EsIDB4MEM5LCAweDBFQiwKLQkweDAzNSwgMHgwMjQsIDB4MEI4LCAweDAxQiwgMHgwMzIsIDB4MDhFLCAweDAxMywgMHgwNDgsCi0JMHgwN0UsIDB4MDRFLCAweDBGRCwgMHgwNDAsIDB4MEZELCAweDA0MCwgMHgwRkQsIDB4MDQwLAotCTB4MEZELCAweDA0MCwgMHgwRkQsIDB4MDQwLCAweDBGQywgMHgwMTMsIDB4MEY0LCAweDAyMSwKLQkweDBGOSwgMHgwMTcsIDB4MDQ1LCAweDA4QSwgMHgwMzAsIDB4MDBCLCAweDAzMywgMHgwNUYsCi0JMHgwODMsIDB4MEEyLCAweDAyQSwgMHgwMzAsIDB4MDBCLCAweDAzMywgMHgwNUYsIDB4MDgzLAotCTB4MEEyLCAweDBBOCwgMHgwQzAsIDB4MDJELCAweDBCMywgMHgwMjAsIDB4MDcwLCAweDA5MiwKLQkweDAxMywgMHgwOUEsIDB4MERFLCAweDA3NCwgMHgwMTgsIDB4MDI3LCAweDBDQywgMHgwQUEsCi0JMHgwNjgsIDB4MDlCLCAweDAxQSwgMHgwRjcsIDB4MDA3LCAweDA0NSwgMHgwNTEsIDB4MDgwLAotCTB4MDVCLCAweDA2NiwgMHgwNDcsIDB4MDA3LCAweDAzOCwgMHgwQTgsIDB4MDIzLCAweDBFNywKLQkweDA1MSwgMHgwMTEsIDB4MDNGLCAweDBFMCwgMHgwRTgsIDB4MDg1LCAweDA0NiwgMHgwMDEsCi0JMHgwNkQsIDB4MDk5LCAweDAwNiwgMHgwMTIsIDB4MDY1LCAweDA0RiwgMHgwN0EsIDB4MDIwLAotCTB4MDI0LCAweDBCQSwgMHgwQjMsIDB4MDMyLCAweDAxNSwgMHgwMjUsIDB4MDdCLCAweDBBRCwKLQkweDAzMywgMHgwNzgsIDB4MEFFLCAweDAwRSwgMHgwNzMsIDB4MEQwLCAweDA0NywgMHgwQ0UsCi0JMHgwQTcsIDB4MDMwLCAweDBDQywgMHgwNDQsIDB4MEZGLCAweDA4MywgMHgwQTIsIDB4MEE4LAotCTB4MEMwLCAweDAyQywgMHgwRDksIDB4MDkxLCAweDBDMSwgMHgwRDEsIDB4MDE1LCAweDAxOCwKLQkweDAwNSwgMHgwOUIsIDB4MDMyLCAweDAwOCwgMHgwQkEsIDB4MDJDLCAweDA1MSwgMHgwODAsCi0JMHgwNTksIDB4MEIzLCAweDAyMCwgMHgwNzAsIDB4MDkyLCAweDBFMiwgMHgwOTgsIDB4MDg5LAotCTB4MEZELCAweDBCQywgMHgwRUUsIDB4MDE4LCAweDA5MCwgMHgwRkMsIDB4MDhCLCAweDBBMiwKLQkweDBDNSwgMHgwMkIsIDB4MDBELCAweDA3OCwgMHgwM0EsIDB4MDIyLCAweDBBNSwgMHgwNjEsCi0JMHgwQUYsIDB4MDA3LCAweDA0NSwgMHgwNTEsIDB4MDgwLCAweDA1QiwgMHgwNjYsIDB4MDQ0LAotCTB4MDlFLCAweDBCMywgMHgwNTIsIDB4MDRCLCAweDA4MywgMHgwQUQsIDB4MEM3LCAweDAwOSwKLQkweDBCRSwgMHgwMUYsIDB4MDlGLCAweDA3NCwgMHgwNjUsIDB4MDVELCAweDAwQSwgMHgwMTcsCi0JMHgwN0MsIDB4MEFCLCAweDBBMCwgMHgwQzIsIDB4MDRDLCAweDAzOCwgMHgwNDksIDB4MDEyLAotCTB4MDJFLCAweDAzOCwgMHgwNDksIDB4MDA3LCAweDBBMywgMHgwMEMsIDB4MEMxLCAweDAzRSwKLQkweDA2NSwgMHgwNTMsIDB4MDQ0LCAweDBEOCwgMHgwRDcsIDB4MEFELCAweDBFNywgMHgwMDAsCi0JMHgwMzIsIDB4MDRCLCAweDA5QiwgMHgwMzMsIDB4MDM0LCAweDA0QSwgMHgwMDMsIDB4MDAwLAotCTB4MDlELCAweDAyNSwgMHgwQ0UsIDB4MDgzLCAweDAyNCwgMHgwQjgsIDB4MDE5LCAweDA5OSwKLQkweDA4QywgMHgwMDIsIDB4MDEyLCAweDA0QiwgMHgwQTEsIDB4MDk5LCAweDBEOCwgMHgwQzAsCi0JMHgwMjcsIDB4MDQ5LCAweDA3MywgMHgwQ0YsIDB4MEY5LCAweDAzQywgMHgwRjQsIDB4MDdDLAotCTB4MEU3LCAweDA5OCwgMHgwMDQsIDB4MEU5LCAweDAyRSwgMHgwN0YsIDB4MDM5LCAweDBFMywKLQkweDA0RiwgMHgwNDYsIDB4MDUzLCAweDBDMCwgMHgwNjAsIDB4MDEzLCAweDBBNCwgMHgwQjksCi0JMHgwRTUsIDB4MDNDLCAweDAwMywgMHgwREUsIDB4MDhGLCAweDA5QywgMHgwRjMsIDB4MDAwLAotCTB4MDlDLCAweDA2RiwgMHgwQ0YsIDB4MDNFLCAweDA4NSwgMHgwRjksIDB4MEEzLCAweDAzNiwKLQkweDAwMiwgMHgwMUUsIDB4MDYwLCAweDAzOCwgMHgwOTIsIDB4MDNFLCAweDA2MywgMHgwMUEsCi0JMHgwMTAsIDB4MDlGLCAweDBDRiwgMHgwMTgsIDB4MDEwLCAweDA5MiwgMHgwQkMsIDB4MEQwLAotCTB4MEE0LCAweDAwQywgMHgwREMsIDB4MEMwLCAweDAwRiwgMHgwOUMsIDB4MDk3LCAweDAzNCwKLQkweDA2MiwgMHgwQjYsIDB4MEU3LCAweDBGMywgMHgwRjMsIDB4MEE1LCAweDBDRiwgMHgwMTgsCi0JMHgwNDIsIDB4MDM0LCAweDAxQywgMHgwQzIsIDB4MENBLCAweDBGQSwgMHgwOEUsIDB4MDY4LAotCTB4MDUyLCAweDAwNiwgMHgwQUYsIDB4MDNDLCAweDBBMywgMHgwMEQsIDB4MEJGLCAweDA5RSwKLQkweDA1MCwgMHgwRTEsIDB4MEQxLCAweDA3MywgMHgwQ0EsIDB4MEUwLCAweDAzQSwgMHgwRkMsCi0JMHgwQzEsIDB4MDA5LCAweDAxQSwgMHgwMUUsIDB4MDZBLCAweDA1QywgMHgwNUIsIDB4MDhFLAotCTB4MDYzLCAweDA0RSwgMHgwNzcsIDB4MDczLCAweDBDQywgMHgwNjEsIDB4MDY3LCAweDBERCwKLQkweDBFNiwgMHgwNkMsIDB4MDQ4LCAweDBEMSwgMHgwRjMsIDB4MDFCLCAweDAyNCwgMHgwNjksCi0JMHgwNTEsIDB4MDA4LCAweDBENCwgMHgwNDIsIDB4MDFCLCAweDBGNCwgMHgwNjcsIDB4MEQxLAotCTB4MDgwLCAweDA0RSwgMHgwMkYsIDB4MEQwLCAweDA4QywgMHgwRDgsIDB4MDMwLCAweDAwOSwKLQkweDBDMiwgMHgwMUUsIDB4MDgwLCAweDAxQywgMHgwNDYsIDB4MDAxLCAweDAzQSwgMHgwNDcsCi0JMHgwRDAsIDB4MDMxLCAweDBBMSwgMHgwMDYsIDB4MDAxLCAweDAzQSwgMHgwN0YsIDB4MDQ2LAotCTB4MDMwLCAweDAyMSwgMHgwMTgsIDB4MDA0LCAweDBFOSwgMHgwNUUsIDB4MDg0LCAweDAyOSwKLQkweDAwMCwgMHgwQzAsIDB4MDI3LCAweDBDRCwgMHgwRDAsIDB4MDAwLCAweDA3QywgMHgwOTgsCi0JMHgwMDQsIDB4MEY5LCAweDAyRSwgMHgwODQsIDB4MDYyLCAweDA4QywgMHgwMDIsIDB4MDdELAotCTB4MEJBLCAweDAzRSwgMHgwN0UsIDB4MDRDLCAweDAwMiwgMHgwN0QsIDB4MDJFLCAweDA4QywKLQkweDA2MSwgMHgwMDgsIDB4MDMwLCAweDAwOSwgMHgwRjQsIDB4MDFELCAweDAwMSwgMHgwNjUsCi0JMHgwNzMsIDB4MDAwLCAweDA5RiwgMHgwNTEsIDB4MEQwLCAweDA4NSwgMHgwMjAsIDB4MDE4LAotCTB4MDA0LCAweDBGQSwgMHgwQkQsIDB4MDE5LCAweDA0NiwgMHgwMTgsIDB4MEMwLCAweDAyNywKLQkweDBERiwgMHgwRDEsIDB4MDk0LCAweDAzOCwgMHgwNEMsIDB4MDAyLCAweDA3RCwgMHgwMTcsCi0JMHgwNDYsIDB4MDU3LCAweDAwMSwgMHgwMzAsIDB4MDA5LCAweDBGNSwgMHgwRkEsIDB4MDAxLAotCTB4MDA5LCAweDAwNiwgMHgwMDEsIDB4MDNFLCAweDA4NywgMHgwQTEsIDB4MDRCLCAweDA4OCwKLQkweDBDMCwgMHgwMjcsIDB4MERDLCAweDA3NCwgMHgwMEQsIDB4MDM5LCAweDBEMywgMHgwMDAsCi0JMHgwOUYsIDB4MDczLCAweDBEMCwgMHgwMzAsIDB4MEIzLCAweDA5OCwgMHgwMDQsIDB4MEZCLAotCTB4MEJELCAweDAwNiwgMHgwQzQsIDB4MDgzLCAweDAwMCwgMHgwOUYsIDB4MDQ3LCAweDBEMCwKLQkweDAzNiwgMHgwNDgsIDB4MENDLCAweDAwMiwgMHgwNzEsIDB4MEJGLCAweDAzRiwgMHgwOUEsCi0JMHgwMTcsIDB4MEU2LCAweDAzRiwgMHgwMDgsIDB4MDIxLCAweDBFNiwgMHgwOTIsIDB4MEE0LAotCTB4MDhGLCAweDA5QSwgMHgwMTAsIDB4MDMxLCAweDBBNywgMHgwRjMsIDB4MDEwLCAweDBCMSwKLQkweDA4NCwgMHgwQUYsIDB4MDNBLCAweDBBQywgMHgwREMsIDB4MEY3LCAweDA3MywgMHgwRjIsCi0JMHgwNUMsIDB4MEM2LCAweDAyQSwgMHgwREIsIDB4MDlFLCAweDA3RSwgMHgwN0UsIDB4MDk3LAotCTB4MDMxLCAweDAwOCwgMHgwNjMsIDB4MEQwLCAweDA3MywgMHgwN0IsIDB4MDQzLCAweDBBOCwKLQkweDBFNiwgMHgwM0QsIDB4MDM0LCAweDBFQSwgMHgwRjMsIDB4MEUzLCAweDAxNSwgMHgwQkYsCi0JMHgwOUYsIDB4MDE4LCAweDA1RiwgMHgwNDUsIDB4MENGLCAweDBFOCwgMHgwOUYsIDB4MDVGLAotCTB4MDlBLCAweDA1QiwgMHgwMDMsIDB4MEQwLCAweDBGMywgMHgwRDMsIDB4MENFLCAweDAzNywKLQkweDAxQywgMHgwRDAsIDB4MDBGLCAweDBCQiwgMHgwOUUsIDB4MDY4LCAweDA3OCwgMHgwM0IsCi0JMHgwQkMsIDB4MENBLCAweDAzMSwgMHgwRTgsIDB4MEY5LCAweDBBMiwgMHgwMDIsIDB4MDEyLAotCTB4MEEyLCAweDA3MywgMHgwNTEsIDB4MDA4LCAweDA2RiwgMHgwRDEsIDB4MEYzLCAweDA0NiwKLQkweDAwMSwgMHgwMzgsIDB4MEJGLCAweDA0MCwgMHgwRkMsIDB4MDIzLCAweDAwMCwgMHgwOUMsCi0JMHgwMjEsIDB4MEU4LCAweDA0OSwgMHgwNTEsIDB4MDgwLCAweDA0RSwgMHgwOTEsIDB4MEY0LAotCTB4MDIxLCAweDAwMywgMHgwMTksIDB4MDgwLCAweDA0RSwgMHgwOUYsIDB4MEQwLCAweDAyMSwKLQkweDA2MywgMHgwMDYsIDB4MDAxLCAweDAzQSwgMHgwNTYsIDB4MDhDLCAweDAwMiwgMHgwNzQsCi0JMHgwRkUsIDB4MDc1LCAweDA0OSwgMHgwNUUsIDB4MDYzLCAweDBEMywgMHgwNEEsIDB4MDU0LAotCTB4MDQyLCAweDAzNSwgMHgwMTMsIDB4MEE3LCAweDBEMSwgMHgwODAsIDB4MDRFLCAweDA5NSwKLQkweDBFOCwgMHgwMUUsIDB4MDlBLCAweDA0QywgMHgwMDIsIDB4MDdDLCAweDBERCwgMHgwMUIsCi0JMHgwQjksIDB4MEU2LCAweDAwMSwgMHgwM0UsIDB4MDRCLCAweDBBMCwgMHgwNjIsIDB4MEEzLAotCTB4MDAwLCAweDA5RiwgMHgwNkUsIDB4MDhDLCAweDBGQywgMHgwRjMsIDB4MDAwLCAweDA5RiwKLQkweDA0QiwgMHgwQTAsIDB4MDQyLCAweDAxOCwgMHgwQ0MsIDB4MDAyLCAweDA3RCwgMHgwMDcsCi0JMHgwNDMsIDB4MERBLCAweDAxMywgMHgwMDAsIDB4MDlGLCAweDA1MSwgMHgwRDAsIDB4MDNELAotCTB4MDM0LCAweDA5OCwgMHgwMDQsIDB4MEZBLCAweDBCRCwgMHgwMUMsIDB4MDYyLCAweDA4QywKLQkweDAwMiwgMHgwN0QsIDB4MEZELCAweDAxQywgMHgwNjEsIDB4MDczLCAweDAwMCwgMHgwOUYsCi0JMHgwNDUsIDB4MEQxLCAweDBGNCwgMHgwNEUsIDB4MDYwLCAweDAxMywgMHgwRUIsIDB4MEY0LAotCTB4MDI1LCAweDBCMCwgMHgwMzMsIDB4MDAwLCAweDA5RiwgMHgwNDMsIDB4MEQxLCAweDBBNywKLQkweDA5QywgMHgwMTgsIDB4MDA0LCAweDBGQiwgMHgwOEUsIDB4MDg0LCAweDAwMywgMHgwRTksCi0JMHgwODAsIDB4MDRGLCAweDBCOSwgMHgwRTgsIDB4MDQzLCAweDBDMSwgMHgwMzAsIDB4MDA5LAotCTB4MEY3LCAweDA3QSwgMHgwMEEsIDB4MDMxLCAweDA5OCwgMHgwMDQsIDB4MEZBLCAweDAzRSwKLQkweDA4NCwgMHgwNDAsIDB4MDQxLCAweDA4MCwgMHgwNEUsIDB4MDgyLCAweDBFNywgMHgwNDEsCi0JMHgwODcsIDB4MDA5LCAweDAyMywgMHgwMDQsIDB4MDIzLCAweDAwMCwgMHgwOUQsIDB4MDA1LAotCTB4MENFLCAweDA5NiwgMHgwMUMsIDB4MDI0LCAweDA4QywgMHgwMTAsIDB4MDhDLCAweDAwMiwKLQkweDA3NCwgMHgwMTcsIDB4MDNBLCAweDAwNCwgMHgwMzgsIDB4MDQ5LCAweDAxOCwgMHgwMjEsCi0JMHgwMTgsIDB4MDA0LCAweDBFOCwgMHgwMkUsIDB4MDc0LCAweDA1MCwgMHgwRTEsIDB4MDI0LAotCTB4MDYwLCAweDA4NCwgMHgwNjAsIDB4MDEzLCAweDBBMCwgMHgwQjksIDB4MEQ0LCAweDAxMSwKLQkweDBDMiwgMHgwNDgsIDB4MEMxLCAweDAwOCwgMHgwQzAsIDB4MDI3LCAweDA0MSwgMHgwNzMsCi0JMHgwQTgsIDB4MDIzLCAweDA4NCwgMHgwOTEsIDB4MDgyLCAweDAxMSwgMHgwODAsIDB4MDRFLAotCTB4MDgyLCAweDBFNywgMHgwNTIsIDB4MDhFLCAweDAxMiwgMHgwNDYsIDB4MDA4LCAweDA0NiwKLQkweDAwMSwgMHgwM0EsIDB4MDBCLCAweDA5RCwgMHgwNDAsIDB4MDFDLCAweDAyNCwgMHgwOEMsCi0JMHgwMTAsIDB4MDhDLCAweDAwMiwgMHgwNzQsIDB4MDE3LCAweDAzQSwgMHgwMDksIDB4MDBFLAotCTB4MDEyLCAweDA0NiwgMHgwMDgsIDB4MDQ2LCAweDAwMSwgMHgwM0EsIDB4MDBCLCAweDA5OCwKLQkweDA2QSwgMHgwMUMsIDB4MDI0LCAweDBCMCwgMHgwRTEsIDB4MDE4LCAweDAwNCwgMHgwRTgsCi0JMHgwMkUsIDB4MDZCLCAweDA1MCwgMHgwRTEsIDB4MDI1LCAweDA4NywgMHgwMDgsIDB4MEMwLAotCTB4MDI3LCAweDA0MSwgMHgwNzMsIDB4MDA1LCAweDA0MywgMHgwODQsIDB4MDk2LCAweDAxQywKLQkweDAyMywgMHgwMDAsIDB4MDlELCAweDAwNSwgMHgwQ0MsIDB4MEFBLCAweDAxQywgMHgwMjQsCi0JMHgwQjAsIDB4MEUxLCAweDAxOCwgMHgwMDQsIDB4MEU4LCAweDAyRSwgMHgwNzAsIDB4MDY4LAotCTB4MDcwLCAweDA5MiwgMHgwQzMsIDB4MDg0LCAweDA2MCwgMHgwMTMsIDB4MEU1LCAweDA0NCwKLQkweDBGOSwgMHgwNDAsIDB4MDlELCAweDAwNSwgMHgwQ0UsIDB4MDVBLCAweDAxQywgMHgwMjQsCi0JMHgwQjAsIDB4MEUxLCAweDAxOCwgMHgwMDQsIDB4MEY5LCAweDBEMSwgMHgwM0UsIDB4MDcwLAotCTB4MDI3LCAweDBDRiwgMHgwMTMsIDB4MEU1LCAweDA0NCwgMHgwMkMsIDB4MEEwLCAweDA0MiwKLQkweDBDQiwgMHgwODksIDB4MEYyLCAweDAyMSwgMHgwM0EsIDB4MDBCLCAweDA5QywgMHgwMEEsCi0JMHgwMUMsIDB4MDI0LCAweDBCMCwgMHgwRTEsIDB4MDE4LCAweDAwNCwgMHgwRjksIDB4MEQxLAotCTB4MDBCLCAweDAzOCwgMHgwMTAsIDB4MEIzLCAweDBDNCwgMHgwMjEsIDB4MDM5LCAweDAzNiwKLQkweDA1QywgMHgwNDIsIDB4MEM4LCAweDA4NCwgMHgwMkIsIDB4MDc5LCAweDBEMCwgMHgwNjEsCi0JMHgwQzIsIDB4MDc0LCAweDAxNSwgMHgwMjQsIDB4MEJBLCAweDBEMywgMHgwMzEsIDB4MEU1LAotCTB4MDU5LCAweDAwOCwgMHgwMjksIDB4MDA4LCAweDBFMCwgMHgwNjYsIDB4MDYzLCAweDA0MiwKLQkweDA5NSwgMHgwMTIsIDB4MDgxLCAweDAwMCwgMHgwMjksIDB4MDBCLCAweDBDMSwgMHgwNTEsCi0JMHgwMjQsIDB4MEI4LCAweDAxOSwgMHgwOTksIDB4MDkwLCAweDAyMiwgMHgwOTAsIDB4MEI0LAotCTB4MDE4LCAweDBBMCwgMHgwOTEsIDB4MDQxLCAweDAwMSwgMHgwNDEsIDB4MDQxLCAweDA0MSwKLQkweDA1MiwgMHgwODMsIDB4MENBLCAweDA0MCwgMHgwMjgsIDB4MDY4LCAweDAyOSwgMHgwMDgsCi0JMHgwQkEsIDB4MDE2LCAweDAxMCwgMHgwOUMsIDB4MDk5LCAweDAwQiwgMHgwNTYsIDB4MDk0LAotCTB4MDkwLCAweDA1MiwgMHgwMTUsIDB4MDc0LCAweDBDMCwgMHgwMjcsIDB4MDFBLCAweDAyQSwKLQkweDBEMiwgMHgwOTAsIDB4MDI1LCAweDBEMywgMHgwMDAsIDB4MDlELCAweDAyOCwgMHgwQUIsCi0JMHgwNEEsIDB4MDQyLCAweDAxNywgMHgwNEMsIDB4MDAyLCAweDA3MCwgMHgwRDQsIDB4MDg0LAotCTB4MDJFLCAweDA5OCwgMHgwMDQsIDB4MEUxLCAweDAyQSwgMHgwNDIsIDB4MDE3LCAweDA0QywKLQkweDAwMiwgMHgwNzAsIDB4MDgyLCAweDA5MCwgMHgwNEIsIDB4MEE2LCAweDAwMSwgMHgwMzgsCi0JMHgwNTEsIDB4MDQ4LCAweDA0MiwgMHgwRTksIDB4MDgwLCAweDA0RSwgMHgwMTUsIDB4MEE0LAotCTB4MDIxLCAweDA3NCwgMHgwQzAsIDB4MDI3LCAweDAwRiwgMHgwQTQsIDB4MDEyLCAweDBFOSwKLQkweDA4MCwgMHgwNEUsIDB4MDgyLCAweDBBQywgMHgwODAsIDB4MEFDLCAweDBBMCwgMHgwQUMsCi0JMHgwQTksIDB4MDU5LCAweDBFNSwgMHgwNjQsIDB4MDQ1LCAweDA2NSwgMHgwQ0EsIDB4MEM4LAotCTB4MDRBLCAweDBDRSwgMHgwMEEsIDB4MENFLCAweDA0QSwgMHgwQ0UsIDB4MDk1LCAweDA5MSwKLQkweDA5NSwgMHgwOTQsIDB4MDk1LCAweDA5MywgMHgwMjksIDB4MDI1LCAweDBDMCwgMHgwQ0MsCi0JMHgwQ0MsIDB4MDg4LCAweDBBNCwgMHgwOTcsIDB4MDU2LCAweDAzNiwgMHgwNjQsIDB4MDcyLAotCTB4MDkwLCAweDA1NCwgMHgwOEEsIDB4MDlDLCAweDA0NSwgMHgwMDgsIDB4MEI5LCAweDBCNywKLQkweDA2NiwgMHgwMTIsIDB4MDkzLCAweDAwOSwgMHgwQzksIDB4MEIyLCAweDA3NCwgMHgwOEUsCi0JMHgwQkEsIDB4MDYwLCAweDAxMywgMHgwRTUsIDB4MDM0LCAweDA4RSwgMHgwQkEsIDB4MDYwLAotCTB4MDEzLCAweDBFNCwgMHgwNzQsIDB4MDhFLCAweDBCQSwgMHgwNjAsIDB4MDEzLCAweDBFNSwKLQkweDA2OSwgMHgwMUQsIDB4MDc0LCAweDBDMCwgMHgwMjcsIDB4MENBLCAweDAyOSwgMHgwMUQsCi0JMHgwNzQsIDB4MEMwLCAweDAyNywgMHgwQ0UsIDB4MEQyLCAweDAyNSwgMHgwRDMsIDB4MDAwLAotCTB4MDlGLCAweDAzOCwgMHgwQTQsIDB4MDRCLCAweDBBNiwgMHgwMDEsIDB4MDNFLCAweDA1RSwKLQkweDA5MSwgMHgwMkUsIDB4MDk4LCAweDAwNCwgMHgwRjksIDB4MDE1LCAweDAyMiwgMHgwNUQsCi0JMHgwMzAsIDB4MDA5LCAweDBGMywgMHgwRTksIDB4MDEyLCAweDBFOSwgMHgwODAsIDB4MDRGLAotCTB4MDkwLCAweDA1MiwgMHgwMjUsIDB4MEQzLCAweDAwMCwgMHgwOUQsIDB4MEM1LCAweDA0OCwKLQkweDAyNSwgMHgwRDMsIDB4MDAwLCAweDA5QywgMHgwNDUsIDB4MENFLCAweDBDRCwgMHgwMDksCi0JMHgwQzksIDB4MEIyLCAweDAxQSwgMHgwNDQsIDB4MEJBLCAweDA2MCwgMHgwMTMsIDB4MEU3LAotCTB4MDM0LCAweDA4OSwgMHgwNzQsIDB4MEMwLCAweDAyNywgMHgwMUMsIDB4MDI3LCAweDBCNywKLQkweDA5QywgMHgwODAsIDB4MEMyLCAweDBENywgMHgwNzYsIDB4MDU5LCAweDA5QiwgMHgwOTMsCi0JMHgwMEMsIDB4MDY0LCAweDBDMywgMHgwMUQsIDB4MDFCLCAweDBGNCwgMHgwNDUsIDB4MDRCLAotCTB4MEM3LCAweDBDNiwgMHgwM0EsIDB4MDM3LCAweDBFOCwgMHgwODEsIDB4MDRCLCAweDBDNywKLQkweDBDNiwgMHgwM0EsIDB4MDM3LCAweDBFOCwgMHgwOTEsIDB4MDRCLCAweDBDNywgMHgwQzYsCi0JMHgwMzIsIDB4MDYxLCAweDA4RSwgMHgwQjMsIDB4MEJDLCAweDBDMywgMHgwNEEsIDB4MDIyLAotCTB4MEU2LCAweDBCNSwgMHgwMjQsIDB4MDk3LCAweDA3MSwgMHgwQzksIDB4MDg3LCAweDBCNCwKLQkweDAzMSwgMHgwQUUsIDB4MDczLCAweDBBMiwgMHgwQ0YsIDB4MDM5LCAweDBEMiwgMHgwNUQsCi0JMHgwMDQsIDB4MDQ0LCAweDA0MiwgMHgwQzAsIDB4MEQ2LCAweDBERSwgMHgwNzEsIDB4MDA2LAotCTB4MDE2LCAweDBCQiwgMHgwREIsIDB4MENFLCAweDA4MywgMHgwMEMsIDB4MDY0LCAweDBDMywKLQkweDAxRCwgMHgwMzEsIDB4MDEzLCAweDAwNCwgMHgwRjksIDB4MDk1LCAweDA0RCwgMHgwMTMsCi0JMHgwMzIsIDB4MDkzLCAweDA2MywgMHgwNUUsIDB4MDY2LCAweDAxNCwgMHgwQ0MsIDB4MDI5LAotCTB4MDJBLCAweDA1MywgMHgwMzAsIDB4MEE2LCAweDA2MSwgMHgwNEMsIDB4MEMyLCAweDA5OSwKLQkweDA4NSwgMHgwM0EsIDB4MDcyLCAweDBDQywgMHgwQzIsIDB4MDk5LCAweDA4NSwgMHgwMDYsCi0JMHgwMUIsIDB4MEIzLCAweDAwQSwgMHgwNjYsIDB4MDE0LCAweDAxNCwgMHgwMjQsIDB4MDk5LAotCTB4MDg1LCAweDAzMywgMHgwMEEsIDB4MDA4LCAweDBCMSwgMHgwODYsIDB4MDYxLCAweDA0QywKLQkweDBDMiwgMHgwODQsIDB4MDIxLCAweDA2OCwgMHgwNzMsIDB4MDNCLCAweDAzMCwgMHgwQTYsCi0JMHgwNjEsIDB4MDQxLCAweDA0RSwgMHgwQTUsIDB4MDk4LCAweDA1MywgMHgwMzAsIDB4MEFDLAotCTB4MDU5LCAweDA3NiwgMHgwNjEsIDB4MDRDLCAweDBDMiwgMHgwQjAsIDB4MDhELCAweDBENiwKLQkweDA2MSwgMHgwNEMsIDB4MEMyLCAweDBCMCwgMHgwMkMsIDB4MEY2LCAweDA2MSwgMHgwNEMsCi0JMHgwQzIsIDB4MEIxLCAweDA4QywgMHgwQTUsIDB4MDk4LCAweDA1MywgMHgwMzAsIDB4MEFDLAotCTB4MDBGLCAweDAyNCwgMHgwQ0MsIDB4MDI5LCAweDA5OCwgMHgwNTYsIDB4MDBGLCAweDAyOCwKLQkweDA2NiwgMHgwMTUsIDB4MDkyLCAweDAxQSwgMHgwMTksIDB4MDg1LCAweDAzMywgMHgwMEEsCi0JMHgwQ0EsIDB4MDg1LCAweDAwQywgMHgwQzIsIDB4MDk5LCAweDA4NSwgMHgwNjUsIDB4MEMzLAotCTB4MEQ5LCAweDA4NSwgMHgwMzMsIDB4MDBBLCAweDBDRSwgMHgwNzAsIDB4MDg2LCAweDA2MSwKLQkweDA0QywgMHgwQzIsIDB4MEIzLCAweDA5NywgMHgwNzEsIDB4MDBDLCAweDA5OSwgMHgwM0IsCi0JMHgwQ0MsIDB4MDgzLCAweDA1OCwgMHgwMEIsIDB4MEVBLCAweDA3NywgMHgwOUQsIDB4MDA2LAotCTB4MDRBLCAweDBCRSwgMHgwMDQsIDB4MDc0LCAweDA2MCwgMHgwRTAsIDB4MEQxLCAweDA0RSwKLQkweDAzOCwgMHgwNEMsIDB4MDNFLCAweDBFRSwgMHgwM0UsIDB4MEVFLCAweDAzRSwgMHgwRUUsCi0JMHgwM0UsIDB4MEVFLCAweDAzMCwgMHgwQkIsIDB4MENBLCAweDBFMSwgMHgwMUYsIDB4MDc3LAotCTB4MDFGLCAweDA3NywgMHgwMUYsIDB4MDc3LCAweDAxRiwgMHgwNzcsIDB4MDI3LCAweDA3MCwKLQkweDA4RiwgMHgwQkIsIDB4MDgwLCAweDAwRSwgMHgwMTEsIDB4MEY3LCAweDA3MSwgMHgwRjcsCi0JMHgwN0MsIDB4MDZGLCAweDAzQywgMHgwQjMsIDB4MDM2LCAweDAwMiwgMHgwRkIsIDB4MDhELAotCTB4MEU2LCAweDA1NSwgMHgwNzAsIDB4MDdGLCAweDAyRCwgMHgwMjQsIDB4MDY5LCAweDA1NSwKLQkweDA0RiwgMHgwNTgsIDB4MEE5LCAweDAyMywgMHgwMUYsIDB4MDU0LCAweDBGNywgMHgwOEEsCi0JMHgwOTUsIDB4MDI1LCAweDAyQiwgMHgwNzUsIDB4MDBDLCAweDBDQywgMHgwQUMsIDB4MDU2LAotCTB4MDUxLCAweDBDQywgMHgwNTEsIDB4MEU0LCAweDA0NSwgMHgwQ0UsIDB4MEEyLCAweDAxMiwKLQkweDAzOSwgMHgwQzAsIDB4MEEwLCAweDBBRiwgMHgwNTYsIDB4MDZBLCAweDA0OSwgMHgwN0YsCi0JMHgwMDIsIDB4MDhDLCAweDAwOSwgMHgwRjgsIDB4MDBCLCAweDBFQiwgMHgwQUYsIDB4MDU2LAotCTB4MDc2LCAweDA2NywgMHgwNTIsIDB4MEIyLCAweDA4RSwgMHgwNjksIDB4MEE3LCAweDAxMSwKLQkweDA3MywgMHgwQTgsIDB4MEIxLCAweDBCQywgMHgwQ0EsIDB4MEEwLCAweDBBOSwgMHgwMzYsCi0JMHgwNTAsIDB4MDJDLCAweDA5OCwgMHgwRTcsIDB4MDBBLCAweDBGNSwgMHgwNjYsIDB4MEE0LAotCTB4MDk3LCAweDBFMiwgMHgwNUEsIDB4MDMwLCAweDAyNywgMHgwQkEsIDB4MEY3LCAweDA4MywKLQkweDA0RSwgMHgwQTUsIDB4MDMzLCAweDAwQSwgMHgwNjYsIDB4MDE1LCAweDA4RCwgMHgwRTYsCi0JMHgwNTUsIDB4MDM5LCAweDBEMiwgMHgwQTcsIDB4MEFDLCAweDA1NCwgMHgwNjAsIDB4MDE2LAotCTB4MDcwLCAweDAxQiwgMHgwNzIsIDB4MDhFLCAweDA2MiwgMHgwOEYsIDB4MDIyLCAweDAyRSwKLQkweDA3NSwgMHgwMTYsIDB4MDAyLCAweDBGQiwgMHgwOEQsIDB4MEU2LCAweDAwQSwgMHgwOTUsCi0JMHgwM0QsIDB4MDYyLCAweDBBMywgMHgwMDAsIDB4MEI3LCAweDAwMSwgMHgwQjUsIDB4MDUzLAotCTB4MERFLCAweDAyQSwgMHgwNTQsIDB4MDk0LCAweDBBRCwgMHgwRDQsIDB4MDMzLCAweDAzMiwKLQkweDBCMSwgMHgwNTksIDB4MDQ3LCAweDAzMSwgMHgwNDcsIDB4MDkxLCAweDAxNywgMHgwM0EsCi0JMHgwODgsIDB4MDQ4LCAweDBFNywgMHgwMDIsIDB4MEIwLCAweDAxNywgMHgwREMsIDB4MDY3LAotCTB4MDlELCAweDA0QiwgMHgwOEQsIDB4MEU3LCAweDA1MiwgMHgwQUEsIDB4MDdCLCAweDBENCwKLQkweDBBQSwgMHgwOTIsIDB4MEJELCAweDBENiwgMHgwOTksIDB4MEJDLCAweDA1NiwgMHgwMDIsCi0JMHgwRkIsIDB4MDhDLCAweDBGMywgMHgwNjYsIDB4MDY2LCAweDBDNiwgMHgwRjMsIDB4MDY2LAotCTB4MDY2LCAweDA2MiwgMHgwOTksIDB4MDJBLCAweDBGOCwgMHgwMTgsIDB4MDY4LCAweDA3MCwKLQkweDBCMCwgMHgwOEEsIDB4MDBELCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTIsCi0JMHgwMzIsIDB4MEUxLCAweDA0MCwgMHgwNUMsIDB4MDM4LCAweDAwQiwgMHgwRUEsIDB4MDlCLAotCTB4MDg3LCAweDAwMSwgMHgwN0QsIDB4MEMwLCAweDA1RiwgMHgwNzAsIDB4MDE3LCAweDBEQywKLQkweDAwNSwgMHgwRjUsIDB4MERDLCAweDA5QiwgMHgwMDEsIDB4MDdELCAweDA2MSwgMHgwNEQsCi0JMHgwODAsIDB4MEJFLCAweDBBNywgMHgwNzksIDB4MDgyLCAweDBBMiwgMHgwMUYsIDB4MDUwLAotCTB4MDE1LCAweDAyQSwgMHgwOEYsIDB4MDhCLCAweDAxQywgMHgwRTUsIDB4MEE1LCAweDAxMywKLQkweDA4NCwgMHgwNTgsIDB4MEU3LCAweDAwMiwgMHgwOTEsIDB4MDU0LCAweDAwNSwgMHgwMDIsCi0JMHgwNEIsIDB4MEJELCAweDAyMiwgMHgwMUEsIDB4MDk0LCAweDA3RiwgMHgwOUMsIDB4MDFBLAotCTB4MEMwLCAweDA1RiwgMHgwNDIsIDB4MDFBLCAweDAyMSwgMHgwRDEsIDB4MDgwLCAweDA1OSwKLQkweDBDMCwgMHgwNkQsIDB4MDFDLCAweDAyQywgMHgwMEEsIDB4MDgzLCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NCwgMHgwMUMsIDB4MEI4LCAweDA1QywgMHgwNkUsIDB4MDE3LCAweDA5QywKLQkweDAyRiwgMHgwMzgsIDB4MDVFLCAweDA3MCwgMHgwRTcsIDB4MEI4LCAweDA1RSwgMHgwNzAsCi0JMHgwQkMsIDB4MEUxLCAweDA3OSwgMHgwQzIsIDB4MEYzLCAweDA4NSwgMHgwRTcsIDB4MDBCLAotCTB4MENFLCAweDAxNywgMHgwOUMsIDB4MDI5LCAweDA5QywgMHgwMjksIDB4MDlDLCAweDAyOSwKLQkweDA5QywgMHgwMjMsIDB4MDBGLCAweDA1OCwgMHgwMTQsIDB4MEVFLCAweDAzNSwgMHgwNzcsCi0JMHgwMjYsIDB4MDIxLCAweDA5MywgMHgwMDUsIDB4MEM5LCAweDBCMCwgMHgwMTcsIDB4MEQyLAotCTB4MDFELCAweDAxOCwgMHgwOEEsIDB4MDIxLCAweDA5MywgMHgwMDUsIDB4MEM5LCAweDBCMCwKLQkweDAxNywgMHgwRDEsIDB4MDg3LCAweDBBQywgMHgwMEEsIDB4MDc0LCAweDAwRiwgMHgwQUUsCi0JMHgwRjUsIDB4MDVBLCAweDA4MiwgMHgwQTMsIDB4MEU0LCAweDAzQSwgMHgwMzEsIDB4MDE0LAotCTB4MEJCLCAweDBENywgMHgwNTksIDB4MDk5LCAweDA3NCwgMHgwQTIsIDB4MDE5LCAweDAzMCwKLQkweDA1QywgMHgwOUIsIDB4MDAxLCAweDA3RCwgMHgwMTgsIDB4MDdBLCAweDBDMCwgMHgwQTcsCi0JMHgwNDAsIDB4MEY4LCAweDA0MywgMHgwRDQsIDB4MDYzLCAweDA4OSwgMHgwMjUsIDB4MEQwLAotCTB4MDEwLCAweDBENiwgMHgwMUMsIDB4MDZBLCAweDAxMCwgMHgwRjUsIDB4MDU1LCAweDA4OSwKLQkweDAyNSwgMHgwRDEsIDB4MDUxLCAweDA2NiwgMHgwMUYsIDB4MDUxLCAweDBGNSwgMHgwOTEsCi0JMHgwNDksIDB4MDJFLCAweDA4OSwgMHgwMTUsIDB4MDk4LCAweDA2QSwgMHgwQTMsIDB4MEUwLAotCTB4MDhBLCAweDA5NCwgMHgwNjUsIDB4MDY0LCAweDAwRSwgMHgwMTMsIDB4MDE3LCAweDAzOCwKLQkweDBBOCwgMHgwODYsIDB4MDRDLCAweDAxNywgMHgwMjYsIDB4MEMwLCAweDA1RiwgMHgwNDYsCi0JMHgwMUUsIDB4MEIwLCAweDAyOCwgMHgwNjMsIDB4MDFGLCAweDAwOCwgMHgwN0EsIDB4MDhDLAotCTB4MDcxLCAweDAyNCwgMHgwQkEsIDB4MDAyLCAweDAxQSwgMHgwRDAsIDB4MDBELCAweDA0MiwKLQkweDAxRSwgMHgwQUEsIDB4MEIxLCAweDAyNCwgMHgwQkEsIDB4MDJBLCAweDAyRCwgMHgwMzEsCi0JMHgwRjUsIDB4MDFGLCAweDA1OCwgMHgwNzQsIDB4MDkyLCAweDBFOCwgMHgwODcsIDB4MDVBLAotCTB4MDYzLCAweDA1MiwgMHgwREUsIDB4MEY0LCAweDA1MSwgMHgwNjksIDB4MDRBLCAweDAzRSwKLQkweDAwOSwgMHgwNjksIDB4MDQ2LCAweDA1MCwgMHgwRjAsIDB4MEUxLCAweDAzMSwgMHgwNzMsCi0JMHgwMDUsIDB4MDQ1LCAweDBCRCwgMHgwNTksIDB4MDhELCAweDA4QiwgMHgwNEEsIDB4MDdDLAotCTB4MEQzLCAweDBFRCwgMHgwMzgsIDB4MEU5LCAweDBEMywgMHgwNEUsIDB4MDc0LCAweDBFRCwKLQkweDA0NCwgMHgwMzIsIDB4MDYwLCAweDBCOSwgMHgwMzYsIDB4MDAyLCAweDBGQSwgMHgwNUIsCi0JMHgwREUsIDB4MDhBLCAweDAyRCwgMHgwMjksIDB4MEQwLCAweDBFMSwgMHgwMjEsIDB4MEY1LAotCTB4MEEzLCAweDA5MiwgMHgwMjEsIDB4MEYyLCAweDAxOSwgMHgwMzAsIDB4MDVDLCAweDA5QiwKLQkweDAwMSwgMHgwN0QsIDB4MDIxLCAweDBGNSwgMHgwQTAsIDB4MEM2LCAweDAwMSwgMHgwNjcsCi0JMHgwMDEsIDB4MEI0LCAweDA0NSwgMHgwQ0UsIDB4MEE1LCAweDAxMiwgMHgwMzksIDB4MEQ0LAotCTB4MDFDLCAweDAwNSwgMHgwRjQsIDB4MDQwLCAweDBBMSwgMHgwQzIsIDB4MEMzLCAweDA1MCwKLQkweDA2QSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsCi0JMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwODEsIDB4MEFGLAotCTB4MDg2LCAweDA5RiwgMHgwMTksIDB4MDFCLCAweDBFNywgMHgwODEsIDB4MEYzLCAweDA2NSwKLQkweDBGMiwgMHgwODAsIDB4MEJFLCAweDA3MCwgMHgwMTcsIDB4MERGLCAweDBERiwgMHgwMzgsCi0JMHgwMEIsIDB4MEVCLCAweDAwRCwgMHgwQzMsIDB4MDgwLCAweDBCRSwgMHgwQTcsIDB4MDBGLAotCTB4MDk1LCAweDA0RiwgMHgwNUEsIDB4MDk0LCAweDBDMCwgMHgwMkMsIDB4MEQ4LCAweDBCMSwKLQkweDBBNywgMHgwQ0UsIDB4MDVBLCAweDAxMSwgMHgwNzMsIDB4MEE4LCAweDAzQSwgMHgwQzIsCi0JMHgwQ0MsIDB4MEI2LCAweDAzMCwgMHgwMTcsIDB4MERDLCAweDA2RiwgMHgwMzUsIDB4MEE5LAotCTB4MDgwLCAweDA0RCwgMHgwQTcsIDB4MENFLCAweDAyQSwgMHgwMTgsIDB4MDc5LCAweDBDNSwKLQkweDA0OSwgMHgwREUsIDB4MDYxLCAweDBBOCwgMHgwMjIsIDB4MEU3LCAweDA1MCwgMHgwMzMsCi0JMHgwRjksIDB4MDk4LCAweDA2NCwgMHgwMDgsIDB4MEI5LCAweDA5NSwgMHgwNDIsIDB4MEZDLAotCTB4MENDLCAweDBEOSwgMHgwOTUsIDB4MDNELCAweDA2MiwgMHgwQTIsIDB4MDQ4LCAweDBENCwKLQkweDA0OCwgMHgwRTcsIDB4MDAyLCAweDA4OCwgMHgwQjksIDB4MEMxLCAweDBBMCwgMHgwRTMsCi0JMHgwOUQsIDB4MDRFLCAweDA2MiwgMHgwRTYsIDB4MENDLCAweDBDNiwgMHgwNkIsIDB4MENFLAotCTB4MDgzLCAweDAxMCwgMHgwQzksIDB4MDgyLCAweDBFNCwgMHgwREEsIDB4MEMyLCAweDBDOCwKLQkweDAxRSwgMHgwQzMsIDB4MEI5LCAweDAzNiwgMHgwMDIsIDB4MEZBLCAweDBBOSwgMHgwRUIsCi0JMHgwNEUsIDB4MDMwLCAweDAzMCwgMHgwRkEsIDB4MDBELCAweDBGMCwgMHgwQTksIDB4MEVCLAotCTB4MDQwLCAweDBCOSwgMHgwMEYsIDB4MEFBLCAweDA3QSwgMHgwRDIsIDB4MEMyLCAweDBDOCwKLQkweDBGQSwgMHgwQTcsIDB4MEFELCAweDA0MSwgMHgwMEEsIDB4MDQ3LCAweDBENSwgMHgwM0QsCi0JMHgwNjgsIDB4MEFDLCAweDBGMSwgMHgwRjUsIDB4MDRGLCAweDA1QSwgMHgwOTcsIDB4MDU0LAotCTB4MDdELCAweDA0RiwgMHgwQTgsIDB4MEFBLCAweDA1NSwgMHgwMUYsIDB4MDExLCAweDA3MywKLQkweDA1QSwgMHgwQjAsIDB4MDE3LCAweDBERSwgMHgwNUQsIDB4MDU5LCAweDBBOSwgMHgwMjUsCi0JMHgwRDAsIDB4MDU1LCAweDAyQSwgMHgwNDYsIDB4MEJDLCAweDBCOCwgMHgwMjIsIDB4MEFFLAotCTB4MDQ1LCAweDAyOSwgMHgwM0UsIDB4MDE0LCAweDBGQSwgMHgwRTEsIDB4MDk5LCAweDA5NCwKLQkweDBDQSwgMHgwNEEsIDB4MEJFLCAweDAzRCwgMHgwRDYsIDB4MDk5LCAweDA5MiwgMHgwNUQsCi0JMHgwMTUsIDB4MDE3LCAweDBDOCwgMHgwRDcsIDB4MERDLCAweDAxNSwgMHgwMTcsIDB4MDhBLAotCTB4MDQwLCAweDAxRiwgMHgwMEEsIDB4MDlFLCAweDBBQywgMHgwQzksIDB4MDY1LCAweDA0OSwKLQkweDA1QywgMHgwMUQsIDB4MDEwLCAweDA2OCwgMHgwNEEsIDB4MDNFLCAweDA1QiwgMHgwREUsCi0JMHgwODMsIDB4MDE2LCAweDA5NSwgMHgwODAsIDB4MEJFLCAweDA5MSwgMHgwNzQsIDB4MDU4LAotCTB4MEE0LCAweDAwMCwgMHgwN0MsIDB4MDM4LCAweDBFNywgMHgwNTYsIDB4MDMwLCAweDAxNywKLQkweDBERiwgMHgwNzUsIDB4MEE2LCAweDA2NCwgMHgwOTcsIDB4MDQ1LCAweDAyMCwgMHgwOUQsCi0JMHgwMDMsIDB4MDVGLCAweDA3MCwgMHgwNTQsIDB4MDVFLCAweDAyOSwgMHgwMUQsIDB4MEYwLAotCTB4MEE5LCAweDBFQSwgMHgwQ0MsIDB4MDg2LCAweDA1NCwgMHgwOTUsIDB4MEMxLCAweDBEMSwKLQkweDAwNiwgMHgwODMsIDB4MDBGLCAweDBBQSwgMHgwN0IsIDB4MEQwLCAweDA2NSwgMHgwNDksCi0JMHgwNDUsIDB4MEJELCAweDBFOSwgMHgwNjIsIDB4MEQyLCAweDA5MSwgMHgwREYsIDB4MDA0LAotCTB4MDVELCAweDAxNiwgMHgwMjksIDB4MDFDLCAweDA3RCwgMHgwNEYsIDB4MEFDLCAweDAxQSwKLQkweDA0NywgMHgwMUEsIDB4MEE5LCAweDBGNSwgMHgwNjcsIDB4MDY2LCAweDA1MywgMHgwMjgsCi0JMHgwQjcsIDB4MEJELCAweDAyQywgMHgwNUEsIDB4MDUyLCAweDAzQiwgMHgwRTMsIDB4MERELAotCTB4MDU5LCAweDBBOSwgMHgwMjUsIDB4MEQxLCAweDBBOCwgMHgwQUMsIDB4MDA4LCAweDA2QiwKLQkweDBFRSwgMHgwMDgsIDB4MEFCLCAweDBDNSwgMHgwMjAsIDB4MDJGLCAweDA4NSwgMHgwNEYsCi0JMHgwNTYsIDB4MDY2LCAweDA3NSwgMHgwNDksIDB4MDVDLCAweDAxQywgMHgwMTgsIDB4MDFELAotCTB4MDgxLCAweDBDMiwgMHgwNjQsIDB4MDA1LCAweDBGMCwgMHgwODAsIDB4MEJFLCAweDAzNSwKLQkweDA1QywgMHgwRDAsIDB4MDE3LCAweDBDMiwgMHgwNTUsIDB4MEYwLCAweDA5NSwgMHgwN0MsCi0JMHgwMjUsIDB4MDVGLCAweDAwOCwgMHgwMEIsIDB4MEUxLCAweDAwMSwgMHgwN0MsIDB4MDdCLAotCTB4MEFCLCAweDAzNSwgMHgwMjQsIDB4MEJBLCAweDAxMCwgMHgwNTUsIDB4MDkzLCAweDAxQSwKLQkweDBGQiwgMHgwODIsIDB4MDJBLCAweDBGMSwgMHgwNDgsIDB4MEQ3LCAweDBDMiwgMHgwQTcsCi0JMHgwQUIsIDB4MDMxLCAweDBCMiwgMHgwQTQsIDB4MEFDLCAweDA2MywgMHgwOUQsIDB4MDRBLAotCTB4MDhELCAweDA3QywgMHgwN0IsIDB4MEFCLCAweDAzNSwgMHgwMjQsIDB4MEJBLCAweDAxMCwKLQkweDA1NCwgMHgwMzAsIDB4MDhELCAweDA3RCwgMHgwQzEsIDB4MDE1LCAweDA3OCwgMHgwQUMsCi0JMHgwNkYsIDB4MDVBLCAweDA5NCwgMHgwNjAsIDB4MDFBLCAweDBFMywgMHgwNzksIDB4MEQ0LAotCTB4MEFBLCAweDA0RiwgMHgwODUsIDB4MDRGLCAweDA1NiwgMHgwNjYsIDB4MEQ1LCAweDA0OSwKLQkweDA1OCwgMHgwQzcsIDB4MDNBLCAweDA5NSwgMHgwNDksIDB4MEYwLCAweDA0NSwgMHgwRDEsCi0JMHgwNjIsIDB4MDk0LCAweDA4NiwgMHgwQkMsIDB4MDFELCAweDAxMywgMHgwRDIsIDB4MDkwLAotCTB4MEZGLCAweDBDRiwgMHgwN0EsIDB4MDgzLCAweDBGMiwgMHgwNTAsIDB4MDMxLCAweDBERSwKLQkweDAwMCwgMHgwNjAsIDB4MDYwLCAweDBBMSwgMHgwMTcsIDB4MDM1LCAweDBBOCwgMHgwNUYsCi0JMHgwOUIsIDB4MDFCLCAweDAzNywgMHgwMDcsIDB4MDQ0LCAweDAxQSwgMHgwMzAsIDB4MDBCLAotCTB4MDM4LCAweDAwRCwgMHgwQkMsIDB4MDFDLCAweDBFMCwgMHgwRDAsIDB4MDQ3LCAweDBDRSwKLQkweDBBMCwgMHgwQUEsIDB4MDdBLCAweDBBMSwgMHgwOTgsIDB4MDZBLCAweDA5MiwgMHgwOTUsCi0JMHgwM0QsIDB4MDY4LCAweDAzMSwgMHgwODAsIDB4MDVCLCAweDA4MCwgMHgwREEsIDB4MEE5LAotCTB4MEVGLCAweDA0MSwgMHgwOTUsIDB4MDI1LCAweDAxNiwgMHgwRjcsIDB4MEE1LCAweDA4QiwKLQkweDA0QSwgMHgwQzYsIDB4MDc5LCAweDBCMywgMHgwMzMsIDB4MDYwLCAweDAyRiwgMHgwQUEsCi0JMHgwOUUsIDB4MEIxLCAweDA1MSwgMHgwODAsIDB4MDU5LCAweDA5RSwgMHgwQ0EsIDB4MEE3LAotCTB4MEFDLCAweDAwQSwgMHgwMzAsIDB4MDBCLCAweDA2NywgMHgwQjIsIDB4MEFELCAweDBENSwKLQkweDBEQSwgMHgwOTIsIDB4MDVELCAweDAxNywgMHgwQTMsIDB4MDAwLCAweDBCMywgMHgwMkQsCi0JMHgwOTUsIDB4MDZFLCAweDAwOCwgMHgwQTksIDB4MDU4LCAweDBBMSwgMHgwMTcsIDB4MDNBLAotCTB4MDhCLCAweDAwMSwgMHgwN0QsIDB4MDU0LCAweDBGNywgMHgwOEUsIDB4MDk1LCAweDAyNSwKLQkweDAwOCwgMHgwMUMsIDB4MEUwLCAweDA1NiwgMHgwMDIsIDB4MEZCLCAweDBDMSwgMHgwRDEsCi0JMHgwMTUsIDB4MDE4LCAweDAwNSwgMHgwOTIsIDB4MDZCLCAweDAzQywgMHgwMUQsIDB4MDEyLAotCTB4MDI4LCAweDBDMCwgMHgwMkMsIDB4MEE1LCAweDA2QywgMHgwMTEsIDB4MDcwLCAweDAxNywKLQkweDBCMiwgMHgwMzgsIDB4MDRELCAweDA4MCwgMHgwQkUsIDB4MEUwLCAweDAyRiwgMHgwQjQsCi0JMHgwRUMsIDB4MDRBLCAweDBFRCwgMHgwQjMsIDB4MDlFLCAweDAwMiwgMHgwRkIsIDB4MDgwLAotCTB4MEJFLCAweDBFMCwgMHgwMkYsIDB4MEIxLCAweDAzOSwgMHgwOTMsIDB4MDNFLCAweDA2RCwKLQkweDBFNywgMHgwMTAsIDB4MDYwLCAweDA5RiwgMHgwMzIsIDB4MEE5LCAweDBBMiwgMHgwNkMsCi0JMHgwMDUsIDB4MEY0LCAweDA0MCwgMHgwRTYsIDB4MDBBLCAweDA5NSwgMHgwM0QsIDB4MDZBLAotCTB4MDIzLCAweDAwMCwgMHgwQjMsIDB4MDgwLCAweDBEQSwgMHgwQTcsIDB4MEQ2LCAweDAyQSwKLQkweDAwMywgMHgwMEQsIDB4MDcwLCAweDAxNywgMHgwRDIsIDB4MDJFLCAweDA3NiwgMHgwMjksCi0JMHgwNEYsIDB4MEJDLCAweDA1NCwgMHgwQTYsIDB4MDUxLCAweDA2RiwgMHgwN0EsIDB4MDU4LAotCTB4MEI0LCAweDBBQywgMHgwMDUsIDB4MEY0LCAweDA4QiwgMHgwQTIsIDB4MEY0LCAweDAwRSwKLQkweDAzNSwgMHgwMEQsIDB4MDQ5LCAweDAyRSwgMHgwQjQsIDB4MENDLCAweDAxOCwgMHgwQTUsCi0JMHgwQzgsIDB4MEY4LCAweDA0QSwgMHgwOTcsIDB4MDIzLCAweDBFMSwgMHgwMDUsIDB4MDJFLAotCTB4MDQ3LCAweDBDMiwgMHgwOEEsIDB4MDVDLCAweDA4RiwgMHgwODUsIDB4MDY5LCAweDA3MiwKLQkweDAzRSwgMHgwMUYsIDB4MDRBLCAweDBDMywgMHgwNTUsIDB4MDFGLCAweDA1NiwgMHgwNDMsCi0JMHgwMzIsIDB4MDhDLCAweDBBMywgMHgwNUUsIDB4MDYwLCAweDBBOCwgMHgwNDUsIDB4MENFLAotCTB4MDBELCAweDA2MCwgMHgwMkYsIDB4MEEzLCAweDA4NCwgMHgwOUQsIDB4MEQ4LCAweDBGMCwKLQkweDAxNywgMHgwRDIsIDB4MDJFLCAweDAwRSwgMHgwMUIsIDB4MDIzLCAweDA4NCwgMHgwRDgsCi0JMHgwMEIsIDB4MEVCLCAweDA4OSwgMHgwRjMsIDB4MDgwLCAweDBCRSwgMHgwRTAsIDB4MDJGLAotCTB4MEJCLCAweDAzOSwgMHgwODUsIDB4MERGLCAweDAyMiwgMHgwMDMsIDB4MEU3LCAweDAwMSwKLQkweDA3RCwgMHgwQzAsIDB4MDVGLCAweDA3MCwgMHgwMTcsIDB4MEQxLCAweDAxNywgMHgwMzgsCi0JMHgwMTQsIDB4MDVCLCAweDBENiwgMHgwQTIsIDB4MDc0LCAweDAwRCwgMHgwNEIsIDB4MDdBLAotCTB4MEIzLCAweDAzMSwgMHgwOTYsIDB4MDk0LCAweDA2QiwgMHgwQ0MsIDB4MDM1LCAweDAyMywKLQkweDBENywgMHgwNDksIDB4MDQ4LCAweDAxNSwgMHgwNzMsIDB4MDI5LCAweDAwRiwgMHgwNUQsCi0JMHgwOEEsIDB4MEMwLCAweDA1RiwgMHgwNEQsIDB4MDc5LCAweDA4NCwgMHgwMzUsIDB4MDgwLAotCTB4MEJFLCAweDA4OCwgMHgwMUMsIDB4MEMzLCAweDA1MiwgMHgwOUYsIDB4MDU5LCAweDA2OCwKLQkweDBDMCwgMHgwMkMsIDB4MEUwLCAweDAzNiwgMHgwQUEsIDB4MDdCLCAweDBDRCwgMHgwNEEsCi0JMHgwOTIsIDB4MEJFLCAweDBGMywgMHgwODEsIDB4MDRBLCAweDA3RCwgMHgwNUIsIDB4MDU5LAotCTB4MDk0LCAweDBDQSwgMHgwMUMsIDB4MDI0LCAweDBFRSwgMHgwQzcsIDB4MDgwLCAweDBCRSwKLQkweDA4OCwgMHgwMUMsIDB4MEMzLCAweDA1MiwgMHgwOUYsIDB4MDU5LCAweDA2OCwgMHgwQzAsCi0JMHgwMkMsIDB4MEUwLCAweDAzNiwgMHgwQUEsIDB4MDdCLCAweDBDRCwgMHgwNEEsIDB4MDkyLAotCTB4MEJFLCAweDBGMywgMHgwODEsIDB4MDQzLCAweDA4NCwgMHgwOUMsIDB4MDdCLCAweDAzOCwKLQkweDAwQiwgMHgwRUIsIDB4MEFGLCAweDA3MCwgMHgwRDQsIDB4MEVBLCAweDA1MywgMHgwMDAsCi0JMHgwOUIsIDB4MDRGLCAweDA5QywgMHgwNTQsIDB4MDMwLCAweDBGMywgMHgwOEEsIDB4MDk0LAotCTB4MEZBLCAweDBCNiwgMHgwQjMsIDB4MDI5LCAweDA5NCwgMHgwMjIsIDB4MEU2LCAweDAxQSwKLQkweDA4NSwgMHgwRjksIDB4MEIwLCAweDA1OSwgMHgwOTMsIDB4MEY5LCAweDBEMiwgMHgwQzQsCi0JMHgwMzIsIDB4MDYwLCAweDBCOSwgMHgwMzYsIDB4MEIwLCAweDBCMywgMHgwOTAsIDB4MEQ5LAotCTB4MDc3LCAweDAyNiwgMHgwMUMsIDB4MDI3LCAweDAyMiwgMHgwRTgsIDB4MDk2LCAweDBCNCwKLQkweDAyMywgMHgwRUEsIDB4MDlFLCAweDBCNSwgMHgwMTEsIDB4MDgwLCAweDA1OSwgMHgwNjUsCi0JMHgwODYsIDB4MDIwLCAweDA3MywgMHgwOTYsIDB4MDhELCAweDA3OSwgMHgwQUQsIDB4MDU4LAotCTB4MDBCLCAweDBFOSwgMHgwMTcsIDB4MDQ0LCAweDA4QSwgMHgwNEEsIDB4MDA3LCAweDBENywKLQkweDA3QSwgMHgwODIsIDB4MEExLCAweDA5MCwgMHgwRkEsIDB4MEVGLCAweDAwMSwgMHgwNTQsCi0JMHgwQkEsIDB4MDUwLCAweDBENCwgMHgwNTksIDB4MDFFLCAweDAyQywgMHgwRTksIDB4MEYzLAotCTB4MDhBLCAweDA5OSwgMHgwODUsIDB4MDZCLCAweDAwQiwgMHgwMjMsIDB4MDE1LCAweDA5NywKLQkweDA3MiwgMHgwNjEsIDB4MDE3LCAweDAzMCwgMHgwRDQsIDB4MDJDLCAweDA3MywgMHgwODcsCi0JMHgwNDgsIDB4MEFBLCAweDAwMiwgMHgwODEsIDB4MDI1LCAweDBERSwgMHgwOTEsIDB4MDBELAotCTB4MDRBLCAweDBDMCwgMHgwNUYsIDB4MDdFLCAweDBEMiwgMHgwODAsIDB4MEE1LCAweDAzRSwKLQkweDBCMiwgMHgwRDAsIDB4MEM4LCAweDA2QiwgMHgwODAsIDB4MEJFLCAweDA4OCwgMHgwMUMsCi0JMHgwRUEsIDB4MDA5LCAweDAxNywgMHgwNDQsIDB4MDFBLCAweDAzNywgMHgwMUEsIDB4MDkxLAotCTB4MDc0LCAweDA1OCwgMHgwQTMsIDB4MDcxLCAweDBBRiwgMHgwMDcsIDB4MDQ0LCAweDA1NCwKLQkweDA2RSwgMHgwMzUsIDB4MEUwLCAweDBFOCwgMHgwQUEsIDB4MDY0LCAweDAwRiwgMHgwOTAsCi0JMHgwRkEsIDB4MEQwLCAweDA2MywgMHgwMDAsIDB4MEIzLCAweDA4MCwgMHgwREEsIDB4MDJDLAotCTB4MDczLCAweDA4NywgMHgwNDgsIDB4MEFBLCAweDAwMiwgMHgwODEsIDB4MDI1LCAweDBERSwKLQkweDA5MSwgMHgwMEQsIDB4MDRBLCAweDBDMCwgMHgwNUYsIDB4MDQ4LCAweDBCQSwgMHgwMjcsCi0JMHgwQTMsIDB4MDAwLCAweDBCNywgMHgwMDEsIDB4MEI3LCAweDA0RiwgMHgwOUMsIDB4MEI0LAotCTB4MDZCLCAweDBDQywgMHgwMzUsIDB4MDE2LCAweDBGNSwgMHgwNjYsIDB4MDYzLCAweDAyRCwKLQkweDAyOSwgMHgwMUUsIDB4MEJBLCAweDA0QSwgMHgwNDAsIDB4MEFCLCAweDA5OSwgMHgwNDgsCi0JMHgwN0EsIDB4MEVDLCAweDA1MCwgMHgwOEIsIDB4MDlDLCAweDAwOCwgMHgwMjIsIDB4MEZDLAotCTB4MEY5LCAweDBCMiwgMHgwNTUsIDB4MDNELCAweDA2MiwgMHgwQTksIDB4MDIzLCAweDA1MSwKLQkweDAyMywgMHgwOUMsIDB4MDBBLCAweDAzQywgMHgwNzMsIDB4MDBELCAweDA0NCwgMHgwNUMsCi0JMHgwRTEsIDB4MDUwLCAweDA3MSwgMHgwQ0UsIDB4MEExLCAweDAxRiwgMHgwRTcsIDB4MDE1LAotCTB4MDZCLCAweDAwQiwgMHgwMjUsIDB4MEVELCAweDAwQiwgMHgwOTMsIDB4MDYwLCAweDAyRiwKLQkweDBBQSwgMHgwOUUsIDB4MEFDLCAweDAzNiwgMHgwNjUsIDB4MDQ5LCAweDA1RiwgMHgwN0EsCi0JMHgwMjAsIDB4MDUwLCAweDAwOCwgMHgwN0YsIDB4MEVGLCAweDAzOSwgMHgwMTQsIDB4MDQ5LAotCTB4MDAxLCAweDAxMSwgMHgwODEsIDB4MDA0LCAweDA2MCwgMHgwNDAsIDB4MENDLCAweDA1OSwKLQkweDBDMCwgMHgwQUQsIDB4MDIzLCAweDBFQiwgMHgwNDEsIDB4MEIwLCAweDA4MSwgMHgwRjIsCi0JMHgwM0EsIDB4MDQxLCAweDBBQSwgMHgwNTAsIDB4MDQzLCAweDBFNCwgMHgwRDQsIDB4MDg2LAotCTB4MDU0LCAweDBBMCwgMHgwODcsIDB4MEMxLCAweDA1MiwgMHgwQ0EsIDB4MDkzLCAweDAwMSwKLQkweDAzMiwgMHgwNTQsIDB4MDlELCAweDAyNCwgMHgwMDIsIDB4MDAwLCAweDAwMCwgMHgwNTIsCi0JMHgwQUYsIDB4MDE2LCAweDA0NiwgMHgwQTcsIDB4MDkxLCAweDA2NywgMHgwMDgsIDB4MEI0LAotCTB4MDA0LCAweDA1MSwgMHgwRjEsIDB4MDY1LCAweDAxOSwgMHgwQjQsIDB4MDZFLCAweDAyRCwKLQkweDBDMCwgMHgwQUQsIDB4MDQ5LCAweDAwMCwgMHgwOTIsIDB4MDU3LCAweDAxQiwgMHgwNzQsCi0JMHgwNDUsIDB4MDVGLCAweDAyMywgMHgwNTEsIDB4MEI3LCAweDA0NCwgMHgwMEEsIDB4MDEwLAotCTB4MDA2LCAweDBBMywgMHgwNkUsIDB4MDhCLCAweDA2QiwgMHgwMDgsIDB4MDFGLCAweDAxOSwKLQkweDBEMSwgMHgwRTYsIDB4MDgwLCAweDA4MiwgMHgwODAsIDB4MDU0LCAweDAwNCwgMHgwMkEsCi0JMHgwNDUsIDB4MDkxLCAweDBBOSwgMHgwRTQsIDB4MDU5LCAweDBDMiwgMHgwMkQsIDB4MDAxLAotCTB4MDE0LCAweDAwNCwgMHgwNTAsIDB4MEQzLCAweDBGQywgMHgwNTUsIDB4MDg0LCAweDA2MSwKLQkweDBEOSwgMHgwODAsIDB4MDUxLCAweDAyRiwgMHgwRTIsIDB4MDFGLCAweDA0NiwgMHgwNUYsCi0JMHgwNDAsIDB4MEUwLCAweDAyMCwgMHgwMTUsIDB4MDRBLCAweDBCQywgMHgwNTksIDB4MDFBLAotCTB4MDlFLCAweDA0NSwgMHgwOUMsIDB4MDIyLCAweDBEMCwgMHgwMTEsIDB4MDQ4LCAweDBDQiwKLQkweDBFOCwgMHgwMTQsIDB4MDA4LCAweDAwMSwgMHgwNTQsIDB4MDE1LCAweDBFMiwgMHgwQzgsCi0JMHgwRDQsIDB4MEYyLCAweDAyQywgMHgwRTEsIDB4MDE2LCAweDA4MCwgMHgwOEEsIDB4MDQ2LAotCTB4MDVGLCAweDA1MiwgMHgwN0MsIDB4MEQ5LCAweDBBOCwgMHgwRjgsIDB4MDg4LCAweDBEMCwKLQkweDA1QSwgMHgwM0MsIDB4MEQyLCAweDA1QywgMHgwNUIsIDB4MDgwLCAweDBEQSwgMHgwQTcsCi0JMHgwRDYsIDB4MDVBLCAweDAwOCwgMHgwODYsIDB4MEE0LCAweDA1RCwgMHgwMTcsIDB4MEEwLAotCTB4MEMzLCAweDA1MiwgMHgwMkUsIDB4MDg4LCAweDBBOCwgMHgwMjIsIDB4MDFGLCAweDA1MywKLQkweDBFQSwgMHgwREEsIDB4MENDLCAweDBBNiwgMHgwNTAsIDB4MEUxLCAweDAyNywgMHgwNzYsCi0JMHgwM0MsIDB4MDA1LCAweDBGNSwgMHgwNEYsIDB4MEFCLCAweDA2QiwgMHgwMzIsIDB4MDk5LAotCTB4MDQzLCAweDA4NCwgMHgwOUMsIDB4MDdCLCAweDAzOCwgMHgwMEIsIDB4MEU5LCAweDAyNywKLQkweDBBQywgMHgwRDQsIDB4MDkyLCAweDBFMCwgMHgwMEUsIDB4MERBLCAweDAzOCwgMHgwNEQsCi0JMHgwODAsIDB4MEJFLCAweDBFNiwgMHgwN0QsIDB4MDUwLCAweDBCQSwgMHgwNTEsIDB4MEFFLAotCTB4MDY2LCAweDBFRiwgMHgwQkMsIDB4MERDLCAweDA3QiwgMHgwODcsIDB4MDFFLCAweDAwMiwKLQkweDBGQSwgMHgwOTMsIDB4MEU2LCAweDBDRCwgMHgwNDcsIDB4MEM0LCAweDA0MywgMHgwQ0QsCi0JMHgwMEYsIDB4MDM0LCAweDA5RCwgMHgwQTMsIDB4MDAwLCAweDBCMCwgMHgwNTUsIDB4MDAxLAotCTB4MEFFLCAweDAwMywgMHgwODQsIDB4MDA0LCAweDBDRSwgMHgwMDEsIDB4MEQwLCAweDBFMSwKLQkweDA3MCwgMHgwMDIsIDB4MDgwLCAweDAwRSwgMHgwODksIDB4MEU5LCAweDAyMiwgMHgwMUYsCi0JMHgwRTAsIDB4MEU4LCAweDA5NiwgMHgwQjAsIDB4MDExLCAweDBGNCwgMHgwQzIsIDB4MENFLAotCTB4MDAzLCAweDA2QSwgMHgwNDQsIDB4MDJELCAweDBDMCwgMHgwNkQsIDB4MDQ4LCAweDAwNSwKLQkweDBCOCwgMHgwMEQsIDB4MEEzLCAweDAwMCwgMHgwQjcsIDB4MDc2LCAweDBENSwgMHgwREUsCi0JMHgwQjEsIDB4MDUwLCAweDBEQywgMHgwN0QsIDB4MDc3LCAweDBCQywgMHgwNTQsIDB4MEJBLAotCTB4MDUyLCAweDA3RiwgMHgwNTgsIDB4MDE0LCAweDAzNCwgMHgwMEYsIDB4MDlBLCAweDBGMywKLQkweDA4MSwgMHgwNTgsIDB4MDBCLCAweDBFQSwgMHgwRUYsIDB4MDU4LCAweDAxNCwgMHgwNjAsCi0JMHgwMTYsIDB4MEE1LCAweDA2QywgMHgwMkUsIDB4MEY3LCAweDA4MSwgMHgwNEIsIDB4MEE1LAotCTB4MDZGLCAweDA3RCwgMHgwNUQsIDB4MEVFLCAweDBCNSwgMHgwMkUsIDB4MDk1LCAweDA4MCwKLQkweDBCRSwgMHgwRjAsIDB4MDczLCAweDBCRCwgMHgwMDQsIDB4MDdDLCAweDBFQSwgMHgwRkUsCi0JMHgwRUIsIDB4MDRDLCAweDBERSwgMHgwMjksIDB4MDUzLCAweDBERCwgMHgwNkEsIDB4MDU0LAotCTB4MDk0LCAweDBBOSwgMHgwRUEsIDB4MDBBLCAweDA4QywgMHgwMDIsIDB4MEQ2LCAweDA0QywKLQkweDAzQywgMHgwMDUsIDB4MEY0LCAweDAwMCwgMHgwRUEsIDB4MENELCAweDA1NiwgMHgwQUYsCi0JMHgwQzAsIDB4MDQ3LCAweDBEMiwgMHgwOUMsIDB4MDhELCAweDAyOSwgMHgwQ0EsIDB4MEUwLAotCTB4MDJGLCAweDBBRSwgMHgwQkQsIDB4MDc1LCAweDA5OSwgMHgwOUQsIDB4MDRBLCAweDBGOSwKLQkweDBFRiwgMHgwNTEsIDB4MDdDLCAweDA5NCwgMHgwMEMsIDB4MDc3LCAweDA4MCwgMHgwMTgsCi0JMHgwMTgsIDB4MDI5LCAweDAyQSwgMHgwRjgsIDB4MEUwLCAweDBFOCwgMHgwQUEsIDB4MDMwLAotCTB4MDBCLCAweDAyQSwgMHgwOTgsIDB4MDdDLCAweDAxRCwgMHgwMTEsIDB4MDUxLCAweDA4MCwKLQkweDA1OSwgMHgwNTQsIDB4MEMzLCAweDA1MSwgMHgwRjUsIDB4MDFCLCAweDAzMywgMHgwMjQsCi0JMHgwQkIsIDB4MDgyLCAweDBBNSwgMHgwMTksIDB4MDVDLCAweDAxRCwgMHgwMTAsIDB4MDI4LAotCTB4MEMwLCAweDAyQywgMHgwOUEsIDB4MEM3LCAweDBDMSwgMHgwRDEsIDB4MDIyLCAweDA4QywKLQkweDAwMiwgMHgwQzksIDB4MDk0LCAweDA2NCwgMHgwNUMsIDB4MDBDLCAweDBENiwgMHgwOEUsCi0JMHgwMTMsIDB4MDYwLCAweDAyRiwgMHgwQjgsIDB4MDBCLCAweDBFQSwgMHgwMzAsIDB4MEUzLAotCTB4MEMwLCAweDA1RiwgMHgwNDgsIDB4MERDLCAweDA3OCwgMHgwMEIsIDB4MEU4LCAweDAwMCwKLQkweDBFMywgMHgwQzAsIDB4MDVGLCAweDA2QywgMHgwMzgsIDB4MEQ1LCAweDAyRSwgMHgwMzUsCi0JMHgwNEYsIDB4MDVBLCAweDA4QSwgMHgwNjEsIDB4MEFBLCAweDA5RiwgMHgwNTYsIDB4MDFCLAotCTB4MDMyLCAweDA5OSwgMHgwNDYsIDB4MDQyLCAweDBDOCwgMHgwMDEsIDB4MDBDLCAweDA0NSwKLQkweDBDRSwgMHgwQTUsIDB4MDE3LCAweDBFNiwgMHgwQzYsIDB4MENFLCAweDBBOSwgMHgwRUIsCi0JMHgwMTUsIDB4MDE2LCAweDA0NiwgMHgwQTIsIDB4MDQ3LCAweDAzOCwgMHgwMTQsIDB4MDQzLAotCTB4MDI2LCAweDAyMiwgMHgwRTcsIDB4MDNELCAweDA2MCwgMHgwMkYsIDB4MEFBLCAweDA5RSwKLQkweDBCNSwgMHgwMTIsIDB4MEUwLCAweDA3RiwgMHgwMDEsIDB4MDdELCAweDBFMywgMHgwRTcsCi0JMHgwMDIsIDB4MDkzLCAweDBGOSwgMHgwOTUsIDB4MDQ0LCAweDA1QywgMHgwRTUsIDB4MEEwLAotCTB4MEUzLCAweDA5RCwgMHgwNEEsIDB4MDdGLCAweDA5QywgMHgwNTQsIDB4MEE5LCAweDBFQiwKLQkweDA1MSwgMHgwMDUsIDB4MDQ2LCAweDBCOSwgMHgwRkMsIDB4MEMwLCAweDAxQiwgMHgwMjIsCi0JMHgwMkUsIDB4MDY0LCAweDA1NCwgMHgwMkYsIDB4MENELCAweDA0NiwgMHgwQ0MsIDB4MEE3LAotCTB4MEQ1LCAweDA4NiwgMHgwQ0MsIDB4MEE2LCAweDA1MCwgMHgwNTUsIDB4MEM2LCAweDA0NSwKLQkweDBDRSwgMHgwNUEsIDB4MDBFLCAweDAzOSwgMHgwRDQsIDB4MEE3LCAweDBGOSwgMHgwQzUsCi0JMHgwNEEsIDB4MDlFLCAweDBCNSwgMHgwMTEsIDB4MDgwLCAweDA1OSwgMHgwQzAsIDB4MDZELAotCTB4MENGLCAweDBFNiwgMHgwMDAsIDB4MEQ5LCAweDAxMSwgMHgwNzMsIDB4MDIyLCAweDBBMSwKLQkweDA3RSwgMHgwNkEsIDB4MDM2LCAweDA2NSwgMHgwM0UsIDB4MEFDLCAweDAzNiwgMHgwNjUsCi0JMHgwMzIsIDB4MEIwLCAweDAxNywgMHgwREQsIDB4MDNFLCAweDA3MiwgMHgwRDIsIDB4MDc5LAotCTB4MDMxLCAweDAwQywgMHgwOTgsIDB4MDJFLCAweDA0QywgMHgwMjAsIDB4MDczLCAweDAyQSwKLQkweDA4RiwgMHgwRjMsIDB4MDhBLCAweDBBRCwgMHgwRTcsIDB4MDQxLCAweDA4MiwgMHgwN0MsCi0JMHgwQ0EsIDB4MEE2LCAweDA4OSwgMHgwQjUsIDB4MDg1LCAweDA5RiwgMHgwQjAsIDB4MEYwLAotCTB4MDE3LCAweDBENSwgMHgwMUYsIDB4MDU0LCAweDA1NCwgMHgwMjUsIDB4MDFBLCAweDBBOCwKLQkweDBGRiwgMHgwMkEsIDB4MDk0LCAweDA2NSwgMHgwMTEsIDB4MEQ3LCAweDA0OSwgMHgwNDQsCi0JMHgwRDUsIDB4MENDLCAweDBBMCwgMHgwNTUsIDB4MEQ4LCAweDBBRSwgMHgwMEUsIDB4MDg4LAotCTB4MDE0LCAweDA2MCwgMHgwMTYsIDB4MDRELCAweDA2MywgMHgwMjIsIDB4MEUwLCAweDA3MiwKLQkweDA4NiwgMHgwMzgsIDB4MDRELCAweDA4MCwgMHgwQkUsIDB4MEUwLCAweDAyRiwgMHgwQjgsCi0JMHgwMEIsIDB4MEVFLCAweDAwMiwgMHgwRkIsIDB4MDgxLCAweDAzOCwgMHgwRjAsIDB4MDE3LAotCTB4MEQ3LCAweDBENywgMHgwMUUsIDB4MDAyLCAweDBGQSwgMHgwRkEsIDB4MEUzLCAweDBDMCwKLQkweDA1RiwgMHgwNEMsIDB4MDg1LCAweDA5MCwgMHgwMDIsIDB4MDE4LCAweDBDOCwgMHgwNUIsCi0JMHgwODAsIDB4MERBLCAweDAzMCwgMHgwMEIsIDB4MDcwLCAweDAxQiwgMHgwNEMsIDB4MDIyLAotCTB4MEQzLCAweDA0QywgMHgwMzMsIDB4MDAzLCAweDA4QywgMHgwMkUsIDB4MDRDLCAweDA0MywKLQkweDAyNiwgMHgwRDAsIDB4MEY1LCAweDA2MywgMHgwNjYsIDB4MEQwLCAweDA5NSwgMHgwQTcsCi0JMHgwQ0UsIDB4MDQ1LCAweDAzMywgMHgwMEEsIDB4MEQ2LCAweDAxNiwgMHgwNDIsIDB4MDM4LAotCTB4MDZFLCAweDBFNCwgMHgwQ0UsIDB4MEJELCAweDA1OSwgMHgwMkMsIDB4MEQyLCAweDBBQiwKLQkweDBCQSwgMHgwOTQsIDB4MDlELCAweDBFNiwgMHgwMUEsIDB4MEIwLCAweDAxNywgMHgwRDUsCi0JMHgwNEYsIDB4MDVBLCAweDA4QiwgMHgwMDksIDB4MDFBLCAweDA4OCwgMHgwQjksIDB4MEM1LAotCTB4MDQyLCAweDA0NywgMHgwMzAsIDB4MEQ0LCAweDAzMiwgMHgwMTYsIDB4MDcyLCAweDA4OCwKLQkweDA2NSwgMHgwQkQsIDB4MDU5LCAweDA5OSwgMHgwMjUsIDB4MEE1LCAweDA2MCwgMHgwMkYsCi0JMHgwQjgsIDB4MDYwLCAweDBGMywgMHgwMDgsIDB4MEI3LCAweDA0QSwgMHgwMUEsIDB4MDhGLAotCTB4MEFCLCAweDAwRCwgMHgwOTksIDB4MDQ2LCAweDA1MSwgMHgwQUYsIDB4MDM4LCAweDBBOCwKLQkweDA4RSwgMHgwOTAsIDB4MDY1LCAweDAxMywgMHgwNTIsIDB4MDE4LCAweDBBMCwgMHgwNTQsCi0JMHgwQjEsIDB4MDQyLCAweDAyRSwgMHgwNjEsIDB4MEE4LCAweDA0OCwgMHgwRTcsIDB4MDJELAotCTB4MDE2LCAweDBGNywgMHgwQTgsIDB4MDA1LCAweDBBNSwgMHgwNjAsIDB4MDJGLCAweDBBNCwKLQkweDA3NSwgMHgwRDIsIDB4MDUxLCAweDAzNSwgMHgwNzMsIDB4MDI4LCAweDAxNSwgMHgwNzYsCi0JMHgwMkIsIDB4MDgzLCAweDBBMiwgMHgwMDUsIDB4MDE4LCAweDAwNSwgMHgwOTMsIDB4MDU4LAotCTB4MEM4LCAweDBCOCwgMHgwMDYsIDB4MDI4LCAweDA2MywgMHgwODQsIDB4MEQ4LCAweDAwQiwKLQkweDBFRSwgMHgwMDIsIDB4MEZCLCAweDA4MCwgMHgwQkUsIDB4MEUwLCAweDAyRiwgMHgwQTAsCi0JMHgwNDMsIDB4MEE3LCAweDAwMSwgMHgwN0QsIDB4MDRDLCAweDBFMywgMHgwQzAsIDB4MDVGLAotCTB4MDcwLCAweDAxNywgMHgwREMsIDB4MDA1LCAweDBGNCwgMHgwNjQsIDB4MDJELCAweDBDMCwKLQkweDA2RCwgMHgwMTgsIDB4MDA1LCAweDBCOCwgMHgwMEQsIDB4MEE1LCAweDBCRCwgMHgwNkEsCi0JMHgwMjMsIDB4MDg2LCAweDBBQSwgMHgwOUUsIDB4MEI1LCAweDAxMSwgMHgwQTQsIDB4MDZBLAotCTB4MEEzLCAweDBFQSwgMHgwOEEsIDB4MDhELCAweDAyMywgMHgwRTEsIDB4MDE3LCAweDAzOCwKLQkweDAzNCwgMHgwNjksIDB4MDcxLCAweDA5OCwgMHgwNDUsIDB4MEE2LCAweDA5OCwgMHgwNkEsCi0JMHgwM0UsIDB4MEFDLCAweDAzNiwgMHgwNjUsIDB4MDE5LCAweDA0NiwgMHgwQkMsIDB4MEUyLAotCTB4MEEyLCAweDAzQSwgMHgwNDEsIDB4MDk0LCAweDA0RCwgMHgwNDgsIDB4MDYyLCAweDA4MSwKLQkweDA1MiwgMHgwQzUsIDB4MDE2LCAweDBGNywgMHgwQTgsIDB4MDhCLCAweDA0QSwgMHgwNTQsCi0JMHgwRjUsIDB4MEE4LCAweDA4QywgMHgwMDIsIDB4MERDLCAweDAwNiwgMHgwRDEsIDB4MDAzLAotCTB4MDlDLCAweDBCNCwgMHgwQTksIDB4MEVFLCAweDAwQSwgMHgwOTUsIDB4MDI1LCAweDAyQSwKLQkweDA3QSwgMHgwQUQsIDB4MDQ2LCAweDAwMSwgMHgwNjcsIDB4MDAxLCAweDBCNSwgMHgwRDcsCi0JMHgwQUMsIDB4MDBBLCAweDAzMCwgMHgwMEIsIDB4MDZDLCAweDA0OSwgMHgwMzUsIDB4MEU2LAotCTB4MEI1LCAweDA2NywgMHgwRjMsIDB4MDAwLCAweDA2QywgMHgwODgsIDB4MEI5LCAweDA5MSwKLQkweDA1MCwgMHgwQkYsIDB4MDMxLCAweDAxQiwgMHgwMzIsIDB4MEE3LCAweDBCOCwgMHgwNjgsCi0JMHgwOTUsIDB4MDI1LCAweDA3QiwgMHgwQUQsIDB4MDMzLCAweDA3OCwgMHgwQTcsIDB4MENELAotCTB4MDNFLCAweDBEMywgMHgwOEUsIDB4MDlELCAweDAzNCwgMHgwRTcsIDB4MDRFLCAweDBENCwKLQkweDAyMiwgMHgwRTcsIDB4MDA2LCAweDA4NCwgMHgwOEUsIDB4MDYwLCAweDBBOCwgMHgwRkYsCi0JMHgwMzgsIDB4MEFCLCAweDA4MywgMHgwOUMsIDB4MDJBLCAweDAwOCwgMHgwRjksIDB4MEQ0LAotCTB4MDIwLCAweDA2MywgMHgwQkMsIDB4MDFBLCAweDAwNiwgMHgwMEEsIDB4MEMwLCAweDA1RiwKLQkweDA0NiwgMHgwNDIsIDB4MERDLCAweDAwNiwgMHgwRDEsIDB4MDgwLCAweDA1QiwgMHgwODAsCi0JMHgwREEsIDB4MDIyLCAweDBFNiwgMHgwMUEsIDB4MDg0LCAweDA4RSwgMHgwNzIsIDB4MEQxLAotCTB4MDZGLCAweDA1QSwgMHgwODAsIDB4MDg3LCAweDAxQSwgMHgwQUEsIDB4MDdBLCAweDBENCwKLQkweDA0OCwgMHgwQzgsIDB4MEQ1LCAweDA0NywgMHgwRDUsIDB4MDE1LCAweDAyMywgMHgwMjMsCi0JMHgwRTEsIDB4MDE3LCAweDAzOCwgMHgwMzQsIDB4MDhDLCAweDBCQSwgMHgwNEIsIDB4MDdCLAotCTB4MEQ0LCAweDAwMiwgMHgwRDIsIDB4MDhDLCAweDAyMiwgMHgwREMsIDB4MDA2LCAweDBENSwKLQkweDAxRiwgMHgwNTYsIDB4MDFCLCAweDAzMiwgMHgwOEMsIDB4MEEzLCAweDA1RSwgMHgwNzEsCi0JMHgwNTEsIDB4MDFELCAweDAyMCwgMHgwQ0EsIDB4MDI2LCAweDBBNCwgMHgwMzEsIDB4MDQwLAotCTB4MEE5LCAweDA2MiwgMHgwQjAsIDB4MDE3LCAweDBERiwgMHgwOUUsIDB4MEY0LCAweDBCNywKLQkweDBDOSwgMHgwNDAsIDB4MEM3LCAweDA3OCwgMHgwMDEsIDB4MDgxLCAweDA4MiwgMHgwQjgsCi0JMHgwMzgsIDB4MDM5LCAweDA0OSwgMHgwMUMsIDB4MDI2LCAweDBDMCwgMHgwNUYsIDB4MDcwLAotCTB4MDE3LCAweDBENCwgMHgwQUIsIDB4MEUxLCAweDAyQSwgMHgwRjgsIDB4MDRBLCAweDBCRSwKLQkweDAxMiwgMHgwQUYsIDB4MDhGLCAweDA5NywgMHgwNEYsIDB4MENCLCAweDBBNywgMHgwMDEsCi0JMHgwN0QsIDB4MERBLCAweDA4MCwgMHgwQUEsIDB4MDkxLCAweDA2NCwgMHgwN0YsIDB4MDRBLAotCTB4MDgxLCAweDBENSwgMHgwMjIsIDB4MEM4LCAweDBGRSwgMHgwODIsIDB4MDgwLCAweDAyNSwKLQkweDA0OCwgMHgwQjIsIDB4MDNFLCAweDBCQiwgMHgwREMsIDB4MDM1LCAweDAyRSwgMHgwOTQsCi0JMHgwMDcsIDB4MEU4LCAweDA4QSwgMHgwOUMsIDB4MDAzLCAweDBFMiwgMHgwNEIsIDB4MEE1LAotCTB4MDc3LCAweDBBQiwgMHgwQjMsIDB4MDMyLCAweDBFOSwgMHgwNEIsIDB4MEJELCAweDA1OSwKLQkweDA4NiwgMHgwODQsIDB4MDk3LCAweDA3QSwgMHgwMDQsIDB4MEJBLCAweDA1MywgMHgwRTEsCi0JMHgwMzIsIDB4MEVGLCAweDA1MCwgMHgwRDQsIDB4MEU2LCAweDAzNSwgMHgwNTMsIDB4MEVCLAotCTB4MDAyLCAweDA5QywgMHgwQzcsIDB4MEQ3LCAweDA3QSwgMHgwQjMsIDB4MDMwLCAweDBEMiwKLQkweDA1RCwgMHgwRUEsIDB4MDAyLCAweDBFOSwgMHgwNDQsIDB4MDVELCAweDAxNiwgMHgwMjgsCi0JMHgwQzAsIDB4MDJDLCAweDBFMCwgMHgwMzYsIDB4MDkxLCAweDA3NCwgMHgwNDUsIDB4MDU5LAotCTB4MDE4LCAweDBENSwgMHgwNEYsIDB4MEFDLCAweDAwQSwgMHgwQzQsIDB4MDM1LCAweDAzMCwKLQkweDA4QiwgMHgwMzgsIDB4MDY5LCAweDAyQiwgMHgwQkQsIDB4MDU5LCAweDA5OCwgMHgwNjksCi0JMHgwMkUsIDB4MEY1LCAweDAxMiwgMHgwRTksIDB4MDU4LCAweDA2NywgMHgwNEEsIDB4MEVGLAotCTB4MDUwLCAweDBENSwgMHgwOEUsIDB4MDNFLCAweDAxQywgMHgwQTQsIDB4MEIwLCAweDBDRSwKLQkweDA5MywgMHgwMjEsIDB4MDZFLCAweDAxQSwgMHgwNDgsIDB4MDFGLCAweDBBMiwgMHgwMkEsCi0JMHgwQzMsIDB4MDBELCAweDA1NywgMHgwN0EsIDB4MEIzLCAweDAwRCwgMHgwMDksIDB4MDJFLAotCTB4MEY0LCAweDA0MywgMHgwNUQsIDB4MDI4LCAweDA4QiwgMHgwODMsIDB4MDIwLCAweDA5MiwKLQkweDAzOCwgMHgwNEQsIDB4MDgwLCAweDBCRSwgMHgwRTAsIDB4MDJGLCAweDBBQywgMHgwMTcsCi0JMHgwNDksIDB4MEIzLCAweDBBNSwgMHgwODIsIDB4MEU5LCAweDAzRSwgMHgwRTksIDB4MDM2LAotCTB4MDc0LCAweDBFMCwgMHgwMkYsIDB4MEE2LCAweDBDRSwgMHgwOUMsIDB4MDA1LCAweDBGNCwKLQkweDBDMiwgMHgwMkMsIDB4MDhDLCAweDA1MiwgMHgwNTcsIDB4MDdBLCAweDBENCwgMHgwOEQsCi0JMHgwNDgsIDB4MEZBLCAweDBFRiwgMHgwNTAsIDB4MEQ1LCAweDBBRSwgMHgwMzUsIDB4MDUzLAotCTB4MEVCLCAweDAwMiwgMHgwODYsIDB4MDIxLCAweDBBQSwgMHgwRUYsIDB4MDU2LCAweDA2NiwKLQkweDAxQSwgMHgwNEIsIDB4MEJELCAweDA0NCwgMHgwQkEsIDB4MDUwLCAweDBDNCwgMHgwRTksCi0JMHgwNTMsIDB4MEVCLCAweDAwMiwgMHgwODYsIDB4MDgxLCAweDBGNSwgMHgwREUsIDB4MEExLAotCTB4MEE4LCAweDA2MiwgMHgwMUYsIDB4MDVELCAweDBGRSwgMHgwQTIsIDB4MDVELCAweDAyOSwKLQkweDA3NywgMHgwQTgsIDB4MDZBLCAweDA2MSwgMHgwOEQsIDB4MDQwLCAweDBGRCwgMHgwMTEsCi0JMHgwNTMsIDB4MDBDLCAweDA2QSwgMHgwQTcsIDB4MEQ2LCAweDAwNSwgMHgwMzAsIDB4MEM3LAotCTB4MEQ3LCAweDA3RiwgMHgwQTksIDB4MDU3LCAweDA0QSwgMHgwNUQsIDB4MEVCLCAweDA0OCwKLQkweDAxQiwgMHgwMEMsIDB4MDdDLCAweDA4QiwgMHgwOUQsIDB4MDhBLCAweDA1MywgMHgwRUYsCi0JMHgwNjYsIDB4MDk0LCAweDBDQSwgMHgwNTQsIDB4MEY1LCAweDBBMCwgMHgwQzYsIDB4MDAxLAotCTB4MDZFLCAweDAwMywgMHgwNkEsIDB4MDlGLCAweDA1NiwgMHgwNzYsIDB4MDY1LCAweDAzMiwKLQkweDA4QiwgMHgwN0IsIDB4MEQyLCAweDBDNSwgMHgwQTUsIDB4MDYwLCAweDAyRiwgMHgwQUEsCi0JMHgwN0QsIDB4MDY1LCAweDBBMywgMHgwMDAsIDB4MEI3LCAweDAwMSwgMHgwQjQsIDB4MEM4LAotCTB4MDVBLCAweDAwNywgMHgwOEYsIDB4MEVELCAweDAwMSwgMHgwRDUsIDB4MDI3LCAweDA5MSwKLQkweDA2NywgMHgwMDEsIDB4MEI0LCAweDA4QiwgMHgwOUMsIDB4MDU0LCAweDAxQywgMHgwNzMsCi0JMHgwQTgsIDB4MDg0LCAweDA1QywgMHgwQzEsIDB4MDUwLCAweDBCRiwgMHgwMzYsIDB4MDU2LAotCTB4MDYwLCAweDBBQiwgMHgwOEMsIDB4MDhCLCAweDA5QywgMHgwNTQsIDB4MDFDLCAweDA3MywKLQkweDBBOCwgMHgwODQsIDB4MDVDLCAweDBDMSwgMHgwNTAsIDB4MEJGLCAweDAzNiwgMHgwNTYsCi0JMHgwNkMsIDB4MDA1LCAweDBGNSwgMHgwNTMsIDB4MEQ2LCAweDBBMiwgMHgwMzAsIDB4MDBCLAotCTB4MDI5LCAweDA1QiwgMHgwMTksIDB4MEZDLCAweDBGNiwgMHgwOTQsIDB4MDQ1LCAweDBDRiwKLQkweDAxNSwgMHgwMEIsIDB4MEYzLCAweDAzQywgMHgwQjMsIDB4MDJBLCAweDA3QSwgMHgwQzUsCi0JMHgwNDYsIDB4MDAxLCAweDA2NCwgMHgwOEEsIDB4MDMxLCAweDAyMywgMHgwOUMsIDB4MDBBLAotCTB4MDVELCAweDBFQSwgMHgwMzQsIDB4MDMzLCAweDAyRSwgMHgwOTUsIDB4MEM3LCAweDBDRSwKLQkweDAyQSwgMHgwNEYsIDB4MEU2LCAweDA1MCwgMHgwMjAsIDB4MEI5LCAweDAzMSwgMHgwMEMsCi0JMHgwOUIsIDB4MEVGLCAweDAzOSwgMHgwMTQsIDB4MDQ1LCAweDBDRSwgMHgwNDUsIDB4MDA3LAotCTB4MDFDLCAweDBFQSwgMHgwNDYsIDB4MDg3LCAweDBBQiwgMHgwMUIsIDB4MDM2LCAweDA4NCwKLQkweDBBNywgMHgwNUUsIDB4MEFDLCAweDA5NiwgMHgwNjcsIDB4MDUyLCAweDBCMCwgMHgwMTcsCi0JMHgwREMsIDB4MEZFLCAweDA3QiwgMHgwNEEsIDB4MDIyLCAweDBFNywgMHgwOEEsIDB4MDg1LAotCTB4MEY5LCAweDA5RSwgMHgwNTksIDB4MDk3LCAweDA3QSwgMHgwOEQsIDB4MDBDLCAweDBDQiwKLQkweDBBNSwgMHgwMjcsIDB4MEYzLCAweDBBMCwgMHgwNDQsIDB4MDMyLCAweDA2MCwgMHgwQjksCi0JMHgwMzcsIDB4MERFLCAweDA3MiwgMHgwMjgsIDB4MDhCLCAweDA5QywgMHgwOEEsIDB4MDBFLAotCTB4MDM5LCAweDBENCwgMHgwOEMsIDB4MDA1LCAweDBGNywgMHgwRTcsIDB4MEI4LCAweDAyQSwKLQkweDBGOSwgMHgwMjgsIDB4MDE4LCAweDBFRiwgMHgwMDAsIDB4MDMwLCAweDAzMCwgMHgwNTcsCi0JMHgwMDcsIDB4MDQ0LCAweDAwQSwgMHgwNTAsIDB4MDhGLCAweDBGMCwgMHgwNzMsIDB4MDkxLAotCTB4MDQxLCAweDAxRiwgMHgwM0EsIDB4MDkwLCAweDA0NSwgMHgwQzAsIDB4MEJCLCAweDAxOCwKLQkweDBFMSwgMHgwMzYsIDB4MDAyLCAweDBGQiwgMHgwRkIsIDB4MDlFLCAweDAwMiwgMHgwRkEsCi0JMHgwRUUsIDB4MEU3LCAweDBGNSwgMHgwQ0YsIDB4MDAxLCAweDA3RCwgMHgwMTAsIDB4MDVDLAotCTB4MEYwLCAweDAxNywgMHgwRDEsIDB4MDA1LCAweDBDRiwgMHgwMDEsIDB4MDdELCAweDA1MywKLQkweDBFQiwgMHgwMkQsIDB4MDE4LCAweDAwNSwgMHgwQjgsIDB4MDBELCAweDBBNiwgMHgwNDIsCi0JMHgwREMsIDB4MDA2LCAweDBEMywgMHgwMTcsIDB4MDM1LCAweDBBOCwgMHgwOEIsIDB4MDlDLAotCTB4MDBBLCAweDAwRSwgMHgwMzksIDB4MEQ0LCAweDAwQywgMHgwRkUsIDB4MDdCLCAweDA0QSwKLQkweDAyMiwgMHgwRTYsIDB4MDU1LCAweDAwQiwgMHgwRjMsIDB4MDMxLCAweDBCMywgMHgwNjAsCi0JMHgwMkYsIDB4MEJDLCAweDA3QywgMHgwRTIsIDB4MEE0LCAweDBGRSwgMHgwNjUsIDB4MDUxLAotCTB4MDE3LCAweDAzOCwgMHgwMTQsIDB4MDFDLCAweDA3MywgMHgwQTgsIDB4MDE5LCAweDBGQywKLQkweDBGNiwgMHgwOTQsIDB4MDQ1LCAweDBDQywgMHgwQUEsIDB4MDE3LCAweDBFNiwgMHgwNjMsCi0JMHgwNjYsIDB4MDBBLCAweDBCOCwgMHgwQ0MsIDB4MDg1LCAweDBBMSwgMHgwNTgsIDB4MEY2LAotCTB4MEEyLCAweDAzNSwgMHgwNDgsIDB4MDQ4LCAweDA3RiwgMHgwNEEsIDB4MDg5LCAweDA5NSwKLQkweDAyMSwgMHgwMjEsIDB4MEZELCAweDAwNSwgMHgwMDIsIDB4MDU0LCAweDA5RSwgMHgwNDUsCi0JMHgwOTEsIDB4MDBFLCAweDAzQywgMHgwMDUsIDB4MEY1LCAweDAwNywgMHgwNDAsIDB4MDU1LAotCTB4MDQ4LCAweDA1MiwgMHgwM0UsIDB4MDg2LCAweDBBMCwgMHgwNzUsIDB4MDQ4LCAweDA1MiwKLQkweDAzRSwgMHgwQjUsIDB4MDAwLCAweDA0QSwgMHgwOUMsIDB4MDAwLCAweDA2QiwgMHgwQzcsCi0JMHgwQ0UsIDB4MDQ1LCAweDAyNywgMHgwRjMsIDB4MDJBLCAweDA4NCwgMHgwMzcsIDB4MDM1LAotCTB4MERFLCAweDBBMCwgMHgwQUIsIDB4MDIzLCAweDAxQSwgMHgwQUUsIDB4MEY1LCAweDA4MywKLQkweDA1OSwgMHgwMTgsIDB4MEQ3LCAweDA0MywgMHgwREUsIDB4MDJBLCAweDBEMCwgMHgwOTQsCi0JMHgwRUIsIDB4MERFLCAweDAwNSwgMHgwM0EsIDB4MDk1LCAweDA5RiwgMHgwQ0MsIDB4MEMzLAotCTB4MDIwLCAweDA0NSwgMHgwQ0MsIDB4MEFBLCAweDAxNywgMHgwRTYsIDB4MDY2LCAweDBDQywKLQkweDA0MywgMHgwMjYsIDB4MDRGLCAweDBFNywgMHgwNDEsIDB4MDIyLCAweDAyRSwgMHgwNzAsCi0JMHgwNjgsIDB4MDM4LCAweDBFNywgMHgwNTMsIDB4MEUwLCAweDAyRiwgMHgwQUIsIDB4MEJDLAotCTB4MDEyLCAweDBEMiwgMHgwRTksIDB4MDU4LCAweDAwQiwgMHgwRUEsIDB4MEE3LCAweDBBRCwKLQkweDA0NSwgMHgwQTEsIDB4MDFGLCAweDBDMCwgMHgwNUYsIDB4MDc4LCAweDAzOSwgMHgwQzgsCi0JMHgwQTAsIDB4MDhGLCAweDA5RCwgMHgwNDgsIDB4MDFDLCAweDAyNCwgMHgwRUUsIDB4MEM3LAotCTB4MDgwLCAweDBCRSwgMHgwQkEsIDB4MEY1LCAweDA2RCwgMHgwNjYsIDB4MDQ5LCAweDA3NywKLQkweDAwRCwgMHgwNEUsIDB4MEE1LCAweDAzMCwgMHgwMDksIDB4MEI0LCAweDBGOSwgMHgwQzUsCi0JMHgwNDMsIDB4MDBGLCAweDAzOCwgMHgwQTksIDB4MDNGLCAweDA5RCwgMHgwMDIsIDB4MEZCLAotCTB4MENFLCAweDA0NSwgMHgwMTEsIDB4MDczLCAweDA5MSwgMHgwNDEsIDB4MEM3LCAweDAzQSwKLQkweDA5MSwgMHgwOUYsIDB4MENGLCAweDA2OSwgMHgwNDQsIDB4MDVDLCAweDBGMSwgMHgwNTAsCi0JMHgwQkYsIDB4MDMzLCAweDBDQiwgMHgwMzIsIDB4MEE3LCAweDBBQywgMHgwNTQsIDB4MDkwLAotCTB4MDhELCAweDA0NCwgMHgwOEUsIDB4MDcwLCAweDAyOSwgMHgwNzcsIDB4MEE4LCAweDBEMCwKLQkweDBDQywgMHgwQkEsIDB4MDU2LCAweDBCMCwgMHgwQjIsIDB4MDlELCAweDA4QywgMHgwODYsCi0JMHgwNEMsIDB4MDE3LCAweDAyNiwgMHgwNzcsIDB4MDI2LCAweDAxQywgMHgwMjcsIDB4MDFDLAotCTB4MDI0LCAweDA5RSwgMHgwMjMsIDB4MDYxLCAweDBCRSwgMHgwOEUsIDB4MDEyLCAweDA0RiwKLQkweDAxMSwgMHgwODcsIDB4MDFDLCAweDBFQSwgMHgwNUMsIDB4MDA1LCAweDBGNSwgMHgwRDcsCi0JMHgwQjgsIDB4MDZBLCAweDA3NSwgMHgwMjksIDB4MDc3LCAweDBBQiwgMHgwMEQsIDB4MDk5LAotCTB4MDc0LCAweDBBNSwgMHgwNEYsIDB4MDcyLCAweDBBMCwgMHgwQUEsIDB4MDRBLCAweDBDNiwKLQkweDBGMywgMHgwNjYsIDB4MDY2LCAweDBDNiwgMHgwMzksIDB4MDgyLCAweDBBRiwgMHgwNzUsCi0JMHgwQTYsIDB4MDZGLCAweDAxNCwgMHgwNkIsIDB4MENFLCAweDAwNSwgMHgwNzAsIDB4MDczLAotCTB4MDk2LCAweDA4MiwgMHgwM0UsIDB4MDc1LCAweDAyOCwgMHgwRTEsIDB4MDNBLCAweDBBNywKLQkweDBBRCwgMHgwNDQsIDB4MDYwLCAweDAxNiwgMHgwNTIsIDB4MEI2LCAweDAxRCwgMHgwN0EsCi0JMHgwQjYsIDB4MEIzLCAweDAyNCwgMHgwQkIsIDB4MDg2LCAweDBBNywgMHgwNTIsIDB4MDk4LAotCTB4MDA0LCAweDBEQSwgMHgwN0MsIDB4MEUyLCAweDBBMSwgMHgwODcsIDB4MDlDLCAweDA1NSwKLQkweDBGNywgMHgwOUMsIDB4MEI1LCAweDBBQywgMHgwMkMsIDB4MDk1LCAweDAzMywgMHgwQjksCi0JMHgwMzEsIDB4MDA1LCAweDBEOSwgMHgwNTMsIDB4MEQ2LCAweDBBMiwgMHgwMzAsIDB4MDBCLAotCTB4MDI5LCAweDA1QiwgMHgwMDIsIDB4MDJFLCAweDA2MSwgMHgwNUEsIDB4MDE3LCAweDBFNiwKLQkweDA5QywgMHgwQjMsIDB4MDJBLCAweDA3QSwgMHgwQzUsIDB4MDQwLCAweDAyMSwgMHgwQTgsCi0JMHgwOTEsIDB4MENFLCAweDAwNSwgMHgwMjcsIDB4MEYzLCAweDBBNSwgMHgwODgsIDB4MDY0LAotCTB4MEMxLCAweDA3MiwgMHgwNjUsIDB4MDRGLCAweDA1OCwgMHgwMTQsIDB4MDBDLCAweDA4RCwKLQkweDA3RSwgMHgwRjMsIDB4MDgxLCAweDA0NCwgMHgwNUMsIDB4MEVGLCAweDA0MSwgMHgwQzcsCi0JMHgwM0EsIDB4MEJFLCAweDAwMiwgMHgwRkEsIDB4MEE5LCAweDBFQSwgMHgwQ0UsIDB4MENDLAotCTB4MEE5LCAweDAyOSwgMHgwNTMsIDB4MEQ2LCAweDBBMiwgMHgwNDYsIDB4MDQ3LCAweDBERCwKLQkweDA3QSwgMHgwQzAsIDB4MEEzLCAweDAwMCwgMHgwODYsIDB4MEUyLCAweDA5QiwgMHgwMjksCi0JMHgwNzgsIDB4MDhCLCAweDA4MSwgMHgwMDksIDB4MDk4LCAweDA3MCwgMHgwOUIsIDB4MDI5LAotCTB4MDc5LCAweDA1RCwgMHgwRDksIDB4MDcyLCAweDBFRCwgMHgwOTQsIDB4MEJDLCAweDBCOSwKLQkweDA3NiwgMHgwMTMsIDB4MDNCLCAweDAyQSwgMHgwNUQsIDB4MEIyLCAweDA5NywgMHgwOTUsCi0JMHgwMkUsIDB4MEQ5LCAweDA0QiwgMHgwQ0EsIDB4MDdELCAweDA1QiwgMHgwNTksIDB4MDk0LAotCTB4MENBLCAweDAxQywgMHgwMjQsIDB4MEVFLCAweDBDNywgMHgwOTQsIDB4MEJDLCAweDBDMCwKLQkweDAyNiwgMHgwRDMsIDB4MEU3LCAweDAxNSwgMHgwMEMsIDB4MDNDLCAweDBFMiwgMHgwQUMsCi0JMHgwRkUsIDB4MDdCLCAweDA0QSwgMHgwMjIsIDB4MEU3LCAweDA4QSwgMHgwODUsIDB4MEY5LAotCTB4MDlFLCAweDA1OSwgMHgwOTcsIDB4MDdBLCAweDA4RCwgMHgwMEMsIDB4MENCLCAweDBBNSwKLQkweDAyNywgMHgwRjMsIDB4MEEwLCAweDA0MSwgMHgwNzIsIDB4MDYyLCAweDAxOSwgMHgwMzcsCi0JMHgwREUsIDB4MDcwLCAweDAyOCwgMHgwOEIsIDB4MDlDLCAweDA4QSwgMHgwMEUsIDB4MDM5LAotCTB4MEQ0LCAweDA4RCwgMHgwMEYsIDB4MDU2LCAweDAzNiwgMHgwNkQsIDB4MDA5LCAweDA0RSwKLQkweDBCRCwgMHgwNTksIDB4MDJDLCAweDBDRSwgMHgwQTUsIDB4MDZCLCAweDAwQiwgMHgwMjIsCi0JMHgwRDksIDB4MDlELCAweDBDOSwgMHgwQjIsIDB4MDk3LCAweDBCRSwgMHgwRjMsIDB4MDgxLAotCTB4MDRBLCAweDA3RCwgMHgwNjUsIDB4MEEzLCAweDAwMCwgMHgwOTMsIDB4MDhGLCAweDA2NywKLQkweDAyOSwgMHgwNzgsIDB4MEMyLCAweDA0RCwgMHgwQzEsIDB4MEQxLCAweDAwNiwgMHgwODIsCi0JMHgwMzEsIDB4MEFGLCAweDAwNywgMHgwMzgsIDB4MDM0LCAweDAxMSwgMHgwRjMsIDB4MEE4LAotCTB4MDJBLCAweDA5RSwgMHgwQTgsIDB4MDY2LCAweDAxQSwgMHgwQTQsIDB4MEE1LCAweDA0RiwKLQkweDA1QSwgMHgwMEMsIDB4MDExLCAweDA4RiwgMHgwQUEsIDB4MDdCLCAweDBEMCwgMHgwNjUsCi0JMHgwNDksIDB4MDQ1LCAweDBCRCwgMHgwRTksIDB4MDYyLCAweDBEMiwgMHgwQjEsIDB4MDlFLAotCTB4MDZDLCAweDBDQywgMHgwQzYsIDB4MDE5LCAweDA4NywgMHgwMDksIDB4MEMzLCAweDA4RSwKLQkweDA3NSwgMHgwNDEsIDB4MDFGLCAweDAzQSwgMHgwQTUsIDB4MDEzLCAweDBENSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1QSwgMHgwQ0MsIDB4MDkwCi0gfTsKLQotI2VuZGlmCS8qIGRlZmluZWQoQ09ORklHX1NNQ1RSKSB8fCBkZWZpbmVkKENPTkZJR19TTUNUUl9NT0RVTEUpICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90dW4uYyBiL2RyaXZlcnMvbmV0L3R1bi5jCmluZGV4IDdhYjk0YzguLmViYTEyNzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3R1bi5jCisrKyBiL2RyaXZlcnMvbmV0L3R1bi5jCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvZmNudGwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC02MDIsNiArNjAzLDEyIEBACiAJdHVuLT5hdHRhY2hlZCA9IDE7CiAJZ2V0X25ldChkZXZfbmV0KHR1bi0+ZGV2KSk7CiAKKwkvKiBNYWtlIHN1cmUgcGVyc2lzdGVudCBkZXZpY2VzIGRvIG5vdCBnZXQgc3R1Y2sgaW4KKwkgKiB4b2ZmIHN0YXRlLgorCSAqLworCWlmIChuZXRpZl9ydW5uaW5nKHR1bi0+ZGV2KSkKKwkJbmV0aWZfd2FrZV9xdWV1ZSh0dW4tPmRldik7CisKIAlzdHJjcHkoaWZyLT5pZnJfbmFtZSwgdHVuLT5kZXYtPm5hbWUpOwogCXJldHVybiAwOwogCkBAIC03OTYsMjIgKzgwMywyNiBAQAogCiAJREJHKEtFUk5fSU5GTyAiJXM6IHR1bl9jaHJfZmFzeW5jICVkXG4iLCB0dW4tPmRldi0+bmFtZSwgb24pOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoKHJldCA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmdHVuLT5mYXN5bmMpKSA8IDApCi0JCXJldHVybiByZXQ7CisJCWdvdG8gb3V0OwogCiAJaWYgKG9uKSB7CiAJCXJldCA9IF9fZl9zZXRvd24oZmlsZSwgdGFza19waWQoY3VycmVudCksIFBJRFRZUEVfUElELCAwKTsKIAkJaWYgKHJldCkKLQkJCXJldHVybiByZXQ7CisJCQlnb3RvIG91dDsKIAkJdHVuLT5mbGFncyB8PSBUVU5fRkFTWU5DOwogCX0gZWxzZQogCQl0dW4tPmZsYWdzICY9IH5UVU5fRkFTWU5DOwotCi0JcmV0dXJuIDA7CisJcmV0ID0gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCB0dW5fY2hyX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJREJHMShLRVJOX0lORk8gInR1blg6IHR1bl9jaHJfb3BlblxuIik7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9rYXdldGguYyBiL2RyaXZlcnMvbmV0L3VzYi9rYXdldGguYwppbmRleCA3YzY2YjA1Li5kNjgyOWRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2Iva2F3ZXRoLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL2thd2V0aC5jCkBAIC01NywxMyArNTcsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9ldGh0b29sLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KIAogI3VuZGVmIERFQlVHCiAKLSNpbmNsdWRlICJrYXdldGhmdy5oIgotCiAjZGVmaW5lIEtBV0VUSF9NVFUJCQkxNTE0CiAjZGVmaW5lIEtBV0VUSF9CVUZfU0laRQkJCTE2NjQKICNkZWZpbmUgS0FXRVRIX1RYX1RJTUVPVVQJCSg1ICogSFopCkBAIC0xMDgsNiArMTA3LDEwIEBACiBNT0RVTEVfQVVUSE9SKCJNaWNoYWVsIFphcHBlIDx6YXBtYW5AaW50ZXJsYW4ubmV0PiwgU3RlcGhhbmUgQWxuZXQgPHN0ZXBoYW5lQHUtcGljYXJkaWUuZnI+LCBCcmFkIEhhcmRzIDxiaGFyZHNAYmlncG9uZC5uZXQuYXU+IGFuZCBPbGl2ZXIgTmV1a3VtIDxvbGl2ZXJAbmV1a3VtLm9yZz4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiS0w1VVNCMTAxIFVTQiBFdGhlcm5ldCBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgia2F3ZXRoL25ld19jb2RlLmJpbiIpOworTU9EVUxFX0ZJUk1XQVJFKCJrYXdldGgvbmV3X2NvZGVfZml4LmJpbiIpOworTU9EVUxFX0ZJUk1XQVJFKCJrYXdldGgvdHJpZ2dlcl9jb2RlLmJpbiIpOworTU9EVUxFX0ZJUk1XQVJFKCJrYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4iKTsKIAogc3RhdGljIGNvbnN0IGNoYXIgZHJpdmVyX25hbWVbXSA9ICJrYXdldGgiOwogCkBAIC0zODUsMTcgKzM4OCwyOCBAQAogICogICAgIGthd2V0aF9kb3dubG9hZF9maXJtd2FyZQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgaW50IGthd2V0aF9kb3dubG9hZF9maXJtd2FyZShzdHJ1Y3Qga2F3ZXRoX2RldmljZSAqa2F3ZXRoLAotCQkJCSAgICBfX3U4ICpkYXRhLAotCQkJCSAgICBfX3UxNiBkYXRhX2xlbiwKKwkJCQkgICAgY29uc3QgY2hhciAqZnduYW1lLAogCQkJCSAgICBfX3U4IGludGVycnVwdCwKIAkJCQkgICAgX191OCB0eXBlKQogewotCWlmKGRhdGFfbGVuID4gS0FXRVRIX0ZJUk1XQVJFX0JVRl9TSVpFKQl7Ci0JCWVycigiRmlybXdhcmUgdG9vIGJpZzogJWQiLCBkYXRhX2xlbik7Ci0JCXJldHVybiAtRU5PU1BDOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJaW50IGRhdGFfbGVuOworCWludCByZXQ7CisKKwlyZXQgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgZnduYW1lLCAma2F3ZXRoLT5kZXYtPmRldik7CisJaWYgKHJldCkgeworCQllcnIoIkZpcm13YXJlIHJlcXVlc3QgZmFpbGVkXG4iKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKLQltZW1jcHkoa2F3ZXRoLT5maXJtd2FyZV9idWYsIGRhdGEsIGRhdGFfbGVuKTsKKwlpZiAoZnctPnNpemUgPiBLQVdFVEhfRklSTVdBUkVfQlVGX1NJWkUpIHsKKwkJZXJyKCJGaXJtd2FyZSB0b28gYmlnOiAlenUiLCBmdy0+c2l6ZSk7CisJCXJldHVybiAtRU5PU1BDOworCX0KKwlkYXRhX2xlbiA9IGZ3LT5zaXplOworCW1lbWNweShrYXdldGgtPmZpcm13YXJlX2J1ZiwgZnctPmRhdGEsIGZ3LT5zaXplKTsKKworCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCiAJa2F3ZXRoLT5maXJtd2FyZV9idWZbMl0gPSAoZGF0YV9sZW4gJiAweEZGKSAtIDc7CiAJa2F3ZXRoLT5maXJtd2FyZV9idWZbM10gPSBkYXRhX2xlbiA+PiA4OwpAQCAtNDA2LDggKzQyMCw3IEBACiAJCSAgIGthd2V0aC0+ZmlybXdhcmVfYnVmWzJdKTsKIAogCWRiZygiRG93bmxvYWRpbmcgZmlybXdhcmUgYXQgJXAgdG8ga2F3ZXRoIGRldmljZSBhdCAlcCIsCi0JICAgIGRhdGEsCi0JICAgIGthd2V0aCk7CisJICAgIGZ3LT5kYXRhLCBrYXdldGgpOwogCWRiZygiRmlybXdhcmUgbGVuZ3RoOiAlZCIsIGRhdGFfbGVuKTsKIAogCXJldHVybiBrYXdldGhfY29udHJvbChrYXdldGgsCkBAIC0xMDA5LDggKzEwMjIsNyBAQAogCQlpbmZvKCJEb3dubG9hZGluZyBmaXJtd2FyZS4uLiIpOwogCQlrYXdldGgtPmZpcm13YXJlX2J1ZiA9IChfX3U4ICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOwogCQlpZiAoKHJlc3VsdCA9IGthd2V0aF9kb3dubG9hZF9maXJtd2FyZShrYXdldGgsCi0JCQkJCQkgICAgICBrYXdldGhfbmV3X2NvZGUsCi0JCQkJCQkgICAgICBsZW5fa2F3ZXRoX25ld19jb2RlLAorCQkJCQkJICAgICAgImthd2V0aC9uZXdfY29kZS5iaW4iLAogCQkJCQkJICAgICAgMTAwLAogCQkJCQkJICAgICAgMikpIDwgMCkgewogCQkJZXJyKCJFcnJvciBkb3dubG9hZGluZyBmaXJtd2FyZSAoJWQpIiwgcmVzdWx0KTsKQEAgLTEwMTgsOCArMTAzMCw3IEBACiAJCX0KIAogCQlpZiAoKHJlc3VsdCA9IGthd2V0aF9kb3dubG9hZF9maXJtd2FyZShrYXdldGgsCi0JCQkJCQkgICAgICBrYXdldGhfbmV3X2NvZGVfZml4LAotCQkJCQkJICAgICAgbGVuX2thd2V0aF9uZXdfY29kZV9maXgsCisJCQkJCQkgICAgICAia2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4iLAogCQkJCQkJICAgICAgMTAwLAogCQkJCQkJICAgICAgMykpIDwgMCkgewogCQkJZXJyKCJFcnJvciBkb3dubG9hZGluZyBmaXJtd2FyZSBmaXggKCVkKSIsIHJlc3VsdCk7CkBAIC0xMDI3LDggKzEwMzgsNyBAQAogCQl9CiAKIAkJaWYgKChyZXN1bHQgPSBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUoa2F3ZXRoLAotCQkJCQkJICAgICAga2F3ZXRoX3RyaWdnZXJfY29kZSwKLQkJCQkJCSAgICAgIGxlbl9rYXdldGhfdHJpZ2dlcl9jb2RlLAorCQkJCQkJICAgICAgImthd2V0aC90cmlnZ2VyX2NvZGUuYmluIiwKIAkJCQkJCSAgICAgIDEyNiwKIAkJCQkJCSAgICAgIDIpKSA8IDApIHsKIAkJCWVycigiRXJyb3IgZG93bmxvYWRpbmcgdHJpZ2dlciBjb2RlICglZCkiLCByZXN1bHQpOwpAQCAtMTAzNyw4ICsxMDQ3LDcgQEAKIAkJfQogCiAJCWlmICgocmVzdWx0ID0ga2F3ZXRoX2Rvd25sb2FkX2Zpcm13YXJlKGthd2V0aCwKLQkJCQkJCSAgICAgIGthd2V0aF90cmlnZ2VyX2NvZGVfZml4LAotCQkJCQkJICAgICAgbGVuX2thd2V0aF90cmlnZ2VyX2NvZGVfZml4LAorCQkJCQkJICAgICAgImthd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbiIsCiAJCQkJCQkgICAgICAxMjYsCiAJCQkJCQkgICAgICAzKSkgPCAwKSB7CiAJCQllcnIoIkVycm9yIGRvd25sb2FkaW5nIHRyaWdnZXIgY29kZSBmaXggKCVkKSIsIHJlc3VsdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2Iva2F3ZXRoZncuaCBiL2RyaXZlcnMvbmV0L3VzYi9rYXdldGhmdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZjg1ZmNiLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvbmV0L3VzYi9rYXdldGhmdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTU3ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiBOT1RFOiBCNi9DMyBpcyBkYXRhIGhlYWRlciBzaWduYXR1cmUgICAqLwotLyogICAgICAgMHhBQS8weEJCIGlzIGRhdGEgbGVuZ3RoID0gdG90YWwgKi8KLS8qICAgICAgIGJ5dGVzIC0gNywgMHhDQyBpcyB0eXBlLCAweEREIGlzICovCi0vKiAgICAgICBpbnRlcnJ1cHQgdG8gdXNlLiAgICAgICAgICAgICAgICAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICAgICBrYXdldGhfdHJpZ2dlcl9jb2RlCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBfX3U4IGthd2V0aF90cmlnZ2VyX2NvZGVbXSA9IAotewotICAgIDB4QjYsIDB4QzMsIDB4QUEsIDB4QkIsIDB4Q0MsIDB4REQsCi0gICAgMHhjOCwgMHgwNywgMHhhMCwgMHgwMCwgMHhmMCwgMHgwNywgMHg1ZSwgMHgwMCwKLSAgICAweDA2LCAweDAwLCAweGYwLCAweDA3LCAweDBhLCAweDAwLCAweDA4LCAweDAwLAotICAgIDB4ZjAsIDB4MDksIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4ZTcsIDB4MDcsCi0gICAgMHgzNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmMCwgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweDA0LCAweDAwLCAweGU3LCAweDA3LCAweDUwLCAweGMzLCAweDEwLCAweGMwLAotICAgIDB4ZjAsIDB4MDksIDB4MGUsIDB4YzAsIDB4MDAsIDB4MDAsIDB4ZTcsIDB4ODcsCi0gICAgMHgwMSwgMHgwMCwgMHgwZSwgMHhjMCwgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwKLSAgICAweDAwLCAweGMwLCAweDE3LCAweDAyLCAweGM4LCAweDA3LCAweGEwLCAweDAwLAotICAgIDB4ZTcsIDB4MTcsIDB4NTAsIDB4YzMsIDB4MTAsIDB4YzAsIDB4MzAsIDB4ZDgsCi0gICAgMHgwNCwgMHgwMCwgMHgzMCwgMHg1YywgMHgwOCwgMHgwMCwgMHgwNCwgMHgwMCwKLSAgICAweGIwLCAweGMwLCAweDA2LCAweDAwLCAweGM4LCAweDA1LCAweGU3LCAweDA1LAotICAgIDB4MDAsIDB4YzAsIDB4YzAsIDB4ZGYsIDB4OTcsIDB4Y2YsIDB4NDksIDB4YWYsCi0gICAgMHhjMCwgMHgwNywgMHgwMCwgMHgwMCwgMHg2MCwgMHhhZiwgMHg0YSwgMHhhZiwKLSAgICAweDAwLCAweDBjLCAweDBjLCAweDAwLCAweDQwLCAweGQyLCAweDAwLCAweDFjLAotICAgIDB4MGMsIDB4MDAsIDB4NDAsIDB4ZDIsIDB4MzAsIDB4MDAsIDB4MDgsIDB4MDAsCi0gICAgMHhmMCwgMHgwNywgMHgwMCwgMHgwMCwgMHgwNCwgMHgwMCwgMHhmMCwgMHgwNywKLSAgICAweDg2LCAweDAwLCAweDA2LCAweDAwLCAweDY3LCAweGNmLCAweDI3LCAweDBjLAotICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjcsIDB4MGMsIDB4MDAsIDB4MDAsCi0gICAgMHgwZSwgMHhjMCwgMHg0OSwgMHhhZiwgMHg2NCwgMHhhZiwgMHhjMCwgMHgwNywKLSAgICAweDAwLCAweDAwLCAweDRiLCAweGFmLCAweDRhLCAweGFmLCAweDVhLCAweGNmLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHg5NCwgMHgwMCwgMHgwNSwgMHgwMCwKLSAgICAweDAwLCAweDAwCi19OwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICAgICBrYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeAotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgX191OCBrYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeFtdID0gCi17Ci0gICAgMHhCNiwgMHhDMywgMHhBQSwgMHhCQiwgMHhDQywgMHhERCwKLSAgICAweDAyLCAweDAwLCAweDA2LCAweDAwLCAweDE4LCAweDAwLCAweDNlLCAweDAwLAotICAgIDB4ODAsIDB4MDAsIDB4OTgsIDB4MDAsIDB4YWEsIDB4MDAsCi0gICAgMHgwMCwgMHgwMAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICAgICBrYXdldGhfbmV3X2NvZGUKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIF9fdTgga2F3ZXRoX25ld19jb2RlW10gPSAKLXsKLSAgICAweEI2LCAweEMzLCAweEFBLCAweEJCLCAweENDLCAweERELAotICAgIDB4OWYsIDB4Y2YsIDB4ZGUsIDB4MDYsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhjNCwgMHgwNiwgMHg5NywgMHhjMSwgMHhlNywgMHg2NywgMHhmZiwgMHgxZiwKLSAgICAweDI4LCAweGMwLCAweGU3LCAweDg3LCAweDAwLCAweDA0LCAweDI0LCAweGMwLAotICAgIDB4ZTcsIDB4NjcsIDB4ZmYsIDB4ZjksIDB4MjIsIDB4YzAsIDB4OTcsIDB4Y2YsCi0gICAgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwgMHhlNywgMHgwOSwgMHhhMiwgMHhjMCwKLSAgICAweGJlLCAweDA2LCAweDlmLCAweGFmLCAweDM2LCAweDAwLCAweGU3LCAweDA1LAotICAgIDB4MDAsIDB4YzAsIDB4YTcsIDB4Y2YsIDB4YmMsIDB4MDYsIDB4OTcsIDB4Y2YsCi0gICAgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHhiOCwgMHgwNiwgMHhhNywgMHhhMSwKLSAgICAweGI4LCAweDA2LCAweDk3LCAweGNmLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4MTQsIDB4MDgsIDB4MGEsIDB4YzAsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhhNCwgMHhjMCwgMHhhNywgMHhjMCwgMHg3YSwgMHgwNiwgMHg5ZiwgMHhhZiwKLSAgICAweDkyLCAweDA3LCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDE0LCAweDA4LAotICAgIDB4ZTcsIDB4NTcsIDB4ZmYsIDB4ZmYsIDB4YmEsIDB4MDYsIDB4OWYsIDB4YTAsCi0gICAgMHgzOCwgMHgwMCwgMHhlNywgMHg1OSwgMHhiYSwgMHgwNiwgMHhiZSwgMHgwNiwKLSAgICAweDlmLCAweGEwLCAweDM4LCAweDAwLCAweGM4LCAweDA5LCAweGNhLCAweDA2LAotICAgIDB4MDgsIDB4NjIsIDB4OWYsIDB4YTEsIDB4MzYsIDB4MDgsIDB4YzAsIDB4MDksCi0gICAgMHg3NiwgMHgwNiwgMHgwMCwgMHg2MCwgMHhhNywgMHhjMCwgMHg3YSwgMHgwNiwKLSAgICAweDlmLCAweGFmLCAweGNjLCAweDAyLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4YjgsIDB4MDYsIDB4YTcsIDB4YzEsIDB4N2EsIDB4MDYsIDB4OWYsIDB4YWYsCi0gICAgMHgwNCwgMHgwMCwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHg4ZSwgMHgwNiwKLSAgICAweDBhLCAweGMxLCAweGU3LCAweDA5LCAweDIwLCAweGMwLCAweDEwLCAweDA4LAotICAgIDB4ZTcsIDB4ZDAsIDB4MTAsIDB4MDgsIDB4ZTcsIDB4NjcsIDB4NDAsIDB4MDAsCi0gICAgMHgxMCwgMHgwOCwgMHg5ZiwgMHhhZiwgMHg5MiwgMHgwYywgMHhjMCwgMHgwOSwKLSAgICAweGQwLCAweDA2LCAweDAwLCAweDYwLCAweDA1LCAweGM0LCAweGMwLCAweDU5LAotICAgIDB4YmUsIDB4MDYsIDB4MDIsIDB4YzAsIDB4OWYsIDB4YWYsIDB4ZWMsIDB4MDAsCi0gICAgMHg5ZiwgMHhhZiwgMHgzNCwgMHgwMiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGE2LCAweDA2LCAweDlmLCAweGEwLCAweDdhLCAweDAyLCAweGE3LCAweGNmLAotICAgIDB4N2EsIDB4MDYsIDB4NDgsIDB4MDIsIDB4ZTcsIDB4MDksIDB4YmUsIDB4MDYsCi0gICAgMHhkMCwgMHgwNiwgMHhjOCwgMHgzNywgMHgwNCwgMHgwMCwgMHg5ZiwgMHhhZiwKLSAgICAweDA4LCAweDAzLCAweDk3LCAweGNmLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4Y2UsIDB4MDYsIDB4OTcsIDB4YzAsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsCi0gICAgMHhjMSwgMHhkZiwgMHhjOCwgMHgwOSwgMHhjNiwgMHgwNiwgMHgwOCwgMHg2MiwKLSAgICAweDE0LCAweGMwLCAweDI3LCAweDA0LCAweGM2LCAweDA2LCAweDEwLCAweDk0LAotICAgIDB4ZjAsIDB4MDcsIDB4MTAsIDB4MDgsIDB4MDIsIDB4MDAsIDB4YzEsIDB4MDcsCi0gICAgMHgwMSwgMHgwMCwgMHg3MCwgMHgwMCwgMHgwNCwgMHgwMCwgMHhmMCwgMHgwNywKLSAgICAweDMwLCAweDAxLCAweDA2LCAweDAwLCAweDUwLCAweGFmLCAweGU3LCAweDA3LAotICAgIDB4ZmYsIDB4ZmYsIDB4ZDAsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHhjZSwgMHgwNiwgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHg5NywgMHhjZiwKLSAgICAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweGMxLCAweGRmLCAweDQ4LCAweDAyLAotICAgIDB4ZDAsIDB4MDksIDB4YzYsIDB4MDYsIDB4MjcsIDB4MDIsIDB4YzYsIDB4MDYsCi0gICAgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHg5NywgMHhjZiwgMHg0OCwgMHgwMiwKLSAgICAweGM4LCAweDM3LCAweDA0LCAweDAwLCAweDAwLCAweDBjLCAweDBjLCAweDAwLAotICAgIDB4MDAsIDB4NjAsIDB4MjEsIDB4YzAsIDB4YzAsIDB4MzcsIDB4M2UsIDB4MDAsCi0gICAgMHgyMywgMHhjOSwgMHhjMCwgMHg1NywgMHhiNCwgMHgwNSwgMHgxYiwgMHhjOCwKLSAgICAweGMwLCAweDE3LCAweDNmLCAweDAwLCAweGMwLCAweDY3LCAweGMwLCAweGZmLAotICAgIDB4MzAsIDB4MDAsIDB4MDgsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMiwgMHhjMCwgMHgxNywgMHg0YywgMHgwMCwKLSAgICAweDMwLCAweDAwLCAweDA2LCAweDAwLCAweGYwLCAweDA3LCAweGEwLCAweDAxLAotICAgIDB4MGEsIDB4MDAsIDB4NDgsIDB4MDIsIDB4YzEsIDB4MDcsIDB4MDIsIDB4MDAsCi0gICAgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwgMHhjMSwgMHhkZiwgMHg1MSwgMHhhZiwKLSAgICAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweDk3LCAweGNmLCAweDlmLCAweGFmLAotICAgIDB4MDgsIDB4MDMsIDB4OWYsIDB4YWYsIDB4N2EsIDB4MDIsIDB4OTcsIDB4Y2YsCi0gICAgMHg5ZiwgMHhhZiwgMHg3YSwgMHgwMiwgMHhjOSwgMHgzNywgMHgwNCwgMHgwMCwKLSAgICAweGMxLCAweGRmLCAweGM4LCAweDA5LCAweGEyLCAweDA2LCAweDUwLCAweDAyLAotICAgIDB4NjcsIDB4MDIsIDB4YTIsIDB4MDYsIDB4ZDEsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHgyNywgMHhkOCwgMHhhYSwgMHgwNiwgMHhjMCwgMHhkZiwgMHg5ZiwgMHhhZiwKLSAgICAweGM0LCAweDAxLCAweDk3LCAweGNmLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4ZDIsIDB4MDYsIDB4OTcsIDB4YzEsIDB4ZTcsIDB4NTcsIDB4MDEsIDB4MDAsCi0gICAgMHhhOCwgMHgwNiwgMHg5NywgMHhjMCwgMHhjOCwgMHgwOSwgMHhhMCwgMHgwNiwKLSAgICAweDA4LCAweDYyLCAweDk3LCAweGMwLCAweDAwLCAweDAyLCAweGMwLCAweDE3LAotICAgIDB4MGUsIDB4MDAsIDB4MjcsIDB4MDAsIDB4MzQsIDB4MDEsIDB4MjcsIDB4MGMsCi0gICAgMHgwYywgMHgwMCwgMHgzNiwgMHgwMSwgMHhlNywgMHgwNywgMHg1MCwgMHhjMywKLSAgICAweDEyLCAweGMwLCAweGU3LCAweDA3LCAweGNjLCAweDBiLCAweDAyLCAweDAwLAotICAgIDB4ZTcsIDB4MDcsIDB4MDEsIDB4MDAsIDB4YTgsIDB4MDYsIDB4ZTcsIDB4MDcsCi0gICAgMHgwNSwgMHgwMCwgMHg5MCwgMHhjMCwgMHg5NywgMHhjZiwgMHhjOCwgMHgwOSwKLSAgICAweGE0LCAweDA2LCAweDA4LCAweDYyLCAweDAyLCAweGMwLCAweDEwLCAweDY0LAotICAgIDB4MDcsIDB4YzEsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4OWUsIDB4MDYsCi0gICAgMHhlNywgMHgwNywgMHg3MiwgMHgwNCwgMHgyNCwgMHgwMCwgMHg5NywgMHhjZiwKLSAgICAweDI3LCAweDA0LCAweGE0LCAweDA2LCAweGM4LCAweDE3LCAweDBlLCAweDAwLAotICAgIDB4MjcsIDB4MDIsIDB4OWUsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4ODAsIDB4MDQsCi0gICAgMHgyNCwgMHgwMCwgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwKLSAgICAweGMxLCAweGRmLCAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweDkwLCAweDA2LAotICAgIDB4MTMsIDB4YzEsIDB4OWYsIDB4YWYsIDB4MDYsIDB4MDIsIDB4ZTcsIDB4NTcsCi0gICAgMHgwMCwgMHgwMCwgMHg5ZSwgMHgwNiwgMHgxMywgMHhjMCwgMHhlNywgMHgwOSwKLSAgICAweDllLCAweDA2LCAweDMwLCAweDAxLCAweGU3LCAweDA3LCAweGYyLCAweDA1LAotICAgIDB4MzIsIDB4MDEsIDB4ZTcsIDB4MDcsIDB4MTAsIDB4MDAsIDB4OTYsIDB4YzAsCi0gICAgMHhlNywgMHgwOSwgMHg5ZSwgMHgwNiwgMHg5MCwgMHgwNiwgMHgwNCwgMHhjZiwKLSAgICAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweDllLCAweDA2LCAweDAyLCAweGMxLAotICAgIDB4OWYsIDB4YWYsIDB4MDYsIDB4MDIsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsCi0gICAgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwgMHhjMSwgMHhkZiwKLSAgICAweDA4LCAweDkyLCAweGU3LCAweDU3LCAweDAyLCAweDAwLCAweGFhLCAweDA2LAotICAgIDB4MDIsIDB4YzMsIDB4YzgsIDB4MDksIDB4YTQsIDB4MDYsIDB4MjcsIDB4MDIsCi0gICAgMHhhNiwgMHgwNiwgMHgwOCwgMHg2MiwgMHgwMywgMHhjMSwgMHhlNywgMHgwNSwKLSAgICAweDAwLCAweGMwLCAweDk3LCAweGNmLCAweDI3LCAweDA0LCAweGE0LCAweDA2LAotICAgIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4ZjAsIDB4MDcsIDB4NDAsIDB4MDAsCi0gICAgMHgwOCwgMHgwMCwgMHhmMCwgMHgwNywgMHgwMCwgMHgwMCwgMHgwNCwgMHgwMCwKLSAgICAweDAwLCAweDAyLCAweGMwLCAweDE3LCAweDBjLCAweDAwLCAweDMwLCAweDAwLAotICAgIDB4MDYsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4NDYsIDB4MDEsIDB4MGEsIDB4MDAsCi0gICAgMHhjOCwgMHgxNywgMHgwNCwgMHgwMCwgMHhjMSwgMHgwNywgMHgwMiwgMHgwMCwKLSAgICAweDUxLCAweGFmLCAweDk3LCAweGNmLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4OTYsIDB4MDYsIDB4OTcsIDB4YzAsIDB4YzEsIDB4ZGYsIDB4YzgsIDB4MDksCi0gICAgMHg5NiwgMHgwNiwgMHgyNywgMHgwNCwgMHg5NiwgMHgwNiwgMHgyNywgMHg1MiwKLSAgICAweDk4LCAweDA2LCAweDAzLCAweGMxLCAweGU3LCAweDA3LCAweDk2LCAweDA2LAotICAgIDB4OTgsIDB4MDYsIDB4YzAsIDB4ZGYsIDB4MTcsIDB4MDIsIDB4YzgsIDB4MTcsCi0gICAgMHgwZSwgMHgwMCwgMHg5ZiwgMHhhZiwgMHhiYSwgMHgwMywgMHhjOCwgMHgwNSwKLSAgICAweDAwLCAweDYwLCAweDAzLCAweGMwLCAweDlmLCAweGFmLCAweDI0LCAweDAzLAotICAgIDB4OTcsIDB4Y2YsIDB4OWYsIDB4YWYsIDB4MDgsIDB4MDMsIDB4OTcsIDB4Y2YsCi0gICAgMHg1NywgMHgwMiwgMHhjOSwgMHgwNywgMHhhNCwgMHgwNiwgMHhkNywgMHgwOSwKLSAgICAweDAwLCAweGMwLCAweGMxLCAweGRmLCAweDA4LCAweDYyLCAweDFiLCAweGMwLAotICAgIDB4NTAsIDB4MDQsIDB4MTEsIDB4MDIsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsCi0gICAgMHhjOSwgMHgwNSwgMHg5NywgMHhjZiwgMHg5NywgMHgwMiwgMHhjYSwgMHgwOSwKLSAgICAweGQ2LCAweDA2LCAweGYyLCAweDE3LCAweDAxLCAweDAwLCAweDA0LCAweDAwLAotICAgIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDAsIDB4Y2EsIDB4MTcsCi0gICAgMHgyYywgMHgwMCwgMHhmOCwgMHg3NywgMHgwMSwgMHgwMCwgMHgwZSwgMHgwMCwKLSAgICAweDA2LCAweGMwLCAweGNhLCAweGQ5LCAweGY4LCAweDU3LCAweGZmLCAweDAwLAotICAgIDB4MGUsIDB4MDAsIDB4MDEsIDB4YzEsIDB4Y2EsIDB4ZDksIDB4MjIsIDB4MWMsCi0gICAgMHgwYywgMHgwMCwgMHhlMiwgMHgyNywgMHgwMCwgMHgwMCwgMHhlMiwgMHgxNywKLSAgICAweDAxLCAweDAwLCAweGUyLCAweDI3LCAweDAwLCAweDAwLCAweGNhLCAweDA1LAotICAgIDB4MDAsIDB4MGMsIDB4MGMsIDB4MDAsIDB4YzAsIDB4MTcsIDB4NDEsIDB4MDAsCi0gICAgMHhjMCwgMHg2NywgMHhjMCwgMHhmZiwgMHgzMCwgMHgwMCwgMHgwOCwgMHgwMCwKLSAgICAweDAwLCAweDAyLCAweGMwLCAweDE3LCAweDBjLCAweDAwLCAweDMwLCAweDAwLAotICAgIDB4MDYsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4ZGEsIDB4MDAsIDB4MGEsIDB4MDAsCi0gICAgMHhmMCwgMHgwNywgMHgwMCwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwYywKLSAgICAweDA4LCAweDAwLCAweDQwLCAweGQxLCAweDAxLCAweDAwLCAweGMwLCAweDE5LAotICAgIDB4Y2UsIDB4MDYsIDB4YzAsIDB4NTksIDB4YzIsIDB4MDYsIDB4MDQsIDB4YzksCi0gICAgMHg0OSwgMHhhZiwgMHg5ZiwgMHhhZiwgMHhlYywgMHgwMCwgMHg0YSwgMHhhZiwKLSAgICAweDY3LCAweDEwLCAweGNlLCAweDA2LCAweGM4LCAweDE3LCAweDA0LCAweDAwLAotICAgIDB4YzEsIDB4MDcsIDB4MDEsIDB4MDAsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsCi0gICAgMHhjMSwgMHhkZiwgMHg1MCwgMHhhZiwgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwKLSAgICAweDk3LCAweGNmLCAweGMwLCAweDA3LCAweDAxLCAweDAwLCAweGMxLCAweDA5LAotICAgIDB4YWMsIDB4MDYsIDB4YzEsIDB4NzcsIDB4MDEsIDB4MDAsIDB4OTcsIDB4YzEsCi0gICAgMHhkOCwgMHg3NywgMHgwMSwgMHgwMCwgMHgxMiwgMHhjMCwgMHhjOSwgMHgwNywKLSAgICAweDZhLCAweDA2LCAweDlmLCAweGFmLCAweDA4LCAweDA0LCAweDA0LCAweGMxLAotICAgIDB4YzEsIDB4NzcsIDB4MDgsIDB4MDAsIDB4MTMsIDB4YzAsIDB4OTcsIDB4Y2YsCi0gICAgMHhjMSwgMHg3NywgMHgwMiwgMHgwMCwgMHg5NywgMHhjMSwgMHhjMSwgMHg3NywKLSAgICAweDEwLCAweDAwLCAweDBjLCAweGMwLCAweDlmLCAweGFmLCAweDJjLCAweDA0LAotICAgIDB4OTcsIDB4Y2YsIDB4YzEsIDB4NzcsIDB4MDQsIDB4MDAsIDB4MDYsIDB4YzAsCi0gICAgMHhjOSwgMHgwNywgMHg3MCwgMHgwNiwgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwNCwKLSAgICAweDk3LCAweGMwLCAweDAwLCAweGNmLCAweDAwLCAweDkwLCAweDk3LCAweGNmLAotICAgIDB4NTAsIDB4NTQsIDB4OTcsIDB4YzEsIDB4NzAsIDB4NWMsIDB4MDIsIDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg5NywgMHhjMSwgMHg3MCwgMHg1YywgMHgwNCwgMHgwMCwKLSAgICAweDA0LCAweDAwLCAweDk3LCAweGNmLCAweDgwLCAweDAxLCAweGMwLCAweDAwLAotICAgIDB4NjAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MTgsIDB4MDAsIDB4MGMsIDB4MDAsCi0gICAgMHgwNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhjYiwgMHgwOSwgMHhiMiwgMHgwNiwKLSAgICAweGNjLCAweDA5LCAweGI0LCAweDA2LCAweDBiLCAweDUzLCAweDExLCAweGMwLAotICAgIDB4YzksIDB4MDIsIDB4Y2EsIDB4MDcsIDB4MWMsIDB4MDQsIDB4OWYsIDB4YWYsCi0gICAgMHgwOCwgMHgwNCwgMHg5NywgMHhjMCwgMHgwYSwgMHhjOCwgMHg4MiwgMHgwOCwKLSAgICAweDBhLCAweGNmLCAweDgyLCAweDA4LCAweDlmLCAweGFmLCAweDA4LCAweDA0LAotICAgIDB4OTcsIDB4YzAsIDB4MDUsIDB4YzIsIDB4ODksIDB4MzAsIDB4ODIsIDB4NjAsCi0gICAgMHg3OCwgMHhjMSwgMHgwMCwgMHg5MCwgMHg5NywgMHhjZiwgMHg4OSwgMHgxMCwKLSAgICAweDA5LCAweDUzLCAweDc5LCAweGMyLCAweDg5LCAweDMwLCAweDgyLCAweDA4LAotICAgIDB4N2EsIDB4Y2YsIDB4YzAsIDB4ZGYsIDB4OTcsIDB4Y2YsIDB4YzAsIDB4ZGYsCi0gICAgMHg5NywgMHhjZiwgMHhlNywgMHgwOSwgMHg5NiwgMHhjMCwgMHg5MiwgMHgwNiwKLSAgICAweGU3LCAweDA5LCAweDk4LCAweGMwLCAweDk0LCAweDA2LCAweDBmLCAweGNmLAotICAgIDB4ZTcsIDB4MDksIDB4OTYsIDB4YzAsIDB4OTIsIDB4MDYsIDB4ZTcsIDB4MDksCi0gICAgMHg5OCwgMHhjMCwgMHg5NCwgMHgwNiwgMHhlNywgMHgwOSwgMHg5ZSwgMHgwNiwKLSAgICAweDMwLCAweDAxLCAweGU3LCAweDA3LCAweGYyLCAweDA1LCAweDMyLCAweDAxLAotICAgIDB4ZTcsIDB4MDcsIDB4MTAsIDB4MDAsIDB4OTYsIDB4YzAsIDB4ZDcsIDB4MDksCi0gICAgMHgwMCwgMHhjMCwgMHgxNywgMHgwMiwgMHhjOCwgMHgwOSwgMHg5MCwgMHgwNiwKLSAgICAweGM4LCAweDM3LCAweDBlLCAweDAwLCAweGU3LCAweDc3LCAweDJhLCAweDAwLAotICAgIDB4OTIsIDB4MDYsIDB4MzAsIDB4YzAsIDB4OTcsIDB4MDIsIDB4Y2EsIDB4MDksCi0gICAgMHhkNiwgMHgwNiwgMHhlNywgMHg3NywgMHgyMCwgMHgwMCwgMHg5MiwgMHgwNiwKLSAgICAweDBlLCAweGMwLCAweGYyLCAweDE3LCAweDAxLCAweDAwLCAweDEwLCAweDAwLAotICAgIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDAsIDB4ZTcsIDB4NzcsCi0gICAgMHgwYSwgMHgwMCwgMHg5MiwgMHgwNiwgMHhjYSwgMHgwNSwgMHgxZSwgMHhjMCwKLSAgICAweDk3LCAweDAyLCAweGNhLCAweDA5LCAweGQ2LCAweDA2LCAweGYyLCAweDE3LAotICAgIDB4MDEsIDB4MDAsIDB4MGMsIDB4MDAsIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsCi0gICAgMHgwZSwgMHgwMCwgMHhlNywgMHg3NywgMHgwMiwgMHgwMCwgMHg5MiwgMHgwNiwKLSAgICAweDA3LCAweGMwLCAweGYyLCAweDE3LCAweDAxLCAweDAwLCAweDQ0LCAweDAwLAotICAgIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4NDYsIDB4MDAsIDB4MDYsIDB4Y2YsCi0gICAgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHg2MCwgMHgwMCwgMHhmMiwgMHgyNywKLSAgICAweDAwLCAweDAwLCAweDYyLCAweDAwLCAweGNhLCAweDA1LCAweDlmLCAweGFmLAotICAgIDB4MDgsIDB4MDMsIDB4MGYsIDB4Y2YsIDB4NTcsIDB4MDIsIDB4MDksIDB4MDIsCi0gICAgMHhmMSwgMHgwOSwgMHg5NCwgMHgwNiwgMHgwYywgMHgwMCwgMHhmMSwgMHhkYSwKLSAgICAweDBjLCAweDAwLCAweGM4LCAweDA5LCAweDk4LCAweDA2LCAweDUwLCAweDAyLAotICAgIDB4NjcsIDB4MDIsIDB4OTgsIDB4MDYsIDB4ZDEsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHhjOSwgMHgwNSwgMHhlNywgMHgwOSwgMHg5ZSwgMHgwNiwgMHg5MCwgMHgwNiwKLSAgICAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweDkwLCAweDA2LCAweDAyLCAweGMwLAotICAgIDB4OWYsIDB4YWYsIDB4MDYsIDB4MDIsIDB4YzgsIDB4MDUsIDB4ZTcsIDB4MDUsCi0gICAgMHgwMCwgMHhjMCwgMHhjMCwgMHhkZiwgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwKLSAgICAweDAwLCAweGMwLCAweDE3LCAweDAwLCAweDE3LCAweDAyLCAweDk3LCAweDAyLAotICAgIDB4YzAsIDB4MDksIDB4OTIsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDQsIDB4MDAsCi0gICAgMHg5MCwgMHhjMCwgMHhjYSwgMHgwOSwgMHhkNiwgMHgwNiwgMHhlNywgMHgwNywKLSAgICAweDAwLCAweDAwLCAweGE4LCAweDA2LCAweGU3LCAweDA3LCAweDZhLCAweDA0LAotICAgIDB4MDIsIDB4MDAsIDB4YzAsIDB4NzcsIDB4MDIsIDB4MDAsIDB4MDgsIDB4YzAsCi0gICAgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHg1MCwgMHgwMCwgMHhmMiwgMHgyNywKLSAgICAweDAwLCAweDAwLCAweDUyLCAweDAwLCAweDlmLCAweGNmLCAweDI0LCAweDA2LAotICAgIDB4YzAsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDYsIDB4YzAsIDB4ZjIsIDB4MTcsCi0gICAgMHgwMSwgMHgwMCwgMHg1OCwgMHgwMCwgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwKLSAgICAweDVhLCAweDAwLCAweGMwLCAweDc3LCAweDgwLCAweDAwLCAweDA2LCAweGMwLAotICAgIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4ZjIsIDB4MjcsCi0gICAgMHgwMCwgMHgwMCwgMHg3MiwgMHgwMCwgMHhjMCwgMHg3NywgMHgwOCwgMHgwMCwKLSAgICAweDFkLCAweGMxLCAweGYyLCAweDE3LCAweDAxLCAweDAwLCAweDA4LCAweDAwLAotICAgIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4MGEsIDB4MDAsIDB4YzAsIDB4NzcsCi0gICAgMHgwMCwgMHgwMiwgMHgwNiwgMHhjMCwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwKLSAgICAweDY0LCAweDAwLCAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDY2LCAweDAwLAotICAgIDB4YzAsIDB4NzcsIDB4NDAsIDB4MDAsIDB4MDYsIDB4YzAsIDB4ZjIsIDB4MTcsCi0gICAgMHgwMSwgMHgwMCwgMHg1YywgMHgwMCwgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwKLSAgICAweDVlLCAweDAwLCAweGMwLCAweDc3LCAweDAxLCAweDAwLCAweDAxLCAweGMwLAotICAgIDB4MWIsIDB4Y2YsIDB4MWEsIDB4Y2YsIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwKLSAgICAweGM4LCAweDA5LCAweDM0LCAweDAxLCAweGNhLCAweDE3LCAweDE0LCAweDAwLAotICAgIDB4ZDgsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MDUsIDB4YzAsIDB4Y2EsIDB4ZDksCi0gICAgMHhkOCwgMHg1NywgMHhmZiwgMHgwMCwgMHgwMSwgMHhjMCwgMHhjYSwgMHhkOSwKLSAgICAweGUyLCAweDE5LCAweDk0LCAweGMwLCAweGUyLCAweDI3LCAweDAwLCAweDAwLAotICAgIDB4ZTIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4ZTIsIDB4MjcsIDB4MDAsIDB4MDAsCi0gICAgMHg5ZiwgMHhhZiwgMHg0MCwgMHgwNiwgMHg5ZiwgMHhhZiwgMHhjNCwgMHgwMSwKLSAgICAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweGQyLCAweDA2LCAweDlmLCAweGExLAotICAgIDB4MGUsIDB4MGEsIDB4Y2EsIDB4MDUsIDB4YzgsIDB4MDUsIDB4YzAsIDB4MDUsCi0gICAgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHhjMCwgMHhkZiwgMHg5NywgMHhjZiwKLSAgICAweGM4LCAweDA5LCAweGEwLCAweDA2LCAweDA4LCAweDYyLCAweDk3LCAweGMwLAotICAgIDB4MjcsIDB4MDQsIDB4YTAsIDB4MDYsIDB4MjcsIDB4NTIsIDB4YTIsIDB4MDYsCi0gICAgMHgwMywgMHhjMSwgMHhlNywgMHgwNywgMHhhMCwgMHgwNiwgMHhhMiwgMHgwNiwKLSAgICAweDlmLCAweGFmLCAweDA4LCAweDAzLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4YWEsIDB4MDYsIDB4MDIsIDB4YzAsIDB4MjcsIDB4ZGEsIDB4YWEsIDB4MDYsCi0gICAgMHg5NywgMHhjZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4M2YsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweGZmLCAweGZmLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4MTMsIDB4ZTcsIDB4NTcsCi0gICAgMHgwMCwgMHg4MCwgMHhiMiwgMHgwMCwgMHgwNiwgMHhjMiwgMHhlNywgMHgwNywKLSAgICAweGVlLCAweDBiLCAweDEyLCAweDAwLCAweGU3LCAweDA3LCAweDM0LCAweDBjLAotICAgIDB4YjIsIDB4MDAsIDB4ZTcsIDB4MDcsIDB4YzYsIDB4MDcsIDB4ZjIsIDB4MDIsCi0gICAgMHhjOCwgMHgwOSwgMHhiNCwgMHgwMCwgMHhmOCwgMHgwNywgMHgwMiwgMHgwMCwKLSAgICAweDBkLCAweDAwLCAweGQ3LCAweDA5LCAweDBlLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4MGUsIDB4YzAsIDB4YzgsIDB4MDksIDB4ZGUsIDB4MDAsCi0gICAgMHhjOCwgMHgxNywgMHgwOSwgMHgwMCwgMHhjOSwgMHgwNywgMHhkYSwgMHgwNiwKLSAgICAweGMwLCAweDA3LCAweDA0LCAweDAwLCAweDY4LCAweDBhLCAweDAwLCAweGRhLAotICAgIDB4N2QsIDB4YzEsIDB4ZTcsIDB4MDksIDB4YzAsIDB4MDAsIDB4N2MsIDB4MDYsCi0gICAgMHhlNywgMHgwOSwgMHhiZSwgMHgwMCwgMHg3OCwgMHgwNiwgMHhlNywgMHgwOSwKLSAgICAweDEwLCAweDAwLCAweGJjLCAweDA2LCAweGM4LCAweDA3LCAweGQ2LCAweDA3LAotICAgIDB4OWYsIDB4YWYsIDB4YWUsIDB4MDcsIDB4OWYsIDB4YWYsIDB4MDAsIDB4MGEsCi0gICAgMHhjOCwgMHgwOSwgMHhkZSwgMHgwMCwgMHgwMCwgMHgwZSwgMHgwZiwgMHgwMCwKLSAgICAweDQxLCAweDkwLCAweDlmLCAweGRlLCAweDA2LCAweDAwLCAweDQ0LCAweGFmLAotICAgIDB4MjcsIDB4MDAsIDB4YjIsIDB4MDYsIDB4MjcsIDB4MDAsIDB4YjQsIDB4MDYsCi0gICAgMHgyNywgMHgwMCwgMHhiNiwgMHgwNiwgMHhjMCwgMHgwNywgMHg3NCwgMHgwMCwKLSAgICAweDQ0LCAweGFmLCAweDI3LCAweDAwLCAweGQ2LCAweDA2LCAweDA4LCAweDAwLAotICAgIDB4MDAsIDB4OTAsIDB4YzEsIDB4MDcsIDB4M2EsIDB4MDAsIDB4MjAsIDB4MDAsCi0gICAgMHgwMSwgMHhkYSwgMHg3ZCwgMHhjMSwgMHg5ZiwgMHhhZiwgMHhiYSwgMHgwOSwKLSAgICAweGMwLCAweDA3LCAweDQ0LCAweDAwLCAweDQ4LCAweGFmLCAweDI3LCAweDAwLAotICAgIDB4N2EsIDB4MDYsIDB4OWYsIDB4YWYsIDB4OTYsIDB4MGEsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMSwgMHgwMCwgMHhjMCwgMHgwNiwgMHhlNywgMHgwNSwgMHgwZSwgMHhjMCwKLSAgICAweDk3LCAweGNmLCAweDQ5LCAweGFmLCAweGU3LCAweDg3LCAweDQzLCAweDAwLAotICAgIDB4MGUsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4ZmYsIDB4ZmYsIDB4YmUsIDB4MDYsCi0gICAgMHg5ZiwgMHhhZiwgMHhhZSwgMHgwYSwgMHhjMCwgMHgwNywgMHgwMSwgMHgwMCwKLSAgICAweDYwLCAweGFmLCAweDRhLCAweGFmLCAweDk3LCAweGNmLCAweDAwLCAweDA4LAotICAgIDB4MDksIDB4MDgsIDB4MTEsIDB4MDgsIDB4MDAsIDB4ZGEsIDB4N2MsIDB4YzEsCi0gICAgMHg5NywgMHhjZiwgMHg2NywgMHgwNCwgMHhjYywgMHgwMiwgMHhjMCwgMHhkZiwKLSAgICAweDUxLCAweDk0LCAweGIxLCAweGFmLCAweDA2LCAweDAwLCAweGMxLCAweGRmLAotICAgIDB4YzksIDB4MDksIDB4Y2MsIDB4MDIsIDB4NDksIDB4NjIsIDB4NzUsIDB4YzEsCi0gICAgMHhjMCwgMHhkZiwgMHhhNywgMHhjZiwgMHhkNiwgMHgwMiwgMHgwZSwgMHgwMCwKLSAgICAweDI0LCAweDAwLCAweDgwLCAweDA0LCAweDIyLCAweDAwLCAweDRlLCAweDA1LAotICAgIDB4ZDAsIDB4MDAsIDB4MGUsIDB4MGEsIDB4YWEsIDB4MDAsIDB4MzAsIDB4MDgsCi0gICAgMHhiZSwgMHgwMCwgMHg0YSwgMHgwYSwgMHgxMCwgMHgwMCwgMHgyMCwgMHgwMCwKLSAgICAweDA0LCAweDAwLCAweDZlLCAweDA0LCAweDAyLCAweDAwLCAweDZhLCAweDA0LAotICAgIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjQsIDB4YzAsIDB4MDQsIDB4MDQsCi0gICAgMHgyOCwgMHhjMCwgMHhmZSwgMHhmYiwgMHgxZSwgMHhjMCwgMHgwMCwgMHgwNCwKLSAgICAweDIyLCAweGMwLCAweGZmLCAweGY0LCAweGMwLCAweDAwLCAweDkwLCAweDA5LAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYsIDB4NTYsIDB4MDgsCi0gICAgMHg2MCwgMHgwOCwgMHhkMCwgMHgwOCwgMHhkYSwgMHgwOCwgMHgwMCwgMHgwOSwKLSAgICAweDA0LCAweDA5LCAweDA4LCAweDA5LCAweDMyLCAweDA5LCAweDQyLCAweDA5LAotICAgIDB4NTAsIDB4MDksIDB4NTIsIDB4MDksIDB4NWEsIDB4MDksIDB4NWEsIDB4MDksCi0gICAgMHgyNywgMHgwMiwgMHhjYSwgMHgwNiwgMHg5NywgMHhjZiwgMHhlNywgMHgwNywKLSAgICAweDAwLCAweDAwLCAweGNhLCAweDA2LCAweDBhLCAweDBlLCAweDAxLCAweDAwLAotICAgIDB4Y2EsIDB4NTcsIDB4MGUsIDB4MDAsIDB4OWYsIDB4YzMsIDB4NWEsIDB4MDksCi0gICAgMHhjYSwgMHgzNywgMHgwMCwgMHgwMCwgMHg5ZiwgMHhjMiwgMHg1YSwgMHgwOSwKLSAgICAweDBhLCAweGQyLCAweGIyLCAweGNmLCAweDE2LCAweDA4LCAweGM4LCAweDA5LAotICAgIDB4ZGUsIDB4MDAsIDB4MDcsIDB4MDYsIDB4OWYsIDB4Y2YsIDB4NmMsIDB4MDksCi0gICAgMHgxNywgMHgwMiwgMHhjOCwgMHgwOSwgMHhkZSwgMHgwMCwgMHgwMCwgMHgwZSwKLSAgICAweDBmLCAweDAwLCAweDQxLCAweDkwLCAweDlmLCAweGRlLCAweDA2LCAweDAwLAotICAgIDB4YzgsIDB4MDUsIDB4MzAsIDB4NTAsIDB4MDYsIDB4MDAsIDB4OWYsIDB4YzgsCi0gICAgMHg1YSwgMHgwOSwgMHgyNywgMHgwYywgMHgwMiwgMHgwMCwgMHhiMCwgMHgwNiwKLSAgICAweGMwLCAweDA5LCAweGIyLCAweDA2LCAweDI3LCAweDAwLCAweGI0LCAweDA2LAotICAgIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4YWUsIDB4MDYsIDB4MjcsIDB4MDAsCi0gICAgMHg4MCwgMHgwNiwgMHgwMCwgMHgxYywgMHgwNiwgMHgwMCwgMHgyNywgMHgwMCwKLSAgICAweGI2LCAweDA2LCAweDQxLCAweDkwLCAweDY3LCAweDUwLCAweGIwLCAweDA2LAotICAgIDB4MGQsIDB4YzAsIDB4NjcsIDB4MDAsIDB4N2UsIDB4MDYsIDB4MjcsIDB4MGMsCi0gICAgMHgwNiwgMHgwMCwgMHg4MiwgMHgwNiwgMHhlNywgMHgwNywgMHhiYywgMHgwOCwKLSAgICAweDg0LCAweDA2LCAweGM4LCAweDA3LCAweDdlLCAweDA2LCAweDQxLCAweDkwLAotICAgIDB4NTEsIDB4YWYsIDB4OTcsIDB4Y2YsIDB4OWYsIDB4YWYsIDB4NDgsIDB4MGMsCi0gICAgMHhlNywgMHgwOSwgMHhiNiwgMHgwNiwgMHhiNCwgMHgwNiwgMHhlNywgMHgwOSwKLSAgICAweGIwLCAweDA2LCAweGFlLCAweDA2LCAweDU5LCAweGFmLCAweDk3LCAweGNmLAotICAgIDB4MjcsIDB4MGMsIDB4MDIsIDB4MDAsIDB4YWMsIDB4MDYsIDB4NTksIDB4YWYsCi0gICAgMHg5NywgMHhjZiwgMHgwOSwgMHgwYywgMHgwMiwgMHgwMCwgMHgwOSwgMHhkYSwKLSAgICAweDQ5LCAweGQyLCAweGM5LCAweDE5LCAweGQ2LCAweDA2LCAweGM4LCAweDA3LAotICAgIDB4N2UsIDB4MDYsIDB4ZTAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4NjAsIDB4MDIsCi0gICAgMHhlMCwgMHgwNywgMHgwNCwgMHgwMCwgMHhkMCwgMHgwNywgMHhjYywgMHgwOCwKLSAgICAweDQ4LCAweGRiLCAweDQxLCAweDkwLCAweDUwLCAweGFmLCAweDk3LCAweGNmLAotICAgIDB4NTksIDB4YWYsIDB4OTcsIDB4Y2YsIDB4NTksIDB4YWYsIDB4OTcsIDB4Y2YsCi0gICAgMHhmMCwgMHg1NywgMHgwNiwgMHgwMCwgMHgwNiwgMHgwMCwgMHgyNSwgMHhjMSwKLSAgICAweGU3LCAweDA3LCAweDcwLCAweDA2LCAweDgwLCAweDA2LCAweDQxLCAweDkwLAotICAgIDB4NjcsIDB4MDAsIDB4N2UsIDB4MDYsIDB4MjcsIDB4MGMsIDB4MDYsIDB4MDAsCi0gICAgMHg4MiwgMHgwNiwgMHhlNywgMHgwNywgMHg4YywgMHgwOSwgMHg4NCwgMHgwNiwKLSAgICAweGM4LCAweDA3LCAweDdlLCAweDA2LCAweDQxLCAweDkwLCAweDUxLCAweGFmLAotICAgIDB4OTcsIDB4Y2YsIDB4MDcsIDB4MGMsIDB4MDYsIDB4MDAsIDB4YzcsIDB4NTcsCi0gICAgMHgwNiwgMHgwMCwgMHgwZiwgMHhjMSwgMHhjOCwgMHgwNywgMHg3MCwgMHgwNiwKLSAgICAweDE1LCAweGNmLCAweDAwLCAweDBjLCAweDAyLCAweDAwLCAweDAwLCAweGRhLAotICAgIDB4NDAsIDB4ZDEsIDB4MjcsIDB4MDAsIDB4YzIsIDB4MDYsIDB4MWUsIDB4Y2YsCi0gICAgMHgxZCwgMHhjZiwgMHgyNywgMHgwYywgMHgwMiwgMHgwMCwgMHhjYywgMHgwNiwKLSAgICAweDE5LCAweGNmLCAweDI3LCAweDAyLCAweDIwLCAweDAxLCAweGU3LCAweDA3LAotICAgIDB4MDgsIDB4MDAsIDB4MjIsIDB4MDEsIDB4ZTcsIDB4MDcsIDB4MTMsIDB4MDAsCi0gICAgMHhiMCwgMHhjMCwgMHg5NywgMHhjZiwgMHg0MSwgMHg5MCwgMHg2NywgMHgwMCwKLSAgICAweDdlLCAweDA2LCAweGU3LCAweDAxLCAweDgyLCAweDA2LCAweDI3LCAweDAyLAotICAgIDB4ODAsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4OGMsIDB4MDksIDB4ODQsIDB4MDYsCi0gICAgMHhjOCwgMHgwNywgMHg3ZSwgMHgwNiwgMHhjMSwgMHgwNywgMHgwMCwgMHg4MCwKLSAgICAweDUwLCAweGFmLCAweDk3LCAweGNmLCAweDU5LCAweGFmLCAweDk3LCAweGNmLAotICAgIDB4MDAsIDB4NjAsIDB4MDUsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHhjNCwgMHgwNiwgMHhhNywgMHhjZiwgMHg3YywgMHgwNiwgMHg5ZiwgMHhhZiwKLSAgICAweDAwLCAweDBhLCAweGU3LCAweDA3LCAweDAxLCAweDAwLCAweGM0LCAweDA2LAotICAgIDB4NDksIDB4YWYsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4MDcsIDB4YWYsCi0gICAgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHg0YSwgMHhhZiwgMHhhNywgMHhjZiwKLSAgICAweDdjLCAweDA2LCAweGMwLCAweDA3LCAweGZlLCAweDdmLCAweDQ0LCAweGFmLAotICAgIDB4NDAsIDB4MDAsIDB4YzAsIDB4MzcsIDB4MDAsIDB4MDEsIDB4NDEsIDB4OTAsCi0gICAgMHhjMCwgMHgzNywgMHgwOCwgMHgwMCwgMHhkZiwgMHhkZSwgMHg1MCwgMHgwNiwKLSAgICAweGMwLCAweDU3LCAweDEwLCAweDAwLCAweDAyLCAweGMyLCAweGMwLCAweDA3LAotICAgIDB4MTAsIDB4MDAsIDB4MjcsIDB4MDAsIDB4OWEsIDB4MDYsIDB4NDEsIDB4OTAsCi0gICAgMHg5ZiwgMHhkZSwgMHg0MCwgMHgwNiwgMHg0NCwgMHhhZiwgMHgyNywgMHgwMCwKLSAgICAweDljLCAweDA2LCAweGMwLCAweDA5LCAweDlhLCAweDA2LCAweDQxLCAweDkwLAotICAgIDB4MDAsIDB4ZDIsIDB4MDAsIDB4ZDgsIDB4OWYsIDB4ZGUsIDB4MDgsIDB4MDAsCi0gICAgMHg0NCwgMHhhZiwgMHgyNywgMHgwMCwgMHhjOCwgMHgwNiwgMHg5NywgMHhjZiwKLSAgICAweGU3LCAweDg3LCAweDAwLCAweDg0LCAweDI4LCAweGMwLCAweGU3LCAweDY3LAotICAgIDB4ZmYsIDB4ZmIsIDB4MjQsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4ODcsCi0gICAgMHgwMSwgMHgwMCwgMHhkMiwgMHgwNiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGE4LCAweDA2LCAweDk3LCAweGMxLCAweDlmLCAweGFmLCAweDAwLCAweDBhLAotICAgIDB4ZTcsIDB4ODcsIDB4MDAsIDB4MDYsIDB4MjIsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHg5MCwgMHhjMCwgMHhlNywgMHg2NywgMHhmZSwgMHhmZiwKLSAgICAweDNlLCAweGMwLCAweGU3LCAweDA3LCAweDI2LCAweDAwLCAweDBhLCAweGMwLAotICAgIDB4ZTcsIDB4ODcsIDB4MDEsIDB4MDAsIDB4M2UsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHhmZiwgMHhmZiwgMHhiZSwgMHgwNiwgMHg5ZiwgMHhhZiwgMHgxMCwgMHgwYiwKLSAgICAweDk3LCAweGNmLCAweDE3LCAweDAwLCAweGE3LCAweGFmLCAweDc4LCAweDA2LAotICAgIDB4YzAsIDB4MDUsIDB4MjcsIDB4MDAsIDB4NzYsIDB4MDYsIDB4ZTcsIDB4ODcsCi0gICAgMHgwMSwgMHgwMCwgMHhkMiwgMHgwNiwgMHg5ZiwgMHhhZiwgMHgwMCwgMHgwYSwKLSAgICAweGU3LCAweDA3LCAweDBjLCAweDAwLCAweDQwLCAweGMwLCAweDlmLCAweGFmLAotICAgIDB4MTAsIDB4MGIsIDB4MDAsIDB4OTAsIDB4MjcsIDB4MDAsIDB4YTYsIDB4MDYsCi0gICAgMHgyNywgMHgwMCwgMHhhYSwgMHgwNiwgMHhlNywgMHgwOSwgMHhiMiwgMHgwNiwKLSAgICAweGI0LCAweDA2LCAweDI3LCAweDAwLCAweGFlLCAweDA2LCAweDI3LCAweDAwLAotICAgIDB4YWMsIDB4MDYsIDB4OWYsIDB4YWYsIDB4YWUsIDB4MGEsIDB4YzAsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHgyNywgMHgwMCwgMHhiMiwgMHgwMiwgMHgyNywgMHgwMCwKLSAgICAweGI0LCAweDAyLCAweDI3LCAweDAwLCAweDhlLCAweDA2LCAweGMwLCAweDA3LAotICAgIDB4MDYsIDB4MDAsIDB4YzgsIDB4MDksIDB4ZGUsIDB4MDAsIDB4YzgsIDB4MTcsCi0gICAgMHgwMywgMHgwMCwgMHhjOSwgMHgwNywgMHg3MCwgMHgwNiwgMHgyOSwgMHgwYSwKLSAgICAweDAwLCAweGRhLCAweDdkLCAweGMxLCAweDk3LCAweGNmLCAweGQ3LCAweDA5LAotICAgIDB4MDAsIDB4YzAsIDB4YzEsIDB4ZGYsIDB4MDAsIDB4OTAsIDB4MjcsIDB4MDAsCi0gICAgMHg5NiwgMHgwNiwgMHhlNywgMHgwNywgMHg5NiwgMHgwNiwgMHg5OCwgMHgwNiwKLSAgICAweDI3LCAweDAwLCAweGEwLCAweDA2LCAweGU3LCAweDA3LCAweGEwLCAweDA2LAotICAgIDB4YTIsIDB4MDYsIDB4MjcsIDB4MDAsIDB4YTYsIDB4MDYsIDB4MjcsIDB4MDAsCi0gICAgMHg5MCwgMHgwNiwgMHgyNywgMHgwMCwgMHg5ZSwgMHgwNiwgMHhjOCwgMHgwOSwKLSAgICAweDljLCAweDA2LCAweGMxLCAweDA5LCAweDlhLCAweDA2LCAweGM5LCAweDA3LAotICAgIDB4YTQsIDB4MDYsIDB4MTEsIDB4MDIsIDB4MDksIDB4MDIsIDB4YzgsIDB4MTcsCi0gICAgMHg0MCwgMHgwNiwgMHgwMSwgMHhkYSwgMHg3YSwgMHhjMSwgMHg1MSwgMHg5NCwKLSAgICAweGM4LCAweDA5LCAweGM4LCAweDA2LCAweGM5LCAweDA3LCAweGM2LCAweDA2LAotICAgIDB4YzEsIDB4MDksIDB4OWEsIDB4MDYsIDB4MTEsIDB4MDIsIDB4MDksIDB4MDIsCi0gICAgMHhjOCwgMHgxNywgMHgwOCwgMHgwMCwgMHgwMSwgMHhkYSwgMHg3YSwgMHhjMSwKLSAgICAweDUxLCAweDk0LCAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweDk3LCAweGNmLAotICAgIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4NzYsIDB4MDYsIDB4OTcsIDB4YzAsCi0gICAgMHg5ZiwgMHhhZiwgMHgwNCwgMHgwMCwgMHhlNywgMHgwOSwgMHhiZSwgMHgwNiwKLSAgICAweGJhLCAweDA2LCAweGU3LCAweDU3LCAweGZmLCAweGZmLCAweGJhLCAweDA2LAotICAgIDB4MDQsIDB4YzEsIDB4ZTcsIDB4MDcsIDB4MTAsIDB4MGIsIDB4YjgsIDB4MDYsCi0gICAgMHg5NywgMHhjZiwgMHhlNywgMHgxNywgMHgzMiwgMHgwMCwgMHhiYSwgMHgwNiwKLSAgICAweGU3LCAweDY3LCAweGZmLCAweDA3LCAweGJhLCAweDA2LCAweGU3LCAweDA3LAotICAgIDB4NDYsIDB4MGIsIDB4YjgsIDB4MDYsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4NTcsCi0gICAgMHgwMCwgMHgwMCwgMHhjMCwgMHgwNiwgMHgyMywgMHhjMCwgMHhlNywgMHgwNywKLSAgICAweDA0LCAweDAwLCAweDkwLCAweGMwLCAweGU3LCAweDA3LCAweDAwLCAweDgwLAotICAgIDB4ODAsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4ODAsIDB4YzAsCi0gICAgMHhlNywgMHgwNywgMHgwMCwgMHg4MCwgMHg4MCwgMHhjMCwgMHhjMCwgMHgwNywKLSAgICAweDAwLCAweDAwLCAweGMwLCAweDA3LCAweDAwLCAweDAwLCAweGMwLCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4ODAsIDB4YzAsCi0gICAgMHhlNywgMHgwNywgMHgwMCwgMHg4MCwgMHg4MCwgMHhjMCwgMHhlNywgMHgwNywKLSAgICAweDAwLCAweDgwLCAweDQwLCAweGMwLCAweGMwLCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4NDAsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHg4MCwgMHhjMCwgMHhlNywgMHgwNywgMHgwNCwgMHgwMCwKLSAgICAweDkwLCAweGMwLCAweGU3LCAweDA3LCAweDAwLCAweDAyLCAweDQwLCAweGMwLAotICAgIDB4ZTcsIDB4MDcsIDB4MGMsIDB4MDIsIDB4NDAsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHhjMCwgMHgwNiwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweGI4LCAweDA2LCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweGQyLCAweDA2LAotICAgIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4YzEsIDB4ZGYsIDB4OWYsIDB4YWYsCi0gICAgMHgzNCwgMHgwMiwgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHg5ZiwgMHhhZiwKLSAgICAweGM0LCAweDAxLCAweDk3LCAweGNmLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLAotICAgIDB4MTcsIDB4MDAsIDB4MTcsIDB4MDIsIDB4OTcsIDB4MDIsIDB4ZTcsIDB4NTcsCi0gICAgMHgwMCwgMHgwMCwgMHhhOCwgMHgwNiwgMHgwNiwgMHhjMCwgMHhjMCwgMHgwOSwKLSAgICAweDkyLCAweGMwLCAweGMwLCAweDc3LCAweDA5LCAweDAyLCAweDlmLCAweGMxLAotICAgIDB4NWMsIDB4MDUsIDB4OWYsIDB4Y2YsIDB4MzIsIDB4MDYsIDB4ZDcsIDB4MDksCi0gICAgMHgwZSwgMHhjMCwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHgwZSwgMHhjMCwKLSAgICAweDlmLCAweGFmLCAweDAyLCAweDBjLCAweGU3LCAweDA1LCAweDBlLCAweGMwLAotICAgIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4MTcsIDB4MDIsCi0gICAgMHhjOCwgMHgwOSwgMHhiMCwgMHhjMCwgMHhlNywgMHg2NywgMHhmZSwgMHg3ZiwKLSAgICAweGIwLCAweGMwLCAweGM4LCAweDc3LCAweDAwLCAweDIwLCAweDlmLCAweGMxLAotICAgIDB4NjQsIDB4ZWIsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4YzgsIDB4MDIsCi0gICAgMHg5ZiwgMHhjMSwgMHg4MCwgMHhlYiwgMHhjOCwgMHg5OSwgMHhjYSwgMHgwMiwKLSAgICAweGM4LCAweDY3LCAweDA0LCAweDAwLCAweDlmLCAweGMxLCAweDk2LCAweGViLAotICAgIDB4OWYsIDB4Y2YsIDB4NGMsIDB4ZWIsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHhhNiwgMHhjMCwgMHhlNywgMHgwOSwgMHhiMCwgMHhjMCwgMHhjOCwgMHgwMiwKLSAgICAweGU3LCAweDA3LCAweDAzLCAweDAwLCAweGIwLCAweGMwLCAweDk3LCAweGNmLAotICAgIDB4YzAsIDB4MDksIDB4YjAsIDB4MDYsIDB4YzAsIDB4MzcsIDB4MDEsIDB4MDAsCi0gICAgMHg5NywgMHhjOSwgMHhjOSwgMHgwOSwgMHhiMiwgMHgwNiwgMHgwMiwgMHgwMCwKLSAgICAweDQxLCAweDkwLCAweDQ4LCAweDAyLCAweGM5LCAweDE3LCAweDA2LCAweDAwLAotICAgIDB4OWYsIDB4YWYsIDB4MDgsIDB4MDQsIDB4OWYsIDB4YTIsIDB4NzIsIDB4MGMsCi0gICAgMHgwMiwgMHhkYSwgMHg3NywgMHhjMSwgMHg0MSwgMHg2MCwgMHg3MSwgMHhjMSwKLSAgICAweDk3LCAweGNmLCAweDE3LCAweDAyLCAweDU3LCAweDAyLCAweDQzLCAweDA0LAotICAgIDB4MjEsIDB4MDQsIDB4ZTAsIDB4MDAsIDB4NDMsIDB4MDQsIDB4MjEsIDB4MDQsCi0gICAgMHhlMCwgMHgwMCwgMHg0MywgMHgwNCwgMHgyMSwgMHgwNCwgMHhlMCwgMHgwMCwKLSAgICAweGMxLCAweDA3LCAweDAxLCAweDAwLCAweGM5LCAweDA1LCAweGM4LCAweDA1LAotICAgIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4MDcsIDB4MDEsIDB4MDAsIDB4OGUsIDB4MDYsCi0gICAgMHhjOCwgMHgwNywgMHg4NiwgMHgwNiwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweDg2LCAweDA2LCAweGU3LCAweDA3LCAweDEwLCAweDA4LCAweDg4LCAweDA2LAotICAgIDB4ZTcsIDB4MDcsIDB4MDQsIDB4MDAsIDB4OGEsIDB4MDYsIDB4ZTcsIDB4MDcsCi0gICAgMHhiYywgMHgwYywgMHg4YywgMHgwNiwgMHhjMSwgMHgwNywgMHgwMywgMHg4MCwKLSAgICAweDUwLCAweGFmLCAweDk3LCAweGNmLCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4OGUsIDB4MDYsIDB4OTcsIDB4Y2YsCi0gICAgMHgwMCwgMHgwMAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICAgICBrYXdldGhfbmV3X2NvZGVfZml4Ci0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBfX3U4IGthd2V0aF9uZXdfY29kZV9maXhbXSA9IAotewotICAgIDB4QjYsIDB4QzMsIDB4QUEsIDB4QkIsIDB4Q0MsIDB4REQsCi0gICAgMHgwMiwgMHgwMCwgMHgwOCwgMHgwMCwgMHgyOCwgMHgwMCwgMHgyYywgMHgwMCwKLSAgICAweDM0LCAweDAwLCAweDNjLCAweDAwLCAweDQwLCAweDAwLCAweDQ4LCAweDAwLAotICAgIDB4NTQsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NWUsIDB4MDAsIDB4NjQsIDB4MDAsCi0gICAgMHg2OCwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2YywgMHgwMCwgMHg3MiwgMHgwMCwKLSAgICAweDc2LCAweDAwLCAweDdjLCAweDAwLCAweDgwLCAweDAwLCAweDg2LCAweDAwLAotICAgIDB4OGEsIDB4MDAsIDB4OTAsIDB4MDAsIDB4OTQsIDB4MDAsIDB4OTgsIDB4MDAsCi0gICAgMHg5ZSwgMHgwMCwgMHhhNiwgMHgwMCwgMHhhYSwgMHgwMCwgMHhiMCwgMHgwMCwKLSAgICAweGI0LCAweDAwLCAweGI4LCAweDAwLCAweGMwLCAweDAwLCAweGM2LCAweDAwLAotICAgIDB4Y2EsIDB4MDAsIDB4ZDAsIDB4MDAsIDB4ZDQsIDB4MDAsIDB4ZDgsIDB4MDAsCi0gICAgMHhlMCwgMHgwMCwgMHhkZSwgMHgwMCwgMHhlOCwgMHgwMCwgMHhmMCwgMHgwMCwKLSAgICAweGZjLCAweDAwLCAweDA0LCAweDAxLCAweDBhLCAweDAxLCAweDE4LCAweDAxLAotICAgIDB4MjIsIDB4MDEsIDB4MjgsIDB4MDEsIDB4M2EsIDB4MDEsIDB4M2UsIDB4MDEsCi0gICAgMHg3ZSwgMHgwMSwgMHg5OCwgMHgwMSwgMHg5YywgMHgwMSwgMHhhMiwgMHgwMSwKLSAgICAweGFjLCAweDAxLCAweGIyLCAweDAxLCAweGJhLCAweDAxLCAweGMwLCAweDAxLAotICAgIDB4YzgsIDB4MDEsIDB4ZDAsIDB4MDEsIDB4ZDYsIDB4MDEsIDB4ZjQsIDB4MDEsCi0gICAgMHhmYywgMHgwMSwgMHgwOCwgMHgwMiwgMHgxNiwgMHgwMiwgMHgxYSwgMHgwMiwKLSAgICAweDIyLCAweDAyLCAweDJhLCAweDAyLCAweDJlLCAweDAyLCAweDNlLCAweDAyLAotICAgIDB4NDQsIDB4MDIsIDB4NGEsIDB4MDIsIDB4NTAsIDB4MDIsIDB4NjQsIDB4MDIsCi0gICAgMHg2MiwgMHgwMiwgMHg2YywgMHgwMiwgMHg3MiwgMHgwMiwgMHg4NiwgMHgwMiwKLSAgICAweDhjLCAweDAyLCAweDkwLCAweDAyLCAweDllLCAweDAyLCAweGJjLCAweDAyLAotICAgIDB4ZDAsIDB4MDIsIDB4ZDgsIDB4MDIsIDB4ZGMsIDB4MDIsIDB4ZTAsIDB4MDIsCi0gICAgMHhlOCwgMHgwMiwgMHhlNiwgMHgwMiwgMHhmNCwgMHgwMiwgMHhmZSwgMHgwMiwKLSAgICAweDA0LCAweDAzLCAweDBjLCAweDAzLCAweDI4LCAweDAzLCAweDdjLCAweDAzLAotICAgIDB4OTAsIDB4MDMsIDB4OTQsIDB4MDMsIDB4OWMsIDB4MDMsIDB4YTIsIDB4MDMsCi0gICAgMHhjMCwgMHgwMywgMHhkMCwgMHgwMywgMHhkNCwgMHgwMywgMHhlZSwgMHgwMywKLSAgICAweGZhLCAweDAzLCAweGZlLCAweDAzLCAweDJlLCAweDA0LCAweDMyLCAweDA0LAotICAgIDB4M2MsIDB4MDQsIDB4NDAsIDB4MDQsIDB4NGUsIDB4MDQsIDB4NzYsIDB4MDQsCi0gICAgMHg3YywgMHgwNCwgMHg4NCwgMHgwNCwgMHg4YSwgMHgwNCwgMHg4ZSwgMHgwNCwKLSAgICAweGE2LCAweDA0LCAweGIwLCAweDA0LCAweGI4LCAweDA0LCAweGJlLCAweDA0LAotICAgIDB4ZDIsIDB4MDQsIDB4ZGMsIDB4MDQsIDB4ZWUsIDB4MDQsIDB4MTAsIDB4MDUsCi0gICAgMHgxYSwgMHgwNSwgMHgyNCwgMHgwNSwgMHgyYSwgMHgwNSwgMHgzNiwgMHgwNSwKLSAgICAweDM0LCAweDA1LCAweDNjLCAweDA1LCAweDQyLCAweDA1LCAweDY0LCAweDA1LAotICAgIDB4NmEsIDB4MDUsIDB4NmUsIDB4MDUsIDB4ODYsIDB4MDUsIDB4MjIsIDB4MDYsCi0gICAgMHgyNiwgMHgwNiwgMHgyYywgMHgwNiwgMHgzMCwgMHgwNiwgMHg0MiwgMHgwNiwKLSAgICAweDRhLCAweDA2LCAweDRlLCAweDA2LCAweDU2LCAweDA2LCAweDU0LCAweDA2LAotICAgIDB4NWEsIDB4MDYsIDB4NjAsIDB4MDYsIDB4NjYsIDB4MDYsIDB4ZTgsIDB4MDYsCi0gICAgMHhlZSwgMHgwNiwgMHhmNCwgMHgwNiwgMHgxNiwgMHgwNywgMHgyNiwgMHgwNywKLSAgICAweDJjLCAweDA3LCAweDMyLCAweDA3LCAweDM2LCAweDA3LCAweDNhLCAweDA3LAotICAgIDB4M2UsIDB4MDcsIDB4NTIsIDB4MDcsIDB4NTYsIDB4MDcsIDB4NWEsIDB4MDcsCi0gICAgMHg2NCwgMHgwNywgMHg3NiwgMHgwNywgMHg3YSwgMHgwNywgMHg4MCwgMHgwNywKLSAgICAweDg0LCAweDA3LCAweDhhLCAweDA3LCAweDllLCAweDA3LCAweGEyLCAweDA3LAotICAgIDB4ZGEsIDB4MDcsIDB4ZGUsIDB4MDcsIDB4ZTIsIDB4MDcsIDB4ZTYsIDB4MDcsCi0gICAgMHhlYSwgMHgwNywgMHhlZSwgMHgwNywgMHhmMiwgMHgwNywgMHhmNiwgMHgwNywKLSAgICAweDBlLCAweDA4LCAweDE2LCAweDA4LCAweDE4LCAweDA4LCAweDFhLCAweDA4LAotICAgIDB4MWMsIDB4MDgsIDB4MWUsIDB4MDgsIDB4MjAsIDB4MDgsIDB4MjIsIDB4MDgsCi0gICAgMHgyNCwgMHgwOCwgMHgyNiwgMHgwOCwgMHgyOCwgMHgwOCwgMHgyYSwgMHgwOCwKLSAgICAweDJjLCAweDA4LCAweDJlLCAweDA4LCAweDMyLCAweDA4LCAweDNhLCAweDA4LAotICAgIDB4NDYsIDB4MDgsIDB4NGUsIDB4MDgsIDB4NTQsIDB4MDgsIDB4NWUsIDB4MDgsCi0gICAgMHg3OCwgMHgwOCwgMHg3ZSwgMHgwOCwgMHg4MiwgMHgwOCwgMHg4NiwgMHgwOCwKLSAgICAweDhjLCAweDA4LCAweDkwLCAweDA4LCAweDk4LCAweDA4LCAweDllLCAweDA4LAotICAgIDB4YTQsIDB4MDgsIDB4YWEsIDB4MDgsIDB4YjAsIDB4MDgsIDB4YWUsIDB4MDgsCi0gICAgMHhiNCwgMHgwOCwgMHhiZSwgMHgwOCwgMHhjNCwgMHgwOCwgMHhjMiwgMHgwOCwKLSAgICAweGNhLCAweDA4LCAweGM4LCAweDA4LCAweGQ0LCAweDA4LCAweGU0LCAweDA4LAotICAgIDB4ZTgsIDB4MDgsIDB4ZjYsIDB4MDgsIDB4MTQsIDB4MDksIDB4MTIsIDB4MDksCi0gICAgMHgxYSwgMHgwOSwgMHgyMCwgMHgwOSwgMHgyNiwgMHgwOSwgMHgyNCwgMHgwOSwKLSAgICAweDJhLCAweDA5LCAweDNlLCAweDA5LCAweDRjLCAweDA5LCAweDU2LCAweDA5LAotICAgIDB4NzAsIDB4MDksIDB4NzQsIDB4MDksIDB4NzgsIDB4MDksIDB4N2UsIDB4MDksCi0gICAgMHg3YywgMHgwOSwgMHg4MiwgMHgwOSwgMHg5OCwgMHgwOSwgMHg5YywgMHgwOSwKLSAgICAweGEwLCAweDA5LCAweGE2LCAweDA5LCAweGI4LCAweDA5LCAweGRjLCAweDA5LAotICAgIDB4ZTgsIDB4MDksIDB4ZWMsIDB4MDksIDB4ZmMsIDB4MDksIDB4MTIsIDB4MGEsCi0gICAgMHgxOCwgMHgwYSwgMHgxZSwgMHgwYSwgMHg0MiwgMHgwYSwgMHg0NiwgMHgwYSwKLSAgICAweDRlLCAweDBhLCAweDU0LCAweDBhLCAweDVhLCAweDBhLCAweDVlLCAweDBhLAotICAgIDB4NjgsIDB4MGEsIDB4NmUsIDB4MGEsIDB4NzIsIDB4MGEsIDB4NzgsIDB4MGEsCi0gICAgMHg3NiwgMHgwYSwgMHg3YywgMHgwYSwgMHg4MCwgMHgwYSwgMHg4NCwgMHgwYSwKLSAgICAweDk0LCAweDBhLCAweGE0LCAweDBhLCAweGI4LCAweDBhLCAweGJlLCAweDBhLAotICAgIDB4YmMsIDB4MGEsIDB4YzIsIDB4MGEsIDB4YzgsIDB4MGEsIDB4YzYsIDB4MGEsCi0gICAgMHhjYywgMHgwYSwgMHhkMCwgMHgwYSwgMHhkNCwgMHgwYSwgMHhkOCwgMHgwYSwKLSAgICAweGRjLCAweDBhLCAweGUwLCAweDBhLCAweGYyLCAweDBhLCAweGY2LCAweDBhLAotICAgIDB4ZmEsIDB4MGEsIDB4MTQsIDB4MGIsIDB4MWEsIDB4MGIsIDB4MjAsIDB4MGIsCi0gICAgMHgxZSwgMHgwYiwgMHgyNiwgMHgwYiwgMHgyZSwgMHgwYiwgMHgyYywgMHgwYiwKLSAgICAweDM2LCAweDBiLCAweDNjLCAweDBiLCAweDQyLCAweDBiLCAweDQwLCAweDBiLAotICAgIDB4NGEsIDB4MGIsIDB4YWEsIDB4MGIsIDB4YjAsIDB4MGIsIDB4YjYsIDB4MGIsCi0gICAgMHhjMCwgMHgwYiwgMHhjOCwgMHgwYiwgMHhkYSwgMHgwYiwgMHhlOCwgMHgwYiwKLSAgICAweGVjLCAweDBiLCAweGZhLCAweDBiLCAweDRhLCAweDBjLCAweDU0LCAweDBjLAotICAgIDB4NjIsIDB4MGMsIDB4NjYsIDB4MGMsIDB4OTYsIDB4MGMsIDB4OWEsIDB4MGMsCi0gICAgMHhhMCwgMHgwYywgMHhhNiwgMHgwYywgMHhhNCwgMHgwYywgMHhhYywgMHgwYywKLSAgICAweGIyLCAweDBjLCAweGIwLCAweDBjLCAweGMwLCAweDBjLAotICAgIDB4MDAsIDB4MDAKLX07Ci0KLQotc3RhdGljIGNvbnN0IGludCBsZW5fa2F3ZXRoX3RyaWdnZXJfY29kZSA9IHNpemVvZihrYXdldGhfdHJpZ2dlcl9jb2RlKTsKLXN0YXRpYyBjb25zdCBpbnQgbGVuX2thd2V0aF90cmlnZ2VyX2NvZGVfZml4ID0gc2l6ZW9mKGthd2V0aF90cmlnZ2VyX2NvZGVfZml4KTsKLXN0YXRpYyBjb25zdCBpbnQgbGVuX2thd2V0aF9uZXdfY29kZSA9IHNpemVvZihrYXdldGhfbmV3X2NvZGUpOwotc3RhdGljIGNvbnN0IGludCBsZW5fa2F3ZXRoX25ld19jb2RlX2ZpeCA9IHNpemVvZihrYXdldGhfbmV3X2NvZGVfZml4KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dhbi9jb3NhLmMgYi9kcml2ZXJzL25ldC93YW4vY29zYS5jCmluZGV4IGIwZmNlMTMuLjU4MjczMjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dhbi9jb3NhLmMKKysrIGIvZHJpdmVycy9uZXQvd2FuL2Nvc2EuYwpAQCAtOTIsNiArOTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjdW5kZWYgQ09TQV9TTE9XX0lPCS8qIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgKi8KIApAQCAtOTcwLDE1ICs5NzEsMjEgQEAKIAlzdHJ1Y3QgY2hhbm5lbF9kYXRhICpjaGFuOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IG47CisJaW50IHJldCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWlmICgobj1pbWlub3IoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk+PkNBUkRfTUlOT1JfQklUUykKLQkJPj0gbnJfY2FyZHMpCi0JCXJldHVybiAtRU5PREVWOworCQk+PSBucl9jYXJkcykgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAJY29zYSA9IGNvc2FfY2FyZHMrbjsKIAogCWlmICgobj1pbWlub3IoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSkKLQkJJiAoKDE8PENBUkRfTUlOT1JfQklUUyktMSkpID49IGNvc2EtPm5jaGFubmVscykKLQkJcmV0dXJuIC1FTk9ERVY7CisJCSYgKCgxPDxDQVJEX01JTk9SX0JJVFMpLTEpKSA+PSBjb3NhLT5uY2hhbm5lbHMpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCWNoYW4gPSBjb3NhLT5jaGFuICsgbjsKIAkKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBjaGFuOwpAQCAtOTg3LDcgKzk5NCw4IEBACiAKIAlpZiAoY2hhbi0+dXNhZ2UgPCAwKSB7IC8qIGluIG5ldGRldiBtb2RlICovCiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvc2EtPmxvY2ssIGZsYWdzKTsKLQkJcmV0dXJuIC1FQlVTWTsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dDsKIAl9CiAJY29zYS0+dXNhZ2UrKzsKIAljaGFuLT51c2FnZSsrOwpAQCAtOTk2LDcgKzEwMDQsOSBAQAogCWNoYW4tPnNldHVwX3J4ID0gY2hyZGV2X3NldHVwX3J4OwogCWNoYW4tPnJ4X2RvbmUgPSBjaHJkZXZfcnhfZG9uZTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb3NhLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgY29zYV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRtZWwuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0bWVsLmMKaW5kZXggNDM4ZTYzZS4uZDFhY2VmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRtZWwuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9hdG1lbC5jCkBAIC01NjAsNyArNTYwLDcgQEAKIHN0YXRpYyB2b2lkIGJ1aWxkX3dwYV9taWIoc3RydWN0IGF0bWVsX3ByaXZhdGUgKnByaXYpOwogc3RhdGljIGludCBhdG1lbF9pb2N0bChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWZyZXEgKnJxLCBpbnQgY21kKTsKIHN0YXRpYyB2b2lkIGF0bWVsX2NvcHlfdG9fY2FyZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgZGVzdCwKLQkJCSAgICAgICB1bnNpZ25lZCBjaGFyICpzcmMsIHUxNiBsZW4pOworCQkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNyYywgdTE2IGxlbik7CiBzdGF0aWMgdm9pZCBhdG1lbF9jb3B5X3RvX2hvc3Qoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdW5zaWduZWQgY2hhciAqZGVzdCwKIAkJCSAgICAgICB1MTYgc3JjLCB1MTYgbGVuKTsKIHN0YXRpYyB2b2lkIGF0bWVsX3NldF9nY3Ioc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IG1hc2spOwpAQCAtMzg1Myw3ICszODUzLDcgQEAKIAlpZiAocHJpdi0+Y2FyZF90eXBlID09IENBUkRfVFlQRV9FRVBST00pIHsKIAkJLyogY29weSBpbiBmaXJtd2FyZSBpZiBuZWVkZWQgKi8KIAkJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmd19lbnRyeSA9IE5VTEw7Ci0JCXVuc2lnbmVkIGNoYXIgKmZ3OworCQljb25zdCB1bnNpZ25lZCBjaGFyICpmdzsKIAkJaW50IGxlbiA9IHByaXYtPmZpcm13YXJlX2xlbmd0aDsKIAkJaWYgKCEoZncgPSBwcml2LT5maXJtd2FyZSkpIHsKIAkJCWlmIChwcml2LT5maXJtd2FyZV90eXBlID09IEFUTUVMX0ZXX1RZUEVfTk9ORSkgewpAQCAtNDEyMCw3ICs0MTIwLDcgQEAKIH0KIAogc3RhdGljIHZvaWQgYXRtZWxfY29weV90b19jYXJkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBkZXN0LAotCQkJICAgICAgIHVuc2lnbmVkIGNoYXIgKnNyYywgdTE2IGxlbikKKwkJCSAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzcmMsIHUxNiBsZW4pCiB7CiAJaW50IGk7CiAJYXRtZWxfd3JpdGVBUihkZXYsIGRlc3QpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaG9zdGFwL2hvc3RhcF9jcy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaG9zdGFwL2hvc3RhcF9jcy5jCmluZGV4IDgwMDM5YTAuLjNiNGU1NWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2hvc3RhcC9ob3N0YXBfY3MuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ob3N0YXAvaG9zdGFwX2NzLmMKQEAgLTc3Nyw4ICs3NzcsMTAgQEAKIAlpbnQgZGV2X29wZW4gPSAwOwogCXN0cnVjdCBob3N0YXBfaW50ZXJmYWNlICppZmFjZSA9IE5VTEw7CiAKLQlpZiAoZGV2KQotCQlpZmFjZSA9IG5ldGRldl9wcml2KGRldik7CisJaWYgKCFkZXYpCisJCXJldHVybiAtRU5PREVWOworCisJaWZhY2UgPSBuZXRkZXZfcHJpdihkZXYpOwogCiAJUERFQlVHKERFQlVHX0VYVFJBLCAiJXM6IENTX0VWRU5UX1BNX1NVU1BFTkRcbiIsIGRldl9pbmZvKTsKIAlpZiAoaWZhY2UgJiYgaWZhY2UtPmxvY2FsKQpAQCAtNzk4LDggKzgwMCwxMCBAQAogCWludCBkZXZfb3BlbiA9IDA7CiAJc3RydWN0IGhvc3RhcF9pbnRlcmZhY2UgKmlmYWNlID0gTlVMTDsKIAotCWlmIChkZXYpCi0JCWlmYWNlID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlpZiAoIWRldikKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlpZmFjZSA9IG5ldGRldl9wcml2KGRldik7CiAKIAlQREVCVUcoREVCVUdfRVhUUkEsICIlczogQ1NfRVZFTlRfUE1fUkVTVU1FXG4iLCBkZXZfaW5mbyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2l3bHdpZmkvaXdsLTM5NDUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2l3bHdpZmkvaXdsLTM5NDUuYwppbmRleCBmNTM4N2E3Li41NWFjODUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pd2x3aWZpL2l3bC0zOTQ1LmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaXdsd2lmaS9pd2wtMzk0NS5jCkBAIC00NDksNyArNDQ5LDcgQEAKIAogCWlmIChwcmludF9zdW1tYXJ5KSB7CiAJCWNoYXIgKnRpdGxlOwotCQl1MzIgcmF0ZTsKKwkJaW50IHJhdGU7CiAKIAkJaWYgKGh1bmRyZWQpCiAJCQl0aXRsZSA9ICIxMDBGcmFtZXMiOwpAQCAtNDg3LDcgKzQ4Nyw3IEBACiAJCSAqICAgIGJ1dCB5b3UgY2FuIGhhY2sgaXQgdG8gc2hvdyBtb3JlLCBpZiB5b3UnZCBsaWtlIHRvLiAqLwogCQlpZiAoZGF0YWZyYW1lKQogCQkJSVdMX0RFQlVHX1JYKCIlczogbWhkPTB4JTA0eCwgZHN0PTB4JTAyeCwgIgotCQkJCSAgICAgImxlbj0ldSwgcnNzaT0lZCwgY2hubD0lZCwgcmF0ZT0ldSwgXG4iLAorCQkJCSAgICAgImxlbj0ldSwgcnNzaT0lZCwgY2hubD0lZCwgcmF0ZT0lZCwgXG4iLAogCQkJCSAgICAgdGl0bGUsIGZjLCBoZWFkZXItPmFkZHIxWzVdLAogCQkJCSAgICAgbGVuZ3RoLCByc3NpLCBjaGFubmVsLCByYXRlKTsKIAkJZWxzZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9jcy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfY3MuYwppbmRleCA1NDI4MGUyLi5kMDc1YjQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9jcy5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX2NzLmMKQEAgLTEyMiw3ICsxMjIsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIGlmX2NzX3dyaXRlMTZfcmVwKAogCXN0cnVjdCBpZl9jc19jYXJkICpjYXJkLAogCXVpbnQgcmVnLAotCXZvaWQgKmJ1ZiwKKwljb25zdCB2b2lkICpidWYsCiAJdW5zaWduZWQgbG9uZyBjb3VudCkKIHsKIAlpZiAoZGVidWdfb3V0cHV0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfc2Rpby5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfc2Rpby5jCmluZGV4IDUxZjY2NGIuLjNkZDUzN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3NkaW8uYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9zZGlvLmMKQEAgLTM5Miw3ICszOTIsNyBAQAogCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKIAl1OCAqY2h1bmtfYnVmZmVyOwogCXUzMiBjaHVua19zaXplOwotCXU4ICpmaXJtd2FyZTsKKwljb25zdCB1OCAqZmlybXdhcmU7CiAJc2l6ZV90IHNpemU7CiAKIAlsYnNfZGViX2VudGVyKExCU19ERUJfU0RJTyk7CkBAIC01MDgsNyArNTA4LDcgQEAKIAl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CiAJdTggKmNodW5rX2J1ZmZlcjsKIAl1MzIgY2h1bmtfc2l6ZTsKLQl1OCAqZmlybXdhcmU7CisJY29uc3QgdTggKmZpcm13YXJlOwogCXNpemVfdCBzaXplLCByZXFfc2l6ZTsKIAogCWxic19kZWJfZW50ZXIoTEJTX0RFQl9TRElPKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfdXNiLmMKaW5kZXggMzYyODhiMi4uNGRjZDQwOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfdXNiLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfdXNiLmMKQEAgLTI5Myw3ICsyOTMsNyBAQAogc3RhdGljIGludCBpZl91c2Jfc2VuZF9md19wa3Qoc3RydWN0IGlmX3VzYl9jYXJkICpjYXJkcCkKIHsKIAlzdHJ1Y3QgZndkYXRhICpmd2RhdGEgPSBjYXJkcC0+ZXBfb3V0X2J1ZjsKLQl1aW50OF90ICpmaXJtd2FyZSA9IGNhcmRwLT5mdy0+ZGF0YTsKKwljb25zdCB1aW50OF90ICpmaXJtd2FyZSA9IGNhcmRwLT5mdy0+ZGF0YTsKIAogCS8qIElmIHdlIGdvdCBhIENSQyBmYWlsdXJlIG9uIHRoZSBsYXN0IGJsb2NrLCBiYWNrCiAJICAgdXAgYW5kIHJldHJ5IGl0ICovCkBAIC03NDYsNyArNzQ2LDcgQEAKICAqICAgICAgICAgbGVuICAgICAgICAgICAgICAgaW1hZ2UgbGVuZ3RoCiAgKiAgQHJldHVybiAgICAgMCBvciAtMQogICovCi1zdGF0aWMgaW50IGNoZWNrX2Z3ZmlsZV9mb3JtYXQodWludDhfdCAqZGF0YSwgdWludDMyX3QgdG90bGVuKQorc3RhdGljIGludCBjaGVja19md2ZpbGVfZm9ybWF0KGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IHRvdGxlbikKIHsKIAl1aW50MzJfdCBiaW5jbWQsIGV4aXQ7CiAJdWludDMyX3QgYmxrc2l6ZSwgb2Zmc2V0LCBsZW47CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9zY2FuLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9zY2FuLmMKaW5kZXggZDQ0OGM5NzAuLjM4N2Q0ODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL3NjYW4uYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9zY2FuLmMKQEAgLTU2NywxMSArNTY3LDExIEBACiAJcG9zICs9IDg7CiAKIAkvKiBiZWFjb24gaW50ZXJ2YWwgaXMgMiBieXRlcyBsb25nICovCi0JYnNzLT5iZWFjb25wZXJpb2QgPSBsZTE2X3RvX2NwdXAoKHZvaWQgKikgcG9zKTsKKwlic3MtPmJlYWNvbnBlcmlvZCA9IGdldF91bmFsaWduZWRfbGUxNihwb3MpOwogCXBvcyArPSAyOwogCiAJLyogY2FwYWJpbGl0eSBpbmZvcm1hdGlvbiBpcyAyIGJ5dGVzIGxvbmcgKi8KLQlic3MtPmNhcGFiaWxpdHkgPSBsZTE2X3RvX2NwdXAoKHZvaWQgKikgcG9zKTsKKwlic3MtPmNhcGFiaWxpdHkgPSBnZXRfdW5hbGlnbmVkX2xlMTYocG9zKTsKIAlsYnNfZGViX3NjYW4oInByb2Nlc3NfYnNzOiBjYXBhYmlsaXRpZXMgMHglMDR4XG4iLCBic3MtPmNhcGFiaWxpdHkpOwogCXBvcyArPSAyOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9wNTQvcDU0dXNiLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9wNTQvcDU0dXNiLmMKaW5kZXggMTYxMGE3My4uODE1YzA5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcDU0L3A1NHVzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3A1NC9wNTR1c2IuYwpAQCAtMzc2LDcgKzM3Niw4IEBACiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmd19lbnRyeSA9IE5VTEw7CiAJaW50IGVyciwgYWxlbjsKIAl1OCBjYXJyeSA9IDA7Ci0JdTggKmJ1ZiwgKnRtcCwgKmRhdGE7CisJdTggKmJ1ZiwgKnRtcDsKKwljb25zdCB1OCAqZGF0YTsKIAl1bnNpZ25lZCBpbnQgbGVmdCwgcmVtYWlucywgYmxvY2tfc2l6ZTsKIAlzdHJ1Y3QgeDJfaGVhZGVyICpoZHI7CiAJdW5zaWduZWQgbG9uZyB0aW1lb3V0OwpAQCAtNTIzLDcgKzUyNCw3IEBACiAJdm9pZCAqYnVmOwogCV9fbGUzMiByZWc7CiAJdW5zaWduZWQgaW50IHJlbWFpbnMsIG9mZnNldDsKLQl1OCAqZGF0YTsKKwljb25zdCB1OCAqZGF0YTsKIAogCWJ1ZiA9IGttYWxsb2MoNTEyLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWJ1ZikgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjQwMHBjaS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjQwMHBjaS5jCmluZGV4IDU2MGI5YzcuLmIzNmVkMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI0MDBwY2kuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNDAwcGNpLmMKQEAgLTczMSw2ICs3MzEsMTcgQEAKIAkJCSAgIChydDJ4MDBkZXYtPnJ4LT5kYXRhX3NpemUgLyAxMjgpKTsKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBDU1I5LCByZWcpOwogCisJcnQyeDAwcGNpX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBDU1IxNCwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RTRl9DT1VOVCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RTRl9TWU5DLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVEJDTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RDRlAsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQVRJTVcsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9CRUFDT05fR0VOLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfQ0ZQX0NPVU5UX1BSRUxPQUQsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQkNNX1BSRUxPQUQsIDApOworCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENTUjE0LCByZWcpOworCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgQ05UMywgMHgzZjA4MDAwMCk7CiAKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIEFSQ1NSMCwgJnJlZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwcGNpLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwcGNpLmMKaW5kZXggYTVlZDU0Yi4uZjc3MzFmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHBjaS5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDBwY2kuYwpAQCAtODI0LDYgKzgyNCwxNyBAQAogCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxMV9DV19TRUxFQ1QsIDApOwogCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENTUjExLCByZWcpOwogCisJcnQyeDAwcGNpX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBDU1IxNCwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RTRl9DT1VOVCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RTRl9TWU5DLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVEJDTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RDRlAsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQVRJTVcsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9CRUFDT05fR0VOLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfQ0ZQX0NPVU5UX1BSRUxPQUQsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQkNNX1BSRUxPQUQsIDApOworCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENTUjE0LCByZWcpOworCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgQ05UMywgMCk7CiAKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIFRYQ1NSOCwgJnJlZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwdXNiLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwdXNiLmMKaW5kZXggNjFlNTljMS4uZDkwNTEyZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHVzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDB1c2IuYwpAQCAtODAxLDYgKzgwMSwxMyBAQAogCXJ0MngwMF9zZXRfZmllbGQxNigmcmVnLCBUWFJYX0NTUjhfQkJQX0lEMV9WQUxJRCwgMCk7CiAJcnQyNTAwdXNiX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1I4LCByZWcpOwogCisJcnQyNTAwdXNiX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBUWFJYX0NTUjE5LCAmcmVnKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMTYoJnJlZywgVFhSWF9DU1IxOV9UU0ZfQ09VTlQsIDApOworCXJ0MngwMF9zZXRfZmllbGQxNigmcmVnLCBUWFJYX0NTUjE5X1RTRl9TWU5DLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMTYoJnJlZywgVFhSWF9DU1IxOV9UQkNOLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMTYoJnJlZywgVFhSWF9DU1IxOV9CRUFDT05fR0VOLCAwKTsKKwlydDI1MDB1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjE5LCByZWcpOworCiAJcnQyNTAwdXNiX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1IyMSwgMHhlNzhmKTsKIAlydDI1MDB1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBNQUNfQ1NSOSwgMHhmZjFkKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMC5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMC5oCmluZGV4IGI0YmYxZTAuLmE3NGUxYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDAuaAorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwLmgKQEAgLTUxMSw4ICs1MTEsOCBAQAogCSAqLwogCWludCAoKnByb2JlX2h3KSAoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldik7CiAJY2hhciAqKCpnZXRfZmlybXdhcmVfbmFtZSkgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYpOwotCXUxNiAoKmdldF9maXJtd2FyZV9jcmMpICh2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKTsKLQlpbnQgKCpsb2FkX2Zpcm13YXJlKSAoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwgdm9pZCAqZGF0YSwKKwl1MTYgKCpnZXRfZmlybXdhcmVfY3JjKSAoY29uc3Qgdm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbik7CisJaW50ICgqbG9hZF9maXJtd2FyZSkgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIGNvbnN0IHZvaWQgKmRhdGEsCiAJCQkgICAgICBjb25zdCBzaXplX3QgbGVuKTsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwcGNpLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwcGNpLmgKaW5kZXggOWQxY2RiOS4uYjQxOTY3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMHBjaS5oCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDBwY2kuaApAQCAtODIsNyArODIsNyBAQAogc3RhdGljIGlubGluZSB2b2lkCiBydDJ4MDBwY2lfcmVnaXN0ZXJfbXVsdGl3cml0ZShzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LAogCQkJICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBvZmZzZXQsCi0JCQkgICAgICB2b2lkICp2YWx1ZSwgY29uc3QgdTE2IGxlbmd0aCkKKwkJCSAgICAgIGNvbnN0IHZvaWQgKnZhbHVlLCBjb25zdCB1MTYgbGVuZ3RoKQogewogCW1lbWNweV90b2lvKHJ0MngwMGRldi0+Y3NyLmJhc2UgKyBvZmZzZXQsIHZhbHVlLCBsZW5ndGgpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NjFwY2kuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDYxcGNpLmMKaW5kZXggMTRiYzdiMi4uNTgwZjkwYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NjFwY2kuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ2MXBjaS5jCkBAIC05MTUsNyArOTE1LDcgQEAKIAlyZXR1cm4gZndfbmFtZTsKIH0KIAotc3RhdGljIHUxNiBydDYxcGNpX2dldF9maXJtd2FyZV9jcmModm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbikKK3N0YXRpYyB1MTYgcnQ2MXBjaV9nZXRfZmlybXdhcmVfY3JjKGNvbnN0IHZvaWQgKmRhdGEsIGNvbnN0IHNpemVfdCBsZW4pCiB7CiAJdTE2IGNyYzsKIApAQCAtOTMyLDcgKzkzMiw3IEBACiAJcmV0dXJuIGNyYzsKIH0KIAotc3RhdGljIGludCBydDYxcGNpX2xvYWRfZmlybXdhcmUoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwgdm9pZCAqZGF0YSwKK3N0YXRpYyBpbnQgcnQ2MXBjaV9sb2FkX2Zpcm13YXJlKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIGNvbnN0IHZvaWQgKmRhdGEsCiAJCQkJIGNvbnN0IHNpemVfdCBsZW4pCiB7CiAJaW50IGk7CkBAIC0xMjAxLDYgKzEyMDEsMTUgQEAKIAlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I4X0FDS19DVFNfNTRNQlMsIDQyKTsKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjgsIHJlZyk7CiAKKwlydDJ4MDBwY2lfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIFRYUlhfQ1NSOSwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOV9CRUFDT05fSU5URVJWQUwsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVFNGX1RJQ0tJTkcsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVFNGX1NZTkMsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVEJUVF9FTkFCTEUsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfQkVBQ09OX0dFTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOV9USU1FU1RBTVBfQ09NUEVOU0FURSwgMCk7CisJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1I5LCByZWcpOworCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1IxNSwgMHgwMDAwMDAwZik7CiAKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBNQUNfQ1NSNiwgMHgwMDAwMGZmZik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ3M3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NzN1c2IuYwppbmRleCA4M2NjMDE0Li42YTYyZDZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ3M3VzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDczdXNiLmMKQEAgLTg1Niw3ICs4NTYsNyBAQAogCXJldHVybiBGSVJNV0FSRV9SVDI1NzE7CiB9CiAKLXN0YXRpYyB1MTYgcnQ3M3VzYl9nZXRfZmlybXdhcmVfY3JjKHZvaWQgKmRhdGEsIGNvbnN0IHNpemVfdCBsZW4pCitzdGF0aWMgdTE2IHJ0NzN1c2JfZ2V0X2Zpcm13YXJlX2NyYyhjb25zdCB2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKQogewogCXUxNiBjcmM7CiAKQEAgLTg3MywxMyArODczLDEzIEBACiAJcmV0dXJuIGNyYzsKIH0KIAotc3RhdGljIGludCBydDczdXNiX2xvYWRfZmlybXdhcmUoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwgdm9pZCAqZGF0YSwKK3N0YXRpYyBpbnQgcnQ3M3VzYl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIGNvbnN0IHZvaWQgKmRhdGEsCiAJCQkJIGNvbnN0IHNpemVfdCBsZW4pCiB7CiAJdW5zaWduZWQgaW50IGk7CiAJaW50IHN0YXR1czsKIAl1MzIgcmVnOwotCWNoYXIgKnB0ciA9IGRhdGE7CisJY29uc3QgY2hhciAqcHRyID0gZGF0YTsKIAljaGFyICpjYWNoZTsKIAlpbnQgYnVmbGVuOwogCWludCB0aW1lb3V0OwpAQCAtMTAwNiw2ICsxMDA2LDE1IEBACiAJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOF9BQ0tfQ1RTXzU0TUJTLCA0Mik7CiAJcnQ3M3VzYl9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSOCwgcmVnKTsKIAorCXJ0NzN1c2JfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIFRYUlhfQ1NSOSwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOV9CRUFDT05fSU5URVJWQUwsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVFNGX1RJQ0tJTkcsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVFNGX1NZTkMsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVEJUVF9FTkFCTEUsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfQkVBQ09OX0dFTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOV9USU1FU1RBTVBfQ09NUEVOU0FURSwgMCk7CisJcnQ3M3VzYl9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSOSwgcmVnKTsKKwogCXJ0NzN1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjE1LCAweDAwMDAwMDBmKTsKIAogCXJ0NzN1c2JfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIE1BQ19DU1I2LCAmcmVnKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIwMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKaW5kZXggZDVjMGM2Ni4uNzhiYWEwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKQEAgLTQ5LDcgKzQ5LDcgQEAKIHN0YXRpYyBpbnQgemQxMjAxX2Z3X3VwbG9hZChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYXBmdykKIHsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3X2VudHJ5OwotCWNoYXIgKmRhdGE7CisJY29uc3QgY2hhciAqZGF0YTsKIAl1bnNpZ25lZCBsb25nIGxlbjsKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGNoYXIgcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy96ZDEyMTFydy96ZF9tYWMuYwppbmRleCA0MTg2MDZhLi42OTRlOTVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy96ZDEyMTFydy96ZF9tYWMuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy96ZDEyMTFydy96ZF9tYWMuYwpAQCAtNzY1LDYgKzc2NSw3IEBACiB7CiAJc3RydWN0IHpkX21hYyAqbWFjID0gemRfaHdfbWFjKGh3KTsKIAltYWMtPnR5cGUgPSBJRUVFODAyMTFfSUZfVFlQRV9JTlZBTElEOworCXpkX3NldF9iZWFjb25faW50ZXJ2YWwoJm1hYy0+Y2hpcCwgMCk7CiAJemRfd3JpdGVfbWFjX2FkZHIoJm1hYy0+Y2hpcCwgTlVMTCk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIxMXJ3L3pkX3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfdXNiLmMKaW5kZXggODk0MWY1ZS4uNmNkYWQ5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfdXNiLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfdXNiLmMKQEAgLTY0LDYgKzY0LDcgQEAKIAl7IFVTQl9ERVZJQ0UoMHgwNzliLCAweDAwNjIpLCAuZHJpdmVyX2luZm8gPSBERVZJQ0VfWkQxMjExQiB9LAogCXsgVVNCX0RFVklDRSgweDE1ODIsIDB4NjAwMyksIC5kcml2ZXJfaW5mbyA9IERFVklDRV9aRDEyMTFCIH0sCiAJeyBVU0JfREVWSUNFKDB4MDUwZCwgMHg3MDVjKSwgLmRyaXZlcl9pbmZvID0gREVWSUNFX1pEMTIxMUIgfSwKKwl7IFVTQl9ERVZJQ0UoMHgwODNhLCAweGU1MDYpLCAuZHJpdmVyX2luZm8gPSBERVZJQ0VfWkQxMjExQiB9LAogCXsgVVNCX0RFVklDRSgweDA4M2EsIDB4NDUwNSksIC5kcml2ZXJfaW5mbyA9IERFVklDRV9aRDEyMTFCIH0sCiAJeyBVU0JfREVWSUNFKDB4MDQ3MSwgMHgxMjM2KSwgLmRyaXZlcl9pbmZvID0gREVWSUNFX1pEMTIxMUIgfSwKIAl7IFVTQl9ERVZJQ0UoMHgxM2IxLCAweDAwMjQpLCAuZHJpdmVyX2luZm8gPSBERVZJQ0VfWkQxMjExQiB9LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMgYi9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYwppbmRleCBkMjZmNjliLi5lZjY3MWQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYworKysgYi9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYwpAQCAtMTMyNCw3ICsxMzI0LDcgQEAKIAkJZ290byBmYWlsOwogCX0KIAotCXR4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3R4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCXR4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3R4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKCF0eHMpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgImFsbG9jYXRpbmcgdHggcmluZyBwYWdlIik7CkBAIC0xMzQwLDcgKzEzNDAsNyBAQAogCX0KIAogCWluZm8tPnR4X3JpbmdfcmVmID0gZXJyOwotCXJ4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3J4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCXJ4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3J4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKCFyeHMpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgImFsbG9jYXRpbmcgcnggcmluZyBwYWdlIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BhcmlzYy9laXNhX2VlcHJvbS5jIGIvZHJpdmVycy9wYXJpc2MvZWlzYV9lZXByb20uYwppbmRleCA4NmU5Yzg0Li41YWMyMDc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BhcmlzYy9laXNhX2VlcHJvbS5jCisrKyBiL2RyaXZlcnMvcGFyaXNjL2Vpc2FfZWVwcm9tLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtODMsNiArODQsOCBAQAogCiBzdGF0aWMgaW50IGVpc2FfZWVwcm9tX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKKwogCWlmIChmaWxlLT5mX21vZGUgJiAyKQogCQlyZXR1cm4gLUVJTlZBTDsKICAgIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvaW50ZWwtaW9tbXUuYyBiL2RyaXZlcnMvcGNpL2ludGVsLWlvbW11LmMKaW5kZXggNjZjMGZkMi4uYmIwNjQyMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvaW50ZWwtaW9tbXUuYworKysgYi9kcml2ZXJzL3BjaS9pbnRlbC1pb21tdS5jCkBAIC0xNjM3LDEyICsxNjM3LDQzIEBACiB9CiAKICNpZmRlZiBDT05GSUdfRE1BUl9HRlhfV0EKLWV4dGVybiBpbnQgYXJjaF9nZXRfcmFtX3JhbmdlKGludCBzbG90LCB1NjQgKmFkZHIsIHU2NCAqc2l6ZSk7CitzdHJ1Y3QgaW9tbXVfcHJlcGFyZV9kYXRhIHsKKwlzdHJ1Y3QgcGNpX2RldiAqcGRldjsKKwlpbnQgcmV0OworfTsKKworc3RhdGljIGludCBfX2luaXQgaW9tbXVfcHJlcGFyZV93b3JrX2ZuKHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmRfcGZuLCB2b2lkICpkYXRheCkKK3sKKwlzdHJ1Y3QgaW9tbXVfcHJlcGFyZV9kYXRhICpkYXRhOworCisJZGF0YSA9IChzdHJ1Y3QgaW9tbXVfcHJlcGFyZV9kYXRhICopZGF0YXg7CisKKwlkYXRhLT5yZXQgPSBpb21tdV9wcmVwYXJlX2lkZW50aXR5X21hcChkYXRhLT5wZGV2LAorCQkJCXN0YXJ0X3Bmbjw8UEFHRV9TSElGVCwgZW5kX3Bmbjw8UEFHRV9TSElGVCk7CisJcmV0dXJuIGRhdGEtPnJldDsKKworfQorCitzdGF0aWMgaW50IF9faW5pdCBpb21tdV9wcmVwYXJlX3dpdGhfYWN0aXZlX3JlZ2lvbnMoc3RydWN0IHBjaV9kZXYgKnBkZXYpCit7CisJaW50IG5pZDsKKwlzdHJ1Y3QgaW9tbXVfcHJlcGFyZV9kYXRhIGRhdGE7CisKKwlkYXRhLnBkZXYgPSBwZGV2OworCWRhdGEucmV0ID0gMDsKKworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkgeworCQl3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMobmlkLCBpb21tdV9wcmVwYXJlX3dvcmtfZm4sICZkYXRhKTsKKwkJaWYgKGRhdGEucmV0KQorCQkJcmV0dXJuIGRhdGEucmV0OworCX0KKwlyZXR1cm4gZGF0YS5yZXQ7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9wcmVwYXJlX2dmeF9tYXBwaW5nKHZvaWQpCiB7CiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBOVUxMOwotCXU2NCBiYXNlLCBzaXplOwotCWludCBzbG90OwogCWludCByZXQ7CiAKIAlmb3JfZWFjaF9wY2lfZGV2KHBkZXYpIHsKQEAgLTE2NTEsMTcgKzE2ODIsOSBAQAogCQkJY29udGludWU7CiAJCXByaW50ayhLRVJOX0lORk8gIklPTU1VOiBnZnggZGV2aWNlICVzIDEtMSBtYXBwaW5nXG4iLAogCQkJcGNpX25hbWUocGRldikpOwotCQlzbG90ID0gYXJjaF9nZXRfcmFtX3JhbmdlKDAsICZiYXNlLCAmc2l6ZSk7Ci0JCXdoaWxlIChzbG90ID49IDApIHsKLQkJCXJldCA9IGlvbW11X3ByZXBhcmVfaWRlbnRpdHlfbWFwKHBkZXYsCi0JCQkJCWJhc2UsIGJhc2UgKyBzaXplKTsKLQkJCWlmIChyZXQpCi0JCQkJZ290byBlcnJvcjsKLQkJCXNsb3QgPSBhcmNoX2dldF9yYW1fcmFuZ2Uoc2xvdCwgJmJhc2UsICZzaXplKTsKLQkJfQotCQljb250aW51ZTsKLWVycm9yOgotCQlwcmludGsoS0VSTl9FUlIgIklPTU1VOiBtYXBwaW5nIHJlc2VydmVkIHJlZ2lvbiBmYWlsZWRcbiIpOworCQlyZXQgPSBpb21tdV9wcmVwYXJlX3dpdGhfYWN0aXZlX3JlZ2lvbnMocGRldik7CisJCWlmIChyZXQpCisJCQlwcmludGsoS0VSTl9FUlIgIklPTU1VOiBtYXBwaW5nIHJlc2VydmVkIHJlZ2lvbiBmYWlsZWRcbiIpOwogCX0KIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvS2NvbmZpZyBiL2RyaXZlcnMvcGNtY2lhL0tjb25maWcKaW5kZXggMWIwZWI1YS4uZTQ1NDAyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvS2NvbmZpZworKysgYi9kcml2ZXJzL3BjbWNpYS9LY29uZmlnCkBAIC0yNjMsNiArMjYzLDEzIEBACiAJICBTYXkgWSBoZXJlIHRvIHN1cHBvcnQgdGhlIENvbXBhY3RGbGFzaCBjb250cm9sbGVyIG9uIE9NQVAuCiAJICBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IHN1cHBvcnQgIlRydWUgSURFIiBtb2RlLgogCitjb25maWcgQkZJTl9DRlBDTUNJQQorCXRyaXN0YXRlICJCbGFja2ZpbiBDb21wYWN0Rmxhc2ggUENNQ0lBIERyaXZlciIKKwlkZXBlbmRzIG9uIFBDTUNJQSAmJiBCTEFDS0ZJTgorCWhlbHAKKwkgIFNheSBZIGhlcmUgdG8gc3VwcG9ydCB0aGUgQ29tcGFjdEZsYXNoIFBDTUNJQSBkcml2ZXIgZm9yIEJsYWNrZmluLgorCisKIGNvbmZpZyBBVDkxX0NGCiAJdHJpc3RhdGUgIkFUOTEgQ29tcGFjdEZsYXNoIENvbnRyb2xsZXIiCiAJZGVwZW5kcyBvbiBQQ01DSUEgJiYgQVJDSF9BVDkxUk05MjAwCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9NYWtlZmlsZSBiL2RyaXZlcnMvcGNtY2lhL01ha2VmaWxlCmluZGV4IDZmNjQ3OGIuLjg1YzZjYzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGNtY2lhL01ha2VmaWxlCkBAIC0zNiw2ICszNiw3IEBACiBvYmotJChDT05GSUdfUENNQ0lBX1ZSQzQxNzEpCQkJKz0gdnJjNDE3MV9jYXJkLm8KIG9iai0kKENPTkZJR19QQ01DSUFfVlJDNDE3MykJCQkrPSB2cmM0MTczX2NhcmR1Lm8KIG9iai0kKENPTkZJR19PTUFQX0NGKQkJCQkrPSBvbWFwX2NmLm8KK29iai0kKENPTkZJR19CRklOX0NGUENNQ0lBKQkJCSs9IGJmaW5fY2ZfcGNtY2lhLm8KIG9iai0kKENPTkZJR19BVDkxX0NGKQkJCQkrPSBhdDkxX2NmLm8KIG9iai0kKENPTkZJR19FTEVDVFJBX0NGKQkJCSs9IGVsZWN0cmFfY2YubwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfZ2VuZXJpYy5oIGIvZHJpdmVycy9wY21jaWEvYXUxMDAwX2dlbmVyaWMuaAppbmRleCAxZTQ2N2JiLi5hNTNlZjU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfZ2VuZXJpYy5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF9nZW5lcmljLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCkBAIC0zNCw5ICszMyw5IEBACiAjZGVmaW5lIEFVMTAwMF9QQ01DSUFfSU9fU1BFRUQgICAgICAgKDI1NSkKICNkZWZpbmUgQVUxMDAwX1BDTUNJQV9NRU1fU1BFRUQgICAgICAoMzAwKQogCi0jZGVmaW5lIEFVMVhfU09DSzBfSU8gICAgICAgIDB4RjAwMDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzBfUEhZU19BVFRSIDB4RjQwMDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzBfUEhZU19NRU0gIDB4RjgwMDAwMDAwCisjZGVmaW5lIEFVMVhfU09DSzBfSU8gICAgICAgIDB4RjAwMDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzBfUEhZU19BVFRSIDB4RjQwMDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzBfUEhZU19NRU0gIDB4RjgwMDAwMDAwVUxMCiAvKiBwc2V1ZG8gMzIgYml0IHBoeXMgYWRkcmVzc2VzLCB3aGljaCBnZXQgZml4ZWQgdXAgdG8gdGhlCiAgKiByZWFsIDM2IGJpdCBhZGRyZXNzIGluIGZpeHVwX2JpZ3BoeXNfYWRkcigpICovCiAjZGVmaW5lIEFVMVhfU09DSzBfUFNFVURPX1BIWVNfQVRUUiAweEY0MDAwMDAwCkBAIC00NSwxNiArNDQsMjAgQEAKIC8qIHBjbWNpYSBzb2NrZXQgMSBuZWVkcyBleHRlcm5hbCBnbHVlIGxvZ2ljIHNvIHRoZSBtZW1vcnkgbWFwCiAgKiBkaWZmZXJzIGZyb20gYm9hcmQgdG8gYm9hcmQuCiAgKi8KLSNpZiBkZWZpbmVkKENPTkZJR19NSVBTX1BCMTAwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19QQjExMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfUEIxNTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX1BCMTU1MCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19QQjEyMDApCi0jZGVmaW5lIEFVMVhfU09DSzFfSU8gICAgICAgIDB4RjA4MDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzFfUEhZU19BVFRSIDB4RjQ4MDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzFfUEhZU19NRU0gIDB4Rjg4MDAwMDAwCisjaWYgZGVmaW5lZChDT05GSUdfTUlQU19QQjEwMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfUEIxMTAwKSB8fCBcCisgICAgZGVmaW5lZChDT05GSUdfTUlQU19QQjE1MDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfUEIxNTUwKSB8fCBcCisgICAgZGVmaW5lZChDT05GSUdfTUlQU19QQjEyMDApCisjZGVmaW5lIEFVMVhfU09DSzFfSU8gICAgICAgIDB4RjA4MDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzFfUEhZU19BVFRSIDB4RjQ4MDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzFfUEhZU19NRU0gIDB4Rjg4MDAwMDAwVUxMCiAjZGVmaW5lIEFVMVhfU09DSzFfUFNFVURPX1BIWVNfQVRUUiAweEY0ODAwMDAwCiAjZGVmaW5lIEFVMVhfU09DSzFfUFNFVURPX1BIWVNfTUVNICAweEY4ODAwMDAwCi0jZWxpZiBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTAwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19EQjExMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfREIxNTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTU1MCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19EQjEyMDApCi0jZGVmaW5lIEFVMVhfU09DSzFfSU8gICAgICAgIDB4RjA0MDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzFfUEhZU19BVFRSIDB4RjQ0MDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzFfUEhZU19NRU0gIDB4Rjg0MDAwMDAwCisjZWxpZiBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTAwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19EQjExMDApIHx8IFwKKyAgICAgIGRlZmluZWQoQ09ORklHX01JUFNfREIxNTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTU1MCkgfHwgXAorICAgICAgZGVmaW5lZChDT05GSUdfTUlQU19EQjEyMDApCisjZGVmaW5lIEFVMVhfU09DSzFfSU8gICAgICAgIDB4RjA0MDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzFfUEhZU19BVFRSIDB4RjQ0MDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzFfUEhZU19NRU0gIDB4Rjg0MDAwMDAwVUxMCiAjZGVmaW5lIEFVMVhfU09DSzFfUFNFVURPX1BIWVNfQVRUUiAweEY0NDAwMDAwCiAjZGVmaW5lIEFVMVhfU09DSzFfUFNFVURPX1BIWVNfTUVNICAweEY4NDAwMDAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF9wYjF4MDAuYyBiL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF9wYjF4MDAuYwppbmRleCAxNTdlNDE0Li5hYTFjZDRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfcGIxeDAwLmMKKysrIGIvZHJpdmVycy9wY21jaWEvYXUxMDAwX3BiMXgwMC5jCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2J1c19vcHMuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvYXUxMDAwX3h4czE1MDAuYyBiL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF94eHMxNTAwLmMKaW5kZXggYzc4ZWQ1My4uOGE5YjE4YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvYXUxMDAwX3h4czE1MDAuYworKysgYi9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfeHhzMTUwMC5jCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2J1c19vcHMuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvYmZpbl9jZl9wY21jaWEuYyBiL2RyaXZlcnMvcGNtY2lhL2JmaW5fY2ZfcGNtY2lhLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI3MzM4OAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcGNtY2lhL2JmaW5fY2ZfcGNtY2lhLmMKQEAgLTAsMCArMSwzMzkgQEAKKy8qCisgKiBmaWxlOiBkcml2ZXJzL3BjbWNpYS9iZmluX2NmLmMKKyAqCisgKiBiYXNlZCBvbjogZHJpdmVycy9wY21jaWEvb21hcF9jZi5jCisgKiBvbWFwX2NmLmMgLS0gT01BUCAxNnh4IENvbXBhY3RGbGFzaCBjb250cm9sbGVyIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNSBEYXZpZCBCcm93bmVsbAorICogQ29weXJpZ2h0IChjKSAyMDA2LTIwMDggTWljaGFlbCBIZW5uZXJpY2ggQW5hbG9nIERldmljZXMgSW5jLgorICoKKyAqIGJ1Z3M6ICAgICAgICAgZW50ZXIgYnVncyBhdCBodHRwOi8vYmxhY2tmaW4udWNsaW51eC5vcmcvCisgKgorICogdGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgZnJlZSBzb2Z0d2FyZSBmb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiB0aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCB3aXRob3V0IGFueSB3YXJyYW50eTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBtZXJjaGFudGFiaWxpdHkgb3IgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UuICBzZWUgdGhlCisgKiBnbnUgZ2VuZXJhbCBwdWJsaWMgbGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIGNvcHlpbmcuCisgKiBpZiBub3QsIHdyaXRlIHRvIHRoZSBmcmVlIHNvZnR3YXJlIGZvdW5kYXRpb24sCisgKiA1OSB0ZW1wbGUgcGxhY2UgLSBzdWl0ZSAzMzAsIGJvc3RvbiwgbWEgMDIxMTEtMTMwNywgdXNhLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgorI2luY2x1ZGUgPHBjbWNpYS9jaXNyZWcuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorCisjZGVmaW5lCVNaXzFLCTB4MDAwMDA0MDAKKyNkZWZpbmUJU1pfOEsJMHgwMDAwMjAwMAorI2RlZmluZQlTWl8ySwkoMiAqIFNaXzFLKQorCisjZGVmaW5lCVBPTExfSU5URVJWQUwJKDIgKiBIWikKKworI2RlZmluZQlDRl9BVEFTRUxfRU5BIAkweDIwMzExODAyCS8qIEludmVydHMgUkVTRVQgKi8KKyNkZWZpbmUJQ0ZfQVRBU0VMX0RJUyAJMHgyMDMxMTgwMAorCisjZGVmaW5lIGJmaW5fY2ZfcHJlc2VudChwZngpIChncGlvX2dldF92YWx1ZShwZngpKQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIGNvbnN0IGNoYXIgZHJpdmVyX25hbWVbXSA9ICJiZmluX2NmX3BjbWNpYSI7CisKK3N0cnVjdCBiZmluX2NmX3NvY2tldCB7CisJc3RydWN0IHBjbWNpYV9zb2NrZXQgc29ja2V0OworCisJc3RydWN0IHRpbWVyX2xpc3QgdGltZXI7CisJdW5zaWduZWQgcHJlc2VudDoxOworCXVuc2lnbmVkIGFjdGl2ZToxOworCisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKwl1bnNpZ25lZCBsb25nIHBoeXNfY2ZfaW87CisJdW5zaWduZWQgbG9uZyBwaHlzX2NmX2F0dHI7CisJdV9pbnQgaXJxOworCXVfc2hvcnQgY2RfcGZ4OworfTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgaW50IGJmaW5fY2ZfcmVzZXQodm9pZCkKK3sKKwlvdXR3KDAsIENGX0FUQVNFTF9FTkEpOworCW1kZWxheSgyMDApOworCW91dHcoMCwgQ0ZfQVRBU0VMX0RJUyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBiZmluX2NmX3NzX2luaXQoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpCit7CisJcmV0dXJuIDA7Cit9CisKKy8qIHRoZSB0aW1lciBpcyBwcmltYXJpbHkgdG8ga2ljayB0aGlzIHNvY2tldCdzIHBjY2FyZGQgKi8KK3N0YXRpYyB2b2lkIGJmaW5fY2ZfdGltZXIodW5zaWduZWQgbG9uZyBfY2YpCit7CisJc3RydWN0IGJmaW5fY2Zfc29ja2V0ICpjZiA9ICh2b2lkICopX2NmOworCXVuc2lnbmVkIHNob3J0IHByZXNlbnQgPSBiZmluX2NmX3ByZXNlbnQoY2YtPmNkX3BmeCk7CisKKwlpZiAocHJlc2VudCAhPSBjZi0+cHJlc2VudCkgeworCQljZi0+cHJlc2VudCA9IHByZXNlbnQ7CisJCWRldl9kYmcoJmNmLT5wZGV2LT5kZXYsICI6IGNhcmQgJXNcbiIsCisJCQkgcHJlc2VudCA/ICJwcmVzZW50IiA6ICJnb25lIik7CisJCXBjbWNpYV9wYXJzZV9ldmVudHMoJmNmLT5zb2NrZXQsIFNTX0RFVEVDVCk7CisJfQorCisJaWYgKGNmLT5hY3RpdmUpCisJCW1vZF90aW1lcigmY2YtPnRpbWVyLCBqaWZmaWVzICsgUE9MTF9JTlRFUlZBTCk7Cit9CisKK3N0YXRpYyBpbnQgYmZpbl9jZl9nZXRfc3RhdHVzKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCB1X2ludCAqc3ApCit7CisJc3RydWN0IGJmaW5fY2Zfc29ja2V0ICpjZjsKKworCWlmICghc3ApCisJCXJldHVybiAtRUlOVkFMOworCisJY2YgPSBjb250YWluZXJfb2Yocywgc3RydWN0IGJmaW5fY2Zfc29ja2V0LCBzb2NrZXQpOworCisJaWYgKGJmaW5fY2ZfcHJlc2VudChjZi0+Y2RfcGZ4KSkgeworCQkqc3AgPSBTU19SRUFEWSB8IFNTX0RFVEVDVCB8IFNTX1BPV0VST04gfCBTU18zVkNBUkQ7CisJCXMtPmlycS5Bc3NpZ25lZElSUSA9IDA7CisJCXMtPnBjaV9pcnEgPSBjZi0+aXJxOworCisJfSBlbHNlCisJCSpzcCA9IDA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2JmaW5fY2Zfc2V0X3NvY2tldChzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqc29jaywgc3RydWN0IHNvY2tldF9zdGF0ZV90ICpzKQoreworCisJc3RydWN0IGJmaW5fY2Zfc29ja2V0ICpjZjsKKwljZiA9IGNvbnRhaW5lcl9vZihzb2NrLCBzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQsIHNvY2tldCk7CisKKwlzd2l0Y2ggKHMtPlZjYykgeworCWNhc2UgMDoKKwljYXNlIDMzOgorCQlicmVhazsKKwljYXNlIDUwOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAocy0+ZmxhZ3MgJiBTU19SRVNFVCkgeworCQlkaXNhYmxlX2lycShjZi0+aXJxKTsKKwkJYmZpbl9jZl9yZXNldCgpOworCQllbmFibGVfaXJxKGNmLT5pcnEpOworCX0KKworCWRldl9kYmcoJmNmLT5wZGV2LT5kZXYsICI6IFZjYyAlZCwgaW9faXJxICVkLCBmbGFncyAlMDR4IGNzYyAlMDR4XG4iLAorCQkgcy0+VmNjLCBzLT5pb19pcnEsIHMtPmZsYWdzLCBzLT5jc2NfbWFzayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBiZmluX2NmX3NzX3N1c3BlbmQoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpCit7CisJcmV0dXJuIGJmaW5fY2Zfc2V0X3NvY2tldChzLCAmZGVhZF9zb2NrZXQpOworfQorCisvKiByZWdpb25zIGFyZSAySyBlYWNoOiAgbWVtLCBhdHRyaWIsIGlvIChhbmQgcmVzZXJ2ZWQtZm9yLWlkZSkgKi8KKworc3RhdGljIGludCBiZmluX2NmX3NldF9pb19tYXAoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCBwY2NhcmRfaW9fbWFwICppbykKK3sKKwlzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQgKmNmOworCisJY2YgPSBjb250YWluZXJfb2Yocywgc3RydWN0IGJmaW5fY2Zfc29ja2V0LCBzb2NrZXQpOworCWlvLT5mbGFncyAmPSBNQVBfQUNUSVZFIHwgTUFQX0FUVFJJQiB8IE1BUF8xNkJJVDsKKwlpby0+c3RhcnQgPSBjZi0+cGh5c19jZl9pbzsKKwlpby0+c3RvcCA9IGlvLT5zdGFydCArIFNaXzJLIC0gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorYmZpbl9jZl9zZXRfbWVtX21hcChzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgc3RydWN0IHBjY2FyZF9tZW1fbWFwICptYXApCit7CisJc3RydWN0IGJmaW5fY2Zfc29ja2V0ICpjZjsKKworCWlmIChtYXAtPmNhcmRfc3RhcnQpCisJCXJldHVybiAtRUlOVkFMOworCWNmID0gY29udGFpbmVyX29mKHMsIHN0cnVjdCBiZmluX2NmX3NvY2tldCwgc29ja2V0KTsKKwltYXAtPnN0YXRpY19zdGFydCA9IGNmLT5waHlzX2NmX2lvOworCW1hcC0+ZmxhZ3MgJj0gTUFQX0FDVElWRSB8IE1BUF9BVFRSSUIgfCBNQVBfMTZCSVQ7CisJaWYgKG1hcC0+ZmxhZ3MgJiBNQVBfQVRUUklCKQorCQltYXAtPnN0YXRpY19zdGFydCA9IGNmLT5waHlzX2NmX2F0dHI7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwY2NhcmRfb3BlcmF0aW9ucyBiZmluX2NmX29wcyA9IHsKKwkuaW5pdCA9IGJmaW5fY2Zfc3NfaW5pdCwKKwkuc3VzcGVuZCA9IGJmaW5fY2Zfc3Nfc3VzcGVuZCwKKwkuZ2V0X3N0YXR1cyA9IGJmaW5fY2ZfZ2V0X3N0YXR1cywKKwkuc2V0X3NvY2tldCA9IGJmaW5fY2Zfc2V0X3NvY2tldCwKKwkuc2V0X2lvX21hcCA9IGJmaW5fY2Zfc2V0X2lvX21hcCwKKwkuc2V0X21lbV9tYXAgPSBiZmluX2NmX3NldF9tZW1fbWFwLAorfTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGJmaW5fY2ZfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQgKmNmOworCXN0cnVjdCByZXNvdXJjZSAqaW9fbWVtLCAqYXR0cl9tZW07CisJaW50IGlycTsKKwl1bnNpZ25lZCBzaG9ydCBjZF9wZng7CisJaW50IHN0YXR1cyA9IDA7CisKKwlkZXZfaW5mbygmcGRldi0+ZGV2LCAiQmxhY2tmaW4gQ29tcGFjdEZsYXNoL1BDTUNJQSBTb2NrZXQgRHJpdmVyXG4iKTsKKworCWlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7CisJaWYgKCFpcnEpCisJCXJldHVybiAtRUlOVkFMOworCisJY2RfcGZ4ID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAxKTsJLypDYXJkIERldGVjdCBHUElPIFBJTiAqLworCisJaWYgKGdwaW9fcmVxdWVzdChjZF9wZngsICJwY21jaWE6IENEIikpIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LAorCQkgICAgICAgIkZhaWxlZCBybyByZXF1ZXN0IENhcmQgRGV0ZWN0IEdQSU9fJWRcbiIsCisJCSAgICAgICBjZF9wZngpOworCQlyZXR1cm4gLUVCVVNZOworCX0KKwlncGlvX2RpcmVjdGlvbl9pbnB1dChjZF9wZngpOworCisJY2YgPSBremFsbG9jKHNpemVvZiAqY2YsIEdGUF9LRVJORUwpOworCWlmICghY2YpIHsKKwkJZ3Bpb19mcmVlKGNkX3BmeCk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCWNmLT5jZF9wZnggPSBjZF9wZng7CisKKwlzZXR1cF90aW1lcigmY2YtPnRpbWVyLCBiZmluX2NmX3RpbWVyLCAodW5zaWduZWQgbG9uZyljZik7CisKKwljZi0+cGRldiA9IHBkZXY7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgY2YpOworCisJY2YtPmlycSA9IGlycTsKKwljZi0+c29ja2V0LnBjaV9pcnEgPSBpcnE7CisKKwlzZXRfaXJxX3R5cGUoaXJxLCBJUlFGX1RSSUdHRVJfTE9XKTsKKworCWlvX21lbSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJYXR0cl9tZW0gPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDEpOworCisJaWYgKCFpb19tZW0gfHwgIWF0dHJfbWVtKQorCQlnb3RvIGZhaWwwOworCisJY2YtPnBoeXNfY2ZfaW8gPSBpb19tZW0tPnN0YXJ0OworCWNmLT5waHlzX2NmX2F0dHIgPSBhdHRyX21lbS0+c3RhcnQ7CisKKwkvKiBwY21jaWEgbGF5ZXIgb25seSByZW1hcHMgInJlYWwiIG1lbW9yeSAqLworCWNmLT5zb2NrZXQuaW9fb2Zmc2V0ID0gKHVuc2lnbmVkIGxvbmcpCisJICAgIGlvcmVtYXAoY2YtPnBoeXNfY2ZfaW8sIFNaXzJLKTsKKworCWlmICghY2YtPnNvY2tldC5pb19vZmZzZXQpCisJCWdvdG8gZmFpbDA7CisKKwlkZXZfZXJyKCZwZGV2LT5kZXYsICI6IG9uIGlycSAlZFxuIiwgaXJxKTsKKworCWRldl9kYmcoJnBkZXYtPmRldiwgIjogJXNcbiIsCisJCSBiZmluX2NmX3ByZXNlbnQoY2YtPmNkX3BmeCkgPyAicHJlc2VudCIgOiAiKG5vdCBwcmVzZW50KSIpOworCisJY2YtPnNvY2tldC5vd25lciA9IFRISVNfTU9EVUxFOworCWNmLT5zb2NrZXQuZGV2LnBhcmVudCA9ICZwZGV2LT5kZXY7CisJY2YtPnNvY2tldC5vcHMgPSAmYmZpbl9jZl9vcHM7CisJY2YtPnNvY2tldC5yZXNvdXJjZV9vcHMgPSAmcGNjYXJkX3N0YXRpY19vcHM7CisJY2YtPnNvY2tldC5mZWF0dXJlcyA9IFNTX0NBUF9QQ0NBUkQgfCBTU19DQVBfU1RBVElDX01BUAorCSAgICB8IFNTX0NBUF9NRU1fQUxJR047CisJY2YtPnNvY2tldC5tYXBfc2l6ZSA9IFNaXzJLOworCisJc3RhdHVzID0gcGNtY2lhX3JlZ2lzdGVyX3NvY2tldCgmY2YtPnNvY2tldCk7CisJaWYgKHN0YXR1cyA8IDApCisJCWdvdG8gZmFpbDI7CisKKwljZi0+YWN0aXZlID0gMTsKKwltb2RfdGltZXIoJmNmLT50aW1lciwgamlmZmllcyArIFBPTExfSU5URVJWQUwpOworCXJldHVybiAwOworCitmYWlsMjoKKwlpb3VubWFwKCh2b2lkIF9faW9tZW0gKiljZi0+c29ja2V0LmlvX29mZnNldCk7CisJcmVsZWFzZV9tZW1fcmVnaW9uKGNmLT5waHlzX2NmX2lvLCBTWl84Syk7CisKK2ZhaWwwOgorCWdwaW9fZnJlZShjZi0+Y2RfcGZ4KTsKKwlrZnJlZShjZik7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgTlVMTCk7CisKKwlyZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgaW50IF9fZGV2ZXhpdCBiZmluX2NmX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2YgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCWdwaW9fZnJlZShjZi0+Y2RfcGZ4KTsKKwljZi0+YWN0aXZlID0gMDsKKwlwY21jaWFfdW5yZWdpc3Rlcl9zb2NrZXQoJmNmLT5zb2NrZXQpOworCWRlbF90aW1lcl9zeW5jKCZjZi0+dGltZXIpOworCWlvdW5tYXAoKHZvaWQgX19pb21lbSAqKWNmLT5zb2NrZXQuaW9fb2Zmc2V0KTsKKwlyZWxlYXNlX21lbV9yZWdpb24oY2YtPnBoeXNfY2ZfaW8sIFNaXzhLKTsKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKKwlrZnJlZShjZik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYmZpbl9jZl9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBtZXNnKQoreworCXJldHVybiBwY21jaWFfc29ja2V0X2Rldl9zdXNwZW5kKCZwZGV2LT5kZXYsIG1lc2cpOworfQorCitzdGF0aWMgaW50IGJmaW5fY2ZfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIHBjbWNpYV9zb2NrZXRfZGV2X3Jlc3VtZSgmcGRldi0+ZGV2KTsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgYmZpbl9jZl9kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJICAgLm5hbWUgPSAoY2hhciAqKWRyaXZlcl9uYW1lLAorCQkgICAub3duZXIgPSBUSElTX01PRFVMRSwKKwkJICAgfSwKKwkucHJvYmUgPSBiZmluX2NmX3Byb2JlLAorCS5yZW1vdmUgPSBfX2RldmV4aXRfcChiZmluX2NmX3JlbW92ZSksCisJLnN1c3BlbmQgPSBiZmluX2NmX3N1c3BlbmQsCisJLnJlc3VtZSA9IGJmaW5fY2ZfcmVzdW1lLAorfTsKKworc3RhdGljIGludCBfX2luaXQgYmZpbl9jZl9pbml0KHZvaWQpCit7CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmYmZpbl9jZl9kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYmZpbl9jZl9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJmJmaW5fY2ZfZHJpdmVyKTsKK30KKworbW9kdWxlX2luaXQoYmZpbl9jZl9pbml0KTsKK21vZHVsZV9leGl0KGJmaW5fY2ZfZXhpdCk7CisKK01PRFVMRV9BVVRIT1IoIk1pY2hhZWwgSGVubmVyaWNoIDxoZW5uZXJpY2hAYmxhY2tmaW4udWNsaW51eC5vcmc+IikKK01PRFVMRV9ERVNDUklQVElPTigiQkZJTiBDRi9QQ01DSUEgRHJpdmVyIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9jYXJkYnVzLmMgYi9kcml2ZXJzL3BjbWNpYS9jYXJkYnVzLmMKaW5kZXggZmIyZjM4ZC4uOTExY2EwZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvY2FyZGJ1cy5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2NhcmRidXMuYwpAQCAtMzAsMTEgKzMwLDkgQEAKICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKLSNkZWZpbmUgSU5fQ0FSRF9TRVJWSUNFUwogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgImNzX2ludGVybmFsLmgiCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2Npc3RwbC5jIGIvZHJpdmVycy9wY21jaWEvY2lzdHBsLmMKaW5kZXggMzYzNzk1My4uOWZjZmYwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvY2lzdHBsLmMKKysrIGIvZHJpdmVycy9wY21jaWEvY2lzdHBsLmMKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXNyZWcuaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKQEAgLTE0MzksMTAgKzE0MzgsMTEgQEAKICAgICAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogCi1pbnQgcGNjYXJkX3ZhbGlkYXRlX2NpcyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdW5zaWduZWQgaW50IGZ1bmN0aW9uLCBjaXNpbmZvX3QgKmluZm8pCitpbnQgcGNjYXJkX3ZhbGlkYXRlX2NpcyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdW5zaWduZWQgaW50IGZ1bmN0aW9uLCB1bnNpZ25lZCBpbnQgKmluZm8pCiB7CiAgICAgdHVwbGVfdCAqdHVwbGU7CiAgICAgY2lzcGFyc2VfdCAqcDsKKyAgICB1bnNpZ25lZCBpbnQgY291bnQgPSAwOwogICAgIGludCByZXQsIHJlc2VydmVkLCBkZXZfb2sgPSAwLCBpZGVudF9vayA9IDA7CiAKICAgICBpZiAoIXMpCkBAIC0xNDU3LDcgKzE0NTcsNyBAQAogCXJldHVybiBDU19PVVRfT0ZfUkVTT1VSQ0U7CiAgICAgfQogCi0gICAgaW5mby0+Q2hhaW5zID0gcmVzZXJ2ZWQgPSAwOworICAgIGNvdW50ID0gcmVzZXJ2ZWQgPSAwOwogICAgIHR1cGxlLT5EZXNpcmVkVHVwbGUgPSBSRVRVUk5fRklSU1RfVFVQTEU7CiAgICAgdHVwbGUtPkF0dHJpYnV0ZXMgPSBUVVBMRV9SRVRVUk5fQ09NTU9OOwogICAgIHJldCA9IHBjY2FyZF9nZXRfZmlyc3RfdHVwbGUocywgZnVuY3Rpb24sIHR1cGxlKTsKQEAgLTE0ODIsNyArMTQ4Miw3IEBACiAgICAgaWYgKCFkZXZfb2sgJiYgIWlkZW50X29rKQogCWdvdG8gZG9uZTsKIAotICAgIGZvciAoaW5mby0+Q2hhaW5zID0gMTsgaW5mby0+Q2hhaW5zIDwgTUFYX1RVUExFUzsgaW5mby0+Q2hhaW5zKyspIHsKKyAgICBmb3IgKGNvdW50ID0gMTsgY291bnQgPCBNQVhfVFVQTEVTOyBjb3VudCsrKSB7CiAJcmV0ID0gcGNjYXJkX2dldF9uZXh0X3R1cGxlKHMsIGZ1bmN0aW9uLCB0dXBsZSk7CiAJaWYgKHJldCAhPSBDU19TVUNDRVNTKSBicmVhazsKIAlpZiAoKCh0dXBsZS0+VHVwbGVDb2RlID4gMHgyMykgJiYgKHR1cGxlLT5UdXBsZUNvZGUgPCAweDQwKSkgfHwKQEAgLTE0OTAsMTEgKzE0OTAsMTMgQEAKIAkgICAgKCh0dXBsZS0+VHVwbGVDb2RlID4gMHg5MCkgJiYgKHR1cGxlLT5UdXBsZUNvZGUgPCAweGZmKSkpCiAJICAgIHJlc2VydmVkKys7CiAgICAgfQotICAgIGlmICgoaW5mby0+Q2hhaW5zID09IE1BWF9UVVBMRVMpIHx8IChyZXNlcnZlZCA+IDUpIHx8Ci0JKCghZGV2X29rIHx8ICFpZGVudF9vaykgJiYgKGluZm8tPkNoYWlucyA+IDEwKSkpCi0JaW5mby0+Q2hhaW5zID0gMDsKKyAgICBpZiAoKGNvdW50KSB8fCAocmVzZXJ2ZWQgPiA1KSB8fAorCSgoIWRldl9vayB8fCAhaWRlbnRfb2spICYmIChjb3VudCA+IDEwKSkpCisJY291bnQgPSAwOwogCiBkb25lOgorICAgIGlmIChpbmZvKQorCSAgICAqaW5mbyA9IGNvdW50OwogICAgIGtmcmVlKHR1cGxlKTsKICAgICBrZnJlZShwKTsKICAgICByZXR1cm4gQ1NfU1VDQ0VTUzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2NzLmMgYi9kcml2ZXJzL3BjbWNpYS9jcy5jCmluZGV4IDI5Mjc2YmQuLmQxMjA3MzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2NzLmMKKysrIGIvZHJpdmVycy9wY21jaWEvY3MuYwpAQCAtMzIsMTEgKzMyLDkgQEAKICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogCi0jZGVmaW5lIElOX0NBUkRfU0VSVklDRVMKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RzLmg+CkBAIC0yMzgsNyArMjM2LDYgQEAKIAogCWluaXRfY29tcGxldGlvbigmc29ja2V0LT5zb2NrZXRfcmVsZWFzZWQpOwogCWluaXRfY29tcGxldGlvbigmc29ja2V0LT50aHJlYWRfZG9uZSk7Ci0JaW5pdF93YWl0cXVldWVfaGVhZCgmc29ja2V0LT50aHJlYWRfd2FpdCk7CiAJbXV0ZXhfaW5pdCgmc29ja2V0LT5za3RfbXV0ZXgpOwogCXNwaW5fbG9ja19pbml0KCZzb2NrZXQtPnRocmVhZF9sb2NrKTsKIApAQCAtMjc4LDEwICsyNzUsOSBAQAogCiAJY3NfZGJnKHNvY2tldCwgMCwgInBjbWNpYV91bnJlZ2lzdGVyX3NvY2tldCgweCVwKVxuIiwgc29ja2V0LT5vcHMpOwogCi0JaWYgKHNvY2tldC0+dGhyZWFkKSB7Ci0JCXdha2VfdXAoJnNvY2tldC0+dGhyZWFkX3dhaXQpOworCWlmIChzb2NrZXQtPnRocmVhZCkKIAkJa3RocmVhZF9zdG9wKHNvY2tldC0+dGhyZWFkKTsKLQl9CisKIAlyZWxlYXNlX2Npc19tZW0oc29ja2V0KTsKIAogCS8qIHJlbW92ZSBmcm9tIG91ciBvd24gbGlzdCAqLwpAQCAtNjM1LDcgKzYzMSw2IEBACiBzdGF0aWMgaW50IHBjY2FyZGQodm9pZCAqX19za3QpCiB7CiAJc3RydWN0IHBjbWNpYV9zb2NrZXQgKnNrdCA9IF9fc2t0OwotCURFQ0xBUkVfV0FJVFFVRVVFKHdhaXQsIGN1cnJlbnQpOwogCWludCByZXQ7CiAKIAlza3QtPnRocmVhZCA9IGN1cnJlbnQ7CkBAIC02NTYsNyArNjUxLDYgQEAKIAlpZiAocmV0KQogCQlkZXZfd2Fybigmc2t0LT5kZXYsICJlcnIgJWQgYWRkaW5nIHNvY2tldCBhdHRyaWJ1dGVzXG4iLCByZXQpOwogCi0JYWRkX3dhaXRfcXVldWUoJnNrdC0+dGhyZWFkX3dhaXQsICZ3YWl0KTsKIAljb21wbGV0ZSgmc2t0LT50aHJlYWRfZG9uZSk7CiAKIAlzZXRfZnJlZXphYmxlKCk7CkBAIC02OTQsOCArNjg4LDYgQEAKIAkvKiBtYWtlIHN1cmUgd2UgYXJlIHJ1bm5pbmcgYmVmb3JlIHdlIGV4aXQgKi8KIAlzZXRfY3VycmVudF9zdGF0ZShUQVNLX1JVTk5JTkcpOwogCi0JcmVtb3ZlX3dhaXRfcXVldWUoJnNrdC0+dGhyZWFkX3dhaXQsICZ3YWl0KTsKLQogCS8qIHJlbW92ZSBmcm9tIHRoZSBkZXZpY2UgY29yZSAqLwogCXBjY2FyZF9zeXNmc19yZW1vdmVfc29ja2V0KCZza3QtPmRldik7CiAJZGV2aWNlX3VucmVnaXN0ZXIoJnNrdC0+ZGV2KTsKQEAgLTcxNiw3ICs3MDgsNyBAQAogCQlzLT50aHJlYWRfZXZlbnRzIHw9IGV2ZW50czsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+dGhyZWFkX2xvY2ssIGZsYWdzKTsKIAotCQl3YWtlX3VwKCZzLT50aHJlYWRfd2FpdCk7CisJCXdha2VfdXBfcHJvY2VzcyhzLT50aHJlYWQpOwogCX0KIH0gLyogcGNtY2lhX3BhcnNlX2V2ZW50cyAqLwogRVhQT1JUX1NZTUJPTChwY21jaWFfcGFyc2VfZXZlbnRzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2NzX2ludGVybmFsLmggYi9kcml2ZXJzL3BjbWNpYS9jc19pbnRlcm5hbC5oCmluZGV4IGU3ZDVkMTQuLjYzZGMxYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2NzX2ludGVybmFsLmgKKysrIGIvZHJpdmVycy9wY21jaWEvY3NfaW50ZXJuYWwuaApAQCAtMjYsMTggKzI2LDYgQEAKICNkZWZpbmUgQ0xJRU5UX1dJTl9SRVEoaSkJKDB4MTw8KGkpKQogI2RlZmluZSBDTElFTlRfQ0FSREJVUwkJMHg4MDAwCiAKLSNkZWZpbmUgUkVHSU9OX01BR0lDCTB4RTNDOQotdHlwZWRlZiBzdHJ1Y3QgcmVnaW9uX3QgewotICAgIHVfc2hvcnQJCXJlZ2lvbl9tYWdpYzsKLSAgICB1X3Nob3J0CQlzdGF0ZTsKLSAgICBkZXZfaW5mb190CQlkZXZfaW5mbzsKLSAgICBzdHJ1Y3QgcGNtY2lhX2RldmljZQkqbXRkOwotICAgIHVfaW50CQlNZWRpYUlEOwotICAgIHJlZ2lvbl9pbmZvX3QJaW5mbzsKLX0gcmVnaW9uX3Q7Ci0KLSNkZWZpbmUgUkVHSU9OX1NUQUxFCTB4MDEKLQogLyogRWFjaCBjYXJkIGZ1bmN0aW9uIGdldHMgb25lIG9mIHRoZXNlIGd1eXMgKi8KIHR5cGVkZWYgc3RydWN0IGNvbmZpZ190IHsKIAlzdHJ1Y3Qga3JlZglyZWY7CkBAIC0xMzAsNyArMTE4LDYgQEAKIGludCBwY21jaWFfZ2V0X3dpbmRvdyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgd2luZG93X2hhbmRsZV90ICpoYW5kbGUsIGludCBpZHgsIHdpbl9yZXFfdCAqcmVxKTsKIGludCBwY2NhcmRfZ2V0X2NvbmZpZ3VyYXRpb25faW5mbyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBjb25maWdfaW5mb190ICpjb25maWcpOwogaW50IHBjY2FyZF9yZXNldF9jYXJkKHN0cnVjdCBwY21jaWFfc29ja2V0ICpza3QpOwotaW50IHBjY2FyZF9nZXRfc3RhdHVzKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsIGNzX3N0YXR1c190ICpzdGF0dXMpOwogCiAKIHN0cnVjdCBwY21jaWFfY2FsbGJhY2t7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9kcy5jIGIvZHJpdmVycy9wY21jaWEvZHMuYwppbmRleCBlNDA3NzU0Li40MTc0ZDk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9kcy5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2RzLmMKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlIDxsaW51eC9rcmVmLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KIAotI2RlZmluZSBJTl9DQVJEX1NFUlZJQ0VTCiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgpAQCAtNzQxLDkgKzc0MCw4IEBACiAKIHN0YXRpYyBpbnQgcGNtY2lhX2NhcmRfYWRkKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKQogewotCWNpc2luZm9fdCBjaXNpbmZvOwogCWNpc3RwbF9sb25nbGlua19tZmNfdCBtZmM7Ci0JdW5zaWduZWQgaW50IG5vX2Z1bmNzLCBpOworCXVuc2lnbmVkIGludCBub19mdW5jcywgaSwgbm9fY2hhaW5zOwogCWludCByZXQgPSAwOwogCiAJaWYgKCEocy0+cmVzb3VyY2Vfc2V0dXBfZG9uZSkpIHsKQEAgLTc1Nyw4ICs3NTUsOCBAQAogCQlyZXR1cm4gLUVBR0FJTjsgLyogdHJ5IGFnYWluLCBidXQgbGF0ZXIuLi4gKi8KIAl9CiAKLQlyZXQgPSBwY2NhcmRfdmFsaWRhdGVfY2lzKHMsIEJJTkRfRk5fQUxMLCAmY2lzaW5mbyk7Ci0JaWYgKHJldCB8fCAhY2lzaW5mby5DaGFpbnMpIHsKKwlyZXQgPSBwY2NhcmRfdmFsaWRhdGVfY2lzKHMsIEJJTkRfRk5fQUxMLCAmbm9fY2hhaW5zKTsKKwlpZiAocmV0IHx8ICFub19jaGFpbnMpIHsKIAkJZHNfZGJnKDAsICJpbnZhbGlkIENJUyBvciBpbnZhbGlkIHJlc291cmNlc1xuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KQEAgLTg1Miw3ICs4NTAsNyBAQAogewogCXN0cnVjdCBwY21jaWFfc29ja2V0ICpzID0gZGV2LT5zb2NrZXQ7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKLQljaGFyIHBhdGhbMjBdOworCWNoYXIgcGF0aFtGSVJNV0FSRV9OQU1FX01BWF07CiAJaW50IHJldCA9IC1FTk9NRU07CiAJaW50IG5vX2Z1bmNzOwogCWludCBvbGRfZnVuY3M7CkBAIC04NjQsNyArODYyLDcgQEAKIAogCWRzX2RiZygxLCAidHJ5aW5nIHRvIGxvYWQgQ0lTIGZpbGUgJXNcbiIsIGZpbGVuYW1lKTsKIAotCWlmIChzdHJsZW4oZmlsZW5hbWUpID4gMTQpIHsKKwlpZiAoc3RybGVuKGZpbGVuYW1lKSA+IChGSVJNV0FSRV9OQU1FX01BWCAtIDEpKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgInBjbWNpYTogQ0lTIGZpbGVuYW1lIGlzIHRvbyBsb25nIFslc11cbiIsCiAJCQlmaWxlbmFtZSk7CiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvaGQ2NDQ2NV9zcy5jIGIvZHJpdmVycy9wY21jaWEvaGQ2NDQ2NV9zcy5jCmluZGV4IGYyZTgxMGYuLmZiMmJjMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2hkNjQ0NjVfc3MuYworKysgYi9kcml2ZXJzL3BjbWNpYS9oZDY0NDY1X3NzLmMKQEAgLTEsNiArMSw0IEBACiAvKgotICogJElkOiBoZDY0NDY1X3NzLmMsdiAxLjcgMjAwMy8wNy8wNiAxNDo0Mjo1MCBsZXRoYWwgRXhwICQKLSAqCiAgKiBEZXZpY2UgZHJpdmVyIGZvciB0aGUgUENNQ0lBIGNvbnRyb2xsZXIgbW9kdWxlIG9mIHRoZQogICogSGl0YWNoaSBIRDY0NDY1IGhhbmRoZWxkIGNvbXBhbmlvbiBjaGlwLgogICoKQEAgLTQ4LDcgKzQ2LDYgQEAKICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCiAjZGVmaW5lIE1PRE5BTUUgImhkNjQ0NjVfc3MiCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9pODIwOTIuYyBiL2RyaXZlcnMvcGNtY2lhL2k4MjA5Mi5jCmluZGV4IGUxMzYxODYuLjQ2NTYxZmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2k4MjA5Mi5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2k4MjA5Mi5jCkBAIC01LDggKzUsNiBAQAogICoKICAqIEF1dGhvcjogQXJqYW4gVmFuIERlIFZlbiA8YXJqYW52QHJlZGhhdC5jb20+CiAgKiBMb29zbHkgYmFzZWQgb24gaTgyMzY1LmMgZnJvbSB0aGUgcGNtY2lhLWNzIHBhY2thZ2UKLSAqCi0gKiAkSWQ6IGk4MjA5MmFhLmMsdiAxLjIgMjAwMS8xMC8yMyAxNDo0MzozNCBhcmphbnYgRXhwICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9pODIwOTJhYS5oIGIvZHJpdmVycy9wY21jaWEvaTgyMDkyYWEuaAppbmRleCBiMGQ0NTMzLi44ODM2ZDM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9pODIwOTJhYS5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL2k4MjA5MmFhLmgKQEAgLTMsOCArMyw2IEBACiAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KIAotLyogJElkOiBpODIwOTJhYS5oLHYgMS4xLjEuMSAyMDAxLzA5LzE5IDE0OjUzOjE1IGR3bXcyIEV4cCAkICovCi0KIC8qIERlYnVnaW5nIGRlZmluZXMgKi8KICNpZmRlZiBOT1RSQUNFCiAjZGVmaW5lIGVudGVyKHgpICAgcHJpbnRrKCJFbnRlcjogJXMsICVzIGxpbmUgJWlcbiIseCxfX0ZJTEVfXyxfX0xJTkVfXykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2k4MjM2NS5jIGIvZHJpdmVycy9wY21jaWEvaTgyMzY1LmMKaW5kZXggMzJhMmFiMS4uNjhmNmIyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvaTgyMzY1LmMKKysrIGIvZHJpdmVycy9wY21jaWEvaTgyMzY1LmMKQEAgLTEyNjMsNyArMTI2Myw3IEBACiAKICAgICByZXQgPSBkcml2ZXJfcmVnaXN0ZXIoJmk4MjM2NV9kcml2ZXIpOwogICAgIGlmIChyZXQpCi0JcmV0dXJuIHJldDsKKwlnb3RvIGVycl9vdXQ7CiAKICAgICBpODIzNjVfZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJpODIzNjUiLCAwKTsKICAgICBpZiAoaTgyMzY1X2RldmljZSkgewpAQCAtMTI3MywxMCArMTI3Myw4IEBACiAgICAgfSBlbHNlCiAJICAgIHJldCA9IC1FTk9NRU07CiAKLSAgICBpZiAocmV0KSB7Ci0JZHJpdmVyX3VucmVnaXN0ZXIoJmk4MjM2NV9kcml2ZXIpOwotCXJldHVybiByZXQ7Ci0gICAgfQorICAgIGlmIChyZXQpCisJZ290byBlcnJfZHJpdmVyX3VucmVnaXN0ZXI7CiAKICAgICBwcmludGsoS0VSTl9JTkZPICJJbnRlbCBJU0EgUENJQyBwcm9iZTogIik7CiAgICAgc29ja2V0cyA9IDA7CkBAIC0xMjg1LDE2ICsxMjgzLDE3IEBACiAKICAgICBpZiAoc29ja2V0cyA9PSAwKSB7CiAJcHJpbnRrKCJub3QgZm91bmQuXG4iKTsKLQlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihpODIzNjVfZGV2aWNlKTsKLQlyZWxlYXNlX3JlZ2lvbihpMzY1X2Jhc2UsIDIpOwotCWRyaXZlcl91bnJlZ2lzdGVyKCZpODIzNjVfZHJpdmVyKTsKLQlyZXR1cm4gLUVOT0RFVjsKKwlyZXQgPSAtRU5PREVWOworCWdvdG8gZXJyX2Rldl91bnJlZ2lzdGVyOwogICAgIH0KIAogICAgIC8qIFNldCB1cCBpbnRlcnJ1cHQgaGFuZGxlcihzKSAqLwogICAgIGlmIChncmFiX2lycSAhPSAwKQotCXJlcXVlc3RfaXJxKGNzX2lycSwgcGNpY19pbnRlcnJ1cHQsIDAsICJpODIzNjUiLCBwY2ljX2ludGVycnVwdCk7Ci0gICAgCisJcmV0ID0gcmVxdWVzdF9pcnEoY3NfaXJxLCBwY2ljX2ludGVycnVwdCwgMCwgImk4MjM2NSIsIHBjaWNfaW50ZXJydXB0KTsKKworICAgIGlmIChyZXQpCisJZ290byBlcnJfc29ja2V0X3JlbGVhc2U7CisKICAgICAvKiByZWdpc3RlciBzb2NrZXRzIHdpdGggdGhlIHBjbWNpYSBjb3JlICovCiAgICAgZm9yIChpID0gMDsgaSA8IHNvY2tldHM7IGkrKykgewogCSAgICBzb2NrZXRbaV0uc29ja2V0LmRldi5wYXJlbnQgPSAmaTgyMzY1X2RldmljZS0+ZGV2OwpAQCAtMTMyNCw3ICsxMzIzLDIzIEBACiAgICAgfQogICAgIAogICAgIHJldHVybiAwOwotICAgIAorZXJyX3NvY2tldF9yZWxlYXNlOgorICAgIGZvciAoaSA9IDA7IGkgPCBzb2NrZXRzOyBpKyspIHsKKwkvKiBUdXJuIG9mZiBhbGwgaW50ZXJydXB0IHNvdXJjZXMhICovCisJaTM2NV9zZXQoaSwgSTM2NV9DU0NJTlQsIDApOworCXJlbGVhc2VfcmVnaW9uKHNvY2tldFtpXS5pb2FkZHIsIDIpOworICAgIH0KK2Vycl9kZXZfdW5yZWdpc3RlcjoKKyAgICBwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihpODIzNjVfZGV2aWNlKTsKKyAgICByZWxlYXNlX3JlZ2lvbihpMzY1X2Jhc2UsIDIpOworI2lmZGVmIENPTkZJR19QTlAKKyAgICBpZiAoaTgyMzY1X3BucGRldikKKwlwbnBfZGlzYWJsZV9kZXYoaTgyMzY1X3BucGRldik7CisjZW5kaWYKK2Vycl9kcml2ZXJfdW5yZWdpc3RlcjoKKyAgICBkcml2ZXJfdW5yZWdpc3RlcigmaTgyMzY1X2RyaXZlcik7CitlcnJfb3V0OgorICAgIHJldHVybiByZXQ7CiB9IC8qIGluaXRfaTgyMzY1ICovCiAKIHN0YXRpYyB2b2lkIF9fZXhpdCBleGl0X2k4MjM2NSh2b2lkKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvbTh4eF9wY21jaWEuYyBiL2RyaXZlcnMvcGNtY2lhL204eHhfcGNtY2lhLmMKaW5kZXggYWM3MGQyYy4uMTNhNWZiZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvbTh4eF9wY21jaWEuYworKysgYi9kcml2ZXJzL3BjbWNpYS9tOHh4X3BjbWNpYS5jCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIG04eHhfcGNtY2lhLmMgLSBMaW51eCBQQ01DSUEgc29ja2V0IGRyaXZlciBmb3IgdGhlIG1wYzh4eCBzZXJpZXMuCiAgKgotICogKEMpIDE5OTktMjAwMCBNYWdudXMgRGFtbSA8ZGFtbUBiaXRzbWFydC5jb20+CisgKiAoQykgMTk5OS0yMDAwIE1hZ251cyBEYW1tIDxkYW1tQG9wZW5zb3VyY2Uuc2U+CiAgKiAoQykgMjAwMS0yMDAyIE1vbnRhdmlzdGEgU29mdHdhcmUsIEluYy4KICAqICAgICA8bWxvY2tlQG12aXN0YS5jb20+CiAgKgpAQCAtNjAsNyArNjAsNiBAQAogI2luY2x1ZGUgPGFzbS9vZl9kZXZpY2UuaD4KICNpbmNsdWRlIDxhc20vb2ZfcGxhdGZvcm0uaD4KIAotI2luY2x1ZGUgPHBjbWNpYS92ZXJzaW9uLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9vbWFwX2NmLmMgYi9kcml2ZXJzL3BjbWNpYS9vbWFwX2NmLmMKaW5kZXggNDYzMTRiNC4uNTY5Yjc0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvb21hcF9jZi5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL29tYXBfY2YuYwpAQCAtMzgsMTkgKzM4LDE5IEBACiAjZGVmaW5lCUNGX0JBU0UJMHhmZmZlMjgwMAogCiAvKiBzdGF0dXM7IHJlYWQgYWZ0ZXIgSVJRICovCi0jZGVmaW5lIENGX1NUQVRVU19SRUcJCV9fUkVHMTYoQ0ZfQkFTRSArIDB4MDApCisjZGVmaW5lIENGX1NUQVRVUwkJCShDRl9CQVNFICsgMHgwMCkKICMJZGVmaW5lCUNGX1NUQVRVU19CQURfUkVBRAkoMSA8PCAyKQogIwlkZWZpbmUJQ0ZfU1RBVFVTX0JBRF9XUklURQkoMSA8PCAxKQogIwlkZWZpbmUJQ0ZfU1RBVFVTX0NBUkRfREVURUNUCSgxIDw8IDApCiAKIC8qIHdoaWNoIGNoaXBzZWxlY3QgKENTMC4uQ1MzKSBpcyB1c2VkIGZvciBDRiAoYWN0aXZlIGxvdykgKi8KLSNkZWZpbmUgQ0ZfQ0ZHX1JFRwkJX19SRUcxNihDRl9CQVNFICsgMHgwMikKKyNkZWZpbmUgQ0ZfQ0ZHCQkJCShDRl9CQVNFICsgMHgwMikKIAogLyogY2FyZCByZXNldCAqLwotI2RlZmluZSBDRl9DT05UUk9MX1JFRwkJX19SRUcxNihDRl9CQVNFICsgMHgwNCkKKyNkZWZpbmUgQ0ZfQ09OVFJPTAkJCShDRl9CQVNFICsgMHgwNCkKICMJZGVmaW5lCUNGX0NPTlRST0xfUkVTRVQJKDEgPDwgMCkKIAotI2RlZmluZSBvbWFwX2NmX3ByZXNlbnQoKSAoIShDRl9TVEFUVVNfUkVHICYgQ0ZfU1RBVFVTX0NBUkRfREVURUNUKSkKKyNkZWZpbmUgb21hcF9jZl9wcmVzZW50KCkgKCEob21hcF9yZWFkdyhDRl9TVEFUVVMpICYgQ0ZfU1RBVFVTX0NBUkRfREVURUNUKSkKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKQEAgLTEzOSwxMSArMTM5LDExIEBACiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWNvbnRyb2wgPSBDRl9DT05UUk9MX1JFRzsKKwljb250cm9sID0gb21hcF9yZWFkdyhDRl9DT05UUk9MKTsKIAlpZiAocy0+ZmxhZ3MgJiBTU19SRVNFVCkKLQkJQ0ZfQ09OVFJPTF9SRUcgPSBDRl9DT05UUk9MX1JFU0VUOworCQlvbWFwX3dyaXRldyhDRl9DT05UUk9MX1JFU0VULCBDRl9DT05UUk9MKTsKIAllbHNlCi0JCUNGX0NPTlRST0xfUkVHID0gMDsKKwkJb21hcF93cml0ZXcoMCwgQ0ZfQ09OVFJPTCk7CiAKIAlwcl9kZWJ1ZygiJXM6IFZjYyAlZCwgaW9faXJxICVkLCBmbGFncyAlMDR4IGNzYyAlMDR4XG4iLAogCQlkcml2ZXJfbmFtZSwgcy0+VmNjLCBzLT5pb19pcnEsIHMtPmZsYWdzLCBzLT5jc2NfbWFzayk7CkBAIC0yNzAsNyArMjcwLDcgQEAKIAlvbWFwX2NmZ19yZWcoVjEwXzE2MTBfQ0ZfSVJFUSk7CiAJb21hcF9jZmdfcmVnKFcxMF8xNjEwX0NGX1JFU0VUKTsKIAotCUNGX0NGR19SRUcgPSB+KDEgPDwgc2VnKTsKKwlvbWFwX3dyaXRldyh+KDEgPDwgc2VnKSwgQ0ZfQ0ZHKTsKIAogCXByX2luZm8oIiVzOiBjcyVkIG9uIGlycSAlZFxuIiwgZHJpdmVyX25hbWUsIHNlZywgaXJxKTsKIApAQCAtMjc5LDE0ICsyNzksMTUgQEAKIAkgKiBDRi9QQ01DSUEgdmFyaWFudHMuLi4KIAkgKi8KIAlwcl9kZWJ1ZygiJXM6IGNzJWQsIHByZXZpb3VzIGNjcyAlMDh4IGFjcyAlMDh4XG4iLCBkcml2ZXJfbmFtZSwKLQkJCXNlZywgRU1JRlNfQ0NTKHNlZyksIEVNSUZTX0FDUyhzZWcpKTsKLQlFTUlGU19DQ1Moc2VnKSA9IDB4MDAwNGExYjM7CS8qIHN5bmNoIG1vZGUgNCBldGMgKi8KLQlFTUlGU19BQ1Moc2VnKSA9IDB4MDAwMDAwMDA7CS8qIE9FIGhvbGQvc2V0dXAgKi8KKwkJc2VnLCBvbWFwX3JlYWRsKEVNSUZTX0NDUyhzZWcpKSwgb21hcF9yZWFkbChFTUlGU19BQ1Moc2VnKSkpOworCW9tYXBfd3JpdGVsKDB4MDAwNGExYjMsIEVNSUZTX0NDUyhzZWcpKTsJLyogc3luY2ggbW9kZSA0IGV0YyAqLworCW9tYXBfd3JpdGVsKDB4MDAwMDAwMDAsIEVNSUZTX0FDUyhzZWcpKTsJLyogT0UgaG9sZC9zZXR1cCAqLwogCiAJLyogQ0YgdXNlcyBhcm14b3JfY2ssIHdoaWNoIGlzICJhbHdheXMiIGF2YWlsYWJsZSAqLwogCiAJcHJfZGVidWcoIiVzOiBzdHMgJTA0eCBjZmcgJTA0eCBjb250cm9sICUwNHggJXNcbiIsIGRyaXZlcl9uYW1lLAotCQlDRl9TVEFUVVNfUkVHLCBDRl9DRkdfUkVHLCBDRl9DT05UUk9MX1JFRywKKwkJb21hcF9yZWFkdyhDRl9TVEFUVVMpLCBvbWFwX3JlYWR3KENGX0NGRyksCisJCW9tYXBfcmVhZHcoQ0ZfQ09OVFJPTCksCiAJCW9tYXBfY2ZfcHJlc2VudCgpID8gInByZXNlbnQiIDogIihub3QgcHJlc2VudCkiKTsKIAogCWNmLT5zb2NrZXQub3duZXIgPSBUSElTX01PRFVMRTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9pb2N0bC5jIGIvZHJpdmVycy9wY21jaWEvcGNtY2lhX2lvY3RsLmMKaW5kZXggNWYxODZhYi4uNDE5Zjk3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvcGNtY2lhX2lvY3RsLmMKKysrIGIvZHJpdmVycy9wY21jaWEvcGNtY2lhX2lvY3RsLmMKQEAgLTI3LDEyICsyNywxMyBAQAogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KIAotI2RlZmluZSBJTl9DQVJEX1NFUlZJQ0VTCiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgorI2luY2x1ZGUgPHBjbWNpYS9jaXNyZWcuaD4KICNpbmNsdWRlIDxwY21jaWEvZHMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KIApAQCAtMTM4LDYgKzEzOSwxNTQgQEAKIH0KICNlbmRpZgogCisKKyNpZmRlZiBDT05GSUdfUENNQ0lBX1BST0JFCisKK3N0YXRpYyBpbnQgYWRqdXN0X2lycShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgYWRqdXN0X3QgKmFkaikKK3sKKwlpbnQgaXJxOworCXUzMiBtYXNrOworCisJaXJxID0gYWRqLT5yZXNvdXJjZS5pcnEuSVJROworCWlmICgoaXJxIDwgMCkgfHwgKGlycSA+IDE1KSkKKwkJcmV0dXJuIENTX0JBRF9JUlE7CisKKwlpZiAoYWRqLT5BY3Rpb24gIT0gUkVNT1ZFX01BTkFHRURfUkVTT1VSQ0UpCisJCXJldHVybiAwOworCisJbWFzayA9IDEgPDwgaXJxOworCisJaWYgKCEocy0+aXJxX21hc2sgJiBtYXNrKSkKKwkJcmV0dXJuIDA7CisKKwlzLT5pcnFfbWFzayAmPSB+bWFzazsKKworCXJldHVybiAwOworfQorCisjZWxzZQorCitzdGF0aWMgaW5saW5lIGludCBhZGp1c3RfaXJxKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBhZGp1c3RfdCAqYWRqKSB7CisJcmV0dXJuIENTX1NVQ0NFU1M7Cit9CisKKyNlbmRpZgorCitzdGF0aWMgaW50IHBjbWNpYV9hZGp1c3RfcmVzb3VyY2VfaW5mbyhhZGp1c3RfdCAqYWRqKQoreworCXN0cnVjdCBwY21jaWFfc29ja2V0ICpzOworCWludCByZXQgPSBDU19VTlNVUFBPUlRFRF9GVU5DVElPTjsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJZG93bl9yZWFkKCZwY21jaWFfc29ja2V0X2xpc3RfcndzZW0pOworCWxpc3RfZm9yX2VhY2hfZW50cnkocywgJnBjbWNpYV9zb2NrZXRfbGlzdCwgc29ja2V0X2xpc3QpIHsKKworCQlpZiAoYWRqLT5SZXNvdXJjZSA9PSBSRVNfSVJRKQorCQkJcmV0ID0gYWRqdXN0X2lycShzLCBhZGopOworCisJCWVsc2UgaWYgKHMtPnJlc291cmNlX29wcy0+YWRkX2lvKSB7CisJCQl1bnNpZ25lZCBsb25nIGJlZ2luLCBlbmQ7CisKKwkJCS8qIHlvdSBjYW4ndCB1c2UgdGhlIG9sZCBpbnRlcmZhY2UgaWYgdGhlIG5ldworCQkJICogb25lIHdhcyB1c2VkIGJlZm9yZSAqLworCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnMtPmxvY2ssIGZsYWdzKTsKKwkJCWlmICgocy0+cmVzb3VyY2Vfc2V0dXBfbmV3KSAmJgorCQkJICAgICEocy0+cmVzb3VyY2Vfc2V0dXBfb2xkKSkgeworCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPmxvY2ssIGZsYWdzKTsKKwkJCQljb250aW51ZTsKKwkJCX0gZWxzZSBpZiAoIShzLT5yZXNvdXJjZV9zZXR1cF9vbGQpKQorCQkJCXMtPnJlc291cmNlX3NldHVwX29sZCA9IDE7CisJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7CisKKwkJCXN3aXRjaCAoYWRqLT5SZXNvdXJjZSkgeworCQkJY2FzZSBSRVNfTUVNT1JZX1JBTkdFOgorCQkJCWJlZ2luID0gYWRqLT5yZXNvdXJjZS5tZW1vcnkuQmFzZTsKKwkJCQllbmQgPSBhZGotPnJlc291cmNlLm1lbW9yeS5CYXNlICsgYWRqLT5yZXNvdXJjZS5tZW1vcnkuU2l6ZSAtIDE7CisJCQkJaWYgKHMtPnJlc291cmNlX29wcy0+YWRkX21lbSkKKwkJCQkJcmV0ID1zLT5yZXNvdXJjZV9vcHMtPmFkZF9tZW0ocywgYWRqLT5BY3Rpb24sIGJlZ2luLCBlbmQpOworCQkJY2FzZSBSRVNfSU9fUkFOR0U6CisJCQkJYmVnaW4gPSBhZGotPnJlc291cmNlLmlvLkJhc2VQb3J0OworCQkJCWVuZCA9IGFkai0+cmVzb3VyY2UuaW8uQmFzZVBvcnQgKyBhZGotPnJlc291cmNlLmlvLk51bVBvcnRzIC0gMTsKKwkJCQlpZiAocy0+cmVzb3VyY2Vfb3BzLT5hZGRfaW8pCisJCQkJCXJldCA9IHMtPnJlc291cmNlX29wcy0+YWRkX2lvKHMsIGFkai0+QWN0aW9uLCBiZWdpbiwgZW5kKTsKKwkJCX0KKwkJCWlmICghcmV0KSB7CisJCQkJLyogYXMgdGhlcmUncyBubyB3YXkgd2Uga25vdyB0aGlzIGlzIHRoZQorCQkJCSAqIGxhc3QgY2FsbCB0byBhZGp1c3RfcmVzb3VyY2VfaW5mbywgd2UKKwkJCQkgKiBhbHdheXMgbmVlZCB0byBhc3N1bWUgdGhpcyBpcyB0aGUgbGF0ZXN0CisJCQkJICogb25lLi4uICovCisJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnMtPmxvY2ssIGZsYWdzKTsKKwkJCQlzLT5yZXNvdXJjZV9zZXR1cF9kb25lID0gMTsKKwkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7CisJCQl9CisJCX0KKwl9CisJdXBfcmVhZCgmcGNtY2lhX3NvY2tldF9saXN0X3J3c2VtKTsKKworCXJldHVybiAocmV0KTsKK30KKworLyoqIHBjY2FyZF9nZXRfc3RhdHVzCisgKgorICogR2V0IHRoZSBjdXJyZW50IHNvY2tldCBzdGF0ZSBiaXRzLiAgV2UgZG9uJ3Qgc3VwcG9ydCB0aGUgbGF0Y2hlZAorICogU29ja2V0U3RhdGUgeWV0OiBJIGhhdmVuJ3Qgc2VlbiBhbnkgcG9pbnQgZm9yIGl0LgorICovCisKK3N0YXRpYyBpbnQgcGNjYXJkX2dldF9zdGF0dXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsCisJCQkgICAgIHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwKKwkJCSAgICAgY3Nfc3RhdHVzX3QgKnN0YXR1cykKK3sKKwljb25maWdfdCAqYzsKKwlpbnQgdmFsOworCisJcy0+b3BzLT5nZXRfc3RhdHVzKHMsICZ2YWwpOworCXN0YXR1cy0+Q2FyZFN0YXRlID0gc3RhdHVzLT5Tb2NrZXRTdGF0ZSA9IDA7CisJc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTX0RFVEVDVCkgPyBDU19FVkVOVF9DQVJEX0RFVEVDVCA6IDA7CisJc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTX0NBUkRCVVMpID8gQ1NfRVZFTlRfQ0JfREVURUNUIDogMDsKKwlzdGF0dXMtPkNhcmRTdGF0ZSB8PSAodmFsICYgU1NfM1ZDQVJEKSA/IENTX0VWRU5UXzNWQ0FSRCA6IDA7CisJc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTX1hWQ0FSRCkgPyBDU19FVkVOVF9YVkNBUkQgOiAwOworCWlmIChzLT5zdGF0ZSAmIFNPQ0tFVF9TVVNQRU5EKQorCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PSBDU19FVkVOVF9QTV9TVVNQRU5EOworCWlmICghKHMtPnN0YXRlICYgU09DS0VUX1BSRVNFTlQpKQorCQlyZXR1cm4gQ1NfTk9fQ0FSRDsKKworCWMgPSAocF9kZXYpID8gcF9kZXYtPmZ1bmN0aW9uX2NvbmZpZyA6IE5VTEw7CisKKwlpZiAoKGMgIT0gTlVMTCkgJiYgKGMtPnN0YXRlICYgQ09ORklHX0xPQ0tFRCkgJiYKKwkgICAgKGMtPkludFR5cGUgJiAoSU5UX01FTU9SWV9BTkRfSU8gfCBJTlRfWk9PTUVEX1ZJREVPKSkpIHsKKwkJdV9jaGFyIHJlZzsKKwkJaWYgKGMtPkNhcmRWYWx1ZXMgJiBQUkVTRU5UX1BJTl9SRVBMQUNFKSB7CisJCQlwY21jaWFfcmVhZF9jaXNfbWVtKHMsIDEsIChjLT5Db25maWdCYXNlK0NJU1JFR19QUlIpPj4xLCAxLCAmcmVnKTsKKwkJCXN0YXR1cy0+Q2FyZFN0YXRlIHw9CisJCQkJKHJlZyAmIFBSUl9XUF9TVEFUVVMpID8gQ1NfRVZFTlRfV1JJVEVfUFJPVEVDVCA6IDA7CisJCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkJCShyZWcgJiBQUlJfUkVBRFlfU1RBVFVTKSA/IENTX0VWRU5UX1JFQURZX0NIQU5HRSA6IDA7CisJCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkJCShyZWcgJiBQUlJfQlZEMl9TVEFUVVMpID8gQ1NfRVZFTlRfQkFUVEVSWV9MT1cgOiAwOworCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJCQkocmVnICYgUFJSX0JWRDFfU1RBVFVTKSA/IENTX0VWRU5UX0JBVFRFUllfREVBRCA6IDA7CisJCX0gZWxzZSB7CisJCQkvKiBObyBQUlI/ICBUaGVuIGFzc3VtZSB3ZSdyZSBhbHdheXMgcmVhZHkgKi8KKwkJCXN0YXR1cy0+Q2FyZFN0YXRlIHw9IENTX0VWRU5UX1JFQURZX0NIQU5HRTsKKwkJfQorCQlpZiAoYy0+Q2FyZFZhbHVlcyAmIFBSRVNFTlRfRVhUX1NUQVRVUykgeworCQkJcGNtY2lhX3JlYWRfY2lzX21lbShzLCAxLCAoYy0+Q29uZmlnQmFzZStDSVNSRUdfRVNSKT4+MSwgMSwgJnJlZyk7CisJCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkJCShyZWcgJiBFU1JfUkVRX0FUVE4pID8gQ1NfRVZFTlRfUkVRVUVTVF9BVFRFTlRJT04gOiAwOworCQl9CisJCXJldHVybiBDU19TVUNDRVNTOworCX0KKwlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkodmFsICYgU1NfV1JQUk9UKSA/IENTX0VWRU5UX1dSSVRFX1BST1RFQ1QgOiAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9CisJCSh2YWwgJiBTU19CQVRERUFEKSA/IENTX0VWRU5UX0JBVFRFUllfREVBRCA6IDA7CisJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJKHZhbCAmIFNTX0JBVFdBUk4pID8gQ1NfRVZFTlRfQkFUVEVSWV9MT1cgOiAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9CisJCSh2YWwgJiBTU19SRUFEWSkgPyBDU19FVkVOVF9SRUFEWV9DSEFOR0UgOiAwOworCXJldHVybiBDU19TVUNDRVNTOworfSAvKiBwY2NhcmRfZ2V0X3N0YXR1cyAqLworCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAogICAgIFRoZXNlIG1hbmFnZSBhIHJpbmcgYnVmZmVyIG9mIGV2ZW50cyBwZW5kaW5nIGZvciBvbmUgdXNlciBwcm9jZXNzCkBAIC0zOTcsMjAgKzU0NiwyNyBAQAogICAgIHN0cnVjdCBwY21jaWFfc29ja2V0ICpzOwogICAgIHVzZXJfaW5mb190ICp1c2VyOwogICAgIHN0YXRpYyBpbnQgd2FybmluZ19wcmludGVkID0gMDsKKyAgICBpbnQgcmV0ID0gMDsKIAogICAgIGRzX2RiZygwLCAiZHNfb3Blbihzb2NrZXQgJWQpXG4iLCBpKTsKIAorICAgIGxvY2tfa2VybmVsKCk7CiAgICAgcyA9IHBjbWNpYV9nZXRfc29ja2V0X2J5X25yKGkpOwotICAgIGlmICghcykKLQkgICAgcmV0dXJuIC1FTk9ERVY7CisgICAgaWYgKCFzKSB7CisJICAgIHJldCA9IC1FTk9ERVY7CisJICAgIGdvdG8gb3V0OworICAgIH0KICAgICBzID0gcGNtY2lhX2dldF9zb2NrZXQocyk7Ci0gICAgaWYgKCFzKQotCSAgICByZXR1cm4gLUVOT0RFVjsKKyAgICBpZiAoIXMpIHsKKwkgICAgcmV0ID0gLUVOT0RFVjsKKwkgICAgZ290byBvdXQ7CisgICAgfQogCiAgICAgaWYgKChmaWxlLT5mX2ZsYWdzICYgT19BQ0NNT0RFKSAhPSBPX1JET05MWSkgewogCSAgICBpZiAocy0+cGNtY2lhX3N0YXRlLmJ1c3kpIHsKIAkJICAgIHBjbWNpYV9wdXRfc29ja2V0KHMpOwotCQkgICAgcmV0dXJuIC1FQlVTWTsKKwkJICAgIHJldCA9IC1FQlVTWTsKKwkJICAgIGdvdG8gb3V0OwogCSAgICB9CiAJZWxzZQogCSAgICBzLT5wY21jaWFfc3RhdGUuYnVzeSA9IDE7CkBAIC00MTksNyArNTc1LDggQEAKICAgICB1c2VyID0ga21hbGxvYyhzaXplb2YodXNlcl9pbmZvX3QpLCBHRlBfS0VSTkVMKTsKICAgICBpZiAoIXVzZXIpIHsKIAkgICAgcGNtY2lhX3B1dF9zb2NrZXQocyk7Ci0JICAgIHJldHVybiAtRU5PTUVNOworCSAgICByZXQgPSAtRU5PTUVNOworCSAgICBnb3RvIG91dDsKICAgICB9CiAgICAgdXNlci0+ZXZlbnRfdGFpbCA9IHVzZXItPmV2ZW50X2hlYWQgPSAwOwogICAgIHVzZXItPm5leHQgPSBzLT51c2VyOwpAQCAtNDQxLDcgKzU5OCw5IEBACiAKICAgICBpZiAocy0+cGNtY2lhX3N0YXRlLnByZXNlbnQpCiAJcXVldWVfZXZlbnQodXNlciwgQ1NfRVZFTlRfQ0FSRF9JTlNFUlRJT04pOwotICAgIHJldHVybiAwOworb3V0OgorICAgIHVubG9ja19rZXJuZWwoKTsKKyAgICByZXR1cm4gcmV0OwogfSAvKiBkc19vcGVuICovCiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwpAQCAtNTQ2LDggKzcwNSw2IEBACiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogCi1leHRlcm4gaW50IHBjbWNpYV9hZGp1c3RfcmVzb3VyY2VfaW5mbyhhZGp1c3RfdCAqYWRqKTsKLQogc3RhdGljIGludCBkc19pb2N0bChzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxlLAogCQkgICAgdV9pbnQgY21kLCB1X2xvbmcgYXJnKQogewpAQCAtNjQ5LDcgKzgwNiw3IEBACiAJbXV0ZXhfbG9jaygmcy0+c2t0X211dGV4KTsKIAlwY21jaWFfdmFsaWRhdGVfbWVtKHMpOwogCW11dGV4X3VubG9jaygmcy0+c2t0X211dGV4KTsKLQlyZXQgPSBwY2NhcmRfdmFsaWRhdGVfY2lzKHMsIEJJTkRfRk5fQUxMLCAmYnVmLT5jaXNpbmZvKTsKKwlyZXQgPSBwY2NhcmRfdmFsaWRhdGVfY2lzKHMsIEJJTkRfRk5fQUxMLCAmYnVmLT5jaXNpbmZvLkNoYWlucyk7CiAJYnJlYWs7CiAgICAgY2FzZSBEU19TVVNQRU5EX0NBUkQ6CiAJcmV0ID0gcGNtY2lhX3N1c3BlbmRfY2FyZChzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9yZXNvdXJjZS5jIGIvZHJpdmVycy9wY21jaWEvcGNtY2lhX3Jlc291cmNlLmMKaW5kZXggMWQxMjhmYi4uNDg4NGExOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvcGNtY2lhX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9wY21jaWEvcGNtY2lhX3Jlc291cmNlLmMKQEAgLTIxLDExICsyMSw5IEBACiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAKLSNkZWZpbmUgSU5fQ0FSRF9TRVJWSUNFUwogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXNyZWcuaD4KICNpbmNsdWRlIDxwY21jaWEvZHMuaD4KQEAgLTMxMSw3NCArMzA5LDYgQEAKIEVYUE9SVF9TWU1CT0wocGNtY2lhX2dldF93aW5kb3cpOwogCiAKLS8qKiBwY2NhcmRfZ2V0X3N0YXR1cwotICoKLSAqIEdldCB0aGUgY3VycmVudCBzb2NrZXQgc3RhdGUgYml0cy4gIFdlIGRvbid0IHN1cHBvcnQgdGhlIGxhdGNoZWQKLSAqIFNvY2tldFN0YXRlIHlldDogSSBoYXZlbid0IHNlZW4gYW55IHBvaW50IGZvciBpdC4KLSAqLwotCi1pbnQgcGNjYXJkX2dldF9zdGF0dXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwKLQkJICAgICAgY3Nfc3RhdHVzX3QgKnN0YXR1cykKLXsKLQljb25maWdfdCAqYzsKLQlpbnQgdmFsOwotCi0Jcy0+b3BzLT5nZXRfc3RhdHVzKHMsICZ2YWwpOwotCXN0YXR1cy0+Q2FyZFN0YXRlID0gc3RhdHVzLT5Tb2NrZXRTdGF0ZSA9IDA7Ci0Jc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTX0RFVEVDVCkgPyBDU19FVkVOVF9DQVJEX0RFVEVDVCA6IDA7Ci0Jc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTX0NBUkRCVVMpID8gQ1NfRVZFTlRfQ0JfREVURUNUIDogMDsKLQlzdGF0dXMtPkNhcmRTdGF0ZSB8PSAodmFsICYgU1NfM1ZDQVJEKSA/IENTX0VWRU5UXzNWQ0FSRCA6IDA7Ci0Jc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTX1hWQ0FSRCkgPyBDU19FVkVOVF9YVkNBUkQgOiAwOwotCWlmIChzLT5zdGF0ZSAmIFNPQ0tFVF9TVVNQRU5EKQotCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PSBDU19FVkVOVF9QTV9TVVNQRU5EOwotCWlmICghKHMtPnN0YXRlICYgU09DS0VUX1BSRVNFTlQpKQotCQlyZXR1cm4gQ1NfTk9fQ0FSRDsKLQotCWMgPSAocF9kZXYpID8gcF9kZXYtPmZ1bmN0aW9uX2NvbmZpZyA6IE5VTEw7Ci0KLQlpZiAoKGMgIT0gTlVMTCkgJiYgKGMtPnN0YXRlICYgQ09ORklHX0xPQ0tFRCkgJiYKLQkgICAgKGMtPkludFR5cGUgJiAoSU5UX01FTU9SWV9BTkRfSU8gfCBJTlRfWk9PTUVEX1ZJREVPKSkpIHsKLQkJdV9jaGFyIHJlZzsKLQkJaWYgKGMtPkNhcmRWYWx1ZXMgJiBQUkVTRU5UX1BJTl9SRVBMQUNFKSB7Ci0JCQlwY21jaWFfcmVhZF9jaXNfbWVtKHMsIDEsIChjLT5Db25maWdCYXNlK0NJU1JFR19QUlIpPj4xLCAxLCAmcmVnKTsKLQkJCXN0YXR1cy0+Q2FyZFN0YXRlIHw9Ci0JCQkJKHJlZyAmIFBSUl9XUF9TVEFUVVMpID8gQ1NfRVZFTlRfV1JJVEVfUFJPVEVDVCA6IDA7Ci0JCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkJCShyZWcgJiBQUlJfUkVBRFlfU1RBVFVTKSA/IENTX0VWRU5UX1JFQURZX0NIQU5HRSA6IDA7Ci0JCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkJCShyZWcgJiBQUlJfQlZEMl9TVEFUVVMpID8gQ1NfRVZFTlRfQkFUVEVSWV9MT1cgOiAwOwotCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJCQkocmVnICYgUFJSX0JWRDFfU1RBVFVTKSA/IENTX0VWRU5UX0JBVFRFUllfREVBRCA6IDA7Ci0JCX0gZWxzZSB7Ci0JCQkvKiBObyBQUlI/ICBUaGVuIGFzc3VtZSB3ZSdyZSBhbHdheXMgcmVhZHkgKi8KLQkJCXN0YXR1cy0+Q2FyZFN0YXRlIHw9IENTX0VWRU5UX1JFQURZX0NIQU5HRTsKLQkJfQotCQlpZiAoYy0+Q2FyZFZhbHVlcyAmIFBSRVNFTlRfRVhUX1NUQVRVUykgewotCQkJcGNtY2lhX3JlYWRfY2lzX21lbShzLCAxLCAoYy0+Q29uZmlnQmFzZStDSVNSRUdfRVNSKT4+MSwgMSwgJnJlZyk7Ci0JCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkJCShyZWcgJiBFU1JfUkVRX0FUVE4pID8gQ1NfRVZFTlRfUkVRVUVTVF9BVFRFTlRJT04gOiAwOwotCQl9Ci0JCXJldHVybiBDU19TVUNDRVNTOwotCX0KLQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkodmFsICYgU1NfV1JQUk9UKSA/IENTX0VWRU5UX1dSSVRFX1BST1RFQ1QgOiAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9Ci0JCSh2YWwgJiBTU19CQVRERUFEKSA/IENTX0VWRU5UX0JBVFRFUllfREVBRCA6IDA7Ci0Jc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJKHZhbCAmIFNTX0JBVFdBUk4pID8gQ1NfRVZFTlRfQkFUVEVSWV9MT1cgOiAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9Ci0JCSh2YWwgJiBTU19SRUFEWSkgPyBDU19FVkVOVF9SRUFEWV9DSEFOR0UgOiAwOwotCXJldHVybiBDU19TVUNDRVNTOwotfSAvKiBwY2NhcmRfZ2V0X3N0YXR1cyAqLwotCi1pbnQgcGNtY2lhX2dldF9zdGF0dXMoc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBjc19zdGF0dXNfdCAqc3RhdHVzKQotewotCXJldHVybiBwY2NhcmRfZ2V0X3N0YXR1cyhwX2Rldi0+c29ja2V0LCBwX2Rldiwgc3RhdHVzKTsKLX0KLUVYUE9SVF9TWU1CT0wocGNtY2lhX2dldF9zdGF0dXMpOwotCi0KLQogLyoqIHBjbWNpYV9nZXRfbWVtX3BhZ2UKICAqCiAgKiBDaGFuZ2UgdGhlIGNhcmQgYWRkcmVzcyBvZiBhbiBhbHJlYWR5IG9wZW4gbWVtb3J5IHdpbmRvdy4KQEAgLTgxMiw2ICs3NDIsMTUgQEAKIAkJdHlwZSA9IElSUUZfU0hBUkVEOwogCiAjaWZkZWYgQ09ORklHX1BDTUNJQV9QUk9CRQorCisjaWZkZWYgSVJRX05PQVVUT0VOCisJLyogaWYgdGhlIHVuZGVybHlpbmcgSVJRIGluZnJhc3RydWN0dXJlIGFsbG93cyBmb3IgaXQsIG9ubHkgYWxsb2NhdGUKKwkgKiB0aGUgSVJRLCBidXQgZG8gbm90IGVuYWJsZSBpdAorCSAqLworCWlmICghKHJlcS0+QXR0cmlidXRlcyAmIElSUV9IQU5ETEVfUFJFU0VOVCkpCisJCXR5cGUgfD0gSVJRX05PQVVUT0VOOworI2VuZGlmIC8qIElSUV9OT0FVVE9FTiAqLworCiAJaWYgKHMtPmlycS5Bc3NpZ25lZElSUSAhPSAwKSB7CiAJCS8qIElmIHRoZSBpbnRlcnJ1cHQgaXMgYWxyZWFkeSBhc3NpZ25lZCwgaXQgbXVzdCBiZSB0aGUgc2FtZSAqLwogCQlpcnEgPSBzLT5pcnEuQXNzaWduZWRJUlE7CkBAIC05NjYsNyArOTA1LDcgQEAKIAlwY21jaWFfcmVsZWFzZV9jb25maWd1cmF0aW9uKHBfZGV2KTsKIAlwY21jaWFfcmVsZWFzZV9pbyhwX2RldiwgJnBfZGV2LT5pbyk7CiAJcGNtY2lhX3JlbGVhc2VfaXJxKHBfZGV2LCAmcF9kZXYtPmlycSk7Ci0JaWYgKCZwX2Rldi0+d2luKQorCWlmIChwX2Rldi0+d2luKQogCQlwY21jaWFfcmVsZWFzZV93aW5kb3cocF9kZXYtPndpbik7CiB9CiBFWFBPUlRfU1lNQk9MKHBjbWNpYV9kaXNhYmxlX2RldmljZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfYmFzZS5jIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X2Jhc2UuYwppbmRleCA5NDE0MTYzLi5jY2ZkZjE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfYmFzZS5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9iYXNlLmMKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogCiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9jbV94MjcwLmMgYi9kcml2ZXJzL3BjbWNpYS9weGEyeHhfY21feDI3MC5jCmluZGV4IGU3YWIwNjAuLmYxMjNmY2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9jbV94MjcwLmMKKysrIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X2NtX3gyNzAuYwpAQCAtMTgsNiArMTgsNyBAQAogCiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KQEAgLTEzMCw3ICsxMzEsNyBAQAogfQogCiAKLXN0YXRpYyBzdHJ1Y3QgcGNtY2lhX2xvd19sZXZlbCBjbXgyNzBfcGNtY2lhX29wcyA9IHsKK3N0YXRpYyBzdHJ1Y3QgcGNtY2lhX2xvd19sZXZlbCBjbXgyNzBfcGNtY2lhX29wcyBfX2luaXRkYXRhID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmh3X2luaXQJCT0gY214MjcwX3BjbWNpYV9od19pbml0LAogCS5od19zaHV0ZG93bgkJPSBjbXgyNzBfcGNtY2lhX3NodXRkb3duLApAQCAtMTQ3LDE1ICsxNDgsMjEgQEAKIHsKIAlpbnQgcmV0OwogCisJaWYgKCFtYWNoaW5lX2lzX2FybWNvcmUoKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKIAljbXgyNzBfcGNtY2lhX2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygicHhhMnh4LXBjbWNpYSIsIC0xKTsKIAogCWlmICghY214MjcwX3BjbWNpYV9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JY214MjcwX3BjbWNpYV9kZXZpY2UtPmRldi5wbGF0Zm9ybV9kYXRhID0gJmNteDI3MF9wY21jaWFfb3BzOworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGRfZGF0YShjbXgyNzBfcGNtY2lhX2RldmljZSwgJmNteDI3MF9wY21jaWFfb3BzLAorCQkJCSAgICAgICBzaXplb2YoY214MjcwX3BjbWNpYV9vcHMpKTsKIAotCXByaW50ayhLRVJOX0lORk8gIlJlZ2lzdGVyaW5nIGNtLXgyNzAgUENNQ0lBIGludGVyZmFjZS5cbiIpOwotCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoY214MjcwX3BjbWNpYV9kZXZpY2UpOworCWlmIChyZXQgPT0gMCkgeworCQlwcmludGsoS0VSTl9JTkZPICJSZWdpc3RlcmluZyBjbS14MjcwIFBDTUNJQSBpbnRlcmZhY2UuXG4iKTsKKwkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChjbXgyNzBfcGNtY2lhX2RldmljZSk7CisJfQogCiAJaWYgKHJldCkKIAkJcGxhdGZvcm1fZGV2aWNlX3B1dChjbXgyNzBfcGNtY2lhX2RldmljZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfbWFpbnN0b25lLmMgYi9kcml2ZXJzL3BjbWNpYS9weGEyeHhfbWFpbnN0b25lLmMKaW5kZXggMTQ1Yjg1ZS4uOTJkMWNjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvcHhhMnh4X21haW5zdG9uZS5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9tYWluc3RvbmUuYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgogCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgpAQCAtMTM2LDcgKzEzNyw3IEBACiB7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgcGNtY2lhX2xvd19sZXZlbCBtc3RfcGNtY2lhX29wcyA9IHsKK3N0YXRpYyBzdHJ1Y3QgcGNtY2lhX2xvd19sZXZlbCBtc3RfcGNtY2lhX29wcyBfX2luaXRkYXRhID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmh3X2luaXQJCT0gbXN0X3BjbWNpYV9od19pbml0LAogCS5od19zaHV0ZG93bgkJPSBtc3RfcGNtY2lhX2h3X3NodXRkb3duLApAQCAtMTUzLDEzICsxNTQsMTcgQEAKIHsKIAlpbnQgcmV0OwogCisJaWYgKCFtYWNoaW5lX2lzX21haW5zdG9uZSgpKQorCQlyZXR1cm4gLUVOT0RFVjsKKwogCW1zdF9wY21jaWFfZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJweGEyeHgtcGNtY2lhIiwgLTEpOwogCWlmICghbXN0X3BjbWNpYV9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JbXN0X3BjbWNpYV9kZXZpY2UtPmRldi5wbGF0Zm9ybV9kYXRhID0gJm1zdF9wY21jaWFfb3BzOwotCi0JcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChtc3RfcGNtY2lhX2RldmljZSk7CisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZF9kYXRhKG1zdF9wY21jaWFfZGV2aWNlLCAmbXN0X3BjbWNpYV9vcHMsCisJCQkJICAgICAgIHNpemVvZihtc3RfcGNtY2lhX29wcykpOworCWlmIChyZXQgPT0gMCkKKwkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChtc3RfcGNtY2lhX2RldmljZSk7CiAKIAlpZiAocmV0KQogCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KG1zdF9wY21jaWFfZGV2aWNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9zaGFycHNsLmMgYi9kcml2ZXJzL3BjbWNpYS9weGEyeHhfc2hhcnBzbC5jCmluZGV4IGQ1YzMzYmQuLmQ3MWY5M2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9zaGFycHNsLmMKKysrIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X3NoYXJwc2wuYwpAQCAtMjIyLDcgKzIyMiw3IEBACiAJc2hhcnBzbF9wY21jaWFfaW5pdF9yZXNldChza3QpOwogfQogCi1zdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgc2hhcnBzbF9wY21jaWFfb3BzID0geworc3RhdGljIHN0cnVjdCBwY21jaWFfbG93X2xldmVsIHNoYXJwc2xfcGNtY2lhX29wcyBfX2luaXRkYXRhID0gewogCS5vd25lciAgICAgICAgICAgICAgICAgID0gVEhJU19NT0RVTEUsCiAJLmh3X2luaXQgICAgICAgICAgICAgICAgPSBzaGFycHNsX3BjbWNpYV9od19pbml0LAogCS5od19zaHV0ZG93biAgICAgICAgICAgID0gc2hhcnBzbF9wY21jaWFfaHdfc2h1dGRvd24sCkBAIC0yNjEsMTAgKzI2MSwxMiBAQAogCWlmICghc2hhcnBzbF9wY21jaWFfZGV2aWNlKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXNoYXJwc2xfcGNtY2lhX2RldmljZS0+ZGV2LnBsYXRmb3JtX2RhdGEgPSAmc2hhcnBzbF9wY21jaWFfb3BzOwotCXNoYXJwc2xfcGNtY2lhX2RldmljZS0+ZGV2LnBhcmVudCA9IHBsYXRmb3JtX3Njb29wX2NvbmZpZy0+ZGV2c1swXS5kZXY7Ci0KLQlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkKHNoYXJwc2xfcGNtY2lhX2RldmljZSk7CisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZF9kYXRhKHNoYXJwc2xfcGNtY2lhX2RldmljZSwKKwkJCSZzaGFycHNsX3BjbWNpYV9vcHMsIHNpemVvZihzaGFycHNsX3BjbWNpYV9vcHMpKTsKKwlpZiAocmV0ID09IDApIHsKKwkJc2hhcnBzbF9wY21jaWFfZGV2aWNlLT5kZXYucGFyZW50ID0gcGxhdGZvcm1fc2Nvb3BfY29uZmlnLT5kZXZzWzBdLmRldjsKKwkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChzaGFycHNsX3BjbWNpYV9kZXZpY2UpOworCX0KIAogCWlmIChyZXQpCiAJCXBsYXRmb3JtX2RldmljZV9wdXQoc2hhcnBzbF9wY21jaWFfZGV2aWNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL3JzcmNfbWdyLmMgYi9kcml2ZXJzL3BjbWNpYS9yc3JjX21nci5jCmluZGV4IGNlMjIyNjIuLmMwZTJhZmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3JzcmNfbWdyLmMKKysrIGIvZHJpdmVycy9wY21jaWEvcnNyY19tZ3IuYwpAQCAtMjEsODYgKzIxLDYgQEAKICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCiAKLSNpZmRlZiBDT05GSUdfUENNQ0lBX0lPQ1RMCi0KLSNpZmRlZiBDT05GSUdfUENNQ0lBX1BST0JFCi0KLXN0YXRpYyBpbnQgYWRqdXN0X2lycShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgYWRqdXN0X3QgKmFkaikKLXsKLQlpbnQgaXJxOwotCXUzMiBtYXNrOwotCi0JaXJxID0gYWRqLT5yZXNvdXJjZS5pcnEuSVJROwotCWlmICgoaXJxIDwgMCkgfHwgKGlycSA+IDE1KSkKLQkJcmV0dXJuIENTX0JBRF9JUlE7Ci0KLQlpZiAoYWRqLT5BY3Rpb24gIT0gUkVNT1ZFX01BTkFHRURfUkVTT1VSQ0UpCi0JCXJldHVybiAwOwotCi0JbWFzayA9IDEgPDwgaXJxOwotCi0JaWYgKCEocy0+aXJxX21hc2sgJiBtYXNrKSkKLQkJcmV0dXJuIDA7Ci0KLQlzLT5pcnFfbWFzayAmPSB+bWFzazsKLQotCXJldHVybiAwOwotfQotCi0jZWxzZQotCi1zdGF0aWMgaW5saW5lIGludCBhZGp1c3RfaXJxKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBhZGp1c3RfdCAqYWRqKSB7Ci0JcmV0dXJuIENTX1NVQ0NFU1M7Ci19Ci0KLSNlbmRpZgotCi0KLWludCBwY21jaWFfYWRqdXN0X3Jlc291cmNlX2luZm8oYWRqdXN0X3QgKmFkaikKLXsKLQlzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqczsKLQlpbnQgcmV0ID0gQ1NfVU5TVVBQT1JURURfRlVOQ1RJT047Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCWRvd25fcmVhZCgmcGNtY2lhX3NvY2tldF9saXN0X3J3c2VtKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHMsICZwY21jaWFfc29ja2V0X2xpc3QsIHNvY2tldF9saXN0KSB7Ci0KLQkJaWYgKGFkai0+UmVzb3VyY2UgPT0gUkVTX0lSUSkKLQkJCXJldCA9IGFkanVzdF9pcnEocywgYWRqKTsKLQotCQllbHNlIGlmIChzLT5yZXNvdXJjZV9vcHMtPmFkanVzdF9yZXNvdXJjZSkgewotCi0JCQkvKiB5b3UgY2FuJ3QgdXNlIHRoZSBvbGQgaW50ZXJmYWNlIGlmIHRoZSBuZXcKLQkJCSAqIG9uZSB3YXMgdXNlZCBiZWZvcmUgKi8KLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCBmbGFncyk7Ci0JCQlpZiAoKHMtPnJlc291cmNlX3NldHVwX25ldykgJiYKLQkJCSAgICAhKHMtPnJlc291cmNlX3NldHVwX29sZCkpIHsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7Ci0JCQkJY29udGludWU7Ci0JCQl9IGVsc2UgaWYgKCEocy0+cmVzb3VyY2Vfc2V0dXBfb2xkKSkKLQkJCQlzLT5yZXNvdXJjZV9zZXR1cF9vbGQgPSAxOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOwotCi0JCQlyZXQgPSBzLT5yZXNvdXJjZV9vcHMtPmFkanVzdF9yZXNvdXJjZShzLCBhZGopOwotCQkJaWYgKCFyZXQpIHsKLQkJCQkvKiBhcyB0aGVyZSdzIG5vIHdheSB3ZSBrbm93IHRoaXMgaXMgdGhlCi0JCQkJICogbGFzdCBjYWxsIHRvIGFkanVzdF9yZXNvdXJjZV9pbmZvLCB3ZQotCQkJCSAqIGFsd2F5cyBuZWVkIHRvIGFzc3VtZSB0aGlzIGlzIHRoZSBsYXRlc3QKLQkJCQkgKiBvbmUuLi4gKi8KLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgZmxhZ3MpOwotCQkJCXMtPnJlc291cmNlX3NldHVwX2RvbmUgPSAxOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQotCX0KLQl1cF9yZWFkKCZwY21jaWFfc29ja2V0X2xpc3RfcndzZW0pOwotCi0JcmV0dXJuIChyZXQpOwotfQotRVhQT1JUX1NZTUJPTChwY21jaWFfYWRqdXN0X3Jlc291cmNlX2luZm8pOwotCi0jZW5kaWYKLQogaW50IHBjbWNpYV92YWxpZGF0ZV9tZW0oc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpCiB7CiAJaWYgKHMtPnJlc291cmNlX29wcy0+dmFsaWRhdGVfbWVtKQpAQCAtMTY0LDcgKzg0LDggQEAKIAkuYWRqdXN0X2lvX3JlZ2lvbiA9IE5VTEwsCiAJLmZpbmRfaW8gPSBOVUxMLAogCS5maW5kX21lbSA9IE5VTEwsCi0JLmFkanVzdF9yZXNvdXJjZSA9IE5VTEwsCisJLmFkZF9pbyA9IE5VTEwsCisJLmFkZF9tZW0gPSBOVUxMLAogCS5pbml0ID0gc3RhdGljX2luaXQsCiAJLmV4aXQgPSBOVUxMLAogfTsKQEAgLTI2NCw3ICsxODUsOCBAQAogCS5hZGp1c3RfaW9fcmVnaW9uID0gaW9keW5fYWRqdXN0X2lvX3JlZ2lvbiwKIAkuZmluZF9pbyA9IGlvZHluX2ZpbmRfaW9fcmVnaW9uLAogCS5maW5kX21lbSA9IE5VTEwsCi0JLmFkanVzdF9yZXNvdXJjZSA9IE5VTEwsCisJLmFkZF9pbyA9IE5VTEwsCisJLmFkZF9tZW0gPSBOVUxMLAogCS5pbml0ID0gc3RhdGljX2luaXQsCiAJLmV4aXQgPSBOVUxMLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL3JzcmNfbm9uc3RhdGljLmMgYi9kcml2ZXJzL3BjbWNpYS9yc3JjX25vbnN0YXRpYy5jCmluZGV4IDBmY2Y3NjMuLmQwYzFkNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3JzcmNfbm9uc3RhdGljLmMKKysrIGIvZHJpdmVycy9wY21jaWEvcnNyY19ub25zdGF0aWMuYwpAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgImNzX2ludGVybmFsLmgiCiAKQEAgLTI2MSwyMSArMjYwLDIyIEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAogLyogVmFsaWRhdGlvbiBmdW5jdGlvbiBmb3IgY2FyZHMgd2l0aCBhIHZhbGlkIENJUyAqLwotc3RhdGljIGludCByZWFkYWJsZShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgc3RydWN0IHJlc291cmNlICpyZXMsIGNpc2luZm9fdCAqaW5mbykKK3N0YXRpYyBpbnQgcmVhZGFibGUoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCByZXNvdXJjZSAqcmVzLAorCQkgICAgdW5zaWduZWQgaW50ICpjb3VudCkKIHsKIAlpbnQgcmV0ID0gLTE7CiAKIAlzLT5jaXNfbWVtLnJlcyA9IHJlczsKIAlzLT5jaXNfdmlydCA9IGlvcmVtYXAocmVzLT5zdGFydCwgcy0+bWFwX3NpemUpOwogCWlmIChzLT5jaXNfdmlydCkgewotCQlyZXQgPSBwY2NhcmRfdmFsaWRhdGVfY2lzKHMsIEJJTkRfRk5fQUxMLCBpbmZvKTsKKwkJcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgY291bnQpOwogCQkvKiBpbnZhbGlkYXRlIG1hcHBpbmcgYW5kIENJUyBjYWNoZSAqLwogCQlpb3VubWFwKHMtPmNpc192aXJ0KTsKIAkJcy0+Y2lzX3ZpcnQgPSBOVUxMOwogCQlkZXN0cm95X2Npc19jYWNoZShzKTsKIAl9CiAJcy0+Y2lzX21lbS5yZXMgPSBOVUxMOwotCWlmICgocmV0ICE9IDApIHx8IChpbmZvLT5DaGFpbnMgPT0gMCkpCisJaWYgKChyZXQgIT0gMCkgfHwgKGNvdW50ID09IDApKQogCQlyZXR1cm4gMDsKIAlyZXR1cm4gMTsKIH0KQEAgLTMxNiw3ICszMTYsNyBAQAogY2lzX3JlYWRhYmxlKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCB1bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKIHsKIAlzdHJ1Y3QgcmVzb3VyY2UgKnJlczEsICpyZXMyOwotCWNpc2luZm9fdCBpbmZvMSwgaW5mbzI7CisJdW5zaWduZWQgaW50IGluZm8xLCBpbmZvMjsKIAlpbnQgcmV0ID0gMDsKIAogCXJlczEgPSBjbGFpbV9yZWdpb24ocywgYmFzZSwgc2l6ZS8yLCBJT1JFU09VUkNFX01FTSwgImNzIG1lbW9yeSBwcm9iZSIpOwpAQCAtMzMwLDcgKzMzMCw3IEBACiAJZnJlZV9yZWdpb24ocmVzMik7CiAJZnJlZV9yZWdpb24ocmVzMSk7CiAKLQlyZXR1cm4gKHJldCA9PSAyKSAmJiAoaW5mbzEuQ2hhaW5zID09IGluZm8yLkNoYWlucyk7CisJcmV0dXJuIChyZXQgPT0gMikgJiYgKGluZm8xID09IGluZm8yKTsKIH0KIAogc3RhdGljIGludApAQCAtNzY2LDIxICs3NjYsNiBAQAogfQogCiAKLXN0YXRpYyBpbnQgbm9uc3RhdGljX2FkanVzdF9yZXNvdXJjZV9pbmZvKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBhZGp1c3RfdCAqYWRqKQotewotCXVuc2lnbmVkIGxvbmcgZW5kOwotCi0Jc3dpdGNoIChhZGotPlJlc291cmNlKSB7Ci0JY2FzZSBSRVNfTUVNT1JZX1JBTkdFOgotCQllbmQgPSBhZGotPnJlc291cmNlLm1lbW9yeS5CYXNlICsgYWRqLT5yZXNvdXJjZS5tZW1vcnkuU2l6ZSAtIDE7Ci0JCXJldHVybiBhZGp1c3RfbWVtb3J5KHMsIGFkai0+QWN0aW9uLCBhZGotPnJlc291cmNlLm1lbW9yeS5CYXNlLCBlbmQpOwotCWNhc2UgUkVTX0lPX1JBTkdFOgotCQllbmQgPSBhZGotPnJlc291cmNlLmlvLkJhc2VQb3J0ICsgYWRqLT5yZXNvdXJjZS5pby5OdW1Qb3J0cyAtIDE7Ci0JCXJldHVybiBhZGp1c3RfaW8ocywgYWRqLT5BY3Rpb24sIGFkai0+cmVzb3VyY2UuaW8uQmFzZVBvcnQsIGVuZCk7Ci0JfQotCXJldHVybiBDU19VTlNVUFBPUlRFRF9GVU5DVElPTjsKLX0KLQogI2lmZGVmIENPTkZJR19QQ0kKIHN0YXRpYyBpbnQgbm9uc3RhdGljX2F1dG9hZGRfcmVzb3VyY2VzKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKQogewpAQCAtODg5LDcgKzg3NCw4IEBACiAJLmFkanVzdF9pb19yZWdpb24gPSBub25zdGF0aWNfYWRqdXN0X2lvX3JlZ2lvbiwKIAkuZmluZF9pbyA9IG5vbnN0YXRpY19maW5kX2lvX3JlZ2lvbiwKIAkuZmluZF9tZW0gPSBub25zdGF0aWNfZmluZF9tZW1fcmVnaW9uLAotCS5hZGp1c3RfcmVzb3VyY2UgPSBub25zdGF0aWNfYWRqdXN0X3Jlc291cmNlX2luZm8sCisJLmFkZF9pbyA9IGFkanVzdF9pbywKKwkuYWRkX21lbSA9IGFkanVzdF9tZW1vcnksCiAJLmluaXQgPSBub25zdGF0aWNfaW5pdCwKIAkuZXhpdCA9IG5vbnN0YXRpY19yZWxlYXNlX3Jlc291cmNlX2RiLAogfTsKQEAgLTEwMDgsNDEgKzk5NCwzNCBAQAogfQogc3RhdGljIERFVklDRV9BVFRSKGF2YWlsYWJsZV9yZXNvdXJjZXNfbWVtLCAwNjAwLCBzaG93X21lbV9kYiwgc3RvcmVfbWVtX2RiKTsKIAotc3RhdGljIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICpwY2NhcmRfcnNyY19hdHRyaWJ1dGVzW10gPSB7Ci0JJmRldl9hdHRyX2F2YWlsYWJsZV9yZXNvdXJjZXNfaW8sCi0JJmRldl9hdHRyX2F2YWlsYWJsZV9yZXNvdXJjZXNfbWVtLAorc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnBjY2FyZF9yc3JjX2F0dHJpYnV0ZXNbXSA9IHsKKwkmZGV2X2F0dHJfYXZhaWxhYmxlX3Jlc291cmNlc19pby5hdHRyLAorCSZkZXZfYXR0cl9hdmFpbGFibGVfcmVzb3VyY2VzX21lbS5hdHRyLAogCU5VTEwsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCByc3JjX2F0dHJpYnV0ZXMgPSB7CisJLmF0dHJzID0gcGNjYXJkX3JzcmNfYXR0cmlidXRlcywKK307CisKIHN0YXRpYyBpbnQgX19kZXZpbml0IHBjY2FyZF9zeXNmc19hZGRfcnNyYyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQkJCSAgIHN0cnVjdCBjbGFzc19pbnRlcmZhY2UgKmNsYXNzX2ludGYpCiB7CiAJc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKLQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqKmF0dHI7Ci0JaW50IHJldCA9IDA7CisKIAlpZiAocy0+cmVzb3VyY2Vfb3BzICE9ICZwY2NhcmRfbm9uc3RhdGljX29wcykKIAkJcmV0dXJuIDA7Ci0KLQlmb3IgKGF0dHIgPSBwY2NhcmRfcnNyY19hdHRyaWJ1dGVzOyAqYXR0cjsgYXR0cisrKSB7Ci0JCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZShkZXYsICphdHRyKTsKLQkJaWYgKHJldCkKLQkJCWJyZWFrOwotCX0KLQotCXJldHVybiByZXQ7CisJcmV0dXJuIHN5c2ZzX2NyZWF0ZV9ncm91cCgmZGV2LT5rb2JqLCAmcnNyY19hdHRyaWJ1dGVzKTsKIH0KIAogc3RhdGljIHZvaWQgX19kZXZleGl0IHBjY2FyZF9zeXNmc19yZW1vdmVfcnNyYyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQkJCSAgICAgICBzdHJ1Y3QgY2xhc3NfaW50ZXJmYWNlICpjbGFzc19pbnRmKQogewogCXN0cnVjdCBwY21jaWFfc29ja2V0ICpzID0gZGV2X2dldF9kcnZkYXRhKGRldik7Ci0Jc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKiphdHRyOwogCiAJaWYgKHMtPnJlc291cmNlX29wcyAhPSAmcGNjYXJkX25vbnN0YXRpY19vcHMpCiAJCXJldHVybjsKLQotCWZvciAoYXR0ciA9IHBjY2FyZF9yc3JjX2F0dHJpYnV0ZXM7ICphdHRyOyBhdHRyKyspCi0JCWRldmljZV9yZW1vdmVfZmlsZShkZXYsICphdHRyKTsKKwlzeXNmc19yZW1vdmVfZ3JvdXAoJmRldi0+a29iaiwgJnJzcmNfYXR0cmlidXRlcyk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgY2xhc3NfaW50ZXJmYWNlIHBjY2FyZF9yc3JjX2ludGVyZmFjZSBfX3JlZmRhdGEgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9zb2NfY29tbW9uLmggYi9kcml2ZXJzL3BjbWNpYS9zb2NfY29tbW9uLmgKaW5kZXggMWVkYzFkYS4uOTFlZjZhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvc29jX2NvbW1vbi5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL3NvY19jb21tb24uaApAQCAtMTQsNyArMTQsNiBAQAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgImNzX2ludGVybmFsLmgiCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL3NvY2tldF9zeXNmcy5jIGIvZHJpdmVycy9wY21jaWEvc29ja2V0X3N5c2ZzLmMKaW5kZXggNTYyMzg0ZC4uMDA2YTI5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvc29ja2V0X3N5c2ZzLmMKKysrIGIvZHJpdmVycy9wY21jaWEvc29ja2V0X3N5c2ZzLmMKQEAgLTI3LDExICsyNyw5IEBACiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KIAotI2RlZmluZSBJTl9DQVJEX1NFUlZJQ0VTCiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3JlZy5oPgogI2luY2x1ZGUgPHBjbWNpYS9kcy5oPgpAQCAtMjkzLDcgKzI5MSw3IEBACiAJCWNvdW50ID0gMDsKIAllbHNlIHsKIAkJc3RydWN0IHBjbWNpYV9zb2NrZXQgKnM7Ci0JCWNpc2luZm9fdCBjaXNpbmZvOworCQl1bnNpZ25lZCBpbnQgY2hhaW5zOwogCiAJCWlmIChvZmYgKyBjb3VudCA+IHNpemUpCiAJCQljb3VudCA9IHNpemUgLSBvZmY7CkBAIC0zMDIsOSArMzAwLDkgQEAKIAogCQlpZiAoIShzLT5zdGF0ZSAmIFNPQ0tFVF9QUkVTRU5UKSkKIAkJCXJldHVybiAtRU5PREVWOwotCQlpZiAocGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJmNpc2luZm8pKQorCQlpZiAocGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJmNoYWlucykpCiAJCQlyZXR1cm4gLUVJTzsKLQkJaWYgKCFjaXNpbmZvLkNoYWlucykKKwkJaWYgKCFjaGFpbnMpCiAJCQlyZXR1cm4gLUVOT0RBVEE7CiAKIAkJY291bnQgPSBwY2NhcmRfZXh0cmFjdF9jaXMocywgYnVmLCBvZmYsIGNvdW50KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oIGIvZHJpdmVycy9wY21jaWEvdGkxMTN4LmgKaW5kZXggZDI5NjU3Yi4uMTI5ZGI3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvdGkxMTN4LmgKKysrIGIvZHJpdmVycy9wY21jaWEvdGkxMTN4LmgKQEAgLTE1NSw3ICsxNTUsNyBAQAogI2RlZmluZSBFTkVfVEVTVF9DOV9UTFRFTkFCTEUJCTB4MDIKICNkZWZpbmUgRU5FX1RFU1RfQzlfUEZFTkFCTEVfRjAJCTB4MDQKICNkZWZpbmUgRU5FX1RFU1RfQzlfUEZFTkFCTEVfRjEJCTB4MDgKLSNkZWZpbmUgRU5FX1RFU1RfQzlfUEZFTkFCTEUJCShFTkVfVEVTVF9DOV9QRkVOQUJMRV9GMCB8IEVORV9URVNUX0M5X1BGRU5BQkxFX0YwKQorI2RlZmluZSBFTkVfVEVTVF9DOV9QRkVOQUJMRQkJKEVORV9URVNUX0M5X1BGRU5BQkxFX0YwIHwgRU5FX1RFU1RfQzlfUEZFTkFCTEVfRjEpCiAjZGVmaW5lIEVORV9URVNUX0M5X1dQRElTQUxCTEVfRjAJMHg0MAogI2RlZmluZSBFTkVfVEVTVF9DOV9XUERJU0FMQkxFX0YxCTB4ODAKICNkZWZpbmUgRU5FX1RFU1RfQzlfV1BESVNBTEJMRQkJKEVORV9URVNUX0M5X1dQRElTQUxCTEVfRjAgfCBFTkVfVEVTVF9DOV9XUERJU0FMQkxFX0YxKQpAQCAtNjkyLDcgKzY5Miw3IEBACiAJCWdvdG8gb3V0OwogCiAJLyogY2hlY2sgc3RhdGUgKi8KLQl5ZW50YV9nZXRfc3RhdHVzKCZzb2NrZXQtPnNvY2tldCwgJnN0YXRlKTsKKwl5ZW50YV9nZXRfc3RhdHVzKCZzbG90Mi0+c29ja2V0LCAmc3RhdGUpOwogCWlmIChzdGF0ZSAmIFNTX0RFVEVDVCkgewogCQlyZXQgPSAwOwogCQlnb3RvIG91dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmFwaWRpby9yaW8tZHJpdmVyLmMgYi9kcml2ZXJzL3JhcGlkaW8vcmlvLWRyaXZlci5jCmluZGV4IDNjZTlmM2QuLjk1NmQzZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcmFwaWRpby9yaW8tZHJpdmVyLmMKKysrIGIvZHJpdmVycy9yYXBpZGlvL3Jpby1kcml2ZXIuYwpAQCAtMTAxLDggKzEwMSw4IEBACiAJCWlmIChlcnJvciA+PSAwKSB7CiAJCQlyZGV2LT5kcml2ZXIgPSByZHJ2OwogCQkJZXJyb3IgPSAwOworCQl9IGVsc2UKIAkJCXJpb19kZXZfcHV0KHJkZXYpOwotCQl9CiAJfQogCXJldHVybiBlcnJvcjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL0tjb25maWcgYi9kcml2ZXJzL3J0Yy9LY29uZmlnCmluZGV4IDQ5NDlkYzQuLmZjODViZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL0tjb25maWcKKysrIGIvZHJpdmVycy9ydGMvS2NvbmZpZwpAQCAtNDY5LDYgKzQ2OSwxNiBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlCiAJICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgcnRjLXZyNDF4eC4KIAorY29uZmlnIFJUQ19EUlZfUEwwMzAKKwl0cmlzdGF0ZSAiQVJNIEFNQkEgUEwwMzAgUlRDIgorCWRlcGVuZHMgb24gQVJNX0FNQkEKKwloZWxwCisJICBJZiB5b3Ugc2F5IFkgaGVyZSB5b3Ugd2lsbCBnZXQgYWNjZXNzIHRvIEFSTSBBTUJBCisJICBQcmltZUNlbGwgUEwwMzAgUlRDIGZvdW5kIG9uIGNlcnRhaW4gQVJNIFNPQ3MuCisKKwkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZQorCSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHJ0Yy1wbDAzMC4KKwogY29uZmlnIFJUQ19EUlZfUEwwMzEKIAl0cmlzdGF0ZSAiQVJNIEFNQkEgUEwwMzEgUlRDIgogCWRlcGVuZHMgb24gQVJNX0FNQkEKQEAgLTQ5NSwxMiArNTA1LDEzIEBACiAJICB0aGlzIGlzIHBvd2VyZWQgYnkgdGhlIGJhY2t1cCBwb3dlciBzdXBwbHkuCiAKIGNvbmZpZyBSVENfRFJWX0FUOTFTQU05Ci0JdHJpc3RhdGUgIkFUOTFTQU05eCIKKwl0cmlzdGF0ZSAiQVQ5MVNBTTl4L0FUOTFDQVA5IgogCWRlcGVuZHMgb24gQVJDSF9BVDkxICYmICEoQVJDSF9BVDkxUk05MjAwIHx8IEFSQ0hfQVQ5MVg0MCkKIAloZWxwCi0JICBSVEMgZHJpdmVyIGZvciB0aGUgQXRtZWwgQVQ5MVNBTTl4IGludGVybmFsIFJUVCAoUmVhbCBUaW1lIFRpbWVyKS4KLQkgIFRoZXNlIHRpbWVycyBhcmUgcG93ZXJlZCBieSB0aGUgYmFja3VwIHBvd2VyIHN1cHBseSAoc3VjaCBhcyBhCi0JICBzbWFsbCBjb2luIGNlbGwgYmF0dGVyeSksIGJ1dCBkbyBub3QgbmVlZCB0byBiZSB1c2VkIGFzIFJUQ3MuCisJICBSVEMgZHJpdmVyIGZvciB0aGUgQXRtZWwgQVQ5MVNBTTl4IGFuZCBBVDkxQ0FQOSBpbnRlcm5hbCBSVFQKKwkgIChSZWFsIFRpbWUgVGltZXIpLiBUaGVzZSB0aW1lcnMgYXJlIHBvd2VyZWQgYnkgdGhlIGJhY2t1cCBwb3dlcgorCSAgc3VwcGx5IChzdWNoIGFzIGEgc21hbGwgY29pbiBjZWxsIGJhdHRlcnkpLCBidXQgZG8gbm90IG5lZWQgdG8KKwkgIGJlIHVzZWQgYXMgUlRDcy4KIAogCSAgKE9uIEFUOTFTQU05cmwgY2hpcHMgeW91IHByb2JhYmx5IHdhbnQgdG8gdXNlIHRoZSBkZWRpY2F0ZWQgUlRDCiAJICBtb2R1bGUgYW5kIGxlYXZlIHRoZSBSVFQgYXZhaWxhYmxlIGZvciBvdGhlciB1c2VzLikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL01ha2VmaWxlIGIvZHJpdmVycy9ydGMvTWFrZWZpbGUKaW5kZXggYjZlMTRkNS4uYjVkOWQ2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ydGMvTWFrZWZpbGUKQEAgLTQxLDYgKzQxLDcgQEAKIG9iai0kKENPTkZJR19SVENfRFJWX09NQVApCSs9IHJ0Yy1vbWFwLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1BDRjg1NjMpCSs9IHJ0Yy1wY2Y4NTYzLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1BDRjg1ODMpCSs9IHJ0Yy1wY2Y4NTgzLm8KK29iai0kKENPTkZJR19SVENfRFJWX1BMMDMwKQkrPSBydGMtcGwwMzAubwogb2JqLSQoQ09ORklHX1JUQ19EUlZfUEwwMzEpCSs9IHJ0Yy1wbDAzMS5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9QUEMpCSs9IHJ0Yy1wcGMubwogb2JqLSQoQ09ORklHX1JUQ19EUlZfUjk3MDEpCSs9IHJ0Yy1yOTcwMS5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtYXQzMmFwNzAweC5jIGIvZHJpdmVycy9ydGMvcnRjLWF0MzJhcDcwMHguYwppbmRleCAyZWY4Y2RmLi45MGI5YTY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtYXQzMmFwNzAweC5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDMyYXA3MDB4LmMKQEAgLTI2NSw2ICsyNjUsNyBAQAogCX0KIAogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIHJ0Yyk7CisJZGV2aWNlX2luaXRfd2FrZXVwKCZwZGV2LT5kZXYsIDEpOwogCiAJZGV2X2luZm8oJnBkZXYtPmRldiwgIkF0bWVsIFJUQyBmb3IgQVQzMkFQNzAweCBhdCAlMDhseCBpcnEgJWxkXG4iLAogCQkJKHVuc2lnbmVkIGxvbmcpcnRjLT5yZWdzLCBydGMtPmlycSk7CkBAIC0yODQsNiArMjg1LDggQEAKIHsKIAlzdHJ1Y3QgcnRjX2F0MzJhcDcwMHggKnJ0YyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCisJZGV2aWNlX2luaXRfd2FrZXVwKCZwZGV2LT5kZXYsIDApOworCiAJZnJlZV9pcnEocnRjLT5pcnEsIHJ0Yyk7CiAJaW91bm1hcChydGMtPnJlZ3MpOwogCXJ0Y19kZXZpY2VfdW5yZWdpc3RlcihydGMtPnJ0Yyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtYXQ5MXJtOTIwMC5jIGIvZHJpdmVycy9ydGMvcnRjLWF0OTFybTkyMDAuYwppbmRleCAzOWU2NGFiLi45YzNkYjkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtYXQ5MXJtOTIwMC5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxcm05MjAwLmMKQEAgLTI5LDEwICsyOSw2IEBACiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxhc20vcnRjLmg+Ci0KLSNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+Ci0KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxX3J0Yy5oPgogCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jIGIvZHJpdmVycy9ydGMvcnRjLWF0OTFzYW05LmMKaW5kZXggMzhkODc0Mi4uZjAyNDZlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLWF0OTFzYW05LmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLWF0OTFzYW05LmMKQEAgLTE5LDcgKzE5LDYgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgogCi0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9ydHQuaD4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWRldi5jIGIvZHJpdmVycy9ydGMvcnRjLWRldi5jCmluZGV4IDkwZGZhMGQuLjAxMTRhNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1kZXYuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtZGV2LmMKQEAgLTEzLDYgKzEzLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3J0Yy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSAicnRjLWNvcmUuaCIKIAogc3RhdGljIGRldl90IHJ0Y19kZXZ0OwpAQCAtMjYsOCArMjcsMTEgQEAKIAkJCQkJc3RydWN0IHJ0Y19kZXZpY2UsIGNoYXJfZGV2KTsKIAljb25zdCBzdHJ1Y3QgcnRjX2NsYXNzX29wcyAqb3BzID0gcnRjLT5vcHM7CiAKLQlpZiAodGVzdF9hbmRfc2V0X2JpdF9sb2NrKFJUQ19ERVZfQlVTWSwgJnJ0Yy0+ZmxhZ3MpKQotCQlyZXR1cm4gLUVCVVNZOworCWxvY2tfa2VybmVsKCk7CisJaWYgKHRlc3RfYW5kX3NldF9iaXRfbG9jayhSVENfREVWX0JVU1ksICZydGMtPmZsYWdzKSkgeworCQllcnIgPSAtRUJVU1k7CisJCWdvdG8gb3V0OworCX0KIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHJ0YzsKIApAQCAtMzcsMTEgKzQxLDEzIEBACiAJCXJ0Yy0+aXJxX2RhdGEgPSAwOwogCQlzcGluX3VubG9ja19pcnEoJnJ0Yy0+aXJxX2xvY2spOwogCi0JCXJldHVybiAwOworCQlnb3RvIG91dDsKIAl9CiAKIAkvKiBzb21ldGhpbmcgaGFzIGdvbmUgd3JvbmcgKi8KIAljbGVhcl9iaXRfdW5sb2NrKFJUQ19ERVZfQlVTWSwgJnJ0Yy0+ZmxhZ3MpOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtZm0zMTMwLmMgYi9kcml2ZXJzL3J0Yy9ydGMtZm0zMTMwLmMKaW5kZXggMTE2NDRjOC4uYWJmZGZjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLWZtMzEzMC5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1mbTMxMzAuYwpAQCAtNTUsNyArNTUsNyBAQAogCWludAkJCWFsYXJtOwogfTsKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBmbTMxMzBfaWRbXSA9IHsKLQl7ICJmbTMxMzAtcnRjIiwgMCB9LAorCXsgImZtMzEzMCIsIDAgfSwKIAl7IH0KIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKGkyYywgZm0zMTMwX2lkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1tNDF0ODAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1tNDF0ODAuYwppbmRleCBhM2UwODgwLi4wYTE5YzA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtbTQxdDgwLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLW00MXQ4MC5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L3J0Yy5oPgpAQCAtNjU1LDEyICs2NTYsMTYgQEAKIHN0YXRpYyBpbnQgd2R0X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJaWYgKE1JTk9SKGlub2RlLT5pX3JkZXYpID09IFdBVENIRE9HX01JTk9SKSB7Ci0JCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZ3ZHRfaXNfb3BlbikpCisJCWxvY2tfa2VybmVsKCk7CisJCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZ3ZHRfaXNfb3BlbikpIHsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAtRUJVU1k7CisJCX0KIAkJLyoKIAkJICoJQWN0aXZhdGUKIAkJICovCiAJCXdkdF9pc19vcGVuID0gMTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gMDsKIAl9CiAJcmV0dXJuIC1FTk9ERVY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtb21hcC5jIGIvZHJpdmVycy9ydGMvcnRjLW9tYXAuYwppbmRleCA1OGY4MWM3Li5lYjIzZDg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtb21hcC5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1vbWFwLmMKQEAgLTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KIAogCiAvKiBUaGUgT01BUDEgUlRDIGlzIGEgeWVhci9tb250aC9kYXkvaG91cnMvbWludXRlcy9zZWNvbmRzIEJDRCBjbG9jawpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLXBjZjg1NjMuYyBiL2RyaXZlcnMvcnRjL3J0Yy1wY2Y4NTYzLmMKaW5kZXggMGZjNGMzNi4uNzQ4YTUwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLXBjZjg1NjMuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtcGNmODU2My5jCkBAIC0zMDIsNiArMzAyLDcgQEAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHBjZjg1NjNfaWRbXSA9IHsKIAl7ICJwY2Y4NTYzIiwgMCB9LAorCXsgInJ0Yzg1NjQiLCAwIH0sCiAJeyB9CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShpMmMsIHBjZjg1NjNfaWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLXBsMDMwLmMgYi9kcml2ZXJzL3J0Yy9ydGMtcGwwMzAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDQ4ZWViCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ydGMvcnRjLXBsMDMwLmMKQEAgLTAsMCArMSwyMTcgQEAKKy8qCisgKiAgbGludXgvZHJpdmVycy9ydGMvcnRjLXBsMDMwLmMKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDEgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3J0Yy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9hbWJhL2J1cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisKKyNkZWZpbmUgUlRDX0RSCQkoMCkKKyNkZWZpbmUgUlRDX01SCQkoNCkKKyNkZWZpbmUgUlRDX1NUQVQJKDgpCisjZGVmaW5lIFJUQ19FT0kJCSg4KQorI2RlZmluZSBSVENfTFIJCSgxMikKKyNkZWZpbmUgUlRDX0NSCQkoMTYpCisjZGVmaW5lIFJUQ19DUl9NSUUJKDEgPDwgMCkKKworc3RydWN0IHBsMDMwX3J0YyB7CisJc3RydWN0IHJ0Y19kZXZpY2UJKnJ0YzsKKwl2b2lkIF9faW9tZW0JCSpiYXNlOworfTsKKworc3RhdGljIGlycXJldHVybl90IHBsMDMwX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IHBsMDMwX3J0YyAqcnRjID0gZGV2X2lkOworCXdyaXRlbCgwLCBydGMtPmJhc2UgKyBSVENfRU9JKTsKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyBpbnQgcGwwMzBfb3BlbihzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHBsMDMwX3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2KQoreworfQorCitzdGF0aWMgaW50IHBsMDMwX2lvY3RsKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCit7CisJcmV0dXJuIC1FTk9JT0NUTENNRDsKK30KKworc3RhdGljIGludCBwbDAzMF9yZWFkX2FsYXJtKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHJ0Y193a2Fscm0gKmFscm0pCit7CisJc3RydWN0IHBsMDMwX3J0YyAqcnRjID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwlydGNfdGltZV90b190bShyZWFkbChydGMtPmJhc2UgKyBSVENfTVIpLCAmYWxybS0+dGltZSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGwwMzBfc2V0X2FsYXJtKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHJ0Y193a2Fscm0gKmFscm0pCit7CisJc3RydWN0IHBsMDMwX3J0YyAqcnRjID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgbG9uZyB0aW1lOworCWludCByZXQ7CisKKwkvKgorCSAqIEF0IHRoZSBtb21lbnQsIHdlIGNhbiBvbmx5IGRlYWwgd2l0aCBub24td2lsZGNhcmRlZCBhbGFybSB0aW1lcy4KKwkgKi8KKwlyZXQgPSBydGNfdmFsaWRfdG0oJmFscm0tPnRpbWUpOworCWlmIChyZXQgPT0gMCkKKwkJcmV0ID0gcnRjX3RtX3RvX3RpbWUoJmFscm0tPnRpbWUsICZ0aW1lKTsKKwlpZiAocmV0ID09IDApCisJCXdyaXRlbCh0aW1lLCBydGMtPmJhc2UgKyBSVENfTVIpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGwwMzBfcmVhZF90aW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHJ0Y190aW1lICp0bSkKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGMgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCXJ0Y190aW1lX3RvX3RtKHJlYWRsKHJ0Yy0+YmFzZSArIFJUQ19EUiksIHRtKTsKKworCXJldHVybiAwOworfQorCisvKgorICogU2V0IHRoZSBSVEMgdGltZS4gIFVuZm9ydHVuYXRlbHksIHdlIGNhbid0IGFjY3VyYXRlbHkgc2V0CisgKiB0aGUgcG9pbnQgYXQgd2hpY2ggdGhlIGNvdW50ZXIgdXBkYXRlcy4KKyAqCisgKiBBbHNvLCBzaW5jZSBSVENfTFIgaXMgdHJhbnNmZXJyZWQgdG8gUlRDX0NSIG9uIG5leHQgcmlzaW5nCisgKiBlZGdlIG9mIHRoZSAxSHogY2xvY2ssIHdlIG11c3Qgd3JpdGUgdGhlIHRpbWUgb25lIHNlY29uZAorICogaW4gYWR2YW5jZS4KKyAqLworc3RhdGljIGludCBwbDAzMF9zZXRfdGltZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfdGltZSAqdG0pCit7CisJc3RydWN0IHBsMDMwX3J0YyAqcnRjID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgbG9uZyB0aW1lOworCWludCByZXQ7CisKKwlyZXQgPSBydGNfdG1fdG9fdGltZSh0bSwgJnRpbWUpOworCWlmIChyZXQgPT0gMCkKKwkJd3JpdGVsKHRpbWUgKyAxLCBydGMtPmJhc2UgKyBSVENfTFIpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBydGNfY2xhc3Nfb3BzIHBsMDMwX29wcyA9IHsKKwkub3BlbgkJPSBwbDAzMF9vcGVuLAorCS5yZWxlYXNlCT0gcGwwMzBfcmVsZWFzZSwKKwkuaW9jdGwJCT0gcGwwMzBfaW9jdGwsCisJLnJlYWRfdGltZQk9IHBsMDMwX3JlYWRfdGltZSwKKwkuc2V0X3RpbWUJPSBwbDAzMF9zZXRfdGltZSwKKwkucmVhZF9hbGFybQk9IHBsMDMwX3JlYWRfYWxhcm0sCisJLnNldF9hbGFybQk9IHBsMDMwX3NldF9hbGFybSwKK307CisKK3N0YXRpYyBpbnQgcGwwMzBfcHJvYmUoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYsIHZvaWQgKmlkKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YzsKKwlpbnQgcmV0OworCisJcmV0ID0gYW1iYV9yZXF1ZXN0X3JlZ2lvbnMoZGV2LCBOVUxMKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9yZXE7CisKKwlydGMgPSBrbWFsbG9jKHNpemVvZigqcnRjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFydGMpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfcnRjOworCX0KKworCXJ0Yy0+YmFzZSA9IGlvcmVtYXAoZGV2LT5yZXMuc3RhcnQsIFNaXzRLKTsKKwlpZiAoIXJ0Yy0+YmFzZSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycl9tYXA7CisJfQorCisJX19yYXdfd3JpdGVsKDAsIHJ0Yy0+YmFzZSArIFJUQ19DUik7CisJX19yYXdfd3JpdGVsKDAsIHJ0Yy0+YmFzZSArIFJUQ19FT0kpOworCisJYW1iYV9zZXRfZHJ2ZGF0YShkZXYsIHJ0Yyk7CisKKwlyZXQgPSByZXF1ZXN0X2lycShkZXYtPmlycVswXSwgcGwwMzBfaW50ZXJydXB0LCBJUlFGX0RJU0FCTEVELAorCQkJICAicnRjLXBsMDMwIiwgcnRjKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9pcnE7CisKKwlydGMtPnJ0YyA9IHJ0Y19kZXZpY2VfcmVnaXN0ZXIoInBsMDMwIiwgJmRldi0+ZGV2LCAmcGwwMzBfb3BzLAorCQkJCSAgICAgICBUSElTX01PRFVMRSk7CisJaWYgKElTX0VSUihydGMtPnJ0YykpIHsKKwkJcmV0ID0gUFRSX0VSUihydGMtPnJ0Yyk7CisJCWdvdG8gZXJyX3JlZzsKKwl9CisKKwlyZXR1cm4gMDsKKworIGVycl9yZWc6CisJZnJlZV9pcnEoZGV2LT5pcnFbMF0sIHJ0Yyk7CisgZXJyX2lycToKKwlpb3VubWFwKHJ0Yy0+YmFzZSk7CisgZXJyX21hcDoKKwlrZnJlZShydGMpOworIGVycl9ydGM6CisJYW1iYV9yZWxlYXNlX3JlZ2lvbnMoZGV2KTsKKyBlcnJfcmVxOgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGwwMzBfcmVtb3ZlKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGFtYmFfZ2V0X2RydmRhdGEoZGV2KTsKKworCWFtYmFfc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsKKworCXdyaXRlbCgwLCBydGMtPmJhc2UgKyBSVENfQ1IpOworCisJZnJlZV9pcnEoZGV2LT5pcnFbMF0sIHJ0Yyk7CisJcnRjX2RldmljZV91bnJlZ2lzdGVyKHJ0Yy0+cnRjKTsKKwlpb3VubWFwKHJ0Yy0+YmFzZSk7CisJa2ZyZWUocnRjKTsKKwlhbWJhX3JlbGVhc2VfcmVnaW9ucyhkZXYpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYW1iYV9pZCBwbDAzMF9pZHNbXSA9IHsKKwl7CisJCS5pZAk9IDB4MDAwNDEwMzAsCisJCS5tYXNrCT0gMHgwMDBmZmZmZiwKKwl9LAorCXsgMCwgMCB9LAorfTsKKworc3RhdGljIHN0cnVjdCBhbWJhX2RyaXZlciBwbDAzMF9kcml2ZXIgPSB7CisJLmRydgkJPSB7CisJCS5uYW1lCT0gInJ0Yy1wbDAzMCIsCisJfSwKKwkucHJvYmUJCT0gcGwwMzBfcHJvYmUsCisJLnJlbW92ZQkJPSBwbDAzMF9yZW1vdmUsCisJLmlkX3RhYmxlCT0gcGwwMzBfaWRzLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcGwwMzBfaW5pdCh2b2lkKQoreworCXJldHVybiBhbWJhX2RyaXZlcl9yZWdpc3RlcigmcGwwMzBfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHBsMDMwX2V4aXQodm9pZCkKK3sKKwlhbWJhX2RyaXZlcl91bnJlZ2lzdGVyKCZwbDAzMF9kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChwbDAzMF9pbml0KTsKK21vZHVsZV9leGl0KHBsMDMwX2V4aXQpOworCitNT0RVTEVfQVVUSE9SKCJSdXNzZWxsIEtpbmcgPHJta0Bhcm0ubGludXgub3JnLnVrPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBUk0gQU1CQSBQTDAzMCBSVEMgRHJpdmVyIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtcGwwMzEuYyBiL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMS5jCmluZGV4IDJmZDQ5ZWQuLjA4YjQ2MTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMS5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMS5jCkBAIC0xMiwyMyArMTIsMTIgQEAKICAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgogICogMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqLwotCi0jaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcnRjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+Ci0jaW5jbHVkZSA8bGludXgvcG0uaD4KLSNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KLQogI2luY2x1ZGUgPGxpbnV4L2FtYmEvYnVzLmg+Ci0KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KLSNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL3J0Yy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKIC8qCiAgKiBSZWdpc3RlciBkZWZpbml0aW9ucwpAQCAtMTQyLDEzICsxMzEsMTIgQEAKIHsKIAlzdHJ1Y3QgcGwwMzFfbG9jYWwgKmxkYXRhID0gZGV2X2dldF9kcnZkYXRhKCZhZGV2LT5kZXYpOwogCi0JaWYgKGxkYXRhKSB7Ci0JCWRldl9zZXRfZHJ2ZGF0YSgmYWRldi0+ZGV2LCBOVUxMKTsKLQkJZnJlZV9pcnEoYWRldi0+aXJxWzBdLCBsZGF0YS0+cnRjKTsKLQkJcnRjX2RldmljZV91bnJlZ2lzdGVyKGxkYXRhLT5ydGMpOwotCQlpb3VubWFwKGxkYXRhLT5iYXNlKTsKLQkJa2ZyZWUobGRhdGEpOwotCX0KKwlhbWJhX3NldF9kcnZkYXRhKGFkZXYsIE5VTEwpOworCWZyZWVfaXJxKGFkZXYtPmlycVswXSwgbGRhdGEtPnJ0Yyk7CisJcnRjX2RldmljZV91bnJlZ2lzdGVyKGxkYXRhLT5ydGMpOworCWlvdW5tYXAobGRhdGEtPmJhc2UpOworCWtmcmVlKGxkYXRhKTsKKwlhbWJhX3JlbGVhc2VfcmVnaW9ucyhhZGV2KTsKIAogCXJldHVybiAwOwogfQpAQCAtMTU4LDEzICsxNDYsMTUgQEAKIAlpbnQgcmV0OwogCXN0cnVjdCBwbDAzMV9sb2NhbCAqbGRhdGE7CiAKKwlyZXQgPSBhbWJhX3JlcXVlc3RfcmVnaW9ucyhhZGV2LCBOVUxMKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9yZXE7CiAKIAlsZGF0YSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBwbDAzMV9sb2NhbCksIEdGUF9LRVJORUwpOwogCWlmICghbGRhdGEpIHsKIAkJcmV0ID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CiAJfQotCWRldl9zZXRfZHJ2ZGF0YSgmYWRldi0+ZGV2LCBsZGF0YSk7CiAKIAlsZGF0YS0+YmFzZSA9IGlvcmVtYXAoYWRldi0+cmVzLnN0YXJ0LAogCQkJICAgICAgYWRldi0+cmVzLmVuZCAtIGFkZXYtPnJlcy5zdGFydCArIDEpOwpAQCAtMTczLDYgKzE2Myw4IEBACiAJCWdvdG8gb3V0X25vX3JlbWFwOwogCX0KIAorCWFtYmFfc2V0X2RydmRhdGEoYWRldiwgbGRhdGEpOworCiAJaWYgKHJlcXVlc3RfaXJxKGFkZXYtPmlycVswXSwgcGwwMzFfaW50ZXJydXB0LCBJUlFGX0RJU0FCTEVELAogCQkJInJ0Yy1wbDAzMSIsIGxkYXRhLT5ydGMpKSB7CiAJCXJldCA9IC1FSU87CkBAIC0xOTIsMTAgKzE4NCwxMiBAQAogCWZyZWVfaXJxKGFkZXYtPmlycVswXSwgbGRhdGEtPnJ0Yyk7CiBvdXRfbm9faXJxOgogCWlvdW5tYXAobGRhdGEtPmJhc2UpOworCWFtYmFfc2V0X2RydmRhdGEoYWRldiwgTlVMTCk7CiBvdXRfbm9fcmVtYXA6Ci0JZGV2X3NldF9kcnZkYXRhKCZhZGV2LT5kZXYsIE5VTEwpOwogCWtmcmVlKGxkYXRhKTsKIG91dDoKKwlhbWJhX3JlbGVhc2VfcmVnaW9ucyhhZGV2KTsKK2Vycl9yZXE6CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLXMzYy5jIGIvZHJpdmVycy9ydGMvcnRjLXMzYy5jCmluZGV4IGYyNmUwY2EuLmZlZDg2ZTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1zM2MuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtczNjLmMKQEAgLTI2LDEwICsyNiw2IEBACiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL3J0Yy5oPgotCi0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgotCiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3MtcnRjLmg+CiAKIC8qIEkgaGF2ZSB5ZXQgdG8gZmluZCBhbiBTM0MgaW1wbGVtZW50YXRpb24gd2l0aCBtb3JlIHRoYW4gb25lCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtc2ExMTAwLmMgYi9kcml2ZXJzL3J0Yy9ydGMtc2ExMTAwLmMKaW5kZXggNjc0MjFiMGQuLmY0NzI5NGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1zYTExMDAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtc2ExMTAwLmMKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxhc20vcnRjLmg+CiAKICNpZmRlZiBDT05GSUdfQVJDSF9QWEEKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgpAQCAtNDcsNiArNDYsNDIgQEAKIHN0YXRpYyBzdHJ1Y3QgcnRjX3RpbWUgcnRjX2FsYXJtOwogc3RhdGljIERFRklORV9TUElOTE9DSyhzYTExMDBfcnRjX2xvY2spOwogCitzdGF0aWMgaW5saW5lIGludCBydGNfcGVyaW9kaWNfYWxhcm0oc3RydWN0IHJ0Y190aW1lICp0bSkKK3sKKwlyZXR1cm4gICh0bS0+dG1feWVhciA9PSAtMSkgfHwKKwkJKCh1bnNpZ25lZCl0bS0+dG1fbW9uID49IDEyKSB8fAorCQkoKHVuc2lnbmVkKSh0bS0+dG1fbWRheSAtIDEpID49IDMxKSB8fAorCQkoKHVuc2lnbmVkKXRtLT50bV9ob3VyID4gMjMpIHx8CisJCSgodW5zaWduZWQpdG0tPnRtX21pbiA+IDU5KSB8fAorCQkoKHVuc2lnbmVkKXRtLT50bV9zZWMgPiA1OSk7Cit9CisKKy8qCisgKiBDYWxjdWxhdGUgdGhlIG5leHQgYWxhcm0gdGltZSBnaXZlbiB0aGUgcmVxdWVzdGVkIGFsYXJtIHRpbWUgbWFzaworICogYW5kIHRoZSBjdXJyZW50IHRpbWUuCisgKi8KK3N0YXRpYyB2b2lkIHJ0Y19uZXh0X2FsYXJtX3RpbWUoc3RydWN0IHJ0Y190aW1lICpuZXh0LCBzdHJ1Y3QgcnRjX3RpbWUgKm5vdywgc3RydWN0IHJ0Y190aW1lICphbHJtKQoreworCXVuc2lnbmVkIGxvbmcgbmV4dF90aW1lOworCXVuc2lnbmVkIGxvbmcgbm93X3RpbWU7CisKKwluZXh0LT50bV95ZWFyID0gbm93LT50bV95ZWFyOworCW5leHQtPnRtX21vbiA9IG5vdy0+dG1fbW9uOworCW5leHQtPnRtX21kYXkgPSBub3ctPnRtX21kYXk7CisJbmV4dC0+dG1faG91ciA9IGFscm0tPnRtX2hvdXI7CisJbmV4dC0+dG1fbWluID0gYWxybS0+dG1fbWluOworCW5leHQtPnRtX3NlYyA9IGFscm0tPnRtX3NlYzsKKworCXJ0Y190bV90b190aW1lKG5vdywgJm5vd190aW1lKTsKKwlydGNfdG1fdG9fdGltZShuZXh0LCAmbmV4dF90aW1lKTsKKworCWlmIChuZXh0X3RpbWUgPCBub3dfdGltZSkgeworCQkvKiBBZHZhbmNlIG9uZSBkYXkgKi8KKwkJbmV4dF90aW1lICs9IDYwICogNjAgKiAyNDsKKwkJcnRjX3RpbWVfdG9fdG0obmV4dF90aW1lLCBuZXh0KTsKKwl9Cit9CisKIHN0YXRpYyBpbnQgcnRjX3VwZGF0ZV9hbGFybShzdHJ1Y3QgcnRjX3RpbWUgKmFscm0pCiB7CiAJc3RydWN0IHJ0Y190aW1lIGFsYXJtX3RtLCBub3dfdG07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZC5jIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2QuYwppbmRleCAxYTQwMjU2Li4xYjZjNTJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZC5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkLmMKQEAgLTk5NSwxNCArOTk1LDE0IEBACiAJbm93ID0gZ2V0X2Nsb2NrKCk7CiAKIAlEQkZfRVZFTlQoREJGX0VSUiwgIkludGVycnVwdDogYnVzX2lkICVzIENTL0RTICUwNHggaXAgJTA4eCIsCi0JCSAgY2Rldi0+ZGV2LmJ1c19pZCwgKChpcmItPnNjc3cuY3N0YXQ8PDgpfGlyYi0+c2Nzdy5kc3RhdCksCi0JCSAgKHVuc2lnbmVkIGludCkgaW50cGFybSk7CisJCSAgY2Rldi0+ZGV2LmJ1c19pZCwgKChpcmItPnNjc3cuY21kLmNzdGF0IDw8IDgpIHwKKwkJICBpcmItPnNjc3cuY21kLmRzdGF0KSwgKHVuc2lnbmVkIGludCkgaW50cGFybSk7CiAKIAkvKiBjaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0cyAqLwogCWNxciA9IChzdHJ1Y3QgZGFzZF9jY3dfcmVxICopIGludHBhcm07Ci0JaWYgKCFjcXIgfHwgKChpcmItPnNjc3cuY2MgPT0gMSkgJiYKLQkJICAgICAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYKLQkJICAgICAoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpICkgeworCWlmICghY3FyIHx8ICgoaXJiLT5zY3N3LmNtZC5jYyA9PSAxKSAmJgorCQkgICAgIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYKKwkJICAgICAoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkgewogCQlpZiAoY3FyICYmIGNxci0+c3RhdHVzID09IERBU0RfQ1FSX0lOX0lPKQogCQkJY3FyLT5zdGF0dXMgPSBEQVNEX0NRUl9RVUVVRUQ7CiAJCWRldmljZSA9IGRhc2RfZGV2aWNlX2Zyb21fY2Rldl9sb2NrZWQoY2Rldik7CkBAIC0xMDI1LDcgKzEwMjUsNyBAQAogCiAJLyogQ2hlY2sgZm9yIGNsZWFyIHBlbmRpbmcgKi8KIAlpZiAoY3FyLT5zdGF0dXMgPT0gREFTRF9DUVJfQ0xFQVJfUEVORElORyAmJgotCSAgICBpcmItPnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9DTEVBUl9GVU5DKSB7CisJICAgIGlyYi0+c2Nzdy5jbWQuZmN0bCAmIFNDU1dfRkNUTF9DTEVBUl9GVU5DKSB7CiAJCWNxci0+c3RhdHVzID0gREFTRF9DUVJfQ0xFQVJFRDsKIAkJZGFzZF9kZXZpY2VfY2xlYXJfdGltZXIoZGV2aWNlKTsKIAkJd2FrZV91cCgmZGFzZF9mbHVzaF93cSk7CkBAIC0xMDQxLDExICsxMDQxLDExIEBACiAJCXJldHVybjsKIAl9CiAJREJGX0RFVl9FVkVOVChEQkZfREVCVUcsIGRldmljZSwgIkludDogQ1MvRFMgMHglMDR4IGZvciBjcXIgJXAiLAotCQkgICAgICAoKGlyYi0+c2Nzdy5jc3RhdCA8PCA4KSB8IGlyYi0+c2Nzdy5kc3RhdCksIGNxcik7CisJCSAgICAgICgoaXJiLT5zY3N3LmNtZC5jc3RhdCA8PCA4KSB8IGlyYi0+c2Nzdy5jbWQuZHN0YXQpLCBjcXIpOwogCW5leHQgPSBOVUxMOwogCWV4cGlyZXMgPSAwOwotCWlmIChpcmItPnNjc3cuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EKSAmJgotCSAgICBpcmItPnNjc3cuY3N0YXQgPT0gMCAmJiAhaXJiLT5lc3cuZXN3MC5lcncuY29ucykgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ID09IChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCkgJiYKKwkgICAgaXJiLT5zY3N3LmNtZC5jc3RhdCA9PSAwICYmICFpcmItPmVzdy5lc3cwLmVydy5jb25zKSB7CiAJCS8qIHJlcXVlc3Qgd2FzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgKi8KIAkJY3FyLT5zdGF0dXMgPSBEQVNEX0NRUl9TVUNDRVNTOwogCQljcXItPnN0b3BjbGsgPSBub3c7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF8zOTkwX2VycC5jIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfMzk5MF9lcnAuYwppbmRleCBlNjcwMGRmLi41YzZlNmYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF8zOTkwX2VycC5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkXzM5OTBfZXJwLmMKQEAgLTE1NzIsNyArMTU3Miw3IEBACiAKIAkvKiBkZXRlcm1pbmUgdGhlIGFkZHJlc3Mgb2YgdGhlIENDVyB0byBiZSByZXN0YXJ0ZWQgKi8KIAkvKiBJbXByZWNpc2UgZW5kaW5nIGlzIG5vdCBzZXQgLT4gYWRkciBmcm9tIElSQi1TQ1NXICovCi0JY3BhID0gZGVmYXVsdF9lcnAtPnJlZmVycy0+aXJiLnNjc3cuY3BhOworCWNwYSA9IGRlZmF1bHRfZXJwLT5yZWZlcnMtPmlyYi5zY3N3LmNtZC5jcGE7CiAKIAlpZiAoY3BhID09IDApIHsKIApAQCAtMTcyNSw3ICsxNzI1LDcgQEAKIAogCS8qIGRldGVybWluZSB0aGUgYWRkcmVzcyBvZiB0aGUgQ0NXIHRvIGJlIHJlc3RhcnRlZCAqLwogCS8qIEltcHJlY2lzZSBlbmRpbmcgaXMgbm90IHNldCAtPiBhZGRyIGZyb20gSVJCLVNDU1cgKi8KLQljcGEgPSBwcmV2aW91c19lcnAtPmlyYi5zY3N3LmNwYTsKKwljcGEgPSBwcmV2aW91c19lcnAtPmlyYi5zY3N3LmNtZC5jcGE7CiAKIAlpZiAoY3BhID09IDApIHsKIApAQCAtMjE3MSw3ICsyMTcxLDcgQEAKIHsKIAlzdHJ1Y3QgZGFzZF9kZXZpY2UgKmRldmljZSA9IGVycC0+c3RhcnRkZXY7CiAKLQlpZiAoZXJwLT5yZWZlcnMtPmlyYi5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLCisJaWYgKGVycC0+cmVmZXJzLT5pcmIuc2Nzdy5jbWQuY3N0YXQgJiAoU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsKIAkJCQkJICAgfCBTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLKSkgewogCQlERVZfTUVTU0FHRShLRVJOX0RFQlVHLCBkZXZpY2UsICIlcyIsCiAJCQkgICAgImNoYW5uZWwgb3IgaW50ZXJmYWNlIGNvbnRyb2wgY2hlY2siKTsKQEAgLTIzNTIsOSArMjM1Miw5IEBACiAKIAlpZiAoKGNxcjEtPmlyYi5lc3cuZXN3MC5lcncuY29ucyA9PSAwKSAmJgogCSAgICAoY3FyMi0+aXJiLmVzdy5lc3cwLmVydy5jb25zID09IDApKQl7Ci0JCWlmICgoY3FyMS0+aXJiLnNjc3cuY3N0YXQgJiAoU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAorCQlpZiAoKGNxcjEtPmlyYi5zY3N3LmNtZC5jc3RhdCAmIChTQ0hOX1NUQVRfSU5URl9DVFJMX0NISyB8CiAJCQkJCSAgICAgU0NITl9TVEFUX0NITl9DVFJMX0NISykpID09Ci0JCSAgICAoY3FyMi0+aXJiLnNjc3cuY3N0YXQgJiAoU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAorCQkgICAgKGNxcjItPmlyYi5zY3N3LmNtZC5jc3RhdCAmIChTQ0hOX1NUQVRfSU5URl9DVFJMX0NISyB8CiAJCQkJCSAgICAgU0NITl9TVEFUX0NITl9DVFJMX0NISykpKQogCQkJcmV0dXJuIDE7IC8qIG1hdGNoIHdpdGggaWZjYyovCiAJfQpAQCAtMjYyMiw4ICsyNjIyLDkgQEAKIAl9CiAKIAkvKiBkb3VibGUtY2hlY2sgaWYgY3VycmVudCBlcnAvY3FyIHdhcyBzdWNjZXNzZnVsbCAqLwotCWlmICgoY3FyLT5pcmIuc2Nzdy5jc3RhdCA9PSAweDAwKSAmJgotCSAgICAoY3FyLT5pcmIuc2Nzdy5kc3RhdCA9PSAoREVWX1NUQVRfQ0hOX0VORHxERVZfU1RBVF9ERVZfRU5EKSkpIHsKKwlpZiAoKGNxci0+aXJiLnNjc3cuY21kLmNzdGF0ID09IDB4MDApICYmCisJICAgIChjcXItPmlyYi5zY3N3LmNtZC5kc3RhdCA9PQorCSAgICAgKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EKSkpIHsKIAogCQlERVZfTUVTU0FHRShLRVJOX0RFQlVHLCBkZXZpY2UsCiAJCQkgICAgIkVSUCBjYWxsZWQgZm9yIHN1Y2Nlc3NmdWwgcmVxdWVzdCAlcCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vja2QuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vja2QuYwppbmRleCBhMGVkYWUwLi5lMGI3NzIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lY2tkLmMKKysrIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWNrZC5jCkBAIC0xNDA0LDEzICsxNDA0LDE0IEBACiAKIAkvKiBmaXJzdCBvZiBhbGwgY2hlY2sgZm9yIHN0YXRlIGNoYW5nZSBwZW5kaW5nIGludGVycnVwdCAqLwogCW1hc2sgPSBERVZfU1RBVF9BVFRFTlRJT04gfCBERVZfU1RBVF9ERVZfRU5EIHwgREVWX1NUQVRfVU5JVF9FWENFUDsKLQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIG1hc2spID09IG1hc2spIHsKKwlpZiAoKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBtYXNrKSA9PSBtYXNrKSB7CiAJCWRhc2RfZ2VuZXJpY19oYW5kbGVfc3RhdGVfY2hhbmdlKGRldmljZSk7CiAJCXJldHVybjsKIAl9CiAKIAkvKiBzdW1tYXJ5IHVuaXQgY2hlY2sgKi8KLQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmIGlyYi0+ZWN3WzddID09IDB4MEQpIHsKKwlpZiAoKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgorCSAgICAoaXJiLT5lY3dbN10gPT0gMHgwRCkpIHsKIAkJZGFzZF9hbGlhc19oYW5kbGVfc3VtbWFyeV91bml0X2NoZWNrKGRldmljZSwgaXJiKTsKIAkJcmV0dXJuOwogCX0KQEAgLTIwNjgsMTEgKzIwNjksMTEgQEAKIAkJICAgICAgZGV2aWNlLT5jZGV2LT5kZXYuYnVzX2lkKTsKIAlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSCiAJCSAgICAgICAiIGluIHJlcTogJXAgQ1M6IDB4JTAyWCBEUzogMHglMDJYXG4iLCByZXEsCi0JCSAgICAgICBpcmItPnNjc3cuY3N0YXQsIGlyYi0+c2Nzdy5kc3RhdCk7CisJCSAgICAgICBpcmItPnNjc3cuY21kLmNzdGF0LCBpcmItPnNjc3cuY21kLmRzdGF0KTsKIAlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSCiAJCSAgICAgICAiIGRldmljZSAlczogRmFpbGluZyBDQ1c6ICVwXG4iLAogCQkgICAgICAgZGV2aWNlLT5jZGV2LT5kZXYuYnVzX2lkLAotCQkgICAgICAgKHZvaWQgKikgKGFkZHJfdCkgaXJiLT5zY3N3LmNwYSk7CisJCSAgICAgICAodm9pZCAqKSAoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSk7CiAJaWYgKGlyYi0+ZXN3LmVzdzAuZXJ3LmNvbnMpIHsKIAkJZm9yIChzbCA9IDA7IHNsIDwgNDsgc2wrKykgewogCQkJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgpAQCAtMjEyMiw3ICsyMTIzLDggQEAKIAkJLyogc2Nzdy0+Y2RhIGlzIGVpdGhlciB2YWxpZCBvciB6ZXJvICAqLwogCQlsZW4gPSAwOwogCQlmcm9tID0gKyt0bzsKLQkJZmFpbCA9IChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpIGlyYi0+c2Nzdy5jcGE7IC8qIGZhaWxpbmcgQ0NXICovCisJCWZhaWwgPSAoc3RydWN0IGNjdzEgKikoYWRkcl90KQorCQkJCWlyYi0+c2Nzdy5jbWQuY3BhOyAvKiBmYWlsaW5nIENDVyAqLwogCQlpZiAoZnJvbSA8ICBmYWlsIC0gMikgewogCQkJZnJvbSA9IGZhaWwgLSAyOyAgICAgLyogdGhlcmUgaXMgYSBnYXAgLSBwcmludCBoZWFkZXIgKi8KIAkJCWxlbiArPSBzcHJpbnRmKHBhZ2UsIEtFUk5fRVJSIFBSSU5US19IRUFERVIgIi4uLi4uLlxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lZXIuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vlci5jCmluZGV4IDZlNTNhYjYuLjI5ZGE0NDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vlci5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vlci5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgpAQCAtNTI1LDYgKzUyNiw3IEBACiAJZWVyYiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBlZXJidWZmZXIpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWVlcmIpCiAJCXJldHVybiAtRU5PTUVNOworCWxvY2tfa2VybmVsKCk7CiAJZWVyYi0+YnVmZmVyX3BhZ2VfY291bnQgPSBlZXJfcGFnZXM7CiAJaWYgKGVlcmItPmJ1ZmZlcl9wYWdlX2NvdW50IDwgMSB8fAogCSAgICBlZXJiLT5idWZmZXJfcGFnZV9jb3VudCA+IElOVF9NQVggLyBQQUdFX1NJWkUpIHsKQEAgLTUzMiw2ICs1MzQsNyBAQAogCQlNRVNTQUdFKEtFUk5fV0FSTklORywgImNhbid0IG9wZW4gZGV2aWNlIHNpbmNlIG1vZHVsZSAiCiAJCQkicGFyYW1ldGVyIGVlcl9wYWdlcyBpcyBzbWFsbGVyIHRoZW4gMSBvciIKIAkJCSIgYmlnZ2VyIHRoZW4gJWQiLCAoaW50KShJTlRfTUFYIC8gUEFHRV9TSVpFKSk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCWVlcmItPmJ1ZmZlcnNpemUgPSBlZXJiLT5idWZmZXJfcGFnZV9jb3VudCAqIFBBR0VfU0laRTsKQEAgLTUzOSwxMiArNTQyLDE0IEBACiAJCQkgICAgICAgR0ZQX0tFUk5FTCk7CiAgICAgICAgIGlmICghZWVyYi0+YnVmZmVyKSB7CiAJCWtmcmVlKGVlcmIpOworCQl1bmxvY2tfa2VybmVsKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAJfQogCWlmIChkYXNkX2Vlcl9hbGxvY2F0ZV9idWZmZXJfcGFnZXMoZWVyYi0+YnVmZmVyLAogCQkJCQkgICBlZXJiLT5idWZmZXJfcGFnZV9jb3VudCkpIHsKIAkJa2ZyZWUoZWVyYi0+YnVmZmVyKTsKIAkJa2ZyZWUoZWVyYik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGVlcmI7CkBAIC01NTIsNiArNTU3LDcgQEAKIAlsaXN0X2FkZCgmZWVyYi0+bGlzdCwgJmJ1ZmZlcmxpc3QpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmJ1ZmZlcmxvY2ssIGZsYWdzKTsKIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3BlbihpbnAsZmlscCk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2ZiYS5jIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZmJhLmMKaW5kZXggMTE2NjExNS4uYWVlNDY1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZmJhLmMKKysrIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZmJhLmMKQEAgLTIyMiw3ICsyMjIsNyBAQAogCiAJLyogZmlyc3Qgb2YgYWxsIGNoZWNrIGZvciBzdGF0ZSBjaGFuZ2UgcGVuZGluZyBpbnRlcnJ1cHQgKi8KIAltYXNrID0gREVWX1NUQVRfQVRURU5USU9OIHwgREVWX1NUQVRfREVWX0VORCB8IERFVl9TVEFUX1VOSVRfRVhDRVA7Ci0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBtYXNrKSA9PSBtYXNrKSB7CisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgbWFzaykgPT0gbWFzaykgewogCQlkYXNkX2dlbmVyaWNfaGFuZGxlX3N0YXRlX2NoYW5nZShkZXZpY2UpOwogCQlyZXR1cm47CiAJfQpAQCAtNDQ5LDExICs0NDksMTEgQEAKIAkJICAgICAgZGV2aWNlLT5jZGV2LT5kZXYuYnVzX2lkKTsKIAlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSCiAJCSAgICAgICAiIGluIHJlcTogJXAgQ1M6IDB4JTAyWCBEUzogMHglMDJYXG4iLCByZXEsCi0JCSAgICAgICBpcmItPnNjc3cuY3N0YXQsIGlyYi0+c2Nzdy5kc3RhdCk7CisJCSAgICAgICBpcmItPnNjc3cuY21kLmNzdGF0LCBpcmItPnNjc3cuY21kLmRzdGF0KTsKIAlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSCiAJCSAgICAgICAiIGRldmljZSAlczogRmFpbGluZyBDQ1c6ICVwXG4iLAogCQkgICAgICAgZGV2aWNlLT5jZGV2LT5kZXYuYnVzX2lkLAotCQkgICAgICAgKHZvaWQgKikgKGFkZHJfdCkgaXJiLT5zY3N3LmNwYSk7CisJCSAgICAgICAodm9pZCAqKSAoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSk7CiAJaWYgKGlyYi0+ZXN3LmVzdzAuZXJ3LmNvbnMpIHsKIAkJZm9yIChzbCA9IDA7IHNsIDwgNDsgc2wrKykgewogCQkJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgpAQCAtNDk4LDExICs0OTgsMTEgQEAKIAogCS8qIHByaW50IGZhaWxpbmcgQ0NXIGFyZWEgKi8KIAlsZW4gPSAwOwotCWlmIChhY3QgPCAgKChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpIC0gMikgewotCQlhY3QgPSAoKHN0cnVjdCBjY3cxICopKGFkZHJfdCkgaXJiLT5zY3N3LmNwYSkgLSAyOworCWlmIChhY3QgPCAgKChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpIGlyYi0+c2Nzdy5jbWQuY3BhKSAtIDIpIHsKKwkJYWN0ID0gKChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpIGlyYi0+c2Nzdy5jbWQuY3BhKSAtIDI7CiAJCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIgIi4uLi4uLlxuIik7CiAJfQotCWVuZCA9IG1pbigoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY3BhICsgMiwgbGFzdCk7CisJZW5kID0gbWluKChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpIGlyYi0+c2Nzdy5jbWQuY3BhICsgMiwgbGFzdCk7CiAJd2hpbGUgKGFjdCA8PSBlbmQpIHsKIAkJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkJICAgICAgICIgQ0NXICVwOiAlMDhYICUwOFggREFUOiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGNzc2Jsay5jIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rjc3NibGsuYwppbmRleCBiYjUyZDJmLi4wMWZjZGQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvYmxvY2svZGNzc2Jsay5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay9kY3NzYmxrLmMKQEAgLTE2NywxMCArMTY3LDggQEAKIAlzdHJ1Y3QgZGNzc2Jsa19kZXZfaW5mbyAqZGV2X2luZm87CiAJaW50IHJjOwogCi0JaWYgKChjb3VudCA+IDEpICYmIChpbmJ1ZlsxXSAhPSAnXG4nKSAmJiAoaW5idWZbMV0gIT0gJ1wwJykpIHsKLQkJUFJJTlRfV0FSTigiSW52YWxpZCB2YWx1ZSwgbXVzdCBiZSAwIG9yIDFcbiIpOworCWlmICgoY291bnQgPiAxKSAmJiAoaW5idWZbMV0gIT0gJ1xuJykgJiYgKGluYnVmWzFdICE9ICdcMCcpKQogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAJZG93bl93cml0ZSgmZGNzc2Jsa19kZXZpY2VzX3NlbSk7CiAJZGV2X2luZm8gPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgZGNzc2Jsa19kZXZfaW5mbywgZGV2KTsKIAlpZiAoYXRvbWljX3JlYWQoJmRldl9pbmZvLT51c2VfY291bnQpKSB7CkBAIC0yMTUsNyArMjEzLDYgQEAKIAkJCXNldF9kaXNrX3JvKGRldl9pbmZvLT5nZCwgMCk7CiAJCX0KIAl9IGVsc2UgewotCQlQUklOVF9XQVJOKCJJbnZhbGlkIHZhbHVlLCBtdXN0IGJlIDAgb3IgMVxuIik7CiAJCXJjID0gLUVJTlZBTDsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMjU4LDEwICsyNTUsOCBAQAogewogCXN0cnVjdCBkY3NzYmxrX2Rldl9pbmZvICpkZXZfaW5mbzsKIAotCWlmICgoY291bnQgPiAxKSAmJiAoaW5idWZbMV0gIT0gJ1xuJykgJiYgKGluYnVmWzFdICE9ICdcMCcpKSB7Ci0JCVBSSU5UX1dBUk4oIkludmFsaWQgdmFsdWUsIG11c3QgYmUgMCBvciAxXG4iKTsKKwlpZiAoKGNvdW50ID4gMSkgJiYgKGluYnVmWzFdICE9ICdcbicpICYmIChpbmJ1ZlsxXSAhPSAnXDAnKSkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JfQogCWRldl9pbmZvID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IGRjc3NibGtfZGV2X2luZm8sIGRldik7CiAKIAlkb3duX3dyaXRlKCZkY3NzYmxrX2RldmljZXNfc2VtKTsKQEAgLTI4OSw3ICsyODQsNiBAQAogCQl9CiAJfSBlbHNlIHsKIAkJdXBfd3JpdGUoJmRjc3NibGtfZGV2aWNlc19zZW0pOwotCQlQUklOVF9XQVJOKCJJbnZhbGlkIHZhbHVlLCBtdXN0IGJlIDAgb3IgMVxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAl1cF93cml0ZSgmZGNzc2Jsa19kZXZpY2VzX3NlbSk7CkBAIC00NDEsNyArNDM1LDYgQEAKIAlnb3RvIG91dDsKIAogdW5yZWdpc3Rlcl9kZXY6Ci0JUFJJTlRfRVJSKCJkZXZpY2VfY3JlYXRlX2ZpbGUoKSBmYWlsZWQhXG4iKTsKIAlsaXN0X2RlbCgmZGV2X2luZm8tPmxoKTsKIAlibGtfY2xlYW51cF9xdWV1ZShkZXZfaW5mby0+ZGNzc2Jsa19xdWV1ZSk7CiAJZGV2X2luZm8tPmdkLT5xdWV1ZSA9IE5VTEw7CkBAIC03MDIsMTAgKzY5NSw4IEBACiBzdGF0aWMgdm9pZCBfX2V4aXQKIGRjc3NibGtfZXhpdCh2b2lkKQogewotCVBSSU5UX0RFQlVHKCJEQ1NTQkxPQ0sgRVhJVC4uLlxuIik7CiAJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGRjc3NibGtfcm9vdF9kZXYpOwogCXVucmVnaXN0ZXJfYmxrZGV2KGRjc3NibGtfbWFqb3IsIERDU1NCTEtfTkFNRSk7Ci0JUFJJTlRfREVCVUcoIi4uLmZpbmlzaGVkIVxuIik7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0CkBAIC03MTMsMjcgKzcwNCwyMSBAQAogewogCWludCByYzsKIAotCVBSSU5UX0RFQlVHKCJEQ1NTQkxPQ0sgSU5JVC4uLlxuIik7CiAJZGNzc2Jsa19yb290X2RldiA9IHMzOTBfcm9vdF9kZXZfcmVnaXN0ZXIoImRjc3NibGsiKTsKLQlpZiAoSVNfRVJSKGRjc3NibGtfcm9vdF9kZXYpKSB7Ci0JCVBSSU5UX0VSUigiZGV2aWNlX3JlZ2lzdGVyKCkgZmFpbGVkIVxuIik7CisJaWYgKElTX0VSUihkY3NzYmxrX3Jvb3RfZGV2KSkKIAkJcmV0dXJuIFBUUl9FUlIoZGNzc2Jsa19yb290X2Rldik7Ci0JfQogCXJjID0gZGV2aWNlX2NyZWF0ZV9maWxlKGRjc3NibGtfcm9vdF9kZXYsICZkZXZfYXR0cl9hZGQpOwogCWlmIChyYykgewotCQlQUklOVF9FUlIoImRldmljZV9jcmVhdGVfZmlsZShhZGQpIGZhaWxlZCFcbiIpOwogCQlzMzkwX3Jvb3RfZGV2X3VucmVnaXN0ZXIoZGNzc2Jsa19yb290X2Rldik7CiAJCXJldHVybiByYzsKIAl9CiAJcmMgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoZGNzc2Jsa19yb290X2RldiwgJmRldl9hdHRyX3JlbW92ZSk7CiAJaWYgKHJjKSB7Ci0JCVBSSU5UX0VSUigiZGV2aWNlX2NyZWF0ZV9maWxlKHJlbW92ZSkgZmFpbGVkIVxuIik7CiAJCXMzOTBfcm9vdF9kZXZfdW5yZWdpc3RlcihkY3NzYmxrX3Jvb3RfZGV2KTsKIAkJcmV0dXJuIHJjOwogCX0KIAlyYyA9IHJlZ2lzdGVyX2Jsa2RldigwLCBEQ1NTQkxLX05BTUUpOwogCWlmIChyYyA8IDApIHsKLQkJUFJJTlRfRVJSKCJDYW4ndCBnZXQgZHluYW1pYyBtYWpvciFcbiIpOwogCQlzMzkwX3Jvb3RfZGV2X3VucmVnaXN0ZXIoZGNzc2Jsa19yb290X2Rldik7CiAJCXJldHVybiByYzsKIAl9CkBAIC03NDIsNyArNzI3LDYgQEAKIAogCWRjc3NibGtfY2hlY2tfcGFyYW1zKCk7CiAKLQlQUklOVF9ERUJVRygiLi4uZmluaXNoZWQhXG4iKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL3hwcmFtLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2sveHByYW0uYwppbmRleCBmMjMxYmMyLi5kZDliOTg2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvYmxvY2sveHByYW0uYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2sveHByYW0uYwpAQCAtMTAwLDE1ICsxMDAsMTAgQEAKIAkJOiAiK2QiIChjYykgOiAiYSIgKF9fcGEocGFnZV9hZGRyKSksICJkIiAoeHBhZ2VfaW5kZXgpIDogImNjIik7CiAJaWYgKGNjID09IDMpCiAJCXJldHVybiAtRU5YSU87Ci0JaWYgKGNjID09IDIpIHsKLQkJUFJJTlRfRVJSKCJleHBhbmRlZCBzdG9yYWdlIGxvc3QhXG4iKTsKKwlpZiAoY2MgPT0gMikKIAkJcmV0dXJuIC1FTlhJTzsKLQl9Ci0JaWYgKGNjID09IDEpIHsKLQkJUFJJTlRfRVJSKCJwYWdlIGluIGZhaWxlZCBmb3IgcGFnZSBpbmRleCAldS5cbiIsCi0JCQkgIHhwYWdlX2luZGV4KTsKKwlpZiAoY2MgPT0gMSkKIAkJcmV0dXJuIC1FSU87Ci0JfQogCXJldHVybiAwOwogfQogCkBAIC0xMzUsMTUgKzEzMCwxMCBAQAogCQk6ICIrZCIgKGNjKSA6ICJhIiAoX19wYShwYWdlX2FkZHIpKSwgImQiICh4cGFnZV9pbmRleCkgOiAiY2MiKTsKIAlpZiAoY2MgPT0gMykKIAkJcmV0dXJuIC1FTlhJTzsKLQlpZiAoY2MgPT0gMikgewotCQlQUklOVF9FUlIoImV4cGFuZGVkIHN0b3JhZ2UgbG9zdCFcbiIpOworCWlmIChjYyA9PSAyKQogCQlyZXR1cm4gLUVOWElPOwotCX0KLQlpZiAoY2MgPT0gMSkgewotCQlQUklOVF9FUlIoInBhZ2Ugb3V0IGZhaWxlZCBmb3IgcGFnZSBpbmRleCAldS5cbiIsCi0JCQkgIHhwYWdlX2luZGV4KTsKKwlpZiAoY2MgPT0gMSkKIAkJcmV0dXJuIC1FSU87Ci0JfQogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjE1LmMgYi9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjE1LmMKaW5kZXggM2U1NjUzYy4uZDNlYzliNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyMTUuYwpAQCAtOTMsOSArOTMsNiBAQAogCXN0cnVjdCByYXczMjE1X3JlcSAqcXVldWVkX3dyaXRlOy8qIHBvaW50ZXIgdG8gcXVldWVkIHdyaXRlIHJlcXVlc3RzICovCiAJd2FpdF9xdWV1ZV9oZWFkX3QgZW1wdHlfd2FpdDsgLyogd2FpdCBxdWV1ZSBmb3IgZmx1c2hpbmcgKi8KIAlzdHJ1Y3QgdGltZXJfbGlzdCB0aW1lcjsgICAgICAvKiB0aW1lciBmb3IgZGVsYXllZCBvdXRwdXQgKi8KLQljaGFyICptZXNzYWdlOwkJICAgICAgLyogcGVuZGluZyBtZXNzYWdlIGZyb20gcmF3MzIxNV9pcnEgKi8KLQlpbnQgbXNnX2RzdGF0OwkJICAgICAgLyogZHN0YXQgZm9yIHBlbmRpbmcgbWVzc2FnZSAqLwotCWludCBtc2dfY3N0YXQ7CQkgICAgICAvKiBjc3RhdCBmb3IgcGVuZGluZyBtZXNzYWdlICovCiAJaW50IGxpbmVfcG9zOwkJICAgICAgLyogcG9zaXRpb24gb24gdGhlIGxpbmUgKGZvciB0YWJzKSAqLwogCWNoYXIgdWJ1ZmZlcls4MF07CSAgICAgIC8qIGNvcHlfZnJvbV91c2VyIGJ1ZmZlciAqLwogfTsKQEAgLTM1OSwxMSArMzU2LDYgQEAKIAlyYXczMjE1X21rX3dyaXRlX3JlcShyYXcpOwogCXJhdzMyMTVfdHJ5X2lvKHJhdyk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShnZXRfY2N3ZGV2X2xvY2socmF3LT5jZGV2KSwgZmxhZ3MpOwotCS8qIENoZWNrIGZvciBwZW5kaW5nIG1lc3NhZ2UgZnJvbSByYXczMjE1X2lycSAqLwotCWlmIChyYXctPm1lc3NhZ2UgIT0gTlVMTCkgewotCQlwcmludGsocmF3LT5tZXNzYWdlLCByYXctPm1zZ19kc3RhdCwgcmF3LT5tc2dfY3N0YXQpOwotCQlyYXctPm1lc3NhZ2UgPSBOVUxMOwotCX0KIAl0dHkgPSByYXctPnR0eTsKIAlpZiAodHR5ICE9IE5VTEwgJiYKIAkgICAgUkFXMzIxNV9CVUZGRVJfU0laRSAtIHJhdy0+Y291bnQgPj0gUkFXMzIxNV9NSU5fU1BBQ0UpIHsKQEAgLTM4MSwyMCArMzczLDE0IEBACiAJc3RydWN0IHJhdzMyMTVfcmVxICpyZXE7CiAJc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eTsKIAlpbnQgY3N0YXQsIGRzdGF0OwotCWludCBjb3VudCwgc2xlbjsKKwlpbnQgY291bnQ7CiAKIAlyYXcgPSBjZGV2LT5kZXYuZHJpdmVyX2RhdGE7CiAJcmVxID0gKHN0cnVjdCByYXczMjE1X3JlcSAqKSBpbnRwYXJtOwotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OwotCWlmIChjc3RhdCAhPSAwKSB7Ci0JCXJhdy0+bWVzc2FnZSA9IEtFUk5fV0FSTklORwotCQkJIkdvdCBub256ZXJvIGNoYW5uZWwgc3RhdHVzIGluIHJhdzMyMTVfaXJxICIKLQkJCSIoZGV2IHN0cyAweCUyeCwgc2NoIHN0cyAweCUyeCkiOwotCQlyYXctPm1zZ19kc3RhdCA9IGRzdGF0OwotCQlyYXctPm1zZ19jc3RhdCA9IGNzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CisJaWYgKGNzdGF0ICE9IDApCiAJCXRhc2tsZXRfc2NoZWR1bGUoJnJhdy0+dGFza2xldCk7Ci0JfQogCWlmIChkc3RhdCAmIDB4MDEpIHsgLyogd2UgZ290IGEgdW5pdCBleGNlcHRpb24gKi8KIAkJZHN0YXQgJj0gfjB4MDE7CSAvKiB3ZSBjYW4gaWdub3JlIGl0ICovCiAJfQpAQCAtNDA0LDggKzM5MCw2IEBACiAJCQlicmVhazsKIAkJLyogQXR0ZW50aW9uIGludGVycnVwdCwgc29tZW9uZSBoaXQgdGhlIGVudGVyIGtleSAqLwogCQlyYXczMjE1X21rX3JlYWRfcmVxKHJhdyk7Ci0JCWlmIChNQUNISU5FX0lTX1AzOTApCi0JCQltZW1zZXQocmF3LT5pbmJ1ZiwgMCwgUkFXMzIxNV9JTkJVRl9TSVpFKTsKIAkJdGFza2xldF9zY2hlZHVsZSgmcmF3LT50YXNrbGV0KTsKIAkJYnJlYWs7CiAJY2FzZSAweDA4OgpAQCAtNDE1LDcgKzM5OSw3IEBACiAJCQlyZXR1cm47CQkgICAgIC8qIFRoYXQgc2hvdWxkbid0IGhhcHBlbiAuLi4gKi8KIAkJaWYgKHJlcS0+dHlwZSA9PSBSQVczMjE1X1JFQUQpIHsKIAkJCS8qIHN0b3JlIHJlc2lkdWFsIGNvdW50LCB0aGVuIHdhaXQgZm9yIGRldmljZSBlbmQgKi8KLQkJCXJlcS0+cmVzaWR1YWwgPSBpcmItPnNjc3cuY291bnQ7CisJCQlyZXEtPnJlc2lkdWFsID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKIAkJfQogCQlpZiAoZHN0YXQgPT0gMHgwOCkKIAkJCWJyZWFrOwpAQCAtNDI4LDExICs0MTIsNiBAQAogCiAJCQl0dHkgPSByYXctPnR0eTsKIAkJCWNvdW50ID0gMTYwIC0gcmVxLT5yZXNpZHVhbDsKLQkJCWlmIChNQUNISU5FX0lTX1AzOTApIHsKLQkJCQlzbGVuID0gc3RybmxlbihyYXctPmluYnVmLCBSQVczMjE1X0lOQlVGX1NJWkUpOwotCQkJCWlmIChjb3VudCA+IHNsZW4pCi0JCQkJCWNvdW50ID0gc2xlbjsKLQkJCX0gZWxzZQogCQkJRUJDQVNDKHJhdy0+aW5idWYsIGNvdW50KTsKIAkJCWNjaGFyID0gY3RybGNoYXJfaGFuZGxlKHJhdy0+aW5idWYsIGNvdW50LCB0dHkpOwogCQkJc3dpdGNoIChjY2hhciAmIENUUkxDSEFSX01BU0spIHsKQEAgLTQ4MSwxMSArNDYwLDYgQEAKIAkJCXJhdy0+ZmxhZ3MgJj0gflJBVzMyMTVfV09SS0lORzsKIAkJCXJhdzMyMTVfZnJlZV9yZXEocmVxKTsKIAkJfQotCQlyYXctPm1lc3NhZ2UgPSBLRVJOX1dBUk5JTkcKLQkJCSJTcHVyaW91cyBpbnRlcnJ1cHQgaW4gaW4gcmF3MzIxNV9pcnEgIgotCQkJIihkZXYgc3RzIDB4JTJ4LCBzY2ggc3RzIDB4JTJ4KSI7Ci0JCXJhdy0+bXNnX2RzdGF0ID0gZHN0YXQ7Ci0JCXJhdy0+bXNnX2NzdGF0ID0gY3N0YXQ7CiAJCXRhc2tsZXRfc2NoZWR1bGUoJnJhdy0+dGFza2xldCk7CiAJfQogCXJldHVybjsKQEAgLTg4Myw3ICs4NTcsNiBAQAogCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpIHJhdy0+YnVmZmVyLCBSQVczMjE1X0JVRkZFUl9TSVpFKTsKIAkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKSByYXcsIHNpemVvZihzdHJ1Y3QgcmF3MzIxNV9pbmZvKSk7CiAJCXJhdzMyMTVbMF0gPSBOVUxMOwotCQlwcmludGsoIkNvdWxkbid0IGZpbmQgYSAzMjE1IGNvbnNvbGUgZGV2aWNlXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCXJlZ2lzdGVyX2NvbnNvbGUoJmNvbjMyMTUpOwpAQCAtMTE1Nyw3ICsxMTMwLDYgQEAKIAl0dHlfc2V0X29wZXJhdGlvbnMoZHJpdmVyLCAmdHR5MzIxNV9vcHMpOwogCXJldCA9IHR0eV9yZWdpc3Rlcl9kcml2ZXIoZHJpdmVyKTsKIAlpZiAocmV0KSB7Ci0JCXByaW50aygiQ291bGRuJ3QgcmVnaXN0ZXIgdHR5MzIxNSBkcml2ZXJcbiIpOwogCQlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCQlyZXR1cm4gcmV0OwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyNzAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyNzAuYwppbmRleCAwYjA0MDU1Li4zYzA3OTc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjcwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvY29uMzI3MC5jCkBAIC00MTEsMTUgKzQxMSwxNSBAQAogY29uMzI3MF9pcnEoc3RydWN0IGNvbjMyNzAgKmNwLCBzdHJ1Y3QgcmF3MzI3MF9yZXF1ZXN0ICpycSwgc3RydWN0IGlyYiAqaXJiKQogewogCS8qIEhhbmRsZSBBVFROLiBTY2hlZHVsZSB0YXNrbGV0IHRvIHJlYWQgYWlkLiAqLwotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pCisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pCiAJCWNvbjMyNzBfaXNzdWVfcmVhZChjcCk7CiAKIAlpZiAocnEpIHsKLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCisJCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKIAkJCXJxLT5yYyA9IC1FSU87CiAJCWVsc2UKIAkJCS8qIE5vcm1hbCBlbmQuIENvcHkgcmVzaWR1YWwgY291bnQuICovCi0JCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNvdW50OworCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jbWQuY291bnQ7CiAJfQogCXJldHVybiBSQVczMjcwX0lPX0RPTkU7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9mczMyNzAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL2ZzMzI3MC5jCmluZGV4IGVmMzZmMjEzLi5kMThlNmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9mczMyNzAuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9mczMyNzAuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vY2N3ZGV2Lmg+CiAjaW5jbHVkZSA8YXNtL2Npby5oPgpAQCAtMjE2LDE3ICsyMTcsMTcgQEAKIGZzMzI3MF9pcnEoc3RydWN0IGZzMzI3MCAqZnAsIHN0cnVjdCByYXczMjcwX3JlcXVlc3QgKnJxLCBzdHJ1Y3QgaXJiICppcmIpCiB7CiAJLyogSGFuZGxlIEFUVE4uIFNldCBpbmRpY2F0aW9uIGFuZCB3YWtlIHdhaXRlcnMgZm9yIGF0dGVudGlvbi4gKi8KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKIAkJZnAtPmF0dGVudGlvbiA9IDE7CiAJCXdha2VfdXAoJmZwLT53YWl0KTsKIAl9CiAKIAlpZiAocnEpIHsKLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCisJCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKIAkJCXJxLT5yYyA9IC1FSU87CiAJCWVsc2UKIAkJCS8qIE5vcm1hbCBlbmQuIENvcHkgcmVzaWR1YWwgY291bnQuICovCi0JCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNvdW50OworCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jbWQuY291bnQ7CiAJfQogCXJldHVybiBSQVczMjcwX0lPX0RPTkU7CiB9CkBAIC00MjEsNiArNDIyLDcgQEAKIAogCWlmIChpbWFqb3IoZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSkgIT0gSUJNX0ZTMzI3MF9NQUpPUikKIAkJcmV0dXJuIC1FTk9ERVY7CisJbG9ja19rZXJuZWwoKTsKIAltaW5vciA9IGltaW5vcihmaWxwLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKIAkvKiBDaGVjayBmb3IgbWlub3IgMCBtdWx0aXBsZXhlci4gKi8KIAlpZiAobWlub3IgPT0gMCkgewpAQCAtNDI5LDcgKzQzMSw4IEBACiAJCXR0eSA9IGdldF9jdXJyZW50X3R0eSgpOwogCQlpZiAoIXR0eSB8fCB0dHktPmRyaXZlci0+bWFqb3IgIT0gSUJNX1RUWTMyNzBfTUFKT1IpIHsKIAkJCW11dGV4X3VubG9jaygmdHR5X211dGV4KTsKLQkJCXJldHVybiAtRU5PREVWOworCQkJcmMgPSAtRU5PREVWOworCQkJZ290byBvdXQ7CiAJCX0KIAkJbWlub3IgPSB0dHktPmluZGV4ICsgUkFXMzI3MF9GSVJTVE1JTk9SOwogCQltdXRleF91bmxvY2soJnR0eV9tdXRleCk7CkBAIC00MzgsMTkgKzQ0MSwyMiBAQAogCWZwID0gKHN0cnVjdCBmczMyNzAgKikgcmF3MzI3MF9maW5kX3ZpZXcoJmZzMzI3MF9mbiwgbWlub3IpOwogCWlmICghSVNfRVJSKGZwKSkgewogCQlyYXczMjcwX3B1dF92aWV3KCZmcC0+dmlldyk7Ci0JCXJldHVybiAtRUJVU1k7CisJCXJjID0gLUVCVVNZOworCQlnb3RvIG91dDsKIAl9CiAJLyogQWxsb2NhdGUgZnVsbHNjcmVlbiB2aWV3IHN0cnVjdHVyZS4gKi8KIAlmcCA9IGZzMzI3MF9hbGxvY192aWV3KCk7Ci0JaWYgKElTX0VSUihmcCkpCi0JCXJldHVybiBQVFJfRVJSKGZwKTsKKwlpZiAoSVNfRVJSKGZwKSkgeworCQlyYyA9IFBUUl9FUlIoZnApOworCQlnb3RvIG91dDsKKwl9CiAKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZmcC0+d2FpdCk7CiAJZnAtPmZzX3BpZCA9IGdldF9waWQodGFza19waWQoY3VycmVudCkpOwogCXJjID0gcmF3MzI3MF9hZGRfdmlldygmZnAtPnZpZXcsICZmczMyNzBfZm4sIG1pbm9yKTsKIAlpZiAocmMpIHsKIAkJZnMzMjcwX2ZyZWVfdmlldygmZnAtPnZpZXcpOwotCQlyZXR1cm4gcmM7CisJCWdvdG8gb3V0OwogCX0KIAogCS8qIEFsbG9jYXRlIGlkYWwtYnVmZmVyLiAqLwpAQCAtNDU4LDcgKzQ2NCw4IEBACiAJaWYgKElTX0VSUihpYikpIHsKIAkJcmF3MzI3MF9wdXRfdmlldygmZnAtPnZpZXcpOwogCQlyYXczMjcwX2RlbF92aWV3KCZmcC0+dmlldyk7Ci0JCXJldHVybiBQVFJfRVJSKGZwKTsKKwkJcmMgPSBQVFJfRVJSKGZwKTsKKwkJZ290byBvdXQ7CiAJfQogCWZwLT5yZGJ1ZiA9IGliOwogCkBAIC00NjYsOSArNDczLDExIEBACiAJaWYgKHJjKSB7CiAJCXJhdzMyNzBfcHV0X3ZpZXcoJmZwLT52aWV3KTsKIAkJcmF3MzI3MF9kZWxfdmlldygmZnAtPnZpZXcpOwotCQlyZXR1cm4gcmM7CisJCWdvdG8gb3V0OwogCX0KIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBmcDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTUxMiwxMSArNTIxLDggQEAKIAlpbnQgcmM7CiAKIAlyYyA9IHJlZ2lzdGVyX2NocmRldihJQk1fRlMzMjcwX01BSk9SLCAiZnMzMjcwIiwgJmZzMzI3MF9mb3BzKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJmczMyNzAgY2FuJ3QgZ2V0IG1ham9yIG51bWJlciAlZDogZXJybm8gJWRcbiIsCi0JCSAgICAgICBJQk1fRlMzMjcwX01BSk9SLCByYyk7CisJaWYgKHJjKQogCQlyZXR1cm4gcmM7Ci0JfQogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9tb25yZWFkZXIuYyBiL2RyaXZlcnMvczM5MC9jaGFyL21vbnJlYWRlci5jCmluZGV4IDFlMWY1MDYuLjM1ZmQ4ZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL21vbnJlYWRlci5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL21vbnJlYWRlci5jCkBAIC0zLDE0ICszLDE0IEBACiAgKgogICogQ2hhcmFjdGVyIGRldmljZSBkcml2ZXIgZm9yIHJlYWRpbmcgei9WTSAqTU9OSVRPUiBzZXJ2aWNlIHJlY29yZHMuCiAgKgotICogQ29weXJpZ2h0IDIwMDQgSUJNIENvcnBvcmF0aW9uLCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSC4KLSAqCi0gKiBBdXRob3I6IEdlcmFsZCBTY2hhZWZlciA8Z2VyYWxkc2NAZGUuaWJtLmNvbT4KKyAqICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA0LCAyMDA4CisgKiAgIEF1dGhvcjogR2VyYWxkIFNjaGFlZmVyIDxnZXJhbGQuc2NoYWVmZXJAZGUuaWJtLmNvbT4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC0xOCwxMiArMTgsMTEgQEAKICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPG5ldC9pdWN2L2l1Y3YuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9lYmNkaWMuaD4KICNpbmNsdWRlIDxhc20vZXh0bWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvcG9sbC5oPgotI2luY2x1ZGUgPG5ldC9pdWN2L2l1Y3YuaD4KLQogCiAvLyNkZWZpbmUgTU9OX0RFQlVHCQkJLyogRGVidWcgbWVzc2FnZXMgb24vb2ZmICovCiAKQEAgLTE1MiwxMCArMTUxLDcgQEAKIAkgICAgKG1vbl9tY2FfZW5kKG1vbm1zZykgPiBtb25fZGNzc19lbmQpIHx8CiAJICAgIChtb25fbWNhX3N0YXJ0KG1vbm1zZykgPCBtb25fZGNzc19zdGFydCkgfHwKIAkgICAgKChtb25fbWNhX3R5cGUobW9ubXNnLCAxKSA9PSAwKSAmJiAobW9uX21jYV90eXBlKG1vbm1zZywgMikgPT0gMCkpKQotCXsKLQkJUF9ERUJVRygiUkVBRCwgSUdOT1JFRCBJTlZBTElEIE1DQVxuXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JfQogCXJldHVybiAwOwogfQogCkBAIC0xNjQsMTAgKzE2MCw2IEBACiB7CiAJaW50IHJjOwogCi0JUF9ERUJVRygicmVhZCwgUkVQTFk6IHBhdGhpZCA9IDB4JTA0WCwgbXNnaWQgPSAweCUwOFgsIHRyZ2NscyA9ICIKLQkJIjB4JTA4WFxuXG4iLAotCQltb25wcml2LT5wYXRoLT5wYXRoaWQsIG1vbm1zZy0+bXNnLmlkLCBtb25tc2ctPm1zZy5jbGFzcyk7Ci0KIAlyYyA9IGl1Y3ZfbWVzc2FnZV9yZXBseShtb25wcml2LT5wYXRoLCAmbW9ubXNnLT5tc2csCiAJCQkJSVVDVl9JUFJNREFUQSwgTlVMTCwgMCk7CiAJYXRvbWljX2RlYygmbW9ucHJpdi0+bXNnbGltX2NvdW50KTsKQEAgLTIwMiwxNSArMTk0LDEyIEBACiAJc3RydWN0IG1vbl9wcml2YXRlICptb25wcml2OwogCiAJbW9ucHJpdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtb25fcHJpdmF0ZSksIEdGUF9LRVJORUwpOwotCWlmICghbW9ucHJpdikgewotCQlQX0VSUk9SKCJubyBtZW1vcnkgZm9yIG1vbnByaXZcbiIpOworCWlmICghbW9ucHJpdikKIAkJcmV0dXJuIE5VTEw7Ci0JfQogCWZvciAoaSA9IDA7IGkgPCBNT05fTVNHTElNOyBpKyspIHsKIAkJbW9ucHJpdi0+bXNnX2FycmF5W2ldID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG1vbl9tc2cpLAogCQkJCQkJICAgIEdGUF9LRVJORUwpOwogCQlpZiAoIW1vbnByaXYtPm1zZ19hcnJheVtpXSkgewotCQkJUF9FUlJPUigib3Blbiwgbm8gbWVtb3J5IGZvciBtc2dfYXJyYXlcbiIpOwogCQkJbW9uX2ZyZWVfbWVtKG1vbnByaXYpOwogCQkJcmV0dXJuIE5VTEw7CiAJCX0KQEAgLTIxOCw0MSArMjA3LDEwIEBACiAJcmV0dXJuIG1vbnByaXY7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBtb25fcmVhZF9kZWJ1ZyhzdHJ1Y3QgbW9uX21zZyAqbW9ubXNnLAotCQkJCSAgc3RydWN0IG1vbl9wcml2YXRlICptb25wcml2KQotewotI2lmZGVmIE1PTl9ERUJVRwotCXU4IG1zZ190eXBlWzJdLCBtY2FfdHlwZTsKLQl1bnNpZ25lZCBsb25nIHJlY29yZHNfbGVuOwotCi0JcmVjb3Jkc19sZW4gPSBtb25fcmVjX2VuZChtb25tc2cpIC0gbW9uX3JlY19zdGFydChtb25tc2cpICsgMTsKLQotCW1lbWNweShtc2dfdHlwZSwgJm1vbm1zZy0+bXNnLmNsYXNzLCAyKTsKLQlFQkNBU0MobXNnX3R5cGUsIDIpOwotCW1jYV90eXBlID0gbW9uX21jYV90eXBlKG1vbm1zZywgMCk7Ci0JRUJDQVNDKCZtY2FfdHlwZSwgMSk7Ci0KLQlQX0RFQlVHKCJyZWFkLCBtb25fcmVhZF9pbmRleCA9ICVpLCBtb25fd3JpdGVfaW5kZXggPSAlaVxuIiwKLQkJbW9ucHJpdi0+cmVhZF9pbmRleCwgbW9ucHJpdi0+d3JpdGVfaW5kZXgpOwotCVBfREVCVUcoInJlYWQsIHBhdGhpZCA9IDB4JTA0WCwgbXNnaWQgPSAweCUwOFgsIHRyZ2NscyA9IDB4JTA4WFxuIiwKLQkJbW9ucHJpdi0+cGF0aC0+cGF0aGlkLCBtb25tc2ctPm1zZy5pZCwgbW9ubXNnLT5tc2cuY2xhc3MpOwotCVBfREVCVUcoInJlYWQsIG1zZ190eXBlID0gJyVjJWMnLCBtY2FfdHlwZSA9ICclYycgLyAweCVYIC8gMHglWFxuIiwKLQkJbXNnX3R5cGVbMF0sIG1zZ190eXBlWzFdLCBtY2FfdHlwZSA/IG1jYV90eXBlIDogJ1gnLAotCQltb25fbWNhX3R5cGUobW9ubXNnLCAxKSwgbW9uX21jYV90eXBlKG1vbm1zZywgMikpOwotCVBfREVCVUcoInJlYWQsIE1DQTogc3RhcnQgPSAweCVsWCwgZW5kID0gMHglbFhcbiIsCi0JCW1vbl9tY2Ffc3RhcnQobW9ubXNnKSwgbW9uX21jYV9lbmQobW9ubXNnKSk7Ci0JUF9ERUJVRygicmVhZCwgUkVDOiBzdGFydCA9IDB4JVgsIGVuZCA9IDB4JVgsIGxlbiA9ICVsdVxuXG4iLAotCQltb25fcmVjX3N0YXJ0KG1vbm1zZyksIG1vbl9yZWNfZW5kKG1vbm1zZyksIHJlY29yZHNfbGVuKTsKLQlpZiAobW9uX21jYV9zaXplKG1vbm1zZykgPiAxMikKLQkJUF9ERUJVRygiUkVBRCwgTU9SRSBUSEFOIE9ORSBNQ0FcblxuIik7Ci0jZW5kaWYKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIG1vbl9uZXh0X21jYShzdHJ1Y3QgbW9uX21zZyAqbW9ubXNnKQogewogCWlmIChsaWtlbHkoKG1vbl9tY2Ffc2l6ZShtb25tc2cpIC0gbW9ubXNnLT5tY2Ffb2Zmc2V0KSA9PSAxMikpCiAJCXJldHVybjsKLQlQX0RFQlVHKCJSRUFELCBORVhUIE1DQVxuXG4iKTsKIAltb25tc2ctPm1jYV9vZmZzZXQgKz0gMTI7CiAJbW9ubXNnLT5wb3MgPSAwOwogfQpAQCAtMjY5LDcgKzIyNyw2IEBACiAJCW1vbm1zZy0+bXNnbGltX3JlYWNoZWQgPSAwOwogCQltb25tc2ctPnBvcyA9IDA7CiAJCW1vbm1zZy0+bWNhX29mZnNldCA9IDA7Ci0JCVBfV0FSTklORygicmVhZCwgbWVzc2FnZSBsaW1pdCByZWFjaGVkXG4iKTsKIAkJbW9ucHJpdi0+cmVhZF9pbmRleCA9IChtb25wcml2LT5yZWFkX2luZGV4ICsgMSkgJQogCQkJCSAgICAgIE1PTl9NU0dMSU07CiAJCWF0b21pY19kZWMoJm1vbnByaXYtPnJlYWRfcmVhZHkpOwpAQCAtMjg2LDEwICsyNDMsNiBAQAogewogCXN0cnVjdCBtb25fcHJpdmF0ZSAqbW9ucHJpdiA9IHBhdGgtPnByaXZhdGU7CiAKLQlQX0RFQlVHKCJJVUNWIGNvbm5lY3Rpb24gY29tcGxldGVkXG4iKTsKLQlQX0RFQlVHKCJJVUNWIEFDQ0VQVCAoZnJvbSAqTU9OSVRPUik6IFZlcnNpb24gPSAweCUwMlgsIEV2ZW50ID0gIgotCQkiMHglMDJYLCBTYW1wbGUgPSAweCUwMlhcbiIsCi0JCWlwdXNlclswXSwgaXB1c2VyWzFdLCBpcHVzZXJbMl0pOwogCWF0b21pY19zZXQoJm1vbnByaXYtPml1Y3ZfY29ubmVjdGVkLCAxKTsKIAl3YWtlX3VwKCZtb25fY29ubl93YWl0X3F1ZXVlKTsKIH0KQEAgLTMxMCw3ICsyNjMsNiBAQAogewogCXN0cnVjdCBtb25fcHJpdmF0ZSAqbW9ucHJpdiA9IHBhdGgtPnByaXZhdGU7CiAKLQlQX0RFQlVHKCJJVUNWIG1lc3NhZ2UgcGVuZGluZ1xuIik7CiAJbWVtY3B5KCZtb25wcml2LT5tc2dfYXJyYXlbbW9ucHJpdi0+d3JpdGVfaW5kZXhdLT5tc2csCiAJICAgICAgIG1zZywgc2l6ZW9mKCptc2cpKTsKIAlpZiAoYXRvbWljX2luY19yZXR1cm4oJm1vbnByaXYtPm1zZ2xpbV9jb3VudCkgPT0gTU9OX01TR0xJTSkgewpAQCAtMzQwLDYgKzI5Miw3IEBACiAJLyoKIAkgKiBvbmx5IG9uZSB1c2VyIGFsbG93ZWQKIAkgKi8KKwlsb2NrX2tlcm5lbCgpOwogCXJjID0gLUVCVVNZOwogCWlmICh0ZXN0X2FuZF9zZXRfYml0KE1PTl9JTl9VU0UsICZtb25faW5fdXNlKSkKIAkJZ290byBvdXQ7CkBAIC0zNzUsOCArMzI4LDggQEAKIAkJcmMgPSAtRUlPOwogCQlnb3RvIG91dF9wYXRoOwogCX0KLQlQX0lORk8oIm9wZW4sIGVzdGFibGlzaGVkIGNvbm5lY3Rpb24gdG8gKk1PTklUT1Igc2VydmljZVxuXG4iKTsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBtb25wcml2OworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiAKIG91dF9wYXRoOgpAQCAtMzg2LDYgKzMzOSw3IEBACiBvdXRfdXNlOgogCWNsZWFyX2JpdChNT05fSU5fVVNFLCAmbW9uX2luX3VzZSk7CiBvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIApAQCAtNDAwLDggKzM1NCw2IEBACiAJcmMgPSBpdWN2X3BhdGhfc2V2ZXIobW9ucHJpdi0+cGF0aCwgdXNlcl9kYXRhX3NldmVyKTsKIAlpZiAocmMpCiAJCVBfRVJST1IoImNsb3NlLCBpdWN2X3NldmVyIGZhaWxlZCB3aXRoIHJjID0gJWlcbiIsIHJjKTsKLQllbHNlCi0JCVBfSU5GTygiY2xvc2UsIHRlcm1pbmF0ZWQgY29ubmVjdGlvbiB0byAqTU9OSVRPUiBzZXJ2aWNlXG4iKTsKIAogCWF0b21pY19zZXQoJm1vbnByaXYtPml1Y3Zfc2V2ZXJlZCwgMCk7CiAJYXRvbWljX3NldCgmbW9ucHJpdi0+aXVjdl9jb25uZWN0ZWQsIDApOwpAQCAtNDQyLDEwICszOTQsOCBAQAogCQltb25tc2cgPSBtb25wcml2LT5tc2dfYXJyYXlbbW9ucHJpdi0+cmVhZF9pbmRleF07CiAJfQogCi0JaWYgKCFtb25tc2ctPnBvcykgeworCWlmICghbW9ubXNnLT5wb3MpCiAJCW1vbm1zZy0+cG9zID0gbW9uX21jYV9zdGFydChtb25tc2cpICsgbW9ubXNnLT5tY2Ffb2Zmc2V0OwotCQltb25fcmVhZF9kZWJ1Zyhtb25tc2csIG1vbnByaXYpOwotCX0KIAlpZiAobW9uX2NoZWNrX21jYShtb25tc2cpKQogCQlnb3RvIHJlcGx5OwogCkBAIC01MzEsNyArNDgxLDYgQEAKIAkJUF9FUlJPUigiZmFpbGVkIHRvIHJlZ2lzdGVyIHdpdGggaXVjdiBkcml2ZXJcbiIpOwogCQlyZXR1cm4gcmM7CiAJfQotCVBfSU5GTygib3BlbiwgcmVnaXN0ZXJlZCB3aXRoIElVQ1ZcbiIpOwogCiAJcmMgPSBzZWdtZW50X3R5cGUobW9uX2Rjc3NfbmFtZSk7CiAJaWYgKHJjIDwgMCkgewpAQCAtNTU1LDEzICs1MDQsOCBAQAogCWRjc3NfbWtuYW1lKG1vbl9kY3NzX25hbWUsICZ1c2VyX2RhdGFfY29ubmVjdFs4XSk7CiAKIAlyYyA9IG1pc2NfcmVnaXN0ZXIoJm1vbl9kZXYpOwotCWlmIChyYyA8IDAgKSB7Ci0JCVBfRVJST1IoIm1pc2NfcmVnaXN0ZXIgZmFpbGVkLCByYyA9ICVpXG4iLCByYyk7CisJaWYgKHJjIDwgMCApCiAJCWdvdG8gb3V0OwotCX0KLQlQX0lORk8oIkxvYWRlZCBzZWdtZW50ICVzIGZyb20gJXAgdG8gJXAsIHNpemUgPSAlbHUgQnl0ZVxuIiwKLQkJbW9uX2Rjc3NfbmFtZSwgKHZvaWQgKikgbW9uX2Rjc3Nfc3RhcnQsICh2b2lkICopIG1vbl9kY3NzX2VuZCwKLQkJbW9uX2Rjc3NfZW5kIC0gbW9uX2Rjc3Nfc3RhcnQgKyAxKTsKIAlyZXR1cm4gMDsKIAogb3V0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvbW9ud3JpdGVyLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9tb253cml0ZXIuYwppbmRleCBhODZjMDUzLi40ZDcxYWE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9tb253cml0ZXIuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9tb253cml0ZXIuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTE3OSwxMCArMTgwLDEyIEBACiAJbW9ucHJpdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtb25fcHJpdmF0ZSksIEdGUF9LRVJORUwpOwogCWlmICghbW9ucHJpdikKIAkJcmV0dXJuIC1FTk9NRU07CisJbG9ja19rZXJuZWwoKTsKIAlJTklUX0xJU1RfSEVBRCgmbW9ucHJpdi0+bGlzdCk7CiAJbW9ucHJpdi0+aGRyX3RvX3JlYWQgPSBzaXplb2YobW9ucHJpdi0+aGRyKTsKIAltdXRleF9pbml0KCZtb25wcml2LT50aHJlYWRfbXV0ZXgpOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IG1vbnByaXY7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvcmF3MzI3MC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvcmF3MzI3MC5jCmluZGV4IDg0OGVmN2UuLjgxYTk2ZTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3JhdzMyNzAuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9yYXczMjcwLmMKQEAgLTE1MywxOSArMTUzLDEwIEBACiAJc3RydWN0IHJhdzMyNzBfcmVxdWVzdCAqcnE7CiAKIAlycSA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemVvZihzdHJ1Y3QgcmF3MzI3MCkpOwotCWlmICghcnEpCi0JCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCW1lbXNldChycSwgMCwgc2l6ZW9mKHN0cnVjdCByYXczMjcwX3JlcXVlc3QpKTsKIAogCS8qIGFsbG9jIG91dHB1dCBidWZmZXIuICovCi0JaWYgKHNpemUgPiAwKSB7CisJaWYgKHNpemUgPiAwKQogCQlycS0+YnVmZmVyID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZSk7Ci0JCWlmICghcnEtPmJ1ZmZlcikgewotCQkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKSBycSwKLQkJCQkgICAgIHNpemVvZihzdHJ1Y3QgcmF3MzI3MCkpOwotCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Ci0JCX0KLQl9CiAJcnEtPnNpemUgPSBzaXplOwogCUlOSVRfTElTVF9IRUFEKCZycS0+bGlzdCk7CiAKQEAgLTM3MiwxNyArMzYzLDE3IEBACiAKIAlpZiAoSVNfRVJSKGlyYikpCiAJCXJjID0gUkFXMzI3MF9JT19SRVRSWTsKLQllbHNlIGlmIChpcmItPnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9IQUxUX0ZVTkMpIHsKKwllbHNlIGlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfSEFMVF9GVU5DKSB7CiAJCXJxLT5yYyA9IC1FSU87CiAJCXJjID0gUkFXMzI3MF9JT19ET05FOwotCX0gZWxzZSBpZiAoaXJiLT5zY3N3LmRzdGF0ID09ICAoREVWX1NUQVRfQ0hOX0VORCB8IERFVl9TVEFUX0RFVl9FTkQgfAotCQkJCQlERVZfU1RBVF9VTklUX0VYQ0VQKSkgeworCX0gZWxzZSBpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAoREVWX1NUQVRfQ0hOX0VORCB8IERFVl9TVEFUX0RFVl9FTkQgfAorCQkJCQkgICBERVZfU1RBVF9VTklUX0VYQ0VQKSkgewogCQkvKiBIYW5kbGUgQ0UtREUtVUUgYW5kIHN1YnNlcXVlbnQgVURFICovCiAJCXNldF9iaXQoUkFXMzI3MF9GTEFHU19CVVNZLCAmcnAtPmZsYWdzKTsKIAkJcmMgPSBSQVczMjcwX0lPX0JVU1k7CiAJfSBlbHNlIGlmICh0ZXN0X2JpdChSQVczMjcwX0ZMQUdTX0JVU1ksICZycC0+ZmxhZ3MpKSB7CiAJCS8qIFdhaXQgZm9yIFVERSBpZiBidXN5IGZsYWcgaXMgc2V0LiAqLwotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHsKIAkJCWNsZWFyX2JpdChSQVczMjcwX0ZMQUdTX0JVU1ksICZycC0+ZmxhZ3MpOwogCQkJLyogR290IGl0LCBub3cgcmV0cnkuICovCiAJCQlyYyA9IFJBVzMyNzBfSU9fUkVUUlk7CkBAIC00OTcsNyArNDg4LDcgQEAKIAkgKiBVbml0LUNoZWNrIFByb2Nlc3Npbmc6CiAJICogRXhwZWN0IENvbW1hbmQgUmVqZWN0IG9yIEludGVydmVudGlvbiBSZXF1aXJlZC4KIAkgKi8KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgewogCQkvKiBSZXF1ZXN0IGZpbmlzaGVkIGFibm9ybWFsbHkuICovCiAJCWlmIChpcmItPmVjd1swXSAmIFNOUzBfSU5URVJWRU5USU9OX1JFUSkgewogCQkJc2V0X2JpdChSQVczMjcwX0ZMQUdTX0JVU1ksICZ2aWV3LT5kZXYtPmZsYWdzKTsKQEAgLTUwNSwxNiArNDk2LDE2IEBACiAJCX0KIAl9CiAJaWYgKHJxKSB7Ci0JCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CisJCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgewogCQkJaWYgKGlyYi0+ZWN3WzBdICYgU05TMF9DTURfUkVKRUNUKQogCQkJCXJxLT5yYyA9IC1FT1BOT1RTVVBQOwogCQkJZWxzZQogCQkJCXJxLT5yYyA9IC1FSU87CiAJCX0gZWxzZQogCQkJLyogUmVxdWVzdCBmaW5pc2hlZCBub3JtYWxseS4gQ29weSByZXNpZHVhbCBjb3VudC4gKi8KLQkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY291bnQ7CisJCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCXNldF9iaXQoUkFXMzI3MF9GTEFHU19BVFROLCAmdmlldy0+ZGV2LT5mbGFncyk7CiAJCXdha2VfdXAoJnJhdzMyNzBfd2FpdF9xdWV1ZSk7CiAJfQpAQCAtNjE5LDcgKzYxMCw2IEBACiAJCXJwLT5jb2xzID0gMTMyOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlwcmludGsoS0VSTl9XQVJOSU5HICJ2cmRjY3JtZCBpcyAweCUuOHhcbiIsIG1vZGVsKTsKIAkJcmMgPSAtRU9QTk9UU1VQUDsKIAkJYnJlYWs7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscC5jCmluZGV4IDJjN2ExZWUuLjNjOGIyNWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHAuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwLmMKQEAgLTUwNiw2ICs1MDYsOCBAQAogCWlmIChzY2J1Zi0+dmFsaWRpdHlfc2NscF9zZW5kX21hc2spCiAJCXNjbHBfc2VuZF9tYXNrID0gc2NidWYtPnNjbHBfc2VuZF9tYXNrOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjbHBfbG9jaywgZmxhZ3MpOworCWlmIChzY2J1Zi0+dmFsaWRpdHlfc2NscF9hY3RpdmVfZmFjaWxpdHlfbWFzaykKKwkJc2NscF9mYWNpbGl0aWVzID0gc2NidWYtPnNjbHBfYWN0aXZlX2ZhY2lsaXR5X21hc2s7CiAJc2NscF9kaXNwYXRjaF9zdGF0ZV9jaGFuZ2UoKTsKIH0KIApAQCAtNzgyLDExICs3ODQsOSBAQAogCS8qIElzIHRoaXMgdGhlIGludGVycnVwdCB3ZSBhcmUgd2FpdGluZyBmb3I/ICovCiAJaWYgKGZpbmlzaGVkX3NjY2IgPT0gMCkKIAkJcmV0dXJuOwotCWlmIChmaW5pc2hlZF9zY2NiICE9ICh1MzIpIChhZGRyX3QpIHNjbHBfaW5pdF9zY2NiKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgU0NMUF9IRUFERVIgInVuc29saWNpdGVkIGludGVycnVwdCAiCi0JCSAgICAgICAiZm9yIGJ1ZmZlciBhdCAweCV4XG4iLCBmaW5pc2hlZF9zY2NiKTsKLQkJcmV0dXJuOwotCX0KKwlpZiAoZmluaXNoZWRfc2NjYiAhPSAodTMyKSAoYWRkcl90KSBzY2xwX2luaXRfc2NjYikKKwkJcGFuaWMoInNjbHA6IHVuc29saWNpdGVkIGludGVycnVwdCBmb3IgYnVmZmVyIGF0IDB4JXhcbiIsCisJCSAgICAgIGZpbmlzaGVkX3NjY2IpOwogCXNwaW5fbG9jaygmc2NscF9sb2NrKTsKIAlpZiAoc2NscF9ydW5uaW5nX3N0YXRlID09IHNjbHBfcnVubmluZ19zdGF0ZV9ydW5uaW5nKSB7CiAJCXNjbHBfaW5pdF9yZXEuc3RhdHVzID0gU0NMUF9SRVFfRE9ORTsKQEAgLTg4Myw4ICs4ODMsNiBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJjOwogCi0JaWYgKCFNQUNISU5FX0hBU19TQ0xQKQotCQlyZXR1cm4gLUVOT0RFVjsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmc2NscF9sb2NrLCBmbGFncyk7CiAJLyogQ2hlY2sgZm9yIHByZXZpb3VzIG9yIHJ1bm5pbmcgaW5pdGlhbGl6YXRpb24gKi8KIAlpZiAoc2NscF9pbml0X3N0YXRlICE9IHNjbHBfaW5pdF9zdGF0ZV91bmluaXRpYWxpemVkKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NtZC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jbWQuYwppbmRleCBiNWMyMzM5Li4wYzJiNzc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NtZC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY21kLmMKQEAgLTExLDYgKzExLDkgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgorI2luY2x1ZGUgPGxpbnV4L21lbW9yeS5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgogI2luY2x1ZGUgPGFzbS9zY2xwLmg+CiAjaW5jbHVkZSAic2NscC5oIgpAQCAtNDMsNiArNDYsOCBAQAogCiB1NjQgc2NscF9mYWNpbGl0aWVzOwogc3RhdGljIHU4IHNjbHBfZmFjODQ7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIHJ6bTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgcm5tYXg7CiAKIHN0YXRpYyBpbnQgX19pbml0IHNjbHBfY21kX3N5bmNfZWFybHkoc2NscF9jbWR3X3QgY21kLCB2b2lkICpzY2NiKQogewpAQCAtNjIsNyArNjcsNyBAQAogCXJldHVybiByYzsKIH0KIAotdm9pZCBfX2luaXQgc2NscF9yZWFkX2luZm9fZWFybHkodm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCBzY2xwX3JlYWRfaW5mb19lYXJseSh2b2lkKQogewogCWludCByYzsKIAlpbnQgaTsKQEAgLTkyLDM0ICs5NywzMyBAQAogCiB2b2lkIF9faW5pdCBzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KHZvaWQpCiB7Ci0JaWYgKCFlYXJseV9yZWFkX2luZm9fc2NjYl92YWxpZCkKLQkJcmV0dXJuOwotCXNjbHBfZmFjaWxpdGllcyA9IGVhcmx5X3JlYWRfaW5mb19zY2NiLmZhY2lsaXRpZXM7Ci0Jc2NscF9mYWM4NCA9IGVhcmx5X3JlYWRfaW5mb19zY2NiLmZhYzg0OwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgX19pbml0IHNjbHBfbWVtb3J5X2RldGVjdCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBtZW1zaXplOwogCXN0cnVjdCByZWFkX2luZm9fc2NjYiAqc2NjYjsKIAorCXNjbHBfcmVhZF9pbmZvX2Vhcmx5KCk7CiAJaWYgKCFlYXJseV9yZWFkX2luZm9fc2NjYl92YWxpZCkKLQkJcmV0dXJuIDA7CisJCXJldHVybjsKKwogCXNjY2IgPSAmZWFybHlfcmVhZF9pbmZvX3NjY2I7Ci0JaWYgKHNjY2ItPnJuc2l6ZSkKLQkJbWVtc2l6ZSA9IHNjY2ItPnJuc2l6ZSA8PCAyMDsKLQllbHNlCi0JCW1lbXNpemUgPSBzY2NiLT5ybnNpemUyIDw8IDIwOwotCWlmIChzY2NiLT5ybm1heCkKLQkJbWVtc2l6ZSAqPSBzY2NiLT5ybm1heDsKLQllbHNlCi0JCW1lbXNpemUgKj0gc2NjYi0+cm5tYXgyOwotCXJldHVybiBtZW1zaXplOworCXNjbHBfZmFjaWxpdGllcyA9IHNjY2ItPmZhY2lsaXRpZXM7CisJc2NscF9mYWM4NCA9IHNjY2ItPmZhYzg0OworCXJubWF4ID0gc2NjYi0+cm5tYXggPyBzY2NiLT5ybm1heCA6IHNjY2ItPnJubWF4MjsKKwlyem0gPSBzY2NiLT5ybnNpemUgPyBzY2NiLT5ybnNpemUgOiBzY2NiLT5ybnNpemUyOworCXJ6bSA8PD0gMjA7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9ybm1heCh2b2lkKQoreworCXJldHVybiBybm1heDsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIHNjbHBfZ2V0X3J6bSh2b2lkKQoreworCXJldHVybiByem07CiB9CiAKIC8qCi0gKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGFmdGVyIHNjbHBfbWVtb3J5X2RldGVjdCgpLCB3aGljaCBnZXRzIGNhbGxlZAotICogZWFybHkgZnJvbSBlYXJseS5jIGNvZGUuIFRoZXJlZm9yZSB0aGUgc2NjYiBzaG91bGQgaGF2ZSB2YWxpZCBjb250ZW50cy4KKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgc2NscF9mYWNpbGl0aWVzX2RldGVjdCgpLCB3aGljaCBnZXRzCisgKiBjYWxsZWQgZnJvbSBlYXJseS5jIGNvZGUuIFRoZXJlZm9yZSB0aGUgc2NjYiBzaG91bGQgaGF2ZSB2YWxpZCBjb250ZW50cy4KICAqLwogdm9pZCBfX2luaXQgc2NscF9nZXRfaXBsX2luZm8oc3RydWN0IHNjbHBfaXBsX2luZm8gKmluZm8pCiB7CkBAIC0yNzgsNiArMjgyLDMwNSBAQAogCXJldHVybiBkb19jcHVfY29uZmlndXJlKFNDTFBfQ01EV19ERUNPTkZJR1VSRV9DUFUgfCBjcHUgPDwgOCk7CiB9CiAKKyNpZmRlZiBDT05GSUdfTUVNT1JZX0hPVFBMVUcKKworc3RhdGljIERFRklORV9NVVRFWChzY2xwX21lbV9tdXRleCk7CitzdGF0aWMgTElTVF9IRUFEKHNjbHBfbWVtX2xpc3QpOworc3RhdGljIHU4IHNjbHBfbWF4X3N0b3JhZ2VfaWQ7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBzY2xwX3N0b3JhZ2VfaWRzWzI1NiAvIEJJVFNfUEVSX0xPTkddOworCitzdHJ1Y3QgbWVtb3J5X2luY3JlbWVudCB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCXUxNiBybjsKKwlpbnQgc3RhbmRieTsKKwlpbnQgdXNlY291bnQ7Cit9OworCitzdHJ1Y3QgYXNzaWduX3N0b3JhZ2Vfc2NjYiB7CisJc3RydWN0IHNjY2JfaGVhZGVyIGhlYWRlcjsKKwl1MTYgcm47Cit9IF9fcGFja2VkOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIHJuMmFkZHIodTE2IHJuKQoreworCXJldHVybiAodW5zaWduZWQgbG9uZyBsb25nKSAocm4gLSAxKSAqIHJ6bTsKK30KKworc3RhdGljIGludCBkb19hc3NpZ25fc3RvcmFnZShzY2xwX2NtZHdfdCBjbWQsIHUxNiBybikKK3sKKwlzdHJ1Y3QgYXNzaWduX3N0b3JhZ2Vfc2NjYiAqc2NjYjsKKwlpbnQgcmM7CisKKwlzY2NiID0gKHZvaWQgKikgZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjY2IpCisJCXJldHVybiAtRU5PTUVNOworCXNjY2ItPmhlYWRlci5sZW5ndGggPSBQQUdFX1NJWkU7CisJc2NjYi0+cm4gPSBybjsKKwlyYyA9IGRvX3N5bmNfcmVxdWVzdChjbWQsIHNjY2IpOworCWlmIChyYykKKwkJZ290byBvdXQ7CisJc3dpdGNoIChzY2NiLT5oZWFkZXIucmVzcG9uc2VfY29kZSkgeworCWNhc2UgMHgwMDIwOgorCWNhc2UgMHgwMTIwOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlyYyA9IC1FSU87CisJCWJyZWFrOworCX0KK291dDoKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpIHNjY2IpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzY2xwX2Fzc2lnbl9zdG9yYWdlKHUxNiBybikKK3sKKwlyZXR1cm4gZG9fYXNzaWduX3N0b3JhZ2UoMHgwMDBkMDAwMSwgcm4pOworfQorCitzdGF0aWMgaW50IHNjbHBfdW5hc3NpZ25fc3RvcmFnZSh1MTYgcm4pCit7CisJcmV0dXJuIGRvX2Fzc2lnbl9zdG9yYWdlKDB4MDAwYzAwMDEsIHJuKTsKK30KKworc3RydWN0IGF0dGFjaF9zdG9yYWdlX3NjY2IgeworCXN0cnVjdCBzY2NiX2hlYWRlciBoZWFkZXI7CisJdTE2IDoxNjsKKwl1MTYgYXNzaWduZWQ7CisJdTMyIDozMjsKKwl1MzIgZW50cmllc1swXTsKK30gX19wYWNrZWQ7CisKK3N0YXRpYyBpbnQgc2NscF9hdHRhY2hfc3RvcmFnZSh1OCBpZCkKK3sKKwlzdHJ1Y3QgYXR0YWNoX3N0b3JhZ2Vfc2NjYiAqc2NjYjsKKwlpbnQgcmM7CisJaW50IGk7CisKKwlzY2NiID0gKHZvaWQgKikgZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjY2IpCisJCXJldHVybiAtRU5PTUVNOworCXNjY2ItPmhlYWRlci5sZW5ndGggPSBQQUdFX1NJWkU7CisJcmMgPSBkb19zeW5jX3JlcXVlc3QoMHgwMDA4MDAwMSB8IGlkIDw8IDgsIHNjY2IpOworCWlmIChyYykKKwkJZ290byBvdXQ7CisJc3dpdGNoIChzY2NiLT5oZWFkZXIucmVzcG9uc2VfY29kZSkgeworCWNhc2UgMHgwMDIwOgorCQlzZXRfYml0KGlkLCBzY2xwX3N0b3JhZ2VfaWRzKTsKKwkJZm9yIChpID0gMDsgaSA8IHNjY2ItPmFzc2lnbmVkOyBpKyspCisJCQlzY2xwX3VuYXNzaWduX3N0b3JhZ2Uoc2NjYi0+ZW50cmllc1tpXSA+PiAxNik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJjID0gLUVJTzsKKwkJYnJlYWs7CisJfQorb3V0OgorCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZykgc2NjYik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHNjbHBfbWVtX2NoYW5nZV9zdGF0ZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJIGludCBvbmxpbmUpCit7CisJc3RydWN0IG1lbW9yeV9pbmNyZW1lbnQgKmluY3I7CisJdW5zaWduZWQgbG9uZyBsb25nIGlzdGFydDsKKwlpbnQgcmMgPSAwOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShpbmNyLCAmc2NscF9tZW1fbGlzdCwgbGlzdCkgeworCQlpc3RhcnQgPSBybjJhZGRyKGluY3ItPnJuKTsKKwkJaWYgKHN0YXJ0ICsgc2l6ZSAtIDEgPCBpc3RhcnQpCisJCQlicmVhazsKKwkJaWYgKHN0YXJ0ID4gaXN0YXJ0ICsgcnptIC0gMSkKKwkJCWNvbnRpbnVlOworCQlpZiAob25saW5lKSB7CisJCQlpZiAoaW5jci0+dXNlY291bnQrKykKKwkJCQljb250aW51ZTsKKwkJCS8qCisJCQkgKiBEb24ndCBicmVhayB0aGUgbG9vcCBpZiBvbmUgYXNzaWduIGZhaWxzLiBMb29wIG1heQorCQkJICogYmUgd2Fsa2VkIGFnYWluIG9uIENBTkNFTCBhbmQgd2UgY2FuJ3Qgc2F2ZQorCQkJICogaW5mb3JtYXRpb24gaWYgc3RhdGUgY2hhbmdlZCBiZWZvcmUgb3Igbm90LgorCQkJICogU28gY29udGludWUgYW5kIGluY3JlYXNlIHVzZWNvdW50IGZvciBhbGwgaW5jcmVtZW50cy4KKwkJCSAqLworCQkJcmMgfD0gc2NscF9hc3NpZ25fc3RvcmFnZShpbmNyLT5ybik7CisJCX0gZWxzZSB7CisJCQlpZiAoLS1pbmNyLT51c2Vjb3VudCkKKwkJCQljb250aW51ZTsKKwkJCXNjbHBfdW5hc3NpZ25fc3RvcmFnZShpbmNyLT5ybik7CisJCX0KKwl9CisJcmV0dXJuIHJjID8gLUVJTyA6IDA7Cit9CisKK3N0YXRpYyBpbnQgc2NscF9tZW1fbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwKKwkJCSAgICAgdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBzdGFydCwgc2l6ZTsKKwlzdHJ1Y3QgbWVtb3J5X25vdGlmeSAqYXJnOworCXVuc2lnbmVkIGNoYXIgaWQ7CisJaW50IHJjID0gMDsKKworCWFyZyA9IGRhdGE7CisJc3RhcnQgPSBhcmctPnN0YXJ0X3BmbiA8PCBQQUdFX1NISUZUOworCXNpemUgPSBhcmctPm5yX3BhZ2VzIDw8IFBBR0VfU0hJRlQ7CisJbXV0ZXhfbG9jaygmc2NscF9tZW1fbXV0ZXgpOworCWZvciAoaWQgPSAwOyBpZCA8PSBzY2xwX21heF9zdG9yYWdlX2lkOyBpZCsrKQorCQlpZiAoIXRlc3RfYml0KGlkLCBzY2xwX3N0b3JhZ2VfaWRzKSkKKwkJCXNjbHBfYXR0YWNoX3N0b3JhZ2UoaWQpOworCXN3aXRjaCAoYWN0aW9uKSB7CisJY2FzZSBNRU1fT05MSU5FOgorCQlicmVhazsKKwljYXNlIE1FTV9HT0lOR19PTkxJTkU6CisJCXJjID0gc2NscF9tZW1fY2hhbmdlX3N0YXRlKHN0YXJ0LCBzaXplLCAxKTsKKwkJYnJlYWs7CisJY2FzZSBNRU1fQ0FOQ0VMX09OTElORToKKwkJc2NscF9tZW1fY2hhbmdlX3N0YXRlKHN0YXJ0LCBzaXplLCAwKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmMgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CisJbXV0ZXhfdW5sb2NrKCZzY2xwX21lbV9tdXRleCk7CisJcmV0dXJuIHJjID8gTk9USUZZX0JBRCA6IE5PVElGWV9PSzsKK30KKworc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayBzY2xwX21lbV9uYiA9IHsKKwkubm90aWZpZXJfY2FsbCA9IHNjbHBfbWVtX25vdGlmaWVyLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGFkZF9tZW1vcnlfbWVyZ2VkKHUxNiBybikKK3sKKwlzdGF0aWMgdTE2IGZpcnN0X3JuLCBudW07CisJdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0LCBzaXplOworCisJaWYgKHJuICYmIGZpcnN0X3JuICYmIChmaXJzdF9ybiArIG51bSA9PSBybikpIHsKKwkJbnVtKys7CisJCXJldHVybjsKKwl9CisJaWYgKCFmaXJzdF9ybikKKwkJZ290byBza2lwX2FkZDsKKwlzdGFydCA9IHJuMmFkZHIoZmlyc3Rfcm4pOworCXNpemUgPSAodW5zaWduZWQgbG9uZyBsb25nICkgbnVtICogcnptOworCWlmIChzdGFydCA+PSBWTUVNX01BWF9QSFlTKQorCQlnb3RvIHNraXBfYWRkOworCWlmIChzdGFydCArIHNpemUgPiBWTUVNX01BWF9QSFlTKQorCQlzaXplID0gVk1FTV9NQVhfUEhZUyAtIHN0YXJ0OworCWFkZF9tZW1vcnkoMCwgc3RhcnQsIHNpemUpOworc2tpcF9hZGQ6CisJZmlyc3Rfcm4gPSBybjsKKwludW0gPSAxOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2NscF9hZGRfc3RhbmRieV9tZW1vcnkodm9pZCkKK3sKKwlzdHJ1Y3QgbWVtb3J5X2luY3JlbWVudCAqaW5jcjsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW5jciwgJnNjbHBfbWVtX2xpc3QsIGxpc3QpCisJCWlmIChpbmNyLT5zdGFuZGJ5KQorCQkJYWRkX21lbW9yeV9tZXJnZWQoaW5jci0+cm4pOworCWFkZF9tZW1vcnlfbWVyZ2VkKDApOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW5zZXJ0X2luY3JlbWVudCh1MTYgcm4sIGludCBzdGFuZGJ5LCBpbnQgYXNzaWduZWQpCit7CisJc3RydWN0IG1lbW9yeV9pbmNyZW1lbnQgKmluY3IsICpuZXdfaW5jcjsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwcmV2OworCXUxNiBsYXN0X3JuOworCisJbmV3X2luY3IgPSBremFsbG9jKHNpemVvZigqbmV3X2luY3IpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW5ld19pbmNyKQorCQlyZXR1cm47CisJbmV3X2luY3ItPnJuID0gcm47CisJbmV3X2luY3ItPnN0YW5kYnkgPSBzdGFuZGJ5OworCWxhc3Rfcm4gPSAwOworCXByZXYgPSAmc2NscF9tZW1fbGlzdDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGluY3IsICZzY2xwX21lbV9saXN0LCBsaXN0KSB7CisJCWlmIChhc3NpZ25lZCAmJiBpbmNyLT5ybiA+IHJuKQorCQkJYnJlYWs7CisJCWlmICghYXNzaWduZWQgJiYgaW5jci0+cm4gLSBsYXN0X3JuID4gMSkKKwkJCWJyZWFrOworCQlsYXN0X3JuID0gaW5jci0+cm47CisJCXByZXYgPSAmaW5jci0+bGlzdDsKKwl9CisJaWYgKCFhc3NpZ25lZCkKKwkJbmV3X2luY3ItPnJuID0gbGFzdF9ybiArIDE7CisJaWYgKG5ld19pbmNyLT5ybiA+IHJubWF4KSB7CisJCWtmcmVlKG5ld19pbmNyKTsKKwkJcmV0dXJuOworCX0KKwlsaXN0X2FkZCgmbmV3X2luY3ItPmxpc3QsIHByZXYpOworfQorCitzdHJ1Y3QgcmVhZF9zdG9yYWdlX3NjY2IgeworCXN0cnVjdCBzY2NiX2hlYWRlciBoZWFkZXI7CisJdTE2IG1heF9pZDsKKwl1MTYgYXNzaWduZWQ7CisJdTE2IHN0YW5kYnk7CisJdTE2IDoxNjsKKwl1MzIgZW50cmllc1swXTsKK30gX19wYWNrZWQ7CisKK3N0YXRpYyBpbnQgX19pbml0IHNjbHBfZGV0ZWN0X3N0YW5kYnlfbWVtb3J5KHZvaWQpCit7CisJc3RydWN0IHJlYWRfc3RvcmFnZV9zY2NiICpzY2NiOworCWludCBpLCBpZCwgYXNzaWduZWQsIHJjOworCisJaWYgKCFlYXJseV9yZWFkX2luZm9fc2NjYl92YWxpZCkKKwkJcmV0dXJuIDA7CisJaWYgKChzY2xwX2ZhY2lsaXRpZXMgJiAweGUwMDAwMDAwMDAwMFVMTCkgIT0gMHhlMDAwMDAwMDAwMDBVTEwpCisJCXJldHVybiAwOworCXJjID0gLUVOT01FTTsKKwlzY2NiID0gKHZvaWQgKikgX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjY2IpCisJCWdvdG8gb3V0OworCWFzc2lnbmVkID0gMDsKKwlmb3IgKGlkID0gMDsgaWQgPD0gc2NscF9tYXhfc3RvcmFnZV9pZDsgaWQrKykgeworCQltZW1zZXQoc2NjYiwgMCwgUEFHRV9TSVpFKTsKKwkJc2NjYi0+aGVhZGVyLmxlbmd0aCA9IFBBR0VfU0laRTsKKwkJcmMgPSBkb19zeW5jX3JlcXVlc3QoMHgwMDA0MDAwMSB8IGlkIDw8IDgsIHNjY2IpOworCQlpZiAocmMpCisJCQlnb3RvIG91dDsKKwkJc3dpdGNoIChzY2NiLT5oZWFkZXIucmVzcG9uc2VfY29kZSkgeworCQljYXNlIDB4MDAxMDoKKwkJCXNldF9iaXQoaWQsIHNjbHBfc3RvcmFnZV9pZHMpOworCQkJZm9yIChpID0gMDsgaSA8IHNjY2ItPmFzc2lnbmVkOyBpKyspIHsKKwkJCQlpZiAoIXNjY2ItPmVudHJpZXNbaV0pCisJCQkJCWNvbnRpbnVlOworCQkJCWFzc2lnbmVkKys7CisJCQkJaW5zZXJ0X2luY3JlbWVudChzY2NiLT5lbnRyaWVzW2ldID4+IDE2LCAwLCAxKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIDB4MDMxMDoKKwkJCWJyZWFrOworCQljYXNlIDB4MDQxMDoKKwkJCWZvciAoaSA9IDA7IGkgPCBzY2NiLT5hc3NpZ25lZDsgaSsrKSB7CisJCQkJaWYgKCFzY2NiLT5lbnRyaWVzW2ldKQorCQkJCQljb250aW51ZTsKKwkJCQlhc3NpZ25lZCsrOworCQkJCWluc2VydF9pbmNyZW1lbnQoc2NjYi0+ZW50cmllc1tpXSA+PiAxNiwgMSwgMSk7CisJCQl9CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJjID0gLUVJTzsKKwkJCWJyZWFrOworCQl9CisJCWlmICghcmMpCisJCQlzY2xwX21heF9zdG9yYWdlX2lkID0gc2NjYi0+bWF4X2lkOworCX0KKwlpZiAocmMgfHwgbGlzdF9lbXB0eSgmc2NscF9tZW1fbGlzdCkpCisJCWdvdG8gb3V0OworCWZvciAoaSA9IDE7IGkgPD0gcm5tYXggLSBhc3NpZ25lZDsgaSsrKQorCQlpbnNlcnRfaW5jcmVtZW50KDAsIDEsIDApOworCXJjID0gcmVnaXN0ZXJfbWVtb3J5X25vdGlmaWVyKCZzY2xwX21lbV9uYik7CisJaWYgKHJjKQorCQlnb3RvIG91dDsKKwlzY2xwX2FkZF9zdGFuZGJ5X21lbW9yeSgpOworb3V0OgorCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZykgc2NjYik7CisJcmV0dXJuIHJjOworfQorX19pbml0Y2FsbChzY2xwX2RldGVjdF9zdGFuZGJ5X21lbW9yeSk7CisKKyNlbmRpZiAvKiBDT05GSUdfTUVNT1JZX0hPVFBMVUcgKi8KKwogLyoKICAqIENoYW5uZWwgcGF0aCBjb25maWd1cmF0aW9uIHJlbGF0ZWQgZnVuY3Rpb25zLgogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2Nvbi5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb24uYwppbmRleCBlYWQxMDQzLi43ZTYxOWM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2Nvbi5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uLmMKQEAgLTE0LDE0ICsxNCwxMyBAQAogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC90ZXJtaW9zLmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAKICNpbmNsdWRlICJzY2xwLmgiCiAjaW5jbHVkZSAic2NscF9ydy5oIgogI2luY2x1ZGUgInNjbHBfdHR5LmgiCiAKLSNkZWZpbmUgU0NMUF9DT05fUFJJTlRfSEVBREVSICJzY2xwIGNvbnNvbGUgZHJpdmVyOiAiCi0KICNkZWZpbmUgc2NscF9jb25zb2xlX21ham9yIDQJCS8qIFRUWUFVWF9NQUpPUiAqLwogI2RlZmluZSBzY2xwX2NvbnNvbGVfbWlub3IgNjQKICNkZWZpbmUgc2NscF9jb25zb2xlX25hbWUgICJ0dHlTIgpAQCAtMjIyLDggKzIyMSw2IEBACiAJSU5JVF9MSVNUX0hFQUQoJnNjbHBfY29uX3BhZ2VzKTsKIAlmb3IgKGkgPSAwOyBpIDwgTUFYX0NPTlNPTEVfUEFHRVM7IGkrKykgewogCQlwYWdlID0gYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKLQkJaWYgKHBhZ2UgPT0gTlVMTCkKLQkJCXJldHVybiAtRU5PTUVNOwogCQlsaXN0X2FkZF90YWlsKChzdHJ1Y3QgbGlzdF9oZWFkICopIHBhZ2UsICZzY2xwX2Nvbl9wYWdlcyk7CiAJfQogCUlOSVRfTElTVF9IRUFEKCZzY2xwX2Nvbl9vdXRxdWV1ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NvbmZpZy5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb25maWcuYwppbmRleCBhZDA1YTg3Li5mZmY0ZmY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NvbmZpZy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uZmlnLmMKQEAgLTgsNiArOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CisjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogI2luY2x1ZGUgPGFzbS9zbXAuaD4KQEAgLTQwLDkgKzQxLDE5IEBACiAJcHV0X29ubGluZV9jcHVzKCk7CiB9CiAKLXN0YXRpYyB2b2lkIF9fcmVmIHNjbHBfY3B1X2NoYW5nZV9ub3RpZnkoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQorc3RhdGljIGludCBzY2xwX2NwdV9rdGhyZWFkKHZvaWQgKmRhdGEpCiB7CiAJc21wX3Jlc2Nhbl9jcHVzKCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fcmVmIHNjbHBfY3B1X2NoYW5nZV9ub3RpZnkoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCS8qIENhbid0IGNhbGwgc21wX3Jlc2Nhbl9jcHVzKCkgZnJvbSAgd29ya3F1ZXVlIGNvbnRleHQgc2luY2UgaXQgbWF5CisJICogZGVhZGxvY2sgaW4gY2FzZSBvZiBjcHUgaG90cGx1Zy4gU28gd2UgaGF2ZSB0byBjcmVhdGUgYSBrZXJuZWwKKwkgKiB0aHJlYWQgaW4gb3JkZXIgdG8gY2FsbCBpdC4KKwkgKi8KKwlrdGhyZWFkX3J1bihzY2xwX2NwdV9rdGhyZWFkLCBOVUxMLCAiY3B1X3Jlc2NhbiIpOwogfQogCiBzdGF0aWMgdm9pZCBzY2xwX2NvbmZfcmVjZWl2ZXJfZm4oc3RydWN0IGV2YnVmX2hlYWRlciAqZXZidWYpCkBAIC03NCwxMCArODUsOCBAQAogCUlOSVRfV09SSygmc2NscF9jcHVfY2hhbmdlX3dvcmssIHNjbHBfY3B1X2NoYW5nZV9ub3RpZnkpOwogCiAJcmMgPSBzY2xwX3JlZ2lzdGVyKCZzY2xwX2NvbmZfcmVnaXN0ZXIpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgVEFHICJmYWlsZWQgdG8gcmVnaXN0ZXIgKCVkKS5cbiIsIHJjKTsKKwlpZiAocmMpCiAJCXJldHVybiByYzsKLQl9CiAKIAlpZiAoIShzY2xwX2NvbmZfcmVnaXN0ZXIuc2NscF9zZW5kX21hc2sgJiBFVlRZUF9DT05GTUdNREFUQV9NQVNLKSkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HIFRBRyAibm8gY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50LlxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NwaV9zeXMuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY3BpX3N5cy5jCmluZGV4IDlmMzc0NTYuLmQ4ODdiZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY3BpX3N5cy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY3BpX3N5cy5jCkBAIC0yNyw2ICsyNyw4IEBACiAjZGVmaW5lIENQSV9MRU5HVEhfTkFNRSA4CiAjZGVmaW5lIENQSV9MRU5HVEhfTEVWRUwgMTYKIAorc3RhdGljIERFRklORV9NVVRFWChzY2xwX2NwaV9tdXRleCk7CisKIHN0cnVjdCBjcGlfZXZidWYgewogCXN0cnVjdCBldmJ1Zl9oZWFkZXIgaGVhZGVyOwogCXU4CWlkX2Zvcm1hdDsKQEAgLTEyNCwyMSArMTI2LDE1IEBACiAJaW50IHJlc3BvbnNlOwogCiAJcmMgPSBzY2xwX3JlZ2lzdGVyKCZzY2xwX2NwaV9ldmVudCk7Ci0JaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNwaTogY291bGQgbm90IHJlZ2lzdGVyICIKLQkJCSJ0byBoYXJkd2FyZSBjb25zb2xlLlxuIik7CisJaWYgKHJjKQogCQlnb3RvIG91dDsKLQl9CiAJaWYgKCEoc2NscF9jcGlfZXZlbnQuc2NscF9yZWNlaXZlX21hc2sgJiBFVlRZUF9DVExQUk9HSURFTlRfTUFTSykpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY3BpOiBubyBjb250cm9sIHByb2dyYW0gIgotCQkJImlkZW50aWZpY2F0aW9uIHN1cHBvcnRcbiIpOwogCQlyYyA9IC1FT1BOT1RTVVBQOwogCQlnb3RvIG91dF91bnJlZ2lzdGVyOwogCX0KIAogCXJlcSA9IGNwaV9wcmVwYXJlX3JlcSgpOwogCWlmIChJU19FUlIocmVxKSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJjcGk6IGNvdWxkIG5vdCBhbGxvY2F0ZSByZXF1ZXN0XG4iKTsKIAkJcmMgPSBQVFJfRVJSKHJlcSk7CiAJCWdvdG8gb3V0X3VucmVnaXN0ZXI7CiAJfQpAQCAtMTQ4LDEwICsxNDQsOCBAQAogCiAJLyogQWRkIHJlcXVlc3QgdG8gc2NscCBxdWV1ZSAqLwogCXJjID0gc2NscF9hZGRfcmVxdWVzdChyZXEpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJjcGk6IGNvdWxkIG5vdCBzdGFydCByZXF1ZXN0XG4iKTsKKwlpZiAocmMpCiAJCWdvdG8gb3V0X2ZyZWVfcmVxOwotCX0KIAogCXdhaXRfZm9yX2NvbXBsZXRpb24oJmNvbXBsZXRpb24pOwogCkBAIC0yMjMsNyArMjE3LDEyIEBACiBzdGF0aWMgc3NpemVfdCBzeXN0ZW1fbmFtZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCQkJCXN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKIHsKLQlyZXR1cm4gc25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsIHN5c3RlbV9uYW1lKTsKKwlpbnQgcmM7CisKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJcmMgPSBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzdGVtX25hbWUpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOworCXJldHVybiByYzsKIH0KIAogc3RhdGljIHNzaXplX3Qgc3lzdGVtX25hbWVfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCkBAIC0yMzcsNyArMjM2LDkgQEAKIAlpZiAocmMpCiAJCXJldHVybiByYzsKIAorCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKIAlzZXRfc3RyaW5nKHN5c3RlbV9uYW1lLCBidWYpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCiAJcmV0dXJuIGxlbjsKIH0KQEAgLTI0OCw3ICsyNDksMTIgQEAKIHN0YXRpYyBzc2l6ZV90IHN5c3BsZXhfbmFtZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCQkJCSBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCiB7Ci0JcmV0dXJuIHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiVzXG4iLCBzeXNwbGV4X25hbWUpOworCWludCByYzsKKworCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyYyA9IHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiVzXG4iLCBzeXNwbGV4X25hbWUpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOworCXJldHVybiByYzsKIH0KIAogc3RhdGljIHNzaXplX3Qgc3lzcGxleF9uYW1lX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLApAQCAtMjYyLDcgKzI2OCw5IEBACiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJc2V0X3N0cmluZyhzeXNwbGV4X25hbWUsIGJ1Zik7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAKIAlyZXR1cm4gbGVuOwogfQpAQCAtMjczLDcgKzI4MSwxMiBAQAogc3RhdGljIHNzaXplX3Qgc3lzdGVtX3R5cGVfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKIAkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCiB7Ci0JcmV0dXJuIHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiVzXG4iLCBzeXN0ZW1fdHlwZSk7CisJaW50IHJjOworCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOworCXJjID0gc25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsIHN5c3RlbV90eXBlKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IHN5c3RlbV90eXBlX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLApAQCAtMjg3LDcgKzMwMCw5IEBACiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJc2V0X3N0cmluZyhzeXN0ZW1fdHlwZSwgYnVmKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKIAogCXJldHVybiBsZW47CiB9CkBAIC0yOTgsOCArMzEzLDExIEBACiBzdGF0aWMgc3NpemVfdCBzeXN0ZW1fbGV2ZWxfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKIAkJCQkgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQogewotCXVuc2lnbmVkIGxvbmcgbG9uZyBsZXZlbCA9IHN5c3RlbV9sZXZlbDsKKwl1bnNpZ25lZCBsb25nIGxvbmcgbGV2ZWw7CiAKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJbGV2ZWwgPSBzeXN0ZW1fbGV2ZWw7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJcmV0dXJuIHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiUjMDE4bGx4XG4iLCBsZXZlbCk7CiB9CiAKQEAgLTMyMCw4ICszMzgsOSBAQAogCWlmICgqZW5kcCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJc3lzdGVtX2xldmVsID0gbGV2ZWw7Ci0KKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKIAlyZXR1cm4gbGVuOwogfQogCkBAIC0zMzQsNyArMzUzLDkgQEAKIHsKIAlpbnQgcmM7CiAKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJcmMgPSBjcGlfcmVxKCk7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKQEAgLTM3MywxMiArMzk0LDE2IEBACiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJc2V0X3N0cmluZyhzeXN0ZW1fbmFtZSwgc3lzdGVtKTsKIAlzZXRfc3RyaW5nKHN5c3BsZXhfbmFtZSwgc3lzcGxleCk7CiAJc2V0X3N0cmluZyhzeXN0ZW1fdHlwZSwgdHlwZSk7CiAJc3lzdGVtX2xldmVsID0gbGV2ZWw7CiAKLQlyZXR1cm4gY3BpX3JlcSgpOworCXJjID0gY3BpX3JlcSgpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOworCisJcmV0dXJuIHJjOwogfQogRVhQT1JUX1NZTUJPTChzY2xwX2NwaV9zZXRfZGF0YSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcXVpZXNjZS5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9xdWllc2NlLmMKaW5kZXggNDVmZjI1ZS4uODRjMTkxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9xdWllc2NlLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9xdWllc2NlLmMKQEAgLTUxLDEzICs1MSw3IEBACiBzdGF0aWMgaW50IF9faW5pdAogc2NscF9xdWllc2NlX2luaXQodm9pZCkKIHsKLQlpbnQgcmM7Ci0KLQlyYyA9IHNjbHBfcmVnaXN0ZXIoJnNjbHBfcXVpZXNjZV9ldmVudCk7Ci0JaWYgKHJjKQotCQlwcmludGsoS0VSTl9XQVJOSU5HICJzY2xwOiBjb3VsZCBub3QgcmVnaXN0ZXIgcXVpZXNjZSBoYW5kbGVyICIKLQkJICAgICAgICIocmM9JWQpXG4iLCByYyk7Ci0JcmV0dXJuIHJjOworCXJldHVybiBzY2xwX3JlZ2lzdGVyKCZzY2xwX3F1aWVzY2VfZXZlbnQpOwogfQogCiBtb2R1bGVfaW5pdChzY2xwX3F1aWVzY2VfaW5pdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3J3LmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3J3LmMKaW5kZXggZGEwOTc4MS4uNzEwYWY0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9ydy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcncuYwpAQCAtMTksOCArMTksNiBAQAogI2luY2x1ZGUgInNjbHAuaCIKICNpbmNsdWRlICJzY2xwX3J3LmgiCiAKLSNkZWZpbmUgU0NMUF9SV19QUklOVF9IRUFERVIgInNjbHAgbG93IGxldmVsIGRyaXZlcjogIgotCiAvKgogICogVGhlIHJvb20gZm9yIHRoZSBTQ0NCIChvbmx5IGZvciB3cml0aW5nKSBpcyBub3QgZXF1YWwgdG8gYSBwYWdlcyBzaXplCiAgKiAoYXMgaXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBtYXhpbXVtIHNpemUgaW4gdGhlIFNDTFAgZG9jdW1lbnRhdGlvbikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfc2RpYXMuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfc2RpYXMuYwppbmRleCAxYzA2NDk3Li44Yjg1NDg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3NkaWFzLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9zZGlhcy5jCkBAIC0yMzksMTAgKzIzOSw4IEBACiAJZGVidWdfcmVnaXN0ZXJfdmlldyhzZGlhc19kYmYsICZkZWJ1Z19zcHJpbnRmX3ZpZXcpOwogCWRlYnVnX3NldF9sZXZlbChzZGlhc19kYmYsIDYpOwogCXJjID0gc2NscF9yZWdpc3Rlcigmc2NscF9zZGlhc19yZWdpc3Rlcik7Ci0JaWYgKHJjKSB7Ci0JCUVSUk9SX01TRygic2NscCByZWdpc3RlciBmYWlsZWRcbiIpOworCWlmIChyYykKIAkJcmV0dXJuIHJjOwotCX0KIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzZGlhc193cSk7CiAJVFJBQ0UoImluaXQgZG9uZVxuIik7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuYwppbmRleCA0MGIxMTUyLi40MzRiYTA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmMKQEAgLTEzLDcgKzEzLDYgQEAKICNpbmNsdWRlIDxsaW51eC90dHkuaD4KICNpbmNsdWRlIDxsaW51eC90dHlfZHJpdmVyLmg+CiAjaW5jbHVkZSA8bGludXgvdHR5X2ZsaXAuaD4KLSNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTI1LDggKzI0LDYgQEAKICNpbmNsdWRlICJzY2xwX3J3LmgiCiAjaW5jbHVkZSAic2NscF90dHkuaCIKIAotI2RlZmluZSBTQ0xQX1RUWV9QUklOVF9IRUFERVIgInNjbHAgdHR5IGRyaXZlcjogIgotCiAvKgogICogc2l6ZSBvZiBhIGJ1ZmZlciB0aGF0IGNvbGxlY3RzIHNpbmdsZSBjaGFyYWN0ZXJzIGNvbWluZyBpbgogICogdmlhIHNjbHBfdHR5X3B1dF9jaGFyKCkKQEAgLTUwLDggKzQ3LDYgQEAKIHN0YXRpYyBzdHJ1Y3Qgc2NscF9idWZmZXIgKnNjbHBfdHR5YnVmOwogLyogVGltZXIgZm9yIGRlbGF5ZWQgb3V0cHV0IG9mIGNvbnNvbGUgbWVzc2FnZXMuICovCiBzdGF0aWMgc3RydWN0IHRpbWVyX2xpc3Qgc2NscF90dHlfdGltZXI7Ci0vKiBXYWl0cXVldWUgdG8gd2FpdCBmb3IgYnVmZmVycyB0byBnZXQgZW1wdHkuICovCi1zdGF0aWMgd2FpdF9xdWV1ZV9oZWFkX3Qgc2NscF90dHlfd2FpdHE7CiAKIHN0YXRpYyBzdHJ1Y3QgdHR5X3N0cnVjdCAqc2NscF90dHk7CiBzdGF0aWMgdW5zaWduZWQgY2hhciBzY2xwX3R0eV9jaGFyc1tTQ0xQX1RUWV9CVUZfU0laRV07CkBAIC01OSwxOSArNTQsMTEgQEAKIAogc3RydWN0IHR0eV9kcml2ZXIgKnNjbHBfdHR5X2RyaXZlcjsKIAotc3RhdGljIHN0cnVjdCBzY2xwX2lvY3RscyBzY2xwX2lvY3RsczsKLXN0YXRpYyBzdHJ1Y3Qgc2NscF9pb2N0bHMgc2NscF9pb2N0bHNfaW5pdCA9Ci17Ci0JOCwJCQkvKiAxIGhvci4gdGFiLiA9IDggc3BhY2VzICovCi0JMCwJCQkvKiBubyBlY2hvIG9mIGlucHV0IGJ5IHRoaXMgZHJpdmVyICovCi0JODAsCQkJLyogODAgY2hhcmFjdGVycy9saW5lICovCi0JMSwJCQkvKiB3cml0ZSBhZnRlciAxLzEwIHMgd2l0aG91dCBmaW5hbCBuZXcgbGluZSAqLwotCU1BWF9LTUVNX1BBR0VTLAkJLyogcXVpY2sgZml4OiBhdm9pZCBfX2FsbG9jX3BhZ2VzICovCi0JTUFYX0tNRU1fUEFHRVMsCQkvKiB0YWtlIDMyLzY0IHBhZ2VzIGZyb20ga2VybmVsIG1lbW9yeSwgKi8KLQkwLAkJCS8qIGRvIG5vdCBjb252ZXJ0IHRvIGxvd2VyIGNhc2UgKi8KLQkweDZjCQkJLyogdG8gc2VwcmF0ZSB1cHBlciBhbmQgbG93ZXIgY2FzZSAqLwotCQkJCS8qICgnJScgaW4gRUJDRElDKSAqLwotfTsKK3N0YXRpYyBpbnQgc2NscF90dHlfdG9sb3dlcjsKK3N0YXRpYyBpbnQgc2NscF90dHlfY29sdW1ucyA9IDgwOworCisjZGVmaW5lIFNQQUNFU19QRVJfVEFCIDgKKyNkZWZpbmUgQ0FTRV9ERUxJTUlURVIgMHg2YyAvKiB0byBzZXBhcmF0ZSB1cHBlciBhbmQgbG93ZXIgY2FzZSAoJSBpbiBFQkNESUMpICovCiAKIC8qIFRoaXMgcm91dGluZSBpcyBjYWxsZWQgd2hlbmV2ZXIgd2UgdHJ5IHRvIG9wZW4gYSBTQ0xQIHRlcm1pbmFsLiAqLwogc3RhdGljIGludApAQCAtOTIsMTM2ICs3OSw2IEBACiAJc2NscF90dHkgPSBOVUxMOwogfQogCi0vKiBleGVjdXRlIGNvbW1hbmRzIHRvIGNvbnRyb2wgdGhlIGkvbyBiZWhhdmlvdXIgb2YgdGhlIFNDTFAgdHR5IGF0IHJ1bnRpbWUgKi8KLXN0YXRpYyBpbnQKLXNjbHBfdHR5X2lvY3RsKHN0cnVjdCB0dHlfc3RydWN0ICp0dHksIHN0cnVjdCBmaWxlICogZmlsZSwKLQkgICAgICAgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgb2J1ZjsKLQlpbnQgY2hlY2s7Ci0JaW50IHJjOwotCi0JaWYgKHR0eS0+ZmxhZ3MgJiAoMSA8PCBUVFlfSU9fRVJST1IpKQotCQlyZXR1cm4gLUVJTzsKLQlyYyA9IDA7Ci0JY2hlY2sgPSAwOwotCXN3aXRjaCAoY21kKSB7Ci0JY2FzZSBUSU9DU0NMUFNIVEFCOgotCQkvKiBzZXQgd2lkdGggb2YgaG9yaXpvbnRhbCB0YWIJKi8KLQkJaWYgKGdldF91c2VyKHNjbHBfaW9jdGxzLmh0YWIsICh1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJZWxzZQotCQkJY2hlY2sgPSAxOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR0hUQUI6Ci0JCS8qIGdldCB3aWR0aCBvZiBob3Jpem9udGFsIHRhYgkqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMuaHRhYiwgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU0VDSE86Ci0JCS8qIGVuYWJsZS9kaXNhYmxlIGVjaG8gb2YgaW5wdXQgKi8KLQkJaWYgKGdldF91c2VyKHNjbHBfaW9jdGxzLmVjaG8sICh1bnNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR0VDSE86Ci0JCS8qIElzIGVjaG8gb2YgaW5wdXQgZW5hYmxlZCA/ICAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMuZWNobywgKHVuc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTQ09MUzoKLQkJLyogc2V0IG51bWJlciBvZiBjb2x1bW5zIGZvciBvdXRwdXQgICovCi0JCWlmIChnZXRfdXNlcihzY2xwX2lvY3Rscy5jb2x1bW5zLCAodW5zaWduZWQgc2hvcnQgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWVsc2UKLQkJCWNoZWNrID0gMTsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdDT0xTOgotCQkvKiBnZXQgbnVtYmVyIG9mIGNvbHVtbnMgZm9yIG91dHB1dCAgKi8KLQkJaWYgKHB1dF91c2VyKHNjbHBfaW9jdGxzLmNvbHVtbnMsICh1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUFNOTDoKLQkJLyogZW5hYmxlL2Rpc2FibGUgd3JpdGluZyB3aXRob3V0IGZpbmFsIG5ldyBsaW5lIGNoYXJhY3RlciAgKi8KLQkJaWYgKGdldF91c2VyKHNjbHBfaW9jdGxzLmZpbmFsX25sLCAoc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHTkw6Ci0JCS8qIElzIHdyaXRpbmcgd2l0aG91dCBmaW5hbCBuZXcgbGluZSBjaGFyYWN0ZXIgZW5hYmxlZCA/ICAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMuZmluYWxfbmwsIChzaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUFNPQlVGOgotCQkvKgotCQkgKiBzZXQgdGhlIG1heGltdW0gYnVmZmVycyBzaXplIGZvciBvdXRwdXQsIHdpbGwgYmUgcm91bmRlZAotCQkgKiB1cCB0byBuZXh0IDRrQiBib3VuZGFyeSBhbmQgc3RvcmVkIGFzIG51bWJlciBvZiBTQ0NCcwotCQkgKiAoNGtCIEJ1ZmZlcnMpIGxpbWl0YXRpb246IDI1NiB4IDRrQgotCQkgKi8KLQkJaWYgKGdldF91c2VyKG9idWYsICh1bnNpZ25lZCBpbnQgX191c2VyICopIGFyZykgPT0gMCkgewotCQkJaWYgKG9idWYgJiAweEZGRikKLQkJCQlzY2xwX2lvY3Rscy5tYXhfc2NjYiA9IChvYnVmID4+IDEyKSArIDE7Ci0JCQllbHNlCi0JCQkJc2NscF9pb2N0bHMubWF4X3NjY2IgPSAob2J1ZiA+PiAxMik7Ci0JCX0gZWxzZQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR09CVUY6Ci0JCS8qIGdldCB0aGUgbWF4aW11bSBidWZmZXJzIHNpemUgZm9yIG91dHB1dCAgKi8KLQkJb2J1ZiA9IHNjbHBfaW9jdGxzLm1heF9zY2NiIDw8IDEyOwotCQlpZiAocHV0X3VzZXIob2J1ZiwgKHVuc2lnbmVkIGludCBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdLQlVGOgotCQkvKiBnZXQgdGhlIG51bWJlciBvZiBidWZmZXJzIGdvdCBmcm9tIGtlcm5lbCBhdCBzdGFydHVwICovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5rbWVtX3NjY2IsICh1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUFNDQVNFOgotCQkvKiBlbmFibGUvZGlzYWJsZSBjb252ZXJzaW9uIGZyb20gdXBwZXIgdG8gbG93ZXIgY2FzZSAqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMudG9sb3dlciwgKHVuc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHQ0FTRToKLQkJLyogSXMgY29udmVyc2lvbiBmcm9tIHVwcGVyIHRvIGxvd2VyIGNhc2Ugb2YgaW5wdXQgZW5hYmxlZD8gKi8KLQkJaWYgKHB1dF91c2VyKHNjbHBfaW9jdGxzLnRvbG93ZXIsICh1bnNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU0RFTElNOgotCQkvKgotCQkgKiBzZXQgc3BlY2lhbCBjaGFyYWN0ZXIgdXNlZCBmb3Igc2VwYXJhdGluZyB1cHBlciBhbmQKLQkJICogbG93ZXIgY2FzZSwgMHgwMCBkaXNhYmxlcyB0aGlzIGZlYXR1cmUKLQkJICovCi0JCWlmIChnZXRfdXNlcihzY2xwX2lvY3Rscy5kZWxpbSwgKHVuc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHREVMSU06Ci0JCS8qCi0JCSAqIGdldCBzcGVjaWFsIGNoYXJhY3RlciB1c2VkIGZvciBzZXBhcmF0aW5nIHVwcGVyIGFuZAotCQkgKiBsb3dlciBjYXNlLCAweDAwIGRpc2FibGVzIHRoaXMgZmVhdHVyZQotCQkgKi8KLQkJaWYgKHB1dF91c2VyKHNjbHBfaW9jdGxzLmRlbGltLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUFNJTklUOgotCQkvKiBzZXQgaW5pdGlhbCAoZGVmYXVsdCkgc2NscCBpb2N0bHMgICovCi0JCXNjbHBfaW9jdGxzID0gc2NscF9pb2N0bHNfaW5pdDsKLQkJY2hlY2sgPSAxOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlyYyA9IC1FTk9JT0NUTENNRDsKLQkJYnJlYWs7Ci0JfQotCWlmIChjaGVjaykgewotCQlzcGluX2xvY2tfaXJxc2F2ZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwotCQlpZiAoc2NscF90dHlidWYgIT0gTlVMTCkgewotCQkJc2NscF9zZXRfaHRhYihzY2xwX3R0eWJ1Ziwgc2NscF9pb2N0bHMuaHRhYik7Ci0JCQlzY2xwX3NldF9jb2x1bW5zKHNjbHBfdHR5YnVmLCBzY2xwX2lvY3Rscy5jb2x1bW5zKTsKLQkJfQotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7Ci0JfQotCXJldHVybiByYzsKLX0KLQogLyoKICAqIFRoaXMgcm91dGluZSByZXR1cm5zIHRoZSBudW1iZXJzIG9mIGNoYXJhY3RlcnMgdGhlIHR0eSBkcml2ZXIKICAqIHdpbGwgYWNjZXB0IGZvciBxdWV1aW5nIHRvIGJlIHdyaXR0ZW4uICBUaGlzIG51bWJlciBpcyBzdWJqZWN0CkBAIC0yNjgsNyArMTI1LDYgQEAKIAkJCQkJICAgIHN0cnVjdCBzY2xwX2J1ZmZlciwgbGlzdCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKIAl9IHdoaWxlIChidWZmZXIgJiYgc2NscF9lbWl0X2J1ZmZlcihidWZmZXIsIHNjbHBfdHR5YnVmX2NhbGxiYWNrKSk7Ci0Jd2FrZV91cCgmc2NscF90dHlfd2FpdHEpOwogCS8qIGNoZWNrIGlmIHRoZSB0dHkgbmVlZHMgYSB3YWtlIHVwIGNhbGwgKi8KIAlpZiAoc2NscF90dHkgIT0gTlVMTCkgewogCQl0dHlfd2FrZXVwKHNjbHBfdHR5KTsKQEAgLTMxNiwzNyArMTcyLDM3IEBACiAvKgogICogV3JpdGUgYSBzdHJpbmcgdG8gdGhlIHNjbHAgdHR5LgogICovCi1zdGF0aWMgdm9pZAotc2NscF90dHlfd3JpdGVfc3RyaW5nKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0ciwgaW50IGNvdW50KQorc3RhdGljIGludCBzY2xwX3R0eV93cml0ZV9zdHJpbmcoY29uc3QgdW5zaWduZWQgY2hhciAqc3RyLCBpbnQgY291bnQsIGludCBtYXlfZmFpbCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXZvaWQgKnBhZ2U7CiAJaW50IHdyaXR0ZW47CisJaW50IG92ZXJhbGxfd3JpdHRlbjsKIAlzdHJ1Y3Qgc2NscF9idWZmZXIgKmJ1ZjsKIAogCWlmIChjb3VudCA8PSAwKQotCQlyZXR1cm47CisJCXJldHVybiAwOworCW92ZXJhbGxfd3JpdHRlbiA9IDA7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKIAlkbyB7CiAJCS8qIENyZWF0ZSBhIHNjbHAgb3V0cHV0IGJ1ZmZlciBpZiBub25lIGV4aXN0cyB5ZXQgKi8KIAkJaWYgKHNjbHBfdHR5YnVmID09IE5VTEwpIHsKIAkJCXdoaWxlIChsaXN0X2VtcHR5KCZzY2xwX3R0eV9wYWdlcykpIHsKIAkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7Ci0JCQkJaWYgKGluX2ludGVycnVwdCgpKQotCQkJCQlzY2xwX3N5bmNfd2FpdCgpOworCQkJCWlmIChtYXlfZmFpbCkKKwkJCQkJZ290byBvdXQ7CiAJCQkJZWxzZQotCQkJCQl3YWl0X2V2ZW50KHNjbHBfdHR5X3dhaXRxLAotCQkJCQkJIWxpc3RfZW1wdHkoJnNjbHBfdHR5X3BhZ2VzKSk7CisJCQkJCXNjbHBfc3luY193YWl0KCk7CiAJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKIAkJCX0KIAkJCXBhZ2UgPSBzY2xwX3R0eV9wYWdlcy5uZXh0OwogCQkJbGlzdF9kZWwoKHN0cnVjdCBsaXN0X2hlYWQgKikgcGFnZSk7Ci0JCQlzY2xwX3R0eWJ1ZiA9IHNjbHBfbWFrZV9idWZmZXIocGFnZSwKLQkJCQkJCSAgICAgICBzY2xwX2lvY3Rscy5jb2x1bW5zLAotCQkJCQkJICAgICAgIHNjbHBfaW9jdGxzLmh0YWIpOworCQkJc2NscF90dHlidWYgPSBzY2xwX21ha2VfYnVmZmVyKHBhZ2UsIHNjbHBfdHR5X2NvbHVtbnMsCisJCQkJCQkgICAgICAgU1BBQ0VTX1BFUl9UQUIpOwogCQl9CiAJCS8qIHRyeSB0byB3cml0ZSB0aGUgc3RyaW5nIHRvIHRoZSBjdXJyZW50IG91dHB1dCBidWZmZXIgKi8KIAkJd3JpdHRlbiA9IHNjbHBfd3JpdGUoc2NscF90dHlidWYsIHN0ciwgY291bnQpOworCQlvdmVyYWxsX3dyaXR0ZW4gKz0gd3JpdHRlbjsKIAkJaWYgKHdyaXR0ZW4gPT0gY291bnQpCiAJCQlicmVhazsKIAkJLyoKQEAgLTM2MywyNyArMjE5LDE3IEBACiAJCWNvdW50IC09IHdyaXR0ZW47CiAJfSB3aGlsZSAoY291bnQgPiAwKTsKIAkvKiBTZXR1cCB0aW1lciB0byBvdXRwdXQgY3VycmVudCBjb25zb2xlIGJ1ZmZlciBhZnRlciAxLzEwIHNlY29uZCAqLwotCWlmIChzY2xwX2lvY3Rscy5maW5hbF9ubCkgewotCQlpZiAoc2NscF90dHlidWYgIT0gTlVMTCAmJgotCQkgICAgc2NscF9jaGFyc19pbl9idWZmZXIoc2NscF90dHlidWYpICE9IDAgJiYKLQkJICAgICF0aW1lcl9wZW5kaW5nKCZzY2xwX3R0eV90aW1lcikpIHsKLQkJCWluaXRfdGltZXIoJnNjbHBfdHR5X3RpbWVyKTsKLQkJCXNjbHBfdHR5X3RpbWVyLmZ1bmN0aW9uID0gc2NscF90dHlfdGltZW91dDsKLQkJCXNjbHBfdHR5X3RpbWVyLmRhdGEgPSAwVUw7Ci0JCQlzY2xwX3R0eV90aW1lci5leHBpcmVzID0gamlmZmllcyArIEhaLzEwOwotCQkJYWRkX3RpbWVyKCZzY2xwX3R0eV90aW1lcik7Ci0JCX0KLQl9IGVsc2UgewotCQlpZiAoc2NscF90dHlidWYgIT0gTlVMTCAmJgotCQkgICAgc2NscF9jaGFyc19pbl9idWZmZXIoc2NscF90dHlidWYpICE9IDApIHsKLQkJCWJ1ZiA9IHNjbHBfdHR5YnVmOwotCQkJc2NscF90dHlidWYgPSBOVUxMOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwotCQkJX19zY2xwX3R0eWJ1Zl9lbWl0KGJ1Zik7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwotCQl9CisJaWYgKHNjbHBfdHR5YnVmICYmIHNjbHBfY2hhcnNfaW5fYnVmZmVyKHNjbHBfdHR5YnVmKSAmJgorCSAgICAhdGltZXJfcGVuZGluZygmc2NscF90dHlfdGltZXIpKSB7CisJCWluaXRfdGltZXIoJnNjbHBfdHR5X3RpbWVyKTsKKwkJc2NscF90dHlfdGltZXIuZnVuY3Rpb24gPSBzY2xwX3R0eV90aW1lb3V0OworCQlzY2xwX3R0eV90aW1lci5kYXRhID0gMFVMOworCQlzY2xwX3R0eV90aW1lci5leHBpcmVzID0gamlmZmllcyArIEhaLzEwOworCQlhZGRfdGltZXIoJnNjbHBfdHR5X3RpbWVyKTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOworb3V0OgorCXJldHVybiBvdmVyYWxsX3dyaXR0ZW47CiB9CiAKIC8qCkBAIC0zOTUsMTEgKzI0MSwxMCBAQAogc2NscF90dHlfd3JpdGUoc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY291bnQpCiB7CiAJaWYgKHNjbHBfdHR5X2NoYXJzX2NvdW50ID4gMCkgewotCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50KTsKKwkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCwgMCk7CiAJCXNjbHBfdHR5X2NoYXJzX2NvdW50ID0gMDsKIAl9Ci0Jc2NscF90dHlfd3JpdGVfc3RyaW5nKGJ1ZiwgY291bnQpOwotCXJldHVybiBjb3VudDsKKwlyZXR1cm4gc2NscF90dHlfd3JpdGVfc3RyaW5nKGJ1ZiwgY291bnQsIDEpOwogfQogCiAvKgpAQCAtNDE3LDkgKzI2MiwxMCBAQAogewogCXNjbHBfdHR5X2NoYXJzW3NjbHBfdHR5X2NoYXJzX2NvdW50KytdID0gY2g7CiAJaWYgKGNoID09ICdcbicgfHwgc2NscF90dHlfY2hhcnNfY291bnQgPj0gU0NMUF9UVFlfQlVGX1NJWkUpIHsKLQkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCk7CisJCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQsIDApOwogCQlzY2xwX3R0eV9jaGFyc19jb3VudCA9IDA7Ci0JfSByZXR1cm4gMTsKKwl9CisJcmV0dXJuIDE7CiB9CiAKIC8qCkBAIC00MzAsNyArMjc2LDcgQEAKIHNjbHBfdHR5X2ZsdXNoX2NoYXJzKHN0cnVjdCB0dHlfc3RydWN0ICp0dHkpCiB7CiAJaWYgKHNjbHBfdHR5X2NoYXJzX2NvdW50ID4gMCkgewotCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50KTsKKwkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCwgMCk7CiAJCXNjbHBfdHR5X2NoYXJzX2NvdW50ID0gMDsKIAl9CiB9CkBAIC00NjksNyArMzE1LDcgQEAKIHNjbHBfdHR5X2ZsdXNoX2J1ZmZlcihzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5KQogewogCWlmIChzY2xwX3R0eV9jaGFyc19jb3VudCA+IDApIHsKLQkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCk7CisJCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQsIDApOwogCQlzY2xwX3R0eV9jaGFyc19jb3VudCA9IDA7CiAJfQogfQpAQCAtNTE3LDkgKzM2Myw3IEBACiAgKiBtb2RpZml5IG9yaWdpbmFsIHN0cmluZywKICAqIHJldHVybnMgbGVuZ3RoIG9mIHJlc3VsdGluZyBzdHJpbmcKICAqLwotc3RhdGljIGludAotc2NscF9zd2l0Y2hfY2FzZXModW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY291bnQsCi0JCSAgdW5zaWduZWQgY2hhciBkZWxpbSwgaW50IHRvbG93ZXIpCitzdGF0aWMgaW50IHNjbHBfc3dpdGNoX2Nhc2VzKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGNvdW50KQogewogCXVuc2lnbmVkIGNoYXIgKmlwLCAqb3A7CiAJaW50IHRvZ2dsZTsKQEAgLTUyOSw5ICszNzMsOSBAQAogCWlwID0gb3AgPSBidWY7CiAJd2hpbGUgKGNvdW50LS0gPiAwKSB7CiAJCS8qIGNvbXBhcmUgd2l0aCBzcGVjaWFsIGNoYXJhY3RlciAqLwotCQlpZiAoKmlwID09IGRlbGltKSB7CisJCWlmICgqaXAgPT0gQ0FTRV9ERUxJTUlURVIpIHsKIAkJCS8qIGZvbGxvd2VkIGJ5IGFub3RoZXIgc3BlY2lhbCBjaGFyYWN0ZXI/ICovCi0JCQlpZiAoY291bnQgJiYgaXBbMV0gPT0gZGVsaW0pIHsKKwkJCWlmIChjb3VudCAmJiBpcFsxXSA9PSBDQVNFX0RFTElNSVRFUikgewogCQkJCS8qCiAJCQkJICogLi4uIHRoZW4gcHV0IGEgc2luZ2xlIGNvcHkgb2YgdGhlIHNwZWNpYWwKIAkJCQkgKiBjaGFyYWN0ZXIgdG8gdGhlIG91dHB1dCBzdHJpbmcKQEAgLTU1MCw3ICszOTQsNyBAQAogCQkJLyogbm90IHRoZSBzcGVjaWFsIGNoYXJhY3RlciAqLwogCQkJaWYgKHRvZ2dsZSkKIAkJCQkvKiBidXQgY2FzZSBzd2l0Y2hpbmcgaXMgb24gKi8KLQkJCQlpZiAodG9sb3dlcikKKwkJCQlpZiAoc2NscF90dHlfdG9sb3dlcikKIAkJCQkJLyogc3dpdGNoIHRvIHVwcGVyY2FzZSAqLwogCQkJCQkqb3ArKyA9IF9lYmNfdG91cHBlclsoaW50KSAqaXArK107CiAJCQkJZWxzZQpAQCAtNTcwLDMwICs0MTQsMTIgQEAKIAlpbnQgY291bnQ7CiAKIAljb3VudCA9IGVuZCAtIHN0YXJ0OwotCS8qCi0JICogaWYgc2V0IGluIGlvY3RsIGNvbnZlcnQgRUJDRElDIHRvIGxvd2VyIGNhc2UKLQkgKiAobW9kaWZ5IG9yaWdpbmFsIGlucHV0IGluIFNDQ0IpCi0JICovCi0JaWYgKHNjbHBfaW9jdGxzLnRvbG93ZXIpCisJaWYgKHNjbHBfdHR5X3RvbG93ZXIpCiAJCUVCQ19UT0xPV0VSKHN0YXJ0LCBjb3VudCk7Ci0KLQkvKgotCSAqIGlmIHNldCBpbiBpb2N0bCBmaW5kIG91dCBjaGFyYWN0ZXJzIGluIGxvd2VyIG9yIHVwcGVyIGNhc2UKLQkgKiAoZGVwZW5kcyBvbiBjdXJyZW50IGNhc2UpIHNlcGFyYXRlZCBieSBhIHNwZWNpYWwgY2hhcmFjdGVyLAotCSAqIHdvcmtzIG9uIEVCQ0RJQwotCSAqLwotCWlmIChzY2xwX2lvY3Rscy5kZWxpbSkKLQkJY291bnQgPSBzY2xwX3N3aXRjaF9jYXNlcyhzdGFydCwgY291bnQsCi0JCQkJCSAgc2NscF9pb2N0bHMuZGVsaW0sCi0JCQkJCSAgc2NscF9pb2N0bHMudG9sb3dlcik7Ci0KKwljb3VudCA9IHNjbHBfc3dpdGNoX2Nhc2VzKHN0YXJ0LCBjb3VudCk7CiAJLyogY29udmVydCBFQkNESUMgdG8gQVNDSUkgKG1vZGlmeSBvcmlnaW5hbCBpbnB1dCBpbiBTQ0NCKSAqLwogCXNjbHBfZWJjYXNjX3N0cihzdGFydCwgY291bnQpOwogCi0JLyogaWYgc2V0IGluIGlvY3RsIHdyaXRlIG9wZXJhdG9ycyBpbnB1dCB0byBjb25zb2xlICAqLwotCWlmIChzY2xwX2lvY3Rscy5lY2hvKQotCQlzY2xwX3R0eV93cml0ZShzY2xwX3R0eSwgc3RhcnQsIGNvdW50KTsKLQogCS8qIHRyYW5zZmVyIGlucHV0IHRvIGhpZ2ggbGV2ZWwgZHJpdmVyICovCiAJc2NscF90dHlfaW5wdXQoc3RhcnQsIGNvdW50KTsKIH0KQEAgLTcxNyw3ICs1NDMsNiBAQAogCS53cml0ZV9yb29tID0gc2NscF90dHlfd3JpdGVfcm9vbSwKIAkuY2hhcnNfaW5fYnVmZmVyID0gc2NscF90dHlfY2hhcnNfaW5fYnVmZmVyLAogCS5mbHVzaF9idWZmZXIgPSBzY2xwX3R0eV9mbHVzaF9idWZmZXIsCi0JLmlvY3RsID0gc2NscF90dHlfaW9jdGwsCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdApAQCAtNzM2LDkgKzU2MSw2IEBACiAKIAlyYyA9IHNjbHBfcndfaW5pdCgpOwogCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgU0NMUF9UVFlfUFJJTlRfSEVBREVSCi0JCSAgICAgICAiY291bGQgbm90IHJlZ2lzdGVyIHR0eSAtICIKLQkJICAgICAgICJzY2xwX3J3X2luaXQgcmV0dXJuZWQgJWRcbiIsIHJjKTsKIAkJcHV0X3R0eV9kcml2ZXIoZHJpdmVyKTsKIAkJcmV0dXJuIHJjOwogCX0KQEAgLTc1NCw3ICs1NzYsNiBAQAogCX0KIAlJTklUX0xJU1RfSEVBRCgmc2NscF90dHlfb3V0cXVldWUpOwogCXNwaW5fbG9ja19pbml0KCZzY2xwX3R0eV9sb2NrKTsKLQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzY2xwX3R0eV93YWl0cSk7CiAJaW5pdF90aW1lcigmc2NscF90dHlfdGltZXIpOwogCXNjbHBfdHR5YnVmID0gTlVMTDsKIAlzY2xwX3R0eV9idWZmZXJfY291bnQgPSAwOwpAQCAtNzYzLDExICs1ODQsMTAgQEAKIAkJICogc2F2ZSA0IGNoYXJhY3RlcnMgZm9yIHRoZSBDUFUgbnVtYmVyCiAJCSAqIHdyaXR0ZW4gYXQgc3RhcnQgb2YgZWFjaCBsaW5lIGJ5IFZNL0NQCiAJCSAqLwotCQlzY2xwX2lvY3Rsc19pbml0LmNvbHVtbnMgPSA3NjsKKwkJc2NscF90dHlfY29sdW1ucyA9IDc2OwogCQkvKiBjYXNlIGlucHV0IGxpbmVzIHRvIGxvd2VyY2FzZSAqLwotCQlzY2xwX2lvY3Rsc19pbml0LnRvbG93ZXIgPSAxOworCQlzY2xwX3R0eV90b2xvd2VyID0gMTsKIAl9Ci0Jc2NscF9pb2N0bHMgPSBzY2xwX2lvY3Rsc19pbml0OwogCXNjbHBfdHR5X2NoYXJzX2NvdW50ID0gMDsKIAlzY2xwX3R0eSA9IE5VTEw7CiAKQEAgLTc5Miw5ICs2MTIsNiBAQAogCXR0eV9zZXRfb3BlcmF0aW9ucyhkcml2ZXIsICZzY2xwX29wcyk7CiAJcmMgPSB0dHlfcmVnaXN0ZXJfZHJpdmVyKGRyaXZlcik7CiAJaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBTQ0xQX1RUWV9QUklOVF9IRUFERVIKLQkJICAgICAgICJjb3VsZCBub3QgcmVnaXN0ZXIgdHR5IC0gIgotCQkgICAgICAgInR0eV9yZWdpc3Rlcl9kcml2ZXIgcmV0dXJuZWQgJWRcbiIsIHJjKTsKIAkJcHV0X3R0eV9kcml2ZXIoZHJpdmVyKTsKIAkJcmV0dXJuIHJjOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmggYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5oCmluZGV4IDBjZTJjMWYuLjRiOTY1YjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmgKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuaApAQCAtMTEsNjEgKzExLDggQEAKICNpZm5kZWYgX19TQ0xQX1RUWV9IX18KICNkZWZpbmUgX19TQ0xQX1RUWV9IX18KIAotI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+Ci0jaW5jbHVkZSA8bGludXgvdGVybWlvcy5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eV9kcml2ZXIuaD4KIAotLyogVGhpcyBpcyB0aGUgdHlwZSBvZiBkYXRhIHN0cnVjdHVyZXMgc3RvcmluZyBzY2xwIGlvY3RsIHNldHRpbmcuICovCi1zdHJ1Y3Qgc2NscF9pb2N0bHMgewotCXVuc2lnbmVkIHNob3J0IGh0YWI7Ci0JdW5zaWduZWQgY2hhciBlY2hvOwotCXVuc2lnbmVkIHNob3J0IGNvbHVtbnM7Ci0JdW5zaWduZWQgY2hhciBmaW5hbF9ubDsKLQl1bnNpZ25lZCBzaG9ydCBtYXhfc2NjYjsKLQl1bnNpZ25lZCBzaG9ydCBrbWVtX3NjY2I7CS8qIGNhbid0IGJlIG1vZGlmaWVkIGF0IHJ1biB0aW1lICovCi0JdW5zaWduZWQgY2hhciB0b2xvd2VyOwotCXVuc2lnbmVkIGNoYXIgZGVsaW07Ci19OwotCi0vKiBtdXN0IGJlIHVuaXF1ZSwgRklYTUU6IG11c3QgYmUgYWRkZWQgaW4gRG9jdW1lbnRhdGlvbi9pb2N0bF9udW1iZXIudHh0ICovCi0jZGVmaW5lIFNDTFBfSU9DVExfTEVUVEVSICdCJwotCi0vKiBzZXQgd2lkdGggb2YgaG9yaXpvbnRhbCB0YWJ1bGF0b3IgKi8KLSNkZWZpbmUgVElPQ1NDTFBTSFRBQglfSU9XKFNDTFBfSU9DVExfTEVUVEVSLCAwLCB1bnNpZ25lZCBzaG9ydCkKLS8qIGVuYWJsZS9kaXNhYmxlIGVjaG8gb2YgaW5wdXQgKGluZGVwZW5kZW50IGZyb20gbGluZSBkaXNjaXBsaW5lKSAqLwotI2RlZmluZSBUSU9DU0NMUFNFQ0hPCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDEsIHVuc2lnbmVkIGNoYXIpCi0vKiBzZXQgbnVtYmVyIG9mIGNvbHVtcyBmb3Igb3V0cHV0ICovCi0jZGVmaW5lIFRJT0NTQ0xQU0NPTFMJX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgMiwgdW5zaWduZWQgc2hvcnQpCi0vKiBlbmFibGUvZGlzYWJsZSB3cml0aW5nIHdpdGhvdXQgZmluYWwgbmV3IGxpbmUgY2hhcmFjdGVyICovCi0jZGVmaW5lIFRJT0NTQ0xQU05MCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDQsIHNpZ25lZCBjaGFyKQotLyogc2V0IHRoZSBtYXhpbXVtIGJ1ZmZlcnMgc2l6ZSBmb3Igb3V0cHV0LCByb3VuZGVkIHVwIHRvIG5leHQgNGtCIGJvdW5kYXJ5ICovCi0jZGVmaW5lIFRJT0NTQ0xQU09CVUYJX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgNSwgdW5zaWduZWQgc2hvcnQpCi0vKiBzZXQgaW5pdGlhbCAoZGVmYXVsdCkgc2NscCBpb2N0bHMgKi8KLSNkZWZpbmUgVElPQ1NDTFBTSU5JVAlfSU8oU0NMUF9JT0NUTF9MRVRURVIsIDYpCi0vKiBlbmFibGUvZGlzYWJsZSBjb252ZXJzaW9uIGZyb20gdXBwZXIgdG8gbG93ZXIgY2FzZSBvZiBpbnB1dCAqLwotI2RlZmluZSBUSU9DU0NMUFNDQVNFCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDcsIHVuc2lnbmVkIGNoYXIpCi0vKiBzZXQgc3BlY2lhbCBjaGFyYWN0ZXIgdXNlZCBmb3Igc2VwYXJhdGluZyB1cHBlciBhbmQgbG93ZXIgY2FzZSwgKi8KLS8qIDB4MDAgZGlzYWJsZXMgdGhpcyBmZWF0dXJlICovCi0jZGVmaW5lIFRJT0NTQ0xQU0RFTElNCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDksIHVuc2lnbmVkIGNoYXIpCi0KLS8qIGdldCB3aWR0aCBvZiBob3Jpem9udGFsIHRhYnVsYXRvciAqLwotI2RlZmluZSBUSU9DU0NMUEdIVEFCCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDEwLCB1bnNpZ25lZCBzaG9ydCkKLS8qIElzIGVjaG8gb2YgaW5wdXQgZW5hYmxlZCA/IChpbmRlcGVuZGVudCBmcm9tIGxpbmUgZGlzY2lwbGluZSkgKi8KLSNkZWZpbmUgVElPQ1NDTFBHRUNITwlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxMSwgdW5zaWduZWQgY2hhcikKLS8qIGdldCBudW1iZXIgb2YgY29sdW1zIGZvciBvdXRwdXQgKi8KLSNkZWZpbmUgVElPQ1NDTFBHQ09MUwlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxMiwgdW5zaWduZWQgc2hvcnQpCi0vKiBJcyB3cml0aW5nIHdpdGhvdXQgZmluYWwgbmV3IGxpbmUgY2hhcmFjdGVyIGVuYWJsZWQgPyAqLwotI2RlZmluZSBUSU9DU0NMUEdOTAlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxNCwgc2lnbmVkIGNoYXIpCi0vKiBnZXQgdGhlIG1heGltdW0gYnVmZmVycyBzaXplIGZvciBvdXRwdXQgKi8KLSNkZWZpbmUgVElPQ1NDTFBHT0JVRglfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxNSwgdW5zaWduZWQgc2hvcnQpCi0vKiBJcyBjb252ZXJzaW9uIGZyb20gdXBwZXIgdG8gbG93ZXIgY2FzZSBvZiBpbnB1dCBlbmFibGVkID8gKi8KLSNkZWZpbmUgVElPQ1NDTFBHQ0FTRQlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxNywgdW5zaWduZWQgY2hhcikKLS8qIGdldCBzcGVjaWFsIGNoYXJhY3RlciB1c2VkIGZvciBzZXBhcmF0aW5nIHVwcGVyIGFuZCBsb3dlciBjYXNlLCAqLwotLyogMHgwMCBkaXNhYmxlcyB0aGlzIGZlYXR1cmUgKi8KLSNkZWZpbmUgVElPQ1NDTFBHREVMSU0JX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMTksIHVuc2lnbmVkIGNoYXIpCi0vKiBnZXQgdGhlIG51bWJlciBvZiBidWZmZXJzL3BhZ2VzIGdvdCBmcm9tIGtlcm5lbCBhdCBzdGFydHVwICovCi0jZGVmaW5lIFRJT0NTQ0xQR0tCVUYJX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMjAsIHVuc2lnbmVkIHNob3J0KQotCiBleHRlcm4gc3RydWN0IHR0eV9kcml2ZXIgKnNjbHBfdHR5X2RyaXZlcjsKIAogI2VuZGlmCS8qIF9fU0NMUF9UVFlfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMKaW5kZXggM2U1NzdmNi4uYWQ1MTczOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF92dDIyMC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdnQyMjAuYwpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAic2NscC5oIgogCi0jZGVmaW5lIFNDTFBfVlQyMjBfUFJJTlRfSEVBREVSIAkic2NscCB2dDIyMCB0dHkgZHJpdmVyOiAiCiAjZGVmaW5lIFNDTFBfVlQyMjBfTUFKT1IJCVRUWV9NQUpPUgogI2RlZmluZSBTQ0xQX1ZUMjIwX01JTk9SCQk2NQogI2RlZmluZSBTQ0xQX1ZUMjIwX0RSSVZFUl9OQU1FCQkic2NscF92dDIyMCIKQEAgLTgyLDggKzgxLDggQEAKIC8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIGluIGN1cnJlbnQgcmVxdWVzdCBidWZmZXIgKi8KIHN0YXRpYyBpbnQgc2NscF92dDIyMF9idWZmZXJlZF9jaGFyczsKIAotLyogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBkcml2ZXIgaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZCAqLwotc3RhdGljIGludCBzY2xwX3Z0MjIwX2luaXRpYWxpemVkID0gMDsKKy8qIENvdW50ZXIgY29udHJvbGxpbmcgY29yZSBkcml2ZXIgaW5pdGlhbGl6YXRpb24uICovCitzdGF0aWMgaW50IF9faW5pdGRhdGEgc2NscF92dDIyMF9pbml0X2NvdW50OwogCiAvKiBGbGFnIGluZGljYXRpbmcgdGhhdCBzY2xwX3Z0MjIwX2N1cnJlbnRfcmVxdWVzdCBzaG91bGQgcmVhbGx5CiAgKiBoYXZlIGJlZW4gYWxyZWFkeSBxdWV1ZWQgYnV0IHdhc24ndCBiZWNhdXNlIHRoZSBTQ0xQIHdhcyBwcm9jZXNzaW5nCkBAIC02MDksMTAgKzYwOCw4IEBACiAJc2NscF92dDIyMF9lbWl0X2N1cnJlbnQoKTsKIH0KIAotLyoKLSAqIEluaXRpYWxpemUgYWxsIHJlbGV2YW50IGNvbXBvbmVudHMgYW5kIHJlZ2lzdGVyIGRyaXZlciB3aXRoIHN5c3RlbS4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IF9fc2NscF92dDIyMF9jbGVhbnVwKHZvaWQpCisvKiBSZWxlYXNlIGFsbG9jYXRlZCBwYWdlcy4gKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBfX3NjbHBfdnQyMjBfZnJlZV9wYWdlcyh2b2lkKQogewogCXN0cnVjdCBsaXN0X2hlYWQgKnBhZ2UsICpwOwogCkBAIC02MjMsMjEgKzYyMCwzMCBAQAogCQllbHNlCiAJCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpIHBhZ2UsIFBBR0VfU0laRSk7CiAJfQotCWlmICghbGlzdF9lbXB0eSgmc2NscF92dDIyMF9yZWdpc3Rlci5saXN0KSkKLQkJc2NscF91bnJlZ2lzdGVyKCZzY2xwX3Z0MjIwX3JlZ2lzdGVyKTsKLQlzY2xwX3Z0MjIwX2luaXRpYWxpemVkID0gMDsKIH0KIAotc3RhdGljIGludCBfX2luaXQgX19zY2xwX3Z0MjIwX2luaXQodm9pZCkKKy8qIFJlbGVhc2UgbWVtb3J5IGFuZCB1bnJlZ2lzdGVyIGZyb20gc2NscCBjb3JlLiBDb250cm9sbGVkIGJ5IGluaXQgY291bnRpbmcgLQorICogb25seSB0aGUgbGFzdCBpbnZva2VyIHdpbGwgYWN0dWFsbHkgcGVyZm9ybSB0aGVzZSBhY3Rpb25zLiAqLworc3RhdGljIHZvaWQgX19pbml0IF9fc2NscF92dDIyMF9jbGVhbnVwKHZvaWQpCit7CisJc2NscF92dDIyMF9pbml0X2NvdW50LS07CisJaWYgKHNjbHBfdnQyMjBfaW5pdF9jb3VudCAhPSAwKQorCQlyZXR1cm47CisJc2NscF91bnJlZ2lzdGVyKCZzY2xwX3Z0MjIwX3JlZ2lzdGVyKTsKKwlfX3NjbHBfdnQyMjBfZnJlZV9wYWdlcygpOworfQorCisvKiBBbGxvY2F0ZSBidWZmZXIgcGFnZXMgYW5kIHJlZ2lzdGVyIHdpdGggc2NscCBjb3JlLiBDb250cm9sbGVkIGJ5IGluaXQKKyAqIGNvdW50aW5nIC0gb25seSB0aGUgZmlyc3QgaW52b2tlciB3aWxsIGFjdHVhbGx5IHBlcmZvcm0gdGhlc2UgYWN0aW9ucy4gKi8KK3N0YXRpYyBpbnQgX19pbml0IF9fc2NscF92dDIyMF9pbml0KGludCBudW1fcGFnZXMpCiB7CiAJdm9pZCAqcGFnZTsKIAlpbnQgaTsKLQlpbnQgbnVtX3BhZ2VzOwogCWludCByYzsKIAotCWlmIChzY2xwX3Z0MjIwX2luaXRpYWxpemVkKQorCXNjbHBfdnQyMjBfaW5pdF9jb3VudCsrOworCWlmIChzY2xwX3Z0MjIwX2luaXRfY291bnQgIT0gMSkKIAkJcmV0dXJuIDA7Ci0Jc2NscF92dDIyMF9pbml0aWFsaXplZCA9IDE7CiAJc3Bpbl9sb2NrX2luaXQoJnNjbHBfdnQyMjBfbG9jayk7CiAJSU5JVF9MSVNUX0hFQUQoJnNjbHBfdnQyMjBfZW1wdHkpOwogCUlOSVRfTElTVF9IRUFEKCZzY2xwX3Z0MjIwX291dHF1ZXVlKTsKQEAgLTY0OSwyNCArNjU1LDIyIEBACiAJc2NscF92dDIyMF9mbHVzaF9sYXRlciA9IDA7CiAKIAkvKiBBbGxvY2F0ZSBwYWdlcyBmb3Igb3V0cHV0IGJ1ZmZlcmluZyAqLwotCW51bV9wYWdlcyA9IHNsYWJfaXNfYXZhaWxhYmxlKCkgPyBNQVhfS01FTV9QQUdFUyA6IE1BWF9DT05TT0xFX1BBR0VTOwogCWZvciAoaSA9IDA7IGkgPCBudW1fcGFnZXM7IGkrKykgewogCQlpZiAoc2xhYl9pc19hdmFpbGFibGUoKSkKIAkJCXBhZ2UgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOwogCQllbHNlCiAJCQlwYWdlID0gYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKIAkJaWYgKCFwYWdlKSB7Ci0JCQlfX3NjbHBfdnQyMjBfY2xlYW51cCgpOwotCQkJcmV0dXJuIC1FTk9NRU07CisJCQlyYyA9IC1FTk9NRU07CisJCQlnb3RvIG91dDsKIAkJfQogCQlsaXN0X2FkZF90YWlsKChzdHJ1Y3QgbGlzdF9oZWFkICopIHBhZ2UsICZzY2xwX3Z0MjIwX2VtcHR5KTsKIAl9CiAJcmMgPSBzY2xwX3JlZ2lzdGVyKCZzY2xwX3Z0MjIwX3JlZ2lzdGVyKTsKK291dDoKIAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFNDTFBfVlQyMjBfUFJJTlRfSEVBREVSCi0JCSAgICAgICAiY291bGQgbm90IHJlZ2lzdGVyIHZ0MjIwIC0gIgotCQkgICAgICAgInNjbHBfcmVnaXN0ZXIgcmV0dXJuZWQgJWRcbiIsIHJjKTsKLQkJX19zY2xwX3Z0MjIwX2NsZWFudXAoKTsKKwkJX19zY2xwX3Z0MjIwX2ZyZWVfcGFnZXMoKTsKKwkJc2NscF92dDIyMF9pbml0X2NvdW50LS07CiAJfQogCXJldHVybiByYzsKIH0KQEAgLTY4OSwxNSArNjkzLDEzIEBACiB7CiAJc3RydWN0IHR0eV9kcml2ZXIgKmRyaXZlcjsKIAlpbnQgcmM7Ci0JaW50IGNsZWFudXA7CiAKIAkvKiBOb3RlOiB3ZSdyZSBub3QgdGVzdGluZyBmb3IgQ09OU09MRV9JU19TQ0xQIGhlcmUgdG8gcHJlc2VydmUKIAkgKiBzeW1tZXRyeSBiZXR3ZWVuIFZNIGFuZCBMUEFSIHN5c3RlbXMgcmVnYXJkaW5nIHR0eVMxLiAqLwogCWRyaXZlciA9IGFsbG9jX3R0eV9kcml2ZXIoMSk7CiAJaWYgKCFkcml2ZXIpCiAJCXJldHVybiAtRU5PTUVNOwotCWNsZWFudXAgPSAhc2NscF92dDIyMF9pbml0aWFsaXplZDsKLQlyYyA9IF9fc2NscF92dDIyMF9pbml0KCk7CisJcmMgPSBfX3NjbHBfdnQyMjBfaW5pdChNQVhfS01FTV9QQUdFUyk7CiAJaWYgKHJjKQogCQlnb3RvIG91dF9kcml2ZXI7CiAKQEAgLTcxMywxOCArNzE1LDEzIEBACiAJdHR5X3NldF9vcGVyYXRpb25zKGRyaXZlciwgJnNjbHBfdnQyMjBfb3BzKTsKIAogCXJjID0gdHR5X3JlZ2lzdGVyX2RyaXZlcihkcml2ZXIpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgU0NMUF9WVDIyMF9QUklOVF9IRUFERVIKLQkJICAgICAgICJjb3VsZCBub3QgcmVnaXN0ZXIgdHR5IC0gIgotCQkgICAgICAgInR0eV9yZWdpc3Rlcl9kcml2ZXIgcmV0dXJuZWQgJWRcbiIsIHJjKTsKKwlpZiAocmMpCiAJCWdvdG8gb3V0X2luaXQ7Ci0JfQogCXNjbHBfdnQyMjBfZHJpdmVyID0gZHJpdmVyOwogCXJldHVybiAwOwogCiBvdXRfaW5pdDoKLQlpZiAoY2xlYW51cCkKLQkJX19zY2xwX3Z0MjIwX2NsZWFudXAoKTsKKwlfX3NjbHBfdnQyMjBfY2xlYW51cCgpOwogb3V0X2RyaXZlcjoKIAlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCXJldHVybiByYzsKQEAgLTc3MywxMCArNzcwLDkgQEAKIHsKIAlpbnQgcmM7CiAKLQlJTklUX0xJU1RfSEVBRCgmc2NscF92dDIyMF9yZWdpc3Rlci5saXN0KTsKIAlpZiAoIUNPTlNPTEVfSVNfU0NMUCkKIAkJcmV0dXJuIDA7Ci0JcmMgPSBfX3NjbHBfdnQyMjBfaW5pdCgpOworCXJjID0gX19zY2xwX3Z0MjIwX2luaXQoTUFYX0NPTlNPTEVfUEFHRVMpOwogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCS8qIEF0dGFjaCBsaW51eCBjb25zb2xlICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM0eHguYyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzR4eC5jCmluZGV4IDg3NGFkZjMuLjIyY2EzNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzR4eC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzR4eC5jCkBAIC0xOTYsNyArMTk2LDcgQEAKIHN0YXRpYyBpbnQKIHRhcGVfMzR4eF91bnNvbGljaXRlZF9pcnEoc3RydWN0IHRhcGVfZGV2aWNlICpkZXZpY2UsIHN0cnVjdCBpcmIgKmlyYikKIHsKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ID09IDB4ODUgLyogUkVBRFkgKi8pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAweDg1KSB7IC8qIFJFQURZICovCiAJCS8qIEEgbWVkaXVtIHdhcyBpbnNlcnRlZCBpbiB0aGUgZHJpdmUuICovCiAJCURCRl9FVkVOVCg2LCAieHV1ZCBtZWRcbiIpOwogCQl0YXBlXzM0eHhfZGVsZXRlX3NiaWRfZnJvbShkZXZpY2UsIDApOwpAQCAtODQ0LDIyICs4NDQsMjIgQEAKIAlpZiAocmVxdWVzdCA9PSBOVUxMKQogCQlyZXR1cm4gdGFwZV8zNHh4X3Vuc29saWNpdGVkX2lycShkZXZpY2UsIGlyYik7CiAKLQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApICYmCi0JICAgIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSAmJgorCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApICYmCisJICAgIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgJiYKIAkgICAgKHJlcXVlc3QtPm9wID09IFRPX1dSSSkpIHsKIAkJLyogV3JpdGUgYXQgZW5kIG9mIHZvbHVtZSAqLwogCQlQUklOVF9JTkZPKCJFbmQgb2Ygdm9sdW1lXG4iKTsgLyogWFhYICovCiAJCXJldHVybiB0YXBlXzM0eHhfZXJwX2ZhaWxlZChyZXF1ZXN0LCAtRU5PU1BDKTsKIAl9CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCXJldHVybiB0YXBlXzM0eHhfdW5pdF9jaGVjayhkZXZpY2UsIHJlcXVlc3QsIGlyYik7CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgewogCQkvKgogCQkgKiBBIHVuaXQgZXhjZXB0aW9uIG9jY3VycyBvbiBza2lwcGluZyBvdmVyIGEgdGFwZW1hcmsgYmxvY2suCiAJCSAqLwotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApIHsKIAkJCWlmIChyZXF1ZXN0LT5vcCA9PSBUT19CU0IgfHwgcmVxdWVzdC0+b3AgPT0gVE9fRlNCKQogCQkJCXJlcXVlc3QtPnJlc2NudCsrOwogCQkJZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNTkwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM1OTAuYwppbmRleCA0MmNlNzkxLi44Mzk5ODc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM1OTAuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM1OTAuYwpAQCAtODM3LDEzICs4MzcsMTMgQEAKIHN0YXRpYyBpbnQKIHRhcGVfMzU5MF91bnNvbGljaXRlZF9pcnEoc3RydWN0IHRhcGVfZGV2aWNlICpkZXZpY2UsIHN0cnVjdCBpcmIgKmlyYikKIHsKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ID09IERFVl9TVEFUX0NITl9FTkQpCisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gREVWX1NUQVRfQ0hOX0VORCkKIAkJLyogUHJvYmFibHkgcmVzdWx0IG9mIGhhbHQgc3NjaCAqLwogCQlyZXR1cm4gVEFQRV9JT19QRU5ESU5HOwotCWVsc2UgaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSAweDg1KQorCWVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gMHg4NSkKIAkJLyogRGV2aWNlIFJlYWR5ICovCiAJCURCRl9FVkVOVCgzLCAidW5zb2wuaXJxISB0YXBlIHJlYWR5OiAlMDh4XG4iLCBkZXZpY2UtPmNkZXZfaWQpOwotCWVsc2UgaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKIAkJdGFwZV8zNTkwX3NjaGVkdWxlX3dvcmsoZGV2aWNlLCBUT19SRUFEX0FUVE1TRyk7CiAJfSBlbHNlIHsKIAkJREJGX0VWRU5UKDMsICJ1bnNvbC5pcnEhIGRldiBlbmQ6ICUwOHhcbiIsIGRldmljZS0+Y2Rldl9pZCk7CkBAIC0xNTE1LDE4ICsxNTE1LDE5IEBACiAJaWYgKHJlcXVlc3QgPT0gTlVMTCkKIAkJcmV0dXJuIHRhcGVfMzU5MF91bnNvbGljaXRlZF9pcnEoZGV2aWNlLCBpcmIpOwogCi0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSAmJgotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgJiYgKHJlcXVlc3QtPm9wID09IFRPX1dSSSkpIHsKKwlpZiAoKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSAmJgorCSAgICAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpICYmCisJICAgIChyZXF1ZXN0LT5vcCA9PSBUT19XUkkpKSB7CiAJCS8qIFdyaXRlIGF0IGVuZCBvZiB2b2x1bWUgKi8KIAkJREJGX0VWRU5UKDIsICJFbmQgb2Ygdm9sdW1lXG4iKTsKIAkJcmV0dXJuIHRhcGVfMzU5MF9lcnBfZmFpbGVkKGRldmljZSwgcmVxdWVzdCwgaXJiLCAtRU5PU1BDKTsKIAl9CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCXJldHVybiB0YXBlXzM1OTBfdW5pdF9jaGVjayhkZXZpY2UsIHJlcXVlc3QsIGlyYik7CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ID09IERFVl9TVEFUX1VOSVRfRVhDRVApIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHsKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gREVWX1NUQVRfVU5JVF9FWENFUCkgewogCQkJaWYgKHJlcXVlc3QtPm9wID09IFRPX0ZTQiB8fCByZXF1ZXN0LT5vcCA9PSBUT19CU0IpCiAJCQkJcmVxdWVzdC0+cmVzY250Kys7CiAJCQllbHNlCkBAIC0xNTM2LDEyICsxNTM3LDEyIEBACiAJCXJldHVybiB0YXBlXzM1OTBfZG9uZShkZXZpY2UsIHJlcXVlc3QpOwogCX0KIAotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSB7CiAJCURCRl9FVkVOVCgyLCAiY2FubmVsIGVuZFxuIik7CiAJCXJldHVybiBUQVBFX0lPX1BFTkRJTkc7CiAJfQogCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCURCRl9FVkVOVCgyLCAiVW5pdCBBdHRlbnRpb24gd2hlbiBidXN5Li5cbiIpOwogCQlyZXR1cm4gVEFQRV9JT19QRU5ESU5HOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY2hhci5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jaGFyLmMKaW5kZXggZWJlODQwNi4uNjg3NzIwYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jaGFyLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jaGFyLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9tdGlvLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKQEAgLTI4OSwyMSArMjkwLDI2IEBACiAJaWYgKGltYWpvcihmaWxwLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKSAhPSB0YXBlY2hhcl9tYWpvcikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gaW1pbm9yKGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOwogCWRldmljZSA9IHRhcGVfZ2V0X2RldmljZShtaW5vciAvIFRBUEVfTUlOT1JTX1BFUl9ERVYpOwogCWlmIChJU19FUlIoZGV2aWNlKSkgewogCQlEQkZfRVZFTlQoMywgIlRDSEFSOm9wZW46IHRhcGVfZ2V0X2RldmljZSgpIGZhaWxlZFxuIik7Ci0JCXJldHVybiBQVFJfRVJSKGRldmljZSk7CisJCXJjID0gUFRSX0VSUihkZXZpY2UpOworCQlnb3RvIG91dDsKIAl9CiAKIAogCXJjID0gdGFwZV9vcGVuKGRldmljZSk7CiAJaWYgKHJjID09IDApIHsKIAkJZmlscC0+cHJpdmF0ZV9kYXRhID0gZGV2aWNlOwotCQlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CisJCXJjID0gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiAJfQotCXRhcGVfcHV0X2RldmljZShkZXZpY2UpOworCWVsc2UKKwkJdGFwZV9wdXRfZGV2aWNlKGRldmljZSk7CiAKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NvcmUuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY29yZS5jCmluZGV4IGMyMGUzYzUuLjE4MWE1NDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY29yZS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY29yZS5jCkBAIC04MzksNyArODM5LDcgQEAKIAogCVBSSU5UX0lORk8oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogCVBSSU5UX0lORk8oIkRTVEFUIDogJTAyeCAgQ1NUQVQ6ICUwMngJQ1BBOiAlMDR4XG4iLAotCQkgICBpcmItPnNjc3cuZHN0YXQsIGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmNwYSk7CisJCSAgIGlyYi0+c2Nzdy5jbWQuZHN0YXQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsIGlyYi0+c2Nzdy5jbWQuY3BhKTsKIAlQUklOVF9JTkZPKCJERVZJQ0U6ICVzXG4iLCBkZXZpY2UtPmNkZXYtPmRldi5idXNfaWQpOwogCWlmIChyZXF1ZXN0ICE9IE5VTEwpCiAJCVBSSU5UX0lORk8oIk9QCSAgOiAlc1xuIiwgdGFwZV9vcF92ZXJib3NlW3JlcXVlc3QtPm9wXSk7CkBAIC04NjcsNyArODY3LDcgQEAKIAllbHNlCiAJCW9wID0gIi0tLSI7CiAJREJGX0VWRU5UKDMsICJEU1RBVCA6ICUwMnggICBDU1RBVDogJTAyeFxuIiwKLQkJICBpcmItPnNjc3cuZHN0YXQsaXJiLT5zY3N3LmNzdGF0KTsKKwkJICBpcmItPnNjc3cuY21kLmRzdGF0LCBpcmItPnNjc3cuY21kLmNzdGF0KTsKIAlEQkZfRVZFTlQoMywgIkRFVklDRTogJTA4eCBPUFx0OiAlc1xuIiwgZGV2aWNlLT5jZGV2X2lkLCBvcCk7CiAJc3B0ciA9ICh1bnNpZ25lZCBpbnQgKikgaXJiLT5lY3c7CiAJREJGX0VWRU5UKDMsICIlMDh4ICUwOHhcbiIsIHNwdHJbMF0sIHNwdHJbMV0pOwpAQCAtMTA4MywxMCArMTA4MywxMSBAQAogCSAqIGVycm9yIG1pZ2h0IHN0aWxsIGFwcGx5LiBTbyB3ZSBqdXN0IHNjaGVkdWxlIHRoZSByZXF1ZXN0IHRvIGJlCiAJICogc3RhcnRlZCBsYXRlci4KIAkgKi8KLQlpZiAoaXJiLT5zY3N3LmNjICE9IDAgJiYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgIT0gMCAmJgorCSAgICAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCiAJICAgIChyZXF1ZXN0LT5zdGF0dXMgPT0gVEFQRV9SRVFVRVNUX0lOX0lPKSkgewogCQlEQkZfRVZFTlQoMywiKCUwOHgpOiBkZWZlcnJlZCBjYz0laSwgZmN0bD0laS4gcmVzdGFydGluZ1xuIiwKLQkJCWRldmljZS0+Y2Rldl9pZCwgaXJiLT5zY3N3LmNjLCBpcmItPnNjc3cuZmN0bCk7CisJCQlkZXZpY2UtPmNkZXZfaWQsIGlyYi0+c2Nzdy5jbWQuY2MsIGlyYi0+c2Nzdy5jbWQuZmN0bCk7CiAJCXJlcXVlc3QtPnN0YXR1cyA9IFRBUEVfUkVRVUVTVF9RVUVVRUQ7CiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmZGV2aWNlLT50YXBlX2RuciwgSFopOwogCQlyZXR1cm47CkBAIC0xMDk0LDggKzEwOTUsOCBAQAogCiAJLyogTWF5IGJlIGFuIHVuc29saWNpdGVkIGlycSAqLwogCWlmKHJlcXVlc3QgIT0gTlVMTCkKLQkJcmVxdWVzdC0+cmVzY250ID0gaXJiLT5zY3N3LmNvdW50OwotCWVsc2UgaWYgKChpcmItPnNjc3cuZHN0YXQgPT0gMHg4NSB8fCBpcmItPnNjc3cuZHN0YXQgPT0gMHg4MCkgJiYKKwkJcmVxdWVzdC0+cmVzY250ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKKwllbHNlIGlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAweDg1IHx8IGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gMHg4MCkgJiYKIAkJICFsaXN0X2VtcHR5KCZkZXZpY2UtPnJlcV9xdWV1ZSkpIHsKIAkJLyogTm90IFJlYWR5IHRvIFJlYWR5IGFmdGVyIGxvbmcgYnVzeSA/ICovCiAJCXN0cnVjdCB0YXBlX3JlcXVlc3QgKnJlcTsKQEAgLTExMTEsNyArMTExMiw3IEBACiAJCQlyZXR1cm47CiAJCX0KIAl9Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAhPSAweDBjKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgIT0gMHgwYykgewogCQkvKiBTZXQgdGhlICdPTkxJTkUnIGZsYWcgZGVwZW5kaW5nIG9uIHNlbnNlIGJ5dGUgMSAqLwogCQlpZigqKCgoX191OCAqKSBpcmItPmVjdykgKyAxKSAmIFNFTlNFX0RSSVZFX09OTElORSkKIAkJCWRldmljZS0+dGFwZV9nZW5lcmljX3N0YXR1cyB8PSBHTVRfT05MSU5FKH4wKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3R0eTMyNzAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3R0eTMyNzAuYwppbmRleCA1MDQzMTUwLi5hN2ZlNjMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci90dHkzMjcwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdHR5MzI3MC5jCkBAIC02NjMsNyArNjYzLDcgQEAKIHR0eTMyNzBfaXJxKHN0cnVjdCB0dHkzMjcwICp0cCwgc3RydWN0IHJhdzMyNzBfcmVxdWVzdCAqcnEsIHN0cnVjdCBpcmIgKmlyYikKIHsKIAkvKiBIYW5kbGUgQVRUTi4gU2NoZWR1bGUgdGFza2xldCB0byByZWFkIGFpZC4gKi8KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKIAkJaWYgKCF0cC0+dGhyb3R0bGUpCiAJCQl0dHkzMjcwX2lzc3VlX3JlYWQodHAsIDApOwogCQllbHNlCkBAIC02NzEsMTEgKzY3MSwxMSBAQAogCX0KIAogCWlmIChycSkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQogCQkJcnEtPnJjID0gLUVJTzsKIAkJZWxzZQogCQkJLyogTm9ybWFsIGVuZC4gQ29weSByZXNpZHVhbCBjb3VudC4gKi8KLQkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY291bnQ7CisJCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKIAl9CiAJcmV0dXJuIFJBVzMyNzBfSU9fRE9ORTsKIH0KQEAgLTE3OTIsMTUgKzE3OTIsMTIgQEAKIAl0dHlfc2V0X29wZXJhdGlvbnMoZHJpdmVyLCAmdHR5MzI3MF9vcHMpOwogCXJldCA9IHR0eV9yZWdpc3Rlcl9kcml2ZXIoZHJpdmVyKTsKIAlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidHR5MzI3MCByZWdpc3RyYXRpb24gZmFpbGVkIHdpdGggJWRcbiIsIHJldCk7CiAJCXB1dF90dHlfZHJpdmVyKGRyaXZlcik7CiAJCXJldHVybiByZXQ7CiAJfQogCXR0eTMyNzBfZHJpdmVyID0gZHJpdmVyOwogCXJldCA9IHJhdzMyNzBfcmVnaXN0ZXJfbm90aWZpZXIodHR5MzI3MF9ub3RpZmllcik7CiAJaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9FUlIgInR0eTMyNzAgbm90aWZpZXIgcmVnaXN0cmF0aW9uIGZhaWxlZCAiCi0JCSAgICAgICAid2l0aCAlZFxuIiwgcmV0KTsKIAkJcHV0X3R0eV9kcml2ZXIoZHJpdmVyKTsKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdm1jcC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdm1jcC5jCmluZGV4IDJmNDE5YjAuLjA5ZTdkOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3ZtY3AuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci92bWNwLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vY3BjbWQuaD4KICNpbmNsdWRlIDxhc20vZGVidWcuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMzksMTEgKzQwLDE0IEBACiAJc2Vzc2lvbiA9IGttYWxsb2Moc2l6ZW9mKCpzZXNzaW9uKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzZXNzaW9uKQogCQlyZXR1cm4gLUVOT01FTTsKKworCWxvY2tfa2VybmVsKCk7CiAJc2Vzc2lvbi0+YnVmc2l6ZSA9IFBBR0VfU0laRTsKIAlzZXNzaW9uLT5yZXNwb25zZSA9IE5VTEw7CiAJc2Vzc2lvbi0+cmVzcF9zaXplID0gMDsKIAltdXRleF9pbml0KCZzZXNzaW9uLT5tdXRleCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gc2Vzc2lvbjsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwogfQogCkBAIC02MSwzMCArNjUsMjQgQEAKIHN0YXRpYyBzc2l6ZV90CiB2bWNwX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICpidWZmLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKIHsKLQlzaXplX3QgdG9jb3B5OworCXNzaXplX3QgcmV0OworCXNpemVfdCBzaXplOwogCXN0cnVjdCB2bWNwX3Nlc3Npb24gKnNlc3Npb247CiAKLQlzZXNzaW9uID0gKHN0cnVjdCB2bWNwX3Nlc3Npb24gKilmaWxlLT5wcml2YXRlX2RhdGE7CisJc2Vzc2lvbiA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZzZXNzaW9uLT5tdXRleCkpCiAJCXJldHVybiAtRVJFU1RBUlRTWVM7CiAJaWYgKCFzZXNzaW9uLT5yZXNwb25zZSkgewogCQltdXRleF91bmxvY2soJnNlc3Npb24tPm11dGV4KTsKIAkJcmV0dXJuIDA7CiAJfQotCWlmICgqcHBvcyA+IHNlc3Npb24tPnJlc3Bfc2l6ZSkgewotCQltdXRleF91bmxvY2soJnNlc3Npb24tPm11dGV4KTsKLQkJcmV0dXJuIDA7Ci0JfQotCXRvY29weSA9IG1pbihzZXNzaW9uLT5yZXNwX3NpemUgLSAoc2l6ZV90KSAoKnBwb3MpLCBjb3VudCk7Ci0JdG9jb3B5ID0gbWluKHRvY29weSwgc2Vzc2lvbi0+YnVmc2l6ZSAtIChzaXplX3QpICgqcHBvcykpOworCXNpemUgPSBtaW5fdChzaXplX3QsIHNlc3Npb24tPnJlc3Bfc2l6ZSwgc2Vzc2lvbi0+YnVmc2l6ZSk7CisJcmV0ID0gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIoYnVmZiwgY291bnQsIHBwb3MsCisJCQkJCXNlc3Npb24tPnJlc3BvbnNlLCBzaXplKTsKIAotCWlmIChjb3B5X3RvX3VzZXIoYnVmZiwgc2Vzc2lvbi0+cmVzcG9uc2UgKyAoKnBwb3MpLCB0b2NvcHkpKSB7Ci0JCW11dGV4X3VubG9jaygmc2Vzc2lvbi0+bXV0ZXgpOwotCQlyZXR1cm4gLUVGQVVMVDsKLQl9CiAJbXV0ZXhfdW5sb2NrKCZzZXNzaW9uLT5tdXRleCk7Ci0JKnBwb3MgKz0gdG9jb3B5OwotCXJldHVybiB0b2NvcHk7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgc3NpemVfdApAQCAtMTk4LDI3ICsxOTYsMjMgQEAKIAkJUFJJTlRfV0FSTigiei9WTSBDUCBpbnRlcmZhY2UgaXMgb25seSBhdmFpbGFibGUgdW5kZXIgei9WTVxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KKwogCXZtY3BfZGVidWcgPSBkZWJ1Z19yZWdpc3Rlcigidm1jcCIsIDEsIDEsIDI0MCk7Ci0JaWYgKCF2bWNwX2RlYnVnKSB7Ci0JCVBSSU5UX0VSUigiei9WTSBDUCBpbnRlcmZhY2Ugbm90IGxvYWRlZC4gQ291bGQgbm90IHJlZ2lzdGVyICIKLQkJCSAgICJkZWJ1ZyBmZWF0dXJlXG4iKTsKKwlpZiAoIXZtY3BfZGVidWcpCiAJCXJldHVybiAtRU5PTUVNOwotCX0KKwogCXJldCA9IGRlYnVnX3JlZ2lzdGVyX3ZpZXcodm1jcF9kZWJ1ZywgJmRlYnVnX2hleF9hc2NpaV92aWV3KTsKIAlpZiAocmV0KSB7Ci0JCVBSSU5UX0VSUigiei9WTSBDUCBpbnRlcmZhY2Ugbm90IGxvYWRlZC4gQ291bGQgbm90IHJlZ2lzdGVyICIKLQkJCSAgImRlYnVnIGZlYXR1cmUgdmlldy4gRXJyb3IgY29kZTogJWRcbiIsIHJldCk7CiAJCWRlYnVnX3VucmVnaXN0ZXIodm1jcF9kZWJ1Zyk7CiAJCXJldHVybiByZXQ7CiAJfQorCiAJcmV0ID0gbWlzY19yZWdpc3Rlcigmdm1jcF9kZXYpOwogCWlmIChyZXQpIHsKLQkJUFJJTlRfRVJSKCJ6L1ZNIENQIGludGVyZmFjZSBub3QgbG9hZGVkLiBDb3VsZCBub3QgcmVnaXN0ZXIgIgotCQkJICAgIm1pc2MgZGV2aWNlLiBFcnJvciBjb2RlOiAlZFxuIiwgcmV0KTsKIAkJZGVidWdfdW5yZWdpc3Rlcih2bWNwX2RlYnVnKTsKIAkJcmV0dXJuIHJldDsKIAl9Ci0JUFJJTlRfSU5GTygiei9WTSBDUCBpbnRlcmZhY2UgbG9hZGVkXG4iKTsKKwogCXJldHVybiAwOwogfQogCkBAIC0yMjYsNyArMjIwLDYgQEAKIHsKIAltaXNjX2RlcmVnaXN0ZXIoJnZtY3BfZGV2KTsKIAlkZWJ1Z191bnJlZ2lzdGVyKHZtY3BfZGVidWcpOwotCVBSSU5UX0lORk8oInovVk0gQ1AgaW50ZXJmYWNlIHVubG9hZGVkLlxuIik7CiB9CiAKIG1vZHVsZV9pbml0KHZtY3BfaW5pdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci92bWxvZ3Jkci5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdm1sb2dyZHIuYwppbmRleCAyYzI0MjhjLi5jMzFmYWVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci92bWxvZ3Jkci5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3ZtbG9ncmRyLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rbW9kLmg+CiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAKIApAQCAtMjE2LDkgKzIxNyw3IEBACiAJY2hhciAqdGFpbDsKIAlpbnQgbGVuLGk7CiAKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiBxdWVyeSBjb21tYW5kOiAlc1xuIiwgY3BfY29tbWFuZCk7CiAJY3BjbWQoY3BfY29tbWFuZCwgY3BfcmVzcG9uc2UsIHNpemVvZihjcF9yZXNwb25zZSksIE5VTEwpOwotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlc3BvbnNlOiAlcyIsIGNwX3Jlc3BvbnNlKTsKIAlsZW4gPSBzdHJubGVuKGNwX3Jlc3BvbnNlLHNpemVvZihjcF9yZXNwb25zZSkpOwogCS8vIG5vdyB0aGUgcGFyc2luZwogCXRhaWw9c3RybmNocihjcF9yZXNwb25zZSxsZW4sJz0nKTsKQEAgLTI2OCwxMSArMjY3LDcgQEAKIAkJCSBsb2dwdHItPnJlY29yZGluZ19uYW1lLAogCQkJIHFpZF9zdHJpbmcpOwogCi0JCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyBjb21tYW5kOiAlc1xuIiwKLQkJCWNwX2NvbW1hbmQpOwogCQljcGNtZChjcF9jb21tYW5kLCBjcF9yZXNwb25zZSwgc2l6ZW9mKGNwX3Jlc3BvbnNlKSwgTlVMTCk7Ci0JCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyByZXNwb25zZTogJXMiLAotCQkJY3BfcmVzcG9uc2UpOwogCX0KIAogCW1lbXNldChjcF9jb21tYW5kLCAweDAwLCBzaXplb2YoY3BfY29tbWFuZCkpOwpAQCAtMjgyLDEwICsyNzcsNyBAQAogCQlvbm9mZiwKIAkJcWlkX3N0cmluZyk7CiAKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZWNvcmRpbmcgY29tbWFuZDogJXNcbiIsIGNwX2NvbW1hbmQpOwogCWNwY21kKGNwX2NvbW1hbmQsIGNwX3Jlc3BvbnNlLCBzaXplb2YoY3BfcmVzcG9uc2UpLCBOVUxMKTsKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZWNvcmRpbmcgcmVzcG9uc2U6ICVzIiwKLQkJY3BfcmVzcG9uc2UpOwogCS8qIFRoZSByZWNvcmRpbmcgY29tbWFuZCB3aWxsIHVzdWFsbHkgYW5zd2VyIHdpdGggJ0NvbW1hbmQgY29tcGxldGUnCiAJICogb24gc3VjY2VzcywgYnV0IHdoZW4gdGhlIHNwZWNpZmljIHNlcnZpY2Ugd2FzIG5ldmVyIGNvbm5lY3RlZAogCSAqIGJlZm9yZSB0aGVuIHRoZXJlIG1pZ2h0IGJlIGFuIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25hbCBtZXNzYWdlCkBAIC0zMTksOSArMzExLDExIEBACiAJCXJldHVybiAtRU5PU1lTOwogCiAJLyogQmVzdXJlIHRoaXMgZGV2aWNlIGhhc24ndCBhbHJlYWR5IGJlZW4gb3BlbmVkICovCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfYmgoJmxvZ3B0ci0+cHJpdl9sb2NrKTsKIAlpZiAobG9ncHRyLT5kZXZfaW5fdXNlKQl7CiAJCXNwaW5fdW5sb2NrX2JoKCZsb2dwdHItPnByaXZfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAJbG9ncHRyLT5kZXZfaW5fdXNlID0gMTsKQEAgLTM2NSw3ICszNTksOSBAQAogCQkgICB8fCAobG9ncHRyLT5pdWN2X3BhdGhfc2V2ZXJlZCkpOwogCWlmIChsb2dwdHItPml1Y3ZfcGF0aF9zZXZlcmVkKQogCQlnb3RvIG91dF9yZWNvcmQ7Ci0gCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKKyAJcmV0ID0gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiAKIG91dF9yZWNvcmQ6CiAJaWYgKGxvZ3B0ci0+YXV0b3JlY29yZGluZykKQEAgLTM3NSw2ICszNzEsNyBAQAogCWxvZ3B0ci0+cGF0aCA9IE5VTEw7CiBvdXRfZGV2OgogCWxvZ3B0ci0+ZGV2X2luX3VzZSA9IDA7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRUlPOwogfQogCkBAIC01NjcsMTAgKzU2NCw3IEBACiAJCQkgIlJFQ09SRElORyAlcyBQVVJHRSAiLAogCQkJIHByaXYtPnJlY29yZGluZ19uYW1lKTsKIAotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyBjb21tYW5kOiAlc1xuIiwgY3BfY29tbWFuZCk7CiAJY3BjbWQoY3BfY29tbWFuZCwgY3BfcmVzcG9uc2UsIHNpemVvZihjcF9yZXNwb25zZSksIE5VTEwpOwotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyByZXNwb25zZTogJXMiLAotCQljcF9yZXNwb25zZSk7CiAKIAlyZXR1cm4gY291bnQ7CiB9CkBAIC02ODIsMjggKzY3NiwyMCBAQAogCiAJLyogUmVnaXN0ZXIgd2l0aCBpdWN2IGRyaXZlciAqLwogCXJldCA9IGl1Y3ZfcmVnaXN0ZXIoJnZtbG9ncmRyX2l1Y3ZfaGFuZGxlciwgMSk7Ci0JaWYgKHJldCkgewotCQlwcmludGsgKEtFUk5fRVJSICJ2bWxvZ3JkcjogZmFpbGVkIHRvIHJlZ2lzdGVyIHdpdGggIgotCQkJIml1Y3YgZHJpdmVyXG4iKTsKKwlpZiAocmV0KQogCQlnb3RvIG91dDsKLQl9CiAKIAlyZXQgPSBkcml2ZXJfcmVnaXN0ZXIoJnZtbG9ncmRyX2RyaXZlcik7Ci0JaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9FUlIgInZtbG9ncmRyOiBmYWlsZWQgdG8gcmVnaXN0ZXIgZHJpdmVyLlxuIik7CisJaWYgKHJldCkKIAkJZ290byBvdXRfaXVjdjsKLQl9CiAKIAlyZXQgPSBkcml2ZXJfY3JlYXRlX2ZpbGUoJnZtbG9ncmRyX2RyaXZlciwKIAkJCQkgJmRyaXZlcl9hdHRyX3JlY29yZGluZ19zdGF0dXMpOwotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ2bWxvZ3JkcjogZmFpbGVkIHRvIGFkZCBkcml2ZXIgYXR0cmlidXRlLlxuIik7CisJaWYgKHJldCkKIAkJZ290byBvdXRfZHJpdmVyOwotCX0KIAogCXZtbG9ncmRyX2NsYXNzID0gY2xhc3NfY3JlYXRlKFRISVNfTU9EVUxFLCAidm1sb2dyZHIiKTsKIAlpZiAoSVNfRVJSKHZtbG9ncmRyX2NsYXNzKSkgewotCQlwcmludGsoS0VSTl9FUlIgInZtbG9ncmRyOiBmYWlsZWQgdG8gY3JlYXRlIGNsYXNzLlxuIik7CiAJCXJldCA9IFBUUl9FUlIodm1sb2dyZHJfY2xhc3MpOwogCQl2bWxvZ3Jkcl9jbGFzcyA9IE5VTEw7CiAJCWdvdG8gb3V0X2F0dHI7CkBAIC04NzEsMTIgKzg1NywxMCBAQAogCXJjID0gdm1sb2dyZHJfcmVnaXN0ZXJfY2RldihkZXYpOwogCWlmIChyYykKIAkJZ290byBjbGVhbnVwOwotCXByaW50ayAoS0VSTl9JTkZPICJ2bWxvZ3JkcjogZHJpdmVyIGxvYWRlZFxuIik7CiAJcmV0dXJuIDA7CiAKIGNsZWFudXA6CiAJdm1sb2dyZHJfY2xlYW51cCgpOwotCXByaW50ayAoS0VSTl9FUlIgInZtbG9ncmRyOiBkcml2ZXIgbm90IGxvYWRlZC5cbiIpOwogCXJldHVybiByYzsKIH0KIApAQCAtODg0LDcgKzg2OCw2IEBACiBzdGF0aWMgdm9pZCBfX2V4aXQgdm1sb2dyZHJfZXhpdCh2b2lkKQogewogCXZtbG9ncmRyX2NsZWFudXAoKTsKLQlwcmludGsgKEtFUk5fSU5GTyAidm1sb2dyZHI6IGRyaXZlciB1bmxvYWRlZFxuIik7CiAJcmV0dXJuOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci92bXVyLmMgYi9kcml2ZXJzL3MzOTAvY2hhci92bXVyLmMKaW5kZXggODNhZTlhOC4uMGE5ZjFjYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdm11ci5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3ZtdXIuYwpAQCAtOSw2ICs5LDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9jaW8uaD4KQEAgLTI3Nyw3ICsyNzgsOCBAQAogCXN0cnVjdCB1cmRldiAqdXJkOwogCiAJVFJBQ0UoInVyX2ludF9oYW5kbGVyOiBpbnRwYXJtPTB4JWx4IGNzdGF0PSUwMnggZHN0YXQ9JTAyeCByZXM9JXVcbiIsCi0JICAgICAgaW50cGFybSwgaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQsIGlyYi0+c2Nzdy5jb3VudCk7CisJICAgICAgaW50cGFybSwgaXJiLT5zY3N3LmNtZC5jc3RhdCwgaXJiLT5zY3N3LmNtZC5kc3RhdCwKKwkgICAgICBpcmItPnNjc3cuY21kLmNvdW50KTsKIAogCWlmICghaW50cGFybSkgewogCQlUUkFDRSgidXJfaW50X2hhbmRsZXI6IHVuc29saWNpdGVkIGludGVycnVwdFxuIik7CkBAIC0yODgsNyArMjkwLDcgQEAKIAkvKiBPbiBzcGVjaWFsIGNvbmRpdGlvbnMgaXJiIGlzIGFuIGVycm9yIHBvaW50ZXIgKi8KIAlpZiAoSVNfRVJSKGlyYikpCiAJCXVyZC0+aW9fcmVxdWVzdF9yYyA9IFBUUl9FUlIoaXJiKTsKLQllbHNlIGlmIChpcmItPnNjc3cuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EKSkKKwllbHNlIGlmIChpcmItPnNjc3cuY21kLmRzdGF0ID09IChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCkpCiAJCXVyZC0+aW9fcmVxdWVzdF9yYyA9IDA7CiAJZWxzZQogCQl1cmQtPmlvX3JlcXVlc3RfcmMgPSAtRUlPOwpAQCAtNjY4LDcgKzY3MCw3IEBACiAKIAlpZiAoYWNjbW9kZSA9PSBPX1JEV1IpCiAJCXJldHVybiAtRUFDQ0VTOwotCisJbG9ja19rZXJuZWwoKTsKIAkvKgogCSAqIFdlIHRyZWF0IHRoZSBtaW5vciBudW1iZXIgYXMgdGhlIGRldm5vIG9mIHRoZSB1ciBkZXZpY2UKIAkgKiB0byBmaW5kIGluIHRoZSBkcml2ZXIgdHJlZS4KQEAgLTY3Niw4ICs2NzgsMTAgQEAKIAlkZXZubyA9IE1JTk9SKGZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX3JkZXYpOwogCiAJdXJkID0gdXJkZXZfZ2V0X2Zyb21fZGV2bm8oZGV2bm8pOwotCWlmICghdXJkKQotCQlyZXR1cm4gLUVOWElPOworCWlmICghdXJkKSB7CisJCXJjID0gLUVOWElPOworCQlnb3RvIG91dDsKKwl9CiAKIAlzcGluX2xvY2soJnVyZC0+b3Blbl9sb2NrKTsKIAl3aGlsZSAodXJkLT5vcGVuX2ZsYWcpIHsKQEAgLTcyMCw2ICs3MjQsNyBAQAogCQlnb3RvIGZhaWxfdXJmaWxlX2ZyZWU7CiAJdXJmLT5maWxlX3JlY2xlbiA9IHJjOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHVyZjsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIGZhaWxfdXJmaWxlX2ZyZWU6CkBAIC03MzAsNiArNzM1LDggQEAKIAlzcGluX3VubG9jaygmdXJkLT5vcGVuX2xvY2spOwogZmFpbF9wdXQ6CiAJdXJkZXZfcHV0KHVyZCk7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdm13YXRjaGRvZy5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdm13YXRjaGRvZy5jCmluZGV4IDE5ZjgzODkuLjIxYTJhODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3Ztd2F0Y2hkb2cuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci92bXdhdGNoZG9nLmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L3dhdGNoZG9nLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9lYmNkaWMuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTkyLDIzICs5MywxNSBAQAogCiAJZnVuYyA9IHZtd2R0X2NvbmNlYWwgPyAod2R0X2luaXQgfCB3ZHRfY29uY2VhbCkgOiB3ZHRfaW5pdDsKIAlyZXQgPSBfX2RpYWcyODgoZnVuYywgdm13ZHRfaW50ZXJ2YWwsIGViY19jbWQsIGxlbik7CisJV0FSTl9PTihyZXQgIT0gMCk7CiAJa2ZyZWUoZWJjX2NtZCk7Ci0KLQlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBwcm9ibGVtIHNldHRpbmcgaW50ZXJ2YWwgJWQsICIKLQkJCSJjbWQgJXNcbiIsIF9fZnVuY19fLCB2bXdkdF9pbnRlcnZhbCwKLQkJCXZtd2R0X2NtZCk7Ci0JfQogCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgdm13ZHRfZGlzYWJsZSh2b2lkKQogewogCWludCByZXQgPSBfX2RpYWcyODgod2R0X2NhbmNlbCwgMCwgIiIsIDApOwotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiJXM6IHByb2JsZW0gZGlzYWJsaW5nIHdhdGNoZG9nXG4iLAotCQkJX19mdW5jX18pOwotCX0KKwlXQVJOX09OKHJldCAhPSAwKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMjEsMjEgKzExNCwyMyBAQAogCXN0YXRpYyBjaGFyIF9faW5pdGRhdGEgZWJjX2JlZ2luW10gPSB7CiAJCTE5NCwgMTk3LCAxOTksIDIwMSwgMjEzCiAJfTsKLQlpZiAoX19kaWFnMjg4KHdkdF9pbml0LCAxNSwgZWJjX2JlZ2luLCBzaXplb2YoZWJjX2JlZ2luKSkgIT0gMCkgewotCQlwcmludGsoS0VSTl9JTkZPICJ6L1ZNIHdhdGNoZG9nIG5vdCBhdmFpbGFibGVcbiIpOworCWlmIChfX2RpYWcyODgod2R0X2luaXQsIDE1LCBlYmNfYmVnaW4sIHNpemVvZihlYmNfYmVnaW4pKSAhPSAwKQogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAJcmV0dXJuIHZtd2R0X2Rpc2FibGUoKTsKIH0KIAogc3RhdGljIGludCB2bXdkdF9vcGVuKHN0cnVjdCBpbm9kZSAqaSwgc3RydWN0IGZpbGUgKmYpCiB7CiAJaW50IHJldDsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmdm13ZHRfaXNfb3BlbikpCisJbG9ja19rZXJuZWwoKTsKKwlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmdm13ZHRfaXNfb3BlbikpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAlyZXQgPSB2bXdkdF9rZWVwYWxpdmUoKTsKIAlpZiAocmV0KQogCQljbGVhcl9iaXQoMCwgJnZtd2R0X2lzX29wZW4pOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0ID8gcmV0IDogbm9uc2Vla2FibGVfb3BlbihpLCBmKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvemNvcmUuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3pjb3JlLmMKaW5kZXggYmJiZDE0ZS4uMDQ3ZGQ5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvemNvcmUuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci96Y29yZS5jCkBAIC0yMjMsMTIgKzIyMywxMCBAQAogCS8qIGdldCBpbmZvIGZvciBib290IGNwdSBmcm9tIGxvd2NvcmUsIHN0b3JlZCBpbiB0aGUgSFNBICovCiAKIAlzYSA9IGttYWxsb2Moc2l6ZW9mKCpzYSksIEdGUF9LRVJORUwpOwotCWlmICghc2EpIHsKLQkJRVJST1JfTVNHKCJrbWFsbG9jIGZhaWxlZDogJXM6ICVpXG4iLF9fZnVuY19fLCBfX0xJTkVfXyk7CisJaWYgKCFzYSkKIAkJcmV0dXJuIC1FTk9NRU07Ci0JfQogCWlmIChtZW1jcHlfaHNhX2tlcm5lbChzYSwgc3lzX2luZm8uc2FfYmFzZSwgc3lzX2luZm8uc2Ffc2l6ZSkgPCAwKSB7Ci0JCUVSUk9SX01TRygiY291bGQgbm90IGNvcHkgZnJvbSBIU0FcbiIpOworCQlUUkFDRSgiY291bGQgbm90IGNvcHkgZnJvbSBIU0FcbiIpOwogCQlrZnJlZShzYSk7CiAJCXJldHVybiAtRUlPOwogCX0KQEAgLTUxMSw2ICs1MDksOCBAQAogICovCiBzdGF0aWMgaW50IF9faW5pdCBzeXNfaW5mb19pbml0KGVudW0gYXJjaF9pZCBhcmNoKQogeworCWludCByYzsKKwogCXN3aXRjaCAoYXJjaCkgewogCWNhc2UgQVJDSF9TMzkwWDoKIAkJTVNHKCJERVRFQ1RFRCAnUzM5MFggKDY0IGJpdCkgT1MnXG4iKTsKQEAgLTUyOSwxMCArNTI5LDkgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCXN5c19pbmZvLmFyY2ggPSBhcmNoOwotCWlmIChpbml0X2NwdV9pbmZvKGFyY2gpKSB7Ci0JCUVSUk9SX01TRygiZ2V0IGNwdSBpbmZvIGZhaWxlZFxuIik7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KKwlyYyA9IGluaXRfY3B1X2luZm8oYXJjaCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CiAJc3lzX2luZm8ubWVtX3NpemUgPSByZWFsX21lbW9yeV9zaXplOwogCiAJcmV0dXJuIDA7CkBAIC01NDQsMTIgKzU0MywxMiBAQAogCiAJcmMgPSBzY2xwX3NkaWFzX2Jsa19jb3VudCgpOwogCWlmIChyYyA8IDApIHsKLQkJRVJST1JfTVNHKCJDb3VsZCBub3QgZGV0ZXJtaW5lIEhTQSBzaXplXG4iKTsKKwkJVFJBQ0UoIkNvdWxkIG5vdCBkZXRlcm1pbmUgSFNBIHNpemVcbiIpOwogCQlyZXR1cm4gcmM7CiAJfQogCWFjdF9oc2Ffc2l6ZSA9IChyYyAtIDEpICogUEFHRV9TSVpFOwogCWlmIChhY3RfaHNhX3NpemUgPCBaRkNQRFVNUF9IU0FfU0laRSkgewotCQlFUlJPUl9NU0coIkhTQSBzaXplIHRvbyBzbWFsbDogJWlcbiIsIGFjdF9oc2Ffc2l6ZSk7CisJCVRSQUNFKCJIU0Egc2l6ZSB0b28gc21hbGw6ICVpXG4iLCBhY3RfaHNhX3NpemUpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJcmV0dXJuIDA7CkBAIC01OTAsMTYgKzU4OSwxMiBAQAogCQlnb3RvIGZhaWw7CiAKIAlyYyA9IGNoZWNrX3NkaWFzKCk7Ci0JaWYgKHJjKSB7Ci0JCUVSUk9SX01TRygiRHVtcCBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiIpOworCWlmIChyYykKIAkJZ290byBmYWlsOwotCX0KIAogCXJjID0gbWVtY3B5X2hzYV9rZXJuZWwoJmFyY2gsIF9fTENfQVJfTU9ERV9JRCwgMSk7Ci0JaWYgKHJjKSB7Ci0JCUVSUk9SX01TRygic2RpYWwgbWVtY3B5IGZvciBhcmNoIGlkIGZhaWxlZFxuIik7CisJaWYgKHJjKQogCQlnb3RvIGZhaWw7Ci0JfQogCiAjaWZuZGVmIF9fczM5MHhfXwogCWlmIChhcmNoID09IEFSQ0hfUzM5MFgpIHsKQEAgLTYxMCwxMCArNjA1LDggQEAKICNlbmRpZgogCiAJcmMgPSBzeXNfaW5mb19pbml0KGFyY2gpOwotCWlmIChyYykgewotCQlFUlJPUl9NU0coImFyY2ggaW5pdCBmYWlsZWRcbiIpOworCWlmIChyYykKIAkJZ290byBmYWlsOwotCX0KIAogCXpjb3JlX2hlYWRlcl9pbml0KGFyY2gsICZ6Y29yZV9oZWFkZXIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL01ha2VmaWxlIGIvZHJpdmVycy9zMzkwL2Npby9NYWtlZmlsZQppbmRleCBjZmFmNzdiLi45MWU5ZTNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vTWFrZWZpbGUKQEAgLTIsOSArMiwxMSBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIFMvMzkwIGNvbW1vbiBpL28gZHJpdmVycwogIwogCi1vYmoteSArPSBhaXJxLm8gYmxhY2tsaXN0Lm8gY2hzYy5vIGNpby5vIGNzcy5vIGNocC5vIGlkc2V0Lm8KK29iai15ICs9IGFpcnEubyBibGFja2xpc3QubyBjaHNjLm8gY2lvLm8gY3NzLm8gY2hwLm8gaWRzZXQubyBpc2MubyBzY3N3Lm8gXAorCWZjeC5vIGl0Y3cubwogY2N3X2RldmljZS1vYmpzICs9IGRldmljZS5vIGRldmljZV9mc20ubyBkZXZpY2Vfb3BzLm8KIGNjd19kZXZpY2Utb2JqcyArPSBkZXZpY2VfaWQubyBkZXZpY2VfcGdpZC5vIGRldmljZV9zdGF0dXMubwogb2JqLXkgKz0gY2N3X2RldmljZS5vIGNtZi5vCitvYmotJChDT05GSUdfQ0hTQ19TQ0gpICs9IGNoc2Nfc2NoLm8KIG9iai0kKENPTkZJR19DQ1dHUk9VUCkgKz0gY2N3Z3JvdXAubwogb2JqLSQoQ09ORklHX1FESU8pICs9IHFkaW8ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9haXJxLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2FpcnEuYwppbmRleCBiN2EwN2E4Li5mZTZjZWExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2FpcnEuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2FpcnEuYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAKICNpbmNsdWRlIDxhc20vYWlycS5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KIAogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgpAQCAtMzMsMTUgKzM0LDE1IEBACiAJdm9pZCAqZHJ2X2RhdGE7CiB9OwogCi1zdGF0aWMgdW5pb24gaW5kaWNhdG9yX3QgaW5kaWNhdG9yczsKLXN0YXRpYyBzdHJ1Y3QgYWlycV90ICphaXJxc1tOUl9BSVJRU107CitzdGF0aWMgdW5pb24gaW5kaWNhdG9yX3QgaW5kaWNhdG9yc1tNQVhfSVNDXTsKK3N0YXRpYyBzdHJ1Y3QgYWlycV90ICphaXJxc1tNQVhfSVNDXVtOUl9BSVJRU107CiAKLXN0YXRpYyBpbnQgcmVnaXN0ZXJfYWlycShzdHJ1Y3QgYWlycV90ICphaXJxKQorc3RhdGljIGludCByZWdpc3Rlcl9haXJxKHN0cnVjdCBhaXJxX3QgKmFpcnEsIHU4IGlzYykKIHsKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBOUl9BSVJRUzsgaSsrKQotCQlpZiAoIWNtcHhjaGcoJmFpcnFzW2ldLCBOVUxMLCBhaXJxKSkKKwkJaWYgKCFjbXB4Y2hnKCZhaXJxc1tpc2NdW2ldLCBOVUxMLCBhaXJxKSkKIAkJCXJldHVybiBpOwogCXJldHVybiAtRU5PTUVNOwogfQpAQCAtNTAsMTggKzUxLDIxIEBACiAgKiBzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KCkgLSByZWdpc3RlciBhZGFwdGVyIGludGVycnVwdCBoYW5kbGVyCiAgKiBAaGFuZGxlcjogYWRhcHRlciBoYW5kbGVyIHRvIGJlIHJlZ2lzdGVyZWQKICAqIEBkcnZfZGF0YTogZHJpdmVyIGRhdGEgcGFzc2VkIHdpdGggZWFjaCBjYWxsIHRvIHRoZSBoYW5kbGVyCisgKiBAaXNjOiBpc2MgZm9yIHdoaWNoIHRoZSBoYW5kbGVyIHNob3VsZCBiZSBjYWxsZWQKICAqCiAgKiBSZXR1cm5zOgogICogIFBvaW50ZXIgdG8gdGhlIGluZGljYXRvciB0byBiZSB1c2VkIG9uIHN1Y2Nlc3MKICAqICBFUlJfUFRSKCkgaWYgcmVnaXN0cmF0aW9uIGZhaWxlZAogICovCiB2b2lkICpzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KGFkYXB0ZXJfaW50X2hhbmRsZXJfdCBoYW5kbGVyLAotCQkJCSAgICAgIHZvaWQgKmRydl9kYXRhKQorCQkJCSAgICAgIHZvaWQgKmRydl9kYXRhLCB1OCBpc2MpCiB7CiAJc3RydWN0IGFpcnFfdCAqYWlycTsKIAljaGFyIGRiZl90eHRbMTZdOwogCWludCByZXQ7CiAKKwlpZiAoaXNjID4gTUFYX0lTQykKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAJYWlycSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhaXJxX3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWFpcnEpIHsKIAkJcmV0ID0gLUVOT01FTTsKQEAgLTY5LDM0ICs3MywzNSBAQAogCX0KIAlhaXJxLT5oYW5kbGVyID0gaGFuZGxlcjsKIAlhaXJxLT5kcnZfZGF0YSA9IGRydl9kYXRhOwotCXJldCA9IHJlZ2lzdGVyX2FpcnEoYWlycSk7Ci0JaWYgKHJldCA8IDApCi0JCWtmcmVlKGFpcnEpOworCisJcmV0ID0gcmVnaXN0ZXJfYWlycShhaXJxLCBpc2MpOwogb3V0OgogCXNucHJpbnRmKGRiZl90eHQsIHNpemVvZihkYmZfdHh0KSwgInJhaXJxOiVkIiwgcmV0KTsKIAlDSU9fVFJBQ0VfRVZFTlQoNCwgZGJmX3R4dCk7Ci0JaWYgKHJldCA8IDApCisJaWYgKHJldCA8IDApIHsKKwkJa2ZyZWUoYWlycSk7CiAJCXJldHVybiBFUlJfUFRSKHJldCk7Ci0JZWxzZQotCQlyZXR1cm4gJmluZGljYXRvcnMuYnl0ZVtyZXRdOworCX0gZWxzZQorCQlyZXR1cm4gJmluZGljYXRvcnNbaXNjXS5ieXRlW3JldF07CiB9CiBFWFBPUlRfU1lNQk9MKHMzOTBfcmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQpOwogCiAvKioKICAqIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCAtIHVucmVnaXN0ZXIgYWRhcHRlciBpbnRlcnJ1cHQgaGFuZGxlcgogICogQGluZDogaW5kaWNhdG9yIGZvciB3aGljaCB0aGUgaGFuZGxlciBpcyB0byBiZSB1bnJlZ2lzdGVyZWQKKyAqIEBpc2M6IGludGVycnVwdGlvbiBzdWJjbGFzcwogICovCi12b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICppbmQpCit2b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICppbmQsIHU4IGlzYykKIHsKIAlzdHJ1Y3QgYWlycV90ICphaXJxOwogCWNoYXIgZGJmX3R4dFsxNl07CiAJaW50IGk7CiAKLQlpID0gKGludCkgKChhZGRyX3QpIGluZCkgLSAoKGFkZHJfdCkgJmluZGljYXRvcnMuYnl0ZVswXSk7CisJaSA9IChpbnQpICgoYWRkcl90KSBpbmQpIC0gKChhZGRyX3QpICZpbmRpY2F0b3JzW2lzY10uYnl0ZVswXSk7CiAJc25wcmludGYoZGJmX3R4dCwgc2l6ZW9mKGRiZl90eHQpLCAidXJhaXJxOiVkIiwgaSk7CiAJQ0lPX1RSQUNFX0VWRU5UKDQsIGRiZl90eHQpOwotCWluZGljYXRvcnMuYnl0ZVtpXSA9IDA7Ci0JYWlycSA9IHhjaGcoJmFpcnFzW2ldLCBOVUxMKTsKKwlpbmRpY2F0b3JzW2lzY10uYnl0ZVtpXSA9IDA7CisJYWlycSA9IHhjaGcoJmFpcnFzW2lzY11baV0sIE5VTEwpOwogCS8qCiAJICogQWxsb3cgaW50ZXJydXB0cyB0byBjb21wbGV0ZS4gVGhpcyB3aWxsIGVuc3VyZSB0aGF0IHRoZSBhaXJxIGhhbmRsZQogCSAqIGlzIG5vIGxvbmdlciByZWZlcmVuY2VkIGJ5IGFueSBpbnRlcnJ1cHQgaGFuZGxlci4KQEAgLTEwOCw3ICsxMTMsNyBAQAogCiAjZGVmaW5lIElORElDQVRPUl9NQVNLCSgweGZmVUwgPDwgKChOUl9BSVJRU19QRVJfV09SRCAtIDEpICogOCkpCiAKLXZvaWQgZG9fYWRhcHRlcl9JTyh2b2lkKQordm9pZCBkb19hZGFwdGVyX0lPKHU4IGlzYykKIHsKIAlpbnQgdzsKIAlpbnQgaTsKQEAgLTEyMCwyMiArMTI1LDIyIEBACiAJICogZmV0Y2ggb3BlcmF0aW9ucy4KIAkgKi8KIAlmb3IgKHcgPSAwOyB3IDwgTlJfQUlSUV9XT1JEUzsgdysrKSB7Ci0JCXdvcmQgPSBpbmRpY2F0b3JzLndvcmRbd107CisJCXdvcmQgPSBpbmRpY2F0b3JzW2lzY10ud29yZFt3XTsKIAkJaSA9IHcgKiBOUl9BSVJRU19QRVJfV09SRDsKIAkJLyoKIAkJICogQ2hlY2sgYnl0ZXMgd2l0aGluIHdvcmQgZm9yIGFjdGl2ZSBpbmRpY2F0b3JzLgogCQkgKi8KIAkJd2hpbGUgKHdvcmQpIHsKIAkJCWlmICh3b3JkICYgSU5ESUNBVE9SX01BU0spIHsKLQkJCQlhaXJxID0gYWlycXNbaV07CisJCQkJYWlycSA9IGFpcnFzW2lzY11baV07CiAJCQkJaWYgKGxpa2VseShhaXJxKSkKLQkJCQkJYWlycS0+aGFuZGxlcigmaW5kaWNhdG9ycy5ieXRlW2ldLAorCQkJCQlhaXJxLT5oYW5kbGVyKCZpbmRpY2F0b3JzW2lzY10uYnl0ZVtpXSwKIAkJCQkJCSAgICAgIGFpcnEtPmRydl9kYXRhKTsKIAkJCQllbHNlCiAJCQkJCS8qCiAJCQkJCSAqIFJlc2V0IGlsbC1iZWhhdmVkIGluZGljYXRvci4KIAkJCQkJICovCi0JCQkJCWluZGljYXRvcnMuYnl0ZVtpXSA9IDA7CisJCQkJCWluZGljYXRvcnNbaXNjXS5ieXRlW2ldID0gMDsKIAkJCX0KIAkJCXdvcmQgPDw9IDg7CiAJCQlpKys7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2NocC5jIGIvZHJpdmVycy9zMzkwL2Npby9jaHAuYwppbmRleCAyOTdjZGNlLi5kYjAwYjA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2NocC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hwLmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KICNpbmNsdWRlIDxhc20vc2NscC5oPgogCisjaW5jbHVkZSAiLi4vczM5MG1hY2guaCIKICNpbmNsdWRlICJjaW8uaCIKICNpbmNsdWRlICJjc3MuaCIKICNpbmNsdWRlICJpb2FzbS5oIgpAQCAtOTQsNiArOTUsNyBAQAogCX0KIAlyZXR1cm4gb3BtOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoY2hwX2dldF9zY2hfb3BtKTsKIAogLyoqCiAgKiBjaHBfaXNfcmVnaXN0ZXJlZCAtIGNoZWNrIGlmIGEgY2hhbm5lbC1wYXRoIGlzIHJlZ2lzdGVyZWQKQEAgLTEyMSwxMSArMTIzLDggQEAKIAlDSU9fVFJBQ0VfRVZFTlQoMiwgZGJmX3RleHQpOwogCiAJc3RhdHVzID0gY2hwX2dldF9zdGF0dXMoY2hwaWQpOwotCWlmICghb24gJiYgIXN0YXR1cykgewotCQlwcmludGsoS0VSTl9FUlIgImNpbzogY2hwaWQgJXguJTAyeCBpcyBhbHJlYWR5IG9mZmxpbmVcbiIsCi0JCSAgICAgICBjaHBpZC5jc3NpZCwgY2hwaWQuaWQpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9CisJaWYgKCFvbiAmJiAhc3RhdHVzKQorCQlyZXR1cm4gMDsKIAogCXNldF9jaHBfbG9naWNhbGx5X29ubGluZShjaHBpZCwgb24pOwogCWNoc2NfY2hwX3ZhcnkoY2hwaWQsIG9uKTsKQEAgLTE0MSwyMSArMTQwLDE0IEBACiB7CiAJc3RydWN0IGNoYW5uZWxfcGF0aCAqY2hwOwogCXN0cnVjdCBkZXZpY2UgKmRldmljZTsKLQl1bnNpZ25lZCBpbnQgc2l6ZTsKIAogCWRldmljZSA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgZGV2aWNlLCBrb2JqKTsKIAljaHAgPSB0b19jaGFubmVscGF0aChkZXZpY2UpOwogCWlmICghY2hwLT5jbWdfY2hhcnMpCiAJCXJldHVybiAwOwogCi0Jc2l6ZSA9IHNpemVvZihzdHJ1Y3QgY21nX2NoYXJzKTsKLQotCWlmIChvZmYgPiBzaXplKQotCQlyZXR1cm4gMDsKLQlpZiAob2ZmICsgY291bnQgPiBzaXplKQotCQljb3VudCA9IHNpemUgLSBvZmY7Ci0JbWVtY3B5KGJ1ZiwgY2hwLT5jbWdfY2hhcnMgKyBvZmYsIGNvdW50KTsKLQlyZXR1cm4gY291bnQ7CisJcmV0dXJuIG1lbW9yeV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZiwgY291bnQsICZvZmYsCisJCQkJY2hwLT5jbWdfY2hhcnMsIHNpemVvZihzdHJ1Y3QgY21nX2NoYXJzKSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSBjaHBfbWVhc3VyZW1lbnRfY2hhcnNfYXR0ciA9IHsKQEAgLTQwNSw3ICszOTcsNyBAQAogCQkgY2hwaWQuaWQpOwogCiAJLyogT2J0YWluIGNoYW5uZWwgcGF0aCBkZXNjcmlwdGlvbiBhbmQgZmlsbCBpdCBpbi4gKi8KLQlyZXQgPSBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzY3JpcHRpb24oY2hwaWQsICZjaHAtPmRlc2MpOworCXJldCA9IGNoc2NfZGV0ZXJtaW5lX2Jhc2VfY2hhbm5lbF9wYXRoX2Rlc2MoY2hwaWQsICZjaHAtPmRlc2MpOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0X2ZyZWU7CiAJaWYgKChjaHAtPmRlc2MuZmxhZ3MgJiAweDgwKSA9PSAwKSB7CkBAIC00MTMsOCArNDA1LDcgQEAKIAkJZ290byBvdXRfZnJlZTsKIAl9CiAJLyogR2V0IGNoYW5uZWwtbWVhc3VyZW1lbnQgY2hhcmFjdGVyaXN0aWNzLiAqLwotCWlmIChjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsICYmIGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zY21jCi0JICAgICYmIGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zZWNtKSB7CisJaWYgKGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zY21jICYmIGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zZWNtKSB7CiAJCXJldCA9IGNoc2NfZ2V0X2NoYW5uZWxfbWVhc3VyZW1lbnRfY2hhcnMoY2hwKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gb3V0X2ZyZWU7CkBAIC00NzYsMjYgKzQ2Nyw3NCBAQAogCiAvKioKICAqIGNocF9wcm9jZXNzX2NydyAtIHByb2Nlc3MgY2hhbm5lbC1wYXRoIHN0YXR1cyBjaGFuZ2UKLSAqIEBpZDogY2hhbm5lbC1wYXRoIElEIG51bWJlcgotICogQHN0YXR1czogbm9uLXplcm8gaWYgY2hhbm5lbC1wYXRoIGhhcyBiZWNvbWUgYXZhaWxhYmxlLCB6ZXJvIG90aGVyd2lzZQorICogQGNydzA6IGNoYW5uZWwgcmVwb3J0LXdvcmQgdG8gaGFuZGxlcgorICogQGNydzE6IHNlY29uZCBjaGFubmVsLXJlcG9ydCB3b3JkIChhbHdheXMgTlVMTCkKKyAqIEBvdmVyZmxvdzogY3J3IG92ZXJmbG93IGluZGljYXRpb24KICAqCiAgKiBIYW5kbGUgY2hhbm5lbC1yZXBvcnQtd29yZHMgaW5kaWNhdGluZyB0aGF0IHRoZSBzdGF0dXMgb2YgYSBjaGFubmVsLXBhdGgKICAqIGhhcyBjaGFuZ2VkLgogICovCi12b2lkIGNocF9wcm9jZXNzX2NydyhpbnQgaWQsIGludCBzdGF0dXMpCitzdGF0aWMgdm9pZCBjaHBfcHJvY2Vzc19jcncoc3RydWN0IGNydyAqY3J3MCwgc3RydWN0IGNydyAqY3J3MSwKKwkJCSAgICBpbnQgb3ZlcmZsb3cpCiB7CiAJc3RydWN0IGNocF9pZCBjaHBpZDsKIAorCWlmIChvdmVyZmxvdykgeworCQljc3Nfc2NoZWR1bGVfZXZhbF9hbGwoKTsKKwkJcmV0dXJuOworCX0KKwlDSU9fQ1JXX0VWRU5UKDIsICJDUlcgcmVwb3J0cyBzbGN0PSVkLCBvZmx3PSVkLCAiCisJCSAgICAgICJjaG49JWQsIHJzYz0lWCwgYW5jPSVkLCBlcmM9JVgsIHJzaWQ9JVhcbiIsCisJCSAgICAgIGNydzAtPnNsY3QsIGNydzAtPm9mbHcsIGNydzAtPmNobiwgY3J3MC0+cnNjLCBjcncwLT5hbmMsCisJCSAgICAgIGNydzAtPmVyYywgY3J3MC0+cnNpZCk7CisJLyoKKwkgKiBDaGVjayBmb3Igc29saWNpdGVkIG1hY2hpbmUgY2hlY2tzLiBUaGVzZSBhcmUKKwkgKiBjcmVhdGVkIGJ5IHJlc2V0IGNoYW5uZWwgcGF0aCBhbmQgbmVlZCBub3QgYmUKKwkgKiBoYW5kbGVkIGhlcmUuCisJICovCisJaWYgKGNydzAtPnNsY3QpIHsKKwkJQ0lPX0NSV19FVkVOVCgyLCAic29saWNpdGVkIG1hY2hpbmUgY2hlY2sgZm9yICIKKwkJCSAgICAgICJjaGFubmVsIHBhdGggJTAyWFxuIiwgY3J3MC0+cnNpZCk7CisJCXJldHVybjsKKwl9CiAJY2hwX2lkX2luaXQoJmNocGlkKTsKLQljaHBpZC5pZCA9IGlkOwotCWlmIChzdGF0dXMpIHsKKwljaHBpZC5pZCA9IGNydzAtPnJzaWQ7CisJc3dpdGNoIChjcncwLT5lcmMpIHsKKwljYXNlIENSV19FUkNfSVBBUk06IC8qIFBhdGggaGFzIGNvbWUuICovCiAJCWlmICghY2hwX2lzX3JlZ2lzdGVyZWQoY2hwaWQpKQogCQkJY2hwX25ldyhjaHBpZCk7CiAJCWNoc2NfY2hwX29ubGluZShjaHBpZCk7Ci0JfSBlbHNlCisJCWJyZWFrOworCWNhc2UgQ1JXX0VSQ19QRVJSSTogLyogUGF0aCBoYXMgZ29uZS4gKi8KKwljYXNlIENSV19FUkNfUEVSUk46CiAJCWNoc2NfY2hwX29mZmxpbmUoY2hwaWQpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlDSU9fQ1JXX0VWRU5UKDIsICJEb24ndCBrbm93IGhvdyB0byBoYW5kbGUgZXJjPSV4XG4iLAorCQkJICAgICAgY3J3MC0+ZXJjKTsKKwl9CiB9CiAKK2ludCBjaHBfc3NkX2dldF9tYXNrKHN0cnVjdCBjaHNjX3NzZF9pbmZvICpzc2QsIHN0cnVjdCBjaHBfbGluayAqbGluaykKK3sKKwlpbnQgaTsKKwlpbnQgbWFzazsKKworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKwkJbWFzayA9IDB4ODAgPj4gaTsKKwkJaWYgKCEoc3NkLT5wYXRoX21hc2sgJiBtYXNrKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoIWNocF9pZF9pc19lcXVhbCgmc3NkLT5jaHBpZFtpXSwgJmxpbmstPmNocGlkKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoKHNzZC0+ZmxhX3ZhbGlkX21hc2sgJiBtYXNrKSAmJgorCQkgICAgKChzc2QtPmZsYVtpXSAmIGxpbmstPmZsYV9tYXNrKSAhPSBsaW5rLT5mbGEpKQorCQkJY29udGludWU7CisJCXJldHVybiBtYXNrOworCX0KKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNocF9zc2RfZ2V0X21hc2spOworCiBzdGF0aWMgaW5saW5lIGludCBpbmZvX2JpdF9udW0oc3RydWN0IGNocF9pZCBpZCkKIHsKIAlyZXR1cm4gaWQuaWQgKyBpZC5jc3NpZCAqIChfX01BWF9DSFBJRCArIDEpOwpAQCAtNTc1LDYgKzYxNCw3IEBACiB7CiAJc3RydWN0IGNocF9pZCBjaHBpZDsKIAllbnVtIGNmZ190YXNrX3QgdDsKKwlpbnQgcmM7CiAKIAltdXRleF9sb2NrKCZjZmdfbG9jayk7CiAJdCA9IGNmZ19ub25lOwpAQCAtNTg5LDE0ICs2MjksMjQgQEAKIAogCXN3aXRjaCAodCkgewogCWNhc2UgY2ZnX2NvbmZpZ3VyZToKLQkJc2NscF9jaHBfY29uZmlndXJlKGNocGlkKTsKLQkJaW5mb19leHBpcmUoKTsKLQkJY2hzY19jaHBfb25saW5lKGNocGlkKTsKKwkJcmMgPSBzY2xwX2NocF9jb25maWd1cmUoY2hwaWQpOworCQlpZiAocmMpCisJCQlDSU9fTVNHX0VWRU5UKDIsICJjaHA6IHNjbHBfY2hwX2NvbmZpZ3VyZSgleC4lMDJ4KT0iCisJCQkJICAgICAgIiVkXG4iLCBjaHBpZC5jc3NpZCwgY2hwaWQuaWQsIHJjKTsKKwkJZWxzZSB7CisJCQlpbmZvX2V4cGlyZSgpOworCQkJY2hzY19jaHBfb25saW5lKGNocGlkKTsKKwkJfQogCQlicmVhazsKIAljYXNlIGNmZ19kZWNvbmZpZ3VyZToKLQkJc2NscF9jaHBfZGVjb25maWd1cmUoY2hwaWQpOwotCQlpbmZvX2V4cGlyZSgpOwotCQljaHNjX2NocF9vZmZsaW5lKGNocGlkKTsKKwkJcmMgPSBzY2xwX2NocF9kZWNvbmZpZ3VyZShjaHBpZCk7CisJCWlmIChyYykKKwkJCUNJT19NU0dfRVZFTlQoMiwgImNocDogc2NscF9jaHBfZGVjb25maWd1cmUoJXguJTAyeCk9IgorCQkJCSAgICAgICIlZFxuIiwgY2hwaWQuY3NzaWQsIGNocGlkLmlkLCByYyk7CisJCWVsc2UgeworCQkJaW5mb19leHBpcmUoKTsKKwkJCWNoc2NfY2hwX29mZmxpbmUoY2hwaWQpOworCQl9CiAJCWJyZWFrOwogCWNhc2UgY2ZnX25vbmU6CiAJCS8qIEdldCB1cGRhdGVkIGluZm9ybWF0aW9uIGFmdGVyIGxhc3QgY2hhbmdlLiAqLwpAQCAtNjU0LDEwICs3MDQsMTYgQEAKIHN0YXRpYyBpbnQgX19pbml0IGNocF9pbml0KHZvaWQpCiB7CiAJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgcmV0OwogCisJcmV0ID0gczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NQQVRILCBjaHBfcHJvY2Vzc19jcncpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CiAJY2hwX3dxID0gY3JlYXRlX3NpbmdsZXRocmVhZF93b3JrcXVldWUoImNpb19jaHAiKTsKLQlpZiAoIWNocF93cSkKKwlpZiAoIWNocF93cSkgeworCQlzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoQ1JXX1JTQ19DUEFUSCk7CiAJCXJldHVybiAtRU5PTUVNOworCX0KIAlJTklUX1dPUksoJmNmZ193b3JrLCBjZmdfZnVuYyk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmY2ZnX3dhaXRfcXVldWUpOwogCWlmIChpbmZvX3VwZGF0ZSgpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jaHAuaCBiL2RyaXZlcnMvczM5MC9jaW8vY2hwLmgKaW5kZXggNjUyODY1Ni4uMjZjM2QyMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jaHAuaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2NocC5oCkBAIC0xMiwxMiArMTIsMjQgQEAKICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KICNpbmNsdWRlICJjaHNjLmgiCisjaW5jbHVkZSAiY3NzLmgiCiAKICNkZWZpbmUgQ0hQX1NUQVRVU19TVEFOREJZCQkwCiAjZGVmaW5lIENIUF9TVEFUVVNfQ09ORklHVVJFRAkJMQogI2RlZmluZSBDSFBfU1RBVFVTX1JFU0VSVkVECQkyCiAjZGVmaW5lIENIUF9TVEFUVVNfTk9UX1JFQ09HTklaRUQJMwogCisjZGVmaW5lIENIUF9PTkxJTkUgMAorI2RlZmluZSBDSFBfT0ZGTElORSAxCisjZGVmaW5lIENIUF9WQVJZX09OIDIKKyNkZWZpbmUgQ0hQX1ZBUllfT0ZGIDMKKworc3RydWN0IGNocF9saW5rIHsKKwlzdHJ1Y3QgY2hwX2lkIGNocGlkOworCXUzMiBmbGFfbWFzazsKKwl1MTYgZmxhOworfTsKKwogc3RhdGljIGlubGluZSBpbnQgY2hwX3Rlc3RfYml0KHU4ICpiaXRtYXAsIGludCBudW0pCiB7CiAJaW50IGJ5dGUgPSBudW0gPj4gMzsKQEAgLTQyLDEyICs1NCwxMSBAQAogdTggY2hwX2dldF9zY2hfb3BtKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpOwogaW50IGNocF9pc19yZWdpc3RlcmVkKHN0cnVjdCBjaHBfaWQgY2hwaWQpOwogdm9pZCAqY2hwX2dldF9jaHBfZGVzYyhzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKLXZvaWQgY2hwX3Byb2Nlc3NfY3J3KGludCBpZCwgaW50IGF2YWlsYWJsZSk7CiB2b2lkIGNocF9yZW1vdmVfY21nX2F0dHIoc3RydWN0IGNoYW5uZWxfcGF0aCAqY2hwKTsKIGludCBjaHBfYWRkX2NtZ19hdHRyKHN0cnVjdCBjaGFubmVsX3BhdGggKmNocCk7CiBpbnQgY2hwX25ldyhzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKIHZvaWQgY2hwX2NmZ19zY2hlZHVsZShzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgY29uZmlndXJlKTsKIHZvaWQgY2hwX2NmZ19jYW5jZWxfZGVjb25maWd1cmUoc3RydWN0IGNocF9pZCBjaHBpZCk7CiBpbnQgY2hwX2luZm9fZ2V0X3N0YXR1cyhzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKLQoraW50IGNocF9zc2RfZ2V0X21hc2soc3RydWN0IGNoc2Nfc3NkX2luZm8gKiwgc3RydWN0IGNocF9saW5rICopOwogI2VuZGlmIC8qIFMzOTBfQ0hQX0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5jIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjLmMKaW5kZXggNWRlODY5MC4uNjUyNjRhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jaHNjLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjLmMKQEAgLTIsOCArMiw3IEBACiAgKiAgZHJpdmVycy9zMzkwL2Npby9jaHNjLmMKICAqICAgUy8zOTAgY29tbW9uIEkvTyByb3V0aW5lcyAtLSBjaGFubmVsIHN1YnN5c3RlbSBjYWxsCiAgKgotICogICAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDIgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsCi0gKgkJCSAgICAgIElCTSBDb3Jwb3JhdGlvbgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAxOTk5LDIwMDgKICAqICAgIEF1dGhvcihzKTogSW5nbyBBZGx1bmcgKGFkbHVuZ0BkZS5pYm0uY29tKQogICoJCSBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKgkJIEFybmQgQmVyZ21hbm4gKGFybmRiQGRlLmlibS5jb20pCkBAIC0xNiw3ICsxNSw5IEBACiAKICNpbmNsdWRlIDxhc20vY2lvLmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+CisjaW5jbHVkZSA8YXNtL2Noc2MuaD4KIAorI2luY2x1ZGUgIi4uL3MzOTBtYWNoLmgiCiAjaW5jbHVkZSAiY3NzLmgiCiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCkBAIC0xMjcsNzcgKzEyOCwxMiBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgY2hlY2tfZm9yX2lvX29uX3BhdGgoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgaW50IG1hc2spCi17Ci0JaW50IGNjOwotCi0JY2MgPSBzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYik7Ci0JaWYgKGNjKQotCQlyZXR1cm4gMDsKLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgJiYgc2NoLT5zY2hpYi5wbWN3LmxwdW0gPT0gbWFzaykKLQkJcmV0dXJuIDE7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIHRlcm1pbmF0ZV9pbnRlcm5hbF9pbyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCWlmIChjaW9fY2xlYXIoc2NoKSkgewotCQkvKiBSZWNoZWNrIGRldmljZSBpbiBjYXNlIGNsZWFyIGZhaWxlZC4gKi8KLQkJc2NoLT5scG0gPSAwOwotCQlpZiAoZGV2aWNlX3RyaWdnZXJfdmVyaWZ5KHNjaCkgIT0gMCkKLQkJCWNzc19zY2hlZHVsZV9ldmFsKHNjaC0+c2NoaWQpOwotCQlyZXR1cm47Ci0JfQotCS8qIFJlcXVlc3QgcmV0cnkgb2YgaW50ZXJuYWwgb3BlcmF0aW9uLiAqLwotCWRldmljZV9zZXRfaW50cmV0cnkoc2NoKTsKLQkvKiBDYWxsIGhhbmRsZXIuICovCi0JaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT50ZXJtaW5hdGlvbikKLQkJc2NoLT5kcml2ZXItPnRlcm1pbmF0aW9uKHNjaCk7Ci19Ci0KIHN0YXRpYyBpbnQgczM5MF9zdWJjaGFubmVsX3JlbW92ZV9jaHBpZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCB2b2lkICpkYXRhKQogewotCWludCBqOwotCWludCBtYXNrOwotCXN0cnVjdCBjaHBfaWQgKmNocGlkID0gZGF0YTsKLQlzdHJ1Y3Qgc2NoaWIgc2NoaWI7Ci0KLQlmb3IgKGogPSAwOyBqIDwgODsgaisrKSB7Ci0JCW1hc2sgPSAweDgwID4+IGo7Ci0JCWlmICgoc2NoLT5zY2hpYi5wbWN3LnBpbSAmIG1hc2spICYmCi0JCSAgICAoc2NoLT5zY2hpYi5wbWN3LmNocGlkW2pdID09IGNocGlkLT5pZCkpCi0JCQlicmVhazsKLQl9Ci0JaWYgKGogPj0gOCkKLQkJcmV0dXJuIDA7Ci0KIAlzcGluX2xvY2tfaXJxKHNjaC0+bG9jayk7Ci0KLQlzdHNjaChzY2gtPnNjaGlkLCAmc2NoaWIpOwotCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoaWIpKQotCQlnb3RvIG91dF91bnJlZzsKLQltZW1jcHkoJnNjaC0+c2NoaWIsICZzY2hpYiwgc2l6ZW9mKHN0cnVjdCBzY2hpYikpOwotCS8qIENoZWNrIGZvciBzaW5nbGUgcGF0aCBkZXZpY2VzLiAqLwotCWlmIChzY2gtPnNjaGliLnBtY3cucGltID09IDB4ODApCi0JCWdvdG8gb3V0X3VucmVnOwotCi0JaWYgKGNoZWNrX2Zvcl9pb19vbl9wYXRoKHNjaCwgbWFzaykpIHsKLQkJaWYgKGRldmljZV9pc19vbmxpbmUoc2NoKSkKLQkJCWRldmljZV9raWxsX2lvKHNjaCk7Ci0JCWVsc2UgewotCQkJdGVybWluYXRlX2ludGVybmFsX2lvKHNjaCk7Ci0JCQkvKiBSZS1zdGFydCBwYXRoIHZlcmlmaWNhdGlvbi4gKi8KLQkJCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQkJfQotCX0gZWxzZSB7Ci0JCS8qIHRyaWdnZXIgcGF0aCB2ZXJpZmljYXRpb24uICovCi0JCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJc2NoLT5kcml2ZXItPnZlcmlmeShzY2gpOwotCQllbHNlIGlmIChzY2gtPmxwbSA9PSBtYXNrKQorCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+Y2hwX2V2ZW50KQorCQlpZiAoc2NoLT5kcml2ZXItPmNocF9ldmVudChzY2gsIGRhdGEsIENIUF9PRkZMSU5FKSAhPSAwKQogCQkJZ290byBvdXRfdW5yZWc7Ci0JfQotCiAJc3Bpbl91bmxvY2tfaXJxKHNjaC0+bG9jayk7CiAJcmV0dXJuIDA7CiAKQEAgLTIxMSwxNSArMTQ3LDE4IEBACiB2b2lkIGNoc2NfY2hwX29mZmxpbmUoc3RydWN0IGNocF9pZCBjaHBpZCkKIHsKIAljaGFyIGRiZl90eHRbMTVdOworCXN0cnVjdCBjaHBfbGluayBsaW5rOwogCiAJc3ByaW50ZihkYmZfdHh0LCAiY2hwciV4LiUwMngiLCBjaHBpZC5jc3NpZCwgY2hwaWQuaWQpOwogCUNJT19UUkFDRV9FVkVOVCgyLCBkYmZfdHh0KTsKIAogCWlmIChjaHBfZ2V0X3N0YXR1cyhjaHBpZCkgPD0gMCkKIAkJcmV0dXJuOworCW1lbXNldCgmbGluaywgMCwgc2l6ZW9mKHN0cnVjdCBjaHBfbGluaykpOworCWxpbmsuY2hwaWQgPSBjaHBpZDsKIAkvKiBXYWl0IHVudGlsIHByZXZpb3VzIGFjdGlvbnMgaGF2ZSBzZXR0bGVkLiAqLwogCWNzc193YWl0X2Zvcl9zbG93X3BhdGgoKTsKLQlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChzMzkwX3N1YmNoYW5uZWxfcmVtb3ZlX2NocGlkLCBOVUxMLCAmY2hwaWQpOworCWZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKHMzOTBfc3ViY2hhbm5lbF9yZW1vdmVfY2hwaWQsIE5VTEwsICZsaW5rKTsKIH0KIAogc3RhdGljIGludCBzMzkwX3Byb2Nlc3NfcmVzX2FjY19uZXdfc2NoKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLCB2b2lkICpkYXRhKQpAQCAtMjQyLDY3ICsxODEsMjUgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RydWN0IHJlc19hY2NfZGF0YSB7Ci0Jc3RydWN0IGNocF9pZCBjaHBpZDsKLQl1MzIgZmxhX21hc2s7Ci0JdTE2IGZsYTsKLX07Ci0KLXN0YXRpYyBpbnQgZ2V0X3Jlc19jaHBpZF9tYXNrKHN0cnVjdCBjaHNjX3NzZF9pbmZvICpzc2QsCi0JCQkgICAgICBzdHJ1Y3QgcmVzX2FjY19kYXRhICpkYXRhKQotewotCWludCBpOwotCWludCBtYXNrOwotCi0JZm9yIChpID0gMDsgaSA8IDg7IGkrKykgewotCQltYXNrID0gMHg4MCA+PiBpOwotCQlpZiAoIShzc2QtPnBhdGhfbWFzayAmIG1hc2spKQotCQkJY29udGludWU7Ci0JCWlmICghY2hwX2lkX2lzX2VxdWFsKCZzc2QtPmNocGlkW2ldLCAmZGF0YS0+Y2hwaWQpKQotCQkJY29udGludWU7Ci0JCWlmICgoc3NkLT5mbGFfdmFsaWRfbWFzayAmIG1hc2spICYmCi0JCSAgICAoKHNzZC0+ZmxhW2ldICYgZGF0YS0+ZmxhX21hc2spICE9IGRhdGEtPmZsYSkpCi0JCQljb250aW51ZTsKLQkJcmV0dXJuIG1hc2s7Ci0JfQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IF9fczM5MF9wcm9jZXNzX3Jlc19hY2Moc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgdm9pZCAqZGF0YSkKIHsKLQlpbnQgY2hwX21hc2ssIG9sZF9scG07Ci0Jc3RydWN0IHJlc19hY2NfZGF0YSAqcmVzX2RhdGEgPSBkYXRhOwotCiAJc3Bpbl9sb2NrX2lycShzY2gtPmxvY2spOwotCWNocF9tYXNrID0gZ2V0X3Jlc19jaHBpZF9tYXNrKCZzY2gtPnNzZF9pbmZvLCByZXNfZGF0YSk7Ci0JaWYgKGNocF9tYXNrID09IDApCi0JCWdvdG8gb3V0OwotCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYikpCi0JCWdvdG8gb3V0OwotCW9sZF9scG0gPSBzY2gtPmxwbTsKLQlzY2gtPmxwbSA9ICgoc2NoLT5zY2hpYi5wbWN3LnBpbSAmCi0JCSAgICAgc2NoLT5zY2hpYi5wbWN3LnBhbSAmCi0JCSAgICAgc2NoLT5zY2hpYi5wbWN3LnBvbSkKLQkJICAgIHwgY2hwX21hc2spICYgc2NoLT5vcG07Ci0JaWYgKCFvbGRfbHBtICYmIHNjaC0+bHBtKQotCQlkZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHNjaCk7Ci0JZWxzZSBpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPnZlcmlmeSkKLQkJc2NoLT5kcml2ZXItPnZlcmlmeShzY2gpOwotb3V0OgorCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+Y2hwX2V2ZW50KQorCQlzY2gtPmRyaXZlci0+Y2hwX2V2ZW50KHNjaCwgZGF0YSwgQ0hQX09OTElORSk7CiAJc3Bpbl91bmxvY2tfaXJxKHNjaC0+bG9jayk7CiAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgczM5MF9wcm9jZXNzX3Jlc19hY2MgKHN0cnVjdCByZXNfYWNjX2RhdGEgKnJlc19kYXRhKQorc3RhdGljIHZvaWQgczM5MF9wcm9jZXNzX3Jlc19hY2Moc3RydWN0IGNocF9saW5rICpsaW5rKQogewogCWNoYXIgZGJmX3R4dFsxNV07CiAKLQlzcHJpbnRmKGRiZl90eHQsICJhY2NwciV4LiUwMngiLCByZXNfZGF0YS0+Y2hwaWQuY3NzaWQsCi0JCXJlc19kYXRhLT5jaHBpZC5pZCk7CisJc3ByaW50ZihkYmZfdHh0LCAiYWNjcHIleC4lMDJ4IiwgbGluay0+Y2hwaWQuY3NzaWQsCisJCWxpbmstPmNocGlkLmlkKTsKIAlDSU9fVFJBQ0VfRVZFTlQoIDIsIGRiZl90eHQpOwotCWlmIChyZXNfZGF0YS0+ZmxhICE9IDApIHsKLQkJc3ByaW50ZihkYmZfdHh0LCAiZmxhJXgiLCByZXNfZGF0YS0+ZmxhKTsKKwlpZiAobGluay0+ZmxhICE9IDApIHsKKwkJc3ByaW50ZihkYmZfdHh0LCAiZmxhJXgiLCBsaW5rLT5mbGEpOwogCQlDSU9fVFJBQ0VfRVZFTlQoIDIsIGRiZl90eHQpOwogCX0KIAkvKiBXYWl0IHVudGlsIHByZXZpb3VzIGFjdGlvbnMgaGF2ZSBzZXR0bGVkLiAqLwpAQCAtMzE1LDcgKzIxMiw3IEBACiAJICogd2lsbCB3ZSBoYXZlIHRvIGRvLgogCSAqLwogCWZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKF9fczM5MF9wcm9jZXNzX3Jlc19hY2MsCi0JCQkJICAgczM5MF9wcm9jZXNzX3Jlc19hY2NfbmV3X3NjaCwgcmVzX2RhdGEpOworCQkJCSAgIHMzOTBfcHJvY2Vzc19yZXNfYWNjX25ld19zY2gsIGxpbmspOwogfQogCiBzdGF0aWMgaW50CkBAIC0zODgsNyArMjg1LDcgQEAKIAogc3RhdGljIHZvaWQgY2hzY19wcm9jZXNzX3NlaV9yZXNfYWNjKHN0cnVjdCBjaHNjX3NlaV9hcmVhICpzZWlfYXJlYSkKIHsKLQlzdHJ1Y3QgcmVzX2FjY19kYXRhIHJlc19kYXRhOworCXN0cnVjdCBjaHBfbGluayBsaW5rOwogCXN0cnVjdCBjaHBfaWQgY2hwaWQ7CiAJaW50IHN0YXR1czsKIApAQCAtNDA0LDE4ICszMDEsMTggQEAKIAkJY2hwX25ldyhjaHBpZCk7CiAJZWxzZSBpZiAoIXN0YXR1cykKIAkJcmV0dXJuOwotCW1lbXNldCgmcmVzX2RhdGEsIDAsIHNpemVvZihzdHJ1Y3QgcmVzX2FjY19kYXRhKSk7Ci0JcmVzX2RhdGEuY2hwaWQgPSBjaHBpZDsKKwltZW1zZXQoJmxpbmssIDAsIHNpemVvZihzdHJ1Y3QgY2hwX2xpbmspKTsKKwlsaW5rLmNocGlkID0gY2hwaWQ7CiAJaWYgKChzZWlfYXJlYS0+dmYgJiAweGMwKSAhPSAwKSB7Ci0JCXJlc19kYXRhLmZsYSA9IHNlaV9hcmVhLT5mbGE7CisJCWxpbmsuZmxhID0gc2VpX2FyZWEtPmZsYTsKIAkJaWYgKChzZWlfYXJlYS0+dmYgJiAweGMwKSA9PSAweGMwKQogCQkJLyogZnVsbCBsaW5rIGFkZHJlc3MgKi8KLQkJCXJlc19kYXRhLmZsYV9tYXNrID0gMHhmZmZmOworCQkJbGluay5mbGFfbWFzayA9IDB4ZmZmZjsKIAkJZWxzZQogCQkJLyogbGluayBhZGRyZXNzICovCi0JCQlyZXNfZGF0YS5mbGFfbWFzayA9IDB4ZmYwMDsKKwkJCWxpbmsuZmxhX21hc2sgPSAweGZmMDA7CiAJfQotCXMzOTBfcHJvY2Vzc19yZXNfYWNjKCZyZXNfZGF0YSk7CisJczM5MF9wcm9jZXNzX3Jlc19hY2MoJmxpbmspOwogfQogCiBzdHJ1Y3QgY2hwX2NvbmZpZ19kYXRhIHsKQEAgLTQ4MCwxNyArMzc3LDI1IEBACiAJfQogfQogCi12b2lkIGNoc2NfcHJvY2Vzc19jcncodm9pZCkKK3N0YXRpYyB2b2lkIGNoc2NfcHJvY2Vzc19jcncoc3RydWN0IGNydyAqY3J3MCwgc3RydWN0IGNydyAqY3J3MSwgaW50IG92ZXJmbG93KQogewogCXN0cnVjdCBjaHNjX3NlaV9hcmVhICpzZWlfYXJlYTsKIAorCWlmIChvdmVyZmxvdykgeworCQljc3Nfc2NoZWR1bGVfZXZhbF9hbGwoKTsKKwkJcmV0dXJuOworCX0KKwlDSU9fQ1JXX0VWRU5UKDIsICJDUlcgcmVwb3J0cyBzbGN0PSVkLCBvZmx3PSVkLCAiCisJCSAgICAgICJjaG49JWQsIHJzYz0lWCwgYW5jPSVkLCBlcmM9JVgsIHJzaWQ9JVhcbiIsCisJCSAgICAgIGNydzAtPnNsY3QsIGNydzAtPm9mbHcsIGNydzAtPmNobiwgY3J3MC0+cnNjLCBjcncwLT5hbmMsCisJCSAgICAgIGNydzAtPmVyYywgY3J3MC0+cnNpZCk7CiAJaWYgKCFzZWlfcGFnZSkKIAkJcmV0dXJuOwogCS8qIEFjY2VzcyB0byBzZWlfcGFnZSBpcyBzZXJpYWxpemVkIHRocm91Z2ggbWFjaGluZSBjaGVjayBoYW5kbGVyCiAJICogdGhyZWFkLCBzbyBubyBuZWVkIGZvciBsb2NraW5nLiAqLwogCXNlaV9hcmVhID0gc2VpX3BhZ2U7CiAKLQlDSU9fVFJBQ0VfRVZFTlQoIDIsICJwcmNzcyIpOworCUNJT19UUkFDRV9FVkVOVCgyLCAicHJjc3MiKTsKIAlkbyB7CiAJCW1lbXNldChzZWlfYXJlYSwgMCwgc2l6ZW9mKCpzZWlfYXJlYSkpOwogCQlzZWlfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMTA7CkBAIC01MDksMTE0ICs0MTQsMzYgQEAKIAl9IHdoaWxlIChzZWlfYXJlYS0+ZmxhZ3MgJiAweDgwKTsKIH0KIAotc3RhdGljIGludCBfX2NocF9hZGRfbmV3X3NjaChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3Qgc2NoaWIgc2NoaWI7Ci0KLQlpZiAoc3RzY2hfZXJyKHNjaGlkLCAmc2NoaWIpKQotCQkvKiBXZSdyZSB0aHJvdWdoICovCi0JCXJldHVybiAtRU5YSU87Ci0KLQkvKiBQdXQgaXQgb24gdGhlIHNsb3cgcGF0aC4gKi8KLQljc3Nfc2NoZWR1bGVfZXZhbChzY2hpZCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLQotc3RhdGljIGludCBfX2NocF9hZGQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgdm9pZCAqZGF0YSkKLXsKLQlpbnQgaSwgbWFzazsKLQlzdHJ1Y3QgY2hwX2lkICpjaHBpZCA9IGRhdGE7Ci0KLQlzcGluX2xvY2tfaXJxKHNjaC0+bG9jayk7Ci0JZm9yIChpPTA7IGk8ODsgaSsrKSB7Ci0JCW1hc2sgPSAweDgwID4+IGk7Ci0JCWlmICgoc2NoLT5zY2hpYi5wbWN3LnBpbSAmIG1hc2spICYmCi0JCSAgICAoc2NoLT5zY2hpYi5wbWN3LmNocGlkW2ldID09IGNocGlkLT5pZCkpCi0JCQlicmVhazsKLQl9Ci0JaWYgKGk9PTgpIHsKLQkJc3Bpbl91bmxvY2tfaXJxKHNjaC0+bG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKSB7Ci0JCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwotCQljc3Nfc2NoZWR1bGVfZXZhbChzY2gtPnNjaGlkKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXNjaC0+bHBtID0gKChzY2gtPnNjaGliLnBtY3cucGltICYKLQkJICAgICBzY2gtPnNjaGliLnBtY3cucGFtICYKLQkJICAgICBzY2gtPnNjaGliLnBtY3cucG9tKQotCQkgICAgfCBtYXNrKSAmIHNjaC0+b3BtOwotCi0JaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT52ZXJpZnkpCi0JCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQotCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwotCi0JcmV0dXJuIDA7Ci19Ci0KIHZvaWQgY2hzY19jaHBfb25saW5lKHN0cnVjdCBjaHBfaWQgY2hwaWQpCiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKIAogCXNwcmludGYoZGJmX3R4dCwgImNhZGQleC4lMDJ4IiwgY2hwaWQuY3NzaWQsIGNocGlkLmlkKTsKIAlDSU9fVFJBQ0VfRVZFTlQoMiwgZGJmX3R4dCk7CiAKIAlpZiAoY2hwX2dldF9zdGF0dXMoY2hwaWQpICE9IDApIHsKKwkJbWVtc2V0KCZsaW5rLCAwLCBzaXplb2Yoc3RydWN0IGNocF9saW5rKSk7CisJCWxpbmsuY2hwaWQgPSBjaHBpZDsKIAkJLyogV2FpdCB1bnRpbCBwcmV2aW91cyBhY3Rpb25zIGhhdmUgc2V0dGxlZC4gKi8KIAkJY3NzX3dhaXRfZm9yX3Nsb3dfcGF0aCgpOwotCQlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChfX2NocF9hZGQsIF9fY2hwX2FkZF9uZXdfc2NoLAotCQkJCQkgICAmY2hwaWQpOworCQlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChfX3MzOTBfcHJvY2Vzc19yZXNfYWNjLCBOVUxMLAorCQkJCQkgICAmbGluayk7CiAJfQogfQogCiBzdGF0aWMgdm9pZCBfX3MzOTBfc3ViY2hhbm5lbF92YXJ5X2NocGlkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsCiAJCQkJCSBzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgb24pCiB7Ci0JaW50IGNocCwgb2xkX2xwbTsKLQlpbnQgbWFzazsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBjaHBfbGluayBsaW5rOwogCisJbWVtc2V0KCZsaW5rLCAwLCBzaXplb2Yoc3RydWN0IGNocF9saW5rKSk7CisJbGluay5jaHBpZCA9IGNocGlkOwogCXNwaW5fbG9ja19pcnFzYXZlKHNjaC0+bG9jaywgZmxhZ3MpOwotCW9sZF9scG0gPSBzY2gtPmxwbTsKLQlmb3IgKGNocCA9IDA7IGNocCA8IDg7IGNocCsrKSB7Ci0JCW1hc2sgPSAweDgwID4+IGNocDsKLQkJaWYgKCEoc2NoLT5zc2RfaW5mby5wYXRoX21hc2sgJiBtYXNrKSkKLQkJCWNvbnRpbnVlOwotCQlpZiAoIWNocF9pZF9pc19lcXVhbCgmc2NoLT5zc2RfaW5mby5jaHBpZFtjaHBdLCAmY2hwaWQpKQotCQkJY29udGludWU7Ci0KLQkJaWYgKG9uKSB7Ci0JCQlzY2gtPm9wbSB8PSBtYXNrOwotCQkJc2NoLT5scG0gfD0gbWFzazsKLQkJCWlmICghb2xkX2xwbSkKLQkJCQlkZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHNjaCk7Ci0JCQllbHNlIGlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQkJCWJyZWFrOwotCQl9Ci0JCXNjaC0+b3BtICY9IH5tYXNrOwotCQlzY2gtPmxwbSAmPSB+bWFzazsKLQkJaWYgKGNoZWNrX2Zvcl9pb19vbl9wYXRoKHNjaCwgbWFzaykpIHsKLQkJCWlmIChkZXZpY2VfaXNfb25saW5lKHNjaCkpCi0JCQkJLyogUGF0aCB2ZXJpZmljYXRpb24gaXMgZG9uZSBhZnRlciBraWxsaW5nLiAqLwotCQkJCWRldmljZV9raWxsX2lvKHNjaCk7Ci0JCQllbHNlIHsKLQkJCQkvKiBLaWxsIGFuZCByZXRyeSBpbnRlcm5hbCBJL08uICovCi0JCQkJdGVybWluYXRlX2ludGVybmFsX2lvKHNjaCk7Ci0JCQkJLyogUmUtc3RhcnQgcGF0aCB2ZXJpZmljYXRpb24uICovCi0JCQkJaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT52ZXJpZnkpCi0JCQkJCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQkJCX0KLQkJfSBlbHNlIGlmICghc2NoLT5scG0pIHsKLQkJCWlmIChkZXZpY2VfdHJpZ2dlcl92ZXJpZnkoc2NoKSAhPSAwKQotCQkJCWNzc19zY2hlZHVsZV9ldmFsKHNjaC0+c2NoaWQpOwotCQl9IGVsc2UgaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT52ZXJpZnkpCi0JCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0JCWJyZWFrOwotCX0KKwlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPmNocF9ldmVudCkKKwkJc2NoLT5kcml2ZXItPmNocF9ldmVudChzY2gsICZsaW5rLAorCQkJCSAgICAgICBvbiA/IENIUF9WQVJZX09OIDogQ0hQX1ZBUllfT0ZGKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwogfQogCkBAIC02NTYsNiArNDgzLDEwIEBACiAgKi8KIGludCBjaHNjX2NocF92YXJ5KHN0cnVjdCBjaHBfaWQgY2hwaWQsIGludCBvbikKIHsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKKworCW1lbXNldCgmbGluaywgMCwgc2l6ZW9mKHN0cnVjdCBjaHBfbGluaykpOworCWxpbmsuY2hwaWQgPSBjaHBpZDsKIAkvKiBXYWl0IHVudGlsIHByZXZpb3VzIGFjdGlvbnMgaGF2ZSBzZXR0bGVkLiAqLwogCWNzc193YWl0X2Zvcl9zbG93X3BhdGgoKTsKIAkvKgpAQCAtNjY0LDEwICs0OTUsMTAgQEAKIAogCWlmIChvbikKIAkJZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoczM5MF9zdWJjaGFubmVsX3ZhcnlfY2hwaWRfb24sCi0JCQkJCSAgIF9fczM5MF92YXJ5X2NocGlkX29uLCAmY2hwaWQpOworCQkJCQkgICBfX3MzOTBfdmFyeV9jaHBpZF9vbiwgJmxpbmspOwogCWVsc2UKIAkJZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoczM5MF9zdWJjaGFubmVsX3ZhcnlfY2hwaWRfb2ZmLAotCQkJCQkgICBOVUxMLCAmY2hwaWQpOworCQkJCQkgICBOVUxMLCAmbGluayk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTc5NywyMyArNjI4LDMzIEBACiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjcmlwdGlvbihzdHJ1Y3QgY2hwX2lkIGNocGlkLAotCQkJCQkgICAgc3RydWN0IGNoYW5uZWxfcGF0aF9kZXNjICpkZXNjKQoraW50IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjKHN0cnVjdCBjaHBfaWQgY2hwaWQsIGludCBmbXQsIGludCByZm10LAorCQkJCSAgICAgaW50IGMsIGludCBtLAorCQkJCSAgICAgc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0ICpyZXNwKQogewogCWludCBjY29kZSwgcmV0OwogCiAJc3RydWN0IHsKIAkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7Ci0JCXUzMiA6IDI0OworCQl1MzIgOiAyOworCQl1MzIgbSA6IDE7CisJCXUzMiBjIDogMTsKKwkJdTMyIGZtdCA6IDQ7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDQ7CisJCXUzMiByZm10IDogNDsKIAkJdTMyIGZpcnN0X2NocGlkIDogODsKIAkJdTMyIDogMjQ7CiAJCXUzMiBsYXN0X2NocGlkIDogODsKIAkJdTMyIHplcm9lczE7CiAJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKLQkJdTMyIHplcm9lczI7Ci0JCXN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYyBkZXNjOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDIwXTsKIAl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2NwZF9hcmVhOwogCisJaWYgKChyZm10ID09IDEpICYmICFjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuZmNzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoKHJmbXQgPT0gMikgJiYgIWNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5jaWIpCisJCXJldHVybiAtRUlOVkFMOwogCXNjcGRfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKIAlpZiAoIXNjcGRfYXJlYSkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC04MjEsOCArNjYyLDEzIEBACiAJc2NwZF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKIAlzY3BkX2FyZWEtPnJlcXVlc3QuY29kZSA9IDB4MDAwMjsKIAorCXNjcGRfYXJlYS0+Y3NzaWQgPSBjaHBpZC5jc3NpZDsKIAlzY3BkX2FyZWEtPmZpcnN0X2NocGlkID0gY2hwaWQuaWQ7CiAJc2NwZF9hcmVhLT5sYXN0X2NocGlkID0gY2hwaWQuaWQ7CisJc2NwZF9hcmVhLT5tID0gbTsKKwlzY3BkX2FyZWEtPmMgPSBjOworCXNjcGRfYXJlYS0+Zm10ID0gZm10OworCXNjcGRfYXJlYS0+cmZtdCA9IHJmbXQ7CiAKIAljY29kZSA9IGNoc2Moc2NwZF9hcmVhKTsKIAlpZiAoY2NvZGUgPiAwKSB7CkBAIC04MzMsOCArNjc5LDcgQEAKIAlyZXQgPSBjaHNjX2Vycm9yX2Zyb21fcmVzcG9uc2Uoc2NwZF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKIAlpZiAocmV0ID09IDApCiAJCS8qIFN1Y2Nlc3MuICovCi0JCW1lbWNweShkZXNjLCAmc2NwZF9hcmVhLT5kZXNjLAotCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYykpOworCQltZW1jcHkocmVzcCwgJnNjcGRfYXJlYS0+cmVzcG9uc2UsIHNjcGRfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKIAllbHNlCiAJCUNJT19DUldfRVZFTlQoMiwgImNoc2M6IHNjcGQgZmFpbGVkIChyYz0lMDR4KVxuIiwKIAkJCSAgICAgIHNjcGRfYXJlYS0+cmVzcG9uc2UuY29kZSk7CkBAIC04NDIsNiArNjg3LDI1IEBACiAJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjcGRfYXJlYSk7CiAJcmV0dXJuIHJldDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjKTsKKworaW50IGNoc2NfZGV0ZXJtaW5lX2Jhc2VfY2hhbm5lbF9wYXRoX2Rlc2Moc3RydWN0IGNocF9pZCBjaHBpZCwKKwkJCQkJICBzdHJ1Y3QgY2hhbm5lbF9wYXRoX2Rlc2MgKmRlc2MpCit7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0ICpjaHNjX3Jlc3A7CisJaW50IHJldDsKKworCWNoc2NfcmVzcCA9IGt6YWxsb2Moc2l6ZW9mKCpjaHNjX3Jlc3ApLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNoc2NfcmVzcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJcmV0ID0gY2hzY19kZXRlcm1pbmVfY2hhbm5lbF9wYXRoX2Rlc2MoY2hwaWQsIDAsIDAsIDAsIDAsIGNoc2NfcmVzcCk7CisJaWYgKHJldCkKKwkJZ290byBvdXRfZnJlZTsKKwltZW1jcHkoZGVzYywgJmNoc2NfcmVzcC0+ZGF0YSwgY2hzY19yZXNwLT5sZW5ndGgpOworb3V0X2ZyZWU6CisJa2ZyZWUoY2hzY19yZXNwKTsKKwlyZXR1cm4gcmV0OworfQogCiBzdGF0aWMgdm9pZAogY2hzY19pbml0aWFsaXplX2NtZ19jaGFycyhzdHJ1Y3QgY2hhbm5lbF9wYXRoICpjaHAsIHU4IGNtY3YsCkBAIC05MzcsMTUgKzgwMSwyMyBAQAogCiBpbnQgX19pbml0IGNoc2NfYWxsb2Nfc2VpX2FyZWEodm9pZCkKIHsKKwlpbnQgcmV0OworCiAJc2VpX3BhZ2UgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7Ci0JaWYgKCFzZWlfcGFnZSkKKwlpZiAoIXNlaV9wYWdlKSB7CiAJCUNJT19NU0dfRVZFTlQoMCwgIkNhbid0IGFsbG9jYXRlIHBhZ2UgZm9yIHByb2Nlc3Npbmcgb2YgIgogCQkJICAgICAgImNoc2MgbWFjaGluZSBjaGVja3MhXG4iKTsKLQlyZXR1cm4gKHNlaV9wYWdlID8gMCA6IC1FTk9NRU0pOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmV0ID0gczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NTUywgY2hzY19wcm9jZXNzX2Nydyk7CisJaWYgKHJldCkKKwkJa2ZyZWUoc2VpX3BhZ2UpOworCXJldHVybiByZXQ7CiB9CiAKIHZvaWQgX19pbml0IGNoc2NfZnJlZV9zZWlfYXJlYSh2b2lkKQogeworCXMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NTUyk7CiAJa2ZyZWUoc2VpX3BhZ2UpOwogfQogCkBAIC0xMDQzLDMgKzkxNSw1MiBAQAogCiBFWFBPUlRfU1lNQk9MX0dQTChjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MpOwogRVhQT1JUX1NZTUJPTF9HUEwoY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzKTsKKworaW50IGNoc2Nfc3N0cGModm9pZCAqcGFnZSwgdW5zaWduZWQgaW50IG9wLCB1MTYgY3RybCkKK3sKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdW5zaWduZWQgaW50IHJzdmQwOworCQl1bnNpZ25lZCBpbnQgb3AgOiA4OworCQl1bnNpZ25lZCBpbnQgcnN2ZDEgOiA4OworCQl1bnNpZ25lZCBpbnQgY3RybCA6IDE2OworCQl1bnNpZ25lZCBpbnQgcnN2ZDJbNV07CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdW5zaWduZWQgaW50IHJzdmQzWzddOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpycjsKKwlpbnQgcmM7CisKKwltZW1zZXQocGFnZSwgMCwgUEFHRV9TSVpFKTsKKwlyciA9IHBhZ2U7CisJcnItPnJlcXVlc3QubGVuZ3RoID0gMHgwMDIwOworCXJyLT5yZXF1ZXN0LmNvZGUgPSAweDAwMzM7CisJcnItPm9wID0gb3A7CisJcnItPmN0cmwgPSBjdHJsOworCXJjID0gY2hzYyhycik7CisJaWYgKHJjKQorCQlyZXR1cm4gLUVJTzsKKwlyYyA9IChyci0+cmVzcG9uc2UuY29kZSA9PSAweDAwMDEpID8gMCA6IC1FSU87CisJcmV0dXJuIHJjOworfQorCitpbnQgY2hzY19zc3RwaSh2b2lkICpwYWdlLCB2b2lkICpyZXN1bHQsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1bnNpZ25lZCBpbnQgcnN2ZDBbM107CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJY2hhciBkYXRhW3NpemVdOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpycjsKKwlpbnQgcmM7CisKKwltZW1zZXQocGFnZSwgMCwgUEFHRV9TSVpFKTsKKwlyciA9IHBhZ2U7CisJcnItPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOworCXJyLT5yZXF1ZXN0LmNvZGUgPSAweDAwMzg7CisJcmMgPSBjaHNjKHJyKTsKKwlpZiAocmMpCisJCXJldHVybiAtRUlPOworCW1lbWNweShyZXN1bHQsICZyci0+ZGF0YSwgc2l6ZSk7CisJcmV0dXJuIChyci0+cmVzcG9uc2UuY29kZSA9PSAweDAwMDEpID8gMCA6IC1FSU87Cit9CisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5oIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjLmgKaW5kZXggZDFmNWRiMS4uZmI2YzRkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jaHNjLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjLmgKQEAgLTQsNyArNCw4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KLSNpbmNsdWRlICJzY2hpZC5oIgorI2luY2x1ZGUgPGFzbS9jaHNjLmg+CisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CiAKICNkZWZpbmUgQ0hTQ19TREFfT0NfTVNTICAgMHgyCiAKQEAgLTM2LDE0ICszNywxNSBAQAogCiBzdHJ1Y3QgY2hhbm5lbF9wYXRoOwogCi1leHRlcm4gdm9pZCBjaHNjX3Byb2Nlc3NfY3J3KHZvaWQpOwotCiBzdHJ1Y3QgY3NzX2dlbmVyYWxfY2hhciB7Ci0JdTY0IDogNDE7CisJdTY0IDogMTI7CisJdTMyIGR5bmlvIDogMTsJIC8qIGJpdCAxMiAqLworCXUzMiA6IDI4OwogCXUzMiBhaWYgOiAxOyAgICAgLyogYml0IDQxICovCiAJdTMyIDogMzsKIAl1MzIgbWNzcyA6IDE7ICAgIC8qIGJpdCA0NSAqLwotCXUzMiA6IDI7CisJdTMyIGZjcyA6IDE7CSAvKiBiaXQgNDYgKi8KKwl1MzIgOiAxOwogCXUzMiBleHRfbWIgOiAxOyAgLyogYml0IDQ4ICovCiAJdTMyIDogNzsKIAl1MzIgYWlmX3RkZCA6IDE7IC8qIGJpdCA1NiAqLwpAQCAtNTEsNyArNTMsMTEgQEAKIAl1MzIgcWVic20gOiAxOyAgIC8qIGJpdCA1OCAqLwogCXUzMiA6IDg7CiAJdTMyIGFpZl9vc2EgOiAxOyAvKiBiaXQgNjcgKi8KLQl1MzIgOiAyODsKKwl1MzIgOiAxNDsKKwl1MzIgY2liIDogMTsJIC8qIGJpdCA4MiAqLworCXUzMiA6IDU7CisJdTMyIGZjeCA6IDE7CSAvKiBiaXQgODggKi8KKwl1MzIgOiA3OwogfV9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogCiBzdHJ1Y3QgY3NzX2Noc2NfY2hhciB7CkBAIC03OCw3ICs4NCw2IEBACiBleHRlcm4gaW50IGNoc2NfZ2V0X3NzZF9pbmZvKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLAogCQkJICAgICBzdHJ1Y3QgY2hzY19zc2RfaW5mbyAqc3NkKTsKIGV4dGVybiBpbnQgY2hzY19kZXRlcm1pbmVfY3NzX2NoYXJhY3RlcmlzdGljcyh2b2lkKTsKLWV4dGVybiBpbnQgY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbDsKIGV4dGVybiBpbnQgY2hzY19hbGxvY19zZWlfYXJlYSh2b2lkKTsKIGV4dGVybiB2b2lkIGNoc2NfZnJlZV9zZWlfYXJlYSh2b2lkKTsKIApAQCAtODcsOCArOTIsMTEgQEAKIGV4dGVybiBpbnQgY2hzY19zZWNtKHN0cnVjdCBjaGFubmVsX3N1YnN5c3RlbSAqLCBpbnQpOwogCiBpbnQgY2hzY19jaHBfdmFyeShzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgb24pOwotaW50IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjcmlwdGlvbihzdHJ1Y3QgY2hwX2lkIGNocGlkLAotCQkJCQkgICAgc3RydWN0IGNoYW5uZWxfcGF0aF9kZXNjICpkZXNjKTsKK2ludCBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzYyhzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgZm10LCBpbnQgcmZtdCwKKwkJCQkgICAgIGludCBjLCBpbnQgbSwKKwkJCQkgICAgIHN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCAqcmVzcCk7CitpbnQgY2hzY19kZXRlcm1pbmVfYmFzZV9jaGFubmVsX3BhdGhfZGVzYyhzdHJ1Y3QgY2hwX2lkIGNocGlkLAorCQkJCQkgIHN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYyAqZGVzYyk7CiB2b2lkIGNoc2NfY2hwX29ubGluZShzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKIHZvaWQgY2hzY19jaHBfb2ZmbGluZShzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKIGludCBjaHNjX2dldF9jaGFubmVsX21lYXN1cmVtZW50X2NoYXJzKHN0cnVjdCBjaGFubmVsX3BhdGggKmNocCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTFjYTg3YQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzY19zY2guYwpAQCAtMCwwICsxLDgyMCBAQAorLyoKKyAqIERyaXZlciBmb3IgczM5MCBjaHNjIHN1YmNoYW5uZWxzCisgKgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiBBdXRob3Iocyk6IENvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vY2lvLmg+CisjaW5jbHVkZSA8YXNtL2Noc2MuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CisKKyNpbmNsdWRlICJjaW8uaCIKKyNpbmNsdWRlICJjaW9fZGVidWcuaCIKKyNpbmNsdWRlICJjc3MuaCIKKyNpbmNsdWRlICJjaHNjX3NjaC5oIgorI2luY2x1ZGUgImlvYXNtLmgiCisKK3N0YXRpYyBkZWJ1Z19pbmZvX3QgKmNoc2NfZGVidWdfbXNnX2lkOworc3RhdGljIGRlYnVnX2luZm9fdCAqY2hzY19kZWJ1Z19sb2dfaWQ7CisKKyNkZWZpbmUgQ0hTQ19NU0coaW1wLCBhcmdzLi4uKSBkbyB7CQkJCQlcCisJCWRlYnVnX3NwcmludGZfZXZlbnQoY2hzY19kZWJ1Z19tc2dfaWQsIGltcCAsICMjYXJncyk7CVwKKwl9IHdoaWxlICgwKQorCisjZGVmaW5lIENIU0NfTE9HKGltcCwgdHh0KSBkbyB7CQkJCQlcCisJCWRlYnVnX3RleHRfZXZlbnQoY2hzY19kZWJ1Z19sb2dfaWQsIGltcCAsIHR4dCk7CVwKKwl9IHdoaWxlICgwKQorCitzdGF0aWMgdm9pZCBDSFNDX0xPR19IRVgoaW50IGxldmVsLCB2b2lkICpkYXRhLCBpbnQgbGVuZ3RoKQoreworCXdoaWxlIChsZW5ndGggPiAwKSB7CisJCWRlYnVnX2V2ZW50KGNoc2NfZGVidWdfbG9nX2lkLCBsZXZlbCwgZGF0YSwgbGVuZ3RoKTsKKwkJbGVuZ3RoIC09IGNoc2NfZGVidWdfbG9nX2lkLT5idWZfc2l6ZTsKKwkJZGF0YSArPSBjaHNjX2RlYnVnX2xvZ19pZC0+YnVmX3NpemU7CisJfQorfQorCitNT0RVTEVfQVVUSE9SKCJJQk0gQ29ycG9yYXRpb24iKTsKK01PRFVMRV9ERVNDUklQVElPTigiZHJpdmVyIGZvciBzMzkwIGNoc2Mgc3ViY2hhbm5lbHMiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKworc3RhdGljIHZvaWQgY2hzY19zdWJjaGFubmVsX2lycShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBjaHNjX3ByaXZhdGUgKnByaXZhdGUgPSBzY2gtPnByaXZhdGU7CisJc3RydWN0IGNoc2NfcmVxdWVzdCAqcmVxdWVzdCA9IHByaXZhdGUtPnJlcXVlc3Q7CisJc3RydWN0IGlyYiAqaXJiID0gKHN0cnVjdCBpcmIgKilfX0xDX0lSQjsKKworCUNIU0NfTE9HKDQsICJpcmIiKTsKKwlDSFNDX0xPR19IRVgoNCwgaXJiLCBzaXplb2YoKmlyYikpOworCS8qIENvcHkgaXJiIHRvIHByb3ZpZGVkIHJlcXVlc3QgYW5kIHNldCBkb25lLiAqLworCWlmICghcmVxdWVzdCkgeworCQlDSFNDX01TRygwLCAiSW50ZXJydXB0IG9uIHNjaCAwLiV4LiUwNHggd2l0aCBubyByZXF1ZXN0XG4iLAorCQkJIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8pOworCQlyZXR1cm47CisJfQorCXByaXZhdGUtPnJlcXVlc3QgPSBOVUxMOworCW1lbWNweSgmcmVxdWVzdC0+aXJiLCBpcmIsIHNpemVvZigqaXJiKSk7CisJc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpOworCWNvbXBsZXRlKCZyZXF1ZXN0LT5jb21wbGV0aW9uKTsKKwlwdXRfZGV2aWNlKCZzY2gtPmRldik7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19zdWJjaGFubmVsX3Byb2JlKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJc3RydWN0IGNoc2NfcHJpdmF0ZSAqcHJpdmF0ZTsKKwlpbnQgcmV0OworCisJQ0hTQ19NU0coNiwgIkRldGVjdGVkIGNoc2Mgc3ViY2hhbm5lbCAwLiV4LiUwNHhcbiIsCisJCSBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vKTsKKwlzY2gtPmlzYyA9IENIU0NfU0NIX0lTQzsKKwlwcml2YXRlID0ga3phbGxvYyhzaXplb2YoKnByaXZhdGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXZhdGUpCisJCXJldHVybiAtRU5PTUVNOworCXJldCA9IGNpb19lbmFibGVfc3ViY2hhbm5lbChzY2gsICh1MzIpKHVuc2lnbmVkIGxvbmcpc2NoKTsKKwlpZiAocmV0KSB7CisJCUNIU0NfTVNHKDAsICJGYWlsZWQgdG8gZW5hYmxlIDAuJXguJTA0eDogJWRcbiIsCisJCQkgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubywgcmV0KTsKKwkJa2ZyZWUocHJpdmF0ZSk7CisJfSBlbHNlIHsKKwkJc2NoLT5wcml2YXRlID0gcHJpdmF0ZTsKKwkJaWYgKHNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcykgeworCQkJc2NoLT5kZXYudWV2ZW50X3N1cHByZXNzID0gMDsKKwkJCWtvYmplY3RfdWV2ZW50KCZzY2gtPmRldi5rb2JqLCBLT0JKX0FERCk7CisJCX0KKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX3N1YmNoYW5uZWxfcmVtb3ZlKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJc3RydWN0IGNoc2NfcHJpdmF0ZSAqcHJpdmF0ZTsKKworCWNpb19kaXNhYmxlX3N1YmNoYW5uZWwoc2NoKTsKKwlwcml2YXRlID0gc2NoLT5wcml2YXRlOworCXNjaC0+cHJpdmF0ZSA9IE5VTEw7CisJaWYgKHByaXZhdGUtPnJlcXVlc3QpIHsKKwkJY29tcGxldGUoJnByaXZhdGUtPnJlcXVlc3QtPmNvbXBsZXRpb24pOworCQlwdXRfZGV2aWNlKCZzY2gtPmRldik7CisJfQorCWtmcmVlKHByaXZhdGUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjaHNjX3N1YmNoYW5uZWxfc2h1dGRvd24oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3NzX2RldmljZV9pZCBjaHNjX3N1YmNoYW5uZWxfaWRzW10gPSB7CisJeyAubWF0Y2hfZmxhZ3MgPSAweDEsIC50eXBlID1TVUJDSEFOTkVMX1RZUEVfQ0hTQywgfSwKKwl7IC8qIGVuZCBvZiBsaXN0ICovIH0sCit9OworTU9EVUxFX0RFVklDRV9UQUJMRShjc3MsIGNoc2Nfc3ViY2hhbm5lbF9pZHMpOworCitzdGF0aWMgc3RydWN0IGNzc19kcml2ZXIgY2hzY19zdWJjaGFubmVsX2RyaXZlciA9IHsKKwkub3duZXIgPSBUSElTX01PRFVMRSwKKwkuc3ViY2hhbm5lbF90eXBlID0gY2hzY19zdWJjaGFubmVsX2lkcywKKwkuaXJxID0gY2hzY19zdWJjaGFubmVsX2lycSwKKwkucHJvYmUgPSBjaHNjX3N1YmNoYW5uZWxfcHJvYmUsCisJLnJlbW92ZSA9IGNoc2Nfc3ViY2hhbm5lbF9yZW1vdmUsCisJLnNodXRkb3duID0gY2hzY19zdWJjaGFubmVsX3NodXRkb3duLAorCS5uYW1lID0gImNoc2Nfc3ViY2hhbm5lbCIsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBjaHNjX2luaXRfZGJmcyh2b2lkKQoreworCWNoc2NfZGVidWdfbXNnX2lkID0gZGVidWdfcmVnaXN0ZXIoImNoc2NfbXNnIiwgMTYsIDEsCisJCQkJCSAgIDE2ICogc2l6ZW9mKGxvbmcpKTsKKwlpZiAoIWNoc2NfZGVidWdfbXNnX2lkKQorCQlnb3RvIG91dDsKKwlkZWJ1Z19yZWdpc3Rlcl92aWV3KGNoc2NfZGVidWdfbXNnX2lkLCAmZGVidWdfc3ByaW50Zl92aWV3KTsKKwlkZWJ1Z19zZXRfbGV2ZWwoY2hzY19kZWJ1Z19tc2dfaWQsIDIpOworCWNoc2NfZGVidWdfbG9nX2lkID0gZGVidWdfcmVnaXN0ZXIoImNoc2NfbG9nIiwgMTYsIDEsIDE2KTsKKwlpZiAoIWNoc2NfZGVidWdfbG9nX2lkKQorCQlnb3RvIG91dDsKKwlkZWJ1Z19yZWdpc3Rlcl92aWV3KGNoc2NfZGVidWdfbG9nX2lkLCAmZGVidWdfaGV4X2FzY2lpX3ZpZXcpOworCWRlYnVnX3NldF9sZXZlbChjaHNjX2RlYnVnX2xvZ19pZCwgMik7CisJcmV0dXJuIDA7CitvdXQ6CisJaWYgKGNoc2NfZGVidWdfbXNnX2lkKQorCQlkZWJ1Z191bnJlZ2lzdGVyKGNoc2NfZGVidWdfbXNnX2lkKTsKKwlyZXR1cm4gLUVOT01FTTsKK30KKworc3RhdGljIHZvaWQgY2hzY19yZW1vdmVfZGJmcyh2b2lkKQoreworCWRlYnVnX3VucmVnaXN0ZXIoY2hzY19kZWJ1Z19sb2dfaWQpOworCWRlYnVnX3VucmVnaXN0ZXIoY2hzY19kZWJ1Z19tc2dfaWQpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBjaHNjX2luaXRfc2NoX2RyaXZlcih2b2lkKQoreworCXJldHVybiBjc3NfZHJpdmVyX3JlZ2lzdGVyKCZjaHNjX3N1YmNoYW5uZWxfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgY2hzY19jbGVhbnVwX3NjaF9kcml2ZXIodm9pZCkKK3sKKwljc3NfZHJpdmVyX3VucmVnaXN0ZXIoJmNoc2Nfc3ViY2hhbm5lbF9kcml2ZXIpOworfQorCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGNoc2NfbG9jayk7CisKK3N0YXRpYyBpbnQgY2hzY19zdWJjaGFubmVsX21hdGNoX25leHRfZnJlZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoZGV2KTsKKworCXJldHVybiBzY2gtPnNjaGliLnBtY3cuZW5hICYmICFzY3N3X2ZjdGwoJnNjaC0+c2NoaWIuc2Nzdyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc3ViY2hhbm5lbCAqY2hzY19nZXRfbmV4dF9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJc3RydWN0IGRldmljZSAqZGV2OworCisJZGV2ID0gZHJpdmVyX2ZpbmRfZGV2aWNlKCZjaHNjX3N1YmNoYW5uZWxfZHJpdmVyLmRydiwKKwkJCQkgc2NoID8gJnNjaC0+ZGV2IDogTlVMTCwgTlVMTCwKKwkJCQkgY2hzY19zdWJjaGFubmVsX21hdGNoX25leHRfZnJlZSk7CisJcmV0dXJuIGRldiA/IHRvX3N1YmNoYW5uZWwoZGV2KSA6IE5VTEw7Cit9CisKKy8qKgorICogY2hzY19hc3luYygpIC0gdHJ5IHRvIHN0YXJ0IGEgY2hzYyByZXF1ZXN0IGFzeW5jaHJvbm91c2x5CisgKiBAY2hzY19hcmVhOiByZXF1ZXN0IHRvIGJlIHN0YXJ0ZWQKKyAqIEByZXF1ZXN0OiByZXF1ZXN0IHN0cnVjdHVyZSB0byBhc3NvY2lhdGUKKyAqCisgKiBUcmllcyB0byBzdGFydCBhIGNoc2MgcmVxdWVzdCBvbiBvbmUgb2YgdGhlIGV4aXN0aW5nIGNoc2Mgc3ViY2hhbm5lbHMuCisgKiBSZXR1cm5zOgorICogICUwIGlmIHRoZSByZXF1ZXN0IHdhcyBwZXJmb3JtZWQgc3luY2hyb25vdXNseQorICogICUtRUlOUFJPR1JFU1MgaWYgdGhlIHJlcXVlc3Qgd2FzIHN1Y2Nlc3NmdWxseSBzdGFydGVkCisgKiAgJS1FQlVTWSBpZiBhbGwgY2hzYyBzdWJjaGFubmVscyBhcmUgYnVzeQorICogICUtRU5PREVWIGlmIG5vIGNoc2Mgc3ViY2hhbm5lbHMgYXJlIGF2YWlsYWJsZQorICogQ29udGV4dDoKKyAqICBpbnRlcnJ1cHRzIGRpc2FibGVkLCBjaHNjX2xvY2sgaGVsZAorICovCitzdGF0aWMgaW50IGNoc2NfYXN5bmMoc3RydWN0IGNoc2NfYXN5bmNfYXJlYSAqY2hzY19hcmVhLAorCQkgICAgICBzdHJ1Y3QgY2hzY19yZXF1ZXN0ICpyZXF1ZXN0KQoreworCWludCBjYzsKKwlzdHJ1Y3QgY2hzY19wcml2YXRlICpwcml2YXRlOworCXN0cnVjdCBzdWJjaGFubmVsICpzY2ggPSBOVUxMOworCWludCByZXQgPSAtRU5PREVWOworCWNoYXIgZGJmWzEwXTsKKworCWNoc2NfYXJlYS0+aGVhZGVyLmtleSA9IFBBR0VfREVGQVVMVF9LRVk7CisJd2hpbGUgKChzY2ggPSBjaHNjX2dldF9uZXh0X3N1YmNoYW5uZWwoc2NoKSkpIHsKKwkJc3Bpbl9sb2NrKHNjaC0+bG9jayk7CisJCXByaXZhdGUgPSBzY2gtPnByaXZhdGU7CisJCWlmIChwcml2YXRlLT5yZXF1ZXN0KSB7CisJCQlzcGluX3VubG9jayhzY2gtPmxvY2spOworCQkJcmV0ID0gLUVCVVNZOworCQkJY29udGludWU7CisJCX0KKwkJY2hzY19hcmVhLT5oZWFkZXIuc2lkID0gc2NoLT5zY2hpZDsKKwkJQ0hTQ19MT0coMiwgInNjaGlkIik7CisJCUNIU0NfTE9HX0hFWCgyLCAmc2NoLT5zY2hpZCwgc2l6ZW9mKHNjaC0+c2NoaWQpKTsKKwkJY2MgPSBjaHNjKGNoc2NfYXJlYSk7CisJCXNwcmludGYoZGJmLCAiY2M6JWQiLCBjYyk7CisJCUNIU0NfTE9HKDIsIGRiZik7CisJCXN3aXRjaCAoY2MpIHsKKwkJY2FzZSAwOgorCQkJcmV0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlIDE6CisJCQlzY2gtPnNjaGliLnNjc3cuY21kLmZjdGwgfD0gU0NTV19GQ1RMX1NUQVJUX0ZVTkM7CisJCQlyZXQgPSAtRUlOUFJPR1JFU1M7CisJCQlwcml2YXRlLT5yZXF1ZXN0ID0gcmVxdWVzdDsKKwkJCWJyZWFrOworCQljYXNlIDI6CisJCQlyZXQgPSAtRUJVU1k7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJldCA9IC1FTk9ERVY7CisJCX0KKwkJc3Bpbl91bmxvY2soc2NoLT5sb2NrKTsKKwkJQ0hTQ19NU0coMiwgImNoc2Mgb24gMC4leC4lMDR4IHJldHVybmVkIGNjPSVkXG4iLAorCQkJIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIGNjKTsKKwkJaWYgKHJldCA9PSAtRUlOUFJPR1JFU1MpCisJCQlyZXR1cm4gLUVJTlBST0dSRVNTOworCQlwdXRfZGV2aWNlKCZzY2gtPmRldik7CisJCWlmIChyZXQgPT0gMCkKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBjaHNjX2xvZ19jb21tYW5kKHN0cnVjdCBjaHNjX2FzeW5jX2FyZWEgKmNoc2NfYXJlYSkKK3sKKwljaGFyIGRiZlsxMF07CisKKwlzcHJpbnRmKGRiZiwgIkNIU0M6JXgiLCBjaHNjX2FyZWEtPmhlYWRlci5jb2RlKTsKKwlDSFNDX0xPRygwLCBkYmYpOworCUNIU0NfTE9HX0hFWCgwLCBjaHNjX2FyZWEsIDMyKTsKK30KKworc3RhdGljIGludCBjaHNjX2V4YW1pbmVfaXJiKHN0cnVjdCBjaHNjX3JlcXVlc3QgKnJlcXVlc3QpCit7CisJaW50IGJhY2tlZF91cDsKKworCWlmICghc2Nzd19zdGN0bCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkKKwkJcmV0dXJuIC1FSU87CisJYmFja2VkX3VwID0gc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NITl9TVEFUX0NIQUlOX0NIRUNLOworCXJlcXVlc3QtPmlyYi5zY3N3LmNtZC5jc3RhdCAmPSB+U0NITl9TVEFUX0NIQUlOX0NIRUNLOworCWlmIChzY3N3X2NzdGF0KCZyZXF1ZXN0LT5pcmIuc2NzdykgPT0gMCkKKwkJcmV0dXJuIDA7CisJaWYgKCFiYWNrZWRfdXApCisJCXJldHVybiAwOworCWlmIChzY3N3X2NzdGF0KCZyZXF1ZXN0LT5pcmIuc2NzdykgJiBTQ0hOX1NUQVRfUFJPR19DSEVDSykKKwkJcmV0dXJuIC1FSU87CisJaWYgKHNjc3dfY3N0YXQoJnJlcXVlc3QtPmlyYi5zY3N3KSAmIFNDSE5fU1RBVF9QUk9UX0NIRUNLKQorCQlyZXR1cm4gLUVQRVJNOworCWlmIChzY3N3X2NzdGF0KCZyZXF1ZXN0LT5pcmIuc2NzdykgJiBTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLKQorCQlyZXR1cm4gLUVBR0FJTjsKKwlpZiAoc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NITl9TVEFUX0NITl9DVFJMX0NISykKKwkJcmV0dXJuIC1FQUdBSU47CisJcmV0dXJuIC1FSU87Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9zdGFydCh2b2lkIF9fdXNlciAqdXNlcl9hcmVhKQoreworCXN0cnVjdCBjaHNjX3JlcXVlc3QgKnJlcXVlc3Q7CisJc3RydWN0IGNoc2NfYXN5bmNfYXJlYSAqY2hzY19hcmVhOworCWludCByZXQ7CisJY2hhciBkYmZbMTBdOworCisJaWYgKCFjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuZHluaW8pCisJCS8qIEl0IG1ha2VzIG5vIHNlbnNlIHRvIHRyeS4gKi8KKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCWNoc2NfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9ETUEgfCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNoc2NfYXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisJcmVxdWVzdCA9IGt6YWxsb2Moc2l6ZW9mKCpyZXF1ZXN0KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXF1ZXN0KSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWluaXRfY29tcGxldGlvbigmcmVxdWVzdC0+Y29tcGxldGlvbik7CisJaWYgKGNvcHlfZnJvbV91c2VyKGNoc2NfYXJlYSwgdXNlcl9hcmVhLCBQQUdFX1NJWkUpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWNoc2NfbG9nX2NvbW1hbmQoY2hzY19hcmVhKTsKKwlzcGluX2xvY2tfaXJxKCZjaHNjX2xvY2spOworCXJldCA9IGNoc2NfYXN5bmMoY2hzY19hcmVhLCByZXF1ZXN0KTsKKwlzcGluX3VubG9ja19pcnEoJmNoc2NfbG9jayk7CisJaWYgKHJldCA9PSAtRUlOUFJPR1JFU1MpIHsKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmcmVxdWVzdC0+Y29tcGxldGlvbik7CisJCXJldCA9IGNoc2NfZXhhbWluZV9pcmIocmVxdWVzdCk7CisJfQorCS8qIGNvcHkgYXJlYSBiYWNrIHRvIHVzZXIgKi8KKwlpZiAoIXJldCkKKwkJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2FyZWEsIGNoc2NfYXJlYSwgUEFHRV9TSVpFKSkKKwkJCXJldCA9IC1FRkFVTFQ7CitvdXRfZnJlZToKKwlzcHJpbnRmKGRiZiwgInJldDolZCIsIHJldCk7CisJQ0hTQ19MT0coMCwgZGJmKTsKKwlrZnJlZShyZXF1ZXN0KTsKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpY2hzY19hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfaW5mb19jaGFubmVsX3BhdGgodm9pZCBfX3VzZXIgKnVzZXJfY2QpCit7CisJc3RydWN0IGNoc2NfY2hwX2NkICpjZDsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgOiAxOworCQl1MzIgZm10MSA6IDQ7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDg7CisJCXUzMiBmaXJzdF9jaHBpZCA6IDg7CisJCXUzMiA6IDI0OworCQl1MzIgbGFzdF9jaHBpZCA6IDg7CisJCXUzMiA6IDMyOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCXU4IGRhdGFbUEFHRV9TSVpFIC0gMjBdOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpzY3BjZF9hcmVhOworCisJc2NwY2RfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjcGNkX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCWNkID0ga3phbGxvYyhzaXplb2YoKmNkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjZCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoY29weV9mcm9tX3VzZXIoY2QsIHVzZXJfY2QsIHNpemVvZigqY2QpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlzY3BjZF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKKwlzY3BjZF9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMjg7CisJc2NwY2RfYXJlYS0+bSA9IGNkLT5tOworCXNjcGNkX2FyZWEtPmZtdDEgPSBjZC0+Zm10OworCXNjcGNkX2FyZWEtPmNzc2lkID0gY2QtPmNocGlkLmNzc2lkOworCXNjcGNkX2FyZWEtPmZpcnN0X2NocGlkID0gY2QtPmNocGlkLmlkOworCXNjcGNkX2FyZWEtPmxhc3RfY2hwaWQgPSBjZC0+Y2hwaWQuaWQ7CisKKwljY29kZSA9IGNoc2Moc2NwY2RfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNjcGNkX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzY3BjZDogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzY3BjZF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZjZC0+Y3BjYiwgJnNjcGNkX2FyZWEtPnJlc3BvbnNlLCBzY3BjZF9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9jZCwgY2QsIHNpemVvZigqY2QpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShjZCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjcGNkX2FyZWEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9pbmZvX2N1KHZvaWQgX191c2VyICp1c2VyX2NkKQoreworCXN0cnVjdCBjaHNjX2N1X2NkICpjZDsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgOiAxOworCQl1MzIgZm10MSA6IDQ7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDg7CisJCXUzMiBmaXJzdF9jdW4gOiA4OworCQl1MzIgOiAyNDsKKwkJdTMyIGxhc3RfY3VuIDogODsKKwkJdTMyIDogMzI7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAyMF07CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNjdWNkX2FyZWE7CisKKwlzY3VjZF9hcmVhID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc2N1Y2RfYXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisJY2QgPSBremFsbG9jKHNpemVvZigqY2QpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNkKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChjb3B5X2Zyb21fdXNlcihjZCwgdXNlcl9jZCwgc2l6ZW9mKCpjZCkpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCXNjdWNkX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOworCXNjdWNkX2FyZWEtPnJlcXVlc3QuY29kZSA9IDB4MDAyODsKKwlzY3VjZF9hcmVhLT5tID0gY2QtPm07CisJc2N1Y2RfYXJlYS0+Zm10MSA9IGNkLT5mbXQ7CisJc2N1Y2RfYXJlYS0+Y3NzaWQgPSBjZC0+Y3NzaWQ7CisJc2N1Y2RfYXJlYS0+Zmlyc3RfY3VuID0gY2QtPmN1bjsKKwlzY3VjZF9hcmVhLT5sYXN0X2N1biA9IGNkLT5jdW47CisKKwljY29kZSA9IGNoc2Moc2N1Y2RfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNjdWNkX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzY3VjZDogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzY3VjZF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZjZC0+Y3VjYiwgJnNjdWNkX2FyZWEtPnJlc3BvbnNlLCBzY3VjZF9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9jZCwgY2QsIHNpemVvZigqY2QpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShjZCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjdWNkX2FyZWEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9pbmZvX3NjaF9jdSh2b2lkIF9fdXNlciAqdXNlcl9jdWQpCit7CisJc3RydWN0IGNoc2Nfc2NoX2N1ZCAqY3VkOworCWludCByZXQsIGNjb2RlOworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1MzIgOiAyOworCQl1MzIgbSA6IDE7CisJCXUzMiA6IDU7CisJCXUzMiBmbXQxIDogNDsKKwkJdTMyIDogMjsKKwkJdTMyIHNzaWQgOiAyOworCQl1MzIgZmlyc3Rfc2NoIDogMTY7CisJCXUzMiA6IDg7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiBsYXN0X3NjaCA6IDE2OworCQl1MzIgOiAzMjsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDIwXTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc3NjdWRfYXJlYTsKKworCXNzY3VkX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzc2N1ZF9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwljdWQgPSBremFsbG9jKHNpemVvZigqY3VkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjdWQpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGN1ZCwgdXNlcl9jdWQsIHNpemVvZigqY3VkKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc3NjdWRfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMTA7CisJc3NjdWRfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDA2OworCXNzY3VkX2FyZWEtPm0gPSBjdWQtPnNjaGlkLm07CisJc3NjdWRfYXJlYS0+Zm10MSA9IGN1ZC0+Zm10OworCXNzY3VkX2FyZWEtPnNzaWQgPSBjdWQtPnNjaGlkLnNzaWQ7CisJc3NjdWRfYXJlYS0+Zmlyc3Rfc2NoID0gY3VkLT5zY2hpZC5zY2hfbm87CisJc3NjdWRfYXJlYS0+Y3NzaWQgPSBjdWQtPnNjaGlkLmNzc2lkOworCXNzY3VkX2FyZWEtPmxhc3Rfc2NoID0gY3VkLT5zY2hpZC5zY2hfbm87CisKKwljY29kZSA9IGNoc2Moc3NjdWRfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNzY3VkX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzc2N1ZDogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzc2N1ZF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZjdWQtPnNjdWIsICZzc2N1ZF9hcmVhLT5yZXNwb25zZSwgc3NjdWRfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY3VkLCBjdWQsIHNpemVvZigqY3VkKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQorCQlyZXQgPSAwOworb3V0X2ZyZWU6CisJa2ZyZWUoY3VkKTsKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpc3NjdWRfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2NvbmZfaW5mbyh2b2lkIF9fdXNlciAqdXNlcl9jaSkKK3sKKwlzdHJ1Y3QgY2hzY19jb25mX2luZm8gKmNpOworCWludCByZXQsIGNjb2RlOworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1MzIgOiAyOworCQl1MzIgbSA6IDE7CisJCXUzMiA6IDE7CisJCXUzMiBmbXQxIDogNDsKKwkJdTMyIGNzc2lkIDogODsKKwkJdTMyIDogNjsKKwkJdTMyIHNzaWQgOiAyOworCQl1MzIgOiA4OworCQl1NjQgOiA2NDsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDIwXTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2NpX2FyZWE7CisKKwlzY2lfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjaV9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwljaSA9IGt6YWxsb2Moc2l6ZW9mKCpjaSksIEdGUF9LRVJORUwpOworCWlmICghY2kpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGNpLCB1c2VyX2NpLCBzaXplb2YoKmNpKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc2NpX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOworCXNjaV9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMTI7CisJc2NpX2FyZWEtPm0gPSBjaS0+aWQubTsKKwlzY2lfYXJlYS0+Zm10MSA9IGNpLT5mbXQ7CisJc2NpX2FyZWEtPmNzc2lkID0gY2ktPmlkLmNzc2lkOworCXNjaV9hcmVhLT5zc2lkID0gY2ktPmlkLnNzaWQ7CisKKwljY29kZSA9IGNoc2Moc2NpX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzY2lfYXJlYS0+cmVzcG9uc2UuY29kZSAhPSAweDAwMDEpIHsKKwkJcmV0ID0gLUVJTzsKKwkJQ0hTQ19NU0coMCwgInNjaTogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzY2lfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY2ktPnNjaWQsICZzY2lfYXJlYS0+cmVzcG9uc2UsIHNjaV9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9jaSwgY2ksIHNpemVvZigqY2kpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShjaSk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjaV9hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfY29uZl9jb21wX2xpc3Qodm9pZCBfX3VzZXIgKnVzZXJfY2NsKQoreworCXN0cnVjdCBjaHNjX2NvbXBfbGlzdCAqY2NsOworCWludCByZXQsIGNjb2RlOworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1MzIgY3R5cGUgOiA4OworCQl1MzIgOiA0OworCQl1MzIgZm10IDogNDsKKwkJdTMyIDogMTY7CisJCXU2NCA6IDY0OworCQl1MzIgbGlzdF9wYXJtWzJdOworCQl1NjQgOiA2NDsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDM2XTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2NjbF9hcmVhOworCXN0cnVjdCB7CisJCXUzMiBtIDogMTsKKwkJdTMyIDogMzE7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDE2OworCQl1MzIgY2hwaWQgOiA4OworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpjaHBpZF9wYXJtOworCXN0cnVjdCB7CisJCXUzMiBmX2Nzc2lkIDogODsKKwkJdTMyIGxfY3NzaWQgOiA4OworCQl1MzIgOiAxNjsKKwkJdTMyIHJlczsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqY3NzaWRzX3Bhcm07CisKKwlzY2NsX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2NsX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCWNjbCA9IGt6YWxsb2Moc2l6ZW9mKCpjY2wpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNjbCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoY29weV9mcm9tX3VzZXIoY2NsLCB1c2VyX2NjbCwgc2l6ZW9mKCpjY2wpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlzY2NsX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDIwOworCXNjY2xfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDMwOworCXNjY2xfYXJlYS0+Zm10ID0gY2NsLT5yZXEuZm10OworCXNjY2xfYXJlYS0+Y3R5cGUgPSBjY2wtPnJlcS5jdHlwZTsKKwlzd2l0Y2ggKHNjY2xfYXJlYS0+Y3R5cGUpIHsKKwljYXNlIENDTF9DVV9PTl9DSFA6CisJY2FzZSBDQ0xfSU9QX0NIUDoKKwkJY2hwaWRfcGFybSA9ICh2b2lkICopJnNjY2xfYXJlYS0+bGlzdF9wYXJtOworCQljaHBpZF9wYXJtLT5tID0gY2NsLT5yZXEuY2hwaWQubTsKKwkJY2hwaWRfcGFybS0+Y3NzaWQgPSBjY2wtPnJlcS5jaHBpZC5jaHAuY3NzaWQ7CisJCWNocGlkX3Bhcm0tPmNocGlkID0gY2NsLT5yZXEuY2hwaWQuY2hwLmlkOworCQlicmVhazsKKwljYXNlIENDTF9DU1NfSU1HOgorCWNhc2UgQ0NMX0NTU19JTUdfQ09ORl9DSEFSOgorCQljc3NpZHNfcGFybSA9ICh2b2lkICopJnNjY2xfYXJlYS0+bGlzdF9wYXJtOworCQljc3NpZHNfcGFybS0+Zl9jc3NpZCA9IGNjbC0+cmVxLmNzc2lkcy5mX2Nzc2lkOworCQljc3NpZHNfcGFybS0+bF9jc3NpZCA9IGNjbC0+cmVxLmNzc2lkcy5sX2Nzc2lkOworCQlicmVhazsKKwl9CisJY2NvZGUgPSBjaHNjKHNjY2xfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNjY2xfYXJlYS0+cmVzcG9uc2UuY29kZSAhPSAweDAwMDEpIHsKKwkJcmV0ID0gLUVJTzsKKwkJQ0hTQ19NU0coMCwgInNjY2w6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc2NjbF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZjY2wtPnNjY2wsICZzY2NsX2FyZWEtPnJlc3BvbnNlLCBzY2NsX2FyZWEtPnJlc3BvbnNlLmxlbmd0aCk7CisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2NjbCwgY2NsLCBzaXplb2YoKmNjbCkpKQorCQlyZXQgPSAtRUZBVUxUOworCWVsc2UKKwkJcmV0ID0gMDsKK291dF9mcmVlOgorCWtmcmVlKGNjbCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjY2xfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2NocGQodm9pZCBfX3VzZXIgKnVzZXJfY2hwZCkKK3sKKwlzdHJ1Y3QgY2hzY19jcGRfaW5mbyAqY2hwZDsKKwlpbnQgcmV0OworCisJY2hwZCA9IGt6YWxsb2Moc2l6ZW9mKCpjaHBkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjaHBkKQorCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoY29weV9mcm9tX3VzZXIoY2hwZCwgdXNlcl9jaHBkLCBzaXplb2YoKmNocGQpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlyZXQgPSBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzYyhjaHBkLT5jaHBpZCwgY2hwZC0+Zm10LAorCQkJCQkgICAgICAgY2hwZC0+cmZtdCwgY2hwZC0+YywgY2hwZC0+bSwKKwkJCQkJICAgICAgICZjaHBkLT5jaHBkYik7CisJaWYgKHJldCkKKwkJZ290byBvdXRfZnJlZTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY2hwZCwgY2hwZCwgc2l6ZW9mKCpjaHBkKSkpCisJCXJldCA9IC1FRkFVTFQ7CitvdXRfZnJlZToKKwlrZnJlZShjaHBkKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfZGNhbCh2b2lkIF9fdXNlciAqdXNlcl9kY2FsKQoreworCXN0cnVjdCBjaHNjX2RjYWwgKmRjYWw7CisJaW50IHJldCwgY2NvZGU7CisJc3RydWN0IHsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7CisJCXUzMiBhdHlwZSA6IDg7CisJCXUzMiA6IDQ7CisJCXUzMiBmbXQgOiA0OworCQl1MzIgOiAxNjsKKwkJdTMyIHJlczBbMl07CisJCXUzMiBsaXN0X3Bhcm1bMl07CisJCXUzMiByZXMxWzJdOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCXU4IGRhdGFbUEFHRV9TSVpFIC0gMzZdOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpzZGNhbF9hcmVhOworCisJc2RjYWxfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNkY2FsX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCWRjYWwgPSBremFsbG9jKHNpemVvZigqZGNhbCksIEdGUF9LRVJORUwpOworCWlmICghZGNhbCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoY29weV9mcm9tX3VzZXIoZGNhbCwgdXNlcl9kY2FsLCBzaXplb2YoKmRjYWwpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlzZGNhbF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAyMDsKKwlzZGNhbF9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMzQ7CisJc2RjYWxfYXJlYS0+YXR5cGUgPSBkY2FsLT5yZXEuYXR5cGU7CisJc2RjYWxfYXJlYS0+Zm10ID0gZGNhbC0+cmVxLmZtdDsKKwltZW1jcHkoJnNkY2FsX2FyZWEtPmxpc3RfcGFybSwgJmRjYWwtPnJlcS5saXN0X3Bhcm0sCisJICAgICAgIHNpemVvZihzZGNhbF9hcmVhLT5saXN0X3Bhcm0pKTsKKworCWNjb2RlID0gY2hzYyhzZGNhbF9hcmVhKTsKKwlpZiAoY2NvZGUgIT0gMCkgeworCQlyZXQgPSAtRUlPOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoc2RjYWxfYXJlYS0+cmVzcG9uc2UuY29kZSAhPSAweDAwMDEpIHsKKwkJcmV0ID0gLUVJTzsKKwkJQ0hTQ19NU0coMCwgInNkY2FsOiByZXNwb25zZSBjb2RlPSV4XG4iLAorCQkJIHNkY2FsX2FyZWEtPnJlc3BvbnNlLmNvZGUpOworCQlnb3RvIG91dF9mcmVlOworCX0KKwltZW1jcHkoJmRjYWwtPnNkY2FsLCAmc2RjYWxfYXJlYS0+cmVzcG9uc2UsCisJICAgICAgIHNkY2FsX2FyZWEtPnJlc3BvbnNlLmxlbmd0aCk7CisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2RjYWwsIGRjYWwsIHNpemVvZigqZGNhbCkpKQorCQlyZXQgPSAtRUZBVUxUOworCWVsc2UKKwkJcmV0ID0gMDsKK291dF9mcmVlOgorCWtmcmVlKGRjYWwpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzZGNhbF9hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgbG9uZyBjaHNjX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLAorCQkgICAgICAgdW5zaWduZWQgbG9uZyBhcmcpCit7CisJQ0hTQ19NU0coMiwgImNoc2NfaW9jdGwgY2FsbGVkLCBjbWQ9JXhcbiIsIGNtZCk7CisJc3dpdGNoIChjbWQpIHsKKwljYXNlIENIU0NfU1RBUlQ6CisJCXJldHVybiBjaHNjX2lvY3RsX3N0YXJ0KCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fQ0hBTk5FTF9QQVRIOgorCQlyZXR1cm4gY2hzY19pb2N0bF9pbmZvX2NoYW5uZWxfcGF0aCgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0NVOgorCQlyZXR1cm4gY2hzY19pb2N0bF9pbmZvX2N1KCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fU0NIX0NVOgorCQlyZXR1cm4gY2hzY19pb2N0bF9pbmZvX3NjaF9jdSgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0NJOgorCQlyZXR1cm4gY2hzY19pb2N0bF9jb25mX2luZm8oKHZvaWQgX191c2VyICopYXJnKTsKKwljYXNlIENIU0NfSU5GT19DQ0w6CisJCXJldHVybiBjaHNjX2lvY3RsX2NvbmZfY29tcF9saXN0KCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fQ1BEOgorCQlyZXR1cm4gY2hzY19pb2N0bF9jaHBkKCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fRENBTDoKKwkJcmV0dXJuIGNoc2NfaW9jdGxfZGNhbCgodm9pZCBfX3VzZXIgKilhcmcpOworCWRlZmF1bHQ6IC8qIHVua25vd24gaW9jdGwgbnVtYmVyICovCisJCXJldHVybiAtRU5PSU9DVExDTUQ7CisJfQorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBjaHNjX2ZvcHMgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLnVubG9ja2VkX2lvY3RsID0gY2hzY19pb2N0bCwKKwkuY29tcGF0X2lvY3RsID0gY2hzY19pb2N0bCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbWlzY2RldmljZSBjaHNjX21pc2NfZGV2aWNlID0geworCS5taW5vciA9IE1JU0NfRFlOQU1JQ19NSU5PUiwKKwkubmFtZSA9ICJjaHNjIiwKKwkuZm9wcyA9ICZjaHNjX2ZvcHMsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBjaHNjX21pc2NfaW5pdCh2b2lkKQoreworCXJldHVybiBtaXNjX3JlZ2lzdGVyKCZjaHNjX21pc2NfZGV2aWNlKTsKK30KKworc3RhdGljIHZvaWQgY2hzY19taXNjX2NsZWFudXAodm9pZCkKK3sKKwltaXNjX2RlcmVnaXN0ZXIoJmNoc2NfbWlzY19kZXZpY2UpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBjaHNjX3NjaF9pbml0KHZvaWQpCit7CisJaW50IHJldDsKKworCXJldCA9IGNoc2NfaW5pdF9kYmZzKCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlpc2NfcmVnaXN0ZXIoQ0hTQ19TQ0hfSVNDKTsKKwlyZXQgPSBjaHNjX2luaXRfc2NoX2RyaXZlcigpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2RiZjsKKwlyZXQgPSBjaHNjX21pc2NfaW5pdCgpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2RyaXZlcjsKKwlyZXR1cm4gcmV0Oworb3V0X2RyaXZlcjoKKwljaHNjX2NsZWFudXBfc2NoX2RyaXZlcigpOworb3V0X2RiZjoKKwlpc2NfdW5yZWdpc3RlcihDSFNDX1NDSF9JU0MpOworCWNoc2NfcmVtb3ZlX2RiZnMoKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgY2hzY19zY2hfZXhpdCh2b2lkKQoreworCWNoc2NfbWlzY19jbGVhbnVwKCk7CisJY2hzY19jbGVhbnVwX3NjaF9kcml2ZXIoKTsKKwlpc2NfdW5yZWdpc3RlcihDSFNDX1NDSF9JU0MpOworCWNoc2NfcmVtb3ZlX2RiZnMoKTsKK30KKworbW9kdWxlX2luaXQoY2hzY19zY2hfaW5pdCk7Cittb2R1bGVfZXhpdChjaHNjX3NjaF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2hzY19zY2guaCBiL2RyaXZlcnMvczM5MC9jaW8vY2hzY19zY2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODllYmZhCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjX3NjaC5oCkBAIC0wLDAgKzEsMTMgQEAKKyNpZm5kZWYgX0NIU0NfU0NIX0gKKyNkZWZpbmUgX0NIU0NfU0NIX0gKKworc3RydWN0IGNoc2NfcmVxdWVzdCB7CisJc3RydWN0IGNvbXBsZXRpb24gY29tcGxldGlvbjsKKwlzdHJ1Y3QgaXJiIGlyYjsKK307CisKK3N0cnVjdCBjaHNjX3ByaXZhdGUgeworCXN0cnVjdCBjaHNjX3JlcXVlc3QgKnJlcXVlc3Q7Cit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2lvLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2Npby5jCmluZGV4IGIzMmQ3ZWIuLjMzYmZmOGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2lvLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaW8uYwpAQCAtMiw3ICsyLDcgQEAKICAqICBkcml2ZXJzL3MzOTAvY2lvL2Npby5jCiAgKiAgIFMvMzkwIGNvbW1vbiBJL08gcm91dGluZXMgLS0gbG93IGxldmVsIGkvbyBjYWxscwogICoKLSAqICAgIENvcHlyaWdodCAoQykgSUJNIENvcnAuIDE5OTksMjAwNgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAxOTk5LDIwMDgKICAqICAgIEF1dGhvcihzKTogSW5nbyBBZGx1bmcgKGFkbHVuZ0BkZS5pYm0uY29tKQogICoJCSBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKgkJIEFybmQgQmVyZ21hbm4gKGFybmRiQGRlLmlibS5jb20pCkBAIC0yNCw3ICsyNCw5IEBACiAjaW5jbHVkZSA8YXNtL2lwbC5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgogI2luY2x1ZGUgPGFzbS9haXJxLmg+CisjaW5jbHVkZSA8YXNtL2lzYy5oPgogI2luY2x1ZGUgPGFzbS9jcHUuaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY3NzLmgiCiAjaW5jbHVkZSAiY2hzYy5oIgpAQCAtNzIsNyArNzQsNiBAQAogCQlkZWJ1Z191bnJlZ2lzdGVyKGNpb19kZWJ1Z190cmFjZV9pZCk7CiAJaWYgKGNpb19kZWJ1Z19jcndfaWQpCiAJCWRlYnVnX3VucmVnaXN0ZXIoY2lvX2RlYnVnX2Nyd19pZCk7Ci0JcHJpbnRrKEtFUk5fV0FSTklORyJjaW86IGNvdWxkIG5vdCBpbml0aWFsaXplIGRlYnVnZ2luZ1xuIik7CiAJcmV0dXJuIC0xOwogfQogCkBAIC0xMjgsNyArMTI5LDcgQEAKIAlsb2NhbF9iaF9kaXNhYmxlKCk7CiAJaXJxX2VudGVyICgpOwogCXNwaW5fbG9jayhzY2gtPmxvY2spOwotCW1lbWNweSAoJnNjaC0+c2NoaWIuc2NzdywgJmlyYi0+c2Nzdywgc2l6ZW9mIChzdHJ1Y3Qgc2NzdykpOworCW1lbWNweSgmc2NoLT5zY2hpYi5zY3N3LCAmaXJiLT5zY3N3LCBzaXplb2YodW5pb24gc2NzdykpOwogCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+aXJxKQogCQlzY2gtPmRyaXZlci0+aXJxKHNjaCk7CiAJc3Bpbl91bmxvY2soc2NoLT5sb2NrKTsKQEAgLTE2NywzMCArMTY4LDMwIEBACiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKIAlpbnQgY2NvZGU7Ci0Jc3RydWN0IG9yYiAqb3JiOworCXVuaW9uIG9yYiAqb3JiOwogCiAJQ0lPX1RSQUNFX0VWRU5UKDQsICJzdElPIik7CiAJQ0lPX1RSQUNFX0VWRU5UKDQsIHNjaC0+ZGV2LmJ1c19pZCk7CiAKIAlvcmIgPSAmdG9faW9fcHJpdmF0ZShzY2gpLT5vcmI7CiAJLyogc2NoIGlzIGFsd2F5cyB1bmRlciAyRy4gKi8KLQlvcmItPmludHBhcm0gPSAodTMyKShhZGRyX3Qpc2NoOwotCW9yYi0+Zm10ID0gMTsKKwlvcmItPmNtZC5pbnRwYXJtID0gKHUzMikoYWRkcl90KXNjaDsKKwlvcmItPmNtZC5mbXQgPSAxOwogCi0Jb3JiLT5wZmNoID0gc2NoLT5vcHRpb25zLnByZWZldGNoID09IDA7Ci0Jb3JiLT5zcG5kID0gc2NoLT5vcHRpb25zLnN1c3BlbmQ7Ci0Jb3JiLT5zc2ljID0gc2NoLT5vcHRpb25zLnN1c3BlbmQgJiYgc2NoLT5vcHRpb25zLmludGVyOwotCW9yYi0+bHBtID0gKGxwbSAhPSAwKSA/IGxwbSA6IHNjaC0+bHBtOworCW9yYi0+Y21kLnBmY2ggPSBzY2gtPm9wdGlvbnMucHJlZmV0Y2ggPT0gMDsKKwlvcmItPmNtZC5zcG5kID0gc2NoLT5vcHRpb25zLnN1c3BlbmQ7CisJb3JiLT5jbWQuc3NpYyA9IHNjaC0+b3B0aW9ucy5zdXNwZW5kICYmIHNjaC0+b3B0aW9ucy5pbnRlcjsKKwlvcmItPmNtZC5scG0gPSAobHBtICE9IDApID8gbHBtIDogc2NoLT5scG07CiAjaWZkZWYgQ09ORklHXzY0QklUCiAJLyoKIAkgKiBmb3IgNjQgYml0IHdlIGFsd2F5cyBzdXBwb3J0IDY0IGJpdCBJREFXcyB3aXRoIDRrIHBhZ2Ugc2l6ZSBvbmx5CiAJICovCi0Jb3JiLT5jNjQgPSAxOwotCW9yYi0+aTJrID0gMDsKKwlvcmItPmNtZC5jNjQgPSAxOworCW9yYi0+Y21kLmkyayA9IDA7CiAjZW5kaWYKLQlvcmItPmtleSA9IGtleSA+PiA0OworCW9yYi0+Y21kLmtleSA9IGtleSA+PiA0OwogCS8qIGlzc3VlICJTdGFydCBTdWJjaGFubmVsIiAqLwotCW9yYi0+Y3BhID0gKF9fdTMyKSBfX3BhKGNwYSk7CisJb3JiLT5jbWQuY3BhID0gKF9fdTMyKSBfX3BhKGNwYSk7CiAJY2NvZGUgPSBzc2NoKHNjaC0+c2NoaWQsIG9yYik7CiAKIAkvKiBwcm9jZXNzIGNvbmRpdGlvbiBjb2RlICovCkBAIC0yMDIsNyArMjAzLDcgQEAKIAkJLyoKIAkJICogaW5pdGlhbGl6ZSBkZXZpY2Ugc3RhdHVzIGluZm9ybWF0aW9uCiAJCSAqLwotCQlzY2gtPnNjaGliLnNjc3cuYWN0bCB8PSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKKwkJc2NoLT5zY2hpYi5zY3N3LmNtZC5hY3RsIHw9IFNDU1dfQUNUTF9TVEFSVF9QRU5EOwogCQlyZXR1cm4gMDsKIAljYXNlIDE6CQkvKiBzdGF0dXMgcGVuZGluZyAqLwogCWNhc2UgMjoJCS8qIGJ1c3kgKi8KQEAgLTIzNyw3ICsyMzgsNyBAQAogCiAJc3dpdGNoIChjY29kZSkgewogCWNhc2UgMDoKLQkJc2NoLT5zY2hpYi5zY3N3LmFjdGwgfD0gU0NTV19BQ1RMX1JFU1VNRV9QRU5EOworCQlzY2gtPnNjaGliLnNjc3cuY21kLmFjdGwgfD0gU0NTV19BQ1RMX1JFU1VNRV9QRU5EOwogCQlyZXR1cm4gMDsKIAljYXNlIDE6CiAJCXJldHVybiAtRUJVU1k7CkBAIC0yNzcsNyArMjc4LDcgQEAKIAogCXN3aXRjaCAoY2NvZGUpIHsKIAljYXNlIDA6Ci0JCXNjaC0+c2NoaWIuc2Nzdy5hY3RsIHw9IFNDU1dfQUNUTF9IQUxUX1BFTkQ7CisJCXNjaC0+c2NoaWIuc2Nzdy5jbWQuYWN0bCB8PSBTQ1NXX0FDVExfSEFMVF9QRU5EOwogCQlyZXR1cm4gMDsKIAljYXNlIDE6CQkvKiBzdGF0dXMgcGVuZGluZyAqLwogCWNhc2UgMjoJCS8qIGJ1c3kgKi8KQEAgLTMxMiw3ICszMTMsNyBAQAogCiAJc3dpdGNoIChjY29kZSkgewogCWNhc2UgMDoKLQkJc2NoLT5zY2hpYi5zY3N3LmFjdGwgfD0gU0NTV19BQ1RMX0NMRUFSX1BFTkQ7CisJCXNjaC0+c2NoaWIuc2Nzdy5jbWQuYWN0bCB8PSBTQ1NXX0FDVExfQ0xFQVJfUEVORDsKIAkJcmV0dXJuIDA7CiAJZGVmYXVsdDoJCS8qIGRldmljZSBub3Qgb3BlcmF0aW9uYWwgKi8KIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0zODcsOCArMzg4LDEwIEBACiAJcmV0dXJuIHJldDsKIH0KIAotLyoKLSAqIEVuYWJsZSBzdWJjaGFubmVsLgorLyoqCisgKiBjaW9fZW5hYmxlX3N1YmNoYW5uZWwgLSBlbmFibGUgYSBzdWJjaGFubmVsLgorICogQHNjaDogc3ViY2hhbm5lbCB0byBiZSBlbmFibGVkCisgKiBAaW50cGFybTogaW50ZXJydXB0aW9uIHBhcmFtZXRlciB0byBzZXQKICAqLwogaW50IGNpb19lbmFibGVfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCB1MzIgaW50cGFybSkKIHsKQEAgLTQzNCwxMiArNDM3LDEzIEBACiAJQ0lPX1RSQUNFX0VWRU5UICgyLCBkYmZfdHh0KTsKIAlyZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJPTF9HUEwoY2lvX2VuYWJsZV9zdWJjaGFubmVsKTsKIAotLyoKLSAqIERpc2FibGUgc3ViY2hhbm5lbC4KKy8qKgorICogY2lvX2Rpc2FibGVfc3ViY2hhbm5lbCAtIGRpc2FibGUgYSBzdWJjaGFubmVsLgorICogQHNjaDogc3ViY2hhbm5lbCB0byBkaXNhYmxlCiAgKi8KLWludAotY2lvX2Rpc2FibGVfc3ViY2hhbm5lbCAoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK2ludCBjaW9fZGlzYWJsZV9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKIAlpbnQgY2NvZGU7CkBAIC00NTUsNyArNDU5LDcgQEAKIAlpZiAoY2NvZGUgPT0gMykJCS8qIE5vdCBvcGVyYXRpb25hbC4gKi8KIAkJcmV0dXJuIC1FTk9ERVY7CiAKLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgIT0gMCkKKwlpZiAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICE9IDApCiAJCS8qCiAJCSAqIHRoZSBkaXNhYmxlIGZ1bmN0aW9uIG11c3Qgbm90IGJlIGNhbGxlZCB3aGlsZSB0aGVyZSBhcmUKIAkJICogIHJlcXVlc3RzIHBlbmRpbmcgZm9yIGNvbXBsZXRpb24gIQpAQCAtNDg0LDYgKzQ4OCw3IEBACiAJQ0lPX1RSQUNFX0VWRU5UICgyLCBkYmZfdHh0KTsKIAlyZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJPTF9HUEwoY2lvX2Rpc2FibGVfc3ViY2hhbm5lbCk7CiAKIGludCBjaW9fY3JlYXRlX3NjaF9sb2NrKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CkBAIC00OTQsMjcgKzQ5OSw2MSBAQAogCXJldHVybiAwOwogfQogCi0vKgotICogY2lvX3ZhbGlkYXRlX3N1YmNoYW5uZWwoKQorc3RhdGljIGludCBjaW9fY2hlY2tfZGV2bm9fYmxhY2tsaXN0ZWQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwlpZiAoaXNfYmxhY2tsaXN0ZWQoc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGliLnBtY3cuZGV2KSkgeworCQkvKgorCQkgKiBUaGlzIGRldmljZSBtdXN0IG5vdCBiZSBrbm93biB0byBMaW51eC4gU28gd2Ugc2ltcGx5CisJCSAqIHNheSB0aGF0IHRoZXJlIGlzIG5vIGRldmljZSBhbmQgcmV0dXJuIEVOT0RFVi4KKwkJICovCisJCUNJT19NU0dfRVZFTlQoNiwgIkJsYWNrbGlzdGVkIGRldmljZSBkZXRlY3RlZCAiCisJCQkgICAgICAiYXQgZGV2bm8gJTA0WCwgc3ViY2hhbm5lbCBzZXQgJXhcbiIsCisJCQkgICAgICBzY2gtPnNjaGliLnBtY3cuZGV2LCBzY2gtPnNjaGlkLnNzaWQpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2lvX3ZhbGlkYXRlX2lvX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwkvKiBJbml0aWFsaXphdGlvbiBmb3IgaW8gc3ViY2hhbm5lbHMuICovCisJaWYgKCFjc3Nfc2NoX2lzX3ZhbGlkKCZzY2gtPnNjaGliKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwkvKiBEZXZubyBpcyB2YWxpZC4gKi8KKwlyZXR1cm4gY2lvX2NoZWNrX2Rldm5vX2JsYWNrbGlzdGVkKHNjaCk7Cit9CisKK3N0YXRpYyBpbnQgY2lvX3ZhbGlkYXRlX21zZ19zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJLyogSW5pdGlhbGl6YXRpb24gZm9yIG1lc3NhZ2Ugc3ViY2hhbm5lbHMuICovCisJaWYgKCFjc3Nfc2NoX2lzX3ZhbGlkKCZzY2gtPnNjaGliKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwkvKiBEZXZubyBpcyB2YWxpZC4gKi8KKwlyZXR1cm4gY2lvX2NoZWNrX2Rldm5vX2JsYWNrbGlzdGVkKHNjaCk7Cit9CisKKy8qKgorICogY2lvX3ZhbGlkYXRlX3N1YmNoYW5uZWwgLSBiYXNpYyB2YWxpZGF0aW9uIG9mIHN1YmNoYW5uZWwKKyAqIEBzY2g6IHN1YmNoYW5uZWwgc3RydWN0dXJlIHRvIGJlIGZpbGxlZCBvdXQKKyAqIEBzY2hpZDogc3ViY2hhbm5lbCBpZAogICoKICAqIEZpbmQgb3V0IHN1YmNoYW5uZWwgdHlwZSBhbmQgaW5pdGlhbGl6ZSBzdHJ1Y3Qgc3ViY2hhbm5lbC4KICAqIFJldHVybiBjb2RlczoKLSAqICAgU1VCQ0hBTk5FTF9UWVBFX0lPIGZvciBhIG5vcm1hbCBpbyBzdWJjaGFubmVsCi0gKiAgIFNVQkNIQU5ORUxfVFlQRV9DSFNDIGZvciBhIGNoc2Mgc3ViY2hhbm5lbAotICogICBTVUJDSEFOTkVMX1RZUEVfTUVTU0FHRSBmb3IgYSBtZXNzYWdpbmcgc3ViY2hhbm5lbAotICogICBTVUJDSEFOTkVMX1RZUEVfQURNIGZvciBhIGFkbSg/KSBzdWJjaGFubmVsCisgKiAgIDAgb24gc3VjY2VzcwogICogICAtRU5YSU8gZm9yIG5vbi1kZWZpbmVkIHN1YmNoYW5uZWxzCi0gKiAgIC1FTk9ERVYgZm9yIHN1YmNoYW5uZWxzIHdpdGggaW52YWxpZCBkZXZpY2UgbnVtYmVyIG9yIGJsYWNrbGlzdGVkIGRldmljZXMKKyAqICAgLUVOT0RFViBmb3IgaW52YWxpZCBzdWJjaGFubmVscyBvciBibGFja2xpc3RlZCBkZXZpY2VzCisgKiAgIC1FSU8gZm9yIHN1YmNoYW5uZWxzIGluIGFuIGludmFsaWQgc3ViY2hhbm5lbCBzZXQKICAqLwotaW50Ci1jaW9fdmFsaWRhdGVfc3ViY2hhbm5lbCAoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCitpbnQgY2lvX3ZhbGlkYXRlX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKIAlpbnQgY2NvZGU7CiAJaW50IGVycjsKIAotCXNwcmludGYgKGRiZl90eHQsICJ2YWxzY2gleCIsIHNjaGlkLnNjaF9ubyk7Ci0JQ0lPX1RSQUNFX0VWRU5UICg0LCBkYmZfdHh0KTsKKwlzcHJpbnRmKGRiZl90eHQsICJ2YWxzY2gleCIsIHNjaGlkLnNjaF9ubyk7CisJQ0lPX1RSQUNFX0VWRU5UKDQsIGRiZl90eHQpOwogCiAJLyogTnVrZSBhbGwgZmllbGRzLiAqLwogCW1lbXNldChzY2gsIDAsIHNpemVvZihzdHJ1Y3Qgc3ViY2hhbm5lbCkpOwpAQCAtNTQ2LDY3ICs1ODUsMjEgQEAKIAkvKiBDb3B5IHN1YmNoYW5uZWwgdHlwZSBmcm9tIHBhdGggbWFuYWdlbWVudCBjb250cm9sIHdvcmQuICovCiAJc2NoLT5zdCA9IHNjaC0+c2NoaWIucG1jdy5zdDsKIAotCS8qCi0JICogLi4uIGp1c3QgYmVpbmcgY3VyaW91cyB3ZSBjaGVjayBmb3Igbm9uIEkvTyBzdWJjaGFubmVscwotCSAqLwotCWlmIChzY2gtPnN0ICE9IDApIHsKLQkJQ0lPX01TR19FVkVOVCg0LCAiU3ViY2hhbm5lbCAwLiV4LiUwNHggcmVwb3J0cyAiCi0JCQkgICAgICAibm9uLUkvTyBzdWJjaGFubmVsIHR5cGUgJTA0WFxuIiwKLQkJCSAgICAgIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIHNjaC0+c3QpOwotCQkvKiBXZSBzdG9wIGhlcmUgZm9yIG5vbi1pbyBzdWJjaGFubmVscy4gKi8KLQkJZXJyID0gc2NoLT5zdDsKKwlzd2l0Y2ggKHNjaC0+c3QpIHsKKwljYXNlIFNVQkNIQU5ORUxfVFlQRV9JTzoKKwkJZXJyID0gY2lvX3ZhbGlkYXRlX2lvX3N1YmNoYW5uZWwoc2NoKTsKKwkJYnJlYWs7CisJY2FzZSBTVUJDSEFOTkVMX1RZUEVfTVNHOgorCQllcnIgPSBjaW9fdmFsaWRhdGVfbXNnX3N1YmNoYW5uZWwoc2NoKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJyID0gMDsKKwl9CisJaWYgKGVycikKIAkJZ290byBvdXQ7Ci0JfQogCi0JLyogSW5pdGlhbGl6YXRpb24gZm9yIGlvIHN1YmNoYW5uZWxzLiAqLwotCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoLT5zY2hpYikpIHsKLQkJZXJyID0gLUVOT0RFVjsKLQkJZ290byBvdXQ7Ci0JfQotCi0JLyogRGV2bm8gaXMgdmFsaWQuICovCi0JaWYgKGlzX2JsYWNrbGlzdGVkIChzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWIucG1jdy5kZXYpKSB7Ci0JCS8qCi0JCSAqIFRoaXMgZGV2aWNlIG11c3Qgbm90IGJlIGtub3duIHRvIExpbnV4LiBTbyB3ZSBzaW1wbHkKLQkJICogc2F5IHRoYXQgdGhlcmUgaXMgbm8gZGV2aWNlIGFuZCByZXR1cm4gRU5PREVWLgotCQkgKi8KLQkJQ0lPX01TR19FVkVOVCg2LCAiQmxhY2tsaXN0ZWQgZGV2aWNlIGRldGVjdGVkICIKLQkJCSAgICAgICJhdCBkZXZubyAlMDRYLCBzdWJjaGFubmVsIHNldCAleFxuIiwKLQkJCSAgICAgIHNjaC0+c2NoaWIucG1jdy5kZXYsIHNjaC0+c2NoaWQuc3NpZCk7Ci0JCWVyciA9IC1FTk9ERVY7Ci0JCWdvdG8gb3V0OwotCX0KLQlpZiAoY2lvX2lzX2NvbnNvbGUoc2NoLT5zY2hpZCkpIHsKLQkJc2NoLT5vcG0gPSAweGZmOwotCQlzY2gtPmlzYyA9IDE7Ci0JfSBlbHNlIHsKLQkJc2NoLT5vcG0gPSBjaHBfZ2V0X3NjaF9vcG0oc2NoKTsKLQkJc2NoLT5pc2MgPSAzOwotCX0KLQlzY2gtPmxwbSA9IHNjaC0+c2NoaWIucG1jdy5wYW0gJiBzY2gtPm9wbTsKLQotCUNJT19NU0dfRVZFTlQoNiwgIkRldGVjdGVkIGRldmljZSAlMDR4IG9uIHN1YmNoYW5uZWwgMC4leC4lMDRYICIKLQkJICAgICAgIi0gUElNID0gJTAyWCwgUEFNID0gJTAyWCwgUE9NID0gJTAyWFxuIiwKLQkJICAgICAgc2NoLT5zY2hpYi5wbWN3LmRldiwgc2NoLT5zY2hpZC5zc2lkLAotCQkgICAgICBzY2gtPnNjaGlkLnNjaF9ubywgc2NoLT5zY2hpYi5wbWN3LnBpbSwKLQkJICAgICAgc2NoLT5zY2hpYi5wbWN3LnBhbSwgc2NoLT5zY2hpYi5wbWN3LnBvbSk7Ci0KLQkvKgotCSAqIFdlIG5vdyBoYXZlIHRvIGluaXRpYWxseSAuLi4KLQkgKiAgLi4uIGVuYWJsZSAiY29uY3VycmVudCBzZW5zZSIKLQkgKiAgLi4uIGVuYWJsZSAibXVsdGlwYXRoIG1vZGUiIGlmIG1vcmUgdGhhbiBvbmUKLQkgKgkgIENIUElEIGlzIGF2YWlsYWJsZS4gVGhpcyBpcyBkb25lIHJlZ2FyZGxlc3MKLQkgKgkgIHdoZXRoZXIgbXVsdGlwbGUgcGF0aHMgYXJlIGF2YWlsYWJsZSBmb3IgdXMuCi0JICovCi0Jc2NoLT5zY2hpYi5wbWN3LmNzZW5zZSA9IDE7CS8qIGNvbmN1cnJlbnQgc2Vuc2UgKi8KLQlzY2gtPnNjaGliLnBtY3cuZW5hID0gMDsKLQlpZiAoKHNjaC0+bHBtICYgKHNjaC0+bHBtIC0gMSkpICE9IDApCi0JCXNjaC0+c2NoaWIucG1jdy5tcCA9IDE7CS8qIG11bHRpcGF0aCBtb2RlICovCi0JLyogY2xlYW4gdXAgcG9zc2libGUgcmVzaWR1YWwgY21mIHN0dWZmICovCi0Jc2NoLT5zY2hpYi5wbWN3Lm1tZSA9IDA7Ci0Jc2NoLT5zY2hpYi5wbWN3Lm1iZmMgPSAwOwotCXNjaC0+c2NoaWIucG1jdy5tYmkgPSAwOwotCXNjaC0+c2NoaWIubWJhID0gMDsKKwlDSU9fTVNHX0VWRU5UKDQsICJTdWJjaGFubmVsIDAuJXguJTA0eCByZXBvcnRzIHN1YmNoYW5uZWwgdHlwZSAlMDRYXG4iLAorCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCBzY2gtPnN0KTsKIAlyZXR1cm4gMDsKIG91dDoKIAlpZiAoIWNpb19pc19jb25zb2xlKHNjaGlkKSkKQEAgLTY0Nyw3ICs2NDAsNyBAQAogCQkgKi8KIAkJaWYgKHRwaV9pbmZvLT5hZGFwdGVyX0lPID09IDEgJiYKIAkJICAgIHRwaV9pbmZvLT5pbnRfdHlwZSA9PSBJT19JTlRFUlJVUFRfVFlQRSkgewotCQkJZG9fYWRhcHRlcl9JTygpOworCQkJZG9fYWRhcHRlcl9JTyh0cGlfaW5mby0+aXNjKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAJCXNjaCA9IChzdHJ1Y3Qgc3ViY2hhbm5lbCAqKSh1bnNpZ25lZCBsb25nKXRwaV9pbmZvLT5pbnRwYXJtOwpAQCAtNzA2LDkgKzY5OSw5IEBACiAJaWYgKCFjb25zb2xlX3N1YmNoYW5uZWxfaW5fdXNlKQogCQlyZXR1cm47CiAKLQkvKiBkaXNhYmxlIGFsbCBidXQgaXNjIDEgKGNvbnNvbGUgZGV2aWNlKSAqLworCS8qIGRpc2FibGUgYWxsIGJ1dCB0aGUgY29uc29sZSBpc2MgKi8KIAlfX2N0bF9zdG9yZSAoc2F2ZV9jcjYsIDYsIDYpOwotCWNyNiA9IDB4NDAwMDAwMDA7CisJY3I2ID0gMVVMIDw8ICgzMSAtIENPTlNPTEVfSVNDKTsKIAlfX2N0bF9sb2FkIChjcjYsIDYsIDYpOwogCiAJZG8gewpAQCAtNzE2LDcgKzcwOSw3IEBACiAJCWlmICghY2lvX3RwaSgpKQogCQkJY3B1X3JlbGF4KCk7CiAJCXNwaW5fbG9jayhjb25zb2xlX3N1YmNoYW5uZWwubG9jayk7Ci0JfSB3aGlsZSAoY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnNjc3cuYWN0bCAhPSAwKTsKKwl9IHdoaWxlIChjb25zb2xlX3N1YmNoYW5uZWwuc2NoaWIuc2Nzdy5jbWQuYWN0bCAhPSAwKTsKIAkvKgogCSAqIHJlc3RvcmUgcHJldmlvdXMgaXNjIHZhbHVlCiAJICovCkBAIC03NjEsNyArNzU0LDYgQEAKIAkJLyogdW5saWtlIGluIDIuNCwgd2UgY2Fubm90IGF1dG9wcm9iZSBoZXJlLCBzaW5jZQogCQkgKiB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0gaXMgbm90IGZ1bGx5IGluaXRpYWxpemVkLgogCQkgKiBXaXRoIHNvbWUgbHVjaywgdGhlIEhXQyBjb25zb2xlIGNhbiB0YWtlIG92ZXIgKi8KLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBObyBjY3cgY29uc29sZSBmb3VuZCFcbiIpOwogCQlyZXR1cm4gLTE7CiAJfQogCXJldHVybiBjb25zb2xlX2lycTsKQEAgLTc3OCw2ICs3NzAsNyBAQAogCXNjaF9ubyA9IGNpb19nZXRfY29uc29sZV9zY2hfbm8oKTsKIAlpZiAoc2NoX25vID09IC0xKSB7CiAJCWNvbnNvbGVfc3ViY2hhbm5lbF9pbl91c2UgPSAwOworCQlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IE5vIGNjdyBjb25zb2xlIGZvdW5kIVxuIik7CiAJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwogCX0KIAltZW1zZXQoJmNvbnNvbGVfc3ViY2hhbm5lbCwgMCwgc2l6ZW9mKHN0cnVjdCBzdWJjaGFubmVsKSk7CkBAIC03OTAsMTUgKzc4MywxNSBAQAogCX0KIAogCS8qCi0JICogZW5hYmxlIGNvbnNvbGUgSS9PLWludGVycnVwdCBzdWJjbGFzcyAxCisJICogZW5hYmxlIGNvbnNvbGUgSS9PLWludGVycnVwdCBzdWJjbGFzcwogCSAqLwotCWN0bF9zZXRfYml0KDYsIDMwKTsKLQljb25zb2xlX3N1YmNoYW5uZWwuaXNjID0gMTsKLQljb25zb2xlX3N1YmNoYW5uZWwuc2NoaWIucG1jdy5pc2MgPSAxOworCWlzY19yZWdpc3RlcihDT05TT0xFX0lTQyk7CisJY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnBtY3cuaXNjID0gQ09OU09MRV9JU0M7CiAJY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnBtY3cuaW50cGFybSA9CiAJCSh1MzIpKGFkZHJfdCkmY29uc29sZV9zdWJjaGFubmVsOwogCXJldCA9IGNpb19tb2RpZnkoJmNvbnNvbGVfc3ViY2hhbm5lbCk7CiAJaWYgKHJldCkgeworCQlpc2NfdW5yZWdpc3RlcihDT05TT0xFX0lTQyk7CiAJCWNvbnNvbGVfc3ViY2hhbm5lbF9pbl91c2UgPSAwOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCX0KQEAgLTgxMCw3ICs4MDMsNyBAQAogewogCWNvbnNvbGVfc3ViY2hhbm5lbC5zY2hpYi5wbWN3LmludHBhcm0gPSAwOwogCWNpb19tb2RpZnkoJmNvbnNvbGVfc3ViY2hhbm5lbCk7Ci0JY3RsX2NsZWFyX2JpdCg2LCAyNCk7CisJaXNjX3VucmVnaXN0ZXIoQ09OU09MRV9JU0MpOwogCWNvbnNvbGVfc3ViY2hhbm5lbF9pbl91c2UgPSAwOwogfQogCkBAIC04NjQsNyArODU3LDcgQEAKIH0KIAogc3RhdGljIGludAotX19jbGVhcl9zdWJjaGFubmVsX2Vhc3koc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCitfX2NsZWFyX2lvX3N1YmNoYW5uZWxfZWFzeShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCkKIHsKIAlpbnQgcmV0cnk7CiAKQEAgLTg4Myw2ICs4NzYsMTIgQEAKIAlyZXR1cm4gLUVCVVNZOwogfQogCitzdGF0aWMgdm9pZCBfX2NsZWFyX2Noc2Nfc3ViY2hhbm5lbF9lYXN5KHZvaWQpCit7CisJLyogSXQgc2VlbXMgd2UgY2FuIG9ubHkgd2FpdCBmb3IgYSBiaXQgaGVyZSA6LyAqLworCXVkZWxheV9yZXNldCgxMDApOworfQorCiBzdGF0aWMgaW50IHBnbV9jaGVja19vY2N1cmVkOwogCiBzdGF0aWMgdm9pZCBjaW9fcmVzZXRfcGdtX2NoZWNrX2hhbmRsZXIodm9pZCkKQEAgLTkyMSwxMSArOTIwLDIyIEBACiAJY2FzZSAtRU5PREVWOgogCQlicmVhazsKIAlkZWZhdWx0OiAvKiAtRUJVU1kgKi8KLQkJaWYgKF9fY2xlYXJfc3ViY2hhbm5lbF9lYXN5KHNjaGlkKSkKLQkJCWJyZWFrOyAvKiBnaXZlIHVwLi4uICovCisJCXN3aXRjaCAoc2NoaWIucG1jdy5zdCkgeworCQljYXNlIFNVQkNIQU5ORUxfVFlQRV9JTzoKKwkJCWlmIChfX2NsZWFyX2lvX3N1YmNoYW5uZWxfZWFzeShzY2hpZCkpCisJCQkJZ290byBvdXQ7IC8qIGdpdmUgdXAuLi4gKi8KKwkJCWJyZWFrOworCQljYXNlIFNVQkNIQU5ORUxfVFlQRV9DSFNDOgorCQkJX19jbGVhcl9jaHNjX3N1YmNoYW5uZWxfZWFzeSgpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQkvKiBObyBkZWZhdWx0IGNsZWFyIHN0cmF0ZWd5ICovCisJCQlicmVhazsKKwkJfQogCQlzdHNjaChzY2hpZCwgJnNjaGliKTsKIAkJX19kaXNhYmxlX3N1YmNoYW5uZWxfZWFzeShzY2hpZCwgJnNjaGliKTsKIAl9CitvdXQ6CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEwNjgsMyArMTA3OCw2MSBAQAogCWlwbGluZm8tPmlzX3FkaW8gPSBzY2hpYi5wbWN3LnFmOwogCXJldHVybiAwOwogfQorCisvKioKKyAqIGNpb190bV9zdGFydF9rZXkgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAc2NoOiBzdWJjaGFubmVsIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIHN0YXJ0IGZ1bmN0aW9uCisgKiBAdGN3OiB0cmFuc3BvcnQtY29tbWFuZCB3b3JkIHRvIGJlIHN0YXJ0ZWQKKyAqIEBscG06IG1hc2sgb2YgcGF0aHMgdG8gdXNlCisgKiBAa2V5OiBzdG9yYWdlIGtleSB0byB1c2UgZm9yIHN0b3JhZ2UgYWNjZXNzCisgKgorICogU3RhcnQgdGhlIHRjdyBvbiB0aGUgZ2l2ZW4gc3ViY2hhbm5lbC4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8KKyAqIG90aGVyd2lzZS4KKyAqLworaW50IGNpb190bV9zdGFydF9rZXkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgc3RydWN0IHRjdyAqdGN3LCB1OCBscG0sIHU4IGtleSkKK3sKKwlpbnQgY2M7CisJdW5pb24gb3JiICpvcmIgPSAmdG9faW9fcHJpdmF0ZShzY2gpLT5vcmI7CisKKwltZW1zZXQob3JiLCAwLCBzaXplb2YodW5pb24gb3JiKSk7CisJb3JiLT50bS5pbnRwYXJtID0gKHUzMikgKGFkZHJfdCkgc2NoOworCW9yYi0+dG0ua2V5ID0ga2V5ID4+IDQ7CisJb3JiLT50bS5iID0gMTsKKwlvcmItPnRtLmxwbSA9IGxwbSA/IGxwbSA6IHNjaC0+bHBtOworCW9yYi0+dG0udGN3ID0gKHUzMikgKGFkZHJfdCkgdGN3OworCWNjID0gc3NjaChzY2gtPnNjaGlkLCBvcmIpOworCXN3aXRjaCAoY2MpIHsKKwljYXNlIDA6CisJCXJldHVybiAwOworCWNhc2UgMToKKwljYXNlIDI6CisJCXJldHVybiAtRUJVU1k7CisJZGVmYXVsdDoKKwkJcmV0dXJuIGNpb19zdGFydF9oYW5kbGVfbm90b3BlcihzY2gsIGxwbSk7CisJfQorfQorCisvKioKKyAqIGNpb190bV9pbnRyZyAtIHBlcmZvcm0gaW50ZXJyb2dhdGUgZnVuY3Rpb24KKyAqIEBzY2ggLSBzdWJjaGFubmVsIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIGludGVycm9nYXRlIGZ1bmN0aW9uCisgKgorICogSWYgdGhlIHNwZWNpZmllZCBzdWJjaGFubmVsIGlzIHJ1bm5pbmcgaW4gdHJhbnNwb3J0LW1vZGUsIHBlcmZvcm0gdGhlCisgKiBpbnRlcnJvZ2F0ZSBmdW5jdGlvbi4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8gb3RoZXJ3aWUuCisgKi8KK2ludCBjaW9fdG1faW50cmcoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwlpbnQgY2M7CisKKwlpZiAoIXRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiLnRtLmIpCisJCXJldHVybiAtRUlOVkFMOworCWNjID0geHNjaChzY2gtPnNjaGlkKTsKKwlzd2l0Y2ggKGNjKSB7CisJY2FzZSAwOgorCWNhc2UgMjoKKwkJcmV0dXJuIDA7CisJY2FzZSAxOgorCQlyZXR1cm4gLUVCVVNZOworCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PREVWOworCX0KK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2lvLmggYi9kcml2ZXJzL3MzOTAvY2lvL2Npby5oCmluZGV4IDZlOTMzYWUuLjNiMjM2ZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2lvLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaW8uaApAQCAtMyw5ICszLDEyIEBACiAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9jaW8uaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CiAjaW5jbHVkZSAiY2hzYy5oIgotI2luY2x1ZGUgInNjaGlkLmgiCiAKIC8qCiAgKiBwYXRoIG1hbmFnZW1lbnQgY29udHJvbCB3b3JkCkBAIC0xMyw3ICsxNiw3IEBACiBzdHJ1Y3QgcG1jdyB7CiAJdTMyIGludHBhcm07CQkvKiBpbnRlcnJ1cHRpb24gcGFyYW1ldGVyICovCiAJdTMyIHFmCSA6IDE7CQkvKiBxZGlvIGZhY2lsaXR5ICovCi0JdTMyIHJlczAgOiAxOwkJLyogcmVzZXJ2ZWQgemVyb3MgKi8KKwl1MzIgdwkgOiAxOwogCXUzMiBpc2MgIDogMzsJCS8qIGludGVycnVwdGlvbiBzdWJsYXNzICovCiAJdTMyIHJlczUgOiAzOwkJLyogcmVzZXJ2ZWQgemVyb3MgKi8KIAl1MzIgZW5hICA6IDE7CQkvKiBlbmFibGVkICovCkBAIC00Nyw3ICs1MCw3IEBACiAgKi8KIHN0cnVjdCBzY2hpYiB7CiAJc3RydWN0IHBtY3cgcG1jdzsJIC8qIHBhdGggbWFuYWdlbWVudCBjb250cm9sIHdvcmQgKi8KLQlzdHJ1Y3Qgc2NzdyBzY3N3OwkgLyogc3ViY2hhbm5lbCBzdGF0dXMgd29yZCAqLworCXVuaW9uIHNjc3cgc2NzdzsJIC8qIHN1YmNoYW5uZWwgc3RhdHVzIHdvcmQgKi8KIAlfX3U2NCBtYmE7ICAgICAgICAgICAgICAgLyogbWVhc3VyZW1lbnQgYmxvY2sgYWRkcmVzcyAqLwogCV9fdTggbWRhWzRdOwkJIC8qIG1vZGVsIGRlcGVuZGVudCBhcmVhICovCiB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsYWxpZ25lZCg0KSkpOwpAQCAtOTksOCArMTAyLDExIEBACiBleHRlcm4gaW50IGNpb19nZXRfb3B0aW9ucyAoc3RydWN0IHN1YmNoYW5uZWwgKik7CiBleHRlcm4gaW50IGNpb19tb2RpZnkgKHN0cnVjdCBzdWJjaGFubmVsICopOwogCitpbnQgY2lvX3RtX3N0YXJ0X2tleShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCBzdHJ1Y3QgdGN3ICp0Y3csIHU4IGxwbSwgdTgga2V5KTsKK2ludCBjaW9fdG1faW50cmcoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCk7CisKIGludCBjaW9fY3JlYXRlX3NjaF9sb2NrKHN0cnVjdCBzdWJjaGFubmVsICopOwotdm9pZCBkb19hZGFwdGVyX0lPKHZvaWQpOwordm9pZCBkb19hZGFwdGVyX0lPKHU4IGlzYyk7CiB2b2lkIGRvX0lSUShzdHJ1Y3QgcHRfcmVncyAqKTsKIAogLyogVXNlIHdpdGggY2FyZS4gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY21mLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2NtZi5jCmluZGV4IDI4MDhiNjguLmE5MGIyOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY21mLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jbWYuYwpAQCAtMzQxLDEyICszNDEsMTIgQEAKIAlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAotCWlmIChzY2gtPnNjaGliLnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSB7CisJaWYgKHNjc3dfZmN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSB7CiAJCS8qIERvbid0IGNvcHkgaWYgYSBzdGFydCBmdW5jdGlvbiBpcyBpbiBwcm9ncmVzcy4gKi8KLQkJaWYgKCghKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpICYmCi0JCSAgICAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgJgorCQlpZiAoKCEoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpICYmCisJCSAgICAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICYKIAkJICAgICAoU0NTV19BQ1RMX0RFVkFDVCB8IFNDU1dfQUNUTF9TQ0hBQ1QpKSAmJgotCQkgICAgKCEoc2NoLT5zY2hpYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSkpCisJCSAgICAoIShzY3N3X3N0Y3RsKCZzY2gtPnNjaGliLnNjc3cpICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSkpCiAJCQlyZXR1cm4gLUVCVVNZOwogCX0KIAljbWJfZGF0YSA9IGNkZXYtPnByaXZhdGUtPmNtYjsKQEAgLTYxMiw5ICs2MTIsNiBAQAogCQkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZyltZW0sIGdldF9vcmRlcihzaXplKSk7CiAJCX0gZWxzZSBpZiAoIW1lbSkgewogCQkJLyogbm8gbHVjayAqLwotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBmYWlsZWQgdG8gYWxsb2NhdGUgYXJlYSAiCi0JCQkgICAgICAgImZvciBtZWFzdXJpbmcgJWQgc3ViY2hhbm5lbHNcbiIsCi0JCQkgICAgICAgY21iX2FyZWEubnVtX2NoYW5uZWxzKTsKIAkJCXJldCA9IC1FTk9NRU07CiAJCQlnb3RvIG91dDsKIAkJfSBlbHNlIHsKQEAgLTEyMzAsMTMgKzEyMjcsOSBAQAogCXN3aXRjaCAodmFsKSB7CiAJY2FzZSAwOgogCQlyZXQgPSBkaXNhYmxlX2NtZihjZGV2KTsKLQkJaWYgKHJldCkKLQkJCWRldl9pbmZvKCZjZGV2LT5kZXYsICJkaXNhYmxlX2NtZiBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKIAkJYnJlYWs7CiAJY2FzZSAxOgogCQlyZXQgPSBlbmFibGVfY21mKGNkZXYpOwotCQlpZiAocmV0ICYmIHJldCAhPSAtRUJVU1kpCi0JCQlkZXZfaW5mbygmY2Rldi0+ZGV2LCAiZW5hYmxlX2NtZiBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKIAkJYnJlYWs7CiAJfQogCkBAIC0xMzQ0LDggKzEzMzcsNyBAQAogCSAqIHRvIGJhc2ljIG1vZGUuCiAJICovCiAJaWYgKGZvcm1hdCA9PSBDTUZfQVVUT0RFVEVDVCkgewotCQlpZiAoIWNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgfHwKLQkJICAgICFjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuZXh0X21iKSB7CisJCWlmICghY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmV4dF9tYikgewogCQkJZm9ybWF0ID0gQ01GX0JBU0lDOwogCQl9IGVsc2UgewogCQkJZm9ybWF0ID0gQ01GX0VYVEVOREVEOwpAQCAtMTM2NSw4ICsxMzU3LDYgQEAKIAkJY21ib3BzID0gJmNtYm9wc19leHRlbmRlZDsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fRVJSICJjaW86IEludmFsaWQgZm9ybWF0ICVkIGZvciBjaGFubmVsICIKLQkJCSJtZWFzdXJlbWVudCBmYWNpbGl0eVxuIiwgZm9ybWF0KTsKIAkJcmV0dXJuIDE7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5jIGIvZHJpdmVycy9zMzkwL2Npby9jc3MuYwppbmRleCBhNzY5NTY1Li40NmMwMjFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY3NzLmMKQEAgLTIsOCArMiw3IEBACiAgKiAgZHJpdmVycy9zMzkwL2Npby9jc3MuYwogICogIGRyaXZlciBmb3IgY2hhbm5lbCBzdWJzeXN0ZW0KICAqCi0gKiAgICBDb3B5cmlnaHQgKEMpIDIwMDIgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsCi0gKgkJCSBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMiwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEFybmQgQmVyZ21hbm4gKGFybmRiQGRlLmlibS5jb20pCiAgKgkJIENvcm5lbGlhIEh1Y2sgKGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbSkKICAqLwpAQCAtMTQsNyArMTMsOSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KIAorI2luY2x1ZGUgIi4uL3MzOTBtYWNoLmgiCiAjaW5jbHVkZSAiY3NzLmgiCiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCkBAIC0zMCw4ICszMSw2IEBACiAKIHN0cnVjdCBjaGFubmVsX3N1YnN5c3RlbSAqY2hhbm5lbF9zdWJzeXN0ZW1zW19fTUFYX0NTU0lEICsgMV07CiAKLWludCBjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsID0gMDsKLQogaW50CiBmb3JfZWFjaF9zdWJjaGFubmVsKGludCgqZm4pKHN0cnVjdCBzdWJjaGFubmVsX2lkLCB2b2lkICopLCB2b2lkICpkYXRhKQogewpAQCAtMTIxLDI1ICsxMjAsNiBAQAogCQlrZnJlZShzY2gpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCX0KLQotCWlmIChzY2gtPnN0ICE9IFNVQkNIQU5ORUxfVFlQRV9JTykgewotCQkvKiBGb3Igbm93IHdlIGlnbm9yZSBhbGwgbm9uLWlvIHN1YmNoYW5uZWxzLiAqLwotCQlrZnJlZShzY2gpOwotCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKLQl9Ci0KLQkvKiAKLQkgKiBTZXQgaW50cGFybSB0byBzdWJjaGFubmVsIGFkZHJlc3MuCi0JICogVGhpcyBpcyBmaW5lIGV2ZW4gb24gNjRiaXQgc2luY2UgdGhlIHN1YmNoYW5uZWwgaXMgYWx3YXlzIGxvY2F0ZWQKLQkgKiB1bmRlciAyRy4KLQkgKi8KLQlzY2gtPnNjaGliLnBtY3cuaW50cGFybSA9ICh1MzIpKGFkZHJfdClzY2g7Ci0JcmV0ID0gY2lvX21vZGlmeShzY2gpOwotCWlmIChyZXQpIHsKLQkJa2ZyZWUoc2NoLT5sb2NrKTsKLQkJa2ZyZWUoc2NoKTsKLQkJcmV0dXJuIEVSUl9QVFIocmV0KTsKLQl9CiAJcmV0dXJuIHNjaDsKIH0KIApAQCAtMTc3LDEyICsxNTcsMTggQEAKIAlyZXR1cm4gcmV0OwogfQogCisvKioKKyAqIGNzc19zY2hfZGV2aWNlX3VucmVnaXN0ZXIgLSB1bnJlZ2lzdGVyIGEgc3ViY2hhbm5lbAorICogQHNjaDogc3ViY2hhbm5lbCB0byBiZSB1bnJlZ2lzdGVyZWQKKyAqLwogdm9pZCBjc3Nfc2NoX2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CiAJbXV0ZXhfbG9jaygmc2NoLT5yZWdfbXV0ZXgpOwotCWRldmljZV91bnJlZ2lzdGVyKCZzY2gtPmRldik7CisJaWYgKGRldmljZV9pc19yZWdpc3RlcmVkKCZzY2gtPmRldikpCisJCWRldmljZV91bnJlZ2lzdGVyKCZzY2gtPmRldik7CiAJbXV0ZXhfdW5sb2NrKCZzY2gtPnJlZ19tdXRleCk7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChjc3Nfc2NoX2RldmljZV91bnJlZ2lzdGVyKTsKIAogc3RhdGljIHZvaWQgc3NkX2Zyb21fcG1jdyhzdHJ1Y3QgY2hzY19zc2RfaW5mbyAqc3NkLCBzdHJ1Y3QgcG1jdyAqcG1jdykKIHsKQEAgLTIyOSw2ICsyMTUsNDEgQEAKIAl9CiB9CiAKK3N0YXRpYyBzc2l6ZV90IHR5cGVfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gdG9fc3ViY2hhbm5lbChkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJTAxeFxuIiwgc2NoLT5zdCk7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUih0eXBlLCAwNDQ0LCB0eXBlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBtb2RhbGlhc19zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgICAgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gdG9fc3ViY2hhbm5lbChkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiY3NzOnQlMDFYXG4iLCBzY2gtPnN0KTsKK30KKworc3RhdGljIERFVklDRV9BVFRSKG1vZGFsaWFzLCAwNDQ0LCBtb2RhbGlhc19zaG93LCBOVUxMKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnN1YmNoX2F0dHJzW10gPSB7CisJJmRldl9hdHRyX3R5cGUuYXR0ciwKKwkmZGV2X2F0dHJfbW9kYWxpYXMuYXR0ciwKKwlOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgc3ViY2hfYXR0cl9ncm91cCA9IHsKKwkuYXR0cnMgPSBzdWJjaF9hdHRycywKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpkZWZhdWx0X3N1YmNoX2F0dHJfZ3JvdXBzW10gPSB7CisJJnN1YmNoX2F0dHJfZ3JvdXAsCisJTlVMTCwKK307CisKIHN0YXRpYyBpbnQgY3NzX3JlZ2lzdGVyX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKIHsKIAlpbnQgcmV0OwpAQCAtMjM3LDE2ICsyNTgsMTcgQEAKIAlzY2gtPmRldi5wYXJlbnQgPSAmY2hhbm5lbF9zdWJzeXN0ZW1zWzBdLT5kZXZpY2U7CiAJc2NoLT5kZXYuYnVzID0gJmNzc19idXNfdHlwZTsKIAlzY2gtPmRldi5yZWxlYXNlID0gJmNzc19zdWJjaGFubmVsX3JlbGVhc2U7Ci0Jc2NoLT5kZXYuZ3JvdXBzID0gc3ViY2hfYXR0cl9ncm91cHM7CisJc2NoLT5kZXYuZ3JvdXBzID0gZGVmYXVsdF9zdWJjaF9hdHRyX2dyb3VwczsKIAkvKgogCSAqIFdlIGRvbid0IHdhbnQgdG8gZ2VuZXJhdGUgdWV2ZW50cyBmb3IgSS9PIHN1YmNoYW5uZWxzIHRoYXQgZG9uJ3QKIAkgKiBoYXZlIGEgd29ya2luZyBjY3cgZGV2aWNlIGJlaGluZCB0aGVtIHNpbmNlIHRoZXkgd2lsbCBiZQogCSAqIHVucmVnaXN0ZXJlZCBiZWZvcmUgdGhleSBjYW4gYmUgdXNlZCBhbnl3YXksIHNvIHdlIGRlbGF5IHRoZSBhZGQKIAkgKiB1ZXZlbnQgdW50aWwgYWZ0ZXIgZGV2aWNlIHJlY29nbml0aW9uIHdhcyBzdWNjZXNzZnVsLgorCSAqIE5vdGUgdGhhdCB3ZSBzdXBwcmVzcyB0aGUgdWV2ZW50IGZvciBhbGwgc3ViY2hhbm5lbCB0eXBlczsKKwkgKiB0aGUgc3ViY2hhbm5lbCBkcml2ZXIgY2FuIGRlY2lkZSBpdHNlbGYgd2hlbiBpdCB3YW50cyB0byBpbmZvcm0KKwkgKiB1c2Vyc3BhY2Ugb2YgaXRzIGV4aXN0ZW5jZS4KIAkgKi8KLQlpZiAoIWNpb19pc19jb25zb2xlKHNjaC0+c2NoaWQpKQotCQkvKiBDb25zb2xlIGlzIHNwZWNpYWwsIG5vIG5lZWQgdG8gc3VwcHJlc3MuICovCi0JCXNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcyA9IDE7CisJc2NoLT5kZXYudWV2ZW50X3N1cHByZXNzID0gMTsKIAljc3NfdXBkYXRlX3NzZF9pbmZvKHNjaCk7CiAJLyogbWFrZSBpdCBrbm93biB0byB0aGUgc3lzdGVtICovCiAJcmV0ID0gY3NzX3NjaF9kZXZpY2VfcmVnaXN0ZXIoc2NoKTsKQEAgLTI1NSwxMCArMjc3LDE5IEBACiAJCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCByZXQpOwogCQlyZXR1cm4gcmV0OwogCX0KKwlpZiAoIXNjaC0+ZHJpdmVyKSB7CisJCS8qCisJCSAqIE5vIGRyaXZlciBtYXRjaGVkLiBHZW5lcmF0ZSB0aGUgdWV2ZW50IG5vdyBzbyB0aGF0CisJCSAqIGEgZml0dGluZyBkcml2ZXIgbW9kdWxlIG1heSBiZSBsb2FkZWQgYmFzZWQgb24gdGhlCisJCSAqIG1vZGFsaWFzLgorCQkgKi8KKwkJc2NoLT5kZXYudWV2ZW50X3N1cHByZXNzID0gMDsKKwkJa29iamVjdF91ZXZlbnQoJnNjaC0+ZGV2LmtvYmosIEtPQkpfQUREKTsKKwl9CiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBjc3NfcHJvYmVfZGV2aWNlKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQoraW50IGNzc19wcm9iZV9kZXZpY2Uoc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCiB7CiAJaW50IHJldDsKIAlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoOwpAQCAtMzAxLDExNiArMzMyLDEyIEBACiB7CiAJaWYgKChzY2hpYi0+cG1jdy5zdCA9PSBTVUJDSEFOTkVMX1RZUEVfSU8pICYmICFzY2hpYi0+cG1jdy5kbnYpCiAJCXJldHVybiAwOworCWlmICgoc2NoaWItPnBtY3cuc3QgPT0gU1VCQ0hBTk5FTF9UWVBFX01TRykgJiYgIXNjaGliLT5wbWN3LncpCisJCXJldHVybiAwOwogCXJldHVybiAxOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoY3NzX3NjaF9pc192YWxpZCk7CiAKLXN0YXRpYyBpbnQgY3NzX2dldF9zdWJjaGFubmVsX3N0YXR1cyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBzY2hpYiBzY2hpYjsKLQotCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoaWIpKQotCQlyZXR1cm4gQ0lPX0dPTkU7Ci0JaWYgKCFjc3Nfc2NoX2lzX3ZhbGlkKCZzY2hpYikpCi0JCXJldHVybiBDSU9fR09ORTsKLQlpZiAoc2NoLT5zY2hpYi5wbWN3LmRudiAmJiAoc2NoaWIucG1jdy5kZXYgIT0gc2NoLT5zY2hpYi5wbWN3LmRldikpCi0JCXJldHVybiBDSU9fUkVWQUxJREFURTsKLQlpZiAoIXNjaC0+bHBtKQotCQlyZXR1cm4gQ0lPX05PX1BBVEg7Ci0JcmV0dXJuIENJT19PUEVSOwotfQotCi1zdGF0aWMgaW50IGNzc19ldmFsdWF0ZV9rbm93bl9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBzbG93KQotewotCWludCBldmVudCwgcmV0LCBkaXNjOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JZW51bSB7IE5PTkUsIFVOUkVHSVNURVIsIFVOUkVHSVNURVJfUFJPQkUsIFJFUFJPQkUgfSBhY3Rpb247Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKLQlkaXNjID0gZGV2aWNlX2lzX2Rpc2Nvbm5lY3RlZChzY2gpOwotCWlmIChkaXNjICYmIHNsb3cpIHsKLQkJLyogRGlzY29ubmVjdGVkIGRldmljZXMgYXJlIGV2YWx1YXRlZCBkaXJlY3RseSBvbmx5LiovCi0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybiAwOwotCX0KLQkvKiBObyBpbnRlcnJ1cHQgYWZ0ZXIgbWFjaGluZSBjaGVjayAtIGtpbGwgcGVuZGluZyB0aW1lcnMuICovCi0JZGV2aWNlX2tpbGxfcGVuZGluZ190aW1lcihzY2gpOwotCWlmICghZGlzYyAmJiAhc2xvdykgewotCQkvKiBOb24tZGlzY29ubmVjdGVkIGRldmljZXMgYXJlIGV2YWx1YXRlZCBvbiB0aGUgc2xvdyBwYXRoLiAqLwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm4gLUVBR0FJTjsKLQl9Ci0JZXZlbnQgPSBjc3NfZ2V0X3N1YmNoYW5uZWxfc3RhdHVzKHNjaCk7Ci0JQ0lPX01TR19FVkVOVCg0LCAiRXZhbHVhdGluZyBzY2hpZCAwLiV4LiUwNHgsIGV2ZW50ICVkLCAlcywgJXMgcGF0aC5cbiIsCi0JCSAgICAgIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIGV2ZW50LAotCQkgICAgICBkaXNjID8gImRpc2Nvbm5lY3RlZCIgOiAibm9ybWFsIiwKLQkJICAgICAgc2xvdyA/ICJzbG93IiA6ICJmYXN0Iik7Ci0JLyogQW5hbHl6ZSBzdWJjaGFubmVsIHN0YXR1cy4gKi8KLQlhY3Rpb24gPSBOT05FOwotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIENJT19OT19QQVRIOgotCQlpZiAoZGlzYykgewotCQkJLyogQ2hlY2sgaWYgcGF0aHMgaGF2ZSBiZWNvbWUgYXZhaWxhYmxlLiAqLwotCQkJYWN0aW9uID0gUkVQUk9CRTsKLQkJCWJyZWFrOwotCQl9Ci0JCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgQ0lPX0dPTkU6Ci0JCS8qIFByZXZlbnQgdW53YW50ZWQgZWZmZWN0cyB3aGVuIG9wZW5pbmcgbG9jay4gKi8KLQkJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOwotCQlkZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChzY2gpOwotCQkvKiBBc2sgZHJpdmVyIHdoYXQgdG8gZG8gd2l0aCBkZXZpY2UuICovCi0JCWFjdGlvbiA9IFVOUkVHSVNURVI7Ci0JCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+bm90aWZ5KSB7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwotCQkJcmV0ID0gc2NoLT5kcml2ZXItPm5vdGlmeShzY2gsIGV2ZW50KTsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKHNjaC0+bG9jaywgZmxhZ3MpOwotCQkJaWYgKHJldCkKLQkJCQlhY3Rpb24gPSBOT05FOwotCQl9Ci0JCWJyZWFrOwotCWNhc2UgQ0lPX1JFVkFMSURBVEU6Ci0JCS8qIERldmljZSB3aWxsIGJlIHJlbW92ZWQsIHNvIG5vIG5vdGlmeSBuZWNlc3NhcnkuICovCi0JCWlmIChkaXNjKQotCQkJLyogUmVwcm9iZSBiZWNhdXNlIGltbWVkaWF0ZSB1bnJlZ2lzdGVyIG1pZ2h0IGJsb2NrLiAqLwotCQkJYWN0aW9uID0gUkVQUk9CRTsKLQkJZWxzZQotCQkJYWN0aW9uID0gVU5SRUdJU1RFUl9QUk9CRTsKLQkJYnJlYWs7Ci0JY2FzZSBDSU9fT1BFUjoKLQkJaWYgKGRpc2MpCi0JCQkvKiBHZXQgZGV2aWNlIG9wZXJhdGlvbmFsIGFnYWluLiAqLwotCQkJYWN0aW9uID0gUkVQUk9CRTsKLQkJYnJlYWs7Ci0JfQotCS8qIFBlcmZvcm0gYWN0aW9uLiAqLwotCXJldCA9IDA7Ci0Jc3dpdGNoIChhY3Rpb24pIHsKLQljYXNlIFVOUkVHSVNURVI6Ci0JY2FzZSBVTlJFR0lTVEVSX1BST0JFOgotCQkvKiBVbnJlZ2lzdGVyIGRldmljZSAod2lsbCB1c2Ugc3ViY2hhbm5lbCBsb2NrKS4gKi8KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkJY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3RlcihzY2gpOwotCQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKLQotCQkvKiBSZXNldCBpbnRwYXJtIHRvIHplcm9lcy4gKi8KLQkJc2NoLT5zY2hpYi5wbWN3LmludHBhcm0gPSAwOwotCQljaW9fbW9kaWZ5KHNjaCk7Ci0JCWJyZWFrOwotCWNhc2UgUkVQUk9CRToKLQkJZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzY2gpOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlicmVhazsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkvKiBQcm9iZSBpZiBuZWNlc3NhcnkuICovCi0JaWYgKGFjdGlvbiA9PSBVTlJFR0lTVEVSX1BST0JFKQotCQlyZXQgPSBjc3NfcHJvYmVfZGV2aWNlKHNjaC0+c2NoaWQpOwotCi0JcmV0dXJuIHJldDsKLX0KLQogc3RhdGljIGludCBjc3NfZXZhbHVhdGVfbmV3X3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQsIGludCBzbG93KQogewogCXN0cnVjdCBzY2hpYiBzY2hpYjsKQEAgLTQyOSw2ICszNTYsMjEgQEAKIAlyZXR1cm4gY3NzX3Byb2JlX2RldmljZShzY2hpZCk7CiB9CiAKK3N0YXRpYyBpbnQgY3NzX2V2YWx1YXRlX2tub3duX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgaW50IHNsb3cpCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoc2NoLT5kcml2ZXIpIHsKKwkJaWYgKHNjaC0+ZHJpdmVyLT5zY2hfZXZlbnQpCisJCQlyZXQgPSBzY2gtPmRyaXZlci0+c2NoX2V2ZW50KHNjaCwgc2xvdyk7CisJCWVsc2UKKwkJCWRldl9kYmcoJnNjaC0+ZGV2LAorCQkJCSJHb3Qgc3ViY2hhbm5lbCBtYWNoaW5lIGNoZWNrIGJ1dCAiCisJCQkJIm5vIHNjaF9ldmVudCBoYW5kbGVyIHByb3ZpZGVkLlxuIik7CisJfQorCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyB2b2lkIGNzc19ldmFsdWF0ZV9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLCBpbnQgc2xvdykKIHsKIAlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoOwpAQCAtNTk2LDE4ICs1MzgsMjkgQEAKIC8qCiAgKiBDYWxsZWQgZnJvbSB0aGUgbWFjaGluZSBjaGVjayBoYW5kbGVyIGZvciBzdWJjaGFubmVsIHJlcG9ydCB3b3Jkcy4KICAqLwotdm9pZCBjc3NfcHJvY2Vzc19jcncoaW50IHJzaWQxLCBpbnQgcnNpZDIpCitzdGF0aWMgdm9pZCBjc3NfcHJvY2Vzc19jcncoc3RydWN0IGNydyAqY3J3MCwgc3RydWN0IGNydyAqY3J3MSwgaW50IG92ZXJmbG93KQogewogCXN0cnVjdCBzdWJjaGFubmVsX2lkIG1jaGtfc2NoaWQ7CiAKLQlDSU9fQ1JXX0VWRU5UKDIsICJzb3VyY2UgaXMgc3ViY2hhbm5lbCAlMDRYLCBzdWJzeXN0ZW0gaWQgJXhcbiIsCi0JCSAgICAgIHJzaWQxLCByc2lkMik7CisJaWYgKG92ZXJmbG93KSB7CisJCWNzc19zY2hlZHVsZV9ldmFsX2FsbCgpOworCQlyZXR1cm47CisJfQorCUNJT19DUldfRVZFTlQoMiwgIkNSVzAgcmVwb3J0cyBzbGN0PSVkLCBvZmx3PSVkLCAiCisJCSAgICAgICJjaG49JWQsIHJzYz0lWCwgYW5jPSVkLCBlcmM9JVgsIHJzaWQ9JVhcbiIsCisJCSAgICAgIGNydzAtPnNsY3QsIGNydzAtPm9mbHcsIGNydzAtPmNobiwgY3J3MC0+cnNjLCBjcncwLT5hbmMsCisJCSAgICAgIGNydzAtPmVyYywgY3J3MC0+cnNpZCk7CisJaWYgKGNydzEpCisJCUNJT19DUldfRVZFTlQoMiwgIkNSVzEgcmVwb3J0cyBzbGN0PSVkLCBvZmx3PSVkLCAiCisJCQkgICAgICAiY2huPSVkLCByc2M9JVgsIGFuYz0lZCwgZXJjPSVYLCByc2lkPSVYXG4iLAorCQkJICAgICAgY3J3MS0+c2xjdCwgY3J3MS0+b2ZsdywgY3J3MS0+Y2huLCBjcncxLT5yc2MsCisJCQkgICAgICBjcncxLT5hbmMsIGNydzEtPmVyYywgY3J3MS0+cnNpZCk7CiAJaW5pdF9zdWJjaGFubmVsX2lkKCZtY2hrX3NjaGlkKTsKLQltY2hrX3NjaGlkLnNjaF9ubyA9IHJzaWQxOwotCWlmIChyc2lkMiAhPSAwKQotCQltY2hrX3NjaGlkLnNzaWQgPSAocnNpZDIgPj4gOCkgJiAzOworCW1jaGtfc2NoaWQuc2NoX25vID0gY3J3MC0+cnNpZDsKKwlpZiAoY3J3MSkKKwkJbWNoa19zY2hpZC5zc2lkID0gKGNydzEtPnJzaWQgPj4gOCkgJiAzOwogCi0JLyogCisJLyoKIAkgKiBTaW5jZSB3ZSBhcmUgYWx3YXlzIHByZXNlbnRlZCB3aXRoIElQSSBpbiB0aGUgQ1JXLCB3ZSBoYXZlIHRvCiAJICogdXNlIHN0c2NoKCkgdG8gZmluZCBvdXQgaWYgdGhlIHN1YmNoYW5uZWwgaW4gcXVlc3Rpb24gaGFzIGNvbWUKIAkgKiBvciBnb25lLgpAQCAtNjU4LDcgKzYxMSw3IEBACiBzdGF0aWMgdm9pZCBfX2luaXQKIGNzc19nZW5lcmF0ZV9wZ2lkKHN0cnVjdCBjaGFubmVsX3N1YnN5c3RlbSAqY3NzLCB1MzIgdG9kX2hpZ2gpCiB7Ci0JaWYgKGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgJiYgY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLm1jc3MpIHsKKwlpZiAoY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLm1jc3MpIHsKIAkJY3NzLT5nbG9iYWxfcGdpZC5wZ2lkX2hpZ2guZXh0X2Nzc2lkLnZlcnNpb24gPSAweDgwOwogCQljc3MtPmdsb2JhbF9wZ2lkLnBnaWRfaGlnaC5leHRfY3NzaWQuY3NzaWQgPSBjc3MtPmNzc2lkOwogCX0gZWxzZSB7CkBAIC03OTUsOCArNzQ4LDYgQEAKIAlyZXQgPSBjaHNjX2RldGVybWluZV9jc3NfY2hhcmFjdGVyaXN0aWNzKCk7CiAJaWYgKHJldCA9PSAtRU5PTUVNKQogCQlnb3RvIG91dDsgLyogTm8gbmVlZCB0byBjb250aW51ZS4gKi8KLQlpZiAocmV0ID09IDApCi0JCWNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgPSAxOwogCiAJcmV0ID0gY2hzY19hbGxvY19zZWlfYXJlYSgpOwogCWlmIChyZXQpCkBAIC04MDYsNiArNzU3LDEwIEBACiAJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKKwlyZXQgPSBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKENSV19SU0NfU0NILCBjc3NfcHJvY2Vzc19jcncpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCiAJaWYgKChyZXQgPSBidXNfcmVnaXN0ZXIoJmNzc19idXNfdHlwZSkpKQogCQlnb3RvIG91dDsKIApAQCAtODM2LDggKzc5MSw3IEBACiAJCXJldCA9IGRldmljZV9yZWdpc3RlcigmY3NzLT5kZXZpY2UpOwogCQlpZiAocmV0KQogCQkJZ290byBvdXRfZnJlZV9hbGw7Ci0JCWlmIChjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsICYmCi0JCSAgICBjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2VjbSkgeworCQlpZiAoY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNlY20pIHsKIAkJCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZSgmY3NzLT5kZXZpY2UsCiAJCQkJCQkgJmRldl9hdHRyX2NtX2VuYWJsZSk7CiAJCQlpZiAocmV0KQpAQCAtODUyLDcgKzgwNiw4IEBACiAJCWdvdG8gb3V0X3BzZXVkbzsKIAljc3NfaW5pdF9kb25lID0gMTsKIAotCWN0bF9zZXRfYml0KDYsIDI4KTsKKwkvKiBFbmFibGUgZGVmYXVsdCBpc2MgZm9yIEkvTyBzdWJjaGFubmVscy4gKi8KKwlpc2NfcmVnaXN0ZXIoSU9fU0NIX0lTQyk7CiAKIAlmb3JfZWFjaF9zdWJjaGFubmVsKF9faW5pdF9jaGFubmVsX3N1YnN5c3RlbSwgTlVMTCk7CiAJcmV0dXJuIDA7CkBAIC04NzUsNyArODMwLDcgQEAKIAkJaS0tOwogCQljc3MgPSBjaGFubmVsX3N1YnN5c3RlbXNbaV07CiAJCWRldmljZV91bnJlZ2lzdGVyKCZjc3MtPnBzZXVkb19zdWJjaGFubmVsLT5kZXYpOwotCQlpZiAoY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCAmJiBjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2VjbSkKKwkJaWYgKGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zZWNtKQogCQkJZGV2aWNlX3JlbW92ZV9maWxlKCZjc3MtPmRldmljZSwKIAkJCQkJICAgJmRldl9hdHRyX2NtX2VuYWJsZSk7CiAJCWRldmljZV91bnJlZ2lzdGVyKCZjc3MtPmRldmljZSk7CkBAIC04ODMsNiArODM4LDcgQEAKIG91dF9idXM6CiAJYnVzX3VucmVnaXN0ZXIoJmNzc19idXNfdHlwZSk7CiBvdXQ6CisJczM5MF91bnJlZ2lzdGVyX2Nyd19oYW5kbGVyKENSV19SU0NfQ1NTKTsKIAljaHNjX2ZyZWVfc2VpX2FyZWEoKTsKIAlrZnJlZShzbG93X3N1YmNoYW5uZWxfc2V0KTsKIAlwcmludGsoS0VSTl9XQVJOSU5HImNpbzogZmFpbGVkIHRvIGluaXRpYWxpemUgY3NzIGRyaXZlciAoJWQpIVxuIiwKQEAgLTg5NSwxOSArODUxLDE2IEBACiAJcmV0dXJuIHNjaCA9PSB0b19jc3Moc2NoLT5kZXYucGFyZW50KS0+cHNldWRvX3N1YmNoYW5uZWw7CiB9CiAKLS8qCi0gKiBmaW5kIGEgZHJpdmVyIGZvciBhIHN1YmNoYW5uZWwuIFRoZXkgaWRlbnRpZnkgYnkgdGhlIHN1YmNoYW5uZWwKLSAqIHR5cGUgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhlIGNvbnNvbGUgc3ViY2hhbm5lbCBkcml2ZXIgaGFzIGl0cyBvd24KLSAqIHN1YmNoYW5uZWwgdHlwZSBhbHRob3VnaCB0aGUgZGV2aWNlIGlzIGFuIGkvbyBzdWJjaGFubmVsCi0gKi8KLXN0YXRpYyBpbnQKLWNzc19idXNfbWF0Y2ggKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9kcml2ZXIgKmRydikKK3N0YXRpYyBpbnQgY3NzX2J1c19tYXRjaChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCiB7CiAJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoZGV2KTsKIAlzdHJ1Y3QgY3NzX2RyaXZlciAqZHJpdmVyID0gdG9fY3NzZHJpdmVyKGRydik7CisJc3RydWN0IGNzc19kZXZpY2VfaWQgKmlkOwogCi0JaWYgKHNjaC0+c3QgPT0gZHJpdmVyLT5zdWJjaGFubmVsX3R5cGUpCi0JCXJldHVybiAxOworCWZvciAoaWQgPSBkcml2ZXItPnN1YmNoYW5uZWxfdHlwZTsgaWQtPm1hdGNoX2ZsYWdzOyBpZCsrKSB7CisJCWlmIChzY2gtPnN0ID09IGlkLT50eXBlKQorCQkJcmV0dXJuIDE7CisJfQogCiAJcmV0dXJuIDA7CiB9CkBAIC05NDUsMTIgKzg5OCwyNSBAQAogCQlzY2gtPmRyaXZlci0+c2h1dGRvd24oc2NoKTsKIH0KIAorc3RhdGljIGludCBjc3NfdWV2ZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGtvYmpfdWV2ZW50X2VudiAqZW52KQoreworCXN0cnVjdCBzdWJjaGFubmVsICpzY2ggPSB0b19zdWJjaGFubmVsKGRldik7CisJaW50IHJldDsKKworCXJldCA9IGFkZF91ZXZlbnRfdmFyKGVudiwgIlNUPSUwMVgiLCBzY2gtPnN0KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCXJldCA9IGFkZF91ZXZlbnRfdmFyKGVudiwgIk1PREFMSUFTPWNzczp0JTAxWCIsIHNjaC0+c3QpOworCXJldHVybiByZXQ7Cit9CisKIHN0cnVjdCBidXNfdHlwZSBjc3NfYnVzX3R5cGUgPSB7CiAJLm5hbWUgICAgID0gImNzcyIsCiAJLm1hdGNoICAgID0gY3NzX2J1c19tYXRjaCwKIAkucHJvYmUgICAgPSBjc3NfcHJvYmUsCiAJLnJlbW92ZSAgID0gY3NzX3JlbW92ZSwKIAkuc2h1dGRvd24gPSBjc3Nfc2h1dGRvd24sCisJLnVldmVudCAgID0gY3NzX3VldmVudCwKIH07CiAKIC8qKgpAQCAtOTg1LDQgKzk1MSwzIEBACiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIEVYUE9SVF9TWU1CT0woY3NzX2J1c190eXBlKTsKLUVYUE9SVF9TWU1CT0xfR1BMKGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jc3MuaCBiL2RyaXZlcnMvczM5MC9jaW8vY3NzLmgKaW5kZXggZTE5MTM1MS4uNTdlYmYxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jc3MuaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5oCkBAIC05LDggKzksNyBAQAogCiAjaW5jbHVkZSA8YXNtL2Npby5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgotCi0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogLyoKICAqIHBhdGggZ3JvdXBpbmcgc3R1ZmYKQEAgLTU4LDIwICs1NywyOCBAQAogCV9fdTMyIHRvZF9oaWdoOwkJLyogaGlnaCB3b3JkIFRPRCBjbG9jayAqLwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKLS8qCi0gKiBBIGNzcyBkcml2ZXIgaGFuZGxlcyBhbGwgc3ViY2hhbm5lbHMgb2Ygb25lIHR5cGUuCi0gKiBDdXJyZW50bHksIHdlIG9ubHkgY2FyZSBhYm91dCBJL08gc3ViY2hhbm5lbHMgKHR5cGUgMCksIHRoZXNlCi0gKiBoYXZlIGEgY2N3X2RldmljZSBjb25uZWN0ZWQgdG8gdGhlbS4KLSAqLwogc3RydWN0IHN1YmNoYW5uZWw7CitzdHJ1Y3QgY2hwX2xpbms7CisvKioKKyAqIHN0cnVjdCBjc3NfZHJpdmVyIC0gZGV2aWNlIGRyaXZlciBmb3Igc3ViY2hhbm5lbHMKKyAqIEBvd25lcjogb3duaW5nIG1vZHVsZQorICogQHN1YmNoYW5uZWxfdHlwZTogc3ViY2hhbm5lbCB0eXBlIHN1cHBvcnRlZCBieSB0aGlzIGRyaXZlcgorICogQGRydjogZW1iZWRkZWQgZGV2aWNlIGRyaXZlciBzdHJ1Y3R1cmUKKyAqIEBpcnE6IGNhbGxlZCBvbiBpbnRlcnJ1cHRzCisgKiBAY2hwX2V2ZW50OiBjYWxsZWQgZm9yIGV2ZW50cyBhZmZlY3RpbmcgYSBjaGFubmVsIHBhdGgKKyAqIEBzY2hfZXZlbnQ6IGNhbGxlZCBmb3IgZXZlbnRzIGFmZmVjdGluZyB0aGUgc3ViY2hhbm5lbAorICogQHByb2JlOiBmdW5jdGlvbiBjYWxsZWQgb24gcHJvYmUKKyAqIEByZW1vdmU6IGZ1bmN0aW9uIGNhbGxlZCBvbiByZW1vdmUKKyAqIEBzaHV0ZG93bjogY2FsbGVkIGF0IGRldmljZSBzaHV0ZG93bgorICogQG5hbWU6IG5hbWUgb2YgdGhlIGRldmljZSBkcml2ZXIKKyAqLwogc3RydWN0IGNzc19kcml2ZXIgewogCXN0cnVjdCBtb2R1bGUgKm93bmVyOwotCXVuc2lnbmVkIGludCBzdWJjaGFubmVsX3R5cGU7CisJc3RydWN0IGNzc19kZXZpY2VfaWQgKnN1YmNoYW5uZWxfdHlwZTsKIAlzdHJ1Y3QgZGV2aWNlX2RyaXZlciBkcnY7CiAJdm9pZCAoKmlycSkoc3RydWN0IHN1YmNoYW5uZWwgKik7Ci0JaW50ICgqbm90aWZ5KShzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBpbnQpOwotCXZvaWQgKCp2ZXJpZnkpKHN0cnVjdCBzdWJjaGFubmVsICopOwotCXZvaWQgKCp0ZXJtaW5hdGlvbikoc3RydWN0IHN1YmNoYW5uZWwgKik7CisJaW50ICgqY2hwX2V2ZW50KShzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBzdHJ1Y3QgY2hwX2xpbmsgKiwgaW50KTsKKwlpbnQgKCpzY2hfZXZlbnQpKHN0cnVjdCBzdWJjaGFubmVsICosIGludCk7CiAJaW50ICgqcHJvYmUpKHN0cnVjdCBzdWJjaGFubmVsICopOwogCWludCAoKnJlbW92ZSkoc3RydWN0IHN1YmNoYW5uZWwgKik7CiAJdm9pZCAoKnNodXRkb3duKShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKQEAgLTg5LDEzICs5NiwxMyBAQAogZXh0ZXJuIHZvaWQgY3NzX2RyaXZlcl91bnJlZ2lzdGVyKHN0cnVjdCBjc3NfZHJpdmVyICopOwogCiBleHRlcm4gdm9pZCBjc3Nfc2NoX2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCBzdWJjaGFubmVsICopOwotZXh0ZXJuIHN0cnVjdCBzdWJjaGFubmVsICogZ2V0X3N1YmNoYW5uZWxfYnlfc2NoaWQoc3RydWN0IHN1YmNoYW5uZWxfaWQpOworZXh0ZXJuIGludCBjc3NfcHJvYmVfZGV2aWNlKHN0cnVjdCBzdWJjaGFubmVsX2lkKTsKK2V4dGVybiBzdHJ1Y3Qgc3ViY2hhbm5lbCAqZ2V0X3N1YmNoYW5uZWxfYnlfc2NoaWQoc3RydWN0IHN1YmNoYW5uZWxfaWQpOwogZXh0ZXJuIGludCBjc3NfaW5pdF9kb25lOwogaW50IGZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKGludCAoKmZuX2tub3duKShzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCB2b2lkICopLAogCQkJICAgICAgIGludCAoKmZuX3Vua25vd24pKHN0cnVjdCBzdWJjaGFubmVsX2lkLAogCQkJICAgICAgIHZvaWQgKiksIHZvaWQgKmRhdGEpOwogZXh0ZXJuIGludCBmb3JfZWFjaF9zdWJjaGFubmVsKGludCgqZm4pKHN0cnVjdCBzdWJjaGFubmVsX2lkLCB2b2lkICopLCB2b2lkICopOwotZXh0ZXJuIHZvaWQgY3NzX3Byb2Nlc3NfY3J3KGludCwgaW50KTsKIGV4dGVybiB2b2lkIGNzc19yZWl0ZXJhdGVfc3ViY2hhbm5lbHModm9pZCk7CiB2b2lkIGNzc191cGRhdGVfc3NkX2luZm8oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCk7CiAKQEAgLTEyMSwyMCArMTI4LDYgQEAKIGV4dGVybiBzdHJ1Y3QgYnVzX3R5cGUgY3NzX2J1c190eXBlOwogZXh0ZXJuIHN0cnVjdCBjaGFubmVsX3N1YnN5c3RlbSAqY2hhbm5lbF9zdWJzeXN0ZW1zW107CiAKLS8qIFNvbWUgaGVscGVyIGZ1bmN0aW9ucyBmb3IgZGlzY29ubmVjdGVkIHN0YXRlLiAqLwotaW50IGRldmljZV9pc19kaXNjb25uZWN0ZWQoc3RydWN0IHN1YmNoYW5uZWwgKik7Ci12b2lkIGRldmljZV9zZXRfZGlzY29ubmVjdGVkKHN0cnVjdCBzdWJjaGFubmVsICopOwotdm9pZCBkZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHN0cnVjdCBzdWJjaGFubmVsICopOwotCi0vKiBIZWxwZXIgZnVuY3Rpb25zIGZvciB2YXJ5IG9uL29mZi4gKi8KLWludCBkZXZpY2VfaXNfb25saW5lKHN0cnVjdCBzdWJjaGFubmVsICopOwotdm9pZCBkZXZpY2Vfa2lsbF9pbyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXZvaWQgZGV2aWNlX3NldF9pbnRyZXRyeShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKTsKLWludCBkZXZpY2VfdHJpZ2dlcl92ZXJpZnkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCk7Ci0KLS8qIE1hY2hpbmUgY2hlY2sgaGVscGVyIGZ1bmN0aW9uLiAqLwotdm9pZCBkZXZpY2Vfa2lsbF9wZW5kaW5nX3RpbWVyKHN0cnVjdCBzdWJjaGFubmVsICopOwotCiAvKiBIZWxwZXIgZnVuY3Rpb25zIHRvIGJ1aWxkIGxpc3RzIGZvciB0aGUgc2xvdyBwYXRoLiAqLwogdm9pZCBjc3Nfc2NoZWR1bGVfZXZhbChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCk7CiB2b2lkIGNzc19zY2hlZHVsZV9ldmFsX2FsbCh2b2lkKTsKQEAgLTE0NSw2ICsxMzgsNCBAQAogCiBleHRlcm4gc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKnNsb3dfcGF0aF93cTsKIHZvaWQgY3NzX3dhaXRfZm9yX3Nsb3dfcGF0aCh2b2lkKTsKLQotZXh0ZXJuIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKnN1YmNoX2F0dHJfZ3JvdXBzW107CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5jCmluZGV4IGUyMjgxM2QuLmU4MThkMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuYwpAQCAtMiw4ICsyLDcgQEAKICAqICBkcml2ZXJzL3MzOTAvY2lvL2RldmljZS5jCiAgKiAgYnVzIGRyaXZlciBmb3IgY2N3IGRldmljZXMKICAqCi0gKiAgICBDb3B5cmlnaHQgKEMpIDIwMDIgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsCi0gKgkJCSBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMiwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEFybmQgQmVyZ21hbm4gKGFybmRiQGRlLmlibS5jb20pCiAgKgkJIENvcm5lbGlhIEh1Y2sgKGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbSkKICAqCQkgTWFydGluIFNjaHdpZGVmc2t5IChzY2h3aWRlZnNreUBkZS5pYm0uY29tKQpAQCAtMjMsNyArMjIsOSBAQAogI2luY2x1ZGUgPGFzbS9jaW8uaD4KICNpbmNsdWRlIDxhc20vcGFyYW0uaD4JCS8qIEhaICovCiAjaW5jbHVkZSA8YXNtL2NtYi5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KIAorI2luY2x1ZGUgImNocC5oIgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgogI2luY2x1ZGUgImNzcy5oIgpAQCAtMTI1LDE5ICsxMjYsMjQgQEAKIHN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfaXJxKHN0cnVjdCBzdWJjaGFubmVsICopOwogc3RhdGljIGludCBpb19zdWJjaGFubmVsX3Byb2JlKHN0cnVjdCBzdWJjaGFubmVsICopOwogc3RhdGljIGludCBpb19zdWJjaGFubmVsX3JlbW92ZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXN0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9ub3RpZnkoc3RydWN0IHN1YmNoYW5uZWwgKiwgaW50KTsKLXN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfdmVyaWZ5KHN0cnVjdCBzdWJjaGFubmVsICopOwotc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF9pb3Rlcm0oc3RydWN0IHN1YmNoYW5uZWwgKik7CiBzdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX3NodXRkb3duKHN0cnVjdCBzdWJjaGFubmVsICopOworc3RhdGljIGludCBpb19zdWJjaGFubmVsX3NjaF9ldmVudChzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBpbnQpOworc3RhdGljIGludCBpb19zdWJjaGFubmVsX2NocF9ldmVudChzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBzdHJ1Y3QgY2hwX2xpbmsgKiwKKwkJCQkgICBpbnQpOworCitzdGF0aWMgc3RydWN0IGNzc19kZXZpY2VfaWQgaW9fc3ViY2hhbm5lbF9pZHNbXSA9IHsKKwl7IC5tYXRjaF9mbGFncyA9IDB4MSwgLnR5cGUgPSBTVUJDSEFOTkVMX1RZUEVfSU8sIH0sCisJeyAvKiBlbmQgb2YgbGlzdCAqLyB9LAorfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUoY3NzLCBpb19zdWJjaGFubmVsX2lkcyk7CiAKIHN0YXRpYyBzdHJ1Y3QgY3NzX2RyaXZlciBpb19zdWJjaGFubmVsX2RyaXZlciA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKLQkuc3ViY2hhbm5lbF90eXBlID0gU1VCQ0hBTk5FTF9UWVBFX0lPLAorCS5zdWJjaGFubmVsX3R5cGUgPSBpb19zdWJjaGFubmVsX2lkcywKIAkubmFtZSA9ICJpb19zdWJjaGFubmVsIiwKIAkuaXJxID0gaW9fc3ViY2hhbm5lbF9pcnEsCi0JLm5vdGlmeSA9IGlvX3N1YmNoYW5uZWxfbm90aWZ5LAotCS52ZXJpZnkgPSBpb19zdWJjaGFubmVsX3ZlcmlmeSwKLQkudGVybWluYXRpb24gPSBpb19zdWJjaGFubmVsX2lvdGVybSwKKwkuc2NoX2V2ZW50ID0gaW9fc3ViY2hhbm5lbF9zY2hfZXZlbnQsCisJLmNocF9ldmVudCA9IGlvX3N1YmNoYW5uZWxfY2hwX2V2ZW50LAogCS5wcm9iZSA9IGlvX3N1YmNoYW5uZWxfcHJvYmUsCiAJLnJlbW92ZSA9IGlvX3N1YmNoYW5uZWxfcmVtb3ZlLAogCS5zaHV0ZG93biA9IGlvX3N1YmNoYW5uZWxfc2h1dGRvd24sCkBAIC00ODcsMjUgKzQ5MywyMiBAQAogCQljY3dfZGV2aWNlX3NldF9vbmxpbmUoY2Rldik7CiAJcmV0dXJuIDA7CiB9Ci1zdGF0aWMgdm9pZCBvbmxpbmVfc3RvcmVfaGFuZGxlX29ubGluZShzdHJ1Y3QgY2N3X2RldmljZSAqY2RldiwgaW50IGZvcmNlKQorc3RhdGljIGludCBvbmxpbmVfc3RvcmVfaGFuZGxlX29ubGluZShzdHJ1Y3QgY2N3X2RldmljZSAqY2RldiwgaW50IGZvcmNlKQogewogCWludCByZXQ7CiAKIAlyZXQgPSBvbmxpbmVfc3RvcmVfcmVjb2dfYW5kX29ubGluZShjZGV2KTsKIAlpZiAocmV0KQotCQlyZXR1cm47CisJCXJldHVybiByZXQ7CiAJaWYgKGZvcmNlICYmIGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9CT1hFRCkgewogCQlyZXQgPSBjY3dfZGV2aWNlX3N0bGNrKGNkZXYpOwotCQlpZiAocmV0KSB7Ci0JCQlkZXZfd2FybigmY2Rldi0+ZGV2LAotCQkJCSAiY2N3X2RldmljZV9zdGxjayByZXR1cm5lZCAlZCFcbiIsIHJldCk7Ci0JCQlyZXR1cm47Ci0JCX0KKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CiAJCWlmIChjZGV2LT5pZC5jdV90eXBlID09IDApCiAJCQljZGV2LT5wcml2YXRlLT5zdGF0ZSA9IERFVl9TVEFURV9OT1RfT1BFUjsKIAkJb25saW5lX3N0b3JlX3JlY29nX2FuZF9vbmxpbmUoY2Rldik7CiAJfQotCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IG9ubGluZV9zdG9yZSAoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKQEAgLTUzOCw4ICs1NDEsOSBAQAogCQlyZXQgPSBjb3VudDsKIAkJYnJlYWs7CiAJY2FzZSAxOgotCQlvbmxpbmVfc3RvcmVfaGFuZGxlX29ubGluZShjZGV2LCBmb3JjZSk7Ci0JCXJldCA9IGNvdW50OworCQlyZXQgPSBvbmxpbmVfc3RvcmVfaGFuZGxlX29ubGluZShjZGV2LCBmb3JjZSk7CisJCWlmICghcmV0KQorCQkJcmV0ID0gY291bnQ7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldCA9IC1FSU5WQUw7CkBAIC01ODQsMTkgKzU4OCwxNCBAQAogc3RhdGljIERFVklDRV9BVFRSKG9ubGluZSwgMDY0NCwgb25saW5lX3Nob3csIG9ubGluZV9zdG9yZSk7CiBzdGF0aWMgREVWSUNFX0FUVFIoYXZhaWxhYmlsaXR5LCAwNDQ0LCBhdmFpbGFibGVfc2hvdywgTlVMTCk7CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICogc3ViY2hfYXR0cnNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppb19zdWJjaGFubmVsX2F0dHJzW10gPSB7CiAJJmRldl9hdHRyX2NocGlkcy5hdHRyLAogCSZkZXZfYXR0cl9waW1wYW1wb20uYXR0ciwKIAlOVUxMLAogfTsKIAotc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgc3ViY2hfYXR0cl9ncm91cCA9IHsKLQkuYXR0cnMgPSBzdWJjaF9hdHRycywKLX07Ci0KLXN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKnN1YmNoX2F0dHJfZ3JvdXBzW10gPSB7Ci0JJnN1YmNoX2F0dHJfZ3JvdXAsCi0JTlVMTCwKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGlvX3N1YmNoYW5uZWxfYXR0cl9ncm91cCA9IHsKKwkuYXR0cnMgPSBpb19zdWJjaGFubmVsX2F0dHJzLAogfTsKIAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKiBjY3dkZXZfYXR0cnNbXSA9IHsKQEAgLTc5MCw3ICs3ODksNyBAQAogCXNjaF9zZXRfY2RldihzY2gsIGNkZXYpOwogCWNkZXYtPnByaXZhdGUtPnNjaGlkID0gc2NoLT5zY2hpZDsKIAljZGV2LT5jY3dsb2NrID0gc2NoLT5sb2NrOwotCWRldmljZV90cmlnZ2VyX3JlcHJvYmUoc2NoKTsKKwljY3dfZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShjZGV2KTsKIAlzcGluX3VubG9ja19pcnEoc2NoLT5sb2NrKTsKIH0KIApAQCAtMTAzNyw3ICsxMDM2LDYgQEAKIAlzdHJ1Y3QgY2N3X2RldmljZV9wcml2YXRlICpwcml2OwogCiAJc2NoX3NldF9jZGV2KHNjaCwgY2Rldik7Ci0Jc2NoLT5kcml2ZXIgPSAmaW9fc3ViY2hhbm5lbF9kcml2ZXI7CiAJY2Rldi0+Y2N3bG9jayA9IHNjaC0+bG9jazsKIAogCS8qIEluaXQgcHJpdmF0ZSBkYXRhLiAqLwpAQCAtMTEyMiw4ICsxMTIwLDMzIEBACiAJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX0lOVEVSUlVQVCk7CiB9CiAKLXN0YXRpYyBpbnQKLWlvX3N1YmNoYW5uZWxfcHJvYmUgKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCitzdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX2luaXRfZmllbGRzKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJaWYgKGNpb19pc19jb25zb2xlKHNjaC0+c2NoaWQpKQorCQlzY2gtPm9wbSA9IDB4ZmY7CisJZWxzZQorCQlzY2gtPm9wbSA9IGNocF9nZXRfc2NoX29wbShzY2gpOworCXNjaC0+bHBtID0gc2NoLT5zY2hpYi5wbWN3LnBhbSAmIHNjaC0+b3BtOworCXNjaC0+aXNjID0gY2lvX2lzX2NvbnNvbGUoc2NoLT5zY2hpZCkgPyBDT05TT0xFX0lTQyA6IElPX1NDSF9JU0M7CisKKwlDSU9fTVNHX0VWRU5UKDYsICJEZXRlY3RlZCBkZXZpY2UgJTA0eCBvbiBzdWJjaGFubmVsIDAuJXguJTA0WCIKKwkJICAgICAgIiAtIFBJTSA9ICUwMlgsIFBBTSA9ICUwMlgsIFBPTSA9ICUwMlhcbiIsCisJCSAgICAgIHNjaC0+c2NoaWIucG1jdy5kZXYsIHNjaC0+c2NoaWQuc3NpZCwKKwkJICAgICAgc2NoLT5zY2hpZC5zY2hfbm8sIHNjaC0+c2NoaWIucG1jdy5waW0sCisJCSAgICAgIHNjaC0+c2NoaWIucG1jdy5wYW0sIHNjaC0+c2NoaWIucG1jdy5wb20pOworCS8qIEluaXRpYWxseSBzZXQgdXAgc29tZSBmaWVsZHMgaW4gdGhlIHBtY3cuICovCisJc2NoLT5zY2hpYi5wbWN3LmVuYSA9IDA7CisJc2NoLT5zY2hpYi5wbWN3LmNzZW5zZSA9IDE7CS8qIGNvbmN1cnJlbnQgc2Vuc2UgKi8KKwlpZiAoKHNjaC0+bHBtICYgKHNjaC0+bHBtIC0gMSkpICE9IDApCisJCXNjaC0+c2NoaWIucG1jdy5tcCA9IDE7IC8qIG11bHRpcGF0aCBtb2RlICovCisJLyogY2xlYW4gdXAgcG9zc2libGUgcmVzaWR1YWwgY21mIHN0dWZmICovCisJc2NoLT5zY2hpYi5wbWN3Lm1tZSA9IDA7CisJc2NoLT5zY2hpYi5wbWN3Lm1iZmMgPSAwOworCXNjaC0+c2NoaWIucG1jdy5tYmkgPSAwOworCXNjaC0+c2NoaWIubWJhID0gMDsKK30KKworc3RhdGljIGludCBpb19zdWJjaGFubmVsX3Byb2JlKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CiAJc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7CiAJaW50IHJjOwpAQCAtMTEzMiwxMSArMTE1NSwyMSBAQAogCiAJY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwogCWlmIChjZGV2KSB7CisJCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZzY2gtPmRldi5rb2JqLAorCQkJCQkmaW9fc3ViY2hhbm5lbF9hdHRyX2dyb3VwKTsKKwkJaWYgKHJjKQorCQkJQ0lPX01TR19FVkVOVCgwLCAiRmFpbGVkIHRvIGNyZWF0ZSBpbyBzdWJjaGFubmVsICIKKwkJCQkgICAgICAiYXR0cmlidXRlcyBmb3Igc3ViY2hhbm5lbCAiCisJCQkJICAgICAgIjAuJXguJTA0eCAocmM9JWQpXG4iLAorCQkJCSAgICAgIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIHJjKTsKIAkJLyoKIAkJICogVGhpcyBzdWJjaGFubmVsIGFscmVhZHkgaGFzIGFuIGFzc29jaWF0ZWQgY2N3X2RldmljZS4KLQkJICogUmVnaXN0ZXIgaXQgYW5kIGV4aXQuIFRoaXMgaGFwcGVucyBmb3IgYWxsIGVhcmx5Ci0JCSAqIGRldmljZSwgZS5nLiB0aGUgY29uc29sZS4KKwkJICogVGhyb3cgdGhlIGRlbGF5ZWQgdWV2ZW50IGZvciB0aGUgc3ViY2hhbm5lbCwgcmVnaXN0ZXIKKwkJICogdGhlIGNjd19kZXZpY2UgYW5kIGV4aXQuIFRoaXMgaGFwcGVucyBmb3IgYWxsIGVhcmx5CisJCSAqIGRldmljZXMsIGUuZy4gdGhlIGNvbnNvbGUuCiAJCSAqLworCQlzY2gtPmRldi51ZXZlbnRfc3VwcHJlc3MgPSAwOworCQlrb2JqZWN0X3VldmVudCgmc2NoLT5kZXYua29iaiwgS09CSl9BREQpOwogCQljZGV2LT5kZXYuZ3JvdXBzID0gY2N3ZGV2X2F0dHJfZ3JvdXBzOwogCQlkZXZpY2VfaW5pdGlhbGl6ZSgmY2Rldi0+ZGV2KTsKIAkJY2N3X2RldmljZV9yZWdpc3RlcihjZGV2KTsKQEAgLTExNTIsMTcgKzExODUsMjQgQEAKIAkJCWdldF9kZXZpY2UoJmNkZXYtPmRldik7CiAJCXJldHVybiAwOwogCX0KKwlpb19zdWJjaGFubmVsX2luaXRfZmllbGRzKHNjaCk7CiAJLyoKIAkgKiBGaXJzdCBjaGVjayBpZiBhIGZpdHRpbmcgZGV2aWNlIG1heSBiZSBmb3VuZCBhbW9uZ3N0IHRoZQogCSAqIGRpc2Nvbm5lY3RlZCBkZXZpY2VzIG9yIGluIHRoZSBvcnBoYW5hZ2UuCiAJICovCiAJZGV2X2lkLmRldm5vID0gc2NoLT5zY2hpYi5wbWN3LmRldjsKIAlkZXZfaWQuc3NpZCA9IHNjaC0+c2NoaWQuc3NpZDsKKwlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmc2NoLT5kZXYua29iaiwKKwkJCQkmaW9fc3ViY2hhbm5lbF9hdHRyX2dyb3VwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKIAkvKiBBbGxvY2F0ZSBJL08gc3ViY2hhbm5lbCBwcml2YXRlIGRhdGEuICovCiAJc2NoLT5wcml2YXRlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGlvX3N1YmNoYW5uZWxfcHJpdmF0ZSksCiAJCQkgICAgICAgR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOwotCWlmICghc2NoLT5wcml2YXRlKQotCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoIXNjaC0+cHJpdmF0ZSkgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2VycjsKKwl9CiAJY2RldiA9IGdldF9kaXNjX2Njd2Rldl9ieV9kZXZfaWQoJmRldl9pZCwgTlVMTCk7CiAJaWYgKCFjZGV2KQogCQljZGV2ID0gZ2V0X29ycGhhbmVkX2Njd2Rldl9ieV9kZXZfaWQodG9fY3NzKHNjaC0+ZGV2LnBhcmVudCksCkBAIC0xMTgxLDggKzEyMjEsOCBAQAogCX0KIAljZGV2ID0gaW9fc3ViY2hhbm5lbF9jcmVhdGVfY2N3ZGV2KHNjaCk7CiAJaWYgKElTX0VSUihjZGV2KSkgewotCQlrZnJlZShzY2gtPnByaXZhdGUpOwotCQlyZXR1cm4gUFRSX0VSUihjZGV2KTsKKwkJcmMgPSBQVFJfRVJSKGNkZXYpOworCQlnb3RvIG91dF9lcnI7CiAJfQogCXJjID0gaW9fc3ViY2hhbm5lbF9yZWNvZyhjZGV2LCBzY2gpOwogCWlmIChyYykgewpAQCAtMTE5MSw5ICsxMjMxLDEyIEBACiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7CiAJCWlmIChjZGV2LT5kZXYucmVsZWFzZSkKIAkJCWNkZXYtPmRldi5yZWxlYXNlKCZjZGV2LT5kZXYpOwotCQlrZnJlZShzY2gtPnByaXZhdGUpOworCQlnb3RvIG91dF9lcnI7CiAJfQotCisJcmV0dXJuIDA7CitvdXRfZXJyOgorCWtmcmVlKHNjaC0+cHJpdmF0ZSk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZzY2gtPmRldi5rb2JqLCAmaW9fc3ViY2hhbm5lbF9hdHRyX2dyb3VwKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTEyMTQsNiArMTI1Nyw3IEBACiAJY2N3X2RldmljZV91bnJlZ2lzdGVyKGNkZXYpOwogCXB1dF9kZXZpY2UoJmNkZXYtPmRldik7CiAJa2ZyZWUoc2NoLT5wcml2YXRlKTsKKwlzeXNmc19yZW1vdmVfZ3JvdXAoJnNjaC0+ZGV2LmtvYmosICZpb19zdWJjaGFubmVsX2F0dHJfZ3JvdXApOwogCXJldHVybiAwOwogfQogCkBAIC0xMjI0LDExICsxMjY4LDcgQEAKIAljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7CiAJaWYgKCFjZGV2KQogCQlyZXR1cm4gMDsKLQlpZiAoIWNkZXYtPmRydikKLQkJcmV0dXJuIDA7Ci0JaWYgKCFjZGV2LT5vbmxpbmUpCi0JCXJldHVybiAwOwotCXJldHVybiBjZGV2LT5kcnYtPm5vdGlmeSA/IGNkZXYtPmRydi0+bm90aWZ5KGNkZXYsIGV2ZW50KSA6IDA7CisJcmV0dXJuIGNjd19kZXZpY2Vfbm90aWZ5KGNkZXYsIGV2ZW50KTsKIH0KIAogc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF92ZXJpZnkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKQEAgLTEyNDAsMjAgKzEyODAsOTQgQEAKIAkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKIH0KIAotc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF9pb3Rlcm0oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3N0YXRpYyBpbnQgY2hlY2tfZm9yX2lvX29uX3BhdGgoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgaW50IG1hc2spCit7CisJaW50IGNjOworCisJY2MgPSBzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYik7CisJaWYgKGNjKQorCQlyZXR1cm4gMDsKKwlpZiAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICYmIHNjaC0+c2NoaWIucG1jdy5scHVtID09IG1hc2spCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCB0ZXJtaW5hdGVfaW50ZXJuYWxfaW8oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwKKwkJCQkgIHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KQoreworCWlmIChjaW9fY2xlYXIoc2NoKSkgeworCQkvKiBSZWNoZWNrIGRldmljZSBpbiBjYXNlIGNsZWFyIGZhaWxlZC4gKi8KKwkJc2NoLT5scG0gPSAwOworCQlpZiAoY2Rldi0+b25saW5lKQorCQkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKKwkJZWxzZQorCQkJY3NzX3NjaGVkdWxlX2V2YWwoc2NoLT5zY2hpZCk7CisJCXJldHVybjsKKwl9CisJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfQ0xFQVJfVkVSSUZZOworCS8qIFJlcXVlc3QgcmV0cnkgb2YgaW50ZXJuYWwgb3BlcmF0aW9uLiAqLworCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMTsKKwkvKiBDYWxsIGhhbmRsZXIuICovCisJaWYgKGNkZXYtPmhhbmRsZXIpCisJCWNkZXYtPmhhbmRsZXIoY2RldiwgY2Rldi0+cHJpdmF0ZS0+aW50cGFybSwKKwkJCSAgICAgIEVSUl9QVFIoLUVJTykpOworfQorCitzdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX3Rlcm1pbmF0ZV9wYXRoKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHU4IG1hc2spCiB7CiAJc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7CiAKIAljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7CiAJaWYgKCFjZGV2KQogCQlyZXR1cm47Ci0JLyogSW50ZXJuYWwgSS9PIHdpbGwgYmUgcmV0cmllZCBieSB0aGUgaW50ZXJydXB0IGhhbmRsZXIuICovCi0JaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5KQotCQlyZXR1cm47Ci0JY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfQ0xFQVJfVkVSSUZZOwotCWlmIChjZGV2LT5oYW5kbGVyKQotCQljZGV2LT5oYW5kbGVyKGNkZXYsIGNkZXYtPnByaXZhdGUtPmludHBhcm0sCi0JCQkgICAgICBFUlJfUFRSKC1FSU8pKTsKKwlpZiAoY2hlY2tfZm9yX2lvX29uX3BhdGgoc2NoLCBtYXNrKSkgeworCQlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX09OTElORSkKKwkJCWNjd19kZXZpY2Vfa2lsbF9pbyhjZGV2KTsKKwkJZWxzZSB7CisJCQl0ZXJtaW5hdGVfaW50ZXJuYWxfaW8oc2NoLCBjZGV2KTsKKwkJCS8qIFJlLXN0YXJ0IHBhdGggdmVyaWZpY2F0aW9uLiAqLworCQkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKKwkJfQorCX0gZWxzZQorCQkvKiB0cmlnZ2VyIHBhdGggdmVyaWZpY2F0aW9uLiAqLworCQlkZXZfZnNtX2V2ZW50KGNkZXYsIERFVl9FVkVOVF9WRVJJRlkpOworCit9CisKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9jaHBfZXZlbnQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwKKwkJCQkgICBzdHJ1Y3QgY2hwX2xpbmsgKmxpbmssIGludCBldmVudCkKK3sKKwlpbnQgbWFzazsKKworCW1hc2sgPSBjaHBfc3NkX2dldF9tYXNrKCZzY2gtPnNzZF9pbmZvLCBsaW5rKTsKKwlpZiAoIW1hc2spCisJCXJldHVybiAwOworCXN3aXRjaCAoZXZlbnQpIHsKKwljYXNlIENIUF9WQVJZX09GRjoKKwkJc2NoLT5vcG0gJj0gfm1hc2s7CisJCXNjaC0+bHBtICY9IH5tYXNrOworCQlpb19zdWJjaGFubmVsX3Rlcm1pbmF0ZV9wYXRoKHNjaCwgbWFzayk7CisJCWJyZWFrOworCWNhc2UgQ0hQX1ZBUllfT046CisJCXNjaC0+b3BtIHw9IG1hc2s7CisJCXNjaC0+bHBtIHw9IG1hc2s7CisJCWlvX3N1YmNoYW5uZWxfdmVyaWZ5KHNjaCk7CisJCWJyZWFrOworCWNhc2UgQ0hQX09GRkxJTkU6CisJCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYikpCisJCQlyZXR1cm4gLUVOWElPOworCQlpZiAoIWNzc19zY2hfaXNfdmFsaWQoJnNjaC0+c2NoaWIpKQorCQkJcmV0dXJuIC1FTk9ERVY7CisJCWlvX3N1YmNoYW5uZWxfdGVybWluYXRlX3BhdGgoc2NoLCBtYXNrKTsKKwkJYnJlYWs7CisJY2FzZSBDSFBfT05MSU5FOgorCQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKQorCQkJcmV0dXJuIC1FTlhJTzsKKwkJc2NoLT5scG0gfD0gbWFzayAmIHNjaC0+b3BtOworCQlpb19zdWJjaGFubmVsX3ZlcmlmeShzY2gpOworCQlicmVhazsKKwl9CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xMjg1LDYgKzEzOTksMTk1IEBACiAJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOwogfQogCitzdGF0aWMgaW50IGlvX3N1YmNoYW5uZWxfZ2V0X3N0YXR1cyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBzY2hpYiBzY2hpYjsKKworCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoaWIpIHx8ICFzY2hpYi5wbWN3LmRudikKKwkJcmV0dXJuIENJT19HT05FOworCWlmIChzY2gtPnNjaGliLnBtY3cuZG52ICYmIChzY2hpYi5wbWN3LmRldiAhPSBzY2gtPnNjaGliLnBtY3cuZGV2KSkKKwkJcmV0dXJuIENJT19SRVZBTElEQVRFOworCWlmICghc2NoLT5scG0pCisJCXJldHVybiBDSU9fTk9fUEFUSDsKKwlyZXR1cm4gQ0lPX09QRVI7Cit9CisKK3N0YXRpYyBpbnQgZGV2aWNlX2lzX2Rpc2Nvbm5lY3RlZChzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKK3sKKwlpZiAoIWNkZXYpCisJCXJldHVybiAwOworCXJldHVybiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRCB8fAorCQljZGV2LT5wcml2YXRlLT5zdGF0ZSA9PSBERVZfU1RBVEVfRElTQ09OTkVDVEVEX1NFTlNFX0lEKTsKK30KKworc3RhdGljIGludCByZWNvdmVyeV9jaGVjayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNjd19kZXZpY2UgKmNkZXYgPSB0b19jY3dkZXYoZGV2KTsKKwlpbnQgKnJlZG8gPSBkYXRhOworCisJc3Bpbl9sb2NrX2lycShjZGV2LT5jY3dsb2NrKTsKKwlzd2l0Y2ggKGNkZXYtPnByaXZhdGUtPnN0YXRlKSB7CisJY2FzZSBERVZfU1RBVEVfRElTQ09OTkVDVEVEOgorCQlDSU9fTVNHX0VWRU5UKDMsICJyZWNvdmVyeTogdHJpZ2dlciAwLiV4LiUwNHhcbiIsCisJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuc3NpZCwKKwkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubyk7CisJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7CisJCSpyZWRvID0gMTsKKwkJYnJlYWs7CisJY2FzZSBERVZfU1RBVEVfRElTQ09OTkVDVEVEX1NFTlNFX0lEOgorCQkqcmVkbyA9IDE7CisJCWJyZWFrOworCX0KKwlzcGluX3VubG9ja19pcnEoY2Rldi0+Y2N3bG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcmVjb3Zlcnlfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqdW51c2VkKQoreworCWludCByZWRvID0gMDsKKworCWJ1c19mb3JfZWFjaF9kZXYoJmNjd19idXNfdHlwZSwgTlVMTCwgJnJlZG8sIHJlY292ZXJ5X2NoZWNrKTsKKwlpZiAocmVkbykgeworCQlzcGluX2xvY2tfaXJxKCZyZWNvdmVyeV9sb2NrKTsKKwkJaWYgKCF0aW1lcl9wZW5kaW5nKCZyZWNvdmVyeV90aW1lcikpIHsKKwkJCWlmIChyZWNvdmVyeV9waGFzZSA8IEFSUkFZX1NJWkUocmVjb3ZlcnlfZGVsYXkpIC0gMSkKKwkJCQlyZWNvdmVyeV9waGFzZSsrOworCQkJbW9kX3RpbWVyKCZyZWNvdmVyeV90aW1lciwgamlmZmllcyArCisJCQkJICByZWNvdmVyeV9kZWxheVtyZWNvdmVyeV9waGFzZV0gKiBIWik7CisJCX0KKwkJc3Bpbl91bmxvY2tfaXJxKCZyZWNvdmVyeV9sb2NrKTsKKwl9IGVsc2UKKwkJQ0lPX01TR19FVkVOVCg0LCAicmVjb3Zlcnk6IGVuZFxuIik7Cit9CisKK3N0YXRpYyBERUNMQVJFX1dPUksocmVjb3Zlcnlfd29yaywgcmVjb3Zlcnlfd29ya19mdW5jKTsKKworc3RhdGljIHZvaWQgcmVjb3ZlcnlfZnVuYyh1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJLyoKKwkgKiBXZSBjYW4ndCBkbyBvdXIgcmVjb3ZlcnkgaW4gc29mdGlycSBjb250ZXh0IGFuZCBpdCdzIG5vdAorCSAqIHBlcmZvcm1hbmNlIGNyaXRpY2FsLCBzbyB3ZSBzY2hlZHVsZSBpdC4KKwkgKi8KKwlzY2hlZHVsZV93b3JrKCZyZWNvdmVyeV93b3JrKTsKK30KKworc3RhdGljIHZvaWQgY2N3X2RldmljZV9zY2hlZHVsZV9yZWNvdmVyeSh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlDSU9fTVNHX0VWRU5UKDQsICJyZWNvdmVyeTogc2NoZWR1bGVcbiIpOworCXNwaW5fbG9ja19pcnFzYXZlKCZyZWNvdmVyeV9sb2NrLCBmbGFncyk7CisJaWYgKCF0aW1lcl9wZW5kaW5nKCZyZWNvdmVyeV90aW1lcikgfHwgKHJlY292ZXJ5X3BoYXNlICE9IDApKSB7CisJCXJlY292ZXJ5X3BoYXNlID0gMDsKKwkJbW9kX3RpbWVyKCZyZWNvdmVyeV90aW1lciwgamlmZmllcyArIHJlY292ZXJ5X2RlbGF5WzBdICogSFopOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZWNvdmVyeV9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIGRldmljZV9zZXRfZGlzY29ubmVjdGVkKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KQoreworCWlmICghY2RldikKKwkJcmV0dXJuOworCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CisJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZmFrZV9pcmIgPSAwOworCWNkZXYtPnByaXZhdGUtPnN0YXRlID0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRDsKKwlpZiAoY2Rldi0+b25saW5lKQorCQljY3dfZGV2aWNlX3NjaGVkdWxlX3JlY292ZXJ5KCk7Cit9CisKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9zY2hfZXZlbnQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgaW50IHNsb3cpCit7CisJaW50IGV2ZW50LCByZXQsIGRpc2M7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwllbnVtIHsgTk9ORSwgVU5SRUdJU1RFUiwgVU5SRUdJU1RFUl9QUk9CRSwgUkVQUk9CRSB9IGFjdGlvbjsKKwlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldjsKKworCXNwaW5fbG9ja19pcnFzYXZlKHNjaC0+bG9jaywgZmxhZ3MpOworCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKKwlkaXNjID0gZGV2aWNlX2lzX2Rpc2Nvbm5lY3RlZChjZGV2KTsKKwlpZiAoZGlzYyAmJiBzbG93KSB7CisJCS8qIERpc2Nvbm5lY3RlZCBkZXZpY2VzIGFyZSBldmFsdWF0ZWQgZGlyZWN0bHkgb25seS4qLworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOworCQlyZXR1cm4gMDsKKwl9CisJLyogTm8gaW50ZXJydXB0IGFmdGVyIG1hY2hpbmUgY2hlY2sgLSBraWxsIHBlbmRpbmcgdGltZXJzLiAqLworCWlmIChjZGV2KQorCQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOworCWlmICghZGlzYyAmJiAhc2xvdykgeworCQkvKiBOb24tZGlzY29ubmVjdGVkIGRldmljZXMgYXJlIGV2YWx1YXRlZCBvbiB0aGUgc2xvdyBwYXRoLiAqLworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisJZXZlbnQgPSBpb19zdWJjaGFubmVsX2dldF9zdGF0dXMoc2NoKTsKKwlDSU9fTVNHX0VWRU5UKDQsICJFdmFsdWF0aW5nIHNjaGlkIDAuJXguJTA0eCwgZXZlbnQgJWQsICVzLCAlcyBwYXRoLlxuIiwKKwkJICAgICAgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubywgZXZlbnQsCisJCSAgICAgIGRpc2MgPyAiZGlzY29ubmVjdGVkIiA6ICJub3JtYWwiLAorCQkgICAgICBzbG93ID8gInNsb3ciIDogImZhc3QiKTsKKwkvKiBBbmFseXplIHN1YmNoYW5uZWwgc3RhdHVzLiAqLworCWFjdGlvbiA9IE5PTkU7CisJc3dpdGNoIChldmVudCkgeworCWNhc2UgQ0lPX05PX1BBVEg6CisJCWlmIChkaXNjKSB7CisJCQkvKiBDaGVjayBpZiBwYXRocyBoYXZlIGJlY29tZSBhdmFpbGFibGUuICovCisJCQlhY3Rpb24gPSBSRVBST0JFOworCQkJYnJlYWs7CisJCX0KKwkJLyogZmFsbCB0aHJvdWdoICovCisJY2FzZSBDSU9fR09ORToKKwkJLyogUHJldmVudCB1bndhbnRlZCBlZmZlY3RzIHdoZW4gb3BlbmluZyBsb2NrLiAqLworCQljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7CisJCWRldmljZV9zZXRfZGlzY29ubmVjdGVkKGNkZXYpOworCQkvKiBBc2sgZHJpdmVyIHdoYXQgdG8gZG8gd2l0aCBkZXZpY2UuICovCisJCWFjdGlvbiA9IFVOUkVHSVNURVI7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7CisJCXJldCA9IGlvX3N1YmNoYW5uZWxfbm90aWZ5KHNjaCwgZXZlbnQpOworCQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkJaWYgKHJldCkKKwkJCWFjdGlvbiA9IE5PTkU7CisJCWJyZWFrOworCWNhc2UgQ0lPX1JFVkFMSURBVEU6CisJCS8qIERldmljZSB3aWxsIGJlIHJlbW92ZWQsIHNvIG5vIG5vdGlmeSBuZWNlc3NhcnkuICovCisJCWlmIChkaXNjKQorCQkJLyogUmVwcm9iZSBiZWNhdXNlIGltbWVkaWF0ZSB1bnJlZ2lzdGVyIG1pZ2h0IGJsb2NrLiAqLworCQkJYWN0aW9uID0gUkVQUk9CRTsKKwkJZWxzZQorCQkJYWN0aW9uID0gVU5SRUdJU1RFUl9QUk9CRTsKKwkJYnJlYWs7CisJY2FzZSBDSU9fT1BFUjoKKwkJaWYgKGRpc2MpCisJCQkvKiBHZXQgZGV2aWNlIG9wZXJhdGlvbmFsIGFnYWluLiAqLworCQkJYWN0aW9uID0gUkVQUk9CRTsKKwkJYnJlYWs7CisJfQorCS8qIFBlcmZvcm0gYWN0aW9uLiAqLworCXJldCA9IDA7CisJc3dpdGNoIChhY3Rpb24pIHsKKwljYXNlIFVOUkVHSVNURVI6CisJY2FzZSBVTlJFR0lTVEVSX1BST0JFOgorCQkvKiBVbnJlZ2lzdGVyIGRldmljZSAod2lsbCB1c2Ugc3ViY2hhbm5lbCBsb2NrKS4gKi8KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkJY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3RlcihzY2gpOworCQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKKworCQkvKiBSZXNldCBpbnRwYXJtIHRvIHplcm9lcy4gKi8KKwkJc2NoLT5zY2hpYi5wbWN3LmludHBhcm0gPSAwOworCQljaW9fbW9kaWZ5KHNjaCk7CisJCWJyZWFrOworCWNhc2UgUkVQUk9CRToKKwkJY2N3X2RldmljZV90cmlnZ2VyX3JlcHJvYmUoY2Rldik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOworCS8qIFByb2JlIGlmIG5lY2Vzc2FyeS4gKi8KKwlpZiAoYWN0aW9uID09IFVOUkVHSVNURVJfUFJPQkUpCisJCXJldCA9IGNzc19wcm9iZV9kZXZpY2Uoc2NoLT5zY2hpZCk7CisKKwlyZXR1cm4gcmV0OworfQorCiAjaWZkZWYgQ09ORklHX0NDV19DT05TT0xFCiBzdGF0aWMgc3RydWN0IGNjd19kZXZpY2UgY29uc29sZV9jZGV2Owogc3RhdGljIHN0cnVjdCBjY3dfZGV2aWNlX3ByaXZhdGUgY29uc29sZV9wcml2YXRlOwpAQCAtMTI5NywxNCArMTYwMCwxNiBAQAogCXJldHVybiAmY2N3X2NvbnNvbGVfbG9jazsKIH0KIAotc3RhdGljIGludAotY2N3X2RldmljZV9jb25zb2xlX2VuYWJsZSAoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCitzdGF0aWMgaW50IGNjd19kZXZpY2VfY29uc29sZV9lbmFibGUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsCisJCQkJICAgICBzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewogCWludCByYzsKIAogCS8qIEF0dGFjaCBzdWJjaGFubmVsIHByaXZhdGUgZGF0YS4gKi8KIAlzY2gtPnByaXZhdGUgPSBjaW9fZ2V0X2NvbnNvbGVfcHJpdigpOwogCW1lbXNldChzY2gtPnByaXZhdGUsIDAsIHNpemVvZihzdHJ1Y3QgaW9fc3ViY2hhbm5lbF9wcml2YXRlKSk7CisJaW9fc3ViY2hhbm5lbF9pbml0X2ZpZWxkcyhzY2gpOworCXNjaC0+ZHJpdmVyID0gJmlvX3N1YmNoYW5uZWxfZHJpdmVyOwogCS8qIEluaXRpYWxpemUgdGhlIGNjd19kZXZpY2Ugc3RydWN0dXJlLiAqLwogCWNkZXYtPmRldi5wYXJlbnQ9ICZzY2gtPmRldjsKIAlyYyA9IGlvX3N1YmNoYW5uZWxfcmVjb2coY2Rldiwgc2NoKTsKQEAgLTE1MTUsNzEgKzE4MjAsNiBAQAogCXJldHVybiBzY2gtPnNjaGlkOwogfQogCi1zdGF0aWMgaW50IHJlY292ZXJ5X2NoZWNrKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldiA9IHRvX2Njd2RldihkZXYpOwotCWludCAqcmVkbyA9IGRhdGE7Ci0KLQlzcGluX2xvY2tfaXJxKGNkZXYtPmNjd2xvY2spOwotCXN3aXRjaCAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUpIHsKLQljYXNlIERFVl9TVEFURV9ESVNDT05ORUNURUQ6Ci0JCUNJT19NU0dfRVZFTlQoNCwgInJlY292ZXJ5OiB0cmlnZ2VyIDAuJXguJTA0eFxuIiwKLQkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5zc2lkLAotCQkJICAgICAgY2Rldi0+cHJpdmF0ZS0+ZGV2X2lkLmRldm5vKTsKLQkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKLQkJKnJlZG8gPSAxOwotCQlicmVhazsKLQljYXNlIERFVl9TVEFURV9ESVNDT05ORUNURURfU0VOU0VfSUQ6Ci0JCSpyZWRvID0gMTsKLQkJYnJlYWs7Ci0JfQotCXNwaW5fdW5sb2NrX2lycShjZGV2LT5jY3dsb2NrKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCByZWNvdmVyeV93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp1bnVzZWQpCi17Ci0JaW50IHJlZG8gPSAwOwotCi0JYnVzX2Zvcl9lYWNoX2RldigmY2N3X2J1c190eXBlLCBOVUxMLCAmcmVkbywgcmVjb3ZlcnlfY2hlY2spOwotCWlmIChyZWRvKSB7Ci0JCXNwaW5fbG9ja19pcnEoJnJlY292ZXJ5X2xvY2spOwotCQlpZiAoIXRpbWVyX3BlbmRpbmcoJnJlY292ZXJ5X3RpbWVyKSkgewotCQkJaWYgKHJlY292ZXJ5X3BoYXNlIDwgQVJSQVlfU0laRShyZWNvdmVyeV9kZWxheSkgLSAxKQotCQkJCXJlY292ZXJ5X3BoYXNlKys7Ci0JCQltb2RfdGltZXIoJnJlY292ZXJ5X3RpbWVyLCBqaWZmaWVzICsKLQkJCQkgIHJlY292ZXJ5X2RlbGF5W3JlY292ZXJ5X3BoYXNlXSAqIEhaKTsKLQkJfQotCQlzcGluX3VubG9ja19pcnEoJnJlY292ZXJ5X2xvY2spOwotCX0gZWxzZQotCQlDSU9fTVNHX0VWRU5UKDQsICJyZWNvdmVyeTogZW5kXG4iKTsKLX0KLQotc3RhdGljIERFQ0xBUkVfV09SSyhyZWNvdmVyeV93b3JrLCByZWNvdmVyeV93b3JrX2Z1bmMpOwotCi1zdGF0aWMgdm9pZCByZWNvdmVyeV9mdW5jKHVuc2lnbmVkIGxvbmcgZGF0YSkKLXsKLQkvKgotCSAqIFdlIGNhbid0IGRvIG91ciByZWNvdmVyeSBpbiBzb2Z0aXJxIGNvbnRleHQgYW5kIGl0J3Mgbm90Ci0JICogcGVyZm9ybWFuY2UgY3JpdGljYWwsIHNvIHdlIHNjaGVkdWxlIGl0LgotCSAqLwotCXNjaGVkdWxlX3dvcmsoJnJlY292ZXJ5X3dvcmspOwotfQotCi12b2lkIGNjd19kZXZpY2Vfc2NoZWR1bGVfcmVjb3Zlcnkodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JQ0lPX01TR19FVkVOVCg0LCAicmVjb3Zlcnk6IHNjaGVkdWxlXG4iKTsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmcmVjb3ZlcnlfbG9jaywgZmxhZ3MpOwotCWlmICghdGltZXJfcGVuZGluZygmcmVjb3ZlcnlfdGltZXIpIHx8IChyZWNvdmVyeV9waGFzZSAhPSAwKSkgewotCQlyZWNvdmVyeV9waGFzZSA9IDA7Ci0JCW1vZF90aW1lcigmcmVjb3ZlcnlfdGltZXIsIGppZmZpZXMgKyByZWNvdmVyeV9kZWxheVswXSAqIEhaKTsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmVjb3ZlcnlfbG9jaywgZmxhZ3MpOwotfQotCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2Vfc2V0X29ubGluZSk7CiBFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2Vfc2V0X29mZmxpbmUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuaCBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmgKaW5kZXggY2IwODA5Mi4uOTgwMGE4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5oCkBAIC04OCw4ICs4OCw2IEBACiBpbnQgY2N3X2RldmljZV9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKik7CiBpbnQgY2N3X2RldmljZV9vZmZsaW5lKHN0cnVjdCBjY3dfZGV2aWNlICopOwogCi12b2lkIGNjd19kZXZpY2Vfc2NoZWR1bGVfcmVjb3Zlcnkodm9pZCk7Ci0KIC8qIEZ1bmN0aW9uIHByb3RvdHlwZXMgZm9yIGRldmljZSBzdGF0dXMgYW5kIGJhc2ljIHNlbnNlIHN0dWZmLiAqLwogdm9pZCBjY3dfZGV2aWNlX2FjY3VtdWxhdGVfaXJiKHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCBpcmIgKik7CiB2b2lkIGNjd19kZXZpY2VfYWNjdW11bGF0ZV9iYXNpY19zZW5zZShzdHJ1Y3QgY2N3X2RldmljZSAqLCBzdHJ1Y3QgaXJiICopOwpAQCAtMTE4LDYgKzExNiwxMSBAQAogCiBpbnQgY2N3X2RldmljZV9zdGxjayhzdHJ1Y3QgY2N3X2RldmljZSAqKTsKIAorLyogSGVscGVyIGZ1bmN0aW9uIGZvciBtYWNoaW5lIGNoZWNrIGhhbmRsaW5nLiAqLwordm9pZCBjY3dfZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzdHJ1Y3QgY2N3X2RldmljZSAqKTsKK3ZvaWQgY2N3X2RldmljZV9raWxsX2lvKHN0cnVjdCBjY3dfZGV2aWNlICopOworaW50IGNjd19kZXZpY2Vfbm90aWZ5KHN0cnVjdCBjY3dfZGV2aWNlICosIGludCk7CisKIC8qIHFkaW8gbmVlZHMgdGhpcy4gKi8KIHZvaWQgY2N3X2RldmljZV9zZXRfdGltZW91dChzdHJ1Y3QgY2N3X2RldmljZSAqLCBpbnQpOwogZXh0ZXJuIHN0cnVjdCBzdWJjaGFubmVsX2lkIGNjd19kZXZpY2VfZ2V0X3N1YmNoYW5uZWxfaWQoc3RydWN0IGNjd19kZXZpY2UgKik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9mc20uYyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2ZzbS5jCmluZGV4IGUyNjhkNWEuLjhiNWZlNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2ZzbS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2ZzbS5jCkBAIC0yLDggKzIsNyBAQAogICogZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfZnNtLmMKICAqIGZpbml0ZSBzdGF0ZSBtYWNoaW5lIGZvciBkZXZpY2UgaGFuZGxpbmcKICAqCi0gKiAgICBDb3B5cmlnaHQgKEMpIDIwMDIgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsCi0gKgkJCSBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMiwyMDA4CiAgKiAgICBBdXRob3Iocyk6IENvcm5lbGlhIEh1Y2sgKGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbSkKICAqCQkgTWFydGluIFNjaHdpZGVmc2t5IChzY2h3aWRlZnNreUBkZS5pYm0uY29tKQogICovCkBAIC0yNyw2NSArMjYsNiBAQAogCiBzdGF0aWMgaW50IHRpbWVvdXRfbG9nX2VuYWJsZWQ7CiAKLWludAotZGV2aWNlX2lzX29ubGluZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuIDA7Ci0JcmV0dXJuIChjZGV2LT5wcml2YXRlLT5zdGF0ZSA9PSBERVZfU1RBVEVfT05MSU5FKTsKLX0KLQotaW50Ci1kZXZpY2VfaXNfZGlzY29ubmVjdGVkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gKGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9ESVNDT05ORUNURUQgfHwKLQkJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRF9TRU5TRV9JRCk7Ci19Ci0KLXZvaWQKLWRldmljZV9zZXRfZGlzY29ubmVjdGVkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm47Ci0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKLQljZGV2LT5wcml2YXRlLT5mbGFncy5mYWtlX2lyYiA9IDA7Ci0JY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfRElTQ09OTkVDVEVEOwotCWlmIChjZGV2LT5vbmxpbmUpCi0JCWNjd19kZXZpY2Vfc2NoZWR1bGVfcmVjb3ZlcnkoKTsKLX0KLQotdm9pZCBkZXZpY2Vfc2V0X2ludHJldHJ5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm47Ci0JY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkgPSAxOwotfQotCi1pbnQgZGV2aWNlX3RyaWdnZXJfdmVyaWZ5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2IHx8ICFjZGV2LT5vbmxpbmUpCi0JCXJldHVybiAtRUlOVkFMOwotCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgX19pbml0IGNjd190aW1lb3V0X2xvZ19zZXR1cChjaGFyICp1bnVzZWQpCiB7CiAJdGltZW91dF9sb2dfZW5hYmxlZCA9IDE7CkBAIC05OSwzMSArMzksNDMgQEAKIAlzdHJ1Y3Qgc2NoaWIgc2NoaWI7CiAJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKIAlzdHJ1Y3QgaW9fc3ViY2hhbm5lbF9wcml2YXRlICpwcml2YXRlOworCXVuaW9uIG9yYiAqb3JiOwogCWludCBjYzsKIAogCXNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CiAJcHJpdmF0ZSA9IHRvX2lvX3ByaXZhdGUoc2NoKTsKKwlvcmIgPSAmcHJpdmF0ZS0+b3JiOwogCWNjID0gc3RzY2goc2NoLT5zY2hpZCwgJnNjaGliKTsKIAogCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogY2N3IGRldmljZSB0aW1lb3V0IG9jY3VycmVkIGF0ICVsbHgsICIKIAkgICAgICAgImRldmljZSBpbmZvcm1hdGlvbjpcbiIsIGdldF9jbG9jaygpKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IG9yYjpcbiIpOwogCXByaW50X2hleF9kdW1wKEtFUk5fV0FSTklORywgImNpbzogICIsIERVTVBfUFJFRklYX05PTkUsIDE2LCAxLAotCQkgICAgICAgJnByaXZhdGUtPm9yYiwgc2l6ZW9mKHByaXZhdGUtPm9yYiksIDApOworCQkgICAgICAgb3JiLCBzaXplb2YoKm9yYiksIDApOwogCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogY2N3IGRldmljZSBidXMgaWQ6ICVzXG4iLCBjZGV2LT5kZXYuYnVzX2lkKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IHN1YmNoYW5uZWwgYnVzIGlkOiAlc1xuIiwgc2NoLT5kZXYuYnVzX2lkKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IHN1YmNoYW5uZWwgbHBtOiAlMDJ4LCBvcG06ICUwMngsICIKIAkgICAgICAgInZwbTogJTAyeFxuIiwgc2NoLT5scG0sIHNjaC0+b3BtLCBzY2gtPnZwbSk7CiAKLQlpZiAoKHZvaWQgKikoYWRkcl90KXByaXZhdGUtPm9yYi5jcGEgPT0gJnByaXZhdGUtPnNlbnNlX2NjdyB8fAotCSAgICAodm9pZCAqKShhZGRyX3QpcHJpdmF0ZS0+b3JiLmNwYSA9PSBjZGV2LT5wcml2YXRlLT5pY2N3cykKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBsYXN0IGNoYW5uZWwgcHJvZ3JhbSAoaW50ZXJuKTpcbiIpOwotCWVsc2UKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBsYXN0IGNoYW5uZWwgcHJvZ3JhbTpcbiIpOworCWlmIChvcmItPnRtLmIpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBvcmIgaW5kaWNhdGVzIHRyYW5zcG9ydCBtb2RlXG4iKTsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBsYXN0IHRjdzpcbiIpOworCQlwcmludF9oZXhfZHVtcChLRVJOX1dBUk5JTkcsICJjaW86ICAiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwKKwkJCSAgICAgICAodm9pZCAqKShhZGRyX3Qpb3JiLT50bS50Y3csCisJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCB0Y3cpLCAwKTsKKwl9IGVsc2UgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IG9yYiBpbmRpY2F0ZXMgY29tbWFuZCBtb2RlXG4iKTsKKwkJaWYgKCh2b2lkICopKGFkZHJfdClvcmItPmNtZC5jcGEgPT0gJnByaXZhdGUtPnNlbnNlX2NjdyB8fAorCQkgICAgKHZvaWQgKikoYWRkcl90KW9yYi0+Y21kLmNwYSA9PSBjZGV2LT5wcml2YXRlLT5pY2N3cykKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogbGFzdCBjaGFubmVsIHByb2dyYW0gIgorCQkJICAgICAgICIoaW50ZXJuKTpcbiIpOworCQllbHNlCisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGxhc3QgY2hhbm5lbCBwcm9ncmFtOlxuIik7CiAKLQlwcmludF9oZXhfZHVtcChLRVJOX1dBUk5JTkcsICJjaW86ICAiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwKLQkJICAgICAgICh2b2lkICopKGFkZHJfdClwcml2YXRlLT5vcmIuY3BhLAotCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBjY3cxKSwgMCk7CisJCXByaW50X2hleF9kdW1wKEtFUk5fV0FSTklORywgImNpbzogICIsIERVTVBfUFJFRklYX05PTkUsIDE2LCAxLAorCQkJICAgICAgICh2b2lkICopKGFkZHJfdClvcmItPmNtZC5jcGEsCisJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBjY3cxKSwgMCk7CisJfQogCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogY2N3IGRldmljZSBzdGF0ZTogJWRcbiIsCiAJICAgICAgIGNkZXYtPnByaXZhdGUtPnN0YXRlKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IHN0b3JlIHN1YmNoYW5uZWwgcmV0dXJuZWQ6IGNjPSVkXG4iLCBjYyk7CkBAIC0xNzEsMTggKzEyMyw2IEBACiAJYWRkX3RpbWVyKCZjZGV2LT5wcml2YXRlLT50aW1lcik7CiB9CiAKLS8qIEtpbGwgYW55IHBlbmRpbmcgdGltZXJzIGFmdGVyIG1hY2hpbmUgY2hlY2suICovCi12b2lkCi1kZXZpY2Vfa2lsbF9wZW5kaW5nX3RpbWVyKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm47Ci0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKLX0KLQogLyoKICAqIENhbmNlbCBydW5uaW5nIGkvby4gVGhpcyBpcyBjYWxsZWQgcmVwZWF0ZWRseSBzaW5jZSBoYWx0L2NsZWFyIGFyZQogICogYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMuIFdlIGRvIG9uZSB0cnkgd2l0aCBjaW9fY2FuY2VsLCB0d28gdHJpZXMKQEAgLTIwNSwxNSArMTQ1LDE4IEBACiAJCS8qIE5vdCBvcGVyYXRpb25hbCAtPiBkb25lLiAqLwogCQlyZXR1cm4gMDsKIAkvKiBTdGFnZSAxOiBjYW5jZWwgaW8uICovCi0JaWYgKCEoc2NoLT5zY2hpYi5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfSEFMVF9QRU5EKSAmJgotCSAgICAhKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYgU0NTV19BQ1RMX0NMRUFSX1BFTkQpKSB7Ci0JCXJldCA9IGNpb19jYW5jZWwoc2NoKTsKLQkJaWYgKHJldCAhPSAtRUlOVkFMKQotCQkJcmV0dXJuIHJldDsKLQkJLyogY2FuY2VsIGlvIHVuc3VjY2Vzc2Z1bC4gRnJvbSBub3cgb24gaXQgaXMgYXN5bmNocm9ub3VzLiAqLworCWlmICghKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfQUNUTF9IQUxUX1BFTkQpICYmCisJICAgICEoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICYgU0NTV19BQ1RMX0NMRUFSX1BFTkQpKSB7CisJCWlmICghc2Nzd19pc190bSgmc2NoLT5zY2hpYi5zY3N3KSkgeworCQkJcmV0ID0gY2lvX2NhbmNlbChzY2gpOworCQkJaWYgKHJldCAhPSAtRUlOVkFMKQorCQkJCXJldHVybiByZXQ7CisJCX0KKwkJLyogY2FuY2VsIGlvIHVuc3VjY2Vzc2Z1bCBvciBub3QgYXBwbGljYWJsZSAodHJhbnNwb3J0IG1vZGUpLgorCQkgKiBDb250aW51ZSB3aXRoIGFzeW5jaHJvbm91cyBpbnN0cnVjdGlvbnMuICovCiAJCWNkZXYtPnByaXZhdGUtPmlyZXRyeSA9IDM7CS8qIDMgaGFsdCByZXRyaWVzLiAqLwogCX0KLQlpZiAoIShzY2gtPnNjaGliLnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9DTEVBUl9QRU5EKSkgeworCWlmICghKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfQUNUTF9DTEVBUl9QRU5EKSkgewogCQkvKiBTdGFnZSAyOiBoYWx0IGlvLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+aXJldHJ5KSB7CiAJCQljZGV2LT5wcml2YXRlLT5pcmV0cnktLTsKQEAgLTM4OCwzNCArMzMxLDMwIEBACiAJfQogfQogCitpbnQgY2N3X2RldmljZV9ub3RpZnkoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIGludCBldmVudCkKK3sKKwlpZiAoIWNkZXYtPmRydikKKwkJcmV0dXJuIDA7CisJaWYgKCFjZGV2LT5vbmxpbmUpCisJCXJldHVybiAwOworCXJldHVybiBjZGV2LT5kcnYtPm5vdGlmeSA/IGNkZXYtPmRydi0+bm90aWZ5KGNkZXYsIGV2ZW50KSA6IDA7Cit9CisKIHN0YXRpYyB2b2lkCiBjY3dfZGV2aWNlX29wZXJfbm90aWZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgY2N3X2RldmljZV9wcml2YXRlICpwcml2OwogCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCXN0cnVjdCBzdWJjaGFubmVsICpzY2g7CiAJaW50IHJldDsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJcHJpdiA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgY2N3X2RldmljZV9wcml2YXRlLCBraWNrX3dvcmspOwogCWNkZXYgPSBwcml2LT5jZGV2OwotCXNwaW5fbG9ja19pcnFzYXZlKGNkZXYtPmNjd2xvY2ssIGZsYWdzKTsKLQlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwotCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+bm90aWZ5KSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoY2Rldi0+Y2N3bG9jaywgZmxhZ3MpOwotCQlyZXQgPSBzY2gtPmRyaXZlci0+bm90aWZ5KHNjaCwgQ0lPX09QRVIpOwotCQlzcGluX2xvY2tfaXJxc2F2ZShjZGV2LT5jY3dsb2NrLCBmbGFncyk7Ci0JfSBlbHNlCi0JCXJldCA9IDA7CisJcmV0ID0gY2N3X2RldmljZV9ub3RpZnkoY2RldiwgQ0lPX09QRVIpOwogCWlmIChyZXQpIHsKIAkJLyogUmVlbmFibGUgY2hhbm5lbCBtZWFzdXJlbWVudHMsIGlmIG5lZWRlZC4gKi8KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShjZGV2LT5jY3dsb2NrLCBmbGFncyk7CiAJCWNtZl9yZWVuYWJsZShjZGV2KTsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoY2Rldi0+Y2N3bG9jaywgZmxhZ3MpOwogCQl3YWtlX3VwKCZjZGV2LT5wcml2YXRlLT53YWl0X3EpOwotCX0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGNkZXYtPmNjd2xvY2ssIGZsYWdzKTsKLQlpZiAoIXJldCkKKwl9IGVsc2UKIAkJLyogRHJpdmVyIGRvZXNuJ3Qgd2FudCBkZXZpY2UgYmFjay4gKi8KIAkJY2N3X2RldmljZV9kb191bnJlZ19yZXJlZyh3b3JrKTsKIH0KQEAgLTYyMSwxMCArNTYwLDExIEBACiAJCS8qIERlbGl2ZXIgZmFrZSBpcmIgdG8gZGV2aWNlIGRyaXZlciwgaWYgbmVlZGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZmFrZV9pcmIpIHsKIAkJCW1lbXNldCgmY2Rldi0+cHJpdmF0ZS0+aXJiLCAwLCBzaXplb2Yoc3RydWN0IGlyYikpOwotCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY2MgPSAxOwotCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuZmN0bCA9IFNDU1dfRkNUTF9TVEFSVF9GVU5DOwotCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuYWN0bCA9IFNDU1dfQUNUTF9TVEFSVF9QRU5EOwotCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuc3RjdGwgPSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EOworCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmNjID0gMTsKKwkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5mY3RsID0gU0NTV19GQ1RMX1NUQVJUX0ZVTkM7CisJCQljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuYWN0bCA9IFNDU1dfQUNUTF9TVEFSVF9QRU5EOworCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLnN0Y3RsID0KKwkJCQlTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EOwogCQkJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZmFrZV9pcmIgPSAwOwogCQkJaWYgKGNkZXYtPmhhbmRsZXIpCiAJCQkJY2Rldi0+aGFuZGxlcihjZGV2LCBjZGV2LT5wcml2YXRlLT5pbnRwYXJtLApAQCAtNzE4LDEzICs2NTgsMTAgQEAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYikgfHwgIXNjaC0+c2NoaWIucG1jdy5kbnYpCiAJCXJldHVybiAtRU5PREVWOwotCWlmIChjZGV2LT5wcml2YXRlLT5zdGF0ZSAhPSBERVZfU1RBVEVfT05MSU5FKSB7Ci0JCWlmIChzY2gtPnNjaGliLnNjc3cuYWN0bCAhPSAwKQotCQkJcmV0dXJuIC1FQlVTWTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCWlmIChzY2gtPnNjaGliLnNjc3cuYWN0bCAhPSAwKQorCWlmIChzY3N3X2FjdGwoJnNjaC0+c2NoaWIuc2NzdykgIT0gMCkKIAkJcmV0dXJuIC1FQlVTWTsKKwlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSkKKwkJcmV0dXJuIC1FSU5WQUw7CiAJLyogQXJlIHdlIGRvaW5nIHBhdGggZ3JvdXBpbmc/ICovCiAJaWYgKCFjZGV2LT5wcml2YXRlLT5vcHRpb25zLnBncm91cCkgewogCQkvKiBObywgc2V0IHN0YXRlIG9mZmxpbmUgaW1tZWRpYXRlbHkuICovCkBAIC03OTksOSArNzM2LDkgQEAKIAkgKi8KIAlzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYik7CiAKLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgIT0gMCB8fAotCSAgICAoc2NoLT5zY2hpYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKLQkgICAgKGNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpIHsKKwlpZiAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICE9IDAgfHwKKwkgICAgKHNjc3dfc3RjdGwoJnNjaC0+c2NoaWIuc2NzdykgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCSAgICAoc2Nzd19zdGN0bCgmY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cpICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpIHsKIAkJLyoKIAkJICogTm8gZmluYWwgc3RhdHVzIHlldCBvciBmaW5hbCBzdGF0dXMgbm90IHlldCBkZWxpdmVyZWQKIAkJICogdG8gdGhlIGRldmljZSBkcml2ZXIuIENhbid0IGRvIHBhdGggdmVyZmljYXRpb24gbm93LApAQCAtODIzLDEzICs3NjAsMTMgQEAKIGNjd19kZXZpY2VfaXJxKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBlbnVtIGRldl9ldmVudCBkZXZfZXZlbnQpCiB7CiAJc3RydWN0IGlyYiAqaXJiOworCWludCBpc19jbWQ7CiAKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKKwlpc19jbWQgPSAhc2Nzd19pc190bSgmaXJiLT5zY3N3KTsKIAkvKiBDaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0LiAqLwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsID09Ci0JICAgIAkJKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpCi0JICAgICYmICghaXJiLT5zY3N3LmNjKSkgewotCQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCisJaWYgKCFzY3N3X2lzX3NvbGljaXRlZCgmaXJiLT5zY3N3KSkgeworCQlpZiAoaXNfY21kICYmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYKIAkJICAgICFpcmItPmVzdy5lc3cwLmVydy5jb25zKSB7CiAJCQkvKiBVbml0IGNoZWNrIGJ1dCBubyBzZW5zZSBkYXRhLiBOZWVkIGJhc2ljIHNlbnNlLiAqLwogCQkJaWYgKGNjd19kZXZpY2VfZG9fc2Vuc2UoY2RldiwgaXJiKSAhPSAwKQpAQCAtODQ4LDcgKzc4NSw3IEBACiAJfQogCS8qIEFjY3VtdWxhdGUgc3RhdHVzIGFuZCBmaW5kIG91dCBpZiBhIGJhc2ljIHNlbnNlIGlzIG5lZWRlZC4gKi8KIAljY3dfZGV2aWNlX2FjY3VtdWxhdGVfaXJiKGNkZXYsIGlyYik7Ci0JaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UpIHsKKwlpZiAoaXNfY21kICYmIGNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UpIHsKIAkJaWYgKGNjd19kZXZpY2VfZG9fc2Vuc2UoY2RldiwgaXJiKSA9PSAwKSB7CiAJCQljZGV2LT5wcml2YXRlLT5zdGF0ZSA9IERFVl9TVEFURV9XNFNFTlNFOwogCQl9CkBAIC04OTIsOSArODI5LDkgQEAKIAogCWlyYiA9IChzdHJ1Y3QgaXJiICopIF9fTENfSVJCOwogCS8qIENoZWNrIGZvciB1bnNvbGljaXRlZCBpbnRlcnJ1cHQuICovCi0JaWYgKGlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAJCShTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKSB7Ci0JCWlmIChpcmItPnNjc3cuY2MgPT0gMSkKKwlpZiAoc2Nzd19zdGN0bCgmaXJiLT5zY3N3KSA9PQorCSAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgeworCQlpZiAoc2Nzd19jYygmaXJiLT5zY3N3KSA9PSAxKQogCQkJLyogQmFzaWMgc2Vuc2UgaGFzbid0IHN0YXJ0ZWQuIFRyeSBhZ2Fpbi4gKi8KIAkJCWNjd19kZXZpY2VfZG9fc2Vuc2UoY2RldiwgaXJiKTsKIAkJZWxzZSB7CkBAIC05MTIsNyArODQ5LDggQEAKIAkgKiBvbmx5IGRlbGl2ZXIgdGhlIGhhbHQvY2xlYXIgaW50ZXJydXB0IHRvIHRoZSBkZXZpY2UgZHJpdmVyIGFzIGlmIGl0CiAJICogaGFkIGtpbGxlZCB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KIAkgKi8KLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiAoU0NTV19GQ1RMX0NMRUFSX0ZVTkMgfCBTQ1NXX0ZDVExfSEFMVF9GVU5DKSkgeworCWlmIChzY3N3X2ZjdGwoJmlyYi0+c2NzdykgJgorCSAgICAoU0NTV19GQ1RMX0NMRUFSX0ZVTkMgfCBTQ1NXX0ZDVExfSEFMVF9GVU5DKSkgewogCQkvKiBSZXRyeSBCYXNpYyBTZW5zZSBpZiByZXF1ZXN0ZWQuICovCiAJCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSkgewogCQkJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkgPSAwOwpAQCAtOTg2LDEyICs5MjQsMTAgQEAKIAkJCSAgICAgIEVSUl9QVFIoLUVJTykpOwogfQogCi12b2lkIGRldmljZV9raWxsX2lvKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit2b2lkIGNjd19kZXZpY2Vfa2lsbF9pbyhzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKIHsKIAlpbnQgcmV0OwotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwogCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwogCXJldCA9IGNjd19kZXZpY2VfY2FuY2VsX2hhbHRfY2xlYXIoY2Rldik7CiAJaWYgKHJldCA9PSAtRUJVU1kpIHsKIAkJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAzKkhaKTsKQEAgLTEwMjEsOSArOTU3LDkgQEAKIAljYXNlIERFVl9FVkVOVF9JTlRFUlJVUFQ6CiAJCWlyYiA9IChzdHJ1Y3QgaXJiICopIF9fTENfSVJCOwogCQkvKiBDaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0LiAqLwotCQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCA9PQorCQlpZiAoKHNjc3dfc3RjdGwoJmlyYi0+c2NzdykgPT0KIAkJICAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgJiYKLQkJICAgICghaXJiLT5zY3N3LmNjKSkKKwkJICAgICghc2Nzd19jYygmaXJiLT5zY3N3KSkpCiAJCQkvKiBGSVhNRTogd2Ugc2hvdWxkIHJlc3RhcnQgc3RsY2sgaGVyZSwgYnV0IHRoaXMKIAkJCSAqIGlzIGV4dHJlbWVseSB1bmxpa2VseSAuLi4gKi8KIAkJCWdvdG8gb3V0X3dha2V1cDsKQEAgLTEwNTUsMTcgKzk5MSwxNCBAQAogCWNjd19kZXZpY2Vfc2Vuc2VfaWRfc3RhcnQoY2Rldik7CiB9CiAKLXZvaWQKLWRldmljZV90cmlnZ2VyX3JlcHJvYmUoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3ZvaWQgY2N3X2RldmljZV90cmlnZ2VyX3JlcHJvYmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpCiB7Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKIAotCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKLQlpZiAoIWNkZXYpCi0JCXJldHVybjsKIAlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRCkKIAkJcmV0dXJuOwogCisJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAkvKiBVcGRhdGUgc29tZSB2YWx1ZXMuICovCiAJaWYgKHN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKSkKIAkJcmV0dXJuOwpAQCAtMTA4MSw3ICsxMDE0LDYgQEAKIAlzY2gtPnNjaGliLnBtY3cuZW5hID0gMDsKIAlpZiAoKHNjaC0+bHBtICYgKHNjaC0+bHBtIC0gMSkpICE9IDApCiAJCXNjaC0+c2NoaWIucG1jdy5tcCA9IDE7Ci0Jc2NoLT5zY2hpYi5wbWN3LmludHBhcm0gPSAodTMyKShhZGRyX3Qpc2NoOwogCS8qIFdlIHNob3VsZCBhbHNvIHVkYXRlIHNzZCBpbmZvLCBidXQgdGhpcyBoYXMgdG8gd2FpdC4gKi8KIAkvKiBDaGVjayBpZiB0aGlzIGlzIGFub3RoZXIgZGV2aWNlIHdoaWNoIGFwcGVhcmVkIG9uIHRoZSBzYW1lIHNjaC4gKi8KIAlpZiAoc2NoLT5zY2hpYi5wbWN3LmRldiAhPSBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8pIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2lkLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9pZC5jCmluZGV4IGNiYTcwMjA1Li4xYmRhYTYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9pZC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2lkLmMKQEAgLTE5Niw3ICsxOTYsNyBAQAogCWlyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7CiAKIAkvKiBDaGVjayB0aGUgZXJyb3IgY2FzZXMuICovCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKIAkJLyogUmV0cnkgU2Vuc2UgSUQgaWYgcmVxdWVzdGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkpIHsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMDsKQEAgLTIzNCwxMCArMjM0LDEwIEBACiAJCQkgICAgICBpcmItPmVjd1s2XSwgaXJiLT5lY3dbN10pOwogCQlyZXR1cm4gLUVBR0FJTjsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5jYyA9PSAzKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMykgewogCQl1OCBscG07CiAKLQkJbHBtID0gdG9faW9fcHJpdmF0ZShzY2gpLT5vcmIubHBtOworCQlscG0gPSB0b19pb19wcml2YXRlKHNjaCktPm9yYi5jbWQubHBtOwogCQlpZiAoKGxwbSAmIHNjaC0+c2NoaWIucG1jdy5waW0gJiBzY2gtPnNjaGliLnBtY3cucGFtKSAhPSAwKQogCQkJQ0lPX01TR19FVkVOVCg0LCAiU2Vuc2VJRCA6IHBhdGggJTAyWCBmb3IgZGV2aWNlICUwNHggIgogCQkJCSAgICAgICJvbiBzdWJjaGFubmVsIDAuJXguJTA0eCBpcyAiCkBAIC0yNDgsOSArMjQ4LDkgQEAKIAl9CiAKIAkvKiBEaWQgd2UgZ2V0IGEgcHJvcGVyIGFuc3dlciA/ICovCi0JaWYgKGlyYi0+c2Nzdy5jYyA9PSAwICYmIGNkZXYtPnByaXZhdGUtPnNlbnNlaWQuY3VfdHlwZSAhPSAweEZGRkYgJiYKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyA9PSAwICYmIGNkZXYtPnByaXZhdGUtPnNlbnNlaWQuY3VfdHlwZSAhPSAweEZGRkYgJiYKIAkgICAgY2Rldi0+cHJpdmF0ZS0+c2Vuc2VpZC5yZXNlcnZlZCA9PSAweEZGKSB7Ci0JCWlmIChpcmItPnNjc3cuY291bnQgPCBzaXplb2Yoc3RydWN0IHNlbnNlaWQpIC0gOCkKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuY291bnQgPCBzaXplb2Yoc3RydWN0IHNlbnNlaWQpIC0gOCkKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmVzaWQgPSAxOwogCQlyZXR1cm4gMDsgLyogU3VjY2VzcyAqLwogCX0KQEAgLTI2MCw3ICsyNjAsNyBAQAogCQkgICAgICAic3ViY2hhbm5lbCAwLiV4LiUwNHggcmV0dXJucyBzdGF0dXMgJTAyWCUwMlhcbiIsCiAJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubywgc2NoLT5zY2hpZC5zc2lkLAogCQkgICAgICBzY2gtPnNjaGlkLnNjaF9ubywKLQkJICAgICAgaXJiLT5zY3N3LmRzdGF0LCBpcmItPnNjc3cuY3N0YXQpOworCQkgICAgICBpcmItPnNjc3cuY21kLmRzdGF0LCBpcmItPnNjc3cuY21kLmNzdGF0KTsKIAlyZXR1cm4gLUVBR0FJTjsKIH0KIApAQCAtMjc3LDkgKzI3Nyw5IEBACiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAkvKiBSZXRyeSBzZW5zZSBpZCwgaWYgbmVlZGVkLiAqLwotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0KKwlpZiAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgewotCQlpZiAoKGlyYi0+c2Nzdy5jYyA9PSAxKSB8fCAhaXJiLT5zY3N3LmFjdGwpIHsKKwkJaWYgKChpcmItPnNjc3cuY21kLmNjID09IDEpIHx8ICFpcmItPnNjc3cuY21kLmFjdGwpIHsKIAkJCXJldCA9IF9fY2N3X2RldmljZV9zZW5zZV9pZF9zdGFydChjZGV2KTsKIAkJCWlmIChyZXQgJiYgcmV0ICE9IC1FQlVTWSkKIAkJCQljY3dfZGV2aWNlX3NlbnNlX2lkX2RvbmUoY2RldiwgcmV0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX29wcy5jIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2Vfb3BzLmMKaW5kZXggZjMwOGFkNS4uZWUxYTI4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2Vfb3BzLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2Vfb3BzLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxhc20vY2N3ZGV2Lmg+CiAjaW5jbHVkZSA8YXNtL2lkYWxzLmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgogCiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCkBAIC0xNzksOCArMTgwLDggQEAKIAkJCXJldHVybiAtRUJVU1k7CiAJfQogCWlmIChjZGV2LT5wcml2YXRlLT5zdGF0ZSAhPSBERVZfU1RBVEVfT05MSU5FIHx8Ci0JICAgICgoc2NoLT5zY2hpYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgJiYKLQkgICAgICEoc2NoLT5zY2hpYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSkgfHwKKwkgICAgKChzY2gtPnNjaGliLnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgJiYKKwkgICAgICEoc2NoLT5zY2hpYi5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykpIHx8CiAJICAgIGNkZXYtPnByaXZhdGUtPmZsYWdzLmRvdmVyaWZ5KQogCQlyZXR1cm4gLUVCVVNZOwogCXJldCA9IGNpb19zZXRfb3B0aW9ucyAoc2NoLCBmbGFncyk7CkBAIC0zNzksNyArMzgwLDcgQEAKIAlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX05PVF9PUEVSKQogCQlyZXR1cm4gLUVOT0RFVjsKIAlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSB8fAotCSAgICAhKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCisJICAgICEoc2NoLT5zY2hpYi5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCiAJCXJldHVybiAtRUlOVkFMOwogCXJldHVybiBjaW9fcmVzdW1lKHNjaCk7CiB9CkBAIC00MDQsNyArNDA1LDcgQEAKIAkgKiAgLSBmYXN0IG5vdGlmaWNhdGlvbiB3YXMgcmVxdWVzdGVkIChwcmltYXJ5IHN0YXR1cykKIAkgKiAgLSB1bnNvbGljaXRlZCBpbnRlcnJ1cHRzCiAJICovCi0Jc3RjdGwgPSBjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5zdGN0bDsKKwlzdGN0bCA9IHNjc3dfc3RjdGwoJmNkZXYtPnByaXZhdGUtPmlyYi5zY3N3KTsKIAllbmRpbmdfc3RhdHVzID0gKHN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAogCQkoc3RjdGwgPT0gKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpIHx8CiAJCShzdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKQEAgLTUyOCwxNCArNTI5LDE1IEBACiAJCWNpb19kaXNhYmxlX3N1YmNoYW5uZWwoc2NoKTsgLy9GSVhNRTogcmV0dXJuIGNvZGU/CiAJCWdvdG8gb3V0X3VubG9jazsKIAl9Ci0JY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuYWN0bCB8PSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKKwljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuYWN0bCB8PSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwotCXdhaXRfZXZlbnQoY2Rldi0+cHJpdmF0ZS0+d2FpdF9xLCBjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5hY3RsID09IDApOworCXdhaXRfZXZlbnQoY2Rldi0+cHJpdmF0ZS0+d2FpdF9xLAorCQkgICBjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuYWN0bCA9PSAwKTsKIAlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKIAljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7IC8vRklYTUU6IHJldHVybiBjb2RlPwotCWlmICgoY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuZHN0YXQgIT0KKwlpZiAoKGNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5kc3RhdCAhPQogCSAgICAgKERFVl9TVEFUX0NITl9FTkR8REVWX1NUQVRfREVWX0VORCkpIHx8Ci0JICAgIChjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jc3RhdCAhPSAwKSkKKwkgICAgKGNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5jc3RhdCAhPSAwKSkKIAkJcmV0ID0gLUVJTzsKIAkvKiBDbGVhciBpcmIuICovCiAJbWVtc2V0KCZjZGV2LT5wcml2YXRlLT5pcmIsIDAsIHNpemVvZihzdHJ1Y3QgaXJiKSk7CkBAIC01NjgsNiArNTcwLDEyMiBAQAogfQogRVhQT1JUX1NZTUJPTChjY3dfZGV2aWNlX2dldF9pZCk7CiAKKy8qKgorICogY2N3X2RldmljZV90bV9zdGFydF9rZXkgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAY2RldjogY2N3IGRldmljZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAaW50cGFybTogdXNlciBkZWZpbmVkIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICogQGtleTogc3RvcmFnZSBrZXkgdG8gdXNlIGZvciBzdG9yYWdlIGFjY2VzcworICoKKyAqIFN0YXJ0IHRoZSB0Y3cgb24gdGhlIGdpdmVuIGNjdyBkZXZpY2UuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvCisgKiBvdGhlcndpc2UuCisgKi8KK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IHRjdyAqdGN3LAorCQkJICAgIHVuc2lnbmVkIGxvbmcgaW50cGFybSwgdTggbHBtLCB1OCBrZXkpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKKwlpbnQgcmM7CisKKwlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOworCWlmIChjZGV2LT5wcml2YXRlLT5zdGF0ZSAhPSBERVZfU1RBVEVfT05MSU5FKQorCQlyZXR1cm4gLUVJTzsKKwkvKiBBZGp1c3QgcmVxdWVzdGVkIHBhdGggbWFzayB0byBleGNsdWRlZCB2YXJpZWQgb2ZmIHBhdGhzLiAqLworCWlmIChscG0pIHsKKwkJbHBtICY9IHNjaC0+b3BtOworCQlpZiAobHBtID09IDApCisJCQlyZXR1cm4gLUVBQ0NFUzsKKwl9CisJcmMgPSBjaW9fdG1fc3RhcnRfa2V5KHNjaCwgdGN3LCBscG0sIGtleSk7CisJaWYgKHJjID09IDApCisJCWNkZXYtPnByaXZhdGUtPmludHBhcm0gPSBpbnRwYXJtOworCXJldHVybiByYzsKK30KK0VYUE9SVF9TWU1CT0woY2N3X2RldmljZV90bV9zdGFydF9rZXkpOworCisvKioKKyAqIGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAY2RldjogY2N3IGRldmljZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAaW50cGFybTogdXNlciBkZWZpbmVkIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICogQGtleTogc3RvcmFnZSBrZXkgdG8gdXNlIGZvciBzdG9yYWdlIGFjY2VzcworICogQGV4cGlyZXM6IHRpbWUgc3BhbiBpbiBqaWZmaWVzIGFmdGVyIHdoaWNoIHRvIGFib3J0IHJlcXVlc3QKKyAqCisgKiBTdGFydCB0aGUgdGN3IG9uIHRoZSBnaXZlbiBjY3cgZGV2aWNlLiBSZXR1cm4gemVybyBvbiBzdWNjZXNzLCBub24temVybworICogb3RoZXJ3aXNlLgorICovCitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IHRjdyAqdGN3LAorCQkJCSAgICB1bnNpZ25lZCBsb25nIGludHBhcm0sIHU4IGxwbSwgdTgga2V5LAorCQkJCSAgICBpbnQgZXhwaXJlcykKK3sKKwlpbnQgcmV0OworCisJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCBleHBpcmVzKTsKKwlyZXQgPSBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShjZGV2LCB0Y3csIGludHBhcm0sIGxwbSwga2V5KTsKKwlpZiAocmV0ICE9IDApCisJCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0woY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0X2tleSk7CisKKy8qKgorICogY2N3X2RldmljZV90bV9zdGFydCAtIHBlcmZvcm0gc3RhcnQgZnVuY3Rpb24KKyAqIEBjZGV2OiBjY3cgZGV2aWNlIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIHN0YXJ0IGZ1bmN0aW9uCisgKiBAdGN3OiB0cmFuc3BvcnQtY29tbWFuZCB3b3JkIHRvIGJlIHN0YXJ0ZWQKKyAqIEBpbnRwYXJtOiB1c2VyIGRlZmluZWQgcGFyYW1ldGVyIHRvIGJlIHBhc3NlZCB0byB0aGUgaW50ZXJydXB0IGhhbmRsZXIKKyAqIEBscG06IG1hc2sgb2YgcGF0aHMgdG8gdXNlCisgKgorICogU3RhcnQgdGhlIHRjdyBvbiB0aGUgZ2l2ZW4gY2N3IGRldmljZS4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8KKyAqIG90aGVyd2lzZS4KKyAqLworaW50IGNjd19kZXZpY2VfdG1fc3RhcnQoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCB0Y3cgKnRjdywKKwkJCXVuc2lnbmVkIGxvbmcgaW50cGFybSwgdTggbHBtKQoreworCXJldHVybiBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShjZGV2LCB0Y3csIGludHBhcm0sIGxwbSwKKwkJCQkgICAgICAgUEFHRV9ERUZBVUxUX0tFWSk7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1fc3RhcnQpOworCisvKioKKyAqIGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dCAtIHBlcmZvcm0gc3RhcnQgZnVuY3Rpb24KKyAqIEBjZGV2OiBjY3cgZGV2aWNlIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIHN0YXJ0IGZ1bmN0aW9uCisgKiBAdGN3OiB0cmFuc3BvcnQtY29tbWFuZCB3b3JkIHRvIGJlIHN0YXJ0ZWQKKyAqIEBpbnRwYXJtOiB1c2VyIGRlZmluZWQgcGFyYW1ldGVyIHRvIGJlIHBhc3NlZCB0byB0aGUgaW50ZXJydXB0IGhhbmRsZXIKKyAqIEBscG06IG1hc2sgb2YgcGF0aHMgdG8gdXNlCisgKiBAZXhwaXJlczogdGltZSBzcGFuIGluIGppZmZpZXMgYWZ0ZXIgd2hpY2ggdG8gYWJvcnQgcmVxdWVzdAorICoKKyAqIFN0YXJ0IHRoZSB0Y3cgb24gdGhlIGdpdmVuIGNjdyBkZXZpY2UuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvCisgKiBvdGhlcndpc2UuCisgKi8KK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXQoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCB0Y3cgKnRjdywKKwkJCSAgICAgICB1bnNpZ25lZCBsb25nIGludHBhcm0sIHU4IGxwbSwgaW50IGV4cGlyZXMpCit7CisJcmV0dXJuIGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkoY2RldiwgdGN3LCBpbnRwYXJtLCBscG0sCisJCQkJCSAgICAgICBQQUdFX0RFRkFVTFRfS0VZLCBleHBpcmVzKTsKK30KK0VYUE9SVF9TWU1CT0woY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0KTsKKworLyoqCisgKiBjY3dfZGV2aWNlX3RtX2ludHJnIC0gcGVyZm9ybSBpbnRlcnJvZ2F0ZSBmdW5jdGlvbgorICogQGNkZXY6IGNjdyBkZXZpY2Ugb24gd2hpY2ggdG8gcGVyZm9ybSB0aGUgaW50ZXJyb2dhdGUgZnVuY3Rpb24KKyAqCisgKiBQZXJmb3JtIGFuIGludGVycm9nYXRlIGZ1bmN0aW9uIG9uIHRoZSBnaXZlbiBjY3cgZGV2aWNlLiBSZXR1cm4gemVybyBvbgorICogc3VjY2Vzcywgbm9uLXplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgY2N3X2RldmljZV90bV9pbnRyZyhzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKK3sKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKKworCWlmIChjZGV2LT5wcml2YXRlLT5zdGF0ZSAhPSBERVZfU1RBVEVfT05MSU5FKQorCQlyZXR1cm4gLUVJTzsKKwlpZiAoIXNjc3dfaXNfdG0oJnNjaC0+c2NoaWIuc2NzdykgfHwKKwkgICAgIShzY3N3X2FjdGwoJnNjaC0+c2NoaWIuc2NzdykgfCBTQ1NXX0FDVExfU1RBUlRfUEVORCkpCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiBjaW9fdG1faW50cmcoc2NoKTsKK30KK0VYUE9SVF9TWU1CT0woY2N3X2RldmljZV90bV9pbnRyZyk7CisKIC8vIEZJWE1FOiB0aGVzZSBoYXZlIHRvIGdvOgogCiBpbnQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3BnaWQuYyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3BnaWQuYwppbmRleCA1Y2Y3YmUwLi44NmJjOTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9wZ2lkLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfcGdpZC5jCkBAIC0yOCwxMyArMjgsMTMgQEAKICAqIEhlbHBlciBmdW5jdGlvbiBjYWxsZWQgZnJvbSBpbnRlcnJ1cHQgY29udGV4dCB0byBkZWNpZGUgd2hldGhlciBhbgogICogb3BlcmF0aW9uIHNob3VsZCBiZSB0cmllZCBhZ2Fpbi4KICAqLwotc3RhdGljIGludCBfX2Njd19kZXZpY2Vfc2hvdWxkX3JldHJ5KHN0cnVjdCBzY3N3ICpzY3N3KQorc3RhdGljIGludCBfX2Njd19kZXZpY2Vfc2hvdWxkX3JldHJ5KHVuaW9uIHNjc3cgKnNjc3cpCiB7CiAJLyogQ0MgaXMgb25seSB2YWxpZCBpZiBzdGFydCBmdW5jdGlvbiBiaXQgaXMgc2V0LiAqLwotCWlmICgoc2Nzdy0+ZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSAmJiBzY3N3LT5jYyA9PSAxKQorCWlmICgoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYgc2Nzdy0+Y21kLmNjID09IDEpCiAJCXJldHVybiAxOwogCS8qIE5vIG1vcmUgYWN0aXZpdHkuIEZvciBzZW5zZSBhbmQgc2V0IFBHSUQgd2Ugc3R1YmJvcm5seSB0cnkgYWdhaW4uICovCi0JaWYgKCFzY3N3LT5hY3RsKQorCWlmICghc2Nzdy0+Y21kLmFjdGwpCiAJCXJldHVybiAxOwogCXJldHVybiAwOwogfQpAQCAtMTI1LDcgKzEyNSw3IEBACiAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCWlyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKIAkJLyogUmV0cnkgU2Vuc2UgUEdJRCBpZiByZXF1ZXN0ZWQuICovCiAJCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSkgewogCQkJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkgPSAwOwpAQCAtMTU1LDEwICsxNTUsMTAgQEAKIAkJCSAgICAgIGlyYi0+ZWN3WzZdLCBpcmItPmVjd1s3XSk7CiAJCXJldHVybiAtRUFHQUlOOwogCX0KLQlpZiAoaXJiLT5zY3N3LmNjID09IDMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyA9PSAzKSB7CiAJCXU4IGxwbTsKIAotCQlscG0gPSB0b19pb19wcml2YXRlKHNjaCktPm9yYi5scG07CisJCWxwbSA9IHRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiLmNtZC5scG07CiAJCUNJT19NU0dfRVZFTlQoMywgIlNOSUQgLSBEZXZpY2UgJTA0eCBvbiBTdWJjaGFubmVsIDAuJXguJTA0eCwiCiAJCQkgICAgICAiIGxwbSAlMDJYLCBiZWNhbWUgJ25vdCBvcGVyYXRpb25hbCdcbiIsCiAJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIHNjaC0+c2NoaWQuc3NpZCwKQEAgLTE4OCw3ICsxODgsNyBAQAogCiAJaXJiID0gKHN0cnVjdCBpcmIgKikgX19MQ19JUkI7CiAKLQlpZiAoaXJiLT5zY3N3LnN0Y3RsID09CisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KIAkgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpIHsKIAkJaWYgKF9fY2N3X2RldmljZV9zaG91bGRfcmV0cnkoJmlyYi0+c2NzdykpIHsKIAkJCXJldCA9IF9fY2N3X2RldmljZV9zZW5zZV9wZ2lkX3N0YXJ0KGNkZXYpOwpAQCAtMzMxLDcgKzMzMSw3IEBACiAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCWlyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKIAkJLyogUmV0cnkgU2V0IFBHSUQgaWYgcmVxdWVzdGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkpIHsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMDsKQEAgLTM1NSw3ICszNTUsNyBAQAogCQkJICAgICAgaXJiLT5lY3dbNl0sIGlyYi0+ZWN3WzddKTsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQotCWlmIChpcmItPnNjc3cuY2MgPT0gMykgeworCWlmIChpcmItPnNjc3cuY21kLmNjID09IDMpIHsKIAkJQ0lPX01TR19FVkVOVCgzLCAiU1BJRCAtIERldmljZSAlMDR4IG9uIFN1YmNoYW5uZWwgMC4leC4lMDR4LCIKIAkJCSAgICAgICIgbHBtICUwMlgsIGJlY2FtZSAnbm90IG9wZXJhdGlvbmFsJ1xuIiwKIAkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubywgc2NoLT5zY2hpZC5zc2lkLApAQCAtMzc2LDcgKzM3Niw3IEBACiAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCWlyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKIAkJLyogUmV0cnkgTk9QIGlmIHJlcXVlc3RlZC4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5KSB7CiAJCQljZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSA9IDA7CkBAIC0zODQsNyArMzg0LDcgQEAKIAkJfQogCQlyZXR1cm4gLUVUSU1FOwogCX0KLQlpZiAoaXJiLT5zY3N3LmNjID09IDMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyA9PSAzKSB7CiAJCUNJT19NU0dfRVZFTlQoMywgIk5PUCAtIERldmljZSAlMDR4IG9uIFN1YmNoYW5uZWwgMC4leC4lMDR4LCIKIAkJCSAgICAgICIgbHBtICUwMlgsIGJlY2FtZSAnbm90IG9wZXJhdGlvbmFsJ1xuIiwKIAkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubywgc2NoLT5zY2hpZC5zc2lkLApAQCAtNDM4LDcgKzQzOCw3IEBACiAKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0KKwlpZiAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgewogCQlpZiAoX19jY3dfZGV2aWNlX3Nob3VsZF9yZXRyeSgmaXJiLT5zY3N3KSkKIAkJCV9fY2N3X2RldmljZV92ZXJpZnlfc3RhcnQoY2Rldik7CkBAIC01NDQsNyArNTQ0LDcgQEAKIAogCWlyYiA9IChzdHJ1Y3QgaXJiICopIF9fTENfSVJCOwogCi0JaWYgKGlyYi0+c2Nzdy5zdGN0bCA9PQorCWlmIChpcmItPnNjc3cuY21kLnN0Y3RsID09CiAJICAgIChTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKSB7CiAJCWlmIChfX2Njd19kZXZpY2Vfc2hvdWxkX3JldHJ5KCZpcmItPnNjc3cpKQogCQkJX19jY3dfZGV2aWNlX2Rpc2JhbmRfc3RhcnQoY2Rldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9zdGF0dXMuYyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3N0YXR1cy5jCmluZGV4IDRhMzg5OTMuLjFiMDNjNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3N0YXR1cy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3N0YXR1cy5jCkBAIC0yOSw5ICsyOSwxMSBAQAogc3RhdGljIHZvaWQKIGNjd19kZXZpY2VfbXNnX2NvbnRyb2xfY2hlY2soc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCBpcmIgKmlyYikKIHsKLQlpZiAoIShpcmItPnNjc3cuY3N0YXQgJiAoU0NITl9TVEFUX0NITl9EQVRBX0NISyB8Ci0JCQkJIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEsgfAotCQkJCSBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISykpKQorCWNoYXIgZGJmX3RleHRbMTVdOworCisJaWYgKCFzY3N3X2lzX3ZhbGlkX2NzdGF0KCZpcmItPnNjc3cpIHx8CisJICAgICEoc2Nzd19jc3RhdCgmaXJiLT5zY3N3KSAmIChTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwKKwkgICAgICBTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLIHwgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEspKSkKIAkJcmV0dXJuOwogCUNJT19NU0dfRVZFTlQoMCwgIkNoYW5uZWwtQ2hlY2sgb3IgSW50ZXJmYWNlLUNvbnRyb2wtQ2hlY2sgIgogCQkgICAgICAicmVjZWl2ZWQiCkBAIC0zOSwxNSArNDEsMTAgQEAKIAkJICAgICAgIjogJTAyWCBzY2hfc3RhdCA6ICUwMlhcbiIsCiAJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubywgY2Rldi0+cHJpdmF0ZS0+c2NoaWQuc3NpZCwKIAkJICAgICAgY2Rldi0+cHJpdmF0ZS0+c2NoaWQuc2NoX25vLAotCQkgICAgICBpcmItPnNjc3cuZHN0YXQsIGlyYi0+c2Nzdy5jc3RhdCk7Ci0KLQlpZiAoaXJiLT5zY3N3LmNjICE9IDMpIHsKLQkJY2hhciBkYmZfdGV4dFsxNV07Ci0KLQkJc3ByaW50ZihkYmZfdGV4dCwgImNoayV4IiwgY2Rldi0+cHJpdmF0ZS0+c2NoaWQuc2NoX25vKTsKLQkJQ0lPX1RSQUNFX0VWRU5UKDAsIGRiZl90ZXh0KTsKLQkJQ0lPX0hFWF9FVkVOVCgwLCBpcmIsIHNpemVvZiAoc3RydWN0IGlyYikpOwotCX0KKwkJICAgICAgc2Nzd19kc3RhdCgmaXJiLT5zY3N3KSwgc2Nzd19jc3RhdCgmaXJiLT5zY3N3KSk7CisJc3ByaW50ZihkYmZfdGV4dCwgImNoayV4IiwgY2Rldi0+cHJpdmF0ZS0+c2NoaWQuc2NoX25vKTsKKwlDSU9fVFJBQ0VfRVZFTlQoMCwgZGJmX3RleHQpOworCUNJT19IRVhfRVZFTlQoMCwgaXJiLCBzaXplb2Yoc3RydWN0IGlyYikpOwogfQogCiAvKgpAQCAtODEsMTIgKzc4LDEyIEBACiAJICogYXJlIGNvbmRpdGlvbiB0aGF0IGhhdmUgdG8gYmUgbWV0IGZvciB0aGUgZXh0ZW5kZWQgY29udHJvbAogCSAqIGJpdCB0byBoYXZlIG1lYW5pbmcuIFNpY2suCiAJICovCi0JY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuZWN0bCA9IDA7Ci0JaWYgKChpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykgJiYKLQkgICAgIShpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykpCi0JCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmVjdGwgPSBpcmItPnNjc3cuZWN0bDsKKwljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuZWN0bCA9IDA7CisJaWYgKChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpICYmCisJICAgICEoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSkKKwkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmVjdGwgPSBpcmItPnNjc3cuY21kLmVjdGw7CiAJLyogQ2hlY2sgaWYgZXh0ZW5kZWQgY29udHJvbCB3b3JkIGlzIHZhbGlkLiAqLwotCWlmICghY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuZWN0bCkKKwlpZiAoIWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5lY3RsKQogCQlyZXR1cm47CiAJLyogQ29weSBjb25jdXJyZW50IHNlbnNlIC8gbW9kZWwgZGVwZW5kZW50IGluZm9ybWF0aW9uLiAqLwogCW1lbWNweSAoJmNkZXYtPnByaXZhdGUtPmlyYi5lY3csIGlyYi0+ZWN3LCBzaXplb2YgKGlyYi0+ZWN3KSk7CkBAIC05OCwxMSArOTUsMTIgQEAKIHN0YXRpYyBpbnQKIGNjd19kZXZpY2VfYWNjdW11bGF0ZV9lc3dfdmFsaWQoc3RydWN0IGlyYiAqaXJiKQogewotCWlmICghaXJiLT5zY3N3LmVzd2YgJiYgaXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpCisJaWYgKCFpcmItPnNjc3cuY21kLmVzd2YgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0gU0NTV19TVENUTF9TVEFUVVNfUEVORCkpCiAJCXJldHVybiAwOwotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0gCi0JICAgIAkJKFNDU1dfU1RDVExfSU5URVJfU1RBVFVTfFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCi0JICAgICEoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkKKwlpZiAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJKFNDU1dfU1RDVExfSU5URVJfU1RBVFVTfFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICEoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCiAJCXJldHVybiAwOwogCXJldHVybiAxOwogfQpAQCAtMTI1LDcgKzEyMyw3IEBACiAJY2Rldl9pcmItPmVzdy5lc3cxLmxwdW0gPSBpcmItPmVzdy5lc3cxLmxwdW07CiAKIAkvKiBDb3B5IHN1YmNoYW5uZWwgbG9nb3V0IGluZm9ybWF0aW9uIGlmIGVzdyBpcyBvZiBmb3JtYXQgMC4gKi8KLQlpZiAoaXJiLT5zY3N3LmVzd2YpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5lc3dmKSB7CiAJCWNkZXZfc3VibG9nID0gJmNkZXZfaXJiLT5lc3cuZXN3MC5zdWJsb2c7CiAJCXN1YmxvZyA9ICZpcmItPmVzdy5lc3cwLnN1YmxvZzsKIAkJLyogQ29weSBleHRlbmRlZCBzdGF0dXMgZmxhZ3MuICovCkBAIC0xMzQsNyArMTMyLDcgQEAKIAkJICogQ29weSBmaWVsZHMgdGhhdCBoYXZlIGEgbWVhbmluZyBmb3IgY2hhbm5lbCBkYXRhIGNoZWNrCiAJCSAqIGNoYW5uZWwgY29udHJvbCBjaGVjayBhbmQgaW50ZXJmYWNlIGNvbnRyb2wgY2hlY2suCiAJCSAqLwotCQlpZiAoaXJiLT5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9DSE5fREFUQV9DSEsgfAorCQlpZiAoaXJiLT5zY3N3LmNtZC5jc3RhdCAmIChTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwKIAkJCQkgICAgICAgU0NITl9TVEFUX0NITl9DVFJMX0NISyB8CiAJCQkJICAgICAgIFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLKSkgewogCQkJLyogQ29weSBhbmNpbGxhcnkgcmVwb3J0IGJpdC4gKi8KQEAgLTE1NSw3ICsxNTMsNyBAQAogCQkvKiBDb3B5IGkvby1lcnJvciBhbGVydC4gKi8KIAkJY2Rldl9zdWJsb2ctPmlvZXJyID0gc3VibG9nLT5pb2VycjsKIAkJLyogQ29weSBjaGFubmVsIHBhdGggdGltZW91dCBiaXQuICovCi0JCWlmIChpcmItPnNjc3cuY3N0YXQgJiBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISykKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISykKIAkJCWNkZXZfaXJiLT5lc3cuZXN3MC5lcncuY3B0ID0gaXJiLT5lc3cuZXN3MC5lcncuY3B0OwogCQkvKiBDb3B5IGZhaWxpbmcgc3RvcmFnZSBhZGRyZXNzIHZhbGlkaXR5IGZsYWcuICovCiAJCWNkZXZfaXJiLT5lc3cuZXN3MC5lcncuZnNhdmYgPSBpcmItPmVzdy5lc3cwLmVydy5mc2F2ZjsKQEAgLTIwMCwyNCArMTk4LDI0IEBACiAJICogSWYgbm90LCB0aGUgcmVtYWluaW5nIGJpdCBoYXZlIG5vIG1lYW5pbmcgYW5kIHdlIG11c3QgaWdub3JlIHRoZW0uCiAJICogVGhlIGVzdyBpcyBub3QgbWVhbmluZ2Z1bCBhcyB3ZWxsLi4uCiAJICovCi0JaWYgKCEoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpCisJaWYgKCEoc2Nzd19zdGN0bCgmaXJiLT5zY3N3KSAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKQogCQlyZXR1cm47CiAKIAkvKiBDaGVjayBmb3IgY2hhbm5lbCBjaGVja3MgYW5kIGludGVyZmFjZSBjb250cm9sIGNoZWNrcy4gKi8KIAljY3dfZGV2aWNlX21zZ19jb250cm9sX2NoZWNrKGNkZXYsIGlyYik7CiAKIAkvKiBDaGVjayBmb3IgcGF0aCBub3Qgb3BlcmF0aW9uYWwuICovCi0JaWYgKGlyYi0+c2Nzdy5wbm8gJiYgaXJiLT5zY3N3LmZjdGwgIT0gMCAmJgotCSAgICAoIShpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgfHwKLQkgICAgIChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSkKKwlpZiAoc2Nzd19pc192YWxpZF9wbm8oJmlyYi0+c2NzdykgJiYgc2Nzd19wbm8oJmlyYi0+c2NzdykpCiAJCWNjd19kZXZpY2VfcGF0aF9ub3RvcGVyKGNkZXYpOwotCisJLyogTm8gaXJiIGFjY3VtdWxhdGlvbiBmb3IgdHJhbnNwb3J0IG1vZGUgaXJicy4gKi8KKwlpZiAoc2Nzd19pc190bSgmaXJiLT5zY3N3KSkgeworCQltZW1jcHkoJmNkZXYtPnByaXZhdGUtPmlyYiwgaXJiLCBzaXplb2Yoc3RydWN0IGlyYikpOworCQlyZXR1cm47CisJfQogCS8qCiAJICogRG9uJ3QgYWNjdW11bGF0ZSB1bnNvbGljaXRlZCBpbnRlcnJ1cHRzLgogCSAqLwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsID09Ci0JICAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgJiYKLQkgICAgKCFpcmItPnNjc3cuY2MpKQorCWlmICghc2Nzd19pc19zb2xpY2l0ZWQoJmlyYi0+c2NzdykpCiAJCXJldHVybjsKIAogCWNkZXZfaXJiID0gJmNkZXYtPnByaXZhdGUtPmlyYjsKQEAgLTIyNyw2MiArMjI1LDYzIEBACiAJICogc3RhdHVzIGF0IHRoZSBzdWJjaGFubmVsIGhhcyBiZWVuIGNsZWFyZWQgYW5kIHdlIG11c3Qgbm90IHBhc3MKIAkgKiBpbnRlcm1lZGlhdGUgYWNjdW11bGF0ZWQgc3RhdHVzIHRvIHRoZSBkZXZpY2UgZHJpdmVyLgogCSAqLwotCWlmIChpcmItPnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9DTEVBUl9GVU5DKQorCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykKIAkJbWVtc2V0KCZjZGV2LT5wcml2YXRlLT5pcmIsIDAsIHNpemVvZihzdHJ1Y3QgaXJiKSk7CiAKIAkvKiBDb3B5IGJpdHMgd2hpY2ggYXJlIHZhbGlkIG9ubHkgZm9yIHRoZSBzdGFydCBmdW5jdGlvbi4gKi8KLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgeworCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgewogCQkvKiBDb3B5IGtleS4gKi8KLQkJY2Rldl9pcmItPnNjc3cua2V5ID0gaXJiLT5zY3N3LmtleTsKKwkJY2Rldl9pcmItPnNjc3cuY21kLmtleSA9IGlyYi0+c2Nzdy5jbWQua2V5OwogCQkvKiBDb3B5IHN1c3BlbmQgY29udHJvbCBiaXQuICovCi0JCWNkZXZfaXJiLT5zY3N3LnNjdGwgPSBpcmItPnNjc3cuc2N0bDsKKwkJY2Rldl9pcmItPnNjc3cuY21kLnNjdGwgPSBpcmItPnNjc3cuY21kLnNjdGw7CiAJCS8qIEFjY3VtdWxhdGUgZGVmZXJyZWQgY29uZGl0aW9uIGNvZGUuICovCi0JCWNkZXZfaXJiLT5zY3N3LmNjIHw9IGlyYi0+c2Nzdy5jYzsKKwkJY2Rldl9pcmItPnNjc3cuY21kLmNjIHw9IGlyYi0+c2Nzdy5jbWQuY2M7CiAJCS8qIENvcHkgY2N3IGZvcm1hdCBiaXQuICovCi0JCWNkZXZfaXJiLT5zY3N3LmZtdCA9IGlyYi0+c2Nzdy5mbXQ7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5mbXQgPSBpcmItPnNjc3cuY21kLmZtdDsKIAkJLyogQ29weSBwcmVmZXRjaCBiaXQuICovCi0JCWNkZXZfaXJiLT5zY3N3LnBmY2ggPSBpcmItPnNjc3cucGZjaDsKKwkJY2Rldl9pcmItPnNjc3cuY21kLnBmY2ggPSBpcmItPnNjc3cuY21kLnBmY2g7CiAJCS8qIENvcHkgaW5pdGlhbC1zdGF0dXMtaW50ZXJydXB0aW9uLWNvbnRyb2wuICovCi0JCWNkZXZfaXJiLT5zY3N3LmlzaWMgPSBpcmItPnNjc3cuaXNpYzsKKwkJY2Rldl9pcmItPnNjc3cuY21kLmlzaWMgPSBpcmItPnNjc3cuY21kLmlzaWM7CiAJCS8qIENvcHkgYWRkcmVzcyBsaW1pdCBjaGVja2luZyBjb250cm9sLiAqLwotCQljZGV2X2lyYi0+c2Nzdy5hbGNjID0gaXJiLT5zY3N3LmFsY2M7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5hbGNjID0gaXJiLT5zY3N3LmNtZC5hbGNjOwogCQkvKiBDb3B5IHN1cHByZXNzIHN1c3BlbmQgYml0LiAqLwotCQljZGV2X2lyYi0+c2Nzdy5zc2kgPSBpcmItPnNjc3cuc3NpOworCQljZGV2X2lyYi0+c2Nzdy5jbWQuc3NpID0gaXJiLT5zY3N3LmNtZC5zc2k7CiAJfQogCiAJLyogVGFrZSBjYXJlIG9mIHRoZSBleHRlbmRlZCBjb250cm9sIGJpdCBhbmQgZXh0ZW5kZWQgY29udHJvbCB3b3JkLiAqLwogCWNjd19kZXZpY2VfYWNjdW11bGF0ZV9lY3coY2RldiwgaXJiKTsKIAkgICAgCiAJLyogQWNjdW11bGF0ZSBmdW5jdGlvbiBjb250cm9sLiAqLwotCWNkZXZfaXJiLT5zY3N3LmZjdGwgfD0gaXJiLT5zY3N3LmZjdGw7CisJY2Rldl9pcmItPnNjc3cuY21kLmZjdGwgfD0gaXJiLT5zY3N3LmNtZC5mY3RsOwogCS8qIENvcHkgYWN0aXZpdHkgY29udHJvbC4gKi8KLQljZGV2X2lyYi0+c2Nzdy5hY3RsPSBpcmItPnNjc3cuYWN0bDsKKwljZGV2X2lyYi0+c2Nzdy5jbWQuYWN0bCA9IGlyYi0+c2Nzdy5jbWQuYWN0bDsKIAkvKiBBY2N1bXVsYXRlIHN0YXR1cyBjb250cm9sLiAqLwotCWNkZXZfaXJiLT5zY3N3LnN0Y3RsIHw9IGlyYi0+c2Nzdy5zdGN0bDsKKwljZGV2X2lyYi0+c2Nzdy5jbWQuc3RjdGwgfD0gaXJiLT5zY3N3LmNtZC5zdGN0bDsKIAkvKgogCSAqIENvcHkgY2N3IGFkZHJlc3MgaWYgaXQgaXMgdmFsaWQuIFRoaXMgaXMgYSBiaXQgc2ltcGxpZmllZAogCSAqIGJ1dCBzaG91bGQgYmUgY2xvc2UgZW5vdWdoIGZvciBhbGwgcHJhY3RpY2FsIHB1cnBvc2VzLgogCSAqLwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgfHwKLQkgICAgKChpcmItPnNjc3cuc3RjdGwgPT0gCisJaWYgKChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgfHwKKwkgICAgKChpcmItPnNjc3cuY21kLnN0Y3RsID09CiAJICAgICAgKFNDU1dfU1RDVExfSU5URVJfU1RBVFVTfFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSAmJgotCSAgICAgKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX0RFVkFDVCkgJiYKLQkgICAgIChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TQ0hBQ1QpKSB8fAotCSAgICAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkKLQkJY2Rldl9pcmItPnNjc3cuY3BhID0gaXJiLT5zY3N3LmNwYTsKKwkgICAgIChpcmItPnNjc3cuY21kLmFjdGwgJiBTQ1NXX0FDVExfREVWQUNUKSAmJgorCSAgICAgKGlyYi0+c2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TQ0hBQ1QpKSB8fAorCSAgICAoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCisJCWNkZXZfaXJiLT5zY3N3LmNtZC5jcGEgPSBpcmItPnNjc3cuY21kLmNwYTsKIAkvKiBBY2N1bXVsYXRlIGRldmljZSBzdGF0dXMsIGJ1dCBub3QgdGhlIGRldmljZSBidXN5IGZsYWcuICovCi0JY2Rldl9pcmItPnNjc3cuZHN0YXQgJj0gfkRFVl9TVEFUX0JVU1k7CisJY2Rldl9pcmItPnNjc3cuY21kLmRzdGF0ICY9IH5ERVZfU1RBVF9CVVNZOwogCS8qIGRzdGF0IGlzIG5vdCBhbHdheXMgdmFsaWQuICovCi0JaWYgKGlyYi0+c2Nzdy5zdGN0bCAmCisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgJgogCSAgICAoU0NTV19TVENUTF9QUklNX1NUQVRVUyB8IFNDU1dfU1RDVExfU0VDX1NUQVRVUwogCSAgICAgfCBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUyB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkKLQkJY2Rldl9pcmItPnNjc3cuZHN0YXQgfD0gaXJiLT5zY3N3LmRzdGF0OworCQljZGV2X2lyYi0+c2Nzdy5jbWQuZHN0YXQgfD0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAkvKiBBY2N1bXVsYXRlIHN1YmNoYW5uZWwgc3RhdHVzLiAqLwotCWNkZXZfaXJiLT5zY3N3LmNzdGF0IHw9IGlyYi0+c2Nzdy5jc3RhdDsKKwljZGV2X2lyYi0+c2Nzdy5jbWQuY3N0YXQgfD0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKIAkvKiBDb3B5IHJlc2lkdWFsIGNvdW50IGlmIGl0IGlzIHZhbGlkLiAqLwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgJiYKLQkgICAgKGlyYi0+c2Nzdy5jc3RhdCAmIH4oU0NITl9TVEFUX1BDSSB8IFNDSE5fU1RBVF9JTkNPUlJfTEVOKSkgPT0gMCkKLQkJY2Rldl9pcmItPnNjc3cuY291bnQgPSBpcmItPnNjc3cuY291bnQ7CisJaWYgKChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiB+KFNDSE5fU1RBVF9QQ0kgfCBTQ0hOX1NUQVRfSU5DT1JSX0xFTikpCisJICAgICA9PSAwKQorCQljZGV2X2lyYi0+c2Nzdy5jbWQuY291bnQgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCiAJLyogVGFrZSBjYXJlIG9mIGJpdHMgaW4gdGhlIGV4dGVuZGVkIHN0YXR1cyB3b3JkLiAqLwogCWNjd19kZXZpY2VfYWNjdW11bGF0ZV9lc3coY2RldiwgaXJiKTsKQEAgLTI5OSw3ICsyOTgsNyBAQAogCSAqCSBzZW5zZSBmYWNpbGl0eSBhdmFpbGFibGUvc3VwcG9ydGVkIHdoZW4gZW5hYmxpbmcgdGhlCiAJICoJIGNvbmN1cnJlbnQgc2Vuc2UgZmFjaWxpdHkuCiAJICovCi0JaWYgKChjZGV2X2lyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCisJaWYgKChjZGV2X2lyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgogCSAgICAhKGNkZXZfaXJiLT5lc3cuZXN3MC5lcncuY29ucykpCiAJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UgPSAxOwogfQpAQCAtMzE3LDcgKzMxNiw3IEBACiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAogCS8qIEEgc2Vuc2UgaXMgcmVxdWlyZWQsIGNhbiB3ZSBkbyBpdCBub3cgPyAqLwotCWlmICgoaXJiLT5zY3N3LmFjdGwgICYgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkgIT0gMCkKKwlpZiAoc2Nzd19hY3RsKCZpcmItPnNjc3cpICYgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkKIAkJLyoKIAkJICogd2UgcmVjZWl2ZWQgYW4gVW5pdCBDaGVjayBidXQgd2UgaGF2ZSBubyBmaW5hbAogCQkgKiAgc3RhdHVzIHlldCwgdGhlcmVmb3JlIHdlIG11c3QgZGVsYXkgdGhlIFNFTlNFCkBAIC0zNTUsMjAgKzM1NCwxOCBAQAogCSAqIElmIG5vdCwgdGhlIHJlbWFpbmluZyBiaXQgaGF2ZSBubyBtZWFuaW5nIGFuZCB3ZSBtdXN0IGlnbm9yZSB0aGVtLgogCSAqIFRoZSBlc3cgaXMgbm90IG1lYW5pbmdmdWwgYXMgd2VsbC4uLgogCSAqLwotCWlmICghKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKQorCWlmICghKHNjc3dfc3RjdGwoJmlyYi0+c2NzdykgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkKIAkJcmV0dXJuOwogCiAJLyogQ2hlY2sgZm9yIGNoYW5uZWwgY2hlY2tzIGFuZCBpbnRlcmZhY2UgY29udHJvbCBjaGVja3MuICovCiAJY2N3X2RldmljZV9tc2dfY29udHJvbF9jaGVjayhjZGV2LCBpcmIpOwogCiAJLyogQ2hlY2sgZm9yIHBhdGggbm90IG9wZXJhdGlvbmFsLiAqLwotCWlmIChpcmItPnNjc3cucG5vICYmIGlyYi0+c2Nzdy5mY3RsICE9IDAgJiYKLQkgICAgKCEoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpIHx8Ci0JICAgICAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkpCisJaWYgKHNjc3dfaXNfdmFsaWRfcG5vKCZpcmItPnNjc3cpICYmIHNjc3dfcG5vKCZpcmItPnNjc3cpKQogCQljY3dfZGV2aWNlX3BhdGhfbm90b3BlcihjZGV2KTsKIAotCWlmICghKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCi0JICAgIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSkgeworCWlmICghKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgorCSAgICAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0NITl9FTkQpKSB7CiAJCWNkZXYtPnByaXZhdGUtPmlyYi5lc3cuZXN3MC5lcncuY29ucyA9IDE7CiAJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UgPSAwOwogCX0KQEAgLTM4NiwxMSArMzgzLDExIEBACiBjY3dfZGV2aWNlX2FjY3VtdWxhdGVfYW5kX3NlbnNlKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgaXJiICppcmIpCiB7CiAJY2N3X2RldmljZV9hY2N1bXVsYXRlX2lyYihjZGV2LCBpcmIpOwotCWlmICgoaXJiLT5zY3N3LmFjdGwgICYgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkgIT0gMCkKKwlpZiAoKGlyYi0+c2Nzdy5jbWQuYWN0bCAgJiAoU0NTV19BQ1RMX0RFVkFDVCB8IFNDU1dfQUNUTF9TQ0hBQ1QpKSAhPSAwKQogCQlyZXR1cm4gLUVCVVNZOwogCS8qIENoZWNrIGZvciBiYXNpYyBzZW5zZS4gKi8KIAlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZG9zZW5zZSAmJgotCSAgICAhKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spKSB7CisJICAgICEoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spKSB7CiAJCWNkZXYtPnByaXZhdGUtPmlyYi5lc3cuZXN3MC5lcncuY29ucyA9IDE7CiAJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UgPSAwOwogCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZmN4LmMgYi9kcml2ZXJzL3MzOTAvY2lvL2ZjeC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNjc3ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2ZjeC5jCkBAIC0wLDAgKzEsMzUwIEBACisvKgorICogIEZ1bmN0aW9ucyBmb3IgYXNzZW1ibGluZyBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KKyNpbmNsdWRlICJjaW8uaCIKKworLyoqCisgKiB0Y3dfZ2V0X2ludHJnIC0gcmV0dXJuIHBvaW50ZXIgdG8gYXNzb2NpYXRlZCBpbnRlcnJvZ2F0ZSB0Y3cKKyAqIEB0Y3c6IHBvaW50ZXIgdG8gdGhlIG9yaWdpbmFsIHRjdworICoKKyAqIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGludGVycm9nYXRlIHRjdyBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCB0Y3cKKyAqIG9yICVOVUxMIGlmIHRoZXJlIGlzIG5vIGFzc29jaWF0ZWQgaW50ZXJyb2dhdGUgdGN3LgorICovCitzdHJ1Y3QgdGN3ICp0Y3dfZ2V0X2ludHJnKHN0cnVjdCB0Y3cgKnRjdykKK3sKKwlyZXR1cm4gKHN0cnVjdCB0Y3cgKikgKChhZGRyX3QpIHRjdy0+aW50cmcpOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfZ2V0X2ludHJnKTsKKworLyoqCisgKiB0Y3dfZ2V0X2RhdGEgLSByZXR1cm4gcG9pbnRlciB0byBpbnB1dC9vdXRwdXQgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGN3CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSB0Y3cKKyAqCisgKiBSZXR1cm4gdGhlIGlucHV0IG9yIG91dHB1dCBkYXRhIGFkZHJlc3Mgc3BlY2lmaWVkIGluIHRoZSB0Y3cgZGVwZW5kaW5nCisgKiBvbiB3aGV0aGVyIHRoZSByLWJpdCBvciB0aGUgdy1iaXQgaXMgc2V0LiBJZiBuZWl0aGVyIGJpdCBpcyBzZXQsIHJldHVybgorICogJU5VTEwuCisgKi8KK3ZvaWQgKnRjd19nZXRfZGF0YShzdHJ1Y3QgdGN3ICp0Y3cpCit7CisJaWYgKHRjdy0+cikKKwkJcmV0dXJuICh2b2lkICopICgoYWRkcl90KSB0Y3ctPmlucHV0KTsKKwlpZiAodGN3LT53KQorCQlyZXR1cm4gKHZvaWQgKikgKChhZGRyX3QpIHRjdy0+b3V0cHV0KTsKKwlyZXR1cm4gTlVMTDsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2dldF9kYXRhKTsKKworLyoqCisgKiB0Y3dfZ2V0X3RjY2IgLSByZXR1cm4gcG9pbnRlciB0byB0Y2NiIGFzc29jaWF0ZWQgd2l0aCB0Y3cKKyAqIEB0Y3c6IHBvaW50ZXIgdG8gdGhlIHRjdworICoKKyAqIFJldHVybiBwb2ludGVyIHRvIHRoZSB0Y2NiIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRjdy4KKyAqLworc3RydWN0IHRjY2IgKnRjd19nZXRfdGNjYihzdHJ1Y3QgdGN3ICp0Y3cpCit7CisJcmV0dXJuIChzdHJ1Y3QgdGNjYiAqKSAoKGFkZHJfdCkgdGN3LT50Y2NiKTsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2dldF90Y2NiKTsKKworLyoqCisgKiB0Y3dfZ2V0X3RzYiAtIHJldHVybiBwb2ludGVyIHRvIHRzYiBhc3NvY2lhdGVkIHdpdGggdGN3CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSB0Y3cKKyAqCisgKiBSZXR1cm4gcG9pbnRlciB0byB0aGUgdHNiIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRjdy4KKyAqLworc3RydWN0IHRzYiAqdGN3X2dldF90c2Ioc3RydWN0IHRjdyAqdGN3KQoreworCXJldHVybiAoc3RydWN0IHRzYiAqKSAoKGFkZHJfdCkgdGN3LT50c2IpOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfZ2V0X3RzYik7CisKKy8qKgorICogdGN3X2luaXQgLSBpbml0aWFsaXplIHRjdyBkYXRhIHN0cnVjdHVyZQorICogQHRjdzogcG9pbnRlciB0byB0aGUgdGN3IHRvIGJlIGluaXRpYWxpemVkCisgKiBAcjogaW5pdGlhbCB2YWx1ZSBvZiB0aGUgci1iaXQKKyAqIEB3OiBpbml0aWFsIHZhbHVlIG9mIHRoZSB3LWJpdAorICoKKyAqIEluaXRpYWxpemUgYWxsIGZpZWxkcyBvZiB0aGUgc3BlY2lmaWVkIHRjdyBkYXRhIHN0cnVjdHVyZSB3aXRoIHplcm8gYW5kCisgKiBmaWxsIGluIHRoZSBmb3JtYXQsIGZsYWdzLCByIGFuZCB3IGZpZWxkcy4KKyAqLwordm9pZCB0Y3dfaW5pdChzdHJ1Y3QgdGN3ICp0Y3csIGludCByLCBpbnQgdykKK3sKKwltZW1zZXQodGN3LCAwLCBzaXplb2Yoc3RydWN0IHRjdykpOworCXRjdy0+Zm9ybWF0ID0gVENXX0ZPUk1BVF9ERUZBVUxUOworCXRjdy0+ZmxhZ3MgPSBUQ1dfRkxBR1NfVElEQVdfRk9STUFUKFRDV19USURBV19GT1JNQVRfREVGQVVMVCk7CisJaWYgKHIpCisJCXRjdy0+ciA9IDE7CisJaWYgKHcpCisJCXRjdy0+dyA9IDE7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19pbml0KTsKKworc3RhdGljIGlubGluZSBzaXplX3QgdGNhX3NpemUoc3RydWN0IHRjY2IgKnRjY2IpCit7CisJcmV0dXJuIHRjY2ItPnRjYWgudGNhbCAtIDEyOworfQorCitzdGF0aWMgdTMyIGNhbGNfZGN3X2NvdW50KHN0cnVjdCB0Y2NiICp0Y2NiKQoreworCWludCBvZmZzZXQ7CisJc3RydWN0IGRjdyAqZGN3OworCXUzMiBjb3VudCA9IDA7CisJc2l6ZV90IHNpemU7CisKKwlzaXplID0gdGNhX3NpemUodGNjYik7CisJZm9yIChvZmZzZXQgPSAwOyBvZmZzZXQgPCBzaXplOykgeworCQlkY3cgPSAoc3RydWN0IGRjdyAqKSAmdGNjYi0+dGNhW29mZnNldF07CisJCWNvdW50ICs9IGRjdy0+Y291bnQ7CisJCWlmICghKGRjdy0+ZmxhZ3MgJiBEQ1dfRkxBR1NfQ0MpKQorCQkJYnJlYWs7CisJCW9mZnNldCArPSBzaXplb2Yoc3RydWN0IGRjdykgKyBBTElHTigoaW50KSBkY3ctPmNkX2NvdW50LCA0KTsKKwl9CisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgdTMyIGNhbGNfY2JjX3NpemUoc3RydWN0IHRpZGF3ICp0aWRhdywgaW50IG51bSkKK3sKKwlpbnQgaTsKKwl1MzIgY2JjX2RhdGE7CisJdTMyIGNiY19jb3VudCA9IDA7CisJdTY0IGRhdGFfY291bnQgPSAwOworCisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CisJCWlmICh0aWRhd1tpXS5mbGFncyAmIFRJREFXX0ZMQUdTX0xBU1QpCisJCQlicmVhazsKKwkJLyogVE9ETzogZmluZCBvdXQgaWYgcGFkZGluZyBhcHBsaWVzIHRvIHRvdGFsIG9mIGRhdGEKKwkJICogdHJhbnNmZXJyZWQgb3IgZGF0YSB0cmFuc2ZlcnJlZCBieSB0aGlzIHRpZGF3LiBBc3N1bXB0aW9uOgorCQkgKiBhcHBsaWVzIHRvIHRvdGFsLiAqLworCQlkYXRhX2NvdW50ICs9IHRpZGF3W2ldLmNvdW50OworCQlpZiAodGlkYXdbaV0uZmxhZ3MgJiBUSURBV19GTEFHU19JTlNFUlRfQ0JDKSB7CisJCQljYmNfZGF0YSA9IDQgKyBBTElHTihkYXRhX2NvdW50LCA0KSAtIGRhdGFfY291bnQ7CisJCQljYmNfY291bnQgKz0gY2JjX2RhdGE7CisJCQlkYXRhX2NvdW50ICs9IGNiY19kYXRhOworCQl9CisJfQorCXJldHVybiBjYmNfY291bnQ7Cit9CisKKy8qKgorICogdGN3X2ZpbmFsaXplIC0gZmluYWxpemUgdGN3IGxlbmd0aCBmaWVsZHMgYW5kIHRpZGF3IGxpc3QKKyAqIEB0Y3c6IHBvaW50ZXIgdG8gdGhlIHRjdworICogQG51bV90aWRhd3M6IHRoZSBudW1iZXIgb2YgdGlkYXdzIHVzZWQgdG8gYWRkcmVzcyBpbnB1dC9vdXRwdXQgZGF0YSBvciB6ZXJvCisgKiBpZiBubyB0aWRhIGlzIHVzZWQKKyAqCisgKiBDYWxjdWxhdGUgdGhlIGlucHV0LS9vdXRwdXQtY291bnQgYW5kIHRjY2JsIGZpZWxkIGluIHRoZSB0Y3csIGFkZCBhCisgKiB0Y2F0IHRoZSB0Y2NiIGFuZCB0ZXJtaW5hdGUgdGhlIGRhdGEgdGlkYXcgbGlzdCBpZiB1c2VkLgorICoKKyAqIE5vdGU6IGluIGNhc2UgaW5wdXQtIG9yIG91dHB1dC10aWRhIGlzIHVzZWQsIHRoZSB0aWRhdy1saXN0IG11c3QgYmUgc3RvcmVkCisgKiBpbiBjb250aWd1b3VzIHN0b3JhZ2UgKG5vIHR0aWMpLiBUaGUgdGNhbCBmaWVsZCBpbiB0aGUgdGNjYiBtdXN0IGJlCisgKiB1cC10by1kYXRlLgorICovCit2b2lkIHRjd19maW5hbGl6ZShzdHJ1Y3QgdGN3ICp0Y3csIGludCBudW1fdGlkYXdzKQoreworCXN0cnVjdCB0aWRhdyAqdGlkYXc7CisJc3RydWN0IHRjY2IgKnRjY2I7CisJc3RydWN0IHRjY2JfdGNhdCAqdGNhdDsKKwl1MzIgY291bnQ7CisKKwkvKiBUZXJtaW5hdGUgdGlkYXcgbGlzdC4gKi8KKwl0aWRhdyA9IHRjd19nZXRfZGF0YSh0Y3cpOworCWlmIChudW1fdGlkYXdzID4gMCkKKwkJdGlkYXdbbnVtX3RpZGF3cyAtIDFdLmZsYWdzIHw9IFRJREFXX0ZMQUdTX0xBU1Q7CisJLyogQWRkIHRjYXQgdG8gdGNjYi4gKi8KKwl0Y2NiID0gdGN3X2dldF90Y2NiKHRjdyk7CisJdGNhdCA9IChzdHJ1Y3QgdGNjYl90Y2F0ICopICZ0Y2NiLT50Y2FbdGNhX3NpemUodGNjYildOworCW1lbXNldCh0Y2F0LCAwLCBzaXplb2YodGNhdCkpOworCS8qIENhbGN1bGF0ZSB0Y3cgaW5wdXQvb3V0cHV0IGNvdW50IGFuZCB0Y2F0IHRyYW5zcG9ydCBjb3VudC4gKi8KKwljb3VudCA9IGNhbGNfZGN3X2NvdW50KHRjY2IpOworCWlmICh0Y3ctPncgJiYgKHRjdy0+ZmxhZ3MgJiBUQ1dfRkxBR1NfT1VUUFVUX1RJREEpKQorCQljb3VudCArPSBjYWxjX2NiY19zaXplKHRpZGF3LCBudW1fdGlkYXdzKTsKKwlpZiAodGN3LT5yKQorCQl0Y3ctPmlucHV0X2NvdW50ID0gY291bnQ7CisJZWxzZSBpZiAodGN3LT53KQorCQl0Y3ctPm91dHB1dF9jb3VudCA9IGNvdW50OworCXRjYXQtPmNvdW50ID0gQUxJR04oY291bnQsIDQpICsgNDsKKwkvKiBDYWxjdWxhdGUgdGNjYmwuICovCisJdGN3LT50Y2NibCA9IChzaXplb2Yoc3RydWN0IHRjY2IpICsgdGNhX3NpemUodGNjYikgKworCQkgICAgICBzaXplb2Yoc3RydWN0IHRjY2JfdGNhdCkgLSAyMCkgPj4gMjsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2ZpbmFsaXplKTsKKworLyoqCisgKiB0Y3dfc2V0X2ludHJnIC0gc2V0IHRoZSBpbnRlcnJvZ2F0ZSB0Y3cgYWRkcmVzcyBvZiBhIHRjdworICogQHRjdzogdGhlIHRjdyBhZGRyZXNzCisgKiBAaW50cmdfdGN3OiB0aGUgYWRkcmVzcyBvZiB0aGUgaW50ZXJyb2dhdGUgdGN3CisgKgorICogU2V0IHRoZSBhZGRyZXNzIG9mIHRoZSBpbnRlcnJvZ2F0ZSB0Y3cgaW4gdGhlIHNwZWNpZmllZCB0Y3cuCisgKi8KK3ZvaWQgdGN3X3NldF9pbnRyZyhzdHJ1Y3QgdGN3ICp0Y3csIHN0cnVjdCB0Y3cgKmludHJnX3RjdykKK3sKKwl0Y3ctPmludHJnID0gKHUzMikgKChhZGRyX3QpIGludHJnX3Rjdyk7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19zZXRfaW50cmcpOworCisvKioKKyAqIHRjd19zZXRfZGF0YSAtIHNldCBkYXRhIGFkZHJlc3MgYW5kIHRpZGEgZmxhZyBvZiBhIHRjdworICogQHRjdzogdGhlIHRjdyBhZGRyZXNzCisgKiBAZGF0YTogdGhlIGRhdGEgYWRkcmVzcworICogQHVzZV90aWRhbDogemVybyBvZiB0aGUgZGF0YSBhZGRyZXNzIHNwZWNpZmllcyBhIGNvbnRpZ3VvdXMgYmxvY2sgb2YgZGF0YSwKKyAqIG5vbi16ZXJvIGlmIGl0IHNwZWNpZmllcyBhIGxpc3QgaWYgdGlkYXdzLgorICoKKyAqIFNldCB0aGUgaW5wdXQvb3V0cHV0IGRhdGEgYWRkcmVzcyBvZiBhIHRjdyAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUKKyAqIHItZmxhZyBhbmQgdy1mbGFnKS4gSWYgQHVzZV90aWRhbCBpcyBub24temVybywgdGhlIGNvcnJlc3BvbmRpbmcgdGlkYSBmbGFnCisgKiBpcyBzZXQgYXMgd2VsbC4KKyAqLwordm9pZCB0Y3dfc2V0X2RhdGEoc3RydWN0IHRjdyAqdGN3LCB2b2lkICpkYXRhLCBpbnQgdXNlX3RpZGFsKQoreworCWlmICh0Y3ctPnIpIHsKKwkJdGN3LT5pbnB1dCA9ICh1NjQpICgoYWRkcl90KSBkYXRhKTsKKwkJaWYgKHVzZV90aWRhbCkKKwkJCXRjdy0+ZmxhZ3MgfD0gVENXX0ZMQUdTX0lOUFVUX1RJREE7CisJfSBlbHNlIGlmICh0Y3ctPncpIHsKKwkJdGN3LT5vdXRwdXQgPSAodTY0KSAoKGFkZHJfdCkgZGF0YSk7CisJCWlmICh1c2VfdGlkYWwpCisJCQl0Y3ctPmZsYWdzIHw9IFRDV19GTEFHU19PVVRQVVRfVElEQTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKHRjd19zZXRfZGF0YSk7CisKKy8qKgorICogdGN3X3NldF90Y2NiIC0gc2V0IHRjY2IgYWRkcmVzcyBvZiBhIHRjdworICogQHRjdzogdGhlIHRjdyBhZGRyZXNzCisgKiBAdGNjYjogdGhlIHRjY2IgYWRkcmVzcworICoKKyAqIFNldCB0aGUgYWRkcmVzcyBvZiB0aGUgdGNjYiBpbiB0aGUgc3BlY2lmaWVkIHRjdy4KKyAqLwordm9pZCB0Y3dfc2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdGNjYiAqdGNjYikKK3sKKwl0Y3ctPnRjY2IgPSAodTY0KSAoKGFkZHJfdCkgdGNjYik7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19zZXRfdGNjYik7CisKKy8qKgorICogdGN3X3NldF90c2IgLSBzZXQgdHNiIGFkZHJlc3Mgb2YgYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQHRzYjogdGhlIHRzYiBhZGRyZXNzCisgKgorICogU2V0IHRoZSBhZGRyZXNzIG9mIHRoZSB0c2IgaW4gdGhlIHNwZWNpZmllZCB0Y3cuCisgKi8KK3ZvaWQgdGN3X3NldF90c2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdHNiICp0c2IpCit7CisJdGN3LT50c2IgPSAodTY0KSAoKGFkZHJfdCkgdHNiKTsKK30KK0VYUE9SVF9TWU1CT0wodGN3X3NldF90c2IpOworCisvKioKKyAqIHRjY2JfaW5pdCAtIGluaXRpYWxpemUgdGNjYgorICogQHRjY2I6IHRoZSB0Y2NiIGFkZHJlc3MKKyAqIEBzaXplOiB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSB0Y2NiCisgKiBAc2FjOiB0aGUgc2VydmljZS1hY3Rpb24tY29kZSB0byBiZSB1c2VyCisgKgorICogSW5pdGlhbGl6ZSB0aGUgaGVhZGVyIG9mIHRoZSBzcGVjaWZpZWQgdGNjYiBieSByZXNldHRpbmcgYWxsIHZhbHVlcyB0byB6ZXJvCisgKiBhbmQgZmlsbGluZyBpbiBkZWZhdWx0cyBmb3IgZm9ybWF0LCBzYWMgYW5kIGluaXRpYWwgdGNhbCBmaWVsZHMuCisgKi8KK3ZvaWQgdGNjYl9pbml0KHN0cnVjdCB0Y2NiICp0Y2NiLCBzaXplX3Qgc2l6ZSwgdTMyIHNhYykKK3sKKwltZW1zZXQodGNjYiwgMCwgc2l6ZSk7CisJdGNjYi0+dGNhaC5mb3JtYXQgPSBUQ0NCX0ZPUk1BVF9ERUZBVUxUOworCXRjY2ItPnRjYWguc2FjID0gc2FjOworCXRjY2ItPnRjYWgudGNhbCA9IDEyOworfQorRVhQT1JUX1NZTUJPTCh0Y2NiX2luaXQpOworCisvKioKKyAqIHRzYl9pbml0IC0gaW5pdGlhbGl6ZSB0c2IKKyAqIEB0c2I6IHRoZSB0c2IgYWRkcmVzcworICoKKyAqIEluaXRpYWxpemUgdGhlIHNwZWNpZmllZCB0c2IgYnkgcmVzZXR0aW5nIGFsbCB2YWx1ZXMgdG8gemVyby4KKyAqLwordm9pZCB0c2JfaW5pdChzdHJ1Y3QgdHNiICp0c2IpCit7CisJbWVtc2V0KHRzYiwgMCwgc2l6ZW9mKHRzYikpOworfQorRVhQT1JUX1NZTUJPTCh0c2JfaW5pdCk7CisKKy8qKgorICogdGNjYl9hZGRfZGN3IC0gYWRkIGEgZGN3IHRvIHRoZSB0Y2NiCisgKiBAdGNjYjogdGhlIHRjY2IgYWRkcmVzcworICogQHRjY2Jfc2l6ZTogdGhlIG1heGltdW0gdGNjYiBzaXplCisgKiBAY21kOiB0aGUgZGN3IGNvbW1hbmQKKyAqIEBmbGFnczogZmxhZ3MgZm9yIHRoZSBkY3cKKyAqIEBjZDogcG9pbnRlciB0byBjb250cm9sIGRhdGEgZm9yIHRoaXMgZGN3IG9yIE5VTEwgaWYgbm9uZSBpcyByZXF1aXJlZAorICogQGNkX2NvdW50OiBudW1iZXIgb2YgY29udHJvbCBkYXRhIGJ5dGVzIGZvciB0aGlzIGRjdworICogQGNvdW50OiBudW1iZXIgb2YgZGF0YSBieXRlcyBmb3IgdGhpcyBkY3cKKyAqCisgKiBBZGQgYSBuZXcgZGN3IHRvIHRoZSBzcGVjaWZpZWQgdGNjYiBieSB3cml0aW5nIHRoZSBkY3cgaW5mb3JtYXRpb24gc3BlY2lmaWVkCisgKiBieSBAY21kLCBAZmxhZ3MsIEBjZCwgQGNkX2NvdW50IGFuZCBAY291bnQgdG8gdGhlIHRjYSBvZiB0aGUgdGNjYi4gUmV0dXJuCisgKiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGFkZGVkIGRjdyBvbiBzdWNjZXNzIG9yIC0lRU5PU1BDIGlmIHRoZSBuZXcgZGN3CisgKiB3b3VsZCBleGNlZWQgdGhlIGF2YWlsYWJsZSBzcGFjZSBhcyBkZWZpbmVkIGJ5IEB0Y2NiX3NpemUuCisgKgorICogTm90ZTogdGhlIHRjYWwgZmllbGQgb2YgdGhlIHRjY2IgaGVhZGVyIHdpbGwgYmUgdXBkYXRlcyB0byByZWZsZWN0IGFkZGVkCisgKiBjb250ZW50LgorICovCitzdHJ1Y3QgZGN3ICp0Y2NiX2FkZF9kY3coc3RydWN0IHRjY2IgKnRjY2IsIHNpemVfdCB0Y2NiX3NpemUsIHU4IGNtZCwgdTggZmxhZ3MsCisJCQkgdm9pZCAqY2QsIHU4IGNkX2NvdW50LCB1MzIgY291bnQpCit7CisJc3RydWN0IGRjdyAqZGN3OworCWludCBzaXplOworCWludCB0Y2Ffb2Zmc2V0OworCisJLyogQ2hlY2sgZm9yIHNwYWNlLiAqLworCXRjYV9vZmZzZXQgPSB0Y2Ffc2l6ZSh0Y2NiKTsKKwlzaXplID0gQUxJR04oc2l6ZW9mKHN0cnVjdCBkY3cpICsgY2RfY291bnQsIDQpOworCWlmIChzaXplb2Yoc3RydWN0IHRjY2JfdGNhaCkgKyB0Y2Ffb2Zmc2V0ICsgc2l6ZSArCisJICAgIHNpemVvZihzdHJ1Y3QgdGNjYl90Y2F0KSA+IHRjY2Jfc2l6ZSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NQQyk7CisJLyogQWRkIGRjdyB0byB0Y2EuICovCisJZGN3ID0gKHN0cnVjdCBkY3cgKikgJnRjY2ItPnRjYVt0Y2Ffb2Zmc2V0XTsKKwltZW1zZXQoZGN3LCAwLCBzaXplKTsKKwlkY3ctPmNtZCA9IGNtZDsKKwlkY3ctPmZsYWdzID0gZmxhZ3M7CisJZGN3LT5jb3VudCA9IGNvdW50OworCWRjdy0+Y2RfY291bnQgPSBjZF9jb3VudDsKKwlpZiAoY2QpCisJCW1lbWNweSgmZGN3LT5jZFswXSwgY2QsIGNkX2NvdW50KTsKKwl0Y2NiLT50Y2FoLnRjYWwgKz0gc2l6ZTsKKwlyZXR1cm4gZGN3OworfQorRVhQT1JUX1NZTUJPTCh0Y2NiX2FkZF9kY3cpOworCisvKioKKyAqIHRjd19hZGRfdGlkYXcgLSBhZGQgYSB0aWRhdyB0byBhIHRjdworICogQHRjdzogdGhlIHRjdyBhZGRyZXNzCisgKiBAbnVtX3RpZGF3czogdGhlIGN1cnJlbnQgbnVtYmVyIG9mIHRpZGF3cworICogQGZsYWdzOiBmbGFncyBmb3IgdGhlIG5ldyB0aWRhdworICogQGFkZHI6IGFkZHJlc3MgdmFsdWUgZm9yIHRoZSBuZXcgdGlkYXcKKyAqIEBjb3VudDogY291bnQgdmFsdWUgZm9yIHRoZSBuZXcgdGlkYXcKKyAqCisgKiBBZGQgYSBuZXcgdGlkYXcgdG8gdGhlIGlucHV0L291dHB1dCBkYXRhIHRpZGF3LWxpc3Qgb2YgdGhlIHNwZWNpZmllZCB0Y3cKKyAqIChkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZSByLWZsYWcgYW5kIHctZmxhZykgYW5kIHJldHVybiBhIHBvaW50ZXIgdG8KKyAqIHRoZSBuZXcgdGlkYXcuCisgKgorICogTm90ZTogdGhlIHRpZGF3LWxpc3QgaXMgYXNzdW1lZCB0byBiZSBjb250aWd1b3VzIHdpdGggbm8gdHRpY3MuIFRoZSBjYWxsZXIKKyAqIG11c3QgZW5zdXJlIHRoYXQgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGZvciB0aGUgbmV3IHRpZGF3LiBUaGUgbGFzdC10aWRhdworICogZmxhZyBmb3IgdGhlIGxhc3QgdGlkYXcgaW4gdGhlIGxpc3Qgd2lsbCBiZSBzZXQgYnkgdGN3X2ZpbmFsaXplLgorICovCitzdHJ1Y3QgdGlkYXcgKnRjd19hZGRfdGlkYXcoc3RydWN0IHRjdyAqdGN3LCBpbnQgbnVtX3RpZGF3cywgdTggZmxhZ3MsCisJCQkgICAgdm9pZCAqYWRkciwgdTMyIGNvdW50KQoreworCXN0cnVjdCB0aWRhdyAqdGlkYXc7CisKKwkvKiBBZGQgdGlkYXcgdG8gdGlkYXctbGlzdC4gKi8KKwl0aWRhdyA9ICgoc3RydWN0IHRpZGF3ICopIHRjd19nZXRfZGF0YSh0Y3cpKSArIG51bV90aWRhd3M7CisJbWVtc2V0KHRpZGF3LCAwLCBzaXplb2Yoc3RydWN0IHRpZGF3KSk7CisJdGlkYXctPmZsYWdzID0gZmxhZ3M7CisJdGlkYXctPmNvdW50ID0gY291bnQ7CisJdGlkYXctPmFkZHIgPSAodTY0KSAoKGFkZHJfdCkgYWRkcik7CisJcmV0dXJuIHRpZGF3OworfQorRVhQT1JUX1NZTUJPTCh0Y3dfYWRkX3RpZGF3KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vaWRzZXQuaCBiL2RyaXZlcnMvczM5MC9jaW8vaWRzZXQuaAppbmRleCAxNDQ0NjZhLi41MjgwNjVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2lkc2V0LmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9pZHNldC5oCkBAIC04LDcgKzgsNyBAQAogI2lmbmRlZiBTMzkwX0lEU0VUX0gKICNkZWZpbmUgUzM5MF9JRFNFVF9IIFMzOTBfSURTRVRfSAogCi0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogc3RydWN0IGlkc2V0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2lvX3NjaC5oIGIvZHJpdmVycy9zMzkwL2Npby9pb19zY2guaAppbmRleCA4YzYxMzE2Li4zZjhmMWNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2lvX3NjaC5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaW9fc2NoLmgKQEAgLTEsMTIgKzEsMTIgQEAKICNpZm5kZWYgUzM5MF9JT19TQ0hfSAogI2RlZmluZSBTMzkwX0lPX1NDSF9ICiAKLSNpbmNsdWRlICJzY2hpZC5oIgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogCiAvKgotICogb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sKKyAqIGNvbW1hbmQtbW9kZSBvcGVyYXRpb24gcmVxdWVzdCBibG9jawogICovCi1zdHJ1Y3Qgb3JiIHsKK3N0cnVjdCBjbWRfb3JiIHsKIAl1MzIgaW50cGFybTsJLyogaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLwogCXUzMiBrZXkgIDogNDsJLyogZmxhZ3MsIGxpa2Uga2V5LCBzdXNwZW5kIGNvbnRyb2wsIGV0Yy4gKi8KIAl1MzIgc3BuZCA6IDE7CS8qIHN1c3BlbmQgY29udHJvbCAqLwpAQCAtMjgsOCArMjgsMzYgQEAKIAl1MzIgY3BhOwkvKiBjaGFubmVsIHByb2dyYW0gYWRkcmVzcyAqLwogfSAgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwogCisvKgorICogdHJhbnNwb3J0LW1vZGUgb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sKKyAqLworc3RydWN0IHRtX29yYiB7CisJdTMyIGludHBhcm07CisJdTMyIGtleTo0OworCXUzMiA6OTsKKwl1MzIgYjoxOworCXUzMiA6MjsKKwl1MzIgbHBtOjg7CisJdTMyIDo3OworCXUzMiB4OjE7CisJdTMyIHRjdzsKKwl1MzIgcHJpbzo4OworCXUzMiA6ODsKKwl1MzIgcnN2cGdtOjg7CisJdTMyIDo4OworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgOjMyOworCXUzMiA6MzI7Cit9ICBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDQpKSk7CisKK3VuaW9uIG9yYiB7CisJc3RydWN0IGNtZF9vcmIgY21kOworCXN0cnVjdCB0bV9vcmIgdG07Cit9ICBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDQpKSk7CisKIHN0cnVjdCBpb19zdWJjaGFubmVsX3ByaXZhdGUgewotCXN0cnVjdCBvcmIgb3JiOwkJLyogb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sgKi8KKwl1bmlvbiBvcmIgb3JiOwkJLyogb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sgKi8KIAlzdHJ1Y3QgY2N3MSBzZW5zZV9jY3c7CS8qIHN0YXRpYyBjY3cgZm9yIHNlbnNlIGNvbW1hbmQgKi8KIH0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoOCkpKTsKIApAQCAtOTUsMTYgKzEyMywxOCBAQAogCXZvaWQgKmNtYl93YWl0OwkJCS8qIGRlZmVycmVkIGNtYiBlbmFibGUvZGlzYWJsZSAqLwogfTsKIAotc3RhdGljIGlubGluZSBpbnQgc3NjaChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwgdm9sYXRpbGUgc3RydWN0IG9yYiAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHNzY2goc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQsIHZvbGF0aWxlIHVuaW9uIG9yYiAqYWRkcikKIHsKIAlyZWdpc3RlciBzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCByZWcxIGFzbSgiMSIpID0gc2NoaWQ7Ci0JaW50IGNjb2RlOworCWludCBjY29kZSA9IC1FSU87CiAKIAlhc20gdm9sYXRpbGUoCiAJCSIJc3NjaAkwKCUyKVxuIgotCQkiCWlwbQklMFxuIgotCQkiCXNybAklMCwyOCIKLQkJOiAiPWQiIChjY29kZSkgOiAiZCIgKHJlZzEpLCAiYSIgKGFkZHIpLCAibSIgKCphZGRyKSA6ICJjYyIpOworCQkiMDoJaXBtCSUwXG4iCisJCSIJc3JsCSUwLDI4XG4iCisJCSIxOlxuIgorCQlFWF9UQUJMRSgwYiwgMWIpCisJCTogIitkIiAoY2NvZGUpIDogImQiIChyZWcxKSwgImEiIChhZGRyKSwgIm0iICgqYWRkcikgOiAiY2MiKTsKIAlyZXR1cm4gY2NvZGU7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vaW9hc20uaCBiL2RyaXZlcnMvczM5MC9jaW8vaW9hc20uaAppbmRleCA2NTJlYTM2Li45ZmEyYWMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2lvYXNtLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9pb2FzbS5oCkBAIC0yLDcgKzIsNyBAQAogI2RlZmluZSBTMzkwX0NJT19JT0FTTV9ICiAKICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KLSNpbmNsdWRlICJzY2hpZC5oIgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogCiAvKgogICogVFBJIGluZm8gc3RydWN0dXJlCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2lzYy5jIGIvZHJpdmVycy9zMzkwL2Npby9pc2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTkyMDg3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zMzkwL2Npby9pc2MuYwpAQCAtMCwwICsxLDY4IEBACisvKgorICogRnVuY3Rpb25zIGZvciByZWdpc3RyYXRpb24gb2YgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzc2VzIG9uIHMzOTAuCisgKgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiBBdXRob3JzOiBTZWJhc3RpYW4gT3R0IDxzZWJvdHRAbGludXgudm5ldC5pYm0uY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KKworc3RhdGljIHVuc2lnbmVkIGludCBpc2NfcmVmc1tNQVhfSVNDICsgMV07CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGlzY19yZWZfbG9jayk7CisKKworLyoqCisgKiBpc2NfcmVnaXN0ZXIgLSByZWdpc3RlciBhbiBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzLgorICogQGlzYzogSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcyB0byByZWdpc3RlcgorICoKKyAqIFRoZSBudW1iZXIgb2YgdXNlcnMgZm9yIEBpc2MgaXMgaW5jcmVhc2VkLiBJZiB0aGlzIGlzIHRoZSBmaXJzdCB1c2VyIHRvCisgKiByZWdpc3RlciBAaXNjLCB0aGUgY29ycmVzcG9uZGluZyBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzIG1hc2sgaXMgZW5hYmxlZC4KKyAqCisgKiBDb250ZXh0OgorICogICBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IGJlIGNhbGxlZCBpbiBpbnRlcnJ1cHQgY29udGV4dC4KKyAqLwordm9pZCBpc2NfcmVnaXN0ZXIodW5zaWduZWQgaW50IGlzYykKK3sKKwlpZiAoaXNjID4gTUFYX0lTQykgeworCQlXQVJOX09OKDEpOworCQlyZXR1cm47CisJfQorCisJc3Bpbl9sb2NrKCZpc2NfcmVmX2xvY2spOworCWlmIChpc2NfcmVmc1tpc2NdID09IDApCisJCWN0bF9zZXRfYml0KDYsIDMxIC0gaXNjKTsKKwlpc2NfcmVmc1tpc2NdKys7CisJc3Bpbl91bmxvY2soJmlzY19yZWZfbG9jayk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpc2NfcmVnaXN0ZXIpOworCisvKioKKyAqIGlzY191bnJlZ2lzdGVyIC0gdW5yZWdpc3RlciBhbiBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzLgorICogQGlzYzogSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcyB0byB1bnJlZ2lzdGVyCisgKgorICogVGhlIG51bWJlciBvZiB1c2VycyBmb3IgQGlzYyBpcyBkZWNyZWFzZWQuIElmIHRoaXMgaXMgdGhlIGxhc3QgdXNlciB0bworICogdW5yZWdpc3RlciBAaXNjLCB0aGUgY29ycmVzcG9uZGluZyBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzIG1hc2sgaXMKKyAqIGRpc2FibGVkLgorICogTm90ZTogVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgaWYgaXNjX3JlZ2lzdGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkCisgKiBiZWZvcmUgYnkgdGhlIGRyaXZlciBmb3IgQGlzYy4KKyAqCisgKiBDb250ZXh0OgorICogICBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IGJlIGNhbGxlZCBpbiBpbnRlcnJ1cHQgY29udGV4dC4KKyAqLwordm9pZCBpc2NfdW5yZWdpc3Rlcih1bnNpZ25lZCBpbnQgaXNjKQoreworCXNwaW5fbG9jaygmaXNjX3JlZl9sb2NrKTsKKwkvKiBjaGVjayBmb3IgbWlzdXNlICovCisJaWYgKGlzYyA+IE1BWF9JU0MgfHwgaXNjX3JlZnNbaXNjXSA9PSAwKSB7CisJCVdBUk5fT04oMSk7CisJCWdvdG8gb3V0X3VubG9jazsKKwl9CisJaWYgKGlzY19yZWZzW2lzY10gPT0gMSkKKwkJY3RsX2NsZWFyX2JpdCg2LCAzMSAtIGlzYyk7CisJaXNjX3JlZnNbaXNjXS0tOworb3V0X3VubG9jazoKKwlzcGluX3VubG9jaygmaXNjX3JlZl9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGlzY191bnJlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vaXRjdy5jIGIvZHJpdmVycy9zMzkwL2Npby9pdGN3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdkYTlhYgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaXRjdy5jCkBAIC0wLDAgKzEsMzI3IEBACisvKgorICogIEZ1bmN0aW9ucyBmb3IgaW5jcmVtZW50YWwgY29uc3RydWN0aW9uIG9mIGZjeCBlbmFibGVkIEkvTyBjb250cm9sIGJsb2Nrcy4KKyAqCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDgKKyAqICAgIEF1dGhvcihzKTogUGV0ZXIgT2JlcnBhcmxlaXRlciA8cGV0ZXIub2JlcnBhcmxlaXRlckBkZS5pYm0uY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgorI2luY2x1ZGUgPGFzbS9pdGN3Lmg+CisKKy8qKgorICogc3RydWN0IGl0Y3cgLSBpbmNyZW1lbnRhbCB0Y3cgaGVscGVyIGRhdGEgdHlwZQorICoKKyAqIFRoaXMgc3RydWN0dXJlIHNlcnZlcyBhcyBhIGhhbmRsZSBmb3IgdGhlIGluY3JlbWVudGFsIGNvbnN0cnVjdGlvbiBvZiBhCisgKiB0Y3cgYW5kIGFzc29jaWF0ZWQgdGNjYiwgdHNiLCBkYXRhIHRpZGF3LWxpc3QgcGx1cyBhbiBvcHRpb25hbCBpbnRlcnJvZ2F0ZQorICogdGN3IGFuZCBhc3NvY2lhdGVkIGRhdGEuIFRoZSBkYXRhIHN0cnVjdHVyZXMgYXJlIGNvbnRhaW5lZCBpbnNpZGUgYSBzaW5nbGUKKyAqIGNvbnRpZ3VvdXMgYnVmZmVyIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLgorICoKKyAqIFRoZSBpdGN3IGNvbnN0cnVjdGlvbiBmdW5jdGlvbnMgdGFrZSBjYXJlIG9mIG92ZXJhbGwgZGF0YSBpbnRlZ3JpdHk6CisgKiAtIHJlc2V0IHVudXNlZCBmaWVsZHMgdG8gemVybworICogLSBmaWxsIGluIHJlcXVpcmVkIHBvaW50ZXJzCisgKiAtIGVuc3VyZSByZXF1aXJlZCBhbGlnbm1lbnQgZm9yIGRhdGEgc3RydWN0dXJlcworICogLSBwcmV2ZW50IGRhdGEgc3RydWN0dXJlcyB0byBjcm9zcyA0ay1ieXRlIGJvdW5kYXJ5IHdoZXJlIHJlcXVpcmVkCisgKiAtIGNhbGN1bGF0ZSB0Y2NiLXJlbGF0ZWQgbGVuZ3RoIGZpZWxkcworICogLSBvcHRpb25hbGx5IHByb3ZpZGUgcmVhZHktbWFkZSBpbnRlcnJvZ2F0ZSB0Y3cgYW5kIGFzc29jaWF0ZWQgc3RydWN0dXJlcworICoKKyAqIFJlc3RyaWN0aW9ucyBhcHBseSB0byB0aGUgaXRjd3MgY3JlYXRlZCB3aXRoIHRoZXNlIGNvbnN0cnVjdGlvbiBmdW5jdGlvbnM6CisgKiAtIHRpZGEgb25seSBzdXBwb3J0ZWQgZm9yIGRhdGEgYWRkcmVzcywgbm90IGZvciB0Y2NiCisgKiAtIG9ubHkgY29udGlndW91cyB0aWRhdy1saXN0cyAobm8gdHRpYykKKyAqIC0gdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIHBlciBpdGN3IG1heSBub3QgZXhjZWVkIDRrIGJ5dGVzCisgKiAtIGVpdGhlciByZWFkIG9yIHdyaXRlIG9wZXJhdGlvbiAobWF5IG5vdCB3b3JrIHdpdGggcj0wIGFuZCB3PTApCisgKgorICogRXhhbXBsZToKKyAqIHN0cnVjdCBpdGN3ICppdGN3OworICogdm9pZCAqYnVmZmVyOworICogc2l6ZV90IHNpemU7CisgKgorICogc2l6ZSA9IGl0Y3dfY2FsY19zaXplKDEsIDIsIDApOworICogYnVmZmVyID0ga21hbGxvYyhzaXplLCBHRlBfRE1BKTsKKyAqIGlmICghYnVmZmVyKQorICoJcmV0dXJuIC1FTk9NRU07CisgKiBpdGN3ID0gaXRjd19pbml0KGJ1ZmZlciwgc2l6ZSwgSVRDV19PUF9SRUFELCAxLCAyLCAwKTsKKyAqIGlmIChJU19FUlIoaXRjdykpCisgKglyZXR1cm4gUFRSX0VSKGl0Y3cpOworICogaXRjd19hZGRfZGN3KGl0Y3csIDB4MiwgMCwgTlVMTCwgMCwgNzIpOworICogaXRjd19hZGRfdGlkYXcoaXRjdywgMCwgMHgzMDAwMCwgMjApOworICogaXRjd19hZGRfdGlkYXcoaXRjdywgMCwgMHg0MDAwMCwgNTIpOworICogaXRjd19maW5hbGl6ZShpdGN3KTsKKyAqCisgKi8KK3N0cnVjdCBpdGN3IHsKKwlzdHJ1Y3QgdGN3ICp0Y3c7CisJc3RydWN0IHRjdyAqaW50cmdfdGN3OworCWludCBudW1fdGlkYXdzOworCWludCBtYXhfdGlkYXdzOworCWludCBpbnRyZ19udW1fdGlkYXdzOworCWludCBpbnRyZ19tYXhfdGlkYXdzOworfTsKKworLyoqCisgKiBpdGN3X2dldF90Y3cgLSByZXR1cm4gcG9pbnRlciB0byB0Y3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGN3CisgKiBAaXRjdzogYWRkcmVzcyBvZiB0aGUgaXRjdworICoKKyAqIFJldHVybiBwb2ludGVyIHRvIHRoZSB0Y3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGN3LgorICovCitzdHJ1Y3QgdGN3ICppdGN3X2dldF90Y3coc3RydWN0IGl0Y3cgKml0Y3cpCit7CisJcmV0dXJuIGl0Y3ctPnRjdzsKK30KK0VYUE9SVF9TWU1CT0woaXRjd19nZXRfdGN3KTsKKworLyoqCisgKiBpdGN3X2NhbGNfc2l6ZSAtIHJldHVybiB0aGUgc2l6ZSBvZiBhbiBpdGN3IHdpdGggdGhlIGdpdmVuIHBhcmFtZXRlcnMKKyAqIEBpbnRyZzogaWYgbm9uLXplcm8sIGFkZCBhbiBpbnRlcnJvZ2F0ZSB0Y3cKKyAqIEBtYXhfdGlkYXdzOiBtYXhpbXVtIG51bWJlciBvZiB0aWRhd3MgdG8gYmUgdXNlZCBmb3IgZGF0YSBhZGRyZXNzaW5nIG9yIHplcm8KKyAqIGlmIG5vIHRpZGEgaXMgdG8gYmUgdXNlZC4KKyAqIEBpbnRyZ19tYXhfdGlkYXdzOiBtYXhpbXVtIG51bWJlciBvZiB0aWRhd3MgdG8gYmUgdXNlZCBmb3IgZGF0YSBhZGRyZXNzaW5nCisgKiBieSB0aGUgaW50ZXJyb2dhdGUgdGN3LCBpZiBzcGVjaWZpZWQKKyAqCisgKiBDYWxjdWxhdGUgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIHRvIGhvbGQgYW4gaXRjdyB3aXRoIHRoZQorICogZ2l2ZW4gcGFyYW1ldGVycyBhbmQgYXNzdW1pbmcgdGNjYnMgd2l0aCBtYXhpbXVtIHNpemUuCisgKgorICogTm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgc2l6ZSBhbHNvIGNvbnRhaW5zIGJ5dGVzIG5lZWRlZCBmb3IgYWxpZ25tZW50CisgKiBwYWRkaW5nIGFzIHdlbGwgYXMgcGFkZGluZyB0byBlbnN1cmUgdGhhdCBkYXRhIHN0cnVjdHVyZXMgZG9uJ3QgY3Jvc3MgYQorICogNGstYm91bmRhcnkgd2hlcmUgcmVxdWlyZWQuCisgKi8KK3NpemVfdCBpdGN3X2NhbGNfc2l6ZShpbnQgaW50cmcsIGludCBtYXhfdGlkYXdzLCBpbnQgaW50cmdfbWF4X3RpZGF3cykKK3sKKwlzaXplX3QgbGVuOworCisJLyogTWFpbiBkYXRhLiAqLworCWxlbiA9IHNpemVvZihzdHJ1Y3QgaXRjdyk7CisJbGVuICs9IC8qIFRDVyAqLyBzaXplb2Yoc3RydWN0IHRjdykgKyAvKiBUQ0NCICovIFRDQ0JfTUFYX1NJWkUgKworCSAgICAgICAvKiBUU0IgKi8gc2l6ZW9mKHN0cnVjdCB0c2IpICsKKwkgICAgICAgLyogVElEQUwgKi8gbWF4X3RpZGF3cyAqIHNpemVvZihzdHJ1Y3QgdGlkYXcpOworCS8qIEludGVycm9nYXRlIGRhdGEuICovCisJaWYgKGludHJnKSB7CisJCWxlbiArPSAvKiBUQ1cgKi8gc2l6ZW9mKHN0cnVjdCB0Y3cpICsgLyogVENDQiAqLyBUQ0NCX01BWF9TSVpFICsKKwkJICAgICAgIC8qIFRTQiAqLyBzaXplb2Yoc3RydWN0IHRzYikgKworCQkgICAgICAgLyogVElEQUwgKi8gaW50cmdfbWF4X3RpZGF3cyAqIHNpemVvZihzdHJ1Y3QgdGlkYXcpOworCX0KKwkvKiBNYXhpbXVtIHJlcXVpcmVkIGFsaWdubWVudCBwYWRkaW5nLiAqLworCWxlbiArPSAvKiBJbml0aWFsIFRDVyAqLyA2MyArIC8qIEludGVycm9nYXRlIFRDQ0IgKi8gNzsKKwkvKiBNYXhpbXVtIHBhZGRpbmcgZm9yIHN0cnVjdHVyZXMgdGhhdCBtYXkgbm90IGNyb3NzIDRrIGJvdW5kYXJ5LiAqLworCWlmICgobWF4X3RpZGF3cyA+IDApIHx8IChpbnRyZ19tYXhfdGlkYXdzID4gMCkpCisJCWxlbiArPSBtYXgobWF4X3RpZGF3cywgaW50cmdfbWF4X3RpZGF3cykgKgorCQkgICAgICAgc2l6ZW9mKHN0cnVjdCB0aWRhdykgLSAxOworCXJldHVybiBsZW47Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfY2FsY19zaXplKTsKKworI2RlZmluZSBDUk9TUzRLKHgsIGwpCSgoKHgpICYgfjQwOTUpICE9ICgoeCArIGwpICYgfjQwOTUpKQorCitzdGF0aWMgaW5saW5lIHZvaWQgKmZpdF9jaHVuayhhZGRyX3QgKnN0YXJ0LCBhZGRyX3QgZW5kLCBzaXplX3QgbGVuLAorCQkJICAgICAgaW50IGFsaWduLCBpbnQgY2hlY2tfNGspCit7CisJYWRkcl90IGFkZHI7CisKKwlhZGRyID0gQUxJR04oKnN0YXJ0LCBhbGlnbik7CisJaWYgKGNoZWNrXzRrICYmIENST1NTNEsoYWRkciwgbGVuKSkgeworCQlhZGRyID0gQUxJR04oYWRkciwgNDA5Nik7CisJCWFkZHIgPSBBTElHTihhZGRyLCBhbGlnbik7CisJfQorCWlmIChhZGRyICsgbGVuID4gZW5kKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PU1BDKTsKKwkqc3RhcnQgPSBhZGRyICsgbGVuOworCXJldHVybiAodm9pZCAqKSBhZGRyOworfQorCisvKioKKyAqIGl0Y3dfaW5pdCAtIGluaXRpYWxpemUgaW5jcmVtZW50YWwgdGN3IGRhdGEgc3RydWN0dXJlCisgKiBAYnVmZmVyOiBhZGRyZXNzIG9mIGJ1ZmZlciB0byB1c2UgZm9yIGRhdGEgc3RydWN0dXJlcworICogQHNpemU6IG51bWJlciBvZiBieXRlcyBpbiBidWZmZXIKKyAqIEBvcDogJUlUQ1dfT1BfUkVBRCBmb3IgYSByZWFkIG9wZXJhdGlvbiB0Y3csICVJVENXX09QX1dSSVRFIGZvciBhIHdyaXRlCisgKiBvcGVyYXRpb24gdGN3CisgKiBAaW50cmc6IGlmIG5vbi16ZXJvLCBhZGQgYW5kIGluaXRpYWxpemUgYW4gaW50ZXJyb2dhdGUgdGN3CisgKiBAbWF4X3RpZGF3czogbWF4aW11bSBudW1iZXIgb2YgdGlkYXdzIHRvIGJlIHVzZWQgZm9yIGRhdGEgYWRkcmVzc2luZyBvciB6ZXJvCisgKiBpZiBubyB0aWRhIGlzIHRvIGJlIHVzZWQuCisgKiBAaW50cmdfbWF4X3RpZGF3czogbWF4aW11bSBudW1iZXIgb2YgdGlkYXdzIHRvIGJlIHVzZWQgZm9yIGRhdGEgYWRkcmVzc2luZworICogYnkgdGhlIGludGVycm9nYXRlIHRjdywgaWYgc3BlY2lmaWVkCisgKgorICogUHJlcGFyZSB0aGUgc3BlY2lmaWVkIGJ1ZmZlciB0byBiZSB1c2VkIGFzIGFuIGluY3JlbWVudGFsIHRjdywgaS5lLiBhCisgKiBoZWxwZXIgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBjYW4gYmUgdXNlZCB0byBjb25zdHJ1Y3QgYSB2YWxpZCB0Y3cgYnkKKyAqIHN1Y2Nlc3NpdmUgY2FsbHMgdG8gb3RoZXIgaGVscGVyIGZ1bmN0aW9ucy4gTm90ZTogdGhlIGJ1ZmZlciBuZWVkcyB0byBiZQorICogbG9jYXRlZCBiZWxvdyB0aGUgMkcgYWRkcmVzcyBsaW1pdC4gVGhlIHJlc3VsdGluZyB0Y3cgaGFzIHRoZSBmb2xsb3dpbmcKKyAqIHJlc3RyaWN0aW9uczoKKyAqICAtIG5vIHRjY2IgdGlkYWwKKyAqICAtIGlucHV0L291dHB1dCB0aWRhbCBpcyBjb250aWd1b3VzIChubyB0dGljKQorICogIC0gdG90YWwgZGF0YSBzaG91bGQgbm90IGV4Y2VlZCA0aworICogIC0gdGN3IHNwZWNpZmllcyBlaXRoZXIgcmVhZCBvciB3cml0ZSBvcGVyYXRpb24KKyAqCisgKiBPbiBzdWNjZXNzLCByZXR1cm4gcG9pbnRlciB0byB0aGUgcmVzdWx0aW5nIGluY3JlbWVudGFsIHRjdyBkYXRhIHN0cnVjdHVyZSwKKyAqIEVSUl9QVFIgb3RoZXJ3aXNlLgorICovCitzdHJ1Y3QgaXRjdyAqaXRjd19pbml0KHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIGludCBvcCwgaW50IGludHJnLAorCQkgICAgICAgaW50IG1heF90aWRhd3MsIGludCBpbnRyZ19tYXhfdGlkYXdzKQoreworCXN0cnVjdCBpdGN3ICppdGN3OworCXZvaWQgKmNodW5rOworCWFkZHJfdCBzdGFydDsKKwlhZGRyX3QgZW5kOworCisJLyogQ2hlY2sgZm9yIDJHIGxpbWl0LiAqLworCXN0YXJ0ID0gKGFkZHJfdCkgYnVmZmVyOworCWVuZCA9IHN0YXJ0ICsgc2l6ZTsKKwlpZiAoZW5kID4gKDEgPDwgMzEpKQorCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKwltZW1zZXQoYnVmZmVyLCAwLCBzaXplKTsKKwkvKiBJVENXLiAqLworCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IGl0Y3cpLCAxLCAwKTsKKwlpZiAoSVNfRVJSKGNodW5rKSkKKwkJcmV0dXJuIGNodW5rOworCWl0Y3cgPSBjaHVuazsKKwlpdGN3LT5tYXhfdGlkYXdzID0gbWF4X3RpZGF3czsKKwlpdGN3LT5pbnRyZ19tYXhfdGlkYXdzID0gaW50cmdfbWF4X3RpZGF3czsKKwkvKiBNYWluIFRDVy4gKi8KKwljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCB0Y3cpLCA2NCwgMCk7CisJaWYgKElTX0VSUihjaHVuaykpCisJCXJldHVybiBjaHVuazsKKwlpdGN3LT50Y3cgPSBjaHVuazsKKwl0Y3dfaW5pdChpdGN3LT50Y3csIChvcCA9PSBJVENXX09QX1JFQUQpID8gMSA6IDAsCisJCSAob3AgPT0gSVRDV19PUF9XUklURSkgPyAxIDogMCk7CisJLyogSW50ZXJyb2dhdGUgVENXLiAqLworCWlmIChpbnRyZykgeworCQljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCB0Y3cpLCA2NCwgMCk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQlpdGN3LT5pbnRyZ190Y3cgPSBjaHVuazsKKwkJdGN3X2luaXQoaXRjdy0+aW50cmdfdGN3LCAxLCAwKTsKKwkJdGN3X3NldF9pbnRyZyhpdGN3LT50Y3csIGl0Y3ctPmludHJnX3Rjdyk7CisJfQorCS8qIERhdGEgVElEQUwuICovCisJaWYgKG1heF90aWRhd3MgPiAwKSB7CisJCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IHRpZGF3KSAqCisJCQkJICBtYXhfdGlkYXdzLCAxNiwgMSk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQl0Y3dfc2V0X2RhdGEoaXRjdy0+dGN3LCBjaHVuaywgMSk7CisJfQorCS8qIEludGVycm9nYXRlIGRhdGEgVElEQUwuICovCisJaWYgKGludHJnICYmIChpbnRyZ19tYXhfdGlkYXdzID4gMCkpIHsKKwkJY2h1bmsgPSBmaXRfY2h1bmsoJnN0YXJ0LCBlbmQsIHNpemVvZihzdHJ1Y3QgdGlkYXcpICoKKwkJCQkgIGludHJnX21heF90aWRhd3MsIDE2LCAxKTsKKwkJaWYgKElTX0VSUihjaHVuaykpCisJCQlyZXR1cm4gY2h1bms7CisJCXRjd19zZXRfZGF0YShpdGN3LT5pbnRyZ190Y3csIGNodW5rLCAxKTsKKwl9CisJLyogVFNCLiAqLworCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IHRzYiksIDgsIDApOworCWlmIChJU19FUlIoY2h1bmspKQorCQlyZXR1cm4gY2h1bms7CisJdHNiX2luaXQoY2h1bmspOworCXRjd19zZXRfdHNiKGl0Y3ctPnRjdywgY2h1bmspOworCS8qIEludGVycm9nYXRlIFRTQi4gKi8KKwlpZiAoaW50cmcpIHsKKwkJY2h1bmsgPSBmaXRfY2h1bmsoJnN0YXJ0LCBlbmQsIHNpemVvZihzdHJ1Y3QgdHNiKSwgOCwgMCk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQl0c2JfaW5pdChjaHVuayk7CisJCXRjd19zZXRfdHNiKGl0Y3ctPmludHJnX3RjdywgY2h1bmspOworCX0KKwkvKiBUQ0NCLiAqLworCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBUQ0NCX01BWF9TSVpFLCA4LCAwKTsKKwlpZiAoSVNfRVJSKGNodW5rKSkKKwkJcmV0dXJuIGNodW5rOworCXRjY2JfaW5pdChjaHVuaywgVENDQl9NQVhfU0laRSwgVENDQl9TQUNfREVGQVVMVCk7CisJdGN3X3NldF90Y2NiKGl0Y3ctPnRjdywgY2h1bmspOworCS8qIEludGVycm9nYXRlIFRDQ0IuICovCisJaWYgKGludHJnKSB7CisJCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBUQ0NCX01BWF9TSVpFLCA4LCAwKTsKKwkJaWYgKElTX0VSUihjaHVuaykpCisJCQlyZXR1cm4gY2h1bms7CisJCXRjY2JfaW5pdChjaHVuaywgVENDQl9NQVhfU0laRSwgVENDQl9TQUNfSU5UUkcpOworCQl0Y3dfc2V0X3RjY2IoaXRjdy0+aW50cmdfdGN3LCBjaHVuayk7CisJCXRjY2JfYWRkX2RjdyhjaHVuaywgVENDQl9NQVhfU0laRSwgRENXX0NNRF9JTlRSRywgMCwgTlVMTCwKKwkJCSAgICAgc2l6ZW9mKHN0cnVjdCBkY3dfaW50cmdfZGF0YSksIDApOworCQl0Y3dfZmluYWxpemUoaXRjdy0+aW50cmdfdGN3LCAwKTsKKwl9CisJcmV0dXJuIGl0Y3c7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfaW5pdCk7CisKKy8qKgorICogaXRjd19hZGRfZGN3IC0gYWRkIGEgZGN3IHRvIHRoZSBpdGN3CisgKiBAaXRjdzogYWRkcmVzcyBvZiB0aGUgaXRjdworICogQGNtZDogdGhlIGRjdyBjb21tYW5kCisgKiBAZmxhZ3M6IGZsYWdzIGZvciB0aGUgZGN3CisgKiBAY2Q6IGFkZHJlc3Mgb2YgY29udHJvbCBkYXRhIGZvciB0aGlzIGRjdyBvciBOVUxMIGlmIG5vbmUgaXMgcmVxdWlyZWQKKyAqIEBjZF9jb3VudDogbnVtYmVyIG9mIGNvbnRyb2wgZGF0YSBieXRlcyBmb3IgdGhpcyBkY3cKKyAqIEBjb3VudDogbnVtYmVyIG9mIGRhdGEgYnl0ZXMgZm9yIHRoaXMgZGN3CisgKgorICogQWRkIGEgbmV3IGRjdyB0byB0aGUgc3BlY2lmaWVkIGl0Y3cgYnkgd3JpdGluZyB0aGUgZGN3IGluZm9ybWF0aW9uIHNwZWNpZmllZAorICogYnkgQGNtZCwgQGZsYWdzLCBAY2QsIEBjZF9jb3VudCBhbmQgQGNvdW50IHRvIHRoZSB0Y2Egb2YgdGhlIHRjY2IuIFJldHVybgorICogYSBwb2ludGVyIHRvIHRoZSBuZXdseSBhZGRlZCBkY3cgb24gc3VjY2VzcyBvciAtJUVOT1NQQyBpZiB0aGUgbmV3IGRjdworICogd291bGQgZXhjZWVkIHRoZSBhdmFpbGFibGUgc3BhY2UuCisgKgorICogTm90ZTogdGhlIHRjYWwgZmllbGQgb2YgdGhlIHRjY2IgaGVhZGVyIHdpbGwgYmUgdXBkYXRlZCB0byByZWZsZWN0IGFkZGVkCisgKiBjb250ZW50LgorICovCitzdHJ1Y3QgZGN3ICppdGN3X2FkZF9kY3coc3RydWN0IGl0Y3cgKml0Y3csIHU4IGNtZCwgdTggZmxhZ3MsIHZvaWQgKmNkLAorCQkJIHU4IGNkX2NvdW50LCB1MzIgY291bnQpCit7CisJcmV0dXJuIHRjY2JfYWRkX2Rjdyh0Y3dfZ2V0X3RjY2IoaXRjdy0+dGN3KSwgVENDQl9NQVhfU0laRSwgY21kLAorCQkJICAgIGZsYWdzLCBjZCwgY2RfY291bnQsIGNvdW50KTsKK30KK0VYUE9SVF9TWU1CT0woaXRjd19hZGRfZGN3KTsKKworLyoqCisgKiBpdGN3X2FkZF90aWRhdyAtIGFkZCBhIHRpZGF3IHRvIHRoZSBpdGN3CisgKiBAaXRjdzogYWRkcmVzcyBvZiB0aGUgaXRjdworICogQGZsYWdzOiBmbGFncyBmb3IgdGhlIG5ldyB0aWRhdworICogQGFkZHI6IGFkZHJlc3MgdmFsdWUgZm9yIHRoZSBuZXcgdGlkYXcKKyAqIEBjb3VudDogY291bnQgdmFsdWUgZm9yIHRoZSBuZXcgdGlkYXcKKyAqCisgKiBBZGQgYSBuZXcgdGlkYXcgdG8gdGhlIGlucHV0L291dHB1dCBkYXRhIHRpZGF3LWxpc3Qgb2YgdGhlIHNwZWNpZmllZCBpdGN3CisgKiAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgci1mbGFnIGFuZCB3LWZsYWcpLiBSZXR1cm4gYSBwb2ludGVyIHRvCisgKiB0aGUgbmV3IHRpZGF3IG9uIHN1Y2Nlc3Mgb3IgLSVFTk9TUEMgaWYgdGhlIG5ldyB0aWRhdyB3b3VsZCBleGNlZWQgdGhlCisgKiBhdmFpbGFibGUgc3BhY2UuCisgKgorICogTm90ZTogdGhlIHRpZGF3LWxpc3QgaXMgYXNzdW1lZCB0byBiZSBjb250aWd1b3VzIHdpdGggbm8gdHRpY3MuIFRoZQorICogbGFzdC10aWRhdyBmbGFnIGZvciB0aGUgbGFzdCB0aWRhdyBpbiB0aGUgbGlzdCB3aWxsIGJlIHNldCBieSBpdGN3X2ZpbmFsaXplLgorICovCitzdHJ1Y3QgdGlkYXcgKml0Y3dfYWRkX3RpZGF3KHN0cnVjdCBpdGN3ICppdGN3LCB1OCBmbGFncywgdm9pZCAqYWRkciwgdTMyIGNvdW50KQoreworCWlmIChpdGN3LT5udW1fdGlkYXdzID49IGl0Y3ctPm1heF90aWRhd3MpCisJCXJldHVybiBFUlJfUFRSKC1FTk9TUEMpOworCXJldHVybiB0Y3dfYWRkX3RpZGF3KGl0Y3ctPnRjdywgaXRjdy0+bnVtX3RpZGF3cysrLCBmbGFncywgYWRkciwgY291bnQpOworfQorRVhQT1JUX1NZTUJPTChpdGN3X2FkZF90aWRhdyk7CisKKy8qKgorICogaXRjd19zZXRfZGF0YSAtIHNldCBkYXRhIGFkZHJlc3MgYW5kIHRpZGEgZmxhZyBvZiB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqIEBhZGRyOiB0aGUgZGF0YSBhZGRyZXNzCisgKiBAdXNlX3RpZGFsOiB6ZXJvIG9mIHRoZSBkYXRhIGFkZHJlc3Mgc3BlY2lmaWVzIGEgY29udGlndW91cyBibG9jayBvZiBkYXRhLAorICogbm9uLXplcm8gaWYgaXQgc3BlY2lmaWVzIGEgbGlzdCBpZiB0aWRhd3MuCisgKgorICogU2V0IHRoZSBpbnB1dC9vdXRwdXQgZGF0YSBhZGRyZXNzIG9mIHRoZSBpdGN3IChkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZQorICogci1mbGFnIGFuZCB3LWZsYWcpLiBJZiBAdXNlX3RpZGFsIGlzIG5vbi16ZXJvLCB0aGUgY29ycmVzcG9uZGluZyB0aWRhIGZsYWcKKyAqIGlzIHNldCBhcyB3ZWxsLgorICovCit2b2lkIGl0Y3dfc2V0X2RhdGEoc3RydWN0IGl0Y3cgKml0Y3csIHZvaWQgKmFkZHIsIGludCB1c2VfdGlkYWwpCit7CisJdGN3X3NldF9kYXRhKGl0Y3ctPnRjdywgYWRkciwgdXNlX3RpZGFsKTsKK30KK0VYUE9SVF9TWU1CT0woaXRjd19zZXRfZGF0YSk7CisKKy8qKgorICogaXRjd19maW5hbGl6ZSAtIGNhbGN1bGF0ZSBsZW5ndGggYW5kIGNvdW50IGZpZWxkcyBvZiB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqCisgKiBDYWxjdWxhdGUgdGN3IGlucHV0LS9vdXRwdXQtY291bnQgYW5kIHRjY2JsIGZpZWxkcyBhbmQgYWRkIGEgdGNhdCB0aGUgdGNjYi4KKyAqIEluIGNhc2UgaW5wdXQtIG9yIG91dHB1dC10aWRhIGlzIHVzZWQsIHRoZSB0aWRhdy1saXN0IG11c3QgYmUgc3RvcmVkIGluCisgKiBjb250aW51b3VzIHN0b3JhZ2UgKG5vIHR0aWMpLiBUaGUgdGNhbCBmaWVsZCBpbiB0aGUgdGNjYiBtdXN0IGJlCisgKiB1cC10by1kYXRlLgorICovCit2b2lkIGl0Y3dfZmluYWxpemUoc3RydWN0IGl0Y3cgKml0Y3cpCit7CisJdGN3X2ZpbmFsaXplKGl0Y3ctPnRjdywgaXRjdy0+bnVtX3RpZGF3cyk7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfZmluYWxpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9xZGlvLmMgYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uYwppbmRleCA0NDVjZjM2Li4yYmYzNmUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uYwpAQCAtMjA4Miw3ICsyMDgyLDYgQEAKIAlkZWZhdWx0OgogCQlCVUcoKTsKIAl9Ci0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKIAl3YWtlX3VwKCZjZGV2LT5wcml2YXRlLT53YWl0X3EpOwogfQogCkBAIC0yMTIxLDYgKzIxMjAsOCBAQAogCQljYXNlIC1FSU86CiAJCQlRRElPX1BSSU5UX0VSUigiaS9vIGVycm9yIG9uIGRldmljZSAlc1xuIiwKIAkJCQkgICAgICAgY2Rldi0+ZGV2LmJ1c19pZCk7CisJCQlxZGlvX3NldF9zdGF0ZShpcnFfcHRyLCBRRElPX0lSUV9TVEFURV9FUlIpOworCQkJd2FrZV91cCgmY2Rldi0+cHJpdmF0ZS0+d2FpdF9xKTsKIAkJCXJldHVybjsKIAkJY2FzZSAtRVRJTUVET1VUOgogCQkJcWRpb190aW1lb3V0X2hhbmRsZXIoY2Rldik7CkBAIC0yMTM5LDggKzIxNDAsOCBAQAogCVFESU9fREJGX1RFWFQ0KDAsIHRyYWNlLCBkYmZfdGV4dCk7CiAjZW5kaWYgLyogQ09ORklHX1FESU9fREVCVUcgKi8KIAotICAgICAgICBjc3RhdCA9IGlyYi0+c2Nzdy5jc3RhdDsKLSAgICAgICAgZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogCXN3aXRjaCAoaXJxX3B0ci0+c3RhdGUpIHsKIAljYXNlIFFESU9fSVJRX1NUQVRFX0lOQUNUSVZFOgpAQCAtMjM1Myw5ICsyMzU0LDYgQEAKIHsKIAljaGFyIGRiZl90ZXh0WzE1XTsKIAotCWlmICghY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCkKLQkJcmV0dXJuIC1FSU87Ci0KIAkvKiBDaGVjayBmb3IgYml0IDQxLiAqLwogCWlmICghY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmFpZikgewogCQlRRElPX1BSSU5UX1dBUk4oIkFkYXB0ZXIgaW50ZXJydXB0aW9uIGZhY2lsaXR5IG5vdCAiIFwKQEAgLTI2NjcsMTIgKzI2NjUsMTIgQEAKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShnZXRfY2N3ZGV2X2xvY2soY2RldiksIGZsYWdzKTsKIAl9IGVsc2UgaWYgKHJjID09IDApIHsKIAkJcWRpb19zZXRfc3RhdGUoaXJxX3B0ciwgUURJT19JUlFfU1RBVEVfQ0xFQU5VUCk7Ci0JCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgdGltZW91dCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZ2V0X2Njd2Rldl9sb2NrKGNkZXYpLGZsYWdzKTsKIAotCQl3YWl0X2V2ZW50KGNkZXYtPnByaXZhdGUtPndhaXRfcSwKLQkJCSAgIGlycV9wdHItPnN0YXRlID09IFFESU9fSVJRX1NUQVRFX0lOQUNUSVZFIHx8Ci0JCQkgICBpcnFfcHRyLT5zdGF0ZSA9PSBRRElPX0lSUV9TVEFURV9FUlIpOworCQl3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dChjZGV2LT5wcml2YXRlLT53YWl0X3EsCisJCQlpcnFfcHRyLT5zdGF0ZSA9PSBRRElPX0lSUV9TVEFURV9JTkFDVElWRSB8fAorCQkJaXJxX3B0ci0+c3RhdGUgPT0gUURJT19JUlFfU1RBVEVfRVJSLAorCQkJdGltZW91dCk7CiAJfSBlbHNlIHsKIAkJUURJT19QUklOVF9JTkZPKCJjY3dfZGV2aWNlX3toYWx0LGNsZWFyfSByZXR1cm5lZCAlZCBmb3IgIgogCQkJCSJkZXZpY2UgJXNcbiIsIHJlc3VsdCwgY2Rldi0+ZGV2LmJ1c19pZCk7CkBAIC0yNjkyLDcgKzI2OTAsNiBAQAogCiAJLyogSWdub3JlIGVycm9ycy4gKi8KIAlxZGlvX3NldF9zdGF0ZShpcnFfcHRyLCBRRElPX0lSUV9TVEFURV9JTkFDVElWRSk7Ci0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKIG91dDoKIAl1cCgmaXJxX3B0ci0+c2V0dGluZ191cF9zZW1hKTsKIAlyZXR1cm4gcmVzdWx0OwpAQCAtMjkwNywxMyArMjkwNCwxMCBAQAogCVFESU9fREJGX1RFWFQwKDAsc2V0dXAsZGJmX3RleHQpOwogCVFESU9fREJGX1RFWFQwKDAsdHJhY2UsZGJmX3RleHQpOwogCi0JaWYgKHFkaW9fZXN0YWJsaXNoX2lycV9jaGVja19mb3JfZXJyb3JzKGNkZXYsIGNzdGF0LCBkc3RhdCkpIHsKLQkJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKKwlpZiAocWRpb19lc3RhYmxpc2hfaXJxX2NoZWNrX2Zvcl9lcnJvcnMoY2RldiwgY3N0YXQsIGRzdGF0KSkKIAkJcmV0dXJuOwotCX0KIAogCXFkaW9fc2V0X3N0YXRlKGlycV9wdHIsUURJT19JUlFfU1RBVEVfRVNUQUJMSVNIRUQpOwotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CiB9CiAKIGludApAQCAtMzE5Niw4ICszMTkwLDYgQEAKIAkJCQlpcnFfcHRyLT5zY2hpZC5zc2lkLCBpcnFfcHRyLT5zY2hpZC5zY2hfbm8sCiAJCQkJcmVzdWx0LCByZXN1bHQyKTsKIAkJcmVzdWx0PXJlc3VsdDI7Ci0JCWlmIChyZXN1bHQpCi0JCQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOwogCX0KIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZ2V0X2Njd2Rldl9sb2NrKGNkZXYpLHNhdmVmbGFncyk7CkBAIC0zMjc5LDcgKzMyNzEsNiBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoZ2V0X2Njd2Rldl9sb2NrKGNkZXYpLHNhdmVmbGFncyk7CiAKLQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOwogCWNjd19kZXZpY2Vfc2V0X29wdGlvbnMoY2RldiwgQ0NXREVWX1JFUE9SVF9BTEwpOwogCXJlc3VsdD1jY3dfZGV2aWNlX3N0YXJ0KGNkZXYsJmlycV9wdHItPmNjdyxRRElPX0RPSU5HX0FDVElWQVRFLAogCQkJCTAsIERPSU9fREVOWV9QUkVGRVRDSCk7CkBAIC0zNzIyLDcgKzM3MTMsOCBAQAogCWNoYXIgZGJmX3RleHRbMjBdOwogCiAJdGlxZGlvX2luZCA9Ci0JCXMzOTBfcmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQoJnRpcWRpb190aGluaW50X2hhbmRsZXIsIE5VTEwpOworCQlzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KCZ0aXFkaW9fdGhpbmludF9oYW5kbGVyLCBOVUxMLAorCQkJCQkJVElRRElPX1RISU5JTlRfSVNDKTsKIAlpZiAoSVNfRVJSKHRpcWRpb19pbmQpKSB7CiAJCXNwcmludGYoZGJmX3RleHQsICJyZWd0aG4lbHgiLCBQVFJfRVJSKHRpcWRpb19pbmQpKTsKIAkJUURJT19EQkZfVEVYVDAoMCxzZXR1cCxkYmZfdGV4dCk7CkBAIC0zNzM4LDcgKzM3MzAsOCBAQAogdGlxZGlvX3VucmVnaXN0ZXJfdGhpbmludHModm9pZCkKIHsKIAlpZiAodGlxZGlvX2luZCkKLQkJczM5MF91bnJlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KHRpcWRpb19pbmQpOworCQlzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQodGlxZGlvX2luZCwKKwkJCQkJCSAgVElRRElPX1RISU5JTlRfSVNDKTsKIH0KIAogc3RhdGljIGludApAQCAtMzg5OSw2ICszODkyLDcgQEAKIAkJCQkJICAgIHFkaW9fbWVtcG9vbF9hbGxvYywKIAkJCQkJICAgIHFkaW9fbWVtcG9vbF9mcmVlLCBOVUxMKTsKIAorCWlzY19yZWdpc3RlcihRRElPX0FJUlFfSVNDKTsKIAlpZiAodGlxZGlvX2NoZWNrX2Noc2NfYXZhaWxhYmlsaXR5KCkpCiAJCVFESU9fUFJJTlRfRVJSKCJOb3QgYWxsIENIU0NzIHN1cHBvcnRlZC4gQ29udGludWluZy5cbiIpOwogCkBAIC0zOTExLDYgKzM5MDUsNyBAQAogY2xlYW51cF9RRElPKHZvaWQpCiB7CiAJdGlxZGlvX3VucmVnaXN0ZXJfdGhpbmludHMoKTsKKwlpc2NfdW5yZWdpc3RlcihRRElPX0FJUlFfSVNDKTsKIAlxZGlvX3JlbW92ZV9wcm9jZnNfZW50cnkoKTsKIAlxZGlvX3JlbGVhc2VfcWRpb19tZW1vcnkoKTsKIAlxZGlvX3VucmVnaXN0ZXJfZGJmX3ZpZXdzKCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uaCBiL2RyaXZlcnMvczM5MC9jaW8vcWRpby5oCmluZGV4IGMzZGY2YjIuLjc2NTYwODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vcWRpby5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vcWRpby5oCkBAIC0yLDggKzIsOCBAQAogI2RlZmluZSBfQ0lPX1FESU9fSAogCiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLQotI2luY2x1ZGUgInNjaGlkLmgiCisjaW5jbHVkZSA8YXNtL2lzYy5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogCiAjaWZkZWYgQ09ORklHX1FESU9fREVCVUcKICNkZWZpbmUgUURJT19WRVJCT1NFX0xFVkVMIDkKQEAgLTI2LDcgKzI2LDcgQEAKICAqLwogI2RlZmluZSBJUURJT19GSUxMX0xFVkVMX1RPX1BPTEwgNAogCi0jZGVmaW5lIFRJUURJT19USElOSU5UX0lTQyAzCisjZGVmaW5lIFRJUURJT19USElOSU5UX0lTQyBRRElPX0FJUlFfSVNDCiAjZGVmaW5lIFRJUURJT19ERUxBWV9UQVJHRVQgMAogI2RlZmluZSBRRElPX0JVU1lfQklUX1BBVElFTkNFIDEwMCAvKiBpbiBtaWNyb3NlY3MgKi8KICNkZWZpbmUgUURJT19CVVNZX0JJVF9HSVZFX1VQIDEwMDAwMDAwIC8qIDEwIHNlY29uZHMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vc2Nzdy5jIGIvZHJpdmVycy9zMzkwL2Npby9zY3N3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhkYTI1YQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vc2Nzdy5jCkBAIC0wLDAgKzEsODQzIEBACisvKgorICogIEhlbHBlciBmdW5jdGlvbnMgZm9yIHNjc3cgYWNjZXNzLgorICoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBQZXRlciBPYmVycGFybGVpdGVyIDxwZXRlci5vYmVycGFybGVpdGVyQGRlLmlibS5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8YXNtL2Npby5oPgorI2luY2x1ZGUgImNzcy5oIgorI2luY2x1ZGUgImNoc2MuaCIKKworLyoqCisgKiBzY3N3X2lzX3RtIC0gY2hlY2sgZm9yIHRyYW5zcG9ydCBtb2RlIHNjc3cKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHNwZWNpZmllZCBzY3N3IGlzIGEgdHJhbnNwb3J0IG1vZGUgc2NzdywgemVybworICogb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19pc190bSh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiBjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuZmN4ICYmIChzY3N3LT50bS54ID09IDEpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3RtKTsKKworLyoqCisgKiBzY3N3X2tleSAtIHJldHVybiBzY3N3IGtleSBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGtleSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfa2V5KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5rZXk7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLmtleTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19rZXkpOworCisvKioKKyAqIHNjc3dfZXN3ZiAtIHJldHVybiBzY3N3IGVzd2YgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBlc3dmIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19lc3dmKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5lc3dmOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5lc3dmOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2Vzd2YpOworCisvKioKKyAqIHNjc3dfY2MgLSByZXR1cm4gc2NzdyBjYyBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19jYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uY2M7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLmNjOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NjKTsKKworLyoqCisgKiBzY3N3X2VjdGwgLSByZXR1cm4gc2NzdyBlY3RsIGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uZWN0bDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuZWN0bDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19lY3RsKTsKKworLyoqCisgKiBzY3N3X3BubyAtIHJldHVybiBzY3N3IHBubyBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIHBubyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfcG5vKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5wbm87CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLnBubzsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19wbm8pOworCisvKioKKyAqIHNjc3dfZmN0bCAtIHJldHVybiBzY3N3IGZjdGwgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBmY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19mY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5mY3RsOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5mY3RsOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2ZjdGwpOworCisvKioKKyAqIHNjc3dfYWN0bCAtIHJldHVybiBzY3N3IGFjdGwgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBhY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19hY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5hY3RsOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5hY3RsOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2FjdGwpOworCisvKioKKyAqIHNjc3dfc3RjdGwgLSByZXR1cm4gc2NzdyBzdGN0bCBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIHN0Y3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uc3RjdGw7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLnN0Y3RsOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3N0Y3RsKTsKKworLyoqCisgKiBzY3N3X2RzdGF0IC0gcmV0dXJuIHNjc3cgZHN0YXQgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBkc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfZHN0YXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3ctPnRtLmRzdGF0OworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5kc3RhdDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19kc3RhdCk7CisKKy8qKgorICogc2Nzd19jc3RhdCAtIHJldHVybiBzY3N3IGNzdGF0IGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgY3N0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5jc3RhdDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuY3N0YXQ7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY3N0YXQpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2tleSAtIGNoZWNrIGtleSBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUga2V5IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2tleSk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfc2N0bCAtIGNoZWNrIGZjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGZjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfc2N0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3NjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2YgLSBjaGVjayBlc3dmIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBlc3dmIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9lc3dmKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9jYyAtIGNoZWNrIGNjIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBjYyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYKKwkgICAgICAgKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9jYyk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfZm10IC0gY2hlY2sgZm10IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBmbXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZm10KTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9wZmNoIC0gY2hlY2sgcGZjaCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgcGZjaCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9wZmNoKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfcGZjaCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfaXNpYyAtIGNoZWNrIGlzaWMgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGlzaWMgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfaXNpYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2lzaWMpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2FsY2MgLSBjaGVjayBhbGNjIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBhbGNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2FsY2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9hbGNjKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9zc2kgLSBjaGVjayBzc2kgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHNzaSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9zc2kodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9zc2kpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX3pjYyAtIGNoZWNrIHpjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgemNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3pjYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYKKwkgICAgICAgKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfemNjKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9lY3RsIC0gY2hlY2sgZWN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9lY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAhKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSAmJgorCSAgICAgICAoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9lY3RsKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9wbm8gLSBjaGVjayBwbm8gZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHBubyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICE9IDApICYmCisJICAgICAgIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAoIShzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgfHwKKwkJICgoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpICYmCisJCSAgKHNjc3ctPmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfcG5vKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9mY3RsIC0gY2hlY2sgZmN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZmN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9mY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJLyogT25seSB2YWxpZCBpZiBwbWN3LmRudiA9PSAxKi8KKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfYWN0bCAtIGNoZWNrIGFjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGFjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfYWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2FjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsIC0gY2hlY2sgc3RjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHN0Y3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJLyogT25seSB2YWxpZCBpZiBwbWN3LmRudiA9PSAxKi8KKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfc3RjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0IC0gY2hlY2sgZHN0YXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGRzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAoc2Nzdy0+Y21kLmNjICE9IDMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9kc3RhdCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfY3N0YXQgLSBjaGVjayBjc3RhdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY3N0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY3N0YXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICAgIChzY3N3LT5jbWQuY2MgIT0gMyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2tleSAtIGNoZWNrIGtleSBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUga2V5IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9rZXkodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfa2V5KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2Vzd2YgLSBjaGVjayBlc3dmIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBlc3dmIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9lc3dmKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2Vzd2YpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfY2MgLSBjaGVjayBjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY2MgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NjKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJICAgICAgIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2NjKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2ZtdCAtIGNoZWNrIGZtdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZm10IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9mbXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9mbXQpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfeCAtIGNoZWNrIHggZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHggZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3godW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF94KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX3EgLSBjaGVjayBxIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBxIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9xKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfcSk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9lY3RsIC0gY2hlY2sgZWN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAhKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpICYmCisJICAgICAgIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9lY3RsKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX3BubyAtIGNoZWNrIHBubyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgcG5vIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLmZjdGwgIT0gMCkgJiYKKwkgICAgICAgKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgKCEoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgfHwKKwkJICgoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgJiYKKwkJICAoc2Nzdy0+dG0uYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfcG5vKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2ZjdGwgLSBjaGVjayBmY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBmY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9mY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJLyogT25seSB2YWxpZCBpZiBwbWN3LmRudiA9PSAxKi8KKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9mY3RsKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2FjdGwgLSBjaGVjayBhY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBhY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJLyogT25seSB2YWxpZCBpZiBwbWN3LmRudiA9PSAxKi8KKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9hY3RsKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX3N0Y3RsIC0gY2hlY2sgc3RjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHN0Y3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfc3RjdGwpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfZHN0YXQgLSBjaGVjayBkc3RhdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZHN0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICAgIChzY3N3LT50bS5jYyAhPSAzKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9kc3RhdCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9jc3RhdCAtIGNoZWNrIGNzdGF0IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBjc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfY3N0YXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgKHNjc3ctPnRtLmNjICE9IDMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2ZjeHMgLSBjaGVjayBmY3hzIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBmY3hzIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9mY3hzKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZmN4cyk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9zY2h4cyAtIGNoZWNrIHNjaHhzIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzY2h4cyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfc2NoeHModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLmNzdGF0ICYgKFNDSE5fU1RBVF9QUk9HX0NIRUNLIHwKKwkJCQkgIFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKKwkJCQkgIFNDSE5fU1RBVF9QUk9UX0NIRUNLIHwKKwkJCQkgIFNDSE5fU1RBVF9DSE5fREFUQV9DSEspKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9zY2h4cyk7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9hY3RsIC0gY2hlY2sgYWN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgYWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2FjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfYWN0bChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9hY3RsKHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2FjdGwpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfY2MgLSBjaGVjayBjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY2MgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9jYyhzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9jYyhzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9jYyk7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9jc3RhdCAtIGNoZWNrIGNzdGF0IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBjc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2NzdGF0KTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2RzdGF0IC0gY2hlY2sgZHN0YXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGRzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfZHN0YXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfZHN0YXQoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfZHN0YXQoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfZHN0YXQpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfZWN0bCAtIGNoZWNrIGVjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGVjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9lY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2VjdGwoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfZWN0bChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9lY3RsKTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2Vzd2YgLSBjaGVjayBlc3dmIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBlc3dmIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9lc3dmKHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2Yoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfZXN3Zik7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9mY3RsIC0gY2hlY2sgZmN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZmN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfZmN0bChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9mY3RsKHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2ZjdGwpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfa2V5IC0gY2hlY2sga2V5IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBrZXkgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9rZXkodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfa2V5KHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2tleShzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9rZXkpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfcG5vIC0gY2hlY2sgcG5vIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBwbm8gZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfcG5vKHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX3BubyhzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9wbm8pOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfc3RjdGwgLSBjaGVjayBzdGN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgc3RjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9zdGN0bChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9zdGN0bChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9zdGN0bCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfc29saWNpdGVkIC0gY2hlY2sgZm9yIHNvbGljaXRlZCBzY3N3CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBjb21tYW5kIG1vZGUgc2NzdyBpbmRpY2F0ZXMgdGhhdCB0aGUgYXNzb2NpYXRlZAorICogc3RhdHVzIGNvbmRpdGlvbiBpcyBzb2xpY2l0ZWQsIHplcm8gaWYgaXQgaXMgdW5zb2xpY2l0ZWQuCisgKi8KK2ludCBzY3N3X2NtZF9pc19zb2xpY2l0ZWQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5jYyAhPSAwKSB8fCAoc2Nzdy0+Y21kLnN0Y3RsICE9CisJCShTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfc29saWNpdGVkKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3NvbGljaXRlZCAtIGNoZWNrIGZvciBzb2xpY2l0ZWQgc2NzdworICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgdHJhbnNwb3J0IG1vZGUgc2NzdyBpbmRpY2F0ZXMgdGhhdCB0aGUgYXNzb2NpYXRlZAorICogc3RhdHVzIGNvbmRpdGlvbiBpcyBzb2xpY2l0ZWQsIHplcm8gaWYgaXQgaXMgdW5zb2xpY2l0ZWQuCisgKi8KK2ludCBzY3N3X3RtX2lzX3NvbGljaXRlZCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uY2MgIT0gMCkgfHwgKHNjc3ctPnRtLnN0Y3RsICE9CisJCShTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc19zb2xpY2l0ZWQpOworCisvKioKKyAqIHNjc3dfaXNfc29saWNpdGVkIC0gY2hlY2sgZm9yIHNvbGljaXRlZCBzY3N3CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSB0cmFuc3BvcnQgb3IgY29tbWFuZCBtb2RlIHNjc3cgaW5kaWNhdGVzIHRoYXQgdGhlCisgKiBhc3NvY2lhdGVkIHN0YXR1cyBjb25kaXRpb24gaXMgc29saWNpdGVkLCB6ZXJvIGlmIGl0IGlzIHVuc29saWNpdGVkLgorICovCitpbnQgc2Nzd19pc19zb2xpY2l0ZWQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfc29saWNpdGVkKHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3NvbGljaXRlZChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc19zb2xpY2l0ZWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmMKaW5kZXggYTFhYjNlMy4uNjJiNmI1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL2FwX2J1cy5jCkBAIC0zNCwxMyArMzQsMTUgQEAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGFzbS9zMzkwX3JkZXYuaD4KICNpbmNsdWRlIDxhc20vcmVzZXQuaD4KKyNpbmNsdWRlIDxsaW51eC9ocnRpbWVyLmg+CisjaW5jbHVkZSA8bGludXgva3RpbWUuaD4KIAogI2luY2x1ZGUgImFwX2J1cy5oIgogCiAvKiBTb21lIHByb3RvdHlwZXMuICovCiBzdGF0aWMgdm9pZCBhcF9zY2FuX2J1cyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKik7CiBzdGF0aWMgdm9pZCBhcF9wb2xsX2FsbCh1bnNpZ25lZCBsb25nKTsKLXN0YXRpYyB2b2lkIGFwX3BvbGxfdGltZW91dCh1bnNpZ25lZCBsb25nKTsKK3N0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBhcF9wb2xsX3RpbWVvdXQoc3RydWN0IGhydGltZXIgKik7CiBzdGF0aWMgaW50IGFwX3BvbGxfdGhyZWFkX3N0YXJ0KHZvaWQpOwogc3RhdGljIHZvaWQgYXBfcG9sbF90aHJlYWRfc3RvcCh2b2lkKTsKIHN0YXRpYyB2b2lkIGFwX3JlcXVlc3RfdGltZW91dCh1bnNpZ25lZCBsb25nKTsKQEAgLTgwLDEyICs4MiwxNSBAQAogLyoKICAqIFRhc2tsZXQgJiB0aW1lciBmb3IgQVAgcmVxdWVzdCBwb2xsaW5nLgogICovCi1zdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgYXBfcG9sbF90aW1lciA9IFRJTUVSX0lOSVRJQUxJWkVSKGFwX3BvbGxfdGltZW91dCwwLDApOwogc3RhdGljIERFQ0xBUkVfVEFTS0xFVChhcF90YXNrbGV0LCBhcF9wb2xsX2FsbCwgMCk7CiBzdGF0aWMgYXRvbWljX3QgYXBfcG9sbF9yZXF1ZXN0cyA9IEFUT01JQ19JTklUKDApOwogc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKGFwX3BvbGxfd2FpdCk7CiBzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICphcF9wb2xsX2t0aHJlYWQgPSBOVUxMOwogc3RhdGljIERFRklORV9NVVRFWChhcF9wb2xsX3RocmVhZF9tdXRleCk7CitzdGF0aWMgc3RydWN0IGhydGltZXIgYXBfcG9sbF90aW1lcjsKKy8qIEluIExQQVIgcG9sbCB3aXRoIDRrSHogZnJlcXVlbmN5LiBQb2xsIGV2ZXJ5IDI1MDAwMCBuYW5vc2Vjb25kcy4KKyAqIElmIHovVk0gY2hhbmdlIHRvIDE1MDAwMDAgbmFub3NlY29uZHMgdG8gYWRqdXN0IHRvIHovVk0gcG9sbGluZy4qLworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBwb2xsX3RpbWVvdXQgPSAyNTAwMDA7CiAKIC8qKgogICogYXBfaW50cnVjdGlvbnNfYXZhaWxhYmxlKCkgLSBUZXN0IGlmIEFQIGluc3RydWN0aW9ucyBhcmUgYXZhaWxhYmxlLgpAQCAtNjM2LDExICs2NDEsMzkgQEAKIAogc3RhdGljIEJVU19BVFRSKHBvbGxfdGhyZWFkLCAwNjQ0LCBhcF9wb2xsX3RocmVhZF9zaG93LCBhcF9wb2xsX3RocmVhZF9zdG9yZSk7CiAKK3N0YXRpYyBzc2l6ZV90IHBvbGxfdGltZW91dF9zaG93KHN0cnVjdCBidXNfdHlwZSAqYnVzLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJWxsdVxuIiwgcG9sbF90aW1lb3V0KTsKK30KKworc3RhdGljIHNzaXplX3QgcG9sbF90aW1lb3V0X3N0b3JlKHN0cnVjdCBidXNfdHlwZSAqYnVzLCBjb25zdCBjaGFyICpidWYsCisJCQkJICBzaXplX3QgY291bnQpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHRpbWU7CisJa3RpbWVfdCBocl90aW1lOworCisJLyogMTIwIHNlY29uZHMgPSBtYXhpbXVtIHBvbGwgaW50ZXJ2YWwgKi8KKwlpZiAoc3NjYW5mKGJ1ZiwgIiVsbHVcbiIsICZ0aW1lKSAhPSAxIHx8IHRpbWUgPCAxIHx8IHRpbWUgPiAxMjAwMDAwMDAwMDApCisJCXJldHVybiAtRUlOVkFMOworCXBvbGxfdGltZW91dCA9IHRpbWU7CisJaHJfdGltZSA9IGt0aW1lX3NldCgwLCBwb2xsX3RpbWVvdXQpOworCisJaWYgKCFocnRpbWVyX2lzX3F1ZXVlZCgmYXBfcG9sbF90aW1lcikgfHwKKwkgICAgIWhydGltZXJfZm9yd2FyZCgmYXBfcG9sbF90aW1lciwgYXBfcG9sbF90aW1lci5leHBpcmVzLCBocl90aW1lKSkgeworCQlhcF9wb2xsX3RpbWVyLmV4cGlyZXMgPSBocl90aW1lOworCQlocnRpbWVyX3N0YXJ0KCZhcF9wb2xsX3RpbWVyLCBocl90aW1lLCBIUlRJTUVSX01PREVfQUJTKTsKKwl9CisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgQlVTX0FUVFIocG9sbF90aW1lb3V0LCAwNjQ0LCBwb2xsX3RpbWVvdXRfc2hvdywgcG9sbF90aW1lb3V0X3N0b3JlKTsKKwogc3RhdGljIHN0cnVjdCBidXNfYXR0cmlidXRlICpjb25zdCBhcF9idXNfYXR0cnNbXSA9IHsKIAkmYnVzX2F0dHJfYXBfZG9tYWluLAogCSZidXNfYXR0cl9jb25maWdfdGltZSwKIAkmYnVzX2F0dHJfcG9sbF90aHJlYWQsCi0JTlVMTAorCSZidXNfYXR0cl9wb2xsX3RpbWVvdXQsCisJTlVMTCwKIH07CiAKIC8qKgpAQCAtODk1LDkgKzkyOCwxMCBAQAogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgYXBfc2NoZWR1bGVfcG9sbF90aW1lcih2b2lkKQogewotCWlmICh0aW1lcl9wZW5kaW5nKCZhcF9wb2xsX3RpbWVyKSkKKwlpZiAoaHJ0aW1lcl9pc19xdWV1ZWQoJmFwX3BvbGxfdGltZXIpKQogCQlyZXR1cm47Ci0JbW9kX3RpbWVyKCZhcF9wb2xsX3RpbWVyLCBqaWZmaWVzICsgQVBfUE9MTF9USU1FKTsKKwlocnRpbWVyX3N0YXJ0KCZhcF9wb2xsX3RpbWVyLCBrdGltZV9zZXQoMCwgcG9sbF90aW1lb3V0KSwKKwkJICAgICAgSFJUSU1FUl9NT0RFX0FCUyk7CiB9CiAKIC8qKgpAQCAtMTExNSwxMyArMTE0OSwxNCBAQAogCiAvKioKICAqIGFwX3BvbGxfdGltZW91dCgpOiBBUCByZWNlaXZlIHBvbGxpbmcgZm9yIGZpbmlzaGVkIEFQIHJlcXVlc3RzLgotICogQHVudXNlZDogVW51c2VkIHZhcmlhYmxlLgorICogQHVudXNlZDogVW51c2VkIHBvaW50ZXIuCiAgKgotICogU2NoZWR1bGVzIHRoZSBBUCB0YXNrbGV0LgorICogU2NoZWR1bGVzIHRoZSBBUCB0YXNrbGV0IHVzaW5nIGEgaGlnaCByZXNvbHV0aW9uIHRpbWVyLgogICovCi1zdGF0aWMgdm9pZCBhcF9wb2xsX3RpbWVvdXQodW5zaWduZWQgbG9uZyB1bnVzZWQpCitzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgYXBfcG9sbF90aW1lb3V0KHN0cnVjdCBocnRpbWVyICp1bnVzZWQpCiB7CiAJdGFza2xldF9zY2hlZHVsZSgmYXBfdGFza2xldCk7CisJcmV0dXJuIEhSVElNRVJfTk9SRVNUQVJUOwogfQogCiAvKioKQEAgLTEzNDQsNiArMTM3OSwxNCBAQAogCWFwX2NvbmZpZ190aW1lci5leHBpcmVzID0gamlmZmllcyArIGFwX2NvbmZpZ190aW1lICogSFo7CiAJYWRkX3RpbWVyKCZhcF9jb25maWdfdGltZXIpOwogCisJLyogU2V0dXAgdGhlIGhpZ2ggcmVzdWx0aW9uIHBvbGwgdGltZXIuCisJICogSWYgd2UgYXJlIHJ1bm5pbmcgdW5kZXIgei9WTSBhZGp1c3QgcG9sbGluZyB0byB6L1ZNIHBvbGxpbmcgcmF0ZS4KKwkgKi8KKwlpZiAoTUFDSElORV9JU19WTSkKKwkJcG9sbF90aW1lb3V0ID0gMTUwMDAwMDsKKwlocnRpbWVyX2luaXQoJmFwX3BvbGxfdGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX0FCUyk7CisJYXBfcG9sbF90aW1lci5mdW5jdGlvbiA9IGFwX3BvbGxfdGltZW91dDsKKwogCS8qIFN0YXJ0IHRoZSBsb3cgcHJpb3JpdHkgQVAgYnVzIHBvbGwgdGhyZWFkLiAqLwogCWlmIChhcF90aHJlYWRfZmxhZykgewogCQlyYyA9IGFwX3BvbGxfdGhyZWFkX3N0YXJ0KCk7CkBAIC0xMzU1LDcgKzEzOTgsNyBAQAogCiBvdXRfd29yazoKIAlkZWxfdGltZXJfc3luYygmYXBfY29uZmlnX3RpbWVyKTsKLQlkZWxfdGltZXJfc3luYygmYXBfcG9sbF90aW1lcik7CisJaHJ0aW1lcl9jYW5jZWwoJmFwX3BvbGxfdGltZXIpOwogCWRlc3Ryb3lfd29ya3F1ZXVlKGFwX3dvcmtfcXVldWUpOwogb3V0X3Jvb3Q6CiAJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGFwX3Jvb3RfZGV2aWNlKTsKQEAgLTEzODYsNyArMTQyOSw3IEBACiAJYXBfcmVzZXRfZG9tYWluKCk7CiAJYXBfcG9sbF90aHJlYWRfc3RvcCgpOwogCWRlbF90aW1lcl9zeW5jKCZhcF9jb25maWdfdGltZXIpOwotCWRlbF90aW1lcl9zeW5jKCZhcF9wb2xsX3RpbWVyKTsKKwlocnRpbWVyX2NhbmNlbCgmYXBfcG9sbF90aW1lcik7CiAJZGVzdHJveV93b3JrcXVldWUoYXBfd29ya19xdWV1ZSk7CiAJdGFza2xldF9raWxsKCZhcF90YXNrbGV0KTsKIAlzMzkwX3Jvb3RfZGV2X3VucmVnaXN0ZXIoYXBfcm9vdF9kZXZpY2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuaCBiL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmgKaW5kZXggYzFlMTIwMC4uNDQ2Mzc4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuaAorKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL2FwX2J1cy5oCkBAIC05Miw2ICs5Miw4IEBACiAjZGVmaW5lIEFQX0RFVklDRV9UWVBFX1BDSVhDQwk1CiAjZGVmaW5lIEFQX0RFVklDRV9UWVBFX0NFWDJBCTYKICNkZWZpbmUgQVBfREVWSUNFX1RZUEVfQ0VYMkMJNworI2RlZmluZSBBUF9ERVZJQ0VfVFlQRV9DRVgyQTIJOAorI2RlZmluZSBBUF9ERVZJQ0VfVFlQRV9DRVgyQzIJOQogCiAvKgogICogQVAgcmVzZXQgZmxhZyBzdGF0ZXMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmMKaW5kZXggNGQzNmU4MC4uY2IyMmI5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wYXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L2h3X3JhbmRvbS5oPgpAQCAtMzAwLDcgKzMwMSw5IEBACiAgKi8KIHN0YXRpYyBpbnQgemNyeXB0X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CisJbG9ja19rZXJuZWwoKTsKIAlhdG9taWNfaW5jKCZ6Y3J5cHRfb3Blbl9jb3VudCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCkBAIC0xMDY4LDEwICsxMDcxLDggQEAKIAogI2RlZmluZSBMQlVGU0laRSAxMjAwVUwKIAlsYnVmID0ga21hbGxvYyhMQlVGU0laRSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFsYnVmKSB7Ci0JCVBSSU5USygia21hbGxvYyBmYWlsZWQhXG4iKTsKKwlpZiAoIWxidWYpCiAJCXJldHVybiAwOwotCX0KIAogCWxvY2FsX2NvdW50ID0gbWluKExCVUZTSVpFIC0gMSwgY291bnQpOwogCWlmIChjb3B5X2Zyb21fdXNlcihsYnVmLCBidWZmZXIsIGxvY2FsX2NvdW50KSAhPSAwKSB7CkBAIC0xMDgxLDIzICsxMDgyLDE1IEBACiAJbGJ1Zltsb2NhbF9jb3VudF0gPSAnXDAnOwogCiAJcHRyID0gc3Ryc3RyKGxidWYsICJPbmxpbmUgZGV2aWNlcyIpOwotCWlmICghcHRyKSB7Ci0JCVBSSU5USygiVW5hYmxlIHRvIHBhcnNlIGRhdGEgKG1pc3NpbmcgXCJPbmxpbmUgZGV2aWNlc1wiKVxuIik7CisJaWYgKCFwdHIpCiAJCWdvdG8gb3V0OwotCX0KIAlwdHIgPSBzdHJzdHIocHRyLCAiXG4iKTsKLQlpZiAoIXB0cikgewotCQlQUklOVEsoIlVuYWJsZSB0byBwYXJzZSBkYXRhIChtaXNzaW5nIG5ld2xpbmUgIgotCQkgICAgICAgImFmdGVyIFwiT25saW5lIGRldmljZXNcIilcbiIpOworCWlmICghcHRyKQogCQlnb3RvIG91dDsKLQl9CiAJcHRyKys7CiAKLQlpZiAoc3Ryc3RyKHB0ciwgIldhaXRpbmcgd29yayBlbGVtZW50IGNvdW50cyIpID09IE5VTEwpIHsKLQkJUFJJTlRLKCJVbmFibGUgdG8gcGFyc2UgZGF0YSAobWlzc2luZyAiCi0JCSAgICAgICAiXCJXYWl0aW5nIHdvcmsgZWxlbWVudCBjb3VudHNcIilcbiIpOworCWlmIChzdHJzdHIocHRyLCAiV2FpdGluZyB3b3JrIGVsZW1lbnQgY291bnRzIikgPT0gTlVMTCkKIAkJZ290byBvdXQ7Ci0JfQogCiAJZm9yIChqID0gMDsgaiA8IDY0ICYmICpwdHI7IHB0cisrKSB7CiAJCS8qCkBAIC0xMTk3LDE2ICsxMTkwLDEyIEBACiAKIAkvKiBSZWdpc3RlciB0aGUgcmVxdWVzdCBzcHJheWVyLiAqLwogCXJjID0gbWlzY19yZWdpc3RlcigmemNyeXB0X21pc2NfZGV2aWNlKTsKLQlpZiAocmMgPCAwKSB7Ci0JCVBSSU5US1coS0VSTl9FUlIgIm1pc2NfcmVnaXN0ZXIgKG1pbm9yICVkKSBmYWlsZWQgd2l0aCAlZFxuIiwKLQkJCXpjcnlwdF9taXNjX2RldmljZS5taW5vciwgcmMpOworCWlmIChyYyA8IDApCiAJCWdvdG8gb3V0OwotCX0KIAogCS8qIFNldCB1cCB0aGUgcHJvYyBmaWxlIHN5c3RlbSAqLwogCXpjcnlwdF9lbnRyeSA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJkcml2ZXIvejkwY3J5cHQiLCAwNjQ0LCBOVUxMKTsKIAlpZiAoIXpjcnlwdF9lbnRyeSkgewotCQlQUklOVEsoIkNvdWxkbid0IGNyZWF0ZSB6OTBjcnlwdCBwcm9jIGVudHJ5XG4iKTsKIAkJcmMgPSAtRU5PTUVNOwogCQlnb3RvIG91dF9taXNjOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5oIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmgKaW5kZXggNWM2ZTIyMi4uMWQxZWM3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmgKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmgKQEAgLTMwLDM0ICszMCw2IEBACiAjaWZuZGVmIF9aQ1JZUFRfQVBJX0hfCiAjZGVmaW5lIF9aQ1JZUFRfQVBJX0hfCiAKLS8qKgotICogTWFjcm8gZGVmaW5pdGlvbnMKLSAqCi0gKiBQREVCVUcgZGVidWdzIGluIHRoZSBmb3JtICJ6Y3J5cHQ6IGZ1bmN0aW9uX25hbWUgLT4gbWVzc2FnZSIKLSAqCi0gKiBQUklOVEsgaXMgbGlrZSBQREVCVUcsIGV4Y2VwdCB0aGF0IGl0IGlzIGFsd2F5cyBlbmFibGVkCi0gKiBQUklOVEtOIGlzIGxpa2UgUFJJTlRLLCBleGNlcHQgdGhhdCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBmdW5jdGlvbiBuYW1lCi0gKiBQUklOVEtXIGlzIGxpa2UgUFJJTlRLLCBleGNlcHQgdGhhdCBpdCB1c2VzIEtFUk5fV0FSTklORwotICogUFJJTlRLQyBpcyBsaWtlIFBSSU5USywgZXhjZXB0IHRoYXQgaXQgdXNlcyBLRVJOX0NSSVQKLSAqLwotI2RlZmluZSBERVZfTkFNRQkiemNyeXB0IgotCi0jZGVmaW5lIFBSSU5USyhmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBERVZfTkFNRSAiOiAlcyAtPiAiIGZtdCwgX19mdW5jX18gLCAjIyBhcmdzKQotI2RlZmluZSBQUklOVEtOKGZtdCwgYXJncy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIERFVl9OQU1FICI6ICIgZm10LCAjIyBhcmdzKQotI2RlZmluZSBQUklOVEtXKGZtdCwgYXJncy4uLikgXAotCXByaW50ayhLRVJOX1dBUk5JTkcgREVWX05BTUUgIjogJXMgLT4gIiBmbXQsIF9fZnVuY19fICwgIyMgYXJncykKLSNkZWZpbmUgUFJJTlRLQyhmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9DUklUIERFVl9OQU1FICI6ICVzIC0+ICIgZm10LCBfX2Z1bmNfXyAsICMjIGFyZ3MpCi0KLSNpZmRlZiBaQ1JZUFRfREVCVUcKLSNkZWZpbmUgUERFQlVHKGZtdCwgYXJncy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIERFVl9OQU1FICI6ICVzIC0+ICIgZm10LCBfX2Z1bmNfXyAsICMjIGFyZ3MpCi0jZWxzZQotI2RlZmluZSBQREVCVUcoZm10LCBhcmdzLi4uKSBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotCiAjaW5jbHVkZSAiYXBfYnVzLmgiCiAjaW5jbHVkZSA8YXNtL3pjcnlwdC5oPgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9jZXgyYS5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfY2V4MmEuYwppbmRleCAwODY1N2Y2Li41NGY0Y2JjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9jZXgyYS5jCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2NleDJhLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKIAogc3RhdGljIHN0cnVjdCBhcF9kZXZpY2VfaWQgemNyeXB0X2NleDJhX2lkc1tdID0gewogCXsgQVBfREVWSUNFKEFQX0RFVklDRV9UWVBFX0NFWDJBKSB9LAorCXsgQVBfREVWSUNFKEFQX0RFVklDRV9UWVBFX0NFWDJBMikgfSwKIAl7IC8qIGVuZCBvZiBsaXN0ICovIH0sCiB9OwogCkBAIC0yNDIsOSArMjQzLDYgQEAKIAkJcmV0dXJuIGNvbnZlcnRfdHlwZTgwKHpkZXYsIHJlcGx5LAogCQkJCSAgICAgIG91dHB1dGRhdGEsIG91dHB1dGRhdGFsZW5ndGgpOwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9lcnJvci5oIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfZXJyb3IuaAppbmRleCAzZTI3ZmU3Li4wM2JhMjdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9lcnJvci5oCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2Vycm9yLmgKQEAgLTkyLDEwICs5Miw2IEBACiB7CiAJc3RydWN0IGVycm9yX2hkciAqZWhkciA9IHJlcGx5LT5tZXNzYWdlOwogCi0JUFJJTlRLKCJIYXJkd2FyZSBlcnJvciA6IFR5cGUgJTAyeCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JICAgICAgIGVoZHItPnR5cGUsICoodW5zaWduZWQgaW50ICopIHJlcGx5LT5tZXNzYWdlLAotCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UgKyA0KSk7Ci0KIAlzd2l0Y2ggKGVoZHItPnJlcGx5X2NvZGUpIHsKIAljYXNlIFJFUDgyX0VSUk9SX09QRVJBTkRfSU5WQUxJRDoKIAljYXNlIFJFUDgyX0VSUk9SX09QRVJBTkRfU0laRToKQEAgLTEyMyw4ICsxMTksNiBAQAogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsKIAlkZWZhdWx0OgotCQlQUklOVEtXKCJ1bmtub3duIHR5cGUgJTAyeCByZXBseSBjb2RlID0gJWRcbiIsCi0JCQllaGRyLT50eXBlLCBlaGRyLT5yZXBseV9jb2RlKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2EuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNhLmMKaW5kZXggNmU5M2I0Ny4uMTJkYTQ4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2EuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYS5jCkBAIC0yMjYsOSArMjI2LDYgQEAKIAkJcmV0dXJuIGNvbnZlcnRfdHlwZTg0KHpkZXYsIHJlcGx5LAogCQkJCSAgICAgIG91dHB1dGRhdGEsIG91dHB1dGRhdGFsZW5ndGgpOwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYy5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2MuYwppbmRleCAxN2VhNTZjLi43Nzk5NTJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYy5jCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNjLmMKQEAgLTM2MSwyNiArMzYxLDE4IEBACiAJc2VydmljZV9yYyA9IGxlMTZfdG9fY3B1KG1zZy0+Y3ByYi5jY3BfcnRjb2RlKTsKIAlpZiAodW5saWtlbHkoc2VydmljZV9yYyAhPSAwKSkgewogCQlzZXJ2aWNlX3JzID0gbGUxNl90b19jcHUobXNnLT5jcHJiLmNjcF9yc2NvZGUpOwotCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjYpIHsKLQkJCVBERUJVRygiQmFkIGJsb2NrIGZvcm1hdCBvbiBQQ0lDQ1xuIik7CisJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NikKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NSkgewotCQkJUERFQlVHKCJQcm9iYWJseSBhbiBldmVuIG1vZHVsdXMgb24gUENJQ0NcbiIpOworCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjUpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQogCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNzcwKSB7Ci0JCQlQREVCVUcoIkludmFsaWQga2V5IGxlbmd0aCBvbiBQQ0lDQ1xuIik7CiAJCQl6ZGV2LT5tYXhfbW9kX3NpemUgPSBQQ0lDQ19NQVhfTU9EX1NJWkVfT0xEOwogCQkJcmV0dXJuIC1FQUdBSU47CiAJCX0KIAkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDc4MykgewotCQkJUERFQlVHKCJFeHRlbmRlZCBiaXRsZW5ndGhzIG5vdCBlbmFibGVkIG9uIFBDSUNDXG4iKTsKIAkJCXpkZXYtPm1heF9tb2Rfc2l6ZSA9IFBDSUNDX01BWF9NT0RfU0laRV9PTEQ7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQotCQlQUklOVEsoIlVua25vd24gc2VydmljZSByYy9ycyAoUENJQ0MpOiAlZC8lZFxuIiwKLQkJICAgICAgIHNlcnZpY2VfcmMsIHNlcnZpY2VfcnMpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CkBAIC00MzQsOSArNDI2LDYgQEAKIAkJCQkJICAgICAgb3V0cHV0ZGF0YSwgb3V0cHV0ZGF0YWxlbmd0aCk7CiAJCS8qIG5vIGJyZWFrLCBpbmNvcnJlY3QgY3ByYiB2ZXJzaW9uIGlzIGFuIHVua25vd24gcmVzcG9uc2UgKi8KIAlkZWZhdWx0OiAvKiBVbmtub3duIHJlc3BvbnNlIHR5cGUsIHRoaXMgc2hvdWxkIE5FVkVSIEVWRVIgaGFwcGVuICovCi0JCVBSSU5USygiVW5yZWNvZ25pemVkIE1lc3NhZ2UgSGVhZGVyOiAlMDh4JTA4eFxuIiwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIHJlcGx5LT5tZXNzYWdlLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgKHJlcGx5LT5tZXNzYWdlKzQpKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpeGNjLmMgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2l4Y2MuYwppbmRleCAwYmM5YjMxLi5kOGFkMzZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2l4Y2MuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2l4Y2MuYwpAQCAtNzIsNiArNzIsNyBAQAogc3RhdGljIHN0cnVjdCBhcF9kZXZpY2VfaWQgemNyeXB0X3BjaXhjY19pZHNbXSA9IHsKIAl7IEFQX0RFVklDRShBUF9ERVZJQ0VfVFlQRV9QQ0lYQ0MpIH0sCiAJeyBBUF9ERVZJQ0UoQVBfREVWSUNFX1RZUEVfQ0VYMkMpIH0sCisJeyBBUF9ERVZJQ0UoQVBfREVWSUNFX1RZUEVfQ0VYMkMyKSB9LAogCXsgLyogZW5kIG9mIGxpc3QgKi8gfSwKIH07CiAKQEAgLTI4OSwzOCArMjkwLDE5IEBACiAJYXBfbXNnLT5sZW5ndGggPSBzaXplb2Yoc3RydWN0IHR5cGU2X2hkcikgKwogCQlDRUlMNCh4Y1JCLT5yZXF1ZXN0X2NvbnRyb2xfYmxrX2xlbmd0aCkgKwogCQl4Y1JCLT5yZXF1ZXN0X2RhdGFfbGVuZ3RoOwotCWlmIChhcF9tc2ctPmxlbmd0aCA+IFBDSVhDQ19NQVhfWENSQl9NRVNTQUdFX1NJWkUpIHsKLQkJUFJJTlRLKCJDb21iaW5lZCBtZXNzYWdlIGlzIHRvbyBsYXJnZSAoJWxkLyVkLyVkKS5cbiIsCi0JCSAgICBzaXplb2Yoc3RydWN0IHR5cGU2X2hkciksCi0JCSAgICB4Y1JCLT5yZXF1ZXN0X2NvbnRyb2xfYmxrX2xlbmd0aCwKLQkJICAgIHhjUkItPnJlcXVlc3RfZGF0YV9sZW5ndGgpOworCWlmIChhcF9tc2ctPmxlbmd0aCA+IFBDSVhDQ19NQVhfWENSQl9NRVNTQUdFX1NJWkUpCiAJCXJldHVybiAtRUZBVUxUOwotCX0KLQlpZiAoQ0VJTDQoeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoKSA+Ci0JICAgIFBDSVhDQ19NQVhfWENSQl9SRVBMWV9TSVpFKSB7Ci0JCVBERUJVRygiUmVwbHkgQ1BSQiBsZW5ndGggaXMgdG9vIGxhcmdlICglZCkuXG4iLAotCQkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpOworCWlmIChDRUlMNCh4Y1JCLT5yZXBseV9jb250cm9sX2Jsa19sZW5ndGgpID4gUENJWENDX01BWF9YQ1JCX1JFUExZX1NJWkUpCiAJCXJldHVybiAtRUZBVUxUOwotCX0KLQlpZiAoQ0VJTDQoeGNSQi0+cmVwbHlfZGF0YV9sZW5ndGgpID4gUENJWENDX01BWF9YQ1JCX0RBVEFfU0laRSkgewotCQlQREVCVUcoIlJlcGx5IGRhdGEgYmxvY2sgbGVuZ3RoIGlzIHRvbyBsYXJnZSAoJWQpLlxuIiwKLQkJICAgIHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKTsKKwlpZiAoQ0VJTDQoeGNSQi0+cmVwbHlfZGF0YV9sZW5ndGgpID4gUENJWENDX01BWF9YQ1JCX0RBVEFfU0laRSkKIAkJcmV0dXJuIC1FRkFVTFQ7Ci0JfQogCXJlcGx5bGVuID0gQ0VJTDQoeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoKSArCiAJCUNFSUw0KHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKSArCiAJCXNpemVvZihzdHJ1Y3QgdHlwZTg2X2ZtdDJfbXNnKTsKIAlpZiAocmVwbHlsZW4gPiBQQ0lYQ0NfTUFYX1hDUkJfUkVTUE9OU0VfU0laRSkgewotCQlQREVCVUcoIlJlcGx5IENQUkIgKyBkYXRhIGJsb2NrID4gUENJWENDX01BWF9YQ1JCX1JFU1BPTlNFX1NJWkUiCi0JCSAgICAgICAiICglZC8lZC8lZCkuXG4iLAotCQkgICAgICAgc2l6ZW9mKHN0cnVjdCB0eXBlODZfZm10Ml9tc2cpLAotCQkgICAgICAgeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoLAotCQkgICAgICAgeGNSQi0+cmVwbHlfZGF0YV9sZW5ndGgpOwogCQl4Y1JCLT5yZXBseV9jb250cm9sX2Jsa19sZW5ndGggPSBQQ0lYQ0NfTUFYX1hDUkJfUkVTUE9OU0VfU0laRSAtCiAJCQkoc2l6ZW9mKHN0cnVjdCB0eXBlODZfZm10Ml9tc2cpICsKIAkJCSAgICBDRUlMNCh4Y1JCLT5yZXBseV9kYXRhX2xlbmd0aCkpOwotCQlQREVCVUcoIkNhcHBpbmcgUmVwbHkgQ1BSQiBsZW5ndGggYXQgJWRcbiIsCi0JCSAgICAgICB4Y1JCLT5yZXBseV9jb250cm9sX2Jsa19sZW5ndGgpOwogCX0KIAogCS8qIHByZXBhcmUgdHlwZTYgaGVhZGVyICovCkBAIC0zMzksMTEgKzMyMSw4IEBACiAJCSAgICB4Y1JCLT5yZXF1ZXN0X2NvbnRyb2xfYmxrX2xlbmd0aCkpCiAJCXJldHVybiAtRUZBVUxUOwogCWlmIChtc2ctPmNwcmJ4LmNwcmJfbGVuICsgc2l6ZW9mKG1zZy0+aGRyLmZ1bmN0aW9uX2NvZGUpID4KLQkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpIHsKLQkJUERFQlVHKCJjcHJiX2xlbiB0b28gbGFyZ2UgKCVkLyVkKVxuIiwgbXNnLT5jcHJieC5jcHJiX2xlbiwKLQkJICAgIHhjUkItPnJlcXVlc3RfY29udHJvbF9ibGtfbGVuZ3RoKTsKKwkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpCiAJCXJldHVybiAtRUZBVUxUOwotCX0KIAlmdW5jdGlvbl9jb2RlID0gKCh1bnNpZ25lZCBjaGFyICopJm1zZy0+Y3ByYngpICsgbXNnLT5jcHJieC5jcHJiX2xlbjsKIAltZW1jcHkobXNnLT5oZHIuZnVuY3Rpb25fY29kZSwgZnVuY3Rpb25fY29kZSwgc2l6ZW9mKG1zZy0+aGRyLmZ1bmN0aW9uX2NvZGUpKTsKIApAQCAtNDcxLDI5ICs0NTAsMTggQEAKIAlzZXJ2aWNlX3JjID0gbXNnLT5jcHJieC5jY3BfcnRjb2RlOwogCWlmICh1bmxpa2VseShzZXJ2aWNlX3JjICE9IDApKSB7CiAJCXNlcnZpY2VfcnMgPSBtc2ctPmNwcmJ4LmNjcF9yc2NvZGU7Ci0JCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NikgewotCQkJUERFQlVHKCJCYWQgYmxvY2sgZm9ybWF0IG9uIFBDSVhDQy9DRVgyQ1xuIik7CisJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NikKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NSkgewotCQkJUERFQlVHKCJQcm9iYWJseSBhbiBldmVuIG1vZHVsdXMgb24gUENJWENDL0NFWDJDXG4iKTsKKwkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDY1KQogCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KLQkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDc3MCkgewotCQkJUERFQlVHKCJJbnZhbGlkIGtleSBsZW5ndGggb24gUENJWENDL0NFWDJDXG4iKTsKKwkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDc3MCkKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9CiAJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA3ODMpIHsKLQkJCVBERUJVRygiRXh0ZW5kZWQgYml0bGVuZ3RocyBub3QgZW5hYmxlZCBvbiBQQ0lYQ0MvQ0VYMkNcbiIpOwogCQkJemRldi0+bWluX21vZF9zaXplID0gUENJWENDX01JTl9NT0RfU0laRV9PTEQ7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQotCQlpZiAoc2VydmljZV9yYyA9PSAxMiAmJiBzZXJ2aWNlX3JzID09IDc2OSkgewotCQkJUERFQlVHKCJJbnZhbGlkIGtleSBvbiBQQ0lYQ0MvQ0VYMkNcbiIpOworCQlpZiAoc2VydmljZV9yYyA9PSAxMiAmJiBzZXJ2aWNlX3JzID09IDc2OSkKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCVBSSU5USygiVW5rbm93biBzZXJ2aWNlIHJjL3JzIChQQ0lYQ0MvQ0VYMkMpOiAlZC8lZFxuIiwKLQkJICAgICAgIHNlcnZpY2VfcmMsIHNlcnZpY2VfcnMpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CkBAIC01NjksMTEgKzUzNyw4IEBACiAJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSAqbXNnID0gcmVwbHktPm1lc3NhZ2U7CiAJY2hhciAqZGF0YSA9IHJlcGx5LT5tZXNzYWdlOwogCi0JaWYgKG1zZy0+Y3ByYnguY2NwX3J0Y29kZSAhPSAwIHx8IG1zZy0+Y3ByYnguY2NwX3JzY29kZSAhPSAwKSB7Ci0JCVBERUJVRygiUk5HIHJlc3BvbnNlIGVycm9yIG9uIFBDSVhDQy9DRVgyQyByYz0laHUvcnM9JWh1XG4iLAotCQkgICAgICAgcmMsIHJzKTsKKwlpZiAobXNnLT5jcHJieC5jY3BfcnRjb2RlICE9IDAgfHwgbXNnLT5jcHJieC5jY3BfcnNjb2RlICE9IDApCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAltZW1jcHkoYnVmZmVyLCBkYXRhICsgbXNnLT5mbXQyLm9mZnNldDIsIG1zZy0+Zm10Mi5jb3VudDIpOwogCXJldHVybiBtc2ctPmZtdDIuY291bnQyOwogfQpAQCAtNTk4LDkgKzU2Myw2IEBACiAJCQkJCQkgIG91dHB1dGRhdGEsIG91dHB1dGRhdGFsZW5ndGgpOwogCQkvKiBubyBicmVhaywgaW5jb3JyZWN0IGNwcmIgdmVyc2lvbiBpcyBhbiB1bmtub3duIHJlc3BvbnNlICovCiAJZGVmYXVsdDogLyogVW5rbm93biByZXNwb25zZSB0eXBlLCB0aGlzIHNob3VsZCBORVZFUiBFVkVSIGhhcHBlbiAqLwotCQlQUklOVEsoIlVucmVjb2duaXplZCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIChyZXBseS0+bWVzc2FnZSs0KSk7CiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwogCX0KQEAgLTYyNyw5ICs1ODksNiBAQAogCQkJcmV0dXJuIGNvbnZlcnRfdHlwZTg2X3hjcmIoemRldiwgcmVwbHksIHhjUkIpOwogCQkvKiBubyBicmVhaywgaW5jb3JyZWN0IGNwcmIgdmVyc2lvbiBpcyBhbiB1bmtub3duIHJlc3BvbnNlICovCiAJZGVmYXVsdDogLyogVW5rbm93biByZXNwb25zZSB0eXBlLCB0aGlzIHNob3VsZCBORVZFUiBFVkVSIGhhcHBlbiAqLwotCQlQUklOVEsoIlVucmVjb2duaXplZCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIChyZXBseS0+bWVzc2FnZSs0KSk7CiAJCXhjUkItPnN0YXR1cyA9IDB4MDAwODA0NERMOyAvKiBIRERfSW52YWxpZFBhcm0gKi8KIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCkBAIC02NTMsOSArNjEyLDYgQEAKIAkJCXJldHVybiBjb252ZXJ0X3R5cGU4Nl9ybmcoemRldiwgcmVwbHksIGRhdGEpOwogCQkvKiBubyBicmVhaywgaW5jb3JyZWN0IGNwcmIgdmVyc2lvbiBpcyBhbiB1bmtub3duIHJlc3BvbnNlICovCiAJZGVmYXVsdDogLyogVW5rbm93biByZXNwb25zZSB0eXBlLCB0aGlzIHNob3VsZCBORVZFUiBFVkVSIGhhcHBlbiAqLwotCQlQUklOVEsoIlVucmVjb2duaXplZCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIChyZXBseS0+bWVzc2FnZSs0KSk7CiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwogCX0KQEAgLTcwMCwxMCArNjU2LDcgQEAKIAkJCW1lbWNweShtc2ctPm1lc3NhZ2UsIHJlcGx5LT5tZXNzYWdlLCBsZW5ndGgpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0JCQlQUklOVEsoIkludmFsaWQgaW50ZXJuYWwgcmVzcG9uc2UgdHlwZTogJWlcbiIsCi0JCQkgICAgcmVzcF90eXBlLT50eXBlKTsKLQkJCW1lbWNweShtc2ctPm1lc3NhZ2UsICZlcnJvcl9yZXBseSwKLQkJCSAgICBzaXplb2YgZXJyb3JfcmVwbHkpOworCQkJbWVtY3B5KG1zZy0+bWVzc2FnZSwgJmVycm9yX3JlcGx5LCBzaXplb2YgZXJyb3JfcmVwbHkpOwogCQl9CiAJfSBlbHNlCiAJCW1lbWNweShtc2ctPm1lc3NhZ2UsIHJlcGx5LT5tZXNzYWdlLCBzaXplb2YgZXJyb3JfcmVwbHkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL25ldC9jbGF3LmMgYi9kcml2ZXJzL3MzOTAvbmV0L2NsYXcuYwppbmRleCAwNGExZDdiLi5jNjQ0NjY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2NsYXcuYworKysgYi9kcml2ZXJzL3MzOTAvbmV0L2NsYXcuYwpAQCAtNzAzLDcgKzcwMyw4IEBACiAJaWYgKCFjZGV2LT5kZXYuZHJpdmVyX2RhdGEpIHsKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9XQVJOSU5HICJjbGF3OiB1bnNvbGljaXRlZCBpbnRlcnJ1cHQgZm9yIGRldmljZToiCiAJCSAJIiVzIHJlY2VpdmVkIGMtJTAyeCBkLSUwMnhcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBjZGV2LT5kZXYuYnVzX2lkLGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmRzdGF0KTsKKwkJICAgICAgIGNkZXYtPmRldi5idXNfaWQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCSAgICAgICBpcmItPnNjc3cuY21kLmRzdGF0KTsKICNpZmRlZiBGVU5DVFJBQ0UKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJjbGF3OiAlcygpICIKIAkJCSJleGl0IG9uIGxpbmUgJWRcbiIsX19mdW5jX18sX19MSU5FX18pOwpAQCAtNzMyLDIyICs3MzMsMjMgQEAKICNpZmRlZiBJT1RSQUNFCiAgICAgICAgIHByaW50ayhLRVJOX0lORk8gIiVzOiBpbnRlcnJ1cHQgZm9yIGRldmljZTogJTA0eCAiCiAJCSJyZWNlaXZlZCBjLSUwMnggZC0lMDJ4IHN0YXRlLSUwMnhcbiIsCi0gICAgICAgICAgICAgICAgZGV2LT5uYW1lLCBwX2NoLT5kZXZubywgaXJiLT5zY3N3LmNzdGF0LAotCQlpcmItPnNjc3cuZHN0YXQsIHBfY2gtPmNsYXdfc3RhdGUpOworCSAgICAgICBkZXYtPm5hbWUsIHBfY2gtPmRldm5vLCBpcmItPnNjc3cuY21kLmNzdGF0LAorCSAgICAgICBpcmItPnNjc3cuY21kLmRzdGF0LCBwX2NoLT5jbGF3X3N0YXRlKTsKICNlbmRpZgogCiAJLyogQ29weSBpbnRlcnJ1cHRpb24gcmVzcG9uc2UgYmxvY2suICovCiAJbWVtY3B5KHBfY2gtPmlyYiwgaXJiLCBzaXplb2Yoc3RydWN0IGlyYikpOwogCiAgICAgICAgIC8qIENoZWNrIGZvciBnb29kIHN1YmNoYW5uZWwgcmV0dXJuIGNvZGUsIG90aGVyd2lzZSBlcnJvciBtZXNzYWdlICovCi0gICAgICAgIGlmIChpcmItPnNjc3cuY3N0YXQgICYmICAhKGlyYi0+c2Nzdy5jc3RhdCAmIFNDSE5fU1RBVF9QQ0kpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiYgIShpcmItPnNjc3cuY21kLmNzdGF0ICYgU0NITl9TVEFUX1BDSSkpIHsKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogc3ViY2hhbm5lbCBjaGVjayBmb3IgZGV2aWNlOiAlMDR4IC0iCiAJCQkiIFNjaCBTdGF0ICUwMnggIERldiBTdGF0ICUwMnggQ1BBIC0gJTA0eFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgIGRldi0+bmFtZSwgcF9jaC0+ZGV2bm8sCi0JCQlpcmItPnNjc3cuY3N0YXQsIGlyYi0+c2Nzdy5kc3RhdCxpcmItPnNjc3cuY3BhKTsKKwkJCWlyYi0+c2Nzdy5jbWQuY3N0YXQsIGlyYi0+c2Nzdy5jbWQuZHN0YXQsCisJCQlpcmItPnNjc3cuY21kLmNwYSk7CiAjaWZkZWYgSU9UUkFDRQogCQlkdW1waXQoKGNoYXIgKilpcmIsc2l6ZW9mKHN0cnVjdCBpcmIpKTsKLQkJZHVtcGl0KChjaGFyICopKHVuc2lnbmVkIGxvbmcpaXJiLT5zY3N3LmNwYSwKKwkJZHVtcGl0KChjaGFyICopKHVuc2lnbmVkIGxvbmcpaXJiLT5zY3N3LmNtZC5jcGEsCiAJCQlzaXplb2Yoc3RydWN0IGNjdzEpKTsKICNlbmRpZgogI2lmZGVmIEZVTkNUUkFDRQpAQCAtNzU5LDIyICs3NjEsMjQgQEAKICAgICAgICAgfQogCiAgICAgICAgIC8qIENoZWNrIHRoZSByZWFzb24tY29kZSBvZiBhIHVuaXQgY2hlY2sgKi8KLSAgICAgICAgaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAgICAgICAgICAgICAgICAgY2N3X2NoZWNrX3VuaXRfY2hlY2socF9jaCwgaXJiLT5lY3dbMF0pOwotICAgICAgICB9CiAKICAgICAgICAgLyogU3RhdGUgbWFjaGluZSB0byBicmluZyB0aGUgY29ubmVjdGlvbiB1cCwgZG93biBhbmQgdG8gcmVzdGFydCAqLwotICAgICAgICBwX2NoLT5sYXN0X2RzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCXBfY2gtPmxhc3RfZHN0YXQgPSBpcmItPnNjc3cuY21kLmRzdGF0OwogCiAgICAgICAgIHN3aXRjaCAocF9jaC0+Y2xhd19zdGF0ZSkgewogICAgICAgICAgICAgICAgIGNhc2UgQ0xBV19TVE9QOi8qIEhBTFRfSU8gYnkgY2xhd19yZWxlYXNlIChoYWx0IHNlcXVlbmNlKSAqLwogI2lmZGVmIERFQlVHTVNHCiAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogQ0xBV19TVE9QIGVudGVyXG4iLCBkZXYtPm5hbWUpOwogI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISgocF9jaC0+aXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAotCSAgICAJCShwX2NoLT5pcmItPnNjc3cuc3RjdGwgPT0gU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKLQkgICAgCQkocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09Ci0JICAgICAJCShTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKKwkJCWlmICghKChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsICYKKwkJCSAgICAgICBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8CisJCQkgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCQlTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkJKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwKKwkJCQkgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgewogI2lmZGVmIEZVTkNUUkFDRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczolcyBFeGl0IG9uIGxpbmUgJWRcbiIsCiAJCQkJCWRldi0+bmFtZSxfX2Z1bmNfXyxfX0xJTkVfXyk7CkBAIC03OTgsMTAgKzgwMiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IHByb2Nlc3MgQ0xBV19TVEFUX0hBTFRfSU9cbiIsCiAJCQkJZGV2LT5uYW1lKTsKICNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgCQkocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAgCQkoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CisJCQlpZiAoISgocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCAmCisJCQkgICAgICAgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkgICAgIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8CisJCQkgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCSAgICAgKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwKKwkJCSAgICAgIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKICNpZmRlZiBGVU5DVFJBQ0UKIAkJCQlwcmludGsoS0VSTl9JTkZPICIlczolcyBFeGl0IG9uIGxpbmUgJWRcbiIsCiAJCQkJCWRldi0+bmFtZSxfX2Z1bmNfXyxfX0xJTkVfXyk7CkBAIC04MjgsOCArODM1LDggQEAKIAkJCQkJImludGVycnVwdCBmb3IgZGV2aWNlOiIKIAkJCQkgCSIlcyByZWNlaXZlZCBjLSUwMnggZC0lMDJ4XG4iLAogICAgICAgICAgICAgICAgIAkJICAgICAgICBjZGV2LT5kZXYuYnVzX2lkLAotCQkJCQlpcmItPnNjc3cuY3N0YXQsCi0JCQkJCWlyYi0+c2Nzdy5kc3RhdCk7CisJCQkJCWlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCQkJCWlyYi0+c2Nzdy5jbWQuZHN0YXQpOwogCQkJCXJldHVybjsKIAkJCQl9CiAjaWZkZWYgREVCVUdNU0cKQEAgLTg0NCw3ICs4NTEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIGNhc2UgQ0xBV19TVEFSVF9SRUFEOgogCQkJQ0xBV19EQkZfVEVYVCg0LHRyYWNlLCJSZWFkSVJRIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAocF9jaC0+aXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgeworCQkJaWYgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX2JpdCgwLCAodm9pZCAqKSZwX2NoLT5JT19hY3RpdmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBfY2gtPmlyYi0+ZWN3WzBdICYgMHg0MSkgPT0gMHg0MSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBfY2gtPmlyYi0+ZWN3WzBdICYgMHg0MCkgPT0gMHg0MCB8fApAQCAtODYzLDggKzg3MCw4IEBACiAJCQkJCUNMQVdfREJGX1RFWFQoNCx0cmFjZSwibm90cmR5Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChwX2NoLT5pcmItPnNjc3cuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSAmJgotCQkJICAgIChwX2NoLT5pcmItPnNjc3cuZHN0YXQ9PTApKSB7CisJCQlpZiAoKHBfY2gtPmlyYi0+c2Nzdy5jbWQuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSAmJgorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLmRzdGF0ID09IDApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0X2FuZF9zZXRfYml0KENMQVdfQkhfQUNUSVZFLAogCQkJCQkodm9pZCAqKSZwX2NoLT5mbGFnX2EpID09IDApIHsKIAkJCQkJdGFza2xldF9zY2hlZHVsZSgmcF9jaC0+dGFza2xldCk7CkBAIC04NzksMTAgKzg4NiwxMyBAQAogCQkJCUNMQVdfREJGX1RFWFQoNCx0cmFjZSwiUENJX3JlYWQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgaWYoISgocF9jaC0+aXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAotCSAgICAJCSAocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIAkJIChwX2NoLT5pcmItPnNjc3cuc3RjdGwgPT0KLQkgICAgIAkJIChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKKwkJCWlmICghKChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsICYKKwkJCSAgICAgICBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8CisJCQkgICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkgICAgICBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCQkJICAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJICAgICAgKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwKKwkJCSAgICAgICBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CiAjaWZkZWYgRlVOQ1RSQUNFCiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXM6JXMgRXhpdCBvbiBsaW5lICVkXG4iLAogCQkJCQlkZXYtPm5hbWUsX19mdW5jX18sX19MSU5FX18pOwpAQCAtOTExLDcgKzkyMSw3IEBACiAJCQlDTEFXX0RCRl9URVhUKDQsdHJhY2UsIlJkSVJRWGl0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgY2FzZSBDTEFXX1NUQVJUX1dSSVRFOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBfY2gtPmlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwkJCWlmIChwX2NoLT5pcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogVW5pdCBDaGVjayBPY2N1cmVkIGluICIKIAkJCQkJIndyaXRlIGNoYW5uZWxcbiIsZGV2LT5uYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJfYml0KDAsICh2b2lkICopJnBfY2gtPklPX2FjdGl2ZSk7CkBAIC05MzQsMTYgKzk0NCwxOSBAQAogCQkJCUNMQVdfREJGX1RFWFQoNCx0cmFjZSwicnN0cnR3cnQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBfY2gtPmlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApIHsKKwkJCWlmIChwX2NoLT5pcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX2JpdCgwLCAodm9pZCAqKSZwX2NoLT5JT19hY3RpdmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8gIiVzOiBVbml0IEV4Y2VwdGlvbiAiCiAJCQkJCQkiT2NjdXJlZCBpbiB3cml0ZSBjaGFubmVsXG4iLAogCQkJCQkJZGV2LT5uYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEoKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgCQkocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAgCQkoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CisJCQlpZiAoISgocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCAmCisJCQkgICAgICAgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCQkJICAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJICAgICAgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKKwkJCSAgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCSAgICAgIChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8CisJCQkgICAgICAgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgewogI2lmZGVmIEZVTkNUUkFDRQogCQkJCXByaW50ayhLRVJOX0lORk8gIiVzOiVzIEV4aXQgb24gbGluZSAlZFxuIiwKIAkJCQkJZGV2LT5uYW1lLF9fZnVuY19fLF9fTElORV9fKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9mc21zLmMgYi9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fZnNtcy5jCmluZGV4IDJhMTA2ZjMuLjdlNmJkMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9mc21zLmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9jdGNtX2ZzbXMuYwpAQCAtMjU3LDkgKzI1Nyw5IEBACiAJaWYgKGR1cmF0aW9uID4gY2gtPnByb2YudHhfdGltZSkKIAkJY2gtPnByb2YudHhfdGltZSA9IGR1cmF0aW9uOwogCi0JaWYgKGNoLT5pcmItPnNjc3cuY291bnQgIT0gMCkKKwlpZiAoY2gtPmlyYi0+c2Nzdy5jbWQuY291bnQgIT0gMCkKIAkJY3RjbV9wcl9kZWJ1ZygiJXM6IFRYIG5vdCBjb21wbGV0ZSwgcmVtYWluaW5nICVkIGJ5dGVzXG4iLAotCQkJICAgICBkZXYtPm5hbWUsIGNoLT5pcmItPnNjc3cuY291bnQpOworCQkJICAgICBkZXYtPm5hbWUsIGNoLT5pcmItPnNjc3cuY21kLmNvdW50KTsKIAlmc21fZGVsdGltZXIoJmNoLT50aW1lcik7CiAJd2hpbGUgKChza2IgPSBza2JfZGVxdWV1ZSgmY2gtPmlvX3F1ZXVlKSkpIHsKIAkJcHJpdi0+c3RhdHMudHhfcGFja2V0cysrOwpAQCAtMzUzLDcgKzM1Myw3IEBACiAJc3RydWN0IGNoYW5uZWwgKmNoID0gYXJnOwogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBjaC0+bmV0ZGV2OwogCXN0cnVjdCBjdGNtX3ByaXYgKnByaXYgPSBkZXYtPnByaXY7Ci0JaW50IGxlbiA9IGNoLT5tYXhfYnVmc2l6ZSAtIGNoLT5pcmItPnNjc3cuY291bnQ7CisJaW50IGxlbiA9IGNoLT5tYXhfYnVmc2l6ZSAtIGNoLT5pcmItPnNjc3cuY21kLmNvdW50OwogCXN0cnVjdCBza19idWZmICpza2IgPSBjaC0+dHJhbnNfc2tiOwogCV9fdTE2IGJsb2NrX2xlbiA9ICooKF9fdTE2ICopc2tiLT5kYXRhKTsKIAlpbnQgY2hlY2tfbGVuOwpAQCAtMTIzNCw5ICsxMjM0LDkgQEAKIAlpZiAoZHVyYXRpb24gPiBjaC0+cHJvZi50eF90aW1lKQogCQljaC0+cHJvZi50eF90aW1lID0gZHVyYXRpb247CiAKLQlpZiAoY2gtPmlyYi0+c2Nzdy5jb3VudCAhPSAwKQorCWlmIChjaC0+aXJiLT5zY3N3LmNtZC5jb3VudCAhPSAwKQogCQljdGNtX3ByX2RlYnVnKCIlczogVFggbm90IGNvbXBsZXRlLCByZW1haW5pbmcgJWQgYnl0ZXNcbiIsCi0JCQkJZGV2LT5uYW1lLCBjaC0+aXJiLT5zY3N3LmNvdW50KTsKKwkJCQlkZXYtPm5hbWUsIGNoLT5pcmItPnNjc3cuY21kLmNvdW50KTsKIAlmc21fZGVsdGltZXIoJmNoLT50aW1lcik7CiAJd2hpbGUgKChza2IgPSBza2JfZGVxdWV1ZSgmY2gtPmlvX3F1ZXVlKSkpIHsKIAkJcHJpdi0+c3RhdHMudHhfcGFja2V0cysrOwpAQCAtMTM5NCw3ICsxMzk0LDcgQEAKIAlzdHJ1Y3Qgc2tfYnVmZgkJKnNrYiA9IGNoLT50cmFuc19za2I7CiAJc3RydWN0IHNrX2J1ZmYJCSpuZXdfc2tiOwogCXVuc2lnbmVkIGxvbmcJc2F2ZWZsYWdzID0gMDsJLyogYXZvaWRzIGNvbXBpbGVyIHdhcm5pbmcgKi8KLQlpbnQgbGVuCT0gY2gtPm1heF9idWZzaXplIC0gY2gtPmlyYi0+c2Nzdy5jb3VudDsKKwlpbnQgbGVuCT0gY2gtPm1heF9idWZzaXplIC0gY2gtPmlyYi0+c2Nzdy5jbWQuY291bnQ7CiAKIAlpZiAoZG9fZGVidWdfZGF0YSkgewogCQlDVENNX0RCRl9URVhUXyhUUkFDRSwgQ1RDX0RCRl9ERUJVRywgIm1wY19jaF9yeCAlcyBjcDolaSAlc1xuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9tYWluLmMgYi9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fbWFpbi5jCmluZGV4IGQ1Mjg0M2QuLjZiMTNjMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9tYWluLmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9jdGNtX21haW4uYwpAQCAtMTIzNiw4ICsxMjM2LDggQEAKIAkvKiBDaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0cy4gKi8KIAlpZiAoY2dkZXYgPT0gTlVMTCkgewogCQljdGNtX3ByX3dhcm4oImN0Y206IEdvdCB1bnNvbGljaXRlZCBpcnE6ICVzIGMtJTAyeCBkLSUwMnhcbiIsCi0JCQkgICAgY2Rldi0+ZGV2LmJ1c19pZCwgaXJiLT5zY3N3LmNzdGF0LAotCQkJICAgIGlyYi0+c2Nzdy5kc3RhdCk7CisJCQkgICAgY2Rldi0+ZGV2LmJ1c19pZCwgaXJiLT5zY3N3LmNtZC5jc3RhdCwKKwkJCSAgICBpcmItPnNjc3cuY21kLmRzdGF0KTsKIAkJcmV0dXJuOwogCX0KIApAQCAtMTI2Niw0MCArMTI2Niw0MCBAQAogCQkJCSJyZWNlaXZlZCBjLSUwMnggZC0lMDJ4XG4iLAogCQkJCWRldi0+bmFtZSwKIAkJCQljaC0+aWQsCi0JCQkJaXJiLT5zY3N3LmNzdGF0LAotCQkJCWlyYi0+c2Nzdy5kc3RhdCk7CisJCQkJaXJiLT5zY3N3LmNtZC5jc3RhdCwKKwkJCQlpcmItPnNjc3cuY21kLmRzdGF0KTsKIAogCS8qIENvcHkgaW50ZXJydXB0aW9uIHJlc3BvbnNlIGJsb2NrLiAqLwogCW1lbWNweShjaC0+aXJiLCBpcmIsIHNpemVvZihzdHJ1Y3QgaXJiKSk7CiAKIAkvKiBDaGVjayBmb3IgZ29vZCBzdWJjaGFubmVsIHJldHVybiBjb2RlLCBvdGhlcndpc2UgZXJyb3IgbWVzc2FnZSAqLwotCWlmIChpcmItPnNjc3cuY3N0YXQpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5jc3RhdCkgewogCQlmc21fZXZlbnQoY2gtPmZzbSwgQ1RDX0VWRU5UX1NDX1VOS05PV04sIGNoKTsKIAkJY3RjbV9wcl93YXJuKCIlczogc3ViY2hhbm5lbCBjaGVjayBmb3IgZGV2OiAlcyAtICUwMnggJTAyeFxuIiwKLQkJCSAgICBkZXYtPm5hbWUsIGNoLT5pZCwgaXJiLT5zY3N3LmNzdGF0LAotCQkJICAgIGlyYi0+c2Nzdy5kc3RhdCk7CisJCQkgICAgZGV2LT5uYW1lLCBjaC0+aWQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCQkgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAJCXJldHVybjsKIAl9CiAKIAkvKiBDaGVjayB0aGUgcmVhc29uLWNvZGUgb2YgYSB1bml0IGNoZWNrICovCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKIAkJY2N3X3VuaXRfY2hlY2soY2gsIGlyYi0+ZWN3WzBdKTsKIAkJcmV0dXJuOwogCX0KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQlVTWSkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKQorCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQlVTWSkgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikKIAkJCWZzbV9ldmVudChjaC0+ZnNtLCBDVENfRVZFTlRfQVRUTkJVU1ksIGNoKTsKIAkJZWxzZQogCQkJZnNtX2V2ZW50KGNoLT5mc20sIENUQ19FVkVOVF9CVVNZLCBjaCk7CiAJCXJldHVybjsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCWZzbV9ldmVudChjaC0+ZnNtLCBDVENfRVZFTlRfQVRUTiwgY2gpOwogCQlyZXR1cm47CiAJfQotCWlmICgoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAotCSAgICAoaXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIChpcmItPnNjc3cuc3RjdGwgPT0KKwlpZiAoKGlyYi0+c2Nzdy5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8CisJICAgIChpcmItPnNjc3cuY21kLnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8CisJICAgIChpcmItPnNjc3cuY21kLnN0Y3RsID09CiAJICAgICAoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpCiAJCWZzbV9ldmVudChjaC0+ZnNtLCBDVENfRVZFTlRfRklOU1RBVCwgY2gpOwogCWVsc2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmMgYi9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5jCmluZGV4IDhlNzY5NzMuLmY0YTMyMzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9jdTMwODguYwpAQCAtMzYsNyArMzYsNiBAQAogCSJDVEMvQSIsCiAJIkVTQ09OIGNoYW5uZWwiLAogCSJGSUNPTiBjaGFubmVsIiwKLQkiUDM5MCBMQ1MgY2FyZCIsCiAJIk9TQSBMQ1MgY2FyZCIsCiAJIkNMQVcgY2hhbm5lbCBkZXZpY2UiLAogCSJ1bmtub3duIGNoYW5uZWwgdHlwZSIsCkBAIC00OSw3ICs0OCw2IEBACiAJeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHgwOCksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9wYXJhbGxlbCB9LAogCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4MWYpLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfZXNjb24gfSwKIAl7IENDV19ERVZJQ0UoMHgzMDg4LCAweDFlKSwgLmRyaXZlcl9pbmZvID0gY2hhbm5lbF90eXBlX2ZpY29uIH0sCi0JeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHgwMSksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9wMzkwIH0sCiAJeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHg2MCksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9vc2EyIH0sCiAJeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHg2MSksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9jbGF3IH0sCiAJeyAvKiBlbmQgb2YgbGlzdCAqLyB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5oIGIvZHJpdmVycy9zMzkwL25ldC9jdTMwODguaAppbmRleCAxNzUzNjYxLi5kODU1OGE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5oCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmgKQEAgLTE3LDkgKzE3LDYgQEAKIAkvKiBEZXZpY2UgaXMgYSBGSUNPTiBjaGFubmVsICovCiAJY2hhbm5lbF90eXBlX2ZpY29uLAogCi0JLyogRGV2aWNlIGlzIGEgUDM5MCBMQ1MgY2FyZCAqLwotCWNoYW5uZWxfdHlwZV9wMzkwLAotCiAJLyogRGV2aWNlIGlzIGEgT1NBMiBjYXJkICovCiAJY2hhbm5lbF90eXBlX29zYTIsCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvbGNzLmMgYi9kcml2ZXJzL3MzOTAvbmV0L2xjcy5jCmluZGV4IGRkMjJmNGIuLjZkZTI4MzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvbGNzLmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9sY3MuYwpAQCAtMTMyNyw4ICsxMzI3LDggQEAKIAljaGFyICpzZW5zZTsKIAogCXNlbnNlID0gKGNoYXIgKikgaXJiLT5lY3c7Ci0JY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0JZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogCWlmIChjc3RhdCAmIChTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLIHwgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAogCQkgICAgIFNDSE5fU1RBVF9DSE5fREFUQV9DSEsgfCBTQ0hOX1NUQVRfQ0hBSU5fQ0hFQ0sgfApAQCAtMTM4OCwxMSArMTM4OCwxMyBAQAogCWVsc2UKIAkJY2hhbm5lbCA9ICZjYXJkLT53cml0ZTsKIAotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAJTENTX0RCRl9URVhUXyg1LCB0cmFjZSwgIlJpbnQlcyIsY2Rldi0+ZGV2LmJ1c19pZCk7Ci0JTENTX0RCRl9URVhUXyg1LCB0cmFjZSwgIiU0eCU0eCIsaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQpOwotCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICIlNHglNHgiLGlyYi0+c2Nzdy5mY3RsLCBpcmItPnNjc3cuYWN0bCk7CisJTENTX0RCRl9URVhUXyg1LCB0cmFjZSwgIiU0eCU0eCIsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCSAgICAgIGlyYi0+c2Nzdy5jbWQuZHN0YXQpOworCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICIlNHglNHgiLCBpcmItPnNjc3cuY21kLmZjdGwsCisJCSAgICAgIGlyYi0+c2Nzdy5jbWQuYWN0bCk7CiAKIAkvKiBDaGVjayBmb3IgY2hhbm5lbCBhbmQgZGV2aWNlIGVycm9ycyBwcmVzZW50ZWQgKi8KIAlyYyA9IGxjc19nZXRfcHJvYmxlbShjZGV2LCBpcmIpOwpAQCAtMTQxMCwxMSArMTQxMiwxMSBAQAogCX0KIAkvKiBIb3cgZmFyIGluIHRoZSBjY3cgY2hhaW4gaGF2ZSB3ZSBwcm9jZXNzZWQ/ICovCiAJaWYgKChjaGFubmVsLT5zdGF0ZSAhPSBMQ1NfQ0hfU1RBVEVfSU5JVCkgJiYKLQkgICAgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpKSB7Ci0JCWluZGV4ID0gKHN0cnVjdCBjY3cxICopIF9fdmEoKGFkZHJfdCkgaXJiLT5zY3N3LmNwYSkKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSkgeworCQlpbmRleCA9IChzdHJ1Y3QgY2N3MSAqKSBfX3ZhKChhZGRyX3QpIGlyYi0+c2Nzdy5jbWQuY3BhKQogCQkJLSBjaGFubmVsLT5jY3dzOwotCQlpZiAoKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkgfHwKLQkJICAgIChpcmItPnNjc3cuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSkKKwkJaWYgKChpcmItPnNjc3cuY21kLmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSB8fAorCQkgICAgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSkKIAkJCS8qIEJsb29keSBpbyBzdWJzeXN0ZW0gdGVsbHMgdXMgbGllcyBhYm91dCBjcGEuLi4gKi8KIAkJCWluZGV4ID0gKGluZGV4IC0gMSkgJiAoTENTX05VTV9CVUZGUyAtIDEpOwogCQl3aGlsZSAoY2hhbm5lbC0+aW9faWR4ICE9IGluZGV4KSB7CkBAIC0xNDI1LDI1ICsxNDI3LDI0IEBACiAJCX0KIAl9CiAKLQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHx8Ci0JICAgIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSB8fAotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykpCisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgfHwKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSB8fAorCSAgICAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spKQogCQkvKiBNYXJrIGNoYW5uZWwgYXMgc3RvcHBlZC4gKi8KIAkJY2hhbm5lbC0+c3RhdGUgPSBMQ1NfQ0hfU1RBVEVfU1RPUFBFRDsKLQllbHNlIGlmIChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpCisJZWxzZSBpZiAoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkKIAkJLyogQ0NXIGV4ZWN1dGlvbiBzdG9wcGVkIG9uIGEgc3VzcGVuZCBiaXQuICovCiAJCWNoYW5uZWwtPnN0YXRlID0gTENTX0NIX1NUQVRFX1NVU1BFTkRFRDsKLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfSEFMVF9GVU5DKSB7Ci0JCWlmIChpcmItPnNjc3cuY2MgIT0gMCkgeworCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfSEFMVF9GVU5DKSB7CisJCWlmIChpcmItPnNjc3cuY21kLmNjICE9IDApIHsKIAkJCWNjd19kZXZpY2VfaGFsdChjaGFubmVsLT5jY3dkZXYsIChhZGRyX3QpIGNoYW5uZWwpOwogCQkJcmV0dXJuOwogCQl9CiAJCS8qIFRoZSBjaGFubmVsIGhhcyBiZWVuIHN0b3BwZWQgYnkgaGFsdF9JTy4gKi8KIAkJY2hhbm5lbC0+c3RhdGUgPSBMQ1NfQ0hfU1RBVEVfSEFMVEVEOwogCX0KLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykgeworCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykKIAkJY2hhbm5lbC0+c3RhdGUgPSBMQ1NfQ0hfU1RBVEVfQ0xFQVJFRDsKLQl9CiAJLyogRG8gdGhlIHJlc3QgaW4gdGhlIHRhc2tsZXQuICovCiAJdGFza2xldF9zY2hlZHVsZSgmY2hhbm5lbC0+aXJxX3Rhc2tsZXQpOwogfQpAQCAtMTc2MSw3ICsxNzYyLDcgQEAKIAkJCQluZXRpZl9jYXJyaWVyX29mZihjYXJkLT5kZXYpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0JCQlQUklOVF9JTkZPKCJVTlJFQ09HTklaRUQgTEdXIENPTU1BTkRcbiIpOworCQkJTENTX0RCRl9URVhUKDUsIHRyYWNlLCAibm9MR1djbWQiKTsKIAkJCWJyZWFrOwogCQl9CiAJfSBlbHNlCkBAIC0yMDQyLDEzICsyMDQzLDEyIEBACiAJTENTX0RCRl9URVhUKDIsIHNldHVwLCAiYWRkX2RldiIpOwogICAgICAgICBjYXJkID0gbGNzX2FsbG9jX2NhcmQoKTsKICAgICAgICAgaWYgKCFjYXJkKSB7Ci0gICAgICAgICAgICAgICAgUFJJTlRfRVJSKCJBbGxvY2F0aW9uIG9mIGxjcyBjYXJkIGZhaWxlZFxuIik7CisJCUxDU19EQkZfVEVYVF8oMiwgc2V0dXAsICIgIHJjJWQiLCAtRU5PTUVNKTsKIAkJcHV0X2RldmljZSgmY2N3Z2Rldi0+ZGV2KTsKICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICAgICAgfQogCXJldCA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmY2N3Z2Rldi0+ZGV2LmtvYmosICZsY3NfYXR0cl9ncm91cCk7CiAJaWYgKHJldCkgewotICAgICAgICAgICAgICAgIFBSSU5UX0VSUigiQ3JlYXRpbmcgYXR0cmlidXRlcyBmYWlsZWQiKTsKIAkJbGNzX2ZyZWVfY2FyZChjYXJkKTsKIAkJcHV0X2RldmljZSgmY2N3Z2Rldi0+ZGV2KTsKIAkJcmV0dXJuIHJldDsKQEAgLTIxNDAsNyArMjE0MCw2IEBACiAJZGVmYXVsdDoKIAkJTENTX0RCRl9URVhUKDMsIHNldHVwLCAiZXJyaW5pdCIpOwogCQlQUklOVF9FUlIoIkxDUzogSW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iKTsKLQkJUFJJTlRfRVJSKCJMQ1M6IE5vIGRldmljZSBmb3VuZCFcbiIpOwogCQlnb3RvIG91dDsKIAl9CiAJaWYgKCFkZXYpCkBAIC0yMjY5LDcgKzIyNjgsNiBAQAogCWlmICghY2FyZCkKIAkJcmV0dXJuOwogCi0JUFJJTlRfSU5GTygiUmVtb3ZpbmcgbGNzIGdyb3VwIGRldmljZSAuLi4uXG4iKTsKIAlMQ1NfREJGX1RFWFQoMywgc2V0dXAsICJyZW1kZXYiKTsKIAlMQ1NfREJGX0hFWCgzLCBzZXR1cCwgJmNhcmQsIHNpemVvZih2b2lkKikpOwogCWlmIChjY3dnZGV2LT5zdGF0ZSA9PSBDQ1dHUk9VUF9PTkxJTkUpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jIGIvZHJpdmVycy9zMzkwL25ldC9uZXRpdWN2LmMKaW5kZXggZTRiYTZhMC4uOTI0MmI1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9uZXRpdWN2LmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9uZXRpdWN2LmMKQEAgLTYyNSw5ICs2MjUsNiBAQAogCQlvZmZzZXQgKz0gaGVhZGVyLT5uZXh0OwogCQloZWFkZXItPm5leHQgLT0gTkVUSVVDVl9IRFJMRU47CiAJCWlmIChza2JfdGFpbHJvb20ocHNrYikgPCBoZWFkZXItPm5leHQpIHsKLQkJCVBSSU5UX1dBUk4oIiVzOiBJbGxlZ2FsIG5leHQgZmllbGQgaW4gaXVjdiBoZWFkZXI6ICIKLQkJCSAgICAgICAiJWQgPiAlZFxuIiwKLQkJCSAgICAgICBkZXYtPm5hbWUsIGhlYWRlci0+bmV4dCwgc2tiX3RhaWxyb29tKHBza2IpKTsKIAkJCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICJJbGxlZ2FsIG5leHQgZmllbGQ6ICVkID4gJWRcbiIsCiAJCQkJaGVhZGVyLT5uZXh0LCBza2JfdGFpbHJvb20ocHNrYikpOwogCQkJcmV0dXJuOwpAQCAtNjM2LDggKzYzMyw2IEBACiAJCXNrYl9yZXNldF9tYWNfaGVhZGVyKHBza2IpOwogCQlza2IgPSBkZXZfYWxsb2Nfc2tiKHBza2ItPmxlbik7CiAJCWlmICghc2tiKSB7Ci0JCQlQUklOVF9XQVJOKCIlcyBPdXQgb2YgbWVtb3J5IGluIG5ldGl1Y3ZfdW5wYWNrX3NrYlxuIiwKLQkJCSAgICAgICBkZXYtPm5hbWUpOwogCQkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLAogCQkJCSJPdXQgb2YgbWVtb3J5IGluIG5ldGl1Y3ZfdW5wYWNrX3NrYlxuIik7CiAJCQlwcml2cHRyLT5zdGF0cy5yeF9kcm9wcGVkKys7CkBAIC02NzQsNyArNjY5LDYgQEAKIAogCWlmICghY29ubi0+bmV0ZGV2KSB7CiAJCWl1Y3ZfbWVzc2FnZV9yZWplY3QoY29ubi0+cGF0aCwgbXNnKTsKLQkJUFJJTlRfV0FSTigiUmVjZWl2ZWQgZGF0YSBmb3IgdW5saW5rZWQgY29ubmVjdGlvblxuIik7CiAJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwKIAkJCSAgICAgICJSZWNlaXZlZCBkYXRhIGZvciB1bmxpbmtlZCBjb25uZWN0aW9uXG4iKTsKIAkJcmV0dXJuOwpAQCAtNjgyLDggKzY3Niw2IEBACiAJaWYgKG1zZy0+bGVuZ3RoID4gY29ubi0+bWF4X2J1ZmZzaXplKSB7CiAJCWl1Y3ZfbWVzc2FnZV9yZWplY3QoY29ubi0+cGF0aCwgbXNnKTsKIAkJcHJpdnB0ci0+c3RhdHMucnhfZHJvcHBlZCsrOwotCQlQUklOVF9XQVJOKCJtc2dsZW4gJWQgPiBtYXhfYnVmZnNpemUgJWRcbiIsCi0JCQkgICBtc2ctPmxlbmd0aCwgY29ubi0+bWF4X2J1ZmZzaXplKTsKIAkJSVVDVl9EQkZfVEVYVF8oZGF0YSwgMiwgIm1zZ2xlbiAlZCA+IG1heF9idWZmc2l6ZSAlZFxuIiwKIAkJCSAgICAgICBtc2ctPmxlbmd0aCwgY29ubi0+bWF4X2J1ZmZzaXplKTsKIAkJcmV0dXJuOwpAQCAtNjk1LDcgKzY4Nyw2IEBACiAJCQkJICBtc2ctPmxlbmd0aCwgTlVMTCk7CiAJaWYgKHJjIHx8IG1zZy0+bGVuZ3RoIDwgNSkgewogCQlwcml2cHRyLT5zdGF0cy5yeF9lcnJvcnMrKzsKLQkJUFJJTlRfV0FSTigiaXVjdl9yZWNlaXZlIHJldHVybmVkICUwOHhcbiIsIHJjKTsKIAkJSVVDVl9EQkZfVEVYVF8oZGF0YSwgMiwgInJjICVkIGZyb20gaXVjdl9yZWNlaXZlXG4iLCByYyk7CiAJCXJldHVybjsKIAl9CkBAIC03NzgsNyArNzY5LDYgQEAKIAkJZnNtX25ld3N0YXRlKGZpLCBDT05OX1NUQVRFX0lETEUpOwogCQlpZiAocHJpdnB0cikKIAkJCXByaXZwdHItPnN0YXRzLnR4X2Vycm9ycyArPSB0eHBhY2tldHM7Ci0JCVBSSU5UX1dBUk4oIml1Y3Zfc2VuZCByZXR1cm5lZCAlMDh4XG4iLAlyYyk7CiAJCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICJyYyAlZCBmcm9tIGl1Y3Zfc2VuZFxuIiwgcmMpOwogCX0gZWxzZSB7CiAJCWlmIChwcml2cHRyKSB7CkBAIC04MDYsOCArNzk2LDYgQEAKIAlwYXRoLT5mbGFncyA9IDA7CiAJcmMgPSBpdWN2X3BhdGhfYWNjZXB0KHBhdGgsICZuZXRpdWN2X2hhbmRsZXIsIE5VTEwsIGNvbm4pOwogCWlmIChyYykgewotCQlQUklOVF9XQVJOKCIlczogSVVDViBhY2NlcHQgZmFpbGVkIHdpdGggZXJyb3IgJWRcbiIsCi0JCSAgICAgICBuZXRkZXYtPm5hbWUsIHJjKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsICJyYyAlZCBmcm9tIGl1Y3ZfYWNjZXB0IiwgcmMpOwogCQlyZXR1cm47CiAJfQpAQCAtODczLDcgKzg2MSw3IEBACiAJSVVDVl9EQkZfVEVYVCh0cmFjZSwgMywgX19mdW5jX18pOwogCiAJZnNtX25ld3N0YXRlKGZpLCBDT05OX1NUQVRFX1NUQVJUV0FJVCk7Ci0JUFJJTlRfREVCVUcoIiVzKCclcycpOiBjb25uZWN0aW5nIC4uLlxuIiwKKwlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgIiVzKCclcycpOiBjb25uZWN0aW5nIC4uLlxuIiwKIAkJICAgIGNvbm4tPm5ldGRldi0+bmFtZSwgY29ubi0+dXNlcmlkKTsKIAogCS8qCkBAIC05NjgsOCArOTU2LDggQEAKIAlzdHJ1Y3QgaXVjdl9jb25uZWN0aW9uICpjb25uID0gYXJnOwogCXN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBjb25uLT5uZXRkZXY7CiAKLQlQUklOVF9XQVJOKCIlczogQ2Fubm90IGNvbm5lY3Qgd2l0aG91dCB1c2VybmFtZVxuIiwgbmV0ZGV2LT5uYW1lKTsKLQlJVUNWX0RCRl9URVhUKGRhdGEsIDIsICJjb25uX2FjdGlvbl9pbnZhbCBjYWxsZWRcbiIpOworCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICIlcygnJXMnKTogY29ubl9hY3Rpb25faW52YWwgY2FsbGVkXG4iLAorCQluZXRkZXYtPm5hbWUsIGNvbm4tPnVzZXJpZCk7CiB9CiAKIHN0YXRpYyBjb25zdCBmc21fbm9kZSBjb25uX2ZzbVtdID0gewpAQCAtMTA3Nyw5ICsxMDY1LDYgQEAKIAkJCQkiY29ubmVjdGlvbiBpcyB1cCBhbmQgcnVubmluZ1xuIik7CiAJCQlicmVhazsKIAkJY2FzZSBERVZfU1RBVEVfU1RPUFdBSVQ6Ci0JCQlQUklOVF9JTkZPKAotCQkJICAgICAgICIlczogZ290IGNvbm5lY3Rpb24gVVAgZXZlbnQgZHVyaW5nIHNodXRkb3duIVxuIiwKLQkJCSAgICAgICBkZXYtPm5hbWUpOwogCQkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLAogCQkJCSJkZXZfYWN0aW9uX2Nvbm51cDogaW4gREVWX1NUQVRFX1NUT1BXQUlUXG4iKTsKIAkJCWJyZWFrOwpAQCAtMTE3NCw4ICsxMTU5LDYgQEAKIAkJCW5za2IgPSBhbGxvY19za2Ioc2tiLT5sZW4gKyBORVRJVUNWX0hEUkxFTiArCiAJCQkJCSBORVRJVUNWX0hEUkxFTiwgR0ZQX0FUT01JQyB8IEdGUF9ETUEpOwogCQkJaWYgKCFuc2tiKSB7Ci0JCQkJUFJJTlRfV0FSTigiJXM6IENvdWxkIG5vdCBhbGxvY2F0ZSB0eF9za2JcbiIsCi0JCQkJICAgICAgIGNvbm4tPm5ldGRldi0+bmFtZSk7CiAJCQkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAiYWxsb2Nfc2tiIGZhaWxlZFxuIik7CiAJCQkJcmMgPSAtRU5PTUVNOwogCQkJCXJldHVybiByYzsKQEAgLTEyMjMsNyArMTIwNiw2IEBACiAJCQkJc2tiX3B1bGwoc2tiLCBORVRJVUNWX0hEUkxFTik7CiAJCQkJc2tiX3RyaW0oc2tiLCBza2ItPmxlbiAtIE5FVElVQ1ZfSERSTEVOKTsKIAkJCX0KLQkJCVBSSU5UX1dBUk4oIml1Y3Zfc2VuZCByZXR1cm5lZCAlMDh4XG4iLAlyYyk7CiAJCQlJVUNWX0RCRl9URVhUXyhkYXRhLCAyLCAicmMgJWQgZnJvbSBpdWN2X3NlbmRcbiIsIHJjKTsKIAkJfSBlbHNlIHsKIAkJCWlmIChjb3BpZWQpCkBAIC0xMjkzLDE0ICsxMjc1LDExIEBACiAJICogU29tZSBzYW5pdHkgY2hlY2tzIC4uLgogCSAqLwogCWlmIChza2IgPT0gTlVMTCkgewotCQlQUklOVF9XQVJOKCIlczogTlVMTCBza19idWZmIHBhc3NlZFxuIiwgZGV2LT5uYW1lKTsKIAkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAibmV0aXVjdl90eDogc2tiIGlzIE5VTExcbiIpOwogCQlwcml2cHRyLT5zdGF0cy50eF9kcm9wcGVkKys7CiAJCXJldHVybiAwOwogCX0KIAlpZiAoc2tiX2hlYWRyb29tKHNrYikgPCBORVRJVUNWX0hEUkxFTikgewotCQlQUklOVF9XQVJOKCIlczogR290IHNrX2J1ZmYgd2l0aCBoZWFkIHJvb20gPCAlbGQgYnl0ZXNcbiIsCi0JCSAgICAgICBkZXYtPm5hbWUsIE5FVElVQ1ZfSERSTEVOKTsKIAkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLAogCQkJIm5ldGl1Y3ZfdHg6IHNrYl9oZWFkcm9vbSA8IE5FVElVQ1ZfSERSTEVOXG4iKTsKIAkJZGV2X2tmcmVlX3NrYihza2IpOwpAQCAtMTM5Myw3ICsxMzcyLDYgQEAKIAogCUlVQ1ZfREJGX1RFWFQodHJhY2UsIDMsIF9fZnVuY19fKTsKIAlpZiAoY291bnQgPiA5KSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IHVzZXJuYW1lIHRvbyBsb25nICglZCkhXG4iLCAoaW50KSBjb3VudCk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLAogCQkJICAgICAgICIlZCBpcyBsZW5ndGggb2YgdXNlcm5hbWVcbiIsIChpbnQpIGNvdW50KTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xNDA5LDcgKzEzODcsNiBAQAogCQkJLyogdHJhaWxpbmcgbGYsIGdyciAqLwogCQkJYnJlYWs7CiAJCX0KLQkJUFJJTlRfV0FSTigibmV0aXVjdjogSW52YWxpZCBjaGFyICVjIGluIHVzZXJuYW1lIVxuIiwgKnApOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSAgICAgICAidXNlcm5hbWU6IGludmFsaWQgY2hhcmFjdGVyICVjXG4iLCAqcCk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTQyMSwxOCArMTM5OCwxNSBAQAogCWlmIChtZW1jbXAodXNlcm5hbWUsIHByaXYtPmNvbm4tPnVzZXJpZCwgOSkgJiYKIAkgICAgKG5kZXYtPmZsYWdzICYgKElGRl9VUCB8IElGRl9SVU5OSU5HKSkpIHsKIAkJLyogdXNlcm5hbWUgY2hhbmdlZCB3aGlsZSB0aGUgaW50ZXJmYWNlIGlzIGFjdGl2ZS4gKi8KLQkJUFJJTlRfV0FSTigibmV0aXVjdjogZGV2aWNlICVzIGFjdGl2ZSwgY29ubmVjdGVkIHRvICVzXG4iLAotCQkJICAgZGV2LT5idXNfaWQsIHByaXYtPmNvbm4tPnVzZXJpZCk7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IHVzZXIgY2Fubm90IGJlIHVwZGF0ZWRcbiIpOwogCQlJVUNWX0RCRl9URVhUKHNldHVwLCAyLCAidXNlcl93cml0ZTogZGV2aWNlIGFjdGl2ZVxuIik7Ci0JCXJldHVybiAtRUJVU1k7CisJCXJldHVybiAtRVBFUk07CiAJfQogCXJlYWRfbG9ja19iaCgmaXVjdl9jb25uZWN0aW9uX3J3bG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjcCwgJml1Y3ZfY29ubmVjdGlvbl9saXN0LCBsaXN0KSB7CiAJCWlmICghc3RybmNtcCh1c2VybmFtZSwgY3AtPnVzZXJpZCwgOSkgJiYgY3AtPm5ldGRldiAhPSBuZGV2KSB7CiAJCQlyZWFkX3VubG9ja19iaCgmaXVjdl9jb25uZWN0aW9uX3J3bG9jayk7Ci0JCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBDb25uZWN0aW9uIHRvICVzIGFscmVhZHkgIgotCQkJCSAgICJleGlzdHNcbiIsIHVzZXJuYW1lKTsKKwkJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLCAidXNlcl93cml0ZTogQ29ubmVjdGlvbiAiCisJCQkJInRvICVzIGFscmVhZHkgZXhpc3RzXG4iLCB1c2VybmFtZSk7CiAJCQlyZXR1cm4gLUVFWElTVDsKIAkJfQogCX0KQEAgLTE0NjYsMTMgKzE0NDAsMTAgQEAKIAliczEgPSBzaW1wbGVfc3RydG91bChidWYsICZlLCAwKTsKIAogCWlmIChlICYmICghaXNzcGFjZSgqZSkpKSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IEludmFsaWQgY2hhcmFjdGVyIGluIGJ1ZmZlciFcbiIpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgImJ1ZmZlcl93cml0ZTogaW52YWxpZCBjaGFyICVjXG4iLCAqZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlpZiAoYnMxID4gTkVUSVVDVl9CVUZTSVpFX01BWCkgewotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBHaXZlbiBidWZmZXIgc2l6ZSAlZCB0b28gbGFyZ2UuXG4iLAotCQkJYnMxKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsCiAJCQkiYnVmZmVyX3dyaXRlOiBidWZmZXIgc2l6ZSAlZCB0b28gbGFyZ2VcbiIsCiAJCQliczEpOwpAQCAtMTQ4MCwxNiArMTQ1MSwxMiBAQAogCX0KIAlpZiAoKG5kZXYtPmZsYWdzICYgSUZGX1JVTk5JTkcpICYmCiAJICAgIChiczEgPCAobmRldi0+bXR1ICsgTkVUSVVDVl9IRFJMRU4gKyAyKSkpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogR2l2ZW4gYnVmZmVyIHNpemUgJWQgdG9vIHNtYWxsLlxuIiwKLQkJCWJzMSk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLAogCQkJImJ1ZmZlcl93cml0ZTogYnVmZmVyIHNpemUgJWQgdG9vIHNtYWxsXG4iLAogCQkJYnMxKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCWlmIChiczEgPCAoNTc2ICsgTkVUSVVDVl9IRFJMRU4gKyBORVRJVUNWX0hEUkxFTikpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogR2l2ZW4gYnVmZmVyIHNpemUgJWQgdG9vIHNtYWxsLlxuIiwKLQkJCWJzMSk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLAogCQkJImJ1ZmZlcl93cml0ZTogYnVmZmVyIHNpemUgJWQgdG9vIHNtYWxsXG4iLAogCQkJYnMxKTsKQEAgLTE5NjMsNyArMTkzMCw2IEBACiAKIAlJVUNWX0RCRl9URVhUKHRyYWNlLCAzLCBfX2Z1bmNfXyk7CiAJaWYgKGNvdW50PjkpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogdXNlcm5hbWUgdG9vIGxvbmcgKCVkKSFcbiIsIChpbnQpY291bnQpOwogCQlJVUNWX0RCRl9URVhUKHNldHVwLCAyLCAiY29ubl93cml0ZTogdG9vIGxvbmdcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xOTc2LDcgKzE5NDIsNiBAQAogCQlpZiAoKnAgPT0gJ1xuJykKIAkJCS8qIHRyYWlsaW5nIGxmLCBncnIgKi8KIAkJCWJyZWFrOwotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBJbnZhbGlkIGNoYXJhY3RlciBpbiB1c2VybmFtZSFcbiIpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSAgICAgICAiY29ubl93cml0ZTogaW52YWxpZCBjaGFyYWN0ZXIgJWNcbiIsICpwKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xOTg5LDggKzE5NTQsOCBAQAogCWxpc3RfZm9yX2VhY2hfZW50cnkoY3AsICZpdWN2X2Nvbm5lY3Rpb25fbGlzdCwgbGlzdCkgewogCQlpZiAoIXN0cm5jbXAodXNlcm5hbWUsIGNwLT51c2VyaWQsIDkpKSB7CiAJCQlyZWFkX3VubG9ja19iaCgmaXVjdl9jb25uZWN0aW9uX3J3bG9jayk7Ci0JCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBDb25uZWN0aW9uIHRvICVzIGFscmVhZHkgIgotCQkJCSAgICJleGlzdHNcbiIsIHVzZXJuYW1lKTsKKwkJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLCAiY29ubl93cml0ZTogQ29ubmVjdGlvbiAiCisJCQkJInRvICVzIGFscmVhZHkgZXhpc3RzXG4iLCB1c2VybmFtZSk7CiAJCQlyZXR1cm4gLUVFWElTVDsKIAkJfQogCX0KQEAgLTE5OTgsOSArMTk2Myw2IEBACiAKIAlkZXYgPSBuZXRpdWN2X2luaXRfbmV0ZGV2aWNlKHVzZXJuYW1lKTsKIAlpZiAoIWRldikgewotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBDb3VsZCBub3QgYWxsb2NhdGUgbmV0d29yayBkZXZpY2UgIgotCQkJICAgInN0cnVjdHVyZSBmb3IgdXNlciAnJXMnXG4iLAotCQkJICAgbmV0aXVjdl9wcmludG5hbWUodXNlcm5hbWUpKTsKIAkJSVVDVl9EQkZfVEVYVChzZXR1cCwgMiwgIk5VTEwgZnJvbSBuZXRpdWN2X2luaXRfbmV0ZGV2aWNlXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQpAQCAtMjAyMCwxNSArMTk4MiwxMiBAQAogCWlmIChyYykKIAkJZ290byBvdXRfdW5yZWc7CiAKLQlQUklOVF9JTkZPKCIlczogJyVzJ1xuIiwgZGV2LT5uYW1lLCBuZXRpdWN2X3ByaW50bmFtZSh1c2VybmFtZSkpOwogCiAJcmV0dXJuIGNvdW50OwogCiBvdXRfdW5yZWc6CiAJbmV0aXVjdl91bnJlZ2lzdGVyX2RldmljZShwcml2LT5kZXYpOwogb3V0X2ZyZWVfbmRldjoKLQlQUklOVF9XQVJOKCJuZXRpdWN2OiBDb3VsZCBub3QgcmVnaXN0ZXIgJyVzJ1xuIiwgZGV2LT5uYW1lKTsKLQlJVUNWX0RCRl9URVhUKHNldHVwLCAyLCAiY29ubl93cml0ZTogY291bGQgbm90IHJlZ2lzdGVyXG4iKTsKIAluZXRpdWN2X2ZyZWVfbmV0ZGV2aWNlKGRldik7CiAJcmV0dXJuIHJjOwogfQpAQCAtMjA3MywxNCArMjAzMiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUFJJTlRfV0FSTigibmV0aXVjdjogJXMgY2Fubm90IGJlIHJlbW92ZWRcbiIsCiAJCQkJICAgbmRldi0+bmFtZSk7CiAJCQlJVUNWX0RCRl9URVhUKGRhdGEsIDIsICJyZW1vdmVfd3JpdGU6IHN0aWxsIGFjdGl2ZVxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVCVVNZOworCQkJcmV0dXJuIC1FUEVSTTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgdW5yZWdpc3Rlcl9uZXRkZXYobmRldik7CiAgICAgICAgICAgICAgICAgbmV0aXVjdl91bnJlZ2lzdGVyX2RldmljZShkZXYpOwogICAgICAgICAgICAgICAgIHJldHVybiBjb3VudDsKICAgICAgICAgfQogCXJlYWRfdW5sb2NrX2JoKCZpdWN2X2Nvbm5lY3Rpb25fcndsb2NrKTsKLSAgICAgICAgUFJJTlRfV0FSTigibmV0aXVjdjogbmV0IGRldmljZSAlcyB1bmtub3duXG4iLCBuYW1lKTsKIAlJVUNWX0RCRl9URVhUKGRhdGEsIDIsICJyZW1vdmVfd3JpdGU6IHVua25vd24gZGV2aWNlXG4iKTsKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiB9CkBAIC0yMTQ4LDcgKzIxMDYsNiBAQAogCW5ldGl1Y3ZfZHJpdmVyLmdyb3VwcyA9IG5ldGl1Y3ZfZHJ2X2F0dHJfZ3JvdXBzOwogCXJjID0gZHJpdmVyX3JlZ2lzdGVyKCZuZXRpdWN2X2RyaXZlcik7CiAJaWYgKHJjKSB7Ci0JCVBSSU5UX0VSUigiTkVUSVVDVjogZmFpbGVkIHRvIHJlZ2lzdGVyIGRyaXZlci5cbiIpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgInJldCAlZCBmcm9tIGRyaXZlcl9yZWdpc3RlclxuIiwgcmMpOwogCQlnb3RvIG91dF9pdWN2OwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9jb3JlX21haW4uYyBiL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9jb3JlX21haW4uYwppbmRleCA5YTcxZGFlLi4wYWM1NGRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L3FldGhfY29yZV9tYWluLmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9xZXRoX2NvcmVfbWFpbi5jCkBAIC00MjAsNyArNDIwLDcgQEAKIAkJCQlRRVRIX0RCRl9URVhUKFRSQUNFLCAzLCAidXJsYSIpOwogCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKLQkJCQlQUklOVF9XQVJOKCJSZWNlaXZlZCBkYXRhIGlzIElQQSAiCisJCQkJUUVUSF9EQkZfTUVTU0FHRSgyLCAiUmVjZWl2ZWQgZGF0YSBpcyBJUEEgIgogCQkJCQkgICAiYnV0IG5vdCBhIHJlcGx5IVxuIik7CiAJCQkJYnJlYWs7CiAJCQl9CkBAIC03MzUsOCArNzM1LDggQEAKIAljaGFyICpzZW5zZTsKIAogCXNlbnNlID0gKGNoYXIgKikgaXJiLT5lY3c7Ci0JY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0JZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogCWlmIChjc3RhdCAmIChTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLIHwgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAogCQkgICAgIFNDSE5fU1RBVF9DSE5fREFUQV9DSEsgfCBTQ0hOX1NUQVRfQ0hBSU5fQ0hFQ0sgfApAQCAtODIzLDggKzgyMyw4IEBACiAKIAlpZiAoX19xZXRoX2NoZWNrX2lyYl9lcnJvcihjZGV2LCBpbnRwYXJtLCBpcmIpKQogCQlyZXR1cm47Ci0JY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0JZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogCWNhcmQgPSBDQVJEX0ZST01fQ0RFVihjZGV2KTsKIAlpZiAoIWNhcmQpCkBAIC04NDIsMTAgKzg0MiwxMCBAQAogCX0KIAlhdG9taWNfc2V0KCZjaGFubmVsLT5pcnFfcGVuZGluZywgMCk7CiAKLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiAoU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKQorCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiAoU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKQogCQljaGFubmVsLT5zdGF0ZSA9IENIX1NUQVRFX1NUT1BQRUQ7CiAKLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiAoU0NTV19GQ1RMX0hBTFRfRlVOQykpCisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DKSkKIAkJY2hhbm5lbC0+c3RhdGUgPSBDSF9TVEFURV9IQUxURUQ7CiAKIAkvKmxldCdzIHdha2UgdXAgaW1tZWRpYXRlbHkgb24gZGF0YSBjaGFubmVsKi8KQEAgLTQwOTIsNyArNDA5Miw2IEBACiAKIAlyYyA9IHFldGhfZGV0ZXJtaW5lX2NhcmRfdHlwZShjYXJkKTsKIAlpZiAocmMpIHsKLQkJUFJJTlRfV0FSTigiJXM6IG5vdCBhIHZhbGlkIGNhcmQgdHlwZVxuIiwgX19mdW5jX18pOwogCQlRRVRIX0RCRl9URVhUXyhTRVRVUCwgMiwgIjNlcnIlZCIsIHJjKTsKIAkJZ290byBlcnJfY2FyZDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L3FldGhfbDNfbWFpbi5jIGIvZHJpdmVycy9zMzkwL25ldC9xZXRoX2wzX21haW4uYwppbmRleCA5OTk1NTJjLi4wNmRlYWVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L3FldGhfbDNfbWFpbi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9sM19tYWluLmMKQEAgLTk0NCwxNSArOTQ0LDggQEAKIAllbHNlCiAJCXJjID0gcWV0aF9sM19zZW5kX3NldGRlbGlwKGNhcmQsIGFkZHIsIElQQV9DTURfREVMSVAsCiAJCQkJCWFkZHItPmRlbF9mbGFncyk7Ci0JaWYgKHJjKSB7CisJaWYgKHJjKQogCQlRRVRIX0RCRl9URVhUKFRSQUNFLCAyLCAiZmFpbGVkIik7Ci0JCS8qIFRPRE86IHJlLWFjdGl2YXRlIHRoaXMgd2FybmluZyBhcyBzb29uIGFzIHdlIGhhdmUgYQotCQkgKiBjbGVhbiBtaXJjbyBjb2RlCi0JCXFldGhfaXBhZGRyX3RvX3N0cmluZyhhZGRyLT5wcm90bywgKHU4ICopJmFkZHItPnUsIGJ1Zik7Ci0JCVBSSU5UX1dBUk4oIkNvdWxkIG5vdCBkZXJlZ2lzdGVyIElQIGFkZHJlc3MgJXMgKHJjPSV4KVxuIiwKLQkJCSAgIGJ1ZiwgcmMpOwotCQkqLwotCX0KIAogCXJldHVybiByYzsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvc21zZ2l1Y3YuYyBiL2RyaXZlcnMvczM5MC9uZXQvc21zZ2l1Y3YuYwppbmRleCA4NzM1YTQxLi4xNjRlMDkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L3Ntc2dpdWN2LmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9zbXNnaXVjdi5jCkBAIC0xNTYsMTEgKzE1Niw4IEBACiAJaWYgKHJjICE9IDApCiAJCWdvdG8gb3V0OwogCXJjID0gaXVjdl9yZWdpc3Rlcigmc21zZ19oYW5kbGVyLCAxKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJTTVNHSVVDVjogZmFpbGVkIHRvIHJlZ2lzdGVyIHRvIGl1Y3YiKTsKLQkJcmMgPSAtRUlPOwkvKiBiZXR0ZXIgZXJybm8gPyAqLworCWlmIChyYykKIAkJZ290byBvdXRfZHJpdmVyOwotCX0KIAlzbXNnX3BhdGggPSBpdWN2X3BhdGhfYWxsb2MoMjU1LCAwLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNtc2dfcGF0aCkgewogCQlyYyA9IC1FTk9NRU07CkBAIC0xNjgsMTEgKzE2NSw4IEBACiAJfQogCXJjID0gaXVjdl9wYXRoX2Nvbm5lY3Qoc21zZ19wYXRoLCAmc21zZ19oYW5kbGVyLCAiKk1TRyAgICAiLAogCQkJICAgICAgIE5VTEwsIE5VTEwsIE5VTEwpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgIlNNU0dJVUNWOiBmYWlsZWQgdG8gY29ubmVjdCB0byAqTVNHIik7Ci0JCXJjID0gLUVJTzsJLyogYmV0dGVyIGVycm5vID8gKi8KKwlpZiAocmMpCiAJCWdvdG8gb3V0X2ZyZWU7Ci0JfQogCWNwY21kKCJTRVQgU01TRyBJVUNWIiwgTlVMTCwgMCwgTlVMTCk7CiAJcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5jIGIvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmMKaW5kZXggNWJmYmU3Ni4uODM0ZTllZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmMKKysrIGIvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmMKQEAgLTIsMTAgKzIsMTAgQEAKICAqICBkcml2ZXJzL3MzOTAvczM5MG1hY2guYwogICogICBTLzM5MCBtYWNoaW5lIGNoZWNrIGhhbmRsZXIKICAqCi0gKiAgUzM5MCB2ZXJzaW9uCi0gKiAgICBDb3B5cmlnaHQgKEMpIDIwMDAgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsIElCTSBDb3Jwb3JhdGlvbgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDAwLDIwMDgKICAqICAgIEF1dGhvcihzKTogSW5nbyBBZGx1bmcgKGFkbHVuZ0BkZS5pYm0uY29tKQogICoJCSBNYXJ0aW4gU2Nod2lkZWZza3kgKHNjaHdpZGVmc2t5QGRlLmlibS5jb20pCisgKgkJIENvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMTgsMTAgKzE4LDYgQEAKICNpbmNsdWRlIDxhc20vZXRyLmg+CiAjaW5jbHVkZSA8YXNtL2xvd2NvcmUuaD4KICNpbmNsdWRlIDxhc20vY2lvLmg+Ci0jaW5jbHVkZSAiY2lvL2Npby5oIgotI2luY2x1ZGUgImNpby9jaHNjLmgiCi0jaW5jbHVkZSAiY2lvL2Nzcy5oIgotI2luY2x1ZGUgImNpby9jaHAuaCIKICNpbmNsdWRlICJzMzkwbWFjaC5oIgogCiBzdGF0aWMgc3RydWN0IHNlbWFwaG9yZSBtX3NlbTsKQEAgLTM2LDEzICszMiw0MCBAQAogCWZvcig7Oyk7CiB9CiAKK3N0YXRpYyBjcndfaGFuZGxlcl90IGNyd19oYW5kbGVyc1tOUl9SU0NTXTsKKworLyoqCisgKiBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKCkgLSByZWdpc3RlciBhIGNoYW5uZWwgcmVwb3J0IHdvcmQgaGFuZGxlcgorICogQHJzYzogcmVwb3J0aW5nIHNvdXJjZSBjb2RlIHRvIGhhbmRsZQorICogQGhhbmRsZXI6IGhhbmRsZXIgdG8gYmUgcmVnaXN0ZXJlZAorICoKKyAqIFJldHVybnMgJTAgb24gc3VjY2VzcyBhbmQgYSBuZWdhdGl2ZSBlcnJvciB2YWx1ZSBvdGhlcndpc2UuCisgKi8KK2ludCBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKGludCByc2MsIGNyd19oYW5kbGVyX3QgaGFuZGxlcikKK3sKKwlpZiAoKHJzYyA8IDApIHx8IChyc2MgPj0gTlJfUlNDUykpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghY21weGNoZygmY3J3X2hhbmRsZXJzW3JzY10sIE5VTEwsIGhhbmRsZXIpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gLUVCVVNZOworfQorCisvKioKKyAqIHMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcigpIC0gdW5yZWdpc3RlciBhIGNoYW5uZWwgcmVwb3J0IHdvcmQgaGFuZGxlcgorICogQHJzYzogcmVwb3J0aW5nIHNvdXJjZSBjb2RlIHRvIGhhbmRsZQorICovCit2b2lkIHMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcihpbnQgcnNjKQoreworCWlmICgocnNjIDwgMCkgfHwgKHJzYyA+PSBOUl9SU0NTKSkKKwkJcmV0dXJuOworCXhjaGcoJmNyd19oYW5kbGVyc1tyc2NdLCBOVUxMKTsKKwlzeW5jaHJvbml6ZV9zY2hlZCgpOworfQorCiAvKgogICogUmV0cmlldmUgQ1JXcyBhbmQgY2FsbCBmdW5jdGlvbiB0byBoYW5kbGUgZXZlbnQuCi0gKgotICogTm90ZSA6IHdlIGN1cnJlbnRseSBwcm9jZXNzIENSV3MgZm9yIGlvIGFuZCBjaHNjIHN1YmNoYW5uZWxzIG9ubHkKICAqLwotc3RhdGljIGludAotczM5MF9jb2xsZWN0X2Nyd19pbmZvKHZvaWQgKnBhcmFtKQorc3RhdGljIGludCBzMzkwX2NvbGxlY3RfY3J3X2luZm8odm9pZCAqcGFyYW0pCiB7CiAJc3RydWN0IGNydyBjcndbMl07CiAJaW50IGNjb2RlOwpAQCAtODQsNTcgKzEwNywyNCBAQAogCQkgICAgICAgY3J3W2NoYWluXS5yc2lkKTsKIAkJLyogQ2hlY2sgZm9yIG92ZXJmbG93cy4gKi8KIAkJaWYgKGNyd1tjaGFpbl0ub2ZsdykgeworCQkJaW50IGk7CisKIAkJCXByX2RlYnVnKCIlczogY3J3IG92ZXJmbG93IGRldGVjdGVkIVxuIiwgX19mdW5jX18pOwotCQkJY3NzX3NjaGVkdWxlX2V2YWxfYWxsKCk7CisJCQlmb3IgKGkgPSAwOyBpIDwgTlJfUlNDUzsgaSsrKSB7CisJCQkJaWYgKGNyd19oYW5kbGVyc1tpXSkKKwkJCQkJY3J3X2hhbmRsZXJzW2ldKE5VTEwsIE5VTEwsIDEpOworCQkJfQogCQkJY2hhaW4gPSAwOwogCQkJY29udGludWU7CiAJCX0KLQkJc3dpdGNoIChjcndbY2hhaW5dLnJzYykgewotCQljYXNlIENSV19SU0NfU0NIOgotCQkJaWYgKGNyd1swXS5jaG4gJiYgIWNoYWluKQotCQkJCWJyZWFrOwotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBzdWJjaGFubmVsICUwNFhcbiIsIGNyd1swXS5yc2lkKTsKLQkJCWNzc19wcm9jZXNzX2NydyhjcndbMF0ucnNpZCwgY2hhaW4gPyBjcndbMV0ucnNpZCA6IDApOwotCQkJYnJlYWs7Ci0JCWNhc2UgQ1JXX1JTQ19NT05JVE9SOgotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBtb25pdG9yaW5nIGZhY2lsaXR5XG4iKTsKLQkJCWJyZWFrOwotCQljYXNlIENSV19SU0NfQ1BBVEg6Ci0JCQlwcl9kZWJ1Zygic291cmNlIGlzIGNoYW5uZWwgcGF0aCAlMDJYXG4iLCBjcndbMF0ucnNpZCk7Ci0JCQkvKgotCQkJICogQ2hlY2sgZm9yIHNvbGljaXRlZCBtYWNoaW5lIGNoZWNrcy4gVGhlc2UgYXJlCi0JCQkgKiBjcmVhdGVkIGJ5IHJlc2V0IGNoYW5uZWwgcGF0aCBhbmQgbmVlZCBub3QgYmUKLQkJCSAqIHJlcG9ydGVkIHRvIHRoZSBjb21tb24gSS9PIGxheWVyLgotCQkJICovCi0JCQlpZiAoY3J3W2NoYWluXS5zbGN0KSB7Ci0JCQkJcHJfZGVidWcoInNvbGljaXRlZCBtYWNoaW5lIGNoZWNrIGZvciAiCi0JCQkJCSAiY2hhbm5lbCBwYXRoICUwMlhcbiIsIGNyd1swXS5yc2lkKTsKLQkJCQlicmVhazsKLQkJCX0KLQkJCXN3aXRjaCAoY3J3WzBdLmVyYykgewotCQkJY2FzZSBDUldfRVJDX0lQQVJNOiAvKiBQYXRoIGhhcyBjb21lLiAqLwotCQkJCWNocF9wcm9jZXNzX2NydyhjcndbMF0ucnNpZCwgMSk7Ci0JCQkJYnJlYWs7Ci0JCQljYXNlIENSV19FUkNfUEVSUkk6IC8qIFBhdGggaGFzIGdvbmUuICovCi0JCQljYXNlIENSV19FUkNfUEVSUk46Ci0JCQkJY2hwX3Byb2Nlc3NfY3J3KGNyd1swXS5yc2lkLCAwKTsKLQkJCQlicmVhazsKLQkJCWRlZmF1bHQ6Ci0JCQkJcHJfZGVidWcoIkRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBlcmM9JXhcbiIsCi0JCQkJCSBjcndbMF0uZXJjKTsKLQkJCX0KLQkJCWJyZWFrOwotCQljYXNlIENSV19SU0NfQ09ORklHOgotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBjb25maWd1cmF0aW9uLWFsZXJ0IGZhY2lsaXR5XG4iKTsKLQkJCWJyZWFrOwotCQljYXNlIENSV19SU0NfQ1NTOgotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBjaGFubmVsIHN1YnN5c3RlbVxuIik7Ci0JCQljaHNjX3Byb2Nlc3NfY3J3KCk7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCXByX2RlYnVnKCJ1bmtub3duIHNvdXJjZVxuIik7Ci0JCQlicmVhazsKKwkJaWYgKGNyd1swXS5jaG4gJiYgIWNoYWluKSB7CisJCQljaGFpbisrOworCQkJY29udGludWU7CiAJCX0KKwkJaWYgKGNyd19oYW5kbGVyc1tjcndbY2hhaW5dLnJzY10pCisJCQljcndfaGFuZGxlcnNbY3J3W2NoYWluXS5yc2NdKCZjcndbMF0sCisJCQkJCQkgICAgIGNoYWluID8gJmNyd1sxXSA6IE5VTEwsCisJCQkJCQkgICAgIDApOwogCQkvKiBjaGFpbiBpcyBhbHdheXMgMCBvciAxIGhlcmUuICovCiAJCWNoYWluID0gY3J3W2NoYWluXS5jaG4gPyBjaGFpbiArIDEgOiAwOwogCX0KQEAgLTQ2OCw2ICs0NTgsMTAgQEAKIAkJCWV0cl9zeW5jX2NoZWNrKCk7CiAJCWlmIChTMzkwX2xvd2NvcmUuZXh0ZXJuYWxfZGFtYWdlX2NvZGUgJiAoMVUgPDwgRURfRVRSX1NXSVRDSCkpCiAJCQlldHJfc3dpdGNoX3RvX2xvY2FsKCk7CisJCWlmIChTMzkwX2xvd2NvcmUuZXh0ZXJuYWxfZGFtYWdlX2NvZGUgJiAoMVUgPDwgRURfU1RQX1NZTkMpKQorCQkJc3RwX3N5bmNfY2hlY2soKTsKKwkJaWYgKFMzOTBfbG93Y29yZS5leHRlcm5hbF9kYW1hZ2VfY29kZSAmICgxVSA8PCBFRF9TVFBfSVNMQU5EKSkKKwkJCXN0cF9pc2xhbmRfY2hlY2soKTsKIAl9CiAKIAlpZiAobWNpLT5zZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5oIGIvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmgKaW5kZXggY2E2ODFmOS4uZDM5ZjhiNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmgKKysrIGIvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmgKQEAgLTcyLDYgKzcyLDEzIEBACiAJX191MzIgcnNpZCAgICA6IDE2OyAgIC8qIHJlcG9ydGluZy1zb3VyY2UgSUQgKi8KIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCit0eXBlZGVmIHZvaWQgKCpjcndfaGFuZGxlcl90KShzdHJ1Y3QgY3J3ICosIHN0cnVjdCBjcncgKiwgaW50KTsKKworZXh0ZXJuIGludCBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKGludCByc2MsIGNyd19oYW5kbGVyX3QgaGFuZGxlcik7CitleHRlcm4gdm9pZCBzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoaW50IHJzYyk7CisKKyNkZWZpbmUgTlJfUlNDUyAxNgorCiAjZGVmaW5lIENSV19SU0NfTU9OSVRPUiAgMHgyICAvKiBtb25pdG9yaW5nIGZhY2lsaXR5ICovCiAjZGVmaW5lIENSV19SU0NfU0NIICAgICAgMHgzICAvKiBzdWJjaGFubmVsICovCiAjZGVmaW5lIENSV19SU0NfQ1BBVEggICAgMHg0ICAvKiBjaGFubmVsIHBhdGggKi8KQEAgLTEwNSw2ICsxMTIsOSBAQAogI2RlZmluZSBFRF9FVFJfU1lOQwkxMgkvKiBFeHRlcm5hbCBkYW1hZ2UgRVRSIHN5bmMgY2hlY2sgKi8KICNkZWZpbmUgRURfRVRSX1NXSVRDSAkxMwkvKiBFeHRlcm5hbCBkYW1hZ2UgRVRSIHN3aXRjaCB0byBsb2NhbCAqLwogCisjZGVmaW5lIEVEX1NUUF9TWU5DCTcJLyogRXh0ZXJuYWwgZGFtYWdlIFNUUCBzeW5jIGNoZWNrICovCisjZGVmaW5lIEVEX1NUUF9JU0xBTkQJNgkvKiBFeHRlcm5hbCBkYW1hZ2UgU1RQIGlzbGFuZCBjaGVjayAqLworCiBzdHJ1Y3QgcHRfcmVnczsKIAogdm9pZCBzMzkwX2hhbmRsZV9tY2NrKHZvaWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvYnBwLmMgYi9kcml2ZXJzL3NidXMvY2hhci9icHAuYwppbmRleCAwM2M5NjYwLi5iYmEyMWUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9icHAuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9icHAuYwpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTQyOSw2ICs0MzAsNyBAQAogICAgICAgdW5zaWduZWQgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogICAgICAgaW50IHJldDsKIAorICAgICAgbG9ja19rZXJuZWwoKTsKICAgICAgIHNwaW5fbG9jaygmYnBwX29wZW5fbG9jayk7CiAgICAgICByZXQgPSAwOwogICAgICAgaWYgKG1pbm9yID49IEJQUF9OTykgewpAQCAtNDQ0LDYgKzQ0Niw3IEBACiAJICAgICAgfQogICAgICAgfQogICAgICAgc3Bpbl91bmxvY2soJmJwcF9vcGVuX2xvY2spOworICAgICAgdW5sb2NrX2tlcm5lbCgpOwogCiAgICAgICByZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvY3B3YXRjaGRvZy5jIGIvZHJpdmVycy9zYnVzL2NoYXIvY3B3YXRjaGRvZy5jCmluZGV4IDIzNTcwMzQuLjIzYWJmZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL2Nwd2F0Y2hkb2cuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9jcHdhdGNoZG9nLmMKQEAgLTI3OSw2ICsyNzksNyBAQAogCiBzdGF0aWMgaW50IHdkX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmYpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzd2l0Y2goaW1pbm9yKGlub2RlKSkKIAl7CiAJCWNhc2UgV0QwX01JTk9SOgpAQCAtMjkxLDYgKzI5Miw3IEBACiAJCQlmLT5wcml2YXRlX2RhdGEgPSAmd2RfZGV2LndhdGNoZG9nW1dEMl9JRF07CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybigtRU5PREVWKTsKIAl9CiAKQEAgLTMwNCwxMSArMzA2LDEzIEBACiAJCQkJCQkodm9pZCAqKXdkX2Rldi5yZWdzKSkgewogCQkJcHJpbnRrKCIlczogQ2Fubm90IHJlZ2lzdGVyIElSUSAlZFxuIiwgCiAJCQkJV0RfT0JQTkFNRSwgd2RfZGV2LmlycSk7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4oLUVCVVNZKTsKIAkJfQogCQl3ZF9kZXYuaW5pdGlhbGl6ZWQgPSAxOwogCX0KIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4obm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZikpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9kaXNwbGF5N3NlZy5jIGIvZHJpdmVycy9zYnVzL2NoYXIvZGlzcGxheTdzZWcuYwppbmRleCAzMjc5YTFiLi5kOGY1YzBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9kaXNwbGF5N3NlZy5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL2Rpc3BsYXk3c2VnLmMKQEAgLTk0LDYgKzk0LDcgQEAKIHsKIAlpZiAoRDdTX01JTk9SICE9IGltaW5vcihpbm9kZSkpCiAJCXJldHVybiAtRU5PREVWOworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJYXRvbWljX2luYygmZDdzX3VzZXJzKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2VudmN0cmwuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL2VudmN0cmwuYwppbmRleCBkYWRhYmVmLi5hNDA4NDAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9lbnZjdHJsLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvZW52Y3RybC5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2VidXMuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtNjk0LDYgKzY5NSw3IEBACiBzdGF0aWMgaW50CiBlbnZjdHJsX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBOVUxMOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvZmxhc2guYyBiL2RyaXZlcnMvc2J1cy9jaGFyL2ZsYXNoLmMKaW5kZXggNDRlMDM5OC4uN2Q5NWUxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvZmxhc2guYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9mbGFzaC5jCkBAIC0xMjcsOSArMTI3LDEzIEBACiBzdGF0aWMgaW50CiBmbGFzaF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICh2b2lkICopJmZsYXNoLmJ1c3kpICE9IDApCisJbG9ja19rZXJuZWwoKTsKKwlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAodm9pZCAqKSZmbGFzaC5idXN5KSAhPSAwKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2pzZmxhc2guYyBiL2RyaXZlcnMvc2J1cy9jaGFyL2pzZmxhc2guYwppbmRleCA0YjcwNzlmLi4yYmVjOWNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9qc2ZsYXNoLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvanNmbGFzaC5jCkBAIC0yNyw2ICsyNyw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTQxNywxMSArNDE4LDE3IEBACiAKIHN0YXRpYyBpbnQganNmX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKIHsKLQotCWlmIChqc2YwLmJhc2UgPT0gMCkgcmV0dXJuIC1FTlhJTzsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAodm9pZCAqKSZqc2YwLmJ1c3kpICE9IDApCisJbG9ja19rZXJuZWwoKTsKKwlpZiAoanNmMC5iYXNlID09IDApIHsKKwkJdW5sb2NrX2tlcm5lbCgpOworCQlyZXR1cm4gLUVOWElPOworCX0KKwlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAodm9pZCAqKSZqc2YwLmJ1c3kpICE9IDApIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsJLyogWFhYIFdoYXQgc2VjdXJpdHk/ICovCiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL29wZW5wcm9tLmMgYi9kcml2ZXJzL3NidXMvY2hhci9vcGVucHJvbS5jCmluZGV4IGZiZmViODkuLjI5ZGM3MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL29wZW5wcm9tLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvb3BlbnByb20uYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTY4OSw5ICs2OTAsMTEgQEAKIAlpZiAoIWRhdGEpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlkYXRhLT5jdXJyZW50X25vZGUgPSBvZl9maW5kX25vZGVfYnlfcGF0aCgiLyIpOwogCWRhdGEtPmxhc3Rub2RlID0gZGF0YS0+Y3VycmVudF9ub2RlOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9ICh2b2lkICopIGRhdGE7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9yaW93YXRjaGRvZy5jIGIvZHJpdmVycy9zYnVzL2NoYXIvcmlvd2F0Y2hkb2cuYwppbmRleCBhMmZjNmI4Li44OGMwZmM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9yaW93YXRjaGRvZy5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL3Jpb3dhdGNoZG9nLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9lYnVzLmg+CkBAIC0xMTYsNiArMTE3LDcgQEAKIAogc3RhdGljIGludCByaW93ZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9ydGMuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL3J0Yy5jCmluZGV4IDE4ZDE4ZjEuLmIwNDI5OTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL3J0Yy5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL3J0Yy5jCkBAIC0xMiw2ICsxMiw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTIxMyw2ICsyMTQsNyBAQAogewogCWludCByZXQ7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJm1vc3Rla19sb2NrKTsKIAlpZiAocnRjX2J1c3kpIHsKIAkJcmV0ID0gLUVCVVNZOwpAQCAtMjIxLDYgKzIyMyw3IEBACiAJCXJldCA9IDA7CiAJfQogCXNwaW5fdW5sb2NrX2lycSgmbW9zdGVrX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci91Y3RybC5jIGIvZHJpdmVycy9zYnVzL2NoYXIvdWN0cmwuYwppbmRleCAzODNmMzJjLi41MTNiYTYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci91Y3RybC5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL3VjdHJsLmMKQEAgLTksNiArOSw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMjExLDggKzIxMiwxMCBAQAogc3RhdGljIGludAogdWN0cmxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXVjdHJsX2dldF9ldmVudF9zdGF0dXMoKTsKIAl1Y3RybF9nZXRfZXh0ZXJuYWxfc3RhdHVzKCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci92ZmNfZGV2LmMgYi9kcml2ZXJzL3NidXMvY2hhci92ZmNfZGV2LmMKaW5kZXggZDRmOGZjZC4uMWY2Y2I4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvdmZjX2Rldi5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL3ZmY19kZXYuYwpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vb3BlbnByb20uaD4KICNpbmNsdWRlIDxhc20vb3BsaWIuaD4KQEAgLTE3OCwxNCArMTc5LDE3IEBACiB7CiAJc3RydWN0IHZmY19kZXYgKmRldjsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZ2ZmNfZGV2X2xvY2spOwogCWRldiA9IHZmY19nZXRfZGV2X3B0cihpbWlub3IoaW5vZGUpKTsKIAlpZiAoZGV2ID09IE5VTEwpIHsKIAkJc3Bpbl91bmxvY2soJnZmY19kZXZfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCWlmIChkZXYtPmJ1c3kpIHsKIAkJc3Bpbl91bmxvY2soJnZmY19kZXZfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKQEAgLTIwMiw2ICsyMDYsNyBAQAogCXZmY19jYXB0c3RhdF9yZXNldChkZXYpOwogCQogCXZmY191bmxvY2tfZGV2aWNlKGRldik7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvM3ctOXh4eC5jIGIvZHJpdmVycy9zY3NpLzN3LTl4eHguYwppbmRleCA4NjdmNmZkLi43MDQ1NTExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvM3ctOXh4eC5jCisrKyBiL2RyaXZlcnMvc2NzaS8zdy05eHh4LmMKQEAgLTg0LDYgKzg0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC90aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtODYyLDExICs4NjMsMTMgQEAKIH0gLyogRW5kIHR3YV9jaHJkZXZfaW9jdGwoKSAqLwogCiAvKiBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgb3BlbiBmb3IgdGhlIGNoYXJhY3RlciBkZXZpY2UgKi8KKy8qIE5PVEUgdGhhdCB0aGlzIGZ1bmN0aW9uIHdpbGwgcmFjZSB3aXRoIHJlbW92ZS4gKi8KIHN0YXRpYyBpbnQgdHdhX2NocmRldl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXVuc2lnbmVkIGludCBtaW5vcl9udW1iZXI7CiAJaW50IHJldHZhbCA9IFRXX0lPQ1RMX0VSUk9SX09TX0VOT0RFVjsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJbWlub3JfbnVtYmVyID0gaW1pbm9yKGlub2RlKTsKIAlpZiAobWlub3JfbnVtYmVyID49IHR3YV9kZXZpY2VfZXh0ZW5zaW9uX2NvdW50KQogCQlnb3RvIG91dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS8zdy14eHh4LmMgYi9kcml2ZXJzL3Njc2kvM3cteHh4eC5jCmluZGV4IDhjMjIzMjkuLmEwNTM3ZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS8zdy14eHh4LmMKKysrIGIvZHJpdmVycy9zY3NpLzN3LXh4eHguYwpAQCAtMTk4LDYgKzE5OCw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KQEAgLTEwMjcsMTAgKzEwMjgsMTIgQEAKIH0gLyogRW5kIHR3X2NocmRldl9pb2N0bCgpICovCiAKIC8qIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBvcGVuIGZvciB0aGUgY2hhcmFjdGVyIGRldmljZSAqLworLyogTk9URSB0aGF0IHRoaXMgZnVuY3Rpb24gcmFjZXMgd2l0aCByZW1vdmUuICovCiBzdGF0aWMgaW50IHR3X2NocmRldl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXVuc2lnbmVkIGludCBtaW5vcl9udW1iZXI7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWRwcmludGsoS0VSTl9XQVJOSU5HICIzdy14eHh4OiB0d19pb2N0bF9vcGVuKClcbiIpOwogCiAJbWlub3JfbnVtYmVyID0gaW1pbm9yKGlub2RlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hMTAwdTJ3LmMgYi9kcml2ZXJzL3Njc2kvYTEwMHUydy5jCmluZGV4IGNlZDNlZWIuLjg0YmI2MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hMTAwdTJ3LmMKKysrIGIvZHJpdmVycy9zY3NpL2ExMDB1MncuYwpAQCAtMzg5LDcgKzM4OSw3IEBACiAKIAlvdXRiKFBSR01SU1QgfCBET1dOTE9BRCwgaG9zdC0+YmFzZSArIE9SQ19SSVNDQ1RMKTsJLyogRW5hYmxlIFNSQU0gcHJvZ3JhbW1pbmcgKi8KIAlkYXRhMzJfcHRyID0gKHU4ICopICYgZGF0YTMyOwotCWRhdGEzMiA9IDA7CQkvKiBJbml0aWFsIEZXIGFkZHJlc3MgdG8gMCAqLworCWRhdGEzMiA9IGNwdV90b19sZTMyKDApOwkJLyogSW5pdGlhbCBGVyBhZGRyZXNzIHRvIDAgKi8KIAlvdXR3KDB4MDAxMCwgaG9zdC0+YmFzZSArIE9SQ19FQklPU0FEUjApOwogCSpkYXRhMzJfcHRyID0gaW5iKGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NEQVRBKTsJCS8qIFJlYWQgZnJvbSBCSU9TICovCiAJb3V0dygweDAwMTEsIGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NBRFIwKTsKQEAgLTM5NywxOCArMzk3LDE5IEBACiAJb3V0dygweDAwMTIsIGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NBRFIwKTsKIAkqKGRhdGEzMl9wdHIgKyAyKSA9IGluYihob3N0LT5iYXNlICsgT1JDX0VCSU9TREFUQSk7CS8qIFJlYWQgZnJvbSBCSU9TICovCiAJb3V0dygqKGRhdGEzMl9wdHIgKyAyKSwgaG9zdC0+YmFzZSArIE9SQ19FQklPU0FEUjIpOwotCW91dGwoZGF0YTMyLCBob3N0LT5iYXNlICsgT1JDX0ZXQkFTRUFEUik7CQkvKiBXcml0ZSBGVyBhZGRyZXNzICovCisJb3V0bChsZTMyX3RvX2NwdShkYXRhMzIpLCBob3N0LT5iYXNlICsgT1JDX0ZXQkFTRUFEUik7CQkvKiBXcml0ZSBGVyBhZGRyZXNzICovCiAKIAkvKiBDb3B5IHRoZSBjb2RlIGZyb20gdGhlIEJJT1MgdG8gdGhlIFNSQU0gKi8KIAotCWJpb3NfYWRkciA9ICh1MTYpIGRhdGEzMjsJLyogRlcgY29kZSBsb2NhdGUgYXQgQklPUyBhZGRyZXNzICsgPyAqLworCXVkZWxheSg1MDApOwkvKiBSZXF1aXJlZCBvbiBTdW4gVWx0cmEgNSAuLi4gMzUwIC0+IGZhaWx1cmVzICovCisJYmlvc19hZGRyID0gKHUxNikgbGUzMl90b19jcHUoZGF0YTMyKTsJLyogRlcgY29kZSBsb2NhdGUgYXQgQklPUyBhZGRyZXNzICsgPyAqLwogCWZvciAoaSA9IDAsIGRhdGEzMl9wdHIgPSAodTggKikgJiBkYXRhMzI7CS8qIERvd25sb2FkIHRoZSBjb2RlICAgICovCiAJICAgICBpIDwgMHgxMDAwOwkvKiBGaXJtd2FyZSBjb2RlIHNpemUgPSA0SyAgICAgICovCiAJICAgICBpKyssIGJpb3NfYWRkcisrKSB7CiAJCW91dHcoYmlvc19hZGRyLCBob3N0LT5iYXNlICsgT1JDX0VCSU9TQURSMCk7CiAJCSpkYXRhMzJfcHRyKysgPSBpbmIoaG9zdC0+YmFzZSArIE9SQ19FQklPU0RBVEEpOwkvKiBSZWFkIGZyb20gQklPUyAqLwogCQlpZiAoKGkgJSA0KSA9PSAzKSB7Ci0JCQlvdXRsKGRhdGEzMiwgaG9zdC0+YmFzZSArIE9SQ19SSVNDUkFNKTsJLyogV3JpdGUgZXZlcnkgNCBieXRlcyAqLworCQkJb3V0bChsZTMyX3RvX2NwdShkYXRhMzIpLCBob3N0LT5iYXNlICsgT1JDX1JJU0NSQU0pOwkvKiBXcml0ZSBldmVyeSA0IGJ5dGVzICovCiAJCQlkYXRhMzJfcHRyID0gKHU4ICopICYgZGF0YTMyOwogCQl9CiAJfQpAQCAtNDIzLDcgKzQyNCw3IEBACiAJCW91dHcoYmlvc19hZGRyLCBob3N0LT5iYXNlICsgT1JDX0VCSU9TQURSMCk7CiAJCSpkYXRhMzJfcHRyKysgPSBpbmIoaG9zdC0+YmFzZSArIE9SQ19FQklPU0RBVEEpOwkvKiBSZWFkIGZyb20gQklPUyAqLwogCQlpZiAoKGkgJSA0KSA9PSAzKSB7Ci0JCQlpZiAoaW5sKGhvc3QtPmJhc2UgKyBPUkNfUklTQ1JBTSkgIT0gZGF0YTMyKSB7CisJCQlpZiAoaW5sKGhvc3QtPmJhc2UgKyBPUkNfUklTQ1JBTSkgIT0gbGUzMl90b19jcHUoZGF0YTMyKSkgewogCQkJCW91dGIoUFJHTVJTVCwgaG9zdC0+YmFzZSArIE9SQ19SSVNDQ1RMKTsJLyogUmVzZXQgcHJvZ3JhbSB0byAwICovCiAJCQkJb3V0YihkYXRhLCBob3N0LT5iYXNlICsgT1JDX0dDRkcpOwkvKkRpc2FibGUgRUVQUk9NIHByb2dyYW1taW5nICovCiAJCQkJcmV0dXJuIDA7CkBAIC00NTksOCArNDYwLDggQEAKIAogCWZvciAoaSA9IDA7IGkgPCBPUkNfTUFYUVVFVUU7IGkrKykgewogCQllc2NiX3BoeXMgPSAoaG9zdC0+ZXNjYl9waHlzICsgKHNpemVvZihzdHJ1Y3Qgb3JjX2V4dGVuZGVkX3NjYikgKiBpKSk7Ci0JCXNjYi0+c2dfYWRkciA9ICh1MzIpIGVzY2JfcGh5czsKLQkJc2NiLT5zZW5zZV9hZGRyID0gKHUzMikgZXNjYl9waHlzOworCQlzY2ItPnNnX2FkZHIgPSBjcHVfdG9fbGUzMigodTMyKSBlc2NiX3BoeXMpOworCQlzY2ItPnNlbnNlX2FkZHIgPSBjcHVfdG9fbGUzMigodTMyKSBlc2NiX3BoeXMpOwogCQlzY2ItPmVzY2IgPSBlc2NiOwogCQlzY2ItPnNjYmlkeCA9IGk7CiAJCXNjYisrOwpAQCAtNjQyLDggKzY0Myw4IEBACiAJc2NiLT5saW5rID0gMHhGRjsKIAlzY2ItPnJlc2VydmVkMCA9IDA7CiAJc2NiLT5yZXNlcnZlZDEgPSAwOwotCXNjYi0+eGZlcmxlbiA9IDA7Ci0Jc2NiLT5zZ19sZW4gPSAwOworCXNjYi0+eGZlcmxlbiA9IGNwdV90b19sZTMyKDApOworCXNjYi0+c2dfbGVuID0gY3B1X3RvX2xlMzIoMCk7CiAKIAllc2NiLT5zcmIgPSBOVUxMOwogCWVzY2ItPnNyYiA9IGNtZDsKQEAgLTgzOSw3ICs4NDAsNyBAQAogICoJQnVpbGQgYSBob3N0IGFkYXB0ZXIgY29udHJvbCBibG9jayBmcm9tIHRoZSBTQ1NJIG1pZCBsYXllciBjb21tYW5kCiAgKi8KIAotc3RhdGljIHZvaWQgaW5pYTEwMF9idWlsZF9zY2Ioc3RydWN0IG9yY19ob3N0ICogaG9zdCwgc3RydWN0IG9yY19zY2IgKiBzY2IsIHN0cnVjdCBzY3NpX2NtbmQgKiBjbWQpCitzdGF0aWMgaW50IGluaWExMDBfYnVpbGRfc2NiKHN0cnVjdCBvcmNfaG9zdCAqIGhvc3QsIHN0cnVjdCBvcmNfc2NiICogc2NiLCBzdHJ1Y3Qgc2NzaV9jbW5kICogY21kKQogewkJCQkvKiBDcmVhdGUgY29ycmVzcG9uZGluZyBTQ0IgICAgICovCiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKIAlzdHJ1Y3Qgb3JjX3NnZW50ICpzZ2VudDsJCS8qIFBvaW50ZXIgdG8gU0cgbGlzdCAgICAgICAgICAgKi8KQEAgLTg1OCwyOCArODU5LDMwIEBACiAJc2NiLT5sdW4gPSBjbWQtPmRldmljZS0+bHVuOwogCXNjYi0+cmVzZXJ2ZWQwID0gMDsKIAlzY2ItPnJlc2VydmVkMSA9IDA7Ci0Jc2NiLT5zZ19sZW4gPSAwOworCXNjYi0+c2dfbGVuID0gY3B1X3RvX2xlMzIoMCk7CiAKLQlzY2ItPnhmZXJsZW4gPSAodTMyKSBzY3NpX2J1ZmZsZW4oY21kKTsKKwlzY2ItPnhmZXJsZW4gPSBjcHVfdG9fbGUzMigodTMyKSBzY3NpX2J1ZmZsZW4oY21kKSk7CiAJc2dlbnQgPSAoc3RydWN0IG9yY19zZ2VudCAqKSAmIGVzY2ItPnNnbGlzdFswXTsKIAogCWNvdW50X3NnID0gc2NzaV9kbWFfbWFwKGNtZCk7Ci0JQlVHX09OKGNvdW50X3NnIDwgMCk7CisJaWYgKGNvdW50X3NnIDwgMCkKKwkJcmV0dXJuIGNvdW50X3NnOworCUJVR19PTihjb3VudF9zZyA+IFRPVEFMX1NHX0VOVFJZKTsKIAogCS8qIEJ1aWxkIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0cyAqLwogCWlmIChjb3VudF9zZykgewotCQlzY2ItPnNnX2xlbiA9ICh1MzIpIChjb3VudF9zZyAqIDgpOworCQlzY2ItPnNnX2xlbiA9IGNwdV90b19sZTMyKCh1MzIpIChjb3VudF9zZyAqIDgpKTsKIAkJc2NzaV9mb3JfZWFjaF9zZyhjbWQsIHNnLCBjb3VudF9zZywgaSkgewotCQkJc2dlbnQtPmJhc2UgPSAodTMyKSBzZ19kbWFfYWRkcmVzcyhzZyk7Ci0JCQlzZ2VudC0+bGVuZ3RoID0gKHUzMikgc2dfZG1hX2xlbihzZyk7CisJCQlzZ2VudC0+YmFzZSA9IGNwdV90b19sZTMyKCh1MzIpIHNnX2RtYV9hZGRyZXNzKHNnKSk7CisJCQlzZ2VudC0+bGVuZ3RoID0gY3B1X3RvX2xlMzIoKHUzMikgc2dfZG1hX2xlbihzZykpOwogCQkJc2dlbnQrKzsKIAkJfQogCX0gZWxzZSB7Ci0JCXNjYi0+c2dfbGVuID0gMDsKLQkJc2dlbnQtPmJhc2UgPSAwOwotCQlzZ2VudC0+bGVuZ3RoID0gMDsKKwkJc2NiLT5zZ19sZW4gPSBjcHVfdG9fbGUzMigwKTsKKwkJc2dlbnQtPmJhc2UgPSBjcHVfdG9fbGUzMigwKTsKKwkJc2dlbnQtPmxlbmd0aCA9IGNwdV90b19sZTMyKDApOwogCX0KLQlzY2ItPnNnX2FkZHIgPSAodTMyKSBzY2ItPnNlbnNlX2FkZHI7CisJc2NiLT5zZ19hZGRyID0gKHUzMikgc2NiLT5zZW5zZV9hZGRyOwkvKiBzZW5zZV9hZGRyIGlzIGFscmVhZHkgbGl0dGxlIGVuZGlhbiAqLwogCXNjYi0+aGFzdGF0ID0gMDsKIAlzY2ItPnRhc3RhdCA9IDA7CiAJc2NiLT5saW5rID0gMHhGRjsKQEAgLTg5Niw2ICs4OTksNyBAQAogCQlzY2ItPnRhZ19tc2cgPSAwOwkvKiBObyB0YWcgc3VwcG9ydCAgICAgICAgICAgICAgICovCiAJfQogCW1lbWNweShzY2ItPmNkYiwgY21kLT5jbW5kLCBzY2ItPmNkYl9sZW4pOworCXJldHVybiAwOwogfQogCiAvKioKQEAgLTkxOSw3ICs5MjMsMTAgQEAKIAlpZiAoKHNjYiA9IG9yY19hbGxvY19zY2IoaG9zdCkpID09IE5VTEwpCiAJCXJldHVybiBTQ1NJX01MUVVFVUVfSE9TVF9CVVNZOwogCi0JaW5pYTEwMF9idWlsZF9zY2IoaG9zdCwgc2NiLCBjbWQpOworCWlmIChpbmlhMTAwX2J1aWxkX3NjYihob3N0LCBzY2IsIGNtZCkpIHsKKwkJb3JjX3JlbGVhc2Vfc2NiKGhvc3QsIHNjYik7CisJCXJldHVybiBTQ1NJX01MUVVFVUVfSE9TVF9CVVNZOworCX0KIAlvcmNfZXhlY19zY2IoaG9zdCwgc2NiKTsJLyogU3RhcnQgZXhlY3V0ZSBTQ0IgICAgICAgICAgICAqLwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FhY3JhaWQvbGluaXQuYyBiL2RyaXZlcnMvc2NzaS9hYWNyYWlkL2xpbml0LmMKaW5kZXggMWY3YzgzNi4uNjhjMTQwZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FhY3JhaWQvbGluaXQuYworKysgYi9kcml2ZXJzL3Njc2kvYWFjcmFpZC9saW5pdC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2NhbGxzLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTY2Nyw2ICs2NjgsNyBAQAogCXVuc2lnbmVkIG1pbm9yX251bWJlciA9IGltaW5vcihpbm9kZSk7CiAJaW50IGVyciA9IC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOyAgLyogQktMIHB1c2hkb3duOiBub3RoaW5nIGVsc2UgcHJvdGVjdHMgdGhpcyBsaXN0ICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShhYWMsICZhYWNfZGV2aWNlcywgZW50cnkpIHsKIAkJaWYgKGFhYy0+aWQgPT0gbWlub3JfbnVtYmVyKSB7CiAJCQlmaWxlLT5wcml2YXRlX2RhdGEgPSBhYWM7CkBAIC02NzQsNiArNjc2LDcgQEAKIAkJCWJyZWFrOwogCQl9CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5jIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuYwppbmRleCA0NDQ2ZTNkLi44NjMwYTc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5jCisrKyBiL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmMKQEAgLTEwOTMsOSArMTA5Myw5IEBACiAgKiBAYnl0ZXNfdG9fdmVyaWZ5OiB0b3RhbCBieXRlcyB0byB2ZXJpZnkKICAqLwogaW50IGFzZF92ZXJpZnlfZmxhc2hfc2VnKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEsCi0JCXZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fdmVyaWZ5KQorCQkJIGNvbnN0IHZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fdmVyaWZ5KQogewotCXU4ICpzcmNfYnVmOworCWNvbnN0IHU4ICpzcmNfYnVmOwogCXU4IGZsYXNoX2NoYXI7CiAJaW50IGVycjsKIAl1MzIgbnZfb2Zmc2V0LCByZWcsIGk7CkBAIC0xMTA1LDcgKzExMDUsNyBAQAogCiAJZXJyID0gRkxBU0hfT0s7CiAJbnZfb2Zmc2V0ID0gZGVzdF9vZmZzZXQ7Ci0Jc3JjX2J1ZiA9ICh1OCAqKXNyYzsKKwlzcmNfYnVmID0gKGNvbnN0IHU4ICopc3JjOwogCWZvciAoaSA9IDA7IGkgPCBieXRlc190b192ZXJpZnk7IGkrKykgewogCQlmbGFzaF9jaGFyID0gYXNkX3JlYWRfcmVnX2J5dGUoYXNkX2hhLCByZWcgKyBudl9vZmZzZXQgKyBpKTsKIAkJaWYgKGZsYXNoX2NoYXIgIT0gc3JjX2J1ZltpXSkgewpAQCAtMTEyNCw5ICsxMTI0LDkgQEAKICAqIEBieXRlc190b193cml0ZTogdG90YWwgYnl0ZXMgdG8gd3JpdGUKICAqLwogaW50IGFzZF93cml0ZV9mbGFzaF9zZWcoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKLQkJdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b193cml0ZSkKKwkJCWNvbnN0IHZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fd3JpdGUpCiB7Ci0JdTggKnNyY19idWY7CisJY29uc3QgdTggKnNyY19idWY7CiAJdTMyIG52X29mZnNldCwgcmVnLCBpOwogCWludCBlcnI7CiAKQEAgLTExNTMsNyArMTE1Myw3IEBACiAJCXJldHVybiBlcnI7CiAJfQogCi0Jc3JjX2J1ZiA9ICh1OCAqKXNyYzsKKwlzcmNfYnVmID0gKGNvbnN0IHU4ICopc3JjOwogCWZvciAoaSA9IDA7IGkgPCBieXRlc190b193cml0ZTsgaSsrKSB7CiAJCS8qIFNldHVwIHByb2dyYW0gY29tbWFuZCBzZXF1ZW5jZSAqLwogCQlzd2l0Y2ggKGFzZF9oYS0+aHdfcHJvZi5mbGFzaC5tZXRob2QpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmggYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5oCmluZGV4IGJiOTc5NWEuLmEwNmRjMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmgKKysrIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuaApAQCAtMTEwLDkgKzExMCw5IEBACiB9OwogCiBpbnQgYXNkX3ZlcmlmeV9mbGFzaF9zZWcoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKLQkJdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b192ZXJpZnkpOworCQljb25zdCB2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3ZlcmlmeSk7CiBpbnQgYXNkX3dyaXRlX2ZsYXNoX3NlZyhzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhLAotCQl2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3dyaXRlKTsKKwkJY29uc3Qgdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b193cml0ZSk7CiBpbnQgYXNkX2Noa193cml0ZV9zdGF0dXMoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKIAkJdTMyIHNlY3Rvcl9hZGRyLCB1OCBlcmFzZV9mbGFnKTsKIGludCBhc2RfY2hlY2tfZmxhc2hfdHlwZShzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2VxLmMgYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3NlcS5jCmluZGV4IGY0MjcyYWMuLjhmOThlMzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2VxLmMKKysrIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZXEuYwpAQCAtNDYsNyArNDYsNyBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqc2VxdWVuY2VyX2Z3Owogc3RhdGljIHUxNiBjc2VxX3ZlY3NbQ1NFUV9OVU1fVkVDU10sIGxzZXFfdmVjc1tMU0VRX05VTV9WRUNTXSwgbW9kZTJfdGFzaywKIAljc2VxX2lkbGVfbG9vcCwgbHNlcV9pZGxlX2xvb3A7Ci1zdGF0aWMgdTggKmNzZXFfY29kZSwgKmxzZXFfY29kZTsKK3N0YXRpYyBjb25zdCB1OCAqY3NlcV9jb2RlLCAqbHNlcV9jb2RlOwogc3RhdGljIHUzMiBjc2VxX2NvZGVfc2l6ZSwgbHNlcV9jb2RlX3NpemU7CiAKIHN0YXRpYyB1MTYgZmlyc3Rfc2NiX3NpdGVfbm8gPSAweEZGRkY7CkBAIC0xMjM1LDcgKzEyMzUsOCBAQAogc3RhdGljIGludCBhc2RfcmVxdWVzdF9maXJtd2FyZShzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhKQogewogCWludCBlcnIsIGk7Ci0Jc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciBoZWFkZXIsICpoZHJfcHRyOworCXN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgaGVhZGVyOworCWNvbnN0IHN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgKmhkcl9wdHI7CiAJdTMyIGNzdW0gPSAwOwogCXUxNiAqcHRyX2NzZXFfdmVjcywgKnB0cl9sc2VxX3ZlY3M7CiAKQEAgLTEyNDksNyArMTI1MCw3IEBACiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIAotCWhkcl9wdHIgPSAoc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciAqKXNlcXVlbmNlcl9mdy0+ZGF0YTsKKwloZHJfcHRyID0gKGNvbnN0IHN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgKilzZXF1ZW5jZXJfZnctPmRhdGE7CiAKIAloZWFkZXIuY3N1bSA9IGxlMzJfdG9fY3B1KGhkcl9wdHItPmNzdW0pOwogCWhlYWRlci5tYWpvciA9IGxlMzJfdG9fY3B1KGhkcl9wdHItPm1ham9yKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vS2NvbmZpZyBiL2RyaXZlcnMvc2NzaS9hcm0vS2NvbmZpZwppbmRleCA3MjM2MTQzLi5hODU4N2YxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYXJtL0tjb25maWcKKysrIGIvZHJpdmVycy9zY3NpL2FybS9LY29uZmlnCkBAIC0zLDcgKzMsNyBAQAogIwogY29uZmlnIFNDU0lfQUNPUk5TQ1NJXzMKIAl0cmlzdGF0ZSAiQWNvcm4gU0NTSSBjYXJkIChha2EzMCkgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4gJiYgU0NTSSAmJiBCUk9LRU4KKwlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4gJiYgU0NTSQogCXNlbGVjdCBTQ1NJX1NQSV9BVFRSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgQWNvcm4gU0NTSSBjYXJkIChha2EzMCkuIElmIHlvdSBoYXZlIGFuCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS1pby5TIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2ktaW8uUwppbmRleCA5MzQ2N2U2Li41Y2ViZTMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS1pby5TCisrKyBiL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLWlvLlMKQEAgLTEwLDE3ICsxMCwxMCBAQAogI2luY2x1ZGUgPGFzbS9hc3NlbWJsZXIuaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2lmIChJT19CQVNFID09IChQQ0lPX0JBU0UgJiAweGZmMDAwMDAwKSkKLSNkZWZpbmUgQUREUihvZmYscmVnKQkJCQkJCVwKLQkJdHN0CW9mZiwgJDB4ODAwMDAwMDAJCQk7XAotCQltb3YJcmVnLCAkSU9fQkFTRQkJCQk7XAotCQlvcnJlcQlyZWcsIHJlZywgJChQQ0lPX0JBU0UgJiAweDAwZmYwMDAwKQotI2Vsc2UKLSNkZWZpbmUgQUREUihvZmYscmVnKQkJCQkJCVwKLQkJdHN0CW9mZiwgJDB4ODAwMDAwMDAJCQk7XAotCQltb3ZuZQlyZWcsICRJT19CQVNFCQkJCTtcCi0JCW1vdmVxCXJlZywgJChQQ0lPX0JBU0UgJiAweGZmMDAwMDAwKQkJO1wKLQkJb3JyZXEJcmVnLCByZWcsICQoUENJT19CQVNFICYgMHgwMGZmMDAwMCkKKyNpZiBkZWZpbmVkKF9fQVBDU18zMl9fKQorI2RlZmluZSBMT0FEUkVHUyh0LHIsbC4uLikJbGRtIyN0CXIsIGwKKyNlbGlmIGRlZmluZWQoX19BUENTXzI2X18pCisjZGVmaW5lIExPQURSRUdTKHQscixsLi4uKQlsZG0jI3QJciwgbCMjXgogI2VuZGlmCiAKIEAgUHVycG9zZTogdHJhbnNmZXIgYSBibG9jayBvZiBkYXRhIGZyb20gdGhlIGFjb3JuIHNjc2kgY2FyZCB0byBtZW1vcnkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmMgYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5jCmluZGV4IDhlNTNmMDIuLjkxOGNjZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmMKKysrIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuYwpAQCAtMTIzLDEyICsxMjMsNiBAQAogI2RlZmluZSBEQkcoY21kLHh4eC4uLikgeHh4CiAjZW5kaWYKIAotI2lmbmRlZiBTVFJJTkdJRlkKLSNkZWZpbmUgU1RSSU5HSUZZKHgpICN4Ci0jZW5kaWYKLSNkZWZpbmUgU1RSeCh4KSBTVFJJTkdJRlkoeCkKLSNkZWZpbmUgTk9fV1JJVEVfU1RSIFNUUngoTk9fV1JJVEUpCi0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTE0MSw5ICsxMzUsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5naWZ5Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vZWNhcmQuaD4KIAogI2luY2x1ZGUgIi4uL3Njc2kuaCIKQEAgLTIwMyw0NCArMTk4LDQ2IEBACiAgKiBNaXNjZWxsYW5lb3VzCiAgKi8KIAotc3RhdGljIGlubGluZSB2b2lkCi1zYmljX2FybV93cml0ZSh1bnNpZ25lZCBpbnQgaW9fcG9ydCwgaW50IHJlZywgaW50IHZhbHVlKQorLyogT2Zmc2V0cyBmcm9tIE1FTUMgYmFzZSAqLworI2RlZmluZSBTQklDX1JFR0lEWAkweDIwMDAKKyNkZWZpbmUgU0JJQ19SRUdWQUwJMHgyMDA0CisjZGVmaW5lIERNQUNfT0ZGU0VUCTB4MzAwMAorCisvKiBPZmZzZXRzIGZyb20gRkFTVCBJT0MgYmFzZSAqLworI2RlZmluZSBJTlRfUkVHCQkweDIwMDAKKyNkZWZpbmUgUEFHRV9SRUcJMHgzMDAwCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzYmljX2FybV93cml0ZShBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCiB7Ci0gICAgX19yYXdfd3JpdGViKHJlZywgaW9fcG9ydCk7Ci0gICAgX19yYXdfd3JpdGViKHZhbHVlLCBpb19wb3J0ICsgNCk7CisgICAgd3JpdGViKHJlZywgaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYKTsKKyAgICB3cml0ZWIodmFsdWUsIGhvc3QtPmJhc2UgKyBTQklDX1JFR1ZBTCk7CiB9CiAKLSNkZWZpbmUgc2JpY19hcm1fd3JpdGVuZXh0KGlvLHZhbCkgXAotCV9fcmF3X3dyaXRlYigodmFsKSwgKGlvKSArIDQpCi0KLXN0YXRpYyBpbmxpbmUKLWludCBzYmljX2FybV9yZWFkKHVuc2lnbmVkIGludCBpb19wb3J0LCBpbnQgcmVnKQorc3RhdGljIGlubGluZSBpbnQgc2JpY19hcm1fcmVhZChBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBpbnQgcmVnKQogewogICAgIGlmKHJlZyA9PSBTQklDX0FTUikKLQkgICByZXR1cm4gX19yYXdfcmVhZGwoaW9fcG9ydCkgJiAyNTU7Ci0gICAgX19yYXdfd3JpdGViKHJlZywgaW9fcG9ydCk7Ci0gICAgcmV0dXJuIF9fcmF3X3JlYWRsKGlvX3BvcnQgKyA0KSAmIDI1NTsKKwkgICByZXR1cm4gcmVhZGwoaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYKSAmIDI1NTsKKyAgICB3cml0ZWIocmVnLCBob3N0LT5iYXNlICsgU0JJQ19SRUdJRFgpOworICAgIHJldHVybiByZWFkbChob3N0LT5iYXNlICsgU0JJQ19SRUdWQUwpICYgMjU1OwogfQogCi0jZGVmaW5lIHNiaWNfYXJtX3JlYWRuZXh0KGlvKSBcCi0JX19yYXdfcmVhZGIoKGlvKSArIDQpCisjZGVmaW5lIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCB2YWwpCXdyaXRlYigodmFsKSwgKGhvc3QpLT5iYXNlICsgU0JJQ19SRUdWQUwpCisjZGVmaW5lIHNiaWNfYXJtX3JlYWRuZXh0KGhvc3QpIAlyZWFkYigoaG9zdCktPmJhc2UgKyBTQklDX1JFR1ZBTCkKIAogI2lmZGVmIFVTRV9ETUFDCi0jZGVmaW5lIGRtYWNfcmVhZChpb19wb3J0LHJlZykgXAotCWluYigoaW9fcG9ydCkgKyAocmVnKSkKKyNkZWZpbmUgZG1hY19yZWFkKGhvc3QscmVnKSBcCisJcmVhZGIoKGhvc3QpLT5iYXNlICsgRE1BQ19PRkZTRVQgKyAoKHJlZykgPDwgMikpCiAKLSNkZWZpbmUgZG1hY193cml0ZShpb19wb3J0LHJlZyx2YWx1ZSkgXAotCSh7IG91dGIoKHZhbHVlKSwgKGlvX3BvcnQpICsgKHJlZykpOyB9KQorI2RlZmluZSBkbWFjX3dyaXRlKGhvc3QscmVnLHZhbHVlKSBcCisJKHsgd3JpdGViKCh2YWx1ZSksIChob3N0KS0+YmFzZSArIERNQUNfT0ZGU0VUICsgKChyZWcpIDw8IDIpKTsgfSkKIAotI2RlZmluZSBkbWFjX2NsZWFyaW50cihpb19wb3J0KSBcCi0JKHsgb3V0YigwLCAoaW9fcG9ydCkpOyB9KQorI2RlZmluZSBkbWFjX2NsZWFyaW50cihob3N0KSAJd3JpdGViKDAsIChob3N0KS0+ZmFzdCArIElOVF9SRUcpCiAKLXN0YXRpYyBpbmxpbmUKLXVuc2lnbmVkIGludCBkbWFjX2FkZHJlc3ModW5zaWduZWQgaW50IGlvX3BvcnQpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBkbWFjX2FkZHJlc3MoQVNfSG9zdCAqaG9zdCkKIHsKLSAgICByZXR1cm4gZG1hY19yZWFkKGlvX3BvcnQsIERNQUNfVFhBRFJISSkgPDwgMTYgfAotCSAgIGRtYWNfcmVhZChpb19wb3J0LCBETUFDX1RYQURSTUQpIDw8IDggfAotCSAgIGRtYWNfcmVhZChpb19wb3J0LCBETUFDX1RYQURSTE8pOworICAgIHJldHVybiBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWEFEUkhJKSA8PCAxNiB8CisJICAgZG1hY19yZWFkKGhvc3QsIERNQUNfVFhBRFJNRCkgPDwgOCB8CisJICAgZG1hY19yZWFkKGhvc3QsIERNQUNfVFhBRFJMTyk7CiB9CiAKIHN0YXRpYwpAQCAtMjQ4LDE1ICsyNDUsMTUgQEAKIHsKIAl1bnNpZ25lZCBpbnQgbW9kZSwgYWRkciwgbGVuOwogCi0JbW9kZSA9IGRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NT0RFQ09OKTsKLQlhZGRyID0gZG1hY19hZGRyZXNzKGhvc3QtPmRtYS5pb19wb3J0KTsKLQlsZW4gID0gZG1hY19yZWFkKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05USEkpIDw8IDggfAotCSAgICAgICBkbWFjX3JlYWQoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRMTyk7CisJbW9kZSA9IGRtYWNfcmVhZChob3N0LCBETUFDX01PREVDT04pOworCWFkZHIgPSBkbWFjX2FkZHJlc3MoaG9zdCk7CisJbGVuICA9IGRtYWNfcmVhZChob3N0LCBETUFDX1RYQ05USEkpIDw8IDggfAorCSAgICAgICBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWENOVExPKTsKIAogCXByaW50aygic2NzaSVkOiAlczogRE1BQyAlMDJ4IEAlMDZ4KyUwNHggbXNrICUwMngsICIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8sIHdoZXJlLAogCQltb2RlLCBhZGRyLCAobGVuICsgMSkgJiAweGZmZmYsCi0JCWRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHKSk7CisJCWRtYWNfcmVhZChob3N0LCBETUFDX01BU0tSRUcpKTsKIAogCXByaW50aygiRE1BIEAlMDZ4LCAiLCBob3N0LT5kbWEuc3RhcnRfYWRkcik7CiAJcHJpbnRrKCJCSCBAJXAgKyUwNHgsICIsIGhvc3QtPnNjc2kuU0NwLnB0ciwKQEAgLTI3Miw5ICsyNjksOSBAQAogewogICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogCi0gICAgbGVuZ3RoID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVFJBTlNDTlRIKSA8PCAxNjsKLSAgICBsZW5ndGggfD0gc2JpY19hcm1fcmVhZG5leHQoaG9zdC0+c2NzaS5pb19wb3J0KSA8PCA4OwotICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0LT5zY3NpLmlvX3BvcnQpOworICAgIGxlbmd0aCA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19UUkFOU0NOVEgpIDw8IDE2OworICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0KSA8PCA4OworICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0KTsKIAogICAgIHJldHVybiBsZW5ndGg7CiB9CkBAIC0yODUsNyArMjgyLDcgQEAKIAlpbnQgYXNyOwogCiAJZG8gewotCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOworCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKIAogCQlpZiAoKGFzciAmIHN0YXRfbWFzaykgPT0gc3RhdCkKIAkJCXJldHVybiAwOwpAQCAtMzA0LDcgKzMwMSw3IEBACiAgICAgaWYgKGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0NJUCwgMCwgMTAwMCwgImlzc3VpbmcgY29tbWFuZCIpKQogCXJldHVybiAtMTsKIAotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DTU5ELCBjb21tYW5kKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIGNvbW1hbmQpOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0zMzEsMjAgKzMyOCwyMCBAQAogCiAgICAgLyogYXNzZXJ0IHJlc2V0IGxpbmUgKi8KICAgICBob3N0LT5jYXJkLnBhZ2VfcmVnID0gMHg4MDsKLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICAvKiB3YWl0IDMgY3MuICBTQ1NJIHN0YW5kYXJkIHNheXMgMjVtcy4gKi8KICAgICBhY29ybnNjc2lfY3NkZWxheSgzKTsKIAogICAgIGhvc3QtPmNhcmQucGFnZV9yZWcgPSAwOwotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIC8qCiAgICAgICogU2hvdWxkIGdldCBhIHJlc2V0IGZyb20gdGhlIGNhcmQKICAgICAgKi8KICAgICB0aW1lb3V0ID0gMTAwMDsKICAgICBkbyB7Ci0JaWYgKGluYihob3N0LT5jYXJkLmlvX2ludHIpICYgOCkKKwlpZiAocmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpICYgOCkKIAkgICAgYnJlYWs7CiAJdWRlbGF5KDEpOwogICAgIH0gd2hpbGUgKC0tdGltZW91dCk7CkBAIC0zNTMsMTkgKzM1MCwxOSBAQAogCXByaW50aygic2NzaSVkOiB0aW1lb3V0IHdoaWxlIHJlc2V0dGluZyBjYXJkXG4iLAogCQlob3N0LT5ob3N0LT5ob3N0X25vKTsKIAotICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7Ci0gICAgc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKyAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKKyAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAogICAgIC8qIHNldHVwIHNiaWMgLSBXRDMzQzkzQSAqLwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19PV05JRCwgT1dOSURfRUFGIHwgaG9zdC0+aG9zdC0+dGhpc19pZCk7Ci0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfUkVTRVQpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfT1dOSUQsIE9XTklEX0VBRiB8IGhvc3QtPmhvc3QtPnRoaXNfaWQpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9SRVNFVCk7CiAKICAgICAvKgogICAgICAqIENvbW1hbmQgc2hvdWxkIGNhdXNlIGEgcmVzZXQgaW50ZXJydXB0CiAgICAgICovCiAgICAgdGltZW91dCA9IDEwMDA7CiAgICAgZG8gewotCWlmIChpbmIoaG9zdC0+Y2FyZC5pb19pbnRyKSAmIDgpCisJaWYgKHJlYWRiKGhvc3QtPmZhc3QgKyBJTlRfUkVHKSAmIDgpCiAJICAgIGJyZWFrOwogCXVkZWxheSgxKTsKICAgICB9IHdoaWxlICgtLXRpbWVvdXQpOwpAQCAtMzc0LDI2ICszNzEsMjYgQEAKIAlwcmludGsoInNjc2klZDogdGltZW91dCB3aGlsZSByZXNldHRpbmcgY2FyZFxuIiwKIAkJaG9zdC0+aG9zdC0+aG9zdF9ubyk7CiAKLSAgICBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOwotICAgIGlmIChzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpICE9IDB4MDEpCisgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisgICAgaWYgKHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpICE9IDB4MDEpCiAJcHJpbnRrKEtFUk5fQ1JJVCAic2NzaSVkOiBXRDMzQzkzQSBkaWRuJ3QgZ2l2ZSBlbmhhbmNlZCByZXNldCBpbnRlcnJ1cHRcbiIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8pOwogCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVElNRU9VVCwgVElNRU9VVF9USU1FKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgU1lOQ0hUUkFOU0ZFUl8yREJBKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RJTUVPVVQsIFRJTUVPVVRfVElNRSk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBTWU5DSFRSQU5TRkVSXzJEQkEpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKIAogICAgIGhvc3QtPmNhcmQucGFnZV9yZWcgPSAweDQwOwotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIC8qIHNldHVwIGRtYWMgLSB1UEM3MTA3MSAqLwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfSU5JVCwgMCk7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX0lOSVQsIDApOwogI2lmZGVmIFVTRV9ETUFDCi0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19JTklULCBJTklUXzhCSVQpOwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfQ0hBTk5FTCwgQ0hBTk5FTF8wKTsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX0RFVkNPTjAsIElOSVRfREVWQ09OMCk7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19ERVZDT04xLCBJTklUX0RFVkNPTjEpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19JTklULCBJTklUXzhCSVQpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19DSEFOTkVMLCBDSEFOTkVMXzApOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19ERVZDT04wLCBJTklUX0RFVkNPTjApOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19ERVZDT04xLCBJTklUX0RFVkNPTjEpOwogI2VuZGlmCiAKICAgICBob3N0LT5TQ3BudCA9IE5VTEw7CkBAIC03NDEsOSArNzM4LDkgQEAKICAgICAgKiBJZiB3ZSBoYXZlIGFuIGludGVycnVwdCBwZW5kaW5nLCB0aGVuIHdlIG1heSBoYXZlIGJlZW4gcmVzZWxlY3RlZC4KICAgICAgKiBJbiB0aGlzIGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gd3JpdGUgdG8gdGhlIHJlZ2lzdGVycwogICAgICAqLwotICAgIGlmICghKHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUikgJiAoQVNSX0lOVHxBU1JfQlNZfEFTUl9DSVApKSkgewotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19ERVNUSUQsIFNDcG50LT5kZXZpY2UtPmlkKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9TRUxXSVRIQVROKTsKKyAgICBpZiAoIShzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKSAmIChBU1JfSU5UfEFTUl9CU1l8QVNSX0NJUCkpKSB7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19ERVNUSUQsIFNDcG50LT5kZXZpY2UtPmlkKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfU0VMV0lUSEFUTik7CiAgICAgfQogCiAgICAgLyoKQEAgLTgwNyw3ICs4MDQsNyBAQAogCXN0cnVjdCBzY3NpX2NtbmQgKlNDcG50ID0gKlNDcG50cDsKIAogICAgIC8qIGNsZWFuIHVwICovCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NPVVJDRUlELCBTT1VSQ0VJRF9FUiB8IFNPVVJDRUlEX0RTUCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TT1VSQ0VJRCwgU09VUkNFSURfRVIgfCBTT1VSQ0VJRF9EU1ApOwogCiAgICAgaG9zdC0+c3RhdHMuZmlucyArPSAxOwogCkBAIC05MTgsMTMgKzkxNSwxMyBAQAogdm9pZCBhY29ybnNjc2lfZGF0YV9yZWFkKEFTX0hvc3QgKmhvc3QsIGNoYXIgKnB0ciwKIAkJCQkgdW5zaWduZWQgaW50IHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGludCBsZW5ndGgpCiB7Ci0gICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfaW4oaW50IHBvcnQsIGNoYXIgKmJ1ZiwgaW50IGxlbik7CisgICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfaW4odm9pZCBfX2lvbWVtICosIGNoYXIgKmJ1ZiwgaW50IGxlbik7CiAgICAgdW5zaWduZWQgaW50IHBhZ2UsIG9mZnNldCwgbGVuID0gbGVuZ3RoOwogCiAgICAgcGFnZSA9IChzdGFydF9hZGRyID4+IDEyKTsKICAgICBvZmZzZXQgPSBzdGFydF9hZGRyICYgKCgxIDw8IDEyKSAtIDEpOwogCi0gICAgb3V0YigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICB3aGlsZSAobGVuID4gMCkgewogCXVuc2lnbmVkIGludCB0aGlzX2xlbjsKQEAgLTkzNCw3ICs5MzEsNyBAQAogCWVsc2UKIAkgICAgdGhpc19sZW4gPSBsZW47CiAKLQlfX2Fjb3Juc2NzaV9pbihob3N0LT5jYXJkLmlvX3JhbSArIChvZmZzZXQgPDwgMSksIHB0ciwgdGhpc19sZW4pOworCV9fYWNvcm5zY3NpX2luKGhvc3QtPmJhc2UgKyAob2Zmc2V0IDw8IDEpLCBwdHIsIHRoaXNfbGVuKTsKIAogCW9mZnNldCArPSB0aGlzX2xlbjsKIAlwdHIgKz0gdGhpc19sZW47CkBAIC05NDMsMTAgKzk0MCwxMCBAQAogCWlmIChvZmZzZXQgPT0gKDEgPDwgMTIpKSB7CiAJICAgIG9mZnNldCA9IDA7CiAJICAgIHBhZ2UgKys7Ci0JICAgIG91dGIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisJICAgIHdyaXRlYigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAl9CiAgICAgfQotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIH0KIAogLyoKQEAgLTk2MywxMyArOTYwLDEzIEBACiB2b2lkIGFjb3Juc2NzaV9kYXRhX3dyaXRlKEFTX0hvc3QgKmhvc3QsIGNoYXIgKnB0ciwKIAkJCQkgdW5zaWduZWQgaW50IHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGludCBsZW5ndGgpCiB7Ci0gICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfb3V0KGludCBwb3J0LCBjaGFyICpidWYsIGludCBsZW4pOworICAgIGV4dGVybiB2b2lkIF9fYWNvcm5zY3NpX291dCh2b2lkIF9faW9tZW0gKiwgY2hhciAqYnVmLCBpbnQgbGVuKTsKICAgICB1bnNpZ25lZCBpbnQgcGFnZSwgb2Zmc2V0LCBsZW4gPSBsZW5ndGg7CiAKICAgICBwYWdlID0gKHN0YXJ0X2FkZHIgPj4gMTIpOwogICAgIG9mZnNldCA9IHN0YXJ0X2FkZHIgJiAoKDEgPDwgMTIpIC0gMSk7CiAKLSAgICBvdXRiKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIHdoaWxlIChsZW4gPiAwKSB7CiAJdW5zaWduZWQgaW50IHRoaXNfbGVuOwpAQCAtOTc5LDcgKzk3Niw3IEBACiAJZWxzZQogCSAgICB0aGlzX2xlbiA9IGxlbjsKIAotCV9fYWNvcm5zY3NpX291dChob3N0LT5jYXJkLmlvX3JhbSArIChvZmZzZXQgPDwgMSksIHB0ciwgdGhpc19sZW4pOworCV9fYWNvcm5zY3NpX291dChob3N0LT5iYXNlICsgKG9mZnNldCA8PCAxKSwgcHRyLCB0aGlzX2xlbik7CiAKIAlvZmZzZXQgKz0gdGhpc19sZW47CiAJcHRyICs9IHRoaXNfbGVuOwpAQCAtOTg4LDEwICs5ODUsMTAgQEAKIAlpZiAob2Zmc2V0ID09ICgxIDw8IDEyKSkgewogCSAgICBvZmZzZXQgPSAwOwogCSAgICBwYWdlICsrOwotCSAgICBvdXRiKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworCSAgICB3cml0ZWIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAJfQogICAgIH0KLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xMDA4LDggKzEwMDUsOCBAQAogc3RhdGljIGlubGluZQogdm9pZCBhY29ybnNjc2lfZG1hX3N0b3AoQVNfSG9zdCAqaG9zdCkKIHsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOwotICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QtPmRtYS5pb19pbnRyX2NsZWFyKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CisgICAgZG1hY19jbGVhcmludHIoaG9zdCk7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAgICAgREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAic3RvcCIpKTsKQEAgLTEwMzEsNyArMTAyOCw3IEBACiAKICAgICBob3N0LT5kbWEuZGlyZWN0aW9uID0gZGlyZWN0aW9uOwogCi0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CiAKICAgICBpZiAoZGlyZWN0aW9uID09IERNQV9PVVQpIHsKICNpZiAoREVCVUcgJiBERUJVR19OT19XUklURSkKQEAgLTEwNjIsMTMgKzEwNTksMTMgQEAKIAkJCQlsZW5ndGgpOwogCiAJbGVuZ3RoIC09IDE7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCBsZW5ndGgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCBhZGRyZXNzID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJISSwgMCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NT0RFQ09OLCBtb2RlKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT0ZGKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRMTywgbGVuZ3RoKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkxPLCBhZGRyZXNzKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJNRCwgYWRkcmVzcyA+PiA4KTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJISSwgMCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX01PREVDT04sIG1vZGUpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAJREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAic3RydCIpKTsKQEAgLTEwODgsOCArMTA4NSw4IEBACiBzdGF0aWMKIHZvaWQgYWNvcm5zY3NpX2RtYV9jbGVhbnVwKEFTX0hvc3QgKmhvc3QpCiB7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKLSAgICBkbWFjX2NsZWFyaW50cihob3N0LT5kbWEuaW9faW50cl9jbGVhcik7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOworICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QpOwogCiAgICAgLyoKICAgICAgKiBDaGVjayBmb3IgYSBwZW5kaW5nIHRyYW5zZmVyCkBAIC0xMTE2LDcgKzExMTMsNyBAQAogCS8qCiAJICogQ2FsY3VsYXRlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBmcm9tIERNQS4KIAkgKi8KLQl0cmFuc2ZlcnJlZCA9IGRtYWNfYWRkcmVzcyhob3N0LT5kbWEuaW9fcG9ydCkgLSBob3N0LT5kbWEuc3RhcnRfYWRkcjsKKwl0cmFuc2ZlcnJlZCA9IGRtYWNfYWRkcmVzcyhob3N0KSAtIGhvc3QtPmRtYS5zdGFydF9hZGRyOwogCWhvc3QtPmRtYS50cmFuc2ZlcnJlZCArPSB0cmFuc2ZlcnJlZDsKIAogCWlmIChob3N0LT5kbWEuZGlyZWN0aW9uID09IERNQV9JTikKQEAgLTExNTIsMTMgKzExNDksMTMgQEAKICAgICBEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJpbnRpIikpOwogI2VuZGlmCiAKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOwotICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QtPmRtYS5pb19pbnRyX2NsZWFyKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CisgICAgZG1hY19jbGVhcmludHIoaG9zdCk7CiAKICAgICAvKgogICAgICAqIENhbGN1bGF0ZSBhbW91bnQgdHJhbnNmZXJyZWQgdmlhIERNQQogICAgICAqLwotICAgIHRyYW5zZmVycmVkID0gZG1hY19hZGRyZXNzKGhvc3QtPmRtYS5pb19wb3J0KSAtIGhvc3QtPmRtYS5zdGFydF9hZGRyOworICAgIHRyYW5zZmVycmVkID0gZG1hY19hZGRyZXNzKGhvc3QpIC0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7CiAgICAgaG9zdC0+ZG1hLnRyYW5zZmVycmVkICs9IHRyYW5zZmVycmVkOwogCiAgICAgLyoKQEAgLTExOTAsMTIgKzExODcsMTIgQEAKIAkJCQlsZW5ndGgpOwogCiAJbGVuZ3RoIC09IDE7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCBsZW5ndGgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCBhZGRyZXNzID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJISSwgMCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05UTE8sIGxlbmd0aCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05USEksIGxlbmd0aCA+PiA4KTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTUQsIGFkZHJlc3MgPj4gOCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSSEksIDApOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAJREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAiaW50byIpKTsKQEAgLTEyMDksMTUgKzEyMDYsMTUgQEAKIAkgKiBhdHRlbnRpb24gY29uZGl0aW9uLiAgV2UgY29udGludWUgZ2l2aW5nIG9uZSBieXRlIHVudGlsCiAJICogdGhlIGRldmljZSByZWNvZ25pc2VzIHRoZSBhdHRlbnRpb24uCiAJICovCi0JaWYgKGRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19TVEFUVVMpICYgU1RBVFVTX1JRMCkgeworCWlmIChkbWFjX3JlYWQoaG9zdCwgRE1BQ19TVEFUVVMpICYgU1RBVFVTX1JRMCkgewogCSAgICBhY29ybnNjc2lfYWJvcnRjbWQoaG9zdCwgaG9zdC0+U0NwbnQtPnRhZyk7CiAKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVEhJLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkxPLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkhJLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWENOVExPLCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05USEksIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJMTywgMCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUk1ELCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSSEksIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PRkYpOwogCX0KICNlbmRpZgogICAgIH0KQEAgLTEyNzEsOSArMTI2OCw5IEBACiAJICAgIGhvc3QtPmRtYS54ZmVyX3NldHVwID0gMDsKIAllbHNlIHsKIAkgICAgdHJhbnNmZXJyZWQgKz0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgdHJhbnNmZXJyZWQpOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTUQsIHRyYW5zZmVycmVkID4+IDgpOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSSEksIHRyYW5zZmVycmVkID4+IDE2KTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTE8sIHRyYW5zZmVycmVkKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTUQsIHRyYW5zZmVycmVkID4+IDgpOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJISSwgdHJhbnNmZXJyZWQgPj4gMTYpOwogI2lmIChERUJVRyAmIChERUJVR19ETUF8REVCVUdfV1JJVEUpKQogCSAgICBEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJhZGpvIikpOwogI2VuZGlmCkBAIC0xMjkyLDEyICsxMjg5LDEyIEBACiAJaW50IG15X3B0ciA9ICpwdHI7CiAKIAl3aGlsZSAobXlfcHRyIDwgbGVuKSB7Ci0JCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisJCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOwogCiAJCWlmIChhc3IgJiBBU1JfREJSKSB7CiAJCQl0aW1lb3V0ID0gbWF4X3RpbWVvdXQ7CiAKLQkJCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBLCBieXRlc1tteV9wdHIrK10pOworCQkJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBieXRlc1tteV9wdHIrK10pOwogCQl9IGVsc2UgaWYgKGFzciAmIEFTUl9JTlQpCiAJCQlicmVhazsKIAkJZWxzZSBpZiAoLS10aW1lb3V0ID09IDApCkBAIC0xMzIwLDkgKzEzMTcsOSBAQAogewogCXN0cnVjdCBzY3NpX2NtbmQgKlNDcG50ID0gaG9zdC0+U0NwbnQ7CiAKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVFJBTlNDTlRILCAwKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCAwKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQ3BudC0+Y21kX2xlbiAtIGhvc3QtPnNjc2kuU0NwLnNlbnRfY29tbWFuZCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19UUkFOU0NOVEgsIDApOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCAwKTsKKyAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdCwgU0NwbnQtPmNtZF9sZW4gLSBob3N0LT5zY3NpLlNDcC5zZW50X2NvbW1hbmQpOwogCiAgICAgYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAKQEAgLTEzNTEsNyArMTM0OCw3IEBACiAKIAlhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9EQlIsIEFTUl9EQlIsIDEwMDAsICJzZW5kaW5nIG1lc3NhZ2UgMSIpOwogCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RBVEEsIE5PUCk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBOT1ApOwogCiAJaG9zdC0+c2NzaS5sYXN0X21lc3NhZ2UgPSBOT1A7CiAjaWYgKERFQlVHICYgREVCVUdfTUVTU0FHRVMpCkBAIC0xMzY1LDcgKzEzNjIsNyBAQAogCiAJYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfREJSLCBBU1JfREJSLCAxMDAwLCAic2VuZGluZyBtZXNzYWdlIDIiKTsKIAotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBLCBtc2ctPm1zZ1swXSk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBtc2ctPm1zZ1swXSk7CiAKIAlob3N0LT5zY3NpLmxhc3RfbWVzc2FnZSA9IG1zZy0+bXNnWzBdOwogI2lmIChERUJVRyAmIERFQlVHX01FU1NBR0VTKQpAQCAtMTM4Miw5ICsxMzc5LDkgQEAKIAkgKiAgaW5pdGlhdG9yLiAgVGhpcyBwcm92aWRlcyBhbiBpbnRlcmxvY2sgc28gdGhhdCB0aGUKIAkgKiAgaW5pdGlhdG9yIGNhbiBkZXRlcm1pbmUgd2hpY2ggbWVzc2FnZSBieXRlIGlzIHJlamVjdGVkLgogCSAqLwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19UUkFOU0NOVEgsIDApOwotCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIDApOwotCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIG1lc3NhZ2VfbGVuZ3RoKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RSQU5TQ05USCwgMCk7CisJc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIDApOworCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCBtZXNzYWdlX2xlbmd0aCk7CiAJYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAKIAltc2duciA9IDA7CkBAIC0xNDIxLDcgKzE0MTgsNyBAQAogewogICAgIGFjb3Juc2NzaV9zYmljX2lzc3VlY21kKGhvc3QsIENNTkRfWEZFUklORk98Q01ORF9TQlQpOwogICAgIGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0RCUiwgQVNSX0RCUiwgMTAwMCwgInJlYWRpbmcgc3RhdHVzIGJ5dGUiKTsKLSAgICBob3N0LT5zY3NpLlNDcC5TdGF0dXMgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBKTsKKyAgICBob3N0LT5zY3NpLlNDcC5TdGF0dXMgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfREFUQSk7CiB9CiAKIC8qCkBAIC0xNDM4LDEyICsxNDM1LDEyIEBACiAKICAgICBhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9EQlIsIEFTUl9EQlIsIDEwMDAsICJmb3IgbWVzc2FnZSBieXRlIik7CiAKLSAgICBtZXNzYWdlID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSk7CisgICAgbWVzc2FnZSA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19EQVRBKTsKIAogICAgIC8qIHdhaXQgZm9yIE1TR0lOLVhGRVItUEFVU0VEICovCiAgICAgYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfSU5ULCBBU1JfSU5ULCAxMDAwLCAiZm9yIGludGVycnVwdCBhZnRlciBtZXNzYWdlIGJ5dGUiKTsKIAotICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKICAgICByZXR1cm4gbWVzc2FnZTsKIH0KQEAgLTE0ODAsNyArMTQ3Nyw3IEBACiAKIAkgICAgLyogd2FpdCBmb3IgbmV4dCBtc2ctaW4gKi8KIAkgICAgYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfSU5ULCBBU1JfSU5ULCAxMDAwLCAiZm9yIGludGVycnVwdCBhZnRlciBuZWdhdGUgYWNrIik7Ci0JICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJICAgIHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCX0KICAgICB9IHdoaWxlIChtc2dpZHggPCBtc2dsZW4pOwogCkBAIC0xNjAyLDcgKzE1OTksNyBAQAogCQkgICAgaG9zdC0+aG9zdC0+aG9zdF9ubywgYWNvcm5zY3NpX3RhcmdldChob3N0KSk7CiAJICAgIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyID0gU1lOQ0hUUkFOU0ZFUl8yREJBOwogCSAgICBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfc3RhdGUgPSBTWU5DX0FTWU5DSFJPTk9VUzsKLQkgICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKKwkgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CiAJICAgIGJyZWFrOwogCiAJZGVmYXVsdDoKQEAgLTE2NTIsNyArMTY0OSw3IEBACiAJCWhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyID0KIAkJCWNhbGNfc3luY194ZmVyKHBlcmlvZCAqIDQsIGxlbmd0aCk7CiAJICAgIH0KLQkgICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKKwkgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CiAJICAgIGJyZWFrOwogI2Vsc2UKIAkgICAgLyogV2UgZG8gbm90IGFjY2VwdCBzeW5jaHJvbm91cyB0cmFuc2ZlcnMuICBSZXNwb25kIHdpdGggYQpAQCAtMTc5MiwxMCArMTc4OSwxMCBAQAogCiAgICAgcmVzaWR1YWwgPSBzY3NpX2J1ZmZsZW4oaG9zdC0+U0NwbnQpIC0gaG9zdC0+c2NzaS5TQ3Auc2NzaV94ZmVycmVkOwogCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCByZXNpZHVhbCA+PiAxNik7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgcmVzaWR1YWwgPj4gOCk7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgcmVzaWR1YWwpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIpOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCByZXNpZHVhbCA+PiAxNik7CisgICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIHJlc2lkdWFsID4+IDgpOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCByZXNpZHVhbCk7CiAgICAgYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAgICAgcmV0dXJuIDE7CiB9CkBAIC0xODE2LDcgKzE4MTMsNyBAQAogewogICAgIHVuc2lnbmVkIGludCB0YXJnZXQsIGx1biwgb2sgPSAwOwogCi0gICAgdGFyZ2V0ID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQpOworICAgIHRhcmdldCA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TT1VSQ0VJRCk7CiAKICAgICBpZiAoISh0YXJnZXQgJiA4KSkKIAlwcmludGsoS0VSTl9FUlIgInNjc2klZDogaW52YWxpZCBzb3VyY2UgaWQgYWZ0ZXIgcmVzZWxlY3Rpb24gIgpAQCAtMTgzMiw3ICsxODI5LDcgQEAKIAlob3N0LT5TQ3BudCA9IE5VTEw7CiAgICAgfQogCi0gICAgbHVuID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSkgJiA3OworICAgIGx1biA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19EQVRBKSAmIDc7CiAKICAgICBob3N0LT5zY3NpLnJlY29ubmVjdGVkLnRhcmdldCA9IHRhcmdldDsKICAgICBob3N0LT5zY3NpLnJlY29ubmVjdGVkLmx1biA9IGx1bjsKQEAgLTE5NTIsNyArMTk0OSw3IEBACiB2b2lkIGFjb3Juc2NzaV9hYm9ydGNtZChBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBjaGFyIHRhZykKIHsKICAgICBob3N0LT5zY3NpLnBoYXNlID0gUEhBU0VfQUJPUlRFRDsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9BU1NFUlRBVE4pOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9BU1NFUlRBVE4pOwogCiAgICAgbXNncXVldWVfZmx1c2goJmhvc3QtPnNjc2kubXNncyk7CiAjaWZkZWYgQ09ORklHX1NDU0lfQUNPUk5TQ1NJX1RBR0dFRF9RVUVVRQpAQCAtMTk3OSwxMSArMTk3NiwxMSBAQAogewogICAgIHVuc2lnbmVkIGludCBhc3IsIHNzcjsKIAotICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisgICAgYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CiAgICAgaWYgKCEoYXNyICYgQVNSX0lOVCkpCiAJcmV0dXJuIElOVFJfSURMRTsKIAotICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisgICAgc3NyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKICNpZiAoREVCVUcgJiBERUJVR19QSEFTRVMpCiAgICAgcHJpbnRfc2JpY19zdGF0dXMoYXNyLCBzc3IsIGhvc3QtPnNjc2kucGhhc2UpOwpAQCAtMTk5OSwxNSArMTk5NiwxNSBAQAogCXByaW50ayhLRVJOX0VSUiAic2NzaSVkOiByZXNldCBpbiBzdGFuZGFyZCBtb2RlIGJ1dCB3YW50ZWQgYWR2YW5jZWQgbW9kZS5cbiIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8pOwogCS8qIHNldHVwIHNiaWMgLSBXRDMzQzkzQSAqLwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19PV05JRCwgT1dOSURfRUFGIHwgaG9zdC0+aG9zdC0+dGhpc19pZCk7Ci0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfUkVTRVQpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfT1dOSUQsIE9XTklEX0VBRiB8IGhvc3QtPmhvc3QtPnRoaXNfaWQpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9SRVNFVCk7CiAJcmV0dXJuIElOVFJfSURMRTsKIAogICAgIGNhc2UgMHgwMToJCQkJLyogcmVzZXQgc3RhdGUgLSBhZHZhbmNlZAkJCSovCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVElNRU9VVCwgVElNRU9VVF9USU1FKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgU1lOQ0hUUkFOU0ZFUl8yREJBKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RJTUVPVVQsIFRJTUVPVVRfVElNRSk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBTWU5DSFRSQU5TRkVSXzJEQkEpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKIAltc2dxdWV1ZV9mbHVzaCgmaG9zdC0+c2NzaS5tc2dzKTsKIAlyZXR1cm4gSU5UUl9JRExFOwogCkBAIC0yMDI1LDEwICsyMDIyLDEwIEBACiAJICAgIG1zZ3F1ZXVlX2ZsdXNoKCZob3N0LT5zY3NpLm1zZ3MpOwogCSAgICBob3N0LT5kbWEudHJhbnNmZXJyZWQgPSBob3N0LT5zY3NpLlNDcC5zY3NpX3hmZXJyZWQ7CiAJICAgIC8qIDMzQzkzIGdpdmVzIG5leHQgaW50ZXJydXB0IGluZGljYXRpbmcgYnVzIHBoYXNlICovCi0JICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisJICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOwogCSAgICBpZiAoIShhc3IgJiBBU1JfSU5UKSkKIAkJYnJlYWs7Ci0JICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCSAgICBBRERfU1RBVFVTKDgsIHNzciwgaG9zdC0+c2NzaS5waGFzZSwgMSk7CiAJICAgIEFERF9TVEFUVVMoaG9zdC0+U0NwbnQtPmRldmljZS0+aWQsIHNzciwgaG9zdC0+c2NzaS5waGFzZSwgMSk7CiAJICAgIGdvdG8gY29ubmVjdGVkOwpAQCAtMjQ3NiwxMSArMjQ3MywxMSBAQAogICAgIGRvIHsKIAlyZXQgPSBJTlRSX0lETEU7CiAKLQlpb3N0YXR1cyA9IGluYihob3N0LT5jYXJkLmlvX2ludHIpOworCWlvc3RhdHVzID0gcmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpOwogCiAJaWYgKGlvc3RhdHVzICYgMikgewogCSAgICBhY29ybnNjc2lfZG1hX2ludHIoaG9zdCk7Ci0JICAgIGlvc3RhdHVzID0gaW5iKGhvc3QtPmNhcmQuaW9faW50cik7CisJICAgIGlvc3RhdHVzID0gcmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpOwogCX0KIAogCWlmIChpb3N0YXR1cyAmIDgpCkBAIC0yNjU1LDcgKzI2NTIsNyBAQAogCQkgKiBidXN5bHVuIGJpdC4KIAkJICovCiAJCWNhc2UgUEhBU0VfQ09OTkVDVEVEOgotCQkJc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfRElTQ09OTkVDVCk7CisJCQlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfRElTQ09OTkVDVCk7CiAJCQlob3N0LT5TQ3BudCA9IE5VTEw7CiAJCQlyZXMgPSByZXNfc3VjY2Vzc19jbGVhcjsKIAkJCWJyZWFrOwpAQCAtMjY5OSw4ICsyNjk2LDggQEAKICNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAl7CiAJCWludCBhc3IsIHNzcjsKLQkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKLQkJc3NyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKwkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisJCXNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgImFjb3Juc2NzaV9hYm9ydDogIik7CiAJCXByaW50X3NiaWNfc3RhdHVzKGFzciwgc3NyLCBob3N0LT5zY3NpLnBoYXNlKTsKQEAgLTI3MzEsOSArMjcyOCw3IEBACiAvLyNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAkJcHJpbnRrKCJzdWNjZXNzXG4iKTsKIC8vI2VuZGlmCi0JCVNDcG50LT5yZXN1bHQgPSBESURfQUJPUlQgPDwgMTY7Ci0JCVNDcG50LT5zY3NpX2RvbmUoU0NwbnQpOwotCQlyZXN1bHQgPSBTQ1NJX0FCT1JUX1NVQ0NFU1M7CisJCXJlc3VsdCA9IFNVQ0NFU1M7CiAJCWJyZWFrOwogCiAJLyoKQEAgLTI3NDUsNyArMjc0MCw3IEBACiAvLyNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAkJcHJpbnRrKCJzbm9vemVcbiIpOwogLy8jZW5kaWYKLQkJcmVzdWx0ID0gU0NTSV9BQk9SVF9TTk9PWkU7CisJCXJlc3VsdCA9IEZBSUxFRDsKIAkJYnJlYWs7CiAKIAkvKgpAQCAtMjc1NSwxMSArMjc1MCw3IEBACiAJZGVmYXVsdDoKIAljYXNlIHJlc19ub3RfcnVubmluZzoKIAkJYWNvcm5zY3NpX2R1bXBsb2coaG9zdCwgU0NwbnQtPmRldmljZS0+aWQpOwotI2lmIChERUJVRyAmIERFQlVHX0FCT1JUKQotCQlyZXN1bHQgPSBTQ1NJX0FCT1JUX1NOT09aRTsKLSNlbHNlCi0JCXJlc3VsdCA9IFNDU0lfQUJPUlRfTk9UX1JVTk5JTkc7Ci0jZW5kaWYKKwkJcmVzdWx0ID0gRkFJTEVEOwogLy8jaWYgKERFQlVHICYgREVCVUdfQUJPUlQpCiAJCXByaW50aygibm90IHJ1bm5pbmdcbiIpOwogLy8jZW5kaWYKQEAgLTI3NzAsMTMgKzI3NjEsMTIgQEAKIH0KIAogLyoKLSAqIFByb3RvdHlwZTogaW50IGFjb3Juc2NzaV9yZXNldChzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCwgdW5zaWduZWQgaW50IHJlc2V0X2ZsYWdzKQorICogUHJvdG90eXBlOiBpbnQgYWNvcm5zY3NpX3Jlc2V0KHN0cnVjdCBzY3NpX2NtbmQgKlNDcG50KQogICogUHVycG9zZSAgOiByZXNldCBhIGNvbW1hbmQgb24gdGhpcyBob3N0L3Jlc2V0IHRoaXMgaG9zdAogICogUGFyYW1zICAgOiBTQ3BudCAgLSBjb21tYW5kIGNhdXNpbmcgcmVzZXQKLSAqCSAgICAgIHJlc3VsdCAtIHdoYXQgdHlwZSBvZiByZXNldCB0byBwZXJmb3JtCiAgKiBSZXR1cm5zICA6IG9uZSBvZiBTQ1NJX1JFU0VUXyBtYWNyb3MKICAqLwotaW50IGFjb3Juc2NzaV9yZXNldChzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCwgdW5zaWduZWQgaW50IHJlc2V0X2ZsYWdzKQoraW50IGFjb3Juc2NzaV9idXNfcmVzZXQoc3RydWN0IHNjc2lfY21uZCAqU0NwbnQpCiB7CiAJQVNfSG9zdCAqaG9zdCA9IChBU19Ib3N0ICopU0NwbnQtPmRldmljZS0+aG9zdC0+aG9zdGRhdGE7CiAJc3RydWN0IHNjc2lfY21uZCAqU0NwdHI7CkBAIC0yNzg3LDggKzI3NzcsOCBAQAogICAgIHsKIAlpbnQgYXNyLCBzc3I7CiAKLQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOwotCXNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisJc3NyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKIAlwcmludGsoS0VSTl9XQVJOSU5HICJhY29ybnNjc2lfcmVzZXQ6ICIpOwogCXByaW50X3NiaWNfc3RhdHVzKGFzciwgc3NyLCBob3N0LT5zY3NpLnBoYXNlKTsKQEAgLTI3OTgsMjggKzI3ODgsMTYgQEAKIAogICAgIGFjb3Juc2NzaV9kbWFfc3RvcChob3N0KTsKIAotICAgIFNDcHRyID0gaG9zdC0+U0NwbnQ7Ci0KICAgICAvKgogICAgICAqIGRvIGhhcmQgcmVzZXQuICBUaGlzIHJlc2V0cyBhbGwgZGV2aWNlcyBvbiB0aGlzIGhvc3QsIGFuZCBzbyB3ZQogICAgICAqIG11c3Qgc2V0IHRoZSByZXNldCBzdGF0dXMgb24gYWxsIGNvbW1hbmRzLgogICAgICAqLwogICAgIGFjb3Juc2NzaV9yZXNldGNhcmQoaG9zdCk7CiAKLSAgICAvKgotICAgICAqIHJlcG9ydCByZXNldCBvbiBjb21tYW5kcyBjdXJyZW50IGNvbm5lY3RlZC9kaXNjb25uZWN0ZWQKLSAgICAgKi8KLSAgICBhY29ybnNjc2lfcmVwb3J0c3RhdHVzKCZob3N0LT5TQ3BudCwgJlNDcHRyLCBESURfUkVTRVQpOwotCiAgICAgd2hpbGUgKChTQ3B0ciA9IHF1ZXVlX3JlbW92ZSgmaG9zdC0+cXVldWVzLmRpc2Nvbm5lY3RlZCkpICE9IE5VTEwpCi0JYWNvcm5zY3NpX3JlcG9ydHN0YXR1cygmU0NwdHIsICZTQ3BudCwgRElEX1JFU0VUKTsKKwk7CiAKLSAgICBpZiAoU0NwbnQpIHsKLQlTQ3BudC0+cmVzdWx0ID0gRElEX1JFU0VUIDw8IDE2OwotCVNDcG50LT5zY3NpX2RvbmUoU0NwbnQpOwotICAgIH0KLQotICAgIHJldHVybiBTQ1NJX1JFU0VUX0JVU19SRVNFVCB8IFNDU0lfUkVTRVRfSE9TVF9SRVNFVCB8IFNDU0lfUkVTRVRfU1VDQ0VTUzsKKyAgICByZXR1cm4gU1VDQ0VTUzsKIH0KIAogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0yODUwLDcgKzI4MjgsNyBAQAogICAgICIgTElOSyIKICNlbmRpZgogI2lmIChERUJVRyAmIERFQlVHX05PX1dSSVRFKQotICAgICIgTk9XUklURSAoIk5PX1dSSVRFX1NUUiIpIgorICAgICIgTk9XUklURSAoIiBfX3N0cmluZ2lmeShOT19XUklURSkgIikiCiAjZW5kaWYKIAkJLCBob3N0LT5ob3N0dC0+bmFtZSwgaG9zdC0+aW9fcG9ydCwgaG9zdC0+aXJxLAogCQlWRVJfTUFKT1IsIFZFUl9NSU5PUiwgVkVSX1BBVENIKTsKQEAgLTI4ODEsMTUgKzI4NTksMTUgQEAKICAgICAiIExJTksiCiAjZW5kaWYKICNpZiAoREVCVUcgJiBERUJVR19OT19XUklURSkKLSAgICAiIE5PV1JJVEUgKCJOT19XUklURV9TVFIiKSIKKyAgICAiIE5PV1JJVEUgKCIgX19zdHJpbmdpZnkoTk9fV1JJVEUpICIpIgogI2VuZGlmCiAJCSJcblxuIiwgVkVSX01BSk9SLCBWRVJfTUlOT1IsIFZFUl9QQVRDSCk7CiAKLSAgICBwICs9IHNwcmludGYocCwJIlNCSUM6IFdEMzNDOTNBICBBZGRyZXNzOiAlMDhYICBJUlEgOiAlZFxuIiwKLQkJCWhvc3QtPnNjc2kuaW9fcG9ydCwgaG9zdC0+c2NzaS5pcnEpOworICAgIHAgKz0gc3ByaW50ZihwLAkiU0JJQzogV0QzM0M5M0EgIEFkZHJlc3M6ICVwICAgIElSUSA6ICVkXG4iLAorCQkJaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYLCBob3N0LT5zY3NpLmlycSk7CiAjaWZkZWYgVVNFX0RNQUMKLSAgICBwICs9IHNwcmludGYocCwJIkRNQUM6IHVQQzcxMDcxICBBZGRyZXNzOiAlMDhYICBJUlEgOiAlZFxuXG4iLAotCQkJaG9zdC0+ZG1hLmlvX3BvcnQsIGhvc3QtPnNjc2kuaXJxKTsKKyAgICBwICs9IHNwcmludGYocCwJIkRNQUM6IHVQQzcxMDcxICBBZGRyZXNzOiAlcCAgSVJRIDogJWRcblxuIiwKKwkJCWhvc3QtPmJhc2UgKyBETUFDX09GRlNFVCwgaG9zdC0+c2NzaS5pcnEpOwogI2VuZGlmCiAKICAgICBwICs9IHNwcmludGYocCwJIlN0YXRpc3RpY3M6XG4iCkBAIC0yOTc2LDkgKzI5NTQsOCBAQAogCS5uYW1lCQkJPSAiQWNvcm5TQ1NJIiwKIAkuaW5mbwkJCT0gYWNvcm5zY3NpX2luZm8sCiAJLnF1ZXVlY29tbWFuZAkJPSBhY29ybnNjc2lfcXVldWVjbWQsCi0jd2FybmluZyBmaXhtZQotCS5hYm9ydAkJCT0gYWNvcm5zY3NpX2Fib3J0LAotCS5yZXNldAkJCT0gYWNvcm5zY3NpX3Jlc2V0LAorCS5laF9hYm9ydF9oYW5kbGVyCT0gYWNvcm5zY3NpX2Fib3J0LAorCS5laF9idXNfcmVzZXRfaGFuZGxlcgk9IGFjb3Juc2NzaV9idXNfcmVzZXQsCiAJLmNhbl9xdWV1ZQkJPSAxNiwKIAkudGhpc19pZAkJPSA3LAogCS5zZ190YWJsZXNpemUJCT0gU0dfQUxMLApAQCAtMjk5Miw0OCArMjk2OSwzNyBAQAogewogCXN0cnVjdCBTY3NpX0hvc3QgKmhvc3Q7CiAJQVNfSG9zdCAqYXNob3N0OwotCWludCByZXQgPSAtRU5PTUVNOworCWludCByZXQ7CisKKwlyZXQgPSBlY2FyZF9yZXF1ZXN0X3Jlc291cmNlcyhlYyk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CiAKIAlob3N0ID0gc2NzaV9ob3N0X2FsbG9jKCZhY29ybnNjc2lfdGVtcGxhdGUsIHNpemVvZihBU19Ib3N0KSk7Ci0JaWYgKCFob3N0KQotCQlnb3RvIG91dDsKKwlpZiAoIWhvc3QpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfcmVsZWFzZTsKKwl9CiAKIAlhc2hvc3QgPSAoQVNfSG9zdCAqKWhvc3QtPmhvc3RkYXRhOwogCi0JaG9zdC0+aW9fcG9ydCA9IGVjYXJkX2FkZHJlc3MoZWMsIEVDQVJEX01FTUMsIDApOworCWFzaG9zdC0+YmFzZSA9IGVjYXJkbV9pb21hcChlYywgRUNBUkRfUkVTX01FTUMsIDAsIDApOworCWFzaG9zdC0+ZmFzdCA9IGVjYXJkbV9pb21hcChlYywgRUNBUkRfUkVTX0lPQ0ZBU1QsIDAsIDApOworCWlmICghYXNob3N0LT5iYXNlIHx8ICFhc2hvc3QtPmZhc3QpCisJCWdvdG8gb3V0X3B1dDsKKwogCWhvc3QtPmlycSA9IGVjLT5pcnE7CisJYXNob3N0LT5ob3N0ID0gaG9zdDsKKwlhc2hvc3QtPnNjc2kuaXJxID0gaG9zdC0+aXJxOwogCi0JYXNob3N0LT5ob3N0CQk9IGhvc3Q7Ci0JYXNob3N0LT5zY3NpLmlvX3BvcnQJPSBpb2FkZHIoaG9zdC0+aW9fcG9ydCArIDB4ODAwKTsKLQlhc2hvc3QtPnNjc2kuaXJxCT0gaG9zdC0+aXJxOwotCWFzaG9zdC0+Y2FyZC5pb19pbnRyCT0gUE9EX1NQQUNFKGhvc3QtPmlvX3BvcnQpICsgMHg4MDA7Ci0JYXNob3N0LT5jYXJkLmlvX3BhZ2UJPSBQT0RfU1BBQ0UoaG9zdC0+aW9fcG9ydCkgKyAweGMwMDsKLQlhc2hvc3QtPmNhcmQuaW9fcmFtCT0gaW9hZGRyKGhvc3QtPmlvX3BvcnQpOwotCWFzaG9zdC0+ZG1hLmlvX3BvcnQJPSBob3N0LT5pb19wb3J0ICsgMHhjMDA7Ci0JYXNob3N0LT5kbWEuaW9faW50cl9jbGVhciA9IFBPRF9TUEFDRShob3N0LT5pb19wb3J0KSArIDB4ODAwOwotCi0JZWMtPmlycWFkZHIJPSAoY2hhciAqKWlvYWRkcihhc2hvc3QtPmNhcmQuaW9faW50cik7CisJZWMtPmlycWFkZHIJPSBhc2hvc3QtPmZhc3QgKyBJTlRfUkVHOwogCWVjLT5pcnFtYXNrCT0gMHgwYTsKIAotCXJldCA9IC1FQlVTWTsKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGhvc3QtPmlvX3BvcnQgKyAweDgwMCwgMiwgImFjb3Juc2NzaShzYmljKSIpKQotCQlnb3RvIGVycl8xOwotCWlmICghcmVxdWVzdF9yZWdpb24oYXNob3N0LT5jYXJkLmlvX2ludHIsIDEsICJhY29ybnNjc2koaW50cikiKSkKLQkJZ290byBlcnJfMjsKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19wYWdlLCAxLCAiYWNvcm5zY3NpKHBhZ2UpIikpCi0JCWdvdG8gZXJyXzM7Ci0jaWZkZWYgVVNFX0RNQUMKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGFzaG9zdC0+ZG1hLmlvX3BvcnQsIDI1NiwgImFjb3Juc2NzaShkbWFjKSIpKQotCQlnb3RvIGVycl80OwotI2VuZGlmCi0JaWYgKCFyZXF1ZXN0X3JlZ2lvbihob3N0LT5pb19wb3J0LCAyMDQ4LCAiYWNvcm5zY3NpKHJhbSkiKSkKLQkJZ290byBlcnJfNTsKLQogCXJldCA9IHJlcXVlc3RfaXJxKGhvc3QtPmlycSwgYWNvcm5zY3NpX2ludHIsIElSUUZfRElTQUJMRUQsICJhY29ybnNjc2kiLCBhc2hvc3QpOwogCWlmIChyZXQpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAic2NzaSVkOiBJUlElZCBub3QgZnJlZTogJWRcbiIsCiAJCQlob3N0LT5ob3N0X25vLCBhc2hvc3QtPnNjc2kuaXJxLCByZXQpOwotCQlnb3RvIGVycl82OworCQlnb3RvIG91dF9wdXQ7CiAJfQogCiAJbWVtc2V0KCZhc2hvc3QtPnN0YXRzLCAwLCBzaXplb2YgKGFzaG9zdC0+c3RhdHMpKTsKQEAgLTMwNDUsMjcgKzMwMTEsMjIgQEAKIAogCXJldCA9IHNjc2lfYWRkX2hvc3QoaG9zdCwgJmVjLT5kZXYpOwogCWlmIChyZXQpCi0JCWdvdG8gZXJyXzc7CisJCWdvdG8gb3V0X2lycTsKIAogCXNjc2lfc2Nhbl9ob3N0KGhvc3QpOwogCWdvdG8gb3V0OwogCi0gZXJyXzc6Cisgb3V0X2lycToKIAlmcmVlX2lycShob3N0LT5pcnEsIGFzaG9zdCk7Ci0gZXJyXzY6Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCwgMjA0OCk7Ci0gZXJyXzU6Ci0jaWZkZWYgVVNFX0RNQUMKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmRtYS5pb19wb3J0LCAyNTYpOwotI2VuZGlmCi0gZXJyXzQ6Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5jYXJkLmlvX3BhZ2UsIDEpOwotIGVycl8zOgotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19pbnRyLCAxKTsgICAgCi0gZXJyXzI6Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCArIDB4ODAwLCAyKTsKLSBlcnJfMToKKwltc2dxdWV1ZV9mcmVlKCZhc2hvc3QtPnNjc2kubXNncyk7CisJcXVldWVfZnJlZSgmYXNob3N0LT5xdWV1ZXMuZGlzY29ubmVjdGVkKTsKKwlxdWV1ZV9mcmVlKCZhc2hvc3QtPnF1ZXVlcy5pc3N1ZSk7Cisgb3V0X3B1dDoKKwllY2FyZG1faW91bm1hcChlYywgYXNob3N0LT5mYXN0KTsKKwllY2FyZG1faW91bm1hcChlYywgYXNob3N0LT5iYXNlKTsKIAlzY3NpX2hvc3RfcHV0KGhvc3QpOworIG91dF9yZWxlYXNlOgorCWVjYXJkX3JlbGVhc2VfcmVzb3VyY2VzKGVjKTsKICBvdXQ6CiAJcmV0dXJuIHJldDsKIH0KQEAgLTMwODEsMjAgKzMwNDIsMTcgQEAKIAkvKgogCSAqIFB1dCBjYXJkIGludG8gUkVTRVQgc3RhdGUKIAkgKi8KLQlvdXRiKDB4ODAsIGFzaG9zdC0+Y2FyZC5pb19wYWdlKTsKKwl3cml0ZWIoMHg4MCwgYXNob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCiAJZnJlZV9pcnEoaG9zdC0+aXJxLCBhc2hvc3QpOwogCi0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCArIDB4ODAwLCAyKTsKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmNhcmQuaW9faW50ciwgMSk7Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5jYXJkLmlvX3BhZ2UsIDEpOwotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+ZG1hLmlvX3BvcnQsIDI1Nik7Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCwgMjA0OCk7Ci0KIAltc2dxdWV1ZV9mcmVlKCZhc2hvc3QtPnNjc2kubXNncyk7CiAJcXVldWVfZnJlZSgmYXNob3N0LT5xdWV1ZXMuZGlzY29ubmVjdGVkKTsKIAlxdWV1ZV9mcmVlKCZhc2hvc3QtPnF1ZXVlcy5pc3N1ZSk7CisJZWNhcmRtX2lvdW5tYXAoZWMsIGFzaG9zdC0+ZmFzdCk7CisJZWNhcmRtX2lvdW5tYXAoZWMsIGFzaG9zdC0+YmFzZSk7CiAJc2NzaV9ob3N0X3B1dChob3N0KTsKKwllY2FyZF9yZWxlYXNlX3Jlc291cmNlcyhlYyk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZWNhcmRfaWQgYWNvcm5zY3NpX2NpZHNbXSA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmggYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5oCmluZGV4IGQxMTQyNGIuLjhkMjE3MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmgKKysrIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuaApAQCAtMTc5LDcgKzE3OSw2IEBACiAKIC8qIG1pc2NlbGxhbmVvdXMgaW50ZXJuYWwgdmFyaWFibGVzICovCiAKLSNkZWZpbmUgUE9EX1NQQUNFKHgpCSgoeCkgKyAweGQwMDAwKQogI2RlZmluZSBNQVNLX09OCQkoTUFTS1JFR19NM3xNQVNLUkVHX00yfE1BU0tSRUdfTTF8TUFTS1JFR19NMCkKICNkZWZpbmUgTUFTS19PRkYJKE1BU0tSRUdfTTN8TUFTS1JFR19NMnxNQVNLUkVHX00xKQogCkBAIC0yNzksMTAgKzI3OCwxMSBAQAogICAgIHN0cnVjdCBTY3NpX0hvc3QJKmhvc3Q7CQkJLyogaG9zdAkJCQkJKi8KICAgICBzdHJ1Y3Qgc2NzaV9jbW5kCSpTQ3BudDsJCQkvKiBjdXJyZW50bHkgcHJvY2Vzc2luZyBjb21tYW5kCQkqLwogICAgIHN0cnVjdCBzY3NpX2NtbmQJKm9yaWdTQ3BudDsJCS8qIG9yaWdpbmFsIGNvbm5lY3RpbmcgY29tbWFuZAkJKi8KKyAgICB2b2lkIF9faW9tZW0JKmJhc2U7CQkJLyogbWVtYyBiYXNlIGFkZHJlc3MgCQkJKi8KKyAgICB2b2lkIF9faW9tZW0JKmZhc3Q7CQkJLyogZmFzdCBpb2MgYmFzZSBhZGRyZXNzCQkqLwogCiAgICAgLyogZHJpdmVyIGluZm9ybWF0aW9uICovCiAgICAgc3RydWN0IHsKLQl1bnNpZ25lZCBpbnQJaW9fcG9ydDsJCS8qIGJhc2UgYWRkcmVzcyBvZiBXRDMzQzkzCQkqLwogCXVuc2lnbmVkIGludAlpcnE7CQkJLyogaW50ZXJydXB0CQkJCSovCiAJcGhhc2VfdAkJcGhhc2U7CQkJLyogY3VycmVudCBwaGFzZQkJCSovCiAKQEAgLTMyOSw4ICszMjksNiBAQAogCiAgICAgLyogRE1BIGluZm8gKi8KICAgICBzdHJ1Y3QgewotCXVuc2lnbmVkIGludAlpb19wb3J0OwkJLyogYmFzZSBhZGRyZXNzIG9mIERNQSBjb250cm9sbGVyCSovCi0JdW5zaWduZWQgaW50CWlvX2ludHJfY2xlYXI7CQkvKiBhZGRyZXNzIG9mIERNQSBpbnRlcnJ1cHQgY2xlYXIJKi8KIAl1bnNpZ25lZCBpbnQJZnJlZV9hZGRyOwkJLyogbmV4dCBmcmVlIGFkZHJlc3MJCQkqLwogCXVuc2lnbmVkIGludAlzdGFydF9hZGRyOwkJLyogc3RhcnQgYWRkcmVzcyBvZiBjdXJyZW50IHRyYW5zZmVyCSovCiAJZG1hZGlyX3QJZGlyZWN0aW9uOwkJLyogZG1hIGRpcmVjdGlvbgkJCSovCkBAIC0zNDUsOSArMzQzLDYgQEAKIAogICAgIC8qIGNhcmQgaW5mbyAqLwogICAgIHN0cnVjdCB7Ci0JdW5zaWduZWQgaW50CWlvX2ludHI7CQkvKiBiYXNlIGFkZHJlc3Mgb2YgaW50ZXJydXB0IGlkIHJlZwkqLwotCXVuc2lnbmVkIGludAlpb19wYWdlOwkJLyogYmFzZSBhZGRyZXNzIG9mIHBhZ2UgcmVnCQkqLwotCXVuc2lnbmVkIGludAlpb19yYW07CQkJLyogYmFzZSBhZGRyZXNzIG9mIFJBTSBhY2Nlc3MJCSovCiAJdW5zaWduZWQgY2hhcglwYWdlX3JlZzsJCS8qIGN1cnJlbnQgc2V0dGluZyBvZiBwYWdlIHJlZwkJKi8KICAgICB9IGNhcmQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9jaC5jIGIvZHJpdmVycy9zY3NpL2NoLmMKaW5kZXggYzRiOTM4Yi4uYWEyMDExYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2NoLmMKKysrIGIvZHJpdmVycy9zY3NpL2NoLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jaGlvLmg+CQkJLyogaGVyZSBhcmUgYWxsIHRoZSBpb2N0bHMgKi8KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfY21uZC5oPgpAQCAtNTcxLDE2ICs1NzIsMTkgQEAKIAlzY3NpX2NoYW5nZXIgKmNoOwogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmY2hfaW5kZXhfbG9jayk7CiAJY2ggPSBpZHJfZmluZCgmY2hfaW5kZXhfaWRyLCBtaW5vcik7CiAKIAlpZiAoTlVMTCA9PSBjaCB8fCBzY3NpX2RldmljZV9nZXQoY2gtPmRldmljZSkpIHsKIAkJc3Bpbl91bmxvY2soJmNoX2luZGV4X2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCXNwaW5fdW5sb2NrKCZjaF9pbmRleF9sb2NrKTsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNoOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2RwdF9pMm8uYyBiL2RyaXZlcnMvc2NzaS9kcHRfaTJvLmMKaW5kZXggODUwODgxNi4uMmJjMzBlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2RwdF9pMm8uYworKysgYi9kcml2ZXJzL3Njc2kvZHB0X2kyby5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CS8qIGZvciBwcmludGsgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogCkBAIC0xNzI3LDEwICsxNzI4LDEyIEBACiAJaW50IG1pbm9yOwogCWFkcHRfaGJhKiBwSGJhOwogCisJbG9ja19rZXJuZWwoKTsKIAkvL1RPRE8gY2hlY2sgZm9yIHJvb3QgYWNjZXNzCiAJLy8KIAltaW5vciA9IGltaW5vcihpbm9kZSk7CiAJaWYgKG1pbm9yID49IGhiYV9jb3VudCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCW11dGV4X2xvY2soJmFkcHRfY29uZmlndXJhdGlvbl9sb2NrKTsKQEAgLTE3NDEsNiArMTc0NCw3IEBACiAJfQogCWlmIChwSGJhID09IE5VTEwpIHsKIAkJbXV0ZXhfdW5sb2NrKCZhZHB0X2NvbmZpZ3VyYXRpb25fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKIAl9CiAKQEAgLTE3NTEsNiArMTc1NSw3IEBACiAKIAlwSGJhLT5pbl91c2UgPSAxOwogCW11dGV4X3VubG9jaygmYWRwdF9jb25maWd1cmF0aW9uX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2dkdGguYyBiL2RyaXZlcnMvc2NzaS9nZHRoLmMKaW5kZXggNDY3NzFkNC4uODIyZDUyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2dkdGguYworKysgYi9kcml2ZXJzL3Njc2kvZ2R0aC5jCkBAIC0xMjAsNiArMTIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpZmRlZiBHRFRIX1JUQwogI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CkBAIC00MDE5LDEwICs0MDIwLDEyIEBACiB7CiAgICAgZ2R0aF9oYV9zdHIgKmhhOwogCisgICAgbG9ja19rZXJuZWwoKTsKICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGhhLCAmZ2R0aF9pbnN0YW5jZXMsIGxpc3QpIHsKICAgICAgICAgaWYgKCFoYS0+c2RldikKICAgICAgICAgICAgIGhhLT5zZGV2ID0gc2NzaV9nZXRfaG9zdF9kZXYoaGEtPnNob3N0KTsKICAgICB9CisgICAgdW5sb2NrX2tlcm5lbCgpOwogCiAgICAgVFJBQ0UoKCJnZHRoX29wZW4oKVxuIikpOwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2lkZS1zY3NpLmMgYi9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYwppbmRleCA0NGQ4ZDUxLi42ODNiY2UzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYworKysgYi9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYwpAQCAtNjAsNiArNjAsMTMgQEAKIAogI2RlZmluZSBJREVTQ1NJX0RFQlVHX0xPRwkJMAogCisjaWYgSURFU0NTSV9ERUJVR19MT0cKKyNkZWZpbmUgZGVidWdfbG9nKGZtdCwgYXJncy4uLikgXAorCXByaW50ayhLRVJOX0lORk8gImlkZS1zY3NpOiAiIGZtdCwgIyMgYXJncykKKyNlbHNlCisjZGVmaW5lIGRlYnVnX2xvZyhmbXQsIGFyZ3MuLi4pIGRvIHt9IHdoaWxlICgwKQorI2VuZGlmCisKIC8qCiAgKglTQ1NJIGNvbW1hbmQgdHJhbnNmb3JtYXRpb24gbGF5ZXIKICAqLwpAQCAtMTI5LDE0ICsxMzYsMTUgQEAKICNkZWZpbmUgSURFU0NTSV9QQ19SUQkJCTkwCiAKIC8qCi0gKglQSU8gZGF0YSB0cmFuc2ZlciByb3V0aW5lcyB1c2luZyB0aGUgc2NhdHRlciBnYXRoZXIgdGFibGUuCisgKglQSU8gZGF0YSB0cmFuc2ZlciByb3V0aW5lIHVzaW5nIHRoZSBzY2F0dGVyIGdhdGhlciB0YWJsZS4KICAqLwotc3RhdGljIHZvaWQgaWRlc2NzaV9pbnB1dF9idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCi0JCXVuc2lnbmVkIGludCBiY291bnQpCitzdGF0aWMgdm9pZCBpZGVfc2NzaV9pb19idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkJdW5zaWduZWQgaW50IGJjb3VudCwgaW50IHdyaXRlKQogewogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpbnQgY291bnQ7CisJeGZlcl9mdW5jX3QgKnhmID0gd3JpdGUgPyBod2lmLT5vdXRwdXRfZGF0YSA6IGh3aWYtPmlucHV0X2RhdGE7CiAJY2hhciAqYnVmOworCWludCBjb3VudDsKIAogCXdoaWxlIChiY291bnQpIHsKIAkJY291bnQgPSBtaW4ocGMtPnNnLT5sZW5ndGggLSBwYy0+Yl9jb3VudCwgYmNvdW50KTsKQEAgLTE0NSwxMyArMTUzLDEzIEBACiAKIAkJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAkJCWJ1ZiA9IGttYXBfYXRvbWljKHNnX3BhZ2UocGMtPnNnKSwgS01fSVJRMCkgKwotCQkJCQlwYy0+c2ctPm9mZnNldDsKLQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7CisJCQkJCSAgcGMtPnNnLT5vZmZzZXQ7CisJCQl4Zihkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKIAkJCWt1bm1hcF9hdG9taWMoYnVmIC0gcGMtPnNnLT5vZmZzZXQsIEtNX0lSUTApOwogCQkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCQl9IGVsc2UgewogCQkJYnVmID0gc2dfdmlydChwYy0+c2cpOwotCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKKwkJCXhmKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOwogCQl9CiAJCWJjb3VudCAtPSBjb3VudDsgcGMtPmJfY291bnQgKz0gY291bnQ7CiAJCWlmIChwYy0+Yl9jb3VudCA9PSBwYy0+c2ctPmxlbmd0aCkgewpAQCAtMTYzLDQ1ICsxNzEsMTAgQEAKIAl9CiAKIAlpZiAoYmNvdW50KSB7Ci0JCXByaW50ayAoS0VSTl9FUlIgImlkZS1zY3NpOiBzY2F0dGVyIGdhdGhlciB0YWJsZSB0b28gc21hbGwsIGRpc2NhcmRpbmcgZGF0YVxuIik7Ci0JCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBpZGVzY3NpX291dHB1dF9idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCi0JCXVuc2lnbmVkIGludCBiY291bnQpCi17Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCWludCBjb3VudDsKLQljaGFyICpidWY7Ci0KLQl3aGlsZSAoYmNvdW50KSB7Ci0JCWNvdW50ID0gbWluKHBjLT5zZy0+bGVuZ3RoIC0gcGMtPmJfY291bnQsIGJjb3VudCk7Ci0JCWlmIChQYWdlSGlnaE1lbShzZ19wYWdlKHBjLT5zZykpKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JCQlidWYgPSBrbWFwX2F0b21pYyhzZ19wYWdlKHBjLT5zZyksIEtNX0lSUTApICsKLQkJCQkJCXBjLT5zZy0+b2Zmc2V0OwotCQkJaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7Ci0JCQlrdW5tYXBfYXRvbWljKGJ1ZiAtIHBjLT5zZy0+b2Zmc2V0LCBLTV9JUlEwKTsKLQkJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQkJfSBlbHNlIHsKLQkJCWJ1ZiA9IHNnX3ZpcnQocGMtPnNnKTsKLQkJCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOwotCQl9Ci0JCWJjb3VudCAtPSBjb3VudDsgcGMtPmJfY291bnQgKz0gY291bnQ7Ci0JCWlmIChwYy0+Yl9jb3VudCA9PSBwYy0+c2ctPmxlbmd0aCkgewotCQkJaWYgKCEtLXBjLT5zZ19jbnQpCi0JCQkJYnJlYWs7Ci0JCQlwYy0+c2cgPSBzZ19uZXh0KHBjLT5zZyk7Ci0JCQlwYy0+Yl9jb3VudCA9IDA7Ci0JCX0KLQl9Ci0KLQlpZiAoYmNvdW50KSB7Ci0JCXByaW50ayAoS0VSTl9FUlIgImlkZS1zY3NpOiBzY2F0dGVyIGdhdGhlciB0YWJsZSB0b28gc21hbGwsIHBhZGRpbmcgd2l0aCB6ZXJvc1xuIik7Ci0JCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDEsIGJjb3VudCk7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IHNjYXR0ZXIgZ2F0aGVyIHRhYmxlIHRvbyBzbWFsbCwgJXNcbiIsCisJCQkJZHJpdmUtPm5hbWUsIHdyaXRlID8gInBhZGRpbmcgd2l0aCB6ZXJvcyIKKwkJCQkJCSAgIDogImRpc2NhcmRpbmcgZGF0YSIpOworCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCB3cml0ZSwgYmNvdW50KTsKIAl9CiB9CiAKQEAgLTIxMCw2ICsxODMsMjQgQEAKIAlwcmludF9oZXhfZHVtcChLRVJOX0NPTlQsICIiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwgZGF0YSwgbGVuLCAwKTsKIH0KIAorc3RhdGljIGludCBpZGVzY3NpX2VuZF9yZXF1ZXN0KGlkZV9kcml2ZV90ICosIGludCwgaW50KTsKKworc3RhdGljIHZvaWQgaWRlX3Njc2lfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQoreworCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7CisJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBzY3NpLT5wYzsKKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1RJTUVET1VUKQorCQlkZWJ1Z19sb2coIiVzOiBnb3QgdGltZWQgb3V0IHBhY2tldCAlbHUgYXQgJWx1XG4iLCBfX2Z1bmNfXywKKwkJCSAgcGMtPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyLCBqaWZmaWVzKTsKKwkJLyogZW5kIHRoaXMgcmVxdWVzdCBub3cgLSBzY3NpIHNob3VsZCByZXRyeSBpdCovCisJZWxzZSBpZiAodGVzdF9iaXQoSURFU0NTSV9MT0dfQ01ELCAmc2NzaS0+bG9nKSkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyIKKwkJCQkgIiB0cmFuc2ZlcnJlZFxuIiwgcGMtPnhmZXJyZWQpOworCisJaWRlc2NzaV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Cit9CisKIHN0YXRpYyBpbnQgaWRlc2NzaV9jaGVja19jb25kaXRpb24oaWRlX2RyaXZlX3QgKmRyaXZlLAogCQlzdHJ1Y3QgcmVxdWVzdCAqZmFpbGVkX2NtZCkKIHsKQEAgLTIyOCwxNCArMjE5LDE2IEBACiAJCWtmcmVlKHBjKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlkZV9pbml0X2RyaXZlX2NtZChycSk7CisJYmxrX3JxX2luaXQoTlVMTCwgcnEpOwogCXJxLT5zcGVjaWFsID0gKGNoYXIgKikgcGM7CiAJcGMtPnJxID0gcnE7CiAJcGMtPmJ1ZiA9IGJ1ZjsKIAlwYy0+Y1swXSA9IFJFUVVFU1RfU0VOU0U7CiAJcGMtPmNbNF0gPSBwYy0+cmVxX3hmZXIgPSBwYy0+YnVmX3NpemUgPSBTQ1NJX1NFTlNFX0JVRkZFUlNJWkU7CiAJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU0VOU0U7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKIAlwYy0+dGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1JFQURZOworCXBjLT5jYWxsYmFjayA9IGlkZV9zY3NpX2NhbGxiYWNrOwogCS8qIE5PVEUhIFNhdmUgdGhlIGZhaWxlZCBwYWNrZXQgY29tbWFuZCBpbiAicnEtPmJ1ZmZlciIgKi8KIAlycS0+YnVmZmVyID0gKHZvaWQgKikgZmFpbGVkX2NtZC0+c3BlY2lhbDsKIAlwYy0+c2NzaV9jbWQgPSAoKHN0cnVjdCBpZGVfYXRhcGlfcGMgKikgZmFpbGVkX2NtZC0+c3BlY2lhbCktPnNjc2lfY21kOwpAQCAtMjQ0LDExICsyMzcsMTAgQEAKIAkJaWRlX3Njc2lfaGV4X2R1bXAocGMtPmMsIDYpOwogCX0KIAlycS0+cnFfZGlzayA9IHNjc2ktPmRpc2s7Ci0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfcHJlZW1wdCk7CisJaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEpOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGlkZXNjc2lfZW5kX3JlcXVlc3QoaWRlX2RyaXZlX3QgKiwgaW50LCBpbnQpOwotCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90CiBpZGVzY3NpX2F0YXBpX2Vycm9yKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxLCB1OCBzdGF0LCB1OCBlcnIpCiB7CkBAIC0yNTYsNyArMjQ4LDcgQEAKIAogCWlmIChpZGVfcmVhZF9zdGF0dXMoZHJpdmUpICYgKEJVU1lfU1RBVCB8IERSUV9TVEFUKSkKIAkJLyogZm9yY2UgYW4gYWJvcnQgKi8KLQkJaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9JRExFSU1NRURJQVRFLAorCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fSURMRUlNTUVESUFURSwKIAkJCSAgICAgICBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCiAJcnEtPmVycm9ycysrOwpAQCAtMjY5LDEwICsyNjEsOSBAQAogc3RhdGljIGlkZV9zdGFydHN0b3BfdAogaWRlc2NzaV9hdGFwaV9hYm9ydChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSkKIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayhLRVJOX1dBUk5JTkcgImlkZXNjc2lfYXRhcGlfYWJvcnQgY2FsbGVkIGZvciAlbHVcbiIsCisJZGVidWdfbG9nKCIlcyBjYWxsZWQgZm9yICVsdVxuIiwgX19mdW5jX18sCiAJCSgoc3RydWN0IGlkZV9hdGFwaV9wYyAqKSBycS0+c3BlY2lhbCktPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyKTsKLSNlbmRpZgorCiAJcnEtPmVycm9ycyB8PSBFUlJPUl9NQVg7CiAKIAlpZGVzY3NpX2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKQEAgLTM1MSw5ICszNDIsOSBAQAogCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7CiAJc3RydWN0IGlkZV9hdGFwaV9wYyAgICpwYyAgID0gc2NzaS0+cGM7CiAKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayhLRVJOX1dBUk5JTkcgImlkZXNjc2lfZXhwaXJ5IGNhbGxlZCBmb3IgJWx1IGF0ICVsdVxuIiwgcGMtPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyLCBqaWZmaWVzKTsKLSNlbmRpZgorCWRlYnVnX2xvZygiJXMgY2FsbGVkIGZvciAlbHUgYXQgJWx1XG4iLCBfX2Z1bmNfXywKKwkJICBwYy0+c2NzaV9jbWQtPnNlcmlhbF9udW1iZXIsIGppZmZpZXMpOworCiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfVElNRURPVVQ7CiAKIAlyZXR1cm4gMDsJCQkJCS8qIHdlIGRvIG5vdCB3YW50IHRoZSBpZGUgc3Vic3lzdGVtIHRvIHJldHJ5ICovCkBAIC0zNjUsMTQxICszNTYsMTkgQEAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlc2NzaV9wY19pbnRyIChpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBzY3NpLT5wYzsKLQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBwYy0+cnE7Ci0JdW5zaWduZWQgaW50IHRlbXA7Ci0JdTE2IGJjb3VudDsKLQl1OCBzdGF0LCBpcmVhc29uOwogCi0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQlwcmludGsgKEtFUk5fSU5GTyAiaWRlLXNjc2k6IFJlYWNoZWQgaWRlc2NzaV9wY19pbnRyIGludGVycnVwdCBoYW5kbGVyXG4iKTsKLSNlbmRpZiAvKiBJREVTQ1NJX0RFQlVHX0xPRyAqLwotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfVElNRURPVVQpIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQlwcmludGsoS0VSTl9XQVJOSU5HICJpZGVzY3NpX3BjX2ludHI6IGdvdCB0aW1lZCBvdXQgcGFja2V0ICAlbHUgYXQgJWx1XG4iLAotCQkJCXBjLT5zY3NpX2NtZC0+c2VyaWFsX251bWJlciwgamlmZmllcyk7Ci0jZW5kaWYKLQkJLyogZW5kIHRoaXMgcmVxdWVzdCBub3cgLSBzY3NpIHNob3VsZCByZXRyeSBpdCovCi0JCWlkZXNjc2lfZW5kX3JlcXVlc3QgKGRyaXZlLCAxLCAwKTsKLQkJcmV0dXJuIGlkZV9zdG9wcGVkOwotCX0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQlwcmludGsgKCJpZGUtc2NzaTogJXM6IERNQSBjb21wbGV0ZVxuIiwgZHJpdmUtPm5hbWUpOwotI2VuZGlmIC8qIElERVNDU0lfREVCVUdfTE9HICovCi0JCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOwotCQkodm9pZClod2lmLT5kbWFfb3BzLT5kbWFfZW5kKGRyaXZlKTsKLQl9Ci0KLQkvKiBDbGVhciB0aGUgaW50ZXJydXB0ICovCi0Jc3RhdCA9IGlkZV9yZWFkX3N0YXR1cyhkcml2ZSk7Ci0KLQlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgPT0gMCkgewotCQkvKiBObyBtb3JlIGludGVycnVwdHMgKi8KLQkJaWYgKHRlc3RfYml0KElERVNDU0lfTE9HX0NNRCwgJnNjc2ktPmxvZykpCi0JCQlwcmludGsoS0VSTl9JTkZPICJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIgotCQkJCQkiIHRyYW5zZmVycmVkXG4iLCBwYy0+eGZlcnJlZCk7Ci0JCWxvY2FsX2lycV9lbmFibGVfaW5faGFyZGlycSgpOwotCQlpZiAoc3RhdCAmIEVSUl9TVEFUKQotCQkJcnEtPmVycm9ycysrOwotCQlpZGVzY3NpX2VuZF9yZXF1ZXN0IChkcml2ZSwgMSwgMCk7Ci0JCXJldHVybiBpZGVfc3RvcHBlZDsKLQl9Ci0JYmNvdW50ID0gKGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFoX2FkZHIpIDw8IDgpIHwKLQkJICBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhbV9hZGRyKTsKLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCi0JaWYgKGlyZWFzb24gJiBDRCkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiBDb0QgIT0gMCBpbiBpZGVzY3NpX3BjX2ludHJcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0IChkcml2ZSk7Ci0JfQotCWlmIChpcmVhc29uICYgSU8pIHsKLQkJdGVtcCA9IHBjLT54ZmVycmVkICsgYmNvdW50OwotCQlpZiAodGVtcCA+IHBjLT5yZXFfeGZlcikgewotCQkJaWYgKHRlbXAgPiBwYy0+YnVmX3NpemUpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiBUaGUgc2NzaSB3YW50cyB0byAiCi0JCQkJCSJzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkICIKLQkJCQkJIi0gZGlzY2FyZGluZyBkYXRhXG4iKTsKLQkJCQl0ZW1wID0gcGMtPmJ1Zl9zaXplIC0gcGMtPnhmZXJyZWQ7Ci0JCQkJaWYgKHRlbXApIHsKLQkJCQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX1dSSVRJTkc7Ci0JCQkJCWlmIChwYy0+c2cpCi0JCQkJCQlpZGVzY3NpX2lucHV0X2J1ZmZlcnMoZHJpdmUsIHBjLAotCQkJCQkJCQkJdGVtcCk7Ci0JCQkJCWVsc2UKLQkJCQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsCi0JCQkJCQkJcGMtPmN1cl9wb3MsIHRlbXApOwotCQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiB0cmFuc2ZlcnJlZCIKLQkJCQkJCQkiICVkIG9mICVkIGJ5dGVzXG4iLAotCQkJCQkJCXRlbXAsIGJjb3VudCk7Ci0JCQkJfQotCQkJCXBjLT54ZmVycmVkICs9IHRlbXA7Ci0JCQkJcGMtPmN1cl9wb3MgKz0gdGVtcDsKLQkJCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQgLSB0ZW1wKTsKLQkJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVzY3NpX3BjX2ludHIsIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwotCQkJCXJldHVybiBpZGVfc3RhcnRlZDsKLQkJCX0KLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQkJcHJpbnRrIChLRVJOX05PVElDRSAiaWRlLXNjc2k6IFRoZSBzY3NpIHdhbnRzIHRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7Ci0jZW5kaWYgLyogSURFU0NTSV9ERUJVR19MT0cgKi8KLQkJfQotCX0KLQlpZiAoaXJlYXNvbiAmIElPKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19XUklUSU5HOwotCQlpZiAocGMtPnNnKQotCQkJaWRlc2NzaV9pbnB1dF9idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50KTsKLQkJZWxzZQotCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0JfSBlbHNlIHsKLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKLQkJaWYgKHBjLT5zZykKLQkJCWlkZXNjc2lfb3V0cHV0X2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQpOwotCQllbHNlCi0JCQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0JfQotCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBwb3NpdGlvbiAqLwotCXBjLT54ZmVycmVkICs9IGJjb3VudDsKLQlwYy0+Y3VyX3BvcyArPSBiY291bnQ7Ci0KLQkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXNjc2lfcGNfaW50ciwgZ2V0X3RpbWVvdXQocGMpLCBpZGVzY3NpX2V4cGlyeSk7Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfcGNfaW50cihkcml2ZSwgcGMsIGlkZXNjc2lfcGNfaW50ciwgZ2V0X3RpbWVvdXQocGMpLAorCQkJICAgaWRlc2NzaV9leHBpcnksIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkgICBpZGVfc2NzaV9pb19idWZmZXJzKTsKIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVzY3NpX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKLQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHNjc2ktPnBjOwotCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7Ci0JdTggaXJlYXNvbjsKIAotCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsZHJpdmUsRFJRX1NUQVQsQlVTWV9TVEFULFdBSVRfUkVBRFkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXNjc2k6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kICIKLQkJCSJpbml0aWF0ZWQgeWV0IERSUSBpc24ndCBhc3NlcnRlZFxuIik7Ci0JCXJldHVybiBzdGFydHN0b3A7Ci0JfQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0JaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtc2NzaTogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgIgotCQkJCSJpc3N1aW5nIGEgcGFja2V0IGNvbW1hbmRcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0IChkcml2ZSk7Ci0JfQotCUJVR19PTihIV0dST1VQKGRyaXZlKS0+aGFuZGxlciAhPSBOVUxMKTsKLQkvKiBTZXQgdGhlIGludGVycnVwdCByb3V0aW5lICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlc2NzaV9wY19pbnRyLCBnZXRfdGltZW91dChwYyksIGlkZXNjc2lfZXhwaXJ5KTsKLQotCS8qIFNlbmQgdGhlIGFjdHVhbCBwYWNrZXQgKi8KLQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgc2NzaS0+cGMtPmMsIDEyKTsKLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9PSykgewotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCWh3aWYtPmRtYV9vcHMtPmRtYV9zdGFydChkcml2ZSk7Ci0JfQotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3RyYW5zZmVyX3BjKGRyaXZlLCBzY3NpLT5wYywgaWRlc2NzaV9wY19pbnRyLAorCQkJICAgICAgIGdldF90aW1lb3V0KHNjc2ktPnBjKSwgaWRlc2NzaV9leHBpcnkpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBpZGVzY3NpX3NldF9kaXJlY3Rpb24oc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC01NDUsMzggKzQxNCwxMiBAQAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlpZGVzY3NpX3Njc2lfdCAqc2NzaSA9IGRyaXZlX3RvX2lkZXNjc2koZHJpdmUpOwotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQl1MTYgYmNvdW50OwotCXU4IGRtYSA9IDA7CiAKIAkvKiBTZXQgdGhlIGN1cnJlbnQgcGFja2V0IGNvbW1hbmQgKi8KIAlzY3NpLT5wYyA9IHBjOwotCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCi0JcGMtPnhmZXJyZWQgPSAwOwotCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKLQkvKiBSZXF1ZXN0IHRvIHRyYW5zZmVyIHRoZSBlbnRpcmUgYnVmZmVyIGF0IG9uY2UgKi8KLQliY291bnQgPSBtaW4ocGMtPnJlcV94ZmVyLCA2MyAqIDEwMjQpOwogCi0JaWYgKGRyaXZlLT51c2luZ19kbWEgJiYgIWlkZXNjc2lfbWFwX3NnKGRyaXZlLCBwYykpIHsKLQkJaHdpZi0+c2dfbWFwcGVkID0gMTsKLQkJZG1hID0gIWh3aWYtPmRtYV9vcHMtPmRtYV9zZXR1cChkcml2ZSk7Ci0JCWh3aWYtPnNnX21hcHBlZCA9IDA7Ci0JfQotCi0JaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0ssIGJjb3VudCwgZG1hKTsKLQotCWlmIChkbWEpCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKLQotCWlmICh0ZXN0X2JpdChJREVTQ1NJX0RSUV9JTlRFUlJVUFQsICZzY3NpLT5mbGFncykpIHsKLQkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwgJmlkZXNjc2lfdHJhbnNmZXJfcGMsCi0JCQkJICAgIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwotCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JfSBlbHNlIHsKLQkJLyogSXNzdWUgdGhlIHBhY2tldCBjb21tYW5kICovCi0JCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOwotCQlyZXR1cm4gaWRlc2NzaV90cmFuc2Zlcl9wYyhkcml2ZSk7Ci0JfQorCXJldHVybiBpZGVfaXNzdWVfcGMoZHJpdmUsIHBjLCBpZGVzY3NpX3RyYW5zZmVyX3BjLAorCQkJICAgIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwogfQogCiAvKgpAQCAtNTg0LDE0ICs0MjcsMjIgQEAKICAqLwogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVzY3NpX2RvX3JlcXVlc3QgKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxLCBzZWN0b3JfdCBibG9jaykKIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayAoS0VSTl9JTkZPICJkZXY6ICVzLCBjbWQ6ICV4LCBlcnJvcnM6ICVkXG4iLCBycS0+cnFfZGlzay0+ZGlza19uYW1lLHJxLT5jbWRbMF0scnEtPmVycm9ycyk7Ci0JcHJpbnRrIChLRVJOX0lORk8gInNlY3RvcjogJWxkLCBucl9zZWN0b3JzOiAlbGQsIGN1cnJlbnRfbnJfc2VjdG9yczogJWRcbiIscnEtPnNlY3RvcixycS0+bnJfc2VjdG9ycyxycS0+Y3VycmVudF9ucl9zZWN0b3JzKTsKLSNlbmRpZiAvKiBJREVTQ1NJX0RFQlVHX0xPRyAqLworCWRlYnVnX2xvZygiZGV2OiAlcywgY21kOiAleCwgZXJyb3JzOiAlZFxuIiwgcnEtPnJxX2Rpc2stPmRpc2tfbmFtZSwKKwkJICBycS0+Y21kWzBdLCBycS0+ZXJyb3JzKTsKKwlkZWJ1Z19sb2coInNlY3RvcjogJWxkLCBucl9zZWN0b3JzOiAlbGQsIGN1cnJlbnRfbnJfc2VjdG9yczogJWRcbiIsCisJCSAgcnEtPnNlY3RvciwgcnEtPm5yX3NlY3RvcnMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMpOwogCiAJaWYgKGJsa19zZW5zZV9yZXF1ZXN0KHJxKSB8fCBibGtfc3BlY2lhbF9yZXF1ZXN0KHJxKSkgewotCQlyZXR1cm4gaWRlc2NzaV9pc3N1ZV9wYyhkcml2ZSwKLQkJCQkoc3RydWN0IGlkZV9hdGFwaV9wYyAqKSBycS0+c3BlY2lhbCk7CisJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gKHN0cnVjdCBpZGVfYXRhcGlfcGMgKilycS0+c3BlY2lhbDsKKwkJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKKworCQlpZiAodGVzdF9iaXQoSURFU0NTSV9EUlFfSU5URVJSVVBULCAmc2NzaS0+ZmxhZ3MpKQorCQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRFJRX0lOVEVSUlVQVDsKKworCQlpZiAoZHJpdmUtPnVzaW5nX2RtYSAmJiAhaWRlc2NzaV9tYXBfc2coZHJpdmUsIHBjKSkKKwkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKKworCQlyZXR1cm4gaWRlc2NzaV9pc3N1ZV9wYyhkcml2ZSwgcGMpOwogCX0KIAlibGtfZHVtcF9ycV9mbGFncyhycSwgImlkZS1zY3NpOiB1bnN1cCBjb21tYW5kIik7CiAJaWRlc2NzaV9lbmRfcmVxdWVzdCAoZHJpdmUsIDAsIDApOwpAQCAtNjQ2LDYgKzQ5Nyw4IEBACiAJcHV0X2Rpc2soZyk7CiAKIAlpZGVfc2NzaV9wdXQoc2NzaSk7CisKKwlkcml2ZS0+c2NzaSA9IDA7CiB9CiAKIHN0YXRpYyBpbnQgaWRlX3Njc2lfcHJvYmUoaWRlX2RyaXZlX3QgKik7CkBAIC03NjUsNiArNjE4LDggQEAKIAogCW1lbXNldCAocGMtPmMsIDAsIDEyKTsKIAlwYy0+ZmxhZ3MgPSAwOworCWlmIChjbWQtPnNjX2RhdGFfZGlyZWN0aW9uID09IERNQV9UT19ERVZJQ0UpCisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7CiAJcGMtPnJxID0gcnE7CiAJbWVtY3B5IChwYy0+YywgY21kLT5jbW5kLCBjbWQtPmNtZF9sZW4pOwogCXBjLT5idWYgPSBOVUxMOwpAQCAtNzc1LDYgKzYzMCw3IEBACiAJcGMtPnNjc2lfY21kID0gY21kOwogCXBjLT5kb25lID0gZG9uZTsKIAlwYy0+dGltZW91dCA9IGppZmZpZXMgKyBjbWQtPnRpbWVvdXRfcGVyX2NvbW1hbmQ7CisJcGMtPmNhbGxiYWNrID0gaWRlX3Njc2lfY2FsbGJhY2s7CiAKIAlpZiAodGVzdF9iaXQoSURFU0NTSV9MT0dfQ01ELCAmc2NzaS0+bG9nKSkgewogCQlwcmludGsgKCJpZGUtc2NzaTogJXM6IHF1ZSAlbHUsIGNtZCA9ICIsIGRyaXZlLT5uYW1lLCBjbWQtPnNlcmlhbF9udW1iZXIpOwpAQCAtNzg1LDEyICs2NDEsMTEgQEAKIAkJfQogCX0KIAotCWlkZV9pbml0X2RyaXZlX2NtZCAocnEpOworCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKIAlycS0+c3BlY2lhbCA9IChjaGFyICopIHBjOwogCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CiAJc3Bpbl91bmxvY2tfaXJxKGhvc3QtPmhvc3RfbG9jayk7Ci0JcnEtPnJxX2Rpc2sgPSBzY3NpLT5kaXNrOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kIChkcml2ZSwgcnEsIGlkZV9lbmQpOworCWJsa19leGVjdXRlX3JxX25vd2FpdChkcml2ZS0+cXVldWUsIHNjc2ktPmRpc2ssIHJxLCAwLCBOVUxMKTsKIAlzcGluX2xvY2tfaXJxKGhvc3QtPmhvc3RfbG9jayk7CiAJcmV0dXJuIDA7CiBhYm9ydDoKQEAgLTk4NSw2ICs4NDAsOCBAQAogCSAgICAhKGhvc3QgPSBzY3NpX2hvc3RfYWxsb2MoJmlkZXNjc2lfdGVtcGxhdGUsc2l6ZW9mKGlkZXNjc2lfc2NzaV90KSkpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWRyaXZlLT5zY3NpID0gMTsKKwogCWcgPSBhbGxvY19kaXNrKDEgPDwgUEFSVE5fQklUUyk7CiAJaWYgKCFnKQogCQlnb3RvIG91dF9ob3N0X3B1dDsKQEAgLTk5MywxMCArODUwLDEwIEBACiAKIAlob3N0LT5tYXhfaWQgPSAxOwogCi0jaWYgSURFU0NTSV9ERUJVR19MT0cKIAlpZiAoZHJpdmUtPmlkLT5sYXN0X2x1bikKLQkJcHJpbnRrKEtFUk5fTk9USUNFICIlczogaWQtPmxhc3RfbHVuPSV1XG4iLCBkcml2ZS0+bmFtZSwgZHJpdmUtPmlkLT5sYXN0X2x1bik7Ci0jZW5kaWYKKwkJZGVidWdfbG9nKCIlczogaWQtPmxhc3RfbHVuPSV1XG4iLCBkcml2ZS0+bmFtZSwKKwkJCSAgZHJpdmUtPmlkLT5sYXN0X2x1bik7CisKIAlpZiAoKGRyaXZlLT5pZC0+bGFzdF9sdW4gJiAweDcpICE9IDcpCiAJCWhvc3QtPm1heF9sdW4gPSAoZHJpdmUtPmlkLT5sYXN0X2x1biAmIDB4NykgKyAxOwogCWVsc2UKQEAgLTEwMjUsNiArODgyLDcgQEAKIAogCXB1dF9kaXNrKGcpOwogb3V0X2hvc3RfcHV0OgorCWRyaXZlLT5zY3NpID0gMDsKIAlzY3NpX2hvc3RfcHV0KGhvc3QpOwogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvaXByLmMgYi9kcml2ZXJzL3Njc2kvaXByLmMKaW5kZXggOTk5ZTkxZS4uZTdhM2E2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2lwci5jCisrKyBiL2RyaXZlcnMvc2NzaS9pcHIuYwpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvbGliYXRhLmg+CisjaW5jbHVkZSA8bGludXgvaGRyZWcuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgpAQCAtNDkxMyw4ICs0OTE0LDExIEBACiAJc3RydWN0IGlwcl9yZXNvdXJjZV9lbnRyeSAqcmVzOwogCiAJcmVzID0gKHN0cnVjdCBpcHJfcmVzb3VyY2VfZW50cnkgKilzZGV2LT5ob3N0ZGF0YTsKLQlpZiAocmVzICYmIGlwcl9pc19nYXRhKHJlcykpCisJaWYgKHJlcyAmJiBpcHJfaXNfZ2F0YShyZXMpKSB7CisJCWlmIChjbWQgPT0gSERJT19HRVRfSURFTlRJVFkpCisJCQlyZXR1cm4gLUVOT1RUWTsKIAkJcmV0dXJuIGF0YV9zY3NpX2lvY3RsKHNkZXYsIGNtZCwgYXJnKTsKKwl9CiAKIAlyZXR1cm4gLUVJTlZBTDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC5jIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkLmMKaW5kZXggMTg1NTFhYS4uMjhjOWRhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkLmMKKysrIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaWNhbS5oPgogCiAjaW5jbHVkZSAic2NzaS5oIgpAQCAtMzI3MiwxMiArMzI3MywxMiBAQAogICogQGZpbGVwIC0gdW51c2VkCiAgKgogICogUm91dGluZXMgZm9yIHRoZSBjaGFyYWN0ZXIvaW9jdGwgaW50ZXJmYWNlIHRvIHRoZSBkcml2ZXIuIEZpbmQgb3V0IGlmIHRoaXMKLSAqIGlzIGEgdmFsaWQgb3Blbi4gSWYgeWVzLCBpbmNyZW1lbnQgdGhlIG1vZHVsZSB1c2UgY291bnQgc28gdGhhdCBpdCBjYW5ub3QKLSAqIGJlIHVubG9hZGVkLgorICogaXMgYSB2YWxpZCBvcGVuLiAKICAqLwogc3RhdGljIGludAogbWVnYWRldl9vcGVuIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZXApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAkvKgogCSAqIE9ubHkgYWxsb3cgc3VwZXJ1c2VyIHRvIGFjY2VzcyBwcml2YXRlIGlvY3RsIGludGVyZmFjZQogCSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX21tLmMgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfbW0uYwppbmRleCAwYWQyMTVlLi5hYzNiMjgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfbW0uYworKysgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfbW0uYwpAQCAtMTUsNiArMTUsNyBAQAogICogQ29tbW9uIG1hbmFnZW1lbnQgbW9kdWxlCiAgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSAibWVnYXJhaWRfbW0uaCIKIAogCkBAIC05Niw2ICs5Nyw3IEBACiAJICovCiAJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKSByZXR1cm4gKC1FQUNDRVMpOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhcy5jIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhcy5jCmluZGV4IDdkODRjOGIuLmZjN2FjMTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9zYXMuYworKysgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfc2FzLmMKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC91aW8uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CkBAIC0yODYzLDYgKzI4NjQsNyBAQAogICovCiBzdGF0aWMgaW50IG1lZ2FzYXNfbWdtdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlcCkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCS8qCiAJICogQWxsb3cgb25seSB0aG9zZSB1c2VycyB3aXRoIGFkbWluIHJpZ2h0cwogCSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL29zc3QuYyBiL2RyaXZlcnMvc2NzaS9vc3N0LmMKaW5kZXggMjQzZDhiZS4uMWM3OWY5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL29zc3QuYworKysgYi9kcml2ZXJzL3Njc2kvb3NzdC5jCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KQEAgLTQzNTksNyArNDM2MCw3IEBACiAKIAogLyogT3BlbiB0aGUgZGV2aWNlICovCi1zdGF0aWMgaW50IG9zX3Njc2lfdGFwZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApCitzdGF0aWMgaW50IF9fb3Nfc2NzaV90YXBlX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKIHsKIAl1bnNpZ25lZCBzaG9ydAkgICAgICBmbGFnczsKIAlpbnQJCSAgICAgIGksIGJfc2l6ZSwgbmV3X3Nlc3Npb24gPSAwLCByZXR2YWwgPSAwOwpAQCAtNDcyNSw2ICs0NzI2LDE4IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAorLyogQktMIHB1c2hkb3duOiBzcGFnaGV0dGkgYXZvaWRhbmNlIHdyYXBwZXIgKi8KK3N0YXRpYyBpbnQgb3Nfc2NzaV90YXBlX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKK3sKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBfX29zX3Njc2lfdGFwZV9vcGVuKGlub2RlLCBmaWxwKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKworCiAKIC8qIEZsdXNoIHRoZSB0YXBlIGJ1ZmZlciBiZWZvcmUgY2xvc2UgKi8KIHN0YXRpYyBpbnQgb3Nfc2NzaV90YXBlX2ZsdXNoKHN0cnVjdCBmaWxlICogZmlscCwgZmxfb3duZXJfdCBpZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9zY3NpX2xpYi5jIGIvZHJpdmVycy9zY3NpL3Njc2lfbGliLmMKaW5kZXggYTgyZDJmZS4uY2JmNTVkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL3Njc2lfbGliLmMKKysrIGIvZHJpdmVycy9zY3NpL3Njc2lfbGliLmMKQEAgLTIwNyw2ICsyMDcsMTUgQEAKIAkgKi8KIAlibGtfZXhlY3V0ZV9ycShyZXEtPnEsIE5VTEwsIHJlcSwgMSk7CiAKKwkvKgorCSAqIFNvbWUgZGV2aWNlcyAoVVNCIG1hc3Mtc3RvcmFnZSBpbiBwYXJ0aWN1bGFyKSBtYXkgdHJhbnNmZXIKKwkgKiBnYXJiYWdlIGRhdGEgdG9nZXRoZXIgd2l0aCBhIHJlc2lkdWUgaW5kaWNhdGluZyB0aGF0IHRoZSBkYXRhCisJICogaXMgaW52YWxpZC4gIFByZXZlbnQgdGhlIGdhcmJhZ2UgZnJvbSBiZWluZyBtaXNpbnRlcnByZXRlZAorCSAqIGFuZCBwcmV2ZW50IHNlY3VyaXR5IGxlYWtzIGJ5IHplcm9pbmcgb3V0IHRoZSBleGNlc3MgZGF0YS4KKwkgKi8KKwlpZiAodW5saWtlbHkocmVxLT5kYXRhX2xlbiA+IDAgJiYgcmVxLT5kYXRhX2xlbiA8PSBidWZmbGVuKSkKKwkJbWVtc2V0KGJ1ZmZlciArIChidWZmbGVuIC0gcmVxLT5kYXRhX2xlbiksIDAsIHJlcS0+ZGF0YV9sZW4pOworCiAJcmV0ID0gcmVxLT5lcnJvcnM7CiAgb3V0OgogCWJsa19wdXRfcmVxdWVzdChyZXEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3Njc2lfdGd0X2lmLmMgYi9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYwppbmRleCBkMjU1N2RiLi4wZTk1MzNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYworKysgYi9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYwpAQCAtMjEsNiArMjEsNyBAQAogICovCiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPG5ldC90Y3AuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfY21uZC5oPgpAQCAtMzIxLDYgKzMyMiw3IEBACiB7CiAJdHhfcmluZy50cl9pZHggPSByeF9yaW5nLnRyX2lkeCA9IDA7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2QuYyBiL2RyaXZlcnMvc2NzaS9zZC5jCmluZGV4IDAxY2VmYmIuLmQ1MzMxMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zZC5jCisrKyBiL2RyaXZlcnMvc2NzaS9zZC5jCkBAIC0xMTI0LDYgKzExMjQsOCBAQAogCQkJCWNtZFsxXSA9IDE7CS8qIFJldHVybiBpbW1lZGlhdGVseSAqLwogCQkJCW1lbXNldCgodm9pZCAqKSAmY21kWzJdLCAwLCA4KTsKIAkJCQljbWRbNF0gPSAxOwkvKiBTdGFydCBzcGluIGN5Y2xlICovCisJCQkJaWYgKHNka3AtPmRldmljZS0+c3RhcnRfc3RvcF9wd3JfY29uZCkKKwkJCQkJY21kWzRdIHw9IDEgPDwgNDsKIAkJCQlzY3NpX2V4ZWN1dGVfcmVxKHNka3AtPmRldmljZSwgY21kLCBETUFfTk9ORSwKIAkJCQkJCSBOVUxMLCAwLCAmc3NoZHIsCiAJCQkJCQkgU0RfVElNRU9VVCwgU0RfTUFYX1JFVFJJRVMpOwpAQCAtMTc5MCw2ICsxNzkyLDkgQEAKIAlpZiAoc3RhcnQpCiAJCWNtZFs0XSB8PSAxOwkvKiBTVEFSVCAqLwogCisJaWYgKHNkcC0+c3RhcnRfc3RvcF9wd3JfY29uZCkKKwkJY21kWzRdIHw9IHN0YXJ0ID8gMSA8PCA0IDogMyA8PCA0OwkvKiBBY3RpdmUgb3IgU3RhbmRieSAqLworCiAJaWYgKCFzY3NpX2RldmljZV9vbmxpbmUoc2RwKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9zZy5jIGIvZHJpdmVycy9zY3NpL3NnLmMKaW5kZXggZWEwZWRkMS4uZmNjZDJlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL3NnLmMKKysrIGIvZHJpdmVycy9zY3NpL3NnLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvYmxrdHJhY2VfYXBpLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgInNjc2kuaCIKICNpbmNsdWRlIDxzY3NpL3Njc2lfZGJnLmg+CkBAIC0xODIsOCArMTgzLDkgQEAKIAkJCSBpbnQgdGFibGVzaXplKTsKIHN0YXRpYyBzc2l6ZV90IHNnX25ld19yZWFkKFNnX2ZkICogc2ZwLCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsCiAJCQkgICBTZ19yZXF1ZXN0ICogc3JwKTsKLXN0YXRpYyBzc2l6ZV90IHNnX25ld193cml0ZShTZ19mZCAqIHNmcCwgY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LAotCQkJICAgIGludCBibG9ja2luZywgaW50IHJlYWRfb25seSwgU2dfcmVxdWVzdCAqKiBvX3NycCk7CitzdGF0aWMgc3NpemVfdCBzZ19uZXdfd3JpdGUoU2dfZmQgKnNmcCwgc3RydWN0IGZpbGUgKmZpbGUsCisJCQljb25zdCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsIGludCBibG9ja2luZywKKwkJCWludCByZWFkX29ubHksIFNnX3JlcXVlc3QgKipvX3NycCk7CiBzdGF0aWMgaW50IHNnX2NvbW1vbl93cml0ZShTZ19mZCAqIHNmcCwgU2dfcmVxdWVzdCAqIHNycCwKIAkJCSAgIHVuc2lnbmVkIGNoYXIgKmNtbmQsIGludCB0aW1lb3V0LCBpbnQgYmxvY2tpbmcpOwogc3RhdGljIGludCBzZ191X2lvdmVjKHNnX2lvX2hkcl90ICogaHAsIGludCBzZ19udW0sIGludCBpbmQsCkBAIC0yMDQsNyArMjA2LDYgQEAKIHN0YXRpYyBTZ19yZXF1ZXN0ICpzZ19hZGRfcmVxdWVzdChTZ19mZCAqIHNmcCk7CiBzdGF0aWMgaW50IHNnX3JlbW92ZV9yZXF1ZXN0KFNnX2ZkICogc2ZwLCBTZ19yZXF1ZXN0ICogc3JwKTsKIHN0YXRpYyBpbnQgc2dfcmVzX2luX3VzZShTZ19mZCAqIHNmcCk7Ci1zdGF0aWMgaW50IHNnX2FsbG93X2FjY2Vzcyh1bnNpZ25lZCBjaGFyIG9wY29kZSwgY2hhciBkZXZfdHlwZSk7CiBzdGF0aWMgaW50IHNnX2J1aWxkX2RpcmVjdChTZ19yZXF1ZXN0ICogc3JwLCBTZ19mZCAqIHNmcCwgaW50IGR4ZmVyX2xlbik7CiBzdGF0aWMgU2dfZGV2aWNlICpzZ19nZXRfZGV2KGludCBkZXYpOwogI2lmZGVmIENPTkZJR19TQ1NJX1BST0NfRlMKQEAgLTIyNywxOSArMjI4LDI2IEBACiAJaW50IHJlczsKIAlpbnQgcmV0dmFsOwogCisJbG9ja19rZXJuZWwoKTsKIAlub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKIAlTQ1NJX0xPR19USU1FT1VUKDMsIHByaW50aygic2dfb3BlbjogZGV2PSVkLCBmbGFncz0weCV4XG4iLCBkZXYsIGZsYWdzKSk7CiAJc2RwID0gc2dfZ2V0X2RldihkZXYpOwotCWlmICgoIXNkcCkgfHwgKCFzZHAtPmRldmljZSkpCisJaWYgKCghc2RwKSB8fCAoIXNkcC0+ZGV2aWNlKSkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87Ci0JaWYgKHNkcC0+ZGV0YWNoZWQpCisJfQorCWlmIChzZHAtPmRldGFjaGVkKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CisJfQogCiAJLyogVGhpcyBkcml2ZXIncyBtb2R1bGUgY291bnQgYnVtcGVkIGJ5IGZvcHNfZ2V0IGluIDxsaW51eC9mcy5oPiAqLwogCS8qIFByZXZlbnQgdGhlIGRldmljZSBkcml2ZXIgZnJvbSB2YW5pc2hpbmcgd2hpbGUgd2Ugc2xlZXAgKi8KIAlyZXR2YWwgPSBzY3NpX2RldmljZV9nZXQoc2RwLT5kZXZpY2UpOwotCWlmIChyZXR2YWwpCisJaWYgKHJldHZhbCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiByZXR2YWw7CisJfQogCiAJaWYgKCEoKGZsYWdzICYgT19OT05CTE9DSykgfHwKIAkgICAgICBzY3NpX2Jsb2NrX3doZW5fcHJvY2Vzc2luZ19lcnJvcnMoc2RwLT5kZXZpY2UpKSkgewpAQCAtMjk1LDEwICszMDMsMTIgQEAKIAkJcmV0dmFsID0gLUVOT01FTTsKIAkJZ290byBlcnJvcl9vdXQ7CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogICAgICAgZXJyb3Jfb3V0OgogCXNjc2lfZGV2aWNlX3B1dChzZHAtPmRldmljZSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiB9CiAKQEAgLTU0NCw3ICs1NTQsNyBAQAogCQlyZXR1cm4gLUVGQVVMVDsKIAlibG9ja2luZyA9ICEoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spOwogCWlmIChvbGRfaGRyLnJlcGx5X2xlbiA8IDApCi0JCXJldHVybiBzZ19uZXdfd3JpdGUoc2ZwLCBidWYsIGNvdW50LCBibG9ja2luZywgMCwgTlVMTCk7CisJCXJldHVybiBzZ19uZXdfd3JpdGUoc2ZwLCBmaWxwLCBidWYsIGNvdW50LCBibG9ja2luZywgMCwgTlVMTCk7CiAJaWYgKGNvdW50IDwgKFNaX1NHX0hFQURFUiArIDYpKQogCQlyZXR1cm4gLUVJTzsJLyogVGhlIG1pbmltdW0gc2NzaSBjb21tYW5kIGxlbmd0aCBpcyA2IGJ5dGVzLiAqLwogCkBAIC02MjEsOCArNjMxLDkgQEAKIH0KIAogc3RhdGljIHNzaXplX3QKLXNnX25ld193cml0ZShTZ19mZCAqIHNmcCwgY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LAotCSAgICAgaW50IGJsb2NraW5nLCBpbnQgcmVhZF9vbmx5LCBTZ19yZXF1ZXN0ICoqIG9fc3JwKQorc2dfbmV3X3dyaXRlKFNnX2ZkICpzZnAsIHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLAorCQkgc2l6ZV90IGNvdW50LCBpbnQgYmxvY2tpbmcsIGludCByZWFkX29ubHksCisJCSBTZ19yZXF1ZXN0ICoqb19zcnApCiB7CiAJaW50IGs7CiAJU2dfcmVxdWVzdCAqc3JwOwpAQCAtNjc4LDggKzY4OSw3IEBACiAJCXNnX3JlbW92ZV9yZXF1ZXN0KHNmcCwgc3JwKTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQotCWlmIChyZWFkX29ubHkgJiYKLQkgICAgKCFzZ19hbGxvd19hY2Nlc3MoY21uZFswXSwgc2ZwLT5wYXJlbnRkcC0+ZGV2aWNlLT50eXBlKSkpIHsKKwlpZiAocmVhZF9vbmx5ICYmICFibGtfdmVyaWZ5X2NvbW1hbmQoZmlsZSwgY21uZCkpIHsKIAkJc2dfcmVtb3ZlX3JlcXVlc3Qoc2ZwLCBzcnApOwogCQlyZXR1cm4gLUVQRVJNOwogCX0KQEAgLTc5OSw3ICs4MDksNyBAQAogCQkJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCBwLCBTWl9TR19JT19IRFIpKQogCQkJCXJldHVybiAtRUZBVUxUOwogCQkJcmVzdWx0ID0KLQkJCSAgICBzZ19uZXdfd3JpdGUoc2ZwLCBwLCBTWl9TR19JT19IRFIsCisJCQkgICAgc2dfbmV3X3dyaXRlKHNmcCwgZmlscCwgcCwgU1pfU0dfSU9fSERSLAogCQkJCQkgYmxvY2tpbmcsIHJlYWRfb25seSwgJnNycCk7CiAJCQlpZiAocmVzdWx0IDwgMCkKIAkJCQlyZXR1cm4gcmVzdWx0OwpAQCAtMTA0OCw3ICsxMDU4LDcgQEAKIAogCQkJaWYgKGNvcHlfZnJvbV91c2VyKCZvcGNvZGUsIHNpb2NwLT5kYXRhLCAxKSkKIAkJCQlyZXR1cm4gLUVGQVVMVDsKLQkJCWlmICghc2dfYWxsb3dfYWNjZXNzKG9wY29kZSwgc2RwLT5kZXZpY2UtPnR5cGUpKQorCQkJaWYgKCFibGtfdmVyaWZ5X2NvbW1hbmQoZmlscCwgJm9wY29kZSkpCiAJCQkJcmV0dXJuIC1FUEVSTTsKIAkJfQogCQlyZXR1cm4gc2dfc2NzaV9pb2N0bChmaWxwLCBzZHAtPmRldmljZS0+cmVxdWVzdF9xdWV1ZSwgTlVMTCwgcCk7CkBAIC0yNTAyLDMwICsyNTEyLDYgQEAKIAlfX2ZyZWVfcGFnZXMocGFnZSwgb3JkZXIpOwogfQogCi0jaWZuZGVmIE1BSU5URU5BTkNFX0lOX0NNRAotI2RlZmluZSBNQUlOVEVOQU5DRV9JTl9DTUQgMHhhMwotI2VuZGlmCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGFsbG93X29wc1tdID0geyBURVNUX1VOSVRfUkVBRFksIFJFUVVFU1RfU0VOU0UsCi0JSU5RVUlSWSwgUkVBRF9DQVBBQ0lUWSwgUkVBRF9CVUZGRVIsIFJFQURfNiwgUkVBRF8xMCwgUkVBRF8xMiwKLQlSRUFEXzE2LCBNT0RFX1NFTlNFLCBNT0RFX1NFTlNFXzEwLCBMT0dfU0VOU0UsIFJFUE9SVF9MVU5TLAotCVNFUlZJQ0VfQUNUSU9OX0lOLCBSRUNFSVZFX0RJQUdOT1NUSUMsIFJFQURfTE9ORywgTUFJTlRFTkFOQ0VfSU5fQ01ECi19OwotCi1zdGF0aWMgaW50Ci1zZ19hbGxvd19hY2Nlc3ModW5zaWduZWQgY2hhciBvcGNvZGUsIGNoYXIgZGV2X3R5cGUpCi17Ci0JaW50IGs7Ci0KLQlpZiAoVFlQRV9TQ0FOTkVSID09IGRldl90eXBlKQkvKiBUWVBFX1JPTSBtYXliZSBidXJuZXIgKi8KLQkJcmV0dXJuIDE7Ci0JZm9yIChrID0gMDsgayA8IHNpemVvZiAoYWxsb3dfb3BzKTsgKytrKSB7Ci0JCWlmIChvcGNvZGUgPT0gYWxsb3dfb3BzW2tdKQotCQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotCiAjaWZkZWYgQ09ORklHX1NDU0lfUFJPQ19GUwogc3RhdGljIGludAogc2dfaWRyX21heF9pZChpbnQgaWQsIHZvaWQgKnAsIHZvaWQgKmRhdGEpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc3IuYyBiL2RyaXZlcnMvc2NzaS9zci5jCmluZGV4IGM4MmRmOGIuLjI3ZjViZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zci5jCisrKyBiL2RyaXZlcnMvc2NzaS9zci5jCkBAIC02NzMsMjQgKzY3MywyMCBAQAogc3RhdGljIHZvaWQgZ2V0X3NlY3RvcnNpemUoc3RydWN0IHNjc2lfY2QgKmNkKQogewogCXVuc2lnbmVkIGNoYXIgY21kWzEwXTsKLQl1bnNpZ25lZCBjaGFyICpidWZmZXI7CisJdW5zaWduZWQgY2hhciBidWZmZXJbOF07CiAJaW50IHRoZV9yZXN1bHQsIHJldHJpZXMgPSAzOwogCWludCBzZWN0b3Jfc2l6ZTsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcXVldWU7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDUxMiwgR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOwotCWlmICghYnVmZmVyKQotCQlnb3RvIEVub21lbTsKLQogCWRvIHsKIAkJY21kWzBdID0gUkVBRF9DQVBBQ0lUWTsKIAkJbWVtc2V0KCh2b2lkICopICZjbWRbMV0sIDAsIDkpOwotCQltZW1zZXQoYnVmZmVyLCAwLCA4KTsKKwkJbWVtc2V0KGJ1ZmZlciwgMCwgc2l6ZW9mKGJ1ZmZlcikpOwogCiAJCS8qIERvIHRoZSBjb21tYW5kIGFuZCB3YWl0Li4gKi8KIAkJdGhlX3Jlc3VsdCA9IHNjc2lfZXhlY3V0ZV9yZXEoY2QtPmRldmljZSwgY21kLCBETUFfRlJPTV9ERVZJQ0UsCi0JCQkJCSAgICAgIGJ1ZmZlciwgOCwgTlVMTCwgU1JfVElNRU9VVCwKLQkJCQkJICAgICAgTUFYX1JFVFJJRVMpOworCQkJCQkgICAgICBidWZmZXIsIHNpemVvZihidWZmZXIpLCBOVUxMLAorCQkJCQkgICAgICBTUl9USU1FT1VULCBNQVhfUkVUUklFUyk7CiAKIAkJcmV0cmllcy0tOwogCkBAIC03NDUsMTQgKzc0MSw4IEBACiAKIAlxdWV1ZSA9IGNkLT5kZXZpY2UtPnJlcXVlc3RfcXVldWU7CiAJYmxrX3F1ZXVlX2hhcmRzZWN0X3NpemUocXVldWUsIHNlY3Rvcl9zaXplKTsKLW91dDoKLQlrZnJlZShidWZmZXIpOwotCXJldHVybjsKIAotRW5vbWVtOgotCWNkLT5jYXBhY2l0eSA9IDB4MWZmZmZmOwotCWNkLT5kZXZpY2UtPnNlY3Rvcl9zaXplID0gMjA0ODsJLyogQSBndWVzcywganVzdCBpbiBjYXNlICovCi0JZ290byBvdXQ7CisJcmV0dXJuOwogfQogCiBzdGF0aWMgdm9pZCBnZXRfY2FwYWJpbGl0aWVzKHN0cnVjdCBzY3NpX2NkICpjZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9zdC5jIGIvZHJpdmVycy9zY3NpL3N0LmMKaW5kZXggNmU1YTViYi4uNDY4NGNjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL3N0LmMKKysrIGIvZHJpdmVycy9zY3NpL3N0LmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KQEAgLTExMTMsNyArMTExNCw3IEBACiB9CiAKIAotDC8qIE9wZW4gdGhlIGRldmljZS4gTmVlZHMgdG8gYmUgY2FsbGVkIHdpdGggQktMIG9ubHkgYmVjYXVzZSBvZiBpbmNyZW1lbnRpbmcgdGhlIFNDU0kgaG9zdAorDC8qIE9wZW4gdGhlIGRldmljZS4gTmVlZHMgdG8gdGFrZSB0aGUgQktMIG9ubHkgYmVjYXVzZSBvZiBpbmNyZW1lbnRpbmcgdGhlIFNDU0kgaG9zdAogICAgbW9kdWxlIGNvdW50LiAqLwogc3RhdGljIGludCBzdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewpAQCAtMTEyMyw2ICsxMTI0LDcgQEAKIAlpbnQgZGV2ID0gVEFQRV9OUihpbm9kZSk7CiAJY2hhciAqbmFtZTsKIAorCWxvY2tfa2VybmVsKCk7CiAJLyoKIAkgKiBXZSByZWFsbHkgd2FudCB0byBkbyBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsgaGVyZSwgYnV0IHNvbWUKIAkgKiB2ZXJzaW9ucyBvZiB0YXIgaW5jb3JyZWN0bHkgY2FsbCBsc2VlayBvbiB0YXBlcyBhbmQgYmFpbCBvdXQgaWYgdGhhdApAQCAtMTEzMCw4ICsxMTMyLDEwIEBACiAJICovCiAJZmlscC0+Zl9tb2RlICY9IH4oRk1PREVfUFJFQUQgfCBGTU9ERV9QV1JJVEUpOwogCi0JaWYgKCEoU1RwID0gc2NzaV90YXBlX2dldChkZXYpKSkKKwlpZiAoIShTVHAgPSBzY3NpX3RhcGVfZ2V0KGRldikpKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKKwl9CiAKIAl3cml0ZV9sb2NrKCZzdF9kZXZfYXJyX2xvY2spOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IFNUcDsKQEAgLTExNDAsNiArMTE0NCw3IEBACiAJaWYgKFNUcC0+aW5fdXNlKSB7CiAJCXdyaXRlX3VubG9jaygmc3RfZGV2X2Fycl9sb2NrKTsKIAkJc2NzaV90YXBlX3B1dChTVHApOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCURFQiggcHJpbnRrKFNUX0RFQl9NU0cgIiVzOiBEZXZpY2UgYWxyZWFkeSBpbiB1c2UuXG4iLCBuYW1lKTsgKQogCQlyZXR1cm4gKC1FQlVTWSk7CiAJfQpAQCAtMTE4OCwxMiArMTE5MywxNCBAQAogCQkJcmV0dmFsID0gKC1FSU8pOwogCQlnb3RvIGVycl9vdXQ7CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogIGVycl9vdXQ6CiAJbm9ybWFsaXplX2J1ZmZlcihTVHAtPmJ1ZmZlcik7CiAJU1RwLT5pbl91c2UgPSAwOwogCXNjc2lfdGFwZV9wdXQoU1RwKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldHZhbDsKIAogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvODI1MC5jIGIvZHJpdmVycy9zZXJpYWwvODI1MC5jCmluZGV4IDFiYzAwYjcuLmJlOTVlNTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2VyaWFsLzgyNTAuYworKysgYi9kcml2ZXJzL3NlcmlhbC84MjUwLmMKQEAgLTI2MjMsNiArMjYyMyw5IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IHNlcmlhbDgyNTBfY29uc29sZV9pbml0KHZvaWQpCiB7CisJaWYgKG5yX3VhcnRzID4gVUFSVF9OUikKKwkJbnJfdWFydHMgPSBVQVJUX05SOworCiAJc2VyaWFsODI1MF9pc2FfaW5pdF9wb3J0cygpOwogCXJlZ2lzdGVyX2NvbnNvbGUoJnNlcmlhbDgyNTBfY29uc29sZSk7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9LY29uZmlnIGIvZHJpdmVycy9zZXJpYWwvS2NvbmZpZwppbmRleCA5YmM0Mjc2Li4xOGNhOTA3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC9LY29uZmlnCisrKyBiL2RyaXZlcnMvc2VyaWFsL0tjb25maWcKQEAgLTQ0OCwyMiArNDQ4LDI3IEBACiAJICB5b3VyIGJvb3QgbG9hZGVyIChsaWxvIG9yIGxvYWRsaW4pIGFib3V0IGhvdyB0byBwYXNzIG9wdGlvbnMgdG8gdGhlCiAJICBrZXJuZWwgYXQgYm9vdCB0aW1lLikKIAotY29uZmlnIFNFUklBTF9TM0MyNDEwCi0JdHJpc3RhdGUgIlNhbXN1bmcgUzNDMjQxMC9TM0MyNDQwL1MzQzI0NDIvUzNDMjQxMiBTZXJpYWwgcG9ydCBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVJNICYmIEFSQ0hfUzNDMjQxMAotCXNlbGVjdCBTRVJJQUxfQ09SRQorY29uZmlnIFNFUklBTF9TQU1TVU5HCisJdHJpc3RhdGUgIlNhbXN1bmcgU29DIHNlcmlhbCBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJNICYmIFBMQVRfUzNDMjRYWAogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIHRoZSBvbi1jaGlwIFVBUlRzIG9uIHRoZSBTYW1zdW5nIFMzQzI0WFggc2VyaWVzIENQVXMsCiAJICBwcm92aWRpbmcgL2Rldi90dHlTQUMwLCAxIGFuZCAyIChub3RlLCBzb21lIG1hY2hpbmVzIG1heSBub3QKIAkgIHByb3ZpZGUgYWxsIG9mIHRoZXNlIHBvcnRzLCBkZXBlbmRpbmcgb24gaG93IHRoZSBzZXJpYWwgcG9ydAogCSAgcGlucyBhcmUgY29uZmlndXJlZC4KIAotCSAgQ3VycmVudGx5IHRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBVQVJUUyBvbiB0aGUgUzNDMjQxMCwgUzNDMjQ0MCwKLQkgIFMzQzI0NDIsIFMzQzI0MTIgYW5kIFMzQzI0MTMgQ1BVcy4KK2NvbmZpZyBTRVJJQUxfU0FNU1VOR19ERUJVRworCWJvb2wgIlNhbXN1bmcgU29DIHNlcmlhbCBkZWJ1ZyIKKwlkZXBlbmRzIG9uIFNFUklBTF9TQU1TVU5HCisJaGVscAorCSAgQWRkIHN1cHBvcnQgZm9yIGRlYnVnZ2luZyB0aGUgc2VyaWFsIGRyaXZlci4gU2luY2UgdGhpcyBpcworCSAgZ2VuZXJhbGx5IGJlaW5nIHVzZWQgYXMgYSBjb25zb2xlLCB3ZSB1c2Ugb3VyIG93biBvdXRwdXQKKwkgIHJvdXRpbmVzIHRoYXQgZ28gdmlhIHRoZSBsb3ctbGV2ZWwgZGVidWcgcHJpbnRhc2NpaSgpCisJICBmdW5jdGlvbi4KIAotY29uZmlnIFNFUklBTF9TM0MyNDEwX0NPTlNPTEUKLQlib29sICJTdXBwb3J0IGZvciBjb25zb2xlIG9uIFMzQzI0MTAgc2VyaWFsIHBvcnQiCi0JZGVwZW5kcyBvbiBTRVJJQUxfUzNDMjQxMD15Citjb25maWcgU0VSSUFMX1NBTVNVTkdfQ09OU09MRQorCWJvb2wgIlN1cHBvcnQgZm9yIGNvbnNvbGUgb24gU2Ftc3VuZyBTb0Mgc2VyaWFsIHBvcnQiCisJZGVwZW5kcyBvbiBTRVJJQUxfU0FNU1VORz15CiAJc2VsZWN0IFNFUklBTF9DT1JFX0NPTlNPTEUKIAloZWxwCiAJICBBbGxvdyBzZWxlY3Rpb24gb2YgdGhlIFMzQzI0WFggb24tYm9hcmQgc2VyaWFsIHBvcnRzIGZvciB1c2UgYXMKQEAgLTQ3Niw2ICs0ODEsMzcgQEAKIAkgIHlvdXIgYm9vdCBsb2FkZXIgYWJvdXQgaG93IHRvIHBhc3Mgb3B0aW9ucyB0byB0aGUga2VybmVsIGF0CiAJICBib290IHRpbWUuKQogCitjb25maWcgU0VSSUFMX1MzQzI0MDAKKwl0cmlzdGF0ZSAiU2Ftc3VuZyBTM0MyNDEwIFNlcmlhbCBwb3J0IHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUk0gJiYgU0VSSUFMX1NBTVNVTkcgJiYgQ1BVX1MzQzI0MDAKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0MDAKKwloZWxwCisJICBTZXJpYWwgcG9ydCBzdXBwb3J0IGZvciB0aGUgU2Ftc3VuZyBTM0MyNDAwIFNvQworCitjb25maWcgU0VSSUFMX1MzQzI0MTAKKwl0cmlzdGF0ZSAiU2Ftc3VuZyBTM0MyNDEwIFNlcmlhbCBwb3J0IHN1cHBvcnQiCisJZGVwZW5kcyBvbiBTRVJJQUxfU0FNU1VORyAmJiBDUFVfUzNDMjQxMAorCWRlZmF1bHQgeSBpZiBDUFVfUzNDMjQxMAorCWhlbHAKKwkgIFNlcmlhbCBwb3J0IHN1cHBvcnQgZm9yIHRoZSBTYW1zdW5nIFMzQzI0MTAgU29DCisKK2NvbmZpZyBTRVJJQUxfUzNDMjQxMgorCXRyaXN0YXRlICJTYW1zdW5nIFMzQzI0MTIvUzNDMjQxMyBTZXJpYWwgcG9ydCBzdXBwb3J0IgorCWRlcGVuZHMgb24gU0VSSUFMX1NBTVNVTkcgJiYgQ1BVX1MzQzI0MTIKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0MTIKKwloZWxwCisJICBTZXJpYWwgcG9ydCBzdXBwb3J0IGZvciB0aGUgU2Ftc3VuZyBTM0MyNDEyIGFuZCBTM0MyNDEzIFNvQworCitjb25maWcgU0VSSUFMX1MzQzI0NDAKKwl0cmlzdGF0ZSAiU2Ftc3VuZyBTM0MyNDQwL1MzQzI0NDIgU2VyaWFsIHBvcnQgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIFNFUklBTF9TQU1TVU5HICYmIChDUFVfUzNDMjQ0MCB8fCBDUFVfUzNDMjQ0MikKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0NDAKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0NDIKKwloZWxwCisJICBTZXJpYWwgcG9ydCBzdXBwb3J0IGZvciB0aGUgU2Ftc3VuZyBTM0MyNDQwIGFuZCBTM0MyNDQyIFNvQworCisKKwogY29uZmlnIFNFUklBTF9EWgogCWJvb2wgIkRFQ3N0YXRpb24gRFogc2VyaWFsIGRyaXZlciIKIAlkZXBlbmRzIG9uIE1BQ0hfREVDU1RBVElPTiAmJiAzMkJJVApAQCAtNzUzLDcgKzc4OSw3IEBACiAKIGNvbmZpZyBTRVJJQUxfSU1YCiAJYm9vbCAiSU1YIHNlcmlhbCBwb3J0IHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBBUk0gJiYgQVJDSF9JTVgKKwlkZXBlbmRzIG9uIEFSTSAmJiAoQVJDSF9JTVggfHwgQVJDSF9NWEMpCiAJc2VsZWN0IFNFUklBTF9DT1JFCiAJaGVscAogCSAgSWYgeW91IGhhdmUgYSBtYWNoaW5lIGJhc2VkIG9uIGEgTW90b3JvbGEgSU1YIENQVSB5b3UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL01ha2VmaWxlIGIvZHJpdmVycy9zZXJpYWwvTWFrZWZpbGUKaW5kZXggMGQ5YzA5Yi4uN2Q4NWMxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9zZXJpYWwvTWFrZWZpbGUKQEAgLTI4LDcgKzI4LDExIEBACiBvYmotJChDT05GSUdfU0VSSUFMX1NBMTEwMCkgKz0gc2ExMTAwLm8KIG9iai0kKENPTkZJR19TRVJJQUxfQkZJTikgKz0gYmZpbl81eHgubwogb2JqLSQoQ09ORklHX1NFUklBTF9CRklOX1NQT1JUKSArPSBiZmluX3Nwb3J0X3VhcnQubworb2JqLSQoQ09ORklHX1NFUklBTF9TQU1TVU5HKSArPSBzYW1zdW5nLm8KK29iai0kKENPTkZJR19TRVJJQUxfUzNDMjQwMCkgKz0gczNjMjQwMC5vCiBvYmotJChDT05GSUdfU0VSSUFMX1MzQzI0MTApICs9IHMzYzI0MTAubworb2JqLSQoQ09ORklHX1NFUklBTF9TM0MyNDEyKSArPSBzM2MyNDEyLm8KK29iai0kKENPTkZJR19TRVJJQUxfUzNDMjQ0MCkgKz0gczNjMjQ0MC5vCiBvYmotJChDT05GSUdfU0VSSUFMX1NVTkNPUkUpICs9IHN1bmNvcmUubwogb2JqLSQoQ09ORklHX1NFUklBTF9TVU5IVikgKz0gc3VuaHYubwogb2JqLSQoQ09ORklHX1NFUklBTF9TVU5aSUxPRykgKz0gc3Vuemlsb2cubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvYXRtZWxfc2VyaWFsLmMgYi9kcml2ZXJzL3NlcmlhbC9hdG1lbF9zZXJpYWwuYwppbmRleCA0MmJlOGIwLi42YWVlZjIyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvYXRtZWxfc2VyaWFsLmMKKysrIGIvZHJpdmVycy9zZXJpYWwvYXRtZWxfc2VyaWFsLmMKQEAgLTE0MzksMTQgKzE0MzksMjkgQEAKIH07CiAKICNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBib29sIGF0bWVsX3NlcmlhbF9jbGtfd2lsbF9zdG9wKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0FSQ0hfQVQ5MQorCXJldHVybiBhdDkxX3N1c3BlbmRfZW50ZXJpbmdfc2xvd19jbG9jaygpOworI2Vsc2UKKwlyZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogc3RhdGljIGludCBhdG1lbF9zZXJpYWxfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAogCQkJCXBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKIAlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IGF0bWVsX3VhcnRfcG9ydCAqYXRtZWxfcG9ydCA9IHRvX2F0bWVsX3VhcnRfcG9ydChwb3J0KTsKIAorCWlmIChhdG1lbF9pc19jb25zb2xlX3BvcnQocG9ydCkgJiYgY29uc29sZV9zdXNwZW5kX2VuYWJsZWQpIHsKKwkJLyogRHJhaW4gdGhlIFRYIHNoaWZ0ZXIgKi8KKwkJd2hpbGUgKCEoVUFSVF9HRVRfQ1NSKHBvcnQpICYgQVRNRUxfVVNfVFhFTVBUWSkpCisJCQljcHVfcmVsYXgoKTsKKwl9CisKIAlpZiAoZGV2aWNlX21heV93YWtldXAoJnBkZXYtPmRldikKLQkgICAgJiYgIWF0OTFfc3VzcGVuZF9lbnRlcmluZ19zbG93X2Nsb2NrKCkpCisJICAgICYmICFhdG1lbF9zZXJpYWxfY2xrX3dpbGxfc3RvcCgpKQogCQllbmFibGVfaXJxX3dha2UocG9ydC0+aXJxKTsKIAllbHNlIHsKIAkJdWFydF9zdXNwZW5kX3BvcnQoJmF0bWVsX3VhcnQsIHBvcnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvaW14LmMgYi9kcml2ZXJzL3NlcmlhbC9pbXguYwppbmRleCA1YTM3NWJmLi42NGFjYjM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC9pbXguYworKysgYi9kcml2ZXJzL3NlcmlhbC9pbXguYwpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KQEAgLTYxLDYgKzYyLDExIEBACiAjZGVmaW5lIFVCSVIgIDB4YTQgLyogQlJNIEluY3JlbWVudGFsIFJlZ2lzdGVyICovCiAjZGVmaW5lIFVCTVIgIDB4YTggLyogQlJNIE1vZHVsYXRvciBSZWdpc3RlciAqLwogI2RlZmluZSBVQlJDICAweGFjIC8qIEJhdWQgUmF0ZSBDb3VudCBSZWdpc3RlciAqLworI2lmIGRlZmluZWQgQ09ORklHX0FSQ0hfTVgzIHx8IGRlZmluZWQgQ09ORklHX0FSQ0hfTVgyCisjZGVmaW5lIE9ORU1TIDB4YjAgLyogT25lIE1pbGxpc2Vjb25kIHJlZ2lzdGVyICovCisjZGVmaW5lIFVUUyAgIDB4YjQgLyogVUFSVCBUZXN0IFJlZ2lzdGVyICovCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQVJDSF9JTVgKICNkZWZpbmUgQklQUjEgMHhiMCAvKiBJbmNyZW1lbnRhbCBQcmVzZXQgUmVnaXN0ZXIgMSAqLwogI2RlZmluZSBCSVBSMiAweGI0IC8qIEluY3JlbWVudGFsIFByZXNldCBSZWdpc3RlciAyICovCiAjZGVmaW5lIEJJUFIzIDB4YjggLyogSW5jcmVtZW50YWwgUHJlc2V0IFJlZ2lzdGVyIDMgKi8KQEAgLTcwLDYgKzc2LDcgQEAKICNkZWZpbmUgQk1QUjMgMHhjOCAvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyIDMgKi8KICNkZWZpbmUgQk1QUjQgMHhjYyAvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyIDQgKi8KICNkZWZpbmUgVVRTICAgMHhkMCAvKiBVQVJUIFRlc3QgUmVnaXN0ZXIgKi8KKyNlbmRpZgogCiAvKiBVQVJUIENvbnRyb2wgUmVnaXN0ZXIgQml0IEZpZWxkcy4qLwogI2RlZmluZSAgVVJYRF9DSEFSUkRZICAgICgxPDwxNSkKQEAgLTg5LDcgKzk2LDEyIEBACiAjZGVmaW5lICBVQ1IxX1JUU0RFTiAgICAgKDE8PDUpCSAvKiBSVFMgZGVsdGEgaW50ZXJydXB0IGVuYWJsZSAqLwogI2RlZmluZSAgVUNSMV9TTkRCUksgICAgICgxPDw0KQkgLyogU2VuZCBicmVhayAqLwogI2RlZmluZSAgVUNSMV9URE1BRU4gICAgICgxPDwzKQkgLyogVHJhbnNtaXR0ZXIgcmVhZHkgRE1BIGVuYWJsZSAqLworI2lmZGVmIENPTkZJR19BUkNIX0lNWAogI2RlZmluZSAgVUNSMV9VQVJUQ0xLRU4gICgxPDwyKQkgLyogVUFSVCBjbG9jayBlbmFibGVkICovCisjZW5kaWYKKyNpZiBkZWZpbmVkIENPTkZJR19BUkNIX01YMyB8fCBkZWZpbmVkIENPTkZJR19BUkNIX01YMgorI2RlZmluZSAgVUNSMV9VQVJUQ0xLRU4gICgwKQkgLyogbm90IHByZXNlbnQgb24gbXgyL214MyAqLworI2VuZGlmCiAjZGVmaW5lICBVQ1IxX0RPWkUgICAgICAgKDE8PDEpCSAvKiBEb3plICovCiAjZGVmaW5lICBVQ1IxX1VBUlRFTiAgICAgKDE8PDApCSAvKiBVQVJUIGVuYWJsZWQgKi8KICNkZWZpbmUgIFVDUjJfRVNDSSAgICAgCSAoMTw8MTUpIC8qIEVzY2FwZSBzZXEgaW50ZXJydXB0IGVuYWJsZSAqLwpAQCAtMTYzLDggKzE3NSwxOSBAQAogI2RlZmluZSAgVVRTX1NPRlRSU1QJICgxPDwwKQkgLyogU29mdHdhcmUgcmVzZXQgKi8KIAogLyogV2UndmUgYmVlbiBhc3NpZ25lZCBhIHJhbmdlIG9uIHRoZSAiTG93LWRlbnNpdHkgc2VyaWFsIHBvcnRzIiBtYWpvciAqLworI2lmZGVmIENPTkZJR19BUkNIX0lNWAogI2RlZmluZSBTRVJJQUxfSU1YX01BSk9SCTIwNAogI2RlZmluZSBNSU5PUl9TVEFSVAkJNDEKKyNkZWZpbmUgREVWX05BTUUJCSJ0dHlTTVgiCisjZGVmaW5lIE1BWF9JTlRFUk5BTF9JUlEJSU1YX0lSUVMKKyNlbmRpZgorCisjaWYgZGVmaW5lZCBDT05GSUdfQVJDSF9NWDMgfHwgZGVmaW5lZCBDT05GSUdfQVJDSF9NWDIKKyNkZWZpbmUgU0VSSUFMX0lNWF9NQUpPUiAgICAgICAgMjA3CisjZGVmaW5lIE1JTk9SX1NUQVJUCSAgICAgICAgMTYKKyNkZWZpbmUgREVWX05BTUUJCSJ0dHlteGMiCisjZGVmaW5lIE1BWF9JTlRFUk5BTF9JUlEJTVhDX01BWF9JTlRfTElORVMKKyNlbmRpZgogCiAvKgogICogVGhpcyBkZXRlcm1pbmVzIGhvdyBvZnRlbiB3ZSBjaGVjayB0aGUgbW9kZW0gc3RhdHVzIHNpZ25hbHMKQEAgLTE3NiwxMiArMTk5LDE1IEBACiAKICNkZWZpbmUgRFJJVkVSX05BTUUgIklNWC11YXJ0IgogCisjZGVmaW5lIFVBUlRfTlIgOAorCiBzdHJ1Y3QgaW14X3BvcnQgewogCXN0cnVjdCB1YXJ0X3BvcnQJcG9ydDsKIAlzdHJ1Y3QgdGltZXJfbGlzdAl0aW1lcjsKIAl1bnNpZ25lZCBpbnQJCW9sZF9zdGF0dXM7CiAJaW50CQkJdHhpcnEscnhpcnEscnRzaXJxOwogCWludAkJCWhhdmVfcnRzY3RzOjE7CisJc3RydWN0IGNsawkJKmNsazsKIH07CiAKIC8qCkBAIC00MDUsNiArNDMxLDI2IEBACiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCitzdGF0aWMgaXJxcmV0dXJuX3QgaW14X2ludChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9IGRldl9pZDsKKwl1bnNpZ25lZCBpbnQgc3RzOworCisJc3RzID0gcmVhZGwoc3BvcnQtPnBvcnQubWVtYmFzZSArIFVTUjEpOworCisJaWYgKHN0cyAmIFVTUjFfUlJEWSkKKwkJaW14X3J4aW50KGlycSwgZGV2X2lkKTsKKworCWlmIChzdHMgJiBVU1IxX1RSRFkgJiYKKwkJCXJlYWRsKHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQ1IxKSAmIFVDUjFfVFhNUFRZRU4pCisJCWlteF90eGludChpcnEsIGRldl9pZCk7CisKKwlpZiAoc3RzICYgVVNSMV9SVFNTKQorCQlpbXhfcnRzaW50KGlycSwgZGV2X2lkKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKwogLyoKICAqIFJldHVybiBUSU9DU0VSX1RFTVQgd2hlbiB0cmFuc21pdHRlciBpcyBub3QgYnVzeS4KICAqLwpAQCAtNDc3LDcgKzUyMyw4IEBACiAJICogUkZESVYgaXMgc2V0IHN1Y2ggd2F5IHRvIHNhdGlzZnkgcmVxdWVzdGVkIHVhcnRjbGsgdmFsdWUKIAkgKi8KIAl2YWwgPSBUWFRMIDw8IDEwIHwgUlhUTDsKLQl1ZmNyX3JmZGl2ID0gKGlteF9nZXRfcGVyY2xrMSgpICsgc3BvcnQtPnBvcnQudWFydGNsayAvIDIpIC8gc3BvcnQtPnBvcnQudWFydGNsazsKKwl1ZmNyX3JmZGl2ID0gKGNsa19nZXRfcmF0ZShzcG9ydC0+Y2xrKSArIHNwb3J0LT5wb3J0LnVhcnRjbGsgLyAyKQorCQkJLyBzcG9ydC0+cG9ydC51YXJ0Y2xrOwogCiAJaWYoIXVmY3JfcmZkaXYpCiAJCXVmY3JfcmZkaXYgPSAxOwpAQCAtNTA5LDIxICs1NTYsMzQgQEAKIAl3cml0ZWwodGVtcCAmIH5VQ1I0X0RSRU4sIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQ1I0KTsKIAogCS8qCi0JICogQWxsb2NhdGUgdGhlIElSUQorCSAqIEFsbG9jYXRlIHRoZSBJUlEocykgaS5NWDEgaGFzIHRocmVlIGludGVycnVwdHMgd2hlcmVhcyBsYXRlcgorCSAqIGNoaXBzIG9ubHkgaGF2ZSBvbmUgaW50ZXJydXB0LgogCSAqLwotCXJldHZhbCA9IHJlcXVlc3RfaXJxKHNwb3J0LT5yeGlycSwgaW14X3J4aW50LCAwLAotCQkJICAgICBEUklWRVJfTkFNRSwgc3BvcnQpOwotCWlmIChyZXR2YWwpIGdvdG8gZXJyb3Jfb3V0MTsKKwlpZiAoc3BvcnQtPnR4aXJxID4gMCkgeworCQlyZXR2YWwgPSByZXF1ZXN0X2lycShzcG9ydC0+cnhpcnEsIGlteF9yeGludCwgMCwKKwkJCQlEUklWRVJfTkFNRSwgc3BvcnQpOworCQlpZiAocmV0dmFsKQorCQkJZ290byBlcnJvcl9vdXQxOwogCi0JcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnR4aXJxLCBpbXhfdHhpbnQsIDAsCi0JCQkgICAgIERSSVZFUl9OQU1FLCBzcG9ydCk7Ci0JaWYgKHJldHZhbCkgZ290byBlcnJvcl9vdXQyOworCQlyZXR2YWwgPSByZXF1ZXN0X2lycShzcG9ydC0+dHhpcnEsIGlteF90eGludCwgMCwKKwkJCQlEUklWRVJfTkFNRSwgc3BvcnQpOworCQlpZiAocmV0dmFsKQorCQkJZ290byBlcnJvcl9vdXQyOwogCi0JcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnJ0c2lycSwgaW14X3J0c2ludCwKLQkJCSAgICAgKHNwb3J0LT5ydHNpcnEgPCBJTVhfSVJRUykgPyAwIDoKKwkJcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnJ0c2lycSwgaW14X3J0c2ludCwKKwkJCSAgICAgKHNwb3J0LT5ydHNpcnEgPCBNQVhfSU5URVJOQUxfSVJRKSA/IDAgOgogCQkJICAgICAgIElSUUZfVFJJR0dFUl9GQUxMSU5HIHwgSVJRRl9UUklHR0VSX1JJU0lORywKLQkJCSAgICAgRFJJVkVSX05BTUUsIHNwb3J0KTsKLQlpZiAocmV0dmFsKSBnb3RvIGVycm9yX291dDM7CisJCQkJRFJJVkVSX05BTUUsIHNwb3J0KTsKKwkJaWYgKHJldHZhbCkKKwkJCWdvdG8gZXJyb3Jfb3V0MzsKKwl9IGVsc2UgeworCQlyZXR2YWwgPSByZXF1ZXN0X2lycShzcG9ydC0+cG9ydC5pcnEsIGlteF9pbnQsIDAsCisJCQkJRFJJVkVSX05BTUUsIHNwb3J0KTsKKwkJaWYgKHJldHZhbCkgeworCQkJZnJlZV9pcnEoc3BvcnQtPnBvcnQuaXJxLCBzcG9ydCk7CisJCQlnb3RvIGVycm9yX291dDE7CisJCX0KKwl9CiAKIAkvKgogCSAqIEZpbmFsbHksIGNsZWFyIGFuZCBlbmFibGUgaW50ZXJydXB0cwpAQCAtNTQ4LDkgKzYwOCwxMSBAQAogCXJldHVybiAwOwogCiBlcnJvcl9vdXQzOgotCWZyZWVfaXJxKHNwb3J0LT50eGlycSwgc3BvcnQpOworCWlmIChzcG9ydC0+dHhpcnEpCisJCWZyZWVfaXJxKHNwb3J0LT50eGlycSwgc3BvcnQpOwogZXJyb3Jfb3V0MjoKLQlmcmVlX2lycShzcG9ydC0+cnhpcnEsIHNwb3J0KTsKKwlpZiAoc3BvcnQtPnJ4aXJxKQorCQlmcmVlX2lycShzcG9ydC0+cnhpcnEsIHNwb3J0KTsKIGVycm9yX291dDE6CiAJcmV0dXJuIHJldHZhbDsKIH0KQEAgLTU2OCw5ICs2MzAsMTIgQEAKIAkvKgogCSAqIEZyZWUgdGhlIGludGVycnVwdHMKIAkgKi8KLQlmcmVlX2lycShzcG9ydC0+cnRzaXJxLCBzcG9ydCk7Ci0JZnJlZV9pcnEoc3BvcnQtPnR4aXJxLCBzcG9ydCk7Ci0JZnJlZV9pcnEoc3BvcnQtPnJ4aXJxLCBzcG9ydCk7CisJaWYgKHNwb3J0LT50eGlycSA+IDApIHsKKwkJZnJlZV9pcnEoc3BvcnQtPnJ0c2lycSwgc3BvcnQpOworCQlmcmVlX2lycShzcG9ydC0+dHhpcnEsIHNwb3J0KTsKKwkJZnJlZV9pcnEoc3BvcnQtPnJ4aXJxLCBzcG9ydCk7CisJfSBlbHNlCisJCWZyZWVfaXJxKHNwb3J0LT5wb3J0LmlycSwgc3BvcnQpOwogCiAJLyoKIAkgKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzLCBwb3J0IGFuZCBicmVhayBjb25kaXRpb24uCkBAIC01ODksNiArNjU0LDcgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXVuc2lnbmVkIGludCB1Y3IyLCBvbGRfdWNyMSwgb2xkX3R4cnhlbiwgYmF1ZCwgcXVvdDsKIAl1bnNpZ25lZCBpbnQgb2xkX2NzaXplID0gb2xkID8gb2xkLT5jX2NmbGFnICYgQ1NJWkUgOiBDUzg7CisJdW5zaWduZWQgaW50IGRpdiwgbnVtLCBkZW5vbSwgdWZjcjsKIAogCS8qCiAJICogSWYgd2UgZG9uJ3Qgc3VwcG9ydCBtb2RlbSBjb250cm9sIGxpbmVzLCBkb24ndCBhbGxvdwpAQCAtNjM0LDcgKzcwMCw3IEBACiAJLyoKIAkgKiBBc2sgdGhlIGNvcmUgdG8gY2FsY3VsYXRlIHRoZSBkaXZpc29yIGZvciB1cy4KIAkgKi8KLQliYXVkID0gdWFydF9nZXRfYmF1ZF9yYXRlKHBvcnQsIHRlcm1pb3MsIG9sZCwgMCwgcG9ydC0+dWFydGNsay8xNik7CisJYmF1ZCA9IHVhcnRfZ2V0X2JhdWRfcmF0ZShwb3J0LCB0ZXJtaW9zLCBvbGQsIDUwLCBwb3J0LT51YXJ0Y2xrIC8gMTYpOwogCXF1b3QgPSB1YXJ0X2dldF9kaXZpc29yKHBvcnQsIGJhdWQpOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNwb3J0LT5wb3J0LmxvY2ssIGZsYWdzKTsKQEAgLTY4NCwxNCArNzUwLDQxIEBACiAJCQlzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUNSMik7CiAJb2xkX3R4cnhlbiAmPSAoVUNSMl9UWEVOIHwgVUNSMl9SWEVOKTsKIAotCS8qIHNldCB0aGUgYmF1ZCByYXRlLiBXZSBhc3N1bWUgdWFydGNsayA9IDE2IE1IegotCSAqCi0JICogYmF1ZCAqIDE2ICAgVUJJUiAtIDEKLQkgKiAtLS0tLS0tLS0gPSAtLS0tLS0tLQotCSAqICB1YXJ0Y2xrICAgIFVCTVIgLSAxCi0JICovCi0Jd3JpdGVsKChiYXVkIC8gMTAwKSAtIDEsIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQklSKTsKLQl3cml0ZWwoMTAwMDAgLSAxLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUJNUik7CisJZGl2ID0gc3BvcnQtPnBvcnQudWFydGNsayAvIChiYXVkICogMTYpOworCWlmIChkaXYgPiA3KQorCQlkaXYgPSA3OworCWlmICghZGl2KQorCQlkaXYgPSAxOworCisJbnVtID0gYmF1ZDsKKwlkZW5vbSA9IHBvcnQtPnVhcnRjbGsgLyBkaXYgLyAxNjsKKworCS8qIHNoaWZ0IG51bSBhbmQgZGVub20gcmlnaHQgdW50aWwgdGhleSBmaXQgaW50byAxNiBiaXRzICovCisJd2hpbGUgKG51bSA+IDB4MTAwMDAgfHwgZGVub20gPiAweDEwMDAwKSB7CisJCW51bSA+Pj0gMTsKKwkJZGVub20gPj49IDE7CisJfQorCWlmIChudW0gPiAwKQorCQludW0gLT0gMTsKKwlpZiAoZGVub20gPiAwKQorCQlkZW5vbSAtPSAxOworCisJd3JpdGVsKG51bSwgc3BvcnQtPnBvcnQubWVtYmFzZSArIFVCSVIpOworCXdyaXRlbChkZW5vbSwgc3BvcnQtPnBvcnQubWVtYmFzZSArIFVCTVIpOworCisJaWYgKGRpdiA9PSA3KQorCQlkaXYgPSA2OyAvKiA2IGluIFJGRElWIG1lYW5zIGRpdmlkZSBieSA3ICovCisJZWxzZQorCQlkaXYgPSA2IC0gZGl2OworCisJdWZjciA9IHJlYWRsKHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVRkNSKTsKKwl1ZmNyID0gKHVmY3IgJiAoflVGQ1JfUkZESVYpKSB8CisJICAgIChkaXYgPDwgNyk7CisJd3JpdGVsKHVmY3IsIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVRkNSKTsKKworI2lmZGVmIE9ORU1TCisJd3JpdGVsKHNwb3J0LT5wb3J0LnVhcnRjbGsgLyBkaXYgLyAxMDAwLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgT05FTVMpOworI2VuZGlmCiAKIAl3cml0ZWwob2xkX3VjcjEsIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQ1IxKTsKIApAQCAtODAxLDY1ICs4OTQsNyBAQAogCS52ZXJpZnlfcG9ydAk9IGlteF92ZXJpZnlfcG9ydCwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgaW14X3BvcnQgaW14X3BvcnRzW10gPSB7Ci0JewotCS50eGlycSAgPSBVQVJUMV9NSU5UX1RYLAotCS5yeGlycSAgPSBVQVJUMV9NSU5UX1JYLAotCS5ydHNpcnEgPSBVQVJUMV9NSU5UX1JUUywKLQkucG9ydAk9IHsKLQkJLnR5cGUJCT0gUE9SVF9JTVgsCi0JCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCS5tZW1iYXNlCT0gKHZvaWQgKilJTVhfVUFSVDFfQkFTRSwKLQkJLm1hcGJhc2UJPSAweDAwMjA2MDAwLAotCQkuaXJxCQk9IFVBUlQxX01JTlRfUlgsCi0JCS51YXJ0Y2xrCT0gMTYwMDAwMDAsCi0JCS5maWZvc2l6ZQk9IDMyLAotCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCi0JCS5vcHMJCT0gJmlteF9wb3BzLAotCQkubGluZQkJPSAwLAotCX0sCi0JfSwgewotCS50eGlycSAgPSBVQVJUMl9NSU5UX1RYLAotCS5yeGlycSAgPSBVQVJUMl9NSU5UX1JYLAotCS5ydHNpcnEgPSBVQVJUMl9NSU5UX1JUUywKLQkucG9ydAk9IHsKLQkJLnR5cGUJCT0gUE9SVF9JTVgsCi0JCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCS5tZW1iYXNlCT0gKHZvaWQgKilJTVhfVUFSVDJfQkFTRSwKLQkJLm1hcGJhc2UJPSAweDAwMjA3MDAwLAotCQkuaXJxCQk9IFVBUlQyX01JTlRfUlgsCi0JCS51YXJ0Y2xrCT0gMTYwMDAwMDAsCi0JCS5maWZvc2l6ZQk9IDMyLAotCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCi0JCS5vcHMJCT0gJmlteF9wb3BzLAotCQkubGluZQkJPSAxLAotCX0sCi0JfQotfTsKLQotLyoKLSAqIFNldHVwIHRoZSBJTVggc2VyaWFsIHBvcnRzLgotICogTm90ZSBhbHNvIHRoYXQgd2Ugc3VwcG9ydCAiY29uc29sZT10dHlTTVh4IiB3aGVyZSAieCIgaXMgZWl0aGVyIDAgb3IgMS4KLSAqIFdoaWNoIHNlcmlhbCBwb3J0IHRoaXMgZW5kcyB1cCBiZWluZyBkZXBlbmRzIG9uIHRoZSBtYWNoaW5lIHlvdSdyZQotICogcnVubmluZyB0aGlzIGtlcm5lbCBvbi4gIEknbSBub3QgY29udmluY2VkIHRoYXQgdGhpcyBpcyBhIGdvb2QgaWRlYSwKLSAqIGJ1dCB0aGF0J3MgdGhlIHdheSBpdCB0cmFkaXRpb25hbGx5IHdvcmtzLgotICoKLSAqLwotc3RhdGljIHZvaWQgX19pbml0IGlteF9pbml0X3BvcnRzKHZvaWQpCi17Ci0Jc3RhdGljIGludCBmaXJzdCA9IDE7Ci0JaW50IGk7Ci0KLQlpZiAoIWZpcnN0KQotCQlyZXR1cm47Ci0JZmlyc3QgPSAwOwotCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW14X3BvcnRzKTsgaSsrKSB7Ci0JCWluaXRfdGltZXIoJmlteF9wb3J0c1tpXS50aW1lcik7Ci0JCWlteF9wb3J0c1tpXS50aW1lci5mdW5jdGlvbiA9IGlteF90aW1lb3V0OwotCQlpbXhfcG9ydHNbaV0udGltZXIuZGF0YSAgICAgPSAodW5zaWduZWQgbG9uZykmaW14X3BvcnRzW2ldOwotCX0KLX0KK3N0YXRpYyBzdHJ1Y3QgaW14X3BvcnQgKmlteF9wb3J0c1tVQVJUX05SXTsKIAogI2lmZGVmIENPTkZJR19TRVJJQUxfSU1YX0NPTlNPTEUKIHN0YXRpYyB2b2lkIGlteF9jb25zb2xlX3B1dGNoYXIoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGNoKQpAQCAtODc4LDcgKzkxMyw3IEBACiBzdGF0aWMgdm9pZAogaW14X2NvbnNvbGVfd3JpdGUoc3RydWN0IGNvbnNvbGUgKmNvLCBjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQgY291bnQpCiB7Ci0Jc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9ICZpbXhfcG9ydHNbY28tPmluZGV4XTsKKwlzdHJ1Y3QgaW14X3BvcnQgKnNwb3J0ID0gaW14X3BvcnRzW2NvLT5pbmRleF07CiAJdW5zaWduZWQgaW50IG9sZF91Y3IxLCBvbGRfdWNyMjsKIAogCS8qCkBAIC05NDQsNyArOTc5LDcgQEAKIAkJZWxzZQogCQkJdWNmcl9yZmRpdiA9IDYgLSB1Y2ZyX3JmZGl2OwogCi0JCXVhcnRjbGsgPSBpbXhfZ2V0X3BlcmNsazEoKTsKKwkJdWFydGNsayA9IGNsa19nZXRfcmF0ZShzcG9ydC0+Y2xrKTsKIAkJdWFydGNsayAvPSB1Y2ZyX3JmZGl2OwogCiAJCXsJLyoKQEAgLTk4NCw3ICsxMDE5LDcgQEAKIAkgKi8KIAlpZiAoY28tPmluZGV4ID09IC0xIHx8IGNvLT5pbmRleCA+PSBBUlJBWV9TSVpFKGlteF9wb3J0cykpCiAJCWNvLT5pbmRleCA9IDA7Ci0Jc3BvcnQgPSAmaW14X3BvcnRzW2NvLT5pbmRleF07CisJc3BvcnQgPSBpbXhfcG9ydHNbY28tPmluZGV4XTsKIAogCWlmIChvcHRpb25zKQogCQl1YXJ0X3BhcnNlX29wdGlvbnMob3B0aW9ucywgJmJhdWQsICZwYXJpdHksICZiaXRzLCAmZmxvdyk7CkBAIC05OTgsNyArMTAzMyw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgdWFydF9kcml2ZXIgaW14X3JlZzsKIHN0YXRpYyBzdHJ1Y3QgY29uc29sZSBpbXhfY29uc29sZSA9IHsKLQkubmFtZQkJPSAidHR5U01YIiwKKwkubmFtZQkJPSBERVZfTkFNRSwKIAkud3JpdGUJCT0gaW14X2NvbnNvbGVfd3JpdGUsCiAJLmRldmljZQkJPSB1YXJ0X2NvbnNvbGVfZGV2aWNlLAogCS5zZXR1cAkJPSBpbXhfY29uc29sZV9zZXR1cCwKQEAgLTEwMDcsMTQgKzEwNDIsNiBAQAogCS5kYXRhCQk9ICZpbXhfcmVnLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgaW14X3JzX2NvbnNvbGVfaW5pdCh2b2lkKQotewotCWlteF9pbml0X3BvcnRzKCk7Ci0JcmVnaXN0ZXJfY29uc29sZSgmaW14X2NvbnNvbGUpOwotCXJldHVybiAwOwotfQotY29uc29sZV9pbml0Y2FsbChpbXhfcnNfY29uc29sZV9pbml0KTsKLQogI2RlZmluZSBJTVhfQ09OU09MRQkmaW14X2NvbnNvbGUKICNlbHNlCiAjZGVmaW5lIElNWF9DT05TT0xFCU5VTEwKQEAgLTEwMjMsNyArMTA1MCw3IEBACiBzdGF0aWMgc3RydWN0IHVhcnRfZHJpdmVyIGlteF9yZWcgPSB7CiAJLm93bmVyICAgICAgICAgID0gVEhJU19NT0RVTEUsCiAJLmRyaXZlcl9uYW1lICAgID0gRFJJVkVSX05BTUUsCi0JLmRldl9uYW1lICAgICAgID0gInR0eVNNWCIsCisJLmRldl9uYW1lICAgICAgID0gREVWX05BTUUsCiAJLm1ham9yICAgICAgICAgID0gU0VSSUFMX0lNWF9NQUpPUiwKIAkubWlub3IgICAgICAgICAgPSBNSU5PUl9TVEFSVCwKIAkubnIgICAgICAgICAgICAgPSBBUlJBWV9TSVpFKGlteF9wb3J0cyksCkBAIC0xMDUwLDI5ICsxMDc3LDk4IEBACiAgICAgICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHNlcmlhbF9pbXhfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQorc3RhdGljIGludCBzZXJpYWxfaW14X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CisJc3RydWN0IGlteF9wb3J0ICpzcG9ydDsKIAlzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICpwZGF0YTsKKwl2b2lkIF9faW9tZW0gKmJhc2U7CisJaW50IHJldCA9IDA7CisJc3RydWN0IHJlc291cmNlICpyZXM7CiAKLQlpbXhfcG9ydHNbZGV2LT5pZF0ucG9ydC5kZXYgPSAmZGV2LT5kZXY7CisJc3BvcnQgPSBremFsbG9jKHNpemVvZigqc3BvcnQpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXNwb3J0KQorCQlyZXR1cm4gLUVOT01FTTsKIAotCXBkYXRhID0gKHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgKilkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJaWYgKCFyZXMpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBmcmVlOworCX0KKworCWJhc2UgPSBpb3JlbWFwKHJlcy0+c3RhcnQsIFBBR0VfU0laRSk7CisJaWYgKCFiYXNlKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZnJlZTsKKwl9CisKKwlzcG9ydC0+cG9ydC5kZXYgPSAmcGRldi0+ZGV2OworCXNwb3J0LT5wb3J0Lm1hcGJhc2UgPSByZXMtPnN0YXJ0OworCXNwb3J0LT5wb3J0Lm1lbWJhc2UgPSBiYXNlOworCXNwb3J0LT5wb3J0LnR5cGUgPSBQT1JUX0lNWCwKKwlzcG9ydC0+cG9ydC5pb3R5cGUgPSBVUElPX01FTTsKKwlzcG9ydC0+cG9ydC5pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOworCXNwb3J0LT5yeGlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7CisJc3BvcnQtPnR4aXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAxKTsKKwlzcG9ydC0+cnRzaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAyKTsKKwlzcG9ydC0+cG9ydC5maWZvc2l6ZSA9IDMyOworCXNwb3J0LT5wb3J0Lm9wcyA9ICZpbXhfcG9wczsKKwlzcG9ydC0+cG9ydC5mbGFncyA9IFVQRl9CT09UX0FVVE9DT05GOworCXNwb3J0LT5wb3J0LmxpbmUgPSBwZGV2LT5pZDsKKwlpbml0X3RpbWVyKCZzcG9ydC0+dGltZXIpOworCXNwb3J0LT50aW1lci5mdW5jdGlvbiA9IGlteF90aW1lb3V0OworCXNwb3J0LT50aW1lci5kYXRhICAgICA9ICh1bnNpZ25lZCBsb25nKXNwb3J0OworCisJc3BvcnQtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInVhcnRfY2xrIik7CisJaWYgKElTX0VSUihzcG9ydC0+Y2xrKSkgeworCQlyZXQgPSBQVFJfRVJSKHNwb3J0LT5jbGspOworCQlnb3RvIHVubWFwOworCX0KKwljbGtfZW5hYmxlKHNwb3J0LT5jbGspOworCisJc3BvcnQtPnBvcnQudWFydGNsayA9IGNsa19nZXRfcmF0ZShzcG9ydC0+Y2xrKTsKKworCWlteF9wb3J0c1twZGV2LT5pZF0gPSBzcG9ydDsKKworCXBkYXRhID0gcGRldi0+ZGV2LnBsYXRmb3JtX2RhdGE7CiAJaWYocGRhdGEgJiYgKHBkYXRhLT5mbGFncyAmIElNWFVBUlRfSEFWRV9SVFNDVFMpKQotCQlpbXhfcG9ydHNbZGV2LT5pZF0uaGF2ZV9ydHNjdHMgPSAxOworCQlzcG9ydC0+aGF2ZV9ydHNjdHMgPSAxOwogCi0JdWFydF9hZGRfb25lX3BvcnQoJmlteF9yZWcsICZpbXhfcG9ydHNbZGV2LT5pZF0ucG9ydCk7Ci0JcGxhdGZvcm1fc2V0X2RydmRhdGEoZGV2LCAmaW14X3BvcnRzW2Rldi0+aWRdKTsKKwlpZiAocGRhdGEtPmluaXQpCisJCXBkYXRhLT5pbml0KHBkZXYpOworCisJdWFydF9hZGRfb25lX3BvcnQoJmlteF9yZWcsICZzcG9ydC0+cG9ydCk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgJnNwb3J0LT5wb3J0KTsKKwogCXJldHVybiAwOwordW5tYXA6CisJaW91bm1hcChzcG9ydC0+cG9ydC5tZW1iYXNlKTsKK2ZyZWU6CisJa2ZyZWUoc3BvcnQpOworCisJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBzZXJpYWxfaW14X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IHNlcmlhbF9pbXhfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0Jc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGE7CisJc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCi0JcGxhdGZvcm1fc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsKKwlwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOwogCi0JaWYgKHNwb3J0KQorCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCisJaWYgKHNwb3J0KSB7CiAJCXVhcnRfcmVtb3ZlX29uZV9wb3J0KCZpbXhfcmVnLCAmc3BvcnQtPnBvcnQpOworCQljbGtfcHV0KHNwb3J0LT5jbGspOworCX0KKworCWNsa19kaXNhYmxlKHNwb3J0LT5jbGspOworCisJaWYgKHBkYXRhLT5leGl0KQorCQlwZGF0YS0+ZXhpdChwZGV2KTsKKworCWlvdW5tYXAoc3BvcnQtPnBvcnQubWVtYmFzZSk7CisJa2ZyZWUoc3BvcnQpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDk1LDggKzExOTEsNiBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAiU2VyaWFsOiBJTVggZHJpdmVyXG4iKTsKIAotCWlteF9pbml0X3BvcnRzKCk7Ci0KIAlyZXQgPSB1YXJ0X3JlZ2lzdGVyX2RyaXZlcigmaW14X3JlZyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0MDAuYyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MDAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTEwMjA1Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvczNjMjQwMC5jCkBAIC0wLDAgKzEsMTA2IEBACisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zM2MyNDAuYworICoKKyAqIERyaXZlciBmb3IgU2Ftc3VuZyBTb0Mgb25ib2FyZCBVQVJUcy4KKyAqCisgKiBCZW4gRG9va3MsIENvcHlyaWdodCAoYykgMjAwMy0yMDA1IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCisjaW5jbHVkZSAic2Ftc3VuZy5oIgorCitzdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCWNsay0+ZGl2aXNvciA9IDE7CisJY2xrLT5uYW1lID0gInBjbGsiOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKK3sKKwlkYmcoInMzYzI0MDBfc2VyaWFsX3Jlc2V0cG9ydDogcG9ydD0lcCAoJTA4bHgpLCBjZmc9JXBcbiIsCisJICAgIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7CisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgIGNmZy0+dWNvbik7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCBjZmctPnVsY29uKTsKKworCS8qIHJlc2V0IGJvdGggZmlmb3MgKi8KKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbiB8IFMzQzI0MTBfVUZDT05fUkVTRVRCT1RIKTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gczNjMjQwMF91YXJ0X2luZiA9IHsKKwkubmFtZQkJPSAiU2Ftc3VuZyBTM0MyNDAwIFVBUlQiLAorCS50eXBlCQk9IFBPUlRfUzNDMjQwMCwKKwkuZmlmb3NpemUJPSAxNiwKKwkucnhfZmlmb21hc2sJPSBTM0MyNDEwX1VGU1RBVF9SWE1BU0ssCisJLnJ4X2ZpZm9zaGlmdAk9IFMzQzI0MTBfVUZTVEFUX1JYU0hJRlQsCisJLnJ4X2ZpZm9mdWxsCT0gUzNDMjQxMF9VRlNUQVRfUlhGVUxMLAorCS50eF9maWZvZnVsbAk9IFMzQzI0MTBfVUZTVEFUX1RYRlVMTCwKKwkudHhfZmlmb21hc2sJPSBTM0MyNDEwX1VGU1RBVF9UWE1BU0ssCisJLnR4X2ZpZm9zaGlmdAk9IFMzQzI0MTBfVUZTVEFUX1RYU0hJRlQsCisJLmdldF9jbGtzcmMJPSBzM2MyNDAwX3NlcmlhbF9nZXRzb3VyY2UsCisJLnNldF9jbGtzcmMJPSBzM2MyNDAwX3NlcmlhbF9zZXRzb3VyY2UsCisJLnJlc2V0X3BvcnQJPSBzM2MyNDAwX3NlcmlhbF9yZXNldHBvcnQsCit9OworCitzdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQwMF91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0MDBfc2VyaWFsX2RydiA9IHsKKwkucHJvYmUJCT0gczNjMjQwMF9zZXJpYWxfcHJvYmUsCisJLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0MDAtdWFydCIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0sCit9OworCitzM2MyNHh4X2NvbnNvbGVfaW5pdCgmczNjMjQwMF9zZXJpYWxfZHJ2LCAmczNjMjQwMF91YXJ0X2luZik7CisKK3N0YXRpYyBpbmxpbmUgaW50IHMzYzI0MDBfc2VyaWFsX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQwMF9zZXJpYWxfZHJ2LCAmczNjMjQwMF91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDAwX3NlcmlhbF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0MDBfc2VyaWFsX2Rydik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0MDBfc2VyaWFsX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjQwMF9zZXJpYWxfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKK01PRFVMRV9BVVRIT1IoIkJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTM0MyNDAwIFNvQyBTZXJpYWwgcG9ydCBkcml2ZXIiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQwMC11YXJ0Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMKaW5kZXggMmI2YTAxMy4uYzVmMDNmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCisrKyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTAuYwpAQCAtMSwxMjcwICsxLDMwIEBACi0vKgotICogbGludXgvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMKICAqCi0gKiBEcml2ZXIgZm9yIG9uYm9hcmQgVUFSVHMgb24gdGhlIFNhbXN1bmcgUzNDMjRYWAorICogRHJpdmVyIGZvciBTYW1zdW5nIFMzQzI0MTAgU29DIG9uYm9hcmQgVUFSVHMuCiAgKgotICogQmFzZWQgb24gZHJpdmVycy9jaGFyL3NlcmlhbC5jIGFuZCBkcml2ZXJzL2NoYXIvMjEyODUuYworICogQmVuIERvb2tzLCBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KICAqCi0gKiBCZW4gRG9va3MsIChjKSAyMDAzLTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzCi0gKglodHRwOi8vd3d3LnNpbXRlYy5jby51ay9wcm9kdWN0cy9TV0xJTlVYLwotICoKLSAqIENoYW5nZWxvZzoKLSAqCi0gKiAyMi1KdWwtMjAwNCAgQkpEICBGaW5pc2hlZCBvZmYgZGV2aWNlIHJld3JpdGUKLSAqCi0gKiAyMS1KdWwtMjAwNCAgQkpEICBUaGFua3MgdG8gPGhlcmJldEAxM3RoZmxvb3IuYXQ+IGZvciBwb2ludGluZyBvdXQKLSAqICAgICAgICAgICAgICAgICAgIHByb2JsZW1zIHdpdGggYmF1ZCByYXRlIGFuZCBsb3NzIG9mIElSIHNldHRpbmdzLiBVcGRhdGUKLSAqICAgICAgICAgICAgICAgICAgIHRvIGFkZCBjb25maWd1cmF0aW9uIHZpYSBwbGF0Zm9ybV9kZXZpY2Ugc3RydWN0dXJlCi0gKgotICogMjgtU2VwLTIwMDQgIEJKRCAgUmUtd3JpdGUgZm9yIHRoZSBmb2xsb3dpbmcgaXRlbXMKLSAqCQkgICAgIC0gUzNDMjQxMCBhbmQgUzNDMjQ0MCBzZXJpYWwgc3VwcG9ydAotICoJCSAgICAgLSBQb3dlciBNYW5hZ2VtZW50IHN1cHBvcnQKLSAqCQkgICAgIC0gRml4IGNvbnNvbGUgdmlhIElyREEgZGV2aWNlcwotICoJCSAgICAgLSBTeXNSZXEgKEhlcmJlcnQgUMO2dHpsKQotICoJCSAgICAgLSBCcmVhayBjaGFyYWN0ZXIgaGFuZGxpbmcgKEhlcmJlcnQgUMO2dHpsKQotICoJCSAgICAgLSBzcGluLWxvY2sgaW5pdGlhbGlzYXRpb24gKERpbWl0cnkgQW5kcmljKQotICoJCSAgICAgLSBhZGRlZCBjbG9jayBjb250cm9sCi0gKgkJICAgICAtIHVwZGF0ZWQgaW5pdCBjb2RlIHRvIHVzZSBwbGF0Zm9ybV9kZXZpY2UgaW5mbwotICoKLSAqIDA2LU1hci0yMDA1ICBCSkQgIEFkZCBzM2MyNDQwIGZjbGsgY2xvY2sgc291cmNlCi0gKgotICogMDktTWFyLTIwMDUgIEJKRCAgQWRkIHMzYzI0MDAgc3VwcG9ydAotICoKLSAqIDEwLU1hci0yMDA1ICBMQ1ZSIENoYW5nZWQgUzNDMjQxMF9WQV9VQVJUIHRvIFMzQzI0WFhfVkFfVUFSVAorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KICovCiAKLS8qIE5vdGUgb24gMjQ0MCBmY2xrIGNsb2NrIHNvdXJjZSBoYW5kbGluZwotICoKLSAqIFdoaWxzdCBpdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGZjbGsgYXMgY2xvY2sgc291cmNlLCB0aGUgbWV0aG9kCi0gKiBvZiBwcm9wZXJseSBzd2l0Y2hpbmcgdG9vL2Zyb20gdGhpcyBpcyBjdXJyZW50bHkgdW4taW1wbGVtZW50ZWQsIHNvCi0gKiB3aGljaGV2ZXIgd2F5IGlzIGNvbmZpZ3VyZWQgYXQgc3RhcnR1cCBpcyB0aGUgb25lIHRoYXQgd2lsbCBiZSB1c2VkLgotKi8KLQotLyogSG90ZSBvbiAyNDEwIGVycm9yIGhhbmRsaW5nCi0gKgotICogVGhlIHMzYzI0MTAgbWFudWFsIGhhcyBhIGxvdmUvaGF0ZSBhZmZhaXIgd2l0aCB0aGUgY29udGVudHMgb2YgdGhlCi0gKiBVRVJTVEFUIHJlZ2lzdGVyIGluIHRoZSBVQVJUIGJsb2NrcywgYW5kIGtlZXBzIG1hcmtpbmcgc29tZSBvZiB0aGUKLSAqIGVycm9yIGJpdHMgYXMgcmVzZXJ2ZWQuIEhhdmluZyBjaGVja2VkIHdpdGggdGhlIHMzYzI0MTB4MDEsCi0gKiBpdCBjb3BlcyB3aXRoIEJSRUFLcyBwcm9wZXJseSwgc28gSSBhbSBoYXBweSB0byBpZ25vcmUgdGhlIFJFU0VSVkVECi0gKiBmZWF0dXJlIGZyb20gdGhlIGxhdHRlciB2ZXJzaW9ucyBvZiB0aGUgbWFudWFsLgotICoKLSAqIElmIGl0IGJlY29tZXMgYXBhcnJlbnQgdGhhdCBsYXR0ZXIgdmVyc2lvbnMgb2YgdGhlIDI0MTAgcmVtb3ZlIHRoZXNlCi0gKiBiaXRzLCB0aGVuIGFjdGlvbiB3aWxsIGhhdmUgdG8gYmUgdGFrZW4gdG8gZGlmZmVyZW50aWF0ZSB0aGUgdmVyc2lvbnMKLSAqIGFuZCBjaGFuZ2UgdGhlIHBvbGljeSBvbiBCUkVBSwotICoKLSAqIEJKRCwgMDQtTm92LTIwMDQKLSovCi0KLQotI2lmIGRlZmluZWQoQ09ORklHX1NFUklBTF9TM0MyNDEwX0NPTlNPTEUpICYmIGRlZmluZWQoQ09ORklHX01BR0lDX1NZU1JRKQotI2RlZmluZSBTVVBQT1JUX1NZU1JRCi0jZW5kaWYKLQogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c3JxLmg+Ci0jaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgotI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgotI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCi0jaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgotCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKICNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KIAotLyogc3RydWN0dXJlcyAqLwotCi1zdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gewotCWNoYXIJCQkqbmFtZTsKLQl1bnNpZ25lZCBpbnQJCXR5cGU7Ci0JdW5zaWduZWQgaW50CQlmaWZvc2l6ZTsKLQl1bnNpZ25lZCBsb25nCQlyeF9maWZvbWFzazsKLQl1bnNpZ25lZCBsb25nCQlyeF9maWZvc2hpZnQ7Ci0JdW5zaWduZWQgbG9uZwkJcnhfZmlmb2Z1bGw7Ci0JdW5zaWduZWQgbG9uZwkJdHhfZmlmb21hc2s7Ci0JdW5zaWduZWQgbG9uZwkJdHhfZmlmb3NoaWZ0OwotCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9mdWxsOwotCi0JLyogY2xvY2sgc291cmNlIGNvbnRyb2wgKi8KLQotCWludCAoKmdldF9jbGtzcmMpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsayk7Ci0JaW50ICgqc2V0X2Nsa3NyYykoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKTsKLQotCS8qIHVhcnQgY29udHJvbHMgKi8KLQlpbnQgKCpyZXNldF9wb3J0KShzdHJ1Y3QgdWFydF9wb3J0ICosIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKik7Ci19OwotCi1zdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgewotCXVuc2lnbmVkIGNoYXIJCQlyeF9jbGFpbWVkOwotCXVuc2lnbmVkIGNoYXIJCQl0eF9jbGFpbWVkOwotCi0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvCSppbmZvOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjCSpjbGtzcmM7Ci0Jc3RydWN0IGNsawkJCSpjbGs7Ci0Jc3RydWN0IGNsawkJCSpiYXVkY2xrOwotCXN0cnVjdCB1YXJ0X3BvcnQJCXBvcnQ7Ci19OwotCi0KLS8qIGNvbmZpZ3VyYXRpb24gZGVmaW5lcyAqLwotCi0jaWYgMAotI2lmIDEKLS8qIHNlbmQgZGVidWcgdG8gdGhlIGxvdy1sZXZlbCBvdXRwdXQgcm91dGluZXMgKi8KLQotZXh0ZXJuIHZvaWQgcHJpbnRhc2NpaShjb25zdCBjaGFyICopOwotCi1zdGF0aWMgdm9pZAotczNjMjR4eF9zZXJpYWxfZGJnKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotewotCXZhX2xpc3QgdmE7Ci0JY2hhciBidWZmWzI1Nl07Ci0KLQl2YV9zdGFydCh2YSwgZm10KTsKLQl2c3ByaW50ZihidWZmLCBmbXQsIHZhKTsKLQl2YV9lbmQodmEpOwotCi0JcHJpbnRhc2NpaShidWZmKTsKLX0KLQotI2RlZmluZSBkYmcoeC4uLikgczNjMjR4eF9zZXJpYWxfZGJnKHgpCi0KLSNlbHNlCi0jZGVmaW5lIGRiZyh4Li4uKSBwcmludGsoS0VSTl9ERUJVRyAiczNjMjR4eDogIik7Ci0jZW5kaWYKLSNlbHNlIC8qIG5vIGRlYnVnICovCi0jZGVmaW5lIGRiZyh4Li4uKSBkbyB7fSB3aGlsZSgwKQotI2VuZGlmCi0KLS8qIFVBUlQgbmFtZSBhbmQgZGV2aWNlIGRlZmluaXRpb25zICovCi0KLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfTkFNRQkidHR5U0FDIgotI2RlZmluZSBTM0MyNFhYX1NFUklBTF9NQUpPUgkyMDQKLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfTUlOT1IJNjQKLQotCi0vKiBjb252ZXJzaW9uIGZ1bmN0aW9ucyAqLwotCi0jZGVmaW5lIHMzYzI0eHhfZGV2X3RvX3BvcnQoX19kZXYpIChzdHJ1Y3QgdWFydF9wb3J0ICopZGV2X2dldF9kcnZkYXRhKF9fZGV2KQotI2RlZmluZSBzM2MyNHh4X2Rldl90b19jZmcoX19kZXYpIChzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICopKChfX2RldiktPnBsYXRmb3JtX2RhdGEpCi0KLS8qIHdlIGNhbiBzdXBwb3J0IDMgdWFydHMsIGJ1dCBub3QgYWx3YXlzIHVzZSB0aGVtICovCi0KLSNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0MDAKLSNkZWZpbmUgTlJfUE9SVFMgKDIpCi0jZWxzZQotI2RlZmluZSBOUl9QT1JUUyAoMykKLSNlbmRpZgotCi0vKiBwb3J0IGlycSBudW1iZXJzICovCi0KLSNkZWZpbmUgVFhfSVJRKHBvcnQpICgocG9ydCktPmlycSArIDEpCi0jZGVmaW5lIFJYX0lSUShwb3J0KSAoKHBvcnQpLT5pcnEpCi0KLS8qIHJlZ2lzdGVyIGFjY2VzcyBjb250cm9scyAqLwotCi0jZGVmaW5lIHBvcnRhZGRyKHBvcnQsIHJlZykgKChwb3J0KS0+bWVtYmFzZSArIChyZWcpKQotCi0jZGVmaW5lIHJkX3JlZ2IocG9ydCwgcmVnKSAoX19yYXdfcmVhZGIocG9ydGFkZHIocG9ydCwgcmVnKSkpCi0jZGVmaW5lIHJkX3JlZ2wocG9ydCwgcmVnKSAoX19yYXdfcmVhZGwocG9ydGFkZHIocG9ydCwgcmVnKSkpCi0KLSNkZWZpbmUgd3JfcmVnYihwb3J0LCByZWcsIHZhbCkgXAotICBkbyB7IF9fcmF3X3dyaXRlYih2YWwsIHBvcnRhZGRyKHBvcnQsIHJlZykpOyB9IHdoaWxlKDApCi0KLSNkZWZpbmUgd3JfcmVnbChwb3J0LCByZWcsIHZhbCkgXAotICBkbyB7IF9fcmF3X3dyaXRlbCh2YWwsIHBvcnRhZGRyKHBvcnQsIHJlZykpOyB9IHdoaWxlKDApCi0KLS8qIG1hY3JvcyB0byBjaGFuZ2Ugb25lIHRoaW5nIHRvIGFub3RoZXIgKi8KLQotI2RlZmluZSB0eF9lbmFibGVkKHBvcnQpICgocG9ydCktPnVudXNlZFswXSkKLSNkZWZpbmUgcnhfZW5hYmxlZChwb3J0KSAoKHBvcnQpLT51bnVzZWRbMV0pCi0KLS8qIGZsYWcgdG8gaWdub3JlIGFsbCBjaGFyYWN0ZXJzIGNvbW1pbmcgaW4gKi8KLSNkZWZpbmUgUlhTVEFUX0RVTU1ZX1JFQUQgKDB4MTAwMDAwMDApCi0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICp0b19vdXJwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmV0dXJuIGNvbnRhaW5lcl9vZihwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQsIHBvcnQpOwotfQotCi0vKiB0cmFuc2xhdGUgYSBwb3J0IHRvIHRoZSBkZXZpY2UgbmFtZSAqLwotCi1zdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmV0dXJuIHRvX3BsYXRmb3JtX2RldmljZShwb3J0LT5kZXYpLT5uYW1lOwotfQotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmV0dXJuIChyZF9yZWdsKHBvcnQsIFMzQzI0MTBfVVRSU1RBVCkgJiBTM0MyNDEwX1VUUlNUQVRfVFhFKTsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcnhfZW5hYmxlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgdWNvbiwgdWZjb247Ci0JaW50IGNvdW50ID0gMTAwMDA7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotCi0Jd2hpbGUgKC0tY291bnQgJiYgIXMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHBvcnQpKQotCQl1ZGVsYXkoMTAwKTsKLQotCXVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKLQl1ZmNvbiB8PSBTM0MyNDEwX1VGQ09OX1JFU0VUUlg7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCB1ZmNvbik7Ci0KLQl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCXVjb24gfD0gUzNDMjQxMF9VQ09OX1JYSVJRTU9ERTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7Ci0KLQlyeF9lbmFibGVkKHBvcnQpID0gMTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3J4X2Rpc2FibGUoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGludCB1Y29uOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKLQotCXVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0JdWNvbiAmPSB+UzNDMjQxMF9VQ09OX1JYSVJRTU9ERTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7Ci0KLQlyeF9lbmFibGVkKHBvcnQpID0gMDsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0b3BfdHgoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlpZiAodHhfZW5hYmxlZChwb3J0KSkgewotCQlkaXNhYmxlX2lycShUWF9JUlEocG9ydCkpOwotCQl0eF9lbmFibGVkKHBvcnQpID0gMDsKLQkJaWYgKHBvcnQtPmZsYWdzICYgVVBGX0NPTlNfRkxPVykKLQkJCXMzYzI0eHhfc2VyaWFsX3J4X2VuYWJsZShwb3J0KTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0YXJ0X3R4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JaWYgKCF0eF9lbmFibGVkKHBvcnQpKSB7Ci0JCWlmIChwb3J0LT5mbGFncyAmIFVQRl9DT05TX0ZMT1cpCi0JCQlzM2MyNHh4X3NlcmlhbF9yeF9kaXNhYmxlKHBvcnQpOwotCi0JCWVuYWJsZV9pcnEoVFhfSVJRKHBvcnQpKTsKLQkJdHhfZW5hYmxlZChwb3J0KSA9IDE7Ci0JfQotfQotCi0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0b3Bfcngoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlpZiAocnhfZW5hYmxlZChwb3J0KSkgewotCQlkYmcoInMzYzI0eHhfc2VyaWFsX3N0b3Bfcng6IHBvcnQ9JXBcbiIsIHBvcnQpOwotCQlkaXNhYmxlX2lycShSWF9JUlEocG9ydCkpOwotCQlyeF9lbmFibGVkKHBvcnQpID0gMDsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX2VuYWJsZV9tcyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotfQotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqczNjMjR4eF9wb3J0X3RvX2luZm8oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlyZXR1cm4gdG9fb3VycG9ydChwb3J0KS0+aW5mbzsKLX0KLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpzM2MyNHh4X3BvcnRfdG9fY2ZnKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JaWYgKHBvcnQtPmRldiA9PSBOVUxMKQotCQlyZXR1cm4gTlVMTDsKLQotCXJldHVybiAoc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKXBvcnQtPmRldi0+cGxhdGZvcm1fZGF0YTsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yeF9maWZvY250KHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCwKLQkJCQkgICAgIHVuc2lnbmVkIGxvbmcgdWZzdGF0KQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IG91cnBvcnQtPmluZm87Ci0KLQlpZiAodWZzdGF0ICYgaW5mby0+cnhfZmlmb2Z1bGwpCi0JCXJldHVybiBpbmZvLT5maWZvc2l6ZTsKLQotCXJldHVybiAodWZzdGF0ICYgaW5mby0+cnhfZmlmb21hc2spID4+IGluZm8tPnJ4X2ZpZm9zaGlmdDsKLX0KLQotCi0vKiA/IC0gd2hlcmUgaGFzIHBhcml0eSBnb25lPz8gKi8KLSNkZWZpbmUgUzNDMjQxMF9VRVJTVEFUX1BBUklUWSAoMHgxMDAwKQotCi1zdGF0aWMgaXJxcmV0dXJuX3QKLXMzYzI0eHhfc2VyaWFsX3J4X2NoYXJzKGludCBpcnEsIHZvaWQgKmRldl9pZCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSBkZXZfaWQ7Ci0Jc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZvdXJwb3J0LT5wb3J0OwotCXN0cnVjdCB0dHlfc3RydWN0ICp0dHkgPSBwb3J0LT5pbmZvLT50dHk7Ci0JdW5zaWduZWQgaW50IHVmY29uLCBjaCwgZmxhZywgdWZzdGF0LCB1ZXJzdGF0OwotCWludCBtYXhfY291bnQgPSA2NDsKLQotCXdoaWxlIChtYXhfY291bnQtLSA+IDApIHsKLQkJdWZjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04pOwotCQl1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKLQotCQlpZiAoczNjMjR4eF9zZXJpYWxfcnhfZmlmb2NudChvdXJwb3J0LCB1ZnN0YXQpID09IDApCi0JCQlicmVhazsKLQotCQl1ZXJzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VFUlNUQVQpOwotCQljaCA9IHJkX3JlZ2IocG9ydCwgUzNDMjQxMF9VUlhIKTsKLQotCQlpZiAocG9ydC0+ZmxhZ3MgJiBVUEZfQ09OU19GTE9XKSB7Ci0JCQlpbnQgdHhlID0gczNjMjR4eF9zZXJpYWxfdHhlbXB0eV9ub2ZpZm8ocG9ydCk7Ci0KLQkJCWlmIChyeF9lbmFibGVkKHBvcnQpKSB7Ci0JCQkJaWYgKCF0eGUpIHsKLQkJCQkJcnhfZW5hYmxlZChwb3J0KSA9IDA7Ci0JCQkJCWNvbnRpbnVlOwotCQkJCX0KLQkJCX0gZWxzZSB7Ci0JCQkJaWYgKHR4ZSkgewotCQkJCQl1ZmNvbiB8PSBTM0MyNDEwX1VGQ09OX1JFU0VUUlg7Ci0JCQkJCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgdWZjb24pOwotCQkJCQlyeF9lbmFibGVkKHBvcnQpID0gMTsKLQkJCQkJZ290byBvdXQ7Ci0JCQkJfQotCQkJCWNvbnRpbnVlOwotCQkJfQotCQl9Ci0KLQkJLyogaW5zZXJ0IHRoZSBjaGFyYWN0ZXIgaW50byB0aGUgYnVmZmVyICovCi0KLQkJZmxhZyA9IFRUWV9OT1JNQUw7Ci0JCXBvcnQtPmljb3VudC5yeCsrOwotCi0JCWlmICh1bmxpa2VseSh1ZXJzdGF0ICYgUzNDMjQxMF9VRVJTVEFUX0FOWSkpIHsKLQkJCWRiZygicnhlcnI6IHBvcnQgY2g9MHglMDJ4LCByeHM9MHglMDh4XG4iLAotCQkJICAgIGNoLCB1ZXJzdGF0KTsKLQotCQkJLyogY2hlY2sgZm9yIGJyZWFrICovCi0JCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9CUkVBSykgewotCQkJCWRiZygiYnJlYWshXG4iKTsKLQkJCQlwb3J0LT5pY291bnQuYnJrKys7Ci0JCQkJaWYgKHVhcnRfaGFuZGxlX2JyZWFrKHBvcnQpKQotCQkJCSAgICBnb3RvIGlnbm9yZV9jaGFyOwotCQkJfQotCi0JCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9GUkFNRSkKLQkJCQlwb3J0LT5pY291bnQuZnJhbWUrKzsKLQkJCWlmICh1ZXJzdGF0ICYgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4pCi0JCQkJcG9ydC0+aWNvdW50Lm92ZXJydW4rKzsKLQotCQkJdWVyc3RhdCAmPSBwb3J0LT5yZWFkX3N0YXR1c19tYXNrOwotCi0JCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9CUkVBSykKLQkJCQlmbGFnID0gVFRZX0JSRUFLOwotCQkJZWxzZSBpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9QQVJJVFkpCi0JCQkJZmxhZyA9IFRUWV9QQVJJVFk7Ci0JCQllbHNlIGlmICh1ZXJzdGF0ICYgKCBTM0MyNDEwX1VFUlNUQVRfRlJBTUUgfCBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTikpCi0JCQkJZmxhZyA9IFRUWV9GUkFNRTsKLQkJfQotCi0JCWlmICh1YXJ0X2hhbmRsZV9zeXNycV9jaGFyKHBvcnQsIGNoKSkKLQkJCWdvdG8gaWdub3JlX2NoYXI7Ci0KLQkJdWFydF9pbnNlcnRfY2hhcihwb3J0LCB1ZXJzdGF0LCBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTiwgY2gsIGZsYWcpOwotCi0JaWdub3JlX2NoYXI6Ci0JCWNvbnRpbnVlOwotCX0KLQl0dHlfZmxpcF9idWZmZXJfcHVzaCh0dHkpOwotCi0gb3V0OgotCXJldHVybiBJUlFfSEFORExFRDsKLX0KLQotc3RhdGljIGlycXJldHVybl90IHMzYzI0eHhfc2VyaWFsX3R4X2NoYXJzKGludCBpcnEsIHZvaWQgKmlkKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IGlkOwotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSAmb3VycG9ydC0+cG9ydDsKLQlzdHJ1Y3QgY2lyY19idWYgKnhtaXQgPSAmcG9ydC0+aW5mby0+eG1pdDsKLQlpbnQgY291bnQgPSAyNTY7Ci0KLQlpZiAocG9ydC0+eF9jaGFyKSB7Ci0JCXdyX3JlZ2IocG9ydCwgUzNDMjQxMF9VVFhILCBwb3J0LT54X2NoYXIpOwotCQlwb3J0LT5pY291bnQudHgrKzsKLQkJcG9ydC0+eF9jaGFyID0gMDsKLQkJZ290byBvdXQ7Ci0JfQotCi0JLyogaWYgdGhlcmUgaXNudCBhbnl0aGluZyBtb3JlIHRvIHRyYW5zbWl0LCBvciB0aGUgdWFydCBpcyBub3cKLQkgKiBzdG9wcGVkLCBkaXNhYmxlIHRoZSB1YXJ0IGFuZCBleGl0Ci0JKi8KLQotCWlmICh1YXJ0X2NpcmNfZW1wdHkoeG1pdCkgfHwgdWFydF90eF9zdG9wcGVkKHBvcnQpKSB7Ci0JCXMzYzI0eHhfc2VyaWFsX3N0b3BfdHgocG9ydCk7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qIHRyeSBhbmQgZHJhaW4gdGhlIGJ1ZmZlci4uLiAqLwotCi0Jd2hpbGUgKCF1YXJ0X2NpcmNfZW1wdHkoeG1pdCkgJiYgY291bnQtLSA+IDApIHsKLQkJaWYgKHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRlNUQVQpICYgb3VycG9ydC0+aW5mby0+dHhfZmlmb2Z1bGwpCi0JCQlicmVhazsKLQotCQl3cl9yZWdiKHBvcnQsIFMzQzI0MTBfVVRYSCwgeG1pdC0+YnVmW3htaXQtPnRhaWxdKTsKLQkJeG1pdC0+dGFpbCA9ICh4bWl0LT50YWlsICsgMSkgJiAoVUFSVF9YTUlUX1NJWkUgLSAxKTsKLQkJcG9ydC0+aWNvdW50LnR4Kys7Ci0JfQotCi0JaWYgKHVhcnRfY2lyY19jaGFyc19wZW5kaW5nKHhtaXQpIDwgV0FLRVVQX0NIQVJTKQotCQl1YXJ0X3dyaXRlX3dha2V1cChwb3J0KTsKLQotCWlmICh1YXJ0X2NpcmNfZW1wdHkoeG1pdCkpCi0JCXMzYzI0eHhfc2VyaWFsX3N0b3BfdHgocG9ydCk7Ci0KLSBvdXQ6Ci0JcmV0dXJuIElSUV9IQU5ETEVEOwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IHMzYzI0eHhfc2VyaWFsX3R4X2VtcHR5KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0JdW5zaWduZWQgbG9uZyB1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKLQl1bnNpZ25lZCBsb25nIHVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKLQotCWlmICh1ZmNvbiAmIFMzQzI0MTBfVUZDT05fRklGT01PREUpIHsKLQkJaWYgKCh1ZnN0YXQgJiBpbmZvLT50eF9maWZvbWFzaykgIT0gMCB8fAotCQkgICAgKHVmc3RhdCAmIGluZm8tPnR4X2ZpZm9mdWxsKSkKLQkJCXJldHVybiAwOwotCi0JCXJldHVybiAxOwotCX0KLQotCXJldHVybiBzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhwb3J0KTsKLX0KLQotLyogbm8gbW9kZW0gY29udHJvbCBsaW5lcyAqLwotc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF9nZXRfbWN0cmwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQl1bnNpZ25lZCBpbnQgdW1zdGF0ID0gcmRfcmVnYihwb3J0LFMzQzI0MTBfVU1TVEFUKTsKLQotCWlmICh1bXN0YXQgJiBTM0MyNDEwX1VNU1RBVF9DVFMpCi0JCXJldHVybiBUSU9DTV9DQVIgfCBUSU9DTV9EU1IgfCBUSU9DTV9DVFM7Ci0JZWxzZQotCQlyZXR1cm4gVElPQ01fQ0FSIHwgVElPQ01fRFNSOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zZXRfbWN0cmwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IG1jdHJsKQotewotCS8qIHRvZG8gLSBwb3NzaWJseSByZW1vdmUgQUZDIGFuZCBkbyBtYW51YWwgQ1RTICovCi19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX2JyZWFrX2N0bChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgYnJlYWtfc3RhdGUpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgdWNvbjsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci0KLQl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCi0JaWYgKGJyZWFrX3N0YXRlKQotCQl1Y29uIHw9IFMzQzI0MTBfVUNPTl9TQlJFQUs7Ci0JZWxzZQotCQl1Y29uICY9IH5TM0MyNDEwX1VDT05fU0JSRUFLOwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zaHV0ZG93bihzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7Ci0KLQlpZiAob3VycG9ydC0+dHhfY2xhaW1lZCkgewotCQlmcmVlX2lycShUWF9JUlEocG9ydCksIG91cnBvcnQpOwotCQl0eF9lbmFibGVkKHBvcnQpID0gMDsKLQkJb3VycG9ydC0+dHhfY2xhaW1lZCA9IDA7Ci0JfQotCi0JaWYgKG91cnBvcnQtPnJ4X2NsYWltZWQpIHsKLQkJZnJlZV9pcnEoUlhfSVJRKHBvcnQpLCBvdXJwb3J0KTsKLQkJb3VycG9ydC0+cnhfY2xhaW1lZCA9IDA7Ci0JCXJ4X2VuYWJsZWQocG9ydCkgPSAwOwotCX0KLX0KLQotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3N0YXJ0dXAoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOwotCWludCByZXQ7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX3N0YXJ0dXA6IHBvcnQ9JXAgKCUwOGx4LCVwKVxuIiwKLQkgICAgcG9ydC0+bWFwYmFzZSwgcG9ydC0+bWVtYmFzZSk7Ci0KLQlyeF9lbmFibGVkKHBvcnQpID0gMTsKLQotCXJldCA9IHJlcXVlc3RfaXJxKFJYX0lSUShwb3J0KSwKLQkJCSAgczNjMjR4eF9zZXJpYWxfcnhfY2hhcnMsIDAsCi0JCQkgIHMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHBvcnQpLCBvdXJwb3J0KTsKLQotCWlmIChyZXQgIT0gMCkgewotCQlwcmludGsoS0VSTl9FUlIgImNhbm5vdCBnZXQgaXJxICVkXG4iLCBSWF9JUlEocG9ydCkpOwotCQlyZXR1cm4gcmV0OwotCX0KLQotCW91cnBvcnQtPnJ4X2NsYWltZWQgPSAxOwotCi0JZGJnKCJyZXF1ZXN0aW5nIHR4IGlycS4uLlxuIik7Ci0KLQl0eF9lbmFibGVkKHBvcnQpID0gMTsKLQotCXJldCA9IHJlcXVlc3RfaXJxKFRYX0lSUShwb3J0KSwKLQkJCSAgczNjMjR4eF9zZXJpYWxfdHhfY2hhcnMsIDAsCi0JCQkgIHMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHBvcnQpLCBvdXJwb3J0KTsKLQotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJjYW5ub3QgZ2V0IGlycSAlZFxuIiwgVFhfSVJRKHBvcnQpKTsKLQkJZ290byBlcnI7Ci0JfQotCi0Jb3VycG9ydC0+dHhfY2xhaW1lZCA9IDE7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX3N0YXJ0dXAgb2tcbiIpOwotCi0JLyogdGhlIHBvcnQgcmVzZXQgY29kZSBzaG91bGQgaGF2ZSBkb25lIHRoZSBjb3JyZWN0Ci0JICogcmVnaXN0ZXIgc2V0dXAgZm9yIHRoZSBwb3J0IGNvbnRyb2xzICovCi0KLQlyZXR1cm4gcmV0OwotCi0gZXJyOgotCXMzYzI0eHhfc2VyaWFsX3NodXRkb3duKHBvcnQpOwotCXJldHVybiByZXQ7Ci19Ci0KLS8qIHBvd2VyIHBvd2VyIG1hbmFnZW1lbnQgY29udHJvbCAqLwotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9wbShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCB1bnNpZ25lZCBpbnQgbGV2ZWwsCi0JCQkgICAgICB1bnNpZ25lZCBpbnQgb2xkKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7Ci0KLQlzd2l0Y2ggKGxldmVsKSB7Ci0JY2FzZSAzOgotCQlpZiAoIUlTX0VSUihvdXJwb3J0LT5iYXVkY2xrKSAmJiBvdXJwb3J0LT5iYXVkY2xrICE9IE5VTEwpCi0JCQljbGtfZGlzYWJsZShvdXJwb3J0LT5iYXVkY2xrKTsKLQotCQljbGtfZGlzYWJsZShvdXJwb3J0LT5jbGspOwotCQlicmVhazsKLQotCWNhc2UgMDoKLQkJY2xrX2VuYWJsZShvdXJwb3J0LT5jbGspOwotCi0JCWlmICghSVNfRVJSKG91cnBvcnQtPmJhdWRjbGspICYmIG91cnBvcnQtPmJhdWRjbGsgIT0gTlVMTCkKLQkJCWNsa19lbmFibGUob3VycG9ydC0+YmF1ZGNsayk7Ci0KLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fRVJSICJzM2MyNHh4X3NlcmlhbDogdW5rbm93biBwbSAlZFxuIiwgbGV2ZWwpOwotCX0KLX0KLQotLyogYmF1ZCByYXRlIGNhbGN1bGF0aW9uCi0gKgotICogVGhlIFVBUlRzIG9uIHRoZSBTM0MyNDEwL1MzQzI0NDAgY2FuIHRha2UgdGhlaXIgY2xvY2tzIGZyb20gYSBudW1iZXIKLSAqIG9mIGRpZmZlcmVudCBzb3VyY2VzLCBpbmNsdWRpbmcgdGhlIHBlcmlwaGVyYWwgY2xvY2sgKCJwY2xrIikgYW5kIGFuCi0gKiBleHRlcm5hbCBjbG9jayAoInVjbGsiKS4gVGhlIFMzQzI0NDAgYWxzbyBhZGRzIHRoZSBjb3JlIGNsb2NrICgiZmNsayIpCi0gKiB3aXRoIGEgcHJvZ3JhbW1hYmxlIGV4dHJhIGRpdmlzb3IuCi0gKgotICogVGhlIGZvbGxvd2luZyBjb2RlIGdvZXMgdGhyb3VnaCB0aGUgY2xvY2sgc291cmNlcywgYW5kIGNhbGN1bGF0ZXMgdGhlCi0gKiBiYXVkIGNsb2NrcyAoYW5kIHRoZSByZXN1bHRhbnQgYWN0dWFsIGJhdWQgcmF0ZXMpIGFuZCB0aGVuIHRyaWVzIHRvCi0gKiBwaWNrIHRoZSBjbG9zZXN0IG9uZSBhbmQgc2VsZWN0IHRoYXQuCi0gKgotKi8KLQotCi0jZGVmaW5lIE1BWF9DTEtTICg4KQotCi1zdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgdG1wX2Nsa3NyYyA9IHsKLQkubmFtZQkJPSAicGNsayIsCi0JLm1pbl9iYXVkCT0gMCwKLQkubWF4X2JhdWQJPSAwLAotCS5kaXZpc29yCT0gMSwKLX07Ci0KLXN0YXRpYyBpbmxpbmUgaW50Ci1zM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmMpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0KLQlyZXR1cm4gKGluZm8tPmdldF9jbGtzcmMpKHBvcnQsIGMpOwotfQotCi1zdGF0aWMgaW5saW5lIGludAotczNjMjR4eF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCi0JcmV0dXJuIChpbmZvLT5zZXRfY2xrc3JjKShwb3J0LCBjKTsKLX0KLQotc3RydWN0IGJhdWRfY2FsYyB7Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMJKmNsa3NyYzsKLQl1bnNpZ25lZCBpbnQJCQkgY2FsYzsKLQl1bnNpZ25lZCBpbnQJCQkgcXVvdDsKLQlzdHJ1Y3QgY2xrCQkJKnNyYzsKLX07Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfY2FsY2JhdWQoc3RydWN0IGJhdWRfY2FsYyAqY2FsYywKLQkJCQkgICBzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtzcmMsCi0JCQkJICAgdW5zaWduZWQgaW50IGJhdWQpCi17Ci0JdW5zaWduZWQgbG9uZyByYXRlOwotCi0JY2FsYy0+c3JjID0gY2xrX2dldChwb3J0LT5kZXYsIGNsa3NyYy0+bmFtZSk7Ci0JaWYgKGNhbGMtPnNyYyA9PSBOVUxMIHx8IElTX0VSUihjYWxjLT5zcmMpKQotCQlyZXR1cm4gMDsKLQotCXJhdGUgPSBjbGtfZ2V0X3JhdGUoY2FsYy0+c3JjKTsKLQlyYXRlIC89IGNsa3NyYy0+ZGl2aXNvcjsKLQotCWNhbGMtPmNsa3NyYyA9IGNsa3NyYzsKLQljYWxjLT5xdW90ID0gKHJhdGUgKyAoOCAqIGJhdWQpKSAvICgxNiAqIGJhdWQpOwotCWNhbGMtPmNhbGMgPSAocmF0ZSAvIChjYWxjLT5xdW90ICogMTYpKTsKLQotCWNhbGMtPnF1b3QtLTsKLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF9nZXRjbGsoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkJICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqKmNsa3NyYywKLQkJCQkJICBzdHJ1Y3QgY2xrICoqY2xrLAotCQkJCQkgIHVuc2lnbmVkIGludCBiYXVkKQotewotCXN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZyA9IHMzYzI0eHhfcG9ydF90b19jZmcocG9ydCk7Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsa3A7Ci0Jc3RydWN0IGJhdWRfY2FsYyByZXNbTUFYX0NMS1NdOwotCXN0cnVjdCBiYXVkX2NhbGMgKnJlc3B0ciwgKmJlc3QsICpzcHRyOwotCWludCBpOwotCi0JY2xrcCA9IGNmZy0+Y2xvY2tzOwotCWJlc3QgPSBOVUxMOwotCi0JaWYgKGNmZy0+Y2xvY2tzX3NpemUgPCAyKSB7Ci0JCWlmIChjZmctPmNsb2Nrc19zaXplID09IDApCi0JCQljbGtwID0gJnRtcF9jbGtzcmM7Ci0KLQkJLyogY2hlY2sgdG8gc2VlIGlmIHdlJ3JlIHNvdXJjaW5nIGZjbGssIGFuZCBpZiBzbyB3ZSdyZQotCQkgKiBnb2luZyB0byBoYXZlIHRvIHVwZGF0ZSB0aGUgY2xvY2sgc291cmNlCi0JCSAqLwotCi0JCWlmIChzdHJjbXAoY2xrcC0+bmFtZSwgImZjbGsiKSA9PSAwKSB7Ci0JCQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyBzcmM7Ci0KLQkJCXMzYzI0eHhfc2VyaWFsX2dldHNvdXJjZShwb3J0LCAmc3JjKTsKLQotCQkJLyogY2hlY2sgdGhhdCB0aGUgcG9ydCBhbHJlYWR5IHVzaW5nIGZjbGssIGFuZCBpZgotCQkJICogbm90LCB0aGVuIHJlLXNlbGVjdCBmY2xrCi0JCQkgKi8KLQotCQkJaWYgKHN0cmNtcChzcmMubmFtZSwgY2xrcC0+bmFtZSkgPT0gMCkgewotCQkJCXMzYzI0eHhfc2VyaWFsX3NldHNvdXJjZShwb3J0LCBjbGtwKTsKLQkJCQlzM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2UocG9ydCwgJnNyYyk7Ci0JCQl9Ci0KLQkJCWNsa3AtPmRpdmlzb3IgPSBzcmMuZGl2aXNvcjsKLQkJfQotCi0JCXMzYzI0eHhfc2VyaWFsX2NhbGNiYXVkKHJlcywgcG9ydCwgY2xrcCwgYmF1ZCk7Ci0JCWJlc3QgPSByZXM7Ci0JCXJlc3B0ciA9IGJlc3QgKyAxOwotCX0gZWxzZSB7Ci0JCXJlc3B0ciA9IHJlczsKLQotCQlmb3IgKGkgPSAwOyBpIDwgY2ZnLT5jbG9ja3Nfc2l6ZTsgaSsrLCBjbGtwKyspIHsKLQkJCWlmIChzM2MyNHh4X3NlcmlhbF9jYWxjYmF1ZChyZXNwdHIsIHBvcnQsIGNsa3AsIGJhdWQpKQotCQkJCXJlc3B0cisrOwotCQl9Ci0JfQotCi0JLyogb2ssIHdlIG5vdyBuZWVkIHRvIHNlbGVjdCB0aGUgYmVzdCBjbG9jayB3ZSBmb3VuZCAqLwotCi0JaWYgKCFiZXN0KSB7Ci0JCXVuc2lnbmVkIGludCBkZXZpYXRpb24gPSAoMTw8MzApfCgoMTw8MzApLTEpOwotCQlpbnQgY2FsY19kZXZpYXRpb247Ci0KLQkJZm9yIChzcHRyID0gcmVzOyBzcHRyIDwgcmVzcHRyOyBzcHRyKyspIHsKLQkJCXByaW50ayhLRVJOX0RFQlVHCi0JCQkgICAgICAgImZvdW5kIGNsayAlcCAoJXMpIHF1b3QgJWQsIGNhbGMgJWRcbiIsCi0JCQkgICAgICAgc3B0ci0+Y2xrc3JjLCBzcHRyLT5jbGtzcmMtPm5hbWUsCi0JCQkgICAgICAgc3B0ci0+cXVvdCwgc3B0ci0+Y2FsYyk7Ci0KLQkJCWNhbGNfZGV2aWF0aW9uID0gYmF1ZCAtIHNwdHItPmNhbGM7Ci0JCQlpZiAoY2FsY19kZXZpYXRpb24gPCAwKQotCQkJCWNhbGNfZGV2aWF0aW9uID0gLWNhbGNfZGV2aWF0aW9uOwotCi0JCQlpZiAoY2FsY19kZXZpYXRpb24gPCBkZXZpYXRpb24pIHsKLQkJCQliZXN0ID0gc3B0cjsKLQkJCQlkZXZpYXRpb24gPSBjYWxjX2RldmlhdGlvbjsKLQkJCX0KLQkJfQotCi0JCXByaW50ayhLRVJOX0RFQlVHICJiZXN0ICVwIChkZXZpYXRpb24gJWQpXG4iLCBiZXN0LCBkZXZpYXRpb24pOwotCX0KLQotCXByaW50ayhLRVJOX0RFQlVHICJzZWxlY3RlZCBjbG9jayAlcCAoJXMpIHF1b3QgJWQsIGNhbGMgJWRcbiIsCi0JICAgICAgIGJlc3QtPmNsa3NyYywgYmVzdC0+Y2xrc3JjLT5uYW1lLCBiZXN0LT5xdW90LCBiZXN0LT5jYWxjKTsKLQotCS8qIHN0b3JlIHJlc3VsdHMgdG8gcGFzcyBiYWNrICovCi0KLQkqY2xrc3JjID0gYmVzdC0+Y2xrc3JjOwotCSpjbGsgICAgPSBiZXN0LT5zcmM7Ci0KLQlyZXR1cm4gYmVzdC0+cXVvdDsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2V0X3Rlcm1pb3Moc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgICAgc3RydWN0IGt0ZXJtaW9zICp0ZXJtaW9zLAotCQkJCSAgICAgICBzdHJ1Y3Qga3Rlcm1pb3MgKm9sZCkKLXsKLQlzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcgPSBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsa3NyYyA9IE5VTEw7Ci0Jc3RydWN0IGNsayAqY2xrID0gTlVMTDsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGludCBiYXVkLCBxdW90OwotCXVuc2lnbmVkIGludCB1bGNvbjsKLQl1bnNpZ25lZCBpbnQgdW1jb247Ci0KLQkvKgotCSAqIFdlIGRvbid0IHN1cHBvcnQgbW9kZW0gY29udHJvbCBsaW5lcy4KLQkgKi8KLQl0ZXJtaW9zLT5jX2NmbGFnICY9IH4oSFVQQ0wgfCBDTVNQQVIpOwotCXRlcm1pb3MtPmNfY2ZsYWcgfD0gQ0xPQ0FMOwotCi0JLyoKLQkgKiBBc2sgdGhlIGNvcmUgdG8gY2FsY3VsYXRlIHRoZSBkaXZpc29yIGZvciB1cy4KLQkgKi8KLQotCWJhdWQgPSB1YXJ0X2dldF9iYXVkX3JhdGUocG9ydCwgdGVybWlvcywgb2xkLCAwLCAxMTUyMDAqOCk7Ci0KLQlpZiAoYmF1ZCA9PSAzODQwMCAmJiAocG9ydC0+ZmxhZ3MgJiBVUEZfU1BEX01BU0spID09IFVQRl9TUERfQ1VTVCkKLQkJcXVvdCA9IHBvcnQtPmN1c3RvbV9kaXZpc29yOwotCWVsc2UKLQkJcXVvdCA9IHMzYzI0eHhfc2VyaWFsX2dldGNsayhwb3J0LCAmY2xrc3JjLCAmY2xrLCBiYXVkKTsKLQotCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkICB0byBjaGFuZ2UgY2xvY2sgc291cmNlICovCi0KLQlpZiAob3VycG9ydC0+Y2xrc3JjICE9IGNsa3NyYyB8fCBvdXJwb3J0LT5iYXVkY2xrICE9IGNsaykgewotCQlzM2MyNHh4X3NlcmlhbF9zZXRzb3VyY2UocG9ydCwgY2xrc3JjKTsKLQotCQlpZiAob3VycG9ydC0+YmF1ZGNsayAhPSBOVUxMICYmICFJU19FUlIob3VycG9ydC0+YmF1ZGNsaykpIHsKLQkJCWNsa19kaXNhYmxlKG91cnBvcnQtPmJhdWRjbGspOwotCQkJb3VycG9ydC0+YmF1ZGNsayAgPSBOVUxMOwotCQl9Ci0KLQkJY2xrX2VuYWJsZShjbGspOwotCi0JCW91cnBvcnQtPmNsa3NyYyA9IGNsa3NyYzsKLQkJb3VycG9ydC0+YmF1ZGNsayA9IGNsazsKLQl9Ci0KLQlzd2l0Y2ggKHRlcm1pb3MtPmNfY2ZsYWcgJiBDU0laRSkgewotCWNhc2UgQ1M1OgotCQlkYmcoImNvbmZpZzogNWJpdHMvY2hhclxuIik7Ci0JCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTNTsKLQkJYnJlYWs7Ci0JY2FzZSBDUzY6Ci0JCWRiZygiY29uZmlnOiA2Yml0cy9jaGFyXG4iKTsKLQkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M2OwotCQlicmVhazsKLQljYXNlIENTNzoKLQkJZGJnKCJjb25maWc6IDdiaXRzL2NoYXJcbiIpOwotCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzc7Ci0JCWJyZWFrOwotCWNhc2UgQ1M4OgotCWRlZmF1bHQ6Ci0JCWRiZygiY29uZmlnOiA4Yml0cy9jaGFyXG4iKTsKLQkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M4OwotCQlicmVhazsKLQl9Ci0KLQkvKiBwcmVzZXJ2ZSBvcmlnaW5hbCBsY29uIElSIHNldHRpbmdzICovCi0JdWxjb24gfD0gKGNmZy0+dWxjb24gJiBTM0MyNDEwX0xDT05fSVJNKTsKLQotCWlmICh0ZXJtaW9zLT5jX2NmbGFnICYgQ1NUT1BCKQotCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fU1RPUEI7Ci0KLQl1bWNvbiA9ICh0ZXJtaW9zLT5jX2NmbGFnICYgQ1JUU0NUUykgPyBTM0MyNDEwX1VNQ09NX0FGQyA6IDA7Ci0KLQlpZiAodGVybWlvcy0+Y19jZmxhZyAmIFBBUkVOQikgewotCQlpZiAodGVybWlvcy0+Y19jZmxhZyAmIFBBUk9ERCkKLQkJCXVsY29uIHw9IFMzQzI0MTBfTENPTl9QT0REOwotCQllbHNlCi0JCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fUEVWRU47Ci0JfSBlbHNlIHsKLQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1BOT05FOwotCX0KLQotCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci0KLQlkYmcoInNldHRpbmcgdWxjb24gdG8gJTA4eCwgYnJkZGl2IHRvICVkXG4iLCB1bGNvbiwgcXVvdCk7Ci0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIHVsY29uKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUJSRElWLCBxdW90KTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVU1DT04sIHVtY29uKTsKLQotCWRiZygidWFydDogdWxjb24gPSAweCUwOHgsIHVjb24gPSAweCUwOHgsIHVmY29uID0gMHglMDh4XG4iLAotCSAgICByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04pLAotCSAgICByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiksCi0JICAgIHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTikpOwotCi0JLyoKLQkgKiBVcGRhdGUgdGhlIHBlci1wb3J0IHRpbWVvdXQuCi0JICovCi0JdWFydF91cGRhdGVfdGltZW91dChwb3J0LCB0ZXJtaW9zLT5jX2NmbGFnLCBiYXVkKTsKLQotCS8qCi0JICogV2hpY2ggY2hhcmFjdGVyIHN0YXR1cyBmbGFncyBhcmUgd2UgaW50ZXJlc3RlZCBpbj8KLQkgKi8KLQlwb3J0LT5yZWFkX3N0YXR1c19tYXNrID0gUzNDMjQxMF9VRVJTVEFUX09WRVJSVU47Ci0JaWYgKHRlcm1pb3MtPmNfaWZsYWcgJiBJTlBDSykKLQkJcG9ydC0+cmVhZF9zdGF0dXNfbWFzayB8PSBTM0MyNDEwX1VFUlNUQVRfRlJBTUUgfCBTM0MyNDEwX1VFUlNUQVRfUEFSSVRZOwotCi0JLyoKLQkgKiBXaGljaCBjaGFyYWN0ZXIgc3RhdHVzIGZsYWdzIHNob3VsZCB3ZSBpZ25vcmU/Ci0JICovCi0JcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrID0gMDsKLQlpZiAodGVybWlvcy0+Y19pZmxhZyAmIElHTlBBUikKLQkJcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrIHw9IFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOOwotCWlmICh0ZXJtaW9zLT5jX2lmbGFnICYgSUdOQlJLICYmIHRlcm1pb3MtPmNfaWZsYWcgJiBJR05QQVIpCi0JCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayB8PSBTM0MyNDEwX1VFUlNUQVRfRlJBTUU7Ci0KLQkvKgotCSAqIElnbm9yZSBhbGwgY2hhcmFjdGVycyBpZiBDUkVBRCBpcyBub3Qgc2V0LgotCSAqLwotCWlmICgodGVybWlvcy0+Y19jZmxhZyAmIENSRUFEKSA9PSAwKQotCQlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgfD0gUlhTVEFUX0RVTU1ZX1JFQUQ7Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICpzM2MyNHh4X3NlcmlhbF90eXBlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0Jc3dpdGNoIChwb3J0LT50eXBlKSB7Ci0JY2FzZSBQT1JUX1MzQzI0MTA6Ci0JCXJldHVybiAiUzNDMjQxMCI7Ci0JY2FzZSBQT1JUX1MzQzI0NDA6Ci0JCXJldHVybiAiUzNDMjQ0MCI7Ci0JY2FzZSBQT1JUX1MzQzI0MTI6Ci0JCXJldHVybiAiUzNDMjQxMiI7Ci0JZGVmYXVsdDoKLQkJcmV0dXJuIE5VTEw7Ci0JfQotfQotCi0jZGVmaW5lIE1BUF9TSVpFICgweDEwMCkKLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcmVsZWFzZV9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmVsZWFzZV9tZW1fcmVnaW9uKHBvcnQtPm1hcGJhc2UsIE1BUF9TSVpFKTsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yZXF1ZXN0X3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQljb25zdCBjaGFyICpuYW1lID0gczNjMjR4eF9zZXJpYWxfcG9ydG5hbWUocG9ydCk7Ci0JcmV0dXJuIHJlcXVlc3RfbWVtX3JlZ2lvbihwb3J0LT5tYXBiYXNlLCBNQVBfU0laRSwgbmFtZSkgPyAwIDogLUVCVVNZOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9jb25maWdfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgZmxhZ3MpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0KLQlpZiAoZmxhZ3MgJiBVQVJUX0NPTkZJR19UWVBFICYmCi0JICAgIHMzYzI0eHhfc2VyaWFsX3JlcXVlc3RfcG9ydChwb3J0KSA9PSAwKQotCQlwb3J0LT50eXBlID0gaW5mby0+dHlwZTsKLX0KLQotLyoKLSAqIHZlcmlmeSB0aGUgbmV3IHNlcmlhbF9zdHJ1Y3QgKGZvciBUSU9DU1NFUklBTCkuCi0gKi8KLXN0YXRpYyBpbnQKLXMzYzI0eHhfc2VyaWFsX3ZlcmlmeV9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHN0cnVjdCBzZXJpYWxfc3RydWN0ICpzZXIpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0KLQlpZiAoc2VyLT50eXBlICE9IFBPUlRfVU5LTk9XTiAmJiBzZXItPnR5cGUgIT0gaW5mby0+dHlwZSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlyZXR1cm4gMDsKLX0KLQotCi0jaWZkZWYgQ09ORklHX1NFUklBTF9TM0MyNDEwX0NPTlNPTEUKLQotc3RhdGljIHN0cnVjdCBjb25zb2xlIHMzYzI0eHhfc2VyaWFsX2NvbnNvbGU7Ci0KLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfQ09OU09MRSAmczNjMjR4eF9zZXJpYWxfY29uc29sZQotI2Vsc2UKLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfQ09OU09MRSBOVUxMCi0jZW5kaWYKLQotc3RhdGljIHN0cnVjdCB1YXJ0X29wcyBzM2MyNHh4X3NlcmlhbF9vcHMgPSB7Ci0JLnBtCQk9IHMzYzI0eHhfc2VyaWFsX3BtLAotCS50eF9lbXB0eQk9IHMzYzI0eHhfc2VyaWFsX3R4X2VtcHR5LAotCS5nZXRfbWN0cmwJPSBzM2MyNHh4X3NlcmlhbF9nZXRfbWN0cmwsCi0JLnNldF9tY3RybAk9IHMzYzI0eHhfc2VyaWFsX3NldF9tY3RybCwKLQkuc3RvcF90eAk9IHMzYzI0eHhfc2VyaWFsX3N0b3BfdHgsCi0JLnN0YXJ0X3R4CT0gczNjMjR4eF9zZXJpYWxfc3RhcnRfdHgsCi0JLnN0b3BfcngJPSBzM2MyNHh4X3NlcmlhbF9zdG9wX3J4LAotCS5lbmFibGVfbXMJPSBzM2MyNHh4X3NlcmlhbF9lbmFibGVfbXMsCi0JLmJyZWFrX2N0bAk9IHMzYzI0eHhfc2VyaWFsX2JyZWFrX2N0bCwKLQkuc3RhcnR1cAk9IHMzYzI0eHhfc2VyaWFsX3N0YXJ0dXAsCi0JLnNodXRkb3duCT0gczNjMjR4eF9zZXJpYWxfc2h1dGRvd24sCi0JLnNldF90ZXJtaW9zCT0gczNjMjR4eF9zZXJpYWxfc2V0X3Rlcm1pb3MsCi0JLnR5cGUJCT0gczNjMjR4eF9zZXJpYWxfdHlwZSwKLQkucmVsZWFzZV9wb3J0CT0gczNjMjR4eF9zZXJpYWxfcmVsZWFzZV9wb3J0LAotCS5yZXF1ZXN0X3BvcnQJPSBzM2MyNHh4X3NlcmlhbF9yZXF1ZXN0X3BvcnQsCi0JLmNvbmZpZ19wb3J0CT0gczNjMjR4eF9zZXJpYWxfY29uZmlnX3BvcnQsCi0JLnZlcmlmeV9wb3J0CT0gczNjMjR4eF9zZXJpYWxfdmVyaWZ5X3BvcnQsCi19OwotCi0KLXN0YXRpYyBzdHJ1Y3QgdWFydF9kcml2ZXIgczNjMjR4eF91YXJ0X2RydiA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmRldl9uYW1lCT0gInMzYzI0MTBfc2VyaWFsIiwKLQkubnIJCT0gMywKLQkuY29ucwkJPSBTM0MyNFhYX1NFUklBTF9DT05TT0xFLAotCS5kcml2ZXJfbmFtZQk9IFMzQzI0WFhfU0VSSUFMX05BTUUsCi0JLm1ham9yCQk9IFMzQzI0WFhfU0VSSUFMX01BSk9SLAotCS5taW5vcgkJPSBTM0MyNFhYX1NFUklBTF9NSU5PUiwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgczNjMjR4eF9zZXJpYWxfcG9ydHNbTlJfUE9SVFNdID0gewotCVswXSA9IHsKLQkJLnBvcnQgPSB7Ci0JCQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzM2MyNHh4X3NlcmlhbF9wb3J0c1swXS5wb3J0LmxvY2spLAotCQkJLmlvdHlwZQkJPSBVUElPX01FTSwKLQkJCS5pcnEJCT0gSVJRX1MzQ1VBUlRfUlgwLAotCQkJLnVhcnRjbGsJPSAwLAotCQkJLmZpZm9zaXplCT0gMTYsCi0JCQkub3BzCQk9ICZzM2MyNHh4X3NlcmlhbF9vcHMsCi0JCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCi0JCQkubGluZQkJPSAwLAotCQl9Ci0JfSwKLQlbMV0gPSB7Ci0JCS5wb3J0ID0gewotCQkJLmxvY2sJCT0gX19TUElOX0xPQ0tfVU5MT0NLRUQoczNjMjR4eF9zZXJpYWxfcG9ydHNbMV0ucG9ydC5sb2NrKSwKLQkJCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCQkuaXJxCQk9IElSUV9TM0NVQVJUX1JYMSwKLQkJCS51YXJ0Y2xrCT0gMCwKLQkJCS5maWZvc2l6ZQk9IDE2LAotCQkJLm9wcwkJPSAmczNjMjR4eF9zZXJpYWxfb3BzLAotCQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkJLmxpbmUJCT0gMSwKLQkJfQotCX0sCi0jaWYgTlJfUE9SVFMgPiAyCi0KLQlbMl0gPSB7Ci0JCS5wb3J0ID0gewotCQkJLmxvY2sJCT0gX19TUElOX0xPQ0tfVU5MT0NLRUQoczNjMjR4eF9zZXJpYWxfcG9ydHNbMl0ucG9ydC5sb2NrKSwKLQkJCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCQkuaXJxCQk9IElSUV9TM0NVQVJUX1JYMiwKLQkJCS51YXJ0Y2xrCT0gMCwKLQkJCS5maWZvc2l6ZQk9IDE2LAotCQkJLm9wcwkJPSAmczNjMjR4eF9zZXJpYWxfb3BzLAotCQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkJLmxpbmUJCT0gMiwKLQkJfQotCX0KLSNlbmRpZgotfTsKLQotLyogczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0Ci0gKgotICogd3JhcHBlciB0byBjYWxsIHRoZSBzcGVjaWZpYyByZXNldCBmb3IgdGhpcyBwb3J0IChyZXNldCB0aGUgZmlmb3MKLSAqIGFuZCB0aGUgc2V0dGluZ3MpCi0qLwotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNHh4X3NlcmlhbF9yZXNldHBvcnQoc3RydWN0IHVhcnRfcG9ydCAqIHBvcnQsCi0JCQkJCSAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKLQotCXJldHVybiAoaW5mby0+cmVzZXRfcG9ydCkocG9ydCwgY2ZnKTsKLX0KLQotLyogczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0Ci0gKgotICogaW5pdGlhbGlzZSBhIHNpbmdsZSBzZXJpYWwgcG9ydCBmcm9tIHRoZSBwbGF0Zm9ybSBkZXZpY2UgZ2l2ZW4KLSAqLwotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbywKLQkJCQkgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGRldikKLXsKLQlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJm91cnBvcnQtPnBvcnQ7Ci0Jc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnOwotCXN0cnVjdCByZXNvdXJjZSAqcmVzOwotCWludCByZXQ7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogcG9ydD0lcCwgcGxhdGRldj0lcFxuIiwgcG9ydCwgcGxhdGRldik7Ci0KLQlpZiAocGxhdGRldiA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT0RFVjsKLQotCWNmZyA9IHMzYzI0eHhfZGV2X3RvX2NmZygmcGxhdGRldi0+ZGV2KTsKLQotCWlmIChwb3J0LT5tYXBiYXNlICE9IDApCi0JCXJldHVybiAwOwotCi0JaWYgKGNmZy0+aHdwb3J0ID4gMykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQkvKiBzZXR1cCBpbmZvIGZvciBwb3J0ICovCi0JcG9ydC0+ZGV2CT0gJnBsYXRkZXYtPmRldjsKLQlvdXJwb3J0LT5pbmZvCT0gaW5mbzsKLQotCS8qIGNvcHkgdGhlIGluZm8gaW4gZnJvbSBwcm92aWRlZCBzdHJ1Y3R1cmUgKi8KLQlvdXJwb3J0LT5wb3J0LmZpZm9zaXplID0gaW5mby0+Zmlmb3NpemU7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogJXAgKGh3ICVkKS4uLlxuIiwgcG9ydCwgY2ZnLT5od3BvcnQpOwotCi0JcG9ydC0+dWFydGNsayA9IDE7Ci0KLQlpZiAoY2ZnLT51YXJ0X2ZsYWdzICYgVVBGX0NPTlNfRkxPVykgewotCQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogZW5hYmxpbmcgZmxvdyBjb250cm9sXG4iKTsKLQkJcG9ydC0+ZmxhZ3MgfD0gVVBGX0NPTlNfRkxPVzsKLQl9Ci0KLQkvKiBzb3J0IG91ciB0aGUgcGh5c2ljYWwgYW5kIHZpcnR1YWwgYWRkcmVzc2VzIGZvciBlYWNoIFVBUlQgKi8KLQotCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwbGF0ZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7Ci0JaWYgKHJlcyA9PSBOVUxMKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGZpbmQgbWVtb3J5IHJlc291cmNlIGZvciB1YXJ0XG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JZGJnKCJyZXNvdXJjZSAlcCAoJWx4Li4lbHgpXG4iLCByZXMsIHJlcy0+c3RhcnQsIHJlcy0+ZW5kKTsKLQotCXBvcnQtPm1hcGJhc2UJPSByZXMtPnN0YXJ0OwotCXBvcnQtPm1lbWJhc2UJPSBTM0MyNFhYX1ZBX1VBUlQgKyAocmVzLT5zdGFydCAtIFMzQzI0WFhfUEFfVUFSVCk7Ci0JcmV0ID0gcGxhdGZvcm1fZ2V0X2lycShwbGF0ZGV2LCAwKTsKLQlpZiAocmV0IDwgMCkKLQkJcG9ydC0+aXJxID0gMDsKLQllbHNlCi0JCXBvcnQtPmlycSA9IHJldDsKLQotCW91cnBvcnQtPmNsawk9IGNsa19nZXQoJnBsYXRkZXYtPmRldiwgInVhcnQiKTsKLQotCWRiZygicG9ydDogbWFwPSUwOHgsIG1lbT0lMDh4LCBpcnE9JWQsIGNsb2NrPSVsZFxuIiwKLQkgICAgcG9ydC0+bWFwYmFzZSwgcG9ydC0+bWVtYmFzZSwgcG9ydC0+aXJxLCBwb3J0LT51YXJ0Y2xrKTsKLQotCS8qIHJlc2V0IHRoZSBmaWZvcyAoYW5kIHNldHVwIHRoZSB1YXJ0KSAqLwotCXMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChwb3J0LCBjZmcpOwotCXJldHVybiAwOwotfQotCi0vKiBEZXZpY2UgZHJpdmVyIHNlcmlhbCBwb3J0IHByb2JlICovCi0KLXN0YXRpYyBpbnQgcHJvYmVfaW5kZXggPSAwOwotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwKLQkJCQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0OwotCWludCByZXQ7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX3Byb2JlKCVwLCAlcCkgJWRcbiIsIGRldiwgaW5mbywgcHJvYmVfaW5kZXgpOwotCi0Jb3VycG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1twcm9iZV9pbmRleF07Ci0JcHJvYmVfaW5kZXgrKzsKLQotCWRiZygiJXM6IGluaXRpYWxpc2luZyBwb3J0ICVwLi4uXG4iLCBfX2Z1bmNfXywgb3VycG9ydCk7Ci0KLQlyZXQgPSBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQob3VycG9ydCwgaW5mbywgZGV2KTsKLQlpZiAocmV0IDwgMCkKLQkJZ290byBwcm9iZV9lcnI7Ci0KLQlkYmcoIiVzOiBhZGRpbmcgcG9ydFxuIiwgX19mdW5jX18pOwotCXVhcnRfYWRkX29uZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCAmb3VycG9ydC0+cG9ydCk7Ci0JcGxhdGZvcm1fc2V0X2RydmRhdGEoZGV2LCAmb3VycG9ydC0+cG9ydCk7Ci0KLQlyZXR1cm4gMDsKLQotIHByb2JlX2VycjoKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHMzYzI0eHhfZGV2X3RvX3BvcnQoJmRldi0+ZGV2KTsKLQotCWlmIChwb3J0KQotCQl1YXJ0X3JlbW92ZV9vbmVfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgcG9ydCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyogVUFSVCBwb3dlciBtYW5hZ2VtZW50IGNvZGUgKi8KLQotI2lmZGVmIENPTkZJR19QTQotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCi17Ci0Jc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHMzYzI0eHhfZGV2X3RvX3BvcnQoJmRldi0+ZGV2KTsKLQotCWlmIChwb3J0KQotCQl1YXJ0X3N1c3BlbmRfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgcG9ydCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKLQotCWlmIChwb3J0KSB7Ci0JCWNsa19lbmFibGUob3VycG9ydC0+Y2xrKTsKLQkJczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0KHBvcnQsIHMzYzI0eHhfcG9ydF90b19jZmcocG9ydCkpOwotCQljbGtfZGlzYWJsZShvdXJwb3J0LT5jbGspOwotCi0JCXVhcnRfcmVzdW1lX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOwotCX0KLQotCXJldHVybiAwOwotfQotCi0jZWxzZQotI2RlZmluZSBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kIE5VTEwKLSNkZWZpbmUgczNjMjR4eF9zZXJpYWxfcmVzdW1lICBOVUxMCi0jZW5kaWYKLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmRydiwKLQkJCSAgICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCi17Ci0JZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0KCVwLCVwKVxuIiwgZHJ2LCBpbmZvKTsKLQlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKGRydik7Ci19Ci0KLQotLyogbm93IGNvbWVzIHRoZSBjb2RlIHRvIGluaXRpYWxpc2UgZWl0aGVyIHRoZSBzM2MyNDEwIG9yIHMzYzI0NDAgc2VyaWFsCi0gKiBwb3J0IGluZm9ybWF0aW9uCi0qLwotCi0vKiBjcHUgc3BlY2lmaWMgdmFyaWF0aW9ucyBvbiB0aGUgc2VyaWFsIHBvcnQgc3VwcG9ydCAqLwotCi0jaWZkZWYgQ09ORklHX0NQVV9TM0MyNDAwCi0KLXN0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JY2xrLT5kaXZpc29yID0gMTsKLQljbGstPm5hbWUgPSAicGNsayI7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzM2MyNDAwX3NlcmlhbF9zZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzM2MyNDAwX3NlcmlhbF9yZXNldHBvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnKQotewotCWRiZygiczNjMjQwMF9zZXJpYWxfcmVzZXRwb3J0OiBwb3J0PSVwICglMDhseCksIGNmZz0lcFxuIiwKLQkgICAgcG9ydCwgcG9ydC0+bWFwYmFzZSwgY2ZnKTsKLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCAgY2ZnLT51Y29uKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOwotCi0JLyogcmVzZXQgYm90aCBmaWZvcyAqLwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDAwX3VhcnRfaW5mID0gewotCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0MDAgVUFSVCIsCi0JLnR5cGUJCT0gUE9SVF9TM0MyNDAwLAotCS5maWZvc2l6ZQk9IDE2LAotCS5yeF9maWZvbWFzawk9IFMzQzI0MTBfVUZTVEFUX1JYTUFTSywKLQkucnhfZmlmb3NoaWZ0CT0gUzNDMjQxMF9VRlNUQVRfUlhTSElGVCwKLQkucnhfZmlmb2Z1bGwJPSBTM0MyNDEwX1VGU1RBVF9SWEZVTEwsCi0JLnR4X2ZpZm9mdWxsCT0gUzNDMjQxMF9VRlNUQVRfVFhGVUxMLAotCS50eF9maWZvbWFzawk9IFMzQzI0MTBfVUZTVEFUX1RYTUFTSywKLQkudHhfZmlmb3NoaWZ0CT0gUzNDMjQxMF9VRlNUQVRfVFhTSElGVCwKLQkuZ2V0X2Nsa3NyYwk9IHMzYzI0MDBfc2VyaWFsX2dldHNvdXJjZSwKLQkuc2V0X2Nsa3NyYwk9IHMzYzI0MDBfc2VyaWFsX3NldHNvdXJjZSwKLQkucmVzZXRfcG9ydAk9IHMzYzI0MDBfc2VyaWFsX3Jlc2V0cG9ydCwKLX07Ci0KLXN0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCXJldHVybiBzM2MyNHh4X3NlcmlhbF9wcm9iZShkZXYsICZzM2MyNDAwX3VhcnRfaW5mKTsKLX0KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjMjQwMF9zZXJpYWxfZHJ2ID0gewotCS5wcm9iZQkJPSBzM2MyNDAwX3NlcmlhbF9wcm9iZSwKLQkucmVtb3ZlCQk9IHMzYzI0eHhfc2VyaWFsX3JlbW92ZSwKLQkuc3VzcGVuZAk9IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBzM2MyNHh4X3NlcmlhbF9yZXN1bWUsCi0JLmRyaXZlcgkJPSB7Ci0JCS5uYW1lCT0gInMzYzI0MDAtdWFydCIsCi0JCS5vd25lcgk9IFRISVNfTU9EVUxFLAotCX0sCi19OwotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDAwX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0MDBfc2VyaWFsX2RydiwgJnMzYzI0MDBfdWFydF9pbmYpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgczNjMjQwMF9zZXJpYWxfZXhpdCh2b2lkKQotewotCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDAwX3NlcmlhbF9kcnYpOwotfQotCi0jZGVmaW5lIHMzYzI0MDBfdWFydF9pbmZfYXQgJnMzYzI0MDBfdWFydF9pbmYKLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0MDBfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MDBfc2VyaWFsX2V4aXQodm9pZCkKLXsKLX0KLQotI2RlZmluZSBzM2MyNDAwX3VhcnRfaW5mX2F0IE5VTEwKLQotI2VuZGlmIC8qIENPTkZJR19DUFVfUzNDMjQwMCAqLwotCi0vKiBTM0MyNDEwIHN1cHBvcnQgKi8KLQotI2lmZGVmIENPTkZJR19DUFVfUzNDMjQxMAorI2luY2x1ZGUgInNhbXN1bmcuaCIKIAogc3RhdGljIGludCBzM2MyNDEwX3NlcmlhbF9zZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKIAkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKQEAgLTEzMjMsOCArODMsNiBAQAogCS5yZXNldF9wb3J0CT0gczNjMjQxMF9zZXJpYWxfcmVzZXRwb3J0LAogfTsKIAotLyogZGV2aWNlIG1hbmFnZW1lbnQgKi8KLQogc3RhdGljIGludCBzM2MyNDEwX3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCiB7CiAJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX3Byb2JlKGRldiwgJnMzYzI0MTBfdWFydF9pbmYpOwpAQCAtMTMzMyw2MTIgKzkxLDI4IEBACiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzM2MyNDEwX3NlcmlhbF9kcnYgPSB7CiAJLnByb2JlCQk9IHMzYzI0MTBfc2VyaWFsX3Byb2JlLAogCS5yZW1vdmUJCT0gczNjMjR4eF9zZXJpYWxfcmVtb3ZlLAotCS5zdXNwZW5kCT0gczNjMjR4eF9zZXJpYWxfc3VzcGVuZCwKLQkucmVzdW1lCQk9IHMzYzI0eHhfc2VyaWFsX3Jlc3VtZSwKIAkuZHJpdmVyCQk9IHsKIAkJLm5hbWUJPSAiczNjMjQxMC11YXJ0IiwKIAkJLm93bmVyCT0gVEhJU19NT0RVTEUsCiAJfSwKIH07CiAKLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0MTBfc2VyaWFsX2luaXQodm9pZCkKK3MzYzI0eHhfY29uc29sZV9pbml0KCZzM2MyNDEwX3NlcmlhbF9kcnYsICZzM2MyNDEwX3VhcnRfaW5mKTsKKworc3RhdGljIGludCBfX2luaXQgczNjMjQxMF9zZXJpYWxfaW5pdCh2b2lkKQogewogCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0KCZzM2MyNDEwX3NlcmlhbF9kcnYsICZzM2MyNDEwX3VhcnRfaW5mKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MTBfc2VyaWFsX2V4aXQodm9pZCkKK3N0YXRpYyB2b2lkIF9fZXhpdCBzM2MyNDEwX3NlcmlhbF9leGl0KHZvaWQpCiB7CiAJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0MTBfc2VyaWFsX2Rydik7CiB9CiAKLSNkZWZpbmUgczNjMjQxMF91YXJ0X2luZl9hdCAmczNjMjQxMF91YXJ0X2luZgotI2Vsc2UKK21vZHVsZV9pbml0KHMzYzI0MTBfc2VyaWFsX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjQxMF9zZXJpYWxfZXhpdCk7CiAKLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0MTBfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MTBfc2VyaWFsX2V4aXQodm9pZCkKLXsKLX0KLQotI2RlZmluZSBzM2MyNDEwX3VhcnRfaW5mX2F0IE5VTEwKLQotI2VuZGlmIC8qIENPTkZJR19DUFVfUzNDMjQxMCAqLwotCi0jaWYgZGVmaW5lZChDT05GSUdfQ1BVX1MzQzI0NDApIHx8IGRlZmluZWQoQ09ORklHX0NQVV9TM0MyNDQyKQotCi1zdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQkvLyB0b2RvIC0gcHJvcGVyIGZjbGs8Pm5vbmZjbGsgc3dpdGNoIC8vCi0KLQl1Y29uICY9IH5TM0MyNDQwX1VDT05fQ0xLTUFTSzsKLQotCWlmIChzdHJjbXAoY2xrLT5uYW1lLCAidWNsayIpID09IDApCi0JCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1VDTEs7Ci0JZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInBjbGsiKSA9PSAwKQotCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9QQ0xLOwotCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJmY2xrIikgPT0gMCkKLQkJdWNvbiB8PSBTM0MyNDQwX1VDT05fRkNMSzsKLQllbHNlIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ1bmtub3duIGNsb2NrIHNvdXJjZSAlc1xuIiwgY2xrLT5uYW1lKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCXVuc2lnbmVkIGxvbmcgdWNvbjAsIHVjb24xLCB1Y29uMjsKLQotCXN3aXRjaCAodWNvbiAmIFMzQzI0NDBfVUNPTl9DTEtNQVNLKSB7Ci0JY2FzZSBTM0MyNDQwX1VDT05fVUNMSzoKLQkJY2xrLT5kaXZpc29yID0gMTsKLQkJY2xrLT5uYW1lID0gInVjbGsiOwotCQlicmVhazsKLQotCWNhc2UgUzNDMjQ0MF9VQ09OX1BDTEs6Ci0JY2FzZSBTM0MyNDQwX1VDT05fUENMSzI6Ci0JCWNsay0+ZGl2aXNvciA9IDE7Ci0JCWNsay0+bmFtZSA9ICJwY2xrIjsKLQkJYnJlYWs7Ci0KLQljYXNlIFMzQzI0NDBfVUNPTl9GQ0xLOgotCQkvKiB0aGUgZnVuIG9mIGNhbGN1bGF0aW5nIHRoZSB1YXJ0IGRpdmlzb3JzIG9uCi0JCSAqIHRoZSBzM2MyNDQwICovCi0KLQkJdWNvbjAgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQwICsgUzNDMjQxMF9VQ09OKTsKLQkJdWNvbjEgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQxICsgUzNDMjQxMF9VQ09OKTsKLQkJdWNvbjIgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQyICsgUzNDMjQxMF9VQ09OKTsKLQotCQlwcmludGsoInVjb25zOiAlMDhseCwgJTA4bHgsICUwOGx4XG4iLCB1Y29uMCwgdWNvbjEsIHVjb24yKTsKLQotCQl1Y29uMCAmPSBTM0MyNDQwX1VDT04wX0RJVk1BU0s7Ci0JCXVjb24xICY9IFMzQzI0NDBfVUNPTjFfRElWTUFTSzsKLQkJdWNvbjIgJj0gUzNDMjQ0MF9VQ09OMl9ESVZNQVNLOwotCi0JCWlmICh1Y29uMCAhPSAwKSB7Ci0JCQljbGstPmRpdmlzb3IgPSB1Y29uMCA+PiBTM0MyNDQwX1VDT05fRElWU0hJRlQ7Ci0JCQljbGstPmRpdmlzb3IgKz0gNjsKLQkJfSBlbHNlIGlmICh1Y29uMSAhPSAwKSB7Ci0JCQljbGstPmRpdmlzb3IgPSB1Y29uMSA+PiBTM0MyNDQwX1VDT05fRElWU0hJRlQ7Ci0JCQljbGstPmRpdmlzb3IgKz0gMjE7Ci0JCX0gZWxzZSBpZiAodWNvbjIgIT0gMCkgewotCQkJY2xrLT5kaXZpc29yID0gdWNvbjIgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOwotCQkJY2xrLT5kaXZpc29yICs9IDM2OwotCQl9IGVsc2UgewotCQkJLyogbWFudWFsIGNhbGltcyA0NCwgc2VlbXMgdG8gYmUgOSAqLwotCQkJY2xrLT5kaXZpc29yID0gOTsKLQkJfQotCi0JCWNsay0+bmFtZSA9ICJmY2xrIjsKLQkJYnJlYWs7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQlkYmcoInMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydDogcG9ydD0lcCAoJTA4bHgpLCBjZmc9JXBcbiIsCi0JICAgIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7Ci0KLQkvKiBlbnN1cmUgd2UgZG9uJ3QgY2hhbmdlIHRoZSBjbG9jayBzZXR0aW5ncy4uLiAqLwotCi0JdWNvbiAmPSAoUzNDMjQ0MF9VQ09OMF9ESVZNQVNLIHwgKDM8PDEwKSk7Ci0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgIHVjb24gfCBjZmctPnVjb24pOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiwgY2ZnLT51bGNvbik7Ci0KLQkvKiByZXNldCBib3RoIGZpZm9zICovCi0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24gfCBTM0MyNDEwX1VGQ09OX1JFU0VUQk9USCk7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHMzYzI0NDBfdWFydF9pbmYgPSB7Ci0JLm5hbWUJCT0gIlNhbXN1bmcgUzNDMjQ0MCBVQVJUIiwKLQkudHlwZQkJPSBQT1JUX1MzQzI0NDAsCi0JLmZpZm9zaXplCT0gNjQsCi0JLnJ4X2ZpZm9tYXNrCT0gUzNDMjQ0MF9VRlNUQVRfUlhNQVNLLAotCS5yeF9maWZvc2hpZnQJPSBTM0MyNDQwX1VGU1RBVF9SWFNISUZULAotCS5yeF9maWZvZnVsbAk9IFMzQzI0NDBfVUZTVEFUX1JYRlVMTCwKLQkudHhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9UWEZVTEwsCi0JLnR4X2ZpZm9tYXNrCT0gUzNDMjQ0MF9VRlNUQVRfVFhNQVNLLAotCS50eF9maWZvc2hpZnQJPSBTM0MyNDQwX1VGU1RBVF9UWFNISUZULAotCS5nZXRfY2xrc3JjCT0gczNjMjQ0MF9zZXJpYWxfZ2V0c291cmNlLAotCS5zZXRfY2xrc3JjCT0gczNjMjQ0MF9zZXJpYWxfc2V0c291cmNlLAotCS5yZXNldF9wb3J0CT0gczNjMjQ0MF9zZXJpYWxfcmVzZXRwb3J0LAotfTsKLQotLyogZGV2aWNlIG1hbmFnZW1lbnQgKi8KLQotc3RhdGljIGludCBzM2MyNDQwX3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCi17Ci0JZGJnKCJzM2MyNDQwX3NlcmlhbF9wcm9iZTogZGV2PSVwXG4iLCBkZXYpOwotCXJldHVybiBzM2MyNHh4X3NlcmlhbF9wcm9iZShkZXYsICZzM2MyNDQwX3VhcnRfaW5mKTsKLX0KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjMjQ0MF9zZXJpYWxfZHJ2ID0gewotCS5wcm9iZQkJPSBzM2MyNDQwX3NlcmlhbF9wcm9iZSwKLQkucmVtb3ZlCQk9IHMzYzI0eHhfc2VyaWFsX3JlbW92ZSwKLQkuc3VzcGVuZAk9IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBzM2MyNHh4X3NlcmlhbF9yZXN1bWUsCi0JLmRyaXZlcgkJPSB7Ci0JCS5uYW1lCT0gInMzYzI0NDAtdWFydCIsCi0JCS5vd25lcgk9IFRISVNfTU9EVUxFLAotCX0sCi19OwotCi0KLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0NDBfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQ0MF9zZXJpYWxfZHJ2LCAmczNjMjQ0MF91YXJ0X2luZik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDQwX3NlcmlhbF9leGl0KHZvaWQpCi17Ci0JcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0NDBfc2VyaWFsX2Rydik7Ci19Ci0KLSNkZWZpbmUgczNjMjQ0MF91YXJ0X2luZl9hdCAmczNjMjQ0MF91YXJ0X2luZgotI2Vsc2UKLQotc3RhdGljIGlubGluZSBpbnQgczNjMjQ0MF9zZXJpYWxfaW5pdCh2b2lkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgczNjMjQ0MF9zZXJpYWxfZXhpdCh2b2lkKQotewotfQotCi0jZGVmaW5lIHMzYzI0NDBfdWFydF9pbmZfYXQgTlVMTAotI2VuZGlmIC8qIENPTkZJR19DUFVfUzNDMjQ0MCAqLwotCi0jaWYgZGVmaW5lZChDT05GSUdfQ1BVX1MzQzI0MTIpCi0KLXN0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQotewotCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQotCXVjb24gJj0gflMzQzI0MTJfVUNPTl9DTEtNQVNLOwotCi0JaWYgKHN0cmNtcChjbGstPm5hbWUsICJ1Y2xrIikgPT0gMCkKLQkJdWNvbiB8PSBTM0MyNDQwX1VDT05fVUNMSzsKLQllbHNlIGlmIChzdHJjbXAoY2xrLT5uYW1lLCAicGNsayIpID09IDApCi0JCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1BDTEs7Ci0JZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInVzeXNjbGsiKSA9PSAwKQotCQl1Y29uIHw9IFMzQzI0MTJfVUNPTl9VU1lTQ0xLOwotCWVsc2UgewotCQlwcmludGsoS0VSTl9FUlIgInVua25vd24gY2xvY2sgc291cmNlICVzXG4iLCBjbGstPm5hbWUpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7Ci0JcmV0dXJuIDA7Ci19Ci0KLQotc3RhdGljIGludCBzM2MyNDEyX3NlcmlhbF9nZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQlzd2l0Y2ggKHVjb24gJiBTM0MyNDEyX1VDT05fQ0xLTUFTSykgewotCWNhc2UgUzNDMjQxMl9VQ09OX1VDTEs6Ci0JCWNsay0+ZGl2aXNvciA9IDE7Ci0JCWNsay0+bmFtZSA9ICJ1Y2xrIjsKLQkJYnJlYWs7Ci0KLQljYXNlIFMzQzI0MTJfVUNPTl9QQ0xLOgotCWNhc2UgUzNDMjQxMl9VQ09OX1BDTEsyOgotCQljbGstPmRpdmlzb3IgPSAxOwotCQljbGstPm5hbWUgPSAicGNsayI7Ci0JCWJyZWFrOwotCi0JY2FzZSBTM0MyNDEyX1VDT05fVVNZU0NMSzoKLQkJY2xrLT5kaXZpc29yID0gMTsKLQkJY2xrLT5uYW1lID0gInVzeXNjbGsiOwotCQlicmVhazsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzM2MyNDEyX3NlcmlhbF9yZXNldHBvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnKQotewotCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQotCWRiZygiJXM6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAotCSAgICBfX2Z1bmNfXywgcG9ydCwgcG9ydC0+bWFwYmFzZSwgY2ZnKTsKLQotCS8qIGVuc3VyZSB3ZSBkb24ndCBjaGFuZ2UgdGhlIGNsb2NrIHNldHRpbmdzLi4uICovCi0KLQl1Y29uICY9IFMzQzI0MTJfVUNPTl9DTEtNQVNLOwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICB1Y29uIHwgY2ZnLT51Y29uKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOwotCi0JLyogcmVzZXQgYm90aCBmaWZvcyAqLwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDEyX3VhcnRfaW5mID0gewotCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0MTIgVUFSVCIsCi0JLnR5cGUJCT0gUE9SVF9TM0MyNDEyLAotCS5maWZvc2l6ZQk9IDY0LAotCS5yeF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1JYTUFTSywKLQkucnhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfUlhTSElGVCwKLQkucnhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9SWEZVTEwsCi0JLnR4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfVFhGVUxMLAotCS50eF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1RYTUFTSywKLQkudHhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfVFhTSElGVCwKLQkuZ2V0X2Nsa3NyYwk9IHMzYzI0MTJfc2VyaWFsX2dldHNvdXJjZSwKLQkuc2V0X2Nsa3NyYwk9IHMzYzI0MTJfc2VyaWFsX3NldHNvdXJjZSwKLQkucmVzZXRfcG9ydAk9IHMzYzI0MTJfc2VyaWFsX3Jlc2V0cG9ydCwKLX07Ci0KLS8qIGRldmljZSBtYW5hZ2VtZW50ICovCi0KLXN0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCWRiZygiczNjMjQ0MF9zZXJpYWxfcHJvYmU6IGRldj0lcFxuIiwgZGV2KTsKLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQxMl91YXJ0X2luZik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0MTJfc2VyaWFsX2RydiA9IHsKLQkucHJvYmUJCT0gczNjMjQxMl9zZXJpYWxfcHJvYmUsCi0JLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCi0JLnN1c3BlbmQJPSBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kLAotCS5yZXN1bWUJCT0gczNjMjR4eF9zZXJpYWxfcmVzdW1lLAotCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJzM2MyNDEyLXVhcnQiLAotCQkub3duZXIJPSBUSElTX01PRFVMRSwKLQl9LAotfTsKLQotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDEyX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0MTJfc2VyaWFsX2RydiwgJnMzYzI0MTJfdWFydF9pbmYpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgczNjMjQxMl9zZXJpYWxfZXhpdCh2b2lkKQotewotCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDEyX3NlcmlhbF9kcnYpOwotfQotCi0jZGVmaW5lIHMzYzI0MTJfdWFydF9pbmZfYXQgJnMzYzI0MTJfdWFydF9pbmYKLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0MTJfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MTJfc2VyaWFsX2V4aXQodm9pZCkKLXsKLX0KLQotI2RlZmluZSBzM2MyNDEyX3VhcnRfaW5mX2F0IE5VTEwKLSNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0NDAgKi8KLQotCi0vKiBtb2R1bGUgaW5pdGlhbGlzYXRpb24gY29kZSAqLwotCi1zdGF0aWMgaW50IF9faW5pdCBzM2MyNHh4X3NlcmlhbF9tb2Rpbml0KHZvaWQpCi17Ci0JaW50IHJldDsKLQotCXJldCA9IHVhcnRfcmVnaXN0ZXJfZHJpdmVyKCZzM2MyNHh4X3VhcnRfZHJ2KTsKLQlpZiAocmV0IDwgMCkgewotCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byByZWdpc3RlciBVQVJUIGRyaXZlclxuIik7Ci0JCXJldHVybiAtMTsKLQl9Ci0KLQlzM2MyNDAwX3NlcmlhbF9pbml0KCk7Ci0JczNjMjQxMF9zZXJpYWxfaW5pdCgpOwotCXMzYzI0MTJfc2VyaWFsX2luaXQoKTsKLQlzM2MyNDQwX3NlcmlhbF9pbml0KCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IHMzYzI0eHhfc2VyaWFsX21vZGV4aXQodm9pZCkKLXsKLQlzM2MyNDAwX3NlcmlhbF9leGl0KCk7Ci0JczNjMjQxMF9zZXJpYWxfZXhpdCgpOwotCXMzYzI0MTJfc2VyaWFsX2V4aXQoKTsKLQlzM2MyNDQwX3NlcmlhbF9leGl0KCk7Ci0KLQl1YXJ0X3VucmVnaXN0ZXJfZHJpdmVyKCZzM2MyNHh4X3VhcnRfZHJ2KTsKLX0KLQotCi1tb2R1bGVfaW5pdChzM2MyNHh4X3NlcmlhbF9tb2Rpbml0KTsKLW1vZHVsZV9leGl0KHMzYzI0eHhfc2VyaWFsX21vZGV4aXQpOwotCi0vKiBDb25zb2xlIGNvZGUgKi8KLQotI2lmZGVmIENPTkZJR19TRVJJQUxfUzNDMjQxMF9DT05TT0xFCi0KLXN0YXRpYyBzdHJ1Y3QgdWFydF9wb3J0ICpjb25zX3VhcnQ7Ci0KLXN0YXRpYyBpbnQKLXMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfdHhyZHkoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IHVmY29uKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCXVuc2lnbmVkIGxvbmcgdWZzdGF0LCB1dHJzdGF0OwotCi0JaWYgKHVmY29uICYgUzNDMjQxMF9VRkNPTl9GSUZPTU9ERSkgewotCQkvKiBmaWZvIG1vZGUgLSBjaGVjayBhbW1vdW50IG9mIGRhdGEgaW4gZmlmbyByZWdpc3RlcnMuLi4gKi8KLQotCQl1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKLQkJcmV0dXJuICh1ZnN0YXQgJiBpbmZvLT50eF9maWZvZnVsbCkgPyAwIDogMTsKLQl9Ci0KLQkvKiBpbiBub24tZmlmbyBtb2RlLCB3ZSBnbyBhbmQgdXNlIHRoZSB0eCBidWZmZXIgZW1wdHkgKi8KLQotCXV0cnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVVRSU1RBVCk7Ci0JcmV0dXJuICh1dHJzdGF0ICYgUzNDMjQxMF9VVFJTVEFUX1RYRSkgPyAxIDogMDsKLX0KLQotc3RhdGljIHZvaWQKLXMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfcHV0Y2hhcihzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgY2gpCi17Ci0JdW5zaWduZWQgaW50IHVmY29uID0gcmRfcmVnbChjb25zX3VhcnQsIFMzQzI0MTBfVUZDT04pOwotCXdoaWxlICghczNjMjR4eF9zZXJpYWxfY29uc29sZV90eHJkeShwb3J0LCB1ZmNvbikpCi0JCWJhcnJpZXIoKTsKLQl3cl9yZWdiKGNvbnNfdWFydCwgUzNDMjQxMF9VVFhILCBjaCk7Ci19Ci0KLXN0YXRpYyB2b2lkCi1zM2MyNHh4X3NlcmlhbF9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlICpjbywgY29uc3QgY2hhciAqcywKLQkJCSAgICAgdW5zaWduZWQgaW50IGNvdW50KQotewotCXVhcnRfY29uc29sZV93cml0ZShjb25zX3VhcnQsIHMsIGNvdW50LCBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3B1dGNoYXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQKLXMzYzI0eHhfc2VyaWFsX2dldF9vcHRpb25zKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCAqYmF1ZCwKLQkJCSAgIGludCAqcGFyaXR5LCBpbnQgKmJpdHMpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgY2xrc3JjOwotCXN0cnVjdCBjbGsgKmNsazsKLQl1bnNpZ25lZCBpbnQgdWxjb247Ci0JdW5zaWduZWQgaW50IHVjb247Ci0JdW5zaWduZWQgaW50IHVicmRpdjsKLQl1bnNpZ25lZCBsb25nIHJhdGU7Ci0KLQl1bGNvbiAgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04pOwotCXVjb24gICA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQl1YnJkaXYgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUJSRElWKTsKLQotCWRiZygiczNjMjR4eF9zZXJpYWxfZ2V0X29wdGlvbnM6IHBvcnQ9JXBcbiIKLQkgICAgInJlZ2lzdGVyczogdWxjb249JTA4eCwgdWNvbj0lMDh4LCB1YmRyaXY9JTA4eFxuIiwKLQkgICAgcG9ydCwgdWxjb24sIHVjb24sIHVicmRpdik7Ci0KLQlpZiAoKHVjb24gJiAweGYpICE9IDApIHsKLQkJLyogY29uc2lkZXIgdGhlIHNlcmlhbCBwb3J0IGNvbmZpZ3VyZWQgaWYgdGhlIHR4L3J4IG1vZGUgc2V0ICovCi0KLQkJc3dpdGNoICh1bGNvbiAmIFMzQzI0MTBfTENPTl9DU01BU0spIHsKLQkJY2FzZSBTM0MyNDEwX0xDT05fQ1M1OgotCQkJKmJpdHMgPSA1OwotCQkJYnJlYWs7Ci0JCWNhc2UgUzNDMjQxMF9MQ09OX0NTNjoKLQkJCSpiaXRzID0gNjsKLQkJCWJyZWFrOwotCQljYXNlIFMzQzI0MTBfTENPTl9DUzc6Ci0JCQkqYml0cyA9IDc7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJY2FzZSBTM0MyNDEwX0xDT05fQ1M4OgotCQkJKmJpdHMgPSA4OwotCQkJYnJlYWs7Ci0JCX0KLQotCQlzd2l0Y2ggKHVsY29uICYgUzNDMjQxMF9MQ09OX1BNQVNLKSB7Ci0JCWNhc2UgUzNDMjQxMF9MQ09OX1BFVkVOOgotCQkJKnBhcml0eSA9ICdlJzsKLQkJCWJyZWFrOwotCi0JCWNhc2UgUzNDMjQxMF9MQ09OX1BPREQ6Ci0JCQkqcGFyaXR5ID0gJ28nOwotCQkJYnJlYWs7Ci0KLQkJY2FzZSBTM0MyNDEwX0xDT05fUE5PTkU6Ci0JCWRlZmF1bHQ6Ci0JCQkqcGFyaXR5ID0gJ24nOwotCQl9Ci0KLQkJLyogbm93IGNhbGN1bGF0ZSB0aGUgYmF1ZCByYXRlICovCi0KLQkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZjbGtzcmMpOwotCi0JCWNsayA9IGNsa19nZXQocG9ydC0+ZGV2LCBjbGtzcmMubmFtZSk7Ci0JCWlmICghSVNfRVJSKGNsaykgJiYgY2xrICE9IE5VTEwpCi0JCQlyYXRlID0gY2xrX2dldF9yYXRlKGNsaykgLyBjbGtzcmMuZGl2aXNvcjsKLQkJZWxzZQotCQkJcmF0ZSA9IDE7Ci0KLQotCQkqYmF1ZCA9IHJhdGUgLyAoIDE2ICogKHVicmRpdiArIDEpKTsKLQkJZGJnKCJjYWxjdWxhdGVkIGJhdWQgJWRcbiIsICpiYXVkKTsKLQl9Ci0KLX0KLQotLyogczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0cwotICoKLSAqIGluaXRpYWxpc2UgdGhlIHNlcmlhbCBwb3J0cyBmcm9tIHRoZSBtYWNoaW5lIHByb3ZpZGVkIGluaXRpYWxpc2F0aW9uCi0gKiBkYXRhLgotKi8KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnRzKHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbykKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKnB0ciA9IHMzYzI0eHhfc2VyaWFsX3BvcnRzOwotCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKipwbGF0ZGV2X3B0cjsKLQlpbnQgaTsKLQotCWRiZygiczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0czogaW5pdGlhbGlzaW5nIHBvcnRzLi4uXG4iKTsKLQotCXBsYXRkZXZfcHRyID0gczNjMjR4eF91YXJ0X2RldnM7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgTlJfUE9SVFM7IGkrKywgcHRyKyssIHBsYXRkZXZfcHRyKyspIHsKLQkJczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0KHB0ciwgaW5mbywgKnBsYXRkZXZfcHRyKTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBfX2luaXQKLXMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXAoc3RydWN0IGNvbnNvbGUgKmNvLCBjaGFyICpvcHRpb25zKQotewotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQ7Ci0JaW50IGJhdWQgPSA5NjAwOwotCWludCBiaXRzID0gODsKLQlpbnQgcGFyaXR5ID0gJ24nOwotCWludCBmbG93ID0gJ24nOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwOiBjbz0lcCAoJWQpLCAlc1xuIiwKLQkgICAgY28sIGNvLT5pbmRleCwgb3B0aW9ucyk7Ci0KLQkvKiBpcyB0aGlzIGEgdmFsaWQgcG9ydCAqLwotCi0JaWYgKGNvLT5pbmRleCA9PSAtMSB8fCBjby0+aW5kZXggPj0gTlJfUE9SVFMpCi0JCWNvLT5pbmRleCA9IDA7Ci0KLQlwb3J0ID0gJnMzYzI0eHhfc2VyaWFsX3BvcnRzW2NvLT5pbmRleF0ucG9ydDsKLQotCS8qIGlzIHRoZSBwb3J0IGNvbmZpZ3VyZWQ/ICovCi0KLQlpZiAocG9ydC0+bWFwYmFzZSA9PSAweDApIHsKLQkJY28tPmluZGV4ID0gMDsKLQkJcG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1tjby0+aW5kZXhdLnBvcnQ7Ci0JfQotCi0JY29uc191YXJ0ID0gcG9ydDsKLQotCWRiZygiczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cDogcG9ydD0lcCAoJWQpXG4iLCBwb3J0LCBjby0+aW5kZXgpOwotCi0JLyoKLQkgKiBDaGVjayB3aGV0aGVyIGFuIGludmFsaWQgdWFydCBudW1iZXIgaGFzIGJlZW4gc3BlY2lmaWVkLCBhbmQKLQkgKiBpZiBzbywgc2VhcmNoIGZvciB0aGUgZmlyc3QgYXZhaWxhYmxlIHBvcnQgdGhhdCBkb2VzIGhhdmUKLQkgKiBjb25zb2xlIHN1cHBvcnQuCi0JICovCi0JaWYgKG9wdGlvbnMpCi0JCXVhcnRfcGFyc2Vfb3B0aW9ucyhvcHRpb25zLCAmYmF1ZCwgJnBhcml0eSwgJmJpdHMsICZmbG93KTsKLQllbHNlCi0JCXMzYzI0eHhfc2VyaWFsX2dldF9vcHRpb25zKHBvcnQsICZiYXVkLCAmcGFyaXR5LCAmYml0cyk7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXA6IGJhdWQgJWRcbiIsIGJhdWQpOwotCi0JcmV0dXJuIHVhcnRfc2V0X29wdGlvbnMocG9ydCwgY28sIGJhdWQsIHBhcml0eSwgYml0cywgZmxvdyk7Ci19Ci0KLS8qIHMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlCi0gKgotICogaW5pdGlhbGlzZSB0aGUgY29uc29sZSBmcm9tIG9uZSBvZiB0aGUgdWFydCBkcml2ZXJzCi0qLwotCi1zdGF0aWMgc3RydWN0IGNvbnNvbGUgczNjMjR4eF9zZXJpYWxfY29uc29sZSA9Ci17Ci0JLm5hbWUJCT0gUzNDMjRYWF9TRVJJQUxfTkFNRSwKLQkuZGV2aWNlCQk9IHVhcnRfY29uc29sZV9kZXZpY2UsCi0JLmZsYWdzCQk9IENPTl9QUklOVEJVRkZFUiwKLQkuaW5kZXgJCT0gLTEsCi0JLndyaXRlCQk9IHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfd3JpdGUsCi0JLnNldHVwCQk9IHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXAKLX07Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUodm9pZCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm87Ci0Jc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2ID0gczNjMjR4eF91YXJ0X2RldnNbMF07Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlXG4iKTsKLQotCS8qIHNlbGVjdCBkcml2ZXIgYmFzZWQgb24gdGhlIGNwdSAqLwotCi0JaWYgKGRldiA9PSBOVUxMKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eDogbm8gZGV2aWNlcyBmb3IgY29uc29sZSBpbml0XG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JaWYgKHN0cmNtcChkZXYtPm5hbWUsICJzM2MyNDAwLXVhcnQiKSA9PSAwKSB7Ci0JCWluZm8gPSBzM2MyNDAwX3VhcnRfaW5mX2F0OwotCX0gZWxzZSBpZiAoc3RyY21wKGRldi0+bmFtZSwgInMzYzI0MTAtdWFydCIpID09IDApIHsKLQkJaW5mbyA9IHMzYzI0MTBfdWFydF9pbmZfYXQ7Ci0JfSBlbHNlIGlmIChzdHJjbXAoZGV2LT5uYW1lLCAiczNjMjQ0MC11YXJ0IikgPT0gMCkgewotCQlpbmZvID0gczNjMjQ0MF91YXJ0X2luZl9hdDsKLQl9IGVsc2UgaWYgKHN0cmNtcChkZXYtPm5hbWUsICJzM2MyNDEyLXVhcnQiKSA9PSAwKSB7Ci0JCWluZm8gPSBzM2MyNDEyX3VhcnRfaW5mX2F0OwotCX0gZWxzZSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eDogbm8gZHJpdmVyIGZvciAlc1xuIiwgZGV2LT5uYW1lKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JaWYgKGluZm8gPT0gTlVMTCkgewotCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHg6IG5vIGRyaXZlciBmb3IgY29uc29sZVxuIik7Ci0JCXJldHVybiAwOwotCX0KLQotCXMzYzI0eHhfc2VyaWFsX2NvbnNvbGUuZGF0YSA9ICZzM2MyNHh4X3VhcnRfZHJ2OwotCXMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMoaW5mbyk7Ci0KLQlyZWdpc3Rlcl9jb25zb2xlKCZzM2MyNHh4X3NlcmlhbF9jb25zb2xlKTsKLQlyZXR1cm4gMDsKLX0KLQotY29uc29sZV9pbml0Y2FsbChzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZSk7Ci0KLSNlbmRpZiAvKiBDT05GSUdfU0VSSUFMX1MzQzI0MTBfQ09OU09MRSAqLwotCi1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiBNT0RVTEVfQVVUSE9SKCJCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+Iik7Ci1NT0RVTEVfREVTQ1JJUFRJT04oIlNhbXN1bmcgUzNDMjQxMC9TM0MyNDQwL1MzQzI0MTIgU2VyaWFsIHBvcnQgZHJpdmVyIik7Ci1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnMzYzI0MDAtdWFydCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJTYW1zdW5nIFMzQzI0MTAgU29DIFNlcmlhbCBwb3J0IGRyaXZlciIpOwogTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDEwLXVhcnQiKTsKLU1PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQxMi11YXJ0Iik7Ci1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnMzYzI0NDAtdWFydCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvczNjMjQxMi5jIGIvZHJpdmVycy9zZXJpYWwvczNjMjQxMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMGMyMjAKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDEyLmMKQEAgLTAsMCArMSwxNTEgQEAKKy8qIGxpbnV4L2RyaXZlcnMvc2VyaWFsL3MzYzI0MTIuYworICoKKyAqIERyaXZlciBmb3IgU2Ftc3VuZyBTM0MyNDEyIGFuZCBTM0MyNDEzIFNvQyBvbmJvYXJkIFVBUlRzLgorICoKKyAqIEJlbiBEb29rcywgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorCisjaW5jbHVkZSA8YXNtL2lycS5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorCisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+CisKKyNpbmNsdWRlICJzYW1zdW5nLmgiCisKK3N0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKworCXVjb24gJj0gflMzQzI0MTJfVUNPTl9DTEtNQVNLOworCisJaWYgKHN0cmNtcChjbGstPm5hbWUsICJ1Y2xrIikgPT0gMCkKKwkJdWNvbiB8PSBTM0MyNDQwX1VDT05fVUNMSzsKKwllbHNlIGlmIChzdHJjbXAoY2xrLT5uYW1lLCAicGNsayIpID09IDApCisJCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1BDTEs7CisJZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInVzeXNjbGsiKSA9PSAwKQorCQl1Y29uIHw9IFMzQzI0MTJfVUNPTl9VU1lTQ0xLOworCWVsc2UgeworCQlwcmludGsoS0VSTl9FUlIgInVua25vd24gY2xvY2sgc291cmNlICVzXG4iLCBjbGstPm5hbWUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBzM2MyNDEyX3NlcmlhbF9nZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKKwkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwlzd2l0Y2ggKHVjb24gJiBTM0MyNDEyX1VDT05fQ0xLTUFTSykgeworCWNhc2UgUzNDMjQxMl9VQ09OX1VDTEs6CisJCWNsay0+ZGl2aXNvciA9IDE7CisJCWNsay0+bmFtZSA9ICJ1Y2xrIjsKKwkJYnJlYWs7CisKKwljYXNlIFMzQzI0MTJfVUNPTl9QQ0xLOgorCWNhc2UgUzNDMjQxMl9VQ09OX1BDTEsyOgorCQljbGstPmRpdmlzb3IgPSAxOworCQljbGstPm5hbWUgPSAicGNsayI7CisJCWJyZWFrOworCisJY2FzZSBTM0MyNDEyX1VDT05fVVNZU0NMSzoKKwkJY2xrLT5kaXZpc29yID0gMTsKKwkJY2xrLT5uYW1lID0gInVzeXNjbGsiOworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzM2MyNDEyX3NlcmlhbF9yZXNldHBvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKKwkJCQkgICAgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnKQoreworCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKworCWRiZygiJXM6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAorCSAgICBfX2Z1bmNfXywgcG9ydCwgcG9ydC0+bWFwYmFzZSwgY2ZnKTsKKworCS8qIGVuc3VyZSB3ZSBkb24ndCBjaGFuZ2UgdGhlIGNsb2NrIHNldHRpbmdzLi4uICovCisKKwl1Y29uICY9IFMzQzI0MTJfVUNPTl9DTEtNQVNLOworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICB1Y29uIHwgY2ZnLT51Y29uKTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOworCisJLyogcmVzZXQgYm90aCBmaWZvcyAqLworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDEyX3VhcnRfaW5mID0geworCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0MTIgVUFSVCIsCisJLnR5cGUJCT0gUE9SVF9TM0MyNDEyLAorCS5maWZvc2l6ZQk9IDY0LAorCS5yeF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1JYTUFTSywKKwkucnhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfUlhTSElGVCwKKwkucnhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9SWEZVTEwsCisJLnR4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfVFhGVUxMLAorCS50eF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1RYTUFTSywKKwkudHhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfVFhTSElGVCwKKwkuZ2V0X2Nsa3NyYwk9IHMzYzI0MTJfc2VyaWFsX2dldHNvdXJjZSwKKwkuc2V0X2Nsa3NyYwk9IHMzYzI0MTJfc2VyaWFsX3NldHNvdXJjZSwKKwkucmVzZXRfcG9ydAk9IHMzYzI0MTJfc2VyaWFsX3Jlc2V0cG9ydCwKK307CisKKy8qIGRldmljZSBtYW5hZ2VtZW50ICovCisKK3N0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQoreworCWRiZygiczNjMjQ0MF9zZXJpYWxfcHJvYmU6IGRldj0lcFxuIiwgZGV2KTsKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQxMl91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0MTJfc2VyaWFsX2RydiA9IHsKKwkucHJvYmUJCT0gczNjMjQxMl9zZXJpYWxfcHJvYmUsCisJLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0MTItdWFydCIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0sCit9OworCitzM2MyNHh4X2NvbnNvbGVfaW5pdCgmczNjMjQxMl9zZXJpYWxfZHJ2LCAmczNjMjQxMl91YXJ0X2luZik7CisKK3N0YXRpYyBpbmxpbmUgaW50IHMzYzI0MTJfc2VyaWFsX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQxMl9zZXJpYWxfZHJ2LCAmczNjMjQxMl91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDEyX3NlcmlhbF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0MTJfc2VyaWFsX2Rydik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0MTJfc2VyaWFsX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjQxMl9zZXJpYWxfZXhpdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTM0MyNDEyLFMzQzI0MTMgU29DIFNlcmlhbCBwb3J0IGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPiIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOworTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDEyLXVhcnQiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0NDAuYyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0NDAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGY5NTRiCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvczNjMjQ0MC5jCkBAIC0wLDAgKzEsMTgxIEBACisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zM2MyNDQwLmMKKyAqCisgKiBEcml2ZXIgZm9yIFNhbXN1bmcgUzNDMjQ0MCBhbmQgUzNDMjQ0MiBTb0Mgb25ib2FyZCBVQVJUcy4KKyAqCisgKiBCZW4gRG9va3MsIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKworI2luY2x1ZGUgPGFzbS9pcnEuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCisjaW5jbHVkZSAic2Ftc3VuZy5oIgorCisKK3N0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKworCS8qIHRvZG8gLSBwcm9wZXIgZmNsazw+bm9uZmNsayBzd2l0Y2guICovCisKKwl1Y29uICY9IH5TM0MyNDQwX1VDT05fQ0xLTUFTSzsKKworCWlmIChzdHJjbXAoY2xrLT5uYW1lLCAidWNsayIpID09IDApCisJCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1VDTEs7CisJZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInBjbGsiKSA9PSAwKQorCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9QQ0xLOworCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJmY2xrIikgPT0gMCkKKwkJdWNvbiB8PSBTM0MyNDQwX1VDT05fRkNMSzsKKwllbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ1bmtub3duIGNsb2NrIHNvdXJjZSAlc1xuIiwgY2xrLT5uYW1lKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCXVuc2lnbmVkIGxvbmcgdWNvbjAsIHVjb24xLCB1Y29uMjsKKworCXN3aXRjaCAodWNvbiAmIFMzQzI0NDBfVUNPTl9DTEtNQVNLKSB7CisJY2FzZSBTM0MyNDQwX1VDT05fVUNMSzoKKwkJY2xrLT5kaXZpc29yID0gMTsKKwkJY2xrLT5uYW1lID0gInVjbGsiOworCQlicmVhazsKKworCWNhc2UgUzNDMjQ0MF9VQ09OX1BDTEs6CisJY2FzZSBTM0MyNDQwX1VDT05fUENMSzI6CisJCWNsay0+ZGl2aXNvciA9IDE7CisJCWNsay0+bmFtZSA9ICJwY2xrIjsKKwkJYnJlYWs7CisKKwljYXNlIFMzQzI0NDBfVUNPTl9GQ0xLOgorCQkvKiB0aGUgZnVuIG9mIGNhbGN1bGF0aW5nIHRoZSB1YXJ0IGRpdmlzb3JzIG9uCisJCSAqIHRoZSBzM2MyNDQwICovCisKKwkJdWNvbjAgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQwICsgUzNDMjQxMF9VQ09OKTsKKwkJdWNvbjEgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQxICsgUzNDMjQxMF9VQ09OKTsKKwkJdWNvbjIgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQyICsgUzNDMjQxMF9VQ09OKTsKKworCQlwcmludGsoInVjb25zOiAlMDhseCwgJTA4bHgsICUwOGx4XG4iLCB1Y29uMCwgdWNvbjEsIHVjb24yKTsKKworCQl1Y29uMCAmPSBTM0MyNDQwX1VDT04wX0RJVk1BU0s7CisJCXVjb24xICY9IFMzQzI0NDBfVUNPTjFfRElWTUFTSzsKKwkJdWNvbjIgJj0gUzNDMjQ0MF9VQ09OMl9ESVZNQVNLOworCisJCWlmICh1Y29uMCAhPSAwKSB7CisJCQljbGstPmRpdmlzb3IgPSB1Y29uMCA+PiBTM0MyNDQwX1VDT05fRElWU0hJRlQ7CisJCQljbGstPmRpdmlzb3IgKz0gNjsKKwkJfSBlbHNlIGlmICh1Y29uMSAhPSAwKSB7CisJCQljbGstPmRpdmlzb3IgPSB1Y29uMSA+PiBTM0MyNDQwX1VDT05fRElWU0hJRlQ7CisJCQljbGstPmRpdmlzb3IgKz0gMjE7CisJCX0gZWxzZSBpZiAodWNvbjIgIT0gMCkgeworCQkJY2xrLT5kaXZpc29yID0gdWNvbjIgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOworCQkJY2xrLT5kaXZpc29yICs9IDM2OworCQl9IGVsc2UgeworCQkJLyogbWFudWFsIGNhbGltcyA0NCwgc2VlbXMgdG8gYmUgOSAqLworCQkJY2xrLT5kaXZpc29yID0gOTsKKwkJfQorCisJCWNsay0+bmFtZSA9ICJmY2xrIjsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwlkYmcoInMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydDogcG9ydD0lcCAoJTA4bHgpLCBjZmc9JXBcbiIsCisJICAgIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7CisKKwkvKiBlbnN1cmUgd2UgZG9uJ3QgY2hhbmdlIHRoZSBjbG9jayBzZXR0aW5ncy4uLiAqLworCisJdWNvbiAmPSAoUzNDMjQ0MF9VQ09OMF9ESVZNQVNLIHwgKDM8PDEwKSk7CisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgIHVjb24gfCBjZmctPnVjb24pOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiwgY2ZnLT51bGNvbik7CisKKwkvKiByZXNldCBib3RoIGZpZm9zICovCisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24gfCBTM0MyNDEwX1VGQ09OX1JFU0VUQk9USCk7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHMzYzI0NDBfdWFydF9pbmYgPSB7CisJLm5hbWUJCT0gIlNhbXN1bmcgUzNDMjQ0MCBVQVJUIiwKKwkudHlwZQkJPSBQT1JUX1MzQzI0NDAsCisJLmZpZm9zaXplCT0gNjQsCisJLnJ4X2ZpZm9tYXNrCT0gUzNDMjQ0MF9VRlNUQVRfUlhNQVNLLAorCS5yeF9maWZvc2hpZnQJPSBTM0MyNDQwX1VGU1RBVF9SWFNISUZULAorCS5yeF9maWZvZnVsbAk9IFMzQzI0NDBfVUZTVEFUX1JYRlVMTCwKKwkudHhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9UWEZVTEwsCisJLnR4X2ZpZm9tYXNrCT0gUzNDMjQ0MF9VRlNUQVRfVFhNQVNLLAorCS50eF9maWZvc2hpZnQJPSBTM0MyNDQwX1VGU1RBVF9UWFNISUZULAorCS5nZXRfY2xrc3JjCT0gczNjMjQ0MF9zZXJpYWxfZ2V0c291cmNlLAorCS5zZXRfY2xrc3JjCT0gczNjMjQ0MF9zZXJpYWxfc2V0c291cmNlLAorCS5yZXNldF9wb3J0CT0gczNjMjQ0MF9zZXJpYWxfcmVzZXRwb3J0LAorfTsKKworLyogZGV2aWNlIG1hbmFnZW1lbnQgKi8KKworc3RhdGljIGludCBzM2MyNDQwX3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCit7CisJZGJnKCJzM2MyNDQwX3NlcmlhbF9wcm9iZTogZGV2PSVwXG4iLCBkZXYpOworCXJldHVybiBzM2MyNHh4X3NlcmlhbF9wcm9iZShkZXYsICZzM2MyNDQwX3VhcnRfaW5mKTsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjMjQ0MF9zZXJpYWxfZHJ2ID0geworCS5wcm9iZQkJPSBzM2MyNDQwX3NlcmlhbF9wcm9iZSwKKwkucmVtb3ZlCQk9IHMzYzI0eHhfc2VyaWFsX3JlbW92ZSwKKwkuZHJpdmVyCQk9IHsKKwkJLm5hbWUJPSAiczNjMjQ0MC11YXJ0IiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfSwKK307CisKK3MzYzI0eHhfY29uc29sZV9pbml0KCZzM2MyNDQwX3NlcmlhbF9kcnYsICZzM2MyNDQwX3VhcnRfaW5mKTsKKworc3RhdGljIGludCBfX2luaXQgczNjMjQ0MF9zZXJpYWxfaW5pdCh2b2lkKQoreworCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0KCZzM2MyNDQwX3NlcmlhbF9kcnYsICZzM2MyNDQwX3VhcnRfaW5mKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHMzYzI0NDBfc2VyaWFsX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmczNjMjQ0MF9zZXJpYWxfZHJ2KTsKK30KKworbW9kdWxlX2luaXQoczNjMjQ0MF9zZXJpYWxfaW5pdCk7Cittb2R1bGVfZXhpdChzM2MyNDQwX3NlcmlhbF9leGl0KTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJTYW1zdW5nIFMzQzI0NDAsUzNDMjQ0MiBTb0MgU2VyaWFsIHBvcnQgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMaSB2MiIpOworTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDQwLXVhcnQiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuYyBiL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTNlY2FhCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvc2Ftc3VuZy5jCkBAIC0wLDAgKzEsMTMxNyBAQAorLyogbGludXgvZHJpdmVycy9zZXJpYWwvc2Ftc3VpbmcuYworICoKKyAqIERyaXZlciBjb3JlIGZvciBTYW1zdW5nIFNvQyBvbmJvYXJkIFVBUlRzLgorICoKKyAqIEJlbiBEb29rcywgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKy8qIEhvdGUgb24gMjQxMCBlcnJvciBoYW5kbGluZworICoKKyAqIFRoZSBzM2MyNDEwIG1hbnVhbCBoYXMgYSBsb3ZlL2hhdGUgYWZmYWlyIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZQorICogVUVSU1RBVCByZWdpc3RlciBpbiB0aGUgVUFSVCBibG9ja3MsIGFuZCBrZWVwcyBtYXJraW5nIHNvbWUgb2YgdGhlCisgKiBlcnJvciBiaXRzIGFzIHJlc2VydmVkLiBIYXZpbmcgY2hlY2tlZCB3aXRoIHRoZSBzM2MyNDEweDAxLAorICogaXQgY29wZXMgd2l0aCBCUkVBS3MgcHJvcGVybHksIHNvIEkgYW0gaGFwcHkgdG8gaWdub3JlIHRoZSBSRVNFUlZFRAorICogZmVhdHVyZSBmcm9tIHRoZSBsYXR0ZXIgdmVyc2lvbnMgb2YgdGhlIG1hbnVhbC4KKyAqCisgKiBJZiBpdCBiZWNvbWVzIGFwYXJyZW50IHRoYXQgbGF0dGVyIHZlcnNpb25zIG9mIHRoZSAyNDEwIHJlbW92ZSB0aGVzZQorICogYml0cywgdGhlbiBhY3Rpb24gd2lsbCBoYXZlIHRvIGJlIHRha2VuIHRvIGRpZmZlcmVudGlhdGUgdGhlIHZlcnNpb25zCisgKiBhbmQgY2hhbmdlIHRoZSBwb2xpY3kgb24gQlJFQUsKKyAqCisgKiBCSkQsIDA0LU5vdi0yMDA0CisqLworCisjaWYgZGVmaW5lZChDT05GSUdfU0VSSUFMX1NBTVNVTkdfQ09OU09MRSkgJiYgZGVmaW5lZChDT05GSUdfTUFHSUNfU1lTUlEpCisjZGVmaW5lIFNVUFBPUlRfU1lTUlEKKyNlbmRpZgorCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+CisjaW5jbHVkZSA8bGludXgvdHR5Lmg+CisjaW5jbHVkZSA8bGludXgvdHR5X2ZsaXAuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCisjaW5jbHVkZSAic2Ftc3VuZy5oIgorCisvKiBVQVJUIG5hbWUgYW5kIGRldmljZSBkZWZpbml0aW9ucyAqLworCisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX05BTUUJInR0eVNBQyIKKyNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfTUFKT1IJMjA0CisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX01JTk9SCTY0CisKKy8qIHdlIGNhbiBzdXBwb3J0IDMgdWFydHMsIGJ1dCBub3QgYWx3YXlzIHVzZSB0aGVtICovCisKKyNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0MDAKKyNkZWZpbmUgTlJfUE9SVFMgKDIpCisjZWxzZQorI2RlZmluZSBOUl9QT1JUUyAoMykKKyNlbmRpZgorCisvKiBwb3J0IGlycSBudW1iZXJzICovCisKKyNkZWZpbmUgVFhfSVJRKHBvcnQpICgocG9ydCktPmlycSArIDEpCisjZGVmaW5lIFJYX0lSUShwb3J0KSAoKHBvcnQpLT5pcnEpCisKKy8qIG1hY3JvcyB0byBjaGFuZ2Ugb25lIHRoaW5nIHRvIGFub3RoZXIgKi8KKworI2RlZmluZSB0eF9lbmFibGVkKHBvcnQpICgocG9ydCktPnVudXNlZFswXSkKKyNkZWZpbmUgcnhfZW5hYmxlZChwb3J0KSAoKHBvcnQpLT51bnVzZWRbMV0pCisKKy8qIGZsYWcgdG8gaWdub3JlIGFsbCBjaGFyYWN0ZXJzIGNvbW1pbmcgaW4gKi8KKyNkZWZpbmUgUlhTVEFUX0RVTU1ZX1JFQUQgKDB4MTAwMDAwMDApCisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICp0b19vdXJwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZihwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQsIHBvcnQpOworfQorCisvKiB0cmFuc2xhdGUgYSBwb3J0IHRvIHRoZSBkZXZpY2UgbmFtZSAqLworCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJcmV0dXJuIHRvX3BsYXRmb3JtX2RldmljZShwb3J0LT5kZXYpLT5uYW1lOworfQorCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJcmV0dXJuIChyZF9yZWdsKHBvcnQsIFMzQzI0MTBfVVRSU1RBVCkgJiBTM0MyNDEwX1VUUlNUQVRfVFhFKTsKK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcnhfZW5hYmxlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBpbnQgdWNvbiwgdWZjb247CisJaW50IGNvdW50ID0gMTAwMDA7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworCisJd2hpbGUgKC0tY291bnQgJiYgIXMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHBvcnQpKQorCQl1ZGVsYXkoMTAwKTsKKworCXVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKKwl1ZmNvbiB8PSBTM0MyNDEwX1VGQ09OX1JFU0VUUlg7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCB1ZmNvbik7CisKKwl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCXVjb24gfD0gUzNDMjQxMF9VQ09OX1JYSVJRTU9ERTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7CisKKwlyeF9lbmFibGVkKHBvcnQpID0gMTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3J4X2Rpc2FibGUoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGludCB1Y29uOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKKworCXVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisJdWNvbiAmPSB+UzNDMjQxMF9VQ09OX1JYSVJRTU9ERTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7CisKKwlyeF9lbmFibGVkKHBvcnQpID0gMDsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0b3BfdHgoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlpZiAodHhfZW5hYmxlZChwb3J0KSkgeworCQlkaXNhYmxlX2lycShUWF9JUlEocG9ydCkpOworCQl0eF9lbmFibGVkKHBvcnQpID0gMDsKKwkJaWYgKHBvcnQtPmZsYWdzICYgVVBGX0NPTlNfRkxPVykKKwkJCXMzYzI0eHhfc2VyaWFsX3J4X2VuYWJsZShwb3J0KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0YXJ0X3R4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJaWYgKCF0eF9lbmFibGVkKHBvcnQpKSB7CisJCWlmIChwb3J0LT5mbGFncyAmIFVQRl9DT05TX0ZMT1cpCisJCQlzM2MyNHh4X3NlcmlhbF9yeF9kaXNhYmxlKHBvcnQpOworCisJCWVuYWJsZV9pcnEoVFhfSVJRKHBvcnQpKTsKKwkJdHhfZW5hYmxlZChwb3J0KSA9IDE7CisJfQorfQorCisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0b3Bfcngoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlpZiAocnhfZW5hYmxlZChwb3J0KSkgeworCQlkYmcoInMzYzI0eHhfc2VyaWFsX3N0b3Bfcng6IHBvcnQ9JXBcbiIsIHBvcnQpOworCQlkaXNhYmxlX2lycShSWF9JUlEocG9ydCkpOworCQlyeF9lbmFibGVkKHBvcnQpID0gMDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX2VuYWJsZV9tcyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqczNjMjR4eF9wb3J0X3RvX2luZm8oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlyZXR1cm4gdG9fb3VycG9ydChwb3J0KS0+aW5mbzsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpzM2MyNHh4X3BvcnRfdG9fY2ZnKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJaWYgKHBvcnQtPmRldiA9PSBOVUxMKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiAoc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKXBvcnQtPmRldi0+cGxhdGZvcm1fZGF0YTsKK30KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yeF9maWZvY250KHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCwKKwkJCQkgICAgIHVuc2lnbmVkIGxvbmcgdWZzdGF0KQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IG91cnBvcnQtPmluZm87CisKKwlpZiAodWZzdGF0ICYgaW5mby0+cnhfZmlmb2Z1bGwpCisJCXJldHVybiBpbmZvLT5maWZvc2l6ZTsKKworCXJldHVybiAodWZzdGF0ICYgaW5mby0+cnhfZmlmb21hc2spID4+IGluZm8tPnJ4X2ZpZm9zaGlmdDsKK30KKworCisvKiA/IC0gd2hlcmUgaGFzIHBhcml0eSBnb25lPz8gKi8KKyNkZWZpbmUgUzNDMjQxMF9VRVJTVEFUX1BBUklUWSAoMHgxMDAwKQorCitzdGF0aWMgaXJxcmV0dXJuX3QKK3MzYzI0eHhfc2VyaWFsX3J4X2NoYXJzKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSBkZXZfaWQ7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZvdXJwb3J0LT5wb3J0OworCXN0cnVjdCB0dHlfc3RydWN0ICp0dHkgPSBwb3J0LT5pbmZvLT50dHk7CisJdW5zaWduZWQgaW50IHVmY29uLCBjaCwgZmxhZywgdWZzdGF0LCB1ZXJzdGF0OworCWludCBtYXhfY291bnQgPSA2NDsKKworCXdoaWxlIChtYXhfY291bnQtLSA+IDApIHsKKwkJdWZjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04pOworCQl1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKKworCQlpZiAoczNjMjR4eF9zZXJpYWxfcnhfZmlmb2NudChvdXJwb3J0LCB1ZnN0YXQpID09IDApCisJCQlicmVhazsKKworCQl1ZXJzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VFUlNUQVQpOworCQljaCA9IHJkX3JlZ2IocG9ydCwgUzNDMjQxMF9VUlhIKTsKKworCQlpZiAocG9ydC0+ZmxhZ3MgJiBVUEZfQ09OU19GTE9XKSB7CisJCQlpbnQgdHhlID0gczNjMjR4eF9zZXJpYWxfdHhlbXB0eV9ub2ZpZm8ocG9ydCk7CisKKwkJCWlmIChyeF9lbmFibGVkKHBvcnQpKSB7CisJCQkJaWYgKCF0eGUpIHsKKwkJCQkJcnhfZW5hYmxlZChwb3J0KSA9IDA7CisJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCX0gZWxzZSB7CisJCQkJaWYgKHR4ZSkgeworCQkJCQl1ZmNvbiB8PSBTM0MyNDEwX1VGQ09OX1JFU0VUUlg7CisJCQkJCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgdWZjb24pOworCQkJCQlyeF9lbmFibGVkKHBvcnQpID0gMTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCQkJCWNvbnRpbnVlOworCQkJfQorCQl9CisKKwkJLyogaW5zZXJ0IHRoZSBjaGFyYWN0ZXIgaW50byB0aGUgYnVmZmVyICovCisKKwkJZmxhZyA9IFRUWV9OT1JNQUw7CisJCXBvcnQtPmljb3VudC5yeCsrOworCisJCWlmICh1bmxpa2VseSh1ZXJzdGF0ICYgUzNDMjQxMF9VRVJTVEFUX0FOWSkpIHsKKwkJCWRiZygicnhlcnI6IHBvcnQgY2g9MHglMDJ4LCByeHM9MHglMDh4XG4iLAorCQkJICAgIGNoLCB1ZXJzdGF0KTsKKworCQkJLyogY2hlY2sgZm9yIGJyZWFrICovCisJCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9CUkVBSykgeworCQkJCWRiZygiYnJlYWshXG4iKTsKKwkJCQlwb3J0LT5pY291bnQuYnJrKys7CisJCQkJaWYgKHVhcnRfaGFuZGxlX2JyZWFrKHBvcnQpKQorCQkJCSAgICBnb3RvIGlnbm9yZV9jaGFyOworCQkJfQorCisJCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9GUkFNRSkKKwkJCQlwb3J0LT5pY291bnQuZnJhbWUrKzsKKwkJCWlmICh1ZXJzdGF0ICYgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4pCisJCQkJcG9ydC0+aWNvdW50Lm92ZXJydW4rKzsKKworCQkJdWVyc3RhdCAmPSBwb3J0LT5yZWFkX3N0YXR1c19tYXNrOworCisJCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9CUkVBSykKKwkJCQlmbGFnID0gVFRZX0JSRUFLOworCQkJZWxzZSBpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9QQVJJVFkpCisJCQkJZmxhZyA9IFRUWV9QQVJJVFk7CisJCQllbHNlIGlmICh1ZXJzdGF0ICYgKFMzQzI0MTBfVUVSU1RBVF9GUkFNRSB8CisJCQkJCSAgICBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTikpCisJCQkJZmxhZyA9IFRUWV9GUkFNRTsKKwkJfQorCisJCWlmICh1YXJ0X2hhbmRsZV9zeXNycV9jaGFyKHBvcnQsIGNoKSkKKwkJCWdvdG8gaWdub3JlX2NoYXI7CisKKwkJdWFydF9pbnNlcnRfY2hhcihwb3J0LCB1ZXJzdGF0LCBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTiwKKwkJCQkgY2gsIGZsYWcpOworCisgaWdub3JlX2NoYXI6CisJCWNvbnRpbnVlOworCX0KKwl0dHlfZmxpcF9idWZmZXJfcHVzaCh0dHkpOworCisgb3V0OgorCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGlycXJldHVybl90IHMzYzI0eHhfc2VyaWFsX3R4X2NoYXJzKGludCBpcnEsIHZvaWQgKmlkKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IGlkOworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSAmb3VycG9ydC0+cG9ydDsKKwlzdHJ1Y3QgY2lyY19idWYgKnhtaXQgPSAmcG9ydC0+aW5mby0+eG1pdDsKKwlpbnQgY291bnQgPSAyNTY7CisKKwlpZiAocG9ydC0+eF9jaGFyKSB7CisJCXdyX3JlZ2IocG9ydCwgUzNDMjQxMF9VVFhILCBwb3J0LT54X2NoYXIpOworCQlwb3J0LT5pY291bnQudHgrKzsKKwkJcG9ydC0+eF9jaGFyID0gMDsKKwkJZ290byBvdXQ7CisJfQorCisJLyogaWYgdGhlcmUgaXNudCBhbnl0aGluZyBtb3JlIHRvIHRyYW5zbWl0LCBvciB0aGUgdWFydCBpcyBub3cKKwkgKiBzdG9wcGVkLCBkaXNhYmxlIHRoZSB1YXJ0IGFuZCBleGl0CisJKi8KKworCWlmICh1YXJ0X2NpcmNfZW1wdHkoeG1pdCkgfHwgdWFydF90eF9zdG9wcGVkKHBvcnQpKSB7CisJCXMzYzI0eHhfc2VyaWFsX3N0b3BfdHgocG9ydCk7CisJCWdvdG8gb3V0OworCX0KKworCS8qIHRyeSBhbmQgZHJhaW4gdGhlIGJ1ZmZlci4uLiAqLworCisJd2hpbGUgKCF1YXJ0X2NpcmNfZW1wdHkoeG1pdCkgJiYgY291bnQtLSA+IDApIHsKKwkJaWYgKHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRlNUQVQpICYgb3VycG9ydC0+aW5mby0+dHhfZmlmb2Z1bGwpCisJCQlicmVhazsKKworCQl3cl9yZWdiKHBvcnQsIFMzQzI0MTBfVVRYSCwgeG1pdC0+YnVmW3htaXQtPnRhaWxdKTsKKwkJeG1pdC0+dGFpbCA9ICh4bWl0LT50YWlsICsgMSkgJiAoVUFSVF9YTUlUX1NJWkUgLSAxKTsKKwkJcG9ydC0+aWNvdW50LnR4Kys7CisJfQorCisJaWYgKHVhcnRfY2lyY19jaGFyc19wZW5kaW5nKHhtaXQpIDwgV0FLRVVQX0NIQVJTKQorCQl1YXJ0X3dyaXRlX3dha2V1cChwb3J0KTsKKworCWlmICh1YXJ0X2NpcmNfZW1wdHkoeG1pdCkpCisJCXMzYzI0eHhfc2VyaWFsX3N0b3BfdHgocG9ydCk7CisKKyBvdXQ6CisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHMzYzI0eHhfc2VyaWFsX3R4X2VtcHR5KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7CisJdW5zaWduZWQgbG9uZyB1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKKwl1bnNpZ25lZCBsb25nIHVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKKworCWlmICh1ZmNvbiAmIFMzQzI0MTBfVUZDT05fRklGT01PREUpIHsKKwkJaWYgKCh1ZnN0YXQgJiBpbmZvLT50eF9maWZvbWFzaykgIT0gMCB8fAorCQkgICAgKHVmc3RhdCAmIGluZm8tPnR4X2ZpZm9mdWxsKSkKKwkJCXJldHVybiAwOworCisJCXJldHVybiAxOworCX0KKworCXJldHVybiBzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhwb3J0KTsKK30KKworLyogbm8gbW9kZW0gY29udHJvbCBsaW5lcyAqLworc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF9nZXRfbWN0cmwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwl1bnNpZ25lZCBpbnQgdW1zdGF0ID0gcmRfcmVnYihwb3J0LCBTM0MyNDEwX1VNU1RBVCk7CisKKwlpZiAodW1zdGF0ICYgUzNDMjQxMF9VTVNUQVRfQ1RTKQorCQlyZXR1cm4gVElPQ01fQ0FSIHwgVElPQ01fRFNSIHwgVElPQ01fQ1RTOworCWVsc2UKKwkJcmV0dXJuIFRJT0NNX0NBUiB8IFRJT0NNX0RTUjsKK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2V0X21jdHJsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCBtY3RybCkKK3sKKwkvKiB0b2RvIC0gcG9zc2libHkgcmVtb3ZlIEFGQyBhbmQgZG8gbWFudWFsIENUUyAqLworfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9icmVha19jdGwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGJyZWFrX3N0YXRlKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgaW50IHVjb247CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworCisJdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKworCWlmIChicmVha19zdGF0ZSkKKwkJdWNvbiB8PSBTM0MyNDEwX1VDT05fU0JSRUFLOworCWVsc2UKKwkJdWNvbiAmPSB+UzNDMjQxMF9VQ09OX1NCUkVBSzsKKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCB1Y29uKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2h1dGRvd24oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOworCisJaWYgKG91cnBvcnQtPnR4X2NsYWltZWQpIHsKKwkJZnJlZV9pcnEoVFhfSVJRKHBvcnQpLCBvdXJwb3J0KTsKKwkJdHhfZW5hYmxlZChwb3J0KSA9IDA7CisJCW91cnBvcnQtPnR4X2NsYWltZWQgPSAwOworCX0KKworCWlmIChvdXJwb3J0LT5yeF9jbGFpbWVkKSB7CisJCWZyZWVfaXJxKFJYX0lSUShwb3J0KSwgb3VycG9ydCk7CisJCW91cnBvcnQtPnJ4X2NsYWltZWQgPSAwOworCQlyeF9lbmFibGVkKHBvcnQpID0gMDsKKwl9Cit9CisKKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9zdGFydHVwKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKwlpbnQgcmV0OworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9zdGFydHVwOiBwb3J0PSVwICglMDhseCwlcClcbiIsCisJICAgIHBvcnQtPm1hcGJhc2UsIHBvcnQtPm1lbWJhc2UpOworCisJcnhfZW5hYmxlZChwb3J0KSA9IDE7CisKKwlyZXQgPSByZXF1ZXN0X2lycShSWF9JUlEocG9ydCksCisJCQkgIHMzYzI0eHhfc2VyaWFsX3J4X2NoYXJzLCAwLAorCQkJICBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KSwgb3VycG9ydCk7CisKKwlpZiAocmV0ICE9IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJjYW5ub3QgZ2V0IGlycSAlZFxuIiwgUlhfSVJRKHBvcnQpKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlvdXJwb3J0LT5yeF9jbGFpbWVkID0gMTsKKworCWRiZygicmVxdWVzdGluZyB0eCBpcnEuLi5cbiIpOworCisJdHhfZW5hYmxlZChwb3J0KSA9IDE7CisKKwlyZXQgPSByZXF1ZXN0X2lycShUWF9JUlEocG9ydCksCisJCQkgIHMzYzI0eHhfc2VyaWFsX3R4X2NoYXJzLCAwLAorCQkJICBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KSwgb3VycG9ydCk7CisKKwlpZiAocmV0KSB7CisJCXByaW50ayhLRVJOX0VSUiAiY2Fubm90IGdldCBpcnEgJWRcbiIsIFRYX0lSUShwb3J0KSk7CisJCWdvdG8gZXJyOworCX0KKworCW91cnBvcnQtPnR4X2NsYWltZWQgPSAxOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9zdGFydHVwIG9rXG4iKTsKKworCS8qIHRoZSBwb3J0IHJlc2V0IGNvZGUgc2hvdWxkIGhhdmUgZG9uZSB0aGUgY29ycmVjdAorCSAqIHJlZ2lzdGVyIHNldHVwIGZvciB0aGUgcG9ydCBjb250cm9scyAqLworCisJcmV0dXJuIHJldDsKKworIGVycjoKKwlzM2MyNHh4X3NlcmlhbF9zaHV0ZG93bihwb3J0KTsKKwlyZXR1cm4gcmV0OworfQorCisvKiBwb3dlciBwb3dlciBtYW5hZ2VtZW50IGNvbnRyb2wgKi8KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcG0oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IGxldmVsLAorCQkJICAgICAgdW5zaWduZWQgaW50IG9sZCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOworCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgMzoKKwkJaWYgKCFJU19FUlIob3VycG9ydC0+YmF1ZGNsaykgJiYgb3VycG9ydC0+YmF1ZGNsayAhPSBOVUxMKQorCQkJY2xrX2Rpc2FibGUob3VycG9ydC0+YmF1ZGNsayk7CisKKwkJY2xrX2Rpc2FibGUob3VycG9ydC0+Y2xrKTsKKwkJYnJlYWs7CisKKwljYXNlIDA6CisJCWNsa19lbmFibGUob3VycG9ydC0+Y2xrKTsKKworCQlpZiAoIUlTX0VSUihvdXJwb3J0LT5iYXVkY2xrKSAmJiBvdXJwb3J0LT5iYXVkY2xrICE9IE5VTEwpCisJCQljbGtfZW5hYmxlKG91cnBvcnQtPmJhdWRjbGspOworCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eF9zZXJpYWw6IHVua25vd24gcG0gJWRcbiIsIGxldmVsKTsKKwl9Cit9CisKKy8qIGJhdWQgcmF0ZSBjYWxjdWxhdGlvbgorICoKKyAqIFRoZSBVQVJUcyBvbiB0aGUgUzNDMjQxMC9TM0MyNDQwIGNhbiB0YWtlIHRoZWlyIGNsb2NrcyBmcm9tIGEgbnVtYmVyCisgKiBvZiBkaWZmZXJlbnQgc291cmNlcywgaW5jbHVkaW5nIHRoZSBwZXJpcGhlcmFsIGNsb2NrICgicGNsayIpIGFuZCBhbgorICogZXh0ZXJuYWwgY2xvY2sgKCJ1Y2xrIikuIFRoZSBTM0MyNDQwIGFsc28gYWRkcyB0aGUgY29yZSBjbG9jayAoImZjbGsiKQorICogd2l0aCBhIHByb2dyYW1tYWJsZSBleHRyYSBkaXZpc29yLgorICoKKyAqIFRoZSBmb2xsb3dpbmcgY29kZSBnb2VzIHRocm91Z2ggdGhlIGNsb2NrIHNvdXJjZXMsIGFuZCBjYWxjdWxhdGVzIHRoZQorICogYmF1ZCBjbG9ja3MgKGFuZCB0aGUgcmVzdWx0YW50IGFjdHVhbCBiYXVkIHJhdGVzKSBhbmQgdGhlbiB0cmllcyB0bworICogcGljayB0aGUgY2xvc2VzdCBvbmUgYW5kIHNlbGVjdCB0aGF0LgorICoKKyovCisKKworI2RlZmluZSBNQVhfQ0xLUyAoOCkKKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIHRtcF9jbGtzcmMgPSB7CisJLm5hbWUJCT0gInBjbGsiLAorCS5taW5fYmF1ZAk9IDAsCisJLm1heF9iYXVkCT0gMCwKKwkuZGl2aXNvcgk9IDEsCit9OworCitzdGF0aWMgaW5saW5lIGludAorczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCisJcmV0dXJuIChpbmZvLT5nZXRfY2xrc3JjKShwb3J0LCBjKTsKK30KKworc3RhdGljIGlubGluZSBpbnQKK3MzYzI0eHhfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqYykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCXJldHVybiAoaW5mby0+c2V0X2Nsa3NyYykocG9ydCwgYyk7Cit9CisKK3N0cnVjdCBiYXVkX2NhbGMgeworCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjCSpjbGtzcmM7CisJdW5zaWduZWQgaW50CQkJIGNhbGM7CisJdW5zaWduZWQgaW50CQkJIHF1b3Q7CisJc3RydWN0IGNsawkJCSpzcmM7Cit9OworCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2NhbGNiYXVkKHN0cnVjdCBiYXVkX2NhbGMgKmNhbGMsCisJCQkJICAgc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKKwkJCQkgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrc3JjLAorCQkJCSAgIHVuc2lnbmVkIGludCBiYXVkKQoreworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKKworCWNhbGMtPnNyYyA9IGNsa19nZXQocG9ydC0+ZGV2LCBjbGtzcmMtPm5hbWUpOworCWlmIChjYWxjLT5zcmMgPT0gTlVMTCB8fCBJU19FUlIoY2FsYy0+c3JjKSkKKwkJcmV0dXJuIDA7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNhbGMtPnNyYyk7CisJcmF0ZSAvPSBjbGtzcmMtPmRpdmlzb3I7CisKKwljYWxjLT5jbGtzcmMgPSBjbGtzcmM7CisJY2FsYy0+cXVvdCA9IChyYXRlICsgKDggKiBiYXVkKSkgLyAoMTYgKiBiYXVkKTsKKwljYWxjLT5jYWxjID0gKHJhdGUgLyAoY2FsYy0+cXVvdCAqIDE2KSk7CisKKwljYWxjLT5xdW90LS07CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgczNjMjR4eF9zZXJpYWxfZ2V0Y2xrKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJCSAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKipjbGtzcmMsCisJCQkJCSAgc3RydWN0IGNsayAqKmNsaywKKwkJCQkJICB1bnNpZ25lZCBpbnQgYmF1ZCkKK3sKKwlzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcgPSBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpOworCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtwOworCXN0cnVjdCBiYXVkX2NhbGMgcmVzW01BWF9DTEtTXTsKKwlzdHJ1Y3QgYmF1ZF9jYWxjICpyZXNwdHIsICpiZXN0LCAqc3B0cjsKKwlpbnQgaTsKKworCWNsa3AgPSBjZmctPmNsb2NrczsKKwliZXN0ID0gTlVMTDsKKworCWlmIChjZmctPmNsb2Nrc19zaXplIDwgMikgeworCQlpZiAoY2ZnLT5jbG9ja3Nfc2l6ZSA9PSAwKQorCQkJY2xrcCA9ICZ0bXBfY2xrc3JjOworCisJCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSdyZSBzb3VyY2luZyBmY2xrLCBhbmQgaWYgc28gd2UncmUKKwkJICogZ29pbmcgdG8gaGF2ZSB0byB1cGRhdGUgdGhlIGNsb2NrIHNvdXJjZQorCQkgKi8KKworCQlpZiAoc3RyY21wKGNsa3AtPm5hbWUsICJmY2xrIikgPT0gMCkgeworCQkJc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgc3JjOworCisJCQlzM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2UocG9ydCwgJnNyYyk7CisKKwkJCS8qIGNoZWNrIHRoYXQgdGhlIHBvcnQgYWxyZWFkeSB1c2luZyBmY2xrLCBhbmQgaWYKKwkJCSAqIG5vdCwgdGhlbiByZS1zZWxlY3QgZmNsaworCQkJICovCisKKwkJCWlmIChzdHJjbXAoc3JjLm5hbWUsIGNsa3AtPm5hbWUpID09IDApIHsKKwkJCQlzM2MyNHh4X3NlcmlhbF9zZXRzb3VyY2UocG9ydCwgY2xrcCk7CisJCQkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZzcmMpOworCQkJfQorCisJCQljbGtwLT5kaXZpc29yID0gc3JjLmRpdmlzb3I7CisJCX0KKworCQlzM2MyNHh4X3NlcmlhbF9jYWxjYmF1ZChyZXMsIHBvcnQsIGNsa3AsIGJhdWQpOworCQliZXN0ID0gcmVzOworCQlyZXNwdHIgPSBiZXN0ICsgMTsKKwl9IGVsc2UgeworCQlyZXNwdHIgPSByZXM7CisKKwkJZm9yIChpID0gMDsgaSA8IGNmZy0+Y2xvY2tzX3NpemU7IGkrKywgY2xrcCsrKSB7CisJCQlpZiAoczNjMjR4eF9zZXJpYWxfY2FsY2JhdWQocmVzcHRyLCBwb3J0LCBjbGtwLCBiYXVkKSkKKwkJCQlyZXNwdHIrKzsKKwkJfQorCX0KKworCS8qIG9rLCB3ZSBub3cgbmVlZCB0byBzZWxlY3QgdGhlIGJlc3QgY2xvY2sgd2UgZm91bmQgKi8KKworCWlmICghYmVzdCkgeworCQl1bnNpZ25lZCBpbnQgZGV2aWF0aW9uID0gKDE8PDMwKXwoKDE8PDMwKS0xKTsKKwkJaW50IGNhbGNfZGV2aWF0aW9uOworCisJCWZvciAoc3B0ciA9IHJlczsgc3B0ciA8IHJlc3B0cjsgc3B0cisrKSB7CisJCQljYWxjX2RldmlhdGlvbiA9IGJhdWQgLSBzcHRyLT5jYWxjOworCQkJaWYgKGNhbGNfZGV2aWF0aW9uIDwgMCkKKwkJCQljYWxjX2RldmlhdGlvbiA9IC1jYWxjX2RldmlhdGlvbjsKKworCQkJaWYgKGNhbGNfZGV2aWF0aW9uIDwgZGV2aWF0aW9uKSB7CisJCQkJYmVzdCA9IHNwdHI7CisJCQkJZGV2aWF0aW9uID0gY2FsY19kZXZpYXRpb247CisJCQl9CisJCX0KKwl9CisKKwkvKiBzdG9yZSByZXN1bHRzIHRvIHBhc3MgYmFjayAqLworCisJKmNsa3NyYyA9IGJlc3QtPmNsa3NyYzsKKwkqY2xrICAgID0gYmVzdC0+c3JjOworCisJcmV0dXJuIGJlc3QtPnF1b3Q7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3NldF90ZXJtaW9zKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgICAgIHN0cnVjdCBrdGVybWlvcyAqdGVybWlvcywKKwkJCQkgICAgICAgc3RydWN0IGt0ZXJtaW9zICpvbGQpCit7CisJc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnID0gczNjMjR4eF9wb3J0X3RvX2NmZyhwb3J0KTsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOworCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtzcmMgPSBOVUxMOworCXN0cnVjdCBjbGsgKmNsayA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBpbnQgYmF1ZCwgcXVvdDsKKwl1bnNpZ25lZCBpbnQgdWxjb247CisJdW5zaWduZWQgaW50IHVtY29uOworCisJLyoKKwkgKiBXZSBkb24ndCBzdXBwb3J0IG1vZGVtIGNvbnRyb2wgbGluZXMuCisJICovCisJdGVybWlvcy0+Y19jZmxhZyAmPSB+KEhVUENMIHwgQ01TUEFSKTsKKwl0ZXJtaW9zLT5jX2NmbGFnIHw9IENMT0NBTDsKKworCS8qCisJICogQXNrIHRoZSBjb3JlIHRvIGNhbGN1bGF0ZSB0aGUgZGl2aXNvciBmb3IgdXMuCisJICovCisKKwliYXVkID0gdWFydF9nZXRfYmF1ZF9yYXRlKHBvcnQsIHRlcm1pb3MsIG9sZCwgMCwgMTE1MjAwKjgpOworCisJaWYgKGJhdWQgPT0gMzg0MDAgJiYgKHBvcnQtPmZsYWdzICYgVVBGX1NQRF9NQVNLKSA9PSBVUEZfU1BEX0NVU1QpCisJCXF1b3QgPSBwb3J0LT5jdXN0b21fZGl2aXNvcjsKKwllbHNlCisJCXF1b3QgPSBzM2MyNHh4X3NlcmlhbF9nZXRjbGsocG9ydCwgJmNsa3NyYywgJmNsaywgYmF1ZCk7CisKKwkvKiBjaGVjayB0byBzZWUgaWYgd2UgbmVlZCAgdG8gY2hhbmdlIGNsb2NrIHNvdXJjZSAqLworCisJaWYgKG91cnBvcnQtPmNsa3NyYyAhPSBjbGtzcmMgfHwgb3VycG9ydC0+YmF1ZGNsayAhPSBjbGspIHsKKwkJczNjMjR4eF9zZXJpYWxfc2V0c291cmNlKHBvcnQsIGNsa3NyYyk7CisKKwkJaWYgKG91cnBvcnQtPmJhdWRjbGsgIT0gTlVMTCAmJiAhSVNfRVJSKG91cnBvcnQtPmJhdWRjbGspKSB7CisJCQljbGtfZGlzYWJsZShvdXJwb3J0LT5iYXVkY2xrKTsKKwkJCW91cnBvcnQtPmJhdWRjbGsgID0gTlVMTDsKKwkJfQorCisJCWNsa19lbmFibGUoY2xrKTsKKworCQlvdXJwb3J0LT5jbGtzcmMgPSBjbGtzcmM7CisJCW91cnBvcnQtPmJhdWRjbGsgPSBjbGs7CisJfQorCisJc3dpdGNoICh0ZXJtaW9zLT5jX2NmbGFnICYgQ1NJWkUpIHsKKwljYXNlIENTNToKKwkJZGJnKCJjb25maWc6IDViaXRzL2NoYXJcbiIpOworCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzU7CisJCWJyZWFrOworCWNhc2UgQ1M2OgorCQlkYmcoImNvbmZpZzogNmJpdHMvY2hhclxuIik7CisJCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTNjsKKwkJYnJlYWs7CisJY2FzZSBDUzc6CisJCWRiZygiY29uZmlnOiA3Yml0cy9jaGFyXG4iKTsKKwkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M3OworCQlicmVhazsKKwljYXNlIENTODoKKwlkZWZhdWx0OgorCQlkYmcoImNvbmZpZzogOGJpdHMvY2hhclxuIik7CisJCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTODsKKwkJYnJlYWs7CisJfQorCisJLyogcHJlc2VydmUgb3JpZ2luYWwgbGNvbiBJUiBzZXR0aW5ncyAqLworCXVsY29uIHw9IChjZmctPnVsY29uICYgUzNDMjQxMF9MQ09OX0lSTSk7CisKKwlpZiAodGVybWlvcy0+Y19jZmxhZyAmIENTVE9QQikKKwkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1NUT1BCOworCisJdW1jb24gPSAodGVybWlvcy0+Y19jZmxhZyAmIENSVFNDVFMpID8gUzNDMjQxMF9VTUNPTV9BRkMgOiAwOworCisJaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBQQVJFTkIpIHsKKwkJaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBQQVJPREQpCisJCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fUE9ERDsKKwkJZWxzZQorCQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1BFVkVOOworCX0gZWxzZSB7CisJCXVsY29uIHw9IFMzQzI0MTBfTENPTl9QTk9ORTsKKwl9CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworCisJZGJnKCJzZXR0aW5nIHVsY29uIHRvICUwOHgsIGJyZGRpdiB0byAlZFxuIiwgdWxjb24sIHF1b3QpOworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCB1bGNvbik7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VCUkRJViwgcXVvdCk7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VNQ09OLCB1bWNvbik7CisKKwlkYmcoInVhcnQ6IHVsY29uID0gMHglMDh4LCB1Y29uID0gMHglMDh4LCB1ZmNvbiA9IDB4JTA4eFxuIiwKKwkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OKSwKKwkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pLAorCSAgICByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04pKTsKKworCS8qCisJICogVXBkYXRlIHRoZSBwZXItcG9ydCB0aW1lb3V0LgorCSAqLworCXVhcnRfdXBkYXRlX3RpbWVvdXQocG9ydCwgdGVybWlvcy0+Y19jZmxhZywgYmF1ZCk7CisKKwkvKgorCSAqIFdoaWNoIGNoYXJhY3RlciBzdGF0dXMgZmxhZ3MgYXJlIHdlIGludGVyZXN0ZWQgaW4/CisJICovCisJcG9ydC0+cmVhZF9zdGF0dXNfbWFzayA9IFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOOworCWlmICh0ZXJtaW9zLT5jX2lmbGFnICYgSU5QQ0spCisJCXBvcnQtPnJlYWRfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX0ZSQU1FIHwgUzNDMjQxMF9VRVJTVEFUX1BBUklUWTsKKworCS8qCisJICogV2hpY2ggY2hhcmFjdGVyIHN0YXR1cyBmbGFncyBzaG91bGQgd2UgaWdub3JlPworCSAqLworCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayA9IDA7CisJaWYgKHRlcm1pb3MtPmNfaWZsYWcgJiBJR05QQVIpCisJCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayB8PSBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTjsKKwlpZiAodGVybWlvcy0+Y19pZmxhZyAmIElHTkJSSyAmJiB0ZXJtaW9zLT5jX2lmbGFnICYgSUdOUEFSKQorCQlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX0ZSQU1FOworCisJLyoKKwkgKiBJZ25vcmUgYWxsIGNoYXJhY3RlcnMgaWYgQ1JFQUQgaXMgbm90IHNldC4KKwkgKi8KKwlpZiAoKHRlcm1pb3MtPmNfY2ZsYWcgJiBDUkVBRCkgPT0gMCkKKwkJcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrIHw9IFJYU1RBVF9EVU1NWV9SRUFEOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqczNjMjR4eF9zZXJpYWxfdHlwZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXN3aXRjaCAocG9ydC0+dHlwZSkgeworCWNhc2UgUE9SVF9TM0MyNDEwOgorCQlyZXR1cm4gIlMzQzI0MTAiOworCWNhc2UgUE9SVF9TM0MyNDQwOgorCQlyZXR1cm4gIlMzQzI0NDAiOworCWNhc2UgUE9SVF9TM0MyNDEyOgorCQlyZXR1cm4gIlMzQzI0MTIiOworCWRlZmF1bHQ6CisJCXJldHVybiBOVUxMOworCX0KK30KKworI2RlZmluZSBNQVBfU0laRSAoMHgxMDApCisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3JlbGVhc2VfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXJlbGVhc2VfbWVtX3JlZ2lvbihwb3J0LT5tYXBiYXNlLCBNQVBfU0laRSk7Cit9CisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJY29uc3QgY2hhciAqbmFtZSA9IHMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHBvcnQpOworCXJldHVybiByZXF1ZXN0X21lbV9yZWdpb24ocG9ydC0+bWFwYmFzZSwgTUFQX1NJWkUsIG5hbWUpID8gMCA6IC1FQlVTWTsKK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfY29uZmlnX3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGZsYWdzKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCisJaWYgKGZsYWdzICYgVUFSVF9DT05GSUdfVFlQRSAmJgorCSAgICBzM2MyNHh4X3NlcmlhbF9yZXF1ZXN0X3BvcnQocG9ydCkgPT0gMCkKKwkJcG9ydC0+dHlwZSA9IGluZm8tPnR5cGU7Cit9CisKKy8qCisgKiB2ZXJpZnkgdGhlIG5ldyBzZXJpYWxfc3RydWN0IChmb3IgVElPQ1NTRVJJQUwpLgorICovCitzdGF0aWMgaW50CitzM2MyNHh4X3NlcmlhbF92ZXJpZnlfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3Qgc2VyaWFsX3N0cnVjdCAqc2VyKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCisJaWYgKHNlci0+dHlwZSAhPSBQT1JUX1VOS05PV04gJiYgc2VyLT50eXBlICE9IGluZm8tPnR5cGUpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIDA7Cit9CisKKworI2lmZGVmIENPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFCisKK3N0YXRpYyBzdHJ1Y3QgY29uc29sZSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlOworCisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUgJnMzYzI0eHhfc2VyaWFsX2NvbnNvbGUKKyNlbHNlCisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUgTlVMTAorI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgdWFydF9vcHMgczNjMjR4eF9zZXJpYWxfb3BzID0geworCS5wbQkJPSBzM2MyNHh4X3NlcmlhbF9wbSwKKwkudHhfZW1wdHkJPSBzM2MyNHh4X3NlcmlhbF90eF9lbXB0eSwKKwkuZ2V0X21jdHJsCT0gczNjMjR4eF9zZXJpYWxfZ2V0X21jdHJsLAorCS5zZXRfbWN0cmwJPSBzM2MyNHh4X3NlcmlhbF9zZXRfbWN0cmwsCisJLnN0b3BfdHgJPSBzM2MyNHh4X3NlcmlhbF9zdG9wX3R4LAorCS5zdGFydF90eAk9IHMzYzI0eHhfc2VyaWFsX3N0YXJ0X3R4LAorCS5zdG9wX3J4CT0gczNjMjR4eF9zZXJpYWxfc3RvcF9yeCwKKwkuZW5hYmxlX21zCT0gczNjMjR4eF9zZXJpYWxfZW5hYmxlX21zLAorCS5icmVha19jdGwJPSBzM2MyNHh4X3NlcmlhbF9icmVha19jdGwsCisJLnN0YXJ0dXAJPSBzM2MyNHh4X3NlcmlhbF9zdGFydHVwLAorCS5zaHV0ZG93bgk9IHMzYzI0eHhfc2VyaWFsX3NodXRkb3duLAorCS5zZXRfdGVybWlvcwk9IHMzYzI0eHhfc2VyaWFsX3NldF90ZXJtaW9zLAorCS50eXBlCQk9IHMzYzI0eHhfc2VyaWFsX3R5cGUsCisJLnJlbGVhc2VfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3JlbGVhc2VfcG9ydCwKKwkucmVxdWVzdF9wb3J0CT0gczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0LAorCS5jb25maWdfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX2NvbmZpZ19wb3J0LAorCS52ZXJpZnlfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3ZlcmlmeV9wb3J0LAorfTsKKworCitzdGF0aWMgc3RydWN0IHVhcnRfZHJpdmVyIHMzYzI0eHhfdWFydF9kcnYgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5kZXZfbmFtZQk9ICJzM2MyNDEwX3NlcmlhbCIsCisJLm5yCQk9IDMsCisJLmNvbnMJCT0gUzNDMjRYWF9TRVJJQUxfQ09OU09MRSwKKwkuZHJpdmVyX25hbWUJPSBTM0MyNFhYX1NFUklBTF9OQU1FLAorCS5tYWpvcgkJPSBTM0MyNFhYX1NFUklBTF9NQUpPUiwKKwkubWlub3IJCT0gUzNDMjRYWF9TRVJJQUxfTUlOT1IsCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0IHMzYzI0eHhfc2VyaWFsX3BvcnRzW05SX1BPUlRTXSA9IHsKKwlbMF0gPSB7CisJCS5wb3J0ID0geworCQkJLmxvY2sJCT0gX19TUElOX0xPQ0tfVU5MT0NLRUQoczNjMjR4eF9zZXJpYWxfcG9ydHNbMF0ucG9ydC5sb2NrKSwKKwkJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCQkuaXJxCQk9IElSUV9TM0NVQVJUX1JYMCwKKwkJCS51YXJ0Y2xrCT0gMCwKKwkJCS5maWZvc2l6ZQk9IDE2LAorCQkJLm9wcwkJPSAmczNjMjR4eF9zZXJpYWxfb3BzLAorCQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAorCQkJLmxpbmUJCT0gMCwKKwkJfQorCX0sCisJWzFdID0geworCQkucG9ydCA9IHsKKwkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzFdLnBvcnQubG9jayksCisJCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDEsCisJCQkudWFydGNsawk9IDAsCisJCQkuZmlmb3NpemUJPSAxNiwKKwkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKKwkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJCS5saW5lCQk9IDEsCisJCX0KKwl9LAorI2lmIE5SX1BPUlRTID4gMgorCisJWzJdID0geworCQkucG9ydCA9IHsKKwkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzJdLnBvcnQubG9jayksCisJCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDIsCisJCQkudWFydGNsawk9IDAsCisJCQkuZmlmb3NpemUJPSAxNiwKKwkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKKwkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJCS5saW5lCQk9IDIsCisJCX0KKwl9CisjZW5kaWYKK307CisKKy8qIHMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydAorICoKKyAqIHdyYXBwZXIgdG8gY2FsbCB0aGUgc3BlY2lmaWMgcmVzZXQgZm9yIHRoaXMgcG9ydCAocmVzZXQgdGhlIGZpZm9zCisgKiBhbmQgdGhlIHNldHRpbmdzKQorKi8KKworc3RhdGljIGlubGluZSBpbnQgczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJCSAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCXJldHVybiAoaW5mby0+cmVzZXRfcG9ydCkocG9ydCwgY2ZnKTsKK30KKworLyogczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0CisgKgorICogaW5pdGlhbGlzZSBhIHNpbmdsZSBzZXJpYWwgcG9ydCBmcm9tIHRoZSBwbGF0Zm9ybSBkZXZpY2UgZ2l2ZW4KKyAqLworCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbywKKwkJCQkgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGRldikKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJm91cnBvcnQtPnBvcnQ7CisJc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnOworCXN0cnVjdCByZXNvdXJjZSAqcmVzOworCWludCByZXQ7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogcG9ydD0lcCwgcGxhdGRldj0lcFxuIiwgcG9ydCwgcGxhdGRldik7CisKKwlpZiAocGxhdGRldiA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNmZyA9IHMzYzI0eHhfZGV2X3RvX2NmZygmcGxhdGRldi0+ZGV2KTsKKworCWlmIChwb3J0LT5tYXBiYXNlICE9IDApCisJCXJldHVybiAwOworCisJaWYgKGNmZy0+aHdwb3J0ID4gMykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBzZXR1cCBpbmZvIGZvciBwb3J0ICovCisJcG9ydC0+ZGV2CT0gJnBsYXRkZXYtPmRldjsKKwlvdXJwb3J0LT5pbmZvCT0gaW5mbzsKKworCS8qIGNvcHkgdGhlIGluZm8gaW4gZnJvbSBwcm92aWRlZCBzdHJ1Y3R1cmUgKi8KKwlvdXJwb3J0LT5wb3J0LmZpZm9zaXplID0gaW5mby0+Zmlmb3NpemU7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogJXAgKGh3ICVkKS4uLlxuIiwgcG9ydCwgY2ZnLT5od3BvcnQpOworCisJcG9ydC0+dWFydGNsayA9IDE7CisKKwlpZiAoY2ZnLT51YXJ0X2ZsYWdzICYgVVBGX0NPTlNfRkxPVykgeworCQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogZW5hYmxpbmcgZmxvdyBjb250cm9sXG4iKTsKKwkJcG9ydC0+ZmxhZ3MgfD0gVVBGX0NPTlNfRkxPVzsKKwl9CisKKwkvKiBzb3J0IG91ciB0aGUgcGh5c2ljYWwgYW5kIHZpcnR1YWwgYWRkcmVzc2VzIGZvciBlYWNoIFVBUlQgKi8KKworCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwbGF0ZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJaWYgKHJlcyA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGZpbmQgbWVtb3J5IHJlc291cmNlIGZvciB1YXJ0XG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZGJnKCJyZXNvdXJjZSAlcCAoJWx4Li4lbHgpXG4iLCByZXMsIHJlcy0+c3RhcnQsIHJlcy0+ZW5kKTsKKworCXBvcnQtPm1hcGJhc2UJPSByZXMtPnN0YXJ0OworCXBvcnQtPm1lbWJhc2UJPSBTM0MyNFhYX1ZBX1VBUlQgKyAocmVzLT5zdGFydCAtIFMzQzI0WFhfUEFfVUFSVCk7CisJcmV0ID0gcGxhdGZvcm1fZ2V0X2lycShwbGF0ZGV2LCAwKTsKKwlpZiAocmV0IDwgMCkKKwkJcG9ydC0+aXJxID0gMDsKKwllbHNlCisJCXBvcnQtPmlycSA9IHJldDsKKworCW91cnBvcnQtPmNsawk9IGNsa19nZXQoJnBsYXRkZXYtPmRldiwgInVhcnQiKTsKKworCWRiZygicG9ydDogbWFwPSUwOHgsIG1lbT0lMDh4LCBpcnE9JWQsIGNsb2NrPSVsZFxuIiwKKwkgICAgcG9ydC0+bWFwYmFzZSwgcG9ydC0+bWVtYmFzZSwgcG9ydC0+aXJxLCBwb3J0LT51YXJ0Y2xrKTsKKworCS8qIHJlc2V0IHRoZSBmaWZvcyAoYW5kIHNldHVwIHRoZSB1YXJ0KSAqLworCXMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChwb3J0LCBjZmcpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBzM2MyNHh4X3NlcmlhbF9zaG93X2Nsa3NyYyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJCSAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJCSAgY2hhciAqYnVmKQoreworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KGRldik7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiogJXNcbiIsIG91cnBvcnQtPmNsa3NyYy0+bmFtZSk7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUihjbG9ja19zb3VyY2UsIFNfSVJVR08sIHMzYzI0eHhfc2VyaWFsX3Nob3dfY2xrc3JjLCBOVUxMKTsKKworLyogRGV2aWNlIGRyaXZlciBzZXJpYWwgcG9ydCBwcm9iZSAqLworCitzdGF0aWMgaW50IHByb2JlX2luZGV4OworCitpbnQgczNjMjR4eF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LAorCQkJIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQ7CisJaW50IHJldDsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfcHJvYmUoJXAsICVwKSAlZFxuIiwgZGV2LCBpbmZvLCBwcm9iZV9pbmRleCk7CisKKwlvdXJwb3J0ID0gJnMzYzI0eHhfc2VyaWFsX3BvcnRzW3Byb2JlX2luZGV4XTsKKwlwcm9iZV9pbmRleCsrOworCisJZGJnKCIlczogaW5pdGlhbGlzaW5nIHBvcnQgJXAuLi5cbiIsIF9fZnVuY19fLCBvdXJwb3J0KTsKKworCXJldCA9IHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChvdXJwb3J0LCBpbmZvLCBkZXYpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIHByb2JlX2VycjsKKworCWRiZygiJXM6IGFkZGluZyBwb3J0XG4iLCBfX2Z1bmNfXyk7CisJdWFydF9hZGRfb25lX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsICZvdXJwb3J0LT5wb3J0KTsKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShkZXYsICZvdXJwb3J0LT5wb3J0KTsKKworCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZSgmZGV2LT5kZXYsICZkZXZfYXR0cl9jbG9ja19zb3VyY2UpOworCWlmIChyZXQgPCAwKQorCQlwcmludGsoS0VSTl9FUlIgIiVzOiBmYWlsZWQgdG8gYWRkIGNsa3NyYyBhdHRyLlxuIiwgX19mdW5jX18pOworCisJcmV0dXJuIDA7CisKKyBwcm9iZV9lcnI6CisJcmV0dXJuIHJldDsKK30KKworRVhQT1JUX1NZTUJPTF9HUEwoczNjMjR4eF9zZXJpYWxfcHJvYmUpOworCitpbnQgczNjMjR4eF9zZXJpYWxfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gczNjMjR4eF9kZXZfdG9fcG9ydCgmZGV2LT5kZXYpOworCisJaWYgKHBvcnQpIHsKKwkJZGV2aWNlX3JlbW92ZV9maWxlKCZkZXYtPmRldiwgJmRldl9hdHRyX2Nsb2NrX3NvdXJjZSk7CisJCXVhcnRfcmVtb3ZlX29uZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCBwb3J0KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworRVhQT1JUX1NZTUJPTF9HUEwoczNjMjR4eF9zZXJpYWxfcmVtb3ZlKTsKKworLyogVUFSVCBwb3dlciBtYW5hZ2VtZW50IGNvZGUgKi8KKworI2lmZGVmIENPTkZJR19QTQorCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHMzYzI0eHhfZGV2X3RvX3BvcnQoJmRldi0+ZGV2KTsKKworCWlmIChwb3J0KQorCQl1YXJ0X3N1c3BlbmRfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgcG9ydCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKworCWlmIChwb3J0KSB7CisJCWNsa19lbmFibGUob3VycG9ydC0+Y2xrKTsKKwkJczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0KHBvcnQsIHMzYzI0eHhfcG9ydF90b19jZmcocG9ydCkpOworCQljbGtfZGlzYWJsZShvdXJwb3J0LT5jbGspOworCisJCXVhcnRfcmVzdW1lX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOworCX0KKworCXJldHVybiAwOworfQorI2VuZGlmCisKK2ludCBzM2MyNHh4X3NlcmlhbF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmRydiwKKwkJCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbykKK3sKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXQoJXAsJXApXG4iLCBkcnYsIGluZm8pOworCisjaWZkZWYgQ09ORklHX1BNCisJZHJ2LT5zdXNwZW5kID0gczNjMjR4eF9zZXJpYWxfc3VzcGVuZDsKKwlkcnYtPnJlc3VtZSA9IHMzYzI0eHhfc2VyaWFsX3Jlc3VtZTsKKyNlbmRpZgorCisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcihkcnYpOworfQorCitFWFBPUlRfU1lNQk9MX0dQTChzM2MyNHh4X3NlcmlhbF9pbml0KTsKKworLyogbW9kdWxlIGluaXRpYWxpc2F0aW9uIGNvZGUgKi8KKworc3RhdGljIGludCBfX2luaXQgczNjMjR4eF9zZXJpYWxfbW9kaW5pdCh2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSB1YXJ0X3JlZ2lzdGVyX2RyaXZlcigmczNjMjR4eF91YXJ0X2Rydik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgVUFSVCBkcml2ZXJcbiIpOworCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBzM2MyNHh4X3NlcmlhbF9tb2RleGl0KHZvaWQpCit7CisJdWFydF91bnJlZ2lzdGVyX2RyaXZlcigmczNjMjR4eF91YXJ0X2Rydik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0eHhfc2VyaWFsX21vZGluaXQpOworbW9kdWxlX2V4aXQoczNjMjR4eF9zZXJpYWxfbW9kZXhpdCk7CisKKy8qIENvbnNvbGUgY29kZSAqLworCisjaWZkZWYgQ09ORklHX1NFUklBTF9TQU1TVU5HX0NPTlNPTEUKKworc3RhdGljIHN0cnVjdCB1YXJ0X3BvcnQgKmNvbnNfdWFydDsKKworc3RhdGljIGludAorczNjMjR4eF9zZXJpYWxfY29uc29sZV90eHJkeShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCB1bnNpZ25lZCBpbnQgdWZjb24pCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7CisJdW5zaWduZWQgbG9uZyB1ZnN0YXQsIHV0cnN0YXQ7CisKKwlpZiAodWZjb24gJiBTM0MyNDEwX1VGQ09OX0ZJRk9NT0RFKSB7CisJCS8qIGZpZm8gbW9kZSAtIGNoZWNrIGFtbW91bnQgb2YgZGF0YSBpbiBmaWZvIHJlZ2lzdGVycy4uLiAqLworCisJCXVmc3RhdCA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRlNUQVQpOworCQlyZXR1cm4gKHVmc3RhdCAmIGluZm8tPnR4X2ZpZm9mdWxsKSA/IDAgOiAxOworCX0KKworCS8qIGluIG5vbi1maWZvIG1vZGUsIHdlIGdvIGFuZCB1c2UgdGhlIHR4IGJ1ZmZlciBlbXB0eSAqLworCisJdXRyc3RhdCA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VVFJTVEFUKTsKKwlyZXR1cm4gKHV0cnN0YXQgJiBTM0MyNDEwX1VUUlNUQVRfVFhFKSA/IDEgOiAwOworfQorCitzdGF0aWMgdm9pZAorczNjMjR4eF9zZXJpYWxfY29uc29sZV9wdXRjaGFyKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBjaCkKK3sKKwl1bnNpZ25lZCBpbnQgdWZjb24gPSByZF9yZWdsKGNvbnNfdWFydCwgUzNDMjQxMF9VRkNPTik7CisJd2hpbGUgKCFzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3R4cmR5KHBvcnQsIHVmY29uKSkKKwkJYmFycmllcigpOworCXdyX3JlZ2IoY29uc191YXJ0LCBTM0MyNDEwX1VUWEgsIGNoKTsKK30KKworc3RhdGljIHZvaWQKK3MzYzI0eHhfc2VyaWFsX2NvbnNvbGVfd3JpdGUoc3RydWN0IGNvbnNvbGUgKmNvLCBjb25zdCBjaGFyICpzLAorCQkJICAgICB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJdWFydF9jb25zb2xlX3dyaXRlKGNvbnNfdWFydCwgcywgY291bnQsIHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfcHV0Y2hhcik7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdAorczNjMjR4eF9zZXJpYWxfZ2V0X29wdGlvbnMoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50ICpiYXVkLAorCQkJICAgaW50ICpwYXJpdHksIGludCAqYml0cykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyBjbGtzcmM7CisJc3RydWN0IGNsayAqY2xrOworCXVuc2lnbmVkIGludCB1bGNvbjsKKwl1bnNpZ25lZCBpbnQgdWNvbjsKKwl1bnNpZ25lZCBpbnQgdWJyZGl2OworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKKworCXVsY29uICA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTik7CisJdWNvbiAgID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCXVicmRpdiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQlJESVYpOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9nZXRfb3B0aW9uczogcG9ydD0lcFxuIgorCSAgICAicmVnaXN0ZXJzOiB1bGNvbj0lMDh4LCB1Y29uPSUwOHgsIHViZHJpdj0lMDh4XG4iLAorCSAgICBwb3J0LCB1bGNvbiwgdWNvbiwgdWJyZGl2KTsKKworCWlmICgodWNvbiAmIDB4ZikgIT0gMCkgeworCQkvKiBjb25zaWRlciB0aGUgc2VyaWFsIHBvcnQgY29uZmlndXJlZCBpZiB0aGUgdHgvcnggbW9kZSBzZXQgKi8KKworCQlzd2l0Y2ggKHVsY29uICYgUzNDMjQxMF9MQ09OX0NTTUFTSykgeworCQljYXNlIFMzQzI0MTBfTENPTl9DUzU6CisJCQkqYml0cyA9IDU7CisJCQlicmVhazsKKwkJY2FzZSBTM0MyNDEwX0xDT05fQ1M2OgorCQkJKmJpdHMgPSA2OworCQkJYnJlYWs7CisJCWNhc2UgUzNDMjQxMF9MQ09OX0NTNzoKKwkJCSpiaXRzID0gNzsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQljYXNlIFMzQzI0MTBfTENPTl9DUzg6CisJCQkqYml0cyA9IDg7CisJCQlicmVhazsKKwkJfQorCisJCXN3aXRjaCAodWxjb24gJiBTM0MyNDEwX0xDT05fUE1BU0spIHsKKwkJY2FzZSBTM0MyNDEwX0xDT05fUEVWRU46CisJCQkqcGFyaXR5ID0gJ2UnOworCQkJYnJlYWs7CisKKwkJY2FzZSBTM0MyNDEwX0xDT05fUE9ERDoKKwkJCSpwYXJpdHkgPSAnbyc7CisJCQlicmVhazsKKworCQljYXNlIFMzQzI0MTBfTENPTl9QTk9ORToKKwkJZGVmYXVsdDoKKwkJCSpwYXJpdHkgPSAnbic7CisJCX0KKworCQkvKiBub3cgY2FsY3VsYXRlIHRoZSBiYXVkIHJhdGUgKi8KKworCQlzM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2UocG9ydCwgJmNsa3NyYyk7CisKKwkJY2xrID0gY2xrX2dldChwb3J0LT5kZXYsIGNsa3NyYy5uYW1lKTsKKwkJaWYgKCFJU19FUlIoY2xrKSAmJiBjbGsgIT0gTlVMTCkKKwkJCXJhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrKSAvIGNsa3NyYy5kaXZpc29yOworCQllbHNlCisJCQlyYXRlID0gMTsKKworCisJCSpiYXVkID0gcmF0ZSAvICgxNiAqICh1YnJkaXYgKyAxKSk7CisJCWRiZygiY2FsY3VsYXRlZCBiYXVkICVkXG4iLCAqYmF1ZCk7CisJfQorCit9CisKKy8qIHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMKKyAqCisgKiBpbml0aWFsaXNlIHRoZSBzZXJpYWwgcG9ydHMgZnJvbSB0aGUgbWFjaGluZSBwcm92aWRlZCBpbml0aWFsaXNhdGlvbgorICogZGF0YS4KKyovCisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0cyhzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpwdHIgPSBzM2MyNHh4X3NlcmlhbF9wb3J0czsKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICoqcGxhdGRldl9wdHI7CisJaW50IGk7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHM6IGluaXRpYWxpc2luZyBwb3J0cy4uLlxuIik7CisKKwlwbGF0ZGV2X3B0ciA9IHMzYzI0eHhfdWFydF9kZXZzOworCisJZm9yIChpID0gMDsgaSA8IE5SX1BPUlRTOyBpKyssIHB0cisrLCBwbGF0ZGV2X3B0cisrKSB7CisJCXMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChwdHIsIGluZm8sICpwbGF0ZGV2X3B0cik7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CitzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwKHN0cnVjdCBjb25zb2xlICpjbywgY2hhciAqb3B0aW9ucykKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0OworCWludCBiYXVkID0gOTYwMDsKKwlpbnQgYml0cyA9IDg7CisJaW50IHBhcml0eSA9ICduJzsKKwlpbnQgZmxvdyA9ICduJzsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cDogY289JXAgKCVkKSwgJXNcbiIsCisJICAgIGNvLCBjby0+aW5kZXgsIG9wdGlvbnMpOworCisJLyogaXMgdGhpcyBhIHZhbGlkIHBvcnQgKi8KKworCWlmIChjby0+aW5kZXggPT0gLTEgfHwgY28tPmluZGV4ID49IE5SX1BPUlRTKQorCQljby0+aW5kZXggPSAwOworCisJcG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1tjby0+aW5kZXhdLnBvcnQ7CisKKwkvKiBpcyB0aGUgcG9ydCBjb25maWd1cmVkPyAqLworCisJaWYgKHBvcnQtPm1hcGJhc2UgPT0gMHgwKSB7CisJCWNvLT5pbmRleCA9IDA7CisJCXBvcnQgPSAmczNjMjR4eF9zZXJpYWxfcG9ydHNbY28tPmluZGV4XS5wb3J0OworCX0KKworCWNvbnNfdWFydCA9IHBvcnQ7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXA6IHBvcnQ9JXAgKCVkKVxuIiwgcG9ydCwgY28tPmluZGV4KTsKKworCS8qCisJICogQ2hlY2sgd2hldGhlciBhbiBpbnZhbGlkIHVhcnQgbnVtYmVyIGhhcyBiZWVuIHNwZWNpZmllZCwgYW5kCisJICogaWYgc28sIHNlYXJjaCBmb3IgdGhlIGZpcnN0IGF2YWlsYWJsZSBwb3J0IHRoYXQgZG9lcyBoYXZlCisJICogY29uc29sZSBzdXBwb3J0LgorCSAqLworCWlmIChvcHRpb25zKQorCQl1YXJ0X3BhcnNlX29wdGlvbnMob3B0aW9ucywgJmJhdWQsICZwYXJpdHksICZiaXRzLCAmZmxvdyk7CisJZWxzZQorCQlzM2MyNHh4X3NlcmlhbF9nZXRfb3B0aW9ucyhwb3J0LCAmYmF1ZCwgJnBhcml0eSwgJmJpdHMpOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwOiBiYXVkICVkXG4iLCBiYXVkKTsKKworCXJldHVybiB1YXJ0X3NldF9vcHRpb25zKHBvcnQsIGNvLCBiYXVkLCBwYXJpdHksIGJpdHMsIGZsb3cpOworfQorCisvKiBzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZQorICoKKyAqIGluaXRpYWxpc2UgdGhlIGNvbnNvbGUgZnJvbSBvbmUgb2YgdGhlIHVhcnQgZHJpdmVycworKi8KKworc3RhdGljIHN0cnVjdCBjb25zb2xlIHMzYzI0eHhfc2VyaWFsX2NvbnNvbGUgPSB7CisJLm5hbWUJCT0gUzNDMjRYWF9TRVJJQUxfTkFNRSwKKwkuZGV2aWNlCQk9IHVhcnRfY29uc29sZV9kZXZpY2UsCisJLmZsYWdzCQk9IENPTl9QUklOVEJVRkZFUiwKKwkuaW5kZXgJCT0gLTEsCisJLndyaXRlCQk9IHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfd3JpdGUsCisJLnNldHVwCQk9IHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXAKK307CisKK2ludCBzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZShzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpkcnYsCisJCQkgICAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKQorCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2ID0gczNjMjR4eF91YXJ0X2RldnNbMF07CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlXG4iKTsKKworCS8qIHNlbGVjdCBkcml2ZXIgYmFzZWQgb24gdGhlIGNwdSAqLworCisJaWYgKGRldiA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eDogbm8gZGV2aWNlcyBmb3IgY29uc29sZSBpbml0XG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHN0cmNtcChkZXYtPm5hbWUsIGRydi0+ZHJpdmVyLm5hbWUpICE9IDApCisJCXJldHVybiAwOworCisJczNjMjR4eF9zZXJpYWxfY29uc29sZS5kYXRhID0gJnMzYzI0eHhfdWFydF9kcnY7CisJczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0cyhpbmZvKTsKKworCXJlZ2lzdGVyX2NvbnNvbGUoJnMzYzI0eHhfc2VyaWFsX2NvbnNvbGUpOworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogQ09ORklHX1NFUklBTF9TQU1TVU5HX0NPTlNPTEUgKi8KKworTU9EVUxFX0RFU0NSSVBUSU9OKCJTYW1zdW5nIFNvQyBTZXJpYWwgcG9ydCBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIkJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4iKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuaCBiL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzkyZWJiCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvc2Ftc3VuZy5oCkBAIC0wLDAgKzEsMTAyIEBACisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmgKKyAqCisgKiBEcml2ZXIgZm9yIFNhbXN1bmcgU29DIG9uYm9hcmQgVUFSVHMuCisgKgorICogQmVuIERvb2tzLCBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHsKKwljaGFyCQkJKm5hbWU7CisJdW5zaWduZWQgaW50CQl0eXBlOworCXVuc2lnbmVkIGludAkJZmlmb3NpemU7CisJdW5zaWduZWQgbG9uZwkJcnhfZmlmb21hc2s7CisJdW5zaWduZWQgbG9uZwkJcnhfZmlmb3NoaWZ0OworCXVuc2lnbmVkIGxvbmcJCXJ4X2ZpZm9mdWxsOworCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9tYXNrOworCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9zaGlmdDsKKwl1bnNpZ25lZCBsb25nCQl0eF9maWZvZnVsbDsKKworCS8qIGNsb2NrIHNvdXJjZSBjb250cm9sICovCisKKwlpbnQgKCpnZXRfY2xrc3JjKShzdHJ1Y3QgdWFydF9wb3J0ICosIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspOworCWludCAoKnNldF9jbGtzcmMpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsayk7CisKKwkvKiB1YXJ0IGNvbnRyb2xzICovCisJaW50ICgqcmVzZXRfcG9ydCkoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICopOworfTsKKworc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0IHsKKwl1bnNpZ25lZCBjaGFyCQkJcnhfY2xhaW1lZDsKKwl1bnNpZ25lZCBjaGFyCQkJdHhfY2xhaW1lZDsKKworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbwkqaW5mbzsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYwkqY2xrc3JjOworCXN0cnVjdCBjbGsJCQkqY2xrOworCXN0cnVjdCBjbGsJCQkqYmF1ZGNsazsKKwlzdHJ1Y3QgdWFydF9wb3J0CQlwb3J0OworfTsKKworLyogY29udmVyc2lvbiBmdW5jdGlvbnMgKi8KKworI2RlZmluZSBzM2MyNHh4X2Rldl90b19wb3J0KF9fZGV2KSAoc3RydWN0IHVhcnRfcG9ydCAqKWRldl9nZXRfZHJ2ZGF0YShfX2RldikKKyNkZWZpbmUgczNjMjR4eF9kZXZfdG9fY2ZnKF9fZGV2KSAoc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKSgoX19kZXYpLT5wbGF0Zm9ybV9kYXRhKQorCisvKiByZWdpc3RlciBhY2Nlc3MgY29udHJvbHMgKi8KKworI2RlZmluZSBwb3J0YWRkcihwb3J0LCByZWcpICgocG9ydCktPm1lbWJhc2UgKyAocmVnKSkKKworI2RlZmluZSByZF9yZWdiKHBvcnQsIHJlZykgKF9fcmF3X3JlYWRiKHBvcnRhZGRyKHBvcnQsIHJlZykpKQorI2RlZmluZSByZF9yZWdsKHBvcnQsIHJlZykgKF9fcmF3X3JlYWRsKHBvcnRhZGRyKHBvcnQsIHJlZykpKQorCisjZGVmaW5lIHdyX3JlZ2IocG9ydCwgcmVnLCB2YWwpIF9fcmF3X3dyaXRlYih2YWwsIHBvcnRhZGRyKHBvcnQsIHJlZykpCisjZGVmaW5lIHdyX3JlZ2wocG9ydCwgcmVnLCB2YWwpIF9fcmF3X3dyaXRlbCh2YWwsIHBvcnRhZGRyKHBvcnQsIHJlZykpCisKK2V4dGVybiBpbnQgczNjMjR4eF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LAorCQkJCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqdWFydCk7CisKK2V4dGVybiBpbnQgczNjMjR4eF9zZXJpYWxfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldik7CisKK2V4dGVybiBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqZHJ2LAorCQkJCSAgICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqdWFydCk7CisKK2V4dGVybiBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpkcnYsCisJCQkgICAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKTsKKworI2lmZGVmIENPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFCisKKyNkZWZpbmUgczNjMjR4eF9jb25zb2xlX2luaXQoX19kcnYsIF9faW5mKQkJCVwKK3N0YXRpYyBpbnQgX19pbml0IHMzY19zZXJpYWxfY29uc29sZV9pbml0KHZvaWQpCQkJXAorewkJCQkJCQkJXAorCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZShfX2RydiwgX19pbmYpOwlcCit9CQkJCQkJCQlcCisJCQkJCQkJCVwKK2NvbnNvbGVfaW5pdGNhbGwoczNjX3NlcmlhbF9jb25zb2xlX2luaXQpCisKKyNlbHNlCisjZGVmaW5lIHMzYzI0eHhfY29uc29sZV9pbml0KGRydiwgaW5mKSBleHRlcm4gdm9pZCBub19jb25zb2xlKHZvaWQpCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19TRVJJQUxfU0FNU1VOR19ERUJVRworCitleHRlcm4gdm9pZCBwcmludGFzY2lpKGNvbnN0IGNoYXIgKik7CisKK3N0YXRpYyB2b2lkIGRiZyhjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IHZhOworCWNoYXIgYnVmZlsyNTZdOworCisJdmFfc3RhcnQodmEsIGZtdCk7CisJdnNwcmludGYoYnVmZiwgZm10LCB2YSk7CisJdmFfZW5kKHZhKTsKKworCXByaW50YXNjaWkoYnVmZik7Cit9CisKKyNlbHNlCisjZGVmaW5lIGRiZyh4Li4uKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3BpL3NwaV9pbXguYyBiL2RyaXZlcnMvc3BpL3NwaV9pbXguYwppbmRleCBjNzMwZDA1Li41NGFjN2JlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NwaS9zcGlfaW14LmMKKysrIGIvZHJpdmVycy9zcGkvc3BpX2lteC5jCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CkBAIC0yNTAsNiArMjUxLDggQEAKIAlpbnQgdHhfZG1hX25lZWRzX3VubWFwOwogCXNpemVfdCB0eF9tYXBfbGVuOwogCXUzMiBkdW1teV9kbWFfYnVmIF9fX19jYWNoZWxpbmVfYWxpZ25lZDsKKworCXN0cnVjdCBjbGsgKmNsazsKIH07CiAKIC8qIFJ1bnRpbWUgc3RhdGUgKi8KQEAgLTg1NSwxNSArODU4LDE1IEBACiAJcmV0dXJuIGRydl9kYXRhLT50cmFuc2Zlcl9oYW5kbGVyKGRydl9kYXRhKTsKIH0KIAotc3RhdGljIGlubGluZSB1MzIgc3BpX3NwZWVkX2h6KHUzMiBkYXRhX3JhdGUpCitzdGF0aWMgaW5saW5lIHUzMiBzcGlfc3BlZWRfaHooc3RydWN0IGRyaXZlcl9kYXRhICpkcnZfZGF0YSwgdTMyIGRhdGFfcmF0ZSkKIHsKLQlyZXR1cm4gaW14X2dldF9wZXJjbGsyKCkgLyAoNCA8PCAoKGRhdGFfcmF0ZSkgPj4gMTMpKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGRydl9kYXRhLT5jbGspIC8gKDQgPDwgKChkYXRhX3JhdGUpID4+IDEzKSk7CiB9CiAKLXN0YXRpYyB1MzIgc3BpX2RhdGFfcmF0ZSh1MzIgc3BlZWRfaHopCitzdGF0aWMgdTMyIHNwaV9kYXRhX3JhdGUoc3RydWN0IGRyaXZlcl9kYXRhICpkcnZfZGF0YSwgdTMyIHNwZWVkX2h6KQogewogCXUzMiBkaXY7Ci0JdTMyIHF1YW50aXplZF9oeiA9IGlteF9nZXRfcGVyY2xrMigpID4+IDI7CisJdTMyIHF1YW50aXplZF9oeiA9IGNsa19nZXRfcmF0ZShkcnZfZGF0YS0+Y2xrKSA+PiAyOwogCiAJZm9yIChkaXYgPSBTUElfUEVSQ0xLMl9ESVZfTUlOOwogCQlkaXYgPD0gU1BJX1BFUkNMSzJfRElWX01BWDsKQEAgLTk0Nyw3ICs5NTAsNyBAQAogCXRtcCA9IHRyYW5zZmVyLT5zcGVlZF9oejsKIAlpZiAodG1wID09IDApCiAJCXRtcCA9IGNoaXAtPm1heF9zcGVlZF9oejsKLQl0bXAgPSBzcGlfZGF0YV9yYXRlKHRtcCk7CisJdG1wID0gc3BpX2RhdGFfcmF0ZShkcnZfZGF0YSwgdG1wKTsKIAl1MzJfRURJVChjb250cm9sLCBTUElfQ09OVFJPTF9EQVRBUkFURSwgdG1wKTsKIAogCXdyaXRlbChjb250cm9sLCByZWdzICsgU1BJX0NPTlRST0wpOwpAQCAtMTEwOSw3ICsxMTEyLDcgQEAKIAltc2ctPmFjdHVhbF9sZW5ndGggPSAwOwogCiAJLyogUGVyIHRyYW5zZmVyIHNldHVwIGNoZWNrICovCi0JbWluX3NwZWVkX2h6ID0gc3BpX3NwZWVkX2h6KFNQSV9DT05UUk9MX0RBVEFSQVRFX01JTik7CisJbWluX3NwZWVkX2h6ID0gc3BpX3NwZWVkX2h6KGRydl9kYXRhLCBTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pOwogCW1heF9zcGVlZF9oeiA9IHNwaS0+bWF4X3NwZWVkX2h6OwogCWxpc3RfZm9yX2VhY2hfZW50cnkodHJhbnMsICZtc2ctPnRyYW5zZmVycywgdHJhbnNmZXJfbGlzdCkgewogCQl0bXAgPSB0cmFucy0+Yml0c19wZXJfd29yZDsKQEAgLTExNzYsNiArMTE3OSw3IEBACiAgICBhcHBsaWVkIGFuZCBub3RpZmllZCB0byB0aGUgY2FsbGluZyBkcml2ZXIuICovCiBzdGF0aWMgaW50IHNldHVwKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiB7CisJc3RydWN0IGRyaXZlcl9kYXRhICpkcnZfZGF0YSA9IHNwaV9tYXN0ZXJfZ2V0X2RldmRhdGEoc3BpLT5tYXN0ZXIpOwogCXN0cnVjdCBzcGlfaW14X2NoaXAgKmNoaXBfaW5mbzsKIAlzdHJ1Y3QgY2hpcF9kYXRhICpjaGlwOwogCWludCBmaXJzdF9zZXR1cCA9IDA7CkBAIC0xMzA0LDE0ICsxMzA4LDE0IEBACiAJY2hpcC0+bl9ieXRlcyA9ICh0bXAgPD0gOCkgPyAxIDogMjsKIAogCS8qIFNQSSBkYXRhcmF0ZSAqLwotCXRtcCA9IHNwaV9kYXRhX3JhdGUoc3BpLT5tYXhfc3BlZWRfaHopOworCXRtcCA9IHNwaV9kYXRhX3JhdGUoZHJ2X2RhdGEsIHNwaS0+bWF4X3NwZWVkX2h6KTsKIAlpZiAodG1wID09IFNQSV9DT05UUk9MX0RBVEFSQVRFX0JBRCkgewogCQlzdGF0dXMgPSAtRUlOVkFMOwogCQlkZXZfZXJyKCZzcGktPmRldiwKIAkJCSJzZXR1cCAtICIKIAkJCSJIVyBtaW4gc3BlZWQgKCVkIEh6KSBleGNlZWRzIHJlcXVpcmVkICIKIAkJCSJtYXggc3BlZWQgKCVkIEh6KVxuIiwKLQkJCXNwaV9zcGVlZF9oeihTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pLAorCQkJc3BpX3NwZWVkX2h6KGRydl9kYXRhLCBTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pLAogCQkJc3BpLT5tYXhfc3BlZWRfaHopOwogCQlpZiAoZmlyc3Rfc2V0dXApCiAJCQlnb3RvIGVycl9maXJzdF9zZXR1cDsKQEAgLTEzMjEsNyArMTMyNSw3IEBACiAJfSBlbHNlIHsKIAkJdTMyX0VESVQoY2hpcC0+Y29udHJvbCwgU1BJX0NPTlRST0xfREFUQVJBVEUsIHRtcCk7CiAJCS8qIEFjdHVhbCByb3VuZGVkIG1heF9zcGVlZF9oeiAqLwotCQl0bXAgPSBzcGlfc3BlZWRfaHoodG1wKTsKKwkJdG1wID0gc3BpX3NwZWVkX2h6KGRydl9kYXRhLCB0bXApOwogCQlzcGktPm1heF9zcGVlZF9oeiA9IHRtcDsKIAkJY2hpcC0+bWF4X3NwZWVkX2h6ID0gdG1wOwogCX0KQEAgLTEzNTIsNyArMTM1Niw3IEBACiAJCWNoaXAtPnBlcmlvZCAmIFNQSV9QRVJJT0RfV0FJVCwKIAkJc3BpLT5tb2RlLAogCQlzcGktPmJpdHNfcGVyX3dvcmQsCi0JCXNwaV9zcGVlZF9oeihTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pLAorCQlzcGlfc3BlZWRfaHooZHJ2X2RhdGEsIFNQSV9DT05UUk9MX0RBVEFSQVRFX01JTiksCiAJCXNwaS0+bWF4X3NwZWVkX2h6KTsKIAlyZXR1cm4gc3RhdHVzOwogCkBAIC0xNDY1LDYgKzE0NjksMTQgQEAKIAkJZ290byBlcnJfbm9fcGRhdGE7CiAJfQogCisJZHJ2X2RhdGEtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInBlcmNsazIiKTsKKwlpZiAoSVNfRVJSKGRydl9kYXRhLT5jbGspKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgInByb2JlIC0gY2Fubm90IGdldCBnZXRcbiIpOworCQlzdGF0dXMgPSBQVFJfRVJSKGRydl9kYXRhLT5jbGspOworCQlnb3RvIGVycl9ub19jbGs7CisJfQorCWNsa19lbmFibGUoZHJ2X2RhdGEtPmNsayk7CisKIAkvKiBBbGxvY2F0ZSBtYXN0ZXIgd2l0aCBzcGFjZSBmb3IgZHJ2X2RhdGEgKi8KIAltYXN0ZXIgPSBzcGlfYWxsb2NfbWFzdGVyKGRldiwgc2l6ZW9mKHN0cnVjdCBkcml2ZXJfZGF0YSkpOwogCWlmICghbWFzdGVyKSB7CkBAIC0xNTI2LDI0ICsxNTM4LDI0IEBACiAJZHJ2X2RhdGEtPnJ4X2NoYW5uZWwgPSAtMTsKIAlpZiAocGxhdGZvcm1faW5mby0+ZW5hYmxlX2RtYSkgewogCQkvKiBHZXQgcnggRE1BIGNoYW5uZWwgKi8KLQkJc3RhdHVzID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oJmRydl9kYXRhLT5yeF9jaGFubmVsLAotCQkJInNwaV9pbXhfcngiLCBETUFfUFJJT19ISUdIKTsKLQkJaWYgKHN0YXR1cyA8IDApIHsKKwkJZHJ2X2RhdGEtPnJ4X2NoYW5uZWwgPSBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbygic3BpX2lteF9yeCIsCisJCQkJCQkJICAgICAgIERNQV9QUklPX0hJR0gpOworCQlpZiAoZHJ2X2RhdGEtPnJ4X2NoYW5uZWwgPCAwKSB7CiAJCQlkZXZfZXJyKGRldiwKIAkJCQkicHJvYmUgLSBwcm9ibGVtICglZCkgcmVxdWVzdGluZyByeCBjaGFubmVsXG4iLAotCQkJCXN0YXR1cyk7CisJCQkJZHJ2X2RhdGEtPnJ4X2NoYW5uZWwpOwogCQkJZ290byBlcnJfbm9fcnhkbWE7CiAJCX0gZWxzZQogCQkJaW14X2RtYV9zZXR1cF9oYW5kbGVycyhkcnZfZGF0YS0+cnhfY2hhbm5lbCwgTlVMTCwKIAkJCQkJCWRtYV9lcnJfaGFuZGxlciwgZHJ2X2RhdGEpOwogCiAJCS8qIEdldCB0eCBETUEgY2hhbm5lbCAqLwotCQlzdGF0dXMgPSBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbygmZHJ2X2RhdGEtPnR4X2NoYW5uZWwsCi0JCQkJCQkic3BpX2lteF90eCIsIERNQV9QUklPX01FRElVTSk7Ci0JCWlmIChzdGF0dXMgPCAwKSB7CisJCWRydl9kYXRhLT50eF9jaGFubmVsID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oInNwaV9pbXhfdHgiLAorCQkJCQkJCSAgICAgICBETUFfUFJJT19NRURJVU0pOworCQlpZiAoZHJ2X2RhdGEtPnR4X2NoYW5uZWwgPCAwKSB7CiAJCQlkZXZfZXJyKGRldiwKIAkJCQkicHJvYmUgLSBwcm9ibGVtICglZCkgcmVxdWVzdGluZyB0eCBjaGFubmVsXG4iLAotCQkJCXN0YXR1cyk7CisJCQkJZHJ2X2RhdGEtPnR4X2NoYW5uZWwpOwogCQkJaW14X2RtYV9mcmVlKGRydl9kYXRhLT5yeF9jaGFubmVsKTsKIAkJCWdvdG8gZXJyX25vX3R4ZG1hOwogCQl9IGVsc2UKQEAgLTE2MjMsNiArMTYzNSw5IEBACiAJc3BpX21hc3Rlcl9wdXQobWFzdGVyKTsKIAogZXJyX25vX3BkYXRhOgorCWNsa19kaXNhYmxlKGRydl9kYXRhLT5jbGspOworCWNsa19wdXQoZHJ2X2RhdGEtPmNsayk7CitlcnJfbm9fY2xrOgogZXJyX25vX21lbToKIAlyZXR1cm4gc3RhdHVzOwogfQpAQCAtMTY2Miw2ICsxNjc3LDkgQEAKIAlpZiAoaXJxID49IDApCiAJCWZyZWVfaXJxKGlycSwgZHJ2X2RhdGEpOwogCisJY2xrX2Rpc2FibGUoZHJ2X2RhdGEtPmNsayk7CisJY2xrX3B1dChkcnZfZGF0YS0+Y2xrKTsKKwogCS8qIFJlbGVhc2UgbWFwIHJlc291cmNlcyAqLwogCWlvdW5tYXAoZHJ2X2RhdGEtPnJlZ3MpOwogCXJlbGVhc2VfcmVzb3VyY2UoZHJ2X2RhdGEtPmlvYXJlYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NwaS9zcGlkZXYuYyBiL2RyaXZlcnMvc3BpL3NwaWRldi5jCmluZGV4IGY1YjYwYzcuLmRkYmUxYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3BpL3NwaWRldi5jCisrKyBiL2RyaXZlcnMvc3BpL3NwaWRldi5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGlkZXYuaD4KQEAgLTQ2NCw2ICs0NjUsNyBAQAogCXN0cnVjdCBzcGlkZXZfZGF0YQkqc3BpZGV2OwogCWludAkJCXN0YXR1cyA9IC1FTlhJTzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmZGV2aWNlX2xpc3RfbG9jayk7CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHNwaWRldiwgJmRldmljZV9saXN0LCBkZXZpY2VfZW50cnkpIHsKQEAgLTQ4OSw2ICs0OTEsNyBAQAogCQlwcl9kZWJ1Zygic3BpZGV2OiBub3RoaW5nIGZvciBtaW5vciAlZFxuIiwgaW1pbm9yKGlub2RlKSk7CiAKIAltdXRleF91bmxvY2soJmRldmljZV9saXN0X2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gc3RhdHVzOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NzYi9kcml2ZXJfcGNpY29yZS5jIGIvZHJpdmVycy9zc2IvZHJpdmVyX3BjaWNvcmUuYwppbmRleCBkMjhjNTM4Li41MzhjNTcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NzYi9kcml2ZXJfcGNpY29yZS5jCisrKyBiL2RyaXZlcnMvc3NiL2RyaXZlcl9wY2ljb3JlLmMKQEAgLTUzNyw2ICs1MzcsMTMgQEAKIAlpbnQgZXJyID0gMDsKIAl1MzIgdG1wOwogCisJaWYgKGRldi0+YnVzLT5idXN0eXBlICE9IFNTQl9CVVNUWVBFX1BDSSkgeworCQkvKiBUaGlzIFNTQiBkZXZpY2UgaXMgbm90IG9uIGEgUENJIGhvc3QtYnVzLiBTbyB0aGUgSVJRcyBhcmUKKwkJICogbm90IHJvdXRlZCB0aHJvdWdoIHRoZSBQQ0kgY29yZS4KKwkJICogU28gd2UgbXVzdCBub3QgZW5hYmxlIHJvdXRpbmcgdGhyb3VnaCB0aGUgUENJIGNvcmUuICovCisJCWdvdG8gb3V0OworCX0KKwogCWlmICghcGRldikKIAkJZ290byBvdXQ7CiAJYnVzID0gcGRldi0+YnVzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy90ZWxlcGhvbnkvcGhvbmVkZXYuYyBiL2RyaXZlcnMvdGVsZXBob255L3Bob25lZGV2LmMKaW5kZXggYmNlYThkOS4uNGQ3NGJhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy90ZWxlcGhvbnkvcGhvbmVkZXYuYworKysgYi9kcml2ZXJzL3RlbGVwaG9ueS9waG9uZWRldi5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9waG9uZWRldi5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogCkBAIC01Myw2ICs1NCw3IEBACiAJaWYgKG1pbm9yID49IFBIT05FX05VTV9ERVZJQ0VTKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmcGhvbmVfbG9jayk7CiAJcCA9IHBob25lX2RldmljZVttaW5vcl07CiAJaWYgKHApCkBAIC03OSw2ICs4MSw3IEBACiAJZm9wc19wdXQob2xkX2ZvcHMpOwogZW5kOgogCW11dGV4X3VubG9jaygmcGhvbmVfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdWlvL3Vpby5jIGIvZHJpdmVycy91aW8vdWlvLmMKaW5kZXggMGExMmU5MC4uNWE3Y2EyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy91aW8vdWlvLmMKKysrIGIvZHJpdmVycy91aW8vdWlvLmMKQEAgLTI5NywxMiArMjk3LDE3IEBACiAJc3RydWN0IHVpb19saXN0ZW5lciAqbGlzdGVuZXI7CiAJaW50IHJldCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWlkZXYgPSBpZHJfZmluZCgmdWlvX2lkciwgaW1pbm9yKGlub2RlKSk7Ci0JaWYgKCFpZGV2KQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAoIWlkZXYpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCi0JaWYgKCF0cnlfbW9kdWxlX2dldChpZGV2LT5vd25lcikpCi0JCXJldHVybiAtRU5PREVWOworCWlmICghdHJ5X21vZHVsZV9nZXQoaWRldi0+b3duZXIpKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAogCWxpc3RlbmVyID0ga21hbGxvYyhzaXplb2YoKmxpc3RlbmVyKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFsaXN0ZW5lcikgewpAQCAtMzE5LDcgKzMyNCw3IEBACiAJCWlmIChyZXQpCiAJCQlnb3RvIGVycl9pbmZvb3BlbjsKIAl9Ci0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIGVycl9pbmZvb3BlbjoKQEAgLTMyOSw2ICszMzQsOCBAQAogCiAJbW9kdWxlX3B1dChpZGV2LT5vd25lcik7CiAKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvYXRtL2N4YWNydS5jIGIvZHJpdmVycy91c2IvYXRtL2N4YWNydS5jCmluZGV4IDVlYTMwOTMuLjkwNTgzZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2F0bS9jeGFjcnUuYworKysgYi9kcml2ZXJzL3VzYi9hdG0vY3hhY3J1LmMKQEAgLTgyMCw3ICs4MjAsNyBAQAogfQogCiBzdGF0aWMgaW50IGN4YWNydV9mdyhzdHJ1Y3QgdXNiX2RldmljZSAqdXNiX2RldiwgZW51bSBjeGFjcnVfZndfcmVxdWVzdCBmdywKLQkJICAgICB1OCBjb2RlMSwgdTggY29kZTIsIHUzMiBhZGRyLCB1OCAqZGF0YSwgaW50IHNpemUpCisJCSAgICAgdTggY29kZTEsIHU4IGNvZGUyLCB1MzIgYWRkciwgY29uc3QgdTggKmRhdGEsIGludCBzaXplKQogewogCWludCByZXQ7CiAJdTggKmJ1ZjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2F0bS91ZWFnbGUtYXRtLmMgYi9kcml2ZXJzL3VzYi9hdG0vdWVhZ2xlLWF0bS5jCmluZGV4IDVmNzFmZjMuLmNiMDFiNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2F0bS91ZWFnbGUtYXRtLmMKKysrIGIvZHJpdmVycy91c2IvYXRtL3VlYWdsZS1hdG0uYwpAQCAtNTc5LDcgKzU3OSw3IEBACiAgKiB1ZWFfc2VuZF9tb2RlbV9jbWQgLSBTZW5kIGEgY29tbWFuZCBmb3IgcHJlLWZpcm13YXJlIGRldmljZXMuCiAgKi8KIHN0YXRpYyBpbnQgdWVhX3NlbmRfbW9kZW1fY21kKHN0cnVjdCB1c2JfZGV2aWNlICp1c2IsCi0JCXUxNiBhZGRyLCB1MTYgc2l6ZSwgdTggKiBidWZmKQorCQkJICAgICAgdTE2IGFkZHIsIHUxNiBzaXplLCBjb25zdCB1OCAqYnVmZikKIHsKIAlpbnQgcmV0ID0gLUVOT01FTTsKIAl1OCAqeGZlcl9idWZmOwpAQCAtNjA0LDcgKzYwNCw4IEBACiBzdGF0aWMgdm9pZCB1ZWFfdXBsb2FkX3ByZV9maXJtd2FyZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3X2VudHJ5LCB2b2lkICpjb250ZXh0KQogewogCXN0cnVjdCB1c2JfZGV2aWNlICp1c2IgPSBjb250ZXh0OwotCXU4ICpwZncsIHZhbHVlOworCWNvbnN0IHU4ICpwZnc7CisJdTggdmFsdWU7CiAJdTMyIGNyYyA9IDA7CiAJaW50IHJldCwgc2l6ZTsKIApAQCAtNzIwLDcgKzcyMSw3IEBACiAvKgogICogTWFrZSBzdXJlIHRoYXQgdGhlIERTUCBjb2RlIHByb3ZpZGVkIGlzIHNhZmUgdG8gdXNlLgogICovCi1zdGF0aWMgaW50IGNoZWNrX2RzcF9lMSh1OCAqZHNwLCB1bnNpZ25lZCBpbnQgbGVuKQorc3RhdGljIGludCBjaGVja19kc3BfZTEoY29uc3QgdTggKmRzcCwgdW5zaWduZWQgaW50IGxlbikKIHsKIAl1OCBwYWdlY291bnQsIGJsb2NrY291bnQ7CiAJdTE2IGJsb2Nrc2l6ZTsKQEAgLTc3MSw3ICs3NzIsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNoZWNrX2RzcF9lNCh1OCAqZHNwLCBpbnQgbGVuKQorc3RhdGljIGludCBjaGVja19kc3BfZTQoY29uc3QgdTggKmRzcCwgaW50IGxlbikKIHsKIAlpbnQgaTsKIAlzdHJ1Y3QgbDFfY29kZSAqcCA9IChzdHJ1Y3QgbDFfY29kZSAqKSBkc3A7CkBAIC04MTksNyArODIwLDcgQEAKIC8qCiAgKiBzZW5kIGRhdGEgdG8gdGhlIGlkbWEgcGlwZQogICogKi8KLXN0YXRpYyBpbnQgdWVhX2lkbWFfd3JpdGUoc3RydWN0IHVlYV9zb2Z0YyAqc2MsIHZvaWQgKmRhdGEsIHUzMiBzaXplKQorc3RhdGljIGludCB1ZWFfaWRtYV93cml0ZShzdHJ1Y3QgdWVhX3NvZnRjICpzYywgY29uc3Qgdm9pZCAqZGF0YSwgdTMyIHNpemUpCiB7CiAJaW50IHJldCA9IC1FTk9NRU07CiAJdTggKnhmZXJfYnVmZjsKQEAgLTkwMyw3ICs5MDQsNyBAQAogCXUxNiBvdmwgPSBzYy0+b3ZsOwogCXN0cnVjdCBibG9ja19pbmZvX2UxIGJpOwogCi0JdTggKnA7CisJY29uc3QgdTggKnA7CiAJdTggcGFnZWNvdW50LCBibG9ja2NvdW50OwogCXUxNiBibG9ja2FkZHIsIGJsb2Nrc2l6ZTsKIAl1MzIgcGFnZW9mZnNldDsKQEAgLTk4Niw3ICs5ODcsNyBAQAogCWJpLndSZXNlcnZlZCA9IGNwdV90b19iZTE2KFVFQV9SRVNFUlZFRCk7CiAKIAlkbyB7Ci0JCXU4ICpibG9ja29mZnNldDsKKwkJY29uc3QgdTggKmJsb2Nrb2Zmc2V0OwogCQl1bnNpZ25lZCBpbnQgYmxvY2tzaXplOwogCiAJCWJsb2NraWR4ID0gJnAtPnBhZ2VfaGVhZGVyW2Jsb2Nrbm9dOwpAQCAtMTA5NSw3ICsxMDk2LDcgQEAKICNkZWZpbmUgVUNEQ19TRU5EX0VOQ0FQU1VMQVRFRF9DT01NQU5EIDB4MDAKIAogc3RhdGljIGludCB1ZWFfcmVxdWVzdChzdHJ1Y3QgdWVhX3NvZnRjICpzYywKLQkJdTE2IHZhbHVlLCB1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKQorCQl1MTYgdmFsdWUsIHUxNiBpbmRleCwgdTE2IHNpemUsIGNvbnN0IHZvaWQgKmRhdGEpCiB7CiAJdTggKnhmZXJfYnVmZjsKIAlpbnQgcmV0ID0gLUVOT01FTTsKQEAgLTE4OTEsNyArMTg5Miw4IEBACiB7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmd19lbnRyeTsKIAlpbnQgcmV0LCBzaXplLCB1LCBsbjsKLQl1OCAqcGZ3LCB2YWx1ZTsKKwljb25zdCB1OCAqcGZ3OworCXU4IHZhbHVlOwogCWNoYXIgKmZ3X25hbWUgPSBGV19ESVIgIjkzMC1mcGdhLmJpbiI7CiAKIAl1ZWFfZW50ZXJzKElOU19UT19VU0JERVYoc2MpKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvZGV2aW8uYyBiL2RyaXZlcnMvdXNiL2NvcmUvZGV2aW8uYwppbmRleCBkZTE3NzM4Li45MjE4Y2NhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jb3JlL2RldmlvLmMKKysrIGIvZHJpdmVycy91c2IvY29yZS9kZXZpby5jCkBAIC01NjUsNiArNTY1LDcgQEAKIAlzdHJ1Y3QgZGV2X3N0YXRlICpwczsKIAlpbnQgcmV0OwogCisJbG9ja19rZXJuZWwoKTsKIAkvKiBQcm90ZWN0IGFnYWluc3Qgc2ltdWx0YW5lb3VzIHJlbW92YWwgb3IgcmVsZWFzZSAqLwogCW11dGV4X2xvY2soJnVzYmZzX211dGV4KTsKIApAQCAtNjExLDYgKzYxMiw3IEBACiAJaWYgKHJldCkKIAkJa2ZyZWUocHMpOwogCW11dGV4X3VubG9jaygmdXNiZnNfbXV0ZXgpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL2ZpbGUuYyBiL2RyaXZlcnMvdXNiL2NvcmUvZmlsZS5jCmluZGV4IDgxMzNjOTkuLmM2YTk1MzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvZmlsZS5jCisrKyBiL2RyaXZlcnMvdXNiL2NvcmUvZmlsZS5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9yd3NlbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAKICNpbmNsdWRlICJ1c2IuaCIKQEAgLTMzLDYgKzM0LDcgQEAKIAlpbnQgZXJyID0gLUVOT0RFVjsKIAljb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpvbGRfZm9wcywgKm5ld19mb3BzID0gTlVMTDsKIAorCWxvY2tfa2VybmVsKCk7CiAJZG93bl9yZWFkKCZtaW5vcl9yd3NlbSk7CiAJYyA9IHVzYl9taW5vcnNbbWlub3JdOwogCkBAIC01MSw2ICs1Myw3IEBACiAJZm9wc19wdXQob2xkX2ZvcHMpOwogIGRvbmU6CiAJdXBfcmVhZCgmbWlub3JfcndzZW0pOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZyBiL2RyaXZlcnMvdXNiL2dhZGdldC9LY29uZmlnCmluZGV4IDZlNzg0ZDIuLmQ2YmFiMGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9LY29uZmlnCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9LY29uZmlnCkBAIC0xMTgsMTAgKzExOCwxMCBAQAogY29uZmlnIFVTQl9HQURHRVRfQVRNRUxfVVNCQQogCWJvb2xlYW4gIkF0bWVsIFVTQkEiCiAJc2VsZWN0IFVTQl9HQURHRVRfRFVBTFNQRUVECi0JZGVwZW5kcyBvbiBBVlIzMiB8fCBBUkNIX0FUOTFDQVA5CisJZGVwZW5kcyBvbiBBVlIzMiB8fCBBUkNIX0FUOTFDQVA5IHx8IEFSQ0hfQVQ5MVNBTTlSTAogCWhlbHAKIAkgIFVTQkEgaXMgdGhlIGludGVncmF0ZWQgaGlnaC1zcGVlZCBVU0IgRGV2aWNlIGNvbnRyb2xsZXIgb24KLQkgIHRoZSBBVDMyQVA3MDB4IGFuZCBBVDkxQ0FQOSBwcm9jZXNzb3JzIGZyb20gQXRtZWwuCisJICB0aGUgQVQzMkFQNzAweCwgc29tZSBBVDkxU0FNOSBhbmQgQVQ5MUNBUDkgcHJvY2Vzc29ycyBmcm9tIEF0bWVsLgogCiBjb25maWcgVVNCX0FUTUVMX1VTQkEKIAl0cmlzdGF0ZQpAQCAtMTcyLDcgKzE3Miw3IEBACiAJZGVmYXVsdCBVU0JfR0FER0VUCiAJc2VsZWN0IFVTQl9HQURHRVRfU0VMRUNURUQKIAotY29uZmlnIFVTQl9HQURHRVRfUFhBMlhYCitjb25maWcgVVNCX0dBREdFVF9QWEEyNVgKIAlib29sZWFuICJQWEEgMjV4IG9yIElYUCA0eHgiCiAJZGVwZW5kcyBvbiAoQVJDSF9QWEEgJiYgUFhBMjV4KSB8fCBBUkNIX0lYUDRYWAogCWhlbHAKQEAgLTE4NCwxOSArMTg0LDE5IEBACiAJICAgemVybyAoZm9yIGNvbnRyb2wgdHJhbnNmZXJzKS4KIAogCSAgIFNheSAieSIgdG8gbGluayB0aGUgZHJpdmVyIHN0YXRpY2FsbHksIG9yICJtIiB0byBidWlsZCBhCi0JICAgZHluYW1pY2FsbHkgbGlua2VkIG1vZHVsZSBjYWxsZWQgInB4YTJ4eF91ZGMiIGFuZCBmb3JjZSBhbGwKKwkgICBkeW5hbWljYWxseSBsaW5rZWQgbW9kdWxlIGNhbGxlZCAicHhhMjV4X3VkYyIgYW5kIGZvcmNlIGFsbAogCSAgIGdhZGdldCBkcml2ZXJzIHRvIGFsc28gYmUgZHluYW1pY2FsbHkgbGlua2VkLgogCi1jb25maWcgVVNCX1BYQTJYWAorY29uZmlnIFVTQl9QWEEyNVgKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gVVNCX0dBREdFVF9QWEEyWFgKKwlkZXBlbmRzIG9uIFVTQl9HQURHRVRfUFhBMjVYCiAJZGVmYXVsdCBVU0JfR0FER0VUCiAJc2VsZWN0IFVTQl9HQURHRVRfU0VMRUNURUQKIAogIyBpZiB0aGVyZSdzIG9ubHkgb25lIGdhZGdldCBkcml2ZXIsIHVzaW5nIG9ubHkgdHdvIGJ1bGsgZW5kcG9pbnRzLAogIyBkb24ndCB3YXN0ZSBtZW1vcnkgZm9yIHRoZSBvdGhlciBlbmRwb2ludHMKLWNvbmZpZyBVU0JfUFhBMlhYX1NNQUxMCi0JZGVwZW5kcyBvbiBVU0JfR0FER0VUX1BYQTJYWAorY29uZmlnIFVTQl9QWEEyNVhfU01BTEwKKwlkZXBlbmRzIG9uIFVTQl9HQURHRVRfUFhBMjVYCiAJYm9vbAogCWRlZmF1bHQgbiBpZiBVU0JfRVRIX1JORElTCiAJZGVmYXVsdCB5IGlmIFVTQl9aRVJPCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvTWFrZWZpbGUgYi9kcml2ZXJzL3VzYi9nYWRnZXQvTWFrZWZpbGUKaW5kZXggMTIzNTcyNS4uZTI1OGFmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9NYWtlZmlsZQpAQCAtOCw3ICs4LDcgQEAKIG9iai0kKENPTkZJR19VU0JfRFVNTVlfSENEKQkrPSBkdW1teV9oY2Qubwogb2JqLSQoQ09ORklHX1VTQl9ORVQyMjgwKQkrPSBuZXQyMjgwLm8KIG9iai0kKENPTkZJR19VU0JfQU1ENTUzNlVEQykJKz0gYW1kNTUzNnVkYy5vCi1vYmotJChDT05GSUdfVVNCX1BYQTJYWCkJKz0gcHhhMnh4X3VkYy5vCitvYmotJChDT05GSUdfVVNCX1BYQTI1WCkJKz0gcHhhMjV4X3VkYy5vCiBvYmotJChDT05GSUdfVVNCX1BYQTI3WCkJKz0gcHhhMjd4X3VkYy5vCiBvYmotJChDT05GSUdfVVNCX0dPS1UpCQkrPSBnb2t1X3VkYy5vCiBvYmotJChDT05GSUdfVVNCX09NQVApCQkrPSBvbWFwX3VkYy5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvYXQ5MV91ZGMuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9hdDkxX3VkYy5jCmluZGV4IDI3NGM2MGEuLmI2YjJhMGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9hdDkxX3VkYy5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9hdDkxX3VkYy5jCkBAIC04ODgsNyArODg4LDcgQEAKIAkJYXQ5MV91ZHBfd3JpdGUodWRjLCBBVDkxX1VEUF9UWFZDLCAwKTsKIAkJaWYgKGNwdV9pc19hdDkxcm05MjAwKCkpCiAJCQlncGlvX3NldF92YWx1ZSh1ZGMtPmJvYXJkLnB1bGx1cF9waW4sIGFjdGl2ZSk7Ci0JCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpKSB7CisJCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpIHx8IGNwdV9pc19hdDkxc2FtOWcyMCgpKSB7CiAJCQl1MzIJdHh2YyA9IGF0OTFfdWRwX3JlYWQodWRjLCBBVDkxX1VEUF9UWFZDKTsKIAogCQkJdHh2YyB8PSBBVDkxX1VEUF9UWFZDX1BVT047CkBAIC05MDYsNyArOTA2LDcgQEAKIAkJYXQ5MV91ZHBfd3JpdGUodWRjLCBBVDkxX1VEUF9UWFZDLCBBVDkxX1VEUF9UWFZDX1RYVkRJUyk7CiAJCWlmIChjcHVfaXNfYXQ5MXJtOTIwMCgpKQogCQkJZ3Bpb19zZXRfdmFsdWUodWRjLT5ib2FyZC5wdWxsdXBfcGluLCAhYWN0aXZlKTsKLQkJZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkpIHsKKwkJZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkgfHwgY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKIAkJCXUzMgl0eHZjID0gYXQ5MV91ZHBfcmVhZCh1ZGMsIEFUOTFfVURQX1RYVkMpOwogCiAJCQl0eHZjICY9IH5BVDkxX1VEUF9UWFZDX1BVT047CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvZXRoZXIuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9ldGhlci5jCmluZGV4IDhkNjFlYTYuLjRjZTM5NTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9ldGhlci5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9ldGhlci5jCkBAIC0yNjIsNyArMjYyLDcgQEAKIC8qIEZvciBDREMtaW5jYXBhYmxlIGhhcmR3YXJlLCBjaG9vc2UgdGhlIHNpbXBsZSBjZGMgc3Vic2V0LgogICogQW55dGhpbmcgdGhhdCB0YWxrcyBidWxrICh3aXRob3V0IG5vdGFibGUgYnVncykgY2FuIGRvIHRoaXMuCiAgKi8KLSNpZmRlZiBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFgKKyNpZmRlZiBDT05GSUdfVVNCX0dBREdFVF9QWEEyNVgKICNkZWZpbmUJREVWX0NPTkZJR19TVUJTRVQKICNlbmRpZgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvZ2FkZ2V0X2NoaXBzLmggYi9kcml2ZXJzL3VzYi9nYWRnZXQvZ2FkZ2V0X2NoaXBzLmgKaW5kZXggZjdmMTU5Yy4uY2E1MTQ5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L2dhZGdldF9jaGlwcy5oCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9nYWRnZXRfY2hpcHMuaApAQCAtMjksOCArMjksOCBAQAogI2RlZmluZQlnYWRnZXRfaXNfZHVtbXkoZykJMAogI2VuZGlmCiAKLSNpZmRlZiBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFgKLSNkZWZpbmUJZ2FkZ2V0X2lzX3B4YShnKQkhc3RyY21wKCJweGEyeHhfdWRjIiwgKGcpLT5uYW1lKQorI2lmZGVmIENPTkZJR19VU0JfR0FER0VUX1BYQTI1WAorI2RlZmluZQlnYWRnZXRfaXNfcHhhKGcpCSFzdHJjbXAoInB4YTI1eF91ZGMiLCAoZyktPm5hbWUpCiAjZWxzZQogI2RlZmluZQlnYWRnZXRfaXNfcHhhKGcpCTAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2lub2RlLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvaW5vZGUuYwppbmRleCA2OWIwYTI3Li5mMTMyYTkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvaW5vZGUuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvaW5vZGUuYwpAQCAtMTUwMSw3ICsxNTAxLDcgQEAKIAkJfQogCQlicmVhazsKIAotI2lmbmRlZglDT05GSUdfVVNCX0dBREdFVF9QWEEyWFgKKyNpZm5kZWYJQ09ORklHX1VTQl9HQURHRVRfUFhBMjVYCiAJLyogUFhBIGF1dG9tYWdpY2FsbHkgaGFuZGxlcyB0aGlzIHJlcXVlc3QgdG9vICovCiAJY2FzZSBVU0JfUkVRX0dFVF9DT05GSUdVUkFUSU9OOgogCQlpZiAoY3RybC0+YlJlcXVlc3RUeXBlICE9IDB4ODApCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5jCmluZGV4IDg4MWQ3NGMuLjAzYTdmNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5jCkBAIC0xMzUsMTMgKzEzNSwxNyBAQAogCiAJaWYgKGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTikKIAkJbnVtIHw9IFVEQ19FUF9ESVI7Ci0JVURDX0VQX05VTV9SRUcgPSBudW0gfCBzZWxlY3Q7CisJb21hcF93cml0ZXcobnVtIHwgc2VsZWN0LCBVRENfRVBfTlVNKTsKIAkvKiB3aGVuIHNlbGVjdCwgTVVTVCBkZXNlbGVjdCBsYXRlciAhISAqLwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZGVzZWxlY3RfZXAodm9pZCkKIHsKLQlVRENfRVBfTlVNX1JFRyAmPSB+VURDX0VQX1NFTDsKKwl1MTYgdzsKKworCXcgPSBvbWFwX3JlYWR3KFVEQ19FUF9OVU0pOworCXcgJj0gflVEQ19FUF9TRUw7CisJb21hcF93cml0ZXcodywgVURDX0VQX05VTSk7CiAJLyogNiB3YWl0IHN0YXRlcyBiZWZvcmUgVFggd2lsbCBoYXBwZW4gKi8KIH0KIApAQCAtMjE2LDcgKzIyMCw3IEBACiAJZXAtPmhhc19kbWEgPSAwOwogCWVwLT5sY2ggPSAtMTsKIAl1c2VfZXAoZXAsIFVEQ19FUF9TRUwpOwotCVVEQ19DVFJMX1JFRyA9IHVkYy0+Y2xyX2hhbHQ7CisJb21hcF93cml0ZXcodWRjLT5jbHJfaGFsdCwgVURDX0NUUkwpOwogCWVwLT5hY2t3YWl0ID0gMDsKIAlkZXNlbGVjdF9lcCgpOwogCkBAIC0yMzIsNyArMjM2LDcgQEAKIAlpZiAoZGVzYy0+Ym1BdHRyaWJ1dGVzICE9IFVTQl9FTkRQT0lOVF9YRkVSX0lTT0MKIAkJCSYmICFlcC0+aGFzX2RtYQogCQkJJiYgIShlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU4pKSB7Ci0JCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCX0KIApAQCAtMjU5LDcgKzI2Myw3IEBACiAJbnVrZSAoZXAsIC1FU0hVVERPV04pOwogCWVwLT5lcC5tYXhwYWNrZXQgPSBlcC0+bWF4cGFja2V0OwogCWVwLT5oYXNfZG1hID0gMDsKLQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0hBTFQ7CisJb21hcF93cml0ZXcoVURDX1NFVF9IQUxULCBVRENfQ1RSTCk7CiAJbGlzdF9kZWxfaW5pdCgmZXAtPmlzbyk7CiAJZGVsX3RpbWVyKCZlcC0+dGltZXIpOwogCkBAIC0zNjAsMTMgKzM2NCwxMyBAQAogCWlmIChsaWtlbHkoKCgoaW50KWJ1ZikgJiAxKSA9PSAwKSkgewogCQl3cCA9ICh1MTYgKilidWY7CiAJCXdoaWxlIChtYXggPj0gMikgewotCQkJVURDX0RBVEFfUkVHID0gKndwKys7CisJCQlvbWFwX3dyaXRldygqd3ArKywgVURDX0RBVEEpOwogCQkJbWF4IC09IDI7CiAJCX0KIAkJYnVmID0gKHU4ICopd3A7CiAJfQogCXdoaWxlIChtYXgtLSkKLQkJKih2b2xhdGlsZSB1OCAqKSZVRENfREFUQV9SRUcgPSAqYnVmKys7CisJCW9tYXBfd3JpdGViKCpidWYrKywgVURDX0RBVEEpOwogCXJldHVybiBsZW47CiB9CiAKQEAgLTM4NSwxMyArMzg5LDEzIEBACiAJcHJlZmV0Y2goYnVmKTsKIAogCS8qIFBJTy1JTiBpc24ndCBkb3VibGUgYnVmZmVyZWQgZXhjZXB0IGZvciBpc28gKi8KLQllcF9zdGF0ID0gVURDX1NUQVRfRkxHX1JFRzsKKwllcF9zdGF0ID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCWlmIChlcF9zdGF0ICYgVURDX0ZJRk9fVU5XUklUQUJMRSkKIAkJcmV0dXJuIDA7CiAKIAljb3VudCA9IGVwLT5lcC5tYXhwYWNrZXQ7CiAJY291bnQgPSB3cml0ZV9wYWNrZXQoYnVmLCByZXEsIGNvdW50KTsKLQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJZXAtPmFja3dhaXQgPSAxOwogCiAJLyogbGFzdCBwYWNrZXQgaXMgb2Z0ZW4gc2hvcnQgKHNvbWV0aW1lcyBhIHpscCkgKi8KQEAgLTQyNSwxMyArNDI5LDEzIEBACiAJaWYgKGxpa2VseSgoKChpbnQpYnVmKSAmIDEpID09IDApKSB7CiAJCXdwID0gKHUxNiAqKWJ1ZjsKIAkJd2hpbGUgKGF2YWlsID49IDIpIHsKLQkJCSp3cCsrID0gVURDX0RBVEFfUkVHOworCQkJKndwKysgPSBvbWFwX3JlYWR3KFVEQ19EQVRBKTsKIAkJCWF2YWlsIC09IDI7CiAJCX0KIAkJYnVmID0gKHU4ICopd3A7CiAJfQogCXdoaWxlIChhdmFpbC0tKQotCQkqYnVmKysgPSAqKHZvbGF0aWxlIHU4ICopJlVEQ19EQVRBX1JFRzsKKwkJKmJ1ZisrID0gb21hcF9yZWFkYihVRENfREFUQSk7CiAJcmV0dXJuIGxlbjsKIH0KIApAQCAtNDQ2LDcgKzQ1MCw3IEBACiAJcHJlZmV0Y2h3KGJ1Zik7CiAKIAlmb3IgKDs7KSB7Ci0JCXUxNgllcF9zdGF0ID0gVURDX1NUQVRfRkxHX1JFRzsKKwkJdTE2CWVwX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRyk7CiAKIAkJaXNfbGFzdCA9IDA7CiAJCWlmIChlcF9zdGF0ICYgRklGT19FTVBUWSkgewpAQCAtNDYwLDcgKzQ2NCw3IEBACiAJCWlmIChlcF9zdGF0ICYgVURDX0ZJRk9fRlVMTCkKIAkJCWF2YWlsID0gZXAtPmVwLm1heHBhY2tldDsKIAkJZWxzZSAgewotCQkJYXZhaWwgPSBVRENfUlhGU1RBVF9SRUc7CisJCQlhdmFpbCA9IG9tYXBfcmVhZHcoVURDX1JYRlNUQVQpOwogCQkJZXAtPmZuZiA9IGVwLT5kb3VibGVfYnVmOwogCQl9CiAJCWNvdW50ID0gcmVhZF9wYWNrZXQoYnVmLCByZXEsIGF2YWlsKTsKQEAgLTQ3Myw3ICs0NzcsNyBAQAogCQkJCXJlcS0+cmVxLnN0YXR1cyA9IC1FT1ZFUkZMT1c7CiAJCQkJYXZhaWwgLT0gY291bnQ7CiAJCQkJd2hpbGUgKGF2YWlsLS0pCi0JCQkJCSh2b2lkKSAqKHZvbGF0aWxlIHU4ICopJlVEQ19EQVRBX1JFRzsKKwkJCQkJb21hcF9yZWFkdyhVRENfREFUQSk7CiAJCQl9CiAJCX0gZWxzZSBpZiAocmVxLT5yZXEubGVuZ3RoID09IHJlcS0+cmVxLmFjdHVhbCkKIAkJCWlzX2xhc3QgPSAxOwpAQCAtNDkxLDMyICs0OTUsNiBAQAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi1zdGF0aWMgaW5saW5lIGRtYV9hZGRyX3QgZG1hX2NzYWModW5zaWduZWQgbGNoKQotewotCWRtYV9hZGRyX3QJY3NhYzsKLQotCS8qIG9tYXAgMy4yLzMuMyBlcnJhdHVtOiBzb21ldGltZXMgMCBpcyByZXR1cm5lZCBpZiBDU0FDL0NEQUMgaXMKLQkgKiByZWFkIGJlZm9yZSB0aGUgRE1BIGNvbnRyb2xsZXIgZmluaXNoZWQgZGlzYWJsaW5nIHRoZSBjaGFubmVsLgotCSAqLwotCWNzYWMgPSBPTUFQX0RNQV9DU0FDX1JFRyhsY2gpOwotCWlmIChjc2FjID09IDApCi0JCWNzYWMgPSBPTUFQX0RNQV9DU0FDX1JFRyhsY2gpOwotCXJldHVybiBjc2FjOwotfQotCi1zdGF0aWMgaW5saW5lIGRtYV9hZGRyX3QgZG1hX2NkYWModW5zaWduZWQgbGNoKQotewotCWRtYV9hZGRyX3QJY2RhYzsKLQotCS8qIG9tYXAgMy4yLzMuMyBlcnJhdHVtOiBzb21ldGltZXMgMCBpcyByZXR1cm5lZCBpZiBDU0FDL0NEQUMgaXMKLQkgKiByZWFkIGJlZm9yZSB0aGUgRE1BIGNvbnRyb2xsZXIgZmluaXNoZWQgZGlzYWJsaW5nIHRoZSBjaGFubmVsLgotCSAqLwotCWNkYWMgPSBPTUFQX0RNQV9DREFDX1JFRyhsY2gpOwotCWlmIChjZGFjID09IDApCi0JCWNkYWMgPSBPTUFQX0RNQV9DREFDX1JFRyhsY2gpOwotCXJldHVybiBjZGFjOwotfQotCiBzdGF0aWMgdTE2IGRtYV9zcmNfbGVuKHN0cnVjdCBvbWFwX2VwICplcCwgZG1hX2FkZHJfdCBzdGFydCkKIHsKIAlkbWFfYWRkcl90CWVuZDsKQEAgLTUyNyw3ICs1MDUsNyBAQAogCWlmIChjcHVfaXNfb21hcDE1eHgoKSkKIAkJcmV0dXJuIDA7CiAKLQllbmQgPSBkbWFfY3NhYyhlcC0+bGNoKTsKKwllbmQgPSBvbWFwX2dldF9kbWFfc3JjX3BvcyhlcC0+bGNoKTsKIAlpZiAoZW5kID09IGVwLT5kbWFfY291bnRlcikKIAkJcmV0dXJuIDA7CiAKQEAgLTUzNywxNSArNTE1LDExIEBACiAJcmV0dXJuIGVuZCAtIHN0YXJ0OwogfQogCi0jZGVmaW5lIERNQV9ERVNUX0xBU1QoeCkgKGNwdV9pc19vbWFwMTV4eCgpIFwKLQkJPyBPTUFQX0RNQV9DU0FDX1JFRyh4KSAvKiByZWFsbHk6IENQQyAqLyBcCi0JCTogZG1hX2NkYWMoeCkpCi0KIHN0YXRpYyB1MTYgZG1hX2Rlc3RfbGVuKHN0cnVjdCBvbWFwX2VwICplcCwgZG1hX2FkZHJfdCBzdGFydCkKIHsKIAlkbWFfYWRkcl90CWVuZDsKIAotCWVuZCA9IERNQV9ERVNUX0xBU1QoZXAtPmxjaCk7CisJZW5kID0gb21hcF9nZXRfZG1hX2RzdF9wb3MoZXAtPmxjaCk7CiAJaWYgKGVuZCA9PSBlcC0+ZG1hX2NvdW50ZXIpCiAJCXJldHVybiAwOwogCkBAIC01NjUsNyArNTM5LDcgQEAKIAogc3RhdGljIHZvaWQgbmV4dF9pbl9kbWEoc3RydWN0IG9tYXBfZXAgKmVwLCBzdHJ1Y3Qgb21hcF9yZXEgKnJlcSkKIHsKLQl1MTYJCXR4ZG1hX2N0cmw7CisJdTE2CQl0eGRtYV9jdHJsLCB3OwogCXVuc2lnbmVkCWxlbmd0aCA9IHJlcS0+cmVxLmxlbmd0aCAtIHJlcS0+cmVxLmFjdHVhbDsKIAljb25zdCBpbnQJc3luY19tb2RlID0gY3B1X2lzX29tYXAxNXh4KCkKIAkJCQk/IE9NQVBfRE1BX1NZTkNfRlJBTUUKQEAgLTU5NiwxNCArNTcwLDE4IEBACiAJCTAsIDApOwogCiAJb21hcF9zdGFydF9kbWEoZXAtPmxjaCk7Ci0JZXAtPmRtYV9jb3VudGVyID0gZG1hX2NzYWMoZXAtPmxjaCk7Ci0JVURDX0RNQV9JUlFfRU5fUkVHIHw9IFVEQ19UWF9ET05FX0lFKGVwLT5kbWFfY2hhbm5lbCk7Ci0JVURDX1RYRE1BX1JFRyhlcC0+ZG1hX2NoYW5uZWwpID0gVURDX1RYTl9TVEFSVCB8IHR4ZG1hX2N0cmw7CisJZXAtPmRtYV9jb3VudGVyID0gb21hcF9nZXRfZG1hX3NyY19wb3MoZXAtPmxjaCk7CisJdyA9IG9tYXBfcmVhZHcoVURDX0RNQV9JUlFfRU4pOworCXcgfD0gVURDX1RYX0RPTkVfSUUoZXAtPmRtYV9jaGFubmVsKTsKKwlvbWFwX3dyaXRldyh3LCBVRENfRE1BX0lSUV9FTik7CisJb21hcF93cml0ZXcoVURDX1RYTl9TVEFSVCB8IHR4ZG1hX2N0cmwsIFVEQ19UWERNQShlcC0+ZG1hX2NoYW5uZWwpKTsKIAlyZXEtPmRtYV9ieXRlcyA9IGxlbmd0aDsKIH0KIAogc3RhdGljIHZvaWQgZmluaXNoX2luX2RtYShzdHJ1Y3Qgb21hcF9lcCAqZXAsIHN0cnVjdCBvbWFwX3JlcSAqcmVxLCBpbnQgc3RhdHVzKQogeworCXUxNiB3OworCiAJaWYgKHN0YXR1cyA9PSAwKSB7CiAJCXJlcS0+cmVxLmFjdHVhbCArPSByZXEtPmRtYV9ieXRlczsKIApAQCAtNjIwLDcgKzU5OCw5IEBACiAKIAkvKiB0eCBjb21wbGV0aW9uICovCiAJb21hcF9zdG9wX2RtYShlcC0+bGNoKTsKLQlVRENfRE1BX0lSUV9FTl9SRUcgJj0gflVEQ19UWF9ET05FX0lFKGVwLT5kbWFfY2hhbm5lbCk7CisJdyA9IG9tYXBfcmVhZHcoVURDX0RNQV9JUlFfRU4pOworCXcgJj0gflVEQ19UWF9ET05FX0lFKGVwLT5kbWFfY2hhbm5lbCk7CisJb21hcF93cml0ZXcodywgVURDX0RNQV9JUlFfRU4pOwogCWRvbmUoZXAsIHJlcSwgc3RhdHVzKTsKIH0KIApAQCAtNjI4LDYgKzYwOCw3IEBACiB7CiAJdW5zaWduZWQgcGFja2V0cyA9IHJlcS0+cmVxLmxlbmd0aCAtIHJlcS0+cmVxLmFjdHVhbDsKIAlpbnQgZG1hX3RyaWdnZXIgPSAwOworCXUxNiB3OwogCiAJaWYgKGNwdV9pc19vbWFwMjR4eCgpKQogCQlkbWFfdHJpZ2dlciA9IE9NQVAyNFhYX0RNQShVU0JfVzJGQ19SWDAsIGVwLT5kbWFfY2hhbm5lbCk7CkBAIC02NTQsMTIgKzYzNSwxNCBAQAogCW9tYXBfc2V0X2RtYV9kZXN0X3BhcmFtcyhlcC0+bGNoLCBPTUFQX0RNQV9QT1JUX0VNSUZGLAogCQlPTUFQX0RNQV9BTU9ERV9QT1NUX0lOQywgcmVxLT5yZXEuZG1hICsgcmVxLT5yZXEuYWN0dWFsLAogCQkwLCAwKTsKLQllcC0+ZG1hX2NvdW50ZXIgPSBETUFfREVTVF9MQVNUKGVwLT5sY2gpOworCWVwLT5kbWFfY291bnRlciA9IG9tYXBfZ2V0X2RtYV9kc3RfcG9zKGVwLT5sY2gpOwogCi0JVURDX1JYRE1BX1JFRyhlcC0+ZG1hX2NoYW5uZWwpID0gVURDX1JYTl9TVE9QIHwgKHBhY2tldHMgLSAxKTsKLQlVRENfRE1BX0lSUV9FTl9SRUcgfD0gVURDX1JYX0VPVF9JRShlcC0+ZG1hX2NoYW5uZWwpOwotCVVEQ19FUF9OVU1fUkVHID0gKGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgMHhmKTsKLQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJb21hcF93cml0ZXcoVURDX1JYTl9TVE9QIHwgKHBhY2tldHMgLSAxKSwgVURDX1JYRE1BKGVwLT5kbWFfY2hhbm5lbCkpOworCXcgPSBvbWFwX3JlYWR3KFVEQ19ETUFfSVJRX0VOKTsKKwl3IHw9IFVEQ19SWF9FT1RfSUUoZXAtPmRtYV9jaGFubmVsKTsKKwlvbWFwX3dyaXRldyh3LCBVRENfRE1BX0lSUV9FTik7CisJb21hcF93cml0ZXcoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiAweGYsIFVEQ19FUF9OVU0pOworCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCiAJb21hcF9zdGFydF9kbWEoZXAtPmxjaCk7CiB9CkBAIC02NjcsNyArNjUwLDcgQEAKIHN0YXRpYyB2b2lkCiBmaW5pc2hfb3V0X2RtYShzdHJ1Y3Qgb21hcF9lcCAqZXAsIHN0cnVjdCBvbWFwX3JlcSAqcmVxLCBpbnQgc3RhdHVzLCBpbnQgb25lKQogewotCXUxNgljb3VudDsKKwl1MTYJY291bnQsIHc7CiAKIAlpZiAoc3RhdHVzID09IDApCiAJCWVwLT5kbWFfY291bnRlciA9ICh1MTYpIChyZXEtPnJlcS5kbWEgKyByZXEtPnJlcS5hY3R1YWwpOwpAQCAtNjg2LDEzICs2NjksMTUgQEAKIAkJcmV0dXJuOwogCiAJLyogcnggY29tcGxldGlvbiAqLwotCVVEQ19ETUFfSVJRX0VOX1JFRyAmPSB+VURDX1JYX0VPVF9JRShlcC0+ZG1hX2NoYW5uZWwpOworCXcgPSBvbWFwX3JlYWR3KFVEQ19ETUFfSVJRX0VOKTsKKwl3ICY9IH5VRENfUlhfRU9UX0lFKGVwLT5kbWFfY2hhbm5lbCk7CisJb21hcF93cml0ZXcodywgVURDX0RNQV9JUlFfRU4pOwogCWRvbmUoZXAsIHJlcSwgc3RhdHVzKTsKIH0KIAogc3RhdGljIHZvaWQgZG1hX2lycShzdHJ1Y3Qgb21hcF91ZGMgKnVkYywgdTE2IGlycV9zcmMpCiB7Ci0JdTE2CQlkbWFuX3N0YXQgPSBVRENfRE1BTl9TVEFUX1JFRzsKKwl1MTYJCWRtYW5fc3RhdCA9IG9tYXBfcmVhZHcoVURDX0RNQU5fU1RBVCk7CiAJc3RydWN0IG9tYXBfZXAJKmVwOwogCXN0cnVjdCBvbWFwX3JlcQkqcmVxOwogCkBAIC03MDYsNyArNjkxLDcgQEAKIAkJCQkJCXN0cnVjdCBvbWFwX3JlcSwgcXVldWUpOwogCQkJZmluaXNoX2luX2RtYShlcCwgcmVxLCAwKTsKIAkJfQotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfVFhOX0RPTkU7CisJCW9tYXBfd3JpdGV3KFVEQ19UWE5fRE9ORSwgVURDX0lSUV9TUkMpOwogCiAJCWlmICghbGlzdF9lbXB0eSAoJmVwLT5xdWV1ZSkpIHsKIAkJCXJlcSA9IGNvbnRhaW5lcl9vZihlcC0+cXVldWUubmV4dCwKQEAgLTcyNSw3ICs3MTAsNyBAQAogCQkJCQlzdHJ1Y3Qgb21hcF9yZXEsIHF1ZXVlKTsKIAkJCWZpbmlzaF9vdXRfZG1hKGVwLCByZXEsIDAsIGRtYW5fc3RhdCAmIFVEQ19ETUFfUlhfU0IpOwogCQl9Ci0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19SWE5fRU9UOworCQlvbWFwX3dyaXRldyhVRENfUlhOX0VPVCwgVURDX0lSUV9TUkMpOwogCiAJCWlmICghbGlzdF9lbXB0eSAoJmVwLT5xdWV1ZSkpIHsKIAkJCXJlcSA9IGNvbnRhaW5lcl9vZihlcC0+cXVldWUubmV4dCwKQEAgLTczOSw3ICs3MjQsNyBAQAogCQllcC0+aXJxcysrOwogCQkvKiBvbWFwMTV4eCBkb2VzIHRoaXMgdW5hc2tlZC4uLiAqLwogCQlWREJHKCIlcywgUlhfQ05UIGlycT9cbiIsIGVwLT5lcC5uYW1lKTsKLQkJVURDX0lSUV9TUkNfUkVHID0gVURDX1JYTl9DTlQ7CisJCW9tYXBfd3JpdGV3KFVEQ19SWE5fQ05ULCBVRENfSVJRX1NSQyk7CiAJfQogfQogCkBAIC03NjIsOSArNzQ3LDkgQEAKIAogCWlzX2luID0gZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOOwogCWlmIChpc19pbikKLQkJcmVnID0gVURDX1RYRE1BX0NGR19SRUc7CisJCXJlZyA9IG9tYXBfcmVhZHcoVURDX1RYRE1BX0NGRyk7CiAJZWxzZQotCQlyZWcgPSBVRENfUlhETUFfQ0ZHX1JFRzsKKwkJcmVnID0gb21hcF9yZWFkdyhVRENfUlhETUFfQ0ZHKTsKIAlyZWcgfD0gVURDX0RNQV9SRVE7CQkvKiAicHVsc2UiIGFjdGl2YXRlZCAqLwogCiAJZXAtPmRtYV9jaGFubmVsID0gMDsKQEAgLTc5Miw3ICs3NzcsNyBAQAogCQlzdGF0dXMgPSBvbWFwX3JlcXVlc3RfZG1hKGRtYV9jaGFubmVsLAogCQkJZXAtPmVwLm5hbWUsIGRtYV9lcnJvciwgZXAsICZlcC0+bGNoKTsKIAkJaWYgKHN0YXR1cyA9PSAwKSB7Ci0JCQlVRENfVFhETUFfQ0ZHX1JFRyA9IHJlZzsKKwkJCW9tYXBfd3JpdGV3KHJlZywgVURDX1RYRE1BX0NGRyk7CiAJCQkvKiBFTUlGRiBvciBTRFJDICovCiAJCQlvbWFwX3NldF9kbWFfc3JjX2J1cnN0X21vZGUoZXAtPmxjaCwKIAkJCQkJCU9NQVBfRE1BX0RBVEFfQlVSU1RfNCk7CkBAIC04MDEsNyArNzg2LDcgQEAKIAkJCW9tYXBfc2V0X2RtYV9kZXN0X3BhcmFtcyhlcC0+bGNoLAogCQkJCU9NQVBfRE1BX1BPUlRfVElQQiwKIAkJCQlPTUFQX0RNQV9BTU9ERV9DT05TVEFOVCwKLQkJCQkodW5zaWduZWQgbG9uZykgaW9fdjJwKCh1MzIpJlVEQ19EQVRBX0RNQV9SRUcpLAorCQkJCSh1bnNpZ25lZCBsb25nKSBpb192MnAoVURDX0RBVEFfRE1BKSwKIAkJCQkwLCAwKTsKIAkJfQogCX0gZWxzZSB7CkBAIC04MTMsMTIgKzc5OCwxMiBAQAogCQlzdGF0dXMgPSBvbWFwX3JlcXVlc3RfZG1hKGRtYV9jaGFubmVsLAogCQkJZXAtPmVwLm5hbWUsIGRtYV9lcnJvciwgZXAsICZlcC0+bGNoKTsKIAkJaWYgKHN0YXR1cyA9PSAwKSB7Ci0JCQlVRENfUlhETUFfQ0ZHX1JFRyA9IHJlZzsKKwkJCW9tYXBfd3JpdGV3KHJlZywgVURDX1JYRE1BX0NGRyk7CiAJCQkvKiBUSVBCICovCiAJCQlvbWFwX3NldF9kbWFfc3JjX3BhcmFtcyhlcC0+bGNoLAogCQkJCU9NQVBfRE1BX1BPUlRfVElQQiwKIAkJCQlPTUFQX0RNQV9BTU9ERV9DT05TVEFOVCwKLQkJCQkodW5zaWduZWQgbG9uZykgaW9fdjJwKCh1MzIpJlVEQ19EQVRBX0RNQV9SRUcpLAorCQkJCSh1bnNpZ25lZCBsb25nKSBpb192MnAoVURDX0RBVEFfRE1BKSwKIAkJCQkwLCAwKTsKIAkJCS8qIEVNSUZGIG9yIFNEUkMgKi8KIAkJCW9tYXBfc2V0X2RtYV9kZXN0X2J1cnN0X21vZGUoZXAtPmxjaCwKQEAgLTgzNCw3ICs4MTksNyBAQAogCiAJCS8qIGNoYW5uZWwgdHlwZSBQOiBodyBzeW5jaCAoZmlmbykgKi8KIAkJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpICYmICFjcHVfaXNfb21hcDE1eHgoKSkKLQkJCU9NQVAxX0RNQV9MQ0hfQ1RSTF9SRUcoZXAtPmxjaCkgPSAyOworCQkJb21hcF9zZXRfZG1hX2NoYW5uZWxfbW9kZShlcC0+bGNoLCBPTUFQX0RNQV9MQ0hfUCk7CiAJfQogCiBqdXN0X3Jlc3RhcnQ6CkBAIC04NjAsNyArODQ1LDcgQEAKIAkJCShpc19pbiA/IHdyaXRlX2ZpZm8gOiByZWFkX2ZpZm8pKGVwLCByZXEpOwogCQkJZGVzZWxlY3RfZXAoKTsKIAkJCWlmICghaXNfaW4pIHsKLQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCQkJZXAtPmFja3dhaXQgPSAxICsgZXAtPmRvdWJsZV9idWY7CiAJCQl9CiAJCQkvKiBJTjogNiB3YWl0IHN0YXRlcyBiZWZvcmUgaXQnbGwgdHggKi8KQEAgLTg4MSw3ICs4NjYsNyBAQAogCWVsc2UKIAkJcmVxID0gTlVMTDsKIAotCWFjdGl2ZSA9ICgoMSA8PCA3KSAmIE9NQVBfRE1BX0NDUl9SRUcoZXAtPmxjaCkpICE9IDA7CisJYWN0aXZlID0gb21hcF9nZXRfZG1hX2FjdGl2ZV9zdGF0dXMoZXAtPmxjaCk7CiAKIAlEQkcoIiVzIHJlbGVhc2UgJXMgJWN4ZG1hJWQgJXBcbiIsIGVwLT5lcC5uYW1lLAogCQkJYWN0aXZlID8gImFjdGl2ZSIgOiAiaWRsZSIsCkBAIC04OTQsMjMgKzg3OSwyNSBAQAogCiAJLyogd2FpdCB0aWxsIGN1cnJlbnQgcGFja2V0IERNQSBmaW5pc2hlcywgYW5kIGZpZm8gZW1wdGllcyAqLwogCWlmIChlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU4pIHsKLQkJVURDX1RYRE1BX0NGR19SRUcgPSAoVURDX1RYRE1BX0NGR19SRUcgJiB+bWFzaykgfCBVRENfRE1BX1JFUTsKKwkJb21hcF93cml0ZXcoKG9tYXBfcmVhZHcoVURDX1RYRE1BX0NGRykgJiB+bWFzaykgfCBVRENfRE1BX1JFUSwKKwkJCQkJVURDX1RYRE1BX0NGRyk7CiAKIAkJaWYgKHJlcSkgewogCQkJZmluaXNoX2luX2RtYShlcCwgcmVxLCAtRUNPTk5SRVNFVCk7CiAKIAkJCS8qIGNsZWFyIEZJRk87IGhvc3RzIHByb2JhYmx5IHdvbid0IGVtcHR5IGl0ICovCiAJCQl1c2VfZXAoZXAsIFVEQ19FUF9TRUwpOwotCQkJVURDX0NUUkxfUkVHID0gVURDX0NMUl9FUDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfRVAsIFVEQ19DVFJMKTsKIAkJCWRlc2VsZWN0X2VwKCk7CiAJCX0KLQkJd2hpbGUgKFVEQ19UWERNQV9DRkdfUkVHICYgbWFzaykKKwkJd2hpbGUgKG9tYXBfcmVhZHcoVURDX1RYRE1BX0NGRykgJiBtYXNrKQogCQkJdWRlbGF5KDEwKTsKIAl9IGVsc2UgewotCQlVRENfUlhETUFfQ0ZHX1JFRyA9IChVRENfUlhETUFfQ0ZHX1JFRyAmIH5tYXNrKSB8IFVEQ19ETUFfUkVROworCQlvbWFwX3dyaXRldygob21hcF9yZWFkdyhVRENfUlhETUFfQ0ZHKSAmIH5tYXNrKSB8IFVEQ19ETUFfUkVRLAorCQkJCQlVRENfUlhETUFfQ0ZHKTsKIAogCQkvKiBkbWEgZW1wdGllcyB0aGUgZmlmbyAqLwotCQl3aGlsZSAoVURDX1JYRE1BX0NGR19SRUcgJiBtYXNrKQorCQl3aGlsZSAob21hcF9yZWFkdyhVRENfUlhETUFfQ0ZHKSAmIG1hc2spCiAJCQl1ZGVsYXkoMTApOwogCQlpZiAocmVxKQogCQkJZmluaXNoX291dF9kbWEoZXAsIHJlcSwgLUVDT05OUkVTRVQsIDApOwpAQCAtOTk3LDkgKzk4NCwxMyBAQAogCXJlcS0+cmVxLmFjdHVhbCA9IDA7CiAKIAkvKiBtYXliZSBraWNrc3RhcnQgbm9uLWlzbyBpL28gcXVldWVzICovCi0JaWYgKGlzX2lzbykKLQkJVURDX0lSUV9FTl9SRUcgfD0gVURDX1NPRl9JRTsKLQllbHNlIGlmIChsaXN0X2VtcHR5KCZlcC0+cXVldWUpICYmICFlcC0+c3RvcHBlZCAmJiAhZXAtPmFja3dhaXQpIHsKKwlpZiAoaXNfaXNvKSB7CisJCXUxNiB3OworCisJCXcgPSBvbWFwX3JlYWR3KFVEQ19JUlFfRU4pOworCQl3IHw9IFVEQ19TT0ZfSUU7CisJCW9tYXBfd3JpdGV3KHcsIFVEQ19JUlFfRU4pOworCX0gZWxzZSBpZiAobGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSAmJiAhZXAtPnN0b3BwZWQgJiYgIWVwLT5hY2t3YWl0KSB7CiAJCWludAlpc19pbjsKIAogCQlpZiAoZXAtPmJFbmRwb2ludEFkZHJlc3MgPT0gMCkgewpAQCAtMTAxNywyMyArMTAwOCwyMyBAQAogCQkJCSAqIHJlcXVlc3RzIHRvIG5vbi1jb250cm9sIGVuZHBvaW50cwogCQkJCSAqLwogCQkJCWlmICh1ZGMtPmVwMF9zZXRfY29uZmlnKSB7Ci0JCQkJCXUxNglpcnFfZW4gPSBVRENfSVJRX0VOX1JFRzsKKwkJCQkJdTE2CWlycV9lbiA9IG9tYXBfcmVhZHcoVURDX0lSUV9FTik7CiAKIAkJCQkJaXJxX2VuIHw9IFVEQ19EU19DSEdfSUUgfCBVRENfRVAwX0lFOwogCQkJCQlpZiAoIXVkYy0+ZXAwX3Jlc2V0X2NvbmZpZykKIAkJCQkJCWlycV9lbiB8PSBVRENfRVBOX1JYX0lFCiAJCQkJCQkJfCBVRENfRVBOX1RYX0lFOwotCQkJCQlVRENfSVJRX0VOX1JFRyA9IGlycV9lbjsKKwkJCQkJb21hcF93cml0ZXcoaXJxX2VuLCBVRENfSVJRX0VOKTsKIAkJCQl9CiAKIAkJCQkvKiBTVEFUVVMgZm9yIHplcm8gbGVuZ3RoIERBVEEgc3RhZ2VzIGlzCiAJCQkJICogYWx3YXlzIGFuIElOIC4uLiBldmVuIGZvciBJTiB0cmFuc2ZlcnMsCiAJCQkJICogYSB3ZWlyZCBjYXNlIHdoaWNoIHNlZW0gdG8gc3RhbGwgT01BUC4KIAkJCQkgKi8KLQkJCQlVRENfRVBfTlVNX1JFRyA9IChVRENfRVBfU0VMfFVEQ19FUF9ESVIpOwotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOwotCQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX0RJUjsKKwkJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMIHwgVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CisJCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOworCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCiAJCQkJLyogY2xlYW51cCAqLwogCQkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwpAQCAtMTA0MiwxMSArMTAzMywxMSBAQAogCiAJCQkvKiBub24tZW1wdHkgREFUQSBzdGFnZSAqLwogCQkJfSBlbHNlIGlmIChpc19pbikgewotCQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTHxVRENfRVBfRElSOworCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUwgfCBVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJCX0gZWxzZSB7CiAJCQkJaWYgKHVkYy0+ZXAwX3NldHVwKQogCQkJCQlnb3RvIGlycV93YWl0OwotCQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTDsKKwkJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMLCBVRENfRVBfTlVNKTsKIAkJCX0KIAkJfSBlbHNlIHsKIAkJCWlzX2luID0gZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOOwpAQCAtMTA2Miw3ICsxMDUzLDcgQEAKIAkJCQlyZXEgPSBOVUxMOwogCQkJZGVzZWxlY3RfZXAoKTsKIAkJCWlmICghaXNfaW4pIHsKLQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCQkJZXAtPmFja3dhaXQgPSAxICsgZXAtPmRvdWJsZV9idWY7CiAJCQl9CiAJCQkvKiBJTjogNiB3YWl0IHN0YXRlcyBiZWZvcmUgaXQnbGwgdHggKi8KQEAgLTExMzAsOSArMTEyMSw5IEBACiAJCWVsc2UgaWYgKHZhbHVlKSB7CiAJCQlpZiAoZXAtPnVkYy0+ZXAwX3NldF9jb25maWcpIHsKIAkJCQlXQVJOKCJlcnJvciBjaGFuZ2luZyBjb25maWc/XG4iKTsKLQkJCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfQ0xSX0NGRzsKKwkJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0NGRywgVURDX1NZU0NPTjIpOwogCQkJfQotCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX1NUQUxMX0NNRDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TVEFMTF9DTUQsIFVEQ19TWVNDT04yKTsKIAkJCWVwLT51ZGMtPmVwMF9wZW5kaW5nID0gMDsKIAkJCXN0YXR1cyA9IDA7CiAJCX0gZWxzZSAvKiBOT1AgKi8KQEAgLTExNTksOCArMTE1MCw4IEBACiAJCQkJY2hhbm5lbCA9IDA7CiAKIAkJCXVzZV9lcChlcCwgVURDX0VQX1NFTCk7Ci0JCQlpZiAoVURDX1NUQVRfRkxHX1JFRyAmIFVEQ19OT05fSVNPX0ZJRk9fRU1QVFkpIHsKLQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0hBTFQ7CisJCQlpZiAob21hcF9yZWFkdyhVRENfU1RBVF9GTEcpICYgVURDX05PTl9JU09fRklGT19FTVBUWSkgeworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfSEFMVCwgVURDX0NUUkwpOwogCQkJCXN0YXR1cyA9IDA7CiAJCQl9IGVsc2UKIAkJCQlzdGF0dXMgPSAtRUFHQUlOOwpAQCAtMTE3MCwxMCArMTE2MSwxMCBAQAogCQkJCWRtYV9jaGFubmVsX2NsYWltKGVwLCBjaGFubmVsKTsKIAkJfSBlbHNlIHsKIAkJCXVzZV9lcChlcCwgMCk7Ci0JCQlVRENfQ1RSTF9SRUcgPSBlcC0+dWRjLT5jbHJfaGFsdDsKKwkJCW9tYXBfd3JpdGV3KGVwLT51ZGMtPmNscl9oYWx0LCBVRENfQ1RSTCk7CiAJCQllcC0+YWNrd2FpdCA9IDA7CiAJCQlpZiAoIShlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU4pKSB7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQkJfQogCQl9CkBAIC0xMjA1LDcgKzExOTYsNyBAQAogCiBzdGF0aWMgaW50IG9tYXBfZ2V0X2ZyYW1lKHN0cnVjdCB1c2JfZ2FkZ2V0ICpnYWRnZXQpCiB7Ci0JdTE2CXNvZiA9IFVEQ19TT0ZfUkVHOworCXUxNglzb2YgPSBvbWFwX3JlYWR3KFVEQ19TT0YpOwogCXJldHVybiAoc29mICYgVURDX1RTX09LKSA/IChzb2YgJiBVRENfVFMpIDogLUVMMk5TWU5DOwogfQogCkBAIC0xMjI0LDcgKzEyMTUsNyBAQAogCQkgKi8KIAkJaWYgKHVkYy0+ZGV2c3RhdCAmIChVRENfQl9ITlBfRU5BQkxFfFVEQ19SX1dLX09LKSkgewogCQkJREJHKCJyZW1vdGUgd2FrZXVwLi4uXG4iKTsKLQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19STVRfV0tQOworCQkJb21hcF93cml0ZXcoVURDX1JNVF9XS1AsIFVEQ19TWVNDT04yKTsKIAkJCXJldHZhbCA9IDA7CiAJCX0KIApAQCAtMTI0NywxMiArMTIzOCwxMiBAQAogCiAJdWRjID0gY29udGFpbmVyX29mKGdhZGdldCwgc3RydWN0IG9tYXBfdWRjLCBnYWRnZXQpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKLQlzeXNjb24xID0gVURDX1NZU0NPTjFfUkVHOworCXN5c2NvbjEgPSBvbWFwX3JlYWR3KFVEQ19TWVNDT04xKTsKIAlpZiAoaXNfc2VsZnBvd2VyZWQpCiAJCXN5c2NvbjEgfD0gVURDX1NFTEZfUFdSOwogCWVsc2UKIAkJc3lzY29uMSAmPSB+VURDX1NFTEZfUFdSOwotCVVEQ19TWVNDT04xX1JFRyA9IHN5c2NvbjE7CisJb21hcF93cml0ZXcoc3lzY29uMSwgVURDX1NZU0NPTjEpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnVkYy0+bG9jaywgZmxhZ3MpOwogCiAJcmV0dXJuIDA7CkBAIC0xMjY1LDE4ICsxMjU2LDM2IEBACiAKIHN0YXRpYyB2b2lkIHB1bGx1cF9lbmFibGUoc3RydWN0IG9tYXBfdWRjICp1ZGMpCiB7Ci0JVURDX1NZU0NPTjFfUkVHIHw9IFVEQ19QVUxMVVBfRU47Ci0JaWYgKCFnYWRnZXRfaXNfb3RnKCZ1ZGMtPmdhZGdldCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKQotCQlPVEdfQ1RSTF9SRUcgfD0gT1RHX0JTRVNTVkxEOwotCVVEQ19JUlFfRU5fUkVHID0gVURDX0RTX0NIR19JRTsKKwl1MTYgdzsKKworCXcgPSBvbWFwX3JlYWR3KFVEQ19TWVNDT04xKTsKKwl3IHw9IFVEQ19QVUxMVVBfRU47CisJb21hcF93cml0ZXcodywgVURDX1NZU0NPTjEpOworCWlmICghZ2FkZ2V0X2lzX290ZygmdWRjLT5nYWRnZXQpICYmICFjcHVfaXNfb21hcDE1eHgoKSkgeworCQl1MzIgbDsKKworCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CisJCWwgfD0gT1RHX0JTRVNTVkxEOworCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisJfQorCW9tYXBfd3JpdGV3KFVEQ19EU19DSEdfSUUsIFVEQ19JUlFfRU4pOwogfQogCiBzdGF0aWMgdm9pZCBwdWxsdXBfZGlzYWJsZShzdHJ1Y3Qgb21hcF91ZGMgKnVkYykKIHsKLQlpZiAoIWdhZGdldF9pc19vdGcoJnVkYy0+Z2FkZ2V0KSAmJiAhY3B1X2lzX29tYXAxNXh4KCkpCi0JCU9UR19DVFJMX1JFRyAmPSB+T1RHX0JTRVNTVkxEOwotCVVEQ19JUlFfRU5fUkVHID0gVURDX0RTX0NIR19JRTsKLQlVRENfU1lTQ09OMV9SRUcgJj0gflVEQ19QVUxMVVBfRU47CisJdTE2IHc7CisKKwlpZiAoIWdhZGdldF9pc19vdGcoJnVkYy0+Z2FkZ2V0KSAmJiAhY3B1X2lzX29tYXAxNXh4KCkpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsICY9IH5PVEdfQlNFU1NWTEQ7CisJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwl9CisJb21hcF93cml0ZXcoVURDX0RTX0NIR19JRSwgVURDX0lSUV9FTik7CisJdyA9IG9tYXBfcmVhZHcoVURDX1NZU0NPTjEpOworCXcgJj0gflVEQ19QVUxMVVBfRU47CisJb21hcF93cml0ZXcodywgVURDX1NZU0NPTjEpOwogfQogCiBzdGF0aWMgc3RydWN0IG9tYXBfdWRjICp1ZGM7CkBAIC0xMzA0LDYgKzEzMTMsNyBAQAogewogCXN0cnVjdCBvbWFwX3VkYwkqdWRjOwogCXVuc2lnbmVkIGxvbmcJZmxhZ3M7CisJdTMyIGw7CiAKIAl1ZGMgPSBjb250YWluZXJfb2YoZ2FkZ2V0LCBzdHJ1Y3Qgb21hcF91ZGMsIGdhZGdldCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnVkYy0+bG9jaywgZmxhZ3MpOwpAQCAtMTMxMSwxMCArMTMyMSwxMiBAQAogCXVkYy0+dmJ1c19hY3RpdmUgPSAoaXNfYWN0aXZlICE9IDApOwogCWlmIChjcHVfaXNfb21hcDE1eHgoKSkgewogCQkvKiAic29mdHdhcmUiIGRldGVjdCwgaWdub3JlZCBpZiAhVkJVU19NT0RFXzE1MTAgKi8KKwkJbCA9IG9tYXBfcmVhZGwoRlVOQ19NVVhfQ1RSTF8wKTsKIAkJaWYgKGlzX2FjdGl2ZSkKLQkJCUZVTkNfTVVYX0NUUkxfMF9SRUcgfD0gVkJVU19DVFJMXzE1MTA7CisJCQlsIHw9IFZCVVNfQ1RSTF8xNTEwOwogCQllbHNlCi0JCQlGVU5DX01VWF9DVFJMXzBfUkVHICY9IH5WQlVTX0NUUkxfMTUxMDsKKwkJCWwgJj0gflZCVVNfQ1RSTF8xNTEwOworCQlvbWFwX3dyaXRlbChsLCBGVU5DX01VWF9DVFJMXzApOwogCX0KIAlpZiAodWRjLT5kY19jbGsgIT0gTlVMTCAmJiBpc19hY3RpdmUpIHsKIAkJaWYgKCF1ZGMtPmNsa19yZXF1ZXN0ZWQpIHsKQEAgLTEzODQsOSArMTM5Niw5IEBACiAJCWRtYV9jaGFubmVsX3JlbGVhc2UoZXApOwogCiAJdXNlX2VwKGVwLCAwKTsKLQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOworCW9tYXBfd3JpdGV3KFVEQ19DTFJfRVAsIFVEQ19DVFJMKTsKIAlpZiAoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiYgZXAtPmJtQXR0cmlidXRlcyAhPSBVU0JfRU5EUE9JTlRfWEZFUl9JU09DKQotCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0hBTFQ7CisJCW9tYXBfd3JpdGV3KFVEQ19TRVRfSEFMVCwgVURDX0NUUkwpOwogCiAJd2hpbGUgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSB7CiAJCXJlcSA9IGxpc3RfZW50cnkoZXAtPnF1ZXVlLm5leHQsIHN0cnVjdCBvbWFwX3JlcSwgcXVldWUpOwpAQCAtMTQxNCw4ICsxNDI2LDggQEAKIAlpZiAoIWdhZGdldF9pc19vdGcoJnVkYy0+Z2FkZ2V0KSkKIAkJcmV0dXJuOwogCi0JaWYgKE9UR19DVFJMX1JFRyAmIE9UR19JRCkKLQkJZGV2c3RhdCA9IFVEQ19ERVZTVEFUX1JFRzsKKwlpZiAob21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfSUQpCisJCWRldnN0YXQgPSBvbWFwX3JlYWR3KFVEQ19ERVZTVEFUKTsKIAllbHNlCiAJCWRldnN0YXQgPSAwOwogCkBAIC0xNDI2LDkgKzE0MzgsMTQgQEAKIAkvKiBFbmFibGUgSE5QIGVhcmx5LCBhdm9pZGluZyByYWNlcyBvbiBzdXNwZW5kIGlycSBwYXRoLgogCSAqIEFTU1VNRVMgT1RHIHN0YXRlIG1hY2hpbmUgQl9CVVNfUkVRIGlucHV0IGlzIHRydWUuCiAJICovCi0JaWYgKHVkYy0+Z2FkZ2V0LmJfaG5wX2VuYWJsZSkKLQkJT1RHX0NUUkxfUkVHID0gKE9UR19DVFJMX1JFRyB8IE9UR19CX0hOUEVOIHwgT1RHX0JfQlVTUkVRKQotCQkJCSYgfk9UR19QVUxMVVA7CisJaWYgKHVkYy0+Z2FkZ2V0LmJfaG5wX2VuYWJsZSkgeworCQl1MzIgbDsKKworCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CisJCWwgfD0gT1RHX0JfSE5QRU4gfCBPVEdfQl9CVVNSRVE7CisJCWwgJj0gfk9UR19QVUxMVVA7CisJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIGVwMF9pcnEoc3RydWN0IG9tYXBfdWRjICp1ZGMsIHUxNiBpcnFfc3JjKQpAQCAtMTQ0Niw3ICsxNDYzLDcgQEAKIAogCQludWtlKGVwMCwgMCk7CiAJCWlmIChhY2spIHsKLQkJCVVEQ19JUlFfU1JDX1JFRyA9IGFjazsKKwkJCW9tYXBfd3JpdGV3KGFjaywgVURDX0lSUV9TUkMpOwogCQkJaXJxX3NyYyA9IFVEQ19TRVRVUDsKIAkJfQogCX0KQEAgLTE0NjYsOSArMTQ4Myw5IEBACiAJaWYgKGlycV9zcmMgJiBVRENfRVAwX1RYKSB7CiAJCWludAlzdGF0OwogCi0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19FUDBfVFg7Ci0JCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTHxVRENfRVBfRElSOwotCQlzdGF0ID0gVURDX1NUQVRfRkxHX1JFRzsKKwkJb21hcF93cml0ZXcoVURDX0VQMF9UWCwgVURDX0lSUV9TUkMpOworCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMfFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOworCQlzdGF0ID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCQlpZiAoc3RhdCAmIFVEQ19BQ0spIHsKIAkJCWlmICh1ZGMtPmVwMF9pbikgewogCQkJCS8qIHdyaXRlIG5leHQgSU4gcGFja2V0IGZyb20gcmVzcG9uc2UsCkBAIC0xNDc2LDI2ICsxNDkzLDI2IEBACiAJCQkJICovCiAJCQkJaWYgKHJlcSkKIAkJCQkJc3RhdCA9IHdyaXRlX2ZpZm8oZXAwLCByZXEpOwotCQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX0RJUjsKKwkJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJCQlpZiAoIXJlcSAmJiB1ZGMtPmVwMF9wZW5kaW5nKSB7Ci0JCQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTDsKLQkJCQkJVURDX0NUUkxfUkVHID0gVURDX0NMUl9FUDsKLQkJCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOwotCQkJCQlVRENfRVBfTlVNX1JFRyA9IDA7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUwsIFVEQ19FUF9OVU0pOworCQkJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOworCQkJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKIAkJCQkJdWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJCQkJfSAvKiBlbHNlOiAgNiB3YWl0IHN0YXRlcyBiZWZvcmUgaXQnbGwgdHggKi8KIAkJCX0gZWxzZSB7CiAJCQkJLyogYWNrIHN0YXR1cyBzdGFnZSBvZiBPVVQgdHJhbnNmZXIgKi8KLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQkJaWYgKHJlcSkKIAkJCQkJZG9uZShlcDAsIHJlcSwgMCk7CiAJCQl9CiAJCQlyZXEgPSBOVUxMOwogCQl9IGVsc2UgaWYgKHN0YXQgJiBVRENfU1RBTEwpIHsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfSEFMVDsKLQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX0RJUjsKKwkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfSEFMVCwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCX0gZWxzZSB7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJfQogCX0KIApAQCAtMTUwMyw5ICsxNTIwLDkgQEAKIAlpZiAoaXJxX3NyYyAmIFVEQ19FUDBfUlgpIHsKIAkJaW50CXN0YXQ7CiAKLQkJVURDX0lSUV9TUkNfUkVHID0gVURDX0VQMF9SWDsKLQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMOwotCQlzdGF0ID0gVURDX1NUQVRfRkxHX1JFRzsKKwkJb21hcF93cml0ZXcoVURDX0VQMF9SWCwgVURDX0lSUV9TUkMpOworCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMLCBVRENfRVBfTlVNKTsKKwkJc3RhdCA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAkJaWYgKHN0YXQgJiBVRENfQUNLKSB7CiAJCQlpZiAoIXVkYy0+ZXAwX2luKSB7CiAJCQkJc3RhdCA9IDA7CkBAIC0xNTEzLDM0ICsxNTMwLDM1IEBACiAJCQkJICogcmVhY3Rpdml0aW5nIHRoZSBmaWZvOyBzdGFsbCBvbiBlcnJvcnMuCiAJCQkJICovCiAJCQkJaWYgKCFyZXEgfHwgKHN0YXQgPSByZWFkX2ZpZm8oZXAwLCByZXEpKSA8IDApIHsKLQkJCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX1NUQUxMX0NNRDsKKwkJCQkJb21hcF93cml0ZXcoVURDX1NUQUxMX0NNRCwgVURDX1NZU0NPTjIpOwogCQkJCQl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKIAkJCQkJc3RhdCA9IDA7CiAJCQkJfSBlbHNlIGlmIChzdGF0ID09IDApCi0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IDA7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOworCQkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOwogCiAJCQkJLyogYWN0aXZhdGUgc3RhdHVzIHN0YWdlICovCiAJCQkJaWYgKHN0YXQgPT0gMSkgewogCQkJCQlkb25lKGVwMCwgcmVxLCAwKTsKIAkJCQkJLyogdGhhdCBtYXkgaGF2ZSBTVEFMTGVkIGVwMC4uLiAqLwotCQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUx8VURDX0VQX0RJUjsKLQkJCQkJVURDX0NUUkxfUkVHID0gVURDX0NMUl9FUDsKLQkJCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOwotCQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUwgfCBVRENfRVBfRElSLAorCQkJCQkJCVVEQ19FUF9OVU0pOworCQkJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOworCQkJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJCQkJdWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJCQkJfQogCQkJfSBlbHNlIHsKIAkJCQkvKiBhY2sgc3RhdHVzIHN0YWdlIG9mIElOIHRyYW5zZmVyICovCi0JCQkJVURDX0VQX05VTV9SRUcgPSAwOworCQkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOwogCQkJCWlmIChyZXEpCiAJCQkJCWRvbmUoZXAwLCByZXEsIDApOwogCQkJfQogCQl9IGVsc2UgaWYgKHN0YXQgJiBVRENfU1RBTEwpIHsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfSEFMVDsKLQkJCVVEQ19FUF9OVU1fUkVHID0gMDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfSEFMVCwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CiAJCX0gZWxzZSB7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IDA7CisJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKIAkJfQogCX0KIApAQCAtMTU1NSwxNCArMTU3MywxNCBAQAogCiAJCS8qIHJlYWQgdGhlIChsYXRlc3QpIFNFVFVQIG1lc3NhZ2UgKi8KIAkJZG8gewotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfU0VUVVBfU0VMOworCQkJb21hcF93cml0ZXcoVURDX1NFVFVQX1NFTCwgVURDX0VQX05VTSk7CiAJCQkvKiB0d28gYnl0ZXMgYXQgYSB0aW1lICovCi0JCQl1LndvcmRbMF0gPSBVRENfREFUQV9SRUc7Ci0JCQl1LndvcmRbMV0gPSBVRENfREFUQV9SRUc7Ci0JCQl1LndvcmRbMl0gPSBVRENfREFUQV9SRUc7Ci0JCQl1LndvcmRbM10gPSBVRENfREFUQV9SRUc7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IDA7Ci0JCX0gd2hpbGUgKFVEQ19JUlFfU1JDX1JFRyAmIFVEQ19TRVRVUCk7CisJCQl1LndvcmRbMF0gPSBvbWFwX3JlYWR3KFVEQ19EQVRBKTsKKwkJCXUud29yZFsxXSA9IG9tYXBfcmVhZHcoVURDX0RBVEEpOworCQkJdS53b3JkWzJdID0gb21hcF9yZWFkdyhVRENfREFUQSk7CisJCQl1LndvcmRbM10gPSBvbWFwX3JlYWR3KFVEQ19EQVRBKTsKKwkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOworCQl9IHdoaWxlIChvbWFwX3JlYWR3KFVEQ19JUlFfU1JDKSAmIFVEQ19TRVRVUCk7CiAKICNkZWZpbmUJd192YWx1ZQkJbGUxNl90b19jcHUodS5yLndWYWx1ZSkKICNkZWZpbmUJd19pbmRleAkJbGUxNl90b19jcHUodS5yLndJbmRleCkKQEAgLTE1OTMsOSArMTYxMSw5IEBACiAJCQkgKiBsYXRlciBpZiBpdCBmYWlscyB0aGUgcmVxdWVzdC4KIAkJCSAqLwogCQkJaWYgKHVkYy0+ZXAwX3Jlc2V0X2NvbmZpZykKLQkJCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfQ0xSX0NGRzsKKwkJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0NGRywgVURDX1NZU0NPTjIpOwogCQkJZWxzZQotCQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19ERVZfQ0ZHOworCQkJCW9tYXBfd3JpdGV3KFVEQ19ERVZfQ0ZHLCBVRENfU1lTQ09OMik7CiAJCQl1cGRhdGVfb3RnKHVkYyk7CiAJCQlnb3RvIGRlbGVnYXRlOwogCQljYXNlIFVTQl9SRVFfQ0xFQVJfRkVBVFVSRToKQEAgLTE2MTMsMTAgKzE2MzEsMTAgQEAKIAkJCQkJCXx8ICFlcC0+ZGVzYykKIAkJCQkJZ290byBkb19zdGFsbDsKIAkJCQl1c2VfZXAoZXAsIDApOwotCQkJCVVEQ19DVFJMX1JFRyA9IHVkYy0+Y2xyX2hhbHQ7CisJCQkJb21hcF93cml0ZXcodWRjLT5jbHJfaGFsdCwgVURDX0NUUkwpOwogCQkJCWVwLT5hY2t3YWl0ID0gMDsKIAkJCQlpZiAoIShlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU4pKSB7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCQkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQkJCX0KIAkJCQkvKiBOT1RFOiAgYXNzdW1lcyB0aGUgaG9zdCBiZWhhdmVzIHNhbmVseSwKQEAgLTE2NDksMTUgKzE2NjcsMTUgQEAKIAkJCX0KIAkJCXVzZV9lcChlcCwgMCk7CiAJCQkvKiBjYW4ndCBoYWx0IGlmIGZpZm8gaXNuJ3QgZW1wdHkuLi4gKi8KLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0hBTFQ7CisJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CisJCQlvbWFwX3dyaXRldyhVRENfU0VUX0hBTFQsIFVEQ19DVFJMKTsKIAkJCVZEQkcoIiVzIGhhbHRlZCBieSBob3N0XG4iLCBlcC0+bmFtZSk7CiBlcDBvdXRfc3RhdHVzX3N0YWdlOgogCQkJc3RhdHVzID0gMDsKLQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTHxVRENfRVBfRElSOwotCQkJVURDX0NUUkxfUkVHID0gVURDX0NMUl9FUDsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX0RJUjsKKwkJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUx8VURDX0VQX0RJUiwgVURDX0VQX05VTSk7CisJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CisJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkJdWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJCQlicmVhazsKIAkJY2FzZSBVU0JfUkVRX0dFVF9TVEFUVVM6CkBAIC0xNjk0LDEwICsxNzEyLDEwIEBACiAKIHplcm9fc3RhdHVzOgogCQkJLyogcmV0dXJuIHR3byB6ZXJvIGJ5dGVzICovCi0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUx8VURDX0VQX0RJUjsKLQkJCVVEQ19EQVRBX1JFRyA9IDA7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMfFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOworCQkJb21hcF93cml0ZXcoMCwgVURDX0RBVEEpOworCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CisJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJCXN0YXR1cyA9IDA7CiAJCQlWREJHKCJHRVRfU1RBVFVTLCBpbnRlcmZhY2UgJWRcbiIsIHdfaW5kZXgpOwogCQkJLyogbmV4dCwgc3RhdHVzIHN0YWdlICovCkBAIC0xNzA2LDggKzE3MjQsOCBAQAogZGVsZWdhdGU6CiAJCQkvKiBhY3RpdmF0ZSB0aGUgZXAwb3V0IGZpZm8gcmlnaHQgYXdheSAqLwogCQkJaWYgKCF1ZGMtPmVwMF9pbiAmJiB3X2xlbmd0aCkgewotCQkJCVVEQ19FUF9OVU1fUkVHID0gMDsKLQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CisJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCQl9CiAKIAkJCS8qIGdhZGdldCBkcml2ZXJzIHNlZSBjbGFzcy92ZW5kb3Igc3BlY2lmaWMgcmVxdWVzdHMsCkBAIC0xNzQ4LDkgKzE3NjYsOSBAQAogCQkJCWlmICh1ZGMtPmVwMF9yZXNldF9jb25maWcpCiAJCQkJCVdBUk4oImVycm9yIHJlc2V0dGluZyBjb25maWc/XG4iKTsKIAkJCQllbHNlCi0JCQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19DTFJfQ0ZHOworCQkJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0NGRywgVURDX1NZU0NPTjIpOwogCQkJfQotCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX1NUQUxMX0NNRDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TVEFMTF9DTUQsIFVEQ19TWVNDT04yKTsKIAkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQl9CiAJfQpAQCAtMTc2NCw3ICsxNzgyLDcgQEAKIHsKIAl1MTYJZGV2c3RhdCwgY2hhbmdlOwogCi0JZGV2c3RhdCA9IFVEQ19ERVZTVEFUX1JFRzsKKwlkZXZzdGF0ID0gb21hcF9yZWFkdyhVRENfREVWU1RBVCk7CiAJY2hhbmdlID0gZGV2c3RhdCBeIHVkYy0+ZGV2c3RhdDsKIAl1ZGMtPmRldnN0YXQgPSBkZXZzdGF0OwogCkBAIC0xODA0LDcgKzE4MjIsOCBAQAogCQkJCUlORk8oIlVTQiByZXNldCBkb25lLCBnYWRnZXQgJXNcbiIsCiAJCQkJCXVkYy0+ZHJpdmVyLT5kcml2ZXIubmFtZSk7CiAJCQkJLyogZXAwIHRyYWZmaWMgaXMgbGVnYWwgZnJvbSBub3cgb24gKi8KLQkJCQlVRENfSVJRX0VOX1JFRyA9IFVEQ19EU19DSEdfSUUgfCBVRENfRVAwX0lFOworCQkJCW9tYXBfd3JpdGV3KFVEQ19EU19DSEdfSUUgfCBVRENfRVAwX0lFLAorCQkJCQkJVURDX0lSUV9FTik7CiAJCQl9CiAJCQljaGFuZ2UgJj0gflVEQ19VU0JfUkVTRVQ7CiAJCX0KQEAgLTE4NDgsNyArMTg2Nyw3IEBACiAJCVZEQkcoImRldnN0YXQgJTAzeCwgaWdub3JlIGNoYW5nZSAlMDN4XG4iLAogCQkJZGV2c3RhdCwgIGNoYW5nZSk7CiAKLQlVRENfSVJRX1NSQ19SRUcgPSBVRENfRFNfQ0hHOworCW9tYXBfd3JpdGV3KFVEQ19EU19DSEcsIFVEQ19JUlFfU1JDKTsKIH0KIAogc3RhdGljIGlycXJldHVybl90IG9tYXBfdWRjX2lycShpbnQgaXJxLCB2b2lkICpfdWRjKQpAQCAtMTg1OSw3ICsxODc4LDcgQEAKIAl1bnNpZ25lZCBsb25nCWZsYWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnVkYy0+bG9jaywgZmxhZ3MpOwotCWlycV9zcmMgPSBVRENfSVJRX1NSQ19SRUc7CisJaXJxX3NyYyA9IG9tYXBfcmVhZHcoVURDX0lSUV9TUkMpOwogCiAJLyogRGV2aWNlIHN0YXRlIGNoYW5nZSAodXNiIGNoOSBzdHVmZikgKi8KIAlpZiAoaXJxX3NyYyAmIFVEQ19EU19DSEcpIHsKQEAgLTE4ODIsNyArMTkwMSw3IEBACiAJCWlycV9zcmMgJj0gfihVRENfVFhOX0RPTkV8VURDX1JYTl9DTlR8VURDX1JYTl9FT1QpOwogCX0KIAotCWlycV9zcmMgJj0gfihVRENfU09GfFVEQ19FUE5fVFh8VURDX0VQTl9SWCk7CisJaXJxX3NyYyAmPSB+KFVEQ19JUlFfU09GIHwgVURDX0VQTl9UWHxVRENfRVBOX1JYKTsKIAlpZiAoaXJxX3NyYykKIAkJREJHKCJ1ZGNfaXJxLCB1bmhhbmRsZWQgJTAzeFxuIiwgaXJxX3NyYyk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdWRjLT5sb2NrLCBmbGFncyk7CkBAIC0xOTAzLDcgKzE5MjIsNyBAQAogCXNwaW5fbG9ja19pcnFzYXZlKCZlcC0+dWRjLT5sb2NrLCBmbGFncyk7CiAJaWYgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpICYmIGVwLT5hY2t3YWl0KSB7CiAJCXVzZV9lcChlcCwgVURDX0VQX1NFTCk7Ci0JCXN0YXRfZmxnID0gVURDX1NUQVRfRkxHX1JFRzsKKwkJc3RhdF9mbGcgPSBvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRyk7CiAKIAkJaWYgKChzdGF0X2ZsZyAmIFVEQ19BQ0spICYmICghKHN0YXRfZmxnICYgVURDX0ZJRk9fRU4pCiAJCQkJfHwgKGVwLT5kb3VibGVfYnVmICYmIEhBTEZfRlVMTChzdGF0X2ZsZykpKSkgewpAQCAtMTkxMyw4ICsxOTMyLDggQEAKIAkJCXJlcSA9IGNvbnRhaW5lcl9vZihlcC0+cXVldWUubmV4dCwKIAkJCQkJc3RydWN0IG9tYXBfcmVxLCBxdWV1ZSk7CiAJCQkodm9pZCkgcmVhZF9maWZvKGVwLCByZXEpOwotCQkJVURDX0VQX05VTV9SRUcgPSBlcC0+YkVuZHBvaW50QWRkcmVzczsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJCW9tYXBfd3JpdGV3KGVwLT5iRW5kcG9pbnRBZGRyZXNzLCBVRENfRVBfTlVNKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJZXAtPmFja3dhaXQgPSAxICsgZXAtPmRvdWJsZV9idWY7CiAJCX0gZWxzZQogCQkJZGVzZWxlY3RfZXAoKTsKQEAgLTE5MzQsMjAgKzE5NTMsMjAgQEAKIAl1bnNpZ25lZCBsb25nCWZsYWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnVkYy0+bG9jaywgZmxhZ3MpOwotCWVwbl9zdGF0ID0gVURDX0VQTl9TVEFUX1JFRzsKLQlpcnFfc3JjID0gVURDX0lSUV9TUkNfUkVHOworCWVwbl9zdGF0ID0gb21hcF9yZWFkdyhVRENfRVBOX1NUQVQpOworCWlycV9zcmMgPSBvbWFwX3JlYWR3KFVEQ19JUlFfU1JDKTsKIAogCS8qIGhhbmRsZSBPVVQgZmlyc3QsIHRvIGF2b2lkIHNvbWUgd2FzdGVmdWwgTkFLcyAqLwogCWlmIChpcnFfc3JjICYgVURDX0VQTl9SWCkgewogCQllcG51bSA9IChlcG5fc3RhdCA+PiA4KSAmIDB4MGY7Ci0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19FUE5fUlg7CisJCW9tYXBfd3JpdGV3KFVEQ19FUE5fUlgsIFVEQ19JUlFfU1JDKTsKIAkJc3RhdHVzID0gSVJRX0hBTkRMRUQ7CiAJCWVwID0gJnVkYy0+ZXBbZXBudW1dOwogCQllcC0+aXJxcysrOwogCi0JCVVEQ19FUF9OVU1fUkVHID0gZXBudW0gfCBVRENfRVBfU0VMOworCQlvbWFwX3dyaXRldyhlcG51bSB8IFVEQ19FUF9TRUwsIFVEQ19FUF9OVU0pOwogCQllcC0+Zm5mID0gMDsKLQkJaWYgKChVRENfU1RBVF9GTEdfUkVHICYgVURDX0FDSykpIHsKKwkJaWYgKG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKSAmIFVEQ19BQ0spIHsKIAkJCWVwLT5hY2t3YWl0LS07CiAJCQlpZiAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpIHsKIAkJCQlpbnQgc3RhdDsKQEAgLTE5NTksMTUgKzE5NzgsMTUgQEAKIAkJCX0KIAkJfQogCQkvKiBtaW4gNiBjbG9jayBkZWxheSBiZWZvcmUgY2xlYXJpbmcgRVBfU0VMIC4uLiAqLwotCQllcG5fc3RhdCA9IFVEQ19FUE5fU1RBVF9SRUc7Ci0JCWVwbl9zdGF0ID0gVURDX0VQTl9TVEFUX1JFRzsKLQkJVURDX0VQX05VTV9SRUcgPSBlcG51bTsKKwkJZXBuX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19FUE5fU1RBVCk7CisJCWVwbl9zdGF0ID0gb21hcF9yZWFkdyhVRENfRVBOX1NUQVQpOworCQlvbWFwX3dyaXRldyhlcG51bSwgVURDX0VQX05VTSk7CiAKIAkJLyogZW5hYmxpbmcgZmlmbyBfYWZ0ZXJfIGNsZWFyaW5nIEFDSywgY29udHJhcnkgdG8gZG9jcywKIAkJICogcmVkdWNlcyBsb3NzYWdlOyB0aW1lciBzdGlsbCBuZWVkZWQgdGhvdWdoIChzaWdoKS4KIAkJICovCiAJCWlmIChlcC0+Zm5mKSB7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQl9CiAJCW1vZF90aW1lcigmZXAtPnRpbWVyLCBQSU9fT1VUX1RJTUVPVVQpOwpAQCAtMTk3NiwxMyArMTk5NSwxMyBAQAogCS8qIHRoZW4gSU4gdHJhbnNmZXJzICovCiAJZWxzZSBpZiAoaXJxX3NyYyAmIFVEQ19FUE5fVFgpIHsKIAkJZXBudW0gPSBlcG5fc3RhdCAmIDB4MGY7Ci0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19FUE5fVFg7CisJCW9tYXBfd3JpdGV3KFVEQ19FUE5fVFgsIFVEQ19JUlFfU1JDKTsKIAkJc3RhdHVzID0gSVJRX0hBTkRMRUQ7CiAJCWVwID0gJnVkYy0+ZXBbMTYgKyBlcG51bV07CiAJCWVwLT5pcnFzKys7CiAKLQkJVURDX0VQX05VTV9SRUcgPSBlcG51bSB8IFVEQ19FUF9ESVIgfCBVRENfRVBfU0VMOwotCQlpZiAoKFVEQ19TVEFUX0ZMR19SRUcgJiBVRENfQUNLKSkgeworCQlvbWFwX3dyaXRldyhlcG51bSB8IFVEQ19FUF9ESVIgfCBVRENfRVBfU0VMLCBVRENfRVBfTlVNKTsKKwkJaWYgKG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKSAmIFVEQ19BQ0spIHsKIAkJCWVwLT5hY2t3YWl0ID0gMDsKIAkJCWlmICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkgewogCQkJCXJlcSA9IGNvbnRhaW5lcl9vZihlcC0+cXVldWUubmV4dCwKQEAgLTE5OTEsOSArMjAxMCw5IEBACiAJCQl9CiAJCX0KIAkJLyogbWluIDYgY2xvY2sgZGVsYXkgYmVmb3JlIGNsZWFyaW5nIEVQX1NFTCAuLi4gKi8KLQkJZXBuX3N0YXQgPSBVRENfRVBOX1NUQVRfUkVHOwotCQllcG5fc3RhdCA9IFVEQ19FUE5fU1RBVF9SRUc7Ci0JCVVEQ19FUF9OVU1fUkVHID0gZXBudW0gfCBVRENfRVBfRElSOworCQllcG5fc3RhdCA9IG9tYXBfcmVhZHcoVURDX0VQTl9TVEFUKTsKKwkJZXBuX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19FUE5fU1RBVCk7CisJCW9tYXBfd3JpdGV3KGVwbnVtIHwgVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCS8qIHRoZW4gNiBjbG9ja3MgYmVmb3JlIGl0J2QgdHggKi8KIAl9CiAKQEAgLTIwMjEsNyArMjA0MCw3IEBACiAJCXJlcSA9IGxpc3RfZW50cnkoZXAtPnF1ZXVlLm5leHQsIHN0cnVjdCBvbWFwX3JlcSwgcXVldWUpOwogCiAJCXVzZV9lcChlcCwgVURDX0VQX1NFTCk7Ci0JCXN0YXQgPSBVRENfU1RBVF9GTEdfUkVHOworCQlzdGF0ID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCiAJCS8qIE5PVEU6IGxpa2UgdGhlIG90aGVyIGNvbnRyb2xsZXIgZHJpdmVycywgdGhpcyBpc24ndAogCQkgKiBjdXJyZW50bHkgcmVwb3J0aW5nIGxvc3Qgb3IgZGFtYWdlZCBmcmFtZXMuCkBAIC0yMDUzLDkgKzIwNzIsMTQgQEAKIAkJaWYgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKQogCQkJcGVuZGluZyA9IDE7CiAJfQotCWlmICghcGVuZGluZykKLQkJVURDX0lSUV9FTl9SRUcgJj0gflVEQ19TT0ZfSUU7Ci0JVURDX0lSUV9TUkNfUkVHID0gVURDX1NPRjsKKwlpZiAoIXBlbmRpbmcpIHsKKwkJdTE2IHc7CisKKwkJdyA9IG9tYXBfcmVhZHcoVURDX0lSUV9FTik7CisJCXcgJj0gflVEQ19TT0ZfSUU7CisJCW9tYXBfd3JpdGV3KHcsIFVEQ19JUlFfRU4pOworCX0KKwlvbWFwX3dyaXRldyhVRENfSVJRX1NPRiwgVURDX0lSUV9TUkMpOwogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdWRjLT5sb2NrLCBmbGFncyk7CiAJcmV0dXJuIElSUV9IQU5ETEVEOwpAQCAtMjEwNCw3ICsyMTI4LDcgQEAKIAkJaWYgKGVwLT5ibUF0dHJpYnV0ZXMgPT0gVVNCX0VORFBPSU5UX1hGRVJfSVNPQykKIAkJCWNvbnRpbnVlOwogCQl1c2VfZXAoZXAsIDApOwotCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0hBTFQ7CisJCW9tYXBfd3JpdGV3KFVEQ19TRVRfSEFMVCwgVURDX0NUUkwpOwogCX0KIAl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKIAl1ZGMtPmVwWzBdLmlycXMgPSAwOwpAQCAtMjEyOCw3ICsyMTUyLDcgQEAKIAl9CiAJREJHKCJib3VuZCB0byBkcml2ZXIgJXNcbiIsIGRyaXZlci0+ZHJpdmVyLm5hbWUpOwogCi0JVURDX0lSUV9TUkNfUkVHID0gVURDX0lSUV9TUkNfTUFTSzsKKwlvbWFwX3dyaXRldyhVRENfSVJRX1NSQ19NQVNLLCBVRENfSVJRX1NSQyk7CiAKIAkvKiBjb25uZWN0IHRvIGJ1cyB0aHJvdWdoIHRyYW5zY2VpdmVyICovCiAJaWYgKHVkYy0+dHJhbnNjZWl2ZXIpIHsKQEAgLTIyMjUsNyArMjI0OSw3IEBACiAJZWxzZQogCQlidWZbMF0gPSAwOwogCi0Jc3RhdF9mbGcgPSBVRENfU1RBVF9GTEdfUkVHOworCXN0YXRfZmxnID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCXNlcV9wcmludGYocywKIAkJIlxuJXMgJXMlcyVzaXJxcyAlbGQgc3RhdCAlMDR4ICIgRUlHSFRCSVRTIEZPVVJCSVRTICIlc1xuIiwKIAkJZXAtPm5hbWUsIGJ1ZiwKQEAgLTIyOTIsMTEgKzIzMTYsMTEgQEAKIAkJdHJhbnMgPSBDT05UUk9MX0RFVkNPTkZfUkVHOwogCX0gZWxzZSB7CiAJCWN0cmxfbmFtZSA9ICJ0cmFuY2VpdmVyX2N0cmwiOwotCQl0cmFucyA9IFVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRzsKKwkJdHJhbnMgPSBvbWFwX3JlYWR3KFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKIAl9CiAJc2VxX3ByaW50ZihzLCAiXG5PVEcgcmV2ICVkLiVkLCAlcyAlMDV4XG4iLAogCQl0bXAgPj4gNCwgdG1wICYgMHhmLCBjdHJsX25hbWUsIHRyYW5zKTsKLQl0bXAgPSBPVEdfU1lTQ09OXzFfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoT1RHX1NZU0NPTl8xKTsKIAlzZXFfcHJpbnRmKHMsICJvdGdfc3lzY29uMSAlMDh4IHVzYjIgJXMsIHVzYjEgJXMsIHVzYjAgJXMsIgogCQkJRk9VUkJJVFMgIlxuIiwgdG1wLAogCQl0cnhfbW9kZShVU0IyX1RSWF9NT0RFKHRtcCksIHRyYW5zICYgQ09ORl9VU0IyX1VOSV9SKSwKQEAgLTIzMDgsNyArMjMzMiw3IEBACiAJCSh0bXAgJiBIU1RfSURMRV9FTikgPyAiICFob3N0IiA6ICIiLAogCQkodG1wICYgREVWX0lETEVfRU4pID8gIiAhZGV2IiA6ICIiLAogCQkodG1wICYgT1RHX1JFU0VUX0RPTkUpID8gIiByZXNldF9kb25lIiA6ICIgcmVzZXRfYWN0aXZlIik7Ci0JdG1wID0gT1RHX1NZU0NPTl8yX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWRsKE9UR19TWVNDT05fMik7CiAJc2VxX3ByaW50ZihzLCAib3RnX3N5c2NvbjIgJTA4eCVzIiBFSUdIVEJJVFMKIAkJCSIgYl9hc2VfYnJzdD0lZCBobWM9JWRcbiIsIHRtcCwKIAkJKHRtcCAmIE9UR19FTikgPyAiIG90Z19lbiIgOiAiIiwKQEAgLTIzMjMsNyArMjM0Nyw3IEBACiAJCSh0bXAgJiBITUNfVExMQVRUQUNIKSA/ICIgdGxsYXR0YWNoIiA6ICIiLAogCQlCX0FTRV9CUlNUKHRtcCksCiAJCU9UR19ITUModG1wKSk7Ci0JdG1wID0gT1RHX0NUUkxfUkVHOworCXRtcCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCXNlcV9wcmludGYocywgIm90Z19jdHJsICAgICUwNngiIEVJR0hUQklUUyBFSUdIVEJJVFMgIiVzXG4iLCB0bXAsCiAJCSh0bXAgJiBPVEdfQVNFU1NWTEQpID8gIiBhc2VzcyIgOiAiIiwKIAkJKHRtcCAmIE9UR19CU0VTU0VORCkgPyAiIGJzZXNzX2VuZCIgOiAiIiwKQEAgLTIzNDMsMTMgKzIzNjcsMTMgQEAKIAkJKHRtcCAmIE9UR19QVV9WQlVTKSA/ICIgcHVfdmIiIDogIiIsCiAJCSh0bXAgJiBPVEdfUFVfSUQpID8gIiBwdV9pZCIgOiAiIgogCQkpOwotCXRtcCA9IE9UR19JUlFfRU5fUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoT1RHX0lSUV9FTik7CiAJc2VxX3ByaW50ZihzLCAib3RnX2lycV9lbiAgJTA0eCIgIlxuIiwgdG1wKTsKLQl0bXAgPSBPVEdfSVJRX1NSQ19SRUc7CisJdG1wID0gb21hcF9yZWFkdyhPVEdfSVJRX1NSQyk7CiAJc2VxX3ByaW50ZihzLCAib3RnX2lycV9zcmMgJTA0eCIgIlxuIiwgdG1wKTsKLQl0bXAgPSBPVEdfT1VUQ1RSTF9SRUc7CisJdG1wID0gb21hcF9yZWFkdyhPVEdfT1VUQ1RSTCk7CiAJc2VxX3ByaW50ZihzLCAib3RnX291dGN0cmwgJTA0eCIgIlxuIiwgdG1wKTsKLQl0bXAgPSBPVEdfVEVTVF9SRUc7CisJdG1wID0gb21hcF9yZWFkdyhPVEdfVEVTVCk7CiAJc2VxX3ByaW50ZihzLCAib3RnX3Rlc3QgICAgJTA0eCIgIlxuIiwgdG1wKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTIzNzAsNyArMjM5NCw3IEBACiAJCWRyaXZlcl9kZXNjLAogCQl1c2VfZG1hID8gICIgKGRtYSkiIDogIiIpOwogCi0JdG1wID0gVURDX1JFVl9SRUcgJiAweGZmOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX1JFVikgJiAweGZmOwogCXNlcV9wcmludGYocywKIAkJIlVEQyByZXYgJWQuJWQsIGZpZm8gbW9kZSAlZCwgZ2FkZ2V0ICVzXG4iCiAJCSJobWMgJWQsIHRyYW5zY2VpdmVyICVzXG4iLApAQCAtMjM4NCwxNiArMjQwOCwxNiBAQAogCQkJCT8gImV4dGVybmFsIiA6ICIobm9uZSkiKSk7CiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7CiAJCXNlcV9wcmludGYocywgIlVMUEQgY29udHJvbCAlMDR4IHJlcSAlMDR4IHN0YXR1cyAlMDR4XG4iLAotCQkJX19SRUcxNihVTFBEX0NMT0NLX0NUUkwpLAotCQkJX19SRUcxNihVTFBEX1NPRlRfUkVRKSwKLQkJCV9fUkVHMTYoVUxQRF9TVEFUVVNfUkVRKSk7CisJCQlvbWFwX3JlYWR3KFVMUERfQ0xPQ0tfQ1RSTCksCisJCQlvbWFwX3JlYWR3KFVMUERfU09GVF9SRVEpLAorCQkJb21hcF9yZWFkdyhVTFBEX1NUQVRVU19SRVEpKTsKIAl9CiAKIAkvKiBPVEcgY29udHJvbGxlciByZWdpc3RlcnMgKi8KIAlpZiAoIWNwdV9pc19vbWFwMTV4eCgpKQogCQlwcm9jX290Z19zaG93KHMpOwogCi0JdG1wID0gVURDX1NZU0NPTjFfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX1NZU0NPTjEpOwogCXNlcV9wcmludGYocywgIlxuc3lzY29uMSAgICAgJTA0eCIgRUlHSFRCSVRTICJcbiIsIHRtcCwKIAkJKHRtcCAmIFVEQ19DRkdfTE9DSykgPyAiIGNmZ19sb2NrIiA6ICIiLAogCQkodG1wICYgVURDX0RBVEFfRU5ESUFOKSA/ICIgZGF0YV9lbmRpYW4iIDogIiIsCkBAIC0yNDEyLDcgKzI0MzYsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQl0bXAgPSBVRENfREVWU1RBVF9SRUc7CisJdG1wID0gb21hcF9yZWFkdyhVRENfREVWU1RBVCk7CiAJc2VxX3ByaW50ZihzLCAiZGV2c3RhdCAgICAgJTA0eCIgRUlHSFRCSVRTICIlcyVzXG4iLCB0bXAsCiAJCSh0bXAgJiBVRENfQl9ITlBfRU5BQkxFKSA/ICIgYl9obnAiIDogIiIsCiAJCSh0bXAgJiBVRENfQV9ITlBfU1VQUE9SVCkgPyAiIGFfaG5wIiA6ICIiLApAQCAtMjQyNCwyMCArMjQ0OCwyMCBAQAogCQkodG1wICYgVURDX0FERCkgPyAiIEFERCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19ERUYpID8gIiBERUYiIDogIiIsCiAJCSh0bXAgJiBVRENfQVRUKSA/ICIgQVRUIiA6ICIiKTsKLQlzZXFfcHJpbnRmKHMsICJzb2YgICAgICAgICAlMDR4XG4iLCBVRENfU09GX1JFRyk7Ci0JdG1wID0gVURDX0lSUV9FTl9SRUc7CisJc2VxX3ByaW50ZihzLCAic29mICAgICAgICAgJTA0eFxuIiwgb21hcF9yZWFkdyhVRENfU09GKSk7CisJdG1wID0gb21hcF9yZWFkdyhVRENfSVJRX0VOKTsKIAlzZXFfcHJpbnRmKHMsICJpcnFfZW4gICAgICAlMDR4IiBGT1VSQklUUyAiJXNcbiIsIHRtcCwKIAkJKHRtcCAmIFVEQ19TT0ZfSUUpID8gIiBzb2YiIDogIiIsCiAJCSh0bXAgJiBVRENfRVBOX1JYX0lFKSA/ICIgZXBuX3J4IiA6ICIiLAogCQkodG1wICYgVURDX0VQTl9UWF9JRSkgPyAiIGVwbl90eCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19EU19DSEdfSUUpID8gIiBkc19jaGciIDogIiIsCiAJCSh0bXAgJiBVRENfRVAwX0lFKSA/ICIgZXAwIiA6ICIiKTsKLQl0bXAgPSBVRENfSVJRX1NSQ19SRUc7CisJdG1wID0gb21hcF9yZWFkdyhVRENfSVJRX1NSQyk7CiAJc2VxX3ByaW50ZihzLCAiaXJxX3NyYyAgICAgJTA0eCIgRUlHSFRCSVRTICIlcyVzXG4iLCB0bXAsCiAJCSh0bXAgJiBVRENfVFhOX0RPTkUpID8gIiB0eG5fZG9uZSIgOiAiIiwKIAkJKHRtcCAmIFVEQ19SWE5fQ05UKSA/ICIgcnhuX2NudCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19SWE5fRU9UKSA/ICIgcnhuX2VvdCIgOiAiIiwKLQkJKHRtcCAmIFVEQ19TT0YpID8gIiBzb2YiIDogIiIsCisJCSh0bXAgJiBVRENfSVJRX1NPRikgPyAiIHNvZiIgOiAiIiwKIAkJKHRtcCAmIFVEQ19FUE5fUlgpID8gIiBlcG5fcngiIDogIiIsCiAJCSh0bXAgJiBVRENfRVBOX1RYKSA/ICIgZXBuX3R4IiA6ICIiLAogCQkodG1wICYgVURDX0RTX0NIRykgPyAiIGRzX2NoZyIgOiAiIiwKQEAgLTI0NDcsNyArMjQ3MSw3IEBACiAJaWYgKHVzZV9kbWEpIHsKIAkJdW5zaWduZWQgaTsKIAotCQl0bXAgPSBVRENfRE1BX0lSUV9FTl9SRUc7CisJCXRtcCA9IG9tYXBfcmVhZHcoVURDX0RNQV9JUlFfRU4pOwogCQlzZXFfcHJpbnRmKHMsICJkbWFfaXJxX2VuICAlMDR4JXMiIEVJR0hUQklUUyAiXG4iLCB0bXAsCiAJCQkodG1wICYgVURDX1RYX0RPTkVfSUUoMykpID8gIiB0eDJfZG9uZSIgOiAiIiwKIAkJCSh0bXAgJiBVRENfUlhfQ05UX0lFKDMpKSA/ICIgcngyX2NudCIgOiAiIiwKQEAgLTI0NjEsMjkgKzI0ODUsMjkgQEAKIAkJCSh0bXAgJiBVRENfUlhfQ05UX0lFKDEpKSA/ICIgcngwX2NudCIgOiAiIiwKIAkJCSh0bXAgJiBVRENfUlhfRU9UX0lFKDEpKSA/ICIgcngwX2VvdCIgOiAiIik7CiAKLQkJdG1wID0gVURDX1JYRE1BX0NGR19SRUc7CisJCXRtcCA9IG9tYXBfcmVhZHcoVURDX1JYRE1BX0NGRyk7CiAJCXNlcV9wcmludGYocywgInJ4ZG1hX2NmZyAgICUwNHhcbiIsIHRtcCk7CiAJCWlmICh0bXApIHsKIAkJCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKIAkJCQlpZiAoKHRtcCAmICgweDBmIDw8IChpICogNCkpKSA9PSAwKQogCQkJCQljb250aW51ZTsKIAkJCQlzZXFfcHJpbnRmKHMsICJyeGRtYVslZF0gICAgJTA0eFxuIiwgaSwKLQkJCQkJCVVEQ19SWERNQV9SRUcoaSArIDEpKTsKKwkJCQkJCW9tYXBfcmVhZHcoVURDX1JYRE1BKGkgKyAxKSkpOwogCQkJfQogCQl9Ci0JCXRtcCA9IFVEQ19UWERNQV9DRkdfUkVHOworCQl0bXAgPSBvbWFwX3JlYWR3KFVEQ19UWERNQV9DRkcpOwogCQlzZXFfcHJpbnRmKHMsICJ0eGRtYV9jZmcgICAlMDR4XG4iLCB0bXApOwogCQlpZiAodG1wKSB7CiAJCQlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7CiAJCQkJaWYgKCEodG1wICYgKDB4MGYgPDwgKGkgKiA0KSkpKQogCQkJCQljb250aW51ZTsKIAkJCQlzZXFfcHJpbnRmKHMsICJ0eGRtYVslZF0gICAgJTA0eFxuIiwgaSwKLQkJCQkJCVVEQ19UWERNQV9SRUcoaSArIDEpKTsKKwkJCQkJCW9tYXBfcmVhZHcoVURDX1RYRE1BKGkgKyAxKSkpOwogCQkJfQogCQl9CiAJfQogCi0JdG1wID0gVURDX0RFVlNUQVRfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX0RFVlNUQVQpOwogCWlmICh0bXAgJiBVRENfQVRUKSB7CiAJCXByb2NfZXBfc2hvdyhzLCAmdWRjLT5lcFswXSk7CiAJCWlmICh0bXAgJiBVRENfQUREKSB7CkBAIC0yNTM1LDcgKzI1NTksNyBAQAogICogYnVmZmVyIHNwYWNlIGFtb25nIHRoZSBlbmRwb2ludHMgd2UnbGwgYmUgb3BlcmF0aW5nLgogICoKICAqIE5PVEU6IGFzIG9mIE9NQVAgMTcxMCBFUzIuMCwgd3JpdGluZyBhIG5ldyBlbmRwb2ludCBjb25maWcgd2hlbgotICogVURDX1NZU0NPTl8xX1JFRy5DRkdfTE9DSyBpcyBzZXQgY2FuIG5vdyB3b3JrLiAgV2Ugd29uJ3QgdXNlIHRoYXQKKyAqIFVEQ19TWVNDT05fMS5DRkdfTE9DSyBpcyBzZXQgY2FuIG5vdyB3b3JrLiAgV2Ugd29uJ3QgdXNlIHRoYXQKICAqIGNhcGFiaWxpdHkgeWV0IHRob3VnaC4KICAqLwogc3RhdGljIHVuc2lnbmVkIF9faW5pdApAQCAtMjU5Nyw5ICsyNjIxLDkgQEAKIAkJbmFtZSwgYWRkciwgZXBuX3J4dHgsIG1heHAsIGRidWYgPyAieDIiIDogIiIsIGJ1Zik7CiAKIAlpZiAoYWRkciAmIFVTQl9ESVJfSU4pCi0JCVVEQ19FUF9UWF9SRUcoYWRkciAmIDB4ZikgPSBlcG5fcnh0eDsKKwkJb21hcF93cml0ZXcoZXBuX3J4dHgsIFVEQ19FUF9UWChhZGRyICYgMHhmKSk7CiAJZWxzZQotCQlVRENfRVBfUlhfUkVHKGFkZHIpID0gZXBuX3J4dHg7CisJCW9tYXBfd3JpdGV3KGVwbl9yeHR4LCBVRENfRVBfUlgoYWRkcikpOwogCiAJLyogbmV4dCBlbmRwb2ludCdzIGJ1ZmZlciBzdGFydHMgYWZ0ZXIgdGhpcyBvbmUncyAqLwogCWJ1ZiArPSBtYXhwOwpAQCAtMjYzOCwxNSArMjY2MiwxNSBAQAogCXVuc2lnbmVkCXRtcCwgYnVmOwogCiAJLyogYWJvbGlzaCBhbnkgcHJldmlvdXMgaGFyZHdhcmUgc3RhdGUgKi8KLQlVRENfU1lTQ09OMV9SRUcgPSAwOwotCVVEQ19JUlFfRU5fUkVHID0gMDsKLQlVRENfSVJRX1NSQ19SRUcgPSBVRENfSVJRX1NSQ19NQVNLOwotCVVEQ19ETUFfSVJRX0VOX1JFRyA9IDA7Ci0JVURDX1JYRE1BX0NGR19SRUcgPSAwOwotCVVEQ19UWERNQV9DRkdfUkVHID0gMDsKKwlvbWFwX3dyaXRldygwLCBVRENfU1lTQ09OMSk7CisJb21hcF93cml0ZXcoMCwgVURDX0lSUV9FTik7CisJb21hcF93cml0ZXcoVURDX0lSUV9TUkNfTUFTSywgVURDX0lSUV9TUkMpOworCW9tYXBfd3JpdGV3KDAsIFVEQ19ETUFfSVJRX0VOKTsKKwlvbWFwX3dyaXRldygwLCBVRENfUlhETUFfQ0ZHKTsKKwlvbWFwX3dyaXRldygwLCBVRENfVFhETUFfQ0ZHKTsKIAogCS8qIFVEQ19QVUxMVVBfRU4gZ2F0ZXMgdGhlIGNoaXAgY2xvY2sgKi8KLQkvLyBPVEdfU1lTQ09OXzFfUkVHIHw9IERFVl9JRExFX0VOOworCS8vIE9UR19TWVNDT05fMSB8PSBERVZfSURMRV9FTjsKIAogCXVkYyA9IGt6YWxsb2Moc2l6ZW9mKCp1ZGMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXVkYykKQEAgLTI2NzcsOCArMjcwMSw4IEBACiAKIAkvKiBpbml0aWFsbHkgZGlzYWJsZSBhbGwgbm9uLWVwMCBlbmRwb2ludHMgKi8KIAlmb3IgKHRtcCA9IDE7IHRtcCA8IDE1OyB0bXArKykgewotCQlVRENfRVBfUlhfUkVHKHRtcCkgPSAwOwotCQlVRENfRVBfVFhfUkVHKHRtcCkgPSAwOworCQlvbWFwX3dyaXRldygwLCBVRENfRVBfUlgodG1wKSk7CisJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9UWCh0bXApKTsKIAl9CiAKICNkZWZpbmUgT01BUF9CVUxLX0VQKG5hbWUsYWRkcikgXApAQCAtMjc2Myw3ICsyNzg3LDcgQEAKIAkJRVJSKCJ1bnN1cHBvcnRlZCBmaWZvX21vZGUgIyVkXG4iLCBmaWZvX21vZGUpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9Ci0JVURDX1NZU0NPTjFfUkVHID0gVURDX0NGR19MT0NLfFVEQ19TRUxGX1BXUjsKKwlvbWFwX3dyaXRldyhVRENfQ0ZHX0xPQ0t8VURDX1NFTEZfUFdSLCBVRENfU1lTQ09OMSk7CiAJSU5GTygiZmlmbyBtb2RlICVkLCAlZCBieXRlcyBub3QgdXNlZFxuIiwgZmlmb19tb2RlLCAyMDQ4IC0gYnVmKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTI4MDcsNyArMjgzMSw3IEBACiAJfQogCiAJSU5GTygiT01BUCBVREMgcmV2ICVkLiVkJXNcbiIsCi0JCVVEQ19SRVZfUkVHID4+IDQsIFVEQ19SRVZfUkVHICYgMHhmLAorCQlvbWFwX3JlYWR3KFVEQ19SRVYpID4+IDQsIG9tYXBfcmVhZHcoVURDX1JFVikgJiAweGYsCiAJCWNvbmZpZy0+b3RnID8gIiwgTWluaS1BQiIgOiAiIik7CiAKIAkvKiB1c2UgdGhlIG1vZGUgZ2l2ZW4gdG8gdXMgYnkgYm9hcmQgaW5pdCBjb2RlICovCkBAIC0yODIyLDEyICsyODQ2LDEyIEBACiAJCQkgKiBrbm93IHdoZW4gdG8gdHVybiBQVUxMVVBfRU4gb24vb2ZmOyBhbmQgdGhhdAogCQkJICogbWVhbnMgd2UgYWx3YXlzICJuZWVkIiB0aGUgNDhNSHogY2xvY2suCiAJCQkgKi8KLQkJCXUzMiB0bXAgPSBGVU5DX01VWF9DVFJMXzBfUkVHOwotCi0JCQlGVU5DX01VWF9DVFJMXzBfUkVHICY9IH5WQlVTX0NUUkxfMTUxMDsKKwkJCXUzMiB0bXAgPSBvbWFwX3JlYWRsKEZVTkNfTVVYX0NUUkxfMCk7CisJCQl0bXAgJj0gflZCVVNfQ1RSTF8xNTEwOworCQkJb21hcF93cml0ZWwodG1wLCBGVU5DX01VWF9DVFJMXzApOwogCQkJdG1wIHw9IFZCVVNfTU9ERV8xNTEwOwogCQkJdG1wICY9IH5WQlVTX0NUUkxfMTUxMDsKLQkJCUZVTkNfTVVYX0NUUkxfMF9SRUcgPSB0bXA7CisJCQlvbWFwX3dyaXRlbCh0bXAsIEZVTkNfTVVYX0NUUkxfMCk7CiAJCX0KIAl9IGVsc2UgewogCQkvKiBUaGUgdHJhbnNjZWl2ZXIgbWF5IHBhY2thZ2Ugc29tZSBHUElPIGxvZ2ljIG9yIGhhbmRsZQpAQCAtMjkwNyw3ICsyOTMxLDcgQEAKICNlbmRpZgogCiAJLyogc3RhcnRpbmcgd2l0aCBvbWFwMTcxMCBlczIuMCwgY2xlYXIgdG9nZ2xlIGlzIGEgc2VwYXJhdGUgYml0ICovCi0JaWYgKFVEQ19SRVZfUkVHID49IDB4NjEpCisJaWYgKG9tYXBfcmVhZHcoVURDX1JFVikgPj0gMHg2MSkKIAkJdWRjLT5jbHJfaGFsdCA9IFVEQ19SRVNFVF9FUCB8IFVEQ19DTFJEQVRBX1RPR0dMRTsKIAllbHNlCiAJCXVkYy0+Y2xyX2hhbHQgPSBVRENfUkVTRVRfRVA7CkBAIC0zMDA1LDcgKzMwMjksNyBAQAogCQlwdXRfZGV2aWNlKHVkYy0+dHJhbnNjZWl2ZXItPmRldik7CiAJCXVkYy0+dHJhbnNjZWl2ZXIgPSBOVUxMOwogCX0KLQlVRENfU1lTQ09OMV9SRUcgPSAwOworCW9tYXBfd3JpdGV3KDAsIFVEQ19TWVNDT04xKTsKIAogCXJlbW92ZV9wcm9jX2ZpbGUoKTsKIApAQCAtMzAzNiw3ICszMDYwLDcgQEAKICAqCiAgKiBSRVZJU0lUIHdlIHNob3VsZCBwcm9iYWJseSByZWplY3Qgc3VzcGVuZCByZXF1ZXN0cyB3aGVuIHRoZXJlJ3MgYSBob3N0CiAgKiBzZXNzaW9uIGFjdGl2ZSwgcmF0aGVyIHRoYW4gZGlzY29ubmVjdGluZywgYXQgbGVhc3Qgb24gYm9hcmRzIHRoYXQgY2FuCi0gKiByZXBvcnQgVkJVUyBpcnFzIChVRENfREVWU1RBVF9SRUcuVURDX0FUVCkuICBBbmQgaW4gYW55IGNhc2UsIHdlIG5lZWQgdG8KKyAqIHJlcG9ydCBWQlVTIGlycXMgKFVEQ19ERVZTVEFULlVEQ19BVFQpLiAgQW5kIGluIGFueSBjYXNlLCB3ZSBuZWVkIHRvCiAgKiBtYWtlIGhvc3QgcmVzdW1lcyBhbmQgVkJVUyBkZXRlY3Rpb24gdHJpZ2dlciBPTUFQIHdha2V1cCBldmVudHM7IHRoYXQKICAqIG1heSBpbnZvbHZlIHRhbGtpbmcgdG8gYW4gZXh0ZXJuYWwgdHJhbnNjZWl2ZXIgKGUuZy4gaXNwMTMwMSkuCiAgKi8KQEAgLTMwNDUsNyArMzA2OSw3IEBACiB7CiAJdTMyCWRldnN0YXQ7CiAKLQlkZXZzdGF0ID0gVURDX0RFVlNUQVRfUkVHOworCWRldnN0YXQgPSBvbWFwX3JlYWR3KFVEQ19ERVZTVEFUKTsKIAogCS8qIHdlJ3JlIHJlcXVlc3RpbmcgNDggTUh6IGNsb2NrIGlmIHRoZSBwdWxsdXAgaXMgZW5hYmxlZAogCSAqICg9PSB3ZSdyZSBhdHRhY2hlZCB0byB0aGUgaG9zdCkgYW5kIHdlJ3JlIG5vdCBzdXNwZW5kZWQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuaCBiL2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5oCmluZGV4IGM2YjljYmMuLjg1MjJiYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5oCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5oCkBAIC04LDIzICs4LDIyIEBACiAvKgogICogVVNCIGRldmljZS9lbmRwb2ludCBtYW5hZ2VtZW50IHJlZ2lzdGVycwogICovCi0jZGVmaW5lIFVEQ19SRUcob2Zmc2V0KSAgICAgICAgICAgICAgX19SRUcxNihVRENfQkFTRSArIChvZmZzZXQpKQogCi0jZGVmaW5lCVVEQ19SRVZfUkVHCQkJVURDX1JFRygweDApCS8qIFJldmlzaW9uICovCi0jZGVmaW5lCVVEQ19FUF9OVU1fUkVHCQkJVURDX1JFRygweDQpCS8qIFdoaWNoIGVuZHBvaW50ICovCisjZGVmaW5lCVVEQ19SRVYJCQkJKFVEQ19CQVNFICsgMHgwKQkvKiBSZXZpc2lvbiAqLworI2RlZmluZQlVRENfRVBfTlVNCQkJKFVEQ19CQVNFICsgMHg0KQkvKiBXaGljaCBlbmRwb2ludCAqLwogIwlkZWZpbmUJVURDX1NFVFVQX1NFTAkJKDEgPDwgNikKICMJZGVmaW5lCVVEQ19FUF9TRUwJCSgxIDw8IDUpCiAjCWRlZmluZQlVRENfRVBfRElSCQkoMSA8PCA0KQogCS8qIGxvdyA0IGJpdHMgZm9yIGVuZHBvaW50IG51bWJlciAqLwotI2RlZmluZQlVRENfREFUQV9SRUcJCQlVRENfUkVHKDB4MDgpCS8qIEVuZHBvaW50IEZJRk8gKi8KLSNkZWZpbmUJVURDX0NUUkxfUkVHCQkJVURDX1JFRygweDBDKQkvKiBFbmRwb2ludCBjb250cm9sICovCisjZGVmaW5lCVVEQ19EQVRBCQkJKFVEQ19CQVNFICsgMHgwOCkJLyogRW5kcG9pbnQgRklGTyAqLworI2RlZmluZQlVRENfQ1RSTAkJCShVRENfQkFTRSArIDB4MEMpCS8qIEVuZHBvaW50IGNvbnRyb2wgKi8KICMJZGVmaW5lCVVEQ19DTFJfSEFMVAkJKDEgPDwgNykKICMJZGVmaW5lCVVEQ19TRVRfSEFMVAkJKDEgPDwgNikKICMJZGVmaW5lCVVEQ19DTFJEQVRBX1RPR0dMRQkoMSA8PCAzKQogIwlkZWZpbmUJVURDX1NFVF9GSUZPX0VOCQkoMSA8PCAyKQogIwlkZWZpbmUJVURDX0NMUl9FUAkJKDEgPDwgMSkKICMJZGVmaW5lCVVEQ19SRVNFVF9FUAkJKDEgPDwgMCkKLSNkZWZpbmUJVURDX1NUQVRfRkxHX1JFRwkJVURDX1JFRygweDEwKQkvKiBFbmRwb2ludCBzdGF0dXMgKi8KKyNkZWZpbmUJVURDX1NUQVRfRkxHCQkJKFVEQ19CQVNFICsgMHgxMCkJLyogRW5kcG9pbnQgc3RhdHVzICovCiAjCWRlZmluZQlVRENfTk9fUlhQQUNLRVQJCSgxIDw8IDE1KQogIwlkZWZpbmUJVURDX01JU1NfSU4JCSgxIDw8IDE0KQogIwlkZWZpbmUJVURDX0RBVEFfRkxVU0gJCSgxIDw8IDEzKQpAQCAtMzgsOCArMzcsOCBAQAogIwlkZWZpbmUJVURDX0ZJRk9fRU4JCSgxIDw8IDIpCiAjCWRlZmluZQlVRENfTk9OX0lTT19GSUZPX0VNUFRZCSgxIDw8IDEpCiAjCWRlZmluZQlVRENfTk9OX0lTT19GSUZPX0ZVTEwJKDEgPDwgMCkKLSNkZWZpbmUJVURDX1JYRlNUQVRfUkVHCQkJVURDX1JFRygweDE0KQkvKiBPVVQgYnl0ZWNvdW50ICovCi0jZGVmaW5lCVVEQ19TWVNDT04xX1JFRwkJCVVEQ19SRUcoMHgxOCkJLyogU3lzdGVtIGNvbmZpZyAxICovCisjZGVmaW5lCVVEQ19SWEZTVEFUCQkJKFVEQ19CQVNFICsgMHgxNCkJLyogT1VUIGJ5dGVjb3VudCAqLworI2RlZmluZQlVRENfU1lTQ09OMQkJCShVRENfQkFTRSArIDB4MTgpCS8qIFN5c3RlbSBjb25maWcgMSAqLwogIwlkZWZpbmUJVURDX0NGR19MT0NLCQkoMSA8PCA4KQogIwlkZWZpbmUJVURDX0RBVEFfRU5ESUFOCQkoMSA8PCA3KQogIwlkZWZpbmUJVURDX0RNQV9FTkRJQU4JCSgxIDw8IDYpCkBAIC00OCwxMiArNDcsMTIgQEAKICMJZGVmaW5lCVVEQ19TRUxGX1BXUgkJKDEgPDwgMikKICMJZGVmaW5lCVVEQ19TT0ZGX0RJUwkJKDEgPDwgMSkKICMJZGVmaW5lCVVEQ19QVUxMVVBfRU4JCSgxIDw8IDApCi0jZGVmaW5lCVVEQ19TWVNDT04yX1JFRwkJCVVEQ19SRUcoMHgxQykJLyogU3lzdGVtIGNvbmZpZyAyICovCisjZGVmaW5lCVVEQ19TWVNDT04yCQkJKFVEQ19CQVNFICsgMHgxQykJLyogU3lzdGVtIGNvbmZpZyAyICovCiAjCWRlZmluZQlVRENfUk1UX1dLUAkJKDEgPDwgNikKICMJZGVmaW5lCVVEQ19TVEFMTF9DTUQJCSgxIDw8IDUpCiAjCWRlZmluZQlVRENfREVWX0NGRwkJKDEgPDwgMykKICMJZGVmaW5lCVVEQ19DTFJfQ0ZHCQkoMSA8PCAyKQotI2RlZmluZQlVRENfREVWU1RBVF9SRUcJCQlVRENfUkVHKDB4MjApCS8qIERldmljZSBzdGF0dXMgKi8KKyNkZWZpbmUJVURDX0RFVlNUQVQJCQkoVURDX0JBU0UgKyAweDIwKQkvKiBEZXZpY2Ugc3RhdHVzICovCiAjCWRlZmluZQlVRENfQl9ITlBfRU5BQkxFCSgxIDw8IDkpCiAjCWRlZmluZQlVRENfQV9ITlBfU1VQUE9SVAkoMSA8PCA4KQogIwlkZWZpbmUJVURDX0FfQUxUX0hOUF9TVVBQT1JUCSgxIDw8IDcpCkBAIC02NCwyNiArNjMsMjYgQEAKICMJZGVmaW5lCVVEQ19BREQJCQkoMSA8PCAyKQogIwlkZWZpbmUJVURDX0RFRgkJCSgxIDw8IDEpCiAjCWRlZmluZQlVRENfQVRUCQkJKDEgPDwgMCkKLSNkZWZpbmUJVURDX1NPRl9SRUcJCQlVRENfUkVHKDB4MjQpCS8qIFN0YXJ0IG9mIGZyYW1lICovCisjZGVmaW5lCVVEQ19TT0YJCQkJKFVEQ19CQVNFICsgMHgyNCkJLyogU3RhcnQgb2YgZnJhbWUgKi8KICMJZGVmaW5lCVVEQ19GVF9MT0NLCQkoMSA8PCAxMikKICMJZGVmaW5lCVVEQ19UU19PSwkJKDEgPDwgMTEpCiAjCWRlZmluZQlVRENfVFMJCQkweDAzZmYKLSNkZWZpbmUJVURDX0lSUV9FTl9SRUcJCQlVRENfUkVHKDB4MjgpCS8qIEludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUJVURDX0lSUV9FTgkJCShVRENfQkFTRSArIDB4MjgpCS8qIEludGVycnVwdCBlbmFibGUgKi8KICMJZGVmaW5lCVVEQ19TT0ZfSUUJCSgxIDw8IDcpCiAjCWRlZmluZQlVRENfRVBOX1JYX0lFCQkoMSA8PCA1KQogIwlkZWZpbmUJVURDX0VQTl9UWF9JRQkJKDEgPDwgNCkKICMJZGVmaW5lCVVEQ19EU19DSEdfSUUJCSgxIDw8IDMpCiAjCWRlZmluZQlVRENfRVAwX0lFCQkoMSA8PCAwKQotI2RlZmluZQlVRENfRE1BX0lSUV9FTl9SRUcJCVVEQ19SRUcoMHgyQykJLyogRE1BIGlycSBlbmFibGUgKi8KKyNkZWZpbmUJVURDX0RNQV9JUlFfRU4JCQkoVURDX0JBU0UgKyAweDJDKQkvKiBETUEgaXJxIGVuYWJsZSAqLwogCS8qIHJ4L3R4IGRtYSBjaGFubmVscyBudW1iZXJlZCAxLTMgbm90IDAtMiAqLwogIwlkZWZpbmUJVURDX1RYX0RPTkVfSUUobikJKDEgPDwgKDQgKiAobikgLSAyKSkKICMJZGVmaW5lCVVEQ19SWF9DTlRfSUUobikJKDEgPDwgKDQgKiAobikgLSAzKSkKICMJZGVmaW5lCVVEQ19SWF9FT1RfSUUobikJKDEgPDwgKDQgKiAobikgLSA0KSkKLSNkZWZpbmUJVURDX0lSUV9TUkNfUkVHCQkJVURDX1JFRygweDMwKQkvKiBJbnRlcnJ1cHQgc291cmNlICovCisjZGVmaW5lCVVEQ19JUlFfU1JDCQkJKFVEQ19CQVNFICsgMHgzMCkJLyogSW50ZXJydXB0IHNvdXJjZSAqLwogIwlkZWZpbmUJVURDX1RYTl9ET05FCQkoMSA8PCAxMCkKICMJZGVmaW5lCVVEQ19SWE5fQ05UCQkoMSA8PCA5KQogIwlkZWZpbmUJVURDX1JYTl9FT1QJCSgxIDw8IDgpCi0jCWRlZmluZQlVRENfU09GCQkJKDEgPDwgNykKKyMJZGVmaW5lCVVEQ19JUlFfU09GCQkoMSA8PCA3KQogIwlkZWZpbmUJVURDX0VQTl9SWAkJKDEgPDwgNSkKICMJZGVmaW5lCVVEQ19FUE5fVFgJCSgxIDw8IDQpCiAjCWRlZmluZQlVRENfRFNfQ0hHCQkoMSA8PCAzKQpAQCAtOTEsNDEgKzkwLDQxIEBACiAjCWRlZmluZQlVRENfRVAwX1JYCQkoMSA8PCAxKQogIwlkZWZpbmUJVURDX0VQMF9UWAkJKDEgPDwgMCkKICMJZGVmaW5lCVVEQ19JUlFfU1JDX01BU0sJMHg3YmYKLSNkZWZpbmUJVURDX0VQTl9TVEFUX1JFRwkJVURDX1JFRygweDM0KQkvKiBFUCBpcnEgc3RhdHVzICovCi0jZGVmaW5lCVVEQ19ETUFOX1NUQVRfUkVHCQlVRENfUkVHKDB4MzgpCS8qIERNQSBpcnEgc3RhdHVzICovCisjZGVmaW5lCVVEQ19FUE5fU1RBVAkJCShVRENfQkFTRSArIDB4MzQpCS8qIEVQIGlycSBzdGF0dXMgKi8KKyNkZWZpbmUJVURDX0RNQU5fU1RBVAkJCShVRENfQkFTRSArIDB4MzgpCS8qIERNQSBpcnEgc3RhdHVzICovCiAjCWRlZmluZQlVRENfRE1BX1JYX1NCCQkoMSA8PCAxMikKICMJZGVmaW5lCVVEQ19ETUFfUlhfU1JDKHgpCSgoKHgpPj44KSAmIDB4ZikKICMJZGVmaW5lCVVEQ19ETUFfVFhfU1JDKHgpCSgoKHgpPj4wKSAmIDB4ZikKIAogCiAvKiBETUEgY29uZmlndXJhdGlvbiByZWdpc3RlcnM6ICB1cCB0byB0aHJlZSBjaGFubmVscyBpbiBlYWNoIGRpcmVjdGlvbi4gICovCi0jZGVmaW5lCVVEQ19SWERNQV9DRkdfUkVHCQlVRENfUkVHKDB4NDApCS8qIDMgZXBzIGZvciBSWCBETUEgKi8KKyNkZWZpbmUJVURDX1JYRE1BX0NGRwkJCShVRENfQkFTRSArIDB4NDApCS8qIDMgZXBzIGZvciBSWCBETUEgKi8KICMJZGVmaW5lCVVEQ19ETUFfUkVRCQkoMSA8PCAxMikKLSNkZWZpbmUJVURDX1RYRE1BX0NGR19SRUcJCVVEQ19SRUcoMHg0NCkJLyogMyBlcHMgZm9yIFRYIERNQSAqLwotI2RlZmluZQlVRENfREFUQV9ETUFfUkVHCQlVRENfUkVHKDB4NDgpCS8qIHJ4L3R4IGZpZm8gYWRkciAqLworI2RlZmluZQlVRENfVFhETUFfQ0ZHCQkJKFVEQ19CQVNFICsgMHg0NCkJLyogMyBlcHMgZm9yIFRYIERNQSAqLworI2RlZmluZQlVRENfREFUQV9ETUEJCQkoVURDX0JBU0UgKyAweDQ4KQkvKiByeC90eCBmaWZvIGFkZHIgKi8KIAogLyogcngvdHggZG1hIGNvbnRyb2wsIG51bWJlcmluZyBjaGFubmVscyAxLTMgbm90IDAtMiAqLwotI2RlZmluZQlVRENfVFhETUFfUkVHKGNoYW4pCQlVRENfUkVHKDB4NTAgLSA0ICsgNCAqIChjaGFuKSkKKyNkZWZpbmUJVURDX1RYRE1BKGNoYW4pCQkJKFVEQ19CQVNFICsgMHg1MCAtIDQgKyA0ICogKGNoYW4pKQogIwlkZWZpbmUgVURDX1RYTl9FT1QJCSgxIDw8IDE1KQkvKiBieXRlcyB2cyBwYWNrZXRzICovCiAjCWRlZmluZSBVRENfVFhOX1NUQVJUCQkoMSA8PCAxNCkJLyogc3RhcnQgdHJhbnNmZXIgKi8KICMJZGVmaW5lIFVEQ19UWE5fVFNDCQkweDAzZmYJCS8qIHVuaXRzIGluIHhmZXIgKi8KLSNkZWZpbmUJVURDX1JYRE1BX1JFRyhjaGFuKQkJVURDX1JFRygweDYwIC0gNCArIDQgKiAoY2hhbikpCisjZGVmaW5lCVVEQ19SWERNQShjaGFuKQkJCShVRENfQkFTRSArIDB4NjAgLSA0ICsgNCAqIChjaGFuKSkKICMJZGVmaW5lIFVEQ19SWE5fU1RPUAkJKDEgPDwgMTUpCS8qIGVuYWJsZSBFT1QgaXJxICovCiAjCWRlZmluZSBVRENfUlhOX1RDCQkweDAwZmYJCS8qIHBhY2tldHMgaW4geGZlciAqLwogCiAKIC8qCiAgKiBFbmRwb2ludCBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyAodXNlZCBiZWZvcmUgQ0ZHX0xPQ0sgaXMgc2V0KQotICogVURDX0VQX1RYX1JFRygwKSBpcyB1bnVzZWQKKyAqIFVEQ19FUF9UWCgwKSBpcyB1bnVzZWQKICAqLwotI2RlZmluZQlVRENfRVBfUlhfUkVHKGVuZHBvaW50KQkJVURDX1JFRygweDgwICsgKGVuZHBvaW50KSo0KQorI2RlZmluZQlVRENfRVBfUlgoZW5kcG9pbnQpCQkoVURDX0JBU0UgKyAweDgwICsgKGVuZHBvaW50KSo0KQogIwlkZWZpbmUJVURDX0VQTl9SWF9WQUxJRAkoMSA8PCAxNSkKICMJZGVmaW5lCVVEQ19FUE5fUlhfREIJCSgxIDw8IDE0KQogCS8qIGJ1ZmZlciBzaXplIGluIGJpdHMgMTMsIDEyICovCiAjCWRlZmluZQlVRENfRVBOX1JYX0lTTwkJKDEgPDwgMTEpCiAJLyogYnVmZmVyIHBvaW50ZXIgaW4gbG93IDExIGJpdHMgKi8KLSNkZWZpbmUJVURDX0VQX1RYX1JFRyhlbmRwb2ludCkJCVVEQ19SRUcoMHhjMCArIChlbmRwb2ludCkqNCkKLQkvKiBzYW1lIGJpdGZpZWxkcyBhcyBpbiBSWF9SRUcgKi8KKyNkZWZpbmUJVURDX0VQX1RYKGVuZHBvaW50KQkJKFVEQ19CQVNFICsgMHhjMCArIChlbmRwb2ludCkqNCkKKwkvKiBzYW1lIGJpdGZpZWxkcyBhcyBpbiBSWCAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xOTUsMTQgKzE5NCwxNCBAQAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi0jZGVmaW5lCU1PRF9DT05GX0NUUkxfMF9SRUcJX19SRUczMihNT0RfQ09ORl9DVFJMXzApCi0jZGVmaW5lCVZCVVNfVzJGQ18xNTEwCQkoMSA8PCAxNykJLyogMCBncGlvMCwgMSBkdmRkMiBwaW4gKi8KKy8qIE1PRF9DT05GX0NUUkxfMCAqLworI2RlZmluZSBWQlVTX1cyRkNfMTUxMAkJKDEgPDwgMTcpCS8qIDAgZ3BpbzAsIDEgZHZkZDIgcGluICovCiAKLSNkZWZpbmUJRlVOQ19NVVhfQ1RSTF8wX1JFRwlfX1JFRzMyKEZVTkNfTVVYX0NUUkxfMCkKKy8qIEZVTkNfTVVYX0NUUkxfMCAqLwogI2RlZmluZQlWQlVTX0NUUkxfMTUxMAkJKDEgPDwgMTkpCS8qIDEgY29ubmVjdGVkIChzb2Z0d2FyZSkgKi8KICNkZWZpbmUJVkJVU19NT0RFXzE1MTAJCSgxIDw8IDE4KQkvKiAwIGhhcmR3YXJlLCAxIHNvZnR3YXJlICovCiAKLSNkZWZpbmUJSE1DXzE1MTAJKChNT0RfQ09ORl9DVFJMXzBfUkVHID4+IDEpICYgMHgzZikKLSNkZWZpbmUJSE1DXzE2MTAJKE9UR19TWVNDT05fMl9SRUcgJiAweDNmKQorI2RlZmluZQlITUNfMTUxMAkoKG9tYXBfcmVhZGwoTU9EX0NPTkZfQ1RSTF8wKSA+PiAxKSAmIDB4M2YpCisjZGVmaW5lCUhNQ18xNjEwCShvbWFwX3JlYWRsKE9UR19TWVNDT05fMikgJiAweDNmKQogI2RlZmluZQlITUMJCShjcHVfaXNfb21hcDE1eHgoKSA/IEhNQ18xNTEwIDogSE1DXzE2MTApCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9wcmludGVyLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHJpbnRlci5jCmluZGV4IDc2YmU3NWUuLmVjOGYyZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9wcmludGVyLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3ByaW50ZXIuYwpAQCAtNDYyLDYgKzQ2Miw3IEBACiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAJaW50CQkJcmV0ID0gLUVCVVNZOwogCisJbG9ja19rZXJuZWwoKTsKIAlkZXYgPSBjb250YWluZXJfb2YoaW5vZGUtPmlfY2Rldiwgc3RydWN0IHByaW50ZXJfZGV2LCBwcmludGVyX2NkZXYpOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+bG9jaywgZmxhZ3MpOwpAQCAtNDc3LDcgKzQ3OCw3IEBACiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5sb2NrLCBmbGFncyk7CiAKIAlEQkcoZGV2LCAicHJpbnRlcl9vcGVuIHJldHVybmVkICV4XG4iLCByZXQpOwotCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjV4X3VkYy5jCnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIGRyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmMKcmVuYW1lIHRvIGRyaXZlcnMvdXNiL2dhZGdldC9weGEyNXhfdWRjLmMKaW5kZXggMDhmNjk5Yi4uMDMxZGNlYiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjV4X3VkYy5jCkBAIC0xLDUgKzEsNCBAQAogLyoKLSAqIGxpbnV4L2RyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmMKICAqIEludGVsIFBYQTI1eCBhbmQgSVhQNHh4IG9uLWNoaXAgZnVsbCBzcGVlZCBVU0IgZGV2aWNlIGNvbnRyb2xsZXJzCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDAyIEludHJpbnN5YywgSW5jLiAoRnJhbmsgQmVja2VyKQpAQCAtNDYsMTkgKzQ1LDI1IEBACiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+CiAjaW5jbHVkZSA8YXNtL2dwaW8uaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vdW5hbGlnbmVkLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKICNpbmNsdWRlIDxsaW51eC91c2IvY2g5Lmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL2dhZGdldC5oPgogCisvKgorICogVGhpcyBkcml2ZXIgaXMgUFhBMjV4IG9ubHkuICBHcmFiIHRoZSByaWdodCByZWdpc3RlciBkZWZpbml0aW9ucy4KKyAqLworI2lmZGVmIENPTkZJR19BUkNIX1BYQQorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTI1eC11ZGMuaD4KKyNlbmRpZgorCiAjaW5jbHVkZSA8YXNtL21hY2gvdWRjX3B4YTJ4eC5oPgogCiAKQEAgLTkxLDcgKzk2LDcgQEAKICNkZWZpbmUJRFJJVkVSX0RFU0MJIlBYQSAyNXggVVNCIERldmljZSBDb250cm9sbGVyIGRyaXZlciIKIAogCi1zdGF0aWMgY29uc3QgY2hhciBkcml2ZXJfbmFtZSBbXSA9ICJweGEyeHhfdWRjIjsKK3N0YXRpYyBjb25zdCBjaGFyIGRyaXZlcl9uYW1lIFtdID0gInB4YTI1eF91ZGMiOwogCiBzdGF0aWMgY29uc3QgY2hhciBlcDBuYW1lIFtdID0gImVwMCI7CiAKQEAgLTExMSwxMCArMTE2LDEwIEBACiAKICNlbmRpZgogCi0jaW5jbHVkZSAicHhhMnh4X3VkYy5oIgorI2luY2x1ZGUgInB4YTI1eF91ZGMuaCIKIAogCi0jaWZkZWYJQ09ORklHX1VTQl9QWEEyWFhfU01BTEwKKyNpZmRlZglDT05GSUdfVVNCX1BYQTI1WF9TTUFMTAogI2RlZmluZSBTSVpFX1NUUgkiIChzbWFsbCkiCiAjZWxzZQogI2RlZmluZSBTSVpFX1NUUgkiIgpAQCAtMTI2LDggKzEzMSw4IEBACiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi1zdGF0aWMgdm9pZCBweGEyeHhfZXBfZmlmb19mbHVzaCAoc3RydWN0IHVzYl9lcCAqZXApOwotc3RhdGljIHZvaWQgbnVrZSAoc3RydWN0IHB4YTJ4eF9lcCAqLCBpbnQgc3RhdHVzKTsKK3N0YXRpYyB2b2lkIHB4YTI1eF9lcF9maWZvX2ZsdXNoIChzdHJ1Y3QgdXNiX2VwICplcCk7CitzdGF0aWMgdm9pZCBudWtlIChzdHJ1Y3QgcHhhMjV4X2VwICosIGludCBzdGF0dXMpOwogCiAvKiBvbmUgR1BJTyBzaG91bGQgYmUgdXNlZCB0byBkZXRlY3QgVkJVUyBmcm9tIHRoZSBob3N0ICovCiBzdGF0aWMgaW50IGlzX3ZidXNfcHJlc2VudCh2b2lkKQpAQCAtMjEyLDI0ICsyMTcsMjQgQEAKIC8qCiAgKiBlbmRwb2ludCBlbmFibGUvZGlzYWJsZQogICoKLSAqIHdlIG5lZWQgdG8gdmVyaWZ5IHRoZSBkZXNjcmlwdG9ycyB1c2VkIHRvIGVuYWJsZSBlbmRwb2ludHMuICBzaW5jZSBweGEyeHgKKyAqIHdlIG5lZWQgdG8gdmVyaWZ5IHRoZSBkZXNjcmlwdG9ycyB1c2VkIHRvIGVuYWJsZSBlbmRwb2ludHMuICBzaW5jZSBweGEyNXgKICAqIGVuZHBvaW50IGNvbmZpZ3VyYXRpb25zIGFyZSBmaXhlZCwgYW5kIGFyZSBwcmV0dHkgbXVjaCBhbHdheXMgZW5hYmxlZCwKICAqIHRoZXJlJ3Mgbm90IGEgbG90IHRvIG1hbmFnZSBoZXJlLgogICoKLSAqIGJlY2F1c2UgcHhhMnh4IGNhbid0IHNlbGVjdGl2ZWx5IGluaXRpYWxpemUgYnVsayAob3IgaW50ZXJydXB0KSBlbmRwb2ludHMsCisgKiBiZWNhdXNlIHB4YTI1eCBjYW4ndCBzZWxlY3RpdmVseSBpbml0aWFsaXplIGJ1bGsgKG9yIGludGVycnVwdCkgZW5kcG9pbnRzLAogICogKHJlc2V0dGluZyBlbmRwb2ludCBoYWx0IGFuZCB0b2dnbGUpLCBTRVRfSU5URVJGQUNFIGlzIHVudXNhYmxlIGV4Y2VwdAogICogZm9yIGEgc2luZ2xlIGludGVyZmFjZSAod2l0aCBvbmx5IHRoZSBkZWZhdWx0IGFsdHNldHRpbmcpIGFuZCBmb3IgZ2FkZ2V0CiAgKiBkcml2ZXJzIHRoYXQgZG9uJ3QgaGFsdCBlbmRwb2ludHMgKG5vdCByZXNldCBieSBzZXRfaW50ZXJmYWNlKS4gIHRoYXQgYWxzbwogICogbWVhbnMgdGhhdCBpZiB5b3UgdXNlIElTTywgeW91IG11c3QgdmlvbGF0ZSB0aGUgVVNCIHNwZWMgcnVsZSB0aGF0IGFsbAogICogaXNvIGVuZHBvaW50cyBtdXN0IGJlIGluIG5vbi1kZWZhdWx0IGFsdHNldHRpbmdzLgogICovCi1zdGF0aWMgaW50IHB4YTJ4eF9lcF9lbmFibGUgKHN0cnVjdCB1c2JfZXAgKl9lcCwKK3N0YXRpYyBpbnQgcHhhMjV4X2VwX2VuYWJsZSAoc3RydWN0IHVzYl9lcCAqX2VwLAogCQljb25zdCBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rlc2NyaXB0b3IgKmRlc2MpCiB7Ci0Jc3RydWN0IHB4YTJ4eF9lcCAgICAgICAgKmVwOwotCXN0cnVjdCBweGEyeHhfdWRjICAgICAgICpkZXY7CisJc3RydWN0IHB4YTI1eF9lcCAgICAgICAgKmVwOworCXN0cnVjdCBweGEyNXhfdWRjICAgICAgICpkZXY7CiAKLQllcCA9IGNvbnRhaW5lcl9vZiAoX2VwLCBzdHJ1Y3QgcHhhMnh4X2VwLCBlcCk7CisJZXAgPSBjb250YWluZXJfb2YgKF9lcCwgc3RydWN0IHB4YTI1eF9lcCwgZXApOwogCWlmICghX2VwIHx8ICFkZXNjIHx8IGVwLT5kZXNjIHx8IF9lcC0+bmFtZSA9PSBlcDBuYW1lCiAJCQl8fCBkZXNjLT5iRGVzY3JpcHRvclR5cGUgIT0gVVNCX0RUX0VORFBPSU5UCiAJCQl8fCBlcC0+YkVuZHBvaW50QWRkcmVzcyAhPSBkZXNjLT5iRW5kcG9pbnRBZGRyZXNzCkBAIC0yNjgsNyArMjczLDcgQEAKIAllcC0+ZXAubWF4cGFja2V0ID0gbGUxNl90b19jcHUgKGRlc2MtPndNYXhQYWNrZXRTaXplKTsKIAogCS8qIGZsdXNoIGZpZm8gKG1vc3RseSBmb3IgT1VUIGJ1ZmZlcnMpICovCi0JcHhhMnh4X2VwX2ZpZm9fZmx1c2ggKF9lcCk7CisJcHhhMjV4X2VwX2ZpZm9fZmx1c2ggKF9lcCk7CiAKIAkvKiAuLi4gcmVzZXQgaGFsdCBzdGF0ZSB0b28sIGlmIHdlIGNvdWxkIC4uLiAqLwogCkBAIC0yNzYsMTIgKzI4MSwxMiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHB4YTJ4eF9lcF9kaXNhYmxlIChzdHJ1Y3QgdXNiX2VwICpfZXApCitzdGF0aWMgaW50IHB4YTI1eF9lcF9kaXNhYmxlIChzdHJ1Y3QgdXNiX2VwICpfZXApCiB7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkqZXA7CisJc3RydWN0IHB4YTI1eF9lcAkqZXA7CiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAKLQllcCA9IGNvbnRhaW5lcl9vZiAoX2VwLCBzdHJ1Y3QgcHhhMnh4X2VwLCBlcCk7CisJZXAgPSBjb250YWluZXJfb2YgKF9lcCwgc3RydWN0IHB4YTI1eF9lcCwgZXApOwogCWlmICghX2VwIHx8ICFlcC0+ZGVzYykgewogCQlETVNHKCIlcywgJXMgbm90IGVuYWJsZWRcbiIsIF9fZnVuY19fLAogCQkJX2VwID8gZXAtPmVwLm5hbWUgOiBOVUxMKTsKQEAgLTI5Miw3ICsyOTcsNyBAQAogCW51a2UgKGVwLCAtRVNIVVRET1dOKTsKIAogCS8qIGZsdXNoIGZpZm8gKG1vc3RseSBmb3IgSU4gYnVmZmVycykgKi8KLQlweGEyeHhfZXBfZmlmb19mbHVzaCAoX2VwKTsKKwlweGEyNXhfZXBfZmlmb19mbHVzaCAoX2VwKTsKIAogCWVwLT5kZXNjID0gTlVMTDsKIAllcC0+c3RvcHBlZCA9IDE7CkBAIC0zMDQsMTggKzMwOSwxOCBAQAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi0vKiBmb3IgdGhlIHB4YTJ4eCwgdGhlc2UgY2FuIGp1c3Qgd3JhcCBrbWFsbG9jL2tmcmVlLiAgZ2FkZ2V0IGRyaXZlcnMKKy8qIGZvciB0aGUgcHhhMjV4LCB0aGVzZSBjYW4ganVzdCB3cmFwIGttYWxsb2Mva2ZyZWUuICBnYWRnZXQgZHJpdmVycwogICogbXVzdCBzdGlsbCBwYXNzIGNvcnJlY3RseSBpbml0aWFsaXplZCBlbmRwb2ludHMsIHNpbmNlIG90aGVyIGNvbnRyb2xsZXIKICAqIGRyaXZlcnMgbWF5IGNhcmUgYWJvdXQgaG93IGl0J3MgY3VycmVudGx5IHNldCB1cCAoZG1hIGlzc3VlcyBldGMpLgogICovCiAKIC8qCi0gKglweGEyeHhfZXBfYWxsb2NfcmVxdWVzdCAtIGFsbG9jYXRlIGEgcmVxdWVzdCBkYXRhIHN0cnVjdHVyZQorICoJcHhhMjV4X2VwX2FsbG9jX3JlcXVlc3QgLSBhbGxvY2F0ZSBhIHJlcXVlc3QgZGF0YSBzdHJ1Y3R1cmUKICAqLwogc3RhdGljIHN0cnVjdCB1c2JfcmVxdWVzdCAqCi1weGEyeHhfZXBfYWxsb2NfcmVxdWVzdCAoc3RydWN0IHVzYl9lcCAqX2VwLCBnZnBfdCBnZnBfZmxhZ3MpCitweGEyNXhfZXBfYWxsb2NfcmVxdWVzdCAoc3RydWN0IHVzYl9lcCAqX2VwLCBnZnBfdCBnZnBfZmxhZ3MpCiB7Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXE7CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXE7CiAKIAlyZXEgPSBremFsbG9jKHNpemVvZigqcmVxKSwgZ2ZwX2ZsYWdzKTsKIAlpZiAoIXJlcSkKQEAgLTMyNywxNCArMzMyLDE0IEBACiAKIAogLyoKLSAqCXB4YTJ4eF9lcF9mcmVlX3JlcXVlc3QgLSBkZWFsbG9jYXRlIGEgcmVxdWVzdCBkYXRhIHN0cnVjdHVyZQorICoJcHhhMjV4X2VwX2ZyZWVfcmVxdWVzdCAtIGRlYWxsb2NhdGUgYSByZXF1ZXN0IGRhdGEgc3RydWN0dXJlCiAgKi8KIHN0YXRpYyB2b2lkCi1weGEyeHhfZXBfZnJlZV9yZXF1ZXN0IChzdHJ1Y3QgdXNiX2VwICpfZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqX3JlcSkKK3B4YTI1eF9lcF9mcmVlX3JlcXVlc3QgKHN0cnVjdCB1c2JfZXAgKl9lcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpfcmVxKQogewotCXN0cnVjdCBweGEyeHhfcmVxdWVzdAkqcmVxOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOwogCi0JcmVxID0gY29udGFpbmVyX29mIChfcmVxLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QsIHJlcSk7CisJcmVxID0gY29udGFpbmVyX29mIChfcmVxLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QsIHJlcSk7CiAJV0FSTl9PTiAoIWxpc3RfZW1wdHkgKCZyZXEtPnF1ZXVlKSk7CiAJa2ZyZWUocmVxKTsKIH0KQEAgLTM0NCw3ICszNDksNyBAQAogLyoKICAqCWRvbmUgLSByZXRpcmUgYSByZXF1ZXN0OyBjYWxsZXIgYmxvY2tlZCBpcnFzCiAgKi8KLXN0YXRpYyB2b2lkIGRvbmUoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxLCBpbnQgc3RhdHVzKQorc3RhdGljIHZvaWQgZG9uZShzdHJ1Y3QgcHhhMjV4X2VwICplcCwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXEsIGludCBzdGF0dXMpCiB7CiAJdW5zaWduZWQJCXN0b3BwZWQgPSBlcC0+c3RvcHBlZDsKIApAQCAtMzY3LDEzICszNzIsMTMgQEAKIH0KIAogCi1zdGF0aWMgaW5saW5lIHZvaWQgZXAwX2lkbGUgKHN0cnVjdCBweGEyeHhfdWRjICpkZXYpCitzdGF0aWMgaW5saW5lIHZvaWQgZXAwX2lkbGUgKHN0cnVjdCBweGEyNXhfdWRjICpkZXYpCiB7CiAJZGV2LT5lcDBzdGF0ZSA9IEVQMF9JRExFOwogfQogCiBzdGF0aWMgaW50Ci13cml0ZV9wYWNrZXQodm9sYXRpbGUgdTMyICp1ZGRyLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcSwgdW5zaWduZWQgbWF4KQord3JpdGVfcGFja2V0KHZvbGF0aWxlIHUzMiAqdWRkciwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXEsIHVuc2lnbmVkIG1heCkKIHsKIAl1OAkJKmJ1ZjsKIAl1bnNpZ25lZAlsZW5ndGgsIGNvdW50OwpAQCAtMzk4LDcgKzQwMyw3IEBACiAgKiBjYWxsZXIgZ3VhcmFudGVlcyBhdCBsZWFzdCBvbmUgcGFja2V0IGJ1ZmZlciBpcyByZWFkeSAob3IgYSB6bHApLgogICovCiBzdGF0aWMgaW50Ci13cml0ZV9maWZvIChzdHJ1Y3QgcHhhMnh4X2VwICplcCwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXEpCit3cml0ZV9maWZvIChzdHJ1Y3QgcHhhMjV4X2VwICplcCwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXEpCiB7CiAJdW5zaWduZWQJCW1heDsKIApAQCAtNDU1LDcgKzQ2MCw3IEBACiAgKiBlcDAgZGF0YSBzdGFnZS4gIHRoZXNlIGNoaXBzIHdhbnQgdmVyeSBzaW1wbGUgc3RhdGUgdHJhbnNpdGlvbnMuCiAgKi8KIHN0YXRpYyBpbmxpbmUKLXZvaWQgZXAwc3RhcnQoc3RydWN0IHB4YTJ4eF91ZGMgKmRldiwgdTMyIGZsYWdzLCBjb25zdCBjaGFyICp0YWcpCit2b2lkIGVwMHN0YXJ0KHN0cnVjdCBweGEyNXhfdWRjICpkZXYsIHUzMiBmbGFncywgY29uc3QgY2hhciAqdGFnKQogewogCVVEQ0NTMCA9IGZsYWdzfFVEQ0NTMF9TQXxVRENDUzBfT1BSOwogCVVTSVIwID0gVVNJUjBfSVIwOwpAQCAtNDY1LDcgKzQ3MCw3IEBACiB9CiAKIHN0YXRpYyBpbnQKLXdyaXRlX2VwMF9maWZvIChzdHJ1Y3QgcHhhMnh4X2VwICplcCwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXEpCit3cml0ZV9lcDBfZmlmbyAoc3RydWN0IHB4YTI1eF9lcCAqZXAsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxKQogewogCXVuc2lnbmVkCWNvdW50OwogCWludAkJaXNfc2hvcnQ7CkBAIC01MjUsNyArNTMwLDcgQEAKICAqIHJlcXVlc3QgYnVmZmVyIGhhdmluZyBmaWxsZWQgKGFuZCBtYXliZSBvdmVycmFuIHRpbGwgZW5kLW9mLXBhY2tldCkuCiAgKi8KIHN0YXRpYyBpbnQKLXJlYWRfZmlmbyAoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxKQorcmVhZF9maWZvIChzdHJ1Y3QgcHhhMjV4X2VwICplcCwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXEpCiB7CiAJZm9yICg7OykgewogCQl1MzIJCXVkY2NzOwpAQCAtNjAyLDcgKzYwNyw3IEBACiAgKiBwcm90b2NvbHMgZG8gdXNlIHRoZW0uCiAgKi8KIHN0YXRpYyBpbnQKLXJlYWRfZXAwX2ZpZm8gKHN0cnVjdCBweGEyeHhfZXAgKmVwLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcSkKK3JlYWRfZXAwX2ZpZm8gKHN0cnVjdCBweGEyNXhfZXAgKmVwLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcSkKIHsKIAl1OAkJKmJ1ZiwgYnl0ZTsKIAl1bnNpZ25lZAlidWZmZXJzcGFjZTsKQEAgLTY0MSwyMSArNjQ2LDIxIEBACiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiBzdGF0aWMgaW50Ci1weGEyeHhfZXBfcXVldWUoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEsIGdmcF90IGdmcF9mbGFncykKK3B4YTI1eF9lcF9xdWV1ZShzdHJ1Y3QgdXNiX2VwICpfZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqX3JlcSwgZ2ZwX3QgZ2ZwX2ZsYWdzKQogewotCXN0cnVjdCBweGEyeHhfcmVxdWVzdAkqcmVxOwotCXN0cnVjdCBweGEyeHhfZXAJKmVwOwotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXY7CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0CSpyZXE7CisJc3RydWN0IHB4YTI1eF9lcAkqZXA7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldjsKIAl1bnNpZ25lZCBsb25nCQlmbGFnczsKIAotCXJlcSA9IGNvbnRhaW5lcl9vZihfcmVxLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QsIHJlcSk7CisJcmVxID0gY29udGFpbmVyX29mKF9yZXEsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCwgcmVxKTsKIAlpZiAodW5saWtlbHkgKCFfcmVxIHx8ICFfcmVxLT5jb21wbGV0ZSB8fCAhX3JlcS0+YnVmCiAJCQl8fCAhbGlzdF9lbXB0eSgmcmVxLT5xdWV1ZSkpKSB7CiAJCURNU0coIiVzLCBiYWQgcGFyYW1zXG4iLCBfX2Z1bmNfXyk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTI1eF9lcCwgZXApOwogCWlmICh1bmxpa2VseSAoIV9lcCB8fCAoIWVwLT5kZXNjICYmIGVwLT5lcC5uYW1lICE9IGVwMG5hbWUpKSkgewogCQlETVNHKCIlcywgYmFkIGVwXG4iLCBfX2Z1bmNfXyk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtNzUxLDE0ICs3NTYsMTQgQEAKIC8qCiAgKgludWtlIC0gZGVxdWV1ZSBBTEwgcmVxdWVzdHMKICAqLwotc3RhdGljIHZvaWQgbnVrZShzdHJ1Y3QgcHhhMnh4X2VwICplcCwgaW50IHN0YXR1cykKK3N0YXRpYyB2b2lkIG51a2Uoc3RydWN0IHB4YTI1eF9lcCAqZXAsIGludCBzdGF0dXMpCiB7Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXE7CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXE7CiAKIAkvKiBjYWxsZWQgd2l0aCBpcnFzIGJsb2NrZWQgKi8KIAl3aGlsZSAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpIHsKIAkJcmVxID0gbGlzdF9lbnRyeShlcC0+cXVldWUubmV4dCwKLQkJCQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QsCisJCQkJc3RydWN0IHB4YTI1eF9yZXF1ZXN0LAogCQkJCXF1ZXVlKTsKIAkJZG9uZShlcCwgcmVxLCBzdGF0dXMpOwogCX0KQEAgLTc2OCwxMyArNzczLDEzIEBACiAKIAogLyogZGVxdWV1ZSBKVVNUIE9ORSByZXF1ZXN0ICovCi1zdGF0aWMgaW50IHB4YTJ4eF9lcF9kZXF1ZXVlKHN0cnVjdCB1c2JfZXAgKl9lcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpfcmVxKQorc3RhdGljIGludCBweGEyNXhfZXBfZGVxdWV1ZShzdHJ1Y3QgdXNiX2VwICpfZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqX3JlcSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X2VwCSplcDsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKKwlzdHJ1Y3QgcHhhMjV4X2VwCSplcDsKKwlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QJKnJlcTsKIAl1bnNpZ25lZCBsb25nCQlmbGFnczsKIAotCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTI1eF9lcCwgZXApOwogCWlmICghX2VwIHx8IGVwLT5lcC5uYW1lID09IGVwMG5hbWUpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC03OTgsMTIgKzgwMywxMiBAQAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi1zdGF0aWMgaW50IHB4YTJ4eF9lcF9zZXRfaGFsdChzdHJ1Y3QgdXNiX2VwICpfZXAsIGludCB2YWx1ZSkKK3N0YXRpYyBpbnQgcHhhMjV4X2VwX3NldF9oYWx0KHN0cnVjdCB1c2JfZXAgKl9lcCwgaW50IHZhbHVlKQogewotCXN0cnVjdCBweGEyeHhfZXAJKmVwOworCXN0cnVjdCBweGEyNXhfZXAJKmVwOwogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCi0JZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMnh4X2VwLCBlcCk7CisJZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMjV4X2VwLCBlcCk7CiAJaWYgKHVubGlrZWx5ICghX2VwCiAJCQl8fCAoIWVwLT5kZXNjICYmIGVwLT5lcC5uYW1lICE9IGVwMG5hbWUpKQogCQkJfHwgZXAtPmJtQXR0cmlidXRlcyA9PSBVU0JfRU5EUE9JTlRfWEZFUl9JU09DKSB7CkBAIC04NTMsMTEgKzg1OCwxMSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHB4YTJ4eF9lcF9maWZvX3N0YXR1cyhzdHJ1Y3QgdXNiX2VwICpfZXApCitzdGF0aWMgaW50IHB4YTI1eF9lcF9maWZvX3N0YXR1cyhzdHJ1Y3QgdXNiX2VwICpfZXApCiB7Ci0Jc3RydWN0IHB4YTJ4eF9lcCAgICAgICAgKmVwOworCXN0cnVjdCBweGEyNXhfZXAgICAgICAgICplcDsKIAotCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTI1eF9lcCwgZXApOwogCWlmICghX2VwKSB7CiAJCURNU0coIiVzLCBiYWQgZXBcbiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC04NzIsMTEgKzg3NywxMSBAQAogCQlyZXR1cm4gKCplcC0+cmVnX3ViY3IgJiAweGZmZikgKyAxOwogfQogCi1zdGF0aWMgdm9pZCBweGEyeHhfZXBfZmlmb19mbHVzaChzdHJ1Y3QgdXNiX2VwICpfZXApCitzdGF0aWMgdm9pZCBweGEyNXhfZXBfZmlmb19mbHVzaChzdHJ1Y3QgdXNiX2VwICpfZXApCiB7Ci0Jc3RydWN0IHB4YTJ4eF9lcCAgICAgICAgKmVwOworCXN0cnVjdCBweGEyNXhfZXAgICAgICAgICplcDsKIAotCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTI1eF9lcCwgZXApOwogCWlmICghX2VwIHx8IGVwLT5lcC5uYW1lID09IGVwMG5hbWUgfHwgIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpIHsKIAkJRE1TRygiJXMsIGJhZCBlcFxuIiwgX19mdW5jX18pOwogCQlyZXR1cm47CkBAIC04OTgsMTkgKzkwMywxOSBAQAogfQogCiAKLXN0YXRpYyBzdHJ1Y3QgdXNiX2VwX29wcyBweGEyeHhfZXBfb3BzID0gewotCS5lbmFibGUJCT0gcHhhMnh4X2VwX2VuYWJsZSwKLQkuZGlzYWJsZQk9IHB4YTJ4eF9lcF9kaXNhYmxlLAorc3RhdGljIHN0cnVjdCB1c2JfZXBfb3BzIHB4YTI1eF9lcF9vcHMgPSB7CisJLmVuYWJsZQkJPSBweGEyNXhfZXBfZW5hYmxlLAorCS5kaXNhYmxlCT0gcHhhMjV4X2VwX2Rpc2FibGUsCiAKLQkuYWxsb2NfcmVxdWVzdAk9IHB4YTJ4eF9lcF9hbGxvY19yZXF1ZXN0LAotCS5mcmVlX3JlcXVlc3QJPSBweGEyeHhfZXBfZnJlZV9yZXF1ZXN0LAorCS5hbGxvY19yZXF1ZXN0CT0gcHhhMjV4X2VwX2FsbG9jX3JlcXVlc3QsCisJLmZyZWVfcmVxdWVzdAk9IHB4YTI1eF9lcF9mcmVlX3JlcXVlc3QsCiAKLQkucXVldWUJCT0gcHhhMnh4X2VwX3F1ZXVlLAotCS5kZXF1ZXVlCT0gcHhhMnh4X2VwX2RlcXVldWUsCisJLnF1ZXVlCQk9IHB4YTI1eF9lcF9xdWV1ZSwKKwkuZGVxdWV1ZQk9IHB4YTI1eF9lcF9kZXF1ZXVlLAogCi0JLnNldF9oYWx0CT0gcHhhMnh4X2VwX3NldF9oYWx0LAotCS5maWZvX3N0YXR1cwk9IHB4YTJ4eF9lcF9maWZvX3N0YXR1cywKLQkuZmlmb19mbHVzaAk9IHB4YTJ4eF9lcF9maWZvX2ZsdXNoLAorCS5zZXRfaGFsdAk9IHB4YTI1eF9lcF9zZXRfaGFsdCwKKwkuZmlmb19zdGF0dXMJPSBweGEyNXhfZXBfZmlmb19zdGF0dXMsCisJLmZpZm9fZmx1c2gJPSBweGEyNXhfZXBfZmlmb19mbHVzaCwKIH07CiAKIApAQCAtOTE5LDEyICs5MjQsMTIgQEAKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKLXN0YXRpYyBpbnQgcHhhMnh4X3VkY19nZXRfZnJhbWUoc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfZ2V0X2ZyYW1lKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0KQogewogCXJldHVybiAoKFVGTlJIICYgMHgwNykgPDwgOCkgfCAoVUZOUkwgJiAweGZmKTsKIH0KIAotc3RhdGljIGludCBweGEyeHhfdWRjX3dha2V1cChzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCkKK3N0YXRpYyBpbnQgcHhhMjV4X3VkY193YWtldXAoc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQpCiB7CiAJLyogaG9zdCBtYXkgbm90IGhhdmUgZW5hYmxlZCByZW1vdGUgd2FrZXVwICovCiAJaWYgKChVRENDUzAgJiBVRENDUzBfRFJXRikgPT0gMCkKQEAgLTkzMywxNCArOTM4LDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHN0b3BfYWN0aXZpdHkoc3RydWN0IHB4YTJ4eF91ZGMgKiwgc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVyICopOwotc3RhdGljIHZvaWQgdWRjX2VuYWJsZSAoc3RydWN0IHB4YTJ4eF91ZGMgKik7Ci1zdGF0aWMgdm9pZCB1ZGNfZGlzYWJsZShzdHJ1Y3QgcHhhMnh4X3VkYyAqKTsKK3N0YXRpYyB2b2lkIHN0b3BfYWN0aXZpdHkoc3RydWN0IHB4YTI1eF91ZGMgKiwgc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVyICopOworc3RhdGljIHZvaWQgdWRjX2VuYWJsZSAoc3RydWN0IHB4YTI1eF91ZGMgKik7CitzdGF0aWMgdm9pZCB1ZGNfZGlzYWJsZShzdHJ1Y3QgcHhhMjV4X3VkYyAqKTsKIAogLyogV2UgZGlzYWJsZSB0aGUgVURDIC0tIGFuZCBpdHMgNDggTUh6IGNsb2NrIC0tIHdoZW5ldmVyIGl0J3Mgbm90CiAgKiBpbiBhY3RpdmUgdXNlLgogICovCi1zdGF0aWMgaW50IHB1bGx1cChzdHJ1Y3QgcHhhMnh4X3VkYyAqdWRjKQorc3RhdGljIGludCBwdWxsdXAoc3RydWN0IHB4YTI1eF91ZGMgKnVkYykKIHsKIAlpbnQgaXNfYWN0aXZlID0gdWRjLT52YnVzICYmIHVkYy0+cHVsbHVwICYmICF1ZGMtPnN1c3BlbmRlZDsKIAlETVNHKCIlc1xuIiwgaXNfYWN0aXZlID8gImFjdGl2ZSIgOiAiaW5hY3RpdmUiKTsKQEAgLTk3MCwxMSArOTc1LDExIEBACiB9CiAKIC8qIFZCVVMgcmVwb3J0aW5nIGxvZ2ljYWxseSBjb21lcyBmcm9tIGEgdHJhbnNjZWl2ZXIgKi8KLXN0YXRpYyBpbnQgcHhhMnh4X3VkY192YnVzX3Nlc3Npb24oc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQsIGludCBpc19hY3RpdmUpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfdmJ1c19zZXNzaW9uKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0LCBpbnQgaXNfYWN0aXZlKQogewotCXN0cnVjdCBweGEyeHhfdWRjCSp1ZGM7CisJc3RydWN0IHB4YTI1eF91ZGMJKnVkYzsKIAotCXVkYyA9IGNvbnRhaW5lcl9vZihfZ2FkZ2V0LCBzdHJ1Y3QgcHhhMnh4X3VkYywgZ2FkZ2V0KTsKKwl1ZGMgPSBjb250YWluZXJfb2YoX2dhZGdldCwgc3RydWN0IHB4YTI1eF91ZGMsIGdhZGdldCk7CiAJdWRjLT52YnVzID0gKGlzX2FjdGl2ZSAhPSAwKTsKIAlETVNHKCJ2YnVzICVzXG4iLCBpc19hY3RpdmUgPyAic3VwcGxpZWQiIDogImluYWN0aXZlIik7CiAJcHVsbHVwKHVkYyk7CkBAIC05ODIsMTEgKzk4NywxMSBAQAogfQogCiAvKiBkcml2ZXJzIG1heSBoYXZlIHNvZnR3YXJlIGNvbnRyb2wgb3ZlciBEKyBwdWxsdXAgKi8KLXN0YXRpYyBpbnQgcHhhMnh4X3VkY19wdWxsdXAoc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQsIGludCBpc19hY3RpdmUpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfcHVsbHVwKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0LCBpbnQgaXNfYWN0aXZlKQogewotCXN0cnVjdCBweGEyeHhfdWRjCSp1ZGM7CisJc3RydWN0IHB4YTI1eF91ZGMJKnVkYzsKIAotCXVkYyA9IGNvbnRhaW5lcl9vZihfZ2FkZ2V0LCBzdHJ1Y3QgcHhhMnh4X3VkYywgZ2FkZ2V0KTsKKwl1ZGMgPSBjb250YWluZXJfb2YoX2dhZGdldCwgc3RydWN0IHB4YTI1eF91ZGMsIGdhZGdldCk7CiAKIAkvKiBub3QgYWxsIGJvYXJkcyBzdXBwb3J0IHB1bGx1cCBjb250cm9sICovCiAJaWYgKCF1ZGMtPm1hY2gtPmdwaW9fcHVsbHVwICYmICF1ZGMtPm1hY2gtPnVkY19jb21tYW5kKQpAQCAtOTk3LDExICsxMDAyLDExIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2dhZGdldF9vcHMgcHhhMnh4X3VkY19vcHMgPSB7Ci0JLmdldF9mcmFtZQk9IHB4YTJ4eF91ZGNfZ2V0X2ZyYW1lLAotCS53YWtldXAJCT0gcHhhMnh4X3VkY193YWtldXAsCi0JLnZidXNfc2Vzc2lvbgk9IHB4YTJ4eF91ZGNfdmJ1c19zZXNzaW9uLAotCS5wdWxsdXAJCT0gcHhhMnh4X3VkY19wdWxsdXAsCitzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9nYWRnZXRfb3BzIHB4YTI1eF91ZGNfb3BzID0geworCS5nZXRfZnJhbWUJPSBweGEyNXhfdWRjX2dldF9mcmFtZSwKKwkud2FrZXVwCQk9IHB4YTI1eF91ZGNfd2FrZXVwLAorCS52YnVzX3Nlc3Npb24JPSBweGEyNXhfdWRjX3ZidXNfc2Vzc2lvbiwKKwkucHVsbHVwCQk9IHB4YTI1eF91ZGNfcHVsbHVwLAogCiAJLy8gLnZidXNfZHJhdyAuLi4gYm9hcmRzIG1heSBjb25zdW1lIGN1cnJlbnQgZnJvbSBWQlVTLCB1cCB0bwogCS8vIDEwMC01MDBtQSBiYXNlZCBvbiBjb25maWcuICB0aGUgNTAwdUEgc3VzcGVuZCBjZWlsaW5nIG1lYW5zCkBAIC0xMDE1LDcgKzEwMjAsNyBAQAogc3RhdGljIGludAogdWRjX3NlcV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqX2QpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKmRldiA9IG0tPnByaXZhdGU7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9IG0tPnByaXZhdGU7CiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAJaW50CQkJaTsKIAl1MzIJCQl0bXA7CkBAIC0xMDc2LDggKzEwODEsOCBAQAogCiAJLyogZHVtcCBlbmRwb2ludCBxdWV1ZXMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgUFhBX1VEQ19OVU1fRU5EUE9JTlRTOyBpKyspIHsKLQkJc3RydWN0IHB4YTJ4eF9lcAkqZXAgPSAmZGV2LT5lcCBbaV07Ci0JCXN0cnVjdCBweGEyeHhfcmVxdWVzdAkqcmVxOworCQlzdHJ1Y3QgcHhhMjV4X2VwCSplcCA9ICZkZXYtPmVwIFtpXTsKKwkJc3RydWN0IHB4YTI1eF9yZXF1ZXN0CSpyZXE7CiAKIAkJaWYgKGkgIT0gMCkgewogCQkJY29uc3Qgc3RydWN0IHVzYl9lbmRwb2ludF9kZXNjcmlwdG9yCSpkZXNjOwpAQCAtMTE1MCw3ICsxMTU1LDcgQEAKIC8qCiAgKgl1ZGNfZGlzYWJsZSAtIGRpc2FibGUgVVNCIGRldmljZSBjb250cm9sbGVyCiAgKi8KLXN0YXRpYyB2b2lkIHVkY19kaXNhYmxlKHN0cnVjdCBweGEyeHhfdWRjICpkZXYpCitzdGF0aWMgdm9pZCB1ZGNfZGlzYWJsZShzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCS8qIGJsb2NrIGFsbCBpcnFzICovCiAJdWRjX3NldF9tYXNrX1VEQ0NSKFVEQ0NSX1NSTXxVRENDUl9SRU0pOwpAQCAtMTE3MCw3ICsxMTc1LDcgQEAKIC8qCiAgKgl1ZGNfcmVpbml0IC0gaW5pdGlhbGl6ZSBzb2Z0d2FyZSBzdGF0ZQogICovCi1zdGF0aWMgdm9pZCB1ZGNfcmVpbml0KHN0cnVjdCBweGEyeHhfdWRjICpkZXYpCitzdGF0aWMgdm9pZCB1ZGNfcmVpbml0KHN0cnVjdCBweGEyNXhfdWRjICpkZXYpCiB7CiAJdTMyCWk7CiAKQEAgLTExODEsNyArMTE4Niw3IEBACiAKIAkvKiBiYXNpYyBlbmRwb2ludCByZWNvcmRzIGluaXQgKi8KIAlmb3IgKGkgPSAwOyBpIDwgUFhBX1VEQ19OVU1fRU5EUE9JTlRTOyBpKyspIHsKLQkJc3RydWN0IHB4YTJ4eF9lcCAqZXAgPSAmZGV2LT5lcFtpXTsKKwkJc3RydWN0IHB4YTI1eF9lcCAqZXAgPSAmZGV2LT5lcFtpXTsKIAogCQlpZiAoaSAhPSAwKQogCQkJbGlzdF9hZGRfdGFpbCAoJmVwLT5lcC5lcF9saXN0LCAmZGV2LT5nYWRnZXQuZXBfbGlzdCk7CkBAIC0xMTk4LDcgKzEyMDMsNyBAQAogLyogdW50aWwgaXQncyBlbmFibGVkLCB0aGlzIFVEQyBzaG91bGQgYmUgY29tcGxldGVseSBpbnZpc2libGUKICAqIHRvIGFueSBVU0IgaG9zdC4KICAqLwotc3RhdGljIHZvaWQgdWRjX2VuYWJsZSAoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK3N0YXRpYyB2b2lkIHVkY19lbmFibGUgKHN0cnVjdCBweGEyNXhfdWRjICpkZXYpCiB7CiAJdWRjX2NsZWFyX21hc2tfVURDQ1IoVURDQ1JfVURFKTsKIApAQCAtMTI1NCw3ICsxMjU5LDcgQEAKICAqLwogaW50IHVzYl9nYWRnZXRfcmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqZHJpdmVyKQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSB0aGVfY29udHJvbGxlcjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2ID0gdGhlX2NvbnRyb2xsZXI7CiAJaW50CQkJcmV0dmFsOwogCiAJaWYgKCFkcml2ZXIKQEAgLTEyOTksNyArMTMwNCw3IEBACiBFWFBPUlRfU1lNQk9MKHVzYl9nYWRnZXRfcmVnaXN0ZXJfZHJpdmVyKTsKIAogc3RhdGljIHZvaWQKLXN0b3BfYWN0aXZpdHkoc3RydWN0IHB4YTJ4eF91ZGMgKmRldiwgc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVyICpkcml2ZXIpCitzdG9wX2FjdGl2aXR5KHN0cnVjdCBweGEyNXhfdWRjICpkZXYsIHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqZHJpdmVyKQogewogCWludCBpOwogCkBAIC0xMzEwLDcgKzEzMTUsNyBAQAogCiAJLyogcHJldmVudCBuZXcgcmVxdWVzdCBzdWJtaXNzaW9ucywga2lsbCBhbnkgb3V0c3RhbmRpbmcgcmVxdWVzdHMgICovCiAJZm9yIChpID0gMDsgaSA8IFBYQV9VRENfTlVNX0VORFBPSU5UUzsgaSsrKSB7Ci0JCXN0cnVjdCBweGEyeHhfZXAgKmVwID0gJmRldi0+ZXBbaV07CisJCXN0cnVjdCBweGEyNXhfZXAgKmVwID0gJmRldi0+ZXBbaV07CiAKIAkJZXAtPnN0b3BwZWQgPSAxOwogCQludWtlKGVwLCAtRVNIVVRET1dOKTsKQEAgLTEzMjcsNyArMTMzMiw3IEBACiAKIGludCB1c2JfZ2FkZ2V0X3VucmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqZHJpdmVyKQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSB0aGVfY29udHJvbGxlcjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2ID0gdGhlX2NvbnRyb2xsZXI7CiAKIAlpZiAoIWRldikKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0xMzY0LDcgKzEzNjksNyBAQAogc3RhdGljIGlycXJldHVybl90CiBsdWJib2NrX3ZidXNfaXJxKGludCBpcnEsIHZvaWQgKl9kZXYpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKmRldiA9IF9kZXY7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9IF9kZXY7CiAJaW50CQkJdmJ1czsKIAogCWRldi0+c3RhdHMuaXJxcysrOwpAQCAtMTM4Myw3ICsxMzg4LDcgQEAKIAkJcmV0dXJuIElSUV9OT05FOwogCX0KIAotCXB4YTJ4eF91ZGNfdmJ1c19zZXNzaW9uKCZkZXYtPmdhZGdldCwgdmJ1cyk7CisJcHhhMjV4X3VkY192YnVzX3Nlc3Npb24oJmRldi0+Z2FkZ2V0LCB2YnVzKTsKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTEzOTEsMjAgKzEzOTYsMjAgQEAKIAogc3RhdGljIGlycXJldHVybl90IHVkY192YnVzX2lycShpbnQgaXJxLCB2b2lkICpfZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSBfZGV2OworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSBfZGV2OwogCWludAkJCXZidXMgPSBncGlvX2dldF92YWx1ZShkZXYtPm1hY2gtPmdwaW9fdmJ1cyk7CiAKIAlpZiAoZGV2LT5tYWNoLT5ncGlvX3ZidXNfaW52ZXJ0ZWQpCiAJCXZidXMgPSAhdmJ1czsKIAotCXB4YTJ4eF91ZGNfdmJ1c19zZXNzaW9uKCZkZXYtPmdhZGdldCwgdmJ1cyk7CisJcHhhMjV4X3VkY192YnVzX3Nlc3Npb24oJmRldi0+Z2FkZ2V0LCB2YnVzKTsKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2VwX3N0YXRlIChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2VwX3N0YXRlIChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCXVuc2lnbmVkIGk7CiAKQEAgLTE0MTcsNyArMTQyMiw3IEBACiAKIHN0YXRpYyB2b2lkIHVkY193YXRjaGRvZyh1bnNpZ25lZCBsb25nIF9kZXYpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKmRldiA9ICh2b2lkICopX2RldjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2ID0gKHZvaWQgKilfZGV2OwogCiAJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAlpZiAoZGV2LT5lcDBzdGF0ZSA9PSBFUDBfU1RBTEwKQEAgLTE0MzAsMTEgKzE0MzUsMTEgQEAKIAlsb2NhbF9pcnFfZW5hYmxlKCk7CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV9lcDAgKHN0cnVjdCBweGEyeHhfdWRjICpkZXYpCitzdGF0aWMgdm9pZCBoYW5kbGVfZXAwIChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCXUzMgkJCXVkY2NzMCA9IFVEQ0NTMDsKLQlzdHJ1Y3QgcHhhMnh4X2VwCSplcCA9ICZkZXYtPmVwIFswXTsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKKwlzdHJ1Y3QgcHhhMjV4X2VwCSplcCA9ICZkZXYtPmVwIFswXTsKKwlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QJKnJlcTsKIAl1bmlvbiB7CiAJCXN0cnVjdCB1c2JfY3RybHJlcXVlc3QJcjsKIAkJdTgJCQlyYXcgWzhdOwpAQCAtMTQ0NCw3ICsxNDQ5LDcgQEAKIAlpZiAobGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkKIAkJcmVxID0gTlVMTDsKIAllbHNlCi0JCXJlcSA9IGxpc3RfZW50cnkoZXAtPnF1ZXVlLm5leHQsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCwgcXVldWUpOworCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QsIHF1ZXVlKTsKIAogCS8qIGNsZWFyIHN0YWxsIHN0YXR1cyAqLwogCWlmICh1ZGNjczAgJiBVRENDUzBfU1NUKSB7CkBAIC0xNjU0LDkgKzE2NTksOSBAQAogCVVTSVIwID0gVVNJUjBfSVIwOwogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfZXAoc3RydWN0IHB4YTJ4eF9lcCAqZXApCitzdGF0aWMgdm9pZCBoYW5kbGVfZXAoc3RydWN0IHB4YTI1eF9lcCAqZXApCiB7Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0CSpyZXE7CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0CSpyZXE7CiAJaW50CQkJaXNfaW4gPSBlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU47CiAJaW50CQkJY29tcGxldGVkOwogCXUzMgkJCXVkY2NzLCB0bXA7CkBAIC0xNjY1LDcgKzE2NzAsNyBAQAogCQljb21wbGV0ZWQgPSAwOwogCQlpZiAobGlrZWx5ICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkpCiAJCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LAotCQkJCQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QsIHF1ZXVlKTsKKwkJCQkJc3RydWN0IHB4YTI1eF9yZXF1ZXN0LCBxdWV1ZSk7CiAJCWVsc2UKIAkJCXJlcSA9IE5VTEw7CiAKQEAgLTE3MDIsMTYgKzE3MDcsMTYgQEAKIH0KIAogLyoKLSAqCXB4YTJ4eF91ZGNfaXJxIC0gaW50ZXJydXB0IGhhbmRsZXIKKyAqCXB4YTI1eF91ZGNfaXJxIC0gaW50ZXJydXB0IGhhbmRsZXIKICAqCiAgKiBhdm9pZCBkZWxheXMgaW4gZXAwIHByb2Nlc3NpbmcuIHRoZSBjb250cm9sIGhhbmRzaGFraW5nIGlzbid0IGFsd2F5cwogICogdW5kZXIgc29mdHdhcmUgY29udHJvbCAocHhhMjUwYzAgYW5kIHRoZSBweGEyNTUgYXJlIGJldHRlciksIGFuZCBkZWxheXMKICAqIGNvdWxkIGNhdXNlIHVzYiBwcm90b2NvbCBlcnJvcnMuCiAgKi8KIHN0YXRpYyBpcnFyZXR1cm5fdAotcHhhMnh4X3VkY19pcnEoaW50IGlycSwgdm9pZCAqX2RldikKK3B4YTI1eF91ZGNfaXJxKGludCBpcnEsIHZvaWQgKl9kZXYpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKmRldiA9IF9kZXY7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9IF9kZXY7CiAJaW50CQkJaGFuZGxlZDsKIAogCWRldi0+c3RhdHMuaXJxcysrOwpAQCAtMTgyMCw5ICsxODI1LDkgQEAKICAqIGRvaW5nIGl0IGF0IHJ1bi10aW1lKSB0byBzYXZlIGNvZGUsIGVsaW1pbmF0ZSBmYXVsdCBwYXRocywgYW5kCiAgKiBiZSBtb3JlIG9idmlvdXNseSBjb3JyZWN0LgogICovCi1zdGF0aWMgc3RydWN0IHB4YTJ4eF91ZGMgbWVtb3J5ID0geworc3RhdGljIHN0cnVjdCBweGEyNXhfdWRjIG1lbW9yeSA9IHsKIAkuZ2FkZ2V0ID0gewotCQkub3BzCQk9ICZweGEyeHhfdWRjX29wcywKKwkJLm9wcwkJPSAmcHhhMjV4X3VkY19vcHMsCiAJCS5lcDAJCT0gJm1lbW9yeS5lcFswXS5lcCwKIAkJLm5hbWUJCT0gZHJpdmVyX25hbWUsCiAJCS5kZXYgPSB7CkBAIC0xODM1LDcgKzE4NDAsNyBAQAogCS5lcFswXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gZXAwbmFtZSwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IEVQMF9GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE4NDcsNyArMTg1Miw3IEBACiAJLmVwWzFdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxaW4tYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTg2MCw3ICsxODY1LDcgQEAKIAkuZXBbMl0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDJvdXQtYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTg3MSwxMSArMTg3NiwxMSBAQAogCQkucmVnX3ViY3IJPSAmVUJDUjIsCiAJCS5yZWdfdWRkcgk9ICZVRERSMiwKIAl9LAotI2lmbmRlZiBDT05GSUdfVVNCX1BYQTJYWF9TTUFMTAorI2lmbmRlZiBDT05GSUdfVVNCX1BYQTI1WF9TTUFMTAogCS5lcFszXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwM2luLWlzbyIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJU09fRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xODg4LDcgKzE4OTMsNyBAQAogCS5lcFs0XSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwNG91dC1pc28iLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSVNPX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTkwMiw3ICsxOTA3LDcgQEAKIAkuZXBbNV0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDVpbi1pbnQiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSU5UX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTkxNyw3ICsxOTIyLDcgQEAKIAkuZXBbNl0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDZpbi1idWxrIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IEJVTEtfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xOTMwLDcgKzE5MzUsNyBAQAogCS5lcFs3XSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwN291dC1idWxrIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IEJVTEtfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xOTQ0LDcgKzE5NDksNyBAQAogCS5lcFs4XSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwOGluLWlzbyIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJU09fRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xOTU3LDcgKzE5NjIsNyBAQAogCS5lcFs5XSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwOW91dC1pc28iLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSVNPX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTk3MSw3ICsxOTc2LDcgQEAKIAkuZXBbMTBdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxMGluLWludCIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJTlRfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xOTg2LDcgKzE5OTEsNyBAQAogCS5lcFsxMV0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDExaW4tYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTk5OSw3ICsyMDA0LDcgQEAKIAkuZXBbMTJdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxMm91dC1idWxrIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IEJVTEtfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0yMDEzLDcgKzIwMTgsNyBAQAogCS5lcFsxM10gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDEzaW4taXNvIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElTT19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTIwMjYsNyArMjAzMSw3IEBACiAJLmVwWzE0XSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMTRvdXQtaXNvIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElTT19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTIwNDAsNyArMjA0NSw3IEBACiAJLmVwWzE1XSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMTVpbi1pbnQiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSU5UX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMjA1MCw3ICsyMDU1LDcgQEAKIAkJLnJlZ191ZGNjcwk9ICZVRENDUzE1LAogCQkucmVnX3VkZHIJPSAmVUREUjE1LAogCX0sCi0jZW5kaWYgLyogIUNPTkZJR19VU0JfUFhBMlhYX1NNQUxMICovCisjZW5kaWYgLyogIUNPTkZJR19VU0JfUFhBMjVYX1NNQUxMICovCiB9OwogCiAjZGVmaW5lIENQMTVSMF9WRU5ET1JfTUFTSwkweGZmZmZlMDAwCkBAIC0yMDkwLDkgKzIwOTUsOSBAQAogLyoKICAqCXByb2JlIC0gYmluZHMgdG8gdGhlIHBsYXRmb3JtIGRldmljZQogICovCi1zdGF0aWMgaW50IF9faW5pdCBweGEyeHhfdWRjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IF9faW5pdCBweGEyNXhfdWRjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMgKmRldiA9ICZtZW1vcnk7CisJc3RydWN0IHB4YTI1eF91ZGMgKmRldiA9ICZtZW1vcnk7CiAJaW50IHJldHZhbCwgdmJ1c19pcnEsIGlycTsKIAl1MzIgY2hpcHJldjsKIApAQCAtMjE1NSw3ICsyMTYwLDcgQEAKIAogCWlmIChkZXYtPm1hY2gtPmdwaW9fdmJ1cykgewogCQlpZiAoKHJldHZhbCA9IGdwaW9fcmVxdWVzdChkZXYtPm1hY2gtPmdwaW9fdmJ1cywKLQkJCQkicHhhMnh4X3VkYyBHUElPIFZCVVMiKSkpIHsKKwkJCQkicHhhMjV4X3VkYyBHUElPIFZCVVMiKSkpIHsKIAkJCWRldl9kYmcoJnBkZXYtPmRldiwKIAkJCQkiY2FuJ3QgZ2V0IHZidXMgZ3BpbyAlZCwgZXJyOiAlZFxuIiwKIAkJCQlkZXYtPm1hY2gtPmdwaW9fdmJ1cywgcmV0dmFsKTsKQEAgLTIxNjgsNyArMjE3Myw3IEBACiAKIAlpZiAoZGV2LT5tYWNoLT5ncGlvX3B1bGx1cCkgewogCQlpZiAoKHJldHZhbCA9IGdwaW9fcmVxdWVzdChkZXYtPm1hY2gtPmdwaW9fcHVsbHVwLAotCQkJCSJwY2EyeHhfdWRjIEdQSU8gUFVMTFVQIikpKSB7CisJCQkJInBjYTI1eF91ZGMgR1BJTyBQVUxMVVAiKSkpIHsKIAkJCWRldl9kYmcoJnBkZXYtPmRldiwKIAkJCQkiY2FuJ3QgZ2V0IHB1bGx1cCBncGlvICVkLCBlcnI6ICVkXG4iLAogCQkJCWRldi0+bWFjaC0+Z3Bpb19wdWxsdXAsIHJldHZhbCk7CkBAIC0yMTk0LDcgKzIxOTksNyBAQAogCWRldi0+dmJ1cyA9IGlzX3ZidXNfcHJlc2VudCgpOwogCiAJLyogaXJxIHNldHVwIGFmdGVyIG9sZCBoYXJkd2FyZSBzdGF0ZSBpcyBjbGVhbmVkIHVwICovCi0JcmV0dmFsID0gcmVxdWVzdF9pcnEoaXJxLCBweGEyeHhfdWRjX2lycSwKKwlyZXR2YWwgPSByZXF1ZXN0X2lycShpcnEsIHB4YTI1eF91ZGNfaXJxLAogCQkJSVJRRl9ESVNBQkxFRCwgZHJpdmVyX25hbWUsIGRldik7CiAJaWYgKHJldHZhbCAhPSAwKSB7CiAJCXByX2VycigiJXM6IGNhbid0IGdldCBpcnEgJWQsIGVyciAlZFxuIiwKQEAgLTIyNjAsMTQgKzIyNjUsMTQgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1zdGF0aWMgdm9pZCBweGEyeHhfdWRjX3NodXRkb3duKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKl9kZXYpCitzdGF0aWMgdm9pZCBweGEyNXhfdWRjX3NodXRkb3duKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKl9kZXYpCiB7CiAJcHVsbHVwX29mZigpOwogfQogCi1zdGF0aWMgaW50IF9fZXhpdCBweGEyeHhfdWRjX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBfX2V4aXQgcHhhMjV4X3VkY19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHB4YTI1eF91ZGMgKmRldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCiAJaWYgKGRldi0+ZHJpdmVyKQogCQlyZXR1cm4gLUVCVVNZOwpAQCAtMjMxNyw5ICsyMzIyLDkgQEAKICAqIFZCVVMgSVJRcyBzaG91bGQgcHJvYmFibHkgYmUgaWdub3JlZCBzbyB0aGF0IHRoZSBQWEEgZGV2aWNlIGp1c3QgYWN0cwogICogImRlYWQiIHRvIFVTQiBob3N0cyB1bnRpbCBzeXN0ZW0gcmVzdW1lLgogICovCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3N0YXRpYyBpbnQgcHhhMjV4X3VkY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogewotCXN0cnVjdCBweGEyeHhfdWRjCSp1ZGMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCBweGEyNXhfdWRjCSp1ZGMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlpZiAoIXVkYy0+bWFjaC0+Z3Bpb19wdWxsdXAgJiYgIXVkYy0+bWFjaC0+dWRjX2NvbW1hbmQpCkBAIC0yMzMzLDkgKzIzMzgsOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3N0YXRpYyBpbnQgcHhhMjV4X3VkY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjCSp1ZGMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCBweGEyNXhfdWRjCSp1ZGMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAl1ZGMtPnN1c3BlbmRlZCA9IDA7CkBAIC0yMzQ3LDI3ICsyMzUyLDI3IEBACiB9CiAKICNlbHNlCi0jZGVmaW5lCXB4YTJ4eF91ZGNfc3VzcGVuZAlOVUxMCi0jZGVmaW5lCXB4YTJ4eF91ZGNfcmVzdW1lCU5VTEwKKyNkZWZpbmUJcHhhMjV4X3VkY19zdXNwZW5kCU5VTEwKKyNkZWZpbmUJcHhhMjV4X3VkY19yZXN1bWUJTlVMTAogI2VuZGlmCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHVkY19kcml2ZXIgPSB7Ci0JLnNodXRkb3duCT0gcHhhMnh4X3VkY19zaHV0ZG93biwKLQkucmVtb3ZlCQk9IF9fZXhpdF9wKHB4YTJ4eF91ZGNfcmVtb3ZlKSwKLQkuc3VzcGVuZAk9IHB4YTJ4eF91ZGNfc3VzcGVuZCwKLQkucmVzdW1lCQk9IHB4YTJ4eF91ZGNfcmVzdW1lLAorCS5zaHV0ZG93bgk9IHB4YTI1eF91ZGNfc2h1dGRvd24sCisJLnJlbW92ZQkJPSBfX2V4aXRfcChweGEyNXhfdWRjX3JlbW92ZSksCisJLnN1c3BlbmQJPSBweGEyNXhfdWRjX3N1c3BlbmQsCisJLnJlc3VtZQkJPSBweGEyNXhfdWRjX3Jlc3VtZSwKIAkuZHJpdmVyCQk9IHsKIAkJLm93bmVyCT0gVEhJU19NT0RVTEUsCi0JCS5uYW1lCT0gInB4YTJ4eC11ZGMiLAorCQkubmFtZQk9ICJweGEyNXgtdWRjIiwKIAl9LAogfTsKIAogc3RhdGljIGludCBfX2luaXQgdWRjX2luaXQodm9pZCkKIHsKIAlwcl9pbmZvKCIlczogdmVyc2lvbiAlc1xuIiwgZHJpdmVyX25hbWUsIERSSVZFUl9WRVJTSU9OKTsKLQlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3Byb2JlKCZ1ZGNfZHJpdmVyLCBweGEyeHhfdWRjX3Byb2JlKTsKKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3Byb2JlKCZ1ZGNfZHJpdmVyLCBweGEyNXhfdWRjX3Byb2JlKTsKIH0KIG1vZHVsZV9pbml0KHVkY19pbml0KTsKIApAQCAtMjM4MCw0ICsyMzg1LDQgQEAKIE1PRFVMRV9ERVNDUklQVElPTihEUklWRVJfREVTQyk7CiBNT0RVTEVfQVVUSE9SKCJGcmFuayBCZWNrZXIsIFJvYmVydCBTY2h3ZWJlbCwgRGF2aWQgQnJvd25lbGwiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLU1PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMnh4LXVkYyIpOworTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpweGEyNXgtdWRjIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5oIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuaApzaW1pbGFyaXR5IGluZGV4IDkyJQpyZW5hbWUgZnJvbSBkcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5oCnJlbmFtZSB0byBkcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjV4X3VkYy5oCmluZGV4IGUyYzE5ZTguLjRkMTFlY2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmgKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuaApAQCAtMSw2ICsxLDUgQEAKIC8qCi0gKiBsaW51eC9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5oCi0gKiBJbnRlbCBQWEEyeHggb24tY2hpcCBmdWxsIHNwZWVkIFVTQiBkZXZpY2UgY29udHJvbGxlcgorICogSW50ZWwgUFhBMjV4IG9uLWNoaXAgZnVsbCBzcGVlZCBVU0IgZGV2aWNlIGNvbnRyb2xsZXIKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMgUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKICAqIENvcHlyaWdodCAoQykgMjAwMyBEYXZpZCBCcm93bmVsbApAQCAtMjEsMTQgKzIwLDE0IEBACiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAgKi8KIAotI2lmbmRlZiBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMlhYX0gKLSNkZWZpbmUgX19MSU5VWF9VU0JfR0FER0VUX1BYQTJYWF9ICisjaWZuZGVmIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyNVhfSAorI2RlZmluZSBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMjVYX0gKIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKLS8qIHB4YTJ4eCBoYXMgdGhpcyAobW92ZSB0byBpbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaCkgKi8KKy8qIHB4YTI1eCBoYXMgdGhpcyAobW92ZSB0byBpbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaCkgKi8KICNkZWZpbmUgVUZOUkhfU0lSCSgxIDw8IDcpCS8qIFNPRiBpbnRlcnJ1cHQgcmVxdWVzdCAqLwogI2RlZmluZSBVRk5SSF9TSU0JKDEgPDwgNikJLyogU09GIGludGVycnVwdCBtYXNrICovCiAjZGVmaW5lIFVGTlJIX0lQRTE0CSgxIDw8IDUpCS8qIElTTyBwYWNrZXQgZXJyb3IsIGVwMTQgKi8KQEAgLTQ1LDExICs0NCwxMSBAQAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi1zdHJ1Y3QgcHhhMnh4X3VkYzsKK3N0cnVjdCBweGEyNXhfdWRjOwogCi1zdHJ1Y3QgcHhhMnh4X2VwIHsKK3N0cnVjdCBweGEyNXhfZXAgewogCXN0cnVjdCB1c2JfZXAJCQkJZXA7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJCQkqZGV2OworCXN0cnVjdCBweGEyNXhfdWRjCQkJKmRldjsKIAogCWNvbnN0IHN0cnVjdCB1c2JfZW5kcG9pbnRfZGVzY3JpcHRvcgkqZGVzYzsKIAlzdHJ1Y3QgbGlzdF9oZWFkCQkJcXVldWU7CkBAIC03Miw3ICs3MSw3IEBACiAJdm9sYXRpbGUgdTMyCQkJCSpyZWdfdWRkcjsKIH07CiAKLXN0cnVjdCBweGEyeHhfcmVxdWVzdCB7CitzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgewogCXN0cnVjdCB1c2JfcmVxdWVzdAkJCXJlcTsKIAlzdHJ1Y3QgbGlzdF9oZWFkCQkJcXVldWU7CiB9OwpAQCAtOTgsNyArOTcsNyBAQAogCXVuc2lnbmVkIGxvbmcJCQlpcnFzOwogfTsKIAotI2lmZGVmIENPTkZJR19VU0JfUFhBMlhYX1NNQUxMCisjaWZkZWYgQ09ORklHX1VTQl9QWEEyNVhfU01BTEwKIC8qIHdoZW4gbWVtb3J5J3MgdGlnaHQsIFNNQUxMIGNvbmZpZyBzYXZlcyBjb2RlK2RhdGEuICAqLwogI2RlZmluZQlQWEFfVURDX05VTV9FTkRQT0lOVFMJMwogI2VuZGlmCkBAIC0xMDcsNyArMTA2LDcgQEAKICNkZWZpbmUJUFhBX1VEQ19OVU1fRU5EUE9JTlRTCTE2CiAjZW5kaWYKIAotc3RydWN0IHB4YTJ4eF91ZGMgeworc3RydWN0IHB4YTI1eF91ZGMgewogCXN0cnVjdCB1c2JfZ2FkZ2V0CQkJZ2FkZ2V0OwogCXN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlcgkJKmRyaXZlcjsKIApAQCAtMTMwLDcgKzEyOSw3IEBACiAJc3RydWN0IGNsawkJCQkqY2xrOwogCXN0cnVjdCBweGEyeHhfdWRjX21hY2hfaW5mbwkJKm1hY2g7CiAJdTY0CQkJCQlkbWFfbWFzazsKLQlzdHJ1Y3QgcHhhMnh4X2VwCQkJZXAgW1BYQV9VRENfTlVNX0VORFBPSU5UU107CisJc3RydWN0IHB4YTI1eF9lcAkJCWVwIFtQWEFfVURDX05VTV9FTkRQT0lOVFNdOwogCiAjaWZkZWYgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRlMKIAlzdHJ1Y3QgZGVudHJ5CQkJCSpkZWJ1Z2ZzX3VkYzsKQEAgLTE0NCw3ICsxNDMsNyBAQAogLyogbHViYm9jayBjYW4gYWxzbyByZXBvcnQgdXNiIGNvbm5lY3QvZGlzY29ubmVjdCBpcnFzICovCiAjZW5kaWYKIAotc3RhdGljIHN0cnVjdCBweGEyeHhfdWRjICp0aGVfY29udHJvbGxlcjsKK3N0YXRpYyBzdHJ1Y3QgcHhhMjV4X3VkYyAqdGhlX2NvbnRyb2xsZXI7CiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKQEAgLTIwOSw3ICsyMDgsNyBAQAogfQogCiBzdGF0aWMgdm9pZCBfX21heWJlX3VudXNlZAotZHVtcF9zdGF0ZShzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorZHVtcF9zdGF0ZShzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCXUzMgkJdG1wOwogCXVuc2lnbmVkCWk7CkBAIC0yNjQsNCArMjYzLDQgQEAKICNkZWZpbmUgSU5GTyhzdHVmZi4uLikJCXByX2luZm8oInVkYzogIiBzdHVmZikKIAogCi0jZW5kaWYgLyogX19MSU5VWF9VU0JfR0FER0VUX1BYQTJYWF9IICovCisjZW5kaWYgLyogX19MSU5VWF9VU0JfR0FER0VUX1BYQTI1WF9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuYwppbmRleCBlMDJiZmQ0Li45YzBlODJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmMKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2IvY2g5Lmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL2dhZGdldC5oPgotCisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4gLyogRklYTUU6IGZvciBQU1NSICovCiAjaW5jbHVkZSA8YXNtL2FyY2gvdWRjLmg+CiAKICNpbmNsdWRlICJweGEyN3hfdWRjLmgiCkBAIC0yMzYwLDE4ICsyMzYwLDE5IEBACiAJICogU29mdHdhcmUgbXVzdCBjb25maWd1cmUgdGhlIFVTQiBPVEcgcGFkLCBVREMsIGFuZCBVSEMKIAkgKiB0byB0aGUgc3RhdGUgdGhleSB3ZXJlIGluIGJlZm9yZSBlbnRlcmluZyBzbGVlcCBtb2RlLgogCSAqLwotCVBTU1IgfD0gUFNTUl9PVEdQSDsKKwlpZiAoY3B1X2lzX3B4YTI3eCgpKQorCQlQU1NSIHw9IFBTU1JfT1RHUEg7CiAKIAlyZXR1cm4gMDsKIH0KICNlbmRpZgogCiAvKiB3b3JrIHdpdGggaG90cGx1ZyBhbmQgY29sZHBsdWcgKi8KLU1PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMnh4LXVkYyIpOworTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpweGEyN3gtdWRjIik7CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHVkY19kcml2ZXIgPSB7CiAJLmRyaXZlcgkJPSB7Ci0JCS5uYW1lCT0gInB4YTJ4eC11ZGMiLAorCQkubmFtZQk9ICJweGEyN3gtdWRjIiwKIAkJLm93bmVyCT0gVEhJU19NT0RVTEUsCiAJfSwKIAkucmVtb3ZlCQk9IF9fZXhpdF9wKHB4YV91ZGNfcmVtb3ZlKSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmggYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5oCmluZGV4IDk3NDUzZGIuLjFkMWI3OTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmgKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuaApAQCAtNDg0LDEyICs0ODQsNCBAQAogI2RlZmluZSBlcF93YXJuKGVwLCBmbXQsIGFyZy4uLikgXAogCWRldl93YXJuKGVwLT5kZXYtPmRldiwgIiVzOiVzOiIgZm10LCBFUE5BTUUoZXApLCBfX2Z1bmNfXywgIyMgYXJnKQogCi0vKgotICogQ2Fubm90IGluY2x1ZGUgcHhhLXJlZ3MuaCwgYXMgcmVnaXN0ZXIgbmFtZXMgYXJlIHNpbWlsYXIuCi0gKiBTbyBQU1NSIGlzIHJlZGVmaW5lZCBoZXJlLiBUaGlzIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgVURDIHJlZ2lzdGVycyB3aWxsCi0gKiBiZSBnb25lIGZyb20gcHhhLXJlZ3MuaC4KLSAqLwotI2RlZmluZSBQU1NSCQlfX1JFRygweDQwRjAwMDA0KQkvKiBQb3dlciBNYW5hZ2VyIFNsZWVwIFN0YXR1cyAqLwotI2RlZmluZSBQU1NSX09UR1BICSgxIDw8IDYpCQkvKiBPVEcgUGVyaXBoZXJhbCBIb2xkICovCi0KICNlbmRpZiAvKiBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMjdYX0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1hdTF4eHguYyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1hdTF4eHguYwppbmRleCBmOTBmZTBjLi42OGMxN2Y1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktYXUxeHh4LmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLWF1MXh4eC5jCkBAIC04LDcgKzgsNyBAQAogICogQnVzIEdsdWUgZm9yIEFNRCBBbGNoZW15IEF1MXh4eAogICoKICAqIFdyaXR0ZW4gYnkgQ2hyaXN0b3BoZXIgSG9vdmVyIDxjaEBocGwuaHAuY29tPgotICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNlbGwgS2luZyBldCBhbC4KKyAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzc2VsbCBLaW5nIGV0IGFsLgogICoKICAqIE1vZGlmaWVkIGZvciBMSDdBNDA0IGZyb20gb2hjaS1zYTExMTEuYwogICogIGJ5IER1cmdlc2ggUGF0dGFtYXR0YSA8cGF0dGFtYXR0YWRAc2hhcnBzZWMuY29tPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLWxoN2E0MDQuYyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1saDdhNDA0LmMKaW5kZXggMTNjMTJlZC4uMWVmNWQ0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLWxoN2E0MDQuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktbGg3YTQwNC5jCkBAIC04LDcgKzgsNyBAQAogICogQnVzIEdsdWUgZm9yIFNoYXJwIExIN0E0MDQKICAqCiAgKiBXcml0dGVuIGJ5IENocmlzdG9waGVyIEhvb3ZlciA8Y2hAaHBsLmhwLmNvbT4KLSAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzZWxsIEtpbmcgZXQgYWwuCisgKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c3NlbGwgS2luZyBldCBhbC4KICAqCiAgKiBNb2RpZmllZCBmb3IgTEg3QTQwNCBmcm9tIG9oY2ktc2ExMTExLmMKICAqICBieSBEdXJnZXNoIFBhdHRhbWF0dGEgPHBhdHRhbWF0dGFkQHNoYXJwc2VjLmNvbT4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1vbWFwLmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktb21hcC5jCmluZGV4IDNhN2MyNGMuLmExOWE0ZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1vbWFwLmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLW9tYXAuYwpAQCAtMTY5LDEzICsxNjksMTYgQEAKIHsKIAljb25zdCB1bnNpZ25lZAlwb3J0ID0gb2hjaV90b19oY2Qob2hjaSktPnNlbGYub3RnX3BvcnQgLSAxOwogCXVuc2lnbmVkIGxvbmcJZmxhZ3M7CisJdTMyIGw7CiAKIAlvdGdfc3RhcnRfaG5wKG9oY2ktPnRyYW5zY2VpdmVyKTsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAlvaGNpLT50cmFuc2NlaXZlci0+c3RhdGUgPSBPVEdfU1RBVEVfQV9TVVNQRU5EOwogCXdyaXRlbCAoUkhfUFNfUFNTLCAmb2hjaS0+cmVncy0+cm9vdGh1Yi5wb3J0c3RhdHVzIFtwb3J0XSk7Ci0JT1RHX0NUUkxfUkVHICY9IH5PVEdfQV9CVVNSRVE7CisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCWwgJj0gfk9UR19BX0JVU1JFUTsKKwlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktcHhhMjd4LmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktcHhhMjd4LmMKaW5kZXggZDRlZTI3ZC4uMTI3YjE1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLXB4YTI3eC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1weGEyN3guYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPiAvKiBGSVhNRTogZm9yIFBTU1IgKi8KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAKICNkZWZpbmUgUFhBX1VIQ19NQVhfUE9SVE5VTSAgICAzCkBAIC0xMDQsNyArMTA1LDcgQEAKIAlVSENISUUgPSAoVUhDSElFX1VQUklFIHwgVUhDSElFX1JXSUUpOwogCiAJLyogQ2xlYXIgYW55IE9URyBQaW4gSG9sZCAqLwotCWlmIChQU1NSICYgUFNTUl9PVEdQSCkKKwlpZiAoY3B1X2lzX3B4YTI3eCgpICYmIChQU1NSICYgUFNTUl9PVEdQSCkpCiAJCVBTU1IgfD0gUFNTUl9PVEdQSDsKIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLXMzYzI0MTAuYyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zM2MyNDEwLmMKaW5kZXggZWFkNDc3Mi4uM2M3YTc0MCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLXMzYzI0MTAuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktczNjMjQxMC5jCkBAIC04LDcgKzgsNyBAQAogICogVVNCIEJ1cyBHbHVlIGZvciBTYW1zdW5nIFMzQzI0MTAKICAqCiAgKiBXcml0dGVuIGJ5IENocmlzdG9waGVyIEhvb3ZlciA8Y2hAaHBsLmhwLmNvbT4KLSAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzZWxsIEtpbmcgZXQgYWwuCisgKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c3NlbGwgS2luZyBldCBhbC4KICAqCiAgKiBNb2RpZmllZCBmb3IgUzNDMjQxMCBmcm9tIG9oY2ktc2ExMTExLmMsIG9oY2ktb21hcC5jIGFuZCBvaGNpLWxoN2E0MC5jCiAgKglieSBCZW4gRG9va3MsIDxiZW5Ac2ltdGVjLmNvLnVrPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLXNhMTExMS5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXNhMTExMS5jCmluZGV4IDBmNDhmMmQuLjJlOWRjZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zYTExMTEuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktc2ExMTExLmMKQEAgLTgsNyArOCw3IEBACiAgKiBTQTExMTEgQnVzIEdsdWUKICAqCiAgKiBXcml0dGVuIGJ5IENocmlzdG9waGVyIEhvb3ZlciA8Y2hAaHBsLmhwLmNvbT4KLSAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzZWxsIEtpbmcgZXQgYWwuCisgKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c3NlbGwgS2luZyBldCBhbC4KICAqCiAgKiBUaGlzIGZpbGUgaXMgbGljZW5jZWQgdW5kZXIgdGhlIEdQTC4KICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWkyNi5jIGIvZHJpdmVycy91c2IvbWlzYy9lbWkyNi5jCmluZGV4IDRiOWRjODEuLjRiOTk0YTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pMjYuYworKysgYi9kcml2ZXJzL3VzYi9taXNjL2VtaTI2LmMKQEAgLTE2LDE4ICsxNiw4IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0KLSNkZWZpbmUgTUFYX0lOVEVMX0hFWF9SRUNPUkRfTEVOR1RIIDE2Ci10eXBlZGVmIHN0cnVjdCBfSU5URUxfSEVYX1JFQ09SRAotewotCV9fdTMyCWxlbmd0aDsKLQlfX3UzMglhZGRyZXNzOwotCV9fdTMyCXR5cGU7Ci0JX191OAlkYXRhW01BWF9JTlRFTF9IRVhfUkVDT1JEX0xFTkdUSF07Ci19IElOVEVMX0hFWF9SRUNPUkQsICpQSU5URUxfSEVYX1JFQ09SRDsKLQotLyogaW5jbHVkZSBmaXJtd2FyZSAodmFyaWFibGVzKSAqLwotI2luY2x1ZGUgImVtaTI2X2Z3LmgiCisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAKICNkZWZpbmUgRU1JMjZfVkVORE9SX0lEIAkJMHgwODZhICAvKiBFbWFnaWMgU29mdC11bmQgSGFyZHdhcmUgR21CSCAqLwogI2RlZmluZSBFTUkyNl9QUk9EVUNUX0lECQkweDAxMDAJLyogRU1JIDJ8NiB3aXRob3V0IGZpcm13YXJlICovCkBAIC00MCw3ICszMCw5IEBACiAjZGVmaW5lIENQVUNTX1JFRwkJMHg3RjkyICAvKiBFWi1VU0IgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyLiAgQml0IDAgY29udHJvbHMgODA1MSByZXNldCAqLyAKICNkZWZpbmUgSU5URVJOQUxfUkFNKGFkZHJlc3MpICAgKGFkZHJlc3MgPD0gTUFYX0lOVEVSTkFMX0FERFJFU1MpCiAKLXN0YXRpYyBpbnQgZW1pMjZfd3JpdGVtZW1vcnkoIHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLCBfX3U4IGJSZXF1ZXN0KTsKK3N0YXRpYyBpbnQgZW1pMjZfd3JpdGVtZW1vcnkoIHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLAorCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwKKwkJCSAgICAgIF9fdTggYlJlcXVlc3QpOwogc3RhdGljIGludCBlbWkyNl9zZXRfcmVzZXQoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgdW5zaWduZWQgY2hhciByZXNldF9iaXQpOwogc3RhdGljIGludCBlbWkyNl9sb2FkX2Zpcm13YXJlIChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2KTsKIHN0YXRpYyBpbnQgZW1pMjZfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCk7CkBAIC01MCw3ICs0Miw5IEBACiAKIAogLyogdGhhbmtzIHRvIGRyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jIGNvZGUgKi8KLXN0YXRpYyBpbnQgZW1pMjZfd3JpdGVtZW1vcnkgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLCBfX3U4IHJlcXVlc3QpCitzdGF0aWMgaW50IGVtaTI2X3dyaXRlbWVtb3J5IChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywKKwkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsCisJCQkgICAgICBfX3U4IHJlcXVlc3QpCiB7CiAJaW50IHJlc3VsdDsKIAl1bnNpZ25lZCBjaGFyICpidWZmZXIgPSAga21lbWR1cChkYXRhLCBsZW5ndGgsIEdGUF9LRVJORUwpOwpAQCAtODMsOSArNzcsMTIgQEAKIAogc3RhdGljIGludCBlbWkyNl9sb2FkX2Zpcm13YXJlIChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2KQogeworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqbG9hZGVyX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmJpdHN0cmVhbV9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZV9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CiAJaW50IGVycjsKIAlpbnQgaTsKLQlpbnQgcG9zID0gMDsJLyogUG9zaXRpb24gaW4gaGV4IHJlY29yZCAqLwogCV9fdTMyIGFkZHI7CS8qIEFkZHJlc3MgdG8gd3JpdGUgKi8KIAlfX3U4ICpidWY7CiAKQEAgLTk2LDYgKzkzLDIzIEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmxvYWRlcl9mdywgImVtaTI2L2xvYWRlci5mdyIsICZkZXYtPmRldik7CisJaWYgKGVycikKKwkJZ290byBub2Z3OworCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZiaXRzdHJlYW1fZncsICJlbWkyNi9iaXRzdHJlYW0uZnciLAorCQkJCSAgICAmZGV2LT5kZXYpOworCWlmIChlcnIpCisJCWdvdG8gbm9mdzsKKworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZmlybXdhcmVfZncsICJlbWkyNi9maXJtd2FyZS5mdyIsCisJCQkJICAgICZkZXYtPmRldik7CisJaWYgKGVycikgeworCW5vZnc6CisJCWVyciggIiVzIC0gcmVxdWVzdF9maXJtd2FyZSgpIGZhaWxlZCIsIF9fZnVuY19fKTsKKwkJZ290byB3cmFwZXJyOworCX0KKwogCS8qIEFzc2VydCByZXNldCAoc3RvcCB0aGUgQ1BVIGluIHRoZSBFTUkpICovCiAJZXJyID0gZW1pMjZfc2V0X3Jlc2V0KGRldiwxKTsKIAlpZiAoZXJyIDwgMCkgewpAQCAtMTAzLDEzICsxMTcsMTcgQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAorCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CiAJLyogMS4gV2UgbmVlZCB0byBwdXQgdGhlIGxvYWRlciBmb3IgdGhlIEZQR0EgaW50byB0aGUgRVotVVNCICovCi0JZm9yIChpPTA7IGdfTG9hZGVyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgZ19Mb2FkZXJbaV0uYWRkcmVzcywgZ19Mb2FkZXJbaV0uZGF0YSwgZ19Mb2FkZXJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJd2hpbGUgKHJlYykgeworCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJZ290byB3cmFwZXJyOwogCQl9CisJCXJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsKIAl9CiAKIAkvKiBEZS1hc3NlcnQgcmVzZXQgKGxldCB0aGUgQ1BVIHJ1bikgKi8KQEAgLTEyMywxNSArMTQxLDE2IEBACiAJLyogMi4gV2UgdXBsb2FkIHRoZSBGUEdBIGZpcm13YXJlIGludG8gdGhlIEVNSQogCSAqIE5vdGU6IGNvbGxlY3QgdXAgdG8gMTAyMyAoeWVzISkgYnl0ZXMgYW5kIHNlbmQgdGhlbSB3aXRoCiAJICogYSBzaW5nbGUgcmVxdWVzdC4gVGhpcyBpcyBfbXVjaF8gZmFzdGVyISAqLworCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKiliaXRzdHJlYW1fZnctPmRhdGE7CiAJZG8gewogCQlpID0gMDsKLQkJYWRkciA9IGdfYml0c3RyZWFtW3Bvc10uYWRkcmVzczsKKwkJYWRkciA9IGJlMzJfdG9fY3B1KHJlYy0+YWRkcik7CiAKIAkJLyogaW50ZWwgaGV4IHJlY29yZHMgYXJlIHRlcm1pbmF0ZWQgd2l0aCB0eXBlIDAgZWxlbWVudCAqLwotCQl3aGlsZSAoKGdfYml0c3RyZWFtW3Bvc10udHlwZSA9PSAwKSAmJiAoaSArIGdfYml0c3RyZWFtW3Bvc10ubGVuZ3RoIDwgRldfTE9BRF9TSVpFKSkgewotCQkJbWVtY3B5KGJ1ZiArIGksIGdfYml0c3RyZWFtW3Bvc10uZGF0YSwgZ19iaXRzdHJlYW1bcG9zXS5sZW5ndGgpOwotCQkJaSArPSBnX2JpdHN0cmVhbVtwb3NdLmxlbmd0aDsKLQkJCXBvcysrOworCQl3aGlsZSAocmVjICYmIChpICsgYmUxNl90b19jcHUocmVjLT5sZW4pIDwgRldfTE9BRF9TSVpFKSkgeworCQkJbWVtY3B5KGJ1ZiArIGksIHJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKKwkJCWkgKz0gYmUxNl90b19jcHUocmVjLT5sZW4pOworCQkJcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOwogCQl9CiAJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgYWRkciwgYnVmLCBpLCBBTkNIT1JfTE9BRF9GUEdBKTsKIAkJaWYgKGVyciA8IDApIHsKQEAgLTE0OCw4ICsxNjcsMTEgQEAKIAl9CiAKIAkvKiAzLiBXZSBuZWVkIHRvIHB1dCB0aGUgbG9hZGVyIGZvciB0aGUgZmlybXdhcmUgaW50byB0aGUgRVotVVNCIChhZ2Fpbi4uLikgKi8KLQlmb3IgKGk9MDsgZ19Mb2FkZXJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBnX0xvYWRlcltpXS5hZGRyZXNzLCBnX0xvYWRlcltpXS5kYXRhLCBnX0xvYWRlcltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJZ290byB3cmFwZXJyOwpAQCAtMTY1LDkgKzE4NywxMyBAQAogCX0KIAogCS8qIDQuIFdlIHB1dCB0aGUgcGFydCBvZiB0aGUgZmlybXdhcmUgdGhhdCBsaWVzIGluIHRoZSBleHRlcm5hbCBSQU0gaW50byB0aGUgRVotVVNCICovCi0JZm9yIChpPTA7IGdfRmlybXdhcmVbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKCFJTlRFUk5BTF9SQU0oZ19GaXJtd2FyZVtpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBnX0Zpcm13YXJlW2ldLmFkZHJlc3MsIGdfRmlybXdhcmVbaV0uZGF0YSwgZ19GaXJtd2FyZVtpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0VYVEVSTkFMKTsKKworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJaWYgKCFJTlRFUk5BTF9SQU0oYmUzMl90b19jcHUocmVjLT5hZGRyKSkpIHsKKwkJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkJQU5DSE9SX0xPQURfRVhURVJOQUwpOwogCQkJaWYgKGVyciA8IDApIHsKIAkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJCWdvdG8gd3JhcGVycjsKQEAgLTE4Miw5ICsyMDgsMTIgQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAotCWZvciAoaT0wOyBnX0Zpcm13YXJlW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmIChJTlRFUk5BTF9SQU0oZ19GaXJtd2FyZVtpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBnX0Zpcm13YXJlW2ldLmFkZHJlc3MsIGdfRmlybXdhcmVbaV0uZGF0YSwgZ19GaXJtd2FyZVtpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWlmIChJTlRFUk5BTF9SQU0oYmUzMl90b19jcHUocmVjLT5hZGRyKSkpIHsKKwkJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQkJaWYgKGVyciA8IDApIHsKIAkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJCWdvdG8gd3JhcGVycjsKQEAgLTIwNSw2ICsyMzQsMTAgQEAKIAllcnIgPSAxOwogCiB3cmFwZXJyOgorCXJlbGVhc2VfZmlybXdhcmUobG9hZGVyX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGJpdHN0cmVhbV9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShmaXJtd2FyZV9mdyk7CisKIAlrZnJlZShidWYpOwogCXJldHVybiBlcnI7CiB9CkBAIC0yNTcsNSArMjkwLDggQEAKIE1PRFVMRV9ERVNDUklQVElPTigiRW1hZ2ljIEVNSSAyfDYgZmlybXdhcmUgbG9hZGVyLiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogCitNT0RVTEVfRklSTVdBUkUoImVtaTI2L2xvYWRlci5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJlbWkyNi9iaXRzdHJlYW0uZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZW1pMjYvZmlybXdhcmUuZnciKTsKIC8qIHZpOmFpOnN5bnRheD1jOnN3PTg6dHM9ODp0dz04MAogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTI2X2Z3LmggYi9kcml2ZXJzL3VzYi9taXNjL2VtaTI2X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0N2ZmMTAuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWkyNl9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTc3OSArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHRocmVlIGRpZmZlcmVudCBmaWxlcywgcHJvdmlkZWQgYnkgRW1hZ2ljLgotICovCi0vKiBnZW5lcmF0ZWQgRnJpIE1hciA4IDE1OjExOjM1IEVFVCAyMDAyICovCi0KLS8qCi0gKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCi0gKgotICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCi0gKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKLSAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCi0gKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCi0gKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotICogaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotICogaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0gKgotICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCi0gKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCi0gKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCi0gKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgotICovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2JpdHN0cmVhbVtdPXsKLXsgIDE2LCAweDgwMTAsIDAsIHsweGZmLDB4ZmYsMHhmZiwweGZmLDB4YWEsMHg5OSwweDU1LDB4NjYsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA3IH0gfSwKLXsgIDE2LCAweDgwMjAsIDAsIHsweDMwLDB4MDEsMHg2MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MGIsMHgzMCwweDAxLDB4MjAsMHgwMSwweDAwLDB4ODAsMHgzZiwweDJkIH0gfSwKLXsgIDE2LCAweDgwMzAsIDAsIHsweDMwLDB4MDAsMHhjMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5IH0gfSwKLXsgIDE2LCAweDgwNDAsIDAsIHsweDMwLDB4MDAsMHgyMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweDgwNTAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDAwLDB4NTAsMHgwMCwweDNlLDB4MDQsMHgwOCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0IH0gfSwKLXsgIDE2LCAweDgwODAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDg0IH0gfSwKLXsgIDE2LCAweDgwYjAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMTAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0IH0gfSwKLXsgIDE2LCAweDgxNDAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNzAsIDAsIHsweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg0IH0gfSwKLXsgIDE2LCAweDgxYTAsIDAsIHsweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmNywweDEwLDB4MDEsMHgxNCwweDAwLDB4MjUsMHgwMCwweDA1IH0gfSwKLXsgIDE2LCAweDgxYjAsIDAsIHsweDQwLDB4MDEsMHg1MCwweDAwLDB4OTQsMHgwMCwweDE1LDB4MDAsMHgwNywweDQwLDB4MDEsMHhkMCwweDAwLDB4OTQsMHgwMCwweDI1IH0gfSwKLXsgIDE2LCAweDgxYzAsIDAsIHsweDgwLDB4MDEsMHg2MCwweDAyLDB4ZDgsMHgwMCwweGY2LDB4MDAsMHgyZiwweDgwLDB4MDIsMHhlMCwweDA0LDB4ZDgsMHgzNywweDQ0IH0gfSwKLXsgIDE2LCAweDgxZDAsIDAsIHsweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjIsMHgwMCwweGNjLDB4OTAsMHgzOSwweDIwIH0gfSwKLXsgIDE2LCAweDgxZTAsIDAsIHsweDBkLDB4OTgsMHgwMywweGQyLDB4MDAsMHhlNywweDgwLDB4MzcsMHgwNCwweDBlLDB4ZjEsMHg4MywweDdlLDB4MDAsMHhkZiwweDkwIH0gfSwKLXsgIDE2LCAweDgxZjAsIDAsIHsweDMxLDB4ZTQsMHg4ZiwweDc5LDB4MDMsMHg3YywweDIwLDB4ZGYsMHgyMiwweDMzLDB4YzAsMHgwYywweGYwLDB4MjIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4NjIsMHgwMCwweDgwLDB4MjQsMHgyMiwweDIwIH0gfSwKLXsgIDE2LCAweDgyMTAsIDAsIHsweDA4LDB4OTgsMHgxMiwweGUyLDB4MDAsMHg4YiwweDgxLDB4MjAsMHg5NCwweDA4LDB4NzQsMHgwMiwweDJlLDB4MDAsMHg4YSwweDAxIH0gfSwKLXsgIDE2LCAweDgyMjAsIDAsIHsweDIyLDB4YzgsMHgwOCwweDkyLDB4MDIsMHgzZCwweDgwLDB4OGIsMHg2MCwweDIyLDB4ODAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweDgyMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHgwMCwweGEwLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNDAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGMwLDB4MDAsMHhhMSwweDAwLDB4MjQsMHgwOSwweDRhLDB4MzIsMHgwMiwweDQ4LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDgyNTAsIDAsIHsweDYyLDB4YzAsMHgwOSwweGEwLDB4NDYsMHhjYywweDI0LDB4OTMsMHg0OSwweDJhLDB4ODAsMHg0OCwweDMwLDB4MjIsMHg2MiwweDAxIH0gfSwKLXsgIDE2LCAweDgyNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTgsMHgxMiwweGE4LDB4MDAsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweDgyNzAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGUwLDB4MDAsMHg4OSwweDgwLDB4MjIsMHg0NCwweDA4LDB4YjAsMHgxMiwweGE4LDB4MDAsMHhhOSwweDQwIH0gfSwKLXsgIDE2LCAweDgyODAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDkwLDB4ODIsMHhhYywweDAwLDB4OWIsMHgwNCwweDJhLDB4YzQsMHgwOCwweGIwLDB4MDIsMHg3MCwweDA0IH0gfSwKLXsgIDE2LCAweDgyOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE0LDB4ODQsMHgwMCwweGU5LDB4ODAsMHhiMiwweDY0IH0gfSwKLXsgIDE2LCAweDgyYTAsIDAsIHsweDRkLDB4YTAsMHgwMywweGVhLDB4MjAsMHhlOSwweGMwLDB4MzYsMHg0MCwweDBlLDB4YjAsMHgwMywweDQ0LDB4MDAsMHhmYiwweDkwIH0gfSwKLXsgIDE2LCAweDgyYjAsIDAsIHsweGIyLDB4ODgsMHgwZCwweGJjLDB4MDMsMHhlYywweDA4LDB4NWIsMHgwMCwweDM4LDB4NjAsMHgyYywweGIwLDB4NjMsMHg0MCwweDA0IH0gfSwKLXsgIDE2LCAweDgyYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjQsMHgyNiwweGRkLDB4OTAsMHgzNywweDQwIH0gfSwKLXsgIDE2LCAweDgyZDAsIDAsIHsweDRmLDB4ZTAsMHgxMywweGYyLDB4ODAsMHhmZCwweDAwLDB4M2QsMHhhMCwweDBkLDB4NzAsMHgwMywweDc1LDB4MDAsMHg1ZSwweDAwIH0gfSwKLXsgIDE2LCAweDgyZTAsIDAsIHsweDNmLDB4YTQsMHgwZCwweGY5LDB4MDMsMHg1YywweDEwLDB4ZWIsMHgwMCwweDM3LDB4MjAsMHgwZiwweDMwLDB4MDMsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweDgyZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGU5LDB4ODAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDgzMDAsIDAsIHsweDBjLDB4YTEsMHg4MywweGU4LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg0MiwweDBlLDB4YjAsMHgwMywweGFjLDB4NDgsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweDgzMTAsIDAsIHsweDNhLDB4ODAsMHgwZSwweGE0LDB4MDMsMHhlYywweDAwLDB4ZWIsMHgwMCwweGIyLDB4MDMsMHgwZSwweGIwLDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweDgzMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmUsMHg4MCwweDg5LDB4ZDEsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDgzMzAsIDAsIHsweDA4LDB4YTAsMHgwMiwweGMwLDB4MDAsMHg4MSwweDgwLDB4MjIsMHg1OCwweDA4LDB4ZjUsMHgwMiwweDJmLDB4NDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweDgzNDAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMwLDB4NDMsMHg3YywweDAwLDB4ODcsMHgwMCwweDIyLDB4NDAsMHgwOCwweGYwLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDgzNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDIsMHgwMSwweDlhLDB4NDQsMHgyOCwweGEyIH0gfSwKLXsgIDE2LCAweDgzNjAsIDAsIHsweDA4LDB4MTgsMHgwMiwweGMwLDB4ODAsMHhhMSwweDgwLDB4YTAsMHgwMCwweDA4LDB4MzAsMHgwMiwweDhlLDB4MDAsMHhhYiwweDAwIH0gfSwKLXsgIDE2LCAweDgzNzAsIDAsIHsweDJjLDB4NDAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDIwLDB4NDQsMHgwYSwweDMwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweDgzODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAxLDB4MzIsMHgwMCwweDk2LDB4ODIsMHgyYiwweGEyIH0gfSwKLXsgIDE2LCAweDgzOTAsIDAsIHsweDg4LDB4NWEsMHgwMiwweGYyLDB4MDAsMHgwNSwweDgwLDB4MjksMHhhMCwweDA4LDB4NzgsMHg0MiwweGJlLDB4MDAsMHg4ZSwweDg0IH0gfSwKLXsgIDE2LCAweDgzYTAsIDAsIHsweDJmLDB4NjEsMHgwYSwweGQ4LDB4MDIsMHg0ZSwweDEwLDB4YTcsMHg4MCwweDIwLDB4MjgsMHgwOCwweDc4LDB4MDIsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGYyLDB4MjQsMHgzOCwweDgwIH0gfSwKLXsgIDE2LCAweDgzYzAsIDAsIHsweDJjLDB4MWEsMHgwMywweGM0LDB4MDAsMHhlMCwweDU4LDB4YTAsMHg4MCwweDJlLDB4MzAsMHgwMywweDg4LDB4NDEsMHhlMywweDAyIH0gfSwKLXsgIDE2LCAweDgzZDAsIDAsIHsweDNjLDB4NDAsMHgwNiwweDIwLDB4MDMsMHg4YywweDAwLDB4ZTMsMHgwMCwweDEwLDB4MDAsMHgwZSwweDMxLDB4NDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweDgzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4OTgsMHgwMCwweGVlLDB4MDEsMHgzNywweDg0IH0gfSwKLXsgIDE2LCAweDgzZjAsIDAsIHsweDlmLDB4ZDksMHgwMywweGYwLDB4NDgsMHhmZCwweDEwLDB4MzcsMHhjMCwweDA3LDB4YjAsMHgwMywweDVjLDB4MDAsMHhmNiwweDEwIH0gfSwKLXsgIDE2LCAweDg0MDAsIDAsIHsweDMzLDB4YzAsMHgwZCwweGUxLDB4MDMsMHhlZCwweDIwLDB4ZGYsMHgxMCwweDNmLDB4NDgsMHgwZiwweGYwLDB4MjMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDg0MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMiwweGNiLDB4ODAsMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweDg0MjAsIDAsIHsweDBjLDB4YTAsMHgwMywweGUyLDB4MDIsMHhjOSwweDAwLDB4M2EsMHg0MCwweDBkLDB4YjYsMHgwMywweDY0LDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweDg0MzAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweDAwLDB4ZmIsMHgwMSwweDNlLDB4ZTAsMHgwYywweGIwLDB4MDIsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDg0NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDg0NTAsIDAsIHsweDI4LDB4NjAsMHgwMiwweGQwLDB4MDAsMHg4NSwweDAwLDB4MmQsMHg4MCwweDQ4LDB4ZjAsMHg4MiwweDFjLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweDg0NjAsIDAsIHsweDJkLDB4MDAsMHgwYiwweDUwLDB4MDIsMHhkYywweDAwLDB4YjcsMHhhMCwweDJmLDB4ODAsMHgyOCwweDdhLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDg0NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMSwweDAwLDB4YmUsMHgwMCwweDg3LDB4ODAsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweDg0ODAsIDAsIHsweDI4LDB4NjgsMHgwMiwweGQ3LDB4MDAsMHg4NCwweDgwLDB4MmQsMHhlMCwweDQ5LDB4NzksMHgwNiwweDUzLDB4MDksMHhiNSwweDgwIH0gfSwKLXsgIDE2LCAweDg0OTAsIDAsIHsweDJkLDB4ZTIsMHgwYiwweDc4LDB4MDIsMHhkZSwweDgwLDB4YjcsMHg5MCwweDJkLDB4YjAsMHgwOCwweDc5LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgxMCwweDgzLDB4MDEsMHgyOCwweGM4IH0gfSwKLXsgIDE2LCAweDg0YjAsIDAsIHsweDA4LDB4MjAsMHgwMiwweGMyLDB4MDYsMHg4MSwweDAwLDB4MmMsMHhjOCwweDg4LDB4MzAsMHg2MiwweDBlLDB4MjEsMHhiMywweGEwIH0gfSwKLXsgIDE2LCAweDg0YzAsIDAsIHsweDJjLDB4YzEsMHgwYiwweGI2LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4ZTAsMHgwOCwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDg0ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGNhLDB4NDAsMHhiMCwweDgwIH0gfSwKLXsgIDE2LCAweDg0ZTAsIDAsIHsweDBjLDB4MmMsMHgwMiwweGY4LDB4MDAsMHhjNiwweDIwLDB4M2YsMHg5MCwweDBkLDB4YTAsMHgwMywweDdiLDB4MDEsMHhlZSwweGUwIH0gfSwKLXsgIDE2LCAweDg0ZjAsIDAsIHsweDNmLDB4YjQsMHgwZiwweGVjLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNmLDB4YTAsMHgwYywweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDg1MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTMsMHgwMCwweGY4LDB4MDksMHgyNiwweDAwIH0gfSwKLXsgIDE2LCAweDg1MTAsIDAsIHsweDBmLDB4YzEsMHg4MywweGUwLDB4MTAsMHhmOCwweDQwLDB4M2MsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDEsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MjAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDg1MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDg1NDAsIDAsIHsweDRmLDB4OTAsMHg2MywweDI2LDB4ODQsMHgzOSwweDAyLDB4YjIsMHg0MCwweDBjLDB4OTEsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1NTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjEsMHgwMCwweDNhLDB4NDQsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweDg1NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NDUsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweDg1NzAsIDAsIHsweDA4LDB4OTIsMHgwYSwweDI0LDB4MDAsMHhiOSwweDMxLDB4MjIsMHg2MCwweDg4LDB4OTQsMHg4YSwweDI0LDB4MjAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ODAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NjgsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHhhMCwweDhkLDB4ODQsMHgyZiwweDQwIH0gfSwKLXsgIDE2LCAweDg1YTAsIDAsIHsweDBiLDB4ZDEsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0YSwweDA4LDB4MTAsMHgwMiwweDJjLDB4NDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1YjAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDg1YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MTQsMHgwMCwweDg1LDB4ODAsMHgyZCwweDQwIH0gfSwKLXsgIDE2LCAweDg1ZDAsIDAsIHsweDA4LDB4NTAsMHgwMiwweDA0LDB4MGMsMHhiOSwweDAwLDB4YTAsMHg1MCwweDA4LDB4MTQsMHgyMiwweDA0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZTAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgyOCwweDIwLDB4NGEsMHgwYiwweDEzLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDg1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGMwLDB4NTAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweDg2MDAsIDAsIHsweDBmLDB4YzAsMHg0MywweDIwLDB4MDAsMHhmOCwweDAwLDB4MzAsMHgwMCwweDJjLDB4ODAsMHgyMywweDIwLDB4MDAsMHhmOCwweDUxIH0gfSwKLXsgIDE2LCAweDg2MTAsIDAsIHsweDNlLDB4MTQsMHg4ZiwweDg1LDB4MGIsMHgyMSwweDQwLDB4ZjgsMHg3MCwweDNhLDB4MDgsMHgwZiwweDg0LDB4ODMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweDg2MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4YzQsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDg2MzAsIDAsIHsweDBmLDB4OTAsMHgyMywweGQ0LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg1MCwweDBmLDB4OTQsMHgwMywweGY0LDB4MDQsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NDAsIDAsIHsweDNmLDB4NDEsMHg4ZiwweGQwLDB4NDMsMHhlNSwweDBjLDB4ZjksMHgwMiwweDNmLDB4NGEsMHgwZiwweDkyLDB4MDMsMHhlNiwweDAyIH0gfSwKLXsgIDE2LCAweDg2NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZDQsMHgwMSwweGZkLDB4MDAsMHgzZCwweDQwIH0gfSwKLXsgIDE2LCAweDg2NjAsIDAsIHsweDBjLDB4ZDAsMHgxMywweGY0LDB4MDAsMHhkNSwweDAwLDB4MzMsMHg2YSwweDFjLDB4ZGMsMHg4MywweDM0LDB4MDAsMHhkMSwweDA0IH0gfSwKLXsgIDE2LCAweDg2NzAsIDAsIHsweDNlLDB4NTAsMHgwYywweDkxLDB4MDMsMHhlNiwweGMwLDB4ZGQsMHhiMCwweDMzLDB4NmEsMHgyYywweDljLDB4ODMsMHhlNiwweDAwIH0gfSwKLXsgIDE2LCAweDg2ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwOSwweGY4LDB4ODAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweDg2OTAsIDAsIHsweDg4LDB4ODAsMHgwMCwweGU4LDB4MDAsMHhiYSwweDAwLDB4MjIsMHhiMCwweDA4LDB4OGUsMHgwMiwweDI4LDB4MDAsMHg4OCwweGE4IH0gfSwKLXsgIDE2LCAweDg2YTAsIDAsIHsweDI2LDB4MjgsMHgwOCwweDhhLDB4MjIsMHhlMiwweDAwLDB4ODgsMHhlNCwweDIyLDB4MzAsMHgwOCwweDhjLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDg2YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MjgsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweDg2YzAsIDAsIHsweDA4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHg5OSwweDAwLDB4MjAsMHg0MiwweDQ4LDB4MTAsMHgwMiwweDY0LDB4MDEsMHg5MSwweDgwIH0gfSwKLXsgIDE2LCAweDg2ZDAsIDAsIHsweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweGMwLDB4ODEsMHg0MCwweDIwLDB4NGEsMHgwOCwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDg2ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHg5NCwweGE5LDB4MDIsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweDg2ZjAsIDAsIHsweDBhLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAwLDB4ODIsMHg2MCwweDA4LDB4OTAsMHgwMiwweDY2LDB4MDAsMHg4OSwweDEwIH0gfSwKLXsgIDE2LCAweDg3MDAsIDAsIHsweDI0LDB4NjIsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMiwweDIyLDB4NDAsMHgxOCwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweDg3MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHgwMCwweGI5LDB4MDQsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDg3MjAsIDAsIHsweDBjLDB4OTAsMHgxMywweGU0LDB4MDAsMHhkMSwweGMwLDB4MTIsMHg1MCwweDI4LDB4OTAsMHgwMywweDQ0LDB4MDAsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweDg3MzAsIDAsIHsweDNlLDB4NDAsMHgyOCwweDkyLDB4MDMsMHhlNCwweDAyLDB4ZDksMHgwMCwweDMyLDB4NDIsMHg4YywweDkwLDB4MTIsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweDg3NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTYsMHgyMCwweGY5LDB4MDAsMHgzZSwweDQxIH0gfSwKLXsgIDE2LCAweDg3NTAsIDAsIHsweDJkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDg3NjAsIDAsIHsweDM2LDB4NDAsMHg4ZiwweDkyLDB4MDcsMHhlNCwweDAwLDB4ZjEsMHgwMCwweGJlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDg3NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDIwIH0gfSwKLXsgIDE2LCAweDg3ODAsIDAsIHsweDBjLDB4ODAsMHgwMywweGUwLDB4NDAsMHhmOCwweDAwLDB4MzYsMHgxMiwweDJjLDB4MDAsMHgwMywweGUwLDB4YzAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDg3OTAsIDAsIHsweDMyLDB4MTAsMHgwZCwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMiwweDNlLDB4MDgsMHgwZiwweDgwLDB4MDAsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDg3YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4M2EsMHg5MCwweDhlLDB4MDAsMHgyZCwweGEwIH0gfSwKLXsgIDE2LCAweDg3YjAsIDAsIHsweDgwLDB4ZTgsMHgwMiwweGZhLDB4MDAsMHhiZSwweDQwLDB4MjMsMHg4MCwweDA4LDB4ZTgsMHgwMiwweGZhLDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDg3YzAsIDAsIHsweDM2LDB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDAwLDB4YmEsMHgwMCwweDJmLDB4ODAsMHgwYiwweGEwLDB4MDMsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDg3ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDYsMHgwMiwweDgzLDB4MDAsMHgyYywweDgwIH0gfSwKLXsgIDE2LCAweDg3ZTAsIDAsIHsweDA4LDB4MjIsMHg0MiwweGM2LDB4ODAsMHhiMSwweDYwLDB4MmUsMHhmNCwweDA4LDB4MzgsMHgyMiwweGNlLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweDg3ZjAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhhYywweDAwLDB4YjEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDg4MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWUsMHgwMiwweDg1LDB4MDEsMHgyZCwweGMyIH0gfSwKLXsgIDE2LCAweDg4MTAsIDAsIHsweGE4LDB4NDQsMHgwMiwweGQ0LDB4MDAsMHhiZCwweDAxLDB4MjksMHg0MCwweDE4LDB4NjgsMHhkMiwweGRjLDB4MDAsMHg4ZiwweDgwIH0gfSwKLXsgIDE2LCAweDg4MjAsIDAsIHsweDI1LDB4Y2MsMHgyOCwweDczLDB4NDIsMHhkYywweDgwLDB4YjUsMHgzMCwweDJkLDB4YzAsMHgxYiwweDcyLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwNCwweGM2LDB4ODIsMHgzZCwweGUwIH0gfSwKLXsgIDE2LCAweDg4NDAsIDAsIHsweDBjLDB4NDgsMHgxMiwweGQ2LDB4MTAsMHhmNSwweDgwLDB4M2MsMHhhMCwweDBjLDB4NzAsMHgwMywweGRlLDB4MDAsMHhlNywweDkwIH0gfSwKLXsgIDE2LCAweDg4NTAsIDAsIHsweDIzLDB4ZWEsMHgwNCwweDdhLDB4MDMsMHg5ZSwweDAwLDB4ZjUsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDdhLDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDg4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDBkLDB4YWMsMHgwMCwweDljLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDg4NzAsIDAsIHsweDBmLDB4ODAsMHgwMywweGU0LDB4MTAsMHhmOSwweDAwLDB4MzYsMHgwMSwweDBmLDB4YTAsMHgwMywweGMwLDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweDg4ODAsIDAsIHsweDNlLDB4ZDgsMHg0ZSwweGIwLDB4ODMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZiwweGI0LDB4NDMsMHg4MiwweDA2IH0gfSwKLXsgIDE2LCAweDg4OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZGUsMHgwMCwweGNmLDB4ODQsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweDg4YTAsIDAsIHsweDBlLDB4YzgsMHg0MywweGQ2LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhlMCwweGNkLDB4ZDksMHgwMywweDNhLDB4MDAsMHhmZiwweDg4IH0gfSwKLXsgIDE2LCAweDg4YjAsIDAsIHsweDMzLDB4ZTAsMHgwZiwweGY5LDB4MTMsMHhmZSwweDI0LDB4ZmQsMHg4MCwweDNmLDB4MjAsMHgwYywweGY2LDB4ODMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweDg1LDB4MDAsMHgyMSwweGM0IH0gfSwKLXsgIDE2LCAweDg4ZDAsIDAsIHsweDI4LDB4NDAsMHg4MiwweGQwLDB4MDAsMHhkNSwweDAwLDB4MjMsMHg4MCwweDQ4LDB4YzksMHgwMiwweDFjLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweDg4ZTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcxLDB4MDIsMHhkZSwweDgwLDB4YjUsMHgxMCwweDJkLDB4YzAsMHgyOCwweGYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweDg4ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OWMsMHgwMCwweDk2LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDg5MDAsIDAsIHsweDBhLDB4NDEsMHgwMiwweGY1LDB4NDAsMHg4ZCwweDAwLDB4MjEsMHg0MCwweDA5LDB4NTIsMHgwMiwweDk4LDB4MjAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweDg5MTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcwLDB4MDYsMHhkYywweDgwLDB4YjUsMHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwNCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4Y2MsMHgxMCwweDk4LDB4MDAsMHgwMCwweGMwIH0gfSwKLXsgIDE2LCAweDg5MzAsIDAsIHsweDg4LDB4MDQsMHg4MiwweGMwLDB4MDAsMHg5MSwweDA0LDB4MjAsMHgwMywweDA5LDB4MDAsMHgwMiwweDhhLDB4MDAsMHhiMywweDBhIH0gfSwKLXsgIDE2LCAweDg5NDAsIDAsIHsweDIwLDB4YzQsMHg4YiwweDM0LDB4MDIsMHhjYywweDAwLDB4YjksMHgwMCwweDJjLDB4YzAsMHgwMCwweDMwLDB4MDIsMHgxOCwweDA0IH0gfSwKLXsgIDE2LCAweDg5NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YWMsMHgwMCwweGRiLDB4MDAsMHhiMCwweGMwIH0gfSwKLXsgIDE2LCAweDg5NjAsIDAsIHsweDBlLDB4OWMsMHgwMiwweGM1LDB4MDAsMHhjMSwweDEwLDB4YjIsMHhjMCwweDBkLDB4YjAsMHgwYiwweGE3LDB4MDgsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDg5NzAsIDAsIHsweGIzLDB4YzAsMHgwZiwweGZhLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNlLDB4ZDQsMHgwYywweGYwLDB4MGIsMHgyZSwweDA0IH0gfSwKLXsgIDE2LCAweDg5ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwNCwweGVkLDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDg5OTAsIDAsIHsweDBmLDB4ODQsMHgwMywweGU1LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg2MCwweGNlLDB4YjQsMHg0MywweDY0LDB4MDAsMHhmYiwweDgwIH0gfSwKLXsgIDE2LCAweDg5YTAsIDAsIHsweDNlLDB4YzIsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZjksMHgwMiwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlMSwweDAwIH0gfSwKLXsgIDE2LCAweDg5YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDEwLDB4ZmYsMHgwMCwweGNlLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweDg5YzAsIDAsIHsweDBlLDB4YzAsMHgwNywweDc0LDB4MDQsMHhlYywweDAwLDB4MTEsMHg4MCwweDBjLDB4Y2EsMHgwMywweGZlLDB4NjAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4ODMsMHgzYywweDAwLDB4ZGQsMHgwMCwweGIzLDB4NTAsMHgyYywweGYwLDB4MDMsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweDg5ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4NGMsMHgwNCwweDhiLDB4MGIsMHgyMiwweDcwIH0gfSwKLXsgIDE2LCAweDg5ZjAsIDAsIHsweDA4LDB4MDgsMHgwMywweDY3LDB4MjAsMHg4YSwweDg4LDB4YTIsMHgwMCwweDI4LDB4ODQsMHgwMiwweGU3LDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDhhMDAsIDAsIHsweDNlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjksMHgwMCwweDIyLDB4NjEsMHgwOCwweGIwLDB4MDMsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweDhhMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MjAsMHgyMiwweGUyIH0gfSwKLXsgIDE2LCAweDhhMjAsIDAsIHsweDBhLDB4OGMsMHgwMiwweDI2LDB4MDAsMHhhOSwweDgwLDB4MmEsMHhjMCwweDA4LDB4YjQsMHg0MiwweGVkLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDhhMzAsIDAsIHsweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgyYywweDAwLDB4YjksMHgwMCwweDIwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGUsMHgwMSwweDgxLDB4MDAsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweDhhNTAsIDAsIHsweDA4LDB4ODEsMHgwMiwweDQ0LDB4MDAsMHg4MSwweDAwLDB4MjgsMHg4MSwweDA4LDB4MzIsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDhhNjAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDgwLDB4YjEsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MTIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweDhhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBkLDB4NmMsMHgwMCwweGMyLDB4MDEsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDhhODAsIDAsIHsweDJlLDB4ODAsMHgxNiwweDJjLDB4MDgsMHhlOSwweDAwLDB4M2EsMHg0MCwweDBjLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmNywweDAwIH0gfSwKLXsgIDE2LCAweDhhOTAsIDAsIHsweDJmLDB4YzAsMHgwZiwweGYwLDB4MGIsMHgyYywweDAwLDB4ZDksMHgwMCwweDMwLDB4NDAsMHgwYywweGYwLDB4MDMsMHg2MCwweDAzIH0gfSwKLXsgIDE2LCAweDhhYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDBkLDB4ZjgsMHgwOCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweDhhYjAsIDAsIHsweDBmLDB4YzIsMHgxNywweGZjLDB4MDAsMHhmNywweDAwLDB4MzcsMHgwMCwweDBmLDB4ODQsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDhhYzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlZCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweDhhZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGNmLDB4MzAsMHgxNywweDQ4IH0gfSwKLXsgIDE2LCAweDhhZTAsIDAsIHsweDBjLDB4NTksMHgwMywweGI5LDB4MDAsMHhkZiwweDI4LDB4MzUsMHgyNCwweDBkLDB4ODIsMHhhMywweDdjLDB4ODAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDhhZjAsIDAsIHsweDNmLDB4YzgsMHgwZiwweGYyLDB4MDMsMHhlNCwweGEwLDB4ZWYsMHg4MCwweDNmLDB4ZTEsMHg4YywweGQ4LDB4NDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWQsMHg0OCwweDg5LDB4MzQsMHhhMywweDcwIH0gfSwKLXsgIDE2LCAweDhiMTAsIDAsIHsweDI4LDB4YjAsMHgyMywweDYwLDB4MDAsMHg4YiwweGMwLDB4MjIsMHg0MCwweDA4LDB4YjQsMHg4MiwweDJmLDB4NDAsMHhiZiwweGQxIH0gfSwKLXsgIDE2LCAweDhiMjAsIDAsIHsweDZmLDB4ZjQsMHg4ZSwweGJkLDB4MDIsMHhlNywweDAwLDB4YmIsMHg4MCwweDNhLDB4ZTAsMHgwOCwweDk4LDB4MGEsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweDhiMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHhiMCwweDkxLDB4MDAsMHhhOCwweDUwIH0gfSwKLXsgIDE2LCAweDhiNDAsIDAsIHsweDA4LDB4YjIsMHgwMiwweGM4LDB4ODQsMHg5MywweDAwLDB4MjQsMHg0OSwweDBiLDB4MDIsMHgwMiwweDRjLDB4MDAsMHhiMywweDA0IH0gfSwKLXsgIDE2LCAweDhiNTAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4NDIsMHg4NCwweDAwLDB4YjMsMHgwMCwweDJlLDB4MDAsMHgwYSwweGIwLDB4MTIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweDhiNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4YWMsMHgwMiwweDk5LDB4MTgsMHgyYSwweDQ0IH0gfSwKLXsgIDE2LCAweDhiNzAsIDAsIHsweDA4LDB4YjgsMHg4MiwweGEyLDB4MDEsMHhiYiwweDAwLDB4MjgsMHg2MCwweDBhLDB4YTAsMHgxMiwweDZjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDhiODAsIDAsIHsweDZlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlNCwweDAwLDB4YmIsMHgwMCwweDJhLDB4MDAsMHgyYSwweGIwLDB4MDIsMHgzOCwweDA0IH0gfSwKLXsgIDE2LCAweDhiOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZTQsMHgwOCwweGRhLDB4YzAsMHgzYSwweDYwIH0gfSwKLXsgIDE2LCAweDhiYTAsIDAsIHsweDBjLDB4MTgsMHgwYSwweGViLDB4MDQsMHhkYiwweDAwLDB4MzYsMHhlMCwweDA3LDB4ODUsMHg4MywweDZjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDhiYjAsIDAsIHsweDJlLDB4YzAsMHgwZiwweGIwLDB4NDMsMHhlNCwweDAwLDB4ZWIsMHgwMCwweDNlLDB4ODgsMHgwZSwweDE4LDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweDhiYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDQxLDB4OWMsMHgxMCwweGU5LDB4MDAsMHgzNywweDYwIH0gfSwKLXsgIDE2LCAweDhiZDAsIDAsIHsweDg3LDB4ZjAsMHgxNywweDcwLDB4MDAsMHhjZiwweDAxLDB4MzcsMHhjMCwweDRjLDB4OTgsMHgwMywweGJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDhiZTAsIDAsIHsweDNmLDB4YzIsMHgwZiwweGYwLDB4MDMsMHhlNCwweDAwLDB4ZmYsMHg0MCwweDNmLDB4ZTQsMHgwZCwweGQ5LDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTQsMHgwMCwweGY0LDB4MDAsMHgzMCwweDQwIH0gfSwKLXsgIDE2LCAweDhjMDAsIDAsIHsweDBmLDB4YjQsMHgwMywweDk5LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBkLDB4MDQsMHgyMywweDJjLDB4MDgsMHhmYiwweDg4IH0gfSwKLXsgIDE2LCAweDhjMTAsIDAsIHsweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlNiwweDAwLDB4ZGIsMHgxMCwweDNlLDB4MDIsMHgwZiwweGIwLDB4ODMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDhjMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGI5LDB4NTAsMHhhMiwweDQ4IH0gfSwKLXsgIDE2LCAweDhjMzAsIDAsIHsweDhiLDB4YjAsMHgwMywweDIwLDB4MDAsMHhkNywweDgwLDB4MmUsMHhkOCwweDAwLDB4ODAsMHgwMiwweDNjLDB4MDAsMHhiZiwweDgwIH0gfSwKLXsgIDE2LCAweDhjNDAsIDAsIHsweDIzLDB4ZTgsMHg4YiwweGYwLDB4MDIsMHhmNCwweDQwLDB4OGIsMHg0MCwweDBjLDB4NDIsMHgwMywweGI2LDB4MDIsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweDhjNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIyLDB4NDQsMHgwMCwweGM4IH0gfSwKLXsgIDE2LCAweDhjNjAsIDAsIHsweDBiLDB4MzAsMHgxMiwweDhjLDB4MDAsMHhhMywweDgwLDB4MjQsMHhjOCwweDBiLDB4MDAsMHgwYSwweGNjLDB4MDAsMHhiMywweDQ0IH0gfSwKLXsgIDE2LCAweDhjNzAsIDAsIHsweDA0LDB4YzAsMHgxYiwweDM2LDB4MDIsMHhjNSwweDAxLDB4ODMsMHgwYywweDJjLDB4YTAsMHgwYiwweDMwLDB4MDIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDhjODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwOCwweGI3LDB4OTAsMHgyMSwweDY0IH0gfSwKLXsgIDE2LCAweDhjOTAsIDAsIHsweDBiLDB4ZjgsMHgwMiwweDRhLDB4MDQsMHg5NywweDgxLDB4MmYsMHhlNCwweDBhLDB4NzgsMHgwMiwweDllLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweDhjYTAsIDAsIHsweDIxLDB4ZTAsMHg4YiwweDc4LDB4ODIsMHhkNiwweDg2LDB4ODcsMHg4NCwweDJkLDB4YTAsMHgwYiwweDc4LDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDQsMHgwMCwweGYyLDB4MDAsMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweDhjYzAsIDAsIHsweDBmLDB4MzAsMHgwMywweDhjLDB4MDAsMHhlMywweDBhLDB4M2MsMHhjMCwweDBmLDB4MTgsMHgwMywweDhjLDB4MDAsMHhmMywweDAyIH0gfSwKLXsgIDE2LCAweDhjZDAsIDAsIHsweDMwLDB4YzAsMHgxZiwweDMwLDB4MDEsMHhjNiwweDgwLDB4YzMsMHgwMCwweDNjLDB4YzAsMHgwZiwweDEyLDB4MDMsMHhkYSwweDAyIH0gfSwKLXsgIDE2LCAweDhjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDBkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQxIH0gfSwKLXsgIDE2LCAweDhjZjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGI4LDB4MDgsMHhmZiwweDA4LDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweDNjLDB4MjAsMHhmZiwweDA4IH0gfSwKLXsgIDE2LCAweDhkMDAsIDAsIHsweDNiLDB4ZDIsMHgwZiwweGYwLDB4MDMsMHhmNCwweDQwLDB4ZWYsMHgwMCwweDNmLDB4YzQsMHgwZiwweGQwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDhkMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGZlLDB4MDAsMHgzMiwweGMyIH0gfSwKLXsgIDE2LCAweDhkMjAsIDAsIHsweDBjLDB4MzAsMHgwYiwweDI2LDB4MDAsMHhmYiwweDgwLDB4MzYsMHhjMCwweDBkLDB4YTAsMHgwMywweGVjLDB4MDAsMHhmYiwweGUwIH0gfSwKLXsgIDE2LCAweDhkMzAsIDAsIHsweDMyLDB4ZDAsMHgwZiwweGI4LDB4NDMsMHg2NCwweDQ0LDB4ZGIsMHgwNCwweDNlLDB4ODAsMHgwZiwweGIwLDB4MDMsMHhlMiwweDAwIH0gfSwKLXsgIDE2LCAweDhkNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MDAsMHhhMSwweGMwIH0gfSwKLXsgIDE2LCAweDhkNTAsIDAsIHsweDg4LDB4NzAsMHgwMywweDEwLDB4MDAsMHhiNywweDIwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4ODAsMHhiMywweDMwIH0gfSwKLXsgIDE2LCAweDhkNjAsIDAsIHsweDMxLDB4YzgsMHgwYiwweDc0LDB4MDIsMHgxNCwweDAwLDB4ODcsMHg0MCwweDJkLDB4YzAsMHg0YiwweDcwLDB4MDIsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDhkNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OTYsMHgyMCwweGI2LDB4ODAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweDhkODAsIDAsIHsweDI4LDB4ZjgsMHgwMiwweDk0LDB4MTAsMHhiNywweDgxLDB4MjcsMHhlMiwweDA5LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNywweGEwIH0gfSwKLXsgIDE2LCAweDhkOTAsIDAsIHsweGE5LDB4ZTgsMHgwYiwweDM4LDB4MDIsMHg3NiwweDAwLDB4ODcsMHg4MCwweDJkLDB4YTAsMHgwYiwweDU4LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2UsMHgxMCwweGIzLDB4MDAsMHgyMCwweGM0IH0gfSwKLXsgIDE2LCAweDhkYjAsIDAsIHsweDA4LDB4MjAsMHgwMiwweDgwLDB4MTAsMHhiMywweDAwLDB4MjIsMHhjOCwweDA4LDB4YjAsMHgwMiwweGNjLDB4MTEsMHhiMywweDAyIH0gfSwKLXsgIDE2LCAweDhkYzAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwNCwweDAwLDB4OTMsMHg4MCwweDJjLDB4ZDIsMHgwYiwweDEwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDhkZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4NDAsMHgzMiwweGEwIH0gfSwKLXsgIDE2LCAweDhkZTAsIDAsIHsweDBjLDB4ZTQsMHgwMywweDk4LDB4ODAsMHhmYSwweDAwLDB4MzcsMHhhMCwweDBkLDB4ZTAsMHg4MywweGU4LDB4MDAsMHhmZSwweDAwIH0gfSwKLXsgIDE2LCAweDhkZjAsIDAsIHsweDNhLDB4ODAsMHgwYiwweGEwLDB4MDMsMHg2OCwweDAwLDB4ZDgsMHhhMCwweDNmLDB4OTAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDhlMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwOCwweGY4LDB4MDgsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweDhlMTAsIDAsIHsweDBmLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDA0IH0gfSwKLXsgIDE2LCAweDhlMjAsIDAsIHsweDMwLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAyLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDhlMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDhlNDAsIDAsIHsweDBlLDB4OTAsMHg4MywweGE0LDB4MDAsMHhjOSwweDgwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDhlNTAsIDAsIHsweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4YzgsMHgwMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweDhlNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDAsMHhhMCwweDYyIH0gfSwKLXsgIDE2LCAweDhlNzAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDI0LDB4MTAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDhlODAsIDAsIHsweDJlLDB4NTIsMHgwOCwweDk0LDB4MDIsMHhjNCwweDAwLDB4ODksMHg0MCwweDJlLDB4NDAsMHgwYiwweDEwLDB4MDMsMHg2MCwweDEwIH0gfSwKLXsgIDE2LCAweDhlOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MTgsMHgyMiwweDQ0IH0gfSwKLXsgIDE2LCAweDhlYTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHg4OSwweDEwLDB4MmUsMHhjMCwweDBhLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDgwIH0gfSwKLXsgIDE2LCAweDhlYjAsIDAsIHsweDJlLDB4NjAsMHgwOCwweDk4LDB4MDIsMHhlNiwweDAyLDB4ODksMHgwOCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweDhlYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDQ4IH0gfSwKLXsgIDE2LCAweDhlZDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDgsMHg4MSwweDIzLDB4MmMsMHg1MCwweDA4LDB4MTAsMHgwMiwweDA0LDB4ODAsMHhiMSwweDIwIH0gfSwKLXsgIDE2LCAweDhlZTAsIDAsIHsweDJjLDB4NDgsMHgyOCwweDEyLDB4MDIsMHhlNCwweDgwLDB4ODEsMHgyMCwweDJjLDB4NDAsMHgwYiwweDk4LDB4MDIsMHg0MiwweDA1IH0gfSwKLXsgIDE2LCAweDhlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDhmMDAsIDAsIHsweDBlLDB4ODUsMHgwMywweGExLDB4ZTAsMHhjYSwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODUsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMTAsIDAsIHsweDJlLDB4MDAsMHg5YywweGEwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgyOCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyZSwweDAxIH0gfSwKLXsgIDE2LCAweDhmMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0MCwweGY1LDB4MTAsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweDhmMzAsIDAsIHsweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmMSwweDEwLDB4M2QsMHg0MCwweDhmLDB4ZDQsMHgwMywweGU0LDB4NTAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweDhmNDAsIDAsIHsweDNlLDB4NDUsMHgwZiwweDkxLDB4MDMsMHhkNCwweDQwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGQwLDB4MjMsMHhlNiwweDA0IH0gfSwKLXsgIDE2LCAweDhmNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHgyMCwweGNkLDB4YTgsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweDhmNjAsIDAsIHsweDhkLDB4ZDAsMHgwMywweDI2LDB4ODAsMHhjZCwweDAwLDB4M2QsMHg1MCwweDBjLDB4OWEsMHgwMywweDY0LDB4MDAsMHhmOSwweGEwIH0gfSwKLXsgIDE2LCAweDhmNzAsIDAsIHsweDdhLDB4NmEsMHgwZiwweDlhLDB4NjMsMHhlNiwweDgwLDB4YzksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweDhmODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwMCwweDg4LDB4ZTAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDhmOTAsIDAsIHsweDA4LDB4ODAsMHgwYSwweDIxLDB4NDIsMHhjOCwweDAwLDB4MmUsMHgyOSwweDBjLDB4YTQsMHg0MiwweDIwLDB4MDAsMHhiOCwweDQwIH0gfSwKLXsgIDE2LCAweDhmYTAsIDAsIHsweDJlLDB4MDAsMHgwYiwweDgxLDB4MDIsMHhlMSwweDAwLDB4ODgsMHgwMiwweDNhLDB4MDEsMHgwYiwweGMwLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweDhmYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMiwweDgxLDB4MDgsMHgyNCwweDQwIH0gfSwKLXsgIDE2LCAweDhmYzAsIDAsIHsweDA5LDB4MTAsMHgwMiwweDA0LDB4MDAsMHg5MSwweDAwLDB4MmMsMHg0MCwweDRiLDB4MTQsMHgwMiwweDQ0LDB4MDAsMHhiNSwweDEwIH0gfSwKLXsgIDE2LCAweDhmZDAsIDAsIHsweDI5LDB4NDAsMHgwYiwweDUwLDB4MDIsMHhmNSwweDAwLDB4YjUsMHgwMCwweDJkLDB4NDAsMHgwYiwweGQwLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweDhmZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTYsMHgwMSwweDg5LDB4MDAsMHgyNiwweDQwIH0gfSwKLXsgIDE2LCAweDhmZjAsIDAsIHsweDA4LDB4OTQsMHgwMiwweDI0LDB4MDEsMHg4OSwweDAwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwMiwweDZjLDB4MDAsMHhiZiwweDAyIH0gfSwKLXsgIDE2LCAweDkwMDAsIDAsIHsweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhmNCwweDAyLDB4YmQsMHg4MCwweDJiLDB4NDAsMHg4YiwweGQ4LDB4M2EsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweDkwMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDUsMHgzNiwweDQxIH0gfSwKLXsgIDE2LCAweDkwMjAsIDAsIHsweDBkLDB4MWMsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MiwweDJmLDB4OTQsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDkwMzAsIDAsIHsweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NzAsMHgwZiwweDEwLDB4MDMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweDkwNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4ODQsMHgwOCwweGY5LDB4MjQsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDkwNTAsIDAsIHsweDBmLDB4OTEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MSwweDBkLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDkwNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NjQsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDkwNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGM4LDB4ODAsMHgzMiwweDAyIH0gfSwKLXsgIDE2LCAweDkwODAsIDAsIHsweDBmLDB4ODAsMHgwMywweDAwLDB4MDAsMHhjOCwweDA4LDB4M2EsMHgxMCwweGNlLDB4ODQsMHgwMywweGUwLDB4MDAsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweDkwOTAsIDAsIHsweDNmLDB4MDAsMHg4ZiwweGMwLDB4MDMsMHhmMCwweDgwLDB4ZmMsMHgwMCwweDNmLDB4MTgsMHgwZiwweGMwLDB4NDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDkwYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4MDAsMHhhMSwweDgwIH0gfSwKLXsgIDE2LCAweDkwYjAsIDAsIHsweDBiLDB4ZTAsMHgwMiwweDI4LDB4MDAsMHhkZSwweGMyLDB4MjMsMHg5MCwweDAwLDB4YTAsMHgwMiwweGU4LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweDkwYzAsIDAsIHsweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDkwZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDk5LDB4ODEsMHg2MCwweGMwIH0gfSwKLXsgIDE2LCAweDkwZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHg5MCwweDEwLDB4MmEsMHhmYywweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDkwZjAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDkxMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHg4MiwweDk1LDB4NDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDkxMTAsIDAsIHsweDBiLDB4NTAsMHgwMiwweDFjLDB4ODAsMHg5MCwweDgwLDB4MjMsMHgwMSwweDA5LDB4NzIsMHgxMiwweGRjLDB4MDAsMHhiNiwweDAwIH0gfSwKLXsgIDE2LCAweDkxMjAsIDAsIHsweDJkLDB4MDAsMHgwYiwweDQwLDB4MDIsMHhkMCwweDAwLDB4YjQsMHgwOSwweDJkLDB4MDAsMHg0YiwweDQwLDB4ODIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDkxMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHg4MCwweGRkLDB4ODAsMHhiMSwweGUwIH0gfSwKLXsgIDE2LCAweDkxNDAsIDAsIHsweDBmLDB4ZGEsMHgwMywweDBmLDB4ODAsMHhkNCwweDgwLDB4MzksMHhlMCwweDBiLDB4N2EsMHgwMywweGRlLDB4MDAsMHhmNSwweDgwIH0gfSwKLXsgIDE2LCAweDkxNTAsIDAsIHsweDNkLDB4MjAsMHgwZiwweDQ4LDB4MDMsMHhkNiwweDEwLDB4ZjYsMHg4MSwweDNkLDB4ZTAsMHg4ZiwweDY4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDkxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGVkLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweDkxNzAsIDAsIHsweDBmLDB4OTEsMHgwYiwweGVjLDB4MTAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDkxODAsIDAsIHsweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlOCwweDAwLDB4ZTksMHgwMSwweDNlLDB4MDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweDkxOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgyMCwweGJmLDB4ODEsMHgzMywweGE0IH0gfSwKLXsgIDE2LCAweDkxYTAsIDAsIHsweDhjLDB4MTksMHgwMywweDNlLDB4MDAsMHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHg4MywweDNlLDB4MDAsMHhlZiwweDgwIH0gfSwKLXsgIDE2LCAweDkxYjAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGY5LDB4MTMsMHhmYSwweDEwLDB4ZmQsMHg4MCwweDNmLDB4YTQsMHgwZiwweGQ4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDkxYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGJmLDB4MjAsMHgzMSwweGMyIH0gfSwKLXsgIDE2LCAweDkxZDAsIDAsIHsweDA4LDB4NWEsMHgwMiwweDNjLDB4MDIsMHg4NywweDAwLDB4MmQsMHg5NCwweDBiLDB4NzAsMHgwYSwweDFjLDB4NDAsMHg4NiwweDEwIH0gfSwKLXsgIDE2LCAweDkxZTAsIDAsIHsweDJkLDB4MDAsMHgwYiwweDQwLDB4MDIsMHhkNCwweDAwLDB4ZjYsMHgwMCwweDJkLDB4NDAsMHg0YiwweDYwLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDkxZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MDEsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweDkyMDAsIDAsIHsweDI4LDB4NTAsMHgwMiwweDFjLDB4MDAsMHg4NCwweDAwLDB4MmQsMHhjMCwweDBiLDB4MzAsMHgwMiwweDFjLDB4MDAsMHhiNSwweDAwIH0gfSwKLXsgIDE2LCAweDkyMTAsIDAsIHsweDJkLDB4MDAsMHgwYiwweDQwLDB4MDYsMHhkMCwweDQwLDB4YjQsMHgwOCwweDJkLDB4ODAsMHgwYiwweDQ4LDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDkyMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDgsMHhhMCwweDIwIH0gfSwKLXsgIDE2LCAweDkyMzAsIDAsIHsweDA4LDB4MTEsMHg4YSwweDBlLDB4MDAsMHg4MCwweDAwLDB4MmMsMHg5MCwweDBiLDB4MzcsMHgwMiwweDBjLDB4MDAsMHg5MCwweDAwIH0gfSwKLXsgIDE2LCAweDkyNDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4NDIsMHhjYywweDA0LDB4YTMsMHg4MCwweDJjLDB4NTAsMHgwYiwweDMwLDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweDkyNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGY5LDB4ODAsMHgzMiwweDYwIH0gfSwKLXsgIDE2LCAweDkyNjAsIDAsIHsweDBjLDB4ZDQsMHgwMywweDNjLDB4ODAsMHg4OCwweDAwLDB4M2UsMHhkMCwweDBmLDB4ZjgsMHgwMywweDI4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweDkyNzAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDcsMHhlYywweDAxLDB4YmIsMHg4MCwweDNlLDB4NTQsMHgwZiwweGIwLDB4MDYsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDkyODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWUsMHgwOCwweGY5LDB4ODAsMHgzYSwweGMwIH0gfSwKLXsgIDE2LCAweDkyOTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVjLDB4MDAsMHhmOCwweDQwLDB4M2UsMHg1OCwweDBmLDB4YjAsMHg0MywweGU5LDB4MDAsMHhlYiwweDQ0IH0gfSwKLXsgIDE2LCAweDkyYTAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDBkLDB4ZjgsMHgwMCwweDNlLDB4ODAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDkyYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGNmLDB4MDAsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweDkyYzAsIDAsIHsweDBjLDB4ZDAsMHgwMywweDNjLDB4MzAsMHhjYywweDAwLDB4M2IsMHhjMCwweDJkLDB4ZjAsMHgwMywweGQ4LDB4MDIsMHhjYywweDAwIH0gfSwKLXsgIDE2LCAweDkyZDAsIDAsIHsweDNkLDB4MDAsMHgwYywweGMwLDB4MDMsMHhmNCwweDAwLDB4ZWUsMHgwMiwweDM3LDB4NDAsMHgwYywweGUwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweDkyZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgxOCwweDgzLDB4ODQsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDkyZjAsIDAsIHsweDRhLDB4MTAsMHgwMiwweDBjLDB4MDAsMHhhOCwweDQ4LDB4MmUsMHg2MCwweDA4LDB4YjAsMHgwMiwweGU5LDB4MDAsMHg4OSwweDQwIH0gfSwKLXsgIDE2LCAweDkzMDAsIDAsIHsweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlOCwweDEwLDB4YjEsMHgwMSwweDIwLDB4ODAsMHgwYSwweDkwLDB4MDMsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweDkzMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4ODIsMHgyMiwweDA4IH0gfSwKLXsgIDE2LCAweDkzMjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDJjLDB4MTQsMHg4OCwweDA0LDB4MmMsMHgwOCwweDA4LDB4YjAsMHgxMiwweGU4LDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDkzMzAsIDAsIHsweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlOCwweDAxLDB4YjksMHgwMCwweDI2LDB4MDQsMHgwOCwweDkwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDkzNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4ODAsMHhhMiwweGMwIH0gfSwKLXsgIDE2LCAweDkzNTAsIDAsIHsweDBhLDB4OTIsMHgwMiwweDJjLDB4MDAsMHhhMiwweDAwLDB4MmMsMHgwMCwweDA4LDB4MzQsMHgwMiwweGM4LDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDkzNjAsIDAsIHsweDJjLDB4MDAsMHgyOCwweDAwLDB4MDIsMHhjNCwweDAxLDB4YmEsMHgwMCwweDIyLDB4YzAsMHgwMiwweDIwLDB4MDYsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDkzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNhLDB4MDAsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweDkzODAsIDAsIHsweDBjLDB4OTIsMHgwYiwweDJjLDB4MDQsMHhjOCwweDA0LDB4M2EsMHgwMCwweDBjLDB4YjQsMHgwMywweGU4LDB4MDAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDkzOTAsIDAsIHsweDJlLDB4MDAsMHgwYywweDgwLDB4MzMsMHhlMSwweDQwLDB4ZTgsMHgwMCwweDM2LDB4MDAsMHgwYywweDgwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweDkzYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZCwweDAwIH0gfSwKLXsgIDE2LCAweDkzYjAsIDAsIHsweDBmLDB4ZDEsMHgwYiwweGZjLDB4MDEsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGQ4LDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweDkzYzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDcsMHhhOCwweDA2IH0gfSwKLXsgIDE2LCAweDkzZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4ZjMsMHgwMCwweGNmLDB4ODAsMHgzNSwweDYwIH0gfSwKLXsgIDE2LCAweDkzZTAsIDAsIHsweDRlLDB4NjgsMHg0MywweDVjLDB4MDAsMHhlNywweDgwLDB4MzksMHhjMCwweDBjLDB4YzEsMHgwMywweDdlLDB4MDAsMHhjZiwweDM0IH0gfSwKLXsgIDE2LCAweDkzZjAsIDAsIHsweDM1LDB4ZTEsMHg0ZCwweGYyLDB4MDMsMHg3YywweDAwLDB4ZGYsMHgzOCwweDNmLDB4YzgsMHgwZiwweGY4LDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDk0MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE4LDB4YzgsMHgwMCwweGRiLDB4ODQsMHgyMiwweDYwIH0gfSwKLXsgIDE2LCAweDk0MTAsIDAsIHsweDA4LDB4YWMsMHgwYSwweDJjLDB4MDAsMHg4YiwweDgwLDB4MjIsMHgzMCwweDA4LDB4OTEsMHgyMiwweDJjLDB4OTAsMHgyNywweDYxIH0gfSwKLXsgIDE2LCAweDk0MjAsIDAsIHsweDIyLDB4Y2EsMHg4OCwweGZjLDB4MjIsMHhiZiwweDAwLDB4OGIsMHg2MiwweDJmLDB4ZDAsMHgwOSwweGI4LDB4MDMsMHhiMCwweDA0IH0gfSwKLXsgIDE2LCAweDk0MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4ZTIsMHg4MCwweGE5LDB4MDIsMHgyNCwweDQwIH0gfSwKLXsgIDE2LCAweDk0NDAsIDAsIHsweDgyLDB4MzQsMHg0MiwweDA0LDB4MDAsMHhhOSwweDAwLDB4MjgsMHhjNSwweDQ4LDB4MzIsMHgwMiwweDRjLDB4MjAsMHg4MywweDMwIH0gfSwKLXsgIDE2LCAweDk0NTAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMxLDB4MDIsMHgwZCwweDAwLDB4YjMsMHgyMCwweDJjLDB4YzQsMHgwYiwweDMwLDB4MDIsMHhmMiwweDAxIH0gfSwKLXsgIDE2LCAweDk0NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4YWEsMHgwMiwweGI5LDB4MDQsMHgyMiwweDYwIH0gfSwKLXsgIDE2LCAweDk0NzAsIDAsIHsweDI4LDB4YjIsMHgwMiwweDI2LDB4MDAsMHg4OSwweDg4LDB4MDIsMHhjMCwweDA4LDB4MzEsMHgxMiwweGVjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweDk0ODAsIDAsIHsweDJhLDB4ZDAsMHgwOCwweGIwLDB4MDIsMHhhYywweDAwLDB4MmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhiMCwweDA0IH0gfSwKLXsgIDE2LCAweDk0OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZTIsMHgwMCwweGUzLDB4MDAsMHgzNiwweDIwIH0gfSwKLXsgIDE2LCAweDk0YTAsIDAsIHsweDBlLDB4YTQsMHg2MywweDZlLDB4MDAsMHhlMSwweGMwLDB4MWEsMHhjMSwweDBjLDB4ODAsMHgwMywweDY4LDB4NzAsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweDk0YjAsIDAsIHsweDM2LDB4ODAsMHgwZCwweGIwLDB4MDMsMHg0YywweDAwLDB4ZmIsMHgwNCwweDNlLDB4YzEsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDk0YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjgsMHgwNCwweGRmLDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweDk0ZDAsIDAsIHsweDBmLDB4ZTgsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHgwMCwweDJiLDB4OTgsMHgwMywweDNhLDB4MDAsMHg3NywweDAwIH0gfSwKLXsgIDE2LCAweDk0ZTAsIDAsIHsweDI3LDB4ZTQsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNlLDB4YzAsMHgwZCwweGYwLDB4NDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDk0ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAwLDB4YTQsMHg2OCwweGNiLDB4MjAsMHgzYSwweDkwIH0gfSwKLXsgIDE2LCAweDk1MDAsIDAsIHsweDBmLDB4MjQsMHhhMywweGFjLDB4MDAsMHhlOSwweDUwLDB4M2EsMHhjMCwweDBlLDB4YjQsMHg4MywweDJjLDB4MDgsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweDk1MTAsIDAsIHsweDNhLDB4OTAsMHgwZSwweGIwLDB4OGIsMHhlYywweDgwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHg5MCwweDA0IH0gfSwKLXsgIDE2LCAweDk1MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDAxLDB4MGEsMHgwMCwweDhiLDB4YTAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweDk1MzAsIDAsIHsweDBkLDB4YTgsMHgwMiwweDJjLDB4MDQsMHg4OSwweDQwLDB4MjgsMHhlOCwweDA4LDB4YjIsMHgwMiwweDJjLDB4MDAsMHhhZiwweDAwIH0gfSwKLXsgIDE2LCAweDk1NDAsIDAsIHsweDAyLDB4ODAsMHgwOCwweDdjLDB4MDMsMHgzZCwweDgwLDB4M2YsMHgwMCwweDJmLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDk1NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDksMHgwMCwweDAzLDB4NDAsMHgyOCwweGMwIH0gfSwKLXsgIDE2LCAweDk1NjAsIDAsIHsweDJiLDB4MjgsMHg0YSwweDI4LDB4MDAsMHhhMSwweDAwLDB4NjgsMHhkMiwweDBhLDB4MjAsMHg0MiwweGE0LDB4MDEsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweDk1NzAsIDAsIHsweDAyLDB4NDAsMHgwYSwweDM0LDB4MDIsMHgwZCwweDAwLDB4MzMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDMwLDB4MDAsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweDk1ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDAxLDB4MWEsMHgwMCwweDg3LDB4OTAsMHgyMSwweGU0IH0gfSwKLXsgIDE2LCAweDk1OTAsIDAsIHsweDJiLDB4YzgsMHgxMiwweDNhLDB4MDAsMHg4NSwweGMwLDB4MmIsMHgyMSwweDI4LDB4NjgsMHgwMiwweGI2LDB4MDAsMHhhNywweDg0IH0gfSwKLXsgIDE2LCAweDk1YTAsIDAsIHsweDIzLDB4NjAsMHgwOCwweDM4LDB4ODAsMHgxZSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweDk1YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGMxLDB4MDAsMHgzOCwweDU0IH0gfSwKLXsgIDE2LCAweDk1YzAsIDAsIHsweDBmLDB4MjYsMHg4MywweDgwLDB4MDAsMHhlMCwweDM0LDB4MjgsMHhjOCwweDBlLDB4MmMsMHgwYiwweDhjLDB4MDAsMHhlMywweDAwIH0gfSwKLXsgIDE2LCAweDk1ZDAsIDAsIHsweDc4LDB4NDUsMHgwZSwweDMwLDB4MDMsMHg4ZSwweDgwLDB4ZjMsMHgwMCwweDNjLDB4YzgsMHgwZSwweDMwLDB4MDMsMHg5MiwweDAyIH0gfSwKLXsgIDE2LCAweDk1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjgsMHgwMCwweGY1LDB4MDIsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweDk1ZjAsIDAsIHsweDBkLDB4OTAsMHgwMywweGY4LDB4MDAsMHhiZCwweDE0LDB4MWYsMHhjMCwweDBmLDB4ZTEsMHgyMywweDVjLDB4NDQsMHg5ZiwweDQyIH0gfSwKLXsgIDE2LCAweDk2MDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGY0LDB4ODIsMHg3ZCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4YzAsMHg0ZiwweDcwLDB4MDcsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDk2MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTgsMHgwMiwweGNiLDB4MDAsMHgzOCwweGMwIH0gfSwKLXsgIDE2LCAweDk2MjAsIDAsIHsweDNjLDB4YTAsMHgwMywweGVjLDB4MDAsMHhlOSwweDAwLDB4M2UsMHhjMCwweDBjLDB4YjAsMHgwMywweDIwLDB4MDQsMHhmYiwweDIxIH0gfSwKLXsgIDE2LCAweDk2MzAsIDAsIHsweDNlLDB4ODAsMHg0ZiwweGI0LDB4MDMsMHhjZiwweDAwLDB4Y2IsMHgwMCwweDNlLDB4Y2MsMHg0ZiwweGIwLDB4NDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDk2NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDkxLDB4OTgsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDk2NTAsIDAsIHsweDA4LDB4NDAsMHgwMiwweGRjLDB4MDQsMHhiNSwweDAwLDB4MmQsMHgwMCwweDJkLDB4NzAsMHgwMiwweDFjLDB4MWMsMHhiNywweDAyIH0gfSwKLXsgIDE2LCAweDk2NjAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhkYywweDAwLDB4ODcsMHg0MCwweDJkLDB4Y2EsMHg4YiwweDcwLDB4MDIsMHhmMiwweDA0IH0gfSwKLXsgIDE2LCAweDk2NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4YmEsMHgwMCwweDg3LDB4ODgsMHgyYiwweGUwIH0gfSwKLXsgIDE2LCAweDk2ODAsIDAsIHsweDE4LDB4NzgsMHgyMiwweGQ2LDB4MTEsMHhhNCwweDgyLDB4MmYsMHhlMCwweDA4LDB4NzgsMHgwMiwweDEyLDB4MDAsMHhiNywweDk0IH0gfSwKLXsgIDE2LCAweDk2OTAsIDAsIHsweDZkLDB4NjAsMHg0YiwweDdhLDB4MDIsMHhkZSwweDQwLDB4YjcsMHhhMCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDYsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDk2YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4YzksMHgxMiwweDgzLDB4ODIsMHgyOCwweGQ0IH0gfSwKLXsgIDE2LCAweDk2YjAsIDAsIHsweDk4LDB4MDAsMHgwNiwweGVmLDB4MDUsMHhiMSwweDkwLDB4MmMsMHhjMSwweDA5LDB4YjQsMHgwMiwweDBjLDB4MDQsMHhiMywweDAxIH0gfSwKLXsgIDE2LCAweDk2YzAsIDAsIHsweDZjLDB4ZjAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDk2ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHg0MCwweGNhLDB4ODAsMHgzYiwweGEwIH0gfSwKLXsgIDE2LCAweDk2ZTAsIDAsIHsweDRjLDB4ZTUsMHgwMiwweGY4LDB4ODAsMHhlZSwweDAwLDB4M2QsMHg4MCwweDJjLDB4ZTAsMHgwZiwweDM4LDB4ODAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweDk2ZjAsIDAsIHsweDNmLDB4YTksMHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4YmEsMHgwMiwweDNlLDB4ODAsMHg4YiwweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDk3MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgxMCwweGY4LDB4MDAsMHgyNiwweDAyIH0gfSwKLXsgIDE2LCAweDk3MTAsIDAsIHsweDBmLDB4ODQsMHgwMywweGUwLDB4MjQsMHhmOCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHhhMywweGUwLDB4MzAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDk3MjAsIDAsIHsweDM2LDB4MDIsMHgwZiwweDgwLDB4MjMsMHhlMCwweDA0LDB4MDgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDk3MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHhiNiwweDQxIH0gfSwKLXsgIDE2LCAweDk3NDAsIDAsIHsweDRlLDB4OTksMHgwYiwweGE0LDB4MDAsMHg2OSwweDEwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGE0LDB4MTAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDk3NTAsIDAsIHsweDNlLDB4NDAsMHgwZCwweDkyLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweDk3NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDgxLDB4MDAsMHgyMCwweDQyIH0gfSwKLXsgIDE2LCAweDk3NzAsIDAsIHsweDA4LDB4MTQsMHg5YSwweDI0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg1MCwweDAwLDB4OTAsMHgwMiwweDI0LDB4MTAsMHhkOSwweDAyIH0gfSwKLXsgIDE2LCAweDk3ODAsIDAsIHsweDZlLDB4NDAsMHgwYiwweDk0LDB4MDMsMHhhNywweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDk3OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDYsMHgwMCwweDk5LDB4MDAsMHhhNiwweDQxIH0gfSwKLXsgIDE2LCAweDk3YTAsIDAsIHsweDBhLDB4OTAsMHgwNiwweDJjLDB4MDAsMHhhOSwweDA5LDB4NmUsMHg1MCwweDA4LDB4OTEsMHgwMiwweDg0LDB4MDQsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweDk3YjAsIDAsIHsweDBlLDB4NDAsMHgwYiwweDk0LDB4MDIsMHhlNSwweDQ5LDB4YjksMHgwMCwweDBhLDB4NDAsMHgwYSwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDk3YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDYsMHgwMCwweDgxLDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweDk3ZDAsIDAsIHsweDA4LDB4MTIsMHgyMiwweDA0LDB4ODEsMHhhMSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MTYsMHgwMiwweDA0LDB4MDAsMHg5MSwweDIwIH0gfSwKLXsgIDE2LCAweDk3ZTAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDEyLDB4NDIsMHg4NCwweDg5LDB4YjEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDk3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4MDAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDk4MDAsIDAsIHsweDBhLDB4ODAsMHgwMywweGExLDB4NDAsMHhlOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4MDAsMHgyMywweGExLDB4NDAsMHhjOCwweDUwIH0gfSwKLXsgIDE2LCAweDk4MTAsIDAsIHsweDJlLDB4MTQsMHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg1MCwweDNhLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweDk4MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDFkLDB4ZDQsMHgwMCwweGY1LDB4MDAsMHhiZiwweDQwIH0gfSwKLXsgIDE2LCAweDk4MzAsIDAsIHsweDBmLDB4ZDEsMHgwMywweGY0LDB4NDQsMHhkZCwweDAyLDB4M2QsMHg1MCwweDJiLDB4ZDEsMHgyMywweGY0LDB4MDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweDk4NDAsIDAsIHsweDNmLDB4NDAsMHgwZCwweDkxLDB4MDMsMHhhNCwweDQ4LDB4ZjksMHgxMiwweDNlLDB4NGUsMHgxZiwweDkwLDB4MDMsMHhhNiwweDAyIH0gfSwKLXsgIDE2LCAweDk4NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGM1LDB4MDQsMHgzYiwweDQwIH0gfSwKLXsgIDE2LCAweDk4NjAsIDAsIHsweDBmLDB4ZDgsMHgwMywweGE3LDB4ODAsMHhmZCwweDAwLDB4YjMsMHg2OCwweDBkLDB4ZDgsMHg0MywweGE1LDB4MTAsMHhjOSwweGEwIH0gfSwKLXsgIDE2LCAweDk4NzAsIDAsIHsweDMyLDB4NTEsMHg0ZiwweDVhLDB4NDMsMHgzNiwweDAwLDB4YzksMHhhMCwweDdhLDB4NjgsMHgwYiwweGQwLDB4MDMsMHhjNiwweDAxIH0gfSwKLXsgIDE2LCAweDk4ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg3OCwweDE4LDB4Y2EsMHg4OCwweDg4LDB4MDIsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweDk4OTAsIDAsIHsweDhkLDB4ODQsMHgyMiwweDIzLDB4NDIsMHhmOCwweDAwLDB4MjIsMHgwNCwweDI4LDB4OGEsMHhhMiwweGFhLDB4OTQsMHg4OCwweGU5IH0gfSwKLXsgIDE2LCAweDk4YTAsIDAsIHsweDIwLDB4YTgsMHgwYSwweDgwLDB4MGEsMHgyMSwweDQwLDB4ODAsMHhlMiwweDJlLDB4MjgsMHgwYiwweDgwLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDk4YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgyMCwweGExLDB4MDQsMHhhOCwweGMwIH0gfSwKLXsgIDE2LCAweDk4YzAsIDAsIHsweDBiLDB4MWMsMHgyYSwweDI0LDB4MDAsMHgzOSwweDA0LDB4MjAsMHg0MCwweDJhLDB4MWUsMHgwMiwweGU0LDB4ODAsMHhiMSwweDEwIH0gfSwKLXsgIDE2LCAweDk4ZDAsIDAsIHsweDJhLDB4NDgsMHgwOSwweDE0LDB4NDYsMHgwNCwweDAwLDB4ODEsMHgzOCwweDJjLDB4NWIsMHgwYiwweDEwLDB4MDIsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDk4ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTQsMHgxMiwweGE5LDB4MjQsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweDk4ZjAsIDAsIHsweDI5LDB4OTAsMHgwMiwweDI0LDB4MDAsMHgzOSwweDAwLDB4MDIsMHg1OCwweDA4LDB4MTgsMHgxMCwweGU2LDB4MDEsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDk5MDAsIDAsIHsweGFhLDB4NDQsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDBlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweDk5MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGUxLDB4MDEsMHgyYSwweDY0IH0gfSwKLXsgIDE2LCAweDk5MjAsIDAsIHsweDJmLDB4OTQsMHgxMywweDI0LDB4MDIsMHg3MSwweDYwLDB4MTIsMHg2MCwweDRkLDB4OTAsMHgwMCwweGM1LDB4MDIsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDk5MzAsIDAsIHsweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHgyNCwweDAyLDB4YzksMHgwMiwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDIsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweDk5NDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDAxLDB4YTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweDk5NTAsIDAsIHsweGFmLDB4OTAsMHg4MywweDY0LDB4ODgsMHhmOSwweDIwLDB4M2UsMHg2MiwweDAzLDB4OTAsMHg4MywweGE0LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDk5NjAsIDAsIHsweDM2LDB4NjAsMHgwZiwweDEwLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDdlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweDk5NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTEsMHgwMCwweGM4LDB4ODIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDk5ODAsIDAsIHsweDZmLDB4MDAsMHgwMywweGEwLDB4MDAsMHhkOCwweDQwLDB4MzAsMHgwMCwweDBlLDB4ODAsMHgwMywweDYwLDB4MDQsMHhmOCwweDAxIH0gfSwKLXsgIDE2LCAweDk5OTAsIDAsIHsweDNlLDB4MTAsMHg0ZiwweDgwLDB4OGIsMHgyMiwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDEsMHgwZSwweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDk5YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4MzgsMHgwMCwweDBlLDB4MDAsMHhhOSwweDkwIH0gfSwKLXsgIDE2LCAweDk5YjAsIDAsIHsweDJmLDB4ZTYsMHgyMCwweDg4LDB4MDAsMHg5ZSwweDgwLDB4MjMsMHg4MCwweDBhLDB4ZTgsMHgwMywweDI4LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweDk5YzAsIDAsIHsweDE4LDB4ODAsMHgwZCwweGVjLDB4MDIsMHgzOCwweDgwLDB4YmEsMHgwMCwweGEyLDB4ODAsMHgwOCwweGEwLDB4MDMsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDk5ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMiwweDgzLDB4ODAsMHgyMCwweGM4IH0gfSwKLXsgIDE2LCAweDk5ZTAsIDAsIHsweDBiLDB4MjAsMHgwMiwweDBjLDB4MDEsMHg5MiwweDEwLDB4NjgsMHhjMCwweDNhLDB4M2MsMHgwMiwweGNjLDB4MTAsMHgzYiwweDAyIH0gfSwKLXsgIDE2LCAweDk5ZjAsIDAsIHsweDBjLDB4YzAsMHgyOCwweDNjLDB4MDIsMHg0ZSwweDAwLDB4YjMsMHgwMCwweDI4LDB4YzAsMHgyOCwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDlhMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTQsMHgwMCwweDg3LDB4NDIsMHgyYiwweGMwIH0gfSwKLXsgIDE2LCAweDlhMTAsIDAsIHsweDI5LDB4NzAsMHgyMiwweDljLDB4MDAsMHhiNiwweDAwLDB4MmIsMHhjMiwweDBhLDB4NjAsMHg4NiwweDFjLDB4MDAsMHhiNywweDIxIH0gfSwKLXsgIDE2LCAweDlhMjAsIDAsIHsweDI5LDB4YzAsMHgwMCwweDc0LDB4MDIsMHg1YywweDAwLDB4MzcsMHg5MSwweDAxLDB4ZTAsMHgwOCwweDc0LDB4MDIsMHhhOCwweDAwIH0gfSwKLXsgIDE2LCAweDlhMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODAsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweDlhNDAsIDAsIHsweDJmLDB4NzgsMHgwMiwweDllLDB4MDAsMHg5NiwweDgwLDB4MzksMHhlMCwweDJlLDB4ZjgsMHgwMywweGRlLDB4MzAsMHhmNywweGQwIH0gfSwKLXsgIDE2LCAweDlhNTAsIDAsIHsweDJkLDB4ZjIsMHgwMCwweDc4LDB4MDMsMHg1MiwweDAwLDB4ZjcsMHhhMiwweDNiLDB4ZTAsMHgwZSwweDc4LDB4MDcsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDlhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YjQsMHgwMCwweGZiLDB4MDAsMHgwYywweGMwIH0gfSwKLXsgIDE2LCAweDlhNzAsIDAsIHsweDBmLDB4MzAsMHgwMywweGVjLDB4MTAsMHhkMywweDAwLDB4YjQsMHhjMCwweDJmLDB4ODAsMHgwMywweDZjLDB4NDgsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDlhODAsIDAsIHsweDNlLDB4YzgsMHg0ZCwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZmIsMHgyMCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweDlhOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGNjLDB4ODAsMHgyYiwweDJjIH0gfSwKLXsgIDE2LCAweDlhYTAsIDAsIHsweDJmLDB4ZjgsMHgwMywweDdlLDB4MDAsMHg2ZSwweDgwLDB4M2IsMHhhMSwweDBkLDB4ZDgsMHg0MywweDNlLDB4MDAsMHhmZiwweDkwIH0gfSwKLXsgIDE2LCAweDlhYjAsIDAsIHsweDMzLDB4ZTAsMHgwZiwweGU5LDB4MzMsMHhmZSwweDAwLDB4Y2YsMHhjMCwweDNmLDB4ZTIsMHgwZiwweGQ4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDlhYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YjQsMHg0MCwweDg3LDB4MDAsMHgyMSwweDA0IH0gfSwKLXsgIDE2LCAweDlhZDAsIDAsIHsweDA4LDB4NzgsMHgwMiwweDFjLDB4MDAsMHg4NiwweDAwLDB4MjEsMHhjMCwweDI4LDB4OTAsMHgwMiwweGRjLDB4MDAsMHhiNywweDEwIH0gfSwKLXsgIDE2LCAweDlhZTAsIDAsIHsweDIxLDB4YzAsMHgwZiwweDczLDB4MDIsMHhjYywweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDlhZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWQsMHgwMCwweGE0LDB4MDAsMHgyOSwweDQ4IH0gfSwKLXsgIDE2LCAweDliMDAsIDAsIHsweDZhLDB4ZjAsMHg4MiwweDRjLDB4MDAsMHhhZSwweDAwLDB4YTEsMHhjNCwweDI5LDB4NzQsMHgwMiwweDVjLDB4NDAsMHhhMywweDEwIH0gfSwKLXsgIDE2LCAweDliMTAsIDAsIHsweDYxLDB4YzIsMHgwYiwweDYwLDB4MDYsMHhjOCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhjMCwweDA0IH0gfSwKLXsgIDE2LCAweDliMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4ZTYsMHgwMSwweGEzLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDliMzAsIDAsIHsweDI4LDB4M2MsMHgwMiwweDBjLDB4MDAsMHg4MywweDQyLDB4MjAsMHhjOCwweDA4LDB4MTAsMHgwMiwweGNkLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDliNDAsIDAsIHsweDI4LDB4ZjAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAxLDB4ODMsMHgwNCwweDJjLDB4YzAsMHg4MywweDEwLDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweDliNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWEsMHg4MCwweGViLDB4MDAsMHgzOCwweGMwIH0gfSwKLXsgIDE2LCAweDliNjAsIDAsIHsweDBhLDB4OTAsMHgwMywweDdjLDB4MjIsMHhhMiwweDQwLDB4MzIsMHg0OCwweDBkLDB4YjAsMHgwYiwweDNlLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDliNzAsIDAsIHsweDMzLDB4ZjQsMHgwZiwweDkwLDB4MDMsMHhlYywweDAwLDB4OGYsMHgwMiwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDliODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTAsMHgwMCwweGQ5LDB4MDIsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDliOTAsIDAsIHsweDBlLDB4YjYsMHgwMywweGVjLDB4MDAsMHhmYSwweDIwLDB4M2UsMHhjMCwweDRmLDB4MjQsMHgyMywweGFjLDB4NjAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDliYTAsIDAsIHsweGE2LDB4YzAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzEsMHgwZiwweDkwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDliYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjgsMHgwMiwweGNmLDB4MDAsMHgzMywweGUwIH0gfSwKLXsgIDE2LCAweDliYzAsIDAsIHsweDJjLDB4ZjAsMHgxMywweGJjLDB4MDAsMHgyZSwweDEwLDB4YjEsMHg2NCwweDJlLDB4ZjAsMHgwMiwweDNjLDB4MDAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweDliZDAsIDAsIHsweDNmLDB4YzEsMHg0ZCwweGVjLDB4NjMsMHhmZSwweDAwLDB4YjcsMHgwMCwweDNiLDB4YzAsMHgwYywweGQ4LDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweDliZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NmMsMHgyOCwweDgxLDB4ODEsMHgyMiwweGUwIH0gfSwKLXsgIDE2LCAweDliZjAsIDAsIHsweDBhLDB4MzgsMHgwMiwweDNjLDB4MDQsMHhiYSwweGM5LDB4MzIsMHhlMCwweDIwLDB4ODQsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDljMDAsIDAsIHsweDJlLDB4YzAsMHgwYiwweDljLDB4MDIsMHhlNywweDgxLDB4YmIsMHgwNCwweDIyLDB4YzAsMHgwYSwweDk5LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDljMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjgsMHg0MCwweDg4LDB4ODAsMHgyMiwweDg4IH0gfSwKLXsgIDE2LCAweDljMjAsIDAsIHsweDI4LDB4YmMsMHg0MiwweGFjLDB4MDAsMHhiYSwweDAwLDB4MmEsMHg4MCwweDA4LDB4ODQsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDljMzAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4ODIsMHhlOCwweDkwLDB4YWIsMHgwMCwweDYyLDB4YzAsMHgwOCwweGIwLDB4MTIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDljNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDAsMHgwMCwweDg5LDB4MDAsMHgyYSwweDgwIH0gfSwKLXsgIDE2LCAweDljNTAsIDAsIHsweDI4LDB4YjIsMHgwMiwweDBjLDB4MDAsMHhiYSwweDAwLDB4MjAsMHhjMCwweDA4LDB4MDAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDljNjAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MjAsMHg0YywweDE0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDljNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwMCwweGM4LDB4MDAsMHhiMiwweGMwIH0gfSwKLXsgIDE2LCAweDljODAsIDAsIHsweDJjLDB4YjIsMHgwMywweGFjLDB4MDAsMHhmYSwweDAwLDB4M2EsMHhjMCwweDRlLDB4YTUsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDljOTAsIDAsIHsweDNmLDB4YzAsMHgwOSwweGEwLDB4MDMsMHhlOSwweDA0LDB4ZWYsMHgwMCwweGJhLDB4YzAsMHgwYywweGIwLDB4MDEsMHhjMCwweDAxIH0gfSwKLXsgIDE2LCAweDljYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZmMsMHgwMCwweGY1LDB4MDAsMHgzNSwweGMwIH0gfSwKLXsgIDE2LCAweDljYjAsIDAsIHsweGFmLDB4MzQsMHgwMywweGZjLDB4MDAsMHhmNCwweDAwLDB4MzksMHhjMCwweDBmLDB4YzIsMHgwMywweDdjLDB4MDAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweDljYzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweGEwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA1IH0gfSwKLXsgIDE2LCAweDljZDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGZmLDB4MjksMHgzZCwweDIwIH0gfSwKLXsgIDE2LCAweDljZTAsIDAsIHsweDhlLDB4YzEsMHgwMywweDMyLDB4NDgsMHhkYywweDgwLDB4MjMsMHgyNSwweDBlLDB4ZjIsMHgwMywweDNjLDB4YzAsMHhkZiwweDg0IH0gfSwKLXsgIDE2LCAweDljZjAsIDAsIHsweDMzLDB4YzksMHgwZiwweGYyLDB4MDMsMHhmYywweDAwLDB4Y2YsMHg4MCwweDMzLDB4NDAsMHgwYywweGYyLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDlkMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHhjMCwweGJiLDB4NjAsMHgyZSwweDA4IH0gfSwKLXsgIDE2LCAweDlkMTAsIDAsIHsweDA4LDB4ODEsMHgwMiwweDIwLDB4MDQsMHg4OCwweDIwLDB4MjAsMHg0OCwweDA4LDB4ZjEsMHg4MiwweDJkLDB4YzAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDlkMjAsIDAsIHsweDIyLDB4ZDQsMHgwOSwweGY1LDB4MDIsMHhmYywweDA4LDB4OGIsMHgwMSwweDIyLDB4NDAsMHgyOCwweGI0LDB4MDIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweDlkMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgyMCwweGIzLDB4MDksMHgyYywweDgyIH0gfSwKLXsgIDE2LCAweDlkNDAsIDAsIHsweDA4LDB4MTAsMHgxNiwweGEwLDB4MTAsMHg5MCwweDA4LDB4MjgsMHg0OCwweDBhLDB4MzIsMHgwMiwweDBjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDlkNTAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAyLDB4OTMsMHgwMSwweDIwLDB4MDAsMHg4YSwweDMxLDB4MjIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweDlkNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwNCwweGJiLDB4MDAsMHgyYywweDgwIH0gfSwKLXsgIDE2LCAweDlkNzAsIDAsIHsweDA4LDB4ODYsMHgwMiwweGEwLDB4MjAsMHhhMCwweDAwLDB4MmEsMHg2MCwweDBhLDB4YjAsMHgxMCwweDJjLDB4MDAsMHhhYiwweDBjIH0gfSwKLXsgIDE2LCAweDlkODAsIDAsIHsweDZlLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjYywweDAwLDB4OWIsMHgwMCwweDIyLDB4NjAsMHgwYSwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweDlkOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMCwweGJiLDB4MDAsMHgzZSwweDM0IH0gfSwKLXsgIDE2LCAweDlkYTAsIDAsIHsweDA4LDB4YTAsMHgwYiwweDgzLDB4MDAsMHhkOSwweDAyLDB4M2EsMHhlMCwweDJlLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhmOCwweDgwIH0gfSwKLXsgIDE2LCAweDlkYjAsIDAsIHsweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4Y2EsMHg0MCwweGIyLDB4NzIsMHgwZSwweGIwLDB4MGIsMHhjMCwweDA0IH0gfSwKLXsgIDE2LCAweDlkYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmMsMHgxMCwweGZiLDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweDlkZDAsIDAsIHsweDBkLDB4ZjgsMHgxMywweDcwLDB4NDgsMHhkZCwweDQwLDB4MzcsMHhjMiwweDhkLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhkZCwweGM4IH0gfSwKLXsgIDE2LCAweDlkZTAsIDAsIHsweDEzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWUsMHg0MCwweDdmLDB4NDAsMHgwZCwweDcwLDB4MDMsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweDlkZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDEsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDllMDAsIDAsIHsweDA0LDB4MTAsMHgwMywweDIwLDB4NDAsMHhlOCwweDEwLDB4M2EsMHhjMCwweDBkLDB4YjAsMHgwMywweGFjLDB4MDgsMHhmOCwweDQwIH0gfSwKLXsgIDE2LCAweDllMTAsIDAsIHsweGIyLDB4YzAsMHgyYywweGIwLDB4MzMsMHhhNCwweDgyLDB4ZGEsMHg0MCwweGJhLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDllMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2MsMHgwOCwweGJmLDB4ODAsMHgyMiwweGM4IH0gfSwKLXsgIDE2LCAweDllMzAsIDAsIHsweDA4LDB4YjcsMHgwMCwweDIzLDB4NDQsMHg4OCwweGQwLDB4MjIsMHhkMCwweDA4LDB4NzAsMHg4MiwweGZjLDB4MDAsMHhiMiwweGUwIH0gfSwKLXsgIDE2LCAweDllNDAsIDAsIHsweDAzLDB4ZjQsMHgwOCwweGY1LDB4MDIsMHgzNywweDA0LDB4OGIsMHhkMSwweDIyLDB4NjAsMHg0YiwweGZkLDB4MDIsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweDllNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MTAsMHhhNCwweDQwIH0gfSwKLXsgIDE2LCAweDllNjAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDQ4LDB4MDAsMHhhMCwweDQyLDB4MmEsMHhkMCwweDAxLDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweDllNzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDMxLDB4MDIsMHhjYywweDAwLDB4ODksMHgwMCwweDIyLDB4ZTgsMHgwMywweDM4LDB4MDIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDllODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyNywweDY0IH0gfSwKLXsgIDE2LCAweDllOTAsIDAsIHsweDY4LDB4NGEsMHgwMiwweDUyLDB4MDAsMHg4YywweDgwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweDllYTAsIDAsIHsweDJkLDB4ZTIsMHgxOSwweDM5LDB4MDIsMHg1ZSwweDMwLDB4ODUsMHg5OCwweDIxLDB4ZTQsMHgwYiwweDc5LDB4MDIsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweDllYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYzLDB4MjAsMHgzNCwweDAwIH0gfSwKLXsgIDE2LCAweDllYzAsIDAsIHsweDBjLDB4YjgsMHgwMywweDQ4LDB4ODAsMHhlMiwweDIyLDB4MzgsMHhjMCwweDBkLDB4MzAsMHgwMywweDhjLDB4MDAsMHhmMywweDAwIH0gfSwKLXsgIDE2LCAweDllZDAsIDAsIHsweDNlLDB4YzAsMHgwZCwweDMxLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgwMCwweDM4LDB4MDYsMHgwZiwweDMwLDB4ODMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweDllZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzYiwweDAxIH0gfSwKLXsgIDE2LCAweDllZjAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDkwLDB4MDAsMHhmNiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwMSwweGZjLDB4MDAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweDlmMDAsIDAsIHsweDMzLDB4YzIsMHgwZSwweGY1LDB4MTMsMHhiYywweDAwLDB4ZWQsMHgwMCwweDNmLDB4YzQsMHgwZiwweGYwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDlmMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwIH0gfSwKLXsgIDE2LCAweDlmMjAsIDAsIHsweDBlLDB4YTAsMHgwMSwweDY0LDB4MDEsMHhkOCwweDAwLDB4MzIsMHhlMCwweDJjLDB4YjUsMHgwMywweDJjLDB4MDAsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweDlmMzAsIDAsIHsweDdhLDB4YzAsMHgwZCwweGI0LDB4MDMsMHgyZCwweDgwLDB4YzksMHgwMiwweDMyLDB4YzAsMHgwYywweGIwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweDlmNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHg4MCwweGI3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweDlmNTAsIDAsIHsweDBkLDB4NjAsMHgwMiwweGQwLDB4MDEsMHg4NCwweDAwLDB4MjEsMHhjMCwweDA4LDB4MzAsMHgwMiwweDFkLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweDlmNjAsIDAsIHsweDIxLDB4YzgsMHgwYiwweGY0LDB4MDMsMHgxZSwweGMwLDB4ODYsMHgwMCwweDIxLDB4YzAsMHgwOCwweDdjLDB4MDMsMHg1MiwweDA0IH0gfSwKLXsgIDE2LCAweDlmNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHhjMCwweGI3LDB4OTAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweDlmODAsIDAsIHsweDA4LDB4NzgsMHgwNiwweGQ2LDB4MDEsMHhiNCwweDgyLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwYSwweDFlLDB4MDAsMHhiNSwweGMwIH0gfSwKLXsgIDE2LCAweDlmOTAsIDAsIHsweDI5LDB4ZTgsMHgwOSwweDc4LDB4MDIsMHgzNiwweGMxLDB4OTcsMHg4MCwweDI4LDB4YjAsMHgwYSwweDdhLDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDlmYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGJiLDB4MDAsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweDlmYjAsIDAsIHsweDA5LDB4MzUsMHg4MiwweGMwLDB4YzEsMHhhMCwweDUxLDB4MjAsMHhlNCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiYiwweGM0IH0gfSwKLXsgIDE2LCAweDlmYzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwNiwweDAwLDB4OTMsMHgxOCwweGFhLDB4YjAsMHgyYSwweDMwLDB4MGEsMHg1MiwweDA0IH0gfSwKLXsgIDE2LCAweDlmZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDEsMHgzZCwweGFjIH0gfSwKLXsgIDE2LCAweDlmZTAsIDAsIHsweDRjLDB4ZWMsMHgxMywweDc4LDB4MTAsMHhmNiwweDgwLDB4YjMsMHg5MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAsMHhmZSwweDAwIH0gfSwKLXsgIDE2LCAweDlmZjAsIDAsIHsweDNhLDB4ODEsMHgwZCwweGEwLDB4MGYsMHgyYSwweDgwLDB4ZGUsMHgwNCwweDNiLDB4YTAsMHgwZSwweGEwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGEwMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGEwMTAsIDAsIHsweDBkLDB4ODAsMHgwMiwweGUxLDB4MDAsMHhkOCwweDQ4LDB4M2UsMHgxMiwweDBmLDB4ODAsMHgxMywweDYwLDB4MDAsMHhmOCwweDYwIH0gfSwKLXsgIDE2LCAweGEwMjAsIDAsIHsweDNlLDB4MDAsMHgwNywweDgwLDB4MDMsMHhhMCwweDAyLDB4ZTgsMHgwNCwweDI2LDB4MDgsMHgwNSwweDgwLDB4MDMsMHg5MiwweDAwIH0gfSwKLXsgIDE2LCAweGEwMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDQsMHgzYSwweDQwIH0gfSwKLXsgIDE2LCAweGEwNDAsIDAsIHsweDBjLDB4MTIsMHgwMywweDI0LDB4ODIsMHhjOSwweDAwLDB4MzYsMHg0NCwweDBmLDB4MTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGEwNTAsIDAsIHsweDM2LDB4NDAsMHgwNCwweDkwLDB4MDMsMHgwNCwweDAwLDB4YzksMHgwMCwweDEyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGEwNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4ODEsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGEwNzAsIDAsIHsweDA4LDB4OTAsMHgxYSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg2OCwweDBiLDB4OTksMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGEwODAsIDAsIHsweDIyLDB4NDAsMHg2OCwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODksMHgwMCwweGEyLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGEwOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MTAsMHgyMiwweGUwIH0gfSwKLXsgIDE2LCAweGEwYTAsIDAsIHsweDA4LDB4OTQsMHgwMCwweDA0LDB4MDQsMHg4YiwweDA4LDB4MjYsMHhjMCwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDQsMHhiOSwweDBjIH0gfSwKLXsgIDE2LCAweGEwYjAsIDAsIHsweDI0LDB4NDAsMHgwYSwweDEwLDB4MDIsMHgyNCwweDAwLDB4MjMsMHgwMiwweDJhLDB4NDAsMHhhOCwweDEwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGEwYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg5MCwweGIxLDB4MjAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGEwZDAsIDAsIHsweDA4LDB4MTIsMHgwMiwweDBjLDB4MTAsMHg4MSwweDAyLDB4YTAsMHg1MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHhiMSwweDA1IH0gfSwKLXsgIDE2LCAweGEwZTAsIDAsIHsweDAwLDB4NDgsMHgwYSwweDEwLDB4MDIsMHgwNCwweGEwLDB4YTEsMHgwMCwweDI4LDB4NGEsMHgwOCwweDEyLDB4MDAsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGEwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4NTAsMHhiYSwweDE0IH0gfSwKLXsgIDE2LCAweGExMDAsIDAsIHsweDBjLDB4ODUsMHgwMywweDAxLDB4NDIsMHhjOCwweDUwLDB4MzQsMHgwMCwweDBmLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGExMTAsIDAsIHsweDM2LDB4MDAsMHgwZSwweDgwLDB4MTMsMHgyMCwweDgwLDB4ZTAsMHgwMCwweDFhLDB4MDgsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGExMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHg0NCwweGY5LDB4MTAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGExMzAsIDAsIHsweDJmLDB4ZDEsMHgxMywweGY0LDB4MDQsMHhmNSwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTEsMHgwYiwweGU0LDB4NDAsMHhmZiwweDI4IH0gfSwKLXsgIDE2LCAweGExNDAsIDAsIHsweGJlLDB4NGUsMHgwZCwweDk2LDB4ODMsMHhkNCwweGEyLDB4ZGQsMHgyOCwweDM3LDB4NGEsMHgwZiwweDkzLDB4ODMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGExNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDA1LDB4ZTQsMHgxMCwweGNkLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGExNjAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDM1LDB4MDIsMHg1ZCwweDAxLDB4MzEsMHg0NCwweDBmLDB4ZDAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGExNzAsIDAsIHsweDMyLDB4NjAsMHgwYywweDk4LDB4ODMsMHhlNiwweDQwLDB4ZDksMHgwMCwweDM2LDB4NmEsMHgwYywweDllLDB4ODMsMHgyNiwweDAxIH0gfSwKLXsgIDE2LCAweGExODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwMCwweDg4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGExOTAsIDAsIHsweDBiLDB4ODAsMHg0MiwweDAyLDB4ODAsMHg4YSwweDAwLDB4MjIsMHgyMCwweDg4LDB4ODAsMHgwMywweDIwLDB4MDgsMHhiOCwweDgyIH0gfSwKLXsgIDE2LCAweGExYTAsIDAsIHsweDIyLDB4MjEsMHgwOCwweDg4LDB4ODIsMHhlMiwweDQyLDB4ODgsMHhhOCwweDIyLDB4MjAsMHgwOCwweGNlLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGExYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMiwweDgxLDB4MDAsMHg2OCwweDQwIH0gfSwKLXsgIDE2LCAweGExYzAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDg0LDB4MDEsMHhiOSwweDAwLDB4MjAsMHg0MCwweDQ5LDB4MTAsMHgwYSwweDA0LDB4MDAsMHhiNSwweDA4IH0gfSwKLXsgIDE2LCAweGExZDAsIDAsIHsweDIxLDB4NDYsMHgwOCwweDUwLDB4MDIsMHhkNCwweDAwLDB4OGQsMHgyMCwweDI1LDB4NGEsMHgwYiwweDUwLDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGExZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgwMCwweDg5LDB4MDQsMHg2ZSwweDU0IH0gfSwKLXsgIDE2LCAweGExZjAsIDAsIHsweDBiLDB4MTAsMHgxMiwweGE0LDB4MDEsMHhhOSwweDAwLDB4YTIsMHg0MCwweDE4LDB4OTAsMHgxNiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGEyMDAsIDAsIHsweDIzLDB4NDAsMHgxOCwweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHg0MCwweDIxLDB4NGEsMHgwYiwweGQwLDB4MDIsMHg0NiwweDA0IH0gfSwKLXsgIDE2LCAweGEyMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzYSwweDUwIH0gfSwKLXsgIDE2LCAweGEyMjAsIDAsIHsweDhmLDB4OTYsMHgwYiwweDg0LDB4MDIsMHhmMSwweDAxLDB4MzAsMHg0OCwweDhkLDB4OTAsMHgwMywweDI0LDB4MTAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGEyMzAsIDAsIHsweGIyLDB4NDAsMHgyYywweDkwLDB4MDMsMHhlNiwweDQwLDB4ZDEsMHhjMCwweDM2LDB4NTAsMHgyZiwweDkwLDB4MGIsMHg2OCwweDA0IH0gfSwKLXsgIDE2LCAweGEyNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweGEyNTAsIDAsIHsweDBmLDB4OTksMHhjMywweDY0LDB4MDAsMHhkOSwweDI4LDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDQwIH0gfSwKLXsgIDE2LCAweGEyNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDIwLDB4ZjksMHg0MCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGEyNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDEsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweGEyODAsIDAsIHsweDhmLDB4ODAsMHgwMywweGUwLDB4MDIsMHhmOCwweDA0LDB4MzIsMHgwMCwweDBkLDB4ODAsMHg0MywweDIwLDB4MDIsMHhjYywweDAwIH0gfSwKLXsgIDE2LCAweGEyOTAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGMwLDB4MTMsMHg5MCwweDAyLDB4ZGMsMHg0MCwweDNmLDB4MTAsMHg0YywweGMwLDB4MjMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGEyYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGEyYjAsIDAsIHsweDBiLDB4ZTgsMHgyMCwweGY4LDB4MDAsMHg0ZSwweGMwLDB4MjMsMHhhMCwweDA4LDB4YTAsMHgwMywweDY4LDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGEyYzAsIDAsIHsweDJlLDB4ODAsMHgxZiwweGEwLDB4MDIsMHgyYSwweDA2LDB4OGEsMHgwMCwweDJlLDB4YTAsMHgwMiwweDYwLDB4MDMsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGEyZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGEyZTAsIDAsIHsweDBiLDB4M2QsMHgwMiwweGMwLDB4MDMsMHgyMywweDAwLDB4MjAsMHhlMCwweDAxLDB4YjAsMHgwNiwweDRjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGEyZjAsIDAsIHsweDJlLDB4YzAsMHg0YiwweDMwLDB4MDIsMHg4ZSwweDA4LDB4ODMsMHg4MCwweDJjLDB4YzQsMHgwMCwweDM0LDB4OGUsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGEzMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHg4MCwweGI1LDB4ODAsMHg2MSwweGMwIH0gfSwKLXsgIDE2LCAweGEzMTAsIDAsIHsweDBiLDB4NDAsMHgwMiwweGQ0LDB4MDAsMHg4NCwweDA4LDB4MjMsMHhjMiwweDA4LDB4NTAsMHgwMiwweDVlLDB4YzAsMHg4NCwweDAxIH0gfSwKLXsgIDE2LCAweGEzMjAsIDAsIHsweDJkLDB4MDAsMHg4YSwweDA4LDB4MDIsMHgxMCwweDI0LDB4ODQsMHgwOCwweDZkLDB4MDAsMHgwYSwweDAzLDB4MTIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGEzMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY1LDB4ODIsMHgyMSwweDYwIH0gfSwKLXsgIDE2LCAweGEzNDAsIDAsIHsweDBmLDB4NzgsMHgwMywweGQ2LDB4MDQsMHhhZSwweDgwLDB4MzEsMHhlMCwweDBkLDB4NTgsMHgyMywweDdlLDB4MDAsMHhjNiwweDgwIH0gfSwKLXsgIDE2LCAweGEzNTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDMsMHg4ZSwweDAwLDB4ZDcsMHg4MiwweDNkLDB4ZjAsMHgwYywweDdhLDB4MDMsMHg2YSwweDAyIH0gfSwKLXsgIDE2LCAweGEzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGYxLDB4MDAsMHhiYSwweGQ4IH0gfSwKLXsgIDE2LCAweGEzNzAsIDAsIHsweDBmLDB4ODAsMHgwMywweGU0LDB4MTIsMHhmOCwweDAwLDB4YmUsMHg4MCwweDBlLDB4MTAsMHgwMywweGVjLDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGEzODAsIDAsIHsweDNlLDB4MDAsMHg1ZiwweDgwLDB4MDMsMHhlMCwweDA4LDB4ZjgsMHgwNCwweDNjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGEzOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgyMCwweGZmLDB4ODAsMHgzZiwweGYwIH0gfSwKLXsgIDE2LCAweGEzYTAsIDAsIHsweDBmLDB4ZjgsMHgwMywweGQyLDB4MDAsMHhlZiwweDg0LDB4YjMsMHg2MSwweDBjLDB4YjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwIH0gfSwKLXsgIDE2LCAweGEzYjAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGY4LDB4MTMsMHgyMiwweDExLDB4Y2QsMHg5MCwweDNmLDB4NjAsMHgwYywweGU4LDB4MDMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGEzYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGY1LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGEzZDAsIDAsIHsweDBiLDB4MDAsMHgwMiwweGQ0LDB4MDQsMHg4NCwweDIwLDB4MjMsMHg0MCwweDA4LDB4NWEsMHgwMiwweGRjLDB4MDAsMHhiNCwweDAwIH0gfSwKLXsgIDE2LCAweGEzZTAsIDAsIHsweDIxLDB4MDAsMHgyOCwweGMyLDB4MDIsMHgxZSwweDA0LDB4ODYsMHgwNCwweDJkLDB4ODgsMHgwOCwweGQwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGEzZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OWMsMHgwMCwweGI1LDB4MDAsMHgyZCwweDQwIH0gfSwKLXsgIDE2LCAweGE0MDAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGY0LDB4MjAsMHhhNywweDA0LDB4MjEsMHhjMCwweDBhLDB4NTAsMHgwMiwweGRjLDB4MDAsMHhiZSwweDAwIH0gfSwKLXsgIDE2LCAweGE0MTAsIDAsIHsweDIxLDB4YzAsMHgwOCwweDcwLDB4MTIsMHgwMCwweDAwLDB4ODUsMHgwMCwweDJkLDB4NDAsMHg4OCwweDY4LDB4MGEsMHgwNCwweDAwIH0gfSwKLXsgIDE2LCAweGE0MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4Y2MsMHgwMCwweGExLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGE0MzAsIDAsIHsweDFiLDB4MDgsMHgwNiwweGM0LDB4MjAsMHg4MCwweDAwLDB4MjAsMHg5OCwweDFhLDB4MTAsMHgwMiwweGNjLDB4MDAsMHhiMSwweDA4IH0gfSwKLXsgIDE2LCAweGE0NDAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwYywweDAxLDB4ODIsMHhjMCwweDJjLDB4YWMsMHgyOCwweDkwLDB4MjIsMHgxOCwweDA0IH0gfSwKLXsgIDE2LCAweGE0NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGIzLDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGE0NjAsIDAsIHsweDBmLDB4YmEsMHgwMywweGU1LDB4MDIsMHhlOSwweDA0LDB4MzIsMHg5MCwweGFlLDB4YjAsMHgwMywweGZjLDB4MTAsMHhmYiwweDQwIH0gfSwKLXsgIDE2LCAweGE0NzAsIDAsIHsweGIyLDB4MDAsMHgwYywweDgwLDB4MGIsMHgyYywweDAyLDB4ODIsMHgxOCwweDNmLDB4YTAsMHgwYywweGQwLDB4MDMsMHgyZSwweDA0IH0gfSwKLXsgIDE2LCAweGE0ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ZWMsMHgwNCwweGZiLDB4MDEsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGE0OTAsIDAsIHsweDBmLDB4YjYsMHg0MywweGU0LDB4MDAsMHhmOCwweDAwLDB4M2UsMHg4MCwweDAxLDB4OTAsMHgwMywweGVjLDB4MDAsMHhmOCwweDgxIH0gfSwKLXsgIDE2LCAweGE0YTAsIDAsIHsweDNlLDB4ZDAsMHgwZCwweGI0LDB4NTMsMHhlMCwweDAwLDB4ZjksMHg0MCwweDNlLDB4NDAsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGE0YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZGMsMHgwMiwweGNkLDB4ODAsMHgzMywweDYwIH0gfSwKLXsgIDE2LCAweGE0YzAsIDAsIHsweDJjLDB4ZGEsMHgwMywweGZjLDB4MDAsMHhlYywweDAwLDB4MzMsMHg0MCwweDBmLDB4ZjIsMHgwMywweDdjLDB4MDQsMHhmZSwweDAwIH0gfSwKLXsgIDE2LCAweGE0ZDAsIDAsIHsweDMyLDB4MDAsMHgwYywweGM4LDB4MDMsMHgzYywweDAwLDB4Y2UsMHgwMCwweDMxLDB4ODAsMHgwYywweGQxLDB4MDMsMHgyNCwweDA0IH0gfSwKLXsgIDE2LCAweGE0ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MSwweDA0LDB4NmMsMHgwMCwweDA5LDB4MDAsMHgyYSwweDY0IH0gfSwKLXsgIDE2LCAweGE0ZjAsIDAsIHsweDA4LDB4OGUsMHgwMiwweGMyLDB4MTAsMHhhMCwweDEwLDB4M2UsMHgxMCwweDBiLDB4OTgsMHgwMiwweGVjLDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGE1MDAsIDAsIHsweDAyLDB4ZDgsMHgwOCwweGJlLDB4MjIsMHgyMCwweDAwLDB4ODksMHgwMCwweDIyLDB4NTAsMHgwOCwweGEwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGE1MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDBiLDB4MjAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGE1MjAsIDAsIHsweDA4LDB4YTAsMHgwMiwweGU1LDB4NDIsMHhhYiwweDA0LDB4MjIsMHgxOCwweDBiLDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGE1MzAsIDAsIHsweDIwLDB4MDQsMHgwOCwweDAxLDB4MDIsMHgwMCwweDA0LDB4YTgsMHg0MCwweDIyLDB4MTAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGE1NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwOCwweDgzLDB4MDAsMHgyOCwweDQwIH0gfSwKLXsgIDE2LCAweGE1NTAsIDAsIHsweDA4LDB4MDQsMHgwMiwweGM0LDB4MDIsMHhhOCwweDAwLDB4MmMsMHgwMCwweDBiLDB4MTIsMHgwMiwweGNjLDB4MDAsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGE1NjAsIDAsIHsweDIwLDB4YzAsMHg0MCwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCwweGE4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwMiwweDExIH0gfSwKLXsgIDE2LCAweGE1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBkLDB4NmMsMHgwMCwweGM5LDB4MDAsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweGE1ODAsIDAsIHsweDBjLDB4YjAsMHgwMywweGVjLDB4MDIsMHhlYiwweDAwLDB4MzIsMHg0MCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGE1OTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDgwLDB4YzgsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAzIH0gfSwKLXsgIDE2LCAweGE1YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGE1YjAsIDAsIHsweDBmLDB4YzIsMHgxMywweGYwLDB4MDAsMHhmNCwweDAwLDB4M2YsMHgwMCwweDRmLDB4ZDQsMHgwMywweGZjLDB4MDAsMHhmNSwweDAwIH0gfSwKLXsgIDE2LCAweGE1YzAsIDAsIHsweDNmLDB4YzAsMHg4ZiwweGYwLDB4MDMsMHhmYywweDQwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgyZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGE1ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHgwMCwweGNjLDB4MDAsMHgzMywweDAwIH0gfSwKLXsgIDE2LCAweGE1ZTAsIDAsIHsweDBlLDB4ZDAsMHgwYiwweDMzLDB4MDAsMHhjYywweDAwLDB4MzMsMHhlMCwweDBmLDB4YzAsMHg4MywweDdjLDB4MDAsMHhjZiwweDIwIH0gfSwKLXsgIDE2LCAweGE1ZjAsIDAsIHsweDdiLDB4MDksMHg4YywweGY4LDB4MDMsMHhmZSwweDUwLDB4Y2YsMHgzOCwweDNmLDB4ZTEsMHgwZCwweGMyLDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGE2MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTIsMHgwMCwweDk4LDB4MDgsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGE2MTAsIDAsIHsweDA4LDB4OTgsMHgwMiwweDIwLDB4MDAsMHg4OCwweGQwLDB4MjIsMHhlMCwweDBlLDB4YjQsMHgyMiwweDdkLDB4MTksMHg5ZiwweDY5IH0gfSwKLXsgIDE2LCAweGE2MjAsIDAsIHsweDJlLDB4OTAsMHgwOCwweDMwLDB4OTIsMHgyOCwweDgxLDB4ZGIsMHg2NCwweDJlLDB4ZTEsMHg4OCwweDE2LDB4YTIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweGE2MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHgwMCwweDkwLDB4MjQsMHgyMCwweDAxIH0gfSwKLXsgIDE2LCAweGE2NDAsIDAsIHsweDA4LDB4MTAsMHgxNiwweDAwLDB4ODIsMHg4MywweDAxLDB4MjgsMHhjMSwweDBiLDB4MDIsMHg4MiwweDBjLDB4ZTAsMHhhMywweDEwIH0gfSwKLXsgIDE2LCAweGE2NTAsIDAsIHsweDI4LDB4MGUsMHgxYiwweDkyLDB4MDIsMHg4NCwweDg0LDB4OTMsMHgyMCwweDJlLDB4YzAsMHgwOCwweDMxLDB4MDIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweGE2NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTgsMHgxMCwweDk4LDB4MDAsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGE2NzAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDAwLDB4NjAsMHg4YSwweDEwLDB4MmEsMHhjMCwweDBhLDB4MjAsMHgwMiwweDZjLDB4MTgsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGE2ODAsIDAsIHsweDZlLDB4NjAsMHgyYiwweDkwLDB4MDIsMHg0NiwweDIwLDB4OGIsMHgwMCwweDJlLDB4YzIsMHgwOCwweGIxLDB4ODIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGE2OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZTQsMHgwMiwweGNiLDB4MDAsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweGE2YTAsIDAsIHsweDJjLDB4OTIsMHgwMywweDI3LDB4MDAsMHg4OCwweDAwLDB4YmEsMHhjMCwweDBmLDB4ODgsMHgwMywweDJjLDB4MDAsMHhlYiwweDA0IH0gfSwKLXsgIDE2LCAweGE2YjAsIDAsIHsweDNhLDB4YTAsMHhjZiwweDJjLDB4YTMsMHhlZCwweDAwLDB4OWIsMHgwMCwweDNjLDB4ZjAsMHgyZCwweDhjLDB4MzMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweGE2YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjQsMHgwNCwweGVmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGE2ZDAsIDAsIHsweDBkLDB4NTEsMHgwMywweGYwLDB4MDAsMHhmMSwweDgxLDB4MzcsMHhjMCwweDBlLDB4ZjQsMHgwMywweDljLDB4MTAsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGE2ZTAsIDAsIHsweDNkLDB4ODAsMHgwYywweGVjLDB4MDcsMHhiOCwweDA4LDB4ZmYsMHgwMiwweDFmLDB4YzQsMHgwZiwweGM4LDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGE2ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OWUsMHgwMCwweGMzLDB4MDAsMHgzOCwweDQwIH0gfSwKLXsgIDE2LCAweGE3MDAsIDAsIHsweDBjLDB4OTIsMHgwMywweGE0LDB4ODAsMHhmYiwweDIwLDB4M2EsMHhjMCwweDBkLDB4OTQsMHgwMywweDJjLDB4NDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGE3MTAsIDAsIHsweDNlLDB4MDEsMHgwZiwweDgwLDB4MDMsMHhlNSwweDAwLDB4ZWIsMHgwMCwweDNhLDB4YzAsMHgwZCwweDg0LDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGE3MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwOCwweDhiLDB4MDIsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGE3MzAsIDAsIHsweDA4LDB4OTIsMHgwMywweDIxLDB4MDAsMHg4YiwweDQ4LDB4MjIsMHhjMCwweDBiLDB4YjcsMHgwMiwweDNkLDB4NDAsMHgzZiwweDAxIH0gfSwKLXsgIDE2LCAweGE3NDAsIDAsIHsweDIyLDB4NzQsMHgwYiwweDkwLDB4MDIsMHgyOCwweDA0LDB4YmYsMHgwMCwweGIyLDB4YzAsMHgwYiwweDg1LDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGE3NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDAsMHgwMSwweDgwLDB4MDAsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGE3NjAsIDAsIHsweDA4LDB4MmMsMHgxMiwweDg4LDB4NDAsMHhiMCwweDQwLDB4MDgsMHhjMCwweDBiLDB4MTgsMHgwMiwweDBlLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGE3NzAsIDAsIHsweDI4LDB4MjAsMHgxMSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwOSwweDAwLDB4MDYsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGE3ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTIsMHgwMCwweDg0LDB4ODAsMHgyMSwweGEwIH0gfSwKLXsgIDE2LCAweGE3OTAsIDAsIHsweDI4LDB4NjgsMHgxMiwweDNhLDB4MDAsMHg4NCwweDgwLDB4MjUsMHhlMCwweDhiLDB4NTgsMHgwMiwweDFlLDB4NDAsMHhiNywweDgyIH0gfSwKLXsgIDE2LCAweGE3YTAsIDAsIHsweDIxLDB4YTYsMHgwYiwweDc4LDB4MDIsMHgxYSwweDAwLDB4YjcsMHg4MCwweDIxLDB4MjAsMHgwYiwweDU4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGE3YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGM4LDB4MjEsMHgzOCwweDA5IH0gfSwKLXsgIDE2LCAweGE3YzAsIDAsIHsweDBjLDB4MjgsMHgwMywweDgwLDB4MDEsMHhmMSwweDAwLDB4MzgsMHhjMCwweDBkLDB4ODUsMHgwMiwweDBjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGE3ZDAsIDAsIHsweDM4LDB4ODUsMHgwZiwweDEwLDB4MDMsMHg4YywweDAwLDB4ZWIsMHgxMCwweDNjLDB4YzgsMHgwZCwweDMwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGE3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4OTgsMHgwMCwweGZjLDB4MDEsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGE3ZjAsIDAsIHsweDBmLDB4NjgsMHgwMywweGQwLDB4NDAsMHhmYywweDAwLDB4M2IsMHhjMCwweDBkLDB4YzAsMHgwMywweGZjLDB4MjAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGE4MDAsIDAsIHsweDNiLDB4YzUsMHgwZiwweGYwLDB4MGIsMHhiNCwweDQwLDB4ZmYsMHgxOCwweDNmLDB4MDAsMHgwZiwweGYxLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGE4MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGViLDB4MDAsMHhiMCwweDQxIH0gfSwKLXsgIDE2LCAweGE4MjAsIDAsIHsweDBjLDB4YTAsMHgwMywweGUwLDB4MDQsMHhjYSwweDA0LDB4YjAsMHhlMCwweDBlLDB4YjAsMHgwMywweGVjLDB4ODAsMHhjYiwweDIwIH0gfSwKLXsgIDE2LCAweGE4MzAsIDAsIHsweDMyLDB4ODEsMHgwYywweGEwLDB4MDMsMHhlZSwweDAwLDB4ZGIsMHgwMCwweDNlLDB4MDAsMHgwZSwweGIwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGE4NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwNCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGE4NTAsIDAsIHsweDQ4LDB4NjAsMHgwMiwweGYwLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGZjLDB4YTAsMHg4MywweDI4IH0gfSwKLXsgIDE2LCAweGE4NjAsIDAsIHsweGEzLDB4ODAsMHgwOCwweDYwLDB4MDIsMHhkYywweDAwLDB4ODcsMHgyMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGE4NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWMsMHgwMiwweGEzLDB4ODAsMHgyMSwweDYwIH0gfSwKLXsgIDE2LCAweGE4ODAsIDAsIHsweDA4LDB4NjgsMHgwMiwweGQyLDB4MDAsMHg4NywweDgwLDB4MjEsMHhlMCwweDI5LDB4NzgsMHgwMiwweGRlLDB4ODAsMHg4NywweDkwIH0gfSwKLXsgIDE2LCAweGE4OTAsIDAsIHsweDIxLDB4YTAsMHgxOSwweDQ4LDB4MDIsMHhmZSwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZTAsMHgwYSwweDM4LDB4ODIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGE4YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMSwweDgzLDB4ODAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGE4YjAsIDAsIHsweDA4LDB4MjAsMHg0MiwweGMwLDB4MzAsMHg4MywweDcwLDB4YTAsMHhjMCwweDg5LDB4MzQsMHgwMiwweGNjLDB4MDIsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGE4YzAsIDAsIHsweDYwLDB4YzAsMHgyOSwweDAwLDB4MDIsMHhjZSwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzgsMHgwYiwweGJjLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGE4ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTksMHgwMCwweGVhLDB4ZTIsMHgzMiwweDkwIH0gfSwKLXsgIDE2LCAweGE4ZTAsIDAsIHsweDJjLDB4ZTAsMHgwMywweGZiLDB4MDIsMHhjZSwweGMwLDB4MzIsMHg4MCwweDBmLDB4ZTQsMHgwMywweGU4LDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGE4ZjAsIDAsIHsweDMzLDB4ODgsMHgwZCwweDY0LDB4YzMsMHhmYSwweDAwLDB4ZGEsMHgwMCwweDNkLDB4OTAsMHgwZSwweGUwLDB4MGIsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGE5MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4YzAsMHgyNCwweGY4LDB4MDgsMHgzZSwweDEyIH0gfSwKLXsgIDE2LCAweGE5MTAsIDAsIHsweDBmLDB4YzAsMHgwMywweGUwLDB4NDgsMHhmMCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHg5MywweGMwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGE5MjAsIDAsIHsweDdlLDB4MDEsMHgwZSwweDgwLDB4YzIsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDdlLDB4MDAsMHg4ZiwweDg0LDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGE5MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTUsMHgwMCwweGMxLDB4MDEsMHgzMiwweDQ4IH0gfSwKLXsgIDE2LCAweGE5NDAsIDAsIHsweDBjLDB4OTgsMHgwMywweGU2LDB4NDAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweDY2LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGE5NTAsIDAsIHsweDE4LDB4NjEsMHgwYywweDkwLDB4MDMsMHg2NCwweDIwLDB4ZjksMHgwNSwweDNlLDB4NDAsMHgwYywweDkwLDB4ODMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGE5NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjYsMHgyMCwweDg5LDB4MDAsMHgyMCwweDUyIH0gfSwKLXsgIDE2LCAweGE5NzAsIDAsIHsweDI4LDB4MTAsMHhjMiwweDI2LDB4MDIsMHhhOSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwYSwweDI3LDB4MDAsMHhhOSwweDAwIH0gfSwKLXsgIDE2LCAweGE5ODAsIDAsIHsweDIyLDB4NzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGE5OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMiwweDhkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGE5YTAsIDAsIHsweDA4LDB4ZDEsMHgwMiwweDg0LDB4MjAsMHg4OSwweDAwLDB4MjIsMHg2MCwweDBiLDB4MTEsMHhmMiwweDI0LDB4YjAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGE5YjAsIDAsIHsweDJhLDB4NDYsMHgwOCwweDkwLDB4NDIsMHg2NCwweDA4LDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkyLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGE5YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MTQsMHg4MCwweDg1LDB4MjAsMHgyMywweDQ4IH0gfSwKLXsgIDE2LCAweGE5ZDAsIDAsIHsweDA4LDB4NTIsMHgwMiwweDg0LDB4MDgsMHg4MSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHhhMSwweDIwIH0gfSwKLXsgIDE2LCAweGE5ZTAsIDAsIHsweDI4LDB4NDksMHgyOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4MzEsMHgyMCwweDJlLDB4NDAsMHgwOCwweDMyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGE5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4NTAsMHhiMiwweDE0IH0gfSwKLXsgIDE2LCAweGFhMDAsIDAsIHsweDBjLDB4YzAsMHgwMywweGExLDB4NDAsMHhjOCwweDAwLDB4YjIsMHgwMCwweDA3LDB4ODUsMHgwMywweDIxLDB4NDAsMHhjOCwweDUwIH0gfSwKLXsgIDE2LCAweGFhMTAsIDAsIHsweDNhLDB4MTUsMHgwYywweDg1LDB4MDMsMHg2MSwweDQwLDB4ZjgsMHg1MSwweDNlLDB4MDAsMHgyYywweDg1LDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGFhMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4YzQsMHg0OCwweGY5LDB4MTAsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGFhMzAsIDAsIHsweDRmLDB4OTEsMHgwMywweDc0LDB4MDAsMHhmNSwweDQ0LDB4M2UsMHg0MCwweDBmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGFhNDAsIDAsIHsweDM3LDB4NDQsMHgwZiwweGQwLDB4MDMsMHhkNCwweDAwLDB4ZjksMHgxMCwweDNmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGFhNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjYsMHhhMCwweGRkLDB4OGMsMHgzMywweDc4IH0gfSwKLXsgIDE2LCAweGFhNjAsIDAsIHsweDBlLDB4ZGEsMHgwMywweDM1LDB4MDAsMHhjZCwweGEwLDB4MzMsMHg0MCwweDBkLDB4ZjgsMHgwYiwweDM2LDB4ODEsMHhlOSwweDgwIH0gfSwKLXsgIDE2LCAweGFhNzAsIDAsIHsweDMzLDB4NzAsMHgwYywweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHhjMCwweDNlLDB4YzAsMHgwZiwweGRjLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGFhODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwNCwweGI4LDB4NDAsMHgyMCwweDNjIH0gfSwKLXsgIDE2LCAweGFhOTAsIDAsIHsweDBjLDB4ODUsMHgwMiwweDAyLDB4ODQsMHg4YSwweDQwLDB4MjIsMHgwMCwweDA4LDB4OGYsMHg4MiwweDIzLDB4MDAsMHhiOCwweGU4IH0gfSwKLXsgIDE2LCAweGFhYTAsIDAsIHsweDIyLDB4MjAsMHgwOCwweDg4LDB4MDIsMHhlMiwweDAwLDB4YjgsMHhkMCwweDJlLDB4MDAsMHgwYiwweDhjLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGFhYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDkxLDB4MDAsMHg2MCwweDQ4IH0gfSwKLXsgIDE2LCAweGFhYzAsIDAsIHsweDRiLDB4MTAsMHgwMiwweDA0LDB4OGEsMHg4MSwweDQwLDB4NjAsMHg0MCwweDQ5LDB4MTAsMHgwMiwweDhkLDB4YTAsMHhhMSwweDQxIH0gfSwKLXsgIDE2LCAweGFhZDAsIDAsIHsweDIwLDB4NTAsMHgwOSwweDEyLDB4MjIsMHhjNCwweDgwLDB4YjEsMHgyMCwweDJjLDB4NDAsMHg0YiwweDNlLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGFhZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwOCwweGI5LDB4MDQsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweGFhZjAsIDAsIHsweDQ4LDB4YjAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4ODIsMHg0MCwweDA4LDB4OTAsMHhhNiwweGE0LDB4MDAsMHhiOSwweDA0IH0gfSwKLXsgIDE2LCAweGFiMDAsIDAsIHsweDIyLDB4NTQsMHgyOSwweDk1LDB4MDIsMHhlNSwweDQwLDB4YjksMHgwMCwweDZlLDB4NDAsMHgwYiwweDkyLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGFiMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweDkxLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGFiMjAsIDAsIHsweDBmLDB4OTAsMHgwOSwweDI0LDB4MDAsMHg4OSwweDkwLDB4MzIsMHg0MCwweDBkLDB4OTQsMHgwMywweGE0LDB4MDAsMHhlOSwweDAyIH0gfSwKLXsgIDE2LCAweGFiMzAsIDAsIHsweDcyLDB4NjAsMHgwZCwweDk0LDB4MDMsMHhlNCwweDAxLDB4ZjksMHgwMSwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGFiNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHg0MCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGFiNTAsIDAsIHsweDRmLDB4OTAsMHgwMywweGU3LDB4MTAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgxMywweDY0LDB4MDAsMHhmMSwweDAwIH0gfSwKLXsgIDE2LCAweGFiNjAsIDAsIHsweGJlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNiwweDA4LDB4ZjksMHgwMSwweDNlLDB4NjQsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGFiNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDA4IH0gfSwKLXsgIDE2LCAweGFiODAsIDAsIHsweDBjLDB4MDEsMHgwYiwweDIwLDB4NDAsMHhjOCwweDQwLDB4MzIsMHgwMCwweDBlLDB4ODQsMHg4MywweDIwLDB4MDAsMHhmOCwweDA0IH0gfSwKLXsgIDE2LCAweGFiOTAsIDAsIHsweDNlLDB4MDQsMHgwZiwweDgwLDB4MDMsMHgyMSwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MTAsMHgwZiwweDg4LDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGFiYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MzgsMHgwMCwweDNlLDB4MDQsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweGFiYjAsIDAsIHsweDA4LDB4ZWMsMHgxMiwweDM5LDB4NDQsMHhhNiwweDAwLDB4MjgsMHg4MSwweDA4LDB4ZTAsMHgwMCwweDM4LDB4MDgsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweGFiYzAsIDAsIHsweDNmLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhhOCwweDAwLDB4OGEsMHgwMiwweDJlLDB4ODAsMHgwYiwweGUwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGFiZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDgsMHgwMCwweDMxLDB4MDAsMHgyNCwweGQwIH0gfSwKLXsgIDE2LCAweGFiZTAsIDAsIHsweDA4LDB4M2UsMHgxMiwweGFlLDB4MDgsMHg4MSwweGEwLDB4MmMsMHhjMCwweDBhLDB4MzgsMHgwMCwweDRjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGFiZjAsIDAsIHsweDZlLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDZjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGFjMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTgsMHgwMCwweGI1LDB4MTAsMHgyNSwweGMwIH0gfSwKLXsgIDE2LCAweGFjMTAsIDAsIHsweDI4LDB4NjAsMHgxMiwweDkwLDB4MTAsMHhhNSwweDA4LDB4MmQsMHhjMiwweDA4LDB4NjQsMHgyMiwweDU4LDB4MTgsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGFjMjAsIDAsIHsweDJkLDB4ODAsMHgwYiwweDc5LDB4MDIsMHhiZSwweGMwLDB4ODcsMHgwMSwweDZkLDB4YzAsMHgwYiwweDYwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGFjMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY1LDB4ODQsMHgzNSwweDIwIH0gfSwKLXsgIDE2LCAweGFjNDAsIDAsIHsweDhjLDB4MTgsMHgwMiwweDkyLDB4MTAsMHhjNSwweDgwLDB4M2QsMHg2MCwweDBlLDB4YzgsMHgwYiwweDVhLDB4MDgsMHg3NywweGYzIH0gfSwKLXsgIDE2LCAweGFjNTAsIDAsIHsweDNkLDB4YTAsMHgwZiwweGY4LDB4MDMsMHgxZSwweGIwLDB4ZTcsMHg4NSwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGFjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGYxLDB4MDQsMHhiYSwweDAxIH0gfSwKLXsgIDE2LCAweGFjNzAsIDAsIHsweDBmLDB4YTAsMHg0MywweDYwLDB4MDksMHhlMSwweDAwLDB4MzgsMHg0MCwweDBlLDB4YTAsMHgwMywweGE4LDB4MTQsMHhmYiwweDIwIH0gfSwKLXsgIDE2LCAweGFjODAsIDAsIHsweDNhLDB4ODAsMHgwZiwweGI0LDB4MWIsMHg0YywweDgwLDB4ZmIsMHgyOSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MjMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGFjOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmEsMHgwMCwweGNkLDB4ODAsMHgzYiwweGUwIH0gfSwKLXsgIDE2LCAweGFjYTAsIDAsIHsweDRlLDB4ZjgsMHgwMywweGYyLDB4MDIsMHhkNCwweDgxLDB4M2IsMHhlMCwweDhlLDB4OTgsMHgwNywweDNlLDB4NDQsMHhlZiwweDkxIH0gfSwKLXsgIDE2LCAweGFjYjAsIDAsIHsweDNmLDB4ZTAsMHg0ZiwweGZjLDB4MDcsMHhlZSwweGQwLDB4Y2YsMHg5OCwweDMzLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGFjYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDAxLDB4OTgsMHgwMCwweDg1LDB4MTAsMHgyZCwweGM0IH0gfSwKLXsgIDE2LCAweGFjZDAsIDAsIHsweDBkLDB4MTEsMHgwMiwweGYwLDB4MDAsMHg4NSwweDIwLDB4MzEsMHhjNCwweDBiLDB4N2IsMHgwMCwweDM4LDB4NDAsMHhkNywweDEwIH0gfSwKLXsgIDE2LCAweGFjZTAsIDAsIHsweDJkLDB4ODAsMHgwYiwweDcwLDB4NjIsMHhmZSwweGUxLDB4ODcsMHgxNCwweDM5LDB4YzAsMHgwYiwweDYwLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGFjZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4YmMsMHg0MCwweGE1LDB4MDAsMHgyOSwweDQwIH0gfSwKLXsgIDE2LCAweGFkMDAsIDAsIHsweDBiLDB4NTAsMHg4MiwweGRjLDB4NDAsMHg4NCwweDA0LDB4MmQsMHhjMCwweDBiLDB4MTAsMHgwNiwweDU4LDB4NDQsMHhhNywweDEwIH0gfSwKLXsgIDE2LCAweGFkMTAsIDAsIHsweDJkLDB4ODAsMHgwYiwweDcxLDB4MDIsMHhkYywweDAwLDB4ODcsMHgwNCwweDIxLDB4YzIsMHgwYiwweDUwLDB4MDIsMHhjMCwweDEwIH0gfSwKLXsgIDE2LCAweGFkMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwYSwweGExLDB4MDEsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGFkMzAsIDAsIHsweDg5LDB4MTgsMHgwMiwweGMxLDB4MDAsMHhhMSwweDA4LDB4MjAsMHhjMCwweDBiLDB4MzQsMHgwNiwweDQwLDB4MDAsMHg5MywweDA1IH0gfSwKLXsgIDE2LCAweGFkNDAsIDAsIHsweDJjLDB4MTQsMHgwYiwweDNjLDB4ODYsMHhjZSwweDEwLDB4ODMsMHgwMSwweDI4LDB4ZjEsMHgwYiwweDE0LDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGFkNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGVkLDB4MDAsMHgzYSwweGMwIH0gfSwKLXsgIDE2LCAweGFkNjAsIDAsIHsweDA3LDB4YmMsMHg2MywweGVkLDB4MDAsMHg4MSwweDQwLDB4M2UsMHhjMCwweDBlLDB4ODgsMHgwMywweDY0LDB4MDAsMHhlZiwweDAwIH0gfSwKLXsgIDE2LCAweGFkNzAsIDAsIHsweDdlLDB4NTAsMHgwZiwweGYwLDB4MDIsMHhmZCwweDQyLDB4Y2YsMHgwMCwweDcyLDB4YzAsMHgxZiwweGI0LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGFkODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTgsMHgwMCwweDk5LDB4MDAsMHgzZSwweGUwIH0gfSwKLXsgIDE2LCAweGFkOTAsIDAsIHsweDRmLDB4YjQsMHg4MywweGVkLDB4OTAsMHgwOSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YTEsMHg4MywweGE4LDB4MDEsMHhlYiwweDAxIH0gfSwKLXsgIDE2LCAweGFkYTAsIDAsIHsweDNlLDB4MDAsMHgwZiwweGIxLDB4MTMsMHhlYywweDBjLDB4ZmIsMHgwMCwweDNhLDB4YzAsMHg1ZiwweDIwLDB4MjMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGFkYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjgsMHgwMCwweGZkLDB4MDQsMHgzZiwweGIwIH0gfSwKLXsgIDE2LCAweGFkYzAsIDAsIHsweDBkLDB4NjAsMHgwMywweDNlLDB4MDAsMHhjZCwweDAwLDB4MzMsMHhmMCwweDBmLDB4ZjIsMHgwMSwweGYwLDB4MDAsMHhmZiwweDAzIH0gfSwKLXsgIDE2LCAweGFkZDAsIDAsIHsweDNmLDB4MDMsMHgwZiwweGYwLDB4MDEsMHhmYywweDAwLDB4ZmIsMHgwMiwweDMzLDB4YzIsMHgwZiwweGYwLDB4ZTMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGFkZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmEsMHgwMCwweGI5LDB4MDIsMHgyZSwweGEwIH0gfSwKLXsgIDE2LCAweGFkZjAsIDAsIHsweDRhLDB4YWMsMHgwMiwweDBlLDB4ODAsMHhmOSwweGMwLDB4MzYsMHhlMSwweDBiLDB4YTAsMHgwMiwweDJhLDB4MDgsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGFlMDAsIDAsIHsweDJlLDB4MjAsMHgwZSwweGIwLDB4MDIsMHhlYywweDAwLDB4ZWIsMHgwMCwweDIyLDB4YzAsMHg4YiwweGIwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGFlMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MjMsMHgwMCwweGE5LDB4MDAsMHgyOCwweGMwIH0gfSwKLXsgIDE2LCAweGFlMjAsIDAsIHsweDA5LDB4YjIsMHgyMiwweDZjLDB4NDAsMHg4OSwweDg5LDB4MmEsMHhjMCwweDBiLDB4MTQsMHgwNiwweDI2LDB4MDAsMHhhYiwweDAyIH0gfSwKLXsgIDE2LCAweGFlMzAsIDAsIHsweDZlLDB4ZTAsMHgwOSwweGIwLDB4MDYsMHg2YywweDAwLDB4YjMsMHgwMiwweDIyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGFlNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDgsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGFlNTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4NjQsMHhjMCwweDBiLDB4MzIsMHgwYSwweDA4LDB4MDAsMHgzMywweDAwIH0gfSwKLXsgIDE2LCAweGFlNjAsIDAsIHsweDZjLDB4ODAsMHgwMiwweDMwLDB4NDYsMHhjYywweDE4LDB4YTMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDI4LDB4MDIsMHgwMiwweDExIH0gfSwKLXsgIDE2LCAweGFlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NjgsMHgwMCwweGU5LDB4MDAsMHgzOCwweGMxIH0gfSwKLXsgIDE2LCAweGFlODAsIDAsIHsweDBkLDB4YjEsMHgwYiwweDJjLDB4MDAsMHg4OSwweDAwLDB4M2EsMHhjMCwweDBiLDB4OTAsMHgwMywweDYwLDB4MDAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweGFlOTAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGYwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgwMCwweDMyLDB4YzAsMHg4ZiwweDgwLDB4MGIsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGFlYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZDgsMHgwMCwweGZkLDB4MDQsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGFlYjAsIDAsIHsweDJmLDB4ZjIsMHgwMywweGZjLDB4MTEsMHhlZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHg0MywweDcwLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGFlYzAsIDAsIHsweDNmLDB4MDAsMHg0NiwweGYwLDB4MDMsMHhmZCwweDAwLDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGFlZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzZCwweGUwIH0gfSwKLXsgIDE2LCAweGFlZTAsIDAsIHsweDBjLDB4ZjksMHgxMywweGRlLDB4MDAsMHg3ZiwweDgwLDB4YjMsMHhlMCwweDBmLDB4ZmMsMHgwMywweGJlLDB4NDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGFlZjAsIDAsIHsweDMzLDB4ZjAsMHgwZiwweGY4LDB4MDMsMHg3YywweDA0LDB4Y2MsMHg4MCwweDMzLDB4YTAsMHgwYywweGYwLDB4MGIsMHgzMCwweDAxIH0gfSwKLXsgIDE2LCAweGFmMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTAsMHgyMCwweDg4LDB4MDAsMHgyZSwweDIwIH0gfSwKLXsgIDE2LCAweGFmMTAsIDAsIHsweDA4LDB4ODIsMHgxMiwweGUwLDB4ODAsMHhhOCwweDgxLDB4MjIsMHgwMiwweDBiLDB4ODAsMHgwMiwweDIwLDB4ODAsMHhhOCwweDgwIH0gfSwKLXsgIDE2LCAweGFmMjAsIDAsIHsweDIyLDB4MDgsMHgwYiwweDgwLDB4MDIsMHgyYywweDAyLDB4ODgsMHgwNCwweGFhLDB4MjAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGFmMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZWMsMHgwMCwweGEzLDB4MDgsMHgyYywweDgwIH0gfSwKLXsgIDE2LCAweGFmNDAsIDAsIHsweDA4LDB4MzIsMHgwMiwweGM0LDB4MjAsMHhhMywweDAwLDB4MjgsMHg0MCwweDBiLDB4OTIsMHgwMiwweDg0LDB4MDAsMHhhOSwweDAxIH0gfSwKLXsgIDE2LCAweGFmNTAsIDAsIHsweDI4LDB4YzgsMHgxYiwweDEyLDB4ODIsMHhjYywweDQwLDB4YTgsMHgwMCwweDI0LDB4ZTAsMHgwYSwweDMwLDB4NDIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGFmNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4YTgsMHg4MCwweGE4LDB4MDIsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGFmNzAsIDAsIHsweDY4LDB4ODAsMHgxMCwweGM4LDB4MDAsMHhiOCwweDQwLDB4MmEsMHg5MCwweDBiLDB4YTAsMHgwMCwweDI4LDB4MDAsMHhhYSwweDA4IH0gfSwKLXsgIDE2LCAweGFmODAsIDAsIHsweDJhLDB4MDIsMHgwMywweDIwLDB4MDIsMHg4YywweDAwLDB4YTgsMHg4OCwweDJlLDB4MjAsMHgwYSwweGIwLDB4MDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGFmOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTgsMHgwNCwweGZhLDB4MDAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGFmYTAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhlYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4MjAsMHg1MywweGE4LDB4MDAsMHhlMywweDQwIH0gfSwKLXsgIDE2LCAweGFmYjAsIDAsIHsweDJhLDB4NDAsMHgwZiwweGEwLDB4MDMsMHg2YywweDAwLDB4YTgsMHg4MCwweDM0LDB4MjAsMHgxZSwweGIwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGFmYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjQsMHgwMCwweDlkLDB4OTEsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGFmZDAsIDAsIHsweDBmLDB4ZGEsMHgyMywweGY0LDB4MDAsMHhjYywweDIwLDB4MzcsMHgwMCwweDA3LDB4ZDAsMHgxMywweDc0LDB4MDAsMHhiYywweDAwIH0gfSwKLXsgIDE2LCAweGFmZTAsIDAsIHsweGI3LDB4ODAsMHgwYiwweGQwLDB4NDMsMHg3YywweDAwLDB4ZGMsMHgwNCwweDNiLDB4MDAsMHg2ZCwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGFmZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTgsMHgwMCwweGZhLDB4ODAsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweGIwMDAsIDAsIHsweDJjLDB4YTAsMHgwYiwweDIwLDB4MDIsMHhjYiwweDYyLDB4M2UsMHg1MCwweDBlLDB4ODgsMHgwMywweDIwLDB4MDAsMHhkOSwweDEwIH0gfSwKLXsgIDE2LCAweGIwMTAsIDAsIHsweDNlLDB4NzAsMHg4YywweDgwLDB4MzMsMHhlYywweDgwLDB4ZDgsMHg0MCwweDNhLDB4MDIsMHgwZCwweGIwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGIwMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDAxLDB4MGMsMHgwMCwweDM5LDB4ODAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGIwMzAsIDAsIHsweDBjLDB4OWQsMHg4MiwweDJjLDB4MTAsMHhkMCwweDQwLDB4MmUsMHhhMCwweDA4LDB4YjgsMHgwMywweDRlLDB4MDIsMHg4YSwweDQwIH0gfSwKLXsgIDE2LCAweGIwNDAsIDAsIHsweDBlLDB4YTAsMHgwZCwweGIwLDB4MDMsMHgzZCwweDAwLDB4ZDAsMHg5MCwweDM2LDB4MTAsMHgwYiwweGYwLDB4MDIsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweGIwNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIxLDB4MDAsMHg2MCwweGMwIH0gfSwKLXsgIDE2LCAweGIwNjAsIDAsIHsweDhhLDB4MTgsMHgwMiwweDhjLDB4MDgsMHg4MCwweDQwLDB4MGMsMHhhMCwweDAyLDB4MzAsMHgwMiwweGNlLDB4MDAsMHg4MiwweDQ4IH0gfSwKLXsgIDE2LCAweGIwNzAsIDAsIHsweDJjLDB4ODAsMHgyYiwweDMwLDB4MDYsMHg4YywweDAwLDB4ODEsMHgwMiwweDIwLDB4OTAsMHgwOSwweGIwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGIwODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTIsMHgwMCwweGI2LDB4OTAsMHhhMywweDMwIH0gfSwKLXsgIDE2LCAweGIwOTAsIDAsIHsweDA4LDB4ZTgsMHgyMiwweGIyLDB4MTQsMHg4NywweDgwLDB4MmQsMHg2MCwweDA4LDB4NDksMHgxMiwweDEyLDB4NjEsMHg5NSwweDkwIH0gfSwKLXsgIDE2LCAweGIwYTAsIDAsIHsweDJkLDB4NjEsMHgwYSwweDQ4LDB4MTYsMHgxZSwweDgwLDB4OTUsMHg4MCwweDI1LDB4MjAsMHgwYiwweDc4LDB4MDIsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGIwYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYxLDB4MDAsMHgyOCwweDhjIH0gfSwKLXsgIDE2LCAweGIwYzAsIDAsIHsweDhlLDB4MTAsMHgwMywweDg0LDB4ODAsMHg4MCwweDAwLDB4MmMsMHgwMiwweDBhLDB4OWEsMHgwMiwweGU0LDB4MDAsMHhkMCwweDAwIH0gfSwKLXsgIDE2LCAweGIwZDAsIDAsIHsweDNlLDB4ODAsMHgwYiwweDkxLDB4MDMsMHg4ZSwweDgwLDB4YzIsMHgwOCwweDM4LDB4ODAsMHgwZCwweGIwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGIwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjAsMHgwMCwweGY2LDB4MDAsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweGIwZjAsIDAsIHsweDBmLDB4MjEsMHgxMywweDc4LDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBmLDB4ZTAsMHgwMywweDc4LDB4MDAsMHhlZiwweDA0IH0gfSwKLXsgIDE2LCAweGIxMDAsIDAsIHsweDNmLDB4NDAsMHg4ZCwweGU4LDB4MDMsMHhkYywweDA0LDB4ZjYsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4ODMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGIxMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTgsMHgwMCwweGU4LDB4ODAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGIxMjAsIDAsIHsweDBmLDB4ODgsMHgwYiwweDI4LDB4MDAsMHg3OCwweDAyLDB4M2UsMHg4MCwweDBlLDB4MjgsMHgwMywweDI4LDB4MDAsMHhjYSwweDgwIH0gfSwKLXsgIDE2LCAweGIxMzAsIDAsIHsweDMyLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlYywweDAwLDB4YzksMHg4MCwweDMyLDB4ODAsMHgwZiwweGIwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGIxNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OGMsMHgwMCwweDhmLDB4MDAsMHhhMSwweDgwIH0gfSwKLXsgIDE2LCAweGIxNTAsIDAsIHsweDBiLDB4NzAsMHg0MiwweDE0LDB4MDAsMHhiNywweDAwLDB4MmQsMHg0MSwweDBiLDB4NTAsMHg0MiwweDE0LDB4MDAsMHhhNSwweDAwIH0gfSwKLXsgIDE2LCAweGIxNjAsIDAsIHsweGExLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhmYywweDgwLDB4YTUsMHgwMCwweDIxLDB4MDAsMHgwYiwweGYyLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGIxNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4YmEsMHgwMCwweGE0LDB4ODAsMHgyOSwweDMwIH0gfSwKLXsgIDE2LCAweGIxODAsIDAsIHsweDRiLDB4NDgsMHgwNiwweDUyLDB4MDgsMHhiNCwweDgwLDB4MmQsMHgyMCwweDBiLDB4NDgsMHg0MiwweDMyLDB4MDAsMHg4NCwweDgwIH0gfSwKLXsgIDE2LCAweGIxOTAsIDAsIHsweDIxLDB4MjAsMHgwYiwweDQ4LDB4MTIsMHhkZSwweDQwLDB4ODYsMHg4MSwweDI5LDB4YTAsMHgwYiwweDc4LDB4MGEsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGIxYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDUsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGIxYjAsIDAsIHsweDBiLDB4MzQsMHgwMiwweDZjLDB4MTAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzYsMHg0YSwweDBkLDB4MGQsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGIxYzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDM0LDB4ODIsMHhjYywweDAyLDB4YTIsMHgwMCwweDI4LDB4MDAsMHgwYiwweDMwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGIxZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTksMHgyMCwweGVhLDB4NDAsMHgzMCwweGEwIH0gfSwKLXsgIDE2LCAweGIxZTAsIDAsIHsweDA3LDB4YTAsMHg0MywweDY5LDB4NDAsMHhmYSwweDAwLDB4M2MsMHg4MCwweDBmLDB4YTAsMHgwMywweDA4LDB4NDAsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGIxZjAsIDAsIHsweDMwLDB4YTAsMHgwZiwweGE0LDB4MDMsMHhlOCwweDAwLDB4Y2UsMHgwMCwweDNiLDB4OTgsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGIyMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZDIsMHgwMCwweGZjLDB4MDgsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweGIyMTAsIDAsIHsweDBiLDB4YzIsMHgwMywweGIwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGIyMjAsIDAsIHsweDNmLDB4MDQsMHgwZiwweGMwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweGI2LDB4MDIsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGIyMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDY4IH0gfSwKLXsgIDE2LCAweGIyNDAsIDAsIHsweDRjLDB4OTEsMHgwMSwweGU0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0MCwweDJjLDB4OTIsMHgwMywweGU0LDB4MDIsMHhjOSwweGEwIH0gfSwKLXsgIDE2LCAweGIyNTAsIDAsIHsweDNlLDB4NzAsMHgwZSwweDkwLDB4MDMsMHhjNiwweDQyLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZiwweDEwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGIyNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODYsMHgwZSwweDYwIH0gfSwKLXsgIDE2LCAweGIyNzAsIDAsIHsweDA4LDB4OTgsMHgwMiwweGU0LDB4MDgsMHg4OSwweDEwLDB4MmUsMHg2MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDBjIH0gfSwKLXsgIDE2LCAweGIyODAsIDAsIHsweDJlLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhlNiwweDg4LDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweGIyOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDlkLDB4MTAsMHgyZiwweDQwIH0gfSwKLXsgIDE2LCAweGIyYTAsIDAsIHsweDI4LDB4ZDAsMHgwNiwweGY0LDB4MDIsMHhhZCwweDAwLDB4MmYsMHg2MCwweDA4LDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAwIH0gfSwKLXsgIDE2LCAweGIyYjAsIDAsIHsweDJmLDB4NDAsMHgwYSwweGQwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NjAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGIyYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MzQsMHgwMCwweDg1LDB4MDAsMHgyZCwweDQwIH0gfSwKLXsgIDE2LCAweGIyZDAsIDAsIHsweDA4LDB4NTgsMHgwMiwweGQ0LDB4MDAsMHhhNSwweDAyLDB4MmQsMHg0MCwweDA4LDB4NTAsMHgwMCwweGQ0LDB4MDAsMHg4NSwweDAwIH0gfSwKLXsgIDE2LCAweGIyZTAsIDAsIHsweDJkLDB4NDAsMHgwOCwweDU0LDB4MDIsMHhjNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4NjAsMHgwYiwweDE0LDB4MDIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweGIyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTIsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGIzMDAsIDAsIHsweDBjLDB4MDUsMHgwMywweGUxLDB4NDAsMHhlOCwweDA0LDB4M2UsMHgxNCwweDBjLDB4ODUsMHgwMywweGUxLDB4NDAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGIzMTAsIDAsIHsweDNlLDB4MTQsMHgwZSwweGMwLDB4MDMsMHhlMCwweDAwLDB4YzAsMHgwMiwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MjMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGIzMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHgwMCwweGY5LDB4MDEsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGIzMzAsIDAsIHsweDRmLDB4OTAsMHgxMywweGU0LDB4MDAsMHhkOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4MTAsMHhmMSwweDAwIH0gfSwKLXsgIDE2LCAweGIzNDAsIDAsIHsweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweGUwLDB4ZmQsMHgyOCwweDNmLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGIzNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTQsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGIzNjAsIDAsIHsweDRkLDB4NTAsMHgwMiwweGU0LDB4MDAsMHg5NSwweDA0LDB4MzMsMHg0MCwweDI4LDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGIzNzAsIDAsIHsweDMzLDB4NDAsMHgwZiwweDkxLDB4MDMsMHgzNCwweDAwLDB4Y2QsMHg0MCwweDMzLDB4NDAsMHgwZiwweDk4LDB4ODEsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGIzODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgxMCwweGI4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGIzOTAsIDAsIHsweDBiLDB4ODAsMHgwMiwweGUwLDB4MTAsMHhiOCwweDAwLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGIzYTAsIDAsIHsweDIyLDB4MDAsMHgwYiwweDg4LDB4MDMsMHhjMiwweDgwLDB4ODgsMHg4MCwweDIyLDB4MDAsMHgwYiwweDhjLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGIzYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGIzYzAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiYiwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM0LDB4MDEsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGIzZDAsIDAsIHsweDIwLDB4NDAsMHgxYiwweDkwLDB4MDIsMHgwNCwweDIyLDB4ODksMHgwMCwweDIwLDB4NjAsMHgwYiwweDEyLDB4ODIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGIzZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHg0NCwweGI5LDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGIzZjAsIDAsIHsweDRiLDB4OTAsMHgwMiwweGU0LDB4MTAsMHhiOSwweDAyLDB4MDIsMHg0MCwweDA4LDB4OTEsMHg0MiwweGU0LDB4MDAsMHhiOSwweDgwIH0gfSwKLXsgIDE2LCAweGI0MDAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkyLDB4MDIsMHhjNCwweDAwLDB4OTksMHg0MCwweDIyLDB4NDAsMHg0YiwweDkwLDB4MTIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGI0MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHgwMCwweGI5LDB4MDEsMHgzZSwweDU4IH0gfSwKLXsgIDE2LCAweGI0MjAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU2LDB4MDAsMHhkMSwweDAwLDB4MzIsMHg2MCwweDBjLDB4OTgsMHgwMiwweGU2LDB4NDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGI0MzAsIDAsIHsweGIyLDB4NDAsMHgwZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4YzksMHg4MCwweDMyLDB4NTAsMHgwZiwweDkwLDB4MjMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGI0NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQyIH0gfSwKLXsgIDE2LCAweGI0NTAsIDAsIHsweDBiLDB4OTAsMHgwMywweGU3LDB4MDgsMHhmOSwweDAwLDB4YmUsMHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGI0NjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhhNCwweDAwLDB4ZTksMHhhMCwweGJlLDB4NDAsMHgwZiwweDEwLDB4MGIsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGI0NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDEsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGI0ODAsIDAsIHsweDBmLDB4ODAsMHg4YiwweDIwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgwMSwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAsMHhmOCwweDA4IH0gfSwKLXsgIDE2LCAweGI0OTAsIDAsIHsweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwLDB4ZDgsMHg0MCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MTMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGI0YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyZiwweDkxIH0gfSwKLXsgIDE2LCAweGI0YjAsIDAsIHsweDBiLDB4ZWUsMHgwMiwweDI4LDB4MDEsMHhiZSwweDAwLDB4MjAsMHg4MCwweDBiLDB4YTAsMHgwMiwweGVhLDB4ODAsMHhiNiwweDQ4IH0gfSwKLXsgIDE2LCAweGI0YzAsIDAsIHsweDIyLDB4ODAsMHgwZCwweGEwLDB4MDIsMHhmYSwweDAyLDB4ODYsMHg0MSwweGEzLDB4YTYsMHgwYiwweGEwLDB4MDMsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGI0ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4ODAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGI0ZTAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDBjLDB4MTAsMHhiMywweDAwLDB4MjgsMHhjMCwweDBiLDB4MzgsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGI0ZjAsIDAsIHsweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjNiwweDAxLDB4ODMsMHg2MCwweDIwLDB4NzAsMHgwYiwweDMwLDB4MGEsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGI1MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MmUsMHg4OCwweDg1LDB4MDgsMHgyZCwweDgwIH0gfSwKLXsgIDE2LCAweGI1MTAsIDAsIHsweDRiLDB4ZjgsMHgwNiwweDFjLDB4ODAsMHhiNywweDAwLDB4MjEsMHhjMCwweDBiLDB4NTAsMHgwMiwweGQ0LDB4MDAsMHhiNiwweDAwIH0gfSwKLXsgIDE2LCAweGI1MjAsIDAsIHsweDI5LDB4NjAsMHgwOSwweDcwLDB4MDIsMHhkMCwweGEwLDB4OGQsMHgwMCwweDIxLDB4NDAsMHgwYiwweDMyLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGI1MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGQ1LDB4ODAsMHgzZCwweGUwIH0gfSwKLXsgIDE2LCAweGI1NDAsIDAsIHsweDhmLDB4NzgsMHgwMywweDFlLDB4ODQsMHhiNywweDgyLDB4M2QsMHg2MCwweDBmLDB4NTksMHgwMywweGRlLDB4MDAsMHhmNywweDgwIH0gfSwKLXsgIDE2LCAweGI1NTAsIDAsIHsweDI5LDB4NjAsMHgxNSwweDc4LDB4MDMsMHhkZSwweDAwLDB4YzcsMHg4MCwweDMxLDB4NjAsMHgwZiwweDdjLDB4MDMsMHg2YSwweDAyIH0gfSwKLXsgIDE2LCAweGI1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHg0MCwweGU5LDB4MDAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGI1NzAsIDAsIHsweDBmLDB4YTAsMHgwMywweGVkLDB4MzAsMHhmYiwweDAwLDB4MzYsMHhjMSwweDBmLDB4OTYsMHgwMywweGU0LDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGI1ODAsIDAsIHsweDM0LDB4NDAsMHgwZiwweGI3LDB4ODMsMHhlYywweDQwLDB4MjEsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGI1OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4ODEsMHgzMywweGUwIH0gfSwKLXsgIDE2LCAweGI1YTAsIDAsIHsweDBmLDB4ZjksMHgwMywweGRlLDB4MjAsMHhjZiwweDgxLDB4M2YsMHhlMCwweDA3LDB4NzgsMHgwMywweDNlLDB4MDAsMHhmZiwweDgwIH0gfSwKLXsgIDE2LCAweGI1YjAsIDAsIHsweDNmLDB4ZTAsMHgwNCwweGY4LDB4MTMsMHhmZSwweDAyLDB4ZGUsMHg4MCwweDMzLDB4NjAsMHgwZiwweGY4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGI1YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGM0IH0gfSwKLXsgIDE2LCAweGI1ZDAsIDAsIHsweDBiLDB4NWEsMHgwMiwweGRjLDB4NDgsMHg4NiwweDUwLDB4MmQsMHhjMCwweDBiLDB4MzEsMHgwMiwweDk0LDB4NjAsMHhiNCwweDE4IH0gfSwKLXsgIDE2LCAweGI1ZTAsIDAsIHsweDJkLDB4NDAsMHg0OCwweDcwLDB4MDIsMHhlOCwweDAwLDB4YTUsMHgxMCwweDIxLDB4NDAsMHgwYiwweDcxLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGI1ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGJkLDB4MDAsMHgyMSwweDQyIH0gfSwKLXsgIDE2LCAweGI2MDAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGZjLDB4MDIsMHg4NSwweDAwLDB4MjUsMHg0MCwweDBiLDB4NTAsMHgwMiwweDljLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGI2MTAsIDAsIHsweDJmLDB4NDAsMHgyOCwweDcxLDB4MDIsMHhkYywweDAwLDB4YTYsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGI2MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4NmQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDUwIH0gfSwKLXsgIDE2LCAweGI2MzAsIDAsIHsweDBiLDB4YjIsMHgwNiwweGNlLDB4MDAsMHhhMCwweDM0LDB4MmUsMHhmMCwweDBiLDB4MTgsMHgwMiwweDg1LDB4MjAsMHhiMywweDRhIH0gfSwKLXsgIDE2LCAweGI2NDAsIDAsIHsweDJjLDB4NTQsMHg4OCwweDM4LDB4MDIsMHhjYywweDEwLDB4YTEsMHgwMCwweDIwLDB4YjAsMHgwYiwweDMwLDB4MDIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGI2NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmUsMHg4MCwweGYzLDB4MDgsMHgxMCwweDU0IH0gfSwKLXsgIDE2LCAweGI2NjAsIDAsIHsweDBiLDB4ODgsMHgxMywweGZmLDB4MDAsMHhjMCwweDgwLDB4M2UsMHg2NCwweDBmLDB4YjQsMHg4MywweDA3LDB4MDAsMHhmOSwweGMwIH0gfSwKLXsgIDE2LCAweGI2NzAsIDAsIHsweDNlLDB4ZjAsMHgwYywweGZjLDB4MTMsMHhmNCwweDAwLDB4ZWEsMHgwMCwweDMyLDB4NzAsMHgwZiwweGYwLDB4MGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGI2ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDEwIH0gfSwKLXsgIDE2LCAweGI2OTAsIDAsIHsweDA3LDB4OTEsMHgwMywweGVjLDB4YzAsMHg1OCwweDAwLDB4M2UsMHg0NCwweDBmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGI2YTAsIDAsIHsweDNlLDB4YzAsMHg4ZiwweGIzLDB4MDMsMHhlMCwweDAwLDB4YmIsMHgwMCwweGJlLDB4NDQsMHgwZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGI2YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMiwweGNkLDB4MDQsMHgzMywweGUwIH0gfSwKLXsgIDE2LCAweGI2YzAsIDAsIHsweDBjLDB4YzAsMHgwMywweDNjLDB4MDgsMHhmZSwweDAwLDB4MzMsMHg2MCwweDJjLDB4ZDAsMHgwMiwweGI0LDB4ODAsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGI2ZDAsIDAsIHsweDNmLDB4NTIsMHgwNywweGYwLDB4MTMsMHhmYywweDAwLDB4Y2UsMHgxMCwweDMzLDB4NDIsMHgwYywweGIwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweGI2ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgwMCwweDg5LDB4MDAsMHgyYSwweGIwIH0gfSwKLXsgIDE2LCAweGI2ZjAsIDAsIHsweDA4LDB4ODgsMHgwMiwweDJjLDB4MDAsMHhiYSwweDAwLDB4MzYsMHg0NCwweDA4LDB4OTAsMHgwMCwweDI2LDB4MDAsMHhkYiwweGMwIH0gfSwKLXsgIDE2LCAweGI3MDAsIDAsIHsweDJlLDB4NDAsMHgwYiwweGIwLDB4MDIsMHhlYywweDAwLDB4ODMsMHhjMCwweDI4LDB4NDAsMHgwYSwweGIwLDB4MDIsMHhlMCwweDQwIH0gfSwKLXsgIDE2LCAweGI3MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDA4IH0gfSwKLXsgIDE2LCAweGI3MjAsIDAsIHsweDFhLDB4YTIsMHgwMiwweDJjLDB4MTAsMHhiOSwweDIwLDB4MjIsMHg0MCwweDA4LDB4MzAsMHgwMiwweDJjLDB4MDQsMHhhYSwweDU0IH0gfSwKLXsgIDE2LCAweGI3MzAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4MTIsMHhjYywweDAwLDB4OGIsMHgwOCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGI3NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4MDQsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGI3NTAsIDAsIHsweDBhLDB4MDgsMHg4MiwweDBjLDB4MDAsMHhiOCwweDAwLDB4NjQsMHg0MCwweDA4LDB4MzAsMHgwMiwweGE0LDB4MDAsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGI3NjAsIDAsIHsweDJjLDB4YzAsMHg4YiwweDMwLDB4MTAsMHhjOCwweDAyLDB4OGIsMHgwMCwweDJhLDB4NDAsMHgwYSwweDMwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGI3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGM5LDB4MDAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGI3ODAsIDAsIHsweDFhLDB4ODIsMHgwMywweDNjLDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4ZDEsMHgwMywweGFjLDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGI3OTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhlZCwweDAwLDB4YzMsMHgwMCwweDMyLDB4YzAsMHg4YywweGIwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweGI3YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZmMsMHgwMCwweGY1LDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweGI3YjAsIDAsIHsweDBkLDB4ODAsMHg0YiwweGZjLDB4MDAsMHg3YywweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDIsMHgwYiwweDc0LDB4MDAsMHhkZiwweDAwIH0gfSwKLXsgIDE2LCAweGI3YzAsIDAsIHsweDFkLDB4NDAsMHg4ZiwweGYwLDB4MDMsMHhmYywweGEwLDB4ZmYsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGI3ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGRmLDB4ODQsMHgzYiwweGUwIH0gfSwKLXsgIDE2LCAweGI3ZTAsIDAsIHsweDBmLDB4ZjgsMHgwYiwweDNlLDB4MDAsMHhlYywweDgwLDB4MzMsMHhlMSwweDBjLDB4MzAsMHgwMywweDNjLDB4ODAsMHhjZiwweDQ4IH0gfSwKLXsgIDE2LCAweGI3ZjAsIDAsIHsweDM3LDB4YzAsMHgwZSwweDQwLDB4MDMsMHhlMCwweGMwLDB4YzcsMHg5MSwweGIzLDB4MDQsMHgwYywweGYwLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGI4MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWYsMHgwNCwweDhiLDB4ODAsMHgyMiwweDQxIH0gfSwKLXsgIDE2LCAweGI4MTAsIDAsIHsweDBiLDB4YjAsMHg4MiwweDJlLDB4MDAsMHg4OCwweDgwLDB4YTIsMHhlMCwweDBhLDB4YTIsMHg5MiwweGFkLDB4ODAsMHg4NywweDQyIH0gfSwKLXsgIDE2LCAweGI4MjAsIDAsIHsweDIzLDB4ZDgsMHg4YSwweGFkLDB4MDIsMHhlMCwweGMwLDB4OGIsMHgwMCwweDIwLDB4NGMsMHg0OCwweGE0LDB4MDIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGI4MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg1OCwweGJiLDB4MDAsMHgyOCwweDgwIH0gfSwKLXsgIDE2LCAweGI4NDAsIDAsIHsweDBiLDB4YjIsMHg0MiwweDI0LDB4MDAsMHhhOCwweDAwLDB4MmEsMHhjMCwweDBhLDB4MTAsMHgwMiwweDA0LDB4NjAsMHhhMywweDIwIH0gfSwKLXsgIDE2LCAweGI4NTAsIDAsIHsweDI0LDB4ZDIsMHgwOCwweDAwLDB4NDIsMHg4YywweDgzLDB4OWIsMHgwMSwweDIwLDB4NDksMHgwOCwweDMzLDB4YzIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGI4NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwMCwweGFiLDB4ODgsMHgyMiwweGEwIH0gfSwKLXsgIDE2LCAweGI4NzAsIDAsIHsweDBiLDB4YjgsMHgwMiwweDI2LDB4MGMsMHhhOCwweDAwLDB4MmEsMHhjMCwweDBhLDB4OTIsMHgwMiwweGE0LDB4MDAsMHhhYiwweDA2IH0gfSwKLXsgIDE2LCAweGI4ODAsIDAsIHsweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlOCwweDAwLDB4OWIsMHgwMCwweDAyLDB4NDAsMHgwOCwweGEwLDB4NDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGI4OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGQzLDB4ODAsMHgzYSwweGUwIH0gfSwKLXsgIDE2LCAweGI4YTAsIDAsIHsweDBmLDB4MTgsMHgwMSwweDA2LDB4MDAsMHhlOCwweDMwLDB4MzgsMHg2NiwweDBlLDB4YjgsMHgwMywweDJhLDB4NDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGI4YjAsIDAsIHsweDM2LDB4YzEsMHgwZSwweDk2LDB4MDMsMHhlMiwweDgwLDB4ZGEsMHgwOCwweDMyLDB4ODAsMHgyYywweGJiLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGI4YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4OWMsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGI4ZDAsIDAsIHsweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhkYywweDgwLDB4MzcsMHg2MCwweDBmLDB4ZTgsMHgwMywweGZhLDB4MDAsMHhkZiwweDAxIH0gfSwKLXsgIDE2LCAweGI4ZTAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGMwLDB4NDMsMHhlNiwweDRjLDB4ZWYsMHhhMCwweDNmLDB4NDQsMHgwZiwweGEwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGI4ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHg0MCwweGRiLDB4MDAsMHgzNiwweDgwIH0gfSwKLXsgIDE2LCAweGI5MDAsIDAsIHsweDBjLDB4OTgsMHgwMywweDI2LDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBlLDB4MTgsMHgwMywweDg0LDB4MDIsMHhlMywweDAxIH0gfSwKLXsgIDE2LCAweGI5MTAsIDAsIHsweDM4LDB4YzEsMHgwZSwweGI0LDB4MDMsMHhhYywweDgwLDB4Y2EsMHgxOCwweDNhLDB4ZDAsMHgyYywweDMwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGI5MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2YsMHg0MCwweGI5LDB4ODgsMHgyZSwweDgwIH0gfSwKLXsgIDE2LCAweGI5MzAsIDAsIHsweDA4LDB4YmMsMHgwMiwweGEzLDB4MDAsMHhiMCwweDAwLDB4MGUsMHhjMCwweDA4LDB4YjAsMHgwNiwweDIwLDB4MDAsMHg4ZiwweDA0IH0gfSwKLXsgIDE2LCAweGI5NDAsIDAsIHsweDIzLDB4YzEsMHgwOCwweGI5LDB4MTIsMHgyZiwweDAwLDB4ODMsMHg4MCwweDM2LDB4NDAsMHgwOCwweGFkLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGI5NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIyLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGI5NjAsIDAsIHsweDA5LDB4MzIsMHgwMiwweDg0LDB4MDAsMHgzMywweDAwLDB4MmMsMHhiMiwweDBhLDB4MzYsMHgxMiwweDhjLDB4MDgsMHg5MywweDA1IH0gfSwKLXsgIDE2LCAweGI5NzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDE4LDB4MDIsMHhlZCwweDAwLDB4OTEsMHg4MCwweDZhLDB4MDAsMHgwOCwweDEwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGI5ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGI5OTAsIDAsIHsweDA5LDB4NzgsMHgwMiwweDk3LDB4NDAsMHhiNCwweDgwLDB4MmYsMHhhMCwweDA4LDB4ZTgsMHgwMiwweDBlLDB4NDAsMHg5NywweDgyIH0gfSwKLXsgIDE2LCAweGI5YTAsIDAsIHsweDIxLDB4ZTAsMHg5OCwweDY4LDB4ODIsMHgxYSwweDE4LDB4OWQsMHg5MCwweDJkLDB4YTEsMHgxOCwweDU4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGI5YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHhjMCwweGYzLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGI5YzAsIDAsIHsweDBkLDB4YjAsMHg0MywweDg0LDB4NDAsMHhmMCwweDAwLDB4M2MsMHg4MiwweDBlLDB4MzgsMHgxMiwweDhjLDB4NDQsMHhmMywweDMwIH0gfSwKLXsgIDE2LCAweGI5ZDAsIDAsIHsweGJhLDB4YzEsMHgxZSwweDEwLDB4NDcsMHg4ZSwweDIyLDB4ZDEsMHgxMCwweDM4LDB4MTgsMHgwYywweDMwLDB4ODMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGI5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHg0MCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGI5ZjAsIDAsIHsweDBlLDB4ZTAsMHgwMywweGY0LDB4NDAsMHhmYywweDAwLDB4M2QsMHhjNCwweDBmLDB4ZDAsMHgwMSwweGY0LDB4NDEsMHhlZiwweDE4IH0gfSwKLXsgIDE2LCAweGJhMDAsIDAsIHsweDNmLDB4YzQsMHgxZiwweGYwLDB4MDMsMHhmOCwweDQ4LDB4ZWYsMHgxNCwweDMzLDB4ODAsMHgwZiwweGMxLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGJhMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZmMsMHg0MCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGJhMjAsIDAsIHsweDBmLDB4OTgsMHgwMywweDI0LDB4MDAsMHhjYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweGE4LDB4MDAsMHhkYiwweDI4IH0gfSwKLXsgIDE2LCAweGJhMzAsIDAsIHsweDNlLDB4YzQsMHgxZiwweDkwLDB4MjMsMHhlYywweDAwLDB4Y2EsMHgwMCwweDMyLDB4ZTAsMHgwYywweDkwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweGJhNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHg4MCwweGI3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGJhNTAsIDAsIHsweDRiLDB4NTAsMHg1MiwweDE0LDB4MDAsMHhkNCwweDAxLDB4MmQsMHg4MCwweDBiLDB4NjAsMHgwMiwweGQ4LDB4MDAsMHhhNywweDIwIH0gfSwKLXsgIDE2LCAweGJhNjAsIDAsIHsweDJkLDB4YzUsMHgwYiwweDQwLDB4MTYsMHhkYywweDAwLDB4ODQsMHgwMCwweDIzLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweGJhNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg4MCwweGI3LDB4ODAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGJhODAsIDAsIHsweDBiLDB4NzgsMHgwYSwweDk2LDB4MDAsMHg5NCwweDgwLDB4MmQsMHg2MCwweDFiLDB4NzgsMHgwNiwweGQyLDB4MDAsMHhhNywweDgwIH0gfSwKLXsgIDE2LCAweGJhOTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweDc4LDB4MjIsMHhkZSwweDAwLDB4ODcsMHg4MiwweDIxLDB4ZTAsMHgwOCwweDU4LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGJhYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4ZTQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGJhYjAsIDAsIHsweDFiLDB4MjEsMHgwMiwweDgxLDB4MDAsMHg5MCwweDAwLDB4MmMsMHhjOCwweDBiLDB4MzksMHgwMiwweGNlLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGJhYzAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDAwLDB4OGIsMHgyMCwweDIwLDB4ZjAsMHgwOCwweGIyLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweGJhZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4YTAsMHgzZiwweDgyIH0gfSwKLXsgIDE2LCAweGJhZTAsIDAsIHsweDBmLDB4ZTgsMHgwMywweDk4LDB4MzAsMHhkNiwweDAwLDB4M2YsMHhhMCwweDBmLDB4ZTAsMHgwMywweGJhLDB4YzAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGJhZjAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGVjLDB4MzMsMHhmOCwweDAyLDB4Y2UsMHgwMCwweGIzLDB4YjgsMHgyYywweGVjLDB4ODMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweGJiMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgxOCwweGY4LDB4NDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGJiMTAsIDAsIHsweDBmLDB4ODAsMHgwMiwweDYwLDB4ODQsMHhmOCwweDA1LDB4MmUsMHgwNCwweDhmLDB4ODAsMHg0MSwweGUwLDB4MDAsMHg3OCwweDAyIH0gfSwKLXsgIDE2LCAweGJiMjAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgxLDB4ODMsMHhlMCwweDIwLDB4ZjgsMHgwMCwweGJlLDB4MDIsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGJiMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTYsMHgxOCwweGY5LDB4MjAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGJiNDAsIDAsIHsweDBmLDB4OWMsMHgwMywweGU0LDB4NDAsMHhjOSwweDAwLDB4MzIsMHg2MSwweDBjLDB4OTAsMHgxMywweGM0LDB4MDgsMHhjOSwweDAxIH0gfSwKLXsgIDE2LCAweGJiNTAsIDAsIHsweDNlLDB4NDEsMHgwZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4YzksMHhhMCwweDMyLDB4NDAsMHgwZiwweDk4LDB4NDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGJiNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjUsMHgwMCwweGIxLDB4YzAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGJiNzAsIDAsIHsweDBiLDB4OWMsMHgwMiwweGU3LDB4MTAsMHg4OSwweDAwLDB4MjgsMHg0NCwweDA4LDB4OTQsMHgyMiwweGU0LDB4MTAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGJiODAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDlmLDB4MjIsMHgyNiwweDYwLDB4ODksMHg4MCwweDIyLDB4NDAsMHgwYiwweDkxLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGJiOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHg4MCwweGI5LDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGJiYTAsIDAsIHsweDRiLDB4YjQsMHgwMiwweGU0LDB4MjAsMHg4OSwweDIwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGVjLDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGJiYjAsIDAsIHsweDJlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODksMHg0MCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGJiYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweGIxLDB4MDQsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGJiZDAsIDAsIHsweDhiLDB4MTAsMHgwMiwweGU0LDB4MDUsMHg4MSwweDAwLDB4MjgsMHg0MCwweDI4LDB4MTIsMHgxMiwweGM0LDB4ODIsMHg4MSwweDIwIH0gfSwKLXsgIDE2LCAweGJiZTAsIDAsIHsweDJjLDB4NDgsMHgwYiwweDEyLDB4MGEsMHgwNCwweDgyLDB4ODEsMHgwMCwweDIwLDB4NDgsMHgwYiwweDEyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGJiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHhhMCwweGZhLDB4MDIsMHgzZSwweDE0IH0gfSwKLXsgIDE2LCAweGJjMDAsIDAsIHsweDBmLDB4ODUsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODUsMHgwMywweGMxLDB4NDAsMHhjOCwweDUzIH0gfSwKLXsgIDE2LCAweGJjMTAsIDAsIHsweDNlLDB4MTQsMHgwZiwweDgwLDB4MDMsMHgwMSwweDQ4LDB4YzAsMHg1MCwweGIyLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGJjMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHgwMCwweGZkLDB4MDAsMHhiZiwweDQwIH0gfSwKLXsgIDE2LCAweGJjMzAsIDAsIHsweDBmLDB4NTAsMHgxMywweGQ0LDB4MDIsMHhmZCwweDAwLDB4MmYsMHhjMCwweDBmLDB4ZDEsMHgwMywweGY0LDB4NDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGJjNDAsIDAsIHsweDNlLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhmNCwweDQwLDB4ZmYsMHgwMCwweGJmLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGJjNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHhhMCwweGZkLDB4MDEsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGJjNjAsIDAsIHsweDBmLDB4ZDEsMHgwMywweGQ0LDB4MDAsMHhjNSwweDAwLDB4MzMsMHg0MSwweDBmLDB4ZGIsMHgwMywweDI3LDB4MjAsMHhkOSwweGUwIH0gfSwKLXsgIDE2LCAweGJjNzAsIDAsIHsweGIyLDB4NzAsMHgwZCwweGRhLDB4ODMsMHhmNiwweDQwLDB4Y2YsMHgxMCwweDMyLDB4NzgsMHgyZCwweGRhLDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGJjODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4MDAsMHgyZSwweDI4IH0gfSwKLXsgIDE2LCAweGJjOTAsIDAsIHsweDBiLDB4ODgsMHg0MiwweGUwLDB4MTAsMHhkOCwweDAwLDB4MjIsMHgwMCwweDBiLDB4OGMsMHgwYSwweDIzLDB4MDAsMHg4OCwweGMwIH0gfSwKLXsgIDE2LCAweGJjYTAsIDAsIHsweDIyLDB4MjgsMHgwOCwweDg0LDB4MDIsMHhjMiwweDgwLDB4ODAsMHhhMCwweDIyLDB4MzAsMHg0OCwweGFhLDB4ODIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGJjYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGJjYzAsIDAsIHsweDhiLDB4MTIsMHgwMiwweGM0LDB4MDAsMHg5OSwweDAyLDB4MjgsMHg0MCwweDhiLDB4MTYsMHgwMiwweDg0LDB4ODEsMHg5MSwweDMwIH0gfSwKLXsgIDE2LCAweGJjZDAsIDAsIHsweDIwLDB4NTgsMHgwOSwweDEwLDB4MDIsMHhjNSwweDAwLDB4ODEsMHgwMCwweDY0LDB4NGQsMHgwOCwweDM0LDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGJjZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YWMsMHgwYywweGI5LDB4MDQsMHgyZSwweDQ4IH0gfSwKLXsgIDE2LCAweGJjZjAsIDAsIHsweDBiLDB4OTQsMHgwNiwweGU0LDB4MDAsMHg5OSwweDQwLDB4YWEsMHg0MCwweDBiLDB4OTIsMHgyMiwweGE0LDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGJkMDAsIDAsIHsweDYwLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ODksMHg4MCwweGE2LDB4NTAsMHgwOCwweDkyLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGJkMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4OTgsMHgzZSwweDQ4IH0gfSwKLXsgIDE2LCAweGJkMjAsIDAsIHsweDBmLDB4OTgsMHgwMywweGU1LDB4MjAsMHhkOSwweDAwLDB4M2EsMHg2NCwweDBmLDB4OTQsMHg4MywweGE0LDB4YzAsMHhkOSwweDAyIH0gfSwKLXsgIDE2LCAweGJkMzAsIDAsIHsweDcyLDB4NDAsMHg0ZCwweDkwLDB4NDIsMHhlNCwweDgyLDB4YzksMHg0MCwweDM2LDB4NDAsMHgwYywweDkwLDB4MGIsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGJkNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YWMsMHgyOCwweGY5LDB4ODgsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGJkNTAsIDAsIHsweDBmLDB4OTksMHgxMywweGU3LDB4MDAsMHhmOSwweGMwLDB4MzYsMHg2MCwweDBmLDB4OTAsMHgwMywweDY2LDB4MDAsMHhmMSwweDAwIH0gfSwKLXsgIDE2LCAweGJkNjAsIDAsIHsweDdlLDB4NDAsMHgwZiwweDk5LDB4MDcsMHhlNCwweDYwLDB4ZjksMHgwMCwweDM4LDB4NDAsMHgwZiwweDk4LDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGJkNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MTAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGJkODAsIDAsIHsweDBmLDB4ODIsMHgwYiwweDIxLDB4MDAsMHhlOCwweDAwLDB4MzYsMHgwNCwweDBjLDB4ODYsMHgwMywweGUxLDB4MDAsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweGJkOTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHg2MSwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDAwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGJkYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgyMCwweGJlLDB4MDAsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGJkYjAsIDAsIHsweDI4LDB4ZWMsMHgwMiwweDE5LDB4MDQsMHg4MiwweDAwLDB4MDMsMHg4MCwweDBkLDB4ZTQsMHg4MiwweGU4LDB4MDAsMHg4YSwweDAxIH0gfSwKLXsgIDE2LCAweGJkYzAsIDAsIHsweGFhLDB4ODAsMHg4YiwweGVkLDB4ODIsMHgzYiwweDgwLDB4OGUsMHg5MCwweDM2LDB4ODAsMHgwYiwweGUwLDB4MDMsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGJkZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDIsMHgwMCwweGIzLDB4ODAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGJkZTAsIDAsIHsweDZiLDB4MzQsMHgxNiwweDQwLDB4YzAsMHg4MywweDEwLDB4MjQsMHg3MiwweDg4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGJkZjAsIDAsIHsweDI0LDB4YzAsMHgwYiwweDA0LDB4MDIsMHg2ZiwweDA5LDB4OWIsMHgwMCwweDI0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGJlMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTQsMHgwMCwweGI3LDB4ODAsMHgyMywweGU0IH0gfSwKLXsgIDE2LCAweGJlMTAsIDAsIHsweDI4LDB4NzgsMHg4MiwweDc0LDB4MTQsMHg4ZiwweDAwLDB4NjEsMHhlMCwweDA5LDB4NTAsMHgxMiwweGRjLDB4MDQsMHg4NywweDIyIH0gfSwKLXsgIDE2LCAweGJlMjAsIDAsIHsweDI1LDB4YzgsMHgxYiwweDc4LDB4MDIsMHgxNCwweDAwLDB4OTQsMHg0MCwweGE1LDB4YzAsMHgwYiwweDYwLDB4MjIsMHg2OCwweDAwIH0gfSwKLXsgIDE2LCAweGJlMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgyMCwweGI3LDB4ODAsMHhiMSwweGUwIH0gfSwKLXsgIDE2LCAweGJlNDAsIDAsIHsweDhmLDB4ZjgsMHgwMywweDEyLDB4MDIsMHhlNywweDgwLDB4MzUsMHhlMCwweDBjLDB4NjgsMHgwNiwweGNmLDB4YzIsMHhjZiwweGIwIH0gfSwKLXsgIDE2LCAweGJlNTAsIDAsIHsweDI1LDB4ZjQsMHgwZiwweDU4LDB4MDMsMHg1YSwweDAyLDB4ZDUsMHg4MCwweDc1LDB4ZmEsMHg0ZiwweGY4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGJlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YTUsMHg5MCwweGYzLDB4MDAsMHgzZCwweGMwIH0gfSwKLXsgIDE2LCAweGJlNzAsIDAsIHsweDRmLDB4YjAsMHgxMywweGE4LDB4MDQsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBmLDB4ODAsMHg0MywweGVjLDB4ODAsMHhlYiwweDYwIH0gfSwKLXsgIDE2LCAweGJlODAsIDAsIHsweDNhLDB4YzksMHgwZiwweDMwLDB4MDMsMHhlYywweDAwLDB4ZTksMHgwMCwweDNlLDB4YzgsMHgwZiwweGEwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGJlOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGVlLDB4ODAsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGJlYTAsIDAsIHsweDBkLDB4ODksMHgwMywweGQyLDB4NDAsMHhlNSwweDgxLDB4MzksMHhlMCwweDNjLDB4ZjksMHgwNywweGZlLDB4MDAsMHhjZiwweDg4IH0gfSwKLXsgIDE2LCAweGJlYjAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGU4LDB4MDMsMHhmMiwweDA4LDB4Y2UsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGJlYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OTQsMHg0NCwweGM2LDB4MDAsMHgyZiwweGMwIH0gfSwKLXsgIDE2LCAweGJlZDAsIDAsIHsweDA4LDB4NTgsMHgwMiwweGQwLDB4YzQsMHg4NSwweDI0LDB4MjEsMHg5MCwweDA4LDB4NTQsMHgxMiwweGRjLDB4ODIsMHgwNywweDAwIH0gfSwKLXsgIDE2LCAweGJlZTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcwLDB4MDYsMHhkNCwweDAwLDB4OGUsMHg0OCwweDIxLDB4YzAsMHgwYSwweDYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGJlZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGE3LDB4NDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGJmMDAsIDAsIHsweDA4LDB4NDIsMHgwMiwweGQwLDB4MDAsMHhhZCwweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgyMiwweGRjLDB4MjgsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGJmMTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHg5OCwweDAwLDB4OTcsMHgwMCwweGEwLDB4YzQsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGJmMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwOCwweDkzLDB4MDAsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweGJmMzAsIDAsIHsweDA4LDB4M2MsMHgyMiwweGMxLDB4MDAsMHg4MSwweDAwLDB4MjAsMHg4MCwweDg4LDB4MTUsMHgwMiwweGNlLDB4MzAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGJmNDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDNjLDB4MDIsMHhjYywweDA0LDB4OTMsMHhjMCwweDIwLDB4ZjQsMHg0YSwweDBjLDB4ODIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGJmNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGUzLDB4YzAsMHgxZiwweGUwIH0gfSwKLXsgIDE2LCAweGJmNjAsIDAsIHsweDZjLDB4MTAsMHg4MywweGUwLDB4MDQsMHhlYiwweDAwLDB4M2EsMHg1MiwweDRjLDB4YjQsMHgwMywweGZlLDB4MDIsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGJmNzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweDg0LDB4NDMsMHhlMSwweDAyLDB4ZDgsMHhjMiwweDMzLDB4YzAsMHgwYywweDg0LDB4MGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGJmODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTksMHgwMCwweGViLDB4MTAsMHgzZSwweGM0IH0gfSwKLXsgIDE2LCAweGJmOTAsIDAsIHsweDBlLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmYiwweDE4LDB4M2UsMHhjMiwweDBmLDB4YjYsMHgwMywweGVjLDB4MDAsMHhmYiwweDAxIH0gfSwKLXsgIDE2LCAweGJmYTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweDM1LDB4MDMsMHhjNCwweDI4LDB4ZWEsMHg0MiwweDNlLDB4YzAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGJmYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHg0MCwweGZmLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGJmYzAsIDAsIHsweDBjLDB4YzAsMHhhMywweDMwLDB4MjgsMHhjZCwweGEwLDB4MzMsMHhjMCwweDBjLDB4ZTgsMHgwMywweDBjLDB4MDAsMHhlZiwweDA1IH0gfSwKLXsgIDE2LCAweGJmZDAsIDAsIHsweDNkLDB4YzAsMHgwYywweGNhLDB4ODMsMHgzYywweDAwLDB4Y2QsMHgwOCwweDNmLDB4YzIsMHgwYywweGEwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweGJmZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NjcsMHgwMCwweGJiLDB4ODAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGJmZjAsIDAsIHsweDA4LDB4YWEsMHgwMiwweDA4LDB4MDAsMHhhMSwweDAxLDB4MzQsMHhkMSwweDA4LDB4YTQsMHgxMiwweDJjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGMwMDAsIDAsIHsweDZlLDB4YzAsMHg4OCwweGIyLDB4MDIsMHgyYywweDA4LDB4ODksMHg4MCwweDJlLDB4YzAsMHgwYSwweGE4LDB4MDMsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweGMwMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJhLDB4ODAsMHhhMiwweGMwIH0gfSwKLXsgIDE2LCAweGMwMjAsIDAsIHsweDA4LDB4YTgsMHgwYSwweGEwLDB4MDAsMHg4YiwweDAwLDB4YTIsMHhjMCwweDQ4LDB4MTEsMHgwMiwweGFjLDB4MDQsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGMwMzAsIDAsIHsweDJlLDB4YzAsMHgwMCwweDgwLDB4MTIsMHgyYSwweDA4LDB4OGIsMHgxNCwweDJjLDB4YzAsMHgwOCwweDg4LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGMwNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweGIyLDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGMwNTAsIDAsIHsweDA4LDB4YjIsMHgxMiwweDgwLDB4MDAsMHhhYiwweDAxLDB4MjQsMHhjMCwweDA4LDB4MDAsMHgwMiwweDBjLDB4MDQsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGMwNjAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwNywweDAwLDB4ODIsMHgwMCwweDI0LDB4YzAsMHgwOCwweDA4LDB4MDIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweGMwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGMwODAsIDAsIHsweDBjLDB4YTIsMHgwMywweGEwLDB4MDAsMHhjOSwweDAwLDB4MzIsMHhjMCwweDI0LDB4OTQsMHgwMywweDNjLDB4MDIsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGMwOTAsIDAsIHsweDJmLDB4YzAsMHgwNCwweDgwLDB4MGIsMHgwOSwweDAyLDB4Y2IsMHgwMSwweDNmLDB4YzAsMHgyYywweGEwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweGMwYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZGMsMHgwMCwweGZkLDB4MDIsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGMwYjAsIDAsIHsweDRmLDB4ZTQsMHgxMywweDcwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzIsMHg4MywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGMwYzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhhOCwweDA2IH0gfSwKLXsgIDE2LCAweGMwZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgyMCwweGVmLDB4MzAsMHgzZiwweDA0IH0gfSwKLXsgIDE2LCAweGMwZTAsIDAsIHsweDZjLDB4ODgsMHgwMywweDNhLDB4NDIsMHhlNCwweDkxLDB4M2YsMHgwZCwweDBkLDB4NDgsMHgwMywweDNjLDB4YzAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweGMwZjAsIDAsIHsweDMzLDB4NDQsMHgwYywweGY0LDB4MDMsMHhmYywweDgyLDB4ZGYsMHgzMCwweDMzLDB4NjAsMHgwZCwweGYxLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGMxMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4ZWQsMHgwMCwweDhiLDB4NzAsMHgyZSwweDE4IH0gfSwKLXsgIDE2LCAweGMxMTAsIDAsIHsweDg4LDB4MjIsMHg0YSwweDJjLDB4ODIsMHhlYSwweDI2LDB4MmUsMHgwYywweDBiLDB4YjgsMHg0MiwweDNkLDB4ODAsMHhiZiwweDkwIH0gfSwKLXsgIDE2LCAweGMxMjAsIDAsIHsweDJhLDB4NTQsMHgyOCwweGI0LDB4MDIsMHhjZCwweDAwLDB4ZGIsMHg0MCwweDJhLDB4NGEsMHg0OCwweDMwLDB4MDIsMHhhMCwweDA0IH0gfSwKLXsgIDE2LCAweGMxMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHhiMCwweGEzLDB4MDAsMHg2YywweDEwIH0gfSwKLXsgIDE2LCAweGMxNDAsIDAsIHsweDA5LDB4MDAsMHg4MiwweDIwLDB4ODIsMHhhMCwweDIwLDB4MmMsMHg4OCwweDRiLDB4ODAsMHgwMCwweDBjLDB4NDAsMHhiMywweDAxIH0gfSwKLXsgIDE2LCAweGMxNTAsIDAsIHsweDIwLDB4NDgsMHgwYiwweDM2LDB4MDIsMHg4YywweGUwLDB4ODMsMHg2NCwweDI0LDB4NDAsMHgyOCwweDMyLDB4MDIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGMxNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDExLDB4YWMsMHgwMCwweDhiLDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGMxNzAsIDAsIHsweDA5LDB4ODAsMHg4MCwweGE2LDB4MDAsMHhiYSwweDExLDB4MmUsMHg4OCwweDBiLDB4YjAsMHgwMCwweDJjLDB4MDAsMHhiYiwweDAyIH0gfSwKLXsgIDE2LCAweGMxODAsIDAsIHsweDAyLDB4NDAsMHgwOSwweGIwLDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMCwweDJjLDB4YzgsMHgwOCwweGI4LDB4ODIsMHhiMCwweDA0IH0gfSwKLXsgIDE2LCAweGMxOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzZSwweDkyIH0gfSwKLXsgIDE2LCAweGMxYTAsIDAsIHsweDBkLDB4ODAsMHgwMywweDBhLDB4MjAsMHhlOSwweDAwLDB4M2UsMHg1MCwweDQ1LDB4ODAsMHgwMSwweDJjLDB4MDQsMHhmMywweDAwIH0gfSwKLXsgIDE2LCAweGMxYjAsIDAsIHsweDkwLDB4NjAsMHgwOSwweGIwLDB4MDMsMHhlYywweDAwLDB4OGIsMHgwMiwweDI2LDB4NTAsMHg4ZCwweGJjLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGMxYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDIsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGMxZDAsIDAsIHsweDBlLDB4ZjksMHgwMiwweDdjLDB4MjIsMHhhZiwweDAwLDB4M2YsMHg2MCwweDAzLDB4YzAsMHgwYiwweGZjLDB4MTAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGMxZTAsIDAsIHsweDNmLDB4NGEsMHg0ZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZjcsMHgwMCwweDJiLDB4NjAsMHgwZiwweDcwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGMxZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDAsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGMyMDAsIDAsIHsweDBmLDB4ODIsMHgwYiwweGE5LDB4MDAsMHhjOSwweDAwLDB4MzIsMHhkMiwweDBmLDB4YTAsMHg4MywweGFjLDB4MDAsMHhjYiwweDEwIH0gfSwKLXsgIDE2LCAweGMyMTAsIDAsIHsweDNlLDB4NDAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZGIsMHgwMCwweDMyLDB4NTAsMHgyYywweDk1LDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGMyMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2MsMHgwNCwweGJmLDB4MDIsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGMyMzAsIDAsIHsweDBiLDB4OTgsMHgwMCwweDI5LDB4MDAsMHhjYiwweDQwLDB4MjIsMHhjMCwweDBiLDB4MjQsMHgwMiwweDNjLDB4MDgsMHg4ZiwweDUwIH0gfSwKLXsgIDE2LCAweGMyNDAsIDAsIHsweDJlLDB4NTAsMHgwZCwweGYwLDB4MDIsMHhmZCwweDQyLDB4OGYsMHg1OCwweDIyLDB4ZTAsMHg0OCwweGI1LDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGMyNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDQwIH0gfSwKLXsgIDE2LCAweGMyNjAsIDAsIHsweDRiLDB4OTQsMHgwMCwweDQ5LDB4MDAsMHg5MCwweDgwLDB4MDQsMHgzMCwweDA5LDB4MDAsMHgwZSwweDRjLDB4MDAsMHg4MywweDgwIH0gfSwKLXsgIDE2LCAweGMyNzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDMwLDB4MjIsMHg2ZSwweDQyLDB4ODMsMHg4MCwweDIwLDB4NDgsMHgwOCwweDM4LDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGMyODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHg2NSwweDIwIH0gfSwKLXsgIDE2LCAweGMyOTAsIDAsIHsweDBiLDB4NzgsMHg4MiwweDdhLDB4MDgsMHg4YywweGMwLDB4MjUsMHhhMywweDRiLDB4NzgsMHgwMiwweDVlLDB4MDQsMHg4NywweDg0IH0gfSwKLXsgIDE2LCAweGMyYTAsIDAsIHsweDJkLDB4NjEsMHg4OSwweDc4LDB4MDIsMHhkZSwweDA0LDB4ODcsMHg4MCwweGU5LDB4NjIsMHgwOCwweDc4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGMyYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGZiLDB4MDAsMHgzNCwweDQ4IH0gfSwKLXsgIDE2LCAweGMyYzAsIDAsIHsweDBmLDB4M2IsMHgwMywweDQ4LDB4MDAsMHg5MywweDQ4LDB4MzQsMHg1MCwweDBkLDB4MDAsMHgwMywweDZjLDB4MDAsMHhjMywweDEwIH0gfSwKLXsgIDE2LCAweGMyZDAsIDAsIHsweDFjLDB4YzIsMHgwNSwweDMwLDB4MDMsMHhjYywweDQwLDB4Y2IsMHgwMCwweDMyLDB4NDAsMHgwYywweDIwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGMyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgyMCwweGZmLDB4MDEsMHgwMywweDQwIH0gfSwKLXsgIDE2LCAweGMyZjAsIDAsIHsweDBmLDB4ZjAsMHgyMywweDFjLDB4MDAsMHhmZiwweDAwLDB4M2IsMHg4MCwweDBmLDB4YjAsMHgyMywweDNjLDB4MDIsMHhmZiwweDUwIH0gfSwKLXsgIDE2LCAweGMzMDAsIDAsIHsweDNkLDB4YzQsMHgwZiwweGYxLDB4MDMsMHhlYywweDAwLDB4ZWYsMHgwMCwweGI3LDB4YzAsMHgwZiwweGUxLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGMzMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzZSwweGUwIH0gfSwKLXsgIDE2LCAweGMzMjAsIDAsIHsweDBjLDB4ODAsMHgwMywweDQ4LDB4MDIsMHhjOCwweDgxLDB4MzIsMHgwMCwweDBmLDB4OTAsMHg0MiwweGVjLDB4YTAsMHhmYiwweDEwIH0gfSwKLXsgIDE2LCAweGMzMzAsIDAsIHsweDNlLDB4ZTAsMHgwYywweGIxLDB4MDMsMHhlYywweDQwLDB4ZmIsMHgxMCwweDMyLDB4NDAsMHgxZiwweGYwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGMzNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MjQsMHgyZCwweDgwIH0gfSwKLXsgIDE2LCAweGMzNTAsIDAsIHsweDA4LDB4NzAsMHg0MiwweGQ4LDB4MTAsMHg4YywweDAyLDB4MjEsMHg0MCwweDBiLDB4NTAsMHgwMiwweGRkLDB4MDAsMHhlNywweDIwIH0gfSwKLXsgIDE2LCAweGMzNjAsIDAsIHsweDJmLDB4NDAsMHgwOCwweDcwLDB4MDIsMHhkYywweDA1LDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGMzNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4OTAsMHgyZiwweDQwIH0gfSwKLXsgIDE2LCAweGMzODAsIDAsIHsweDBhLDB4NjgsMHgwMiwweDdhLDB4MDAsMHg5NywweDgwLDB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweGMzOTAsIDAsIHsweDJkLDB4ZTAsMHgwOCwweDc4LDB4MDYsMHhkZSwweDAwLDB4YjcsMHhhMCwweDIxLDB4NjAsMHgwYiwweDc4LDB4NDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGMzYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGMzYjAsIDAsIHsweDBhLDB4MzQsMHgwMiwweGM4LDB4MDAsMHg4MywweDRhLDB4MjAsMHhmOCwweDBiLDB4MzEsMHgwMiwweGNjLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGMzYzAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4YjIsMHgwYiwweDIwLDB4NDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGMzZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGJhLDB4MDAsMHgzZiwweDg4IH0gfSwKLXsgIDE2LCAweGMzZTAsIDAsIHsweDJlLDB4ZTAsMHg0MywweDU5LDB4ODgsMHhkZSwweDAwLDB4MzMsMHhiMCwweDBmLDB4NmMsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGMzZjAsIDAsIHsweDNlLDB4ODAsMHgyYywweGEwLDB4MDMsMHhlOCwweDA0LDB4ZmEsMHgwMCwweDIzLDB4YjgsMHgwZiwweGUwLDB4OGIsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGM0MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwNCwweGY4LDB4MDEsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGM0MTAsIDAsIHsweDA5LDB4ODIsMHgyMSwweGUwLDB4MDAsMHhmOCwweDQwLDB4YmUsMHgxNCwweDBmLDB4ODQsMHg4MSwweGUwLDB4MDAsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGM0MjAsIDAsIHsweDNlLDB4MDAsMHgxZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweGJlLDB4MDAsMHgwZiwweDg4LDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGM0MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGUxLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGM0NDAsIDAsIHsweDBjLDB4OTAsMHg0MywweGU0LDB4MjAsMHhkOSwweDAwLDB4M2MsMHg0NCwweDA4LDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAxIH0gfSwKLXsgIDE2LCAweGM0NTAsIDAsIHsweDNlLDB4NDgsMHgwZiwweDEwLDB4NDMsMHgyNSwweDAwLDB4YzksMHgwMCwweGIyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGM0NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MDAsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweGM0NzAsIDAsIHsweDA4LDB4OTgsMHgwMiwweGU2LDB4MDgsMHhhOSwweDYwLDB4MmUsMHg0OSwweDA4LDB4OTQsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGM0ODAsIDAsIHsweDJlLDB4NzAsMHgwYiwweDkwLDB4MDIsMHgyNiwweDAyLDB4ODksMHgwMCwweGEwLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGM0OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGM0YTAsIDAsIHsweDA4LDB4OTgsMHgwNCwweGU2LDB4MDAsMHg5OSwweDgwLDB4MmUsMHg0MCwweDBhLDB4YjEsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGM0YjAsIDAsIHsweDBlLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgwNCwweDAwLDB4ODEsMHgwMSwweDIyLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGM0YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MCwweGIxLDB4MjAsMHgyMiwweDQ4IH0gfSwKLXsgIDE2LCAweGM0ZDAsIDAsIHsweDA4LDB4MTgsMHgwNiwweGM0LDB4MDAsMHhhMSwweDAwLDB4MmMsMHg0OCwweDJhLDB4MzAsMHgwMiwweDA0LDB4ODAsMHhiMSwweDIyIH0gfSwKLXsgIDE2LCAweGM0ZTAsIDAsIHsweDJjLDB4NDgsMHgwYiwweDEyLDB4MDIsMHgwNSwweDgwLDB4ODEsMHg2MCwweDIyLDB4NTAsMHgwYSwweDE0LDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGM0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDE0IH0gfSwKLXsgIDE2LCAweGM1MDAsIDAsIHsweDBjLDB4ODUsMHgwMywweGUxLDB4NDAsMHhkOCwweDUwLDB4M2UsMHgxNCwweDBlLDB4ODAsMHgwYiwweDIxLDB4NDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGM1MTAsIDAsIHsweDNlLDB4OTQsMHgwZiwweDg1LDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGM1MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHg0MSwweGY5LDB4MTAsMHgzZCwweDQ1IH0gfSwKLXsgIDE2LCAweGM1MzAsIDAsIHsweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0NSwweDBkLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGM1NDAsIDAsIHsweDNmLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQyLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweGQ0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGM1NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGM1NjAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGY0LDB4MDgsMHg4ZCwweDAyLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4MDAsMHhjZCwweDAwIH0gfSwKLXsgIDE2LCAweGM1NzAsIDAsIHsweDMzLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHg0YywweDk4LDB4MjMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGM1ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGM1OTAsIDAsIHsweDQ4LDB4ODAsMHgwMiwweGU4LDB4MDAsMHhkMCwweDAwLDB4MmUsMHg4MCwweDBiLDB4ODAsMHgxMiwweGUwLDB4MDIsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGM1YTAsIDAsIHsweGEyLDB4MDAsMHgwYSwweDgwLDB4MTIsMHgyMiwweDAwLDB4YjgsMHg4MSwweDIyLDB4MjgsMHgwOCwweGNmLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGM1YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGM1YzAsIDAsIHsweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHg5MSwweDAwIH0gfSwKLXsgIDE2LCAweGM1ZDAsIDAsIHsweDI2LDB4NDAsMHgwOSwweDEwLDB4MDIsMHg1NCwweGEwLDB4YjUsMHgyYywweGE1LDB4NDIsMHgwOCwweDUwLDB4ODIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGM1ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDUwIH0gfSwKLXsgIDE2LCAweGM1ZjAsIDAsIHsweDU4LDB4OTAsMHgwMiwweGU0LDB4ODAsMHg5YiwweDAwLDB4MmUsMHg0NSwweDhiLDB4OTIsMHgwMiwweGU0LDB4MDAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGM2MDAsIDAsIHsweDI2LDB4NDQsMHgwYiwweDkwLDB4MDIsMHg2NCwweDA4LDB4YjUsMHgwMCwweDI1LDB4NGEsMHgwOCwweDUxLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGM2MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDU0IH0gfSwKLXsgIDE2LCAweGM2MjAsIDAsIHsweDBjLDB4OTAsMHg0MywweGM0LDB4MDAsMHhjOSwweDkwLDB4M2UsMHg3MCwweDBmLDB4OTgsMHgwMywweGU0LDB4MDAsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweGM2MzAsIDAsIHsweDM0LDB4NjAsMHg0ZCwweDkwLDB4MGEsMHg2NCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgyYywweDllLDB4MDMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGM2NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGM2NTAsIDAsIHsweDBmLDB4OWMsMHgwMywweGU2LDB4MzAsMHhmOSwweDAwLDB4M2UsMHg2MiwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweGM2NjAsIDAsIHsweDNhLDB4NDAsMHg0ZSwweDkwLDB4MDMsMHhhNCwweDAwLDB4NzksMHgwYywweDNhLDB4NDAsMHgwZiwweDkwLDB4MWIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGM2NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGM2ODAsIDAsIHsweDBjLDB4ODEsMHgxMywweGUxLDB4MDgsMHhjOCwweDQ4LDB4MzIsMHgwMCwweDNjLDB4ODAsMHgwMywweGMwLDB4MDAsMHhmMCwweDEwIH0gfSwKLXsgIDE2LCAweGM2OTAsIDAsIHsweDNlLDB4MDYsMHgwYywweDgwLDB4MDMsMHhmMCwweDA4LDB4Y2MsMHgwMCwweDMzLDB4MDQsMHgwYywweGMwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGM2YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyZSwweDgwIH0gfSwKLXsgIDE2LCAweGM2YjAsIDAsIHsweDA4LDB4ZWMsMHg0MiwweGZhLDB4MjAsMHg4ZSwweDAwLDB4MjMsMHhhMCwweDA4LDB4ZTgsMHg0MiwweGU4LDB4MDAsMHhiZSwweDgwIH0gfSwKLXsgIDE2LCAweGM2YzAsIDAsIHsweDJmLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDIyLDB4ODAsMHg0OCwweGUwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGM2ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGM2ZTAsIDAsIHsweDA5LDB4MzQsMHg4MiwweGM5LDB4MDAsMHg4MywweDgwLDB4MjAsMHhmMCwweDA4LDB4MzAsMHg4MiwweGNjLDB4MDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweGM2ZjAsIDAsIHsweDJjLDB4ZjAsMHgwOCwweGIwLDB4MDIsMHhjMSwweDIwLDB4ODAsMHgwMCwweGEwLDB4MzIsMHgwOCwweDAwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGM3MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHhjMCwweGI3LDB4MDEsMHgyZiwweGM4IH0gfSwKLXsgIDE2LCAweGM3MTAsIDAsIHsweDg5LDB4NTAsMHgwMiwweGQ4LDB4MDIsMHg4NywweGM0LDB4MjEsMHhlMiwweDQ4LDB4NzAsMHg4MiwweGRjLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGM3MjAsIDAsIHsweDJjLDB4NDAsMHgwOCwweDcyLDB4MDIsMHhjZSwweDAwLDB4OTcsMHgwOCwweDIzLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGM3MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY3LDB4ZTEsMHgzZCwweGU4IH0gfSwKLXsgIDE2LCAweGM3NDAsIDAsIHsweDJkLDB4NjgsMHgwMywweGYyLDB4MDAsMHhjNywweDgwLDB4YjAsMHhlMCwweDA4LDB4NjgsMHgwMywweGRmLDB4ODAsMHhmNiwweDgwIH0gfSwKLXsgIDE2LCAweGM3NTAsIDAsIHsweDNkLDB4ZTAsMHg4YywweDdlLDB4MDMsMHhkYSwweDAwLDB4Y2MsMHg4MCwweDMxLDB4MjAsMHgwYywweGM4LDB4MGIsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGM3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwOCwweGZiLDB4MDAsMHgzYywweGMwIH0gfSwKLXsgIDE2LCAweGM3NzAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUwLDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGM3ODAsIDAsIHsweDNlLDB4NDAsMHgyZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgyZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGM3OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4OTIsMHg3ZiwweGVhIH0gfSwKLXsgIDE2LCAweGM3YTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhjYywweGEwLDB4M2YsMHgyMCwweDBkLDB4ZjksMHgwMywweDNlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGM3YjAsIDAsIHsweDMzLDB4NjAsMHgwZiwweGY4LDB4MDMsMHhmNiwweDAwLDB4ZWYsMHg4NCwweDMzLDB4ZTAsMHgyYywweGM4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGM3YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweGM4IH0gfSwKLXsgIDE2LCAweGM3ZDAsIDAsIHsweDA4LDB4NTQsMHgwMiwweGQ4LDB4MDAsMHhkNiwweDA0LDB4MmQsMHgwMSwweDA4LDB4NjksMHgwMiwweDFjLDB4MDAsMHg4NSwweDAwIH0gfSwKLXsgIDE2LCAweGM3ZTAsIDAsIHsweDIxLDB4NDMsMHgwYiwweDcwLDB4MDMsMHg5YSwweGMwLDB4OGMsMHgwMCwweGEzLDB4MDIsMHgwOCwweGYxLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGM3ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MDEsMHgyZCwweGNjIH0gfSwKLXsgIDE2LCAweGM4MDAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGQ0LDB4MDAsMHg5NCwweDI4LDB4MmQsMHhjMiwweDA4LDB4YzIsMHgwMiwweDVjLDB4MDAsMHg4NiwweDAwIH0gfSwKLXsgIDE2LCAweGM4MTAsIDAsIHsweDIxLDB4ODAsMHgwYiwweDcxLDB4MDIsMHhkYywweDAwLDB4YTcsMHgxMCwweDIxLDB4YzAsMHgwOCwweDQ4LDB4MDIsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGM4MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwOCwweGIzLDB4MDAsMHgyYywweGYwIH0gfSwKLXsgIDE2LCAweGM4MzAsIDAsIHsweDA4LDB4MDUsMHgwMiwweGMwLDB4MjAsMHg5MCwweDgwLDB4MmUsMHgwMCwweDA4LDB4MDAsMHg4MiwweDRjLDB4MDIsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGM4NDAsIDAsIHsweGEwLDB4NjEsMHgwYiwweDMwLDB4MDIsMHhhMCwweDAwLDB4ODAsMHgwMCwweGEwLDB4MzAsMHg4OCwweGIxLDB4MGEsMHg0OCwweDA0IH0gfSwKLXsgIDE2LCAweGM4NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZmLDB4MDAsMHgyZCwweGM4IH0gfSwKLXsgIDE2LCAweGM4NjAsIDAsIHsweDBjLDB4M2QsMHgwMywweGU0LDB4MDAsMHhkYiwweDAyLDB4M2UsMHhmMCwweDJjLDB4OTAsMHg0YiwweDdjLDB4MDAsMHhjMSwweDAwIH0gfSwKLXsgIDE2LCAweGM4NzAsIDAsIHsweDMyLDB4MjAsMHg0ZiwweGYwLDB4MTMsMHhlMCwweDAwLDB4ZTgsMHgwMSwweDMyLDB4MDAsMHg4YywweGFjLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweGM4ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweGMyIH0gfSwKLXsgIDE2LCAweGM4OTAsIDAsIHsweDRmLDB4YjAsMHgwMywweGUwLDB4MDQsMHhmYSwweDQwLDB4M2UsMHhjMiwweDRlLDB4OTgsMHgyMywweGFjLDB4MTAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGM4YTAsIDAsIHsweDNlLDB4NTAsMHgwNywweGIwLDB4MTMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzIsMHgwZiwweDkyLDB4MDMsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweGM4YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGNmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGM4YzAsIDAsIHsweDBjLDB4YzgsMHgyMywweDM2LDB4ODIsMHhjZiwweDgwLDB4M2YsMHg4MCwweDBjLDB4ZTAsMHgwMywweGVjLDB4MDAsMHhmOSwweDIwIH0gfSwKLXsgIDE2LCAweGM4ZDAsIDAsIHsweDMzLDB4YzAsMHgwZSwweGYwLDB4MDMsMHhmOCwweDEwLDB4ZGMsMHgwMCwweDMzLDB4MDAsMHg0YywweGU4LDB4MjEsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGM4ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGM4ZjAsIDAsIHsweDRhLDB4OGQsMHg0MiwweDIxLDB4MDAsMHg4YiwweDQyLDB4MmUsMHhkMiwweDA4LDB4YjAsMHgwMywweGVjLDB4MDAsMHhiOCwweDg4IH0gfSwKLXsgIDE2LCAweGM5MDAsIDAsIHsweDM0LDB4NjIsMHgwZCwweGIwLDB4MDIsMHhlNCwweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MGEsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGM5MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGM5MjAsIDAsIHsweDA4LDB4YTAsMHgwMiwweDBkLDB4MDAsMHg4OSwweDEwLDB4MmUsMHgwOCwweDI4LDB4OTIsMHgwMiwweGVjLDB4MDQsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGM5MzAsIDAsIHsweDIyLDB4YTAsMHgwOCwweGIwLDB4MDIsMHg2NCwweDAyLDB4YjMsMHgwMiwweDIwLDB4YzAsMHgwOCwweGEyLDB4MDIsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweGM5NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGM5NTAsIDAsIHsweDBhLDB4OTAsMHgyMiwweDBjLDB4MTAsMHg4MCwweDAwLDB4MmMsMHgwMCwweDE4LDB4MDIsMHg4MiwweGNjLDB4MDAsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGM5NjAsIDAsIHsweDI2LDB4NDAsMHgwOSwweDMwLDB4MDIsMHhjOCwweDIwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDEwLDB4MDYsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweGM5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGM5ODAsIDAsIHsweDBjLDB4YTEsMHgwMiwweDI0LDB4MDAsMHg4OCwweDAwLDB4M2MsMHgwMCwweDBjLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGM5OTAsIDAsIHsweDMyLDB4ODAsMHgwZSwweGIwLDB4MDMsMHhjYywweDgwLDB4ZGIsMHgwMCwweDMyLDB4YzAsMHgwYywweGEwLDB4MDMsMHg4MCwweDAzIH0gfSwKLXsgIDE2LCAweGM5YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGM5YjAsIDAsIHsweDRmLDB4YzIsMHgxMywweGQ0LDB4MTAsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4MDAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGM5YzAsIDAsIHsweDNmLDB4NDAsMHgwZiwweGYwLDB4MjMsMHhlMCwweDEyLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgwZiwweGQwLDB4MDMsMHg2OCwweDAyIH0gfSwKLXsgIDE2LCAweGM5ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGM3LDB4ODAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGM5ZTAsIDAsIHsweDhiLDB4YjQsMHgwMywweGIwLDB4YzAsMHhjZiwweDJlLDB4MWYsMHgwYywweDRmLDB4YzMsMHgwMywweDMwLDB4ODAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGM5ZjAsIDAsIHsweDNmLDB4MDgsMHgwZiwweGYwLDB4MDAsMHg3YywweDAwLDB4ZmYsMHgyMSwweDMzLDB4ZTQsMHgwYywweGUwLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGNhMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWUsMHgwMCwweDhiLDB4ODIsMHgyMywweGYwIH0gfSwKLXsgIDE2LCAweGNhMTAsIDAsIHsweDBiLDB4YjUsMHgxMiwweDBkLDB4ODgsMHg4OCwweGMwLDB4MGUsMHg5OCwweDBiLDB4ODYsMHgwMiwweDIxLDB4MDAsMHhiYiwweGMwIH0gfSwKLXsgIDE2LCAweGNhMjAsIDAsIHsweDJlLDB4ZTQsMHg0YiwweGY3LDB4ODMsMHgyZiwweDQ0LDB4YmYsMHg5MCwweDIyLDB4YzgsMHg0OCwweGE2LDB4ODIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGNhMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwOSwweDhhLDB4MDAsMHgyMCwweDUwIH0gfSwKLXsgIDE2LCAweGNhNDAsIDAsIHsweDRiLDB4YjIsMHgwYSwweDgwLDB4Y2MsMHg4MywweDAxLDB4MGMsMHg4YywweDBiLDB4MjMsMHgwYSwweDA0LDB4NjAsMHhiMywweDE0IH0gfSwKLXsgIDE2LCAweGNhNTAsIDAsIHsweDI0LDB4NDAsMHg0YiwweDMwLDB4MDIsMHhjYywweDEwLDB4YjMsMHgwMCwweDIwLDB4YzgsMHhlOSwweDExLDB4MDYsMHg2MiwweDAxIH0gfSwKLXsgIDE2LCAweGNhNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwMSwweDhhLDB4ODAsMHhhMiwweDQ0IH0gfSwKLXsgIDE2LCAweGNhNzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGExLDB4MDQsMHg4OCwweDQwLDB4MmUsMHhhMCwweDBiLDB4MjAsMHgwMiwweDI4LDB4MjAsMHhiYiwweDQwIH0gfSwKLXsgIDE2LCAweGNhODAsIDAsIHsweDJlLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyYywweDA4LDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHg3MCwweDA0IH0gfSwKLXsgIDE2LCAweGNhOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGMzLDB4ODMsMHgzMiwweGUwIH0gfSwKLXsgIDE2LCAweGNhYTAsIDAsIHsweDhmLDB4MDAsMHgwMywweGEwLDB4MDIsMHhjYiwweGM0LDB4M2UsMHgyOCwweDA3LDB4OGIsMHgwMywweDIxLDB4MDAsMHhmOSwweGMwIH0gfSwKLXsgIDE2LCAweGNhYjAsIDAsIHsweDNlLDB4MTAsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4N2IsMHgwMCwweDMyLDB4YzAsMHgwZCwweGEwLDB4MDMsMHg1MCwweDA0IH0gfSwKLXsgIDE2LCAweGNhYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4OWMsMHgwMiwweGZmLDB4MDAsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGNhZDAsIDAsIHsweDBmLDB4ZjQsMHg0MywweDVlLDB4ODAsMHhmYywweDk0LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyYiwweGYyLDB4NTAsMHhmZCwweDIxIH0gfSwKLXsgIDE2LCAweGNhZTAsIDAsIHsweDdlLDB4ODQsMHg4ZiwweGYwLDB4MDMsMHg2YywweDBjLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZSwweDYyLDB4MDMsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGNhZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGNiMDAsIDAsIHsweDJjLDB4ODAsMHgwMywweDY5LDB4MDAsMHhjYiwweDMwLDB4YjIsMHgwMCwweDRmLDB4YjMsMHg0MywweGU1LDB4MDAsMHhjYiwweDQwIH0gfSwKLXsgIDE2LCAweGNiMTAsIDAsIHsweDcyLDB4MTgsMHgyYywweGIwLDB4MDMsMHhlYywweDI4LDB4YzMsMHgyMSwweDNhLDB4YzEsMHgwZiwweDk0LDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGNiMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2MsMHgwMCwweDhiLDB4MjAsMHgyMiwweDUwIH0gfSwKLXsgIDE2LCAweGNiMzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDI4LDB4MDAsMHg4OCwweGMwLDB4MmEsMHgwMCwweDhiLDB4YjQsMHgwMiwweGU4LDB4MDAsMHhkYiwweDAwIH0gfSwKLXsgIDE2LCAweGNiNDAsIDAsIHsweDYyLDB4MzAsMHgwOCwweGYwLDB4MDIsMHhmYywweDAwLDB4OGYsMHg4MCwweDIyLDB4YzAsMHgwYiwweDk1LDB4NDcsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGNiNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIxLDB4MDAsMHgyMCwweGMyIH0gfSwKLXsgIDE2LCAweGNiNjAsIDAsIHsweDQ4LDB4MzAsMHgwMiwweDQ5LDB4ODAsMHg4MywweDQyLDB4NjAsMHgxMiwweDBiLDB4MzAsMHgwMiwweGM4LDB4MDAsMHg4MiwweDAyIH0gfSwKLXsgIDE2LCAweGNiNzAsIDAsIHsweDJjLDB4MzAsMHgwOSwweGIwLDB4MDIsMHhjZiwweDAxLDB4ODMsMHg1MCwweDJhLDB4YzAsMHgwYiwweDIwLDB4MDIsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGNiODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMCwweDlkLDB4ODAsMHhhMCwweGUwIH0gfSwKLXsgIDE2LCAweGNiOTAsIDAsIHsweDA4LDB4NzksMHgyMiwweDVlLDB4NjAsMHg4NywweDkwLDB4MjksMHhhMCwweDBiLDB4NzgsMHgwMiwweGM2LDB4MDAsMHg5MiwweDgxIH0gfSwKLXsgIDE2LCAweGNiYTAsIDAsIHsweDA1LDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhkZSwweDQwLDB4ODcsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDI5LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGNiYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MCwweGYyLDB4MDAsMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweGNiYzAsIDAsIHsweDA4LDB4M2EsMHgwMywweDQ0LDB4MDQsMHhjMywweDE0LDB4MzAsMHhjMCwweDBmLDB4MjIsMHgwMywweGNjLDB4ODAsMHhjMiwweDAwIH0gfSwKLXsgIDE2LCAweGNiZDAsIDAsIHsweGE0LDB4ZDIsMHgwZCwweDMwLDB4MTMsMHhjYywweDIwLDB4YzMsMHgwMCwweDM4LDB4YzQsMHg0ZiwweDA0LDB4NDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGNiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4OWMsMHgwMCwweGVlLDB4MDAsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGNiZjAsIDAsIHsweDBmLDB4NzAsMHgwMywweGI0LDB4MDIsMHhmNCwweDEwLDB4M2YsMHhjMCwweDhmLDB4YTAsMHgwMywweGZjLDB4MDAsMHg3ZSwweDAwIH0gfSwKLXsgIDE2LCAweGNjMDAsIDAsIHsweDNiLDB4YzAsMHgwZSwweGYwLDB4ODMsMHhlYywweDAwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGNjMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZmMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGNjMjAsIDAsIHsweDBmLDB4YTAsMHgwMywweGFhLDB4MTIsMHhjYiwweDAxLDB4MzIsMHg4MCwweDBmLDB4YjAsMHgxMywweDI4LDB4MTQsMHhmOSwweDgwIH0gfSwKLXsgIDE2LCAweGNjMzAsIDAsIHsweDNhLDB4NDAsMHgwMywweGI0LDB4MDMsMHhlYywweDQyLDB4Y2IsMHgxOCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGNjNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWQsMHgwMCwweGI1LDB4MDAsMHgyZCwweGM0IH0gfSwKLXsgIDE2LCAweGNjNTAsIDAsIHsweDBiLDB4NzAsMHg0YiwweDdjLDB4MDAsMHg4NCwweDAwLDB4MjEsMHg4MCwweDBiLDB4NzAsMHgwMiwweDk0LDB4MTAsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweGNjNjAsIDAsIHsweDI5LDB4YzAsMHgwYiwweDcyLDB4ODIsMHhkYywweDAwLDB4ODcsMHgyMCwweDJkLDB4YzEsMHgwZSwweDcwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGNjNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGNjODAsIDAsIHsweDBiLDB4NjgsMHgwMiwweDllLDB4MDAsMHg4MywweDgwLDB4MjEsMHhlMCwweDViLDB4MzgsMHgwMiwweDFlLDB4MDAsMHhiNCwweGMwIH0gfSwKLXsgIDE2LCAweGNjOTAsIDAsIHsweDI1LDB4ZTAsMHgwOSwweDc4LDB4MzIsMHhjZSwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDVjLDB4NGUsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGNjYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4NDQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGNjYjAsIDAsIHsweDBiLDB4M2MsMHgwMiwweGNjLDB4NDAsMHg5MywweDA4LDB4MjAsMHhlMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MTAsMHhiMywweGMwIH0gfSwKLXsgIDE2LCAweGNjYzAsIDAsIHsweDI4LDB4ZDgsMHgxYiwweDMwLDB4MDIsMHhjYywweDA4LDB4OTMsMHgwMSwweDZjLDB4YzAsMHgwYSwweGI4LDB4ODIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGNjZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGY2LDB4MTAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGNjZTAsIDAsIHsweDRiLDB4ZWQsMHg4MywweGI4LDB4MDAsMHhjZSwweGU0LDB4YjMsMHhhMywweDBmLDB4ZTAsMHgwMywweDM4LDB4MDAsMHhmZSwweDAwIH0gfSwKLXsgIDE2LCAweGNjZjAsIDAsIHsweDNiLDB4ODAsMHgwZCwweGEwLDB4MDIsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGU4LDB4MDIsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGNkMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgxMCwweGY4LDB4NDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGNkMTAsIDAsIHsweDBmLDB4ODAsMHgxMywweDYwLDB4MDAsMHhlMCwweDAwLDB4M2UsMHgwMCwweDQzLDB4MDgsMHgwMywweGUwLDB4MDAsMHhmOCwweDA4IH0gfSwKLXsgIDE2LCAweGNkMjAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHg0MCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MjMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGNkMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGQ5LDB4YzAsMHhiZSwweDQwIH0gfSwKLXsgIDE2LCAweGNkNDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDAxLDB4OWEsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGNkNTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDQwLDB4MDksMHgxMCwweDBlLDB4NDAsMHgwZiwweDlhLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGNkNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwNCwweDg5LDB4MDQsMHhhMiwweDYwIH0gfSwKLXsgIDE2LCAweGNkNzAsIDAsIHsweDhiLDB4OWQsMHg4MCwweGE2LDB4MDAsMHhiOSwweDgwLDB4MjIsMHg0MCwweDQ4LDB4OTgsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGNkODAsIDAsIHsweDJlLDB4NDAsMHg4YiwweDkwLDB4MDIsMHhlNCwweDk0LDB4ODksMHg2MCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MGIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGNkOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDk5LDB4MDgsMHhhZSwweDQ4IH0gfSwKLXsgIDE2LCAweGNkYTAsIDAsIHsweDRiLDB4MTAsMHgwMiwweGU1LDB4ODEsMHhiOSwweDEwLDB4MjAsMHg0NCwweDFiLDB4OTQsMHgwMiwweDI0LDB4MTAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGNkYjAsIDAsIHsweDZlLDB4NjAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGNkYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MCwweDg5LDB4MDAsMHhhMCwweDY4IH0gfSwKLXsgIDE2LCAweGNkZDAsIDAsIHsweDBiLDB4MTIsMHgwMiwweDg0LDB4ODksMHhiMSwweDIwLDB4MjAsMHg0OCwweDFhLDB4MTIsMHgxMiwweDA0LDB4ODAsMHhiMSwweDIyIH0gfSwKLXsgIDE2LCAweGNkZTAsIDAsIHsweDBjLDB4NDgsMHgwYiwweDEyLDB4MDIsMHhjNCwweDgxLDB4YTEsMHgyMCwweDJjLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGNkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHhiZSwweDAwIH0gfSwKLXsgIDE2LCAweGNlMDAsIDAsIHsweDBmLDB4MDUsMHgwYiwweGUxLDB4NDAsMHhmOCwweDAwLDB4MzIsMHgxNCwweDBmLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGNlMTAsIDAsIHsweDJlLDB4ODAsMHgwZiwweDg1LDB4MTMsMHhlMCwweDAyLDB4YzgsMHgwMCwweDNlLDB4MTQsMHgwZiwweDA1LDB4MDEsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGNlMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHhiZiwweDQ0IH0gfSwKLXsgIDE2LCAweGNlMzAsIDAsIHsweDBmLDB4ZDEsMHgwMywweGY0LDB4NDAsMHg3ZCwweDEwLDB4YmYsMHg0NCwweDQ1LDB4ZjEsMHgyYiwweGY0LDB4NDAsMHhmZCwweDEwIH0gfSwKLXsgIDE2LCAweGNlNDAsIDAsIHsweDNmLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxMCwweDNlLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhhNiwweDA2IH0gfSwKLXsgIDE2LCAweGNlNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgwMCwweGZkLDB4MDAsMHgxZiwweDYyIH0gfSwKLXsgIDE2LCAweGNlNjAsIDAsIHsweDBmLDB4ZDgsMHg4MiwweDM2LDB4MDAsMHhiZCwweGEwLDB4M2IsMHg2OCwweDBjLDB4ZGMsMHg4MywweDI2LDB4YzgsMHhkOSwweGEwIH0gfSwKLXsgIDE2LCAweGNlNzAsIDAsIHsweDMzLDB4NjAsMHgwZCwweDk5LDB4ODMsMHg1NiwweDIwLDB4ZDUsMHhhOCwweDJlLDB4NDQsMHgwYywweGQ4LDB4ODMsMHg4NiwweDA0IH0gfSwKLXsgIDE2LCAweGNlODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHg0OCwweGI4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGNlOTAsIDAsIHsweDBiLDB4MGEsMHg4MiwweDIyLDB4MjAsMHhiOCwweDUwLDB4MjIsMHhiYSwweDA4LDB4OGEsMHgyMiwweDIyLDB4ODAsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGNlYTAsIDAsIHsweDIyLDB4MDEsMHgwOCwweDBjLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDJlLDB4MjgsMHg4OCwweDg4LDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGNlYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGNlYzAsIDAsIHsweDFiLDB4MTAsMHgwYSwweDg0LDB4NDAsMHhiMSwweDAwLDB4MjgsMHg1OCwweDBhLDB4MzIsMHgwMiwweDA1LDB4MDAsMHg5OSwweDQwIH0gfSwKLXsgIDE2LCAweGNlZDAsIDAsIHsweDIwLDB4NjUsMHgwOSwweDEwLDB4NDIsMHhjNCwweDAwLDB4OTEsMHgwMCwweDJjLDB4NDAsMHgwYSwweDMwLDB4ODIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGNlZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGNlZjAsIDAsIHsweDFiLDB4OTAsMHgwMiwweGE1LDB4ODAsMHhiOSwweDEwLDB4MjIsMHg0OCwweDA4LDB4MTAsMHg0MiwweDA0LDB4MTAsMHgwOSwweDAwIH0gfSwKLXsgIDE2LCAweGNmMDAsIDAsIHsweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4OWIsMHgwMCwweDJjLDB4NDAsMHgwYSwweDk0LDB4MjIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGNmMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGNmMjAsIDAsIHsweDBmLDB4OTAsMHgxMywweGE3LDB4MTAsMHhmOSwweDYwLDB4YmEsMHg1MCwweDJlLDB4OWMsMHgwYSwweDI1LDB4ODQsMHhkMSwweGYwIH0gfSwKLXsgIDE2LCAweGNmMzAsIDAsIHsweGIyLDB4NjAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhhOCwweDAwIH0gfSwKLXsgIDE2LCAweGNmNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwYywweGY5LDB4OTAsMHgzZSwweDZhIH0gfSwKLXsgIDE2LCAweGNmNTAsIDAsIHsweDhmLDB4OTAsMHgyMywweDY2LDB4MDAsMHhmMSwweDA4LDB4M2MsMHg0MCwweDBmLDB4OWMsMHg0MywweGU0LDB4NDAsMHhmOSwweDgwIH0gfSwKLXsgIDE2LCAweGNmNjAsIDAsIHsweDNhLDB4NDQsMHgwZiwweDkwLDB4MDMsMHgyNCwweDA0LDB4ZTksMHgwMiwweDNlLDB4NDAsMHgyZCwweDkxLDB4MTMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGNmNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MjAsMHgzZSwweDAxIH0gfSwKLXsgIDE2LCAweGNmODAsIDAsIHsweDBjLDB4MDAsMHgwMywweGExLDB4MjAsMHhlOCwweDUwLDB4MzIsMHgxMCwweDJjLDB4OGMsMHgwMywweDIxLDB4MDAsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGNmOTAsIDAsIHsweDMyLDB4MDIsMHgwZiwweDAwLDB4MTMsMHgyMCwweDg4LDB4YzgsMHgwOCwweDMyLDB4MDAsMHgwZiwweDhjLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGNmYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgyMCwweDhlLDB4ZTMsMHgyZiwweDkwIH0gfSwKLXsgIDE2LCAweGNmYjAsIDAsIHsweDBhLDB4ZTAsMHgwNiwweDNiLDB4MDAsMHhlZSwweDA0LDB4MjMsMHg5MCwweDA4LDB4ZTAsMHgwMiwweDI4LDB4MDgsMHg4YSwweDAyIH0gfSwKLXsgIDE2LCAweGNmYzAsIDAsIHsweDc1LDB4OTAsMHg4YiwweGEwLDB4NDEsMHg1OCwweDkwLDB4OGUsMHg4MCwweDJhLDB4ODEsMHgwYiwweGUwLDB4MDMsMHg4YSwweDEwIH0gfSwKLXsgIDE2LCAweGNmZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGUsMHgwMCwweGEzLDB4MDAsMHg2YywweDYwIH0gfSwKLXsgIDE2LCAweGNmZTAsIDAsIHsweDA4LDB4MzgsMHgxYSwweDhlLDB4NDAsMHhhMCwweDgwLDB4MjAsMHhjYywweDA5LDB4MzAsMHgwMiwweDBjLDB4MDUsMHhhMywweDA0IH0gfSwKLXsgIDE2LCAweGNmZjAsIDAsIHsweDI4LDB4YzQsMHgwYiwweDMwLDB4MDIsMHgwZCwweDAxLDB4ODMsMHhjMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGQwMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWUsMHgwOCwweDg3LDB4MDAsMHgyZCwweDYyIH0gfSwKLXsgIDE2LCAweGQwMTAsIDAsIHsweDBiLDB4NzAsMHg5MiwweDFjLDB4MDgsMHhhMCwweDAwLDB4NjEsMHhjMCwweDA5LDB4NjAsMHgwNiwweDFjLDB4ODAsMHhhNywweDAwIH0gfSwKLXsgIDE2LCAweGQwMjAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHg1OCwweDAxLDB4ODcsMHg4OCwweDI5LDB4YzAsMHgwYiwweDYwLDB4MTIsMHhhOCwweDAwIH0gfSwKLXsgIDE2LCAweGQwMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGU2LDB4ODAsMHgzZCwweDYwIH0gfSwKLXsgIDE2LCAweGQwNDAsIDAsIHsweDBjLDB4NzgsMHg0MiwweDk2LDB4MDAsMHhlNCwweDgwLDB4YTMsMHg2MCwweDBkLDB4NzgsMHgwMywweDNmLDB4MDAsMHhlMywweDgwIH0gfSwKLXsgIDE2LCAweGQwNTAsIDAsIHsweDIxLDB4ZTAsMHgwZiwweDdiLDB4MDMsMHgxNiwweDA4LDB4YzcsMHg4MCwweDMxLDB4ZTIsMHg0ZiwweDc4LDB4NDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGQwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4OGMsMHgwMSwweGY4LDB4MDAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGQwNzAsIDAsIHsweDBlLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhmOCwweDAxLDB4M2UsMHg0MCwweDRlLDB4MzAsMHgzMywweGVkLDB4MjAsMHhkYiwweDAxIH0gfSwKLXsgIDE2LCAweGQwODAsIDAsIHsweGJlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZDgsMHgwZiwweGEwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGQwOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGM3LDB4ODQsMHgyMywweDYwIH0gfSwKLXsgIDE2LCAweGQwYTAsIDAsIHsweDBjLDB4NzgsMHgwYiwweGJlLDB4MDAsMHhmZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZWIsMHgwMywweDNlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGQwYjAsIDAsIHsweDNiLDB4MjUsMHgwYywweGY4LDB4ODMsMHg3ZSwweDQwLDB4Y2QsMHg4MCwweDMzLDB4ZTIsMHgwYiwweGY5LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGQwYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMiwweDg3LDB4MDAsMHgxNSwweDQ4IH0gfSwKLXsgIDE2LCAweGQwZDAsIDAsIHsweDA4LDB4NzAsMHgwMiwweDE0LDB4MjAsMHhiNiwweDAwLDB4MzUsMHg5YSwweDQ5LDB4YzgsMHgwMywweDljLDB4ODQsMHhhNywweDAwIH0gfSwKLXsgIDE2LCAweGQwZTAsIDAsIHsweDM5LDB4ZDAsMHgwYSwweDcwLDB4MDIsMHgxYSwweDA4LDB4YTQsMHgwMCwweDIxLDB4YzAsMHgwOSwweDYxLDB4NDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQwZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweDQwIH0gfSwKLXsgIDE2LCAweGQxMDAsIDAsIHsweDA4LDB4NzEsMHgwMiwweDk0LDB4MDAsMHhiNSwweDAwLDB4MmQsMHg0MCwweDBiLDB4ZjEsMHgyMiwweDVjLDB4MDIsMHgwNywweDA4IH0gfSwKLXsgIDE2LCAweGQxMTAsIDAsIHsweDJjLDB4NTAsMHgwOCwweDcwLDB4MDIsMHg1MCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzQsMHgwYiwweDUwLDB4NDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGQxMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDIsMHgyNCwweDQwIH0gfSwKLXsgIDE2LCAweGQxMzAsIDAsIHsweDE4LDB4M2QsMHgwYSwweDAxLDB4MDAsMHhiMCwweDU4LDB4MjQsMHgyMCwweDA5LDB4MzAsMHgwMiwweDhmLDB4NDAsMHg4MywweGUwIH0gfSwKLXsgIDE2LCAweGQxNDAsIDAsIHsweDJjLDB4YzEsMHgwYSwweDMwLDB4NDIsMHgwOCwweDAwLDB4YjMsMHgwMSwweDZjLDB4YzAsMHgwOSwweDA4LDB4MTYsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGQxNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4OGMsMHgwMCwweDhiLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGQxNjAsIDAsIHsweDBjLDB4MjUsMHgwMywweGE4LDB4NDgsMHhmOCwweDgxLDB4M2UsMHg4MCwweDBmLDB4ODAsMHg2MywweDdjLDB4MDAsMHhjYiwweDgwIH0gfSwKLXsgIDE2LCAweGQxNzAsIDAsIHsweDNhLDB4YzAsMHgwYywweGYwLDB4MDMsMHg2YywweDAwLDB4Y2EsMHgwMiwweGJmLDB4YzAsMHgwZiwweDk4LDB4OGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQxODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGQxOTAsIDAsIHsweDJmLDB4YTQsMHgwYiwweGM4LDB4MDAsMHhmMCwweDQwLDB4M2UsMHhkMCwweDBmLDB4YTAsMHgzMywweGVjLDB4MjAsMHhmYiwweDA0IH0gfSwKLXsgIDE2LCAweGQxYTAsIDAsIHsweDdhLDB4ZTAsMHgwZiwweGIwLDB4MDMsMHhlZCwweDA4LDB4ZTksMHgwMywweDMyLDB4YzAsMHgwZCwweDkwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGQxYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHg0MCwweGVlLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGQxYzAsIDAsIHsweDBjLDB4ZGEsMHgwMywweDcwLDB4MDQsMHhjYywweDAyLDB4YjEsMHhhMCwweDBlLDB4ZjAsMHgyMywweGVjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGQxZDAsIDAsIHsweDM3LDB4MjAsMHhjZCwweGIwLDB4NzMsMHhlYywweDg4LDB4ZmIsMHg4MCwweDNmLDB4YzAsMHgwZiwweDMwLDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGQxZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmUsMHgwMCwweDg4LDB4ODAsMHgyYywweGUxIH0gfSwKLXsgIDE2LCAweGQxZjAsIDAsIHsweDA4LDB4OTQsMHgwYSwweGE5LDB4MDIsMHg4OCwweDQwLDB4MjIsMHhkMCwweDA4LDB4YjksMHg0MiwweGVjLDB4MDQsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGQyMDAsIDAsIHsweDJjLDB4ZDQsMHgwZCwweGIwLDB4MDIsMHhlZCwweDIwLDB4YmIsMHhkMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweGQyMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjQsMHgwMCwweGFiLDB4ODAsMHgyZSwweGYwIH0gfSwKLXsgIDE2LCAweGQyMjAsIDAsIHsweDI5LDB4YTAsMHg4MiwweDZkLDB4MDAsMHg4OCwweDA4LDB4MjIsMHgwNCwweDA4LDB4OTAsMHg0MiwweGVjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGQyMzAsIDAsIHsweDJhLDB4ODEsMHgwOCwweGIwLDB4MDIsMHhlNCwweDA5LDB4YmEsMHgwNCwweDJlLDB4YzEsMHg0YiwweDk4LDB4ODIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGQyNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGQyNTAsIDAsIHsweDBhLDB4MjEsMHgwMiwweDg0LDB4MTAsMHg4MiwweDAwLDB4ZTAsMHgwMCwweDE4LDB4MGEsMHgxMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGQyNjAsIDAsIHsweDBjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDkwLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwYiwweDEwLDB4MDIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweGQyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGViLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGQyODAsIDAsIHsweDJjLDB4YjQsMHgwMywweDY0LDB4MDgsMHg4OCwweDAwLDB4YjIsMHgwMCwweDBjLDB4YjIsMHg0MywweGZjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGQyOTAsIDAsIHsweDU2LDB4MDAsMHgwYywweGYwLDB4MDEsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNmLDB4YzAsMHgwZiwweDgwLDB4MGIsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGQyYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGQyYjAsIDAsIHsweDJkLDB4ZjAsMHg2MSwweGYwLDB4MDAsMHhmNCwweDAwLDB4MjcsMHgwMSwweDBkLDB4YjEsMHgxMSwweGZjLDB4MDAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweGQyYzAsIDAsIHsweDA3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlYywweDQwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHg2OCwweDA2IH0gfSwKLXsgIDE2LCAweGQyZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjYsMHgwMCwweGVmLDB4OTAsMHgzZCwweDRjIH0gfSwKLXsgIDE2LCAweGQyZTAsIDAsIHsweDJjLDB4YzAsMHgxMywweGY0LDB4MDgsMHhmZCwweDIwLDB4MzcsMHg0YywweDhlLDB4ODIsMHg4MywweDc0LDB4ODQsMHhkYywweGMyIH0gfSwKLXsgIDE2LCAweGQyZjAsIDAsIHsweDNmLDB4ZDgsMHgwZCwweGYyLDB4MDMsMHhlYywweGMwLDB4ZmYsMHg4MSwweDNmLDB4MDAsMHgwYywweGY4LDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGQzMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTYsMHgwMCwweDhiLDB4MjQsMHgyZSwweDVjIH0gfSwKLXsgIDE2LCAweGQzMTAsIDAsIHsweDA4LDB4OGQsMHgwMiwweGZmLDB4NDgsMHhiOSwweDkwLDB4MmYsMHg1NCwweDBiLDB4ODQsMHg4MiwweDNlLDB4NDAsMHhhMCwweDgwIH0gfSwKLXsgIDE2LCAweGQzMjAsIDAsIHsweDJlLDB4YzQsMHgwYSwweGZjLDB4NDIsMHhlZCwweDgwLDB4YjksMHg4MCwweDJlLDB4NjAsMHgwYSwweDk4LDB4MTIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweGQzMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTQsMHgwMSwweGEzLDB4MDAsMHgyOCwweDQ4IH0gfSwKLXsgIDE2LCAweGQzNDAsIDAsIHsweDBhLDB4MDAsMHg0MiwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0OSwweDBiLDB4MGEsMHg0MiwweDA0LDB4YTIsMHg5MSwweDIxIH0gfSwKLXsgIDE2LCAweGQzNTAsIDAsIHsweDJjLDB4YzksMHgwOCwweDMxLDB4MDIsMHg4YywweGMxLDB4YTMsMHgwMCwweDJjLDB4NDAsMHgwOCwweDE4LDB4MDIsMHhhMiwweDAxIH0gfSwKLXsgIDE2LCAweGQzNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTAsMHgyMCwweDhiLDB4ODIsMHgyZSwweDQ0IH0gfSwKLXsgIDE2LCAweGQzNzAsIDAsIHsweDU4LDB4ODAsMHgwMiwweGU0LDB4MDAsMHhiYiwweDEwLDB4MmUsMHg0MCwweDBiLDB4YTEsMHgxMiwweDBjLDB4MDEsMHg4OSwweDEwIH0gfSwKLXsgIDE2LCAweGQzODAsIDAsIHsweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlYywweDAxLDB4YjgsMHg4MCwweDJlLDB4ZTIsMHgwYSwweGExLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGQzOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWIsMHg0MCwweGViLDB4NDAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweGQzYTAsIDAsIHsweDBlLDB4ODcsMHgzMywweGU0LDB4MDAsMHhiOSwweGExLDB4MzYsMHhjMCwweDBlLDB4YTgsMHgwYiwweDI2LDB4MDAsMHhkYSwweGMwIH0gfSwKLXsgIDE2LCAweGQzYjAsIDAsIHsweDNlLDB4YzAsMHg4ZCwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg4NSwweDNlLDB4ZTEsMHgwOCwweGI4LDB4MDMsMHg5MCwweDA1IH0gfSwKLXsgIDE2LCAweGQzYzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjgsMHgwMCwweGZmLDB4MDIsMHgyZiwweDYwIH0gfSwKLXsgIDE2LCAweGQzZDAsIDAsIHsweDAzLDB4ZTgsMHg4MywweGZjLDB4MTAsMHhmZCwweDgwLDB4MWYsMHg0MCwweDFmLDB4ZDAsMHgxMywweGJlLDB4NDAsMHhlZSwweDA0IH0gfSwKLXsgIDE2LCAweGQzZTAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhmYywweDA4LDB4ZmQsMHgwMCwweDNjLDB4YzAsMHgwZiwweGQwLDB4MTEsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGQzZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTQsMHgwMCwweGRiLDB4MDAsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ0MDAsIDAsIHsweDBlLDB4OTQsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4YmEsMHhjMCwweDBjLDB4MjAsMHgwMywweGU0LDB4OTAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGQ0MTAsIDAsIHsweDNhLDB4YzAsMHgwYywweGIwLDB4MDMsMHhlYywweDAxLDB4ZmEsMHgwMCwweDNlLDB4ZDAsMHgyYywweDk4LDB4MDMsMHg5MCwweDA0IH0gfSwKLXsgIDE2LCAweGQ0MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MDMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDQ4IH0gfSwKLXsgIDE2LCAweGQ0MzAsIDAsIHsweDA4LDB4ODQsMHgyMiwweDJjLDB4MDAsMHhiOSwweDAwLDB4MjIsMHhjMCwweDA4LDB4YTAsMHgwMiwweGVkLDB4MDAsMHg4YiwweGEwIH0gfSwKLXsgIDE2LCAweGQ0NDAsIDAsIHsweDIxLDB4YzAsMHgwOCwweGYwLDB4MDIsMHhmYywweDAwLDB4YjksMHg4MCwweDJlLDB4YzAsMHgwOCwweGEwLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGQ0NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDUsMHgyMCwweDkzLDB4MDAsMHgyMiwweGY4IH0gfSwKLXsgIDE2LCAweGQ0NjAsIDAsIHsweDBiLDB4MzAsMHgwYSwweDg0LDB4NDAsMHhiMiwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHg4MCwweDgwIH0gfSwKLXsgIDE2LCAweGQ0NzAsIDAsIHsweDI4LDB4YzAsMHgyOCwweDM5LDB4MDIsMHg0YywweDAwLDB4YjEsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ0ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MzYsMHgwMCwweDlmLDB4ODAsMHgyMSwweDYwIH0gfSwKLXsgIDE2LCAweGQ0OTAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDllLDB4MDAsMHhiMiwweGMwLDB4MjAsMHg2MCwweDQ4LDB4NDgsMHgxMiwweGQ2LDB4YzYsMHg4NiwweGQwIH0gfSwKLXsgIDE2LCAweGQ0YTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDAsMHhkZSwweDgwLDB4YjcsMHg4MiwweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ0YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgyMCwweGQzLDB4MTAsMHgzMCwweGM4IH0gfSwKLXsgIDE2LCAweGQ0YzAsIDAsIHsweDBmLDB4MzAsMHgwMywweDg0LDB4MDAsMHhmMSwweDAwLDB4MzAsMHg0MCwweDI0LDB4MTksMHgwMywweGU0LDB4YzAsMHhlMCwweDQwIH0gfSwKLXsgIDE2LCAweGQ0ZDAsIDAsIHsweDNhLDB4YzAsMHgwYywweDMyLDB4MDMsMHhjZSwweDgwLDB4YjEsMHgyOCwweDNjLDB4YzAsMHgwYywweDMwLDB4MTMsMHg5MiwweDAyIH0gfSwKLXsgIDE2LCAweGQ0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4OWMsMHgwMCwweGU2LDB4MDAsMHg3ZiwweGMwIH0gfSwKLXsgIDE2LCAweGQ0ZjAsIDAsIHsweDBlLDB4ZjAsMHgyMywweDc0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0MCwweDRmLDB4ZDAsMHgwMywweGZjLDB4ZDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGQ1MDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGY0LDB4MDMsMHhmYywweDAwLDB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwZiwweDcxLDB4MDMsMHhkMCwweDEyIH0gfSwKLXsgIDE2LCAweGQ1MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWUsMHgwMCwweGNiLDB4MDAsMHgxNiwweGMwIH0gfSwKLXsgIDE2LCAweGQ1MjAsIDAsIHsweDBkLDB4ODAsMHgwMywweDI3LDB4MjAsMHhjYiwweDAwLDB4M2UsMHhjMiwweDBhLDB4YjAsMHg1MywweGU0LDB4MjgsMHhjMSwweDgxIH0gfSwKLXsgIDE2LCAweGQ1MzAsIDAsIHsweDMyLDB4YzEsMHgwZSwweGI5LDB4MDMsMHgyYywweDAwLDB4ZjEsMHg4MCwweDM1LDB4ZTAsMHgwYywweGI4LDB4MDMsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ1NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMiwweDg3LDB4MTAsMHgyZCwweDQwIH0gfSwKLXsgIDE2LCAweGQ1NTAsIDAsIHsweDA4LDB4NzAsMHgwMywweDVjLDB4MDAsMHhhNywweDAwLDB4MmQsMHg0MCwweDI4LDB4NzAsMHgwMiwweGQ0LDB4MDQsMHg4NywweDA0IH0gfSwKLXsgIDE2LCAweGQ1NjAsIDAsIHsweGExLDB4ZDAsMHgwYiwweDcyLDB4MDIsMHgxZCwweDAwLDB4ZjcsMHgwMCwweDIxLDB4YzAsMHgwZCwweDUwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGQ1NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweDg1LDB4ODAsMHgyNSwweGUwIH0gfSwKLXsgIDE2LCAweGQ1ODAsIDAsIHsweDA5LDB4NzgsMHgwMiwweDM3LDB4MDMsMHg4NywweDgwLDB4MmYsMHhlMCwweDA4LDB4NzgsMHgxMiwweGM2LDB4MTAsMHg4ZCwweDgwIH0gfSwKLXsgIDE2LCAweGQ1OTAsIDAsIHsweDI1LDB4ZTgsMHgwYiwweDM4LDB4MDIsMHgxZSwweDgwLDB4YmMsMHg4NCwweDI1LDB4ZTAsMHgwOCwweDU4LDB4MDIsMHg3MCwweDAwIH0gfSwKLXsgIDE2LCAweGQ1YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2QsMHg4MCwweDgzLDB4ODgsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGQ1YjAsIDAsIHsweDA4LDB4M2MsMHgwMiwweDRlLDB4MDEsMHhhMywweGQyLDB4MmUsMHhjNCwweDA4LDB4YjEsMHgwMiwweGNjLDB4MDAsMHg4MywweDgwIH0gfSwKLXsgIDE2LCAweGQ1YzAsIDAsIHsweDI0LDB4YzEsMHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHg0MCwweGEwLDB4ZDIsMHgwOSwweDMwLDB4MTIsMHg1MiwweDAwIH0gfSwKLXsgIDE2LCAweGQ1ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHgwMCwweGNhLDB4YzAsMHgzNiwweDgwIH0gfSwKLXsgIDE2LCAweGQ1ZTAsIDAsIHsweDBkLDB4NjcsMHgxMywweDI4LDB4MDAsMHhjZSwweDAwLDB4M2UsMHhhMCwweDBjLDB4ZWQsMHgwMywweGU4LDB4MDAsMHhjZSwweGUwIH0gfSwKLXsgIDE2LCAweGQ1ZjAsIDAsIHsweDM2LDB4ODAsMHgxZSwweGEwLDB4MGIsMHgyOCwweDA0LDB4ZmUsMHgwMCwweGI3LDB4YjIsMHgwYywweGUwLDB4MGIsMHg3YSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHg0MCwweGY4LDB4MTAsMHgyZSwweDEwIH0gfSwKLXsgIDE2LCAweGQ2MTAsIDAsIHsweDBmLDB4ODAsMHgwMywweGUwLDB4MDEsMHhkOCwweDBhLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGMwLDB4MDIsMHhmOCwweDA4IH0gfSwKLXsgIDE2LCAweGQ2MjAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDEwLDB4ZTgsMHgyMCwweGJlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHg5MiwweDAwIH0gfSwKLXsgIDE2LCAweGQ2MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTUsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGQ2NDAsIDAsIHsweDBjLDB4OTEsMHgwMywweDI2LDB4MDAsMHg2MSwweDgwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2NTAsIDAsIHsweDFlLDB4NDAsMHgwYywweDljLDB4MDMsMHhlNCwweDAxLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDAwIH0gfSwKLXsgIDE2LCAweGQ2NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjcsMHgwMCwweGI5LDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGQ2NzAsIDAsIHsweDAwLDB4OWMsMHgwMiwweGE2LDB4MDAsMHg3OSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ODAsIDAsIHsweDJjLDB4NDQsMHgwOCwweDk4LDB4MDIsMHhlNCwweDAwLDB4YjksMHg4MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAxIH0gfSwKLXsgIDE2LCAweGQ2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGJiLDB4MDAsMHgyNiwweDUwIH0gfSwKLXsgIDE2LCAweGQ2YTAsIDAsIHsweDI4LDB4OTAsMHg4MiwweDI0LDB4ODQsMHg5OSwweDIwLDB4MjIsMHg0MCwweDQ5LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2YjAsIDAsIHsweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHg2MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGQ2YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDYsMHgwMCwweGIxLDB4MDAsMHgyZSwweDQ4IH0gfSwKLXsgIDE2LCAweGQ2ZDAsIDAsIHsweDA4LDB4MTIsMHgwMiwweDg0LDB4ODAsMHhiMSwweDIwLDB4YTAsMHg0OCwweDA5LDB4MTIsMHgwYSwweDA0LDB4ODAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ZTAsIDAsIHsweDJjLDB4NDgsMHgyOCwweDEyLDB4NDIsMHhjNCwweDg4LDB4MzEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDE4LDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGQ2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4NTAsMHgzNiwweDE0IH0gfSwKLXsgIDE2LCAweGQ3MDAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhlOCwweDAwLDB4MzIsMHgxNCwweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhjOCwweDUwIH0gfSwKLXsgIDE2LCAweGQ3MTAsIDAsIHsweDNlLDB4MTQsMHgwYywweDgwLDB4MDMsMHhlMSwweDQwLDB4MzgsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweGQ3MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZDQsMHgwMCwweGZiLDB4MDQsMHgzZCwweDQ0IH0gfSwKLXsgIDE2LCAweGQ3MzAsIDAsIHsweDBmLDB4NTEsMHgyMywweGQ0LDB4NDgsMHhlZCwweDEwLDB4M2QsMHg0NCwweDRlLDB4ZDEsMHgyMywweGY0LDB4NDIsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGQ3NDAsIDAsIHsweDNlLDB4NDQsMHg4ZiwweDkxLDB4MDMsMHhlNCwweDU4LDB4ZmQsMHgwMCwweDNmLDB4NTAsMHgwZiwweDUwLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGQ3NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGY5LDB4MDAsMHgzZCwweDQwIH0gfSwKLXsgIDE2LCAweGQ3NjAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhkZCwweDAyLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4NDAsMHhjOSwweDEwIH0gfSwKLXsgIDE2LCAweGQ3NzAsIDAsIHsweDM3LDB4NDAsMHgwNywweGQwLDB4MDcsMHgyNCwweDAwLDB4ZTUsMHgwMCwweDJmLDB4NmEsMHgwZiwweDcwLDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGQ3ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ3OTAsIDAsIHsweDgwLDB4ODAsMHgwMiwweGUwLDB4MDAsMHg4OCwweDAwLDB4MmUsMHgwMCwweDBhLDB4ODAsMHg1MywweGEyLDB4ODAsMHgyYywweGEwIH0gfSwKLXsgIDE2LCAweGQ3YTAsIDAsIHsweDIyLDB4MDAsMHgwYiwweDgwLDB4MGEsMHgyMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4MTAsMHgwOSwweDgwLDB4MDMsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGQ3YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHg2YywweDQwIH0gfSwKLXsgIDE2LCAweGQ3YzAsIDAsIHsweDJhLDB4MTAsMHgwMiwweDg0LDB4MDEsMHg4MSwweDgwLDB4MmUsMHg0MCwweDA5LDB4MTAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDA0IH0gfSwKLXsgIDE2LCAweGQ3ZDAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHg4NCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDk4LDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGQ3ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgyMCwweGI5LDB4MDAsMHgyYSwweDQwIH0gfSwKLXsgIDE2LCAweGQ3ZjAsIDAsIHsweDg4LDB4YjQsMHgwMiwweGU2LDB4MDEsMHhhOSwweDIwLDB4MmUsMHg0OCwweDBhLDB4OTAsMHgwMCwweGE0LDB4NDAsMHhhZCwweDQwIH0gfSwKLXsgIDE2LCAweGQ4MDAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhhNCwweDA0LDB4YjksMHgwMSwweDJlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGQ4MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4YzAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweGQ4MjAsIDAsIHsweDBjLDB4OTQsMHgxMywweGE2LDB4MDIsMHhkOSwweDQyLDB4MWMsMHg2MCwweDBjLDB4OWUsMHgwMSwweGM2LDB4MDQsMHhjMSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4MzAsIDAsIHsweGIyLDB4NDAsMHgxZiwweDkwLDB4MDIsMHhhNCwweDAwLDB4ZTksMHgwOCwweDNlLDB4NjgsMHg0ZiwweDk4LDB4MGIsMHg2OCwweDA0IH0gfSwKLXsgIDE2LCAweGQ4NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTYsMHg0MCwweGY5LDB4MjAsMHgzOCwweDcwIH0gfSwKLXsgIDE2LCAweGQ4NTAsIDAsIHsweDBmLDB4OTEsMHgwMywweGU0LDB4MDAsMHhkOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OWMsMHgxMywweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4NjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDEwLDB4MDMsMHg2NCwweDEwLDB4ZjksMHgwYSwweDNlLDB4NTAsMHgwZCwweDlhLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGQ4LDB4MDQsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4ODAsIDAsIHsweDBjLDB4ODEsMHgxMywweGMwLDB4MDIsMHhkOCwweDIwLDB4M2UsMHgwMCwweDJkLDB4ODQsMHgwMywweGUwLDB4MDAsMHhjYywweDA4IH0gfSwKLXsgIDE2LCAweGQ4OTAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDAwLDB4ZjgsMHg0MSwweDMyLDB4MDAsMHgwNywweDgxLDB4OGIsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ4YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4M2EsMHg2MCwweDhhLDB4MDAsMHgyZiwweGE4IH0gfSwKLXsgIDE2LCAweGQ4YjAsIDAsIHsweDBhLDB4ZTAsMHgyMiwweGU4LDB4MDIsMHg3ZSwweDQ4LDB4MmUsMHg4MCwweDA4LDB4YTAsMHg0MiwweGU4LDB4MDQsMHg4ZSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4YzAsIDAsIHsweDIzLDB4YTgsMHgwYiwweGE4LDB4ODIsMHhlOCwweDAwLDB4ZWUsMHgwMCwweGEyLDB4ODAsMHg0YiwweDYwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHg2YywweGMwIH0gfSwKLXsgIDE2LCAweGQ4ZTAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHgxMywweDgxLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNlLDB4NDAsMHg4MiwweDQwIH0gfSwKLXsgIDE2LCAweGQ4ZjAsIDAsIHsweDI4LDB4ZTAsMHgwYiwweDM4LDB4MDIsMHhjYywweDAwLDB4YjMsMHgxMCwweDI0LDB4YzAsMHg4YiwweDM4LDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ5MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWUsMHgwMCwweDg3LDB4MjAsMHgyZiwweGMwIH0gfSwKLXsgIDE2LCAweGQ5MTAsIDAsIHsweDBhLDB4NzAsMHgwMiwweGRjLDB4MGEsMHhiNiwweDAwLDB4MmMsMHhjOCwweDg4LDB4NzIsMHgwNiwweGQ4LDB4MDAsMHg4NiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5MjAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYywweDg0LDB4YWYsMHg4MCwweGE1LDB4YzAsMHgwYiwweGQwLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ5MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGQ3LDB4ODAsMHgzZCwweGEwIH0gfSwKLXsgIDE2LCAweGQ5NDAsIDAsIHsweDFjLDB4NzgsMHgxMywweGQ2LDB4MDIsMHhkNywweDgwLDB4M2QsMHhlYywweDA4LDB4N2UsMHgyMywweGZlLDB4MDAsMHhjZSwweDgwIH0gfSwKLXsgIDE2LCAweGQ5NTAsIDAsIHsweDM5LDB4NjAsMHgwZiwweDc4LDB4MDMsMHhkZiwweDAwLDB4ZjYsMHg4MCwweDc1LDB4ZTAsMHgwZiwweDc4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGQ5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4OGMsMHgwMCwweGZiLDB4MTAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGQ5NzAsIDAsIHsweDFmLDB4YTAsMHgyMSwweGNjLDB4MDAsMHhmYSwweDAwLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGU4LDB4MDIsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ5ODAsIDAsIHsweDNlLDB4NDAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZWEsMHgwMSwweDNhLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGQ5OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmMsMHgwMCwweGZmLDB4ODAsMHgzZiwweDYwIH0gfSwKLXsgIDE2LCAweGQ5YTAsIDAsIHsweDA4LDB4OTksMHgwNywweDdlLDB4MDAsMHhkZCwweDgwLDB4M2YsMHhlMiwweDBjLDB4ZjgsMHgwMywweGY2LDB4MDIsMHhkZiwweDgwIH0gfSwKLXsgIDE2LCAweGQ5YjAsIDAsIHsweGIzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgzZSwweDQxLDB4Y2MsMHg4MCwweDMzLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ5YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHg0MCwweGI3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGQ5ZDAsIDAsIHsweDBkLDB4NWEsMHgyMiwweGRjLDB4ODAsMHg3NSwweDAwLDB4MmQsMHhjMCwweDA4LDB4NzEsMHgwMiwweGYwLDB4MjAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGQ5ZTAsIDAsIHsweDIxLDB4YzAsMHgwYSwweDcwLDB4MDIsMHgxYywweDAwLDB4ZDQsMHgyOCwweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ5ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg0MCwweGI3LDB4MDAsMHgyZCwweDAwIH0gfSwKLXsgIDE2LCAweGRhMDAsIDAsIHsweDA4LDB4NzIsMHgyMiwweGY0LDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMiwweDA4LDB4NzAsMHgwMiwweGQ0LDB4MDAsMHg4NywweDgwIH0gfSwKLXsgIDE2LCAweGRhMTAsIDAsIHsweDI1LDB4NDAsMHgwOSwweDMwLDB4MDIsMHg1YywweDAxLDB4YWQsMHgwMCwweDI5LDB4ZDAsMHg0YiwweDcwLDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGRhMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwMCwweGJiLDB4YzgsMHgyYywweGEwIH0gfSwKLXsgIDE2LCAweGRhMzAsIDAsIHsweDA5LDB4MjAsMHgwMiwweGNlLDB4MDAsMHhhMywweDAwLDB4MmMsMHhlMCwweGE4LDB4M2QsMHg0MiwweGMyLDB4MDAsMHg4YiwweDgwIH0gfSwKLXsgIDE2LCAweGRhNDAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDMwLDB4MGEsMHg2YywweDA4LDB4YTMsMHg0MCwweGE4LDB4ZTAsMHgwYiwweDM0LDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGRhNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWQsMHgwMCwweGZmLDB4NDgsMHgzYywweDI4IH0gfSwKLXsgIDE2LCAweGRhNjAsIDAsIHsweDBjLDB4YTksMHgyMywweDZjLDB4ODAsMHg4YiwweDAwLDB4M2YsMHhjMCwweDBjLDB4ZmMsMHgwMywweGVjLDB4MDAsMHhkOCwweDgwIH0gfSwKLXsgIDE2LCAweGRhNzAsIDAsIHsweDM0LDB4NDAsMHgwZCwweDMwLDB4MDMsMHg3YywweDAyLDB4YTMsMHg0MCwweDM4LDB4NjgsMHgwZiwweDI0LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGRhODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWQsMHg4OCwweGZiLDB4MDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGRhOTAsIDAsIHsweDBmLDB4YTEsMHgwMywweGVjLDB4MDQsMHgzYSwweGMwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHg4MywweGU4LDB4MDIsMHhmOCwweDEwIH0gfSwKLXsgIDE2LCAweGRhYTAsIDAsIHsweDNhLDB4NDEsMHgwZSwweDkwLDB4MDMsMHhhYywweDAwLDB4OWIsMHgwOCwweGI2LDB4NDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGRhYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHhiMywweDIwIH0gfSwKLXsgIDE2LCAweGRhYzAsIDAsIHsweDBjLDB4NTAsMHgxMywweDFjLDB4MDksMHhjZCwweDgzLDB4MzMsMHhjMCwweDgzLDB4NzAsMHgwMCwweDNjLDB4MDAsMHhkYywweDEwIH0gfSwKLXsgIDE2LCAweGRhZDAsIDAsIHsweDMyLDB4NjAsMHgwZSwweGYxLDB4NDMsMHgyYywweDAwLDB4Y2UsMHgwNCwweDNiLDB4NzAsMHgwYywweGYwLDB4ODMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGRhZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NjcsMHg4MCwweGJiLDB4MDEsMHg2MiwweDIxIH0gfSwKLXsgIDE2LCAweGRhZjAsIDAsIHsweDhhLDB4ODksMHgyMCwweDJjLDB4MDAsMHg4MCwweGUwLDB4MjIsMHhjMCwweDBiLDB4YjAsMHgwMywweGQ4LDB4MTAsMHg4YywweDA0IH0gfSwKLXsgIDE2LCAweGRiMDAsIDAsIHsweDIyLDB4NDAsMHgwNSwweDkwLDB4MDIsMHhhYywweDAwLDB4ZDgsMHg4MCwweDM2LDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGRiMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjYsMHgwMCwweGJiLDB4MDAsMHgyMiwweDA2IH0gfSwKLXsgIDE2LCAweGRiMjAsIDAsIHsweDA4LDB4ODAsMHgwMiwweDJlLDB4MDAsMHg4OCwweDIwLDB4MjIsMHhjMCwweDA5LDB4YjAsMHgwMiwweGE0LDB4MDAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGRiMzAsIDAsIHsweDYyLDB4YzQsMHgwOCwweGIwLDB4MDYsMHgyYywweDAwLDB4ODgsMHg4MCwweDIyLDB4NDEsMHgwOCwweGEwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGRiNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGRiNTAsIDAsIHsweDBhLDB4MDAsMHg4MiwweDBjLDB4MDAsMHg4MCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgyMiwweGEwLDB4MDAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGRiNjAsIDAsIHsweGEwLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4YywweDAwLDB4OTAsMHgwMCwweDI0LDB4NDAsMHgwYSwweDI4LDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGRiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGZiLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGRiODAsIDAsIHsweDJjLDB4OTIsMHgwMywweDJjLDB4MDIsMHg4OCwweDAwLDB4MzEsMHhjMCwweDBiLDB4YjUsMHgwMiwweGE0LDB4MDAsMHhkMSwweDA0IH0gfSwKLXsgIDE2LCAweGRiOTAsIDAsIHsweDMyLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyYywweDQwLDB4YzksMHgwMCwweDNhLDB4NDAsMHg4YywweGEwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGRiYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgyZiwweDAwIH0gfSwKLXsgIDE2LCAweGRiYjAsIDAsIHsweDBmLDB4YzAsMHgwMywweGRjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMSwweDBmLDB4ZjAsMHg0MywweGYwLDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGRiYzAsIDAsIHsweDNmLDB4NDAsMHg0ZiwweGQwLDB4MDMsMHhmYywweDAwLDB4ZjUsMHgwMCwweDNmLDB4NDAsMHgwZiwweGUwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGRiZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDgsMHg4MCwweGNjLDB4MDAsMHhiNywweDA0IH0gfSwKLXsgIDE2LCAweGRiZTAsIDAsIHsweDRlLDB4ZTEsMHgwMywweDNjLDB4MjAsMHhkZiwweDEwLDB4MzEsMHg4MCwweDA2LDB4ZjAsMHgwMywweDdmLDB4MDAsMHhmZiwweGMwIH0gfSwKLXsgIDE2LCAweGRiZjAsIDAsIHsweDNiLDB4YzAsMHgwZSwweGYyLDB4MDMsMHg1ZSwweDAwLDB4ZWYsMHgxMCwweDMzLDB4ZDAsMHgyYywweGYyLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGRjMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4ZTksMHgwMCwweDg4LDB4YzYsMHgyMCwweDVjIH0gfSwKLXsgIDE2LCAweGRjMTAsIDAsIHsweDA4LDB4YTQsMHg1NywweDY1LDB4MDAsMHg4ZiwweDUyLDB4MmEsMHhmMCwweDA5LDB4ZmMsMHgwMiwweDA0LDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGRjMjAsIDAsIHsweDJkLDB4ZDksMHgwOSwweDc0LDB4ODMsMHg2NCwweDI4LDB4ODMsMHg0NCwweDIyLDB4ODQsMHg4OCwweDA2LDB4ODIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGRjMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4YzksMHgwMCwweDgwLDB4MTAsMHgyMCwweDA4IH0gfSwKLXsgIDE2LCAweGRjNDAsIDAsIHsweDA4LDB4MzEsMHgxMiwweDA0LDB4YjIsMHhhMywweDAwLDB4MjAsMHg4NCwweDFiLDB4MzQsMHgwMiwweDBjLDB4ODAsMHhiMywweDIwIH0gfSwKLXsgIDE2LCAweGRjNTAsIDAsIHsweDJjLDB4YzcsMHgwOSwweDM2LDB4MDIsMHg4YywweDgwLDB4OTMsMHg0MCwweGFjLDB4YzgsMHgwOCwweDMxLDB4MjgsMHgzMiwweDAxIH0gfSwKLXsgIDE2LCAweGRjNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTksMHgwMCwweDg4LDB4MDAsMHhhMiwweDUwIH0gfSwKLXsgIDE2LCAweGRjNzAsIDAsIHsweDA4LDB4MzUsMHgwMiwweDI0LDB4MDAsMHg4YiwweDA0LDB4MmUsMHhjMSwweDA5LDB4YjAsMHgwMiwweDI0LDB4OTQsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGRjODAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDYwLDB4OGIsMHgwMCwweDJlLDB4ODAsMHgwOCwweDgwLDB4MDAsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGRjOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZTcsMHgwMiwweGNiLDB4MTgsMHhiMiwweDgwIH0gfSwKLXsgIDE2LCAweGRjYTAsIDAsIHsweDJjLDB4YWMsMHgwYSwweDJlLDB4MDgsMHhlYiwweDAwLDB4MzIsMHgxMiwweDRlLDB4YjAsMHgwMywweDJiLDB4ODAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGRjYjAsIDAsIHsweDNhLDB4YzAsMHgwYSwweGIwLDB4MDMsMHhhYiwweDA4LDB4ZWIsMHgwNCwweDJlLDB4NDgsMHgwYywweGI4LDB4ODMsMHgwMCwweDA0IH0gfSwKLXsgIDE2LCAweGRjYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjYsMHg4MCwweGZmLDB4ODAsMHgzOSwweGNhIH0gfSwKLXsgIDE2LCAweGRjZDAsIDAsIHsweDBkLDB4ZTgsMHgwMywweGQ2LDB4NDAsMHhlNywweDA0LDB4M2IsMHg2NiwweDRlLDB4NzAsMHgwMywweGI4LDB4MDAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGRjZTAsIDAsIHsweDNmLDB4YzAsMHg2YywweGYwLDB4MDMsMHg3MCwweDA2LDB4ZTcsMHgwMCwweDMxLDB4MDQsMHgwZiwweGMxLDB4NDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGRjZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4ODUsMHgwMCwweGNiLDB4NDAsMHgzMiwweDkwIH0gfSwKLXsgIDE2LCAweGRkMDAsIDAsIHsweDJmLDB4YjAsMHgwYiwweDY0LDB4ODAsMHhmYiwweDA4LDB4YmEsMHgxMCwweDBkLDB4YjAsMHhhNywweDJkLDB4MDAsMHhmYiwweDA0IH0gfSwKLXsgIDE2LCAweGRkMTAsIDAsIHsweDNlLDB4YzAsMHg4ZSwweGIwLDB4MDMsMHg2ZCwweDAwLDB4ZGIsMHgwMSwweDMyLDB4NDAsMHg4YywweDMzLDB4MDMsMHg5MCwweDA0IH0gfSwKLXsgIDE2LCAweGRkMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4MjQsMHgwMCwweDgzLDB4ZTAsMHhhMiwweGQwIH0gfSwKLXsgIDE2LCAweGRkMzAsIDAsIHsweDQwLDB4YjAsMHgwMiwweDI1LDB4MDQsMHhiZiwweDgwLDB4YTAsMHg1MCwweDA4LDB4ZjgsMHgwMiwweDIwLDB4MDAsMHg4YiwweDAyIH0gfSwKLXsgIDE2LCAweGRkNDAsIDAsIHsweDJmLDB4ZDAsMHgwOCwweGYwLDB4MDIsMHgyNCwweDAwLDB4OGYsMHg4MCwweDM2LDB4MDEsMHgwOCwweDg0LDB4NDIsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweGRkNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4NDQsMHgwMCwweDgzLDB4NDgsMHgyMCwweGM0IH0gfSwKLXsgIDE2LCAweGRkNjAsIDAsIHsweDA5LDB4MDAsMHgwMiwweDQ2LDB4MDAsMHhiMywweDAxLDB4YTgsMHg5MCwweDE5LDB4MzAsMHgxMiwweDhjLDB4MDAsMHhhMywweDA0IH0gfSwKLXsgIDE2LCAweGRkNzAsIDAsIHsweDJlLDB4ZTIsMHgwYSwweGIwLDB4MDIsMHgwYywweDAwLDB4ODMsMHg0OSwweDI4LDB4YzAsMHgwOSwweDNjLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGRkODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmMCwweDAxLDB4MzYsMHgwNCwweDgzLDB4ODAsMHgyMSwweGUxIH0gfSwKLXsgIDE2LCAweGRkOTAsIDAsIHsweDA4LDB4MzgsMHgxMiwweDFlLDB4MjgsMHhiMywweDk4LDB4MjEsMHhhMCwweDE5LDB4MzgsMHg4MiwweDk2LDB4MDAsMHg4NywweDgzIH0gfSwKLXsgIDE2LCAweGRkYTAsIDAsIHsweDJkLDB4ZTIsMHgwOCwweDc4LDB4MjIsMHgzNiwweDhjLDB4ODcsMHg4MCwweDJkLDB4ZTAsMHgwOSwweDc5LDB4MDIsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGRkYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDQsMHgwMCwweGMzLDB4MzAsMHgzMCwweGM4IH0gfSwKLXsgIDE2LCAweGRkYzAsIDAsIHsweDRkLDB4MDAsMHgwYiwweDRjLDB4ODAsMHhmMywweDEyLDB4MzgsMHhjMCwweDBkLDB4M2EsMHgwMiwweDhjLDB4ODAsMHhmMywweDAwIH0gfSwKLXsgIDE2LCAweGRkZDAsIDAsIHsweDNjLDB4YzAsMHgwZSwweDMwLDB4MGIsMHgwZSwweDAwLDB4YzMsMHgwYywweDNhLDB4YzAsMHgwZCwweDMwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGRkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjQsMHgwNiwweGZmLDB4MTAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGRkZjAsIDAsIHsweDBmLDB4YjAsMHgxMywweGJjLDB4MDAsMHhmZiwweDEwLDB4N2YsMHhjMCwweDBlLDB4ZjEsMHhhMywweDdjLDB4MDAsMHhmZiwweDEyIH0gfSwKLXsgIDE2LCAweGRlMDAsIDAsIHsweDNmLDB4YzIsMHgwZiwweGY1LDB4MjMsMHhiYywweDQxLDB4ZWYsMHgxOCwweDM3LDB4ODAsMHhhZSwweGMwLDB4MDMsMHg1MCwweDA2IH0gfSwKLXsgIDE2LCAweGRlMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGRiLDB4MDAsMHgzZSwweGRhIH0gfSwKLXsgIDE2LCAweGRlMjAsIDAsIHsweDBjLDB4ODAsMHgwMywweDY2LDB4MTAsMHg4YiwweDAwLDB4MzIsMHg4MCwweDhjLDB4YjYsMHgwMywweDRhLDB4MDAsMHg0YiwweDgwIH0gfSwKLXsgIDE2LCAweGRlMzAsIDAsIHsweDMyLDB4YzgsMHgwYywweGI0LDB4MDMsMHgwYSwweDEwLDB4ZGIsMHgwMCwweDNlLDB4YzEsMHgwYywweGIwLDB4NDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGRlNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDExLDB4YjQsMHgwMCwweDg3LDB4MDQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGRlNTAsIDAsIHsweDBkLDB4NzAsMHgwMywweDFjLDB4MDgsMHg4NywweDQ4LDB4MjAsMHg4MSwweDBkLDB4NzIsMHg4MiwweDVjLDB4MDAsMHhkNywweDAwIH0gfSwKLXsgIDE2LCAweGRlNjAsIDAsIHsweDIxLDB4Y2MsMHgyOCwweGYwLDB4MDIsMHgxYywweDEwLDB4ODcsMHgyMCwweDJjLDB4MDAsMHgwOCwweDQwLDB4MGEsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGRlNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OTYsMHgwMCwweGI3LDB4ODEsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGRlODAsIDAsIHsweDA4LDB4NDgsMHgwMiwweDBlLDB4MDQsMHg4NywweDgwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweDNlLDB4MDEsMHg4NywweDgwIH0gfSwKLXsgIDE2LCAweGRlOTAsIDAsIHsweDIxLDB4ZTAsMHgxOCwweDc5LDB4MDIsMHgzYSwweDAxLDB4OTcsMHhhMCwweDJkLDB4NjAsMHgwOCwweDM4LDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGRlYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4YzYsMHgwMCwweGEzLDB4YzYsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGRlYjAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDBjLDB4MDEsMHg4MywweDAwLDB4MjAsMHhlMCwweDA5LDB4MzAsMHgwMiwweDRlLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGRlYzAsIDAsIHsweDIwLDB4YzAsMHg0OSwweDMwLDB4MjIsMHgwZiwweDY0LDB4ODMsMHgwMiwweDZjLDB4ZDQsMHgyOCwweDMwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGRlZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YWIsMHg4MCwweGZhLDB4ZTAsMHgzYywweDg4IH0gfSwKLXsgIDE2LCAweGRlZTAsIDAsIHsweDBjLDB4ZTAsMHgwMiwweDI4LDB4MDIsMHhjYSwweDAwLDB4YjMsMHhhOSwweDBjLDB4YTAsMHgwMywweDNiLDB4MTAsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGRlZjAsIDAsIHsweGEyLDB4ODAsMHgwYywweGEwLDB4MGIsMHgzOCwweDAwLDB4ZGEsMHgwMCwweDNmLDB4YjAsMHgwYywweGU2LDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGRmMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4YzAsMHgyMCwweDk4LDB4MDgsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGRmMTAsIDAsIHsweDBmLDB4ODAsMHgwYiwweGUxLDB4MDAsMHhmOCwweDAxLDB4M2MsMHgxMCwweDRmLDB4MDAsMHgwMywweGEwLDB4NDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGRmMjAsIDAsIHsweDNlLDB4MTAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNjLDB4MDIsMHgyZiwweDA0LDB4OTMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGRmMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGMxLDB4YzEsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGRmNDAsIDAsIHsweDBjLDB4OTgsMHgwMywweDI2LDB4NDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTgsMHgwMywweDI0LDB4MjQsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGRmNTAsIDAsIHsweDNjLDB4NjAsMHgwYywweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHg4MiwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGRmNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDUwIH0gfSwKLXsgIDE2LCAweGRmNzAsIDAsIHsweDBkLDB4OTgsMHgwMiwweDI1LDB4ODAsMHhiOSwweDAwLDB4MjIsMHg1MiwweDBkLDB4OWMsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGRmODAsIDAsIHsweDJlLDB4NjAsMHgwOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjksMHg0MCwweDM2LDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGRmOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDhkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGRmYTAsIDAsIHsweDA4LDB4MTIsMHgwMiwweDI0LDB4MDAsMHhhMSwweDEwLDB4YTIsMHg2MCwweDA4LDB4OTIsMHg4YSwweDI0LDB4MDAsMHhiOSwweDAxIH0gfSwKLXsgIDE2LCAweGRmYjAsIDAsIHsweDJlLDB4NDYsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHg1MCwweDIyLDB4NDAsMHgyOCwweDkwLDB4ODIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGRmYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4NCwweDg1LDB4MjAsMHhhMSwweGQ4IH0gfSwKLXsgIDE2LCAweGRmZDAsIDAsIHsweDA5LDB4MTAsMHgwMiwweDA0LDB4ODAsMHhiMywweDIwLDB4MjAsMHg0MCwweDI5LDB4MTIsMHgwNiwweDA0LDB4MDAsMHhiMSwweDAxIH0gfSwKLXsgIDE2LCAweGRmZTAsIDAsIHsweDJjLDB4NDgsMHgyOCwweDEyLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgyMCwweDI0LDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGRmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MiwweDhhLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGUwMDAsIDAsIHsweDBjLDB4MDUsMHgwMywweDIxLDB4NDAsMHhlMCwweDUwLDB4YjIsMHgwMCwweDJjLDB4ODAsMHgwMiwweDIxLDB4NDAsMHhmMCwweDUwIH0gfSwKLXsgIDE2LCAweGUwMTAsIDAsIHsweDNjLDB4MTQsMHgwYywweDg1LDB4MTMsMHhhMSwweDUwLDB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwYywweDg1LDB4MjMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGUwMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGUwMzAsIDAsIHsweDBmLDB4ZDQsMHgwYiwweGY0LDB4NDQsMHhmOSwweDEwLDB4M2YsMHg1MCwweDRmLDB4MTEsMHgwMywweGY0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGUwNDAsIDAsIHsweDNlLDB4NDQsMHgwZiwweDkxLDB4NTMsMHhmNCwweDE0LDB4ZjksMHgxMCwweDNmLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNiwweDAyIH0gfSwKLXsgIDE2LCAweGUwNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDA1LDB4ZTYsMHhhMCwweGRkLDB4ODgsMHhiMywweDY2IH0gfSwKLXsgIDE2LCAweGUwNjAsIDAsIHsweDBjLDB4ZGMsMHg4MywweDM2LDB4ODgsMHhiZCwweGEwLDB4MzcsMHg2YSwweDBjLDB4ZGEsMHgwYiwweDI1LDB4MDIsMHhjOSwweDQwIH0gfSwKLXsgIDE2LCAweGUwNzAsIDAsIHsweDNmLDB4NzgsMHg0ZiwweDk4LDB4YjMsMHhlNSwweDA0LDB4Y2QsMHhhMCwweDcyLDB4NzgsMHgwYywweGQ4LDB4OGIsMHgyNiwweDE0IH0gfSwKLXsgIDE2LCAweGUwODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTMsMHgwMCwweDg4LDB4NDIsMHgyMiwweDMxIH0gfSwKLXsgIDE2LCAweGUwOTAsIDAsIHsweDA4LDB4MGEsMHgwMiwweDIyLDB4YTAsMHhiOCwweGY5LDB4MjIsMHgxMCwweDBkLDB4ODQsMHgxMiwweDZhLDB4ODAsMHg4OCwweDgwIH0gfSwKLXsgIDE2LCAweGUwYTAsIDAsIHsweDJlLDB4MjAsMHgwYiwweDA4LDB4MDIsMHhlMiwweDgwLDB4YTgsMHhhOCwweGEyLDB4MzgsMHg0OCwweGE4LDB4MDIsMHgwZSwweDAwIH0gfSwKLXsgIDE2LCAweGUwYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHhhMiwweDgxLDB4MDAsMHgyMCwweDQ4IH0gfSwKLXsgIDE2LCAweGUwYzAsIDAsIHsweDA4LDB4MTIsMHg0MiwweDQ1LDB4MDAsMHhiMSwweDAwLDB4MjQsMHg0MCwweDA5LDB4MTQsMHgwMiwweDI0LDB4MDAsMHg4MSwweDIwIH0gfSwKLXsgIDE2LCAweGUwZDAsIDAsIHsweDJjLDB4NTgsMHgwYiwweDEwLDB4ODIsMHhjNCwweDA0LDB4OTEsMHg0MCwweDY0LDB4NmMsMHgwOCwweDMwLDB4ODIsMHgxMiwweDA1IH0gfSwKLXsgIDE2LCAweGUwZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQxIH0gfSwKLXsgIDE2LCAweGUwZjAsIDAsIHsweDA4LDB4OTAsMHg4YSwweDY0LDB4ODAsMHhiOSwweDAwLDB4MjIsMHg1MCwweDA5LDB4OTAsMHgwNiwweDY0LDB4MDgsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGUxMDAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDYsMHhjNCwweDAxLDB4YjksMHgwMiwweDI2LDB4NjEsMHg4OCwweDkwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGUxMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGUxMjAsIDAsIHsweDJjLDB4OTQsMHgyMywweDY0LDB4MDAsMHhiOSwweDAwLDB4MzYsMHg0MCwweDA5LDB4OTAsMHgxMywweDA1LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGUxMzAsIDAsIHsweDNlLDB4NDAsMHg0ZiwweDkwLDB4MTMsMHhlNSwweGMwLDB4ZDksMHgwMCwweDI2LDB4NDAsMHgyYywweDk0LDB4MDMsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGUxNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDAxLDB4YTQsMHgwMiwweGU5LDB4MDgsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGUxNTAsIDAsIHsweDBmLDB4OTAsMHgwYiwweGE0LDB4MDAsMHhmMSwweDAwLDB4M2UsMHg0MSwweDBmLDB4OTAsMHg0MywweGE0LDB4ODgsMHhlOSwweDA0IH0gfSwKLXsgIDE2LCAweGUxNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZTEsMHgwMCwweDNhLDB4NDAsMHg5ZiwweDkyLDB4NjMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGUxNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgxMCwweGUwLDB4MDEsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGUxODAsIDAsIHsweDhmLDB4ODAsMHgwMywweDIwLDB4MDAsMHhkOCwweDA4LDB4MzAsMHgwMSwweDhjLDB4MDAsMHgwMywweGUxLDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGUxOTAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MGIsMHgyMSwweDAwLDB4YzgsMHgwMCwweDc4LDB4MDAsMHgwZiwweDg2LDB4MDMsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGUxYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4NDAsMHgyYiwweDgyIH0gfSwKLXsgIDE2LCAweGUxYjAsIDAsIHsweDBiLDB4YTAsMHgwMiwweDNhLDB4MDAsMHg4ZSwweDgwLDB4MjMsMHg4MiwweDA4LDB4ZTIsMHgwMiwweDI4LDB4MTAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGUxYzAsIDAsIHsweDJmLDB4OTgsMHgyOCwweGEwLDB4MTIsMHgyOCwweDAwLDB4OGUsMHgyMCwweDJlLDB4ODAsMHg0YiwweGU0LDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGUxZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMiwweGEyLDB4NDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGUxZTAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDRlLDB4NDAsMHg5MywweGMwLDB4YTAsMHgyMCwweDA4LDB4MzYsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGUxZjAsIDAsIHsweDJjLDB4ZTIsMHgwOCwweDMwLDB4MDYsMHg0YywweDEyLDB4OTMsMHgwOCwweDI4LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGUyMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHgwOCwweDgyLDB4NDAsMHgyOSwweDQwIH0gfSwKLXsgIDE2LCAweGUyMTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweDVlLDB4MDgsMHg4NCwweDA4LDB4MjMsMHg0MCwweDA4LDB4NzAsMHgwNiwweDFjLDB4ODAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGUyMjAsIDAsIHsweDJkLDB4MjAsMHgwOCwweDc5LDB4MTIsMHg1YywweDAwLDB4OTQsMHgwMCwweDJkLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGUyMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgwMCwweGU0LDB4ODAsMHgzMSwweGExIH0gfSwKLXsgIDE2LCAweGUyNDAsIDAsIHsweDBmLDB4NTgsMHgxMywweDc2LDB4MDAsMHhkMCwweDgwLDB4MzEsMHhjMCwweDBjLDB4MzgsMHgwMywweGJlLDB4ODAsMHhkNywweDgxIH0gfSwKLXsgIDE2LCAweGUyNTAsIDAsIHsweDNmLDB4MjAsMHg4YywweDc5LDB4MDMsMHg3ZiwweDAxLDB4ZDYsMHg4MCwweDM5LDB4ZTgsMHg0ZiwweDY4LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGUyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YmUsMHgwMCwweGZhLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGUyNzAsIDAsIHsweDhmLDB4OTYsMHgwYiwweGE0LDB4MDAsMHhlYSwweDAwLDB4M2MsMHhjMCwweDBmLDB4OTAsMHgwMywweGFjLDB4MjAsMHhmYiwweDQwIH0gfSwKLXsgIDE2LCAweGUyODAsIDAsIHsweDJlLDB4MDAsMHgwZiwweGIyLDB4MDMsMHhhZCwweGEwLDB4ZWEsMHgwMCwweDNlLDB4YzAsMHgwZiwweGEwLDB4MWIsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGUyOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwOCwweGRlLDB4ODEsMHgzMywweGE0IH0gfSwKLXsgIDE2LCAweGUyYTAsIDAsIHsweDBlLDB4ZmMsMHgxMywweDNlLDB4MDAsMHhmYywweDgwLDB4MTMsMHgyMCwweDBjLDB4NjgsMHgwMywweDNlLDB4MjAsMHhmZiwweGM4IH0gfSwKLXsgIDE2LCAweGUyYjAsIDAsIHsweDNmLDB4NjAsMHgxZCwweGY4LDB4MDMsMHg3ZSwweDAwLDB4YzcsMHg4MCwweDMzLDB4ZTIsMHgwYywweGQ4LDB4MDMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGUyYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweDg2LDB4NDEsMHgzMSwweGM0IH0gfSwKLXsgIDE2LCAweGUyZDAsIDAsIHsweDA4LDB4NzksMHg0MiwweDljLDB4MDAsMHhiYywweDEwLDB4MjEsMHg0MCwweDg1LDB4MzUsMHgwMywweDVjLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGUyZTAsIDAsIHsweDJkLDB4YzAsMHgwOCwweDcyLDB4MDIsMHgyYywweDAwLDB4YTcsMHgwMSwweDM3LDB4YzAsMHgwOCwweDUxLDB4NDIsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGUyZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OGMsMHg0MCwweDgyLDB4MDAsMHgyNCwweDgxIH0gfSwKLXsgIDE2LCAweGUzMDAsIDAsIHsweDA4LDB4ZDgsMHgwMiwweDE0LDB4MjAsMHhiNSwweDAwLDB4MjAsMHg0MCwweDA5LDB4NjAsMHgwMiwweDFjLDB4NDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGUzMTAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDMwLDB4MjIsMHhkYywweDAwLDB4OTcsMHgwMCwweDIxLDB4YzQsMHgwOCwweDQwLDB4MDIsMHg0NCwweDAwIH0gfSwKLXsgIDE2LCAweGUzMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4ZWMsMHgwMCwweDkyLDB4MDYsMHgyMCwweDkwIH0gfSwKLXsgIDE2LCAweGUzMzAsIDAsIHsweDM4LDB4MTUsMHgwMiwweDg2LDB4MDAsMHhiOCwweDAwLDB4NjAsMHg1MCwweDA5LDB4MzAsMHgwMiwweDRlLDB4MDEsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGUzNDAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDMwLDB4MDIsMHhjZSwweDIwLDB4YjMsMHgwMCwweDI0LDB4ZjAsMHg0OCwweDAyLDB4MGEsMHg1OCwweDA0IH0gfSwKLXsgIDE2LCAweGUzNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNhLDB4MDAsMHhhNiwweDk0IH0gfSwKLXsgIDE2LCAweGUzNjAsIDAsIHsweDJjLDB4OTAsMHgwMywweDJlLDB4MDAsMHhmYiwweDA1LDB4YjIsMHg4NSwweDBkLDB4OTAsMHgwMywweDNmLDB4OTAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGUzNzAsIDAsIHsweDdlLDB4ODAsMHgxZiwweGYwLDB4NDMsMHhmYywweDIxLDB4OWEsMHgwMCwweDMzLDB4YzgsMHgzYywweGIyLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweGUzODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ZWMsMHgwMiwweGVhLDB4NDAsMHgzZCwweDgwIH0gfSwKLXsgIDE2LCAweGUzOTAsIDAsIHsweDBmLDB4MTAsMHg5MywweGVkLDB4MDAsMHhmYiwweDQwLDB4M2UsMHg5MCwweDhmLDB4MzAsMHgwMywweGVjLDB4ODAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGUzYTAsIDAsIHsweDNlLDB4OTEsMHgxYywweGIwLDB4MDMsMHgyYywweDEwLDB4ZTgsMHgwMCwweDNlLDB4YzgsMHgxZiwweDkwLDB4MDMsMHhhNSwweDEwIH0gfSwKLXsgIDE2LCAweGUzYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZmMsMHgwMiwweGU0LDB4MDAsMHg3MywweGEwIH0gfSwKLXsgIDE2LCAweGUzYzAsIDAsIHsweDBjLDB4ZmMsMHgwMywweDdjLDB4MDIsMHhmZiwweDEwLDB4MTMsMHhjNCwweDFjLDB4YzAsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGUzZDAsIDAsIHsweDM3LDB4ZTAsMHgwZCwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWQsMHg4MCwweDMxLDB4YzAsMHgwYywweDMyLDB4NjMsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGUzZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCwweDAwLDB4NmMsMHgwMCwweDhhLDB4YzAsMHgyMiwweGIxIH0gfSwKLXsgIDE2LCAweGUzZjAsIDAsIHsweDhhLDB4YjgsMHg0MywweDRhLDB4MTAsMHhkYiwweDIwLDB4MjAsMHhmMCwweDBhLDB4OTQsMHgwMywweDZjLDB4MDAsMHhiYiwweDA3IH0gfSwKLXsgIDE2LCAweGU0MDAsIDAsIHsweDIyLDB4YjgsMHgwOCwweGIwLDB4MDIsMHhlYywweDExLDB4ZTgsMHhjMCwweGIyLDB4YzAsMHgyYSwweDkyLDB4MWEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MmMsMHgwMCwweGFhLDB4ODAsMHgyMiwweDk4IH0gfSwKLXsgIDE2LCAweGU0MjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDJmLDB4MDMsMHhiYiwweDAxLDB4MmEsMHg4MywweDA4LDB4YjIsMHg0ZSwweDJjLDB4MDQsMHhhYiwweDAyIH0gfSwKLXsgIDE2LCAweGU0MzAsIDAsIHsweDIyLDB4YzQsMHgyOCwweGIwLDB4MjIsMHhlYywweDA5LDB4YjMsMHg1MCwweDYyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMSwweDgzLDB4MDAsMHg2MCwweDgwIH0gfSwKLXsgIDE2LCAweGU0NTAsIDAsIHsweDA4LDB4MTIsMHgwYSwweDQ0LDB4MDAsMHg5MywweDAwLDB4MmEsMHg4MCwweDRhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGU0NjAsIDAsIHsweDYwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDYwLDB4YzAsMHgwOCwweDAwLDB4NDYsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGU0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBkLDB4NmMsMHgwMCwweGU4LDB4MDIsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGU0ODAsIDAsIHsweDJjLDB4ZjIsMHg0MywweDJjLDB4MDAsMHhmYiwweDAwLDB4YmEsMHhjMCwweDA4LDB4YTUsMHgwMiwweDNjLDB4MDAsMHhlZiwweDAwIH0gfSwKLXsgIDE2LCAweGU0OTAsIDAsIHsweDM2LDB4YzAsMHg0ZCwweGYwLDB4MTMsMHhmZCwweDUxLDB4ZmIsMHgwMCwweDMyLDB4YzAsMHgwYywweGIwLDB4MDMsMHgyMCwweDAxIH0gfSwKLXsgIDE2LCAweGU0YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweDdlLDB4MDQsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGU0YjAsIDAsIHsweDBmLDB4MzEsMHg0MywweGYwLDB4MDIsMHhmZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGU0YzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlOCwweDE2IH0gfSwKLXsgIDE2LCAweGU0ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjIsMHg0MCwweGZjLDB4ODAsMHgzZiwweDI0IH0gfSwKLXsgIDE2LCAweGU0ZTAsIDAsIHsweDBkLDB4ZDgsMHg1MywweGQ2LDB4MDQsMHhkZiwweDMyLDB4M2YsMHhjYywweDRjLDB4YzAsMHg0MywweGZjLDB4MDAsMHhkZiwweDYwIH0gfSwKLXsgIDE2LCAweGU0ZjAsIDAsIHsweDM3LDB4YzAsMHgwZiwweGM0LDB4MDMsMHg3YywweGQwLDB4ZGYsMHgyMCwweDMzLDB4ZDgsMHgwZCwweGY4LDB4NDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGU1MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDE4LDB4ZTgsMHg4MCwweGIwLDB4MDEsMHgyZSwweDA4IH0gfSwKLXsgIDE2LCAweGU1MTAsIDAsIHsweDg4LDB4OTAsMHgwMiwweGVjLDB4MjAsMHg4YiwweDcwLDB4MmYsMHhjYywweDA4LDB4YjMsMHg4MiwweGZkLDB4ZTAsMHhiZiwweDQwIH0gfSwKLXsgIDE2LCAweGU1MjAsIDAsIHsweDIyLDB4ZDgsMHgwYiwweDkzLDB4MDIsMHhmZCwweGMwLDB4YWYsMHgxMCwweDI4LDB4ZjAsMHgwOCwweGJjLDB4MTIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGU1MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgwMCwweGIwLDB4MDAsMHgyZSwweDAxIH0gfSwKLXsgIDE2LCAweGU1NDAsIDAsIHsweDBhLDB4MTIsMHg4MiwweGVjLDB4ODAsMHhiMywweDAwLDB4MmMsMHhjOCwweDBhLDB4MDAsMHgzMiwweDhjLDB4MDAsMHhhMywweDMwIH0gfSwKLXsgIDE2LCAweGU1NTAsIDAsIHsweDIwLDB4ZDIsMHgwOSwweDAwLDB4MDIsMHg4YywweDgwLDB4ODMsMHgwMCwweDI4LDB4ZDgsMHgwYiwweDM0LDB4MTIsMHhmMiwweDAxIH0gfSwKLXsgIDE2LCAweGU1NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4YWMsMHgwMSwweGI4LDB4MDIsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGU1NzAsIDAsIHsweDBhLDB4OTAsMHgxMiwweGVjLDB4MTAsMHg4YiwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMCwweGVjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGU1ODAsIDAsIHsweDIyLDB4YzEsMHgwYiwweDkyLDB4MDIsMHhjYywweDAxLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwMiwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGU1OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTAsMHgwMCwweGZhLDB4MGMsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGU1YTAsIDAsIHsweDBmLDB4YTAsMHgxMywweGVlLDB4MjAsMHhkYiwweDAwLDB4M2UsMHhjMCwweDJlLDB4ODgsMHg1MywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGU1YjAsIDAsIHsweGIyLDB4YzAsMHg4ZiwweGFjLDB4ODMsMHhhYywweDA4LDB4ZGIsMHgwMCwweDFhLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhjMCwweDA0IH0gfSwKLXsgIDE2LCAweGU1YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjgsMHgwMCwweGZlLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGU1ZDAsIDAsIHsweDJkLDB4ZTAsMHgwMywweGZlLDB4ODAsMHg3ZiwweDAwLDB4M2YsMHhjMCwweDBkLDB4ZDIsMHgwMywweGZjLDB4MDAsMHhiZiwweDAxIH0gfSwKLXsgIDE2LCAweGU1ZTAsIDAsIHsweDNlLDB4YzAsMHgwZCwweGM4LDB4MDMsMHhmYywweDBjLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwOSwweGYwLDB4MjMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGU1ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTQsMHgwMCwweGZhLDB4NDAsMHgzMiwweGMxIH0gfSwKLXsgIDE2LCAweGU2MDAsIDAsIHsweDBmLDB4YTAsMHgwMywweDI5LDB4MDgsMHhkYiwweDAwLDB4M2UsMHhjMCwweDBlLDB4ODUsMHgwMywweGVjLDB4MjAsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweGU2MTAsIDAsIHsweDNhLDB4YzAsMHgwZSwweGE0LDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNhLDB4YzIsMHgwZSwweGIwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGU2MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGJhLDB4NjAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGU2MzAsIDAsIHsweDBiLDB4YTAsMHgwMiwweDA4LDB4MDAsMHhhZiwweDAwLDB4MmYsMHhkMCwweDBiLDB4YjUsMHgwMiwweGZlLDB4MDIsMHg4ZiwweDAwIH0gfSwKLXsgIDE2LCAweGU2NDAsIDAsIHsweDJmLDB4YzAsMHgwZCwweDgwLDB4MGEsMHgzYywweDAwLDB4YjcsMHgwMCwweDIzLDB4YzIsMHgwNSwweGYwLDB4MjIsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweGU2NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA0LDB4NDAsMHgwMCwweGIxLDB4ODgsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2NjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MmUsMHhjOCwweDBiLDB4MDgsMHgwNiwweDRkLDB4NDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGU2NzAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMwLDB4MDYsMHgwYywweDA4LDB4OTMsMHgyMCwweDBhLDB4ZTAsMHg0YSwweDMwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGU2ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDEwLDB4NWEsMHgwMCwweGI1LDB4OTAsMHgyMSwweDIwIH0gfSwKLXsgIDE2LCAweGU2OTAsIDAsIHsweDBiLDB4NTgsMHg0MiwweDNlLDB4MDAsMHhhNywweDgwLDB4MmQsMHhlMCwweDBiLDB4NjksMHgwMiwweGRlLDB4NDAsMHg4NywweDkyIH0gfSwKLXsgIDE2LCAweGU2YTAsIDAsIHsweDJkLDB4ZTAsMHgwOSwweDE4LDB4MDIsMHg5ZSwweDAxLDB4YjcsMHg4MCwweDI5LDB4ZTAsMHgwMywweDcwLDB4MDIsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGU2YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NDQsMHgwMCwweGYxLDB4MDEsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2YzAsIDAsIHsweDVmLDB4MTgsMHgwMywweDBjLDB4MTAsMHg4MywweDAwLDB4M2MsMHhjNCwweDBlLDB4MDQsMHgwMywweGVjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGU2ZDAsIDAsIHsweDMwLDB4YzQsMHgwYywweDMxLDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwMCwweDM4LDB4YzgsMHgwZSwweDMxLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGU2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4YmMsMHgwMCwweGZkLDB4MDQsMHhiZiwweDA0IH0gfSwKLXsgIDE2LCAweGU2ZjAsIDAsIHsweDRmLDB4NTgsMHgwMywweGY4LDB4MDgsMHhlZiwweDA4LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMSwweGZjLDB4MDAsMHhmZiwweDRjIH0gfSwKLXsgIDE2LCAweGU3MDAsIDAsIHsweDNmLDB4YzEsMHgwZiwweGQwLDB4MDMsMHgzYywweDAwLDB4ZjcsMHgwMCwweDM3LDB4YzIsMHgwZCwweDcyLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGU3MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZTIsMHgwMCwweGRiLDB4MDAsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGU3MjAsIDAsIHsweDRkLDB4YTgsMHgwMywweDJjLDB4MDgsMHhmYiwweDAwLDB4N2UsMHhjOCwweDhmLDB4YjAsMHgwYiwweDZmLDB4NDUsMHhlYiwweGMyIH0gfSwKLXsgIDE2LCAweGU3MzAsIDAsIHsweDM2LDB4YzAsMHgwNywweGEwLDB4MDMsMHhlZiwweDIwLDB4Y2IsMHg1MCwweGIyLDB4YzAsMHgwYywweDc5LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGU3NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE5LDB4OTgsMHgwMCwweDhmLDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGU3NTAsIDAsIHsweDBiLDB4NjAsMHgwMywweDVjLDB4MDAsMHgzNywweDAwLDB4MmQsMHhkMiwweDBiLDB4MzAsMHgwMiwweDBjLDB4YTgsMHg4NywweDI0IH0gfSwKLXsgIDE2LCAweGU3NjAsIDAsIHsweDIxLDB4ZDAsMHgwOSwweDcwLDB4MDIsMHhkZCwweDg4LDB4ODcsMHgyYSwweDIzLDB4ZTgsMHgwOCwweDcwLDB4MDIsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGU3NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4YjYsMHgwMCwweDk3LDB4ODAsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweGU3ODAsIDAsIHsweDBiLDB4NjgsMHgwMiwweDFlLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlOCwweDhiLDB4NDgsMHg4MiwweDFlLDB4ODAsMHhhMywweDg0IH0gfSwKLXsgIDE2LCAweGU3OTAsIDAsIHsweDI1LDB4ZTgsMHgwYiwweDY4LDB4MDIsMHhjZSwweDAyLDB4ODcsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDdhLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGU3YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDA0LDB4Y2MsMHgwOCwweDgzLDB4ODIsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGU3YjAsIDAsIHsweDhiLDB4MmEsMHgwMiwweDQ4LDB4NDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHg4MiwweDBjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGU3YzAsIDAsIHsweDAwLDB4YzEsMHgwOSwweDMxLDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGU3ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4ZTgsMHgwMCwweGRhLDB4YTAsMHgzMiwweGE4IH0gfSwKLXsgIDE2LCAweGU3ZTAsIDAsIHsweDhkLDB4YTgsMHgwMywweDNiLDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4ZTQsMHgwMywweDY4LDB4MDAsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGU3ZjAsIDAsIHsweDM2LDB4ODAsMHgwZiwweGU0LDB4MDMsMHhlOCwweDAwLDB4Y2EsMHgwMCwweDMyLDB4ODAsMHgyYywweGEwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGU4MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAxLDB4YTAsMHgxMCwweGY4LDB4MDAsMHhiZSwweDIwIH0gfSwKLXsgIDE2LCAweGU4MTAsIDAsIHsweDhmLDB4YzEsMHgwMywweGUwLDB4MjQsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4ODQsMHgwMywweGUwLDB4MDAsMHhmOCwweDAxIH0gfSwKLXsgIDE2LCAweGU4MjAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMSwweGJlLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGU4MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGY5LDB4NDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGU4NDAsIDAsIHsweGNmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwLDB4MGUsMHg1MCwweDBmLDB4MWEsMHgwMywweDI2LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGU4NTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4ODEsMHhlNCwweDAwLDB4ZjksMHg4MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGU4NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwNCwweGIxLDB4MDQsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGU4NzAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg1MywweDBiLDB4OTIsMHgwYSwweDI2LDB4NDgsMHhiOSwweDA0IH0gfSwKLXsgIDE2LCAweGU4ODAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHg4MCwweDAyLDB4NTAsMHgwOCwweDkwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGU4OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDA1LDB4MjQsMHgwMCwweGJkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGU4YTAsIDAsIHsweDBiLDB4ZDAsMHgxMiwweGM0LDB4MDAsMHg4OSwweDAyLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgyMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGU4YjAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjEsMHgyMCwweDIwLDB4NDAsMHg2OCwweDkwLDB4MjIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGU4YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDE0LDB4MTQsMHgwMCwweGJmLDB4MTIsMHhhMSwweDQwIH0gfSwKLXsgIDE2LCAweGU4ZDAsIDAsIHsweDBiLDB4NTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDIwLDB4MmMsMHg0OCwweDBiLDB4MTIsMHgwMiwweDA0LDB4MTAsMHhiMSwweDExIH0gfSwKLXsgIDE2LCAweGU4ZTAsIDAsIHsweDJjLDB4NDgsMHgwYiwweDEzLDB4MjIsMHhjNCwweDAwLDB4YjEsMHg0MCwweDIwLDB4NWEsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGU4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4NDAsMHgzMiwweDE0IH0gfSwKLXsgIDE2LCAweGU5MDAsIDAsIHsweDBmLDB4NDUsMHgwMywweGUxLDB4NDAsMHhjOCwweDUwLDB4M2UsMHgxNSwweDhmLDB4ODUsMHgwMywweDIxLDB4ZTgsMHhmOCwweDY4IH0gfSwKLXsgIDE2LCAweGU5MTAsIDAsIHsweDNlLDB4MTQsMHgwZiwweDg0LDB4MDMsMHhlMSwweGUwLDB4ZjAsMHgyOCwweDMyLDB4YTgsMHhjYywweDgwLDB4MjMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweGU5MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDE1LDB4YzQsMHgxMCwweGY5LDB4MjAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGU5MzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGY0LDB4MDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU0LDB4MDAsMHhmOSwweDIwIH0gfSwKLXsgIDE2LCAweGU5NDAsIDAsIHsweDNlLDB4NDQsMHgwZiwweGQzLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGU5NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZTQsMHgwMCwweGZkLDB4MTAsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweGU5NjAsIDAsIHsweDBjLDB4ZDAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2YsMHg0MCwweDRjLDB4ZDAsMHgwMywweGY2LDB4MDAsMHhmZCwweDkwIH0gfSwKLXsgIDE2LCAweGU5NzAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNiwweGEwLDB4ZmQsMHhhOCwweDM3LDB4NjgsMHgwYywweGQ4LDB4ODMsMHgyNiwweDAwIH0gfSwKLXsgIDE2LCAweGU5ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwOCwweGM4LDB4YTAsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGU5OTAsIDAsIHsweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ODAsMHgxMiwweGUwLDB4MDAsMHhiOCwweDgwIH0gfSwKLXsgIDE2LCAweGU5YTAsIDAsIHsweDIyLDB4MDAsMHgwZCwweDBhLDB4MDIsMHhlMywweDgwLDB4YjAsMHhjMCwweDIwLDB4MzQsMHgwOCwweDg0LDB4MDMsMHg0ZSwweDA0IH0gfSwKLXsgIDE2LCAweGU5YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ODQsMHgwOSwweGExLDB4MDAsMHgyMCwweDQxIH0gfSwKLXsgIDE2LCAweGU5YzAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg5MSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM1LDB4MDAsMHhiMSwweDYwIH0gfSwKLXsgIDE2LCAweGU5ZDAsIDAsIHsweDIwLDB4NDAsMHgwOCwweDEwLDB4YTIsMHhjNCwweDIwLDB4YjEsMHgyOCwweDI0LDB4NGEsMHgwOCwweDEwLDB4MDIsMHg1MiwweDAxIH0gfSwKLXsgIDE2LCAweGU5ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE0LDB4YTQsMHgwMSwweDgxLDB4MDAsMHhhMiwweDQwIH0gfSwKLXsgIDE2LCAweGU5ZjAsIDAsIHsweGE4LDB4OTAsMHgwMCwweDI1LDB4NDAsMHg4OSwweDAxLDB4MmMsMHg0MCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGVhMDAsIDAsIHsweDJhLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwNCwweDIyLDB4NDEsMHg0OCwweDkwLDB4MDIsMHg0NiwweDA0IH0gfSwKLXsgIDE2LCAweGVhMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE0LDB4YTUsMHgyMCwweGU5LDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGVhMjAsIDAsIHsweDRjLDB4MTAsMHgwYiwweDI2LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDJjLDB4OTgsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGVhMzAsIDAsIHsweGIyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgyYywweDkwLDB4MDMsMHg2OCwweDA0IH0gfSwKLXsgIDE2LCAweGVhNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAxLDB4YTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGVhNTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGVhNjAsIDAsIHsweDM2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGVhNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTEsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGVhODAsIDAsIHsweDBmLDB4ODAsMHgxMywweGEwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwNCwweDhjLDB4ODAsMHgwMywweGEwLDB4YzAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGVhOTAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwOSwweDMyLDB4MDAsMHg0YywweDgwLDB4MDEsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGVhYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweGJlLDB4MDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGVhYjAsIDAsIHsweDBiLDB4ZTAsMHgwMiwweDg4LDB4MDAsMHhhYSwweDAwLDB4MDMsMHhhMCwweDBhLDB4ZTYsMHgwMiwweGZhLDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGVhYzAsIDAsIHsweDMyLDB4ODAsMHgwYiwweGEwLDB4MDIsMHgyOCwweDAwLDB4OGUsMHg4MCwweGEzLDB4ODAsMHgyOCwweDIwLDB4MDIsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGVhZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMCwweGIzLDB4NDgsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGVhZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzQsMHg4MiwweDhlLDB4MDQsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGVhZjAsIDAsIHsweDBhLDB4YzAsMHgxYiwweDMwLDB4MDIsMHgwYywweDAyLDB4OTAsMHg1MCwweDIwLDB4NjAsMHgwOCwweDMwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGViMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDExLDB4MWMsMHg4MCwweGJkLDB4MGEsMHgyMSwweDQ4IH0gfSwKLXsgIDE2LCAweGViMTAsIDAsIHsweDBiLDB4NTIsMHgwMiwweDljLDB4NDAsMHhhMywweGEwLDB4MjAsMHg4MCwweDBhLDB4NjAsMHgwMiwweGNlLDB4MDAsMHg4NSwweDIwIH0gfSwKLXsgIDE2LCAweGViMjAsIDAsIHsweDIxLDB4YzQsMHgwYiwweDdhLDB4MDYsMHgxZSwweDgwLDB4OTUsMHgyMCwweDIxLDB4OTAsMHgwOCwweDcwLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGViMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA4LDB4MWUsMHg4MCwweGY3LDB4ODAsMHhiMSwweDc5IH0gfSwKLXsgIDE2LCAweGViNDAsIDAsIHsweDBmLDB4ZGIsMHgwMiwweDNlLDB4MjAsMHhjNywweGEwLDB4YjEsMHg2MCwweGNjLDB4NzgsMHgxMywweDk2LDB4MDAsMHhmMSwweGYwIH0gfSwKLXsgIDE2LCAweGViNTAsIDAsIHsweDM5LDB4ZTIsMHgwZiwweDdiLDB4MTMsMHgwZiwweDAwLDB4ZDQsMHhhMCwweDMxLDB4NjAsMHgyYywweDcwLDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGViNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE1LDB4YWMsMHgwMCwweGY3LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGViNzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVkLDB4ODAsMHhmYiwweDEwLDB4M2UsMHg0MCwweDBiLDB4YjAsMHgyMywweGVjLDB4MDAsMHhmOSwweDIwIH0gfSwKLXsgIDE2LCAweGViODAsIDAsIHsweDNhLDB4ZDgsMHgwZiwweGIwLDB4MGIsMHhlZCwweDgxLDB4ZWQsMHgxMCwweDNlLDB4ODAsMHgwZiwweDMwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGViOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4YmUsMHgyMCwweGVlLDB4ODAsMHgzMywweDYwIH0gfSwKLXsgIDE2LCAweGViYTAsIDAsIHsweDBjLDB4ZDgsMHg4MywweDFlLDB4MDAsMHg2ZiwweDgwLDB4MzMsMHhlMCwweDBmLDB4YjgsMHgxMSwweDMyLDB4MDQsMHhmNSwweDgwIH0gfSwKLXsgIDE2LCAweGViYjAsIDAsIHsweDMzLDB4ZTAsMHgwZiwweGY4LDB4ODMsMHgyZiwweDQwLDB4ZmUsMHg4MCwweGIzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGViYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE4LDB4OWMsMHgwMCwweGJjLDB4MDAsMHhhMSwweDQ0IH0gfSwKLXsgIDE2LCAweGViZDAsIDAsIHsweDA4LDB4MTAsMHgwMywweDVjLDB4MDAsMHg4ZiwweDAwLDB4MjEsMHg4MCwweDBiLDB4ZWEsMHgyMiwweDFjLDB4ODAsMHhiNSwweDAxIH0gfSwKLXsgIDE2LCAweGViZTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgxZSwweDgwLDB4YmUsMHgwMCwweDIzLDB4ODAsMHgyYSwweDcwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGViZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgyMCwweGE3LDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGVjMDAsIDAsIHsweDBiLDB4NTAsMHgwYSwweDNjLDB4MDAsMHhhNywweDAwLDB4MjUsMHhjMCwweDBhLDB4NDMsMHgwMiwweDEwLDB4MDAsMHhiNSwweDAwIH0gfSwKLXsgIDE2LCAweGVjMTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcwLDB4ODIsMHgxYywweDgwLDB4YjQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwNCwweDAwIH0gfSwKLXsgIDE2LCAweGVjMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDA0LDB4OGUsMHgwNCwweGIzLDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGVjMzAsIDAsIHsweDA5LDB4MTQsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDBiLDB4MjQsMHg4MiwweDA0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweGVjNDAsIDAsIHsweDIwLDB4YzAsMHg4YiwweDNhLDB4MDIsMHgyYywweDAxLDB4YjAsMHgwMCwweDIwLDB4ODAsMHgwYSwweDMwLDB4MDIsMHgxYSwweDA0IH0gfSwKLXsgIDE2LCAweGVjNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4OWUsMHgwMCwweGViLDB4MDQsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweGVjNjAsIDAsIHsweDJkLDB4ZGMsMHgwMywweDFkLDB4NjAsMHhlZiwweDAwLDB4MzIsMHgwMCwweGNmLDB4OWEsMHgwMywweDI4LDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGVjNzAsIDAsIHsweDMzLDB4YzEsMHg4YiwweGZjLDB4MGIsMHgzYywweDAwLDB4ZmMsMHgwMCwweDMyLDB4ODAsMHgwYywweDkwLDB4MDMsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGVjODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4YWMsMHgxMCwweGY4LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGVjOTAsIDAsIHsweDBlLDB4OTgsMHgyMywweGFjLDB4MDQsMHhmYiwweDAwLDB4M2MsMHgwMCwweDBmLDB4ODQsMHgyMCwweGVkLDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGVjYTAsIDAsIHsweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmQsMHgwMCwweDNlLDB4ODAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwIH0gfSwKLXsgIDE2LCAweGVjYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4ODAsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweGVjYzAsIDAsIHsweDBjLDB4ZDAsMHg4MywweGZjLDB4MDAsMHhlZiwweDAwLDB4M2YsMHg0MCwweDBjLDB4ZjEsMHg0MSwweDMwLDB4MTAsMHhjZCwweDAwIH0gfSwKLXsgIDE2LCAweGVjZDAsIDAsIHsweDNmLDB4YzAsMHgwMCwweDcwLDB4MTMsMHgzYywweDAwLDB4ZTQsMHgwMCwweGIxLDB4ZDAsMHgwYywweDEwLDB4MDMsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGVjZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMSwweDA0LDB4MmMsMHgwMCwweDhhLDB4ZTQsMHgyYSwweDQwIH0gfSwKLXsgIDE2LCAweGVjZjAsIDAsIHsweDI4LDB4OTAsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAwLDB4M2UsMHgwMiwweDBhLDB4ODAsMHgwMiwweDJjLDB4ODIsMHg4OSwweDA0IH0gfSwKLXsgIDE2LCAweGVkMDAsIDAsIHsweDJlLDB4YzEsMHgwYSwweGIwLDB4MGEsMHgyYywweDAwLDB4ODksMHgwMiwweDIyLDB4ZjIsMHgyYSwweDk4LDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMiwweDgwLDB4MTQsMHgyYSwweDQwIH0gfSwKLXsgIDE2LCAweGVkMjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGVjLDB4MDgsMHhhYiwweDA0LDB4MmUsMHg4NCwweDA4LDB4MTAsMHg4MiwweDgwLDB4MTAsMHg4OSwweDAzIH0gfSwKLXsgIDE2LCAweGVkMzAsIDAsIHsweDJjLDB4YzAsMHg0YSwweGIwLDB4MjIsMHgyYywweDAwLDB4YWEsMHgwMCwweDIyLDB4ODAsMHgwOCwweDkxLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE0LDB4MmMsMHgwMCwweDgwLDB4MDAsMHgyOCwweDQwIH0gfSwKLXsgIDE2LCAweGVkNTAsIDAsIHsweDA4LDB4MTEsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwLDB4MmMsMHg4MSwweDBhLDB4MDAsMHg1YSwweDg4LDB4MDAsMHgwMSwweDAwIH0gfSwKLXsgIDE2LCAweGVkNjAsIDAsIHsweDJjLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwYSwweDEwLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGVkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGM5LDB4MDAsMHgzYSwweDQwIH0gfSwKLXsgIDE2LCAweGVkODAsIDAsIHsweDBjLDB4ZDQsMHgwMywweGZjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTIsMHgwMywweGEwLDB4MDAsMHg0ZCwweDAwIH0gfSwKLXsgIDE2LCAweGVkOTAsIDAsIHsweDNmLDB4YzAsMHgwZSwweGYwLDB4MzMsMHgzYywweDgwLDB4ZTgsMHgwMCwweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHgyMCwweDAzIH0gfSwKLXsgIDE2LCAweGVkYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZCwweDQwIH0gfSwKLXsgIDE2LCAweGVkYjAsIDAsIHsweDBmLDB4NTAsMHgwMywweGZjLDB4MDIsMHgzZiwweDA0LDB4M2IsMHgwMSwweDRmLDB4YzQsMHgxMywweDcwLDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGVkYzAsIDAsIHsweDNmLDB4YzAsMHgxZiwweGYwLDB4MDEsMHhmYywweDQwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHgwZiwweGQwLDB4MTMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGVkZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjgsMHhlMCwweGZmLDB4ODAsMHgzZCwweGMwIH0gfSwKLXsgIDE2LCAweGVkZTAsIDAsIHsweDBkLDB4ZjMsMHg4MiwweGYwLDB4ODAsMHhmZiwweDQwLDB4MzEsMHhjYiwweDBjLDB4ZjMsMHgwMywweGZkLDB4MDQsMHhlZiwweGMxIH0gfSwKLXsgIDE2LCAweGVkZjAsIDAsIHsweDMzLDB4ZTAsMHgwZiwweDc5LDB4MDMsMHhmZSwweDAwLDB4Y2YsMHg0MiwweDMzLDB4ZjAsMHg0YywweGY4LDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDEwLDB4ZTksMHgwOCwweGI5LDB4ODEsMHgyZiwweGYwIH0gfSwKLXsgIDE2LCAweGVlMTAsIDAsIHsweDA4LDB4ZjQsMHg1MiwweGU5LDB4MjAsMHhiZiwweDQwLDB4MjMsMHhmMCwweDBhLDB4ZjMsMHgwMiwweGZkLDB4MDgsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGVlMjAsIDAsIHsweDM2LDB4ZTAsMHgwYiwweDgwLDB4MjIsMHhlOCwweDgwLDB4OGYsMHg0MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4ODIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGVlMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4Y2MsMHgwMCwweGIxLDB4ODAsMHgyYywweGM1IH0gfSwKLXsgIDE2LCAweGVlNDAsIDAsIHsweDA5LDB4MzIsMHg0MiwweGM4LDB4YzAsMHhiMywweDMxLDB4MjAsMHhjMSwweDA4LDB4MzIsMHgwMiwweGNjLDB4ZDQsMHhiYiwweDIwIH0gfSwKLXsgIDE2LCAweGVlNTAsIDAsIHsweDY4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDIwLDB4OTMsMHg2MCwweDIwLDB4ODgsMHgwOCwweDMyLDB4MDIsMHgzMiwweDAxIH0gfSwKLXsgIDE2LCAweGVlNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDE1LDB4YTAsMHgwMCwweGJiLDB4ODAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGVlNzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGVhLDB4MDAsMHhiYiwweDAwLDB4NjIsMHhjMSwweDBhLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhYiwweDAwIH0gfSwKLXsgIDE2LCAweGVlODAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGEwLDB4MDAsMHhlOCwweDAwLDB4ODMsMHgwMCwweDIyLDB4YzEsMHgwOCwweDMwLDB4MDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGVlOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZTgsMHg5MCwweGZiLDB4ODAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGVlYTAsIDAsIHsweDBkLDB4YjAsMHgwMywweGUyLDB4MTAsMHhmYiwweDAwLDB4MzIsMHhjMCwweDRjLDB4YjAsMHgxMywweGVjLDB4MDAsMHhlOSwweDU0IH0gfSwKLXsgIDE2LCAweGVlYjAsIDAsIHsweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlNiwweDAwLDB4Y2IsMHgwMCwweGIyLDB4NDAsMHgwYywweGIwLDB4MDMsMHgwNCwweDA0IH0gfSwKLXsgIDE2LCAweGVlYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjgsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGVlZDAsIDAsIHsweDhmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmNywweDAyLDB4YmYsMHhjMSwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhkZiwweDA2IH0gfSwKLXsgIDE2LCAweGVlZTAsIDAsIHsweDM3LDB4YzAsMHg4ZiwweGM5LDB4MDcsMHhmYSwweDkyLDB4ZmYsMHgwNCwweDNmLDB4NTAsMHgyZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGVlZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDEwLDB4YWMsMHgwMCwweGM5LDB4MDAsMHgzZSwweGMyIH0gfSwKLXsgIDE2LCAweGVmMDAsIDAsIHsweDBlLDB4YjAsMHgyMywweGU0LDB4MDAsMHhlYiwweDAwLDB4M2EsMHhjOCwweDBlLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGVmMTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhhNCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4ODAsMHgwZiwweGIwLDB4ODMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweGVmMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MjgsMHgwMCwweDhiLDB4NzQsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGVmMzAsIDAsIHsweDA4LDB4ZjAsMHgwMiwweGU0LDB4MDAsMHg4ZiwweDAwLDB4MjEsMHhmMCwweDA4LDB4ZjAsMHgwMiwweGZjLDB4MTAsMHhkMywweDAwIH0gfSwKLXsgIDE2LCAweGVmNDAsIDAsIHsweDJlLDB4YzAsMHgwYiwweDkwLDB4MTIsMHgyYywweDAwLDB4ZWYsMHgwMCwweDJlLDB4YzAsMHgwYiwweGI2LDB4MDIsMHhmNiwweDAwIH0gfSwKLXsgIDE2LCAweGVmNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4NDgsMHgwMCwweGEzLDB4MDAsMHgyYywweGM0IH0gfSwKLXsgIDE2LCAweGVmNjAsIDAsIHsweDBhLDB4MzAsMHgwMiwweGMwLDB4MDAsMHhhMywweDAwLDB4NjgsMHhmMCwweDBhLDB4MzAsMHgxMiwweGNjLDB4MDQsMHhhMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmNzAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhlYywweDAwLDB4YjMsMHgwMSwweDJlLDB4YzAsMHgwYiwweDM0LDB4MDIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGVmODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiMCwweDAxLDB4MGMsMHgwMCwweDg3LDB4ODAsMHgyZCwweGU4IH0gfSwKLXsgIDE2LCAweGVmOTAsIDAsIHsweDA4LDB4NzgsMHg0MiwweGRhLDB4MDAsMHg4NywweDgwLDB4MjUsMHhlMCwweDA4LDB4NzksMHgwMiwweGNlLDB4MDAsMHg5NiwweDgwIH0gfSwKLXsgIDE2LCAweGVmYTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweGQ5LDB4MDIsMHhkZSwweDAwLDB4YTcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGVmYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MCwweGUzLDB4MTAsMHgzYywweGMwIH0gfSwKLXsgIDE2LCAweGVmYzAsIDAsIHsweDBhLDB4MzgsMHgwMywweGU4LDB4MDAsMHhlYiwweDAwLDB4MzgsMHhjMiwweDBhLDB4MzAsMHgwMywweGNjLDB4MDAsMHhlMywweDQwIH0gfSwKLXsgIDE2LCAweGVmZDAsIDAsIHsweDNjLDB4YzAsMHgwZiwweDM0LDB4MDMsMHhjZCwweDAwLDB4ZjMsMHgyMCwweDNjLDB4ODgsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweGVmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjQsMHg4MCwweGZmLDB4MDQsMHgzZiwweGM4IH0gfSwKLXsgIDE2LCAweGVmZjAsIDAsIHsweDBmLDB4ZjAsMHg4MywweGY4LDB4NDAsMHhmZiwweDE4LDB4M2IsMHhjMCwweDBmLDB4ZjQsMHg4MywweGZjLDB4MDAsMHhlZSwweDAyIH0gfSwKLXsgIDE2LCAweGYwMDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZWYsMHgwOCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MTMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGYwMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTgsMHgwMCwweGNiLDB4MDAsMHgzZSwweGYyIH0gfSwKLXsgIDE2LCAweGYwMjAsIDAsIHsweDRkLDB4YjIsMHgxMywweGU4LDB4MDQsMHhjYiwweDAxLDB4MzIsMHhmOCwweDRkLDB4YjIsMHgxMywweDZkLDB4MjAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGYwMzAsIDAsIHsweDNlLDB4YzAsMHgwZiwweDMwLDB4MDMsMHgyNCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHg4ZiwweGI4LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGYwNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDExLDB4OGMsMHgwMCwweDg2LDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGYwNTAsIDAsIHsweDA4LDB4NzMsMHgwMiwweGQ4LDB4MTIsMHg4NywweDMwLDB4MjAsMHhjYiwweDA4LDB4ZjIsMHgwMiwweDFkLDB4MDUsMHhiNSwweDAwIH0gfSwKLXsgIDE2LCAweGYwNjAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDYwLDB4MDMsMHg1MCwweDEwLDB4YjcsMHgwOSwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGYwNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGU0IH0gfSwKLXsgIDE2LCAweGYwODAsIDAsIHsweDA5LDB4N2EsMHgwMiwweGNlLDB4MDEsMHg4NywweDgwLDB4MjEsMHhlYywweDA5LDB4NzgsMHgwMiwweDVlLDB4ODAsMHhiNywweGMwIH0gfSwKLXsgIDE2LCAweGYwOTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweGY4LDB4MDIsMHgxZSwweDAwLDB4YjcsMHhhMCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGYwYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4ZWUsMHgwMCwweDgyLDB4ODAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGYwYjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweGYwYzAsIDAsIHsweDJjLDB4YzEsMHgwYiwweDMwLDB4MDIsMHg0ZSwweDAwLDB4YjMsMHgwMCwweDJjLDB4ZjEsMHgwYiwweDMwLDB4MGEsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGYwZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHg4MCwweGM2LDB4MDAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGYwZTAsIDAsIHsweDBkLDB4YTAsMHgwMywweGY4LDB4NDAsMHhjYSwweDAwLDB4MzIsMHg4MCwweDBkLDB4YTAsMHgxMywweDY4LDB4MDAsMHhmZSwweDAyIH0gfSwKLXsgIDE2LCAweGYwZjAsIDAsIHsweDdlLDB4ODAsMHgwZiwweGVkLDB4ODMsMHgzOSwweDEwLDB4ZmEsMHgwMCwweDNmLDB4OGMsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGYxMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgxMiwweGY4LDB4OTAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGYxMTAsIDAsIHsweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDA1LDB4M2UsMHgwMCwweDBlLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDgwIH0gfSwKLXsgIDE2LCAweGYxMjAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDYwLDB4ZjgsMHgwMCwweDdlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGYxMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4ODAsMHgzMiwweDY0IH0gfSwKLXsgIDE2LCAweGYxNDAsIDAsIHsweDBmLDB4OTAsMHg0MywweGU0LDB4MDYsMHhjMSwweDA0LDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweGYxNTAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4YzEsMHgwMSwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGYxNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4YzAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGYxNzAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg1MCwweDFiLDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGYxODAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkwLDB4MjIsMHgyNCwweDA4LDB4YzksMHgwMCwweDIwLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGYxOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDk5LDB4MjAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGYxYTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg1OCwweDBiLDB4OTAsMHgwMiwweDg0LDB4MDAsMHhhOSwweDAwIH0gfSwKLXsgIDE2LCAweGYxYjAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDEwLDB4MGEsMHgwNCwweDAwLDB4OTksMHgwMiwweDIyLDB4YzEsMHgwOCwweDkwLDB4ODIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGYxYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweDkxLDB4MDIsMHhhMCwweGM4IH0gfSwKLXsgIDE2LCAweGYxZDAsIDAsIHsweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIyLDB4MjAsMHg0OCwweDliLDB4MTIsMHgwMiwweDA0LDB4OTAsMHg4OSwweDAxIH0gfSwKLXsgIDE2LCAweGYxZTAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwNCwweDAyLDB4ODEsMHgyMiwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGYxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MiwweGRhLDB4MDEsMHgzMiwweDAxIH0gfSwKLXsgIDE2LCAweGYyMDAsIDAsIHsweDBmLDB4ODUsMHgwMywweGExLDB4NDAsMHhjMCwweDUwLDB4M2EsMHgwMSwweDhiLDB4ODUsMHgyMywweGExLDB4NDQsMHhlOCwweDUwIH0gfSwKLXsgIDE2LCAweGYyMTAsIDAsIHsweGIyLDB4MDAsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQ4LDB4ZDgsMHg1MSwweDMyLDB4MTQsMHgyYywweDg1LDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweGYyMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjUsMHgwMCwweGVkLDB4MDIsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGYyMzAsIDAsIHsweDBmLDB4OTEsMHgwMywweGY0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGYyNDAsIDAsIHsweDNlLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZTksMHgxMCwweGJmLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2NiwweDA2IH0gfSwKLXsgIDE2LCAweGYyNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHgyMSwweGM1LDB4MDAsMHgzMywweDY4IH0gfSwKLXsgIDE2LCAweGYyNjAsIDAsIHsweDBmLDB4OWEsMHgwMywweDZmLDB4ODgsMHhjOSwweGMwLDB4MzMsMHg2OCwweDBjLDB4OWUsMHgwMywweDI3LDB4ODAsMHhkOSwweDQwIH0gfSwKLXsgIDE2LCAweGYyNzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNSwweDEwLDB4ZDksMHhlOCwweDM2LDB4NTAsMHgwYywweGQwLDB4MDMsMHhlNiwweDAwIH0gfSwKLXsgIDE2LCAweGYyODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwOCwweDg4LDB4MDAsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGYyOTAsIDAsIHsweDBiLDB4OGUsMHg4MiwweGViLDB4YzgsMHg4OCwweGUwLDB4MjIsMHgwMCwweDI4LDB4ODgsMHg0MiwweGEyLDB4ODAsMHg4YSwweDgwIH0gfSwKLXsgIDE2LCAweGYyYTAsIDAsIHsweDIyLDB4MDAsMHgwYiwweGFhLDB4MDIsMHhlMiwweDAwLDB4ODgsMHhjMCwweDIyLDB4YTksMHgwOCwweDhhLDB4MDMsMHg4ZSwweDA0IH0gfSwKLXsgIDE2LCAweGYyYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgwMCwweDgxLDB4MDAsMHgyMCwweGQwIH0gfSwKLXsgIDE2LCAweGYyYzAsIDAsIHsweDBiLDB4MTEsMHgzMiwweDg0LDB4ODQsMHg4MSwweDYwLDB4NjAsMHg1MCwweDA4LDB4MTYsMHgwNiwweDA1LDB4MDAsMHg5MSwweDIwIH0gfSwKLXsgIDE2LCAweGYyZDAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDEwLDB4ODIsMHhlNCwweDA5LDB4OTEsMHgyMCwweDI0LDB4NDAsMHgwOCwweDEwLDB4YzIsMHhkMiwweDAxIH0gfSwKLXsgIDE2LCAweGYyZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwNCwweDg5LDB4MDQsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGYyZjAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjIsMHg0MSwweDAwLDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGYzMDAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkyLDB4MjIsMHhlNSwweDgwLDB4OTksMHgwMSwweDIyLDB4NjEsMHgwOCwweDkwLDB4MDIsMHg4NiwweDA0IH0gfSwKLXsgIDE2LCAweGYzMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE0LDB4YTUsMHg4MiwweDgxLDB4OTAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGYzMjAsIDAsIHsweDBmLDB4OTAsMHgxMywweDY3LDB4MDIsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgyMywweDI0LDB4MDQsMHhkOSwweGMwIH0gfSwKLXsgIDE2LCAweGYzMzAsIDAsIHsweGIyLDB4NDAsMHgwZiwweDljLDB4MDMsMHhlNiwweDAwLDB4ZDksMHgwMCwweDM2LDB4NTAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGYzNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDAwLDB4YTYsMHg4MCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGYzNTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU3LDB4MDAsMHhkOSwweDAwLDB4YmMsMHg0MiwweDBmLDB4OTAsMHg1MywweGU0LDB4MDQsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGYzNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlNiwweDA0LDB4ZTEsMHgwMCwweDNlLDB4NDAsMHgyZiwweDkwLDB4MDMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGYzNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODEsMHgxMCwweDQ4LDB4MTAsMHgzMiwweDA4IH0gfSwKLXsgIDE2LCAweGYzODAsIDAsIHsweDBjLDB4ODAsMHgwZiwweDIxLDB4MDIsMHhjOCwweDAwLDB4M2EsMHgwNCwweDBmLDB4ODAsMHgwNywweDYwLDB4MDAsMHhmOCwweDQwIH0gfSwKLXsgIDE2LCAweGYzOTAsIDAsIHsweGIyLDB4MDAsMHgwZiwweDg0LDB4MGIsMHgyMCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MTAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGYzYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA0LDB4MjgsMHgwNCwweDhlLDB4ODAsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweGYzYjAsIDAsIHsweDA4LDB4YTAsMHg0MiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjMsMHhhMCwweDRiLDB4YTAsMHgwMiwweGU4LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweGYzYzAsIDAsIHsweDc2LDB4ODAsMHgwYiwweGEwLDB4MDIsMHgwOCwweDAwLDB4OGEsMHgwMCwweDMyLDB4ODAsMHgwOCwweGUwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGYzZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgyLDB4MDAsMHgyMCwweGQwIH0gfSwKLXsgIDE2LCAweGYzZTAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHg5YiwweDAwLDB4MjgsMHhjMCwweDFhLDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAyIH0gfSwKLXsgIDE2LCAweGYzZjAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDIyLDB4YzAsMHgyOCwweDM0LDB4ODIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGY0MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGY0MTAsIDAsIHsweDA4LDB4NzgsMHgwMiwweDBjLDB4MDAsMHg5NywweDIwLDB4MjUsMHhjMCwweDBiLDB4NzEsMHgwMiwweGRjLDB4ODEsMHhiNywweDIwIH0gfSwKLXsgIDE2LCAweGY0MjAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDdhLDB4NDIsMHgzYywweDgwLDB4ODcsMHgyMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGY0MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4MGUsMHg4MiwweGM3LDB4ODAsMHhiMSwweGUwIH0gfSwKLXsgIDE2LCAweGY0NDAsIDAsIHsweDJjLDB4ZmEsMHgwNiwweDFlLDB4MDgsMHhkMywweGIxLDB4MzksMHg2MCwweDRlLDB4NzgsMHgxMiwweDVlLDB4YTAsMHhmZiwweGYwIH0gfSwKLXsgIDE2LCAweGY0NTAsIDAsIHsweDIxLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHgxZiwweDA4LDB4ZTMsMHhhMCwweDMzLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGY0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHg0MCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGY0NzAsIDAsIHsweDBmLDB4YjIsMHgwMywweGVkLDB4YTgsMHhlYiwweDEwLDB4M2EsMHg4MCwweDBmLDB4YjAsMHhjMywweGVjLDB4NDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGY0ODAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4ODMsMHhlYywweDgwLDB4ZWIsMHg3MCwweGJlLDB4YzQsMHgwZiwweGIwLDB4MDMsMHg4MiwweDA2IH0gfSwKLXsgIDE2LCAweGY0OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGNlLDB4ODAsMHhiMywweDYwIH0gfSwKLXsgIDE2LCAweGY0YTAsIDAsIHsweDBmLDB4ZmMsMHg4MywweDdlLDB4MjAsMHhlZiwweGIwLDB4M2IsMHhlMCwweDBmLDB4YjgsMHgwMywweDNlLDB4MDAsMHhjZiwweDgxIH0gfSwKLXsgIDE2LCAweGY0YjAsIDAsIHsweDNmLDB4ZTAsMHg4ZiwweGY4LDB4ODMsMHhlZiwweDQwLDB4ZmYsMHhjMiwweDMzLDB4ZTEsMHgwYywweGY4LDB4MDMsMHhkMCwweDAwIH0gfSwKLXsgIDE2LCAweGY0YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHg4MiwweDg3LDB4MTgsMHgyMSwweDgwIH0gfSwKLXsgIDE2LCAweGY0ZDAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDFjLDB4NjAsMHhkNywweDEwLDB4MjEsMHhkMCwweDBiLDB4N2IsMHgwMiwweDNjLDB4MDAsMHhkNywweDAwIH0gfSwKLXsgIDE2LCAweGY0ZTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkZSwweDAwLDB4YmYsMHgwMCwweGEzLDB4YzQsMHgwOCwweDcwLDB4MDMsMHhhYSwweDA0IH0gfSwKLXsgIDE2LCAweGY0ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YmMsMHgxMSwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGY1MDAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDFjLDB4MDAsMHg5MywweDIwLDB4NjksMHhjMCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGY1MTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcxLDB4MDIsMHhkYywweDIwLDB4YjcsMHgxMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg4NCwweDAwIH0gfSwKLXsgIDE2LCAweGY1MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4Y2QsMHgwMCwweDgzLDB4NDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGY1MzAsIDAsIHsweDRiLDB4MzAsMHgwMiwweDBjLDB4MDEsMHg4MywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg5MywweDgwIH0gfSwKLXsgIDE2LCAweGY1NDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAxLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MjIsMHg5OCwweDA0IH0gfSwKLXsgIDE2LCAweGY1NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmYsMHgyMCwweGNhLDB4YzAsMHgzMiwweDgwIH0gfSwKLXsgIDE2LCAweGY1NjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweDNlLDB4MDAsMHg5ZiwweDAwLDB4M2EsMHg4MCwweDBmLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhjZiwweDk4IH0gfSwKLXsgIDE2LCAweGY1NzAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGY2LDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgwMCwweDMxLDB4ZTAsMHgyYywweGIwLDB4MDMsMHhhZSwweDA0IH0gfSwKLXsgIDE2LCAweGY1ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4Y2MsMHg4MCwweGZiLDB4MDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGY1OTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGFjLDB4MDIsMHhmYiwweDAwLDB4N2UsMHg1MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGY1YTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIyLDB4MDMsMHhlYywweDIwLDB4ZjMsMHgwMCwweDNlLDB4YzYsMHgwZiwweDkwLDB4MDMsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweGY1YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMiwweGNmLDB4OTgsMHg3MywweGM4IH0gfSwKLXsgIDE2LCAweGY1YzAsIDAsIHsweDBmLDB4NzAsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwLDB4MzMsMHgyOCwweDBmLDB4YjAsMHgwMiwweDFjLDB4MDAsMHg0ZiwweDAwIH0gfSwKLXsgIDE2LCAweGY1ZDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMSwweDMzLDB4YzAsMHgwYywweGU0LDB4MDMsMHhlNCwweDA0IH0gfSwKLXsgIDE2LCAweGY1ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NmMsMHgwMCwweDgzLDB4ODAsMHhhMiwweGY4IH0gfSwKLXsgIDE2LCAweGY1ZjAsIDAsIHsweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MzIsMHgxMCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDQsMHhhYiwweDAwIH0gfSwKLXsgIDE2LCAweGY2MDAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4MTIsMHhlYywweDA0LDB4ZWIsMHgwMCwweDIyLDB4YzAsMHg0YSwweDk0LDB4ODIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4NmMsMHgwMCwweDhhLDB4MDAsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGY2MjAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMywweDAwLDB4YTIsMHhjMCwweDBiLDB4MzAsMHgwMiwweGFjLDB4MDAsMHhhYiwweDA0IH0gfSwKLXsgIDE2LCAweGY2MzAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHhlYywweDAwLDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MjIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MGMsMHgwMCwweDhiLDB4MDEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NTAsIDAsIHsweDBiLDB4MzAsMHgwNiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBhLDB4MzIsMHgwYSwweGNjLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGY2NjAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCwweDIyLDB4YzAsMHg0YSwweDAwLDB4MTIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGY2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NmMsMHgwMCwweDhiLDB4MDQsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGY2ODAsIDAsIHsweDBmLDB4ZjEsMHgwMywweDFjLDB4MDAsMHhmZiwweDA0LDB4MzIsMHhjMCwweDBiLDB4ZjIsMHgwMywweGJjLDB4MDAsMHhlZiwweDAwIH0gfSwKLXsgIDE2LCAweGY2OTAsIDAsIHsweDNlLDB4YzAsMHgwNywweGYwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgwMCwweGIyLDB4YzAsMHgwYywweGEwLDB4MDMsMHhlMCwweDAzIH0gfSwKLXsgIDE2LCAweGY2YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZGMsMHgwMCwweGY1LDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGY2YjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGZjLDB4MDEsMHhmZiwweDAyLDB4M2IsMHhjMCwweDBmLDB4ZjEsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGY2YzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MTMsMHhmYywweDQwLDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGY2ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4ZjIsMHg0MCwweGNjLDB4ODAsMHgzNywweDIwIH0gfSwKLXsgIDE2LCAweGY2ZTAsIDAsIHsweDBjLDB4ZDgsMHgwMywweGIwLDB4NDQsMHhmYywweDA4LDB4M2YsMHgwZSwweDBmLDB4YzEsMHgwMywweGZjLDB4MDAsMHhjYywweDk0IH0gfSwKLXsgIDE2LCAweGY2ZjAsIDAsIHsweDNmLDB4MGEsMHgyZSwweGM0LDB4MDMsMHg3ZCwweDgwLDB4Y2YsMHgxMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4ODMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA4LDB4ZTAsMHg5MCwweDg4LDB4MDIsMHgyMiwweDgxIH0gfSwKLXsgIDE2LCAweGY3MTAsIDAsIHsweDA4LDB4OTIsMHgxMywweGE0LDB4NDAsMHgzYiwweDYwLDB4MjIsMHgxOCwweDBiLDB4ODEsMHgwMiwweGZjLDB4ZDQsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGY3MjAsIDAsIHsweDNhLDB4YjAsMHgwYSwweDk0LDB4MDIsMHgzZCwweDQwLDB4YWYsMHg2MywweDJmLDB4ZGYsMHgwYiwweDk4LDB4MDAsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGY3MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTAsMHgwMCwweDg4LDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGY3NDAsIDAsIHsweDg4LDB4MzAsMHg4MiwweGMwLDB4MDAsMHhiMCwweDA4LDB4MjgsMHg4MCwweDBhLDB4MTAsMHgwMiwweGNjLDB4MjAsMHg4MCwweDAxIH0gfSwKLXsgIDE2LCAweGY3NTAsIDAsIHsweDJjLDB4NDAsMHgxYiwweDA2LDB4MDIsMHg4YywweDkwLDB4OTMsMHg2MCwweDY4LDB4YzAsMHg0YSwweDAwLDB4NDIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGY3NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4YTAsMHgwMiwweDg4LDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGY3NzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGU0LDB4MjAsMHhiYiwweDg4LDB4MjYsMHg5OCwweDBiLDB4ODAsMHg0MiwweGNjLDB4MTgsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGY3ODAsIDAsIHsweDJlLDB4YzIsMHgxYiwweDk4LDB4MDIsMHhhYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDk4LDB4ODIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGY3OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTMsMHhjMCwweGNiLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGY3YTAsIDAsIHsweDJjLDB4ODAsMHgwMywweGFlLDB4MDgsMHhiOSwweDAwLDB4M2UsMHg3MCwweDBmLDB4YjksMHgwMywweGVjLDB4MDIsMHg0OCwweDQ4IH0gfSwKLXsgIDE2LCAweGY3YjAsIDAsIHsweDNjLDB4YzAsMHgwZiwweDhjLDB4OTMsMHhlYywweDAwLDB4ZGIsMHgwMCwweDFhLDB4YzAsMHgwZSwweGFjLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGY3YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjIsMHgwMCwweGZmLDB4MDAsMHhiYiwweDgwIH0gfSwKLXsgIDE2LCAweGY3ZDAsIDAsIHsweDBmLDB4YzAsMHg0MywweGI2LDB4NDAsMHhiZCwweDAwLDB4M2IsMHg2MCwweDBmLDB4ZTgsMHgwMywweGZjLDB4MDAsMHhmZiwweDk0IH0gfSwKLXsgIDE2LCAweGY3ZTAsIDAsIHsweDNiLDB4ZTQsMHgwZSwweDYwLDB4MGYsMHg2YywweDA4LDB4ZWYsMHgwMSwweDNmLDB4YzAsMHgwZiwweDYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGY3ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTEsMHgwMCwweGZiLDB4MDAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweGY4MDAsIDAsIHsweDBmLDB4YTAsMHgwMywweGVkLDB4MDAsMHhmOSwweDQwLDB4M2EsMHgwMCwweDBmLDB4OTAsMHgwMywweGVjLDB4MDIsMHhjOSwweDA0IH0gfSwKLXsgIDE2LCAweGY4MTAsIDAsIHsweDMyLDB4ZDAsMHgwZiwweDkwLDB4MDMsMHgyYywweDA4LDB4ZGIsMHgwMCwweGI2LDB4YzAsMHgwZCwweGI0LDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweGY4MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MDAsMHgwMCwweGIzLDB4ODksMHgyZSwweGUwIH0gfSwKLXsgIDE2LCAweGY4MzAsIDAsIHsweDBiLDB4YTQsMHgwMywweGE0LDB4MDEsMHhiOSwweDAwLDB4MmUsMHgwMSwweDBiLDB4OTAsMHg0MiwweGZjLDB4MTAsMHg4OSwweDUwIH0gfSwKLXsgIDE2LCAweGY4NDAsIDAsIHsweGEyLDB4YzAsMHg4ZCwweGI0LDB4MDIsMHgzYywweDQ0LDB4OGYsMHgwMCwweDIzLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweGY4NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA0LDB4MGMsMHgwMCwweGIwLDB4ODAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGY4NjAsIDAsIHsweDBiLDB4MTIsMHgwMiwweGM4LDB4MDAsMHhiYSwweDAwLDB4MmMsMHhjMCwweDBiLDB4MjAsMHgwMiwweGNjLDB4MDAsMHhhMiwweDAwIH0gfSwKLXsgIDE2LCAweGY4NzAsIDAsIHsweDIwLDB4MDAsMHgyYiwweDJkLDB4OWEsMHgyZSwweDQyLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDIwLDB4MDIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MWUsMHgwNCwweGI0LDB4ODAsMHgyZCwweGEwIH0gfSwKLXsgIDE2LCAweGY4OTAsIDAsIHsweDBiLDB4NTgsMHgwMiwweDkyLDB4MDAsMHhiNiwweDgwLDB4MmQsMHhlMCwweDBiLDB4NjgsMHgwMiwweGRlLDB4NDAsMHhhNiwweDgwIH0gfSwKLXsgIDE2LCAweGY4YTAsIDAsIHsweDIxLDB4MjQsMHgyOSwweDQ4LDB4MDIsMHgxZSwweDgwLDB4ODcsMHg4MCwweDY5LDB4ZTAsMHgwOCwweDYxLDB4MDIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGY4YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE4LDB4MGMsMHgwMCwweGYwLDB4MzAsMHgzYywweDRjIH0gfSwKLXsgIDE2LCAweGY4YzAsIDAsIHsweDBmLDB4MzIsMHgwMywweGM4LDB4ODAsMHhiMiwweDAwLDB4MzgsMHg4MCwweDBmLDB4MWIsMHgwMywweGVjLDB4MDAsMHhlMCwweDMwIH0gfSwKLXsgIDE2LCAweGY4ZDAsIDAsIHsweDMwLDB4MDQsMHgwZiwweGIxLDB4MDMsMHgwZSwweDg1LDB4Y2IsMHgwMCwweDNhLDB4YzAsMHgwYywweDMxLDB4MDMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweGY4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFjLDB4YmMsMHgwMCwweGZjLDB4MTEsMHgzZiwweGM0IH0gfSwKLXsgIDE2LCAweGY4ZjAsIDAsIHsweDBmLDB4YjgsMHgxMywweGIwLDB4MDQsMHhmZSwweDAyLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweGZkLDB4MDAsMHhkZiwweDEyIH0gfSwKLXsgIDE2LCAweGY5MDAsIDAsIHsweDFkLDB4MDQsMHgwZiwweGQwLDB4NDMsMHhiYywweDAxLDB4ZWYsMHgxMCwweDMzLDB4YzQsMHgwZSwweGYzLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGY5MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZWUsMHgwMCwweGNiLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGY5MjAsIDAsIHsweDBmLDB4ODAsMHgwMywweDI4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHg0MCwweDNkLDB4YjAsMHgwMywweGVmLDB4MDgsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGY5MzAsIDAsIHsweDNhLDB4MDAsMHgwYywweGEwLDB4MDMsMHhlYywweDk4LDB4ZmIsMHgyMCwweDMyLDB4ZDIsMHgwYywweGE4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGY5NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDEsMHgyZCwweDgwIH0gfSwKLXsgIDE2LCAweGY5NTAsIDAsIHsweDBiLDB4NDAsMHg0MiwweDFjLDB4MDQsMHgzNywweDAwLDB4YTEsMHg0MCwweDA4LDB4NjAsMHgwMiwweGNjLDB4ODAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGY5NjAsIDAsIHsweDJkLDB4ODAsMHgyZSwweDcwLDB4MDIsMHhkYywweGE5LDB4YjcsMHgyOCwweDIxLDB4ZDAsMHgwOCwweDcwLDB4MDIsMHgxMiwweDAwIH0gfSwKLXsgIDE2LCAweGY5NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4YmUsMHgwMiwweDg3LDB4ODAsMHgyZCwweDYwIH0gfSwKLXsgIDE2LCAweGY5ODAsIDAsIHsweDRiLDB4ZTgsMHgwMiwweDVhLDB4MDEsMHhiNCwweDg4LDB4MjgsMHhlMCwweDg4LDB4NzgsMHhjMiwweGRlLDB4NTIsMHg4NiwweGMwIH0gfSwKLXsgIDE2LCAweGY5OTAsIDAsIHsweDI5LDB4NjAsMHgwOCwweDY4LDB4MDIsMHhkZSwweDQwLDB4YjMsMHg5MiwweGUxLDB4ZTgsMHgyOCwweDI4LDB4MDIsMHg3MCwweDAwIH0gfSwKLXsgIDE2LCAweGY5YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDE0LDB4Y2MsMHgwMCwweDhiLDB4ODAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGY5YjAsIDAsIHsweDBiLDB4MjAsMHgwMiwweDRkLDB4ODAsMHg5YiwweDIwLDB4MjAsMHhlMCwweDA4LDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDgwIH0gfSwKLXsgIDE2LCAweGY5YzAsIDAsIHsweDJjLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhjYywweDA4LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMxLDB4MDIsMHg1MiwweDA0IH0gfSwKLXsgIDE2LCAweGY5ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGNhLDB4ZTAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGY5ZTAsIDAsIHsweDFmLDB4YTQsMHgwYiwweDc5LDB4MDAsMHhmZSwweDAwLDB4M2YsMHg4MiwweDFkLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhjZSwweDQwIH0gfSwKLXsgIDE2LCAweGY5ZjAsIDAsIHsweDNiLDB4ODgsMHgyYywweGU0LDB4MDMsMHhlOCwweDAxLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGU4LDB4MDMsMHg3YSwweDA0IH0gfSwKLXsgIDE2LCAweGZhMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4YTAsMHgwMCwweGY4LDB4MDksMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGZhMTAsIDAsIHsweDhmLDB4YzAsMHg4MywweGEwLDB4MTgsMHhmOCwweDAwLDB4M2MsMHgyMCwweDBmLDB4ODgsMHgwMywweGUwLDB4MDAsMHhmOCwweDA4IH0gfSwKLXsgIDE2LCAweGZhMjAsIDAsIHsweDNlLDB4MjAsMHgwZSwweDgwLDB4ODMsMHhlMSwweDAxLDB4ZjAsMHgwMCwweDNjLDB4MDAsMHgwZiwweDgwLDB4MGIsMHg5MiwweDAwIH0gfSwKLXsgIDE2LCAweGZhMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGY5LDB4NDIsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGZhNDAsIDAsIHsweDRjLDB4OTgsMHgwMywweDA0LDB4MDAsMHhjOSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweDI0LDB4MDAsMHhiOSwweDgxIH0gfSwKLXsgIDE2LCAweGZhNTAsIDAsIHsweDNjLDB4NDAsMHgwYywweDkyLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwNSwweDMyLDB4NDAsMHg2YywweDkwLDB4YzMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGZhNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4MjQsMHgxNCwweGI5LDB4MDAsMHhhMiwweDU0IH0gfSwKLXsgIDE2LCAweGZhNzAsIDAsIHsweDA4LDB4OWIsMHgxYSwweDI0LDB4MDIsMHg4OSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDkwIH0gfSwKLXsgIDE2LCAweGZhODAsIDAsIHsweDJlLDB4NDAsMHgyOCwweDljLDB4ODIsMHgyNSwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk4LDB4MTIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGFkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGZhYTAsIDAsIHsweDA4LDB4NTAsMHgwMiwweDY0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDA4LDB4MTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGZhYjAsIDAsIHsweDZlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNSwweDAwLDB4YTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkxLDB4MDYsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGZhYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MTQsMHgwMCwweGI1LDB4MTAsMHhhMSwweDQ0IH0gfSwKLXsgIDE2LCAweGZhZDAsIDAsIHsweDI4LDB4NTAsMHgwMiwweDQ0LDB4ODAsMHg4MSwweDMwLDB4MjAsMHg0OCwweDA4LDB4MTIsMHgwMiwweDg0LDB4NDAsMHhiMSwweDgwIH0gfSwKLXsgIDE2LCAweGZhZTAsIDAsIHsweDZjLDB4YzgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4YjEsMHgzNCwweDIwLDB4NDgsMHgwOCwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGZhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGU4LDB4NDAsMHgzMiwweDkwIH0gfSwKLXsgIDE2LCAweGZiMDAsIDAsIHsweDBjLDB4YzUsMHgwMywweDYxLDB4NDAsMHhjMCwweDQwLDB4M2EsMHgxNCwweDBmLDB4ODUsMHgwMywweDIxLDB4YjAsMHhmOCwweDUwIH0gfSwKLXsgIDE2LCAweGZiMTAsIDAsIHsweDNlLDB4MDAsMHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHg0MCwweGIwLDB4MTQsMHgwYywweDgwLDB4MDMsMHhlZSwweDAxIH0gfSwKLXsgIDE2LCAweGZiMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDFkLDB4YzQsMHgwNCwweGY5LDB4MjIsMHgwZSwweDQ4IH0gfSwKLXsgIDE2LCAweGZiMzAsIDAsIHsweDBmLDB4MTAsMHgxMywweGI0LDB4NDAsMHhmZCwweDMwLDB4M2YsMHg0NCwweDRmLDB4ZDEsMHgwMCwweGU0LDB4ODQsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGZiNDAsIDAsIHsweDNkLDB4NDQsMHgwZiwweGQxLDB4MGIsMHhlNCwweDQwLDB4ZjksMHgzMCwweDNlLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNiwweDA0IH0gfSwKLXsgIDE2LCAweGZiNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDA1LDB4ZTQsMHgwMCwweGRkLDB4NDAsMHgzZiwweDUwIH0gfSwKLXsgIDE2LCAweGZiNjAsIDAsIHsweDBjLDB4ZDAsMHgwMywweDJjLDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTAsMHgxMywweDI3LDB4MDQsMHhmNSwweDAxIH0gfSwKLXsgIDE2LCAweGZiNzAsIDAsIHsweDM3LDB4NDAsMHgwYywweGYwLDB4MDMsMHhmNiwweDIwLDB4ZjksMHhhOCwweDMyLDB4NjgsMHgwYywweGQwLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGZiODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAwLDB4ZTAsMHgwMCwweDg4LDB4YTAsMHgyZSwweDI4IH0gfSwKLXsgIDE2LCAweGZiOTAsIDAsIHsweDI4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OCwweGEwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHgwYSwweDYyLDB4ODAsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGZiYTAsIDAsIHsweDIyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlMSwweDAwLDB4YjgsMHhlMCwweDIyLDB4M2EsMHgwOCwweGEwLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGZiYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ODQsMHgwMiwweDgxLDB4MDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGZiYzAsIDAsIHsweDA4LDB4MTAsMHgwYSwweDQ0LDB4MDIsMHg4MSwweDA4LDB4MjQsMHg0MCwweDBhLDB4MTAsMHgwMiwweDQ1LDB4ODAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGZiZDAsIDAsIHsweDI0LDB4NDAsMHgyOSwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgwOCwweDI0LDB4NDQsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGZiZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE0LDB4YTQsMHgwNCwweDg5LDB4MDEsMHgyZSwweDUwIH0gfSwKLXsgIDE2LCAweGZiZjAsIDAsIHsweDQ4LDB4YjIsMHgwMiwweDY0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0NiwweDBiLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAxIH0gfSwKLXsgIDE2LCAweGZjMDAsIDAsIHsweDI2LDB4YzAsMHgwOSwweGIwLDB4MTIsMHhlNCwweDAwLDB4YjEsMHgwMCwweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGZjMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA0LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGZjMjAsIDAsIHsweDBjLDB4OTAsMHgwMywweDY0LDB4MDAsMHhjOSwweDAyLDB4MzYsMHg1MCwweDBlLDB4OTMsMHgwMywweDI0LDB4MDAsMHhmOSwweDkwIH0gfSwKLXsgIDE2LCAweGZjMzAsIDAsIHsweDM2LDB4NDgsMHgwZCwweDk0LDB4ODMsMHhlNCwweDA4LDB4ZjksMHgwMCwweGI2LDB4NDAsMHgwYywweDk0LDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGZjNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGZjNTAsIDAsIHsweDBmLDB4OTAsMHgxMywweGE0LDB4MDAsMHhlOSwweDAyLDB4MmUsMHg2MSwweDA1LDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGZjNjAsIDAsIHsweDNhLDB4NDAsMHgwZSwweDkwLDB4NDMsMHhlNCwweDEwLDB4ZjksMHgwMCwweDM4LDB4NDAsMHgyZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGZjNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDEsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGZjODAsIDAsIHsweDBmLDB4ODAsMHg0MywweGMwLDB4MDEsMHhjOCwweDAwLDB4YjIsMHgwMSwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjOCwweDQwIH0gfSwKLXsgIDE2LCAweGZjOTAsIDAsIHsweDMwLDB4MDAsMHg4YywweDg0LDB4ODMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHg2YywweDg0LDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGZjYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweGZjYjAsIDAsIHsweDBiLDB4ZWEsMHgwMiwweGU4LDB4MDAsMHhhYSwweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4NiwweDIwIH0gfSwKLXsgIDE2LCAweGZjYzAsIDAsIHsweDM3LDB4YTAsMHg4ZCwweGU0LDB4MDIsMHhmOCwweDAwLDB4ZGEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGZjZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGZjZTAsIDAsIHsweDBiLDB4YjgsMHgwMiwweDRjLDB4MDQsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGZjZjAsIDAsIHsweDIwLDB4NDAsMHgyOCwweDM0LDB4MDIsMHhjZSwweDkwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGZkMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWMsMHhjMCwweGI1LDB4ODgsMHgyMSwweDQwIH0gfSwKLXsgIDE2LCAweGZkMTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGRjLDB4ODAsMHhhMywweDIwLDB4MjEsMHhlMCwweDQ4LDB4MzIsMHg0MiwweDBlLDB4OTAsMHg4ZSwweDAxIH0gfSwKLXsgIDE2LCAweGZkMjAsIDAsIHsweDY1LDB4NTAsMHgwOSwweDcwLDB4MDIsMHhkZSwweDIwLDB4OTMsMHgyMSwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGZkMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDE4LDB4MWUsMHgwMCwweGZmLDB4ODAsMHhiMSwweGEwIH0gfSwKLXsgIDE2LCAweGZkNDAsIDAsIHsweDBmLDB4NDgsMHgwMiwweDdlLDB4MDAsMHg4NywweGEwLDB4MzMsMHhlMCwweDI4LDB4N2EsMHgwYiwweDFmLDB4MDAsMHhjNCwweDgwIH0gfSwKLXsgIDE2LCAweGZkNTAsIDAsIHsweDMxLDB4NjAsMHg4YywweDU4LDB4MDMsMHhmZSwweDAwLDB4YzcsMHhjOCwweDMzLDB4ZTgsMHgwYywweDU4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGZkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGZkNzAsIDAsIHsweDBmLDB4OTAsMHgyMywweGVjLDB4YTAsMHhmYiwweDQwLDB4M2UsMHhjMCwweDhmLDB4YjUsMHgwMywweGVkLDB4ODAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGZkODAsIDAsIHsweDNjLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmIsMHgwMiwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGZkOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDA0LDB4YmUsMHgwMCwweGZmLDB4ODAsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGZkYTAsIDAsIHsweDBmLDB4ZDksMHgwMywweGZlLDB4MjAsMHhjZiwweGM4LDB4MzMsMHhlYSwweDhmLDB4ZmMsMHgwMywweDNmLDB4MDAsMHhmZCwweDgwIH0gfSwKLXsgIDE2LCAweGZkYjAsIDAsIHsweDNmLDB4NjAsMHgwZSwweGU4LDB4MDMsMHhmMiwweDAwLDB4Y2YsMHg4MCwweDJmLDB4ZmUsMHgwYywweDc4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDAwLDB4OWMsMHgwMCwweGI1LDB4MDIsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGZkZDAsIDAsIHsweDBiLDB4NTgsMHg0MiwweGRjLDB4ODAsMHhjZiwweDAwLDB4MjEsMHhjMSwweDBiLDB4MzAsMHgxMiwweDFjLDB4NDAsMHhiNCwweDAyIH0gfSwKLXsgIDE2LCAweGZkZTAsIDAsIHsweDJkLDB4NDYsMHgwOCwweDcxLDB4MTIsMHhjOCwweDAwLDB4ZTcsMHgwMCwweDJkLDB4YzQsMHgwOCwweDcwLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweGZkZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweDAyIH0gfSwKLXsgIDE2LCAweGZlMDAsIDAsIHsweDBiLDB4NDYsMHgwMiwweGRjLDB4MDgsMHg5NywweDAwLDB4MjEsMHhjOSwweDBhLDB4MzAsMHgyMiwweDFjLDB4MDAsMHhiNCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMTAsIDAsIHsweDJkLDB4NDAsMHgwYSwweDUwLDB4ODIsMHhjNCwweDAwLDB4YjcsMHgwMCwweDJjLDB4YzgsMHgyOCwweDUwLDB4MDIsMHg0MCwweDEwIH0gfSwKLXsgIDE2LCAweGZlMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE0LDB4OGMsMHgxOCwweGIzLDB4MDAsMHgyZSwweDIwIH0gfSwKLXsgIDE2LCAweGZlMzAsIDAsIHsweDBiLDB4MTgsMHgwMiwweGNmLDB4NGEsMHg4MywweGMyLDB4MjAsMHhjMSwweDBiLDB4MzQsMHgyMiwweDBjLDB4MDQsMHhiOCwweDU4IH0gfSwKLXsgIDE2LCAweGZlNDAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDI4LDB4MDIsMHhjOCwweDAwLDB4YTMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDE0LDB4MDIsMHg0OCwweDA0IH0gfSwKLXsgIDE2LCAweGZlNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4YmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGZlNjAsIDAsIHsweDBmLDB4YTAsMHgwMiwweGZjLDB4MDAsMHhkZiwweGEwLDB4YjMsMHhjMCwweDBlLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhmYiwweGMwIH0gfSwKLXsgIDE2LCAweGZlNzAsIDAsIHsweDNjLDB4YTAsMHgwZSwweGJkLDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwYywweDMwLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweGZlODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDAxIH0gfSwKLXsgIDE2LCAweGZlOTAsIDAsIHsweDhmLDB4YjEsMHg0MywweGVjLDB4MDAsMHhmMywweDAwLDB4M2UsMHhjMCwweDRmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGZlYTAsIDAsIHsweDNlLDB4ODAsMHgwYywweDg0LDB4MDMsMHhlMSwweDAwLDB4NzMsMHgwMCwweDNlLDB4YzEsMHgwZiwweGIyLDB4NDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDUwLDB4ZmMsMHgxMCwweGZmLDB4ODAsMHgzNywweGMwIH0gfSwKLXsgIDE2LCAweGZlYzAsIDAsIHsweDBjLDB4ZTAsMHgwMywweGZjLDB4MjAsMHhmZiwweDA4LDB4MzMsMHhjMCwweDBmLDB4ZjAsMHg4MywweGJjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGZlZDAsIDAsIHsweDMzLDB4YzAsMHgyZSwweDQwLDB4MDMsMHgxYywweDAxLDB4Y2YsMHgwMCwweDExLDB4YzAsMHg0YywweGQwLDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGZlZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgwNCwweGIzLDB4MDIsMHgyMiwweDcyIH0gfSwKLXsgIDE2LCAweGZlZjAsIDAsIHsweDA4LDB4YTEsMHgxNiwweGVjLDB4MDAsMHhiYiwweDA0LDB4MjIsMHhjMCwweDBiLDB4YjAsMHg0MiwweGVjLDB4MDAsMHhiYSwweDE5IH0gfSwKLXsgIDE2LCAweGZmMDAsIDAsIHsweGI2LDB4ZDAsMHgwOCwweDljLDB4NGEsMHgyNiwweDgwLDB4ZGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDMsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweGZmMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGI5LDB4MTAsMHg2MiwweDIwIH0gfSwKLXsgIDE2LCAweGZmMjAsIDAsIHsweDQ4LDB4YTAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwLDB4MjIsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVjLDB4MTAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGZmMzAsIDAsIHsweDY2LDB4MDgsMHgwYSwweGE4LDB4MTIsMHgyNiwweDEwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgyOCwweGIwLDB4MjYsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MGMsMHgwMCwweGI5LDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNTAsIDAsIHsweDA4LDB4MzIsMHgwMiwweGNjLDB4MDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDRiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGZmNjAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMSwweDAwLDB4OTMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDYsMHg0MiwweDExIH0gfSwKLXsgIDE2LCAweGZmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFjLDB4NmMsMHgwMCwweGY5LDB4MDAsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweGZmODAsIDAsIHsweDBjLDB4ODIsMHgwMiwweGRjLDB4MDEsMHhmZiwweDAwLDB4YjIsMHhjMCwweDBiLDB4ZjEsMHgwMywweGJjLDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGZmOTAsIDAsIHsweDI2LDB4NDAsMHgyZSwweDgwLDB4MDMsMHgyMSwweDA0LDB4Y2YsMHgwMCwweGJiLDB4YzAsMHgwYywweDkwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGZmYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGZmYjAsIDAsIHsweDBmLDB4ODEsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGZmYzAsIDAsIHsweDJkLDB4NDAsMHgyZiwweGMwLDB4MDMsMHhmMCwweDg4LDB4ZmYsMHgwMCwweDM3LDB4YzAsMHg4ZiwweGQwLDB4MDMsMHhlOCwweDAyIH0gfSwKLXsgIDE2LCAweGZmZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHg0MCwweGZmLDB4ODAsMHgzMywweGMyIH0gfSwKLXsgIDE2LCAweGZmZTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweDdjLDB4YTAsMHhmZiwweDkwLDB4M2YsMHhjNCwweDJjLDB4YjQsMHgwMywweGJjLDB4ODAsMHhjZiwweDQwIH0gfSwKLXsgIDE2LCAweGZmZjAsIDAsIHsweDM3LDB4ZTAsMHgwZiwweGYxLDB4OTMsMHg2ZSwweDQ0LDB4YmYsMHgzMCwweDNmLDB4MjAsMHgyYywweGY4LDB4NjMsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweDgwMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHgwMCwweGViLDB4MjAsMHgyMywweGYwIH0gfSwKLXsgIDE2LCAweDgwMjAsIDAsIHsweDA4LDB4YjgsMHg1MiwweDNkLDB4MDAsMHhiMywweDAwLDB4MmUsMHhkYywweDA4LDB4ZjQsMHg0MiwweDFjLDB4NDIsMHg4YiwweDQwIH0gfSwKLXsgIDE2LCAweDgwMzAsIDAsIHsweDIyLDB4YzgsMHgwYiwweGY2LDB4MDMsMHg2YywweDg4LDB4YmIsMHgzMCwweDJlLDB4MDAsMHgwOCwweGIyLDB4MDIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweDgwNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGJiLDB4MDgsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweDgwNTAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDRjLDB4YTAsMHhiMywweDIwLDB4MjYsMHg4MCwweDg4LDB4MzYsMHgwMiwweGNjLDB4YTAsMHg5MywweDYwIH0gfSwKLXsgIDE2LCAweDgwNjAsIDAsIHsweGE0LDB4YzIsMHgwYSwweDMyLDB4NDIsMHg0YywweDkwLDB4YjMsMHgyMCwweDJjLDB4MGIsMHg4OCwweDMwLDB4ODIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweDgwNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwOCwweGJiLDB4MjIsMHhhMiwweGMwIH0gfSwKLXsgIDE2LCAweDgwODAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHg5MCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg5YiwweDAwIH0gfSwKLXsgIDE2LCAweDgwOTAsIDAsIHsweDIyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMiwweDJlLDB4MjAsMHgwOCwweGIwLDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGIxLDB4ODMsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDgwYjAsIDAsIHsweDBjLDB4MWEsMHgwMywweDZjLDB4MTAsMHhmYiwweDAwLDB4MzQsMHhjMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDgsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweDgwYzAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGIwLDB4MGIsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNlLDB4MjgsMHgwYywweGIwLDB4MDIsMHhkMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmMsMHgwMCwweGVkLDB4ODAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweDgwZTAsIDAsIHsweDBmLDB4ZDQsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjOCwweDBmLDB4YjAsMHgwMywweDNjLDB4MDAsMHhlZSwweDQwIH0gfSwKLXsgIDE2LCAweDgwZjAsIDAsIHsweDNmLDB4YzAsMHgwZiwweDcwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MjAsMHhiMCwweGMwIH0gfSwKLXsgIDE2LCAweDgxMTAsIDAsIHsweDBmLDB4YjQsMHgwMywweGFjLDB4MDIsMHhjYiwweDAwLDB4MzIsMHg5MCwweDBlLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweDgxMjAsIDAsIHsweDNhLDB4YzAsMHgwYywweGIwLDB4MDIsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4OTEsMHgwZiwweGIwLDB4MDMsMHg5MCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGJiLDB4ODAsMHgyMywweGQ3IH0gfSwKLXsgIDE2LCAweDgxNDAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDNjLDB4MTQsMHg4YiwweDAwLDB4NmEsMHgwOCwweDI4LDB4ZjAsMHgwMCwweGJjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDgxNTAsIDAsIHsweGJlLDB4YzAsMHg4OCwweGYwLDB4MTMsMHgyYywweDAwLDB4ZWYsMHgwMCwweDJlLDB4ODAsMHgwYiwweGIwLDB4MDcsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweDgxNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4NDAsMHgyMCwweGQwIH0gfSwKLXsgIDE2LCAweDgxNzAsIDAsIHsweDBiLDB4MjgsMHgwMiwweDhjLDB4MDAsMHg4MywweDAxLDB4MjAsMHhjMCwweDFhLDB4YjgsMHgwMCwweDZjLDB4MTAsMHhhMSwweDAwIH0gfSwKLXsgIDE2LCAweDgxODAsIDAsIHsweDY4LDB4YzAsMHgyYSwweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMiwweDJlLDB4MDAsMHg0YiwweDMwLDB4MDIsMHhmOCwweDA0IH0gfSwKLXsgIDE2LCAweDgxOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4YTAsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweDgxYTAsIDAsIHsweDBiLDB4ZWMsMHhjMiwweDFlLDB4MDQsMHg4NywweDgwLDB4MjksMHhlNCwweDA4LDB4NzksMHg4MiwweDllLDB4NDAsMHhhZiwweDkwIH0gfSwKLXsgIDE2LCAweDgxYjAsIDAsIHsweDI5LDB4ZTAsMHgwYSwweDM4LDB4MDAsMHgxZSwweDAwLDB4YTcsMHg5MCwweDJkLDB4MjQsMHgwYiwweDc4LDB4MDIsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweDgxYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg1MCwweGZiLDB4MDksMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweDgxZDAsIDAsIHsweDBmLDB4MjAsMHgwMiwweDhjLDB4NDAsMHhjMywweDAwLDB4MjAsMHhjMCwweDBhLDB4MzgsMHgwMywweDRjLDB4NDQsMHhlMSwweDAwIH0gfSwKLXsgIDE2LCAweDgxZTAsIDAsIHsweGFhLDB4YzAsMHgwZSwweDMxLDB4NDMsMHg4ZSwweDAwLDB4ZjMsMHgwMCwweDNjLDB4MDAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweDgxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDRkLDB4YmMsMHgwMCwweGZmLDB4MjAsMHgzZiwweGQwIH0gfSwKLXsgIDE2LCAweDgyMDAsIDAsIHsweDRmLDB4NzAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBmLDB4ZjMsMHg0MywweGZjLDB4NDAsMHhkNywweDAwIH0gfSwKLXsgIDE2LCAweDgyMTAsIDAsIHsweGJmLDB4YzAsMHgwZCwweGY0LDB4YzMsMHhmYywweDQwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDgyMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzMiwweGQwIH0gfSwKLXsgIDE2LCAweDgyMzAsIDAsIHsweDBkLDB4OTAsMHgwMSwweGVkLDB4YzAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDFmLDB4YmEsMHgwMywweGFjLDB4YzAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNDAsIDAsIHsweDMyLDB4ZTAsMHg4ZCwweGI0LDB4NDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDM2LDB4YTAsMHgwYywweGIwLDB4MDMsMHg2YSwweDAwIH0gfSwKLXsgIDE2LCAweDgyNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGM4IH0gfSwKLXsgIDE2LCAweDgyNjAsIDAsIHsweDA4LDB4NjAsMHgwMiwweGRjLDB4MjAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBmLDB4NzQsMHhhMiwweDFjLDB4MjgsMHhkNiwweDAwIH0gfSwKLXsgIDE2LCAweDgyNzAsIDAsIHsweDM1LDB4YzAsMHgwOCwweDcyLDB4MDIsMHg1YywweDA4LDB4YjcsMHg0NCwweGExLDB4ODAsMHg0OCwweDcwLDB4MDIsMHgxMiwweDAwIH0gfSwKLXsgIDE2LCAweDgyODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4ODAsMHgyMCwweGU0IH0gfSwKLXsgIDE2LCAweDgyOTAsIDAsIHsweDA5LDB4NzgsMHgyNiwweGRlLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMiwweDBhLDB4NzAsMHgxMiwweDhjLDB4ODgsMHg4MSwweDgwIH0gfSwKLXsgIDE2LCAweDgyYTAsIDAsIHsweDIxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjMsMHhhMCwweDI1LDB4YTAsMHgyOCwweDc4LDB4MDIsMHg3MCwweDA0IH0gfSwKLXsgIDE2LCAweDgyYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMSwweGJiLDB4ODAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweDgyYzAsIDAsIHsweDA4LDB4MzAsMHg0MiwweGVjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzAsMHgyMiwweDBjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweDgyZDAsIDAsIHsweDI0LDB4YzEsMHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZTAsMHgwOCwweGIwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweDgyZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDgsMHhiMiwweDgwIH0gfSwKLXsgIDE2LCAweDgyZjAsIDAsIHsweDBkLDB4ZTIsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2YsMHg4MCwweDBhLDB4YTAsMHgwMywweGE4LDB4MDAsMHhjZSwweDUwIH0gfSwKLXsgIDE2LCAweDgzMDAsIDAsIHsweDMyLDB4ODAsMHgwNSwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDM3LDB4YTgsMHgwYywweGEwLDB4MDMsMHg3YSwweDA0IH0gfSwKLXsgIDE2LCAweDgzMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4NjAsMHgwOCwweGY4LDB4MDAsMHgzYywweDAwIH0gfSwKLXsgIDE2LCAweDgzMjAsIDAsIHsweDBmLDB4ODgsMHgwMSwweGUwLDB4MDAsMHhmOCwweDA0LDB4M2MsMHgwMCwweDRmLDB4MDAsMHgxMywweGMwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDgzMzAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZjgsMHgwMiwweDNlLDB4MDEsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDgzNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4OTAsMHgxMiwweDQwIH0gfSwKLXsgIDE2LCAweDgzNTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg3MCwweDBlLDB4OTQsMHgzMywweDI0LDB4MDgsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDgzNjAsIDAsIHsweDJhLDB4NDAsMHgwYiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweDgzNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDIsMHgyMiwweDYwIH0gfSwKLXsgIDE2LCAweDgzODAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAzLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDEsMHg4MSwweDA0IH0gfSwKLXsgIDE2LCAweDgzOTAsIDAsIHsweDNlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMiwweDIyLDB4NDAsMHgwZSwweDkwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4NDAsMHgyYSwweDRhIH0gfSwKLXsgIDE2LCAweDgzYjAsIDAsIHsweDA4LDB4OTEsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwYSwweDI0LDB4MDQsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweDgzYzAsIDAsIHsweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjEsMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweDgzZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweGIxLDB4MDEsMHhhOCwweDQ4IH0gfSwKLXsgIDE2LCAweDgzZTAsIDAsIHsweDg4LDB4OTAsMHgwMiwweDA0LDB4ODAsMHg4MSwweDQwLDB4MmMsMHg1MCwweDE4LDB4MTQsMHgwYSwweDg0LDB4MTAsMHg4OSwweDQwIH0gfSwKLXsgIDE2LCAweDgzZjAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4MzEsMHgyMCwweDIwLDB4NDAsMHgwYSwweDEwLDB4MGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweDg0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGYwLDB4NTAsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweDg0MTAsIDAsIHsweDJjLDB4YTAsMHgwMiwweGExLDB4NDIsMHhjOCwweDAwLDB4M2UsMHgwMCwweGRlLDB4MDAsMHgyMywweDIxLDB4NDIsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MjAsIDAsIHsweDM4LDB4MTQsMHgwZiwweDg1LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHg1MCwweDM4LDB4MTQsMHgwZiwweDA1LDB4MDMsMHgyZSwweDAxIH0gfSwKLXsgIDE2LCAweDg0MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHgwOCwweGZkLDB4MDAsMHgzNiwweDQ0IH0gfSwKLXsgIDE2LCAweDg0NDAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDY0LDB4NDAsMHhmOSwweDAwLDB4M2QsMHg1MCwweDBmLDB4OTQsMHgwMywweGU1LDB4MDAsMHg3ZCwweDQwIH0gfSwKLXsgIDE2LCAweDg0NTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNiwweDA0IH0gfSwKLXsgIDE2LCAweDg0NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTQsMHgwMCwweGZkLDB4NDAsMHgzMywweDY4IH0gfSwKLXsgIDE2LCAweDg0NzAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGU3LDB4ODEsMHhmOSwweDAwLDB4MzMsMHg3OCwweDBkLDB4ZDgsMHgxMywweDI2LDB4YTAsMHhjZCwweGEwIH0gfSwKLXsgIDE2LCAweDg0ODAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDliLDB4MDMsMHgyNCwweDAwLDB4ZjksMHhhMCwweDNjLDB4NDQsMHgyYywweDkwLDB4MDcsMHg4NiwweDAwIH0gfSwKLXsgIDE2LCAweDg0OTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwMCwweGI4LDB4YTAsMHhhMiwweDEwIH0gfSwKLXsgIDE2LCAweDg0YTAsIDAsIHsweDE4LDB4ODAsMHgwMywweDgyLDB4ODQsMHhiOCwweDgwLDB4MzYsMHgyYywweDJlLDB4MGYsMHgwMiwweGEzLDB4YTAsMHhkOCwweGUwIH0gfSwKLXsgIDE2LCAweDg0YjAsIDAsIHsweDM2LDB4MjIsMHg4YiwweDA4LDB4MDMsMHg0MiwweGEwLDB4ZjgsMHhlMCwweDJlLDB4MjgsMHgwOCwweDg4LDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDg0YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHhhMCwweDUwIH0gfSwKLXsgIDE2LCAweDg0ZDAsIDAsIHsweDI4LDB4MzAsMHgwMiwweGM1LDB4ODAsMHhiMSwweDA4LDB4MjAsMHg0MCwweDA5LDB4MTAsMHhhMiwweDQ0LDB4MDgsMHg4MSwweDQ4IH0gfSwKLXsgIDE2LCAweDg0ZTAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDE0LDB4MDIsMHgwNCwweDgwLDB4YjEsMHgzOCwweDJjLDB4NDgsMHgwOCwweDEyLDB4ODIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweDg0ZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweDg1MDAsIDAsIHsweDA4LDB4OTIsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAyLDB4MjYsMHg1OCwweDRhLDB4OTAsMHgwMiwweGU0LDB4MDgsMHg5OSwweDQwIH0gfSwKLXsgIDE2LCAweDg1MTAsIDAsIHsweDI2LDB4NDAsMHgwYiwweDkwLDB4MDIsMHg2NCwweDA4LDB4YjksMHgwMSwweDJjLDB4NDgsMHgwOCwweDkwLDB4MTIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweDg1MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDg1MzAsIDAsIHsweDA4LDB4OTgsMHg4MywweGU0LDB4MDQsMHhiOSwweDAxLDB4MzAsMHg0MCwweDBkLDB4OTAsMHgwYiwweDY0LDB4MDIsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1NDAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDFlLDB4NTgsMHgwYywweDkwLDB4MDMsMHhhOCwweDA0IH0gfSwKLXsgIDE2LCAweDg1NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MjAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweDg1NjAsIDAsIHsweDBmLDB4OTgsMHgwMywweGE0LDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MiwweDhlLDB4MTAsMHg0YiwweDg0LDB4MDQsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1NzAsIDAsIHsweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDAsMHgzMiwweDA4IH0gfSwKLXsgIDE2LCAweDg1OTAsIDAsIHsweDBmLDB4ODQsMHg4MywweGEwLDB4MDQsMHhjOCwweDA0LDB4M2UsMHgwMCwweDgzLDB4ODAsMHgwMSwweDIwLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1YTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhhMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MTAsMHg0ZSwweDgwLDB4MTMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDg1YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4OTAsMHhhMywweDgwIH0gfSwKLXsgIDE2LCAweDg1YzAsIDAsIHsweDBiLDB4ZTQsMHgwMiwweDI4LDB4MDAsMHhjYSwweDAwLDB4MmYsMHg4MCwweDRhLDB4YTAsMHgxMywweGE4LDB4MDAsMHhhYSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZDAsIDAsIHsweDM2LDB4ODEsMHgwYiwweGEwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDMsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4YzAsMHgyMCwweGQwIH0gfSwKLXsgIDE2LCAweDg1ZjAsIDAsIHsweDBiLDB4MzQsMHgwMiwweDhjLDB4MDAsMHg4YiwweDAwLDB4MmMsMHhmMCwweDhiLDB4MTgsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDg2MDAsIDAsIHsweDYwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDAyLDB4ODMsMHgwMCwweDI4LDB4YzEsMHgwYSwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDg2MTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWUsMHgwMCwweGI0LDB4MGIsMHg2OSwweGMwIH0gfSwKLXsgIDE2LCAweDg2MjAsIDAsIHsweDA5LDB4NTgsMHgwNiwweDFlLDB4ODAsMHg5NywweDEwLDB4MmYsMHhjMiwweDQ4LDB4NzAsMHg4MiwweDljLDB4ODAsMHhhNywweDA4IH0gfSwKLXsgIDE2LCAweDg2MzAsIDAsIHsweDI1LDB4Y2MsMHgwYiwweDcwLDB4MDIsMHgxZSwweDgxLDB4ODcsMHhhMiwweGFiLDB4YzQsMHgwOCwweDczLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgxMCwweGRjLDB4ODQsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweDg2NTAsIDAsIHsweDBmLDB4NzgsMHg0MiwweDlmLDB4MDIsMHhjNywweDg4LDB4M2QsMHhlMCwweDJmLDB4NzEsMHgwMywweDRlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweDg2NjAsIDAsIHsweDIxLDB4ZTIsMHgwZiwweDc4LDB4ODMsMHg5ZSwweDQ5LDB4Y2YsMHhkMCwweDM5LDB4ZTgsMHgwZSwweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDg2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDRkLDB4YWMsMHg0MCwweGNhLDB4MDAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDg2ODAsIDAsIHsweDhmLDB4MzAsMHgyMywweGVjLDB4YTgsMHhlYiwweDQwLDB4M2MsMHhjMCwweDBmLDB4OTYsMHg0MywweGVkLDB4ODAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDg2OTAsIDAsIHsweDNlLDB4ZDgsMHg4ZiwweGIxLDB4NDMsMHhlZCwweDgwLDB4ZmIsMHgyMCwweDM2LDB4Y2EsMHgwZiwweGIwLDB4YTMsMHg4MiwweDA2IH0gfSwKLXsgIDE2LCAweDg2YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg4MCwweGZjLDB4ODAsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweDg2YjAsIDAsIHsweDA1LDB4YWEsMHgxMCwweGZlLDB4NDQsMHhmZiwweDkwLDB4M2YsMHhlMSwweGNmLDB4ZjksMHgxNywweDNmLDB4MjAsMHhkNywweDgwIH0gfSwKLXsgIDE2LCAweDg2YzAsIDAsIHsweDhiLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHgzZSwweDMwLDB4ZmYsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGY4LDB4MDAsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGJkLDB4MTAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDg2ZTAsIDAsIHsweDA4LDB4NGEsMHgwMiwweGRjLDB4YzAsMHhiNywweDAwLDB4MmQsMHhjMiwweDBjLDB4ZDMsMHgwMiwweDFjLDB4ODAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweDg2ZjAsIDAsIHsweDI5LDB4YzAsMHg0YiwweDcyLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMSwweDIxLDB4YzAsMHgwYiwweGYwLDB4MTIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweDg3MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg5MCwweDM0LDB4MDAsMHgyMSwweDgwIH0gfSwKLXsgIDE2LCAweDg3MTAsIDAsIHsweDA5LDB4NzAsMHgwMCwweDVjLDB4MGMsMHhiNywweDAwLDB4MmQsMHhjNCwweDA4LDB4NTAsMHgxYSwweDBjLDB4MDAsMHg5NywweDAwIH0gfSwKLXsgIDE2LCAweDg3MjAsIDAsIHsweDIxLDB4YzAsMHg0YiwweDMwLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMCwweDI1LDB4YzAsMHgwYiwweDcwLDB4MDIsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwMCwweGIwLDB4MDAsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NDAsIDAsIHsweDA4LDB4M2UsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4MGMsMHhlMCwweDJiLDB4YjAsMHgwMiwweDBjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweDg3NTAsIDAsIHsweDI4LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDEwLDB4YjMsMHgwMCwweDIwLDB4ZDYsMHgwMywweDMwLDB4MDIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweDg3NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZiLDB4MDAsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweDg3NzAsIDAsIHsweDA1LDB4YmUsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgyMCwweDBjLDB4YjAsMHgwMywweDNjLDB4MDAsMHhkOSwweDgwIH0gfSwKLXsgIDE2LCAweDg3ODAsIDAsIHsweDMzLDB4YzAsMHg4YiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCwweDM3LDB4ZTAsMHgwZiwweGYwLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweDg3OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweDg3YTAsIDAsIHsweDBmLDB4YTQsMHgyMywweGNjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MSwweDA4LDB4OTAsMHgwMywweGVjLDB4MDAsMHhlOSwweDE0IH0gfSwKLXsgIDE2LCAweDg3YjAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzNywweDgwIH0gfSwKLXsgIDE2LCAweDg3ZDAsIDAsIHsweDBmLDB4ZmEsMHgwMywweGZjLDB4MDAsMHhjZiwweDAwLDB4M2YsMHg5MCwweDA2LDB4ZGMsMHgyMywweDNjLDB4MDAsMHhmZCwweDEwIH0gfSwKLXsgIDE2LCAweDg3ZTAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGYwLDB4MGIsMHgzYywweDAwLDB4NDMsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweDg3ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4NmMsMHgwOSwweGJiLDB4MTksMHgyMiwweDMyIH0gfSwKLXsgIDE2LCAweDg4MDAsIDAsIHsweDBiLDB4YmUsMHgwMywweDZjLDB4MDAsMHg4YiwweDAwLDB4MmMsMHg5MCwweDBkLDB4YjgsMHgwMiwweGFjLDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDg4MTAsIDAsIHsweGYyLDB4YzAsMHgwYiwweGIwLDB4MTIsMHhhYywweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweDg4MjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgxMCwweGIzLDB4MDAsMHgyNiwweDIwIH0gfSwKLXsgIDE2LCAweDg4MzAsIDAsIHsweDBiLDB4OTAsMHgxMiwweGVjLDB4MDEsMHg4YiwweDAwLDB4MmEsMHhjMiwweDBhLDB4OTAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDg4NDAsIDAsIHsweGEyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMSwweGIzLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NjAsIDAsIHsweDBiLDB4MDAsMHgwMiwweDhjLDB4MDAsMHg4MywweDAwLDB4MmUsMHhjMCwweDBiLDB4MzQsMHgwMiwweDhjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDg4NzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwZCwweDAwLDB4YTMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweDg4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGJiLDB4MDQsMHgzNiwweDgwIH0gfSwKLXsgIDE2LCAweDg4OTAsIDAsIHsweDBmLDB4YjIsMHgwMiwweGZjLDB4MDIsMHhjZiwweDAyLDB4MzgsMHhjMCwweDBlLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDg4YTAsIDAsIHsweDIzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzZCwweDAyLDB4ZWYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweDg4YjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweDg4YzAsIDAsIHsweDBmLDB4ZjQsMHgyMywweDdjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBkLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDg4ZDAsIDAsIHsweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDg4LDB4ZGYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhhOCwweDA2IH0gfSwKLXsgIDE2LCAweDg4ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHg1MCwweGNlLDB4MTIsMHgzMywweGQwIH0gfSwKLXsgIDE2LCAweDg4ZjAsIDAsIHsweDRjLDB4ODYsMHg4MywweDMwLDB4ODAsMHg1ZiwweDY4LDB4MzMsMHhjNCwweDBmLDB4ZjMsMHg4MywweDNjLDB4YzAsMHhjYywweDM4IH0gfSwKLXsgIDE2LCAweDg5MDAsIDAsIHsweGIzLDB4MDgsMHgwYywweGM2LDB4MDMsMHhmMSwweGEwLDB4ZmYsMHgwMCwweDMzLDB4MjQsMHgwYywweGMyLDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHg4MCwweGQyLDB4MjAsMHgyMywweGQ4IH0gfSwKLXsgIDE2LCAweDg5MjAsIDAsIHsweDBkLDB4OTYsMHgwMiwweDg4LDB4NjAsMHhhZiwweDQwLDB4MjMsMHhkYywweDBiLDB4ZjYsMHgwMiwweDNjLDB4YzIsMHg4OCwweDYwIH0gfSwKLXsgIDE2LCAweDg5MzAsIDAsIHsweDIyLDB4NTIsMHgwOCwweDkxLDB4MjIsMHhlMSwweDAwLDB4YjcsMHgyNCwweGEyLDB4NDgsMHg4YSwweDg0LDB4ODIsMHg2MCwweDA0IH0gfSwKLXsgIDE2LCAweDg5NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgwMCwweDgxLDB4MDAsMHhlMCwweGM0IH0gfSwKLXsgIDE2LCAweDg5NTAsIDAsIHsweDBhLDB4MDAsMHgwMiwweDA0LDB4ODAsMHhhMywweDIwLDB4YTgsMHhjMCwweDFiLDB4MzAsMHgwYSwweDBjLDB4MDAsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NjAsIDAsIHsweDI4LDB4MGMsMHgwOSwweDAyLDB4MDIsMHhjNCwweDgwLDB4YjMsMHgxYywweDIyLDB4MDgsMHgxOSwweDAzLDB4MDIsMHhlMiwweDExIH0gfSwKLXsgIDE2LCAweDg5NzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTQsMHgwMCwweDk5LDB4ODAsMHg2MiwweGMwIH0gfSwKLXsgIDE2LCAweDg5ODAsIDAsIHsweDBiLDB4YTAsMHgzMiwweGE0LDB4NTEsMHhhYiwweDAwLDB4MmEsMHhjMCwweDhiLDB4YjAsMHgwMCwweDBjLDB4MDAsMHhhOSwweGMwIH0gfSwKLXsgIDE2LCAweDg5OTAsIDAsIHsweDJhLDB4MjEsMHgwOCwweGI4LDB4MjIsMHhlMiwweDAwLDB4YmIsMHgwMCwweDIyLDB4ODQsMHgxYiwweGE4LDB4NDIsMHg3MCwweDA0IH0gfSwKLXsgIDE2LCAweDg5YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTIsMHgwMCwweGNiLDB4YzksMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDg5YjAsIDAsIHsweDBlLDB4OGIsMHgxMywweDIyLDB4MTAsMHhkYiwweDAxLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwYiwweDJjLDB4MDAsMHg2OCwweDgxIH0gfSwKLXsgIDE2LCAweDg5YzAsIDAsIHsweDNhLDB4MjIsMHgyYywweDg4LDB4MjMsMHhlMywweDAwLDB4ZmIsMHgwMCwweDMwLDB4MzAsMHg4ZCwweDljLDB4ODMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDg5ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmEsMHg0MCwweGY3LDB4MDQsMHgzZSwweGMyIH0gfSwKLXsgIDE2LCAweDg5ZTAsIDAsIHsweDBkLDB4ZDgsMHgyMywweGQ4LDB4MDAsMHg3YiwweDAwLDB4MzcsMHhjMCwweDBmLDB4NzAsMHgzMywweGZjLDB4MTAsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZjAsIDAsIHsweDM1LDB4YzAsMHg4ZiwweGMwLDB4MDMsMHhmNCwweDAwLDB4ZjcsMHgwMiwweDNmLDB4ZTAsMHgwZSwweDgwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4ODEsMHgyMCwweGM4LDB4MDgsMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweDhhMTAsIDAsIHsweDBjLDB4MDAsMHg4MywweDI0LDB4NDAsMHhjMywweDg5LDB4M2EsMHhjMCwweDBlLDB4YjAsMHgwYiwweDJjLDB4MDgsMHhjOSwweDQ4IH0gfSwKLXsgIDE2LCAweDhhMjAsIDAsIHsweDcyLDB4NTQsMHgwZiwweDkxLDB4MDMsMHhlZCwweDAyLDB4ZWIsMHg4YSwweDNhLDB4NjIsMHg4YywweDgwLDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweDhhMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmIsMHgwNCwweDg4LDB4NDAsMHhhMywweGMyIH0gfSwKLXsgIDE2LCAweDhhNDAsIDAsIHsweDAyLDB4YWUsMHgxMiwweDI3LDB4NDIsMHg4ZiwweDQ0LDB4MjMsMHhjMiwweDBiLDB4ZjQsMHgwMiwweDNkLDB4MDAsMHgwYSwweDQwIH0gfSwKLXsgIDE2LCAweDhhNTAsIDAsIHsweDIyLDB4ZTAsMHgwYiwweGI1LDB4MDIsMHhlYywweDIwLDB4OGYsMHg0NCwweGEyLDB4NDAsMHg4ZCwweGJkLDB4MjMsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDhhNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDksMHg0MCwweDgzLDB4ODEsMHgyNCwweGMxIH0gfSwKLXsgIDE2LCAweDhhNzAsIDAsIHsweDA4LDB4MjgsMHgwMiwweDAxLDB4MDAsMHg5MywweDAwLDB4YTAsMHhlOCwweDBhLDB4MzAsMHg4MiwweDhmLDB4NjAsMHhiMywweDkwIH0gfSwKLXsgIDE2LCAweDhhODAsIDAsIHsweDYwLDB4YjgsMHgwYiwweDI4LDB4MTIsMHg0YSwweDAwLDB4OTMsMHgwMCwweDIwLDB4OTAsMHgwOSwweDIwLDB4MDIsMHg3OCwweDAwIH0gfSwKLXsgIDE2LCAweDhhOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMiwweDg3LDB4YTgsMHgyNSwweGUwIH0gfSwKLXsgIDE2LCAweDhhYTAsIDAsIHsweDBhLDB4N2IsMHgwMiwweDFhLDB4MDQsMHg4NywweDgwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHg4MiwweDhlLDB4MDIsMHg5NiwweDkxIH0gfSwKLXsgIDE2LCAweDhhYjAsIDAsIHsweDIxLDB4MjEsMHgwYiwweDY5LDB4NDAsMHhkYiwweDQwLDB4OTcsMHg5MiwweDIzLDB4YTAsMHg4OSwweDU4LDB4ODIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweDhhYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjUsMHg4MiwweGMzLDB4MDAsMHgzNCwweGMwIH0gfSwKLXsgIDE2LCAweDhhZDAsIDAsIHsweDBjLDB4OWIsMHg0MywweDA4LDB4ZDAsMHhkMywweDIwLDB4MzgsMHhjMCwweDBlLDB4YjAsMHgwMywweDhjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDhhZTAsIDAsIHsweDIwLDB4ODAsMHgwNywweDEwLDB4MDMsMHhlMCwweDAwLDB4ZDMsMHgxMCwweDM4LDB4MTgsMHgwZCwweDMwLDB4MDMsMHg1MiwweDAyIH0gfSwKLXsgIDE2LCAweDhhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjQsMHgwMCwweDdmLDB4MjAsMHgxYiwweGQwIH0gfSwKLXsgIDE2LCAweDhiMDAsIDAsIHsweDBmLDB4ZjEsMHgwMywweGY4LDB4NDAsMHhlZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YjQsMHgwMywweDdjLDB4MjAsMHhjZiwweDA0IH0gfSwKLXsgIDE2LCAweDhiMTAsIDAsIHsweGJmLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhlNCwweDEwLDB4ZWYsMHgxOCwweDNkLDB4YzAsMHgwZiwweGUwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDhiMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTgsMHgwMCwweGUzLDB4MDAsMHhiMiwweGM0IH0gfSwKLXsgIDE2LCAweDhiMzAsIDAsIHsweDBjLDB4YTAsMHgwMywweDI0LDB4MDAsMHhkYiwweDY4LDB4MzIsMHhjOCwweDBjLDB4YjQsMHgwMywweGVjLDB4ODAsMHhjOCwweDgwIH0gfSwKLXsgIDE2LCAweDhiNDAsIDAsIHsweGI2LDB4ZTAsMHgwYywweGEwLDB4MDMsMHgyZSwweDAwLDB4Y2IsMHhlMCwweGIyLDB4NjAsMHgwYywweGI4LDB4MGIsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweDhiNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMiwweDg3LDB4MDAsMHhhMSwweGM4IH0gfSwKLXsgIDE2LCAweDhiNjAsIDAsIHsweDA4LDB4NzAsMHgwMiwweDFjLDB4MDgsMHg5NywweDAyLDB4MjEsMHhkNCwweDA4LDB4NzQsMHgwMiwweGRjLDB4YzAsMHgwNywweDAwIH0gfSwKLXsgIDE2LCAweDhiNzAsIDAsIHsweDIxLDB4YzAsMHg4OCwweDcwLDB4MDIsMHgxOCwweDAwLDB4ODMsMHgwOCwweDIxLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweDhiODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgyMCwweGFkLDB4ODAsMHgyOSwweGUwIH0gfSwKLXsgIDE2LCAweDhiOTAsIDAsIHsweDA4LDB4NTgsMHgwMiwweDFlLDB4MDAsMHg5NywweGIwLDB4MjEsMHhlOCwweDA4LDB4NzgsMHgwMiwweGRlLDB4MTAsMHgxNSwweDgwIH0gfSwKLXsgIDE2LCAweDhiYTAsIDAsIHsweDIxLDB4YTEsMHgwOCwweDQ4LDB4MDIsMHg1ZSwweDAwLDB4ODcsMHhhNCwweDY1LDB4YTAsMHgwOCwweDc4LDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2YsMHgxMCwweDgxLDB4NzAsMHhhOCwweGMwIH0gfSwKLXsgIDE2LCAweDhiYzAsIDAsIHsweDM4LDB4MzAsMHgwYSwweDBkLDB4MDAsMHg5MywweDAwLDB4YTAsMHhjMSwweDI4LDB4MzAsMHgwMiwweGNjLDB4MDIsMHg4MywweDg4IH0gfSwKLXsgIDE2LCAweDhiZDAsIDAsIHsweDIwLDB4ZTAsMHgzOCwweDM0LDB4MGEsMHg0ZCwweDcyLDB4ODMsMHgwMCwweDI0LDB4ZTgsMHgyOCwweDM0LDB4ODIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweDhiZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHg0MCwweGVlLDB4YzAsMHhiYSwweDgwIH0gfSwKLXsgIDE2LCAweDhiZjAsIDAsIHsweDBjLDB4ZTAsMHgwMywweDM5LDB4MTAsMHhkYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkZSwweGM4IH0gfSwKLXsgIDE2LCAweDhjMDAsIDAsIHsweDMzLDB4YTAsMHgwYywweGUwLDB4MDMsMHg3YiwweDAwLDB4Y2EsMHgwMCwweDM3LDB4YjEsMHgwYywweGU0LDB4MjMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweDhjMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4YzEsMHgwMCwweGY4LDB4MDAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDhjMjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGMwLDB4MjAsMHgzOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAyIH0gfSwKLXsgIDE2LCAweDhjMzAsIDAsIHsweDNhLDB4MjQsMHgwZiwweDgwLDB4ODMsMHhhMCwweDAxLDB4ZjgsMHgwNCwweDNhLDB4MDQsMHgwZCwweDgwLDB4MTMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDhjNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHg0NCwweGMxLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDhjNTAsIDAsIHsweDBjLDB4OTAsMHgzMiwweDI0LDB4MGMsMHhjMSwweDA2LDB4MzgsMHg0MCwweDBkLDB4OTAsMHgwOSwweDA0LDB4MDAsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweDhjNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMSwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweDhjNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwNiwweDg5LDB4MDAsMHgyYSwweDUwIH0gfSwKLXsgIDE2LCAweDhjODAsIDAsIHsweDA4LDB4OTQsMHgwYSwweDI0LDB4MDAsMHg4OSwweDQyLDB4MjIsMHg1MCwweDBhLDB4OTAsMHgxMiwweDI1LDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweDhjOTAsIDAsIHsweDJlLDB4NTAsMHgwYiwweDljLDB4MGEsMHgyNSwweDEwLDB4YjksMHgwMCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgyMCwweDg5LDB4MDAsMHgyMCwweDQyIH0gfSwKLXsgIDE2LCAweDhjYjAsIDAsIHsweDA4LDB4MTAsMHhjMiwweGFjLDB4MTAsMHg4OSwweDA4LDB4MmEsMHg0MiwweDA5LDB4OTAsMHgwMiwweDI0LDB4MjAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweDhjYzAsIDAsIHsweDJlLDB4NDIsMHgwYSwweGIxLDB4ODIsMHgyYywweDIwLDB4YjksMHgwMCwweDZlLDB4NDIsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDhjZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyOCwweDQ4IH0gfSwKLXsgIDE2LCAweDhjZTAsIDAsIHsweDA4LDB4MTIsMHg2MiwweDhjLDB4ODAsMHg4MSwweDAwLDB4MjAsMHg0MCwweDAyLDB4MTAsMHgwMiwweDg0LDB4ODAsMHg4MSwweDIwIH0gfSwKLXsgIDE2LCAweDhjZjAsIDAsIHsweDJjLDB4NDksMHgwYiwweDEyLDB4MDYsMHgwNCwweDg0LDB4YjMsMHgwMiwweDZjLDB4NDAsMHgwYiwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDhkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NDEsMHhlMCwweGM4LDB4NzgsMHgzMCwweDE0IH0gfSwKLXsgIDE2LCAweDhkMTAsIDAsIHsweDRjLDB4MDUsMHgxMywweGExLDB4NDIsMHhjMCwweDc4LDB4MzgsMHgxZSwweDBkLDB4ODcsMHg4MywweDAxLDB4NDAsMHhkMCwweDUwIH0gfSwKLXsgIDE2LCAweDhkMjAsIDAsIHsweDNjLDB4MTQsMHgwZSwweDA1LDB4MDMsMHgwMSwweDQwLDB4ZjgsMHg3OCwweDNjLDB4MTQsMHgwZiwweDA1LDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweDhkMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgwZSwweDQ0IH0gfSwKLXsgIDE2LCAweDhkNDAsIDAsIHsweDJmLDB4ZjEsMHgwMywweDc0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4NDAsMHhmZCwweDEwIH0gfSwKLXsgIDE2LCAweDhkNTAsIDAsIHsweDNmLDB4NDQsMHgwZiwweGQxLDB4MDEsMHhmNCwweDQwLDB4ZjksMHgwMSwweDNmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweDhkNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHgyMiwweGU5LDB4ODgsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweDhkNzAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI0LDB4MTYsMHhjOSwweDhjLDB4MzYsMHg3YiwweDhmLDB4OWMsMHg4MywweGE3LDB4OTAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDhkODAsIDAsIHsweDNlLDB4NTAsMHgwNCwweDk0LDB4MTMsMHgyNCwweDUwLDB4YzksMHhlMCwweDNlLDB4NTAsMHgwZiwweDkwLDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweDhkOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTIsMHg4MCwweDg4LDB4YTAsMHgyMiwweDI4IH0gfSwKLXsgIDE2LCAweDhkYTAsIDAsIHsweDBiLDB4OGEsMHgwMiwweDJhLDB4ODAsMHg4OCwweGE0LDB4MjIsMHgzMCwweDA4LDB4OGUsMHgwYSwweDIyLDB4MDIsMHg4OCwweGEwIH0gfSwKLXsgIDE2LCAweDhkYjAsIDAsIHsweDJlLDB4MjgsMHg4OCwweGFhLDB4MTIsMHgyMiwweDkwLDB4ODgsMHhmNCwweDJlLDB4MjAsMHgwYiwweGM4LDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweDhkYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZDQsMHgyMCwweGE1LDB4MDgsMHgyMSwweDQyIH0gfSwKLXsgIDE2LCAweDhkZDAsIDAsIHsweDBiLDB4NTAsMHg4MiwweDE0LDB4MzEsMHg4NSwweDA4LDB4MjUsMHg0MCwweDBhLDB4NTAsMHgyMiwweDk0LDB4NDAsMHg4NSwweDA4IH0gfSwKLXsgIDE2LCAweDhkZTAsIDAsIHsweDZkLDB4NDAsMHgwOCwweDUwLDB4MDIsMHg1NCwweDAyLDB4OTUsMHgwMCwweDJkLDB4NDgsMHgwYiwweDUwLDB4ODIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweDhkZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ODQsMHgwMCwweDhkLDB4MTAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweDhlMDAsIDAsIHsweDBiLDB4ZDAsMHgwMCwweDM0LDB4MDEsMHg4ZCwweDAwLDB4MjMsMHg0MSwweDU4LDB4ZDAsMHgwMiwweDM0LDB4MDAsMHg4ZCwweDA4IH0gfSwKLXsgIDE2LCAweDhlMTAsIDAsIHsweDJmLDB4NTAsMHgwOCwweGQyLDB4MDIsMHg3NCwweDgwLDB4OWQsMHgwMCwweDJmLDB4NDgsMHgwYiwweGRjLDB4MDIsMHg0NiwweDA0IH0gfSwKLXsgIDE2LCAweDhlMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg0MCwweGU5LDB4YzAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDhlMzAsIDAsIHsweDBmLDB4OTAsMHgwOSwweDI2LDB4MDAsMHhjOSwweDA0LDB4MzYsMHg0MCwweDFmLDB4OTAsMHgyMywweGE0LDB4MDgsMHhjOSwweDQwIH0gfSwKLXsgIDE2LCAweDhlNDAsIDAsIHsweDNlLDB4NDAsMHgwYywweDk0LDB4MGIsMHg2NCwweDIwLDB4ZDksMHgwMiwweDNlLDB4NDEsMHgwZiwweDk0LDB4MDMsMHg2OCwweDA0IH0gfSwKLXsgIDE2LCAweDhlNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4ODAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDhlNjAsIDAsIHsweDBmLDB4MTQsMHgwMywweGM1LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0MCwweDFmLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDhlNzAsIDAsIHsweDNjLDB4NDAsMHhhZiwweDk4LDB4MDMsMHg4NiwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDEwLDB4MGIsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDhlODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YjAsMHgwMCwweGRjLDB4NDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDhlOTAsIDAsIHsweDBmLDB4YzAsMHgwMywweDMxLDB4MDIsMHhjNCwweDA0LDB4YjEsMHgwMCwweDNjLDB4NDAsMHgwMywweDEwLDB4MDAsMHhmYywweDQwIH0gfSwKLXsgIDE2LCAweDhlYTAsIDAsIHsweDMzLDB4MDAsMHgwYywweGM0LDB4MDMsMHhiMSwweDAwLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgwYywweGM0LDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDhlYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyMiwweGEwIH0gfSwKLXsgIDE2LCAweDhlYzAsIDAsIHsweDBiLDB4YTAsMHgwMiwweDJhLDB4MDAsMHg4YSwweDg0LDB4MjIsMHhhMSwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDgsMHhiYSwweDAxIH0gfSwKLXsgIDE2LCAweDhlZDAsIDAsIHsweDIyLDB4ODAsMHgwOCwweGEwLDB4MmIsMHgyOCwweDAwLDB4OGEsMHg4MCwweDJhLDB4ODAsMHgwOCwweGUwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDhlZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMiwweDliLDB4ODEsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweDhlZjAsIDAsIHsweDhiLDB4MzgsMHgwNiwweGNlLDB4MDAsMHg5MywweDgwLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweDBjLDB4MDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweDhmMDAsIDAsIHsweDZjLDB4ZTAsMHgwYSwweGIwLDB4MDIsMHg0YywweDAwLDB4OTMsMHgwMCwweDIwLDB4ZTAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDhmMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTAsMHgwNCwweDgwLDB4MDgsMHgyMSwweDAyIH0gfSwKLXsgIDE2LCAweDhmMjAsIDAsIHsweDRiLDB4NDQsMHgwNiwweGQwLDB4MjAsMHg5MCwweDA4LDB4MjEsMHgwMiwweDgwLDB4NDQsMHgwMiwweDEwLDB4MDAsMHhiNCwweGMwIH0gfSwKLXsgIDE2LCAweDhmMzAsIDAsIHsweDJkLDB4MTAsMHg0OCwweDQwLDB4MDIsMHgwMCwweDAwLDB4OTQsMHg4OSwweDI5LDB4MzAsMHgwOCwweDQwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MzIsMHgwMCwweGQ2LDB4ODAsMHgzMSwweGEwIH0gfSwKLXsgIDE2LCAweDhmNTAsIDAsIHsweDBmLDB4ZTgsMHgwYiwweGNhLDB4MDAsMHhkNiwweDgwLDB4MjMsMHhhMCwweDA0LDB4ZjgsMHgwYiwweDFhLDB4MDAsMHhmZiwweDgwIH0gfSwKLXsgIDE2LCAweDhmNjAsIDAsIHsweGJmLDB4YTAsMHgyZSwweGM4LDB4MTMsMHhkYSwweDAyLDB4NWUsMHg4MCwweDczLDB4YTAsMHgyYywweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDhmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDhmODAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4ODAsMHgwMywweGU0LDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDhmOTAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlNCwweDAxLDB4ZTksMHgwNCwweDM2LDB4NDAsMHgwZiwweDgwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweDhmYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGNkLDB4ODAsMHgzMywweDYwIH0gfSwKLXsgIDE2LCAweDhmYjAsIDAsIHsweDBjLDB4ZDgsMHg0MywweDM2LDB4MDAsMHhjZCwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZDksMHgyMywweGJlLDB4MDAsMHg0ZCwweDgwIH0gfSwKLXsgIDE2LCAweDhmYzAsIDAsIHsweDMzLDB4NjAsMHgwOCwweGY4LDB4MGIsMHgzZSwweDAwLDB4ZmQsMHg4NCwweDNmLDB4NjAsMHgwZiwweGY5LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OTAsMHgwNCwweGRlLDB4MDAsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweDhmZTAsIDAsIHsweDA4LDB4NjAsMHgwMiwweGI4LDB4MjAsMHg4ZSwweDA0LDB4MjMsMHg4MCwweDA4LDB4NjgsMHgwMiwweDEwLDB4MDAsMHg4ZSwweDIwIH0gfSwKLXsgIDE2LCAweDhmZjAsIDAsIHsweDIzLDB4ODIsMHgwOCwweDQwLDB4MDIsMHgxMiwweDAwLDB4ZjYsMHgwMCwweDJkLDB4ODAsMHgwYiwweDQxLDB4YTAsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDkwMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweDg0LDB4MDAsMHgyMSwweDAwIH0gfSwKLXsgIDE2LCAweDkwMTAsIDAsIHsweDA4LDB4NDEsMHgwMiwweDUwLDB4NDAsMHg5NCwweDAwLDB4MjEsMHgwMCwweDBhLDB4NTIsMHgwMiwweGQ4LDB4MDAsMHg4NSwweDAyIH0gfSwKLXsgIDE2LCAweDkwMjAsIDAsIHsweDI1LDB4MDQsMHgwOCwweDQwLDB4MjIsMHgxOCwweDA4LDB4YjQsMHgwMCwweDJkLDB4MTAsMHgwYiwweDc4LDB4NDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4ZWUsMHgyMiwweDkzLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweDkwNDAsIDAsIHsweDA4LDB4MzgsMHgwMiwweGVjLDB4MDAsMHg5MywweDAwLDB4MjAsMHhjMSwweDJhLDB4MjAsMHgwMiwweDY0LDB4MDIsMHg4MiwweDEwIH0gfSwKLXsgIDE2LCAweDkwNTAsIDAsIHsweDI0LDB4ZjAsMHgwYSwweDNjLDB4NDIsMHgyNCwweDI4LDB4YjMsMHgwMCwweDJjLDB4ZTAsMHgwYiwweDg4LDB4ODIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweDkwNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWQsMHgwMCwweGNiLDB4MDAsMHhiMiwweGMwIH0gfSwKLXsgIDE2LCAweDkwNzAsIDAsIHsweGFjLDB4YmUsMHgwMywweDZlLDB4MDIsMHhkYiwweDAwLDB4YjIsMHhjMCwweDFlLDB4YTAsMHgwMywweGU0LDB4MDAsMHhjYSwweDExIH0gfSwKLXsgIDE2LCAweDkwODAsIDAsIHsweGI2LDB4ZDAsMHhhYywweGJjLDB4MDMsMHgyNCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHhjZiwweDg0LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDkwOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTAsMHg0MCwweGY4LDB4MDAsMHgzYywweDAwIH0gfSwKLXsgIDE2LCAweDkwYTAsIDAsIHsweDJmLDB4ODIsMHgwMywweGEwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDFkLDB4OTAsMHgxMywweGE4LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDkwYjAsIDAsIHsweDNhLDB4MDAsMHg4MSwweDgzLDB4NDMsMHhlOCwweDAwLDB4ZTgsMHgwMywweDNlLDB4MDQsMHgwZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZTAsMHgwMCwweGQ2LDB4MDAsMHgzNywweDgwIH0gfSwKLXsgIDE2LCAweDkwZDAsIDAsIHsweDBjLDB4YTAsMHgwMywweGY4LDB4MDAsMHhjZSwweDAwLDB4MzMsMHg4MCwweDBkLDB4YTAsMHgxMywweDIwLDB4MDgsMHhjZSwweDAwIH0gfSwKLXsgIDE2LCAweDkwZTAsIDAsIHsweDMzLDB4ODIsMHgwYywweDQwLDB4NzMsMHgzMCwweDE4LDB4Y2UsMHgwMCwweDFmLDB4ODAsMHg0ZiwweGMxLDB4NDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweDkwZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4N2MsMHgwMCwweDhkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweDkxMDAsIDAsIHsweDBhLDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAwLDB4MjMsMHg0MCwweDA4LDB4ZDQsMHg4MCwweDNlLDB4NDIsMHg4ZCwweDQwIH0gfSwKLXsgIDE2LCAweDkxMTAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGYwLDB4MDIsMHgzZSwweDQwLDB4OGQsMHgwMCwweDBmLDB4NDAsMHgwYiwweGY0LDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDkxMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDk5LDB4MDAsMHhhNiwweDQwIH0gfSwKLXsgIDE2LCAweDkxMzAsIDAsIHsweDA4LDB4OTAsMHgwNiwweGU0LDB4MDAsMHg5MSwweDAwLDB4MjAsMHg0MCwweDg4LDB4MDAsMHgwMiwweDI0LDB4MDgsMHg4MCwweDQwIH0gfSwKLXsgIDE2LCAweDkxNDAsIDAsIHsweDIwLDB4NDAsMHgwYSwweGIwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDBlLDB4NDAsMHgwYiwweDg0LDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDkxNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDAsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweDkxNjAsIDAsIHsweDBhLDB4MjEsMHgwNiwweGM4LDB4MDEsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MzIsMHg4MiwweDA4LDB4MDgsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDkxNzAsIDAsIHsweDYwLDB4ODAsMHgwYSwweDAwLDB4MTIsMHgwOCwweDgwLDB4ODIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMwLDB4MGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweDkxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDkxOTAsIDAsIHsweDBjLDB4ODQsMHgyMywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBkLDB4ODIsMHgwYiwweDIwLDB4MDIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDkxYTAsIDAsIHsweDMyLDB4MDAsMHgwZSwweDAwLDB4MDMsMHgyMCwweDAyLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweDkxYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGJmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweDkxYzAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4YmYsMHhjMCwweDhmLDB4YjAsMHgwMywweGZjLDB4MDgsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweDkxZDAsIDAsIHsweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhlZCwweDAwLDB4ZmYsMHgwMiwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweDkxZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjAsMHg4YywweGZmLDB4MDAsMHgzZCwweDYwIH0gfSwKLXsgIDE2LCAweDkxZjAsIDAsIHsweDJjLDB4YjIsMHg4MywweDdjLDB4OTAsMHhkZiwweDM4LDB4MzEsMHhlMCwweDBmLDB4ZjgsMHgwMywweDNjLDB4MDAsMHhmZiwweDIwIH0gfSwKLXsgIDE2LCAweDkyMDAsIDAsIHsweDNmLDB4YzQsMHgwZSwweGY0LDB4MDMsMHg3YywweDAwLDB4ZjQsMHg4MCwweDMzLDB4MDAsMHgwZCwweGY4LDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDkyMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTEsMHgyMCwweGJiLDB4NjIsMHgyZSwweDQyIH0gfSwKLXsgIDE2LCAweDkyMjAsIDAsIHsweDI4LDB4ZjQsMHg0MiwweDNlLDB4NDAsMHg4ZiwweDQ0LDB4MjIsMHhlMCwweDBiLDB4YjAsMHg4MywweDdmLDB4NDQsMHhiZiwweGMxIH0gfSwKLXsgIDE2LCAweDkyMzAsIDAsIHsweDJkLDB4ZGMsMHgyYSwweGY2LDB4MDIsMHgzZiwweDQ1LDB4YjgsMHg4MCwweDIyLDB4NjEsMHg4OCwweGI4LDB4MDIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweDkyNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzUsMHg4MCwweGIyLDB4MTgsMHgyZSwweGM4IH0gfSwKLXsgIDE2LCAweDkyNTAsIDAsIHsweDI5LDB4MzAsMHgzMiwweDBjLDB4MDgsMHhiMywweDIwLDB4MjAsMHhjMCwweDRiLDB4OTIsMHgwMiwweDBjLDB4MDAsMHhiMywweDQwIH0gfSwKLXsgIDE2LCAweDkyNjAsIDAsIHsweDJjLDB4YzAsMHg4OSwweDM0LDB4MTIsMHg0YywweDAwLDB4YjAsMHgwMCwweDI0LDB4YzEsMHg0OSwweDMwLDB4MDIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweDkyNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4YTQsMHgwMCwweGJhLDB4MGMsMHgyZSwweGUwIH0gfSwKLXsgIDE2LCAweDkyODAsIDAsIHsweGE5LDB4YjAsMHgwNiwweDJjLDB4MDAsMHg4YiwweDAwLDB4YTIsMHhjMCwweDBiLDB4OTAsMHgwMCwweDZjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDkyOTAsIDAsIHsweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg2YywweDAwLDB4YmEsMHg4MCwweDI2LDB4ZjAsMHgwOCwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweDkyYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWUsMHgwMCwweGZiLDB4YzQsMHgzZSwweDc4IH0gfSwKLXsgIDE2LCAweDkyYjAsIDAsIHsweDJkLDB4YjAsMHgwMywweDZjLDB4MDgsMHhmYiwweDAwLDB4MzIsMHhjMCwweDhiLDB4MjQsMHg4MywweDJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDkyYzAsIDAsIHsweDNlLDB4YzAsMHg4ZiwweGIwLDB4MGIsMHg2YywweDA4LDB4YjIsMHhlMCwweDE2LDB4NjAsMHg4ZCwweGIwLDB4MjMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDkyZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmUsMHg5OCwweGZmLDB4NDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweDkyZTAsIDAsIHsweDBlLDB4NzAsMHgwMywweGRjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZTAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDkyZjAsIDAsIHsweDNmLDB4YzAsMHgwZSwweGYwLDB4MDMsMHhhYywweDAwLDB4ZmUsMHgwMCwweGI5LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDkzMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWQsMHgwMCwweGZhLDB4NDAsMHgzZSwweGQwIH0gfSwKLXsgIDE2LCAweDkzMTAsIDAsIHsweDBlLDB4YjIsMHgwMywweGVjLDB4MDAsMHhjMywweDAwLDB4M2UsMHhjMCwweDBjLDB4YTAsMHgwMywweDJjLDB4MDEsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDkzMjAsIDAsIHsweDNjLDB4YzAsMHgwZSwweGI4LDB4MDMsMHhlYywweDAwLDB4ZGEsMHgwMCwweDNhLDB4ZDAsMHg0ZiwweGIwLDB4MjMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDkzMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGJhLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweDkzNDAsIDAsIHsweDA4LDB4ZjQsMHgwNywweGJjLDB4MTQsMHhkZiwweDAwLDB4M2UsMHhjMCwweDFhLDB4YTAsMHg1MiwweGJjLDB4MDAsMHhiZiwweDA0IH0gfSwKLXsgIDE2LCAweDkzNTAsIDAsIHsweDNmLDB4YzAsMHg4YSwweGYwLDB4MDMsMHhiYywweDAwLDB4ZmEsMHgwMCwweDIyLDB4YzgsMHgwZiwweGIwLDB4MDMsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweDkzNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDgsMHgwMSwweGIxLDB4MDAsMHg2YywweGMyIH0gfSwKLXsgIDE2LCAweDkzNzAsIDAsIHsweDBhLDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MywweDA1LDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDEsMHhiMywweDA0IH0gfSwKLXsgIDE2LCAweDkzODAsIDAsIHsweDJjLDB4YzAsMHgwYSwweDMwLDB4MjIsMHg4YywweDAwLDB4ODAsMHg4MCwweDI4LDB4YzAsMHgwYiwweDMwLDB4MjIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDkzOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwOCwweGI3LDB4ODAsMHg2ZiwweGUwIH0gfSwKLXsgIDE2LCAweDkzYTAsIDAsIHsweDE4LDB4NzgsMHgwMiwweDhlLDB4NDAsMHhiNywweDgwLDB4MmQsMHhlMCwweDBhLDB4NzgsMHgwMiwweDllLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweDkzYjAsIDAsIHsweDI5LDB4ZTEsMHgwYSwweDc4LDB4MDIsMHg5ZSwweDAxLDB4YmMsMHg4MCwweDI5LDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDkzYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDksMHg0MCwweGYxLDB4MjAsMHgzYywweGM0IH0gfSwKLXsgIDE2LCAweDkzZDAsIDAsIHsweDBlLDB4MzksMHgwMiwweGNjLDB4MDAsMHhjMywweDAwLDB4MmMsMHhjNCwweDA4LDB4OTIsMHgwMywweDhjLDB4ODgsMHhiMywweDEwIH0gfSwKLXsgIDE2LCAweDkzZTAsIDAsIHsweDJjLDB4YzQsMHgwZSwweGIwLDB4MDcsMHg4YywweDAwLDB4YzIsMHgwOCwweDM4LDB4YzAsMHgwZiwweDMwLDB4NDMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweDkzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgxMCwweGZjLDB4MDAsMHg3ZiwweGMwIH0gfSwKLXsgIDE2LCAweDk0MDAsIDAsIHsweDBmLDB4ZjAsMHg4MywweGZjLDB4MjEsMHhkZiwweDA4LDB4M2IsMHhjMCwweDhmLDB4OTAsMHgwMSwweGZjLDB4MjEsMHhmZiwweDBjIH0gfSwKLXsgIDE2LCAweDk0MTAsIDAsIHsweDNmLDB4YzIsMHgwZiwweGYxLDB4MDMsMHhlYywweDAwLDB4ZWYsMHgwMCwweDc3LDB4YzAsMHgxZSwweGYwLDB4MDMsMHg5MCwweDA2IH0gfSwKLXsgIDE2LCAweDk0MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTgsMHgwMSwweGY5LDB4MDAsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDk0MzAsIDAsIHsweDBmLDB4YjIsMHgwMywweGVlLDB4OTAsMHhkYiwweGUxLDB4M2EsMHhjMCwweDRkLDB4MzgsMHgxMywweDJkLDB4MzAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDk0NDAsIDAsIHsweDNlLDB4ZTAsMHg0ZiwweGJhLDB4NDMsMHgyYywweDQwLDB4ZmEsMHgwMCwweDNmLDB4YzAsMHg4YywweGIwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDk0NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweGIxLDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDk0NjAsIDAsIHsweDBiLDB4NzEsMHgwMiwweGNjLDB4MjAsMHhhNywweDI4LDB4MjEsMHhjMCwweDBiLDB4NzAsMHgxMywweDVjLDB4MDgsMHhiNywweDEwIH0gfSwKLXsgIDE2LCAweDk0NzAsIDAsIHsweDJkLDB4YzQsMHg0YiwweDM0LDB4ODMsMHgxYywweGMxLDB4YjcsMHgwMiwweDJkLDB4YzAsMHgxYSwweDcwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDk0ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgyMCwweGI0LDB4YzQsMHgyNSwweGEyIH0gfSwKLXsgIDE2LCAweDk0OTAsIDAsIHsweDBiLDB4NzgsMHgwNiwweGRlLDB4MDAsMHg4MywweDgwLDB4MjksMHhlMCwweDFiLDB4ZjgsMHgwMiwweDVlLDB4ODAsMHhhNywweGEwIH0gfSwKLXsgIDE2LCAweDk0YTAsIDAsIHsweDJkLDB4YzgsMHgwYSwweDcyLDB4MDIsMHgxZSwweDAwLDB4YTYsMHg4MCwweDI4LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDk0YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4ZWQsMHgwMCwweGIzLDB4NDAsMHgyNCwweGMzIH0gfSwKLXsgIDE2LCAweDk0YzAsIDAsIHsweDBiLDB4MzAsMHg0MiwweGNjLDB4MDAsMHhhMywweDAwLDB4MjAsMHhjMCwweDFiLDB4MzQsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDk0ZDAsIDAsIHsweDJjLDB4YzAsMHg0YiwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHg4OCwweDJjLDB4ZDQsMHgwYSwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDk0ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGZlLDB4NDAsMHhiNywweGEwIH0gfSwKLXsgIDE2LCAweDk0ZjAsIDAsIHsweDBmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkYSwweDAwLDB4M2EsMHg4MCwweDBmLDB4ZTIsMHgwMywweDY4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweDk1MDAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MGIsMHgyOCwweDAwLDB4ZWUsMHhlMCwweDNmLDB4YjAsMHgwNCwweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDk1MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwNCwweGYwLDB4MDgsMHgzYSwweDEwIH0gfSwKLXsgIDE2LCAweDk1MjAsIDAsIHsweDBmLDB4ODQsMHgwMywweGUwLDB4MTAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDk1MzAsIDAsIHsweDNjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHg4MCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDksMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDk1NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgyMCwweGU5LDB4MDAsMHgzMiwweDQ0IH0gfSwKLXsgIDE2LCAweDk1NTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgxMywweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDk1NjAsIDAsIHsweDFlLDB4NDAsMHgwYywweDEwLDB4MDMsMHgyNCwweDAwLDB4YzksMHhhMCwweDNjLDB4NjQsMHgwYywweDkwLDB4MDMsMHg4MiwweDA0IH0gfSwKLXsgIDE2LCAweDk1NzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDY4IH0gfSwKLXsgIDE2LCAweDk1ODAsIDAsIHsweDA4LDB4MTMsMHgwMiwweDI0LDB4MDgsMHhmOSwweDAwLDB4MmUsMHg0OCwweDFiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDk1OTAsIDAsIHsweDNlLDB4NDAsMHgwYywweDkwLDB4MDIsMHgyNCwweDA4LDB4ZjksMHg0MCwweDJlLDB4NjAsMHgwYSwweDkwLDB4MDYsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDk1YTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDk1YjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAxLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDk1YzAsIDAsIHsweDJlLDB4NDAsMHgwOCwweDkyLDB4MjIsMHgyNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDk1ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjEsMHhlMCwweDUwIH0gfSwKLXsgIDE2LCAweDk1ZTAsIDAsIHsweDI4LDB4MTYsMHgwYSwweDA0LDB4ODAsMHhhMSwweDQwLDB4MmMsMHg0MCwweDRiLDB4MTQsMHgyMiwweGM0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDk1ZjAsIDAsIHsweDJjLDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNCwweDA0LDB4YjEsMHgwMCwweDJjLDB4NDAsMHgwYSwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDk2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGU4LDB4NTAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDk2MTAsIDAsIHsweDhjLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwLDB4M2UsMHgwMCwweDBiLDB4ODAsMHgzMywweGUwLDB4MTAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDk2MjAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDA4LDB4Y2EsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhhZSwweDAzIH0gfSwKLXsgIDE2LCAweDk2MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZmMsMHg0MCwweGZkLDB4MTAsMHgyZiwweDQxIH0gfSwKLXsgIDE2LCAweDk2NDAsIDAsIHsweDRmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg0MCwweDRmLDB4ZDAsMHg2MywweGU1LDB4MDAsMHhmOSwweDQwIH0gfSwKLXsgIDE2LCAweDk2NTAsIDAsIHsweDNhLDB4NTAsMHgyZSwweDk0LDB4MDMsMHg2NSwweDAwLDB4ZWQsMHgwMCwweDNmLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweDk2NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZTYsMHgwMCwweGY5LDB4ZTAsMHgzMywweDUwIH0gfSwKLXsgIDE2LCAweDk2NzAsIDAsIHsweDBjLDB4ZGEsMHgwMywweGE2LDB4MDAsMHhkOSwweDgwLDB4M2YsMHg0MCwweDBmLDB4OTEsMHgwMywweGE2LDB4MDAsMHhmOSwweDg4IH0gfSwKLXsgIDE2LCAweDk2ODAsIDAsIHsweDNlLDB4NjgsMHgwYywweGRlLDB4MDMsMHg2NiwweDAwLDB4ZWQsMHgwMCwweDNiLDB4NjksMHgwYywweDkwLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDk2OTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwOCwweGI4LDB4ZTAsMHgyMCwweDIwIH0gfSwKLXsgIDE2LCAweDk2YTAsIDAsIHsweDE4LDB4OGUsMHgyNiwweGUxLDB4MDAsMHg4MCwweGEwLDB4MmUsMHgwMCwweDRiLDB4ODgsMHg0MiwweGUxLDB4NTAsMHhiOCwweDQwIH0gfSwKLXsgIDE2LCAweDk2YjAsIDAsIHsweDJlLDB4MmEsMHgwZCwweDBhLDB4MDIsMHgyMCwweDA4LDB4YjgsMHgwMCwweDJlLDB4MTQsMHgwZCwweDgwLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDk2YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4NjAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDk2ZDAsIDAsIHsweDA4LDB4MzEsMHhhMiwweGM1LDB4MDAsMHg5MSwweDQ4LDB4MmMsMHg0MCwweDFiLDB4MTIsMHgwMiwweDg0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDk2ZTAsIDAsIHsweDJjLDB4NTAsMHgwOSwweDE2LDB4MDIsMHgwNSwweDAwLDB4YTMsMHgwNCwweDI4LDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDk2ZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTQsMHgwMCwweGI5LDB4MDgsMHgyMCwweDcwIH0gfSwKLXsgIDE2LCAweDk3MDAsIDAsIHsweDI4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDgsMHhiOSwweDAzIH0gfSwKLXsgIDE2LCAweDk3MTAsIDAsIHsweDJjLDB4NDAsMHgyOSwweDkwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMCwweDJlLDB4NjIsMHgwOSwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweDk3MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTUsMHgwMCwweGY5LDB4ZDAsMHhiMiwweDcwIH0gfSwKLXsgIDE2LCAweDk3MzAsIDAsIHsweDA4LDB4OTAsMHgwMywweGU0LDB4MDAsMHhkOSwweDA0LDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAyIH0gfSwKLXsgIDE2LCAweDk3NDAsIDAsIHsweDNlLDB4NDAsMHgwZCwweDkwLDB4MmIsMHg2NCwweDAwLDB4ZTksMHg4ZCwweDNhLDB4NjAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweDk3NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4ODAsMHgzZSwweDQyIH0gfSwKLXsgIDE2LCAweDk3NjAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDk3NzAsIDAsIHsweDNlLDB4NDAsMHgyZiwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgyMiwweDNjLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDk3ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGYwLDB4NDAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDk3OTAsIDAsIHsweDBjLDB4ODAsMHgwMywweGMwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgyMCwweDFmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDk3YTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDIsMHgyMCwweDAwLDB4YzgsMHhjMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDk3YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDE1LDB4MjgsMHgxMCwweGJhLDB4MDAsMHgyMywweGEwIH0gfSwKLXsgIDE2LCAweDk3YzAsIDAsIHsweDBhLDB4ZTQsMHgwMiwweGU4LDB4MDAsMHhiYSwweDAwLDB4MmIsMHhhMSwweDBiLDB4YTAsMHgwMiwweGU4LDB4MDAsMHhhYSwweDAwIH0gfSwKLXsgIDE2LCAweDk3ZDAsIDAsIHsweDJhLDB4ODEsMHgwYSwweGEwLDB4MDMsMHhlOCwweDA4LDB4ZGUsMHgwMCwweDJlLDB4ODAsMHgwYSwweGEwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDk3ZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDQsMHhhMCwweGIxIH0gfSwKLXsgIDE2LCAweDk3ZjAsIDAsIHsweDA4LDB4MzYsMHgyMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhlNCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDk4MDAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDE4LDB4MDIsMHgwYywweDAwLDB4OTEsMHgwMSwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDYsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDk4MTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHhjOCwweGIzLDB4MjEsMHgyMSwweGMyIH0gfSwKLXsgIDE2LCAweDk4MjAsIDAsIHsweDJhLDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweGEwLDB4MjksMHhjMCwweDBiLDB4NzIsMHgwMiwweGNlLDB4MDAsMHhhNywweDgxIH0gfSwKLXsgIDE2LCAweDk4MzAsIDAsIHsweDI5LDB4YzAsMHg0YSwweDc0LDB4MDIsMHhmZSwweDAwLDB4OTcsMHgwMSwweDJjLDB4YzAsMHgwYSwweDcwLDB4MTIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDk4NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MCwweGY3LDB4YzAsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweDk4NTAsIDAsIHsweDBjLDB4NDgsMHgwMywweGRlLDB4MTEsMHhmNywweDgwLDB4MjEsMHhlMCwweDBiLDB4N2EsMHgwMywweGRlLDB4MDAsMHhjMywweDgwIH0gfSwKLXsgIDE2LCAweDk4NjAsIDAsIHsweDMzLDB4ZDgsMHg2YywweDc4LDB4MDMsMHgzZSwweDAwLDB4ZDYsMHg4MCwweDNkLDB4ZTAsMHgwYywweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDk4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDBkLDB4YWMsMHgwOCwweGZiLDB4ODAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDk4ODAsIDAsIHsweDBmLDB4ZDAsMHgwMywweGVjLDB4MDQsMHhmYiwweDNjLDB4M2UsMHhjMCwweDBmLDB4YjYsMHgwNywweDZjLDB4MDEsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDk4OTAsIDAsIHsweDNlLDB4ZDAsMHgwZiwweDk0LDB4MDcsMHhlYywweDAxLDB4ZWEsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweDk4YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4ZmUsMHgwMCwweGNmLDB4YTQsMHgzYiwweDYwIH0gfSwKLXsgIDE2LCAweDk4YjAsIDAsIHsweDA4LDB4ZDksMHgwMywweDdlLDB4MDAsMHhjZiwweDgwLDB4M2YsMHgyNSwweDRmLDB4ZmMsMHg4NywweGJlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweDk4YzAsIDAsIHsweDdmLDB4ZmMsMHgwYywweGZjLDB4MDMsMHg3YywweDAwLDB4ZjYsMHg5MCwweDMzLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDk4ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwOCwweDhmLDB4MjgsMHgyMSwweDQwIH0gfSwKLXsgIDE2LCAweDk4ZTAsIDAsIHsweDA4LDB4ZDAsMHgwMiwweDFjLDB4NDAsMHhhNywweDIwLDB4MzEsMHgwNCwweDFiLDB4NzgsMHgwMiwweGRjLDB4ODAsMHhkNywweDAwIH0gfSwKLXsgIDE2LCAweDk4ZjAsIDAsIHsweDJmLDB4YzQsMHgxYSwweGQwLDB4MDIsMHgxZSwweDQ4LDB4YjYsMHgwMCwweDYxLDB4YzAsMHgwYiwweDcwLDB4MDYsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDk5MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGMsMHgwMCwweDg3LDB4MzAsMHg2OSwweDQ0IH0gfSwKLXsgIDE2LCAweDk5MTAsIDAsIHsweDA4LDB4NTAsMHgyMiwweDBjLDB4MDAsMHg4NywweDAxLDB4MmQsMHg0NCwweDhiLDB4NzAsMHgwNiwweDhjLDB4MTAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweDk5MjAsIDAsIHsweDI5LDB4YzksMHgwOCwweDUwLDB4MDIsMHgxYywweDQ0LDB4YTYsMHgwMCwweDYxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDk5MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2QsMHgwMCwweDgzLDB4ODgsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweDk5NDAsIDAsIHsweDAwLDB4MTAsMHgwMiwweDRjLDB4MDAsMHgyYiwweDAwLDB4MmMsMHg0MSwweDFiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweDk5NTAsIDAsIHsweDJjLDB4YzAsMHgwYSwweDMwLDB4NDIsMHgwYywweDAwLDB4YjIsMHg0MCwweDIwLDB4ZjEsMHgwYiwweDMwLDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweDk5NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmQsMHg0MSwweGNmLDB4YzAsMHhiYSwweGYwIH0gfSwKLXsgIDE2LCAweDk5NzAsIDAsIHsweDI4LDB4OTAsMHgxYiwweDZjLDB4MDgsMHhjZiwweDAwLDB4MmMsMHhjMCwweDBmLDB4ZjAsMHgwMywweGFjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweDk5ODAsIDAsIHsweDNmLDB4YzAsMHg2YywweGIwLDB4NGIsMHgyYywweDAxLDB4ZmIsMHg0MCwweDIyLDB4YzgsMHgwZiwweGIwLDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDk5OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwNCwweGZiLDB4MDQsMHgzZiwweGQ0IH0gfSwKLXsgIDE2LCAweDk5YTAsIDAsIHsweDBmLDB4MTAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHhjMCwweDVmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDA0IH0gfSwKLXsgIDE2LCAweDk5YjAsIDAsIHsweDNlLDB4YzAsMHg0ZiwweDEwLDB4MTMsMHhlYywweDAwLDB4ZmIsMHg4OCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDk5YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGM3LDB4MDAsMHgzMywweDYyIH0gfSwKLXsgIDE2LCAweDk5ZDAsIDAsIHsweDBjLDB4YzAsMHgwYiwweDNjLDB4MDAsMHhlZiwweDAwLDB4MzMsMHhlMCwweDFjLDB4ZjAsMHgxMywweDNjLDB4MDgsMHhmNywweDAwIH0gfSwKLXsgIDE2LCAweDk5ZTAsIDAsIHsweDMxLDB4YzAsMHgwZSwweGQ4LDB4MDMsMHhiYywweDAwLDB4ZmUsMHgwMCwweDNkLDB4YzYsMHgwYywweGYwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweDk5ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgwMCwweGNiLDB4MDMsMHgyMiwweDQ3IH0gfSwKLXsgIDE2LCAweDlhMDAsIDAsIHsweDA4LDB4OTgsMHg0MiwweDJjLDB4MDAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDBhLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDA0IH0gfSwKLXsgIDE2LCAweDlhMTAsIDAsIHsweDJhLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhYywweDA4LDB4ZmEsMHgwMCwweDJlLDB4NjAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDQwIH0gfSwKLXsgIDE2LCAweDlhMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDlhMzAsIDAsIHsweDA4LDB4OTgsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MjIsMHg4OCwweDA4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDlhNDAsIDAsIHsweDIyLDB4YzAsMHg4YSwweDkyLDB4MDIsMHhhYywweDAwLDB4YWEsMHg4MCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDYsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDlhNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4MDAsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweDlhNjAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjgsMHg4MCwweDBhLDB4MzIsMHgxMiwweDBjLDB4MDAsMHhiMywweDA0IH0gfSwKLXsgIDE2LCAweDlhNzAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDMwLDB4MjIsMHg4YywweDIwLDB4YjIsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDlhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMiwweGNiLDB4MDAsMHgzMCwweDQwIH0gfSwKLXsgIDE2LCAweDlhOTAsIDAsIHsweDFjLDB4OTQsMHgwMywweDJjLDB4MDAsMHhlZiwweDAwLDB4MzIsMHhjMCwweDg4LDB4ZjAsMHg4YiwweDJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDlhYTAsIDAsIHsweDMzLDB4YzAsMHhhZSwweGYwLDB4MDMsMHhhYywweDgwLDB4ZWEsMHgwMSwweDNlLDB4YzAsMHgyYywweGIwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweDlhYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgyZiwweDQwIH0gfSwKLXsgIDE2LCAweDlhYzAsIDAsIHsweDA3LDB4ZDIsMHg4MywweGZjLDB4MDAsMHhkZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4YjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDlhZDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGQwLDB4MGIsMHhlYywweDAwLDB4ZWUsMHgwMCwweDNmLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweDlhZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjUsMHgwMCwweGNmLDB4MDgsMHgzZiwweDQ4IH0gfSwKLXsgIDE2LCAweDlhZjAsIDAsIHsweDBmLDB4YzMsMHg5MywweDcwLDB4ZDAsMHhkYywweDMwLDB4M2YsMHhkOCwweDBjLDB4YjIsMHgwMywweDNjLDB4YzAsMHhmZiwweDQwIH0gfSwKLXsgIDE2LCAweDliMDAsIDAsIHsweDMzLDB4YzQsMHgyYywweGYxLDB4MDMsMHg2MiwweDUwLDB4ZmMsMHgzNCwweDMzLDB4MDAsMHgwZiwweDVjLDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDliMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4YzQsMHg4MCwweDhiLDB4MDAsMHgyZiwweDVhIH0gfSwKLXsgIDE2LCAweDliMjAsIDAsIHsweDBiLDB4YTYsMHgxMiwweDIxLDB4YzAsMHg4OSwweDcwLDB4MmYsMHhkYywweDA4LDB4ZjIsMHhjMiwweDNkLDB4ZDAsMHhiZiwweDQwIH0gfSwKLXsgIDE2LCAweDliMzAsIDAsIHsweDM3LDB4ZGMsMHg4OCwweGY1LDB4MGEsMHgyMCwweDgwLDB4ZTgsMHgxMCwweDJhLDB4MTYsMHgwYiwweDkwLDB4MDIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweDliNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHgwMCwweDgzLDB4MDgsMHgyYywweDQ0IH0gfSwKLXsgIDE2LCAweDliNTAsIDAsIHsweDBiLDB4MDIsMHgwMiwweDBjLDB4MDAsMHg4MCwweDAwLDB4MmMsMHhjOCwweDA4LDB4MzMsMHg0MiwweDhjLDB4OTAsMHhiMywweDMwIH0gfSwKLXsgIDE2LCAweDliNjAsIDAsIHsweDI4LDB4YzgsMHg0YSwweDMyLDB4MTIsMHg4MCwweDBjLDB4YjAsMHhhMCwweDI4LDB4MjgsMHgwYiwweDEyLDB4MDIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweDliNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTIsMHgwMCwweDhiLDB4MDAsMHgyZSwweDQ4IH0gfSwKLXsgIDE2LCAweDliODAsIDAsIHsweDBiLDB4YTAsMHgyMiwweDIwLDB4MjAsMHg4OCwweDgwLDB4MmUsMHhjMCwweDI4LDB4YjAsMHgwYSwweGFjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDliOTAsIDAsIHsweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhMCwweDAwLDB4YWIsMHg4MiwweDJhLDB4YTAsMHgwYiwweGIyLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweDliYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTcsMHgwMCwweGNiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDliYjAsIDAsIHsweGNmLDB4OWMsMHgwYiwweDIxLDB4MDAsMHhkOCwweDg4LDB4M2UsMHhjMCwweDBjLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDliYzAsIDAsIHsweDNhLDB4YzAsMHgwZSwweGIwLDB4NDMsMHhlOCwweDQwLDB4ZjgsMHg4MCwweDNhLDB4NjAsMHgwZiwweDk4LDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDliZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjQsMHgwMCwweGZmLDB4MDAsMHgwZiwweGUwIH0gfSwKLXsgIDE2LCAweDliZTAsIDAsIHsweDA3LDB4YTEsMHgwMywweGU4LDB4MDIsMHhmYiwweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgyMywweDdjLDB4MDAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweDliZjAsIDAsIHsweDM1LDB4YzAsMHg0ZCwweGIwLDB4MDMsMHg3NCwweDIwLDB4ZmMsMHgwMSwweDNmLDB4MDAsMHgwZiwweGY4LDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDljMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTUsMHgwMCwweGNiLDB4MDAsMHhiYSwweDQwIH0gfSwKLXsgIDE2LCAweDljMTAsIDAsIHsweDBjLDB4MTQsMHgwYiwweDJmLDB4MjIsMHhjOSwweDQwLDB4MzIsMHhjMCwweDhlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDljMjAsIDAsIHsweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDMyLDB4MDAsMHgyYywweDkwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweDljMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDAxLDB4MjQsMHgwMCwweDhmLDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweDljNDAsIDAsIHsweDJjLDB4YTUsMHg0MiwweDI5LDB4MDAsMHg4YiwweDA0LDB4YTMsMHhjMSwweDBkLDB4ZjAsMHgwYSwweDNjLDB4MDAsMHhiZiwweDAwIH0gfSwKLXsgIDE2LCAweDljNTAsIDAsIHsweDNmLDB4YzAsMHgwOCwweGYwLDB4MDEsMHg2OSwweDAwLDB4ZGEsMHgwNSwweDIyLDB4ZDAsMHgwOCwweDk0LDB4MDMsMHg3MiwweDAwIH0gfSwKLXsgIDE2LCAweDljNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjAsMHg0MCwweDgzLDB4MDEsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweDljNzAsIDAsIHsweDA5LDB4MDAsMHgwMiwweDIwLDB4MDAsMHg4MiwweDYwLDB4MjIsMHhjMCwweDA4LDB4MzAsMHg0MiwweDRjLDB4MTAsMHhiYiwweDAyIH0gfSwKLXsgIDE2LCAweDljODAsIDAsIHsweDJjLDB4YzAsMHgwOCwweGIwLDB4MTIsMHgwNSwweDAwLDB4OWIsMHgwMCwweDIwLDB4ODIsMHgwOSwweDMyLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweDljOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTYsMHg5MCwweDg3LDB4ODAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweDljYTAsIDAsIHsweDA4LDB4NTgsMHgwMiwweDE2LDB4MTQsMHg4NCwweDgxLDB4MjEsMHhlMCwweDI5LDB4MzksMHgwMiwweDVlLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweDljYjAsIDAsIHsweDI4LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHg3YSwweDgwLDB4OTYsMHg4MSwweDIxLDB4ZTAsMHgwOSwweGY4LDB4MDIsMHg0OCwweDAwIH0gfSwKLXsgIDE2LCAweDljYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwOSwweDhiLDB4MTAsMHgzOCwweDQ0IH0gfSwKLXsgIDE2LCAweDljZDAsIDAsIHsweDRkLDB4MjUsMHgxMiwweDBjLDB4MDAsMHhjMiwweDEwLDB4MjIsMHhjOCwweDBhLDB4MzgsMHgwMywweGNjLDB4MDAsMHhmMywweDEwIH0gfSwKLXsgIDE2LCAweDljZTAsIDAsIHsweDJjLDB4YzAsMHgwYywweDMwLDB4MDMsMHg4YSwweGMwLDB4ZDksMHgxMCwweDMyLDB4NDAsMHgyZCwweDEwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweDljZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHg4MCwweGZmLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweDlkMDAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGY0LDB4NDAsMHhlZCwweDAwLDB4M2YsMHhjMCwweDBlLDB4ZjMsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDlkMTAsIDAsIHsweDNmLDB4YzIsMHgwZiwweGYwLDB4MGIsMHhkNCwweDAwLDB4ZmYsMHgxMCwweGJmLDB4ODAsMHgwZSwweGYwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDlkMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZmEsMHgwMCwweGNiLDB4MDIsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDlkMzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGEwLDB4MDAsMHhjYiwweDAwLDB4M2EsMHhjYSwweDBjLDB4YjMsMHgxMywweGFmLDB4MjQsMHhjYiwweDQ4IH0gfSwKLXsgIDE2LCAweDlkNDAsIDAsIHsweDFlLDB4YzgsMHgwZiwweGI2LDB4MDMsMHgyYywweDAwLDB4ZmEsMHgwMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDlkNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwOCwweDg3LDB4MjAsMHgyZCwweGM0IH0gfSwKLXsgIDE2LCAweDlkNjAsIDAsIHsweDBiLDB4NTAsMHgxMiwweGRjLDB4MDQsMHg4NywweDAwLDB4MmMsMHhjMCwweDA4LDB4NzAsMHhhMiwweDFkLDB4MDAsMHhhNywweDQwIH0gfSwKLXsgIDE2LCAweDlkNzAsIDAsIHsweDI1LDB4Y2IsMHg4YiwweDc0LDB4ODIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJkLDB4YzEsMHgwYiwweDcwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDlkODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgwMSwweDg3LDB4OTAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweDlkOTAsIDAsIHsweDBiLDB4NzgsMHgwMiwweGNlLDB4MDAsMHg4NiwweDgwLDB4MmQsMHhlNCwweDI5LDB4N2EsMHgwMiwweDllLDB4ODAsMHg4NywweGEwIH0gfSwKLXsgIDE2LCAweDlkYTAsIDAsIHsweDZkLDB4ZTgsMHgwYiwweDc4LDB4MDIsMHgxZSwweDAwLDB4YjUsMHg4MCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDlkYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2QsMHgwMCwweDgzLDB4MDIsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweDlkYzAsIDAsIHsweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4MywweGUwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweDlkZDAsIDAsIHsweDI0LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgwZSwweDIwLDB4YjMsMHgwOCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDlkZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHg4MiwweGNhLDB4MDAsMHgzZSwweGE4IH0gfSwKLXsgIDE2LCAweDlkZjAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGY4LDB4MDIsMHg4ZSwweDgwLDB4M2UsMHg4MCwweDBkLDB4YTAsMHg1YiwweGE4LDB4MDAsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDllMDAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgzYiwweDgwLDB4ZmUsMHg0MiwweDJmLDB4ODAsMHgwZiwweGE4LDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDllMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgyMCwweGY4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweDllMjAsIDAsIHsweDBmLDB4MDYsMHgwMywweGMwLDB4MDAsMHhmOCwweDExLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDllMzAsIDAsIHsweDM2LDB4MDAsMHgwZiwweDgwLDB4MGIsMHhlMCwweDAwLDB4ZjgsMHgwNCwweDNlLDB4MjAsMHgwZiwweDgxLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDllNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDllNTAsIDAsIHsweDBjLDB4OWEsMHgwMywweDI0LDB4NDAsMHhjOSwweGMwLDB4M2UsMHg0MCwweDRjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDllNjAsIDAsIHsweDM2LDB4NDAsMHgwNywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHgwNCwweDMyLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweDllNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MDIsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweDllODAsIDAsIHsweDBhLDB4OTIsMHgwMiwweDI1LDB4MDIsMHg4OSwweGUwLDB4MmUsMHg0MCwweDk4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDllOTAsIDAsIHsweDIyLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDIyLDB4NDQsMHgwYiwweDljLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDllYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweDllYjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MjgsMHg4OSwweDAwLDB4MmMsMHg0MCwweDY4LDB4OTAsMHg0MiwweDI0LDB4MGMsMHhiMSwweDA0IH0gfSwKLXsgIDE2LCAweDllYzAsIDAsIHsweDI2LDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyYywweDgwLDB4ODEsMHgwMCwweDIyLDB4NDAsMHhjYiwweDkyLDB4ODIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDllZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweGIxLDB4MjAsMHgyYywweDQ4IH0gfSwKLXsgIDE2LCAweDllZTAsIDAsIHsweDBhLDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIxLDB4MmMsMHg0YywweDA4LDB4MTEsMHgwMiwweDA0LDB4MDgsMHhiMSwweDEwIH0gfSwKLXsgIDE2LCAweDllZjAsIDAsIHsweDIwLDB4NGMsMHgwOSwweDEyLDB4MDIsMHgyNCwweDAxLDB4OTEsMHgyMCwweGEwLDB4NDgsMHgwYiwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDlmMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NDEsMHhlMCwweGY4LDB4NTAsMHgzZSwweDE0IH0gfSwKLXsgIDE2LCAweDlmMTAsIDAsIHsweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhjOCwweDUwLDB4M2UsMHgxMCwweDA4LDB4MDYsMHg4MywweDAxLDB4ZjAsMHhmOCwweDY4IH0gfSwKLXsgIDE2LCAweDlmMjAsIDAsIHsweDM2LDB4MTAsMHgwZiwweDA1LDB4MDMsMHgyOSwweDQwLDB4YzgsMHg1MCwweDMyLDB4OTQsMHgwZiwweDg1LDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweDlmMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHgwMCwweGY5LDB4MTAsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweDlmNDAsIDAsIHsweDBmLDB4ZDEsMHgwYiwweGY0LDB4NDAsMHhmZCwweDEyLDB4MmUsMHg0YywweDAzLDB4OTIsMHgwYiwweGU0LDB4MDAsMHhmOSwweDIwIH0gfSwKLXsgIDE2LCAweDlmNTAsIDAsIHsweDNlLDB4NGMsMHgwZiwweDkxLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgxMCwweDNmLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweDlmNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgyMCwweGM5LDB4MDEsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDlmNzAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDNjLDB4MDAsMHhiZCwweDAwLDB4MzIsMHg2MywweDBjLDB4OWUsMHg0MywweDI3LDB4MDAsMHhlOSwweGMwIH0gfSwKLXsgIDE2LCAweDlmODAsIDAsIHsweDNlLDB4NjgsMHgwYywweDk4LDB4MDMsMHgzNCwweDAwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDlmOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4YzIsMHgyMCwweGQ4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweDlmYTAsIDAsIHsweDBiLDB4ODAsMHg1MiwweDI4LDB4MDQsMHhiOCwweDAwLDB4MjIsMHgzOCwweDA4LDB4ODgsMHgwMywweDYyLDB4MDAsMHg4OCwweGYwIH0gfSwKLXsgIDE2LCAweDlmYjAsIDAsIHsweDJlLDB4M2EsMHg0OCwweDhmLDB4MGEsMHgyMCwweDAwLDB4YjAsMHg4MCwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDlmYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweDgxLDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweDlmZDAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MjAsMHg0MiwweDQ4LDB4MTQsMHg0MiwweDA1LDB4ODAsMHhhMSwweDIwIH0gfSwKLXsgIDE2LCAweDlmZTAsIDAsIHsweDJjLDB4NDQsMHgwOCwweDEwLDB4ODIsMHgwNCwweDAwLDB4YjEsMHgyMCwweDJjLDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDlmZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTUsMHgwMSwweDk5LDB4MDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGEwMDAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI0LDB4NDAsMHhiYiwweDAxLDB4MjIsMHg0MSwweDA4LDB4OTAsMHgxMiwweDI0LDB4MDAsMHhhOSwweDAwIH0gfSwKLXsgIDE2LCAweGEwMTAsIDAsIHsweDJjLDB4NDAsMHgwOCwweDEwLDB4NDAsMHgyNCwweDA4LDB4YjksMHg0MCwweDZlLDB4NTAsMHgwYiwweDkyLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGEwMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHgxNCwweGM5LDB4MDUsMHgzZSwweDQxIH0gfSwKLXsgIDE2LCAweGEwMzAsIDAsIHsweDBmLDB4OTAsMHgwYiwweDI0LDB4MDQsMHhmOSwweDA4LDB4YjIsMHg0MCwweDJjLDB4OTAsMHgwYSwweDI0LDB4MDAsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweGEwNDAsIDAsIHsweDNlLDB4NDAsMHgyYywweDkwLDB4MDMsMHgyNywweDAwLDB4ZjksMHg4MCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGEwNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4ODQsMHg4OCwweGY5LDB4MDAsMHgzZSwweDQ4IH0gfSwKLXsgIDE2LCAweGEwNjAsIDAsIHsweDBmLDB4OTksMHgwMywweGU2LDB4MDAsMHhmOSwweDAyLDB4M2MsMHg0MCwweGFmLDB4MTAsMHgwMywweGU0LDB4MTIsMHhkOSwweDA0IH0gfSwKLXsgIDE2LCAweGEwNzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNSwweDAwLDB4ZjksMHhjMCwweDNlLDB4NjQsMHgwZiwweDkwLDB4ODMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGEwODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGEwOTAsIDAsIHsweDBmLDB4ODAsMHgwMywweDIxLDB4MDAsMHhjOCwweDQwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MTAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGEwYTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDgwLDB4ZjgsMHgwNCwweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGEwYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweGNhLDB4MDAsMHgyZSwweDgwIH0gfSwKLXsgIDE2LCAweGEwYzAsIDAsIHsweDBiLDB4ZTgsMHgwYSwweDM4LDB4MTAsMHg4ZSwweGMwLDB4MjIsMHg4MCwweDBkLDB4YTAsMHgwMiwweDI4LDB4MDAsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGEwZDAsIDAsIHsweDAyLDB4ODAsMHgyOCwweGEwLDB4MDIsMHhmYiwweDAwLDB4YmEsMHgwMCwweDM3LDB4YjAsMHg0OCwweGVhLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGEwZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDEsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGEwZjAsIDAsIHsweDhiLDB4YjAsMHg0MiwweDBjLDB4OTAsMHg5YiwweDIwLDB4MjAsMHhjMCwweDQ4LDB4MzAsMHg0MiwweDJjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGExMDAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjZCwweDQwLDB4YjMsMHgwMCwweDI0LDB4YzgsMHgwOCwweDM4LDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGExMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTQsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGExMjAsIDAsIHsweDBiLDB4MjQsMHgwNiwweDE2LDB4MDAsMHg5MywweDA4LDB4MjEsMHhjOCwweDA5LDB4MzEsMHgwMiwweDBjLDB4ODAsMHg4NywweGEwIH0gfSwKLXsgIDE2LCAweGExMzAsIDAsIHsweDIxLDB4YzAsMHgxOCwweDcyLDB4MDIsMHhkYywweDAwLDB4YjcsMHhiNCwweDI0LDB4ZTMsMHgwOCwweDc4LDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGExNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMiwweDk3LDB4YTAsMHgzZCwweGYwIH0gfSwKLXsgIDE2LCAweGExNTAsIDAsIHsweDBmLDB4NDgsMHgwMywweDNlLDB4MDAsMHhkNiwweDgwLDB4MzAsMHhlMCwweDJjLDB4N2EsMHgwMiwweDFlLDB4ODIsMHhjMywweGYwIH0gfSwKLXsgIDE2LCAweGExNjAsIDAsIHsweDMzLDB4ZWMsMHgwYywweDdjLDB4MDMsMHhkNiwweDAwLDB4ZjcsMHg4MCwweDM1LDB4ZTAsMHgwYywweGQ4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGExNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE5LDB4YTUsMHhhMCwweGZiLDB4MDAsMHgzZSwweGNhIH0gfSwKLXsgIDE2LCAweGExODAsIDAsIHsweDBmLDB4ODAsMHgwMywweGVjLDB4MDIsMHhlYSwweDAwLDB4M2UsMHhjNiwweDBmLDB4YjQsMHgwYiwweGVkLDB4NDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGExOTAsIDAsIHsweGJlLDB4YzAsMHgwZiwweGI2LDB4NDMsMHhlMCwweDAwLDB4ZmIsMHgwMiwweDNlLDB4ODAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGExYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMiwweGNmLDB4ODgsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGExYjAsIDAsIHsweDBjLDB4YjksMHgwMywweGZlLDB4MDAsMHhkZCwweDgxLDB4MzMsMHhlMCwweDhjLDB4ZmMsMHgwMywweDNmLDB4MDQsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGExYzAsIDAsIHsweDMzLDB4ZTIsMHg0ZiwweGZjLDB4MDMsMHgzZSwweDAwLDB4Y2YsMHhjMCwweDMzLDB4NjQsMHgwYywweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGExZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OTQsMHg0MCwweDg3LDB4MDAsMHgyZiwweGMxIH0gfSwKLXsgIDE2LCAweGExZTAsIDAsIHsweDBkLDB4NjksMHhhMiwweGQwLDB4NDAsMHhiYywweDAwLDB4MjMsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDljLDB4MDAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGExZjAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcwLDB4MGEsMHgzYywweDA0LDB4ODcsMHgxMCwweDIxLDB4NGMsMHgwOCwweDYwLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGEyMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWUsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGEyMTAsIDAsIHsweDA5LDB4NjIsMHgwMiwweGQ4LDB4MDAsMHg5NywweDAwLDB4MjEsMHhjNCwweDA4LDB4NzAsMHgwMiwweDBjLDB4NDAsMHg5NywweDAwIH0gfSwKLXsgIDE2LCAweGEyMjAsIDAsIHsweDIxLDB4YzQsMHgwYiwweDMwLDB4MDIsMHg1OCwweDAwLDB4YTcsMHgwOCwweDIxLDB4ODAsMHgwOCwweDYwLDB4ODIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGEyMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4ZTQsMHgyNSwweDgzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGEyNDAsIDAsIHsweDA5LDB4MjIsMHgwMiwweGNjLDB4MjAsMHhiMiwweDAwLDB4MjAsMHhjMCwweDI4LDB4YjAsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGEyNTAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4NDIsMHg2YywweDIwLDB4ODMsMHgwOCwweDIwLDB4ZTIsMHgwOCwweGI4LDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGEyNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTQsMHgwMCwweGNmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGEyNzAsIDAsIHsweDBkLDB4OWMsMHgwMywweGU4LDB4MDAsMHhkYiwweDgwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwYiwweDNjLDB4MDYsMHhkZiwweDAwIH0gfSwKLXsgIDE2LCAweGEyODAsIDAsIHsweGIzLDB4YzAsMHgwYiwweGYwLDB4MDcsMHg2OCwweDAwLDB4ZWYsMHg0MCwweDMyLDB4YTgsMHgwYywweGE4LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGEyOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGEyYTAsIDAsIHsweDBmLDB4OTQsMHgwMywweGM1LDB4NDAsMHhmYSwweDMwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGEyYjAsIDAsIHsweDNlLDB4YzAsMHgwZiwweDMwLDB4MTMsMHhhZCwweDQwLDB4ZmIsMHgwMiwweDNlLDB4ZDAsMHgwZiwweGI0LDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGEyYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZTQsMHgwMCwweGM3LDB4MDAsMHgzMSwweGMxIH0gfSwKLXsgIDE2LCAweGEyZDAsIDAsIHsweDhjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhjZCwweDAwLDB4M2QsMHhjMCwweDBjLDB4ZjAsMHgwMSwweDdjLDB4MDAsMHhkYiwweDAxIH0gfSwKLXsgIDE2LCAweGEyZTAsIDAsIHsweDNkLDB4YzAsMHg0YywweGYwLDB4MGIsMHgzMCwweDAyLDB4YzMsMHgwMCwweDMyLDB4MDAsMHgwZiwweGQwLDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGEyZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmUsMHg0MCwweDhiLDB4MDAsMHgyYSwweGMwIH0gfSwKLXsgIDE2LCAweGEzMDAsIDAsIHsweDI4LDB4ODQsMHg0MiwweDIyLDB4ODAsMHg4OCwweDgwLDB4M2EsMHhjMCwweDBkLDB4YjAsMHgwMiwweGFjLDB4MDgsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGEzMTAsIDAsIHsweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyMywweDIwLDB4OGIsMHgwMCwweDIyLDB4MzAsMHg4YiwweDhjLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGEzMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjQsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGEzMzAsIDAsIHsweDA4LDB4MzgsMHg4NiwweDJhLDB4MDAsMHg4OSwweDgwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGNjLDB4MDAsMHg5YiwweDAwIH0gfSwKLXsgIDE2LCAweGEzNDAsIDAsIHsweDJlLDB4YzAsMHgwOCwweGIwLDB4NDIsMHgyNiwweDAwLDB4OGIsMHgwMCwweDIyLDB4NzEsMHgwYiwweDhjLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGEzNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyOCwweGMwIH0gfSwKLXsgIDE2LCAweGEzNjAsIDAsIHsweDA4LDB4MzIsMHg0MiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MjgsMHhjMCwweDA5LDB4MzAsMHg1MiwweDhjLDB4MDgsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGEzNzAsIDAsIHsweDJjLDB4YzAsMHgxOCwweDMwLDB4MDYsMHgwMCwweDAwLDB4ODMsMHgwMCwweGEwLDB4MDAsMHgwYiwweDAwLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGEzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NzQsMHgwMiwweDhiLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGEzOTAsIDAsIHsweDBjLDB4OTIsMHgwYiwweDIwLDB4MDIsMHhjOCwweDAwLDB4M2IsMHhjMCwweDBjLDB4ZjUsMHgwMywweGZjLDB4MDAsMHhkZiwweDAxIH0gfSwKLXsgIDE2LCAweGEzYTAsIDAsIHsweDNmLDB4YzEsMHgwNCwweGYwLDB4MzMsMHgyMSwweDQwLDB4Y2YsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MGIsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGEzYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGEzYzAsIDAsIHsweDBmLDB4YzQsMHgwMywweGYwLDB4MDAsMHg5YywweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGEzZDAsIDAsIHsweDJmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDgwLDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGEzZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHhjMCwweGZmLDB4YTAsMHgzMSwweDI0IH0gfSwKLXsgIDE2LCAweGEzZjAsIDAsIHsweDBlLDB4ZjAsMHg2MywweDEwLDB4MDQsMHhlZiwweDY0LDB4M2YsMHhjMCwweDRjLDB4ZjMsMHgwMywweDFjLDB4ODAsMHhkZiwweDA4IH0gfSwKLXsgIDE2LCAweGE0MDAsIDAsIHsweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmMCwweGEwLDB4ZmMsMHgwMCwweDMxLDB4MDgsMHgyYywweGQyLDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGE0MTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTEsMHgwMCwweGJiLDB4YzEsMHgyMiwweDQ4IH0gfSwKLXsgIDE2LCAweGE0MjAsIDAsIHsweDA4LDB4ZmQsMHgwMiwweDJlLDB4MDAsMHg5NywweDAwLDB4MmYsMHhjMiwweDQ4LDB4NzEsMHgyMywweDdlLDB4NDAsMHhiZiwweDAwIH0gfSwKLXsgIDE2LCAweGE0MzAsIDAsIHsweDIxLDB4YzUsMHg0YiwweGY1LDB4MDIsMHhlZiwweDAwLDB4YmIsMHg0MCwweDM2LDB4ZTAsMHgwOCwweGE4LDB4MDIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweGE0NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzUsMHg4NCwweGIzLDB4MTEsMHhhMiwweGM5IH0gfSwKLXsgIDE2LCAweGE0NTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDAwLDB4MDEsMHhiMywweDMwLDB4MjgsMHhjNCwweDA4LDB4MzIsMHg0MiwweDBjLDB4MDAsMHhhMywweDA4IH0gfSwKLXsgIDE2LCAweGE0NjAsIDAsIHsweGEwLDB4Y2EsMHgwYSwweDMyLDB4ODIsMHg4MCwweDEwLDB4YjAsMHg0MSwweDI0LDB4MTEsMHgwOCwweDMxLDB4MDIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweGE0NzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTUsMHgwMCwweGJiLDB4MDAsMHgyMiwweGUxIH0gfSwKLXsgIDE2LCAweGE0ODAsIDAsIHsweDI4LDB4YjAsMHgwMiwweDJjLDB4ODAsMHg5YiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGE0OTAsIDAsIHsweDIyLDB4YzAsMHgwYiwweGIwLDB4MDAsMHhlYywweDIwLDB4YmIsMHgwMCwweDI2LDB4YzAsMHgwOCwweDgwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGE0YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTMsMHg0MCwweGY3LDB4MDQsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGE0YjAsIDAsIHsweDRlLDB4YjAsMHgyMywweDJlLDB4MjAsMHhlYiwweDAwLDB4MWUsMHhjMCwweDBjLDB4YjAsMHgwMSwweDJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGE0YzAsIDAsIHsweDM2LDB4YzAsMHgxZiwweGIwLDB4MDMsMHhlMSwweDQwLDB4ZmIsMHgwMCwweDM2LDB4OTgsMHgwYywweDkwLDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweGE0ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjYsMHgwNCwweGZmLDB4MDIsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGE0ZTAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGZlLDB4MDAsMHhlZiwweDAyLDB4M2QsMHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGE0ZjAsIDAsIHsweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZjQsMHgwMCwweDNiLDB4NDAsMHgwZiwweGEwLDB4MTMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGE1MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWEsMHgyMCwweGViLDB4MTAsMHgzNiwweGMwIH0gfSwKLXsgIDE2LCAweGE1MTAsIDAsIHsweDBkLDB4YjAsMHgwNywweGVjLDB4MjAsMHhkYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwMiwweDZjLDB4MjAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGE1MjAsIDAsIHsweDNlLDB4YzEsMHgwZCwweGIwLDB4MDMsMHhlMCwweDIwLDB4ZGIsMHhhMCwweDMyLDB4OTAsMHg0YywweGIwLDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGE1MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmQsMHgwMCwweDhmLDB4ODAsMHgyMCwweGMxIH0gfSwKLXsgIDE2LCAweGE1NDAsIDAsIHsweDA4LDB4NzAsMHgxMiwweGNmLDB4MDAsMHg4ZiwweDAwLDB4YTMsMHhjMCwweDBkLDB4ZjAsMHgwMiwweDNjLDB4MDAsMHg4ZiwweDAwIH0gfSwKLXsgIDE2LCAweGE1NTAsIDAsIHsweDM3LDB4YzAsMHg4OCwweGYwLDB4MDIsMHhlYywweDAwLDB4ODgsMHgwMCwweDIwLDB4NDAsMHgwOCwweDgwLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGE1NjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGEzLDB4ODAsMHgyNCwweDgxIH0gfSwKLXsgIDE2LCAweGE1NzAsIDAsIHsweDA5LDB4MzAsMHgwNiwweGNjLDB4NDAsMHg5MywweDAwLDB4MjgsMHhjMSwweDA4LDB4YjAsMHgwMiwweGNmLDB4NDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGE1ODAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjZCwweDAwLDB4OTAsMHg0MCwweDYwLDB4NDAsMHgyOCwweDEwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGE1OTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MGUsMHgwMCwweDg3LDB4ODAsMHgyMywweGUwIH0gfSwKLXsgIDE2LCAweGE1YTAsIDAsIHsweDQ4LDB4NzksMHgwMiwweGRlLDB4NDEsMHg5NywweDgwLDB4MjksMHhlMCwweDE5LDB4NzgsMHgwNiwweDllLDB4MDAsMHg4NywweDgwIH0gfSwKLXsgIDE2LCAweGE1YjAsIDAsIHsweDI1LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhkMiwweDAzLDB4ODMsMHg4MCwweDIxLDB4YTAsMHgwOCwweDY4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGE1YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGEzLDB4MDAsMHgzNCwweGMwIH0gfSwKLXsgIDE2LCAweGE1ZDAsIDAsIHsweDBkLDB4MzAsMHg0MiwweGNjLDB4MDEsMHhkMywweDEwLDB4M2EsMHhjNSwweDBjLDB4MzksMHgwMywweGNjLDB4MDAsMHhlMywweDA0IH0gfSwKLXsgIDE2LCAweGE1ZTAsIDAsIHsweDNjLDB4YzQsMHgwZCwweDMwLDB4MDMsMHhjZSwweDAwLDB4ZDAsMHgwMCwweDMwLDB4NDAsMHgwYywweDMwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgwMCwweGY3LDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGE2MDAsIDAsIHsweDFmLDB4ZjAsMHg1MywweGZjLDB4MDAsMHhlZiwweDA4LDB4MzcsMHhkMSwweDBmLDB4ZjAsMHg4MywweDdjLDB4MDAsMHhmNywweDQwIH0gfSwKLXsgIDE2LCAweGE2MTAsIDAsIHsweDNmLDB4YzEsMHgwZiwweGYxLDB4MDMsMHhkMCwweDAwLDB4ZmYsMHgwMCwweGJmLDB4ODQsMHgwZiwweGM4LDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGE2MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGUwIH0gfSwKLXsgIDE2LCAweGE2MzAsIDAsIHsweDJjLDB4YmUsMHg4MywweGVjLDB4MDAsMHhlYiwweDQwLDB4M2UsMHhjMCwweDBmLDB4YjQsMHgwMywweGVkLDB4MjAsMHhmYiwweDEwIH0gfSwKLXsgIDE2LCAweGE2NDAsIDAsIHsweGI2LDB4ZDIsMHgwZiwweGI0LDB4ODMsMHhlYywweDAwLDB4ZGIsMHg4MCwweDM2LDB4YzEsMHgwYywweDkwLDB4MjEsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGE2NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwMCwweGI3LDB4MDAsMHgyZiwweGMwIH0gfSwKLXsgIDE2LCAweGE2NjAsIDAsIHsweDA4LDB4MzYsMHgwMiwweDBjLDB4MDgsMHg4NywweDMwLDB4MmQsMHhkOSwweDhiLDB4NzIsMHg4NiwweGRkLDB4MDAsMHhiMywweDIwIH0gfSwKLXsgIDE2LCAweGE2NzAsIDAsIHsweDIxLDB4YzgsMHgwYiwweDc0LDB4MDIsMHhkMCwweDAyLDB4ODQsMHgwMCwweGEwLDB4MDAsMHgyOCwweDIwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGE2ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGE2OTAsIDAsIHsweDA4LDB4N2EsMHgwMiwweDlkLDB4MDAsMHhhNywweGEwLDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwMiwweDllLDB4ODAsMHhhNywweDgwIH0gfSwKLXsgIDE2LCAweGE2YTAsIDAsIHsweDIxLDB4ZTQsMHgwOCwweDdhLDB4MjYsMHg5ZSwweDE4LDB4ODMsMHgwNCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MGEsMHg3MCwweDAwIH0gfSwKLXsgIDE2LCAweGE2YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweGE2YzAsIDAsIHsweDU4LDB4MzAsMHgxMiwweDBlLDB4ODIsMHg4MywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDEsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGE2ZDAsIDAsIHsweDIwLDB4YzEsMHgwYiwweDMwLDB4MDIsMHhjMCwweDA4LDB4ODgsMHhkMiwweDIwLDB4MjAsMHgwOCwweDAwLDB4MDIsMHg1MiwweDA0IH0gfSwKLXsgIDE2LCAweGE2ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHg2MCwweGZhLDB4MDAsMHgzZiwweDgyIH0gfSwKLXsgIDE2LCAweGE2ZjAsIDAsIHsweDBjLDB4YTAsMHgwMywweGZhLDB4MDAsMHhhYSwweDAwLDB4MWUsMHg4MCwweDhmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweGE3MDAsIDAsIHsweDMyLDB4ODAsMHgxZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDM2LDB4ODgsMHhhYywweGUwLDB4MDMsMHg3YSwweDA0IH0gfSwKLXsgIDE2LCAweGE3MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzZSwweDIwIH0gfSwKLXsgIDE2LCAweGE3MjAsIDAsIHsweDRmLDB4ODAsMHgwMywweGUxLDB4MDAsMHhmMCwweDAwLDB4M2MsMHgwMCwweDBiLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAyIH0gfSwKLXsgIDE2LCAweGE3MzAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4NDMsMHhmMSwweDAwLDB4ZmMsMHgwYSwweDNkLDB4MDAsMHgwZiwweGMwLDB4MDMsMHg5MiwweDAwIH0gfSwKLXsgIDE2LCAweGE3NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTYsMHgwMCwweGM5LDB4OTAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGE3NTAsIDAsIHsweDBmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhkOSwweDAwLDB4MzIsMHg0MCwweDA0LDB4OTAsMHgwNywweGU3LDB4MDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGE3NjAsIDAsIHsweDMwLDB4NDAsMHgwYywweDkwLDB4NDMsMHhlNCwweDA5LDB4ZDksMHg4MCwweDIyLDB4NDAsMHgyYywweDEwLDB4MGIsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGE3NzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHg2MCwweDg5LDB4YzAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGE3ODAsIDAsIHsweDBiLDB4OTgsMHgyNiwweGM1LDB4ODAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgxMiwweGU3LDB4MTAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGE3OTAsIDAsIHsweDM2LDB4NDAsMHgyOCwweDkwLDB4MTIsMHhjNSwweDgzLDB4YzksMHg4MCwweGI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGE3YTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQxIH0gfSwKLXsgIDE2LCAweGE3YjAsIDAsIHsweDRiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDAwLDB4YTIsMHg0MCwweDBhLDB4OTAsMHgwMiwweGU1LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGE3YzAsIDAsIHsweGUyLDB4NDEsMHgwOCwweDkwLDB4NDIsMHhlNCwweDAwLDB4OWQsMHg1MCwweGFiLDB4NGEsMHgwOCwweGQwLDB4MjYsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGE3ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MiwweDgxLDB4MjAsMHgyYywweDUwIH0gfSwKLXsgIDE2LCAweGE3ZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGU0LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MCwweDRhLDB4MTQsMHgzMiwweGM0LDB4MDAsMHhiMSwweDQwIH0gfSwKLXsgIDE2LCAweGE3ZjAsIDAsIHsweDI0LDB4NTEsMHgxOCwweDE0LDB4MTIsMHhkNCwweDAwLDB4ODUsMHg0MCwweDJkLDB4NDAsMHgwOCwweDUwLDB4MDYsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGE4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGE4MTAsIDAsIHsweDBmLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhkOCwweDAwLDB4MzIsMHgwMCwweDBhLDB4ODAsMHgwMiwweGUwLDB4MTAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGE4MjAsIDAsIHsweDMyLDB4MDAsMHgwNCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZDgsMHgwMCwweDNhLDB4MDAsMHgwYywweGMwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGE4MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQxIH0gfSwKLXsgIDE2LCAweGE4NDAsIDAsIHsweDBmLDB4OTQsMHgwMywweGY1LDB4MDAsMHhmOSwweDQwLDB4M2UsMHg1MCwweDBkLDB4OTQsMHgwMywweGU1LDB4MTAsMHhmOSwweDQwIH0gfSwKLXsgIDE2LCAweGE4NTAsIDAsIHsweDNlLDB4NTAsMHg0ZiwweDk0LDB4MDMsMHhjNSwweDAwLDB4ZTksMHg0MSwweDM2LDB4NTAsMHgwZiwweDk0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGE4NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgwMCwweGZkLDB4YTgsMHgzYSwweDQwIH0gfSwKLXsgIDE2LCAweGE4NzAsIDAsIHsweDBjLDB4ZDgsMHgyMywweDM2LDB4MDAsMHhlOSwweGEwLDB4M2UsMHg3OCwweDBmLDB4OWUsMHgwMywweGI2LDB4ODAsMHhjZCwweGUyIH0gfSwKLXsgIDE2LCAweGE4ODAsIDAsIHsweDMyLDB4NjgsMHgwYywweDliLDB4MDMsMHgzNiwweDgyLDB4NGQsMHhhMCwweDM3LDB4NjgsMHg4YywweDk4LDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGE4OTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZWIsMHhhMCwweGI4LDB4NDAsMHgyMCwweDIwIH0gfSwKLXsgIDE2LCAweGE4YTAsIDAsIHsweDA4LDB4ODUsMHgwMiwweDIxLDB4NTEsMHg4OCwweGMwLDB4MmUsMHgyOSwweDBiLDB4OGUsMHgwMiwweGUxLDB4MDAsMHhkOCwweGUwIH0gfSwKLXsgIDE2LCAweGE4YjAsIDAsIHsweDIyLDB4MzIsMHgwZCwweDhkLDB4MjMsMHg2MSwweDQ4LDB4OTgsMHhkNCwweGEyLDB4MTAsMHgyOCwweDg0LDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGE4YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIzLDB4MDAsMHgyYSwweDRhIH0gfSwKLXsgIDE2LCAweGE4ZDAsIDAsIHsweDI4LDB4MTAsMHg0ZSwweGE0LDB4MDgsMHhhMSwweDY4LDB4MjgsMHg0NCwweDBiLDB4MTQsMHgwMiwweGM1LDB4MDAsMHg4MSwweDQwIH0gfSwKLXsgIDE2LCAweGE4ZTAsIDAsIHsweGEwLDB4NTAsMHgwOCwweDEwLDB4MDIsMHgwNCwweDAyLDB4OTEsMHgyYSwweDIwLDB4NDQsMHgyOCwweDE0LDB4NGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGE4ZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YWMsMHg4MCwweGI5LDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGE5MDAsIDAsIHsweDQ4LDB4OTAsMHgwNiwweGE0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgyMiwweGU0LDB4MDAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGE5MTAsIDAsIHsweDIyLDB4NDAsMHgwOSwweDEwLDB4MDIsMHg2NCwweDAyLDB4OTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGE5MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzOCwweDU4IH0gfSwKLXsgIDE2LCAweGE5MzAsIDAsIHsweDBjLDB4OTAsMHg1MywweDg0LDB4MTQsMHhhOSwweDA0LDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGE5NDAsIDAsIHsweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDA0LDB4ZDksMHgwMCwweGI2LDB4NDAsMHg0YywweDkwLDB4MGIsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGE5NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDIsMHgzZSwweDQ5IH0gfSwKLXsgIDE2LCAweGE5NjAsIDAsIHsweDBmLDB4MTAsMHg0MywweDY0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhmMSwweDAyIH0gfSwKLXsgIDE2LCAweGE5NzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAyLDB4ZTksMHgwNCwweDNjLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGE5ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHg4MCwweGM4LDB4MjAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGE5OTAsIDAsIHsweDhjLDB4ODAsMHgwYiwweDIwLDB4MDAsMHhlOCwweDAyLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGEwLDB4ODIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGE5YTAsIDAsIHsweDZjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDEwLDB4YzgsMHgwMCwweDMyLDB4MDIsMHgwYywweDgwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGE5YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MzgsMHgwMCwweDg2LDB4MDAsMHgyZSwweDgwIH0gfSwKLXsgIDE2LCAweGE5YzAsIDAsIHsweDY4LDB4YTgsMHg4MCwweDNhLDB4MDAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDBiLDB4YTAsMHgwMiwweGY4LDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGE5ZDAsIDAsIHsweDJlLDB4ODAsMHgwYiwweGEwLDB4MGEsMHgzYSwweDAwLDB4OGUsMHgxMCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MDMsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGE5ZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGQsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGE5ZjAsIDAsIHsweDA4LDB4MzgsMHgwMCwweDBjLDB4NjAsMHgyMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4NDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGFhMDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAyLDB4OGEsMHg4MCwweGEwLDB4ZTAsMHgyOCwweDMwLDB4MGEsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGFhMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTYsMHgyMCwweDg3LDB4MDIsMHgyZCwweGMxIH0gfSwKLXsgIDE2LCAweGFhMjAsIDAsIHsweDQ4LDB4NzAsMHgxMiwweDdjLDB4MDAsMHhhNywweDIwLDB4MmQsMHhjOSwweDBiLDB4NzIsMHgwMCwweGRjLDB4MDAsMHg4NywweDA4IH0gfSwKLXsgIDE2LCAweGFhMzAsIDAsIHsweDJkLDB4YzQsMHgxYiwweDMyLDB4MDIsMHgxZCwweDAxLDB4ODcsMHg0MiwweDIxLDB4YzIsMHgwOCwweDcwLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGFhNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgwMiwweGM3LDB4ODAsMHgzZCwweGVjIH0gfSwKLXsgIDE2LCAweGFhNTAsIDAsIHsweDBjLDB4NTgsMHgwMywweDFlLDB4MDAsMHhlNywweDgwLDB4M2QsMHhlYywweDBmLDB4N2YsMHgwMywweDk2LDB4MDAsMHhjNywweDgwIH0gfSwKLXsgIDE2LCAweGFhNjAsIDAsIHsweDJkLDB4ZTIsMHgwNywweDc5LDB4MDMsMHgwYSwweDA2LDB4YzMsMHg4MCwweDMwLDB4MjAsMHg4YywweDM4LDB4MDMsMHg2YSwweDAyIH0gfSwKLXsgIDE2LCAweGFhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGFhODAsIDAsIHsweDBmLDB4MTAsMHg0MywweDhjLDB4MDAsMHhkYiwweDM4LDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGNjLDB4MDQsMHhmYiwweDQ0IH0gfSwKLXsgIDE2LCAweGFhOTAsIDAsIHsweDNlLDB4YzAsMHg4ZiwweGI2LDB4MTMsMHhlYywweDAyLDB4ZmYsMHgwMiwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGFhYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmEsMHgwMCwweGZmLDB4ODAsMHgzMSwweGUzIH0gfSwKLXsgIDE2LCAweGFhYjAsIDAsIHsweDBlLDB4ZjgsMHgyMywweGZlLDB4MDIsMHhkZiwweDgwLDB4YjcsMHhlMiwweDBlLDB4ZjgsMHgwMywweDdlLDB4MDAsMHg2ZCwweGQwIH0gfSwKLXsgIDE2LCAweGFhYzAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGY4LDB4OWIsMHg3NiwweGMwLDB4ZGYsMHg4NCwweGIzLDB4ZTAsMHgwNCwweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGFhZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OTAsMHg0MCwweGI3LDB4MDIsMHgyMSwweGM0IH0gfSwKLXsgIDE2LCAweGFhZTAsIDAsIHsweDA4LDB4N2IsMHg0MiwweGRjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjNCwweDBiLDB4MzAsMHgwMCwweDEwLDB4ODAsMHg4ZCwweDAwIH0gfSwKLXsgIDE2LCAweGFhZjAsIDAsIHsweDIzLDB4YzAsMHgwZCwweGYyLDB4MDIsMHgwNCwweDQyLDB4OGYsMHgwMCwweDI5LDB4YzgsMHgyOCwweDcwLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGFiMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTQsMHgwMCwweGI2LDB4MDAsMHgyMywweGMwIH0gfSwKLXsgIDE2LCAweGFiMTAsIDAsIHsweDBhLDB4NzIsMHgwMiwweDhjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDBhLDB4MzAsMHgwMiwweDA0LDB4MDEsMHhhNywweDAyIH0gfSwKLXsgIDE2LCAweGFiMjAsIDAsIHsweDIxLDB4YzAsMHgwOCwweDcwLDB4NDIsMHgwMCwweDhhLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgyOCwweDcwLDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGFiMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4YzUsMHgwMCwweGIwLDB4MDAsMHhhMCwweGQwIH0gfSwKLXsgIDE2LCAweGFiNDAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGM5LDB4NDIsMHg4YiwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgyMiwweDA0LDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGFiNTAsIDAsIHsweGEwLDB4YzAsMHg0OSwweDMwLDB4MDIsMHg0NSwweDQwLDB4OTMsMHhjMCwweGE4LDB4ZDQsMHgwMCwweDM1LDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGFiNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGJiLDB4MDAsMHgzMSwweGMwIH0gfSwKLXsgIDE2LCAweGFiNzAsIDAsIHsweDBlLDB4YjAsMHgyMywweGNkLDB4MDAsMHhkZiwweDAwLDB4MzcsMHhjMCwweDBlLDB4ZjAsMHgwMSwweDY4LDB4MDAsMHhlMywweDAwIH0gfSwKLXsgIDE2LCAweGFiODAsIDAsIHsweDMzLDB4YzAsMHgxYywweGYwLDB4MDMsMHg0NSwweDAwLDB4ZGEsMHhjOCwweDkyLDB4ZDQsMHgyYywweGI0LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGFiOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTUsMHgyMCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGFiYTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDRmLDB4YjAsMHgwMywweGFkLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGFiYjAsIDAsIHsweDdlLDB4YzAsMHgxZiwweDMwLDB4MDMsMHhhNCwweDgwLDB4ZTksMHgyMCwweDNjLDB4YzAsMHgwZiwweDMyLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGFiYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGM3LDB4MDAsMHgzMywweGMyIH0gfSwKLXsgIDE2LCAweGFiZDAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDNlLDB4MjAsMHhkYiwweDAwLDB4MTMsMHhjMCwweDBjLDB4NzAsMHgwMywweDNjLDB4ODAsMHhlZiwweDA0IH0gfSwKLXsgIDE2LCAweGFiZTAsIDAsIHsweDczLDB4YzEsMHgwZiwweGYwLDB4MjIsMHgzMCwweDAwLDB4YzYsMHgwMCwweGIyLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGFiZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4NjksMHgwMCwweDhiLDB4NDQsMHhhMiwweGMxIH0gfSwKLXsgIDE2LCAweGFjMDAsIDAsIHsweDg4LDB4YjAsMHgwMywweDZjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDI4LDB4YjAsMHgwYSwweDJkLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGFjMTAsIDAsIHsweDYyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyNiwweDAyLDB4OGIsMHg4MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDMsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGFjMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjgsMHgwMSwweDhhLDB4MDgsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGFjMzAsIDAsIHsweDA4LDB4YjIsMHgwMiwweDZjLDB4NDAsMHg5YiwweDAwLDB4MjgsMHhjMCwweDQ4LDB4YjAsMHgxNiwweDI5LDB4MDQsMHhiOSwweDAxIH0gfSwKLXsgIDE2LCAweGFjNDAsIDAsIHsweDIyLDB4YzAsMHg0OSwweGIwLDB4MDYsMHhhZSwweDA5LDB4OGIsMHg4MCwweDIyLDB4ZTAsMHg0OCwweGIwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGFjNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDAsMHgwMiwweDgyLDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGFjNjAsIDAsIHsweDg4LDB4YjAsMHgwMiwweDQ0LDB4MDAsMHg4MywweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDA4LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweGFjNzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMsMHg4MCwweDIwLDB4ZTAsMHgwOCwweDMwLDB4MGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGFjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGNhLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGFjOTAsIDAsIHsweDBjLDB4YjIsMHgwMywweDJjLDB4MDAsMHhkZiwweDAwLDB4M2IsMHhjMCwweDRjLDB4ZjUsMHgxMywweDJjLDB4MDQsMHhlZiwweDAwIH0gfSwKLXsgIDE2LCAweGFjYTAsIDAsIHsweGEzLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhhOCwweDQwLDB4Y2IsMHgwMCwweGIyLDB4MDAsMHgyYywweGIwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGFjYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjAsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGFjYzAsIDAsIHsweDBmLDB4YjEsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGFjZDAsIDAsIHsweDNmLDB4YzAsMHgwNywweGYwLDB4MGIsMHg3YywweDA4LDB4ZmYsMHgwMSwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhhOCwweDA2IH0gfSwKLXsgIDE2LCAweGFjZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHhjNSwweGVkLDB4MzMsMHgzYiwweGNjIH0gfSwKLXsgIDE2LCAweGFjZjAsIDAsIHsweDBjLDB4ZjAsMHgwMywweDMwLDB4NDAsMHhmZiwweDI1LDB4M2YsMHhjYywweDBjLDB4ZjMsMHg4MywweDNjLDB4ZDAsMHhkZiwweDQ4IH0gfSwKLXsgIDE2LCAweGFkMDAsIDAsIHsweDM3LDB4MzAsMHg0YywweGYzLDB4MDMsMHhmZCwweDgwLDB4Y2YsMHgyOCwweDMzLDB4ZDgsMHgwYywweGYxLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGFkMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHhkMCwweGJiLDB4MzEsMHgyMCwweGNjIH0gfSwKLXsgIDE2LCAweGFkMjAsIDAsIHsweDg4LDB4ZjMsMHg0MiwweDIwLDB4NTAsMHhiZiwweDkwLDB4MmYsMHhjNCwweDBhLDB4ZjYsMHgwMiwweDdkLDB4YzAsMHg4ZiwweDQwIH0gfSwKLXsgIDE2LCAweGFkMzAsIDAsIHsweDI2LDB4NDAsMHg4ZiwweGY2LDB4MDIsMHhmZCwweDAwLDB4ZmYsMHgwOCwweDM5LDB4YzgsMHgwOCwweGY2LDB4MDIsMHhhMCwweDA0IH0gfSwKLXsgIDE2LCAweGFkNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHg4MCwweGExLDB4MjAsMHgyOCwweGM5IH0gfSwKLXsgIDE2LCAweGFkNTAsIDAsIHsweDA4LDB4MzAsMHg5YSwweDAwLDB4MDksMHhiMywweDAwLDB4MmMsMHhjMCwweDIwLDB4MzAsMHgwMiwweDRjLDB4OTAsMHg4MywweDIwIH0gfSwKLXsgIDE2LCAweGFkNjAsIDAsIHsweDAyLDB4MDgsMHgwYiwweDMzLDB4MTIsMHhjZCwweDgwLDB4OTMsMHgyMCwweDI0LDB4ZDgsMHgwOCwweDM0LDB4MjIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGFkNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4YWUsMHgwMCwweGJiLDB4MTAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGFkODAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDI2LDB4MDEsMHgzYiwweDAxLDB4NmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweDRjLDB4MDgsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGFkOTAsIDAsIHsweGEyLDB4ODksMHgwYiwweGIwLDB4MDIsMHhlYywweDAwLDB4YWIsMHgwMCwweDZhLDB4YzEsMHgyOCwweGIwLDB4MDIsMHhiMCwweDA0IH0gfSwKLXsgIDE2LCAweGFkYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4NmUsMHgwMCwweGU4LDB4YzEsMHgzYSwweGMwIH0gfSwKLXsgIDE2LCAweGFkYjAsIDAsIHsweDJjLDB4YjAsMHg0MywweDI2LDB4MDAsMHhmYiwweDA2LDB4M2UsMHhjMSwweDBjLDB4YjAsMHgwYiwweDJjLDB4MDIsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweGFkYzAsIDAsIHsweDM0LDB4MjIsMHg5ZiwweGIwLDB4NDMsMHhlYywweDAwLDB4OWIsMHgwMiwweDM2LDB4YzEsMHg4YywweGIwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGFkZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmMsMHgwMCwweGZjLDB4ODAsMHgzZCwweGQwIH0gfSwKLXsgIDE2LCAweGFkZTAsIDAsIHsweDJmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmYiwweDAwLDB4M2QsMHhjMCwweDA3LDB4MzAsMHgwMywweGJjLDB4MDAsMHhlZiwweDA0IH0gfSwKLXsgIDE2LCAweGFkZjAsIDAsIHsweDNmLDB4ZTAsMHg1ZSwweGIwLDB4MDEsMHhmYywweDAwLDB4ZmYsMHgwMCwweDFiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGFlMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGNiLDB4MDEsMHgzZSwweGM5IH0gfSwKLXsgIDE2LCAweGFlMTAsIDAsIHsweDBjLDB4YjAsMHgxNywweDIwLDB4ODQsMHhlYiwweDAwLDB4YjIsMHhjMSwweDBkLDB4YjAsMHgwMywweDZjLDB4MDAsMHhjMywweDAwIH0gfSwKLXsgIDE2LCAweGFlMjAsIDAsIHsweDMyLDB4NTAsMHgwZiwweGIwLDB4MDMsMHgwYywweDQwLDB4YzMsMHgwMCwweDdlLDB4YzAsMHgwYywweDMwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGFlMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweDhhLDB4NTgsMHgyZSwweGUwIH0gfSwKLXsgIDE2LCAweGFlNDAsIDAsIHsweDQ4LDB4ZjAsMHgwMiwweDJkLDB4MDAsMHhlZiwweDAxLDB4MjMsMHhjMCwweDA4LDB4ZjAsMHgyMiwweDNjLDB4MDQsMHg4ZiwweDYwIH0gfSwKLXsgIDE2LCAweGFlNTAsIDAsIHsweDM2LDB4NTQsMHgwYiwweGYwLDB4MGEsMHgzZCwweDQwLDB4OGYsMHgwMCwweDJmLDB4YzAsMHgwOCwweGYwLDB4MDMsMHg3MiwweDAwIH0gfSwKLXsgIDE2LCAweGFlNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDAsMHgwMCwweDg5LDB4ODAsMHgyYywweDEwIH0gfSwKLXsgIDE2LCAweGFlNzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDQ5LDB4MDAsMHhhMywweGEwLDB4MjQsMHhjMCwweDA5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweGM5IH0gfSwKLXsgIDE2LCAweGFlODAsIDAsIHsweDIwLDB4OTAsMHg0MiwweDMwLDB4MTIsMHg0ZCwweDAwLDB4ODMsMHgwMCwweDZhLDB4YzAsMHgwOSwweDMwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGFlOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTYsMHgwMCwweDg1LDB4ODAsMHg2ZCwweDYyIH0gfSwKLXsgIDE2LCAweGFlYTAsIDAsIHsweDA4LDB4N2UsMHgwMiwweDU2LDB4NDAsMHgyNywweDgwLDB4MjUsMHhlMCwweDE5LDB4NzgsMHgwNiwweDBlLDB4MDAsMHg4MywweDgwIH0gfSwKLXsgIDE2LCAweGFlYjAsIDAsIHsweDYxLDB4YTAsMHgwYiwweDc4LDB4MDIsMHg0ZSwweDAwLDB4ODcsMHg4MiwweDZkLDB4ZTAsMHgwOSwweDc5LDB4MDIsMHg0OCwweDAwIH0gfSwKLXsgIDE2LCAweGFlYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHgwMiwweGMzLDB4NjEsMHgzYywweDg4IH0gfSwKLXsgIDE2LCAweGFlZDAsIDAsIHsweDJjLDB4YmEsMHgxMiwweDQ5LDB4MTAsMHhlMywweDJjLDB4MzYsMHhjMCwweDBkLDB4MzAsMHg1MywweDRjLDB4NDQsMHhjMywweDAwIH0gfSwKLXsgIDE2LCAweGFlZTAsIDAsIHsweDIwLDB4MDEsMHgwZiwweDMxLDB4MDMsMHg0YywweDAwLDB4YzMsMHgwMSwweDNjLDB4YzAsMHgyZCwweGIxLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGFlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweGFmMDAsIDAsIHsweDRmLDB4ZjEsMHgwOSwweGIwLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBlLDB4ZjQsMHgwMSwweGZkLDB4MjQsMHhmZiwweDQwIH0gfSwKLXsgIDE2LCAweGFmMTAsIDAsIHsweGJmLDB4YzAsMHgwNywweGYwLDB4MDMsMHhiYywweDAwLDB4NmYsMHgxMCwweDNmLDB4YzQsMHgxZSwweGYxLDB4ODMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGFmMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4YzQsMHgwMCwweGU4LDB4MDQsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGFmMzAsIDAsIHsweDBjLDB4YjYsMHgwMywweGU4LDB4MDIsMHhjYiwweDAwLDB4MzYsMHhjYSwweDBmLDB4YjUsMHgwMywweGFkLDB4MDAsMHhmYiwweDIwIH0gfSwKLXsgIDE2LCAweGFmNDAsIDAsIHsweDNlLDB4NDAsMHgwZiwweGIzLDB4MDMsMHhlYywweDgwLDB4ZmIsMHhhOCwweDMyLDB4YzYsMHg4YywweGI2LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGFmNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwMiwweGU2LDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGFmNjAsIDAsIHsweDA4LDB4NzMsMHgwMiwweGRjLDB4MDAsMHg4NywweDcwLDB4MmQsMHhkMCwweDBiLDB4ZjAsMHgwMiwweDFjLDB4ODQsMHhiNywweDIwIH0gfSwKLXsgIDE2LCAweGFmNzAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcwLDB4ODIsMHhkZCwweDI0LDB4YjcsMHg0MCwweDM0LDB4YzksMHgyOCwweDcyLDB4ODIsMHg5MiwweDA0IH0gfSwKLXsgIDE2LCAweGFmODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4YmUsMHgwMiwweGFjLDB4ODAsMHhhMSwweDIwIH0gfSwKLXsgIDE2LCAweGFmOTAsIDAsIHsweDA4LDB4NzksMHgwMCwweGNlLDB4MDQsMHg4NywweDgwLDB4NjUsMHhlMCwweDBiLDB4N2EsMHgwMiwweDllLDB4MDAsMHhiNywweDkwIH0gfSwKLXsgIDE2LCAweGFmYTAsIDAsIHsweDZkLDB4YTAsMHgwYiwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGFmYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4ZWQsMHg4MiwweGFiLDB4ZTAsMHgyMCwweGU0IH0gfSwKLXsgIDE2LCAweGFmYzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGVlLDB4MDQsMHg4MywweDAwLDB4MmMsMHhjMSwweDFiLDB4MzAsMHgwMiwweDBjLDB4MDgsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGFmZDAsIDAsIHsweDY0LDB4ZjYsMHgwYiwweGIwLDB4MDIsMHhjYywweDA0LDB4YjMsMHgwMCwweDI2LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg5MiwweDA0IH0gfSwKLXsgIDE2LCAweGFmZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmIsMHg4MCwweGVlLDB4NDksMHgzMSwweGEwIH0gfSwKLXsgIDE2LCAweGFmZjAsIDAsIHsweDJjLDB4YTAsMHgwMywweGZhLDB4MDAsMHhjYSwweDAyLDB4MzYsMHg4MCwweDBmLDB4YTAsMHgwMywweGE4LDB4MDAsMHhmYSwweDAyIH0gfSwKLXsgIDE2LCAweGIwMDAsIDAsIHsweDNmLDB4OTAsMHgwZiwweGEwLDB4NjMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MjMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGIwMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwYSwweGU4LDB4MDAsMHgzZSwweDA4IH0gfSwKLXsgIDE2LCAweGIwMjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGUzLDB4NTAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGIwMzAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZjgsMHgwMSwweDdlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGIwNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHg0MCwweGM5LDB4YTEsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGIwNTAsIDAsIHsweDIwLDB4MTEsMHgwMSwweGE2LDB4NDAsMHhjOSwweDg0LDB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweDQ0LDB4MDAsMHg0MSwweDAwIH0gfSwKLXsgIDE2LCAweGIwNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg0YywweDEwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGIwNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODIsMHhhMiwweDQwIH0gfSwKLXsgIDE2LCAweGIwODAsIDAsIHsweDA4LDB4OWMsMHgwMiwweDI1LDB4MDAsMHg4OSwweGM4LDB4MjIsMHg0MCwweDA4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHg4OSwweDIwIH0gfSwKLXsgIDE2LCAweGIwOTAsIDAsIHsweDIyLDB4NjAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDEwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDMsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGIwYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4MDQsMHgyMiwweGNhIH0gfSwKLXsgIDE2LCAweGIwYjAsIDAsIHsweDBhLDB4OTAsMHgwYSwweDI1LDB4MDIsMHg4OSwweDIwLDB4MjAsMHg0MCwweDI4LDB4MTAsMHgwMiwweDY0LDB4MDEsMHhhOSwweDAwIH0gfSwKLXsgIDE2LCAweGIwYzAsIDAsIHsweDIyLDB4NGIsMHgwYiwweDkwLDB4MDIsMHgyNCwweDAxLDB4YjksMHgwMCwweDJlLDB4NDEsMHgyOCwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGIwZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg5MCwweDgxLDB4YTAsMHgyMCwweDQ4IH0gfSwKLXsgIDE2LCAweGIwZTAsIDAsIHsweDBhLDB4MzIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDAwLDB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDA0LDB4ZDAsMHhhMSwweDIwIH0gfSwKLXsgIDE2LCAweGIwZjAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDExLDB4MDIsMHgwNiwweDAwLDB4YjEsMHgzMSwweDJjLDB4NDgsMHgwOCwweDE0LDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGIxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MiwweGM4LDB4NTQsMHgzMiwweDE0IH0gfSwKLXsgIDE2LCAweGIxMTAsIDAsIHsweDBlLDB4ODUsMHgwMywweDIxLDB4NDQsMHhjOCwweDI4LDB4YjIsMHgxYSwweDRjLDB4ODYsMHg5MywweDYxLDB4MTQsMHhlOCwweDUwIH0gfSwKLXsgIDE2LCAweGIxMjAsIDAsIHsweDIyLDB4MTQsMHgwZiwweDg2LDB4ODMsMHgyMSwweDQwLDB4ZjAsMHg0MCwweDFlLDB4MTQsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGIxMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4NzQsMHg0NCwweGY1LDB4MTAsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweGIxNDAsIDAsIHsweDBkLDB4OTEsMHgwMywweDc0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg0OCwweDBiLDB4OTIsMHgwMywweGU0LDB4YzIsMHhkOSwweDEwIH0gfSwKLXsgIDE2LCAweGIxNTAsIDAsIHsweGJmLDB4NDAsMHgwZiwweDkyLDB4MDMsMHhlNSwweDA0LDB4ZjksMHgzMCwweDNlLDB4NDQsMHgwZiwweDk0LDB4NDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGIxNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgyMiwweGNkLDB4YTEsMHgzMywweDYxIH0gfSwKLXsgIDE2LCAweGIxNzAsIDAsIHsweDBjLDB4ZDgsMHhkMywweDM0LDB4MTAsMHhjZCwweGE4LDB4M2UsMHg2MCwweDhlLDB4OWMsMHg5MywweGE3LDB4MDgsMHhjZCwweDgwIH0gfSwKLXsgIDE2LCAweGIxODAsIDAsIHsweDMzLDB4NDAsMHgwZSwweDlhLDB4ZDMsMHgzNiwweGEwLDB4YzksMHg4MCwweDMyLDB4NjAsMHgwYywweDk5LDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGIxOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTMsMHg4OCwweDhhLDB4YTAsMHgyMCwweDI4IH0gfSwKLXsgIDE2LCAweGIxYTAsIDAsIHsweDA4LDB4ODAsMHgyMiwweDIwLDB4MTIsMHg4OCwweDQwLDB4MmMsMHgyOCwweDA4LDB4OGEsMHgwMiwweDIyLDB4MDAsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGIxYjAsIDAsIHsweDIyLDB4MDAsMHgwYiwweDhjLDB4MDMsMHgyMSwweDAwLDB4ODgsMHhkMCwweGEyLDB4M2UsMHgyOCwweDhkLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGIxYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4Y2UsMHgyMCwweGExLDB4NDgsMHgyMCwweDUyIH0gfSwKLXsgIDE2LCAweGIxZDAsIDAsIHsweDI5LDB4MTAsMHgwMiwweDI0LDB4MDMsMHg4MSwweDAwLDB4MmMsMHg1MiwweDBhLDB4MTAsMHgxMiwweDg1LDB4MTAsMHg5MSwweDQwIH0gfSwKLXsgIDE2LCAweGIxZTAsIDAsIHsweGE0LDB4NDAsMHgwYSwweDEyLDB4ODIsMHg0NCwweDAwLDB4OTEsMHgyOCwweDI0LDB4NDAsMHgyOCwweDEyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGIxZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwMCwweGE5LDB4MTQsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGIyMDAsIDAsIHsweDA5LDB4OTAsMHgwMiwweGE0LDB4MDEsMHg4OSwweDA0LDB4MmMsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGIyMTAsIDAsIHsweDIyLDB4NDQsMHg0YiwweDEwLDB4NDIsMHgyNCwweDE0LDB4OTksMHgwMCwweDI2LDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGIyMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHg0MCwweGU5LDB4NDAsMHhiMiwweDc4IH0gfSwKLXsgIDE2LCAweGIyMzAsIDAsIHsweDBkLDB4OTAsMHgwYiwweDI0LDB4MjIsMHhjOSwweDAzLDB4M2UsMHg0MSwweDBlLDB4OTAsMHgwMywweGE0LDB4MDIsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweGIyNDAsIDAsIHsweDE2LDB4NTgsMHgwNiwweDkwLDB4MGIsMHg2NCwweDAyLDB4ZDksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MGIsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGIyNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4ODQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDRhIH0gfSwKLXsgIDE2LCAweGIyNjAsIDAsIHsweDBlLDB4OTAsMHgwMywweDY0LDB4MjAsMHhmOSwweDA4LDB4M2UsMHg0MSwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlMSwweDA4IH0gfSwKLXsgIDE2LCAweGIyNzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZTEsMHgwMCwweDM4LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGIyODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOSwweGYwLDB4NDAsMHhiMCwweDEwIH0gfSwKLXsgIDE2LCAweGIyOTAsIDAsIHsweDRjLDB4MDAsMHgwYiwweDIwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgwMCwweDFjLDB4MDAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGIyYTAsIDAsIHsweDM2LDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGIyYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDNlLDB4ODgsMHgyMywweGEyIH0gfSwKLXsgIDE2LCAweGIyYzAsIDAsIHsweDQ4LDB4ZTAsMHgwMCwweDE5LDB4ODAsMHhiZSwweDg4LDB4MmUsMHg4MCwweDBkLDB4YTAsMHg0MiwweGU4LDB4MDAsMHg4ZSwweDAwIH0gfSwKLXsgIDE2LCAweGIyZDAsIDAsIHsweDIzLDB4OTAsMHgwOCwweGEwLDB4MGEsMHgzYSwweDAwLDB4ZGEsMHgwMCwweDM2LDB4ODAsMHgwYiwweGEwLDB4MGEsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGIyZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4ODAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGIyZjAsIDAsIHsweDI4LDB4MzAsMHhjMiwweDBmLDB4MTAsMHhiMywweDQwLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweGVjLDB4MTEsMHg4MywweDQwIH0gfSwKLXsgIDE2LCAweGIzMDAsIDAsIHsweDI4LDB4ZDIsMHgwYSwweDMwLDB4MDIsMHgwYywweGMwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGIzMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHgwMCwweGI2LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGIzMjAsIDAsIHsweDA4LDB4MjAsMHhjMiwweDFjLDB4MTAsMHhiNSwweDAwLDB4MmQsMHhjOCwweDBhLDB4NzIsMHgwMiwweGRjLDB4NDAsMHg4NSwweDA4IH0gfSwKLXsgIDE2LCAweGIzMzAsIDAsIHsweDI5LDB4YTIsMHgxYSwweDcyLDB4MjIsMHgwYywweDAwLDB4OTMsMHgzMCwweDA1LDB4YzQsMHgwYiwweDMyLDB4MjIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGIzNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweGIyLDB4ODAsMHgzMSwweDIwIH0gfSwKLXsgIDE2LCAweGIzNTAsIDAsIHsweDBjLDB4NTgsMHgwMywweDFlLDB4MDAsMHhmNywweDgwLDB4MzksMHhmOCwweDBiLDB4N2MsMHgyMiwweGNlLDB4NDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGIzNjAsIDAsIHsweDliLDB4NjAsMHgyZSwweDNiLDB4MDMsMHgxYSwweDAwLDB4YzcsMHhhOCwweDExLDB4ZTAsMHgwZiwweDc4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGIzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YTQsMHgwMCwweGZhLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGIzODAsIDAsIHsweDBmLDB4OTAsMHgyMywweGU4LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhkMCwweDJkLDB4YjYsMHgwMywweGVkLDB4MDIsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGIzOTAsIDAsIHsweDMyLDB4NDAsMHgwZCwweGIwLDB4MDcsMHhlYywweDAwLDB4ZmIsMHg2MCwweDNlLDB4YzgsMHgwZiwweGI1LDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGIzYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzMywweGEwIH0gfSwKLXsgIDE2LCAweGIzYjAsIDAsIHsweDBjLDB4ZjgsMHgwYiwweDMyLDB4NDAsMHhjZSwweDgxLDB4MzcsMHhmMCwweDBjLDB4YmMsMHgwMywweGZlLDB4MDAsMHhmZiwweDg0IH0gfSwKLXsgIDE2LCAweGIzYzAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4ODMsMHhlNiwweDAyLDB4Y2YsMHg4NSwweDMzLDB4ZjAsMHgwYywweGZjLDB4MDMsMHgwMCwweDE0IH0gfSwKLXsgIDE2LCAweGIzZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGJlLDB4MDAsMHgzNSwweGM2IH0gfSwKLXsgIDE2LCAweGIzZTAsIDAsIHsweDI4LDB4MzAsMHgwMiwweDMwLDB4NDAsMHg4NywweDAwLDB4MjMsMHhjMCwweDA4LDB4N2EsMHgwMiwweGRjLDB4MDAsMHhiZSwweDAwIH0gfSwKLXsgIDE2LCAweGIzZjAsIDAsIHsweDIzLDB4YzAsMHgwOCwweDcwLDB4MTIsMHhmZSwweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGI0MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTUsMHgyMCwweGI2LDB4MDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGI0MTAsIDAsIHsweDA4LDB4MzEsMHgwMiwweDVjLDB4MDEsMHg4NywweDAwLDB4MjUsMHhjMCwweDA4LDB4NzIsMHgwMiwweGRjLDB4MDAsMHhiNiwweDAwIH0gfSwKLXsgIDE2LCAweGI0MjAsIDAsIHsweDIxLDB4ZDAsMHgwOSwweDcwLDB4MDIsMHhkNCwweDA4LDB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGI0MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4YzQsMHgwMCwweGIwLDB4ZTAsMHgyNCwweDYwIH0gfSwKLXsgIDE2LCAweGI0NDAsIDAsIHsweDA4LDB4MjAsMHgwNiwweDQ4LDB4MDEsMHg4MCwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGI0NTAsIDAsIHsweDIwLDB4ODQsMHgwYiwweDMwLDB4MDIsMHhlOCwweDAwLDB4OWIsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGI0NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGI5LDB4ZTAsMHgzMiwweDgwIH0gfSwKLXsgIDE2LCAweGI0NzAsIDAsIHsweDZjLDB4YjAsMHgyMywweDZmLDB4MDAsMHhjMywweDAwLDB4MzcsMHhjMSwweDNjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGI0ODAsIDAsIHsweGIwLDB4YzAsMHgwOSwweGYwLDB4MDMsMHhlYywweDEwLDB4ZGYsMHgwMCwweDczLDB4YzAsMHgwYywweGYwLDB4MGIsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGI0OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgxMCwweGY4LDB4MDAsMHgzZSwweDQyIH0gfSwKLXsgIDE2LCAweGI0YTAsIDAsIHsweDBmLDB4MjQsMHgwMywweGE4LDB4NjAsMHhmOCwweDAwLDB4M2MsMHhjMSwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDQwIH0gfSwKLXsgIDE2LCAweGI0YjAsIDAsIHsweDNlLDB4ODAsMHgwNCwweGIwLDB4MjMsMHhlMSwweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGI0YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGVlLDB4MDAsMHgzZCwweDMwIH0gfSwKLXsgIDE2LCAweGI0ZDAsIDAsIHsweDBjLDB4YzAsMHgwMywweDE0LDB4MDAsMHhjYywweGEwLDB4YjMsMHhjMCwweDRjLDB4NzAsMHgwMywweDVjLDB4MTAsMHhkZiwweDAwIH0gfSwKLXsgIDE2LCAweGI0ZTAsIDAsIHsweDNmLDB4MDAsMHgwYywweGYwLDB4MDMsMHhmOCwweDAwLDB4Y2YsMHgwMCwweDIzLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDQwIH0gfSwKLXsgIDE2LCAweGI0ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NjQsMHgwMCwweGJhLDB4ODEsMHgyZSwweDU4IH0gfSwKLXsgIDE2LCAweGI1MDAsIDAsIHsweDA4LDB4ODgsMHgwMiwweDI3LDB4ODAsMHg4OSwweDIwLDB4MjIsMHhjMCwweDI4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4OCwweDgzIH0gfSwKLXsgIDE2LCAweGI1MTAsIDAsIHsweDJlLDB4MjAsMHgwNSwweGIwLDB4NjIsMHhlMywweDAwLDB4OGIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDMsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweGI1MjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjYsMHgwMCwweGI5LDB4ODEsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGI1MzAsIDAsIHsweDA4LDB4OGMsMHgwNiwweDI2LDB4MDAsMHg4OCwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgxNiwweDZjLDB4MDAsMHg5OCwweDg4IH0gfSwKLXsgIDE2LCAweGI1NDAsIDAsIHsweDJlLDB4MjAsMHgwOCwweGIwLDB4MDQsMHhlMywweDAxLDB4MGIsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGI1NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweGIwLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGI1NjAsIDAsIHsweDI4LDB4MDAsMHgwZSwweDAwLDB4MTAsMHg4MCwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzIsMHgwMiwweDBjLDB4MDAsMHg4MCwweDA0IH0gfSwKLXsgIDE2LCAweGI1NzAsIDAsIHsweDJlLDB4MjAsMHgwOSwweDMwLDB4MDIsMHhjNCwweDEyLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGI1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGZhLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGI1OTAsIDAsIHsweDJjLDB4OTEsMHgwMywweDIwLDB4MDAsMHg4YSwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweGI1YTAsIDAsIHsweDJlLDB4NDAsMHgwYywweGYwLDB4MDMsMHhlMCwweDgwLDB4Y2YsMHgwMCwweDNiLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGI1YjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZjLDB4MDEsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGI1YzAsIDAsIHsweDBmLDB4YzAsMHgxMywweGYwLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMSwweDBmLDB4ZjQsMHgyMywweGZjLDB4MDgsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGI1ZDAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDQwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGI1ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgyMCwweGNkLDB4MTAsMHgzOSwweGM4IH0gfSwKLXsgIDE2LCAweGI1ZjAsIDAsIHsweDBkLDB4YzEsMHgwMywweDNjLDB4ODAsMHhlZiwweDkwLDB4MjMsMHhkOCwweDBmLDB4ZjgsMHgwMCwweGZlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGI2MDAsIDAsIHsweDFmLDB4ZDAsMHgwZiwweGY5LDB4MDMsMHhmZiwweDAwLDB4ZTcsMHhjMCwweDMzLDB4YzQsMHgwZiwweGYwLDB4MDMsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGI2MTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4ZmUsMHgwMiwweDg5LDB4NDAsMHgyMywweGYwIH0gfSwKLXsgIDE2LCAweGI2MjAsIDAsIHsweDA4LDB4ODUsMHgxMCwweDNjLDB4MDAsMHg4YiwweDAwLDB4YTMsMHhkYywweDRiLDB4YjIsMHg4MiwweGVjLDB4MjAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGI2MzAsIDAsIHsweDI2LDB4YzAsMHg0YiwweGIwLDB4MDIsMHhlYywweDEwLDB4YjksMHgwNCwweDJhLDB4YzksMHgwYiwweGI1LDB4ODAsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGI2NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4Y2MsMHgwMCwweDgxLDB4NjQsMHgyOCwweGM0IH0gfSwKLXsgIDE2LCAweGI2NTAsIDAsIHsweDA5LDB4YjIsMHgwYSwweDBjLDB4ZjAsMHhhMywweDIwLDB4MjAsMHhjOCwweDBiLDB4MzIsMHgwMiwweGVjLDB4MDIsMHg4MywweDA4IH0gfSwKLXsgIDE2LCAweGI2NjAsIDAsIHsweDJjLDB4YzgsMHgwOSwweDMyLDB4MDIsMHhjYywweDgwLDB4YWIsMHhhMCwweDIwLDB4YzgsMHgwYiwweDMyLDB4MDAsMHhiMiwweDAxIH0gfSwKLXsgIDE2LCAweGI2NzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgxMCwweDg5LDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGI2ODAsIDAsIHsweDA4LDB4YjIsMHgxMiwweDJjLDB4MDIsMHgwYiwweDAwLDB4MjIsMHhjMCwweDBiLDB4YjgsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGI2OTAsIDAsIHsweDI2LDB4YzAsMHg0YiwweGIwLDB4NDYsMHhlYywweDAwLDB4YjksMHgwMCwweDBhLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGI2YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhkMCwweDE1LDB4ZWMsMHgxMCwweGM5LDB4ZTAsMHgzYSwweGMwIH0gfSwKLXsgIDE2LCAweGI2YjAsIDAsIHsweDBkLDB4MjgsMHgwMywweDJjLDB4MDAsMHhlYiwweDEwLDB4MzIsMHhjMCwweDBmLDB4ODIsMHgwMywweGM0LDB4MDAsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweGI2YzAsIDAsIHsweDNlLDB4YzEsMHgwZiwweGIwLDB4MDYsMHhlYywweDA4LDB4ZTksMHgwMCwweGIyLDB4YzAsMHgwZiwweGIwLDB4MTMsMHg5MCwweDA0IH0gfSwKLXsgIDE2LCAweGI2ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4OWMsMHgwMCwweGY1LDB4YTAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGI2ZTAsIDAsIHsweDBmLDB4ZTgsMHgwMywweGZjLDB4MDgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGI2ZjAsIDAsIHsweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNCwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGI3MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4NDAsMHgzNCwweGMwIH0gfSwKLXsgIDE2LCAweGI3MTAsIDAsIHsweDBkLDB4YjQsMHgwMywweDJjLDB4MDAsMHhkYiwweDQwLDB4M2UsMHhjMCwweDJjLDB4ODAsMHgwMywweDY0LDB4MDgsMHhmYiwweDEwIH0gfSwKLXsgIDE2LCAweGI3MjAsIDAsIHsweDNlLDB4YzYsMHg4ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg4MCwweDMyLDB4YzAsMHgwYywweGIwLDB4MGIsMHgxNCwweDA0IH0gfSwKLXsgIDE2LCAweGI3MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2UsMHgyMCwweGU5LDB4YzgsMHgzNywweGQ0IH0gfSwKLXsgIDE2LCAweGI3NDAsIDAsIHsweDQ4LDB4YWEsMHgyMiwweDFjLDB4MDAsMHg4YiwweDAwLDB4NmYsMHhlMCwweDA4LDB4ODUsMHg4MiwweGVkLDB4NDAsMHhiYiwweDg0IH0gfSwKLXsgIDE2LCAweGI3NTAsIDAsIHsweDJmLDB4YzAsMHg0YiwweGI4LDB4MDMsMHhhZCwweDQwLDB4YjMsMHgwMCwweDIzLDB4ZDQsMHgwOCwweGY3LDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGI3NjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4NGMsMHgwMCwweGIxLDB4NjQsMHhhNCwweGMwIH0gfSwKLXsgIDE2LCAweGI3NzAsIDAsIHsweDA5LDB4MjAsMHgwYSwweDBjLDB4MDQsMHhiOCwweDAwLDB4NmMsMHhjMCwweDA4LDB4MzgsMHgwMiwweGM4LDB4NDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweGI3ODAsIDAsIHsweDJjLDB4ZDEsMHgwYiwweDMwLDB4MDIsMHhjYywweDA0LDB4YjMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweGI3OTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiMCwweDAxLDB4MWUsMHgwMCwweGE1LDB4ODAsMHgyNSwweGUwIH0gfSwKLXsgIDE2LCAweGI3YTAsIDAsIHsweDg4LDB4M2EsMHgxMiwweDFlLDB4MDAsMHhhNiwweDkwLDB4MmQsMHhlMiwweDA4LDB4NzksMHgwMiwweGRhLDB4MDAsMHhiNywweDgyIH0gfSwKLXsgIDE2LCAweGI3YjAsIDAsIHsweDJkLDB4ZTAsMHgwMywweDc4LDB4ODIsMHg5ZSwweDAwLDB4YmMsMHhjMSwweDI5LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgyYywweDEwIH0gfSwKLXsgIDE2LCAweGI3YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OSwweDA4LDB4MGMsMHgwMCwweGYzLDB4MDAsMHgzNCwweGMwIH0gfSwKLXsgIDE2LCAweGI3ZDAsIDAsIHsweDBkLDB4M2UsMHgwMywweDBjLDB4MDAsMHhmMCwweDQwLDB4MmUsMHhjMCwweDBjLDB4MzAsMHg0MywweGM4LDB4MDAsMHhmMywweDAwIH0gfSwKLXsgIDE2LCAweGI3ZTAsIDAsIHsweDNjLDB4YzAsMHgwNywweDMwLDB4MDMsMHhjYywweDgwLDB4ZjIsMHgwMCwweDM4LDB4YzAsMHgwYywweDMwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGI3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE5LDB4YmQsMHgyMCwweGY3LDB4MDAsMHgzZiwweGMyIH0gfSwKLXsgIDE2LCAweGI4MDAsIDAsIHsweDBmLDB4ZjEsMHgwYiwweGRjLDB4MjAsMHhkZSwweDA0LDB4M2YsMHhkMiwweDA3LDB4ZjAsMHgxMywweGY4LDB4NDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGI4MTAsIDAsIHsweDNmLDB4YzAsMHgwNywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDM3LDB4YzAsMHgwZiwweDcwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGI4MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDA1LDB4Y2YsMHgwMCwweGRjLDB4MDAsMHgzZSwweGNhIH0gfSwKLXsgIDE2LCAweGI4MzAsIDAsIHsweDBmLDB4YTAsMHgwMCwweGFjLDB4OTIsMHhjOSwweDAwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgxMSwweGE0LDB4MDgsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGI4NDAsIDAsIHsweDJlLDB4YzAsMHg0ZiwweGIwLDB4MjMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YzQsMHgwZiwweGIwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweGI4NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDkxLDB4OWMsMHgwMCwweDg0LDB4MDAsMHgwMSwweGMwIH0gfSwKLXsgIDE2LCAweGI4NjAsIDAsIHsweDRiLDB4NzAsMHgyMiwweDFjLDB4YzAsMHg4NywweDAwLDB4MjEsMHhjMCwweDRiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhiNywweDAxIH0gfSwKLXsgIDE2LCAweGI4NzAsIDAsIHsweDI1LDB4ZDgsMHgwYiwweDcwLDB4MjIsMHhkYywweDAwLDB4YjYsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcyLDB4MjIsMHhmMiwweDA0IH0gfSwKLXsgIDE2LCAweGI4ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHg4MCwweDk3LDB4ODAsMHhhOSwweGUwIH0gfSwKLXsgIDE2LCAweGI4OTAsIDAsIHsweDBiLDB4ZjgsMHgwMiwweGNlLDB4MDgsMHg4NSwweDgwLDB4MjksMHhlOCwweDBiLDB4ZmMsMHgwMiwweDE3LDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweGI4YTAsIDAsIHsweDJkLDB4ZTAsMHg4YiwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjQsMHhjMCwweDJkLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGI4YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDgsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweGI4YzAsIDAsIHsweDhiLDB4M2MsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCwweDFiLDB4M2MsMHgwYSwweDBmLDB4MjksMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGI4ZDAsIDAsIHsweDI0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweGI4ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGRlLDB4MDAsMHgzYSwweDgwIH0gfSwKLXsgIDE2LCAweGI4ZjAsIDAsIHsweDBmLDB4ZWEsMHgwMiwweGU4LDB4MDAsMHhjZSwweDAwLDB4M2EsMHg4MCwweDBmLDB4ZTAsMHgwMywweDM4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGI5MDAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmUsMHgwMCwweDNlLDB4ODAsMHgwYiwweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweGI5MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDQsMHhiYSwweDAxIH0gfSwKLXsgIDE2LCAweGI5MjAsIDAsIHsweDBmLDB4ODIsMHgwYiwweDgwLDB4MDQsMHhmOCwweDgwLDB4M2UsMHgwMCwweDBmLDB4ODYsMHgwMywweDYwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGI5MzAsIDAsIHsweDM2LDB4MDAsMHgwZiwweDgwLDB4MjMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGI5NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMSwweGY5LDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGI5NTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHg0OSwweDAwLDB4MzIsMHg0MCwweDBiLDB4OTAsMHgwMywweDI0LDB4MDAsMHg0OSwweDAwIH0gfSwKLXsgIDE2LCAweGI5NjAsIDAsIHsweDNjLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NjAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGI5NzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDY0IH0gfSwKLXsgIDE2LCAweGI5ODAsIDAsIHsweDBiLDB4MTgsMHgwMiwweDI1LDB4MDAsMHhkMSwweDUwLDB4MzYsMHg1MCwweDRlLDB4OTAsMHgwYSwweDI0LDB4MDIsMHg4OSwweDQwIH0gfSwKLXsgIDE2LCAweGI5OTAsIDAsIHsweDNhLDB4NTEsMHgwOCwweDk0LDB4MDIsMHhlNSwweDIyLDB4ODksMHg0NCwweDJlLDB4NjAsMHgyOCwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGI5YTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGIxLDB4MDgsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGI5YjAsIDAsIHsweDRiLDB4OTIsMHg4MiwweGE1LDB4MDAsMHhhOSwweDA4LDB4MjIsMHg1MCwweDBhLDB4MTAsMHgwMiwweDBjLDB4MDAsMHhhOSwweDQwIH0gfSwKLXsgIDE2LCAweGI5YzAsIDAsIHsweDZlLDB4NTAsMHgwYiwweDk0LDB4MDIsMHhjNCwweDA0LDB4ODksMHg0NCwweDZjLDB4NDgsMHg4OCwweDEwLDB4MDIsMHg0NiwweDAwIH0gfSwKLXsgIDE2LCAweGI5ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MDQsMHgwMCwweGIxLDB4NDAsMHhlMCwweDQwIH0gfSwKLXsgIDE2LCAweGI5ZTAsIDAsIHsweDFiLDB4MTQsMHgwYSwweDA0LDB4MDAsMHhiOSwweDAwLDB4MjQsMHg0MCwweDFhLDB4MTAsMHgyMiwweDA0LDB4MDAsMHhhMSwweDAwIH0gfSwKLXsgIDE2LCAweGI5ZjAsIDAsIHsweDI4LDB4NDAsMHgwYSwweDEwLDB4MTIsMHhjNCwweDAwLDB4ODEsMHgwMiwweDZjLDB4NDAsMHgwOCwweDEyLDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGJhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGIwLDB4MDAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGJhMTAsIDAsIHsweDRmLDB4ODAsMHgwMiwweGExLDB4NTAsMHhlMCwweDUwLDB4MzIsMHgxNCwweDBlLDB4YTUsMHgyMywweDIxLDB4NDAsMHhlOCwweDUwIH0gfSwKLXsgIDE2LCAweGJhMjAsIDAsIHsweDNlLDB4MTQsMHgwZiwweDg1LDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MCwweDFlLDB4MTQsMHgwYywweDg1LDB4NDMsMHg2ZSwweDAzIH0gfSwKLXsgIDE2LCAweGJhMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhkOCwweDE5LDB4ZTUsMHgwMCwweGZkLDB4NDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGJhNDAsIDAsIHsweDBmLDB4NzQsMHgwMywweGE1LDB4MDAsMHg1ZCwweDAwLDB4M2UsMHg1MCwweDBhLDB4NTAsMHgxMywweGY0LDB4MDAsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweGJhNTAsIDAsIHsweDNhLDB4NTAsMHgwZCwweDkwLDB4MTMsMHhlNCwweDAwLDB4ZmYsMHgwMCwweDNlLDB4NTAsMHgwZiwweDkxLDB4MDMsMHhhNiwweDA2IH0gfSwKLXsgIDE2LCAweGJhNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg5MCwweGJkLDB4ZTgsMHgyMywweDZiIH0gfSwKLXsgIDE2LCAweGJhNzAsIDAsIHsweDBiLDB4ZGEsMHgwYiwweDM2LDB4ODAsMHhjOSwweDAwLDB4MzIsMHg2OCwweDQ2LDB4OTAsMHg0MywweGU0LDB4MDAsMHg0OSwweDAwIH0gfSwKLXsgIDE2LCAweGJhODAsIDAsIHsweDMyLDB4NjgsMHgwYywweDkwLDB4MDMsMHgyNCwweDQwLDB4ZjksMHgwMCwweDMyLDB4NjAsMHgwYywweDljLDB4MDMsMHhjNiwweDAxIH0gfSwKLXsgIDE2LCAweGJhOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg3OCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4ZTAsMHhhMiwweDExIH0gfSwKLXsgIDE2LCAweGJhYTAsIDAsIHsweDBiLDB4OGUsMHgwYSwweDIzLDB4MjIsMHg4OCwweDgwLDB4MmEsMHgzMSwweDI4LDB4ODgsMHgwMiwweDYyLDB4MDAsMHg4OCwweDgwIH0gfSwKLXsgIDE2LCAweGJhYjAsIDAsIHsweGEyLDB4MzAsMHgyOCwweDg4LDB4OGEsMHgyMiwweDAwLDB4YjgsMHhhOCwweGEyLDB4MzksMHgwOCwweGNhLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGJhYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzUsMHgwOCwweDIxLDB4MDAsMHgwMCwweDQwIH0gfSwKLXsgIDE2LCAweGJhZDAsIDAsIHsweDAzLDB4MTQsMHg4MiwweDg1LDB4ODAsMHhhZCwweDA4LDB4MjEsMHg1MiwweDk4LDB4NTAsMHg4MiwweDM0LDB4MjMsMHg4NSwweDA4IH0gfSwKLXsgIDE2LCAweGJhZTAsIDAsIHsweDIxLDB4NTIsMHgwOCwweDUwLDB4MDYsMHg1NCwweDAwLDB4YjUsMHgyMCwweDIxLDB4NWEsMHgwOSwweDU0LDB4MDIsMHhkMiwweDAxIH0gfSwKLXsgIDE2LCAweGJhZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgwMCwweGI5LDB4NjEsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGJiMDAsIDAsIHsweDBiLDB4OTAsMHgwNiwweDA0LDB4MDAsMHhhZCwweDAwLDB4NjksMHg0MCwweDA4LDB4ZDAsMHgwMiwweDc0LDB4MDAsMHg4NSwweDAwIH0gfSwKLXsgIDE2LCAweGJiMTAsIDAsIHsweDAxLDB4NDAsMHgwMCwweDcwLDB4MDYsMHg3NCwweDA0LDB4YjUsMHgwMCwweDIzLDB4NDAsMHgwOSwweGQwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGJiMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE0LDB4YTQsMHgwMCwweGU5LDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGJiMzAsIDAsIHsweDRmLDB4OTUsMHgwYiwweGE0LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg0MCwweDhjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGJiNDAsIDAsIHsweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NCwweDA4LDB4ZjksMHgwMCwweDMyLDB4NDAsMHgzZCwweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGJiNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDAxLDB4YTQsMHgwOCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGJiNjAsIDAsIHsweDRmLDB4OTAsMHg4YiwweGU0LDB4MDQsMHhkOSwweDAxLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAsMHhkOSwweDAxIH0gfSwKLXsgIDE2LCAweGJiNzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGJiODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzNiwweDIwIH0gfSwKLXsgIDE2LCAweGJiOTAsIDAsIHsweDE3LDB4ODQsMHgwMywweDIwLDB4MjEsMHhjOCwweDAwLDB4N2UsMHgwMiwweDJjLDB4ODAsMHg0MywweDIwLDB4MDAsMHhlOCwweDAyIH0gfSwKLXsgIDE2LCAweGJiYTAsIDAsIHsweDNlLDB4MDEsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHg0MCwweDFlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGJiYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MmEsMHg4OCwweGI2LDB4MDIsMHgyMywweGEwIH0gfSwKLXsgIDE2LCAweGJiYzAsIDAsIHsweDBiLDB4ZWMsMHg0MiwweDJiLDB4MDAsMHhkMiwweDgwLDB4NmUsMHhiMSwweDA4LDB4YTAsMHgyMiwweDA4LDB4MDAsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGJiZDAsIDAsIHsweDNhLDB4ODAsMHg5ZiwweGEwLDB4MDMsMHhhOCwweDAwLDB4OGEsMHgwNCwweDJlLDB4ODAsMHgwYiwweGE4LDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGJiZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIyLDB4MDAsMHhhNCwweGUxIH0gfSwKLXsgIDE2LCAweGJiZjAsIDAsIHsweDhiLDB4YjQsMHgzMiwweDQ3LDB4NDUsMHg4MywweDkwLDB4MmMsMHhmNCwweDRiLDB4MzgsMHgxMiwweDBlLDB4NDQsMHhhMywweDAxIH0gfSwKLXsgIDE2LCAweGJjMDAsIDAsIHsweDJjLDB4YzAsMHg0YiwweDMwLDB4MDIsMHhjZSwweDAwLDB4OTMsMHgwMCwweDZjLDB4YzAsMHgwYiwweDM4LDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGJjMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHgwMCwweGI3LDB4NDQsMHgyMSwweGMyIH0gfSwKLXsgIDE2LCAweGJjMjAsIDAsIHsweDBiLDB4NTQsMHgwMiwweDU0LDB4MDUsMHg4NywweDAwLDB4MmMsMHg0MCwweDliLDB4NmMsMHgwMiwweDE4LDB4MTAsMHhhNywweDA0IH0gfSwKLXsgIDE2LCAweGJjMzAsIDAsIHsweDI5LDB4YzAsMHgwYSwweDcwLDB4MDIsMHg5YiwweDAwLDB4OTcsMHgwNCwweDBkLDB4ODAsMHgwYiwweDYwLDB4ODIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGJjNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGYzLDB4ODAsMHgzNSwweGUwIH0gfSwKLXsgIDE2LCAweGJjNTAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDUyLDB4MTAsMHg4NCwweDgwLDB4MmQsMHhhMCwweDBmLDB4ZjgsMHgwYiwweDFlLDB4MDAsMHhlNiwweDgwIH0gfSwKLXsgIDE2LCAweGJjNjAsIDAsIHsweDFkLDB4YTAsMHgwYiwweDY4LDB4MDMsMHhmZSwweDAyLDB4ZDYsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGJjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYSwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMxIH0gfSwKLXsgIDE2LCAweGJjODAsIDAsIHsweDhiLDB4OTAsMHgwYiwweDgwLDB4MGEsMHhiOCwweDAxLDB4MmUsMHgwMCwweDBjLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGJjOTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGEwLDB4NDMsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4ODAsMHgwZiwweGE2LDB4MjMsMHhjMiwweDAyIH0gfSwKLXsgIDE2LCAweGJjYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGZlLDB4ODAsMHgzMywweDIwIH0gfSwKLXsgIDE2LCAweGJjYjAsIDAsIHsweDRlLDB4YzksMHgxMiwweGY2LDB4NTAsMHhlZiwweDkwLDB4M2YsMHhlMCwweDBjLDB4MTksMHgwMCwweGI2LDB4NDIsMHhjZiwweDIxIH0gfSwKLXsgIDE2LCAweGJjYzAsIDAsIHsweDNmLDB4ZTAsMHgwZSwweGY5LDB4MDIsMHhlNiwweGMwLDB4ZmYsMHg4MCwweDNmLDB4ZTAsMHg0YywweGRjLDB4MDMsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGJjZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDExLDB4OTQsMHgwMCwweGI3LDB4MDAsMHg4MSwweDQwIH0gfSwKLXsgIDE2LCAweGJjZTAsIDAsIHsweDA4LDB4MDMsMHgwMiwweDE0LDB4YzQsMHg4NywweDAxLDB4MmQsMHhjOCwweDA4LDB4NmEsMHgxMiwweDM4LDB4NDAsMHg4NywweDAyIH0gfSwKLXsgIDE2LCAweGJjZjAsIDAsIHsweDJkLDB4YzAsMHgwOCwweDcxLDB4MTIsMHhkMiwweDgwLDB4YjcsMHgwMCwweDJkLDB4ODAsMHgwOCwweDYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGJkMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MTAsMHgyMSwweDgwIH0gfSwKLXsgIDE2LCAweGJkMTAsIDAsIHsweDA4LDB4ZjQsMHgxMiwweDk0LDB4MDQsMHhhNiwweDAwLDB4MmMsMHhjMCwweDE4LDB4ZDIsMHgwMiwweDE0LDB4NDgsMHg4NiwweDEwIH0gfSwKLXsgIDE2LCAweGJkMjAsIDAsIHsweDJkLDB4ODAsMHgwYSwweDYxLDB4MzIsMHhkNCwweDAwLDB4YjYsMHgxOCwweDJkLDB4YzQsMHgwOCwweDU4LDB4MDIsMHgwMCwweDEwIH0gfSwKLXsgIDE2LCAweGJkMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4YzQsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGJkNDAsIDAsIHsweDQwLDB4YjAsMHgyMiwweDA0LDB4MDAsMHg4MiwweDgxLDB4MGMsMHhjMCwweDA4LDB4MzAsMHgwYSwweDBhLDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGJkNTAsIDAsIHsweDJlLDB4YzAsMHgwOCwweGEwLDB4MDIsMHhjNCwweDAwLDB4YmIsMHgwMCwweDJlLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGJkNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZiLDB4MDAsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweGJkNzAsIDAsIHsweDI0LDB4OTQsMHgyMywweGFjLDB4MTAsMHhlYiwweGEwLDB4MGUsMHhjMCwweDBjLDB4YjAsMHgwMiwweDJlLDB4MjAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGJkODAsIDAsIHsweDJlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg4MCwweDNlLDB4NDAsMHg2YywweGEwLDB4MGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGJkOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4Y2MsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGJkYTAsIDAsIHsweDg5LDB4OTAsMHgwMywweDJjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHg0MCwweDRmLDB4YTAsMHgwMywweDZkLDB4MDEsMHhmYiwweDQxIH0gfSwKLXsgIDE2LCAweGJkYjAsIDAsIHsweDNlLDB4YzAsMHg4ZiwweGI0LDB4MDMsMHhlOCwweDAwLDB4ZmIsMHgyMCwweDNlLDB4NTAsMHgwZiwweGE0LDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGJkYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGMzLDB4MjAsMHhiMiwweGMwIH0gfSwKLXsgIDE2LCAweGJkZDAsIDAsIHsweDBkLDB4ZDAsMHgwMywweDM4LDB4MDAsMHhjZCwweDAwLDB4M2YsMHg4MCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZCwweDAyIH0gfSwKLXsgIDE2LCAweGJkZTAsIDAsIHsweDM2LDB4MDAsMHgwYywweGQwLDB4MDMsMHgzZiwweDA4LDB4ZmMsMHgwNCwweDEyLDB4YzAsMHgwYywweGEwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweGJkZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NmMsMHgwMiwweDhiLDB4YzgsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGJlMDAsIDAsIHsweDA4LDB4OTgsMHgwYSwweDJhLDB4NDAsMHg4OSwweDIwLDB4MmUsMHgwMSwweDhlLDB4YjAsMHgxMiwweGVjLDB4ODAsMHhiYiwweGYwIH0gfSwKLXsgIDE2LCAweGJlMTAsIDAsIHsweDIyLDB4ZTUsMHgwOCwweGJkLDB4MDIsMHgyZSwweDAwLDB4YmIsMHg5MCwweDIyLDB4ZWQsMHgwOCwweGEyLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGJlMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDEsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGJlMzAsIDAsIHsweDQ5LDB4YTgsMHgxZSwweDA0LDB4MDAsMHg4YiwweDAxLDB4MmUsMHhjMCwweDQ5LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGJlNDAsIDAsIHsweDIyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyYywweDAwLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwOCwweDgwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGJlNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweDgxLDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGJlNjAsIDAsIHsweDA4LDB4MjAsMHgwMiwweDA0LDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDBhLDB4MjAsMHg0MiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGJlNzAsIDAsIHsweDIwLDB4YzAsMHgwMiwweDMwLDB4MDIsMHgwOCwweDg0LDB4YjMsMHgwNCwweDA4LDB4NDAsMHgwOCwweDIwLDB4MDIsMHhjMiwweDExIH0gfSwKLXsgIDE2LCAweGJlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweDhiLDB4MDAsMHhiMiwweDgwIH0gfSwKLXsgIDE2LCAweGJlOTAsIDAsIHsweDBkLDB4YjEsMHgwMywweDI0LDB4MDIsMHhjYiwweDAxLDB4M2UsMHhjMCwweDRkLDB4OTAsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGJlYTAsIDAsIHsweGIyLDB4MDAsMHgyZSwweDkwLDB4MGIsMHgyYywweDgwLDB4ZjgsMHgwMCwweGJhLDB4YzAsMHgyYywweDgwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweGJlYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjQsMHgwMCwweDdkLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGJlYzAsIDAsIHsweDBmLDB4NzIsMHgwMywweGQ0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBlLDB4ZjEsMHg0NywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGJlZDAsIDAsIHsweDNiLDB4YzAsMHgwZCwweGYwLDB4MTMsMHhmYywweDUwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGJlZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHhjNCwweGNjLDB4MzMsMHgzZiwweDA0IH0gfSwKLXsgIDE2LCAweGJlZjAsIDAsIHsweDJjLDB4ZjYsMHgwMywweDM4LDB4NjAsMHhjYywweDkwLDB4YjMsMHgyMCwweDBmLDB4ZjEsMHgyMywweGYwLDB4NjAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGJmMDAsIDAsIHsweDIzLDB4YzgsMHgwYywweGYyLDB4OGEsMHgzYywweDgxLDB4ZGYsMHgzMCwweDNmLDB4NjQsMHgwYywweGQ4LDB4MDMsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGJmMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTAsMHhjMiwweDhhLDB4MzAsMHgyZSwweDE4IH0gfSwKLXsgIDE2LCAweGJmMjAsIDAsIHsweDA4LDB4ZjUsMHgzMCwweGE1LDB4OTQsMHg1OCwweDIyLDB4MjIsMHgyMSwweDRiLDB4ZjMsMHgwMiwweGUxLDB4MDAsMHg5ZiwweDcwIH0gfSwKLXsgIDE2LCAweGJmMzAsIDAsIHsweDJiLDB4ZTQsMHgwYSwweGY0LDB4MTIsMHgxZCwweDQwLDB4YWYsMHg3MiwweDJjLDB4NDksMHgyZiwweDMwLDB4ODIsMHhhMCwweDA2IH0gfSwKLXsgIDE2LCAweGJmNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHg4MCwweDgwLDB4YTAsMHgyYywweDk4IH0gfSwKLXsgIDE2LCAweGJmNTAsIDAsIHsweDA4LDB4MzIsMHgyMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjgsMHgwMCwweDAzLDB4MzIsMHgwMiwweGMwLDB4ODQsMHhiMywweDBjIH0gfSwKLXsgIDE2LCAweGJmNjAsIDAsIHsweDIwLDB4YzAsMHg1OCwweDMyLDB4OTIsMHg4YywweDMwLDB4YTMsMHgyMCwweDJlLDB4YzAsMHg0OCwweDEyLDB4NDIsMHg2MiwweDAxIH0gfSwKLXsgIDE2LCAweGJmNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTgsMHgwMCwweDhiLDB4MDAsMHgyZSwweDIwIH0gfSwKLXsgIDE2LCAweGJmODAsIDAsIHsweDA4LDB4YjAsMHgwYSwweDIwLDB4MDEsMHg5OCwweDAwLDB4MmEsMHgyMiwweDBiLDB4YjAsMHgwMiwweGU2LDB4MDAsMHg5YiwweDAwIH0gfSwKLXsgIDE2LCAweGJmOTAsIDAsIHsweDIyLDB4YzAsMHgwYSwweGIwLDB4MTIsMHhhYywweDA0LDB4YWIsMHgwMCwweDJlLDB4YzAsMHgwMywweGIwLDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGJmYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZTUsMHgwMCwweGM4LDB4MDAsMHgzZSwweGIwIH0gfSwKLXsgIDE2LCAweGJmYjAsIDAsIHsweDBjLDB4YjAsMHgwMywweDI5LDB4MDAsMHhjOCwweDAwLDB4M2EsMHgyMCwweDRmLDB4YjAsMHgwMywweGUyLDB4MjAsMHhmYiwweDAxIH0gfSwKLXsgIDE2LCAweGJmYzAsIDAsIHsweGIwLDB4YzAsMHgwYywweGIwLDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMiwweDNjLDB4NDEsMHgwYywweDkwLDB4NDMsMHg0OCwweDA0IH0gfSwKLXsgIDE2LCAweGJmZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YTIsMHg4MCwweGZlLDB4NDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGJmZTAsIDAsIHsweDBmLDB4ZjAsMHg2MywweGVjLDB4MDAsMHhiZiwweGM0LDB4MTcsMHg0MiwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGJmZjAsIDAsIHsweDFmLDB4YzEsMHgwZiwweGIwLDB4MDMsMHg1YywweDAwLDB4ZmIsMHgwMCwweDNmLDB4NDAsMHg0ZiwweGYwLDB4MDAsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGMwMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTUsMHgwMiwweGM4LDB4MDAsMHgzZSwweDkwIH0gfSwKLXsgIDE2LCAweGMwMTAsIDAsIHsweDJjLDB4YjAsMHgwYiwweDAxLDB4MDYsMHhjYiwweDAxLDB4M2UsMHg1MCwweDVmLDB4YjAsMHgxMywweDIxLDB4MTAsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweGMwMjAsIDAsIHsweDdlLDB4YzAsMHgwYywweGIwLDB4MGIsMHgyYywweDAwLDB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGMwMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MjgsMHgwMSwweDhiLDB4ZDAsMHgyYywweDM0IH0gfSwKLXsgIDE2LCAweGMwNDAsIDAsIHsweDQ4LDB4ZmYsMHgwMiwweDMwLDB4MDAsMHhhYSwweDA0LDB4MmUsMHg2OSwweDBmLDB4ZjAsMHgwMywweDY4LDB4MTAsMHhkZiwweDAwIH0gfSwKLXsgIDE2LCAweGMwNTAsIDAsIHsweDJmLDB4ZDQsMHgwZCwweGYwLDB4MDIsMHgzZSwweDAwLDB4NWYsMHgwNCwweGI2LDB4YzAsMHgwOCwweGIwLDB4MDMsMHg3MiwweDAwIH0gfSwKLXsgIDE2LCAweGMwNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjksMHg5MCwweDgxLDB4ODAsMHgyYywweDAwIH0gfSwKLXsgIDE2LCAweGMwNzAsIDAsIHsweDQ4LDB4YjgsMHgwMiwweDA4LDB4MDksMHg5OSwweDAwLDB4NGMsMHhiMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGMwODAsIDAsIHsweDJjLDB4YzAsMHgwOSwweGIwLDB4NDAsMHgwYywweDQwLDB4ODMsMHgwMCwweDAwLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGMwOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTYsMHgwMCwweDg0LDB4ODgsMHgyZCwweGU0IH0gfSwKLXsgIDE2LCAweGMwYTAsIDAsIHsweDQ4LDB4MzksMHgwMiwweDE2LDB4MDAsMHhiNCwweDgwLDB4MmQsMHhlMCwweDBhLDB4N2IsMHgwNiwweDVlLDB4MDAsMHg5NywweDgwIH0gfSwKLXsgIDE2LCAweGMwYjAsIDAsIHsweDJkLDB4ZTIsMHgwOSwweDc4LDB4MDIsMHgxZSwweDkwLDB4OTcsMHg4MCwweDI1LDB4NjQsMHg4YSwweDc4LDB4MDIsMHg0OCwweDAwIH0gfSwKLXsgIDE2LCAweGMwYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGQsMHgwMCwweDgxLDB4MTAsMHgyYywweDk2IH0gfSwKLXsgIDE2LCAweGMwZDAsIDAsIHsweDA4LDB4MzEsMHgyMywweDBjLDB4MDAsMHg5MCwweDIwLDB4M2MsMHhjNCwweDFiLDB4YjgsMHgwMiwweDA4LDB4NDAsMHhjMywweDAwIH0gfSwKLXsgIDE2LCAweGMwZTAsIDAsIHsweDJjLDB4YzQsMHgwZCwweDMwLDB4MDMsMHgwZSwweDQwLDB4YzMsMHgxMCwweDMwLDB4YzAsMHg0ZSwweDEwLDB4MDcsMHgxYSwweDEyIH0gfSwKLXsgIDE2LCAweGMwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgwMCwweDdkLDB4MDUsMHgzZiwweGM1IH0gfSwKLXsgIDE2LCAweGMxMDAsIDAsIHsweDBmLDB4YjEsMHgwYiwweGY0LDB4MDAsMHhlZiwweDAwLDB4MWYsMHg0NSwweDBmLDB4ZjAsMHg0MywweGZjLDB4MDEsMHhmZiwweDQwIH0gfSwKLXsgIDE2LCAweGMxMTAsIDAsIHsweDNkLDB4YzQsMHgxZiwweGYwLDB4MDYsMHhmYywweDEwLDB4ZmYsMHgwMCwweDNiLDB4YzEsMHgyZCwweGYxLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGMxMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwNCwweGNiLDB4MDQsMHgzZSwweGEwIH0gfSwKLXsgIDE2LCAweGMxMzAsIDAsIHsweDQ0LDB4YjYsMHgwMywweDI4LDB4MDQsMHhjYiwweDgwLDB4MzIsMHg4MCwweDBmLDB4YjMsMHg5MywweDYwLDB4MDgsMHhmYiwweDIwIH0gfSwKLXsgIDE2LCAweGMxNDAsIDAsIHsweDNlLDB4ZDIsMHgxZiwweGIzLDB4MDMsMHgyZCwweDgwLDB4ZmIsMHg2MSwweDdlLDB4NDAsMHg4YywweDk4LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGMxNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4ODQsMHgwYywweDg2LDB4MDUsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGMxNjAsIDAsIHsweDA4LDB4ZjQsMHg4MiwweDhjLDB4OTAsMHg4NSwweDAwLDB4YTEsMHhjMCwweDBiLDB4ZjAsMHgwMiwweDVjLDB4MDAsMHgzNywweDAwIH0gfSwKLXsgIDE2LCAweGMxNzAsIDAsIHsweDJkLDB4ZDAsMHgwYiwweDcxLDB4MDIsMHgxYywweGM4LDB4YjcsMHg0OCwweDJkLDB4NDAsMHgwYSwweDcwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGMxODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGExIH0gfSwKLXsgIDE2LCAweGMxOTAsIDAsIHsweDYwLDB4NzgsMHg0YSwweDE2LDB4ZDAsMHhhNywweDgwLDB4MjksMHhlMCwweDBiLDB4NzgsMHg1MiwweDk2LDB4MDEsMHhiNywweDkwIH0gfSwKLXsgIDE2LCAweGMxYTAsIDAsIHsweDJkLDB4ZTgsMHgwYiwweDdhLDB4MjIsMHg1ZSwweDQwLDB4YjcsMHhhMCwweDJmLDB4ZTEsMHg0OCwweDUwLDB4MjIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGMxYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgxMCwweDgzLDB4ODQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGMxYzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGE0LDB4MTAsMHg4MywweGNiLDB4MjgsMHhlMCwweDBiLDB4MzAsMHgyYSwweDRmLDB4NDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGMxZDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YywweDEwLDB4YjMsMHgwMiwweDJjLDB4YzAsMHhhYSwweDMwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGMxZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGNlLDB4YTAsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGMxZjAsIDAsIHsweDRjLDB4YTAsMHgyYiwweDNhLDB4MDAsMHhjZSwweDQwLDB4M2IsMHhiOCwweDBmLDB4YTAsMHgwMywweGI5LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweGMyMDAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHg2OCwweDAwLDB4ZmEsMHgwMCwweDdlLDB4ODAsMHgxYywweGEwLDB4MGIsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGMyMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwMiwweGY4LDB4MDAsMHgzZSwweDA0IH0gfSwKLXsgIDE2LCAweGMyMjAsIDAsIHsweDhmLDB4MDAsMHgwMywweGUwLDB4NGEsMHhmOCwweDEwLDB4MjYsMHgxOCwweDBmLDB4ODAsMHgwMywweGEwLDB4ODAsMHhmOCwweDAyIH0gfSwKLXsgIDE2LCAweGMyMzAsIDAsIHsweDNlLDB4MDAsMHg4ZiwweDAwLDB4MGIsMHhhMCwweDAwLDB4ZjgsMHgwMiwweDNlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGMyNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgyMCwweGM5LDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGMyNTAsIDAsIHsweDRkLDB4OTksMHgwMywweDI0LDB4MDAsMHhjOSwweDAyLDB4M2UsMHg2OCwweDBmLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweGMyNjAsIDAsIHsweDMwLDB4NDAsMHg4YywweDkwLDB4MDMsMHgwNCwweDQwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGMyNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgyMCwweDg5LDB4MDYsMHgyMiwweDUwIH0gfSwKLXsgIDE2LCAweGMyODAsIDAsIHsweDhiLDB4OWMsMHhjMiwweDI0LDB4MDAsMHhkOSwweDAxLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweDI0LDB4MDgsMHhiOSwweDAxIH0gfSwKLXsgIDE2LCAweGMyOTAsIDAsIHsweDIyLDB4NDYsMHgwZCwweDkwLDB4MGEsMHgyNiwweDAyLDB4ODksMHgwMCwweDJjLDB4NDAsMHgwYSwweDEwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGMyYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MDYsMHgwMCwweDkxLDB4NDAsMHg0MiwweDcwIH0gfSwKLXsgIDE2LCAweGMyYjAsIDAsIHsweDBiLDB4OTAsMHgxMiwweDJjLDB4MDIsMHg4YiwweDAwLDB4MmUsMHg0MCwweDBiLDB4MTAsMHgyMiwweGU0LDB4MTAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweGMyYzAsIDAsIHsweGEyLDB4NDAsMHg0OCwweDkwLDB4MTIsMHgyNCwweDA4LDB4OTksMHgwMiwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGMyZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg5MiwweDkxLDB4MjAsMHhlMCwweDQ4IH0gfSwKLXsgIDE2LCAweGMyZTAsIDAsIHsweDBiLDB4MTIsMHgwMiwweDA0LDB4MDIsMHg5MSwweDEwLDB4MmMsMHhjMCwweDBiLDB4MTAsMHgwNiwweDg0LDB4YzAsMHhiMSwweDEwIH0gfSwKLXsgIDE2LCAweGMyZjAsIDAsIHsweDIwLDB4NDgsMHg4OSwweDExLDB4MDIsMHgwNSwweDgwLDB4OTEsMHg0MCwweDJlLDB4NDQsMHgyYSwweDk0LDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGMzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzMCwweDE0IH0gfSwKLXsgIDE2LCAweGMzMTAsIDAsIHsweDBmLDB4ODUsMHgwYiwweDIxLDB4ZTAsMHg4MCwweDQwLDB4M2UsMHgwMCwweDBmLDB4ODcsMHg4YiwweGUxLDB4MGMsMHhmOCwweDZjIH0gfSwKLXsgIDE2LCAweGMzMjAsIDAsIHsweDMyLDB4MDAsMHg4NCwweDA2LDB4ODMsMHgyMCwweDA0LDB4ZDgsMHgyOCwweDNlLDB4MTAsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGMzMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0MCwweGFkLDB4MTAsMHgzZiwweDQ1IH0gfSwKLXsgIDE2LCAweGMzNDAsIDAsIHsweDBmLDB4OTEsMHgwMywweGZjLDB4MTgsMHg3ZCwweDIwLDB4MWYsMHg0MSwweDBmLDB4OTAsMHgwMywweDc0LDB4YzAsMHhmOSwweDIxIH0gfSwKLXsgIDE2LCAweGMzNTAsIDAsIHsweDNlLDB4NDQsMHgwZiwweDkyLDB4MDEsMHhlNCwweDQwLDB4ZTksMHgwMCwweDNkLDB4NDgsMHg0ZiwweGQwLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGMzNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjcsMHg4MCwweGZkLDB4ZTAsMHgzMywweDcwIH0gfSwKLXsgIDE2LCAweGMzNzAsIDAsIHsweDBjLDB4ZGEsMHgwMywweDI2LDB4MjAsMHhjOSwweDQwLDB4MzEsMHg0MCwweDBlLDB4OWEsMHgwMywweDI0LDB4MDAsMHhmOSwweDgwIH0gfSwKLXsgIDE2LCAweGMzODAsIDAsIHsweDNiLDB4NjAsMHgwZiwweDljLDB4ODMsMHgzNiwweGEwLDB4ZjksMHhhMSwweGIwLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGMzOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTIsMHg5MCwweGI4LDB4YTAsMHgyMiwweDI4IH0gfSwKLXsgIDE2LCAweGMzYTAsIDAsIHsweDI4LDB4ODgsMHgwYSwweDIyLDB4MDIsMHg4OCwweGEwLDB4MjIsMHgwMCwweDA4LDB4ODgsMHgwMiwweGMyLDB4ODAsMHhiOCwweDg4IH0gfSwKLXsgIDE2LCAweGMzYjAsIDAsIHsweDIyLDB4MDQsMHgwYiwweDhlLDB4MDMsMHgyMiwweDgwLDB4YjgsMHhkMCwweDJhLDB4MjAsMHgwYiwweDg4LDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGMzYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHg4MCwweGIxLDB4NjEsMHgwMCwweDU4IH0gfSwKLXsgIDE2LCAweGMzZDAsIDAsIHsweDQ4LDB4MTYsMHg4YSwweDA0LDB4YTAsMHg4OSwweDAxLDB4MjIsMHg0MCwweDFhLDB4MTQsMHg4OCwweDA0LDB4MjAsMHhiMSwweDQwIH0gfSwKLXsgIDE2LCAweGMzZTAsIDAsIHsweDI4LDB4NDAsMHgwYiwweDEwLDB4MGEsMHgwNCwweDIwLDB4YjEsMHgyYywweDIwLDB4NGEsMHgwYiwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGMzZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTUsMHg5MCwweGJiLDB4NDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGM0MDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4NDAsMHg4OSwweDQyLDB4NjIsMHg1OCwweDA4LDB4MTAsMHgwMiwweGU1LDB4MDAsMHhiOSwweDAzIH0gfSwKLXsgIDE2LCAweGM0MTAsIDAsIHsweDIyLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDE0LDB4MzEsMHgwMCwweDJhLDB4NDQsMHgwYiwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGM0MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4YTUsMHgwMCwweGY5LDB4MDEsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGM0MzAsIDAsIHsweDhjLDB4OTAsMHgwMywweDI3LDB4MDAsMHhjMSwweDk0LDB4MzAsMHg0MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGM0NDAsIDAsIHsweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NjAsMHgwNywweDkwLDB4MjcsMHhlOCwweDA1IH0gfSwKLXsgIDE2LCAweGM0NTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTQsMHgxOCwweGY5LDB4MDAsMHhiZSwweDQ0IH0gfSwKLXsgIDE2LCAweGM0NjAsIDAsIHsweDBmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4YmUsMHg2MSwweDhmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmMSwweDAwIH0gfSwKLXsgIDE2LCAweGM0NzAsIDAsIHsweDFlLDB4NDAsMHgwZiwweDEwLDB4MDMsMHgyNCwweDA4LDB4ZjksMHgwMCwweDdlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGM0ODAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHg4MSwweGY4LDB4MDAsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGM0OTAsIDAsIHsweDBjLDB4MDAsMHhkMywweDIxLDB4MDAsMHhkOCwweDA0LDB4M2EsMHgxNCwweDljLDB4ODAsMHgwMywweDIxLDB4MDEsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGM0YTAsIDAsIHsweDM2LDB4MDAsMHgwYywweDgwLDB4MTMsMHgyMCwweDEwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGM0YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA0LDB4M2EsMHgwMCwweGJlLDB4ODQsMHgyMywweDg1IH0gfSwKLXsgIDE2LCAweGM0YzAsIDAsIHsweDA4LDB4ZWMsMHg4MywweDY4LDB4MDQsMHg4YSwweDAwLDB4MmYsMHg5MCwweDRkLDB4YTAsMHgwMiwweDI4LDB4MDEsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGM0ZDAsIDAsIHsweDIzLDB4YjAsMHgwYSwweGEwLDB4MDIsMHgyYSwweDA4LDB4ZGEsMHgwMSwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGM0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGJiLDB4ZjAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGM0ZjAsIDAsIHsweDA4LDB4M2MsMHgwYSwweDBjLDB4MDAsMHg5MywweDAxLDB4MjgsMHhjOCwweDg5LDB4MzAsMHgwNiwweDRjLDB4MDAsMHg4MywweDAyIH0gfSwKLXsgIDE2LCAweGM1MDAsIDAsIHsweDJjLDB4ZjYsMHgwOCwweDMwLDB4MDIsMHgwNCwweDAwLDB4YTMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGM1MTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWQsMHgxMSwweGIzLDB4MDAsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweGM1MjAsIDAsIHsweDA4LDB4NTAsMHgwMiwweDVjLDB4MTAsMHg4NywweDAxLDB4NmQsMHg4MSwweDQ5LDB4MzIsMHg1MiwweDFlLDB4YzMsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGM1MzAsIDAsIHsweDI4LDB4ZTAsMHgwYSwweDMyLDB4MjYsMHgxZiwweDAwLDB4MzcsMHgwMCwweDIzLDB4ZTAsMHgwYiwweDcyLDB4MDIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGM1NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4MTIsMHgwMCwweGI3LDB4ODIsMHgzMSwweDIwIH0gfSwKLXsgIDE2LCAweGM1NTAsIDAsIHsweDA4LDB4MDgsMHgzNywweDBmLDB4MDgsMHhkNywweGUwLDB4MzksMHg2MCwweDE5LDB4N2EsMHgwYiwweDVlLDB4MGMsMHg4MywweGIyIH0gfSwKLXsgIDE2LCAweGM1NjAsIDAsIHsweDdkLDB4ZTAsMHgwYywweDdhLDB4MGIsMHgzZSwweDAyLDB4YWYsMHhhMCwweGIxLDB4ZTAsMHgwZSwweDdhLDB4MDMsMHhjYSwweDAyIH0gfSwKLXsgIDE2LCAweGM1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YTAsMHgxMCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGM1ODAsIDAsIHsweDZmLDB4YjAsMHg0MywweGVjLDB4MTEsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjUsMHgwMywweGVjLDB4MjAsMHhmYiwweDUwIH0gfSwKLXsgIDE2LCAweGM1OTAsIDAsIHsweDM2LDB4MDAsMHgwZiwweGI1LDB4NDMsMHhlNSwweGExLDB4ZGIsMHg3OCwweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGM1YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4YTAsMHgzZiwweGEwIH0gfSwKLXsgIDE2LCAweGM1YjAsIDAsIHsweDBkLDB4YzksMHgxMywweDNlLDB4MDAsMHhjZiwweGQwLDB4M2QsMHhlOCwweDAyLDB4ZmYsMHgxMywweDNlLDB4MDAsMHhjZiwweDgyIH0gfSwKLXsgIDE2LCAweGM1YzAsIDAsIHsweDNmLDB4NjAsMHgwYywweGZjLDB4MjMsMHgzZSwweDEwLDB4ZWYsMHg4MCwweDMzLDB4ZjIsMHgwYywweGZjLDB4ODMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGM1ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHg0MCwweGI1LDB4MDEsMHgyZCwweGQwIH0gfSwKLXsgIDE2LCAweGM1ZTAsIDAsIHsweDA4LDB4NTgsMHgwMiwweDFjLDB4NDAsMHg1NywweDEwLDB4MmQsMHg1YSwweDI4LDB4MzEsMHgwMiwweGJjLDB4MDEsMHg5NywweDEwIH0gfSwKLXsgIDE2LCAweGM1ZjAsIDAsIHsweDJkLDB4MDAsMHgwYSwweDcwLDB4MDIsMHg4NCwweDA0LDB4Y2YsMHgwMCwweDI5LDB4YzAsMHgwYSwweGYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGM2MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweGI3LDB4MmEsMHgyZCwweDgyIH0gfSwKLXsgIDE2LCAweGM2MTAsIDAsIHsweDA4LDB4NDIsMHgyMiwweDNjLDB4MDAsMHg4NywweDExLDB4MGQsMHhjYywweDg4LDB4MzIsMHgwMiwweDFkLDB4MDAsMHg5NywweDAwIH0gfSwKLXsgIDE2LCAweGM2MjAsIDAsIHsweDJjLDB4YzQsMHgwOCwweDMwLDB4MDIsMHgxNCwweDAwLDB4YTcsMHgwMCwweDIzLDB4YzAsMHgwOSwweDcwLDB4ODIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGM2MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4YzAsMHgyMCwweGIwLDB4MjAsMHgyYywweDUwIH0gfSwKLXsgIDE2LCAweGM2NDAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDJkLDB4YzAsMHg5MywweGUyLDB4MmMsMHgyMSwweDA4LDB4MzAsMHgwMiwweDBlLDB4MDgsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGM2NTAsIDAsIHsweDJjLDB4NDAsMHgwYSwweDMwLDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCwweDJhLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgxOCwweDA0IH0gfSwKLXsgIDE2LCAweGM2NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGY4LDB4YzAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGM2NzAsIDAsIHsweDJjLDB4YTAsMHgwYiwweDNmLDB4MDAsMHhjNywweDYwLDB4M2UsMHhkMCwweDBjLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGM2ODAsIDAsIHsweDNlLDB4ODAsMHgwYywweGYwLDB4MGIsMHgyYywweDAwLDB4ZWYsMHgwMCwweDMzLDB4YzEsMHgwZCwweGYwLDB4MGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGM2OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHg0MCwweGYzLDB4NDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGM2YTAsIDAsIHsweDhlLDB4YjQsMHgwMywweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UsMHgwOSwweDBmLDB4YjAsMHgxMywweGVjLDB4NDIsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGM2YjAsIDAsIHsweDNjLDB4MDAsMHg4ZiwweGIwLDB4MTMsMHhjNCwweDExLDB4ZTMsMHgwMCwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGM2YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZjLDB4ODAsMHgzMSwweDIyIH0gfSwKLXsgIDE2LCAweGM2ZDAsIDAsIHsweDBjLDB4YTgsMHgwMywweDNjLDB4MDAsMHhjZiwweDAwLDB4MzMsMHhhMCwweDBlLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGM2ZTAsIDAsIHsweDFmLDB4ZjAsMHgwYywweGYwLDB4MDMsMHhmNCwweDAwLDB4Y2YsMHgwMiwweDMzLDB4YzAsMHgwYywweGYwLDB4MDIsMHgwMCwweDU0IH0gfSwKLXsgIDE2LCAweGM2ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmYsMHgwMCwweGJiLDB4YzAsMHgyMiwweDcwIH0gfSwKLXsgIDE2LCAweGM3MDAsIDAsIHsweDBhLDB4YjksMHg0MiwweDJjLDB4MTAsMHg4YiwweDAwLDB4NzYsMHgxMSwweDgzLDB4YjAsMHgwMiwweGVjLDB4MTAsMHhhYiwweDAwIH0gfSwKLXsgIDE2LCAweGM3MTAsIDAsIHsweDJlLDB4YjAsMHgwYSwweGIwLDB4MDMsMHhlYywweDA0LDB4OGIsMHgwMCwweGEyLDB4YzAsMHgyOCwweGIwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGM3MjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4NjUsMHg0MCwweGI4LDB4MjAsMHgyMiwweDQ0IH0gfSwKLXsgIDE2LCAweGM3MzAsIDAsIHsweDU4LDB4MzQsMHgwYSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg4NCwweDRiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGM3NDAsIDAsIHsweDZlLDB4YzAsMHgwOCwweGIwLDB4NDIsMHhlNiwweDA0LDB4OGIsMHgwMCwweDAyLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhhMCwweDAxIH0gfSwKLXsgIDE2LCAweGM3NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDAwLDB4MDAsMHgwMCwweGIxLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGM3NjAsIDAsIHsweDBhLDB4MzAsMHgwYSwweDBjLDB4MDAsMHg4YiwweDAzLDB4MjQsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGM3NzAsIDAsIHsweDZjLDB4MDAsMHgwYSwweDMwLDB4MDIsMHg4ZCwweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgxOCwweDMwLDB4MDIsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGM3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NjQsMHgwMCwweGY4LDB4MDAsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGM3OTAsIDAsIHsweDRjLDB4YTAsMHgwYiwweDJjLDB4MDIsMHhjZiwweDAwLDB4MjIsMHg0MCwweDBlLDB4ZjUsMHgwMywweGZjLDB4MDAsMHhjZiwweDAxIH0gfSwKLXsgIDE2LCAweGM3YTAsIDAsIHsweDNlLDB4MDAsMHgwYywweGYwLDB4MTIsMHhkZCwweDAyLDB4Y2YsMHgwMiwweDMzLDB4YzAsMHg0YywweGYwLDB4MGIsMHg4MCwweDAzIH0gfSwKLXsgIDE2LCAweGM3YjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhNCwweDE5LDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGM3YzAsIDAsIHsweDBmLDB4YjEsMHgwMywweGRjLDB4MDAsMHhiZiwweDAxLDB4M2YsMHgwMCwweDBmLDB4ZjIsMHgyMywweGZjLDB4MTAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGM3ZDAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGYwLDB4MDEsMHhmNCwweDg0LDB4ZmYsMHgwMCwweDNkLDB4YzAsMHg0ZiwweGYwLDB4MTMsMHg2OCwweDA2IH0gfSwKLXsgIDE2LCAweGM3ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHg0MCwweGRmLDB4ODAsMHgzMywweGM4IH0gfSwKLXsgIDE2LCAweGM3ZjAsIDAsIHsweDBjLDB4ZjgsMHgwMywweDNjLDB4MGEsMHg5ZiwweGMwLDB4M2YsMHhmMCwweDA4LDB4YjgsMHgwMiwweDNlLDB4MDAsMHhmZiwweDgwIH0gfSwKLXsgIDE2LCAweGM4MDAsIDAsIHsweDNmLDB4ZDgsMHgwYywweGY5LDB4NjEsMHgyZSwweDQwLDB4NmYsMHg5MCwweDNmLDB4ZTQsMHg4ZiwweGYxLDB4ODMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGM4MTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHgwNCwweDhiLDB4ODAsMHgyMywweGYwIH0gfSwKLXsgIDE2LCAweGM4MjAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDNkLDB4NDAsMHhhYiwweDAwLDB4MGUsMHgwOCwweDQ4LDB4MjIsMHg4MiwweDZjLDB4MjAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGM4MzAsIDAsIHsweDJmLDB4ZDAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEsMHgwYiwweGIwLDB4MDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGM4NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMiwweDgzLDB4MDEsMHhhMCwweGM1IH0gfSwKLXsgIDE2LCAweGM4NTAsIDAsIHsweDA4LDB4YjAsMHg0YSwweDRjLDB4YTAsMHg4MCwweDI0LDB4MjgsMHhjOCwweDA5LDB4MzIsMHgwMiwweDRjLDB4MDAsMHhiMywweDA4IH0gfSwKLXsgIDE2LCAweGM4NjAsIDAsIHsweDJlLDB4ZDEsMHgyOSwweGIyLDB4M2EsMHgwYywweDg0LDB4YTMsMHgyMSwweDJjLDB4YzgsMHg0YiwweGIyLDB4MGEsMHgzMiwweDAxIH0gfSwKLXsgIDE2LCAweGM4NzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwOCwweDhiLDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGM4ODAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDRjLDB4MDAsMHg4OCwweDIxLDB4MjQsMHgyMSwweDA5LDB4YjAsMHg0NiwweDZjLDB4MDAsMHhiYiwweDA2IH0gfSwKLXsgIDE2LCAweGM4OTAsIDAsIHsweDJlLDB4YzAsMHgwOSwweGIwLDB4MDIsMHgyYywweDEwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGM4YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGM4YjAsIDAsIHsweDBjLDB4YjksMHgwMiwweDZjLDB4MDAsMHhjYiwweGM4LDB4M2EsMHhjMCwweDJkLDB4OTAsMHgwYiwweDJjLDB4MDgsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGM4YzAsIDAsIHsweDNlLDB4YzAsMHgwZCwweDMwLDB4NDIsMHgyYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHgwMCwweDA0IH0gfSwKLXsgIDE2LCAweGM4ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmMsMHgwMCwweGVmLDB4MDAsMHgzZCwweGMwIH0gfSwKLXsgIDE2LCAweGM4ZTAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGJjLDB4MDYsMHhlZiwweDgyLDB4M2YsMHg0MCwweDRlLDB4YzksMHg4MywweGJjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGM4ZjAsIDAsIHsweDdmLDB4YzAsMHgxYywweGYwLDB4MTMsMHg3YywweDAwLDB4ZmYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGM5MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDIsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGM5MTAsIDAsIHsweDBlLDB4YjAsMHgwMywweGFjLDB4MjAsMHhkOCwweDQwLDB4M2UsMHhjMCwweDhjLDB4OTAsMHgwYiwweDJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGM5MjAsIDAsIHsweDNlLDB4YzksMHgwZCwweGIwLDB4MzMsMHhlYywweDA4LDB4ZmIsMHgwMiwweDNlLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg1NCwweDA0IH0gfSwKLXsgIDE2LCAweGM5MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGIzLDB4MDAsMHgyZiwweGMwIH0gfSwKLXsgIDE2LCAweGM5NDAsIDAsIHsweDBiLDB4MzAsMHgxMiwweGZjLDB4MDAsMHg4OCwweGEwLDB4MmUsMHg0MCwweDI4LDB4OTQsMHgwMiwweDJjLDB4MTAsMHhiYiwweDA0IH0gfSwKLXsgIDE2LCAweGM5NTAsIDAsIHsweDJkLDB4YzAsMHgyOCwweGIwLDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDcyLDB4MDYsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGM5NjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweGM5NzAsIDAsIHsweDBhLDB4MTAsMHgwMiwweGNkLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGM5ODAsIDAsIHsweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweGM5OTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHg0MCwweGI3LDB4ODAsMHgyZCwweGUyIH0gfSwKLXsgIDE2LCAweGM5YTAsIDAsIHsweDBiLDB4NTgsMHgwMiwweGRlLDB4MDIsMHg5NywweDgxLDB4MmYsMHhhMCwweDA4LDB4NjgsMHgwMiwweDVlLDB4MDAsMHhiNywweDgxIH0gfSwKLXsgIDE2LCAweGM5YjAsIDAsIHsweDJmLDB4ZTAsMHgwOCwweDc5LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MSwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHgzYywweDAwIH0gfSwKLXsgIDE2LCAweGM5YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYzLDB4MDAsMHgzYywweGMwIH0gfSwKLXsgIDE2LCAweGM5ZDAsIDAsIHsweDBlLDB4MzIsMHgwMywweGNjLDB4ODAsMHhkMywweDAwLDB4M2MsMHhjNCwweDBjLDB4MzksMHgwMywweDRjLDB4MDgsMHhmMywweDFhIH0gfSwKLXsgIDE2LCAweGM5ZTAsIDAsIHsweDNjLDB4YzYsMHgwZCwweDMwLDB4MDMsMHhjZSwweDIwLDB4ZjMsMHgwOCwweDNjLDB4YzAsMHgwZiwweDMwLDB4MDMsMHg1MiwweDAyIH0gfSwKLXsgIDE2LCAweGM5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGNhMDAsIDAsIHsweDBiLDB4YjAsMHgwMywweGNjLDB4MjAsMHhlYiwweDAwLDB4M2MsMHg4MCwweDBmLDB4YjAsMHg0MSwweGFjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGNhMTAsIDAsIHsweDNjLDB4YzIsMHgwZiwweGIwLDB4MDMsMHhlYywweDQwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGNhMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWUsMHgwMiwweGMzLDB4ODAsMHgzMCwweGNlIH0gfSwKLXsgIDE2LCAweGNhMzAsIDAsIHsweDBkLDB4OTgsMHgwMywweGFjLDB4YTAsMHhjMywweDgwLDB4YjIsMHhjMCwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGNhNDAsIDAsIHsweDNlLDB4ZDIsMHg0ZiwweGIwLDB4MDksMHgyZSwweDA4LDB4NGIsMHgwMSwweDNlLDB4YzAsMHgyNCwweGIwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweGNhNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDEsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGNhNjAsIDAsIHsweDQ4LDB4NTAsMHgxMiwweDRjLDB4MDAsMHg4NywweDAwLDB4MzUsMHhjMCwweDRiLDB4NjAsMHgwMiwweGRjLDB4MDQsMHhiNywweDAxIH0gfSwKLXsgIDE2LCAweGNhNzAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwMCwweDJkLDB4YzEsMHgwYywweDcyLDB4MDIsMHhmMiwweDA0IH0gfSwKLXsgIDE2LCAweGNhODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweDg3LDB4ODAsMHgyMywweGUwIH0gfSwKLXsgIDE2LCAweGNhOTAsIDAsIHsweDA4LDB4ZjgsMHgwMiwweGRlLDB4ODAsMHg4ZiwweDgxLDB4MjEsMHhlMCwweDRiLDB4NzgsMHgxMiwweGRlLDB4MDQsMHgzNywweDgwIH0gfSwKLXsgIDE2LCAweGNhYTAsIDAsIHsweDJkLDB4ZTgsMHgwYiwweGY4LDB4MDIsMHgzZSwweDE4LDB4ODcsMHg4MCwweDJmLDB4ZTAsMHgwOSwweDc5LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGNhYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDAsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweGNhYzAsIDAsIHsweDI4LDB4MzAsMHg0MiwweDRjLDB4MDAsMHg4MywweDAwLDB4MjQsMHhjMCwweDBiLDB4MzgsMHgwNiwweGNjLDB4MDQsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGNhZDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweGNhZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgzMSwweDgwIH0gfSwKLXsgIDE2LCAweGNhZjAsIDAsIHsweDA4LDB4ZTAsMHgwMiwweDk4LDB4MDIsMHhjZSwweDAwLDB4MzMsMHg4NCwweDBiLDB4ZWEsMHgwMywweGU4LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweGNiMDAsIDAsIHsweDNmLDB4ODEsMHgwZiwweGEwLDB4MDMsMHgyOCwweDAwLDB4Y2EsMHgwMCwweDNlLDB4ODAsMHgwZCwweGUwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweGNiMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGNiMjAsIDAsIHsweDBlLDB4ODQsMHgyMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgxMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGNiMzAsIDAsIHsweDNlLDB4MTAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGNiNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMSwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGNiNTAsIDAsIHsweDBjLDB4OWEsMHgxMywweGU0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTgsMHgyMywweGU0LDB4ODAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGNiNjAsIDAsIHsweDNlLDB4NDAsMHgyYywweDk4LDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGNiNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwNCwweGI5LDB4MDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGNiODAsIDAsIHsweDY4LDB4OWMsMHgyMiwweGU0LDB4MDIsMHg4OSwweDAxLDB4N2MsMHg1MCwweDhkLDB4OTgsMHgyMiwweGU0LDB4ODAsMHhiOSwweDIwIH0gfSwKLXsgIDE2LCAweGNiOTAsIDAsIHsweDJlLDB4NTAsMHg0OCwweDEwLDB4MGIsMHgyNSwweDAwLDB4YjksMHg0NCwweDJjLDB4NDAsMHgyOCwweDkwLDB4MDAsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGNiYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDUwIH0gfSwKLXsgIDE2LCAweGNiYjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGU0LDB4MDQsMHg4OSwweDAwLDB4MmUsMHg1MCwweDBhLDB4OTIsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGNiYzAsIDAsIHsweDJjLDB4NDAsMHgwOCwweDkxLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGNiZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDUsMHgwMCwweGIxLDB4MDEsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGNiZTAsIDAsIHsweDQ4LDB4MzAsMHgwMiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MmEsMHg0MCwweDRiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweGNiZjAsIDAsIHsweDBjLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJlLDB4NDAsMHg0OCwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGNjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGI4LDB4MDEsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGNjMTAsIDAsIHsweDFjLDB4ODAsMHgwNywweGUxLDB4NTAsMHhjOCwweDUwLDB4MmUsMHgxNCwweDFlLDB4ODUsMHgwMywweGUxLDB4NDEsMHhmOCwweDUwIH0gfSwKLXsgIDE2LCAweGNjMjAsIDAsIHsweDNlLDB4MTQsMHgwYywweDg1LDB4MTMsMHgyMSwweDQ4LDB4ZjgsMHg1MCwweDNlLDB4MTQsMHgwYywweDg1LDB4NDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweGNjMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDE5LDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDUxIH0gfSwKLXsgIDE2LCAweGNjNDAsIDAsIHsweDBmLDB4NTAsMHgwMywweGU1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDFkLDB4ZDAsMHgwMywweGY0LDB4MTAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGNjNTAsIDAsIHsweDNlLDB4NTAsMHgwZiwweDUwLDB4MDAsMHg5NCwweDAwLDB4ZjksMHgwMCwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGNjNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZTQsMHg1MCwweGNkLDB4MDAsMHgzMSwweDYwIH0gfSwKLXsgIDE2LCAweGNjNzAsIDAsIHsweDA0LDB4ZDAsMHgwMywweDM2LDB4ODAsMHhjMSwweDQyLDB4MmUsMHg1MCwweDFmLDB4OTQsMHgwMywweGU1LDB4MDAsMHhlOSwweDAyIH0gfSwKLXsgIDE2LCAweGNjODAsIDAsIHsweDJlLDB4NzIsMHgwYSwweDkwLDB4MjIsMHgwNSwweDA4LDB4ZTksMHg0MCwweDNlLDB4NTAsMHg0MCwweDljLDB4MDMsMHgyNiwweDAwIH0gfSwKLXsgIDE2LCAweGNjOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4YzIsMHg4MiwweDg4LDB4MDAsMHgyMiwweDE1IH0gfSwKLXsgIDE2LCAweGNjYTAsIDAsIHsweDA4LDB4ODAsMHgwMiwweDIzLDB4NTgsMHg4OCwweGEwLDB4MmUsMHgyOCwweDBiLDB4YWEsMHg0MiwweGUyLDB4ODIsMHg4OCwweDgwIH0gfSwKLXsgIDE2LCAweGNjYjAsIDAsIHsweDJlLDB4MzgsMHgyOCwweDg4LDB4MDIsMHgyMiwweDgwLDB4YjgsMHhhMCwweDNhLDB4MjgsMHgwOCwweGNkLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGNjYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDgxLDB4MDAsMHhhNiwweDQwIH0gfSwKLXsgIDE2LCAweGNjZDAsIDAsIHsweDI4LDB4MTAsMHgwYSwweDI0LDB4MjYsMHg5NSwweDAwLDB4MGQsMHg0MCwweDBiLDB4NTAsMHgwMiwweDc0LDB4MDAsMHg4NSwweDA4IH0gfSwKLXsgIDE2LCAweGNjZTAsIDAsIHsweDJmLDB4NDAsMHg3OSwweGQyLDB4YWEsMHgxNCwweDAwLDB4YTUsMHgwMSwweDJmLDB4NDAsMHgzOCwweDUwLDB4MDIsMHgxMiwweDAxIH0gfSwKLXsgIDE2LCAweGNjZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwNCwweDg5LDB4MDAsMHgyNiwweDQwIH0gfSwKLXsgIDE2LCAweGNkMDAsIDAsIHsweDA4LDB4OTEsMHgwMiwweDI0LDB4MTAsMHg5ZCwweDA4LDB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAyIH0gfSwKLXsgIDE2LCAweGNkMTAsIDAsIHsweDJmLDB4NDAsMHgwOSwweGQwLDB4MDAsMHgzNCwweDAwLDB4YmQsMHgwMCwweDBiLDB4NDAsMHgxOCwweDcwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGNkMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzQsMHgwMCwweGM5LDB4MDUsMHgzNiwweDQxIH0gfSwKLXsgIDE2LCAweGNkMzAsIDAsIHsweDRjLDB4OTAsMHg2MywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBiLDB4OTAsMHgwMywweDQ0LDB4MDgsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGNkNDAsIDAsIHsweDNlLDB4NDAsMHgxNSwweDEwLDB4MDMsMHgyNCwweDAwLDB4ZTksMHgwMCwweDNjLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGNkNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwNCwweGY5LDB4MDAsMHgzYSwweDQwIH0gfSwKLXsgIDE2LCAweGNkNjAsIDAsIHsweDRmLDB4OTgsMHgwMywweGU0LDB4MDAsMHhlOSwweDk5LDB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweGU0LDB4MjAsMHhmOSwweDBhIH0gfSwKLXsgIDE2LCAweGNkNzAsIDAsIHsweDNlLDB4NDAsMHgwZSwweDkwLDB4NDMsMHg2NCwweDI0LDB4ZjksMHgwOCwweDNhLDB4NDIsMHgwZiwweDkwLDB4OGIsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGNkODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgxMiwweDAwIH0gfSwKLXsgIDE2LCAweGNkOTAsIDAsIHsweDBjLDB4ODAsMHg0MywweGUwLDB4MDAsMHhjOCwweDQwLDB4MzIsMHgwMCwweDBmLDB4ODQsMHg1MywweGUwLDB4MTAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGNkYTAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4MjMsMHgyMCwweDAwLDB4ZDgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGNkYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MzgsMHgwMiwweDgyLDB4MDAsMHhhMSwweDg4IH0gfSwKLXsgIDE2LCAweGNkYzAsIDAsIHsweDA4LDB4NjAsMHgyMiwweGM4LDB4MDAsMHg4YSwweDQwLDB4MzYsMHhhMSwweDBiLDB4YTAsMHgwMiwweGU5LDB4MTAsMHhiYSwweDQ0IH0gfSwKLXsgIDE2LCAweGNkZDAsIDAsIHsweDJjLDB4ODAsMHgwYywweGE0LDB4MTIsMHgyOSwweDAyLDB4OGEsMHg0NCwweDJlLDB4OTgsMHgwYiwweGE0LDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGNkZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgxMCwweDgzLDB4MDAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGNkZjAsIDAsIHsweDE4LDB4MzAsMHg5MiwweGM0LDB4MDgsMHg5MywweDQwLDB4MjAsMHhlMCwweDBiLDB4MzAsMHgwMiwweGNkLDB4MDAsMHhiMywweDQwIH0gfSwKLXsgIDE2LCAweGNlMDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDNhLDB4NDIsMHhjZCwweDAwLDB4ODMsMHg0MCwweDJjLDB4ZDAsMHgwYiwweDM4LDB4MDIsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGNlMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDQxLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGNlMjAsIDAsIHsweDI4LDB4NzAsMHgwMiwweGQxLDB4MDAsMHg5ZCwweDgwLDB4MjUsMHhjMiwweDRiLDB4NjAsMHgwMiwweGRjLDB4MDgsMHhiNywweDAyIH0gfSwKLXsgIDE2LCAweGNlMzAsIDAsIHsweDJjLDB4YzAsMHgwYSwweDc0LDB4MDIsMHhmZSwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDM0LDB4MDIsMHg2OCwweDAwIH0gfSwKLXsgIDE2LCAweGNlNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODQsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweGNlNTAsIDAsIHsweDBjLDB4NjgsMHgwMywweGQ2LDB4MDAsMHg5NywweDgwLDB4MzEsMHhhMCwweDBmLDB4NTgsMHgxMywweGRlLDB4MDgsMHhmNywweDgyIH0gfSwKLXsgIDE2LCAweGNlNjAsIDAsIHsweDNkLDB4YTAsMHgwZiwweGY4LDB4MGIsMHhkZSwweDAwLDB4YzcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4OGIsMHg2YSwweDAyIH0gfSwKLXsgIDE2LCAweGNlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWQsMHg4MCwweGYzLDB4MDAsMHgzZSwweGMxIH0gfSwKLXsgIDE2LCAweGNlODAsIDAsIHsweDBmLDB4YTAsMHgyMywweGMwLDB4MDIsMHhlOSwweDAwLDB4M2UsMHg4MSwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGNlOTAsIDAsIHsweDNlLDB4YzAsMHgwZCwweGIwLDB4MTMsMHgyYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg4MiwweDAyIH0gfSwKLXsgIDE2LCAweGNlYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgzMiwweGM3LDB4ODAsMHgzMywweDYwIH0gfSwKLXsgIDE2LCAweGNlYjAsIDAsIHsweDBmLDB4NzgsMHgwMywweDNlLDB4YzgsMHg0ZSwweDgwLDB4MjMsMHg2NCwweDBjLDB4ZjgsMHgwMywweDNhLDB4MDAsMHhjZSwweDgwIH0gfSwKLXsgIDE2LCAweGNlYzAsIDAsIHsweDEzLDB4ZWMsMHgwNiwweGQ4LDB4MDMsMHgzYSwweDAwLDB4ZGUsMHg4MCwweDMzLDB4YTQsMHgwYywweGM4LDB4MDMsMHhkMCwweDAwIH0gfSwKLXsgIDE2LCAweGNlZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweDg3LDB4MTAsMHgwMSwweGMwIH0gfSwKLXsgIDE2LCAweGNlZTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweDE4LDB4NTAsMHg4NCwweDAwLDB4MmIsMHg0NCwweDA4LDB4NjAsMHgxMiwweDk4LDB4MDAsMHg4NiwweDEzIH0gfSwKLXsgIDE2LCAweGNlZjAsIDAsIHsweDIxLDB4YzQsMHg4OCwweDUwLDB4MDIsMHgxOCwweDgwLDB4ODYsMHgwMCwweDIxLDB4ODAsMHgwOCwweDYxLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGNmMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweDQwIH0gfSwKLXsgIDE2LCAweGNmMTAsIDAsIHsweDBiLDB4ZjEsMHgwMiwweDVjLDB4ODAsMHgwNiwweDAwLDB4MjEsMHgwMCwweDg4LDB4ZDAsMHgwMiwweDVjLDB4MDAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGNmMjAsIDAsIHsweDIwLDB4ODksMHg4YSwweGYxLDB4MDIsMHgxYywweDA4LDB4ODcsMHgxMCwweDIxLDB4ODEsMHg4OCwweDQ4LDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGNmMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgxMCwweDgzLDB4MDQsMHhhMCwweGMxIH0gfSwKLXsgIDE2LCAweGNmNDAsIDAsIHsweDBiLDB4MzAsMHgwYSwweDQ4LDB4MGMsMHg4OCwweDA2LDB4NjAsMHgzOCwweDA4LDB4MDQsMHg0MiwweGVjLDB4MDEsMHg4YiwweDA0IH0gfSwKLXsgIDE2LCAweGNmNTAsIDAsIHsweDIyLDB4YzEsMHgwOCwweDMwLDB4MGEsMHgyYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ODAsMHgwMCwweDIwLDB4MDIsMHhkOCwweDA0IH0gfSwKLXsgIDE2LCAweGNmNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGMzLDB4MDAsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGNmNzAsIDAsIHsweDhmLDB4OTAsMHgwMywweDY0LDB4MGEsMHhjYiwweDAyLDB4YjIsMHhmMiwweDIwLDB4MzUsMHgxMiwweDY0LDB4MGEsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGNmODAsIDAsIHsweGIyLDB4NDAsMHgwZSwweGEwLDB4MDMsMHgyNCwweDBhLDB4YzksMHgwMCwweGEyLDB4NDAsMHgyYywweGEwLDB4MDMsMHhlZSwweDA0IH0gfSwKLXsgIDE2LCAweGNmOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYywweDgwIH0gfSwKLXsgIDE2LCAweGNmYTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGE1LDB4MDAsMHhkYiwweDQwLDB4M2UsMHhkMCwweDRkLDB4YjQsMHgxMywweGE0LDB4MDgsMHhmYiwweDAxIH0gfSwKLXsgIDE2LCAweGNmYjAsIDAsIHsweDNlLDB4YzAsMHgxYywweGEwLDB4MDMsMHg2YywweDAwLDB4ZmIsMHgwNCwweDNlLDB4NTAsMHg0ZiwweGE0LDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGNmYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGNmZDAsIDAsIHsweDBjLDB4ZTgsMHg0MywweDI2LDB4MDAsMHhkZiwweDgwLDB4YjMsMHhlMCwweDBmLDB4ZjgsMHgwMywweDdjLDB4MDAsMHhjZCwweDAwIH0gfSwKLXsgIDE2LCAweGNmZTAsIDAsIHsweDMzLDB4MDQsMHgwYywweGUwLDB4MjMsMHgzNCwweDQwLDB4Y2QsMHgwMCwweDIzLDB4NDAsMHgwYywweGUwLDB4MDMsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweGNmZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgxMCwweGJiLDB4MDAsMHhhMiwweGQyIH0gfSwKLXsgIDE2LCAweGQwMDAsIDAsIHsweDA4LDB4MjgsMHgwMiwweDA0LDB4NjAsMHg4YiwweDE5LDB4MjIsMHhjNiwweDBlLDB4YjEsMHg4YSwweDJlLDB4NDAsMHg4YiwweDkwIH0gfSwKLXsgIDE2LCAweGQwMTAsIDAsIHsweDIyLDB4YzEsMHgwOCwweGE0LDB4ODIsMHgyYywweDAwLDB4OGIsMHg5MCwweDIyLDB4NjQsMHg0OCwweGE0LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGQwMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGQwMzAsIDAsIHsweDA4LDB4OTEsMHgyZSwweDI0LDB4MDAsMHg5YiwweDAwLDB4MjIsMHhjMCwweDhiLDB4YjAsMHgxMiwweDIwLDB4MDQsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGQwNDAsIDAsIHsweDIyLDB4NDAsMHgwOCwweDEwLDB4MjIsMHgyMCwweDAwLDB4ODgsMHgwMSwweDJhLDB4ZDAsMHgwOCwweDgwLDB4NDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGQwNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MDQsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGQwNjAsIDAsIHsweDA4LDB4MTAsMHgwNiwweDA0LDB4MTAsMHg4MywweDAwLDB4MjAsMHhjMCwweDhiLDB4YjAsMHgxMiwweDAwLDB4MDAsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGQwNzAsIDAsIHsweDIwLDB4YzAsMHgyOCwweDEwLDB4NDIsMHgwOSwweDA2LDB4ODIsMHgwMCwweDI4LDB4YzAsMHgwOCwweDIwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGQwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGJiLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGQwOTAsIDAsIHsweDJjLDB4YjAsMHgwMywweDI0LDB4MDAsMHhkMywweDAwLDB4MzIsMHhjMCwweDVmLDB4YjUsMHgwMywweDBjLDB4MDIsMHhjMSwweDAwIH0gfSwKLXsgIDE2LCAweGQwYTAsIDAsIHsweGIyLDB4MDAsMHgwYywweGIwLDB4MGIsMHgwNSwweDAwLDB4YzEsMHgwMCwweGI4LDB4YzAsMHgyYywweDgwLDB4MTMsMHhlMCwweDAzIH0gfSwKLXsgIDE2LCAweGQwYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZGMsMHgwMCwweGZmLDB4MDAsMHgxZiwweGMwIH0gfSwKLXsgIDE2LCAweGQwYzAsIDAsIHsweDg3LDB4ZjAsMHgwMSwweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBlLDB4NzAsMHg0MywweGZjLDB4MTAsMHg3ZiwweDAwIH0gfSwKLXsgIDE2LCAweGQwZDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweDcwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGQwZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjEsMHg4NCwweGZlLDB4NjEsMHgzMSwweGQ4IH0gfSwKLXsgIDE2LCAweGQwZjAsIDAsIHsweDBjLDB4YjIsMHhjMywweGZjLDB4ZTAsMHhjYywweDgwLDB4N2IsMHhjMCwweDBlLDB4ZjEsMHgwMywweDdjLDB4ZTAsMHhjYywweDgzIH0gfSwKLXsgIDE2LCAweGQxMDAsIDAsIHsweDNmLDB4MjAsMHgwZiwweGYwLDB4Y2IsMHgzMiwweDQ0LDB4ZGMsMHg4NCwweDNmLDB4MjUsMHg0YywweGYyLDB4NDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGQxMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTQsMHg0OCwweGIwLDB4MTAsMHgyMiwweGRjIH0gfSwKLXsgIDE2LCAweGQxMjAsIDAsIHsweDA4LDB4YjYsMHgwMiwweGZkLDB4OTIsMHg4OCwweDg1LDB4MjMsMHhmNCwweDQwLDB4ZjEsMHgwMiwweGVkLDB4MDAsMHg4OCwweDJkIH0gfSwKLXsgIDE2LCAweGQxMzAsIDAsIHsweDBlLDB4NjAsMHgwYiwweGJjLDB4MTIsMHgyYywweDEwLDB4YTgsMHg4MiwweDJlLDB4MDAsMHgwYSwweGZjLDB4MjIsMHhhMCwweDA0IH0gfSwKLXsgIDE2LCAweGQxNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHg4MCwweGIzLDB4MjIsMHgyOCwweGMwIH0gfSwKLXsgIDE2LCAweGQxNTAsIDAsIHsweDA4LDB4MzAsMHg4MiwweGNjLDB4MDEsMHg4OCwweDAwLDB4MmMsMHhjMCwweDRhLDB4MzIsMHgwMiwweGNjLDB4MDAsMHgwMSwweDAxIH0gfSwKLXsgIDE2LCAweGQxNjAsIDAsIHsweDI4LDB4MDAsMHg0YiwweGIwLDB4MDIsMHhhMCwweDAwLDB4ODAsMHgwMCwweDJjLDB4MDksMHgwOCwweDM0LDB4MDIsMHg2MiwweDAxIH0gfSwKLXsgIDE2LCAweGQxNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwNCwweGIyLDB4MTAsMHgyYSwweGMxIH0gfSwKLXsgIDE2LCAweGQxODAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGVjLDB4MTAsMHg4OSwweDgwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDgsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGQxOTAsIDAsIHsweDJlLDB4NDAsMHg4MywweGIwLDB4MDIsMHhhMCwweDQwLDB4YjksMHg4MCwweDJjLDB4MjEsMHgwYSwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGQxYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGZhLDB4MDAsMHhiYSwweGMwIH0gfSwKLXsgIDE2LCAweGQxYjAsIDAsIHsweDJjLDB4YjAsMHg0MywweGVjLDB4MDAsMHhjMCwweDgwLDB4M2UsMHhjMCwweDhlLDB4YjAsMHgwMywweDRjLDB4MGMsMHhjOCwweDEwIH0gfSwKLXsgIDE2LCAweGQxYzAsIDAsIHsweDNlLDB4ODAsMHg4ZiwweGIwLDB4MDMsMHg4MiwweDEwLDB4ZDgsMHg4MiwweDNlLDB4MjgsMHgwYywweGIwLDB4MGIsMHg1MCwweDA0IH0gfSwKLXsgIDE2LCAweGQxZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjYsMHg4MCwweGZkLDB4MDIsMHgzNywweGMxIH0gfSwKLXsgIDE2LCAweGQxZTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHg1MywweGZjLDB4MDIsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGQxZjAsIDAsIHsweDJmLDB4YTQsMHg4YiwweGYwLDB4ODMsMHg3YywweDAwLDB4YWQsMHgwMiwweDJmLDB4NDAsMHgwMywweDcwLDB4MDMsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGQyMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDQsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGQyMTAsIDAsIHsweDRjLDB4YjAsMHgyMywweDJjLDB4MDAsMHhmOCwweDQwLDB4M2UsMHhjMiwweDBjLDB4YjAsMHgwMywweDJjLDB4MDAsMHhmYiwweDQxIH0gfSwKLXsgIDE2LCAweGQyMjAsIDAsIHsweDMyLDB4YzIsMHgwZiwweGIwLDB4NDMsMHgyZCwweDAwLDB4YzgsMHg1MCwweDNlLDB4NDAsMHgwYywweGIwLDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGQyMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmYsMHg5MCwweGI5LDB4NTAsMHgwMywweGMwIH0gfSwKLXsgIDE2LCAweGQyNDAsIDAsIHsweDE4LDB4ZjAsMHgxYSwweDNjLDB4MDAsMHhiOSwweDMyLDB4MmQsMHhlMCwweDM4LDB4ZjAsMHg2MCwweDNjLDB4MDQsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGQyNTAsIDAsIHsweDNlLDB4ZjAsMHgwYiwweDdjLDB4ODAsMHgyYywweDAwLDB4ZDksMHhjMCwweDJlLDB4NDAsMHgwZCwweGYwLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGQyNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGIsMHgyNCwweGIyLDB4MTAsMHgwMiwweGMxIH0gfSwKLXsgIDE2LCAweGQyNzAsIDAsIHsweDI4LDB4MzAsMHgwMiwweDZjLDB4MDQsMHhiMiwweGMxLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMCwweDBjLDB4MDAsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweGQyODAsIDAsIHsweDI4LDB4MjQsMHgwMywweDNjLDB4MGEsMHgwMCwweDAwLDB4ODIsMHhjOCwweDJjLDB4YTAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGQyOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTYsMHgwMCwweGI0LDB4ODAsMHgyMSwweGU0IH0gfSwKLXsgIDE2LCAweGQyYTAsIDAsIHsweDQ4LDB4N2IsMHgwMiwweDVlLDB4MDAsMHhiNiwweDgwLDB4NmQsMHhlMiwweDQ4LDB4NzksMHgyMiwweDFlLDB4NDAsMHhhYywweDg0IH0gfSwKLXsgIDE2LCAweGQyYjAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweGZhLDB4MDAsMHg1MiwweDQwLDB4OTYsMHg4MCwweDJkLDB4ZTgsMHgxOSwweDM4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGQyYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHg0MCwweGYzLDB4MTAsMHhiMCwweGM0IH0gfSwKLXsgIDE2LCAweGQyZDAsIDAsIHsweDA4LDB4M2EsMHgwMiwweDRjLDB4OTAsMHhmMywweDEwLDB4M2MsMHhjYywweDA4LDB4MzEsMHgwMywweDBjLDB4NDksMHhiMCwweDQwIH0gfSwKLXsgIDE2LCAweGQyZTAsIDAsIHsweDMwLDB4MDUsMHgwZiwweDMwLDB4MDcsMHgyMSwweDQwLDB4NDMsMHgwMSwweDNlLDB4YzIsMHgxYywweDMwLDB4NDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGQyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDBkLDB4YmMsMHgxMCwweGZjLDB4MTAsMHgzZiwweGM1IH0gfSwKLXsgIDE2LCAweGQzMDAsIDAsIHsweDBmLDB4ZjEsMHgwMSwweGJjLDB4MDQsMHhmZiwweDA0LDB4M2YsMHhjNCwweDBmLDB4YjEsMHg0YiwweGZjLDB4NjQsMHhmNywweDAwIH0gfSwKLXsgIDE2LCAweGQzMTAsIDAsIHsweDM3LDB4YzAsMHgwZiwweDcyLDB4NTMsMHhhYywweDQ0LDB4ZmYsMHgwMSwweDNmLDB4YzksMHgwZiwweGY0LDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGQzMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwOCwweGZhLDB4MDAsMHgzZSwweGUwIH0gfSwKLXsgIDE2LCAweGQzMzAsIDAsIHsweDBjLDB4YjAsMHgwMywweDJjLDB4MDAsMHhjYiwweDAyLDB4M2UsMHhjYSwweDBmLDB4YjIsMHgwNywweDJlLDB4MDAsMHhkYiwweDAyIH0gfSwKLXsgIDE2LCAweGQzNDAsIDAsIHsweDMyLDB4MDgsMHgwZiwweDMxLDB4MDMsMHgyYywweDAwLDB4Y2IsMHgwNCwweDNlLDB4ODAsMHgwYywweDM1LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGQzNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwMCwweGI1LDB4MDAsMHgyZCwweGM4IH0gfSwKLXsgIDE2LCAweGQzNjAsIDAsIHsweDA4LDB4NzAsMHgwYSwweDFjLDB4MjIsMHg4NywweDAwLDB4MmQsMHhjOSwweDBiLDB4ZjIsMHg4MiwweDljLDB4ODAsMHhhNiwweDAwIH0gfSwKLXsgIDE2LCAweGQzNzAsIDAsIHsweDA5LDB4OGIsMHgwYiwweDcwLDB4MGEsMHgxYywweDAyLDB4ODUsMHgwMCwweDJkLDB4NDAsMHgwOCwweDcwLDB4MDIsMHg5MiwweDA0IH0gfSwKLXsgIDE2LCAweGQzODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4ODAsMHgyYywweGVjIH0gfSwKLXsgIDE2LCAweGQzOTAsIDAsIHsweDA4LDB4N2IsMHgwMiwweDVlLDB4NDAsMHg4NSwweDg5LDB4MmQsMHhlYywweDhiLDB4N2IsMHgwMiwweDRlLDB4ODQsMHg4ZiwweDgwIH0gfSwKLXsgIDE2LCAweGQzYTAsIDAsIHsweDI1LDB4NjQsMHgwYiwweGZhLDB4MDIsMHgxMiwweDA4LDB4OTcsMHg4MCwweDZmLDB4ZTEsMHgwOCwweDdhLDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGQzYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgyMCwweGIzLDB4NjQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGQzYzAsIDAsIHsweDA4LDB4MzAsMHgwNiwweDBjLDB4MTAsMHg4MywweDhhLDB4NmMsMHhjMCwweDViLDB4MzAsMHg0MiwweGNjLDB4MDAsMHhhYiwweDEwIH0gfSwKLXsgIDE2LCAweGQzZDAsIDAsIHsweDJjLDB4ZjIsMHgwYiwweDMwLDB4MDIsMHgwZCwweDAwLDB4OTMsMHgwNCwweDJjLDB4ZDUsMHgwOCwweDMwLDB4MGEsMHg5MiwweDA0IH0gfSwKLXsgIDE2LCAweGQzZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmIsMHgwMCwweGZlLDB4YzAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGQzZjAsIDAsIHsweDJjLDB4YTAsMHgwMywweDY4LDB4MDAsMHhjNiwweDQwLDB4M2YsMHg4MCwweDBmLDB4YTAsMHgwMiwweDY4LDB4MDAsMHhjZSwweDQ0IH0gfSwKLXsgIDE2LCAweGQ0MDAsIDAsIHsweDM2LDB4OTAsMHg0ZiwweDYwLDB4MDMsMHgxYiwweDcwLDB4ZGUsMHhkOCwweDNmLDB4YTAsMHgwYywweDIwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ0MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHg0MCwweGY4LDB4MTAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGQ0MjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGEwLDB4MTAsMHhmOCwweDQyLDB4M2UsMHgxMCwweDFmLDB4ODAsMHgwMywweGEwLDB4MDAsMHhlOCwweDBjIH0gfSwKLXsgIDE2LCAweGQ0MzAsIDAsIHsweDNhLDB4MDQsMHgxZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHg0NSwweDdlLDB4MDIsMHgyZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGQ0NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4NjQsMHgwMCwweGU5LDB4ODAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ0NTAsIDAsIHsweDBmLDB4OTAsMHgwYiwweDA0LDB4MDgsMHhkOSwweDgwLDB4MzYsMHg0MCwweDBmLDB4MTAsMHgxMywweDI0LDB4MDgsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ0NjAsIDAsIHsweDcyLDB4NzAsMHgwZiwweDkxLDB4MTMsMHgyNCwweDEwLDB4YzksMHgxMCwweDNlLDB4NjksMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGQ0NzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwOCwweGI5LDB4ODAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ0ODAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweGM0LDB4MjIsMHg1MiwweDBiLDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ0OTAsIDAsIHsweDIyLDB4ZTAsMHgwYiwweDkwLDB4MTIsMHgyNCwweDA0LDB4ZDksMHg0YSwweDJlLDB4NjAsMHgwOCwweDkwLDB4MDMsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGQ0YTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGIxLDB4MTgsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ0YjAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4YiwweDIwLDB4MjYsMHg0OSwweDBiLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ0YzAsIDAsIHsweGEyLDB4NDAsMHgwYiwweDkwLDB4OGEsMHgyNCwweDAwLDB4OGIsMHgwMCwweDJjLDB4NDAsMHhhOCwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGQ0ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4NCwweGIxLDB4MjAsMHhhMCwweDQ4IH0gfSwKLXsgIDE2LCAweGQ0ZTAsIDAsIHsweDBiLDB4MTEsMHgwNiwweDA0LDB4MDAsMHg4MywweDAwLDB4MDAsMHg0MCwweDRiLDB4MTEsMHgwMiwweDA0LDB4NDksMHhiMSwweDEwIH0gfSwKLXsgIDE2LCAweGQ0ZjAsIDAsIHsweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgyNCwweDQxLDB4OTEsMHgwMCwweDJjLDB4NTAsMHgwOCwweDEwLDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGQ1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjksMHg0MCwweGU4LDB4NTAsMHgzMiwweDE0IH0gfSwKLXsgIDE2LCAweGQ1MTAsIDAsIHsweDBmLDB4ODYsMHg5MywweDIxLDB4ZTIsMHhjOCwweDAwLDB4MzYsMHgwYSwweDBiLDB4ODYsMHg4YiwweDYxLDB4YTgsMHhmOCwweDQwIH0gfSwKLXsgIDE2LCAweGQ1MjAsIDAsIHsweDIyLDB4ODAsMHgwZiwweDgyLDB4YTMsMHgyMSwweDA4LDB4YzgsMHgwMiwweDNlLDB4MDAsMHgwYywweDgwLDB4NDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGQ1MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0OCwweGZkLDB4MTIsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGQ1NDAsIDAsIHsweDBmLDB4MTIsMHgwMywweGM0LDB4MDAsMHg3ZCwweDAxLDB4MWUsMHg0MCwweDBiLDB4OTIsMHgwMywweGU0LDB4ODAsMHhmNSwweDIwIH0gfSwKLXsgIDE2LCAweGQ1NTAsIDAsIHsweDM2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhkNCwweDkwLDB4N2QsMHgwMCwweDNkLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGQ1NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHhjMSwweGRkLDB4ODgsMHgzMiwweDcyIH0gfSwKLXsgIDE2LCAweGQ1NzAsIDAsIHsweDBjLDB4OTgsMHgwMywweDI2LDB4MjIsMHhkZCwweDAwLDB4M2YsMHg2MiwweDJjLDB4OTksMHg4MywweDQ2LDB4YTAsMHhjOSwweDQwIH0gfSwKLXsgIDE2LCAweGQ1ODAsIDAsIHsweGIyLDB4NDAsMHgwZiwweGQ4LDB4MDMsMHgyNCwweDAwLDB4ZmQsMHgwMCwweDMzLDB4NTEsMHgyYywweGQ4LDB4ODMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGQ1OTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTMsMHhjMiwweDg4LDB4YzAsMHgyMiwweDMwIH0gfSwKLXsgIDE2LCAweGQ1YTAsIDAsIHsweDA4LDB4OGMsMHg0MiwweDIyLDB4MTEsMHg4YSwweDAxLDB4MmUsMHgwMCwweDA4LDB4ODgsMHg1MiwweDIzLDB4MDAsMHg4MCwweGEzIH0gfSwKLXsgIDE2LCAweGQ1YjAsIDAsIHsweDJhLDB4MDAsMHg0YiwweDgwLDB4NDIsMHgyMiwweGEwLDB4YjgsMHgwMCwweDIyLDB4MjgsMHgwOCwweDg0LDB4MDIsMHg4ZSwweDA0IH0gfSwKLXsgIDE2LCAweGQ1YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDgxLDB4MmQsMHgyMCwweDQ4IH0gfSwKLXsgIDE2LCAweGQ1ZDAsIDAsIHsweDY4LDB4MTQsMHg4MCwweDA0LDB4MjAsMHg4MSwweDAwLDB4MmUsMHg0MCwweDBiLDB4MTIsMHgxMiwweDA0LDB4MjQsMHg4MSwweDIwIH0gfSwKLXsgIDE2LCAweGQ1ZTAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDk0LDB4MzIsMHgwNCwweDkwLDB4YjksMHgwMCwweDIwLDB4NDAsMHg0OCwweDEwLDB4NGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGQ1ZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MjAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ2MDAsIDAsIHsweDA4LDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDgsMHg4OSwweDQwIH0gfSwKLXsgIDE2LCAweGQ2MTAsIDAsIHsweDIyLDB4NTAsMHgwYiwweGIwLDB4MDIsMHgyNCwweDIwLDB4YjksMHgwOSwweGEyLDB4NDQsMHgwOCwweDkwLDB4MDIsMHg4NiwweDA0IH0gfSwKLXsgIDE2LCAweGQ2MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDgsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ2MzAsIDAsIHsweDRjLDB4MTAsMHgyMywweDA0LDB4MDQsMHhkOSwweGMxLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwYiwweDA0LDB4MDgsMHhjMSwweDQwIH0gfSwKLXsgIDE2LCAweGQ2NDAsIDAsIHsweDEyLDB4NDAsMHgwZiwweDkwLDB4NDMsMHgyNCwweDA0LDB4ZjEsMHg0MSwweDMwLDB4NzgsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGQ2NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4ODYsMHg2NCwweGY5LDB4ODAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGQ2NjAsIDAsIHsweDBmLDB4OTAsMHgwYiwweGU0LDB4MDAsMHhmOSwweDk4LDB4M2UsMHg0MCwweDJmLDB4MTAsMHgwMywweGE0LDB4MDIsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGQ2NzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhlNiwweDQwLDB4ZjksMHg5MCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4NDEsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGQ2OTAsIDAsIHsweDBjLDB4ODAsMHgwNywweDIwLDB4MTAsMHhjOCwweDEwLDB4M2UsMHgwYywweDBlLDB4ODAsMHgwMywweGUwLDB4MDQsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ2YTAsIDAsIHsweGJhLDB4MDAsMHgwZiwweDgxLDB4NDMsMHgyMCwweDAwLDB4ZjgsMHg3MCwweDNlLDB4MDAsMHgwZiwweDAwLDB4MGIsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ2YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MzksMHgwMiwweDhlLDB4MjAsMHhhMywweDgwIH0gfSwKLXsgIDE2LCAweGQ2YzAsIDAsIHsweDI4LDB4ZTAsMHgwYSwweDM4LDB4MTAsMHhhZSwweDA0LDB4M2QsMHhhMSwweDhlLDB4ZTAsMHgwMiwweGY4LDB4MDAsMHg4ZSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ZDAsIDAsIHsweDc2LDB4ODAsMHgwYiwweDYwLDB4MDMsMHg3OCwweDAwLDB4YmUsMHg0MCwweDJmLDB4ODIsMHgwYiwweGEwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGQsMHgwMCwweDhiLDB4ODgsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGQ2ZjAsIDAsIHsweDE4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4MywweDQ0LDB4MmMsMHhkMCwweDFiLDB4MzAsMHgxMiwweGNjLDB4MDYsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGQ3MDAsIDAsIHsweDIwLDB4YzEsMHgwYiwweDMwLDB4ODIsMHgwYywweDAxLDB4YjMsMHgwMCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ3MTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHgwMCwweDg1LDB4MDAsMHgyMCwweGNjIH0gfSwKLXsgIDE2LCAweGQ3MjAsIDAsIHsweDA4LDB4NzAsMHgwNiwweDFjLDB4ODQsMHhhNywweDAxLDB4MjksMHhjMCwweDBiLDB4NzIsMHgyMiwweGRjLDB4ODAsMHg4NywweDM0IH0gfSwKLXsgIDE2LCAweGQ3MzAsIDAsIHsweDYxLDB4ODAsMHgwYiwweDEwLDB4MDIsMHg1YywweDAwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ3NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGUsMHgwMCwweDhjLDB4ODAsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweGQ3NTAsIDAsIHsweDBjLDB4ZmUsMHgwMiwweDNmLDB4MDAsMHhjNSwweDgwLDB4MmQsMHhlMCwweDBlLDB4NzgsMHgwMywweGRmLDB4YTAsMHhjNywweGEwIH0gfSwKLXsgIDE2LCAweGQ3NjAsIDAsIHsweDIxLDB4NjAsMHgwZiwweDc4LDB4MDMsMHgxZSwweDgwLDB4ZjcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGQ3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGQ3ODAsIDAsIHsweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYSwweDAwLDB4M2UsMHhjMCwweDA2LDB4YjAsMHgwMywweGVjLDB4ODAsMHhmYiwweDI4IH0gfSwKLXsgIDE2LCAweGQ3OTAsIDAsIHsweDM2LDB4ZDgsMHg0ZiwweGEwLDB4MDMsMHhlYywweDEwLDB4ZmEsMHgwMCwweDNlLDB4NTAsMHgwZiwweDMwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGQ3YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmEsMHgwMCwweGNjLDB4ODAsMHhiMywweGUwIH0gfSwKLXsgIDE2LCAweGQ3YjAsIDAsIHsweDBmLDB4ZjgsMHgwMywweDNlLDB4MDAsMHhjZiwweDkwLDB4M2YsMHg2MCwweDRmLDB4ZjgsMHhjMywweDNlLDB4MDAsMHhlZiwweDgwIH0gfSwKLXsgIDE2LCAweGQ3YzAsIDAsIHsweDMzLDB4ZjAsMHgwYywweDdhLDB4MDMsMHgzZSwweDcwLDB4YzUsMHg5MCwweDMzLDB4ZjEsMHgwYywweDc4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ3ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YjgsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGQ3ZTAsIDAsIHsweDBiLDB4NzAsMHg0YSwweDFjLDB4MDAsMHg4NywweDEwLDB4MmQsMHhjMCwweDRiLDB4NzEsMHgwYSwweDNjLDB4NDQsMHg4ZiwweDEyIH0gfSwKLXsgIDE2LCAweGQ3ZjAsIDAsIHsweDIxLDB4ODYsMHgwZCwweDcyLDB4MDIsMHgxZSwweDAwLDB4ODcsMHgwMCwweDIzLDB4NDAsMHgwOCwweDcwLDB4MGEsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ4MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg0LDB4MDAsMHgyNSwweGMwIH0gfSwKLXsgIDE2LCAweGQ4MTAsIDAsIHsweDBiLDB4NzEsMHgwYSwweDBjLDB4MDAsMHhhNywweDEyLDB4MmQsMHg4NCwweDBiLDB4NzAsMHgwYSwweDFjLDB4MDAsMHhiNywweDA4IH0gfSwKLXsgIDE2LCAweGQ4MjAsIDAsIHsweDIzLDB4NDAsMHgwOSwweGYzLDB4MWEsMHg1YywweDg2LDB4OTcsMHgwOCwweDI1LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ4MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgyMCwweDgxLDB4MjAsMHgyNiwweGMwIH0gfSwKLXsgIDE2LCAweGQ4NDAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDJjLDB4MDAsMHg4MiwweDQyLDB4MmMsMHg4MCwweDBiLDB4MzAsMHgyMiwweDBjLDB4MDgsMHg5YiwweDgwIH0gfSwKLXsgIDE2LCAweGQ4NTAsIDAsIHsweDIwLDB4ZTAsMHgwOSwweDIwLDB4MDIsMHg0ZCwweDA4LDB4OTIsMHgwMCwweDI0LDB4ZTUsMHgwOCwweDMwLDB4MGEsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGQ4NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWUsMHg4MiwweGNhLDB4ZTAsMHhiNywweGMwIH0gfSwKLXsgIDE2LCAweGQ4NzAsIDAsIHsweDBmLDB4ZjAsMHgxMywweDNjLDB4MGEsMHhjOSwweGM4LDB4M2UsMHg0MCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDQsMHhmZiwweDg0IH0gfSwKLXsgIDE2LCAweGQ4ODAsIDAsIHsweDMyLDB4YzAsMHgwZCwweDkwLDB4MTMsMHg3YywweDAwLDB4ZDksMHgwMCwweGY2LDB4YzAsMHgyYywweDEwLDB4MDMsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ4OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTQsMHgwMCwweGYzLDB4MDAsMHgzYSwweGMxIH0gfSwKLXsgIDE2LCAweGQ4YTAsIDAsIHsweDRmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDA4LDB4M2MsMHgwMCwweDBmLDB4MzAsMHgxMywweGVjLDB4MDAsMHhlYiwweDA0IH0gfSwKLXsgIDE2LCAweGQ4YjAsIDAsIHsweGJlLDB4MTgsMHgwZiwweDkwLDB4MjMsMHhhYywweDYwLDB4ZTksMHgwMiwweDNhLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ4YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNhLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGQ4ZDAsIDAsIHsweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjZCwweDAyLDB4N2YsMHg0MCwweDBjLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHhjZiwweDA4IH0gfSwKLXsgIDE2LCAweGQ4ZTAsIDAsIHsweDM3LDB4MTAsMHgwZiwweGQwLDB4MDMsMHhmYywweDEwLDB4Y2QsMHgwOCwweDNmLDB4NjYsMHgyYywweGQ5LDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGQ4ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NjMsMHg4MCwweDhiLDB4ZTAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGQ5MDAsIDAsIHsweDA4LDB4YjAsMHgyMiwweGVjLDB4MDAsMHhkOCwweDgwLDB4NmUsMHgyMCwweDY4LDB4YjAsMHgxYSwweDJjLDB4MDEsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5MTAsIDAsIHsweDIyLDB4MTgsMHgwYiwweDg4LDB4NDMsMHg0YywweDAwLDB4ODgsMHhhMCwweDJjLDB4YzAsMHgxZCwweDkwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGQ5MjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MDgsMHg4MCwweDhiLDB4MjAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGQ5MzAsIDAsIHsweDA4LDB4YjAsMHgyMiwweGVjLDB4MDAsMHg4OCwweDg4LDB4MmUsMHg2MiwweDQ4LDB4YjAsMHgxYSwweGNjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5NDAsIDAsIHsweDI2LDB4YzAsMHg0YSwweDg4LDB4MDIsMHhlYywweDAwLDB4MDgsMHg4NCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ5NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDAsMHgwMCwweDgzLDB4MDAsMHg2MCwweGMwIH0gfSwKLXsgIDE2LCAweGQ5NjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHg5MCwweDA2LDB4NmMsMHgwMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhhMywweDA0IH0gfSwKLXsgIDE2LCAweGQ5NzAsIDAsIHsweDIwLDB4MDAsMHg4YiwweDAwLDB4MDYsMHg0YywweDIxLDB4ODAsMHgwMCwweDZjLDB4YzAsMHg0OSwweDEwLDB4MGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGQ5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNhLDB4MDAsMHhiMiwweGMxIH0gfSwKLXsgIDE2LCAweGQ5OTAsIDAsIHsweDg4LDB4YjQsMHgwMywweGVjLDB4MTAsMHhjOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4YjAsMHgwYiwweGJjLDB4MDgsMHg4ZiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5YTAsIDAsIHsweDM2LDB4MDAsMHgwNiwweDgwLDB4MDMsMHhlYywweDgwLDB4YzgsMHgwMiwweDNmLDB4YzEsMHgwYywweDkwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGQ5YjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjAsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGQ5YzAsIDAsIHsweDBmLDB4NzIsMHg4MywweGZjLDB4MTgsMHhmYywweDAzLDB4M2YsMHgwMCwweDhmLDB4NzAsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5ZDAsIDAsIHsweDNkLDB4MDAsMHgwZiwweGMwLDB4MjMsMHg4YywweDA2LDB4ZmMsMHgwMCwweDNmLDB4NDAsMHgwZSwweGQwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGQ5ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDEsMHgwMywweDcwLDB4NDAsMHhkYywweDEwIH0gfSwKLXsgIDE2LCAweGQ5ZjAsIDAsIHsweDM3LDB4MDQsMHgwZCwweGMxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCwweDM3LDB4MDQsMHgwZCwweGMxLDB4MDEsMHg3MCwweDQwIH0gfSwKLXsgIDE2LCAweGRhMDAsIDAsIHsweDljLDB4MTAsMHgxNywweDE0LDB4MDUsMHhjMSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAsMHgxNywweDA0LDB4MGQsMHhjMCwweDMxIH0gfSwKLXsgIDE2LCAweGRhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwIH0gfSwKLXsgIDE2LCAweGRhMjAsIDAsIHsweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHgyMSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDEsMHg3MSwweDAxIH0gfSwKLXsgIDE2LCAweGRhMzAsIDAsIHsweDVjLDB4NDAsMHgxNywweDEwLDB4MDUsMHhjNCwweDA1LDB4NzEsMHgwNSwweDVjLDB4NDEsMHg1NywweDEwLDB4MTUsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGRhNDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0gfSwKLXsgIDE2LCAweGRhNTAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGRhNjAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDIwIH0gfSwKLXsgIDE2LCAweGRhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHg1OCwweDAwIH0gfSwKLXsgIDE2LCAweGRhODAsIDAsIHsweDE2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDE2LDB4MDAsMHgwNSwweDgwLDB4MDUsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGRhOTAsIDAsIHsweDU4LDB4MDAsMHgxNiwweDE4LDB4MDEsMHg4MCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDIwIH0gfSwKLXsgIDE2LCAweGRhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNSwweDIyLDB4MDEsMHgxYywweDgwIH0gfSwKLXsgIDE2LCAweGRhYjAsIDAsIHsweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDQxIH0gfSwKLXsgIDE2LCAweGRhYzAsIDAsIHsweDVjLDB4ODAsMHg1NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTUsMHhjMCwweDMxIH0gfSwKLXsgIDE2LCAweGRhZDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGRhZTAsIDAsIHsweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGRhZjAsIDAsIHsweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDMxIH0gfSwKLXsgIDE2LCAweGRiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH0gfSwKLXsgIDE2LCAweGRiMTAsIDAsIHsweDQyLDB4MjAsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDgwLDB4MDQsMHgyMywweDAxIH0gfSwKLXsgIDE2LCAweGRiMjAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHg4MCwweDIxIH0gfSwKLXsgIDE2LCAweGRiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NGEsMHgwNSwweDQyLDB4ODEsMHg1MCwweGEwIH0gfSwKLXsgIDE2LCAweGRiNDAsIDAsIHsweDQ0LDB4MmMsMHgxMSwweDBiLDB4MDQsMHg0MiwweDgxLDB4MTAsMHhlMCwweDU0LDB4MjgsMHgxMSwweDAyLDB4MDAsMHg0MiwweDgxIH0gfSwKLXsgIDE2LCAweGRiNTAsIDAsIHsweDEwLDB4YTAsMHg0NCwweDM4LDB4MTEsMHgwYiwweDA1LDB4NDIsMHg4MSwweDEwLDB4MjEsMHgxNCwweDI4LDB4MTUsMHgwMCwweDMxIH0gfSwKLXsgIDE2LCAweGRiNjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MGMsMHgwMSwweDU3LDB4MDAsMHg1NCwweGMwIH0gfSwKLXsgIDE2LCAweGRiNzAsIDAsIHsweDE1LDB4MzAsMHgwNCwweDRjLDB4MDEsMHgxMywweDAwLDB4NTQsMHhjMCwweDE1LDB4NzAsMHgwNSwweDRjLDB4MDEsMHg1MywweDAwIH0gfSwKLXsgIDE2LCAweGRiODAsIDAsIHsweDU0LDB4YzAsMHgxNSwweDMwLDB4ODUsMHg0YywweDAxLDB4MTMsMHgwMCwweDU0LDB4YzAsMHgxNSwweDMwLDB4MDUsMHg0MCwweDIxIH0gfSwKLXsgIDE2LCAweGRiOTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGRiYTAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MTAsMHg2MiwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDQsMHg0MSwweDAwIH0gfSwKLXsgIDE2LCAweGRiYjAsIDAsIHsweDEwLDB4MDAsMHg0NCwweDE4LDB4MTEsMHgwMCwweDAwLDB4MTAsMHgwMCwweDEwLDB4ODAsMHgwNCwweDAwLDB4MDEsMHgwMSwweDIwIH0gfSwKLXsgIDE2LCAweGRiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGRiZDAsIDAsIHsweDIwLDB4ODAsMHgwOCwweDYwLDB4MDIsMHgxOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDAsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGRiZTAsIDAsIHsweDgyLDB4MDAsMHgwMCwweDgwLDB4ODAsMHgyMCwweDAyLDB4MTgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgwMSwweDMxIH0gfSwKLXsgIDE2LCAweGRiZjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwNSwweDY0LDB4MDEsMHg1OCwweDAwIH0gfSwKLXsgIDE2LCAweGRjMDAsIDAsIHsweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxIH0gfSwKLXsgIDE2LCAweGRjMTAsIDAsIHsweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg3NiwweDAwLDB4MTUsMHg4MCwweDMxIH0gfSwKLXsgIDE2LCAweGRjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweGRjMzAsIDAsIHsweDM2LDB4MDAsMHgwZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4OTgsMHgwMCwweDM2LDB4MDAsMHgxZCwweDg4LDB4MDUsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGRjNDAsIDAsIHsweGQ4LDB4MDAsMHgxNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4ODAsMHg0NiwweDAwLDB4MGQsMHg4MCwweDMxIH0gfSwKLXsgIDE2LCAweGRjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwIH0gfSwKLXsgIDE2LCAweGRjNjAsIDAsIHsweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMiwweDQxLDB4MDgsMHgxOCwweGMyLDB4MDQsMHgzMCwweDg5IH0gfSwKLXsgIDE2LCAweGRjNzAsIDAsIHsweDBjLDB4MjAsMHgwMywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMCwweDEwIH0gfSwKLXsgIDE2LCAweGRjODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0gfSwKLXsgIDE2LCAweGRjOTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGRjYTAsIDAsIHsweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAxIH0gfSwKLXsgIDE2LCAweGRjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwIH0gfSwKLXsgIDE2LCAweGRjYzAsIDAsIHsweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMzLDB4MDEsMHgzMCwweDgwIH0gfSwKLXsgIDE2LCAweGRjZDAsIDAsIHsweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MzAsMHgxMywweDA4LDB4MDQsMHhjMCwweDIxIH0gfSwKLXsgIDE2LCAweGRjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNSwweDYwLDB4ODEsMHg1OCwweDIwIH0gfSwKLXsgIDE2LCAweGRjZjAsIDAsIHsweDU2LDB4MDgsMHgxMSwweDgyLDB4MDUsMHg2MCwweDgxLDB4NTgsMHgyMCwweDU2LDB4MDgsMHgxMSwweDgzLDB4MDAsMHg2MCwweDgxIH0gfSwKLXsgIDE2LCAweGRkMDAsIDAsIHsweDU4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MzAsMHg1NiwweDA4LDB4MTUsMHg4MCwweDMwIH0gfSwKLXsgIDE2LCAweGRkMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGRkMjAsIDAsIHsweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgzMCwweDgwIH0gfSwKLXsgIDE2LCAweGRkMzAsIDAsIHsweDA4LDB4MjAsMHgwMiwweDAwLDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMywweDA4LDB4MDAsMHg4MCwweDMxIH0gfSwKLXsgIDE2LCAweGRkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGRkNTAsIDAsIHsweDQ2LDB4NDgsMHgxMSwweDkyLDB4MDQsMHg2MCwweDgxLDB4MTksMHgyMCwweDQ2LDB4MjgsMHgxMSwweDgyLDB4MDAsMHgzNCwweDgxIH0gfSwKLXsgIDE2LCAweGRkNjAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDQ4LDB4MTEsMHg5MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAsMHg0MywweDA4LDB4MTEsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGRkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NjAsMHgwNCwweDU4LDB4MDEsMHg1NiwweDAwIH0gfSwKLXsgIDE2LCAweGRkODAsIDAsIHsweDU1LDB4ODAsMHgxNSwweDYwLDB4MDQsMHg1OCwweDAxLDB4MTYsMHgwMCwweDU1LDB4ODAsMHgwMSwweDYwLDB4MDQsMHgxOCwweDAxIH0gfSwKLXsgIDE2LCAweGRkOTAsIDAsIHsweDU2LDB4MDAsMHg0NSwweDgwLDB4MTEsMHg2MCwweDA0LDB4NTgsMHgwMSwweDE2LDB4MDAsMHg0MSwweDgwLDB4MTEsMHg0MCwweDMxIH0gfSwKLXsgIDE2LCAweGRkYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDYsMHgwMSwweDQxLDB4ODAsMHg1MCwweDYwIH0gfSwKLXsgIDE2LCAweGRkYjAsIDAsIHsweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg0MSwweDgwLDB4NTAsMHg2MCwweDA0LDB4MTgsMHgwNSwweDA2LDB4MDAsMHg0MSwweDgwIH0gfSwKLXsgIDE2LCAweGRkYzAsIDAsIHsweDEwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NDEsMHg4MCwweDUwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwMCwweDIwIH0gfSwKLXsgIDE2LCAweGRkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIwIH0gfSwKLXsgIDE2LCAweGRkZTAsIDAsIHsweDEwLDB4NDgsMHgwNCwweDEyLDB4MDEsMHgwMCwweDgwLDB4NDEsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwNCwweDgwIH0gfSwKLXsgIDE2LCAweGRkZjAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDQ4LDB4MDQsMHgxMiwweDAxLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMCwweDIwIH0gfSwKLXsgIDE2LCAweGRlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH0gfSwKLXsgIDE2LCAweGRlMTAsIDAsIHsweDMwLDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDUsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHgwNSwweDgwIH0gfSwKLXsgIDE2LCAweGRlMjAsIDAsIHsweGQ0LDB4NjAsMHgxNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4MTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDMxIH0gfSwKLXsgIDE2LCAweGRlMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDYsMHgwNSwweDcxLDB4ODAsMHg1YywweDYwIH0gfSwKLXsgIDE2LCAweGRlNDAsIDAsIHsweDk3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHgyMCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDMsMHg3MCwweDgxIH0gfSwKLXsgIDE2LCAweGRlNTAsIDAsIHsweDVjLDB4NjAsMHg1NywweDE4LDB4MTEsMHhjNiwweDA1LDB4MzEsMHg4MSwweDVjLDB4NjAsMHg3NywweDE4LDB4MTUsMHhjMCwweDMxIH0gfSwKLXsgIDE2LCAweGRlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDYsMHgwMywweDcxLDB4ODAsMHhkYywweDYwIH0gfSwKLXsgIDE2LCAweGRlNzAsIDAsIHsweDM3LDB4MTgsMHgwZCwweGM2LDB4MDMsMHg3MSwweDgwLDB4ZGQsMHg2MCwweDM3LDB4MTgsMHgwNSwweGM2LDB4MDEsMHg3NSwweDgxIH0gfSwKLXsgIDE2LCAweGRlODAsIDAsIHsweGRjLDB4NjAsMHgzNywweDE4LDB4MGQsMHhjNiwweDAzLDB4NzEsMHg4NCwweDVjLDB4NjAsMHgxNywweDE4LDB4MTksMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGRlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwIH0gfSwKLXsgIDE2LCAweGRlYTAsIDAsIHsweDU3LDB4MTgsMHgxNCwweDg2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgwNSwweGM2LDB4MDQsMHgzMSwweDgxIH0gfSwKLXsgIDE2LCAweGRlYjAsIDAsIHsweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MCwweDVjLDB4NjAsMHg0MywweDE4LDB4MTUsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGRlYzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0gfSwKLXsgIDE2LCAweGRlZDAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHg3MCwweDgwIH0gfSwKLXsgIDE2LCAweGRlZTAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxNywweDA4LDB4MDQsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGRlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMSwweDYxLDB4ODAsMHg1OCwweDYwIH0gfSwKLXsgIDE2LCAweGRmMDAsIDAsIHsweDE2LDB4MTgsMHg0MSwweDg2LDB4MDEsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4M2MsMHgwNSwweDg2LDB4MDQsMHg2MSwweDgwIH0gfSwKLXsgIDE2LCAweGRmMTAsIDAsIHsweDE4LDB4NjAsMHgxNiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDU4LDB4NjAsMHg1NiwweDE4LDB4MTUsMHg4MCwweDEwIH0gfSwKLXsgIDE2LCAweGRmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwIH0gfSwKLXsgIDE2LCAweGRmMzAsIDAsIHsweDU3LDB4MDAsMHgxNSwweGMwLDB4MDQsMHg3MCwweDAxLDB4NWMsMHgwMCwweDU3LDB4MDAsMHgxMCwweGMwLDB4MDQsMHg3MCwweDAwIH0gfSwKLXsgIDE2LCAweGRmNDAsIDAsIHsweDFjLDB4MDAsMHg0NywweDAwLDB4MTEsMHhjMCwweDA0LDB4NzAsMHgwMSwweDVjLDB4MDAsMHg0NywweDAwLDB4MDEsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGRmNTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGRmNjAsIDAsIHsweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwIH0gfSwKLXsgIDE2LCAweGRmNzAsIDAsIHsweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGRmODAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGRmOTAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGRmYTAsIDAsIHsweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MDAsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGRmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwNSwweDQwLDB4ODEsMHg1MCwweDIwIH0gfSwKLXsgIDE2LCAweGRmYzAsIDAsIHsweDU0LDB4MDgsMHgxNSwweDAyLDB4MDUsMHg0MCwweDgxLDB4MTAsMHgyMCwweDU0LDB4MGMsMHgxNSwweDQyLDB4MDAsMHg0MCwweDgxIH0gfSwKLXsgIDE2LCAweGRmZDAsIDAsIHsweDUwLDB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDA1LDB4NDAsMHg4MSwweDEwLDB4MjAsMHgxNCwweDA4LDB4MDUsMHgwMCwweDExIH0gfSwKLXsgIDE2LCAweGRmZTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDMsMHgwMSwweDUwLDB4YzAsMHg1NCwweDMwIH0gfSwKLXsgIDE2LCAweGRmZjAsIDAsIHsweDE1LDB4MDgsMHgwNSwweDQyLDB4MDEsMHg1MCwweGMwLDB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwIH0gfSwKLXsgIDE2LCAweGUwMDAsIDAsIHsweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MiwweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MCwweDEwIH0gfSwKLXsgIDE2LCAweGUwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwIH0gfSwKLXsgIDE2LCAweGUwMjAsIDAsIHsweDA0LDB4MjAsMHgwMSwweDg4LDB4MDAsMHg2MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MDAsMHgxMSwweDA4LDB4MDAsMHg0MiwweDAwIH0gfSwKLXsgIDE2LCAweGUwMzAsIDAsIHsweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMSwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwIH0gfSwKLXsgIDE2LCAweGUwNTAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgyMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MjgsMHgwMCwweDAyLDB4MDIsMHgwMCwweDgwIH0gfSwKLXsgIDE2LCAweGUwNjAsIDAsIHsweDgwLDB4MjAsMHgyMCwweDBhLDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMCwweDExIH0gfSwKLXsgIDE2LCAweGUwNzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwIH0gfSwKLXsgIDE2LCAweGUwODAsIDAsIHsweDU2LDB4MDAsMHgwNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwOCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDcsMHg2MCwweDAyIH0gfSwKLXsgIDE2LCAweGUwOTAsIDAsIHsweDU4LDB4MDAsMHg1NiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMywweDE4LDB4MDAsMHg3NiwweDAwLDB4MTUsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGUwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweGUwYjAsIDAsIHsweDM2LDB4MDAsMHgwZCwweDgwLDB4MDEsMHg2MCwweDAwLDB4ZDgsMHgwYSwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDUsMHg3MCwweDA5IH0gfSwKLXsgIDE2LCAweGUwYzAsIDAsIHsweGQ4LDB4MDEsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHg1NywweDAwLDB4MGQsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGUwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MDEsMHgwYywweDAwIH0gfSwKLXsgIDE2LCAweGUwZTAsIDAsIHsweDQzLDB4MDAsMHgxMCwweGMwLDB4MDAsMHgzMCwweDAxLDB4MGMsMHgwMCwweDQzLDB4MjAsMHgxMCwweGMwLDB4MDQsMHg2MCwweDAxIH0gfSwKLXsgIDE2LCAweGUwZjAsIDAsIHsweDBjLDB4MDAsMHg0MywweDQwLDB4NTAsMHhjMSwweDA0LDB4MzAsMHgwMSwweDBjLDB4MDAsMHg0NiwweDAwLDB4MTAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0gfSwKLXsgIDE2LCAweGUxMTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGQwLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxMjAsIDAsIHsweDBjLDB4MDAsMHgwMywweDQwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBkLDB4MDAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgwMSwweDMxLDB4NDAsMHg0YywweDUwIH0gfSwKLXsgIDE2LCAweGUxNDAsIDAsIHsweDEzLDB4MTAsMHgwNCwweGM0LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MTEsMHgzMSwweDQxIH0gfSwKLXsgIDE2LCAweGUxNTAsIDAsIHsweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwNSwweDY4LDB4YzEsMHg1YSwweDMwIH0gfSwKLXsgIDE2LCAweGUxNzAsIDAsIHsweDU2LDB4OGMsMHgxMSwweGEzLDB4MDQsMHg2OCwweGMxLDB4MWEsMHgzMCwweDU2LDB4OGMsMHgxMSwweGEzLDB4MDUsMHg2OCwweGMwIH0gfSwKLXsgIDE2LCAweGUxODAsIDAsIHsweDVhLDB4MzAsMHg0NiwweDhjLDB4MTEsMHhhMywweDA0LDB4NjgsMHhjMSwweDVhLDB4MzAsMHgxNiwweDhjLDB4MTUsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGUxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGUxYTAsIDAsIHsweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MjAsMHgwMCwweDkwLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxYjAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDQwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA5LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGUxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0NCwweDYyLDB4MDEsMHgxOCwweDg0IH0gfSwKLXsgIDE2LCAweGUxZDAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MDEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDEwIH0gfSwKLXsgIDE2LCAweGUxZTAsIDAsIHsweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQsMHgwNiwweDIxLDB4MTEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGUxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDUwLDB4MTEsMHg1NCwweDA0IH0gfSwKLXsgIDE2LCAweGUyMDAsIDAsIHsweDU1LDB4MDEsMHgxMSwweDQwLDB4NDUsMHg1MCwweDExLDB4MTQsMHgwMCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDQsMHg1MCwweDAwIH0gfSwKLXsgIDE2LCAweGUyMTAsIDAsIHsweDE0LDB4MDQsMHg0NSwweDAwLDB4MTUsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDE0LDB4MDQsMHg1NSwweDAxLDB4MTEsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGUyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyIH0gfSwKLXsgIDE2LCAweGUyMzAsIDAsIHsweDE0LDB4MjAsMHg4NSwweDA4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiwweDA0LDB4MjAsMHg4NSwweDA4LDB4MjEsMHg0MiwweDA4IH0gfSwKLXsgIDE2LCAweGUyNDAsIDAsIHsweDUwLDB4ODIsMHgxNCwweDIwLDB4MDUsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODUsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwIH0gfSwKLXsgIDE2LCAweGUyNjAsIDAsIHsweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHg0MCwweDBhLDB4MDEsMHgwMiwweDgwIH0gfSwKLXsgIDE2LCAweGUyNzAsIDAsIHsweDQwLDB4YTAsMHgxMCwweDI4LDB4NDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwIH0gfSwKLXsgIDE2LCAweGUyOTAsIDAsIHsweDM1LDB4MzAsMHgwZCwweDRjLDB4MDEsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MTAsMHgwYywweDRjLDB4MDMsMHg1MywweDAwIH0gfSwKLXsgIDE2LCAweGUyYTAsIDAsIHsweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0YywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGUyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDcyLDB4MDEsMHg1YywweDgwIH0gfSwKLXsgIDE2LCAweGUyYzAsIDAsIHsweDE3LDB4MjAsMHgwNSwweGM4LDB4MDYsMHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDIsMHg3MiwweDAxIH0gfSwKLXsgIDE2LCAweGUyZDAsIDAsIHsweDVjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDA1LDB4NzIsMHgwMSwweDVjLDB4ODAsMHgzNywweDIwLDB4MTEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGUyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgxOCwweDQwLDB4YzYsMHgxMiwweDMxIH0gfSwKLXsgIDE2LCAweGUyZjAsIDAsIHsweDg0LDB4OGMsMHgyMSwweDIzLDB4MDgsMHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4MGMsMHg2MSwweDIzLDB4MTAsMHg0OCwweGMyIH0gfSwKLXsgIDE2LCAweGUzMDAsIDAsIHsweDEyLDB4MzEsMHg4NCwweDhjLDB4MDEsMHgyMywweDA4LDB4NDgsMHhjNiwweDEyLDB4MzEsMHgwNCwweDhjLDB4NjEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmIH0gfSwKLXsgIDE2LCAweGUzMjAsIDAsIHsweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmIH0gfSwKLXsgIDE2LCAweGUzMzAsIDAsIHsweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmMsMHhkYiwweDBmLDB4YjYsMHhjMiwweGNkIH0gfSwKLXsgIDE2LCAweGUzODAsIDAsIHsweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhkZiwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDdlIH0gfSwKLXsgIDE2LCAweGUzOTAsIDAsIHsweGMyLDB4Y2QsMHhiMCwweGI3LDB4ZmQsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgzYywweDRmLDB4Y2YsMHgxMywweDMzIH0gfSwKLXsgIDE2LCAweGUzYjAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTMsMHgzZiwweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MsMHg0YywweGZmIH0gfSwKLXsgIDE2LCAweGUzYzAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNmLDB4ZmQsMHgzMywweDNjLDB4NGMsMHhjZiwweDEzLDB4MzMsMHhjNCwweGNjLDB4ZjEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGI3IH0gfSwKLXsgIDE2LCAweGUzZTAsIDAsIHsweGU0LDB4ZWMsMHg3OSwweDNiLDB4MWUsMHg0ZSwweGRmLDB4OTMsMHhiZiwweGU0LDB4OGQsMHhmOSwweDNiLDB4NzgsMHg0ZSwweGZmIH0gfSwKLXsgIDE2LCAweGUzZjAsIDAsIHsweDkzLDB4YjcsMHhlNCwweGVkLDB4ZmQsMHgzYiwweDFlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHg4NCwweGVkLDB4ZjksMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMiwweDcwLDB4NDAsMHg5YywweDEwIH0gfSwKLXsgIDE2LCAweGU0MTAsIDAsIHsweDI3LDB4MWMsMHgwOSwweGMxLDB4MDEsMHgzMCwweDQwLDB4MWMsMHgxMCwweDY3LDB4MDQsMHgwOSwweGMxLDB4MDIsMHg3MCwweDQxIH0gfSwKLXsgIDE2LCAweGU0MjAsIDAsIHsweDljLDB4MTEsMHgwNywweDE0LDB4MDEsMHhjMSwweDAyLDB4NzAsMHg0MCwweDljLDB4NTAsMHgwNywweDFjLDB4MDEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwIH0gfSwKLXsgIDE2LCAweGU0NDAsIDAsIHsweDU3LDB4MTAsMHg1NSwweGM0LDB4MDEsMHgzMSwweDAwLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDAxIH0gfSwKLXsgIDE2LCAweGU0NTAsIDAsIHsweGRjLDB4NDAsMHgxNywweDE4LDB4MWQsMHhjNCwweDA1LDB4NzEsMHgwNSwweDVjLDB4NDAsMHg1NywweDEwLDB4MWQsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0gfSwKLXsgIDE2LCAweGU0NzAsIDAsIHsweDEyLDB4MDAsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGU0ODAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4NjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGU0YTAsIDAsIHsweDA2LDB4MDAsMHg0MSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGU0YjAsIDAsIHsweDEwLDB4MDAsMHgwNiwweDEwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MjAsMHg0NiwweDEwLDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwIH0gfSwKLXsgIDE2LCAweGU0ZDAsIDAsIHsweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDA3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MywweDAwIH0gfSwKLXsgIDE2LCAweGU0ZTAsIDAsIHsweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjYywweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGU1MDAsIDAsIHsweDA2LDB4MDAsMHgwMSwweDg0LDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweGU1MTAsIDAsIHsweDE4LDB4MDAsMHgwNiwweDA0LDB4MDEsMHg4MSwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDE0LDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH0gfSwKLXsgIDE2LCAweGU1MzAsIDAsIHsweDQyLDB4NzAsMHgxMCwweDhjLDB4MDQsMHgyMiwweDAxLDB4MDgsMHhjMCwweDAyLDB4MjAsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGU1NDAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDUwLDB4MTAsMHgwOCwweDA0LDB4MjIsMHgwMSwweDA5LDB4MDAsMHg0MiwweDQwLDB4MTAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmUsMHgwNCwweDRhLDB4ODEsMHgxMiwweGEwIH0gfSwKLXsgIDE2LCAweGU1NjAsIDAsIHsweDQ0LDB4YTgsMHgxMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIsMHhhMCwweDA0LDB4YTgsMHgxMSwweDJhLDB4MDQsMHg0YiwweDgwIH0gfSwKLXsgIDE2LCAweGU1NzAsIDAsIHsweDEyLDB4YTAsMHg0NCwweDg4LDB4MDEsMHgyZSwweDA0LDB4NGEsMHg4MSwweDEyLDB4MjAsMHgwNCwweDk4LDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4MGUsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwIH0gfSwKLXsgIDE2LCAweGU1OTAsIDAsIHsweDA1LDB4MzAsMHgwMSwweDRjLDB4MDAsMHg1MywweDAwLDB4MTQsMHhlMCwweDA1LDB4MzAsMHgwMSwweDRjLDB4MDAsMHg1MywweDAwIH0gfSwKLXsgIDE2LCAweGU1YTAsIDAsIHsweDA0LDB4YzAsMHgwNSwweDMwLDB4MDAsMHg0YywweDAwLDB4MDMsMHgwMCwweDE0LDB4YzAsMHgwNSwweDMwLDB4MDAsMHg0MCwweDEwIH0gfSwKLXsgIDE2LCAweGU1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4MDQsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGU1YzAsIDAsIHsweDA0LDB4NTgsMHgwMSwweDA0LDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MSwweDAwIH0gfSwKLXsgIDE2LCAweGU1ZDAsIDAsIHsweDA0LDB4MDAsMHg0NCwweDU4LDB4MTAsMHg0NCwweDAwLDB4MDAsMHgwMCwweDExLDB4ODAsMHgwNCwweDUwLDB4MTAsMHg0MCwweDMwIH0gfSwKLXsgIDE2LCAweGU1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU1ZjAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2MDAsIDAsIHsweDg0LDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0MCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHg0MCwweDMwIH0gfSwKLXsgIDE2LCAweGU2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4NDAsMHgwMCwweDYwLDB4MDEsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGU2MjAsIDAsIHsweDQ2LDB4MDAsMHgwMSwweDgwLDB4MDYsMHg2MCwweDAxLDB4OTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxIH0gfSwKLXsgIDE2LCAweGU2MzAsIDAsIHsweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4MjAsMHgwMSwweDE4LDB4MDAsMHg2NiwweDAwLDB4MTEsMHg4MCwweDMwIH0gfSwKLXsgIDE2LCAweGU2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAxLDB4NDAsMHgwMCwweDYwLDB4MDAsMHg5OCwweDAwIH0gfSwKLXsgIDE2LCAweGU2NTAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDgwLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDA2LDB4MDAsMHgwYywweDgwLDB4MDIsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGU2NjAsIDAsIHsweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAyLDB4NjAsMHgwMCwweDk4LDB4ODAsMHgwNiwweDAwLDB4MDEsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGU2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwMCwweDMwLDB4ODEsMHgwYywweDIwIH0gfSwKLXsgIDE2LCAweGU2ODAsIDAsIHsweDQzLDB4MDgsMHgxMCwweGMyLDB4MjQsMHgzMCwweDgxLDB4OGMsMHgyMCwweDAzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGU2OTAsIDAsIHsweDBjLDB4MjAsMHgwMywweDA4LDB4MTgsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTgsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGU2YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0gfSwKLXsgIDE2LCAweGU2YjAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4NDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2YzAsIDAsIHsweDBjLDB4MDAsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDIsMHgxMCwweDMwLDB4ODAsMHgwYywweDIwIH0gfSwKLXsgIDE2LCAweGU2ZTAsIDAsIHsweDAzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMCwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDEsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGU2ZjAsIDAsIHsweDBjLDB4MjAsMHgwMywweDJjLDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MzAsMHg0MywweDJjLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU3MDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGU3MTAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgxIH0gfSwKLXsgIDE2LCAweGU3MjAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDBjLDB4MTEsMHhjMiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MTEsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGU3MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGU3NDAsIDAsIHsweDAyLDB4MjgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGU3NTAsIDAsIHsweDA4LDB4MjAsMHgwMiwweDA4LDB4MDEsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMywweDA4LDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAxLDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGU3NzAsIDAsIHsweDQ2LDB4MjgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgxIH0gfSwKLXsgIDE2LCAweGU3ODAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAsMHg0MywweDA4LDB4MTAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDAwIH0gfSwKLXsgIDE2LCAweGU3YTAsIDAsIHsweDQ1LDB4MDAsMHgxMSwweDQwLDB4MjUsMHgwMCwweDAwLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAxIH0gfSwKLXsgIDE2LCAweGU3YjAsIDAsIHsweDE0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MCwweDA0LDB4NTAsMHgwMSwweDQwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MiwweDExIH0gfSwKLXsgIDE2LCAweGU3YzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwIH0gfSwKLXsgIDE2LCAweGU3ZDAsIDAsIHsweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwIH0gfSwKLXsgIDE2LCAweGU3ZTAsIDAsIHsweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MDIsMHgwNSwweDAwLDB4ODAsMHg0MCwweDIxIH0gfSwKLXsgIDE2LCAweGU4MDAsIDAsIHsweDEwLDB4MDgsMHgwNCwweDAwLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwIH0gfSwKLXsgIDE2LCAweGU4MTAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDA4LDB4MTQsMHgwMiwweDExLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MTQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDYsMHgwMSwweDUxLDB4ODAsMHhkNCwweDYwIH0gfSwKLXsgIDE2LCAweGU4MzAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDE1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwIH0gfSwKLXsgIDE2LCAweGU4NDAsIDAsIHsweDU0LDB4NjAsMHgxNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDExIH0gfSwKLXsgIDE2LCAweGU4NTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwIH0gfSwKLXsgIDE2LCAweGU4NjAsIDAsIHsweDQ1LDB4MTgsMHgxMSwweGQ2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDY3LDB4MTgsMHgxMSwweGM2LDB4MDQsMHg3MSwweDgxIH0gfSwKLXsgIDE2LCAweGU4NzAsIDAsIHsweDljLDB4NjAsMHg0NywweDE4LDB4MTEsMHhjNiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHg2NywweDE4LDB4MTEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwIH0gfSwKLXsgIDE2LCAweGU4OTAsIDAsIHsweDI3LDB4MTgsMHgwOSwweGM2LDB4MDAsMHg3MSwweDgwLDB4OWMsMHg2MCwweDY3LDB4MTgsMHgwOSwweGM2LDB4MDIsMHg3MSwweDgwIH0gfSwKLXsgIDE2LCAweGU4YTAsIDAsIHsweDljLDB4NjEsMHgyNywweDE4LDB4MDEsMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgwNywweDE4LDB4MDEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDQ1LDB4NDYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwIH0gfSwKLXsgIDE2LCAweGU4YzAsIDAsIHsweDU3LDB4MTgsMHg1NSwweGQ2LDB4MDEsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxIH0gfSwKLXsgIDE2LCAweGU4ZDAsIDAsIHsweDVjLDB4NjAsMHg1NywweDE4LDB4MTgsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg0MywweDE4LDB4MTgsMHg4MiwweDExIH0gfSwKLXsgIDE2LCAweGU4ZTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4NTIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0gfSwKLXsgIDE2LCAweGU4ZjAsIDAsIHsweDEyLDB4NDgsMHgwNCwweDkwLDB4MDEsMHgyMCwweDgwLDB4NDksMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyNCwweDgwIH0gfSwKLXsgIDE2LCAweGU5MDAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDQ4LDB4MDAsMHg5MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxNywweDQ4LDB4MDQsMHg4MCwweDAxIH0gfSwKLXsgIDE2LCAweGU5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwIH0gfSwKLXsgIDE2LCAweGU5MjAsIDAsIHsweDA2LDB4M2MsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDQ2LDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwIH0gfSwKLXsgIDE2LCAweGU5MzAsIDAsIHsweDE4LDB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHg0NiwweDE4LDB4MDEsMHg4MCwweDAxIH0gfSwKLXsgIDE2LCAweGU5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQxLDB4NjAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwIH0gfSwKLXsgIDE2LCAweGU5NTAsIDAsIHsweDQ3LDB4ODAsMHgxMSwweGUwLDB4MjQsMHg3OCwweDAxLDB4MWUsMHgwMCwweDA3LDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxIH0gfSwKLXsgIDE2LCAweGU5NjAsIDAsIHsweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhlMCwweDA0LDB4MzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGU5NzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MTIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGU5ODAsIDAsIHsweDA2LDB4NDgsMHgwMSwweDkyLDB4MDAsMHg2MCwweDgwLDB4MTksMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2NCwweDgwIH0gfSwKLXsgIDE2LCAweGU5OTAsIDAsIHsweDE4LDB4MjAsMHgwNiwweDQ4LDB4MDEsMHg5MywweDAwLDB4MjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDQ4LDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGU5YjAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxIH0gfSwKLXsgIDE2LCAweGU5YzAsIDAsIHsweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4YSwweDA0LDB4NjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwIH0gfSwKLXsgIDE2LCAweGU5ZTAsIDAsIHsweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDA0LDB4MDgsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgxIH0gfSwKLXsgIDE2LCAweGU5ZjAsIDAsIHsweDEwLDB4MjEsMHg0NCwweDA4LDB4MDEsMHgwMiwweDA0LDB4NTAsMHg4MSwweDEwLDB4MjAsMHgwNCwweDA4LDB4MDEsMHgwMCwweDExIH0gfSwKLXsgIDE2LCAweGVhMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwIH0gfSwKLXsgIDE2LCAweGVhMTAsIDAsIHsweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweDgwIH0gfSwKLXsgIDE2LCAweGVhMjAsIDAsIHsweDE0LDB4MzAsMHgwNSwweDA4LDB4MDEsMHg0YSwweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDA4LDB4MDEsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGVhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwIH0gfSwKLXsgIDE2LCAweGVhNDAsIDAsIHsweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwIH0gfSwKLXsgIDE2LCAweGVhNTAsIDAsIHsweDEwLDB4ODAsMHgwNCwweDIwLDB4MTEsMHgwMCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MTEsMHgwMCwweDEwIH0gfSwKLXsgIDE2LCAweGVhNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwIH0gfSwKLXsgIDE2LCAweGVhNzAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwIH0gfSwKLXsgIDE2LCAweGVhODAsIDAsIHsweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMCwweDExIH0gfSwKLXsgIDE2LCAweGVhOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDAsMHgwMCwweDYwLDB4MDEsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGVhYTAsIDAsIHsweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDYsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxIH0gfSwKLXsgIDE2LCAweGVhYjAsIDAsIHsweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg2NiwweDAwLDB4MTEsMHg4MCwweDEwIH0gfSwKLXsgIDE2LCAweGVhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDAsMHgwMiwweDY0LDB4MDAsMHg5OCwweDAwIH0gfSwKLXsgIDE2LCAweGVhZDAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDkwLDB4MDYsMHg2MCwweDAxLDB4OTgsMHgwMCwweDI2LDB4NDAsMHgwOSwweDgwLDB4MDIsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGVhZTAsIDAsIHsweDk4LDB4MDAsMHgyNiwweDAwLDB4MDAsMHg5MCwweDAyLDB4NjAsMHgwMCwweDk4LDB4MDAsMHgwNywweDAwLDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGVhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NjAsMHgwNCwweDM4LDB4MDUsMHgwZSwweDAwIH0gfSwKLXsgIDE2LCAweGViMDAsIDAsIHsweDQzLDB4ODAsMHgxMCwweGUwLDB4NDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxMCwweGUwLDB4MDQsMHgzOCwweDAxIH0gfSwKLXsgIDE2LCAweGViMTAsIDAsIHsweDBlLDB4MDAsMHg0MywweDgwLDB4MTgsMHhhMCwweDA0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0NiwweDgwLDB4MTgsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGViMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAwLDB4MDEsMHgwMCwweDMwLDB4NDAsMHgwYywweDEwIH0gfSwKLXsgIDE2LCAweGViMzAsIDAsIHsweDAzLDB4MDQsMHgwMCwweGM1LDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MTQsMHgwMCwweGMxLDB4MDAsMHgzMCwweDQwIH0gfSwKLXsgIDE2LCAweGViNDAsIDAsIHsweDBjLDB4MTAsMHgwMywweDA0LDB4MDAsMHg4NywweDQwLDB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMiwweDA0LDB4MDAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGViNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4MDUsMHgwMCwweDM1LDB4NDAsMHgwYywweDUwIH0gfSwKLXsgIDE2LCAweGViNjAsIDAsIHsweDAzLDB4MTQsMHgwMCwweGQ1LDB4MDQsMHgzMSwweDQxLDB4MGMsMHg1MCwweDAzLDB4NWMsMHgwMCwweGM1LDB4MDAsMHgzMSwweDAwIH0gfSwKLXsgIDE2LCAweGViNzAsIDAsIHsweDBjLDB4NTAsMHgwMywweDEwLDB4MDAsMHg5NCwweDAwLDB4MzEsMHg0MCwweDBjLDB4NTAsMHg0MywweDEwLDB4MDAsMHhjMiwweDAwIH0gfSwKLXsgIDE2LCAweGViODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDMsMHgwNSwweDIwLDB4YzEsMHgxOCwweDMwIH0gfSwKLXsgIDE2LCAweGViOTAsIDAsIHsweDQ2LDB4MGMsMHgxMSwweDk3LDB4MDAsMHg2MCwweGMwLDB4MTgsMHgzMCwweDQ2LDB4MWMsMHgxMSwweDgzLDB4MDQsMHg2MCwweGMxIH0gfSwKLXsgIDE2LCAweGViYTAsIDAsIHsweDE4LDB4MzAsMHg1MiwweDBjLDB4MTEsMHg4NywweDA0LDB4NjAsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MTEsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGViYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDAsMHgwMCwweDIxLDB4NDAsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGViYzAsIDAsIHsweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGViZDAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGViZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDgsMHg0NCwweDIyLDB4MDEsMHgxOCwweDg0IH0gfSwKLXsgIDE2LCAweGViZjAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDk4LDB4MDAsMHg2MiwweDEwLDB4MTgsMHg4NCwweDQ0LDB4MjAsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExIH0gfSwKLXsgIDE2LCAweGVjMDAsIDAsIHsweDE4LDB4ODQsMHg0MiwweDIxLDB4MTEsMHg4MCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGVjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MTEsMHgxNCwweDA0IH0gfSwKLXsgIDE2LCAweGVjMjAsIDAsIHsweDQ1LDB4MDAsMHgxMSwweDQxLDB4MDAsMHg1MCwweDEwLDB4MTQsMHgwMCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDQsMHg1MCwweDExIH0gfSwKLXsgIDE2LCAweGVjMzAsIDAsIHsweDE0LDB4MDQsMHg0NSwweDAxLDB4MDEsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDE0LDB4MDQsMHgwNSwweDAxLDB4MDEsMHg0MCwweDExIH0gfSwKLXsgIDE2LCAweGVjNDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyIH0gfSwKLXsgIDE2LCAweGVjNTAsIDAsIHsweDA0LDB4MjAsMHgwMSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4IH0gfSwKLXsgIDE2LCAweGVjNjAsIDAsIHsweDEwLDB4ODIsMHgwNCwweDIyLDB4ODEsMHgwOCwweDIwLDB4NTIsMHgwOCwweDEwLDB4OGEsMHgwNCwweDIyLDB4ODEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODQsMHg0MCwweGExIH0gfSwKLXsgIDE2LCAweGVjODAsIDAsIHsweDEwLDB4MjgsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwIH0gfSwKLXsgIDE2LCAweGVjOTAsIDAsIHsweDQwLDB4YTAsMHgxMCwweDJjLDB4MTQsMHgwYSwweDAwLDB4MDIsMHg4MCwweDQwLDB4YjAsMHgxMCwweDJjLDB4MTQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwIH0gfSwKLXsgIDE2LCAweGVjYjAsIDAsIHsweDM1LDB4MzAsMHgwYywweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCwweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwIH0gfSwKLXsgIDE2LCAweGVjYzAsIDAsIHsweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0ZCwweDAyLDB4MTMsMHg0MCwweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0MCwweDExIH0gfSwKLXsgIDE2LCAweGVjZDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwIH0gfSwKLXsgIDE2LCAweGVjZTAsIDAsIHsweDQ3LDB4MjAsMHgxNSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDExIH0gfSwKLXsgIDE2LCAweGVjZjAsIDAsIHsweDFjLDB4ODAsMHg0NywweDI2LDB4MTEsMHhjOCwweDQ0LDB4NzIsMHgwMSwweDFjLDB4OTAsMHg2NywweDI2LDB4MTEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwOCwweDQwLDB4YzYsMHgxMiwweDMxIH0gfSwKLXsgIDE2LCAweGVkMTAsIDAsIHsweDg0LDB4OGMsMHgwMSwweDAzLDB4MDgsMHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4MGMsMHg2MSwweDIzLDB4MTgsMHg0OCwweGMyIH0gfSwKLXsgIDE2LCAweGVkMjAsIDAsIHsweDEyLDB4MzEsMHg4NCwweDhjLDB4MDEsMHgwMywweDA4LDB4NDgsMHhjNiwweDEyLDB4MzEsMHgwNCwweDhjLDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmIH0gfSwKLXsgIDE2LCAweGVkNDAsIDAsIHsweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmIH0gfSwKLXsgIDE2LCAweGVkNTAsIDAsIHsweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmQsMHhmYiwweDBmLDB4YjYsMHhjMiwweGNkIH0gfSwKLXsgIDE2LCAweGVkYTAsIDAsIHsweGIwLDB4YjcsMHhmZCwweDNmLDB4ZmIsMHgwYiwweDM2LDB4YzIsMHhkZiwweGIwLDB4ZmIsMHg2YywweDJjLDB4ZGIsMHgwYiwweDdlIH0gfSwKLXsgIDE2LCAweGVkYjAsIDAsIHsweGMyLDB4Y2QsMHhiMCwweGI3LDB4ZmQsMHgzZiwweGZiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhmNCwweGI3LDB4ZmQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHhmYywweDRmLDB4Y2YsMHgxMywweDMzIH0gfSwKLXsgIDE2LCAweGVkZDAsIDAsIHsweGM0LDB4Y2YsMHhmZCwweDNmLDB4ZmMsMHg0YywweGNmLDB4MTMsMHgzZiwweGM0LDB4ZmMsMHhmMSwweDMzLDB4M2MsMHg0YywweGZmIH0gfSwKLXsgIDE2LCAweGVkZTAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNmLDB4ZmQsMHgzZiwweGZjLDB4NGMsMHhjZiwweDEzLDB4MzMsMHhmNCwweGNmLDB4ZmQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGI3IH0gfSwKLXsgIDE2LCAweGVlMDAsIDAsIHsweGU0LDB4ZWQsMHhmOSwweDNmLDB4ZmUsMHg0ZSwweGRmLDB4OTMsMHhiNywweGU0LDB4ZWQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGM3IH0gfSwKLXsgIDE2LCAweGVlMTAsIDAsIHsweDkzLDB4YjcsMHhlNCwweGVjLDB4NjEsMHgyMywweDFlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHg4NCwweGVjLDB4NjEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDI0LDB4YTEsMHg0YSwweDI0IH0gfSwKLXsgIDE2LCAweGVlMzAsIDAsIHsweDYzLDB4MDEsMHgxNCwweDAyLDB4NDQsMHgwMCwweDgxLDB4MGIsMHgyOCwweDcxLDB4MDIsMHgxMCwweDgyLDB4NDAsMHgzOCwweDExIH0gfSwKLXsgIDE2LCAweGVlNDAsIDAsIHsweDQxLDB4MDQsMHg1MCwweDA4LDB4MTgsMHg4MiwweDg3LDB4MzgsMHgzMSwweGMzLDB4MmMsMHg1MiwweDBhLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0NSwweDEyLDB4ODEsMHg0NCwweDgwIH0gfSwKLXsgIDE2LCAweGVlNjAsIDAsIHsweDcxLDB4MjEsMHgxYywweDBhLDB4MDcsMHgxYSwweDgxLDB4MDIsMHhhMCwweDUyLDB4MjAsMHgxNCwweDQ4LDB4MDcsMHgxMiwweDgxIH0gfSwKLXsgIDE2LCAweGVlNzAsIDAsIHsweGM2LDB4ODAsMHg2MCwweDIwLDB4MDgsMHg4OCwweDQ3LDB4MDIsMHgwMSwweDRhLDB4ODAsMHg3MCwweDIwLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHhjNSwweDJjLDB4MDEsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGVlOTAsIDAsIHsweDUyLDB4MDksMHgxYywweDgwLDB4MDcsMHgyNCwweDIxLDB4MDgsMHgwOCwweDcxLDB4MDIsMHgxMCwweDgwLDB4NDUsMHgyMCwweGExIH0gfSwKLXsgIDE2LCAweGVlYTAsIDAsIHsweDQ5LDB4MjgsMHg1MiwweDAxLDB4MTQsMHhjMCwweDQ1LDB4MDAsMHg5MSwweGM0LDB4MDAsMHg3MiwweDAyLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwNywweDIwLDB4MDEsMHhjMSwweDAwIH0gfSwKLXsgIDE2LCAweGVlYzAsIDAsIHsweDcxLDB4MDksMHgxMCwweDgwLDB4MDcsMHgwMCwweDAxLDB4MDEsMHgwMCwweDcwLDB4MDgsMHgxOCwweDgwLDB4MDcsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweGVlZDAsIDAsIHsweDg5LDB4MjAsMHg1MiwweDAxLDB4MGMsMHg4MCwweDQ2LDB4MzAsMHg4MSwweDQ1LDB4MDQsMHg2MCwweDAwLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMiwweDAyLDB4MjAsMHgwMCwweDg4IH0gfSwKLXsgIDE2LCAweGVlZjAsIDAsIHsweDIwLDB4MjIsMHgwMCwweDA4LDB4YzIsMHgyMiwweDgwLDB4NDAsMHg4OCwweDAyLDB4MjIsMHgwMCwweDA4LDB4ODIsMHgwYSwweGEwIH0gfSwKLXsgIDE2LCAweGVmMDAsIDAsIHsweDBjLDB4YTgsMHgwMiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MGEsMHgwMCwweDgwLDB4OGMsMHgwMiwweDIyLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHg0MywweDAwLDB4MDAsMHg0MCwweDIwIH0gfSwKLXsgIDE2LCAweGVmMjAsIDAsIHsweDMwLDB4MDgsMHgwNCwweDQwLDB4NDEsMHgzMCwweDEwLDB4YzgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDMsMHgwMCwweDEwIH0gfSwKLXsgIDE2LCAweGVmMzAsIDAsIHsweGMwLDB4MDAsMHgxMSwweDA4LDB4MDAsMHhjMiwweDQzLDB4MTAsMHg4MCwweGMwLDB4MjAsMHgwMSwweDA4LDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHhjMywweDBhLDB4MjAsMHhjMSwweDhjIH0gfSwKLXsgIDE2LCAweGVmNTAsIDAsIHsweDEyLDB4MjIsMHgwNCwweDg4LDB4MDEsMHgzNiwweDIwLDB4YzMsMHgwOCwweDEyLDB4MjgsMHgwNCwweDA4LDB4MDEsMHgwNCwweDAwIH0gfSwKLXsgIDE2LCAweGVmNjAsIDAsIHsweDRhLDB4YTgsMHgyMiwweDAxLDB4MDQsMHhjOCwweDQxLDB4MjYsMHgzMCwweGMwLDB4ODgsMHgwMiwweDIxLDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwMCwweDBhLDB4MTAsMHhjMSwweDgwIH0gfSwKLXsgIDE2LCAweGVmODAsIDAsIHsweDMyLDB4MjEsMHgwYywweDg4LDB4NDMsMHgwMiwweDgwLDB4NDQsMHg4MCwweDEyLDB4MjksMHgwNCwweDA4LDB4NDIsMHgwYSwweDkwIH0gfSwKLXsgIDE2LCAweGVmOTAsIDAsIHsweDhhLDB4ODAsMHgwMCwweDIwLDB4MDQsMHg0OCwweDAzLDB4MGEsMHgxMCwweDgyLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGEsMHg4NywweDAyLDB4YTEsMHg4MCwweGFjIH0gfSwKLXsgIDE2LCAweGVmYjAsIDAsIHsweDQzLDB4MjksMHgxNCwweDhhLDB4ODQsMHgwMiwweGExLDB4MDAsMHhhYywweDQxLDB4MjAsMHgxMCwweDA4LDB4MDYsMHgyNiwweDMxIH0gfSwKLXsgIDE2LCAweGVmYzAsIDAsIHsweDgwLDB4YTQsMHg2MCwweDIwLDB4MTQsMHg0YSwweDQ0LDB4MzIsMHg4MSwweDgxLDB4YWMsMHg2MCwweDJhLDB4MTgsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwNywweDIyLDB4MDEsMHhjNSwweDgwIH0gfSwKLXsgIDE2LCAweGVmZTAsIDAsIHsweDczLDB4MjEsMHgxYywweGM4LDB4MDcsMHgyYSwweDAxLDB4MGMsMHg4MCwweDcyLDB4MjAsMHgxMCwweDQ4LDB4NDcsMHgyNiwweDExIH0gfSwKLXsgIDE2LCAweGVmZjAsIDAsIHsweGM1LDB4ODAsMHg3MywweDIwLDB4MWMsMHg4OCwweDA3LDB4MmEsMHgxMSwweDQ5LDB4ODAsMHg3MCwweDIwLDB4MTQsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGYwMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHg0NSwweDEwLDB4MzEsMHhjOSwweDBjIH0gfSwKLXsgIDE2LCAweGYwMTAsIDAsIHsweDczLDB4MDIsMHgxYywweGMwLDB4NDcsMHgwNCwweDAxLDB4MGEsMHgwYywweDUxLDB4MGEsMHgxMCwweDgyLDB4NDcsMHgyMCwweDMxIH0gfSwKLXsgIDE2LCAweGYwMjAsIDAsIHsweGM4LDB4MDAsMHg3MiwweDAyLDB4MWMsMHg0MCwweDA1LDB4MzAsMHgxMSwweGM0LDB4MDAsMHg3MiwweDAxLDB4MTgsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGYwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4MTAsMHgwNiwweDI0LDB4MDEsMHg0NSwweDA0IH0gfSwKLXsgIDE2LCAweGYwNDAsIDAsIHsweDUxLDB4ODEsMHgxOCwweDkwLDB4NDcsMHgxNCwweDAxLDB4MDQsMHgwNCwweDcxLDB4ODgsMHgxMCwweDEyLDB4MDUsMHgzNCwweDAxIH0gfSwKLXsgIDE2LCAweGYwNTAsIDAsIHsweDQ0LDB4MDQsMHg1MSwweDQwLDB4MTgsMHhkMCwweDA3LDB4MzgsMHgwMSwweGM0LDB4MDQsMHg1MiwweDAxLDB4MTQsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGYwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4OSwweDBjIH0gfSwKLXsgIDE2LCAweGYwNzAsIDAsIHsweDYwLDB4MDEsMHgxYywweGQwLDB4NDUsMHgyNCwweDAxLDB4YzEsMHgwYywweDQyLDB4MDEsMHgwMCwweDAwLDB4YzUsMHgyMCwweDMxIH0gfSwKLXsgIDE2LCAweGYwODAsIDAsIHsweDQxLDB4MDgsMHg0MCwweDAwLDB4MTgsMHg4MCwweDQ1LDB4MDAsMHgyMSwweDQxLDB4MGMsMHg3MCwweDQyLDB4MWMsMHhjMiwweDAwIH0gfSwKLXsgIDE2LCAweGYwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDFjLDB4ODAsMHhjNCwweDIwIH0gfSwKLXsgIDE2LCAweGYwYTAsIDAsIHsweDMxLDB4MDgsMHgxMCwweDQyLDB4NDIsMHgwOCwweDgwLDB4YzYsMHgyMCwweDMxLDB4MDksMHgwMCwweDIwLDB4MDMsMHgxYywweDkwIH0gfSwKLXsgIDE2LCAweGYwYjAsIDAsIHsweGM0LDB4MjAsMHgwMSwweDQ5LDB4MGMsMHg0MiwweDQzLDB4MTAsMHg4MCwweDQ0LDB4MjAsMHgzMSwweDA4LDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHg4MywweDIwLDB4MzAsMHg0OCwweDBjIH0gfSwKLXsgIDE2LCAweGYwZDAsIDAsIHsweDMyLDB4NDAsMHgxMCwweDkwLDB4ODEsMHgyNCwweDIwLDB4YzgsMHgwNCwweDMyLDB4NDAsMHgxMCwweDIwLDB4YzMsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGYwZTAsIDAsIHsweGM4LDB4MDAsMHgwMiwweDRhLDB4MGMsMHhhMCwweDAxLDB4MjQsMHgxMCwweGM4LDB4MDgsMHgzMiwweDQxLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHgwMywweDAwLDB4MDAsMHhjOSwweDA0IH0gfSwKLXsgIDE2LCAweGYxMDAsIDAsIHsweDMwLDB4NDAsMHgwMCwweDkwLDB4MDAsMHgyMCwweDAwLDB4ODAsMHgwMCwweDEwLDB4NDAsMHgxMCwweDAwLDB4NDAsMHgyMCwweDEwIH0gfSwKLXsgIDE2LCAweGYxMTAsIDAsIHsweGMyLDB4MDAsMHgwMCwweDgwLDB4MDgsMHgyMCwweDQzLDB4MDgsMHgxMCwweDgxLDB4MDAsMHgzMiwweDQwLDB4MGMsMHhjMCwweDA0IH0gfSwKLXsgIDE2LCAweGYxMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYxMzAsIDAsIHsweDEwLDB4MDAsMHgwMCwweGYwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweGYwLDB4MTAsMHg4MCwweDQwIH0gfSwKLXsgIDE2LCAweGYxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhmMCwweDEwLDB4OTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYywweDNjLDB4MTAsMHg4MCwweDkwLDB4NDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYxNjAsIDAsIHsweDAwLDB4ODAsMHgxMCwweDkwLDB4YTAsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGYxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4ZiwweDBmIH0gfSwKLXsgIDE2LCAweGYxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjQsMHhjNiwweGJhLDB4MDYsMHhjMCwweDFjIH0gfSwKLXsgIDE2LCAweGYxOTAsIDAsIHsweDQ5LDB4MjgsMHg2MSwweDE0LDB4MmIsMHgxYywweDBlLDB4NDAsMHgzZiwweGQ5LDB4YmYsMHhkOSwweGFhLDB4YmMsMHgxYSwweDVmIH0gfSwKLXsgIDE2LCAweGYxYTAsIDAsIHsweDAwLDB4MTAsMHhhNiwweDUwLDB4M2IsMHg2MSwweGIzLDB4MjUsMHhiYywweDQwLDB4MTksMHhiZiwweGZmLDB4ZTksMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGYxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MiwweDE0LDB4OTQsMHg4MCwweDBjIH0gfSwKLXsgIDE2LCAweGYxYzAsIDAsIHsweDA3LDB4M2YsMHgyYiwweDk0LDB4ODYsMHgxNCwweDg0LDB4ODAsMHgyOCwweDAwLDB4MDAsMHg0OSwweDE0LDB4MDQsMHg4NiwweDEyIH0gfSwKLXsgIDE2LCAweGYxZDAsIDAsIHsweDgwLDB4MDAsMHg0MSwweDI3LDB4MzQsMHhkMCwweDkwLDB4ODQsMHg5MiwweDAwLDB4MmQsMHg4YSwweDIxLDB4MWUsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGYxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGEyIH0gfSwKLXsgIDE2LCAweGYxZjAsIDAsIHsweGIxLDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4NCwweGIxLDB4NzgsMHgyOCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyMDAsIDAsIHsweDA4LDB4YjEsMHgzMiwweDE0LDB4MTQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTgsMHgyMywweDU0LDB4MjEsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGYyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDJmLDB4ZmYsMHhmZSwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZDcsMHhmZSwweGVmIH0gfSwKLXsgIDE2LCAweGYyMzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDBmLDB4ZWYsMHg3NywweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZmYsMHhmZSwweGVmIH0gfSwKLXsgIDE2LCAweGYyNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4YmYsMHhmZiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0gfSwKLXsgIDE2LCAweGYyOTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDdmLDB4MmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDFmLDB4ZmYsMHhmZiwweGVmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZWYsMHhlZiwweGVmIH0gfSwKLXsgIDE2LCAweGYyYzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhlZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4YWYsMHhkZiwweGZmIH0gfSwKLXsgIDE2LCAweGYyZjAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGVmLDB4ZmYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0gfSwKLXsgIDE2LCAweGYzMjAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHhjNCwweDI0LDB4YTEsMHgwMCwweDJjIH0gfSwKLXsgIDE2LCAweGYzNDAsIDAsIHsweDUyLDB4MGIsMHgxOCwweGMyLDB4ODYsMHgyYywweGExLDB4ODAsMHgzOCwweDYyLDB4MGEsMHgwOCwweDQwLDB4YzQsMHgyYywweGExIH0gfSwKLXsgIDE2LCAweGYzNTAsIDAsIHsweDA4LDB4MjgsMHg0MiwweDBiLDB4MTQsMHgwMCwweDg1LDB4MTQsMHhhMSwweDA4LDB4MjgsMHg0MywweDBhLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDEyLDB4MDEsMHgwMywweDgwIH0gfSwKLXsgIDE2LCAweGYzNzAsIDAsIHsweDYxLDB4MjAsMHgxMCwweDA4LDB4MDcsMHgxMiwweDQxLDB4NDIsMHg4MCwweDcwLDB4MjAsMHgxYywweDA4LDB4MDQsMHgxYSwweDAxIH0gfSwKLXsgIDE2LCAweGYzODAsIDAsIHsweDg0LDB4ODEsMHg0MCwweDIwLDB4MTgsMHgwOCwweDQ2LDB4MzYsMHg4MSwweDA1LDB4ODAsMHg2MywweDIwLDB4MTAsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweGYzOTAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCwweDI0LDB4MjEsMHgwMCwweDBjIH0gfSwKLXsgIDE2LCAweGYzYTAsIDAsIHsweDUyLDB4MDIsMHgxNCwweDAwLDB4ODcsMHgyOCwweDIxLDB4ODEsMHgwOCwweDcyLDB4MDYsMHgxYywweDgyLDB4ODQsMHgyMCwweDIxIH0gfSwKLXsgIDE2LCAweGYzYjAsIDAsIHsweDQ4LDB4MTgsMHg0MiwweDAzLDB4NTQsMHg4MCwweDQ1LDB4MzAsMHgyNSwweDRhLDB4MTgsMHg1MywweDAyLDB4MTAsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweGYzYzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDIyLDB4MDEsMHgwMSwweDgwIH0gfSwKLXsgIDE2LCAweGYzZDAsIDAsIHsweDQyLDB4MjAsMHgxOCwweGM4LDB4NDQsMHgyMiwweDAxLDB4ODAsMHg4NCwweDQyLDB4MjAsMHgxYywweDg4LDB4MDQsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGYzZTAsIDAsIHsweDAwLDB4ODAsMHg0MCwweDIwLDB4MTAsMHg4OCwweDQ0LDB4MzYsMHgwMSwweDQwLDB4ODAsMHg0MSwweDAwLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA4LDB4MjAsMHgwMCwweDBjIH0gfSwKLXsgIDE2LCAweGY0MDAsIDAsIHsweDIyLDB4MDMsMHgwNCwweDQwLDB4ODEsMHgwMCwweDIwLDB4ODQsMHgwOCwweDAzLDB4MDAsMHgwMCwweDgwLDB4YzIsMHgwMCwweDIwIH0gfSwKLXsgIDE2LCAweGY0MTAsIDAsIHsweGM0LDB4MDgsMHgwMCwweDAzLDB4MDgsMHg4OCwweDgyLDB4MTYsMHhhMCwweDQwLDB4ODgsMHgzMiwweDIyLDB4ODAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMSwweDAwLDB4ODAsMHgwNCwweDIwIH0gfSwKLXsgIDE2LCAweGY0MzAsIDAsIHsweDEwLDB4MDgsMHgwYywweGMyLDB4MTIsMHgxMCwweDg0LDB4YzgsMHgyMiwweDEyLDB4MDgsMHgwNCwweDAyLDB4MDMsMHgwMCwweDg4IH0gfSwKLXsgIDE2LCAweGY0NDAsIDAsIHsweDAwLDB4MjEsMHgwMCwweDBjLDB4MGMsMHg0MCwweDQxLDB4MzAsMHgwMCwweDg0LDB4MjAsMHgxMCwweDA4LDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4MiwweDA2LDB4MjAsMHgwOCwweDhjIH0gfSwKLXsgIDE2LCAweGY0NjAsIDAsIHsweDMyLDB4MjIsMHgwYywweDg4LDB4ODEsMHgyNiwweDIwLDB4NGQsMHg4OCwweDIzLDB4MjIsMHg4MCwweDg4LDB4ODMsMHgwNiwweDIwIH0gfSwKLXsgIDE2LCAweGY0NzAsIDAsIHsweDA4LDB4ODgsMHgwMCwweDIzLDB4MDQsMHg4YSwweDgxLDB4MzYsMHgyMCwweDRiLDB4ODgsMHgzMiwweDIyLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwMiwweDAyLDB4MDAsMHgwOSwweDgwIH0gfSwKLXsgIDE2LCAweGY0OTAsIDAsIHsweDMyLDB4MjAsMHgwNCwweDg4LDB4NjAsMHgyMiwweDAwLDB4ODksMHg4NCwweDAwLDB4MjAsMHgwOCwweDk4LDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY0YTAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAyLDB4M2EsMHg4MCwweDQ4LDB4ODAsMHgzMCwweDIwLDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MGEsMHhjNCwweDFhLDB4YTEsMHg4MCwweGE4IH0gfSwKLXsgIDE2LCAweGY0YzAsIDAsIHsweDQxLDB4MmEsMHgxMCwweGNhLDB4YzcsMHgxYSwweGExLDB4MDQsMHhhZCwweDcxLDB4MmEsMHgxOCwweDRhLDB4ZDQsMHgwNiwweGIxIH0gfSwKLXsgIDE2LCAweGY0ZDAsIDAsIHsweDAwLDB4YTgsMHg3MSwweDJhLDB4MTAsMHgwOCwweDg0LDB4MjYsMHgyOSwweDA2LDB4YWMsMHg1MiwweDJhLDB4MTAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwNCwweDJhLDB4MDEsMHg0MSwweDgwIH0gfSwKLXsgIDE2LCAweGY0ZjAsIDAsIHsweDQyLDB4MjAsMHgxYywweDAwLDB4MDQsMHgwYSwweDAxLDB4MDksMHg4NCwweDUxLDB4MjAsMHgxYywweDg4LDB4NDQsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGY1MDAsIDAsIHsweDA4LDB4ODAsMHg0MCwweDIwLDB4MTAsMHg0YSwweDQ3LDB4MDIsMHgwMSwweDQ4LDB4ODAsMHg2MywweDIwLDB4MTAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY1MTAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHhjNCwweDEwLDB4MjEsMHg4MSwweDBjIH0gfSwKLXsgIDE2LCAweGY1MjAsIDAsIHsweDQxLDB4MDIsMHgwYywweDAwLDB4YzAsMHgyMCwweDYxLDB4MGQsMHgwZSwweDcyLDB4MDIsMHgxYywweDQwLDB4YzQsMHgwOCwweDMxIH0gfSwKLXsgIDE2LCAweGY1MzAsIDAsIHsweDA0LDB4MTgsMHg0MiwweDAyLDB4MTAsMHg4MCwweDg3LDB4MjAsMHhiMSwweGM0LDB4MGMsMHg1MywweDAyLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4MjAsMHgwNywweDI0LDB4MDEsMHhjYywweDAwIH0gfSwKLXsgIDE2LCAweGY1NTAsIDAsIHsweDcyLDB4NDAsMHgxNCwweDAwLDB4MDQsMHgyNCwweDAxLDB4MDgsMHgwMCwweDczLDB4NDEsMHgxMCwweGMwLDB4MDcsMHgzMCwweDExIH0gfSwKLXsgIDE2LCAweGY1NjAsIDAsIHsweGNjLDB4MDAsMHg3MSwweDAxLDB4MTAsMHgwMiwweDA0LDB4MjAsMHg4MSwweDQ2LDB4MTAsMHg0MiwweDQwLDB4MTAsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGY1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHhjNSwweDEwLDB4MjEsMHgwMCwweDA4IH0gfSwKLXsgIDE2LCAweGY1ODAsIDAsIHsweDYyLDB4MDIsMHgxYywweDkwLDB4YzUsMHgyNCwweDIxLDB4MDAsMHgwYywweDcwLDB4ODIsMHgxYywweDEwLDB4YzQsMHgyMCwweDMxIH0gfSwKLXsgIDE2LCAweGY1OTAsIDAsIHsweDg4LDB4MDIsMHg0MCwweDA2LDB4MWMsMHgwMCwweDg1LDB4MDAsMHhhMSwweDAwLDB4MGMsMHg0MCwweDQyLDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjIsMHgwNSwweDE0LDB4ODAsMHgwMSwweDIwIH0gfSwKLXsgIDE2LCAweGY1YjAsIDAsIHsweDMwLDB4MDgsMHgwYywweDQyLDB4MDYsMHgwMCwweDgwLDB4MDEsMHgyNCwweDUxLDB4MDgsMHgwYywweDAyLDB4NDEsMHgwMCwweDgwIH0gfSwKLXsgIDE2LCAweGY1YzAsIDAsIHsweDRjLDB4MjAsMHgwMCwweDA4LDB4MGMsMHgzMCwweDQyLDB4MDQsMHgwMCwweDA0LDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhjNiwweDI0LDB4MjAsMHgwMCwweDBjIH0gfSwKLXsgIDE2LCAweGY1ZTAsIDAsIHsweDMyLDB4YzIsMHgwNCwweDgwLDB4YzcsMHgzMCwweDIwLDB4MDAsMHgwYywweDUzLDB4YzIsMHgwNCwweDEwLDB4YzIsMHgyOCwweDcwIH0gfSwKLXsgIDE2LCAweGY1ZjAsIDAsIHsweDBjLDB4MDksMHgwMiwweDAyLDB4NGMsMHg4MCwweDgxLDB4MDQsMHgzMCwweDA5LDB4MGMsMHgwMiwweDQyLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ODAsMHgwMSwweDM4LDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY2MTAsIDAsIHsweDEyLDB4NDAsMHgwYywweDIwLDB4MDcsMHgzNCwweDA0LDB4MDIsMHgwMCwweDYzLDB4MDEsMHgwOCwweDEwLDB4MDAsMHgyNCwweDEwIH0gfSwKLXsgIDE2LCAweGY2MjAsIDAsIHsweDA0LDB4MDAsMHgwMiwweDAxLDB4MDQsMHg4MiwweDAxLDB4MDgsMHg4MCwweDA5LDB4MTAsMHgwMiwweDQwLDB4MTAsMHgwMCwweDA0IH0gfSwKLXsgIDE2LCAweGY2MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgyMCwweDEwLDB4ODAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NDAsIDAsIHsweDIwLDB4ODAsMHgwMCwweGYwLDB4MjAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgwMCwweGQwLDB4ODAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDEwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjYywweDQwIH0gfSwKLXsgIDE2LCAweGY2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYywweDNjLDB4MTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NzAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHgwMCwweDkwIH0gfSwKLXsgIDE2LCAweGY2ODAsIDAsIHsweDgwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgxMCwweGEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MTAsMHg4YywweDA4IH0gfSwKLXsgIDE2LCAweGY2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzQsMHgxYSwweGJlLDB4MTcsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGY2YTAsIDAsIHsweDNlLDB4NDAsMHgyNiwweDZmLDB4YmEsMHhlMywweDI0LDB4ODAsMHgwMCwweDE2LDB4NTksMHhiZCwweDgyLDB4ODEsMHg4MiwweGQ4IH0gfSwKLXsgIDE2LCAweGY2YjAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDE5LDB4OTksMHg4NiwweDgwLDB4NjQsMHg4MCwweGMwLDB4M2YsMHhkOSwweDk5LDB4ODAsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweGY2YzAsIDAsIHsweGYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgxNiwweDAyLDB4OTQsMHgwMCwweDE2IH0gfSwKLXsgIDE2LCAweGY2ZDAsIDAsIHsweGMwLDB4MTYsMHg5NCwweDgyLDB4OTAsMHgxNiwweDEwLDB4ODAsMHgyMSwweDE4LDB4MjgsMHgyOCwweDAyLDB4MGEsMHgwMiwweDA4IH0gfSwKLXsgIDE2LCAweGY2ZTAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDgyLDB4ODAsMHgxNCwweDAwLDB4MDEsMHgxNCwweDExLDB4YTAsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGY2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDg0IH0gfSwKLXsgIDE2LCAweGY3MDAsIDAsIHsweDAyLDB4ODQsMHhhOCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg5MSwweDIyLDB4ODQsMHg0MSwweGEyLDB4MDgsMHgyNCwweDAxIH0gfSwKLXsgIDE2LCAweGY3MTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQsMHgwMSwweDQ0LDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNlLDB4ZjcsMHhmZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZTcsMHhiNywweGZmIH0gfSwKLXsgIDE2LCAweGY3NDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGZlLDB4N2YsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDM2LDB4YmYsMHhmZSwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4ZjcsMHhkZiwweGZmIH0gfSwKLXsgIDE2LCAweGY3NzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZCwweGI3LDB4YjcsMHhlZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDFmLDB4ZGYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4ZGYsMHhkZiwweGZmIH0gfSwKLXsgIDE2LCAweGY3YTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGVmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4YmYsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg3ZiwweGY3IH0gfSwKLXsgIDE2LCAweGY3ZDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4N2UsMHhmZiwweGZmLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmUsMHhmZiwweGZmIH0gfSwKLXsgIDE2LCAweGY4MDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDM3LDB4ZmYsMHg2ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0gfSwKLXsgIDE2LCAweGY4MzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ODAsIDAsIHsweDMwLDB4MDAsMHg0MywweDBjLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwIH0gfSwKLXsgIDE2LCAweGY5MDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDMwIH0gfSwKLXsgIDE2LCAweGY5YzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmIH0gfSwKLXsgIDE2LCAweGZhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmIH0gfSwKLXsgIDE2LCAweGZhODAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDBmIH0gfSwKLXsgIDE2LCAweGZhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEzLDB4NmIsMHgwMCwweGMwLDB4MDAsMHhjZiwweDJjIH0gfSwKLXsgIDE2LCAweGZiNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDMwIH0gfSwKLXsgIDE2LCAweGZjMDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDMwIH0gfSwKLXsgIDE2LCAweGZjYzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDBmIH0gfSwKLXsgIDE2LCAweGZkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDNmIH0gfSwKLXsgIDE2LCAweGZkODAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDBmIH0gfSwKLXsgIDE2LCAweGZkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDMzLDB4NWQsMHg4MCwweGMwLDB4MDAsMHhmZCwweGFjIH0gfSwKLXsgIDE2LCAweGZlNDAsIDAsIHsweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwIH0gfSwKLXsgIDE2LCAweGZmMDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDMwIH0gfSwKLXsgIDE2LCAweGZmYzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmIH0gfSwKLXsgIDE2LCAweDgwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmIH0gfSwKLXsgIDE2LCAweDgwOTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDBmIH0gfSwKLXsgIDE2LCAweDgwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEzLDB4NzQsMHhjMCwweGMwLDB4MDAsMHhmMCwweGVjIH0gfSwKLXsgIDE2LCAweDgxNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDMwIH0gfSwKLXsgIDE2LCAweDgyMTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE5LDB4ODYsMHgxMCwweDgwLDB4MzAsMHg4MiwweDNkIH0gfSwKLXsgIDE2LCAweDgyZDAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDBmIH0gfSwKLXsgIDE2LCAweDgzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDNmIH0gfSwKLXsgIDE2LCAweDgzOTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDBmIH0gfSwKLXsgIDE2LCAweDgzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzNywweDY1LDB4MjUsMHhlNCwweDgwLDB4MDAsMHhiMCwweDg4IH0gfSwKLXsgIDE2LCAweDg0NTAsIDAsIHsweGFiLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAyLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDAwIH0gfSwKLXsgIDE2LCAweDg0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQ0LDB4NzIsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweDkwZTAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDBjLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwNSwweDMwLDB4MDAsMHhhMCwweDAxIH0gfSwKLXsgIDE2LCAweDkxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4ZTEsMHg1YSwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDEyLCAweDkxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAwICwgMHgwMDAwLCAxLCB7MCB9fQotfTsKLS8vIFZFUlNJT049MS4xLjEuMTMxCi0vLyBEQVRFPTIwMDFkZWMwNgotLy8gUFJPRFVDVD1FTUkgMnw2Ci0vKgotICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQotICoKLSAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYwotICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCi0gKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAotICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bwotICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQotICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgotICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAotICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KLSAqLwotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19GaXJtd2FyZVtdID0gewoteyAgIDMsMHgwMDAwLDAsezB4MDIsMHg0MywweDU2fSB9LAoteyAgIDMsMHgwMDAzLDAsezB4MDIsMHg0YiwweGNkfSB9LAoteyAgIDMsMHgwMDBiLDAsezB4MDIsMHg0YiwweGQyfSB9LAoteyAgIDMsMHgwMDEzLDAsezB4MDIsMHg0YiwweDkyfSB9LAoteyAgIDMsMHgwMDFiLDAsezB4MDIsMHg0YiwweGQ1fSB9LAoteyAgIDMsMHgwMDIzLDAsezB4MDIsMHgxYiwweDM5fSB9LAoteyAgIDMsMHgwMDJiLDAsezB4MDIsMHg0MywweGUyfSB9LAoteyAgIDMsMHgwMDMzLDAsezB4MDIsMHgzZiwweGYzfSB9LAoteyAgIDMsMHgwMDNiLDAsezB4MDIsMHg0YiwweGMwfSB9LAoteyAgIDMsMHgwMDQzLDAsezB4MDIsMHg0NywweDAwfSB9LAoteyAgIDMsMHgwMDRiLDAsezB4MDIsMHgzZiwweGZjfSB9LAoteyAgIDMsMHgwMDUzLDAsezB4MDIsMHgzNywweGZhfSB9LAoteyAgIDMsMHgwMDViLDAsezB4MDIsMHg0YiwweGM3fSB9LAoteyAgIDMsMHgwMDYzLDAsezB4MDIsMHg0NiwweGZjfSB9LAoteyAgMTYsMHgwNTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDA1MTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweGI4LDB4MDEsMHgwMywweDAxLDB4MDAsMHg4MCwweGEwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MDUyMCwwLHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MGEsMHgyNCwweDAxLDB4MDAsMHgwMSwweDU2LDB4MDAsMHgwMiwweDAxLDB4MDIsMHgwYywweDI0fSB9LAoteyAgMTYsMHgwNTMwLDAsezB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMCwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDI0LDB4MDYsMHgwNSwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDA1NDAsMCx7MHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOX0gfSwKLXsgIDE2LDB4MDU1MCwwLHsweDI0LDB4MDMsMHgwMiwweDA0LDB4MDMsMHgwMCwweDA1LDB4MDAsMHgwYywweDI0LDB4MDIsMHgwMywweDAxLDB4MDIsMHgwMCwweDAyfSB9LAoteyAgMTYsMHgwNTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDI0LDB4MDYsMHgwNiwweDAzLDB4MDIsMHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDA1NzAsMCx7MHgwMCwweDA5LDB4MjQsMHgwMywweDA0LDB4MDEsMHgwMSwweDAwLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAwLDB4MDAsMHgwMX0gfSwKLXsgIDE2LDB4MDU4MCwwLHsweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAxLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxfSB9LAoteyAgMTYsMHgwNTkwLDAsezB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAyLDB4MTAsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmJ9IH0sCi17ICAxNiwweDA1YTAsMCx7MHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHgwYSwweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMX0gfSwKLXsgIDE2LDB4MDViMCwwLHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxfSB9LAoteyAgMTYsMHgwNWMwLDAsezB4MDIsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgwZSwweDI0LDB4MDJ9IH0sCi17ICAxNiwweDA1ZDAsMCx7MHgwMSwweDA2LDB4MDIsMHgxMCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDksMHgwNSwweDBhLDB4MDUsMHg0Y30gfSwKLXsgIDE2LDB4MDVlMCwwLHsweDAyLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzfSB9LAoteyAgMTYsMHgwNWYwLDAsezB4MDAsMHgwMSwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMywweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDF9IH0sCi17ICAxNiwweDA2MDAsMCx7MHgwMSwweDAwLDB4MDEsMHgwMCwweDBlLDB4MjQsMHgwMiwweDAxLDB4MDYsMHgwMywweDE4LDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MH0gfSwKLXsgIDE2LDB4MDYxMCwwLHsweGJiLDB4MDAsMHgwOSwweDA1LDB4MGEsMHgwNSwweDcyLDB4MDMsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDEsMHgwMSwweDAwfSB9LAoteyAgMTYsMHgwNjIwLDAsezB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDA0LDB4MDJ9IH0sCi17ICAxNiwweDA2MzAsMCx7MHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MGIsMHgyNCwweDAyLDB4MDEsMHgwMn0gfSwKLXsgIDE2LDB4MDY0MCwwLHsweDAzLDB4MTgsMHgwMSwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHgwYSwweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHg4ZiwweDA3fSB9LAoteyAgMTYsMHgwNjUwLDAsezB4MjUsMHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNiwweDAwLDB4MDl9IH0sCi17ICAxNiwweDA2NjAsMCx7MHgwNCwweDAyLDB4MDAsMHgwMCwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMH0gfSwKLXsgIDE2LDB4MDY3MCwwLHsweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAzfSB9LAoteyAgMTYsMHgwNjgwLDAsezB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDhjLDB4MDUsMHg4NCwweDAxLDB4MDF9IH0sCi17ICAxNiwweDA2OTAsMCx7MHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwMiwweDAxLDB4MDEsMHgwMn0gfSwKLXsgIDE2LDB4MDZhMCwwLHsweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMywweDE4fSB9LAoteyAgMTYsMHgwNmIwLDAsezB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4OGMsMHgwNSwweDQ2LDB4MDJ9IH0sCi17ICAxNiwweDA2YzAsMCx7MHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA1LDB4MGMsMHgwOSwweDAxLDB4YTEsMHgwMX0gfSwKLXsgIDE2LDB4MDZkMCwwLHsweDA1LDB4MGMsMHgwOSwweGU5LDB4MDUsMHgwYywweDA5LDB4ZWEsMHgxNSwweDAwLDB4MjUsMHgwMSwweDk1LDB4MDIsMHg3NSwweDAxfSB9LAoteyAgMTYsMHgwNmUwLDAsezB4ODEsMHg0MiwweDk1LDB4MDEsMHg3NSwweDA2LDB4ODEsMHgwMSwweDA1LDB4MGMsMHgwOSwweDAwLDB4MDUsMHgwYywweDA5LDB4MDB9IH0sCi17ICAxNiwweDA2ZjAsMCx7MHgxNSwweDAwLDB4MjUsMHgwMSwweDk1LDB4MDIsMHg3NSwweDAxLDB4OTEsMHgwNiwweDk1LDB4MDEsMHg3NSwweDA2LDB4OTEsMHgwM30gfSwKLXsgIDE2LDB4MDcwMCwwLHsweGMwLDB4MDQsMHgwMywweDA5LDB4MDQsMHgxOCwweDAzLDB4NDUsMHgwMCwweDRkLDB4MDAsMHg0MSwweDAwLDB4NDcsMHgwMCwweDQ5fSB9LAoteyAgMTYsMHgwNzEwLDAsezB4MDAsMHg0MywweDAwLDB4MjAsMHgwMCwweDQ3LDB4MDAsMHg2ZCwweDAwLDB4NjIsMHgwMCwweDQ4LDB4MDAsMHgxZSwweDAzLDB4NDV9IH0sCi17ICAxNiwweDA3MjAsMCx7MHgwMCwweDZkLDB4MDAsMHg2MSwweDAwLDB4NjcsMHgwMCwweDY5LDB4MDAsMHg2MywweDAwLDB4MjAsMHgwMCwweDQ1LDB4MDAsMHg0ZH0gfSwKLXsgIDE2LDB4MDczMCwwLHsweDAwLDB4NDksMHgwMCwweDIwLDB4MDAsMHgzMiwweDAwLDB4N2MsMHgwMCwweDM2LDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmfSB9LAoteyAgMTYsMHgwNzQwLDAsezB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDAsMHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NzR9IH0sCi17ICAxNiwweDA3NTAsMCx7MHgwMCwweDY5LDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OX0gfSwKLXsgIDE2LDB4MDc2MCwwLHsweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzLDB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyfSB9LAoteyAgMTYsMHgwNzcwLDAsezB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzJ9IH0sCi17ICAgOSwweDA3ODAsMCx7MHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDA3ODksMCx7MHg3NCwweDAwLDB4ZjUsMHg4NiwweDkwLDB4ZmQsMHhhNSwweDdjLDB4MDUsMHhhMywweGU1LDB4ODIsMHg0NSwweDgzLDB4NzAsMHhmOX0gfSwKLXsgICAxLDB4MDc5OSwwLHsweDIyfSB9LAoteyAgMTYsMHgwNzlhLDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDg3LDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9IH0sCi17ICAxNiwweDA3YWEsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHg4ZCwweGUwLDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4MDdiYSwwLHsweDhjLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHhlNSwweDE4fSB9LAoteyAgMTYsMHgwN2NhLDAsezB4YjQsMHgwMiwweDAzLDB4MDIsMHgwNywweGQ5LDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwNywweGRlLDB4MDIsMHgwNywweGZhLDB4N2R9IH0sCi17ICAxNiwweDA3ZGEsMCx7MHgwMSwweDAyLDB4MDgsMHgxNiwweGU1LDB4MTksMHgxNCwweGY1LDB4MTksMHhjMywweGI1LDB4MTMsMHgwMywweDAyLDB4MDcsMHhmNX0gfSwKLXsgIDE2LDB4MDdlYSwwLHsweDUwLDB4MDksMHhiNCwweDAwLDB4ZWEsMHg3NSwweDE5LDB4MGEsMHgwMiwweDA3LDB4ZDksMHg3ZCwweDAwLDB4MDIsMHgwOCwweDE2fSB9LAoteyAgMTYsMHgwN2ZhLDAsezB4ZTUsMHgxOSwweDE0LDB4ZjUsMHgxOSwweGMzLDB4YjUsMHgxNCwweDAzLDB4MDIsMHgwOCwweDExLDB4NTAsMHgwOSwweGI0LDB4MDB9IH0sCi17ICAxNiwweDA4MGEsMCx7MHhjZSwweDc1LDB4MTksMHgwYSwweDAyLDB4MDcsMHhkOSwweDdkLDB4MDIsMHgwMiwweDA4LDB4MTYsMHg3YywweDA1LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDgxYSwwLHsweDk5LDB4ZTAsMHg1NCwweDQwLDB4ZGMsMHgwMywweDAyLDB4MDgsMHg0MywweGI0LDB4MDAsMHgxZCwweDkwLDB4N2YsMHhlMywweDc0fSB9LAoteyAgMTYsMHgwODJhLDAsezB4N2IsMHhmMCwweGEzLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0MCwweGYwLDB4OTAsMHg3ZiwweGU1LDB4ZjB9IH0sCi17ICAxNiwweDA4M2EsMCx7MHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHgwMiwweDA4LDB4MTgsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MH0gfSwKLXsgIDE2LDB4MDg0YSwwLHsweGYwLDB4OTAsMHg3OSwweDY1LDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgwMiwweDA4LDB4OWUsMHhiNCwweDAyLDB4MDMsMHgwMiwweDA4fSB9LAoteyAgMTYsMHgwODVhLDAsezB4OTYsMHhiNCwweDAzLDB4MDMsMHgwMiwweDA4LDB4OGUsMHhiNCwweDA0LDB4MDMsMHgwMiwweDA4LDB4ODYsMHhiNCwweDA1LDB4MDN9IH0sCi17ICAxNiwweDA4NmEsMCx7MHgwMiwweDA4LDB4N2UsMHhiNCwweDA2LDB4MDMsMHgwMiwweDA4LDB4NzYsMHgwMiwweDA4LDB4ZjQsMHgwNSwweDg2LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDg3YSwwLHsweDZjLDB4MDIsMHgwOCwweGU5LDB4MDUsMHg4NiwweDkwLDB4N2YsMHg2YywweDAyLDB4MDgsMHhkZCwweDA1LDB4ODYsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwODhhLDAsezB4NmMsMHgwMiwweDA4LDB4Y2YsMHgwNSwweDg2LDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgwOCwweGMwLDB4MDUsMHg4NiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDA4OWEsMCx7MHg2YywweDAyLDB4MDgsMHhiMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4NmMsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhmMH0gfSwKLXsgIDE2LDB4MDhhYSwwLHsweDBkLDB4ZWQsMHhiNCwweDJkLDB4ZjQsMHgwMiwweDA4LDB4ZjQsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHgwZCwweGVkfSB9LAoteyAgMTYsMHgwOGJhLDAsezB4YjQsMHgyZCwweGY1LDB4MDIsMHgwOCwweGY0LDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhmMCwweDAwLDB4ZjAsMHgwZCwweGVkLDB4YjR9IH0sCi17ICAxNiwweDA4Y2EsMCx7MHgzMSwweGY0LDB4MDIsMHgwOCwweGY0LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4MGQsMHhlZCwweGI0LDB4MzEsMHhmNX0gfSwKLXsgIDE2LDB4MDhkYSwwLHsweDAyLDB4MDgsMHhmNCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4MGQsMHhlZCwweGI0LDB4NjEsMHhmNywweDAyLDB4MDgsMHhmNCwweGYwfSB9LAoteyAgMTYsMHgwOGVhLDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBkLDB4ZWQsMHhiNCwweDYxLDB4ZjUsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjB9IH0sCi17ICAxNiwweDA4ZmEsMCx7MHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODYsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmZH0gfSwKLXsgICA1LDB4MDkwYSwwLHsweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTB9IH0sCi17ICAgNiwweDA5MGYsMCx7MHhmZiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9IH0sCi17ICAxNiwweDA5MTUsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4OTAsMHg3ZiwweDZmLDB4ZTUsMHgwYywweGYwLDB4ZTUsMHgwZH0gfSwKLXsgIDEzLDB4MDkyNSwwLHsweGYwLDB4ZTUsMHgwZSwweGYwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwOTMyLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODN9IH0sCi17ICAxNiwweDA5NDIsMCx7MHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZmLDB4YmYsMHgwMCwweDAzLDB4MDIsMHgwYX0gfSwKLXsgIDE2LDB4MDk1MiwwLHsweGI4LDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwOTYyLDAsezB4NjIsMHhlMCwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4N2Z9IH0sCi17ICAxNiwweDA5NzIsMCx7MHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4NzksMHg4OCwweGUwLDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwOX0gfSwKLXsgIDE2LDB4MDk4MiwwLHsweGJlLDB4YjQsMHgwMiwweDAzLDB4MDIsMHgwOSwweGMzLDB4YjQsMHgwMywweDAzLDB4MDIsMHgwOSwweGFjLDB4YjQsMHgwNCwweDAzfSB9LAoteyAgMTYsMHgwOTkyLDAsezB4MDIsMHgwOSwweDlhLDB4MDUsMHg4NiwweDAyLDB4MGEsMHhiMiwweGVmLDB4NTQsMHgwMywweGZlLDB4ZWYsMHgwMywweDAzLDB4NTR9IH0sCi17ICAxNiwweDA5YTIsMCx7MHgzZiwweGZmLDB4OTAsMHg3ZiwweDYzLDB4MDUsMHg4NiwweDAyLDB4MDksMHhjOSwweGVmLDB4NTQsMHgwMywweGZlLDB4ZWYsMHgwM30gfSwKLXsgIDE2LDB4MDliMiwwLHsweDAzLDB4NTQsMHgzZiwweGZmLDB4OTAsMHg3ZiwweDYzLDB4MDUsMHg4NiwweDAyLDB4MGEsMHgzNiwweDA1LDB4ODYsMHgwMiwweDBhfSB9LAoteyAgMTYsMHgwOWMyLDAsezB4YTUsMHgwNSwweDg2LDB4MDIsMHgwYSwweDhlLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDA5ZDIsMCx7MHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4Nn0gfSwKLXsgIDE2LDB4MDllMiwwLHsweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwOWYyLDAsezB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhkZiwweGNhLDB4ZWUsMHhiNCwweDAwLDB4MDN9IH0sCi17ICAxNiwweDBhMDIsMCx7MHgwMiwweDBhLDB4YjIsMHhiNCwweDAxLDB4MDMsMHgwMiwweDBhLDB4MjUsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNX0gfSwKLXsgIDE2LDB4MGExMiwwLHsweDg2LDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwYTIyLDAsezB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODZ9IH0sCi17ICAxNiwweDBhMzIsMCx7MHgwMiwweDBhLDB4YjIsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDEzLDB4MGE0MiwwLHsweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2fSB9LAoteyAgMTYsMHgwYTRmLDAsezB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweGRmLDB4ZDZ9IH0sCi17ICAxNiwweDBhNWYsMCx7MHhlZSwweGI0LDB4MDAsMHgwMywweDAyLDB4MGEsMHhiMiwweGI0LDB4MDEsMHgwMywweDAyLDB4MGEsMHg4MCwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGE2ZiwwLHsweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1fSB9LAoteyAgMTYsMHgwYTdmLDAsezB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweDAyLDB4MGEsMHhiMiwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDBhOGYsMCx7MHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGE5ZiwwLHsweGRmLDB4ZWMsMHgwMiwweDBhLDB4YjIsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwYWFmLDAsezB4ZTAsMHhkZiwweGYyLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDB9IH0sCi17ICAxNCwweDBhYmYsMCx7MHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwYWNkLDAsezB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGUwLDB4ZTgsMHhjMCwweGUwLDB4NzgsMHhkMSwweGU4LDB4MTQsMHhmOCwweDcwLDB4ZmJ9IH0sCi17ICAxMCwweDBhZGQsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn0gfSwKLXsgIDE2LDB4MGFlNywwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweDhkLDB4ZTAsMHhjMCwweGUwfSB9LAoteyAgMTYsMHgwYWY3LDAsezB4OGMsMHhlMCwweGMwLDB4ZTAsMHg3NSwweDg2LDB4MDAsMHhjMCwweDgyLDB4YzAsMHg4MywweDA1LDB4ODYsMHhjMCwweDg0LDB4YzB9IH0sCi17ICAxNiwweDBiMDcsMCx7MHg4NSwweDdlLDB4MDAsMHg5MCwweDc5LDB4OGUsMHhlMCwweGI0LDB4MDAsMHgxNiwweDc0LDB4MDEsMHhmMCwweDkwLDB4MDYsMHhjYX0gfSwKLXsgIDE2LDB4MGIxNywwLHsweGEzLDB4YTMsMHhhMywweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHhmZiwweDkwLDB4NzksMHg4ZCwweGYwLDB4MDIsMHgwYiwweDM5fSB9LAoteyAgMTYsMHgwYjI3LDAsezB4OTAsMHg3OSwweDhkLDB4ZTAsMHhmZiwweDkwLDB4NzksMHg4ZiwweGUwLDB4ZmQsMHg5MCwweDc5LDB4OTAsMHhlMCwweGZjLDB4MDJ9IH0sCi17ICAxNiwweDBiMzcsMCx7MHgwYiwweDQ2LDB4OTAsMHgwNiwweGNhLDB4MDUsMHg4NiwweDkwLDB4N2YsMHgwMCwweDA1LDB4ODYsMHgwMiwweDBiLDB4NTEsMHg4ZH0gfSwKLXsgIDE2LDB4MGI0NywwLHsweDg0LDB4OGMsMHg4NSwweDA1LDB4ODYsMHg5MCwweDdmLDB4MDAsMHgwNSwweDg2LDB4ZTAsMHhhMywweDA1LDB4ODYsMHhmMCwweGEzfSB9LAoteyAgMTYsMHgwYjU3LDAsezB4MGUsMHhlZSwweGI0LDB4NDAsMHgwMywweDAyLDB4MGIsMHg2YywweDA1LDB4ODYsMHhkZiwweGVlLDB4OTAsMHg3OSwweDhlLDB4NzR9IH0sCi17ICAxNiwweDBiNjcsMCx7MHgwMCwweGYwLDB4MDIsMHgwYiwweDgyLDB4MDUsMHg4NiwweGFkLDB4ODQsMHhhYywweDg1LDB4OTAsMHg3OSwweDhmLDB4ZWQsMHhmMH0gfSwKLXsgIDE2LDB4MGI3NywwLHsweDkwLDB4NzksMHg5MCwweGVjLDB4ZjAsMHg5MCwweDc5LDB4OGQsMHgxZiwweGVmLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHhlZSwweGYwfSB9LAoteyAgMTYsMHgwYjg3LDAsezB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmR9IH0sCi17ICAxMSwweDBiOTcsMCx7MHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwYmEyLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDkwLDB4N2YsMHhhZSwweGUwLDB4NTQsMHhlMCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDBiYjIsMCx7MHg3ZiwweDk2LDB4ZTAsMHg0NCwweDA4LDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGJmLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MGJjMiwwLHsweDdmLDB4ZTMsMHg3NCwweDdiLDB4ZjAsMHg5MCwweDdmLDB4ZTQsMHg3NCwweDQwLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHhlMCwweDkwfSB9LAoteyAgMTYsMHgwYmQyLDAsezB4N2IsMHg0MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0OCwweGYwLDB4OTAsMHg3ZiwweGU1LDB4ZTAsMHg5MCwweDdmLDB4ZTJ9IH0sCi17ICAxNiwweDBiZTIsMCx7MHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4ZjcsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDdmLDB4ZTMsMHg3NH0gfSwKLXsgIDE2LDB4MGJmMiwwLHsweDdiLDB4ZjAsMHg5MCwweDdmLDB4ZTQsMHg3NCwweDQwLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4N2IsMHg0MCwweGYwfSB9LAoteyAgMTYsMHgwYzAyLDAsezB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0OCwweGYwLDB4OTAsMHg3ZiwweGU1LDB4ZTAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjB9IH0sCi17ICAxNiwweDBjMTIsMCx7MHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4ZjMsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgxZiwweGYwLDB4ZDAsMHg4M30gfSwKLXsgICA3LDB4MGMyMiwwLHsweGQwLDB4ODIsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwYzI5LDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4NzksMHgyZiwweGUwLDB4NjQsMHhmZiwweGMzLDB4MjR9IH0sCi17ICAxMSwweDBjMzksMCx7MHgwMSwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwYzQ0LDAsezB4YmIsMHgwMSwweDA2LDB4ODksMHg4MiwweDhhLDB4ODMsMHhlMCwweDIyLDB4NTAsMHgwMiwweGU3LDB4MjIsMHhiYiwweGZlLDB4MDJ9IH0sCi17ICAgOSwweDBjNTQsMCx7MHhlMywweDIyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhlNCwweDkzLDB4MjJ9IH0sCi17ICAxNiwweDBjNWQsMCx7MHhiYiwweDAxLDB4MGMsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4MjIsMHg1MH0gfSwKLXsgIDE2LDB4MGM2ZCwwLHsweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlNiwweDIyLDB4YmIsMHhmZSwweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweDIyfSB9LAoteyAgMTMsMHgwYzdkLDAsezB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlNCwweDkzLDB4MjJ9IH0sCi17ICAxNiwweDBjOGEsMCx7MHhiYiwweDAxLDB4MDYsMHg4OSwweDgyLDB4OGEsMHg4MywweGYwLDB4MjIsMHg1MCwweDAyLDB4ZjcsMHgyMiwweGJiLDB4ZmUsMHgwMX0gfSwKLXsgICAyLDB4MGM5YSwwLHsweGYzLDB4MjJ9IH0sCi17ICAxNiwweDBjOWMsMCx7MHhmOCwweGJiLDB4MDEsMHgwZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTgsMHhmMH0gfSwKLXsgIDE2LDB4MGNhYywwLHsweDIyLDB4NTAsMHgwNiwweGU5LDB4MjUsMHg4MiwweGM4LDB4ZjYsMHgyMiwweGJiLDB4ZmUsMHgwNSwweGU5LDB4MjUsMHg4MiwweGM4fSB9LAoteyAgIDIsMHgwY2JjLDAsezB4ZjIsMHgyMn0gfSwKLXsgIDE2LDB4MGNiZSwwLHsweGMyLDB4ZDUsMHhlYywweDMwLDB4ZTcsMHgwOSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweGVlfSB9LAoteyAgMTYsMHgwY2NlLDAsezB4MzAsMHhlNywweDE1LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MTIsMHgwZSwweDQwLDB4YzN9IH0sCi17ICAxNiwweDBjZGUsMCx7MHhlNCwweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHg4MCwweDAzLDB4MTIsMHgwZSwweDQwLDB4MzAsMHhkNSwweDA3LDB4YzMsMHhlNH0gfSwKLXsgICA2LDB4MGNlZSwwLHsweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgyMn0gfSwKLXsgIDE2LDB4MGNmNCwwLHsweGM1LDB4ZjAsMHhmOCwweGEzLDB4ZTAsMHgyOCwweGYwLDB4YzUsMHhmMCwweGY4LDB4ZTUsMHg4MiwweDE1LDB4ODIsMHg3MCwweDAyfSB9LAoteyAgIDYsMHgwZDA0LDAsezB4MTUsMHg4MywweGUwLDB4MzgsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgwZDBhLDAsezB4YmIsMHgwMSwweDEwLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweGY1LDB4ZjB9IH0sCi17ICAxNiwweDBkMWEsMCx7MHhhMywweGUwLDB4MjIsMHg1MCwweDA5LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg4NiwweGYwLDB4MDgsMHhlNiwweDIyLDB4YmIsMHhmZX0gfSwKLXsgIDE2LDB4MGQyYSwwLHsweDBhLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweGY1LDB4ZjAsMHgwOCwweGUyLDB4MjIsMHhlNSwweDgzLDB4MmEsMHhmNSwweDgzfSB9LAoteyAgIDgsMHgwZDNhLDAsezB4ZTksMHg5MywweGY1LDB4ZjAsMHhhMywweGU5LDB4OTMsMHgyMn0gfSwKLXsgIDE2LDB4MGQ0MiwwLHsweGU4LDB4OGYsMHhmMCwweGE0LDB4Y2MsMHg4YiwweGYwLDB4YTQsMHgyYywweGZjLDB4ZTksMHg4ZSwweGYwLDB4YTQsMHgyYywweGZjfSB9LAoteyAgMTYsMHgwZDUyLDAsezB4OGEsMHhmMCwweGVkLDB4YTQsMHgyYywweGZjLDB4ZWEsMHg4ZSwweGYwLDB4YTQsMHhjZCwweGE4LDB4ZjAsMHg4YiwweGYwLDB4YTR9IH0sCi17ICAxNiwweDBkNjIsMCx7MHgyZCwweGNjLDB4MzgsMHgyNSwweGYwLDB4ZmQsMHhlOSwweDhmLDB4ZjAsMHhhNCwweDJjLDB4Y2QsMHgzNSwweGYwLDB4ZmMsMHhlYn0gfSwKLXsgIDE2LDB4MGQ3MiwwLHsweDhlLDB4ZjAsMHhhNCwweGZlLDB4YTksMHhmMCwweGViLDB4OGYsMHhmMCwweGE0LDB4Y2YsMHhjNSwweGYwLDB4MmUsMHhjZCwweDM5fSB9LAoteyAgMTUsMHgwZDgyLDAsezB4ZmUsMHhlNCwweDNjLDB4ZmMsMHhlYSwweGE0LDB4MmQsMHhjZSwweDM1LDB4ZjAsMHhmZCwweGU0LDB4M2MsMHhmYywweDIyfSB9LAoteyAgMTYsMHgwZDkxLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9IH0sCi17ICAgMSwweDBkYTEsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MGRhMiwwLHsweGJiLDB4MDEsMHgwZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4MDIsMHgwZSwweGExfSB9LAoteyAgMTYsMHgwZGIyLDAsezB4NTAsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4LDB4MDIsMHgwZSwweDk1LDB4YmIsMHhmZSwweDA3LDB4ZTksMHgyNSwweDgyLDB4Zjh9IH0sCi17ICAxNiwweDBkYzIsMCx7MHgwMiwweDBlLDB4YWQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweDAyLDB4MGUsMHhiOX0gfSwKLXsgIDE2LDB4MGRkMiwwLHsweGJiLDB4MDEsMHgwZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4MDIsMHgwZSwweGQ1fSB9LAoteyAgMTYsMHgwZGUyLDAsezB4NTAsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4LDB4MDIsMHgwZSwweGM5LDB4YmIsMHhmZSwweDA3LDB4ZTksMHgyNSwweDgyLDB4Zjh9IH0sCi17ICAgNCwweDBkZjIsMCx7MHgwMiwweDBlLDB4ZTEsMHgyMn0gfSwKLXsgIDE2LDB4MGRmNiwwLHsweGJiLDB4MDEsMHgwZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4MDIsMHgwZiwweDA2fSB9LAoteyAgMTYsMHgwZTA2LDAsezB4NTAsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4LDB4MDIsMHgwZSwweGVkLDB4YmIsMHhmZSwweDA3LDB4ZTksMHgyNSwweDgyLDB4Zjh9IH0sCi17ICAgNCwweDBlMTYsMCx7MHgwMiwweDBmLDB4MzcsMHgyMn0gfSwKLXsgIDE2LDB4MGUxYSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjgsMHhlNCwweDkzLDB4NzAsMHgxMiwweDc0LDB4MDEsMHg5MywweDcwLDB4MGQsMHhhMywweGEzfSB9LAoteyAgMTYsMHgwZTJhLDAsezB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4OCwweDgzLDB4ZTQsMHg3MywweDc0LDB4MDIsMHg5MywweDY4LDB4NjB9IH0sCi17ICAgNiwweDBlM2EsMCx7MHhlZiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGZ9IH0sCi17ICAxNiwweDBlNDAsMCx7MHhiYywweDAwLDB4MGIsMHhiZSwweDAwLDB4MjksMHhlZiwweDhkLDB4ZjAsMHg4NCwweGZmLDB4YWQsMHhmMCwweDIyLDB4ZTQsMHhjY30gfSwKLXsgIDE2LDB4MGU1MCwwLHsweGY4LDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZiwweGZmLDB4ZWUsMHgzMywweGZlLDB4ZWMsMHgzMywweGZjLDB4ZWUsMHg5ZCwweGVjfSB9LAoteyAgMTYsMHgwZTYwLDAsezB4OTgsMHg0MCwweDA1LDB4ZmMsMHhlZSwweDlkLDB4ZmUsMHgwZiwweGQ1LDB4ZjAsMHhlOSwweGU0LDB4Y2UsMHhmZCwweDIyLDB4ZWR9IH0sCi17ICAxNiwweDBlNzAsMCx7MHhmOCwweGY1LDB4ZjAsMHhlZSwweDg0LDB4MjAsMHhkMiwweDFjLDB4ZmUsMHhhZCwweGYwLDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZn0gfSwKLXsgIDE2LDB4MGU4MCwwLHsweGZmLDB4ZWQsMHgzMywweGZkLDB4NDAsMHgwNywweDk4LDB4NTAsMHgwNiwweGQ1LDB4ZjAsMHhmMiwweDIyLDB4YzMsMHg5OCwweGZkfSB9LAoteyAgIDUsMHgwZTkwLDAsezB4MGYsMHhkNSwweGYwLDB4ZWEsMHgyMn0gfSwKLXsgIDEyLDB4MGU5NSwwLHsweGU2LDB4ZmMsMHgwOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmUsMHgwOCwweGU2LDB4ZmYsMHgyMn0gfSwKLXsgIDEyLDB4MGVhMSwwLHsweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHgyMn0gfSwKLXsgIDEyLDB4MGVhZCwwLHsweGUyLDB4ZmMsMHgwOCwweGUyLDB4ZmQsMHgwOCwweGUyLDB4ZmUsMHgwOCwweGUyLDB4ZmYsMHgyMn0gfSwKLXsgIDE2LDB4MGViOSwwLHsweGU0LDB4OTMsMHhmYywweGEzLDB4ZTQsMHg5MywweGZkLDB4YTMsMHhlNCwweDkzLDB4ZmUsMHhhMywweGU0LDB4OTMsMHhmZiwweDIyfSB9LAoteyAgMTIsMHgwZWM5LDAsezB4ZWMsMHhmNiwweDA4LDB4ZWQsMHhmNiwweDA4LDB4ZWUsMHhmNiwweDA4LDB4ZWYsMHhmNiwweDIyfSB9LAoteyAgMTIsMHgwZWQ1LDAsezB4ZWMsMHhmMCwweGEzLDB4ZWQsMHhmMCwweGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDIyfSB9LAoteyAgMTIsMHgwZWUxLDAsezB4ZWMsMHhmMiwweDA4LDB4ZWQsMHhmMiwweDA4LDB4ZWUsMHhmMiwweDA4LDB4ZWYsMHhmMiwweDIyfSB9LAoteyAgMTYsMHgwZWVkLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhlNCwweDkzLDB4ZjYsMHgwOCwweDc0LDB4MDEsMHg5MywweGY2LDB4MDgsMHg3NCwweDAyLDB4OTN9IH0sCi17ICAgOSwweDBlZmQsMCx7MHhmNiwweDA4LDB4NzQsMHgwMywweDkzLDB4ZjYsMHg3NCwweDA0LDB4NzN9IH0sCi17ICAxNiwweDBmMDYsMCx7MHhhOCwweDgyLDB4ODUsMHg4MywweGYwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgxMiwweDBmLDB4MWQsMHgxMiwweDBmLDB4MWQsMHgxMn0gfSwKLXsgIDE2LDB4MGYxNiwwLHsweDBmLDB4MWQsMHgxMiwweDBmLDB4MWQsMHhlNCwweDczLDB4ZTQsMHg5MywweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzfSB9LAoteyAgMTYsMHgwZjI2LDAsezB4YzgsMHhjNSwweDgyLDB4YzgsMHhmMCwweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzLDB4YzgsMHhjNSwweDgyLDB4Yzh9IH0sCi17ICAgMSwweDBmMzYsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MGYzNywwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZTQsMHg5MywweGYyLDB4MDgsMHg3NCwweDAxLDB4OTMsMHhmMiwweDA4LDB4NzQsMHgwMiwweDkzfSB9LAoteyAgIDksMHgwZjQ3LDAsezB4ZjIsMHgwOCwweDc0LDB4MDMsMHg5MywweGYyLDB4NzQsMHgwNCwweDczfSB9LAoteyAgMTYsMHgwZjUwLDAsezB4YzIsMHhhZiwweGQyLDB4MmMsMHg5MCwweDdmLDB4OTMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweGJmLDB4ZjB9IH0sCi17ICAxNiwweDBmNjAsMCx7MHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5NCwweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5ZH0gfSwKLXsgIDE2LDB4MGY3MCwwLHsweDc0LDB4Y2YsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5NSwweDc0LDB4Y2MsMHhmMCwweGU0fSB9LAoteyAgMTYsMHgwZjgwLDAsezB4OTAsMHg3ZiwweDllLDB4ZjAsMHhjMiwweDJkLDB4YzIsMHgyYSwweGMyLDB4MmIsMHhjMiwweDJlLDB4OTAsMHg3OSwweDc0LDB4MDR9IH0sCi17ICAxNiwweDBmOTAsMCx7MHhmMCwweDEyLDB4MmUsMHg5NCwweDEyLDB4NDksMHhlMiwweDEyLDB4NGIsMHhlNiwweDEyLDB4MzIsMHgwZCwweDEyLDB4M2IsMHgwZH0gfSwKLXsgIDE2LDB4MGZhMCwwLHsweDEyLDB4NDEsMHhmZCwweDEyLDB4M2UsMHg5OSwweGU1LDB4MWYsMHg3MCwweDE4LDB4NzUsMHgxZiwweDAxLDB4MTIsMHgxNywweGZmfSB9LAoteyAgMTYsMHgwZmIwLDAsezB4MTIsMHgyZiwweGZmLDB4MTIsMHg0OSwweGM4LDB4MTIsMHg0YiwweGQ4LDB4MTIsMHg0YiwweGRhLDB4MTIsMHg0OSwweDZmLDB4MTJ9IH0sCi17ICAxNiwweDBmYzAsMCx7MHgxYiwweDQwLDB4MTIsMHgzOSwweDhkLDB4OTAsMHg3ZiwweGFmLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMH0gfSwKLXsgIDE2LDB4MGZkMCwwLHsweDQ0LDB4MWYsMHhmMCwweDkwLDB4N2YsMHhhYywweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2YsMHhhZCwweGYwLDB4OTAsMHg3ZiwweGRlfSB9LAoteyAgMTYsMHgwZmUwLDAsezB4ZjAsMHg5MCwweDdmLDB4ZGYsMHhmMCwweDkwLDB4N2YsMHhhYiwweGYwLDB4OTAsMHg3ZiwweGE5LDB4ZjAsMHg5MCwweDdmLDB4YWF9IH0sCi17ICAxNiwweDBmZjAsMCx7MHhmMCwweDUzLDB4OTEsMHhlZiwweDQzLDB4ZDgsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4LDB4MjAsMHg0MywweGE4LDB4ODAsMHgyMn0gfSwKLXsgIDE2LDB4MTAwMCwwLHsweDkwLDB4NzksMHg2MywweGUwLDB4MTQsMHg2MCwweDQ0LDB4MTQsMHg3MCwweDAyLDB4MjEsMHhkMCwweDE0LDB4NzAsMHgwMiwweDQxfSB9LAoteyAgMTYsMHgxMDEwLDAsezB4ZDksMHgxNCwweDcwLDB4MDIsMHg2MSwweGQ3LDB4MjQsMHgwNCwweDYwLDB4MDIsMHg4MSwweDU2LDB4ZTQsMHg5MCwweDc5LDB4Nzh9IH0sCi17ICAxNiwweDEwMjAsMCx7MHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg1NCwweGZkLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTAzMCwwLHsweDc5LDB4N2IsMHhmMCwweGU0LDB4OTAsMHg3OSwweDg4LDB4ZjAsMHhhMiwweGFmLDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyfSB9LAoteyAgMTYsMHgxMDQwLDAsezB4MGIsMHhhMiwweGU1LDB4MTIsMHg3MCwweDAyLDB4ODEsMHg1NiwweGQyLDB4YWYsMHgyMiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjR9IH0sCi17ICAxNiwweDEwNTAsMCx7MHgwMSwweDcwLDB4NzksMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHhmZn0gfSwKLXsgIDE2LDB4MTA2MCwwLHsweDc0LDB4ZmMsMHhmMCwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwfSB9LAoteyAgMTYsMHgxMDcwLDAsezB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTJ9IH0sCi17ICAxNiwweDEwODAsMCx7MHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MH0gfSwKLXsgIDE2LDB4MTA5MCwwLHsweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlfSB9LAoteyAgMTYsMHgxMGEwLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmR9IH0sCi17ICAxNiwweDEwYjAsMCx7MHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzQsMHgwNH0gfSwKLXsgIDE2LDB4MTBjMCwwLHsweGYwLDB4OTAsMHg3OSwweDg4LDB4MTQsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZCwweGUwfSB9LAoteyAgMTYsMHgxMGQwLDAsezB4NjQsMHgwMiwweDcwLDB4NzksMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4MzQsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDEwZTAsMCx7MHhmZiwweDc0LDB4ZmMsMHhmMCwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4MTBmMCwwLHsweGYwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1fSB9LAoteyAgMTYsMHgxMTAwLDAsezB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTB9IH0sCi17ICAxNiwweDExMTAsMCx7MHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NH0gfSwKLXsgIDE2LDB4MTEyMCwwLHsweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0fSB9LAoteyAgMTYsMHgxMTMwLDAsezB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzR9IH0sCi17ICAxNiwweDExNDAsMCx7MHgwNCwweGYwLDB4OTAsMHg3OSwweDg4LDB4MTQsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZH0gfSwKLXsgIDE2LDB4MTE1MCwwLHsweGUwLDB4NjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDU2LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDY0fSB9LAoteyAgMTYsMHgxMTYwLDAsezB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTB9IH0sCi17ICAxNiwweDExNzAsMCx7MHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZn0gfSwKLXsgIDE2LDB4MTE4MCwwLHsweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMTkwLDAsezB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDExYTAsMCx7MHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTFiMCwwLHsweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0fSB9LAoteyAgMTYsMHgxMWMwLDAsezB4MDQsMHhmMCwweDkwLDB4NzksMHg4OCwweDE0LDB4ZjAsMHhlNSwweDEyLDB4NzAsMHgwMiwweDgxLDB4NTYsMHhkMiwweGFmLDB4MjJ9IH0sCi17ICAxNiwweDExZDAsMCx7MHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDdhLDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NH0gfSwKLXsgIDE2LDB4MTFlMCwwLHsweDg4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdifSB9LAoteyAgMTYsMHgxMWYwLDAsezB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDU0LDB4ZmQsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTJ9IH0sCi17ICAxNiwweDEyMDAsMCx7MHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMH0gfSwKLXsgIDE2LDB4MTIxMCwwLHsweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwfSB9LAoteyAgMTYsMHgxMjIwLDAsezB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDEyMzAsMCx7MHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMn0gfSwKLXsgIDE2LDB4MTI0MCwwLHsweDkwLDB4NzksMHg4MiwweDc0LDB4MGMsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0LDB4MDEsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyfSB9LAoteyAgMTYsMHgxMjUwLDAsezB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDU2LDB4OTAsMHg3ZiwweGYyLDB4ZjB9IH0sCi17ICAxNiwweDEyNjAsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDk0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OH0gfSwKLXsgIDE2LDB4MTI3MCwwLHsweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDU0LDB4ZmQsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMjgwLDAsezB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDEyOTAsMCx7MHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMH0gfSwKLXsgIDE2LDB4MTJhMCwwLHsweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwfSB9LAoteyAgMTYsMHgxMmIwLDAsezB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODR9IH0sCi17ICAxNiwweDEyYzAsMCx7MHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MGMsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MTJkMCwwLHsweGU1LDB4MTIsMHg3MCwweDAyLDB4ODEsMHg1NiwweGQyLDB4YWYsMHgyMiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMSwweDcwfSB9LAoteyAgMTYsMHgxMmUwLDAsezB4NzcsMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmN9IH0sCi17ICAxNiwweDEyZjAsMCx7MHhmMCwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTQsMHhmY30gfSwKLXsgIDE2LDB4MTMwMCwwLHsweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyfSB9LAoteyAgMTYsMHgxMzEwLDAsezB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDEzMjAsMCx7MHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTMzMCwwLHsweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMzQwLDAsezB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzQsMHgxMiwweGYwLDB4OTAsMHg3OSwweDg4LDB4NzR9IH0sCi17ICAxNiwweDEzNTAsMCx7MHgwMiwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAyLDB4NzAsMHg3N30gfSwKLXsgIDE2LDB4MTM2MCwwLHsweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHhlMCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwfSB9LAoteyAgMTYsMHgxMzcwLDAsezB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NCwweGZjLDB4ZjB9IH0sCi17ICAxNiwweDEzODAsMCx7MHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MH0gfSwKLXsgIDE2LDB4MTM5MCwwLHsweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmfSB9LAoteyAgMTYsMHgxM2EwLDAsezB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDEzYjAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTNjMCwwLHsweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NCwweDEyLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NCwweDAyfSB9LAoteyAgMTYsMHgxM2QwLDAsezB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDMsMHg3MCwweDc3LDB4OTB9IH0sCi17ICAxNiwweDEzZTAsMCx7MHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDk0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNH0gfSwKLXsgIDE2LDB4MTNmMCwwLHsweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmUsMHhmMCwweDQ0fSB9LAoteyAgMTYsMHgxNDAwLDAsezB4MDIsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGJ9IH0sCi17ICAxNiwweDE0MTAsMCx7MHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTQyMCwwLHsweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwfSB9LAoteyAgMTYsMHgxNDMwLDAsezB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODR9IH0sCi17ICAxNiwweDE0NDAsMCx7MHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0LDB4MDQsMHhmMH0gfSwKLXsgICA3LDB4MTQ1MCwwLHsweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgMTYsMHgxNDU3LDAsezB4YzIsMHgyOCwweGMyLDB4MjksMHg5MCwweDdmLDB4ZTgsMHhlMCwweDEyLDB4MGUsMHgxYSwweDE0LDB4ODQsMHgwMCwweDE0LDB4ZTB9IH0sCi17ICAxNiwweDE0NjcsMCx7MHgwMSwweDE0LDB4ZjYsMHgwMiwweDE2LDB4N2MsMHgyMSwweDE2LDB4YmUsMHgyMiwweDE1LDB4OTEsMHg4MCwweDE1LDB4ZDEsMHg4MX0gfSwKLXsgIDE2LDB4MTQ3NywwLHsweDE2LDB4MmUsMHg4MiwweDE2LDB4Y2YsMHhhMSwweDE3LDB4MDUsMHhhMiwweDAwLDB4MDAsMHgxNywweDBhLDB4OTAsMHg3ZiwweGU5fSB9LAoteyAgMTYsMHgxNDg3LDAsezB4ZTAsMHgxNCwweDYwLDB4MTEsMHgyNCwweGZlLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDNiLDB4MjQsMHhmYywweDcwLDB4NDB9IH0sCi17ICAxNiwweDE0OTcsMCx7MHgxMiwweDRhLDB4MmEsMHhlMSwweDE2LDB4MTIsMHg0YiwweGUwLDB4NDAsMHgwMiwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZWEsMHhlMH0gfSwKLXsgIDE2LDB4MTRhNywwLHsweGI0LDB4MDEsMHgwNCwweGMyLDB4MmEsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2fSB9LAoteyAgMTYsMHgxNGI3LDAsezB4MTIsMHg0YiwweGUyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhkMiwweDJhLDB4ZTEsMHgxNiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDE0YzcsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNn0gfSwKLXsgIDE2LDB4MTRkNywwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNSwweDcwfSB9LAoteyAgMTYsMHgxNGU3LDAsezB4MDUsMHgxMiwweDQ3LDB4OWMsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTB9IH0sCi17ICAxNiwweDE0ZjcsMCx7MHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZkLDB4NjAsMHg1NCwweDI0LDB4MDIsMHg2MCwweDAyLDB4YTEsMHg4OCwweDEyLDB4NGIsMHhlMH0gfSwKLXsgIDE2LDB4MTUwNywwLHsweDQwLDB4MDIsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0fSB9LAoteyAgMTYsMHgxNTE3LDAsezB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODJ9IH0sCi17ICAxNiwweDE1MjcsMCx7MHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhlYywweGUwLDB4NTQsMHg4MCwweGZmLDB4MTMsMHgxM30gfSwKLXsgIDE2LDB4MTUzNywwLHsweDEzLDB4NTQsMHgxZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHg5MCwweDdmLDB4ZDcsMHhmMCwweGUwLDB4NDQsMHgyMCwweGYwfSB9LAoteyAgMTYsMHgxNTQ3LDAsezB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDEyLDB4NGIsMHhlMiwweDQwLDB4MDJ9IH0sCi17ICAxNiwweDE1NTcsMCx7MHhlMSwweDE2LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDIwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0LDB4ODAsMHhmZn0gfSwKLXsgIDE2LDB4MTU2NywwLHsweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODIsMHhlNCwweDM0fSB9LAoteyAgMTYsMHgxNTc3LDAsezB4N2YsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTF9IH0sCi17ICAxNiwweDE1ODcsMCx7MHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4NjAsMHgxMn0gfSwKLXsgIDE2LDB4MTU5NywwLHsweDI0LDB4ZjgsMHg2MCwweDA5LDB4MjQsMHgwMiwweDcwLDB4MjksMHgxMiwweDE3LDB4MWUsMHhlMSwweDE2LDB4MTIsMHg0YiwweGEwfSB9LAoteyAgMTYsMHgxNWE3LDAsezB4ZTEsMHgxNiwweDEyLDB4NGIsMHhkZSwweGEyLDB4MmEsMHhlNCwweDMzLDB4ZmYsMHgyNSwweGUwLDB4ZmYsMHhhMiwweDJiLDB4ZTR9IH0sCi17ICAxNiwweDE1YjcsMCx7MHgzMywweDRmLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHhlMX0gfSwKLXsgIDE2LDB4MTVjNywwLHsweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHg2MCwweDM3fSB9LAoteyAgMTYsMHgxNWQ3LDAsezB4MjQsMHhmNiwweDYwLDB4MmUsMHgyNCwweDA0LDB4NzAsMHg0MSwweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhkZSwweDYwLDB4MGV9IH0sCi17ICAxNiwweDE1ZTcsMCx7MHgwNCwweDcwLDB4MTYsMHhkMiwweDI5LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4ZDIsMHgyOX0gfSwKLXsgIDE2LDB4MTVmNywwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgxNjA3LDAsezB4ZTEsMHgxNiwweDEyLDB4NDQsMHg2MywweGUxLDB4MTYsMHgxMiwweDRiLDB4ZGUsMHhlNCwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTN9IH0sCi17ICAxNiwweDE2MTcsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweGUxLDB4MTYsMHgyMCwweDI5LDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMH0gfSwKLXsgIDE2LDB4MTYyNywwLHsweDQ0LDB4MDEsMHhmMCwweGMyLDB4MjksMHhlMSwweDE2LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY0LDB4NjAsMHgzNCwweDI0fSB9LAoteyAgMTYsMHgxNjM3LDAsezB4MGMsMHg3MCwweDM5LDB4MTIsMHg0YiwweGRlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTR9IH0sCi17ICAxNiwweDE2NDcsMCx7MHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0gfSwKLXsgIDE2LDB4MTY1NywwLHsweDgzLDB4ZTAsMHg1NCwweGZkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyfSB9LAoteyAgMTYsMHgxNjY3LDAsezB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTB9IH0sCi17ICAxNiwweDE2NzcsMCx7MHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY2LDB4NjAsMHgxMiwweDE0LDB4NjAsMHgxYX0gfSwKLXsgIDE2LDB4MTY4NywwLHsweDI0LDB4MDIsMHg3MCwweDFkLDB4ZDIsMHgyOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyfSB9LAoteyAgMTYsMHgxNjk3LDAsezB4MjgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAxNiwweDE2YTcsMCx7MHhmMCwweDIwLDB4MjgsMHgwZiwweDkwLDB4NzksMHg4NSwweDc0LDB4MDEsMHhmMCwweDEyLDB4NDksMHg2ZiwweDkwLDB4N2YsMHhjNX0gfSwKLXsgIDE2LDB4MTZiNywwLHsweDc0LDB4MDIsMHhmMCwweGMyLDB4MjgsMHg4MCwweDU4LDB4OTAsMHg3OSwweDg2LDB4NzQsMHgwMSwweGYwLDB4MTIsMHg0OSwweDZmfSB9LAoteyAgMTYsMHgxNmM3LDAsezB4OTAsMHg3ZiwweGM1LDB4NzQsMHgwMiwweGYwLDB4ODAsMHg0NywweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDYwLDB4MTJ9IH0sCi17ICAxNiwweDE2ZDcsMCx7MHgxNCwweDYwLDB4MWEsMHgyNCwweDAyLDB4NzAsMHgxZCwweGQyLDB4MjgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MTZlNywwLHsweDgwLDB4MTIsMHhkMiwweDI4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTYsMHgxNmY3LDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDI4LDB4MDMsMHgxMiwweDFhLDB4N2IsMHhjMiwweDI4LDB4ODAsMHgxMSwweDEyLDB4MmN9IH0sCi17ICAxNiwweDE3MDcsMCx7MHgyYiwweDgwLDB4MGMsMHgxMiwweDRiLDB4ZTQsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MH0gfSwKLXsgICA3LDB4MTcxNywwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgxNzFlLDAsezB4MTIsMHg0YiwweGRjLDB4NDAsMHgwMiwweGUxLDB4ZTMsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDFlLDB4MTR9IH0sCi17ICAxNiwweDE3MmUsMCx7MHg2MCwweDQ2LDB4MTQsMHg2MCwweDZlLDB4MTQsMHg3MCwweDAyLDB4ZTEsMHhkNCwweDI0LDB4MDQsMHg2MCwweDAyLDB4ZTEsMHhkY30gfSwKLXsgIDE2LDB4MTczZSwwLHsweDc0LDB4MDUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweDc0LDB4MDAsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhfSB9LAoteyAgMTYsMHgxNzRlLDAsezB4ZTAsMHhmZiwweDEyLDB4M2YsMHhhMiwweDhiLDB4MzMsMHg4YSwweDM0LDB4ODksMHgzNSwweGVhLDB4NDksMHg2MCwweDExLDB4Y2V9IH0sCi17ICAxNiwweDE3NWUsMCx7MHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MTc2ZSwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4MTIsMHg0OCwweDAwfSB9LAoteyAgMTYsMHgxNzdlLDAsezB4OGIsMHgzMywweDhhLDB4MzQsMHg4OSwweDM1LDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDE3OGUsMCx7MHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0gfSwKLXsgIDE2LDB4MTc5ZSwwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZifSB9LAoteyAgMTYsMHgxN2FlLDAsezB4MTIsMHg0NCwweGQyLDB4OGIsMHgzMywweDhhLDB4MzQsMHg4OSwweDM1LDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2V9IH0sCi17ICAxNiwweDE3YmUsMCx7MHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MTdjZSwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSB9LAoteyAgIDUsMHgxN2RlLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MTdlMywwLHsweDIyfSB9LAoteyAgMTYsMHgxN2U0LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3ZiwweGM0LDB4ZTQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2Z9IH0sCi17ICAxMSwweDE3ZjQsMCx7MHhhYiwweDc0LDB4MDQsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgIDEsMHgxN2ZmLDAsezB4MjJ9IH0sCi17ICAxNiwweDE4MDAsMCx7MHhlNCwweDkwLDB4NzgsMHgxNSwweGYwLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgxMiwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMH0gfSwKLXsgIDE2LDB4MTgxMCwwLHsweGEzLDB4NzQsMHg1OCwweGYwLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwfSB9LAoteyAgMTYsMHgxODIwLDAsezB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweGZmLDB4OTAsMHg3OSwweDlhLDB4ZTAsMHg2ZiwweDYwLDB4MTgsMHg5MCwweDc4LDB4MTV9IH0sCi17ICAxNiwweDE4MzAsMCx7MHhlMCwweGMzLDB4OTQsMHgwNiwweDUwLDB4MGYsMHhlMCwweDA0LDB4ZjAsMHg5MCwweDc4LDB4MTMsMHhlNCwweDc1LDB4ZjAsMHgwZn0gfSwKLXsgIDE2LDB4MTg0MCwwLHsweDEyLDB4MGMsMHhmNCwweDgwLDB4Y2YsMHg5MCwweDc4LDB4MTUsMHhlMCwweGI0LDB4MDYsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwfSB9LAoteyAgMTYsMHgxODUwLDAsezB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTJ9IH0sCi17ICAxNiwweDE4NjAsMCx7MHgwYywweDQ0LDB4ZmYsMHgyNCwweGJmLDB4NzAsMHgwMiwweDQxLDB4N2EsMHgyNCwweGUwLDB4NzAsMHgwMiwweDQxLDB4NGMsMHgyNH0gfSwKLXsgIDE2LDB4MTg3MCwwLHsweDIxLDB4NjAsMHgwMiwweDQxLDB4NzMsMHg5MCwweDc5LDB4OTcsMHhlMCwweDI0LDB4ZmUsMHg3MCwweDAyLDB4MjEsMHg5YSwweDE0fSB9LAoteyAgMTYsMHgxODgwLDAsezB4NzAsMHgwMiwweDIxLDB4ZWYsMHgyNCwweDAyLDB4NjAsMHgwMiwweDQxLDB4NDQsMHg5MCwweDc5LDB4MmQsMHhlMCwweGEzLDB4ZjB9IH0sCi17ICAxNiwweDE4OTAsMCx7MHg5MCwweDc5LDB4MjMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYiwweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgwZH0gfSwKLXsgIDE2LDB4MThhMCwwLHsweDQyLDB4YzgsMHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhLDB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3OSwweDIyfSB9LAoteyAgMTYsMHgxOGIwLDAsezB4ZTAsMHhmZSwweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmEsMHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4Zjh9IH0sCi17ICAxNiwweDE4YzAsMCx7MHg5MCwweDc5LDB4MjEsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZiwweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZH0gfSwKLXsgIDE2LDB4MThkMCwwLHsweGVjLDB4MzgsMHhmYywweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwfSB9LAoteyAgMTYsMHgxOGUwLDAsezB4MDIsMHgxMiwweDBkLDB4ZDIsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4YTIsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDB9IH0sCi17ICAxNiwweDE4ZjAsMCx7MHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDA1LDB4OTAsMHg3OSwweDJkLDB4MDQsMHhmMCwweDkwLDB4NzgsMHgxMn0gfSwKLXsgIDE2LDB4MTkwMCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4YTIsMHg3YiwweDgwfSB9LAoteyAgMTYsMHgxOTEwLDAsezB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDA2LDB4OTAsMHg3OSwweDJkLDB4NzR9IH0sCi17ICAxNiwweDE5MjAsMCx7MHgwMiwweGYwLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MTkzMCwwLHsweDEyLDB4MGQsMHhhMiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwfSB9LAoteyAgMTYsMHgxOTQwLDAsezB4MDYsMHg5MCwweDc5LDB4MmQsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc5LDB4MmQsMHhlMCwweGZmLDB4YjQsMHgwMSwweDA5LDB4NzV9IH0sCi17ICAxNiwweDE5NTAsMCx7MHgwYywweDY3LDB4NzUsMHgwZCwweDA2LDB4NzUsMHgwZSwweDBiLDB4ZWYsMHhiNCwweDAyLDB4MDgsMHhlNCwweGY1LDB4MGMsMHhmNX0gfSwKLXsgIDE2LDB4MTk2MCwwLHsweDBkLDB4NzUsMHgwZSwweDBjLDB4ZWYsMHhiNCwweDAzLDB4MDgsMHhlNCwweGY1LDB4MGMsMHhmNSwweDBkLDB4NzUsMHgwZSwweDE4fSB9LAoteyAgMTYsMHgxOTcwLDAsezB4ZWYsMHhiNCwweDAzLDB4MGQsMHg5MCwweDc5LDB4MmUsMHhlMCwweDY0LDB4MDMsMHg2MCwweDA1LDB4ZDIsMHgyZiwweDEyLDB4M2R9IH0sCi17ICAxNiwweDE5ODAsMCx7MHg3OSwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMywweDYwLDB4MGEsMHhhMywweGUwLDB4YjQsMHgwMywweDA1LDB4YzIsMHgyZn0gfSwKLXsgIDE2LDB4MTk5MCwwLHsweDEyLDB4M2QsMHg3OSwweDEyLDB4MTAsMHgwMCwweDEyLDB4MjgsMHgwMSwweDIyLDB4OTAsMHg3OSwweDIzLDB4ZTAsMHhmZiwweGU0fSB9LAoteyAgMTYsMHgxOWEwLDAsezB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MGQsMHg0MiwweGM4LDB4ZWMsMHhjOCwweGM5LDB4ZWR9IH0sCi17ICAxNiwweDE5YjAsMCx7MHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4NzksMHgyMiwweGUwLDB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYn0gfSwKLXsgIDE2LDB4MTljMCwwLHsweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZiwweGU0fSB9LAoteyAgMTYsMHgxOWQwLDAsezB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlYywweDM4LDB4ZmMsMHg5MCwweDc4LDB4MTJ9IH0sCi17ICAxNiwweDE5ZTAsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGQyLDB4MjIsMHg5MH0gfSwKLXsgIDE2LDB4MTlmMCwwLHsweDc5LDB4MjMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYiwweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgwZCwweDQyfSB9LAoteyAgMTYsMHgxYTAwLDAsezB4YzgsMHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhLDB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3OSwweDIyLDB4ZTB9IH0sCi17ICAxNiwweDFhMTAsMCx7MHhmZSwweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmEsMHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MH0gfSwKLXsgIDE2LDB4MWEyMCwwLHsweDc5LDB4MjEsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZiwweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjfSB9LAoteyAgMTYsMHgxYTMwLDAsezB4MzgsMHhmYywweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MGF9IH0sCi17ICAxNiwweDFhNDAsMCx7MHgxMiwweDBkLDB4ZDIsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4OTcsMHhlMH0gfSwKLXsgIDE2LDB4MWE1MCwwLHsweDE0LDB4NzAsMHgxOCwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmYsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgxYTYwLDAsezB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBlLDB4ZWYsMHgxMiwweDBjLDB4OWMsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9IH0sCi17ICAxMCwweDFhNzAsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MWE3YSwwLHsweDIyfSB9LAoteyAgMTYsMHgxYTdiLDAsezB4ZTQsMHhmZiwweGZlLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgwZiwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDFhOGIsMCx7MHgyYiwweGYwLDB4OTAsMHg3OCwweDBmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MWE5YiwwLHsweDEyLDB4MGMsMHg1ZCwweGZkLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg2ZCwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNSwweDUwfSB9LAoteyAgMTYsMHgxYWFiLDAsezB4MGQsMHgwZiwweDkwLDB4NzgsMHgxMCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkNCwweDhkLDB4MzN9IH0sCi17ICAxNiwweDFhYmIsMCx7MHg5MCwweDc4LDB4MGYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MWFjYiwwLHsweDVkLDB4ZmQsMHg5MCwweDdmLDB4ZWQsMHhlMCwweDZkLDB4NjAsMHgxMywweGVlLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwZCwweDBlfSB9LAoteyAgMTYsMHgxYWRiLDAsezB4OTAsMHg3OCwweDEwLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg4MCwweGQ0LDB4OTAsMHg3ZiwweGVkLDB4ZTB9IH0sCi17ICAxNiwweDFhZWIsMCx7MHhmNSwweDM0LDB4ZWYsMHg2NCwweDA1LDB4NjAsMHgwMywweGJlLDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0gfSwKLXsgIDE2LDB4MWFmYiwwLHsweGYwLDB4MjIsMHg5MCwweDc4LDB4MGYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0fSB9LAoteyAgMTYsMHgxYjBiLDAsezB4ZmYsMHgyNCwweGYwLDB4NjAsMHgwOCwweDI0LDB4MGYsMHg3MCwweDBlLDB4MTIsMHg0OSwweDJhLDB4MjIsMHgxMiwweDRiLDB4ODN9IH0sCi17ICAxNCwweDFiMWIsMCx7MHg5MCwweDc5LDB4MjAsMHhlNSwweDM0LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgxYjI5LDAsezB4MjJ9IH0sCi17ICAxNSwweDFiMmEsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGI0LDB4ZmYsMHgwNCwweDEyLDB4MzQsMHgxNiwweDIyLDB4MTIsMHgzOCwweDAwLDB4MjJ9IH0sCi17ICAgNywweDFiMzksMCx7MHg1MywweDk4LDB4ZmUsMHg1MywweDk4LDB4ZmQsMHgzMn0gfSwKLXsgIDE2LDB4MWI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2EwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2QwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWUxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTQsMHgxZWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmMGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAgMiwweDFmM2UsMCx7MHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjAyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjExMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjIwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjIzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNCwweDIzNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzOGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2FlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2RlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjUxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNThlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjVhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjYzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNCwweDI2ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3MGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjcxYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzJjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3M2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc0YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzVjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3NmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc3YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzhjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3OWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdhYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyN2JjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3Y2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdkYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyN2VjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAgNSwweDI3ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfSB9LAoteyAgMTYsMHgyODAxLDAsezB4OTAsMHg3OSwweDY0LDB4ZTAsMHgxNCwweDYwLDB4NDYsMHgxNCwweDcwLDB4MDIsMHg0MSwweDNjLDB4MjQsMHgwMiwweDYwLDB4MDJ9IH0sCi17ICAxNiwweDI4MTEsMCx7MHg4MSwweDJhLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MjgyMSwwLHsweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmQsMHhmMCwweDQ0fSB9LAoteyAgMTYsMHgyODMxLDAsezB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGJ9IH0sCi17ICAxNiwweDI4NDEsMCx7MHhhMiwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDdhLDB4ZjAsMHgyMiwweDkwLDB4NzksMHgyZH0gfSwKLXsgIDE2LDB4Mjg1MSwwLHsweGUwLDB4NjQsMHgwMSwweDYwLDB4MDIsMHgwMSwweGYxLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmfSB9LAoteyAgMTYsMHgyODYxLDAsezB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDI4NzEsMCx7MHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4Mjg4MSwwLHsweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyODkxLDAsezB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGJ9IH0sCi17ICAxNiwweDI4YTEsMCx7MHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MjhiMSwwLHsweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwfSB9LAoteyAgMTYsMHgyOGMxLDAsezB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjB9IH0sCi17ICAxNiwweDI4ZDEsMCx7MHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3YSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2NX0gfSwKLXsgIDE2LDB4MjhlMSwwLHsweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwfSB9LAoteyAgMTYsMHgyOGYxLDAsezB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAyLDB4NjAsMHgwMiwweDIxLDB4OTYsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGM4LDB4ZjB9IH0sCi17ICAxNiwweDI5MDEsMCx7MHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMH0gfSwKLXsgIDE2LDB4MjkxMSwwLHsweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxfSB9LAoteyAgMTYsMHgyOTIxLDAsezB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmJ9IH0sCi17ICAxNiwweDI5MzEsMCx7MHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMn0gfSwKLXsgIDE2LDB4Mjk0MSwwLHsweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyOTUxLDAsezB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjB9IH0sCi17ICAxNiwweDI5NjEsMCx7MHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDIsMHhmMH0gfSwKLXsgIDE2LDB4Mjk3MSwwLHsweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDdhLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgyOTgxLDAsezB4OTAsMHg3OSwweDY1LDB4NzQsMHgwMywweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGN9IH0sCi17ICAxNiwweDI5OTEsMCx7MHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAzLDB4NjAsMHgwMiwweDgxLDB4MmEsMHg5MH0gfSwKLXsgIDE2LDB4MjlhMSwwLHsweDdmLDB4ZmMsMHg3NCwweDk4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxfSB9LAoteyAgMTYsMHgyOWIxLDAsezB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDI5YzEsMCx7MHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MH0gfSwKLXsgIDE2LDB4MjlkMSwwLHsweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmfSB9LAoteyAgMTYsMHgyOWUxLDAsezB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDI5ZjEsMCx7MHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmEwMSwwLHsweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYTExLDAsezB4NzksMHhlMCwweDU0LDB4ZmQsMHhmMCwweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTB9IH0sCi17ICAxNiwweDJhMjEsMCx7MHg3OSwweDdhLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY1LDB4NzQsMHgwNSwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMn0gfSwKLXsgIDE2LDB4MmEzMSwwLHsweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4MjIsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0fSB9LAoteyAgMTYsMHgyYTQxLDAsezB4MDEsMHg2MCwweDAyLDB4NDEsMHhlMCwweDkwLDB4N2YsMHhmYywweDc0LDB4YjQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmN9IH0sCi17ICAxNiwweDJhNTEsMCx7MHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NH0gfSwKLXsgIDE2LDB4MmE2MSwwLHsweGZlLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2UsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwfSB9LAoteyAgMTYsMHgyYTcxLDAsezB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTB9IH0sCi17ICAxNiwweDJhODEsMCx7MHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MH0gfSwKLXsgIDE2LDB4MmE5MSwwLHsweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmfSB9LAoteyAgMTYsMHgyYWExLDAsezB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDJhYjEsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmFjMSwwLHsweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4N2EsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjUsMHgwNCwweGYwfSB9LAoteyAgMTYsMHgyYWQxLDAsezB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDJhZTEsMCx7MHg3OSwweDJkLDB4ZTAsMHg2NCwweDAyLDB4NjAsMHgwMiwweDYxLDB4ODUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGIwLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MmFmMSwwLHsweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwfSB9LAoteyAgMTYsMHgyYjAxLDAsezB4NzksMHg3OSwweGYwLDB4NTQsMHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDl9IH0sCi17ICAxNiwweDJiMTEsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMH0gfSwKLXsgIDE2LDB4MmIyMSwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmfSB9LAoteyAgMTYsMHgyYjMxLDAsezB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDJiNDEsMCx7MHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MH0gfSwKLXsgIDE2LDB4MmI1MSwwLHsweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0fSB9LAoteyAgMTYsMHgyYjYxLDAsezB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDdhLDB4NzQsMHgwMSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDJiNzEsMCx7MHg3OSwweDY1LDB4NzQsMHgwNCwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMH0gfSwKLXsgIDE2LDB4MmI4MSwwLHsweDkwLDB4NzksMHg4YiwweGYwLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAzLDB4NjAsMHgwMiwweDgxLDB4MmEsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgyYjkxLDAsezB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDJiYTEsMCx7MHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTQsMHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmJiMSwwLHsweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYmMxLDAsezB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTR9IH0sCi17ICAxNiwweDJiZDEsMCx7MHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmJlMSwwLHsweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyYmYxLDAsezB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDJjMDEsMCx7MHhlMCwweDU0LDB4ZmQsMHhmMCwweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmMxMSwwLHsweDdhLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY1LDB4NzQsMHgwNiwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmfSB9LAoteyAgMTAsMHgyYzIxLDAsezB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDJjMmIsMCx7MHhlNCwweGZmLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgxNiwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHg1OH0gfSwKLXsgIDE2LDB4MmMzYiwwLHsweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDEyfSB9LAoteyAgMTYsMHgyYzRiLDAsezB4MGMsMHg1ZCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg2ZSwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MGR9IH0sCi17ICAxNiwweDJjNWIsMCx7MHgwZiwweDkwLDB4NzgsMHgxNywweGU0LDB4NzUsMHhmMCwweDBmLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkNCwweGJmLDB4MDYsMHgwOH0gfSwKLXsgIDE2LDB4MmM2YiwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgyYzdiLDAsezB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4ZmYsMHgyNCwweDlmLDB4NzAsMHgwMiwweGMxLDB4NjYsMHgyNCwweDIxLDB4NjB9IH0sCi17ICAxNiwweDJjOGIsMCx7MHgwMiwweGMxLDB4OGMsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2UsMHg3MCwweDAyLDB4YTEsMHgzMCwweDE0LDB4NzAsMHgwMn0gfSwKLXsgIDE2LDB4MmM5YiwwLHsweGExLDB4YzgsMHgyNCwweDAyLDB4NjAsMHgwMiwweGMxLDB4NWUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4YTIsMHg3YiwweDQ0fSB9LAoteyAgMTYsMHgyY2FiLDAsezB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzR9IH0sCi17ICAxNiwweDJjYmIsMCx7MHg0NCwweGYwLDB4YTMsMHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MmNjYiwwLHsweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGEyfSB9LAoteyAgMTYsMHgyY2RiLDAsezB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2Z9IH0sCi17ICAxNiwweDJjZWIsMCx7MHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwM30gfSwKLXsgIDE2LDB4MmNmYiwwLHsweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMiwweDEyfSB9LAoteyAgMTYsMHgyZDBiLDAsezB4MGQsMHhhMiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDYwLDB4MDJ9IH0sCi17ICAxNiwweDJkMWIsMCx7MHhjMSwweDkzLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MmQyYiwwLHsweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHgyZDNiLDAsezB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGEyLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTJ9IH0sCi17ICAxNiwweDJkNGIsMCx7MHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhM30gfSwKLXsgIDE2LDB4MmQ1YiwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzfSB9LAoteyAgMTYsMHgyZDZiLDAsezB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGQsMHhhMiwweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDB9IH0sCi17ICAxNiwweDJkN2IsMCx7MHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMH0gfSwKLXsgIDE2LDB4MmQ4YiwwLHsweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgyZDliLDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDYsMHgxMiwweDBkLDB4YTIsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDF9IH0sCi17ICAxNiwweDJkYWIsMCx7MHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg2MCwweDAyLDB4YzEsMHg5MywweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NH0gfSwKLXsgIDE2LDB4MmRiYiwwLHsweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3OCwweDE2fSB9LAoteyAgMTYsMHgyZGNiLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGQsMHhhMiwweDdiLDB4NDR9IH0sCi17ICAxNiwweDJkZGIsMCx7MHg3YSwweGFjLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NH0gfSwKLXsgIDE2LDB4MmRlYiwwLHsweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyZGZiLDAsezB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MGEsMHgxMiwweDBkLDB4YTJ9IH0sCi17ICAxNiwweDJlMGIsMCx7MHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MmUxYiwwLHsweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzfSB9LAoteyAgMTYsMHgyZTJiLDAsezB4ZjAsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBhLDB4MTJ9IH0sCi17ICAxNiwweDJlM2IsMCx7MHgwZCwweGEyLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHg0OH0gfSwKLXsgIDE2LDB4MmU0YiwwLHsweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fSB9LAoteyAgMTYsMHgyZTViLDAsezB4MDMsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjR9IH0sCi17ICAxNiwweDJlNmIsMCx7MHg3ZiwweDcwLDB4MTYsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4MmU3YiwwLHsweDBlLDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDgsMHgyZThiLDAsezB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MmU5MywwLHsweDIyfSB9LAoteyAgMTYsMHgyZTk0LDAsezB4NzUsMHgzNiwweDI1LDB4NzUsMHgzNywweDI0LDB4OTAsMHg3OSwweDc0LDB4ZTAsMHg2NCwweDAxLDB4NzAsMHg1NCwweGYwLDB4ZjV9IH0sCi17ICAxNiwweDJlYTQsMCx7MHgzNSwweDc1LDB4MjIsMHgwMSwweGU1LDB4MjIsMHg2NCwweDAxLDB4NzAsMHg0OCwweDkwLDB4N2YsMHhhNSwweGUwLDB4NDQsMHg4MH0gfSwKLXsgIDE2LDB4MmViNCwwLHsweGYwLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHgzNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4NzQsMHg0ZiwweDI1LDB4MzUsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgyZWM0LDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NCwweDM1LDB4MjV9IH0sCi17ICAxNiwweDJlZDQsMCx7MHgzNSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMH0gfSwKLXsgIDE2LDB4MmVlNCwwLHsweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMCwweDEyLDB4MGEsMHhjZCwweDA1LDB4MzUsMHhlNSwweDM1LDB4YzMsMHg5NCwweDBkfSB9LAoteyAgMTYsMHgyZWY0LDAsezB4NDAsMHhiMiwweDkwLDB4NzksMHg3NSwweGUwLDB4NjQsMHgwMSwweDYwLDB4MDIsMHhlMSwweGRlLDB4ZjAsMHg5MCwweDc5LDB4MjB9IH0sCi17ICAxNiwweDJmMDQsMCx7MHhlMCwweDY0LDB4MDUsMHg2MCwweDAyLDB4ZTEsMHg4ZCwweDdiLDB4MDEsMHg5MCwweDc5LDB4NWMsMHgwNCwweGYwLDB4YTMsMHg3NH0gfSwKLXsgIDE2LDB4MmYxNCwwLHsweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDc1LDB4MzMsMHgwNywweDkwLDB4NzksMHg1YywweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgyZjI0LDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHg3MCwweDBmLDB4OTAsMHgwMCwweDA0LDB4MTJ9IH0sCi17ICAxNiwweDJmMzQsMCx7MHgwYywweDVkLDB4OTAsMHg3OSwweDJmLDB4ZjAsMHgxMiwweDBjLDB4MjksMHg4MCwweDA2LDB4OTAsMHg3OSwweDJmLDB4NzQsMHhmZn0gfSwKLXsgIDE2LDB4MmY0NCwwLHsweGYwLDB4ZTQsMHhmNSwweDM1LDB4NzUsMHgyMiwweDAxLDB4NzUsMHgzNCwweDAyLDB4ZTUsMHgyMiwweDY0LDB4MDEsMHg3MCwweDM5fSB9LAoteyAgMTYsMHgyZjU0LDAsezB4OTAsMHg3ZiwweGE1LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHhlNSwweDM2LDB4ZjAsMHgxMiwweDQ2LDB4YzB9IH0sCi17ICAxNiwweDJmNjQsMCx7MHhhZiwweDM0LDB4MDUsMHgzNCwweDkwLDB4N2YsMHhhNiwweGVmLDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg5MCwweDc5LDB4MmYsMHhlMH0gfSwKLXsgIDE2LDB4MmY3NCwwLHsweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwLDB4MTIsMHgwYSwweGNkfSB9LAoteyAgMTYsMHgyZjg0LDAsezB4MDUsMHgzNSwweGU1LDB4MzUsMHhjMywweDk0LDB4MDYsMHg0MCwweGMxLDB4OTAsMHg3OSwweDIwLDB4ZTAsMHg2NCwweDA2LDB4NzB9IH0sCi17ICAxNiwweDJmOTQsMCx7MHg0OSwweDdiLDB4MDEsMHg5MCwweDc5LDB4NWYsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMH0gfSwKLXsgIDE2LDB4MmZhNCwwLHsweDc1LDB4MzMsMHgwMywweDkwLDB4NzksMHg1ZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwfSB9LAoteyAgMTYsMHgyZmI0LDAsezB4MDEsMHgxMiwweDBjLDB4NWQsMHg3MCwweDFjLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3OSwweDMzLDB4ZjB9IH0sCi17ICAxNiwweDJmYzQsMCx7MHg3MCwweDAzLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3OSwweDMzLDB4ZTAsMHg1NCwweDdmLDB4ZmYsMHhmMCwweDI1LDB4ZTAsMHhmMH0gfSwKLXsgIDEwLDB4MmZkNCwwLHsweDgwLDB4MDUsMHhlNCwweDkwLDB4NzksMHgzMywweGYwLDB4MTIsMHg0NywweGRmfSB9LAoteyAgIDEsMHgyZmRlLDAsezB4MjJ9IH0sCi17ICAxNiwweDJmZGYsMCx7MHg5MCwweDc5LDB4NzgsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc5LDB4ODMsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4YTIsMHhhZn0gfSwKLXsgIDE2LDB4MmZlZiwwLHsweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgIDEsMHgyZmZmLDAsezB4MjJ9IH0sCi17ICAxNiwweDMwMDAsMCx7MHhlNCwweGZlLDB4OTAsMHg3OSwweDIwLDB4ZTAsMHhmZCwweGI0LDB4MDUsMHgxMSwweDkwLDB4NzgsMHgyNSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MzAxMCwwLHsweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHg3NSwweDM1LDB4MDcsMHhlZCwweGI0LDB4MDYsMHgxMSwweDkwfSB9LAoteyAgMTYsMHgzMDIwLDAsezB4NzgsMHgyNSwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjAsMHg3NSwweDM1LDB4MDN9IH0sCi17ICAxNiwweDMwMzAsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NjAsMHgxMSwweDE0LDB4NjAsMHg1YiwweDI0LDB4MDIsMHg2MCwweDAyLDB4NDEsMHgwNX0gfSwKLXsgIDE2LDB4MzA0MCwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDNkfSB9LAoteyAgMTYsMHgzMDUwLDAsezB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTAsMHgyZiwweDkwLDB4NzgsMHgyNSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDMwNjAsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMH0gfSwKLXsgIDE2LDB4MzA3MCwwLHsweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHg3OCwweDI2LDB4ZTQsMHg3NSwweGYwfSB9LAoteyAgMTYsMHgzMDgwLDAsezB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4Y2IsMHg5MCwweDdmLDB4YjUsMHhlZSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9IH0sCi17ICAxNiwweDMwOTAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NjAsMHg2NCwweDE0LDB4NzAsMHgwMn0gfSwKLXsgIDE2LDB4MzBhMCwwLHsweDIxLDB4NTUsMHgxNCwweDcwLDB4MDIsMHgyMSwweGE5LDB4MjQsMHgwMywweDYwLDB4MDIsMHgyMSwweGZkLDB4ZTQsMHhmZiwweGVmfSB9LAoteyAgMTYsMHgzMGIwLDAsezB4YzMsMHg5NSwweDM1LDB4NTAsMHg0NiwweDkwLDB4NzgsMHgyNSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4Zjl9IH0sCi17ICAxNiwweDMwYzAsMCx7MHg5MCwweDAwLDB4MDMsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MzBkMCwwLHsweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlfSB9LAoteyAgMTYsMHgzMGUwLDAsezB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMwZjAsMCx7MHgyNiwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMH0gfSwKLXsgIDE2LDB4MzEwMCwwLHsweDIyLDB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTAsMHg0NiwweDkwLDB4NzgsMHgyNSwweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzMTEwLDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDUsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzR9IH0sCi17ICAxNiwweDMxMjAsMCx7MHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MzEzMCwwLHsweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzfSB9LAoteyAgMTYsMHgzMTQwLDAsezB4ZWQsMHhmMCwweDkwLDB4NzgsMHgyNiwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4OTB9IH0sCi17ICAxNiwweDMxNTAsMCx7MHg3ZiwweGI1LDB4ZWUsMHhmMCwweDIyLDB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTAsMHg0NiwweDkwLDB4NzgsMHgyNX0gfSwKLXsgIDE2LDB4MzE2MCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDcsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjfSB9LAoteyAgMTYsMHgzMTcwLDAsezB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDMxODAsMCx7MHgwMCwweDA4LDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNH0gfSwKLXsgIDE2LDB4MzE5MCwwLHsweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4NzgsMHgyNiwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0fSB9LAoteyAgMTYsMHgzMWEwLDAsezB4MGYsMHg4MCwweGI0LDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMCwweDIyLDB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTB9IH0sCi17ICAxNiwweDMxYjAsMCx7MHg0NiwweDkwLDB4NzgsMHgyNSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDksMHgxMn0gfSwKLXsgIDE2LDB4MzFjMCwwLHsweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSB9LAoteyAgMTYsMHgzMWQwLDAsezB4ODMsMHhlZCwweGYwLDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDB9IH0sCi17ICAxNiwweDMxZTAsMCx7MHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4NzgsMHgyNiwweGU0LDB4NzUsMHhmMH0gfSwKLXsgIDE2LDB4MzFmMCwwLHsweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTIsMHgzMjAwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgzMjBjLDAsezB4MjJ9IH0sCi17ICAxNiwweDMyMGQsMCx7MHg3YiwweDAxLDB4N2EsMHg3OCwweDc5LDB4MmIsMHg5MCwweDc4LDB4MDAsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOX0gfSwKLXsgIDE2LDB4MzIxZCwwLHsweGYwLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzMjJkLDAsezB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4ZTQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAxNiwweDMyM2QsMCx7MHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzI0ZCwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDEwLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzMjVkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDUsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDMyNmQsMCx7MHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzI3ZCwwLHsweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMjhkLDAsezB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMiwweDEyLDB4MGN9IH0sCi17ICAxNiwweDMyOWQsMCx7MHg5YywweDkwLDB4MDAsMHgwMiwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMn0gfSwKLXsgIDE2LDB4MzJhZCwwLHsweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMSwweDEyfSB9LAoteyAgMTYsMHgzMmJkLDAsezB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDF9IH0sCi17ICAxNiwweDMyY2QsMCx7MHg3NCwweDAzLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNH0gfSwKLXsgIDE2LDB4MzJkZCwwLHsweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzMmVkLDAsezB4ZjksMHg3NCwweDEwLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDMyZmQsMCx7MHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDYsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHhlNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4MzMwZCwwLHsweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzMzFkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDMzMmQsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MzMzZCwwLHsweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMzRkLDAsezB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMiwweDEyLDB4MGMsMHg4YSwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMzNWQsMCx7MHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDA0LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MzM2ZCwwLHsweDljLDB4OTAsMHgwMCwweDAyLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzfSB9LAoteyAgMTYsMHgzMzdkLDAsezB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDMzOGQsMCx7MHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4MzM5ZCwwLHsweDAxLDB4NzQsMHgwMywweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzM2FkLDAsezB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDMzYmQsMCx7MHhhMywweGUwLDB4ZjksMHg3NCwweDAyLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MzNjZCwwLHsweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDA0fSB9LAoteyAgMTYsMHgzM2RkLDAsezB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDB9IH0sCi17ICAxNiwweDMzZWQsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMiwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMH0gfSwKLXsgIDE2LDB4MzNmZCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljfSB9LAoteyAgIDgsMHgzNDBkLDAsezB4OTAsMHgwMCwweDAyLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgICAxLDB4MzQxNSwwLHsweDIyfSB9LAoteyAgMTYsMHgzNDE2LDAsezB4ZTQsMHhmZSwweDkwLDB4NzksMHgyMCwweGUwLDB4ZmQsMHhiNCwweDA1LDB4MTEsMHg5MCwweDc4LDB4MWYsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDM0MjYsMCx7MHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4NzUsMHgzNSwweDA3LDB4ZWQsMHhiNCwweDA2LDB4MTEsMHg5MH0gfSwKLXsgIDE2LDB4MzQzNiwwLHsweDc4LDB4MWYsMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhmZiwweGYwLDB4NzUsMHgzNSwweDAzfSB9LAoteyAgMTYsMHgzNDQ2LDAsezB4OTAsMHg3OSwweDk5LDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgxNCwweDYwLDB4NWIsMHgyNCwweDAyLDB4NjAsMHgwMiwweGMxLDB4MDZ9IH0sCi17ICAxNiwweDM0NTYsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDk3LDB4ZTAsMHgxNCwweDcwLDB4M2UsMHhlNH0gfSwKLXsgIDE2LDB4MzQ2NiwwLHsweGZmLDB4ZWYsMHhjMywweDk1LDB4MzUsMHg1MCwweDJmLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgzNDc2LDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4ZmQsMHg5MCwweDc4LDB4MWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTN9IH0sCi17ICAxNiwweDM0ODYsMCx7MHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4ZWQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MjAsMHhlNCwweDc1LDB4ZjAsMHgwYn0gfSwKLXsgIDE2LDB4MzQ5NiwwLHsweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhjYiwweDkwLDB4NzksMHg3NSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTYsMHgzNGE2LDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHg5NywweGUwLDB4MjQsMHhmZSwweDYwLDB4NjMsMHgxNCwweDcwLDB4MDJ9IH0sCi17ICAxNiwweDM0YjYsMCx7MHhhMSwweDY0LDB4MTQsMHg3MCwweDAyLDB4YTEsMHhiMiwweDI0LDB4MDMsMHg2MCwweDAyLDB4YTEsMHhmZSwweGU0LDB4ZmYsMHhlZn0gfSwKLXsgIDE2LDB4MzRjNiwwLHsweGMzLDB4OTUsMHgzNSwweDUwLDB4NDQsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0fSB9LAoteyAgMTYsMHgzNGQ2LDAsezB4NzksMHhmNSwweDgzLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgxZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4Zjl9IH0sCi17ICAxNiwweDM0ZTYsMCx7MHg5MCwweDAwLDB4MDMsMHhlZCwweDEyLDB4MGMsMHg5YywweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MzRmNiwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgyMCwweGU0fSB9LAoteyAgMTYsMHgzNTA2LDAsezB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI2LDB4OTAsMHg3OSwweDc1LDB4NzQsMHgwMSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDM1MTYsMCx7MHhlNCwweGZmLDB4ZWYsMHhjMywweDk1LDB4MzUsMHg0MCwweDAyLDB4YzEsMHgwZCwweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMX0gfSwKLXsgIDE2LDB4MzUyNiwwLHsweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzNTM2LDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNSwweGVkLDB4MTIsMHgwYywweDljLDB4Y2QsMHhlZSwweGNkLDB4MGV9IH0sCi17ICAxNiwweDM1NDYsMCx7MHg3NCwweDIxLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MzU1NiwwLHsweDljLDB4OTAsMHg3OCwweDIwLDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjQsMHhlNCwweGZmfSB9LAoteyAgMTYsMHgzNTY2LDAsezB4ZWYsMHhjMywweDk1LDB4MzUsMHg0MCwweDAyLDB4YzEsMHgwZCwweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjV9IH0sCi17ICAxNiwweDM1NzYsMCx7MHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MzU4NiwwLHsweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNywweGVkLDB4MTIsMHgwYywweDljLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxfSB9LAoteyAgMTYsMHgzNTk2LDAsezB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwYywweDljLDB4OTB9IH0sCi17ICAxNiwweDM1YTYsMCx7MHg3OCwweDIwLDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjQsMHhlNCwweGZmLDB4ZWYsMHhjM30gfSwKLXsgIDE2LDB4MzViNiwwLHsweDk1LDB4MzUsMHg1MCwweDUzLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5fSB9LAoteyAgMTYsMHgzNWM2LDAsezB4ZjUsMHg4MywweGUwLDB4ZmQsMHg5MCwweDc4LDB4MWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDM1ZDYsMCx7MHgwMCwweDA5LDB4ZWQsMHgxMiwweDBjLDB4OWMsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1LDB4ODIsMHhlNH0gfSwKLXsgIDE2LDB4MzVlNiwwLHsweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MjAsMHhlNCwweDc1fSB9LAoteyAgMTYsMHgzNWY2LDAsezB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9IH0sCi17ICAgNywweDM2MDYsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MzYwZCwwLHsweDIyfSB9LAoteyAgMTYsMHgzNjBlLDAsezB4ZTQsMHhmZSwweDkwLDB4NzksMHgyMCwweGUwLDB4ZmQsMHhiNCwweDA1LDB4MTAsMHg5MCwweDc4LDB4MjgsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDM2MWUsMCx7MHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4N2YsMHgwNywweGVkLDB4YjQsMHgwNiwweDEwLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzYyZSwwLHsweDI4LDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMCwweDdmLDB4MDMsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzNjNlLDAsezB4MjgsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4ZmQsMHg5MCwweDdmLDB4ZWF9IH0sCi17ICAxNiwweDM2NGUsMCx7MHhlMCwweDZkLDB4NjAsMHgxMiwweGVlLDB4YzMsMHg5ZiwweDUwLDB4MGQsMHg5MCwweDc4LDB4MjksMHhlNCwweDc1LDB4ZjAsMHgwYn0gfSwKLXsgIDE2LDB4MzY1ZSwwLHsweDEyLDB4MGMsMHhmNCwweDBlLDB4ODAsMHhkOCwweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg2MCwweDExLDB4MTQsMHg2MCwweDQ2fSB9LAoteyAgMTYsMHgzNjZlLDAsezB4MjQsMHgwMiwweDYwLDB4MDIsMHhlMSwweDlhLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDM2N2UsMCx7MHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MjgsMHhlZSwweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0gfSwKLXsgIDE2LDB4MzY4ZSwwLHsweGYwLDB4MjIsMHg5MCwweDc4LDB4MjgsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxfSB9LAoteyAgMTYsMHgzNjllLDAsezB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDM2YWUsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2UsMHg2MCwweDQwLDB4MTQsMHg2MH0gfSwKLXsgIDE2LDB4MzZiZSwwLHsweDZmLDB4MTQsMHg3MCwweDAyLDB4ZTEsMHg2MCwweDI0LDB4MDMsMHg2MCwweDAyLDB4ZTEsMHg5MiwweGVlLDB4NmYsMHg3MCwweDA4fSB9LAoteyAgMTYsMHgzNmNlLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgyOCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDM2ZGUsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDMsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4MDAsMHgwNH0gfSwKLXsgIDE2LDB4MzZlZSwwLHsweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHhlZSwweDZmfSB9LAoteyAgMTYsMHgzNmZlLDAsezB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MjgsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDM3MGUsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MzcxZSwwLHsweDAwLDB4MDYsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgzNzJlLDAsezB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDI4LDB4ZTB9IH0sCi17ICAxNiwweDM3M2UsMCx7MHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNywweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMH0gfSwKLXsgIDE2LDB4Mzc0ZSwwLHsweGYwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyfSB9LAoteyAgMTYsMHgzNzVlLDAsezB4ZjAsMHgyMiwweGVlLDB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDM3NmUsMCx7MHgyOCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDksMHgxMiwweDBjLDB4NWQsMHg5MH0gfSwKLXsgIDE2LDB4Mzc3ZSwwLHsweDdmLDB4MDAsMHhmMCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1fSB9LAoteyAgMTYsMHgzNzhlLDAsezB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTB9IH0sCi17ICAgMywweDM3OWUsMCx7MHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDM3YTEsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MzdhMiwwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSB9LAoteyAgMTYsMHgzN2IyLDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9IH0sCi17ICAxNiwweDM3YzIsMCx7MHhjMCwweGUwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4OTAsMHg3OSwweDgzLDB4ZTAsMHg1NH0gfSwKLXsgIDE2LDB4MzdkMiwwLHsweGZkLDB4ZjAsMHgxMiwweDJmLDB4ZGYsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwfSB9LAoteyAgMTYsMHgzN2UyLDAsezB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDB9IH0sCi17ICAgOCwweDM3ZjIsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgIDYsMHgzN2ZhLDAsezB4NTMsMHg5MSwweGJmLDB4ZDIsMHgyNiwweDMyfSB9LAoteyAgMTYsMHgzODAwLDAsezB4ZTQsMHhmZSwweDkwLDB4NzksMHgyMCwweGUwLDB4ZmQsMHhiNCwweDA1LDB4MTAsMHg5MCwweDc4LDB4MjIsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDM4MTAsMCx7MHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4N2YsMHgwNywweGVkLDB4YjQsMHgwNiwweDEwLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzgyMCwwLHsweDIyLDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMCwweDdmLDB4MDMsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzODMwLDAsezB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4ZmQsMHg5MCwweDc5LDB4OTh9IH0sCi17ICAxNiwweDM4NDAsMCx7MHhlMCwweDZkLDB4NjAsMHgxMiwweGVlLDB4YzMsMHg5ZiwweDUwLDB4MGQsMHg5MCwweDc4LDB4MjMsMHhlNCwweDc1LDB4ZjAsMHgwYn0gfSwKLXsgIDE2LDB4Mzg1MCwwLHsweDEyLDB4MGMsMHhmNCwweDBlLDB4ODAsMHhkOCwweDkwLDB4NzksMHg5OSwweGUwLDB4MTQsMHg2MCwweDExLDB4MTQsMHg2MCwweDQ4fSB9LAoteyAgMTYsMHgzODYwLDAsezB4MjQsMHgwMiwweDYwLDB4MDIsMHgyMSwweDg1LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDM4NzAsMCx7MHg5NywweGUwLDB4MTQsMHg3MCwweDJiLDB4ZWUsMHg2ZiwweDcwLDB4MDksMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4Mzg4MCwwLHsweDgwLDB4MTcsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZkLDB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzfSB9LAoteyAgMTYsMHgzODkwLDAsezB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweGVkLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OSwweDc1LDB4NzQsMHgwMSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDM4YTAsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDk3LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHg0M30gfSwKLXsgIDE2LDB4MzhiMCwwLHsweDE0LDB4NjAsMHg2ZSwweDE0LDB4NzAsMHgwMiwweDIxLDB4NGYsMHgyNCwweDAzLDB4NjAsMHgwMiwweDIxLDB4N2QsMHhlZSwweDZmfSB9LAoteyAgMTYsMHgzOGMwLDAsezB4NzAsMHgwOSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmR9IH0sCi17ICAxNiwweDM4ZDAsMCx7MHg5MCwweDc4LDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAzLDB4ZWQsMHgxMn0gfSwKLXsgIDE2LDB4MzhlMCwwLHsweDBjLDB4OWMsMHg5MCwweDc5LDB4MjIsMHhlMCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzksMHg3NSwweDc0fSB9LAoteyAgMTYsMHgzOGYwLDAsezB4MDEsMHhmMCwweDIyLDB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9IH0sCi17ICAxNiwweDM5MDAsMCx7MHg3OSwweDIxLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4MzkxMCwwLHsweDAwLDB4MDUsMHhlZCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzksMHgyMiwweGUwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwYywweDljfSB9LAoteyAgMTYsMHgzOTIwLDAsezB4MjIsMHhlZSwweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4MjF9IH0sCi17ICAxNiwweDM5MzAsMCx7MHhlMCwweGZkLDB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwN30gfSwKLXsgIDE2LDB4Mzk0MCwwLHsweGVkLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OSwweDIyLDB4ZTAsMHg5MCwweDAwLDB4MDgsMHgxMiwweDBjLDB4OWMsMHgyMiwweGVlfSB9LAoteyAgMTYsMHgzOTUwLDAsezB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmV9IH0sCi17ICAxNiwweDM5NjAsMCx7MHg5MCwweDc4LDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA5LDB4ZWUsMHgxMn0gfSwKLXsgIDE2LDB4Mzk3MCwwLHsweDBjLDB4OWMsMHg5MCwweDc5LDB4MjIsMHhlMCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGMsMHg5YywweDIyLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTIsMHgzOTgwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgzOThjLDAsezB4MjJ9IH0sCi17ICAxNiwweDM5OGQsMCx7MHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhlNCwweDkwLDB4NzksMHg4MywweGYwLDB4MTIsMHgyZiwweGRmLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4Mzk5ZCwwLHsweGUwLDB4NzQsMHg5MCwweGYwLDB4OTAsMHg3ZiwweGUxLDB4NzQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4ZGQsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgzOWFkLDAsezB4N2YsMHhhMSwweGYwLDB4NTMsMHg4ZSwweGY4LDB4NzUsMHg4OCwweDA1LDB4NzUsMHhiOCwweDIwLDB4NzUsMHhmOCwweDAxLDB4NDN9IH0sCi17ICAxNiwweDM5YmQsMCx7MHg4ZSwweDMwLDB4ZjUsMHhjOCwweDc1LDB4Y2EsMHg3ZiwweDc1LDB4Y2IsMHhmOCwweDQzLDB4YTgsMHgyMCwweDkwLDB4NzksMHg3NH0gfSwKLXsgIDE2LDB4MzljZCwwLHsweDA0LDB4ZjAsMHhjMiwweDIyLDB4ZTQsMHhmNSwweDBmLDB4OTAsMHg3OSwweDc4LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3OSwweDYyfSB9LAoteyAgMTYsMHgzOWRkLDAsezB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweDkwLDB4NzksMHg2NiwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTN9IH0sCi17ICAxNiwweDM5ZWQsMCx7MHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4OTAsMHg3OSwweDdkLDB4ZjAsMHg5MCwweDc5LDB4NzUsMHhmMCwweGEzLDB4ZjAsMHhhM30gfSwKLXsgIDE2LDB4MzlmZCwwLHsweGYwLDB4YzIsMHgyMywweGMyLDB4MjQsMHhjMiwweDI1LDB4YzIsMHgyNiwweGMyLDB4MjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1fSB9LAoteyAgMTYsMHgzYTBkLDAsezB4MGEsMHg1NCwweDIwLDB4ZjUsMHgwYSwweDcwLDB4MDYsMHg5MCwweDc5LDB4N2UsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc5LDB4N2V9IH0sCi17ICAxNiwweDNhMWQsMCx7MHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1LDB4MGEsMHg1NCwweDAyLDB4ZjUsMHgwYSwweDcwLDB4MDYsMHg5MH0gfSwKLXsgIDE2LDB4M2EyZCwwLHsweDc5LDB4N2YsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc5LDB4N2YsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyfSB9LAoteyAgMTYsMHgzYTNkLDAsezB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDl9IH0sCi17ICAxNiwweDNhNGQsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4M2E1ZCwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxfSB9LAoteyAgMTYsMHgzYTZkLDAsezB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDl9IH0sCi17ICAxNiwweDNhN2QsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMH0gfSwKLXsgIDE2LDB4M2E4ZCwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHgxMiwweDBiLDB4YTIsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwfSB9LAoteyAgMTYsMHgzYTlkLDAsezB4YTMsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc5LDB4ODgsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4N2YsMHhmYywweDc0LDB4ZGR9IH0sCi17ICAxNiwweDNhYWQsMCx7MHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmYsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweGEzLDB4ZjAsMHgxMn0gfSwKLXsgIDE2LDB4M2FiZCwwLHsweDBiLDB4YTIsMHhlNCwweDkwLDB4NzksMHg3YSwweGYwLDB4OTAsMHg3OSwweDgzLDB4MDQsMHhmMCwweDEyLDB4MmYsMHhkZiwweGU0fSB9LAoteyAgMTYsMHgzYWNkLDAsezB4OTAsMHg3OSwweDMwLDB4ZjAsMHg5MCwweDc5LDB4ODUsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4MTIsMHgyZSwweDk0LDB4OTB9IH0sCi17ICAxNiwweDNhZGQsMCx7MHg3OSwweDJkLDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg4LDB4MTQsMHhmMCwweGMyLDB4MmYsMHhlNCwweDkwLDB4NzksMHg2OH0gfSwKLXsgIDE2LDB4M2FlZCwwLHsweGYwLDB4OTAsMHg3OSwweDhhLDB4ZjAsMHg5MCwweDc5LDB4NmEsMHhmMCwweGEzLDB4ZjAsMHg3NSwweDEzLDB4MDgsMHg3NSwweDE0fSB9LAoteyAgMTYsMHgzYWZkLDAsezB4MDgsMHhmNSwweDE2LDB4ZjUsMHgxNSwweGY1LDB4MTcsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDNiMGQsMCx7MHg3YiwweDAxLDB4N2EsMHg3OCwweDc5LDB4NTgsMHg5MCwweDc4LDB4MDMsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOX0gfSwKLXsgIDE2LDB4M2IxZCwwLHsweGYwLDB4NzQsMHg0MCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzYjJkLDAsezB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDBhLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGY2LDB4MDB9IH0sCi17ICAxNiwweDNiM2QsMCx7MHgwMCwweGJiLDB4ODAsMHg5MCwweDAwLDB4MDYsMHgxMiwweDBkLDB4ZjYsMHgwMCwweDAwLDB4YWMsMHg0NCwweDkwLDB4MDAsMHgwYX0gfSwKLXsgIDE2LDB4M2I0ZCwwLHsweDEyLDB4MGQsMHhmNiwweDAwLDB4MDEsMHg3NywweDAwLDB4OTAsMHg3OCwweDA0LDB4ZTQsMHg3NSwweGYwLDB4MGYsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzYjVkLDAsezB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHg0MCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDNiNmQsMCx7MHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NH0gfSwKLXsgIDE2LDB4M2I3ZCwwLHsweDhjLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGY2LDB4MDAsMHgwMCwweGJiLDB4ODAsMHg5MCwweDAwfSB9LAoteyAgMTYsMHgzYjhkLDAsezB4MDYsMHgxMiwweDBkLDB4ZjYsMHgwMCwweDAwLDB4YWMsMHg0NCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGQsMHhmNiwweDAwLDB4MDF9IH0sCi17ICAxNiwweDNiOWQsMCx7MHg3NywweDAwLDB4OTAsMHg3OCwweDA0LDB4ZTQsMHg3NSwweGYwLDB4MGYsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMH0gfSwKLXsgIDE2LDB4M2JhZCwwLHsweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHg0MCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwfSB9LAoteyAgMTYsMHgzYmJkLDAsezB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDhmLDB4MTIsMHgwYywweDljLDB4OTB9IH0sCi17ICAxNiwweDNiY2QsMCx7MHg3OCwweDA0LDB4ZTQsMHg3NSwweGYwLDB4MGYsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2JkZCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHg0MSwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzYmVkLDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDg0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDA0LDB4ZTR9IH0sCi17ICAxNiwweDNiZmQsMCx7MHg3NSwweGYwLDB4MGYsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2MwZCwwLHsweGY5LDB4NzQsMHg2MSwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzYzFkLDAsezB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDgxLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDA0LDB4ZTQsMHg3NSwweGYwLDB4MGZ9IH0sCi17ICAxNiwweDNjMmQsMCx7MHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHg2MX0gfSwKLXsgIDE2LDB4M2MzZCwwLHsweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwfSB9LAoteyAgIDYsMHgzYzRkLDAsezB4MDEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljfSB9LAoteyAgIDEsMHgzYzUzLDAsezB4MjJ9IH0sCi17ICAxNiwweDNjNTQsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4M2M2NCwwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSB9LAoteyAgIDIsMHgzYzc0LDAsezB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4M2M3NiwwLHsweDkwLDB4N2YsMHhhMiwweGUwLDB4ZjUsMHgwYiwweDkwLDB4N2YsMHg3NCwweGUwLDB4OTAsMHg3OSwweDcwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgzYzg2LDAsezB4NzUsMHhlMCwweDkwLDB4NzksMHg3MSwweGYwLDB4OTAsMHg3OSwweDgzLDB4ZTAsMHhmZiwweGZlLDB4NTQsMHgwMiwweGZlLDB4NzB9IH0sCi17ICAxNiwweDNjOTYsMCx7MHgwZCwweGVmLDB4NDQsMHgwMiwweGYwLDB4MTIsMHgyZiwweGRmLDB4OTAsMHg3OSwweDc0LDB4NzQsMHgwMSwweGYwLDB4ZTUsMHgwYn0gfSwKLXsgIDE2LDB4M2NhNiwwLHsweDIwLDB4ZTIsMHgyOCwweDkwLDB4NzksMHg3MCwweGUwLDB4ZmUsMHhhMywweGUwLDB4N2MsMHgwMCwweDI0LDB4MDAsMHhmNSwweDExfSB9LAoteyAgMTYsMHgzY2I2LDAsezB4ZWMsMHgzZSwweGY1LDB4MTAsMHg5MCwweDc5LDB4ODIsMHhlMCwweGZkLDB4YWUsMHgxMCwweGFmLDB4MTEsMHgxMiwweDBjLDB4YmV9IH0sCi17ICAxNiwweDNjYzYsMCx7MHg5MCwweDc5LDB4NzAsMHhlZiwweGYwLDB4OTAsMHg3OSwweDg5LDB4NzQsMHgwMSwweGYwLDB4MTIsMHg0OCwweDQzLDB4MTIsMHg0OH0gfSwKLXsgIDE2LDB4M2NkNiwwLHsweDc2LDB4OTAsMHg3OSwweDg5LDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgzMiwweDEyLDB4NDEsMHgwOCwweDkwLDB4NzksMHg4OSwweGU0fSB9LAoteyAgMTYsMHgzY2U2LDAsezB4ZjAsMHg5MCwweDdmLDB4OTgsMHhlMCwweDQ0LDB4NDAsMHhmMCwweDkwLDB4N2YsMHg5ZSwweGUwLDB4NDQsMHg0MCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDNjZjYsMCx7MHg3ZiwweDk1LDB4NzQsMHg4MCwweGYwLDB4NzUsMHhlOCwweDAxLDB4MTIsMHgwOSwweDMyLDB4NzUsMHhlOCwweDBkLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4M2QwNiwwLHsweDk1LDB4NzQsMHhjMCwweGYwLDB4NzUsMHhlOCwweDBkLDB4ZDIsMHgyMCwweDgwLDB4MDUsMHg3NSwweGU4LDB4MDEsMHhjMiwweDIwfSB9LAoteyAgMTYsMHgzZDE2LDAsezB4MjAsMHgyMCwweDJiLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwOSwweDc1LDB4MGMsMHg2NywweDc1LDB4MGR9IH0sCi17ICAxNiwweDNkMjYsMCx7MHgwNiwweDc1LDB4MGUsMHgwYiwweGVmLDB4YjQsMHgwMiwweDA5LDB4NzUsMHgwYywweDAwLDB4NzUsMHgwZCwweDAwLDB4NzUsMHgwZX0gfSwKLXsgIDE2LDB4M2QzNiwwLHsweDBjLDB4ZWYsMHhiNCwweDAzLDB4MDksMHg3NSwweDBjLDB4MDAsMHg3NSwweDBkLDB4MDAsMHg3NSwweDBlLDB4MTgsMHg3NSwweGNhfSB9LAoteyAgMTYsMHgzZDQ2LDAsezB4NmYsMHg3NSwweGNiLDB4ZmUsMHhkMiwweGNhLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZjB9IH0sCi17ICAxNiwweDNkNTYsMCx7MHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMH0gfSwKLXsgIDE2LDB4M2Q2NiwwLHsweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGYwfSB9LAoteyAgIDMsMHgzZDc2LDAsezB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgzZDc5LDAsezB4NzUsMHgzMywweDI1LDB4NzUsMHgzNCwweDI0LDB4OTAsMHg3OSwweDVjLDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjB9IH0sCi17ICAxNiwweDNkODksMCx7MHhhMywweDc0LDB4YjIsMHhmMCwweDIwLDB4MmYsMHgwMiwweGMxLDB4MTcsMHhlNCwweGY1LDB4MzUsMHg3NSwweDIyLDB4MDEsMHg5MH0gfSwKLXsgIDE2LDB4M2Q5OSwwLHsweDc5LDB4NWMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwYywweDVkfSB9LAoteyAgMTYsMHgzZGE5LDAsezB4ZjUsMHgzNiwweDc1LDB4MzUsMHgwNiwweDc0LDB4NDIsMHgyNSwweDM1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODN9IH0sCi17ICAxNiwweDNkYjksMCx7MHhlNSwweDM2LDB4ZjAsMHgwNSwweDM1LDB4ZTUsMHgzNSwweGI0LDB4MGMsMHhlYiwweGU1LDB4MzUsMHhjMywweDk0LDB4MGQsMHg0MH0gfSwKLXsgIDE2LDB4M2RjOSwwLHsweDAyLDB4YzEsMHg5OCwweGU1LDB4MjIsMHg2NCwweDAxLDB4NjAsMHgwMiwweGMxLDB4OTgsMHg5MCwweDdmLDB4YTUsMHhlMCwweDQ0fSB9LAoteyAgMTYsMHgzZGQ5LDAsezB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweGU1LDB4MzMsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4NGYsMHgyNSwweDM1LDB4ZjV9IH0sCi17ICAxNiwweDNkZTksMCx7MHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4NzQsMHg0Mn0gfSwKLXsgIDE2LDB4M2RmOSwwLHsweDI1LDB4MzUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2fSB9LAoteyAgMTYsMHgzZTA5LDAsezB4YzAsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjAsMHgxMiwweDBhLDB4Y2QsMHgwNSwweDM1LDB4ODAsMHhhYywweGU0LDB4ZjV9IH0sCi17ICAxNiwweDNlMTksMCx7MHgzNSwweDc1LDB4MjIsMHgwMSwweDkwLDB4NzksMHg1YywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4M2UyOSwwLHsweDAwLDB4MDQsMHgxMiwweDBjLDB4NWQsMHhmNSwweDM2LDB4NzUsMHgzNSwweDA2LDB4NzQsMHgzNSwweDI1LDB4MzUsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgzZTM5LDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGU1LDB4MzYsMHhmMCwweDA1LDB4MzUsMHhlNSwweDM1LDB4YjQsMHgwYywweGViLDB4ZTV9IH0sCi17ICAxNiwweDNlNDksMCx7MHgzNSwweGMzLDB4OTQsMHgwZCwweDUwLDB4NDksMHhlNSwweDIyLDB4NjQsMHgwMSwweDcwLDB4NDMsMHg5MCwweDdmLDB4YTUsMHhlMH0gfSwKLXsgIDE2LDB4M2U1OSwwLHsweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweGU1LDB4MzMsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4NGYsMHgyNSwweDM1fSB9LAoteyAgMTYsMHgzZTY5LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4NzR9IH0sCi17ICAxNiwweDNlNzksMCx7MHgzNSwweDI1LDB4MzUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMn0gfSwKLXsgIDE1LDB4M2U4OSwwLHsweDQ2LDB4YzAsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjAsMHgxMiwweDBhLDB4Y2QsMHgwNSwweDM1LDB4ODAsMHhiMH0gfSwKLXsgICAxLDB4M2U5OCwwLHsweDIyfSB9LAoteyAgMTYsMHgzZTk5LDAsezB4OTAsMHg3OCwweDA5LDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweGU0LDB4ZmZ9IH0sCi17ICAxNiwweDNlYTksMCx7MHhmZSwweDkwLDB4NzgsMHgwOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlZiwweDEyLDB4MGMsMHg4YX0gfSwKLXsgIDE2LDB4M2ViOSwwLHsweDkwLDB4NzgsMHgwOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHhlNCwweDEyfSB9LAoteyAgMTYsMHgzZWM5LDAsezB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MTUsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDMsMHhlNCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDNlZDksMCx7MHg5YywweDkwLDB4MDAsMHgwNCwweDc0LDB4ZmYsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDUsMHhlNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4M2VlOSwwLHsweDkwLDB4MDAsMHgwNiwweDc0LDB4YzMsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDcsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwfSB9LAoteyAgMTYsMHgzZWY5LDAsezB4MDAsMHgwOCwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA5LDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MGF9IH0sCi17ICAxNiwweDNmMDksMCx7MHg3NCwweDAxLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDBhLDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZn0gfSwKLXsgIDE2LDB4M2YxOSwwLHsweDBlLDB4YmUsMHgwNywweDhkLDB4OTAsMHg3OCwweDA5LDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0fSB9LAoteyAgMTYsMHgzZjI5LDAsezB4ZmYsMHhmMCwweGU0LDB4ZmYsMHhmZSwweDkwLDB4NzgsMHgwOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4Zjl9IH0sCi17ICAxNiwweDNmMzksMCx7MHhlZiwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4M2Y0OSwwLHsweDAwLDB4MDEsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MTUsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwfSB9LAoteyAgMTYsMHgzZjU5LDAsezB4MDMsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwNCwweDc0LDB4ODAsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDV9IH0sCi17ICAxNiwweDNmNjksMCx7MHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwNiwweDc0LDB4YzMsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDcsMHhlNH0gfSwKLXsgIDE2LDB4M2Y3OSwwLHsweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwOCwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA5LDB4ZTQsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzZjg5LDAsezB4OWMsMHg5MCwweDAwLDB4MGEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDBhLDB4ZTQsMHg3NSwweGYwLDB4MGJ9IH0sCi17ICAgOCwweDNmOTksMCx7MHgxMiwweDBjLDB4ZjQsMHgwZiwweDBlLDB4YmUsMHgwMywweDhkfSB9LAoteyAgIDEsMHgzZmExLDAsezB4MjJ9IH0sCi17ICAxNiwweDNmYTIsMCx7MHhlNCwweGZlLDB4NzUsMHgzZCwweGZmLDB4NzUsMHgzZSwweDA1LDB4NzUsMHgzZiwweDEyLDB4YWIsMHgzZCwweGFhLDB4M2UsMHhhOX0gfSwKLXsgIDE2LDB4M2ZiMiwwLHsweDNmLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4NjQsMHgwMiwweDcwLDB4MmYsMHhjZCwweGVlLDB4Y2QsMHgwZSwweGVkfSB9LAoteyAgMTYsMHgzZmMyLDAsezB4NmYsMHg3MCwweDAxLDB4MjIsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4MGEsMHg4NSwweGYwLDB4M2IsMHhmNSwweDNjLDB4NjJ9IH0sCi17ICAxNiwweDNmZDIsMCx7MHgzYiwweGU1LDB4M2IsMHg2MiwweDNjLDB4ZTUsMHgzYywweDYyLDB4M2IsMHgyOSwweGZkLDB4ZTUsMHgzYiwweDNhLDB4YzksMHhlZH0gfSwKLXsgIDE2LDB4M2ZlMiwwLHsweGM5LDB4NzUsMHgzZCwweGZmLDB4ZjUsMHgzZSwweDg5LDB4M2YsMHg4MCwweGMxLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfSB9LAoteyAgIDEsMHgzZmYyLDAsezB4MjJ9IH0sCi17ICAgOSwweDNmZjMsMCx7MHg1MywweGQ4LDB4ZWYsMHg0MywweGQ4LDB4MjAsMHhjMiwweDJkLDB4MzJ9IH0sCi17ICAgNCwweDNmZmMsMCx7MHg1MywweDkxLDB4ZGYsMHgzMn0gfSwKLXsgIDE2LDB4NDAwMCwwLHsweDkwLDB4NzksMHg4NywweGUwLDB4YjQsMHgwMSwweDFkLDB4OTAsMHg3OSwweDg1LDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgxMiwweDQyfSB9LAoteyAgMTYsMHg0MDEwLDAsezB4YWEsMHg5MCwweDc5LDB4ODYsMHhlMCwweGI0LDB4MDEsMHgwMywweDEyLDB4MTgsMHgwMCwweGU0LDB4OTAsMHg3OSwweDg1LDB4ZjB9IH0sCi17ICAxNiwweDQwMjAsMCx7MHhhMywweGYwLDB4YTMsMHhmMCwweDEyLDB4MmUsMHg5NCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjUsMHgwYSwweDU0LDB4MDIsMHhmNX0gfSwKLXsgIDE2LDB4NDAzMCwwLHsweDBhLDB4NzAsMHgwNCwweDkwLDB4NzksMHg3ZiwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNSwweDBhLDB4NTQsMHgwMiwweGZmfSB9LAoteyAgMTYsMHg0MDQwLDAsezB4ZjUsMHgwYSwweGJmLDB4MDIsMHgwNiwweDkwLDB4NzksMHg3ZiwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjV9IH0sCi17ICAxNiwweDQwNTAsMCx7MHgwYSwweDU0LDB4MjAsMHhmNSwweDBhLDB4NzAsMHgwNCwweDkwLDB4NzksMHg3ZSwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNX0gfSwKLXsgIDE2LDB4NDA2MCwwLHsweDBhLDB4NTQsMHgyMCwweGZmLDB4ZjUsMHgwYSwweGJmLDB4MjAsMHgwNiwweDkwLDB4NzksMHg3ZSwweDc0LDB4MDEsMHhmMCwweDkwfSB9LAoteyAgMTYsMHg0MDcwLDAsezB4NzksMHg3ZiwweGUwLDB4ZmYsMHg5MCwweDc5LDB4ODEsMHhlMCwweDZmLDB4NjAsMHgzOCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDQwODAsMCx7MHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHhlZiwweGI0LDB4MDEsMHgwNiwweGUwLDB4NTQsMHhmZX0gfSwKLXsgIDE2LDB4NDA5MCwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHg0MGEwLDAsezB4ODQsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHhlNSwweDEyLDB4NjB9IH0sCi17ICAxNiwweDQwYjAsMCx7MHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4N2UsMHhlMCwweGZmLDB4OTAsMHg3OSwweDgwLDB4ZTAsMHg2ZiwweDYwLDB4MzgsMHg5MH0gfSwKLXsgIDE2LDB4NDBjMCwwLHsweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4ZWYsMHhiNCwweDAxfSB9LAoteyAgMTYsMHg0MGQwLDAsezB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDQwZTAsMCx7MHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYn0gfSwKLXsgIDE2LDB4NDBmMCwwLHsweGEyLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHg5MCwweDc5LDB4ODEsMHhmMCwweDkwfSB9LAoteyAgIDgsMHg0MTAwLDAsezB4NzksMHg3ZSwweGUwLDB4OTAsMHg3OSwweDgwLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDEwOCwwLHsweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMSwweDcwLDB4MzUsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZmLDB4ZDMsMHg5NCwweDJkfSB9LAoteyAgMTYsMHg0MTE4LDAsezB4NDAsMHgyYiwweDkwLDB4NzksMHg2OSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2OCwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDN9IH0sCi17ICAxNiwweDQxMjgsMCx7MHg5NCwweDBmLDB4NDAsMHgxOSwweGU0LDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgzMSwweDQwLDB4MDgsMHg5MCwweDc5LDB4MmQsMHg3NH0gfSwKLXsgIDE2LDB4NDEzOCwwLHsweDAzLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3OSwweDJkLDB4NzQsMHgwMiwweGYwLDB4MTIsMHgxMCwweDAwLDB4OTAsMHg3OSwweDJkfSB9LAoteyAgMTYsMHg0MTQ4LDAsezB4ZTAsMHhiNCwweDAyLDB4MmMsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgyMiwweGVmLDB4ZDN9IH0sCi17ICAxNiwweDQxNTgsMCx7MHg5NCwweDJhLDB4NDAsMHgxYywweDkwLDB4NzksMHg2OSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2OCwweGUwLDB4MDQsMHhmMH0gfSwKLXsgIDE2LDB4NDE2OCwwLHsweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDAsMHgwYSwweGU0LDB4ZjAsMHg5MCwweDc5LDB4MmQsMHgwNCwweGYwLDB4MTIsMHgxMCwweDAwfSB9LAoteyAgMTYsMHg0MTc4LDAsezB4OTAsMHg3OSwweDJkLDB4ZTAsMHhiNCwweDAyLDB4MjYsMHg5MCwweDc5LDB4NzAsMHhlMCwweGQzLDB4OTQsMHgzMSwweDQwLDB4MWR9IH0sCi17ICAxNiwweDQxODgsMCx7MHg5MCwweDc5LDB4NjksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjgsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZn0gfSwKLXsgIDE2LDB4NDE5OCwwLHsweDQwLDB4MGIsMHhlNCwweGYwLDB4OTAsMHg3OSwweDJkLDB4NzQsMHgwMywweGYwLDB4MTIsMHgxMCwweDAwLDB4OTAsMHg3OSwweDJkfSB9LAoteyAgMTYsMHg0MWE4LDAsezB4ZTAsMHg2NCwweDAzLDB4NzAsMHgzZiwweDkwLDB4NzksMHg3MCwweGUwLDB4ZmYsMHhjMywweDk0LDB4NWYsMHg1MCwweDM1LDB4OTB9IH0sCi17ICAxNiwweDQxYjgsMCx7MHg3OSwweDY5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY4LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MH0gfSwKLXsgIDE2LDB4NDFjOCwwLHsweDIzLDB4ZTQsMHhmMCwweGVmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgwYywweGVmLDB4ZDMsMHg5NCwweDJhLDB4NDAsMHgwNiwweDkwfSB9LAoteyAgMTYsMHg0MWQ4LDAsezB4NzksMHgyZCwweDc0LDB4MDEsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDJmLDB4NDAsMHgwNiwweDkwLDB4NzksMHgyZCwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDQxZTgsMCx7MHhmMCwweDEyLDB4MTAsMHgwMCwweDkwLDB4NzksMHg2OSwweGUwLDB4NzAsMHgwNSwweDkwLDB4NzksMHg2OCwweGYwLDB4MjIsMHhlNH0gfSwKLXsgICA1LDB4NDFmOCwwLHsweDkwLDB4NzksMHg2OSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQxZmQsMCx7MHg3YiwweDAxLDB4N2EsMHg3OCwweDc5LDB4NGMsMHg5MCwweDc4LDB4MDYsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOX0gfSwKLXsgIDE2LDB4NDIwZCwwLHsweGYwLDB4ZTQsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHg0MjFkLDAsezB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwNywweGU0LDB4NzUsMHhmMCwweDAzLDB4MTJ9IH0sCi17ICAxNiwweDQyMmQsMCx7MHgwYywweGY0LDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweGU0LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4NDIzZCwwLHsweDhhLDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0fSB9LAoteyAgMTYsMHg0MjRkLDAsezB4MDIsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDcsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDQyNWQsMCx7MHgwNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlNCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwNn0gfSwKLXsgIDE2LDB4NDI2ZCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAzLDB4MTIsMHgwYywweDljfSB9LAoteyAgMTYsMHg0MjdkLDAsezB4OTAsMHg3OCwweDA3LDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDYsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDQyOGQsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4ZTQsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDYsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDEyLDB4NDI5ZCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgICAxLDB4NDJhOSwwLHsweDIyfSB9LAoteyAgMTYsMHg0MmFhLDAsezB4ZTQsMHhmZiwweGZlLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgwYywweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDQyYmEsMCx7MHgyYiwweGYwLDB4OTAsMHg3OCwweDBjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4NDJjYSwwLHsweDEyLDB4MGMsMHg1ZCwweGZkLDB4OTAsMHg3OSwweDlhLDB4ZTAsMHg2ZCwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNSwweDUwfSB9LAoteyAgMTYsMHg0MmRhLDAsezB4MGQsMHgwZiwweDkwLDB4NzgsMHgwZCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkNCwweDhkLDB4MzN9IH0sCi17ICAxNiwweDQyZWEsMCx7MHg5MCwweDc4LDB4MGMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4NDJmYSwwLHsweDVkLDB4ZmQsMHg5MCwweDc5LDB4OWIsMHhlMCwweGZjLDB4NmQsMHg2MCwweDEzLDB4ZWUsMHhjMywweDk0LDB4MGIsMHg1MCwweDBkfSB9LAoteyAgMTYsMHg0MzBhLDAsezB4MGUsMHg5MCwweDc4LDB4MGQsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDMsMHg4YywweDM0LDB4ZWZ9IH0sCi17ICAxNiwweDQzMWEsMCx7MHg2NCwweDA1LDB4NjAsMHgwMywweGJlLDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MH0gfSwKLXsgIDE2LDB4NDMyYSwwLHsweDc4LDB4MGMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4ZmYsMHgyNCwweGYwfSB9LAoteyAgMTYsMHg0MzNhLDAsezB4NjAsMHgwOCwweDI0LDB4MGUsMHg3MCwweDBlLDB4MTIsMHg0OSwweDRkLDB4MjIsMHg5MCwweDc5LDB4MjAsMHhlNSwweDM0LDB4ZjB9IH0sCi17ICAxMSwweDQzNGEsMCx7MHgxMiwweDFiLDB4MmEsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHg0MzU1LDAsezB4MjJ9IH0sCi17ICAxMiwweDQzNTYsMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4M2YsMHgwMiwweDQzLDB4OWR9IH0sCi17ICAxNiwweDQzNjIsMCx7MHgwMiwweDQ4LDB4YTksMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn0gfSwKLXsgIDE2LDB4NDM3MiwwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfSB9LAoteyAgMTYsMHg0MzgyLDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9IH0sCi17ICAxNiwweDQzOTIsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHg0NiwweDYxLDB4ZTQsMHg3ZX0gfSwKLXsgIDE2LDB4NDNhMiwwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfSB9LAoteyAgMTYsMHg0M2IyLDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9IH0sCi17ICAxNiwweDQzYzIsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX0gfSwKLXsgIDE2LDB4NDNkMiwwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfSB9LAoteyAgMTYsMHg0M2UyLDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDQzZjIsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn0gfSwKLXsgIDE2LDB4NDQwMiwwLHsweGMwLDB4ZTAsMHhjMiwweGNhLDB4YzIsMHhjZiwweDkwLDB4NzksMHg3YSwweGUwLDB4YjQsMHgwMSwweDFmLDB4MTIsMHg0YiwweGFlfSB9LAoteyAgMTYsMHg0NDEyLDAsezB4MTIsMHg0NywweDU4LDB4NTMsMHhhOCwweGEwLDB4OTAsMHg3ZiwweGFlLDB4ZTQsMHhmMCwweDEyLDB4MDcsMHhhYSwweDEyLDB4NGJ9IH0sCi17ICAxNiwweDQ0MjIsMCx7MHhiNywweDkwLDB4N2YsMHhhZSwweDc0LDB4MWYsMHhmMCwweDQzLDB4YTgsMHgwNSwweDgwLDB4MDMsMHg1MywweGE4LDB4YTAsMHg1M30gfSwKLXsgIDE2LDB4NDQzMiwwLHsweGE4LDB4ZmEsMHg3NSwweGU4LDB4MDEsMHgxMiwweDA5LDB4MTUsMHg3NSwweGU4LDB4MGQsMHg0MywweGE4LDB4MDUsMHhkMCwweGUwfSB9LAoteyAgMTYsMHg0NDQyLDAsezB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmF9IH0sCi17ICAxNiwweDQ0NTIsMCx7MHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGYwLDB4ZDAsMHhlMH0gfSwKLXsgICAxLDB4NDQ2MiwwLHsweDMyfSB9LAoteyAgMTYsMHg0NDYzLDAsezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNSwweDA5LDB4MTQsMHg2MCwweDFkLDB4MTQsMHg2MCwweDJhLDB4MTQsMHg2MCwweDM3LDB4MTR9IH0sCi17ICAxNiwweDQ0NzMsMCx7MHg2MCwweDQ0LDB4MjQsMHgwNCwweDcwLDB4NTAsMHg5MCwweDc5LDB4NjIsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4NDQ4MywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHg0NywweDkwLDB4NzksMHg2MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHg0NDkzLDAsezB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDM3LDB4OTAsMHg3OSwweDY0LDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDQ0YTMsMCx7MHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MjcsMHg5MCwweDc5LDB4NjYsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4NDRiMywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgxNywweDkwLDB4NzksMHg2NywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTUsMHg0NGMzLDAsezB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhkMywweDIyfSB9LAoteyAgIDQsMHg0NGQyLDAsezB4OGQsMHgzNiwweDhiLDB4Mzd9IH0sCi17ICAxNiwweDQ0ZDYsMCx7MHgxMiwweDNmLDB4YTIsMHhlYSwweDQ5LDB4NjAsMHg1NywweDEyLDB4MGMsMHg0NCwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYX0gfSwKLXsgIDE2LDB4NDRlNiwwLHsweGM5LDB4ZWYsMHhjOSwweDc1LDB4MzgsMHhmZiwweGY1LDB4MzksMHg4OSwweDNhLDB4YWIsMHgzOCwweGFhLDB4MzksMHhhOSwweDNhfSB9LAoteyAgMTYsMHg0NGY2LDAsezB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4ZmYsMHg2NCwweDA0LDB4NjAsMHgwNSwweGVmLDB4NjQsMHgwNSwweDcwLDB4MmV9IH0sCi17ICAxNiwweDQ1MDYsMCx7MHhlZiwweGI0LDB4MDQsMHgxNSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MGMsMHg1ZCwweDY1LDB4MzYsMHg3MCwweDBiLDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4NDUxNiwwLHsweDAzLDB4MTIsMHgwYywweDVkLDB4NjUsMHgzNywweDcwLDB4MDEsMHgyMiwweDEyLDB4MGMsMHg0NCwweDdlLDB4MDAsMHgyOSwweGZmfSB9LAoteyAgMTYsMHg0NTI2LDAsezB4ZWUsMHgzYSwweGM5LDB4ZWYsMHhjOSwweDc1LDB4MzgsMHhmZiwweGY1LDB4MzksMHg4OSwweDNhLDB4ODAsMHhiYywweDdiLDB4MDB9IH0sCi17ICAgNCwweDQ1MzYsMCx7MHg3YSwweDAwLDB4NzksMHgwMH0gfSwKLXsgICAxLDB4NDUzYSwwLHsweDIyfSB9LAoteyAgMTYsMHg0NTNiLDAsezB4ZTQsMHhmZiwweDdiLDB4MDEsMHg5MCwweDc4LDB4MWMsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4NGN9IH0sCi17ICAxNiwweDQ1NGIsMCx7MHhmMCwweDkwLDB4NzgsMHgxYywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDIsMHgxMn0gfSwKLXsgIDE2LDB4NDU1YiwwLHsweDBjLDB4NWQsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4NmUsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDQsMHg1MCwweDBkfSB9LAoteyAgMTYsMHg0NTZiLDAsezB4OTAsMHg3OCwweDFkLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4ZDQsMHhiZiwweDA0LDB4MDl9IH0sCi17ICAxNiwweDQ1N2IsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTQsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZmLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4NDU4YiwwLHsweDFjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweGVmLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3ZiwweGM1fSB9LAoteyAgIDMsMHg0NTliLDAsezB4NzQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHg0NTllLDAsezB4MjJ9IH0sCi17ICAxNCwweDQ1OWYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZWUsMHhjMCwweGUwLDB4ZWYsMHhjMCwweGUwfSB9LAoteyAgMTYsMHg0NWFkLDAsezB4OTAsMHg3OSwweDg1LDB4ZTAsMHg2NCwweDAxLDB4NjAsMHgwNSwweGEzLDB4ZTAsMHhiNCwweDAxLDB4MmQsMHg5MCwweDc5LDB4ODd9IH0sCi17ICAxNiwweDQ1YmQsMCx7MHg3NCwweDAxLDB4ZjAsMHhlNCwweGZmLDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MWIsMHg3NH0gfSwKLXsgIDE2LDB4NDVjZCwwLHsweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDIxLDB4MmYsMHhmNSwweDgyfSB9LAoteyAgMTYsMHg0NWRkLDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGVlLDB4ZjAsMHgwZiwweDgwLDB4ZGIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWF9IH0sCi17ICAgNCwweDQ1ZWQsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE1LDB4NDVmMSwwLHsweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZDAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NDYwMCwwLHsweGU0LDB4ZmYsMHg3YiwweDAxLDB4OTAsMHg3OCwweDE5LDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweDRjfSB9LAoteyAgMTYsMHg0NjEwLDAsezB4ZjAsMHg5MCwweDc4LDB4MTksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTJ9IH0sCi17ICAxNiwweDQ2MjAsMCx7MHgwYywweDVkLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDZlLDB4NjAsMHgxMywweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwZH0gfSwKLXsgIDE2LDB4NDYzMCwwLHsweDkwLDB4NzgsMHgxYSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGQ0LDB4YmYsMHgwNCwweDA4fSB9LAoteyAgMTYsMHg0NjQwLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgxOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDQ2NTAsMCx7MHhhMywweGUwLDB4ZjksMHgxMiwweDBjLDB4NDQsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4NDY2MCwwLHsweDIyfSB9LAoteyAgMTYsMHg0NjYxLDAsezB4MDEsMHgxOCwweDAyLDB4MDEsMHgxOSwweDBhLDB4MDEsMHgxYywweDAwLDB4YzEsMHgyOCwweGMxLDB4MjksMHgwMSwweDFmLDB4MDF9IH0sCi17ICAxNSwweDQ2NzEsMCx7MHg0NCwweDc5LDB4OWYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQxLDB4NzksMHhhMywweDAwLDB4NDEsMHg3OSwweGE0LDB4MDB9IH0sCi17ICAgNCwweDQ2ODAsMCx7MHg0MSwweDc5LDB4ODksMHgwMH0gfSwKLXsgIDE2LDB4NDY4NCwwLHsweDAxLDB4MjIsMHgwMSwweDQxLDB4NzksMHgzMSwweGZmLDB4NDEsMHg3OSwweDM0LDB4MDAsMHg0ZCwweDc5LDB4MzUsMHgzZiwweDNmfSB9LAoteyAgMTYsMHg0Njk0LDAsezB4MDAsMHgwOCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDRkLDB4NzksMHg0MiwweDNmLDB4M2Z9IH0sCi17ICAxNiwweDQ2YTQsMCx7MHgwNiwweDA4LDB4MDQsMHgwNywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4NGQsMHg3OSwweDRmLDB4MGEsMHgwYX0gfSwKLXsgIDExLDB4NDZiNCwwLHsweDA5LDB4MDAsMHgwMSwweDA5LDB4MDIsMHgwMywweDA0LDB4MDUsMHgwNiwweDA3LDB4MDh9IH0sCi17ICAgMSwweDQ2YmYsMCx7MHgwMH0gfSwKLXsgIDE2LDB4NDZjMCwwLHsweDEyLDB4MGEsMHhjZCwweDkwLDB4N2YsMHhhNSwweGUwLDB4ZjUsMHgyMSwweGU1LDB4MjEsMHg1NCwweDAxLDB4ZjUsMHgyMSwweDY0fSB9LAoteyAgMTYsMHg0NmQwLDAsezB4MDEsMHg2MCwweDI4LDB4ZTUsMHgyMiwweDY0LDB4MDEsMHg3MCwweDIyLDB4OTAsMHg3ZiwweGE1LDB4ZTAsMHhmNSwweDIxLDB4NTR9IH0sCi17ICAxNiwweDQ2ZTAsMCx7MHgwMiwweGY1LDB4MjEsMHg3MCwweDAzLDB4NzUsMHgyMiwweDAxLDB4OTAsMHg3ZiwweGE1LDB4ZTAsMHhmNSwweDIxLDB4NTQsMHgwNH0gfSwKLXsgIDEyLDB4NDZmMCwwLHsweGZmLDB4ZjUsMHgyMSwweGJmLDB4MDQsMHhkMywweDc1LDB4MjIsMHgwMSwweDgwLDB4Y2UsMHgyMn0gfSwKLXsgICA0LDB4NDZmYywwLHsweDUzLDB4ZDgsMHhmNywweDMyfSB9LAoteyAgMTYsMHg0NzAwLDAsezB4MDIsMHg0OSwweGZhLDB4MDAsMHgwMiwweDNjLDB4NTQsMHgwMCwweDAyLDB4MTcsMHhlNCwweDAwLDB4MDIsMHg0YSwweDEyLDB4MDB9IH0sCi17ICAxNiwweDQ3MTAsMCx7MHgwMiwweDM3LDB4YTIsMHgwMCwweDAyLDB4NDcsMHhmZiwweDAwLDB4MDIsMHg0YSwweDQxLDB4MDAsMHgwMiwweDQ1LDB4OWYsMHgwMH0gfSwKLXsgIDE2LDB4NDcyMCwwLHsweDAyLDB4NDksMHg4ZSwweDAwLDB4MDIsMHg0OSwweGFiLDB4MDAsMHgwMiwweDRhLDB4NTgsMHgwMCwweDAyLDB4NGEsMHg2ZiwweDAwfSB9LAoteyAgMTYsMHg0NzMwLDAsezB4MDIsMHg0YSwweDg2LDB4MDAsMHgwMiwweDRhLDB4OWQsMHgwMCwweDAyLDB4NGEsMHhiNCwweDAwLDB4MDIsMHg0YSwweGNiLDB4MDB9IH0sCi17ICAxNiwweDQ3NDAsMCx7MHgwMiwweDRhLDB4ZTIsMHgwMCwweDAyLDB4NGEsMHhmOSwweDAwLDB4MDIsMHg0YiwweDEwLDB4MDAsMHgwMiwweDRiLDB4MjcsMHgwMH0gfSwKLXsgICA4LDB4NDc1MCwwLHsweDAyLDB4NGIsMHgzZSwweDAwLDB4MDIsMHg0YiwweDU1LDB4MDB9IH0sCi17ICAxNiwweDQ3NTgsMCx7MHhlNSwweDE4LDB4NzAsMHgxNCwweDkwLDB4NzksMHg4YywweGUwLDB4MDQsMHhmMCwweDkwLDB4NzksMHg4YiwweGUwLDB4YzMsMHg5NH0gfSwKLXsgIDE2LDB4NDc2OCwwLHsweDAwLDB4NDAsMHgxNSwweGUwLDB4MTQsMHhmMCwweDgwLDB4MTAsMHg5MCwweDc5LDB4OGIsMHhlMCwweDA0LDB4ZjAsMHhhMywweGUwfSB9LAoteyAgMTYsMHg0Nzc4LDAsezB4YzMsMHg5NCwweDAwLDB4NDAsMHgwMywweGUwLDB4MTQsMHhmMCwweDkwLDB4NzksMHg4YiwweGUwLDB4ZDMsMHg5NCwweDE0LDB4NDB9IH0sCi17ICAxNiwweDQ3ODgsMCx7MHgwNCwweGU0LDB4ZjUsMHgxOCwweGYwLDB4OTAsMHg3OSwweDhjLDB4ZTAsMHhkMywweDk0LDB4MTQsMHg0MCwweDA1LDB4NzUsMHgxOH0gfSwKLXsgICA0LDB4NDc5OCwwLHsweDAxLDB4ZTQsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0NzljLDAsezB4OTAsMHg3ZiwweGQ3LDB4ZTAsMHhmNSwweDMzLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNSwweDA5LDB4MTQsMHg2MCwweDExLDB4MTR9IH0sCi17ICAxNiwweDQ3YWMsMCx7MHg2MCwweDFiLDB4MjQsMHgwMiwweDcwLDB4MjQsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzksMHg2MiwweGYwLDB4ODAsMHgyMX0gfSwKLXsgIDE2LDB4NDdiYywwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3OSwweDYzLDB4ZjAsMHgxMiwweDEwLDB4MDAsMHg4MCwweDE0LDB4OTAsMHg3ZiwweGVhfSB9LAoteyAgMTYsMHg0N2NjLDAsezB4ZTAsMHg5MCwweDc5LDB4NjQsMHhmMCwweDEyLDB4MjgsMHgwMSwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAgMiwweDQ3ZGMsMCx7MHhmMCwweGQzfSB9LAoteyAgIDEsMHg0N2RlLDAsezB4MjJ9IH0sCi17ICAxNiwweDQ3ZGYsMCx7MHg5MCwweDc5LDB4NzgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4MzMsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4YTIsMHhhZn0gfSwKLXsgIDE2LDB4NDdlZiwwLHsweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgIDEsMHg0N2ZmLDAsezB4MzJ9IH0sCi17ICAgMiwweDQ4MDAsMCx7MHg4ZiwweDM2fSB9LAoteyAgMTYsMHg0ODAyLDAsezB4ZTQsMHhmNSwweDM3LDB4NzUsMHgzOCwweGZmLDB4NzUsMHgzOSwweDA3LDB4NzUsMHgzYSwweDAxLDB4YWIsMHgzOCwweGFhLDB4Mzl9IH0sCi17ICAxNiwweDQ4MTIsMCx7MHhhOSwweDNhLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4YjQsMHgwMywweDFmLDB4YWYsMHgzNywweDA1LDB4MzcsMHhlZn0gfSwKLXsgIDE2LDB4NDgyMiwwLHsweDY1LDB4MzYsMHg3MCwweDAxLDB4MjIsMHgxMiwweDBjLDB4NDQsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2EsMHhjOSwweGVmfSB9LAoteyAgMTYsMHg0ODMyLDAsezB4YzksMHg3NSwweDM4LDB4ZmYsMHhmNSwweDM5LDB4ODksMHgzYSwweDgwLDB4ZDIsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9IH0sCi17ICAgMSwweDQ4NDIsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDg0MywwLHsweDMwLDB4MjYsMHgyZiwweGMyLDB4MjYsMHg5MCwweDc5LDB4MmQsMHhlMCwweGZmLDB4YjQsMHgwMSwweDA5LDB4ZTQsMHhmNSwweDBjfSB9LAoteyAgMTYsMHg0ODUzLDAsezB4NzUsMHgwZCwweGY4LDB4NzUsMHgwZSwweDBhLDB4ZWYsMHhiNCwweDAyLDB4MDksMHhlNCwweGY1LDB4MGMsMHg3NSwweDBkLDB4ZjB9IH0sCi17ICAxNiwweDQ4NjMsMCx7MHg3NSwweDBlLDB4MGIsMHhlZiwweGI0LDB4MDMsMHgwOSwweGU0LDB4ZjUsMHgwYywweDc1LDB4MGQsMHhmOCwweDc1LDB4MGUsMHgxN30gfSwKLXsgICAzLDB4NDg3MywwLHsweGQyLDB4MjIsMHgyMn0gfSwKLXsgIDE2LDB4NDg3NiwwLHsweDMwLDB4MjUsMHgyZiwweGMyLDB4MjUsMHg5MCwweDc5LDB4MmQsMHhlMCwweGZmLDB4YjQsMHgwMSwweDA5LDB4NzUsMHgwYywweGMwfSB9LAoteyAgMTYsMHg0ODg2LDAsezB4NzUsMHgwZCwweDE0LDB4NzUsMHgwZSwweDBiLDB4ZWYsMHhiNCwweDAyLDB4MDksMHhlNCwweGY1LDB4MGMsMHg3NSwweDBkLDB4MTB9IH0sCi17ICAxNiwweDQ4OTYsMCx7MHg3NSwweDBlLDB4MGMsMHhlZiwweGI0LDB4MDMsMHgwOSwweGU0LDB4ZjUsMHgwYywweDc1LDB4MGQsMHgxOCwweDc1LDB4MGUsMHgxOH0gfSwKLXsgICAzLDB4NDhhNiwwLHsweGQyLDB4MjIsMHgyMn0gfSwKLXsgIDE2LDB4NDhhOSwwLHsweGU0LDB4ZjUsMHgzMiwweDEyLDB4MGYsMHg1MCwweDIwLDB4MmUsMHgxMCwweGU1LDB4MzIsMHhjMywweDk0LDB4MDIsMHg1MCwweDA5fSB9LAoteyAgMTYsMHg0OGI5LDAsezB4MDUsMHgzMiwweGQyLDB4MzAsMHgxMiwweDQ5LDB4MDUsMHg4MCwweGVkLDB4MzAsMHgyZSwweDA1LDB4MTIsMHgxNCwweDU3LDB4YzJ9IH0sCi17ICAxNSwweDQ4YzksMCx7MHgyZSwweDMwLDB4MmQsMHgwNiwweDEyLDB4MDcsMHg5YSwweDEyLDB4NDgsMHhkOSwweDEyLDB4NDAsMHgwMCwweDgwLDB4ZWF9IH0sCi17ICAgMSwweDQ4ZDgsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDhkOSwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4ZjUsMHgxZCwweDU0LDB4ODAsMHhmNSwweDFkLDB4NjQsMHg4MCwweDcwLDB4MWQsMHhjMiwweGFmfSB9LAoteyAgMTYsMHg0OGU5LDAsezB4ZTAsMHg0NCwweDgwLDB4ZjAsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDdmLDB4MGMsMHg3ZSwweDAwLDB4MTIsMHg0YiwweDZjLDB4OTB9IH0sCi17ICAxMiwweDQ4ZjksMCx7MHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg1MywweDg3LDB4ZmUsMHhkMiwweGFmLDB4MjJ9IH0sCi17ICAxNiwweDQ5MDUsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGUwLDB4NDQsMHgwOCwweGYwLDB4MzAsMHgzMCwweDA0LDB4ZTAsMHg0NH0gfSwKLXsgIDE2LDB4NDkxNSwwLHsweDAyLDB4ZjAsMHg3ZiwweGRjLDB4N2UsMHgwNSwweDEyLDB4NGIsMHg2YywweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmNywweGYwfSB9LAoteyAgIDUsMHg0OTI1LDAsezB4ZTAsMHg0NCwweDA0LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDkyYSwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDE0LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgwNCwweDEyfSB9LAoteyAgMTYsMHg0OTNhLDAsezB4NDYsMHgwMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9IH0sCi17ICAgMywweDQ5NGEsMCx7MHgwMSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ5NGQsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxMywweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDA0LDB4MTIsMHg0NX0gfSwKLXsgIDE2LDB4NDk1ZCwwLHsweDNiLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSB9LAoteyAgIDIsMHg0OTZkLDAsezB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDk2ZiwwLHsweGU0LDB4ZmYsMHg3NCwweGU4LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDk2fSB9LAoteyAgMTQsMHg0OTdmLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhlNH0gfSwKLXsgICAxLDB4NDk4ZCwwLHsweDIyfSB9LAoteyAgMTYsMHg0OThlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAyLDB4ZjB9IH0sCi17ICAxMywweDQ5OWUsMCx7MHg5MCwweDdmLDB4YjcsMHg3NCwweDAzLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NDlhYiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwMiwweGYwfSB9LAoteyAgMTMsMHg0OWJiLDAsezB4OTAsMHg3ZiwweGM3LDB4NzQsMHgwMywweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDQ5YzgsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDMwLDB4ZTcsMHgxMiwweGUwLDB4NDQsMHgwMSwweGYwLDB4N2YsMHgxNCwweDdlLDB4MDAsMHgxMn0gfSwKLXsgIDEwLDB4NDlkOCwwLHsweDRiLDB4NmMsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0OWUyLDAsezB4ZTQsMHhmNSwweDFhLDB4NzUsMHgxYiwweDAxLDB4OTAsMHg3OSwweDkxLDB4MDQsMHhmMCwweGEzLDB4ZjAsMHhlNCwweGEzLDB4ZjB9IH0sCi17ICAgOCwweDQ5ZjIsMCx7MHhhMywweDc0LDB4MGEsMHhmMCwweGU0LDB4YTMsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0OWZhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyZSwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9IH0sCi17ICAgOCwweDRhMGEsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTEyLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyZCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDh9IH0sCi17ICAgOCwweDRhMjIsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTJhLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNSwweDA4LDB4ZTQsMHg5MCwweDc5LDB4NjIsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4OTB9IH0sCi17ICAgNywweDRhM2EsMCx7MHg3OSwweDY2LDB4ZjAsMHhhMywweGYwLDB4ZDMsMHgyMn0gfSwKLXsgIDE2LDB4NGE0MSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDcsMHg0YTUxLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhNTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDQsMHhmMH0gfSwKLXsgICA3LDB4NGE2OCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTZmLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA0LDB4ZjB9IH0sCi17ICAgNywweDRhN2YsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGE4NiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwOCwweGYwfSB9LAoteyAgIDcsMHg0YTk2LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhOWQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDgsMHhmMH0gfSwKLXsgICA3LDB4NGFhZCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YWI0LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDEwLDB4ZjB9IH0sCi17ICAgNywweDRhYzQsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGFjYiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgxMCwweGYwfSB9LAoteyAgIDcsMHg0YWRiLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhZTIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MjAsMHhmMH0gfSwKLXsgICA3LDB4NGFmMiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YWY5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDIwLDB4ZjB9IH0sCi17ICAgNywweDRiMDksMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGIxMCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg0MCwweGYwfSB9LAoteyAgIDcsMHg0YjIwLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiMjcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4NDAsMHhmMH0gfSwKLXsgICA3LDB4NGIzNywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YjNlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDgwLDB4ZjB9IH0sCi17ICAgNywweDRiNGUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGI1NSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg4MCwweGYwfSB9LAoteyAgIDcsMHg0YjY1LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiNmMsMCx7MHg4ZSwweDMzLDB4OGYsMHgzNCwweGU1LDB4MzQsMHgxNSwweDM0LDB4YWUsMHgzMywweDcwLDB4MDIsMHgxNSwweDMzLDB4NGUsMHg2MH0gfSwKLXsgICA3LDB4NGI3YywwLHsweDA1LDB4MTIsMHgwNywweDg5LDB4ODAsMHhlZSwweDIyfSB9LAoteyAgMTUsMHg0YjgzLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweGZmLDB4MDQsMHgxMiwweDMwLDB4MDAsMHgyMiwweDEyLDB4MzYsMHgwZSwweDIyfSB9LAoteyAgMTQsMHg0YjkyLDAsezB4YzAsMHhlMCwweGMyLDB4OGIsMHhkMiwweDI0LDB4MzAsMHgyMywweDAyLDB4YzIsMHgyMywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE0LDB4NGJhMCwwLHsweDkwLDB4N2YsMHgwMCwweGU1LDB4MDgsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweGQzLDB4MjJ9IH0sCi17ICAgOSwweDRiYWUsMCx7MHgzMCwweDI0LDB4MDUsMHhjMiwweDI0LDB4NzUsMHgxOCwweDAxLDB4MjJ9IH0sCi17ICAgOSwweDRiYjcsMCx7MHgzMCwweDIzLDB4MDUsMHhjMiwweDIzLDB4ZTQsMHhmNSwweDE4LDB4MjJ9IH0sCi17ICAgNywweDRiYzAsMCx7MHg1MywweGMwLDB4ZmUsMHg1MywweGMwLDB4ZmQsMHgzMn0gfSwKLXsgICA2LDB4NGJjNywwLHsweDUzLDB4OTEsMHg3ZiwweGQyLDB4MjUsMHgzMn0gfSwKLXsgICA1LDB4NGJjZCwwLHsweGMyLDB4ODksMHhkMiwweDIzLDB4MzJ9IH0sCi17ICAgMywweDRiZDIsMCx7MHhjMiwweDhkLDB4MzJ9IH0sCi17ICAgMywweDRiZDUsMCx7MHhjMiwweDhmLDB4MzJ9IH0sCi17ICAgMiwweDRiZDgsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmRhLDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJkYywwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZGUsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmUwLDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJlMiwwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZTQsMCx7MHhjMywweDIyfSB9LAoteyAgIDEsMHg0YmU2LDAsezB4MjJ9IH0sCi17ICAgMCwweDAwMDAsMSx7MCB9fQotfTsKLS8qCi1WRVJTSU9OPTEuMC4yLjkxNgotREFURT0xMi4wMi4yMDAyCi0qLwotLyoKLSAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKLSAqCi0gKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKLSAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAotICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKLSAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KLSAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKLSAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKLSAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKLSAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCi0gKi8KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfTG9hZGVyW10gPSB7Ci17ICAgMywweDAwMDAsMCx7MHgwMiwweDAzLDB4MWN9IH0sCi17ICAgMywweDAwNDMsMCx7MHgwMiwweDA0LDB4MDB9IH0sCi17ICAxNiwweDAxMDAsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4NWIsMHg2MCwweDYwLDB4MjQsMHgwMiwweDYwLDB4MDMsMHgwMiwweDAxLDB4YmUsMHg5MH0gfSwKLXsgIDE2LDB4MDExMCwwLHsweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1LDB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwfSB9LAoteyAgMTYsMHgwMTIwLDAsezB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjUsMHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTV9IH0sCi17ICAxNiwweDAxMzAsMCx7MHgxNiwweDQ1LDB4MTUsMHg3MCwweDAzLDB4MDIsMHgwMSwweGJlLDB4ZTQsMHg5MCwweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDE2LDB4MDE0MCwwLHsweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjLDB4MTIsMHgwMiwweDc3LDB4YWYsMHgwYywweDdlfSB9LAoteyAgMTYsMHgwMTUwLDAsezB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjUsMHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjV9IH0sCi17ICAxNiwweDAxNjAsMCx7MHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGM3LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNX0gfSwKLXsgIDE2LDB4MDE3MCwwLHsweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1fSB9LAoteyAgMTYsMHgwMTgwLDAsezB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1LDB4MTYsMHg0NSwweDE1LDB4NjAsMHgzMCwweGU0LDB4OTB9IH0sCi17ICAxNiwweDAxOTAsMCx7MHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwY30gfSwKLXsgIDE2LDB4MDFhMCwwLHsweDEyLDB4MDIsMHg4ZiwweGFmLDB4MGMsMHg3ZSwweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1fSB9LAoteyAgMTUsMHgwMWIwLDAsezB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1LDB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjYSwweGMzfSB9LAoteyAgIDEsMHgwMWJmLDAsezB4MjJ9IH0sCi17ICAxNiwweDAxYzAsMCx7MHhjMiwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDgsMHgyMCwweDkwLDB4N2YsMHhhYiwweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2YsMHhhOX0gfSwKLXsgIDE2LDB4MDFkMCwwLHsweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4OTUsMHhlMCwweDQ0LDB4YzAsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgwMWUwLDAsezB4N2YsMHg5OCwweGUwLDB4NDQsMHhjMCwweGYwLDB4OTAsMHg3ZiwweDllLDB4ZTAsMHg0NCwweGMwLDB4ZjAsMHhlNCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDAxZjAsMCx7MHg5NCwweGYwLDB4OTAsMHg3ZiwweDlkLDB4ZTAsMHg0NCwweDBmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4ZjAsMHhmMH0gfSwKLXsgIDE2LDB4MDIwMCwwLHsweDkwLDB4N2YsMHhhZiwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDBkLDB4ZjAsMHhkMiwweGFmfSB9LAoteyAgMTYsMHgwMjEwLDAsezB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGYwLDB4ZjAsMHgyMCwweDIwLDB4NDIsMHg3NSwweDE0LDB4MDAsMHg3NSwweDEzLDB4MDB9IH0sCi17ICAxNiwweDAyMjAsMCx7MHg3NSwweDEyLDB4MDAsMHg3NSwweDExLDB4MDAsMHg3ZiwweDQ4LDB4N2UsMHg5MiwweDdkLDB4MDAsMHg3YywweDAwLDB4YWIsMHgxNH0gfSwKLXsgIDE2LDB4MDIzMCwwLHsweGFhLDB4MTMsMHhhOSwweDEyLDB4YTgsMHgxMSwweGMzLDB4MTIsMHgwNCwweDlhLDB4NTAsMHhkYiwweDIwLDB4MjAsMHhkOCwweDdhfSB9LAoteyAgMTYsMHgwMjQwLDAsezB4MDAsMHg3OSwweDAwLDB4NzgsMHgwMCwweGU1LDB4MTQsMHgyNCwweDAxLDB4ZjUsMHgxNCwweGVhLDB4MzUsMHgxMywweGY1LDB4MTN9IH0sCi17ICAxNiwweDAyNTAsMCx7MHhlOSwweDM1LDB4MTIsMHhmNSwweDEyLDB4ZTgsMHgzNSwweDExLDB4ZjUsMHgxMSwweDgwLDB4Y2EsMHgzMCwweDIwLDB4ZmQsMHgxMn0gfSwKLXsgIDE2LDB4MDI2MCwwLHsweDAxLDB4MDAsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSB9LAoteyAgIDYsMHgwMjcwLDAsezB4MDIsMHhmMCwweGMyLDB4MjAsMHg4MCwweGU2fSB9LAoteyAgIDEsMHgwMjc2LDAsezB4MjJ9IH0sCi17ICAxNiwweDAyNzcsMCx7MHhlNSwweDBjLDB4ZmYsMHhlNSwweDBiLDB4ZjUsMHg4MiwweGU1LDB4MGEsMHhmNSwweDgzLDB4NzUsMHg5MiwweDdlLDB4NzQsMHhjMH0gfSwKLXsgICA4LDB4MDI4NywwLHsweGY4LDB4ZTIsMHgwOCwweGYwLDB4YTMsMHhkZiwweGZhLDB4MjJ9IH0sCi17ICAxNiwweDAyOGYsMCx7MHg5MCwweDdmLDB4OTYsMHg4NSwweDgzLDB4OTIsMHhhOCwweDgyLDB4NzksMHgwMiwweDkwLDB4MDAsMHgwMCwweGUwLDB4YjQsMHgwMH0gfSwKLXsgIDE2LDB4MDI5ZiwwLHsweDM3LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDkzLDB4ZTAsMHg1NCwweGZjLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0fSB9LAoteyAgMTYsMHgwMmFmLDAsezB4ZmMsMHhmMCwweDkwLDB4N2YsMHg5YywweGUwLDB4NDQsMHgwMywweGYwLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg1NCwweDdmLDB4ZjB9IH0sCi17ICAxNiwweDAyYmYsMCx7MHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg5ZCwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDJjZiwwLHsweDk3LDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg0NCwweDgwLDB4ZjAsMHhlNSwweDBjLDB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGY1fSB9LAoteyAgMTYsMHgwMmRmLDAsezB4MjgsMHhlNCwweGEyLDB4NDcsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NiwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTR9IH0sCi17ICAxNiwweDAyZWYsMCx7MHhhMiwweDQ1LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDQsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0M30gfSwKLXsgIDE2LDB4MDJmZiwwLHsweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQyLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDEsMHgzMywweGYyfSB9LAoteyAgMTMsMHgwMzBmLDAsezB4NjksMHhmMiwweGU0LDB4YTIsMHg0MCwweDMzLDB4ZjIsMHg2OSwweGYyLDB4YTMsMHhkZiwweGMyLDB4MjJ9IH0sCi17ICAxMiwweDAzMWMsMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MjksMHgwMiwweDAzLDB4NjN9IH0sCi17ICAxNiwweDAzMjgsMCx7MHgwMiwweDAxLDB4YzAsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn0gfSwKLXsgIDE2LDB4MDMzOCwwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfSB9LAoteyAgMTYsMHgwMzQ4LDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9IH0sCi17ICAxNiwweDAzNTgsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwNCwweDg0LDB4ZTQsMHg3ZX0gfSwKLXsgIDE2LDB4MDM2OCwwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfSB9LAoteyAgMTYsMHgwMzc4LDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9IH0sCi17ICAxNiwweDAzODgsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX0gfSwKLXsgIDE2LDB4MDM5OCwwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfSB9LAoteyAgMTYsMHgwM2E4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3ZiwweGM0LDB4ZTQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2Z9IH0sCi17ICAxMSwweDAzYjgsMCx7MHhhYiwweDc0LDB4MDQsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgwM2MzLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9IH0sCi17ICAgOCwweDAzZDMsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgwM2RiLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZDB9IH0sCi17ICAgNiwweDAzZWIsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAgMSwweDAzZjEsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmMiwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2YzLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjQsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmNSwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y2LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjcsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmOCwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y5LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmEsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmYiwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZjLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmQsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmZSwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZmLDAsezB4MzJ9IH0sCi17ICAxNiwweDA0MDAsMCx7MHgwMiwweDAzLDB4YzMsMHgwMCwweDAyLDB4MDMsMHhkYiwweDAwLDB4MDIsMHgwMywweGE4LDB4MDAsMHgwMiwweDA0LDB4NmUsMHgwMH0gfSwKLXsgIDE2LDB4MDQxMCwwLHsweDAyLDB4MDQsMHg1OCwweDAwLDB4MDIsMHgwMywweGYxLDB4MDAsMHgwMiwweDAzLDB4ZjIsMHgwMCwweDAyLDB4MDMsMHhmMywweDAwfSB9LAoteyAgMTYsMHgwNDIwLDAsezB4MDIsMHgwMywweGY0LDB4MDAsMHgwMiwweDAzLDB4ZjUsMHgwMCwweDAyLDB4MDMsMHhmNiwweDAwLDB4MDIsMHgwMywweGY3LDB4MDB9IH0sCi17ICAxNiwweDA0MzAsMCx7MHgwMiwweDAzLDB4ZjgsMHgwMCwweDAyLDB4MDMsMHhmOSwweDAwLDB4MDIsMHgwMywweGZhLDB4MDAsMHgwMiwweDAzLDB4ZmIsMHgwMH0gfSwKLXsgIDE2LDB4MDQ0MCwwLHsweDAyLDB4MDMsMHhmYywweDAwLDB4MDIsMHgwMywweGZkLDB4MDAsMHgwMiwweDAzLDB4ZmUsMHgwMCwweDAyLDB4MDMsMHhmZiwweDAwfSB9LAoteyAgIDgsMHgwNDUwLDAsezB4MDIsMHgwNCwweGFiLDB4MDAsMHgwMiwweDA0LDB4YWMsMHgwMH0gfSwKLXsgIDE2LDB4MDQ1OCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweGQwfSB9LAoteyAgIDYsMHgwNDY4LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgwNDZlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOCwweGYwLDB4ZDB9IH0sCi17ICAgNiwweDA0N2UsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDA0ODQsMCx7MHgwMiwweDBhLDB4MDAsMHgwZiwweDAxLDB4MGMsMHgxMSwweDA0LDB4MGQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQxLDB4MDAsMHgwMH0gfSwKLXsgICAxLDB4MDQ5NCwwLHsweDAwfSB9LAoteyAgIDQsMHgwNDk1LDAsezB4MDIsMHgxNywweDAwLDB4MDB9IH0sCi17ICAgMSwweDA0OTksMCx7MHgwMH0gfSwKLXsgIDE2LDB4MDQ5YSwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfSB9LAoteyAgIDEsMHgwNGFhLDAsezB4MjJ9IH0sCi17ICAgMSwweDA0YWIsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDRhYywwLHsweDMyfSB9LAoteyAgMTYsMHgxMTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDExMTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweDIwLDB4MDAsMHgwMSwweDAxLDB4MDMsMHhhMCwweDAwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MTEyMCwwLHsweGZmLDB4MDAsMHgwMCwweDA0LDB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwfSB9LAoteyAgMTYsMHgxMTMwLDAsezB4MDAsMHgwMCwweDA0LDB4MDMsMHgwOSwweDA0LDB4MjYsMHgwMywweDQxLDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDY4LDB4MDB9IH0sCi17ICAxNiwweDExNDAsMCx7MHg2ZiwweDAwLDB4NzIsMHgwMCwweDIwLDB4MDAsMHg0MywweDAwLDB4NjgsMHgwMCwweDY5LDB4MDAsMHg3MCwweDAwLDB4NzMsMHgwMH0gfSwKLXsgIDE2LDB4MTE1MCwwLHsweDJjLDB4MDAsMHgyMCwweDAwLDB4NDksMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4MmUsMHgwMCwweDI4LDB4MDMsMHg0NiwweDAwfSB9LAoteyAgMTYsMHgxMTYwLDAsezB4NjksMHgwMCwweDcyLDB4MDAsMHg2ZCwweDAwLDB4NzcsMHgwMCwweDYxLDB4MDAsMHg3MiwweDAwLDB4NjUsMHgwMCwweDIwLDB4MDB9IH0sCi17ICAxNiwweDExNzAsMCx7MHg0NiwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg2ZCwweDAwLDB4NjUsMHgwMCwweDU3LDB4MDAsMHg2ZiwweDAwLDB4NzIsMHgwMH0gfSwKLXsgIDE2LDB4MTE4MCwwLHsweDZiLDB4MDAsMHg3MywweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwfSB9LAoteyAgMTYsMHgxMTkwLDAsezB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0LDB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDB9IH0sCi17ICAxNiwweDExYTAsMCx7MHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MjIsMHgwM30gfSwKLXsgIDE2LDB4MTFiMCwwLHsweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwfSB9LAoteyAgMTYsMHgxMWMwLDAsezB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDB9IH0sCi17ICAgMiwweDExZDAsMCx7MHgwMCwweDAwfSB9LAoteyAgIDAsMHgwMDAwLDEsezAgfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyLmMgYi9kcml2ZXJzL3VzYi9taXNjL2VtaTYyLmMKaW5kZXggMWEyYjc5YS4uMjA4ODZjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Mi5jCisrKyBiL2RyaXZlcnMvdXNiL21pc2MvZW1pNjIuYwpAQCAtMTYsMTUgKzE2LDggQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotCi0jZGVmaW5lIE1BWF9JTlRFTF9IRVhfUkVDT1JEX0xFTkdUSCAxNgotdHlwZWRlZiBzdHJ1Y3QgX0lOVEVMX0hFWF9SRUNPUkQKLXsKLQlfX3UzMglsZW5ndGg7Ci0JX191MzIJYWRkcmVzczsKLQlfX3UzMgl0eXBlOwotCV9fdTgJZGF0YVtNQVhfSU5URUxfSEVYX1JFQ09SRF9MRU5HVEhdOwotfSBJTlRFTF9IRVhfUkVDT1JELCAqUElOVEVMX0hFWF9SRUNPUkQ7CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAKIC8qIGluY2x1ZGUgZmlybXdhcmUgKHZhcmlhYmxlcykqLwogCkBAIC0zMyw5ICsyNiw5IEBACiAvLyN1bmRlZiBTUERJRgkvKiBpZiB5b3Ugd2FudCBNSURJIHVuY29tbWVudCB0aGlzIGxpbmUgKi8gCiAKICNpZmRlZiBTUERJRgotIyAgaW5jbHVkZSAiZW1pNjJfZndfcy5oIiAvKiBzcGRpZiBmdyAqLworI2RlZmluZSBGSVJNV0FSRV9GVyAiZW1pNjIvc3BkaWYuZnciCiAjZWxzZQotIyAgaW5jbHVkZSAiZW1pNjJfZndfbS5oIiAvKiBtaWRpIGZ3ICovCisjZGVmaW5lIEZJUk1XQVJFX0ZXICJlbWk2Mi9taWRpLmZ3IgogI2VuZGlmCiAKICNkZWZpbmUgRU1JNjJfVkVORE9SX0lEIAkJMHgwODZhICAvKiBFbWFnaWMgU29mdC11bmQgSGFyZHdhcmUgR21CSCAqLwpAQCAtNDgsNyArNDEsOSBAQAogI2RlZmluZSBDUFVDU19SRUcJCTB4N0Y5MiAgLyogRVotVVNCIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3Rlci4gIEJpdCAwIGNvbnRyb2xzIDgwNTEgcmVzZXQgKi8gCiAjZGVmaW5lIElOVEVSTkFMX1JBTShhZGRyZXNzKSAgIChhZGRyZXNzIDw9IE1BWF9JTlRFUk5BTF9BRERSRVNTKQogCi1zdGF0aWMgaW50IGVtaTYyX3dyaXRlbWVtb3J5KCBzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwgX191OCBiUmVxdWVzdCk7CitzdGF0aWMgaW50IGVtaTYyX3dyaXRlbWVtb3J5KHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLAorCQkJICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLAorCQkJICAgICBfX3U4IGJSZXF1ZXN0KTsKIHN0YXRpYyBpbnQgZW1pNjJfc2V0X3Jlc2V0KHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIHVuc2lnbmVkIGNoYXIgcmVzZXRfYml0KTsKIHN0YXRpYyBpbnQgZW1pNjJfbG9hZF9maXJtd2FyZSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldik7CiBzdGF0aWMgaW50IGVtaTYyX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpOwpAQCAtNTgsNyArNTMsOSBAQAogCiAKIC8qIHRoYW5rcyB0byBkcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYyBjb2RlICovCi1zdGF0aWMgaW50IGVtaTYyX3dyaXRlbWVtb3J5IChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwgX191OCByZXF1ZXN0KQorc3RhdGljIGludCBlbWk2Ml93cml0ZW1lbW9yeShzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywKKwkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwKKwkJCSAgICAgX191OCByZXF1ZXN0KQogewogCWludCByZXN1bHQ7CiAJdW5zaWduZWQgY2hhciAqYnVmZmVyID0gIGttZW1kdXAoZGF0YSwgbGVuZ3RoLCBHRlBfS0VSTkVMKTsKQEAgLTkxLDkgKzg4LDEyIEBACiAKIHN0YXRpYyBpbnQgZW1pNjJfbG9hZF9maXJtd2FyZSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldikKIHsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmxvYWRlcl9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpiaXRzdHJlYW1fZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmVfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOwogCWludCBlcnI7CiAJaW50IGk7Ci0JaW50IHBvcyA9IDA7CS8qIFBvc2l0aW9uIGluIGhleCByZWNvcmQgKi8KIAlfX3UzMiBhZGRyOwkvKiBBZGRyZXNzIHRvIHdyaXRlICovCiAJX191OCAqYnVmOwogCkBAIC0xMDUsNiArMTA1LDIyIEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmxvYWRlcl9mdywgImVtaTYyL2xvYWRlci5mdyIsICZkZXYtPmRldik7CisJaWYgKGVycikKKwkJZ290byBub2Z3OworCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZiaXRzdHJlYW1fZncsICJlbWk2Mi9iaXRzdHJlYW0uZnciLAorCQkJCSAgICAmZGV2LT5kZXYpOworCWlmIChlcnIpCisJCWdvdG8gbm9mdzsKKworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZmlybXdhcmVfZncsIEZJUk1XQVJFX0ZXLCAmZGV2LT5kZXYpOworCWlmIChlcnIpIHsKKwlub2Z3OgorCQllcnIoICIlcyAtIHJlcXVlc3RfZmlybXdhcmUoKSBmYWlsZWQiLCBfX2Z1bmNfXyk7CisJCWdvdG8gd3JhcGVycjsKKwl9CisKIAkvKiBBc3NlcnQgcmVzZXQgKHN0b3AgdGhlIENQVSBpbiB0aGUgRU1JKSAqLwogCWVyciA9IGVtaTYyX3NldF9yZXNldChkZXYsMSk7CiAJaWYgKGVyciA8IDApIHsKQEAgLTExMiwxMyArMTI4LDE4IEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOworCiAJLyogMS4gV2UgbmVlZCB0byBwdXQgdGhlIGxvYWRlciBmb3IgdGhlIEZQR0EgaW50byB0aGUgRVotVVNCICovCi0JZm9yIChpPTA7IGdfZW1pNjJfbG9hZGVyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19lbWk2Ml9sb2FkZXJbaV0uYWRkcmVzcywgZ19lbWk2Ml9sb2FkZXJbaV0uZGF0YSwgZ19lbWk2Ml9sb2FkZXJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJd2hpbGUgKHJlYykgeworCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJZ290byB3cmFwZXJyOwogCQl9CisJCXJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsKIAl9CiAKIAkvKiBEZS1hc3NlcnQgcmVzZXQgKGxldCB0aGUgQ1BVIHJ1bikgKi8KQEAgLTEzMiwxNSArMTUzLDE2IEBACiAJLyogMi4gV2UgdXBsb2FkIHRoZSBGUEdBIGZpcm13YXJlIGludG8gdGhlIEVNSQogCSAqIE5vdGU6IGNvbGxlY3QgdXAgdG8gMTAyMyAoeWVzISkgYnl0ZXMgYW5kIHNlbmQgdGhlbSB3aXRoCiAJICogYSBzaW5nbGUgcmVxdWVzdC4gVGhpcyBpcyBfbXVjaF8gZmFzdGVyISAqLworCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKiliaXRzdHJlYW1fZnctPmRhdGE7CiAJZG8gewogCQlpID0gMDsKLQkJYWRkciA9IGdfZW1pNjJic1twb3NdLmFkZHJlc3M7CisJCWFkZHIgPSBiZTMyX3RvX2NwdShyZWMtPmFkZHIpOwogCiAJCS8qIGludGVsIGhleCByZWNvcmRzIGFyZSB0ZXJtaW5hdGVkIHdpdGggdHlwZSAwIGVsZW1lbnQgKi8KLQkJd2hpbGUgKChnX2VtaTYyYnNbcG9zXS50eXBlID09IDApICYmIChpICsgZ19lbWk2MmJzW3Bvc10ubGVuZ3RoIDwgRldfTE9BRF9TSVpFKSkgewotCQkJbWVtY3B5KGJ1ZiArIGksIGdfZW1pNjJic1twb3NdLmRhdGEsIGdfZW1pNjJic1twb3NdLmxlbmd0aCk7Ci0JCQlpICs9IGdfZW1pNjJic1twb3NdLmxlbmd0aDsKLQkJCXBvcysrOworCQl3aGlsZSAocmVjICYmIChpICsgYmUxNl90b19jcHUocmVjLT5sZW4pIDwgRldfTE9BRF9TSVpFKSkgeworCQkJbWVtY3B5KGJ1ZiArIGksIHJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKKwkJCWkgKz0gYmUxNl90b19jcHUocmVjLT5sZW4pOworCQkJcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOwogCQl9CiAJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgYWRkciwgYnVmLCBpLCBBTkNIT1JfTE9BRF9GUEdBKTsKIAkJaWYgKGVyciA8IDApIHsKQEAgLTE1Nyw4ICsxNzksMTEgQEAKIAl9CiAKIAkvKiAzLiBXZSBuZWVkIHRvIHB1dCB0aGUgbG9hZGVyIGZvciB0aGUgZmlybXdhcmUgaW50byB0aGUgRVotVVNCIChhZ2Fpbi4uLikgKi8KLQlmb3IgKGk9MDsgZ19lbWk2Ml9sb2FkZXJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX2VtaTYyX2xvYWRlcltpXS5hZGRyZXNzLCBnX2VtaTYyX2xvYWRlcltpXS5kYXRhLCBnX2VtaTYyX2xvYWRlcltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJZ290byB3cmFwZXJyOwpAQCAtMTc1LDI5ICsyMDAsMTkgQEAKIAogCS8qIDQuIFdlIHB1dCB0aGUgcGFydCBvZiB0aGUgZmlybXdhcmUgdGhhdCBsaWVzIGluIHRoZSBleHRlcm5hbCBSQU0gaW50byB0aGUgRVotVVNCICovCiAKLS8qIEZJWE1FOiBxdWljayBhbmQgZGlydHkgaWZkZWZzICovCi0jaWZkZWYgU1BESUYKLQlmb3IgKGk9MDsgZ19IZXhTcGRpZkZ3NjJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKCFJTlRFUk5BTF9SQU0oZ19IZXhTcGRpZkZ3NjJbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19IZXhTcGRpZkZ3NjJbaV0uYWRkcmVzcywgZ19IZXhTcGRpZkZ3NjJbaV0uZGF0YSwgZ19IZXhTcGRpZkZ3NjJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlpZiAoIUlOVEVSTkFMX1JBTShiZTMyX3RvX2NwdShyZWMtPmFkZHIpKSkgeworCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCQlBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CiAJCQlpZiAoZXJyIDwgMCkgewogCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQkJZ290byB3cmFwZXJyOwogCQkJfQogCQl9CiAJfQotI2Vsc2UgLyogTUlESSAqLwotCWZvciAoaT0wOyBnX0hleE1pZGlGdzYyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmICghSU5URVJOQUxfUkFNKGdfSGV4TWlkaUZ3NjJbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19IZXhNaWRpRnc2MltpXS5hZGRyZXNzLCBnX0hleE1pZGlGdzYyW2ldLmRhdGEsIGdfSGV4TWlkaUZ3NjJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9FWFRFUk5BTCk7Ci0JCQlpZiAoZXJyIDwgMCkgewotCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkXG4iLCBfX2Z1bmNfXywgZXJyKTsKLQkJCQlnb3RvIHdyYXBlcnI7Ci0JCQkJcmV0dXJuIGVycjsKLQkJCX0KLQkJfQotCX0KLSNlbmRpZgkKKwogCS8qIEFzc2VydCByZXNldCAoc3RvcCB0aGUgQ1BVIGluIHRoZSBFTUkpICovCiAJZXJyID0gZW1pNjJfc2V0X3Jlc2V0KGRldiwxKTsKIAlpZiAoZXJyIDwgMCkgewpAQCAtMjA1LDI5ICsyMjAsMTkgQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAotLyogRklYTUU6IHF1aWNrIGFuZCBkaXJ0eSBpZmRlZnMgKi8KLSNpZmRlZiBTUERJRgotCWZvciAoaT0wOyBnX0hleFNwZGlmRnc2MltpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoSU5URVJOQUxfUkFNKGdfSGV4U3BkaWZGdzYyW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfSGV4U3BkaWZGdzYyW2ldLmFkZHJlc3MsIGdfSGV4U3BkaWZGdzYyW2ldLmRhdGEsIGdfSGV4U3BkaWZGdzYyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJaWYgKElOVEVSTkFMX1JBTShiZTMyX3RvX2NwdShyZWMtPmFkZHIpKSkgeworCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCQlBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CiAJCQlpZiAoZXJyIDwgMCkgewogCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQkJZ290byB3cmFwZXJyOwogCQkJfQogCQl9CiAJfQotI2Vsc2UgLyogTUlESSAqLwotCWZvciAoaT0wOyBnX0hleE1pZGlGdzYyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmIChJTlRFUk5BTF9SQU0oZ19IZXhNaWRpRnc2MltpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX0hleE1pZGlGdzYyW2ldLmFkZHJlc3MsIGdfSGV4TWlkaUZ3NjJbaV0uZGF0YSwgZ19IZXhNaWRpRnc2MltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKLQkJCWlmIChlcnIgPCAwKSB7Ci0JCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWRcbiIsIF9fZnVuY19fLCBlcnIpOwotCQkJCWdvdG8gd3JhcGVycjsKLQkJCX0KLQkJfQotCX0KLSNlbmRpZgotCQorCiAJLyogRGUtYXNzZXJ0IHJlc2V0IChsZXQgdGhlIENQVSBydW4pICovCiAJZXJyID0gZW1pNjJfc2V0X3Jlc2V0KGRldiwwKTsKIAlpZiAoZXJyIDwgMCkgewpAQCAtMjM2LDYgKzI0MSwxMCBAQAogCX0KIAltc2xlZXAoMjUwKTsJLyogbGV0IGRldmljZSBzZXR0bGUgKi8KIAorCXJlbGVhc2VfZmlybXdhcmUobG9hZGVyX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGJpdHN0cmVhbV9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShmaXJtd2FyZV9mdyk7CisKIAlrZnJlZShidWYpOwogCiAJLyogcmV0dXJuIDEgdG8gZmFpbCB0aGUgZHJpdmVyIGluaWFsaXphdGlvbgpAQCAtMjQzLDYgKzI1MiwxMCBAQAogCXJldHVybiAxOwogCiB3cmFwZXJyOgorCXJlbGVhc2VfZmlybXdhcmUobG9hZGVyX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGJpdHN0cmVhbV9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShmaXJtd2FyZV9mdyk7CisKIAlrZnJlZShidWYpOwogCWRldl9lcnIoJmRldi0+ZGV2LCAiRXJyb3JcbiIpOwogCXJldHVybiBlcnI7CkBAIC0zMDAsNSArMzEzLDggQEAKIE1PRFVMRV9ERVNDUklQVElPTigiRW1hZ2ljIEVNSSA2fDJtIGZpcm13YXJlIGxvYWRlci4iKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJlbWk2Mi9sb2FkZXIuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZW1pNjIvYml0c3RyZWFtLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoRklSTVdBUkVfRlcpOwogLyogdmk6YWk6c3ludGF4PWM6c3c9ODp0cz04OnR3PTgwCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfbS5oIGIvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19tLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1NjdjOTAuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19tLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ODUzICswLDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20gdGhyZWUgZGlmZmVyZW50IGZpbGVzLCBwcm92aWRlZCBieSBFbWFnaWMuCi0gKi8KLS8qIGdlbmVyYXRlZCBUdWUgSnVuIDMgMjE6MzY6MTEgRUVTVCAyMDAzICovCi0KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfZW1pNjJic1tdPXsKLSAgMTYsIDB4ODAxMCwgMCwgezB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhhYSwweDk5LDB4NTUsMHg2NiwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDcgfSwKLSAgMTYsIDB4ODAyMCwgMCwgezB4MzAsMHgwMSwweDYwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwZCwweDMwLDB4MDEsMHgyMCwweDAxLDB4MDAsMHg4MCwweDNmLDB4MmQgfSwKLSAgMTYsIDB4ODAzMCwgMCwgezB4MzAsMHgwMCwweGMwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDkgfSwKLSAgMTYsIDB4ODA0MCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDEgfSwKLSAgMTYsIDB4ODA1MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MDAsMHg1MCwweDAwLDB4NTgsMHgxYSwweDgwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg0MCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA5MCwgMCwgezB4MDAsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDggfSwKLSAgMTYsIDB4ODBjMCwgMCwgezB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODEwMCwgMCwgezB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODEzMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE3MCwgMCwgezB4ODAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFhMCwgMCwgezB4MDAsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFlMCwgMCwgezB4N2YsMHgxMCwweDAwLDB4MzQsMHgwMCwweDBkLDB4MDAsMHgwMywweDQwLDB4MDAsMHhkMCwweDAwLDB4MzQsMHgwMCwweDA1LDB4MDAgfSwKLSAgMTYsIDB4ODFmMCwgMCwgezB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDc0LDB4MDAsMHgxZCwweDAwLDB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDc0LDB4MDAgfSwKLSAgMTYsIDB4ODIwMCwgMCwgezB4MWQsMHg4MCwweDA3LDB4ZTAsMHgwMSwweGI4LDB4MDAsMHg2ZSwweDAwLDB4MWIsMHg4MCwweDA2LDB4ZTAsMHgwMSwweDM4LDB4MzcgfSwKLSAgMTYsIDB4ODIxMCwgMCwgezB4YzQsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDgwLDB4ZmIsMHgzMCwweDM2LDB4YzggfSwKLSAgMTYsIDB4ODIyMCwgMCwgezB4NGUsMHgwOSwweDAzLDB4ZmMsMHg4NCwweGZmLDB4MTAsMHgzYiwweGMwLDB4MGUsMHhjOCwweDA3LDB4MjIsMHg4MCwweGZmLDB4MjIgfSwKLSAgMTYsIDB4ODIzMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4YzgsMHgzMywweDZlLDB4MDAsMHhmYiwweDgwLDB4M2YsMHgyMCwweDBkLDB4YzIsMHg1MywweGQ0LDB4ODAgfSwKLSAgMTYsIDB4ODI0MCwgMCwgezB4Y2MsMHgzYSwweDNmLDB4MDAsMHgwYywweGYxLDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODI1MCwgMCwgezB4ODAsMHgwMCwweGVkLDB4NjAsMHhiZiwweDYwLDB4MjMsMHhmMCwweDBkLDB4ODIsMHgxMiwweDNjLDB4NjAsMHg4ZiwweDcwLDB4MjMgfSwKLSAgMTYsIDB4ODI2MCwgMCwgezB4ZjAsMHgwOCwweDg4LDB4MDIsMHhhNSwweDQwLDB4YmYsMHhkMCwweDYzLDB4ZDYsMHgwYiwweDg4LDB4MDIsMHgyZSwweDBjLDB4YmIgfSwKLSAgMTYsIDB4ODI3MCwgMCwgezB4ODAsMHgyZSwweDIwLDB4ODgsMHg4ZCwweDAyLDB4ZTYsMHg0MCwweDgwLDB4NjAsMHgyZSwweDMwLDB4MGEsMHhiMSwweDEyLDB4MjAgfSwKLSAgMTYsIDB4ODI4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDgwLDB4YTMsMHg0MCwweDJjLDB4YzQgfSwKLSAgMTYsIDB4ODI5MCwgMCwgezB4NGEsMHgwMCwweDEyLDB4OGMsMHg4OCwweGEzLDB4MjIsMHgyMCwweGM0LDB4MGEsMHg5MCwweDQyLDB4MDQsMHhhOSwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ODJhMCwgMCwgezB4MjQsMHhjOCwweDhiLDB4ODAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MmUsMHgwMSwweDA5LDB4MDgsMHgwMiwweDg0LDB4MDAgfSwKLSAgMTYsIDB4ODJiMCwgMCwgezB4ODAsMHgyMCwweDJjLDB4MTAsMHgwYSwweDMyLDB4NDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODJjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDQsMHhiMywweDAwLDB4MmEsMHhjMCwweDA4LDB4MDgsMHhhMiwweDhjLDB4MDAsMHg4YiwweDAwLDB4YTIgfSwKLSAgMTYsIDB4ODJkMCwgMCwgezB4YzEsMHgxMCwweDk4LDB4NDIsMHhhNywweDAwLDB4YmIsMHgwMSwweDY2LDB4YzEsMHgwYiwweDgwLDB4MDIsMHhhYywweDA0LDB4YmIgfSwKLSAgMTYsIDB4ODJlMCwgMCwgezB4MDAsMHgyZSwweDAwLDB4MGIsMHhiOCwweDEyLDB4ZTQsMHgwMiwweDg5LDB4MDgsMHgwZSwweDQwLDB4MGEsMHhiMCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4ODJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhhYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ODMwMCwgMCwgezB4NGEsMHhiOCwweDIzLDB4ZWMsMHgxOCwweGViLDB4MDAsMHgzMiwweGMwLDB4MGUsMHgyYywweDEyLDB4MjIsMHgxMCwweGViLDB4MDAgfSwKLSAgMTYsIDB4ODMxMCwgMCwgezB4MjYsMHhjMCwweDRmLDB4MDAsMHg0MywweGVkLDB4MDAsMHhmYiwweDAwLDB4MmUsMHgyNCwweDBkLDB4ODAsMHgxMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4ODMyMCwgMCwgezB4YzgsMHhkMCwweDdjLDB4MTIsMHgwZSwweGIwLDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODMzMCwgMCwgezB4ZTEsMHgwMCwweGJjLDB4MDAsMHhmZiwweDAwLDB4MzUsMHhjMCwweDRmLDB4ZTAsMHgwMywweDdjLDB4MDgsMHhmZiwweDAxLDB4MTcgfSwKLSAgMTYsIDB4ODM0MCwgMCwgezB4YzIsMHg0ZCwweGMwLDB4MDMsMHhmNCwweDA4LDB4ZjcsMHgwMCwweDNiLDB4YzAsMHgwNywweGMwLDB4MDMsMHg3YywweDgwLDB4ZmYgfSwKLSAgMTYsIDB4ODM1MCwgMCwgezB4MjQsMHgzZiwweDQwLDB4MGMsMHhmMCwweDAxLDB4ZjQsMHgwNCwweGJjLDB4MDgsMHgzZiwweDI4LDB4MGYsMHhmMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4ODM2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDA4LDB4ZmIsMHgwNCwweDNhLDB4YzggfSwKLSAgMTYsIDB4ODM3MCwgMCwgezB4MGYsMHg5NCwweDAzLDB4ZWMsMHgxMCwweGYzLDB4MDAsMHgzNCwweGMwLDB4MGUsMHhiMCwweDAzLDB4NjEsMHgwNCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ODM4MCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YTMsMHgwMywweDJjLDB4ODAsMHhmYiwweDcyLDB4M2UsMHgwMiwweDBmLDB4OGEsMHgwMywweGU0LDB4MDIgfSwKLSAgMTYsIDB4ODM5MCwgMCwgezB4YzksMHg4MCwweDJhLDB4NTAsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODNhMCwgMCwgezB4Y2EsMHg0NCwweDNjLDB4MDAsMHhiZiwweDAwLDB4MDMsMHhjMCwweDA4LDB4ODAsMHgwMywweDdjLDB4MDAsMHhiZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ODNiMCwgMCwgezB4ZTIsMHgwOCwweDkwLDB4NDMsMHg2MCwweDAwLDB4YmYsMHgwMCwweDM3LDB4YzAsMHgwOCwweDkwLDB4MDEsMHg2ZCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4ODNjMCwgMCwgezB4NDAsMHgyYywweDEwLDB4MGIsMHhiMCwweDQyLDB4ZDcsMHhjMCwweDg5LDB4MDAsMHgyYSwweDdjLDB4MGIsMHhmMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ODNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUyLDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDUgfSwKLSAgMTYsIDB4ODNlMCwgMCwgezB4NGEsMHgwMCwweDAwLDB4MGMsMHgwNCwweDkzLDB4MDAsMHgwYywweGYwLDB4MGIsMHgwOSwweDAyLDB4MDgsMHgwMSwweGIzLDB4MjAgfSwKLSAgMTYsIDB4ODNmMCwgMCwgezB4MjgsMHhjMCwweDBhLDB4MGMsMHgwYSwweDBlLDB4MDAsMHhiMywweDAwLDB4MjQsMHgzMCwweDA5LDB4MDAsMHgwMiwweGM2LDB4MTAgfSwKLSAgMTYsIDB4ODQwMCwgMCwgezB4ODAsMHg0MiwweDIwLDB4MDAsMHg4YiwweGIwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQxMCwgMCwgezB4MjIsMHgwMSwweDFlLDB4MDAsMHhiNywweDk0LDB4MjEsMHhlNCwweDQ4LDB4ZDksMHgxMiwweDVlLDB4NDAsMHhiNywweDkwLDB4MjkgfSwKLSAgMTYsIDB4ODQyMCwgMCwgezB4ZTAsMHg4YiwweDY5LDB4MTIsMHhkNiwweDgwLDB4MzcsMHg4MiwweDJjLDB4ZTgsMHgwOCwweDRhLDB4MDIsMHg1ZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4ODQzMCwgMCwgezB4YTQsMHgyZCwweDIwLDB4MGIsMHg3OSwweDAyLDB4ZDYsMHgwOCwweDg2LDB4OTAsMHgyOSwweGEwLDB4MGIsMHg3OSwweDAyLDB4ZDggfSwKLSAgMTYsIDB4ODQ0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDAwLDB4ZmIsMHhhMCwweDI4LDB4ZTggfSwKLSAgMTYsIDB4ODQ1MCwgMCwgezB4MGUsMHgyYSwweDAyLDB4OGMsMHgwMCwweGQzLDB4MDAsMHg2NCwweGMwLDB4MGYsMHgwMCwweDQzLDB4MGUsMHhjNCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4ODQ2MCwgMCwgezB4NzgsMHhlYywweDBlLDB4MGEsMHg0MywweDBlLDB4MjAsMHg3MywweGUwLDB4M2MsMHgwMiwweDRmLDB4MDAsMHgwMywweGM0LDB4NDAgfSwKLSAgMTYsIDB4ODQ3MCwgMCwgezB4YzMsMHgwMCwweDM4LDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQ4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4YmMsMHhjYywweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhmYiwweDAwLDB4M2MgfSwKLSAgMTYsIDB4ODQ5MCwgMCwgezB4YzIsMHgwYywweDIwLDB4MDMsMHg2YywweDUwLDB4ZjMsMHgwMCwweDM2LDB4YzQsMHgwZiwweDQwLDB4MDMsMHhmYywweDA4LDB4ZmYgfSwKLSAgMTYsIDB4ODRhMCwgMCwgezB4MWEsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAxLDB4ZTQsMHgzMCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDYzLDB4ZDAgfSwKLSAgMTYsIDB4ODRiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweDQwLDB4ZmIsMHgwMCwweGIyLDB4ZDggfSwKLSAgMTYsIDB4ODRjMCwgMCwgezB4MGMsMHhiMCwweDAxLDB4MmQsMHgyMCwweGRiLDB4MDEsMHgzYSwweGM4LDB4OGMsMHgzOCwweDAzLDB4YTgsMHgwMCwweGZiLDB4NDggfSwKLSAgMTYsIDB4ODRkMCwgMCwgezB4M2UsMHhjOSwweDBmLDB4ODAsMHgwMywweGVjLDB4NDAsMHhmYiwweDAxLDB4M2UsMHgwMCwweDBmLDB4MDgsMHgwMywweGE0LDB4MDggfSwKLSAgMTYsIDB4ODRlMCwgMCwgezB4ZmEsMHg4MCwweGIyLDB4ODAsMHgwZiwweGIxLDB4MDIsMHg2YSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODRmMCwgMCwgezB4NDgsMHgxOSwweDFjLDB4ODAsMHhiZiwweDMwLDB4MjEsMHhjYSwweDA4LDB4ZjAsMHgwYSwweDBjLDB4ODAsMHg4ZiwweDUwLDB4MjEgfSwKLSAgMTYsIDB4ODUwMCwgMCwgezB4YzIsMHgwOCwweDcwLDB4NTAsMHg5YywweDAwLDB4YjcsMHgwMCwweDM5LDB4YzQsMHgwYiwweDQwLDB4MDIsMHg5YywweDA0LDB4YjcgfSwKLSAgMTYsIDB4ODUxMCwgMCwgezB4MjAsMHgyNSwweDQwLDB4MGIsMHg3MCwweDAyLDB4MTQsMHg4MCwweGI2LDB4MDAsMHgyMSwweDgwLDB4MGIsMHhmOCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ODUyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjcsMHhiMCwweDIxLDB4ZWMgfSwKLSAgMTYsIDB4ODUzMCwgMCwgezB4MGIsMHg3OCwweDEyLDB4ZGUsMHg4NCwweDk3LDB4ODAsMHgwZCwweGUwLDB4MjgsMHhmOCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4OTAgfSwKLSAgMTYsIDB4ODU0MCwgMCwgezB4MmQsMHhlNCwweDBiLDB4NjgsMHg4MiwweDVlLDB4ODAsMHhiNywweGEwLDB4MjksMHgyMCwweDBiLDB4NDgsMHgwMiwweDk2LDB4MDAgfSwKLSAgMTYsIDB4ODU1MCwgMCwgezB4YjcsMHg4MCwweDIxLDB4ZTEsMHgwYiwweDdhLDB4MDIsMHg3MCwweDQwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODU2MCwgMCwgezB4NDgsMHgwNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzgsMHgwMiwweDhjLDB4MDQsMHg4MywweDAwLDB4MjggfSwKLSAgMTYsIDB4ODU3MCwgMCwgezB4YzAsMHg4OCwweDM5LDB4MDIsMHg0YywweDQwLDB4YjMsMHgwNCwweDI4LDB4YzAsMHgxYiwweDEwLDB4MDIsMHg4YywweDAxLDB4YjMgfSwKLSAgMTYsIDB4ODU4MCwgMCwgezB4MDQsMHgyNCwweDg4LDB4NGIsMHgzMSwweDAyLDB4MDQsMHgwMCwweGIzLDB4ODAsMHgyMCwweGYyLDB4MGIsMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4ODU5MCwgMCwgezB4MjQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4ODVhMCwgMCwgezB4MGYsMHhlOCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDEsMHgzYSwweDgwLDB4OGMsMHhlZCwweDAzLDB4ZmIsMHgwNCwweGZhLDB4MDAgfSwKLSAgMTYsIDB4ODViMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4NmMsMHgwMywweGZiLDB4YzgsMHhiZSwweGMyLDB4MWYsMHg4MCwweDBmLDB4ZTUsMHgwMywweGE4LDB4MDAgfSwKLSAgMTYsIDB4ODVjMCwgMCwgezB4ZmUsMHg0OCwweDMzLDB4ODAsMHg0ZiwweGEwLDB4MDMsMHg3YSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODVkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2MsMHgwMCwweDBjLDB4ODEsMHg5MywweDYwLDB4MDAsMHhmOCwweDAxLDB4MzYgfSwKLSAgMTYsIDB4ODVlMCwgMCwgezB4MTAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDIwLDB4ZjgsMHgwMCwweDJhLDB4MDEsMHg4ZiwweDg0LDB4MTMsMHhlMSwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ODVmMCwgMCwgezB4MTgsMHgzNiwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzZSwweDE0LDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ODYwMCwgMCwgezB4ODAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNCwweDAwLDB4ZjEsMHgwMCwweGFhLDB4NDAgfSwKLSAgMTYsIDB4ODYxMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGUxLDB4MDAsMHgzOCwweDQwLDB4MWMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4YTAgfSwKLSAgMTYsIDB4ODYyMCwgMCwgezB4M2EsMHg0MCwweDQ3LDB4OWEsMHg5MywweGEyLDB4ODAsMHhmOCwweDEwLDB4M2UsMHg0MCwweDBiLDB4OTQsMHgwMywweGU2LDB4NDAgfSwKLSAgMTYsIDB4ODYzMCwgMCwgezB4ZjksMHhjMCwweDNlLDB4NjgsMHgwYiwweDEwLDB4MDMsMHgwMiwweDg0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODY0MCwgMCwgezB4ODAsMHgwNCwweGU0LDB4MDQsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDQsMHg4OSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4ODY1MCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4YjksMHg4MCwweDJlLDB4NDAsMHg0ZiwweDk0LDB4MDMsMHg2MSwweDEwLDB4ZTggfSwKLSAgMTYsIDB4ODY2MCwgMCwgezB4NDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQyLDB4ZTYsMHgwNCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ODY3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDQsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4ODY4MCwgMCwgezB4MGEsMHgxMCwweDUyLDB4MDQsMHgwNCwweGE5LDB4MDQsMHgyYSwweDQwLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDAgfSwKLSAgMTYsIDB4ODY5MCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE4LDB4MGQsMHhiOCwweDQwLDB4MmUsMHg0MCwweDA5LDB4OTQsMHgwMiwweGU1LDB4MDAgfSwKLSAgMTYsIDB4ODZhMCwgMCwgezB4YjksMHgwNCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODZiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDIwLDB4MjAsMHhjOCwweDBhLDB4MTAsMHg0MiwweDA0LDB4OTAsMHg4MSwweDIwLDB4MDQgfSwKLSAgMTYsIDB4ODZjMCwgMCwgezB4YzgsMHgwOCwweDMwLDB4MjYsMHhjNCwweDAwLDB4YjEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDkwLDB4MDIsMHg0NSwweDAxLDB4YjEgfSwKLSAgMTYsIDB4ODZkMCwgMCwgezB4NDAsMHgyYywweDQwLDB4MGIsMHgxMiwweDgyLDB4YzQsMHgwMCwweGIxLDB4MmIsMHgyYywweDRhLDB4MGIsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4ODZlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDgsMHgyMSwweDQ4LDB4ZjgsMHg1MCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ODZmMCwgMCwgezB4NGUsMHg4NSwweDBiLDB4MjEsMHg0MCwweGE4LDB4NTIsMHgyYSwweDAwLDB4MDgsMHg4MCwweDIzLDB4ZTEsMHg0MCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ODcwMCwgMCwgezB4M2EsMHgxNCwweDBmLDB4YTAsMHg0MywweGE4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODIsMHgwMywweGUwLDB4MDAgfSwKLSAgMTYsIDB4ODcxMCwgMCwgezB4ZjAsMHgyMCwweDNlLDB4ODgsMHg0ZiwweDgyLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODcyMCwgMCwgezB4OTgsMHgxOSwweGU0LDB4NDAsMHhmOSwweDExLDB4MzQsMHg0NCwweDJkLDB4ZDAsMHgwMywweGU0LDB4NTAsMHg3OSwweDEwLDB4MzggfSwKLSAgMTYsIDB4ODczMCwgMCwgezB4NDQsMHgyZiwweGQwLDB4MDMsMHhmNSwweDEwLDB4ZjksMHgxMCwweDNlLDB4NDUsMHgwNiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZTkgfSwKLSAgMTYsIDB4ODc0MCwgMCwgezB4NDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZjUsMHgwMCwweGZkLDB4MjgsMHgzZiwweDQwLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ODc1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDEsMHhlNiwweDAwLDB4ZDksMHg5MCwweDM3LDB4NjkgfSwKLSAgMTYsIDB4ODc2MCwgMCwgezB4NGQsMHg5MCwweDIzLDB4NjcsMHg4MCwweGQ5LDB4ZTAsMHgzNywweDY4LDB4MGUsMHhkMCwweDA3LDB4YTQsMHgwMCwweDA1LDB4ODYgfSwKLSAgMTYsIDB4ODc3MCwgMCwgezB4M2UsMHg2NiwweDBkLDB4NTAsMHgyMywweDI2LDB4MDAsMHhjOSwweDgyLDB4M2QsMHg0MCwweDBkLDB4ZDgsMHgwNywweDM2LDB4MDIgfSwKLSAgMTYsIDB4ODc4MCwgMCwgezB4Y2QsMHhjMCwweDMzLDB4NjAsMHgwYywweDljLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODc5MCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweGEyLDB4MjIsMHgxMCwweDI4LDB4OGEsMHg4MiwweDIzLDB4ODQsMHg4OCwweGEwLDB4MjIgfSwKLSAgMTYsIDB4ODdhMCwgMCwgezB4MTQsMHg0OCwweDgwLDB4NDIsMHg4MiwweDAwLDB4ODgsMHg0MCwweDJlLDB4MzAsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4ZDggfSwKLSAgMTYsIDB4ODdiMCwgMCwgezB4OTAsMHgyNiwweDAwLDB4MDgsMHg4NCwweDBhLDB4MjEsMHgwMCwweGM4LDB4YTAsMHhhMiwweDE0LDB4MjgsMHg4YywweDAyLDB4MGUgfSwKLSAgMTYsIDB4ODdjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDIwLDB4OTEsMHg0MCwweDJjLDB4NDQgfSwKLSAgMTYsIDB4ODdkMCwgMCwgezB4MTgsMHgxMCwweDAyLDB4ODUsMHgwNCwweGIxLDB4NDAsMHgwYywweDQwLDB4MGEsMHgxMCwweDA2LDB4ODQsMHgzMCwweDgxLDB4NDAgfSwKLSAgMTYsIDB4ODdlMCwgMCwgezB4MmMsMHg0OCwweDU5LDB4MTAsMHgxYSwweDA0LDB4NjAsMHg4MSwweDA5LDB4MmUsMHg0MCwweDFiLDB4MTQsMHgwMiwweDI1LDB4MDAgfSwKLSAgMTYsIDB4ODdmMCwgMCwgezB4OTEsMHhlMCwweDIwLDB4NjAsMHgwOCwweDE2LDB4MDIsMHgwMCwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODgwMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4MSwweDAwLDB4MmEsMHg0MSwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhhMSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODgxMCwgMCwgezB4NDEsMHgwOCwweGIwLDB4ODIsMHgyNCwweDExLDB4OGIsMHgwMCwweDJlLDB4NDAsMHgxOCwweDkxLDB4MDIsMHhhMCwweDA0LDB4OTggfSwKLSAgMTYsIDB4ODgyMCwgMCwgezB4MjAsMHgyZSwweDU0LDB4MWIsMHg5MCwweDgyLDB4MmMsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQ0LDB4ODgsMHg5MCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ODgzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ODg0MCwgMCwgezB4NGMsMHg5MCwweDAzLDB4YTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4OGUsMHgxMCwweDAyLDB4YTQsMHhjMiwweGM5LDB4MDAgfSwKLSAgMTYsIDB4ODg1MCwgMCwgezB4M2UsMHg0MCwweDBkLDB4MTYsMHgxMywweDAxLDB4ODQsMHhjOCwweDIwLDB4M2MsMHg2MCwweDBmLDB4OTAsMHgxMiwweDA0LDB4MDAgfSwKLSAgMTYsIDB4ODg2MCwgMCwgezB4ZDksMHg0MCwweDMyLDB4NTAsMHgwYywweDkwLDB4MDMsMHgyOCwweDg0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODg3MCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDRmLDB4OTksMHg0YSwweDQ0LDB4MDAsMHg5OSwweDAwLDB4YjQgfSwKLSAgMTYsIDB4ODg4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlMywweDAwLDB4ZjggfSwKLSAgMTYsIDB4ODg5MCwgMCwgezB4MDEsMHgzNiwweDQwLDB4MGMsMHg5OSwweDAzLDB4ZTQsMHgwMiwweGY5LDB4ODAsMHgzZSwweDYwLDB4NGYsMHg5MCwweDBiLDB4Y2EgfSwKLSAgMTYsIDB4ODhhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwMCwweDNjLDB4MDAgfSwKLSAgMTYsIDB4ODhiMCwgMCwgezB4MWQsMHg4MCwweDAzLDB4MjAsMHgwMCwweGU4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4NCwweDgzLDB4ZTAsMHgxMCwweGU4LDB4MjAgfSwKLSAgMTYsIDB4ODhjMCwgMCwgezB4MzIsMHgwMCwweDhlLDB4ODQsMHgwMywweDIxLDB4ODAsMHhjOCwweDAwLDB4M2EsMHgxOSwweDBmLDB4MDQsMHgwMywweGUwLDB4MjQgfSwKLSAgMTYsIDB4ODhkMCwgMCwgezB4ZjAsMHgwMiwweDNjLDB4MDAsMHgwZiwweDgwLDB4MTMsMHg4YSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODhlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDIsMHg4YSwweDAxLDB4MGYsMHhhMiwweDY4LDB4YTAsMHgwMCwweDI4LDB4MDAsMHg4YSwweDAwLDB4NzcgfSwKLSAgMTYsIDB4ODhmMCwgMCwgezB4ODAsMHg2OCwweGUwLDB4MTIsMHhlOCwweDAwLDB4ZGUsMHgwMCwweDM2LDB4ODEsMHgwOCwweGUwLDB4MDMsMHg3YSwweDA4LDB4YWUgfSwKLSAgMTYsIDB4ODkwMCwgMCwgezB4YzQsMHgyZiwweDgwLDB4MDgsMHhlZCwweDAyLDB4ZmEsMHgwMCwweGJlLDB4YTAsMHgzYiwweDgwLDB4MGIsMHhhMCwweDQyLDB4MGEgfSwKLSAgMTYsIDB4ODkxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4ODUsMHg0YywweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ODkyMCwgMCwgezB4ODgsMHhiMCwweDAyLDB4MGMsMHgxNCwweGEzLDB4MDQsMHgyMCwweGM0LDB4MTgsMHgzOCwweDAyLDB4ZWMsMHgxMCwweDkzLDB4NTQgfSwKLSAgMTYsIDB4ODkzMCwgMCwgezB4MjgsMHhjMCwweDBhLDB4MDAsMHgwMiwweDRlLDB4MDAsMHg4MywweDQ5LDB4NjgsMHhjMCwweDAyLDB4MzksMHg0MiwweGNlLDB4NDAgfSwKLSAgMTYsIDB4ODk0MCwgMCwgezB4YjMsMHgwMCwweDJjLDB4ZTYsMHgwYiwweGIwLDB4MDIsMHg4YiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODk1MCwgMCwgezB4MjAsMHgwMSwweDFjLDB4MDgsMHg4NywweDIwLDB4MmMsMHg4MCwweDE4LDB4ZjIsMHgyMiwweDFjLDB4MDAsMHg4NywweDEwLDB4MjEgfSwKLSAgMTYsIDB4ODk2MCwgMCwgezB4YzAsMHgwOCwweDcwLDB4ODIsMHhkYywweDgwLDB4OTYsMHg4MCwweDJkLDB4YzAsMHgwYSwweDQwLDB4MDIsMHg3ZCwweDQwLDB4MjcgfSwKLSAgMTYsIDB4ODk3MCwgMCwgezB4NjQsMHg2ZCwweGQwLDB4NDgsMHg2MCwweDQyLDB4ZDgsMHgwNSwweGI2LDB4MDQsMHgyOSwweGMwLDB4NGIsMHg3MiwweDAyLDB4MjggfSwKLSAgMTYsIDB4ODk4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgzZSwweDg4LDB4ZDcsMHhlMCwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4ODk5MCwgMCwgezB4MDgsMHg3YywweDQyLDB4M2UsMHgwMCwweGUzLDB4ODIsMHgyMCwweGUwLDB4MGMsMHg2OCwweDAzLDB4ZGYsMHgwNCwweGQ3LDB4ODAgfSwKLSAgMTYsIDB4ODlhMCwgMCwgezB4M2IsMHhlMCwweDRlLDB4NDgsMHgwYSwweDVlLDB4ODAsMHhjNywweGMyLDB4MTksMHhlMCwweDBlLDB4NzgsMHgwMywweGQ2LDB4MDggfSwKLSAgMTYsIDB4ODliMCwgMCwgezB4ZjcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODljMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4NDAsMHhmYiwweDQwLDB4N2UsMHg4MCwweDBlLDB4MzYsMHg4MywweGVkLDB4NDAsMHhkYiwweDYwLDB4M2UgfSwKLSAgMTYsIDB4ODlkMCwgMCwgezB4ODAsMHgwZiwweGEwLDB4MDMsMHhlZCwweDI4LDB4ZGEsMHgwMCwweDMyLDB4YzQsMHgwYywweGIwLDB4MGIsMHhjYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ODllMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGUsMHg4MCwweDEzLDB4ZTAsMHgxMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMSwweDUzLDB4YzIgfSwKLSAgMTYsIDB4ODlmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4ZmYsMHhjMCwweDMzLDB4ZTAgfSwKLSAgMTYsIDB4OGEwMCwgMCwgezB4MGMsMHhmOSwweDAzLDB4N2YsMHgwNCwweGNmLDB4ZDAsMHgzZiwweGU0LDB4MGYsMHhiOCwweDAzLDB4ZmUsMHgwMCwweGZmLDB4OTQgfSwKLSAgMTYsIDB4OGExMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4YzgsMHgwMywweDdlLDB4MTAsMHhmMywweDgwLDB4M2IsMHhlMCwweDBmLDB4ZjgsMHgwMywweGZlLDB4NDggfSwKLSAgMTYsIDB4OGEyMCwgMCwgezB4ZWQsMHg4MCwweDMzLDB4MjQsMHgwNCwweGY4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGEzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4ODAsMHhiZiwweDA0LDB4MjEsMHgyOCwweDA4LDB4ZjgsMHgwMiwweDFlLDB4YzAsMHhjZiwweDkwLDB4MjEgfSwKLSAgMTYsIDB4OGE0MCwgMCwgezB4NGMsMHgwYiwweDVhLDB4NDIsMHhkZSwweDAwLDB4YjcsMHg4MCwweDJjLDB4ZTgsMHgwYiwweDA0LDB4MDIsMHgxYywweDAwLDB4YjcgfSwKLSAgMTYsIDB4OGE1MCwgMCwgezB4YTAsMHgzNSwweDEwLDB4OGYsMHg3MSwweDEzLDB4ZGUsMHhjMCwweDg0LDB4MTAsMHgyMSwweDgwLDB4MGQsMHg3MSwweDAyLDB4MmEgfSwKLSAgMTYsIDB4OGE2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4NDAsMHg5YywweDA4LDB4YjcsMHgwMCwweDI1LDB4YzggfSwKLSAgMTYsIDB4OGE3MCwgMCwgezB4MDgsMHg3MSwweDAyLDB4Y2MsMHg4MCwweDk3LDB4MDAsMHgyOSwweGMwLDB4OGIsMHg3MiwweDA2LDB4ZGMsMHgwOCwweGI1LDB4MDAgfSwKLSAgMTYsIDB4OGE4MCwgMCwgezB4MmQsMHhjOCwweDBiLDB4NDAsMHgwMiwweDFjLDB4NDAsMHhiZiwweDEwLDB4MjEsMHhjMCwweDBiLDB4NzQsMHgwMiwweGQ0LDB4ODAgfSwKLSAgMTYsIDB4OGE5MCwgMCwgezB4YTcsMHg0MCwweDIxLDB4NDEsMHgwOCwweDcwLDB4MDIsMHgwNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGFhMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDA4LDB4MzQsMHg4MiwweGFjLDB4MTEsMHg4MywweDAwLDB4MjAgfSwKLSAgMTYsIDB4OGFiMCwgMCwgezB4MDAsMHg0YiwweDE4LDB4MjYsMHhjZiwweDIwLDB4YjEsMHgwNiwweDJjLDB4YzEsMHgwYiwweDMyLDB4MDIsMHgwZSwweDA4LDB4YjMgfSwKLSAgMTYsIDB4OGFjMCwgMCwgezB4ODgsMHgyNCwweDMyLDB4MGEsMHgzMCwweDEyLDB4ODQsMHgwOCwweDgwLDB4MDAsMHhhMCwweDM0LDB4MjgsMHgzMCwweDAyLDB4MTggfSwKLSAgMTYsIDB4OGFkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAwLDB4ZmYsMHgwMCwweGI2LDB4NDAgfSwKLSAgMTYsIDB4OGFlMCwgMCwgezB4MmMsMHhmNCwweDQzLDB4ZmMsMHgwMSwweGRmLDB4MDAsMHgzYSwweDAwLDB4MDMsMHg5MiwweDAzLDB4ZmYsMHg4OCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OGFmMCwgMCwgezB4MmYsMHhjMCwweDFiLDB4MGUsMHg0YiwweDJlLDB4OTAsMHhmYiwweGUwLDB4MzAsMHgzMiwweDBiLDB4OTgsMHgwMiwweGVjLDB4MDggfSwKLSAgMTYsIDB4OGIwMCwgMCwgezB4NmIsMHhjMCwweDMyLDB4YzAsMHgwOCwweGYwLDB4MDksMHgzZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGIxMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmMywweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMSwweDZjLDB4MDAsMHhmYiwweDAwLDB4M2EgfSwKLSAgMTYsIDB4OGIyMCwgMCwgezB4MTAsMHgwZiwweGI0LDB4MDMsMHhlYywweDAwLDB4ZjAsMHgwMCwweDNjLDB4YzAsMHgwZiwweDgwLDB4MGIsMHhhZCwweDIwLDB4ZmIgfSwKLSAgMTYsIDB4OGIzMCwgMCwgezB4NDAsMHgzZSwweDEwLDB4MDcsMHhhOCwweDYzLDB4ZTAsMHgwMCwweGZiLDB4ODAsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4OGI0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweDcyLDB4MDAgfSwKLSAgMTYsIDB4OGI1MCwgMCwgezB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhjMCwweDAzLDB4ZGMsMHgwMCwweDhmLDB4MDAgfSwKLSAgMTYsIDB4OGI2MCwgMCwgezB4MzMsMHhjMSwweDBjLDB4YzAsMHgwMywweGJlLDB4MDAsMHhmZiwweDkwLDB4M2IsMHgyOCwweDBlLDB4NTksMHgwMywweDJlLDB4MDAgfSwKLSAgMTYsIDB4OGI3MCwgMCwgezB4N2IsMHgwMCwweDMyLDB4YzQsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGI4MCwgMCwgezB4YzEsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4NjIsMHhhMCwweDBmLDB4YjAsMHgwMiwweGVjLDB4MDksMHg4YiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OGI5MCwgMCwgezB4MzAsMHgwYiwweGE4LDB4MDMsMHhhYywweDAwLDB4ZmEsMHhjMSwweDIyLDB4YzEsMHgwOCwweDhjLDB4MDIsMHgyYywweDAwLDB4YjMgfSwKLSAgMTYsIDB4OGJhMCwgMCwgezB4ODEsMHgyYSwweDAwLDB4MGQsMHg4OCwweGIyLDB4MjIsMHgwMCwweGIzLDB4YzAsMHgyMiwweGM4LDB4MGIsMHhiMCwweDQyLDB4NjEgfSwKLSAgMTYsIDB4OGJiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHg2YywweDAwLDB4YmIsMHgwMSwweDIyLDB4NjIgfSwKLSAgMTYsIDB4OGJjMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwNCwweDhiLDB4MDAsMHgyZSwweGEyLDB4NDksMHg4OCwweDI2LDB4ZWMsMHgwMCwweGE4LDB4ODAgfSwKLSAgMTYsIDB4OGJkMCwgMCwgezB4MjIsMHhjMCwweDI4LDB4ODIsMHgwYSwweGFjLDB4YTAsMHhiYiwweDA4LDB4MjIsMHhjMCwweDA4LDB4ODAsMHgwYSwweDI4LDB4ODQgfSwKLSAgMTYsIDB4OGJlMCwgMCwgezB4YjksMHhjMCwweGEyLDB4MDAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGJmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDEwLDB4MjAsMHg0OCwweDBhLDB4MzIsMHgwMiwweGNjLDB4ODAsMHg4MywweDAxLDB4MjQgfSwKLSAgMTYsIDB4OGMwMCwgMCwgezB4MDAsMHgwYiwweDAyLDB4MDYsMHg4YywweDYwLDB4YTAsMHgyMCwweDIwLDB4YzgsMHgwOCwweDAxLDB4MDIsMHgwYywweDAwLDB4YjMgfSwKLSAgMTYsIDB4OGMxMCwgMCwgezB4MDAsMHgyOCwweDAwLDB4MDksMHgyMCwweDAyLDB4MDgsMHg4MCwweGIxLDB4MDAsMHhhMCwweDgwLDB4MGIsMHgzMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4OGMyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHg2YywweDAwLDB4ZmYsMHgwMCwweGEyLDB4MGUgfSwKLSAgMTYsIDB4OGMzMCwgMCwgezB4MGIsMHhmMSwweDAzLDB4ZmMsMHgwOCwweGNmLDB4MjAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZmMsMHg4NCwweGE4LDB4MjAgfSwKLSAgMTYsIDB4OGM0MCwgMCwgezB4YjIsMHhjOCwweDhjLDB4ODAsMHgwMywweGFjLDB4NDQsMHhmYiwweDcwLDB4M2EsMHhjMCwweDBlLDB4OTAsMHgwMywweDJjLDB4YTQgfSwKLSAgMTYsIDB4OGM1MCwgMCwgezB4ZmIsMHgwMCwweGIyLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGM2MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDI2LDB4M2UsMHgwMCwweDBmLDB4YjYsMHgxMywweGVkLDB4MDAsMHhmYiwweDEwLDB4M2YgfSwKLSAgMTYsIDB4OGM3MCwgMCwgezB4MDAsMHgwZiwweGMxLDB4MTMsMHhhYywweDgwLDB4ZjgsMHgxMiwweDNlLDB4YzYsMHg0ZiwweDQyLDB4NDMsMHhmYywweDA0LDB4ZmYgfSwKLSAgMTYsIDB4OGM4MCwgMCwgezB4MzEsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHhiZiwweGMwLDB4OGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4OGM5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDQwLDB4ZmMsMHg4MCwweDM2LDB4YzggfSwKLSAgMTYsIDB4OGNhMCwgMCwgezB4MGYsMHgwOSwweDAzLDB4YzIsMHgwMCwweGY4LDB4YzAsMHgzMywweGNjLDB4MmMsMHg0YywweDAzLDB4NjMsMHg5MCwweGUwLDB4OTAgfSwKLSAgMTYsIDB4OGNiMCwgMCwgezB4M2EsMHhjMCwweDBkLDB4NTAsMHgwYiwweDNjLDB4MDQsMHhkZiwweDY0LDB4M2YsMHhjOCwweDhkLDB4ZjEsMHg0MywweDJjLDB4MDAgfSwKLSAgMTYsIDB4OGNjMCwgMCwgezB4ZDUsMHgwMCwweDMzLDB4YzAsMHg0NSwweGYyLDB4MjMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGNkMCwgMCwgezB4ODAsMHgxMCwweGVkLDB4ODAsMHhiYSwweDAyLDB4MjEsMHhkZSwweDhiLDB4ODIsMHgyMiwweGUwLDB4MjAsMHhiMCwweDAwLDB4MmIgfSwKLSAgMTYsIDB4OGNlMCwgMCwgezB4ZWMsMHgwOSwweDgwLDB4MDIsMHhlMywweDQwLDB4YmEsMHgyMCwweDJmLDB4ZGMsMHgwOCwweDk4LDB4MTIsMHgyYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4OGNmMCwgMCwgezB4NTEsMHgyYSwweGQwLDB4MDgsMHg3MiwweDIyLDB4MmUsMHgwMCwweDhkLDB4ODAsMHgyMSwweGQwLDB4MDgsMHhiNiwweDgyLDB4MjAgfSwKLSAgMTYsIDB4OGQwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YjksMHgyOCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4OGQxMCwgMCwgezB4NGEsMHgxMiwweDEyLDB4ODgsMHg4NSwweGE4LDB4MjAsMHgyMCwweGMwLDB4MGIsMHgyMiwweDAyLDB4YzAsMHg5MSwweGExLDB4MDAgfSwKLSAgMTYsIDB4OGQyMCwgMCwgezB4MjgsMHhjMiwweDBiLDB4MDAsMHgxMiwweDhjLDB4NDAsMHhhMywweDIwLDB4MjAsMHhjNCwweDBiLDB4MzAsMHgwYSwweDBjLDB4MTEgfSwKLSAgMTYsIDB4OGQzMCwgMCwgezB4OTksMHgwMCwweDIwLDB4YzUsMHgwOSwweDAxLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGQ0MCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHhiOCwweDgwLDB4MjIsMHhjMCwweDBiLDB4ODgsMHgwMiwweGVlLDB4MDEsMHhiOCwweGMxLDB4MmEgfSwKLSAgMTYsIDB4OGQ1MCwgMCwgezB4YzAsMHgxYiwweGE4LDB4MDYsMHhlMiwweDAwLDB4YmIsMHg4MCwweDJlLDB4YzAsMHg4YSwweDgwLDB4MDIsMHhhYywweDAwLDB4YWIgfSwKLSAgMTYsIDB4OGQ2MCwgMCwgezB4MDAsMHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4MmMsMHgwMCwweDk5LDB4MDAsMHgyNCwweGMwLDB4MDgsMHg4MCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4OGQ3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YjAsMHg4MCwweDM2LDB4YzAgfSwKLSAgMTYsIDB4OGQ4MCwgMCwgezB4MGUsMHhhOCwweDEzLDB4ZTIsMHg4NSwweGYzLDB4YzAsMHgzMiwweGMwLDB4MGUsMHg5YywweDIzLDB4ZTcsMHgyNCwweGU4LDB4ODIgfSwKLSAgMTYsIDB4OGQ5MCwgMCwgezB4M2EsMHhjMSwweDBmLDB4OTQsMHgwMywweGFjLDB4MDIsMHhlYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDJlLDB4MTAgfSwKLSAgMTYsIDB4OGRhMCwgMCwgezB4NTEsMHgwMCwweGIyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGRiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZDAsMHgwMywweGYwLDB4MDQsMHhmZCwweDA0LDB4M2YgfSwKLSAgMTYsIDB4OGRjMCwgMCwgezB4YzAsMHg0YywweGMwLDB4MDMsMHhmMCwweDEwLDB4ZmMsMHgwMCwweDFmLDB4YzAsMHgwZCwweGQxLDB4MjMsMHgxYywweDAwLDB4YzcgfSwKLSAgMTYsIDB4OGRkMCwgMCwgezB4MDAsMHgzOSwweGMwLDB4MGQsMHhmMCwweDgzLDB4ZmUsMHg0NCwweGVkLDB4MDAsMHgzYiwweGMwLDB4MGYsMHg3NCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4OGRlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjksMHgwMSwweGJhLDB4YzEgfSwKLSAgMTYsIDB4OGRmMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4YTEsMHgwOCwweGZhLDB4MDAsMHgzMCwweGM4LDB4OGYsMHg5NCwweDAzLDB4MjUsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OGUwMCwgMCwgezB4M2MsMHhjMCwweDBmLDB4MDQsMHg4MywweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhlMCwweDBmLDB4NzEsMHgwYiwweDJjLDB4NDAgfSwKLSAgMTYsIDB4OGUxMCwgMCwgezB4ZmQsMHgwOCwweDM3LDB4YzAsMHg0ZSwweDkxLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGUyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHhiOSwweDAwLDB4MjMsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhjOCwweDAwLDB4MzcgfSwKLSAgMTYsIDB4OGUzMCwgMCwgezB4ZjAsMHgwYiwweDgwLDB4MDEsMHg2NCwweDAwLDB4NDksMHgwMiwweDMzLDB4YzAsMHg4NCwweDljLDB4MDMsMHgzYywweDAwLDB4YmYgfSwKLSAgMTYsIDB4OGU0MCwgMCwgezB4MDIsMHgwZiwweGQwLDB4MDgsMHhmNCwweDAyLDB4MGUsMHgxMCwweGJkLDB4ODAsMHgzMywweGUwLDB4MDgsMHg5MCwweDBhLDB4MzIgfSwKLSAgMTYsIDB4OGU1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjAsMHgwNiwweDIwLDB4YzAgfSwKLSAgMTYsIDB4OGU2MCwgMCwgezB4MDgsMHgwMCwweDQyLDB4ODQsMHgwMCwweGEwLDB4MDAsMHgyMCwweGYwLDB4MGIsMHgwMCwweDIyLDB4Y2MsMHgwMCwweDkwLDB4MDAgfSwKLSAgMTYsIDB4OGU3MCwgMCwgezB4MjgsMHhjMCwweDAyLDB4M2QsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMiwweDlhLDB4MzgsMHgwMiwweDA2LDB4MDQgfSwKLSAgMTYsIDB4OGU4MCwgMCwgezB4YjEsMHgxMiwweDIwLDB4ZTAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGU5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNiwweDgwLDB4MjEsMHhlMCwweDI4LDB4ZWEsMHgwMiwweDM2LDB4ODAsMHg4NiwweDkwLDB4NjUgfSwKLSAgMTYsIDB4OGVhMCwgMCwgezB4ZTAsMHgxYiwweGRhLDB4MDYsMHg1ZSwweDAxLDB4OWUsMHg4NCwweDI1LDB4ZWMsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4OGViMCwgMCwgezB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OSwweDRhLDB4MTYsMHg0MCwweGJkLDB4ODAsMHgyNSwweGUwLDB4MDgsMHgzOCwweDAyLDB4MDggfSwKLSAgMTYsIDB4OGVjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZmIsMHgwMCwweDI4LDB4ZTAgfSwKLSAgMTYsIDB4OGVkMCwgMCwgezB4MDgsMHgxOCwweDAyLDB4OGEsMHg4OCwweGExLDB4YTAsMHgyMCwweGMyLDB4MWYsMHgyYSwweDIzLDB4ZTYsMHhjOCwweGYwLDB4YzAgfSwKLSAgMTYsIDB4OGVlMCwgMCwgezB4M2EsMHhlZCwweDRlLDB4MzQsMHgwMiwweDhjLDB4MDgsMHhmMywweDgxLDB4MWUsMHhjMCwweDBlLDB4MzAsMHgwMywweDBlLDB4YzAgfSwKLSAgMTYsIDB4OGVmMCwgMCwgezB4ZjEsMHgwMCwweGIwLDB4Y2EsMHgwZSwweDIxLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGYwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDgsMHhmZSwweDEwLDB4M2YsMHhkMiwweDBmLDB4ZTAsMHgwMywweGVjLDB4MDQsMHhmZiwweDE0LDB4N2UgfSwKLSAgMTYsIDB4OGYxMCwgMCwgezB4YzAsMHgwZiwweGIxLDB4MjMsMHhmYywweDAxLDB4ZWUsMHgwMCwweDNhLDB4YzQsMHgwZCwweGIwLDB4MTMsMHhiYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4OGYyMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGUsMHhmMCwweDgzLDB4ZmMsMHgwYywweGZkLDB4MTAsMHgzYiwweGMwLDB4MmYsMHhlMSwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4OGYzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4ZjAsMHg4MCwweDMyLDB4ZDAgfSwKLSAgMTYsIDB4OGY0MCwgMCwgezB4MGMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGYzLDB4ODAsMHgzMiwweGRhLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4OGY1MCwgMCwgezB4M2UsMHhjYywweDRjLDB4OTgsMHgxMywweDJjLDB4MTAsMHhmYiwweDA0LDB4M2UsMHhjNCwweDBjLDB4ZjIsMHg4MywweGE2LDB4MTAgfSwKLSAgMTYsIDB4OGY2MCwgMCwgezB4ZGQsMHgyMCwweDNmLDB4ZDEsMHgwYywweGIwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGY3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4ODAsMHhiNywweDAwLDB4MjEsMHhjOCwweDBjLDB4NzAsMHgwMiwweGRjLDB4MDgsMHhiNywweDAwLDB4MjEgfSwKLSAgMTYsIDB4OGY4MCwgMCwgezB4YzgsMHgwZSwweDcwLDB4MjIsMHhkOCwweDAwLDB4YjcsMHgwMCwweDJjLDB4YzIsMHgwYSwweDcwLDB4MGEsMHgxZiwweDA4LDB4YjcgfSwKLSAgMTYsIDB4OGY5MCwgMCwgezB4MDAsMHgzOSwweGM4LDB4MGEsMHg3MCwweDAyLDB4MTQsMHgwMCwweGM1LDB4NjksMHgyYywweGNhLDB4MmEsMHg3MCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4OGZhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YmYsMHg4MSwweDY0LDB4ZTEgfSwKLSAgMTYsIDB4OGZiMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4NWEsMHgwMSwweGJmLDB4ODAsMHgyMSwweGVjLDB4NGIsMHg3OCwweDQ2LDB4OWYsMHgwOCwweDM3LDB4ODAgfSwKLSAgMTYsIDB4OGZjMCwgMCwgezB4MmQsMHhlOCwweDg4LDB4MTgsMHgwMiwweDFlLDB4ODEsMHhiNywweGIwLDB4MmQsMHhlMCwweDA5LDB4N2EsMHgwMiwweDhlLDB4MDAgfSwKLSAgMTYsIDB4OGZkMCwgMCwgezB4OTUsMHhhMCwweDJkLDB4ZTQsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGZlMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHhiMywweDYwLDB4MjAsMHhjMCwweDA4LDB4YjYsMHgwMiwweGNjLDB4MDAsMHhiMywweDAxLDB4MjAgfSwKLSAgMTYsIDB4OGZmMCwgMCwgezB4YzAsMHg4YSwweGIwLDB4ODYsMHhjZiwweDAwLDB4YmIsMHgxMCwweDZjLDB4YzEsMHgwYSwweDM4LDB4MDIsMHgwYywweDAxLDB4YjMgfSwKLSAgMTYsIDB4OTAwMCwgMCwgezB4MDIsMHgyOCwweGMwLDB4MGIsMHhiMCwweDBhLDB4MGMsMHgwMCwweDgxLDB4MDAsMHgyZSwweGMwLDB4MGEsMHhiNCwweDgyLDB4ZDIgfSwKLSAgMTYsIDB4OTAxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg0MCwweGI2LDB4ODAgfSwKLSAgMTYsIDB4OTAyMCwgMCwgezB4MGMsMHhlNCwweDAzLDB4NzgsMHg4MCwweGZlLDB4NzQsMHgzMiwweDgwLDB4MGIsMHhlNiwweDAzLDB4ZjksMHgwMCwweGZlLDB4MDAgfSwKLSAgMTYsIDB4OTAzMCwgMCwgezB4M2UsMHg4MCwweDBjLDB4ZTAsMHgwMywweDI4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDRkLDB4YTAsMHgwMywweGE4LDB4MDAgfSwKLSAgMTYsIDB4OTA0MCwgMCwgezB4ZGEsMHgwNCwweDNlLDB4ODAsMHgwYywweGU0LDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTA1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDJlLDB4ODAsMHgyMywweGUwLDB4MDAsMHhmOCwweDAxLDB4M2MgfSwKLSAgMTYsIDB4OTA2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDIwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHg4ZiwweDg5LDB4MDMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4OTA3MCwgMCwgezB4MDAsMHgzYSwweDEwLDB4MGUsMHg4MCwweDAxLDB4ZTAsMHgwMCwweGU4LDB4NDAsMHg3ZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OTA4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMSwweDdlLDB4NDAgfSwKLSAgMTYsIDB4OTA5MCwgMCwgezB4MmMsMHg5MCwweDBiLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDY4LDB4MDUsMHg5MCwweDEzLDB4YTQsMHgwNCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4OTBhMCwgMCwgezB4MzIsMHg0MSwweDBlLDB4OTEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4OTBiMCwgMCwgezB4ZjEsMHgwMCwweDMyLDB4NDAsMHg2OCwweDkwLDB4NDMsMHg4MiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTBjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OTBkMCwgMCwgezB4NzAsMHg4OCwweDkwLDB4MDMsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk4LDB4MTIsMHhlNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4OTBlMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjYsMHgwMCwweGI5LDB4ODAsMHhhMiwweDQwLDB4MDgsMHg5MCwweDEyLDB4MjAgfSwKLSAgMTYsIDB4OTBmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwNCwweDJjLDB4NDAgfSwKLSAgMTYsIDB4OTEwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMSwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHhiMCwweDAyLDB4YTQsMHgwMSwweGI5LDB4MDAgfSwKLSAgMTYsIDB4OTExMCwgMCwgezB4ZTAsMHg0MCwweDBhLDB4OTAsMHg4MiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmMsMHg0OCwweDBhLDB4OTgsMHgwMiwweDI0LDB4ODAgfSwKLSAgMTYsIDB4OTEyMCwgMCwgezB4MzksMHgyMCwweDIyLDB4NDAsMHgyYSwweDkwLDB4MDIsMHg4NiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTEzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHg0OCwweDA4LDB4MTAsMHgxMiwweDA0LDB4MTAsMHhiMSwweDA0LDB4MmMgfSwKLSAgMTYsIDB4OTE0MCwgMCwgezB4ZDgsMHgwYSwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwMCwweDIwLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweDgwLDB4YjEgfSwKLSAgMTYsIDB4OTE1MCwgMCwgezB4MjIsMHgyYywweDUwLDB4OGEsMHgzMiwweDgyLDB4MDUsMHhhMCwweGIxLDB4MmEsMHgyMCwweDRhLDB4MGEsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4OTE2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDUwLDB4YzgsMHg1MiwweDJlLDB4MTQgfSwKLSAgMTYsIDB4OTE3MCwgMCwgezB4MGMsMHg4NSwweDAzLDB4MjEsMHg0MCwweGY4LDB4NTAsMHgzYSwweDAwLDB4MWYsMHg4NSwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAgfSwKLSAgMTYsIDB4OTE4MCwgMCwgezB4MzIsMHgxNCwweDBlLDB4ODAsMHgwMywweGExLDB4NDAsMHhmOCwweDUwLDB4M2MsMHg4MCwweDBlLDB4MDIsMHgwMywweDIwLDB4ODAgfSwKLSAgMTYsIDB4OTE5MCwgMCwgezB4ZmEsMHgyMCwweDMyLDB4MDgsMHgwZSwweDgyLDB4MTMsMHhhZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTFhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NTAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OTFiMCwgMCwgezB4NDQsMHg4ZCwweGQwLDB4MDEsMHhiZCwweDAwLDB4ZmQsMHgwMiwweDNlLDB4NDQsMHgwZiwweGQ0LDB4MDAsMHhlNCwweDQ4LDB4NzkgfSwKLSAgMTYsIDB4OTFjMCwgMCwgezB4MTQsMHgzZSwweDUwLDB4MGYsMHg5MiwweGEyLDB4ZjQsMHgwOCwweGZkLDB4MDAsMHgzZSwweDRhLDB4MGQsMHhkMiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4OTFkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNywweDAwLDB4ZjksMHgxMCwweDNhLDB4NmUgfSwKLSAgMTYsIDB4OTFlMCwgMCwgezB4MGMsMHhiMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4NDQsMHgzYiwweDYxLDB4OGUsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4NDAgfSwKLSAgMTYsIDB4OTFmMCwgMCwgezB4MzIsMHg2NiwweDBmLDB4ZGEsMHgwYiwweGE3LDB4MjgsMHhjOSwweGUwLDB4M2YsMHg2OCwweDBjLDB4ZGEsMHg4MywweGIzLDB4MjAgfSwKLSAgMTYsIDB4OTIwMCwgMCwgezB4ZWQsMHhhMCwweDMzLDB4NzksMHgwOCwweGQ4LDB4MDMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTIxMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDAsMHhiOCwweGEwLDB4MmUsMHgzOCwweDA4LDB4OGEsMHgwMiwweGUyLDB4ODgsMHhlOCwweDgxLDB4MmUgfSwKLSAgMTYsIDB4OTIyMCwgMCwgezB4MTQsMHgwOSwweDBhLDB4MDMsMHhlMiwweDgwLDB4YjgsMHg4MCwweDMyLDB4MzAsMHgwYiwweDg1LDB4MDIsMHgyMSwweDAxLDB4YTggfSwKLSAgMTYsIDB4OTIzMCwgMCwgezB4ZjQsMHgzOCwweDJhLDB4MDgsMHgwZSwweGNhLDB4MjMsMHg5MCwweGM4LDB4NTQsMHgzNCwweDM4LDB4MDgsMHg4YSwweDkyLDB4MGUgfSwKLSAgMTYsIDB4OTI0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHgwMCwweDI4LDB4NDAgfSwKLSAgMTYsIDB4OTI1MCwgMCwgezB4MTksMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjAsMHgyOCwweDQwLDB4MGIsMHgxMCwweDA2LDB4YzQsMHgyMCwweGExLDB4YTIgfSwKLSAgMTYsIDB4OTI2MCwgMCwgezB4NmMsMHg0OCwweDBiLDB4MTAsMHgwMiwweDg0LDB4MDgsMHg4MSwweDIwLDB4MmMsMHg1MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDQgfSwKLSAgMTYsIDB4OTI3MCwgMCwgezB4YjEsMHgwMCwweDI0LDB4NTgsMHgwOCwweDNjLDB4MDIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTI4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHhiOSwweDIwLDB4MmMsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MTAsMHhhOSwweDQwLDB4MmUgfSwKLSAgMTYsIDB4OTI5MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHgwMSwweDJhLDB4NDAsMHgwYiwweDk0LDB4MDIsMHgyNCwweDAwLDB4YTkgfSwKLSAgMTYsIDB4OTJhMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDEsMHgxMCwweDUyLDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyNiwweDQwLDB4MDAsMHg5OCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4OTJiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg2MSwweDNhLDB4NDAgfSwKLSAgMTYsIDB4OTJjMCwgMCwgezB4MGQsMHg5MCwweDgzLDB4ZTUsMHgyMCwweGY5LDB4MDEsMHgzYSwweDQwLDB4MmUsMHg5MCwweDAyLDB4ZTQsMHg0MCwweGU5LDB4MDEgfSwKLSAgMTYsIDB4OTJkMCwgMCwgezB4OWUsMHg0MCwweDBmLDB4OTQsMHgwMywweGE0LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCwweDJkLDB4OTAsMHgwMiwweGU2LDB4MDggfSwKLSAgMTYsIDB4OTJlMCwgMCwgezB4YjksMHgwMSwweDM2LDB4NDAsMHgyYywweDkwLDB4MDEsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTJmMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDJlLDB4OTAsMHgwMywweGU0LDB4ODAsMHhmOSwweDAwLDB4M2MgfSwKLSAgMTYsIDB4OTMwMCwgMCwgezB4NDAsMHgwYywweDljLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwZiwweDEwLDB4NDMsMHg4NCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OTMxMCwgMCwgezB4MDIsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ODAsMHg4MCwweGY5LDB4MDAsMHgzYywweDQwLDB4MmYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4OTMyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHg0MCwweDM2LDB4MDEgfSwKLSAgMTYsIDB4OTMzMCwgMCwgezB4MGQsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGU4LDB4NDAsMHgzZSwweDA4LDB4MGMsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4OTM0MCwgMCwgezB4MzIsMHgwMCwweDhmLDB4ODAsMHgwMywweGEwLDB4MTAsMHhmOCwweDAwLDB4MzIsMHgwNCwweDBlLDB4ODAsMHg4MywweDYwLDB4MDAgfSwKLSAgMTYsIDB4OTM1MCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTM2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDAxLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgyNCwweGU4LDB4MDAsMHgwYSwweDAwLDB4MmYgfSwKLSAgMTYsIDB4OTM3MCwgMCwgezB4ODAsMHgxYSwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHgwMCwweDE2LDB4ODAsMHgwYiwweGUwLDB4MDMsMHgyOCwweDA4LDB4ZWEgfSwKLSAgMTYsIDB4OTM4MCwgMCwgezB4MDAsMHgzMywweDkwLDB4MDgsMHhlYywweDFiLDB4MjIsMHg4MCwweGM2LDB4MTQsMHgyZiwweDkxLDB4MDgsMHhhMCwweDQzLDB4NGEgfSwKLSAgMTYsIDB4OTM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4OTNhMCwgMCwgezB4MDksMHgzMCwweDEyLDB4Y2MsMHgwNCwweGEzLDB4MDQsMHg2YywweGMwLDB4MDksMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4OTNiMCwgMCwgezB4MmMsMHhjMCwweDEzLDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwLDB4ZTYsMHhiOCwweDBhLDB4MzgsMHgwMiwweDQ0LDB4MDggfSwKLSAgMTYsIDB4OTNjMCwgMCwgezB4ODIsMHg1MCwweDJjLDB4ZDIsMHgzYSwweDMwLDB4MDIsMHg4YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTNkMCwgMCwgezB4YTAsMHgwMSwweDBlLDB4ODAsMHg5NywweGI0LDB4MjEsMHhjNCwweDQ5LDB4NzEsMHgwMiwweGRlLDB4ODEsMHg4NywweDIxLDB4MmQgfSwKLSAgMTYsIDB4OTNlMCwgMCwgezB4ZDAsMHgwYiwweDdiLDB4MDIsMHgxYywweDAxLDB4YmYsMHgyMCwweDI5LDB4YzQsMHgwYiwweDMwLDB4MDIsMHg1YywweDAwLDB4YTcgfSwKLSAgMTYsIDB4OTNmMCwgMCwgezB4YTEsMHgyMSwweGMwLDB4NGEsMHg3MCwweDhhLDB4MGMsMHg4MSwweDg0LDB4MDAsMHgyZCwweGQwLDB4MGEsMHg1MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4OTQwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgyLDB4ZGYsMHhhMCwweDM0LDB4ZWMgfSwKLSAgMTYsIDB4OTQxMCwgMCwgezB4MGQsMHg3OSwweDAyLDB4ZmUsMHg4MCwweGU3LDB4ZTgsMHgyZiwweGEwLDB4MDksMHg3YSwweDAyLDB4OWUsMHgwMCwweGY3LDB4YTIgfSwKLSAgMTYsIDB4OTQyMCwgMCwgezB4MjUsMHhlYSwweDBiLDB4NDgsMHgwMywweDllLDB4MDQsMHhmZiwweGMwLDB4NjUsMHhlNCwweDBlLDB4NjgsMHgwMywweDVmLDB4MDAgfSwKLSAgMTYsIDB4OTQzMCwgMCwgezB4ZTQsMHg4MCwweDNkLDB4ZTAsMHgwZSwweGY4LDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTQ0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4NDgsMHhlYiwweDA1LDB4M2UsMHhkOSwweDBlLDB4YjIsMHgwMywweGVjLDB4MDAsMHhmYiwweDYwLDB4M2UgfSwKLSAgMTYsIDB4OTQ1MCwgMCwgezB4YzAsMHgwZSwweGIyLDB4ODMsMHhhYywweDAwLDB4ZjMsMHg1MCwweGE2LDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4OTQ2MCwgMCwgezB4ODAsMHgzZiwweGQ4LDB4MGQsMHhhMCwweDAzLDB4ZWMsMHgwYSwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGQsMHg5MCwweDAzLDB4NDIgfSwKLSAgMTYsIDB4OTQ3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4YmIsMHg5MCwweDNlLDB4ZTAgfSwKLSAgMTYsIDB4OTQ4MCwgMCwgezB4MDgsMHgzOSwweDAzLDB4OWUsMHgyMCwweGNmLDB4ODIsMHg3NywweGUwLDB4MWYsMHhmOCwweDAzLDB4ZWUsMHgwMCwweGZmLDB4YzAgfSwKLSAgMTYsIDB4OTQ5MCwgMCwgezB4M2YsMHhlNSwweDBkLDB4ZjksMHgwMywweGVlLDB4MDAsMHhmYiwweDkwLDB4MzcsMHhhMCwweDA4LDB4ZjgsMHgwZiwweDFlLDB4MDAgfSwKLSAgMTYsIDB4OTRhMCwgMCwgezB4Y2MsMHg5NCwweDMzLDB4NjAsMHgwZCwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTRiMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNywweDkwLDB4MmYsMHhlNCwweDA4LDB4N2EsMHgwMiwweDFlLDB4MDAsMHg4ZiwweDEyLDB4MjUgfSwKLSAgMTYsIDB4OTRjMCwgMCwgezB4ZDgsMHgwYiwweGJiLDB4MDIsMHgxZSwweDAwLDB4YjcsMHgwMCwweDJkLDB4ZTgsMHgwOCwweDdkLDB4ODIsMHhkZSwweDQwLDB4YmIgfSwKLSAgMTYsIDB4OTRkMCwgMCwgezB4YTAsMHgyNywweDkwLDB4MGEsMHg3NiwweDAyLDB4NWMsMHg4MCwweDg1LDB4MDAsMHgzNywweGM0LDB4NGQsMHg3MSwweDAzLDB4ZWEgfSwKLSAgMTYsIDB4OTRlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YjcsMHgyMCwweDJkLDB4YzAgfSwKLSAgMTYsIDB4OTRmMCwgMCwgezB4MjksMHhmMiwweDIyLDB4YmMsMHg4MCwweDk3LDB4MDAsMHgyNSwweDQxLDB4MGIsMHg3MCwweDEyLDB4OWMsMHgwMCwweGI3LDB4MDggfSwKLSAgMTYsIDB4OTUwMCwgMCwgezB4MjksMHhjMCwweDA4LDB4NDIsMHgxMiwweGRjLDB4NDAsMHhiNywweDAwLDB4MjksMHhjMCwweDA5LDB4NjAsMHgyMiwweGRjLDB4MTAgfSwKLSAgMTYsIDB4OTUxMCwgMCwgezB4ODAsMHgwMCwweDIxLDB4NDAsMHgwOSwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTUyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweGMwLDB4MmUsMHhjMCwweDA4LDB4MzQsMHg4MiwweDJkLDB4MDAsMHg5MywweDAwLDB4MjQgfSwKLSAgMTYsIDB4OTUzMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MDIsMHgwZiwweDgwLDB4MTMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDM0LDB4YTIsMHhlYywweDAwLDB4YjMgfSwKLSAgMTYsIDB4OTU0MCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MGIsMHgwMCwweDAyLDB4Y2MsMHgwMCwweDgxLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzMCwweDAyLDB4ODkgfSwKLSAgMTYsIDB4OTU1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAwLDB4ZmYsMHhlMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4OTU2MCwgMCwgezB4MGMsMHhmNCwweDgzLDB4YmQsMHgwMCwweGRmLDB4MDgsMHgzNiwweDQwLDB4MGIsMHg3NSwweDQyLDB4ZmMsMHgyMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4OTU3MCwgMCwgezB4M2IsMHhjMCwweDJjLDB4M2MsMHgwMywweGZjLDB4MDAsMHhiZiwweDAwLDB4YmUsMHhjMCwweDhkLDB4OTAsMHgwYiwweGFjLDB4MDIgfSwKLSAgMTYsIDB4OTU4MCwgMCwgezB4Y2EsMHgwMCwweDIyLDB4ODAsMHgwZCwweGIwLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTU5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA4LDB4MWUsMHhjMCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhlYiwweDAwLDB4M2EgfSwKLSAgMTYsIDB4OTVhMCwgMCwgezB4MTAsMHgwZiwweGIwLDB4MjMsMHhhYywweDAxLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgzYywweDg0LDB4MDMsMHhlYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4OTViMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGUsMHg5NCwweDBiLDB4MmMsMHgwMCwweGY5LDB4NDAsMHgzZSwweDkwLDB4MGUsMHg5MCwweDEzLDB4ZTAgfSwKLSAgMTYsIDB4OTVjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAyLDB4Y2YsMHgwMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4OTVkMCwgMCwgezB4MGQsMHhmMCwweDBiLDB4M2MsMHgyMCwweGNmLDB4MDAsMHgzZCwweDAwLDB4MGUsMHhmMCwweDA3LDB4OWMsMHgwMSwweGNmLDB4MDIgfSwKLSAgMTYsIDB4OTVlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YzQsMHgwMywweDNjLDB4MDAsMHhjZiwweDAwLDB4MGYsMHhjMCwweDBlLDB4NDQsMHgwMywweDFmLDB4MDIgfSwKLSAgMTYsIDB4OTVmMCwgMCwgezB4Y2MsMHgwMCwweDNmLDB4ODAsMHgyYywweDcwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTYwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDAyLDB4MmUsMHhjMCwweDBkLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhhYiwweDAwLDB4MDYgfSwKLSAgMTYsIDB4OTYxMCwgMCwgezB4MjAsMHgwOCwweGIwLDB4MDMsMHhmYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAsMHgwZiwweDgwLDB4MDYsMHhiYywweDAwLDB4YWIgfSwKLSAgMTYsIDB4OTYyMCwgMCwgezB4MDQsMHgzYSwweGYwLDB4MGMsMHg4OCwweDAyLDB4MmMsMHgwMCwweGM5LDB4ODAsMHgzYSwweDkyLDB4MDgsMHg5MCwweDBhLDB4YTAgfSwKLSAgMTYsIDB4OTYzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4OTY0MCwgMCwgezB4MDksMHgzMCwweDAyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweDYwLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDAgfSwKLSAgMTYsIDB4OTY1MCwgMCwgezB4NmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg5YiwweDAwLDB4NGMsMHhlMCwweDBhLDB4OTAsMHgyMiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4OTY2MCwgMCwgezB4OGEsMHhjMiwweDJjLDB4NDAsMHgwOCwweGIwLDB4NDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTY3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDBkLDB4MmMsMHhjNiwweDA5LDB4MzEsMHgwMiwweDBkLDB4ODEsMHhhMywweDExLDB4MjQgfSwKLSAgMTYsIDB4OTY4MCwgMCwgezB4MDAsMHg4YSwweGIxLDB4ZTIsMHg0YywweDgwLDB4YTMsMHgwMCwweDJjLDB4Y2MsMHgwYiwweDAyLDB4MDIsMHg4YywweDgwLDB4YTMgfSwKLSAgMTYsIDB4OTY5MCwgMCwgezB4NDgsMHgwOCwweGMwLDB4MDgsMHgwMCwweDBhLDB4MGQsMHgwMCwweDgxLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4OTZhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4Y2IsMHgyMCwweDJmLDB4YzggfSwKLSAgMTYsIDB4OTZiMCwgMCwgezB4OGQsMHhmNiwweDEzLDB4MmQsMHhiMCwweDhmLDB4MDAsMHgzNiwweDQwLDB4MGYsMHhmMCwweDAyLDB4YWQsMHhhOCwweDhmLDB4MTAgfSwKLSAgMTYsIDB4OTZjMCwgMCwgezB4M2YsMHhjYSwweDBiLDB4ODAsMHg5MiwweDJjLDB4MTAsMHhkYiwweDQwLDB4M2YsMHhjMCwweDBlLDB4MDAsMHgwMywweDJkLDB4MDQgfSwKLSAgMTYsIDB4OTZkMCwgMCwgezB4YzgsMHgwMiwweDNlLDB4NDAsMHgwYywweGIwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTZlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjOCwweDBlLDB4ZjEsMHgwMywweGVjLDB4ODQsMHhmZiwweDIwLDB4MzcgfSwKLSAgMTYsIDB4OTZmMCwgMCwgezB4MDAsMHgwZCwweGIyLDB4MDMsMHhiYywweGEwLDB4ZmYsMHgwMCwweDNlLDB4YzksMHgwZSwweDgwLDB4MDMsMHhmZCwweDExLDB4ZmYgfSwKLSAgMTYsIDB4OTcwMCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MGUsMHhjMCwweDAzLDB4ZmMsMHg4MCwweGVkLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDQzLDB4NjggfSwKLSAgMTYsIDB4OTcxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDkwLDB4Y2MsMHg5MiwweDNiLDB4YzggfSwKLSAgMTYsIDB4OTcyMCwgMCwgezB4MGQsMHhmMCwweDgzLDB4NzMsMHgxMCwweGZmLDB4MjgsMHgzNywweGNhLDB4NGYsMHhiMiwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MjAgfSwKLSAgMTYsIDB4OTczMCwgMCwgezB4YjMsMHhjNCwweDBkLDB4NjgsMHg0MywweGZlLDB4MTQsMHhjYiwweDg0LDB4MzMsMHhlMCwweDBkLDB4NzgsMHgwMywweGJlLDB4MDAgfSwKLSAgMTYsIDB4OTc0MCwgMCwgezB4ZmYsMHg4MCwweDM3LDB4YTAsMHgwYywweGYzLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTc1MCwgMCwgezB4ODAsMHgwMCwweGZjLDB4NDgsMHg4MiwweDIxLDB4MDMsMHhmNCwweDBmLDB4ZjYsMHg0MiwweDIwLDB4MDQsMHg4YSwweDYwLDB4MmIgfSwKLSAgMTYsIDB4OTc2MCwgMCwgezB4ZGEsMHgwYiwweGY5LDB4MDIsMHgzZiwweDA0LDB4OGYsMHg1MiwweDIzLDB4ZDUsMHg0ZCwweDg4LDB4MDIsMHhhZSwweDAwLDB4ZGIgfSwKLSAgMTYsIDB4OTc3MCwgMCwgezB4ODAsMHgzNiwweGMwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwNCwweGI4LDB4MDAsMHgyMiwweDYwLDB4MGQsMHg3NCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4OTc4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweGEwLDB4ODAsMHgwMSwweDA4LDB4YzAgfSwKLSAgMTYsIDB4OTc5MCwgMCwgezB4NGIsMHgzMCwweDgyLDB4NDIsMHg5MCwweGEzLDB4MDgsMHgyYywweGM4LDB4MWEsMHgzMCwweDIyLDB4OGQsMHgwMCwweDkzLDB4MDAgfSwKLSAgMTYsIDB4OTdhMCwgMCwgezB4MjQsMHhjOCwweDA5LDB4YTAsMHgxMiwweDBjLDB4MDQsMHhhYiwweDAwLDB4NjIsMHhjMCwweDA5LDB4YjAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4OTdiMCwgMCwgezB4YjMsMHgwMCwweDI4LDB4ODAsMHgwOCwweDM2LDB4MDYsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTdjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHg4OCwweDA4LDB4MjIsMHhjMCwweDBhLDB4MzAsMHgxYSwweDAwLDB4MTEsMHg4MiwweDAwLDB4MGEgfSwKLSAgMTYsIDB4OTdkMCwgMCwgezB4YzAsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHgwOSwweDkxLDB4MDIsMHhlYywweDIwLDB4YmIgfSwKLSAgMTYsIDB4OTdlMCwgMCwgezB4MjgsMHg2NiwweGMwLDB4MDgsMHg4MCwweDAyLDB4NjAsMHgwMCwweGI4LDB4MDAsMHgyYSwweDQwLDB4ODEsMHhiMCwweDA2LDB4ZjggfSwKLSAgMTYsIDB4OTdmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAyLDB4YzgsMHgwNCwweDNhLDB4YzAgfSwKLSAgMTYsIDB4OTgwMCwgMCwgezB4ODksMHhiMCwweDAzLDB4NjgsMHgwMCwweGU5LDB4YzEsMHgxZSwweGMxLDB4MGUsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGRiLDB4MDAgfSwKLSAgMTYsIDB4OTgxMCwgMCwgezB4MzYsMHhjMSwweDBkLDB4MDAsMHgyMywweDBlLDB4MDAsMHhlYiwweDgwLDB4MzIsMHhjOCwweGNkLDB4MzAsMHgzMiwweGVjLDB4MDggfSwKLSAgMTYsIDB4OTgyMCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4ODAsMHgwYywweGIwLDB4MDYsMHg4MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTgzMCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHg3YywweDAwLDB4M2YsMHhjMCwweDBiLDB4YjAsMHg0MywweGZkLDB4MDAsMHhiZSwweGM0LDB4MzcgfSwKLSAgMTYsIDB4OTg0MCwgMCwgezB4YzAsMHgxZiwweGYwLDB4MDMsMHg1YywweDAwLDB4ZmYsMHgwMSwweDNiLDB4YzAsMHgwZSwweGM4LDB4MDMsMHhiZiwweDIwLDB4ZGYgfSwKLSAgMTYsIDB4OTg1MCwgMCwgezB4MDAsMHgzZiwweGQwLDB4MGYsMHhjMCwweDEzLDB4YjAsMHgwMCwweDdjLDB4MDAsMHhiNywweDQwLDB4MGYsMHhmMCwweDFiLDB4YjAgfSwKLSAgMTYsIDB4OTg2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDBjLDB4ZDgsMHg0MSwweDMyLDB4YzAgfSwKLSAgMTYsIDB4OTg3MCwgMCwgezB4MGUsMHhiMCwweDA3LDB4YTgsMHgwMSwweDY5LDB4NDAsMHhiMiwweGMwLDB4OGQsMHhiMCwweGEzLDB4ZWMsMHgwOCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4OTg4MCwgMCwgezB4MzIsMHhjMCwweDBmLDB4ODAsMHgwMywweGVkLDB4MDAsMHhmYiwweDQ4LDB4M2EsMHhjMCwweDBkLDB4YjAsMHg4MywweDJjLDB4MDAgfSwKLSAgMTYsIDB4OTg5MCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4ODAsMHgwZiwweDcwLDB4MjMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OThhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhjMCwweDA4LDB4ZjAsMHgwNiwweDJjLDB4MTAsMHg4OCwweDUxLDB4MzcgfSwKLSAgMTYsIDB4OThiMCwgMCwgezB4YzAsMHgwOCwweGYwLDB4MDcsMHg3ZCwweDYwLDB4OGYsMHgwMiwweDM3LDB4YzAsMHgwYiwweDhjLDB4MDAsMHgyZCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4OThjMCwgMCwgezB4MDAsMHgzOCwweGMwLDB4MDgsMHg4MCwweDgyLDB4MjAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDUwLDB4MGIsMHhmMCwweDAwLDB4MzIgfSwKLSAgMTYsIDB4OThkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4OTgsMHgwMCwweDI4LDB4YzAgfSwKLSAgMTYsIDB4OThlMCwgMCwgezB4MGEsMHgzMCwweDAyLDB4ODQsMHgwNCwweGEzLDB4MDAsMHgwMCwweGMwLDB4NjgsMHgzOSwweDA2LDB4MGMsMHgxMCwweDkzLDB4MjAgfSwKLSAgMTYsIDB4OThmMCwgMCwgezB4MjIsMHhjMCwweDliLDB4MDEsMHhhMCwweDhmLDB4MTQsMHgzMywweDE0LDB4MjgsMHhjMCwweDA5LDB4M2MsMHgwMiwweDBjLDB4MDEgfSwKLSAgMTYsIDB4OTkwMCwgMCwgezB4OTMsMHg0MCwweDJjLDB4ODgsMHgwYiwweDMwLDB4MDIsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTkxMCwgMCwgezB4NjAsMHgwMSwweDFlLDB4MTAsMHg4NywweDgwLDB4MjksMHhlMCwweDA4LDB4NzgsMHgwMiwweDNlLDB4MDAsMHg4MywweDkwLDB4MjQgfSwKLSAgMTYsIDB4OTkyMCwgMCwgezB4ZTAsMHgwOCwweDc4LDB4MTAsMHhjZSwweDA0LDB4MDcsMHg5MSwweDI1LDB4ZTAsMHg4MywweGM5LDB4MDIsMHgxZSwweDA0LDB4YjcgfSwKLSAgMTYsIDB4OTkzMCwgMCwgezB4ODQsMHgyYiwweGE0LDB4MDgsMHg0OCwweDQyLDB4MTIsMHhjYywweGI0LDB4ODAsMHgyZCwweDY0LDB4MGIsMHg3OCwweDAyLDB4MTkgfSwKLSAgMTYsIDB4OTk0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgyYywweDAwLDB4ZDAsMHgxMCwweDI4LDB4YzggfSwKLSAgMTYsIDB4OTk1MCwgMCwgezB4MGUsMHgzYiwweDAyLDB4ODQsMHgwMCwweGUzLDB4NDAsMHgzMCwweGM4LDB4MGMsMHgzOCwweDYyLDB4OGMsMHgwMCwweDUzLDB4MDAgfSwKLSAgMTYsIDB4OTk2MCwgMCwgezB4MzAsMHhjNCwweDFmLDB4MDAsMHgyMywweDhjLDB4M2MsMHhmMywweDgwLDB4MTgsMHhjMCwweDBkLDB4MzAsMHgwMywweDBlLDB4ODAgfSwKLSAgMTYsIDB4OTk3MCwgMCwgezB4ZDMsMHgxMCwweDNjLDB4ODAsMHgwZiwweDMwLDB4MDMsMHg5MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTk4MCwgMCwgezB4NDAsMHgxZCwweGJkLDB4MDAsMHhmOSwweDEyLDB4YjQsMHhjMCwweDA3LDB4YjAsMHgwMywweGNjLDB4MDAsMHg0YSwweDAwLDB4NzcgfSwKLSAgMTYsIDB4OTk5MCwgMCwgezB4YzAsMHgwZSwweDcxLDB4NDMsMHg2YywweDAwLDB4ZjMsMHgwMCwweDNmLDB4ZDAsMHgxZiwweGQwLDB4NTMsMHhhYywweDY4LDB4ZmIgfSwKLSAgMTYsIDB4OTlhMCwgMCwgezB4MTgsMHgzZCwweGMwLDB4MGYsMHhjMCwweDEzLDB4ZjAsMHg1MCwweGZjLDB4MDQsMHgzZiwweDQwLDB4MGYsMHhmNCwweDAzLDB4OTAgfSwKLSAgMTYsIDB4OTliMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDQwLDB4ZjgsMHgwNCwweDNlLDB4ZDIgfSwKLSAgMTYsIDB4OTljMCwgMCwgezB4MGYsMHhiMywweDEzLDB4ZTAsMHgxMCwweGY5LDB4MDAsMHhiMiwweGNjLDB4MGUsMHhiYSwweDAzLDB4NmQsMHg4MCwweGRiLDB4MDIgfSwKLSAgMTYsIDB4OTlkMCwgMCwgezB4MzIsMHhkYywweDRmLDB4MDAsMHgwMywweDZjLDB4MDQsMHhmMywweDAyLDB4MzYsMHg0MCwweDBlLDB4YjAsMHgwMywweGNjLDB4MDAgfSwKLSAgMTYsIDB4OTllMCwgMCwgezB4NGIsMHgwMCwweDNjLDB4ODAsMHgwYywweGYxLDB4MDMsMHg2MiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTlmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNCwweDAwLDB4MmQsMHhjOSwweDBiLDB4NzAsMHg4MiwweGRjLDB4MDAsMHhiYywweDA0LDB4MjEgfSwKLSAgMTYsIDB4OWEwMCwgMCwgezB4YzQsMHg0YiwweDM3LDB4MDIsMHgwYywweGEwLDB4OGYsMHg3NCwweDIxLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgxYywweDgxLDB4YjcgfSwKLSAgMTYsIDB4OWExMCwgMCwgezB4MjAsMHgyYiwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZDAsMHgwMiwweDg0LDB4MDAsMHgyZCwweDQwLDB4MGEsMHhmMiwweDAyLDB4MTIgfSwKLSAgMTYsIDB4OWEyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjQsMHhjMCwweDJkLDB4ZTQgfSwKLSAgMTYsIDB4OWEzMCwgMCwgezB4MGIsMHg3YSwweDAyLDB4ZDIsMHgwMCwweGI1LDB4ODgsMHgyMSwweGU4LDB4MGEsMHg3OCwweDAyLDB4ZGUsMHg0MCwweDk3LDB4MDAgfSwKLSAgMTYsIDB4OWE0MCwgMCwgezB4MjEsMHhlOCwweDBiLDB4Y2MsMHg0NiwweDVlLDB4MjgsMHhiNywweGM0LDB4MjEsMHhmMCwweDBhLDB4NzgsMHgwMiwweGZlLDB4MDggfSwKLSAgMTYsIDB4OWE1MCwgMCwgezB4OTcsMHg4NCwweDJkLDB4YTAsMHgwOCwweDc4LDB4MDIsMHg3MCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWE2MCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDAsMHhiMCwweGMwLDB4MmMsMHhjMCwweDliLDB4YjAsMHgwMiwweGNjLDB4MjAsMHhiMywweDYwLDB4MjIgfSwKLSAgMTYsIDB4OWE3MCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMsMHgwMSwweDIwLDB4YzAsMHgxYiwweDA2LDB4MTYsMHg0ZiwweDAwLDB4YjMgfSwKLSAgMTYsIDB4OWE4MCwgMCwgezB4YTAsMHgyYSwweGYwLDB4MDgsMHgwMCwweDAyLDB4ZTAsMHgwMCwweDkwLDB4MDAsMHgyYywweDQwLDB4MGEsMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4OWE5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDEwLDB4ZmUsMHhjMCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4OWFhMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4ZjksMHgwOCwweGZlLDB4NDAsMHgyMiwweDgwLDB4MGUsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGQyLDB4MDAgfSwKLSAgMTYsIDB4OWFiMCwgMCwgezB4MzIsMHg4MCwweDhmLDB4ZTAsMHgwMywweDU4LDB4MDAsMHhmNiwweDAwLDB4MzMsMHhiMCwweDBlLDB4MjAsMHgwMiwweGU4LDB4MGMgfSwKLSAgMTYsIDB4OWFjMCwgMCwgezB4ZDIsMHgwMiwweDNjLDB4ODAsMHgwYywweGEwLDB4MDMsMHg3YSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWFkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgwMSwweDBiLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmMCwweDQwLDB4M2UgfSwKLSAgMTYsIDB4OWFlMCwgMCwgezB4MDAsMHg1NywweDgwLDB4MjMsMHgwMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDMwLDB4MzggfSwKLSAgMTYsIDB4OWFmMCwgMCwgezB4MDAsMHgzYSwweDA4LDB4MGYsMHhjNCwweDAzLDB4ZjAsMHgwMCwweGVjLDB4MDAsMHgzZiwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OWIwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMSwweDNjLDB4NDggfSwKLSAgMTYsIDB4OWIxMCwgMCwgezB4NGMsMHg5MCwweDBiLDB4MjQsMHgwMSwweGM5LDB4YzAsMHgzMiwweDQwLDB4YWMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4NDAgfSwKLSAgMTYsIDB4OWIyMCwgMCwgezB4MzAsMHg0MCwweDBkLDB4OWEsMHgwMywweDIyLDB4ODQsMHhjOCwweDE0LDB4MzIsMHg0MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4OWIzMCwgMCwgezB4YzksMHgwMCwweDgyLDB4NjgsMHgyYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWI0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAyLDB4ODIgfSwKLSAgMTYsIDB4OWI1MCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNywweDQwLDB4ODksMHg4MCwweDM2LDB4NDEsMHg4ZCwweDE4LDB4MDIsMHhhMCwweDI0LDB4YTggfSwKLSAgMTYsIDB4OWI2MCwgMCwgezB4MDQsMHg2MiwweDQwLDB4MDgsMHg5NCwweDgzLDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyMiwweDcyLDB4MDgsMHg5MCwweDBiLDB4MjAgfSwKLSAgMTYsIDB4OWI3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwMCwweDJhLDB4NDAgfSwKLSAgMTYsIDB4OWI4MCwgMCwgezB4MjgsMHg5MCwweDEyLDB4MDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgyMCwweDk5LDB4MDAgfSwKLSAgMTYsIDB4OWI5MCwgMCwgezB4MjIsMHg0MCwweDE4LDB4OTAsMHgwNiwweDIwLDB4MDEsMHg4OCwweDA4LDB4NjIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDM0LDB4MTAgfSwKLSAgMTYsIDB4OWJhMCwgMCwgezB4OGQsMHg4MSwweDIzLDB4NDEsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWJiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDA0LDB4MmMsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDIsMHg4MywweDIwLDB4MjAgfSwKLSAgMTYsIDB4OWJjMCwgMCwgezB4NDgsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgwLDB4ODMsMHg2MCwweDI0LDB4NDgsMHgxOSwweDM0LDB4NjIsMHhhNSwweDA0LDB4YTEgfSwKLSAgMTYsIDB4OWJkMCwgMCwgezB4MDIsMHg2MCwweDQwLDB4MDgsMHhkMCwweDAyLDB4NTQsMHgwMCwweDhkLDB4MDAsMHgyOSwweDQwLDB4MDgsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4OWJlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDNhLDB4ODAgfSwKLSAgMTYsIDB4OWJmMCwgMCwgezB4MGMsMHg4NSwweDAyLDB4MjEsMHg0NCwweDg4LDB4NTAsMHgzMiwweDE0LDB4NGMsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4OWMwMCwgMCwgezB4MjIsMHgxNCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAwLDB4YTIsMHgwMCwweDBlLDB4ODAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4OWMxMCwgMCwgezB4YzgsMHgwMCwweDMzLDB4MDAsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWMyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDQsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MTAsMHhmZiwweDEwLDB4M2UgfSwKLSAgMTYsIDB4OWMzMCwgMCwgezB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwYiwweGYwLDB4MTMsMHhlNSwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4OWM0MCwgMCwgezB4NDAsMHgzZiwweDRhLDB4MmYsMHg5MiwweDhhLDB4YTQsMHhhMiwweGY5LDB4MjgsMHgzNiwweDQwLDB4MGYsMHg5MiwweDgzLDB4YTYgfSwKLSAgMTYsIDB4OWM1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhlNiwweGMwLDB4YzEsMHgwMCwweDNmLDB4NjkgfSwKLSAgMTYsIDB4OWM2MCwgMCwgezB4MGMsMHg5YSwweDQzLDB4NmMsMHgwMCwweGZkLDB4YTAsMHgzZSwweDc4LDB4MmMsMHhkOCwweDA3LDB4ZDYsMHgwMiwweGQ1LDB4OTYgfSwKLSAgMTYsIDB4OWM3MCwgMCwgezB4MzIsMHg3OCwweDBkLDB4OTAsMHgwMywweDI3LDB4MDAsMHhmZCwweGEwLDB4MzUsMHg1MCwweDA2LDB4ZDQsMHgwMywweGU1LDB4MDAgfSwKLSAgMTYsIDB4OWM4MCwgMCwgezB4ZmQsMHg0MCwweGIzLDB4NDAsMHgwZiwweDk4LDB4YTMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWM5MCwgMCwgezB4MzgsMHgxMCwweGUzLDB4YzIsMHg4OCwweDg4LDB4MmUsMHgxNCwweGE4LDB4OGEsMHhjMiwweDIyLDB4YTAsMHhiOCwweGMwLDB4MmMgfSwKLSAgMTYsIDB4OWNhMCwgMCwgezB4MjQsMHg0OCwweDg0LDB4MDIsMHhlMSwweDAwLDB4OTgsMHhjNCwweDIwLDB4M2MsMHgwOCwweDhhLDB4ODIsMHgyMywweDgwLDB4YjggfSwKLSAgMTYsIDB4OWNiMCwgMCwgezB4MDQsMHgyMiwweDIwLDB4MDgsMHg4OCwweDAzLDB4YTIsMHgwMCwweGI4LDB4YTAsMHgyMiwweDAwLDB4MGIsMHg4OCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4OWNjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4YTEsMHgyMCwweDZjLDB4NDAgfSwKLSAgMTYsIDB4OWNkMCwgMCwgezB4MGEsMHgxNCwweDAyLDB4NDQsMHgwNCwweGExLDB4NjgsMHgyYywweDQ4LDB4MDgsMHgxNCwweDAyLDB4YzUsMHgwMCwweDgxLDB4NjAgfSwKLSAgMTYsIDB4OWNlMCwgMCwgezB4MjAsMHg0OCwweDE5LDB4OTAsMHgwMiwweDg1LDB4ODEsMHhiMSwweDQwLDB4MjQsMHg2OCwweDBhLDB4MTIsMHg0MiwweGM0LDB4ODAgfSwKLSAgMTYsIDB4OWNmMCwgMCwgezB4YjksMHgyMCwweDIwLDB4NDAsMHg4YiwweDEwLDB4ODIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQwMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4MTAsMHhhOSwweDAwLDB4NmUsMHhjMCwweDBhLDB4MTAsMHgwMiwweDI0LDB4MTQsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OWQxMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MTIsMHhlNCwweDAwLDB4OTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDgwLDB4MDYsMHhhMCwweDYwLDB4YjkgfSwKLSAgMTYsIDB4OWQyMCwgMCwgezB4MDksMHgyMiwweDYwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgwMiwweDQwLDB4MGIsMHgxMCwweDA2LDB4MDYgfSwKLSAgMTYsIDB4OWQzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZTksMHg4MCwweDNlLDB4NDEgfSwKLSAgMTYsIDB4OWQ0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4NjQsMHgwMCwweGU5LDB4YzAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4OWQ1MCwgMCwgezB4MjIsMHg0MSwweDBkLDB4ODAsMHgwMiwweGEzLDB4MDQsMHhmMSwweDQwLDB4MzYsMHg0MCwweDBlLDB4OTAsMHgwMiwweGU0LDB4MDAgfSwKLSAgMTYsIDB4OWQ2MCwgMCwgezB4ZjEsMHgwMCwweDEyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQ3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhkOSwweDIyLDB4M2UsMHg0MiwweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhiOSwweGM0LDB4M2MgfSwKLSAgMTYsIDB4OWQ4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMiwweGFlLDB4NDAsMHgwZiwweDgwLDB4NGIsMHg2MiwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4OWQ5MCwgMCwgezB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDIsMHg3ZSwweDQxLDB4MGYsMHg5MCwweDEzLDB4Y2EgfSwKLSAgMTYsIDB4OWRhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHg4MCwweDAwLDB4YzgsMHgwMCwweDM4LDB4MDAgfSwKLSAgMTYsIDB4OWRiMCwgMCwgezB4MGYsMHg4MCwweDIwLDB4ZTAsMHgwMCwweGE4LDB4MjAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDA3LDB4ZTAsMHg4MCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4OWRjMCwgMCwgezB4MzgsMHgwMCwweDBkLDB4ODAsMHg4MywweDIxLDB4MTAsMHhmOCwweDYwLDB4MzIsMHgwMCwweDhlLDB4ODAsMHhiMywweDIwLDB4MDggfSwKLSAgMTYsIDB4OWRkMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWRlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHg4YSwweDAwLDB4MzMsMHg5MCwweDQzLDB4YTAsMHgyMiwweDI4LDB4MDAsMHg4ZSwweDgwLDB4NzYgfSwKLSAgMTYsIDB4OWRmMCwgMCwgezB4ODAsMHgwOCwweGUxLDB4MDMsMHgxOSwweDAwLDB4ODYsMHg4MCwweDIyLDB4ODAsMHgwZCwweDYwLDB4MDEsMHg3OCwweDAwLDB4YmUgfSwKLSAgMTYsIDB4OWUwMCwgMCwgezB4MDAsMHgzNiwweDgwLDB4MGMsMHhlNCwweDAyLDB4YTgsMHgxMCwweGJlLDB4YTAsMHgyZiwweDgwLDB4MGQsMHhhMCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4OWUxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTEsMHg0YywweDA0LDB4MDMsMHgwNCwweDJjLDB4ZDQgfSwKLSAgMTYsIDB4OWUyMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4NGMsMHgwMSwweGEzLDB4YzQsMHgyMCwweGMwLDB4MjgsMHgzNSwweDAyLDB4ODYsMHgwMCwweDgzLDB4ODAgfSwKLSAgMTYsIDB4OWUzMCwgMCwgezB4MjgsMHhjMCwweDA4LDB4MzgsMHgwNiwweDBlLDB4OTQsMHgzMCwweGMwLDB4YTIsMHhjMCwweDBiLDB4M2MsMHgwMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4OWU0MCwgMCwgezB4YjMsMHg4MCwweDJjLDB4NDgsMHgwOCwweDMwLDB4MDIsMHg4YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWU1MCwgMCwgezB4YTAsMHgwMSwweDBjLDB4MDQsMHg4ZiwweDgwLDB4MjEsMHhjMSwweDFiLDB4NzIsMHg0MiwweDFlLDB4YzAsMHg4MywweDg4LDB4MjEgfSwKLSAgMTYsIDB4OWU2MCwgMCwgezB4YzAsMHgxOCwweDI4LDB4MDYsMHgxMCwweDIxLDB4ODYsMHgzOCwweDIxLDB4YzAsMHgxOSwweGY3LDB4MDIsMHg1ZCwweGMwLDB4YjQgfSwKLSAgMTYsIDB4OWU3MCwgMCwgezB4NDEsMHgyNywweGQwLDB4MDgsMHg3OCwweGM2LDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweDYwLDB4MDksMHg3MiwweDAyLDB4MjggfSwKLSAgMTYsIDB4OWU4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAyLDB4YzcsMHg4MCwweDJkLDB4YTAgfSwKLSAgMTYsIDB4OWU5MCwgMCwgezB4MGYsMHgzZSwweDAzLDB4ZmUsMHg4MCwweGE3LDB4ODAsMHhhMSwweGUwLDB4MGMsMHg3OCwweDAyLDB4OTQsMHgwMCwweDg1LDB4YTAgfSwKLSAgMTYsIDB4OWVhMCwgMCwgezB4MzksMHhlNCwweDBjLDB4NzgsMHgxMywweDFlLDB4OTAsMHhiNSwweDg0LDB4MzEsMHhlMCwweDBmLDB4ZjgsMHg4NywweDFlLDB4MDQgfSwKLSAgMTYsIDB4OWViMCwgMCwgezB4ZjcsMHg4MCwweDNkLDB4NjAsMHgwYywweDNiLDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWVjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4ZTQsMHhmYiwweDU0LDB4M2UsMHg4MCwweDBmLDB4YjQsMHgyMywweGVjLDB4MzIsMHhmYiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OWVkMCwgMCwgezB4ZDgsMHg0ZiwweGEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZiwweDMwLDB4MzMsMHhlYywweDA0LDB4ZjIgfSwKLSAgMTYsIDB4OWVlMCwgMCwgezB4MDEsMHgzZSwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZmUsMHgxMCwweGZiLDB4NjgsMHgzYywweDQxLDB4MGYsMHhmMCwweDQzLDB4ODIgfSwKLSAgMTYsIDB4OWVmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4Y2YsMHhlNCwweDNmLDB4ZTQgfSwKLSAgMTYsIDB4OWYwMCwgMCwgezB4MGMsMHhmYywweDAzLDB4N2UsMHg4MCwweGNmLDB4ODEsMHgzMywweGZhLDB4MGYsMHhmOCwweDAzLDB4ZjYsMHgwMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4OWYxMCwgMCwgezB4M2YsMHhlMiwweDBmLDB4NzksMHgwMywweDNlLDB4NDAsMHhmNCwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZTgsMHgwMywweDNlLDB4MDAgfSwKLSAgMTYsIDB4OWYyMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4NjAsMHgwYywweGY4LDB4ODMsMHg1MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWYzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhkNywweGEwLDB4MmQsMHhjNCwweDA4LDB4YmEsMHgwMiwweDNjLDB4YTAsMHg4NywweDIwLDB4MjEgfSwKLSAgMTYsIDB4OWY0MCwgMCwgezB4YzAsMHgwZiwweDUyLDB4MDMsMHhkNCwweDAwLDB4YjYsMHgxMCwweDJkLDB4YzAsMHg4YiwweDczLDB4MDMsMHg1YywweDQwLDB4YjQgfSwKLSAgMTYsIDB4OWY1MCwgMCwgezB4YjAsMHgyYiwweDQ4LDB4MjgsMHg0MSwweDAyLDB4MGMsMHgwMCwweGJmLDB4MTgsMHgzNSwweDQ2LDB4MjgsMHg3MiwweDQyLDB4MmEgfSwKLSAgMTYsIDB4OWY2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHg5YywweDAwLDB4ODcsMHg0MSwweDJkLDB4NDQgfSwKLSAgMTYsIDB4OWY3MCwgMCwgezB4MGEsMHg3MywweDAyLDB4OWMsMHhjNCwweDgxLDB4MDAsMHg2ZCwweGM4LDB4OGIsMHg3MCwweDAyLDB4ZDQsMHgwMCwweGI3LDB4MDAgfSwKLSAgMTYsIDB4OWY4MCwgMCwgezB4MmQsMHhjMCwweDBiLDB4ZjAsMHg0NiwweDljLDB4NTUsMHhiNCwweDIwLDB4MjUsMHg0MCwweDE4LDB4NjAsMHg4MiwweDFjLDB4MDAgfSwKLSAgMTYsIDB4OWY5MCwgMCwgezB4YjcsMHgwMCwweDIzLDB4NDAsMHgwOCwweDcwLDB4NDYsMHg0NCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWZhMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHg5MywweDAwLDB4MmMsMHg0MCwweDBiLDB4YjAsMHgwMiwweDBjLDB4ODIsMHg4MCwweGMwLDB4MjAgfSwKLSAgMTYsIDB4OWZiMCwgMCwgezB4YzAsMHgwYSwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgxYiwweDMwLDB4MDAsMHhjZCwweDAxLDB4YjAgfSwKLSAgMTYsIDB4OWZjMCwgMCwgezB4NDAsMHhhYywweDc4LDB4ODgsMHg4YywweDA2LDB4MGQsMHg2MCwweGIzLDB4NGMsMHgyNCwweDEyLDB4MDgsMHgzMCwweDBhLDB4MTggfSwKLSAgMTYsIDB4OWZkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MTUsMHhiYywweDAwLDB4YzcsMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4OWZlMCwgMCwgezB4MGUsMHhmMCwweDJhLDB4YmYsMHgwMCwweGM4LDB4YzgsMHhiZiwweGMwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwNCwweGJmLDB4MDAgfSwKLSAgMTYsIDB4OWZmMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4YjIsMHgwYSwweGFjLDB4MDAsMHhmOCwweDgwLDB4MzQsMHg0OSwweDBjLDB4YjksMHgwYiwweDNmLDB4MDAgfSwKLSAgMTYsIDB4YTAwMCwgMCwgezB4ZmIsMHhjMCwweDMwLDB4ZjAsMHgwYywweGYwLDB4MDMsMHg2ZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTAxMCwgMCwgezB4ODAsMHgwMCwweGNjLDB4MDAsMHhmYiwweDgwLDB4M2UsMHg0MSwweDJjLDB4YjAsMHgxMywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTAyMCwgMCwgezB4YzEsMHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHg0MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg2ZCwweDQwLDB4ZjggfSwKLSAgMTYsIDB4YTAzMCwgMCwgezB4MTAsMHgzYSwweDQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZlLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTEgfSwKLSAgMTYsIDB4YTA0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhlYywweDBjLDB4ZGYsMHgwMCwweDNiLDB4ODAgfSwKLSAgMTYsIDB4YTA1MCwgMCwgezB4MGYsMHhmMCwweDBiLDB4M2MsMHgwOCwweGU3LDB4MDgsMHgzMywweGMwLDB4MGIsMHhkMCwweDIzLDB4NzQsMHgwMCwweDU0LDB4MDAgfSwKLSAgMTYsIDB4YTA2MCwgMCwgezB4MzMsMHhjMCwweDBmLDB4ZjAsMHg4MywweGJlLDB4MjAsMHhmZCwweDBjLDB4M2IsMHg2MCwweDJjLDB4ZTAsMHgwMywweDNjLDB4MDAgfSwKLSAgMTYsIDB4YTA3MCwgMCwgezB4Y2YsMHgxMiwweDMzLDB4NTAsMHgwYywweDMwLDB4MDMsMHg4MCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTA4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDQsMHhhYiwweDAwLDB4MjIsMHhhMCwweDBiLDB4YjAsMHgwNiwweDBjLDB4MDAsMHhhYiwweDQwLDB4MzYgfSwKLSAgMTYsIDB4YTA5MCwgMCwgezB4YzAsMHgwYiwweGE4LDB4MDIsMHg2NiwweDAwLDB4YjgsMHgwMCwweDM2LDB4YzEsMHgwYiwweDM0LDB4NDMsMHhlZSwweDAwLDB4YjIgfSwKLSAgMTYsIDB4YTBhMCwgMCwgezB4MDAsMHgyMiwweDYwLDB4MDgsMHhiNCwweDgyLDB4OGMsMHgwNCwweDhhLDB4MjEsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YTBiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHgwMCwweDJhLDB4MjAgfSwKLSAgMTYsIDB4YTBjMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweDg4LDB4YzUsMHgyMiwweGMwLDB4MGIsMHg4OCwweDgyLDB4ZTYsMHgwMSwweGJiLDB4MDggfSwKLSAgMTYsIDB4YTBkMCwgMCwgezB4MjIsMHhjMCwweDBhLDB4YjIsMHg4MiwweGFjLDB4NjAsMHhiOCwweDAyLDB4NGEsMHhjNCwweDA4LDB4YjEsMHgwMiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4YTBlMCwgMCwgezB4ODMsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTBmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhhYiwweDIwLDB4MjAsMHgwMSwweDBiLDB4MzIsMHgwNiwweDJjLDB4MDAsMHhhMCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YTEwMCwgMCwgezB4YzAsMHgwOSwweDA0LDB4MjIsMHhjNCwweDAwLDB4YjIsMHgwMCwweDI0LDB4YzEsMHg4YiwweGIwLDB4MDIsMHg0YywweDAwLDB4YjAgfSwKLSAgMTYsIDB4YTExMCwgMCwgezB4MDAsMHg2MiwweGMwLDB4NDgsMHgzMCwweDAyLDB4YWMsMHgxMCwweDgyLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YTEyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDA4LDB4ZGYsMHgyYSwweDNhLDB4MDAgfSwKLSAgMTYsIDB4YTEzMCwgMCwgezB4MGYsMHhmNSwweDEyLDB4M2MsMHgxMCwweGM5LDB4MDAsMHhhMywweGMwLDB4MGYsMHg4MCwweDUzLDB4ZWMsMHgwMSwweGRhLDB4MDAgfSwKLSAgMTYsIDB4YTE0MCwgMCwgezB4MzMsMHhjMCwweDBlLDB4YjAsMHgwMywweGFjLDB4MDQsMHhmOCwweDcwLDB4M2EsMHhjMCwweDBjLDB4NjAsMHg0MywweDJjLDB4NDIgfSwKLSAgMTYsIDB4YTE1MCwgMCwgezB4Y2QsMHgwMCwweGIyLDB4NDAsMHgyYywweGYwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTE2MCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmYiwweDAxLDB4M2QsMHgwMCwweDBmLDB4YjQsMHgxNywweGZjLDB4MDAsMHgzYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4YTE3MCwgMCwgezB4YzAsMHg0ZiwweGMwLDB4MDMsMHg3NCwweDA4LDB4ZmUsMHgwMCwweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDA4LDB4ZjggfSwKLSAgMTYsIDB4YTE4MCwgMCwgezB4MzAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YTE5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmNCwweDkwLDB4ZWYsMHgwMCwweDNmLDB4ZDggfSwKLSAgMTYsIDB4YTFhMCwgMCwgezB4MGUsMHhmMywweDAzLDB4MmMsMHgwMSwweGQ0LDB4ODAsMHgzNywweGNjLDB4MGQsMHg4OSwweDQzLDB4MTIsMHg1MCwweGVjLDB4MmMgfSwKLSAgMTYsIDB4YTFiMCwgMCwgezB4MzIsMHgwNSwweDBkLDB4YjAsMHg1MywweDNjLDB4ZDQsMHhjNSwweDk0LDB4N2YsMHhhMCwweDhmLDB4ZjAsMHg0MywweDMwLDB4MDAgfSwKLSAgMTYsIDB4YTFjMCwgMCwgezB4ZGMsMHgwMCwweDMzLDB4MDAsMHgwYywweDQ4LDB4MDcsMHhmMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTFkMCwgMCwgezB4ODAsMHgxMCwweGU2LDB4NDAsMHg4YiwweDcwLDB4MmYsMHhkYywweDA4LDB4ZjcsMHgwMiwweDBjLDB4ODAsMHg4YSwweDIwLDB4MDAgfSwKLSAgMTYsIDB4YTFlMCwgMCwgezB4YzgsMHg0YSwweDIyLDB4MDIsMHhhMCwweDAwLDB4OGEsMHg0OCwweDIyLDB4NTgsMHg4OCwweGZkLDB4MDIsMHhhZCwweDAyLDB4YTkgfSwKLSAgMTYsIDB4YTFmMCwgMCwgezB4MjAsMHgxZSwweGEwLDB4MDMsMHg4MCwweDAyLDB4MmMsMHgwNCwweDhiLDB4MDAsMHgyMiwweGMwLDB4NGMsMHg4OCwweDA3LDB4NjAgfSwKLSAgMTYsIDB4YTIwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDAwLDB4MjMsMHgyYywweDJjLDB4YzkgfSwKLSAgMTYsIDB4YTIxMCwgMCwgezB4MDIsMHgzMCwweDAyLDB4MGMsMHg2OCwweGEwLDB4MjgsMHgyYywweGQwLDB4MDksMHgxMiwweDAyLDB4ODQsMHgwMCwweGEwLDB4MjEgfSwKLSAgMTYsIDB4YTIyMCwgMCwgezB4MjAsMHgxOCwweDE5LDB4MzAsMHgyMiwweDgwLDB4ZDAsMHg4MywweDA2LDB4MGMsMHhhMCwweDBiLDB4YjAsMHgwNiwweDAwLDB4MTIgfSwKLSAgMTYsIDB4YTIzMCwgMCwgezB4YTAsMHgwMCwweDIwLDB4MDAsMHgyOSwweDAwLDB4MGUsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTI0MCwgMCwgezB4YzAsMHgxMSwweGE4LDB4MzAsMHg4YiwweDAwLDB4MmUsMHhjMCwweDRhLDB4MzAsMHgwYSwweDJjLDB4MTQsMHhhMCwweDgwLDB4MGEgfSwKLSAgMTYsIDB4YTI1MCwgMCwgezB4YzEsMHgwOCwweDg4LDB4ODYsMHg4NywweDAwLDB4ODMsMHgwMCwweDIyLDB4NDksMHgwOCwweGIwLDB4MDYsMHhhMCwweDQwLDB4YWIgfSwKLSAgMTYsIDB4YTI2MCwgMCwgezB4MjAsMHgyMiwweDIwLDB4MGIsMHg4MCwweDBhLDB4MGMsMHgwNCwweGFiLDB4MDIsMHgyMiwweGMwLDB4ODgsMHg4MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4YTI3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlZiwweDQwLDB4ZWIsMHgwNiwweDNlLDB4YzAgfSwKLSAgMTYsIDB4YTI4MCwgMCwgezB4MGUsMHhiMCwweDAzLDB4MmMsMHgwMiwweGY5LDB4YTAsMHgzZSwweGMwLDB4MGQsMHg4YywweDAzLDB4YWEsMHgxMCwweGU5LDB4NDAgfSwKLSAgMTYsIDB4YTI5MCwgMCwgezB4YjIsMHg0OCwweDBkLDB4YjAsMHg0MywweGFkLDB4MDAsMHhjYiwweDg2LDB4MmUsMHgyMCwweDBmLDB4MzAsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTJhMCwgMCwgezB4ZjksMHg4MCwweDMyLDB4YzAsMHgwZCwweDBjLDB4YzIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTJiMCwgMCwgezB4ZTAsMHgwMSwweDk0LDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhkZiwweDAwLDB4MzcgfSwKLSAgMTYsIDB4YTJjMCwgMCwgezB4YzAsMHgwZiwweGUwLDB4MDMsMHhmMCwweDAwLDB4ZmUsMHgyMCwweDNmLDB4NDAsMHgwZiwweDcwLDB4MDMsMHhmZSwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YTJkMCwgMCwgezB4ODIsMHg3ZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjksMHgwNCwweGRlLDB4MjAsMHhiZCwweDAwLDB4MGYsMHhkOSwweDBiLDB4N2MgfSwKLSAgMTYsIDB4YTJlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4Y2IsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4YTJmMCwgMCwgezB4MmMsMHhiMCwweDBiLDB4MmMsMHgwMCwweGU4LDB4NDAsMHgzZSwweGMwLDB4MGYsMHg5NCwweDA3LDB4MjksMHgwMCwweGM5LDB4NDAgfSwKLSAgMTYsIDB4YTMwMCwgMCwgezB4YjIsMHhjMCwweDBmLDB4YjAsMHgwMywweDAxLDB4MDIsMHhjYiwweDAwLDB4MzIsMHgwNCwweDRmLDB4ZjAsMHg0MywweDM0LDB4YzAgfSwKLSAgMTYsIDB4YTMxMCwgMCwgezB4YjUsMHgxYSwweDNmLDB4YzEsMHgwZiwweDgwLDB4OTMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTMyMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDAsMHg4ZiwweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDNjLDB4MDQsMHhkOCwweDAwLDB4MmIgfSwKLSAgMTYsIDB4YTMzMCwgMCwgezB4YzAsMHgwYywweDgwLDB4NDUsMHg2MCwweDAwLDB4N2IsMHg1OCwweDIyLDB4YzgsMHgwYiwweGZhLDB4MDEsMHg2MSwweDQwLDB4OGIgfSwKLSAgMTYsIDB4YTM0MCwgMCwgezB4MDAsMHgzMiwweDA0LDB4NGIsMHhjZSwweDAyLDB4MjgsMHgwMCwweDNhLDB4NDAsMHgyZSwweDA3LDB4MGIsMHg5MCwweDAyLDB4MjYgfSwKLSAgMTYsIDB4YTM1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMSwweDRjLDB4YzAgfSwKLSAgMTYsIDB4YTM2MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4ZWMsMHgxMCwweDkwLDB4MDAsMHgyYSwweGMwLDB4MGEsMHg4MCwweDA2LDB4YzAsMHgwNCwweDgzLDB4MDQgfSwKLSAgMTYsIDB4YTM3MCwgMCwgezB4YTIsMHg4OSwweDE5LDB4MzAsMHgwNiwweGNjLDB4MDAsMHg4MywweDAwLDB4MjAsMHg5MCwweDBiLDB4MzAsMHhjMiwweDQ4LDB4MDAgfSwKLSAgMTYsIDB4YTM4MCwgMCwgezB4YjIsMHg0MCwweDI0LDB4MjAsMHgwYiwweDA5LDB4MDAsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTM5MCwgMCwgezB4MjAsMHgwMSwweDA2LDB4MDQsMHg4NywweGE0LDB4MmQsMHhlMCwweDA5LDB4MzgsMHgwMiwweGRlLDB4MDAsMHg5ZSwweDgxLDB4MjkgfSwKLSAgMTYsIDB4YTNhMCwgMCwgezB4ZTAsMHgwOCwweDc4LDB4NTIsMHhmYSwweGMwLDB4OTYsMHg4MCwweDAxLDB4YTAsMHg4YiwweDNhLDB4MjIsMHhjZSwweDQwLDB4OGYgfSwKLSAgMTYsIDB4YTNiMCwgMCwgezB4YjAsMHgyNSwweGEwLDB4MGIsMHgwOCwweDAyLDB4NTYsMHgwOCwweGI1LDB4OTAsMHgyZCwweGU0LDB4NGIsMHhkOCwweDIyLDB4MGMgfSwKLSAgMTYsIDB4YTNjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAyLDB4ODMsMHg4MCwweDJlLDB4ZTggfSwKLSAgMTYsIDB4YTNkMCwgMCwgezB4MGIsMHgzOCwweDEzLDB4Y2UsMHg0MSwweGQzLDB4MTAsMHgyOCwweGMwLDB4MGUsMHgzYSwweDAyLDB4YzYsMHgwOCwweDRiLDB4NDAgfSwKLSAgMTYsIDB4YTNlMCwgMCwgezB4MzAsMHg2MCwweDBkLDB4M2IsMHgyNywweGNmLDB4YzQsMHhjMywweGEwLDB4MzAsMHgwMCwweDBmLDB4MzAsMHg0MywweDQ4LDB4NDAgfSwKLSAgMTYsIDB4YTNmMCwgMCwgezB4ZjIsMHgwMCwweDNjLDB4MDQsMHgwZiwweDAyLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQwMCwgMCwgezB4NDAsMHgxZCwweGI4LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjNCwweDBlLDB4ZjEsMHgwMywweDNjLDB4MDAsMHhmZiwweDAxLDB4MzMgfSwKLSAgMTYsIDB4YTQxMCwgMCwgezB4YzAsMHg0ZCwweGIxLDB4MDcsMHg3YywweDkwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwMywweGYxLDB4MDMsMHg3MCwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YTQyMCwgMCwgezB4MTAsMHgzYiwweDAwLDB4MGYsMHhjMCwweDBiLDB4YjQsMHgwMCwweGZkLDB4MDAsMHgzZiwweGM0LDB4MGYsMHhkMCwweDAzLDB4OTAgfSwKLSAgMTYsIDB4YTQzMCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDA0LDB4ZmIsMHg4NCwweDNhLDB4YzIgfSwKLSAgMTYsIDB4YTQ0MCwgMCwgezB4NGMsMHhiNCwweDkzLDB4MmMsMHgwNCwweGU5LDB4MDAsMHgzYSwweGM0LDB4OGQsMHgwOCwweDAzLDB4MmUsMHgwMCwweGNiLDB4MDEgfSwKLSAgMTYsIDB4YTQ1MCwgMCwgezB4MzIsMHg4MCwweDhmLDB4YjIsMHg4MywweGVjLDB4MDAsMHhjYiwweDgwLDB4MzIsMHgwMCwweDBmLDB4ZjksMHgwMywweDNjLDB4MTAgfSwKLSAgMTYsIDB4YTQ2MCwgMCwgezB4ZGYsMHg4MSwweGIzLDB4ZTAsMHg4YywweGEwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQ3MCwgMCwgezB4NDgsMHgxMSwweDk0LDB4MDgsMHhiNywweDA0LDB4MjQsMHhjOCwweDFhLDB4MzAsMHg0YSwweDFkLDB4MDAsMHhiNywweDAxLDB4MmQgfSwKLSAgMTYsIDB4YTQ4MCwgMCwgezB4YzAsMHg4OCwweDcwLDB4MDYsMHgxYywweDAwLDB4ODIsMHgwMCwweDIxLDB4ODAsMHg0YiwweDc2LDB4MTIsMHhkYywweDAwLDB4ODcgfSwKLSAgMTYsIDB4YTQ5MCwgMCwgezB4MDAsMHgyOSwweDQwLDB4OGIsMHg0MCwweDAyLDB4MTAsMHgwMCwweGJjLDB4MDAsMHgyMCwweDAxLDB4MjgsMHg3MCwweDAzLDB4YjIgfSwKLSAgMTYsIDB4YTRhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDAwLDB4YjMsMHg5MCwweDJkLDB4ZTQgfSwKLSAgMTYsIDB4YTRiMCwgMCwgezB4MDksMHg3OSwweDAyLDB4MWUsMHg4MCwweGE3LDB4ODAsMHgyYywweGU4LDB4MTksMHhmOCwweDEyLDB4NWUsMHgwMSwweDg3LDB4ODAgfSwKLSAgMTYsIDB4YTRjMCwgMCwgezB4MjUsMHhlMCwweDRiLDB4NzgsMHgwNiwweGQyLDB4MDAsMHg5NywweDgwLDB4MjEsMHg2MiwweDBiLDB4M2EsMHgwMiwweDFlLDB4MDAgfSwKLSAgMTYsIDB4YTRkMCwgMCwgezB4YjcsMHg4NiwweDI5LDB4ZjAsMHgwOCwweDY4LDB4MDYsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTRlMCwgMCwgezB4NDgsMHgxNCwweGNmLDB4YzAsMHhiMywweDAwLDB4MjQsMHhjMCwweDhhLDB4MzAsMHgzMiwweDBjLDB4MDAsMHhiMywweDA4LDB4MmMgfSwKLSAgMTYsIDB4YTRmMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MTIsMHgwZSwweDIwLDB4ODMsMHgwMCwweDI0LDB4ZjEsMHgwYiwweDMwLDB4MDYsMHhjZSwweDAwLDB4ODMgfSwKLSAgMTYsIDB4YTUwMCwgMCwgezB4OTAsMHgyOCwweDYwLDB4MGIsMHgwMCwweDJhLDB4MjEsMHg4MCwweGIwLDB4MDgsMHgyOCwweDAwLDB4MDgsMHgzNywweDAyLDB4OTIgfSwKLSAgMTYsIDB4YTUxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4YTUyMCwgMCwgezB4NGQsMHhhMCwweDAzLDB4MjgsMHgwMCwweGVlLDB4NDEsMHgzZSwweDgwLDB4MGQsMHhlMCwweDAzLDB4NzgsMHgwMCwweDhlLDB4NDAgfSwKLSAgMTYsIDB4YTUzMCwgMCwgezB4MjcsMHhhOCwweDBiLDB4YTAsMHgwMywweGZiLDB4MDIsMHhjYSwweDgyLDB4MzMsMHhhMCwweDBmLDB4YTAsMHgxMywweDI5LDB4MDAgfSwKLSAgMTYsIDB4YTU0MCwgMCwgezB4ZmEsMHg0MCwweDNhLDB4ODAsMHgwYywweDZjLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTU1MCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDgsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTU2MCwgMCwgezB4MDAsMHg4ZiwweDgwLDB4MjMsMHhhMCwweDQyLDB4ZjgsMHgwOSwweGJhLDB4MTAsMHg0ZiwweDgwLDB4MDMsMHhlMCwweDYwLDB4ZjggfSwKLSAgMTYsIDB4YTU3MCwgMCwgezB4MDAsMHgzZSwweDIwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgyNywweDAwLDB4OGYsMHg4MCwweDAzLDB4OTIgfSwKLSAgMTYsIDB4YTU4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNSwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4YTU5MCwgMCwgezB4NmUsMHg5MCwweDAzLDB4YTQsMHgwOCwweGM5LDB4MDAsMHgzYywweDQwLDB4MGQsMHg5MCwweDAzLDB4MjQsMHgxMCwweGY5LDB4YTAgfSwKLSAgMTYsIDB4YTVhMCwgMCwgezB4MzIsMHg0MiwweDBjLDB4OTAsMHgxMywweGM0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4NDAgfSwKLSAgMTYsIDB4YTViMCwgMCwgezB4YzksMHgyMCwweDNlLDB4NTIsMHhjZiwweDkwLDB4MDksMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTVjMCwgMCwgezB4ODAsMHgwNCwweDY2LDB4MDAsMHg4OSwweDA0LDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhkOSwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YTVkMCwgMCwgezB4NDEsMHgwOCwweDkwLDB4MDUsMHhhNCwweDAwLDB4YjksMHg0MCwweGEyLDB4NDAsMHgwZCwweDkwLDB4MDIsMHhlNSwweDQ2LDB4ODkgfSwKLSAgMTYsIDB4YTVlMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDEyLDB4ZTUsMHgwMCwweGE5LDB4YzgsMHgyZSwweDYxLDB4OGIsMHg5NCwweDQyLDB4MjAgfSwKLSAgMTYsIDB4YTVmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YTksMHgwMCwweDZjLDB4NDAgfSwKLSAgMTYsIDB4YTYwMCwgMCwgezB4NDgsMHgxMCwweDIyLDB4ODQsMHgwMywweGE5LDB4MDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwNCwweGIxLDB4MDggfSwKLSAgMTYsIDB4YTYxMCwgMCwgezB4MjgsMHg0MCwweDE4LDB4OTgsMHgwMiwweGU1LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGY0LDB4MjAgfSwKLSAgMTYsIDB4YTYyMCwgMCwgezB4OGQsMHgwMCwweDJmLDB4NDAsMHgwYiwweDk0LDB4NDIsMHg4NiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTYzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhhMSwweDI0LDB4MmMsMHg0OCwweDE4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHhhMSwweDAwLDB4MjggfSwKLSAgMTYsIDB4YTY0MCwgMCwgezB4NDgsMHgwOCwweDEwLDB4MDIsMHg4NCwweDAwLDB4OTEsMHgyMCwweDIwLDB4NDgsMHgwOSwweDEyLDB4MDIsMHhjNCwweDk0LDB4ODEgfSwKLSAgMTYsIDB4YTY1MCwgMCwgezB4MDAsMHgyYywweDYxLDB4MGIsMHg1YSwweDgyLDB4ZDQsMHhhMCwweGE1LDB4MjgsMHgyZCwweDRhLDB4MGIsMHg5MCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4YTY2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAyLDB4ZTgsMHg1MCwweDJlLDB4MTQgfSwKLSAgMTYsIDB4YTY3MCwgMCwgezB4MGUsMHg4NSwweDAzLDB4YTEsMHg0MCwweGE4LDB4NTAsMHgzZSwweDE0LDB4MGQsMHg4NSwweDAxLDB4ODEsMHg0MCwweGY4LDB4NTIgfSwKLSAgMTYsIDB4YTY4MCwgMCwgezB4MzIsMHg5NCwweDBjLDB4ODAsMHgxMywweGMxLDB4NDIsMHhjMCwweDUxLDB4M2UsMHgwMCwweDhmLDB4ODIsMHgwMywweGUwLDB4ODAgfSwKLSAgMTYsIDB4YTY5MCwgMCwgezB4YzgsMHgyMCwweDNmLDB4MDgsMHgwZiwweDgwLDB4MDMsMHhhZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTZhMCwgMCwgezB4OTgsMHgxOSwweGY0LDB4NTAsMHhkOSwweDExLDB4M2UsMHg0NCwweDhmLDB4OTEsMHg0MywweGU0LDB4NDAsMHhkZCwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YTZiMCwgMCwgezB4NDQsMHg0ZiwweGQwLDB4MjcsMHhiNCwweDAwLDB4ZmQsMHgxMiwweDNmLDB4NDQsMHg0ZiwweDkxLDB4NDMsMHhmNCwweDQwLDB4ZmQgfSwKLSAgMTYsIDB4YTZjMCwgMCwgezB4MDAsMHgzZiwweDQxLDB4MGYsMHg5MiwweDgzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHhkMCwweDAzLDB4NjYgfSwKLSAgMTYsIDB4YTZkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhmNiwweDgwLDB4ZTksMHhjMCwweDNlLDB4NzggfSwKLSAgMTYsIDB4YTZlMCwgMCwgezB4OGYsMHg5YiwweDAzLDB4YTcsMHg4MCwweGM5LDB4NDAsMHgzNiwweDc4LDB4MGYsMHgxMCwweDIzLDB4ZTUsMHgwNCwweGRkLDB4YTQgfSwKLSAgMTYsIDB4YTZmMCwgMCwgezB4MzMsMHg2MiwweDBmLDB4ZGEsMHgwMywweGY2LDB4NjAsMHhjOSwweDEwLDB4MzMsMHg0MCwweDBlLDB4OTgsMHg5MywweGU2LDB4MzAgfSwKLSAgMTYsIDB4YTcwMCwgMCwgezB4YzksMHhjOSwweDMyLDB4NzgsMHg4YywweGQwLDB4MGIsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTcxMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHg4OCwweGUyLDB4MmUsMHgzMCwweDBiLDB4ODgsMHg0MiwweDIzLDB4NDAsMHhhMCwweGExLDB4MjIgfSwKLSAgMTYsIDB4YTcyMCwgMCwgezB4MzgsMHgwYiwweDhhLDB4MDIsMHhlMiwweDgwLDB4YWEsMHhlMCwweDIyLDB4MzAsMHgwYiwweDgwLDB4MjMsMHhhYiwweDAyLDB4ODggfSwKLSAgMTYsIDB4YTczMCwgMCwgezB4YTAsMHgyYSwweDAwLDB4MGIsMHg4YywweDAyLDB4ZTMsMHgwMCwweDg4LDB4ZTAsMHgyMywweDM4LDB4MDgsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YTc0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YTEsMHg0NCwweDI4LDB4NTggfSwKLSAgMTYsIDB4YTc1MCwgMCwgezB4NDMsMHgxNiwweDIyLDB4ODQsMHg4MSwweDgxLDB4MjAsMHgyYywweDU4LDB4NDksMHgxMCwweDgwLDB4YzQsMHg4MSwweDkxLDB4NDggfSwKLSAgMTYsIDB4YTc2MCwgMCwgezB4NmMsMHg0YSwweDBiLDB4MTQsMHgwMiwweDQ0LDB4ODQsMHg4MSwweDAxLDB4NjAsMHg0MCwweDBhLDB4NTIsMHg4NiwweGQ0LDB4YTAgfSwKLSAgMTYsIDB4YTc3MCwgMCwgezB4ODUsMHgwMCwweGExLDB4NTAsMHg2OCwweDkwLDB4MDYsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTc4MCwgMCwgezB4MTgsMHgwNSwweGE2LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA0LDB4MDAsMHhhOSwweDYwLDB4MjIgfSwKLSAgMTYsIDB4YTc5MCwgMCwgezB4NDAsMHgwYiwweDk1LDB4MDIsMHhlNCwweDEwLDB4YjEsMHgwMCwweDRlLDB4NDAsMHgwYiwweDkwLDB4NjYsMHhhYywweDgwLDB4ODkgfSwKLSAgMTYsIDB4YTdhMCwgMCwgezB4MDAsMHgyYSwweDYwLDB4MGIsMHg5MCwweDUyLDB4ZjQsMHgwMCwweDg1LDB4MDAsMHgyMSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4YTdiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNiwweDIwLDB4ZTksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4YTdjMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YTQsMHgxMCwweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHg5NCwweDAxLDB4ZTUsMHgyMCwweGQ5LDB4NDAgfSwKLSAgMTYsIDB4YTdkMCwgMCwgezB4YmEsMHg2OCwweDhmLDB4OTAsMHgwNywweGU2LDB4MDAsMHhjOSwweDEwLDB4MzIsMHg2MiwweDBlLDB4OTAsMHgwMiwweGU0LDB4MTggfSwKLSAgMTYsIDB4YTdlMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTdmMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0MCwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTgwMCwgMCwgezB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMiwweDcyLDB4NjgsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YTgxMCwgMCwgezB4MDEsMHgzZSwweDQyLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMiwweGY5LDB4MDQsMHgzZSwweDQwLDB4NGYsMHg5MCwweDAzLDB4MWEgfSwKLSAgMTYsIDB4YTgyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHg4MCwweDAyLDB4YzgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YTgzMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGM4LDB4NDAsMHgzNiwweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGQ4LDB4NTAgfSwKLSAgMTYsIDB4YTg0MCwgMCwgezB4YjIsMHgxMCwweDhjLDB4ODEsMHgwMywweGMxLDB4MjAsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YzAsMHgxMywweGYwLDB4MDQgfSwKLSAgMTYsIDB4YTg1MCwgMCwgezB4NGMsMHgwMCwweDNmLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTg2MCwgMCwgezB4MjgsMHgxNSwweDJhLDB4MDAsMHg4YSwweDA0LDB4MjIsMHg4MSwweDI4LDB4YTAsMHgxMiwweDI4LDB4MDAsMHg4YSwweDAxLDB4MzYgfSwKLSAgMTYsIDB4YTg3MCwgMCwgezB4ODAsMHgwYiwweGEwLDB4MTAsMHgyOCwweDEwLDB4Y2UsMHgwMSwweDIzLDB4ODEsMHgwYywweGE4LDB4MTIsMHhmYiwweDAwLDB4OGEgfSwKLSAgMTYsIDB4YTg4MCwgMCwgezB4MDEsMHgzYiwweDgwLDB4ODMsMHhhMCwweDQyLDB4ZTgsMHgxMCwweDhhLDB4MDAsMHgyZiwweDgwLDB4MGIsMHg2MCwweDQyLDB4MGEgfSwKLSAgMTYsIDB4YTg5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAgfSwKLSAgMTYsIDB4YThhMCwgMCwgezB4MTgsMHhiMCwweDAwLDB4Y2MsMHgwMCwweDliLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMCwweDA2LDB4NmMsMHgwMCwweGEzLDB4MDggfSwKLSAgMTYsIDB4YThiMCwgMCwgezB4MjgsMHhjOCwweDA5LDB4MzAsMHgwMiwweGNjLDB4NDMsMHg4YiwweDAwLDB4MmMsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDIgfSwKLSAgMTYsIDB4YThjMCwgMCwgezB4ODMsMHgwMSwweDJjLDB4YzAsMHg0YiwweDMwLDB4MDAsMHg0YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YThkMCwgMCwgezB4YTAsMHgwMSwweDBjLDB4MjQsMHg4NywweDk0LDB4MjEsMHhlNCwweDE4LDB4MzEsMHgwMiwweGRjLDB4ODAsMHg5NywweDEwLDB4MjUgfSwKLSAgMTYsIDB4YThlMCwgMCwgezB4Y2QsMHgwYiwweGYyLDB4MDIsMHg3YywweDAwLDB4YTAsMHgwMCwweDI4LDB4ZTAsMHgxOCwweDcwLDB4MDIsMHhkYywweDAxLDB4ODcgfSwKLSAgMTYsIDB4YThmMCwgMCwgezB4MzQsMHgyOSwweDQwLDB4MDksMHg0MCwweDAyLDB4ZDAsMHgwNCwweDg0LDB4MDQsMHgyZCwweDAwLDB4NGIsMHhkMCwweDIyLDB4NjggfSwKLSAgMTYsIDB4YTkwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4Y2YsMHhhMCwweDcwLDB4ZTkgfSwKLSAgMTYsIDB4YTkxMCwgMCwgezB4MTgsMHg3YiwweDAzLDB4ZmYsMHg0MCwweDk3LDB4YTAsMHgzNSwweGU4LDB4MGYsMHg3NCwweDAyLDB4NWUsMHgyMCwweGU0LDB4ODAgfSwKLSAgMTYsIDB4YTkyMCwgMCwgezB4MzksMHhhMCwweDJkLDB4NzgsMHgwMywweGZlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDVmLDB4NjgsMHg0MywweGMyLDB4MDAgfSwKLSAgMTYsIDB4YTkzMCwgMCwgezB4YzQsMHg4NCwweDFkLDB4NjAsMHgwZiwweDc4LDB4MDMsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTk0MCwgMCwgezB4MDgsMHgwZCwweGE0LDB4MDAsMHgzYiwweDAwLDB4MmUsMHhkOCwweDBmLDB4YjQsMHgwMywweDJkLDB4OGEsMHhlYiwweDYyLDB4M2EgfSwKLSAgMTYsIDB4YTk1MCwgMCwgezB4ZDAsMHgwZiwweGIyLDB4ODcsMHgwYywweGQwLDB4ZDgsMHgwMCwweDMyLDB4YzAsMHg0ZiwweDkwLDB4NDMsMHhlYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YTk2MCwgMCwgezB4MDgsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZiwweDgwLDB4MGYsMHgwMCwweDJiLDB4ODIgfSwKLSAgMTYsIDB4YTk3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4ZmYsMHhhMCwweDNlLDB4ZjQgfSwKLSAgMTYsIDB4YTk4MCwgMCwgezB4MGUsMHhiOCwweDAzLDB4ZWUsMHgwOCwweDRiLDB4ZjAsMHg3ZiwweGY0LDB4MGMsMHhmOSwweDIzLDB4ZWUsMHg0OCwweDc4LDB4OTAgfSwKLSAgMTYsIDB4YTk5MCwgMCwgezB4MzIsMHhlNCwweDBjLDB4ZjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlNCwweDFjLDB4NzksMHgwMywweDJlLDB4NDAgfSwKLSAgMTYsIDB4YTlhMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4ZTAsMHgyYywweDc4LDB4MDcsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTliMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4MDAsMHhiMywweDAwLDB4MGMsMHhlNSwweDBiLDB4MzgsMHgwMiwweGZlLDB4ODAsMHg4ZiwweDgwLDB4NjEgfSwKLSAgMTYsIDB4YTljMCwgMCwgezB4YzQsMHgyOCwweDc4LDB4MDAsMHg0ZSwweDAwLDB4ZjQsMHg4NCwweDI1LDB4YTgsMHgwYywweDcwLDB4MDIsMHhjYywweDA0LDB4YjMgfSwKLSAgMTYsIDB4YTlkMCwgMCwgezB4OTAsMHgyNSwweDQwLDB4MGMsMHg0MSwweDgzLDB4NTIsMHg0MCwweGI0LDB4MTAsMHhhMywweDAwLDB4MGMsMHg1MiwweDAzLDB4NmEgfSwKLSAgMTYsIDB4YTllMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDAwLDB4YjcsMHgyMSwweDZkLDB4YzggfSwKLSAgMTYsIDB4YTlmMCwgMCwgezB4NGIsMHg3MCwweDAyLDB4ZGMsMHg0MiwweGE3LDB4MzEsMHgyOSwweGM0LDB4MDgsMHg3MiwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MjggfSwKLSAgMTYsIDB4YWEwMCwgMCwgezB4MjQsMHg4MCwweDA4LDB4NzAsMHgwNiwweGQ0LDB4MjAsMHhiNywweDAxLDB4MmQsMHhjMSwweDA4LDB4NjAsMHgwMiwweDUwLDB4ODAgfSwKLSAgMTYsIDB4YWExMCwgMCwgezB4YjQsMHgwOCwweDIxLDB4NjIsMHgwOSwweDc0LDB4MDYsMHg4MCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWEyMCwgMCwgezB4MjAsMHgxNCwweGM3LDB4MDQsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAyLDB4NjAgfSwKLSAgMTYsIDB4YWEzMCwgMCwgezB4YzAsMHgwOCwweDM4LDB4MDIsMHg0ZSwweDQ0LDB4YTAsMHhjMCwweDI0LDB4OTEsMHgwOCwweDMwLDB4MDIsMHhjMCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YWE0MCwgMCwgezB4MDAsMHgyNCwweDYwLDB4MDgsMHgxYywweDAyLDB4NGMsMHg4OCwweGIzLDB4YzAsMHgyMCwweGEwLDB4MDgsMHgwMCwweDBhLDB4ODggfSwKLSAgMTYsIDB4YWE1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4YzAgfSwKLSAgMTYsIDB4YWE2MCwgMCwgezB4NGYsMHhmMCwweDEzLDB4ZmMsMHgwOCwweGU3LDB4OGEsMHgzZiwweGMwLDB4MGMsMHhmNSwweGMyLDB4ZmUsMHgxMCwweGJiLDB4YzAgfSwKLSAgMTYsIDB4YWE3MCwgMCwgezB4MzIsMHhkNCwweDBjLDB4MzAsMHgxMywweGUzLDB4MDQsMHhiZiwweDAwLDB4MmUsMHg2MiwweDA4LDB4YjksMHgwMiwweDZlLDB4MDAgfSwKLSAgMTYsIDB4YWE4MCwgMCwgezB4ZmIsMHgwMSwweDMyLDB4YTQsMHg0ZCwweDk0LDB4MDIsMHhhYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWE5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4NjAsMHhmYiwweDAwLDB4MWUsMHhjMCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHg1YiwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YWFhMCwgMCwgezB4YzAsMHgwZiwweGIwLDB4NDEsMHhlYywweDAwLDB4N2IsMHg0NSwweGJhLDB4NDAsMHgyZSwweGIwLDB4MTUsMHhlMCwweDAxLDB4ZmIgfSwKLSAgMTYsIDB4YWFiMCwgMCwgezB4MDAsMHgzZSwweDUwLDB4MGUsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZjLDB4MjAsMHgzZiwweDUwLDB4OGYsMHg5MCwweDAxLDB4NjAgfSwKLSAgMTYsIDB4YWFjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4YWFkMCwgMCwgezB4OGYsMHhmMCwweDAzLDB4MWMsMHgwMiwweGNmLDB4MDAsMHgzNiwweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCwweDdmLDB4MmEgfSwKLSAgMTYsIDB4YWFlMCwgMCwgezB4M2YsMHg4MCwweDBmLDB4ZjgsMHgxMywweDkwLDB4MjEsMHhjZiwweDAwLDB4M2YsMHg2MiwweDBjLDB4ZTAsMHgwMywweDMwLDB4MDAgfSwKLSAgMTYsIDB4YWFmMCwgMCwgezB4ZjgsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4MDMsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWIwMCwgMCwgezB4ODEsMHgwNCwweDY0LDB4MTEsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhkYiwweDA0LDB4MzIgfSwKLSAgMTYsIDB4YWIxMCwgMCwgezB4YzAsMHgwZSwweGIwLDB4MDIsMHhlYywweDAwLDB4YmIsMHg4NCwweDJlLDB4NDAsMHgwYiwweGI5LDB4NDIsMHgyMiwweDQyLDB4OGIgfSwKLSAgMTYsIDB4YWIyMCwgMCwgezB4MDEsMHgyYywweDcyLDB4MGEsMHg5MCwweDQyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMyLDB4OGYsMHg4OCwweDA2LDB4ZTAgfSwKLSAgMTYsIDB4YWIzMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyNCwweDAwLDB4YmIsMHgwMCwweDZlLDB4YzAgfSwKLSAgMTYsIDB4YWI0MCwgMCwgezB4NDgsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4MGEsMHhiMCwweDEyLDB4ZWMsMHgwMCwweGJiLDB4NDAgfSwKLSAgMTYsIDB4YWI1MCwgMCwgezB4MmUsMHhjOCwweDBiLDB4YjAsMHgxMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0OCwweDBhLDB4MzAsMHgwMiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4YWI2MCwgMCwgezB4YmIsMHgwMCwweDJlLDB4ODAsMHg0YiwweDk4LDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWI3MCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMywweDAwLDB4NmMsMHhjMiwweDRiLDB4MzEsMHgwMiwweDBjLDB4NTAsMHg5YiwweDIwLDB4MjAgfSwKLSAgMTYsIDB4YWI4MCwgMCwgezB4YzAsMHgwYSwweDMyLDB4MTIsMHhjYywweDgwLDB4YjMsMHgwMCwweDZjLDB4MGMsMHgwYiwweDMxLDB4MDIsMHgwYywweDQyLDB4ODMgfSwKLSAgMTYsIDB4YWI5MCwgMCwgezB4MDgsMHgyZSwweDQwLDB4MGEsMHgwMCwweDAyLDB4MDAsMHg4MCwweGIwLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4YWJhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4YmIsMHg0MCwweDNmLDB4Y2MgfSwKLSAgMTYsIDB4YWJiMCwgMCwgezB4MGUsMHhmMCwweDgzLDB4M2QsMHhhMCwweGNmLDB4MjAsMHgzNywweGMwLDB4MGMsMHhmNywweGMzLDB4ZmQsMHg0OCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4YWJjMCwgMCwgezB4M2UsMHg4OCwweDBmLDB4YjQsMHgxMywweGE1LDB4MDAsMHg4ZiwweDMwLDB4M2UsMHg0MCwweDBjLDB4YTAsMHgwMywweDYwLDB4ODAgfSwKLSAgMTYsIDB4YWJkMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDkwLDB4MjMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWJlMCwgMCwgezB4YTAsMHgxOSwweGY0LDB4MDAsMHhmZiwweDI5LDB4M2YsMHhjOSwweDBmLDB4ZjAsMHgxMywweGZjLDB4OTQsMHhlZiwweDEyLDB4M2IgfSwKLSAgMTYsIDB4YWJmMCwgMCwgezB4YzAsMHg4ZSwweGIyLDB4MDcsMHhmZCwweDA0LDB4ZmYsMHgxMCwweDNmLDB4MGMsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YWMwMCwgMCwgezB4MjAsMHgzZCwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZmMsMHg0MCwweGZmLDB4MDQsMHgzZiwweGMwLDB4MGUsMHhjMCwweDQzLDB4ZTggfSwKLSAgMTYsIDB4YWMxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGEyLDB4YzcsMHgyMCwweDNmLDB4MjQgfSwKLSAgMTYsIDB4YWMyMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4M2MsMHg4MCwweGNjLDB4MDksMHgzMywweGQxLDB4MGMsMHhmMSwweDIzLDB4ZmMsMHgyMCwweGRmLDB4MzYgfSwKLSAgMTYsIDB4YWMzMCwgMCwgezB4M2YsMHhjMCwweDBlLDB4NDgsMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4MzcsMHhlNCwweDBkLDB4NzgsMHgwMywweDExLDB4YTAgfSwKLSAgMTYsIDB4YWM0MCwgMCwgezB4Y2YsMHgwMCwweDM3LDB4YzgsMHgwYywweGYwLDB4MDMsMHgzMCwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWM1MCwgMCwgezB4ODAsMHgxMCwweGZmLDB4MDAsMHg4ZiwweGQxLDB4MmUsMHgwOCwweDBkLDB4YjYsMHgxMiwweDNkLDB4NDUsMHhmOSwweDY0LDB4MjcgfSwKLSAgMTYsIDB4YWM2MCwgMCwgezB4ZDAsMHg4OCwweGJhLDB4MTQsMHhjYywweDA0LDB4OGYsMHg0MCwweDIzLDB4ZjAsMHgwYiwweDg4LDB4MDIsMHgyZSwweDA0LDB4YmIgfSwKLSAgMTYsIDB4YWM3MCwgMCwgezB4ODAsMHhhZSwweGMwLDB4MDgsMHhiOCwweDBhLDB4MjEsMHgwMCwweDg4LDB4ZDAsMHgyMiwweDIwLDB4MjgsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YWM4MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4OTMsMHgwMCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4YWM5MCwgMCwgezB4MGEsMHgzNCwweDgyLDB4OGMsMHhhMCwweGEwLDB4MDgsMHgyNCwweGQ4LDB4MDksMHgzMSwweDAyLDB4Y2MsMHgyMCwweGIzLDB4MzIgfSwKLSAgMTYsIDB4YWNhMCwgMCwgezB4MjgsMHhkMCwweDRhLDB4ODAsMHgwMiwweGNjLDB4MGMsMHhiYiwweDAwLDB4MjIsMHg0MCwweDg5LDB4YjAsMHgwMiwweDYwLDB4ODAgfSwKLSAgMTYsIDB4YWNiMCwgMCwgezB4OTMsMHgwMCwweDI0LDB4ZDAsMHgwYiwweDMwLDB4MDIsMHhhMiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWNjMCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHg5YiwweDAwLDB4MmUsMHgyMCwweDA5LDB4YjAsMHg0YSwweDJjLDB4MDIsMHhhMCwweDAwLDB4MDYgfSwKLSAgMTYsIDB4YWNkMCwgMCwgezB4YzAsMHgwOSwweGIwLDB4MDAsMHhlYywweDAwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwYiwweDg4LDB4MDIsMHg2YywweDAwLDB4YmIgfSwKLSAgMTYsIDB4YWNlMCwgMCwgezB4MjAsMHgyYSwweGUyLDB4NDEsMHhiOCwweDJhLDB4NjAsMHgwYSwweDk4LDB4MDAsMHgyNiwweDAwLDB4MGIsMHhiMCwweDAyLDB4YjggfSwKLSAgMTYsIDB4YWNmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDA4LDB4ZGIsMHgwMiwweDNlLDB4MjAgfSwKLSAgMTYsIDB4YWQwMCwgMCwgezB4NGMsMHhiMCwweDAzLDB4MmMsMHgwMiwweDhiLDB4MjAsMHgxMiwweGMwLDB4MjksMHhiMCwweDEyLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4YWQxMCwgMCwgezB4M2EsMHhjMCwweDBlLDB4ODgsMHgwMywweGVkLDB4MjAsMHhmYiwweGM4LDB4MzQsMHhmMCwweDBkLDB4YmEsMHgwMywweDQ3LDB4NjAgfSwKLSAgMTYsIDB4YWQyMCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweGIwLDB4MGIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWQzMCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHhlZiwweDAwLDB4MGYsMHgwMCwweDBmLDB4MzAsMHgwMCwweGZjLDB4MDAsMHhkZiwweDkwLDB4YmIgfSwKLSAgMTYsIDB4YWQ0MCwgMCwgezB4YzAsMHhjZSwweGYwLDB4MDMsMHhmYywweDA0LDB4Y2IsMHgwMCwweDE3LDB4YzAsMHgwZiwweGMwLDB4MDMsMHhiYywweDg0LDB4ZmYgfSwKLSAgMTYsIDB4YWQ1MCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGUsMHhkMCwweDYzLDB4YjgsMHgwMCwweGVhLDB4MDAsMHgzYSwweDgwLDB4MGMsMHgzMCwweDAzLDB4NzAgfSwKLSAgMTYsIDB4YWQ2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZmIsMHgwMiwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YWQ3MCwgMCwgezB4MGYsMHhiMCwweDUzLDB4MmMsMHgwMCwweGZhLDB4MDAsMHgzMiwweGMwLDB4OGYsMHhiMCwweDA3LDB4MmMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4YWQ4MCwgMCwgezB4YjIsMHhjMCwweDBmLDB4ODAsMHgwNywweGFjLDB4ODAsMHhkYiwweDI0LDB4N2UsMHhkMCwweDBlLDB4YjAsMHgyMywweDc0LDB4MDQgfSwKLSAgMTYsIDB4YWQ5MCwgMCwgezB4ZGQsMHgwOCwweGI1LDB4NDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWRhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHhiZiwweGMwLDB4YTAsMHgwMCwweDFiLDB4ZjAsMHgwMiwweDNmLDB4NjAsMHhlYSwweDUwLDB4MjMgfSwKLSAgMTYsIDB4YWRiMCwgMCwgezB4YzAsMHgwOCwweGZhLDB4MDcsMHhmYywweDAwLDB4ZGYsMHgwMCwweDYzLDB4YzAsMHg0OCwweDE4LDB4MDIsMHgyZCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YWRjMCwgMCwgezB4MDAsMHg2ZSwweGMwLDB4MGQsMHgzYSwweDAzLDB4MjQsMHgwMCwweDgyLDB4ODAsMHgzMiwweDgwLDB4MGQsMHhmMCwweDAzLDB4MzIgfSwKLSAgMTYsIDB4YWRkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDE0LDB4YjMsMHg1OSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4YWRlMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MmUsMHgwNSwweGIwLDB4NDQsMHgyZSwweGMwLDB4MDksMHgzNCwweDgyLDB4ZWMsMHgwMCwweGFiLDB4MDQgfSwKLSAgMTYsIDB4YWRmMCwgMCwgezB4MjAsMHhjMCwweDA5LDB4MjEsMHhiMiwweDhlLDB4MDQsMHg5MywweGMwLDB4MjQsMHhjMCwweDBhLDB4MTgsMHgwNiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4YWUwMCwgMCwgezB4OTIsMHg1MCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg3MCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWUxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4NjEsMHhlMCwweDBiLDB4NzgsMHgwYSwweDVlLDB4MDEsMHhiMSwweGEwLDB4MmQgfSwKLSAgMTYsIDB4YWUyMCwgMCwgezB4ZTAsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4MDcsMHg5MCwweDIxLDB4ZTAsMHgxOCwweGM4LDB4MDIsMHgxZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4YWUzMCwgMCwgezB4ODAsMHgyZCwweGUwLDB4OGEsMHhkOCwweDAyLDB4M2UsMHhjMCwweDg1LDB4ODAsMHgyMSwweDIwLDB4MTksMHg3OCwweDIyLDB4MDAgfSwKLSAgMTYsIDB4YWU0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZjMsMHg5NCwweDIwLDB4MTAgfSwKLSAgMTYsIDB4YWU1MCwgMCwgezB4NGIsMHgzMCwweDA3LDB4MGMsMHgwMCwweGYzLDB4MDAsMHgzZSwweGM4LDB4MGYsMHgzMCwweDAzLDB4Y2MsMHgwMCwweDIzLDB4MTAgfSwKLSAgMTYsIDB4YWU2MCwgMCwgezB4MDAsMHhjYiwweDA1LDB4MjAsMHgwMiwweDhjLDB4NjAsMHg5MywweDBhLDB4MmUsMHhjNCwweDBhLDB4MDEsMHgwNywweDRjLDB4ODAgfSwKLSAgMTYsIDB4YWU3MCwgMCwgezB4ZDIsMHgwMSwweDMwLDB4YzAsMHgyYywweDMwLDB4MGIsMHg1YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWU4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAxLDB4MGYsMHg0MCwweDBmLDB4ZjAsMHgxMywweGJjLDB4MDAsMHhlZiwweDI2LDB4NzMgfSwKLSAgMTYsIDB4YWU5MCwgMCwgezB4YzIsMHgwYywweGIwLDB4ODMsMHhiYywweDQwLDB4ZmYsMHgxOCwweDNkLDB4YzAsMHg0YSwweGMxLDB4MDMsMHhmYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YWVhMCwgMCwgezB4MTIsMHgzZiwweGM0LDB4NGQsMHhjMSwweDBiLDB4ZmMsMHg4MSwweGZkLDB4MDAsMHgzZiwweDIwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4YWViMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDIwLDB4Y2IsMHg0OCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YWVjMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MmQsMHgyMCwweGU5LDB4ODAsMHhmYSwweGM4LDB4MGQsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGRiLDB4MjQgfSwKLSAgMTYsIDB4YWVkMCwgMCwgezB4NzYsMHhmMywweDhlLDB4ODAsMHgzMywweGVjLDB4NDQsMHhlYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgwMywweGU4LDB4MDQgfSwKLSAgMTYsIDB4YWVlMCwgMCwgezB4ZGMsMHgwMCwweGIzLDB4NjEsMHgwYywweGIwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWVmMCwgMCwgezB4NDgsMHgxMSwweDhkLDB4MDAsMHg4NywweDIwLDB4MmYsMHgwMSwweDI4LDB4NzAsMHgwMiwweDBjLDB4ODQsMHg4ZCwweDA0LDB4MzEgfSwKLSAgMTYsIDB4YWYwMCwgMCwgezB4Y2MsMHhjOSwweDcyLDB4MDIsMHhkZCwweDAwLDB4MzcsMHgzMywweDIxLDB4ZDgsMHgwOCwweDQwLDB4MDIsMHhkYywweDAwLDB4YjcgfSwKLSAgMTYsIDB4YWYxMCwgMCwgezB4MjAsMHgzZCwweGMwLDB4MDksMHg1MCwweDIyLDB4ZjAsMHgwMCwweDk3LDB4MDAsMHgyMSwweDgwLDB4MGEsMHhmYywweDAyLDB4OTIgfSwKLSAgMTYsIDB4YWYyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgxZSwweDgyLDB4ODcsMHhiMCwweDJkLDB4MjAgfSwKLSAgMTYsIDB4YWYzMCwgMCwgezB4MDgsMHgzOSwweDAyLDB4MWUsMHg0MSwweGE3LDB4ODAsMHgyNCwweGUwLDB4MDksMHg3YSwweDMyLDB4OGUsMHg4MiwweDA3LDB4YTAgfSwKLSAgMTYsIDB4YWY0MCwgMCwgezB4MjUsMHhlMCwweDhiLDB4NDgsMHgwMiwweDFlLDB4MDAsMHhhNywweGUxLDB4MmQsMHhlMCwweDRiLDB4NTgsMHgwMCwweGRhLDB4MDAgfSwKLSAgMTYsIDB4YWY1MCwgMCwgezB4YTAsMHg4MCwweDI0LDB4NjAsMHgwOCwweDdhLDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWY2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDAwLDB4MmMsMHgwMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwLDB4MjIgfSwKLSAgMTYsIDB4YWY3MCwgMCwgezB4YzEsMHgwOSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDFhLDB4MDIsMHhjZSwweDA0LDB4YjMgfSwKLSAgMTYsIDB4YWY4MCwgMCwgezB4ZTAsMHgyOCwweGEwLDB4MDksMHgxYywweDgyLDB4NGIsMHgwOCwweGEzLDB4ODAsMHgyNCwweGEwLDB4MmEsMHgzMCwweDAyLDB4OWEgfSwKLSAgMTYsIDB4YWY5MCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDJmLDB4ODggfSwKLSAgMTYsIDB4YWZhMCwgMCwgezB4MGMsMHhhMCwweDEzLDB4MjgsMHgwMCwweGVlLDB4MDAsMHgyZSwweDgwLDB4MmQsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDAgfSwKLSAgMTYsIDB4YWZiMCwgMCwgezB4NzYsMHg4MCwweDBlLDB4ZTgsMHgwMywweGJiLDB4ODAsMHhlZSwweDQwLDB4MmYsMHhhMiwweDhmLDB4ZTYsMHgwMywweGViLDB4ODYgfSwKLSAgMTYsIDB4YWZjMCwgMCwgezB4ZmEsMHg4MCwweDM3LDB4ODIsMHgwYywweDIwLDB4MDcsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWZkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQwLDB4MWUsMHgwMCwweDBmLDB4ODAsMHgwYiwweDYxLDB4MDAsMHhlOCwweGMwLDB4M2EgfSwKLSAgMTYsIDB4YWZlMCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZjgsMHgwMCwweDdlLDB4MTAsMHgxZSwweDgxLDB4MDMsMHhlMCwweDA4LDB4ZjggfSwKLSAgMTYsIDB4YWZmMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4YzAsMHgyOCwweGRjLDB4NTAsMHgzYiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YjAwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDIgfSwKLSAgMTYsIDB4YjAxMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YTYsMHgwMCwweGM5LDB4MDEsMHgzYSwweDQwLDB4MGUsMHg5NCwweDAxLDB4ZTQsMHgxMCwweGYxLDB4MDQgfSwKLSAgMTYsIDB4YjAyMCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OWEsMHgyMywweDIwLDB4NjAsMHhmOCwweDA0LDB4MGEsMHg0MiwweDBlLDB4OTAsMHgxMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YjAzMCwgMCwgezB4YzEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjA0MCwgMCwgezB4ODAsMHgwNCwweDY3LDB4MDgsMHhhOSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI3LDB4ODIsMHg4OSwweDAwLDB4MjYgfSwKLSAgMTYsIDB4YjA1MCwgMCwgezB4NDAsMHgwOCwweDljLDB4MDMsMHhhNCwweDEwLDB4YjksMHgwMCwweDM2LDB4NDAsMHg5YiwweDFjLDB4MWEsMHgyMywweDA0LDB4YjggfSwKLSAgMTYsIDB4YjA2MCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MGUsMHgxMCwweDAyLDB4MjQsMHgwMiwweGM5LDB4YTAsMHhhMiwweDQwLDB4MGIsMHg5MCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4YjA3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNSwweDgwLDB4ODksMHgwNCwweDJjLDB4NDAgfSwKLSAgMTYsIDB4YjA4MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ODQsMHg4MSwweDk5LDB4NDAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDA2LDB4ZTQsMHgwMSwweGI5LDB4MDAgfSwKLSAgMTYsIDB4YjA5MCwgMCwgezB4YTYsMHg0MSwweDFiLDB4OTAsMHg4MiwweDIxLDB4MDAsMHhiOCwweDEwLDB4MmUsMHg0MCwweDBhLDB4OTIsMHgwYSwweGE0LDB4MDEgfSwKLSAgMTYsIDB4YjBhMCwgMCwgezB4OGYsMHgyMiwweDIzLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjBiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhhMywweDIwLDB4MmMsMHg0MSwweDA5LDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjQgfSwKLSAgMTYsIDB4YjBjMCwgMCwgezB4NDgsMHgwYSwweDM2LDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweDA0LDB4YzgsMHg0YiwweDE0LDB4MDIsMHgwNSwweDAwLDB4YjEgfSwKLSAgMTYsIDB4YjBkMCwgMCwgezB4MDUsMHgyOCwweDUwLDB4MGEsMHg5MCwweDAyLDB4MDUsMHgwMiwweDg1LDB4MDAsMHgyMSwweDQwLDB4MGIsMHgxMiwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YjBlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwMCwweDZlLDB4MTQgfSwKLSAgMTYsIDB4YjBmMCwgMCwgezB4MmMsMHg4NSwweDAyLDB4YTEsMHg0MCwweGM4LDB4NTAsMHgzYSwweDE0LDB4MGUsMHg4MCwweDAyLDB4ZTEsMHg0MCwweGIwLDB4NTAgfSwKLSAgMTYsIDB4YjEwMCwgMCwgezB4MzIsMHgwMCwweDBiLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmYSwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGEwLDB4MDIgfSwKLSAgMTYsIDB4YjExMCwgMCwgezB4YzgsMHgwMCwweDEzLDB4MDAsMHgwZiwweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjEyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDgsMHhmOSwweDE0LDB4M2YsMHg0MCwweDBjLDB4OTEsMHgwMywweGU0LDB4NDIsMHhmZCwweDEwLDB4MzYgfSwKLSAgMTYsIDB4YjEzMCwgMCwgezB4NDQsMHgwZCwweDkxLDB4MjMsMHhhNCwweDQ4LDB4ZjksMHgxMSwweDM4LDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNSwweDE0LDB4MzkgfSwKLSAgMTYsIDB4YjE0MCwgMCwgezB4NDIsMHg3YiwweDQwLDB4OGUsMHhkMCwweDAxLDB4ZjUsMHgwMCwweGE5LDB4NDAsMHgzZSwweDUwLDB4MDcsMHg5NiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4YjE1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmNiwweDgwLDB4ZGQsMHhhZSwweDNhLDB4NTAgfSwKLSAgMTYsIDB4YjE2MCwgMCwgezB4MGQsMHg5YSwweDBiLDB4NzYsMHg4MCwweGNmLDB4ODgsMHgzMiwweDcwLDB4MmQsMHhkYSwweDAzLDB4YTcsMHgwMSwweGU5LDB4OTIgfSwKLSAgMTYsIDB4YjE3MCwgMCwgezB4MzcsMHg2OCwweDBkLDB4OTQsMHgwMywweGU3LDB4MDAsMHhlZCwweGEwLDB4M2EsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU3LDB4MDIgfSwKLSAgMTYsIDB4YjE4MCwgMCwgezB4Y2QsMHg4MCwweDMzLDB4NjgsMHgwYywweGQ4LDB4ODMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjE5MCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweDQwLDB4MjAsMHgyMCwweDBjLDB4OGMsMHgwMiwweDIzLDB4MDAsMHg4OCwweGUwLDB4MjIgfSwKLSAgMTYsIDB4YjFhMCwgMCwgezB4MzAsMHgwOCwweDg0LDB4MDIsMHhlMywweDAwLDB4YjgsMHhlMCwweDIyLDB4MTQsMHg4ZCwweDg4LDB4MDIsMHhlMywweDAwLDB4YjggfSwKLSAgMTYsIDB4YjFiMCwgMCwgezB4NTAsMHgyZSwweGE4LDB4OGIsMHg4MCwweDIyLDB4ZTMsMHg0OCwweDg4LDB4NTAsMHgyMiwweDAwLDB4MDgsMHg4YywweDAyLDB4MGUgfSwKLSAgMTYsIDB4YjFjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4OTEsMHgwMCwweDJhLDB4NDggfSwKLSAgMTYsIDB4YjFkMCwgMCwgezB4MDksMHgxNCwweDgyLDB4MDUsMHgyMCwweDgxLDB4MDgsMHgyMCwweDU4LDB4MDksMHgxMSwweDAyLDB4ODUsMHg4OCwweGIxLDB4NDAgfSwKLSAgMTYsIDB4YjFlMCwgMCwgezB4YTAsMHg0MCwweDA4LDB4MTIsMHgwMiwweGM1LDB4ODAsMHhhMSwweDAwLDB4MjgsMHg0MCwweDBiLDB4MTgsMHgwMiwweGM0LDB4ODQgfSwKLSAgMTYsIDB4YjFmMCwgMCwgezB4YTEsMHgwMCwweDI0LDB4NTAsMHgwOCwweDEwLDB4OTIsMHgwMywweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjIwMCwgMCwgezB4MTgsMHgxNSwweGFjLDB4MTAsMHg5YiwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDYsMHg4OSwweDA0LDB4MjAgfSwKLSAgMTYsIDB4YjIxMCwgMCwgezB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwMiwweDIyLDB4NDEsMHg4OSwweGEwLDB4ODIsMHhlMCwweGEwLDB4YjkgfSwKLSAgMTYsIDB4YjIyMCwgMCwgezB4MjgsMHgyZSwweDQ0LDB4MGIsMHhiMCwweDAyLDB4ZTQsMHgwMiwweGI5LDB4MDAsMHgyNiwweDQwLDB4MjgsMHgxMCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4YjIzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwMCwweDM4LDB4NDAgfSwKLSAgMTYsIDB4YjI0MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4YTAsMHhhMiwweDQwLDB4OGQsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4YjI1MCwgMCwgezB4MzYsMHg0MCwweDBjLDB4ODQsMHgxMywweGUyLDB4MDAsMHhlOSwweDAwLDB4M2EsMHg1MCwweDBmLDB4OWMsMHgwMiwweGU2LDB4ODQgfSwKLSAgMTYsIDB4YjI2MCwgMCwgezB4ZTksMHgwMCwweGI2LDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjI3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhlMSwweDAwLDB4M2UsMHg2OCwweDBlLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmMSwweDI4LDB4M2EgfSwKLSAgMTYsIDB4YjI4MCwgMCwgezB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDIsMHgwZiwweDgwLDB4MjMsMHhlMiwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YjI5MCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MSwweDIzLDB4ZTQsMHg0MCwweGMxLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDBiLDB4Y2EgfSwKLSAgMTYsIDB4YjJhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHg4MCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YjJiMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4YTAsMHgyMCwweGM4LDB4NDAsMHgzZSwweDAwLDB4MGUsMHg4MSwweDYzLDB4NjAsMHgwMCwweGYwLDB4MDQgfSwKLSAgMTYsIDB4YjJjMCwgMCwgezB4M2MsMHgwMSwweDBjLDB4ODQsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGMxLDB4MDAgfSwKLSAgMTYsIDB4YjJkMCwgMCwgezB4ZDgsMHgxMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MjMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjJlMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4NjAsMHg4ZSwweDAwLDB4MjIsMHg4MCwweDBhLDB4YTAsMHgwMiwweDM4LDB4ODAsMHhiZSwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YjJmMCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIzLDB4OTgsMHgxOCwweGVjLDB4MDIsMHhmOCwweDIwLDB4YWUgfSwKLSAgMTYsIDB4YjMwMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MGIsMHhlNCwweDgyLDB4ZTgsMHgwMiwweGNlLDB4NDQsMHgyOCwweDgwLDB4MGQsMHhhMCwweDBhLDB4MGEgfSwKLSAgMTYsIDB4YjMxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MCwweDAwLDB4ODIsMHgwNCwweGEwLDB4YzAgfSwKLSAgMTYsIDB4YjMyMCwgMCwgezB4MDksMHgzMCwweDAyLDB4OGUsMHgwNCwweDgzLDB4NTAsMHg2YywweGMwLDB4MGEsMHgzMCwweDg2LDB4MGMsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YjMzMCwgMCwgezB4MjgsMHgzMCwweDBhLDB4MzYsMHgxMiwweGNjLDB4ODAsMHg4MSwweDAwLDB4MjQsMHhjMCwweDBiLDB4MzIsMHgwNiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4YjM0MCwgMCwgezB4ODAsMHg4OCwweDY0LDB4NjAsMHgyOCwweDEwLDB4MDIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjM1MCwgMCwgezB4YTAsMHgwMSwweDEwLDB4MTIsMHg4NCwweDQwLDB4MjEsMHhjOCwweDBhLDB4NzIsMHgwMiwweDEwLDB4MDAsMHhiNywweDAwLDB4MmQgfSwKLSAgMTYsIDB4YjM2MCwgMCwgezB4Y2MsMHgwOCwweDM4LDB4MTIsMHgxYywweDAwLDB4YjMsMHgzMCwweDIwLDB4MDAsMHgwOCwweDcxLDB4ODIsMHhmZSwweDAwLDB4YTQgfSwKLSAgMTYsIDB4YjM3MCwgMCwgezB4ODAsMHgyMSwweGM4LDB4MGIsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3LDB4MDAsMHgyYywweDQyLDB4MDksMHg1MSwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YjM4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4YzIsMHg4MCwweDMxLDB4ZjggfSwKLSAgMTYsIDB4YjM5MCwgMCwgezB4NGMsMHhmYywweDEzLDB4OTIsMHgwOSwweGM3LDB4ODAsMHgzYywweGVkLDB4MWUsMHg3OCwweDI3LDB4MWUsMHgwMCwweGY3LDB4OGMgfSwKLSAgMTYsIDB4YjNhMCwgMCwgezB4NzksMHgyMCwweDA4LDB4N2EsMHgwMywweGRlLDB4ODEsMHg4NCwweDgwLDB4M2QsMHhlMCwweDBlLDB4NzgsMHgwMywweGZlLDB4MjAgfSwKLSAgMTYsIDB4YjNiMCwgMCwgezB4YzUsMHg4MSwweDM1LDB4NjAsMHgyYywweDU4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjNjMCwgMCwgezB4MDgsMHgxZCwweDgwLDB4MDAsMHhmOCwweDA0LDB4M2UsMHhkMCwweDBmLDB4YjAsMHgxMywweGUwLDB4MDAsMHhmYiwweDAyLDB4M2EgfSwKLSAgMTYsIDB4YjNkMCwgMCwgezB4ZDAsMHgwZiwweGEwLDB4MGIsMHhhYywweDQwLDB4ZmIsMHgwMCwweDNhLDB4MDAsMHgyZiwweGIwLDB4MDMsMHhjYywweDAwLDB4ZjAgfSwKLSAgMTYsIDB4YjNlMCwgMCwgezB4MDAsMHgzYSwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZmMsMHg0MSwweGYzLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg1MCwweDkzLDB4YzIgfSwKLSAgMTYsIDB4YjNmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2MsMHg4MSwweDNmLDB4ZmMgfSwKLSAgMTYsIDB4YjQwMCwgMCwgezB4MWMsMHhmOCwweDAzLDB4NzYsMHg0MCwweGVmLDB4OTIsMHgzZiwweGU0LDB4OGMsMHhmOCwweDAzLDB4YmYsMHgxMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4YjQxMCwgMCwgezB4YjMsMHgyMCwweDBlLDB4ZjksMHgxMywweGZlLDB4MjQsMHhmZCwweDk0LDB4MzcsMHhlMCwweDFjLDB4ZjksMHgwMywweGVlLDB4MDAgfSwKLSAgMTYsIDB4YjQyMCwgMCwgezB4Y2QsMHg4MCwweGIzLDB4ZTAsMHgwYywweDU4LDB4MDIsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjQzMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4NDAsMHg4MCwweDAwLDB4MmYsMHhjNCwweDA4LDB4NzIsMHgwMiwweGRkLDB4MDgsMHhkNywweDAwLDB4MmQgfSwKLSAgMTYsIDB4YjQ0MCwgMCwgezB4Y2MsMHgwOCwweGRlLDB4MDMsMHg1YywweDAwLDB4YjcsMHgwNCwweDIxLDB4ODAsMHhjOCwweDcwLDB4ODMsMHhkYywweDAwLDB4YjQgfSwKLSAgMTYsIDB4YjQ1MCwgMCwgezB4YTAsMHgyZiwweGMwLDB4MGMsMHg3MCwweDAyLDB4ZGUsMHg4MCwweDg3LDB4MDAsMHgyMSwweGMyLDB4MGEsMHg1MSwweDQyLDB4MmEgfSwKLSAgMTYsIDB4YjQ2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODQsMHgwMCwweDJkLDB4YzggfSwKLSAgMTYsIDB4YjQ3MCwgMCwgezB4NDgsMHg3MCwweDAyLDB4NTQsMHgwYywweGE3LDB4MDAsMHgyYywweGMwLDB4ODksMHg3MiwweDAyLDB4NWMsMHgwMCwweGIzLDB4MTAgfSwKLSAgMTYsIDB4YjQ4MCwgMCwgezB4MjAsMHgwMCwweDBhLDB4NzAsMHgwNiwweGRjLDB4MDAsMHhiNCwweDIwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4ODAgfSwKLSAgMTYsIDB4YjQ5MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjRhMCwgMCwgezB4MjAsMHgxNCwweGMwLDB4MDAsMHg4MCwweDAwLDB4MmUsMHhjMCwweDA4LDB4MzAsMHgwMiwweGM0LDB4MDgsMHhhMiwweDQyLDB4MmMgfSwKLSAgMTYsIDB4YjRiMCwgMCwgezB4YzEsMHgwOSwweDIwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4ODAsMHgwOCwweDNjLDB4MjIsMHg4YywweDIwLDB4YjAgfSwKLSAgMTYsIDB4YjRjMCwgMCwgezB4MDgsMHgyZSwweGUwLDB4MDgsMHgzOCwweDEwLDB4Y2YsMHgwYSwweDkzLDB4NDAsMHhhMCwweGYwLDB4MGEsMHgxMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YjRkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhOCwweDAwLDB4YzEsMHgwMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4YjRlMCwgMCwgezB4MmMsMHhmMCwweDAzLDB4NjgsMHgwMCwweGFhLDB4MDAsMHgzZiwweGMwLDB4MmQsMHg4MCwweDAzLDB4N2MsMHgwMCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4YjRmMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4YjAsMHgxMiwweGVkLDB4MjQsMHhmYSwweDA4LDB4MjcsMHhjOCwweDEwLDB4YjgsMHhhMiwweGZmLDB4NjAgfSwKLSAgMTYsIDB4YjUwMCwgMCwgezB4OTgsMHhhMCwweGEyLDB4ZTAsMHgwYywweDUwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjUxMCwgMCwgezB4ODAsMHgwMCwweGM5LDB4MDYsMHhmOCwweDQxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGU5LDB4MTAsMHg1YSwweDIwLDB4M2UgfSwKLSAgMTYsIDB4YjUyMCwgMCwgezB4YzAsMHgwZSwweDgwLDB4MDMsMHhlYywweDAwLDB4ZjMsMHgwMCwweDdlLDB4MDEsMHgwZiwweGIwLDB4OTMsMHhlZCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4YjUzMCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGUzLDB4MDgsMHgzYywweGMyLDB4MGYsMHhkMCwweDEzLDB4ZTAgfSwKLSAgMTYsIDB4YjU0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMywweDAyLDB4Y2MsMHgwMCwweDNiLDB4YzIgfSwKLSAgMTYsIDB4YjU1MCwgMCwgezB4MGMsMHhmMCwweDIzLDB4YWUsMHg0MCwweGRmLDB4ODEsMHgzOSwweGMwLDB4MDYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQgfSwKLSAgMTYsIDB4YjU2MCwgMCwgezB4MzEsMHg0MSwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjYywweGEwLDB4MzcsMHhjMiwweDBjLDB4ZjAsMHgwMywweDdjLDB4MDQgfSwKLSAgMTYsIDB4YjU3MCwgMCwgezB4Y2QsMHgwMCwweDMzLDB4ZjAsMHgwYywweGQwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjU4MCwgMCwgezB4ODEsMHgwNCwweDYwLDB4MDAsMHg4OCwweDgwLDB4MjIsMHhjMCwweDBhLDB4YjAsMHgwMiwweGU5LDB4MDAsMHhhYiwweDQ0LDB4MmUgfSwKLSAgMTYsIDB4YjU5MCwgMCwgezB4YzAsMHgwOCwweDg4LDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCwweGEyLDB4NzAsMHgwYSwweGI0LDB4MDIsMHhjYywweDAwLDB4YTAgfSwKLSAgMTYsIDB4YjVhMCwgMCwgezB4MjAsMHgyMiwweGMwLDB4MGYsMHhiYywweDAyLDB4Y2MsMHgwYSwweDhiLDB4ODAsMHhhMiwweGMwLDB4MGQsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YjViMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMCwweDAwLDB4ODksMHg4MCwweDJhLDB4YzAgfSwKLSAgMTYsIDB4YjVjMCwgMCwgezB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwNiwweDg4LDB4NjAsMHgyZSwweGMwLDB4MGEsMHg5OCwweDA2LDB4ZWMsMHgwMSwweGJiLDB4MDAgfSwKLSAgMTYsIDB4YjVkMCwgMCwgezB4MjIsMHgzMSwweDAyLDB4YjIsMHgwMiwweGVjLDB4YTAsMHg4YSwweDAwLDB4MjYsMHhjMCwweDQ4LDB4YTgsMHgwMiwweGVjLDB4MDQgfSwKLSAgMTYsIDB4YjVlMCwgMCwgezB4YTksMHg4MCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjVmMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MCwweDAxLDB4MmMgfSwKLSAgMTYsIDB4YjYwMCwgMCwgezB4YzAsMHgxYSwweDEyLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4MDAsMHg0YSwweDMwLDB4MDIsMHhjYywweDAwLDB4YTAgfSwKLSAgMTYsIDB4YjYxMCwgMCwgezB4MDAsMHgwOCwweGMwLDB4MGIsMHgyMCwweDA2LDB4ZWMsMHhhMCwweGEzLDB4MDAsMHhhMCwweDQwLDB4MjksMHgxMCwweDAwLDB4MDIgfSwKLSAgMTYsIDB4YjYyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4YzgsMHg1MCwweDNiLDB4YzAgfSwKLSAgMTYsIDB4YjYzMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4YWMsMHgwMCwweGM5LDB4MDAsMHgzYiwweGMwLDB4MGUsMHg5MiwweDgzLDB4ZmMsMHgwMCwweGJmLDB4MDAgfSwKLSAgMTYsIDB4YjY0MCwgMCwgezB4MTIsMHgwMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHg4OCwweDI2LDB4MTYsMHhjMCwweDBjLDB4ODAsMHgxNywweDVjLDB4ODAgfSwKLSAgMTYsIDB4YjY1MCwgMCwgezB4ZTksMHgwMSwweDMyLDB4NDAsMHgyYywweGQwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjY2MCwgMCwgezB4YTAsMHgxZCwweGQwLDB4MDAsMHhmYywweDIwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4YjY3MCwgMCwgezB4YzAsMHgwZCwweDgwLDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmYywweDEwLDB4ZjggfSwKLSAgMTYsIDB4YjY4MCwgMCwgezB4NDAsMHgzNywweGMwLDB4MGUsMHhlMCwweDIxLDB4ZmMsMHgwOCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YjY5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGMwLDB4ZmYsMHgyMSwweDcxLDB4MjQgfSwKLSAgMTYsIDB4YjZhMCwgMCwgezB4MGYsMHhmMSwweDgzLDB4ZjIsMHg0MCwweGZmLDB4MDAsMHgzNywweGM0LDB4OWYsMHhmMiwweDQ3LDB4M2QsMHgwNCwweGM3LDB4MjAgfSwKLSAgMTYsIDB4YjZiMCwgMCwgezB4MzMsMHhjMCwweDBjLDB4NzgsMHgyMywweGZlLDB4NDAsMHhlOCwweDEwLDB4MjcsMHhjNCwweDBmLDB4ZjIsMHgxMywweDNjLDB4ODQgfSwKLSAgMTYsIDB4YjZjMCwgMCwgezB4YzQsMHg4MSwweDMzLDB4MjAsMHg0YywweGYwLDB4MjMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjZkMCwgMCwgezB4ODAsMHgxMCwweGVkLDB4NDAsMHhiZiwweDU0LDB4NjIsMHhjOCwweDBiLDB4ZjYsMHgwMiwweGUwLDB4MDAsMHhiYiwweGQwLDB4MjIgfSwKLSAgMTYsIDB4YjZlMCwgMCwgezB4ZjAsMHgxZiwweGY5LDB4MTIsMHgzZCwweDgwLDB4OWYsMHg4MSwweDJiLDB4ZTAsMHgwYSwweGI4LDB4MTIsMHhlOCwweDAwLDB4OGYgfSwKLSAgMTYsIDB4YjZmMCwgMCwgezB4MDQsMHgyMiwweGQwLDB4MDgsMHhiMywweDhhLDB4YmYsMHg0MiwweDhiLDB4ODIsMHgyMiwweGUwLDB4MjgsMHg4YywweDAyLDB4MjAgfSwKLSAgMTYsIDB4YjcwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgyOCwweDI4LDB4MDggfSwKLSAgMTYsIDB4YjcxMCwgMCwgezB4MGIsMHgzMCwweDA2LDB4ODAsMHg4MCwweGIzLDB4MDIsMHgyNCwweGQxLDB4MGIsMHgzMCwweDAyLDB4OGQsMHg4MCwweDkzLDB4MTAgfSwKLSAgMTYsIDB4YjcyMCwgMCwgezB4MjAsMHhjZSwweDhiLDB4MzAsMHgwMiwweGNjLDB4ODQsMHhhMSwweDIxLDB4MmMsMHhjYywweDBhLDB4MzAsMHgwYSwweDRjLDB4MDAgfSwKLSAgMTYsIDB4YjczMCwgMCwgezB4OTMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDNjLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjc0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHhiYiwweDAyLDB4NmEsMHhlMCwweDBiLDB4YjAsMHgwMiwweGUxLDB4MDgsMHhiYiwweDA0LDB4MmEgfSwKLSAgMTYsIDB4Yjc1MCwgMCwgezB4YzAsMHgwYSwweGIwLDB4MTIsMHg4YywweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwYiwweGIxLDB4MDYsMHhjOCwweDgwLDB4OGIgfSwKLSAgMTYsIDB4Yjc2MCwgMCwgezB4ODIsMHg2YSwweGMxLDB4MGEsMHgzMCwweDAyLDB4YWMsMHgxOCwweDg4LDB4MTAsMHgyYSwweDQ4LDB4MDgsMHg4MCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4Yjc3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZmIsMHgwMCwweGFhLDB4MzAgfSwKLSAgMTYsIDB4Yjc4MCwgMCwgezB4MGYsMHhiMCwweDAzLDB4YTgsMHgwMCwweGYzLDB4MDEsMHhiNiwweGMxLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwOCwweDRiLDB4MDAgfSwKLSAgMTYsIDB4Yjc5MCwgMCwgezB4YjIsMHhjMCwweDBmLDB4YjgsMHgwMiwweGVjLDB4MTAsMHhhOSwweDgxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDBjLDB4MDAgfSwKLSAgMTYsIDB4YjdhMCwgMCwgezB4Y2IsMHhhMCwweDE4LDB4ZDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjdiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDgsMHhmNywweDAwLDB4MzcsMHgwMCwweDBmLDB4ZjAsMHgwMywweGZkLDB4MDAsMHhmZiwweDAwLDB4MzcgfSwKLSAgMTYsIDB4YjdjMCwgMCwgezB4YzAsMHgwZiwweGIwLDB4MDcsMHg3YywweDAwLDB4ZTcsMHgwMCwweDNlLDB4YzAsMHgwYSwweGYwLDB4MDMsMHhmZSwweDAwLDB4ZjcgfSwKLSAgMTYsIDB4YjdkMCwgMCwgezB4MDAsMHgzNiwweGMwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4ODAsMHgzNywweGUwLDB4MGYsMHhhMCwweDAzLDB4YjggfSwKLSAgMTYsIDB4YjdlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZGIsMHgwMCwweDM2LDB4MDAgfSwKLSAgMTYsIDB4YjdmMCwgMCwgezB4MGUsMHhiMCwweDAzLDB4NjksMHgwMCwweGRiLDB4MDksMHgzYSwweGMwLDB4MWYsMHgzMCwweDIzLDB4ZWMsMHgwOCwweGNiLDB4MjAgfSwKLSAgMTYsIDB4YjgwMCwgMCwgezB4MzQsMHhjMCwweDJmLDB4YjAsMHgwMywweGVjLDB4NDAsMHhlYiwweDQ4LDB4M2UsMHhjNCwweDRkLDB4YjAsMHg4YiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4YjgxMCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4OTAsMHgwZiwweDMwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjgyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MjIsMHgwMCwweDQ4LDB4ZjAsMHgyMiwweDJjLDB4MDAsMHg4ZiwweDAwLDB4MjMgfSwKLSAgMTYsIDB4YjgzMCwgMCwgezB4ZTAsMHg4YiwweGY1LDB4MTAsMHgzYywweDAwLDB4OGYsMHg4MCwweDIzLDB4ZjAsMHg4MCwweDk4LDB4MDMsMHgyZCwweDQ0LDB4ZGIgfSwKLSAgMTYsIDB4Yjg0MCwgMCwgezB4MDAsMHgyMywweGQ0LDB4MDgsMHhmOCwweDAyLDB4M2MsMHgwMCwweDgzLDB4MDAsMHgyMiwweGMwLDB4MGIsMHhhNCwweDgyLDB4MzIgfSwKLSAgMTYsIDB4Yjg1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDI0LDB4MDAgfSwKLSAgMTYsIDB4Yjg2MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4ODQsMHgwMCwweGIzLDB4MDEsMHgyOCwweGY2LDB4MDksMHgzNCwweDMyLDB4OGMsMHgwMSwweGIzLDB4ZDAgfSwKLSAgMTYsIDB4Yjg3MCwgMCwgezB4MjQsMHhlOCwweDBhLDB4MzEsMHgwYSwweDg2LDB4MDAsMHg4MywweDAwLDB4MmEsMHhlMCwweDAwLDB4MzAsMHgwMiwweDhjLDB4MDAgfSwKLSAgMTYsIDB4Yjg4MCwgMCwgezB4ODMsMHgwMCwweDI4LDB4YzAsMHg4OSwweDM4LDB4YTIsMHg3OCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjg5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHg5NywweDk0LDB4MjMsMHhlMCwweDA5LDB4MzgsMHgwMiwweDMyLDB4MDAsMHg5NywweGExLDB4MjEgfSwKLSAgMTYsIDB4YjhhMCwgMCwgezB4ZTQsMHgwYiwweDc4LDB4MDIsMHgxZSwweDQwLDB4YjcsMHhhMCwweDI1LDB4ZWMsMHgwOCwweGZjLDB4MDIsMHgzYSwweDAwLDB4OTMgfSwKLSAgMTYsIDB4YjhiMCwgMCwgezB4YjgsMHgyMSwweGUwLDB4MDgsMHg3OCwweDgyLDB4OWUsMHg0MCwweDg3LDB4YzAsMHgyOSwweGEwLDB4MGIsMHg1OCwweDAyLDB4NDggfSwKLSAgMTYsIDB4YjhjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDAwLDB4ZGIsMHgwMCwweDM0LDB4MjAgfSwKLSAgMTYsIDB4YjhkMCwgMCwgezB4MGYsMHgzYSwweDAzLDB4OGUsMHgwMCwweGYzLDB4YjAsMHgyOCwweGM0LDB4MGIsMHgzYSwweDAzLDB4YWUsMHg0MCwweGYzLDB4YTAgfSwKLSAgMTYsIDB4YjhlMCwgMCwgezB4MzQsMHhlZSwweDBmLDB4MzAsMHgyMywweDg0LDB4MDAsMHhlMywweGYwLDB4MzgsMHhjMCwweDBjLDB4YjAsMHgwYiwweDhlLDB4NDIgfSwKLSAgMTYsIDB4YjhmMCwgMCwgezB4YzMsMHgwMCwweDM4LDB4YzAsMHgwZiwweDMwLDB4NjMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjkwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlYiwweDQyLDB4M2EsMHhjNCwweDFlLDB4YjEsMHgwNywweDg4LDB4ZDEsMHhlMywweDAwLDB4M2YgfSwKLSAgMTYsIDB4YjkxMCwgMCwgezB4YzUsMHg4ZiwweGYxLDB4NjMsMHhhYywweDEwLDB4Y2IsMHg1MCwweDNiLDB4YzMsMHgwZiwweGQxLDB4MDMsMHhjOCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YjkyMCwgMCwgezB4MjAsMHgzYiwweGMwLDB4MmUsMHhmMSwweDAzLDB4MWMsMHgwMCwweGZmLDB4MDAsMHgzNywweGMwLDB4NGYsMHhkMSwweDAzLDB4OTAgfSwKLSAgMTYsIDB4YjkzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4ZmIsMHg0NCwweGIyLDB4YzAgfSwKLSAgMTYsIDB4Yjk0MCwgMCwgezB4NGYsMHhiMywweDQzLDB4MjQsMHgwMCwweGRiLDB4MTAsMHgzNiwweGMwLDB4NGMsMHhiZSwweDIyLDB4NmQsMHgyMCwweGNiLDB4NTAgfSwKLSAgMTYsIDB4Yjk1MCwgMCwgezB4M2UsMHhjOSwweDRjLDB4YjAsMHgxMywweDI0LDB4MDAsMHhjZiwweDIwLDB4MzMsMHhjMCwweDNkLDB4ZjAsMHgyMywweDJjLDB4YzAgfSwKLSAgMTYsIDB4Yjk2MCwgMCwgezB4ZDgsMHgwMCwweDNlLDB4NDAsMHg4ZiwweDMwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjk3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDQsMHhiNywweDYwLDB4MjEsMHhjMSwweDhiLDB4ZjAsMHhhMiwweDE0LDB4MTAsMHg4NywweDAwLDB4MGYgfSwKLSAgMTYsIDB4Yjk4MCwgMCwgezB4YzgsMHgwZCwweDcxLDB4MGEsMHgxZCwweDAwLDB4ODcsMHgwMCwweDJjLDB4Y2MsMHg0OCwweDcwLDB4MmEsMHg5YywweDAwLDB4ODcgfSwKLSAgMTYsIDB4Yjk5MCwgMCwgezB4MGMsMHgyMSwweGMwLDB4MGMsMHg3MiwweDAyLDB4MGMsMHhhMiwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YjlhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjMsMHg4MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4YjliMCwgMCwgezB4MGIsMHg3YSwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODEsMHgwNSwweGU0LDB4MDgsMHg3OSwweDAyLDB4NWMsMHg4MCwweDg3LDB4YTAgfSwKLSAgMTYsIDB4YjljMCwgMCwgezB4MmQsMHhlMCwweDA4LDB4ZjgsMHgwNiwweGI2LDB4MDAsMHg4NywweDgwLDB4MjAsMHhlNCwweDBhLDB4N2IsMHgxMiwweDFlLDB4OTAgfSwKLSAgMTYsIDB4YjlkMCwgMCwgezB4OTcsMHg4OCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MGUsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjllMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkMCwweDBiLDB4YjAsMHgwMiwweDZlLDB4MzQsMHhhMywweDAwLDB4MmMgfSwKLSAgMTYsIDB4YjlmMCwgMCwgezB4YzEsMHgwOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHg0OCwweDEwLDB4MDIsMHg4ZCwweDgwLDB4ODMgfSwKLSAgMTYsIDB4YmEwMCwgMCwgezB4YzAsMHgwMCwweGMwLDB4OGEsMHgzMCwweDEyLDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyYywweDE2LDB4MGIsMHgzOCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YmExMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDMzLDB4ODggfSwKLSAgMTYsIDB4YmEyMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4NzksMHg5MCwweGZhLDB4MDEsMHgzNiwweDgwLDB4MWMsMHhhMCwweDAzLDB4NjgsMHgwMCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YmEzMCwgMCwgezB4M2UsMHg4MSwweDJjLDB4YTAsMHgwYiwweGI5LDB4MGMsMHhjZSwweGUyLDB4YjIsMHg4MCwweDhlLDB4YTAsMHgwYiwweDI4LDB4MDAgfSwKLSAgMTYsIDB4YmE0MCwgMCwgezB4ZGEsMHg4MCwweDNjLDB4YjAsMHgwZiwweGUwLDB4ODMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmE1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGEwLDB4MDAsMHhjOCwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YmE2MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MjMsMHhhMCwweDAwLDB4ZjAsMHg0MCwweDNlLDB4MTAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAyLDB4ZjggfSwKLSAgMTYsIDB4YmE3MCwgMCwgezB4NDgsMHgzZSwweDEwLDB4MGMsMHg4MCwweDAzLDB4YzAsMHgxMCwweGY4LDB4ODAsMHgzZSwweDAwLDB4MGYsMHgwMCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YmE4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMCwweDM2LDB4NDIgfSwKLSAgMTYsIDB4YmE5MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjQsMHgxOCwweGY5LDB4MTAsMHgzYywweDQ4LDB4NjgsMHg5MiwweDEzLDB4ZTQsMHgwMCwweGE5LDB4MTEgfSwKLSAgMTYsIDB4YmFhMCwgMCwgezB4YjIsMHg2MCwweDBlLDB4OTEsMHgwMywweDI2LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg2MCwweDBjLDB4MTAsMHgwMywweDI0LDB4MDggfSwKLSAgMTYsIDB4YmFiMCwgMCwgezB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MjMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmFjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDgsMHg4OSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YmFkMCwgMCwgezB4NDIsMHg0OCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ODksMHg4MCwweDIyLDB4NzAsMHgwOCwweDE0LDB4MjIsMHhhNCwweDAyLDB4ODkgfSwKLSAgMTYsIDB4YmFlMCwgMCwgezB4NDIsMHgyYSwweDcwLDB4MjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDAyLDB4YTAgfSwKLSAgMTYsIDB4YmFmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwMCwweDI2LDB4YzAgfSwKLSAgMTYsIDB4YmIwMCwgMCwgezB4MDMsMHg5MCwweDAyLDB4MjQsMHgwMSwweGE5LDB4MDAsMHgwZSwweDQwLDB4MGEsMHg5MCwweDQ2LDB4YzQsMHgwYSwweDg5LDB4MDAgfSwKLSAgMTYsIDB4YmIxMCwgMCwgezB4MjAsMHg0OCwweDBhLDB4OTAsMHgwMiwweDA1LDB4ODAsMHg4MSwweDQxLDB4YTAsMHg1OCwweDg4LDB4OTAsMHgwMiwweDI0LDB4MDggfSwKLSAgMTYsIDB4YmIyMCwgMCwgezB4OGQsMHg4MCwweDJmLDB4YzAsMHgwOCwweDk4LDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmIzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0MCwweDBiLDB4MTIsMHgwMiwweDg0LDB4MDAsMHg4MSwweDI0LDB4MmMgfSwKLSAgMTYsIDB4YmI0MCwgMCwgezB4NTgsMHgwYSwweDMyLDB4MjIsMHhjNSwweDg0LDB4YTEsMHgwMCwweDIwLDB4NTAsMHgwOCwweGIwLDB4MDIsMHg4NSwweDA4LDB4ODEgfSwKLSAgMTYsIDB4YmI1MCwgMCwgezB4NDAsMHgyMCwweDVhLDB4MDgsMHgxNiwweDgyLDB4MDQsMHgwMCwweGE1LDB4MDAsMHgyZCwweDQwLDB4MDgsMHgxMiwweDgyLDB4ODIgfSwKLSAgMTYsIDB4YmI2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDM2LDB4MTQgfSwKLSAgMTYsIDB4YmI3MCwgMCwgezB4MGYsMHg4NSwweDIzLDB4MDEsMHg0MCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDQzLDB4YzAsMHgwOCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YmI4MCwgMCwgezB4MzIsMHg4MCwweDBlLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwLDB4MzIsMHgwOCwweDJjLDB4MDIsMHgwMywweDIwLDB4MDggfSwKLSAgMTYsIDB4YmI5MCwgMCwgezB4YzgsMHgwMCwweDNmLDB4MDAsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmJhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4OTEsMHg0MywweGY0LDB4MDQsMHhmOSwweDEwLDB4M2UgfSwKLSAgMTYsIDB4YmJiMCwgMCwgezB4NDQsMHgwZCwweDExLDB4MDMsMHhlNCwweDQ0LDB4NTksMHg0MCwweDNlLDB4NTAsMHg0ZiwweDUwLDB4NDMsMHhkNCwweDAyLDB4ZmQgfSwKLSAgMTYsIDB4YmJjMCwgMCwgezB4NDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YmJkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHg2NiwweDYwLDB4YzksMHhlMCwweDMyLDB4NDQgfSwKLSAgMTYsIDB4YmJlMCwgMCwgezB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGRkLDB4ODQsMHgzZiwweDY4LDB4OGYsMHhkOCwweDQyLDB4ZTYsMHhhMCwweGRkLDB4YTQgfSwKLSAgMTYsIDB4YmJmMCwgMCwgezB4MzMsMHg2OCwweDBkLDB4NzAsMHgwMywweDI1LDB4MDAsMHhjOSwweGUwLDB4YjIsMHg2OCwweDBjLDB4OWEsMHhjMywweDI2LDB4MDAgfSwKLSAgMTYsIDB4YmMwMCwgMCwgezB4OTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmMxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4MDAsMHg4OCwweDgwLDB4YWEsMHgyMCwweDhiLDB4ODgsMHgwMiwweGUyLDB4ODgsMHhiOCwweDAxLDB4MmUgfSwKLSAgMTYsIDB4YmMyMCwgMCwgezB4MDAsMHgwYiwweDg0LDB4MDIsMHhlMiwweGIwLDB4ODgsMHg1MCwweDIyLDB4MTQsMHgwOCwweDgwLDB4MDIsMHg4MiwweDgwLDB4ODggfSwKLSAgMTYsIDB4YmMzMCwgMCwgezB4ZTAsMHhiNiwweDNhLDB4MDgsMHhjZSwweGEyLDB4MjEsMHgwOCwweDg4LDB4MDAsMHgyZSwweDAwLDB4MGIsMHhjNCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YmM0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHg2MCwweDY4LDB4NDggfSwKLSAgMTYsIDB4YmM1MCwgMCwgezB4NWIsMHgxNiwweDAyLDB4YzQsMHgyMCwweGExLDB4NDAsMHg2YywweDUwLDB4MGIsMHgxNCwweDAyLDB4YzQsMHgwMCwweGExLDB4MDAgfSwKLSAgMTYsIDB4YmM2MCwgMCwgezB4MjQsMHg0MCwweDBiLDB4OTAsMHgyMiwweDE0LDB4OTAsMHg4NSwweDQyLDB4MjEsMHg1MCwweDViLDB4NTAsMHgxYSwweDE1LDB4MDAgfSwKLSAgMTYsIDB4YmM3MCwgMCwgezB4OTUsMHgwMCwweDJkLDB4NDAsMHgwYiwweDUxLDB4MGEsMHg4MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmM4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHg0NiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MmUgfSwKLSAgMTYsIDB4YmM5MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MjAsMHhlNCwweDAwLDB4YjksMHgwMCwweDI2LDB4NDAsMHgxOCwweGI4LDB4MDIsMHhhNCwweDAyLDB4OGQgfSwKLSAgMTYsIDB4YmNhMCwgMCwgezB4MDgsMHgyZiwweDQwLDB4OGIsMHhkMCwweDAyLDB4MjQsMHgwMCwweDhkLDB4MjAsMHgyZiwweDQ4LDB4MGIsMHhkMCwweDAyLDB4ODYgfSwKLSAgMTYsIDB4YmNiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4YmNjMCwgMCwgezB4MGYsMHg5MCwweDAyLDB4ZTQsMHgxMCwweDQ5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGU5LDB4MDEgfSwKLSAgMTYsIDB4YmNkMCwgMCwgezB4MzYsMHg0MCwweDBmLDB4MTgsMHgxMywweDI0LDB4MTAsMHhjOSwweDgyLDB4MzIsMHg0MCwweDdmLDB4OTAsMHgyMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YmNlMCwgMCwgezB4ZDksMHgyMCwweDNlLDB4NzIsMHgwZiwweDkwLDB4MDMsMHhhOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmNmMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDIsMHhmMSwweDAxLDB4MTYsMHg0MCwweDRmLDB4OTAsMHgwMywweGU1LDB4MTAsMHhmOSwweDA4LDB4MmUgfSwKLSAgMTYsIDB4YmQwMCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDAwLDB4YzksMHgwMSwweDNhLDB4NDAsMHgxZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YmQxMCwgMCwgezB4MjAsMHgzNCwweDQwLDB4OGMsMHg5MCwweDAzLDB4YzQsMHgwOCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHgxMCwweDAzLDB4NGEgfSwKLSAgMTYsIDB4YmQyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDA4LDB4ZjgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YmQzMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAyLDB4NGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGQwLDB4MDAgfSwKLSAgMTYsIDB4YmQ0MCwgMCwgezB4M2UsMHgwMCwweDBlLDB4ODEsMHgwMywweDMwLDB4MDAsMHhjYywweDQwLDB4MzMsMHgwMCwweDBjLDB4YzAsMHgwYiwweDIwLDB4MjAgfSwKLSAgMTYsIDB4YmQ1MCwgMCwgezB4ZTgsMHgwMCwweDNlLDB4MTAsMHgwZiwweGMwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmQ2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHhiYSwweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiZSwweGM4LDB4NmYgfSwKLSAgMTYsIDB4YmQ3MCwgMCwgezB4ODAsMHgwYiwweGUxLDB4MjIsMHhhOCwweDAwLDB4OGUsMHgyMCwweDJmLDB4ODAsMHgwYiwweGUwLDB4MjMsMHg2OCwweDAwLDB4OGEgfSwKLSAgMTYsIDB4YmQ4MCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhlMCwweDAyLDB4MjksMHgwMCwweDhhLDB4MDAsMHgyZSwweGE4LDB4MGIsMHhhMCwweDAwLDB4Y2EgfSwKLSAgMTYsIDB4YmQ5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4YmRhMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4YzEsMHgyYywweGUwLDB4MGIsMHgzOCwweDU2LDB4MmMsMHgxMCwweDEzLDB4MDAgfSwKLSAgMTYsIDB4YmRiMCwgMCwgezB4MmUsMHhjMCwweDBhLDB4MzgsMHg2YSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjAsMHgwMCwweDA5LDB4ODAsMHgyMiwweDRjLDB4NDIgfSwKLSAgMTYsIDB4YmRjMCwgMCwgezB4YTMsMHgwMCwweDJjLDB4ZTAsMHgwYiwweDI0LDB4ODAsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmRkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDgsMHhiNywweDI0LDB4MmYsMHhlMCwweDA5LDB4MzksMHgwMiwweDFjLDB4MDEsMHhiNiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4YmRlMCwgMCwgezB4OTAsMHgwYiwweDYwLDB4OTIsMHg4ZSwweDAwLDB4ODYsMHg4MiwweDJkLDB4YzIsMHgwYiwweGYwLDB4MDIsMHg1YywweDA2LDB4ODcgfSwKLSAgMTYsIDB4YmRmMCwgMCwgezB4MDAsMHg2MCwweGMwLDB4MjksMHg3MCwweDAyLDB4NWMsMHgwMCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4YmUwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDQwLDB4ZjMsMHhlNCwweDNkLDB4ZTggfSwKLSAgMTYsIDB4YmUxMCwgMCwgezB4MGQsMHg3OSwweDBiLDB4MWUsMHhjMCwweDY3LDB4ODAsMHgyZCwweGUwLDB4MGYsMHg3MCwweDQzLDB4MWQsMHg4MCwweGQ1LDB4MDAgfSwKLSAgMTYsIDB4YmUyMCwgMCwgezB4M2QsMHg2MCwweDBlLDB4NzgsMHgwMywweDFlLDB4MDAsMHhjZCwweDgwLDB4MzEsMHhlMCwweDBkLDB4YzgsMHgwMywweDRlLDB4MDAgfSwKLSAgMTYsIDB4YmUzMCwgMCwgezB4ZTUsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDQ4LDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmU0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4ODAsMHhmYiwweDAwLDB4NzAsMHhjMCwweDZlLDB4YjYsMHgxMywweGFkLDB4NDAsMHhmYSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YmU1MCwgMCwgezB4YzAsMHgwZiwweDIwLDB4NDMsMHgyZCwweDE4LDB4NTksMHgwMCwweDNlLDB4MDAsMHgwMywweGIwLDB4MGIsMHhlMCwweDAwLDB4ZmEgfSwKLSAgMTYsIDB4YmU2MCwgMCwgezB4MDAsMHhiZSwweDAwLDB4MGUsMHhiMCwweDEzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YmU3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDQwLDB4ZmYsMHg4MCwweDNmLDB4ZTYgfSwKLSAgMTYsIDB4YmU4MCwgMCwgezB4MGYsMHhmOCwweDIzLDB4MmUsMHgwNCwweGZmLDB4OTAsMHgzZiwweGU0LDB4MGQsMHhiYSwweDAzLDB4ZmYsMHg0MCwweGNmLDB4ODAgfSwKLSAgMTYsIDB4YmU5MCwgMCwgezB4MjIsMHhlMSwweDBjLDB4MzksMHg0MywweDMyLDB4MTAsMHhlYywweDkwLDB4MzMsMHgyMCwweDhlLDB4YzgsMHgwMywweGYyLDB4MDAgfSwKLSAgMTYsIDB4YmVhMCwgMCwgezB4ZGYsMHg4MCwweDNmLDB4NjAsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmViMCwgMCwgezB4YTgsMHgxMSwweDljLDB4NDAsMHhiNywweDkwLDB4M2MsMHhlMCwweDBiLDB4M2EsMHgwMywweDRlLDB4ODAsMHhmMywweGIxLDB4MmQgfSwKLSAgMTYsIDB4YmVjMCwgMCwgezB4MDQsMHg0YywweDM4LDB4MjMsMHhhZSwweDAwLDB4ODAsMHg4MCwweDM0LDB4ZTgsMHg0ZCwweDc4LDB4MDIsMHgzZSwweDgwLDB4ODcgfSwKLSAgMTYsIDB4YmVkMCwgMCwgezB4YTAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4YzAsMHg4MCwweDg2LDB4MDIsMHgyZCwweDQxLDB4MGIsMHg3MCwweDAyLDB4ZWEgfSwKLSAgMTYsIDB4YmVlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQ4LDB4MzcsMHgwMSwweDJkLDB4YzkgfSwKLSAgMTYsIDB4YmVmMCwgMCwgezB4MGIsMHg3MiwweDIyLDB4MWMsMHg4NCwweGI1LDB4MTYsMHgwZCwweGM0LDB4MTksMHg0MCwweDQyLDB4ZGMsMHg4MCwweDg3LDB4MDAgfSwKLSAgMTYsIDB4YmYwMCwgMCwgezB4MjAsMHhjOCwweDg4LDB4NzMsMHgwYSwweDljLDB4ODAsMHhiNSwweDAwLDB4MjksMHhjMCwweDBhLDB4NDgsMHgwMiwweGMwLDB4MDIgfSwKLSAgMTYsIDB4YmYxMCwgMCwgezB4OTUsMHgwMCwweDJkLDB4NDIsMHgwYiwweDU4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmYyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmEsMHhlMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MjAsMHhhMSwweDAxLDB4MjQgfSwKLSAgMTYsIDB4YmYzMCwgMCwgezB4YzEsMHgwOCwweDAwLDB4MDIsMHg4YywweDAwLDB4ODEsMHgwMCwweDI0LDB4ODAsMHgwOSwweDM4LDB4MGEsMHg2MCwweDgwLDB4OTIgfSwKLSAgMTYsIDB4YmY0MCwgMCwgezB4NDAsMHgyYSwweDAwLDB4MGEsMHgzMCwweDAyLDB4YzAsMHgwMCwweDgwLDB4YzgsMHgyYywweDcyLDB4MGIsMHgxNCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YmY1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4ZjQgfSwKLSAgMTYsIDB4YmY2MCwgMCwgezB4OGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGI5LDB4MDAsMHgzZSwweDQwLDB4MDksMHg5MCwweDAzLDB4ZmMsMHgwMiwweGMzLDB4MDEgfSwKLSAgMTYsIDB4YmY3MCwgMCwgezB4MzIsMHhjMCwweDQ4LDB4YjgsMHgxMywweGExLDB4MDAsMHhiYSwweDAwLDB4MmEsMHgwMCwweDBhLDB4YTAsMHgwNywweGVjLDB4MDAgfSwKLSAgMTYsIDB4YmY4MCwgMCwgezB4ZGIsMHhjOCwweDNlLDB4OTAsMHgwZiwweGEyLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmY5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHhjNCwweDBmLDB4YjAsMHg2MywweGVjLDB4MDEsMHhmOCwweDQwLDB4M2UgfSwKLSAgMTYsIDB4YmZhMCwgMCwgezB4NDAsMHgwYiwweDgwLDB4MDMsMHhjYywweDAwLDB4ZmEsMHg0MiwweDNlLDB4YzAsMHgwZiwweGI1LDB4MDAsMHhhYywweDU4LDB4ZTkgfSwKLSAgMTYsIDB4YmZiMCwgMCwgezB4ODIsMHgzZSwweGMwLDB4MWQsMHg5MCwweDAzLDB4ZWMsMHgwNCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YmZjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDBjLDB4ZGYsMHgwMCwweDdmLDB4YzAgfSwKLSAgMTYsIDB4YmZkMCwgMCwgezB4MmMsMHhmMCwweDAzLDB4N2MsMHgwMSwweGM3LDB4MDAsMHgzMywweDQwLDB4OGYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YmZlMCwgMCwgezB4MTUsMHg0NCwweDBjLDB4ZTAsMHgxYiwweDNjLDB4MDAsMHhjYiwweDBlLDB4MzMsMHhjMCwweDVjLDB4NjIsMHgwMiwweDFjLDB4MDIgfSwKLSAgMTYsIDB4YmZmMCwgMCwgezB4YzUsMHgwMCwweDJiLDB4ODAsMHgwZiwweGMwLDB4ODcsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzAwMCwgMCwgezB4ODEsMHg0NCwweDZjLDB4MTAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHg1MiwweDBjLDB4MDEsMHhmYSwweGM0LDB4MjIgfSwKLSAgMTYsIDB4YzAxMCwgMCwgezB4NjEsMHgwYiwweDg4LDB4MDMsMHg2YywweDAwLDB4ODgsMHg0NywweDJhLDB4MDAsMHgwZSwweDFjLDB4MDIsMHgyMCwweDAyLDB4ODggfSwKLSAgMTYsIDB4YzAyMCwgMCwgezB4MDAsMHhhYSwweDAwLDB4MjgsMHg5MCwweDBhLDB4MmMsMHgwNCwweGE4LDB4MDAsMHgyMiwweDkwLDB4MGIsMHg4MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YzAzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEgfSwKLSAgMTYsIDB4YzA0MCwgMCwgezB4MDgsMHgzMCwweDEyLDB4NmMsMHgwMCwweDg4LDB4ODgsMHgyYSwweDMwLDB4MGIsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDliLDB4MDggfSwKLSAgMTYsIDB4YzA1MCwgMCwgezB4MmEsMHg0MCwweDA4LDB4YjgsMHgwMiwweDIwLDB4MDAsMHg4MiwweDEwLDB4MjIsMHgwMCwweDA4LDB4YTAsMHgyMiwweGEwLDB4MDAgfSwKLSAgMTYsIDB4YzA2MCwgMCwgezB4OGIsMHgwMCwweDJhLDB4MDIsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzA3MCwgMCwgezB4MDgsMHgwMCwweDBjLDB4MDAsMHhiMywweDIwLDB4MmMsMHhjMiwweDA4LDB4MzYsMHgwMiwweDJjLDB4YzAsMHhhMCwweDA4LDB4MjAgfSwKLSAgMTYsIDB4YzA4MCwgMCwgezB4MDAsMHgwYiwweDMzLDB4NDYsMHhjZCwweDI4LDB4ODAsMHgyMCwweDI4LDB4YzAsMHgwYiwweDMyLDB4MDIsMHgwYywweDIwLDB4ODEgfSwKLSAgMTYsIDB4YzA5MCwgMCwgezB4MzAsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4ODEsMHgwMCwweGFhLDB4MDAsMHgyOCwweDAwLDB4MDMsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YzBhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHg3YywweDAwLDB4ZmIsMHgyOCwweDJlLDB4Y2MgfSwKLSAgMTYsIDB4YzBiMCwgMCwgezB4MGMsMHg3MCwweDUzLDB4N2QsMHgwOSwweDg4LDB4MDAsMHhiYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZmQsMHg4MCwweGRhLDB4NjAgfSwKLSAgMTYsIDB4YzBjMCwgMCwgezB4M2EsMHg1MCwweDhjLDB4YTIsMHg4MywweDJjLDB4ODAsMHg0YiwweDIwLDB4MzAsMHhjMCwweDI4LDB4YTAsMHgwMywweGExLDB4MDAgfSwKLSAgMTYsIDB4YzBkMCwgMCwgezB4YzksMHgwMCwweDNhLDB4MDAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzBlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmYiwweDAwLDB4N2UsMHhjOSwweDBiLDB4YjYsMHgwMywweGZjLDB4YzAsMHhmOCwweDBjLDB4M2YgfSwKLSAgMTYsIDB4YzBmMCwgMCwgezB4MDAsMHg0ZiwweGMzLDB4NDMsMHgyYywweDAwLDB4YjgsMHgzOCwweDNmLDB4OGUsMHg1ZSwweGYwLDB4NDMsMHhlMCwweDEwLDB4ZjggfSwKLSAgMTYsIDB4YzEwMCwgMCwgezB4MzAsMHgzZiwweDAxLDB4MGYsMHhkMCwweDAzLDB4NzAsMHgwMCwweGZjLDB4MDAsMHgzNywweDAwLDB4MGQsMHhkMCwweDA3LDB4ZTkgfSwKLSAgMTYsIDB4YzExMCwgMCwgezB4MDMsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGUwLDB4Y2MsMHg4MCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4YzEyMCwgMCwgezB4MGQsMHhmMCwweDgzLDB4ZmMsMHg4MCwweGRjLDB4OTQsMHgzMywweGMwLDB4MWMsMHhmMSwweDAzLDB4N2QsMHg4YywweGZmLDB4MzAgfSwKLSAgMTYsIDB4YzEzMCwgMCwgezB4M2YsMHgzMCwweDhmLDB4YzgsMHgwMywweDdlLDB4MTAsMHhjZiwweDkwLDB4MzksMHhhMCwweDhkLDB4ZjgsMHgwMywweGFlLDB4MDAgfSwKLSAgMTYsIDB4YzE0MCwgMCwgezB4ZDUsMHg4MCwweDEzLDB4ZTAsMHgwYywweDU4LDB4MDMsMHhmMCwweDAxLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzE1MCwgMCwgezB4ODAsMHgxMCwweGRkLDB4MDgsMHg4OCwweDAwLDB4MjMsMHhjNCwweDA4LDB4ZmMsMHgwMiwweGVjLDB4YTgsMHhjYiwweDIwLDB4MjEgfSwKLSAgMTYsIDB4YzE2MCwgMCwgezB4YzIsMHgwZCwweGY3LDB4MTIsMHgxYywweDQwLDB4ZGYsMHgzMCwweDIyLDB4YTAsMHgwYiwweDg4LDB4MDIsMHgyZSwweDA0LDB4ZGIgfSwKLSAgMTYsIDB4YzE3MCwgMCwgezB4MjEsMHgyMiwweGMwLDB4MDgsMHhiOCwweDIyLDB4MmUsMHgwMCwweGI5LDB4ODAsMHgyYSwweDYwLDB4MGEsMHg4OCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YzE4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4NDUsMHhjYywweDEwLDB4ODAsMHgyYywweDI4LDB4Y2EgfSwKLSAgMTYsIDB4YzE5MCwgMCwgezB4NjgsMHgzMCwweDAyLDB4OGQsMHgwMCwweDliLDB4MjAsMHgyOCwweGM0LDB4MDgsMHgzMiwweDAyLDB4Y2MsMHgxMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YzFhMCwgMCwgezB4MjQsMHgwOCwweDBiLDB4ODAsMHg0MiwweDZjLDB4MDAsMHg4MywweDAwLDB4MmEsMHhjYSwweDNhLDB4YjAsMHgwMiwweDhjLDB4MDQgfSwKLSAgMTYsIDB4YzFiMCwgMCwgezB4YjAsMHgwNCwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHhlMywweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzFjMCwgMCwgezB4YzAsMHgxNSwweDhjLDB4MDIsMHg4MCwweDQwLDB4YWEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg5YiwweDIwLDB4MmEgfSwKLSAgMTYsIDB4YzFkMCwgMCwgezB4YzAsMHg4OCwweGIwLDB4MDIsMHhhYywweDAwLDB4OWIsMHgwMCwweDI2LDB4ZTAsMHgwMywweDgwLDB4ODIsMHgyYywweDI4LDB4OWIgfSwKLSAgMTYsIDB4YzFlMCwgMCwgezB4MjAsMHgyMiwweGUxLDB4MGIsMHhiMiwweDAyLDB4YWMsMHg4MCwweGI4LDB4ODAsMHgyYSwweGMxLDB4MGEsMHg5OCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4YzFmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzgsMHg1MCwweDNhLDB4YzAgfSwKLSAgMTYsIDB4YzIwMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGRiLDB4ODgsMHhiYSwweGMwLDB4MDgsMHhiMCwweDAzLDB4NmMsMHgwOCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4YzIxMCwgMCwgezB4MzYsMHg2MCwweDBmLDB4OGMsMHg2MywweDZjLDB4MDAsMHhjYiwweGMwLDB4M2EsMHg4MCwweDBlLDB4YmUsMHgwMywweGFmLDB4ODQgfSwKLSAgMTYsIDB4YzIyMCwgMCwgezB4NzksMHg4MCwweDNhLDB4ODgsMHgwNCwweDk4LDB4MDEsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzIzMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYywweDgwLDB4MzUsMHhjMCwweDRmLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhlZiwweDAwLDB4MzcgfSwKLSAgMTYsIDB4YzI0MCwgMCwgezB4YzAsMHhhZiwweGYwLDB4MDMsMHgxYywweDAxLDB4NmYsMHgwMCwweDEzLDB4MDAsMHgwZiwweGMxLDB4MjMsMHhmYywweGI4LDB4ZmYgfSwKLSAgMTYsIDB4YzI1MCwgMCwgezB4MDQsMHgzNywweGMwLDB4MGMsMHhmOCwweDQzLDB4N2UsMHgwNCwweGZkLDB4MDAsMHgzZiwweDA0LDB4MGYsMHhkMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YzI2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4YzgsMHg0MCwweDNhLDB4YzAgfSwKLSAgMTYsIDB4YzI3MCwgMCwgezB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4NDAsMHgzOCwweGMxLDB4MGUsMHhiMCwweDQzLDB4MmMsMHgwOCwweGMzLDB4MDAgfSwKLSAgMTYsIDB4YzI4MCwgMCwgezB4M2UsMHg0MCwweDBlLDB4ODIsMHgwMywweDZkLDB4MDAsMHhkYiwweDQwLDB4MzIsMHhjMSwweDVmLDB4YjQsMHhhMywweGVkLDB4MjAgfSwKLSAgMTYsIDB4YzI5MCwgMCwgezB4YzksMHg0MCwweDMyLDB4ZTAsMHg4ZiwweDk4LDB4NDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzJhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhjMCwweDI4LDB4ZjUsMHhjMiwweGZjLDB4MDAsMHhiMywweDA0LDB4MjMgfSwKLSAgMTYsIDB4YzJiMCwgMCwgezB4YzEsMHg0OCwweGYwLDB4MjIsMHhiYywweDA2LDB4YWYsMHgwMCwweDBlLDB4NDAsMHgwOCwweDAwLDB4MDIsMHhjZCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YzJjMCwgMCwgezB4MDEsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZWUsMHgwMCwweDgxLDB4ZTAsMHgzNCwweGEwLDB4MGIsMHg5MCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4YzJkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAyLDB4ODAsMHgwMCwweDI4LDB4YzAgfSwKLSAgMTYsIDB4YzJlMCwgMCwgezB4MDksMHgzYywweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDEgfSwKLSAgMTYsIDB4YzJmMCwgMCwgezB4MmMsMHgwMCwweDBhLDB4MDUsMHgwMiwweGNkLDB4NTgsMHhiYiwweDAwLDB4MjAsMHgwMCwweDBhLDB4M2QsMHgwMiwweGNmLDB4NDAgfSwKLSAgMTYsIDB4YzMwMCwgMCwgezB4MjEsMHgyMCwweDYwLDB4YzAsMHgwOSwweDEwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzMxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHg4NCwweDgwLDB4MjgsMHhlNCwweDg4LDB4NzgsMHg0MiwweGRlLDB4MDAsMHhiNywweDkwLDB4NjUgfSwKLSAgMTYsIDB4YzMyMCwgMCwgezB4ZTQsMHg4OCwweDdhLDB4NDIsMHg5ZSwweDQwLDB4YTcsMHg5MCwweDJkLDB4YTAsMHgwYSwweDQ4LDB4MjIsMHhkZSwweDA0LDB4YjcgfSwKLSAgMTYsIDB4YzMzMCwgMCwgezB4ODAsMHgyMywweDYwLDB4NDgsMHg3OCwweDQyLDB4ZmUsMHg4MCwweGFmLDB4OTAsMHg2NSwweGUwLDB4MGIsMHhlOCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YzM0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YzgsMHgwMCwweDM4LDB4YzAgfSwKLSAgMTYsIDB4YzM1MCwgMCwgezB4MGMsMHgzMCwweDAzLDB4Y2MsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MGUsMHhiYSwweDAzLDB4MGMsMHgwMCwweGMzLDB4MDAgfSwKLSAgMTYsIDB4YzM2MCwgMCwgezB4M2UsMHgwMCwweDRlLDB4MjIsMHgwMiwweGNjLDB4YzAsMHhmYiwweDQwLDB4MzAsMHhjMCwweDBhLDB4MzAsMHgwMywweGNlLDB4ODAgfSwKLSAgMTYsIDB4YzM3MCwgMCwgezB4ZTEsMHg0MSwweDMwLDB4YzksMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzM4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MjAsMHhmYywweDAwLDB4MzcsMHhjMiwweDBlLDB4ZjEsMHgyMywweGVjLDB4NDAsMHhmZiwweDA0LDB4M2EgfSwKLSAgMTYsIDB4YzM5MCwgMCwgezB4YzAsMHgwZiwweGIwLDB4MjMsMHhmYywweDAwLDB4ZmYsMHgwNCwweDNlLDB4YzAsMHgwZCwweGEwLDB4MDMsMHhmYywweDU4LDB4ZmYgfSwKLSAgMTYsIDB4YzNhMCwgMCwgezB4MDAsMHhiZiwweGMwLDB4MDYsMHhmMCwweDgzLDB4ZGMsMHg2MiwweGRmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4MTAgfSwKLSAgMTYsIDB4YzNiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDgwLDB4YzksMHgwMSwweDNlLDB4YzAgfSwKLSAgMTYsIDB4YzNjMCwgMCwgezB4OGMsMHhiMiwweDA3LDB4YWUsMHgwNCwweGNiLDB4ODAsMHgzYSwweGM4LDB4NGMsMHhiMiwweDAzLDB4MmMsMHg4NCwweGNiLDB4MzAgfSwKLSAgMTYsIDB4YzNkMCwgMCwgezB4YjAsMHhlMCwweDBkLDB4ODgsMHgwYiwweDJjLDB4MDAsMHhlYiwweDAwLDB4MzAsMHgwMCwweDBjLDB4YmMsMHg4MywweDJkLDB4ODAgfSwKLSAgMTYsIDB4YzNlMCwgMCwgezB4ZmIsMHgwMCwweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhlYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzNmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4NDAsMHg4NywweDAwLDB4MmMsMHhjYywweDA4LDB4NzYsMHg4MiwweDNjLDB4ODIsMHg4NywweDAwLDB4MjEgfSwKLSAgMTYsIDB4YzQwMCwgMCwgezB4YzIsMHg4ZCwweDMyLDB4ODIsMHgwZCwweDRjLDB4YTcsMHgyOCwweDIxLDB4ODAsMHgwOCwweDQwLDB4MDIsMHgxZCwweDgwLDB4YmYgfSwKLSAgMTYsIDB4YzQxMCwgMCwgezB4MjAsMHgzNSwweDQwLDB4MDksMHg3MiwweDQzLDB4NWMsMHhhMCwweGI3LDB4MDAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YzQyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODQsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4YzQzMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4ZGUsMHhjMCwweDhmLDB4ODAsMHgyOCwweGVjLDB4MjgsMHg3YiwweDBhLDB4OWUsMHg5NCwweDgzLDB4ODQgfSwKLSAgMTYsIDB4YzQ0MCwgMCwgezB4MjMsMHhlMCwweDA5LDB4NTgsMHg1MCwweDllLDB4MTAsMHhhNywweGIwLDB4MjMsMHhlMCwweDBiLDB4NzgsMHgwMiwweDFlLDB4MjAgfSwKLSAgMTYsIDB4YzQ1MCwgMCwgezB4YjcsMHg4MCwweDIxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzQ2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDIsMHg4MiwweDFjLDB4MmMsMHhjMCwweDI4LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweGMwLDB4MjAgfSwKLSAgMTYsIDB4YzQ3MCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDYwLDB4ZDIsMHgwOCwweDFkLDB4MDIsMHgwZiwweDIwLDB4YmIgfSwKLSAgMTYsIDB4YzQ4MCwgMCwgezB4MjQsMHgyNCwweGMwLDB4MGIsMHgzYywweDAyLDB4NGYsMHgwMCwweGIzLDB4ODAsMHgyOCwweGQ4LDB4MDksMHgzMiwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YzQ5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhhOCwweDAwLDB4Y2UsMHg4NCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4YzRhMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGNlLDB4YzAsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAzLDB4YTgsMHgwMCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YzRiMCwgMCwgezB4MzMsMHg4MCwweDBkLDB4ZWMsMHgwMywweDNiLDB4ODAsMHhlZSwweDgyLDB4MzMsMHg4MCwweDBhLDB4YzAsMHg4NywweDEwLDB4NDAgfSwKLSAgMTYsIDB4YzRjMCwgMCwgezB4ZjYsMHhjMCwweDMzLDB4OTAsMHhhZCwweDY0LDB4MDMsMHhmYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzRkMCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDIsMHhmOCwweDAwLDB4M2MsMHgwMCwweDFmLDB4MDQsMHgwMywweGEwLDB4MDQsMHhmOCwweDMwLDB4M2UgfSwKLSAgMTYsIDB4YzRlMCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDQsMHgwZiwweDgwLDB4OTMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4YzRmMCwgMCwgezB4MTAsMHgzZSwweDAwLDB4MmMsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MTgsMHgzZSwweDEwLDB4MGUsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YzUwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4YzUxMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4YTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MDQsMHg5MCwweDAzLDB4MjQsMHgwMCwweDQxLDB4MDAgfSwKLSAgMTYsIDB4YzUyMCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTEsMHgxMywweGUxLDB4MDgsMHhmOCwweDAwLDB4MzIsMHg0MCwweDA4LDB4ODksMHg4MywweGEyLDB4MDAgfSwKLSAgMTYsIDB4YzUzMCwgMCwgezB4YzksMHg4MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MGIsMHgwMiwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzU0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBkLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YzU1MCwgMCwgezB4NDAsMHg0OCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHg4YiwweDk0LDB4NDIsMHhlMiwweDIwLDB4YjggfSwKLSAgMTYsIDB4YzU2MCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTUsMHgwNCwweGE5LDB4OTAsMHgzNCwweDYwLDB4MDgsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YzU3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDEwLDB4OTksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YzU4MCwgMCwgezB4MGEsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyNCwweDQwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGE5LDB4MDAgfSwKLSAgMTYsIDB4YzU5MCwgMCwgezB4MmEsMHg0MCwweDBiLDB4OTAsMHg4MiwweGUwLDB4MDEsMHhiOCwweDAwLDB4MjAsMHg0MCwweDNhLDB4OTAsMHgwMiwweGE0LDB4NDQgfSwKLSAgMTYsIDB4YzVhMCwgMCwgezB4ODksMHgwNCwweDIyLDB4NjIsMHgwOCwweDk4LDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzViMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4OGEsMHg4MSwweDAwLDB4MmMsMHg0OCwweDA5LDB4MzIsMHgwNiwweDQ0LDB4ODAsMHhiMSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4YzVjMCwgMCwgezB4NDgsMHgwYSwweDEyLDB4MDIsMHg4NCwweDgwLDB4YTEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDIsMHhjNSwweDAwLDB4YjEgfSwKLSAgMTYsIDB4YzVkMCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MGEsMHgyNCwweDAyLDB4YzksMHgwMCwweGEzLDB4MDAsMHgyNCwweDQwLDB4MDgsMHgxMSwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YzVlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDNlLDB4MTQgfSwKLSAgMTYsIDB4YzVmMCwgMCwgezB4MGUsMHg4MCwweDAzLDB4ZTEsMHg0MCwweGY4LDB4NTEsMHgzNiwweDE0LDB4MmUsMHg4NSwweDQzLDB4MjEsMHg0MiwweGU4LDB4NTAgfSwKLSAgMTYsIDB4YzYwMCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHgxMiwweGUwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCwweDFlLDB4ODAsMHg0MywweGEwLDB4MDAgfSwKLSAgMTYsIDB4YzYxMCwgMCwgezB4YzgsMHgwMSwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzYyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDRlLDB4MTEsMHgwMywweGE0LDB4NDAsMHhiNSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YzYzMCwgMCwgezB4NDQsMHgwZCwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxMCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YzY0MCwgMCwgezB4NDAsMHgzZiwweDQwLDB4MGQsMHg0NCwweDAzLDB4ZjEsMHgwMCwweGY1LDB4MDIsMHgzZCwweGMwLDB4MmYsMHhkMiwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YzY1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNywweDAwLDB4ZTksMHgwMCwweDM2LDB4NjAgfSwKLSAgMTYsIDB4YzY2MCwgMCwgezB4MGQsMHhkYSwweDAzLDB4ZTYsMHg0MCwweGY5LDB4NDAsMHgzZSwweDY4LDB4MGMsMHg5YSwweDAzLDB4NjYsMHgyMCwweDg5LDB4YTAgfSwKLSAgMTYsIDB4YzY3MCwgMCwgezB4MzMsMHg0MCwweDBlLDB4OTAsMHgwNywweGE2LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg1MCwweDBjLDB4Y2EsMHgwMywweGYzLDB4ODAgfSwKLSAgMTYsIDB4YzY4MCwgMCwgezB4YzUsMHgwMiwweDMzLDB4NDAsMHgwYywweGMwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzY5MCwgMCwgezB4MzgsMHgxMCwweGUzLDB4MDQsMHg4OCwweGEyLDB4MjAsMHgzOCwweDA4LDB4ODAsMHgwMiwweGUzLDB4NDAsMHhiMCwweDgwLDB4MmUgfSwKLSAgMTYsIDB4YzZhMCwgMCwgezB4MjgsMHgwOCwweDhhLDB4ODIsMHgyMywweDgwLDB4ODgsMHg4MCwweDIyLDB4MDAsMHhkYiwweDg4LDB4MDIsMHg2MiwweDA0LDB4YjggfSwKLSAgMTYsIDB4YzZiMCwgMCwgezB4YjAsMHgyZSwweGE4LDB4ODgsMHg4ZSwweGEyLDB4ZWEsMHg4MCwweDg4LDB4MDAsMHgyYSwweDAwLDB4MjgsMHg4OCwweDAzLDB4OGUgfSwKLSAgMTYsIDB4YzZjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgyLDB4YTksMHgwOCwweDJjLDB4NTIgfSwKLSAgMTYsIDB4YzZkMCwgMCwgezB4MGIsMHgxNCwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjEsMHgwYywweDUyLDB4ODgsMHgxNCwweDAyLDB4NDQsMHgyMCwweDkxLDB4NjkgfSwKLSAgMTYsIDB4YzZlMCwgMCwgezB4MjAsMHg0MCwweDBhLDB4MTAsMHg4MiwweGM2LDB4ZTAsMHhiMSwweDBjLDB4MmMsMHg0OCwweDA4LDB4MDEsMHgwMiwweGUxLDB4OTMgfSwKLSAgMTYsIDB4YzZmMCwgMCwgezB4YTEsMHgwMSwweDI0LDB4NDEsMHgwYSwweDEwLDB4MDIsMHhjMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzcwMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMCwweGU0LDB4MDAsMHgzOSwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YzcxMCwgMCwgezB4NDAsMHgwOCwweDEwLDB4NjIsMHgyNCwweDAwLDB4OTEsMHgwMCwweDYyLDB4NDAsMHg4YiwweDgwLDB4MDIsMHhlMCwweDU0LDB4YjkgfSwKLSAgMTYsIDB4YzcyMCwgMCwgezB4MGMsMHgyZSwweDQwLDB4MDksMHhiNiwweDUyLDB4ZWMsMHgwMCwweGE5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MiwweDgwLDB4ODYgfSwKLSAgMTYsIDB4YzczMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZTEsMHg2MCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4Yzc0MCwgMCwgezB4MGQsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MzAsMHgzZSwweDQwLDB4MmMsMHg5MCwweDQzLDB4NjQsMHgwNiwweGM5LDB4MDAgfSwKLSAgMTYsIDB4Yzc1MCwgMCwgezB4MzIsMHg0OSwweDBlLDB4OGQsMHg5MywweGUwLDB4MDAsMHhmOSwweDAwLDB4MmUsMHg0MCwweDJjLDB4OTQsMHgwMywweGM3LDB4NDAgfSwKLSAgMTYsIDB4Yzc2MCwgMCwgezB4ZTksMHgyMCwweDMwLDB4NTUsMHgwZSwweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzc3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgwLDB4M2MgfSwKLSAgMTYsIDB4Yzc4MCwgMCwgezB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwNCwweGJlLDB4NDAsMHgwZiwweDg4LDB4MzMsMHg2MiwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4Yzc5MCwgMCwgezB4YzIsMHgzZSwweDQ4LDB4MmUsMHg4OCwweDMzLDB4ZTIsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDYwLDB4MGQsMHg4MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4YzdhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YzdiMCwgMCwgezB4MGQsMHg4MCwweDAzLDB4YTAsMHgwNCwweGU4LDB4NDAsMHhiYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwNCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4YzdjMCwgMCwgezB4M2EsMHgwMCwweDBlLDB4OGMsMHgwMywweGUwLDB4MDAsMHhmOCwweDAyLDB4MzIsMHgwMCwweDBlLDB4ODAsMHgwMywweDYxLDB4MjAgfSwKLSAgMTYsIDB4YzdkMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MTYsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzdlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDA4LDB4ZTIsMHgwMywweDI4LDB4MDAsMHg4YSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4YzdmMCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDA0LDB4OGEsMHgwMCwweDJlLDB4YTIsMHgwOSwweGU4LDB4MDIsMHhmYSwweDA0LDB4YmUgfSwKLSAgMTYsIDB4YzgwMCwgMCwgezB4MDAsMHhhMiwweDgwLDB4MDgsMHhjZCwweDgyLDB4MzMsMHgyMCwweGI2LDB4YzAsMHgzNywweGEwLDB4NGIsMHhjOCwweDgyLDB4Y2EgfSwKLSAgMTYsIDB4YzgxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2YywweDAwLDB4ODMsMHgwMCwweDI2LDB4YzAgfSwKLSAgMTYsIDB4YzgyMCwgMCwgezB4MDksMHgzOCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4YzgzMCwgMCwgezB4MjgsMHhlMCwweDBiLDB4MzAsMHgwMiwweGNlLDB4ODEsMHhiMywweDAwLDB4NjIsMHhjMCwweDA4LDB4M2MsMHgwMiwweDRmLDB4MDAgfSwKLSAgMTYsIDB4Yzg0MCwgMCwgezB4YjMsMHhhMCwweDIwLDB4YjAsMHgwMywweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg1MCwgMCwgezB4YTAsMHgwMSwweDBjLDB4NDEsMHg4NywweDM0LDB4MmQsMHhjMCwweDA4LDB4NjAsMHgwMiwweDllLDB4NDAsMHhiNywweGEwLDB4MmQgfSwKLSAgMTYsIDB4Yzg2MCwgMCwgezB4YzAsMHgwOCwweDczLDB4MDIsMHhkYywweDAwLDB4ODcsMHgyMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4ODIsMHhkZCwweDg1LDB4YmYgfSwKLSAgMTYsIDB4Yzg3MCwgMCwgezB4ODEsMHg2MywweGM4LDB4ODgsMHg3YiwweDAyLDB4MWMsMHgwMCwweGI3LDB4NDAsMHg2NSwweDAwLDB4MWIsMHg3MiwweDAyLDB4ZTggfSwKLSAgMTYsIDB4Yzg4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MSwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4Yzg5MCwgMCwgezB4ZGQsMHg3MCwweDAzLDB4ZmUsMHg4MCwweGY3LDB4OTAsMHgzZiwweGUwLDB4MmMsMHg3OSwweDAzLDB4ZmUsMHg4MCwweGM3LDB4YTAgfSwKLSAgMTYsIDB4YzhhMCwgMCwgezB4MzksMHhlMCwweDBmLDB4N2EsMHgwMiwweGRlLDB4ODQsMHhmNywweGMyLDB4MzEsMHhmMiwweDBjLDB4NzksMHgwMywweDVlLDB4MDQgfSwKLSAgMTYsIDB4YzhiMCwgMCwgezB4ZjcsMHg4NCwweDMxLDB4NjAsMHgwZiwweDdlLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzhjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MGEsMHhmYiwweDYwLDB4N2UsMHhkNCwweDBmLDB4MzAsMHgwMywweDZjLDB4MDAsMHhjYiwweDAwLDB4MzIgfSwKLSAgMTYsIDB4YzhkMCwgMCwgezB4ZGUsMHgyZiwweGIyLDB4MDMsMHhlZCwweDQyLDB4MWIsMHg2MCwweDNlLDB4YzEsMHgwZCwweGIxLDB4MDMsMHhlYywweDUwLDB4ZjcgfSwKLSAgMTYsIDB4YzhlMCwgMCwgezB4ODAsMHgzZCwweGQ4LDB4MmUsMHgzMiwweDAzLDB4ZWMsMHgzMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YzhmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDAwLDB4Y2IsMHhkMCwweDNmLDB4ZjAgfSwKLSAgMTYsIDB4YzkwMCwgMCwgezB4NGMsMHhmOCwweDEzLDB4ZmUsMHgwMCwweGNmLDB4ODgsMHgzZiwweGUwLDB4MGMsMHhmOCwweDQzLDB4M2YsMHgwMCwweGNmLDB4YzggfSwKLSAgMTYsIDB4YzkxMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlMCwweDJjLDB4ZjgsMHgwMywweGJlLDB4MjAgfSwKLSAgMTYsIDB4YzkyMCwgMCwgezB4YzcsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY4LDB4MDEsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzkzMCwgMCwgezB4YTgsMHgwMSwweGJjLDB4NDAsMHg4NywweDkwLDB4M2QsMHhjMCwweDA4LDB4NDAsMHgwMiwweGRjLDB4ODAsMHhkNywweDAwLDB4MmQgfSwKLSAgMTYsIDB4Yzk0MCwgMCwgezB4YzAsMHgwYywweDMwLDB4MDMsMHg3YywweDAwLDB4ODcsMHgxMCwweDIxLDB4YzQsMHgxZSwweDcwLDB4MjAsMHhkYywweDQ0LDB4YjcgfSwKLSAgMTYsIDB4Yzk1MCwgMCwgezB4MDAsMHgzOSwweGMwLDB4MGMsMHg3MSwweDAyLDB4MWMsMHg0MCwweGQ3LDB4MDIsMHgyOSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4Yzk2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHgzMiwweDJkLDB4YzAgfSwKLSAgMTYsIDB4Yzk3MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3LDB4MDAsMHgyYywweGMwLDB4MmIsMHg3MCwweDBhLDB4NWMsMHgwMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4Yzk4MCwgMCwgezB4MjMsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRkLDB4MDAsMHhiNywweDAwLDB4MmQsMHhjNCwweDBiLDB4ZjAsMHgwMiwweDljLDB4MjAgfSwKLSAgMTYsIDB4Yzk5MCwgMCwgezB4ODcsMHgxOCwweDI5LDB4NDAsMHgwOCwweDcwLDB4ODIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzlhMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MywweDAyLDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweGNjLDB4MDgsMHg4MywweDQwLDB4MmUgfSwKLSAgMTYsIDB4YzliMCwgMCwgezB4YzAsMHgyYSwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCwweDIwLDB4ZjIsMHgwYSwweDMwLDB4MDIsMHhjZSwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YzljMCwgMCwgezB4ODgsMHgyYSwweGQwLDB4MGEsMHgzMCwweDA2LDB4MGMsMHgwMCwweDkyLDB4MDAsMHgyOCwweDc4LDB4MDgsMHgzYywweDQyLDB4MDggfSwKLSAgMTYsIDB4YzlkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAyLDB4YzcsMHgwMCwweDJmLDB4YzAgfSwKLSAgMTYsIDB4YzllMCwgMCwgezB4MmMsMHg5MCwweDAyLDB4ZmMsMHgwMiwweDhmLDB4ZDgsMHgzZiwweGMwLDB4NGIsMHhmMCwweDAyLDB4N2MsMHgwMiwweGNmLDB4MDAgfSwKLSAgMTYsIDB4YzlmMCwgMCwgezB4MjAsMHhmMiwweDA4LDB4YjAsMHgxMywweGVlLDB4ODAsMHhmZiwweDAwLDB4M2YsMHhkNCwweDJlLDB4YmQsMHg4MywweGFjLDB4MDAgfSwKLSAgMTYsIDB4Y2EwMCwgMCwgezB4Y2IsMHg4MCwweDNhLDB4YTAsMHhhYywweGI4LDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2ExMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4ODQsMHgwMywweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4Y2EyMCwgMCwgezB4YzAsMHgwMSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweGJlLDB4YzAsMHgwZSwweGIwLDB4MjMsMHhlYywweDA4LDB4ZmIgfSwKLSAgMTYsIDB4Y2EzMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGQsMHhiNCwweDAzLDB4ZWQsMHgwNCwweGY5LDB4MDAsMHgxZSwweDE0LDB4Y2YsMHhiMCwweDgzLDB4ZTAgfSwKLSAgMTYsIDB4Y2E0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4Y2YsMHgwMCwweDMwLDB4YzAgfSwKLSAgMTYsIDB4Y2E1MCwgMCwgezB4MGMsMHg0MCwweDAzLDB4YWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MmMsMHhiMCwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4Y2E2MCwgMCwgezB4YjMsMHhlMCwweDBkLDB4ZmEsMHgwMywweDdlLDB4ODAsMHhjZiwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZmMsMHg0MywweGZmLDB4MjAgfSwKLSAgMTYsIDB4Y2E3MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwOCwweGY4LDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2E4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MTAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDBhLDB4OGUsMHg0MiwweDJjLDB4MDQsMHhiYiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4Y2E5MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMCwweDNhLDB4YzAsMHgwZSwweDMwLDB4MDIsMHgwZCwweDA4LDB4ODMgfSwKLSAgMTYsIDB4Y2FhMCwgMCwgezB4MDIsMHgyMiwweGMwLDB4MGEsMHhiYywweDAyLDB4ZWYsMHgwMCwweGJiLDB4YzAsMHgyYywweDY4LDB4MGEsMHhiOSwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4Y2FiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwYywweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAgfSwKLSAgMTYsIDB4Y2FjMCwgMCwgezB4MDgsMHhiOCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDIsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAgfSwKLSAgMTYsIDB4Y2FkMCwgMCwgezB4MjYsMHg0OCwweDE5LDB4YjAsMHgwMiwweDZkLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDBhLDB4YjAsMHgwMiwweGVjLDB4MDQgfSwKLSAgMTYsIDB4Y2FlMCwgMCwgezB4YmIsMHgxYywweDJlLDB4MjAsMHgwYSwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2FmMCwgMCwgezB4MDgsMHgxNCwweDBjLDB4MDAsMHhhYiwweDIwLDB4MjgsMHhjMCwweDBhLDB4MDAsMHgwMiwweDBjLDB4MDAsMHg5MywweDA0LDB4MmMgfSwKLSAgMTYsIDB4Y2IwMCwgMCwgezB4YzEsMHgwOCwweDMwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4NDEsMHgwOSwweGI4LDB4MDIsMHgwYywweDAyLDB4ODMgfSwKLSAgMTYsIDB4Y2IxMCwgMCwgezB4MDEsMHhhMCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgxMCwweDkzLDB4MDAsMHgyYywweDAwLDB4MGEsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4Y2IyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg3YywweDAwLDB4Y2YsMHgyOCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4Y2IzMCwgMCwgezB4MGMsMHhhMCwweDQ2LDB4YWMsMHgxMSwweGJmLDB4MDAsMHgzZiwweGMwLDB4NWMsMHhmMCwweDQzLDB4ZmMsMHgwMCwweGZmLDB4MDQgfSwKLSAgMTYsIDB4Y2I0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4YjAsMHgwMywweDZjLDB4MDgsMHhjYiwweDA0LDB4MzEsMHhjMCwweDBjLDB4YjAsMHgzMywweGVkLDB4NDAgfSwKLSAgMTYsIDB4Y2I1MCwgMCwgezB4ZmIsMHgwNCwweDNlLDB4NDAsMHgwZSwweGIwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2I2MCwgMCwgezB4YTAsMHgxNSwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgyMywweGZjLDB4MDEsMHhmZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4Y2I3MCwgMCwgezB4YzAsMHg0ZiwweGYwLDB4ODcsMHg3YywweDAwLDB4ZmYsMHgwMCwweDM5LDB4NDAsMHgwZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4Y2I4MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZGMsMHg4MCwweGZmLDB4MDAsMHgzZCwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4Y2I5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDQwLDB4ZWIsMHg0OCwweDNlLDB4YzIgfSwKLSAgMTYsIDB4Y2JhMCwgMCwgezB4MGUsMHgwOSwweDAzLDB4YmMsMHg2MCwweGMwLDB4MjAsMHgzNSwweDI0LDB4MGUsMHhkMiwweDEzLDB4MmMsMHg2MCwweGZiLDB4NmEgfSwKLSAgMTYsIDB4Y2JiMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4Y2EsMHgwMywweDIyLDB4MjAsMHhjMCwweDgwLDB4MzcsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAgfSwKLSAgMTYsIDB4Y2JjMCwgMCwgezB4ZWYsMHgwMCwweDMzLDB4MjQsMHgwZiwweGM4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2JkMCwgMCwgezB4ODAsMHgxMCwweGRkLDB4MDAsMHg4ZiwweDYwLDB4MmYsMHhkOCwweDA4LDB4YTIsMHgwMiwweGZkLDB4ODAsMHhjOCwweDcwLDB4MjIgfSwKLSAgMTYsIDB4Y2JlMCwgMCwgezB4MDAsMHgyYywweGZkLDB4MDcsMHhkYywweDg0LDB4YmYsMHg2MCwweDIzLDB4ZDIsMHgwYiwweGJkLDB4MDIsMHgyMywweDAwLDB4ODggfSwKLSAgMTYsIDB4Y2JmMCwgMCwgezB4ODAsMHhhMiwweDIwLDB4ODgsMHhiMCwweDIyLDB4MzQsMHgwMCwweGJiLDB4NTAsMHgyMiwweGM4LDB4MGIsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4Y2MwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YTMsMHgwMywweDJjLDB4YzIgfSwKLSAgMTYsIDB4Y2MxMCwgMCwgezB4MGEsMHgwMCwweDQyLDB4OGMsMHg4MiwweGEzLDB4MGEsMHgyNCwweDgwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHg5MCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4Y2MyMCwgMCwgezB4MjgsMHhkOCwweDBiLDB4MTAsMHgwMiwweDhjLDB4MDIsMHg5MCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MTAsMHg0MiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4Y2MzMCwgMCwgezB4YjMsMHgwNCwweDI0LDB4YzAsMHgwYiwweDMwLDB4MGUsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2M0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHg5YiwweDA0LDB4MmMsMHhjMCwweGY4LDB4OTgsMHgwNiwweGVjLDB4MDAsMHhhYiwweDgwLDB4MjYgfSwKLSAgMTYsIDB4Y2M1MCwgMCwgezB4MjAsMHgwOCwweDkwLDB4MmEsMHhhYywweDEwLDB4YmIsMHgwMCwweDBhLDB4YzAsMHgxYiwweGIwLDB4MjIsMHhhZCwweDAwLDB4OTggfSwKLSAgMTYsIDB4Y2M2MCwgMCwgezB4NDAsMHgyYSwweDcwLDB4NGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4MDAsMHhhNiwweDg2LDB4MWIsMHhiMCwweDgyLDB4YjAgfSwKLSAgMTYsIDB4Y2M3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4Y2M4MCwgMCwgezB4OGUsMHg5OCwweDAzLDB4YWMsMHgwOCwweGU4LDB4YzAsMHgzNiwweDMwLDB4NGYsMHhiMCwweDQyLDB4ZWMsMHgwMCwweGY5LDB4ODAgfSwKLSAgMTYsIDB4Y2M5MCwgMCwgezB4M2EsMHhjMCwweDhmLDB4ODgsMHg0MiwweDIwLDB4MTAsMHhjOCwweDEwLDB4MzAsMHhmMCwweDBmLDB4MzAsMHgxMywweDZjLDB4MTAgfSwKLSAgMTYsIDB4Y2NhMCwgMCwgezB4ZWIsMHgwMCwweDM2LDB4ZjAsMHgwZiwweGJkLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2NiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhlZiwweDA0LDB4N2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweGRjLDB4MDAsMHhjNCwweDAwLDB4M2IgfSwKLSAgMTYsIDB4Y2NjMCwgMCwgezB4NDAsMHg4YiwweGRjLDB4MDMsMHg3YywweDEwLDB4ZjksMHg5MCwweDM2LDB4YzIsMHg0ZiwweGY5LDB4MjMsMHg2MiwweDQxLDB4YWMgfSwKLSAgMTYsIDB4Y2NkMCwgMCwgezB4MDEsMHgxMywweDQwLDB4MDQsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4Y2NlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDEyLDB4Y2IsMHgwMCwweGYyLDB4YzAgfSwKLSAgMTYsIDB4Y2NmMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YWMsMHgwOCwweGQ5LDB4MDAsMHgzYSwweDgwLDB4MGYsMHgxMiwweDAzLDB4YWMsMHgwMCwweGUxLDB4MDAgfSwKLSAgMTYsIDB4Y2QwMCwgMCwgezB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweGVkLDB4MDIsMHhjOCwweDQwLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgxMywweDJjLDB4MDIgfSwKLSAgMTYsIDB4Y2QxMCwgMCwgezB4ZGIsMHgwMCwweDNlLDB4NTAsMHgwYywweGI0LDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2QyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MTcsMHhjMCwweDA4LDB4OTAsMHgwMiwweDNjLDB4MDgsMHg4ZCwweDAwLDB4MjIgfSwKLSAgMTYsIDB4Y2QzMCwgMCwgezB4NTQsMHgwOCwweGI0LDB4MDMsMHgzYywweDAwLDB4ODksMHgwMCwweDIzLDB4YzAsMHg0MCwweDM1LDB4MDIsMHhjYywweDI0LDB4ODAgfSwKLSAgMTYsIDB4Y2Q0MCwgMCwgezB4MDAsMHgyMiwweDc0LDB4NGMsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhmLDB4MDAsMHgyZSwweGQ0LDB4MGEsMHhiMCwweDBhLDB4MzIgfSwKLSAgMTYsIDB4Y2Q1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0YywweDAyLDB4ODMsMHgwMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4Y2Q2MCwgMCwgezB4MDksMHgwMCwweDAyLDB4OGMsMHgwMSwweDkwLDB4MDAsMHg2YSwweDQxLDB4MGEsMHgzMCwweDIwLDB4NGUsMHgxMCwweDMxLDB4MDIgfSwKLSAgMTYsIDB4Y2Q3MCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MjAsMHgwNiwweGNlLDB4MDAsMHg4MCwweDAwLDB4NjAsMHhlMCwweDBhLDB4MzAsMHg4MiwweDBjLDB4MDggfSwKLSAgMTYsIDB4Y2Q4MCwgMCwgezB4ODMsMHgwOCwweDJjLDB4ZDAsMHgwOSwweGIwLDB4MDIsMHg3OCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Q5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHg4NywweGIwLDB4MjAsMHhlYywweDA5LDB4ZTksMHgwMiwweDhlLDB4NTgsMHg5ZCwweGIwLDB4MmIgfSwKLSAgMTYsIDB4Y2RhMCwgMCwgezB4YTUsMHg0MCwweDViLDB4MDYsMHhkZSwweDQwLDB4OTUsMHg5NCwweDJkLDB4ZTQsMHgxOSwweDdiLDB4MDYsMHhkZSwweDAwLDB4ODQgfSwKLSAgMTYsIDB4Y2RiMCwgMCwgezB4ODAsMHg2MCwweGUwLDB4MGEsMHg3OCwweDBhLDB4MTYsMHgxMCwweDg3LDB4ODAsMHgyZCwweDY4LDB4MGIsMHg3OSwweDAyLDB4NDggfSwKLSAgMTYsIDB4Y2RjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4Y2IsMHhhMCwweDI0LDB4ZTAgfSwKLSAgMTYsIDB4Y2RkMCwgMCwgezB4MGYsMHgyYSwweDAzLDB4OGUsMHgwMCwweGQyLDB4ZDAsMHgzOCwweGZhLDB4MGYsMHgxOCwweGMzLDB4Y2UsMHgyNCwweDMxLDB4YjAgfSwKLSAgMTYsIDB4Y2RlMCwgMCwgezB4M2MsMHhlNSwweDBjLDB4M2IsMHgxNywweGNlLDB4MDQsMHhjMCwweDgyLDB4MzgsMHhjMiwweDllLDB4MTAsMHgwMywweDBjLDB4MDAgfSwKLSAgMTYsIDB4Y2RmMCwgMCwgezB4YzMsMHgwMSwweDNlLDB4YzAsMHgwZCwweDgxLDB4MDMsMHg1MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2UwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlZiwweDEwLDB4M2UsMHhjMiwweDBlLDB4YjEsMHgyMywweDJjLDB4YzEsMHhhYiwweDAxLDB4MzYgfSwKLSAgMTYsIDB4Y2UxMCwgMCwgezB4ODAsMHgwZiwweGIwLDB4MjMsMHgyZCwweDkwLDB4ZTksMHg4NCwweDcyLDB4YzgsMHg2MiwweGYxLDB4MTcsMHhmYywweDAwLDB4ZmMgfSwKLSAgMTYsIDB4Y2UyMCwgMCwgezB4MDAsMHgzYiwweGM0LDB4MWQsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGVmLDB4MDgsMHgzZiwweGM4LDB4MGUsMHhmMSwweDAzLDB4OTAgfSwKLSAgMTYsIDB4Y2UzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDgwLDB4ZmIsMHhhNCwweDNhLDB4YzggfSwKLSAgMTYsIDB4Y2U0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MmMsMHgwNCwweGNhLDB4MDAsMHgzMCwweDYwLDB4MmQsMHgxYSwweDI3LDB4NmMsMHg4NCwweGNiLDB4NjAgfSwKLSAgMTYsIDB4Y2U1MCwgMCwgezB4MzIsMHhkMiwweDBjLDB4YTAsMHgxMywweDJkLDB4ODQsMHhjYiwweDAyLDB4M2UsMHhjMCwweDBkLDB4YjgsMHgwMywweGFjLDB4ODAgfSwKLSAgMTYsIDB4Y2U2MCwgMCwgezB4Y2IsMHg4MSwweDMyLDB4ODAsMHgwYywweGIwLDB4MDMsMHhhYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2U3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4YTQsMHhiNywweDI4LDB4NzMsMHhjMiwweDA4LDB4ZjAsMHgwMiwweDNjLDB4YzAsMHg4ZiwweDAwLDB4MzEgfSwKLSAgMTYsIDB4Y2U4MCwgMCwgezB4YzAsMHgwOSwweDcwLDB4ODIsMHg5YywweDgwLDB4ODcsMHgwYywweDIwLDB4ZDgsMHgwOSwweDcwLDB4MjIsMHgxYywweDMwLDB4ODQgfSwKLSAgMTYsIDB4Y2U5MCwgMCwgezB4MDAsMHgzZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MTQsMHgyNCwweDg3LDB4YTAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDEyLDB4MTIgfSwKLSAgMTYsIDB4Y2VhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDQwLDB4YjMsMHg5NSwweDI5LDB4ZTkgfSwKLSAgMTYsIDB4Y2ViMCwgMCwgezB4MGEsMHg2OCwweDAyLDB4OWUsMHhkMCwweDg2LDB4ZjAsMHhhMywweGUwLDB4MDgsMHg3OCwweDEyLDB4OWUsMHg0NCwweGEzLDB4ODIgfSwKLSAgMTYsIDB4Y2VjMCwgMCwgezB4MjEsMHhlOCwweDBiLDB4MzgsMHgwMiwweDBlLDB4MTAsMHg4NywweDgwLDB4MmYsMHhlMCwweDBiLDB4MTgsMHgwMiwweDhlLDB4MDIgfSwKLSAgMTYsIDB4Y2VkMCwgMCwgezB4ODcsMHgwMCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2VlMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDQ4LDB4MzAsMHgwMiwweDBjLDB4MDQsMHg4MywweDgwLDB4MjAgfSwKLSAgMTYsIDB4Y2VmMCwgMCwgezB4ZDAsMHgwOSwweDEwLDB4MDIsMHg4YywweDA2LDB4YTMsMHg4MCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAyLDB4ODAgfSwKLSAgMTYsIDB4Y2YwMCwgMCwgezB4NDAsMHgyOCwweGQyLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMSwweDgzLDB4MDAsMHgyMiwweDNjLDB4MDgsMHg4NywweDAyLDB4MTIgfSwKLSAgMTYsIDB4Y2YxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDE4LDB4ZmEsMHgwMCwweDNhLDB4ODAgfSwKLSAgMTYsIDB4Y2YyMCwgMCwgezB4OGUsMHhlNCwweDQyLDB4MjgsMHgwMiwweGNlLDB4ODAsMHgzMywweDgwLDB4NGQsMHhhMCwweDgzLDB4ZTgsMHgwMCwweGVhLDB4YTAgfSwKLSAgMTYsIDB4Y2YzMCwgMCwgezB4YjIsMHg4MCwweDBhLDB4YTAsMHgwYSwweDI4LDB4MDAsMHhjZSwweDE4LDB4MmYsMHg4MCwweDBmLDB4YTAsMHgxMywweGE4LDB4MDAgfSwKLSAgMTYsIDB4Y2Y0MCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4OTAsMHgyYywweGFjLDB4MGIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Y1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDA0LDB4M2EsMHgwMCwweDBmLDB4ODAsMHg4MywweGMwLDB4MDgsMHhlOCwweDAzLDB4M2EgfSwKLSAgMTYsIDB4Y2Y2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MjIsMHhjMCwweDAwLDB4ZDAsMHgwMCwweDdlLDB4MTAsMHhhNCwweDgwLDB4MDMsMHhjMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4Y2Y3MCwgMCwgezB4MDAsMHgzZSwweDEwLDB4MGQsMHg4NCwweDAzLDB4YzAsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwLDB4MGYsMHg4MCwweDAxLDB4NTIgfSwKLSAgMTYsIDB4Y2Y4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAyLDB4YzksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4Y2Y5MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMiwweDg5LDB4MDQsMHgzMiwweDQyLDB4MGQsMHg5MiwweDAzLDB4ZTYsMHg0MiwweGM5LDB4MDAgfSwKLSAgMTYsIDB4Y2ZhMCwgMCwgezB4MzIsMHg3MCwweDBlLDB4MTIsMHgwYiwweDI0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0NSwweDBlLDB4OTksMHgwMywweGU0LDB4MDIgfSwKLSAgMTYsIDB4Y2ZiMCwgMCwgezB4YzEsMHgwMCwweDMyLDB4NTAsMHgwNCwweDk0LDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2ZjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4Y2ZkMCwgMCwgezB4NTQsMHgwYiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4Y2ZlMCwgMCwgezB4MDAsMHgzOCwweDQ4LDB4MDgsMHg5MCwweDgyLDB4ZTQsMHgwNCwweGQ5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4Y2ZmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwMSwweDJjLDB4NDAgfSwKLSAgMTYsIDB4ZDAwMCwgMCwgezB4MjgsMHgxMCwweDQyLDB4NjQsMHgwMCwweGExLDB4MDQsMHgyMiwweDUwLDB4MDEsMHg5MCwweDQyLDB4ZTQsMHgwMCwweDg5LDB4MDQgfSwKLSAgMTYsIDB4ZDAxMCwgMCwgezB4MjAsMHg0MiwweDBhLDB4OTAsMHg0MiwweDM0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDBhLDB4OTAsMHgwMCwweGU0LDB4MDAgfSwKLSAgMTYsIDB4ZDAyMCwgMCwgezB4ODksMHgwMCwweDIzLDB4NDAsMHgwYSwweGQwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDAzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDI0LDB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweDA0LDB4ODAsMHhhMSwweDIwLDB4MjggfSwKLSAgMTYsIDB4ZDA0MCwgMCwgezB4NDAsMHgwYiwweDEwLDB4MDIsMHg4NSwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDUwLDB4NjIsMHgxNCwweDAyLDB4ODEgfSwKLSAgMTYsIDB4ZDA1MCwgMCwgezB4MDMsMHgyZSwweDQwLDB4ODgsMHgxNiwweDgyLDB4YzQsMHhhMCwweDkxLDB4MjgsMHgyMSwweDQwLDB4MmEsMHg1MCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4ZDA2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHg1MCwweDJlLDB4MTQgfSwKLSAgMTYsIDB4ZDA3MCwgMCwgezB4MGMsMHg4NSwweDAzLDB4NjEsMHg0MCwweGU4LDB4NTAsMHhiMiwweDE1LDB4NGQsMHg4MCwweDAyLDB4YzAsMHgwMCwweDQ4LDB4NTAgfSwKLSAgMTYsIDB4ZDA4MCwgMCwgezB4YjIsMHgxNSwweDFhLDB4ODAsMHgxMywweDMwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODIsMHgwMywweGUwLDB4ODAgfSwKLSAgMTYsIDB4ZDA5MCwgMCwgezB4YzAsMHgyMCwweDMwLDB4MDAsMHgwZSwweDQwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDBhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDgsMHhkZCwweDEwLDB4MzcgfSwKLSAgMTYsIDB4ZDBiMCwgMCwgezB4NDAsMHgwZiwweGQ0LDB4MDcsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNlLDB4NDUsMHgwZiwweDk0LDB4MDMsMHhlNSwweDA4LDB4ZmQgfSwKLSAgMTYsIDB4ZDBjMCwgMCwgezB4MDIsMHgzOSwweGQwLDB4MGYsMHhkMCwweDQzLDB4ZjQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRiLDB4MGQsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ZDBkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDgwLDB4YzksMHhhNiwweDMyLDB4NjggfSwKLSAgMTYsIDB4ZDBlMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YTYsMHg4MSwweGU5LDB4ZTksMHgzYiwweDQwLDB4MGUsMHg1OCwweDAzLDB4MzYsMHgyMCwweGM5LDB4YTAgfSwKLSAgMTYsIDB4ZDBmMCwgMCwgezB4MzcsMHg3OCwweDBkLDB4ZGEsMHgwMywweDM2LDB4MjYsMHhjNSwweDAwLDB4MzcsMHg2OSwweDBlLDB4ZGUsMHgwMywweGE2LDB4ODIgfSwKLSAgMTYsIDB4ZDEwMCwgMCwgezB4Y2QsMHhjMCwweDMzLDB4NTAsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDExMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4YTQsMHg4OCwweGE5LDB4MjIsMHgzYSwweDA4LDB4MDgsMHgwMCwweDIyLDB4YTAsMHhiOCwweGU1LDB4MzAgfSwKLSAgMTYsIDB4ZDEyMCwgMCwgezB4MjAsMHgyOCwweDgwLDB4MjIsMHg0MywweGEwLDB4MDgsMHhlOCwweDJhLDB4M2QsMHgwOCwweGE0LDB4NjIsMHgyMCwweDAwLDB4ODggfSwKLSAgMTYsIDB4ZDEzMCwgMCwgezB4MDAsMHgyZSwweDEwLDB4MDgsMHg4ZSwweDAzLDB4MjMsMHhhMCwweDg4LDB4YTAsMHgyMCwweDI4LDB4MGIsMHg4YSwweDgyLDB4MGUgfSwKLSAgMTYsIDB4ZDE0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4OTEsMHg0MCwweDIwLDB4NDQgfSwKLSAgMTYsIDB4ZDE1MCwgMCwgezB4MDgsMHg5MCwweGEyLDB4ODUsMHgxMCwweGExLDB4MjAsMHgyYywweDQyLDB4MGIsMHgxNCwweDEyLDB4OGMsMHgwMSwweDkxLDB4MTAgfSwKLSAgMTYsIDB4ZDE2MCwgMCwgezB4MmMsMHg0OCwweDA5LDB4MTEsMHgwYSwweGM0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg1MCwweDBiLDB4MTEsMHgxMiwweGM1LDB4MDEgfSwKLSAgMTYsIDB4ZDE3MCwgMCwgezB4YjEsMHg0MCwweDI0LDB4NDgsMHgwYiwweDE4LDB4MGUsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDE4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0MSwweDA4LDB4OTQsMHg0MiwweDI0LDB4MDAsMHhiMSwweDQwLDB4MjAgfSwKLSAgMTYsIDB4ZDE5MCwgMCwgezB4NDAsMHg0OSwweGIyLDB4NjIsMHgyNCwweDAwLDB4OTksMHgwMCwweDBhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNSwweDgwLDB4ODkgfSwKLSAgMTYsIDB4ZDFhMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MDksMHhiMCwweDAyLDB4MjQsMHg4MCwweGI5LDB4MDAsMHgyNiwweDUwLDB4NGIsMHg5MCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ZDFiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAyLDB4ZDksMHgwMCwweGIyLDB4NDAgfSwKLSAgMTYsIDB4ZDFjMCwgMCwgezB4MmMsMHg5NSwweDEzLDB4YTQsMHgxMCwweGU5LDB4MDAsMHhiZSwweDYwLDB4OGYsMHg5MCwweDBiLDB4YTQsMHgxMCwweDU5LDB4MDAgfSwKLSAgMTYsIDB4ZDFkMCwgMCwgezB4MWUsMHg0MCwweDlkLDB4OTQsMHgyMywweGU0LDB4MDIsMHg4OSwweDAwLDB4MzQsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDggfSwKLSAgMTYsIDB4ZDFlMCwgMCwgezB4NzksMHgwMCwweGI2LDB4NDAsMHgwNywweDk4LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDFmMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDAsMHhlOSwweDAyLDB4M2MsMHg0MCwweDJmLDB4OTgsMHgwMiwweGU0LDB4MDAsMHhmOSwweDQyLDB4M2EgfSwKLSAgMTYsIDB4ZDIwMCwgMCwgezB4NjgsMHgwYSwweDEwLDB4MDMsMHhlNCwweDEwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MGYsMHgyNiwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZDIxMCwgMCwgezB4MDQsMHgzZSwweDQwLDB4MGUsMHgxYywweDAzLDB4ZTYsMHgwMCwweGMxLDB4MDAsMHgzYSwweDUwLDB4MGYsMHg5OSwweDgzLDB4Y2EgfSwKLSAgMTYsIDB4ZDIyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4ZDIzMCwgMCwgezB4MGMsMHg4NCwweDAzLDB4MjAsMHgwMCwweGQ4LDB4NDIsMHgzMiwweDA0LDB4MGMsMHg4OCwweDEzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4ZDI0MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDQsMHgwYiwweDAwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBlLDB4ODAsMHgyMywweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDI1MCwgMCwgezB4YzgsMHg4MCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDEsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDI2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MTAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDI4LDB4MjAsMHgyMiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjMgfSwKLSAgMTYsIDB4ZDI3MCwgMCwgezB4YjAsMHg4OCwweGUwLDB4MDIsMHgyOCwweDEwLDB4ZGEsMHgwMCwweGEzLDB4YjQsMHgwOCwweGU4LDB4MTAsMHgyOCwweDAwLDB4OGUgfSwKLSAgMTYsIDB4ZDI4MCwgMCwgezB4MjAsMHgyMywweGEwLDB4NDgsMHhlZCwweDFhLDB4MjgsMHgwMCwweGRlLDB4MDAsMHgyMywweDkwLDB4MGEsMHhlMCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4ZDI5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YTMsMHgwMCwweDI4LDB4YzAgfSwKLSAgMTYsIDB4ZDJhMCwgMCwgezB4MDgsMHgzMCwweDBhLDB4MGMsMHgwMCwweDkzLDB4MDAsMHgyMCwweGMyLDB4MmEsMHgzMCwweDIyLDB4YTQsMHgwMCwweGJiLDB4MDAgfSwKLSAgMTYsIDB4ZDJiMCwgMCwgezB4MDgsMHhlMCwweDE4LDB4MDksMHgwYSwweDRjLDB4MDAsMHg5MywweDAyLDB4MjQsMHhlOCwweDAyLDB4MDgsMHgwNiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4ZDJjMCwgMCwgezB4OTMsMHgwMCwweDIwLDB4ZDgsMHgwYSwweDkwLDB4MDIsMHg0YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDJkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4ODAsMHg4NywweDA0LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDBlLDB4MDAsMHg4NywweDEwLDB4MjUgfSwKLSAgMTYsIDB4ZDJlMCwgMCwgezB4MDAsMHgwYSwweDYwLDB4MDIsMHg1ZSwweDAwLDB4OTcsMHgwMCwweDI5LDB4ODIsMHgwOCwweDUwLDB4MTIsMHg1NCwweDAwLDB4OGYgfSwKLSAgMTYsIDB4ZDJmMCwgMCwgezB4ODAsMHg2MSwweGQwLDB4MDgsMHgwNCwweDAyLDB4NWMsMHgwMSwweGI3LDB4MDgsMHhhOSwweGEwLDB4MGEsMHg1MCwweDgyLDB4NjggfSwKLSAgMTYsIDB4ZDMwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDgwLDB4ZTcsMHg4MCwweDM4LDB4ZTQgfSwKLSAgMTYsIDB4ZDMxMCwgMCwgezB4MDgsMHg3ZSwweDAzLDB4MWYsMHgwMCwweGRmLDB4ODAsMHhiMSwweDIxLDB4MWUsMHg3OCwweDAzLDB4ZGMsMHgwNCwweGYzLDB4ODAgfSwKLSAgMTYsIDB4ZDMyMCwgMCwgezB4NWIsMHhlMSwweDA4LDB4MjgsMHgwMywweDVlLDB4MDAsMHhkNywweDgwLDB4MzUsMHg2MCwweDBlLDB4NjgsMHgwMywweDRlLDB4MDAgfSwKLSAgMTYsIDB4ZDMzMCwgMCwgezB4ZGYsMHg4MCwweDMxLDB4ZTAsMHgwZSwweGY4LDB4MGIsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDM0MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MDIsMHhmYiwweDc0LDB4M2UsMHhkMCwweDRmLDB4YjIsMHg4MywweGVkLDB4MDAsMHg3YiwweDY4LDB4M2EgfSwKLSAgMTYsIDB4ZDM1MCwgMCwgezB4MDAsMHg4ZCwweDgwLDB4MDMsMHhhNCwweDIwLDB4ZGIsMHgwMSwweDM2LDB4ODAsMHg2ZiwweGIwLDB4NDEsMHg4NCwweDAwLDB4ZWIgfSwKLSAgMTYsIDB4ZDM2MCwgMCwgezB4MDAsMHgzYywweGMwLDB4MGYsMHhlNiwweDgzLDB4YmMsMHg0MCwweGRiLDB4MDAsMHhiNiwweDgwLDB4MGYsMHhiMCwweDAzLDB4ODIgfSwKLSAgMTYsIDB4ZDM3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDIwLDB4ZGYsMHhjMCwweDNiLDB4ZTYgfSwKLSAgMTYsIDB4ZDM4MCwgMCwgezB4MGUsMHhmOCwweDEzLDB4ZmYsMHg0NCwweGM3LDB4ODIsMHgzYiwweGUwLDB4MGYsMHhmOSwweDAzLDB4YmUsMHgxMCwweGNmLDB4YzggfSwKLSAgMTYsIDB4ZDM5MCwgMCwgezB4MzMsMHg2MCwweDhkLDB4ZWIsMHgwMywweDNlLDB4MDAsMHhkYiwweDgyLDB4M2YsMHhlMCwweDBjLDB4ZDgsMHgwMywweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZDNhMCwgMCwgezB4Y2UsMHg4MCwweDMzLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDNiMCwgMCwgezB4YTgsMHgxMSwweGJjLDB4NDAsMHg4NywweDAwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHhhMiwweGNlLDB4OTAsMHhjNywweGIwLDB4MjAgfSwKLSAgMTYsIDB4ZDNjMCwgMCwgezB4ZTgsMHgwYiwweDI4LDB4OTIsMHhiNiwweDg4LDB4ODcsMHhhMCwweDIwLDB4NjQsMHgwYiwweDM1LDB4MDMsMHgxNCwweDAwLDB4ODcgfSwKLSAgMTYsIDB4ZDNkMCwgMCwgezB4YjIsMHgzOSwweGMwLDB4MmMsMHhjMCwweDAzLDB4NWUsMHgwMiwweGNmLDB4MDAsMHgzMSwweGNlLDB4MGIsMHg3NiwweDEyLDB4MmEgfSwKLSAgMTYsIDB4ZDNlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTMsMHgxMCwweDI5LDB4YzggfSwKLSAgMTYsIDB4ZDNmMCwgMCwgezB4MGIsMHg3NCwweDAyLDB4ZGMsMHg4MCwweDhmLDB4MDAsMHgyOSwweGNjLDB4MGEsMHgzMCwweDA2LDB4MTQsMHg4MCwweDg3LDB4MTAgfSwKLSAgMTYsIDB4ZDQwMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NjYsMHgwMiwweDVjLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NTEsMHgwMiwweDFjLDB4ODAgfSwKLSAgMTYsIDB4ZDQxMCwgMCwgezB4OTYsMHgwMCwweDIxLDB4YzAsMHg1YiwweDc0LDB4ODIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDgsMHhhMywweDAwLDB4MjAsMHhjMCwweDBiLDB4YjgsMHgwMiwweGNjLDB4MDAsMHg4YiwweDQwLDB4YTggfSwKLSAgMTYsIDB4ZDQzMCwgMCwgezB4YzAsMHg4YiwweDA4LDB4MjIsMHg4YywweDAyLDB4ODMsMHgwMCwweDYwLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgwNCwweDAwLDB4ODMgfSwKLSAgMTYsIDB4ZDQ0MCwgMCwgezB4NDAsMHgyOCwweGZjLDB4OGEsMHgwMCwweDAyLDB4NmUsMHgwMCwweDgzLDB4MDAsMHhhMCwweGQwLDB4OGIsMHgzOCwweDAyLDB4MDggfSwKLSAgMTYsIDB4ZDQ1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAyLDB4ZWYsMHgwMCwweDNiLDB4YzAgfSwKLSAgMTYsIDB4ZDQ2MCwgMCwgezB4NGYsMHhmOCwweDAyLDB4ZmMsMHgwMiwweGNmLDB4MDAsMHgzOCwweDEyLDB4MGUsMHg5OCwweDAyLDB4MmMsMHgwMCwweGNmLDB4MDAgfSwKLSAgMTYsIDB4ZDQ3MCwgMCwgezB4MzIsMHhjMCwweDA5LDB4OTAsMHgwMywweDY0LDB4MDIsMHg4MSwweGMwLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgwNywweDNjLDB4MDMgfSwKLSAgMTYsIDB4ZDQ4MCwgMCwgezB4ZDksMHgwMCwweDMyLDB4NjAsMHgwZiwweDg4LDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQ5MCwgMCwgezB4ODAsMHgwMCwweGNjLDB4MDAsMHhkYiwweDAwLDB4M2UsMHhjMCwweDhmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAyLDB4MzYgfSwKLSAgMTYsIDB4ZDRhMCwgMCwgezB4YzAsMHg0ZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZmIsMHgwMCwweGJlLDB4OTAsMHgwZiwweDljLDB4MTMsMHhlYywweDAwLDB4ZTkgfSwKLSAgMTYsIDB4ZDRiMCwgMCwgezB4MTgsMHgzYSwweGQwLDB4MDQsMHhkNSwweDAzLDB4ZWMsMHg0MCwweGU5LDB4MDAsMHgzYSwweDAwLDB4OGYsMHg4MCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZDRjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4Y2YsMHgwMCwweDNkLDB4YzEgfSwKLSAgMTYsIDB4ZDRkMCwgMCwgezB4OGMsMHhmMCwweDAzLDB4MmMsMHgwMCwweGVmLDB4MGEsMHhiMywweDEyLDB4MmMsMHg3MCwweDIzLDB4MTQsMHgwYSwweDRmLDB4MDAgfSwKLSAgMTYsIDB4ZDRlMCwgMCwgezB4MzUsMHg2MCwweDBkLDB4YjAsMHgwMywweDA0LDB4MDAsMHhjZCwweDgwLDB4MDcsMHhlOCwweDBjLDB4YzQsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZDRmMCwgMCwgezB4Y2QsMHgwMCwweDMxLDB4ZTIsMHgyYywweGUwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDUwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDIsMHhhYiwweDAyLDB4MmUsMHhjMCwweDBlLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MzIgfSwKLSAgMTYsIDB4ZDUxMCwgMCwgezB4MzAsMHgwMCwweDljLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwNCwweDIyLDB4MzYsMHgwOCwweDM0LDB4NGEsMHgyYywweDA4LDB4ODkgfSwKLSAgMTYsIDB4ZDUyMCwgMCwgezB4OTAsMHgyMCwweGI4LDB4MGYsMHg4NCwweDAwLDB4YWMsMHgwMiwweDg5LDB4MDAsMHgzNiwweGEwLDB4MDgsMHhhNCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZDUzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4ZDU0MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGQxLDB4MDgsMHg4OCwweDEyLDB4MjYsMHgwMCwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ZDU1MCwgMCwgezB4MjYsMHg0MCwweDBiLDB4YjAsMHgwMiwweDI2LDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDU4LDB4MTAsMHgxMiwweDJjLDB4MDQgfSwKLSAgMTYsIDB4ZDU2MCwgMCwgezB4ODIsMHg4MCwweDJhLDB4NDksMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDU3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhhMywweDE0LDB4MmMsMHhjOCwweDFhLDB4MzQsMHg4YSwweDBjLDB4ODQsMHg4MywweDQwLDB4MjIgfSwKLSAgMTYsIDB4ZDU4MCwgMCwgezB4YzgsMHgwOCwweDAzLDB4NjIsMHg0YywweGMwLDB4YTMsMHg2MCwweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4ZDU5MCwgMCwgezB4NDUsMHgwOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4OGMsMHhhMCwweDgzLDB4MDAsMHgyNiwweDQwLDB4MDgsMHgzMCwweDBhLDB4MDIgfSwKLSAgMTYsIDB4ZDVhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4Y2YsMHg0MCwweDJmLDB4ZDIgfSwKLSAgMTYsIDB4ZDViMCwgMCwgezB4OGMsMHhmNiwweDAzLDB4M2MsMHgyMiwweGNmLDB4NDAsMHgzMiwweGQ2LDB4NGMsMHhhNiwweGMxLDB4M2QsMHhhMCwweDg3LDB4NDggfSwKLSAgMTYsIDB4ZDVjMCwgMCwgezB4MzYsMHgwZCwweDBmLDB4YjEsMHgwMiwweDI0LDB4NDIsMHhjYiwweDYwLDB4MTYsMHhjMCwweDBjLDB4ZDAsMHgwMywweDJjLDB4ODAgfSwKLSAgMTYsIDB4ZDVkMCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDVlMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZiwweDIwLDB4M2UsMHhjYSwweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhkYiwweDM0LDB4M2EgfSwKLSAgMTYsIDB4ZDVmMCwgMCwgezB4YzgsMHgwZiwweDgwLDB4MDMsMHhlNCwweDEwLDB4ZGIsMHgyMSwweDNlLDB4MTgsMHgwZCwweGYyLDB4MDMsMHhmYywweDgwLDB4ZmYgfSwKLSAgMTYsIDB4ZDYwMCwgMCwgezB4MzAsMHgzNSwweGMwLDB4MGYsMHhjMCwweDEzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZDYxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTEsMHhmYywweDAwLDB4ZmIsMHgwYiwweDJmLDB4Y2EgfSwKLSAgMTYsIDB4ZDYyMCwgMCwgezB4OGQsMHhmMiwweDAzLDB4ZmEsMHgwMCwweDk2LDB4ODAsMHgzYiwweGM0LDB4MGQsMHhmMSwweDAzLDB4N2MsMHg4MCwweGVjLDB4ODAgfSwKLSAgMTYsIDB4ZDYzMCwgMCwgezB4M2IsMHgwOCwweDBjLDB4YzIsMHgwMywweDc0LDB4MDIsMHhjYywweDgwLDB4M2YsMHg0OCwweDBlLDB4ZjAsMHgwMywweDMwLDB4YTAgfSwKLSAgMTYsIDB4ZDY0MCwgMCwgezB4ZDUsMHg4MCwweDNmLDB4NDAsMHgwYywweGY4LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDY1MCwgMCwgezB4ODAsMHgwOCwweGVlLDB4NDAsMHhiZiwweDgwLDB4MmYsMHhmMCwweDBiLDB4ZjcsMHgyMiwweGVlLDB4MjAsMHg4YSwweDgwLDB4MjMgfSwKLSAgMTYsIDB4ZDY2MCwgMCwgezB4ZmMsMHg4OCwweDc1LDB4MTIsMHgzZCwweDAwLDB4ODgsMHgwMCwweDIyLDB4MDAsMHgyOCwweDgwLDB4MDIsMHgyNCwweDA4LDB4ODggfSwKLSAgMTYsIDB4ZDY3MCwgMCwgezB4MDAsMHg2ZiwweDUwLDB4MDAsMHhmNSwweDAyLDB4MjksMHgwMCwweDg5LDB4MDAsMHgyZSwweDU0LDB4MGQsMHg5MCwweDExLDB4YTAgfSwKLSAgMTYsIDB4ZDY4MCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzEgfSwKLSAgMTYsIDB4ZDY5MCwgMCwgezB4MDksMHgzMCwweDgyLDB4Y2MsMHg4MiwweGJiLDB4MDAsMHgyOCwweGMwLDB4NDksMHgzMiwweDAyLDB4Y2QsMHgwMCwweGI4LDB4MDAgfSwKLSAgMTYsIDB4ZDZhMCwgMCwgezB4MmMsMHg1MCwweDA5LDB4MDEsMHgwMiwweDBjLDB4NDAsMHg4MCwweDAwLDB4NmMsMHg0NCwweDA5LDB4MzAsMHgwMiwweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZDZiMCwgMCwgezB4YjAsMHgwMCwweDJjLDB4NDAsMHgxOCwweDMwLDB4MDYsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDZjMCwgMCwgezB4YzAsMHgwMSwweGFjLDB4MDAsMHhiYiwweDAxLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVlLDB4MDAsMHhhYSwweDAwLDB4NGEgfSwKLSAgMTYsIDB4ZDZkMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4NTIsMHhlYywweDAwLDB4OTgsMHgwMiwweDI2LDB4NDAsMHgwOSwweDgwLDB4MDIsMHg2YywweDAxLDB4YWEgfSwKLSAgMTYsIDB4ZDZlMCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MDksMHhiMCwweDAyLDB4MjIsMHgwMCwweGE5LDB4ODAsMHgyZSwweDQxLDB4MDksMHg5MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4ZDZmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZDcwMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4Y2UsMHg4NCwweGZhLDB4MDAsMHgxYSwweGMwLDB4OGQsMHhiMCwweDQzLDB4ZWMsMHgwMCwweGYwLDB4MDIgfSwKLSAgMTYsIDB4ZDcxMCwgMCwgezB4M2YsMHgwMCwweDBkLDB4ZDEsMHgwMywweDM1LDB4MDAsMHhjYiwweDQ4LDB4MmUsMHg0MCwweDJmLDB4YjAsMHgwOSwweDIyLDB4ODAgfSwKLSAgMTYsIDB4ZDcyMCwgMCwgezB4ZjksMHhjOCwweDFlLDB4ZTAsMHgwOCwweGIxLDB4ZTIsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDczMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHg3YiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhkZSwweDAwLDB4MjQgfSwKLSAgMTYsIDB4ZDc0MCwgMCwgezB4YzAsMHg0ZiwweGYwLDB4MDMsMHgyYywweDAwLDB4ZWMsMHgyMCwweDNiLDB4MDAsMHgwZSwweDk4LDB4MDMsMHg5NCwweDAyLDB4ZGQgfSwKLSAgMTYsIDB4ZDc1MCwgMCwgezB4MDAsMHgzZiwweDQwLDB4NGUsMHhmMCwweDAxLDB4ZjgsMHgwMCwweGRkLDB4MDAsMHgzYywweGU0LDB4MGYsMHhkOCwweDAzLDB4YjggfSwKLSAgMTYsIDB4ZDc2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhhYywweGMwLDB4ZmIsMHgyMCwweDMyLDB4YzggfSwKLSAgMTYsIDB4ZDc3MCwgMCwgezB4OGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzYSwweGMyLDB4MmMsMHgzMCwweDAzLDB4NmMsMHgwNCwweGQ4LDB4MDIgfSwKLSAgMTYsIDB4ZDc4MCwgMCwgezB4M2MsMHg0NCwweDhkLDB4MTAsMHgwMywweGFkLDB4MDMsMHhlYSwweDAwLDB4M2MsMHg0MCwweDBjLDB4NzAsMHgyMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4ZDc5MCwgMCwgezB4YzgsMHg0MCwweDNhLDB4YzAsMHgwZCwweGJjLDB4MDMsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDdhMCwgMCwgezB4YzgsMHgwMSwweDNkLDB4MDAsMHhiZiwweDQyLDB4MjMsMHhmMCwweDBkLDB4ZjAsMHgwMiwweGU1LDB4MDAsMHhlMiwweDAxLDB4MzcgfSwKLSAgMTYsIDB4ZDdiMCwgMCwgezB4ZjEsMHgwOCwweGYwLDB4MGUsMHgzZCwweGMwLDB4YTgsMHgwMCwweDJlLDB4NTQsMHgyOCwweDkwLDB4MDIsMHgyYywweDAwLDB4OGEgfSwKLSAgMTYsIDB4ZDdjMCwgMCwgezB4MDUsMHgzYiwweDQxLDB4NDgsMHhmNSwweDAzLDB4OGMsMHgwMCwweDg5LDB4MDAsMHgyMiwweGQ0LDB4MGUsMHg5NSwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ZDdkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgwNCwweDIwLDB4YzAgfSwKLSAgMTYsIDB4ZDdlMCwgMCwgezB4ODksMHgzMCwweDAyLDB4Y2MsMHg0MCwweGIyLDB4MDAsMHgyYywweGM0LDB4NDgsMHgzMCwweDAyLDB4MmMsMHgwMiwweGEyLDB4MDAgfSwKLSAgMTYsIDB4ZDdmMCwgMCwgezB4MmMsMHgyMCwweDE5LDB4MjAsMHgxYSwweDgwLDB4MDgsMHhiMCwweDAwLDB4NmMsMHg0MCwweDA4LDB4MzAsMHgwMiwweGM0LDB4MDAgfSwKLSAgMTYsIDB4ZDgwMCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NDAsMHgwOCwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDgxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweGEwLDB4ZTEsMHhlMCwweDA5LDB4NzgsMHgwMiwweGRmLDB4MDQsMHhhZSwweDgwLDB4MmQgfSwKLSAgMTYsIDB4ZDgyMCwgMCwgezB4ZTAsMHgwOCwweDc5LDB4MDIsMHgxZSwweDEwLDB4ODcsMHg5MCwweDJjLDB4MjgsMHgyOSwweDY4LDB4MDIsMHg4MiwweDgxLDB4YjQgfSwKLSAgMTYsIDB4ZDgzMCwgMCwgezB4ODAsMHgyZCwweDYwLDB4MDgsMHg3OCwweDEwLDB4YmMsMHgwMCwweDhmLDB4ODAsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZDg0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDA1LDB4ZjMsMHg5MiwweDMwLDB4Y2EgfSwKLSAgMTYsIDB4ZDg1MCwgMCwgezB4MGQsMHgzMCwweDAzLDB4Y2MsMHgwMCwweGYzLDB4MDAsMHgzYywweGMwLDB4MGMsMHgzMCwweDAyLDB4MGMsMHg4MCwweDcwLDB4MDAgfSwKLSAgMTYsIDB4ZDg2MCwgMCwgezB4MmMsMHg0MCwweDBkLDB4MjAsMHgwMywweDg5LDB4MDAsMHhiMSwweDAwLDB4M2UsMHg0MCwweDJjLDB4MzAsMHgwMywweGVjLDB4NTAgfSwKLSAgMTYsIDB4ZDg3MCwgMCwgezB4YzMsMHgyMCwweDNjLDB4NDAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2MsMHhjMCwweDBlLDB4YjAsMHg4MywweGVjLDB4NDAsMHhlYSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4ZDg5MCwgMCwgezB4YzIsMHgwZiwweGIwLDB4ODMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4NDgsMHgwZSwweGUwLDB4MGIsMHg3YSwweDgwLDB4Y2YgfSwKLSAgMTYsIDB4ZDhhMCwgMCwgezB4MDAsMHgzYiwweDQ0LDB4MGYsMHhmMCwweDAzLDB4ZWMsMHhjMCwweGZmLDB4MDAsMHgwMywweDQ0LDB4MGUsMHhlMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZDhiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgyMywweDNlLDB4YzggfSwKLSAgMTYsIDB4ZDhjMCwgMCwgezB4MWQsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGNhLDB4MDAsMHgzZSwweGM4LDB4MGMsMHhiMiwweDAzLDB4MmQsMHg5MCwweGM4LDB4ODQgfSwKLSAgMTYsIDB4ZDhkMCwgMCwgezB4MzYsMHgwMCwweDJkLDB4YjAsMHgwMywweDYwLDB4MTgsMHg5YiwweDgwLDB4MzMsMHg1MCwweDBjLDB4ZjIsMHgwMywweGUyLDB4MDAgfSwKLSAgMTYsIDB4ZDhlMCwgMCwgezB4YzksMHg4MCwweDMyLDB4NDAsMHgwYywweGI4LDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDhmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDI4LDB4MGMsMHhkMiwweDI4LDB4NzMsMHgwMiwweGZjLDB4MDAsMHg4NiwweDA0LDB4MmMgfSwKLSAgMTYsIDB4ZDkwMCwgMCwgezB4Y2MsMHgyOCwweDcwLDB4ODMsMHgwYywweDIwLDB4OTUsMHgwMSwweDIwLDB4MDAsMHgwOSwweDMwLDB4MTIsMHgxMCwweDA0LDB4ODUgfSwKLSAgMTYsIDB4ZDkxMCwgMCwgezB4MDAsMHgyMSwweDUyLDB4MDgsMHg3NSwweDAyLDB4ZDgsMHgwMCwweDg3LDB4MDAsMHgyMSwweDQwLDB4MDgsMHg2MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZDkyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweGQ0LDB4YjcsMHhiMSwweDA5LDB4ZTEgfSwKLSAgMTYsIDB4ZDkzMCwgMCwgezB4MDgsMHg3OCwweDIyLDB4ZGUsMHgwMCwweDk1LDB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OCwweDBhLDB4NWUsMHg0MiwweDk0LDB4YzAgfSwKLSAgMTYsIDB4ZDk0MCwgMCwgezB4MjEsMHg2MCwweDA4LDB4NzgsMHgwMiwweDVhLDB4MDAsMHg4NywweDgwLDB4MmQsMHg2OCwweDA4LDB4N2EsMHgwMiwweGQ3LDB4MDAgfSwKLSAgMTYsIDB4ZDk1MCwgMCwgezB4OTcsMHg4MCwweDIwLDB4NjAsMHgwOSwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDk2MCwgMCwgezB4NDgsMHgxMCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGNkLDB4ODAsMHg5MiwweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZDk3MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHhjYywweDAwLDB4OTAsMHg4MCwweGEwLDB4NDAsMHgwOSwweDM2LDB4MDIsMHg0OCwweDAyLDB4ODMgfSwKLSAgMTYsIDB4ZDk4MCwgMCwgezB4YTAsMHhhYywweDQwLDB4MmEsMHgzMCwweDA2LDB4Y2UsMHgwMiwweDkzLDB4MDQsMHhhMCwweDQwLDB4MDksMHgyMCwweDBhLDB4MTIgfSwKLSAgMTYsIDB4ZDk5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNhLDB4ODAgfSwKLSAgMTYsIDB4ZDlhMCwgMCwgezB4MGQsMHhhMCwweDAzLDB4ZmIsMHgwMiwweGRlLDB4ODAsMHgzZSwweDgwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgwMCwweGNlLDB4ODAgfSwKLSAgMTYsIDB4ZDliMCwgMCwgezB4MzIsMHg4MCwweDBjLDB4YTQsMHgwMywweDc4LDB4MDAsMHhjZSwweGE0LDB4M2YsMHg4MCwweDBjLDB4YTAsMHgwNywweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZDljMCwgMCwgezB4ZGUsMHgwMCwweDMyLDB4ODAsMHgyZCwweGUwLDB4MDIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDlkMCwgMCwgezB4NDgsMHgwMCwweGUxLDB4MDAsMHhmOCwweDAwLDB4N2MsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4NDAsMHhlOCwweDEwLDB4M2MgfSwKLSAgMTYsIDB4ZDllMCwgMCwgezB4MDEsMHhjZiwweDgwLDB4MGYsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDA0LDB4MDMsMHg5MCwweDAwLDB4ZTggfSwKLSAgMTYsIDB4ZDlmMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MGQsMHg4MCwweDA3LDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDA0LDB4MGUsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZGEwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgxMCwweDdlLDB4NDEgfSwKLSAgMTYsIDB4ZGExMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDY4LDB4MGUsMHg5MCwweDBmLDB4YTQsMHgwOCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4ZGEyMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwYiwweDI0LDB4MTIsMHhlOSwweDAwLDB4M2UsMHg0NCwweDJjLDB4OTAsMHgwMywweDY0LDB4MjQgfSwKLSAgMTYsIDB4ZGEzMCwgMCwgezB4ZjksMHgwMiwweDJlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGE0MCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MTAsMHhiOSwweDgwLDB4M2UsMHg0MCwweDA4LDB4OTAsMHgwYSwweDI2LDB4MDAsMHhiMSwweDEwLDB4MmEgfSwKLSAgMTYsIDB4ZGE1MCwgMCwgezB4NzIsMHgwOCwweDkwLDB4MDcsMHg2NCwweDAyLDB4ODksMHg0MCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MTIsMHgyNSwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZGE2MCwgMCwgezB4NDUsMHgzZSwweDUwLDB4MGQsMHg5MCwweDBhLDB4MjUsMHgwMCwweGI5LDB4NDAsMHgyZSwweDQwLDB4MjgsMHg5NCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZGE3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ZGE4MCwgMCwgezB4NDgsMHg5MCwweDQyLDB4MjYsMHgwMSwweGI5LDB4NDAsMHgyNiwweDQwLDB4MGEsMHg5MCwweDQyLDB4ODQsMHgwMSwweDhiLDB4MDggfSwKLSAgMTYsIDB4ZGE5MCwgMCwgezB4MmMsMHg0MCwweDA5LDB4ZDAsMHg4MiwweDM0LDB4MzIsMHhhOSwweDA4LDB4NmUsMHg0MiwweDA4LDB4MTAsMHgwMiwweDI0LDB4MjAgfSwKLSAgMTYsIDB4ZGFhMCwgMCwgezB4YjksMHgwOCwweDJjLDB4NDAsMHgxOCwweDkwLDB4ODIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGFiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMywweDIwLDB4MjgsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDEsMHhiMSwweDAwLDB4MjggfSwKLSAgMTYsIDB4ZGFjMCwgMCwgezB4NTgsMHgwOCwweDEyLDB4MDIsMHgwNSwweDg5LDB4ODEsMHg0MCwweDJjLDB4NTgsMHgwOCwweDU2LDB4MDYsMHgxNSwweDgwLDB4ODEgfSwKLSAgMTYsIDB4ZGFkMCwgMCwgezB4NDAsMHgyOCwweDUwLDB4MDksMHgxNCwweDAyLDB4MDUsMHg4MCwweGIxLDB4NDAsMHgyYywweDVhLDB4MDgsMHgxNCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZGFlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4ZGFmMCwgMCwgezB4MmUsMHg4NSwweDAzLDB4MjEsMHg0OCwweGY4LDB4MDAsMHgzNiwweDAwLDB4OGUsMHgwNSwweDAyLDB4YTAsMHgwOCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZGIwMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHgwYiwweDEwLDB4MDQsMHhlMCwweDAwLDB4MmMsMHgwMCwweDRjLDB4ODAsMHgwMywweDQwLDB4MDAgfSwKLSAgMTYsIDB4ZGIxMCwgMCwgezB4ZjAsMHgwMCwweDNlLDB4MDgsMHgwYywweDAwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGIyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MDAsMHhmZCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZGIzMCwgMCwgezB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgwMywweDNmLDB4NDQsMHgxZiwweDkxLDB4MWIsMHhlNCwweDQwLDB4ZmQgfSwKLSAgMTYsIDB4ZGI0MCwgMCwgezB4MDEsMHgzZiwweDUwLDB4MGUsMHg5NCwweDAzLDB4ZjQsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4YTYgfSwKLSAgMTYsIDB4ZGI1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhmNCwweDAwLDB4Y2QsMHhhMCwweDcxLDB4NjggfSwKLSAgMTYsIDB4ZGI2MCwgMCwgezB4OGQsMHg5OCwweDAzLDB4ZDQsMHgwMCwweGNkLDB4MDAsMHgzMywweDYwLDB4MGMsMHg5OCwweDhmLDB4MjcsMHgyMCwweGM5LDB4NDAgfSwKLSAgMTYsIDB4ZGI3MCwgMCwgezB4M2UsMHg3OCwweDBjLDB4OWUsMHg4YiwweDI3LDB4MjAsMHhkMSwweDExLDB4MzAsMHg2MCwweDhjLDB4OWMsMHgwMywweDI1LDB4MDAgfSwKLSAgMTYsIDB4ZGI4MCwgMCwgezB4ZjksMHg0MCwweDNlLDB4NzgsMHgwZiwweDkwLDB4MDMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGI5MCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MTAsMHg4OCwweDAxLDB4MjIsMHgwMSwweDA4LDB4OGMsMHgyMiwweGU4LDB4MDAsMHg4OCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZGJhMCwgMCwgezB4MTQsMHgwOCwweDhjLDB4MGIsMHgyMywweDkwLDB4ODgsMHhhMCwweDJlLDB4YjAsMHgwOCwweDhjLDB4NDIsMHgyMywweDAwLDB4ODggfSwKLSAgMTYsIDB4ZGJiMCwgMCwgezB4YTAsMHgzNiwweDJhLDB4MTgsMHg4YSwweDAyLDB4MjIsMHgwMCwweGI4LDB4YTAsMHgyZSwweDM0LDB4MGIsMHhjYSwweDgyLDB4MGUgfSwKLSAgMTYsIDB4ZGJjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4ODEsMHg0MCwweDI0LDB4NTAgfSwKLSAgMTYsIDB4ZGJkMCwgMCwgezB4MDksMHgxNiwweDgyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHgxMiwweDkyLDB4NTQsMHgwOCwweDg1LDB4MDAgfSwKLSAgMTYsIDB4ZGJlMCwgMCwgezB4MmYsMHg0YywweDA5LDB4NTIsMHgxMiwweDE0LDB4ODAsMHg5ZCwweDAwLDB4MjEsMHg1MCwweDA4LDB4NTQsMHgyMiwweDE0LDB4ODAgfSwKLSAgMTYsIDB4ZGJmMCwgMCwgezB4YjUsMHgwMCwweDJkLDB4NDgsMHgwYiwweGQwLDB4MDIsMHg0MiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGMwMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4MDIsMHg4OSwweDAxLDB4YTIsMHg0MCwweDQ4LDB4OTAsMHgwMiwweGU0LDB4MDIsMHhhOSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZGMxMCwgMCwgezB4NDAsMHg2OCwweDkwLDB4MDIsMHg2NCwweDEwLDB4YWQsMHgwMCwweDJmLDB4NDEsMHgyOCwweDUwLDB4MDIsMHgzNCwweDAwLDB4OGQgfSwKLSAgMTYsIDB4ZGMyMCwgMCwgezB4NDQsMHgyNywweDQwLDB4MzksMHhkMCwweDAyLDB4MzUsMHgwMCwweGJkLDB4MTQsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4ZGMzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhjNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4ZGM0MCwgMCwgezB4MmQsMHg5MCwweDAzLDB4ZTcsMHgwMCwweGUxLDB4ZTAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDBiLDB4NjQsMHgwMiwweGM5LDB4MDggfSwKLSAgMTYsIDB4ZGM1MCwgMCwgezB4M2MsMHg1MCwweDBjLDB4OTAsMHgwMiwweDI2LDB4MDIsMHhkOSwweGMwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgxMywweDI3LDB4MDAgfSwKLSAgMTYsIDB4ZGM2MCwgMCwgezB4ZjksMHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGM3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDIsMHhmOSwweDAwLDB4MzgsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4ODAsMHhkOSwweGEwLDB4M2MgfSwKLSAgMTYsIDB4ZGM4MCwgMCwgezB4NDAsMHgwZiwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZDksMHgxMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDkyLDB4ZjkgfSwKLSAgMTYsIDB4ZGM5MCwgMCwgezB4MjEsMHgzYywweDQwLDB4MmUsMHg5MCwweDBmLDB4ZTYsMHg4MCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4ZGNhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDQwLDB4ZTgsMHgxMCwweDNlLDB4MDQgfSwKLSAgMTYsIDB4ZGNiMCwgMCwgezB4NGUsMHg4MCwweDAzLDB4MjAsMHg4MCwweGQ4LDB4NjAsMHgzYSwweDAyLDB4MGMsMHg4MCwweDEzLDB4MjAsMHgwMCwweGY4LDB4NDAgfSwKLSAgMTYsIDB4ZGNjMCwgMCwgezB4MzYsMHgxMCwweDJkLDB4ODAsMHgwMywweGEwLDB4MDgsMHhlOCwweDQwLDB4MzIsMHgwMCwweDBkLDB4MDAsMHgwMywweDIxLDB4MDIgfSwKLSAgMTYsIDB4ZGNkMCwgMCwgezB4YzgsMHg0MCwweGIyLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGNlMCwgMCwgezB4MjgsMHgxMSwweDNiLDB4MTAsMHg4NiwweDAxLDB4MmYsMHhhMCwweDBkLDB4YTAsMHgwMiwweDM4LDB4MDAsMHg4ZSwweGUwLDB4MjMgfSwKLSAgMTYsIDB4ZGNmMCwgMCwgezB4YTIsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHg4MCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODIgfSwKLSAgMTYsIDB4ZGQwMCwgMCwgezB4MDAsMHgyYSwweDgwLDB4MjgsMHhhMCwweDAyLDB4MmEsMHgwNCwweDhhLDB4ODAsMHgyMiwweGEwLDB4MGIsMHg2MCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ZGQxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MywweDgwLDB4YTIsMHgwMCwweDJjLDB4YTAgfSwKLSAgMTYsIDB4ZGQyMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MmUsMHgwMCwweDkyLDB4MDAsMHgyOCwweGMwLDB4MjgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4ODAgfSwKLSAgMTYsIDB4ZGQzMCwgMCwgezB4MjQsMHhjMCwweDA5LDB4MzAsMHgwYSwweDhjLDB4MDAsMHhhMywweDAwLDB4NjAsMHhjMCwweDA4LDB4MzAsMHgwYSwweDRjLDB4MDAgfSwKLSAgMTYsIDB4ZGQ0MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwYiwweDIwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGQ1MCwgMCwgezB4YTAsMHgwMSwweDEwLDB4MDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDA5LDB4M2EsMHgwMiwweDM1LDB4MDAsMHg4NiwweDAwLDB4MjEgfSwKLSAgMTYsIDB4ZGQ2MCwgMCwgezB4YzAsMHgwOCwweDczLDB4MDIsMHgxMCwweDAwLDB4YmYsMHg4OCwweDIxLDB4MDAsMHgwOCwweDcwLDB4MDIsMHgxYywweDA4LDB4OGYgfSwKLSAgMTYsIDB4ZGQ3MCwgMCwgezB4MDAsMHgyYiwweGMwLDB4MDgsMHgyMCwweDEyLDB4NWUsMHgyMCwweDg3LDB4ODgsMHgyMSwweDgzLDB4MGIsMHg2MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4ZGQ4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZTUsMHg4MSwweDNkLDB4YTAgfSwKLSAgMTYsIDB4ZGQ5MCwgMCwgezB4MmMsMHg3YSwweDBiLDB4MWUsMHgwMCwweGQ0LDB4ODAsMHgzOCwweGUwLDB4MGMsMHhmYSwweDBiLDB4MWUsMHgwMCwweGY2LDB4ODAgfSwKLSAgMTYsIDB4ZGRhMCwgMCwgezB4MzQsMHhlMCwweDBkLDB4MjgsMHgwMywweDhhLDB4MDAsMHhlNiwweDgwLDB4MzEsMHgyMCwweDBjLDB4NzgsMHgwMywweDdhLDB4MDQgfSwKLSAgMTYsIDB4ZGRiMCwgMCwgezB4Y2UsMHg4NCwweDMxLDB4ZTAsMHg0ZiwweDc4LDB4NDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGRjMCwgMCwgezB4MDgsMHgwZCwweDgwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjUsMHgyMywweGU0LDB4MDAsMHhmMCwweDA0LDB4MzYgfSwKLSAgMTYsIDB4ZGRkMCwgMCwgezB4NDAsMHgwZiwweGI2LDB4ODcsMHhlMCwweDAwLDB4ZjIsMHgwMCwweDNlLDB4MDAsMHgxZiwweGEwLDB4MGIsMHhlOCwweDAwLDB4ZmEgfSwKLSAgMTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGUsMHhhMCwweDAzLDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZGRmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2MsMHg4MCwweDMzLDB4YTAgfSwKLSAgMTYsIDB4ZGUwMCwgMCwgezB4MGMsMHhmYywweDAzLDB4M2UsMHgwMCwweGZjLDB4ODAsMHgzNywweGUwLDB4MGYsMHhiOSwweDIxLDB4M2UsMHgwMCwweGZkLDB4ODIgfSwKLSAgMTYsIDB4ZGUxMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHgwMywweDdlLDB4MTAsMHhkZiwweDg0LDB4M2QsMHhlMCwweDBjLDB4ZjgsMHgwMywweGY2LDB4MDAgfSwKLSAgMTYsIDB4ZGUyMCwgMCwgezB4ZmQsMHg4MCwweDNmLDB4NjAsMHgwYywweGU4LDB4MjMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGUzMCwgMCwgezB4YTgsMHgxMSwweDk4LDB4NDAsMHg4NCwweDEwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDEwLDB4ODAsMHhiNCwweDAwLDB4MjEgfSwKLSAgMTYsIDB4ZGU0MCwgMCwgezB4YzgsMHgwYiwweDdhLDB4MDIsMHgxMCwweDAwLDB4ZmQsMHgwMCwweDIxLDB4MDQsMHgwOCwweDcwLDB4MDIsMHgxYywweDQyLDB4ODcgfSwKLSAgMTYsIDB4ZGU1MCwgMCwgezB4MDAsMHgyZCwweGM0LDB4NDgsMHg2MSwweDAyLDB4ZDYsMHg4MCwweGI1LDB4MDAsMHgyZiwweDA0LDB4MDgsMHg2MSwweDgyLDB4MmEgfSwKLSAgMTYsIDB4ZGU2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODEsMHgwMCwweDIxLDB4ODAgfSwKLSAgMTYsIDB4ZGU3MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MWMsMHgxMCwweGJjLDB4MDgsMHgyNSwweDgwLDB4NGIsMHgzMCwweDBlLDB4MWMsMHgwMCwweGI0LDB4MDAgfSwKLSAgMTYsIDB4ZGU4MCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MjAsMHgwMiwweDU4LDB4MDAsMHg5NiwweDAwLDB4MmYsMHgwMCwweDBhLDB4NzAsMHgwMiwweGQwLDB4ODAgfSwKLSAgMTYsIDB4ZGU5MCwgMCwgezB4YjQsMHgxOCwweDJkLDB4NDAsMHgwOSwweGY4LDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGVhMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDIsMHg4MCwweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgyMiwweDBiLDB4YzAsMHhiMCwweGMwLDB4MjIgfSwKLSAgMTYsIDB4ZGViMCwgMCwgezB4ODAsMHgwYiwweDMwLDB4MDIsMHgwMCwweDAwLDB4YTAsMHgwNCwweDIyLDB4MDAsMHgyOCwweGEwLDB4MDIsMHgyYiwweDAwLDB4OGEgfSwKLSAgMTYsIDB4ZGVjMCwgMCwgezB4MDAsMHgyYywweDAwLDB4MDgsMHhhMCwweDA2LDB4YzAsMHgwMCwweGIwLDB4YzIsMHgyYywweDAwLDB4MDksMHhiYywweDFhLDB4MDggfSwKLSAgMTYsIDB4ZGVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4YzAgfSwKLSAgMTYsIDB4ZGVlMCwgMCwgezB4MGMsMHhmMCwweDBiLDB4MjYsMHgwMCwweGY5LDB4YzAsMHgzNiwweDAwLDB4MGYsMHhmMCwweDEzLDB4MmMsMHgxMCwweGJiLDB4NDAgfSwKLSAgMTYsIDB4ZGVmMCwgMCwgezB4ZjIsMHhjMCwweDA4LDB4OTAsMHgwMywweDY3LDB4MDAsMHhkOSwweDgwLDB4M2UsMHhjMCwweDA4LDB4OTAsMHgwMiwweGVjLDB4MDAgfSwKLSAgMTYsIDB4ZGYwMCwgMCwgezB4ZmIsMHhkMCwweDNlLDB4YzAsMHgyOSwweDhjLDB4MDAsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGYxMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQ0LDB4M2MsMHhkMCwweDJmLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UgfSwKLSAgMTYsIDB4ZGYyMCwgMCwgezB4NDAsMHgwZiwweDMwLDB4MDMsMHhlMCwweDAwLDB4ZmIsMHgwOCwweDNlLDB4MDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDQyLDB4ZjkgfSwKLSAgMTYsIDB4ZGYzMCwgMCwgezB4MTAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgwLDB4MGUsMHg4MiwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZGY0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlMCwweDA4LDB4ZmMsMHg4MCwweDMyLDB4ZTQgfSwKLSAgMTYsIDB4ZGY1MCwgMCwgezB4MGUsMHhmMCwweDAzLDB4NzQsMHgwMCwweGZjLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhmMCwweDBiLDB4M2MsMHgwMCwweGZlLDB4MDAgfSwKLSAgMTYsIDB4ZGY2MCwgMCwgezB4M2YsMHhjMCwweDBkLDB4YzEsMHgwMywweDIwLDB4MjAsMHhjYywweDEwLDB4MzMsMHgwMCwweDBjLDB4ZDEsMHgwMywweDU4LDB4MDAgfSwKLSAgMTYsIDB4ZGY3MCwgMCwgezB4Y2UsMHgwMCwweDJmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGY4MCwgMCwgezB4ODEsMHg0NCwweDYyLDB4MDAsMHhiMCwweDQwLDB4MmEsMHhmMSwweDA4LDB4YjAsMHgxMiwweDI2LDB4MDgsMHhiOCwweGM4LDB4MmUgfSwKLSAgMTYsIDB4ZGY5MCwgMCwgezB4NzAsMHgwYSwweGIwLDB4MDIsMHgyMCwweDAwLDB4YmEsMHgwMCwweDJlLDB4MDAsMHgyOCwweDgwLDB4MDMsMHgyMiwweDQwLDB4ODggfSwKLSAgMTYsIDB4ZGZhMCwgMCwgezB4MDEsMHgyMCwweDAwLDB4MGEsMHg4MCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDEsMHgyZSwweDgwLDB4OGIsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZGZiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNiwweDAwLDB4YjgsMHgyOCwweDIyLDB4NDIgfSwKLSAgMTYsIDB4ZGZjMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NjYsMHgwMCwweGI4LDB4ODAsMHgyZSwweDMwLDB4ODgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDEgfSwKLSAgMTYsIDB4ZGZkMCwgMCwgezB4MmUsMHhjMCwweDg4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MGMgfSwKLSAgMTYsIDB4ZGZlMCwgMCwgezB4ODksMHgwMSwweDJlLDB4NDAsMHgxYiwweDgwLDB4MDIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGZmMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHhiMCwweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMCwweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZTAwMCwgMCwgezB4NDAsMHgwYSwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjEsMHgwMCwweDJjLDB4MDAsMHgwOCwweDEwLDB4MGEsMHgwNCwweDAwLDB4ODEgfSwKLSAgMTYsIDB4ZTAxMCwgMCwgezB4MDEsMHhhMiwweGMwLDB4MDgsMHgwMCwweDBhLDB4MDQsMHg4MCwweDgxLDB4MDAsMHgyYywweDAwLDB4MWIsMHgwMCwweDBhLDB4MDIgfSwKLSAgMTYsIDB4ZTAyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4ZTAzMCwgMCwgezB4MGUsMHhmMCwweDIzLDB4NjQsMHgwOCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHhmMCwweDAzLDB4MmMsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ZTA0MCwgMCwgezB4M2UsMHhjMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDIsMHhjOCwweDA0LDB4MzIsMHgwMCwweDFjLDB4OTAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZTA1MCwgMCwgezB4YzgsMHgwMSwweDNlLDB4NDEsMHg5ZiwweDkwLDB4NDMsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTA2MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDBjLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MTAsMHhmNCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZTA3MCwgMCwgezB4MDAsMHgwZiwweGY0LDB4MjMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZSwweGMwLDB4MDMsMHhiMCwweDAwLDB4ZmMgfSwKLSAgMTYsIDB4ZTA4MCwgMCwgezB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZTEsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAxLDB4MWYsMHg1MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZTA5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhmMCwweGQwLDB4ZmYsMHgyMCwweDNlLDB4ZDAgfSwKLSAgMTYsIDB4ZTBhMCwgMCwgezB4OGUsMHhiMCwweDAzLDB4ZWMsMHhhMCwweGRiLDB4MjgsMHgzZSwweGNjLDB4MGMsMHhiMywweDAzLDB4YWQsMHgwOCwweGY4LDB4M2MgfSwKLSAgMTYsIDB4ZTBiMCwgMCwgezB4MzIsMHgyMywweDBlLDB4NDgsMHgyMywweDdhLDB4MDAsMHhmZCwweDk0LDB4M2YsMHhlMCwweDBmLDB4NzgsMHgzMywweGVlLDB4MDggfSwKLSAgMTYsIDB4ZTBjMCwgMCwgezB4YmYsMHg4MCwweDNmLDB4ZTQsMHgwZiwweGY5LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBkMCwgMCwgezB4YTAsMHgwMCwweGVjLDB4YzgsMHhiZiwweGQxLDB4MGYsMHhjOCwweDBjLDB4MjYsMHg4MiwweGZkLDB4MjQsMHg4ZiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ZTBlMCwgMCwgezB4OTksMHgwYSwweGYyLDB4NjIsMHgxZCwweGQwLDB4OTksMHg2MSwweDIyLDB4NzEsMHg4OCwweDg4LDB4MDIsMHhhYywweDAwLDB4YjggfSwKLSAgMTYsIDB4ZTBmMCwgMCwgezB4MjIsMHgyZSwweDIwLDB4NGIsMHg4OCwweDAzLDB4YTAsMHgwMCwweDgwLDB4MDAsMHgyZSwweDA4LDB4MGIsMHg4MCwweDIzLDB4NjAgfSwKLSAgMTYsIDB4ZTEwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA0LDB4YjMsMHgwMywweDBjLDB4Y2MgfSwKLSAgMTYsIDB4ZTExMCwgMCwgezB4MGEsMHgxMywweDEyLDB4Y2MsMHgxNCwweGEzLDB4MGUsMHgwYywweDU4LDB4MGEsMHgzMywweDAyLDB4OGMsMHgxMCwweGEzLDB4MjAgfSwKLSAgMTYsIDB4ZTEyMCwgMCwgezB4YTAsMHgwYSwweDE4LDB4OTAsMHgwMiwweDQ4LDB4YTAsMHhiMCwweDIwLDB4MjQsMHg4MCwweDBhLDB4MjAsMHgwMiwweGNjLDB4MDkgfSwKLSAgMTYsIDB4ZTEzMCwgMCwgezB4YTEsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMyLDB4NDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE0MCwgMCwgezB4ZTAsMHgxMSwweGFjLDB4MjAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDRiLDB4ODAsMHhhMiwweGVjLDB4MDAsMHhhYiwweDAwLDB4NGUgfSwKLSAgMTYsIDB4ZTE1MCwgMCwgezB4NDYsMHgyYSwweGIwLDB4MDIsMHgyYywweDA0LDB4OWIsMHg4MCwweDJhLDB4NjAsMHg4YSwweDljLDB4MDIsMHhhYywweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTE2MCwgMCwgezB4ODEsMHgyZSwweDQwLDB4MGIsMHg5OCwweDAyLDB4YTMsMHgwMCwweDhhLDB4MDAsMHgyZSwweDQwLDB4MGIsMHg4MCwweDA0LDB4ZjAgfSwKLSAgMTYsIDB4ZTE3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMSwweDAwLDB4ZmIsMHgwNCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZTE4MCwgMCwgezB4MGUsMHhiNCwweDAzLDB4ZWMsMHgwYSwweGRiLDB4MDIsMHgyZSwweGQxLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4ODIgfSwKLSAgMTYsIDB4ZTE5MCwgMCwgezB4MzIsMHgyOCwweDFlLDB4MGMsMHgwMywweDY4LDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4YjAsMHg0MywweGVkLDB4MDAgfSwKLSAgMTYsIDB4ZTFhMCwgMCwgezB4ZWEsMHgwMCwweDNlLDB4NDAsMHgwZiwweDgwLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFiMCwgMCwgezB4YzAsMHgwMSwweGI4LDB4MTgsMHhmZiwweDAyLDB4MWYsMHhjMCwweDBjLDB4ZTIsMHgwMywweGZjLDB4MDAsMHhkZiwweDAzLDB4MmYgfSwKLSAgMTYsIDB4ZTFjMCwgMCwgezB4YTEsMHgwZiwweDcwLDB4MDMsMHhmYywweDA0LDB4YWIsMHgwNCwweDM3LDB4NDIsMHgyZCwweGQwLDB4MDIsMHg3YywweDAwLDB4ZmMgfSwKLSAgMTYsIDB4ZTFkMCwgMCwgezB4MDAsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4YjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4ZTFlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhOSwweDAwLDB4ZGIsMHgwMCwweDNjLDB4YzAgfSwKLSAgMTYsIDB4ZTFmMCwgMCwgezB4MmUsMHg5NCwweDAxLDB4NmMsMHgxMSwweGNiLDB4MDAsMHhiOCwweGMwLDB4MGMsMHhiMCwweDAzLDB4NmMsMHgwMCwweGViLDB4MDEgfSwKLSAgMTYsIDB4ZTIwMCwgMCwgezB4MzIsMHgxMCwweDA3LDB4OTIsMHgwMywweGE4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwYywweDA3LDB4YTIsMHgwMywweGFkLDB4MDAgfSwKLSAgMTYsIDB4ZTIxMCwgMCwgezB4ZDgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIyMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDgsMHhiZiwweDAwLDB4MmYsMHhjMCwweDg4LDB4ODAsMHgwMiwweDNjLDB4MDgsMHhlZiwweDAzLDB4MjIgfSwKLSAgMTYsIDB4ZTIzMCwgMCwgezB4MDAsMHgwZCwweGY1LDB4MDAsMHgzYywweDAwLDB4OGIsMHg4MiwweDIyLDB4NjAsMHgwMywweDljLDB4MDIsMHgyYywweDEwLDB4YjkgfSwKLSAgMTYsIDB4ZTI0MCwgMCwgezB4YjAsMHgyMiwweGYwLDB4MGIsMHg5MCwweDAyLDB4MjAsMHgwMCwweGJiLDB4MDAsMHgyMiwweGUyLDB4MGQsMHhiMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ZTI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0MCwweDAwLDB4YjMsMHgwMiwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ZTI2MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzNCwweDA0LDB4ZWMsMHgwMCwweGE4LDB4MDAgfSwKLSAgMTYsIDB4ZTI3MCwgMCwgezB4MjIsMHhmMCwweDBiLDB4MDAsMHgwMiwweDg4LDB4MDAsMHhiMywweDAwLDB4MjgsMHhlMCwweDBiLDB4MTQsMHgwMiwweGEwLDB4MDAgfSwKLSAgMTYsIDB4ZTI4MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHhiNywweDgwLDB4MmQsMHhlOCwweDA4LDB4NzgsMHgwMiwweDBlLDB4YzgsMHhhNywweDkwLDB4MjEgfSwKLSAgMTYsIDB4ZTJhMCwgMCwgezB4YTgsMHgxOSwweDM4LDB4NTIsMHg5ZSwweGMxLDB4ODcsMHg4MCwweDIxLDB4ZTIsMHgwYiwweGQ5LDB4ODIsMHg5ZSwweDAwLDB4YjYgfSwKLSAgMTYsIDB4ZTJiMCwgMCwgezB4YTAsMHgyZCwweDIwLDB4MGIsMHg2OCwweDAyLDB4MWUsMHgwMCwweGI0LDB4YzEsMHgyMSwweDIwLDB4MDksMHg0OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZTJjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDgwLDB4YjMsMHgxMCwweDNlLDB4ZTAgfSwKLSAgMTYsIDB4ZTJkMCwgMCwgezB4MGUsMHgzYSwweDA3LDB4NGUsMHgwMCwweGNiLDB4OTAsMHgzYSwweDYxLDB4MGQsMHgzOCwweDAzLDB4Y2UsMHhkMSwweGUxLDB4OTggfSwKLSAgMTYsIDB4ZTJlMCwgMCwgezB4MzAsMHhhNCwweDhmLDB4MTAsMHgwMywweDg4LDB4MDAsMHhiYSwweGExLDB4M2MsMHg4NCwweDA3LDB4MDAsMHgwMywweDgyLDB4ZDQgfSwKLSAgMTYsIDB4ZTJmMCwgMCwgezB4ZDEsMHgwMCwweDcyLDB4ODAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMwMCwgMCwgezB4NDAsMHgxNSwweGJjLDB4MDQsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzIsMHgyMywweGVjLDB4YjAsMHhmZiwweDAwLDB4MzIgfSwKLSAgMTYsIDB4ZTMxMCwgMCwgezB4MDQsMHgwNiwweGI0LDB4MjMsMHg3YywweDEwLDB4YmYsMHgwMCwweDNlLDB4ODQsMHgwZiwweGIwLDB4MDMsMHg3YywweDQwLDB4ZmYgfSwKLSAgMTYsIDB4ZTMyMCwgMCwgezB4MDAsMHgzMywweDQwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDAsMHhiZiwweDQwLDB4MGYsMHhjOCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZTMzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlNCwweDAwLDB4Y2IsMHgzMywweDNlLDB4YzggfSwKLSAgMTYsIDB4ZTM0MCwgMCwgezB4NGMsMHhiMCwweDAzLDB4YWMsMHg5MCwweGRiLDB4YTAsMHgzNiwweGMwLDB4MGUsMHhiYSwweDQzLDB4NmMsMHgwMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4ZTM1MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4MDAsMHgwZiwweDI4LDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTgsMHg0MywweDYwLDB4MDAgfSwKLSAgMTYsIDB4ZTM2MCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4NDAsMHg0ZiwweDA4LDB4MGIsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MTAsMHgwNywweDA4LDB4MmMsMHhjYSwweDA4LDB4MjAsMHgwMiwweDFjLDB4MjAsMHg4NywweDI4LDB4M2YgfSwKLSAgMTYsIDB4ZTM4MCwgMCwgezB4ODAsMHg4YSwweGYwLDB4MDIsMHgxZCwweDQwLDB4ODcsMHgwNCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4YjYgfSwKLSAgMTYsIDB4ZTM5MCwgMCwgezB4MDAsMHgyZCwweDgwLDB4MGIsMHg2MCwweDAzLDB4MWMsMHgwMCwweGI1LDB4MDAsMHgyZCwweDgwLDB4MGIsMHg3MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZTNhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODcsMHhhMCwweDJkLDB4ZTQgfSwKLSAgMTYsIDB4ZTNiMCwgMCwgezB4MGEsMHg1OCwweDAyLDB4MWUsMHgwMSwweDgzLDB4OTAsMHgyMSwweDcwLDB4MGIsMHg3OSwweDAyLDB4OWUsMHgwMSwweDg1LDB4YzAgfSwKLSAgMTYsIDB4ZTNjMCwgMCwgezB4MmQsMHhlMCwweDRiLDB4NTgsMHgxMiwweDFhLDB4MDAsMHhiNiwweDgwLDB4MmQsMHgyMCwweDBiLDB4NDgsMHgwMiwweDUyLDB4MDAgfSwKLSAgMTYsIDB4ZTNkMCwgMCwgezB4YjQsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNlMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDg4LDB4MzYsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwLDB4NmMgfSwKLSAgMTYsIDB4ZTNmMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MGEsMHhhYywweDAwLDB4OWIsMHhlMCwweDZjLDB4YzgsMHgwYiwweDMyLDB4MDIsMHgwYywweDAxLDB4YjMgfSwKLSAgMTYsIDB4ZTQwMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgxMCwweGIzLDB4NDAsMHgyYywweGMwLDB4MGIsMHgzYywweDgyLDB4MTIgfSwKLSAgMTYsIDB4ZTQxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAyLDB4Y2EsMHgwMCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4ZTQyMCwgMCwgezB4MGUsMHhlNCwweDhiLDB4MjgsMHgwMCwweGNhLDB4MDAsMHgzMywweDk1LDB4MGYsMHhhMCwweDA3LDB4YTgsMHgwMiwweGNlLDB4NDAgfSwKLSAgMTYsIDB4ZTQzMCwgMCwgezB4M2YsMHhiMCwweDBmLDB4ZTQsMHg4MiwweDI4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgyMywweDY4LDB4MDAgfSwKLSAgMTYsIDB4ZTQ0MCwgMCwgezB4ZmEsMHg0MCwweDNlLDB4ODEsMHg0ZiwweGE0LDB4ZTMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4ODAsMHhmMCwweDAwLDB4M2MsMHgwMCwweDJmLDB4MDAsMHgwMiwweDYwLDB4MDAsMHhlOCwweDAwLDB4M2MgfSwKLSAgMTYsIDB4ZTQ2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDEsMHgyMCwweDAwLDB4ZTgsMHgwNCwweDVlLDB4MDQsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZmMgfSwKLSAgMTYsIDB4ZTQ3MCwgMCwgezB4MDEsMHgzZiwweDEwLDB4MGYsMHhjNCwweDAzLDB4YjAsMHgwMCwweGZjLDB4MDksMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZTQ4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YTksMHgyMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4ZTQ5MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4NDQsMHgwNCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4ZTRhMCwgMCwgezB4MzIsMHg0MCwweDhmLDB4OTAsMHgwYiwweGU0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0NCwweDBlLDB4OTgsMHgwMywweGU2LDB4MDAgfSwKLSAgMTYsIDB4ZTRiMCwgMCwgezB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDE4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ZTRkMCwgMCwgezB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ZDksMHgwNCwweDIyLDB4NDAsMHgwYiwweDFjLDB4MGIsMHg2NCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTRlMCwgMCwgezB4OTQsMHgyYywweDUwLDB4MDgsMHg5YywweDAyLDB4ZTQsMHgxNCwweGI5LDB4OTAsMHgwZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZTRmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4ODksMHgwMCwweDI2LDB4NDAgfSwKLSAgMTYsIDB4ZTUwMCwgMCwgezB4NGEsMHg5MCwweDAyLDB4NjQsMHgwMCwweDk5LDB4MDQsMHgyZSwweDQwLDB4MDgsMHg5OCwweDgyLDB4ZTQsMHgwMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4ZTUxMCwgMCwgezB4NmEsMHg0MCwweDBhLDB4OTIsMHg4MiwweGU0LDB4MDAsMHhiZCwweDAxLDB4MmYsMHg1MCwweDEyLDB4ZDYsMHgwMiwweGY0LDB4NDAgfSwKLSAgMTYsIDB4ZTUyMCwgMCwgezB4YmQsMHgwMCwweDBmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIyLDB4MmMgfSwKLSAgMTYsIDB4ZTU0MCwgMCwgezB4NDgsMHhhOCwweDEyLDB4MDYsMHhjNCwweDkwLDB4OTEsMHgyMCwweDI4LDB4NTAsMHgwYiwweDkwLDB4MDIsMHg0NSwweDAwLDB4YjUgfSwKLSAgMTYsIDB4ZTU1MCwgMCwgezB4NDAsMHg2ZCwweDQwLDB4MDgsMHg1MCwweDEyLDB4ZDQsMHgwNCwweGI1LDB4MDIsMHgyZCwweDQwLDB4MGIsMHg1MCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZTU2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHgwMCwweDM2LDB4MTQgfSwKLSAgMTYsIDB4ZTU3MCwgMCwgezB4MGEsMHg4NSwweDAzLDB4NDEsMHg0MCwweGQ4LDB4NTAsMHgyZSwweDE0LDB4MGMsMHg4NSwweDAzLDB4YzEsMHg0MCwweGM4LDB4NTAgfSwKLSAgMTYsIDB4ZTU4MCwgMCwgezB4YmEsMHgwMCwweDBlLDB4ODAsMHgyMywweGUwLDB4MDAsMHg3OCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDQgfSwKLSAgMTYsIDB4ZTU5MCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVhMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDAsMHhkOSwweDEwLDB4M2UsMHg0NCwweDA3LDB4ZjEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YgfSwKLSAgMTYsIDB4ZTViMCwgMCwgezB4NDQsMHhhZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDM3LDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZTVjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ZTVkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweGQ0LDB4ZmQsMHhhMiwweDNhLDB4NzAgfSwKLSAgMTYsIDB4ZTVlMCwgMCwgezB4OGMsMHg5ZSwweDAzLDB4MjYsMHg4MCwweGM5LDB4YTAsMHgzMiwweDY4LDB4MGMsMHhkYiwweDQzLDB4MjcsMHg4MCwweDlkLDB4YTIgfSwKLSAgMTYsIDB4ZTVmMCwgMCwgezB4YjcsMHg0MCwweDBmLDB4NTAsMHgwMywweDY1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMSwweDA3LDB4ZDAsMHgwMywweGY1LDB4MDQgfSwKLSAgMTYsIDB4ZTYwMCwgMCwgezB4ZmQsMHg0MCwweDJmLDB4YzAsMHgwYywweGQwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4ODgsMHhiOCwweDUwLDB4MjIsMHgzOCwweDA4LDB4OGUsMHgwMCwweGEyLDB4YTAsMHg4OCwweGU4LDB4MjIgfSwKLSAgMTYsIDB4ZTYyMCwgMCwgezB4MzgsMHg0OCwweDg4LDB4MDMsMHg2MiwweDEwLDB4YTgsMHhlOCwweDNjLDB4MDAsMHgwYiwweDgwLDB4MDMsMHg2MiwweDgwLDB4YjggfSwKLSAgMTYsIDB4ZTYzMCwgMCwgezB4MDEsMHgyZSwweDgwLDB4MGIsMHg4MCwweDIxLDB4YTIsMHgwMCwweGIwLDB4ODQsMHgyZSwweDJhLDB4MjgsMHg4YSwweDgyLDB4Y2UgfSwKLSAgMTYsIDB4ZTY0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4YjEsMHgwMCwweDI4LDB4NTggfSwKLSAgMTYsIDB4ZTY1MCwgMCwgezB4ODAsMHgxMywweDQwLDB4MDUsMHgwMCwweDgxLDB4NDAsMHgyMCwweDUyLDB4MjgsMHgxNiwweDAyLDB4ODUsMHg4MCwweDliLDB4YzIgfSwKLSAgMTYsIDB4ZTY2MCwgMCwgezB4NjQsMHg0MSwweDhiLDB4OTgsMHgwMiwweDA0LDB4MDAsMHhiMSwweDA5LDB4MmMsMHg0MCwweDFiLDB4MTAsMHgyMCwweGM0LDB4MDAgfSwKLSAgMTYsIDB4ZTY3MCwgMCwgezB4YjEsMHgwMCwweDJjLDB4NDAsMHg0OCwweDEwLDB4MDIsMHhjMiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY4MCwgMCwgezB4MTgsMHgxNSwweGE1LDB4ODQsMHhiOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHgwMSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZTY5MCwgMCwgezB4NTAsMHgwOCwweDkwLDB4NDIsMHg2NCwweDAwLDB4YTksMHgxMCwweGFlLDB4NTgsMHgwMywweDk4LDB4MDIsMHg2NCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTZhMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQ2LDB4YTQsMHgxMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MDgsMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4ZTZiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNywweDAwLDB4ZjksMHgwMCwweDJhLDB4NDAgfSwKLSAgMTYsIDB4ZTZjMCwgMCwgezB4MmMsMHg5NCwweDBiLDB4MjQsMHgwMiwweGM5LDB4MDAsMHhiMiwweDQ0LDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwNCwweGQ5LDB4ODAgfSwKLSAgMTYsIDB4ZTZkMCwgMCwgezB4YjYsMHg0MSwweDhmLDB4MTgsMHgwMywweDI0LDB4MDAsMHhmOSwweDYwLDB4M2UsMHg0MCwweDBmLDB4OTYsMHgwMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4ZTZlMCwgMCwgezB4ZjksMHg4MCwweDNlLDB4NDIsMHg4YywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZmMCwgMCwgezB4MjgsMHgwMSwweGE2LDB4MDAsMHhmMSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MWMsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZTcwMCwgMCwgezB4NDAsMHg4ZiwweDkwLDB4MjMsMHhjNCwweDEwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZTcxMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MDcsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ZTcyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4ZjgsMHgwMCwweGJlLDB4MDAgfSwKLSAgMTYsIDB4ZTczMCwgMCwgezB4MGUsMHg4NCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHgwMCwweDgzLDB4MjAsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ZTc0MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgxMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MDggfSwKLSAgMTYsIDB4ZTc1MCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjIsMHg4MCwweDQ4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhhYSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZTc3MCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDMsMHg2OCwweDAwLDB4ODIsMHgwMCwweDJmLDB4ODAsMHgwOCwweGU2LDB4MDIsMHgyOCwweDA0LDB4YmUgfSwKLSAgMTYsIDB4ZTc4MCwgMCwgezB4NDAsMHgyMywweDgwLDB4MGIsMHhlOCwweDAyLDB4ZWEsMHgwMCwweGJlLDB4MDEsMHgyMiwweDgwLDB4MGIsMHhlMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ZTc5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAxLDB4OTMsMHgwMSwweDIwLDB4YzEgfSwKLSAgMTYsIDB4ZTdhMCwgMCwgezB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyMCwweGMwLDB4ODgsMHgzOCwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ZTdiMCwgMCwgezB4MjQsMHhjMCwweDBhLDB4M2UsMHg0MiwweDhjLDB4MDAsMHhiMiwweDRjLDB4MjQsMHhlMCwweDRiLDB4MzgsMHgwMiwweGM0LDB4NDEgfSwKLSAgMTYsIDB4ZTdjMCwgMCwgezB4YjMsMHgwMCwweDIyLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDAwLDB4MjAsMHhjOSwweDQ4LDB4NzAsMHgwMiwweGRjLDB4NDAsMHhhNywweDE0LDB4MmMgfSwKLSAgMTYsIDB4ZTdlMCwgMCwgezB4YzgsMHgyOCwweDMwLDB4ODIsMHg1YywweGMxLDB4ODUsMHgwMCwweDJkLDB4ZTAsMHgyYSwweGYwLDB4MTIsMHgxYywweDgwLDB4YjcgfSwKLSAgMTYsIDB4ZTdmMCwgMCwgezB4YTAsMHgyMSwweDgyLDB4MGIsMHg3MCwweDgyLDB4ZDQsMHgxMSwweGI2LDB4ODAsMHgyMSwweDQwLDB4NGIsMHg1MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4ZTgwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgwLDB4ZDUsMHg4MCwweDI5LDB4ZWEgfSwKLSAgMTYsIDB4ZTgxMCwgMCwgezB4NGUsMHgzYSwweDA3LDB4MGUsMHg4MCwweGUzLDB4YjAsMHgzMSwweGZjLDB4MGMsMHg0OCwweDAzLDB4MGUsMHg0MSwweGU3LDB4ODAgfSwKLSAgMTYsIDB4ZTgyMCwgMCwgezB4M2QsMHhlMCwweDBlLDB4NzgsMHgwMywweDllLDB4ODAsMHhmNCwweGM0LDB4MzUsMHhlMCwweDBmLDB4NzgsMHgyNywweGRlLDB4MDAgfSwKLSAgMTYsIDB4ZTgzMCwgMCwgezB4ZjUsMHg4MCwweGIxLDB4ZTAsMHgwZiwweDU4LDB4MDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHgzMSwweDA0LDB4M2EsMHhjNCwweDBmLDB4YjUsMHg5MywweDZkLDB4MDgsMHhmYiwweDQwLDB4M2EgfSwKLSAgMTYsIDB4ZTg1MCwgMCwgezB4YzgsMHg2MywweDgwLDB4MjMsMHhlYywweDk4LDB4ZTksMHgwMCwweDNlLDB4YzAsMHgwZCwweGIwLDB4NDMsMHhlYywweDAwLDB4ZjMgfSwKLSAgMTYsIDB4ZTg2MCwgMCwgezB4ODAsMHgzZSwweDQwLDB4NGYsMHhhMCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4NjgsMHgzZSwweDQwLDB4OGYsMHg5OCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZTg3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDYwLDB4ZWIsMHg5MCwweDNlLDB4ZTQgfSwKLSAgMTYsIDB4ZTg4MCwgMCwgezB4MGYsMHhiOCwweDAwLDB4M2YsMHg0MCwweGNiLDB4ODAsMHg3ZiwweGUwLDB4MGUsMHhmYiwweDAzLDB4MmUsMHg0MCwweGNiLDB4ODAgfSwKLSAgMTYsIDB4ZTg5MCwgMCwgezB4M2YsMHhlMCwweDBmLDB4NzksMHg0MywweDJlLDB4NjAsMHhjYSwweDgxLDB4MzMsMHg2NCwweDhmLDB4ZDksMHgwMywweGZlLDB4MDAgfSwKLSAgMTYsIDB4ZThhMCwgMCwgezB4ZmYsMHg4MSwweDMzLDB4ZTAsMHgwZiwweGQ5LDB4OGIsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThiMCwgMCwgezB4YTgsMHgwMSwweDljLDB4MDAsMHg4NywweDgxLDB4MTksMHhlNCwweDBiLDB4ZmEsMHgxMywweDVlLDB4ODAsMHg4NywweGIyLDB4MmQgfSwKLSAgMTYsIDB4ZThjMCwgMCwgezB4ZWMsMHgwZCwweDc5LDB4MDEsMHg5ZSwweDAwLDB4ZDUsMHg5MCwweDJkLDB4ZjgsMHgwYiwweDc4LDB4MDMsMHg3ZSwweDA4LDB4YWIgfSwKLSAgMTYsIDB4ZThkMCwgMCwgezB4OTEsMHgyOSwweDg1LDB4MGIsMHg1MSwweDAyLDB4ZGMsMHg0OCwweGI2LDB4NDAsMHgyMSwweDQwLDB4MGIsMHg1MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZThlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4YywweDE0LDB4YjUsMHgyMCwweDZkLDB4YzggfSwKLSAgMTYsIDB4ZThmMCwgMCwgezB4MGIsMHg3MiwweDAyLDB4NWMsMHg4MCwweDg3LDB4MjAsMHg2OSwweGMwLDB4ODgsMHg1MywweDAyLDB4Y2MsMHg4MSwweDk3LDB4NTAgfSwKLSAgMTYsIDB4ZTkwMCwgMCwgezB4MmQsMHhjOCwweDBiLDB4ZjcsMHgwYSwweGRjLDB4YzAsMHg4NCwweDAxLDB4MjEsMHg0NCwweDFiLDB4NzAsMHgyMiwweGRjLDB4MDAgfSwKLSAgMTYsIDB4ZTkxMCwgMCwgezB4YjUsMHgwMCwweDIxLDB4YzQsMHgwYiwweDUwLDB4ODYsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkyMCwgMCwgezB4MjAsMHgxNCwweGNmLDB4MzAsMHg5MSwweDAwLDB4MmMsMHhjMCwweDBiLDB4MzQsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZTkzMCwgMCwgezB4ZjIsMHgwYiwweDEwLDB4MjIsMHgwYywweDAwLDB4OTEsMHgwMCwweDJjLDB4YzgsMHgwYiwweDE4LDB4MGEsMHhjZCwweDAxLDB4YTMgfSwKLSAgMTYsIDB4ZTk0MCwgMCwgezB4MDAsMHgyOCwweDYwLDB4MGIsMHgyMSwweDAyLDB4Y2UsMHgyMCwweGI4LDB4NDAsMHhhMCwweDU0LDB4MGIsMHgxOCwweDAyLDB4MDggfSwKLSAgMTYsIDB4ZTk1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiZCwweDAwLDB4ZjksMHgwMCwweDJmLDB4YzAgfSwKLSAgMTYsIDB4ZTk2MCwgMCwgezB4MGYsMHhmNCwweDAyLDB4N2MsMHgxMiwweGNmLDB4MDMsMHgzZiwweGMyLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwNCwweDliLDB4MDIgfSwKLSAgMTYsIDB4ZTk3MCwgMCwgezB4MmUsMHhmMiwweDBmLDB4YTQsMHgwYiwweGRjLDB4MDAsMHhjZSwweDAwLDB4YjAsMHhjOCwweDhmLDB4YTQsMHgwMywweGVmLDB4MDAgfSwKLSAgMTYsIDB4ZTk4MCwgMCwgezB4ZjgsMHg4MCwweDMyLDB4ZjUsMHgxZiwweGRkLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4NDAsMHhlOSwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjEsMHgwMywweGNjLDB4MDAsMHhmMywweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZTlhMCwgMCwgezB4YzAsMHgwZCwweGI0LDB4MDksMHhlYywweDE4LDB4ZjksMHgxMCwweDNlLDB4MTAsMHg0ZiwweGIxLDB4MGEsMHg2YywweDgwLDB4ZjkgfSwKLSAgMTYsIDB4ZTliMCwgMCwgezB4ODksMHgzNiwweDgyLDB4MGIsMHhhNiwweDAzLDB4ZWMsMHg1MCwweGY5LDB4NTAsMHgzZSwweGMwLDB4MWYsMHg5MCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4ZTljMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmQsMHhhMCwweDNkLDB4YzAgfSwKLSAgMTYsIDB4ZTlkMCwgMCwgezB4MGMsMHg3MCwweDgzLDB4MmMsMHgwMCwweGVmLDB4MDIsMHgzNSwweGMwLDB4MGQsMHhlMiwweDAzLDB4ZmMsMHgwNCwweGZmLDB4MDIgfSwKLSAgMTYsIDB4ZTllMCwgMCwgezB4MmQsMHhlMCwweDhlLDB4ZjAsMHgwMywweDNjLDB4MTAsMHhkYywweDAwLDB4M2YsMHg4MCwweDBjLDB4ZDgsMHgwMywweGZjLDB4MDAgfSwKLSAgMTYsIDB4ZTlmMCwgMCwgezB4ZGUsMHgxOCwweDMzLDB4ZjAsMHg0ZiwweGQwLDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWEwMCwgMCwgezB4ODEsMHgwMCwweDZjLDB4MDAsMHhiOSwweDAwLDB4MmUsMHhjMCwweDRjLDB4YjAsMHgwMywweDZjLDB4MDAsMHg4YiwweDAyLDB4MzYgfSwKLSAgMTYsIDB4ZWExMCwgMCwgezB4YzAsMHgwZCwweGFjLDB4MTIsMHhlYywweDAwLDB4NzksMHgwMCwweDJlLDB4MzAsMHgwZCwweDNkLDB4NDIsMHhhYywweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZWEyMCwgMCwgezB4ODgsMHgxYSwweDEwLDB4MGQsMHg4NiwweDAyLDB4ZWUsMHgwNCwweGJiLDB4NDAsMHgyMiwweGUwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZWEzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAxLDB4YjksMHgwMCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4ZWE0MCwgMCwgezB4MDgsMHhiMCwweDQyLDB4YWMsMHgwMCwweDBiLDB4MDUsMHgyNiwweGMwLDB4MDksMHg5NCwweDIwLDB4ZWMsMHgwMCwweGI5LDB4ODAgfSwKLSAgMTYsIDB4ZWE1MCwgMCwgezB4NmUsMHhjNCwweDg4LDB4YjAsMHg4MiwweDJjLDB4MDAsMHg5YiwweDgyLDB4MmUsMHg0MiwweDA4LDB4ODEsMHgwMiwweGU0LDB4ODAgfSwKLSAgMTYsIDB4ZWE2MCwgMCwgezB4YjgsMHgwMCwweDIyLDB4YzEsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHhiMSwweDI1LDB4MmMsMHhjYSwweDA4LDB4MzQsMHg0NiwweGNjLDB4MDgsMHg4MywweDAwLDB4MjQgfSwKLSAgMTYsIDB4ZWE4MCwgMCwgezB4YzIsMHgwYiwweDAyLDB4NTIsMHhjYywweDgxLDB4ODMsMHgwMCwweDJjLDB4MDAsMHgxOSwweGIyLDB4NDIsMHhhYywweDgwLDB4ODEgfSwKLSAgMTYsIDB4ZWE5MCwgMCwgezB4MDgsMHgyOCwweDgwLDB4MDksMHgwMCwweDAyLDB4YzQsMHg0MCwweGIxLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZWFhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2YywweDAwLDB4YjksMHgwMCwweDNmLDB4ZDAgfSwKLSAgMTYsIDB4ZWFiMCwgMCwgezB4MDgsMHhmNiwweDA3LDB4YmMsMHhjMiwweGFmLDB4MzAsMHg3NSwweGRjLDB4MGQsMHgxNiwweDAyLDB4ZmMsMHhlMCwweGI5LDB4NTAgfSwKLSAgMTYsIDB4ZWFjMCwgMCwgezB4M2UsMHhjYywweDBjLDB4YjAsMHgyMywweDJjLDB4MTAsMHhkOSwweDAwLDB4M2UsMHgwMCwweDBjLDB4OTAsMHgwMywweGVjLDB4MDAgfSwKLSAgMTYsIDB4ZWFkMCwgMCwgezB4ZGUsMHgwMSwweDMyLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFlMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZCwweDEwLDB4M2YsMHhjYSwweDJlLDB4ZjYsMHgwMywweDZkLDB4OTQsMHg5ZiwweDMwLDB4M2EgfSwKLSAgMTYsIDB4ZWFmMCwgMCwgezB4YzksMHgwYywweDgzLDB4OTMsMHhmYywweDgwLDB4ZmYsMHgxMSwweDdlLDB4MTksMHgwYiwweGIxLDB4MDMsMHhmYywweDQwLDB4ZmQgfSwKLSAgMTYsIDB4ZWIwMCwgMCwgezB4MDgsMHgzYiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHg4MCwweDc3LDB4MDAsMHhiZiwweGMwLDB4MGYsMHg1MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZWIxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDAwLDB4ZjQsMHg5NCwweDM3LDB4YzggfSwKLSAgMTYsIDB4ZWIyMCwgMCwgezB4MGQsMHg2OSwweDYzLDB4N2MsMHgxMCwweGZmLDB4NjIsMHgzNywweGMwLDB4MGQsMHhiNCwweDAzLDB4N2MsMHg2MCwweGQ0LDB4ODAgfSwKLSAgMTYsIDB4ZWIzMCwgMCwgezB4M2YsMHg0MCwweDBmLDB4NDgsMHgyMywweDMyLDB4MDAsMHhjZSwweDAwLDB4YmYsMHg0MCwweDhmLDB4ZDEsMHgwMywweDMwLDB4ZTAgfSwKLSAgMTYsIDB4ZWI0MCwgMCwgezB4ZmYsMHgzMCwweDNiLDB4NjAsMHgwZiwweGQ4LDB4MDMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI1MCwgMCwgezB4ODAsMHgxMCwweGVkLDB4MjAsMHhiOCwweDI0LDB4MjMsMHhmNCwweDQ5LDB4YTIsMHgwMiwweDNmLDB4NDAsMHg4ZiwweDUxLDB4MjMgfSwKLSAgMTYsIDB4ZWI2MCwgMCwgezB4ZGEsMHgwOCwweGY2LDB4MTIsMHgzZCwweDgwLDB4OWIsMHg4MCwweDJlLDB4NDksMHg0YiwweDgwLDB4MDMsMHg0MCwweDAwLDB4ZDkgfSwKLSAgMTYsIDB4ZWI3MCwgMCwgezB4MDEsMHgyMiwweDc0LDB4MGIsMHhkNSwweDAyLDB4MjEsMHgwMCwweGJmLDB4NDIsMHgyZSwweDQ5LDB4MGIsMHg5YywweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZWI4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZCwweDgwLDB4YjgsMHgyMCwweDI4LDB4YzEgfSwKLSAgMTYsIDB4ZWI5MCwgMCwgezB4MWIsMHhhMCwweDAyLDB4NGMsMHgwMCwweDkzLDB4MjAsMHgyYywweGQ4LDB4MGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4MDEgfSwKLSAgMTYsIDB4ZWJhMCwgMCwgezB4MmMsMHhjNiwweDFhLDB4YTAsMHgwMiwweDY4LDB4MDgsMHg4MywweDAwLDB4YTQsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJiMCwgMCwgezB4YjMsMHgxMCwweDI4LDB4NDIsMHgwYiwweDE0LDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHhiOCwweDYwLDB4MmEsMHhjMCwweDFiLDB4YTAsMHg4ZSwweGFjLDB4MDEsMHg5YiwweDA1LDB4MjYgfSwKLSAgMTYsIDB4ZWJkMCwgMCwgezB4YzAsMHgwMywweGIwLDB4NDIsMHg2YywweDAwLDB4OWIsMHg4MCwweDJlLDB4YzAsMHgwMywweGEwLDB4MDYsMHg2OSwweDAwLDB4OTkgfSwKLSAgMTYsIDB4ZWJlMCwgMCwgezB4ODAsMHhhYSwweGMwLDB4MGIsMHg5MCwweDAyLDB4NjMsMHgwMCwweDNiLDB4MDAsMHgyZSwweDU4LDB4NGIsMHg5MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4ZWJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlYywweDA0LDB4ZjgsMHg4MCwweGJhLDB4YzAgfSwKLSAgMTYsIDB4ZWMwMCwgMCwgezB4MGYsMHgzMCwweDAzLDB4NmMsMHgxMCwweGRiLDB4MDMsMHgzNiwweGMwLDB4OGYsMHhiMCwweDAzLDB4ZWMsMHgwOCwweGQ4LDB4ODAgfSwKLSAgMTYsIDB4ZWMxMCwgMCwgezB4N2UsMHhlMCwweDA2LDB4ODgsMHgwMywweDQxLDB4MDgsMHhjYiwweGEwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwYiwweDJhLDB4MDAgfSwKLSAgMTYsIDB4ZWMyMCwgMCwgezB4N2IsMHgwMCwweDNhLDB4MDEsMHgwZiwweDkwLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMzMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYywweDg0LDB4MzIsMHhjMCwweDBjLDB4ZjksMHgwMywweDVjLDB4MTAsMHhlZiwweDAwLDB4M2IgfSwKLSAgMTYsIDB4ZWM0MCwgMCwgezB4YzAsMHgwYywweDcwLDB4MDMsMHg5YywweDAwLDB4ZWMsMHgwMSwweDNmLDB4ZTQsMHg0ZiwweGQxLDB4MDMsMHhmMSwweDAwLDB4ZjMgfSwKLSAgMTYsIDB4ZWM1MCwgMCwgezB4MDUsMHgzMywweDYwLDB4MGYsMHhkMCwweDAzLDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZiwweDIxLDB4MGYsMHhkMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4ZWM2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4YzgsMHg0MCwweDNhLDB4YzYgfSwKLSAgMTYsIDB4ZWM3MCwgMCwgezB4MGQsMHhiNCwweDAzLDB4NmMsMHgwMCwweGYzLDB4MDAsMHgzNCwweGMwLDB4MGUsMHhiMCwweDAzLDB4NmMsMHgwMCwweGU5LDB4MTAgfSwKLSAgMTYsIDB4ZWM4MCwgMCwgezB4M2EsMHhjMCwweDBmLDB4ODQsMHgwMywweDJjLDB4NjAsMHhjYiwweDAwLDB4MzIsMHg2MCwweDBjLDB4NTAsMHgwMywweDYxLDB4MDAgfSwKLSAgMTYsIDB4ZWM5MCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4OTAsMHgwZSwweDkwLDB4YTMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDIsMHg4OCwweDAxLDB4MDEsMHhmMCwweDIwLDB4YjAsMHgwMSwweDNlLDB4MDAsMHgzZiwweDAwLDB4MzMgfSwKLSAgMTYsIDB4ZWNiMCwgMCwgezB4YzAsMHgwYiwweGYwLDB4MzIsMHgzYywweDA4LDB4ODksMHg4MCwweDIyLDB4YzAsMHgwMSwweDE1LDB4MTIsMHhhYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4ZWNjMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4NDgsMHhkYiwweDAyLDB4MmYsMHg0MCwweDhmLDB4MDAsMHgyZSwweDAxLDB4MDgsMHhkNCwweDgwLDB4MzIgfSwKLSAgMTYsIDB4ZWNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4MDgsMHgwMCwweDA4LDB4ZjAgfSwKLSAgMTYsIDB4ZWNlMCwgMCwgezB4MDgsMHgwMCwweDEyLDB4NGMsMHgwMCwweDMzLDB4MDEsMHgyNCwweGMwLDB4NGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweGEwLDB4MjAgfSwKLSAgMTYsIDB4ZWNmMCwgMCwgezB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDQ2LDB4MDQsMHg4MywweDA0LDB4MjAsMHhjMCwweDI5LDB4MTgsMHgwMiwweDA0LDB4NDAgfSwKLSAgMTYsIDB4ZWQwMCwgMCwgezB4YjMsMHgwMCwweDJjLDB4NDAsMHgwYSwweDFjLDB4NDIsMHhiMSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDEsMHg4ZCwweDgwLDB4MjEsMHhlMCwweDE4LDB4YzgsMHgwMiwweDFlLDB4MDAsMHhiMywweGEwLDB4MjEgfSwKLSAgMTYsIDB4ZWQyMCwgMCwgezB4ZTAsMHgxYiwweDM4LDB4MDIsMHgwZSwweDAxLDB4YTcsMHg4MCwweDIxLDB4ZTAsMHgwOSwweGQ4LDB4NDAsMHhkNiwweDQwLDB4ODcgfSwKLSAgMTYsIDB4ZWQzMCwgMCwgezB4ODAsMHgwMSwweGUwLDB4MDksMHg1OSwweDAyLDB4MTYsMHgwMCwweDk3LDB4ODQsMHgyZCwweDYwLDB4MDgsMHg1OCwweDQwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDQwLDB4YzAsMHgwMCwweDM4LDB4YzQgfSwKLSAgMTYsIDB4ZWQ1MCwgMCwgezB4MGMsMHgzMCwweDI3LDB4NGMsMHgyMCwweGYzLDB4MDEsMHgzNCwweGMxLDB4MGUsMHgzYSwweDAzLDB4NGMsMHhjNCwweGUwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ2MCwgMCwgezB4MTgsMHhjOCwweDBmLDB4MzQsMHgwMywweDQ0LDB4NDAsMHhjMywweDAwLDB4MzAsMHhjMCwweDBkLDB4OTAsMHgwMywweDJlLDB4MDAgfSwKLSAgMTYsIDB4ZWQ3MCwgMCwgezB4ZjMsMHgwMCwweDNlLDB4NDAsMHgwZSwweDEwLDB4MDEsMHg5YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmOSwweDAwLDB4MGUsMHhkNCwweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhmYiwweDIwLDB4M2YgfSwKLSAgMTYsIDB4ZWQ5MCwgMCwgezB4YzQsMHgwZiwweGYxLDB4MDMsMHhlYywweDYwLDB4ZGIsMHgxMCwweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhhNCwweDQ2LDB4ZmIgfSwKLSAgMTYsIDB4ZWRhMCwgMCwgezB4MDAsMHhiZCwweGMwLDB4MGUsMHhkMCwweDBiLDB4YjQsMHgwMCwweGVmLDB4NDgsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZWRiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZjgsMHgwMCwweDMyLDB4ZDQgfSwKLSAgMTYsIDB4ZWRjMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YWQsMHgwMCwweGViLDB4MDgsMHgyMiwweGQyLDB4MGMsMHhiNiwweDAzLDB4NmMsMHgwMCwweGYyLDB4ODAgfSwKLSAgMTYsIDB4ZWRkMCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YTAsMHgwMywweDI4LDB4MTAsMHhjYiwweDAwLDB4YjIsMHhjMCwweDBmLDB4ZDYsMHgwMywweDI4LDB4MTAgfSwKLSAgMTYsIDB4ZWRlMCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4NDAsMHg0ZiwweDk5LDB4MTMsMHgyYiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRmMCwgMCwgezB4NDgsMHgxMSwweDlkLDB4MTAsMHhiNCwweDAxLDB4MjEsMHhjMSwweDhiLDB4YzAsMHgwMiwweDFjLDB4YTAsMHhiZiwweDA0LDB4MjcgfSwKLSAgMTYsIDB4ZWUwMCwgMCwgezB4YzgsMHgwOCwweDc1LDB4MDIsMHgxYywweGMwLDB4YjYsMHgwMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4NDIsMHgxOCwweDEwLDB4OGYgfSwKLSAgMTYsIDB4ZWUxMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MGIsMHg1NCwweGEyLDB4MWMsMHgwMCwweGI3LDB4MDQsMHgyZCwweDQxLDB4MGIsMHg1MiwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZWUyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjYsMHg4OCwweGE1LDB4ZTAgfSwKLSAgMTYsIDB4ZWUzMCwgMCwgezB4MGIsMHg3OCwweDEyLDB4OWUsMHg4MSwweGE3LDB4OTAsMHgyNSwweGU0LDB4ODgsMHg3OCwweDAyLDB4MWUsMHg4MCwweGJmLDB4ODAgfSwKLSAgMTYsIDB4ZWU0MCwgMCwgezB4MjQsMHg2MCwweDBiLDB4NjgsMHgwMiwweDFlLDB4MDAsMHg4NywweDg0LDB4NjEsMHhlMCwweDBhLDB4MWEsMHgwYSwweDFhLDB4MDAgfSwKLSAgMTYsIDB4ZWU1MCwgMCwgezB4YjcsMHhhMCwweDJkLDB4ZTAsMHgwYiwweGRhLDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiYSwweGMwLDB4YTQsMHhjMCwweDBiLDB4MzQsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQgfSwKLSAgMTYsIDB4ZWU3MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MGUsMHgyYywweDAwLDB4YjMsMHg5OCwweDIwLDB4NjAsMHgwOSwweDMzLDB4MDIsMHgyYywweDAwLDB4YTMgfSwKLSAgMTYsIDB4ZWU4MCwgMCwgezB4YzgsMHgyMCwweGMwLDB4MGIsMHgxMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGYwLDB4MGIsMHgxMCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZWU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg4MCwweDM2LDB4ODEgfSwKLSAgMTYsIDB4ZWVhMCwgMCwgezB4MGIsMHhlMCwweDAzLDB4YTgsMHgwMCwweGVhLDB4MDAsMHhiMiwweDgwLDB4MDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGZlLDB4MDAgfSwKLSAgMTYsIDB4ZWViMCwgMCwgezB4MzYsMHhhMCwweDFmLDB4ZTgsMHgxMywweDNiLDB4ODIsMHhjZSwweGUwLDB4MjIsMHg4MCwweDhlLDB4YTAsMHgwMywweDM4LDB4MDAgfSwKLSAgMTYsIDB4ZWVjMCwgMCwgezB4YmEsMHgwMCwweDNmLDB4YTIsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDIwLDB4M2EsMHgxMCwweDA3LDB4ODAsMHgwMywweGMxLDB4MDAsMHhmOCwweDAwLDB4MzggfSwKLSAgMTYsIDB4ZWVlMCwgMCwgezB4MDAsMHgyZiwweDgwLDB4MDMsMHhhMCwweDAxLDB4ZjgsMHg0MiwweDNlLDB4MDUsMHgwZSwweDgwLDB4MGIsMHhlMCwweDgwLDB4ZDggfSwKLSAgMTYsIDB4ZWVmMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDBiLDB4ZDIgfSwKLSAgMTYsIDB4ZWYwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YzksMHgwMCwweDNhLDB4NTAgfSwKLSAgMTYsIDB4ZWYxMCwgMCwgezB4OGYsMHg5MCwweDgzLDB4YTQsMHgwMiwweGQxLDB4MDAsMHhiMiwweDQwLDB4NGMsMHg5MCwweDIzLDB4MjQsMHgwOCwweGM5LDB4MDEgfSwKLSAgMTYsIDB4ZWYyMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4MTQsMHgwYSwweDI1LDB4MjAgfSwKLSAgMTYsIDB4ZWYzMCwgMCwgezB4ZTksMHgwMCwweDNlLDB4NDIsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MGEsMHg4OSwweDAwLDB4MjIsMHg3MCwweDBiLDB4OTAsMHgxMiwweDI1LDB4ODAsMHhjOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZWY1MCwgMCwgezB4NDAsMHgwYSwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHgyMCwweDJjLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZWY2MCwgMCwgezB4YzEsMHgzMiwweDQwLDB4MGIsMHg5OCwweDAyLDB4MDYsMHgwMCwweDg5LDB4OTAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDEyLDB4ZTAgfSwKLSAgMTYsIDB4ZWY3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgwNCwweDAwLDB4ODksMHgwMCwweDZhLDB4NDIgfSwKLSAgMTYsIDB4ZWY4MCwgMCwgezB4MGEsMHgxMCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHhhMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCwweDA5LDB4MDAgfSwKLSAgMTYsIDB4ZWY5MCwgMCwgezB4MmUsMHg0MCwweDU4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDgwLDB4YWEsMHg2MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDQgfSwKLSAgMTYsIDB4ZWZhMCwgMCwgezB4YTksMHgwMCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDAwLDB4NjAsMHg0OCwweDBiLDB4MTAsMHgwMiwweDA0LDB4ODEsMHg4MSwweDIwLDB4NjAgfSwKLSAgMTYsIDB4ZWZjMCwgMCwgezB4NDgsMHgwYSwweDEyLDB4MDIsMHg0NCwweDg4LDB4ODEsMHgwMCwweDBlLDB4NTksMHgwYSwweDE0LDB4MDIsMHgwNSwweDAwLDB4ODEgfSwKLSAgMTYsIDB4ZWZkMCwgMCwgezB4YzAsMHgyOCwweDUwLDB4NDksMHgzMCwweDAyLDB4OGMsMHg4NCwweDAxLDB4NjAsMHgyYywweDUwLDB4MGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZWZlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzAsMHg1NCwweDJhLDB4MDAgfSwKLSAgMTYsIDB4ZWZmMCwgMCwgezB4MGUsMHg4NSwweDAzLDB4YTAsMHgwMCwweGM4LDB4NTAsMHgzMiwweDE1LDB4MWUsMHgwNSwweDIyLDB4MjEsMHg0MiwweGM4LDB4MDAgfSwKLSAgMTYsIDB4ZjAwMCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweDAwLDB4MDQsMHhjOCwweDAwLDB4M2EsMHgwMCwweDRmLDB4ODUsMHgwMywweGExLDB4NDAgfSwKLSAgMTYsIDB4ZjAxMCwgMCwgezB4NjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmZCwweDAzLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDgsMHhlOSwweDEwLDB4M2UgfSwKLSAgMTYsIDB4ZjAzMCwgMCwgezB4NDUsMHgwZiwweDkxLDB4MTMsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAyLDB4ZmQgfSwKLSAgMTYsIDB4ZjA0MCwgMCwgezB4NDAsMHgzMywweDUwLDB4MGYsMHhkNCwweDIzLDB4NzQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1NCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ZjA1MCwgMCwgezB4MDIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNCwweDAwLDB4ZjksMHgwMSwweDMzLDB4NmEgfSwKLSAgMTYsIDB4ZjA2MCwgMCwgezB4MDksMHg5MCwweDAzLDB4YjYsMHgzNCwweGY5LDB4YzgsMHgzMiwweDY0LDB4MGMsMHg5YSwweDAzLDB4ZTYsMHhhMCwweGRkLDB4MDAgfSwKLSAgMTYsIDB4ZjA3MCwgMCwgezB4M2MsMHg3MCwweDBmLDB4OTAsMHgwMywweGE1LDB4MDAsMHg4OSwweDgwLDB4MzMsMHgzMiwweDBmLDB4ZDgsMHgxMywweDNjLDB4MDAgfSwKLSAgMTYsIDB4ZjA4MCwgMCwgezB4ZmQsMHgwMCwweDcwLDB4NTAsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA5MCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHhiOCwweGE4LDB4MjIsMHgxMCwweDA4LDB4ODgsMHgwMiwweDIxLDB4MDAsMHhiOCwweGMwLDB4MjAgfSwKLSAgMTYsIDB4ZjBhMCwgMCwgezB4MzAsMHgwZCwweDhlLDB4ODcsMHg4MywweDg4LDB4ODgsMHgwMCwweDJlLDB4MzQsMHgwYiwweDhhLDB4ODIsMHgyMiwweDgwLDB4ZGMgfSwKLSAgMTYsIDB4ZjBiMCwgMCwgezB4ZTAsMHgyMiwweDM4LDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwMCwweGY4LDB4YTgsMHgyYSwweDI4LDB4MGIsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZjBjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDIwLDB4YjEsMHgwMCwweDIwLDB4NDAgfSwKLSAgMTYsIDB4ZjBkMCwgMCwgezB4MGEsMHg5MiwweDkyLDB4ODQsMHgxMSwweGIxLDB4MjQsMHg2OCwweDU4LDB4MDksMHgxMSwweDAyLDB4YzQsMHgyMCwweDkxLDB4MDEgfSwKLSAgMTYsIDB4ZjBlMCwgMCwgezB4MmMsMHg0OCwweDFiLDB4NTAsMHgwMiwweDc0LDB4ODQsMHg5NSwweDQ4LDB4YWMsMHg0OCwweDBiLDB4OTQsMHgwMiwweDA0LDB4MDQgfSwKLSAgMTYsIDB4ZjBmMCwgMCwgezB4YjEsMHgwMiwweDI0LDB4NDgsMHgwYiwweDEwLDB4MDIsMHgwMiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjEwMCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHhiMSwweDIwLDB4MjIsMHg0MCwweDBhLDB4OTAsMHgwNiwweDJjLDB4MDEsMHhiOSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZjExMCwgMCwgezB4NDAsMHgwOSwweDkwLDB4MDIsMHhhNCwweDAwLDB4OWIsMHgwOCwweDJlLDB4NDgsMHgwYiwweDEyLDB4MWEsMHg3NCwweDAwLDB4OTUgfSwKLSAgMTYsIDB4ZjEyMCwgMCwgezB4NDUsMHgyZSwweDYwLDB4MDMsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ZjEzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg4MCwweDMwLDB4NDAgfSwKLSAgMTYsIDB4ZjE0MCwgMCwgezB4MGUsMHgxNiwweDAzLDB4YTQsMHgwMCwweGI5LDB4MDQsMHgzMiwweDQwLDB4MGQsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGQ5LDB4NDAgfSwKLSAgMTYsIDB4ZjE1MCwgMCwgezB4MmUsMHg0MCwweDFmLDB4OTgsMHgwMywweGU1LDB4ODAsMHhkOSwweDAwLDB4YWUsMHg2MCwweDA3LDB4MTAsMHgwYiwweDI2LDB4MDEgfSwKLSAgMTYsIDB4ZjE2MCwgMCwgezB4YjksMHgwMCwweGE2LDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4YmUsMHg0MCwweGFjLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4YjQgfSwKLSAgMTYsIDB4ZjE4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjkgfSwKLSAgMTYsIDB4ZjE5MCwgMCwgezB4MDAsMHgzMiwweDAwLDB4MGYsMHg5MCwweDgzLDB4ZTYsMHg4NSwweGUxLDB4MDAsMHgzMiwweDQ0LDB4MGYsMHgxMCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ZjFhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZjFiMCwgMCwgezB4MGYsMHg4MCwweDEzLDB4ZTAsMHg5NCwweGUwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4ZjFjMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHg0MywweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4NDAgfSwKLSAgMTYsIDB4ZjFkMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHg0YywweDgwLDB4MjMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjMsMHg4MCwweDBiLDB4YTAsMHgwMiwweGZiLDB4MDQsMHg2YSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZjFmMCwgMCwgezB4ODAsMHgwYSwweGEwLDB4MDMsMHg2OCwweDBhLDB4OGUsMHg4OCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgwOCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ZjIwMCwgMCwgezB4MDAsMHhiNywweDIyLDB4MDMsMHhlNCwweDAyLDB4ZmEsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhlOCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ZjIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDYwLDB4NDEgfSwKLSAgMTYsIDB4ZjIyMCwgMCwgezB4MDMsMHgzMCwweDAyLDB4Y2MsMHg0MSwweGEzLDB4MDAsMHgwNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMCwweGEzLDB4ODAgfSwKLSAgMTYsIDB4ZjIzMCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MzgsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4YTAsMHhjMCwweDBiLDB4MzQsMHgwMiwweGNjLDB4ODAgfSwKLSAgMTYsIDB4ZjI0MCwgMCwgezB4YTEsMHgwMCwweDIwLDB4YzAsMHgwOCwweDM4LDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI1MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHhiNywweDAwLDB4NjEsMHgwMCwweDBiLDB4NzEsMHgwMiwweGRjLDB4MDAsMHhhMywweDAwLDB4MjUgfSwKLSAgMTYsIDB4ZjI2MCwgMCwgezB4YzgsMHgxOSwweDM4LDB4MDIsMHg1YywweDgwLDB4YTcsMHgwMCwweDBmLDB4ZTgsMHgwOSwweDY0LDB4MjIsMHgxMCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4ZjI3MCwgMCwgezB4MDAsMHgyNSwweGM4LDB4MGIsMHg2MCwweDAyLDB4ZjIsMHgwMCwweDg1LDB4MDEsMHgyMywweGU4LDB4MDgsMHg3MCwweDgyLDB4ZTggfSwKLSAgMTYsIDB4ZjI4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDIwLDB4ZmYsMHg4MCwweGExLDB4YTAgfSwKLSAgMTYsIDB4ZjI5MCwgMCwgezB4MGYsMHg3YSwweDQyLDB4ZGEsMHgwMCwweGU3LDB4ZTgsMHgzNSwweGYwLDB4MmYsMHg3YiwweDYyLDB4MWUsMHg4MiwweGU2LDB4ODAgfSwKLSAgMTYsIDB4ZjJhMCwgMCwgezB4MWQsMHhlMCwweDBkLDB4ZjgsMHgwYiwweDFlLDB4MDAsMHhmNywweDgwLDB4MzEsMHhmMCwweDBmLDB4NzgsMHgwMywweGRlLDB4MGMgfSwKLSAgMTYsIDB4ZjJiMCwgMCwgezB4ZWYsMHg4MCwweDMxLDB4ZjgsMHgyYywweDc4LDB4MDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4ODQsMHhmYiwweDY4LDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYiwweDAwLDB4ZmEgfSwKLSAgMTYsIDB4ZjJkMCwgMCwgezB4ZDgsMHgwZSwweGI1LDB4MDMsMHhlZCwweDAwLDB4ZGIsMHgwMCwweDNhLDB4YzAsMHg4ZSwweGEwLDB4MDMsMHhlMCwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ZjJlMCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGIsMHhiMCwweDQzLDB4YzQsMHgwNCwweGVmLDB4MDIsMHhiZiwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZjJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDQyLDB4YzcsMHgzOCwweDMzLDB4NjQgfSwKLSAgMTYsIDB4ZjMwMCwgMCwgezB4MGUsMHg3YywweDAzLDB4NWUsMHgwMCwweGRmLDB4YTAsMHgzNywweGYwLDB4MGQsMHhmOCwweDAzLDB4ZmYsMHgyMCwweGNmLDB4ODEgfSwKLSAgMTYsIDB4ZjMxMCwgMCwgezB4MzMsMHhlMiwweDBjLDB4ZDgsMHgwMywweGJlLDB4MDAsMHg3ZiwweGMwLDB4MzMsMHhlMCwweDBjLDB4ZjksMHgwMywweDdlLDB4MDAgfSwKLSAgMTYsIDB4ZjMyMCwgMCwgezB4ZmQsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4NywweGEwLDB4MjEsMHgxNCwweDA4LDB4NzEsMHgwMiwweDE0LDB4MTAsMHhkNywweDIwLDB4MzUgfSwKLSAgMTYsIDB4ZjM0MCwgMCwgezB4YzAsMHgwYywweDcwLDB4MDMsMHhiYywweDAwLDB4ODUsMHgwOCwweDJiLDB4YzAsMHg0ZCwweDQ2LDB4MDIsMHhkMSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4ZjM1MCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4MDgsMHg4MCwweGY1LDB4MjAsMHgzZCwweGNhLDB4MGYsMHg1NCwweDAzLDB4ZWEgfSwKLSAgMTYsIDB4ZjM2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDExLDB4OGYsMHgwMSwweDIwLDB4ODQgfSwKLSAgMTYsIDB4ZjM3MCwgMCwgezB4MWEsMHhmMCwweDAyLDB4MTgsMHgwMCwweGE3LDB4MzQsMHg2NSwweGMwLDB4MDksMHg3MSwweDAyLDB4ZGMsMHgwMCwweDhlLDB4MDAgfSwKLSAgMTYsIDB4ZjM4MCwgMCwgezB4MjksMHhjMCwweDA4LDB4NTAsMHgwNiwweDljLDB4MDAsMHhiZiwweDg4LDB4MmQsMHhjNCwweDBhLDB4NjAsMHgyNiwweDU4LDB4MjQgfSwKLSAgMTYsIDB4ZjM5MCwgMCwgezB4OTcsMHgwMCwweDZkLDB4YzAsMHg5YiwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNhMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4YiwweDQwLDB4MjAsMHgwMCwweDE4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiYiwweDAyLDB4MjQgfSwKLSAgMTYsIDB4ZjNiMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MjAsMHhjYywweDAwLDB4ODEsMHhjMCwweDI4LDB4YzAsMHgwYiwweDA0LDB4ODIsMHhlMCwweDEwLDB4YmIgfSwKLSAgMTYsIDB4ZjNjMCwgMCwgezB4YTAsMHgyYywweGUwLDB4MGEsMHgyMCwweDA2LDB4MDAsMHgwMCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MGEsMHgxMCwweDAyLDB4ODggfSwKLSAgMTYsIDB4ZjNkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2YsMHgxMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZjNlMCwgMCwgezB4MGUsMHhmMCwweDBiLDB4MjQsMHgwMCwweGVmLDB4MDAsMHgzNywweGMwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwNiwweGMxLDB4NTAgfSwKLSAgMTYsIDB4ZjNmMCwgMCwgezB4M2IsMHhjMCwweDBjLDB4YjQsMHgwMywweGFjLDB4MDAsMHhmOCwweGMwLDB4YmUsMHhjOCwweDJlLDB4YjAsMHgwMywweDZlLDB4MDEgfSwKLSAgMTYsIDB4ZjQwMCwgMCwgezB4ZmIsMHgwMCwweDJkLDB4YzAsMHg0YiwweDkwLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQxMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDQsMHhmYiwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGFkLDB4MDAsMHg5YiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZjQyMCwgMCwgezB4YzAsMHgwZiwweDMwLDB4MDMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDJlLDB4YzAsMHgwNSwweGI0LDB4MDMsMHhlZCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ZjQzMCwgMCwgezB4NDAsMHgzMiwweGMwLDB4MDksMHgwMCwweDAzLDB4ZTAsMHg5MSwweGUzLDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDExLDB4ZTAgfSwKLSAgMTYsIDB4ZjQ0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlYywweDAwLDB4ZWYsMHgwMCwweDMzLDB4MjAgfSwKLSAgMTYsIDB4ZjQ1MCwgMCwgezB4NGYsMHhmMCwweDAzLDB4YjQsMHgwMCwweGVmLDB4MDMsMHgzYSwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGRjLDB4MDAgfSwKLSAgMTYsIDB4ZjQ2MCwgMCwgezB4MzEsMHhjMCwweDhkLDB4ZjgsMHgwMywweGZlLDB4MDQsMHhjZiwweDAwLDB4MzIsMHhjOCwweDBjLDB4ZjAsMHgwYiwweDFjLDB4MDAgfSwKLSAgMTYsIDB4ZjQ3MCwgMCwgezB4Y2YsMHg5MywweDMzLDB4YzAsMHg4YywweDQwLDB4MDIsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHgwNCwweDBiLDB4MzAsMHgwMiwweDBlLDB4MDAsMHhhYiwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZjQ5MCwgMCwgezB4YzAsMHgwOSwweGIwLDB4MDMsMHg2YywweDA4LDB4YTgsMHhjMCwweDM2LDB4YzAsMHgwOCwweGJjLDB4MDIsMHhlZiwweDAyLDB4YWIgfSwKLSAgMTYsIDB4ZjRhMCwgMCwgezB4ZDAsMHgyMCwweGUwLDB4MDgsMHhiOCwweDIyLDB4MjYsMHgxMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MjAsMHg5YywweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjRiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDI2LDB4MDAgfSwKLSAgMTYsIDB4ZjRjMCwgMCwgezB4MGEsMHhiMCwweDAyLDB4YTIsMHgwOCwweGFiLDB4MDAsMHg2YSwweGMwLDB4MGIsMHhiMCwweDBhLDB4MGMsMHgwMCwweDhiLDB4ODAgfSwKLSAgMTYsIDB4ZjRkMCwgMCwgezB4MjIsMHhjMCwweDA5LDB4YjEsMHgwMiwweGVjLDB4NDAsMHg4OCwweDA4LDB4MjIsMHhjMCwweDA4LDB4YjgsMHgwMiwweDI2LDB4MDAgfSwKLSAgMTYsIDB4ZjRlMCwgMCwgezB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDk4LDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDBiLDB4YjAsMHgwMiwweDAwLDB4MDEsMHg4MywweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZjUwMCwgMCwgezB4YzAsMHgwOSwweDMwLDB4MDIsMHg0YywweDAwLDB4MDAsMHgwNCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDYsMHg0YywweDAwLDB4ODAgfSwKLSAgMTYsIDB4ZjUxMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHg0MSwweDgzLDB4MDAsMHhhMiwweGMwLDB4MDgsMHgxMCwweDBhLDB4ODIgfSwKLSAgMTYsIDB4ZjUyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4ZWYsMHgwOCwweDI2LDB4MDAgfSwKLSAgMTYsIDB4ZjUzMCwgMCwgezB4MGUsMHhmMCwweDAyLDB4YTAsMHgwMCwweGU3LDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmNSwweDQzLDB4M2MsMHgwMiwweGRhLDB4MDAgfSwKLSAgMTYsIDB4ZjU0MCwgMCwgezB4MzIsMHhjMCwweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4YjIsMHhjMCwweDBjLDB4YTAsMHgwMywweDI4LDB4MTAgfSwKLSAgMTYsIDB4ZjU1MCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwYywweDgwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU2MCwgMCwgezB4YTAsMHgwZCwweGZjLDB4MDAsMHhmYiwweDAwLDB4M2IsMHgwMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmZiwweDAyLDB4M2YgfSwKLSAgMTYsIDB4ZjU3MCwgMCwgezB4YzAsMHgwZCwweGYyLDB4MDMsMHhiYywweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZjcgfSwKLSAgMTYsIDB4ZjU4MCwgMCwgezB4MDAsMHgzMywweGMwLDB4MGYsMHg2MCwweDAzLDB4ZjAsMHg4OCwweGZmLDB4MDAsMHgzZiwweGMwLDB4NGYsMHhkMCwweDAzLDB4NjggfSwKLSAgMTYsIDB4ZjU5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDQwLDB4ZmMsMHgzMSwweDNiLDB4MDggfSwKLSAgMTYsIDB4ZjVhMCwgMCwgezB4NGYsMHhmOSwweDQzLDB4ZWYsMHgwMCwweGRmLDB4MzAsMHgzMiwweDIxLDB4MGYsMHg5NCwweDA3LDB4N2QsMHg4MCwweGVmLDB4MzggfSwKLSAgMTYsIDB4ZjViMCwgMCwgezB4MzIsMHgwOSwweDFjLDB4MzgsMHgwMywweGYyLDB4MjEsMHhmZCwweDAwLDB4MzMsMHhjNCwweDBjLDB4ZjAsMHgwMiwweGZjLDB4MDAgfSwKLSAgMTYsIDB4ZjVjMCwgMCwgezB4ZGYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVkMCwgMCwgezB4ODAsMHgxMCwweGVjLDB4ODgsMHg4YiwweDYwLDB4MjIsMHhlNSwweDBlLDB4YjIsMHgyMiwweGVjLDB4ODAsMHhhZiwweDExLDB4MmEgfSwKLSAgMTYsIDB4ZjVlMCwgMCwgezB4MjAsMHgwYiwweGIxLDB4MTMsMHhhYywweDQ4LDB4OGIsMHg0NSwweDM0LDB4Y2MsMHg0OCwweGIwLDB4MDIsMHg2YiwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ZjVmMCwgMCwgezB4ODIsMHgzNiwweDAwLDB4MDgsMHg4OCwweDIyLDB4YzAsMHgwNCwweDg4LDB4MDAsMHhhMiwweDA4LDB4OGIsMHg4OCwweDYyLDB4MjAgfSwKLSAgMTYsIDB4ZjYwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YTEsMHgzMCwweDI4LDB4MDAgfSwKLSAgMTYsIDB4ZjYxMCwgMCwgezB4MGIsMHgzMiwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MjIsMHgyYywweDAwLDB4OGIsMHgxMiwweDA2LDB4YzgsMHg4MCwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ZjYyMCwgMCwgezB4MjAsMHgwMiwweGNhLDB4MzAsMHgwNiwweGM0LDB4MDEsMHhiMSwweDAwLDB4NjgsMHg4MCwweDA5LDB4MjAsMHgwMiwweDg4LDB4MDAgfSwKLSAgMTYsIDB4ZjYzMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzIsMHgwYiwweDAwLDB4MGEsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHg4YiwweDYxLDB4NjIsMHhjMCwweDBiLDB4YjIsMHgwMiwweGU4LDB4MDAsMHhhYiwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZjY1MCwgMCwgezB4NjEsMHgxYiwweDkwLDB4MDIsMHhhOCwweDAwLDB4YWIsMHgwMCwweDIwLDB4YzAsMHgwYSwweGIwLDB4MDIsMHg2YywweDA0LDB4YmEgfSwKLSAgMTYsIDB4ZjY2MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4ODksMHg5MCwweDAyLDB4ZTYsMHgwOCwweDk4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHhiMCwweDAyLDB4YjAgfSwKLSAgMTYsIDB4ZjY3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlZSwweDAwLDB4ZjgsMHgwMSwweDNhLDB4MDQgfSwKLSAgMTYsIDB4ZjY4MCwgMCwgezB4MGYsMHhhYywweDAzLDB4ZWMsMHg5MCwweGZiLDB4MDIsMHgzZSwweGUwLDB4MGIsMHg5MCwweDQyLDB4NjcsMHg4MCwweGE4LDB4YzQgfSwKLSAgMTYsIDB4ZjY5MCwgMCwgezB4MjIsMHg0OCwweDIyLDB4ODYsMHgwMywweGUxLDB4NDAsMHhiOCwweDAyLDB4MmEsMHg0MCwweDI5LDB4OTAsMHgwMywweGVjLDB4MDIgfSwKLSAgMTYsIDB4ZjZhMCwgMCwgezB4YzksMHg0OCwweDMyLDB4NDAsMHgwZiwweGIwLDB4MTMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZiMCwgMCwgezB4ZTAsMHgwMSwweGFjLDB4NDAsMHhmYiwweDAwLDB4MWYsMHhhMiwweDBlLDB4ZjgsMHg4MiwweGZjLDB4MDgsMHhmZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZjZjMCwgMCwgezB4YzAsMHgwZiwweGZhLDB4NDMsMHg5NiwweDQ0LDB4ZDQsMHg5MSwweDNmLDB4NDAsMHgwZCwweGMwLDB4MDMsMHhmYSwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ZjZkMCwgMCwgezB4MDgsMHgyNSwweDgwLDB4MGUsMHhlMCwweDAzLDB4ZDAsMHgwMCwweGVhLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4ZjZlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZTEsMHgyMCwweDNhLDB4NTAgfSwKLSAgMTYsIDB4ZjZmMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MmMsMHgwMCwweGViLDB4MDgsMHg3NiwweDA1LDB4MGUsMHhiMCwweDI3LDB4ZTAsMHgxMCwweGVhLDB4NDAgfSwKLSAgMTYsIDB4ZjcwMCwgMCwgezB4YjIsMHhjMCwweDBjLDB4YTQsMHg0MywweDI1LDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwOCwweDBmLDB4ODAsMHg0MywweGU4LDB4MDAgfSwKLSAgMTYsIDB4ZjcxMCwgMCwgezB4ZDEsMHgwOCwweGVlLDB4NDAsMHgwZiwweDAwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjcyMCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhkMCwweDBiLDB4OTAsMHg4MiwweDJjLDB4MDAsMHg4NywweDQwLDB4MjIgfSwKLSAgMTYsIDB4ZjczMCwgMCwgezB4NjAsMHg4YiwweGIwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHg1MCwweDIyLDB4ZDAsMHgwYywweGEwLDB4MDMsMHg2YywweDAwLDB4YjMgfSwKLSAgMTYsIDB4Zjc0MCwgMCwgezB4YzgsMHgzZSwweGQwLDB4MGIsMHhiOCwweDAyLDB4MjUsMHgwOCwweDhhLDB4MjAsMHgyYSwweDgwLDB4OGIsMHhiOCwweDgyLDB4ZjIgfSwKLSAgMTYsIDB4Zjc1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2NCwweDAwLDB4YTAsMHhjMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4Zjc2MCwgMCwgezB4MDksMHgzOCwweDAyLDB4MmMsMHgwMCwweDgzLDB4MDMsMHgyMCwweDAwLDB4MTAsMHgzMCwweDIyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4Zjc3MCwgMCwgezB4NjAsMHgwOCwweDBhLDB4MzAsMHg4MiwweDRjLDB4MDAsMHhiMSwweGMwLDB4MDAsMHhkMSwweDBiLDB4MzgsMHgwMiwweDg0LDB4ODAgfSwKLSAgMTYsIDB4Zjc4MCwgMCwgezB4ODIsMHgwMSwweDIwLDB4ODAsMHgwMywweDM4LDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc5MCwgMCwgezB4MjAsMHgwMSwweDE2LDB4NDAsMHg4NCwweDk4LDB4MjUsMHhlMCwweDBiLDB4N2EsMHgwMiwweGZhLDB4NDgsMHhhMywweDIwLDB4NjEgfSwKLSAgMTYsIDB4ZjdhMCwgMCwgezB4MjQsMHgwYiwweDc5LDB4MDAsMHhjZSwweGMwLDB4OTMsMHhhNCwweDIxLDB4YTYsMHgwYiwweDc4LDB4MTIsMHhkZSwweDgwLDB4YjYgfSwKLSAgMTYsIDB4ZjdiMCwgMCwgezB4ODAsMHgyZCwweDI0LDB4MGIsMHg0YiwweDAyLDB4MWEsMHg0MCwweDg1LDB4ODEsMHgyMSwweDYwLDB4MGIsMHg0OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZjdjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZTIsMHhhMCwweGI0LDB4ZmUgfSwKLSAgMTYsIDB4ZjdkMCwgMCwgezB4NGIsMHhiOCwweDBiLDB4MGUsMHgwMCwweGEzLDB4YjAsMHgyNCwweGE4LDB4MGUsMHgxYiwweDAyLDB4Y2UsMHhjMSwweGMzLDB4YzAgfSwKLSAgMTYsIDB4ZjdlMCwgMCwgezB4MzAsMHg2OCwweDJlLDB4M2EsMHg0NywweDRlLDB4ODAsMHhmMSwweDgwLDB4MzAsMHg4MCwweDBmLDB4MjIsMHg4MywweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZjdmMCwgMCwgezB4YzIsMHgxMCwweDM4LDB4ODAsMHg0ZiwweDAwLDB4MDcsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgwMCwgMCwgezB4NDAsMHgwZCwweGJjLDB4MTAsMHhmZSwweDA0LDB4M2IsMHhjMSwweDA3LDB4ZjAsMHgwMywweDFjLDB4YzgsMHhkZiwweDJhLDB4MGIgfSwKLSAgMTYsIDB4ZjgxMCwgMCwgezB4YzQsMHg4ZiwweGQxLDB4NDMsMHhmOCwweDAyLDB4N2YsMHgwMCwweDNmLDB4YzAsMHgwYywweGYxLDB4MGYsMHgzYywweDAwLDB4ZjIgfSwKLSAgMTYsIDB4ZjgyMCwgMCwgezB4MTEsMHgzZiwweDQxLDB4MWYsMHg1MiwweDAzLDB4YmMsMHgwZSwweGVkLDB4MTQsMHgzZiwweDQwLDB4MGYsMHhmOCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZjgzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZTksMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4Zjg0MCwgMCwgezB4MGUsMHhiZSwweDRiLDB4NmYsMHgwMCwweGNiLDB4ODIsMHg3YSwweGMwLDB4MmMsMHhiMCwweDAzLDB4MmMsMHgwMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4Zjg1MCwgMCwgezB4MzIsMHgwMCwweDJjLDB4MTAsMHgwMywweDJjLDB4MDgsMHhjMCwweDAwLDB4MjYsMHg0MCwweDZjLDB4OTAsMHgxMywweDI0LDB4MTIgfSwKLSAgMTYsIDB4Zjg2MCwgMCwgezB4YzgsMHgwMSwweDNlLDB4MDAsMHgwZiwweGI4LDB4MGIsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg3MCwgMCwgezB4NDgsMHgxMSwweDk0LDB4MDAsMHg4ZCwweDAwLDB4MjEsMHg4MCwweDBiLDB4NzAsMHg4MiwweDNjLDB4MjAsMHg4MywweDMyLDB4MjkgfSwKLSAgMTYsIDB4Zjg4MCwgMCwgezB4YzAsMHgwOCwweGYwLDB4MjAsMHgxNCwweDAwLDB4ODAsMHgwMCwweDIzLDB4MDAsMHgwOCwweDUwLDB4MDYsMHg5YywweDA0LDB4ZDcgfSwKLSAgMTYsIDB4Zjg5MCwgMCwgezB4MDIsMHgyOCwweDgwLDB4MDgsMHg2MCwweDAyLDB4MDgsMHgxMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZjhhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YTcsMHg4MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4ZjhiMCwgMCwgezB4MGIsMHg1YywweDEyLDB4MWUsMHgwNCwweDg3LDB4ODIsMHgwZCwweGEwLDB4MDksMHg3OCwweDE2LDB4MDIsMHgwMCwweGI0LDB4ODAgfSwKLSAgMTYsIDB4ZjhjMCwgMCwgezB4MjUsMHhlMCwweDBiLDB4NzgsMHgwMiwweDllLDB4MDAsMHg4NCwweDgwLDB4MjEsMHgyMiwweDA4LDB4MDgsMHgwMiwweDEyLDB4MDEgfSwKLSAgMTYsIDB4ZjhkMCwgMCwgezB4ODQsMHhjMCwweDJkLDB4MjAsMHgwYiwweDA4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhlMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDQyLDB4YTAsMHhkOCwweDBiLDB4MzQsMHg4MiwweDBjLDB4MDAsMHhhMywweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjhmMCwgMCwgezB4ZTAsMHgwOCwweGIwLDB4MDIsMHgwYywweDg4LDB4YjMsMHgyMSwweDI0LDB4ZDgsMHgwYiwweDNlLDB4MDIsMHg4YywweDAwLDB4OTMgfSwKLSAgMTYsIDB4ZjkwMCwgMCwgezB4MDgsMHgyOCwweGMwLDB4MDgsMHgzOCwweDAyLDB4MmMsMHgwNSwweDhiLDB4MDEsMHgyYywweGUwLDB4MGIsMHgzMCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZjkxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZWUsMHgwMCwweDMzLDB4OTAgfSwKLSAgMTYsIDB4ZjkyMCwgMCwgezB4MGYsMHhhMCwweDBiLDB4NjgsMHgwMCwweGNhLDB4MDEsMHg3ZiwweGE4LDB4MGMsMHhhYSwweDAzLDB4M2EsMHgxMiwweGZlLDB4ZTIgfSwKLSAgMTYsIDB4ZjkzMCwgMCwgezB4MzcsMHhiMCwweDBmLDB4ZWUsMHgwMiwweDE4LDB4MDAsMHhjYSwweDQwLDB4MzYsMHhhMCwweDA4LDB4YTAsMHg4YiwweDI4LDB4MDAgfSwKLSAgMTYsIDB4Zjk0MCwgMCwgezB4Y2EsMHg4MSwweDJlLDB4YTAsMHgwZiwweGUwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDA4LDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGEyLDB4MDIsMHhkOCwweDQwLDB4M2UgfSwKLSAgMTYsIDB4Zjk2MCwgMCwgezB4MDgsMHgwZiwweDgwLDB4MTMsMHhlMCwweDQwLDB4NDgsMHg0MCwweGI4LDB4MDQsMHgwOCwweDg0LDB4MDMsMHg2MSwweDAwLDB4ZmMgfSwKLSAgMTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgzZiwweDAwLDB4NGYsMHhjMCwweDAzLDB4ZjEsMHgwMCwweGZjLDB4MDAsMHgzZiwweDA0LDB4MGYsMHhjMCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4Zjk4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAwLDB4ZjksMHgwMCwweDMwLDB4NTAgfSwKLSAgMTYsIDB4Zjk5MCwgMCwgezB4NGMsMHhiOSwweDAzLDB4NmMsMHgxOCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGUsMHg5YywweDIzLDB4YTQsMHgwMiwweDQxLDB4MDAgfSwKLSAgMTYsIDB4ZjlhMCwgMCwgezB4YjIsMHg0NCwweDBlLDB4OWEsMHgwMywweGE2LDB4ODAsMHhjOSwweDAwLDB4M2EsMHg2MCwweDBhLDB4OTAsMHgwMywweGE0LDB4ODAgfSwKLSAgMTYsIDB4ZjliMCwgMCwgezB4YzksMHgwMCwweDM0LDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjljMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg3OCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MTAsMHhiOSwweDAwLDB4M2MgfSwKLSAgMTYsIDB4ZjlkMCwgMCwgezB4NjIsMHgxOCwweDk0LDB4ODIsMHhhNCwweDAwLDB4ODksMHhjOCwweDIyLDB4NzAsMHg0OCwweDFlLDB4MDEsMHg2NywweDgwLDB4ZDEgfSwKLSAgMTYsIDB4ZjllMCwgMCwgezB4MDAsMHhiYywweDQyLDB4MDgsMHgxMCwweDAyLDB4MjUsMHgyMCwweDg5LDB4MDIsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZjlmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjEsMHgyOCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4ZmEwMCwgMCwgezB4MDgsMHhiMCwweDgyLDB4NjQsMHgwNCwweDM5LDB4NDEsMHgyZSwweDQ4LDB4MGEsMHg5MCwweDAyLDB4MDQsMHgxOCwweGE5LDB4MjAgfSwKLSAgMTYsIDB4ZmExMCwgMCwgezB4MjIsMHg0MiwweDRhLDB4OTAsMHgwMiwweDJjLDB4MDQsMHg4OSwweDA0LDB4MmIsMHg0OCwweDAyLDB4ZDAsMHgwMiwweGI0LDB4MGEgfSwKLSAgMTYsIDB4ZmEyMCwgMCwgezB4OGQsMHg4MCwweDIzLDB4YzAsMHg0OCwweGQwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4YTAsMHg0OCwweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDI0LDB4MmEgfSwKLSAgMTYsIDB4ZmE0MCwgMCwgezB4NDAsMHgwOCwweDEyLDB4NDIsMHg4NSwweDgwLDB4YTEsMHgyMCwweGEwLDB4NDgsMHgwOCwweDkwLDB4MDIsMHg0NCwweDAwLDB4OTUgfSwKLSAgMTYsIDB4ZmE1MCwgMCwgezB4MmMsMHgyZCwweDVhLDB4MGEsMHg3MiwweDgyLDB4MTQsMHhhMCwweDg1LDB4YTgsMHgyMSwweDRhLDB4MDgsMHg1MiwweDgyLDB4YzIgfSwKLSAgMTYsIDB4ZmE2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg0MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZmE3MCwgMCwgezB4OGMsMHgwNSwweDAzLDB4NjEsMHg0MCwweGY4LDB4NTEsMHgyZSwweDAwLDB4MGEsMHg4NSwweDAyLDB4MjAsMHgwMCwweGU4LDB4NTAgfSwKLSAgMTYsIDB4ZmE4MCwgMCwgezB4MzIsMHgxNCwweDA2LDB4ODUsMHgxNywweGEwLDB4MDAsMHhjOCwweDIwLDB4M2EsMHgwOCwweDBlLDB4ODIsMHgwMywweGEwLDB4ODAgfSwKLSAgMTYsIDB4ZmE5MCwgMCwgezB4YzgsMHgyMCwweDMyLDB4MDgsMHgyYywweGMyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFhMCwgMCwgezB4OTgsMHgxOSwweGY0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0NCwweDBiLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmOSwweDEwLDB4M2QgfSwKLSAgMTYsIDB4ZmFiMCwgMCwgezB4NDAsMHgwZiwweGQxLDB4MDMsMHhmNCwweDU4LDB4OWQsMHgxMCwweDNmLDB4NDQsMHg0ZiwweGQwLDB4MDMsMHhkNSwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4OGQsMHg5MCwweDAzLDB4ZTQsMHhiOCwweGY5LDB4MjgsMHhiYSwweDZhLDB4MGYsMHg5MCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ZmFkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhlNywweDAwLDB4ZmQsMHg4OCwweDNlLDB4NjAgfSwKLSAgMTYsIDB4ZmFlMCwgMCwgezB4OGYsMHhkMCwweDAzLDB4MjQsMHgwMSwweGRkLDB4ODAsMHg3MywweDQwLDB4MGYsMHhkOCwweDAzLDB4YTYsMHgwNCwweGNkLDB4YTIgfSwKLSAgMTYsIDB4ZmFmMCwgMCwgezB4MzMsMHg3OCwweDFjLDB4ZDAsMHgwMywweDM0LDB4MDEsMHhmNSwweDg4LDB4M2IsMHg2OCwweDBjLDB4ZGEsMHg0NywweDM3LDB4ODAgfSwKLSAgMTYsIDB4ZmIwMCwgMCwgezB4Y2QsMHg4OCwweDMyLDB4NjIsMHgwYywweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4ODAsMHhiOCwweDgwLDB4MmUsMHgxNCwweDBiLDB4MGEsMHg4MiwweDIyLDB4ODAsMHhiOCwweGY4LDB4YTIgfSwKLSAgMTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwYiwweDhmLDB4YTMsMHg4MywweGUwLDB4ODgsMHhlYiwweDIyLDB4YTksMHgwOCwweDg4LDB4MTIsMHhhMCwweDA1LDB4YjggfSwKLSAgMTYsIDB4ZmIzMCwgMCwgezB4MDAsMHgyYSwweGFhLDB4ODgsMHg4MCwweDEzLDB4NjIsMHg4MiwweDg4LDB4ODAsMHgyMiwweDI4LDB4ODgsMHhhNCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZmI0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHgwYSwweDJjLDB4NDEgfSwKLSAgMTYsIDB4ZmI1MCwgMCwgezB4MGIsMHgxMCwweDA2LDB4MDQsMHgyMCwweGExLDB4MDAsMHgwMCwweDQwLDB4OGIsMHgxMCwweDQ2LDB4YzQsMHgwMSwweDkxLDB4MTEgfSwKLSAgMTYsIDB4ZmI2MCwgMCwgezB4MjQsMHg1OCwweDY4LDB4OTAsMHhjMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4YTgsMHg1MCwweDA5LDB4MTQsMHgwYSwweDA1LDB4OTUgfSwKLSAgMTYsIDB4ZmI3MCwgMCwgezB4YTEsMHgwOCwweGEwLDB4NDIsMHgyOCwweDExLDB4MGEsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MTgsMHhiOSwweDIwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwNiwweDI0LDB4MDksMHhiOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZmI5MCwgMCwgezB4NDAsMHg4YiwweDkxLDB4MDIsMHg4NCwweDAwLDB4OTksMHg2NCwweDI0LDB4NDAsMHg1OCwweDkwLDB4MDIsMHhhNCwweDIwLDB4YmIgfSwKLSAgMTYsIDB4ZmJhMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDksMHhiMCwweDAyLDB4MDUsMHgwMSwweGE5LDB4MDAsMHgyMiwweDQwLDB4ODgsMHg5MiwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ZmJiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDAwLDB4ZjksMHg0MCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZmJjMCwgMCwgezB4NGYsMHg5OCwweDBiLDB4MjQsMHg4MCwweGQ5LDB4MDAsMHgyMiwweDcyLDB4MGIsMHg5OCwweDAzLDB4ZTQsMHg4NCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4ZmJkMCwgMCwgezB4YjYsMHg3MCwweDA4LDB4OTksMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBkLDB4OTQsMHhjMiwweDI1LDB4MDAgfSwKLSAgMTYsIDB4ZmJlMCwgMCwgezB4YTksMHgwMCwweDIyLDB4NDAsMHgwYywweDk0LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJmMCwgMCwgezB4MjgsMHgwMSwweGE2LDB4ODAsMHhmOSwweDA4LDB4M2UsMHhjMCwweDBmLDB4OTEsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZmMwMCwgMCwgezB4NTAsMHgwZiwweDk4LDB4MDMsMHhhNSwweDAwLDB4ZTksMHgwMCwweDNhLDB4NjQsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgzYywweDQwLDB4NmUsMHg5MCwweDAzLDB4ZTQsMHgyMCwweGQ5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDgyLDB4Y2EgfSwKLSAgMTYsIDB4ZmMyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ZmMzMCwgMCwgezB4NGYsMHg4NCwweDBiLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzNiwweDAxLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NDAgfSwKLSAgMTYsIDB4ZmM0MCwgMCwgezB4MzIsMHgxMCwweDJkLDB4ODAsMHgwMywweGUwLDB4NTQsMHhjOCwweDAwLDB4MzYsMHgxMCwweDBmLDB4MDQsMHg4MywweGUwLDB4NTAgfSwKLSAgMTYsIDB4ZmM1MCwgMCwgezB4ZDgsMHgwNCwweDEyLDB4MDAsMHgwYywweDAwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDQyLDB4MmUsMHhhMiwweDhiLDB4ZWEsMHgwMiwweDI4LDB4MDgsMHhiZSwweDg5LDB4MzcgfSwKLSAgMTYsIDB4ZmM3MCwgMCwgezB4ODQsMHg0OCwweGUwLDB4MTIsMHgyOCwweDAyLDB4OGUsMHhjMCwweDIzLDB4YjAsMHg0ZCwweDYwLDB4NjIsMHhmOCwweDAwLDB4ODYgfSwKLSAgMTYsIDB4ZmM4MCwgMCwgezB4MDAsMHgyMywweDgwLDB4MGIsMHhlMCwweDAyLDB4ZjgsMHgwMCwweDBlLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhlNCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4ZmM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YTMsMHgwMCwweDJjLDB4ODAgfSwKLSAgMTYsIDB4ZmNhMCwgMCwgezB4MWIsMHhiMCwweDlhLDB4NGMsMHgxMCwweDliLDB4ODAsMHgyNCwweGMwLDB4MGEsMHgzMCwweDAwLDB4MGMsMHgwNCwweDliLDB4MjAgfSwKLSAgMTYsIDB4ZmNiMCwgMCwgezB4MjAsMHhkNiwweDA4LDB4MzAsMHgwMiwweDhlLDB4MDgsMHhhMywweDA0LDB4MjQsMHhjMCwweDE5LDB4MzQsMHgwMiwweGM3LDB4MDcgfSwKLSAgMTYsIDB4ZmNjMCwgMCwgezB4YWEsMHhhNCwweGEwLDB4YzAsMHg0OCwweDM0LDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNkMCwgMCwgezB4YTAsMHgwMSwweDBlLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDVjLDB4NDAsMHhiMywweDE0LDB4MjUgfSwKLSAgMTYsIDB4ZmNlMCwgMCwgezB4ZTAsMHgwOCwweDdhLDB4MDIsMHg5ZSwweGMwLDB4OTIsMHg0MCwweGEwLDB4MDAsMHg0OSwweDYwLDB4MDIsMHhjZSwweDAyLDB4OGUgfSwKLSAgMTYsIDB4ZmNmMCwgMCwgezB4MDEsMHgyMSwweGMwLDB4OGIsMHg1NCwweDAyLDB4YzQsMHgwOCwweDg2LDB4NDAsMHgyMSwweGM4LDB4ODgsMHgxMCwweDAyLDB4MjggfSwKLSAgMTYsIDB4ZmQwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweGMwLDB4ZTQsMHg4MCwweDNkLDB4ZTIgfSwKLSAgMTYsIDB4ZmQxMCwgMCwgezB4MGYsMHg1OCwweDAzLDB4NWUsMHg5MCwweGI2LDB4YTIsMHgzNSwweGUwLDB4MGUsMHg3YywweDIzLDB4MWMsMHgwMCwweGQ2LDB4ODAgfSwKLSAgMTYsIDB4ZmQyMCwgMCwgezB4MzEsMHhlMCwweDg0LDB4NzgsMHgwMywweGRlLDB4MDAsMHhjNywweDgwLDB4MzUsMHhlMCwweDBmLDB4NjgsMHgwMywweGRlLDB4MDAgfSwKLSAgMTYsIDB4ZmQzMCwgMCwgezB4ZTMsMHg4MCwweDMzLDB4ZTgsMHgyYywweDc4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4OTAsMHhmYSwweDAwLDB4N2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGFjLDB4MDEsMHhmYiwweDAwLDB4M2MgfSwKLSAgMTYsIDB4ZmQ1MCwgMCwgezB4NDEsMHgwZiwweDMwLDB4MGIsMHgyZCwweDA0LDB4ZWIsMHgwMSwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEgfSwKLSAgMTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGU5LDB4NjAsMHgzZSwweGU0LDB4MGYsMHg5MCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZmQ3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDIwLDB4ZmYsMHg5MCwweDNlLDB4MjAgfSwKLSAgMTYsIDB4ZmQ4MCwgMCwgezB4MGMsMHhhOSwweDA3LDB4MmUsMHg0NCwweGM5LDB4OTEsMHgzMCwweGEwLDB4MGMsMHhiOCwweDYzLDB4MmYsMHg0NCwweGNiLDB4YTEgfSwKLSAgMTYsIDB4ZmQ5MCwgMCwgezB4MzYsMHgyMCwweDhjLDB4ZjgsMHgwMywweDM2LDB4MDAsMHhjZiwweDgyLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgyMywweDJlLDB4MDAgfSwKLSAgMTYsIDB4ZmRhMCwgMCwgezB4Y2UsMHhjMCwweDNiLDB4ZTAsMHgwYywweDY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmRiMCwgMCwgezB4YTgsMHgxMSwweDljLDB4ODQsMHhiMywweDU0LDB4MmMsMHhmNCwweDI4LDB4YmEsMHg4YSwweDNlLDB4NDAsMHg4MSwweGEwLDB4MjkgfSwKLSAgMTYsIDB4ZmRjMCwgMCwgezB4YjAsMHgwZiwweDc4LDB4NDIsMHhhZSwweDAwLDB4ODMsMHg5MCwweDMzLDB4ZTgsMHgwZCwweGUxLDB4MDAsMHg4NSwweDQwLDB4ODIgfSwKLSAgMTYsIDB4ZmRkMCwgMCwgezB4MjQsMHgyMywweGM2LDB4MGQsMHg3MSwweDAzLDB4NWUsMHhlMCwweDg3LDB4MDAsMHgyYiwweGMxLDB4MGQsMHg0NCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZmRlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDA4LDB4MzUsMHgxNCwweDZkLDB4YzAgfSwKLSAgMTYsIDB4ZmRmMCwgMCwgezB4ODgsMHg3MiwweDMyLDB4NWMsMHg4MCwweDg0LDB4MzAsMHgyYiwweDg4LDB4MGEsMHg3MCwweDQyLDB4NWMsMHhhOCwweDkxLDB4MDggfSwKLSAgMTYsIDB4ZmUwMCwgMCwgezB4MjUsMHhjOCwweDA5LDB4NzAsMHgwMiwweDRjLDB4MjIsMHg4MywweDBhLDB4NjEsMHhjMCwweDA5LDB4MjAsMHgwMiwweDA0LDB4MDAgfSwKLSAgMTYsIDB4ZmUxMCwgMCwgezB4ODcsMHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmUyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MTAsMHhiMywweDg1LDB4NmMsMHhkYywweDA4LDB4MzQsMHgwMiwweDRkLDB4MjEsMHg4MSwweDAwLDB4MjggfSwKLSAgMTYsIDB4ZmUzMCwgMCwgezB4MDIsMHg0YSwweDMxLDB4MTIsMHhlZiwweDBjLDB4OTEsMHhjMiwweDIwLDB4ZjAsMHgwOCwweDMwLDB4NDIsMHg4ZSwweDAwLDB4ODIgfSwKLSAgMTYsIDB4ZmU0MCwgMCwgezB4NDAsMHgyMCwweGM4LDB4MTksMHgyOCwweDAyLDB4MjIsMHg4MSwweDgzLDB4YzAsMHgyOCwweGQ0LDB4MDksMHgwMCwweDBhLDB4MDggfSwKLSAgMTYsIDB4ZmU1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmIsMHhhMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZmU2MCwgMCwgezB4OGMsMHgwNCwweDEyLDB4N2QsMHgxMCwweGNmLDB4MDIsMHgzYSwweDUwLDB4MDgsMHhjMCwweDQyLDB4N2QsMHg1MiwweDU4LDB4MDEgfSwKLSAgMTYsIDB4ZmU3MCwgMCwgezB4MzYsMHgyMiwweDY5LDB4ZDAsMHgxMywweDJhLDB4MDAsMHg4OCwweDgyLDB4MzIsMHhmMCwweDA5LDB4YjgsMHg4MiwweDJmLDB4MDAgfSwKLSAgMTYsIDB4ZmU4MCwgMCwgezB4YzksMHhjOCwweDIzLDB4YzAsMHgwYywweDhhLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmU5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhiOSwweDQwLDB4M2MsMHg1MCwweDRmLDB4ODAsMHgyMywweGFjLDB4MTIsMHhmYiwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZmVhMCwgMCwgezB4YzAsMHg2ZCwweDgwLDB4MTMsMHhhYywweDAwLDB4ZTgsMHgwNCwweGJhLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhlOCwweDAwLDB4ZjMgfSwKLSAgMTYsIDB4ZmViMCwgMCwgezB4MDgsMHgzYywweDgwLDB4MGYsMHg5MCwweDgzLDB4ZWMsMHgwNCwweGY5LDB4NjAsMHgyYywweGMyLDB4MGYsMHg4MCwweDgzLDB4ZTAgfSwKLSAgMTYsIDB4ZmVjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4ZWMsMHgyYywweDNmLDB4ZjAgfSwKLSAgMTYsIDB4ZmVkMCwgMCwgezB4OGMsMHhmYSwweDhiLDB4YmMsMHgwMCwweGZlLDB4MDAsMHgzZiwweDAwLDB4MGYsMHg3OSwweDAzLDB4M2MsMHgwMCwweGNlLDB4MDggfSwKLSAgMTYsIDB4ZmVlMCwgMCwgezB4MGIsMHhjMiwweDBjLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwLDB4MzMsMHg0MCwweDhjLDB4N2EsMHgwMywweDNhLDB4MDAgfSwKLSAgMTYsIDB4ZmVmMCwgMCwgezB4YzUsMHgwMCwweDMzLDB4YzAsMHg0YywweGM4LDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmYwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4OCwweGMwLDB4MmUsMHhlMCwweDA4LDB4OTQsMHgwMiwweDJjLDB4MDAsMHhiYiwweDgwLDB4NjYgfSwKLSAgMTYsIDB4ZmYxMCwgMCwgezB4MzAsMHgxNiwweGIwLDB4MDIsMHgyYywweDAwLDB4ZGEsMHg0YywweDIyLDB4ZjAsMHgwOCwweGYwLDB4MDMsMHhlYywweDAwLDB4ZWIgfSwKLSAgMTYsIDB4ZmYyMCwgMCwgezB4YzAsMHgyMiwweDY4LDB4MDAsMHg5NCwweDAyLDB4MmMsMHgwMiwweGE5LDB4ODAsMHgyMiwweGMwLDB4MDgsMHgwYywweDAyLDB4YTAgfSwKLSAgMTYsIDB4ZmYzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YWIsMHgwNCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4ZmY0MCwgMCwgezB4MDgsMHhhNCwweDA2LDB4MmMsMHgwNCwweGFiLDB4MTAsMHgyZSwweDYwLDB4NDMsMHg4MCwweDgyLDB4NmMsMHgwMSwweDgxLDB4ODAgfSwKLSAgMTYsIDB4ZmY1MCwgMCwgezB4MjgsMHgwYSwweDA4LDB4OTEsMHgwMCwweGUwLDB4MDAsMHhiOCwweDgwLDB4MDIsMHhlMCwweDA4LDB4ODAsMHgwMiwweDJkLDB4ODAgfSwKLSAgMTYsIDB4ZmY2MCwgMCwgezB4ODgsMHhjMCwweDIyLDB4YzAsMHgwOCwweDgyLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmY3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MCwweDQ0LDB4MmMsMHhjOCwweDI4LDB4YTAsMHgyMiwweDBjLDB4MDQsMHhiMywweDI2LDB4MmMgfSwKLSAgMTYsIDB4ZmY4MCwgMCwgezB4YzgsMHg4OCwweDAxLDB4MDYsMHgwYywweGUwLDB4OTEsMHgyMCwweDIwLDB4MGMsMHgzOCwweDA0LDB4MjIsMHhjMCwweDQ4LDB4YTMgfSwKLSAgMTYsIDB4ZmY5MCwgMCwgezB4NDIsMHhhMCwweDgxLDB4MDgsMHgwMCwweDAyLDB4MGMsMHg4MCwweDgxLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgwMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4ZmZhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4YTksMHg0MCwweDNlLDB4NDQgfSwKLSAgMTYsIDB4ZmZiMCwgMCwgezB4MDgsMHhiMSwweDAzLDB4MmMsMHg0MCwweGVhLDB4NDksMHgyZSwweDBkLDB4MGIsMHhiNiwweDEzLDB4N2QsMHg4MCwweGM5LDB4NDAgfSwKLSAgMTYsIDB4ZmZjMCwgMCwgezB4YmEsMHhkMCwweDBjLDB4YjQsMHgwMywweGFjLDB4MDAsMHhmOCwweDAwLDB4MzIsMHg0MCwweDBjLDB4ODAsMHgwYiwweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZmZkMCwgMCwgezB4YzUsMHgwMCwweGIyLDB4YzAsMHgwYywweDgwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmZlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmYywweDAwLDB4M2QsMHhjNSwweDBiLDB4ZjEsMHgwMCwweGZjLDB4ZDAsMHg3NywweDI5LDB4MzcgfSwKLSAgMTYsIDB4ZmZmMCwgMCwgezB4MGMsMHg4ZSwweDc0LDB4MDMsMHhmYywweDA4LDB4ZmQsMHg2OSwweDNmLDB4ZDgsMHgwZiwweGYwLDB4MDMsMHhiYywweDAwLDB4ZWYgfSwKLSAgMTYsIDB4ODAxMCwgMCwgezB4MDAsMHgzZiwweDQwLDB4MDcsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ODAyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhmYywweGMwLDB4ZGMsMHg4MCwweDNmLDB4YzggfSwKLSAgMTYsIDB4ODAzMCwgMCwgezB4MGYsMHg0OCwweDAzLDB4N2MsMHgyMCwweGZmLDB4NjgsMHgzNywweGUwLDB4MGUsMHhmMSwweDAzLDB4OWMsMHgwMCwweGJmLDB4MjAgfSwKLSAgMTYsIDB4ODA0MCwgMCwgezB4MzcsMHhlMCwweDBjLDB4YzgsMHgxMywweDNjLDB4NDAsMHhlZCwweDYwLDB4YmIsMHhlNCwweDJjLDB4NDMsMHg0YiwweDcwLDB4YTAgfSwKLSAgMTYsIDB4ODA1MCwgMCwgezB4Y2MsMHgyYywweDNmLDB4MDksMHgwZiwweGQ4LDB4NDMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA2MCwgMCwgezB4ODAsMHgwMCwweGVkLDB4YzAsMHhiOCwweDgwLDB4MmYsMHhmNCwweDBmLDB4OTgsMHgwMiwweDNmLDB4MDAsMHhiZiwweDQyLDB4MjIgfSwKLSAgMTYsIDB4ODA3MCwgMCwgezB4Y2EsMHgwOCwweGY0LDB4MDIsMHgzZSwweDAwLDB4YmYsMHhkMCwweDIyLDB4NjAsMHgyOCwweDg4LDB4MGEsMHgzZCwweDgwLDB4OGQgfSwKLSAgMTYsIDB4ODA4MCwgMCwgezB4NDAsMHgyMiwweGM4LDB4MDgsMHg4MSwweDAyLDB4MjEsMHg4MCwweGRiLDB4YzAsMHgyZSwweGE1LDB4MGIsMHg5OCwweDQyLDB4MjAgfSwKLSAgMTYsIDB4ODA5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDEwLDB4YjAsMHgwMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ODBhMCwgMCwgezB4MGIsMHgyMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MjAsMHgyNiwweGMwLDB4OGEsMHgzNiwweDEyLDB4OGMsMHg0MSwweGIzLDB4MDAgfSwKLSAgMTYsIDB4ODBiMCwgMCwgezB4MmUsMHg0MCwweDA4LDB4MDAsMHgwMiwweDBkLDB4ODEsMHhhMSwweDMwLDB4MjIsMHhjOCwweDg5LDB4YTIsMHg0MiwweDA4LDB4MjAgfSwKLSAgMTYsIDB4ODBjMCwgMCwgezB4YjAsMHgwMCwweDJjLDB4NDAsMHgwYiwweDkwLDB4MjYsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHhiOCwweDUwLDB4MmUsMHhjMCwweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ODBlMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4NjIsMHgyYywweDEwLDB4YmIsMHgwNCwweDJhLDB4ZjAsMHg0YSwweDg4LDB4MDIsMHgwYywweDAwLDB4ODEgfSwKLSAgMTYsIDB4ODBmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDksMHhiOCwweDgwLDB4MjYsMHgwMCwweGI4LDB4ODAsMHgyZSwweDIxLDB4MGIsMHg5MCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4ODEwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTUsMHhlYywweDAwLDB4ZDgsMHhjMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ODExMCwgMCwgezB4MGIsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzNiwweDgwLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ODEyMCwgMCwgezB4M2MsMHhlMCwweDBjLDB4MGMsMHgwMywweDJjLDB4MDAsMHhlOSwweDAwLDB4MTAsMHhjMCwweDBjLDB4OGMsMHgwMywweDA2LDB4MDAgfSwKLSAgMTYsIDB4ODEzMCwgMCwgezB4ZjgsMHhjZCwweDNlLDB4MjIsMHgwZiwweDE4LDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmNywweDAyLDB4M2YgfSwKLSAgMTYsIDB4ODE1MCwgMCwgezB4ZTQsMHgwZiwweDcwLDB4MDMsMHg3YywweDA0LDB4YjcsMHgwMCwweDM3LDB4NDAsMHgwZCwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQgfSwKLSAgMTYsIDB4ODE2MCwgMCwgezB4MDAsMHgzNywweGQwLDB4MGUsMHhjMCwweDQzLDB4ZjQsMHgwMCwweGRmLDB4MDAsMHgzZiwweDgwLDB4OGYsMHhkYSwweDAzLDB4ZjggfSwKLSAgMTYsIDB4ODE3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjgsMHgxMCwweDNhLDB4YzAgfSwKLSAgMTYsIDB4ODE4MCwgMCwgezB4NmQsMHhhNiwweDEzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzYSwweGQwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHgxMCwweGRiLDB4MTAgfSwKLSAgMTYsIDB4ODE5MCwgMCwgezB4MzYsMHhkOCwweDBkLDB4ODQsMHgwMywweGVjLDB4MDYsMHhjOSwweDA4LDB4M2EsMHhjMCwweDBlLDB4ODYsMHgwMywweGE4LDB4NjAgfSwKLSAgMTYsIDB4ODFhMCwgMCwgezB4ZjgsMHgyMCwweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHg1NCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFiMCwgMCwgezB4OTgsMHgwNSwweDNjLDB4MDAsMHhiYiwweDQwLDB4MjMsMHhkMCwweDA4LDB4MzAsMHgwMiwweDNlLDB4MTAsMHhhZiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ODFjMCwgMCwgezB4YzAsMHgwYiwweGYwLDB4MDIsMHgzYywweDAwLDB4OGYsMHg1MCwweDJlLDB4YzgsMHgwNiwweDhhLDB4MDIsMHhmYywweDAwLDB4OGQgfSwKLSAgMTYsIDB4ODFkMCwgMCwgezB4MjQsMHg4MiwweGQ2LDB4MDgsMHgzMiwweDAyLDB4MmQsMHgwOCwweDNhLDB4NDAsMHgyMiwweDgwLDB4MGQsMHg5MCwweDAzLDB4NjIgfSwKLSAgMTYsIDB4ODFlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg0YywweDAwLDB4YjAsMHgyMCwweDI4LDB4YzIgfSwKLSAgMTYsIDB4ODFmMCwgMCwgezB4MDgsMHgwNCwweDAyLDB4OGMsMHgwMCwweDEzLDB4MDIsMHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgzMCwweDkzLDB4ODAgfSwKLSAgMTYsIDB4ODIwMCwgMCwgezB4MjQsMHhkMCwweDA5LDB4MjAsMHgwMiwweGNjLDB4MDAsMHg5MSwweDQwLDB4MDgsMHhjMCwweDJhLDB4MTQsMHgwMiwweDgxLDB4MDAgfSwKLSAgMTYsIDB4ODIxMCwgMCwgezB4OTAsMHgwMCwweDY4LDB4MDAsMHgwOCwweDE4LDB4MDIsMHgzYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODIyMCwgMCwgezB4NzAsMHgwMSwweDFlLDB4MDAsMHhiNCwweGEwLDB4MjEsMHhlMCwweDA4LDB4YzgsMHgxMiwweDllLDB4MDAsMHhiMywweDgyLDB4MjEgfSwKLSAgMTYsIDB4ODIzMCwgMCwgezB4ZTAsMHgwYiwweDdhLDB4MGEsMHgxZSwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZTEsMHgwYSwweDQ4LDB4MDIsMHhjZSwweDQwLDB4OTUgfSwKLSAgMTYsIDB4ODI0MCwgMCwgezB4OTAsMHgyOSwweGU0LDB4MDgsMHg1OCwweDAyLDB4OWEsMHgwMCwweGI3LDB4ODgsMHgyMSwweGUwLDB4MDksMHg1OCwweDAyLDB4NWMgfSwKLSAgMTYsIDB4ODI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDRhLDB4MDAsMHgwYywweDAwLDB4ZjAsMHg4MCwweDM4LDB4YzQgfSwKLSAgMTYsIDB4ODI2MCwgMCwgezB4MGMsMHgyNSwweDAzLDB4OGMsMHgyMCwweDkzLDB4MDAsMHgzOCwweGM0LDB4MGYsMHhiMCwweDAzLDB4MGMsMHg4MCwweGQzLDB4MDAgfSwKLSAgMTYsIDB4ODI3MCwgMCwgezB4MzQsMHhjMCwweDBkLDB4MDQsMHgxMywweGNjLDB4MDgsMHg5OSwweDAwLDB4MmEsMHhjMCwweDBlLDB4MjEsMHgwMywweDg4LDB4MDQgfSwKLSAgMTYsIDB4ODI4MCwgMCwgezB4ZjMsMHgwMCwweDM4LDB4YzAsMHgwYywweDExLDB4ODMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODI5MCwgMCwgezB4NDIsMHgxNSwweGJjLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMywweDBlLDB4YzAsMHgwMywweDFjLDB4MDAsMHhhZiwweDRhLDB4N2YgfSwKLSAgMTYsIDB4ODJhMCwgMCwgezB4YzQsMHgwZiwweGIyLDB4MDMsMHhmZCwweDAxLDB4ZWYsMHgxMCwweDNmLDB4ODQsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZTkgfSwKLSAgMTYsIDB4ODJiMCwgMCwgezB4MDAsMHgzNywweGMyLDB4MGUsMHhmMSwweDQ3LDB4N2MsMHgwMCwweGY3LDB4MDAsMHgzZCwweGMwLDB4MGYsMHg1MCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ODJjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MTUsMHhlYywweDA4LDB4ZjgsMHgwMCwweDNlLDB4Y2EgfSwKLSAgMTYsIDB4ODJkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWYsMHgyMSwweGZiLDB4ODAsMHg3YSwweDQwLDB4OGYsMHhiMiwweGExLDB4MmYsMHgwMCwweGNiLDB4NjAgfSwKLSAgMTYsIDB4ODJlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVkLDB4YTAsMHhlOSwweDMwLDB4MzIsMHhjMCwweDJkLDB4YjAsMHgwMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4ODJmMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODMwMCwgMCwgezB4YzgsMHg5MSwweDlkLDB4MDAsMHhiNCwweDAxLDB4MmQsMHhjOCwweDBiLDB4NzAsMHgwMiwweGNjLDB4ODAsMHg4ZiwweDIwLDB4MjEgfSwKLSAgMTYsIDB4ODMxMCwgMCwgezB4YzAsMHg4YiwweDc2LDB4MDMsMHg1ZCwweDAwLDB4ODcsMHgwYSwweDJkLDB4YzAsMHgwYiwweDQwLDB4MjIsMHhmZCwweDAwLDB4OGQgfSwKLSAgMTYsIDB4ODMyMCwgMCwgezB4MTAsMHgyMywweGM4LDB4MDgsMHg1MCwweDEyLDB4ZDQsMHgwMCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ODMzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg5ZSwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4ODM0MCwgMCwgezB4MGIsMHg3YywweDAyLDB4ZGUsMHg0MCwweGE3LDB4ODIsMHgyZCwweGUwLDB4MGIsMHgzYSwweDAyLDB4OGUsMHgwMCwweDg3LDB4OTAgfSwKLSAgMTYsIDB4ODM1MCwgMCwgezB4MmQsMHhlMCwweDBiLDB4NTgsMHgwMiwweDVlLDB4MDAsMHhhNSwweGEyLDB4NjUsMHhlMCwweDA4LDB4NjgsMHg4MiwweGRhLDB4MDAgfSwKLSAgMTYsIDB4ODM2MCwgMCwgezB4OTUsMHg4MCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODM3MCwgMCwgezB4MDgsMHg4NCwweGNjLDB4MDAsMHhiMCwweDA5LDB4MmMsMHhjMCwweDBiLDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwLDB4MmUgfSwKLSAgMTYsIDB4ODM4MCwgMCwgezB4YzAsMHgwYiwweDMwLDB4NDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YTAsMHgwYiwweDA0LDB4MDIsMHhjYywweDAwLDB4ODEgfSwKLSAgMTYsIDB4ODM5MCwgMCwgezB4MDAsMHhhMCwweGMwLDB4MDgsMHhiMCwweDA2LDB4Y2YsMHg4MCwweGIzLDB4MTAsMHgyYywweGM0LDB4MGIsMHgzMSwweDAyLDB4YzMgfSwKLSAgMTYsIDB4ODNhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4ZmUsMHg4MCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4ODNiMCwgMCwgezB4MGYsMHhlOCwweDEzLDB4ZTgsMHgwMCwweGVhLDB4MDAsMHgzZiwweGIwLDB4MGYsMHhhMCwweDAzLDB4YTgsMHgwMiwweGMyLDB4MDAgfSwKLSAgMTYsIDB4ODNjMCwgMCwgezB4MmYsMHg4OCwweDBmLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhlYSwweDAwLDB4MzYsMHgwMCwweDBjLDB4ZTAsMHgwMywweGY5LDB4MjAgfSwKLSAgMTYsIDB4ODNkMCwgMCwgezB4ZGUsMHg4MCwweDNmLDB4YTAsMHg0ZiwweGE4LDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODNlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDEwLDB4M2MsMHgxMCwweDBmLDB4ODAsMHg4MywweGUxLDB4MDAsMHhlOCwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ODNmMCwgMCwgezB4MDYsMHgwZiwweDAwLDB4MTMsMHhlMCwweDAxLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ODQwMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDIzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ODQxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNlLDB4NDQgfSwKLSAgMTYsIDB4ODQyMCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDEyLDB4MjQsMHgwMCwweGY5LDB4MTAgfSwKLSAgMTYsIDB4ODQzMCwgMCwgezB4MzIsMHg0MCwweDhmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHgxMCwweDBjLDB4OWMsMHgwMSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4ODQ0MCwgMCwgezB4ZjksMHgxMCwweDNlLDB4NzAsMHgwZiwweDkwLDB4MDIsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQ1MCwgMCwgezB4ODAsMHgxNCwweDY0LDB4MDAsMHhiOSwweGMwLDB4MmUsMHg0OCwweDA4LDB4OTEsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ODQ2MCwgMCwgezB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NywweDAwLDB4YjksMHg4MCwweDJhLDB4NjAsMHgwYiwweDk5LDB4MDIsMHhlNCwweDAwLDB4ODEgfSwKLSAgMTYsIDB4ODQ3MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MmMsMHg5MCwweDEyLDB4MjUsMHgyMCwweGI5LDB4NDgsMHgyZSwweDUyLDB4MGIsMHg5NCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ODQ4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ODQ5MCwgMCwgezB4NjgsMHg5MCwweDQ2LDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweGMwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHg2MCwweGI5LDB4MDAgfSwKLSAgMTYsIDB4ODRhMCwgMCwgezB4MjIsMHg0OCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDIsMHg4OSwweDAwLDB4YTAsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE2LDB4MTAgfSwKLSAgMTYsIDB4ODRiMCwgMCwgezB4YjksMHgwMCwweDBlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODRjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDAwLDB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweGM0LDB4ODQsMHhiMSwweDIwLDB4MmMgfSwKLSAgMTYsIDB4ODRkMCwgMCwgezB4NDAsMHgwOSwweDEyLDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjNCwweDgwLDB4ODkgfSwKLSAgMTYsIDB4ODRlMCwgMCwgezB4MjAsMHgyMCwweDQwLDB4NGIsMHgxMiwweDBhLDB4ODQsMHg4NCwweGIxLDB4MjAsMHgyYywweDQ4LDB4OGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ODRmMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YmEsMHgwMCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4ODUwMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4ZTgsMHgwOCwweGY4LDB4NTAsMHgzZSwweDE0LDB4MGMsMHg4NSwweDAzLDB4MjAsMHgwMCwweGI4LDB4MDAgfSwKLSAgMTYsIDB4ODUxMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4YTAsMHgwMywweGUxLDB4NDAsMHhjOCwweDUwLDB4MzIsMHgxNCwweDBjLDB4YTUsMHgwMywweGExLDB4NDAgfSwKLSAgMTYsIDB4ODUyMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODUzMCwgMCwgezB4ODgsMHgwZCwweGU0LDB4NDAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhiOSwweDExLDB4M2YgfSwKLSAgMTYsIDB4ODU0MCwgMCwgezB4NDAsMHgwZiwweDkxLDB4MDMsMHg2NCwweDQ0LDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZmQgfSwKLSAgMTYsIDB4ODU1MCwgMCwgezB4MTAsMHgzZiwweDEwLDB4OGMsMHhkMSwweDAzLDB4NzQsMHg0MCwweGZmLDB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ODU2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHg2NiwweDIwLDB4ZWQsMHgwMCwweDMzLDB4NjkgfSwKLSAgMTYsIDB4ODU3MCwgMCwgezB4NGQsMHg1MCwweDQzLDB4NTYsMHgwMCwweGY5LDB4YTAsMHgzNCwweDQwLDB4MGYsMHg5YSwweDBiLDB4MzQsMHgwMCwweGRkLDB4ODAgfSwKLSAgMTYsIDB4ODU4MCwgMCwgezB4M2IsMHg0MCwweDBiLDB4NTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHhlMCwweDBlLDB4ZDAsMHgwMywweGY0LDB4MDAgfSwKLSAgMTYsIDB4ODU5MCwgMCwgezB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwYywweGQwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODVhMCwgMCwgezB4NzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweDA0LDB4MjIsMHgxMCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDksMHhiOCwweGYwLDB4MjIgfSwKLSAgMTYsIDB4ODViMCwgMCwgezB4MDAsMHgwYiwweDhlLDB4MTIsMHhhMCwweDAwLDB4YjgsMHg1MiwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhlMCwweDA1LDB4YjggfSwKLSAgMTYsIDB4ODVjMCwgMCwgezB4YWEsMHgyMywweDNlLDB4MGQsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgzYSwweDAwLDB4MDgsMHg4MCwweDAyLDB4Y2UgfSwKLSAgMTYsIDB4ODVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDIwLDB4YTksMHgwMCwweGE0LDB4NDQgfSwKLSAgMTYsIDB4ODVlMCwgMCwgezB4MDksMHg5MCwweDAyLDB4YzUsMHgwMCwweGExLDB4MDgsMHgyYywweDQwLDB4MGIsMHgxMSwweDgyLDB4MDQsMHgwMCwweGIxLDB4MDAgfSwKLSAgMTYsIDB4ODVmMCwgMCwgezB4MjgsMHg0MCwweDBhLDB4MTAsMHg0MiwweGM0LDB4MDAsMHhiNSwweDAwLDB4YTEsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM0LDB4MDAgfSwKLSAgMTYsIDB4ODYwMCwgMCwgezB4YjEsMHgwMSwweDJjLDB4NDAsMHgwOCwweDEwLDB4MjAsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODYxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMCwweGFjLDB4MDAsMHgzOSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODYyMCwgMCwgezB4NDAsMHgwYiwweDEwLDB4MDIsMHhhNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDgsMHgwYiwweDkwLDB4MTIsMHhlNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ODYzMCwgMCwgezB4MDAsMHgyMSwweDYwLDB4MDksMHg5MiwweDIyLDB4ZTQsMHgyOCwweGI5LDB4MDAsMHgwYSwweDUwLDB4MDgsMHg5MCwweDA2LDB4YzYgfSwKLSAgMTYsIDB4ODY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZTksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4ODY1MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQ4LDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4ODY2MCwgMCwgezB4M2EsMHg3OCwweDBlLDB4OTgsMHgwMywweGU0LDB4MDAsMHhiOSwweDAwLDB4YjIsMHg0MCwweDBlLDB4OTIsMHgyMywweGU2LDB4MDAgfSwKLSAgMTYsIDB4ODY3MCwgMCwgezB4YjksMHg1MCwweDNlLDB4NzAsMHgyYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODY4MCwgMCwgezB4NjgsMHgwMSwweDg0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4OWMsMHgyMywweDY0LDB4MDAsMHhmOSwweDA0LDB4MzYgfSwKLSAgMTYsIDB4ODY5MCwgMCwgezB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ODZhMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDgzLDB4ZTQsMHg0NCwweGY5LDB4MDAsMHg3OCwweDY0LDB4MGYsMHg5MCwweDAzLDB4ZGEgfSwKLSAgMTYsIDB4ODZiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ODZjMCwgMCwgezB4MGYsMHg4MiwweDAzLDB4YTAsMHg0MCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4MjAsMHhjMCwweGM4LDB4ODAgfSwKLSAgMTYsIDB4ODZkMCwgMCwgezB4M2UsMHgxMiwweDBmLDB4ODAsMHgwMywweDYwLDB4MDAsMHg3YywweDAwLDB4MzMsMHgwMCwweDBkLDB4ODAsMHgxMywweGUwLDB4MTAgfSwKLSAgMTYsIDB4ODZlMCwgMCwgezB4YzgsMHg2NCwweDNlLDB4MDgsMHgwYywweDgyLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODZmMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiNiwweGUwLDB4MGYsMHhhMCwweDBiLDB4NjAsMHg4MiwweDM4LDB4MDAsMHhhYSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ODcwMCwgMCwgezB4ODAsMHgwOCwweGEwLDB4NDIsMHhiYSwweDAwLDB4YWUsMHgyMCwweDJmLDB4ODgsMHgwYiwweGU1LDB4MDIsMHgyOCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ODcxMCwgMCwgezB4ZDgsMHgzNywweDgwLDB4MDgsMHhlYywweDAyLDB4ZjgsMHgwNCwweDhlLDB4MDAsMHgyZiwweDkwLDB4MGQsMHhlMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ODcyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjAsMHgyNCwweDJjLDB4NjAgfSwKLSAgMTYsIDB4ODczMCwgMCwgezB4MGIsMHgzOCwweDAyLDB4OGUsMHg4MCwweGFiLDB4MDAsMHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4MGQsMHgwOCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4ODc0MCwgMCwgezB4NmMsMHhkMCwweDBiLDB4MzQsMHgwMiwweGNjLDB4MDAsMHhiOCwweGMwLDB4MjAsMHgwMCwweDQ4LDB4MzQsMHgxMiwweGNjLDB4NDAgfSwKLSAgMTYsIDB4ODc1MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4ZTAsMHgwYSwweDM1LDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODc2MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHhiNywweDAwLDB4MmQsMHgwMiwweDhiLDB4NjAsMHgwMiwweDllLDB4MDAsMHg4NywweDIwLDB4MmYgfSwKLSAgMTYsIDB4ODc3MCwgMCwgezB4ZTAsMHgwOCwweDcyLDB4MDIsMHg5ZSwweDAwLDB4YTQsMHgwMCwweDJkLDB4YzAsMHgwYiwweGY4LDB4MDIsMHg5YywweGMwLDB4YjMgfSwKLSAgMTYsIDB4ODc4MCwgMCwgezB4MDIsMHhhNSwweGMwLDB4MDgsMHg1MCwweDg2LDB4ZmUsMHgwMCwweDg3LDB4MDAsMHgyZiwweGQwLDB4MDksMHg3MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4ODc5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZjQsMHg4MCwweDNkLDB4MjAgfSwKLSAgMTYsIDB4ODdhMCwgMCwgezB4MGYsMHg1OCwweDAzLDB4OWUsMHgwMCwweDY3LDB4ODAsMHgzZCwweGY4LDB4MGQsMHgzOCwweDAyLDB4MWEsMHgxMCwweDQ0LDB4ODAgfSwKLSAgMTYsIDB4ODdiMCwgMCwgezB4M2QsMHhlMCwweDBmLDB4NTgsMHgwMywweGRlLDB4MjAsMHhiNCwweDgwLDB4MzMsMHhhMCwweDJjLDB4NjgsMHgwMywweGQ2LDB4MDAgfSwKLSAgMTYsIDB4ODdjMCwgMCwgezB4YzcsMHg4MSwweDNkLDB4ZTAsMHgwYywweDc4LDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODdkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDgsMHhmOCwweDAwLDB4M2UsMHgwMCwweDhmLDB4ODAsMHgwMywweDZjLDB4MDAsMHgzYiwweDEyLDB4M2UgfSwKLSAgMTYsIDB4ODdlMCwgMCwgezB4Y2EsMHgwZiwweGI1LDB4MDMsMHhjOCwweDAwLDB4ZjgsMHgwNCwweDdlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHg2YywweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ODdmMCwgMCwgezB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4YzgsMHgwMCwweGY5LDB4MDEsMHgzYywweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ODgwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4YWMsMHg5MCwweDMxLDB4NDggfSwKLSAgMTYsIDB4ODgxMCwgMCwgezB4MDgsMHhmOCwweDAzLDB4ZmEsMHgwMCwweGNmLDB4ODAsMHgzZiwweGUwLDB4MGMsMHhmYywweDEzLDB4M2UsMHgwNCwweGZjLDB4ODAgfSwKLSAgMTYsIDB4ODgyMCwgMCwgezB4MzUsMHhhMCwweDBjLDB4NzgsMHgwMywweGJlLDB4MDAsMHhkZiwweDgwLDB4M2IsMHgyMCwweDI0LDB4ZjgsMHgwMywweDJlLDB4NDAgfSwKLSAgMTYsIDB4ODgzMCwgMCwgezB4Y2YsMHg4MCwweDMzLDB4ZTAsMHgwMywweGY5LDB4MDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODg0MCwgMCwgezB4YTgsMHgxMSwweGJjLDB4MDAsMHg4MCwweDAwLDB4MDEsMHgwMCwweDA4LDB4NzIsMHgwMiwweGQwLDB4MDAsMHg4NywweDAwLDB4MmQgfSwKLSAgMTYsIDB4ODg1MCwgMCwgezB4YzgsMHgwYSwweGYwLDB4MDIsMHg5OCwweDQwLDB4ZjUsMHgwMCwweDYxLDB4NDEsMHgwMCwweDc0LDB4MDIsMHgxYywweDAwLDB4YjQgfSwKLSAgMTYsIDB4ODg2MCwgMCwgezB4MDAsMHgyMSwweGM4LDB4MDgsMHg2MCwweDAyLDB4M2UsMHgyMCwweDg2LDB4MDgsMHgyMSwweGQ4LDB4MGYsMHg1MCwweDAyLDB4ZWEgfSwKLSAgMTYsIDB4ODg3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHg5YywweDAwLDB4YTQsMHgwMCwweDIxLDB4MDAgfSwKLSAgMTYsIDB4ODg4MCwgMCwgezB4MDgsMHg1MCwweDAyLDB4ZDgsMHgwMCwweDk3LDB4MDAsMHgyZCwweGMwLDB4ODgsMHg3MSwweDAyLDB4MTQsMHgwMCwweGIwLDB4MDAgfSwKLSAgMTYsIDB4ODg5MCwgMCwgezB4MjUsMHg5MCwweDA4LDB4YzAsMHg4MiwweDljLDB4NDAsMHg5MywweDAwLDB4MjksMHhhMSwweDg4LDB4NjAsMHgwMiwweDE0LDB4MTIgfSwKLSAgMTYsIDB4ODhhMCwgMCwgezB4ODcsMHg0MCwweDI5LDB4NDAsMHgwYiwweDYwLDB4MDIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODhiMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHg4MCwweGQwLDB4YTAsMHgwMCwweDA4LDB4MWMsMHgwMiwweGMwLDB4MDAsMHg5MywweDAwLDB4MmMgfSwKLSAgMTYsIDB4ODhjMCwgMCwgezB4ZDAsMHgwYSwweGIwLDB4MjYsMHg4MCwweDAwLDB4YjMsMHgwMCwweDI0LDB4ZTQsMHgwOCwweDA4LDB4MDIsMHg4YywweDAwLDB4YjAgfSwKLSAgMTYsIDB4ODhkMCwgMCwgezB4MDIsMHgwMiwweDQxLDB4MDgsMHgwOCwweDAyLDB4MDMsMHgwMSwweDgxLDB4MDAsMHgyOCwweDQyLDB4MWEsMHgwMCwweDQyLDB4ZDggfSwKLSAgMTYsIDB4ODhlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhiYywweDAwLDB4ZTgsMHhjMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4ODhmMCwgMCwgezB4MGMsMHhiNSwweDAzLDB4ZTQsMHgwMCwweDlmLDB4MDAsMHgzZCwweGUwLDB4MGMsMHhmMCwweDBiLDB4MjQsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ODkwMCwgMCwgezB4MzYsMHhlMCwweDBjLDB4MjUsMHgwMywweGJjLDB4MDUsMHhkOCwweDAyLDB4MmEsMHgwMCwweDA4LDB4YmEsMHgwMiwweDJhLDB4MDAgfSwKLSAgMTYsIDB4ODkxMCwgMCwgezB4YzEsMHgwMiwweDNhLDB4NTAsMHg4YiwweDkwLDB4MDMsMHhlZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODkyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA4LDB4M2UsMHg4MCwweDBmLDB4YTEsMHgwMywweGVjLDB4MDQsMHhlYiwweDAyLDB4MmUgfSwKLSAgMTYsIDB4ODkzMCwgMCwgezB4YzYsMHgwZiwweGIwLDB4MTcsMHg0NCwweDAwLDB4ZTgsMHgwMCwweDNhLDB4NDAsMHgwZiwweDgwLDB4MDIsMHg2YywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ODk0MCwgMCwgezB4MDAsMHgzZSwweGUwLDB4MGYsMHg5MCwweDkzLDB4ZTEsMHgwMCwweGQ5LDB4MDAsMHgyNiwweDcwLDB4OGYsMHg5MCwweDAxLDB4ZTEgfSwKLSAgMTYsIDB4ODk1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhmYywweDAwLDB4ZmMsMHgwMywweDM3LDB4MjQgfSwKLSAgMTYsIDB4ODk2MCwgMCwgezB4MGQsMHhmOCwweDAzLDB4ZTAsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMxLDB4OGQsMHhmMCwweDBiLDB4MzgsMHgwMCwweGNjLDB4MDAgfSwKLSAgMTYsIDB4ODk3MCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZmEsMHgwMywweDNjLDB4MGMsMHhmYywweDA0LDB4M2IsMHg4MCwweDBjLDB4YTAsMHgwMywweDk0LDB4MjAgfSwKLSAgMTYsIDB4ODk4MCwgMCwgezB4ODksMHgwNSwweDNiLDB4MDAsMHg0ZiwweGQwLDB4MjMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODk5MCwgMCwgezB4ODAsMHgwNCwweDZjLDB4MDAsMHhiMCwweDA2LDB4MjAsMHgxMywweDg4LDB4YTgsMHgwMiwweGViLDB4MDAsMHhiYiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ODlhMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYSwweDAwLDB4YTgsMHg4MCwweDJlLDB4ZTAsMHgwYiwweDk0LDB4MWEsMHgyYywweDAwLDB4YmIgfSwKLSAgMTYsIDB4ODliMCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MjksMHg5OCwweDAyLDB4ZTIsMHgwMCwweGE5LDB4ODQsMHgyMiwweDIwLDB4MGIsMHg5OCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ODljMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjgsMHgwMCwweDIyLDB4MDAgfSwKLSAgMTYsIDB4ODlkMCwgMCwgezB4MDksMHg4MiwweDAyLDB4ZTYsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMCwweDg4LDB4ODAgfSwKLSAgMTYsIDB4ODllMCwgMCwgezB4MmUsMHhhMCwweDBiLDB4YTAsMHgwMiwweDJjLDB4MDAsMHhiMywweDAwLDB4MmEsMHgwMCwweDA5LDB4OTgsMHgwMiwweGVhLDB4MjAgfSwKLSAgMTYsIDB4ODlmMCwgMCwgezB4YTksMHg4MCwweDJhLDB4NjAsMHg5YiwweDk4LDB4ODIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGEwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiOCwweDAwLDB4MjAsMHgwMCwweDA5LDB4MDgsMHgwMiwweGM0LDB4MDAsMHhiMywweDAwLDB4MjYgfSwKLSAgMTYsIDB4OGExMCwgMCwgezB4YzAsMHgwMCwweDMwLDB4MDIsMHgwMCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDAwLDB4MDIsMHgwYywweDAwLDB4YjAgfSwKLSAgMTYsIDB4OGEyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGIsMHgwMCwweDAyLDB4YzgsMHg4MCwweGE4LDB4MDAsMHgyMCwweDQxLDB4MGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4OGEzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDEwLDB4ZjgsMHg1MCwweGIyLDB4MDAgfSwKLSAgMTYsIDB4OGE0MCwgMCwgezB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGZiLDB4MDAsMHgzZCwweGMwLDB4MGQsMHhmMCwweDEzLDB4MjQsMHgwMiwweGM4LDB4MDYgfSwKLSAgMTYsIDB4OGE1MCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDNjLDB4MDQsMHhmYiwweDAwLDB4NzgsMHg4MCwweDBjLDB4YTAsMHgwMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4OGE2MCwgMCwgezB4ZTksMHgwMCwweDFhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGE3MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmNCwweDIwLDB4M2YsMHgwMCwweDBlLDB4YzAsMHgwMiwweGYwLDB4MDEsMHhmZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4OGE4MCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MjMsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmMgfSwKLSAgMTYsIDB4OGE5MCwgMCwgezB4MDAsMHgzZiwweDQwLDB4OWMsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZTggfSwKLSAgMTYsIDB4OGFhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMCwweDAwLDB4ZWQsMHgyMywweGI3LDB4NDggfSwKLSAgMTYsIDB4OGFiMCwgMCwgezB4MGMsMHhlMSwweGMzLDB4N2MsMHhjMCwweGRkLDB4ODAsMHgzNywweGUwLDB4MGYsMHhjYiwweDAzLDB4ZmUsMHgwOCwweGZjLDB4MjggfSwKLSAgMTYsIDB4OGFjMCwgMCwgezB4M2YsMHhmMCwweDFjLDB4ZmIsMHgyMywweDdjLDB4MDEsMHhmZiwweDE0LDB4NzcsMHhlMiwweDRmLDB4ZTgsMHgyMywweDdjLDB4MDAgfSwKLSAgMTYsIDB4OGFkMCwgMCwgezB4YzQsMHg4MCwweDMzLDB4NDgsMHgyYywweGY4LDB4MjIsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGFlMCwgMCwgezB4ODAsMHgxMCwweGUwLDB4ZTAsMHhjOSwweGMwLDB4MjIsMHg1YiwweDg4LDB4OTYsMHgyMiwweDJkLDB4MDAsMHg4OSwweDIyLDB4MjIgfSwKLSAgMTYsIDB4OGFmMCwgMCwgezB4Y2EsMHgwYiwweDllLDB4MjIsMHhlMiwweGEwLDB4YjksMHg2MSwweDJjLDB4ZTAsMHg4OCwweDlmLDB4MDIsMHgzZCwweDg1LDB4YmYgfSwKLSAgMTYsIDB4OGIwMCwgMCwgezB4NjAsMHgyNiwweDUwLDB4NDgsMHhhMCwweDAyLDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMiwweDUwLDB4MDgsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4OGIxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDgwLDB4YjEsMHgxMCwweDIwLDB4NDQgfSwKLSAgMTYsIDB4OGIyMCwgMCwgezB4MGIsMHhiMiwweDAyLDB4Y2UsMHhkMCwweDgxLDB4MDgsMHgyYywweGMwLDB4MGIsMHgwMSwweDAyLDB4OGMsMHgwOCwweGIzLDB4MDggfSwKLSAgMTYsIDB4OGIzMCwgMCwgezB4MmMsMHhjOSwweDA4LDB4MTAsMHg2MiwweDhjLDB4NjAsMHhiMywweDMyLDB4MjQsMHg4MCwweDBhLDB4YTAsMHgwMiwweDZjLDB4MDMgfSwKLSAgMTYsIDB4OGI0MCwgMCwgezB4OWEsMHgwMSwweDI2LDB4NDQsMHg0OCwweGIwLDB4NDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGI1MCwgMCwgezB4YzAsMHgxNSwweGE0LDB4YTAsMHg4YiwweDAyLDB4MjIsMHhlMCwweDBiLDB4YjAsMHg2MiwweGFjLDB4OTgsMHg5OSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4OGI2MCwgMCwgezB4YzIsMHgwYiwweDk4LDB4MDYsMHhlNCwweDAwLDB4YmIsMHgwMiwweDJlLDB4YzAsMHgwOCwweDkxLDB4NDIsMHgyYywweDEwLDB4YmIgfSwKLSAgMTYsIDB4OGI3MCwgMCwgezB4MDAsMHg2ZSwweDgwLDB4MGEsMHg4MCwweDAyLDB4NmMsMHgwMCwweDFiLDB4MDAsMHgwNiwweDQwLDB4NDgsMHhiOCwweDBhLDB4NzAgfSwKLSAgMTYsIDB4OGI4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlNywweDAwLDB4YTEsMHgwMCwweDc2LDB4NzggfSwKLSAgMTYsIDB4OGI5MCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTgsMHgxMCwweGQ5LDB4MDAsMHgzZSwweGQwLDB4NGIsMHg5ZSwweDEzLDB4YWMsMHgwOCwweGI4LDB4YTAgfSwKLSAgMTYsIDB4OGJhMCwgMCwgezB4N2UsMHhjNiwweDA4LDB4YTgsMHgwMiwweDJjLDB4MDEsMHhiYiwweDAwLDB4MjYsMHgzMCwweDRlLDB4MjAsMHgwMywweDRjLDB4MTggfSwKLSAgMTYsIDB4OGJiMCwgMCwgezB4OTksMHg4MCwweGI0LDB4NDAsMHg0YywweDNhLDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGJjMCwgMCwgezB4ZTAsMHgwMSwweGIyLDB4MDAsMHhmZCwweGM1LDB4M2IsMHhjMCwweDRjLDB4ZDAsMHgwMywweDZhLDB4MDIsMHhlZCwweDA2LDB4MzMgfSwKLSAgMTYsIDB4OGJkMCwgMCwgezB4YzQsMHgwZiwweGQwLDB4NTMsMHhmOCwweDAwLDB4ZmMsMHg5MCwweDdmLDB4YzEsMHgwZiwweDc4LDB4MDMsMHhiYywweDA0LDB4ZmYgfSwKLSAgMTYsIDB4OGJlMCwgMCwgezB4MDAsMHgzNywweDY0LDB4MGMsMHhmMSwweDAzLDB4YTQsMHgwMCwweGVkLDB4YTEsMHgzYiwweDQwLDB4MGIsMHhmMCwweDgzLDB4YjggfSwKLSAgMTYsIDB4OGJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDAwLDB4Y2IsMHgyMCwweDNlLDB4NzEgfSwKLSAgMTYsIDB4OGMwMCwgMCwgezB4MGYsMHhiMywweDAzLDB4OTgsMHgwMiwweGZiLDB4MDIsMHgzNiwweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZWMsMHgyMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4OGMxMCwgMCwgezB4M2UsMHhjYywweDA0LDB4ODQsMHgwMywweDJjLDB4MDAsMHhkYiwweDA0LDB4M2MsMHgxMCwweDBmLDB4YTAsMHgwMywweGVjLDB4MDAgfSwKLSAgMTYsIDB4OGMyMCwgMCwgezB4OWIsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGMzMCwgMCwgezB4ODgsMHgwNSwweDJjLDB4MDIsMHg4YiwweDQ4LDB4MmUsMHhlMCwweDBiLDB4MzQsMHgwMywweDZiLDB4MDAsMHg4YiwweGY1LDB4MjIgfSwKLSAgMTYsIDB4OGM0MCwgMCwgezB4ZjIsMHgwYiwweDljLDB4MDMsMHhhZiwweDAwLDB4YjgsMHg1MCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg3YywweDAwLDB4OGYgfSwKLSAgMTYsIDB4OGM1MCwgMCwgezB4MDAsMHgwZSwweDVkLDB4MGIsMHg4MCwweDAyLDB4ZjUsMHg0MCwweDgzLDB4NTAsMHgyMywweDU0LDB4MDgsMHg5YywweDAyLDB4ZTYgfSwKLSAgMTYsIDB4OGM2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDQsMHg0YywweDAwLDB4ODEsMHg4MSwweDJlLDB4NDAgfSwKLSAgMTYsIDB4OGM3MCwgMCwgezB4MDMsMHgyYywweDAyLDB4MDQsMHgzMywweDk5LDB4MDAsMHgyMCwweGYwLDB4NGEsMHgyOCwweDgwLDB4Y2MsMHg0MCwweGIwLDB4MDAgfSwKLSAgMTYsIDB4OGM4MCwgMCwgezB4MjYsMHgxMCwweDA4LDB4MjAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDA5LDB4MjAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4OGM5MCwgMCwgezB4YTAsMHgwMiwweDI4LDB4NDAsMHgwOCwweDA4LDB4MDIsMHg3YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGNhMCwgMCwgezB4MjAsMHgwMSwweDBhLDB4MDAsMHg4NSwweDgwLDB4MmQsMHhmOCwweDBiLDB4ZGEsMHgwMiwweGQ2LDB4NDAsMHg4NSwweGEwLDB4MjEgfSwKLSAgMTYsIDB4OGNiMCwgMCwgezB4ZTAsMHgwYiwweDQ4LDB4MDYsMHg5MiwweDA0LDB4YjUsMHg4MCwweDJkLDB4MjEsMHgwOCwweDAwLDB4MDIsMHg0ZSwweDAwLDB4ODcgfSwKLSAgMTYsIDB4OGNjMCwgMCwgezB4YTQsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4ZGUsMHhjMiwweGFkLDB4OTAsMHgyYiwweDYwLDB4MjgsMHg1OCwweDgyLDB4ZGMgfSwKLSAgMTYsIDB4OGNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0YywweDQwLDB4YzMsMHgxMCwweDJjLDB4NmMgfSwKLSAgMTYsIDB4OGNlMCwgMCwgezB4MGYsMHgzMCwweDAzLDB4ODYsMHhhMiwweGY5LDB4YjAsMHhiMCwweGUwLDB4MGYsMHgyOSwweDgzLDB4Y2UsMHg0NCwweGYzLDB4ODAgfSwKLSAgMTYsIDB4OGNmMCwgMCwgezB4M2MsMHhhYywweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhjMywweDAwLDB4M2MsMHhkNSwweDBmLDB4MjAsMHgwMywweGNlLDB4YzEgfSwKLSAgMTYsIDB4OGQwMCwgMCwgezB4ZTAsMHgxMCwweGI4LDB4NDAsMHgwYywweDAwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGQxMCwgMCwgezB4YzAsMHgxZCwweGJjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjYywweDBmLDB4MzIsMHgwMywweDY0LDB4MDgsMHhmOSwweDAwLDB4M2IgfSwKLSAgMTYsIDB4OGQyMCwgMCwgezB4OTAsMHgwZiwweGYwLDB4NDMsMHhlNCwweDQwLDB4ZmIsMHgzNCwweDNmLDB4ODEsMHgwNywweGQxLDB4MDMsMHhhZCwweDIwLDB4ZWIgfSwKLSAgMTYsIDB4OGQzMCwgMCwgezB4MjAsMHg3ZiwweGM0LDB4MGYsMHhlMSwweDAzLDB4ZmMsMHg1MCwweGNkLDB4MTAsMHgzNSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4OGQ0MCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDA0LDB4ZmQsMHgwNCwweDNkLDB4NDAgfSwKLSAgMTYsIDB4OGQ1MCwgMCwgezB4MmQsMHgzMCwweDAyLDB4M2MsMHgwMCwweGM5LDB4MDEsMHgzZSwweGMwLDB4NGYsMHhiOCwweDQzLDB4ZWMsMHgxMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4OGQ2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YTAsMHgyMywweGVjLDB4ODAsMHhjYiwweDM2LDB4MzIsMHg4MCwweDRkLDB4YTgsMHgwMywweDJjLDB4MTAgfSwKLSAgMTYsIDB4OGQ3MCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHg2YSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGQ4MCwgMCwgezB4YzgsMHgxMSwweDkwLDB4MDgsMHhiNSwweDAwLDB4MmQsMHhjMCwweDA4LDB4NTAsMHgwMiwweGJjLDB4MDIsMHg4NSwweDA0LDB4MmQgfSwKLSAgMTYsIDB4OGQ5MCwgMCwgezB4YzAsMHg4ZSwweDYwLDB4MDYsMHhkOCwweDA0LDB4YjcsMHgwNCwweDIxLDB4NDAsMHgwYiwweDcwLDB4MDIsMHhmYywweDgwLDB4YWYgfSwKLSAgMTYsIDB4OGRhMCwgMCwgezB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4MDYsMHg0MCwweDg3LDB4MDAsMHgyMSwweDUwLDB4MDgsMHg1MCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4OGRiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDIwLDB4YjcsMHg4MCwweDJiLDB4NzAgfSwKLSAgMTYsIDB4OGRjMCwgMCwgezB4MDgsMHhmOCwweDA2LDB4MWUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3MCwweDMyLDB4ZGUsMHgwNCwweDM3LDB4ODQgfSwKLSAgMTYsIDB4OGRkMCwgMCwgezB4MjUsMHhlMCwweDBiLDB4NjgsMHgwNiwweGRlLDB4ODAsMHg4NywweDgwLDB4MjEsMHhhMSwweDFiLDB4NjgsMHgwMiwweDFlLDB4NDAgfSwKLSAgMTYsIDB4OGRlMCwgMCwgezB4OWYsMHg4MCwweDIwLDB4NjAsMHgwOCwweDU4LDB4MDIsMHgyMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGRmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MjAsMHhiMywweDAwLDB4MmMsMHg4MCwweDg4LDB4YjQsMHgyMiwweDhkLDB4MDAsMHg4MywweDkwLDB4MmMgfSwKLSAgMTYsIDB4OGUwMCwgMCwgezB4YzAsMHgwYSwweDM4LDB4MDIsMHhjZSwweDA4LDB4YmIsMHgyMCwweDI0LDB4ZDAsMHgwYiwweGIzLDB4MDIsMHhjYywweDAwLDB4YTMgfSwKLSAgMTYsIDB4OGUxMCwgMCwgezB4MDAsMHg2MCwweGQyLDB4MGIsMHgyMCwweDJhLDB4MDQsMHgwOCwweDkzLDB4NTAsMHgyMCwweDQwLDB4MDgsMHgxNywweDBhLDB4MDIgfSwKLSAgMTYsIDB4OGUyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYSwweDAwLDB4YmEsMHhhMCwweDNmLDB4ODQgfSwKLSAgMTYsIDB4OGUzMCwgMCwgezB4MWMsMHhlMCwweDBiLDB4MzgsMHg0MCwweDhlLDB4MDYsMHgyZSwweDgwLDB4MGIsMHhlMywweDAzLDB4ZjgsMHg4MCwweGZlLDB4ZTQgfSwKLSAgMTYsIDB4OGU0MCwgMCwgezB4YjcsMHg5MCwweDBmLDB4ZWMsMHgwMiwweGU4LDB4MDAsMHg4YSwweDAwLDB4YTMsMHhhMCwweDA5LDB4ZTQsMHgwMywweDJhLDB4MDIgfSwKLSAgMTYsIDB4OGU1MCwgMCwgezB4ZGUsMHhjMCwweGYzLDB4ODAsMHgwYywweDZjLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGU2MCwgMCwgezB4NDgsMHgwMSwweGUwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OGU3MCwgMCwgezB4MzAsMHgwYSwweDg0LDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDNhLDB4MDIsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4OGU4MCwgMCwgezB4MDAsMHgzZSwweDA0LDB4MGQsMHg4MCwweDgzLDB4ZTAsMHg0MCwweGU4LDB4MjAsMHgzZSwweDAwLDB4MmYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OGU5MCwgMCwgezB4MTAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NjQgfSwKLSAgMTYsIDB4OGVhMCwgMCwgezB4NGUsMHg5MCwweDgzLDB4MjQsMHg4MCwweGM5LDB4MDAsMHgzMiwweGUwLDB4MGYsMHgxMCwweDAzLDB4MjUsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OGViMCwgMCwgezB4MzIsMHg0NCwweDBmLDB4OTIsMHgyMywweDY0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgxMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4OGVjMCwgMCwgezB4YzksMHgwMCwweDIyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGVkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDIwLDB4MmUsMHg0MCwweDQ4LDB4OTYsMHgyMiwweDI1LDB4MDAsMHhkOSwweGMwLDB4YTIgfSwKLSAgMTYsIDB4OGVlMCwgMCwgezB4NzAsMHgwYiwweDk4LDB4MDIsMHgyNCwweDAwLDB4YjksMHg0MCwweGEyLDB4NzAsMHg0YiwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZDkgfSwKLSAgMTYsIDB4OGVmMCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MmMsMHg5NCwweDIyLDB4ZTQsMHgwMiwweDg5LDB4MDAsMHhhMiwweDQwLDB4MjgsMHg5NCwweDEzLDB4MjAgfSwKLSAgMTYsIDB4OGYwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4OGYxMCwgMCwgezB4MGEsMHg5MCwweDAyLDB4MDQsMHgwMCwweDgxLDB4ODAsMHhhMiwweDQ0LDB4MGIsMHg5MSwweDAyLDB4MjUsMHgwMCwweDE5LDB4NDAgfSwKLSAgMTYsIDB4OGYyMCwgMCwgezB4NjIsMHg0MCwweDBiLDB4YjQsMHgwMiwweDQ0LDB4MDAsMHg4OSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHg4MiwweGM0LDB4MDEgfSwKLSAgMTYsIDB4OGYzMCwgMCwgezB4ODMsMHgwMiwweDI4LDB4NDAsMHg0OCwweDkwLDB4ODIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGY0MCwgMCwgezB4MDAsMHgwNCwweDA1LDB4ODAsMHhiMSwweDAwLDB4NmMsMHg1MSwweDA4LDB4MTQsMHgxYSwweDA1LDB4MDAsMHg5MywweDAwLDB4MjAgfSwKLSAgMTYsIDB4OGY1MCwgMCwgezB4NDAsMHg4YiwweDE0LDB4MDIsMHgwNSwweDAwLDB4YjEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDYsMHgwNCwweDgwLDB4OTEgfSwKLSAgMTYsIDB4OGY2MCwgMCwgezB4MjAsMHgyMCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHhhOCwweDgxLDB4MDAsMHgyOCwweDRhLDB4MDgsMHg5MCwweDRhLDB4NDIgfSwKLSAgMTYsIDB4OGY3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4OGY4MCwgMCwgezB4MGUsMHg4MCwweDAzLDB4MjgsMHgwMSwweGM4LDB4NTAsMHgzMiwweDk0LDB4OGIsMHhhMCwweDAzLDB4MjAsMHgwMCwweGIwLDB4NTAgfSwKLSAgMTYsIDB4OGY5MCwgMCwgezB4MzIsMHg4MCwweDBmLDB4ODAsMHgwNywweDYxLDB4NTEsMHhjOCwweDUwLDB4MjIsMHgwMCwweDBjLDB4MDAsMHgwMywweGUwLDB4ODQgfSwKLSAgMTYsIDB4OGZhMCwgMCwgezB4YzgsMHgwNCwweDNhLDB4MDgsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGZiMCwgMCwgezB4OTgsMHg5ZCwweGY0LDB4NDAsMHhiZCwweDQxLDB4M2YsMHg1MCwweDBmLDB4ZjQsMHgwMywweGY1LDB4MTAsMHhmZCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OGZjMCwgMCwgezB4NDAsMHgwZiwweGQ0LDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgxMCwweDJmLDB4NDAsMHg0ZiwweGQ0LDB4NDAsMHhhNCwweDQ4LDB4ZjkgfSwKLSAgMTYsIDB4OGZkMCwgMCwgezB4MTIsMHgzZiwweDVhLDB4OGUsMHhkMiwweDgzLDB4ZjQsMHhhOCwweGY1LDB4MmMsMHgzNywweDRhLDB4MGYsMHhkMiwweDgzLDB4YTYgfSwKLSAgMTYsIDB4OGZlMCwgMCwgezB4MTIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDgwLDB4ZmQsMHgyOCwweDNmLDB4NGMgfSwKLSAgMTYsIDB4OGZmMCwgMCwgezB4MGYsMHg1MCwweDAzLDB4M2MsMHg0NCwweGNkLDB4NDAsMHgzZiwweGQwLDB4MGQsMHhkMCwweDAyLDB4MTQsMHgwMSwweGZkLDB4YTAgfSwKLSAgMTYsIDB4OTAwMCwgMCwgezB4MzEsMHg0MCwweDAzLDB4ZDAsMHgwMywweGU3LDB4ODksMHhmOSwweDkwLDB4N2UsMHg1MCwweDBjLDB4OTQsMHgwMywweGU2LDB4YzAgfSwKLSAgMTYsIDB4OTAxMCwgMCwgezB4YzksMHgxMCwweDMyLDB4NmQsMHgwZiwweDkxLDB4MDIsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTAyMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4ODAsMHhiOCwweDAxLDB4MmUsMHgwYywweDhiLDB4ODQsMHg4MiwweDIwLDB4NDIsMHg4OCwweGEwLDB4NmUgfSwKLSAgMTYsIDB4OTAzMCwgMCwgezB4MjAsMHgwOCwweDgwLDB4MDMsMHg2MCwweDAwLDB4OTgsMHhlOCwweDIyLDB4MDAsMHgwOSwweDgwLDB4MDIsMHhlMywweGMwLDB4ZTggfSwKLSAgMTYsIDB4OTA0MCwgMCwgezB4ZDAsMHgyZSwweDI4LDB4MDgsMHg4YSwweDIzLDB4ZTIsMHg4NCwweGQ4LDB4YTAsMHgyMiwweDNkLDB4MGIsMHhjOCwweDAyLDB4Y2UgfSwKLSAgMTYsIDB4OTA1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNSwweGIwLDB4YjEsMHgwMCwweDJjLDB4NDggfSwKLSAgMTYsIDB4OTA2MCwgMCwgezB4MGIsMHgxMywweDAyLDB4MDQsMHgwMiwweGIxLDB4MjAsMHgyZSwweDQwLDB4ODgsMHgxMCwweDIyLDB4YzQsMHgwMCwweGIxLDB4MTQgfSwKLSAgMTYsIDB4OTA3MCwgMCwgezB4MjQsMHg0MCwweDBiLDB4MTAsMHg1MiwweGM0LDB4MDAsMHhiMSwweDIxLDB4MmQsMHg0OCwweDBhLDB4NTIsMHgwMiwweGQ1LDB4MDAgfSwKLSAgMTYsIDB4OTA4MCwgMCwgezB4YmQsMHgwMCwweGFkLDB4NDAsMHgwYiwweDUyLDB4MDIsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTA5MCwgMCwgezB4MTgsMHg1NSwweGE1LDB4MDAsMHhiOSwweDgyLDB4MmUsMHg0OSwweDhiLDB4YjAsMHgxMiwweDI0LDB4MTAsMHg5OSwweDAyLDB4MmUgfSwKLSAgMTYsIDB4OTBhMCwgMCwgezB4NDAsMHgwOCwweGIyLDB4MDAsMHg2NSwweDAwLDB4OTksMHg4MCwweDI2LDB4NDQsMHgwOSwweDkxLDB4MDIsMHhlNCwweDA5LDB4YTkgfSwKLSAgMTYsIDB4OTBiMCwgMCwgezB4MDQsMHgyZSwweDQ2LDB4MGEsMHhkNCwweDAyLDB4YjQsMHgwMCwweGJkLDB4NDAsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4OTBjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDQwLDB4ZjksMHg4MCwweDJlLDB4NjIgfSwKLSAgMTYsIDB4OTBkMCwgMCwgezB4MGYsMHg5YywweDQyLDB4MjQsMHgwMCwweDk5LDB4MDEsMHgyZSwweDY4LDB4MmMsMHg5MiwweDAyLDB4NjQsMHgwMCwweGI5LDB4NDAgfSwKLSAgMTYsIDB4OTBlMCwgMCwgezB4YjYsMHg2MCwweDBmLDB4OWEsMHgwMywweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg3MCwweDNlLDB4OTksMHgwNiwweGU0LDB4MDIgfSwKLSAgMTYsIDB4OTBmMCwgMCwgezB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTEwMCwgMCwgezB4NjgsMHgwMSwweGE2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDFmLDB4MTIsMHhhYiwweGU0LDB4MDAsMHhlOSwweDkwLDB4M2UgfSwKLSAgMTYsIDB4OTExMCwgMCwgezB4NDksMHgwZSwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNhLDB4NDAsMHgwZCwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OTEyMCwgMCwgezB4MDEsMHgzZSwweDYwLDB4MDUsMHg5MCwweDEzLDB4ZTQsMHgwMCwweDU5LDB4MjAsMHgzMiwweDQwLDB4OGYsMHg5MSwweDAzLDB4ZGEgfSwKLSAgMTYsIDB4OTEzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwOCwweDNlLDB4MDEgfSwKLSAgMTYsIDB4OTE0MCwgMCwgezB4MGYsMHg4NCwweDYzLDB4MDAsMHgyMiwweGU4LDB4MjAsMHgzZSwweDEzLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHhjMCwweGQ4LDB4NGMgfSwKLSAgMTYsIDB4OTE1MCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODQsMHg0MywweGUwLDB4MDAsMHhmOCwweDAwLDB4MjIsMHgxMCwweDBmLDB4ODQsMHgwMywweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTE2MCwgMCwgezB4YzgsMHgwMCwweGIyLDB4MDAsMHgwYywweGMwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTE3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDAwLDB4MmYsMHg4NiwweDRiLDB4ZTAsMHgwMiwweDM5LDB4MDgsMHg4ZSwweDIwLDB4MmQgfSwKLSAgMTYsIDB4OTE4MCwgMCwgezB4OTAsMHgwYiwweGVkLDB4OTIsMHhmOCwweDAyLDB4OGUsMHhlMCwweGEzLDB4OTgsMHgwOCwweGUwLDB4MDIsMHhlOCwweDA4LDB4YmEgfSwKLSAgMTYsIDB4OTE5MCwgMCwgezB4MDAsMHg2MiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDAyLDB4ODAsMHgwMiwweDgwLDB4NDgsMHhlMCwweDAzLDB4NGEgfSwKLSAgMTYsIDB4OTFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgxMCwweDJjLDB4ZjAgfSwKLSAgMTYsIDB4OTFiMCwgMCwgezB4MGEsMHgxNCwweDJhLDB4MGQsMHgxYSwweGIzLDB4MDEsMHgyNCwweGQwLDB4MGIsMHhiYywweDMyLDB4Y2MsMHgwOCwweDAzLDB4MDAgfSwKLSAgMTYsIDB4OTFjMCwgMCwgezB4MjAsMHhjOCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4MjIsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MTEgfSwKLSAgMTYsIDB4OTFkMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgyOCwweDIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTFlMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDEsMHg4NSwweDAwLDB4MmQsMHgwMCwweDBiLDB4NzAsMHgwMiwweDE4LDB4MzIsMHg4NiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4OTFmMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MTYsMHhmZSwweDA0LDB4ODYsMHgwMCwweDI3LDB4YTAsMHg4YiwweDcwLDB4NDIsMHhkYywweDgwLDB4YjcgfSwKLSAgMTYsIDB4OTIwMCwgMCwgezB4ODAsMHgyMSwweDAxLDB4MDgsMHhmOCwweDBhLDB4MTgsMHgwMCwweDg2LDB4MDgsMHgyMCwweGEwLDB4MDgsMHhlOCwweDBhLDB4NjggfSwKLSAgMTYsIDB4OTIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgzZSwweDAyLDB4YzYsMHg4MCwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4OTIyMCwgMCwgezB4MGYsMHg0OCwweDAzLDB4MDYsMHgwNCwweGY1LDB4ODIsMHgzNSwweGUwLDB4MGYsMHg3OCwweDAzLDB4ZGEsMHgwMCwweGQzLDB4ODAgfSwKLSAgMTYsIDB4OTIzMCwgMCwgezB4MzEsMHg2MCwweDA3LDB4NzgsMHgwMywweGRlLDB4MjAsMHhmMywweGIwLDB4ODEsMHhlMCwweDRmLDB4NjgsMHgwNywweDBlLDB4MDIgfSwKLSAgMTYsIDB4OTI0MCwgMCwgezB4Y2YsMHg4MCwweDMxLDB4ZTAsMHgwYywweDc4LDB4MTMsMHgyYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTI1MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4YTAsMHhmOSwweDAwLDB4M2YsMHgwMCwweDBmLDB4YjAsMHg1MywweGY4LDB4MTAsMHhhOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OTI2MCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MDEsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNhLDB4YzAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4OTI3MCwgMCwgezB4NzQsMHgzYywweDAwLDB4MGYsMHgyMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHgzMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4OTI4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAyLDB4OGYsMHg4MCwweDM1LDB4ZTAgfSwKLSAgMTYsIDB4OTI5MCwgMCwgezB4OGQsMHhkOSwweDAzLDB4MmUsMHhjNCwweGY2LDB4ODAsMHgzMiwweGE0LDB4MGMsMHhiOCwweDAzLDB4ZGUsMHgwMCwweGNmLDB4OTAgfSwKLSAgMTYsIDB4OTJhMCwgMCwgezB4M2MsMHhlNCwweDBjLDB4YjgsMHgwMywweGZlLDB4NjUsMHhmZiwweDgwLDB4MGYsMHhlYywweDhmLDB4ZjgsMHgwMywweGZlLDB4MDAgfSwKLSAgMTYsIDB4OTJiMCwgMCwgezB4YzUsMHg4MCwweDMzLDB4ZTAsMHgwZiwweDY4LDB4MDMsMHgxMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTJjMCwgMCwgezB4YWEsMHgxMSwweDljLDB4ODAsMHg4NCwweGIwLDB4MjAsMHgyMCwweDI5LDB4NzMsMHgwYSwweDBlLDB4ODIsMHhhMiwweGEwLDB4YTIgfSwKLSAgMTYsIDB4OTJkMCwgMCwgezB4YTAsMHg0ZiwweDNiLDB4MDMsMHg4NywweDg0LDB4YjIsMHg4MCwweDJjLDB4YTAsMHgwYSwweDdkLDB4MDIsMHhkZSwweDgwLDB4ZjcgfSwKLSAgMTYsIDB4OTJlMCwgMCwgezB4MjAsMHgyNSwweDA2LDB4MDgsMHg3MCwweDAyLDB4YzgsMHg0MCwweDg0LDB4MDAsMHgzNSwweDgwLDB4MGIsMHg2MCwweDAzLDB4NmEgfSwKLSAgMTYsIDB4OTJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDEwLDB4ODYsMHgzOCwweDI3LDB4YzAgfSwKLSAgMTYsIDB4OTMwMCwgMCwgezB4NDksMHg1NCwweDA2LDB4NTQsMHg0MCwweDFkLDB4MjAsMHgyMSwweGNhLDB4MDksMHg2MSwweDQwLDB4ZjgsMHg4MCwweGI3LDB4MjAgfSwKLSAgMTYsIDB4OTMxMCwgMCwgezB4MmYsMHgwMCwweDg5LDB4NzAsMHgxMiwweGRjLDB4ODEsMHhiNywweDA0LDB4MmQsMHhjOSwweDBhLDB4NjAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4OTMyMCwgMCwgezB4OGQsMHgwMCwweDJkLDB4YzAsMHgwYiwweGY4LDB4MDIsMHgwNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTMzMCwgMCwgezB4NjAsMHgxNCwweGNkLDB4MjgsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA5LDB4YjAsMHgyMiwweDRjLDB4MDIsMHhhMSwweDAxLDB4MjAgfSwKLSAgMTYsIDB4OTM0MCwgMCwgezB4MzAsMHgxYiwweDIzLDB4MDIsMHhhZiwweDIwLDB4YjMsMHgwOCwweDJjLDB4ODAsMHgxYiwweDMwLDB4MDAsMHhjYywweDA0LDB4YTMgfSwKLSAgMTYsIDB4OTM1MCwgMCwgezB4MDEsMHgyNiwweDMwLDB4MDgsMHhhYywweDIyLDB4ZTgsMHgwMiwweDgwLDB4MDgsMHgyZSwweDgwLDB4NGIsMHhiNCwweDAyLDB4NTggfSwKLSAgMTYsIDB4OTM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDEwLDB4OGIsMHg4MCwweDM2LDB4ZjAgfSwKLSAgMTYsIDB4OTM3MCwgMCwgezB4MmQsMHhiYywweDBiLDB4NmMsMHgwMSwweGRhLDB4MDQsMHgyMiwweDQwLDB4N2QsMHg5NCwweDIyLDB4ZTQsMHgwMCwweGFiLDB4NDQgfSwKLSAgMTYsIDB4OTM4MCwgMCwgezB4MmUsMHhjMCwweDA5LDB4YjgsMHgwMiwweGZjLDB4MDAsMHhiZiwweDAwLDB4M2UsMHhmMCwweGNhLDB4OTIsMHgwMiwweGU0LDB4MDIgfSwKLSAgMTYsIDB4OTM5MCwgMCwgezB4Y2IsMHgwMCwweDZlLDB4NDAsMHgwZiwweDg0LDB4MDEsMHgyZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTNhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2EsMHhlMCwweDJlLDB4YmMsMHgwMywweDk4LDB4MDgsMHhlYSwweDQwLDB4MzYgfSwKLSAgMTYsIDB4OTNiMCwgMCwgezB4NDMsMHg4YywweDkwLDB4MDMsMHhhNCwweDQ0LDB4MmEsMHg0MCwweDNlLDB4MTAsMHgwZSwweGI1LDB4ODMsMHhlYywweDE0LDB4ZmIgfSwKLSAgMTYsIDB4OTNjMCwgMCwgezB4MDAsMHgyNiwweDAwLDB4MGUsMHg5MiwweDAzLDB4ZTAsMHg0MCwweGZhLDB4MDAsMHgxNiwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAgfSwKLSAgMTYsIDB4OTNkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlYywweDAyLDB4ZmEsMHg4MCwweDNmLDB4ZTIgfSwKLSAgMTYsIDB4OTNlMCwgMCwgezB4MGYsMHhiMCwweDBiLDB4MjQsMHgwMCwweGVmLDB4OTIsMHhiYiwweGUwLDB4MWMsMHhkMCwweDAzLDB4NzQsMHgwMCwweGNmLDB4MDUgfSwKLSAgMTYsIDB4OTNmMCwgMCwgezB4M2IsMHg0MCwweDBmLDB4YzgsMHgwMywweDVjLDB4MDAsMHhjZiwweDAwLDB4MzIsMHhjMiwweDRkLDB4YzEsMHgyMywweDM0LDB4NDAgfSwKLSAgMTYsIDB4OTQwMCwgMCwgezB4Y2YsMHgwMCwweDE3LDB4NDQsMHgwYywweGQxLDB4ODMsMHgwMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTQxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDg0LDB4MmUsMHg1NCwweDBiLDB4YmMsMHgwYSwweDI5LDB4ODAsMHg4YiwweDgwLDB4MzIgfSwKLSAgMTYsIDB4OTQyMCwgMCwgezB4MDAsMHgwOCwweDljLDB4MDMsMHhhNywweDAwLDB4YWIsMHg4NCwweDJlLDB4N2MsMHgwYiwweDgwLDB4MDIsMHgyYywweDEwLDB4ZGIgfSwKLSAgMTYsIDB4OTQzMCwgMCwgezB4MDEsMHgzNiwweDAwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDgyLDB4MDAsMHgyMiwweDAwLDB4MDgsMHg5MCwweDAyLDB4MjQgfSwKLSAgMTYsIDB4OTQ0MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwYywweDAwLDB4ODksMHgxMCwweDY2LDB4OTAgfSwKLSAgMTYsIDB4OTQ1MCwgMCwgezB4MGIsMHhiOCwweDAyLDB4NmUsMHgxMiwweGEzLDB4NDEsMHgyMCwweDA0LDB4MGEsMHg5OCwweDIyLDB4ZTIsMHgwMCwweDg5LDB4MTkgfSwKLSAgMTYsIDB4OTQ2MCwgMCwgezB4MmUsMHhjMCwweDRiLDB4MzEsMHgyMiwweDZjLDB4MDgsMHg4MywweDAwLDB4MjIsMHhjMCwweDA5LDB4OTAsMHgwMiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4OTQ3MCwgMCwgezB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTQ4MCwgMCwgezB4MDgsMHgxMCwweDBjLDB4MDAsMHg4MCwweDIwLDB4MmMsMHgwZSwweDFiLDB4MzAsMHgwMiwweDA0LDB4NDEsMHg4MCwweDIwLDB4MjAgfSwKLSAgMTYsIDB4OTQ5MCwgMCwgezB4MTIsMHgxOCwweDE2LDB4NDIsMHgwMCwweDUwLDB4YTAsMHg0MCwweDJjLDB4ODgsMHgxYiwweDMwLDB4MDIsMHgwYywweDgxLDB4OTMgfSwKLSAgMTYsIDB4OTRhMCwgMCwgezB4MDAsMHgyNCwweDAwLDB4MDgsMHgxMCwweDJhLDB4MDAsMHgwYSwweDg4LDB4MDAsMHgyOCwweDAwLDB4MjgsMHgwMCwweDBhLDB4MDIgfSwKLSAgMTYsIDB4OTRiMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHg3YywweDExLDB4ZTgsMHgwMCwweDI2LDB4OTggfSwKLSAgMTYsIDB4OTRjMCwgMCwgezB4MGYsMHhiMCwweDEzLDB4MjEsMHgwYywweGViLDB4NjAsMHgzYSwweGQ4LDB4MjgsMHg4NCwweGEyLDB4ZTEsMHg4MCwweGM4LDB4MjAgfSwKLSAgMTYsIDB4OTRkMCwgMCwgezB4M2UsMHg1ZSwweDFmLDB4ODIsMHgwMywweDdjLDB4MDAsMHhjZiwweDAwLDB4MzIsMHhjMCwweDRkLDB4ODAsMHgwNywweDI1LDB4MDAgfSwKLSAgMTYsIDB4OTRlMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTRmMCwgMCwgezB4YTEsMHgxMSwweGZjLDB4MDAsMHhmOCwweDEzLDB4MWUsMHgwMCwweDBiLDB4ZjAsMHgwMSwweGYwLDB4ZDAsMHhmOSwweDE5LDB4MWYgfSwKLSAgMTYsIDB4OTUwMCwgMCwgezB4MDgsMHg0ZiwweGMwLDB4MTMsMHhhMSwweDAwLDB4ZjgsMHg2MiwweDNmLDB4YzAsMHgwYiwweGM0LDB4MDcsMHhlZCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4OTUxMCwgMCwgezB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDIzLDB4ZjAsMHhhMCwweGZjLDB4MDAsMHgzMywweDAwLDB4MGYsMHhkMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4OTUyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4ZmYsMHgwYywweDNmLDB4MjAgfSwKLSAgMTYsIDB4OTUzMCwgMCwgezB4MGMsMHhjOSwweDAzLDB4MzIsMHgwMCwweGNmLDB4MzgsMHgzZiwweGQwLDB4MGYsMHg0OCwweDAzLDB4ZmMsMHhhMCwweGNlLDB4MjIgfSwKLSAgMTYsIDB4OTU0MCwgMCwgezB4MzMsMHgwMCwweDBmLDB4YzEsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjNCwweDRjLDB4YzAsMHgyMywweDhjLDB4ZTQgfSwKLSAgMTYsIDB4OTU1MCwgMCwgezB4ZmYsMHgxMCwweDM3LDB4MjAsMHgwOCwweGYxLDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTU2MCwgMCwgezB4ODAsMHgxMCwweGZlLDB4MDAsMHhiZiwweDgwLDB4MmUsMHg3NCwweDA1LDB4MjIsMHgwMiwweGEyLDB4MTAsMHhkZiwweDYxLDB4MmYgfSwKLSAgMTYsIDB4OTU3MCwgMCwgezB4ZDAsMHg4YiwweDkwLDB4MDIsMHgzZCwweGE0LDB4YWEsMHg5MCwweDIyLDB4ZjQsMHgwYiwweDA3LDB4MTIsMHgxZCwweDIwLDB4YmIgfSwKLSAgMTYsIDB4OTU4MCwgMCwgezB4YzAsMHgyZiwweGQ4LDB4ODgsMHg5NywweDgyLDB4ZmQsMHg4MCwweGVmLDB4NzIsMHgyMiwweDA4LDB4MjgsMHhmNiwweDIzLDB4ZTAgfSwKLSAgMTYsIDB4OTU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YjMsMHgwMCwweDJjLDB4MDAgfSwKLSAgMTYsIDB4OTVhMCwgMCwgezB4MDgsMHg4MiwweDAyLDB4MjIsMHgwMCwweDgzLDB4MDEsMHgwOCwweGNjLDB4OGIsMHgyMCwweDgyLDB4Y2MsMHgwMCwweDkwLDB4MDAgfSwKLSAgMTYsIDB4OTViMCwgMCwgezB4MjAsMHgwMCwweDRiLDB4MTIsMHgwMiwweDBkLDB4ODAsMHhiMywweDQwLDB4MmMsMHhkOCwweDA4LDB4MjAsMHg0MiwweDhjLDB4ODAgfSwKLSAgMTYsIDB4OTVjMCwgMCwgezB4YjMsMHgyMCwweDI2LDB4MDIsMHgxOCwweDMzLDB4MjYsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTVkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDksMHhiYiwweDAwLDB4MmUsMHg2MCwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHg5YiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OTVlMCwgMCwgezB4YzAsMHgwYiwweGFjLDB4MDIsMHgyYywweDAwLDB4YmEsMHgwNiwweDIyLDB4YzIsMHgwYiwweDk0LDB4MDIsMHhhYywweDEwLDB4YmIgfSwKLSAgMTYsIDB4OTVmMCwgMCwgezB4MDAsMHgyZSwweGMxLDB4MDgsMHhhOCwweDAyLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHgyMiwweDAwLDB4MDgsMHhiMCwweDA2LDB4ZjAgfSwKLSAgMTYsIDB4OTYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MTUsMHhlYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4NjAgfSwKLSAgMTYsIDB4OTYxMCwgMCwgezB4MjgsMHg4MiwweDEzLDB4MGUsMHgwOCwweGNiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHg4YywweDAzLDB4ZWMsMHgxMSwweGRiLDB4MjAgfSwKLSAgMTYsIDB4OTYyMCwgMCwgezB4YjIsMHg5MCwweDRiLDB4YTgsMHgwYiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmMsMHhjMCwweDBjLDB4ODgsMHgxMywweGFjLDB4MDAgfSwKLSAgMTYsIDB4OTYzMCwgMCwgezB4ZjMsMHgwMCwweDM2LDB4MDYsMHg0OCwweGIwLDB4MTIsMHhjNCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTY0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYiwweDA4LDB4M2QsMHg0MCwweDhmLDB4ZWEsMHgwMSwweGY0LDB4MDAsMHhmZiwweDAxLDB4MmYgfSwKLSAgMTYsIDB4OTY1MCwgMCwgezB4YzAsMHgwZiwweGQwLDB4MjIsMHhmYywweDA0LDB4YWYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGU5LDB4MDMsMHg3YywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4OTY2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDQzLDB4ZmMsMHgyMCwweGVmLDB4MDIsMHgzZiwweDAwLDB4OGYsMHhmMCwweDAzLDB4YjggfSwKLSAgMTYsIDB4OTY3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MTAsMHhhYywweDA4LDB4ZWIsMHgwMCwweDEyLDB4NDAgfSwKLSAgMTYsIDB4OTY4MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjgsMHgyMCwweGFiLDB4MDAsMHgzYSwweGMwLDB4OGYsMHg4NSwweDgzLDB4YWMsMHgxMCwweGYzLDB4NTAgfSwKLSAgMTYsIDB4OTY5MCwgMCwgezB4MzIsMHg5MCwweDRjLDB4MzQsMHgxMywweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBjLDB4OTgsMHgwMywweDJjLDB4NDAgfSwKLSAgMTYsIDB4OTZhMCwgMCwgezB4ZWIsMHg4MCwweDMyLDB4MTIsMHgwZCwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTZiMCwgMCwgezB4ODgsMHgwMSwweDNjLDB4MTAsMHgwZiwweDA1LDB4YTIsMHg1MCwweDBjLDB4MTAsMHgwMiwweDIyLDB4MTAsMHg4ZiwweDAwLDB4MjMgfSwKLSAgMTYsIDB4OTZjMCwgMCwgezB4YzAsMHgwYiwweDg4LDB4MTIsMHgzYywweDAwLDB4OWIsMHg4MiwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzYywweDAwLDB4OGYgfSwKLSAgMTYsIDB4OTZkMCwgMCwgezB4YTAsMHgyZiwweGMwLDB4MDgsMHhiMCwweDAyLDB4M2MsMHgwOCwweDhmLDB4MDIsMHgyMCwweDAwLDB4MDgsMHhmMCwweDAzLDB4MjYgfSwKLSAgMTYsIDB4OTZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZCwweDIwLDB4OTMsMHgwMCwweDIwLDB4YjIgfSwKLSAgMTYsIDB4OTZmMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MDEsMHgwMCwweGEzLDB4MDAsMHg2OCwweGMwLDB4MGIsMHg4NCwweDAyLDB4YWMsMHgwMCwweGIzLDB4ODAgfSwKLSAgMTYsIDB4OTcwMCwgMCwgezB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhMywweDA0LDB4MmMsMHhjMCwweDA4LDB4MDAsMHgwMiwweDBkLDB4MDAgfSwKLSAgMTYsIDB4OTcxMCwgMCwgezB4YTMsMHgwMCwweDIwLDB4MjQsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTcyMCwgMCwgezB4NzAsMHgwMSwweDFjLDB4MjAsMHg5NywweDgwLDB4MjMsMHg2MCwweDA4LDB4NzgsMHgxMiwweDNhLDB4MDAsMHg4MywweDkxLDB4MjkgfSwKLSAgMTYsIDB4OTczMCwgMCwgezB4ZTQsMHgwYiwweDU5LDB4MDIsMHgxZSwweDAwLDB4OTcsMHg5MCwweDIwLDB4ZmMsMHgwYSwweDc4LDB4MDIsMHgxZSwweDAwLDB4ODcgfSwKLSAgMTYsIDB4OTc0MCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MTksMHg1OSwweDAyLDB4MWUsMHg4MCwweDgzLDB4ODAsMHg2MSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MTggfSwKLSAgMTYsIDB4OTc1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQwLDB4ZDMsMHgzMiwweDMwLDB4MDYgfSwKLSAgMTYsIDB4OTc2MCwgMCwgezB4MGYsMHgzMCwweDAzLDB4MDQsMHg2NCwweGUzLDB4MDEsMHgzOCwweGM0LDB4MWYsMHgzMCwweDA3LDB4OGMsMHgxOCwweGYxLDB4MDAgfSwKLSAgMTYsIDB4OTc3MCwgMCwgezB4MzAsMHg0YywweDBlLDB4MzAsMHgwMywweDRjLDB4MDAsMHhlMywweDAwLDB4MmMsMHhjMCwweDBjLDB4MjAsMHgwMywweDBlLDB4MDAgfSwKLSAgMTYsIDB4OTc4MCwgMCwgezB4ZTMsMHgwMCwweDMyLDB4MDgsMHgwYywweGIxLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTc5MCwgMCwgezB4NDAsMHgxZCwweDljLDB4ODAsMHhlZiwweDEwLDB4M2QsMHg0NCwweDRmLDB4ZjEsMHgwNywweGNjLDB4MDAsMHhmZiwweDA4LDB4MzYgfSwKLSAgMTYsIDB4OTdhMCwgMCwgezB4YzYsMHhjZiwweGIwLDB4MDMsMHhmYywweDAwLDB4OTcsMHgwMCwweGJlLDB4Y2MsMHgwZCwweGIxLDB4MDMsMHhmZCwweDA0LDB4ZmYgfSwKLSAgMTYsIDB4OTdiMCwgMCwgezB4MGMsMHgzZiwweGQyLDB4OWUsMHhlMCwweDRiLDB4ZmQsMHgyMCwweGZmLDB4MDIsMHgzZiwweDgwLDB4MGUsMHhmMCwweDEzLDB4ZDAgfSwKLSAgMTYsIDB4OTdjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweGMwLDB4Y2IsMHgyOCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4OTdkMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDEsMHgzMiwweGU5LDB4MGMsMHgyOCwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4OTdlMCwgMCwgezB4MzIsMHhjMCwweDBjLDB4YjQsMHg4MywweDJjLDB4MDEsMHhlZiwweDAwLDB4YjIsMHhjOCwweDBjLDB4MjAsMHgwMywweDZkLDB4MDAgfSwKLSAgMTYsIDB4OTdmMCwgMCwgezB4Y2IsMHgxMCwweDNlLDB4MDAsMHgwZiwweGIyLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTgwMCwgMCwgezB4YzgsMHg5MSwweDljLDB4YzQsMHg4NywweDYwLDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNywweDEyLDB4MjAgfSwKLSAgMTYsIDB4OTgxMCwgMCwgezB4Y2MsMHgwYSwweDcwLDB4MDIsMHgxYywweGMwLDB4YjMsMHgwMCwweGEwLDB4YzAsMHhjOCwweDcwLDB4MjIsMHgxYywweDgwLDB4YjcgfSwKLSAgMTYsIDB4OTgyMCwgMCwgezB4MjQsMHgyMSwweGM4LDB4NDgsMHg1MCwweDAyLDB4MGMsMHg4MCwweDg3LDB4MTAsMHgyZCwweDQwLDB4MGIsMHg3MiwweDgyLDB4ZjIgfSwKLSAgMTYsIDB4OTgzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg4ZSwweDAyLDB4ODcsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4OTg0MCwgMCwgezB4MGIsMHg3OCwweDEyLDB4ZGUsMHgwMCwweGI3LDB4YTAsMHgyMSwweGUwLDB4MDgsMHhmOCwweDhlLDB4MWUsMHg0MCwweGI3LDB4ODggfSwKLSAgMTYsIDB4OTg1MCwgMCwgezB4MjEsMHhlMCwweDA4LDB4MzgsMHgwMiwweDFlLDB4NDAsMHhiMywweGExLDB4MjAsMHhlOCwweDQ4LDB4ZjgsMHg4MiwweDVlLDB4MDIgfSwKLSAgMTYsIDB4OTg2MCwgMCwgezB4ODcsMHg4MCwweDJkLDB4MjIsMHgwYiwweDc5LDB4MDIsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTg3MCwgMCwgezB4MDgsMHgwNCwweGNjLDB4MDQsMHg4MywweDAyLDB4MmMsMHhkNCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4YTAgfSwKLSAgMTYsIDB4OTg4MCwgMCwgezB4YzAsMHg4YSwweDM4LDB4MDYsMHgwYywweDAwLDB4YjMsMHg4MCwweDIwLDB4ZTEsMHg0OCwweDM5LDB4MTIsMHgyYywweDAwLDB4YjMgfSwKLSAgMTYsIDB4OTg5MCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDgyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyYywweDQ4LDB4MGIsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4OThhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDNmLDB4YTAgfSwKLSAgMTYsIDB4OThiMCwgMCwgezB4MGYsMHhlNCwweDAzLDB4ZDgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhlOCwweDAzLDB4MjgsMHgwMCwweGZhLDB4NDAgfSwKLSAgMTYsIDB4OThjMCwgMCwgezB4MzIsMHhhOCwweDJjLDB4YTAsMHgwOSwweDI4LDB4MDgsMHhmMiwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTQsMHgwMywweDY4LDB4MDAgfSwKLSAgMTYsIDB4OThkMCwgMCwgezB4Y2EsMHgwMCwweDNmLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OThlMCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDAsMHhmOCwweDAxLDB4M2UsMHgxMiwweDBiLDB4ODAsMHgwMywweGUwLDB4NDAsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OThmMCwgMCwgezB4MDAsMHg0ZiwweDg0LDB4MDMsMHhlMCwweDA0LDB4ZjAsMHgwOCwweDNlLDB4MDAsMHg0ZiwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4OTkwMCwgMCwgezB4NDEsMHgzZSwweDAwLDB4MmYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OTkxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNiwweDAwLDB4YzksMHgxMiwweDNlLDB4NTAgfSwKLSAgMTYsIDB4OTkyMCwgMCwgezB4OGYsMHg5MCwweDgzLDB4ZTQsMHgyMCwweGMxLDB4MDAsMHgzYSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OTkzMCwgMCwgezB4MzAsMHg2OCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2EsMHg0MCwweDBlLDB4OTgsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4OTk0MCwgMCwgezB4YzksMHg5MCwweDNlLDB4NjksMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTk1MCwgMCwgezB4ODAsMHgwNCwweDY3LDB4NGEsMHg4OSwweDgwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4ODAsMHhhOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4OTk2MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMSwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDEwLDB4ODkgfSwKLSAgMTYsIDB4OTk3MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MywweDAyLDB4MjQsMHgyMiwweDg5LDB4NDIsMHgyYywweDYwLDB4NDgsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4OTk4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHgyNCwweDAwLDB4OTksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4OTk5MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfSwKLSAgMTYsIDB4OTlhMCwgMCwgezB4MjMsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDI0LDB4MDAsMHg5OSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTAsMHgwNiwweDI0LDB4NDAgfSwKLSAgMTYsIDB4OTliMCwgMCwgezB4ODksMHg0MSwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTljMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4ODAsMHg5MSwweDIwLDB4MmMsMHg0OCwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4OTlkMCwgMCwgezB4NDgsMHgwYiwweDEwLDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweGExLDB4NDksMHgwOCwweDUyLDB4NGEsMHgwNCwweDgwLDB4ODEgfSwKLSAgMTYsIDB4OTllMCwgMCwgezB4MDAsMHgyMCwweDQ4LDB4NDgsMHgxMiwweDBhLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyYywweDQwLDB4MjgsMHgxMiwweDAyLDB4MDIgfSwKLSAgMTYsIDB4OTlmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4ZDgsMHgwNCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4OWEwMCwgMCwgezB4MGYsMHg4NSwweDAzLDB4ZTAsMHgwMCwweGMwLDB4NTAsMHgzYSwweDE0LDB4MGYsMHhhNSwweDAzLDB4ZTEsMHg0MCwweGY4LDB4MDIgfSwKLSAgMTYsIDB4OWExMCwgMCwgezB4MzIsMHg4MCwweDJjLDB4YzUsMHgwMywweDIxLDB4NDAsMHhkYSwweDAwLDB4M2EsMHgxNCwweDBlLDB4ODUsMHg0MywweDIxLDB4NDAgfSwKLSAgMTYsIDB4OWEyMCwgMCwgezB4YzgsMHg1MiwweDNlLDB4MTQsMHgwYywweDg1LDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWEzMCwgMCwgezB4ODgsMHgxZCwweGU0LDB4NDQsMHhlOSwweDEwLDB4M2YsMHg0NCwweDRmLDB4ZDAsMHgwMiwweGZjLDB4MDAsMHhmOSwweDEyLDB4M2UgfSwKLSAgMTYsIDB4OWE0MCwgMCwgezB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNlLDB4NDQsMHg0ZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZTkgfSwKLSAgMTYsIDB4OWE1MCwgMCwgezB4NDAsMHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTIsMHgzZiwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4OWE2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhmNiwweGEwLDB4ZmQsMHg4MCwweGIzLDB4NDAgfSwKLSAgMTYsIDB4OWE3MCwgMCwgezB4MGMsMHgxMCwweDAzLDB4MTQsMHgwMCwweGZkLDB4YTAsMHgzMiwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZTQsMHgwMCwweGY1LDB4ODYgfSwKLSAgMTYsIDB4OWE4MCwgMCwgezB4MzMsMHg2MCwweDJjLDB4OWEsMHg4MywweDI0LDB4MDQsMHhmZCwweGE4LDB4MjIsMHg0MCwweDBkLDB4NTAsMHg0MywweGY0LDB4MDAgfSwKLSAgMTYsIDB4OWE5MCwgMCwgezB4ZmQsMHgwMCwweDMzLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWFhMCwgMCwgezB4NzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweDAwLDB4MjIsMHgwMCwweDI4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwLDB4YTIgfSwKLSAgMTYsIDB4OWFiMCwgMCwgezB4MDAsMHgwYiwweDhhLDB4MTIsMHhlMCwweDAwLDB4YjgsMHgwNCwweDIyLDB4MTQsMHgwOCwweDg0LDB4MDIsMHgyMCwweDAwLDB4YjggfSwKLSAgMTYsIDB4OWFjMCwgMCwgezB4NDAsMHgyMCwweDAwLDB4ODgsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHhhMiwweDAwLDB4MGIsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4OWFkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHg0MiwweDIwLDB4NDAgfSwKLSAgMTYsIDB4OWFlMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4NDAsMHgyMCwweDQwLDB4MGIsMHgxMCwweDA2LDB4YzQsMHgwMCwweGIxLDB4NDAgfSwKLSAgMTYsIDB4OWFmMCwgMCwgezB4MjQsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQ0LDB4MDQsMHhiMSwweDAwLDB4NjAsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDAgfSwKLSAgMTYsIDB4OWIwMCwgMCwgezB4YjEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgxMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWIxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAyLDB4MjIsMHg2MCwweDA4LDB4OTQsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAxLDB4MjIgfSwKLSAgMTYsIDB4OWIyMCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAwLDB4YjksMHgyMCwweDI2LDB4NDAsMHgwOCwweDk0LDB4MDIsMHg2NCwweDA4LDB4YjkgfSwKLSAgMTYsIDB4OWIzMCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MiwweDAyLDB4ZWMsMHgwOCwweGI5LDB4MDQsMHgyMiwweDQxLDB4MGIsMHgxMCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4OWI0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDEwLDB4ZjEsMHgwMCwweDMyLDB4NjAgfSwKLSAgMTYsIDB4OWI1MCwgMCwgezB4MGMsMHg5NCwweDBiLDB4MjUsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4OGYsMHg5NCwweGQzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OWI2MCwgMCwgezB4MzYsMHg0MCwweDRjLDB4OTAsMHgwYiwweDY0LDB4MDAsMHhmMSwweDAwLDB4MzIsMHg0MCwweDBkLDB4OTIsMHgxMiwweGU0LDB4MDAgfSwKLSAgMTYsIDB4OWI3MCwgMCwgezB4ZjksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWI4MCwgMCwgezB4NjgsMHg0MSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDhmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OWI5MCwgMCwgezB4NDAsMHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGJhLDB4NDAsMHgyZiwweDkwLDB4MjMsMHhhNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OWJhMCwgMCwgezB4MDgsMHhiZSwweDQwLDB4Y2YsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGYxLDB4MDEsMHgzZSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZGEgfSwKLSAgMTYsIDB4OWJiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweGM4LDB4ZjgsMHgwMCwweDNlLDB4MDMgfSwKLSAgMTYsIDB4OWJjMCwgMCwgezB4MGMsMHg4NCwweDAzLDB4YTEsMHgxMCwweGU4LDB4MDAsMHgzMiwweDAwLDB4OGMsMHg4NSwweDgzLDB4ZTAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4OWJkMCwgMCwgezB4MzgsMHgwYywweDJjLDB4MDAsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwLDB4M2MsMHgwMCwweDBkLDB4ODAsMHgwMiwweDIwLDB4MTAgfSwKLSAgMTYsIDB4OWJlMCwgMCwgezB4YzgsMHgyMCwweGIyLDB4MDIsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWJmMCwgMCwgezB4MjgsMHgwNSwweDM5LDB4MTAsMHhiZSwweDA0LDB4NmYsMHhhMCwweDA4LDB4YTAsMHgwMiwweDNhLDB4MDAsMHg4MiwweDAwLDB4YTIgfSwKLSAgMTYsIDB4OWMwMCwgMCwgezB4ODAsMHg4ZCwweGVjLDB4MDMsMHhhOCwweDAwLDB4OGEsMHgwMCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MjIsMHgyOCwweDAwLDB4OGUgfSwKLSAgMTYsIDB4OWMxMCwgMCwgezB4Y2MsMHgyZiwweDgwLDB4MDgsMHhlOCwweGMyLDB4YjgsMHgwMCwweDhlLDB4NjAsMHgyMywweDkwLDB4MGIsMHhhMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4OWMyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0ZSwweDA4LDB4YjAsMHg3MiwweDJjLDB4ZDAgfSwKLSAgMTYsIDB4OWMzMCwgMCwgezB4MjgsMHhiMCwweDA2LDB4OGMsMHgwMSwweGExLDB4MDIsMHgyMCwweGMwLDB4MDgsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4OWM0MCwgMCwgezB4MjAsMHhjMCwweDI5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MSwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzIsMHgwMiwweDBjLDB4NDAgfSwKLSAgMTYsIDB4OWM1MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4ZjQsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWM2MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNCwweDAwLDB4MmQsMHhkMCwweDQ4LDB4ZjIsMHgwMiwweDFlLDB4MjEsMHg4NSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4OWM3MCwgMCwgezB4ZTgsMHgwOSwweDcyLDB4MDIsMHg4ZSwweDgwLDB4OGYsMHgwMSwweDIwLDB4YzAsMHgwOSwweDcyLDB4MDIsMHgwZSwweDgwLDB4ODcgfSwKLSAgMTYsIDB4OWM4MCwgMCwgezB4MDAsMHgyZCwweGNjLDB4MTgsMHg1OCwweDAyLDB4OGUsMHgwMCwweDg1LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZTggfSwKLSAgMTYsIDB4OWM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4OWNhMCwgMCwgezB4MGMsMHg3OCwweDgzLDB4OWEsMHgwMCwweGVkLDB4ZDAsMHgzMSwweGY0LDB4MGMsMHg2YSwweDAzLDB4ZGUsMHg4MiwweGM3LDB4ODAgfSwKLSAgMTYsIDB4OWNiMCwgMCwgezB4MzksMHhlMCwweDBkLDB4ZjgsMHg4MywweDVlLDB4YzIsMHhjNSwweDgwLDB4M2QsMHhlOCwweDBjLDB4NjgsMHgwMywweDEyLDB4MDAgfSwKLSAgMTYsIDB4OWNjMCwgMCwgezB4Y2YsMHg4MCwweDMxLDB4ZTAsMHgwZiwweDdlLDB4ODMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWNkMCwgMCwgezB4MDgsMHgwZCwweGFjLDB4MDgsMHhmOCwweDAwLDB4M2MsMHhjMCwweDBmLDB4YjMsMHgwMywweGVjLDB4MDAsMHhmOSwweDAyLDB4M2UgfSwKLSAgMTYsIDB4OWNlMCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MDMsMHhlZCwweDQwLDB4ZmIsMHgwMCwweGJlLDB4ODAsMHgwZSwweGIzLDB4MDMsMHhlZCwweGMwLDB4ZmIgfSwKLSAgMTYsIDB4OWNmMCwgMCwgezB4MDAsMHgzZSwweGQyLDB4MmUsMHg4MCwweDAzLDB4ZWMsMHgwMiwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4OWQwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4ZjAsMHg5MSwweDMzLDB4ZTAgfSwKLSAgMTYsIDB4OWQxMCwgMCwgezB4OGYsMHhmOCwweDAzLDB4ZmUsMHgwMCwweGZkLDB4ODAsMHgzZiwweGUwLDB4MGMsMHg3OCwweDgzLDB4M2YsMHgwMCwweGNmLDB4ODAgfSwKLSAgMTYsIDB4OWQyMCwgMCwgezB4M2YsMHhhMCwweDBjLDB4ZjgsMHgwMywweDNlLDB4MDAsMHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgxMywweGZlLDB4MTAgfSwKLSAgMTYsIDB4OWQzMCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4MjAsMHgwZiwweGY5LDB4NDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQ0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNCwweGMxLDB4MzEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGQ0LDB4MTAsMHhlNSwweDIwLDB4MmYgfSwKLSAgMTYsIDB4OWQ1MCwgMCwgezB4YzgsMHgwZiwweDQwLDB4MDMsMHg1YywweDAwLDB4ODcsMHgwMCwweDJkLDB4ODAsMHgwOCwweDcwLDB4MDIsMHgxYywweDQwLDB4ODcgfSwKLSAgMTYsIDB4OWQ2MCwgMCwgezB4MTAsMHgyZCwweGMwLDB4MGIsMHg3NiwweDAyLDB4ZGMsMHg4MCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZWEgfSwKLSAgMTYsIDB4OWQ3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg5YywweDAwLDB4YjYsMHgyMiwweDIxLDB4ZDAgfSwKLSAgMTYsIDB4OWQ4MCwgMCwgezB4MGIsMHg3MCwweDgyLDB4ZDgsMHg0MCwweGI1LDB4MDIsMHgyZCwweGMwLDB4ODgsMHg2NSwweDAyLDB4MGMsMHgwMCwweDg3LDB4MTggfSwKLSAgMTYsIDB4OWQ5MCwgMCwgezB4MmMsMHgwNCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDIsMHg4NSwweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHg0NiwweDkwLDB4MTAgfSwKLSAgMTYsIDB4OWRhMCwgMCwgezB4YjYsMHgwMCwweDJkLDB4MDAsMHgwYiwweDcwLDB4MjIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWRiMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDgsMHhiMiwweDAwLDB4YTQsMHhjMCwweDBiLDB4MzAsMHg0MiwweGM2LDB4MTAsMHhhMSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4OWRjMCwgMCwgezB4YzAsMHgwYSwweDAwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4MDgsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMgfSwKLSAgMTYsIDB4OWRkMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgxOCwweDgyLDB4YzQsMHgwMCwweGIwLDB4MDAsMHgyYywweDQwLDB4MGIsMHgzMCwweDEyLDB4ZDggfSwKLSAgMTYsIDB4OWRlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhhYywweDAwLDB4MzgsMHgwMCwweDMyLDB4NTAgfSwKLSAgMTYsIDB4OWRmMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4ZTYsMHgyMCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MDgsMHhkMCwweDAyLDB4M2MsMHgwMiwweGNiLDB4ODAgfSwKLSAgMTYsIDB4OWUwMCwgMCwgezB4M2MsMHg1MCwweDJjLDB4ZjAsMHgwYSwweGJjLDB4MDAsMHhjOSwweDAwLDB4M2YsMHhjMCwweDBmLDB4YmUsMHgwMywweGFjLDB4MDAgfSwKLSAgMTYsIDB4OWUxMCwgMCwgezB4ZmEsMHgwMiwweDJlLDB4ZjcsMHg0ZiwweGYwLDB4MDMsMHhlZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWUyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmMSwweDAwLDB4M2EsMHhmMCwweDBmLDB4YjAsMHgwMywweGU5LDB4MDAsMHhmOSwweDAxLDB4M2UgfSwKLSAgMTYsIDB4OWUzMCwgMCwgezB4YzAsMHgwZiwweDkwLDB4MTMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4NTUsMHgwZiwweGIwLDB4MDEsMHg2YywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4OWU0MCwgMCwgezB4MDIsMHgzZSwweGMwLDB4MGYsMHg5MCwweDczLDB4ZTAsMHgwMCwweGY4LDB4NDEsMHgzZSwweDAwLDB4MGYsMHgzMCwweDAxLDB4ZTAgfSwKLSAgMTYsIDB4OWU1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhmYywweDAwLDB4ZmMsMHgwMCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4OWU2MCwgMCwgezB4MWYsMHhmMCwweDEzLDB4ZjAsMHgwOCwweGZkLDB4MDIsMHgzZiwweGMwLDB4OGQsMHhjMCwweDAzLDB4M2MsMHgwMCwweGNmLDB4YTAgfSwKLSAgMTYsIDB4OWU3MCwgMCwgezB4M2YsMHg4MCwweDBjLDB4NzAsMHgwMywweDNjLDB4MTAsMHhmYywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMywweGIwLDB4MDAgfSwKLSAgMTYsIDB4OWU4MCwgMCwgezB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwNCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWU5MCwgMCwgezB4ODQsMHgwNCwweDZlLDB4MDAsMHhiOSwweGMyLDB4YTIsMHhmMCwweDBiLDB4YjAsMHg0MiwweGViLDB4MDAsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OWVhMCwgMCwgezB4YzAsMHgwZiwweDE4LDB4MDMsMHg2YywweDAwLDB4ZDksMHg4MSwweDJlLDB4YjAsMHgwYSwweGIwLDB4NDIsMHgyYywweDAwLDB4YmEgfSwKLSAgMTYsIDB4OWViMCwgMCwgezB4YzYsMHgyZSwweGMwLDB4MGIsMHg4YywweDAyLDB4ZTMsMHgwMCwweGI4LDB4YzAsMHgzYywweGEwLDB4MGQsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4OWVjMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZiwweDAwLDB4YjgsMHg4MCwweDIyLDB4ZTIgfSwKLSAgMTYsIDB4OWVkMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4ZTYsMHgyMCwweGI5LDB4MDAsMHgyYywweGMwLDB4MDgsMHhiOCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAgfSwKLSAgMTYsIDB4OWVlMCwgMCwgezB4MmUsMHgzMCwweDQ4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiOSwweGMwLDB4MmUsMHhjMSwweDBiLDB4ODgsMHgwMiwweGVlLDB4MTAgfSwKLSAgMTYsIDB4OWVmMCwgMCwgezB4YjksMHhjMCwweDJlLDB4MjAsMHgxOSwweGIwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWYwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwNiwweGMwLDB4MDAsMHg5MSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4OWYxMCwgMCwgezB4YzAsMHg0OSwweDgwLDB4MDIsMHg0YywweDA0LDB4OTEsMHgwMCwweDJjLDB4MDAsMHg4YSwweDMwLDB4MGEsMHgwYywweDA0LDB4YjEgfSwKLSAgMTYsIDB4OWYyMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MWIsMHgwMCwweDEyLDB4NDksMHgxMCwweGIxLDB4MDAsMHgyZSwweDIwLDB4MDksMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4OWYzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4YjgsMHgyMCwweDIyLDB4YzAgfSwKLSAgMTYsIDB4OWY0MCwgMCwgezB4OGIsMHhmMCwweDAzLDB4ZTAsMHgwOCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhhMCwweDAzLDB4M2MsMHgwMCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4OWY1MCwgMCwgezB4M2UsMHgwMCwweDRjLDB4ZjAsMHgwYSwweDNjLDB4MDAsMHhiOSwweDAwLDB4MzcsMHhjMSwweDBmLDB4YTAsMHgwMywweGUwLDB4MDAgfSwKLSAgMTYsIDB4OWY2MCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4MDAsMHgwZCwweGYwLDB4MGIsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWY3MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDEsMHhmYywweDQwLDB4M2YsMHg4MCwweDRmLDB4ZjAsMHgwMiwweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4OWY4MCwgMCwgezB4YzEsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHg0ZiwweGYwLDB4NjMsMHhmYywweDAwLDB4ZmQgfSwKLSAgMTYsIDB4OWY5MCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGZjLDB4MDAsMHg3YiwweDAwLDB4MGYsMHhmMCwweDQzLDB4ZTggfSwKLSAgMTYsIDB4OWZhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmOCwweDAwLDB4YzgsMHgxMCwweDMzLDB4MDQgfSwKLSAgMTYsIDB4OWZiMCwgMCwgezB4MGMsMHg0MCwweDAyLDB4MzQsMHgwMCwweGM4LDB4ODUsMHgxZiwweGMwLDB4MmQsMHhkOSwweDAzLDB4ZmMsMHhjMCwweGRiLDB4MjggfSwKLSAgMTYsIDB4OWZjMCwgMCwgezB4MzcsMHg2NCwweDBmLDB4ZGIsMHgwMywweDNlLDB4MDAsMHhmZiwweDI1LDB4M2YsMHhjOCwweDBlLDB4ZjIsMHgwMywweGZlLDB4MjAgfSwKLSAgMTYsIDB4OWZkMCwgMCwgezB4ZmYsMHhhNCwweDM3LDB4YzQsMHgwYywweGM4LDB4MDMsMHgzMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWZlMCwgMCwgezB4ODAsMHgxMCwweGU4LDB4MDAsMHg4OCwweDIwLDB4MjIsMHgwMCwweDA4LDB4ODgsMHgxMiwweDI2LDB4MDQsMHg4OSwweDgyLDB4MmUgfSwKLSAgMTYsIDB4OWZmMCwgMCwgezB4ZjQsMHg0OCwweGI4LDB4MDIsMHhmYywweGM0LDB4OTgsMHhjMiwweDIyLDB4N2MsMHg0YiwweDlkLDB4NDIsMHgyNiwweDA4LDB4YmYgfSwKLSAgMTYsIDB4YTAwMCwgMCwgezB4MTgsMHg3NywweGU0LDB4MDgsMHhmMSwweDgyLDB4ZWYsMHgwMCwweGJiLDB4ZDAsMHgyMiwweGQ4LDB4MDgsMHg5MCwweDgzLDB4NjAgfSwKLSAgMTYsIDB4YTAxMCwgMCwgezB4MDIsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4NDUsMHhjOCwweDA0LDB4YTAsMHgwMCwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTAyMCwgMCwgezB4MGEsMHgwMCwweDAyLDB4MGMsMHgwMCwweDgyLDB4MDQsMHgyYywweGUwLDB4MDgsMHgxMCwweDAyLDB4Y2MsMHg4MCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4YTAzMCwgMCwgezB4MjQsMHgwMCwweDBiLDB4MTAsMHgwNiwweGM4LDB4MDEsMHhiMywweDIwLDB4MmMsMHhjMCwweDI5LDB4MzIsMHgwMiwweGM4LDB4MDggfSwKLSAgMTYsIDB4YTA0MCwgMCwgezB4YjEsMHgwMCwweDI0LDB4ZDAsMHgwOCwweDgyLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTA1MCwgMCwgezB4YzAsMHgxNSwweGE4LDB4MDAsMHhhOCwweDBjLDB4MjYsMHgwMCwweDBhLDB4ODAsMHgwMiwweDJjLDB4MTQsMHg4YSwweDAyLDB4NmUgfSwKLSAgMTYsIDB4YTA2MCwgMCwgezB4ZTAsMHgwOCwweGIwLDB4MDIsMHg0YywweDA4LDB4YTgsMHgwMCwweDI2LDB4MjAsMHgwYiwweDljLDB4MDIsMHhlNCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YTA3MCwgMCwgezB4MDQsMHgyMiwweGMwLDB4MTksMHhiMCwweDAyLDB4ZTgsMHgwMSwweGJiLDB4MTEsMHgwMiwweGMwLDB4ODgsMHg5MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4YTA4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAyLDB4ZWEsMHg0MCwweGI2LDB4NjAgfSwKLSAgMTYsIDB4YTA5MCwgMCwgezB4MmUsMHg5OCwweDBiLDB4MjAsMHgwMiwweGM4LDB4MDIsMHgzZSwweGMwLDB4MGQsMHg5OCwweDAzLDB4ZWMsMHgwMiwweGRiLDB4ODggfSwKLSAgMTYsIDB4YTBhMCwgMCwgezB4YjYsMHgyMSwweDBmLDB4ODgsMHgwMywweGFjLDB4MDgsMHhmYiwweDAwLDB4MmMsMHhjMCwweDBlLDB4YjAsMHg0MywweGU1LDB4ODAgfSwKLSAgMTYsIDB4YTBiMCwgMCwgezB4ZjAsMHg2MCwweDM2LDB4YzAsMHgwYywweDAxLDB4NDMsMHg0OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTBjMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhkNiwweDAxLDB4M2IsMHg2NCwweDg1LDB4ZDksMHgwMywweGYwLDB4MGMsMHhmZiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTBkMCwgMCwgezB4YzEsMHgwZiwweGZjLDB4MjEsMHhlYywweDAwLDB4ZDcsMHg5MCwweDNiLDB4NDAsMHgwZiwweDUwLDB4MDMsMHgzYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YTBlMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4OGUsMHhmMCwweDAzLDB4ZjQsMHg0MCwweGZkLDB4ODgsMHgzZiwweGMwLDB4MmYsMHhkMCwweDAyLDB4NzggfSwKLSAgMTYsIDB4YTBmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDAwLDB4ZGEsMHg0MCwweDNjLDB4NDAgfSwKLSAgMTYsIDB4YTEwMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4NDgsMHgwMCwweGY5LDB4MjIsMHgzYywweGMyLDB4MGUsMHg5MCwweDgzLDB4ZWMsMHgwMiwweGRiLDB4MDQgfSwKLSAgMTYsIDB4YTExMCwgMCwgezB4M2EsMHgwOCwweDBmLDB4ODQsMHg4NywweGU4LDB4MDAsMHhjYiwweDAwLDB4M2UsMHhjNCwweDBlLDB4YjAsMHgwMywweGVkLDB4MDAgfSwKLSAgMTYsIDB4YTEyMCwgMCwgezB4ZTgsMHg0MiwweDNhLDB4YzAsMHgwZiwweDgwLDB4MGIsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTEzMCwgMCwgezB4ODgsMHgwNSwweDJjLDB4MDgsMHg4YSwweDAwLDB4MmUsMHg0MiwweDhiLDB4OTAsMHgwMiwweDI4LDB4MTgsMHhiYiwweDQ5LDB4MjIgfSwKLSAgMTYsIDB4YTE0MCwgMCwgezB4ZDAsMHgzOCwweGJjLDB4ODIsMHhmYywweDAwLDB4ZTgsMHgwMiwweDIyLDB4NjIsMHhjYiwweDljLDB4MDAsMHhlZiwweDYwLDB4ZGYgfSwKLSAgMTYsIDB4YTE1MCwgMCwgezB4MDAsMHgyZiwweGMwLDB4MGIsMHhmMCwweDAyLDB4ZWMsMHgwMCwweDA5LDB4NDAsMHgzNywweGMwLDB4MGIsMHg5MCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4YTE2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDEwLDB4MTEsMHgwMCwweDJjLDB4YTAgfSwKLSAgMTYsIDB4YTE3MCwgMCwgezB4MGIsMHgyMCwweDAyLDB4NDQsMHgwMCwweDkwLDB4YzAsMHg2NCwweDM0LDB4MjgsMHgzNCwweDAyLDB4Y2MsMHgwMCwweDkzLDB4ODQgfSwKLSAgMTYsIDB4YTE4MCwgMCwgezB4MjgsMHg0MCwweDBiLDB4MDgsMHgwMCwweGNlLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMiwweDBhLDB4MzAsMHgwMiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4YTE5MCwgMCwgezB4YjIsMHg0MCwweDIyLDB4YzAsMHgwYiwweDIwLDB4MDIsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTFhMCwgMCwgezB4NzAsMHgwMSwweDFhLDB4NDAsMHg4NSwweDgwLDB4MmQsMHhhMCwweDBiLDB4NjgsMHgwNiwweDE2LDB4ODAsMHhiZCwweDkwLDB4MjUgfSwKLSAgMTYsIDB4YTFiMCwgMCwgezB4MjQsMHgxOCwweDdiLDB4NDIsMHhkZSwweDQwLDB4YTAsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDY4LDB4MDIsMHhkNiwweDAwLDB4OTcgfSwKLSAgMTYsIDB4YTFjMCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4Y2UsMHg0MCwweDkyLDB4ODAsMHg2ZCwweGU0LDB4MGIsMHg3OCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YTFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyOCwweDAwLDB4ZDEsMHg4MCwweDNjLDB4ODggfSwKLSAgMTYsIDB4YTFlMCwgMCwgezB4MGIsMHgyMiwweDAzLDB4NGUsMHg4MCwweGYyLDB4YTEsMHgzYywweDI0LDB4MmEsMHgzOSwweDAzLDB4Y2MsMHg0MCwweGQzLDB4YWMgfSwKLSAgMTYsIDB4YTFmMCwgMCwgezB4MzgsMHhjNSwweDBmLDB4MzAsMHg4MiwweGM4LDB4MDAsMHhkMywweDAwLDB4M2MsMHhjMCwweDBlLDB4MzAsMHgxMywweGMwLDB4MDAgfSwKLSAgMTYsIDB4YTIwMCwgMCwgezB4ZjEsMHgwMCwweDM4LDB4YzAsMHgwZiwweGEwLDB4MDMsMHgxYSwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTIxMCwgMCwgezB4NDAsMHgxZCwweGI4LDB4MTAsMHhmZCwweDM0LDB4M2UsMHg4MCwweDBmLDB4ZTAsMHgwMywweGVlLDB4MDAsMHg3MiwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YTIyMCwgMCwgezB4MDAsMHgwZiwweGIwLDB4NjMsMHhlYywweDQwLDB4ZjgsMHgyMiwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkNCwweDQwLDB4ZmYgfSwKLSAgMTYsIDB4YTIzMCwgMCwgezB4MDAsMHgzZiwweGQyLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGNmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4YTI0MCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZSwweDAwLDB4ZWIsMHgwMCwweDM2LDB4ZTAgfSwKLSAgMTYsIDB4YTI1MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4MjAsMHgwMCwweGYwLDB4ODAsMHgzMywweGMwLDB4MDgsMHhiOCwweDAzLDB4MmMsMHg4MCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4YTI2MCwgMCwgezB4MzIsMHg4MCwweDBmLDB4YTAsMHgxMywweDZlLDB4MDgsMHhjYiwweDI4LDB4MzIsMHhlMCwweDBkLDB4YjQsMHg4MywweGUyLDB4MDAgfSwKLSAgMTYsIDB4YTI3MCwgMCwgezB4Y2EsMHgwMCwweDNlLDB4ZTAsMHgwYywweGE4LDB4MDMsMHgwMiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTI4MCwgMCwgezB4YzgsMHgxMSwweDhjLDB4MDQsMHg4MywweDAwLDB4MjEsMHhjMCwweDQ4LDB4NzAsMHgwMiwweDEwLDB4MDAsMHhiNywweDAyLDB4MjEgfSwKLSAgMTYsIDB4YTI5MCwgMCwgezB4YzAsMHg0YSwweDcwLDB4MDIsMHgwZCwweDQ4LDB4ZDQsMHgwMCwweDM1LDB4YzAsMHgwZSwweDYwLDB4MDIsMHhkYywweDAwLDB4YTcgfSwKLSAgMTYsIDB4YTJhMCwgMCwgezB4NDAsMHgyOSwweGMwLDB4MDksMHg3MiwweDAyLDB4ZDQsMHgxMCwweGE2LDB4MDIsMHgyZiwweGM4LDB4MDgsMHg3MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YTJiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4YTcsMHg4MCwweDIwLDB4ZTAgfSwKLSAgMTYsIDB4YTJjMCwgMCwgezB4MGEsMHgzOCwweDAyLDB4MWEsMHgwMCwweGI1LDB4ODAsMHgyMSwweGUwLDB4MDgsMHhmOCwweDIyLDB4NWMsMHg4MSwweDgzLDB4ODAgfSwKLSAgMTYsIDB4YTJkMCwgMCwgezB4MjEsMHhhMSwweDBiLDB4NzgsMHg4MiwweDVhLDB4MTAsMHg4MywweGEwLDB4MjAsMHhlOCwweDBhLDB4N2IsMHgwMiwweGRhLDB4MDAgfSwKLSAgMTYsIDB4YTJlMCwgMCwgezB4OTcsMHhjMCwweDJkLDB4ZTQsMHgwOCwweGU4LDB4MDIsMHgwOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTJmMCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDEwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHgwMiwweDA4LDB4MDgsMHhiMywweDcwLDB4MjAgfSwKLSAgMTYsIDB4YTMwMCwgMCwgezB4ZjgsMHgwYSwweDMwLDB4NDIsMHg0YywweDA0LDB4OTMsMHgxNCwweDI2LDB4YzQsMHgwYSwweDM4LDB4MDIsMHhjYywweDAwLDB4YTMgfSwKLSAgMTYsIDB4YTMxMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4YWEsMHgzMCwweDAyLDB4Y2UsMHg0MCwweGIzLDB4ODgsMHgyYywweGMwLDB4MjgsMHgzMCwweDBhLDB4MTIgfSwKLSAgMTYsIDB4YTMyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOSwweDAwLDB4ZWEsMHg4MCwweGI2LDB4OTAgfSwKLSAgMTYsIDB4YTMzMCwgMCwgezB4MmYsMHgyNCwweDBiLDB4MzksMHgwNCwweGJlLDB4YzAsMHgzMywweDkyLDB4MGMsMHhhMCwweDBiLDB4NjgsMHgxOCwweGNlLDB4YzAgfSwKLSAgMTYsIDB4YTM0MCwgMCwgezB4MzMsMHg4MCwweDBmLDB4ZTksMHg0MywweDc4LDB4MDAsMHhjYSwweDAwLDB4MzIsMHg4MCwweDBmLDB4YTAsMHgxMywweGY4LDB4NDggfSwKLSAgMTYsIDB4YTM1MCwgMCwgezB4ZGUsMHgwMCwweDNlLDB4ODAsMHgwYywweGUwLDB4MDIsMHgzYSwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTM2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MjQsMHhmOCwweDAwLDB4M2UsMHgxMiwweDBkLDB4ODAsMHg5MywweGIwLDB4MjgsMHhmOCwweDAwLDB4YmMgfSwKLSAgMTYsIDB4YTM3MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDIsMHgwZSwweDgwLDB4MDAsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4YTM4MCwgMCwgezB4MDEsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YTM5MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMCwweGIyLDB4NzAgfSwKLSAgMTYsIDB4YTNhMCwgMCwgezB4MGYsMHg5MCwweDAxLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5OCwweDAzLDB4ZTQsMHgwNCwweGU5LDB4MDggfSwKLSAgMTYsIDB4YTNiMCwgMCwgezB4M2EsMHg0OCwweDBjLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBiLDB4MTAsMHgwYiwweDI2LDB4ODAgfSwKLSAgMTYsIDB4YTNjMCwgMCwgezB4ZjEsMHg4MCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTNkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg2MSwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDgsMHg4OSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YTNlMCwgMCwgezB4NDAsMHgwZCwweDlhLDB4MDIsMHhlNCwweDA4LDB4YTksMHgwMCwweDIyLDB4NzgsMHgwZCwweDk0LDB4MDYsMHhlNCwweDEwLDB4YjkgfSwKLSAgMTYsIDB4YTNmMCwgMCwgezB4MDAsMHgyMiwweDUwLDB4MGIsMHg5MCwweDAyLDB4MjUsMHg4MCwweGI5LDB4ODAsMHgzNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YTQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjUsMHgwMCwweDIzLDB4NDIgfSwKLSAgMTYsIDB4YTQxMCwgMCwgezB4MGIsMHhkMCwweDBlLDB4YjQsMHgwMCwweDg5LDB4MDQsMHgyZSwweDYwLDB4MDgsMHg5MSwweDAyLDB4YzQsMHgwNCwweGI5LDB4MDQgfSwKLSAgMTYsIDB4YTQyMCwgMCwgezB4MmEsMHhjMCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MTAsMHhiMSwweDAwLDB4MjYsMHg0MiwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTQzMCwgMCwgezB4YjksMHgyMSwweDYyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQ0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHhiNSwweDQwLDB4MjEsMHg1MCwweDRiLDB4NTAsMHgwNiwweDk0LDB4MDIsMHg4MSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4YTQ1MCwgMCwgezB4NjAsMHgyOSwweDE0LDB4MDYsMHhjNSwweDAwLDB4YTEsMHgyMiwweDIwLDB4NTEsMHg4OSwweDE0LDB4MDIsMHhjNCwweDAwLDB4YjEgfSwKLSAgMTYsIDB4YTQ2MCwgMCwgezB4MjAsMHgyMCwweDQ4LDB4MGIsMHgxNCwweDAyLDB4MDQsMHgwMSwweGIxLDB4MDAsMHgwNCwweDUwLDB4MGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YTQ3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4YjgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YTQ4MCwgMCwgezB4OGYsMHg4MCwweDAzLDB4YjAsMHgwMCwweDg4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4MDQgfSwKLSAgMTYsIDB4YTQ5MCwgMCwgezB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhmOCwweDUwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDQgfSwKLSAgMTYsIDB4YTRhMCwgMCwgezB4ZjgsMHgwMSwweDEyLDB4MDAsMHg0ZiwweDgwLDB4MDcsMHhlZSwweDA3LDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTRiMCwgMCwgezB4OTgsMHgxZCwweGU1LDB4MTAsMHhmOSwweDQwLDB4M2UsMHg1MCwweDBmLDB4OTQsMHgwMiwweDY1LDB4MDEsMHhmZCwweDAxLDB4M2QgfSwKLSAgMTYsIDB4YTRjMCwgMCwgezB4NTAsMHg0ZiwweDUwLDB4MTMsMHhlNSwweDAwLDB4ZmQsMHgxMCwweDFmLDB4NTAsMHgwNywweGQ0LDB4NDMsMHhkNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YTRkMCwgMCwgezB4MTAsMHgxZSwweDQ0LDB4MGYsMHg5NCwweDAzLDB4ZDUsMHgwMCwweGZkLDB4NDAsMHgzZSwweDUwLDB4MGYsMHg1MiwweDgzLDB4ZWUgfSwKLSAgMTYsIDB4YTRlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhlNCwweDQwLDB4ZjksMHg2MCwweDNmLDB4NDQgfSwKLSAgMTYsIDB4YTRmMCwgMCwgezB4MGYsMHhkMCwweGMzLDB4ZTQsMHgzMCwweGY5LDB4MDEsMHgzZSwweDQyLDB4MGMsMHhkMCwweDAzLDB4ZTcsMHg4MCwweGRkLDB4YTAgfSwKLSAgMTYsIDB4YTUwMCwgMCwgezB4MzMsMHg0MCwweDBjLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhjOSwweDkwLDB4M2YsMHg2OCwweDFlLDB4OTEsMHgwMywweDM0LDB4MDAgfSwKLSAgMTYsIDB4YTUxMCwgMCwgezB4ZmQsMHgwMCwweDNlLDB4NjgsMHgwYywweDk0LDB4MDMsMHgwZSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTUyMCwgMCwgezB4MzksMHgxMCwweGUwLDB4MDAsMHhiOCwweDQyLDB4MmUsMHgwOSwweDBiLDB4ODQsMHgwMiwweGUxLDB4MDQsMHhiZSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YTUzMCwgMCwgezB4MTAsMHgwOCwweDgwLDB4MjIsMHhjMiwweDgwLDB4ODgsMHg0MCwweDIyLDB4MDAsMHgwYSwweDgwLDB4MDIsMHhlMCwweDAwLDB4YTggfSwKLSAgMTYsIDB4YTU0MCwgMCwgezB4ZDAsMHgyZSwweDEwLDB4NGIsMHg4YSwweDAzLDB4NjAsMHgwMCwweGJhLDB4MDAsMHgyZSwweDMwLDB4MDgsMHg4YSwweDAyLDB4ODYgfSwKLSAgMTYsIDB4YTU1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhjNSwweDgwLDB4YjEsMHg2MCwweDZjLDB4ZDAgfSwKLSAgMTYsIDB4YTU2MCwgMCwgezB4MGIsMHgxMCwweDAwLDB4ZGMsMHgwYywweGI1LDB4MDAsMHgyYywweDQxLDB4MDgsMHgxMCwweDAyLDB4YzUsMHg4MCwweDkxLDB4MTAgfSwKLSAgMTYsIDB4YTU3MCwgMCwgezB4NjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweGU0LDB4MGMsMHg4MSwweDIyLDB4MmMsMHg1MCwweDA4LDB4MTAsMHg0MiwweDA0LDB4MDAgfSwKLSAgMTYsIDB4YTU4MCwgMCwgezB4YTEsMHgwMCwweDJjLDB4NWEsMHgyOCwweDkwLDB4MDIsMHg1MiwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTU5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDBiLDB4OTAsMHgxMiwweGY0LDB4ODAsMHhiZiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YTVhMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHg2MCwweDYwLDB4NDIsMHgwYSwweDk0LDB4MTIsMHhlNSwweDAwLDB4YTkgfSwKLSAgMTYsIDB4YTViMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4NjQsMHgyMCwweGI5LDB4MDAsMHgwZSwweDQwLDB4MDksMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4YTVjMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDEgfSwKLSAgMTYsIDB4YTVkMCwgMCwgezB4MGYsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGQxLDB4YzAgfSwKLSAgMTYsIDB4YTVlMCwgMCwgezB4YmEsMHg3MCwweDBjLDB4OTgsMHgwMywweGM0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweDI1LDB4NDAgfSwKLSAgMTYsIDB4YTVmMCwgMCwgezB4ZTksMHg0MCwweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHg2OCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTYwMCwgMCwgezB4NjgsMHgwMSwweGE0LDB4MTQsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgyMywweGU0LDB4MDgsMHhmOSwweGEwLDB4M2MgfSwKLSAgMTYsIDB4YTYxMCwgMCwgezB4YzIsMHgyZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZDksMHg4MCwweDNlLDB4NzAsMHgwZiwweDkxLDB4NDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YTYyMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MWYsMHg5MCwweDEzLDB4ZTYsMHgyMCwweGY5LDB4YTAsMHgzYywweDQwLDB4NGUsMHg5MCwweDAzLDB4OWEgfSwKLSAgMTYsIDB4YTYzMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDIgfSwKLSAgMTYsIDB4YTY0MCwgMCwgezB4MGYsMHg4MCwweDEzLDB4MjAsMHgwYywweGZjLDB4MDEsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NTAgfSwKLSAgMTYsIDB4YTY1MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwYiwweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHg0MywweGUwLDB4NDAgfSwKLSAgMTYsIDB4YTY2MCwgMCwgezB4ZjgsMHgwMiwweDNhLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTY3MCwgMCwgezB4YTgsMHg4NSwweDI4LDB4MDgsMHgzYSwweDAwLDB4MGYsMHg4MCwweDRiLDB4YTEsMHgwMiwweDI4LDB4MDAsMHhiYSwweDgyLDB4MmUgfSwKLSAgMTYsIDB4YTY4MCwgMCwgezB4ODgsMHg0OCwweGU0LDB4MDIsMHhlOCwweDAwLDB4YWUsMHg5MCwweGEzLDB4OTAsMHgwYiwweGUwLDB4MDAsMHgzOCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4YTY5MCwgMCwgezB4MDAsMHgzNywweGEwLDB4MDgsMHhhMCwweDAyLDB4ZjgsMHgwMCwweDllLDB4ZTAsMHgyMiwweDgwLDB4MGIsMHhhMCwweDIzLDB4NDIgfSwKLSAgMTYsIDB4YTZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDEwLDB4MzMsMHgwMCwweDJjLDB4ZDAgfSwKLSAgMTYsIDB4YTZiMCwgMCwgezB4MGIsMHgxNCwweDAyLDB4MGMsMHgwMCwweGIyLDB4OTEsMHgyYywweGQwLDB4MDgsMHgzZSwweDAyLDB4NGMsMHgwMCwweDgzLDB4NDAgfSwKLSAgMTYsIDB4YTZjMCwgMCwgezB4MjQsMHhjMiwweDBiLDB4MzYsMHgwMCwweDhjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDA5LDB4YjAsMHgwMiwweGNlLDB4MDAgfSwKLSAgMTYsIDB4YTZkMCwgMCwgezB4YjMsMHhjYywweDY4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTZlMCwgMCwgezB4ZTAsMHgwMSwweDFjLDB4ODgsMHhiNywweDI1LDB4MmQsMHhjMCwweDhiLDB4NTgsMHgxYSwweDFjLDB4MDgsMHhiNiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4YTZmMCwgMCwgezB4YzAsMHgwOCwweDc0LDB4MDIsMHhkYywweDQwLDB4YTUsMHgwMCwweDI1LDB4YzAsMHgxYiwweDc4LDB4MDIsMHg5NCwweDA4LDB4YjcgfSwKLSAgMTYsIDB4YTcwMCwgMCwgezB4ODAsMHgyNSwweGUzLDB4MGEsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDk3LDB4ODMsMHgyMSwweGM4LDB4OGIsMHhmMSwweDAyLDB4NDggfSwKLSAgMTYsIDB4YTcxMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDAwLDB4ZjcsMHhlMiwweDdkLDB4ZTAgfSwKLSAgMTYsIDB4YTcyMCwgMCwgezB4MGYsMHg1OCwweDQzLDB4MWUsMHgxOCwweGY2LDB4ODAsMHg3YywweGUwLDB4MmMsMHg2OCwweDAyLDB4NWUsMHg5MCwweGMzLDB4ODAgfSwKLSAgMTYsIDB4YTczMCwgMCwgezB4MzUsMHhlMCwweDBmLDB4ZjgsMHgwMywweDllLDB4MDQsMHhmZiwweGExLDB4MjAsMHhhMSwweDBkLDB4NzgsMHgwMywweGQ2LDB4MDAgfSwKLSAgMTYsIDB4YTc0MCwgMCwgezB4ZjcsMHg4MCwweDM5LDB4ZjgsMHgwZiwweDc4LDB4MDMsMHgwYSwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTc1MCwgMCwgezB4NDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDQwLDB4N2YsMHg0MSwweDBmLDB4MTAsMHgwMywweGVjLDB4MDQsMHhmYSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTc2MCwgMCwgezB4ZDAsMHgwZiwweGEwLDB4MDMsMHhlZCwweDAwLDB4ZTksMHgwMCwweDJhLDB4MDAsMHgwZiwweGIwLDB4MDMsMHg2NCwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YTc3MCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGQzLDB4MDAsMHgzNiwweGMwLDB4MGYsMHgzOCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YTc4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDQ4LDB4Y2YsMHhjMCwweDMzLDB4NjAgfSwKLSAgMTYsIDB4YTc5MCwgMCwgezB4OGMsMHhjOCwweDQzLDB4ZDYsMHgwMCwweGNjLDB4OTQsMHgzZiwweGIwLDB4MGQsMHhmOCwweDAzLDB4N2YsMHgwMCwweGRmLDB4ODAgfSwKLSAgMTYsIDB4YTdhMCwgMCwgezB4M2YsMHg2MCwweDBmLDB4ZDgsMHgwMywweGRlLDB4MDAsMHhjZiwweGNhLDB4M2QsMHg2MCwweDBjLDB4ZjgsMHgxMywweDNhLDB4NDQgfSwKLSAgMTYsIDB4YTdiMCwgMCwgezB4ZGQsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4NDMsMHgxOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTdjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4ZiwweDExLDB4MzMsMHhjMCwweDQ4LDB4NDEsMHgxMiwweGM0LDB4NDgsMHg4NCwweDExLDB4MmMgfSwKLSAgMTYsIDB4YTdkMCwgMCwgezB4ZWMsMHgyYSwweGJhLDB4MDMsMHgzYywweDQwLDB4ZDcsMHg0OCwweDJkLDB4NDEsMHgwYiwweDYwLDB4MDIsMHhkNCwweDAwLDB4ZDcgfSwKLSAgMTYsIDB4YTdlMCwgMCwgezB4MDEsMHgzZCwweGMwLDB4MGQsMHhmMCwweDAzLDB4NWEsMHgwMCwweDg0LDB4MTgsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAzLDB4NmEgfSwKLSAgMTYsIDB4YTdmMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg4YywweDA4LDB4ODcsMHgwMCwweDIxLDB4NDAgfSwKLSAgMTYsIDB4YTgwMCwgMCwgezB4MDksMHg0MCwweDAyLDB4ZDQsMHgwMCwweGE0LDB4OTIsMHgyZCwweGM4LDB4MDksMHg2MiwweDgyLDB4NWMsMHgwMCwweDg3LDB4MDAgfSwKLSAgMTYsIDB4YTgxMCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweGZjLDB4MDAsMHg4NywweDAwLDB4MmQsMHgwNCwweDA4LDB4NzAsMHgwMiwweDFjLDB4ODAgfSwKLSAgMTYsIDB4YTgyMCwgMCwgezB4YjUsMHgwMCwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTgzMCwgMCwgezB4NjAsMHgxMCwweGNjLDB4MDAsMHg4MywweDAwLDB4MjAsMHg0MCwweDA5LDB4MDAsMHgyMiwweGM3LDB4MDAsMHhhMCwweDQxLDB4MmMgfSwKLSAgMTYsIDB4YTg0MCwgMCwgezB4YzEsMHg0YiwweDA4LDB4MDIsMHgyYywweDAwLDB4OTMsMHg0MCwweDJjLDB4N2MsMHgwYiwweDM4LDB4MDIsMHhjNywweDIwLDB4OTMgfSwKLSAgMTYsIDB4YTg1MCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4NGYsMHg4NCwweGIwLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMiwweDEwLDB4NTAgfSwKLSAgMTYsIDB4YTg2MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MTUsMHhiYywweDAyLDB4Y2YsMHgwMCwweGIyLDB4NDAgfSwKLSAgMTYsIDB4YTg3MCwgMCwgezB4MGQsMHgxMCwweDAzLDB4ZTgsMHgyNCwweGViLDB4YzEsMHgzZSwweGMwLDB4MmQsMHg5OCwweDEzLDB4N2MsMHgwYSwweGMyLDB4NDMgfSwKLSAgMTYsIDB4YTg4MCwgMCwgezB4M2UsMHhiMCwweDBmLDB4YTksMHgwMywweGU5LDB4MjAsMHhjZiwweDAwLDB4M2UsMHhjMCwweDhjLDB4ZjAsMHgwMywweDBkLDB4MjAgfSwKLSAgMTYsIDB4YTg5MCwgMCwgezB4ZmEsMHhjMCwweDNmLDB4YzAsMHgwZiwweDc0LDB4MDEsMHgyYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YThhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2EsMHg0MCwweDhlLDB4OTAsMHgwMywweGU4LDB4MTQsMHg1YiwweDUwLDB4M2MgfSwKLSAgMTYsIDB4YThiMCwgMCwgezB4NTAsMHg0ZSwweDg0LDB4MDMsMHhlYywweDAwLDB4ZjgsMHg0MCwweDNlLDB4ODAsMHgwNywweDgxLDB4MDMsMHhlYywweDA4LDB4ZjMgfSwKLSAgMTYsIDB4YThjMCwgMCwgezB4MDAsMHgzYSwweGMwLDB4OWYsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTggfSwKLSAgMTYsIDB4YThkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4OTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDAgfSwKLSAgMTYsIDB4YThlMCwgMCwgezB4MGYsMHhkMCwweDAzLDB4MzgsMHgyMCwweGNmLDB4MDgsMHgzMiwweGMxLDB4MGUsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDggfSwKLSAgMTYsIDB4YThmMCwgMCwgezB4MzEsMHhlNSwweDBlLDB4ZTQsMHgwMywweDNhLDB4MDAsMHhmZiwweDAwLDB4MzMsMHg4MCwweDBmLDB4ZjAsMHgyYiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTkwMCwgMCwgezB4Y2MsMHhhMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTkxMCwgMCwgezB4ODAsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4M2EsMHg2OSwweDBiLDB4OTAsMHg2ZSwweDA4LDB4MDAsMHg4MywweDQxLDB4MzYgfSwKLSAgMTYsIDB4YTkyMCwgMCwgezB4NDAsMHhjOCwweDg4LDB4YzYsMHhlYywweDAwLDB4ODgsMHg0MCwweDM2LDB4ODAsMHgwZCwweGE4LDB4MDMsMHg2ZSwweDUwLDB4YmIgfSwKLSAgMTYsIDB4YTkzMCwgMCwgezB4MDAsMHgzNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjQsMHgwMCwweGQ5LDB4MDgsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YTk0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4NjAgfSwKLSAgMTYsIDB4YTk1MCwgMCwgezB4MDMsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg5LDB4MDEsMHgyMiwweDU4LDB4MDgsMHg5OCwweDIyLDB4ZWMsMHgwMSwweGFiLDB4MDAgfSwKLSAgMTYsIDB4YTk2MCwgMCwgezB4MjIsMHgwMCwweDBhLDB4MTAsMHgwMiwweDI4LDB4MDAsMHhiYiwweDAwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHgwMiwweDI4LDB4MDAgfSwKLSAgMTYsIDB4YTk3MCwgMCwgezB4OGEsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHgyMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTk4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjgsMHg0MCwweDhiLDB4MDAsMHgwMiwweDAyLDB4NDAsMHg4OSwweDAxLDB4MjQgfSwKLSAgMTYsIDB4YTk5MCwgMCwgezB4ZDIsMHgyOCwweDEwLDB4MDIsMHhjYywweDAwLDB4ODMsMHgxMCwweDI0LDB4MjAsMHgwOCwweDA4LDB4MDIsMHg0ZSwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YTlhMCwgMCwgezB4MDQsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDgsMHg4OCwweDkyLDB4MDAsMHgyYywweGMwLDB4MGIsMHhiMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YTliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YTljMCwgMCwgezB4MGYsMHg4MCwweDAyLDB4MjAsMHgxMCwweDg5LDB4NTAsMHgyMiwweGQ4LDB4MmUsMHg5NiwweDIyLDB4ZmMsMHgwMCwweGViLDB4NDAgfSwKLSAgMTYsIDB4YTlkMCwgMCwgezB4MzIsMHhjMCwweDBhLDB4OTAsMHgwMywweDI4LDB4MDAsMHhmZiwweDAwLDB4MjIsMHgwMCwweDBmLDB4YjAsMHgwMywweDJjLDB4YTAgfSwKLSAgMTYsIDB4YTllMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwMCwweDA2LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTlmMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZiwweDBjLDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwMiwweDcwLDB4OTAsMHhmZCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YWEwMCwgMCwgezB4YzksMHgwZiwweDk2LDB4YzMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDA0LDB4ZmYgfSwKLSAgMTYsIDB4YWExMCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YWEyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkYywweDgwLDB4ZmIsMHgyOCwweDNmLDB4MDAgfSwKLSAgMTYsIDB4YWEzMCwgMCwgezB4MGMsMHhjMSwweDBiLDB4ZjEsMHgwMiwweGVkLDB4MDAsMHgzNywweDMwLDB4MmMsMHhmMSwweDAzLDB4YjIsMHg0MCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4YWE0MCwgMCwgezB4YmIsMHhjMCwweDBmLDB4NDgsMHgwNiwweGIyLDB4MDAsMHhmYywweDgwLDB4M2IsMHhjYywweDBjLDB4ZjAsMHgwMywweDcwLDB4ODAgfSwKLSAgMTYsIDB4YWE1MCwgMCwgezB4ZGYsMHgyOCwweDMzLDB4MDQsMHgwZiwweGY0LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWE2MCwgMCwgezB4ODAsMHgxMCwweGZmLDB4NDAsMHhiZiwweDYwLDB4MmUsMHgyMSwweDA4LDB4ODIsMHgwMiwweDIwLDB4MDAsMHhhOSwweDI4LDB4MmEgfSwKLSAgMTYsIDB4YWE3MCwgMCwgezB4MDAsMHgwOSwweGZhLDB4MDIsMHgyMCwweDAwLDB4YmYsMHg1MSwweDIzLDB4ZDgsMHgwOSwweDk4LDB4MDIsMHhlNCwweDMwLDB4YjAgfSwKLSAgMTYsIDB4YWE4MCwgMCwgezB4MDAsMHgyMywweGQwLDB4MDgsMHhmNSwweGEyLDB4MjUsMHhhNCwweDhmLDB4NDIsMHgzYywweDEwLDB4MGIsMHhiMCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4YWE5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgwOCwweDJjLDB4MDAgfSwKLSAgMTYsIDB4YWFhMCwgMCwgezB4MjgsMHgwMCwweDFhLDB4YzAsMHg4NCwweDIwLDB4MDAsMHgyNCwweGM4LDB4NGIsMHgzMSwweDQyLDB4YzAsMHgwMCwweDkzLDB4MDIgfSwKLSAgMTYsIDB4YWFiMCwgMCwgezB4MjAsMHhjNiwweDA4LDB4MDAsMHgwNiwweGMwLDB4ODEsMHhiMywweDAwLDB4MmMsMHhkOCwweDA5LDB4MzIsMHgwMiwweGEwLDB4NDAgfSwKLSAgMTYsIDB4YWFjMCwgMCwgezB4OTMsMHgwMSwweDI0LDB4NGMsMHgwYiwweDMyLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWFkMCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHgwYSwweDA4LDB4ODAsMHg4MiwweDYwLDB4MDAsMHhhOCwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YWFlMCwgMCwgezB4ZTAsMHgxYiwweGIwLDB4MDIsMHg2MiwweDAxLDB4M2IsMHgwMCwweDIyLDB4YzEsMHgwOSwweDkwLDB4MDIsMHhlMiwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YWFmMCwgMCwgezB4NjAsMHgyNiwweGMxLDB4MDgsMHhiMCwweDJhLDB4MjYsMHgwMCwweDliLDB4MDQsMHgyZSwweDIxLDB4MGIsMHhiMCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4YWIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4MTAgfSwKLSAgMTYsIDB4YWIxMCwgMCwgezB4MDgsMHg4NCwweDEzLDB4ZWMsMHgwMiwweGE5LDB4MDQsMHgzNiwweDIwLDB4MGYsMHhiMCwweDAzLDB4ZWUsMHg4MCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4YWIyMCwgMCwgezB4M2EsMHhjMCwweDBjLDB4YTAsMHgwMywweGEyLDB4ODAsMHg3OSwweDQwLDB4MWUsMHhjMCwweDhjLDB4YjAsMHg2MywweDZhLDB4MTAgfSwKLSAgMTYsIDB4YWIzMCwgMCwgezB4ZDMsMHgwMCwweDM2LDB4YTIsMHgwNywweGIwLDB4MDMsMHgwMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWI0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgyMCwweDRkLDB4NDEsMHgwMywweDljLDB4MDAsMHhmZCwweDIwLDB4YWIgfSwKLSAgMTYsIDB4YWI1MCwgMCwgezB4MDAsMHgwYywweGYwLDB4MDMsMHhiOCwweDAwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHg0ZCwweGM5LDB4MDMsMHhmNCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YWI2MCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MmUsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGVmLDB4MDAsMHgzZiwweDAwLDB4NGIsMHg3MCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YWI3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDgwLDB4ZWIsMHgwMCwweDdlLDB4MTAgfSwKLSAgMTYsIDB4YWI4MCwgMCwgezB4MmUsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGUwLDB4MDAsMHgzMiwweDUwLDB4MGYsMHhiMCwweDg2LDB4MjUsMHgwMCwweGRiLDB4MjAgfSwKLSAgMTYsIDB4YWI5MCwgMCwgezB4M2EsMHhjMCwweDBkLDB4YjAsMHg2MywweGUxLDB4MTAsMHhmYiwweDQ4LDB4MzgsMHhjMSwweDBmLDB4MzAsMHgwMywweDJjLDB4MDQgfSwKLSAgMTYsIDB4YWJhMCwgMCwgezB4ZmIsMHgwOCwweDMyLDB4YzAsMHgwYywweGIwLDB4MGIsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWJiMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4NjQsMHgyOSwweDI4LDB4ODAsMHgwMywweGVjLDB4MDIsMHhlOCwweDA0LDB4YTggfSwKLSAgMTYsIDB4YWJjMCwgMCwgezB4NTYsMHgwOCwweGZjLDB4MDcsMHhlMCwweDAwLDB4MGYsMHhhMCwweGJmLDB4YzAsMHgwYiwweDk1LDB4MDIsMHhhMCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YWJkMCwgMCwgezB4MDUsMHgzNywweGMwLDB4ODksMHhmMCwweDBhLDB4MGQsMHhjOCwweGJmLDB4MDgsMHgyYSwweDgwLDB4MDgsMHhmMCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4YWJlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAxLDB4YjMsMHgwMiwweDI0LDB4ZTAgfSwKLSAgMTYsIDB4YWJmMCwgMCwgezB4MGEsMHgzMCwweDEyLDB4ODAsMHgwMywweGEzLDB4MDAsMHhhOCwweDAwLDB4MDIsMHhiOCwweDIyLDB4YzAsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YWMwMCwgMCwgezB4MjgsMHhjMSwweDBiLDB4MDQsMHgwMiwweDA4LDB4MDAsMHhiOSwweDQwLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDAzLDB4MDQgfSwKLSAgMTYsIDB4YWMxMCwgMCwgezB4YjMsMHg0NCwweDIwLDB4MDAsMHg0YSwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWMyMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MjAsMHgxNywweGEwLDB4NjUsMHhlYywweDA4LDB4MzgsMHgwMiwweGMyLDB4NDEsMHhiMywweDkyLDB4MmIgfSwKLSAgMTYsIDB4YWMzMCwgMCwgezB4NjQsMHgwYSwweDM4LDB4MDIsMHgzNiwweDAxLDB4YjcsMHg5MCwweDJkLDB4ZTAsMHgwMywweGY4LDB4MDAsMHg5YSwweDAwLDB4YjUgfSwKLSAgMTYsIDB4YWM0MCwgMCwgezB4ODAsMHgyZCwweGUwLDB4ODksMHg3OCwweDEyLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyOSwweGUwLDB4MGEsMHg3OCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YWM1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4NzMsMHhiMCwweDI0LDB4YzggfSwKLSAgMTYsIDB4YWM2MCwgMCwgezB4NGUsMHgzMCwweDBhLDB4ODAsMHgwMiwweGUyLDB4MDAsMHgzOCwweDk0LDB4MGUsMHgzMSwweGEyLDB4YzgsMHgwMCwweDczLDB4MDAgfSwKLSAgMTYsIDB4YWM3MCwgMCwgezB4MTgsMHhjNCwweDA1LDB4MDAsMHgwMywweDAwLDB4MDAsMHhmMywweDAwLDB4MzgsMHhjMCwweDA3LDB4YjEsMHgwMywweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWM4MCwgMCwgezB4ZjMsMHgwMSwweDMwLDB4NDEsMHgwZSwweGIwLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWM5MCwgMCwgezB4NDAsMHgxZCwweGJkLDB4MDAsMHhlZiwweDEwLDB4MjYsMHhjOCwweDAzLDB4YjEsMHgwMywweGUwLDB4MDAsMHhlYSwweDgxLDB4NzggfSwKLSAgMTYsIDB4YWNhMCwgMCwgezB4YzUsMHgwYywweGI1LDB4ZTMsMHhkYywweDAwLDB4YzMsMHgwMCwweDNlLDB4YzEsMHgwZiwweGYwLDB4ODMsMHhiMCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YWNiMCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGQsMHhmNCwweDAzLDB4ZTQsMHgwMCwweGY3LDB4MDAsMHgzZiwweDQwLDB4MGQsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4YWNjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDEwLDB4Y2IsMHgyOCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4YWNkMCwgMCwgezB4MGQsMHhiMCwweDEzLDB4YWMsMHgxMCwweGZiLDB4MDAsMHgzYSwweDgwLDB4MDQsMHhiNCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDQgfSwKLSAgMTYsIDB4YWNlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YTQsMHhiMywweGUwLDB4MDAsMHhmYiwweDgwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGU4LDB4MDAgfSwKLSAgMTYsIDB4YWNmMCwgMCwgezB4ZmIsMHg0OCwweGIyLDB4ODAsMHgwZiwweGIwLDB4NDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWQwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDIsMHg4NywweDQ0LDB4MzgsMHhjMCwweDhkLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhmZiwweDAwLDB4MjEgfSwKLSAgMTYsIDB4YWQxMCwgMCwgezB4YzAsMHgwOCwweDcwLDB4MDMsMHg5YywweDAwLDB4YjMsMHg1MCwweDIxLDB4ZDQsMHg0ZSwweDYyLDB4MDIsMHhkMCwweDAwLDB4YmYgfSwKLSAgMTYsIDB4YWQyMCwgMCwgezB4MDAsMHgzNSwweGQ0LDB4MDksMHg3MCwweDIyLDB4ZDgsMHgwMCwweGJmLDB4MjIsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YWQzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDQwLDB4ODcsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4YWQ0MCwgMCwgezB4MDksMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI2LDB4ODAsMHgyOSwweGExLDB4MjgsMHg3YSwweDMyLDB4ZGUsMHgwMCwweDM3LDB4YTAgfSwKLSAgMTYsIDB4YWQ1MCwgMCwgezB4MjUsMHhlMCwweDA5LDB4NzgsMHgwNiwweGQyLDB4MDAsMHhiNywweDgwLDB4MjEsMHhlOCwweDBiLDB4NzksMHgwMiwweGRlLDB4MDAgfSwKLSAgMTYsIDB4YWQ2MCwgMCwgezB4YjcsMHg5MCwweDIxLDB4ZTAsMHgwYiwweDc5LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWQ3MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDQsMHg4MywweDAxLDB4MjgsMHhjMCwweDg5LDB4YjAsMHgwYSwweDRmLDB4MDAsMHhiMiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YWQ4MCwgMCwgezB4YzQsMHg4OCwweDMwLDB4MTYsMHhjZiwweDAwLDB4YmIsMHgwNCwweDIwLDB4YzEsMHgwYSwweDMyLDB4MDYsMHhjMiwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YWQ5MCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MDksMHgzMCwweDQyLDB4ZWYsMHgxMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YWRhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4NGEsMHgwMCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4YWRiMCwgMCwgezB4MmQsMHhhMCwweDBiLDB4YWEsMHg4MCwweGZlLDB4MDAsMHgyYiwweDgwLDB4MGMsMHhhMCwweDQzLDB4ZmIsMHgzMCwweGZhLDB4MDAgfSwKLSAgMTYsIDB4YWRjMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHg4MywweGZhLDB4MDQsMHhmZSwweDE4LDB4MjIsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4ODQgfSwKLSAgMTYsIDB4YWRkMCwgMCwgezB4ZjIsMHgwMCwweDMzLDB4YTIsMHgwZiwweGEwLDB4MDMsMHhmMiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWRlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDJmLDB4ODAsMHgwMywweGEwLDB4MjAsMHhmYywweDAyLDB4M2UgfSwKLSAgMTYsIDB4YWRmMCwgMCwgezB4MDAsMHgxZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDEsMHhlMCwweDQwLDB4ZjggfSwKLSAgMTYsIDB4YWUwMCwgMCwgezB4NDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YWUxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNiwweDAwLDB4ZDksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4YWUyMCwgMCwgezB4MGYsMHg5MCwweDBiLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDY4LDB4NmMsMHg5NCwweDAzLDB4ZTQsMHgyMCwweGI5LDB4OTAgfSwKLSAgMTYsIDB4YWUzMCwgMCwgezB4MzYsMHg0MCwweDBjLDB4OTQsMHgwMywweGU0LDB4MDAsMHgyOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDI0LDB4MjAgfSwKLSAgMTYsIDB4YWU0MCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWU1MCwgMCwgezB4ODAsMHgwNCwweDY2LDB4NTAsMHg4OSwweDAwLDB4MjAsMHg1MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDksMHhkOSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YWU2MCwgMCwgezB4NDgsMHg0OCwweDkwLDB4MDYsMHhlNCwweDA0LDB4OTksMHhhMCwweDIyLDB4NDAsMHgwZCwweGI4LDB4MjIsMHg2NCwweDAwLDB4MDkgfSwKLSAgMTYsIDB4YWU3MCwgMCwgezB4NTAsMHgzMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjcsMHg5MCwweDg5LDB4NDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YWU4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4OTksMHgwMCwweDY2LDB4NDIgfSwKLSAgMTYsIDB4YWU5MCwgMCwgezB4MGEsMHhkMCwweDEyLDB4MzQsMHgwMCwweDg1LDB4MDAsMHgyNiwweDQwLDB4NGEsMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDEgfSwKLSAgMTYsIDB4YWVhMCwgMCwgezB4MjQsMHg0MCwweDU4LDB4OTAsMHgxMiwweGM0LDB4MDAsMHgyOSwweDQwLDB4MmUsMHg0MCwweDBiLDB4MTAsMHgwYSwweDI0LDB4ODAgfSwKLSAgMTYsIDB4YWViMCwgMCwgezB4ODksMHgwNSwweDI2LDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWVjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4NjEsMHg0OCwweDA4LDB4NTIsMHgwMiwweDE0LDB4ODEsMHg5NSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4YWVkMCwgMCwgezB4NDAsMHgwYSwweDM2LDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyMCwweDAwLDB4NDgsMHg0MSwweDEwLDB4NDIsMHg0NCwweDAxLDB4YTEgfSwKLSAgMTYsIDB4YWVlMCwgMCwgezB4MDAsMHgyNCwweDQ4LDB4MGIsMHgxMiwweDEyLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyOCwweDQ4LDB4MGIsMHgxMiwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4YWVmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZDgsMHg1MCwweDM2LDB4MDAgfSwKLSAgMTYsIDB4YWYwMCwgMCwgezB4MGUsMHg4NSwweDIzLDB4MjEsMHg0MiwweDhjLDB4NTQsMHgzNCwweDE0LDB4MGUsMHg4MCwweDAyLDB4ZTEsMHg0MCwweGY4LDB4NTAgfSwKLSAgMTYsIDB4YWYxMCwgMCwgezB4MzYsMHgxNCwweDA0LDB4ODAsMHgwMywweGUxLDB4NDQsMHhlOCwweDUwLDB4N2UsMHgxNSwweDBmLDB4ODUsMHgwMywweDIxLDB4NDIgfSwKLSAgMTYsIDB4YWYyMCwgMCwgezB4NGEsMHgwMCwweDM2LDB4MTQsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWYzMCwgMCwgezB4OTgsMHgxZCwweGM0LDB4NDAsMHhmOSwweDEwLDB4MWUsMHg0NCwweDRlLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YgfSwKLSAgMTYsIDB4YWY0MCwgMCwgezB4YzAsMHgwZCwweDkxLDB4MDMsMHhmNCwweDAwLDB4ZDksMHgxNCwweDNlLDB4NDQsMHgwZiwweDkwLDB4MDMsMHg3NCwweDAwLDB4ZGQgfSwKLSAgMTYsIDB4YWY1MCwgMCwgezB4MDAsMHg3YSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHg0MCwweGY5LDB4MzgsMHgzZiwweDQ0LDB4MGYsMHg5MywweDgzLDB4ZTcgfSwKLSAgMTYsIDB4YWY2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmNiwweDgwLDB4ZjksMHhhNCwweDNmLDB4NjggfSwKLSAgMTYsIDB4YWY3MCwgMCwgezB4MGUsMHg5ZSwweDQzLDB4NjcsMHg4MCwweGQ5LDB4ZTQsMHgzZiwweDQxLDB4MGYsMHhkOCwweDQzLDB4MDQsMHgwMCwweGVkLDB4YzAgfSwKLSAgMTYsIDB4YWY4MCwgMCwgezB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhkNSwweDQwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGY0LDB4MDAgfSwKLSAgMTYsIDB4YWY5MCwgMCwgezB4ZGQsMHgwMCwweDMyLDB4NDAsMHgyYywweDlhLDB4MDMsMHhjNiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWZhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHhlOCwweGMwLDB4MmUsMHgxNCwweDRkLDB4OGYsMHgyMiwweDIzLDB4YzAsMHhmOCwweGYwLDB4YWEgfSwKLSAgMTYsIDB4YWZiMCwgMCwgezB4MDAsMHgwYywweDgwLDB4MDMsMHhhMiwweGEwLDB4ZDgsMHg4MiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlOCwweDAwLDB4ZDggfSwKLSAgMTYsIDB4YWZjMCwgMCwgezB4ODAsMHgyYSwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTgsMHgwOCwweDg4LDB4YTgsMHgzNiwweDAwLDB4NDgsMHg4YSwweDgyLDB4Y2UgfSwKLSAgMTYsIDB4YWZkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHg0OCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YWZlMCwgMCwgezB4MGEsMHgxMiwweDIyLDB4NDQsMHgwMCwweDkxLDB4MDQsMHhhNCwweDQxLDB4MGEsMHg5NCwweDA2LDB4MjQsMHgwMCwweDkxLDB4NDIgfSwKLSAgMTYsIDB4YWZmMCwgMCwgezB4MjQsMHg0MSwweDA5LDB4MTAsMHgwMiwweGU0LDB4MDEsMHg5MSwweDIwLDB4MjQsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDEgfSwKLSAgMTYsIDB4YjAwMCwgMCwgezB4OTEsMHgwMCwweDJjLDB4NDAsMHgwOSwweDE0LDB4MDIsMHhjMiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjAxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDQ4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDQwLDB4YWEgfSwKLSAgMTYsIDB4YjAyMCwgMCwgezB4NDAsMHgxOCwweGIwLDB4MDIsMHhlNCwweDA4LDB4OTksMHgwMCwweDIyLDB4NDAsMHgxOSwweDkwLDB4NDYsMHhlNCwweDgwLDB4OTkgfSwKLSAgMTYsIDB4YjAzMCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweDk5LDB4MDQsMHgyNiwweDUwLDB4MDksMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4YjA0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZjksMHgwNiwweDNjLDB4NDAgfSwKLSAgMTYsIDB4YjA1MCwgMCwgezB4MGEsMHg5MCwweDAzLDB4NjQsMHgwMiwweGQ5LDB4MDAsMHhiNiwweDUwLDB4MGUsMHg5MCwweDIzLDB4MjYsMHgwMSwweGY5LDB4MDAgfSwKLSAgMTYsIDB4YjA2MCwgMCwgezB4MzYsMHg0MCwweDI5LDB4OTQsMHg4MywweGU0LDB4MDAsMHhkOSwweDQ4LDB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweGM3LDB4MDAgfSwKLSAgMTYsIDB4YjA3MCwgMCwgezB4ZDEsMHgwNywweDNhLDB4NTAsMHhjZCwweDkwLDB4MDMsMHhlOCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjA4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDgsMHhlOSwweDAwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGM0LDB4MDgsMHhmMSwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YjA5MCwgMCwgezB4NjgsMHg4ZiwweDkwLDB4MDMsMHhhNCwweDQxLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YjBhMCwgMCwgezB4YzAsMHgzOCwweDQwLDB4MmUsMHg5MCwweDAzLDB4ZTYsMHg0MCwweGU5LDB4MDAsMHgzZSwweDY4LDB4MDYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4YjBiMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwNSwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YjBjMCwgMCwgezB4MDcsMHg4MCwweDBiLDB4MjAsMHgwMCwweGU4LDB4NDAsMHgzZSwweDEwLDB4MGQsMHg4MiwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4YjBkMCwgMCwgezB4YjIsMHgwMCwweDhkLDB4ODMsMHgwMywweGUwLDB4MDAsMHhkOCwweDUwLDB4M2EsMHgwMCwweDFlLDB4ODAsMHgwMywweGUxLDB4MjQgfSwKLSAgMTYsIDB4YjBlMCwgMCwgezB4ZjgsMHgwMCwweGIyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjBmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHg4YSwweDA0LDB4MmYsMHg4NCwweDZhLDB4YTAsMHgwYiwweGU4LDB4MDgsMHg4ZSwweDAwLDB4M2QgfSwKLSAgMTYsIDB4YjEwMCwgMCwgezB4ODAsMHg4OCwweGVjLDB4MDMsMHg2OCwweDEwLDB4YTYsMHgwMSwweDM2LDB4ODAsMHgwOCwweGE4LDB4MDAsMHhjOCwweDEwLDB4OGUgfSwKLSAgMTYsIDB4YjExMCwgMCwgezB4MTAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZmIsMHgyMCwweGJlLDB4NTEsMHgyYSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4YjEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MSwweDIxLDB4OTMsMHgwMCwweDJjLDB4ZjAgfSwKLSAgMTYsIDB4YjEzMCwgMCwgezB4MzksMHgzMCwweDA2LDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyOCwweDA4LDB4MjgsMHhiYywweDAyLDB4MmMsMHgwMCwweDgzLDB4ODAgfSwKLSAgMTYsIDB4YjE0MCwgMCwgezB4MmEsMHhjMCwweDA4LDB4MzAsMHgwMCwweGNjLDB4MDAsMHg5YSwweDgwLDB4MjgsMHhjMCwweDBhLDB4MzAsMHgwMiwweGNkLDB4MDAgfSwKLSAgMTYsIDB4YjE1MCwgMCwgezB4YjMsMHgwNCwweDYyLDB4YzEsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjE2MCwgMCwgezB4YTAsMHgwMSwweDFlLDB4MDQsMHgwNywweDExLDB4MmMsMHhkMCwweDBhLDB4MzIsMHgyMiwweGRjLDB4YzEsMHg4NywweDAwLDB4NmQgfSwKLSAgMTYsIDB4YjE3MCwgMCwgezB4ZDAsMHgwOCwweDM0LDB4MDIsMHg3YywweDAwLDB4YTcsMHgwOCwweDI0LDB4YzgsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwLDB4MGYgfSwKLSAgMTYsIDB4YjE4MCwgMCwgezB4MDAsMHgyMSwweGM0LDB4MDgsMHg3MywweDA2LDB4ZGMsMHgwMCwweGIyLDB4MDAsMHg2MSwweGM4LDB4MGIsMHgzYSwweDAyLDB4ODggfSwKLSAgMTYsIDB4YjE5MCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwYSwweDAwLDB4NTcsMHg4MSwweDJkLDB4YTAgfSwKLSAgMTYsIDB4YjFhMCwgMCwgezB4MmQsMHg3YywweDAyLDB4M2UsMHg4MiwweGUzLDB4ZTAsMHgzYiwweGUwLDB4MGMsMHg3OCwweDAzLDB4MWUsMHgyMCwweGM3LDB4ODAgfSwKLSAgMTYsIDB4YjFiMCwgMCwgezB4YjksMHhlOCwweDJjLDB4NzgsMHgwMywweGZmLDB4ODAsMHhkNiwweDgwLDB4M2IsMHhlYywweDAyLDB4N2EsMHgwMywweGRlLDB4MDAgfSwKLSAgMTYsIDB4YjFjMCwgMCwgezB4ZjcsMHg4MSwweDMxLDB4ZWMsMHg4ZiwweDdjLDB4MDMsMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjFkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4MWUsMHg4MCwweDIzLDB4YjYsMHg4MywweGVkLDB4YTAsMHhkYiwweDY0LDB4M2UgfSwKLSAgMTYsIDB4YjFlMCwgMCwgezB4YzAsMHgwZSwweGIwLDB4MDMsMHhlZCwweGMwLDB4ZjIsMHgwMCwweDNlLDB4ZDQsMHgwYSwweGIwLDB4MDMsMHhlYywweDMwLDB4ZWUgfSwKLSAgMTYsIDB4YjFmMCwgMCwgezB4NjQsMHgzZSwweGMwLDB4MDcsMHhiMCwweGMzLDB4ZTgsMHgwMCwweGZiLDB4MDEsMHgzZSwweGM4LDB4MGYsMHhiOCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YjIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4ZWYsMHg4MCwweDNiLDB4ZTAgfSwKLSAgMTYsIDB4YjIxMCwgMCwgezB4MGYsMHhmOCwweDYzLDB4N2UsMHgwNCwweGNmLDB4YzAsMHhiNywweDIwLDB4MGUsMHhmOCwweDAzLDB4ZmMsMHgwMCwweGM3LDB4ODAgfSwKLSAgMTYsIDB4YjIyMCwgMCwgezB4MzMsMHhmMCwweDBjLDB4Y2MsMHgwMywweGZlLDB4MDgsMHhmNywweGMxLDB4MzMsMHhlMCwweDRmLDB4ZjgsMHgwMywweGIyLDB4NDAgfSwKLSAgMTYsIDB4YjIzMCwgMCwgezB4ZmYsMHhhMCwweDMxLDB4ZTYsMHgwYywweGY4LDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjI0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhlZiwweDAyLDB4MjEsMHg0MCwweDJkLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhmNywweDEwLDB4MjkgfSwKLSAgMTYsIDB4YjI1MCwgMCwgezB4NDAsMHgwOCwweDcwLDB4MjIsMHhmYywweGMwLDB4YTcsMHgwMCwweDNkLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkYywweDAwLDB4YjcgfSwKLSAgMTYsIDB4YjI2MCwgMCwgezB4NDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGEsMHg4MCwweGI3LDB4MjQsMHgyOSwweGM2LDB4NDgsMHhmMCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4YjI3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHgwMCwweDI4LDB4ODQgfSwKLSAgMTYsIDB4YjI4MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweDkzLDB4MDAsMHgyNSwweDgwLDB4MGEsMHg2MSwweDAyLDB4ZGMsMHgwMSwweGE3LDB4MTAgfSwKLSAgMTYsIDB4YjI5MCwgMCwgezB4MjQsMHhjMCwweDA4LDB4NDAsMHg4MiwweGRjLDB4MDAsMHg5ZiwweDAwLDB4MjUsMHhjNCwweDBiLDB4NzAsMHgwMiwweDk0LDB4MjUgfSwKLSAgMTYsIDB4YjJhMCwgMCwgezB4YjcsMHgzMiwweDIzLDB4YzQsMHgxYiwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjJiMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MGMsMHhhMywweDAwLDB4MjAsMHgwMCwweDI5LDB4MzAsMHgwYSwweDBjLDB4MDAsMHhhMywweDAwLDB4NmMgfSwKLSAgMTYsIDB4YjJjMCwgMCwgezB4MDAsMHgwOCwweDEwLDB4NDIsMHhjZCwweDEwLDB4YWEsMHgwMCwweGFjLDB4YzAsMHgwMCwweDA0LDB4MDIsMHhjZCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YjJkMCwgMCwgezB4MTAsMHgyNCwweGMwLDB4MDMsMHgzMCwweDQyLDB4YzMsMHgwOSwweGIzLDB4MDAsMHgyYywweGQwLDB4MGEsMHgzMCwweDAyLDB4MTggfSwKLSAgMTYsIDB4YjJlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4MCwweDAwLDB4ZWYsMHgwMCwweDNhLDB4NDAgfSwKLSAgMTYsIDB4YjJmMCwgMCwgezB4MDcsMHhmMCwweDQzLDB4M2MsMHgwMCwweDlmLDB4YzAsMHhiNiwweDE0LDB4MGUsMHg4MCwweDA2LDB4ZmMsMHgwMSwweGNiLDB4MDEgfSwKLSAgMTYsIDB4YjMwMCwgMCwgezB4MzcsMHhjMCwweGFjLDB4YjQsMHgwMiwweGZjLDB4MDAsMHhkOSwweDAxLDB4MzcsMHhjMCwweDRiLDB4ZjAsMHgxMywweGFlLDB4MDggfSwKLSAgMTYsIDB4YjMxMCwgMCwgezB4ZmIsMHgwMCwweDMzLDB4ZDAsMHgyZSwweGYwLDB4MGIsMHgyYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjMyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA1LDB4M2UsMHg0MCwweDBmLDB4MzAsMHgwMywweGFjLDB4MTQsMHhmYiwweGEwLDB4M2EgfSwKLSAgMTYsIDB4YjMzMCwgMCwgezB4YzAsMHgwZiwweDg0LDB4NDMsMHhlYywweDAxLDB4ZjksMHg0MCwweDNlLDB4YzAsMHgwZiwweGEyLDB4MDMsMHhlYywweDIxLDB4ZjkgfSwKLSAgMTYsIDB4YjM0MCwgMCwgezB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgyMCwweGYwLDB4MDAsMHhiYSwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YjM1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmOCwweDAwLDB4ZDcsMHgwMSwweDM1LDB4NjggfSwKLSAgMTYsIDB4YjM2MCwgMCwgezB4NmQsMHhmMCwweDAzLDB4M2MsMHgwMSwweGU3LDB4MDAsMHgzMywweGMwLDB4MGQsMHhjMCwweDAzLDB4ZmMsMHgyNCwweGNmLDB4MDIgfSwKLSAgMTYsIDB4YjM3MCwgMCwgezB4MzcsMHhjMCwweDBkLDB4ZDIsMHgwMiwweGZjLDB4MDAsMHhkZiwweDAxLDB4MzMsMHhjMCwweDVlLDB4NzAsMHgzMywweDFjLDB4MTggfSwKLSAgMTYsIDB4YjM4MCwgMCwgezB4Y2YsMHg0MSwweDMxLDB4YzIsMHgwYywweGYwLDB4MDMsMHg0MCwweDQwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjM5MCwgMCwgezB4ODEsMHgwMCwweDZjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg1MiwweDJhLDB4YjAsMHgwMywweDZjLDB4MDAsMHhhYiwweDAwLDB4MjggfSwKLSAgMTYsIDB4YjNhMCwgMCwgezB4YzAsMHgwYSwweDhjLDB4MDIsMHhlYywweDEwLDB4OGIsMHhlMCwweDIyLDB4YzAsMHgwZiwweDgwLDB4MDIsMHhjYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4YjNiMCwgMCwgezB4ODAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmEsMHgxMCwweGQ5LDB4ODAsMHgyMiwweGMwLDB4YzgsMHhiMCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YjNjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNCwweDAxLDB4OWIsMHgwMCwweDI2LDB4ODAgfSwKLSAgMTYsIDB4YjNkMCwgMCwgezB4MjksMHhiMCwweDYyLDB4MGMsMHgwMCwweGFiLDB4MDEsMHg2YSwweDAwLDB4MDgsMHg5OCwweDAyLDB4Y2MsMHgwMCwweDliLDB4ODMgfSwKLSAgMTYsIDB4YjNlMCwgMCwgezB4MmUsMHhjMCwweGNiLDB4YjQsMHgxMiwweGVjLDB4MDMsMHg4YiwweDgwLDB4MjgsMHhjMCwweDBhLDB4YjAsMHgwNiwweGEyLDB4MDAgfSwKLSAgMTYsIDB4YjNmMCwgMCwgezB4OGIsMHgwMiwweDYyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjQwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDEsMHg4MywweDE0LDB4MjAsMHgwMCwweDBhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmEgfSwKLSAgMTYsIDB4YjQxMCwgMCwgezB4NDAsMHgwYSwweDEwLDB4MDAsMHhjYywweDAyLDB4OTMsMHgwMCwweDI4LDB4YzAsMHgwYSwweDIwLDB4MDIsMHhlYywweDAwLDB4MDMgfSwKLSAgMTYsIDB4YjQyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDE2LDB4MDAsMHg4MCwweDkxLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YjQzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZGIsMHgwMCwweDM2LDB4ODAgfSwKLSAgMTYsIDB4YjQ0MCwgMCwgezB4MmQsMHhmMCwweDAzLDB4M2MsMHgwMCwweGFmLDB4MDAsMHgzYSwweDgwLDB4MGQsMHg4MCwweDAzLDB4ZmMsMHgwMCwweDViLDB4MDAgfSwKLSAgMTYsIDB4YjQ1MCwgMCwgezB4MzcsMHhjMCwweDA5LDB4OTAsMHgwMywweGZjLDB4MDAsMHhkZiwweDAwLDB4MzMsMHhjMCwweDBhLDB4ZjAsMHgwMywweGE0LDB4MjAgfSwKLSAgMTYsIDB4YjQ2MCwgMCwgezB4Y2IsMHgwMCwweGIzLDB4YzAsMHg4YywweGIwLDB4MDMsMHg0MCwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjQ3MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmZiwweDIwLDB4MGYsMHgwMCwweDI3LDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4YjQ4MCwgMCwgezB4MDAsMHgwYiwweGQwLDB4MjcsMHhmYywweDAwLDB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGMwLDB4NDMsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YjQ5MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDBiLDB4ZTAsMHgwMCwweGY1LDB4MDAsMHgzZiwweGMwLDB4MWYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YjRhMCwgMCwgezB4MDcsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmNCwweGMwLDB4ZmMsMHgyMiwweDdmLDB4YzAgfSwKLSAgMTYsIDB4YjRiMCwgMCwgezB4MGMsMHhkMCwweDQzLDB4MzYsMHgwMCwweGM0LDB4ODEsMHgzNCwweGMwLDB4MWMsMHg4OSwweDA3LDB4ZjIsMHg4MCwweGNmLDB4ODAgfSwKLSAgMTYsIDB4YjRjMCwgMCwgezB4MzMsMHg2MCwweDBmLDB4NzksMHgwMywweDNjLDB4ZTAsMHhjZiwweDA4LDB4MzMsMHg0OCwweDBkLDB4YzQsMHgwMywweGYwLDB4NTAgfSwKLSAgMTYsIDB4YjRkMCwgMCwgezB4ZGMsMHg5MCwweDM3LDB4Y2MsMHgwZiwweGY4LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjRlMCwgMCwgezB4ODAsMHgxMCwweGU5LDB4OTAsMHhiOCwweDgwLDB4N2UsMHhlNCwweDg4LDB4OTksMHgwYSwweDI2LDB4MDgsMHhhOSwweDgwLDB4MjIgfSwKLSAgMTYsIDB4YjRmMCwgMCwgezB4ZjQsMHgyYywweDk5LDB4MDMsMHhhNywweDAyLDB4ODksMHg4MCwweDIyLDB4MzQsMHgwYiwweDlhLDB4MDMsMHg3ZCwweDAwLDB4ZGYgfSwKLSAgMTYsIDB4YjUwMCwgMCwgezB4NDgsMHgyYiwweDYwLDB4MDgsMHgwNSwweDAyLDB4ZTUsMHgwMCwweDgyLDB4MjAsMHgyMiwweGM0LDB4OGIsMHhiMCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YjUxMCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNSwweDAwLDB4YjAsMHgxMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4YjUyMCwgMCwgezB4MmEsMHgwMCwweDAyLDB4YTQsMHgwOCwweGE4LDB4MDQsMHhlMCwweDgwLDB4MGIsMHgwMCwweDAyLDB4YzQsMHg0MSwweGIyLDB4MDQgfSwKLSAgMTYsIDB4YjUzMCwgMCwgezB4YTQsMHgwYSwweDBiLDB4YjAsMHgwMiwweDhjLDB4ODEsMHg4MywweDIwLDB4NjAsMHg1MCwweDk4LDB4MTIsMHgxMiwweDhiLDB4ODAgfSwKLSAgMTYsIDB4YjU0MCwgMCwgezB4ODksMHgwMCwweDJjLDB4YzgsMHgwYiwweDMwLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjU1MCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MjAsMHhiYiwweDAyLDB4MmEsMHhjMCwweDBhLDB4ODgsMHgwMiwweGE0LDB4MDgsMHhhOSwweDgwLDB4YTIgfSwKLSAgMTYsIDB4YjU2MCwgMCwgezB4ZTEsMHgxYiwweDljLDB4MjIsMHhlNiwweDAwLDB4YjgsMHg0MCwweDI2LDB4MzAsMHgwYiwweDkwLDB4MDIsMHhjYywweDAxLDB4OTMgfSwKLSAgMTYsIDB4YjU3MCwgMCwgezB4MDQsMHgyYSwweDQwLDB4MzksMHg5OCwweDgyLDB4ZWMsMHgxNCwweDhiLDB4NjUsMHgyYSwweGMwLDB4MGIsMHhiMiwweDAyLDB4ZjggfSwKLSAgMTYsIDB4YjU4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlNywweDAwLDB4YjgsMHg0OCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4YjU5MCwgMCwgezB4MGUsMHg4OCwweDQzLDB4ODQsMHgwMCwweGUzLDB4YzEsMHgzNiwweGU4LDB4MGYsMHg5YywweDEyLDB4ZTIsMHg4MCwweGYzLDB4YzAgfSwKLSAgMTYsIDB4YjVhMCwgMCwgezB4MzYsMHg3MCwweDVmLDB4YTgsMHgyMywweGFjLDB4MDEsMHhjYiwweDA0LDB4MjIsMHg0MCwweDRkLDB4ODQsMHgwMywweGUyLDB4MDAgfSwKLSAgMTYsIDB4YjViMCwgMCwgezB4ZDgsMHgwMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjVjMCwgMCwgezB4ZTAsMHgwMSwweGIzLDB4MDksMHhmZSwweDEwLDB4M2UsMHg4MSwweDBkLDB4YzAsMHgwMywweDc0LDB4MGMsMHhmZiwweDAwLDB4M2QgfSwKLSAgMTYsIDB4YjVkMCwgMCwgezB4YzEsMHg4YywweGQwLDB4ODMsMHgxNCwweDAwLDB4Y2QsMHgyMCwweDNhLDB4NDAsMHgwZCwweGNhLDB4MDEsMHg3YywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YjVlMCwgMCwgezB4MDAsMHgxZiwweDQwLDB4MGUsMHhjMCwweDIzLDB4ZjIsMHg0NiwweGZlLDB4ODQsMHgzNywweGMwLDB4MGYsMHhkOCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YjVmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZGQsMHgwMiwweDNkLDB4NDAgfSwKLSAgMTYsIDB4YjYwMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4YWMsMHgwMCwweGViLDB4NDgsMHgzZSwweGQwLDB4MGMsMHg4MCwweDYzLDB4YTIsMHgwOCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YjYxMCwgMCwgezB4MzIsMHgwOCwweDBjLDB4YjAsMHgwMywweGFjLDB4MDgsMHhlYiwweDAwLDB4M2UsMHg0MCwweDBjLDB4ZDQsMHg4MywweDU4LDB4MjAgfSwKLSAgMTYsIDB4YjYyMCwgMCwgezB4ZjksMHg0MiwweDMyLDB4YzAsMHgwYywweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjYzMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDIsMHhkYiwweDAwLDB4MmUsMHhlMCwweDI4LDB4M2EsMHgwMiwweDJlLDB4MDAsMHhkYiwweDYwLDB4NzYgfSwKLSAgMTYsIDB4YjY0MCwgMCwgezB4ZTAsMHgwZCwweDhjLDB4MDIsMHhlMCwweDAwLDB4ODgsMHgwMiwweDM2LDB4NTgsMHg2OCwweDE1LDB4ODMsMHg3YywweDA4LDB4YmYgfSwKLSAgMTYsIDB4YjY1MCwgMCwgezB4MDAsMHgyZCwweDYwLDB4MDgsMHg5MCwweDAyLDB4YTksMHgwMCwweGIzLDB4MDUsMHgyMywweGMwLDB4MDgsMHhiMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4YjY2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDEwLDB4ODAsMHgwMCwweDBjLDB4YzEgfSwKLSAgMTYsIDB4YjY3MCwgMCwgezB4MDgsMHgxYywweDgyLDB4MDYsMHgwMCwweDkzLDB4YzAsMHgyMCwweGY2LDB4MGEsMHgyMCwweDAyLDB4MDgsMHgwMCwweDkzLDB4MDAgfSwKLSAgMTYsIDB4YjY4MCwgMCwgezB4MjQsMHg2MCwweDA5LDB4M2MsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MmMsMHg2MCwweDA5LDB4MDEsMHgxMiwweDAwLDB4NDAgfSwKLSAgMTYsIDB4YjY5MCwgMCwgezB4YjAsMHgwMCwweGUwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg3MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjZhMCwgMCwgezB4MjAsMHg0MSwweDBhLDB4NDAsMHg4NiwweDgxLDB4MmQsMHhlMCwweDU4LDB4MTgsMHgwYSwweDE2LDB4YTAsMHg5NywweDgwLDB4MjUgfSwKLSAgMTYsIDB4YjZiMCwgMCwgezB4ZTksMHgxOSwweDc4LDB4ODIsMHhkNiwweDAwLDB4OTcsMHg4MCwweDI1LDB4YTAsMHgxOSwweGY4LDB4MDIsMHg1ZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4YjZjMCwgMCwgezB4ODAsMHgyZCwweDYwLDB4MjgsMHg0OCwweDEyLDB4OTYsMHgwMCwweGI0LDB4ODAsMHgyMSwweGUwLDB4MjgsMHg3OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YjZkMCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODEsMHgzMCwweDNjLDB4YzIgfSwKLSAgMTYsIDB4YjZlMCwgMCwgezB4MGUsMHgwMCwweDAyLDB4ODQsMHgwMCwweGUzLDB4NDAsMHgyOCwweGU4LDB4NGMsMHgyOSwweDAzLDB4MGMsMHgwMCwweGQzLDB4MDAgfSwKLSAgMTYsIDB4YjZmMCwgMCwgezB4MzQsMHhjNCwweDBkLDB4MzEsMHgwMywweDhjLDB4MDgsMHhlMywweDAwLDB4M2MsMHg0NiwweDBjLDB4MjAsMHgwMywweDAwLDB4ODAgfSwKLSAgMTYsIDB4YjcwMCwgMCwgezB4ZjIsMHgwMCwweDMyLDB4YzAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjcxMCwgMCwgezB4NDAsMHgxOSwweGI4LDB4MDAsMHhmZiwweDEwLDB4MmYsMHhjMCwweDBmLDB4YzAsMHgyMywweGM0LDB4ODAsMHg3ZiwweDEwLDB4M2UgfSwKLSAgMTYsIDB4YjcyMCwgMCwgezB4YzAsMHgwZiwweGIxLDB4MDMsMHhkYywweDAwLDB4ZTcsMHgwMCwweDNmLDB4ODAsMHgwNiwweGYxLDB4NDMsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YjczMCwgMCwgezB4MDgsMHg3ZCwweDUwLDB4MGUsMHhlMSwweDIzLDB4YjQsMHgwOCwweGZlLDB4MTAsMHgzZiwweGM0LDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4Yjc0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAyLDB4Y2MsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4Yjc1MCwgMCwgezB4MmMsMHhjMCwweDAzLDB4MDQsMHgwMSwweGNiLDB4MDAsMHgzMywweDYwLDB4MmMsMHg5MCwweDEzLDB4ZTgsMHgwMCwweDczLDB4MDAgfSwKLSAgMTYsIDB4Yjc2MCwgMCwgezB4YjIsMHhjMSwweDBmLDB4YTAsMHgwMywweGVjLDB4ODAsMHhmYiwweDI4LDB4M2UsMHg1NCwweDFmLDB4ZDAsMHgwMywweGZlLDB4MDIgfSwKLSAgMTYsIDB4Yjc3MCwgMCwgezB4YzksMHg4MCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjc4MCwgMCwgezB4NDgsMHgxMSwweDgwLDB4MDAsMHg4NiwweDAwLDB4MmQsMHg4MCwweDA4LDB4MjAsMHgwMiwweDE0LDB4MDgsMHg4NywweDAwLDB4MjkgfSwKLSAgMTYsIDB4Yjc5MCwgMCwgezB4NDAsMHgwOCwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDIsMHg1YywweGEwLDB4OTcgfSwKLSAgMTYsIDB4YjdhMCwgMCwgezB4MjAsMHgyZCwweDQ4LDB4MGIsMHg1MCwweDAyLDB4ZGMsMHgxMCwweDhkLDB4MDAsMHgyMSwweGM4LDB4MGIsMHg3MCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YjdiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZiwweDAwLDB4ODUsMHg4MSwweDJjLDB4NjAgfSwKLSAgMTYsIDB4YjdjMCwgMCwgezB4MTgsMHg1OCwweDAyLDB4ZGUsMHgyMCwweGI3LDB4ODIsMHgyOCwweDYwLDB4NWEsMHg3OCwweDUyLDB4ZGUsMHgxMCwweGJmLDB4ODAgfSwKLSAgMTYsIDB4YjdkMCwgMCwgezB4MjEsMHhlMCwweDRiLDB4NzgsMHgwNiwweGRlLDB4NDAsMHhiNywweGEwLDB4MmQsMHg2OSwweDliLDB4NzgsMHgxMiwweGNlLDB4MDAgfSwKLSAgMTYsIDB4YjdlMCwgMCwgezB4ODcsMHg4MCwweGUxLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjdmMCwgMCwgezB4NDgsMHgxNCwweGVlLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMiwweDA4LDB4MzYsMHgwMiwweDhjLDB4MDgsMHg4MywweGYwLDB4NjggfSwKLSAgMTYsIDB4YjgwMCwgMCwgezB4NDAsMHgwYSwweDNlLDB4MDIsMHhjZCwweDQwLDB4YjMsMHgwMCwweDIwLDB4ZTAsMHgwYiwweDMyLDB4MDYsMHg0YywweDAwLDB4OWIgfSwKLSAgMTYsIDB4YjgxMCwgMCwgezB4MDAsMHgwYywweDQwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHg4MCwweDgzLDB4MDgsMHgyMCwweGMwLDB4MGIsMHhiMSwweDAyLDB4ZGEgfSwKLSAgMTYsIDB4YjgyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4Y2UsMHgwOCwweDNmLDB4YjAgfSwKLSAgMTYsIDB4YjgzMCwgMCwgezB4MGMsMHhlNCwweDIzLDB4ZGEsMHgwMiwweGRlLDB4NDAsMHhiYiwweGIyLDB4MGUsMHhlMiwweDQzLDB4ZmEsMHgwMCwweGZlLDB4MDAgfSwKLSAgMTYsIDB4Yjg0MCwgMCwgezB4MzMsMHg5MCwweDBiLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MSwweDBiLDB4ZTAsMHgxMywweGY5LDB4MDggfSwKLSAgMTYsIDB4Yjg1MCwgMCwgezB4Y2UsMHg0MCwweDMyLDB4ODAsMHgwZiwweGE4LDB4MDMsMHhmYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjg2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MjQsMHg5OCwweDA4LDB4M2MsMHgwNCwweDBmLDB4MDAsMHgwYiwweDYwLDB4MDAsMHhmOCwweDQwLDB4MmUgfSwKLSAgMTYsIDB4Yjg3MCwgMCwgezB4MDMsMHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDYsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZDggfSwKLSAgMTYsIDB4Yjg4MCwgMCwgezB4MDAsMHgzYywweDAwLDB4MDMsMHg4YywweDIzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHg3ZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4Yjg5MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4YjhhMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4MjUsMHgwMCwweGU5LDB4ODAsMHgzMiwweDQ0LDB4MGYsMHg5NCwweDAyLDB4ZTQsMHgyMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4YjhiMCwgMCwgezB4MzIsMHg3MCwweDBmLDB4OWEsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4MTAsMHgzMywweDI0LDB4MTAgfSwKLSAgMTYsIDB4YjhjMCwgMCwgezB4ZjksMHgwMSwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjhkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgyLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4ODIsMHg4MSwweGMwLDB4YTIgfSwKLSAgMTYsIDB4YjhlMCwgMCwgezB4NzAsMHgwYiwweDljLDB4MDIsMHhlNCwweDAwLDB4MzEsMHg0MiwweGEyLDB4NjAsMHgwYiwweDk0LDB4ODIsMHhlNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4YjhmMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDgsMHg5NCwweGEyLDB4MjUsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4YjkwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHg2NCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YjkxMCwgMCwgezB4MDgsMHg5MCwweDQyLDB4YTQsMHgwMCwweDg5LDB4NjAsMHgyMiwweDQyLDB4MGIsMHg5MCwweDAyLDB4ZTYsMHgwMCwweGI5LDB4ODAgfSwKLSAgMTYsIDB4YjkyMCwgMCwgezB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDQsMHhiOSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4MDQgfSwKLSAgMTYsIDB4YjkzMCwgMCwgezB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjk0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4ODAsMHg4MSwweDAwLDB4MmMsMHhjMSwweDQ4LDB4MTAsMHgwMiwweGE0LDB4MDIsMHg4MSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4Yjk1MCwgMCwgezB4NDAsMHg4MywweDM0LDB4MDIsMHhjNCwweDAwLDB4YmIsMHgwMCwweDIwLDB4ZDAsMHgwYiwweDE0LDB4MDIsMHhjNCwweDgwLDB4YjEgfSwKLSAgMTYsIDB4Yjk2MCwgMCwgezB4MjAsMHhhMCwweDY4LDB4MTgsMHgxNCwweDFhLDB4MGQsMHgwMCwweGIxLDB4NDAsMHgyYywweDUwLDB4MGIsMHgxMCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4Yjk3MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4Yjk4MCwgMCwgezB4OGMsMHg4MCwweDBiLDB4YTAsMHgwNCwweGU4LDB4MDAsMHgzMiwweDAwLDB4MDcsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4Yjk5MCwgMCwgezB4MzIsMHgwMCwweDFmLDB4ODAsMHgwMywweGExLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4YjlhMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjliMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDYsMHhmZCwweDQwLDB4M2YsMHg1MCwweDIzLDB4ZDQsMHgxMywweDc0LDB4MDQsMHhmNSwweDAyLDB4M2YgfSwKLSAgMTYsIDB4YjljMCwgMCwgezB4NTAsMHgwZiwweGQ0LDB4MDMsMHhmZCwweDAwLDB4YmQsMHgwMCwweDJmLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZjkgfSwKLSAgMTYsIDB4YjlkMCwgMCwgezB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkNCwweDAzLDB4ZjUsMHgwOCwweGZkLDB4MDYsMHgzZSwweDUwLDB4MGYsMHhkMiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4YjllMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDQwLDB4ZWQsMHgwNCwweDNlLDB4NDggfSwKLSAgMTYsIDB4YjlmMCwgMCwgezB4MGMsMHhiMiwweDgzLDB4ZjQsMHgwMCwweGMxLDB4MDAsMHgzMiwweDQwLDB4OGMsMHhkMCwweDAzLDB4MzQsMHgwMCwweGZkLDB4MDAgfSwKLSAgMTYsIDB4YmEwMCwgMCwgezB4MzcsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU2LDB4MjAsMHhmOSwweDg4LDB4M2QsMHg2MiwweDBjLDB4ZDgsMHgwMywweGZlLDB4MjQgfSwKLSAgMTYsIDB4YmExMCwgMCwgezB4YzEsMHgwMCwweDNlLDB4NzgsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmEyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweDQwLDB4MmUsMHgxMCwweDA4LDB4YzQsMHgyMywweGEwLDB4MDgsMHg4OCwweDA2LDB4MmEgfSwKLSAgMTYsIDB4YmEzMCwgMCwgezB4MTQsMHgwOCwweDgwLDB4MDMsMHg2MCwweDA0LDB4YjgsMHgwMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhlMiwweDAwLDB4YjggfSwKLSAgMTYsIDB4YmE0MCwgMCwgezB4ODAsMHgyZSwweDAwLDB4MDgsMHg4YywweDAyLDB4ZTMsMHg4MCwweDg4LDB4MDIsMHgyZSwweDM4LDB4MGIsMHg4OCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YmE1MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgwLDB4YTEsMHhjMCwweDJkLDB4NzAgfSwKLSAgMTYsIDB4YmE2MCwgMCwgezB4MDgsMHg1MCwweDQyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMCwweGUwLDB4MmEsMHgxMCwweDBhLDB4MDQsMHgxMCwweGIxLDB4MDAgfSwKLSAgMTYsIDB4YmE3MCwgMCwgezB4MjQsMHg0MCwweDRiLDB4MTAsMHgwNiwweGM0LDB4MjAsMHhiMSwweDA4LDB4NmUsMHg0MCwweDBiLDB4MTYsMHg4MiwweGM0LDB4MjAgfSwKLSAgMTYsIDB4YmE4MCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NTAsMHgwYiwweDkyLDB4ODIsMHg1MiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmE5MCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHhhOSwweDAxLDB4MmUsMHg0MCwweDI4LDB4ZDAsMHgyMCwweGE0LDB4MDQsMHhhOSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4YmFhMCwgMCwgezB4NDAsMHgxYSwweGIwLDB4MTIsMHgyNCwweDAwLDB4YjksMHgwYywweDIyLDB4NDIsMHgwYiwweDk0LDB4MDIsMHhlNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4YmFiMCwgMCwgezB4MDAsMHg2ZSwweDQwLDB4MGIsMHg5NiwweDAyLDB4ZTQsMHgxMSwweDg5LDB4MjAsMHg2ZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4YmFjMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweGMwLDB4YTksMHhjMCwweDNlLDB4NTAgfSwKLSAgMTYsIDB4YmFkMCwgMCwgezB4MDgsMHg5YywweDgzLDB4ZTQsMHgwMiwweGU5LDB4MDAsMHhiMiwweDQwLDB4MmEsMHg5MiwweDEyLDB4MjYsMHg0MCwweGY5LDB4NDAgfSwKLSAgMTYsIDB4YmFlMCwgMCwgezB4MzYsMHg3MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDQsMHhmOSwweDAxLDB4M2MsMHg0MCwweDBmLDB4OTgsMHgwMywweGU2LDB4MDIgfSwKLSAgMTYsIDB4YmFmMCwgMCwgezB4YzksMHgyMiwweDNlLDB4NDAsMHgwZiwweDEwLDB4MDIsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmIwMCwgMCwgezB4MjgsMHgwMSwweDg2LDB4MDQsMHhkOSwweDQwLDB4MWMsMHg0MCwweDBmLDB4OTIsMHgyMywweGE0LDB4YjAsMHhkYiwweDA0LDB4M2MgfSwKLSAgMTYsIDB4YmIxMCwgMCwgezB4YzAsMHgwZCwweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDQsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YmIyMCwgMCwgezB4MDAsMHgzZSwweDQyLDB4MmMsMHg5MCwweDIzLDB4ZTQsMHg4MCwweGY5LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MiwweDAzLDB4OTIgfSwKLSAgMTYsIDB4YmIzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4YzgsMHgyMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YmI0MCwgMCwgezB4NGMsMHhjMCwweDhiLDB4MjAsMHgwMiwweGM4LDB4MzEsMHgzMiwweDIwLDB4MmQsMHg4NCwweDAzLDB4ZTEsMHgwNCwweGY4LDB4NDggfSwKLSAgMTYsIDB4YmI1MCwgMCwgezB4YmEsMHgwMCwweDBmLDB4ODksMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBkLDB4ODEsMHgxMywweDIwLDB4MTAgfSwKLSAgMTYsIDB4YmI2MCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwZiwweDgxLDB4MjMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmI3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHgwZSwweDQwLDB4MjIsMHg4MCwweDI4LDB4YTQsMHgwMiwweDE5LDB4MDAsMHg1MiwweDgwLDB4YTIgfSwKLSAgMTYsIDB4YmI4MCwgMCwgezB4ODAsMHg0ZCwweGVkLDB4ODIsMHhlOCwweDAwLDB4YjYsMHg0MiwweDIzLDB4YmQsMHgwYiwweGU4LDB4MDIsMHhlOCwweDA0LDB4ZGEgfSwKLSAgMTYsIDB4YmI5MCwgMCwgezB4MDAsMHgzNywweDgwLDB4MDgsMHhlMCwweDAyLDB4M2EsMHgyMCwweGJhLDB4MDAsMHgyMiwweDgwLDB4MGIsMHhhOCwweDBhLDB4MGEgfSwKLSAgMTYsIDB4YmJhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHg4MCwweDYwLDB4YzAgfSwKLSAgMTYsIDB4YmJiMCwgMCwgezB4MDgsMHgyOSwweDAyLDB4MGQsMHgwMCwweDkyLDB4NDAsMHgyNCwweGMwLDB4MDgsMHhiNCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YmJjMCwgMCwgezB4NjgsMHhlMCwweDFiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg5MywweDAxLDB4MjQsMHhjMCwweDY5LDB4MzgsMHgwMiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4YmJkMCwgMCwgezB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmJlMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHg4MywweGMwLDB4MjAsMHg0MCwweDA4LDB4MjgsMHgwNiwweDljLDB4MTgsMHg5YywweDAyLDB4MjQgfSwKLSAgMTYsIDB4YmJmMCwgMCwgezB4YzAsMHgwOSwweDcwLDB4MDIsMHhkNCwweDAwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhjZSwweDQwLDB4OTcgfSwKLSAgMTYsIDB4YmMwMCwgMCwgezB4YjAsMHgyNSwweDQwLDB4MDgsMHg3OCwweDFhLDB4NTgsMHgwMCwweGJmLDB4YTIsMHg2NSwweGM4LDB4MGIsMHg3OCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YmMxMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwZSwweDAyLDB4ODcsMHg4MCwweGIxLDB4YTAgfSwKLSAgMTYsIDB4YmMyMCwgMCwgezB4MGMsMHg2OCwweDAzLDB4MWEsMHgwOCwweGQ2LDB4OTIsMHgzNSwweGU0LDB4MjgsMHg3OCwweDQyLDB4ZDYsMHgxMCwweGY1LDB4ODAgfSwKLSAgMTYsIDB4YmMzMCwgMCwgezB4MzksMHhhMCwweDBmLDB4NzgsMHgyMywweGRlLDB4MzAsMHhkMywweGEyLDB4MzUsMHhhMCwweDRkLDB4ZTgsMHgwMywweDVlLDB4MDAgfSwKLSAgMTYsIDB4YmM0MCwgMCwgezB4ZjcsMHhkMCwweDNkLDB4ZjgsMHgwZiwweGYwLDB4MDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmM1MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHgwMCwweDBiLDB4YTAsMHgwMywweDQ4LDB4MDQsMHhmYSwweDQxLDB4M2EgfSwKLSAgMTYsIDB4YmM2MCwgMCwgezB4NTAsMHgwZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweDg4LDB4ZmIgfSwKLSAgMTYsIDB4YmM3MCwgMCwgezB4NGQsMHgzZSwweDAwLDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwOCwweGZiLDB4MjAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YmM4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZGMsMHg4MCwweGIzLDB4ZTAgfSwKLSAgMTYsIDB4YmM5MCwgMCwgezB4MGMsMHhkOCwweDAzLDB4Y2UsMHgwMCwweGM4LDB4YTAsMHgzMSwweGEwLDB4OGQsMHhlOSwweDAzLDB4YmUsMHgwMCwweGIyLDB4ODAgfSwKLSAgMTYsIDB4YmNhMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZTgsMHg0MywweDdlLDB4MDQsMHgwZiwweDgxLDB4MzEsMHhlNCwweDBjLDB4ZDgsMHgwMywweGY2LDB4MDAgfSwKLSAgMTYsIDB4YmNiMCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHgwMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmNjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNCwweDQwLDB4MzUsMHg0MCwweDA4LDB4NTAsMHg4MiwweGRlLDB4ODAsMHhkNCwweDkwLDB4MjEgfSwKLSAgMTYsIDB4YmNkMCwgMCwgezB4ZTAsMHgwZCwweDUxLDB4MDIsMHhkNCwweDQwLDB4YjYsMHhiMCwweDJiLDB4OTAsMHgwZSwweGU1LDB4MDIsMHg5YywweDQwLDB4ZDcgfSwKLSAgMTYsIDB4YmNlMCwgMCwgezB4MjIsMHgxOSwweDVjLDB4MGQsMHg3MCwweDAyLDB4ZDgsMHgwMCwweGI3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHhmMCwweDAzLDB4NmEgfSwKLSAgMTYsIDB4YmNmMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4OTMsMHgxMCwweDIxLDB4ODAgfSwKLSAgMTYsIDB4YmQwMCwgMCwgezB4MDgsMHg1OCwweDAyLDB4ZGMsMHhjMCwweDk0LDB4MDAsMHgyMywweGQwLDB4MDgsMHg3MCwweGEwLDB4ZDQsMHgyMCwweGI1LDB4MDIgfSwKLSAgMTYsIDB4YmQxMCwgMCwgezB4MjksMHg4MCwweDA5LDB4NjAsMHg4MiwweDBjLDB4MDAsMHg4NywweDAyLDB4MjUsMHhjMCwweDE5LDB4NDAsMHgwMiwweGQ0LDB4MDAgfSwKLSAgMTYsIDB4YmQyMCwgMCwgezB4YjcsMHgwMCwweDZkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmQzMCwgMCwgezB4MjAsMHgxNCwweGVjLDB4MDAsMHhiMywweGMwLDB4MjAsMHgwMSwweDQ4LDB4MTgsMHgwMiwweGNjLDB4MDIsMHg4MSwweDQ0LDB4YTAgfSwKLSAgMTYsIDB4YmQ0MCwgMCwgezB4YzAsMHg4OSwweDM4LDB4MDIsMHhjNywweDgwLDB4YjEsMHgwMCwweDJjLDB4MDksMHg0YSwweDAwLDB4NjIsMHhhYywweDA5LDB4OTMgfSwKLSAgMTYsIDB4YmQ1MCwgMCwgezB4MDEsMHgyOCwweDQwLDB4MTksMHgzMCwweDAyLDB4Y2QsMHgxMCwweGIzLDB4OTAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YmQ2MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDIwLDB4ZGIsMHg2MiwweDIyLDB4ZTAgfSwKLSAgMTYsIDB4YmQ3MCwgMCwgezB4NmMsMHhhMCwweDAzLDB4ZTQsMHgwMCwweDk4LDB4MDAsMHgzMiwweGMwLDB4ZWMsMHg5OCwweDIzLDB4YWUsMHgwOCwweGZiLDB4MDggfSwKLSAgMTYsIDB4YmQ4MCwgMCwgezB4M2EsMHg3OCwweDA5LDB4OTAsMHgwMywweDdjLDB4MTAsMHhjZiwweDAwLDB4MjYsMHg0MCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAgfSwKLSAgMTYsIDB4YmQ5MCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmRhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MjAsMHhmYiwweDQ4LDB4M2MsMHg2MSwweDBmLDB4YTAsMHg0MywweGVkLDB4MDAsMHhmOCwweDI0LDB4M2UgfSwKLSAgMTYsIDB4YmRiMCwgMCwgezB4NTAsMHgwZiwweDkwLDB4ODMsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNhLDB4NTAsMHgwZiwweDgwLDB4NDMsMHhlYywweDA4LDB4ZmIgfSwKLSAgMTYsIDB4YmRjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg0MCwweDAzLDB4ZjAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMxLDB4MGYsMHg5MCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4YmRkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZGQsMHhhMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4YmRlMCwgMCwgezB4MGMsMHhlMCwweDAxLDB4ZmMsMHgwMCwweGRjLDB4OTEsMHgzOSwweGMwLDB4M2MsMHg0MCwweDAzLDB4MzQsMHgwMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4YmRmMCwgMCwgezB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwNywweGZjLDB4MDAsMHhjYiwweDAwLDB4M2QsMHg0MCwweDBjLDB4ZTAsMHgwMywweDM4LDB4MjAgfSwKLSAgMTYsIDB4YmUwMCwgMCwgezB4Y2YsMHgwMiwweDNkLDB4YzAsMHgwYywweGQwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmUxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHgwMSwweDQwLDB4MjIsMHgwMCwweDI4LDB4YTAsMHgwMiwweGNlLDB4ODYsMHg4MywweDY0LDB4MjIgfSwKLSAgMTYsIDB4YmUyMCwgMCwgezB4ZjQsMHgwOCwweDhjLDB4MGYsMHg2NCwweDAwLDB4YmIsMHgxMCwweDJlLDB4NjAsMHgwYiwweDljLDB4MDMsMHhhYywweDAxLDB4ZGIgfSwKLSAgMTYsIDB4YmUzMCwgMCwgezB4MDAsMHgzZSwweDYwLDB4MDgsMHg4ZiwweDAyLDB4MjMsMHg0MCwweDhiLDB4MDAsMHgzYSwweGMwLDB4MGQsMHgxMCwweDQzLDB4NjggfSwKLSAgMTYsIDB4YmU0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OTksMHgwMCwweGEyLDB4YzAgfSwKLSAgMTYsIDB4YmU1MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4YTYsMHgwNywweDk4LDB4MDAsMHgwMiwweGMyLDB4NDgsMHg4OCwweDAyLDB4MmMsMHgwMCwweGJhLDB4MDIgfSwKLSAgMTYsIDB4YmU2MCwgMCwgezB4NmUsMHg2MCwweDBhLDB4OTgsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAxLDB4MmUsMHg2MCwweDA4LDB4OTAsMHgwMiwweDA1LDB4MDAgfSwKLSAgMTYsIDB4YmU3MCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIxLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmU4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHg4MSwweDAwLDB4MjAsMHg0MCwweDI4LDB4MTAsMHgyNiwweGNjLDB4ODAsMHg4MCwweDIwLDB4YTAgfSwKLSAgMTYsIDB4YmU5MCwgMCwgezB4Y2MsMHgxOCwweDE0LDB4NDIsMHgwNCwweDAwLDB4YjIsMHgyMCwweDZjLDB4NDAsMHgwYiwweDAwLDB4MDIsMHg4YywweDAwLDB4ODMgfSwKLSAgMTYsIDB4YmVhMCwgMCwgezB4MDAsMHgyOCwweDQwLDB4MjgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDksMHhiMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4YmViMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZDksMHgwMCwweDIyLDB4ODAgfSwKLSAgMTYsIDB4YmVjMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YWMsMHg4MCwweGRhLDB4MjksMHgyYSwweGQyLDB4MjgsMHg4MCwweDAyLDB4MjQsMHgwMCwweGZiLDB4MjAgfSwKLSAgMTYsIDB4YmVkMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4OTAsMHgwMiwweGZjLDB4MDAsMHg4ZiwweDAwLDB4MmUsMHg0MCwweDBjLDB4ODAsMHgwYiwweDIwLDB4MDIgfSwKLSAgMTYsIDB4YmVlMCwgMCwgezB4Y2YsMHgwMCwweDNlLDB4YzAsMHgwYywweGIwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmVmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHg2MywweGZjLDB4NDksMHhmNSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YmYwMCwgMCwgezB4YzAsMHgwYiwweGMwLDB4MDEsMHhmNCwweDAwLDB4N2YsMHg0MCwweDNmLDB4NDAsMHgxZiwweGQwLDB4MDMsMHhiYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YmYxMCwgMCwgezB4MDAsMHgzZiwweDQwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YmYyMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmMiwweDQwLDB4ZWMsMHhhMCwweDNmLDB4ZTAgfSwKLSAgMTYsIDB4YmYzMCwgMCwgezB4MGQsMHg0OCwweDAzLDB4N2QsMHg4MCwweGY0LDB4ODAsMHgzMywweDZjLDB4MGUsMHhjOCwweDAzLDB4MzIsMHgwMCwweGRkLDB4OTAgfSwKLSAgMTYsIDB4YmY0MCwgMCwgezB4M2IsMHhhMCwweDJkLDB4ZjAsMHgwMywweGZjLDB4YzAsMHhmZiwweDAwLDB4M2IsMHhlMCwweDhlLDB4ZjAsMHgwMywweDNjLDB4MDQgfSwKLSAgMTYsIDB4YmY1MCwgMCwgezB4ZWMsMHg2MCwweDMxLDB4MDAsMHgwYywweGYwLDB4MDMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmY2MCwgMCwgezB4ODAsMHgxMCwweGVjLDB4MDAsMHhkOSwweGMxLDB4MmUsMHhlMSwweDBkLDB4ODgsMHgwMiwweDNjLDB4ODAsMHhmOCwweDgwLDB4MzYgfSwKLSAgMTYsIDB4YmY3MCwgMCwgezB4N2QsMHgxOCwweGEwLDB4MDIsMHgyOCwweGIwLDB4ZWEsMHgyMCwweDIyLDB4MjAsMHgwOCwweDc3LDB4MDIsMHhmZCwweDUwLDB4YmIgfSwKLSAgMTYsIDB4YmY4MCwgMCwgezB4ODAsMHgyMiwweDQwLDB4MGIsMHhmNCwweDQyLDB4M2QsMHg4MCwweDg4LDB4MzEsMHgyMiwweDEyLDB4MDgsMHhmNiwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YmY5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4ODAsMHgxMSwweDJlLDB4YzEgfSwKLSAgMTYsIDB4YmZhMCwgMCwgezB4MDgsMHgwMCwweDAyLDB4NGQsMHg4MCwweGI4LDB4MDAsMHgyMCwweDAwLDB4MGEsMHgwMiwweDgyLDB4MDAsMHgwMCwweDk5LDB4MjAgfSwKLSAgMTYsIDB4YmZiMCwgMCwgezB4MjIsMHhjMCwweDA5LDB4MzAsMHg4MiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjgsMHhjYSwweDBiLDB4MzQsMHg4MiwweDBkLDB4MjAgfSwKLSAgMTYsIDB4YmZjMCwgMCwgezB4ODAsMHgwMCwweGEwLDB4OGMsMHgwOCwweDM0LDB4ODIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmZkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4NDAsMHg5OSwweDgwLDB4MmUsMHhjMiwweDA5LDB4OTQsMHgwMiwweDJjLDB4MDAsMHhhOSwweDgwLDB4MjYgfSwKLSAgMTYsIDB4YmZlMCwgMCwgezB4NjAsMHgwOCwweDM4LDB4NDIsMHgyMiwweDIwLDB4YmEsMHg0MSwweDYyLDB4NDYsMHgzYiwweGIwLDB4MDIsMHhlYywweDAxLDB4YmIgfSwKLSAgMTYsIDB4YmZmMCwgMCwgezB4ODAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDQ2LDB4MGMsMHgxOCwweDg4LDB4YzAsMHgyMiwweDIyLDB4MDgsMHhiMCwweDA2LDB4ZjAgfSwKLSAgMTYsIDB4YzAwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhjYywweDAwLDB4YzksMHg4MSwweDNjLDB4YzEgfSwKLSAgMTYsIDB4YzAxMCwgMCwgezB4MGMsMHhhOSwweDIzLDB4NmMsMHgwMCwweGIyLDB4ODAsMHgzMiwweDc4LDB4MGEsMHg4YSwweDBiLDB4MjYsMHgwMCwweDk5LDB4MDEgfSwKLSAgMTYsIDB4YzAyMCwgMCwgezB4MzAsMHhlMCwweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhiOSwweDAwLDB4M2EsMHhjMCwweDFlLDB4YjAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4YzAzMCwgMCwgezB4Y2IsMHg4MCwweDMyLDB4NjEsMHgwYywweGIwLDB4MTMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzA0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MTAsMHhkZCwweDAwLDB4M2YsMHhjMiwweDBmLDB4ZTgsMHgwMywweGFjLDB4MDAsMHhmZSwweDAwLDB4M2QgfSwKLSAgMTYsIDB4YzA1MCwgMCwgezB4NDAsMHgwZiwweGMwLDB4NDMsMHhmOCwweDEwLDB4ZWYsMHgxNCwweGI3LDB4ZTAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4ZjUgfSwKLSAgMTYsIDB4YzA2MCwgMCwgezB4MDIsMHgzZiwweDQ0LDB4NGYsMHhiMCwweDRiLDB4ZmMsMHgwMiwweGQ0LDB4MDQsMHgzZCwweDQwLDB4MmYsMHhmMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YzA3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjksMHgwOCwweDNlLDB4NjAgfSwKLSAgMTYsIDB4YzA4MCwgMCwgezB4MGQsMHhhMCwweDAzLDB4YWMsMHgwMCwweGU4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHg4NCwweDAzLDB4YTUsMHgwMCwweGU5LDB4MDAgfSwKLSAgMTYsIDB4YzA5MCwgMCwgezB4M2EsMHhkOCwweDBmLDB4YjAsMHgwMywweDJjLDB4MDAsMHhmOSwweDAwLDB4M2EsMHhjMCwweDBmLDB4MzAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4YzBhMCwgMCwgezB4Y2IsMHg0NCwweDNlLDB4ZDQsMHgwZSwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzBiMCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDgsMHhiOSwweDgwLDB4MmUsMHhjMCwweDBhLDB4MzAsMHg0MiwweDNjLDB4MDAsMHg4OSwweDA0LDB4NzYgfSwKLSAgMTYsIDB4YzBjMCwgMCwgezB4NjAsMHgwOCwweDkwLDB4NjIsMHgyMCwweDAwLDB4ODIsMHgwNCwweDIyLDB4ZDAsMHgwOCwweGYwLDB4NDMsMHg3YywweDAwLDB4YmIgfSwKLSAgMTYsIDB4YzBkMCwgMCwgezB4ODIsMHgyMiwweDQwLDB4MGIsMHhmMCwweDQyLDB4M2MsMHgwMCwweDhhLDB4YzAsMHgyZSwweGMxLDB4MDgsMHhmMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4YzBlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDEwLDB4YjIsMHhkMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4YzBmMCwgMCwgezB4MjksMHgxOCwweDAyLDB4OGMsMHgwNCwweGExLDB4MDAsMHgyNCwweDljLDB4MDgsMHgxMCwweDAyLDB4ODAsMHgwMCwweGExLDB4MDEgfSwKLSAgMTYsIDB4YzEwMCwgMCwgezB4MGMsMHhjMSwweDJiLDB4MzAsMHg1MiwweDhjLDB4MDQsMHhiMywweDAxLDB4MjgsMHg0MCwweDRiLDB4MzAsMHgwMiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4YzExMCwgMCwgezB4OTAsMHgyMCwweDJjLDB4MjAsMHgwYSwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzEyMCwgMCwgezB4MjAsMHg0MSwweDFlLDB4MDAsMHhiNywweGEyLDB4MjUsMHhlOCwweDhhLDB4NjgsMHgwMiwweDFlLDB4MDAsMHg4NSwweDgwLDB4MjUgfSwKLSAgMTYsIDB4YzEzMCwgMCwgezB4ODAsMHg4OCwweGU4LDB4MDIsMHgzZSwweDAwLDB4ODUsMHg4MCwweDJmLDB4ZTQsMHgyOCwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4YzE0MCwgMCwgezB4ODAsMHg2MSwweGUwLDB4MDMsMHg3OCwweDAyLDB4NWUsMHg4MiwweGI3LDB4ODIsMHgyZCwweGUwLDB4MDgsMHg3OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YzE1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwZCwweDAwLDB4ZjAsMHgxMCwweDNjLDB4ODAgfSwKLSAgMTYsIDB4YzE2MCwgMCwgezB4MGQsMHgxMCwweDgzLDB4OGMsMHgwMCwweGUyLDB4NTAsMHgyNiwweDA0LDB4MGMsMHgxMSwweDAzLDB4ODgsMHg0MCwweGViLDB4MDAgfSwKLSAgMTYsIDB4YzE3MCwgMCwgezB4M2MsMHhjNCwweDBmLDB4MzAsMHgwMywweDhjLDB4MDAsMHhmMywweDA4LDB4MzgsMHg0MCwweDA3LDB4MzAsMHgwMywweDZlLDB4NDAgfSwKLSAgMTYsIDB4YzE4MCwgMCwgezB4ZDAsMHgwOCwweDNjLDB4ODgsMHgwZSwweDMwLDB4NDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzE5MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmYiwweDM0LDB4M2MsMHhjOSwweDRlLDB4YjAsMHgyMywweGVkLDB4MjAsMHhmYiwweDA0LDB4M2YgfSwKLSAgMTYsIDB4YzFhMCwgMCwgezB4YzgsMHg4ZiwweDcwLDB4NTMsMHg0YywweDAwLDB4ZWIsMHgxMCwweDMxLDB4YzUsMHgwZSwweGY0LDB4MDMsMHg2ZCwweDAwLDB4ZjMgfSwKLSAgMTYsIDB4YzFiMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDBiLDB4YmMsMHgwMCwweGNkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDgzLDB4ZDAgfSwKLSAgMTYsIDB4YzFjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhjZSwweDA0LDB4YzksMHgwNCwweGIwLDB4YzEgfSwKLSAgMTYsIDB4YzFkMCwgMCwgezB4MGYsMHg5OCwweDEzLDB4NmMsMHg5MCwweGNiLDB4MDIsMHgzZSwweGMwLDB4NGYsMHhiMCwweDYzLDB4ZTQsMHgwMCwweGYxLDB4ODAgfSwKLSAgMTYsIDB4YzFlMCwgMCwgezB4MTIsMHhjMCwweDBjLDB4YjUsMHgwMywweGVjLDB4YzAsMHhjZiwweDgzLDB4MzIsMHg0MCwweDBmLDB4YjMsMHgyMywweDJkLDB4YTQgfSwKLSAgMTYsIDB4YzFmMCwgMCwgezB4ZmIsMHgwMCwweDNlLDB4MDAsMHgwZiwweGI0LDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzIwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDJkLDB4NjAsMHgwMiwweDFjLDB4MDAsMHhkNywweDAwLDB4MzkgfSwKLSAgMTYsIDB4YzIxMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjUsMHgwMCwweDIxLDB4YzAsMHgyYSwweDcwLDB4MTIsMHhjYywweDgwLDB4ODcgfSwKLSAgMTYsIDB4YzIyMCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MGIsMHg3MiwweDUyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweDQxLDB4MGIsMHgzMiwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YzIzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHhiZSwweDAwLDB4ODEsMHhjMCwweDIzLDB4MjAgfSwKLSAgMTYsIDB4YzI0MCwgMCwgezB4MGIsMHhkOCwweDAyLDB4NWUsMHgwMCwweDA2LDB4YzAsMHgyZCwweGEwLDB4MGIsMHg3YywweDEyLDB4ZGUsMHgwOCwweGJmLDB4ODAgfSwKLSAgMTYsIDB4YzI1MCwgMCwgezB4YTEsMHhlMiwweDJhLDB4N2EsMHgwMiwweGRlLDB4MDAsMHg5MywweDgwLDB4MjUsMHg2MCwweDBiLDB4NzgsMHgxZSwweDVlLDB4NTAgfSwKLSAgMTYsIDB4YzI2MCwgMCwgezB4YjcsMHg4MCwweDJkLDB4YTAsMHgwYiwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzI3MCwgMCwgezB4NDgsMHgxNCwweGNlLDB4MDAsMHg4MywweDYwLDB4MjAsMHhjMCwweDA5LDB4MzEsMHgwMiwweDJjLDB4MDAsMHg5MywweDAwLDB4MjggfSwKLSAgMTYsIDB4YzI4MCwgMCwgezB4YzAsMHgxYiwweGIwLDB4MDYsMHhjYywweDgwLDB4YjMsMHg0OCwweDIwLDB4ZjAsMHgwYSwweDMwLDB4MDIsMHhlYywweDAwLDB4OTMgfSwKLSAgMTYsIDB4YzI5MCwgMCwgezB4ODAsMHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4NGMsMHgxMCwweGIzLDB4YzgsMHgyYywweGQyLDB4OGIsMHgzMCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YzJhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYiwweDAwLDB4YzYsMHhjNCwweDMxLDB4ODEgfSwKLSAgMTYsIDB4YzJiMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4NjgsMHgwMCwweGNlLDB4ODAsMHgzZiwweGEyLDB4MGIsMHhlOCwweDAzLDB4ZjksMHgwMCwweGZlLDB4NDAgfSwKLSAgMTYsIDB4YzJjMCwgMCwgezB4MzEsMHg4MCwweDZlLDB4YTAsMHgwNywweGU4LDB4MDAsMHhkYSwweDAwLDB4MjYsMHg4MSwweDBmLDB4YTAsMHgwMiwweDY4LDB4MDEgfSwKLSAgMTYsIDB4YzJkMCwgMCwgezB4ZjYsMHhlMCwweDNkLDB4OTIsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzJlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4YzIsMHhmOCwweDA0LDB4M2UsMHgxNCwweDBmLDB4ODAsMHgxMywweGUwLDB4MTAsMHhmOCwweDAxLDB4M2UgfSwKLSAgMTYsIDB4YzJmMCwgMCwgezB4MTAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDAwLDB4YjgsMHgwMCwweDNlLDB4MDAsMHg0NywweDgwLDB4MDMsMHhlMCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4YzMwMCwgMCwgezB4MTAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDA3LDB4YTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGYsMHg4MCwweDBiLDB4ZDIgfSwKLSAgMTYsIDB4YzMxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMSwweDMyLDB4NDAgfSwKLSAgMTYsIDB4YzMyMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQyLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4YzMzMCwgMCwgezB4M2UsMHg0MiwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweDY0LDB4MDAgfSwKLSAgMTYsIDB4YzM0MCwgMCwgezB4ZjksMHg5MCwweDMyLDB4NDEsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzM1MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweGM4LDB4YTIsMHg2MCwweDBhLDB4OTIsMHgwMiwweGU0LDB4MDAsMHg4OSwweDQwLDB4MmUgfSwKLSAgMTYsIDB4YzM2MCwgMCwgezB4NTgsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDJlLDB4NDIsMHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4ODkgfSwKLSAgMTYsIDB4YzM3MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDA2LDB4MjQsMHgwNCwweGI5LDB4MDgsMHgyYSwweDQwLDB4NDgsMHg5MCwweDEyLDB4MjAgfSwKLSAgMTYsIDB4YzM4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgxMCwweDIyLDB4NDQgfSwKLSAgMTYsIDB4YzM5MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQ1LDB4OGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4YzNhMCwgMCwgezB4MmEsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDgwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgyNiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YzNiMCwgMCwgezB4YjksMHgwMSwweDIyLDB4NzAsMHgwOSwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzNjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDgsMHhiMSwweDIwLDB4MjAsMHg0MCwweDBhLDB4MTAsMHgwMiwweGM0LDB4ODAsMHg4MywweDAwLDB4MmMgfSwKLSAgMTYsIDB4YzNkMCwgMCwgezB4NTAsMHg0YiwweDEwLDB4MDIsMHgyNCwweDAwLDB4OTEsMHgwMCwweDJlLDB4NDAsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgxLDB4ODEgfSwKLSAgMTYsIDB4YzNlMCwgMCwgezB4YTIsMHg2YywweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweGI5LDB4MjAsMHgyYSwweDQ4LDB4MjksMHgxMiwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YzNmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjgsMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4YzQwMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4ZTEsMHg0MiwweGM4LDB4MDAsMHgzMiwweDAwLDB4MWYsMHg4NSwweDAzLDB4YTEsMHg0MCwweGM4LDB4NTAgfSwKLSAgMTYsIDB4YzQxMCwgMCwgezB4M2EsMHgwMCwweDhkLDB4ODUsMHgwMywweDYxLDB4NDAsMHhkOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4MDUsMHgwMywweDIxLDB4NDAgfSwKLSAgMTYsIDB4YzQyMCwgMCwgezB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwZCwweDg1LDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzQzMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4MDQsMHhmZCwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGM0LDB4NDAsMHhmZCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4YzQ0MCwgMCwgezB4NTEsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMSwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQgfSwKLSAgMTYsIDB4YzQ1MCwgMCwgezB4MTAsMHgzZiwweDRhLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZiwweDQ0LDB4MGUsMHg5MSwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YzQ2MCwgMCwgezB4MDIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhjNSwweDAwLDB4Y2QsMHgwMCwweDMxLDB4NDAgfSwKLSAgMTYsIDB4YzQ3MCwgMCwgezB4MGQsMHhkMCwweDQzLDB4ZTQsMHgwMCwweGNkLDB4MDAsMHgzMywweDQwLDB4NGYsMHgxMSwweDAyLDB4ZTQsMHgwNCwweGMxLDB4MDAgfSwKLSAgMTYsIDB4YzQ4MCwgMCwgezB4M2QsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlZCwweGE0LDB4MzIsMHg1MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4YzQ5MCwgMCwgezB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzRhMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDgsMHhkOCwweDAwLDB4MzIsMHgwMSwweDAwLDB4ODAsMHgxMiwweGMwLDB4MDAsMHg0OCwweDAwLDB4MzYgfSwKLSAgMTYsIDB4YzRiMCwgMCwgezB4ODAsMHgwYiwweDhhLDB4MDIsMHhlMCwweDAwLDB4YTgsMHgwMCwweDJlLDB4MDAsMHgwZiwweDgwLDB4MDIsMHhlMCwweDAwLDB4ODggfSwKLSAgMTYsIDB4YzRjMCwgMCwgezB4NTAsMHgzNCwweDI4LDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4Y2UgfSwKLSAgMTYsIDB4YzRkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwMCwweDI2LDB4NDAgfSwKLSAgMTYsIDB4YzRlMCwgMCwgezB4MDksMHgxOCwweDAyLDB4YzQsMHgwOCwweDIxLDB4MDAsMHgyOCwweDQwLDB4OGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MDEgfSwKLSAgMTYsIDB4YzRmMCwgMCwgezB4MmUsMHg0MCwweDE4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDAxLDB4MjAsMHg0OCwweDFiLDB4MTAsMHgwMiwweGM0LDB4MDAgfSwKLSAgMTYsIDB4YzUwMCwgMCwgezB4YjEsMHgwMCwweDZjLDB4NDAsMHgwYiwweDEwLDB4MTIsMHhjMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzUxMCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHg5OSwweDgwLDB4YTIsMHg0MiwweDQ4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDJhLDB4MjYgfSwKLSAgMTYsIDB4YzUyMCwgMCwgezB4NDQsMHgwYiwweDkwLDB4ODIsMHhjNCwweDgxLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDIsMHhjNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4YzUzMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4YzU0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNSwweDIwLDB4YzksMHg4NCwweDMwLDB4NzAgfSwKLSAgMTYsIDB4YzU1MCwgMCwgezB4MGQsMHg5MCwweDEzLDB4ZTQsMHgwMiwweGU5LDB4MDAsMHgzMiwweDcwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4NDAgfSwKLSAgMTYsIDB4YzU2MCwgMCwgezB4M2MsMHg0OCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMSwweGU0LDB4MDAgfSwKLSAgMTYsIDB4YzU3MCwgMCwgezB4ZjksMHg5MCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MjYsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzU4MCwgMCwgezB4MjgsMHgwMSwweGE1LDB4MDAsMHhmMSwweDA0LDB4M2EsMHg0NCwweDhmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhjOSwweDA0LDB4M2UgfSwKLSAgMTYsIDB4YzU5MCwgMCwgezB4NjAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4YzVhMCwgMCwgezB4OTAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDA3LDB4Y2EgfSwKLSAgMTYsIDB4YzViMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4YzgsMHgwNCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4YzVjMCwgMCwgezB4MWUsMHg4MCwweDAzLDB4ODAsMHgwMywweGM4LDB4NDAsMHgyYSwweDA0LDB4MWYsMHg4MCwweDAzLDB4MjAsMHgwMCwweDg4LDB4MDAgfSwKLSAgMTYsIDB4YzVkMCwgMCwgezB4MzIsMHgzMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAgfSwKLSAgMTYsIDB4YzVlMCwgMCwgezB4YzgsMHg4MCwweDNlLDB4MjAsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzVmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhhZSwweGQwLDB4MzcsMHg4MCwweDA4LDB4ZWMsMHg0NiwweDM4LDB4MDAsMHhkNiwweDA0LDB4MjMgfSwKLSAgMTYsIDB4YzYwMCwgMCwgezB4YTAsMHgwYiwweGEwLDB4NDEsMHg3OCwweDA0LDB4ZmEsMHgwMCwweDM3LDB4ODAsMHgwZCwweGEwLDB4MDIsMHhhOCwweDEwLDB4ZWUgfSwKLSAgMTYsIDB4YzYxMCwgMCwgezB4MjEsMHgyZSwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwOCwweDhlLDB4ODAsMHgyZiwweGEwLDB4OGIsMHhhMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4YzYyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHg0YywweDAyLDB4ODMsMHhjMCwweGE4LDB4ZTggfSwKLSAgMTYsIDB4YzYzMCwgMCwgezB4NGEsMHgzNiwweDAyLDB4OGMsMHgwMCwweDEzLDB4YTAsMHgyOCwweGMyLDB4MGIsMHgzMCwweDA2LDB4MGMsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YzY0MCwgMCwgezB4MjQsMHg4NCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDIwLDB4MjgsMHhjMCwweDA5LDB4MzAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4YzY1MCwgMCwgezB4ODMsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzY2MCwgMCwgezB4YTAsMHgwMSwweDNjLDB4NDQsMHhhZiwweDQwLDB4MjUsMHhjMiwweDQ4LDB4ZjgsMHg4MiwweDFjLDB4YzgsMHg5ZiwweDA4LDB4MjEgfSwKLSAgMTYsIDB4YzY3MCwgMCwgezB4YzAsMHg4YiwweGY4LDB4MDIsMHg1YywweDAwLDB4YmYsMHhiMCwweDI3LDB4ODAsMHgwOSwweDNhLDB4MDIsMHg5YywweDAwLDB4YTUgfSwKLSAgMTYsIDB4YzY4MCwgMCwgezB4MDIsMHgyZCwweGU4LDB4MDksMHg3MCwweDAyLDB4Y2UsMHg4MCwweDg1LDB4MDgsMHgyZCwweGMyLDB4MGIsMHg3MywweDAyLDB4ZTggfSwKLSAgMTYsIDB4YzY5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MiwweGE5LDB4ZTAgfSwKLSAgMTYsIDB4YzZhMCwgMCwgezB4MGEsMHg3OCwweDAyLDB4OWUsMHg0MCwweDk3LDB4ODQsMHgzOSwweGEwLDB4MGIsMHg3YSwweDgzLDB4M2YsMHg4MCwweGQ3LDB4OTEgfSwKLSAgMTYsIDB4YzZiMCwgMCwgezB4MzUsMHhhMCwweDBkLDB4N2EsMHgwOSwweDFlLDB4NDQsMHhmNywweDgwLDB4M2QsMHhlOCwweDJkLDB4N2EsMHgwMywweGRlLDB4ODIgfSwKLSAgMTYsIDB4YzZjMCwgMCwgezB4YzYsMHg4MCwweDNkLDB4MjAsMHg0YiwweDdiLDB4MjMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzZkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhkMywweDAwLDB4M2UsMHhjMSwweDBmLDB4MzAsMHgwMywweGVkLDB4ODAsMHhlMywweDAwLDB4M2UgfSwKLSAgMTYsIDB4YzZlMCwgMCwgezB4ODAsMHgwZiwweGI2LDB4MjEsMHhlYywweDA4LDB4ZGIsMHgyMSwweDNlLDB4ODAsMHgwZiwweGI1LDB4MDMsMHg2YywweDQwLDB4ZjkgfSwKLSAgMTYsIDB4YzZmMCwgMCwgezB4MDAsMHgzZSwweGRjLDB4MGUsMHhiMiwweDAzLDB4ZWQsMHg0MCwweGY5LDB4MDIsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YzcwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4Y2YsMHg4MCwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4YzcxMCwgMCwgezB4MGYsMHhjOCwweDQzLDB4ZmUsMHgwMCwweGZlLDB4ODQsMHgzZiwweGUwLDB4MGQsMHhmOCwweGMzLDB4ZmYsMHgxMCwweGFmLDB4OTAgfSwKLSAgMTYsIDB4YzcyMCwgMCwgezB4MzUsMHhhMCwweDBjLDB4ZmMsMHgwMywweDNlLDB4MTQsMHhlYywweDg0LDB4M2YsMHhmMCwweDBlLDB4ZmMsMHhjMywweGZmLDB4MDggfSwKLSAgMTYsIDB4YzczMCwgMCwgezB4NGYsMHg4MCwweDMzLDB4ZTQsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzc0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhkNywweGEyLDB4MmQsMHhjNCwweDBjLDB4NDEsMHhjMiwweGRjLDB4MDAsMHg3NCwweDAwLDB4MjUgfSwKLSAgMTYsIDB4Yzc1MCwgMCwgezB4ODAsMHgwZiwweDcyLDB4NDIsMHhkYywweDkwLDB4ZDcsMHgzOCwweDJkLDB4OTgsMHgwYSwweDcwLDB4MDIsMHgxYywweDA0LDB4ODYgfSwKLSAgMTYsIDB4Yzc2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHg3MCwweDAyLDB4Y2MsMHgwMCwweDg2LDB4MDgsMHgzNywweGM2LDB4MjgsMHg3MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4Yzc3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHg2MCwweDJkLDB4YzIgfSwKLSAgMTYsIDB4Yzc4MCwgMCwgezB4MGEsMHg1MCwweDAyLDB4ZGMsMHgwMCwweGI2LDB4MTAsMHgyNSwweGMyLDB4MDksMHg3MCwweDg2LDB4ZGMsMHgzMCwweDk3LDB4MDAgfSwKLSAgMTYsIDB4Yzc5MCwgMCwgezB4MjUsMHg4MCwweDA4LDB4MzAsMHgwMiwweDVjLDB4MDAsMHg4NywweDA4LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGNjLDB4NDAgfSwKLSAgMTYsIDB4YzdhMCwgMCwgezB4ODYsMHgwMCwweDIxLDB4MDAsMHgwOSwweDcwLDB4MGEsMHgwMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzdiMCwgMCwgezB4MjAsMHgxNCwweGVkLDB4ODAsMHg5MywweDAwLDB4MGMsMHhlMSwweDI4LDB4MTgsMHgwMiwweGNjLDB4MDgsMHhhMCwweDAwLDB4MjQgfSwKLSAgMTYsIDB4YzdjMCwgMCwgezB4MTIsMHgxYSwweDM0LDB4MDIsMHhjZiwweDA0LDB4OTMsMHg0MCwweDJjLDB4ODAsMHgwYSwweGIwLDB4MjIsMHg0YywweDAyLDB4ODEgfSwKLSAgMTYsIDB4YzdkMCwgMCwgezB4ODAsMHgyOCwweGUwLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDg4LDB4ODIsMHgyNCwweDIwLDB4MDgsMHhiMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YzdlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZiwweDIwLDB4YzksMHhlMCwweDJjLDB4ZjEgfSwKLSAgMTYsIDB4YzdmMCwgMCwgezB4MGUsMHhiZCwweDAzLDB4ZmMsMHgwMCwweGI5LDB4NDAsMHgzNiwweDQwLDB4MDksMHhmNSwweDAyLDB4ZmQsMHg0MCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4YzgwMCwgMCwgezB4MzYsMHhhMiwweDA4LDB4ZjAsMHgwYiwweDdjLDB4MDAsMHhlYiwweDgwLDB4MmYsMHhlMCwweDBhLDB4ZjAsMHg0MywweGZjLDB4MDIgfSwKLSAgMTYsIDB4YzgxMCwgMCwgezB4OGIsMHhkMCwweDMyLDB4ZjAsMHgwZCwweGYwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzgyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UsMHhjOCwweDBmLDB4OTQsMHgxMywweGVjLDB4MDAsMHhmOSwweDQwLDB4MzYgfSwKLSAgMTYsIDB4YzgzMCwgMCwgezB4NDAsMHgxZiwweGIwLDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMSwweDNlLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZjkgfSwKLSAgMTYsIDB4Yzg0MCwgMCwgezB4MDAsMHgzZSwweGM0LDB4MGYsMHhiMCwweDAxLDB4ZWMsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQ4LDB4MGYsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4Yzg1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4Yzg2MCwgMCwgezB4MGMsMHhlMCwweDA3LDB4ZmMsMHgwMCwweGZjLDB4MGEsMHgyNywweDAwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDggfSwKLSAgMTYsIDB4Yzg3MCwgMCwgezB4MzMsMHg4MCwweDBjLDB4ZjAsMHgwMCwweDJjLDB4MDAsMHg1ZiwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMSwweGZjLDB4MDAgfSwKLSAgMTYsIDB4Yzg4MCwgMCwgezB4ZmUsMHgwMCwweDIzLDB4NDAsMHgwZiwweGIwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg5MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDg2LDB4MmUsMHhlMCwweDQ4LDB4OGYsMHgwMiwweGVjLDB4MDgsMHhiOCwweGEwLDB4MzYgfSwKLSAgMTYsIDB4YzhhMCwgMCwgezB4MzAsMHg0YiwweGIwLDB4MDMsMHhhYywweDBjLDB4OWIsMHgwMiwweDNjLDB4YTAsMHgwYywweGIwLDB4NDMsMHg2YywweDAwLDB4YjEgfSwKLSAgMTYsIDB4YzhiMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MGQsMHhiMCwweDEyLDB4ZWMsMHgxMCwweGI5LDB4ODAsMHhhMiwweDYxLDB4MGIsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YzhjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHg4OCwweDJlLDB4ZTAgfSwKLSAgMTYsIDB4YzhkMCwgMCwgezB4MDgsMHhhMCwweDAyLDB4ZWMsMHgwMSwweGJiLDB4ODAsMHgyNiwweDYyLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGIzLDB4MDEgfSwKLSAgMTYsIDB4YzhlMCwgMCwgezB4MmEsMHgyMSwweDA4LDB4YjAsMHgxMiwweDJjLDB4MDAsMHhiOCwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgxMiwweGVjLDB4MTQgfSwKLSAgMTYsIDB4YzhmMCwgMCwgezB4YjksMHg4NCwweDIyLDB4YTIsMHgwYiwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzkwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHg5MywweDAwLDB4MmMsMHhlMCwweDA4LDB4MDAsMHgwMiwweGNjLDB4MDksMHg5MSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YzkxMCwgMCwgezB4NDAsMHgwYiwweDMwLDB4MDYsMHg0YywweDA0LDB4MTMsMHgwMCwweDI2LDB4MDAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA0LDB4YjIgfSwKLSAgMTYsIDB4YzkyMCwgMCwgezB4MDAsMHgyYSwweGMwLDB4MDEsMHgzMCwweDAwLDB4Y2QsMHgwMCwweGIwLDB4MDAsMHgyMCwweDgwLDB4MGIsMHgzMCwweDBhLDB4MDIgfSwKLSAgMTYsIDB4YzkzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZGIsMHgyNCwweDZlLDB4YzAgfSwKLSAgMTYsIDB4Yzk0MCwgMCwgezB4MmMsMHhhMCwweDAyLDB4ZmMsMHgwMCwweGJhLDB4MDQsMHgyNiwweDQwLDB4NGYsMHhmMCwweDU3LDB4ZmMsMHgwMCwweDNmLDB4MDEgfSwKLSAgMTYsIDB4Yzk1MCwgMCwgezB4M2EsMHgwMCwweDJjLDB4ZjAsMHgwMSwweDNjLDB4MDAsMHhkYiwweDAwLDB4MzMsMHhjMCwweDg0LDB4ZjAsMHgwMywweGZkLDB4MDggfSwKLSAgMTYsIDB4Yzk2MCwgMCwgezB4ZmEsMHgwMCwweDMyLDB4MDAsMHgwZiwweGYwLDB4MDMsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzk3MCwgMCwgezB4YTAsMHgxOSwweGRjLDB4MDAsMHhlYSwweDQwLDB4M2YsMHgwMCwweDA3LDB4YzAsMHgwMywweGZjLDB4MDQsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4Yzk4MCwgMCwgezB4NDAsMHgwZiwweGYwLDB4MDMsMHg5YywweDAwLDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZSwweGYwLDB4MDMsMHg3YywweDAwLDB4ZmQgfSwKLSAgMTYsIDB4Yzk5MCwgMCwgezB4MDAsMHgzZiwweGMxLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4NCwweGY0LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YzlhMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmMCwweDgwLDB4ZmYsMHgwMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YzliMCwgMCwgezB4MGYsMHhjMiwweDAzLDB4M2UsMHgwMCwweGRmLDB4YzAsMHgzZSwweGMwLDB4NGQsMHhkYiwweDAyLDB4YjAsMHhjMCwweGRjLDB4MzAgfSwKLSAgMTYsIDB4YzljMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4ZGIsMHgyMywweGY2LDB4MjAsMHhmZiwweDI2LDB4MzMsMHhlMCwweDBmLDB4NTIsMHgwMywweDVlLDB4MDAgfSwKLSAgMTYsIDB4YzlkMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4YzAsMHg0YywweDQ5LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzllMCwgMCwgezB4ODAsMHgxMCwweGUxLDB4ZTAsMHhiNywweDA4LDB4MjMsMHhmMCwweDBiLDB4YWQsMHgwYSwweDJlLDB4MDAsMHg5YSwweDA0LDB4MmUgfSwKLSAgMTYsIDB4YzlmMCwgMCwgezB4YjAsMHgwOSwweDhmLDB4MDMsMHhhMCwweDQwLDB4YjksMHgzMCwweDJlLDB4YTAsMHgwYiwweDlmLDB4MDMsMHhhNywweDAwLDB4YmIgfSwKLSAgMTYsIDB4Y2EwMCwgMCwgezB4ODAsMHgyNiwweGUwLDB4MGIsMHhkZCwweDAyLDB4MmUsMHgwMCwweGJiLDB4ODAsMHgyMiwweGY0LDB4MGEsMHg5MiwweDAyLDB4YTAgfSwKLSAgMTYsIDB4Y2ExMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDgwLDB4YjMsMHgxMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4Y2EyMCwgMCwgezB4MGIsMHg4MCwweDAyLDB4YWMsMHgwMCwweGEzLDB4MjQsMHgyYywweGQwLDB4MDgsMHgxMCwweDA2LDB4YzAsMHg4MCwweGIyLDB4MDEgfSwKLSAgMTYsIDB4Y2EzMCwgMCwgezB4MmMsMHhlYSwweDRiLDB4MDAsMHgxMiwweGMyLDB4MDQsMHhiMywweDEwLDB4MDgsMHhjMCwweDBhLDB4OTAsMHgwMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4Y2E0MCwgMCwgezB4OTMsMHgwNCwweDI0LDB4YzAsMHgwOSwweDgyLDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2E1MCwgMCwgezB4YzAsMHgxNSwweGE1LDB4MDAsMHhiYiwweDAwLDB4MjIsMHhjMCwweDBiLDB4ODAsMHgwMiwweGFjLDB4MDgsMHhiYiwweDE4LDB4MmUgfSwKLSAgMTYsIDB4Y2E2MCwgMCwgezB4ZTAsMHgxOCwweDg4LDB4MDIsMHhlYywweDAxLDB4YmEsMHgwMCwweDJlLDB4ODAsMHgwYiwweDk4LDB4ODYsMHhlMiwweDAwLDB4YmIgfSwKLSAgMTYsIDB4Y2E3MCwgMCwgezB4MDAsMHgyMiwweGM0LDB4MGIsMHg5MCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDAsMHhhNiwweGMwLDB4MGIsMHg5MCwweDAwLDB4YjAgfSwKLSAgMTYsIDB4Y2E4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlNywweDAwLDB4ZmIsMHgwMCwweGIyLDB4YzAgfSwKLSAgMTYsIDB4Y2E5MCwgMCwgezB4MGYsMHhhOCwweDAzLDB4YWMsMHgwMiwweGViLDB4MDAsMHgzZSwweDYwLDB4MGQsMHg5ZSwweDAzLDB4ZWMsMHgwMCwweGQ4LDB4NDAgfSwKLSAgMTYsIDB4Y2FhMCwgMCwgezB4M2UsMHg0MCwweDBmLDB4ODgsMHg0MywweGUyLDB4MDAsMHhmYiwweDIwLDB4MzIsMHhjMCwweDBmLDB4MTAsMHgwYiwweDZmLDB4OTAgfSwKLSAgMTYsIDB4Y2FiMCwgMCwgezB4NWIsMHg4MiwweDM2LDB4YzAsMHgyZCwweDA4LDB4MDEsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2FjMCwgMCwgezB4ZTAsMHgwMSwweGI3LDB4MDgsMHhmNywweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjksMHgwMywweDdjLDB4MDgsMHhjZiwweDgyLDB4M2MgfSwKLSAgMTYsIDB4Y2FkMCwgMCwgezB4MDAsMHhhZiwweGQwLDB4MjEsMHhiYywweDA4LDB4ZmQsMHgxMCwweDNmLDB4ODAsMHg4ZiwweGMwLDB4MDMsMHhhNCwweDAwLDB4ZjcgfSwKLSAgMTYsIDB4Y2FlMCwgMCwgezB4MDEsMHhiZiwweGMwLDB4MDcsMHhkMCwweDAzLDB4YmQsMHgzMCwweGZmLDB4YTQsMHgzOCwweGMwLDB4MGUsMHhkYSwweDAzLDB4ZjggfSwKLSAgMTYsIDB4Y2FmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhOCwweDAwLDB4ZmIsMHgwMCwweGIyLDB4YzEgfSwKLSAgMTYsIDB4Y2IwMCwgMCwgezB4MGUsMHg4MSwweDAzLDB4ZWMsMHg0MCwweGZiLDB4NDQsMHgzYSwweGMxLDB4MGUsMHg5NSwweDAzLDB4ZTAsMHgwMCwweGNiLDB4NDEgfSwKLSAgMTYsIDB4Y2IxMCwgMCwgezB4MzIsMHg0ZCwweDBmLDB4ODEsMHgwMywweGUwLDB4MjAsMHhjOSwweDAwLDB4NzIsMHhlOCwweDQ0LDB4OTEsMHgwMywweDZkLDB4MDAgfSwKLSAgMTYsIDB4Y2IyMCwgMCwgezB4Y2IsMHgwMiwweDNlLDB4YzAsMHgwYywweDgwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2IzMCwgMCwgezB4YzgsMHgwNSwweDI0LDB4MDAsMHhiZiwweDAwLDB4MzMsMHhjNCwweDA4LDB4MWQsMHgwMywweDhjLDB4MDAsMHhiYiwweDk4LDB4MzYgfSwKLSAgMTYsIDB4Y2I0MCwgMCwgezB4NDgsMHg0ZCwweDk4LDB4MjIsMHhlZCwweDQwLDB4ZGIsMHgwMCwweDM2LDB4YjAsMHgwYiwweDk4LDB4MDIsMHhlMywweDAwLDB4ZGIgfSwKLSAgMTYsIDB4Y2I1MCwgMCwgezB4MDAsMHgzMiwweGUwLDB4ODgsMHhkOCwweDAyLDB4MmMsMHgwMiwweGMzLDB4ODAsMHgyZiwweGMwLDB4MDgsMHg5MCwweDAzLDB4NzIgfSwKLSAgMTYsIDB4Y2I2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0NCwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZjAgfSwKLSAgMTYsIDB4Y2I3MCwgMCwgezB4MTgsMHgwOCwweDAyLDB4NGYsMHg4NCwweGIxLDB4YzAsMHgyNCwweGMwLDB4ODksMHgwNiwweDAyLDB4YzQsMHgwMCwweDkxLDB4MDAgfSwKLSAgMTYsIDB4Y2I4MCwgMCwgezB4MjAsMHhmMCwweDFiLDB4MTgsMHg4MiwweGM2LDB4MDAsMHg5MywweDAwLDB4MmMsMHhkMSwweDA4LDB4MWUsMHgwMiwweDBlLDB4NDQgfSwKLSAgMTYsIDB4Y2I5MCwgMCwgezB4OTMsMHg5NCwweDJjLDB4YzAsMHgwOCwweDIwLDB4MDIsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2JhMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHhiNywweDgwLDB4MjAsMHhlMiwweDA4LDB4NjgsMHgwNiwweDllLDB4ODAsMHhiZiwweDg0LDB4MjUgfSwKLSAgMTYsIDB4Y2JiMCwgMCwgezB4YTgsMHgwOSwweDY4LDB4MDIsMHhjNiwweDAwLDB4OTMsMHhhMCwweDY1LDB4ZTQsMHgwYiwweDc4LDB4MTIsMHhkZSwweDAwLDB4OTMgfSwKLSAgMTYsIDB4Y2JjMCwgMCwgezB4MDAsMHhhMSwweGUwLDB4MDgsMHhkOCwweDAyLDB4MWUsMHhkMCwweGE3LDB4ODAsMHgyZCwweGUwLDB4MDgsMHhmOCwweDAyLDB4NDggfSwKLSAgMTYsIDB4Y2JkMCwgMCwgezB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAwLDB4YjMsMHgyMCwweDMwLDB4YzAgfSwKLSAgMTYsIDB4Y2JlMCwgMCwgezB4MGEsMHgyMiwweDAyLDB4Y2UsMHg0MCwweGYzLDB4YTAsMHgzYywweGU4LDB4MGIsMHgzMCwweDAyLDB4YzEsMHgwMCwweGQwLDB4YzEgfSwKLSAgMTYsIDB4Y2JmMCwgMCwgezB4MzAsMHhjMCwweDBiLDB4MjEsMHgxMywweGNjLDB4MjEsMHhkMywweDAwLDB4MmMsMHhjMCwweDJjLDB4MTAsMHgwYiwweDBjLDB4ODAgfSwKLSAgMTYsIDB4Y2MwMCwgMCwgezB4ZDMsMHg2MSwweDNjLDB4YzgsMHgyYywweDIwLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2MxMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDQwLDB4M2IsMHhjMCwweDBmLDB4ZTAsMHgwMywweGZjLDB4MDAsMHhmNywweDUwLDB4N2YgfSwKLSAgMTYsIDB4Y2MyMCwgMCwgezB4YzQsMHgyZSwweGYwLDB4MDMsMHhmYywweDQwLDB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDcsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4Y2MzMCwgMCwgezB4MDAsMHg3ZCwweGMyLDB4MGYsMHhkMCwweDAxLDB4YmMsMHg4MCwweDVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4Y2M0MCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZmIsMHhjMCwweDMyLDB4YzggfSwKLSAgMTYsIDB4Y2M1MCwgMCwgezB4MGUsMHhlMCwweDAzLDB4YWMsMHhhMCwweGViLDB4MjAsMHgzMiwweDQwLDB4OGMsMHhhMCwweDEzLDB4MmMsMHgwMCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4Y2M2MCwgMCwgezB4M2UsMHg2MCwweDBjLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDgwLDB4MzAsMHhjMCwweDNjLDB4OTIsMHgwMywweGVmLDB4NjAgfSwKLSAgMTYsIDB4Y2M3MCwgMCwgezB4YzMsMHgyMCwweDMxLDB4YzQsMHgwYywweGEwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2M4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHgzMywweDIwLDB4MjEsMHhkYSwweDBiLDB4NzAsMHg0MywweDljLDB4MDEsMHhiNSwweDAwLDB4MjEgfSwKLSAgMTYsIDB4Y2M5MCwgMCwgezB4MDAsMHgwYSwweGUwLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAsMHgwZCwweDcwLDB4MDMsMHg5YywweDAwLDB4YjYgfSwKLSAgMTYsIDB4Y2NhMCwgMCwgezB4MDAsMHgzMSwweGM4LDB4MDgsMHg1NywweDAyLDB4ZGMsMHgwMCwweDg3LDB4NTAsMHgyMSwweGMwLDB4MGEsMHg3MCwweDQyLDB4OTIgfSwKLSAgMTYsIDB4Y2NiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDExLDB4YjcsMHg5MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4Y2NjMCwgMCwgezB4MGIsMHg2OCwweDgyLDB4ZGUsMHgwOCwweGE3LDB4ODAsMHgyNCwweDYwLDB4MDgsMHg3MCwweDEyLDB4MTIsMHgwOCwweDk1LDB4ODAgfSwKLSAgMTYsIDB4Y2NkMCwgMCwgezB4MmQsMHg2MCwweDA5LDB4NmMsMHgwMiwweGRlLDB4MDAsMHhiMSwweDgwLDB4MjMsMHhlMCwweDBhLDB4NTgsMHg2MiwweGZlLDB4MDAgfSwKLSAgMTYsIDB4Y2NlMCwgMCwgezB4OTcsMHhhMCwweDIxLDB4ZTgsMHgwOSwweGU4LDB4MDIsMHgzMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2NmMCwgMCwgezB4NDgsMHgxNCwweGNkLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDhiLDB4M2MsMHgwMiwweDhjLDB4MDAsMHhiYiwweDAwLDB4MjQgfSwKLSAgMTYsIDB4Y2QwMCwgMCwgezB4YzQsMHgxYSwweDNkLDB4MDIsMHgyZiwweDg4LDB4YjMsMHg0OCwweDJjLDB4ZTAsMHg4OSwweDNlLDB4MDIsMHg4ZCwweDgwLDB4OTMgfSwKLSAgMTYsIDB4Y2QxMCwgMCwgezB4ZDksMHhhNCwweDQwLDB4ODgsMHgxMCwweDAyLDB4Y2MsMHgwNCwweDkzLDB4YzgsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4OTIgfSwKLSAgMTYsIDB4Y2QyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDQwLDB4ZmEsMHgwMCwweGIyLDB4ODAgfSwKLSAgMTYsIDB4Y2QzMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGVhLDB4ODAsMHgzNywweGEwLDB4MGMsMHhlOCwweDEzLDB4M2IsMHgwOCwweGRlLDB4MDEgfSwKLSAgMTYsIDB4Y2Q0MCwgMCwgezB4M2YsMHg4MiwweDBjLDB4ZTAsMHg0MywweGZhLDB4ODAsMHhmZSwweDgwLDB4MzEsMHgyOCwweDBjLDB4YTAsMHgwMywweGYwLDB4MDIgfSwKLSAgMTYsIDB4Y2Q1MCwgMCwgezB4YzQsMHhjMCwweGIyLDB4ODAsMHgwZCwweGUwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Q2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBiLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDMwLDB4M2EgfSwKLSAgMTYsIDB4Y2Q3MCwgMCwgezB4MDAsMHg2ZCwweDgwLDB4ODMsMHhlMSwweDQ0LDB4YjgsMHgwNCwweDNlLDB4MTAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4Y2Q4MCwgMCwgezB4MDAsMHgzYSwweDEwLDB4NGYsMHgwNCwweDAzLDB4ZTMsMHgwMCwweGU4LDB4MTAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4Y2Q5MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YzksMHgwMCwweDM4LDB4NDAgfSwKLSAgMTYsIDB4Y2RhMCwgMCwgezB4MGYsMHgxYSwweDAzLDB4MmUsMHgwMCwweGZiLDB4YTAsMHgzNiwweDYwLDB4MGMsMHg5OCwweDAzLDB4ZTYsMHgwNCwweGQxLDB4MDAgfSwKLSAgMTYsIDB4Y2RiMCwgMCwgezB4MzYsMHg0OCwweDBlLDB4OTEsMHgwMiwweGU2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHgwMCwweDBjLDB4OTksMHgwMywweDYyLDB4NDAgfSwKLSAgMTYsIDB4Y2RjMCwgMCwgezB4ZjgsMHgwMCwweGEwLDB4NjgsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2RkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDIsMHg4OSwweDA0LDB4MmUsMHg2NCwweDg4LDB4OTQsMHgwMiwweGE1LDB4MDAsMHhiOSwweDgwLDB4MjAgfSwKLSAgMTYsIDB4Y2RlMCwgMCwgezB4NjQsMHgwZCwweDljLDB4MDIsMHhlNiwweDQyLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweDljLDB4MDIsMHhlNCwweDEwLDB4YjkgfSwKLSAgMTYsIDB4Y2RmMCwgMCwgezB4NDAsMHgzYSwweDUwLDB4MDgsMHg5YywweDAyLDB4MjcsMHgyMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4Y2UwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4Y2UxMCwgMCwgezB4MGEsMHg5MCwweDgyLDB4MjUsMHg0YywweGI5LDB4MDAsMHgwMiwweDQwLDB4MDgsMHg5NiwweDAyLDB4ZTQsMHgxMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4Y2UyMCwgMCwgezB4MjYsMHg1MCwweDEzLDB4OTQsMHgwMiwweGU0LDB4NDAsMHhiOSwweDA4LDB4MmUsMHg0MCwweDA4LDB4OTAsMHg4YSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4Y2UzMCwgMCwgezB4YjksMHgwMSwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2U0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4ODAsMHg4MSwweDQwLDB4MmMsMHhjOCwweDA4LDB4MTAsMHgwNiwweDg0LDB4MDAsMHhiMSwweDA0LDB4MjAgfSwKLSAgMTYsIDB4Y2U1MCwgMCwgezB4NDksMHgwOSwweDE0LDB4NDIsMHhjYywweDg5LDB4ODEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4NDYsMHhjNCwweDAwLDB4YjEgfSwKLSAgMTYsIDB4Y2U2MCwgMCwgezB4MDAsMHgyYSwweGMwLDB4MjgsMHgxNCwweDAyLDB4MDEsMHgwMSwweGIwLDB4MDQsMHgyOCwweDQwLDB4MzgsMHg5NCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4Y2U3MCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ODgsMHgwMCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4Y2U4MCwgMCwgezB4MGUsMHg4MCwweDIzLDB4MjAsMHgwMCwweGY4LDB4NTAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDEyLDB4ZTEsMHg0MCwweGQ4LDB4NTAgfSwKLSAgMTYsIDB4Y2U5MCwgMCwgezB4MzYsMHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ODAsMHg1MywweDYwLDB4MDQgfSwKLSAgMTYsIDB4Y2VhMCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2ViMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDAsMHhmOSwweDQ0LDB4M2UsMHg0NCwweDBmLDB4ZDQsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2YgfSwKLSAgMTYsIDB4Y2VjMCwgMCwgezB4NDQsMHgwZiwweGQ0LDB4NTMsMHhmNCwweDQ0LDB4ZmQsMHgxMCwweDJmLDB4NDAsMHgwZiwweGY0LDB4MDMsMHhmZCwweDAwLDB4ZmQgfSwKLSAgMTYsIDB4Y2VkMCwgMCwgezB4NDAsMHgzYiwweDEwLDB4MGYsMHhkNCwweDIzLDB4ZDEsMHgwNCwweDdjLDB4NDMsMHgzNiwweDUwLDB4MGYsMHg1MCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4Y2VlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhhNiwweDAwLDB4ZjksMHgxMCwweDJlLDB4NjIgfSwKLSAgMTYsIDB4Y2VmMCwgMCwgezB4MGYsMHhkMiwweDgzLDB4ZTQsMHgwMCwweGJkLDB4NDIsMHgzZSwweDYxLDB4MGYsMHhkMCwweDAzLDB4ZjYsMHhjMCwweGM5LDB4YTIgfSwKLSAgMTYsIDB4Y2YwMCwgMCwgezB4MmIsMHg0MCwweDBjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhmOSwweDgxLDB4M2UsMHg2OCwweDA4LDB4YzEsMHg0MywweGZhLDB4MDAgfSwKLSAgMTYsIDB4Y2YxMCwgMCwgezB4ZjUsMHg4MCwweDNmLDB4NjIsMHgwYywweDE0LDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2YyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MjAsMHg4OCwweDExLDB4MmUsMHgxMCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDgyLDB4MmUgfSwKLSAgMTYsIDB4Y2YzMCwgMCwgezB4MTAsMHgwYiwweDgwLDB4MDAsMHhlMywweGM0LDB4ODgsMHhmMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MGEsMHgyMCwweDAwLDB4ZTggfSwKLSAgMTYsIDB4Y2Y0MCwgMCwgezB4NDAsMHgyZiwweDE0LDB4MDgsMHg4OCwweDAyLDB4ZTIsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MDgsMHg4OCwweDAyLDB4OGUgfSwKLSAgMTYsIDB4Y2Y1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHhjNSwweDAwLDB4YTEsMHgwMCwweDJjLDB4NDAgfSwKLSAgMTYsIDB4Y2Y2MCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgxOCwweGIxLDB4MjIsMHg2YywweGQxLDB4MGIsMHgxMCwweDI2LDB4YzQsMHgwMCwweDgxLDB4MDggfSwKLSAgMTYsIDB4Y2Y3MCwgMCwgezB4MmEsMHg0MCwweDg4LDB4MTAsMHgwMiwweDA0LDB4MDQsMHhiNSwweGMwLDB4MGYsMHg0MCwweDBiLDB4MDIsMHgwMiwweDQxLDB4YTAgfSwKLSAgMTYsIDB4Y2Y4MCwgMCwgezB4YjEsMHg0MCwweDJjLDB4NDAsMHgwOCwweDEyLDB4MDIsMHgwMiwweDExLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Y5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA2LDB4MmUsMHg0MCwweDBiLDB4OTAsMHgxMiwweGU0LDB4MDAsMHhiOSwweDQwLDB4MmUgfSwKLSAgMTYsIDB4Y2ZhMCwgMCwgezB4NDAsMHgwYiwweGIwLDB4ODIsMHhjNCwweDAyLDB4ODksMHg0NCwweDIyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwLDB4YTkgfSwKLSAgMTYsIDB4Y2ZiMCwgMCwgezB4MDAsMHgyNywweDQ4LDB4MDksMHhiMCwweDEyLDB4ZWMsMHgxOCwweGI5LDB4MDEsMHgyZSwweDQwLDB4NDAsMHg5MCwweDAyLDB4ODYgfSwKLSAgMTYsIDB4Y2ZjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDg0LDB4ZTksMHgwMSwweDNlLDB4NDAgfSwKLSAgMTYsIDB4Y2ZkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDcyLDB4MGYsMHg5MCwweDAzLDB4ZTcsMHg2MCwweDg5LDB4MTAgfSwKLSAgMTYsIDB4Y2ZlMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDQ0LDB4M2MsMHg0MCwweDJkLDB4OTAsMHgwMywweGU3LDB4NjAgfSwKLSAgMTYsIDB4Y2ZmMCwgMCwgezB4ZjksMHg3MSwweDNlLDB4NDAsMHgyOCwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDAwMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4NDgsMHhhOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4OWEsMHg0MywweGVjLDB4MDAsMHhmOSwweDIwLDB4N2UgfSwKLSAgMTYsIDB4ZDAxMCwgMCwgezB4YzgsMHgwZiwweDlhLDB4MDcsMHg2NiwweDAwLDB4NzksMHg4MCwweDdlLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhlNywweDAwLDB4ZTkgfSwKLSAgMTYsIDB4ZDAyMCwgMCwgezB4YTAsMHgzZSwweDQwLDB4NDYsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ZDAzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHg4MCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4ZDA0MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YTAsMHgwOCwweGU4LDB4NDAsMHgzYSwweDEwLDB4MGMsMHg4MywweDAzLDB4YTEsMHhjMCwweGYwLDB4NDAgfSwKLSAgMTYsIDB4ZDA1MCwgMCwgezB4M2UsMHgwNiwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2IsMHgwMCwweDBmLDB4ODEsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZDA2MCwgMCwgezB4ZjgsMHgxMCwweGIyLDB4MDAsMHg0YywweDgwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDA3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MmUsMHhiMCwweDBiLDB4ZTgsMHgwMiwweGU5LDB4MDAsMHgzZSwweDkwLDB4MDIgfSwKLSAgMTYsIDB4ZDA4MCwgMCwgezB4ODEsMHgwOCwweGU0LDB4MTIsMHg3OCwweDAwLDB4YmEsMHgwMCwweDJkLDB4YjAsMHg4OSwweGU4LDB4MjIsMHhmOCwweDBjLDB4YmEgfSwKLSAgMTYsIDB4ZDA5MCwgMCwgezB4MDAsMHg2ZSwweDgwLDB4MDMsMHhjNSwweDAzLDB4MzAsMHgwMCwweGJhLDB4MDAsMHgyMiwweGE4LDB4MDgsMHhhMCwweDIyLDB4OGEgfSwKLSAgMTYsIDB4ZDBhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDI4LDB4ZTggfSwKLSAgMTYsIDB4ZDBiMCwgMCwgezB4MWIsMHgzMSwweDEyLDB4OGMsMHhjNCwweGEzLDB4OTIsMHgyYywweDQwLDB4ODgsMHgzNCwweDA2LDB4OGUsMHgwMCwweDkzLDB4MDAgfSwKLSAgMTYsIDB4ZDBjMCwgMCwgezB4MmMsMHhmMCwweDE5LDB4MzEsMHhhMiwweGNjLDB4MDQsMHhiMywweDAwLDB4MjgsMHg4MCwweDAxLDB4MzgsMHgwMiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4ZDBkMCwgMCwgezB4YjMsMHg4MCwweDIwLDB4ZTAsMHgwYSwweGIwLDB4MTIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDBlMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDE0LDB4MmQsMHg0MiwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNywweDgxLDB4MjcgfSwKLSAgMTYsIDB4ZDBmMCwgMCwgezB4ZTAsMHgxOCwweDYwLDB4MDIsMHg1OCwweDE4LDB4YjcsMHgyMiwweDJkLDB4ODAsMHgwOSwweDcwLDB4MjIsMHhkYywweDAwLDB4YjcgfSwKLSAgMTYsIDB4ZDEwMCwgMCwgezB4MDAsMHgyZCwweDgwLDB4MGIsMHgzYiwweDAyLDB4MWQsMHhkMCwweGJmLDB4ODAsMHgyOCwweGMwLDB4OGEsMHhmMiwweDAyLDB4YTAgfSwKLSAgMTYsIDB4ZDExMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDgwLDB4ZjcsMHhhMCwweDM5LDB4ZTIgfSwKLSAgMTYsIDB4ZDEyMCwgMCwgezB4MGYsMHg2OCwweDAzLDB4OWUsMHgwMCwweGVkLDB4ODQsMHgzZCwweGUyLDB4NDQsMHg3OCwweDAzLDB4OWUsMHgwMCwweGY3LDB4YjQgfSwKLSAgMTYsIDB4ZDEzMCwgMCwgezB4MmQsMHhlMCwweDBkLDB4NjgsMHgwMywweGQ2LDB4MDAsMHhmNiwweDgwLDB4MzksMHhlMCwweDBmLDB4NzksMHgwMywweDVlLDB4OTAgfSwKLSAgMTYsIDB4ZDE0MCwgMCwgezB4ZjcsMHg4MSwweDMxLDB4NjAsMHgyZSwweDdjLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDE1MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MDAsMHhmYiwweDQyLDB4M2UsMHhjOCwweDBmLDB4YTAsMHgwMywweGVkLDB4YTAsMHhiYiwweDAwLDB4MzggfSwKLSAgMTYsIDB4ZDE2MCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MDMsMHg2OCwweDAwLDB4ZmIsMHgxMSwweDNlLDB4NDAsMHgwOSwweGIwLDB4NDEsMHhlYywweDAwLDB4ZmEgfSwKLSAgMTYsIDB4ZDE3MCwgMCwgezB4MDIsMHgzZSwweGMwLDB4MGYsMHhiMiwweDBiLDB4ZWQsMHg4MCwweDNiLDB4MDAsMHgzNiwweDQwLDB4MGQsMHhiMCwweDIzLDB4NDIgfSwKLSAgMTYsIDB4ZDE4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDAwLDB4Y2YsMHhkMCwweDMzLDB4ZTQgfSwKLSAgMTYsIDB4ZDE5MCwgMCwgezB4NGYsMHhmOSwweDAzLDB4ZGUsMHg0MCwweGRjLDB4ODAsMHgzNiwweGU0LDB4MGMsMHhiOSwweDEzLDB4ZmUsMHgwMCwweGNmLDB4OTAgfSwKLSAgMTYsIDB4ZDFhMCwgMCwgezB4MzcsMHhlNSwweDBmLDB4ZjgsMHg0MywweGZlLDB4MDAsMHhjZiwweDkyLDB4M2YsMHhhNCwweDBmLDB4NzgsMHgwMywweDFmLDB4MDAgfSwKLSAgMTYsIDB4ZDFiMCwgMCwgezB4YzUsMHg4MCwweDMzLDB4NjAsMHgwYywweGY4LDB4MjAsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDFjMCwgMCwgezB4YTgsMHgxMSwweGJjLDB4MDAsMHgwZiwweDEwLDB4MjEsMHg4MSwweDBiLDB4NjAsMHgwMywweDg0LDB4MDAsMHg4YiwweDA4LDB4MjEgfSwKLSAgMTYsIDB4ZDFkMCwgMCwgezB4NjAsMHgwYSwweDdiLDB4MDMsMHg5OCwweDAwLDB4OGIsMHgxMCwweDI5LDB4ODQsMHgwZSwweDY0LDB4MjIsMHhkYywweDQwLDB4ZDcgfSwKLSAgMTYsIDB4ZDFlMCwgMCwgezB4MDIsMHgyZCwweDg0LDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg1LDB4MTgsMHgyMSwweDQwLDB4MGEsMHhmMCwweDIyLDB4YWEgfSwKLSAgMTYsIDB4ZDFmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHgxNCwweDY5LDB4YzAgfSwKLSAgMTYsIDB4ZDIwMCwgMCwgezB4MWEsMHg2MCwweDEyLDB4ZmMsMHgwMSwweGE0LDB4MTAsMHgyZCwweGMwLDB4MGEsMHg1MiwweDAyLDB4NDUsMHg0MCwweDg3LDB4MGMgfSwKLSAgMTYsIDB4ZDIxMCwgMCwgezB4MjEsMHg4MCwweDFiLDB4NjAsMHg4MiwweGQ0LDB4MDAsMHg4NiwweDAzLDB4MjUsMHhlMCwweDFiLDB4NzAsMHgwMiwweDVjLDB4NDAgfSwKLSAgMTYsIDB4ZDIyMCwgMCwgezB4OWQsMHgwMCwweDI5LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDIzMCwgMCwgezB4MjAsMHgxNCwweGNkLDB4MDAsMHhhMywweDAwLDB4MjgsMHhjMCwweDFiLDB4MjAsMHgyMiwweDhjLDB4MTEsMHhhMywweDAwLDB4NjggfSwKLSAgMTYsIDB4ZDI0MCwgMCwgezB4ZjYsMHgwYSwweDNjLDB4MDYsMHg4MiwweDAwLDB4ODMsMHg4MCwweDI4LDB4ODQsMHgwYSwweDhjLDB4ODIsMHhjYywweDQ0LDB4OTIgfSwKLSAgMTYsIDB4ZDI1MCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4NGUsMHgwMCwweDkxLDB4MDAsMHgyOCwweDQwLDB4MGEsMHgzMCwweDAyLDB4ODggfSwKLSAgMTYsIDB4ZDI2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZSwweDIyLDB4ZWYsMHgwNCwweGJhLDB4YzAgfSwKLSAgMTYsIDB4ZDI3MCwgMCwgezB4MGYsMHgxNCwweDkzLDB4ZWMsMHgwMiwweGYxLDB4YzMsMHgzZSwweGYwLDB4MGUsMHg5MCwweDgzLDB4NjYsMHgwMCwweGNmLDB4ZDIgfSwKLSAgMTYsIDB4ZDI4MCwgMCwgezB4MzIsMHg1MCwweDBmLDB4OWMsMHgwMywweGNiLDB4MDAsMHhjOSwweDgwLDB4M2UsMHgyOCwweDBmLDB4YjAsMHgwMywweDRmLDB4MDAgfSwKLSAgMTYsIDB4ZDI5MCwgMCwgezB4ZDEsMHhjMCwweGFhLDB4YzAsMHgwYywweDcxLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDJhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MjAsMHhkYiwweDAwLDB4MjYsMHg4MCwweDBmLDB4YTAsMHgwMywweGVjLDB4MDgsMHgxYiwweDAwLDB4MzYgfSwKLSAgMTYsIDB4ZDJiMCwgMCwgezB4YzAsMHgwZiwweDg2LDB4MDEsMHhlNSwweDQwLDB4ZmIsMHgwMiwweDNhLDB4NDgsMHgwZSwweDk0LDB4MDMsMHhlYywweDgwLDB4ZjEgfSwKLSAgMTYsIDB4ZDJjMCwgMCwgezB4ODQsMHgzZSwweDAwLDB4NGYsMHhiMCwweDAzLDB4YWQsMHhjMCwweGViLDB4MjAsMHgzNiwweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTAgfSwKLSAgMTYsIDB4ZDJkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4Y2YsMHgwMCwweDNmLDB4NjAgfSwKLSAgMTYsIDB4ZDJlMCwgMCwgezB4MGMsMHhlMCwweDgzLDB4M2UsMHg4MCwweGVkLDB4MDgsMHgzMywweGQwLDB4OGYsMHg1MCwweDAzLDB4OWUsMHgwMCwweGRmLDB4MDAgfSwKLSAgMTYsIDB4ZDJmMCwgMCwgezB4MzMsMHg0MCwweDBjLDB4YzAsMHgwMywweDMwLDB4MDAsMHhjYywweDEwLDB4MzMsMHg2OCwweDBjLDB4ZjAsMHgwMywweDNjLDB4ODQgfSwKLSAgMTYsIDB4ZDMwMCwgMCwgezB4OGQsMHg5MCwweDMwLDB4NDAsMHgwYywweGYwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDMxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDAyLDB4MmMsMHhmNCwweDA4LDB4YTgsMHg2MiwweDBjLDB4ODAsMHg4YiwweDgwLDB4MmEgfSwKLSAgMTYsIDB4ZDMyMCwgMCwgezB4NjAsMHgwZiwweDljLDB4MDIsMHgyZSwweDAwLDB4OGIsMHgwMCwweDIwLDB4NjAsMHgwZCwweDk4LDB4MDIsMHgyYywweDgwLDB4ZDggfSwKLSAgMTYsIDB4ZDMzMCwgMCwgezB4MDAsMHgxNCwweDQwLDB4MDgsMHgzNCwweDEyLDB4MmUsMHgwMCwweDhiLDB4ODIsMHgzMiwweDQwLDB4MGQsMHhiMCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4ZDM0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4ZDAgfSwKLSAgMTYsIDB4ZDM1MCwgMCwgezB4MDgsMHhiOCwweDAyLDB4MmMsMHgwMCwweDhhLDB4ODQsMHgyMiwweGMwLDB4MGIsMHg4OCwweDAyLDB4ZTQsMHhhMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4ZDM2MCwgMCwgezB4MjIsMHg2MiwweDBhLDB4OTgsMHgwMiwweDI4LDB4MDAsMHg4OSwweDAwLDB4MjIsMHgwMCwweDBhLDB4YjEsMHgwNiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZDM3MCwgMCwgezB4YWIsMHgwMCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDM4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDIsMHhhMywweDAwLDB4MmMsMHhjMSwweDA4LDB4MjAsMHgwMiwweDBjLDB4MDIsMHg4YiwweDAwLDB4MjggfSwKLSAgMTYsIDB4ZDM5MCwgMCwgezB4YzIsMHgwYSwweDAwLDB4MDIsMHg0NCwweDEwLDB4ODMsMHgxMCwweDIyLDB4NDAsMHgwYiwweDEwLDB4MDYsMHgwYywweDAwLDB4OTEgfSwKLSAgMTYsIDB4ZDNhMCwgMCwgezB4MDQsMHhhYSwweDAwLDB4MjgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGExLDB4MDEsMHgyMCwweDQwLDB4MDksMHhiMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4ZDNiMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4OGYsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZDNjMCwgMCwgezB4MmMsMHhhMCwweDAzLDB4MjksMHg0MCwweGE4LDB4NDAsMHgzMiwweGNjLDB4OGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGNmLDB4NDAgfSwKLSAgMTYsIDB4ZDNkMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4ODAsMHgwYSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjIsMHg0MCwweDBjLDB4YjAsMHgwMywweDJjLDB4MDQgfSwKLSAgMTYsIDB4ZDNlMCwgMCwgezB4ZWIsMHgwMCwweGIyLDB4NDAsMHg4YywweGIwLDB4MDMsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDNmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZTAsMHgwMywweGZjLDB4ODAsMHhmZiwweDI4LDB4M2QgfSwKLSAgMTYsIDB4ZDQwMCwgMCwgezB4YzAsMHgwYiwweGMxLDB4MDMsMHhiMCwweDE0LDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZCwweGQwLDB4MDMsMHhkYywweDAwLDB4ZmMgfSwKLSAgMTYsIDB4ZDQxMCwgMCwgezB4MDAsMHgzNywweDQwLDB4MGYsMHhmMCwweDIxLDB4ZmMsMHgwMCwweDFkLDB4MDAsMHg3YiwweDQwLDB4OGYsMHhmMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZDQyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4ZGYsMHgwMCwweDMxLDB4YTAgfSwKLSAgMTYsIDB4ZDQzMCwgMCwgezB4NGQsMHhmMCwweDQzLDB4MzIsMHgwMCwweGNlLDB4MTQsMHgxYiwweDY4LDB4MGUsMHhkYSwweDIzLDB4YjIsMHhjMCwweDJmLDB4MDAgfSwKLSAgMTYsIDB4ZDQ0MCwgMCwgezB4M2YsMHhjMiwweDJjLDB4ZTgsMHgwMywweDNjLDB4NDAsMHhmZCwweDA4LDB4M2IsMHhjOCwweDRjLDB4ZjAsMHg4MywweDNjLDB4YTAgfSwKLSAgMTYsIDB4ZDQ1MCwgMCwgezB4Y2YsMHgwMCwweDMzLDB4YzQsMHgwYywweGYzLDB4MDcsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQ2MCwgMCwgezB4ODAsMHgxMCwweGUyLDB4MDAsMHg4ZiwweGMwLDB4MjIsMHhhMCwweDA4LDB4ZmQsMHg0MiwweDJmLDB4MDAsMHg4YiwweDcwLDB4MjIgfSwKLSAgMTYsIDB4ZDQ3MCwgMCwgezB4MWUsMHg0OCwweDg5LDB4MDIsMHgyNywweGMwLDB4OGYsMHg1YSwweDJlLDB4NTAsMHg0OCwweDMwLDB4MDIsMHhiZCwweGMwLDB4YmQgfSwKLSAgMTYsIDB4ZDQ4MCwgMCwgezB4NDAsMHgyMywweGM1LDB4NDgsMHhmNCwweDgyLDB4M2QsMHgyYywweDg3LDB4NzAsMHgyMiwweGMwLDB4MDgsMHhmMSwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZDQ5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlMCwweDAwLDB4OTMsMHgxMCwweDI2LDB4ODEgfSwKLSAgMTYsIDB4ZDRhMCwgMCwgezB4NDksMHgzMCwweDAyLDB4ODAsMHg0MCwweDgzLDB4MjAsMHgyOCwweDQwLDB4MGEsMHgxMCwweDAyLDB4ODAsMHgwMCwweGEzLDB4MjQgfSwKLSAgMTYsIDB4ZDRiMCwgMCwgezB4MmMsMHhjYSwweDA4LDB4MzIsMHg4MiwweDBjLDB4MDAsMHg5MSwweDI4LDB4MjAsMHhjYSwweDFiLDB4MzIsMHgwMiwweDBjLDB4ODggfSwKLSAgMTYsIDB4ZDRjMCwgMCwgezB4ODMsMHgwOSwweDIwLDB4YzgsMHgwOSwweDMyLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDRkMCwgMCwgezB4YzAsMHgxNSwweGEzLDB4MTQsMHg4YiwweDA0LDB4MjYsMHg4OSwweDA4LDB4YjAsMHgwMiwweGFjLDB4MjIsMHg4YiwweDg4LDB4MmEgfSwKLSAgMTYsIDB4ZDRlMCwgMCwgezB4MjAsMHgwOCwweDk4LDB4ODIsMHhhNiwweDEwLDB4YWIsMHgwMCwweDJlLDB4Y2EsMHgwOCwweGIwLDB4ODIsMHhhYywweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZDRmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MjksMHhiMCwweDBhLDB4MmMsMHgwMSwweDhiLDB4MDAsMHgyMiwweGMwLDB4MDksMHhiMCwweDIyLDB4ZjAgfSwKLSAgMTYsIDB4ZDUwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMywweDAwLDB4ZGIsMHgwMCwweDM0LDB4ZTIgfSwKLSAgMTYsIDB4ZDUxMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4YTMsMHgwMCwweGNhLDB4ODAsMHhiYSwweDcwLDB4MGUsMHg4OCwweDAzLDB4YTYsMHgwMCwweGViLDB4MDAgfSwKLSAgMTYsIDB4ZDUyMCwgMCwgezB4M2UsMHg5MCwweDBjLDB4YjUsMHgwMywweDJjLDB4MDAsMHhmYiwweDEwLDB4YmEsMHhjMCwweDBlLDB4YjAsMHgwMywweDJjLDB4MDIgfSwKLSAgMTYsIDB4ZDUzMCwgMCwgezB4Y2IsMHgwMiwweDMyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDU0MCwgMCwgezB4ZTAsMHgwMSwweGIwLDB4MDgsMHhmZiwweDAwLDB4YmIsMHhlMCwweDBmLDB4NzAsMHgwMywweDY1LDB4MDAsMHhmNCwweDAwLDB4MzUgfSwKLSAgMTYsIDB4ZDU1MCwgMCwgezB4NDAsMHgwZiwweDQwLDB4MDMsMHg1NCwweDAwLDB4ZGYsMHgwMCwweDNlLDB4NDAsMHgwZiwweGY4LDB4MDMsMHhlYywweDAwLDB4ZjcgfSwKLSAgMTYsIDB4ZDU2MCwgMCwgezB4MDEsMHgzZCwweGMxLDB4MGUsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGUsMHhmMCwweDAzLDB4YjggfSwKLSAgMTYsIDB4ZDU3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMCwweDQwLDB4ZWIsMHgwOCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4ZDU4MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzYSwweDUxLDB4MGYsMHg4MiwweDAzLDB4NjQsMHgyMCwweGRiLDB4MDAgfSwKLSAgMTYsIDB4ZDU5MCwgMCwgezB4M2QsMHg4MiwweDBjLDB4YmMsMHgwMywweDJjLDB4MTAsMHhkYiwweDAwLDB4NzIsMHhjMCwweDBkLDB4YjEsMHgwMywweDBjLDB4MjAgfSwKLSAgMTYsIDB4ZDVhMCwgMCwgezB4ZDMsMHgwMCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDViMCwgMCwgezB4YzgsMHgwNSwweDAxLDB4MDAsMHg4NywweGMwLDB4MmUsMHhhOCwweDA4LDB4ZjEsMHgxMiwweGM1LDB4NDAsMHg4OCwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZDVjMCwgMCwgezB4NDAsMHgwYiwweDg0LDB4MDIsMHgyNywweDAwLDB4YWYsMHgwMCwweDJlLDB4YzAsMHgwOCwweGJjLDB4MTIsMHgzYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4ZDVkMCwgMCwgezB4MDEsMHgyMywweGMwLDB4MjgsMHhmNSwweDRhLDB4M2QsMHgyOCwweGRmLDB4MDAsMHgzMywweGMwLDB4NGIsMHhmMCwweDAzLDB4MzIgfSwKLSAgMTYsIDB4ZDVlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDgwLDB4YTMsMHg5MCwweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZDVmMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4YzEsMHgwMCwweDkyLDB4MDQsMHgyOCwweDAwLDB4MGIsMHgxNCwweDEyLDB4NDMsMHgwMCwweGIzLDB4MDQgfSwKLSAgMTYsIDB4ZDYwMCwgMCwgezB4MmMsMHgzMCwweDBhLDB4YjAsMHgwYSwweDhjLDB4MDAsMHg5MywweDAwLDB4NjAsMHhjMCwweDA4LDB4M2MsMHgwNiwweDBlLDB4MDEgfSwKLSAgMTYsIDB4ZDYxMCwgMCwgezB4YjMsMHgwMCwweDJlLDB4YzAsMHg4YiwweDMwLDB4MDYsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDYyMCwgMCwgezB4MjAsMHgwMSwweDEyLDB4MDAsMHg4NywweDgwLDB4MmQsMHgyNCwweDA4LDB4NzgsMHgwMiwweGQyLDB4MDAsMHg5NSwweDgwLDB4MjEgfSwKLSAgMTYsIDB4ZDYzMCwgMCwgezB4YTAsMHgwYiwweDY4LDB4MDIsMHg1YSwweDIwLDB4ODcsMHg4MCwweDJkLDB4NjYsMHgxYSwweDdjLDB4MDIsMHg5ZSwweDAwLDB4ODcgfSwKLSAgMTYsIDB4ZDY0MCwgMCwgezB4ODAsMHgyMSwweGUxLDB4MTgsMHg3OSwweDAyLDB4OWUsMHg0MCwweGI3LDB4ODAsMHhhMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4NDggfSwKLSAgMTYsIDB4ZDY1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwMCwweDAwLDB4ZTMsMHhhMCwweDNjLDB4NDAgfSwKLSAgMTYsIDB4ZDY2MCwgMCwgezB4MGMsMHgzMCwweDAzLDB4YzQsMHgyMiwweGQ5LDB4MDAsMHgzOCwweGQ0LDB4MGYsMHgzMCwweDgzLDB4NjgsMHg0MCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4ZDY3MCwgMCwgezB4M2MsMHg4MCwweDBhLDB4MzIsMHgwMiwweDhjLDB4MDAsMHhkYiwweDAwLDB4YTIsMHhjNCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAgfSwKLSAgMTYsIDB4ZDY4MCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIxLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDY5MCwgMCwgezB4NDAsMHgwZCwweGIwLDB4MDAsMHhmZiwweDEwLDB4M2YsMHg0MCwweDBlLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhlZCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZDZhMCwgMCwgezB4YzAsMHgwZiwweDMwLDB4MTMsMHhiYywweDQwLDB4N2YsMHgxMCwweDNmLDB4YzEsMHgyZCwweGYwLDB4MDMsMHg3YywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ZDZiMCwgMCwgezB4NDAsMHgzZiwweGMyLDB4MGUsMHhmNCwweDgzLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMyLDB4MGYsMHhmMCwweDAzLDB4OTAgfSwKLSAgMTYsIDB4ZDZjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZGIsMHhhMCwweDMyLDB4YzAgfSwKLSAgMTYsIDB4ZDZkMCwgMCwgezB4MGQsMHhiNywweDAzLDB4ZTAsMHgwMCwweGNhLDB4MDQsMHgzZSwweDgwLDB4MGYsMHhiOCwweDAzLDB4MmMsMHgxMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ZDZlMCwgMCwgezB4MzMsMHgwMCwweDhkLDB4YjAsMHgwMywweDJjLDB4ODAsMHhlOSwweDQwLDB4M2UsMHhkMiwweDBmLDB4YjQsMHgwMywweDJkLDB4ODAgfSwKLSAgMTYsIDB4ZDZmMCwgMCwgezB4ZWIsMHgyMCwweGIyLDB4YzAsMHgwZiwweGIyLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDcwMCwgMCwgezB4NDgsMHgxMSwweDkwLDB4MDAsMHhiNywweDEwLDB4MTEsMHhjMCwweDA4LDB4NzAsMHg4MiwweGQ4LDB4MGEsMHg4NywweDAxLDB4MmQgfSwKLSAgMTYsIDB4ZDcxMCwgMCwgezB4ODAsMHg4OSwweDcwLDB4MDMsMHhkOCwweDA4LDB4YjcsMHgwYSwweDIxLDB4NDAsMHgyYywweDcwLDB4MDIsMHgwZCwweGMwLDB4ODUgfSwKLSAgMTYsIDB4ZDcyMCwgMCwgezB4MDEsMHg3OSwweGM4LDB4MGIsMHgzMiwweDAyLDB4MGQsMHgyMCwweDhmLDB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MiwweDgyLDB4ZDIgfSwKLSAgMTYsIDB4ZDczMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4NDAsMHg5NiwweDEwLDB4OTcsMHg5MCwweDIzLDB4ZTAgfSwKLSAgMTYsIDB4ZDc0MCwgMCwgezB4MDksMHg3YSwweDAyLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgyZCwweGYwLDB4MGIsMHg3OCwweDgyLDB4MWUsMHgwMCwweGIzLDB4YjAgfSwKLSAgMTYsIDB4ZDc1MCwgMCwgezB4MjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDFlLDB4MDAsMHhhNSwweDgwLDB4MmQsMHhlMCwweDBiLDB4N2EsMHgwMiwweDFlLDB4ODAgfSwKLSAgMTYsIDB4ZDc2MCwgMCwgezB4YTcsMHhiMCwweDIxLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDc3MCwgMCwgezB4NDgsMHgxNCwweGMwLDB4MDAsMHhiMywweDAwLDB4MjAsMHhlMiwweDA4LDB4MzAsMHgwMiwweGM2LDB4NDAsMHg5MywweDcwLDB4MmMgfSwKLSAgMTYsIDB4ZDc4MCwgMCwgezB4YzAsMHgwOSwweDNjLDB4MDIsMHg4ZSwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDgsMHgwOCwweDE4LDB4MDIsMHgwYywweDAwLDB4ODEgfSwKLSAgMTYsIDB4ZDc5MCwgMCwgezB4OTAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDJhLDB4MmMsMHgxMCwweDgzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ZDdhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhiOSwweDAwLDB4ZGEsMHgwMiwweDMzLDB4YjggfSwKLSAgMTYsIDB4ZDdiMCwgMCwgezB4MGQsMHhhMCwweDAzLDB4ZjgsMHgwMCwweGRlLDB4YzAsMHgzZiwweGIwLDB4NGYsMHhlYywweDA2LDB4MzgsMHg0MCwweGZhLDB4MDAgfSwKLSAgMTYsIDB4ZDdjMCwgMCwgezB4YjMsMHg5MCwweDBjLDB4NmMsMHgwYiwweDI4LDB4MDgsMHhlYSwweDAxLDB4N2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDI4LDB4MDAgfSwKLSAgMTYsIDB4ZDdkMCwgMCwgezB4ZWEsMHgwMCwweDMyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDdlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQwLDB4M2EsMHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhlOCwweDAyLDB4M2UgfSwKLSAgMTYsIDB4ZDdmMCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ZDgwMCwgMCwgezB4MDAsMHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZDgxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDIwLDB4ZjksMHhjMCwweDNlLDB4NzAgfSwKLSAgMTYsIDB4ZDgyMCwgMCwgezB4MGUsMHg5MCwweDAyLDB4ZTQsMHg4MCwweGM5LDB4MDAsMHgzMiwweDQyLDB4MGMsMHg5OCwweDgzLDB4YTQsMHg4NCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZDgzMCwgMCwgezB4YjIsMHg2MCwweDBjLDB4OTAsMHg4MywweDI0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4MWEsMHgwMiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4ZDg0MCwgMCwgezB4YzEsMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MDEsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg1MCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MDAsMHhiOSwweDgxLDB4MmMsMHg2MCwweDBkLDB4OTQsMHhjMiwweGM3LDB4MDgsMHg4OSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZDg2MCwgMCwgezB4NDAsMHgwOCwweDk1LDB4YzcsMHhhNCwweDAwLDB4YjksMHgwMCwweDI4LDB4NzAsMHhhOCwweDk0LDB4MGEsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZDg3MCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MjgsMHg5MCwweDJhLDB4MjYsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZDg4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHg0MCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ZDg5MCwgMCwgezB4MGEsMHg5MCwweDAyLDB4ZTUsMHgwMCwweDgxLDB4MDAsMHhhMCwweDQwLDB4MDksMHg5MCwweDQyLDB4ZWMsMHgwMCwweGIxLDB4MDAgfSwKLSAgMTYsIDB4ZDhhMCwgMCwgezB4MjIsMHg1OCwweDA4LDB4OTAsMHhhMiwweDA0LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4YTAgfSwKLSAgMTYsIDB4ZDhiMCwgMCwgezB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDhjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDIwLDB4MmUsMHhjMCwweDg5LDB4MTIsMHgwMiwweGM0LDB4ODAsMHg4MSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4ZDhkMCwgMCwgezB4NDAsMHg2MSwweDEwLDB4NDIsMHhjNSwweDAwLDB4YjEsMHgyMCwweDI4LDB4NDgsMHgxOCwweDkwLDB4NDIsMHgwNCwweDgwLDB4ODEgfSwKLSAgMTYsIDB4ZDhlMCwgMCwgezB4MjgsMHgyYywweDQ4LDB4MDgsMHgxMiwweDgyLDB4ODQsMHhhMCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MGIsMHgxMiwweDgyLDB4YzIgfSwKLSAgMTYsIDB4ZDhmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4ZDkwMCwgMCwgezB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGM4LDB4NTAsMHgzMiwweDE0LDB4MGQsMHg4MCwweDE3LDB4ZTgsMHgwNCwweGY4LDB4NTAgfSwKLSAgMTYsIDB4ZDkxMCwgMCwgezB4MzIsMHgxNCwweDRjLDB4MDUsMHgwYiwweDIxLDB4NDAsMHhjOCwweDIwLDB4M2UsMHgwMCwweDBjLDB4ODcsMHgwMywweGExLDB4YzIgfSwKLSAgMTYsIDB4ZDkyMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MTQsMHg4ZiwweDgyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDkzMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4MDAsMHhmMSwweDEwLDB4M2QsMHg0MCwweDBmLDB4OTEsMHgwMiwweGQ0LDB4NDIsMHhmZCwweDEwLDB4M2YgfSwKLSAgMTYsIDB4ZDk0MCwgMCwgezB4NTEsMHgwZSwweDU0LDB4MTMsMHhiNSwweDAwLDB4ZjksMHgxMCwweDM1LDB4NDQsMHgyZiwweGQwLDB4MDMsMHhlNCwweDUwLDB4ZmQgfSwKLSAgMTYsIDB4ZDk1MCwgMCwgezB4MjgsMHgzZSwweDRlLDB4MGYsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MzgsMHgzZSwweDQ0LDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ZDk2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNkLDB4NDAgfSwKLSAgMTYsIDB4ZDk3MCwgMCwgezB4MmMsMHhkMCwweDAzLDB4YjYsMHgwMCwweGY5LDB4ODIsMHgzZSwweDQwLDB4MGMsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4ODAgfSwKLSAgMTYsIDB4ZDk4MCwgMCwgezB4MzMsMHg3MCwweDBjLDB4NTAsMHgwMywweDM0LDB4MDAsMHhjOSwweGMwLDB4M2UsMHg0MCwweDBjLDB4ZGEsMHgwMywweDE2LDB4ODAgfSwKLSAgMTYsIDB4ZDk5MCwgMCwgezB4YzksMHg0MCwweDNlLDB4NjIsMHgyYywweDk4LDB4ODMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDlhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDA4LDB4ODAsMHgwMiwweDI4LDB4MDAsMHhiOCwweDUwLDB4MjYgfSwKLSAgMTYsIDB4ZDliMCwgMCwgezB4MDAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDAwLDB4YjgsMHgwMCwweDJhLDB4MzQsMHgyYSwweGFhLDB4MGEsMHgyMCwweDAwLDB4ODggfSwKLSAgMTYsIDB4ZDljMCwgMCwgezB4YzAsMHgyZSwweDJhLDB4MDgsMHg4MCwweDIyLDB4MjEsMHgwMCwweGE4LDB4ODAsMHgyZSwweDAwLDB4MDgsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZDlkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ZDllMCwgMCwgezB4NDgsMHgxMCwweDA2LDB4OGQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MjgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4NDAgfSwKLSAgMTYsIDB4ZDlmMCwgMCwgezB4MmMsMHg0OCwweDA4LDB4MTAsMHg4MiwweDQ0LDB4MDAsMHg4MSwweDYwLDB4MmMsMHg0MCwweDI4LDB4MTQsMHgwYSwweDA0LDB4NDAgfSwKLSAgMTYsIDB4ZGEwMCwgMCwgezB4ODEsMHgyMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGExMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4NDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDA4LDB4YjAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDI4LDB4MmUgfSwKLSAgMTYsIDB4ZGEyMCwgMCwgezB4NTAsMHgwOCwweDkwLDB4MjIsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NjAsMHgwYiwweDEyLDB4NDIsMHg2NCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZGEzMCwgMCwgezB4MDAsMHgyYywweDQwLDB4MDksMHg5MCwweDAyLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyYywweDQwLDB4MDgsMHgxMCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4ZGE0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDIgfSwKLSAgMTYsIDB4ZGE1MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YTcsMHg0MCwweGY5LDB4NDAsMHgzZSwweDcwLDB4MGMsMHg5OCwweDAyLDB4ZTUsMHg0MCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZGE2MCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTgsMHgwMywweDY0LDB4MDYsMHhjOSwweDAxLDB4MmUsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQgfSwKLSAgMTYsIDB4ZGE3MCwgMCwgezB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGE4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHg4MywweGU2LDB4MTAsMHhmOSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4ZGE5MCwgMCwgezB4NjgsMHgwZiwweDljLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZSwweDk4LDB4OTMsMHhhNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZGFhMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDgzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4ZGFiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDQgfSwKLSAgMTYsIDB4ZGFjMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4MjEsMHgwMiwweGM4LDB4NDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGYwLDB4MDAgfSwKLSAgMTYsIDB4ZGFkMCwgMCwgezB4M2UsMHgwMiwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZGFlMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGFmMCwgMCwgezB4MjgsMHgxNSwweDNhLDB4MDAsMHhiZSwweDAyLDB4MmYsMHhiMCwweDA4LDB4NjgsMHgxMiwweDM4LDB4MDAsMHg4YSwweDA0LDB4MmEgfSwKLSAgMTYsIDB4ZGIwMCwgMCwgezB4ODAsMHgwYiwweGUwLDB4NDIsMHhmYiwweDIwLDB4YmEsMHgwMCwweDJmLDB4OTEsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ZGIxMCwgMCwgezB4MDAsMHgyNiwweDgwLDB4MDgsMHhlZSwweDBhLDB4MzgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgwLDB4MGIsMHhhMCwweDAyLDB4OGEgfSwKLSAgMTYsIDB4ZGIyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MiwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzIgfSwKLSAgMTYsIDB4ZGIzMCwgMCwgezB4MjgsMHgzOCwweDBhLDB4NDgsMHgwMCwweDgzLDB4MDQsMHgyMiwweGMwLDB4MGIsMHgxMCwweDAyLDB4Y2QsMHg4MCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4ZGI0MCwgMCwgezB4MmUsMHhjMCwweDA4LDB4MWMsMHgwMiwweDI0LDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzQsMHgxMiwweDBlLDB4NDAgfSwKLSAgMTYsIDB4ZGI1MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MTIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGI2MCwgMCwgezB4YTAsMHgwMSwweDExLDB4MDAsMHhiNywweDAwLDB4MmYsMHhjMCwweDA4LDB4NzAsMHhhMiwweDRlLDB4MDAsMHg4ZiwweGIwLDB4MjEgfSwKLSAgMTYsIDB4ZGI3MCwgMCwgezB4Y2MsMHgwYiwweDYwLDB4MTIsMHhkYywweDEwLDB4YjcsMHgzMCwweDJkLDB4YzAsMHgwOCwweGQwLDB4ODIsMHgxNCwweDgwLDB4YjcgfSwKLSAgMTYsIDB4ZGI4MCwgMCwgezB4MTIsMHgyNSwweGM4LDB4MjgsMHg2MCwweDAyLDB4MTQsMHgwMCwweDg3LDB4YjIsMHgyMSwweGNjLDB4MGIsMHgzMSwweDAyLDB4YTggfSwKLSAgMTYsIDB4ZGI5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZjcsMHg4MCwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4ZGJhMCwgMCwgezB4MGMsMHgzOCwweDAzLDB4NTYsMHgwMCwweGM3LDB4OTAsMHhiMSwweGU0LDB4MGYsMHg3OCwweDAzLDB4ZGUsMHgwMCwweGY3LDB4OTAgfSwKLSAgMTYsIDB4ZGJiMCwgMCwgezB4MWYsMHg2MCwweDJjLDB4NDgsMHgwYiwweDE2LDB4YTAsMHhmNywweDgwLDB4M2MsMHhmNCwweDBjLDB4MzgsMHgwMywweDFlLDB4MDAgfSwKLSAgMTYsIDB4ZGJjMCwgMCwgezB4Y2YsMHhhMCwweGIxLDB4ZTgsMHgwZiwweDdiLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGJkMCwgMCwgezB4MDgsMHgwZCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBiLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmMywweDIxLDB4M2UgfSwKLSAgMTYsIDB4ZGJlMCwgMCwgezB4YzgsMHgwNywweGIwLDB4MDIsMHhlNCwweDAwLDB4ZmIsMHgyMCwweDNmLDB4NDAsMHgwZiwweDgwLDB4MDMsMHhlNCwweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ZGJmMCwgMCwgezB4MDAsMHgzNiwweGQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwOCwweGZiLDB4NDIsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZGMwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmMCwweDgwLDB4Y2YsMHg4MCwweDMxLDB4ZTEgfSwKLSAgMTYsIDB4ZGMxMCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZGEsMHgxMCwweGVmLDB4ODAsMHgzZiwweGU0LDB4MGYsMHhkOCwweDAzLDB4ZmUsMHgxMCwweGZmLDB4ODIgfSwKLSAgMTYsIDB4ZGMyMCwgMCwgezB4M2YsMHhlMCwweDRjLDB4ZDgsMHgxYiwweDE2LDB4MjAsMHhjZiwweDgwLDB4M2YsMHhlMCwweDRjLDB4ZDgsMHgzMCwweGVlLDB4NDAgfSwKLSAgMTYsIDB4ZGMzMCwgMCwgezB4ZmYsMHhjMCwweGIzLDB4ZjQsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGM0MCwgMCwgezB4YTgsMHgwMSwweDk4LDB4MjAsMHg4MywweDQwLDB4MjEsMHhjMCwweDA4LDB4NzEsMHgwMiwweGRjLDB4ODQsMHg4NywweDIwLDB4MmQgfSwKLSAgMTYsIDB4ZGM1MCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhkOSwweDYwLDB4ZjcsMHgwMCwweDJkLDB4YzAsMHgwOCwweGYwLDB4ODIsMHgxNCwweDA0LDB4ODcgfSwKLSAgMTYsIDB4ZGM2MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDgsMHhmMCwweDAzLDB4MWUsMHgwMCwweGI3LDB4MjAsMHgyMSwweGMwLDB4OGIsMHg3MCwweDAyLDB4ZWEgfSwKLSAgMTYsIDB4ZGM3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiMCwweDAwLDB4ODcsMHgwMCwweDIxLDB4ODAgfSwKLSAgMTYsIDB4ZGM4MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZjUsMHgwNCwweDI3LDB4MDAsMHgyZCwweGMwLDB4OGIsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAgfSwKLSAgMTYsIDB4ZGM5MCwgMCwgezB4MmMsMHg1MCwweDA4LDB4NDAsMHgwMiwweDE0LDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDA4LDB4NTAsMHgwMiwweDVjLDB4MDQgfSwKLSAgMTYsIDB4ZGNhMCwgMCwgezB4YjcsMHgwMCwweGExLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGNiMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDAsMHg4MCwweDAwLDB4MDAsMHg4MCwweDA4LDB4MzAsMHgwMiwweGNlLDB4MDAsMHg4MywweGMwLDB4MmMgfSwKLSAgMTYsIDB4ZGNjMCwgMCwgezB4ZDAsMHg0YiwweDMwLDB4MDIsMHhjZSwweDAwLDB4YWIsMHgwMiwweDJjLDB4NDAsMHg0OCwweGJjLDB4MDIsMHgwNCwweDAwLDB4ODMgfSwKLSAgMTYsIDB4ZGNkMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDgsMHgxMCwweDAyLDB4MDAsMHgwOCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzMCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZGNlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4MywweDQwLDB4YzgsMHgwMCwweDMwLDB4YzAgfSwKLSAgMTYsIDB4ZGNmMCwgMCwgezB4MmMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGVmLDB4ODgsMHgzZiwweGU2LDB4MDcsMHhiMSwweDgzLDB4ZTEsMHgwMCwweGJmLDB4MDAgfSwKLSAgMTYsIDB4ZGQwMCwgMCwgezB4M2UsMHhlMCwweDBjLDB4YjgsMHgwMywweDM0LDB4MDAsMHhjZiwweDAwLDB4M2YsMHhjMCwweDJjLDB4YjAsMHgwMywweDY4LDB4MTAgfSwKLSAgMTYsIDB4ZGQxMCwgMCwgezB4ZmYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGQyMCwgMCwgezB4ODAsMHgwMCwweGU0LDB4MDAsMHhmMSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YjQsMHgwMywweGVkLDB4NDAsMHhmYiwweDA4LDB4M2UgfSwKLSAgMTYsIDB4ZGQzMCwgMCwgezB4YzAsMHgwZiwweGEwLDB4MDMsMHhlNSwweDIwLDB4ZmIsMHgwMCwweDNlLDB4ZTAsMHgwZCwweGIwLDB4ODMsMHhlNCwweDAwLDB4ZjMgfSwKLSAgMTYsIDB4ZGQ0MCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4YzQsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZGQ1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4Y2EsMHgwMCwweDMzLDB4ZTAgfSwKLSAgMTYsIDB4ZGQ2MCwgMCwgezB4NGUsMHhmMCwweDAzLDB4MzQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhlOCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4ZGQ3MCwgMCwgezB4YjEsMHg0MCwweDBjLDB4ZTAsMHgwMywweDM0LDB4MDAsMHhlZiwweDAwLDB4YjMsMHhjMCwweDBjLDB4ZjAsMHgwMywweDM4LDB4MDAgfSwKLSAgMTYsIDB4ZGQ4MCwgMCwgezB4Y2YsMHgwMCwweDNkLDB4YzAsMHgwYSwweGYwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGQ5MCwgMCwgezB4ODEsMHgwNCwweDYyLDB4MjIsMHg4OCwweDkwLDB4MjIsMHhlMCwweDA4LDB4M2MsMHgwMiwweDJlLDB4MDgsMHhiYiwweDAxLDB4MmUgfSwKLSAgMTYsIDB4ZGRhMCwgMCwgezB4YzAsMHgwYiwweGEwLDB4MDIsMHg2NiwweDAwLDB4YmIsMHgwMCwweDIyLDB4YTAsMHgwOCwweGE5LDB4MDIsMHgyNCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4ZGRiMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MjgsMHgyYywweDAyLDB4YTIsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4YTAgfSwKLSAgMTYsIDB4ZGRjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMiwweDAwLDB4OTgsMHgwMCwweDIyLDB4YzggfSwKLSAgMTYsIDB4ZGRkMCwgMCwgezB4MGEsMHg5OCwweDAyLDB4MjcsMHgwNCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMSwweDAyLDB4ZTIsMHgwMCwweGJiLDB4MDAgfSwKLSAgMTYsIDB4ZGRlMCwgMCwgezB4MjIsMHhlMiwweDA4LDB4YjAsMHgwMiwweGE0LDB4MDAsMHhhYiwweDAwLDB4MjAsMHhjMCwweDBhLDB4ODgsMHg4MiwweDIzLDB4MDAgfSwKLSAgMTYsIDB4ZGRmMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGUwMCwgMCwgezB4MDgsMHgxNCwweDA0LDB4MDAsMHg5MSwweDQwLDB4MjIsMHhjMCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZGUxMCwgMCwgezB4YzAsMHg0YiwweDI4LDB4MjIsMHg0MCwweDA0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgyOCwweDMwLDB4MGEsMHgwNCwweDA0LDB4YjMgfSwKLSAgMTYsIDB4ZGUyMCwgMCwgezB4MDAsMHg2MCwweGMwLDB4MDgsMHgwMCwweDAyLDB4ODQsMHgyMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4ZGUzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2MCwweDAwLDB4ZGEsMHg0MCwweGIyLDB4ODAgfSwKLSAgMTYsIDB4ZGU0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhhMCwweDAzLDB4ZTAsMHgwOSwweGZmLDB4MDAgfSwKLSAgMTYsIDB4ZGU1MCwgMCwgezB4MzIsMHg0MCwweDA4LDB4YTAsMHgwYiwweDM0LDB4MDAsMHhlYiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ODAsMHgwMywweDI4LDB4ODAgfSwKLSAgMTYsIDB4ZGU2MCwgMCwgezB4YzcsMHgwMCwweDNmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGU3MCwgMCwgezB4YTAsMHgxNSwweGQwLDB4MDAsMHhlYywweDIwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwYiwweGZjLDB4MTAsMHhmZiwweDAxLDB4M2YgfSwKLSAgMTYsIDB4ZGU4MCwgMCwgezB4YzAsMHgwZiwweGUwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmNCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ZGU5MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4NGYsMHhjMCwweDAxLDB4ZjAsMHgwOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZGVhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4Y2MsMHg5MCwweDM3LDB4MjAgfSwKLSAgMTYsIDB4ZGViMCwgMCwgezB4MGUsMHhmMCwweDEzLDB4YmQsMHgwNCwweGQ0LDB4YzEsMHgzMywweDJjLDB4NGMsMHhkOSwweDIzLDB4MzIsMHg2MCwweGZmLDB4MjAgfSwKLSAgMTYsIDB4ZGVjMCwgMCwgezB4M2QsMHhlMCwweDRmLDB4YzEsMHgwMywweGI2LDB4NDAsMHhjZCwweDAwLDB4MzcsMHhlMCwweDBjLDB4ZTIsMHg4YiwweDEwLDB4YzAgfSwKLSAgMTYsIDB4ZGVkMCwgMCwgezB4Y2QsMHgwMCwweDMzLDB4YzYsMHgwZiwweGQ4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGVlMCwgMCwgezB4ODAsMHgxMCwweGVlLDB4MDgsMHg4YSwweDIwLDB4MjIsMHgwMCwweDA4LDB4YjcsMHgwMiwweDJkLDB4MDAsMHg4YSwweDAwLDB4YjYgfSwKLSAgMTYsIDB4ZGVmMCwgMCwgezB4M2MsMHgwOCwweDk5LDB4MDIsMHgyNywweDg0LDB4YmYsMHg2OCwweDJlLDB4ODIsMHgwYiwweDAxLDB4MDIsMHgyNCwweDQwLDB4ZDkgfSwKLSAgMTYsIDB4ZGYwMCwgMCwgezB4NDIsMHgyMCwweGMwLDB4OGEsMHhhYywweDAyLDB4MmQsMHhjMiwweDgyLDB4NDgsMHhhMiwweGQwLDB4MGIsMHg4MiwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZGYxMCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4ODgsMHgwNCwweDI2LDB4ODAgfSwKLSAgMTYsIDB4ZGYyMCwgMCwgezB4MmEsMHgzMCwweGMyLDB4YTUsMHg4MCwweGE5LDB4MjEsMHgyOCwweDAwLDB4OGEsMHgwMCwweDAyLDB4MDAsMHgwMCwweGEzLDB4MTAgfSwKLSAgMTYsIDB4ZGYzMCwgMCwgezB4MmMsMHhjOCwweDBiLDB4MDAsMHgwMiwweGM0LDB4OTAsMHg4MywweDQyLDB4MjQsMHhjMSwweDA4LDB4MDAsMHgwMiwweDQwLDB4ODggfSwKLSAgMTYsIDB4ZGY0MCwgMCwgezB4YTMsMHg2MCwweGE4LDB4YzAsMHgwYiwweDAwLDB4YzIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGY1MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDYsMHg4YSwweDAwLDB4MjIsMHhlMCwweDQ4LDB4YjAsMHgwMiwweDJlLDB4MDIsMHhhYiwweDgwLDB4MmUgfSwKLSAgMTYsIDB4ZGY2MCwgMCwgezB4MjAsMHg0YSwweDhjLDB4MDIsMHgyNiwweDIwLDB4YmIsMHgwMCwweDZlLDB4ODAsMHgwYiwweDMwLDB4YzIsMHg0NiwweDA0LDB4OWIgfSwKLSAgMTYsIDB4ZGY3MCwgMCwgezB4MGEsMHhhMiwweGMwLDB4MGEsMHg4MCwweDEyLDB4NmMsMHg0MCwweGE4LDB4MDAsMHgyYSwweGMwLDB4MGIsMHg4YywweDAyLDB4MzAgfSwKLSAgMTYsIDB4ZGY4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzEsMHgwOSwweDM2LDB4NjEgfSwKLSAgMTYsIDB4ZGY5MCwgMCwgezB4MGUsMHgzMiwweDAzLDB4YWIsMHgyMCwweGY4LDB4ODQsMHgzYSwweDc4LDB4MmUsMHg5OCwweDAzLDB4MjYsMHgwMCwweGViLDB4MDAgfSwKLSAgMTYsIDB4ZGZhMCwgMCwgezB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweGUyLDB4MDAsMHhjOSwweDQwLDB4MzYsMHhlMCwweDBjLDB4YjQsMHgwMywweDZlLDB4MDAgfSwKLSAgMTYsIDB4ZGZiMCwgMCwgezB4ZWIsMHgwMCwweDNhLDB4YzAsMHgwZiwweDg4LDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGZjMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZmEsMHgxMywweGY4LDB4MTAsMHhkYywweDA0LDB4MjcgfSwKLSAgMTYsIDB4ZGZkMCwgMCwgezB4NDAsMHgwZCwweDUwLDB4NDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQ5LDB4MDMsMHhiMCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZGZlMCwgMCwgezB4MDEsMHgzZiwweGYwLDB4MGYsMHhmMCwweDIzLDB4YjIsMHgwMCwweGQ0LDB4YTAsMHgzNywweGMwLDB4MGYsMHhjMCwweDBiLDB4ZjggfSwKLSAgMTYsIDB4ZGZmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDIwLDB4ZWIsMHgxMCwweGYyLDB4MDAgfSwKLSAgMTYsIDB4ZTAwMCwgMCwgezB4MGUsMHhiNCwweDAzLDB4MjEsMHg4MCwweGM5LDB4NDAsMHgzYSwweDQ4LDB4MGYsMHg5MCwweDEzLDB4ZTEsMHgyMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ZTAxMCwgMCwgezB4M2UsMHhjMCwweDBjLDB4ODQsMHgwMywweDI0LDB4MDAsMHhmYiwweDAxLDB4MzYsMHhlMCwweDBjLDB4NzQsMHgwYiwweDljLDB4MDAgfSwKLSAgMTYsIDB4ZTAyMCwgMCwgezB4Y2YsMHgwMCwweDMyLDB4ZTAsMHgwZiwweDg0LDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTAzMCwgMCwgezB4YzgsMHgwNSwweDFlLDB4MDAsMHg4YiwweDgwLDB4MjAsMHg0MCwweDA4LDB4YjgsMHgwMiwweDgzLDB4ODAsMHg4MSwweGEwLDB4MjIgfSwKLSAgMTYsIDB4ZTA0MCwgMCwgezB4NzgsMHgwYiwweDkxLDB4ODMsMHhlMywweDAwLDB4YmYsMHgwMCwweDBlLDB4YzEsMHgwYSwweGI0LDB4MDMsMHg2NCwweDA0LDB4YjkgfSwKLSAgMTYsIDB4ZTA1MCwgMCwgezB4NTAsMHgzMiwweGMwLDB4MGEsMHhiMiwweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMywweGQ0LDB4MGIsMHg4OCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ZTA2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDQyLDB4YTAsMHg4MCwweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZTA3MCwgMCwgezB4NDgsMHgwMCwweDAyLDB4MGQsMHgwNiwweDgwLDB4ODAsMHgyYSwweGQwLDB4MDMsMHgwMCwweDAyLDB4YzgsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4ZTA4MCwgMCwgezB4MmMsMHhjMCwweDA4LDB4MzYsMHgwMiwweDQwLDB4MDAsMHhiOSwweDAyLDB4MjIsMHhjMiwweDhiLDB4MjYsMHgwMiwweDBjLDB4MTAgfSwKLSAgMTYsIDB4ZTA5MCwgMCwgezB4MDEsMHgwMiwweDI0LDB4YzAsMHg0YiwweGExLDB4MDIsMHhmOCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBhMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDgsMHg4ZSwweDgwLDB4MjEsMHgyMSwweDA4LDB4MjgsMHhjMiwweDllLDB4MDAsMHg4ZSwweDgwLDB4MjEgfSwKLSAgMTYsIDB4ZTBiMCwgMCwgezB4NjAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDIwLDB4YjcsMHg4MiwweDJmLDB4YTEsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4YjUgfSwKLSAgMTYsIDB4ZTBjMCwgMCwgezB4OTEsMHhhMSwweGUwLDB4MGIsMHgyOSwweDAyLDB4MzIsMHg0NCwweDg2LDB4ODAsMHhhNSwweGUwLDB4MGIsMHg0YywweDAyLDB4YzggfSwKLSAgMTYsIDB4ZTBkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZTEsMHgwMCwweDIyLDB4ODAgfSwKLSAgMTYsIDB4ZTBlMCwgMCwgezB4MGUsMHgwMCwweDBiLDB4MjQsMHgwMCwweGMwLDB4NDQsMHgyOCwweGFkLDB4MGYsMHgyMCwweDAyLDB4YzgsMHgwMCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4ZTBmMCwgMCwgezB4MWMsMHhjMCwweDBjLDB4MDEsMHgwMywweDQ4LDB4NGMsMHhmMiwweDA0LDB4MzAsMHhjMCwweDBmLDB4MTUsMHgwMywweDgwLDB4NDAgfSwKLSAgMTYsIDB4ZTEwMCwgMCwgezB4YzEsMHgwMCwweDE0LDB4YzgsMHgwZiwweDAwLDB4MDMsMHhkYSwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTExMCwgMCwgezB4NDAsMHgxZCwweDljLDB4NDAsMHhmNywweDAwLDB4M2YsMHhjMCwweDhmLDB4YzAsMHgwMywweGU0LDB4MDAsMHhmYSwweDAxLDB4M2YgfSwKLSAgMTYsIDB4ZTEyMCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDA4LDB4ZmIsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDEsMHhmYywweDEwLDB4ZmYgfSwKLSAgMTYsIDB4ZTEzMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGUsMHhkMSwweDAzLDB4ZmMsMHg0MiwweGZlLDB4ODAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZTE0MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4YzgsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZTE1MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWUsMHgwOCwweGNiLDB4MDAsMHgzMiwweGMwLDB4MGYsMHhhMCwweDIzLDB4ZTYsMHgwMywweGNiLDB4NGMgfSwKLSAgMTYsIDB4ZTE2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YjAsMHgwNywweGU4LDB4MDAsMHhmOSwweDAwLDB4MTYsMHg0MCwweDBjLDB4YTAsMHgwYiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4ZTE3MCwgMCwgezB4Y2YsMHgwMiwweDMyLDB4YzUsMHgwYywweDgwLDB4MDMsMHgwMiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4ODAsMHg4NCwweDA0LDB4MmQsMHhjMSwweDBiLDB4NDAsMHg0MCwweGRjLDB4MDAsMHg4NywweDA0LDB4MjEgfSwKLSAgMTYsIDB4ZTE5MCwgMCwgezB4YzAsMHg0YiwweDcwLDB4MTIsMHhmYywweDAxLDB4OGYsMHg2MCwweDI5LDB4NDAsMHgwYiwweDcwLDB4MTMsMHg5YywweDAwLDB4YjUgfSwKLSAgMTYsIDB4ZTFhMCwgMCwgezB4MDAsMHhhMywweDQwLDB4MGEsMHg2MCwweDAyLDB4MDAsMHgwMCwweDg0LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg0MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZTFiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODcsMHg4MCwweDJkLDB4YTIgfSwKLSAgMTYsIDB4ZTFjMCwgMCwgezB4MGIsMHg0YywweDE2LDB4ZDYsMHgwOCwweDk3LDB4ODgsMHgyMSwweGEwLDB4NGIsMHg2OCwweDAyLDB4ZGUsMHgwNCwweGE3LDB4ODAgfSwKLSAgMTYsIDB4ZTFkMCwgMCwgezB4MjEsMHhlMCwweDBiLDB4NDgsMHgwMiwweGRhLDB4MDQsMHhiNiwweDgyLDB4MjUsMHg2MCwweDBhLDB4ZTgsMHg2MiwweDFlLDB4MDAgfSwKLSAgMTYsIDB4ZTFlMCwgMCwgezB4ODcsMHg4MCwweDIwLDB4ZTgsMHgwOCwweDQ4LDB4MDIsMHgwOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4YiwweDgwLDB4NmMsMHhmMCwweDBiLDB4M2MsMHgwMiwweGNlLDB4NDYsMHg5YiwweGMwLDB4MjAgfSwKLSAgMTYsIDB4ZTIwMCwgMCwgezB4ZTQsMHgwYiwweDNjLDB4MDIsMHhjYywweDIwLDB4YTMsMHgwMCwweDI4LDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg4ZCwweDgwLDB4YjEgfSwKLSAgMTYsIDB4ZTIxMCwgMCwgezB4ODAsMHgyMiwweDQ0LDB4MGEsMHgyMSwweDBhLDB4MDMsMHg4MiwweDgwLDB4ODAsMHhhMCwweGMwLDB4MDgsMHgwNiwweDBhLDB4MTIgfSwKLSAgMTYsIDB4ZTIyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAyLDB4Y2UsMHg4MCwweDNmLDB4YTAgfSwKLSAgMTYsIDB4ZTIzMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4ZmEsMHg0MCwweGRlLDB4YzAsMHhiMywweDkwLDB4MGYsMHhlYSwweDEzLDB4ZjksMHgwOCwweGVhLDB4MDQgfSwKLSAgMTYsIDB4ZTI0MCwgMCwgezB4MzMsMHg4MiwweDhmLDB4ZTQsMHgwMywweGZiLDB4MDgsMHhmZSwweGEwLDB4MzYsMHhhMCwweDBjLDB4YWMsMHgwYiwweDZiLDB4ODIgfSwKLSAgMTYsIDB4ZTI1MCwgMCwgezB4YzYsMHhhMCwweDMyLDB4ODAsMHgyYywweGU0LDB4MDMsMHgzYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDkwLDB4M2UsMHgwMiwweDBmLDB4ODAsMHg4MywweGUxLDB4MDAsMHhlOCwweDIwLDB4M2UgfSwKLSAgMTYsIDB4ZTI3MCwgMCwgezB4MDMsMHgwZiwweDgyLDB4MDMsMHhlMSwweDQwLDB4ZDgsMHgwMCwweDNlLDB4MjAsMHgwZiwweDAwLDB4OTMsMHhhMCwweDQwLDB4ZjggfSwKLSAgMTYsIDB4ZTI4MCwgMCwgezB4MDAsMHgzZSwweDEwLDB4OGYsMHgwOCwweDBiLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZTI5MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZTksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4ZTJhMCwgMCwgezB4MGYsMHg5NCwweDA3LDB4ZTYsMHgwMCwweGY5LDB4ODAsMHhiMCwweDQwLDB4MGMsMHg5NCwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZTJiMCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OTQsMHgwYiwweGE0LDB4MDAsMHg3MSwweGMwLDB4MzIsMHg0MCwweDJjLDB4OTQsMHgyMywweDI0LDB4MDIgfSwKLSAgMTYsIDB4ZTJjMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJkMCwgMCwgezB4ODAsMHgwNCwweDQ0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTgsMHgwMiwweGU2LDB4NjAsMHhiOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZTJlMCwgMCwgezB4NjAsMHgwYSwweDljLDB4MDIsMHhlNiwweDI0LDB4YjksMHgwNCwweDM2LDB4NDAsMHgwYiwweDk4LDB4MDAsMHgyNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTJmMCwgMCwgezB4ODAsMHhhMiwweDUyLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4NDAsMHgyMiwweDQwLDB4NjgsMHg5NCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZTMwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YTksMHgwMCwweDI2LDB4NDAgfSwKLSAgMTYsIDB4ZTMxMCwgMCwgezB4MDMsMHg5NCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MTAsMHgyMiwweDU1LDB4MDgsMHg5MCwweDIyLDB4ZTQsMHgwMCwweGIxLDB4MDAgfSwKLSAgMTYsIDB4ZTMyMCwgMCwgezB4MjYsMHg0MCwweDBiLDB4OTAsMHgwMCwweDJjLDB4MDksMHhiOSwweDAwLDB4MjIsMHg2MCwweDA4LDB4OTAsMHgwYSwweDFjLDB4MDQgfSwKLSAgMTYsIDB4ZTMzMCwgMCwgezB4OGQsMHgwOCwweGEwLDB4NDAsMHgwOCwweDEwLDB4ODIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM0MCwgMCwgezB4MDgsMHgwNCwweDA2LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg1MCwweDBiLDB4MTIsMHg0MiwweGM0LDB4ODAsMHhiMSwweDA0LDB4MjAgfSwKLSAgMTYsIDB4ZTM1MCwgMCwgezB4NTAsMHgwYSwweDE0LDB4MDIsMHhjNSwweDAwLDB4YjEsMHgyMiwweDI0LDB4NDAsMHgwYiwweDEyLDB4MjIsMHgwNCwweDAxLDB4YjEgfSwKLSAgMTYsIDB4ZTM2MCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MDgsMHgxMCwweDBhLDB4MTUsMHgwMCwweDg1LDB4NDAsMHgyOCwweDUwLDB4MDgsMHgxNCwweDBhLDB4MGEgfSwKLSAgMTYsIDB4ZTM3MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZTgsMHg1MCwweDM2LDB4MDAgfSwKLSAgMTYsIDB4ZTM4MCwgMCwgezB4MGYsMHg4NSwweDAyLDB4ZTEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHhhMCwweDIzLDB4ZTAsMHgxMCwweGY4LDB4NTAgfSwKLSAgMTYsIDB4ZTM5MCwgMCwgezB4YjIsMHgxNCwweDBmLDB4YTUsMHgwMywweGExLDB4NDgsMHhmYSwweDAwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDQgfSwKLSAgMTYsIDB4ZTNhMCwgMCwgezB4YzQsMHgwMiwweDMyLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNiMCwgMCwgezB4OTgsMHgxZCwweGU1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDEsMHgwMywweGQ0LDB4NDQsMHhmNSwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZTNjMCwgMCwgezB4NTEsMHgwZiwweGQ0LDB4MDMsMHhmNSwweDAwLDB4ZjksMHgxMCwweDNiLDB4NDAsMHgwZiwweGQxLDB4MDAsMHhmNSwweDEwLDB4ZjUgfSwKLSAgMTYsIDB4ZTNkMCwgMCwgezB4NDAsMHg3ZiwweDQwLDB4MGYsMHg1NCwweDJiLDB4ZTUsMHgwMCwweGY5LDB4NDAsMHgzNiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ZTNlMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDEwLDB4YmQsMHg0MCwweDMzLDB4NDAgfSwKLSAgMTYsIDB4ZTNmMCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MzcsMHg4MCwweGNkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGU5LDB4YTAgfSwKLSAgMTYsIDB4ZTQwMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4ZGUsMHgxNywweGE0LDB4MDgsMHhmZCwweGMwLDB4MzMsMHg0MSwweDhkLDB4ZGEsMHgxMywweDI2LDB4YTAgfSwKLSAgMTYsIDB4ZTQxMCwgMCwgezB4ZjksMHhhOCwweDMyLDB4NzgsMHgwYywweGI0LDB4MGIsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweGEwLDB4MzYsMHgyMCwweDBiLDB4OGEsMHg4MiwweGEyLDB4ODAsMHgyYSwweGE4LDB4MmUgfSwKLSAgMTYsIDB4ZTQzMCwgMCwgezB4MDAsMHgwYiwweDgwLDB4MTIsMHhlMCwweDA0LDB4YjgsMHhhMSwweDJlLDB4MjgsMHg0YSwweDhlLDB4MDIsMHgyYSwweGEwLDB4YmEgfSwKLSAgMTYsIDB4ZTQ0MCwgMCwgezB4YzAsMHgyMiwweDI4LDB4MDgsMHg4NSwweDAyLDB4MjEsMHgwOCwweGI4LDB4ZTgsMHhhMiwweDNjLDB4MDgsMHhjOCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZTQ1MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjksMHgwMCwweDIwLDB4NGEgfSwKLSAgMTYsIDB4ZTQ2MCwgMCwgezB4MGIsMHgxNCwweDAyLDB4MDUsMHg4MCwweDAxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwNCwweGExLDB4NGEgfSwKLSAgMTYsIDB4ZTQ3MCwgMCwgezB4MmUsMHg0MiwweDA4LDB4MTQsMHgwMiwweDg0LDB4MTAsMHhiMSwweDYwLDB4YTAsMHg0YSwweDA5LDB4MTAsMHgwMiwweDQ0LDB4MDAgfSwKLSAgMTYsIDB4ZTQ4MCwgMCwgezB4YjUsMHgwMSwweDI5LDB4NDAsMHgxOCwweGQyLDB4MDIsMHgxMiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDIxLDB4MjYsMHg0MCwweDBiLDB4OTYsMHgwMiwweGE0LDB4MTAsMHhhOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ZTRhMCwgMCwgezB4NDAsMHgwYiwweDk2LDB4MTIsMHhlNCwweDIwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwYSwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTRiMCwgMCwgezB4MDAsMHgyMiwweDQxLDB4MDgsMHg5OCwweDIyLDB4NjQsMHgwMCwweGI5LDB4MjAsMHgyYiwweDQxLDB4MjgsMHhkNCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ZTRjMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZjksMHhlMCwweDMyLDB4NTggfSwKLSAgMTYsIDB4ZTRkMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4MjYsMHg0MCwweGM5LDB4NDAsMHgzZSwweDU4LDB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAgfSwKLSAgMTYsIDB4ZTRlMCwgMCwgezB4NmUsMHg0MCwweDBjLDB4OWEsMHgwMiwweGE2LDB4MDAsMHhmOSwweDQ0LDB4MzIsMHg0MCwweDBkLDB4OWEsMHgwYiwweDY0LDB4ODQgfSwKLSAgMTYsIDB4ZTRmMCwgMCwgezB4ZjksMHgwMCwweGJhLDB4NDAsMHgwYywweDE4LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUwMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSwweDA0LDB4M2UgfSwKLSAgMTYsIDB4ZTUxMCwgMCwgezB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NjUsMHgwZiwweDk5LDB4ODEsMHhlNCwweDUwLDB4ZjkgfSwKLSAgMTYsIDB4ZTUyMCwgMCwgezB4MjAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5LDB4MDAsMHgzNCwweDQwLDB4MGYsMHg5MiwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZTUzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MTAgfSwKLSAgMTYsIDB4ZTU0MCwgMCwgezB4MGUsMHg4NCwweDAzLDB4NjAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDA4LDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgyOCwweGU4LDB4MDQgfSwKLSAgMTYsIDB4ZTU1MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODQsMHgwMywweDIxLDB4MWMsMHhmMCwweDQ4LDB4MzIsMHgwMCwweDBiLDB4MDAsMHgwMywweGUwLDB4MDIgfSwKLSAgMTYsIDB4ZTU2MCwgMCwgezB4YzAsMHgwMCwweDMyLDB4MDAsMHgwYywweGMwLDB4MGIsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU3MCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhiMiwweDg4LDB4MmUsMHg4MCwweDA4LDB4ZTAsMHgwMywweDdhLDB4ODAsMHg4ZSwweDAwLDB4MmYgfSwKLSAgMTYsIDB4ZTU4MCwgMCwgezB4YTAsMHgwYiwweGU4LDB4MDIsMHhmOSwweDEwLDB4YmEsMHgwMCwweDJjLDB4ODAsMHgyOCwweGU0LDB4MDIsMHgyOCwweDAwLDB4YmUgfSwKLSAgMTYsIDB4ZTU5MCwgMCwgezB4NDAsMHgyMywweGI4LDB4MDgsMHhlOCwweDAyLDB4ZTgsMHgwNCwweGNhLDB4MjAsMHhhMiwweDgwLDB4MDgsMHhlOCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4ZTVhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAxLDB4YjMsMHgwMCwweDJjLDB4NDAgfSwKLSAgMTYsIDB4ZTViMCwgMCwgezB4MDgsMHhiOCwweDQyLDB4NmMsMHgwMiwweDgzLDB4MDAsMHgyYywweGUwLDB4MGIsMHgzOCwweDAwLDB4Y2YsMHg0MCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4ZTVjMCwgMCwgezB4MmMsMHhjMCwweDA4LDB4YjQsMHgwYSwweDBjLDB4MDAsMHhiMywweDQwLDB4YTIsMHg4MiwweDBhLDB4MzksMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4ZTVkMCwgMCwgezB4OTMsMHg4MCwweGEwLDB4YzAsMHgyOSwweDIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVlMCwgMCwgezB4YTAsMHgwMSwweDFkLDB4MDAsMHhiNywweDAwLDB4MmQsMHg2NCwweDI4LDB4NzQsMHgwMiwweDQwLDB4MDAsMHg4NywweDA1LDB4MmQgfSwKLSAgMTYsIDB4ZTVmMCwgMCwgezB4OTAsMHgwYiwweDc0LDB4MDIsMHhkYywweDEwLDB4YjcsMHgzMCwweDJkLDB4YzgsMHgwOCwweDM0LDB4MDYsMHgxYywweDgwLDB4YjcgfSwKLSAgMTYsIDB4ZTYwMCwgMCwgezB4MDAsMHhhMSwweGMwLDB4MGEsMHg3MCwweDAyLDB4ZGUsMHg4MCwweDgzLDB4MDAsMHgwMSwweDAwLDB4MDksMHg2MCwweDgyLDB4MjAgfSwKLSAgMTYsIDB4ZTYxMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxYSwweDAwLDB4ZjcsMHg4MCwweDNkLDB4NjAgfSwKLSAgMTYsIDB4ZTYyMCwgMCwgezB4MGUsMHhkOCwweDBiLDB4NWUsMHgwMCwweGM3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg2OCwweDAzLDB4ZGUsMHgxMCwweGY3LDB4YTkgfSwKLSAgMTYsIDB4ZTYzMCwgMCwgezB4N2YsMHhlOCwweDQ4LDB4NzgsMHgwMywweDFmLDB4MzAsMHhmZiwweDk0LDB4MzMsMHhhMCwweDBlLDB4NzgsMHgwMywweGNmLDB4MjQgfSwKLSAgMTYsIDB4ZTY0MCwgMCwgezB4ZDYsMHg4MCwweGIxLDB4ZTAsMHgwZCwweGY4LDB4NDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY1MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhiYiwweDAwLDB4MGMsMHg0MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MDgsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZTY2MCwgMCwgezB4MDAsMHgwZiwweDkwLDB4NDEsMHhlYywweDAwLDB4ZmIsMHg2MSwweDdlLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ZTY3MCwgMCwgezB4NDAsMHgzZiwweDliLDB4MGMsMHhiMCwweDAzLDB4ZWQsMHg5MCwweGZhLDB4MDAsMHgzYywweDAwLDB4MGUsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZTY4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhkZSwweDAwLDB4ZWYsMHg4MCwweDMzLDB4NjAgfSwKLSAgMTYsIDB4ZTY5MCwgMCwgezB4MGQsMHhkOCwweDAzLDB4MzYsMHg0MCwweGVmLDB4OTAsMHgzZSwweGUwLDB4MGYsMHhmOSwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4ZTZhMCwgMCwgezB4MzMsMHhmZSwweDBjLDB4ZmEsMHgwMywweGZlLDB4MDAsMHhjZiwweDgwLDB4YjMsMHhlMCwweDBmLDB4ZjgsMHgwMywweGZlLDB4MDAgfSwKLSAgMTYsIDB4ZTZiMCwgMCwgezB4Y2QsMHg4MCwweDMzLDB4ZTAsMHgwZiwweGM4LDB4NDMsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4NSwweDA4LDB4MzUsMHg0MCwweDA4LDB4NzAsMHgwMywweDUyLDB4MjAsMHg4NywweDExLDB4MmMgfSwKLSAgMTYsIDB4ZTZkMCwgMCwgezB4ZWMsMHgwYiwweDcxLDB4MDIsMHhkMCwweDAwLDB4ZTcsMHgwMCwweDM1LDB4YzQsMHgwOCwweDc0LDB4MDIsMHhkYywweDQwLDB4ODcgfSwKLSAgMTYsIDB4ZTZlMCwgMCwgezB4MTAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg4MCwweDg1LDB4MDgsMHgyMSwweDAwLDB4MGIsMHg0MSwweDgyLDB4ZWEgfSwKLSAgMTYsIDB4ZTZmMCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDAwLDB4YWYsMHgwMCwweDIzLDB4NTAgfSwKLSAgMTYsIDB4ZTcwMCwgMCwgezB4MDksMHg1MCwweDAyLDB4MWMsMHg4MCwweGE3LDB4MDEsMHgyOSwweGMwLDB4MWIsMHg2MCwweDA2LDB4ZGMsMHg0MCwweGI3LDB4MTAgfSwKLSAgMTYsIDB4ZTcxMCwgMCwgezB4MjEsMHhjOCwweDRhLDB4NTIsMHgwMiwweGRjLDB4MDAsMHg4MywweDAwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRjLDB4MTMgfSwKLSAgMTYsIDB4ZTcyMCwgMCwgezB4ODQsMHgwMCwweDI1LDB4YzAsMHgwYiwweDU4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTczMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MSwweDgwLDB4MjQsMHg0MCwweDA4LDB4M2UsMHgwMiwweDZlLDB4MDAsMHg4OSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZTc0MCwgMCwgezB4YzAsMHgwYiwweGI0LDB4MDIsMHhjYSwweDgwLDB4YTMsMHgwMCwweDI0LDB4YzAsMHgwYSwweDA0LDB4MDIsMHhlYywweDQwLDB4ODIgfSwKLSAgMTYsIDB4ZTc1MCwgMCwgezB4MGEsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHgxMCwweDgwLDB4YzAsMHhhNCwweDAwLDB4MGIsMHgxYywweDAyLDB4YzggfSwKLSAgMTYsIDB4ZTc2MCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4NCwweDAwLDB4ZWIsMHg4MCwweDMzLDB4NDAgfSwKLSAgMTYsIDB4ZTc3MCwgMCwgezB4MGQsMHg4YywweDgzLDB4MjYsMHgwMCwweGU5LDB4YTAsMHgzZSwweDc4LDB4OGYsMHg5MCwweDgzLDB4ZTEsMHgwMCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4ZTc4MCwgMCwgezB4MzEsMHhkMSwweDBlLDB4ODQsMHgyMywweGZjLDB4MDAsMHhjYiwweDgyLDB4MzIsMHhjMCwweDhmLDB4YjAsMHgwMiwweGZkLDB4NDAgfSwKLSAgMTYsIDB4ZTc5MCwgMCwgezB4Y2IsMHg4MCwweGI2LDB4YzAsMHgwZiwweGE0LDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmOSwweDAxLDB4M2UgfSwKLSAgMTYsIDB4ZTdiMCwgMCwgezB4NDIsMHgwZiwweDkwLDB4MDMsMHhlNSwweDU0LDB4ZTMsMHgwMCwweDNlLDB4YzgsMHgwNSwweDkzLDB4MDMsMHhlYywweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ZTdjMCwgMCwgezB4YzEsMHgzZSwweGMwLDB4MGYsMHgyMCwweDAzLDB4Y2MsMHg0OCwweGYzLDB4MDgsMHgzYSwweDAwLDB4MGYsMHhhMCwweDQzLDB4ZTAgfSwKLSAgMTYsIDB4ZTdkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4Y2YsMHgwMCwweDNmLDB4NDAgfSwKLSAgMTYsIDB4ZTdlMCwgMCwgezB4MGYsMHgzMCwweDAxLDB4MmMsMHgwYSwweGNkLDB4MTAsMHgzMywweDAwLDB4MGYsMHhkMCwweDgzLDB4MTQsMHgwMCwweGNiLDB4MDIgfSwKLSAgMTYsIDB4ZTdmMCwgMCwgezB4MzMsMHhjMCwweDBjLDB4ZTEsMHgwMywweGVjLDB4MTAsMHhjZCwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgzMywweDNjLDB4MDAgfSwKLSAgMTYsIDB4ZTgwMCwgMCwgezB4ZWEsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4ODMsMHhjOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgxMCwgMCwgezB4ODEsMHgwNCwweDZlLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0MCwweDBiLDB4YmMsMHgwMiwweDJlLDB4MDAsMHgwYiwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZTgyMCwgMCwgezB4MzAsMHgwYiwweDljLDB4MDIsMHgyNywweDgwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGI4LDB4MDIsMHhlYywweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZTgzMCwgMCwgezB4YzAsMHgyMCwweGUwLDB4MDgsMHhhZSwweDAyLDB4MmMsMHgwOCwweDhhLDB4MDAsMHgyMiwweDAwLDB4MDgsMHhiMCwweDQyLDB4ZTggfSwKLSAgMTYsIDB4ZTg0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZSwweDAwLDB4OGIsMHgwNCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ZTg1MCwgMCwgezB4OGIsMHg4YywweDAyLDB4YWUsMHgxMCwweDg5LDB4MDAsMHgyMiwweDcwLDB4MGIsMHg4YywweDAyLDB4YTIsMHgwMCwweDhiLDB4MDEgfSwKLSAgMTYsIDB4ZTg2MCwgMCwgezB4MjIsMHhjMCwweDA4LDB4ODAsMHgwMiwweGVjLDB4MTAsMHg4MiwweDg4LDB4YTIsMHg3MCwweDA5LDB4YjgsMHgwMiwweDJjLDB4MDggfSwKLSAgMTYsIDB4ZTg3MCwgMCwgezB4ODksMHgwMCwweDIwLDB4YzAsMHgyOCwweDgwLDB4MjIsMHhlMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHg4MSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MjAsMHgwMiwweDgwLDB4MDAsMHg4MSwweDA0LDB4YTAgfSwKLSAgMTYsIDB4ZTg5MCwgMCwgezB4NTAsMHg0YiwweDAwLDB4MGEsMHg4MCwweDAwLDB4YTMsMHgwMSwweDJhLDB4YzEsMHgyMCwweDEwLDB4MDIsMHhjYywweDE0LDB4ODMgfSwKLSAgMTYsIDB4ZThhMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHgyMCwweDAyLDB4MGMsMHgwMCwweDgxLDB4MDAsMHhlMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZThiMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZThjMCwgMCwgezB4MGYsMHg5MCwweDBiLDB4YWMsMHg4MCwweGM5LDB4MDAsMHgzMiwweDEwLDB4MGYsMHg4MCwweDAzLDB4YTQsMHgwMCwweGNmLDB4MDIgfSwKLSAgMTYsIDB4ZThkMCwgMCwgezB4MzEsMHhjMCwweDBjLDB4ODAsMHgxMywweGZjLDB4MDIsMHhjZCwweDAwLDB4MzMsMHhjMCwweDJjLDB4OTAsMHgwMywweDNjLDB4MDIgfSwKLSAgMTYsIDB4ZThlMCwgMCwgezB4ZTgsMHgwMCwweGIyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDIsMHhmNSwweDAwLDB4M2QsMHg0MCwweDhmLDB4ZjAsMHgyMywweDZkLDB4MDAsMHhmZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZTkwMCwgMCwgezB4MDQsMHgwZiwweGMwLDB4MDMsMHg3MCwweDFjLDB4ZmYsMHgwMSwweDNmLDB4YzAsMHg0ZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQgfSwKLSAgMTYsIDB4ZTkxMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhlMCwweDBmLDB4ZmMsMHgxOCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZTkyMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4ZDcsMHgwMiwweDBmLDB4MzAgfSwKLSAgMTYsIDB4ZTkzMCwgMCwgezB4MGMsMHhmMiwweDAxLDB4N2UsMHgwNiwweDQ0LDB4MzAsMHgzZiwweDIwLDB4MGUsMHhmMCwweDAyLDB4N2MsMHg4NCwweGZkLDB4MjAgfSwKLSAgMTYsIDB4ZTk0MCwgMCwgezB4MjcsMHgwOCwweDBjLDB4ZDAsMHgwMSwweDM2LDB4MDAsMHhmZiwweDYwLDB4MzMsMHhjYywweDBiLDB4ZjEsMHgxMywweDJjLDB4YzQgfSwKLSAgMTYsIDB4ZTk1MCwgMCwgezB4ZmYsMHgzMCwweDBmLDB4Y2QsMHgwYywweGY0LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk2MCwgMCwgezB4ODAsMHgxMCwweGVlLDB4MDAsMHg4ZiwweGMwLDB4MmUsMHgwMCwweDA4LDB4ZmMsMHgwMiwweDJlLDB4MDAsMHg4YSwweDMwLDB4MjggfSwKLSAgMTYsIDB4ZTk3MCwgMCwgezB4NTIsMHgwOCwweGY2LDB4ODIsMHgzYywweDY4LDB4YmQsMHg5MCwweDMyLDB4MzQsMHg0OCwweDljLDB4MTIsMHgyNiwweDAwLDB4Y2YgfSwKLSAgMTYsIDB4ZTk4MCwgMCwgezB4NDAsMHgyMywweGNjLDB4MGIsMHhmNiwweDAyLDB4M2QsMHgwMCwweGJmLDB4MTAsMHgyZiwweGNjLDB4ODgsMHhmNiwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZTk5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4OTMsMHgxMCwweDJjLDB4MDggfSwKLSAgMTYsIDB4ZTlhMCwgMCwgezB4MDksMHgzMSwweDAyLDB4NGMsMHgwMCwweDliLDB4MjAsMHg2NCwweDU4LDB4MDMsMHgzMSwweDYyLDB4NGMsMHg4MSwweGExLDB4MDAgfSwKLSAgMTYsIDB4ZTliMCwgMCwgezB4MjAsMHgwMCwweDQ4LDB4MTQsMHgwMiwweDQ0LDB4MDAsMHg5MywweDMwLDB4MjQsMHhjMCwweDBiLDB4MzMsMHgwMiwweDhkLDB4ODQgfSwKLSAgMTYsIDB4ZTljMCwgMCwgezB4YjMsMHgyMCwweDZjLDB4YzAsMHgyYSwweDM2LDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTlkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHg5YiwweDAyLDB4MmUsMHg0MSwweDBiLDB4YjAsMHgwMiwweGE0LDB4MDAsMHg5YSwweDAwLDB4NGEgfSwKLSAgMTYsIDB4ZTllMCwgMCwgezB4NjAsMHg4OCwweGIwLDB4NTIsMHg2YywweDAxLDB4YjksMHgwMCwweDI2LDB4MDAsMHgwOCwweDkxLDB4MjIsMHhlYywweDA4LDB4YmIgfSwKLSAgMTYsIDB4ZTlmMCwgMCwgezB4MDAsMHgyNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDUsMHg2ZSwweGMxLDB4MGEsMHhiMCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4ZWEwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZGIsMHgwMSwweDNlLDB4MzAgfSwKLSAgMTYsIDB4ZWExMCwgMCwgezB4MmQsMHgzMCwweDAzLDB4NDcsMHg2MCwweGQ4LDB4YTAsMHgxNiwweDM4LDB4OGYsMHhiMCwweDAzLDB4NmMsMHgwMCwweDc5LDB4MDIgfSwKLSAgMTYsIDB4ZWEyMCwgMCwgezB4MzEsMHg2MCwweDBjLDB4YzgsMHgwYSwweDY2LDB4MDAsMHhiYiwweDAwLDB4YjYsMHhjMCwweDBmLDB4YjAsMHgwYiwweGFjLDB4MDAgfSwKLSAgMTYsIDB4ZWEzMCwgMCwgezB4ZmIsMHgwMSwweDNlLDB4YzEsMHgwZSwweGIwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MTAsMHhlZiwweDA4LDB4M2YsMHgyNCwweDBjLDB4ZjAsMHgwMywweDc2LDB4MjAsMHhlZSwweDkwLDB4MzUgfSwKLSAgMTYsIDB4ZWE1MCwgMCwgezB4NDAsMHgwZSwweDcwLDB4MDMsMHhhYywweDAwLDB4ZmQsMHgwMCwweGJiLDB4NjQsMHgwZiwweDg4LDB4MTMsMHgzNCwweDgwLDB4Y2IgfSwKLSAgMTYsIDB4ZWE2MCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MGYsMHhiMCwweDAzLDB4NmMsMHgwOCwweGZmLDB4MDAsMHgzZSwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4ZWE3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4ZmIsMHg4MCwweDMyLDB4MTAgfSwKLSAgMTYsIDB4ZWE4MCwgMCwgezB4MGUsMHhiMCwweDAzLDB4ZWQsMHgwMCwweGNiLDB4NTAsMHgzZSwweDQwLDB4OGMsMHhiMCwweDQzLDB4MmMsMHgxMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZWE5MCwgMCwgezB4MzIsMHg2MCwweDBjLDB4NDAsMHgwYiwweDI2LDB4MDAsMHhjMywweDA0LDB4MzYsMHhjMCwweDBjLDB4MzAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZWFhMCwgMCwgezB4OWIsMHgwMCwweGIwLDB4YzAsMHgwYywweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFiMCwgMCwgezB4YzgsMHgwNSwweDBlLDB4ODAsMHhiZiwweDA0LDB4MmEsMHg0MCwweDAwLDB4ZjUsMHgwMCwweGU2LDB4MDAsMHg4MiwweGQyLDB4MjIgfSwKLSAgMTYsIDB4ZWFjMCwgMCwgezB4NDAsMHgwZCwweGYwLDB4MjIsMHgzYywweDAwLDB4OTUsMHgwMiwweDM2LDB4NDAsMHgwYSwweDgwLDB4MDIsMHgyZSwweDAwLDB4OGYgfSwKLSAgMTYsIDB4ZWFkMCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGEsMHhmMCwweDQyLDB4M2MsMHgwMCwweDhmLDB4MDAsMHgyMywweGMwLDB4MjgsMHhmMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ZWFlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZSwweDAwLDB4YjMsMHgwMCwweDIyLDB4MjAgfSwKLSAgMTYsIDB4ZWFmMCwgMCwgezB4NGEsMHgzMCwweDAwLDB4Y2MsMHgwMCwweDgxLDB4YzAsMHgyOCwweDAwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgxMCwweGExLDB4MDAgfSwKLSAgMTYsIDB4ZWIwMCwgMCwgezB4MjgsMHg4MCwweDE4LDB4MzAsMHgyMiwweDA0LDB4MDQsMHg4MywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDggfSwKLSAgMTYsIDB4ZWIxMCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDYsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIyMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4MjksMHhhMCwweDA4LDB4NzgsMHgwMiwweGZlLDB4MjAsMHg4ZCwweDgwLDB4MjkgfSwKLSAgMTYsIDB4ZWIzMCwgMCwgezB4ZTUsMHg1YiwweDM4LDB4NDIsMHgxZSwweDQwLDB4YTEsMHg4MSwweDI1LDB4YTgsMHgwOCwweDc5LDB4MDIsMHgzNywweDAwLDB4ODcgfSwKLSAgMTYsIDB4ZWI0MCwgMCwgezB4ODAsMHgyNSwweGUwLDB4MGEsMHg3OCwweDBhLDB4ZGUsMHg4MSwweDg3LDB4ODAsMHgyNSwweGU1LDB4NDgsMHg3OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZWI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YjMsMHgxMCwweDMwLDB4MTIgfSwKLSAgMTYsIDB4ZWI2MCwgMCwgezB4MGUsMHgzMCwweDEyLDB4Y2MsMHhjMCwweGMzLDB4MDAsMHgzOCwweDgwLDB4MGMsMHgzMSwweDA2LDB4MGMsMHg0MCwweGYxLDB4MDAgfSwKLSAgMTYsIDB4ZWI3MCwgMCwgezB4MzgsMHg4MCwweDBjLDB4MzAsMHg0MywweDA0LDB4NDIsMHhjMywweDAwLDB4MzYsMHhjMCwweDBjLDB4MzIsMHgwMywweGNlLDB4YzAgfSwKLSAgMTYsIDB4ZWI4MCwgMCwgezB4ZGIsMHgwMCwweDMwLDB4YzAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI5MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDEwLDB4M2QsMHg4NCwweDRmLDB4ZjEsMHgwMywweGQwLDB4NDAsMHhmYywweDEwLDB4MzMgfSwKLSAgMTYsIDB4ZWJhMCwgMCwgezB4ODAsMHg1ZCwweGIxLDB4ODMsMHhmYywweDUwLDB4ZGQsMHgwYSwweDI1LDB4ODksMHgwZiwweGI4LDB4MDMsMHhkNCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ZWJiMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDAzLDB4M2MsMHg0MCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZWJjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgyMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ZWJkMCwgMCwgezB4MGYsMHhiNSwweDAzLDB4MjksMHgyMCwweGY5LDB4MDAsMHgzMiwweGEwLDB4MGMsMHhiMCwweDgzLDB4ZWMsMHgwMCwweDQ5LDB4YzggfSwKLSAgMTYsIDB4ZWJlMCwgMCwgezB4YjIsMHhjMCwweDhjLDB4YTAsMHgwMywweDY0LDB4MDAsMHhmYiwweDA4LDB4MTIsMHhlYSwweDBjLDB4YjAsMHgwYiwweDJjLDB4ODAgfSwKLSAgMTYsIDB4ZWJmMCwgMCwgezB4ZmIsMHgyMCwweDJlLDB4ZDIsMHg2YywweGI2LDB4NDMsMHhlYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDQ5LDB4MmQsMHgwMCwweDBiLDB4MzAsMHg4MiwweDEwLDB4MDEsMHhiNSwweDAyLDB4ODMgfSwKLSAgMTYsIDB4ZWMxMCwgMCwgezB4YzAsMHgxYSwweDcyLDB4MjIsMHhkZCwweDQxLDB4ODUsMHgwMCwweDYxLDB4YzAsMHgxOCwweDIwLDB4MjAsMHgxNCwweDAwLDB4YmYgfSwKLSAgMTYsIDB4ZWMyMCwgMCwgezB4NDAsMHgzNSwweGQwLDB4MGQsMHgzNCwweDAyLDB4MWQsMHgyMCwweGI3LDB4MjgsMHgyNSwweGMxLDB4MDgsMHg3NCwweDgyLDB4ZDIgfSwKLSAgMTYsIDB4ZWMzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDA0LDB4MzcsMHhhMCwweDJkLDB4MjAgfSwKLSAgMTYsIDB4ZWM0MCwgMCwgezB4MGIsMHg3YSwweDEyLDB4MTYsMHgwMSwweGIzLDB4ODAsMHgyMSwweGUyLDB4MDgsMHg3OCwweDQyLDB4OWUsMHgwMCwweDg1LDB4ODAgfSwKLSAgMTYsIDB4ZWM1MCwgMCwgezB4MjAsMHhlMSwweDE4LDB4NjgsMHgwMiwweDU2LDB4MDAsMHhiNywweGEwLDB4MjUsMHhlMCwweDA4LDB4N2EsMHgwMiwweDFlLDB4MDAgfSwKLSAgMTYsIDB4ZWM2MCwgMCwgezB4YjcsMHg5MCwweDJjLDB4ZTUsMHg4OCwweDdhLDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM3MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4NmMsMHgyNCwweDFiLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZWM4MCwgMCwgezB4ZjgsMHgwYSwweDMwLDB4MDIsMHhjYywweDAwLDB4ODEsMHgwMCwweDIwLDB4ZDgsMHgxOCwweDIwLDB4MDIsMHgwNCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4ZWM5MCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNiwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ZWNhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNkLDB4ODAgfSwKLSAgMTYsIDB4ZWNiMCwgMCwgezB4MGYsMHgyMCwweDBiLDB4MjgsMHg4MCwweGZlLDB4MDAsMHgzMywweGEwLDB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMiwweGNhLDB4MDIgfSwKLSAgMTYsIDB4ZWNjMCwgMCwgezB4MzIsMHg5MCwweDJjLDB4ZTQsMHgwMywweDc4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAgfSwKLSAgMTYsIDB4ZWNkMCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwYywweGEwLDB4MDMsMHhmYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNlMCwgMCwgezB4NDgsMHgwMCwweGUxLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGUwLDB4ODAsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZWNmMCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MjMsMHhjMCwweDAwLDB4ZjgsMHgwMiwweDNjLDB4MDAsMHgwZiwweGMwLDB4ODMsMHg2MCwweDAwLDB4YjggfSwKLSAgMTYsIDB4ZWQwMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDIzLDB4ZTAsMHgxOCwweGY4LDB4MDEsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZWQxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNiwweDAwLDB4ZjksMHgyMSwweDMyLDB4NjAgfSwKLSAgMTYsIDB4ZWQyMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MmMsMHg0NCwweGY5LDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDFiLDB4MjQsMHgwMCwweGU5LDB4MDAgfSwKLSAgMTYsIDB4ZWQzMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4MTAsMHgzMywweDI0LDB4MTAgfSwKLSAgMTYsIDB4ZWQ0MCwgMCwgezB4ZjEsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ1MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg0MSwweDA4LDB4OTAsMHgwMiwweDI0LDB4ODAsMHhlOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZWQ2MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDEsMHgxOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZWQ3MCwgMCwgezB4MDQsMHgyYSwweDQxLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDgwLDB4YjksMHg0MiwweDYyLDB4NDggfSwKLSAgMTYsIDB4ZWQ5MCwgMCwgezB4MjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHgxMCwweDAyLDB4MjQsMHgxMCwweGI5LDB4MDIgfSwKLSAgMTYsIDB4ZWRhMCwgMCwgezB4MmUsMHg0MCwweDA4LDB4ZDAsMHgwMiwweGE0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDQgfSwKLSAgMTYsIDB4ZWRiMCwgMCwgezB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRjMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMSwweDIwLDB4NjAsMHg0MCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDAsMHhhMSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4ZWRkMCwgMCwgezB4NDAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4OTEsMHgyMCwweDJkLDB4NjgsMHgwOCwweDUyLDB4MTIsMHgwNCwweDAwLDB4YjEgfSwKLSAgMTYsIDB4ZWRlMCwgMCwgezB4MjgsMHgyOCwweDRhLDB4MDksMHgxMiwweDgyLDB4NDQsMHhhMCwweGIxLDB4MmMsMHgyOCwweDRhLDB4MGEsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4ZWRmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MTQgfSwKLSAgMTYsIDB4ZWUwMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGY4LDB4NTAsMHgzMiwweDE0LDB4MGYsMHg4NSwweDAzLDB4MDEsMHg0MCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ZWUxMCwgMCwgezB4MmUsMHgwMCwweDI4LDB4YzAsMHgwMywweGEwLDB4MDAsMHhmOCwweDI0LDB4MzAsMHgwOCwweDBmLDB4ODIsMHgyMywweDIwLDB4ODAgfSwKLSAgMTYsIDB4ZWUyMCwgMCwgezB4ZjgsMHgyMCwweDMyLDB4MDgsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUzMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4MDgsMHhmOSwweDEwLDB4M2YsMHg0MCwweDhmLDB4OTEsMHgxMywweGU0LDB4MDAsMHhlZCwweDEwLDB4M2YgfSwKLSAgMTYsIDB4ZWU0MCwgMCwgezB4NTAsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4YTUsMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDA0LDB4ZjkgfSwKLSAgMTYsIDB4ZWU1MCwgMCwgezB4MjgsMHgzZSwweDRiLDB4MGIsMHg5MiwweGEzLDB4ZTQsMHhhMCwweGU5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ZWU2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NDAgfSwKLSAgMTYsIDB4ZWU3MCwgMCwgezB4ODAsMHhkMCwweDAxLDB4ZjQsMHgwMCwweGE1LDB4MDAsMHgyNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjYsMHgwMCwweGYxLDB4ODggfSwKLSAgMTYsIDB4ZWU4MCwgMCwgezB4M2UsMHg2OCwweDBkLDB4OTgsMHg4MywweDQ0LDB4MDAsMHhjOSwweGMwLDB4M2EsMHg0MCwweDBjLDB4OTgsMHgwMywweDI0LDB4MDggfSwKLSAgMTYsIDB4ZWU5MCwgMCwgezB4ZjksMHhhMCwweDMyLDB4NzgsMHgwZiwweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDIsMHg4OCwweDAwLDB4YTIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHgwYSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZWViMCwgMCwgezB4MDAsMHgwYiwweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHg0MCwweDJlLDB4MTQsMHgwOCwweDgwLDB4NDMsMHgzMCwweDAwLDB4ODggfSwKLSAgMTYsIDB4ZWVjMCwgMCwgezB4YTAsMHgyMiwweDJhLDB4MGEsMHg4YSwweDQyLDB4YTAsMHgwNSwweGI4LDB4NDIsMHgzMiwweDM4LDB4MGIsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZWVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAzLDB4OTEsMHgwMCwweDI0LDB4NDAgfSwKLSAgMTYsIDB4ZWVlMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgxMSwweGIxLDB4MDQsMHgyMCwweDQxLDB4MWIsMHgxMCwweDIyLDB4NDUsMHgwMCwweGI1LDB4MDAgfSwKLSAgMTYsIDB4ZWVmMCwgMCwgezB4MjUsMHg0MCwweDA5LDB4NTAsMHgwMiwweDU0LDB4MDEsMHg4MSwweDQwLDB4MmMsMHg0MCwweDA5LDB4MTQsMHg5MiwweDQ0LDB4MDAgfSwKLSAgMTYsIDB4ZWYwMCwgMCwgezB4YjEsMHg0MCwweDI0LDB4NGMsMHgwYiwweDE0LDB4MGEsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWYxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg5OSwweDAwLDB4MjQsMHg0MiwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDEsMHg5OSwweDIwLDB4MjYgfSwKLSAgMTYsIDB4ZWYyMCwgMCwgezB4NDAsMHhjYiwweDkwLDB4MDIsMHg2NCwweDAwLDB4YmIsMHgwMCwweDJmLDB4NDEsMHgwYSwweGQwLDB4MDIsMHgzNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZWYzMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGIsMHgxMCwweDAyLDB4ZTQsMHgwMCwweDMxLDB4MDAsMHg2MiwweDQwLDB4MGIsMHg5MCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4ZWY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNCwweDAwLDB4ZDksMHgwMSwweDM2LDB4NTAgfSwKLSAgMTYsIDB4ZWY1MCwgMCwgezB4MmYsMHg5MCwweDAzLDB4ZTYsMHg2MCwweGY5LDB4ODAsMHgzNiwweDUyLDB4MGIsMHg5MCwweDBhLDB4NjQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZWY2MCwgMCwgezB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDIsMHgwOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAgfSwKLSAgMTYsIDB4ZWY3MCwgMCwgezB4YjksMHgwMCwweGI2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhlMSwweDAwLDB4M2EsMHg0MSwweDBjLDB4OTAsMHgyMywweGU2LDB4MjAsMHhlOSwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ZWY5MCwgMCwgezB4NzAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZCwweDEwLDB4MTMsMHhhNywweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZWZhMCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MGUsMHg5MCwweDQzLDB4YTQsMHgwOCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4ZWZiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDIwLDB4ZjgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZWZjMCwgMCwgezB4MGYsMHg4MCwweDgzLDB4MjEsMHgwMCwweGYwLDB4MDAsMHgzYSwweDExLDB4MDksMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDEgfSwKLSAgMTYsIDB4ZWZkMCwgMCwgezB4MzAsMHgwMSwweDBjLDB4ODAsMHgwMywweGIwLDB4MDAsMHhkMCwweDAwLDB4MzQsMHgwMCwweDBkLDB4ODAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZWZlMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhiZSwweDAwLDB4MjIsMHg4MCwweDAzLDB4ZTgsMHgwMiwweDFhLDB4MDgsMHhiZSwweDQ4LDB4MjIgfSwKLSAgMTYsIDB4ZjAwMCwgMCwgezB4ODAsMHgwYSwweGEwLDB4MDMsMHhiOCwweDAwLDB4Y2EsMHgwOCwweDIyLDB4ODAsMHgwZiwweGE0LDB4MDIsMHgwOCwweDAwLDB4OGEgfSwKLSAgMTYsIDB4ZjAxMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4OGQsMHhhMCwweDAyLDB4MjgsMHgwMCwweGRhLDB4MDAsMHgyYSwweDgxLDB4MDgsMHhhMCwweDAyLDB4OGEgfSwKLSAgMTYsIDB4ZjAyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NCwweDAwLDB4YjMsMHgwMCwweDIwLDB4NDAgfSwKLSAgMTYsIDB4ZjAzMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MDgsMHgwMCwweGIwLDB4NjQsMHg2OCwweGMxLDB4MDgsMHhiMCwweDIyLDB4Y2MsMHgwYywweDkzLDB4ODAgfSwKLSAgMTYsIDB4ZjA0MCwgMCwgezB4MDAsMHhjMCwweDQ4LDB4MzYsMHgwMiwweDg4LDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwNiwweDBjLDB4MDEgfSwKLSAgMTYsIDB4ZjA1MCwgMCwgezB4YTMsMHgwMiwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA2MCwgMCwgezB4YTAsMHgwMSwweDE0LDB4MDgsMHhiNSwweDAwLDB4MjEsMHg0MCwweDBiLDB4MzgsMHg4MiwweDFjLDB4MjEsMHhiNywweDAwLDB4MjMgfSwKLSAgMTYsIDB4ZjA3MCwgMCwgezB4ZTgsMHg0YSwweDcyLDB4MjYsMHg5ZSwweDQwLDB4OGYsMHg4MSwweGFiLDB4NDAsMHg0MiwweDcwLDB4NTIsMHgzOCwweDAwLDB4YTMgfSwKLSAgMTYsIDB4ZjA4MCwgMCwgezB4MjIsMHgyMCwweGM0LDB4NDksMHgzMSwweDAyLDB4MWUsMHgwYSwweGI3LDB4MjIsMHgyZCwweGU4LDB4MDgsMHg3MiwweDAyLDB4YTggfSwKLSAgMTYsIDB4ZjA5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZjYsMHg4MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4ZjBhMCwgMCwgezB4MGIsMHg3OCwweDBiLDB4MWUsMHgwMCwweGI0LDB4ODIsMHgzYiwweGU4LDB4NGMsMHg3YywweDEzLDB4ZmUsMHgwMiwweDk3LDB4ODAgfSwKLSAgMTYsIDB4ZjBiMCwgMCwgezB4MzMsMHhhMCwweDA4LDB4MzgsMHgwMywweDlhLDB4MDAsMHhmNywweDg4LDB4MzUsMHhlMiwweDBjLDB4NzgsMHhlMywweDBlLDB4MDAgfSwKLSAgMTYsIDB4ZjBjMCwgMCwgezB4ZTMsMHhlOCwweDM0LDB4ZjgsMHgwYywweDNjLDB4MjMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBkMCwgMCwgezB4MDgsMHgxZCwweGE4LDB4MDQsMHhmMSwweDAwLDB4M2UsMHg0MiwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhmYiwweDAwLDB4YmUgfSwKLSAgMTYsIDB4ZjBlMCwgMCwgezB4Y2MsMHgxZSwweGI2LDB4MDcsMHhlZCwweDgwLDB4ZmIsMHgwMCwweDM2LDB4MDAsMHgwZiwweGIwLDB4NDMsMHg2OCwweDAwLDB4Y2IgfSwKLSAgMTYsIDB4ZjBmMCwgMCwgezB4MzAsMHgzZSwweGQ4LDB4MGYsMHhiNiwweDBiLDB4ZWQsMHg0MCwweGNiLDB4MDAsMHgzYSwweGMwLDB4MmYsMHhiNiwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZjEwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmMiwweDQwLDB4ZmIsMHg5MSwweDNkLDB4NGMgfSwKLSAgMTYsIDB4ZjExMCwgMCwgezB4ODAsMHhmOCwweDAzLDB4ZGUsMHg0MCwweGM2LDB4ODAsMHgxYiwweGYwLDB4NGYsMHhmZCwweDA3LDB4ZmYsMHgwMCwweGNkLDB4ODAgfSwKLSAgMTYsIDB4ZjEyMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4NjgsMHgwMywweGJhLDB4MDAsMHhmZiwweDgwLDB4MzMsMHhlMCwweDA3LDB4ZjgsMHgwMywweDNmLDB4MTAgfSwKLSAgMTYsIDB4ZjEzMCwgMCwgezB4Y2YsMHg4MCwweDNmLDB4ZTAsMHgwYywweGZjLDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE0MCwgMCwgezB4YTgsMHgxMSwweDkwLDB4MDAsMHhiNSwweGMwLDB4MmQsMHg0MCwweDA4LDB4NjIsMHgwMiwweGRjLDB4MjAsMHhkNiwweDAyLDB4MjEgfSwKLSAgMTYsIDB4ZjE1MCwgMCwgezB4YzgsMHg4ZiwweDcwLDB4MDIsMHhkYywweDgxLDB4YjUsMHgwMCwweDgxLDB4NDQsMHgwZCwweDYxLDB4MjIsMHgxOCwweDA0LDB4YjcgfSwKLSAgMTYsIDB4ZjE2MCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MGIsMHg3MCwweDAyLDB4YmMsMHgwMCwweGE3LDB4MDEsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAzLDB4ZWEgfSwKLSAgMTYsIDB4ZjE3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAxLDB4YjYsMHgwMSwweDJmLDB4YzAgfSwKLSAgMTYsIDB4ZjE4MCwgMCwgezB4MTgsMHg3MCwweDAyLDB4ZGMsMHgwYSwweDk2LDB4MTAsMHgyOSwweGMxLDB4NGIsMHg3MCwweDA2LDB4ZGMsMHgxMCwweDg1LDB4MDAgfSwKLSAgMTYsIDB4ZjE5MCwgMCwgezB4MjUsMHg4MCwweDA4LDB4NjAsMHg4MiwweDFhLDB4MjAsMHhhMywweDAwLDB4MjUsMHhjMCwweDBiLDB4MzEsMHgwMiwweDVjLDB4NDAgfSwKLSAgMTYsIDB4ZjFhMCwgMCwgezB4ODcsMHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFiMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDg4LDB4MjAsMHgwMiwweGVkLDB4MDAsMHg4YSwweDYwLDB4MjAgfSwKLSAgMTYsIDB4ZjFjMCwgMCwgezB4YzAsMHgwYSwweDMwLDB4MDIsMHhjYywweDA0LDB4YjEsMHgwMCwweDI0LDB4MDAsMHgyOCwweDI0LDB4MDIsMHgwYSwweDAwLDB4MzMgfSwKLSAgMTYsIDB4ZjFkMCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDAsMHgyYywweGMwLDB4ODgsMHgzMCwweDAyLDB4ODggfSwKLSAgMTYsIDB4ZjFlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzYgfSwKLSAgMTYsIDB4ZjFmMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4ZTUsMHgwMCwweDA5LDB4YzgsMHhhYiwweGUyLDB4MGIsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDRhLDB4MDAgfSwKLSAgMTYsIDB4ZjIwMCwgMCwgezB4MzYsMHhjMCwweDA4LDB4OTAsMHgwMywweGE2LDB4MDAsMHhmZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweDdjLDB4MDAgfSwKLSAgMTYsIDB4ZjIxMCwgMCwgezB4OGYsMHgwMCwweDJmLDB4YzAsMHgyOCwweGYwLDB4MDIsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIyMCwgMCwgezB4ODAsMHgwMCwweGUxLDB4MDAsMHhmYSwweDAxLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmOSwweDQwLDB4M2UgfSwKLSAgMTYsIDB4ZjIzMCwgMCwgezB4YzAsMHgwNywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEsMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhlNSwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ZjI0MCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTAgfSwKLSAgMTYsIDB4ZjI1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4ZmMsMHgyMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4ZjI2MCwgMCwgezB4MGMsMHhjOCwweDAzLDB4ZmMsMHgyMCwweGNkLDB4ODEsMHhiMywweGMyLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4ZjI3MCwgMCwgezB4M2MsMHg4MCwweDBjLDB4ZDAsMHg4MiwweDM2LDB4MDEsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDggfSwKLSAgMTYsIDB4ZjI4MCwgMCwgezB4Y2YsMHgwNCwweDNhLDB4YzAsMHg1YywweGIwLDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI5MCwgMCwgezB4ODEsMHgwNCwweDYyLDB4MDQsMHhiOCwweDQwLDB4MmMsMHg2MCwweDA4LDB4ODksMHgwMiwweGVlLDB4ODAsMHhhOSwweDYwLDB4MmEgfSwKLSAgMTYsIDB4ZjJhMCwgMCwgezB4YzAsMHgwYiwweGIwLDB4MDMsMHg4YywweDAwLDB4YWEsMHg0MCwweDJlLDB4MDAsMHgwOCwweDEwLDB4MDIsMHgyNiwweDgxLDB4ZWIgfSwKLSAgMTYsIDB4ZjJiMCwgMCwgezB4MDAsMHgyNiwweGMwLDB4OGIsMHhiMCwweDEzLDB4NmMsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4M2QsMHhiMCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZjJjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMywweDAwLDB4YmIsMHgwMywweDJlLDB4YzggfSwKLSAgMTYsIDB4ZjJkMCwgMCwgezB4MDksMHhiMCwweDAyLDB4ZWUsMHgwMCwweDhiLDB4MTAsMHgyNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGE4LDB4MDAgfSwKLSAgMTYsIDB4ZjJlMCwgMCwgezB4MmUsMHhjMCwweDA4LDB4ODgsMHgyMiwweGE0LDB4ODAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDRiLDB4YjAsMHgyMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4ZjJmMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMwMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHhiMiwweDAwLDB4MmUsMHhjMCwweDI5LDB4MjgsMHgwMiwweGVjLDB4MDEsMHhhMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjMxMCwgMCwgezB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDAwLDB4YTAsMHgwMCwweDJjLDB4NDAsMHgwOCwweDAwLDB4NDIsMHg4NCwweDAwLDB4OTMgfSwKLSAgMTYsIDB4ZjMyMCwgMCwgezB4MDAsMHg2YywweGMwLDB4MGIsMHgzMCwweDA2LDB4NGQsMHgwMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZjMzMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgyMCwweDJmLDB4YzAgfSwKLSAgMTYsIDB4ZjM0MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzMywweGMwLDB4MGIsMHhmMCwweDAzLDB4ZmMsMHgxOCwweGU4LDB4MDAgfSwKLSAgMTYsIDB4ZjM1MCwgMCwgezB4MmUsMHg4MCwweDA4LDB4ODAsMHgwMywweGE0LDB4MDAsMHhiZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweDNkLDB4MTEgfSwKLSAgMTYsIDB4ZjM2MCwgMCwgezB4Y2YsMHgwMywweDNlLDB4YzEsMHg1ZCwweGYwLDB4MjMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM3MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDEwLDB4M2YsMHg0MCwweDBlLDB4ZTAsMHgwMywweGZjLDB4MDAsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZjM4MCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgyZiwweGMwLDB4MDMsMHg3NCwweDAwLDB4ZWYgfSwKLSAgMTYsIDB4ZjM5MCwgMCwgezB4MDAsMHgyNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgxOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZjNhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhmYywweDg4LDB4OWMsMHgyOSwweDNmLDB4MDggfSwKLSAgMTYsIDB4ZjNiMCwgMCwgezB4MGYsMHhkMiwweDgzLDB4ZWMsMHgwMCwweGZmLDB4MDgsMHgzZiwweDI4LDB4MGYsMHhjYSwweDAzLDB4M2MsMHg0MSwweGNmLDB4MjAgfSwKLSAgMTYsIDB4ZjNjMCwgMCwgezB4NzMsMHgyYywweDBjLDB4YzAsMHgwMywweDMwLDB4MjAsMHhjZiwweDYwLDB4MzMsMHhkOCwweDBmLDB4NzgsMHgwMywweDNmLDB4ODAgfSwKLSAgMTYsIDB4ZjNkMCwgMCwgezB4ZGQsMHg5MiwweDMzLDB4YzgsMHgwZiwweDUwLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNlMCwgMCwgezB4ODAsMHgxMCwweGU1LDB4NDAsMHg4OCwweDQwLDB4MmUsMHgwNCwweDhiLDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MGUgfSwKLSAgMTYsIDB4ZjNmMCwgMCwgezB4N2YsMHg4ZiwweDllLDB4ODMsMHg2NSwweDgyLDB4Y2YsMHg2OCwweDNlLDB4NTAsMHg4ZCwweDA0LDB4OTIsMHgyZiwweDA0LDB4ZDMgfSwKLSAgMTYsIDB4ZjQwMCwgMCwgezB4NDAsMHg3NCwweGRjLDB4MGQsMHhhMiwweDAyLDB4MjAsMHg0MCwweDg5LDB4MDAsMHgyMiwweGYwLDB4MGIsMHg5OCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjQxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDA5LDB4YTAsMHg4NSwweDJjLDB4MDEgfSwKLSAgMTYsIDB4ZjQyMCwgMCwgezB4MGIsMHgwMCwweDEwLDB4Y2MsMHg0MCwweGEyLDB4MDgsMHgyYywweDAwLDB4ZGIsMHgxMSwweDAyLDB4ODksMHgwMCwweDkzLDB4MzAgfSwKLSAgMTYsIDB4ZjQzMCwgMCwgezB4MjAsMHgwNSwweDA4LDB4MTMsMHgwMiwweDgwLDB4MDgsMHhhMywweDYwLDB4NjAsMHhjMCwweDBhLDB4YjAsMHg4MiwweDA4LDB4ODQgfSwKLSAgMTYsIDB4ZjQ0MCwgMCwgezB4ODEsMHgyMCwweDIwLDB4ZDAsMHgwYiwweDEwLDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ1MCwgMCwgezB4YzAsMHgxNSwweGE0LDB4MTIsMHg4OCwweDgwLDB4NmUsMHgyMCwweDBiLDB4ODgsMHg4MiwweGVlLDB4MDAsMHhiYSwweDgxLDB4MmUgfSwKLSAgMTYsIDB4ZjQ2MCwgMCwgezB4NjAsMHg1YSwweDk4LDB4MDIsMHhhMiwweDAwLDB4OGIsMHgwMCwweDJhLDB4NjAsMHgwOCwweDExLDB4MWEsMHgyYywweDAwLDB4YmIgfSwKLSAgMTYsIDB4ZjQ3MCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiOCwweDBhLDB4MjgsMHgwMCwweDgxLDB4MjAsMHgwMiwweGMwLDB4MGIsMHg5MCwweDAyLDB4YjAgfSwKLSAgMTYsIDB4ZjQ4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhlZCwweDAwLDB4ZDksMHg4MCwweDNlLDB4MjAgfSwKLSAgMTYsIDB4ZjQ5MCwgMCwgezB4NGYsMHg5OCwweDAwLDB4ZWIsMHgyMCwweGZiLDB4ZTAsMHgyZSwweDYwLDB4MGIsMHg4YywweDYyLDB4YWUsMHgyMCwweDhiLDB4MDAgfSwKLSAgMTYsIDB4ZjRhMCwgMCwgezB4MjIsMHg2MCwweDA4LDB4YmMsMHgwMywweGEwLDB4MjAsMHhlYiwweDAwLDB4MjIsMHhjMSwweDBhLDB4MTgsMHgwYiwweDI1LDB4MDAgfSwKLSAgMTYsIDB4ZjRiMCwgMCwgezB4ZDksMHgwMCwweGIyLDB4YzAsMHgwZiwweDkwLDB4MGIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRjMCwgMCwgezB4ZTAsMHgwMSwweDk0LDB4ODgsMHhmZiwweDAwLDB4M2YsMHgwMSwweDBmLDB4ZDAsMHgwMSwweGYwLDB4MDgsMHhkZCwweDAxLDB4M2YgfSwKLSAgMTYsIDB4ZjRkMCwgMCwgezB4NDIsMHgwNywweDQwLDB4MDMsMHg1YywweDAwLDB4YWYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGY4LDB4MDAsMHhmMCwweDAwLDB4ZGYgfSwKLSAgMTYsIDB4ZjRlMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4ZjQsMHg1MCwweGZkLDB4ODAsMHgzZiwweGMwLDB4MGYsMHhkMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4ZjRmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhhYywweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZjUwMCwgMCwgezB4MGYsMHg5NCwweDAzLDB4YTgsMHgyMCwweGNhLDB4NDAsMHgzYSwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZWEsMHgwOCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ZjUxMCwgMCwgezB4M2EsMHgwMCwweDRjLDB4ZjYsMHgyMywweDJjLDB4MzAsMHhjYiwweDAwLDB4MzYsMHhjMCwweDBkLDB4OTAsMHgwMywweGExLDB4MDIgfSwKLSAgMTYsIDB4ZjUyMCwgMCwgezB4ZDksMHgwMCwweGJhLDB4YzAsMHgwZiwweDk4LDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUzMCwgMCwgezB4YzgsMHgwNSwweDI0LDB4MDAsMHg4YSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTUsMHgwMiwweGUwLDB4MDgsMHg4OCwweDgwLDB4MjIgfSwKLSAgMTYsIDB4ZjU0MCwgMCwgezB4NzAsMHg4ZiwweDhjLDB4MDIsMHhlMCwweDAwLDB4YmYsMHgwMiwweDIwLDB4MDAsMHgwOCwweGI4LDB4MDIsMHgwZSwweDAwLDB4ZGYgfSwKLSAgMTYsIDB4ZjU1MCwgMCwgezB4MDAsMHgyMywweGRkLDB4MDgsMHg5OCwweDgyLDB4MmEsMHgwMCwweDg5LDB4ODAsMHgyMywweGMwLDB4MGIsMHg1MCwweDFhLDB4MzIgfSwKLSAgMTYsIDB4ZjU2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NCwweDAwLDB4ODMsMHgwNSwweDI0LDB4NDEgfSwKLSAgMTYsIDB4ZjU3MCwgMCwgezB4MDksMHgxMCwweDAyLDB4Y2UsMHgwMCwweDgzLDB4OTAsMHgyYywweDgwLDB4MWIsMHgyNCwweDgyLDB4Y2MsMHgwMCwweGJiLDB4MDAgfSwKLSAgMTYsIDB4ZjU4MCwgMCwgezB4MmMsMHg4MCwweDA4LDB4MDQsMHgwOCwweDA0LDB4MDEsMHg4YiwweDAwLDB4MjIsMHhjMCwweDI4LDB4MTIsMHgwMiwweDZjLDB4ODAgfSwKLSAgMTYsIDB4ZjU5MCwgMCwgezB4ODEsMHg0OCwweDI0LDB4YzQsMHgwYiwweDEwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVhMCwgMCwgezB4MjAsMHgwMSwweDNlLDB4NDIsMHg4NiwweDgwLDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGY2LDB4OTAsMHg4ZCwweDgwLDB4MjEgfSwKLSAgMTYsIDB4ZjViMCwgMCwgezB4MjIsMHgwYiwweDU4LDB4MDIsMHhkNywweDQwLDB4YjcsMHg5MCwweDIxLDB4ZTAsMHgwOCwweDQ5LDB4OTIsMHgxZSwweDUzLDB4OTcgfSwKLSAgMTYsIDB4ZjVjMCwgMCwgezB4ODEsMHgyMSwweGUwLDB4NDgsMHhjOCwweDBhLDB4NTIsMHgyMiwweDg1LDB4ODgsMHgyNSwweGUwLDB4MGIsMHg1OCwweDAyLDB4MDggfSwKLSAgMTYsIDB4ZjVkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODMsMHgwMCwweDM0LDB4YzAgfSwKLSAgMTYsIDB4ZjVlMCwgMCwgezB4MGYsMHgwMCwweDAzLDB4Y2UsMHgyMCwweGMzLDB4MzAsMHg3YywweDk0LDB4MGIsMHgzNCwweDgzLDB4Y2MsMHgxNCwweGYzLDB4MDIgfSwKLSAgMTYsIDB4ZjVmMCwgMCwgezB4M2MsMHg4MCwweDBjLDB4MDQsMHgwMywweDA0LDB4NjAsMHhjMywweDAwLDB4YjAsMHhjMCwweDBjLDB4MTAsMHgwMywweGVjLDB4MDAgfSwKLSAgMTYsIDB4ZjYwMCwgMCwgezB4YzksMHgwMCwweDNjLDB4YzQsMHgwZiwweDExLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYxMCwgMCwgezB4NDAsMHgxZCwweDljLDB4MDAsMHhlZSwweDAxLDB4M2YsMHhjMCwweDRmLDB4ZTEsMHgwMywweGQ0LDB4NDAsMHhmNSwweDE2LDB4N2EgfSwKLSAgMTYsIDB4ZjYyMCwgMCwgezB4YzAsMHg0ZSwweGYwLDB4MDMsMHhmNCwweDEwLDB4MzcsMHgwNSwweDNkLDB4YzAsMHgwZiwweGMwLDB4MGIsMHhkYywweDQwLDB4ZmYgfSwKLSAgMTYsIDB4ZjYzMCwgMCwgezB4MDAsMHgzYiwweGMyLDB4MGUsMHhkMCwweDA3LDB4YmMsMHgwMiwweGVmLDB4MDAsMHgzYiwweGM2LDB4MGYsMHhkMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZjY0MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmNCwweDAwLDB4ZGQsMHg4NCwweDMzLDB4ODAgfSwKLSAgMTYsIDB4ZjY1MCwgMCwgezB4MDQsMHhmMCwweDAzLDB4NmMsMHgwMiwweGNiLDB4MDIsMHg3ZSwweGMwLDB4MWYsMHhhMCwweDUzLDB4ZWMsMHgwMCwweGNiLDB4MjAgfSwKLSAgMTYsIDB4ZjY2MCwgMCwgezB4MzQsMHg0MCwweDBjLDB4ZDAsMHgwYiwweDIwLDB4MTAsMHhlYiwweDAwLDB4MWUsMHhlMCwweDBmLDB4MzAsMHgwYiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZjY3MCwgMCwgezB4YzEsMHgwMCwweDMyLDB4YzAsMHgwZiwweDkxLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4MCwweDA4LDB4NjAsMHgwMCwweDE0LDB4MDAsMHg4NSwweDAwLDB4MmQgfSwKLSAgMTYsIDB4ZjY5MCwgMCwgezB4ODAsMHgwYiwweDcwLDB4NTIsMHhkNCwweDA0LDB4ODMsMHgyOCwweDI5LDB4YzAsMHgyOCwweDUwLDB4MDMsMHg1MCwweDAwLDB4ODcgfSwKLSAgMTYsIDB4ZjZhMCwgMCwgezB4NDAsMHgyNSwweGM4LDB4MGYsMHg2MCwweDAyLDB4MDQsMHgwMCwweGE3LDB4MDAsMHgzZCwweGM4LDB4MGIsMHg1MiwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ZjZiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4OTUsMHg4MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4ZjZjMCwgMCwgezB4MDksMHgzOCwweDAyLDB4MWUsMHgxMSwweGE3LDB4ODAsMHgyZCwweGYwLDB4MGIsMHg3OCwweDUyLDB4Y2UsMHgwYSwweDk3LDB4OTUgfSwKLSAgMTYsIDB4ZjZkMCwgMCwgezB4MjEsMHhlMCwweDE5LDB4NWMsMHgwMiwweDBlLDB4MDAsMHhhNywweDgwLDB4MjksMHhjOCwweDBiLDB4ZjgsMHgwMiwweDFlLDB4MjAgfSwKLSAgMTYsIDB4ZjZlMCwgMCwgezB4OGQsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDU4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MiwweGUwLDB4YTAsMHhlOCwweDI5LDB4MzAsMHgwNiwweDBlLDB4NTAsMHhhYiwweDgwLDB4MmMgfSwKLSAgMTYsIDB4ZjcwMCwgMCwgezB4ZjAsMHgwYiwweDMxLDB4NDIsMHhjYywweDAwLDB4OTMsMHgwMCwweDI4LDB4YzQsMHgwOSwweDk4LDB4MDIsMHg0YywweDI4LDB4ODMgfSwKLSAgMTYsIDB4ZjcxMCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MGEsMHhiMCwweDAyLDB4MGQsMHgwMCwweGEyLDB4NTgsMHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ZjcyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDAwLDB4ZGUsMHg4MCwweDMxLDB4YTAgfSwKLSAgMTYsIDB4ZjczMCwgMCwgezB4MDksMHhlMiwweDBiLDB4NzgsMHgwNCwweGVlLDB4YTQsMHgyZiwweGE0LDB4OGIsMHhlYywweDAyLDB4ZDgsMHgwMCwweGRhLDB4MDAgfSwKLSAgMTYsIDB4Zjc0MCwgMCwgezB4MjcsMHg4MSwweDBkLDB4ZWMsMHgwNiwweDFiLDB4MDAsMHhlYSwweDA0LDB4M2UsMHg4MCwweDBiLDB4ZTAsMHgwMywweDNiLDB4MDAgfSwKLSAgMTYsIDB4Zjc1MCwgMCwgezB4Y2UsMHhjMCwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4ODAsMHhmOCwweDEwLDB4M2UsMHgwNSwweDBlLDB4ODgsMHgwMywweGUwLDB4MDgsMHg5OCwweDQwLDB4M2UgfSwKLSAgMTYsIDB4Zjc3MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4ODMsMHhlMSwweDQwLDB4ZTgsMHgwMCwweDNhLDB4MDIsMHgwZSwweDgwLDB4NDMsMHhlMSwweDQwLDB4ZjggfSwKLSAgMTYsIDB4Zjc4MCwgMCwgezB4MDAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4Zjc5MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZjdhMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MDQsMHgyMCwweGU5LDB4OTAsMHgzMiwweDY4LDB4MGUsMHg5OCwweDAzLDB4YTQsMHgwMCwweGMxLDB4MDAgfSwKLSAgMTYsIDB4ZjdiMCwgMCwgezB4MzAsMHg0MCwweDBjLDB4OTQsMHg4MywweDI0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGE0LDB4MDAgfSwKLSAgMTYsIDB4ZjdjMCwgMCwgezB4YzksMHgwMCwweDMwLDB4NTAsMHgwYywweDFhLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg1MCwweDI4LDB4OTAsMHgwYSwweDI0LDB4MDgsMHg4OSwweDA2LDB4MTYgfSwKLSAgMTYsIDB4ZjdlMCwgMCwgezB4NjEsMHgwYiwweDljLDB4MDIsMHhlNCwweDIwLDB4YTksMHgwMCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDIsMHgyNywweDYwLDB4YTkgfSwKLSAgMTYsIDB4ZjdmMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDFhLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgzNiwweDQwLDB4MjgsMHg5OCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjgwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyYywweDAwLDB4YTksMHgwOCwweDJlLDB4YzIgfSwKLSAgMTYsIDB4ZjgxMCwgMCwgezB4MDksMHgxMCwweDAwLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgwNiwweDQwLDB4ODksMHg5NiwweDA2LDB4ZTYsMHgwMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4ZjgyMCwgMCwgezB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDIsMHg4OSwweDAwLDB4MjQsMHg0MCwweDA4LDB4OTAsMHgwMiwweDBjLDB4MDYgfSwKLSAgMTYsIDB4ZjgzMCwgMCwgezB4ODMsMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDQ0LDB4MmMsMHg1MCwweDA4LDB4MTQsMHgwMiwweDA1LDB4ODAsMHg4MSwweDIwLDB4NjQgfSwKLSAgMTYsIDB4Zjg1MCwgMCwgezB4NzAsMHgxYiwweDE0LDB4MDIsMHhlNCwweDgwLDB4YTEsMHgyMCwweDY0LDB4NDAsMHgxOSwweDEyLDB4MGEsMHgwNCwweDgwLDB4YTEgfSwKLSAgMTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgyYywweDUwLDB4MTgsMHgxNCwweDAyLDB4ODUsMHgwMCwweDgxLDB4NDAsMHgyNCwweDQwLDB4NDAsMHgxMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4Zjg3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZTAsMHgwMCwweDNjLDB4MDAgfSwKLSAgMTYsIDB4Zjg4MCwgMCwgezB4MGQsMHg4MCwweDAyLDB4MDAsMHgwMCwweGFhLDB4NTAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTIgfSwKLSAgMTYsIDB4Zjg5MCwgMCwgezB4NzIsMHgxNCwweDBjLDB4MDUsMHgxNiwweDIwLDB4MDgsMHhjOCwweDUwLDB4M2UsMHgwMSwweDBjLDB4ODAsMHgwMywweGEwLDB4MDQgfSwKLSAgMTYsIDB4ZjhhMCwgMCwgezB4YzgsMHgwMCwweGIyLDB4MDAsMHgwYywweDgwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhiMCwgMCwgezB4OTgsMHgxOSwweGY1LDB4MDIsMHhmZCwweDQwLDB4M2YsMHhkMCwweDBmLDB4ZDQsMHgyMywweGY0LDB4NDQsMHhmZCwweDE0LDB4N2YgfSwKLSAgMTYsIDB4ZjhjMCwgMCwgezB4NTAsMHgwZiwweGQ0LDB4MDcsMHhmNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NTAsMHgwNywweGQxLDB4MjMsMHhmNCwweDQwLDB4ZjkgfSwKLSAgMTYsIDB4ZjhkMCwgMCwgezB4NDAsMHgxZSwweDUwLDB4MDcsMHhkMCwweDBiLDB4NzUsMHgwMCwweGZkLDB4MDIsMHgzZSwweDUwLDB4MGYsMHhkNCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ZjhlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDAwLDB4YzksMHhhOCwweDNlLDB4NzIgfSwKLSAgMTYsIDB4ZjhmMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4ZTYsMHhjMCwweGZkLDB4YTAsMHhiMywweDQwLDB4MGYsMHhkMCwweDAzLDB4NzcsMHg4MCwweGNkLDB4OTAgfSwKLSAgMTYsIDB4ZjkwMCwgMCwgezB4N2YsMHg0MCwweDBmLDB4ZGEsMHhhMywweDE2LDB4OTAsMHhhOSwweGMwLDB4MzIsMHg2MCwweDRjLDB4YjEsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4ZjkxMCwgMCwgezB4YzEsMHgwMCwweDMzLDB4NmEsMHgwYiwweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkyMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4NDAsMHg4OCwweGUwLDB4MmUsMHgzMCwweDBiLDB4OGQsMHgwMiwweGYzLDB4NDAsMHhiOCwweGU4LDB4NzYgfSwKLSAgMTYsIDB4ZjkzMCwgMCwgezB4MDAsMHg0ZiwweDgwLDB4MGEsMHgyMiwweDgwLDB4ODgsMHg5MCwweDZlLDB4MjgsMHg4ZiwweDhhLDB4MDMsMHg2MSwweDQ0LDB4ZjggfSwKLSAgMTYsIDB4Zjk0MCwgMCwgezB4ZTEsMHgzZSwweDJhLDB4MDgsMHg4OCwweDAzLDB4NDIsMHhhMCwweGRjLDB4YTAsMHgzZSwweDEwLDB4MGIsMHg4NSwweDBhLDB4MGUgfSwKLSAgMTYsIDB4Zjk1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweGEwLDB4ODUsMHgwOCwweDJkLDB4NDggfSwKLSAgMTYsIDB4Zjk2MCwgMCwgezB4MWIsMHg1MiwweDgyLDB4ZDQsMHg4MCwweGIxLDB4MTQsMHgyMCwweDQwLDB4MGIsMHgxOCwweDAyLDB4MDUsMHg4MiwweDgxLDB4MDAgfSwKLSAgMTYsIDB4Zjk3MCwgMCwgezB4NmMsMHg0MiwweDBiLDB4MTIsMHg4MiwweDA0LDB4MDAsMHhhMSwweDYwLDB4MjEsMHg1MCwweDBiLDB4NTAsMHgwMiwweDE0LDB4OTAgfSwKLSAgMTYsIDB4Zjk4MCwgMCwgezB4OTUsMHgyYywweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHg4ZCwweDQ0LDB4MmYsMHg0MCwweDBiLDB4ZDQsMHgwMiwweGY0LDB4MDQsMHhiOSwweDA4LDB4MjIgfSwKLSAgMTYsIDB4ZjlhMCwgMCwgezB4NDAsMHgwYSwweDkyLDB4MDIsMHgyYywweDg0LDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYSwweDE0LDB4MDIsMHg2YywweDgwLDB4YTkgfSwKLSAgMTYsIDB4ZjliMCwgMCwgezB4MDEsMHgyYSwweDQwLDB4MDksMHg1MCwweDBhLDB4NWMsMHgwMiwweDhkLDB4NjAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDQyLDB4MDYgfSwKLSAgMTYsIDB4ZjljMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDYyLDB4YzksMHgwMiwweDNlLDB4NTQgfSwKLSAgMTYsIDB4ZjlkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4NDAsMHgyMiwweDQ2LDB4MGIsMHg5OCwweDAzLDB4NjcsMHgyMCwweGM5LDB4MDEgfSwKLSAgMTYsIDB4ZjllMCwgMCwgezB4MmUsMHg2OSwweDBiLDB4OTQsMHgwYiwweDI1LDB4MjAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDJkLDB4OTIsMHgwYSwweDI2LDB4MjIgfSwKLSAgMTYsIDB4ZjlmMCwgMCwgezB4OTksMHgwMCwweDJhLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEwMCwgMCwgezB4MjgsMHgwMSwweDg2LDB4MDIsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4ODAsMHhmMSwweGEwLDB4M2UgfSwKLSAgMTYsIDB4ZmExMCwgMCwgezB4NjIsMHgwZiwweDk4LDB4ODMsMHhjNiwweDIwLDB4ZjksMHgwMCwweDNlLDB4NDksMHgwZiwweDkwLDB4ODMsMHhlNCwweDAwLDB4NzEgfSwKLSAgMTYsIDB4ZmEyMCwgMCwgezB4MDIsMHgzZSwweDQwLDB4MGUsMHg5MCwweDBiLDB4ZTYsMHg4MCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ZmEzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDEwLDB4YzgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ZmE0MCwgMCwgezB4NGYsMHg4MCwweDQzLDB4YjAsMHgwMCwweGM4LDB4NDEsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjEsMHgwMiwweGM4LDB4MDIgfSwKLSAgMTYsIDB4ZmE1MCwgMCwgezB4M2UsMHgxMCwweDRjLDB4ODAsMHgwMywweDAxLDB4MjAsMHhjOCwweDAwLDB4M2IsMHgwMCwweDBjLDB4YzAsMHgwMywweGIwLDB4MDAgfSwKLSAgMTYsIDB4ZmE2MCwgMCwgezB4Y2MsMHgwNCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDgwLDB4MmUsMHg4MCwweDBiLDB4YTAsMHgwMiwweGY4LDB4MDQsMHg4ZSwweDAwLDB4MjMgfSwKLSAgMTYsIDB4ZmE4MCwgMCwgezB4YjIsMHgwZSwweGUwLDB4ODIsMHhmOSwweDA0LDB4OGEsMHgwMCwweDJlLDB4ODEsMHgwYywweGUwLDB4MGEsMHgzYSwweDgwLDB4ZGEgfSwKLSAgMTYsIDB4ZmE5MCwgMCwgezB4MDAsMHgyMiwweGI2LDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDhlLDB4MDAsMHgyYSwweDgwLDB4MGIsMHg2MCwweDBiLDB4MGEgfSwKLSAgMTYsIDB4ZmFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NCwweDAyLDB4OTMsMHg4MSwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ZmFiMCwgMCwgezB4NGIsMHgzMCwweDAyLDB4YzgsMHgwMCwweDgzLDB4Y2EsMHgyMCwweGUwLDB4MTksMHhiMCwweDA2LDB4OGMsMHgwMCwweDgxLDB4MDQgfSwKLSAgMTYsIDB4ZmFjMCwgMCwgezB4NDQsMHg0MCwweDA4LDB4MzQsMHgwMiwweDBkLDB4MDAsMHg4MywweDAwLDB4MmEsMHgwMCwweDA4LDB4MDAsMHgwYSwweDgwLDB4NDAgfSwKLSAgMTYsIDB4ZmFkMCwgMCwgezB4ODgsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFlMCwgMCwgezB4YTAsMHgwMSwweDA0LDB4MDIsMHg5NywweDA4LDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwNiwweGNhLDB4MDAsMHg4MywweDA5LDB4MjEgfSwKLSAgMTYsIDB4ZmFmMCwgMCwgezB4YzAsMHgwYSwweDcwLDB4MDIsMHhkYywweDAwLDB4ODUsMHgzMSwweDJkLDB4NjgsMHgwOSwweDMwLDB4MDIsMHgxYywweDE0LDB4OTMgfSwKLSAgMTYsIDB4ZmIwMCwgMCwgezB4MjAsMHgyMCwweGMwLDB4MDgsMHhmMCwweDQyLDB4OWMsMHgwMiwweDhmLDB4MDAsMHgyOSwweDQwLDB4MDMsMHg3MCwweDEyLDB4MjggfSwKLSAgMTYsIDB4ZmIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4OTYsMHg4NCwweDNkLDB4YTAgfSwKLSAgMTYsIDB4ZmIyMCwgMCwgezB4MGYsMHg3OCwweDAzLDB4OWEsMHgwMiwweDg3LDB4ODAsMHhiMSwweGUwLDB4MGIsMHg3OCwweDAzLDB4YjYsMHgwMCwweGM1LDB4YTAgfSwKLSAgMTYsIDB4ZmIzMCwgMCwgezB4MzUsMHg2MSwweDBjLDB4NzgsMHgxMywweDFlLDB4MDIsMHhjNywweDgwLDB4MjksMHgwMCwweDBjLDB4NDgsMHgwMywweDkwLDB4MDAgfSwKLSAgMTYsIDB4ZmI0MCwgMCwgezB4YzQsMHg4MCwweDMxLDB4NjAsMHgwZiwweDU4LDB4MDMsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI1MCwgMCwgezB4MDgsMHgxZCwweGE0LDB4MDAsMHhlYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGU4LDB4MDgsMHhmYiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZmI2MCwgMCwgezB4ODAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDA4LDB4ZjksMHgwMCwweDNjLDB4NTAsMHgyZSwweGYwLDB4MDMsMHhlOCwweDA4LDB4ZmIgfSwKLSAgMTYsIDB4ZmI3MCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGIsMHgzMCwweDEzLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgzMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZmI4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhkNiwweDAwLDB4Y2QsMHg4MCwweDMzLDB4ZTAgfSwKLSAgMTYsIDB4ZmI5MCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZmEsMHgwMCwweGZkLDB4ODAsMHgzZiwweGEwLDB4MGQsMHhmOCwweDAzLDB4ZmEsMHg0MCwweGNkLDB4ZDAgfSwKLSAgMTYsIDB4ZmJhMCwgMCwgezB4NzcsMHg3ZSwweDBjLDB4ZTgsMHg0MywweDFlLDB4MDAsMHhjZiwweGQ4LDB4M2YsMHhlMCwweDBjLDB4YzgsMHgwMywweDNhLDB4YzQgfSwKLSAgMTYsIDB4ZmJiMCwgMCwgezB4Y2MsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJjMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4MDIsMHg4ZCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMywweGQ4LDB4MTAsMHgzNSwweDIwLDB4OGIgfSwKLSAgMTYsIDB4ZmJkMCwgMCwgezB4ZDQsMHgwZCwweDY0LDB4MDMsMHhkOCwweGMwLDB4ODUsMHgwMCwweDJmLDB4NGUsMHgwNywweDY0LDB4MDIsMHg5YywweDAyLDB4ZDcgfSwKLSAgMTYsIDB4ZmJlMCwgMCwgezB4MzAsMHgyZiwweDA0LDB4MGQsMHhmMSwweDBiLDB4NTQsMHg0MCwweGFmLDB4MDAsMHgzNSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZmJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDQwLDB4ODQsMHgxOCwweDIxLDB4ODAgfSwKLSAgMTYsIDB4ZmMwMCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZGEsMHgyMCwweGI1LDB4MDAsMHgwOSwweDAwLDB4MDgsMHg3MCwweDAyLDB4ZDQsMHgwNCwweDg1LDB4MDAgfSwKLSAgMTYsIDB4ZmMxMCwgMCwgezB4NmQsMHg0YywweDg5LDB4NjAsMHgwMiwweDVjLDB4NDAsMHg5NywweDAwLDB4NmQsMHhjMCwweDA5LDB4NDAsMHgwMiwweDU4LDB4ODAgfSwKLSAgMTYsIDB4ZmMyMCwgMCwgezB4ODQsMHg4OCwweDI1LDB4NDAsMHgwOCwweGQwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMzMCwgMCwgezB4MjAsMHgxNCwweGM2LDB4NDgsMHg4MCwweDAwLDB4MjAsMHg4MCwweDA4LDB4YWMsMHgwMiwweGE4LDB4MDAsMHhiMSwweDAwLDB4YTggfSwKLSAgMTYsIDB4ZmM0MCwgMCwgezB4ODgsMHgwOSwweDIyLDB4MDIsMHg4NiwweDQyLDB4ODEsMHgwMCwweDZjLDB4NTIsMHgwYiwweDIwLDB4MDIsMHhjNywweDUyLDB4ODMgfSwKLSAgMTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgyYywweDAwLDB4MDgsMHgzNCwweDgyLDB4NjcsMHgwMCwweGEzLDB4ODAsMHgyMCwweDQwLDB4MDgsMHgzMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4ZmM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMywweDAwLDB4Y2IsMHhjMCwweGIyLDB4NDAgfSwKLSAgMTYsIDB4ZmM3MCwgMCwgezB4MmMsMHg5MCwweDgyLDB4ZTYsMHgwMCwweGJiLDB4ODAsMHhiZSwweDc4LDB4MDgsMHg4ZSwweDAyLDB4ZWUsMHgwMCwweDhkLDB4MDAgfSwKLSAgMTYsIDB4ZmM4MCwgMCwgezB4MjcsMHg2MCwweDBkLDB4OTAsMHgwYSwweDZmLDB4MDAsMHg5ZiwweDAyLDB4MmUsMHgwMCwweDA5LDB4YjQsMHgwMywweDY3LDB4ODAgfSwKLSAgMTYsIDB4ZmM5MCwgMCwgezB4Y2EsMHg0MCwweGU0LDB4YzAsMHgwYywweDMwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNhMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4ODAsMHhmYiwweDIyLDB4M2UsMHg0MCwweDBmLDB4ODAsMHgxMywweGU0LDB4MDAsMHhmYiwweDgwLDB4M2UgfSwKLSAgMTYsIDB4ZmNiMCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZSwweDcwLDB4MjMsMHhhYywweDIwLDB4ZmIgfSwKLSAgMTYsIDB4ZmNjMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4OGYsMHg4MCwweDAzLDB4ZTksMHgyMCwweGY5LDB4MDgsMHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4ZTAgfSwKLSAgMTYsIDB4ZmNkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4YzYsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZmNlMCwgMCwgezB4MGYsMHhkMSwweDgzLDB4MzQsMHg0MCwweGNmLDB4MDAsMHgzZCwweDQwLDB4MGMsMHhkMCwweDAzLDB4ZGUsMHg1MCwweDBkLDB4MDAgfSwKLSAgMTYsIDB4ZmNmMCwgMCwgezB4NzMsMHg0MCwweDBjLDB4ZDEsMHgwMywweDdjLDB4NDAsMHg4NywweDAyLDB4YjMsMHgwMCwweDBkLDB4ZjQsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4ZmQwMCwgMCwgezB4Y2UsMHgyMCwweDMyLDB4NDAsMHgwYywweGQwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQxMCwgMCwgezB4ODEsMHgwNCwweDYxLDB4MjIsMHg4YSwweDAwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHg0MCwweDI1LDB4MDAsMHg4OSwweGMzLDB4MmUgfSwKLSAgMTYsIDB4ZmQyMCwgMCwgezB4MjAsMHgwYSwweDk4LDB4MDMsMHhhMSwweDAwLDB4ODksMHgwMCwweDM2LDB4NDAsMHg4OCwweDk0LDB4MDIsMHgwZiwweDAxLDB4YWIgfSwKLSAgMTYsIDB4ZmQzMCwgMCwgezB4MDAsMHgzMiwweGMwLDB4MDgsMHgwNCwweDBhLDB4MjksMHgwMCwweGE5LDB4MDIsMHhhMiwweDQwLDB4MGQsMHhiMCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4ZmQ0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwMCwweDAwLDB4ODksMHgwMCwweDIyLDB4NjEgfSwKLSAgMTYsIDB4ZmQ1MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4MjUsMHgwMSwweDliLDB4ODgsMHgyZSwweDYwLDB4MDgsMHg4OCwweDAyLDB4ZTgsMHgwMCwweGIxLDB4MDIgfSwKLSAgMTYsIDB4ZmQ2MCwgMCwgezB4MjQsMHg0MCwweDE4LDB4OTAsMHgwMiwweDJjLDB4MDAsMHhhYiwweDAxLDB4MjAsMHhjMSwweDA4LDB4YjQsMHg0MiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZmQ3MCwgMCwgezB4ODIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ4MCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MDAsMHgwYSwweDA0LDB4NDYsMHg4MywweDAxLDB4MmMgfSwKLSAgMTYsIDB4ZmQ5MCwgMCwgezB4NDAsMHgxYSwweDAwLDB4MDYsMHg4MCwweDAwLDB4ODEsMHgwMCwweDI0LDB4NDAsMHgwOCwweDIwLDB4MGEsMHgwYywweDAxLDB4YTMgfSwKLSAgMTYsIDB4ZmRhMCwgMCwgezB4MDAsMHgyNCwweDAwLDB4MDgsMHg4MCwweDAyLDB4MDAsMHgwMCwweGExLDB4MDAsMHgyMCwweDQwLDB4MDksMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4ZmRiMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAyLDB4YzgsMHgwMCwweDIyLDB4MDAgfSwKLSAgMTYsIDB4ZmRjMCwgMCwgezB4MGYsMHg5MCwweDAyLDB4MjUsMHgwMCwweGRhLDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAyLDB4Y2MsMHgwMCwweGZkLDB4MDAgfSwKLSAgMTYsIDB4ZmRkMCwgMCwgezB4MzcsMHg0MCwweDBjLDB4MTAsMHgxMywweDJjLDB4MDIsMHhhZiwweDAwLDB4MzIsMHhjMCwweDBkLDB4YjAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZmRlMCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4NDAsMHg0YywweDkwLDB4MGIsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmRmMCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDA3LDB4YzAsMHgwMywweGY0LDB4MWMsMHhmNCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZmUwMCwgMCwgezB4MDAsMHgxZiwweGMwLDB4MjMsMHhiMCwweDAyLDB4OWQsMHgwMSwweDNmLDB4NDAsMHg4ZiwweGMwLDB4MDcsMHhmYywweDAyLDB4ZmYgfSwKLSAgMTYsIDB4ZmUxMCwgMCwgezB4MDAsMHg3YiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZmUyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYSwweDAwLDB4Y2IsMHg4MCwweDNmLDB4MjQgfSwKLSAgMTYsIDB4ZmUzMCwgMCwgezB4MGEsMHhjMSwweDAzLDB4ZmMsMHgyNCwweGNkLDB4MjAsMHgzNywweDBhLDB4MGMsMHhjMiwweDgzLDB4MzAsMHg4MCwweGRjLDB4MDIgfSwKLSAgMTYsIDB4ZmU0MCwgMCwgezB4M2YsMHhjYywweDBkLDB4ZDksMHgwMywweDNjLDB4NTgsMHhkZiwweDMwLDB4MzMsMHhjOCwweDBkLDB4ZjQsMHgyMywweDNjLDB4NDAgfSwKLSAgMTYsIDB4ZmU1MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4YzUsMHg0ZiwweGYwLDB4MjMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmU2MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDIsMHgwYiwweDgyLDB4MmUsMHgwOCwweDBkLDB4YjcsMHgwMiwweGZkLDB4MDAsMHg4MywweDE4LDB4MGEgfSwKLSAgMTYsIDB4ZmU3MCwgMCwgezB4NTgsMHgwYSwweDg0LDB4YTIsMHhhNSwweGEwLDB4ODksMHgzMCwweDIyLDB4NTUsMHgwOCwweDEyLDB4NjIsMHhiZCwweDkwLDB4OGYgfSwKLSAgMTYsIDB4ZmU4MCwgMCwgezB4NjIsMHgyMSwweGQ2LDB4NDgsMHhmMywweDAyLDB4M2MsMHhjNSwweGJmLDB4NDgsMHgyZiwweGQ4LDB4NGIsMHhiNywweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZmU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlYywweDAwLDB4ODMsMHgwMCwweDJlLDB4ODkgfSwKLSAgMTYsIDB4ZmVhMCwgMCwgezB4MjgsMHgwMCwweDAyLDB4ZWMsMHhhMCwweDg5LDB4MjIsMHgyOCwweDgyLDB4MDgsMHgxMiwweDAyLDB4MjgsMHg0MCwweDlhLDB4MDggfSwKLSAgMTYsIDB4ZmViMCwgMCwgezB4MjgsMHhjOCwweDg4LDB4YjIsMHgwYSwweDBkLDB4MTAsMHg5MywweDEwLDB4YTAsMHhjOCwweDI4LDB4MzAsMHgwMiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4ZmVjMCwgMCwgezB4YjMsMHg2MCwweDJjLDB4YzQsMHgwYiwweDMwLDB4YzIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmVkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4NDAsMHg4YiwweDAwLDB4MmUsMHg4MCwweDA4LDB4YjEsMHgwMiwweGVjLDB4MDIsMHg4YiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZmVlMCwgMCwgezB4ZDAsMHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4MGIsMHgwMSwweDI2LDB4NDAsMHgwOCwweDk0LDB4MDIsMHg4YywweDAwLDB4OGIgfSwKLSAgMTYsIDB4ZmVmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4ZmYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTQsMHg4YywweDIwLDB4Y2IsMHgwMiwweDNlLDB4MmQgfSwKLSAgMTYsIDB4ZmYxMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4ZWMsMHgwOCwweGM5LDB4ODAsMHgxZSwweDA0LDB4MGMsMHhiMCwweDAzLDB4MDEsMHgwOCwweDUwLDB4MTggfSwKLSAgMTYsIDB4ZmYyMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4MDQsMHgwMywweDJjLDB4MDAsMHhkYiwweDAxLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwYiwweDJjLDB4MDggfSwKLSAgMTYsIDB4ZmYzMCwgMCwgezB4YmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg4MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmY0MCwgMCwgezB4ZTEsMHgwMCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg2MCwweDBmLDB4YzAsMHgyMywweGVjLDB4MDAsMHhmZiwweGMwLDB4YmUgfSwKLSAgMTYsIDB4ZmY1MCwgMCwgezB4NjAsMHg4ZiwweGM5LDB4MjMsMHhmNiwweDUwLDB4ZWQsMHg4MCwweGI4LDB4NTAsMHhhZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ZmY2MCwgMCwgezB4MDAsMHgzZiwweGMxLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwNCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4ZmY3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZWIsMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4ZmY4MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4MmMsMHgwMCwweDg5LDB4MDAsMHgzZSwweDk4LDB4OGMsMHgzMCwweDAzLDB4NjEsMHg4MCwweGZhLDB4NDAgfSwKLSAgMTYsIDB4ZmY5MCwgMCwgezB4M2UsMHg0MCwweDJjLDB4YTUsMHgwMywweDJjLDB4MDAsMHhmYiwweDAxLDB4M2MsMHhjMCwweDJjLDB4MzAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZmZhMCwgMCwgezB4ZGIsMHgwMiwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmZiMCwgMCwgezB4Y2EsMHgwMCwweDJlLDB4ODAsMHg4YiwweDgyLDB4YTAsMHhjMCwweDhjLDB4OTAsMHgwMiwweDNjLDB4MDAsMHg4YiwweGYwLDB4MjIgfSwKLSAgMTYsIDB4ZmZjMCwgMCwgezB4YzIsMHgwZCwweDgwLDB4MDIsMHgyNywweDAwLDB4OGIsMHgxMCwweDIyLDB4NDAsMHgwOCwweDgwLDB4MjIsMHgzYywweDAwLDB4YmYgfSwKLSAgMTYsIDB4ZmZkMCwgMCwgezB4MDAsMHgyZiwweGMwLDB4MDgsMHhmMCwweDAyLDB4M2MsMHgwMCwweGJmLDB4MDEsMHhhMywweGMwLDB4MGIsMHhmMCwweDEyLDB4ZjIgfSwKLSAgMTYsIDB4ZmZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgxYywweDIwLDB4NDAgfSwKLSAgMTYsIDB4ZmZmMCwgMCwgezB4MDgsMHgwMCwweDA2LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyMCwweGQwLDB4MDgsMHgyMCwweDAyLDB4NGMsMHgwMCwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ODAxMCwgMCwgezB4MmMsMHhjMCwweDA4LDB4MTAsMHgwYSwweDBjLDB4MDAsMHhiYiwweDAwLDB4MjgsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4ODAyMCwgMCwgezB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODAzMCwgMCwgezB4MjIsMHgxMSwweDFlLDB4MDAsMHg5NywweGEwLDB4MjEsMHhhMCwweDA4LDB4NzksMHgwMiwweDFlLDB4MDAsMHg5NywweDkwLDB4MjEgfSwKLSAgMTYsIDB4ODA0MCwgMCwgezB4NjAsMHgwOSwweGU4LDB4MjIsMHgzZSwweDAwLDB4YWYsMHg4NCwweDIxLDB4ZTQsMHg0OCwweDVjLDB4MDIsMHgxZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4ODA1MCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MDksMHg3OCwweDAwLDB4MWUsMHgwOSwweGIzLDB4OTAsMHgyMSwweGU0LDB4MGIsMHg3OCwweDAyLDB4ZDggfSwKLSAgMTYsIDB4ODA2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTgsMHgyYywweDQwLDB4YjMsMHhiMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4ODA3MCwgMCwgezB4MmMsMHg4MSwweDEzLDB4MGMsMHg0MiwweGQxLDB4MDAsMHhiMCwweGMwLDB4OGMsMHgzMCwweDAzLDB4NDgsMHgyMCwweGUzLDB4MDEgfSwKLSAgMTYsIDB4ODA4MCwgMCwgezB4M2MsMHhjMCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhmMywweDEwLDB4M2MsMHhjMCwweGNkLDB4MzIsMHgwYiwweDBjLDB4NDAgfSwKLSAgMTYsIDB4ODA5MCwgMCwgezB4ZDMsMHgwMCwweDMwLDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBhMCwgMCwgezB4NDAsMHgxNSwweGJjLDB4MDAsMHhlNywweDAwLDB4M2YsMHg4MCwweDBiLDB4ZjEsMHgwMywweGZkLDB4MDAsMHg2ZCwweDAwLDB4MzIgfSwKLSAgMTYsIDB4ODBiMCwgMCwgezB4NDAsMHgxZiwweDcwLDB4MDcsMHhkOCwweDQxLDB4YzMsMHgxMCwweDNiLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhmZCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ODBjMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGUsMHhmMCwweDAzLDB4ZWMsMHgxMCwweGZmLDB4MDgsMHgzZiwweGMzLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ODBkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweDA0LDB4ZmIsMHgwMiwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ODBlMCwgMCwgezB4MGIsMHhhMCwweDAzLDB4YWMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDgwLDB4MGQsMHhiMCwweDAzLDB4YWMsMHgwMCwweGU4LDB4MDAgfSwKLSAgMTYsIDB4ODBmMCwgMCwgezB4MzYsMHhjMSwweDJlLDB4OTAsMHgwMywweDJjLDB4MDAsMHhjYiwweGEwLDB4MzYsMHhkYywweDBmLDB4YjAsMHgwMywweDJkLDB4NjggfSwKLSAgMTYsIDB4ODEwMCwgMCwgezB4ZmIsMHhhMCwweDkyLDB4YzIsMHgwYywweGIxLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODExMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDgsMHgzNywweDAwLDB4MmQsMHhjMCwweDBiLDB4ZTAsMHgwMiwweDFkLDB4ODAsMHhiNywweDA0LDB4MjMgfSwKLSAgMTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwYSwweDQwLDB4MDIsMHgxYywweDE4LDB4ODQsMHgwMCwweDI1LDB4YzAsMHgxOCwweDUwLDB4MzIsMHgwZCwweDgwLDB4YTMgfSwKLSAgMTYsIDB4ODEzMCwgMCwgezB4MzAsMHgyMSwweGNjLDB4MGIsMHgzNCwweDgyLDB4MWMsMHgxMCwweGI3LDB4MzAsMHgyMSwweGM4LDB4MDgsMHg3MCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ODE0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDIwLDB4YjcsMHg4MCwweDJkLDB4NjAgfSwKLSAgMTYsIDB4ODE1MCwgMCwgezB4MGIsMHhmYywweDIyLDB4OWUsMHgwMCwweDhkLDB4ODAsMHgyNSwweGEwLDB4MDgsMHhmOCwweDIyLDB4OTIsMHgwMCwweGI0LDB4ODAgfSwKLSAgMTYsIDB4ODE2MCwgMCwgezB4MjUsMHhlMCwweDA4LDB4ZjgsMHgwMiwweDFlLDB4MDAsMHg4NywweGIwLDB4MjEsMHhlMCwweDA5LDB4N2EsMHgwMiwweDFlLDB4MTggfSwKLSAgMTYsIDB4ODE3MCwgMCwgezB4YjMsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE4MCwgMCwgezB4NDgsMHgwNCwweGM1LDB4MjAsMHhiMywweDAxLDB4MmMsMHhkOCwweDBiLDB4M2MsMHgwMiwweDJjLDB4MDgsMHhiOSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ODE5MCwgMCwgezB4MDMsMHgwYSwweDAwLDB4ODIsMHgyMiwweDA4LDB4OTAsMHgwZCwweDI2LDB4ZTQsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YTMgfSwKLSAgMTYsIDB4ODFhMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MGIsMHgzMCwweDAyLDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ODFiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg5OSwweDAwLDB4ZmEsMHgwMiwweDNmLDB4OTAgfSwKLSAgMTYsIDB4ODFjMCwgMCwgezB4MGYsMHhlYywweDIzLDB4YTgsMHgwMCwweGRhLDB4MDAsMHgzNSwweDgwLDB4MGQsMHhlMCwweDAyLDB4YmEsMHgwMiwweGZlLDB4YzIgfSwKLSAgMTYsIDB4ODFkMCwgMCwgezB4YjYsMHhhMCwweDBlLDB4ZTQsMHgwYiwweDI4LDB4MDAsMHhjYSwweDAwLDB4YjIsMHg4MCwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDAgfSwKLSAgMTYsIDB4ODFlMCwgMCwgezB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFmMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODIsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ODIwMCwgMCwgezB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDQwLDB4ZTgsMHgxMCwweDNhLDB4MDAsMHg0ZiwweDg0LDB4ODMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ODIxMCwgMCwgezB4MDAsMHgzYSwweDAwLDB4MGYsMHgwMCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ODIyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNSwweDAwLDB4YzksMHgwMiwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ODIzMCwgMCwgezB4MGYsMHg5MCwweDIzLDB4MjQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDY4LDB4MmYsMHgxMCwweDAzLDB4MjQsMHgwMCwweGU5LDB4MTQgfSwKLSAgMTYsIDB4ODI0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OTAsMHgwYiwweDA0LDB4MDAsMHhkOSwweDAwLDB4MWUsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4ODI1MCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODI2MCwgMCwgezB4ODAsMHgxNCwweDY0LDB4MDAsMHg4OSwweDAxLDB4MmUsMHg0MCwweDRiLDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweGMyLDB4YTIgfSwKLSAgMTYsIDB4ODI3MCwgMCwgezB4NjAsMHg4OCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHhjMSwweGEyLDB4NDAsMHg0OCwweDE2LDB4MDMsMHg2NCwweDAyLDB4ODkgfSwKLSAgMTYsIDB4ODI4MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDIyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwLDB4MjgsMHg5MCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4ODI5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDQsMHgyNCwweDAwLDB4ODksMHgwMiwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ODJhMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQwLDB4ODksMHg5MCwweDAyLDB4YWMsMHgwMCwweGExLDB4MDggfSwKLSAgMTYsIDB4ODJiMCwgMCwgezB4MjIsMHg0MCwweDA5LDB4OTgsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4ODJjMCwgMCwgezB4ODksMHgwMCwweDI2LDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODJkMCwgMCwgezB4MDgsMHgwMCwweDI0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODEsMHg4MSwweDIwLDB4MjIgfSwKLSAgMTYsIDB4ODJlMCwgMCwgezB4NDgsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgxLDB4ODEsMHgyNCwweDAyLDB4NDgsMHgwYSwweDkwLDB4MDIsMHg4NCwweGEwLDB4ODEgfSwKLSAgMTYsIDB4ODJmMCwgMCwgezB4MjgsMHg2YywweDRhLDB4MDgsMHgxMiwweGQyLDB4MDQsMHhhMSwweDgxLDB4MjgsMHgyYywweDRhLDB4MDgsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4ODMwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDgsMHg2MSwweDQwLDB4YzgsMHgwMCwweDJlLDB4MTQgfSwKLSAgMTYsIDB4ODMxMCwgMCwgezB4MGYsMHg4NSwweDBiLDB4MjEsMHg0MiwweGNhLDB4NTAsMHgyMiwweDE0LDB4MGQsMHg4NSwweDQzLDB4YTEsMHg0MCwweGU4LDB4NTAgfSwKLSAgMTYsIDB4ODMyMCwgMCwgezB4MzAsMHgwMCwweDBkLDB4ODUsMHgwMiwweGExLDB4YzAsMHhkOCwweDIwLDB4M2EsMHgwOCwweDJjLDB4ODIsMHgwYiwweDIwLDB4ODIgfSwKLSAgMTYsIDB4ODMzMCwgMCwgezB4YzgsMHgyMCwweDM0LDB4MDksMHg4YywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODM0MCwgMCwgezB4OTgsMHgwZCwweGZjLDB4MDIsMHhmOSwweDAwLDB4M2YsMHg0MCwweDRmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmNSwweDE0LDB4YmYgfSwKLSAgMTYsIDB4ODM1MCwgMCwgezB4NDQsMHgwZCwweDUxLDB4MjMsMHg1YywweDQwLDB4ZjUsMHgxMCwweDFmLDB4NGUsMHg0ZCwweDUwLDB4MDMsMHg2NCwweDA4LDB4ZjkgfSwKLSAgMTYsIDB4ODM2MCwgMCwgezB4MjgsMHgzZSwweDRhLDB4OGYsMHg5MiwweDgzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzYSwweDRiLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ODM3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhmNCwweDQwLDB4ZmQsMHgwMCwweDMwLDB4NDAgfSwKLSAgMTYsIDB4ODM4MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGRkLDB4MDAsMHgzYiwweDQwLDB4MGUsMHg5MCwweDAzLDB4NzQsMHgwMCwweDVkLDB4MDAgfSwKLSAgMTYsIDB4ODM5MCwgMCwgezB4MzYsMHg2NCwweDBkLDB4ZDAsMHgwMCwweGE2LDB4MDAsMHhmOSwweDQwLDB4MzIsMHg3OCwweDBjLDB4OTksMHgwMywweDI0LDB4NDAgfSwKLSAgMTYsIDB4ODNhMCwgMCwgezB4YzksMHg5MCwweDMyLDB4NTAsMHgwZiwweDliLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODNiMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHhiOCwweDAwLDB4MjIsMHgwMSwweDA4LDB4ODAsMHgwYSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODNjMCwgMCwgezB4MDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIyLDB4MjAsMHgwOCwweDhhLDB4OGIsMHhlMSwweDAwLDB4YjggfSwKLSAgMTYsIDB4ODNkMCwgMCwgezB4ODAsMHgyMiwweDMwLDB4MjgsMHgwZCwweDAyLDB4MjIsMHgwMCwweGQ4LDB4ZTQsMHgyMiwweDI4LDB4MGIsMHg4ZiwweDBhLDB4MGUgfSwKLSAgMTYsIDB4ODNlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4YjEsMHgwMCwweGEwLDB4NDAgfSwKLSAgMTYsIDB4ODNmMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMCwweDg5LDB4MDAsMHgwOCwweDQwLDB4MGEsMHg5MCwweDQyLDB4NDQsMHgwMCwweDkxLDB4MDAgfSwKLSAgMTYsIDB4ODQwMCwgMCwgezB4MjAsMHg1OCwweDI4LDB4OTAsMHgwMiwweDg1LDB4MDAsMHg4MSwweDIwLDB4YTAsMHg0YywweDA5LDB4MTIsMHgwYSwweDA0LDB4ODAgfSwKLSAgMTYsIDB4ODQxMCwgMCwgezB4OTEsMHg0MCwweGEwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQyMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAyLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDAxLDB4MjIgfSwKLSAgMTYsIDB4ODQzMCwgMCwgezB4NDAsMHgyOCwweDkwLDB4MjIsMHgwNCwweDAwLDB4ODksMHgxMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjEgfSwKLSAgMTYsIDB4ODQ0MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4ODEsMHg5MCwweDAyLDB4MDQsMHgwMCwweDkxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ODQ1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNSwweDAwLDB4ZjEsMHgwMCwweDMyLDB4NjAgfSwKLSAgMTYsIDB4ODQ2MCwgMCwgezB4MmMsMHg5MiwweDEzLDB4MjQsMHgwMiwweGQxLDB4MTAsMHgzYSwweDQwLDB4MGUsMHgxMiwweDAzLDB4NjYsMHgwNCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4ODQ3MCwgMCwgezB4YjYsMHg0MCwweDBkLDB4MTksMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDA5LDB4OTAsMHgwMSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4ODQ4MCwgMCwgezB4ZDksMHgwMiwweDIyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQ5MCwgMCwgezB4MmEsMHgwMSwweGE1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2NCwweDBmLDB4MTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgxLDB4M2UgfSwKLSAgMTYsIDB4ODRhMCwgMCwgezB4NjYsMHg4ZiwweDkwLDB4MjMsMHhlNCwweDgwLDB4ZjksMHgwNCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDA0LDB4ZjkgfSwKLSAgMTYsIDB4ODRiMCwgMCwgezB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ODRjMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJhLDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgyNCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ODRkMCwgMCwgezB4MmMsMHg4NCwweDAzLDB4MjAsMHgwMCwweGI4LDB4MjAsMHgzZSwweDAwLDB4OGMsMHg4MCwweDAzLDB4YTAsMHgwMCwweDcwLDB4ODIgfSwKLSAgMTYsIDB4ODRlMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDIwLDB4MDggfSwKLSAgMTYsIDB4ODRmMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODUwMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHhiZSwweDgwLDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDQsMHg4ZSwweDAwLDB4NmQgfSwKLSAgMTYsIDB4ODUxMCwgMCwgezB4OTAsMHgwZCwweGEwLDB4MDIsMHgzYSwweDAwLDB4OGUsMHg4MCwweGEyLDB4ODAsMHgwZSwweGUwLDB4MGIsMHg2OCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ODUyMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGRhLDB4MDAsMHgyZSwweDgwLDB4MDgsMHhhMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ODUzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4ODEsMHg0YywweDAwLDB4YjEsMHgwMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ODU0MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MGMsMHgxOCwweGEzLDB4MDIsMHgyYywweDEwLDB4ODgsMHgzMCwweDA2LDB4ODIsMHg4MSwweGEwLDB4MDAgfSwKLSAgMTYsIDB4ODU1MCwgMCwgezB4MmEsMHhjMCwweDBiLDB4MzAsMHgwYSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDFhLDB4YjAsMHgwMiwweDhjLDB4MDEgfSwKLSAgMTYsIDB4ODU2MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODU3MCwgMCwgezB4MjAsMHgwMSwweDFjLDB4MTAsMHhiNCwweDBhLDB4MmIsMHhjOCwweDA4LDB4MzEsMHgyNiwweDFjLDB4MDAsMHg4NiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4ODU4MCwgMCwgezB4YzAsMHgwOSwweDcyLDB4MDIsMHgxZCwweDAwLDB4YTUsMHg0MCwweDI5LDB4YzAsMHgwYSwweDYwLDB4MDIsMHg1YywweDg4LDB4YjMgfSwKLSAgMTYsIDB4ODU5MCwgMCwgezB4MjAsMHgyNSwweGM4LDB4MGEsMHg3MiwweDAyLDB4OWMsMHg4MCwweDk3LDB4MjAsMHgyYywweGU4LDB4ODAsMHg3MiwweDAyLDB4ZTggfSwKLSAgMTYsIDB4ODVhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgxNiwweDAwLDB4YjUsMHg4MCwweDNkLDB4ZTIgfSwKLSAgMTYsIDB4ODViMCwgMCwgezB4MGMsMHg3YSwweDhiLDB4MGUsMHhjMCwweGE3LDB4ODEsMHgyYywweDIwLDB4MGMsMHhmYywweDAzLDB4OTIsMHgwMiwweGVmLDB4ODAgfSwKLSAgMTYsIDB4ODVjMCwgMCwgezB4MzksMHhlNCwweDBiLDB4ZDgsMHgwMSwweDFmLDB4MDAsMHhmNywweDgwLDB4YjMsMHhmNCwweDhlLDB4NzksMHgwMywweDhlLDB4MDAgfSwKLSAgMTYsIDB4ODVkMCwgMCwgezB4YzcsMHhjNCwweDNkLDB4ZTgsMHgyYywweDdiLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODVlMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhkZCwweDg3LDB4YjYsMHgwMywweGVkLDB4Y2MsMHhlOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ODVmMCwgMCwgezB4NDAsMHgwZiwweGIwLDB4MDcsMHhjYywweDEwLDB4MGIsMHgwMCwweDM2LDB4ZDgsMHgwZiwweDgwLDB4NDMsMHhhZCwweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ODYwMCwgMCwgezB4MjgsMHgzYSwweGMwLDB4MGQsMHhiNCwweDAzLDB4NmMsMHhlMiwweGViLDB4NjAsMHgzZSwweGQ0LDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ODYxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4ZmUsMHg5MCwweDNmLDB4ZTUgfSwKLSAgMTYsIDB4ODYyMCwgMCwgezB4MGUsMHhmOCwweDAzLDB4M2UsMHgxMCwweGZmLDB4OTAsMHgxNywweDYwLDB4MGYsMHhmYywweDAzLDB4N2EsMHgwMCwweGVlLDB4ODAgfSwKLSAgMTYsIDB4ODYzMCwgMCwgezB4MzcsMHhlMiwweDBlLDB4NzgsMHgwZiwweGZmLDB4NDAsMHhlZiwweDg4LDB4MWYsMHhlMCwweDBjLDB4ZjgsMHg4MywweGZlLDB4ODAgfSwKLSAgMTYsIDB4ODY0MCwgMCwgezB4Y2YsMHhkMCwweGIzLDB4ZjAsMHgwYywweGY4LDB4YzMsMHgxMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODY1MCwgMCwgezB4YTgsMHgxMSwweDljLDB4NDAsMHhiNCwweDEwLDB4MGYsMHhjYywweDAwLDB4NzIsMHgwMiwweDFjLDB4MDAsMHhiNiwweDAyLDB4MDkgfSwKLSAgMTYsIDB4ODY2MCwgMCwgezB4YzAsMHgyOCwweGYwLDB4MDIsMHg5OCwweDAwLDB4YTYsMHgwMCwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDMsMHhmYywweDAyLDB4ODcgfSwKLSAgMTYsIDB4ODY3MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGUsMHgwMCwweDhmLDB4MTAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDAzLDB4NmEgfSwKLSAgMTYsIDB4ODY4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5NCwweDAwLDB4YjYsMHgwMiwweDJmLDB4YzIgfSwKLSAgMTYsIDB4ODY5MCwgMCwgezB4MWEsMHgzMCwweDgwLDB4MWMsMHgwMCwweGI2LDB4MDgsMHgwMSwweDQwLDB4MGEsMHhmMCwweDAyLDB4MTgsMHgwMCwweDg3LDB4MDAgfSwKLSAgMTYsIDB4ODZhMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4ZDAsMHgwMiwweDljLDB4MTAsMHg4NywweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4NDQgfSwKLSAgMTYsIDB4ODZiMCwgMCwgezB4ODcsMHgxMCwweDY0LDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwNiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODZjMCwgMCwgezB4NjAsMHgxNCwweGNlLDB4NjAsMHhiMCwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzQsMHgwYSwweDBjLDB4MDgsMHhiMCwweDA0LDB4MDAgfSwKLSAgMTYsIDB4ODZkMCwgMCwgezB4NDAsMHgwOCwweDMwLDB4YTIsMHg4OSwweDgwLDB4YTIsMHg2MiwweDIwLDB4ZTAsMHgwYiwweDAwLDB4MGEsMHhjYywweDA4LDB4ODMgfSwKLSAgMTYsIDB4ODZlMCwgMCwgezB4MDAsMHg2YywweGMwLDB4MDgsMHgzMCwweDUyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NTggfSwKLSAgMTYsIDB4ODZmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZSwweDAwLDB4ZjgsMHgwMCwweDNmLDB4ZDAgfSwKLSAgMTYsIDB4ODcwMCwgMCwgezB4MGUsMHhmYywweDAzLDB4M2MsMHgwMCwweGY5LDB4MDAsMHg5MiwweDg0LDB4MGYsMHhmYywweDAzLDB4NjQsMHgwMCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ODcxMCwgMCwgezB4YjcsMHhjMywweDBmLDB4YjgsMHg4MywweGJjLDB4MDQsMHhlZiwweDAwLDB4M2YsMHhjMCwweDNjLDB4ZjAsMHgwMywweGZjLDB4MDIgfSwKLSAgMTYsIDB4ODcyMCwgMCwgezB4Y2YsMHgwMCwweDM3LDB4YzAsMHgyOCwweGYwLDB4MTMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODczMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmOCwweDQxLDB4M2UsMHhjOCwweDBmLDB4MzIsMHgwMywweGVjLDB4MDAsMHhmOCwweDAwLDB4M2EgfSwKLSAgMTYsIDB4ODc0MCwgMCwgezB4YzQsMHgwZiwweGIxLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4YzAsMHgwZiwweGU0LDB4MGIsMHhlYywweDA0LDB4ZmIgfSwKLSAgMTYsIDB4ODc1MCwgMCwgezB4MDAsMHgzZSwweGMxLDB4MGYsMHhiMCwweDQzLDB4ZWMsMHgwNCwweGZiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTQgfSwKLSAgMTYsIDB4ODc2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmNCwweDAwLDB4ZmMsMHg4MCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4ODc3MCwgMCwgezB4MWYsMHhmMCwweDAzLDB4M2MsMHgwOCwweGZiLDB4MDAsMHgzMywweDgwLDB4MmUsMHhmMCwweDEzLDB4YTQsMHgwNCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4ODc4MCwgMCwgezB4YjksMHhjMCwweDJjLDB4ZDgsMHgwYiwweDNjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDA5LDB4NzAsMHgwMCwweDJjLDB4MDQgfSwKLSAgMTYsIDB4ODc5MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODdhMCwgMCwgezB4YzEsMHgwMCwweDZjLDB4MDAsMHhiOCwweDgwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMywweDZjLDB4MDAsMHhiOSwweDE2LDB4MjggfSwKLSAgMTYsIDB4ODdiMCwgMCwgezB4NzIsMHgwOCwweGIwLDB4MjIsMHgyNywweDQwLDB4ZGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGJkLDB4ODIsMHgyYywweDA4LDB4YmIgfSwKLSAgMTYsIDB4ODdjMCwgMCwgezB4MDAsMHgyZSwweGMwLDB4NDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMxLDB4MGIsMHhiMCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ODdkMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjgsMHg2MCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4ODdlMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIxLDB4MDAsMHgyYSwweDg0LDB4NGEsMHgzMCwweDIyLDB4YWMsMHgyMCwweDk4LDB4ODAgfSwKLSAgMTYsIDB4ODdmMCwgMCwgezB4MmEsMHhjMCwweDA4LDB4MzAsMHgwMiwweGFjLDB4MDAsMHgzYiwweDAwLDB4MmMsMHhjMCwweDBhLDB4YjAsMHgwMiwweGFjLDB4MDggfSwKLSAgMTYsIDB4ODgwMCwgMCwgezB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODgxMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDEsMHhiMCwweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MDQsMHhiMCwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODgyMCwgMCwgezB4ODAsMHgwOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4MTAsMHgwNCwweDI4LDB4YzAsMHgwOCwweDIwLDB4NDIsMHg4YywweDAwLDB4YjMgfSwKLSAgMTYsIDB4ODgzMCwgMCwgezB4MDAsMHgyYywweGMwLDB4NDIsMHgzMCwweDBhLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4OGIsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ODg0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4ZjgsMHg1MCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4ODg1MCwgMCwgezB4MGIsMHhmMCwweDAzLDB4M2MsMHgwMCwweGZhLDB4MDQsMHgzMiwweDgwLDB4MGUsMHhmMCwweDIzLDB4YWMsMHgwMCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4ODg2MCwgMCwgezB4M2IsMHhjMCwweDBjLDB4OTAsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwLDB4M2QsMHhjMCwweDJlLDB4ZjAsMHgwYiwweDNjLDB4MDAgfSwKLSAgMTYsIDB4ODg3MCwgMCwgezB4ZmYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODg4MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDA3LDB4ZjAsMHgwMywweGZjLDB4MDQsMHg3YywweDAyLDB4YjUgfSwKLSAgMTYsIDB4ODg5MCwgMCwgezB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MTMsMHg3YywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ODhhMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4NmQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MWYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ODhiMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4ZDUsMHg4MCwweDMzLDB4MGEgfSwKLSAgMTYsIDB4ODhjMCwgMCwgezB4NGMsMHhmOCwweDAzLDB4ZjIsMHgwMCwweGZjLDB4MDAsMHgzNywweDI2LDB4MWYsMHhjYSwweDAzLDB4YmMsMHhjNCwweGNmLDB4MjAgfSwKLSAgMTYsIDB4ODhkMCwgMCwgezB4MzMsMHhlNCwweDBmLDB4NzgsMHgwMywweDNlLDB4NDQsMHhjZiwweDAwLDB4M2IsMHhjZSwweDlmLDB4NjgsMHgxMywweGQwLDB4MDAgfSwKLSAgMTYsIDB4ODhlMCwgMCwgezB4Y2QsMHg4MCwweGIzLDB4NjAsMHgwZiwweGZhLDB4ODMsMHhmMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODhmMCwgMCwgezB4ODAsMHgxMCwweGUwLDB4ODAsMHhjOSwweDI4LDB4MjIsMHgzMCwweDA4LDB4YjIsMHgyMiwweGVhLDB4MDEsMHhiOCwweDgyLDB4MjAgfSwKLSAgMTYsIDB4ODkwMCwgMCwgezB4NTAsMHg0ZiwweDljLDB4MDAsMHhhOCwweGQxLDB4ZGIsMHgxMCwweGE2LDB4ZTAsMHgxNywweGI4LDB4MDMsMHhlYywweDgwLDB4ZGIgfSwKLSAgMTYsIDB4ODkxMCwgMCwgezB4MDgsMHgxZiwweGQwLDB4MGIsMHhiOCwweDAyLDB4ZjYsMHgwMCwweGZiLDB4ODAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDAyLDB4NjAgfSwKLSAgMTYsIDB4ODkyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDIwLDB4ODEsMHg4MCwweDIwLDB4MDAgfSwKLSAgMTYsIDB4ODkzMCwgMCwgezB4OGIsMHgzMCwweDgyLDB4YzAsMHgwMCwweGIwLDB4MTAsMHgyOCwweDA4LDB4OGIsMHgxMSwweDMwLDB4YzQsMHg4NCwweDkwLDB4MjggfSwKLSAgMTYsIDB4ODk0MCwgMCwgezB4MjQsMHhjOCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDEwLDB4MDQsMHhjOCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4ODk1MCwgMCwgezB4YjMsMHgwMCwweDI0LDB4NDAsMHgwYiwweDMwLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODk2MCwgMCwgezB4YzAsMHgxNSwweGE2LDB4MDAsMHg4MSwweDAwLDB4MjIsMHgxMCwweDBiLDB4YjAsMHgxMiwweGVhLDB4MjAsMHhiYiwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODk3MCwgMCwgezB4NzAsMHgwYSwweDljLDB4MDIsMHg2MiwweDAwLDB4OTgsMHg4OCwweDI2LDB4YzgsMHgwMiwweGIyLDB4MDIsMHg4ZSwweDA4LDB4OGIgfSwKLSAgMTYsIDB4ODk4MCwgMCwgezB4MTgsMHgyMiwweGMwLDB4MGIsMHhhMCwweDAyLDB4ZWUsMHgyMCwweDNiLDB4MDAsMHgyNiwweDQwLDB4MGIsMHhiMCwweDAyLDB4NzAgfSwKLSAgMTYsIDB4ODk5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMCwweDAwLDB4Y2IsMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4ODlhMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTcsMHgwMCwweGI4LDB4NTIsMHgzZSwweDIwLDB4NGIsMHgwYywweDQzLDB4ZWYsMHg4MiwweDliLDB4YzAgfSwKLSAgMTYsIDB4ODliMCwgMCwgezB4MzIsMHhjMCwweDBiLDB4YjAsMHgwMiwweDZjLDB4MDEsMHg4YiwweDgwLDB4MmUsMHhjMCwweDBiLDB4YTAsMHg4MywweGU2LDB4MDAgfSwKLSAgMTYsIDB4ODljMCwgMCwgezB4ZmIsMHgwMCwweDM2LDB4NDAsMHgwZiwweGYwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODlkMCwgMCwgezB4ZTAsMHgwMSwweGIwLDB4MDIsMHhmZiwweDA0LDB4M2YsMHg5MCwweDBjLDB4ZjEsMHgwMSwweGY0LDB4MDgsMHg3ZCwweDgwLDB4MzcgfSwKLSAgMTYsIDB4ODllMCwgMCwgezB4MDAsMHgwZiwweGMwLDB4MjMsMHg5OCwweDAwLDB4ZjcsMHgwMCwweDJiLDB4ZTAsMHgwZiwweGY4LDB4MjMsMHhmYywweDA2LDB4ZmIgfSwKLSAgMTYsIDB4ODlmMCwgMCwgezB4ODMsMHhiZiwweGMwLDB4ODcsMHhkMCwweDAzLDB4ZGMsMHgwMCwweGVmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhiMCwweDAxLDB4ZjggfSwKLSAgMTYsIDB4OGEwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhNiwweDAwLDB4Y2IsMHgwMCwweDMzLDB4ODAgfSwKLSAgMTYsIDB4OGExMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTEsMHgxMCwweGYyLDB4NDAsMHhiMiwweDAwLDB4M2QsMHg5NCwweDE3LDB4MmQsMHg0NCwweGZhLDB4NDEgfSwKLSAgMTYsIDB4OGEyMCwgMCwgezB4MzIsMHhjMCwweDlmLDB4YjAsMHgyMywweDJjLDB4MDIsMHhjYiwweDQwLDB4MzIsMHhjMCwweDRmLDB4OTAsMHgwMywweDNkLDB4MDAgfSwKLSAgMTYsIDB4OGEzMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGE0MCwgMCwgezB4ODgsMHgwNSwweDI2LDB4MDAsMHg4YiwweDcxLDB4MjAsMHhkNSwweDAzLDB4OTksMHgwMiwweGUwLDB4MDAsMHhiYiwweDgwLDB4MjIgfSwKLSAgMTYsIDB4OGE1MCwgMCwgezB4NjAsMHgxYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YjgsMHgwMiwweDIyLDB4YzIsMHgwYiwweDMyLDB4MDIsMHgyYywweDAxLDB4OGYgfSwKLSAgMTYsIDB4OGE2MCwgMCwgezB4MDIsMHhkNywweGMwLDB4MGIsMHhhMCwweDAzLDB4NmQsMHg0MCwweDUzLDB4ODAsMHgyZSwweGMwLDB4MGUsMHhmMCwweDQzLDB4NzIgfSwKLSAgMTYsIDB4OGE3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2OCwweDAyLDB4ODAsMHgwMCwweDI0LDB4MDAgfSwKLSAgMTYsIDB4OGE4MCwgMCwgezB4MGIsMHgzNSwweDI2LDB4YzIsMHgwMCwweGIwLDB4OTAsMHgyMCwweGMwLDB4ODgsMHgwMCwweDAyLDB4NGYsMHgyMCwweGIzLDB4MDIgfSwKLSAgMTYsIDB4OGE5MCwgMCwgezB4NjAsMHhlMiwweDFiLDB4MzgsMHgwMiwweDBjLDB4MDAsMHg4OCwweDAwLDB4NjAsMHhjMCwweDBiLDB4MzQsMHg4MiwweDRjLDB4MDIgfSwKLSAgMTYsIDB4OGFhMCwgMCwgezB4YTEsMHg5MCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgzMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGFiMCwgMCwgezB4MjAsMHgwMSwweDNhLDB4MDgsMHg4YywweGEwLDB4MmQsMHgyMCwweDRiLDB4NzgsMHgwMiwweGRhLDB4MDAsMHhiMiwweDkwLDB4MjEgfSwKLSAgMTYsIDB4OGFjMCwgMCwgezB4NjYsMHg0OCwweDc5LDB4MDIsMHhkZSwweDQwLDB4YjcsMHg5MSwweGExLDB4ZTAsMHhkYiwweGY4LDB4MDIsMHgxZSwweDQwLDB4ODQgfSwKLSAgMTYsIDB4OGFkMCwgMCwgezB4OTAsMHgwMSwweGUwLDB4OGIsMHhmOSwweDAyLDB4NWUsMHgwMSwweDk3LDB4ODAsMHgyZCwweDYwLDB4MGEsMHg3OCwweDAwLDB4NDggfSwKLSAgMTYsIDB4OGFlMCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODAsMHgwMCwweDI0LDB4MDQgfSwKLSAgMTYsIDB4OGFmMCwgMCwgezB4MGYsMHgzMiwweDAzLDB4YzQsMHhhMCwweGYxLDB4NDIsMHgzMCwweGM0LDB4MmMsMHgzMSwweDAyLDB4NDQsMHgwMCwweGYxLDB4MTEgfSwKLSAgMTYsIDB4OGIwMCwgMCwgezB4YTAsMHhjMCwweDBiLDB4MzAsMHgwYiwweDBjLDB4NDIsMHg4MywweDAwLDB4MDAsMHhjMCwweDBmLDB4MzAsMHgwMywweDRjLDB4MDIgfSwKLSAgMTYsIDB4OGIxMCwgMCwgezB4ZTMsMHgwMCwweDNjLDB4NDAsMHgwYiwweDMwLDB4MDEsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGIyMCwgMCwgezB4YzAsMHgxZCwweGJjLDB4MDAsMHhmYywweGE1LDB4MzMsMHhjMCwweDBmLDB4ZDAsMHgwMywweGZjLDB4MDEsMHhiZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4OGIzMCwgMCwgezB4YzQsMHgwZSwweDcxLDB4MDMsMHg3NCwweDAwLDB4NzUsMHgxMCwweDNmLDB4YzAsMHgwNSwweGYwLDB4MDMsMHhkYywweDQwLDB4ZmYgfSwKLSAgMTYsIDB4OGI0MCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZmMsMHgwMCwweDdmLDB4MDAsMHgzZiwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4OGI1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDQsMHhlOCwweDAwLDB4ZjIsMHgwNCwweGIzLDB4ODAgfSwKLSAgMTYsIDB4OGI2MCwgMCwgezB4MGYsMHhiOCwweDBiLDB4MmMsMHgwMCwweGViLDB4ODAsMHgzMiwweGMwLDB4MGMsMHgyMCwweDEzLDB4MmUsMHgwOCwweGNiLDB4MDEgfSwKLSAgMTYsIDB4OGI3MCwgMCwgezB4MzIsMHhjNSwweDBmLDB4YjEsMHgwMywweGVjLDB4NDgsMHhjOCwweDEwLDB4MzIsMHhmYSwweDhjLDB4MzgsMHgwMywweDNjLDB4OTAgfSwKLSAgMTYsIDB4OGI4MCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MTMsMHhjMiwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGI5MCwgMCwgezB4YzgsMHgxMCwweDk4LDB4MDAsMHhmNiwweDAwLDB4NjEsMHg4MSwweDBiLDB4ZjAsMHgwMiwweDFjLDB4MDAsMHhkNywweDAwLDB4YjcgfSwKLSAgMTYsIDB4OGJhMCwgMCwgezB4ODAsMHgwYywweDcwLDB4MDIsMHhiYywweDEwLDB4OGYsMHgwMCwweDIxLDB4YzgsMHg4YiwweDcyLDB4NDMsMHhmYywweDg4LDB4ZGMgfSwKLSAgMTYsIDB4OGJiMCwgMCwgezB4MDAsMHgzNywweGM4LDB4MGQsMHg1MCwweDAyLDB4MWMsMHgyMiwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZDMgfSwKLSAgMTYsIDB4OGJjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4YjYsMHg4MCwweGE5LDB4YTAgfSwKLSAgMTYsIDB4OGJkMCwgMCwgezB4NGIsMHg3YywweDAyLDB4NWUsMHgzMCwweGEzLDB4ODgsMHgyMSwweGYwLDB4MDgsMHg3OCwweDAyLDB4MTYsMHgwMCwweDg1LDB4ODAgfSwKLSAgMTYsIDB4OGJlMCwgMCwgezB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweGRlLDB4MDAsMHg4NywweDgwLDB4YTEsMHhlNCwweDA4LDB4ZDgsMHgwMiwweDRlLDB4MDAgfSwKLSAgMTYsIDB4OGJmMCwgMCwgezB4OTcsMHg4MCwweDJkLDB4NzAsMHgwYiwweDc4LDB4MDIsMHhjOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGMwMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHhiMiwweDAwLDB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDRlLDB4OTAsMHg5MywweDAyLDB4MjIgfSwKLSAgMTYsIDB4OGMxMCwgMCwgezB4ZjAsMHgwOCwweDM4LDB4NDIsMHg4YywweDQyLDB4ODMsMHgwNCwweDIyLDB4ZTQsMHg0YiwweDM4LDB4MDIsMHg4ZSwweDQwLDB4ODMgfSwKLSAgMTYsIDB4OGMyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MDksMHgzOCwweDIyLDB4NGUsMHgyMSwweDkzLDB4MDAsMHgyZSwweGUwLDB4MGIsMHgzMCwweDAyLDB4ZGIgfSwKLSAgMTYsIDB4OGMzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAxLDB4ZmEsMHgwMCwweDNiLDB4ODkgfSwKLSAgMTYsIDB4OGM0MCwgMCwgezB4MGYsMHhhMCwweDAyLDB4NzgsMHgwOCwweGFlLDB4NDAsMHgyMywweDgwLDB4MmMsMHg2YywweDBiLDB4M2EsMHgwMCwweDhlLDB4OGMgfSwKLSAgMTYsIDB4OGM1MCwgMCwgezB4YjIsMHgwMCwweDBiLDB4ODAsMHg4MiwweGUwLDB4MDIsMHg4ZSwweDAwLDB4MjIsMHg4MCwweDBjLDB4ZTgsMHgwMiwweDdiLDB4ODAgfSwKLSAgMTYsIDB4OGM2MCwgMCwgezB4OWEsMHg4MCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGM3MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDksMHhlYywweDAwLDB4MzYsMHgyMSwweDBiLDB4ODAsMHgxMywweGExLDB4MDAsMHhmOCwweDYwLDB4M2UgfSwKLSAgMTYsIDB4OGM4MCwgMCwgezB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDEwLDB4ZjggfSwKLSAgMTYsIDB4OGM5MCwgMCwgezB4MDAsMHhiZSwweDAwLDB4MGYsMHg4NSwweDBiLDB4ODAsMHgwMCwweGU4LDB4MTAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OGNhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMiwweDMwLDB4NDggfSwKLSAgMTYsIDB4OGNiMCwgMCwgezB4MGMsMHg5OSwweDEzLDB4YTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQyLDB4MGMsMHg5MCwweDhmLDB4MjQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OGNjMCwgMCwgezB4MzIsMHgyOCwweDBjLDB4ODgsMHgwMywweGUwLDB4MDAsMHhjOSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgwMywweGU3LDB4MDAgfSwKLSAgMTYsIDB4OGNkMCwgMCwgezB4YzksMHgxMCwweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGNlMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDEsMHg4OSwweDgwLDB4YTIsMHg0OCwweDI4LDB4OTIsMHg0MiwweGM1LDB4MDAsMHg4OSwweDQwLDB4MmUgfSwKLSAgMTYsIDB4OGNmMCwgMCwgezB4NDAsMHgyYywweDkwLDB4MDYsMHgyNSwweDAwLDB4YjksMHgwMCwweDIyLDB4NTAsMHgwOCwweDk4LDB4MDIsMHhjNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4OGQwMCwgMCwgezB4MDEsMHg3NiwweDQwLDB4NGIsMHg5MiwweDAyLDB4ZTUsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4OGQxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDBjLDB4ODUsMHgyMCwweGEyLDB4NDAgfSwKLSAgMTYsIDB4OGQyMCwgMCwgezB4MDgsMHg5MCwweDA2LDB4ZTUsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDQyLDB4YTQsMHhhMCwweDMxLDB4MDAgfSwKLSAgMTYsIDB4OGQzMCwgMCwgezB4MjIsMHg1MCwweDE4LDB4OTEsMHgwMiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDAgfSwKLSAgMTYsIDB4OGQ0MCwgMCwgezB4ODksMHgwMCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGQ1MCwgMCwgezB4MDAsMHgwNCwweDE1LDB4MDAsMHg4NSwweDQwLDB4MjAsMHg0MCwweDA4LDB4MTQsMHgyNiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4OGQ2MCwgMCwgezB4NDAsMHgxOCwweDEwLDB4MDIsMHg4NCwweDgwLDB4YjEsMHgyMCwweGEwLDB4NTAsMHgwOCwweDE0LDB4MDIsMHhlNSwweDAyLDB4ODEgfSwKLSAgMTYsIDB4OGQ3MCwgMCwgezB4NDAsMHgyMCwweDQ4LDB4MGIsMHgxMCwweDA2LDB4Y2MsMHgwMCwweDgxLDB4MDEsMHgyYywweDUwLDB4MDksMHgxNCwweDAyLDB4NGEgfSwKLSAgMTYsIDB4OGQ4MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4OGMsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4OGQ5MCwgMCwgezB4MGMsMHg4MCwweDIzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDE0LDB4MGQsMHg4MCwweDEyLDB4YTEsMHg0NCwweGY4LDB4NTEgfSwKLSAgMTYsIDB4OGRhMCwgMCwgezB4MzIsMHgwMCwweDJjLDB4ODAsMHgwMywweGUwLDB4MDAsMHg4OCwweDA0LDB4MjIsMHgxNCwweDBmLDB4ODAsMHgwNywweGUwLDB4MDAgfSwKLSAgMTYsIDB4OGRiMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGRjMCwgMCwgezB4OTgsMHg5ZCwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2YsMHg1MCwweDBmLDB4ZDAsMHgwMywweGRjLDB4MDEsMHhiZCwweDQyLDB4M2YgfSwKLSAgMTYsIDB4OGRkMCwgMCwgezB4NTAsMHg0ZiwweGQ0LDB4NDMsMHg3NCwweDQxLDB4ZmQsMHgxMCwweDNmLDB4MTAsMHgxZiwweGM0LDB4MTMsMHhmMSwweDAwLDB4ZmQgfSwKLSAgMTYsIDB4OGRlMCwgMCwgezB4NDAsMHg3ZSwweDQ0LDB4MGYsMHhkMCwweDQzLDB4ZjUsMHgwMSwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4OGRmMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNCwweDAwLDB4ZGYsMHgwNSwweDMzLDB4NjEgfSwKLSAgMTYsIDB4OGUwMCwgMCwgezB4MGYsMHg1MCwweDUzLDB4MzQsMHgxMCwweGZkLDB4MDQsMHgzMywweDQ0LDB4NGYsMHg1MCwweDAzLDB4NzYsMHhjMSwweGNkLDB4ZTAgfSwKLSAgMTYsIDB4OGUxMCwgMCwgezB4MzMsMHg2MCwweDBjLDB4Y2UsMHgwMywweGY2LDB4YzAsMHhlMSwweGMwLDB4YjYsMHg2NCwweDhmLDB4NTAsMHgwYiwweDM2LDB4ODIgfSwKLSAgMTYsIDB4OGUyMCwgMCwgezB4Y2QsMHgwMCwweDNlLDB4NDQsMHg0YywweDllLDB4YzMsMHhjNiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGUzMCwgMCwgezB4MzgsMHgxMCwweGVhLDB4MjgsMHg4MCwweGEwLDB4YjIsMHgwNCwweDBiLDB4OGEsMHg4MywweDYwLDB4MDAsMHhmYSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4OGU0MCwgMCwgezB4MjgsMHg4YiwweDgwLDB4MDMsMHhlMywweGM4LDB4YzgsMHg4NCwweDIyLDB4MTQsMHgwOCwweDhhLDB4MDIsMHhlMiwweDgwLDB4ZDggfSwKLSAgMTYsIDB4OGU1MCwgMCwgezB4ODIsMHgzNCwweDM0LDB4MWIsMHg4MCwweDAzLDB4NjAsMHgwNCwweDg4LDB4MDAsMHgyZSwweDIwLDB4MGEsMHg4ZSwweDQyLDB4Y2UgfSwKLSAgMTYsIDB4OGU2MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwOCwweDA0LDB4NDEgfSwKLSAgMTYsIDB4OGU3MCwgMCwgezB4MGIsMHg5MiwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgxOCwweDAyLDB4MjQsMHgwMCwweGIxLDB4NjAgfSwKLSAgMTYsIDB4OGU4MCwgMCwgezB4MjYsMHg0MCwweDBhLDB4MTYsMHgwMiwweGM1LDB4MDAsMHhhMSwweGMwLDB4MjAsMHg0OCwweDBiLDB4OTAsMHgwMiwweDQ3LDB4MDAgfSwKLSAgMTYsIDB4OGU5MCwgMCwgezB4OTEsMHgwMSwweDJjLDB4NDgsMHgxOCwweDEyLDB4MDIsMHhkMiwweDAxLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGVhMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MGMsMHg4YiwweDA0LDB4YTIsMHg1MCwweDBiLDB4OTEsMHgwMiwweDI0LDB4MDQsMHhhOSwweDAxLDB4MmUgfSwKLSAgMTYsIDB4OGViMCwgMCwgezB4NDIsMHgwYiwweDkwLDB4MDIsMHhhNCwweDAwLDB4YTksMHgwMCwweDI2LDB4NjAsMHgwYSwweDkwLDB4MDIsMHhlNiwweDAwLDB4ODEgfSwKLSAgMTYsIDB4OGVjMCwgMCwgezB4MDAsMHgyMiwweDQwLDB4OGIsMHhiMCwweDAyLDB4MjQsMHgwOCwweDk5LDB4MTAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4OGVkMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNSwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4OGVlMCwgMCwgezB4MGYsMHgxMCwweDAyLDB4MjUsMHgwMCwweGIxLDB4MDAsMHgyZSwweDYwLDB4MGYsMHgxMCwweDEyLDB4MjQsMHgwMiwweGI5LDB4YTAgfSwKLSAgMTYsIDB4OGVmMCwgMCwgezB4YTQsMHg0MCwweDJlLDB4OTEsMHgwMywweGU2LDB4MDAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDBiLDB4MTksMHg4MCwweDY0LDB4MDQgfSwKLSAgMTYsIDB4OGYwMCwgMCwgezB4ZDksMHg4MSwweDJlLDB4NDAsMHg0YywweDkwLDB4MDMsMHhlOCwweDE0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGYxMCwgMCwgezB4NjgsMHgwMSwweGE0LDB4MGEsMHhlOSwweDAwLDB4YmUsMHg0OCwweDBmLDB4OTgsMHgwYiwweGU0LDB4MDAsMHhmOSwweGM0LDB4MzYgfSwKLSAgMTYsIDB4OGYyMCwgMCwgezB4NzAsMHgxZiwweDkyLDB4MDMsMHhlNiwweDkwLDB4YzEsMHg5MCwweDNhLDB4NDAsMHg4ZCwweDg4LDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OGYzMCwgMCwgezB4OTAsMHgzZSwweDQwLDB4MGIsMHg5OCwweDAzLDB4ZTYsMHg0MCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OGY0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MTAsMHhhMSwweDAyLDB4ZDgsMHgyMCwweGIyLDB4MTAgfSwKLSAgMTYsIDB4OGY1MCwgMCwgezB4MGMsMHg4MCwweDgzLDB4MjEsMHg0MCwweGM4LDB4NTgsMHhiMiwweDEwLDB4NGMsMHg4MCwweDBiLDB4MjAsMHgwMCwweGY4LDB4NDIgfSwKLSAgMTYsIDB4OGY2MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDIsMHhkOCwweDAwLDB4NzIsMHgwMCwweDFjLDB4ODAsMHgwMCwweDIwLDB4MDAgfSwKLSAgMTYsIDB4OGY3MCwgMCwgezB4ZjgsMHgwNCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGY4MCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDQsMHhjZSwweDQxLDB4MjMsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDM5LDB4MTAsMHhhZSwweDQwLDB4MjIgfSwKLSAgMTYsIDB4OGY5MCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgxYSwweDAwLDB4YmEsMHgwMCwweDJiLDB4YWQsMHgwMywweDgwLDB4MDIsMHhlOCwweDAwLDB4Y2EgfSwKLSAgMTYsIDB4OGZhMCwgMCwgezB4MDAsMHgyYSwweDgwLDB4MGEsMHhlMCwweDAyLDB4MTgsMHgwMCwweGJhLDB4MDAsMHgxYSwweDgwLDB4MGIsMHhhMCwweDAzLDB4NGEgfSwKLSAgMTYsIDB4OGZiMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDUsMHg2YywweDEyLDB4ODksMHgwMCwweGEwLDB4ZTAgfSwKLSAgMTYsIDB4OGZjMCwgMCwgezB4MDgsMHgzOCwweDAyLDB4MGQsMHg4OCwweDgzLDB4MDAsMHgwNCwweGUwLDB4MDgsMHgzOCwweDMyLDB4MGUsMHgyNSwweDMxLDB4MDEgfSwKLSAgMTYsIDB4OGZkMCwgMCwgezB4MjQsMHhlMCwweDhiLDB4MzgsMHgwMiwweGU0LDB4MDEsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAgfSwKLSAgMTYsIDB4OGZlMCwgMCwgezB4YjMsMHgwMCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGZmMCwgMCwgezB4YTAsMHgwMSwweDE0LDB4MjAsMHg4NiwweDIwLDB4MjksMHhiMCwweDA4LDB4ZjAsMHg4MiwweDNlLDB4MDQsMHhhNywweDAwLDB4MjEgfSwKLSAgMTYsIDB4OTAwMCwgMCwgezB4NzAsMHg4OCwweDcwLDB4OTIsMHgxYywweDIwLDB4YmQsMHgwMCwweDY5LDB4YzAsMHgwYiwweDc2LDB4MDIsMHhkNCwweDgwLDB4OGYgfSwKLSAgMTYsIDB4OTAxMCwgMCwgezB4MjEsMHgyOSwweGUwLDB4MGEsMHg2MCwweDg2LDB4OTgsMHgwMSwweGI3LDB4MDAsMHgyZCwweGM4LDB4MGIsMHgzYiwweDAyLDB4NjAgfSwKLSAgMTYsIDB4OTAyMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDAwLDB4YzcsMHhhMCwweGIwLDB4ZTAgfSwKLSAgMTYsIDB4OTAzMCwgMCwgezB4MmMsMHg3OCwweDBiLDB4MWEsMHgwMCwweGMzLDB4ODAsMHgzNywweGUwLDB4MjgsMHg3OCwweDAzLDB4MWEsMHgwOCwweGY1LDB4OTAgfSwKLSAgMTYsIDB4OTA0MCwgMCwgezB4MzUsMHhlMCwweDBmLDB4N2MsMHgxMiwweGQ2LDB4ODIsMHhjNywweDkwLDB4MjEsMHhlNCwweDA4LDB4NzgsMHgwMywweDllLDB4MDAgfSwKLSAgMTYsIDB4OTA1MCwgMCwgezB4ZjUsMHg4MCwweDNkLDB4ZjEsMHgwZiwweDc4LDB4MDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTA2MCwgMCwgezB4MDgsMHgxOSwweGE0LDB4MDAsMHhlZSwweDgwLDB4MzYsMHhjMSwweDRmLDB4ZDAsMHgwMywweGM4LDB4MDAsMHhmYiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OTA3MCwgMCwgezB4NTEsMHgwZiwweGIwLDB4MDMsMHhlNCwweDA4LDB4ZjEsMHg2MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjNSwweDAwLDB4ZWIgfSwKLSAgMTYsIDB4OTA4MCwgMCwgezB4MTAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDA5LDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4OTA5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHhmZSwweDAwLDB4ZmQsMHg4OCwweDMzLDB4NjAgfSwKLSAgMTYsIDB4OTBhMCwgMCwgezB4MGYsMHhmOSwweDAzLDB4Y2UsMHg0MCwweGQ3LDB4ODQsMHgzNywweDcwLDB4MGMsMHhkOCwweDIzLDB4MzYsMHgwMCwweGM1LDB4ODggfSwKLSAgMTYsIDB4OTBiMCwgMCwgezB4MzMsMHhlMCwweDRmLDB4ZjgsMHgxMywweGY3LDB4MjgsMHhkZiwweDgwLDB4MzcsMHhlMiwweDBjLDB4NTgsMHgwMywweDNlLDB4MDAgfSwKLSAgMTYsIDB4OTBjMCwgMCwgezB4ZmYsMHg5MCwweDNmLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTBkMCwgMCwgezB4YTksMHgxMSwweDljLDB4MDgsMHhmNiwweDAwLDB4YTEsMHgwMCwweDBiLDB4NjMsMHgwMiwweGQ2LDB4MzAsMHg4NSwweDQxLDB4MzEgfSwKLSAgMTYsIDB4OTBlMCwgMCwgezB4YzgsMHgwOCwweDUwLDB4MjMsMHgxYywweDAwLDB4ZDUsMHgyMCwweGIxLDB4ODAsMHgwZiwweDcwLDB4MDMsMHhiNCwweDAwLDB4YzcgfSwKLSAgMTYsIDB4OTBmMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MGYsMHg0MCwweGEzLDB4NTgsMHg0MCwweGI3LDB4MDAsMHgzZiwweGM0LDB4MGEsMHhmMCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4OTEwMCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQwLDB4YjcsMHgxMCwweDIxLDB4ZDIgfSwKLSAgMTYsIDB4OTExMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4ZGMsMHg0MiwweDg2LDB4MDAsMHgyNSwweDYxLDB4MDgsMHg1MSwweDAyLDB4NTAsMHgwMCwweDk1LDB4MDAgfSwKLSAgMTYsIDB4OTEyMCwgMCwgezB4MjUsMHhjMCwweDA5LDB4NzAsMHg4MiwweGQ0LDB4MDAsMHg4NywweDAwLDB4MjQsMHhjMCwweDA4LDB4NTAsMHgwMiwweDVjLDB4MDAgfSwKLSAgMTYsIDB4OTEzMCwgMCwgezB4OTUsMHgwNCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTE0MCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDgsMHhiMiwweGQwLDB4MjAsMHhlMCwweDRiLDB4MDgsMHgwMiwweGM0LDB4MDAsMHg4MCwweDgwLDB4MjAgfSwKLSAgMTYsIDB4OTE1MCwgMCwgezB4ZjAsMHgwOCwweDFhLDB4MDIsMHg4NSwweDQ4LDB4ODEsMHgxMCwweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHhjNiwweDEwLDB4OTMgfSwKLSAgMTYsIDB4OTE2MCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGEsMHgxYywweDAyLDB4MGQsMHg0MCwweGIzLDB4MDAsMHg2OCwweGM0LDB4MGEsMHhiMCwweDAyLDB4MDkgfSwKLSAgMTYsIDB4OTE3MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAxLDB4ZmUsMHgwMCwweDMyLDB4ZjAgfSwKLSAgMTYsIDB4OTE4MCwgMCwgezB4MGYsMHg4OCwweDAzLDB4ZTYsMHgwMCwweGM4LDB4YzgsMHgzNiwweGY2LDB4MjgsMHhhNiwweDBhLDB4NmQsMHgwMCwweDlkLDB4MDAgfSwKLSAgMTYsIDB4OTE5MCwgMCwgezB4MzIsMHgwMCwweDBiLDB4YjAsMHgwMywweGY2LDB4MDMsMHhjNywweDAwLDB4MzcsMHhjMCwweDA4LDB4OWMsMHgwYSwweDZlLDB4MDAgfSwKLSAgMTYsIDB4OTFhMCwgMCwgezB4YmIsMHgwMCwweDJmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTFiMCwgMCwgezB4ODAsMHgwMCwweGU0LDB4MDEsMHhlYiwweDQwLDB4M2UsMHg4MCwweDRmLDB4YzEsMHgwMywweGU0LDB4MDAsMHhiOCwweDA4LDB4M2EgfSwKLSAgMTYsIDB4OTFjMCwgMCwgezB4NDAsMHg4ZiwweGE0LDB4MTMsMHg2YywweDIwLDB4ZjksMHgwMCwweDNlLDB4NzAsMHgwZiwweGIwLDB4MDMsMHhhNCwweDQwLDB4ZWIgfSwKLSAgMTYsIDB4OTFkMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MiwweDIzLDB4ZTgsMHgwMCwweGY5LDB4ODAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDYzLDB4ZTAgfSwKLSAgMTYsIDB4OTFlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDA4LDB4Y2UsMHgwOCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4OTFmMCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MzAsMHgwMCwweGU0LDB4MDQsMHgzNSwweGMwLDB4MGQsMHhhMCwweDAzLDB4MjgsMHgwMCwweGM1LDB4MDAgfSwKLSAgMTYsIDB4OTIwMCwgMCwgezB4MzMsMHgwMCwweDBiLDB4ZmEsMHgwMywweGY0LDB4MDMsMHhjYiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ZDQsMHgwMywweDE0LDB4MjAgfSwKLSAgMTYsIDB4OTIxMCwgMCwgezB4Y2QsMHg4MCwweDIzLDB4YzEsMHgwYywweGYwLDB4MDIsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTIyMCwgMCwgezB4ODEsMHgwNCwweDQ0LDB4MTAsMHhjYiwweGQwLDB4MjIsMHhjMCwweDBiLDB4OTQsMHgwMiwweDIyLDB4ODQsMHhiOCwweGM2LDB4MDIgfSwKLSAgMTYsIDB4OTIzMCwgMCwgezB4NDAsMHgwOCwweDI4LDB4MDIsMHhhNSwweDgwLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweGI4LDB4MDIsMHg2NCwweDAwLDB4OGIgfSwKLSAgMTYsIDB4OTI0MCwgMCwgezB4MDAsMHgyYSwweGMwLDB4YzgsMHgwMCwweDAzLDB4NjYsMHgwMCwweDgxLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhiMCwweDBhLDB4YTggfSwKLSAgMTYsIDB4OTI1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4MTMsMHgwMCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4OTI2MCwgMCwgezB4OGIsMHgyNCwweDAyLDB4MmEsMHgwMCwweGJiLDB4ODIsMHgyMiwweDQwLDB4MDAsMHhhYywweDAyLDB4ODQsMHgwMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4OTI3MCwgMCwgezB4MjIsMHgyMiwweDBiLDB4YjAsMHgwMiwweGM0LDB4MDAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJlLDB4MDAgfSwKLSAgMTYsIDB4OTI4MCwgMCwgezB4OGIsMHgxMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTI5MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHg4MywweDAwLDB4MjAsMHgwMSwweDBiLDB4MjAsMHgwMiwweDAwLDB4ODAsMHhiMSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4OTJhMCwgMCwgezB4YzEsMHgwOCwweDIwLDB4MDIsMHg4OCwweDAxLDB4ODEsMHgwMCwweGEwLDB4MDAsMHgwYiwweDMwLDB4MDIsMHg0NCwweDAxLDB4OWIgfSwKLSAgMTYsIDB4OTJiMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MDgsMHhiMCwweDAyLDB4NDgsMHgwNiwweDg5LDB4MDAsMHgyYSwweGMwLDB4MDksMHgzMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4OTJjMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGQsMHg2YywweDAwLDB4YzMsMHgwMCwweGIyLDB4YzAgfSwKLSAgMTYsIDB4OTJkMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4MjgsMHgyMCwweGZhLDB4MDAsMHhiMSwweDQwLDB4MGQsMHhhMCwweDA3LDB4YTAsMHgwMCwweGNkLDB4MDAgfSwKLSAgMTYsIDB4OTJlMCwgMCwgezB4MjIsMHgwMCwweDBmLDB4YjAsMHgwMywweGY0LDB4MDAsMHg5ZiwweDAwLDB4M2IsMHhjMCwweDJjLDB4YjAsMHgwYiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4OTJmMCwgMCwgezB4YzksMHgwMCwweGJhLDB4YzAsMHgwYywweGIwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTMwMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDYsMHhmZiwweDAyLDB4YWYsMHhjMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MTAsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4OTMxMCwgMCwgezB4YzAsMHg5ZiwweGUwLDB4MTMsMHhmMCwweDAwLDB4ZmQsMHgwNCwweDNmLDB4NDAsMHg0ZiwweGYwLDB4MDMsMHg3NCwweDAwLDB4ZWYgfSwKLSAgMTYsIDB4OTMyMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4OGYsMHhlMCwweDAyLDB4YjQsMHgwMSwweGZkLDB4MDQsMHgzNywweGMwLDB4MGYsMHhmMCwweDQzLDB4NjggfSwKLSAgMTYsIDB4OTMzMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4YzcsMHgyMCwweGIzLDB4YzggfSwKLSAgMTYsIDB4OTM0MCwgMCwgezB4MWMsMHhmMSwweDAzLDB4N2MsMHgyMCwweGNmLDB4MGEsMHgzZiwweGQwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHg4MCwweDhmLDB4MzIgfSwKLSAgMTYsIDB4OTM1MCwgMCwgezB4MzMsMHhjNCwweDBmLDB4ZjEsMHg4MywweDNjLDB4ZTAsMHhjZiwweDEwLDB4MzMsMHhjNCwweDBkLDB4ZjIsMHg4MywweDNjLDB4ZTIgfSwKLSAgMTYsIDB4OTM2MCwgMCwgezB4YzcsMHg4MCwweDE3LDB4Y2MsMHg0YywweGYzLDB4ODMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTM3MCwgMCwgezB4ODAsMHgxMCwweGUzLDB4NDAsMHg4OCwweDY4LDB4MjIsMHgzMCwweDA4LDB4MDYsMHgwMiwweDAxLDB4YTEsMHg4OCwweGM0LDB4MGUgfSwKLSAgMTYsIDB4OTM4MCwgMCwgezB4MTQsMHgwOCwweDg3LDB4ODAsMHgwMSwweGMwLDB4MjgsMHg1MCwweDAyLDB4MDQsMHg4YiwweDg2LDB4MDIsMHhhMSwweDk4LDB4ODggfSwKLSAgMTYsIDB4OTM5MCwgMCwgezB4NDEsMHgyYSwweDA0LDB4MGEsMHg4NCwweDgyLDB4YmQsMHg4MCwweDhiLDB4MDgsMHgyYiwweGM0LDB4ODgsMHhmNCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4OTNhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA4LDB4ODIsMHg0MCwweDIwLDB4MTAgfSwKLSAgMTYsIDB4OTNiMCwgMCwgezB4MDgsMHgyMSwweDEyLDB4NDQsMHgwNCwweDgyLDB4MDQsMHgyYywweDA4LDB4ODksMHg5MCwweDAyLDB4NDQsMHgyMSwweDhiLDB4MDAgfSwKLSAgMTYsIDB4OTNjMCwgMCwgezB4MjQsMHg4OCwweDhiLDB4YTAsMHgwMCwweDQwLDB4ODQsMHg4OSwweDMwLDB4MjIsMHg0OCwweDg4LDB4YjAsMHgwMiwweGNjLDB4MDggfSwKLSAgMTYsIDB4OTNkMCwgMCwgezB4ODgsMHgyMCwweGE0LDB4YzgsMHgwMCwweDMyLDB4MGEsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTNlMCwgMCwgezB4YzAsMHgxNSwweGEwLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhjMSwweDg4LDB4OTAsMHg2MiwweDI4LDB4MDgsMHg4OSwweDA4LDB4MmUgfSwKLSAgMTYsIDB4OTNmMCwgMCwgezB4YzAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDA4LDB4YTgsMHgwMCwweDI2LDB4NDIsMHgwYiwweDkwLDB4MDIsMHhjYywweDUwLDB4OGEgfSwKLSAgMTYsIDB4OTQwMCwgMCwgezB4MjIsMHgyYSwweDg2LDB4MGEsMHg4MCwweDAyLDB4ZWMsMHgwMCwweDg4LDB4ODQsMHgyYSwweGMxLDB4MDgsMHhiMCwweDI2LDB4MzAgfSwKLSAgMTYsIDB4OTQxMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhmMCwweDAyLDB4Y2YsMHgwMCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4OTQyMCwgMCwgezB4NDgsMHhmOCwweDQzLDB4NzksMHgwMCwweDhkLDB4YzAsMHgzZiwweDMwLDB4OGQsMHg2MCwweDgzLDB4NzgsMHg2MCwweGM0LDB4NTggfSwKLSAgMTYsIDB4OTQzMCwgMCwgezB4MzcsMHgyMCwweDBmLDB4NTgsMHgxMywweDdiLDB4MDIsMHhjYywweGM0LDB4MzEsMHgyMCwweDBjLDB4NDQsMHgwMywweGVjLDB4MDIgfSwKLSAgMTYsIDB4OTQ0MCwgMCwgezB4OGIsMHg4MCwweDM2LDB4YzAsMHgyNCwweGIwLDB4MTIsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTQ1MCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHhmNCwweDEwLDB4M2QsMHgwMCwweDZmLDB4YzksMHgxMywweGQ0LDB4MTIsMHhmZSwweDkwLDB4M2YgfSwKLSAgMTYsIDB4OTQ2MCwgMCwgezB4ZjAsMHgwZiwweGRhLDB4MjMsMHhmNCwweDE0LDB4ZmYsMHgwMiwweDNiLDB4ZjAsMHgwZiwweGVhLDB4MjMsMHhiNiwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4OTQ3MCwgMCwgezB4ODIsMHgzZiwweGUxLDB4OGYsMHhmNCwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4YWYsMHg3MCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4OTQ4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMCwweDAwLDB4Y2EsMHgwMCwweDMyLDB4MDggfSwKLSAgMTYsIDB4OTQ5MCwgMCwgezB4MWMsMHhhMCwweDAzLDB4YTUsMHgyMCwweGNiLDB4NDAsMHhiYSwweDEwLDB4MWYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGViLDB4MDAgfSwKLSAgMTYsIDB4OTRhMCwgMCwgezB4NzIsMHg5MCwweDBjLDB4YjQsMHgwMywweDI5LDB4MDQsMHhjOSwweDUyLDB4MzIsMHg1MCwweDBjLDB4YjQsMHgwMywweDBjLDB4MDAgfSwKLSAgMTYsIDB4OTRiMCwgMCwgezB4ZjgsMHg0MCwweDMyLDB4YzEsMHgwZSwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTRjMCwgMCwgezB4YzgsMHgwNSwweDJkLDB4ODAsMHg4OSwweDgwLDB4MjIsMHhkOSwweDA4LDB4OTAsMHgyMiwweDJhLDB4MDAsMHg4OCwweDU0LDB4MjIgfSwKLSAgMTYsIDB4OTRkMCwgMCwgezB4YzAsMHg4YiwweDgwLDB4MjIsMHgyMCwweDE5LDB4YzgsMHgwMCwweDIyLDB4NDAsMHg4ZCwweDgwLDB4MWEsMHgyNCwweDEwLDB4ZDIgfSwKLSAgMTYsIDB4OTRlMCwgMCwgezB4NDQsMHgyMiwweDgxLDB4MGQsMHg4MCwweDAzLDB4N2MsMHgwMCwweGIwLDB4MDAsMHgzNywweGMwLDB4ODgsMHhmMCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4OTRmMCwgMCwgezB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZSwweDAwLDB4ODEsMHgwMCwweGEwLDB4ZjAgfSwKLSAgMTYsIDB4OTUwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ODksMHgwMiwweDgwLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgwMCwweDIyLDB4YTAsMHgwMCwweGIwLDB4MDAgfSwKLSAgMTYsIDB4OTUxMCwgMCwgezB4MjAsMHg0MCwweDA4LDB4MDAsMHgwMiwweDA0LDB4MDAsMHg4MiwweDYwLDB4MjAsMHg4MCwweDA4LDB4MDAsMHgwMiwweDBjLDB4MDggfSwKLSAgMTYsIDB4OTUyMCwgMCwgezB4YjIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTUzMCwgMCwgezB4MjAsMHgwMSwweDAzLDB4MTAsMHg4ZSwweDkwLDB4MjMsMHgyNCwweDA4LDB4NmIsMHgwMiwweDE2LDB4NjAsMHg4ZiwweDgwLDB4MjEgfSwKLSAgMTYsIDB4OTU0MCwgMCwgezB4MjgsMHgwYiwweGY5LDB4MDYsMHgxZSwweDQwLDB4OGYsMHg4MCwweDIzLDB4YTQsMHg0OSwweDc5LDB4MDIsMHgzYSwweDQwLDB4OWQgfSwKLSAgMTYsIDB4OTU1MCwgMCwgezB4OTAsMHgyMywweDY0LDB4MDksMHhmOCwweDAyLDB4NWUsMHg0MCwweGJlLDB4OTAsMHgyNCwweGU0LDB4MjgsMHg3OSwweDAyLDB4MDggfSwKLSAgMTYsIDB4OTU2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQyLDB4YzAsMHgwOSwweDMwLDB4MDAgfSwKLSAgMTYsIDB4OTU3MCwgMCwgezB4MjgsMHgwMiwweDAzLDB4ODQsMHgwMCwweDhhLDB4MjAsMHgzMCwweGM0LDB4OGIsMHgxMSwweDAzLDB4ODQsMHg1MCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4OTU4MCwgMCwgezB4MjAsMHhjMCwweDBjLDB4YTQsMHgyMiwweDA0LDB4MDAsMHhjYiwweDQwLDB4MzAsMHhjNSwweDBjLDB4MzAsMHgwMywweDBlLDB4NDAgfSwKLSAgMTYsIDB4OTU5MCwgMCwgezB4ZjMsMHgxMCwweDMwLDB4YzQsMHgwYywweGIwLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTVhMCwgMCwgezB4NDAsMHgxZCwweGIwLDB4MDQsMHhmYiwweDA0LDB4M2QsMHhjMCwweDBmLDB4ZjIsMHg0MywweGY4LDB4MDQsMHhmZCwweDAxLDB4M2YgfSwKLSAgMTYsIDB4OTViMCwgMCwgezB4MGMsMHgwZiwweDYxLDB4MDMsMHhmOCwweDQ4LDB4ZjQsMHgwMCwweDNkLDB4MDEsMHgwZiwweGQwLDB4MDMsMHhjOCwweDAwLDB4ZmMgfSwKLSAgMTYsIDB4OTVjMCwgMCwgezB4MDQsMHhiZCwweDA0LDB4MGIsMHg0OCwweDAzLDB4ZmMsMHgxOCwweGZmLDB4MTQsMHgzZiwweGQ1LDB4MGQsMHhmMCwweDAzLDB4OTAgfSwKLSAgMTYsIDB4OTVkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlMCwweDAwLDB4ZjksMHgwMSwweDMyLDB4YzAgfSwKLSAgMTYsIDB4OTVlMCwgMCwgezB4OGUsMHg5MCwweDAzLDB4MjgsMHgwMiwweGQxLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhhOCwweDBiLDB4MDgsMHgwMCwweGU4LDB4MDAgfSwKLSAgMTYsIDB4OTVmMCwgMCwgezB4MmUsMHg0MCwweDBjLDB4OTgsMHgwYiwweDJlLDB4MDIsMHhjYSwweDAwLDB4YjIsMHhhMCwweDZjLDB4ODAsMHgyMywweDJkLDB4ODAgfSwKLSAgMTYsIDB4OTYwMCwgMCwgezB4Y2EsMHg4MCwweDMyLDB4ZDAsMHgwYywweGJhLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTYxMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNiwweDAwLDB4YTMsMHgwMCwweDA4LDB4NjAsMHgwMiwweDA0LDB4MDAsMHg4NiwweDA0LDB4MjkgfSwKLSAgMTYsIDB4OTYyMCwgMCwgezB4MDAsMHgwOCwweDUwLDB4NDIsMHgxNCwweDA0LDB4YTcsMHgwMCwweDBkLDB4ODAsMHg0YSwweDYwLDB4MDIsMHgwMCwweDAwLDB4ODEgfSwKLSAgMTYsIDB4OTYzMCwgMCwgezB4MDAsMHgyMSwweDQwLDB4MDgsMHg3MCwweDAyLDB4OWQsMHg0MiwweDg2LDB4MDEsMHgyMCwweGMwLDB4MDgsMHgzMiwweDgyLDB4MTIgfSwKLSAgMTYsIDB4OTY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5MiwweDAwLDB4YmMsMHg4MCwweDYzLDB4MjAgfSwKLSAgMTYsIDB4OTY1MCwgMCwgezB4ODIsMHgwOCwweDAyLDB4NTIsMHgwMCwweDg0LDB4YzIsMHgyMywweDIwLDB4ODgsMHgwYywweDAyLDB4MzMsMHgwMCwweDg0LDB4ODAgfSwKLSAgMTYsIDB4OTY2MCwgMCwgezB4MmYsMHgyMSwweDg5LDB4NGMsMHgwMiwweDEyLDB4MTQsMHg5NCwweGM1LDB4NjQsMHgyMSwweDA4LDB4NGMsMHgwMiwweDBlLDB4ODAgfSwKLSAgMTYsIDB4OTY3MCwgMCwgezB4OTcsMHg4MiwweGExLDB4ZWMsMHgwOCwweDc5LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTY4MCwgMCwgezB4NDgsMHgxNCwweGNkLDB4NDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDRkLDB4ODAsMHgwMywweDg4LDB4MjggfSwKLSAgMTYsIDB4OTY5MCwgMCwgezB4YzAsMHgwOCwweDNjLDB4MDYsMHgwZiwweDAwLDB4YTMsMHg0MywweDJjLDB4YzIsMHgxYiwweDM4LDB4MDIsMHgwZiwweDAwLDB4OWIgfSwKLSAgMTYsIDB4OTZhMCwgMCwgezB4ODgsMHg2NCwweGQwLDB4MDgsMHhiOCwweDAyLDB4OGMsMHgxMCwweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDBhLDB4MTIgfSwKLSAgMTYsIDB4OTZiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhYSwweDAwLDB4ZmEsMHgwNSwweDMyLDB4ODAgfSwKLSAgMTYsIDB4OTZjMCwgMCwgezB4OGUsMHhhMCwweDBiLDB4NjksMHgwMCwweGNhLDB4NDAsMHgzMiwweGEwLDB4M2MsMHhhOCwweDAzLDB4MmEsMHgwMCwweGVhLDB4MjYgfSwKLSAgMTYsIDB4OTZkMCwgMCwgezB4M2UsMHhiMCwweDBkLDB4YTEsMHg2MywweDI4LDB4MjAsMHhjYSwweDQwLDB4MzYsMHhhMCwweDBjLDB4ZTAsMHgxMywweDI4LDB4MDkgfSwKLSAgMTYsIDB4OTZlMCwgMCwgezB4ZGUsMHgwMCwweDMyLDB4ODAsMHgyYywweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTZmMCwgMCwgezB4NDgsMHgwMCwweGYwLDB4MjAsMHhmNCwweDAwLDB4M2YsMHgwMCwweDBmLDB4NDAsMHgyMywweGIwLDB4MDAsMHhlYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4OTcwMCwgMCwgezB4MDYsMHgxZSwweGMyLDB4MTMsMHhmMCwweDg4LDB4ZmMsMHgyMCwweDNmLDB4MDQsMHg4ZSwweGMwLDB4MDMsMHhmMCwweDgwLDB4ZWMgfSwKLSAgMTYsIDB4OTcxMCwgMCwgezB4NDAsMHgzYiwweDBjLDB4MGYsMHhjMCwweGEzLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OTcyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4OTczMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4ODAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDUzLDB4ZTQsMHgxMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4OTc0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDhmLDB4OTAsMHgwMywweDI0LDB4MTAgfSwKLSAgMTYsIDB4OTc1MCwgMCwgezB4YzksMHgwMSwweDNjLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTc2MCwgMCwgezB4ODAsMHgwNCwweDQ3LDB4NDQsMHg4OSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI1LDB4MGEsMHg4MSwweDEwLDB4MjIgfSwKLSAgMTYsIDB4OTc3MCwgMCwgezB4NDAsMHg0OCwweDkwLDB4MDMsMHhjNCwweDAwLDB4ODksMHgwMCwweDc2LDB4NDAsMHgyOCwweDkwLDB4MDIsMHhlNCwweDEwLDB4YjkgfSwKLSAgMTYsIDB4OTc4MCwgMCwgezB4NDAsMHhiMiwweDQwLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQxLDB4MDgsMHg5MCwweDQyLDB4ZTAgfSwKLSAgMTYsIDB4OTc5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4YmQsMHgwMCwweDIzLDB4NDggfSwKLSAgMTYsIDB4OTdhMCwgMCwgezB4MDgsMHhkMCwweDA2LDB4MWQsMHgwNCwweDhkLDB4MDAsMHgyOSwweGMwLDB4NGEsMHhkMCwweDIyLDB4ZjQsMHgwMCwweDg1LDB4MDAgfSwKLSAgMTYsIDB4OTdiMCwgMCwgezB4NjEsMHg0MCwweDE4LDB4ZDAsMHgxMiwweGZjLDB4MDAsMHhiZCwweDQwLDB4YTMsMHg0MCwweDRiLDB4ZjAsMHgwMiwweDA0LDB4MDEgfSwKLSAgMTYsIDB4OTdjMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTdkMCwgMCwgezB4MDgsMHgwNCwweDM2LDB4ODAsMHg4NSwweDIwLDB4YTMsMHg0OCwweDA4LDB4NTIsMHgwYSwweDE0LDB4ODEsMHg4NSwweDIwLDB4MjkgfSwKLSAgMTYsIDB4OTdlMCwgMCwgezB4NDgsMHgwOCwweDUyLDB4MDIsMHhiNCwweDgwLDB4ODUsMHgyMCwweDI1LDB4NDgsMHg4OCwweDUyLDB4MDIsMHhkNCwweDgwLDB4YjUgfSwKLSAgMTYsIDB4OTdmMCwgMCwgezB4MjAsMHgyMSwweDQ4LDB4MGIsMHg1MiwweDAyLDB4NDQsMHhhMiwweDgxLDB4MDAsMHgyYywweDRhLDB4MDgsMHgxMiwweDgyLDB4YzIgfSwKLSAgMTYsIDB4OTgwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHg1MSwweDIyLDB4MDAgfSwKLSAgMTYsIDB4OTgxMCwgMCwgezB4MmMsMHg4NSwweDAyLDB4MjEsMHg0OCwweGM4LDB4MDAsMHhiYSwweDE0LDB4MGYsMHg4NSwweDEyLDB4ZTEsMHg0MiwweGM4LDB4NTAgfSwKLSAgMTYsIDB4OTgyMCwgMCwgezB4MjIsMHgwMCwweDBjLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDA3LDB4NDUsMHgwMywweDIwLDB4ODAgfSwKLSAgMTYsIDB4OTgzMCwgMCwgezB4YzAsMHgwMSwweDNlLDB4MDgsMHgyYywweDgyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTg0MCwgMCwgezB4OTgsMHgwZCwweGU0LDB4NDAsMHhmMSwweDEwLDB4M2UsMHg0NCwweDA3LDB4OTEsMHg0MywweGU0LDB4NTgsMHhmOSwweDExLDB4MzQgfSwKLSAgMTYsIDB4OTg1MCwgMCwgezB4NDQsMHg0ZiwweDkxLDB4MDIsMHhlNCwweDUwLDB4ZjksMHgxMCwweDNjLDB4NGYsMHgwZiwweDkzLDB4ODMsMHhlNCwweGYwLDB4ZjkgfSwKLSAgMTYsIDB4OTg2MCwgMCwgezB4MTEsMHgzYSwweDRmLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHhhMCwweGZkLDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4OTg3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweGEwLDB4Y2QsMHhhMCwweGIzLDB4NjggfSwKLSAgMTYsIDB4OTg4MCwgMCwgezB4OGMsMHg5YSwweDAzLDB4MzYsMHg4MCwweGM1LDB4YTAsMHgyMiwweDYwLDB4MGMsMHg5YSwweDIzLDB4MjYsMHgwNCwweGY5LDB4YTAgfSwKLSAgMTYsIDB4OTg5MCwgMCwgezB4MzIsMHg2NiwweDBjLDB4OWEsMHg4MywweDA2LDB4MjAsMHhjNSwweGEwLDB4MjIsMHg2MCwweDBjLDB4OWIsMHgwMywweDI2LDB4NDggfSwKLSAgMTYsIDB4OThhMCwgMCwgezB4YzksMHgwMCwweDNlLDB4NzgsMHgwYywweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OThiMCwgMCwgezB4MzgsMHgwMCwweGUxLDB4MDAsMHg4OCwweDQ0LDB4MjIsMHg5NSwweDA4LDB4ODUsMHgxMiwweGExLDB4NDIsMHg4OCwweDQwLDB4MDIgfSwKLSAgMTYsIDB4OThjMCwgMCwgezB4OTAsMHgwOCwweDg0LDB4MDIsMHgyMywweGEwLDB4YmEsMHg0MCwweDIyLDB4YTAsMHgwOCwweDhlLDB4OTIsMHhhMywweGEwLDB4YTggfSwKLSAgMTYsIDB4OThkMCwgMCwgezB4NDAsMHgyYSwweDEwLDB4MDgsMHhhZSwweDAyLDB4MjMsMHg0MCwweDg4LDB4MDAsMHgyZSwweDM4LDB4MDgsMHg4NCwweDEyLDB4MGUgfSwKLSAgMTYsIDB4OThlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTUsMHhjNCwweDAwLDB4OGIsMHgxMiwweDIyLDB4NDAgfSwKLSAgMTYsIDB4OThmMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMCwweDgxLDB4NDAsMHhhMCwweDUwLDB4MDgsMHgxMSwweDBhLDB4MDUsMHgwMCwweGIxLDB4MTAgfSwKLSAgMTYsIDB4OTkwMCwgMCwgezB4YTAsMHg0OCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MCwweDI4LDB4MTEsMHgwMiwweDQ0LDB4ODIgfSwKLSAgMTYsIDB4OTkxMCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NTAsMHgwOCwweDExLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTkyMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDIsMHg4OSwweDQwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgxMiwweGE1LDB4MDAsMHg4OSwweDI4LDB4MjIgfSwKLSAgMTYsIDB4OTkzMCwgMCwgezB4NDksMHgwOCwweDk0LDB4MDIsMHgyNCwweDQ4LDB4YjksMHgxNCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhhNCwweDQwLDB4YTEgfSwKLSAgMTYsIDB4OTk0MCwgMCwgezB4NTAsMHgyYSwweDUwLDB4MDgsMHg5MSwweDQyLDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4OTk1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDMwLDB4NzAgfSwKLSAgMTYsIDB4OTk2MCwgMCwgezB4MmMsMHgxMCwweDBiLDB4NjYsMHgwMCwweGM5LDB4NDAsMHgzMiwweDUwLDB4MGMsMHg5MCwweDAzLDB4MjYsMHgyMCwweGY5LDB4YzAgfSwKLSAgMTYsIDB4OTk3MCwgMCwgezB4MzIsMHg3MCwweDBjLDB4OTAsMHgwMywweDI2LDB4MjAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OWMsMHgwMywweDY0LDB4MDAgfSwKLSAgMTYsIDB4OTk4MCwgMCwgezB4YzksMHg0MSwweDNlLDB4NDAsMHgyYywweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTk5MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4ODgsMHhmOSwweDAwLDB4MzQgfSwKLSAgMTYsIDB4OTlhMCwgMCwgezB4NDEsMHgyZiwweDljLDB4MDMsMHhlNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDQsMHgyZiwweDk5LDB4MDMsMHhlNCwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4OTliMCwgMCwgezB4MDAsMHgzZSwweDUwLDB4MGYsMHgxMCwweDRiLDB4YTQsMHgxMCwweGY5LDB4MjAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4NGEgfSwKLSAgMTYsIDB4OTljMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MTAgfSwKLSAgMTYsIDB4OTlkMCwgMCwgezB4MmMsMHg4MCwweDAzLDB4MjAsMHgwMiwweGMwLDB4NDAsMHgzMiwweDAwLDB4MWMsMHgwNCwweDBmLDB4MjEsMHgwMCwweGMwLDB4MDQgfSwKLSAgMTYsIDB4OTllMCwgMCwgezB4MzgsMHgwMCwweDBmLDB4ODAsMHgwMywweDIxLDB4MDgsMHhjOCwweDYwLDB4MzAsMHgxMCwweDBmLDB4ODAsMHgwMiwweDIwLDB4MDAgfSwKLSAgMTYsIDB4OTlmMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWEwMCwgMCwgezB4MjgsMHgwNSwweDFhLDB4MjAsMHg4MiwweDA0LDB4MmYsMHg4MCwweDA4LDB4YTAsMHgwMiwweDM4LDB4MDAsMHg4ZSwweDgwLDB4MjIgfSwKLSAgMTYsIDB4OWExMCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODEsMHgwYiwweDIwLDB4MDIsMHgyOCwweDAwLDB4ZGUgfSwKLSAgMTYsIDB4OWEyMCwgMCwgezB4ZTQsMHgzNiwweDgwLDB4MGIsMHhhMCwweDQyLDB4MjgsMHgwMCwweGJhLDB4MDQsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4OWEzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMSwweDJjLDB4ODAgfSwKLSAgMTYsIDB4OWE0MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MmUsMHg2MCwweDgyLDB4OTAsMHhhMCwweGMwLDB4NDgsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAgfSwKLSAgMTYsIDB4OWE1MCwgMCwgezB4MjgsMHhjMCwweDBiLDB4MzAsMHgwYSwweDJjLDB4MDAsMHg4MywweGMyLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgyYSwweDJjLDB4MDAgfSwKLSAgMTYsIDB4OWE2MCwgMCwgezB4YjMsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWE3MCwgMCwgezB4YTAsMHgwMSwweDNjLDB4MDAsMHg4NywweDAxLDB4MmQsMHhjMiwweDA4LDB4ZjMsMHgxMiwweDNjLDB4MDAsMHg4ZiwweDAxLDB4MjEgfSwKLSAgMTYsIDB4OWE4MCwgMCwgezB4YzgsMHg2OCwweDcyLDB4MjIsMHgxZSwweDA0LDB4ODcsMHgyMCwweDIxLDB4YzQsMHgwYiwweDcwLDB4MDIsMHgzYywweDg0LDB4OWYgfSwKLSAgMTYsIDB4OWE5MCwgMCwgezB4MDAsMHgyNSwweGM0LDB4NGIsMHg3MCwweDAyLDB4MWMsMHgwNCwweGI3LDB4ODEsMHgyMSwweGM4LDB4MDgsMHg3MiwweDAyLDB4ZTggfSwKLSAgMTYsIDB4OWFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDAsMHgxZSwweDAwLDB4YzcsMHg4MSwweDNjLDB4YTAgfSwKLSAgMTYsIDB4OWFiMCwgMCwgezB4NGMsMHg3YSwweDBiLDB4MWEsMHgwMCwweGM2LDB4ODAsMHgzMCwweGUwLDB4MDgsMHhmOCwweDgyLDB4MGUsMHg0MCwweGNmLDB4ZjAgfSwKLSAgMTYsIDB4OWFjMCwgMCwgezB4MzksMHhlOCwweDBmLDB4M2EsMHgwMywweDFlLDB4MjAsMHhjNywweDgwLDB4MzEsMHhlMywweDBmLDB4MzgsMHgyMywweDFmLDB4MDggfSwKLSAgMTYsIDB4OWFkMCwgMCwgezB4ZmYsMHhjMCwweDMzLDB4ZjIsMHgwYywweDdlLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWFlMCwgMCwgezB4MDgsMHgxNSwweDg4LDB4MGEsMHg3YiwweDAwLDB4M2UsMHhjMSwweDBiLDB4MzQsMHgyMywweGM4LDB4MTAsMHhmYiwweDAyLDB4M2UgfSwKLSAgMTYsIDB4OWFmMCwgMCwgezB4Y2EsMHgwZiwweGI3LDB4NDMsMHhlYywweDgwLDB4ZmIsMHgwMCwweDJlLDB4YzIsMHgwYiwweGI0LDB4ODMsMHhlZCwweGQwLDB4ZmEgfSwKLSAgMTYsIDB4OWIwMCwgMCwgezB4MDAsMHgzZSwweGQ5LDB4MGYsMHhiMywweDgzLDB4ZWMsMHg4MCwweGJiLDB4MjAsMHgzZSwweGQ4LDB4MmYsMHhiNCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4OWIxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZjUsMHg5MSwweDMxLDB4YTAgfSwKLSAgMTYsIDB4OWIyMCwgMCwgezB4MGMsMHhmYywweDAzLDB4ZmUsMHgwMCwweGM0LDB4ODEsMHgzMSwweGVlLDB4OGQsMHhmOCwweDBhLDB4M2UsMHgzMCwweGNmLDB4ODQgfSwKLSAgMTYsIDB4OWIzMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHg4MywweGZlLDB4MTAsMHhmZSwweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjksMHgxOSwweDNmLDB4NDggfSwKLSAgMTYsIDB4OWI0MCwgMCwgezB4Y2YsMHhjMCwweDMzLDB4ZTAsMHgwNCwweGZjLDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWI1MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDgsMHhiNywweGExLDB4MjEsMHhjOCwweDA4LDB4NzEsMHgwMiwweGYwLDB4YTAsMHg4NSwweDIwLDB4MjEgfSwKLSAgMTYsIDB4OWI2MCwgMCwgezB4Y2UsMHgwOCwweDcwLDB4MDIsMHgzYywweDgwLDB4OGYsMHgwMCwweDJiLDB4YzUsMHgwOCwweDcxLDB4MDIsMHhkYywweDEwLDB4YjQgfSwKLSAgMTYsIDB4OWI3MCwgMCwgezB4MDAsMHgyMSwweGMxLDB4MGEsMHhmMywweDgyLDB4MGMsMHgwMCwweDg3LDB4MDEsMHgyOSwweGMwLDB4MDgsMHg3MSwweDAyLDB4NmEgfSwKLSAgMTYsIDB4OWI4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5ZCwweDAwLDB4YmQsMHgyMSwweDI3LDB4ODIgfSwKLSAgMTYsIDB4OWI5MCwgMCwgezB4MDAsMHg3MCwweDAyLDB4ZmMsMHgwNCwweDhjLDB4MDAsMHhhNywweGNjLDB4YTgsMHg3MCwweDAyLDB4M2MsMHgwOCwweGFmLDB4MDAgfSwKLSAgMTYsIDB4OWJhMCwgMCwgezB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjNCwweDA4LDB4NzAsMHgxNiwweDFjLDB4MGEgfSwKLSAgMTYsIDB4OWJiMCwgMCwgezB4OGYsMHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWJjMCwgMCwgezB4MjAsMHgxMCwweGM4LDB4MDAsMHhiYiwweDQ0LDB4MjQsMHhlMiwweDA4LDB4YjEsMHgwMiwweGMyLDB4ODAsMHgwMSwweDgwLDB4MjQgfSwKLSAgMTYsIDB4OWJkMCwgMCwgezB4ZDAsMHg4OCwweDMwLDB4MDIsMHgwZiwweDUyLDB4ODMsMHg5MSwweDI4LDB4ZTQsMHg4OCwweDNkLDB4MDIsMHhjZSwweGQwLDB4YjAgfSwKLSAgMTYsIDB4OWJlMCwgMCwgezB4YjIsMHhhMiwweGMwLDB4MGEsMHgzNCwweDEyLDB4MGMsMHgwMiwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NDggfSwKLSAgMTYsIDB4OWJmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmIsMHgwMSwweGU0LDB4NDAgfSwKLSAgMTYsIDB4OWMwMCwgMCwgezB4MmMsMHhmMCwweDQzLDB4ZTUsMHgwMCwweDhhLDB4ODgsMHgzNywweGUwLDB4MDAsMHhmYSwweDAyLDB4M2QsMHgwMCwweGVmLDB4MDAgfSwKLSAgMTYsIDB4OWMxMCwgMCwgezB4MzMsMHhkMSwweDBjLDB4ZjQsMHgwMywweGZkLDB4MDAsMHhmOSwweDQwLDB4MzMsMHhlOCwweDBjLDB4ZmMsMHgwMSwweDNjLDB4MDQgfSwKLSAgMTYsIDB4OWMyMCwgMCwgezB4Y2YsMHgwMiwweDMzLDB4YzAsMHgyYywweGYwLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWMzMCwgMCwgezB4ODAsMHgwMCwweGVlLDB4MDgsMHhmOSwweDEwLDB4M2EsMHhkMCwweDBmLDB4YjAsMHg5MywweGVjLDB4MDAsMHhmYiwweDBiLDB4M2EgfSwKLSAgMTYsIDB4OWM0MCwgMCwgezB4YzAsMHg4ZSwweGIwLDB4ODMsMHhlYywweDgwLDB4ZmIsMHgwOSwweDdlLDB4YzgsMHgwZiwweGIyLDB4MTMsMHhlYywweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OWM1MCwgMCwgezB4MDAsMHgzZSwweGMyLDB4OGYsMHhiMiwweDRiLDB4Y2MsMHgwNCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4OWM2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwOCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4OWM3MCwgMCwgezB4MWMsMHhmMCwweDAzLDB4NzAsMHg0MCwweGM0LDB4YzAsMHgzMywweGMyLDB4MGYsMHhmMCwweDAzLDB4MWMsMHgxMCwweGM3LDB4MDAgfSwKLSAgMTYsIDB4OWM4MCwgMCwgezB4MzEsMHhjMCwweDBjLDB4NzAsMHgwMywweDFjLDB4MDAsMHhjNSwweDQxLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgyMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4OWM5MCwgMCwgezB4Y2YsMHgwMCwweGIzLDB4YzAsMHg2YywweGYwLDB4MDMsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWNhMCwgMCwgezB4ODEsMHgwNCwweDZhLDB4MDAsMHhiOSwweDkwLDB4MzIsMHhmMSwweDA4LDB4YjAsMHgwMiwweDBhLDB4MTAsMHhkOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4OWNiMCwgMCwgezB4YzEsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4Y2IsMHgwNiwweDIyLDB4YzAsMHg4OCwweGIwLDB4MTIsMHgyYywweDAwLDB4ODggfSwKLSAgMTYsIDB4OWNjMCwgMCwgezB4ODAsMHgyMiwweGMxLDB4MGQsMHhiMCwweDAyLDB4MmMsMHgwMCwweDgzLDB4MDAsMHgyMiwweGMxLDB4MDgsMHhiMCwweDQ2LDB4ZTAgfSwKLSAgMTYsIDB4OWNkMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyZSwweDAwLDB4YjksMHgwMCwweDIyLDB4ZjAgfSwKLSAgMTYsIDB4OWNlMCwgMCwgezB4MDgsMHhiMCwweDEyLDB4NjQsMHgwMCwweDhhLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgzMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAgfSwKLSAgMTYsIDB4OWNmMCwgMCwgezB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4YSwweDAwLDB4MjIsMHhjMCwweDg4LDB4MzAsMHgwYSwweDJjLDB4MDAgfSwKLSAgMTYsIDB4OWQwMCwgMCwgezB4OGIsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQxMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHhiMSwweDAyLDB4ZTQsMHhjMSwweDA4LDB4YjAsMHgyMiwweDIwLDB4MDIsMHg5MywweDAwLDB4MjAgfSwKLSAgMTYsIDB4OWQyMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MTIsMHgwYywweDAyLDB4ODMsMHgwMiwweGEwLDB4YzAsMHgyOCwweDMwLDB4MGUsMHgwYywweDAyLDB4ODAgfSwKLSAgMTYsIDB4OWQzMCwgMCwgezB4MDAsMHhhMCwweGMwLDB4NDksMHgzMCwweDBhLDB4MGMsMHgwMiwweDhiLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4OWQ0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZjksMHgyNCwweDMyLDB4YzAgfSwKLSAgMTYsIDB4OWQ1MCwgMCwgezB4MDgsMHhmMCwweDAzLDB4NjQsMHgwMCwweGM4LDB4MDAsMHhiMywweGMwLDB4MWYsMHhmMCwweDBiLDB4M2MsMHgwMCwweDhmLDB4MDAgfSwKLSAgMTYsIDB4OWQ2MCwgMCwgezB4MzMsMHhjMCwweDRjLDB4ZjAsMHg0MywweDNjLDB4MDgsMHhjMywweDAwLDB4MzEsMHhjMCwweDBjLDB4ZjAsMHgwMywweDNkLDB4NDggfSwKLSAgMTYsIDB4OWQ3MCwgMCwgezB4Y2YsMHgwMCwweDMxLDB4YzAsMHgwYywweGYwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQ4MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDQsMHhmOSwweDQxLDB4M2IsMHhjMCwweDRmLDB4ZjAsMHgwMywweGYwLDB4MTEsMHhmZCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4OWQ5MCwgMCwgezB4YzAsMHg4NywweDcwLDB4MjcsMHhmYywweDAwLDB4ZWYsMHgwNiwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDIsMHhmYywweDA4LDB4ZmMgfSwKLSAgMTYsIDB4OWRhMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4NDcsMHhmMCwweDQzLDB4ZmMsMHgwMCwweDc3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4OWRiMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4YzcsMHgwMSwweDM3LDB4MGMgfSwKLSAgMTYsIDB4OWRjMCwgMCwgezB4MGYsMHhlOCwweDIzLDB4MTAsMHg0YSwweGM0LDB4YzAsMHgzMSwweDMwLDB4MGMsMHhjOSwweDAzLDB4MzQsMHg0NiwweGNmLDB4MTAgfSwKLSAgMTYsIDB4OWRkMCwgMCwgezB4MzMsMHhkMCwweDBjLDB4ZjQsMHgwMywweDNjLDB4NTgsMHhjZiwweDAwLDB4MzMsMHhjMCwweDJkLDB4ZjEsMHgwMywweDNlLDB4MDIgfSwKLSAgMTYsIDB4OWRlMCwgMCwgezB4Y2YsMHgyMSwweDNmLDB4ZTQsMHgwZiwweGYyLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWRmMCwgMCwgezB4ODAsMHgxMCwweGU0LDB4ODQsMHgwYiwweDQwLDB4MjIsMHg0YywweDBiLDB4YTgsMHgwMiwweDJjLDB4YzAsMHg4YiwweDIwLDB4MjIgfSwKLSAgMTYsIDB4OWUwMCwgMCwgezB4YzgsMHg0YSwweDMyLDB4MDIsMHgyNCwweDgwLDB4ODMsMHgyMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwLDB4OGIgfSwKLSAgMTYsIDB4OWUxMCwgMCwgezB4MjEsMHgzMiwweGNhLDB4NDgsMHgzMiwweDAyLDB4MmMsMHgzMCwweDhmLDB4OTAsMHgyZSwweDg4LDB4MGIsMHhiZCwweDEyLDB4MjAgfSwKLSAgMTYsIDB4OWUyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZSwweDIwLDB4YTMsMHg0MCwweGUwLDB4NDggfSwKLSAgMTYsIDB4OWUzMCwgMCwgezB4NGIsMHgyMCwweDIyLDB4MGMsMHgwMiwweDgyLDB4MDAsMHgyYSwweDAwLDB4MDgsMHgyMCwweDAyLDB4MDQsMHg4MCwweDgwLDB4MjAgfSwKLSAgMTYsIDB4OWU0MCwgMCwgezB4MjAsMHhjOCwweDA4LDB4MDIsMHgwMiwweDBjLDB4MDAsMHg4MCwweDBjLDB4NjAsMHgwMCwweDA4LDB4MjAsMHgxMiwweDJjLDB4ODggfSwKLSAgMTYsIDB4OWU1MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4ZTgsMHgwYiwweDMwLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWU2MCwgMCwgezB4YzAsMHgxNSwweGFlLDB4MDAsMHhhYiwweDAxLDB4YTIsMHg2MCwweDBiLDB4YTAsMHgwMiwweDIwLDB4MDEsMHg4MSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4OWU3MCwgMCwgezB4YzAsMHgwYSwweDkwLDB4MTIsMHgwNCwweDIwLDB4OGEsMHgwOCwweDIyLDB4YzEsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODggfSwKLSAgMTYsIDB4OWU4MCwgMCwgezB4MDAsMHgyNCwweDQ0LDB4MDgsMHhhMiwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDQsMHgyZSwweDg4LDB4MDMsMHhiMCwweDAyLDB4NzAgfSwKLSAgMTYsIDB4OWU5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWEsMHg5MCwweDMyLDB4MjggfSwKLSAgMTYsIDB4OWVhMCwgMCwgezB4MGYsMHhiNiwweDAzLDB4MjAsMHgwOCwweGM5LDB4MDQsMHgzYSwweGMwLDB4NGMsMHg5MCwweDIyLDB4MjQsMHgwMCwweGNiLDB4NDAgfSwKLSAgMTYsIDB4OWViMCwgMCwgezB4MzIsMHhhOCwweDBjLDB4YjIsMHgwMywweDJjLDB4MDAsMHhjYiwweDgwLDB4YjIsMHhlMCwweDBjLDB4YjAsMHgwYiwweDA0LDB4MDAgfSwKLSAgMTYsIDB4OWVjMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MGIsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWVkMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhkZiwweDgwLDB4M2IsMHg4MSwweDBmLDB4ZjAsMHhjMywweGZjLDB4MDAsMHhiZSwweDAxLDB4MWYgfSwKLSAgMTYsIDB4OWVlMCwgMCwgezB4MDAsMHgwZiwweGUwLDB4MjMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YjAsMHg0ZiwweGYwLDB4NDMsMHhkNCwweDAyLDB4ZmYgfSwKLSAgMTYsIDB4OWVmMCwgMCwgezB4OTEsMHgzYSwweGUwLDB4NGUsMHhmMCwweDAzLDB4N2MsMHgwYywweGZmLDB4MDAsMHgyZiwweDgwLDB4MGYsMHgzMCwweDAzLDB4YjggfSwKLSAgMTYsIDB4OWYwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4Y2EsMHgwMCwweDcyLDB4NTAgfSwKLSAgMTYsIDB4OWYxMCwgMCwgezB4MDQsMHhiNCwweDAzLDB4MmMsMHg4MiwweGNiLDB4MDAsMHgzMiwweGUwLDB4MGMsMHhiOCwweDAzLDB4MjcsMHgwNCwweGM4LDB4YzggfSwKLSAgMTYsIDB4OWYyMCwgMCwgezB4YjIsMHhhMiwweDBjLDB4ODgsMHgwMywweDJjLDB4MDAsMHhjMSwweDAwLDB4M2UsMHgwMCwweDJjLDB4MzAsMHgxYiwweDJjLDB4MDQgfSwKLSAgMTYsIDB4OWYzMCwgMCwgezB4ZmIsMHgxMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWY0MCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDQsMHgwMywweDUwLDB4YTIsMHhlMCwweDA4LDB4MzQsMHg0MiwweDMzLDB4MDAsMHg4OCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4OWY1MCwgMCwgezB4MTAsMHgwZCwweDg0LDB4MDMsMHgyNSwweDAwLDB4OGEsMHg0MCwweDIyLDB4OTAsMHgwOCwweGE1LDB4MDIsMHgyYywweDAwLDB4ODkgfSwKLSAgMTYsIDB4OWY2MCwgMCwgezB4YTQsMHgzYSwweDQwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJmLDB4ODQsMHgyZSwweDgwLDB4MGIsMHhmMCwweDUyLDB4MzIgfSwKLSAgMTYsIDB4OWY3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2YywweDgwLDB4ODEsMHg4MCwweDI0LDB4ODggfSwKLSAgMTYsIDB4OWY4MCwgMCwgezB4ODksMHgzYywweDI2LDB4MjEsMHgwMCwweDkwLDB4MDAsMHgyMCwweDAyLDB4MDgsMHg4MCwweDgyLDB4MDAsMHgyMCwweDliLDB4MDAgfSwKLSAgMTYsIDB4OWY5MCwgMCwgezB4MjIsMHg0MCwweDg4LDB4YjAsMHgxMiwweDBjLDB4MDgsMHg4MywweDgwLDB4MmMsMHhjMCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4OWZhMCwgMCwgezB4YjMsMHg4MCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWZiMCwgMCwgezB4MjAsMHgwMSwweDNlLDB4MGEsMHg4NSwweGEwLDB4YTUsMHg2MCwweDA4LDB4ZmIsMHg4MiwweDNlLDB4ODQsMHg5ZiwweDgxLDB4NjMgfSwKLSAgMTYsIDB4OWZjMCwgMCwgezB4ZTAsMHg4OSwweDc5LDB4MTIsMHg1MiwweDgwLDB4OTcsMHg4MiwweDIxLDB4NmMsMHgxOCwweDc4LDB4MDIsMHgxMiwweDAwLDB4ODcgfSwKLSAgMTYsIDB4OWZkMCwgMCwgezB4YTEsMHgyOSwweGUwLDB4MDgsMHg1YiwweDAyLDB4MWUsMHgwMCwweGI3LDB4YzAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4MDggfSwKLSAgMTYsIDB4OWZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODEsMHgwOCwweDI2LDB4YzIgfSwKLSAgMTYsIDB4OWZmMCwgMCwgezB4MmMsMHgzMiwweDEzLDB4MGUsMHhhNCwweGQyLDB4MDAsMHhiMCwweDAwLDB4MWMsMHgyMSwweDEyLDB4MjQsMHgwMiwweGQxLDB4MjAgfSwKLSAgMTYsIDB4YTAwMCwgMCwgezB4MzAsMHhjOCwweDBjLDB4MTAsMHgwMywweDBjLDB4MDAsMHhjMiwweDEwLDB4M2MsMHg4MCwweDBjLDB4MjMsMHgwMywweDBjLDB4NDAgfSwKLSAgMTYsIDB4YTAxMCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4NDgsMHgwZiwweDMwLDB4MGIsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTAyMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZCwweDIwLDB4YmIsMHg0MCwweDA3LDB4NzIsMHgwMiwweGYwLDB4MTAsMHhlZCwweDEwLDB4M2YgfSwKLSAgMTYsIDB4YTAzMCwgMCwgezB4YzQsMHgwZiwweGQxLDB4NjMsMHhiNCwweDgwLDB4ZWYsMHgwMCwweDNmLDB4YzgsMHgwZiwweGYwLDB4MDMsMHhkOCwweDAwLDB4ZmUgfSwKLSAgMTYsIDB4YTA0MCwgMCwgezB4MzQsMHgzZiwweGM0LDB4MGYsMHhlYiwweDQzLDB4ZmMsMHgwMCwweGZmLDB4MDgsMHg3ZiwweDQwLDB4MGYsMHhmMSwweDgzLDB4ZDAgfSwKLSAgMTYsIDB4YTA1MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4YzgsMHgwMCwweDMzLDB4ODAgfSwKLSAgMTYsIDB4YTA2MCwgMCwgezB4OGYsMHgyOCwweDAzLDB4MjAsMHgwMCwweDQ5LDB4MDIsMHgzMiwweGMwLDB4MGYsMHg5MCwweDAzLDB4MjAsMHgwMCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4YTA3MCwgMCwgezB4MzIsMHg0MCwweDRjLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhjYiwweDgwLDB4MzIsMHhjMCwweDBlLDB4OWUsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTA4MCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTA5MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4ZCwweDAxLDB4MjEsMHhjMCwweDBiLDB4NjAsMHgwMiwweDFkLDB4MDAsMHhkNiwweDAwLDB4MjEgfSwKLSAgMTYsIDB4YTBhMCwgMCwgezB4MDAsMHgwYiwweGUwLDB4MDIsMHgwMCwweDAwLDB4ODMsMHgwNCwweDIwLDB4NDAsMHgwOCwweDcwLDB4NDIsMHgzNCwweDAyLDB4ODcgfSwKLSAgMTYsIDB4YTBiMCwgMCwgezB4MDEsMHgyMywweGMwLDB4MjgsMHg1MSwweDBhLDB4MWMsMHgwNCwweGI3LDB4MzAsMHgyZCwweGMwLDB4MGIsMHg3MiwweDAzLDB4OTIgfSwKLSAgMTYsIDB4YTBjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YTYsMHg0MCwweDIxLDB4YTAgfSwKLSAgMTYsIDB4YTBkMCwgMCwgezB4MGIsMHg2OCwweDAyLDB4MGUsMHgwMCwweDhmLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4MTYsMHgxMCwweGE1LDB4ODAgfSwKLSAgMTYsIDB4YTBlMCwgMCwgezB4MjEsMHhlMCwweDA4LDB4MTgsMHgwMiwweDFlLDB4MDAsMHg4MywweDgwLDB4MjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDFmLDB4MDAgfSwKLSAgMTYsIDB4YTBmMCwgMCwgezB4YjcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDM4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTEwMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MTIsMHhhMSwweDY0LDB4MjAsMHhlNiwweDBiLDB4MjAsMHgwMiwweDAwLDB4MTAsMHg5MCwweDRhLDB4MjAgfSwKLSAgMTYsIDB4YTExMCwgMCwgezB4MjAsMHg0YiwweDAwLDB4NDIsMHgwNCwweDAwLDB4ODMsMHgwMCwweDIwLDB4YzIsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMgfSwKLSAgMTYsIDB4YTEyMCwgMCwgezB4MDQsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MGUsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwLDB4NGIsMHgzMCwweDAyLDB4OTIgfSwKLSAgMTYsIDB4YTEzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4ZWUsMHhjMCwweDMzLDB4OTAgfSwKLSAgMTYsIDB4YTE0MCwgMCwgezB4MGYsMHhhMCwweDFiLDB4MDgsMHgwMCwweGNhLDB4NDAsMHhiMiwweDgyLDB4MGYsMHhhMCwweDBiLDB4MjgsMHgwMiwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YTE1MCwgMCwgezB4YjIsMHg5MCwweGFjLDB4YTAsMHgwMywweDI5LDB4MDAsMHhjYSwweDQwLDB4YjIsMHg4MCwweDhlLDB4YTQsMHgwMywweDJhLDB4MDAgfSwKLSAgMTYsIDB4YTE2MCwgMCwgezB4ZmEsMHgwMCwweDNmLDB4YTgsMHgwZiwweGEwLDB4MGIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTE3MCwgMCwgezB4NDgsMHgwMCwweGUyLDB4MDIsMHg5MCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODgsMHgwMywweGYxLDB4MDAsMHhmYywweDAyLDB4M2YgfSwKLSAgMTYsIDB4YTE4MCwgMCwgezB4MjAsMHgwZiwweGM4LDB4MDMsMHhjMSwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDAwLDB4MDEsMHg2MCwweDAyLDB4ZjggfSwKLSAgMTYsIDB4YTE5MCwgMCwgezB4MDgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4OGYsMHg4MCwweDEzLDB4OTIgfSwKLSAgMTYsIDB4YTFhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMCwweGIyLDB4NjQgfSwKLSAgMTYsIDB4YTFiMCwgMCwgezB4MGYsMHg5MSwweDAzLDB4ZTQsMHgwNCwweGM5LDB4MDAsMHgzMiwweDQwLDB4NmMsMHg5MCwweDAzLDB4MjUsMHgwMiwweGM5LDB4OTAgfSwKLSAgMTYsIDB4YTFjMCwgMCwgezB4YjAsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MjAsMHhjOSwweGEwLDB4M2UsMHg0MCwweDRjLDB4OTAsMHgyMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4YTFkMCwgMCwgezB4ZjEsMHgwMCwweDkyLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTFlMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgwLDB4YTIsMHg0MCwweDBiLDB4OTYsMHg0MiwweGU1LDB4MDQsMHg4OSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4YTFmMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4MDksMHg0MSwweDIyLDB4NDAsMHg0OCwweDkwLDB4NDIsMHgyNCwweDA0LDB4ODkgfSwKLSAgMTYsIDB4YTIwMCwgMCwgezB4ODAsMHgyNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YTIxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNSwweDAwLDB4ODksMHgyMCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4YTIyMCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZjQsMHg4NCwweDg1LDB4MDAsMHgyMSwweDQwLDB4NDgsMHg1MCwweDAyLDB4MjQsMHgyMCwweDhkLDB4MDggfSwKLSAgMTYsIDB4YTIzMCwgMCwgezB4MjMsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDk0LDB4MDAsMHg4ZCwweDAwLDB4MjksMHg0MCwweDBhLDB4ZDAsMHgwMiwweGE0LDB4MDggfSwKLSAgMTYsIDB4YTI0MCwgMCwgezB4YjksMHgwMCwweDI4LDB4NDAsMHgxOCwweDkwLDB4YzIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTI1MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg1MSwweDBiLDB4MTAsMHgwMiwweGY1LDB4ODAsMHg4NSwweGMxLDB4YTEgfSwKLSAgMTYsIDB4YTI2MCwgMCwgezB4NTAsMHgwOCwweDU0LDB4MGEsMHgwNSwweDA2LDB4ODUsMHg0MCwweDIxLDB4NTAsMHg4OCwweDU0LDB4MDIsMHg5NSwweDAwLDB4ODUgfSwKLSAgMTYsIDB4YTI3MCwgMCwgezB4NDQsMHgyZCwweDUwLDB4MmEsMHg1NCwweDEyLDB4YzUsMHgwMSwweGIxLDB4MDAsMHgwOCwweDUwLDB4MDgsMHgxMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YTI4MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4Y2EsMHg1MCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4YTI5MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZTgsMHgwMiwweGM4LDB4MDEsMHgzMiwweDAwLDB4MmMsMHhjMCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDIgfSwKLSAgMTYsIDB4YTJhMCwgMCwgezB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2EsMHgwMCwweDRlLDB4NDAsMHgyMywweGEwLDB4MDggfSwKLSAgMTYsIDB4YTJiMCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgyYywweDgwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTJjMCwgMCwgezB4OTgsMHgxZCwweGRjLDB4MDQsMHhmZCwweDQwLDB4M2YsMHg1MCwweDRmLDB4OTAsMHg2MywweGU0LDB4NDAsMHhmMSwweDAyLDB4M2UgfSwKLSAgMTYsIDB4YTJkMCwgMCwgezB4NDEsMHgwZiwweDkwLDB4MTMsMHhmNSwweDA0LDB4ZjksMHg0MSwweDNlLDB4NTAsMHgwZiwweDk0LDB4NDMsMHg2NSwweDAyLDB4ZjkgfSwKLSAgMTYsIDB4YTJlMCwgMCwgezB4NDEsMHgzNiwweDUwLDB4NGQsMHg5NCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4NDEsMHgzNywweDQwLDB4NGYsMHg5NCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YTJmMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmYywweDAwLDB4Y2QsMHhhOCwweDMzLDB4NzAgfSwKLSAgMTYsIDB4YTMwMCwgMCwgezB4MGYsMHhkMCwweDEzLDB4ZjYsMHg4OCwweGNkLDB4MDAsMHgzMiwweDUwLDB4NGYsMHgxNCwweDIzLDB4MDcsMHhhMCwweGM5LDB4YzAgfSwKLSAgMTYsIDB4YTMxMCwgMCwgezB4MzIsMHg3OCwweDBjLDB4OWUsMHgwMywweDM3LDB4MDIsMHhjZCwweGMwLDB4MzIsMHg2NCwweDBmLDB4OTgsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTMyMCwgMCwgezB4Y2QsMHgwMCwweDMyLDB4NDAsMHgyYywweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTMzMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDgsMHg4OCwweGViLDB4MjIsMHgzMCwweDBiLDB4ODAsMHgxMiwweGU4LDB4MDQsMHhhMCwweGEwLDB4MmEgfSwKLSAgMTYsIDB4YTM0MCwgMCwgezB4MjAsMHgwYiwweDhhLDB4MGEsMHgyMywweDAwLDB4ODgsMHg4MCwweDIyLDB4MjgsMHgwMCwweGM4LDB4NDIsMHgyMywweDgwLDB4ODAgfSwKLSAgMTYsIDB4YTM1MCwgMCwgezB4ZDQsMHgyMCwweDI4LDB4MDksMHg4MCwweDAyLDB4MjIsMHg5NCwweGE4LDB4MDAsMHgyYSwweDAwLDB4ODgsMHg4NSwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YTM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweGEwLDB4ODMsMHgwMCwweDI0LDB4ZDggfSwKLSAgMTYsIDB4YTM3MCwgMCwgezB4OGIsMHgxMCwweDAyLDB4ZTUsMHgxNCwweDg5LDB4MGEsMHgyMSwweDQ4LDB4MGIsMHg1MiwweDAyLDB4NTQsMHg4MCwweDg1LDB4NDAgfSwKLSAgMTYsIDB4YTM4MCwgMCwgezB4MjUsMHg1OCwweDA5LDB4NTYsMHgwMiwweDQ1LDB4MDIsMHg4MSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwMiwweDA0LDB4MzAgfSwKLSAgMTYsIDB4YTM5MCwgMCwgezB4ODEsMHgwMCwweDIwLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTNhMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MTIsMHg4OSwweDAwLDB4YTYsMHg0MCwweDBiLDB4OTAsMHg0MiwweGU0LDB4OTgsMHhhOSwweDgwLDB4MmIgfSwKLSAgMTYsIDB4YTNiMCwgMCwgezB4NDAsMHgwYiwweDUxLDB4MDIsMHg1NSwweDAwLDB4OWQsMHgwOCwweDI3LDB4NDgsMHgwOSwweGY2LDB4MDIsMHg0NCwweDAwLDB4ODEgfSwKLSAgMTYsIDB4YTNjMCwgMCwgezB4MDQsMHgyMiwweDQwLDB4MTksMHg5MSwweDhhLDB4MjQsMHg4MCwweGE5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4YTNkMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDAyLDB4YzksMHgwNCwweDM2LDB4NTggfSwKLSAgMTYsIDB4YTNlMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YzUsMHgwMCwweGM5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDEzLDB4NjQsMHgwMiwweGM5LDB4MDAgfSwKLSAgMTYsIDB4YTNmMCwgMCwgezB4MzYsMHg0MCwweDJkLDB4OTAsMHgwYiwweDY2LDB4MDQsMHhjOSwweGUwLDB4YjIsMHg0OCwweDhmLDB4OTgsMHg0NywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTQwMCwgMCwgezB4YzksMHgwMCwweDcyLDB4NDAsMHgwYywweDEwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQxMCwgMCwgezB4MjgsMHgwMSwweGE1LDB4MDgsMHhmOSwweDIxLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDQsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTQyMCwgMCwgezB4NDAsMHg0ZiwweDk4LDB4ODMsMHhhNCwweDAwLDB4ZTksMHg0MCwweGJhLDB4NjAsMHgwZSwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjkgfSwKLSAgMTYsIDB4YTQzMCwgMCwgezB4YTMsMHgzZSwweDQ4LDB4MGYsMHg5OCwweDBiLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4YTQ0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMiwweDQ4LDB4YzgsMHgyMCwweDMyLDB4MDggfSwKLSAgMTYsIDB4YTQ1MCwgMCwgezB4MWYsMHg4MCwweDgzLDB4ZTEsMHgyMiwweGM4LDB4MDEsMHgzMywweDAwLDB4MmMsMHhjMCwweDAzLDB4MzAsMHgwNCwweGNjLDB4NDAgfSwKLSAgMTYsIDB4YTQ2MCwgMCwgezB4YjEsMHgwMCwweDBjLDB4NDQsMHgwMywweDIwLDB4MTIsMHhjOCwweDQxLDB4MzIsMHgwMCwweDJkLDB4ODQsMHgwYiwweDYwLDB4MDAgfSwKLSAgMTYsIDB4YTQ3MCwgMCwgezB4ZjgsMHgwMCwweGIyLDB4MDAsMHg0YywweDgwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQ4MCwgMCwgezB4MjgsMHgwNSwweDNhLDB4MDAsMHhhNiwweDAwLDB4MjMsMHg5MCwweDAzLDB4ZTQsMHg5MiwweGY4LDB4MDAsMHg4MiwweDAwLDB4MzYgfSwKLSAgMTYsIDB4YTQ5MCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4Y2EsMHgwMCwweDIyLDB4ODMsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4YTRhMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGI2LDB4ODAsMHgyMiwweDgwLDB4MGQsMHhlOCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4YTRiMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2ZSwweDAwLDB4ODIsMHg0MiwweDIwLDB4YzAgfSwKLSAgMTYsIDB4YTRjMCwgMCwgezB4MGIsMHgzNCwweDAyLDB4Y2QsMHgwOSwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMiwweDk4LDB4MDAgfSwKLSAgMTYsIDB4YTRkMCwgMCwgezB4MjAsMHgyMCwweDI4LDB4MDAsMHgwYSwweDA0LDB4MTAsMHg4MSwweDgwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4YTRlMCwgMCwgezB4YjMsMHgwMCwweDIyLDB4YzAsMHgxOCwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTRmMCwgMCwgezB4YTAsMHgwMSwweDM4LDB4MDIsMHhhMywweDAwLDB4MjEsMHg0MCwweDFiLDB4NzAsMHgwMiwweGRjLDB4MjAsMHg4NCwweDA1LDB4NjUgfSwKLSAgMTYsIDB4YTUwMCwgMCwgezB4ZTAsMHgwOCwweGYwLDB4MDIsMHg3YywweDEwLDB4OTcsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg1NCwweDg4LDB4ODcgfSwKLSAgMTYsIDB4YTUxMCwgMCwgezB4MDksMHgyMSwweGU4LDB4MDksMHgzMywweDAyLDB4MWMsMHg4MCwweGI2LDB4MDgsMHg2MywweGM4LDB4MDksMHgzOCwweDEyLDB4MjggfSwKLSAgMTYsIDB4YTUyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHhhMCwweGExLDB4ZTAgfSwKLSAgMTYsIDB4YTUzMCwgMCwgezB4MGIsMHg3OCwweDAzLDB4ZmUsMHgwMCwweGM1LDB4ODIsMHgzMywweDIwLDB4MGMsMHg0OCwweDAzLDB4MWUsMHgwMSwweGRmLDB4ODAgfSwKLSAgMTYsIDB4YTU0MCwgMCwgezB4MzEsMHgyMCwweDBjLDB4NDgsMHgwMywweDA2LDB4NDAsMHg4NywweDgyLDB4MzEsMHhmOCwweDBkLDB4N2IsMHgwMywweDVmLDB4MDAgfSwKLSAgMTYsIDB4YTU1MCwgMCwgezB4ZjMsMHg4MCwweDMxLDB4ZjIsMHgwYywweDYwLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTU2MCwgMCwgezB4MDgsMHgxZCwweDljLDB4MDAsMHhmYiwweDAxLDB4MmYsMHg0MCwweDA3LDB4YjAsMHgwMywweGU4LDB4MDQsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTU3MCwgMCwgezB4YzEsMHgwZiwweGIwLDB4MDMsMHhlMCwweDA2LDB4ZTgsMHgwMiwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDEsMHhhNCwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4YTU4MCwgMCwgezB4NDAsMHhiZSwweGQwLDB4MDYsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGZhLDB4MDAsMHgzYywweGQ4LDB4MGYsMHhhMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YTU5MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2YsMHg4OCwweDMzLDB4NjQgfSwKLSAgMTYsIDB4YTVhMCwgMCwgezB4MmMsMHhmOCwweDAzLDB4ZmUsMHgwMiwweGM0LDB4YjAsMHgzMywweDIwLDB4OGMsMHhkOCwweDAzLDB4MzIsMHgwMCwweGNjLDB4YjQgfSwKLSAgMTYsIDB4YTViMCwgMCwgezB4MzMsMHhhMCwweDBjLDB4YzgsMHgwMywweDE2LDB4MjAsMHhjZiwweGMwLDB4MzMsMHhmMCwweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAgfSwKLSAgMTYsIDB4YTVjMCwgMCwgezB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGQ4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTVkMCwgMCwgezB4YTgsMHgxMSwweGI1LDB4MDQsMHg4NywweDEyLDB4YTEsMHg1MCwweDBhLDB4NzQsMHgxMiwweGM0LDB4NDAsMHg4NCwweDExLDB4MjMgfSwKLSAgMTYsIDB4YTVlMCwgMCwgezB4YzAsMHgyOCwweGUwLDB4MDIsMHgxYywweDAyLDB4YTcsMHgxMSwweDIxLDB4NTgsMHg0OCwweDcwLDB4MGEsMHgxNCwweDAwLDB4OGQgfSwKLSAgMTYsIDB4YTVmMCwgMCwgezB4MDAsMHgyMywweGMwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg0MCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4YTYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NSwweDAwLDB4ODcsMHg0MCwweDIxLDB4MDAgfSwKLSAgMTYsIDB4YTYxMCwgMCwgezB4MTgsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDk1LDB4MjgsMHhlMSwweDAyLDB4MDgsMHg1MCwweDAyLDB4M2MsMHg0MiwweGE3LDB4MjIgfSwKLSAgMTYsIDB4YTYyMCwgMCwgezB4MjEsMHg4MCwweDg4LDB4NDEsMHgwMiwweDE0LDB4MDAsMHg4NSwweDAwLDB4YTEsMHhjMCwweDA5LDB4NzEsMHgwMiwweGRjLDB4MDAgfSwKLSAgMTYsIDB4YTYzMCwgMCwgezB4YjUsMHgxMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTY0MCwgMCwgezB4MjAsMHgxNCwweGM0LDB4MTAsMHg4MywweDg0LDB4MjAsMHgxMSwweDA4LDB4MzAsMHgwMiwweGMzLDB4MTAsMHg5MSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4YTY1MCwgMCwgezB4YzAsMHgwOCwweDI4LDB4MTIsMHgwMCwweDAwLDB4YTAsMHg4NCwweDIwLDB4NDAsMHgwOCwweDMwLDB4MDIsMHgwNCwweDI2LDB4ODMgfSwKLSAgMTYsIDB4YTY2MCwgMCwgezB4MDAsMHgyMCwweGQwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIyLDB4MDAsMHgyYywweGMwLDB4MGIsMHgwMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YTY3MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZCwweDAwLDB4Y2YsMHg4OCwweGIyLDB4ZTggfSwKLSAgMTYsIDB4YTY4MCwgMCwgezB4MGMsMHgzMCwweDEzLDB4Y2UsMHhjMiwweGQwLDB4ODIsMHgzMiwweDAwLDB4MGMsMHgwZSwweDBiLDB4MjAsMHgwMCwweGM4LDB4ODggfSwKLSAgMTYsIDB4YTY5MCwgMCwgezB4YjIsMHg0MCwweDJjLDB4YmEsMHg0MywweDM3LDB4MDIsMHhjYiwweDAwLDB4YjMsMHhjMCwweDJjLDB4ZjAsMHgwMywweGZjLDB4MTIgfSwKLSAgMTYsIDB4YTZhMCwgMCwgezB4ZmIsMHgwMCwweDdmLDB4ZDEsMHgwZiwweDMwLDB4MGIsMHgyYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTZiMCwgMCwgezB4ODAsMHgwMCwweGVkLDB4MDIsMHhmMSwweDQwLDB4M2UsMHg0MSwweDBmLDB4YjAsMHgyMywweGVkLDB4MDAsMHhlOCwweDAxLDB4M2UgfSwKLSAgMTYsIDB4YTZjMCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MTMsMHhlYywweDA0LDB4ZGIsMHgwMCwweDNjLDB4ODAsMHgwZiwweDA0LDB4MDMsMHhlNCwweDQwLDB4ZjkgfSwKLSAgMTYsIDB4YTZkMCwgMCwgezB4MDAsMHgzYywweGMyLDB4MGUsMHhiMCwweDAzLDB4ZWUsMHgwMCwweDRiLDB4NDEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YTZlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4NGIsMHgwMCwweDMyLDB4NDIgfSwKLSAgMTYsIDB4YTZmMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4MzYsMHg4MCwweGNkLDB4MDAsMHgzMywweDAwLDB4NGMsMHhjMCwweDgzLDB4M2MsMHgwNCwweGY3LDB4MDAgfSwKLSAgMTYsIDB4YTcwMCwgMCwgezB4MzIsMHg0MCwweDBjLDB4YjEsMHg0MywweDE0LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAgfSwKLSAgMTYsIDB4YTcxMCwgMCwgezB4ZmYsMHgwMCwweGIzLDB4YzIsMHgwYywweGEwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTcyMCwgMCwgezB4ODEsMHgwNCwweDRmLDB4MDIsMHg4YiwweDgwLDB4MjAsMHgzMCwweDA4LDB4YmMsMHgwMiwweDIwLDB4MTAsMHg4OSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4YTczMCwgMCwgezB4YzAsMHgwMCwweGIwLDB4MDMsMHg2MCwweDA0LDB4YjgsMHgwMCwweGEyLDB4OTAsMHgyOCwweDhjLDB4MWEsMHgyNCwweDAyLDB4OGIgfSwKLSAgMTYsIDB4YTc0MCwgMCwgezB4ODMsMHgyMiwweGMxLDB4MDgsMHhiMCwweDAyLDB4ZmMsMHgwMCwweGIzLDB4NjAsMHgyMCwweGMwLDB4MGQsMHhhMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YTc1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZSwweDAwLDB4YWIsMHhjMCwweDIyLDB4NjAgfSwKLSAgMTYsIDB4YTc2MCwgMCwgezB4MDgsMHhiOCwweDAyLDB4MjksMHgwMCwweDg4LDB4MDEsMHgyMCwweDAwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4MDAgfSwKLSAgMTYsIDB4YTc3MCwgMCwgezB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGU0LDB4MDAsMHg4MSwweDI0LDB4YTIsMHhjMCwweDA5LDB4YjAsMHg0NiwweGVjLDB4MDAgfSwKLSAgMTYsIDB4YTc4MCwgMCwgezB4YjksMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTc5MCwgMCwgezB4MDgsMHgwNCwweDJjLDB4MDAsMHhhMSwweDAwLDB4YTAsMHg0MSwweDA4LDB4YjAsMHgwYSwweDIwLDB4NTMsMHg4OCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YTdhMCwgMCwgezB4YzAsMHgyOCwweGEwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4MDAsMHg4OCwweDAwLDB4MDIsMHg4NCwweDAwLDB4ODMgfSwKLSAgMTYsIDB4YTdiMCwgMCwgezB4MDQsMHgyMCwweGMwLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHg2MiwweGMwLDB4MDksMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YTdjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZTksMHgwMCwweDIyLDB4MDAgfSwKLSAgMTYsIDB4YTdkMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MDAsMHgwNCwweGM5LDB4MDAsMHhiMiwweDAwLDB4MGMsMHg5MCwweDAzLDB4MmMsMHgwMCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4YTdlMCwgMCwgezB4YjIsMHhjMCwweDhjLDB4YjAsMHgwMywweGI0LDB4MDIsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDA0LDB4ZjAsMHgwMywweGVjLDB4MDggfSwKLSAgMTYsIDB4YTdmMCwgMCwgezB4ZjksMHgwMCwweDMzLDB4YzAsMHgwYywweDgwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTgwMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MTAsMHhkZCwweDA0LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyMywweGYwLDB4OTAsMHhmZCwweDAwLDB4MmYgfSwKLSAgMTYsIDB4YTgxMCwgMCwgezB4YzAsMHgwZiwweGUwLDB4NDMsMHhkMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHg4ZiwweGMwLDB4MjIsMHg3NCwweDAwLDB4ZmQgfSwKLSAgMTYsIDB4YTgyMCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDYsMHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTggfSwKLSAgMTYsIDB4YTgzMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDgwLDB4ZWYsMHgyMCwweDExLDB4YzAgfSwKLSAgMTYsIDB4YTg0MCwgMCwgezB4MGUsMHg3MiwweDAzLDB4YmQsMHhiMCwweGNmLDB4MzEsMHhiZiwweGNjLDB4MDIsMHhmMCwweDAzLDB4ZmMsMHhjNiwweGNmLDB4MDEgfSwKLSAgMTYsIDB4YTg1MCwgMCwgezB4MGIsMHhjNSwweDBmLDB4ZjEsMHgwMywweDNjLDB4MDQsMHhlZiwweDYxLDB4MzMsMHhkOCwweDA3LDB4ZjAsMHgwMywweDM0LDB4ODAgfSwKLSAgMTYsIDB4YTg2MCwgMCwgezB4Y2QsMHgzMCwweDczLDB4Y2MsMHgwZiwweGU4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTg3MCwgMCwgezB4ODAsMHgxOCwweGU5LDB4MDAsMHg4OCwweDY5LDB4MjIsMHgxMCwweDA4LDB4OGMsMHgwMCwweDIxLDB4ODQsMHg4OCwweDQxLDB4MjIgfSwKLSAgMTYsIDB4YTg4MCwgMCwgezB4MTAsMHg4OCwweDg2LDB4OTIsMHgwMSwweDAwLDB4ODgsMHg2MiwweDIyLDB4MTAsMHg0YiwweDg3LDB4MDIsMHgyMSwweGEwLDB4ODggfSwKLSAgMTYsIDB4YTg5MCwgMCwgezB4NjAsMHgyMCwweDEwLDB4MGIsMHg4NiwweGEyLDB4MzUsMHhhMCwweGFiLDB4NjAsMHhhMSwweGM0LDB4MGIsMHhiOCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YThhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZCwweGE4LDB4MzMsMHg0MSwweDIwLDB4YzYgfSwKLSAgMTYsIDB4YThiMCwgMCwgezB4NGEsMHgzMSwweDAwLDB4OGMsMHgxMCwweDkzLDB4MzMsMHgyOCwweGNjLDB4MjksMHgzNCwweDEyLDB4OGMsMHg1MCwweDkzLDB4MWMgfSwKLSAgMTYsIDB4YThjMCwgMCwgezB4MjgsMHg4NCwweDAxLDB4MjAsMHg0YSwweDRjLDB4NDEsMHg4MywweDEwLDB4MjQsMHhjYywweDRiLDB4MzEsMHg0MiwweDRjLDB4NDAgfSwKLSAgMTYsIDB4YThkMCwgMCwgezB4OTEsMHgxMCwweDI0LDB4YzAsMHgwYiwweDgwLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YThlMCwgMCwgezB4YzAsMHgwNSwweGE4LDB4MjAsMHg5MCwweDAyLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMCwweDIwLDB4MzAsMHhiOCwweDA4LDB4MjYgfSwKLSAgMTYsIDB4YThmMCwgMCwgezB4MDAsMHgwMSwweDgwLDB4ODIsMHgyMCwweDIwLDB4MTgsMHgwOCwweDQyLDB4NDAsMHgwMywweDkxLDB4MDIsMHg2MCwweDAwLDB4MDggfSwKLSAgMTYsIDB4YTkwMCwgMCwgezB4MDEsMHhhNiwweDAwLDB4MGIsMHg4MCwweDAwLDB4NmMsMHgxMCwweGJiLDB4MDEsMHgyNiwweGMwLDB4NGIsMHg5MCwweDBhLDB4MzAgfSwKLSAgMTYsIDB4YTkxMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhmZCwweDAwLDB4ZmQsMHg0MSwweDMzLDB4YTEgfSwKLSAgMTYsIDB4YTkyMCwgMCwgezB4MGUsMHhkMiwweDAzLDB4YjUsMHgwMiwweGRmLDB4NDIsMHgzYiwweDAxLDB4MGYsMHhkNCwweDQzLDB4YjUsMHgwMCwweGNkLDB4NDAgfSwKLSAgMTYsIDB4YTkzMCwgMCwgezB4MWIsMHhjNCwweDBkLDB4NzgsMHgwMywweDcwLDB4MDIsMHhlYywweDAwLDB4MTcsMHhhMSwweDBmLDB4ZTgsMHgwYiwweDJjLDB4MDIgfSwKLSAgMTYsIDB4YTk0MCwgMCwgezB4ZDksMHg5MCwweDI2LDB4YzAsMHgwZiwweGFjLDB4MDMsMHgwMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTk1MCwgMCwgezB4ZTAsMHgwMSwweGI4LDB4MDAsMHhlZSwweDAwLDB4MWYsMHg2NCwweDRmLDB4ZTAsMHgwMywweGQ4LDB4MTAsMHhjNCwweDE4LDB4MzMgfSwKLSAgMTYsIDB4YTk2MCwgMCwgezB4YzAsMHgwYywweGEwLDB4YTEsMHhiOCwweDA5LDB4ZTYsMHgwOSwweDM2LDB4MjIsMHgwZiwweDg4LDB4MjMsMHhiYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YTk3MCwgMCwgezB4MDAsMHgzYiwweDY0LDB4MGYsMHhkOSwweDAzLDB4OWMsMHgwMCwweGUzLDB4MDQsMHgzYiwweGMwLDB4MGYsMHhmNCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YTk4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4ZCwweDAwLDB4YzksMHg0MCwweGI2LDB4ODAgfSwKLSAgMTYsIDB4YTk5MCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YTcsMHgyMCwweGZiLDB4NTAsMHhiNiwweDA4LDB4NGMsMHgxNCwweDAzLDB4NjUsMHgyMiwweGQ5LDB4NDAgfSwKLSAgMTYsIDB4YTlhMCwgMCwgezB4YjYsMHg4MCwweDBlLDB4YTAsMHgwYiwweDAwLDB4MDAsMHhkOCwweDAwLDB4NzYsMHg4MiwweDI4LDB4YTAsMHgyMywweDY0LDB4MDAgfSwKLSAgMTYsIDB4YTliMCwgMCwgezB4YzksMHgwNCwweDEyLDB4YzAsMHg4ZSwweDgwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTljMCwgMCwgezB4YzgsMHgwNSwweDJiLDB4NjAsMHg4YSwweDA5LDB4MjAsMHg1MCwweDA4LDB4YTAsMHgyMywweGU5LDB4MDAsMHhiOCwweGMwLDB4MjIgfSwKLSAgMTYsIDB4YTlkMCwgMCwgezB4ZjAsMHgwOCwweGFjLDB4MDIsMHgyOCwweDA0LDB4OGEsMHhjMiwweDIyLDB4NTAsMHgwOCwweDkwLDB4MDYsMHgyYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4YTllMCwgMCwgezB4MDQsMHgyMiwweDUxLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwNCwweDhiLDB4MDQsMHgzNywweGMwLDB4MDgsMHgxOCwweDQyLDB4MjYgfSwKLSAgMTYsIDB4YTlmMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDQsMHg0YiwweDAwLDB4ODIsMHhjOCwweDI0LDB4NDMgfSwKLSAgMTYsIDB4YWEwMCwgMCwgezB4MGIsMHgyNiwweDBhLDB4ODgsMHgwMCwweGIwLDB4ODAsMHgyMiwweGU0LDB4MGIsMHgyMCwweDQyLDB4NjksMHgwMCwweGEyLDB4OTAgfSwKLSAgMTYsIDB4YWExMCwgMCwgezB4MjgsMHg0MCwweGU4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiYiwweDAwLDB4MjgsMHg1MCwweDg4LDB4OTAsMHg4MiwweGM0LDB4MDEgfSwKLSAgMTYsIDB4YWEyMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDEwLDB4MDIsMHhiYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWEzMCwgMCwgezB4MjAsMHgxMCwweDRlLDB4ODAsMHg4MSwweDAwLDB4MjEsMHhhOCwweDA4LDB4NTgsMHgwMiwweGQ2LDB4MDEsMHhiNywweDkwLDB4NjggfSwKLSAgMTYsIDB4YWE0MCwgMCwgezB4MjAsMHgwMywweDU5LDB4ODIsMHg1NiwweDAwLDB4YTUsMHg4NCwweDJkLDB4YTIsMHgxOCwweDY5LDB4MjIsMHgwMiwweDAwLDB4MzQgfSwKLSAgMTYsIDB4YWE1MCwgMCwgezB4ODAsMHgyOSwweGE4LDB4MDgsMHg2OCwweDA2LDB4YzYsMHgxNCwweDg1LDB4ODIsMHgyNSwweGUwLDB4MDgsMHg1OCwweDgyLDB4MWMgfSwKLSAgMTYsIDB4YWE2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0OCwweDAwLDB4YzIsMHhmMCwweDM0LDB4NDAgfSwKLSAgMTYsIDB4YWE3MCwgMCwgezB4MGYsMHgyMCwweDAzLDB4ODgsMHg4MCwweGY4LDB4MTAsMHgzMCwweGMwLDB4MjcsMHgyMSwweDBiLDB4NDgsMHg4MCwweGVhLDB4MjAgfSwKLSAgMTYsIDB4YWE4MCwgMCwgezB4MzgsMHgwMCwweDBjLDB4MDAsMHgxMiwweDBjLDB4MDgsMHg3MywweDAwLDB4YjgsMHg0MCwweDBjLDB4MTIsMHgyMywweDRjLDB4MDIgfSwKLSAgMTYsIDB4YWE5MCwgMCwgezB4NDMsMHgzNCwweDMwLDB4YzAsMHgwZSwweDExLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWFhMCwgMCwgezB4NDAsMHgxNSwweGFjLDB4OTAsMHhmOSwweDAxLDB4MmUsMHg4OCwweDRiLDB4OTAsMHgxMSwweDY0LDB4MDAsMHhmYiwweDEwLDB4MzIgfSwKLSAgMTYsIDB4YWFiMCwgMCwgezB4MDAsMHgwMCwweDkxLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCwweDMyLDB4YzQsMHg0ZCwweGIwLDB4NDMsMHhlMCwweDA0LDB4YzggfSwKLSAgMTYsIDB4YWFjMCwgMCwgezB4MDAsMHgzNiwweDg5LDB4MGYsMHhhOCwweDAzLDB4ZWQsMHgwMCwweGY5LDB4MTQsMHgzZSwweGMwLDB4MGYsMHgxMCwweDQzLDB4ZDAgfSwKLSAgMTYsIDB4YWFkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhlOCwweDAwLDB4YzgsMHgwMCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4YWFlMCwgMCwgezB4MGMsMHgwMCwweDUzLDB4YTAsMHgwMCwweGU4LDB4MDEsMHgzMiwweDAxLDB4MGUsMHg4MCwweDUzLDB4MjAsMHgxMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4YWFmMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDIwLDB4MTAsMHhlOCwweDA0LDB4YjYsMHgwMCwweDg0LDB4ODAsMHgwMywweDJkLDB4MTIgfSwKLSAgMTYsIDB4YWIwMCwgMCwgezB4Y2IsMHgwMCwweDJlLDB4Y2EsMHgwNCwweDkwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWIxMCwgMCwgezB4NGMsMHgxOSwweDhjLDB4MDAsMHg4NywweDAyLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MjEgfSwKLSAgMTYsIDB4YWIyMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4NjIsMHg0YywweDA0LDB4ODMsMHgwMCwweDIxLDB4ODAsMHg0OCwweGUwLDB4MTIsMHgzYywweDAwLDB4ODcgfSwKLSAgMTYsIDB4YWIzMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg1LDB4MDEsMHgyNCwweGQwLDB4MGEsMHg1MCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4YWI0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHg5YSwweDAwLDB4ODAsMHg4MCwweDI4LDB4MjAgfSwKLSAgMTYsIDB4YWI1MCwgMCwgezB4MDgsMHg0YywweDIyLDB4ZDIsMHgwMCwweGE0LDB4ODAsMHgyNCwweDMwLDB4MGIsMHg0OCwweDAyLDB4NTIsMHgwMCwweDg0LDB4YzAgfSwKLSAgMTYsIDB4YWI2MCwgMCwgezB4MjEsMHgyMCwweDA5LDB4NDgsMHg2OCwweDEzLDB4MDAsMHhhNCwweDgwLDB4NjAsMHgyMCwweDA5LDB4MDgsMHgwMiwweDU2LDB4MDAgfSwKLSAgMTYsIDB4YWI3MCwgMCwgezB4OTcsMHg4MCwweDJkLDB4ZTAsMHg4OCwweDU4LDB4MDIsMHhlMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWI4MCwgMCwgezB4NmMsMHgwNCwweGNjLDB4MDAsMHg4MywweDgwLDB4MjAsMHhkOCwweDA4LDB4MzAsMHgwMiwweDRjLDB4NDAsMHg4MywweDAwLDB4MjQgfSwKLSAgMTYsIDB4YWI5MCwgMCwgezB4ZDEsMHgwOSwweGI5LDB4NDIsMHg0ZSwweDAwLDB4ODMsMHgwMCwweDIwLDB4YzEsMHg4OSwweDMwLDB4NDIsMHgwYywweDAwLDB4ODMgfSwKLSAgMTYsIDB4YWJhMCwgMCwgezB4ZjAsMHhhMCwweGQ5LDB4MTksMHgzNiwweDIyLDB4NjYsMHgwNiwweDkxLDB4MDAsMHgwYywweGMxLDB4MGEsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YWJiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhlOCwweDAyLDB4Y2EsMHhhNSwweDJhLDB4OTEgfSwKLSAgMTYsIDB4YWJjMCwgMCwgezB4MjgsMHhhOCwweDAzLDB4ZWEsMHgwMiwweGFhLDB4MDAsMHhiNiwweGEwLDB4MGYsMHhhMCwweDBhLDB4MmEsMHg5MiwweGNhLDB4ODMgfSwKLSAgMTYsIDB4YWJkMCwgMCwgezB4YmEsMHg4MCwweDI5LDB4YTAsMHgwMywweDJiLDB4MDAsMHhlYSwweDQwLDB4NjYsMHg5MCwweDJkLDB4ZTQsMHgwYiwweDZhLDB4ODAgfSwKLSAgMTYsIDB4YWJlMCwgMCwgezB4ZGEsMHgwMCwweDNlLDB4ODAsMHgwYywweGUwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWJmMCwgMCwgezB4NDgsMHgwMSwweDgwLDB4MDAsMHhmYywweDAwLDB4M2QsMHgwMCwweDBmLDB4YzAsMHgwMywweGIwLDB4MTQsMHhmYywweDAwLDB4M2IgfSwKLSAgMTYsIDB4YWMwMCwgMCwgezB4MTIsMHgwZSwweGMwLDB4NDMsMHhiMSwweDE0LDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZSwweGMwLDB4MDMsMHhmMCwweDIwLDB4ZjQgfSwKLSAgMTYsIDB4YWMxMCwgMCwgezB4MDAsMHgzMSwweDAwLDB4MGUsMHg0NCwweDEzLDB4YTAsMHgwMCwweGU4LDB4MDYsMHgzNiwweDAwLDB4NGYsMHg4MCwweDEzLDB4ZDIgfSwKLSAgMTYsIDB4YWMyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhNCwweDAwLDB4ZDEsMHgwMCwweDM2LDB4NjAgfSwKLSAgMTYsIDB4YWMzMCwgMCwgezB4MWMsMHgxOCwweDBiLDB4NDYsMHgwMCwweGQ5LDB4ODAsMHgzMCwweDQwLDB4MmMsMHg5OCwweDA1LDB4ODYsMHgwMCwweGMxLDB4ODAgfSwKLSAgMTYsIDB4YWM0MCwgMCwgezB4OTIsMHg0MCwweDBkLDB4MTAsMHgwMywweDQ0LDB4MDIsMHg4OSwweDAwLDB4MzIsMHg3MCwweDBjLDB4OTgsMHgwMSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YWM1MCwgMCwgezB4YzksMHgwNCwweDMwLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWM2MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweDI0LDB4ODAsMHg4OSwweDAxLDB4MjIgfSwKLSAgMTYsIDB4YWM3MCwgMCwgezB4NDAsMHg0OCwweDkxLDB4MDIsMHgyNCwweDAwLDB4ZDksMHg5MCwweDIyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDEwLDB4ODkgfSwKLSAgMTYsIDB4YWM4MCwgMCwgezB4MDAsMHgzMiwweDQwLDB4MDgsMHg5NSwweDEyLDB4MjQsMHgwMiwweDgxLDB4MDAsMHhhMiwweDQxLDB4MGQsMHg5MCwweDQyLDB4ZTAgfSwKLSAgMTYsIDB4YWM5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MDUsMHgyNCwweDAyLDB4OWQsMHgwMCwweDIzLDB4NDQgfSwKLSAgMTYsIDB4YWNhMCwgMCwgezB4MDgsMHhkMiwweDA2LDB4NzQsMHg4MCwweGI1LDB4MjAsMHgyMywweDQwLDB4MWEsMHhkMCwweDA2LDB4MzUsMHg5MCwweDhkLDB4MDIgfSwKLSAgMTYsIDB4YWNiMCwgMCwgezB4MmYsMHg0NCwweDE5LDB4ZDAsMHgwMiwweDc0LDB4MDAsMHg4ZCwweDAwLDB4NjMsMHg0MCwweDE4LDB4ZDQsMHgwMiwweGE0LDB4MTEgfSwKLSAgMTYsIDB4YWNjMCwgMCwgezB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWNkMCwgMCwgezB4MjgsMHgxNCwweDA0LDB4ODAsMHg4NSwweDIwLDB4MjEsMHg2OCwweDA4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHhhNSwweDIwLDB4YTEgfSwKLSAgMTYsIDB4YWNlMCwgMCwgezB4NDgsMHgwYSwweDcyLDB4MzgsMHgxNCwweDgwLDB4OTUsMHgyNCwweDJkLDB4NDgsMHgyOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4ODUgfSwKLSAgMTYsIDB4YWNmMCwgMCwgezB4MjAsMHgyMSwweDQ4LDB4MDgsMHg1MiwweDA2LDB4ODQsMHg4MCwweDgxLDB4MjAsMHgyMCwweDRhLDB4MDksMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YWQwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweGIyLDB4MTQgfSwKLSAgMTYsIDB4YWQxMCwgMCwgezB4MjgsMHhhMCwweDAzLDB4NjEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDk0LDB4NGUsMHg4NSwweDA0LDB4MjEsMHg0MiwweGM4LDB4NTAgfSwKLSAgMTYsIDB4YWQyMCwgMCwgezB4M2MsMHgxNCwweDBkLDB4ODAsMHgwMywweDYxLDB4NDAsMHg4OCwweDUwLDB4YjIsMHgxNCwweDJjLDB4YzUsMHgwOSwweGExLDB4NDAgfSwKLSAgMTYsIDB4YWQzMCwgMCwgezB4YzgsMHg1MCwweDMyLDB4MWMsMHgwYywweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWQ0MCwgMCwgezB4OTgsMHgxNSwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2EsMHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhkOSwweDE0LDB4M2UgfSwKLSAgMTYsIDB4YWQ1MCwgMCwgezB4NDQsMHgwZCwweDkxLDB4NDMsMHg2NCwweDQwLDB4ZTksMHgxMCwweDMyLDB4NDQsMHgwNywweDkzLDB4YzMsMHhlNCwweDUwLDB4ZDEgfSwKLSAgMTYsIDB4YWQ2MCwgMCwgezB4MTAsMHg3ZSwweDQ0LDB4MDMsMHg5MSwweDAxLDB4NTQsMHg0NCwweGZkLDB4MTQsMHgzZSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YWQ3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDgwLDB4ZGQsMHhhMCwweDMzLDB4NjggfSwKLSAgMTYsIDB4YWQ4MCwgMCwgezB4MWUsMHhkYSwweDAzLDB4MzYsMHg5MCwweGNkLDB4YTAsMHgzYiwweDY4LDB4MGEsMHhkOCwweDIzLDB4NzYsMHgwYywweGVkLDB4ODAgfSwKLSAgMTYsIDB4YWQ5MCwgMCwgezB4MmIsMHg2MiwweDBiLDB4OTksMHgwMiwweGE3LDB4ODAsMHhmOSwweGUxLDB4MzcsMHg2OCwweDBjLDB4ZGEsMHgwMywweDI3LDB4ODAgfSwKLSAgMTYsIDB4YWRhMCwgMCwgezB4YzksMHhhMiwweDIyLDB4NjgsMHg0YywweDUwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWRiMCwgMCwgezB4MzgsMHgxOCwweGUxLDB4NDAsMHg4OCwweDUwLDB4MjIsMHgxNCwweDA4LDB4ODAsMHgyMiwweDYwLDB4MDAsMHg4OCwweDA0LDB4MjIgfSwKLSAgMTYsIDB4YWRjMCwgMCwgezB4MDAsMHgwOCwweDA0LDB4MjYsMHgwMSwweDAwLDB4ODgsMHg1MCwweDIyLDB4MTAsMHgwOCwweGFmLDB4MDIsMHgyMywweDAwLDB4ODggfSwKLSAgMTYsIDB4YWRkMCwgMCwgezB4YzAsMHhhMCwweDEwLDB4ODgsMHg4NCwweDAyLDB4MjMsMHg4MCwweGEwLDB4NDAsMHgyYSwweDEwLDB4MDgsMHg4MCwweDEyLDB4NGUgfSwKLSAgMTYsIDB4YWRlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHg4NCwweDAwLDB4ODEsMHgwMSwweDIwLDB4NDAgfSwKLSAgMTYsIDB4YWRmMCwgMCwgezB4MGEsMHgxNCwweDAyLDB4NDUsMHgwMCwweDgxLDB4NDEsMHgyYywweDUwLDB4MGIsMHgxNCwweDAyLDB4MDUsMHgwNCwweGExLDB4MDAgfSwKLSAgMTYsIDB4YWUwMCwgMCwgezB4MjgsMHg0MCwweDgyLDB4MTAsMHgwMiwweDg0LDB4NDAsMHhhMSwweDMyLDB4ODAsMHg1MCwweDA5LDB4MTQsMHgwMiwweDA0LDB4YzQgfSwKLSAgMTYsIDB4YWUxMCwgMCwgezB4OTEsMHgxMCwweDY0LDB4NDQsMHgyOCwweDEwLDB4MDIsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWUyMCwgMCwgezB4MTgsMHgwNCwweGFjLDB4MDIsMHg4MSwweDAwLDB4MjIsMHhjMSwweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDIsMHg4OSwweDAyLDB4MjYgfSwKLSAgMTYsIDB4YWUzMCwgMCwgezB4NDEsMHgwOSwweDkwLDB4MGEsMHgyNCwweDBjLDB4ODksMHgwNCwweDIyLDB4NTAsMHgwOCwweDkwLDB4MjYsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4YWU0MCwgMCwgezB4MDAsMHgyMiwweDQxLDB4MDksMHgxMCwweDIyLDB4MjQsMHg0MCwweGI5LDB4MDEsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4YWU1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDEwLDB4ODksMHgwMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4YWU2MCwgMCwgezB4MGEsMHg5MCwweDBiLDB4MjQsMHgxMCwweDg5LDB4MDAsMHgxZSwweDQwLDB4OWIsMHg5MCwweDAyLDB4MjQsMHgxMCwweDI5LDB4MDAgfSwKLSAgMTYsIDB4YWU3MCwgMCwgezB4MWEsMHg0MCwweDBlLDB4OTQsMHg0MSwweGE0LDB4MDAsMHgyOSwweDAwLDB4MTIsMHg0MCwweDA1LDB4OTAsMHg0MSwweDI2LDB4MDAgfSwKLSAgMTYsIDB4YWU4MCwgMCwgezB4ZDksMHgwMCwweDI0LDB4NDAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWU5MCwgMCwgezB4NDgsMHgwMSwweGE0LDB4MDIsMHhhOSwweDAwLDB4YmMsMHg0MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MDQsMHhmOSwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YWVhMCwgMCwgezB4NDEsMHgwZSwweDkwLDB4ODMsMHg4NCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZSwweDkwLDB4MDIsMHhjNCwweDA4LDB4ZTkgfSwKLSAgMTYsIDB4YWViMCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MmUsMHg5MCwweDBiLDB4ZTYsMHgwMCwweGUxLDB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MiwweDAzLDB4NWEgfSwKLSAgMTYsIDB4YWVjMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhMCwweDIwLDB4ZDgsMHgwMCwweDM2LDB4MDIgfSwKLSAgMTYsIDB4YWVkMCwgMCwgezB4MGUsMHgwMCwweGEzLDB4ZTAsMHgxOCwweGMwLDB4MDAsMHgzMCwweDAzLDB4MGYsMHg4MCwweDMzLDB4MjAsMHgwMCwweDQwLDB4MDAgfSwKLSAgMTYsIDB4YWVlMCwgMCwgezB4MzIsMHgwZCwweDBmLDB4MDQsMHgwYiwweGEwLDB4MDIsMHhjOCwweDAyLDB4MzIsMHgwMiwweDhjLDB4ODIsMHgwMywweDIwLDB4MDIgfSwKLSAgMTYsIDB4YWVmMCwgMCwgezB4YzgsMHgwNCwweDE2LDB4MDAsMHg0ZSwweDgwLDB4MDEsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWYwMCwgMCwgezB4MjgsMHgwNSwweDNiLDB4MDAsMHg4ZSwweGQ4LDB4MjMsMHg4MCwweDA4LDB4ZTAsMHgwMiwweGY4LDB4ODAsMHg4ZSwweDEwLDB4MjMgfSwKLSAgMTYsIDB4YWYxMCwgMCwgezB4YTIsMHgwYiwweGUwLDB4ODIsMHg3YSwweDIwLDB4OGUsMHgzMCwweDIzLDB4YTEsMHgwYiwweGUwLDB4MDIsMHgyOCwweDAwLDB4OGUgfSwKLSAgMTYsIDB4YWYyMCwgMCwgezB4MDAsMHgyYiwweDg4LDB4MDgsMHhlNCwweDQyLDB4MzgsMHgwMCwweDhlLDB4MDQsMHgyMywweDgwLDB4MDgsMHhhMCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4YWYzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2ZiwweDQwLDB4OTMsMHhjNiwweDI0LDB4NDAgfSwKLSAgMTYsIDB4YWY0MCwgMCwgezB4MGEsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDEsMHhhYywweGYwLDB4MGIsMHhiNCwweDAyLDB4NGMsMHgwNCwweGEzLDB4ODAgfSwKLSAgMTYsIDB4YWY1MCwgMCwgezB4MjgsMHhkMCwweDRiLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhYiwweDA0LDB4MmEsMHhjMCwweDJhLDB4MzAsMHgwYSwweGFjLDB4MTAgfSwKLSAgMTYsIDB4YWY2MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzEsMHgwYSwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWY3MCwgMCwgezB4ODAsMHgxMSwweDFjLDB4MDAsMHg4MiwweDAwLDB4MjEsMHg0MiwweDg4LDB4NzQsMHgwNiwweGRjLDB4MGIsMHg4NiwweDAyLDB4MmQgfSwKLSAgMTYsIDB4YWY4MCwgMCwgezB4ODAsMHgwYiwweDcwLDB4MmEsMHg1OCwweDAwLDB4YTYsMHgwMCwweGE5LDB4YzAsMHgwYiwweDcwLDB4MDIsMHg1YywweDg4LDB4YTcgfSwKLSAgMTYsIDB4YWY5MCwgMCwgezB4MjAsMHgyOSwweGMwLDB4MGEsMHg3MCwweDAyLDB4OWMsMHgxMCwweDk3LDB4MjAsMHhhMSwweGM4LDB4MDgsMHhkOCwweDAyLDB4MjggfSwKLSAgMTYsIDB4YWZhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDgsMHgwZSwweDAwLDB4ZDcsMHg4MCwweDM3LDB4NjAgfSwKLSAgMTYsIDB4YWZiMCwgMCwgezB4MGUsMHg2OCwweDEzLDB4ZmUsMHgwMCwweGNmLDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDIzLDB4MWUsMHgwMCwweGVmLDB4ODIgfSwKLSAgMTYsIDB4YWZjMCwgMCwgezB4MzEsMHhlMCwweDBmLDB4M2MsMHhjMywweDdlLDB4MDQsMHhlZiwweDgwLDB4YjEsMHhlMCwweDBlLDB4ZTgsMHgwMywweGJlLDB4ODAgfSwKLSAgMTYsIDB4YWZkMCwgMCwgezB4ZDcsMHhlMCwweDMzLDB4ZWEsMHgwZSwweDc4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWZlMCwgMCwgezB4MDgsMHgxNSwweGFjLDB4MDAsMHhmYSwweDAxLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGUwLDB4MDQsMHhmOCwweDAwLDB4MzIgfSwKLSAgMTYsIDB4YWZmMCwgMCwgezB4ODAsMHgwZiwweDgwLDB4NDMsMHhhYywweDBhLDB4ZDgsMHgwMCwweDM2LDB4NDAsMHgwZiwweGIwLDB4MDMsMHgyYywweDBjLDB4ZGIgfSwKLSAgMTYsIDB4YjAwMCwgMCwgezB4MDAsMHgyNiwweGMxLDB4MDksMHhhMCwweDEzLDB4NmMsMHg0MCwweGViLDB4NDAsMHgzYSwweGRjLDB4MGYsMHg5MCwweDBiLDB4YzIgfSwKLSAgMTYsIDB4YjAxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHhiZSwweDAwLDB4Y2YsMHg4MSwweDMzLDB4ZTkgfSwKLSAgMTYsIDB4YjAyMCwgMCwgezB4MWYsMHhmOSwweDEzLDB4YjYsMHg1MCwweGVmLDB4ODAsMHgxZiwweGU0LDB4MDQsMHhjOCwweDAzLDB4N2UsMHgwMCwweDZkLDB4ODEgfSwKLSAgMTYsIDB4YjAzMCwgMCwgezB4MzMsMHg2NCwweDBjLDB4ZjgsMHgxYiwweDNlLDB4MjAsMHgyZiwweDg4LDB4OTMsMHhlOCwweDBmLDB4ZmIsMHgwMywweDJlLDB4ODAgfSwKLSAgMTYsIDB4YjA0MCwgMCwgezB4Y2YsMHhjMCwweDczLDB4ZTAsMHgyYywweGQ5LDB4MDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjA1MCwgMCwgezB4YTgsMHgxOCwweDkwLDB4NDIsMHg4OSwweDE4LDB4MjEsMHhjMCwweDFmLDB4NzEsMHgwMiwweDE0LDB4YzAsMHhmNywweDIwLDB4MjcgfSwKLSAgMTYsIDB4YjA2MCwgMCwgezB4NDAsMHg0MCwweDcxLDB4MTIsMHgxOCwweDAwLDB4ODcsMHgyMCwweDIxLDB4ODAsMHg0OCwweDcxLDB4MDIsMHgzYywweDA4LDB4ODcgfSwKLSAgMTYsIDB4YjA3MCwgMCwgezB4MjAsMHgyMSwweDgyLDB4MGIsMHg2MSwweGEyLDB4MWUsMHg0NCwweGRmLDB4MDEsMHgzMSwweGM4LDB4MDgsMHg3MywweDAyLDB4ZWEgfSwKLSAgMTYsIDB4YjA4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg4YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzggfSwKLSAgMTYsIDB4YjA5MCwgMCwgezB4MGIsMHg3MCwweDAyLDB4OWMsMHgwOSwweDg3LDB4MDIsMHgyZCwweDgyLDB4OTksMHg0MCwweDAyLDB4MDQsMHgwMCwweGE1LDB4MDkgfSwKLSAgMTYsIDB4YjBhMCwgMCwgezB4MjEsMHg0MCwweDE5LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NywweDA1LDB4MjUsMHg0OCwweDRiLDB4NzIsMHgwMiwweDBjLDB4NDAgfSwKLSAgMTYsIDB4YjBiMCwgMCwgezB4ODcsMHgwMCwweGExLDB4YzAsMHg0OCwweDUwLDB4MDIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjBjMCwgMCwgezB4NjgsMHgwNCwweGMxLDB4MjAsMHg4OSwweDRjLDB4YTAsMHhiNCwweDBhLDB4MzgsMHgwMiwweDIyLDB4MDAsMHhhMSwweGQwLDB4MjQgfSwKLSAgMTYsIDB4YjBkMCwgMCwgezB4MzAsMHgwOSwweDgwLDB4MDIsMHgyNywweDQ0LDB4ODEsMHhjNiwweDIyLDB4MTQsMHgwOSwweDNkLDB4MmEsMHgwZiwweDAyLDB4OGIgfSwKLSAgMTYsIDB4YjBlMCwgMCwgezB4YzAsMHhhNiwweDIwLDB4MGIsMHgyNCwweDAwLDB4MGMsMHgxMCwweDkzLDB4ODEsMHgyMCwweGMwLDB4NDgsMHgzMCwweDA2LDB4ZDggfSwKLSAgMTYsIDB4YjBmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MTUsMHhhMSwweDAwLDB4ODksMHhjMSwweDMyLDB4ZDEgfSwKLSAgMTYsIDB4YjEwMCwgMCwgezB4MDMsMHhiYywweDAzLDB4YTksMHgyMCwweDg5LDB4NDEsMHgzZSwweDYwLDB4ODUsMHhiYywweDhiLDB4MjUsMHg0MCwweGViLDB4NDEgfSwKLSAgMTYsIDB4YjExMCwgMCwgezB4YTIsMHhhMCwweDBkLDB4ZjAsMHgxMywweDNlLDB4MjAsMHhjZiwweDkwLDB4MzYsMHgzMCwweDRmLDB4YmMsMHgwYiwweDNjLDB4MDAgfSwKLSAgMTYsIDB4YjEyMCwgMCwgezB4Y2YsMHg4MCwweDMzLDB4YzEsMHgwYywweGIxLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjEzMCwgMCwgezB4ODAsMHgwMCwweGVkLDB4MDAsMHhmOCwweDAxLDB4M2MsMHhkMCwweDBmLDB4YjMsMHgwMywweGU4LDB4ODIsMHhkOCwweDIwLDB4MzYgfSwKLSAgMTYsIDB4YjE0MCwgMCwgezB4ODAsMHgyZSwweGIyLDB4MTMsMHhlMSwweDAwLDB4ZmEsMHgwMCwweDdlLDB4YzgsMHgyZSwweGIwLDB4MDMsMHhlYywweDgwLDB4ZGIgfSwKLSAgMTYsIDB4YjE1MCwgMCwgezB4MTAsMHgzYSwweDA4LDB4NGYsMHhiMiwweDIzLDB4Y2MsMHgwMiwweGZiLDB4MTAsMHgzYSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZTQgfSwKLSAgMTYsIDB4YjE2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTAsMHhmMCwweDAwLDB4Y2QsMHgxMCwweDMzLDB4NDIgfSwKLSAgMTYsIDB4YjE3MCwgMCwgezB4MGMsMHhjYSwweDIzLDB4N2MsMHgwMCwweGNmLDB4MDAsMHgzMywweDYyLDB4MDYsMHhmMCwweDAxLDB4M2EsMHgwMCwweGNmLDB4MDggfSwKLSAgMTYsIDB4YjE4MCwgMCwgezB4MzMsMHg4MCwweDFjLDB4ZjAsMHg4MSwweDNjLDB4MDAsMHhmZiwweDAwLDB4MzMsMHhhMCwweDBjLDB4Y2EsMHgwMSwweGZjLDB4MDQgfSwKLSAgMTYsIDB4YjE5MCwgMCwgezB4Y2YsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjFhMCwgMCwgezB4YTEsMHgwNCwweDZkLDB4NDAsMHg4OCwweDQ4LDB4YTIsMHgzMSwweDA4LDB4MTAsMHgwMiwweDIwLDB4MTAsMHg4OCwweGI0LDB4MjIgfSwKLSAgMTYsIDB4YjFiMCwgMCwgezB4YTAsMHgwOCwweDgwLDB4MDAsMHg2YSwweDg0LDB4ODgsMHgyMCwweDIyLDB4NTIsMHgwOCwweGIwLDB4MGEsMHgyYywweDEwLDB4YmIgfSwKLSAgMTYsIDB4YjFjMCwgMCwgezB4MDAsMHgzMiwweGIzLDB4ODgsMHg4MCwweDAyLDB4ZWMsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHg5MCwweDEyLDB4ZTEgfSwKLSAgMTYsIDB4YjFkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgwMCwweDEwLDB4OGEsMHgwMSwweDIyLDB4YTAgfSwKLSAgMTYsIDB4YjFlMCwgMCwgezB4MDgsMHhiMCwweDQyLDB4NjAsMHgyMCwweDgwLDB4MDAsMHgyMCwweDQ0LDB4MWEsMHg4MCwweDFhLDB4ZTQsMHg0MiwweGEwLDB4MDYgfSwKLSAgMTYsIDB4YjFmMCwgMCwgezB4MjIsMHgwMCwweDc4LDB4MzAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHg0NCwweDA4LDB4YjAsMHgxMiwweGVjLDB4MDAgfSwKLSAgMTYsIDB4YjIwMCwgMCwgezB4OGIsMHgwMCwweDBlLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjIxMCwgMCwgezB4MDgsMHgxNCwweDAwLDB4MDgsMHg4MCwweDAwLDB4MjAsMHg4MSwweDA4LDB4MzAsMHgwMiwweDQwLDB4MTIsMHg4MCwweDAwLDB4YTAgfSwKLSAgMTYsIDB4YjIyMCwgMCwgezB4NDAsMHgwOCwweGIwLDB4MDIsMHhjMCwweDAwLDB4ODIsMHgwMCwweDAwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4YmIgfSwKLSAgMTYsIDB4YjIzMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDgsMHgyMCwweDAyLDB4Y2MsMHg4MCwweDkzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YjI0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4Y2EsMHgxNCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YjI1MCwgMCwgezB4MGMsMHhiMCwweDAzLDB4NGMsMHgwMCwweGNhLDB4MDAsMHgzMiwweDAwLDB4MGUsMHgwMCwweDEyLDB4YTAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4YjI2MCwgMCwgezB4NzAsMHgwMCwweDI4LDB4ZjAsMHgxMywweGFjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHg0MCwweDJjLDB4MTAsMHg0MywweGVjLDB4MDAgfSwKLSAgMTYsIDB4YjI3MCwgMCwgezB4Y2YsMHgwMCwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjI4MCwgMCwgezB4MjAsMHgxNSwweGYwLDB4MDIsMHhmYywweDAwLDB4MWYsMHgwMCwweDY3LDB4NzAsMHgwMywweGIwLDB4MDAsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4YjI5MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDMsMHgzMCwweDEwLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgwZiwweDcwLDB4MDMsMHg3YywweDAwLDB4ZjcgfSwKLSAgMTYsIDB4YjJhMCwgMCwgezB4MDQsMHgzYiwweDAwLDB4MGYsMHhjMCwweDEzLDB4ZmQsMHgxMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YjJiMCwgMCwgezB4MTIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmNCwweGMwLDB4Y2YsMHg4MCwweDMzLDB4NjAgfSwKLSAgMTYsIDB4YjJjMCwgMCwgezB4MGUsMHhjOSwweDEzLDB4MzYsMHg1MCwweGNlLDB4ODYsMHgzZiwweDA4LDB4MGMsMHhjMCwweDAzLDB4M2UsMHgwMiwweGQ3LDB4ODAgfSwKLSAgMTYsIDB4YjJkMCwgMCwgezB4MzksMHhlMCwweDBmLDB4ZjgsMHgxMywweDNlLDB4NDAsMHhjNywweDMwLDB4M2IsMHhjZSwweDBkLDB4ZjYsMHgwMywweDNkLDB4ODggfSwKLSAgMTYsIDB4YjJlMCwgMCwgezB4Y2YsMHgzMSwweDMzLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjJmMCwgMCwgezB4ODAsMHgxMCwweGU1LDB4ZDAsMHhkYiwweDgwLDB4NzIsMHg2MCwweDg4LDB4OTIsMHgwMiwweGU0LDB4MTAsMHg4YSwweDgwLDB4MmUgfSwKLSAgMTYsIDB4YjMwMCwgMCwgezB4MzQsMHg0YSwweDhjLDB4MDMsMHgyZSwweDAwLDB4YWIsMHg4MCwweDAyLDB4ZTAsMHgwYiwweGI4LDB4MDIsMHgyYywweDgwLDB4OGYgfSwKLSAgMTYsIDB4YjMxMCwgMCwgezB4NjAsMHgxMywweGQ4LDB4NGEsMHg3NiwweDAyLDB4OWQsMHg4NCwweGFmLDB4MzAsMHgyMiwweDQ4LDB4MGIsMHg4OCwweDEyLDB4YTAgfSwKLSAgMTYsIDB4YjMyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDAwLDB4OGIsMHgwMCwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YjMzMCwgMCwgezB4NGEsMHgwMCwweDAyLDB4YWMsMHg4MCwweDgzLDB4MDAsMHgyYywweDAxLDB4MjgsMHgwNCwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDEgfSwKLSAgMTYsIDB4YjM0MCwgMCwgezB4MjAsMHhjMCwweDAzLDB4YjAsMHgwMiwweDBjLDB4ODAsMHg4MywweDQwLDB4MjAsMHhjMSwweGE4LDB4MzQsMHgyMiwweDhkLDB4MTMgfSwKLSAgMTYsIDB4YjM1MCwgMCwgezB4ODMsMHgyMCwweGFjLDB4YzgsMHgwYiwweGIwLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjM2MCwgMCwgezB4YzAsMHgxNSwweDg2LDB4MDAsMHg5YiwweDA0LDB4YWUsMHgwMCwweDBhLDB4OTAsMHgwMiwweGVjLDB4MDAsMHgwYiwweDE0LDB4MmUgfSwKLSAgMTYsIDB4YjM3MCwgMCwgezB4YzYsMHgwMiwweGIxLDB4MTIsMHg2YywweDAwLDB4YWIsMHgyMCwweDJhLDB4YzEsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4YjM4MCwgMCwgezB4MDIsMHgyNiwweGMxLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwMCwweGFiLDB4MDQsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4YjM5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlNywweDAwLDB4YzMsMHgwMSwweDM2LDB4NDAgfSwKLSAgMTYsIDB4YjNhMCwgMCwgezB4MGUsMHg4OCwweDEzLDB4MjQsMHgwMiwweGNhLDB4MDAsMHgxZSwweDIwLDB4MmMsMHg4ZSwweDBiLDB4MmMsMHgwMCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4YjNiMCwgMCwgezB4MmEsMHhjMCwweDBmLDB4YjgsMHgwMywweDJlLDB4MDYsMHhjYiwweDAwLDB4M2EsMHhjMCwweDRjLDB4YjAsMHgxMywweGFjLDB4MGMgfSwKLSAgMTYsIDB4YjNjMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4YzgsMHgwZiwweGIwLDB4NDMsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjNkMCwgMCwgezB4ZTAsMHgwMSwweGI0LDB4MDgsMHhmZiwweDkxLDB4MzMsMHg0MCwweDA5LDB4ZGMsMHgwMSwweGY0LDB4MjAsMHg3ZSwweDAyLDB4MmUgfSwKLSAgMTYsIDB4YjNlMCwgMCwgezB4NDAsMHgwZCwweDk4LDB4MDEsMHhiYywweDgwLDB4ZWYsMHg4MCwweGI3LDB4ZTQsMHg4ZiwweGY0LDB4MGIsMHhmZSwweDQwLDB4N2YgfSwKLSAgMTYsIDB4YjNmMCwgMCwgezB4MDAsMHhiOSwweGMwLDB4NGUsMHhmMCwweDAzLDB4ZmMsMHgwOCwweGY3LDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAyLDB4YjggfSwKLSAgMTYsIDB4YjQwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMSwweDQ0LDB4Y2IsMHgwMiwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YjQxMCwgMCwgezB4MGQsMHg4MCwweDBhLDB4NmQsMHgwMCwweGViLDB4MDQsMHgxMCwweDkwLDB4MjgsMHgyMiwweDBiLDB4MmMsMHhjMiwweGNiLDB4MjAgfSwKLSAgMTYsIDB4YjQyMCwgMCwgezB4NzYsMHhjMCwweDBlLDB4YjEsMHgwMywweGVjLDB4MDEsMHhjYiwweDA2LDB4MzIsMHhjMSwweDBjLDB4MzAsMHgwMywweDJjLDB4MDIgfSwKLSAgMTYsIDB4YjQzMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4ZDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjQ0MCwgMCwgezB4YzgsMHgwNSwweDIxLDB4NDgsMHhhYiwweDAwLDB4MjAsMHgwMCwweDAwLDB4OTUsMHgyMywweDRjLDB4MDgsMHhiYiwweDAxLDB4MjIgfSwKLSAgMTYsIDB4YjQ1MCwgMCwgezB4YzAsMHgwOCwweGIyLDB4MDIsMHgwYywweDA4LDB4ODMsMHg4OCwweDkyLDB4ZDUsMHgyOCwweDM0LDB4MDIsMHhlYywweDAyLDB4OGYgfSwKLSAgMTYsIDB4YjQ2MCwgMCwgezB4MjAsMHgyMywweGMwLDB4NGQsMHhmMCwweDAxLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgyZSwweGMwLDB4MGQsMHgzMCwweDAzLDB4NzIgfSwKLSAgMTYsIDB4YjQ3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NCwweDAwLDB4ODMsMHgxMCwweDIwLDB4NjAgfSwKLSAgMTYsIDB4YjQ4MCwgMCwgezB4MDksMHgyNSwweDAyLDB4MDAsMHgwOCwweGEwLDB4MDAsMHg0YywweDAwLDB4MGIsMHgwYywweDIyLDB4NGYsMHgxMiwweDkzLDB4NDAgfSwKLSAgMTYsIDB4YjQ5MCwgMCwgezB4MDAsMHhjMCwweDA5LDB4M2UsMHgwMiwweGVjLDB4MDAsMHhhYiwweDgwLDB4YTQsMHhjMCwweDA5LDB4MzAsMHgyMiwweDJjLDB4MDggfSwKLSAgMTYsIDB4YjRhMCwgMCwgezB4YjMsMHgwMSwweDBjLDB4ODEsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjRiMCwgMCwgezB4NjAsMHgwMSwweDE2LDB4MDksMHhiNywweDgwLDB4MjEsMHg2NCwweDA4LDB4NzgsMHgwNiwweDEyLDB4MDAsMHhiNCwweDgyLDB4MmQgfSwKLSAgMTYsIDB4YjRjMCwgMCwgezB4YTQsMHgxYiwweDY5LDB4MDYsMHg3ZSwweDA0LDB4MTcsMHg5MiwweDI1LDB4ZTYsMHgwOSwweDc4LDB4MDYsMHhkZSwweDgwLDB4YTcgfSwKLSAgMTYsIDB4YjRkMCwgMCwgezB4OTAsMHgyNSwweGUwLDB4MDksMHg3OSwweDUwLDB4NWUsMHgwNCwweGI3LDB4OTIsMHgyZiwweDYxLDB4MDksMHhjOCwweDAyLDB4NDggfSwKLSAgMTYsIDB4YjRlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyNSwweDAwLDB4YzMsMHgwMCwweGIwLDB4MDMgfSwKLSAgMTYsIDB4YjRmMCwgMCwgezB4MGQsMHhhMywweDQyLDB4MDksMHg0MCwweGUxLDB4MDAsMHhiYywweDQwLDB4MGYsMHgxMSwweDAzLDB4NGMsMHgwMCwweDEzLDB4MDAgfSwKLSAgMTYsIDB4YjUwMCwgMCwgezB4MjAsMHhjMCwweDA5LDB4MzIsMHgwMywweGNjLDB4MTAsMHhhMywweDAwLDB4MjYsMHhjNCwweDhkLDB4MzAsMHgyYiwweDBjLDB4ODAgfSwKLSAgMTYsIDB4YjUxMCwgMCwgezB4ZjMsMHgwMCwweDdjLDB4ODAsMHgwYywweDMwLDB4MDEsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjUyMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlNywweDEwLDB4M2QsMHgwMSwweDJmLDB4ZjEsMHg0MiwweGU4LDB4MDAsMHhmNSwweDkwLDB4MDMgfSwKLSAgMTYsIDB4YjUzMCwgMCwgezB4YzEsMHgwYywweGYxLDB4NDMsMHg5YywweDA0LDB4ZWYsMHgwOCwweDNiLDB4YzIsMHgwYywweGYwLDB4ODEsMHhkYywweGEwLDB4ZGYgfSwKLSAgMTYsIDB4YjU0MCwgMCwgezB4MDAsMHgzYiwweGMzLDB4M2YsMHhmMCwweDgzLDB4ZmMsMHgwNSwweGRmLDB4MGMsMHgzZCwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4YjU1MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmNCwweDAwLDB4Y2IsMHg4MCwweDMwLDB4NDAgfSwKLSAgMTYsIDB4YjU2MCwgMCwgezB4MmMsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4ODAsMHgzMiwweGMwLDB4MmUsMHhiOCwweDBiLDB4MmMsMHg0NiwweGQzLDB4MDAgfSwKLSAgMTYsIDB4YjU3MCwgMCwgezB4MzAsMHhjMCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhkYiwweDQ4LDB4MzIsMHhjMCwweDFmLDB4YjQsMHgwMywweDJjLDB4ODggfSwKLSAgMTYsIDB4YjU4MCwgMCwgezB4Y2IsMHg0OCwweDMyLDB4ODAsMHgwYywweDMwLDB4MTMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjU5MCwgMCwgezB4NDgsMHgxMSwweGI0LDB4MDAsMHg4NywweDAxLDB4MjEsMHg0MCwweDA4LDB4NzAsMHg0MiwweGQwLDB4MDgsMHhiNCwweDAwLDB4MjkgfSwKLSAgMTYsIDB4YjVhMCwgMCwgezB4YzAsMHgwOCwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzgsMHgwYywweDcyLDB4MGEsMHgxYywweDg0LDB4OGYgfSwKLSAgMTYsIDB4YjViMCwgMCwgezB4NDAsMHgwOSwweGM0LDB4OGYsMHg3MywweDEyLDB4OWMsMHg0MCwweDgzLDB4MjAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4OTIgfSwKLSAgMTYsIDB4YjVjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5NiwweDAxLDB4YWYsMHg4MCwweDIxLDB4MjAgfSwKLSAgMTYsIDB4YjVkMCwgMCwgezB4MDgsMHg2OCwweDAyLDB4ZGEsMHgwMCwweGJkLDB4ODAsMHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4MWUsMHgwMCwweDhmLDB4ODggfSwKLSAgMTYsIDB4YjVlMCwgMCwgezB4ODMsMHhlMiwweDI5LDB4ZjgsMHg4MiwweDVmLDB4ODAsMHg4NywweGEwLDB4MjUsMHhlMCwweDBiLDB4M2EsMHgxMiwweDBlLDB4NTAgfSwKLSAgMTYsIDB4YjVmMCwgMCwgezB4OTcsMHhhNCwweDIxLDB4YTAsMHgyOSwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjYwMCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDIsMHhhMSwweDgxLDB4MDAsMHgwMCwweDQ4LDB4NzAsMHgwMiwweGM4LDB4MDAsMHhiMSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4YjYxMCwgMCwgezB4ZjgsMHgwOSwweDMxLDB4NDIsMHgwYywweDEwLDB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwOCwweDM4LDB4MTIsMHg0ZSwweDAwLDB4ODMgfSwKLSAgMTYsIDB4YjYyMCwgMCwgezB4MDAsMHg2YSwweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwNCwweDkzLDB4MDAsMHgyMCwweGUwLDB4MDksMHgzOCwweDAyLDB4OTIgfSwKLSAgMTYsIDB4YjYzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDQwLDB4ZWUsMHgyMCwweDMwLDB4ODAgfSwKLSAgMTYsIDB4YjY0MCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzMywweGIwLDB4MGQsMHhlNCwweDAzLDB4MzIsMHg4OCwweGNjLDB4ODAgfSwKLSAgMTYsIDB4YjY1MCwgMCwgezB4MjMsMHgwMCwweDBkLDB4YzAsMHgwMywweDYyLDB4MDIsMHhjYSwweDAwLDB4MzYsMHg4MCwweDBmLDB4YTAsMHg0MywweDI4LDB4MDYgfSwKLSAgMTYsIDB4YjY2MCwgMCwgezB4ZGEsMHgwMCwweDMzLDB4YTAsMHgwZCwweDZhLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjY3MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHg5OCwweDAxLDB4YmUsMHgwMCwweDBmLDB4ODAsMHgwMywweGYwLDB4MDAsMHhiYywweDAwLDB4MzggfSwKLSAgMTYsIDB4YjY4MCwgMCwgezB4MDQsMHgwOCwweDgwLDB4YTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHhhMCwweDAwLDB4ZTAgfSwKLSAgMTYsIDB4YjY5MCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGUsMHgwMCwweDAzLDB4YzAsMHgwMCwweGU4LDB4MDAsMHhiZSwweDA0LDB4NGUsMHg4MCwweDA3LDB4ZDIgfSwKLSAgMTYsIDB4YjZhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDgwLDB4YzksMHgwMCwweDNlLDB4NjggfSwKLSAgMTYsIDB4YjZiMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDQzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4YjZjMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgxMywweDIwLDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweDY0LDB4MDAgfSwKLSAgMTYsIDB4YjZkMCwgMCwgezB4ODEsMHgwMCwweDMyLDB4NDAsMHgwNCwweDkwLDB4MTMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjZlMCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MDYsMHg4OSwweDQwLDB4MmUsMHg2MCwweDFhLDB4MTQsMHgyYSwweDA1LDB4MjAsMHg4OSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YjZmMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNCwweDA4LDB4YzEsMHgwMiwweDIwLDB4NDAsMHgwOCwweDEwLDB4MWEsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4YjcwMCwgMCwgezB4MTAsMHgzMiwweDQxLDB4MDgsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDQsMHgzNiwweDQwLDB4ODgsMHg5NCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4YjcxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDIwLDB4ODksMHg1NSwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YjcyMCwgMCwgezB4MDgsMHhkNSwweDAyLDB4MzQsMHgwMCwweDhkLDB4MDAsMHgyZSwweDQwLDB4MTgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDk5LDB4MDAgfSwKLSAgMTYsIDB4YjczMCwgMCwgezB4MjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MGEsMHg4OSwweDAwLDB4MjYsMHg0MCwweDM4LDB4OTAsMHgwYSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4Yjc0MCwgMCwgezB4YTksMHgwMCwweDIwLDB4NDAsMHgwYSwweDkwLDB4ODIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjc1MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDAwLDB4MmYsMHg0MCwweDBhLDB4ZDQsMHgwMiwweDM0LDB4MDAsMHg4NSwweDAxLDB4MmMgfSwKLSAgMTYsIDB4Yjc2MCwgMCwgezB4NDAsMHgwOCwweDEwLDB4NDIsMHhlNCwweDA2LDB4OTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNSwweDAwLDB4ODEgfSwKLSAgMTYsIDB4Yjc3MCwgMCwgezB4NDAsMHgyOCwweDUwLDB4MDgsMHgxNCwweDEyLDB4MDUsMHgwMCwweGExLDB4NDAsMHgyNCwweDUwLDB4NWEsMHgxMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4Yjc4MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwNCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4Yjc5MCwgMCwgezB4MDgsMHg4MCwweDAzLDB4MjEsMHg0MiwweGNjLDB4MDAsMHgzZSwweDAwLDB4MmMsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YjdhMCwgMCwgezB4YjYsMHgwMCwweDJjLDB4ODAsMHgwMiwweDIwLDB4MDIsMHhjOCwweDAwLDB4MzYsMHgwMCwweDBjLDB4ODAsMHgwMywweDYwLDB4MDIgfSwKLSAgMTYsIDB4YjdiMCwgMCwgezB4ZTgsMHgwMCwweDMyLDB4MDAsMHg4ZSwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjdjMCwgMCwgezB4OTgsMHgxZCwweGY1LDB4MDAsMHhmNSwweDAwLDB4M2UsMHg0MCwweDg3LDB4OTAsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2QgfSwKLSAgMTYsIDB4YjdkMCwgMCwgezB4NTAsMHgwZiwweDU0LDB4MDMsMHhkMSwweDAwLDB4ZWMsMHg0MCwweDNmLDB4MTAsMHgwYiwweGM0LDB4NDMsMHhmMSwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YjdlMCwgMCwgezB4NDAsMHgzNiwweDUwLDB4MGYsMHg5NCwweDEzLDB4ZTUsMHgxMCwweGQ5LDB4NDQsMHgzZCwweDQwLDB4MmQsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YjdmMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDYwLDB4Y2QsMHgwMiwweDNiLDB4NDAgfSwKLSAgMTYsIDB4YjgwMCwgMCwgezB4MGMsMHhkMCwweDAzLDB4YjQsMHg0MCwweGZkLDB4MDYsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4NjYsMHgwNCwweGM5LDB4ODIgfSwKLSAgMTYsIDB4YjgxMCwgMCwgezB4YjYsMHg2MiwweDBmLDB4MTgsMHgwYiwweDM2LDB4MDAsMHhjZCwweDQwLDB4MzIsMHg2MSwweDBjLDB4OTAsMHgyMywweDI0LDB4MGEgfSwKLSAgMTYsIDB4YjgyMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHg0YywweGQwLDB4NDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjgzMCwgMCwgezB4MzksMHgxMCwweGUzLDB4ODAsMHhkOCwweDAwLDB4MjIsMHgwMCwweDBkLDB4ODAsMHgwMiwweDIyLDB4OTQsMHhiOCwweDAwLDB4MmUgfSwKLSAgMTYsIDB4Yjg0MCwgMCwgezB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMSwweDAwLDB4ODgsMHg0MCwweDIyLDB4MDAsMHgwYiwweGM0LDB4MjIsMHgyMSwweDUwLDB4ODggfSwKLSAgMTYsIDB4Yjg1MCwgMCwgezB4ODAsMHgyMiwweDIyLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgxMCwweDgwLDB4MDEsMHgyYSwweDAwLDB4MGEsMHg4MCwweDAzLDB4NGUgfSwKLSAgMTYsIDB4Yjg2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhjNiwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAgfSwKLSAgMTYsIDB4Yjg3MCwgMCwgezB4ODgsMHgxMCwweDBhLDB4ODQsMHgwOCwweGIxLDB4MDAsMHgyOSwweDQwLDB4MGEsMHg3MCwweDBhLDB4YjUsMHgwMCwweDhmLDB4NDAgfSwKLSAgMTYsIDB4Yjg4MCwgMCwgezB4MjksMHhjMCwweDBiLDB4ZjQsMHgwMiwweDI0LDB4MDAsMHg4MSwweDIwLDB4MjgsMHg0NCwweDg5LDB4MTAsMHgwMiwweDA0LDB4MDQgfSwKLSAgMTYsIDB4Yjg5MCwgMCwgezB4ODEsMHgwMiwweDJhLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjhhMCwgMCwgezB4MTgsMHgxNSwweGE2LDB4MDAsMHg5OSwweDIwLDB4MjIsMHg0MCwweDA5LDB4OTAsMHgxMiwweDI0LDB4ODAsMHhiOSwweDAwLDB4MmYgfSwKLSAgMTYsIDB4YjhiMCwgMCwgezB4NDQsMHgwMywweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMCwweDJiLDB4NDEsMHgwYiwweGQwLDB4MDIsMHgyNiwweDEwLDB4ODkgfSwKLSAgMTYsIDB4YjhjMCwgMCwgezB4MDQsMHgyYSwweDQwLDB4MDksMHg5MCwweDZlLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5NCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4YjhkMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEyLDB4MTUsMHhlNiwweDAwLDB4YzksMHgwMCwweDM4LDB4NDIgfSwKLSAgMTYsIDB4YjhlMCwgMCwgezB4MGMsMHgxMCwweDEzLDB4YTYsMHgwNCwweDc5LDB4MDgsMHgzYSwweDc4LDB4MDYsMHg5MiwweDAzLDB4YTQsMHgwOCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4YjhmMCwgMCwgezB4M2EsMHg2MCwweDhmLDB4OTgsMHgyMywweDA2LDB4MDIsMHhjOSwweDAyLDB4M2EsMHg0MCwweDBkLDB4OTAsMHgwMywweDA0LDB4MDAgfSwKLSAgMTYsIDB4YjkwMCwgMCwgezB4YzksMHgwMCwweDM4LDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjkxMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MTAsMHhmOSwweDgwLDB4YmUsMHg0MCwweDRmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2MgfSwKLSAgMTYsIDB4YjkyMCwgMCwgezB4NjAsMHg4ZCwweDkyLDB4MDMsMHgyNCwweDQyLDB4ZTksMHgxMCwweDMyLDB4NTAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YjkzMCwgMCwgezB4MDAsMHhiNiwweDQxLDB4MmUsMHgxMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgyZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4Yjk0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MTAgfSwKLSAgMTYsIDB4Yjk1MCwgMCwgezB4MGYsMHg4OCwweDAzLDB4MjAsMHgwOCwweGY4LDB4YzAsMHgxZSwweDEwLDB4MmMsMHg0MCwweDAzLDB4ZjIsMHgwMCwweGNjLDB4MDAgfSwKLSAgMTYsIDB4Yjk2MCwgMCwgezB4M2YsMHgwMCwweDBjLDB4YzAsMHgxMywweDIwLDB4MDIsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgyYiwweDIwLDB4MTAgfSwKLSAgMTYsIDB4Yjk3MCwgMCwgezB4YzAsMHgwNCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjk4MCwgMCwgezB4YTgsMHgwNSwweDNhLDB4ODAsMHg4NiwweGUwLDB4MmYsMHhhMCwweDFiLDB4ZTAsMHgwMiwweDNhLDB4ODAsMHhiYSwweDA0LDB4MmUgfSwKLSAgMTYsIDB4Yjk5MCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDMsMHg4OCwweDA4LDB4YzIsMHgwMCwweDJlLDB4ODEsMHgwOCwweDYwLDB4MDIsMHgyOCwweDEwLDB4OGUgfSwKLSAgMTYsIDB4YjlhMCwgMCwgezB4ODEsMHgwMywweDgwLDB4MDgsMHhlMCwweDAxLDB4NzgsMHgwMCwweDhlLDB4MDQsMHgwMywweDgwLDB4MDksMHg2OCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4YjliMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHg2MCwweDJjLDB4NDQgfSwKLSAgMTYsIDB4YjljMCwgMCwgezB4MGIsMHgzOCwweDAyLDB4MGYsMHg4MCwweGIxLDB4MDAsMHgyYywweGU1LDB4MDMsMHgzMCwweDEwLDB4Y2MsMHgxMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4YjlkMCwgMCwgezB4MGMsMHhjMCwweDI5LDB4MzAsMHgyMiwweDA0LDB4MDksMHg5MSwweDEwLDB4MjQsMHhjMCwweGM4LDB4MzAsMHgwMCwweDRjLDB4MDQgfSwKLSAgMTYsIDB4YjllMCwgMCwgezB4OTMsMHgwMiwweDI0LDB4YzAsMHgwYiwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjlmMCwgMCwgezB4ZTAsMHgwMSwweDE4LDB4ODAsMHg4NywweDAwLDB4MmQsMHg0MCwweDBiLDB4NzQsMHg0MiwweDFjLDB4MDEsMHhiNSwweDAxLDB4MmMgfSwKLSAgMTYsIDB4YmEwMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhiMCwweDAwLDB4OTQsMHgwNCwweDJmLDB4MjAsMHgwOSwweGMwLDB4MDIsMHgxNCwweDkwLDB4OTcgfSwKLSAgMTYsIDB4YmExMCwgMCwgezB4MDAsMHgyNSwweGM4LDB4MDgsMHg3MCwweDAyLDB4NGMsMHg4MCwweDk3LDB4MjAsMHgyNSwweGMwLDB4MDksMHg3MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4YmEyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzYSwweDgyLDB4YzYsMHg4MCwweDJkLDB4NjAgfSwKLSAgMTYsIDB4YmEzMCwgMCwgezB4MGIsMHhmOCwweDBiLDB4MWEsMHgwMCwweGY1LDB4ODAsMHgzZCwweGUwLDB4OGYsMHg3OCwweDAzLDB4ZGUsMHgwMiwweGM3LDB4ODAgfSwKLSAgMTYsIDB4YmE0MCwgMCwgezB4MmQsMHhlMCwweDBkLDB4NzgsMHgwYiwweDE3LDB4MDIsMHhkZiwweDgwLDB4MjQsMHhmOCwweDJjLDB4ZmQsMHgwMywweDVlLDB4MGMgfSwKLSAgMTYsIDB4YmE1MCwgMCwgezB4ZDcsMHhlMCwweDM1LDB4ZTAsMHgwZiwweDY4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmE2MCwgMCwgezB4NDgsMHgxZCwweGFlLDB4NDAsMHhmYSwweDA0LDB4M2UsMHg0MCwweDBmLDB4ODAsMHgxMywweGVjLDB4MDQsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YmE3MCwgMCwgezB4YzEsMHgwYywweGEwLDB4MTMsMHhjMCwweDEwLDB4ZTgsMHgwMCwweDNjLDB4MDAsMHg0ZSwweDgwLDB4NDMsMHhjNCwweDIwLDB4ODkgfSwKLSAgMTYsIDB4YmE4MCwgMCwgezB4MDAsMHhiYSwweGMwLDB4MDcsMHhiNiwweDIxLDB4ZWQsMHgwNiwweGViLDB4NjgsMHhiYSwweGNjLDB4MGYsMHgyMCwweDEzLDB4YzIgfSwKLSAgMTYsIDB4YmE5MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhiZSwweDAwLDB4YzYsMHg4MCwweDMxLDB4NjAgfSwKLSAgMTYsIDB4YmFhMCwgMCwgezB4MmQsMHg3OCwweDBiLDB4M2UsMHg0OCwweGVjLDB4OTIsMHgzZCwweDYwLDB4MGMsMHg1OCwweDAzLDB4NWEsMHg0MCwweGQ1LDB4ODAgfSwKLSAgMTYsIDB4YmFiMCwgMCwgezB4MzEsMHg2MSwweDBjLDB4NTgsMHgyMywweDM2LDB4MDAsMHhjZiwweDgyLDB4M2YsMHhlMCwweDBjLDB4ZjgsMHgwMywweGZmLDB4NjAgfSwKLSAgMTYsIDB4YmFjMCwgMCwgezB4Y2YsMHg5MCwweDMzLDB4ZjAsMHgwYywweDUyLDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmFkMCwgMCwgezB4YTgsMHgxMSwweGI4LDB4ODQsMHg4NiwweDE0LDB4YjUsMHhjMCwweDA4LDB4NzAsMHgwMiwweDFlLDB4YzAsMHhjNCwweDAwLDB4MmQgfSwKLSAgMTYsIDB4YmFlMCwgMCwgezB4NDAsMHgwOCwweDQwLDB4MDIsMHgxNCwweGQwLDB4ODYsMHgxMCwweDIxLDB4ODAsMHg0YywweDYyLDB4NDIsMHgzNCwweDQwLDB4YTUgfSwKLSAgMTYsIDB4YmFmMCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MjgsMHg3MCwweDQyLDB4ZGMsMHhjMiwweDhmLDB4MzAsMHgyMywweGMwLDB4MDgsMHg1MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4YmIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHg5OCwweDI4LDB4OGUsMHgwMCwweGE1LDB4NDAgfSwKLSAgMTYsIDB4YmIxMCwgMCwgezB4MDgsMHhmMSwweDAyLDB4MTgsMHg2NCwweGI0LDB4MDAsMHg2ZCwweDQyLDB4MDgsMHg1MCwweDAyLDB4MTgsMHgwMSwweDg1LDB4MDggfSwKLSAgMTYsIDB4YmIyMCwgMCwgezB4MjEsMHg0MCwweDA5LDB4NTgsMHgyMiwweDU0LDB4MDAsMHg4NSwweDEwLDB4MmQsMHhjNCwweDA5LDB4NzAsMHgwMiwweGRjLDB4MDQgfSwKLSAgMTYsIDB4YmIzMCwgMCwgezB4OTcsMHgwMCwweDI1LDB4YzAsMHgwOCwweDQ0LDB4MDIsMHgwMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmI0MCwgMCwgezB4NjAsMHgxNCwweDhjLDB4MDAsMHg4MiwweDgwLDB4MjQsMHhjMCwweDA4LDB4ODAsMHgwMiwweDJkLDB4MDAsMHg4MCwweDRhLDB4MmMgfSwKLSAgMTYsIDB4YmI1MCwgMCwgezB4NDIsMHgwOCwweDBhLDB4NDIsMHgwNiwweDAwLDB4OTIsMHg4NCwweDIwLDB4YTAsMHg4OCwweDI4LDB4NDIsMHg0NCwweDAwLDB4YTMgfSwKLSAgMTYsIDB4YmI2MCwgMCwgezB4MDYsMHgyNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgxMCwweDkzLDB4MDQsMHgyNCwweGMxLDB4MDksMHgwMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YmI3MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2IsMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4YmI4MCwgMCwgezB4MGMsMHhiNCwweDEzLDB4MmMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGEwLDB4MGMsMHhhMiwweDAzLDB4MDQsMHgwOCwweGMyLDB4ODAgfSwKLSAgMTYsIDB4YmI5MCwgMCwgezB4MzAsMHhhOCwweDBkLDB4MmEsMHgwMywweDU0LDB4MDAsMHhjYiwweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDggfSwKLSAgMTYsIDB4YmJhMCwgMCwgezB4ZGYsMHgwMCwweDM3LDB4ZDAsMHgwYywweGIwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmJiMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4MDAsMHhmYiwweDEwLDB4M2EsMHg0MCwweDBlLDB4YjAsMHgwMywweGVkLDB4OTAsMHhmOSwweDExLDB4N2UgfSwKLSAgMTYsIDB4YmJjMCwgMCwgezB4ODAsMHg0ZiwweGIwLDB4NTMsMHhlOCwweDQwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNiwweDA4LDB4ZjkgfSwKLSAgMTYsIDB4YmJkMCwgMCwgezB4MDEsMHgzYSwweGMwLDB4MGMsMHhiMCwweDEzLDB4Y2MsMHgwMCwweGViLDB4MDIsMHgzYSwweGM2LDB4OGUsMHhiOCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YmJlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDBjLDB4Y2UsMHgwMCwweDNmLDB4ZTAgfSwKLSAgMTYsIDB4YmJmMCwgMCwgezB4MmMsMHhmMCwweDgzLDB4M2EsMHg0OCwweGNkLDB4MDEsMHgzNSwweDgwLDB4MGMsMHg2MCwweDEyLDB4MzQsMHgwYSwweGNlLDB4MDAgfSwKLSAgMTYsIDB4YmMwMCwgMCwgezB4YjMsMHg4MCwweDJjLDB4ZTAsMHgwYiwweDc0LDB4MDAsMHhjOSwweDEwLDB4YjMsMHhjMSwweDBmLDB4ZjAsMHgxYiwweDNjLDB4MDAgfSwKLSAgMTYsIDB4YmMxMCwgMCwgezB4Y2YsMHgwMCwweGI3LDB4YzAsMHgyYywweGUwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmMyMCwgMCwgezB4ODEsMHgwNCwweDZlLDB4MTAsMHg4OCwweDgwLDB4MmMsMHhjMCwweDE4LDB4OTgsMHgwMiwweDJkLDB4ODAsMHg4MSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4YmMzMCwgMCwgezB4OTEsMHgwOCwweGIwLDB4MDMsMHg2OCwweDAwLDB4YzksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODMgfSwKLSAgMTYsIDB4YmM0MCwgMCwgezB4ODAsMHgzNiwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMiwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgyMCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4YmM1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwNiwweDAwLDB4OGEsMHg4MCwweDJlLDB4NDUgfSwKLSAgMTYsIDB4YmM2MCwgMCwgezB4MjgsMHg4OCwweDAyLDB4MjQsMHgwMiwweDg4LDB4MDIsMHgwMiwweDAyLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweDk4LDB4MDAgfSwKLSAgMTYsIDB4YmM3MCwgMCwgezB4MjIsMHgwMCwweDA4LDB4ODAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDAxLDB4MjIsMHhjMSwweDBhLDB4YjAsMHgwMiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4YmM4MCwgMCwgezB4YWIsMHgwMCwweDIyLDB4YzEsMHgwOCwweDkwLDB4MTIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmM5MCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MmMsMHhjMCwweDQ4LDB4MDgsMHgxMiwweDAwLDB4ODAsMHg4MCwweDAyLDB4MjQgfSwKLSAgMTYsIDB4YmNhMCwgMCwgezB4MDAsMHgwOCwweDE4LDB4NDIsMHhhYywweDAyLDB4OGIsMHg4MCwweDIyLDB4ZTAsMHgwOCwweGI4LDB4MTIsMHgwNCwweDAyLDB4ODMgfSwKLSAgMTYsIDB4YmNiMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDEsMHg2MCwweGMwLDB4NDgsMHgxMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4YmNjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDA4LDB4Y2EsMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YmNkMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4MDAsMHgwMCwweGM4LDB4MDYsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAyLDB4YTAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YmNlMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDc0LDB4MDAsMHhjYiwweDAwLDB4MjIsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDAgfSwKLSAgMTYsIDB4YmNmMCwgMCwgezB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwYywweDgwLDB4MDEsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmQwMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmYywweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGUxLDB4MDAsMHhmYywweDAwLDB4M2IgfSwKLSAgMTYsIDB4YmQxMCwgMCwgezB4MDAsMHgwZiwweGQwLDB4MDMsMHg3YywweDAwLDB4ZWYsMHgwMCwweDJmLDB4YzAsMHgwZiwweGYwLDB4MTEsMHhmNCwweDEwLDB4ZmQgfSwKLSAgMTYsIDB4YmQyMCwgMCwgezB4MDIsMHgzZCwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGRmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTkgfSwKLSAgMTYsIDB4YmQzMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MSwweDAyLDB4NzAsMHgyMCwweGRjLDB4MTAgfSwKLSAgMTYsIDB4YmQ0MCwgMCwgezB4NjcsMHgwNCwweDBkLDB4YzEsMHgwMiwweDcwLDB4MjAsMHg5YywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzEsMHgwNiwweDcwLDB4NDAgfSwKLSAgMTYsIDB4YmQ1MCwgMCwgezB4NGMsMHgxMCwweDM3LDB4MTQsMHgxNSwweGMxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCwweDEzLDB4MDQsMHgwZCwweGMxLDB4MDcgfSwKLSAgMTYsIDB4YmQ2MCwgMCwgezB4NzAsMHg0MCwweGRjLDB4MTAsMHgzNywweDA0LDB4MGQsMHhjMCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmQ3MCwgMCwgezB4MDAsMHhjNSwweDQ0LDB4MDUsMHg3MSwweDIxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDA1LDB4NWMgfSwKLSAgMTYsIDB4YmQ4MCwgMCwgezB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA2LDB4NzEsMHgwMSwweDRjLDB4NDAsMHg1NywweDEwLDB4MGQsMHhjNCwweDA1LDB4NzEgfSwKLSAgMTYsIDB4YmQ5MCwgMCwgezB4MDUsMHg1YywweDQwLDB4NTMsMHgxMCwweDE1LDB4YzQsMHgwNywweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4YmRhMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSwKLSAgMTYsIDB4YmRiMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4YmRjMCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEgfSwKLSAgMTYsIDB4YmRkMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmRlMCwgMCwgezB4MDAsMHg4NCwweDAwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDA0LDB4NTggfSwKLSAgMTYsIDB4YmRmMCwgMCwgezB4MDAsMHgxNiwweDAwLDB4MDUsMHg4MCwweDAxLDB4MjAsMHgwMSwweDU4LDB4MDAsMHgxNiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAgfSwKLSAgMTYsIDB4YmUwMCwgMCwgezB4MDAsMHg1OCwweDAwLDB4NTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4MTYsMHgwMCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4YmUxMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA1LDB4NzIsMHgxMSwweDVjLDB4ODAgfSwKLSAgMTYsIDB4YmUyMCwgMCwgezB4MTcsMHgyMCwweDE1LDB4ZDgsMHgwNSwweDMyLDB4MTEsMHgxYywweDgwLDB4NDcsMHgyMCwweDE0LDB4ODgsMHgwMCwweDcyLDB4MDEgfSwKLSAgMTYsIDB4YmUzMCwgMCwgezB4MWMsMHg4MCwweDU3LDB4MjAsMHgwNSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDEgfSwKLSAgMTYsIDB4YmU0MCwgMCwgezB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDI0LDB4MTUsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmU1MCwgMCwgezB4MDAsMHhjMSwweDQwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4NDAsMHgyMCwweDAwLDB4MTggfSwKLSAgMTYsIDB4YmU2MCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg5MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDAwLDB4NjAgfSwKLSAgMTYsIDB4YmU3MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDEwLDB4MDYsMHgwMCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4YmU4MCwgMCwgezB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAgfSwKLSAgMTYsIDB4YmU5MCwgMCwgezB4MDIsMHgyMCwweDEwLDB4ODgsMHgwNCwweDYyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4ODgsMHgwMCwweDIwLDB4MDEgfSwKLSAgMTYsIDB4YmVhMCwgMCwgezB4MDgsMHg4MCwweDQyLDB4MjAsMHgwMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHgwMCwweDQyLDB4MjAsMHgxMCwweDg4LDB4MDAgfSwKLSAgMTYsIDB4YmViMCwgMCwgezB4MjIsMHgwMSwweDA4LDB4ODAsMHg0MiwweDMwLDB4MTAsMHg4MCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmVjMCwgMCwgezB4MDAsMHhjNSwweDRhLDB4MDUsMHg0MiwweDgxLDB4NTAsMHhhMCwweDA0LDB4MjgsMHgxNSwweDBhLDB4MDUsMHg1MiwweDgxLDB4MTAgfSwKLSAgMTYsIDB4YmVkMCwgMCwgezB4YTAsMHg0NCwweDI4LDB4MTEsMHgxYSwweDAwLDB4NDAsMHg4MCwweDEwLDB4YTAsMHg1NCwweDI4LDB4MDUsMHgwYSwweDA1LDB4NDIgfSwKLSAgMTYsIDB4YmVlMCwgMCwgezB4ODEsMHg1MSwweDIwLDB4MTQsMHgyOCwweDE1LDB4MGEsMHgwMSwweDQyLDB4ODEsMHg1MCwweGEwLDB4NTQsMHgyOCwweDE1LDB4MDAgfSwKLSAgMTYsIDB4YmVmMCwgMCwgezB4MzEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwYywweDAxLDB4NTMsMHg0MCwweDU0LDB4YzAgfSwKLSAgMTYsIDB4YmYwMCwgMCwgezB4MTUsMHgzMCwweDA1LDB4NWMsMHgwMSwweDU3LDB4NDAsMHg1NCwweGMwLDB4MTUsMHgzMCwweDA1LDB4NWMsMHgwMSwweDUzLDB4MDAgfSwKLSAgMTYsIDB4YmYxMCwgMCwgezB4NTUsMHhjMCwweDE1LDB4NzQsMHgwNSwweDRjLDB4MDEsMHg1MywweDAwLDB4NTUsMHhjMCwweDE1LDB4NzQsMHgwNSwweDRjLDB4MDEgfSwKLSAgMTYsIDB4YmYyMCwgMCwgezB4NTMsMHgwMCwweDU0LDB4YzAsMHgxMSwweDMwLDB4MDEsMHg0MCwweDIxLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmYzMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAgfSwKLSAgMTYsIDB4YmY0MCwgMCwgezB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MTEsMHgwMCwweDAwLDB4NDAgfSwKLSAgMTYsIDB4YmY1MCwgMCwgezB4MDAsMHgxMCwweGMxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDEsMHgxMCwweDAxLDB4MDEgfSwKLSAgMTYsIDB4YmY2MCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg2MCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAgfSwKLSAgMTYsIDB4YmY3MCwgMCwgezB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAgfSwKLSAgMTYsIDB4YmY4MCwgMCwgezB4ODIsMHgwMCwweDIwLDB4ODQsMHgwMCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODQsMHgwOCwweDIwLDB4MDIgfSwKLSAgMTYsIDB4YmY5MCwgMCwgezB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMSwweDgwLDB4MDgsMHgwMSwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmZhMCwgMCwgezB4MDAsMHhjNSwweDQwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDk2LDB4MDAsMHgxNSwweDkwLDB4MDUsMHg2NCwweDAyLDB4NTggfSwKLSAgMTYsIDB4YmZiMCwgMCwgezB4MDAsMHg1NiwweDAwLDB4NTUsMHg5MCwweDA1LDB4NjAsMHgwMSwweGQ5LDB4MDAsMHgxNiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAgfSwKLSAgMTYsIDB4YmZjMCwgMCwgezB4MDEsMHg1OSwweDAwLDB4NzYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAgfSwKLSAgMTYsIDB4YmZkMCwgMCwgezB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzQsMHg0MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YmZlMCwgMCwgezB4MzYsMHgwMCwweDRkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYyLDB4MDAgfSwKLSAgMTYsIDB4YmZmMCwgMCwgezB4NTgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MCwweDAwLDB4ZDgsMHg4MCwweDE2LDB4MDAsMHgwZCwweDgwLDB4MDMgfSwKLSAgMTYsIDB4YzAwMCwgMCwgezB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MWQsMHg4MCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzAxMCwgMCwgezB4MDAsMHhjNSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMgfSwKLSAgMTYsIDB4YzAyMCwgMCwgezB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHhjMSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA2LDB4MzAgfSwKLSAgMTYsIDB4YzAzMCwgMCwgezB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDE4LDB4YzAgfSwKLSAgMTYsIDB4YzA0MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSwKLSAgMTYsIDB4YzA1MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHg0MCwweDMwLDB4MDAgfSwKLSAgMTYsIDB4YzA2MCwgMCwgezB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4YzA3MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzA4MCwgMCwgezB4MDAsMHg4MCwweDAyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMgfSwKLSAgMTYsIDB4YzA5MCwgMCwgezB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDI1LDB4MzAsMHg4MSwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAgfSwKLSAgMTYsIDB4YzBhMCwgMCwgezB4ODAsMHg0YywweDMyLDB4NTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzAgfSwKLSAgMTYsIDB4YzBiMCwgMCwgezB4MjAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA1LDB4NjIsMHg4MSwweDU4LDB4MjAgfSwKLSAgMTYsIDB4YzBjMCwgMCwgezB4NTYsMHgwOCwweDE1LDB4ODIsMHgwNCwweDYwLDB4ODEsMHg1OCwweDIwLDB4NDYsMHgwOCwweDE1LDB4ODIsMHgwMSwweDYwLDB4YzEgfSwKLSAgMTYsIDB4YzBkMCwgMCwgezB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxNSwweDgyLDB4MDEsMHg2MCwweDgxLDB4NTgsMHgzMCwweDU2LDB4MDgsMHgxNSwweDgyLDB4MDUgfSwKLSAgMTYsIDB4YzBlMCwgMCwgezB4NjAsMHg4MSwweDU4LDB4MjAsMHg1NiwweDA4LDB4MDUsMHg4MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzBmMCwgMCwgezB4MDAsMHhjNSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDggfSwKLSAgMTYsIDB4YzEwMCwgMCwgezB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBjLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YzExMCwgMCwgezB4ODAsMHgwOCwweDIwLDB4MDMsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4YzEyMCwgMCwgezB4MjEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA0LDB4NjYsMHg4MSwweDE4LDB4MjAgfSwKLSAgMTYsIDB4YzEzMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDY0LDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEgfSwKLSAgMTYsIDB4YzE0MCwgMCwgezB4MGMsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxLDB4MTksMHgyMCwweDQzLDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4YzE1MCwgMCwgezB4NjAsMHg4MSwweDE5LDB4MjAsMHg0NiwweDQ4LDB4MDEsMHg4MCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzE2MCwgMCwgezB4MDAsMHhjNSwweDYwLDB4MDUsMHg1OCwweDAxLDB4NTYsMHgwMCwweDU1LDB4ODAsMHgxNSwweDYwLDB4MDQsMHg1OCwweDAxLDB4NTYgfSwKLSAgMTYsIDB4YzE3MCwgMCwgezB4MDAsMHg0NSwweDgwLDB4MTEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDA2LDB4MDAsMHg0NSwweDgwLDB4MTUsMHg2MCwweDAxLDB4NTggfSwKLSAgMTYsIDB4YzE4MCwgMCwgezB4MDEsMHgxNiwweDAwLDB4MDEsMHg4MCwweDE1LDB4NjAsMHgwNSwweDU4LDB4MDEsMHg1NiwweDAwLDB4NTUsMHg4MCwweDA1LDB4NDAgfSwKLSAgMTYsIDB4YzE5MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNiwweDAxLDB4NDksMHg4MCwweDEwLDB4NjAgfSwKLSAgMTYsIDB4YzFhMCwgMCwgezB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDc5LDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDAxLDB4MDYsMHgwMSwweDQxLDB4ODAgfSwKLSAgMTYsIDB4YzFiMCwgMCwgezB4NTAsMHg2MCwweDA0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg0MSwweDgwLDB4MTAsMHg2MCwweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEgfSwKLSAgMTYsIDB4YzFjMCwgMCwgezB4NDEsMHg4MCwweDUwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzFkMCwgMCwgezB4MDAsMHg4MCwweDAyLDB4MDEsMHgwNCwweDgwLDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDAsMHgwNCwweDA0LDB4NDAgfSwKLSAgMTYsIDB4YzFlMCwgMCwgezB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAgfSwKLSAgMTYsIDB4YzFmMCwgMCwgezB4ODAsMHg0MSwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgxMSwweDAwLDB4ODAsMHg0MSwweDIwLDB4MTAsMHg0OCwweDA0LDB4MDAgfSwKLSAgMTYsIDB4YzIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfSwKLSAgMTYsIDB4YzIxMCwgMCwgezB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMiwweDExLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDExLDB4ODAgfSwKLSAgMTYsIDB4YzIyMCwgMCwgezB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMgfSwKLSAgMTYsIDB4YzIzMCwgMCwgezB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDMxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzI0MCwgMCwgezB4MDAsMHhjNSwweDQ2LDB4MDUsMHg3MCwweDgxLDB4NWMsMHg2MCwweDA3LDB4MTgsMHgxNSwweGM2LDB4MDQsMHg3MSwweDgxLDB4MWMgfSwKLSAgMTYsIDB4YzI1MCwgMCwgezB4NjAsMHgxNywweDE4LDB4MTUsMHhjNiwweDA1LDB4MzEsMHg4MSwweGRjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEgfSwKLSAgMTYsIDB4YzI2MCwgMCwgezB4ODAsMHgxYywweDYwLDB4NzcsMHgxOCwweDE1LDB4Y2UsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4YzI3MCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg0NiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjEgfSwKLSAgMTYsIDB4YzI4MCwgMCwgezB4NzcsMHgxOCwweDBkLDB4YzYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzIsMHgwMywweDMxLDB4ODAgfSwKLSAgMTYsIDB4YzI5MCwgMCwgezB4NWMsMHg2MCwweDI3LDB4MTgsMHgwZCwweGM2LDB4MDMsMHg3MSwweDgwLDB4OWMsMHg2MCwweDE3LDB4MTgsMHgwZCwweGNlLDB4MDMgfSwKLSAgMTYsIDB4YzJhMCwgMCwgezB4NzEsMHg4MCwweGRjLDB4NjAsMHgzNywweDE4LDB4MGQsMHhjMCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzJiMCwgMCwgezB4MDAsMHg0NSwweDQ2LDB4MDUsMHg3NSwweDgxLDB4NWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3NSwweDgxLDB4NWMgfSwKLSAgMTYsIDB4YzJjMCwgMCwgezB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4MzEsMHg4MSwweDBjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEgfSwKLSAgMTYsIDB4YzJkMCwgMCwgezB4ODEsMHg1YywweDYwLDB4NDMsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4YzJlMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSwKLSAgMTYsIDB4YzJmMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4YzMwMCwgMCwgezB4NWMsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgwMCwweDE3LDB4MDgsMHgwNCwweDgyLDB4MDEgfSwKLSAgMTYsIDB4YzMxMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzMyMCwgMCwgezB4MDAsMHgwMCwweDA2LDB4MDEsMHg2MywweDgwLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgwLDB4NTggfSwKLSAgMTYsIDB4YzMzMCwgMCwgezB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MSwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEgfSwKLSAgMTYsIDB4YzM0MCwgMCwgezB4ODAsMHg1OCwweDYwLDB4NTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODAsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODAgfSwKLSAgMTYsIDB4YzM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MCwweDA1LDB4NzAsMHgwMSwweDVjLDB4MDAgfSwKLSAgMTYsIDB4YzM2MCwgMCwgezB4MTcsMHgwMCwweDE1LDB4YzAsMHg4NSwweDc0LDB4MDEsMHgxYywweDAwLDB4NDcsMHgwMCwweDExLDB4YzAsMHgwNSwweDcwLDB4MDEgfSwKLSAgMTYsIDB4YzM3MCwgMCwgezB4NWMsMHgwMCwweDUzLDB4MDAsMHgxMCwweGMwLDB4MDUsMHg3MCwweDAxLDB4NWMsMHgwMCwweDU3LDB4MDAsMHgxNCwweGM5LDB4MDQgfSwKLSAgMTYsIDB4YzM4MCwgMCwgezB4NzAsMHgwMSwweDFjLDB4MDAsMHg1NywweDAwLDB4MTUsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzM5MCwgMCwgezB4MDAsMHg0NSwweDQyLDB4MDAsMHg2MCwweGMwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTggfSwKLSAgMTYsIDB4YzNhMCwgMCwgezB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4MjAsMHg4MCwweDE4LDB4MzAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDEwLDB4NjAgfSwKLSAgMTYsIDB4YzNiMCwgMCwgezB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4YzNjMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDQsMHg0MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAgfSwKLSAgMTYsIDB4YzNkMCwgMCwgezB4MDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfSwKLSAgMTYsIDB4YzNlMCwgMCwgezB4MDgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4YzNmMCwgMCwgezB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzQwMCwgMCwgezB4MDAsMHg0NSwweDQyLDB4MDUsMHg0MCwweGM1LDB4NTAsMHgyMCwweDE0LDB4MDgsMHgxNSwweDAwLDB4MDQsMHg0MCwweDgxLDB4NTAgfSwKLSAgMTYsIDB4YzQxMCwgMCwgezB4MjAsMHg1NCwweDA4LDB4MTEsMHgwMiwweDA1LDB4MDAsMHg4MCwweDEwLDB4MjAsMHg0NSwweDBjLDB4MTEsMHg0MiwweDA0LDB4NDAgfSwKLSAgMTYsIDB4YzQyMCwgMCwgezB4ODEsMHg1MCwweDIwLDB4MTQsMHgwYywweDE1LDB4NDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NTQsMHgwOCwweDE1LDB4MDAgfSwKLSAgMTYsIDB4YzQzMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMywweDAxLDB4NTAsMHhjMCwweDQ0LDB4MzAgfSwKLSAgMTYsIDB4YzQ0MCwgMCwgezB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSwweDUwLDB4YzAsMHg0YywweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgyMSwweDUwLDB4YzAgfSwKLSAgMTYsIDB4YzQ1MCwgMCwgezB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwLDB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEgfSwKLSAgMTYsIDB4YzQ2MCwgMCwgezB4NTAsMHhjMCwweDU0LDB4MjAsMHgxNSwweDBjLDB4MDUsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzQ3MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDAwLDB4MDQsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MDQgfSwKLSAgMTYsIDB4YzQ4MCwgMCwgezB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4MDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIgfSwKLSAgMTYsIDB4YzQ5MCwgMCwgezB4MDAsMHgxMCwweDgwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDAgfSwKLSAgMTYsIDB4YzRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDg0LDB4MjAgfSwKLSAgMTYsIDB4YzRiMCwgMCwgezB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4NCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAgfSwKLSAgMTYsIDB4YzRjMCwgMCwgezB4ODAsMHhhMCwweDIwLDB4MjgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MjgsMHgwOCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YzRkMCwgMCwgezB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzRlMCwgMCwgezB4MDAsMHg0NSwweDQwLDB4MDUsMHg2MCwweDQxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTggfSwKLSAgMTYsIDB4YzRmMCwgMCwgezB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4MjAsMHgwMSwweGQ4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAgfSwKLSAgMTYsIDB4YzUwMCwgMCwgezB4MDEsMHg1OCwweDAwLDB4NzYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAgfSwKLSAgMTYsIDB4YzUxMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YzUyMCwgMCwgezB4MjYsMHgwMCwweDBkLDB4ODAsMHgwMiwweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYwLDB4MDEgfSwKLSAgMTYsIDB4YzUzMCwgMCwgezB4NWMsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDU3LDB4MDAsMHgwZCwweDgwLDB4MDIgfSwKLSAgMTYsIDB4YzU0MCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDIxLDB4MGMsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MGMgfSwKLSAgMTYsIDB4YzU2MCwgMCwgezB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDE4LDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAgfSwKLSAgMTYsIDB4YzU3MCwgMCwgezB4MDEsMHgwYywweDAwLDB4NDYsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgwYywweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAgfSwKLSAgMTYsIDB4YzU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSwKLSAgMTYsIDB4YzU5MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDM1LDB4MDgsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzYsMHgwMCwweDE0LDB4MDAgfSwKLSAgMTYsIDB4YzVhMCwgMCwgezB4MDgsMHgwMCwweDAzLDB4NDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGQsMHg0MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4YzViMCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzVjMCwgMCwgezB4MDAsMHgwMCwweDA1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSwweGMwLDB4NGMgfSwKLSAgMTYsIDB4YzVkMCwgMCwgezB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDA1LDB4MzEsMHg0MSwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEgfSwKLSAgMTYsIDB4YzVlMCwgMCwgezB4NDAsMHg0YywweDcwLDB4NTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxLDB4NDAsMHg0YywweDQwLDB4MTMsMHgxNCwweDA0LDB4YzAgfSwKLSAgMTYsIDB4YzVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA1LDB4NjgsMHhjMSwweDVhLDB4MzAgfSwKLSAgMTYsIDB4YzYwMCwgMCwgezB4NTYsMHg4YywweDE1LDB4YTMsMHgwNSwweDY5LDB4YzEsMHg1YSwweDMwLDB4NDYsMHg4YywweDExLDB4YTcsMHgwMSwweDY4LDB4YzAgfSwKLSAgMTYsIDB4YzYxMCwgMCwgezB4MWEsMHgzMCwweDU2LDB4OGMsMHgxMSwweGEzLDB4MDQsMHg2OCwweGMxLDB4MWEsMHgzMCwweDE2LDB4OGMsMHgxNSwweGEzLDB4MDQgfSwKLSAgMTYsIDB4YzYyMCwgMCwgezB4NjgsMHhjMSwweDVhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyNCwweDAwLDB4MDggfSwKLSAgMTYsIDB4YzY0MCwgMCwgezB4MDEsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA4LDB4ODAsMHgwMiwweDYwLDB4MDAsMHg4MCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YzY1MCwgMCwgezB4MDAsMHgwOSwweDQwLDB4MDIsMHgyMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4YzY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQgfSwKLSAgMTYsIDB4YzY3MCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MDksMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODgsMHg2MCwweDYyLDB4MTAgfSwKLSAgMTYsIDB4YzY4MCwgMCwgezB4MTgsMHgwNCwweDQ2LDB4MDEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4MCwweDA2LDB4MDEsMHgxMSwweDg4LDB4NDQgfSwKLSAgMTYsIDB4YzY5MCwgMCwgezB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDUsMHg1MCwweDExLDB4NTQsMHgwNCwweDU1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4NTQgfSwKLSAgMTYsIDB4YzZiMCwgMCwgezB4MDQsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQwLDB4NTAsMHgxMCwweDU0LDB4MDQsMHg0NSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAgfSwKLSAgMTYsIDB4YzZjMCwgMCwgezB4MTEsMHgxNCwweDAwLDB4MTUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwLDB4MTEsMHg1NCwweDA0LDB4NTUsMHgwMCwweDExLDB4NDAgfSwKLSAgMTYsIDB4YzZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIgfSwKLSAgMTYsIDB4YzZlMCwgMCwgezB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMSwweDQyLDB4MDAsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMCwweDQyLDB4MDggfSwKLSAgMTYsIDB4YzZmMCwgMCwgezB4NTAsMHg4MiwweDE1LDB4MjAsMHgwNSwweDQ4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4MSwweDQwLDB4MjEgfSwKLSAgMTYsIDB4YzcwMCwgMCwgezB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzcxMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDg0LDB4NDAgfSwKLSAgMTYsIDB4YzcyMCwgMCwgezB4YTEsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgwMCwweDI4LDB4MDAsMHgwYSwweDAxLDB4MDIgfSwKLSAgMTYsIDB4YzczMCwgMCwgezB4ODAsMHg0MCwweGIwLDB4MTAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MDAgfSwKLSAgMTYsIDB4Yzc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAgfSwKLSAgMTYsIDB4Yzc1MCwgMCwgezB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMywweDUzLDB4MDAgfSwKLSAgMTYsIDB4Yzc2MCwgMCwgezB4ZDQsMHhjMCwweDIxLDB4MzAsMHgwOCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwOCwweDRjLDB4MDMgfSwKLSAgMTYsIDB4Yzc3MCwgMCwgezB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzc4MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4MDQsMHg3MCwweDAxLDB4NWMsMHg4MCwweDA3LDB4MjAsMHgyNSwweGM5LDB4MDQsMHg3MiwweDAxLDB4NWMgfSwKLSAgMTYsIDB4Yzc5MCwgMCwgezB4ODAsMHg0NywweDIwLDB4MTUsMHhjOCwweDAwLDB4NzIsMHgwNSwweGRjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDA1LDB4NzIgfSwKLSAgMTYsIDB4YzdhMCwgMCwgezB4MDEsMHgxYywweDkwLDB4NjcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyLDB4MDEsMHgxYywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4YzdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDE4LDB4NDgsMHhjMiwweDEyLDB4MzEgfSwKLSAgMTYsIDB4YzdjMCwgMCwgezB4ODQsMHg4YywweDYxLDB4MDMsMHgxOCwweDQwLDB4YzgsMHgxMiwweDMxLDB4ODQsMHg4YywweDYxLDB4MDMsMHgxOCwweDQ4LDB4YzQgfSwKLSAgMTYsIDB4YzdkMCwgMCwgezB4MTAsMHgzMSwweDg0LDB4MGMsMHg0MSwweDIzLDB4MTgsMHg0OCwweGM2LDB4MTAsMHgzMCwweDA0LDB4MGMsMHg2MSwweDIzLDB4MTggfSwKLSAgMTYsIDB4YzdlMCwgMCwgezB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDhjLDB4MjEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzdmMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMgfSwKLSAgMTYsIDB4YzgwMCwgMCwgezB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYgfSwKLSAgMTYsIDB4YzgxMCwgMCwgezB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGJkLDB4MDAgfSwKLSAgMTYsIDB4YzgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg2MCwgMCwgezB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwOSwweDM2LDB4YzIgfSwKLSAgMTYsIDB4Yzg3MCwgMCwgezB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIgfSwKLSAgMTYsIDB4Yzg4MCwgMCwgezB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4Yzg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDNjLDB4NGMsMHhjZiwweDEzLDB4MzMgfSwKLSAgMTYsIDB4YzhhMCwgMCwgezB4YzQsMHhjYywweGYxLDB4MzMsMHgzYywweDRkLDB4NGUsMHg5MywweDMzLDB4YzQsMHhjYywweGYxLDB4MmIsMHgzYywweDRjLDB4Y2YgfSwKLSAgMTYsIDB4YzhiMCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2MsMHhlOSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTIsMHhiNSwweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MgfSwKLSAgMTYsIDB4YzhjMCwgMCwgezB4NGMsMHhjZiwweDEzLDB4MzMsMHhjNCwweGNkLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzhkMCwgMCwgezB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGM3LDB4OTMsMHhiNywweGU0LDB4ZWQsMHhmOSwweDIzLDB4N2UsMHg0ZSwweDQ3LDB4OTMgfSwKLSAgMTYsIDB4YzhlMCwgMCwgezB4YjcsMHhlNCwweGVkLDB4ZjksMHgzZiwweDdlLDB4NGUsMHhkZSwweDEyLDB4MzcsMHhlNCwweDhkLDB4ZjksMHgzYiwweDdlLDB4NGUgfSwKLSAgMTYsIDB4YzhmMCwgMCwgezB4ZGYsMHg5MywweGY3LDB4ODQsMHg4ZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGIxLDB4ZTQsMHhlZCwweGI5LDB4MDAgfSwKLSAgMTYsIDB4YzkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAyLDB4NzAsMHg0MCwweDljLDB4MTEgfSwKLSAgMTYsIDB4YzkxMCwgMCwgezB4NjcsMHgwNCwweDE5LDB4YzMsMHgwMiwweDcwLDB4NDAsMHg5YywweDEwLDB4MjcsMHgwNCwweDA5LDB4YzEsMHgwMiwweDcwLDB4NDAgfSwKLSAgMTYsIDB4YzkyMCwgMCwgezB4MWMsMHgxMCwweDI3LDB4MTQsMHgwMSwweGMxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHg1MCwweDA3LDB4MDQsMHgwOSwweGMxLDB4MDIgfSwKLSAgMTYsIDB4YzkzMCwgMCwgezB4NzAsMHg0MCwweDljLDB4MTAsMHg2NywweDE0LDB4MTEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzk0MCwgMCwgezB4MDAsMHgwMCwweDA0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDAxLDB4NWMgfSwKLSAgMTYsIDB4Yzk1MCwgMCwgezB4NDAsMHg1NywweDEwLDB4MTUsMHhjNiwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTAsMHhjNCwweDA1LDB4NzEgfSwKLSAgMTYsIDB4Yzk2MCwgMCwgezB4MDEsMHg1YywweDY0LDB4MDMsMHgxMCwweDU1LDB4YzQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4Yzk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSwKLSAgMTYsIDB4Yzk4MCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIxLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4Yzk5MCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNSwweGMyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyNCwweDE3LDB4MDgsMHgwNCwweDgyLDB4MDEgfSwKLSAgMTYsIDB4YzlhMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDg0LDB4MDAsMHg2MCwweDAwLDB4MTggfSwKLSAgMTYsIDB4YzljMCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMSwweDE4LDB4MDAsMHgwNiwweDEwLDB4OTEsMHg4MCwweDAwLDB4NjAgfSwKLSAgMTYsIDB4YzlkMCwgMCwgezB4MDAsMHgxOCwweDQ2LDB4NDYsMHgxOCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgxMCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4YzllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4NzMsMHgwMSwweDFjLDB4ODAgfSwKLSAgMTYsIDB4YzlmMCwgMCwgezB4MDcsMHgyMCwweDAxLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEgfSwKLSAgMTYsIDB4Y2EwMCwgMCwgezB4MWMsMHg4MCwweDQ3LDB4MjIsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDA3LDB4MjAsMHgxMSwweGM4LDB4MDQgfSwKLSAgMTYsIDB4Y2ExMCwgMCwgezB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDI4LDB4MTEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2EyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTggfSwKLSAgMTYsIDB4Y2EzMCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAgfSwKLSAgMTYsIDB4Y2E0MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4NDYsMHgwNCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4Y2E1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAgfSwKLSAgMTYsIDB4Y2E2MCwgMCwgezB4MDIsMHgyMCwweDAwLDB4OTAsMHgwNCwweDI3LDB4ODEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4OTgsMHgwNCwweDI0LDB4MDEgfSwKLSAgMTYsIDB4Y2E3MCwgMCwgezB4MDgsMHg4MCwweDQyLDB4NDgsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDksMHg0MCwweDQyLDB4NjAsMHgxMCwweDg4LDB4MDQgfSwKLSAgMTYsIDB4Y2E4MCwgMCwgezB4MjIsMHgwMSwweDA4LDB4YzAsMHgwMiwweDQwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2E5MCwgMCwgezB4MDAsMHgwMCwweDJhLDB4MDQsMHg0YiwweDgxLDB4MTIsMHhhMCwweDA0LDB4YTgsMHgwMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIgfSwKLSAgMTYsIDB4Y2FhMCwgMCwgezB4YTAsMHg0NCwweGE4LDB4MTEsMHgyYSwweDA0LDB4NDgsMHg4MCwweDEyLDB4YTAsMHg0NCwweDg4LDB4MDEsMHgyYSwweDA0LDB4NGEgfSwKLSAgMTYsIDB4Y2FiMCwgMCwgezB4ODEsMHgxMiwweDIwLDB4MDQsMHhhYywweDExLDB4MmEsMHgwNCwweDRhLDB4ODEsMHgxMiwweGIwLDB4NDQsMHg5YywweDExLDB4MDAgfSwKLSAgMTYsIDB4Y2FjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHgwYywweDAwLDB4NTMsMHgwMCwweDE0LDB4YzAgfSwKLSAgMTYsIDB4Y2FkMCwgMCwgezB4MDUsMHgzMCwweDAxLDB4NDQsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwLDB4MDUsMHgzMCwweDA0LDB4MGMsMHgwMCwweDUzLDB4MDAgfSwKLSAgMTYsIDB4Y2FlMCwgMCwgezB4MTQsMHhjMCwweDA1LDB4YjAsMHgwMSwweDRjLDB4MDAsMHg1MywweDAwLDB4MTYsMHhjMCwweDAxLDB4MzAsMHgwMSwweDRjLDB4MDAgfSwKLSAgMTYsIDB4Y2FmMCwgMCwgezB4NTMsMHgwMCwweDE0LDB4YzAsMHgwMSwweDM4LDB4MDAsMHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2IwMCwgMCwgezB4MDgsMHhjMCwweDAwLDB4MTAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDEwLDB4MDAsMHg0NCwweDgwLDB4MTAgfSwKLSAgMTYsIDB4Y2IxMCwgMCwgezB4MDAsMHgwNCwweDAwLDB4MDEsMHgxMCwweDAwLDB4NDYsMHgwMCwweDAwLDB4MDAsMHgwNCwweDYwLDB4MDEsMHgwMCwweDAwLDB4NDAgfSwKLSAgMTYsIDB4Y2IyMCwgMCwgezB4MDAsMHgxMSwweDYwLDB4MDIsMHg0MCwweDAxLDB4MDAsMHgxMCwweDQwLDB4MDAsMHgxMCwweDYwLDB4MDEsMHg1MCwweDEwLDB4NDAgfSwKLSAgMTYsIDB4Y2IzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4Y2I0MCwgMCwgezB4MjAsMHgwMCwweDA4LDB4MDgsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2I1MCwgMCwgezB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIgfSwKLSAgMTYsIDB4Y2I2MCwgMCwgezB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMSwweDAwLDB4MDgsMHg0MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2I3MCwgMCwgezB4MDgsMHhjMCwweDQwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTggfSwKLSAgMTYsIDB4Y2I4MCwgMCwgezB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweGM4LDB4MDAsMHg0NiwweDAwLDB4MTksMHg4MCwweDAwLDB4NjAgfSwKLSAgMTYsIDB4Y2I5MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4MDYsMHgwMCwweDExLDB4ODAgfSwKLSAgMTYsIDB4Y2JhMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDEsMHgwMCwweDAyLDB4NjAsMHgwMCwweDk4LDB4MDAgfSwKLSAgMTYsIDB4Y2JiMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODEsMHgwMiwweDYwLDB4MDEsMHg5OCwweDAwLDB4MjYsMHgwMCwweDA5LDB4ODAsMHgwNiwweDYyLDB4MDAgfSwKLSAgMTYsIDB4Y2JjMCwgMCwgezB4NDgsMHgwMCwweDI2LDB4MjAsMHgwMSwweGMwLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDA3LDB4MDAsMHgwOSwweDgwLDB4MDIgfSwKLSAgMTYsIDB4Y2JkMCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHgyNiwweDAwLDB4MTEsMHg4MiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2JlMCwgMCwgezB4NDAsMHg0NSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDg1LDB4OGMgfSwKLSAgMTYsIDB4Y2JmMCwgMCwgezB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDQ4LDB4MTEsMHg4MiwweDA0LDB4MzAgfSwKLSAgMTYsIDB4Y2MwMCwgMCwgezB4ODEsMHg4ZCwweDIwLDB4NDYsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwYywweDEwLDB4YzAgfSwKLSAgMTYsIDB4Y2MxMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSwKLSAgMTYsIDB4Y2MyMCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDEwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAgfSwKLSAgMTYsIDB4Y2MzMCwgMCwgezB4MDgsMHgwMCwweDAzLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHg4MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4Y2M0MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAsMHhjMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2M1MCwgMCwgezB4NDAsMHgwMCwweDAyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMSwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMgfSwKLSAgMTYsIDB4Y2M2MCwgMCwgezB4MjAsMHgwMywweDA4LDB4MDAsMHhjMiwweDA0LDB4MzAsMHhjMSwweDBjLDB4MjAsMHgwMywweDBjLDB4MTAsMHhjMiwweDAwLDB4MzAgfSwKLSAgMTYsIDB4Y2M3MCwgMCwgezB4ODAsMHgwYywweGIwLDB4NDMsMHgwOCwweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYywweDIwLDB4MDMsMHgyOCwweDEwLDB4YzAgfSwKLSAgMTYsIDB4Y2M4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfSwKLSAgMTYsIDB4Y2M5MCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEgfSwKLSAgMTYsIDB4Y2NhMCwgMCwgezB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4Y2NiMCwgMCwgezB4NjAsMHg4MSwweDE4LDB4MjAsMHg0NiwweDBjLDB4MTEsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2NjMCwgMCwgezB4NDAsMHgwMSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDggfSwKLSAgMTYsIDB4Y2NkMCwgMCwgezB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBjLDB4MjAsMHgwMiwweDA4LDB4MDAsMHhjMiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4Y2NlMCwgMCwgezB4ODAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4Y2NmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDEsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfSwKLSAgMTYsIDB4Y2QwMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4YzEgfSwKLSAgMTYsIDB4Y2QxMCwgMCwgezB4MGMsMHgyMCwweDQ2LDB4MGMsMHgxMCwweGMyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgzMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4Y2QyMCwgMCwgezB4NjAsMHg4MSwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2QzMCwgMCwgezB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAwLDB4MTQgfSwKLSAgMTYsIDB4Y2Q0MCwgMCwgezB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDAwLDB4NTAsMHgwMCwweDA0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MCwweDA0LDB4NTAgfSwKLSAgMTYsIDB4Y2Q1MCwgMCwgezB4MDAsMHgxNCwweDAwLDB4MDEsMHgwMCwweDExLDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDIgfSwKLSAgMTYsIDB4Y2Q2MCwgMCwgezB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAgfSwKLSAgMTYsIDB4Y2Q3MCwgMCwgezB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAgfSwKLSAgMTYsIDB4Y2Q4MCwgMCwgezB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAgfSwKLSAgMTYsIDB4Y2Q5MCwgMCwgezB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2RhMCwgMCwgezB4NDgsMHgwMCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMSwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAgfSwKLSAgMTYsIDB4Y2RiMCwgMCwgezB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjEsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAgfSwKLSAgMTYsIDB4Y2RjMCwgMCwgezB4ODAsMHg0MCwweDMwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgxMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDE0LDB4MDAgfSwKLSAgMTYsIDB4Y2RkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfSwKLSAgMTYsIDB4Y2RlMCwgMCwgezB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAgfSwKLSAgMTYsIDB4Y2RmMCwgMCwgezB4ZDQsMHg2MCwweDM1LDB4MTAsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg0MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMgfSwKLSAgMTYsIDB4Y2UwMCwgMCwgezB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2UxMCwgMCwgezB4MDAsMHgwMSwweDQ2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDA3LDB4MTgsMHgxMSwweGNlLDB4MDQsMHg3MSwweDgxLDB4MWMgfSwKLSAgMTYsIDB4Y2UyMCwgMCwgezB4NjAsMHg0NywweDE4LDB4MDEsMHhjNiwweDA0LDB4NzEsMHg4MSwweDljLDB4NjAsMHg0NywweDE4LDB4MTksMHhjNiwweDA0LDB4NzEgfSwKLSAgMTYsIDB4Y2UzMCwgMCwgezB4ODAsMHgxYywweDYwLDB4NjcsMHgxOCwweDExLDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4NDcsMHgxOCwweDExLDB4YzAgfSwKLSAgMTYsIDB4Y2U0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHg0NiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAgfSwKLSAgMTYsIDB4Y2U1MCwgMCwgezB4MjcsMHgxOCwweDA5LDB4YzYsMHgwNiwweDcxLDB4ODAsMHgxYywweDYwLDB4MjcsMHgxOCwweDA5LDB4YzYsMHgwMSwweDMxLDB4ODAgfSwKLSAgMTYsIDB4Y2U2MCwgMCwgezB4MWMsMHg2MCwweDA3LDB4MTgsMHgwOSwweGM2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCwweDA3LDB4MTgsMHgwOSwweGM2LDB4MTIgfSwKLSAgMTYsIDB4Y2U3MCwgMCwgezB4NzEsMHg4MCwweDljLDB4NjAsMHgzMywweDE4LDB4MDEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2U4MCwgMCwgezB4NTAsMHg0NSwweDQ2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgwLDB4NWMgfSwKLSAgMTYsIDB4Y2U5MCwgMCwgezB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDAxLDB4MzEsMHg4MSwweDBjLDB4NjAsMHgxNywweDE4LDB4MTAsMHhjNiwweDA1LDB4NzEgfSwKLSAgMTYsIDB4Y2VhMCwgMCwgezB4ODEsMHg1YywweDYwLDB4MDMsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTMsMHgxOCwweDE4LDB4ODIgfSwKLSAgMTYsIDB4Y2ViMCwgMCwgezB4MTAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDAsMHgxMiwweDAxLDB4MjQsMHg4MCwweDQ4LDB4MjAgfSwKLSAgMTYsIDB4Y2VjMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDI0LDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4Y2VkMCwgMCwgezB4NTgsMHgyMCwweDUyLDB4MGMsMHgwNSwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDksMHgyMCwweDAyLDB4MDgsMHgwNCwweDgyLDB4MDEgfSwKLSAgMTYsIDB4Y2VlMCwgMCwgezB4MjAsMHg4MCwweDQ5LDB4MjAsMHgxMiwweDQ4LDB4MDQsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2VmMCwgMCwgezB4NDAsMHgwNCwweDA2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4MTgsMHgwMSwweDg2LDB4MDQsMHg2MSwweDgwLDB4MTggfSwKLSAgMTYsIDB4Y2YwMCwgMCwgezB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MSwweDQ4LDB4NjAsMHgwNiwweDE4LDB4MTQsMHg4NiwweDAwLDB4NjEgfSwKLSAgMTYsIDB4Y2YxMCwgMCwgezB4ODAsMHgxOCwweDYwLDB4NDIsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4MDYsMHgxOCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4Y2YyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg2MCwweDA0LDB4NzgsMHgwMSwweDFlLDB4MDAgfSwKLSAgMTYsIDB4Y2YzMCwgMCwgezB4NDcsMHg4MCwweDExLDB4ZTgsMHgwMCwweDc4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4ZTAsMHgwNCwweDc4LDB4MDEgfSwKLSAgMTYsIDB4Y2Y0MCwgMCwgezB4MWUsMHgwMCwweDQzLDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxLDB4MWUsMHgwMCwweDAzLDB4ODAsMHgxNSwweGUwLDB4MDQgfSwKLSAgMTYsIDB4Y2Y1MCwgMCwgezB4NzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhjMCwweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Y2MCwgMCwgezB4NDAsMHgwMSwweDEyLDB4MDAsMHg2NCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2NCwweDgwLDB4MTggfSwKLSAgMTYsIDB4Y2Y3MCwgMCwgezB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MzAsMHgwMiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAgfSwKLSAgMTYsIDB4Y2Y4MCwgMCwgezB4ODAsMHgxOSwweDMwLDB4NDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOSwweDIwLDB4MDYsMHg0OCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4Y2Y5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAgfSwKLSAgMTYsIDB4Y2ZhMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwMCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfSwKLSAgMTYsIDB4Y2ZiMCwgMCwgezB4MDgsMHgyMCwweDQ2LDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4Y2ZjMCwgMCwgezB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2ZkMCwgMCwgezB4NDAsMHg0NSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDAsMHg0MCwweDgxLDB4MTAgfSwKLSAgMTYsIDB4Y2ZlMCwgMCwgezB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MCwweDEwLDB4MjAsMHg0NSwweDA4LDB4MDEsMHgwMiwweDA0LDB4NDAgfSwKLSAgMTYsIDB4Y2ZmMCwgMCwgezB4ODEsMHgxMCwweDIxLDB4MDAsMHgwYywweDExLDB4MDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NDQsMHgwOCwweDAxLDB4MDAgfSwKLSAgMTYsIDB4ZDAwMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwMywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAgfSwKLSAgMTYsIDB4ZDAxMCwgMCwgezB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAgfSwKLSAgMTYsIDB4ZDAyMCwgMCwgezB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAgfSwKLSAgMTYsIDB4ZDAzMCwgMCwgezB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDA0MCwgMCwgezB4NDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDA0LDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA5LDB4MDAsMHg0MiwweDAxLDB4MTAgfSwKLSAgMTYsIDB4ZDA1MCwgMCwgezB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIgfSwKLSAgMTYsIDB4ZDA2MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDExLDB4MDAgfSwKLSAgMTYsIDB4ZDA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAgfSwKLSAgMTYsIDB4ZDA4MCwgMCwgezB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHgwMCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4ZDA5MCwgMCwgezB4ODAsMHhhMCwweDAwLDB4MGEsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgzNCwweDYyLDB4MjgsMHgwOCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4ZDBhMCwgMCwgezB4MDAsMHg4MCwweDgwLDB4MzAsMHgyMCwweDBjLDB4MDgsMHgwMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDBiMCwgMCwgezB4NDAsMHgwMSwweDQwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAzLDB4MTggfSwKLSAgMTYsIDB4ZDBjMCwgMCwgezB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA2LDB4NjAsMHgwMSwweDk4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAgfSwKLSAgMTYsIDB4ZDBkMCwgMCwgezB4MDEsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAgfSwKLSAgMTYsIDB4ZDBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHgwMCwweDAyLDB4NjAsMHgwMCwweDk4LDB4MDAgfSwKLSAgMTYsIDB4ZDBmMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODAsMHgwMiwweDY0LDB4MDAsMHg5OCwweDAwLDB4MjYsMHgwMCwweDE5LDB4OTAsMHgwMiwweDYwLDB4MDAgfSwKLSAgMTYsIDB4ZDEwMCwgMCwgezB4MWQsMHgwMCwweDI2LDB4MDAsMHgwMSwweGMwLDB4MDIsMHg2MCwweDAwLDB4OTksMHgwMCwweDA2LDB4NDAsMHgxOSwweDgwLDB4MDIgfSwKLSAgMTYsIDB4ZDExMCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHg2NiwweDAwLDB4MDEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDEyMCwgMCwgezB4NDAsMHg0NSwweDYwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxMCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MGUgfSwKLSAgMTYsIDB4ZDEzMCwgMCwgezB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDFhLDB4MDAsMHg0MywweDgwLDB4MTEsMHhhMCwweDA0LDB4MzggfSwKLSAgMTYsIDB4ZDE0MCwgMCwgezB4MDEsMHgwZSwweDAwLDB4MDIsMHg4MCwweDQwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDMsMHg4MCwweDE4LDB4ODAgfSwKLSAgMTYsIDB4ZDE1MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDQsMHgwMSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAgfSwKLSAgMTYsIDB4ZDE2MCwgMCwgezB4MDMsMHgwNCwweDAwLDB4YzksMHgwMCwweDMwLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4YzEsMHgwMCwweDMwLDB4NDAgfSwKLSAgMTYsIDB4ZDE3MCwgMCwgezB4MDgsMHgxMCwweDAzLDB4MDQsMHgwMCwweDgxLDB4MDAsMHgzMCwweDQwLDB4MGMsMHg3OCwweDAyLDB4MTQsMHgwMCwweGMxLDB4MDAgfSwKLSAgMTYsIDB4ZDE4MCwgMCwgezB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMywweDA0LDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDE5MCwgMCwgezB4NDAsMHgwMCwweDA1LDB4MDAsMHgzMSwweDQwLDB4MGMsMHg1MCwweDAzLDB4MTQsMHgwMCwweGM1LDB4MDAsMHgzNSwweDQwLDB4MGMgfSwKLSAgMTYsIDB4ZDFhMCwgMCwgezB4NTAsMHgwMywweDE0LDB4MTAsMHhkNSwweDAwLDB4MzEsMHg0MSwweDBkLDB4NTAsMHgwMywweDE0LDB4MTAsMHhjNSwweDAwLDB4MzEgfSwKLSAgMTYsIDB4ZDFiMCwgMCwgezB4NDAsMHgwZCwweDQ4LDB4NDMsMHg1NCwweDEwLDB4YzUsMHgwMCwweDMxLDB4NDAsMHgwYywweDQwLDB4NDMsMHgxMCwweDAwLDB4YzIgfSwKLSAgMTYsIDB4ZDFjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MywweDA0LDB4NjAsMHhjMSwweDE4LDB4MzAgfSwKLSAgMTYsIDB4ZDFkMCwgMCwgezB4NDYsMHgwYywweDExLDB4ODMsMHgwNCwweDYxLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDAxLDB4ODcsMHgwNCwweDYwLDB4YzEgfSwKLSAgMTYsIDB4ZDFlMCwgMCwgezB4MTgsMHgzMCwweDQ2LDB4MDgsMHgxMSwweDgzLDB4MDQsMHg2MCwweGMxLDB4MTgsMHgyMCwweDA2LDB4MGMsMHgwMSwweDgzLDB4MDQgfSwKLSAgMTYsIDB4ZDFmMCwgMCwgezB4NjAsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MTEsMHg4MCwweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDIwMCwgMCwgezB4NDAsMHgwMSwweDQwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDggfSwKLSAgMTYsIDB4ZDIxMCwgMCwgezB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MjAsMHgwMCwweDA4LDB4ODAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZDIyMCwgMCwgezB4MDAsMHgwOCwweDQwLDB4NDMsMHgzMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4ZDIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQgfSwKLSAgMTYsIDB4ZDI0MCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYzLDB4MDEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDAxLDB4ODgsMHgwNCwweDYyLDB4MTEgfSwKLSAgMTYsIDB4ZDI1MCwgMCwgezB4MTgsMHgwNCwweDQ2LDB4MjEsMHgxMCwweGM4LDB4NDQsMHg2MiwweDExLDB4MTgsMHgwNSwweDQzLDB4MDEsMHg4MSwweDg4LDB4NDQgfSwKLSAgMTYsIDB4ZDI2MCwgMCwgezB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDI3MCwgMCwgezB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwNCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDQsMHg1MCwweDAxLDB4MTQgfSwKLSAgMTYsIDB4ZDI4MCwgMCwgezB4MDQsMHg0NSwweDAxLDB4MDEsMHg0MCwweDQ1LDB4MDAsMHgxMCwweDE0LDB4MDQsMHg0NSwweDAzLDB4MDAsMHg0MCwweDQ0LDB4NTAgfSwKLSAgMTYsIDB4ZDI5MCwgMCwgezB4MTEsMHgxNCwweDA0LDB4MDEsMHgwNSwweDQxLDB4NDAsMHg0NCwweDUwLDB4MTEsMHgxNCwweDA0LDB4MDUsMHgwMSwweDAxLDB4NDAgfSwKLSAgMTYsIDB4ZDJhMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIgfSwKLSAgMTYsIDB4ZDJiMCwgMCwgezB4MDQsMHgyMCwweDgxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgwMCwweDQyLDB4MDggfSwKLSAgMTYsIDB4ZDJjMCwgMCwgezB4MTAsMHg4MiwweDA1LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4YSwweDA1LDB4MjAsMHgwNSwweDA4LDB4MjAgfSwKLSAgMTYsIDB4ZDJkMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIyLDB4ODEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDJlMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDAyLDB4MDEsMHgwMiwweDgwLDB4NDAgfSwKLSAgMTYsIDB4ZDJmMCwgMCwgezB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgwMCwweDI5LDB4MDQsMHgwYSwweDAxLDB4MDIgfSwKLSAgMTYsIDB4ZDMwMCwgMCwgezB4ODAsMHg0MCwweGE0LDB4MDAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGE4LDB4MTAsMHgyYiwweDE0LDB4MDAgfSwKLSAgMTYsIDB4ZDMxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAgfSwKLSAgMTYsIDB4ZDMyMCwgMCwgezB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwLDB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMywweDUzLDB4NDAgfSwKLSAgMTYsIDB4ZDMzMCwgMCwgezB4ZDQsMHhkMCwweDIxLDB4MzQsMHg0ZCwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkOSwweDYxLDB4MzQsMHgwNCwweDBkLDB4MDMgfSwKLSAgMTYsIDB4ZDM0MCwgMCwgezB4NTMsMHg0MCwweGMwLDB4ZDgsMHgzNSwweDM3LDB4MGQsMHg0MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDM1MCwgMCwgezB4NDAsMHgwMSwweDQ4LDB4MDQsMHg3MiwweDAwLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMgfSwKLSAgMTYsIDB4ZDM2MCwgMCwgezB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMCwweDljLDB4ODAsMHg0NywweDIwLDB4MTksMHhjOCwweDAwLDB4NzIgfSwKLSAgMTYsIDB4ZDM3MCwgMCwgezB4MDEsMHgxYywweDg4LDB4NjcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHg1YywweDgyLDB4NDcsMHgyMiwweDExLDB4YzAgfSwKLSAgMTYsIDB4ZDM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA4LDB4NDgsMHhjMiwweDEyLDB4MzEgfSwKLSAgMTYsIDB4ZDM5MCwgMCwgezB4ODQsMHg4YywweDYxLDB4MjMsMHgxMCwweDQwLDB4YzAsMHgxMiwweDMxLDB4ODQsMHg4YywweDYxLDB4MDMsMHgxMCwweDQ4LDB4YzQgfSwKLSAgMTYsIDB4ZDNhMCwgMCwgezB4MTAsMHgzMSwweDg0LDB4OGMsMHg0MSwweDIzLDB4MTgsMHg0OCwweGM2LDB4MTAsMHgzMCwweDA0LDB4MGMsMHg0MSwweDIzLDB4MTggfSwKLSAgMTYsIDB4ZDNiMCwgMCwgezB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDhjLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDNjMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMgfSwKLSAgMTYsIDB4ZDNkMCwgMCwgezB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYgfSwKLSAgMTYsIDB4ZDNlMCwgMCwgezB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGRkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4MDAgfSwKLSAgMTYsIDB4ZDNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQzMCwgMCwgezB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIgfSwKLSAgMTYsIDB4ZDQ0MCwgMCwgezB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIgfSwKLSAgMTYsIDB4ZDQ1MCwgMCwgezB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDRjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MDAgfSwKLSAgMTYsIDB4ZDQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDVjLDB4NGMsMHhkNywweDEzLDB4MzMgfSwKLSAgMTYsIDB4ZDQ3MCwgMCwgezB4YzQsMHhjYywweGYxLDB4MzMsMHgzYSwweDRhLDB4ZDYsMHg5MywweDMzLDB4YzQsMHhjYywweGYxLDB4MmIsMHgzYSwweDRjLDB4Y2YgfSwKLSAgMTYsIDB4ZDQ4MCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2MsMHhlOSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTIsMHhiNSwweGE0LDB4YWMsMHhjOSwweDMzLDB4M2MgfSwKLSAgMTYsIDB4ZDQ5MCwgMCwgezB4NGMsMHhjZiwweDEzLDB4MzUsMHhjNCwweGNkLDB4NjksMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDRhMCwgMCwgezB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiNywweGU0LDB4ZWQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMgfSwKLSAgMTYsIDB4ZDRiMCwgMCwgezB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZSwweDEyLDB4MzcsMHhlNCwweGVkLDB4ZTEsMHgzYiwweDdlLDB4NGUgfSwKLSAgMTYsIDB4ZDRjMCwgMCwgezB4ZGYsMHg5MiwweDMxLDB4ODQsMHg4ZCwweGQ5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGIxLDB4ZTQsMHhlYywweDYxLDB4MDAgfSwKLSAgMTYsIDB4ZDRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg0LDB4MDQsMHhhMSwweDgzLDB4MmMgfSwKLSAgMTYsIDB4ZDRlMCwgMCwgezB4MDMsMHgwYSwweDEwLDB4ODIsMHhjMSwweDM0LDB4MTAsMHg4ZiwweDAwLDB4NDAsMHgwOSwweDE0LDB4MDIsMHgwMywweDE0LDB4OTEgfSwKLSAgMTYsIDB4ZDRmMCwgMCwgezB4MDAsMHgwOCwweDQyLDB4MGIsMHgxOCwweDgyLDB4YzQsMHgwMCwweDMxLDB4Y2EsMHgwYywweDUyLDB4MDIsMHgxMCwweDgwLDB4ODUgfSwKLSAgMTYsIDB4ZDUwMCwgMCwgezB4MDAsMHgyMSwweDgyLDB4MjgsMHg0MCwweDBhLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDUxMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDQsMHgwMiwweDAxLDB4NDAsMHg4MCwweDczLDB4MjgsMHgxMCwweDQ4LDB4MDcsMHgwNiwweDAxLDB4MDQgfSwKLSAgMTYsIDB4ZDUyMCwgMCwgezB4YTQsMHg0MSwweDIxLDB4MTQsMHgwOCwweDQ0LDB4MDYsMHgxMSwweDQwLDB4ODAsMHg3MCwweDIwLDB4MTQsMHgwYSwweDA0LDB4MDIgfSwKLSAgMTYsIDB4ZDUzMCwgMCwgezB4MDAsMHhjOCwweDg0LDB4NDEsMHgyMSwweDFjLDB4MDgsMHgwNiwweDEyLDB4MDEsMHhjMCwweDgwLDB4NjAsMHgyMCwweDE0LDB4MDAgfSwKLSAgMTYsIDB4ZDU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDg0LDB4MDQsMHgyMSwweDgyLDB4MDggfSwKLSAgMTYsIDB4ZDU1MCwgMCwgezB4NTMsMHgwMiwweDEwLDB4ODAsMHhjNSwweDAwLDB4ODEsMHg0YSwweDA0LDB4NDIsMHgwMiwweDE0LDB4MDAsMHgwNCwweDIwLDB4MjEgfSwKLSAgMTYsIDB4ZDU2MCwgMCwgezB4ODAsMHhhOCwweDcyLDB4MjIsMHgxYywweDg4LDB4YzQsMHgwNiwweGExLDB4NDIsMHg4YywweDUyLDB4MjIsMHgxYywweDg4LDB4ODUgfSwKLSAgMTYsIDB4ZDU3MCwgMCwgezB4MjYsMHgyMSwweGMwLDB4ODgsMHg1MCwweDIyLDB4MTgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDU4MCwgMCwgezB4MDAsMHgwMCwweDAyLDB4NDQsMHgwMCwweDAxLDB4MDEsMHgwMCwweDYyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDEgfSwKLSAgMTYsIDB4ZDU5MCwgMCwgezB4MjAsMHg0MCwweDAwLDB4MWMsMHgwMCwweDQ0LDB4MDQsMHgwMSwweDAyLDB4MjAsMHg2MiwweDAwLDB4MWMsMHg4MCwweDA0LDB4MDQgfSwKLSAgMTYsIDB4ZDVhMCwgMCwgezB4ODAsMHg4OSwweDIwLDB4NTAsMHgwOCwweDE0LDB4ODAsMHgwNCwweDI0LDB4MDEsMHhjMSwweDAwLDB4NTAsMHgwMCwweDE4LDB4MDAgfSwKLSAgMTYsIDB4ZDViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDgwLDB4MzgsMHgyMCwweDA0LDB4MGMgfSwKLSAgMTYsIDB4ZDVjMCwgMCwgezB4MzEsMHgwYSwweDAwLDB4MDAsMHgwMiwweDE4LDB4MjAsMHg4YywweGE4LDB4MTAsMHgyOCwweDA4LDB4ODgsMHhjMSwweDE0LDB4MTAgfSwKLSAgMTYsIDB4ZDVkMCwgMCwgezB4YzYsMHgwMCwweDIyLDB4MDMsMHgwOCwweDAyLDB4MDEsMHgwOCwweGIwLDB4MDAsMHgwYywweDIxLDB4MDIsMHgwMCwweDgyLDB4ODAgfSwKLSAgMTYsIDB4ZDVlMCwgMCwgezB4MDgsMHgwMCwweDQ5LDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDgwLDB4MDgsMHgyMCwweDAzLDB4MDAsMHgwNCwweDAyLDB4NDMsMHgyMCwweDAwLDB4NDAgfSwKLSAgMTYsIDB4ZDYwMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDQsMHg0MiwweDAxLDB4MTAsMHg4MCwweDg0LDB4MjAsMHgxMSwweDA4LDB4MDQsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDYxMCwgMCwgezB4MDAsMHg0NCwweDI0LDB4MjAsMHgwOSwweDA4LDB4NDAsMHgwMywweDAwLDB4OTAsMHhjNCwweDIwLDB4MjAsMHgwOCwweDBjLDB4MDIgfSwKLSAgMTYsIDB4ZDYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDgxLDB4MDgsMHgyMCwweDA0LDB4ODggfSwKLSAgMTYsIDB4ZDYzMCwgMCwgezB4MDIsMHgyMiwweDA4LDB4MDgsMHhjMywweDJhLDB4OTAsMHg0MCwweDg0LDB4MTAsMHgyMCwweDA0LDB4ODAsMHhjMiwweDI2LDB4MjAgfSwKLSAgMTYsIDB4ZDY0MCwgMCwgezB4NDksMHg4OCwweDIyLDB4MjIsMHgwYywweDA4LDB4YzEsMHgyNiwweGEwLDB4YzksMHg4YywweDEyLDB4MmEsMHgwNCwweDg4LDB4NDMgfSwKLSAgMTYsIDB4ZDY1MCwgMCwgezB4MGUsMHhhMCwweGNiLDB4ODgsMHgxMCwweDIyLDB4MGMsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDY2MCwgMCwgezB4MDgsMHgwMCwweDBhLDB4NDAsMHgzMiwweDAwLDB4MDEsMHg4MCwweDMxLDB4MjgsMHgwMCwweDAwLDB4MDEsMHgxMiwweDgwLDB4OGQgfSwKLSAgMTYsIDB4ZDY3MCwgMCwgezB4ODQsMHgwMCwweDI4LDB4MGMsMHgwOCwweDAxLDB4MzIsMHgwMCwweDhjLDB4ODAsMHgwMiwweDIwLDB4MGMsMHgwOCwweDAxLDB4MmUgfSwKLSAgMTYsIDB4ZDY4MCwgMCwgezB4MDAsMHhjMywweDgwLDB4MDIsMHgyMCwweDA0LDB4MDgsMHg0MywweDAyLDB4MDAsMHg0MCwweDgwLDB4MTAsMHgyMCwweDA0LDB4MDIgfSwKLSAgMTYsIDB4ZDY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDg3LDB4MGEsMHgyMSwweDA0LDB4ODggfSwKLSAgMTYsIDB4ZDZhMCwgMCwgezB4MTEsMHgyYSwweDFjLDB4MGEsMHgwNiwweDIyLDB4MjEsMHg0MCwweGEwLDB4NDIsMHgyYSwweDEwLDB4ODgsMHg4NSwweDBhLDB4YTEgfSwKLSAgMTYsIDB4ZDZiMCwgMCwgezB4MDYsMHhhNCwweDYyLDB4MjIsMHgxYywweDBhLDB4YzQsMHgwMiwweDIxLDB4ODAsMHg4YywweDUyLDB4MjIsMHgxNCwweDQ4LDB4ODYgfSwKLSAgMTYsIDB4ZDZjMCwgMCwgezB4MjIsMHgyMCwweDA4LDB4YTgsMHg2MCwweDJhLDB4MTQsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDZkMCwgMCwgezB4MDAsMHgwMCwweDA4LDB4NDUsMHgwNiwweDAxLDB4ODksMHg4MCwweDYzLDB4MjAsMHgxYywweDg4LDB4NDAsMHgzNCwweDExLDB4MDEgfSwKLSAgMTYsIDB4ZDZlMCwgMCwgezB4YTQsMHg1MCwweDI4LDB4MTgsMHg0OCwweDA0LDB4MGUsMHgwMSwweDRiLDB4ODAsMHg3MywweDI4LDB4MWMsMHg4YSwweDA0LDB4MDYgfSwKLSAgMTYsIDB4ZDZmMCwgMCwgezB4OTEsMHg0OSwweDA0LDB4NjMsMHgyMCwweDFjLDB4OGEsMHgwNiwweDI2LDB4MDEsMHg4NSwweDgwLDB4NzAsMHgyMCwweDE4LDB4MDIgfSwKLSAgMTYsIDB4ZDcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDg1LDB4MDAsMHhiMSwweDQ1LDB4MmMgfSwKLSAgMTYsIDB4ZDcxMCwgMCwgezB4NzAsMHgwMiwweDE0LDB4YzAsMHgwNywweDA4LDB4MjEsMHg0OSwweDAwLDB4NDIsMHgwMSwweDE0LDB4ODIsMHgwNSwweDAwLDB4MTEgfSwKLSAgMTYsIDB4ZDcyMCwgMCwgezB4ODQsMHgwMCwweDUyLDB4MDIsMHgxYywweDAwLDB4YzQsMHgwMCwweDIxLDB4YzQsMHgyYywweDUzLDB4MDIsMHgxYywweDAyLDB4ODEgfSwKLSAgMTYsIDB4ZDczMCwgMCwgezB4MDQsMHhhMSwweGNkLDB4MDgsMHg1MCwweDAyLDB4MTQsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDc0MCwgMCwgezB4MDgsMHgxMCwweDEyLDB4MDQsMHgzNCwweDAxLDB4Y2MsMHgwMCwweDczLDB4NDAsMHgxYywweDkwLDB4NDUsMHgwNCwweDAxLDB4NDggfSwKLSAgMTYsIDB4ZDc1MCwgMCwgezB4MDQsMHg2MCwweDQxLDB4MTgsMHhjMCwweDQ0LDB4MDQsMHgwMSwweDA1LDB4MDQsMHg3MywweDQ4LDB4MTQsMHg1MCwweDQ3LDB4MzQgfSwKLSAgMTYsIDB4ZDc2MCwgMCwgezB4MDEsMHg0NSwweDIwLDB4NjIsMHgwOCwweDFjLDB4YzIsMHgwNCwweDBjLDB4ODEsMHhjNywweDAwLDB4NzMsMHg4MCwweDE4LDB4YzIgfSwKLSAgMTYsIDB4ZDc3MCwgMCwgezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgxMCwweDg0LDB4MTAsMHgyMSwweGNjLDB4MjggfSwKLSAgMTYsIDB4ZDc4MCwgMCwgezB4NDIsMHgwMiwweDE0LDB4MTIsMHhjNSwweDEwLDB4MjEsMHg4NCwweDA0LDB4NDAsMHgwMCwweDFjLDB4ODAsMHg4NCwweDAwLDB4OTEgfSwKLSAgMTYsIDB4ZDc5MCwgMCwgezB4MDAsMHgwOCwweDczLDB4ODIsMHgxYywweDkwLDB4MDUsMHgwYywweDAxLDB4Y2YsMHgwYywweDQwLDB4MDIsMHgxNCwweDMwLDB4NDUgfSwKLSAgMTYsIDB4ZDdhMCwgMCwgezB4MjAsMHhhMSwweGMwLDB4MDgsMHg1MCwweDAyLDB4MTAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDUsMHgwYywweDgxLDB4MDAsMHgwMCwweDAxLDB4MDgsMHgwOCwweDAwLDB4MDUsMHgxOCwweDkxLDB4MDUgfSwKLSAgMTYsIDB4ZDdjMCwgMCwgezB4MDQsMHgwMCwweDAxLDB4MDQsMHg0MCwweDA2LDB4MTgsMHgwMCwweDAyLDB4MjQsMHg3MCwweDQwLDB4MDQsMHgwMCwweDQwLDB4MDAgfSwKLSAgMTYsIDB4ZDdkMCwgMCwgezB4MDEsMHhjNCwweDI0LDB4MDAsMHg4OCwweDA0LDB4MDAsMHg0MywweDEwLDB4MDAsMHg0MCwweDIwLDB4MDAsMHg4OCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDg1LDB4MjQsMHgzMSwweDAyLDB4MGMgfSwKLSAgMTYsIDB4ZDdmMCwgMCwgezB4MDIsMHhjMiwweDA0LDB4MTAsMHhjNCwweDI4LDB4MjEsMHg0OSwweDBjLDB4MDIsMHhjMCwweDA0LDB4YjIsMHgwNiwweDFjLDB4MjAgfSwKLSAgMTYsIDB4ZDgwMCwgMCwgezB4MDMsMHgwOCwweDUwLDB4NDIsMHgwYywweDgwLDB4MDEsMHgwNCwweGExLDB4NDksMHgwYywweDAwLDB4YzIsMHgwYywweDEwLDB4NDMgfSwKLSAgMTYsIDB4ZDgxMCwgMCwgezB4MjQsMHhhMCwweGMxLDB4MDgsMHgxMCwweDQyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDgyMCwgMCwgezB4MDAsMHgxMCwweGEyLDB4MDAsMHgyMCwweDAwLDB4Y2QsMHgwMCwweDAwLDB4NDAsMHgwNCwweDIwLDB4MDEsMHgxMCwweDAwLDB4MDkgfSwKLSAgMTYsIDB4ZDgzMCwgMCwgezB4MDQsMHgwMiwweDQ5LDB4MGMsMHg5MiwweDA3LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgzMywweDA4LDB4MGMsMHg5MiwweDQxLDB4MDAgfSwKLSAgMTYsIDB4ZDg0MCwgMCwgezB4ODAsMHhjYywweDAwLDB4MDAsMHgwMCwweDBjLDB4MDAsMHg0MywweDI4LDB4ODAsMHhjMiwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg1MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDEwLDB4NTAsMHg4MCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg2MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4ZjAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZDAsMHg4MCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZDg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDkwLDB4ODAgfSwKLSAgMTYsIDB4ZDg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg5MCwgMCwgezB4M2MsMHgzYywweDEwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4YTAsMHg4MCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDhhMCwgMCwgezB4MDAsMHgwMCwweDQwLDB4MTAsMHg5MCwweDgwLDB4YTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHg5MCwweDgwLDB4YTAgfSwKLSAgMTYsIDB4ZDhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MjAsMHg4MCwweDEwLDB4OTAsMHhhMCwweGEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OGYgfSwKLSAgMTYsIDB4ZDhjMCwgMCwgezB4MGYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyYywweGMyLDB4ZTQsMHg4MSwweDgwLDB4M2YgfSwKLSAgMTYsIDB4ZDhkMCwgMCwgezB4ZDksMHhiZiwweGQ5LDB4OTgsMHg3MSwweDlkLDB4NDIsMHg4MCwweDAwLDB4MjYsMHg3ZiwweGU2LDB4NzIsMHhhYiwweDdjLDB4M2EgfSwKLSAgMTYsIDB4ZDhlMCwgMCwgezB4NDAsMHgwMCwweDE5LDB4ODAsMHgyNiwweDQ4LDB4ZGQsMHgzYywweDkxLDB4YzAsMHgyNiwweDQwLDB4MjYsMHg0MCwweDM4LDB4MzEgfSwKLSAgMTYsIDB4ZDhmMCwgMCwgezB4ZGIsMHg2MSwweGMwLDB4MTksMHg5OSwweGJmLDB4YzksMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDkwMCwgMCwgezB4MDAsMHgwMCwweDEwLDB4ODAsMHgxMCwweDE0LDB4ODAsMHgwNiwweDg0LDB4OTcsMHg5NiwweDg2LDB4OTYsMHgwNiwweDkwLDB4MDAgfSwKLSAgMTYsIDB4ZDkxMCwgMCwgezB4M2YsMHhhMSwweDI4LDB4MDEsMHgwMiwweDkwLDB4MTIsMHgwMCwweDgwLDB4MTcsMHg4OCwweDE2LDB4OWUsMHg5MCwweDkwLDB4MDQgfSwKLSAgMTYsIDB4ZDkyMCwgMCwgezB4MTAsMHgwMCwweDM2LDB4YmUsMHhiZSwweDllLDB4ODYsMHgxNiwweDEyLDB4ODQsMHg4MCwweDEzLDB4YmUsMHg5NywweGFlLDB4ODAgfSwKLSAgMTYsIDB4ZDkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODIgfSwKLSAgMTYsIDB4ZDk0MCwgMCwgezB4ODEsMHg4NCwweDIxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGExLDB4MzgsMHgwMSwweDc4LDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDk1MCwgMCwgezB4MDgsMHhiOCwweDIxLDB4NzIsMHg2OCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg5OCwweDQ0LDB4ODgsMHg2OCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZDk2MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4YjgsMHgwMSwweDc4LDB4MDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDk3MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcsMHhhZiwweGZmLDB4YzAgfSwKLSAgMTYsIDB4ZDk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZDk5MCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZDliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZDljMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfSwKLSAgMTYsIDB4ZDlkMCwgMCwgezB4MmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDllMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4YzAgfSwKLSAgMTYsIDB4ZDlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZGEwMCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZGEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiwweGJmLDB4ZGYgfSwKLSAgMTYsIDB4ZGEzMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZWYsMHhmZiwweGZmLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYgfSwKLSAgMTYsIDB4ZGE0MCwgMCwgezB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGE1MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4M2UsMHhhZiwweGZmLDB4YzAgfSwKLSAgMTYsIDB4ZGE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGU3LDB4ZmUgfSwKLSAgMTYsIDB4ZGE3MCwgMCwgezB4ZWYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZGYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZGE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmNywweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZGFhMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZmYsMHhmZiwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcgfSwKLSAgMTYsIDB4ZGFiMCwgMCwgezB4ZGYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGFjMCwgMCwgezB4MDAsMHgwMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4YzMsMHgyYywweDUwLDB4MDksMHgxNCwweDgyLDB4YzQsMHgzMCwweDkxLDB4YzcgfSwKLSAgMTYsIDB4ZGFkMCwgMCwgezB4MjQsMHg2MCwweDA4LDB4MWMsMHg4MiwweDA3LDB4MzQsMHg5MSwweDRjLDB4MDQsMHg0MywweDBhLDB4MTAsMHhjMiwweDg0LDB4MDQgfSwKLSAgMTYsIDB4ZGFlMCwgMCwgezB4OTEsMHg4NCwweDI0LDB4NTIsMHgwYiwweDE4LDB4MDIsMHhjNCwweDI0LDB4YjEsMHhjMywweDJjLDB4NDAsMHgwYSwweDEwLDB4ODAgfSwKLSAgMTYsIDB4ZGFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4MDIsMHgwMSwweGM0LDB4ODAgfSwKLSAgMTYsIDB4ZGIwMCwgMCwgezB4NjAsMHgyMCwweDFjLDB4MDgsMHg0NCwweDIyLDB4MDEsMHhjMCwweDg0LDB4NTAsMHgwMSwweDljLDB4MDgsMHgwNywweDBhLDB4MDEgfSwKLSAgMTYsIDB4ZGIxMCwgMCwgezB4YzAsMHg4NCwweDcyLDB4MjAsMHgxYywweGM4LDB4MDQsMHgxMiwweDExLDB4NDQsMHg4MCwweDQxLDB4MDEsMHgxYywweDgwLDB4MDcgfSwKLSAgMTYsIDB4ZGIyMCwgMCwgezB4MDgsMHgxMSwweGM0LDB4MDAsMHg3MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4ODYsMHgyYywweDIxLDB4NGEsMHgwYywweDUyLDB4MDIsMHgxYywweDgwLDB4MDQsMHgyMCwweDIxLDB4Y2EgfSwKLSAgMTYsIDB4ZGI0MCwgMCwgezB4MTAsMHg2MiwweDAyLDB4MWMsMHg4MSwweDQ3LDB4MDQsMHgyMSwweGMzLDB4MjAsMHg1MSwweDAxLDB4MWMsMHg4MCwweDA0LDB4MmMgfSwKLSAgMTYsIDB4ZGI1MCwgMCwgezB4MDEsMHhjYiwweDA0LDB4NTIsMHgwMywweDE0LDB4NDAsMHhjNywweDIwLDB4MzEsMHhjOCwweDBjLDB4NTAsMHgyMiwweDEwLDB4ODAgfSwKLSAgMTYsIDB4ZGI2MCwgMCwgezB4MDEsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MjAsMHgwMSwweDg5LDB4MDAgfSwKLSAgMTYsIDB4ZGI3MCwgMCwgezB4NTIsMHgwMCwweDE0LDB4ODAsMHgwNCwweDI4LDB4MDEsMHg0NSwweDA0LDB4NjIsMHgwMCwweDEwLDB4ODAsMHg0NiwweDMwLDB4MTEgfSwKLSAgMTYsIDB4ZGI4MCwgMCwgezB4MGQsMHgwMCwweDQyLDB4MDEsMHgxNCwweGMwLDB4NDQsMHgwMCwweDExLDB4MDUsMHgwMCwweDUwLDB4MDAsMHgxYywweDAwLDB4NDQgfSwKLSAgMTYsIDB4ZGI5MCwgMCwgezB4MjgsMHgwMSwweDQ5LDB4MDAsMHg3MCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGJhMCwgMCwgezB4MDAsMHgwMCwweDA4LDB4YzAsMHgwMiwweDMwLDB4MGMsMHg4YywweDMwLDB4MjIsMHgwOCwweDg4LDB4YzIsMHgyNiwweDAwLDB4MDggfSwKLSAgMTYsIDB4ZGJiMCwgMCwgezB4ODAsMHgyMCwweDIyLDB4MGMsMHg4OCwweDgxLDB4MDIsMHgxMCwweGM0LDB4ODAsMHgxMCwweDIyLDB4MGMsMHgwOCwweDQwLDB4MDIgfSwKLSAgMTYsIDB4ZGJjMCwgMCwgezB4MTAsMHg0OCwweDg4LDB4MDEsMHgyMywweDA0LDB4YzgsMHg0MiwweDAyLDB4MTAsMHg0NiwweDhjLDB4MTIsMHgyMiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGJkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweGM4LDB4MjAgfSwKLSAgMTYsIDB4ZGJlMCwgMCwgezB4MTEsMHgwOSwweDAwLDB4ODAsMHg0MSwweDEwLDB4OTAsMHgwOCwweDI0LDB4MzAsMHgwOCwweDA0LDB4NDIsMHg0MSwweDAwLDB4OTAgfSwKLSAgMTYsIDB4ZGJmMCwgMCwgezB4YzQsMHgyMCwweDAwLDB4MDgsMHgwNCwweDQyLDB4MDAsMHgxMCwweDgwLDB4NGMsMHgyMCwweDIzLDB4MDksMHgwNCwweGMyLDB4NDMgfSwKLSAgMTYsIDB4ZGMwMCwgMCwgezB4MzAsMHg4MCwweDQwLDB4MjAsMHgxMSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGMxMCwgMCwgezB4MDgsMHgwMCwweDA4LDB4ODEsMHgwMiwweDIwLDB4YzksMHg4YywweDEyLDB4MjAsMHgwNCwweDQ4LDB4NDEsMHgyMiwweDAwLDB4MDkgfSwKLSAgMTYsIDB4ZGMyMCwgMCwgezB4ODgsMHgzMCwweDIwLDB4MGMsMHg4OCwweDAzLDB4MGUsMHgwMCwweDQ5LDB4OGMsMHgxMCwweDIyLDB4MGMsMHg4OCwweDQwLDB4MmUgfSwKLSAgMTYsIDB4ZGMzMCwgMCwgezB4MDAsMHhjOSwweDg0LDB4MTMsMHgyMSwweDA0LDB4YzgsMHhjMywweDIyLDB4MDAsMHhjYiwweDhjLDB4MzIsMHgyMiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGM0MCwgMCwgezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDAxLDB4MDIsMHgwMCwweDRiLDB4ODAgfSwKLSAgMTYsIDB4ZGM1MCwgMCwgezB4MzIsMHgyMSwweDA4LDB4ODgsMHg0MSwweDAyLDB4MTAsMHgwZiwweDgwLDB4MTAsMHgyMSwweDhjLDB4MDgsMHg0MSwweDAyLDB4MDAgfSwKLSAgMTYsIDB4ZGM2MCwgMCwgezB4ODcsMHg4NCwweDEwLDB4MjAsMHgwNCwweDg4LDB4MDAsMHgwMiwweDAwLDB4NDcsMHg4MCwweDEwLDB4MjEsMHgwYywweDg4LDB4NDEgfSwKLSAgMTYsIDB4ZGM3MCwgMCwgezB4MTYsMHgxMCwweDQ2LDB4ODAsMHgzMCwweDIwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGM4MCwgMCwgezB4MDAsMHgwMCwweDBhLDB4YzQsMHgyMiwweGExLDB4MDgsMHhhNCwweDcyLDB4MmEsMHgxNCwweDBhLDB4ODUsMHgwMiwweDgxLDB4ODQgfSwKLSAgMTYsIDB4ZGM5MCwgMCwgezB4YTAsMHg0MiwweDI4LDB4MWMsMHgwYSwweGM1LDB4MDIsMHg5MSwweDQwLDB4YjgsMHg3MywweDI5LDB4MTAsMHhjYSwweGM0LDB4MDIgfSwKLSAgMTYsIDB4ZGNhMCwgMCwgezB4YTEsMHg4MCwweGE0LDB4NDIsMHgyYSwweDE0LDB4Y2EsMHg4NSwweDIyLDB4OTEsMHg4MCwweGE4LDB4NzAsMHgyYSwweDE4LDB4MDIgfSwKLSAgMTYsIDB4ZGNiMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDA0LDB4MWUsMHgwMSwweGM4LDB4ODAgfSwKLSAgMTYsIDB4ZGNjMCwgMCwgezB4NDMsMHgyMCwweDE4LDB4MDgsMHg0NSwweDNlLDB4MDEsMHgwYywweDgwLDB4NjEsMHgyMCwweDljLDB4NDgsMHgwNiwweDEyLDB4ODEgfSwKLSAgMTYsIDB4ZGNkMCwgMCwgezB4YzAsMHg4MCwweDczLDB4MDAsMHgxMCwweDg4LDB4MDYsMHgwMiwweDAxLDB4YzgsMHgwMCwweDQyLDB4MjAsMHgxMCwweGM4LDB4MDcgfSwKLSAgMTYsIDB4ZGNlMCwgMCwgezB4MDIsMHgxMSwweGNkLDB4ODAsMHg1MSwweDIwLDB4MTQsMHg4MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGNmMCwgMCwgezB4MDgsMHgwMCwweDAwLDB4YzQsMHgyNCwweDIxLDB4YzgsMHgwYywweDQyLDB4MDEsMHgxNCwweDAwLDB4MDAsMHgyOCwweDEwLDB4NGMgfSwKLSAgMTYsIDB4ZGQwMCwgMCwgezB4MDgsMHg1MiwweDAyLDB4MTQsMHg4MCwweDQ1LDB4MjQsMHgyOSwweDQwLDB4MDQsMHg3MiwweDAwLDB4MTAsMHhjMCwweDA1LDB4MjQgfSwKLSAgMTYsIDB4ZGQxMCwgMCwgezB4MTEsMHg0NCwweDA4LDB4NDMsMHgwMSwweDE0LDB4YzAsMHg0NywweDI0LDB4MjAsMHg0OCwweDA4LDB4NzIsMHgwMiwweDEwLDB4MDAgfSwKLSAgMTYsIDB4ZGQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHgwMCwweDA3LDB4MTAsMHgxMSwweDA2LDB4MDAgfSwKLSAgMTYsIDB4ZGQzMCwgMCwgezB4NzIsMHgwMCwweDE4LDB4ZDAsMHg0NiwweDIwLDB4MDEsMHg0ZCwweDAwLDB4NzEsMHg0MCwweDEwLDB4NTAsMHgwNywweDMwLDB4MTEgfSwKLSAgMTYsIDB4ZGQ0MCwgMCwgezB4YzMsMHgwMCwweDcxLDB4NDEsMHgxMCwweGIwLDB4MDUsMHgyYywweDAxLDB4NDksMHgwMCwweDQzLDB4MDAsMHgxYywweDUwLDB4NDUgfSwKLSAgMTYsIDB4ZGQ1MCwgMCwgezB4MzAsMHgwMSwweDhjLDB4MDAsMHg2MSwweDQwLDB4MTgsMHg0MiwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGQ2MCwgMCwgezB4MDAsMHgwMCwweDMwLDB4YzUsMHgwMCwweDIxLDB4YzAsMHgwYywweDQwLDB4MDEsMHgxNCwweDEyLDB4NDQsMHgwNCwweDMxLDB4ODQgfSwKLSAgMTYsIDB4ZGQ3MCwgMCwgezB4MjQsMHg0MCwweDgwLDB4MTQsMHhhMSwweGM3LDB4MDAsMHgwMSwweDQwLDB4MDgsMHg0MCwweDAxLDB4MTQsMHgyMCwweDA1LDB4MjAgfSwKLSAgMTYsIDB4ZGQ4MCwgMCwgezB4MTEsMHhjMCwweDAyLDB4NjAsMHg4MiwweDE4LDB4MDAsMHg4NywweDI0LDB4MTEsMHg0MCwweDA4LDB4NDAsMHg0MiwweDEwLDB4MDIgfSwKLSAgMTYsIDB4ZGQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MGMsMHg4MCwweGM0LDB4MjQgfSwKLSAgMTYsIDB4ZGRhMCwgMCwgezB4MzEsMHg0OCwweDBjLDB4MDAsMHgwMSwweDA4LDB4YzEsMHg0MSwweDAwLDB4MDAsMHg0OSwweDAwLDB4NDIsMHgwMywweDA4LDB4MTAgfSwKLSAgMTYsIDB4ZGRiMCwgMCwgezB4ODAsMHgyMCwweDIxLDB4MDksMHgwYywweDAyLDB4MDIsMHgxOCwweDgwLDB4YzEsMHgyNCwweDMwLDB4MDgsMHgwYywweDQyLDB4MDEgfSwKLSAgMTYsIDB4ZGRjMCwgMCwgezB4MTAsMHg4MCwweDgzLDB4MjAsMHgxMSwweDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGRkMCwgMCwgezB4MDAsMHgwMCwweDEwLDB4YzEsMHgwNCwweDIwLDB4NDgsMHgwYywweDEyLDB4NDIsMHgwNCwweDAwLDB4ODMsMHgwMCwweDMxLDB4NDggfSwKLSAgMTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgwMiwweDQxLDB4MDQsMHhhMCwweDA3LDB4MGMsMHgyMCwweDQwLDB4MDAsMHgxMiwweGMyLDB4MGMsMHg4MCwweGMxLDB4MjAgfSwKLSAgMTYsIDB4ZGRmMCwgMCwgezB4MjAsMHhjOCwweDAwLDB4MTIsMHhjMSwweDBjLDB4YjAsMHg0MSwweDIwLDB4MDAsMHg0OSwweDA4LDB4MDIsMHg0MiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg4MCwweDAxLDB4MDAsMHgxMCwweDgxLDB4MDAgfSwKLSAgMTYsIDB4ZGUxMCwgMCwgezB4MzAsMHg0MCwweDA4LDB4MjAsMHgwMywweDAwLDB4MTAsMHhjMSwweDIwLDB4MDIsMHgwMCwweDA0LDB4ODAsMHg0MCwweDMwLDB4OTAgfSwKLSAgMTYsIDB4ZGUyMCwgMCwgezB4MDEsMHgxNCwweDAyLDB4NDAsMHgwNCwweDgwLDB4NDAsMHgyMCwweDAwLDB4MDksMHgwNCwweDMyLDB4MDEsMHgwOCwweGEwLDB4MDMgfSwKLSAgMTYsIDB4ZGUzMCwgMCwgezB4MDQsMHgxMCwweDA4LDB4MDAsMHgyMiwweDQwLDB4MDAsMHgwMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGU0MCwgMCwgezB4MDAsMHgwMCwweDMwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGYwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGU1MCwgMCwgezB4MDAsMHgxMCwweDgwLDB4MDAsMHhmMCwweDAwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHhmMCwweDEwLDB4YTAgfSwKLSAgMTYsIDB4ZGU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4ZjAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHg4MCwweDAwLDB4Y2MgfSwKLSAgMTYsIDB4ZGU3MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNjLDB4M2MsMHgxMCwweGEwLDB4ODAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGU4MCwgMCwgezB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweGMwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZGU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAgfSwKLSAgMTYsIDB4ZGVhMCwgMCwgezB4ZTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg4YywweDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGViMCwgMCwgezB4MDAsMHgwMCwweDA5LDB4NGQsMHhiMSwweGU5LDB4MDAsMHgyNiwweDQwLDB4MmEsMHg3ZiwweGUzLDB4ZjIsMHg1NCwweDk4LDB4YzAgfSwKLSAgMTYsIDB4ZGVjMCwgMCwgezB4M2YsMHhlNiwweDQwLDB4MDAsMHgwMSwweDQyLDB4OTEsMHhkMCwweGMwLDB4MTMsMHhlNSwweDg3LDB4NjMsMHg4MywweGI4LDB4Y2QgfSwKLSAgMTYsIDB4ZGVkMCwgMCwgezB4ZjksMHgwMCwweDI2LDB4N2YsMHgwMCwweDAwLDB4MzUsMHgyZSwweGQ1LDB4MDMsMHg0MCwweDNmLDB4ZDksMHhiZiwweGIxLDB4ODAgfSwKLSAgMTYsIDB4ZGVlMCwgMCwgezB4MDEsMHhmMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDAyLDB4MTYsMHgxNCwweDAwLDB4MWMgfSwKLSAgMTYsIDB4ZGVmMCwgMCwgezB4YTgsMHgzZiwweDg4LDB4MTYsMHgwMCwweDgwLDB4ODQsMHg4MCwweDM3LDB4OWUsMHhiYSwweGEwLDB4NTAsMHgxMCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZGYwMCwgMCwgezB4MDAsMHgxNywweDk2LDB4OTcsMHgyNiwweDUwLDB4MTAsMHgxMCwweDgyLDB4ODAsMHgxZSwweDgwLDB4ZGUsMHhiZSwweDk0LDB4MTQgfSwKLSAgMTYsIDB4ZGYxMCwgMCwgezB4MDIsMHgxMCwweDgwLDB4MTcsMHhiZSwweDgxLDB4OTQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhOCwweDQ0LDB4OTQsMHgyOCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDggfSwKLSAgMTYsIDB4ZGYzMCwgMCwgezB4OTQsMHgyMSwweDQ0LDB4NTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQsMHg0MiwweDQxLDB4MDEsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGY0MCwgMCwgezB4MDAsMHgwOCwweGExLDB4NzIsMHgyMywweDQxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGI4LDB4MDEsMHg3OCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4ZGY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZGY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNywweGZlLDB4ZDcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGQ3LDB4ZGYgfSwKLSAgMTYsIDB4ZGY3MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM3LDB4N2YgfSwKLSAgMTYsIDB4ZGY4MCwgMCwgezB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGY5MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFlLDB4ZmYsMHhkZSwweDc3LDB4YzAgfSwKLSAgMTYsIDB4ZGZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGVmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZGZiMCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZGZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MWYsMHhjZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4YmYgfSwKLSAgMTYsIDB4ZGZlMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfSwKLSAgMTYsIDB4ZGZmMCwgMCwgezB4ZmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTAwMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAgfSwKLSAgMTYsIDB4ZTAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4MWYgfSwKLSAgMTYsIDB4ZTAyMCwgMCwgezB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhkZiwweGZmLDB4Y2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZTA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhiZiwweGFmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZTA1MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZGUsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfSwKLSAgMTYsIDB4ZTA2MCwgMCwgezB4ZmYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTA3MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4N2YsMHhmZiwweGZmLDB4YzAgfSwKLSAgMTYsIDB4ZTA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZlLDB4YmUgfSwKLSAgMTYsIDB4ZTA5MCwgMCwgezB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2UsMHhmZiwweGQ3LDB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBlMCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDhlLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTljMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDIsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQzLDB4ODAgfSwKLSAgMTYsIDB4ZWYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjljMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NWYsMHhhNywweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDMgfSwKLSAgMTYsIDB4ZmQ0MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MGUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEgfSwKLSAgMTYsIDB4ZmQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDUsMHgzMCwweDAwLDB4YTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDEgfSwKLSAgMTYsIDB4ZmQ5MCwgMCwgezB4MDAsMHgwMCwweDZiLDB4OTcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgNCwgMHhmZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAwICwgMHgwMDAwLCAxLCB7MH0KLX07Ci0vLyBWRVJTSU9OPSAxLjAuMC4xOTEKLS8vIERBVEU9IDIwMDJvY3QyOAotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19IZXhNaWRpRnc2MltdID0gewotICAgMywweDAwMDAsMCx7MHgwMiwweDQ2LDB4Yjl9LAotICAgMywweDAwMDMsMCx7MHgwMiwweDBmLDB4ZmR9LAotICAgMywweDAwMGIsMCx7MHgwMiwweDRlLDB4MGZ9LAotICAgMywweDAwMTMsMCx7MHgwMiwweDE3LDB4ZmR9LAotICAgMywweDAwMWIsMCx7MHgwMiwweDRlLDB4MTJ9LAotICAgMywweDAwMjMsMCx7MHgwMiwweDRkLDB4ZWZ9LAotICAgMywweDAwMmIsMCx7MHgwMiwweDQ4LDB4MDB9LAotICAgMywweDAwMzMsMCx7MHgwMiwweDRkLDB4ZTZ9LAotICAgMywweDAwM2IsMCx7MHgwMiwweDRkLDB4ZjZ9LAotICAgMywweDAwNDMsMCx7MHgwMiwweDQ5LDB4MDB9LAotICAgMywweDAwNGIsMCx7MHgwMiwweDRlLDB4MDN9LAotICAgMywweDAwNTMsMCx7MHgwMiwweDQ4LDB4ZmF9LAotICAgMywweDAwNWIsMCx7MHgwMiwweDRkLDB4ZmR9LAotICAgMywweDAwNjMsMCx7MHgwMiwweDRlLDB4MDd9LAotICAxNiwweDA1MDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDExLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn0sCi0gIDE2LDB4MDUxMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4MDgsMHgwMiwweDA1LDB4MDEsMHgwMCwweDgwLDB4MzIsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwNTIwLDAsezB4MDEsMHgwMSwweDAwLDB4MDAsMHgwYSwweDI0LDB4MDEsMHgwMCwweDAxLDB4NTYsMHgwMCwweDAyLDB4MDEsMHgwMiwweDBjLDB4MjR9LAotICAxNiwweDA1MzAsMCx7MHgwMiwweDAxLDB4MDEsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4MjQsMHgwNiwweDA1LDB4MDEsMHgwMn0sCi0gIDE2LDB4MDU0MCwwLHsweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHgyNCwweDAzLDB4MDIsMHgwNCwweDAzLDB4MDAsMHgwNSwweDAwfSwKLSAgMTYsMHgwNTUwLDAsezB4MGMsMHgyNCwweDAyLDB4MDMsMHgwNSwweDAyLDB4MDAsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHgyNCwweDA2LDB4MDZ9LAotICAxNiwweDA1NjAsMCx7MHgwMywweDAyLDB4MDAsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMH0sCi0gIDE2LDB4MDU3MCwwLHsweDAwLDB4MDksMHgyNCwweDAzLDB4MDQsMHgwMSwweDAxLDB4MDAsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxLDB4MDAsMHgwMCwweDAxfSwKLSAgMTYsMHgwNTgwLDAsezB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAxLDB4MDEsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDF9LAotICAxNiwweDA1OTAsMCx7MHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYn0sCi0gIDE2LDB4MDVhMCwwLHsweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDBhLDB4MDUsMHg4NCwweDAxLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxfSwKLSAgMTYsMHgwNWIwLDAsezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA1LDB4MDAsMHgwOSwweDA0LDB4MDF9LAotICAxNiwweDA1YzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMn0sCi0gIDE2LDB4MDVkMCwwLHsweDAxLDB4MDIsMHgwMywweDE4LDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1fSwKLSAgMTYsMHgwNWUwLDAsezB4MGEsMHgwNSwweDQ2LDB4MDIsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDV9LAotICAxNiwweDA1ZjAsMCx7MHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDUsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAwLDB4MDAsMHgwMSwweDAyLDB4MDAsMHgwMH0sCi0gIDE2LDB4MDYwMCwwLHsweDA5LDB4MDQsMHgwMiwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwfSwKLSAgMTYsMHgwNjEwLDAsezB4MGUsMHgyNCwweDAyLDB4MDEsMHgwNiwweDAyLDB4MTAsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDV9LAotICAxNiwweDA2MjAsMCx7MHg4YywweDA1LDB4NGMsMHgwMiwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNH0sCi0gIDE2LDB4MDYzMCwwLHsweDAyLDB4MDIsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwZSwweDI0fSwKLSAgMTYsMHgwNjQwLDAsezB4MDIsMHgwMSwweDA2LDB4MDMsMHgxOCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDksMHgwNSwweDhjLDB4MDV9LAotICAxNiwweDA2NTAsMCx7MHg3MiwweDAzLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwM30sCi0gIDE2LDB4MDY2MCwwLHsweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxfSwKLSAgMTYsMHgwNjcwLDAsezB4MDIsMHgwMiwweDEwLDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4OGN9LAotICAxNiwweDA2ODAsMCx7MHgwNSwweDg0LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMn0sCi0gIDE2LDB4MDY5MCwwLHsweDA0LDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyfSwKLSAgMTYsMHgwNmEwLDAsezB4MDEsMHgwMiwweDAzLDB4MTgsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDV9LAotICAxNiwweDA2YjAsMCx7MHg4YywweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNH0sCi0gIDE2LDB4MDZjMCwwLHsweDAzLDB4MDAsMHgwMCwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDksMHgyNCwweDAxLDB4MDAsMHgwMSwweDA5LDB4MDAsMHgwMSwweDA0fSwKLSAgMTYsMHgwNmQwLDAsezB4MDksMHgwNCwweDA0LDB4MDAsMHgwMiwweDAxLDB4MDMsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDAsMHgwMSwweDI0LDB4MDB9LAotICAxNiwweDA2ZTAsMCx7MHgwNiwweDI0LDB4MDIsMHgwMSwweDA3LDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwMiwweDA4LDB4MDEsMHgwNywweDAxLDB4MDAsMHgwNn0sCi0gIDE2LDB4MDZmMCwwLHsweDI0LDB4MDIsMHgwMiwweDA5LDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwMSwweDBhLDB4MDEsMHgwOSwweDAxLDB4MDAsMHgwOSwweDA1fSwKLSAgMTYsMHgwNzAwLDAsezB4MDEsMHgwMiwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDI1LDB4MDEsMHgwMSwweDA3LDB4MDksMHgwNSwweDgxLDB4MDJ9LAotICAxNiwweDA3MTAsMCx7MHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgyNSwweDAxLDB4MDEsMHgwYSwweDA0LDB4MDMsMHgwOSwweDA0LDB4MTgsMHgwM30sCi0gIDE2LDB4MDcyMCwwLHsweDQ1LDB4MDAsMHg2ZCwweDAwLDB4NjEsMHgwMCwweDY3LDB4MDAsMHg2OSwweDAwLDB4NjMsMHgwMCwweDIwLDB4MDAsMHg0NywweDAwfSwKLSAgMTYsMHgwNzMwLDAsezB4NmQsMHgwMCwweDYyLDB4MDAsMHg0OCwweDAwLDB4MjIsMHgwMywweDQ1LDB4MDAsMHg2ZCwweDAwLDB4NjEsMHgwMCwweDY3LDB4MDB9LAotICAxNiwweDA3NDAsMCx7MHg2OSwweDAwLDB4NjMsMHgwMCwweDIwLDB4MDAsMHg0NSwweDAwLDB4NGQsMHgwMCwweDQ5LDB4MDAsMHgyMCwweDAwLDB4MzYsMHgwMH0sCi0gIDE2LDB4MDc1MCwwLHsweDdjLDB4MDAsMHgzMiwweDAwLDB4MjAsMHgwMCwweDZkLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwfSwKLSAgMTYsMHgwNzYwLDAsezB4NjYsMHgwMCwweDY5LDB4MDAsMHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NzQsMHgwMCwweDY5LDB4MDB9LAotICAxNiwweDA3NzAsMCx7MHg2ZiwweDAwLDB4NmUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMH0sCi0gIDE2LDB4MDc4MCwwLHsweDY3LDB4MDAsMHgyMiwweDAzLDB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2NiwweDAwfSwKLSAgMTYsMHgwNzkwLDAsezB4NjEsMHgwMCwweDYzLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDB9LAotICAgNiwweDA3YTAsMCx7MHg2ZSwweDAwLDB4NjcsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDA3YTYsMCx7MHhlNCwweDkwLDB4NzYsMHg2NiwweGYwLDB4MTIsMHg0NCwweGFkLDB4MjAsMHgyNiwweDEzLDB4OTAsMHg3NiwweDY2LDB4ZTAsMHhjM30sCi0gIDE2LDB4MDdiNiwwLHsweDk0LDB4MDIsMHg1MCwweDBhLDB4ZTAsMHgwNCwweGYwLDB4ZDIsMHg0MiwweDEyLDB4NGIsMHg3ZiwweDgwLDB4ZWEsMHgzMCwweDI2fSwKLSAgMTYsMHgwN2M2LDAsezB4MDUsMHgxMiwweDI4LDB4MDEsMHhjMiwweDI2LDB4MzAsMHgyNSwweDJiLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg1NCwweGZjLDB4ZjB9LAotICAxNiwweDA3ZDYsMCx7MHg5MCwweDgwLDB4MDMsMHhmMCwweDEyLDB4MTQsMHg5NiwweDkwLDB4NzYsMHg5NiwweGUwLDB4NDQsMHgwMywweGYwLDB4OTAsMHg4MH0sCi0gIDE2LDB4MDdlNiwwLHsweDAzLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg2NywweGYwLDB4OTAsMHg3NiwweDY3LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhiNCwweDRifSwKLSAgMTAsMHgwN2Y2LDAsezB4ZjYsMHgxMiwweDQ3LDB4ZmEsMHgxMiwweDQxLDB4MWIsMHg4MCwweGM1LDB4MjJ9LAotICAxNiwweDA4MDAsMCx7MHhlNCwweDkwLDB4NzYsMHgzMSwweGYwLDB4OTAsMHg3NiwweDMxLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn0sCi0gIDE2LDB4MDgxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHgwODIwLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgzMSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDA4MzAsMCx7MHhlZiwweGI0LDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE2LDB4MDg0MCwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MzMsMHhmMCwweDI0fSwKLSAgMTYsMHgwODUwLDAsezB4ZjAsMHg2MCwweDBhLDB4MjQsMHgwZSwweDYwLDB4MDIsMHg4MSwweDg3LDB4MTIsMHg0YiwweGM3LDB4MjIsMHg5MCwweDdmLDB4ZWR9LAotICAxNiwweDA4NjAsMCx7MHhlMCwweDY0LDB4MDUsMHg3MCwweDUxLDB4OTAsMHg3NiwweDE4LDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3NiwweDM3LDB4NzQsMHgwMX0sCi0gIDE2LDB4MDg3MCwwLHsweGYwLDB4OTAsMHg3NiwweDM5LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDIxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgyMCwweGYwfSwKLSAgMTYsMHgwODgwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwLDB4MmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9LAotICAxNiwweDA4OTAsMCx7MHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZH0sCi0gIDE2LDB4MDhhMCwwLHsweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3NiwweDIxLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2fSwKLSAgMTYsMHgwOGIwLDAsezB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHg2NCwweDA2LDB4NzAsMHg1MiwweDkwLDB4NzZ9LAotICAxNiwweDA4YzAsMCx7MHgxOCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHgzNywweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzOSwweDc0LDB4MGEsMHhmMH0sCi0gIDE2LDB4MDhkMCwwLHsweDkwLDB4NzYsMHgyMSwweGYwLDB4OTAsMHg3NiwweDIwLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwfSwKLSAgMTYsMHgwOGUwLDAsezB4MmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDA4ZjAsMCx7MHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZCwweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MDkwMCwwLHsweDIxLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxfSwKLSAgMTYsMHgwOTEwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDA5MjAsMCx7MHhmNSwweDgzLDB4ZTAsMHg5MCwweDcyLDB4MjksMHhmMCwweGU0LDB4OTAsMHg3NiwweDNiLDB4ZjAsMHg5MCwweDc2LDB4MjEsMHhlMH0sCi0gIDE2LDB4MDkzMCwwLHsweGZlLDB4ZWYsMHg2ZSwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVifSwKLSAgMTYsMHgwOTQwLDAsezB4ZTAsMHgxNCwweDYwLDB4MTMsMHgxNCwweDcwLDB4MDIsMHgyMSwweGUyLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDdmLDB4OTB9LAotICAxNiwweDA5NTAsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDdjLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MDk2MCwwLHsweGVhLDB4ZTAsMHhmNCwweDcwLDB4NDgsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5fSwKLSAgMTYsMHgwOTcwLDAsezB4ZTAsMHhmZSwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmQsMHhjMywweDllLDB4NTAsMHgyYiwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmV9LAotICAxNiwweDA5ODAsMCx7MHgwNCwweGYwLDB4NzQsMHhjMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZlLDB4ZWQsMHg3NX0sCi0gIDE2LDB4MDk5MCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgwOWEwLDAsezB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGM3LDB4OTAsMHg3NiwweDNmLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlLDB4YzB9LAotICAxNiwweDA5YjAsMCx7MHhlMCwweGZlLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MDljMCwwLHsweGVlLDB4ZjAsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHgzZSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDUsMHhlNCwweDkwfSwKLSAgMTYsMHgwOWQwLDAsezB4NzYsMHgzZSwweGYwLDB4OTAsMHg3NiwweDNmLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDA5ZTAsMCx7MHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NzAsMHgwMiwweDQxLDB4YTMsMHgxNCwweDcwLDB4MDIsMHg2MX0sCi0gIDE2LDB4MDlmMCwwLHsweDNmLDB4MTQsMHg3MCwweDAyLDB4NjEsMHhkYiwweDI0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg3NywweDkwLDB4N2YsMHhlYSwweGUwfSwKLSAgMTYsMHgwYTAwLDAsezB4ZjQsMHg3MCwweDZiLDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOSwweGUwLDB4ZmZ9LAotICAxNiwweDBhMTAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDUwLDB4NGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMH0sCi0gIDE2LDB4MGEyMCwwLHsweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhfSwKLSAgMTYsMHgwYTMwLDAsezB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTB9LAotICAxNiwweDBhNDAsMCx7MHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZX0sCi0gIDE2LDB4MGE1MCwwLHsweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwfSwKLSAgMTYsMHgwYTYwLDAsezB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4NDAsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2V9LAotICAxNiwweDBhNzAsMCx7MHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4MGE4MCwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhfSwKLSAgMTYsMHgwYTkwLDAsezB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDQxLDB4NzR9LAotICAxNiwweDBhYTAsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MGFiMCwwLHsweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyfSwKLSAgMTYsMHgwYWMwLDAsezB4ODEsMHg4ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDBhZDAsMCx7MHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MGFlMCwwLHsweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1fSwKLSAgMTYsMHgwYWYwLDAsezB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjV9LAotICAxNiwweDBiMDAsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMn0sCi0gIDE2LDB4MGIxMCwwLHsweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlfSwKLSAgMTYsMHgwYjIwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzV9LAotICAxNiwweDBiMzAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MH0sCi0gIDE2LDB4MGI0MCwwLHsweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgwYjUwLDAsezB4MzksMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4ODEsMHg4ZSwweDkwLDB4NzZ9LAotICAxNiwweDBiNjAsMCx7MHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMH0sCi0gIDE2LDB4MGI3MCwwLHsweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfSwKLSAgMTYsMHgwYjgwLDAsezB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2V9LAotICAxNiwweDBiOTAsMCx7MHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4MGJhMCwwLHsweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMiwweDkwLDB4N2UsMHhjMCwweGUwfSwKLSAgMTYsMHgwYmIwLDAsezB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDBiYzAsMCx7MHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNH0sCi0gIDE2LDB4MGJkMCwwLHsweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0fSwKLSAgMTYsMHgwYmUwLDAsezB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmLDB4OTB9LAotICAxNiwweDBiZjAsMCx7MHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4ODEsMHg4ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNH0sCi0gIDE2LDB4MGMwMCwwLHsweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwfSwKLSAgMTYsMHgwYzEwLDAsezB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2J9LAotICAxNiwweDBjMjAsMCx7MHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZn0sCi0gIDE2LDB4MGMzMCwwLHsweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwfSwKLSAgMTYsMHgwYzQwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjB9LAotICAxNiwweDBjNTAsMCx7MHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn0sCi0gIDE2LDB4MGM2MCwwLHsweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgwYzcwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9LAotICAxNSwweDBjODAsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDBjOGYsMCx7MHg0MSwweDc2LDB4NjgsMHgwMSwweDQxLDB4NzYsMHg2YSwweDAyLDB4NDEsMHg3NiwweDZiLDB4MGEsMHhjMSwweDIwLDB4YzEsMHgyMX0sCi0gICAyLDB4MGM5ZiwwLHsweGMxLDB4MmZ9LAotICAgNCwweDBjYTEsMCx7MHg0MSwweDc2LDB4MjMsMHgwMH0sCi0gIDE2LDB4MGNhNSwwLHsweDQxLDB4NzIsMHgwMSwweDAxLDB4NDUsMHg3MiwweDA1LDB4MDAsMHgwMiwweGM5LDB4MDAsMHgwMCwweDQ1LDB4NzIsMHgwYSwweDAwfSwKLSAgMTYsMHgwY2I1LDAsezB4MDEsMHgwMiwweDAzLDB4MDQsMHg0ZCwweDcyLDB4MGYsMHhkMSwweDAwLDB4ZDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBjYzUsMCx7MHgyOCwweDI4LDB4MDksMHgwMCwweDRkLDB4NzIsMHgxYywweDAxLDB4MDAsMHgwMSwweDAyLDB4MDMsMHgwNCwweDA1LDB4MDYsMHgwN30sCi0gIDE2LDB4MGNkNSwwLHsweDA4LDB4MDksMHgwYSwweDBiLDB4NDEsMHg3MiwweDJlLDB4MjIsMHg0MSwweDcyLDB4MmYsMHgyMywweDQxLDB4NzIsMHgzMCwweDIwfSwKLSAgMTYsMHgwY2U1LDAsezB4NDEsMHg3MiwweDMxLDB4MjEsMHg2MiwweGQyLDB4NzIsMHgzYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBjZjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQwNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDE1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkMjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQzNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDQ1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkNTUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQ2NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDc1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9LAotICAxNiwweDBkODUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX0sCi0gIDE2LDB4MGQ5NSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfSwKLSAgMTYsMHgwZGE1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9LAotICAxNiwweDBkYjUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn0sCi0gIDE2LDB4MGRjNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfSwKLSAgMTYsMHgwZGQ1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9LAotICAxNiwweDBkZTUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn0sCi0gIDE2LDB4MGRmNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfSwKLSAgMTYsMHgwZTA1LDAsezB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9LAotICAxNiwweDBlMTUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM30sCi0gIDE2LDB4MGUyNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfSwKLSAgMTYsMHgwZTM1LDAsezB4MDMsMHgwMywweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9LAotICAxNiwweDBlNDUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH0sCi0gIDE2LDB4MGU1NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fSwKLSAgMTYsMHgwZTY1LDAsezB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9LAotICAxNiwweDBlNzUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX0sCi0gIDE2LDB4MGU4NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fSwKLSAgMTYsMHgwZTk1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDV9LAotICAxNiwweDBlYTUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDYsMHgwNn0sCi0gIDE2LDB4MGViNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fSwKLSAgMTYsMHgwZWM1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDZ9LAotICAxNiwweDBlZDUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn0sCi0gIDE2LDB4MGVlNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNywweDA3LDB4MDcsMHgwOCwweDA4fSwKLSAgMTYsMHgwZWY1LDAsezB4MDgsMHgwOSwweDA5LDB4MDksMHgwYSwweDBhLDB4MGEsMHgwYiwweDBiLDB4MGIsMHgwYywweDBjLDB4MGMsMHgwZCwweDBkLDB4MGR9LAotICAxNiwweDBmMDUsMCx7MHgwZSwweDBlLDB4MGUsMHgwZiwweDBmLDB4MGYsMHgxMCwweDEwLDB4MTAsMHgxMSwweDExLDB4MTEsMHgxMiwweDEyLDB4MTIsMHgxM30sCi0gIDE2LDB4MGYxNSwwLHsweDEzLDB4MTMsMHgxNCwweDE0LDB4MTQsMHgxNSwweDE1LDB4MTUsMHgxNiwweDE2LDB4MTYsMHgxNywweDE3LDB4MTcsMHgxOCwweDE4fSwKLSAgMTYsMHgwZjI1LDAsezB4MTgsMHgxOSwweDE5LDB4MTksMHgxOSwweDFhLDB4MWEsMHgxYSwweDFhLDB4MWIsMHgxYiwweDFiLDB4MWIsMHgxYywweDFjLDB4MWN9LAotICAxNiwweDBmMzUsMCx7MHgxYywweDFkLDB4MWQsMHgxZCwweDFkLDB4MWUsMHgxZSwweDFlLDB4MWUsMHgxZiwweDFmLDB4MWYsMHgxZiwweDIwLDB4MjAsMHgyMH0sCi0gIDE2LDB4MGY0NSwwLHsweDIxLDB4MjEsMHgyMSwweDIyLDB4MjIsMHgyMiwweDIzLDB4MjMsMHgyNCwweDI0LDB4MjUsMHgyNSwweDI2LDB4MjYsMHgyNywweDI3fSwKLSAgMTYsMHgwZjU1LDAsezB4MjgsMHgyOCwweDI5LDB4MjksMHgyYSwweDJhLDB4MmIsMHgyYiwweDJjLDB4MmMsMHgyZCwweDJkLDB4MmUsMHgyZSwweDJmLDB4MmZ9LAotICAxNiwweDBmNjUsMCx7MHgzMCwweDMwLDB4MzEsMHgzMSwweDMyLDB4MzIsMHgzMywweDMzLDB4MzQsMHgzNCwweDM1LDB4MzUsMHgzNiwweDM2LDB4MzcsMHgzN30sCi0gIDE2LDB4MGY3NSwwLHsweDM4LDB4MzgsMHgzOSwweDM5LDB4M2EsMHgzYSwweDNiLDB4M2MsMHgzZCwweDNlLDB4M2YsMHg0MCwweDQxLDB4NDIsMHg0MywweDQ0fSwKLSAgMTYsMHgwZjg1LDAsezB4NDUsMHg0NiwweDQ3LDB4NDgsMHg0OSwweDQ5LDB4NGEsMHg0YiwweDRiLDB4NGMsMHg0ZCwweDRlLDB4NGYsMHg1MCwweDUxLDB4NTJ9LAotICAxNiwweDBmOTUsMCx7MHg1MywweDU0LDB4NTUsMHg1NSwweDU2LDB4NTYsMHg1NywweDU3LDB4NTgsMHg1YSwweDViLDB4NWQsMHg1ZSwweDVmLDB4NjEsMHg2Mn0sCi0gIDE2LDB4MGZhNSwwLHsweDYzLDB4NjQsMHg2NSwweDY2LDB4NjcsMHg2OCwweDY5LDB4NmEsMHg2YiwweDZjLDB4NmQsMHg2ZiwweDcxLDB4NzIsMHg3MywweDc0fSwKLSAgMTYsMHgwZmI1LDAsezB4NzUsMHg3NiwweDc3LDB4NzgsMHg3OSwweDdhLDB4N2IsMHg3YywweDdlLDB4ODAsMHgwMSwweDM3LDB4MDEsMHgwMSwweDM4LDB4MDB9LAotICAgMSwweDBmYzUsMCx7MHgwMH0sCi0gIDE2LDB4MGZjNiwwLHsweGU0LDB4ZmYsMHg3NCwweDQ2LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDIwfSwKLSAgMTYsMHgwZmQ2LDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDRlLDB4MmYsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDBmZTYsMCx7MHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4M30sCi0gICA2LDB4MGZmNiwwLHsweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhjY30sCi0gICAxLDB4MGZmYywwLHsweDIyfSwKLSAgIDMsMHgwZmZkLDAsezB4YzIsMHg4OSwweDMyfSwKLSAgMTYsMHgxMDAwLDAsezB4ZTQsMHg5MCwweDc2LDB4MmMsMHhmMCwweDkwLDB4NzYsMHgyYywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9LAotICAxNiwweDEwMTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWQsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4MTAyMCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MmMsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHgxMDMwLDAsezB4ZWYsMHhiNCwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDEwNDAsMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDJlLDB4ZjAsMHgyNH0sCi0gIDE2LDB4MTA1MCwwLHsweGYwLDB4NjAsMHgwYSwweDI0LDB4MGYsMHg2MCwweDAyLDB4ODEsMHg3ZCwweDEyLDB4NGIsMHhhNCwweDIyLDB4OTAsMHg3ZiwweGVkfSwKLSAgMTYsMHgxMDYwLDAsezB4ZTAsMHg2NCwweDA1LDB4NzAsMHg1MSwweDkwLDB4NzYsMHgxOCwweDc0LDB4MDUsMHhmMCwweDkwLDB4NzYsMHgzOCwweDc0LDB4MDF9LAotICAxNiwweDEwNzAsMCx7MHhmMCwweDkwLDB4NzYsMHgzYSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgxYywweGYwLDB4ZTQsMHg5MCwweDc2LDB4MWIsMHhmMH0sCi0gIDE2LDB4MTA4MCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MCwweDJmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fSwKLSAgMTYsMHgxMDkwLDAsezB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmR9LAotICAxNiwweDEwYTAsMCx7MHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzYsMHgxYywweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTBiMCwwLHsweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMSwweDkwLDB4N2YsMHhlZCwweGUwLDB4NjQsMHgwNiwweDcwLDB4NTIsMHg5MCwweDc2fSwKLSAgMTYsMHgxMGMwLDAsezB4MTgsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4MzgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4M2EsMHg3NCwweDBhLDB4ZjB9LAotICAxNiwweDEwZDAsMCx7MHg5MCwweDc2LDB4MWMsMHhmMCwweDkwLDB4NzYsMHgxYiwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MH0sCi0gIDE2LDB4MTBlMCwwLHsweDJmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgxMGYwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmQsMHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzZ9LAotICAxNiwweDExMDAsMCx7MHgxYywweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMX0sCi0gIDE2LDB4MTExMCwwLHsweGU0LDB4OTAsMHg3NiwweDFlLDB4ZjAsMHg5MCwweDc2LDB4MWMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZSwweDZmfSwKLSAgMTYsMHgxMTIwLDAsezB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NjB9LAotICAxNiwweDExMzAsMCx7MHgxMywweDE0LDB4NzAsMHgwMiwweDIxLDB4YmYsMHgyNCwweDAyLDB4NjAsMHgwMiwweDgxLDB4NzUsMHg5MCwweDdmLDB4YjQsMHhlMH0sCi0gIDE2LDB4MTE0MCwwLHsweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHg2YiwweDkwLDB4N2YsMHhlYSwweGUwfSwKLSAgMTYsMHgxMTUwLDAsezB4ZjQsMHg3MCwweDRhLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmZ9LAotICAxNiwweDExNjAsMCx7MHg5MCwweDc2LDB4MWIsMHhlMCwweGZkLDB4YzMsMHg5ZiwweDUwLDB4MmIsMHhlZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYn0sCi0gIDE2LDB4MTE3MCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwfSwKLSAgMTYsMHgxMTgwLDAsezB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTB9LAotICAxNiwweDExOTAsMCx7MHgwNCwweGYwLDB4ODAsMHhjNywweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweGVlLDB4NzUsMHhmMH0sCi0gIDE2LDB4MTFhMCwwLHsweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwfSwKLSAgMTYsMHgxMWIwLDAsezB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9LAotICAxNiwweDExYzAsMCx7MHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NzAsMHgwMiwweDQxLDB4N2UsMHgxNCwweDcwLDB4MDIsMHg2MSwweDIzLDB4MTQsMHg3MH0sCi0gIDE2LDB4MTFkMCwwLHsweDAyLDB4NjEsMHhjOCwweDI0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg2ZCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkfSwKLSAgMTYsMHgxMWUwLDAsezB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWJ9LAotICAxNiwweDExZjAsMCx7MHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MTIwMCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkfSwKLSAgMTYsMHgxMjEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWR9LAotICAxNiwweDEyMjAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMH0sCi0gIDE2LDB4MTIzMCwwLHsweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwfSwKLSAgMTYsMHgxMjQwLDAsezB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWJ9LAotICAxNiwweDEyNTAsMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMH0sCi0gIDE2LDB4MTI2MCwwLHsweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgxMjcwLDAsezB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNiwweDEyODAsMCx7MHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYX0sCi0gIDE2LDB4MTI5MCwwLHsweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fSwKLSAgMTYsMHgxMmEwLDAsezB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmR9LAotICAxNiwweDEyYjAsMCx7MHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4MTJjMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2fSwKLSAgMTYsMHgxMmQwLDAsezB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDEyZTAsMCx7MHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNX0sCi0gIDE2LDB4MTJmMCwwLHsweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgxMzAwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWZ9LAotICAxNiwweDEzMTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH0sCi0gIDE2LDB4MTMyMCwwLHsweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2fSwKLSAgMTYsMHgxMzMwLDAsezB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTB9LAotICAxNiwweDEzNDAsMCx7MHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZX0sCi0gIDE2LDB4MTM1MCwwLHsweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSwKLSAgMTYsMHgxMzYwLDAsezB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDEzNzAsMCx7MHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MTM4MCwwLHsweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2fSwKLSAgMTYsMHgxMzkwLDAsezB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9LAotICAxNiwweDEzYTAsMCx7MHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4MTNiMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxfSwKLSAgMTYsMHgxM2MwLDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTB9LAotICAxNiwweDEzZDAsMCx7MHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMH0sCi0gIDE2LDB4MTNlMCwwLHsweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgxM2YwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjV9LAotICAxNiwweDE0MDAsMCx7MHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNX0sCi0gIDE2LDB4MTQxMCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0fSwKLSAgMTYsMHgxNDIwLDAsezB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDR9LAotICAxNiwweDE0MzAsMCx7MHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMH0sCi0gIDE2LDB4MTQ0MCwwLHsweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwfSwKLSAgMTYsMHgxNDUwLDAsezB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDE0NjAsMCx7MHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0sCi0gIDE2LDB4MTQ3MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSwKLSAgIDUsMHgxNDgwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MTQ4NSwwLHsweDc0LDB4MDAsMHhmNSwweDg2LDB4OTAsMHhmZCwweGE1LDB4N2MsMHgwNSwweGEzLDB4ZTUsMHg4MiwweDQ1LDB4ODMsMHg3MCwweGY5fSwKLSAgIDEsMHgxNDk1LDAsezB4MjJ9LAotICAxNiwweDE0OTYsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDQzLDB4ODcsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn0sCi0gIDE2LDB4MTRhNiwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweDhkLDB4ZTAsMHhjMCwweGUwfSwKLSAgMTYsMHgxNGI2LDAsezB4OGMsMHhlMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweDdkLDB4MDB9LAotICAxNiwweDE0YzYsMCx7MHg5MCwweDdmLDB4ZTMsMHg3NCwweDdiLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweDdjLDB4MTEsMHg5MCwweDdmLDB4OTksMHhlMH0sCi0gIDE2LDB4MTRkNiwwLHsweDU0LDB4NDAsMHhkYywweDAzLDB4MDIsMHgxNCwweGYzLDB4YjQsMHgwMCwweDEzLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0MCwweGYwfSwKLSAgMTYsMHgxNGU2LDAsezB4OTAsMHg3ZiwweGU1LDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHgwMiwweDE0LDB4ZDIsMHg5MCwweDc2LDB4OTB9LAotICAxNiwweDE0ZjYsMCx7MHhlMCwweGI0LDB4MDEsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMH0sCi0gIDE2LDB4MTUwNiwwLHsweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHg1NywweGI0LDB4MDIsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwfSwKLSAgMTYsMHgxNTE2LDAsezB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHg5NiwweGI0LDB4MDMsMHgxMiwweDkwLDB4NzZ9LAotICAxNiwweDE1MjYsMCx7MHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHhlMX0sCi0gIDE2LDB4MTUzNiwwLHsweGI0LDB4MDQsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwfSwKLSAgMTYsMHgxNTQ2LDAsezB4N2YsMHg2YywweDAyLDB4MTYsMHgxMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTZ9LAotICAxNiwweDE1NTYsMCx7MHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZjIsMHg3ZH0sCi0gIDE2LDB4MTU2NiwwLHsweDAyLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0fSwKLSAgMTYsMHgxNTc2LDAsezB4MDAsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjB9LAotICAxNiwweDE1ODYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhkNCwweDAyLDB4MTYsMHg0MH0sCi0gIDE2LDB4MTU5NiwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSwKLSAgMTYsMHgxNWE2LDAsezB4ZjAsMHhmMCwweGRkLDB4ZWMsMHg3ZCwweDAyLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDE1YjYsMCx7MHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NH0sCi0gIDE2LDB4MTVjNiwwLHsweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSwKLSAgIDYsMHgxNWQ2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSwKLSAgMTYsMHgxNWRjLDAsezB4ZGQsMHhjZSwweDAyLDB4MTYsMHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmYSwweDdkLDB4MDIsMHgwNSwweDg2LDB4OTB9LAotICAxNiwweDE1ZWMsMCx7MHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDUsMHg4Nn0sCi0gIDE2LDB4MTVmYywwLHsweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkfSwKLSAgMTYsMHgxNjBjLDAsezB4ZGMsMHgwMiwweDE2LDB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGY4LDB4N2QsMHgwMiwweDA1LDB4ODZ9LAotICAxNiwweDE2MWMsMCx7MHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNX0sCi0gIDE2LDB4MTYyYywwLHsweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwfSwKLSAgMTYsMHgxNjNjLDAsezB4ZjAsMHhmMCwweGRkLDB4ZGEsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODZ9LAotICAxNiwweDE2NGMsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZn0sCi0gICA1LDB4MTY1YywwLHsweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9LAotICAxNiwweDE2NjEsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4OTAsMHg3NiwweDdjLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMH0sCi0gIDE2LDB4MTY3MSwwLHsweDkwLDB4NzYsMHg3ZCwweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjAsMHg5MCwweDc2LDB4N2UsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwfSwKLSAgIDksMHgxNjgxLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSwKLSAgMTYsMHgxNjhhLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODN9LAotICAxNiwweDE2OWEsMCx7MHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YmYsMHgwMCwweDAzLDB4MDIsMHgxN30sCi0gIDE2LDB4MTZhYSwwLHsweDAxLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgxNmJhLDAsezB4NjIsMHhlMCwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4N2Z9LAotICAxNiwweDE2Y2EsMCx7MHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4NzYsMHg4ZSwweGUwLDB4YjQsMHgwMSwweDA1LDB4MDUsMHg4Nn0sCi0gIDE2LDB4MTZkYSwwLHsweDAyLDB4MTYsMHhmNiwweGI0LDB4MDIsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4ZWIsMHgwNSwweDg2LDB4MDIsMHgxNiwweGZifSwKLSAgMTYsMHgxNmVhLDAsezB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZGYsMHhmOCwweDAyLDB4MTYsMHhmYiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZGZ9LAotICAxNiwweDE2ZmEsMCx7MHhmYSwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4NiwweGQwLDB4ODMsMHhkMH0sCi0gIDEyLDB4MTcwYSwwLHsweDgyLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0sCi0gIDE2LDB4MTcxNiwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4ZDEsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifSwKLSAgMTAsMHgxNzI2LDAsezB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhlMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MjJ9LAotICAxNiwweDE3MzAsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweDc4LDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn0sCi0gIDEwLDB4MTc0MCwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfSwKLSAgIDcsMHgxNzRhLDAsezB4OTAsMHg3ZiwweGM1LDB4NzQsMHgwMiwweGYwLDB4MjJ9LAotICAxNiwweDE3NTEsMCx7MHg5MCwweDdlLDB4YzAsMHhlMCwweDkwLDB4NzYsMHg0NSwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHg5MCwweDc2LDB4NDQsMHhmMH0sCi0gIDE2LDB4MTc2MSwwLHsweDkwLDB4N2UsMHhjMiwweGUwLDB4OTAsMHg3NiwweDQzLDB4ZjAsMHhiNCwweDAwLDB4MDMsMHgwMiwweDE3LDB4NzgsMHg5MCwweDc2fSwKLSAgMTYsMHgxNzcxLDAsezB4MTksMHg3NCwweDAzLDB4ZjAsMHgwMiwweDE3LDB4OGUsMHg5MCwweDc2LDB4NDQsMHhlMCwweGI0LDB4YmIsMHgwOSwweDkwLDB4NzZ9LAotICAxNiwweDE3ODEsMCx7MHgxOSwweDc0LDB4MDIsMHhmMCwweDAyLDB4MTcsMHg4ZSwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg0Mn0sCi0gICAzLDB4MTc5MSwwLHsweGU0LDB4ZjAsMHgyMn0sCi0gICA0LDB4MTc5NCwwLHsweDhkLDB4MjksMHg4YiwweDJhfSwKLSAgMTYsMHgxNzk4LDAsezB4MTIsMHg0YSwweDU1LDB4ZWEsMHg0OSwweDYwLDB4NTcsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2F9LAotICAxNiwweDE3YTgsMCx7MHhjOSwweGVmLDB4YzksMHg3NSwweDJiLDB4ZmYsMHhmNSwweDJjLDB4ODksMHgyZCwweGFiLDB4MmIsMHhhYSwweDJjLDB4YTksMHgyZH0sCi0gIDE2LDB4MTdiOCwwLHsweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweGZmLDB4NjQsMHgwNCwweDYwLDB4MDUsMHhlZiwweDY0LDB4MDUsMHg3MCwweDJlfSwKLSAgMTYsMHgxN2M4LDAsezB4ZWYsMHhiNCwweDA0LDB4MTUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDM2LDB4YWIsMHg2NSwweDI5LDB4NzAsMHgwYiwweDkwLDB4MDB9LAotICAxNiwweDE3ZDgsMCx7MHgwMywweDEyLDB4MzYsMHhhYiwweDY1LDB4MmEsMHg3MCwweDAxLDB4MjIsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZn0sCi0gIDE2LDB4MTdlOCwwLHsweGVlLDB4M2EsMHhjOSwweGVmLDB4YzksMHg3NSwweDJiLDB4ZmYsMHhmNSwweDJjLDB4ODksMHgyZCwweDgwLDB4YmMsMHg3YiwweDAwfSwKLSAgIDQsMHgxN2Y4LDAsezB4N2EsMHgwMCwweDc5LDB4MDB9LAotICAgMSwweDE3ZmMsMCx7MHgyMn0sCi0gICAzLDB4MTdmZCwwLHsweGMyLDB4OGIsMHgzMn0sCi0gIDE2LDB4MTgwMCwwLHsweDkwLDB4NzYsMHg5MCwweGUwLDB4MTQsMHg2MCwweDM3LDB4MTQsMHg3MCwweDAyLDB4MDEsMHhkOCwweDE0LDB4NzAsMHgwMiwweDIxfSwKLSAgMTYsMHgxODEwLDAsezB4NzIsMHgxNCwweDcwLDB4MDIsMHg0MSwweDNiLDB4MjQsMHgwNCwweDYwLDB4MDIsMHg2MSwweDAzLDB4OTAsMHg3ZiwweGZjLDB4NzR9LAotICAxNiwweDE4MjAsMCx7MHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg1NH0sCi0gIDE2LDB4MTgzMCwwLHsweDA1LDB4ZjAsMHg5MCwweDgwLDB4MDEsMHhmMCwweGU0LDB4OTAsMHg3NiwweDFhLDB4ZjAsMHhjMiwweDJlLDB4MjIsMHg5MCwweDc2fSwKLSAgMTYsMHgxODQwLDAsezB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODB9LAotICAxNiwweDE4NTAsMCx7MHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MH0sCi0gIDE2LDB4MTg2MCwwLHsweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyMiwweDkwfSwKLSAgMTYsMHgxODcwLDAsezB4N2YsMHhmYywweDc0LDB4NzQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmJ9LAotICAxNiwweDE4ODAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MH0sCi0gIDE2LDB4MTg5MCwwLHsweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjIsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjfSwKLSAgMTYsMHgxOGEwLDAsezB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTB9LAotICAxNiwweDE4YjAsMCx7MHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZX0sCi0gIDE2LDB4MThjMCwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZifSwKLSAgMTYsMHgxOGQwLDAsezB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyLDB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmZSwweGYwLDB4NDR9LAotICAxNiwweDE4ZTAsMCx7MHgwMiwweGYwLDB4MzAsMHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NH0sCi0gIDE2LDB4MThmMCwwLHsweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxfSwKLSAgMTYsMHgxOTAwLDAsezB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDIyLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHgzMCwweGYwLDB4OTB9LAotICAxNiwweDE5MTAsMCx7MHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NH0sCi0gIDE2LDB4MTkyMCwwLHsweGZkLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyMiwweDkwfSwKLSAgMTYsMHgxOTMwLDAsezB4N2YsMHhmYywweDc0LDB4MWMsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmZ9LAotICAxNiwweDE5NDAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MH0sCi0gIDE2LDB4MTk1MCwwLHsweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3fSwKLSAgMTYsMHgxOTYwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDJ9LAotICAxNiwweDE5NzAsMCx7MHgyZSwweDIyLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg0NCwweDA4LDB4ZjAsMHgzMH0sCi0gIDE2LDB4MTk4MCwwLHsweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwfSwKLSAgMTYsMHgxOTkwLDAsezB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDE5YTAsMCx7MHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NH0sCi0gIDE2LDB4MTliMCwwLHsweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJiLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0fSwKLSAgMTYsMHgxOWMwLDAsezB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDI1LDB4OTB9LAotICAxNiwweDE5ZDAsMCx7MHg3ZiwweGZjLDB4NzQsMHhjOCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZn0sCi0gIDE2LDB4MTllMCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwfSwKLSAgMTYsMHgxOWYwLDAsezB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4OTgsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDFhMDAsMCx7MHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4NWYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZH0sCi0gIDE2LDB4MWExMCwwLHsweGYwLDB4NDQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5fSwKLSAgMTYsMHgxYTIwLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNiwweDFhMzAsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDIsMHgyZSwweDIyLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NH0sCi0gIDE2LDB4MWE0MCwwLHsweGZlLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwfSwKLSAgMTYsMHgxYTUwLDAsezB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTB9LAotICAxNiwweDFhNjAsMCx7MHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjUsMHg5MH0sCi0gIDE2LDB4MWE3MCwwLHsweDdmLDB4ZmMsMHg3NCwweGI0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJifSwKLSAgMTYsMHgxYTgwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjB9LAotICAxNiwweDFhOTAsMCx7MHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhiMCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MWFhMCwwLHsweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyfSwKLSAgMTYsMHgxYWIwLDAsezB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDN9LAotICAxNiwweDFhYzAsMCx7MHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4NjgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4Zn0sCi0gIDE2LDB4MWFkMCwwLHsweDc0LDB4NWYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NDQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc2fSwKLSAgMTYsMHgxYWUwLDAsezB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjB9LAotICAxNiwweDFhZjAsMCx7MHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMn0sCi0gICA0LDB4MWIwMCwwLHsweGYwLDB4ZDIsMHgyZSwweDIyfSwKLSAgMTYsMHgxYjA0LDAsezB4MzAsMHgyYywweDM4LDB4YzIsMHgyYywweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2N9LAotICAxNiwweDFiMTQsMCx7MHg3NCwweGMwLDB4ZjAsMHhhMywweDc0LDB4MTQsMHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGQsMHhlNH0sCi0gIDE2LDB4MWIyNCwwLHsweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweDEwLDB4ZjAsMHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBifSwKLSAgMTIsMHgxYjM0LDAsezB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHgxOCwweGYwLDB4YTMsMHhmMCwweDIyfSwKLSAgMTYsMHgxYjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2MwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2YwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWUwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWUzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNCwweDFlYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmMmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gICAyLDB4MWYzZSwwLHsweDAwLDB4MDB9LAotICAxNiwweDFmNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjAxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjEwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjEzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjIyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE0LDB4MjM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzN2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzYWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2NlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2ZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjUwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjUzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjZiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE0LDB4MjZlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjcwYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzFjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3MmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjczYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzRjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3NWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc2YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzdjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3OGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc5YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2FjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3YmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjdjYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2RjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3ZWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gICA1LDB4MjdmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9LAotICAxNiwweDI4MDEsMCx7MHhjMiwweDIwLDB4YzIsMHgyMSwweGMyLDB4MmEsMHg5MCwweDdmLDB4ZTgsMHhlMCwweDEyLDB4MzcsMHhmOSwweDI4LDB4MzAsMHgwMH0sCi0gIDE2LDB4MjgxMSwwLHsweDI4LDB4OGMsMHgwMSwweDI4LDB4YTIsMHgwMiwweDJhLDB4MWYsMHgyMSwweDJhLDB4NmEsMHgyMiwweDI5LDB4M2QsMHg4MCwweDI5fSwKLSAgMTYsMHgyODIxLDAsezB4N2QsMHg4MSwweDI5LDB4ZDEsMHg4MiwweDJhLDB4ODQsMHhhMSwweDJhLDB4YmEsMHhhMiwweDAwLDB4MDAsMHgyYSwweGJmLDB4OTB9LAotICAxNiwweDI4MzEsMCx7MHg3ZiwweGU5LDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgyNCwweGZlLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDNiLDB4MjQsMHhmY30sCi0gIDE2LDB4Mjg0MSwwLHsweDcwLDB4NDAsMHgxMiwweDNmLDB4ZTUsMHg0MSwweGNiLDB4MTIsMHg0ZSwweDFkLDB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmfSwKLSAgMTYsMHgyODUxLDAsezB4ZWEsMHhlMCwweGI0LDB4MDEsMHgwNCwweGMyLDB4MjIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNiwweDI4NjEsMCx7MHg0MSwweGNiLDB4MTIsMHg0ZSwweDFmLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhkMiwweDIyLDB4NDEsMHhjYn0sCi0gIDE2LDB4Mjg3MSwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgMTYsMHgyODgxLDAsezB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjR9LAotICAxNiwweDI4OTEsMCx7MHhmNSwweDcwLDB4MDUsMHgxMiwweDQ4LDB4NjMsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MX0sCi0gIDE2LDB4MjhhMSwwLHsweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZkLDB4NjAsMHg1NCwweDI0LDB4MDIsMHg2MCwweDAyLDB4MjEsMHgzNCwweDEyfSwKLSAgMTYsMHgyOGIxLDAsezB4NGUsMHgxZCwweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVjLDB4ZTB9LAotICAxNiwweDI4YzEsMCx7MHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNH0sCi0gIDE2LDB4MjhkMSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhlYywweGUwLDB4NTQsMHg4MCwweGZmfSwKLSAgMTYsMHgyOGUxLDAsezB4MTMsMHgxMywweDEzLDB4NTQsMHgxZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHg5MCwweDdmLDB4ZDcsMHhmMCwweGUwLDB4NDR9LAotICAxNiwweDI4ZjEsMCx7MHgyMCwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDEyLDB4NGUsMHgxZn0sCi0gIDE2LDB4MjkwMSwwLHsweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDIwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0fSwKLSAgMTYsMHgyOTExLDAsezB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODJ9LAotICAxNiwweDI5MjEsMCx7MHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0sCi0gIDE2LDB4MjkzMSwwLHsweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwfSwKLSAgMTYsMHgyOTQxLDAsezB4NjAsMHgxMiwweDI0LDB4ZjgsMHg2MCwweDA5LDB4MjQsMHgwMiwweDcwLDB4MjksMHgxMiwweDQzLDB4ZTcsMHg0MSwweGNiLDB4MTJ9LAotICAxNiwweDI5NTEsMCx7MHg0ZCwweGNhLDB4NDEsMHhjYiwweDEyLDB4NGUsMHgxYiwweGEyLDB4MjIsMHhlNCwweDMzLDB4ZmYsMHgyNSwweGUwLDB4ZmYsMHhhMn0sCi0gIDE2LDB4Mjk2MSwwLHsweDIzLDB4ZTQsMHgzMywweDRmLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyfSwKLSAgMTYsMHgyOTcxLDAsezB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTB9LAotICAxNiwweDI5ODEsMCx7MHg2MCwweDMzLDB4MjQsMHhmNiwweDYwLDB4MmEsMHgyNCwweDA0LDB4NzAsMHgzZCwweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhkZX0sCi0gIDE2LDB4Mjk5MSwwLHsweDYwLDB4MGMsMHgwNCwweDcwLDB4MTIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmfSwKLSAgMTYsMHgyOWExLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2J9LAotICAxNiwweDI5YjEsMCx7MHgxMiwweDQ3LDB4NDUsMHg0MSwweGNiLDB4MTIsMHg0ZSwweDFiLDB4ZTQsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MjljMSwwLHsweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNifSwKLSAgMTYsMHgyOWQxLDAsezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY0LDB4NjAsMHgzNCwweDI0LDB4MGMsMHg3MCwweDM5LDB4MTIsMHg0ZSwweDFiLDB4OTB9LAotICAxNiwweDI5ZTEsMCx7MHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNX0sCi0gIDE2LDB4MjlmMSwwLHsweGUwLDB4MjQsMHhiNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGZkLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHgyYTAxLDAsezB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTB9LAotICAxNiwweDJhMTEsMCx7MHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MmEyMSwwLHsweGU5LDB4ZTAsMHgyNCwweGY2LDB4NjAsMHgxMiwweDE0LDB4NjAsMHgxYSwweDI0LDB4MDIsMHg3MCwweDFkLDB4ZDIsMHgyMCwweDkwfSwKLSAgMTYsMHgyYTMxLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyLDB4MjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDJhNDEsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwLDB4MjAsMHgxOCwweDkwLDB4N2YsMHhlZX0sCi0gIDE2LDB4MmE1MSwwLHsweGUwLDB4NzAsMHgwNCwweGEzLDB4ZTAsMHg2MCwweDBiLDB4ZDIsMHgyOSwweGQyLDB4MjcsMHgxMiwweDE3LDB4NGEsMHhkMiwweDJhfSwKLSAgMTYsMHgyYTYxLDAsezB4ODAsMHgwMywweDEyLDB4MDgsMHgwMCwweGMyLDB4MjAsMHg4MCwweDYxLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3MCwweDA0LDB4YTN9LAotICAxNiwweDJhNzEsMCx7MHhlMCwweDYwLDB4MGIsMHhkMiwweDI5LDB4ZDIsMHgyOCwweDEyLDB4MTcsMHg0YSwweGQyLDB4MmEsMHg4MCwweDRjLDB4MTIsMHgzOH0sCi0gIDE2LDB4MmE4MSwwLHsweDc0LDB4ODAsMHg0NywweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWEsMHgyNCwweDAyfSwKLSAgMTYsMHgyYTkxLDAsezB4NzAsMHgxZCwweGQyLDB4MjEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMiwweDIxLDB4OTB9LAotICAxNiwweDJhYTEsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMH0sCi0gIDE2LDB4MmFiMSwwLHsweDIxLDB4MDMsMHgxMiwweDEwLDB4MDAsMHhjMiwweDIxLDB4ODAsMHgxMSwweDEyLDB4MmEsMHhkNiwweDgwLDB4MGMsMHgxMiwweDRlfSwKLSAgMTYsMHgyYWMxLDAsezB4MjEsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDJhLDB4MDcsMHg5MCwweDdmLDB4YjR9LAotICAgNSwweDJhZDEsMCx7MHhlMCwweDQ0LDB4MDIsMHhmMCwweDIyfSwKLSAgMTYsMHgyYWQ2LDAsezB4ZTQsMHg5MCwweDc2LDB4MjcsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9LAotICAxNiwweDJhZTYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4MmFmNiwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjcsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHgyYjA2LDAsezB4ZWYsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MGZ9LAotICAxNiwweDJiMTYsMCx7MHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDI4LDB4ZjAsMHgyNH0sCi0gIDE2LDB4MmIyNiwwLHsweDlmLDB4NzAsMHgwMiwweGExLDB4NzQsMHgyNCwweDIxLDB4NjAsMHgwMiwweGExLDB4YTEsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fSwKLSAgMTYsMHgyYjM2LDAsezB4N2UsMHg3MCwweDAyLDB4NjEsMHhmYywweDE0LDB4NzAsMHgwMiwweDgxLDB4YjUsMHgyNCwweDAyLDB4NjAsMHgwMiwweGExLDB4NmN9LAotICAxNiwweDJiNDYsMCx7MHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmY30sCi0gIDE2LDB4MmI1NiwwLHsweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMCwweDc4fSwKLSAgMTYsMHgyYjY2LDAsezB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWN9LAotICAxNiwweDJiNzYsMCx7MHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMH0sCi0gIDE2LDB4MmI4NiwwLHsweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkfSwKLSAgMTYsMHgyYjk2LDAsezB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTJ9LAotICAxNiwweDJiYTYsMCx7MHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhM30sCi0gIDE2LDB4MmJiNiwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0fSwKLSAgMTYsMHgyYmM2LDAsezB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmV9LAotICAxNiwweDJiZDYsMCx7MHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg2MH0sCi0gIDE2LDB4MmJlNiwwLHsweDAyLDB4YTEsMHhhOCwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwfSwKLSAgMTYsMHgyYmY2LDAsezB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDd9LAotICAxNiwweDJjMDYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhM30sCi0gIDE2LDB4MmMxNiwwLHsweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzfSwKLSAgMTYsMHgyYzI2LDAsezB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTMsMHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjV9LAotICAxNiwweDJjMzYsMCx7MHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MmM0NiwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdifSwKLSAgMTYsMHgyYzU2LDAsezB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDJjNjYsMCx7MHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMH0sCi0gIDE2LDB4MmM3NiwwLHsweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgyYzg2LDAsezB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4Nzd9LAotICAxNiwweDJjOTYsMCx7MHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NjAsMHgwMiwweGExLDB4YTgsMHg5MCwweDdmLDB4MDAsMHhmMH0sCi0gIDE2LDB4MmNhNiwwLHsweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwfSwKLSAgMTYsMHgyY2I2LDAsezB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDJjYzYsMCx7MHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OX0sCi0gIDE2LDB4MmNkNiwwLHsweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzfSwKLSAgMTYsMHgyY2U2LDAsezB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTB9LAotICAxNiwweDJjZjYsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhM30sCi0gIDE2LDB4MmQwNiwwLHsweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwfSwKLSAgMTYsMHgyZDE2LDAsezB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjB9LAotICAxNiwweDJkMjYsMCx7MHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZn0sCi0gIDE2LDB4MmQzNiwwLHsweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzfSwKLSAgMTYsMHgyZDQ2LDAsezB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4Mzd9LAotICAxNiwweDJkNTYsMCx7MHhhYiwweDcwLDB4NGYsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MmQ2NiwwLHsweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgMTYsMHgyZDc2LDAsezB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDFlLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGZ9LAotICAxNiwweDJkODYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH0sCi0gIDE2LDB4MmQ5NiwwLHsweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSwKLSAgIDMsMHgyZGE2LDAsezB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHgyZGE5LDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDJkYjksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4MmRjOSwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1fSwKLSAgMTYsMHgyZGQ5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmZ9LAotICAxNiwweDJkZTksMCx7MHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTAsMHhmMH0sCi0gIDE2LDB4MmRmOSwwLHsweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA1fSwKLSAgMTYsMHgyZTA5LDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTR9LAotICAxNiwweDJlMTksMCx7MHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNX0sCi0gIDE2LDB4MmUyOSwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfSwKLSAgMTYsMHgyZTM5LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9LAotICAxNiwweDJlNDksMCx7MHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMH0sCi0gIDE2LDB4MmU1OSwwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fSwKLSAgMTYsMHgyZTY5LDAsezB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDJlNzksMCx7MHg3NCwweDAzLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MmU4OSwwLHsweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fSwKLSAgMTYsMHgyZTk5LDAsezB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTR9LAotICAxNiwweDJlYTksMCx7MHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA2LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE2LDB4MmViOSwwLHsweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwfSwKLSAgMTYsMHgyZWM5LDAsezB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDJlZDksMCx7MHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4MmVlOSwwLHsweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgyZWY5LDAsezB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDJmMDksMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMH0sCi0gIDE2LDB4MmYxOSwwLHsweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA4LDB4ZjAsMHhlZiwweDc1fSwKLSAgMTYsMHgyZjI5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4OTB9LAotICAxNiwweDJmMzksMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MmY0OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyfSwKLSAgMTYsMHgyZjU5LDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MGEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjV9LAotICAxNiwweDJmNjksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMH0sCi0gIDE2LDB4MmY3OSwwLHsweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyfSwKLSAgMTYsMHgyZjg5LDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9LAotICAxNiwweDJmOTksMCx7MHgwOSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MmZhOSwwLHsweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fSwKLSAgMTYsMHgyZmI5LDAsezB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTR9LAotICAxNiwweDJmYzksMCx7MHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA3LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE0LDB4MmZkOSwwLHsweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4MjJ9LAotICAxNiwweDJmZTcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDI2LDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX0sCi0gICA4LDB4MmZmNywwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAgMSwweDJmZmYsMCx7MHgzMn0sCi0gIDE2LDB4MzAwMCwwLHsweDkwLDB4N2YsMHhiNiwweGUwLDB4MjAsMHhlMSwweDAyLDB4YzIsMHgzZCwweGQyLDB4MzYsMHgyMCwweDM2LDB4MDIsMHg0MSwweDZlfSwKLSAgMTYsMHgzMDEwLDAsezB4MzAsMHgzZCwweDAyLDB4NDEsMHg2ZSwweDkwLDB4ODAsMHgwNywweGUwLDB4NjAsMHgwNCwweGQyLDB4MzYsMHg4MCwweDAyLDB4YzJ9LAotICAxNiwweDMwMjAsMCx7MHgzNiwweDIwLDB4MzYsMHgwMiwweDQxLDB4MmUsMHhkMiwweDM1LDB4ZTQsMHhmNSwweDFhLDB4OTAsMHg4MCwweDA0LDB4ZTAsMHhmNX0sCi0gIDE2LDB4MzAzMCwwLHsweDE5LDB4NzQsMHgwOCwweDI1LDB4MGUsMHhmOCwweGE2LDB4MTksMHg4NSwweDE5LDB4MTgsMHhlNSwweDE4LDB4MjAsMHhlNywweDA0fSwKLSAgMTYsMHgzMDQwLDAsezB4ZDIsMHgzOCwweDgwLDB4MDIsMHhjMiwweDM4LDB4MzAsMHgzOCwweDAyLDB4MjEsMHhkNCwweGU0LDB4ZjUsMHgxNiwweGU1LDB4MTl9LAotICAxNiwweDMwNTAsMCx7MHhiNCwweGYwLDB4MGMsMHhkMiwweDM5LDB4NzUsMHgwOCwweDA0LDB4NzUsMHgwOSwweGYwLDB4MDUsMHgwZSwweDgwLDB4MDIsMHgwNX0sCi0gIDE2LDB4MzA2MCwwLHsweDE2LDB4ZTUsMHgxOSwweDY0LDB4ZjcsMHg3MCwweDNkLDB4YzIsMHgzOSwweGU1LDB4MGUsMHgyNCwweGZlLDB4NjAsMHgxNywweDE0fSwKLSAgMTYsMHgzMDcwLDAsezB4NjAsMHgyMiwweDI0LDB4MDMsMHg3MCwweDI5LDB4NzUsMHgwOCwweDA1LDB4NzUsMHgwOSwweGY3LDB4ZTQsMHhmNSwweDBhLDB4ZjV9LAotICAxNiwweDMwODAsMCx7MHgwYiwweDc1LDB4MGUsMHgwNCwweDgwLDB4MjAsMHg3NSwweDA4LDB4MDYsMHg3NSwweDBhLDB4ZjcsMHhlNCwweGY1LDB4MGIsMHg3NX0sCi0gIDE2LDB4MzA5MCwwLHsweDBlLDB4MDQsMHg4MCwweDEyLDB4NzUsMHgwOCwweDA3LDB4NzUsMHgwYiwweGY3LDB4NzUsMHgwZSwweDA0LDB4ODAsMHgwNywweDEyfSwKLSAgMTYsMHgzMGEwLDAsezB4NGQsMHhkYSwweDgwLDB4MDIsMHgwNSwweDE2LDB4ZTUsMHgxOSwweDU0LDB4ZjgsMHg2NCwweGY4LDB4NzAsMHgzYiwweGMyLDB4MzV9LAotICAxNiwweDMwYjAsMCx7MHhlNSwweDE5LDB4MjQsMHgwNywweDYwLDB4MGMsMHgyNCwweGZjLDB4NjAsMHgwOCwweDI0LDB4MDUsMHgyNCwweGY4LDB4NTAsMHgwNn0sCi0gIDE2LDB4MzBjMCwwLHsweDgwLDB4MDgsMHhkMiwweDNhLDB4ODAsMHgwNiwweGMyLDB4M2EsMHg4MCwweDAyLDB4ZDIsMHgzYSwweDc1LDB4MWEsMHgwMSwweDIwfSwKLSAgMTYsMHgzMGQwLDAsezB4M2EsMHgxOSwweDkwLDB4N2UsMHg4MCwweDc0LDB4MGYsMHhmMCwweGEzLDB4ZTUsMHgxOSwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTN9LAotICAxNiwweDMwZTAsMCx7MHhmMCwweDkwLDB4N2YsMHhiNywweDc0LDB4MDQsMHhmMCwweDgwLDB4MDIsMHgwNSwweDE2LDB4MjAsMHgzOSwweDZkLDB4ZTUsMHgxOX0sCi0gIDE2LDB4MzBmMCwwLHsweDY0LDB4ZjcsMHg2MCwweDY3LDB4ZTUsMHgxYSwweDcwLDB4NjMsMHhlNSwweDE4LDB4NTQsMHhmMCwweDY0LDB4ZjAsMHg3MCwweDU5fSwKLSAgMTYsMHgzMTAwLDAsezB4ODUsMHgxOCwweDE5LDB4ZjUsMHgwZSwweGU1LDB4MTksMHgyNCwweDBmLDB4NjAsMHgxYiwweDI0LDB4ZmUsMHg2MCwweDE3LDB4MjR9LAotICAxNiwweDMxMTAsMCx7MHhmZCwweDYwLDB4MjIsMHgxNCwweDYwLDB4MWYsMHgyNCwweDA1LDB4NzAsMHgyZiwweDc1LDB4MDgsMHgwMywweDA1LDB4MGUsMHg4NX0sCi0gIDE2LDB4MzEyMCwwLHsweDE4LDB4MDksMHhkMiwweDM3LDB4ODAsMHgyOCwweDc1LDB4MDgsMHgwMiwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHg3NSwweDE0fSwKLSAgMTYsMHgzMTMwLDAsezB4MDEsMHhkMiwweDM3LDB4ODAsMHgxOSwweDc1LDB4MDgsMHgwNSwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHhlNCwweGY1LDB4MGF9LAotICAxNiwweDMxNDAsMCx7MHhmNSwweDBiLDB4NzUsMHgwZSwweDAzLDB4ZDIsMHgzNywweDgwLDB4MDUsMHgxMiwweDRkLDB4ZGEsMHhjMiwweDM1LDB4MzAsMHgzNX0sCi0gIDE2LDB4MzE1MCwwLHsweDBhLDB4ODUsMHgwOCwweDEzLDB4ODUsMHgxOCwweDEyLDB4ODAsMHgwMiwweDA1LDB4MTYsMHg4NSwweDE4LDB4MTksMHhlNSwweDE2fSwKLSAgMTYsMHgzMTYwLDAsezB4NjQsMHgwNCwweDcwLDB4NjIsMHhmNSwweDBlLDB4ZTUsMHgxOSwweDU0LDB4ZjAsMHhmNSwweDE5LDB4ZjUsMHgxNSwweDg1LDB4MTh9LAotICAxNiwweDMxNzAsMCx7MHgxOSwweGU1LDB4MTUsMHgyNCwweDcwLDB4NjAsMHgxOCwweDI0LDB4ZjAsMHg2MCwweDE0LDB4MjQsMHhmMCwweDYwLDB4MTAsMHgyNH0sCi0gIDE2LDB4MzE4MCwwLHsweGYwLDB4NjAsMHgxZSwweDI0LDB4ZjAsMHg2MCwweDFhLDB4MjQsMHhmMCwweDYwLDB4MDQsMHgyNCwweDYwLDB4NzAsMHgyNywweGU1fSwKLSAgMTYsMHgzMTkwLDAsezB4MTUsMHhjNCwweDU0LDB4MGYsMHhmNSwweDE5LDB4ZjUsMHgwOCwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHhkMiwweDM3LDB4ODB9LAotICAxNiwweDMxYTAsMCx7MHgxYSwweGU1LDB4MTUsMHhjNCwweDU0LDB4MGYsMHhmNSwweDE5LDB4ZjUsMHgwOCwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHg3NX0sCi0gIDE2LDB4MzFiMCwwLHsweDE0LDB4MDEsMHhkMiwweDM3LDB4ODAsMHgwNSwweDEyLDB4NGQsMHhkYSwweGMyLDB4MzUsMHgzMCwweDM1LDB4MGEsMHg4NSwweDE5fSwKLSAgMTYsMHgzMWMwLDAsezB4MTMsMHg4NSwweDE4LDB4MTIsMHg4MCwweDAyLDB4MDUsMHgxNiwweGU1LDB4MTYsMHhkMywweDk0LDB4MDUsMHg0MCwweDU3LDB4MTJ9LAotICAxNiwweDMxZDAsMCx7MHg0ZCwweGRhLDB4ODAsMHg1MiwweDMwLDB4MzksMHgxNywweGU1LDB4MGUsMHg3MCwweDBhLDB4ODUsMHgwOCwweDA5LDB4NzUsMHgwOH0sCi0gIDE2LDB4MzFlMCwwLHsweDA0LDB4MDUsMHgwZSwweDgwLDB4NDEsMHg3NCwweDA4LDB4MjUsMHgwZSwweGY4LDB4YTYsMHgxOSwweDgwLDB4MzgsMHgyMCwweDM3fSwKLSAgMTYsMHgzMWYwLDAsezB4MmEsMHhlNSwweDBlLDB4YjQsMHgwMSwweDBmLDB4ODUsMHgwOCwweDBhLDB4ODUsMHgwOSwweDBiLDB4ODUsMHgxMywweDA4LDB4ODV9LAotICAxNiwweDMyMDAsMCx7MHgxMiwweDA5LDB4NzUsMHgwZSwweDA0LDB4ZTUsMHgxNCwweGI0LDB4MDEsMHgxYywweDg1LDB4MDgsMHgwYSwweGU0LDB4ZjUsMHgwYn0sCi0gIDE2LDB4MzIxMCwwLHsweDg1LDB4MTMsMHgwOCwweDg1LDB4MTIsMHgwOSwweDc1LDB4MGUsMHgwNCwweDgwLDB4MGIsMHhlNSwweDE0LDB4YjQsMHgwMSwweDA2fSwKLSAgMTYsMHgzMjIwLDAsezB4ZTQsMHhmNSwweDBiLDB4NzUsMHgwZSwweDA0LDB4ZTQsMHhmNSwweDFhLDB4MzAsMHgzNSwweDAyLDB4MDUsMHgwZSwweGU1LDB4MGV9LAotICAxNiwweDMyMzAsMCx7MHhkMywweDk0LDB4MDMsMHg1MCwweDAyLDB4MDEsMHgwYiwweGMyLDB4MzcsMHhlNCwweGY1LDB4MGUsMHhmNSwweDEwLDB4YzIsMHgzNn0sCi0gIDE2LDB4MzI0MCwwLHsweGQyLDB4M2QsMHhmNSwweDE0LDB4NzQsMHgwOCwweDI1LDB4MTAsMHhmOCwweGU2LDB4ZmYsMHg3NCwweDgwLDB4MjUsMHgxMCwweGY1fSwKLSAgMTYsMHgzMjUwLDAsezB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDc0LDB4MDgsMHgyNSwweDEwLDB4ZjgsMHhlNCwweGY2LDB4MDV9LAotICAxNSwweDMyNjAsMCx7MHgxMCwweGU1LDB4MTAsMHhiNCwweDA0LDB4ZGUsMHg5MCwweDdmLDB4YjcsMHg3NCwweDA0LDB4ZjAsMHgwMSwweDBiLDB4MjJ9LAotICAxNiwweDMyNmYsMCx7MHg5MCwweDc2LDB4MTgsMHhlMCwweGZmLDB4NjQsMHgwNSwweDcwLDB4NDIsMHg5MCwweDc1LDB4YWIsMHhlMCwweGI0LDB4MDEsMHgxOX0sCi0gIDE2LDB4MzI3ZiwwLHsweDkwLDB4NzIsMHgzNywweDc0LDB4MDEsMHhmMCwweGU0LDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MCwweDgwLDB4MzEsMHhmMCwweDkwfSwKLSAgMTYsMHgzMjhmLDAsezB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHg4MCwweDIyLDB4ZTQsMHg5MCwweDcyLDB4MzcsMHhmMCwweDkwLDB4NzV9LAotICAxNiwweDMyOWYsMCx7MHhhZCwweGUwLDB4OTAsMHg3MiwweDJiLDB4ZjAsMHhlMCwweDI0LDB4ODAsMHhmMCwweGUwLDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzJhZiwwLHsweDgwLDB4MzEsMHhmMCwweDkwLDB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHhlZiwweDY0LDB4MDYsMHg2MCwweDAyfSwKLSAgMTYsMHgzMmJmLDAsezB4ODEsMHg5OSwweDkwLDB4NzIsMHgzOSwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4ZmYsMHgyNCwweGZlLDB4OTB9LAotICAxNiwweDMyY2YsMCx7MHg3MiwweDA0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MzJkZiwwLHsweDgzLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHg1NCwweDkwLDB4NzIsMHgzNiwweDA0LDB4ZjAsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZmfSwKLSAgMTYsMHgzMmVmLDAsezB4MjQsMHhmZCwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgyNCwweDI0LDB4MDMsMHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MWN9LAotICAxNiwweDMyZmYsMCx7MHg4MSwweDhjLDB4NzQsMHgyMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzQsMHgyOH0sCi0gIDE2LDB4MzMwZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4ODEsMHg4YywweDkwLDB4NzIsMHgwNCwweGUwfSwKLSAgMTYsMHgzMzFmLDAsezB4ZmYsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzQsMHgzOCwweDJmLDB4ZjV9LAotICAxNiwweDMzMmYsMCx7MHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4ODEsMHg4YywweGU0LDB4OTAsMHg3MiwweDM2LDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzMzZiwwLHsweDcyLDB4MzksMHhlMCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgzMzRmLDAsezB4ZTAsMHhmZiwweDdlLDB4MDAsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4NzAsMHgwNiwweDkwLDB4NzJ9LAotICAxNiwweDMzNWYsMCx7MHgwMiwweDc0LDB4M2IsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg2NCwweDgwLDB4NGUsMHg3MH0sCi0gIDE2LDB4MzM2ZiwwLHsweDA0LDB4OTAsMHg3MiwweDAyLDB4ZjAsMHhlZiwweDRlLDB4NzAsMHgwMiwweDgxLDB4MzUsMHhlZiwweDY0LDB4ODAsMHg0ZSwweDcwfSwKLSAgMTYsMHgzMzdmLDAsezB4MDIsMHg4MSwweDM1LDB4ZWYsMHhmOCwweGU0LDB4OTAsMHg3NSwweDBkLDB4ZjAsMHhlOCwweDkwLDB4NzUsMHgwYywweGYwLDB4OTB9LAotICAxNiwweDMzOGYsMCx7MHg3MiwweDM0LDB4ZTAsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MzM5ZiwwLHsweGUwLDB4ZmYsMHg5MCwweDcyLDB4MDIsMHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MmYsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwfSwKLSAgMTYsMHgzM2FmLDAsezB4MzQsMHgwMCwweGYwLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweDdiLDB4ZDYsMHg3YSwweGE1LDB4Zjl9LAotICAxNiwweDMzYmYsMCx7MHhmOCwweGQzLDB4MTIsMHgzNywweDk1LDB4NDAsMHgwYSwweDkwLDB4NzUsMHgwYywweDc0LDB4YTUsMHhmMCwweGEzLDB4NzQsMHhkNn0sCi0gIDE2LDB4MzNjZiwwLHsweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyNCwweDJhLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4NWEsMHhmMCwweGUwfSwKLSAgMTYsMHgzM2RmLDAsezB4ZmUsMHhhMywweGUwLDB4NzgsMHgwNSwweGNlLDB4YTIsMHhlNywweDEzLDB4Y2UsMHgxMywweGQ4LDB4ZjgsMHhmZiwweDkwLDB4NzV9LAotICAxNiwweDMzZWYsMCx7MHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4ZDMsMHg5NH0sCi0gIDE2LDB4MzNmZiwwLHsweGQyLDB4ZWUsMHg2NCwweDgwLDB4OTQsMHg4MiwweDQwLDB4MGEsMHg5MCwweDcyLDB4MmMsMHg3NCwweDAyLDB4ZjAsMHhhMywweDc0fSwKLSAgMTYsMHgzNDBmLDAsezB4ZDIsMHhmMCwweGMzLDB4OTAsMHg3MiwweDJjLDB4ZTAsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDQsMHhlNCwweGYwLDB4YTN9LAotICAxNiwweDM0MWYsMCx7MHhmMCwweDkwLDB4NzIsMHgyYywweGUwLDB4ZmUsMHhhMywweGUwLDB4MjQsMHgzYSwweGY1LDB4ODIsMHhlZSwweDM0LDB4NzIsMHhmNX0sCi0gIDE2LDB4MzQyZiwwLHsweDgzLDB4ZTAsMHg5MCwweDcyLDB4MDIsMHhmMCwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmYsMHgyNCwweGZkLDB4NjAsMHgyZCwweDI0fSwKLSAgMTYsMHgzNDNmLDAsezB4ZmUsMHg2MCwweDI5LDB4MjQsMHgwMywweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgyMSwweDgwLDB4NDAsMHg5MCwweDcyLDB4MDJ9LAotICAxNiwweDM0NGYsMCx7MHhlMCwweGZlLDB4NzQsMHgyMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHgyOH0sCi0gIDE2LDB4MzQ1ZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzIsMHgwMiwweGUwfSwKLSAgMTYsMHgzNDZmLDAsezB4ZmYsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZlLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDM0N2YsMCx7MHhmMCwweDc0LDB4MzgsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzIsMHgzOX0sCi0gIDExLDB4MzQ4ZiwwLHsweGUwLDB4MDQsMHhmMCwweGUwLDB4NjQsMHgwYSwweDYwLDB4MDIsMHg0MSwweGM3LDB4MjJ9LAotICAxNiwweDM0OWEsMCx7MHg5MCwweDc2LDB4MTgsMHhlMCwweGZmLDB4YjQsMHgwNSwweDIzLDB4OTAsMHg3MiwweDM3LDB4ZTAsMHg3MCwweDFkLDB4OTAsMHg3NX0sCi0gIDE2LDB4MzRhYSwwLHsweGFkLDB4ZTAsMHg5MCwweDcyLDB4MmIsMHhmMCwweGUwLDB4MjQsMHg4MCwweGYwLDB4ZTAsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwfSwKLSAgMTYsMHgzNGJhLDAsezB4ODAsMHgzMSwweGYwLDB4OTAsMHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweGVmLDB4NjQsMHgwNiwweDYwLDB4MDJ9LAotICAxNiwweDM0Y2EsMCx7MHhjMSwweDkxLDB4OTAsMHg3MiwweDM2LDB4ZTAsMHg2MCwweDAyLDB4YzEsMHg5MSwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgzMX0sCi0gIDE2LDB4MzRkYSwwLHsweDkwLDB4NzIsMHgwMywweDc0LDB4MDMsMHhmMCwweDkwLDB4NzIsMHgwMywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0fSwKLSAgMTYsMHgzNGVhLDAsezB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDcyLDB4MjksMHhlMCwweGZkLDB4ZWV9LAotICAxNiwweDM0ZmEsMCx7MHg2ZCwweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYSwweDUwLDB4MDgsMHg5MCwweDcyLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg4MH0sCi0gIDE2LDB4MzUwYSwwLHsweGQ1LDB4OTAsMHg3MiwweDM5LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDA4LDB4OTAsMHg3MiwweDAzfSwKLSAgMTYsMHgzNTFhLDAsezB4ZTAsMHg5MCwweDcyLDB4MzksMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4ZmQsMHgyNCwweGZlLDB4OTAsMHg3MiwweDJhLDB4ZjB9LAotICAxNiwweDM1MmEsMCx7MHhlZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZn0sCi0gIDE2LDB4MzUzYSwwLHsweDdlLDB4MDAsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4NzAsMHgwNiwweDkwLDB4NzIsMHgwMiwweDc0fSwKLSAgMTYsMHgzNTRhLDAsezB4ODAsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg2NCwweDgwLDB4NGUsMHg3MCwweDA0LDB4OTB9LAotICAxNiwweDM1NWEsMCx7MHg3MiwweDAyLDB4ZjAsMHhlZiwweDRlLDB4NzAsMHgwMiwweGMxLDB4MWIsMHhlZiwweDY0LDB4ODAsMHg0ZSwweDcwLDB4MDIsMHhjMX0sCi0gIDE2LDB4MzU2YSwwLHsweDFiLDB4ZWYsMHhmOCwweGU0LDB4OTAsMHg3NSwweDBkLDB4ZjAsMHhlOCwweDkwLDB4NzUsMHgwYywweGYwLDB4ZWQsMHg3NSwweGYwfSwKLSAgMTYsMHgzNTdhLDAsezB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDcyLDB4MDJ9LAotICAxNiwweDM1OGEsMCx7MHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MmYsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4MzQsMHgwMCwweGYwLDB4ZTAsMHhmZX0sCi0gIDE2LDB4MzU5YSwwLHsweGEzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweDdiLDB4ZDYsMHg3YSwweGE1LDB4ZjksMHhmOCwweGQzLDB4MTIsMHgzNywweDk1fSwKLSAgMTYsMHgzNWFhLDAsezB4NDAsMHgwYSwweDkwLDB4NzUsMHgwYywweDc0LDB4YTUsMHhmMCwweGEzLDB4NzQsMHhkNiwweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTB9LAotICAxNiwweDM1YmEsMCx7MHgyNCwweDJhLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4NWEsMHhmMCwweGUwLDB4ZmUsMHhhMywweGUwLDB4NzgsMHgwNX0sCi0gIDE2LDB4MzVjYSwwLHsweGNlLDB4YTIsMHhlNywweDEzLDB4Y2UsMHgxMywweGQ4LDB4ZjgsMHhmZiwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmfSwKLSAgMTYsMHgzNWRhLDAsezB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4ZDMsMHg5NCwweGQyLDB4ZWUsMHg2NCwweDgwLDB4OTR9LAotICAxNiwweDM1ZWEsMCx7MHg4MiwweDQwLDB4MGEsMHg5MCwweDcyLDB4MmMsMHg3NCwweDAyLDB4ZjAsMHhhMywweDc0LDB4ZDIsMHhmMCwweGMzLDB4OTAsMHg3Mn0sCi0gIDE2LDB4MzVmYSwwLHsweDJjLDB4ZTAsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDQsMHhlNCwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzIsMHgyYywweGUwfSwKLSAgMTYsMHgzNjBhLDAsezB4ZmUsMHhhMywweGUwLDB4MjQsMHgzYSwweGY1LDB4ODIsMHhlZSwweDM0LDB4NzIsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDcyLDB4MDJ9LAotICAxNiwweDM2MWEsMCx7MHhmMCwweDkwLDB4NzIsMHgyYSwweGUwLDB4ZmYsMHgyNCwweGZkLDB4NjAsMHgyZCwweDI0LDB4ZmUsMHg2MCwweDI5LDB4MjQsMHgwM30sCi0gIDE2LDB4MzYyYSwwLHsweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgyMSwweDgwLDB4NDAsMHg5MCwweDcyLDB4MDIsMHhlMCwweGZlLDB4NzQsMHgyMCwweDJmfSwKLSAgMTYsMHgzNjNhLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHgyOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDM2NGEsMCx7MHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzIsMHgwMiwweGUwLDB4ZmYsMHg5MCwweDcyLDB4MmEsMHhlMH0sCi0gIDE2LDB4MzY1YSwwLHsweGZlLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDc0LDB4MzgsMHgyZSwweGY1fSwKLSAgMTYsMHgzNjZhLDAsezB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgwNiwweDkwLDB4NzJ9LAotICAxNiwweDM2N2EsMCx7MHgzOSwweDc0LDB4MGEsMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4MDQsMHhmMCwweGUwLDB4YzMsMHg5NCwweDBhLDB4NTAsMHgwMn0sCi0gICA4LDB4MzY4YSwwLHsweGExLDB4MTEsMHhlNCwweDkwLDB4NzYsMHg0MCwweGYwLDB4MjJ9LAotICAxNiwweDM2OTIsMCx7MHhiYiwweDAxLDB4MDYsMHg4OSwweDgyLDB4OGEsMHg4MywweGUwLDB4MjIsMHg1MCwweDAyLDB4ZTcsMHgyMiwweGJiLDB4ZmUsMHgwMn0sCi0gICA5LDB4MzZhMiwwLHsweGUzLDB4MjIsMHg4OSwweDgyLDB4OGEsMHg4MywweGU0LDB4OTMsMHgyMn0sCi0gIDE2LDB4MzZhYiwwLHsweGJiLDB4MDEsMHgwYywweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHgyMiwweDUwfSwKLSAgMTYsMHgzNmJiLDAsezB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGU2LDB4MjIsMHhiYiwweGZlLDB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4MjJ9LAotICAxMywweDM2Y2IsMCx7MHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGU0LDB4OTMsMHgyMn0sCi0gIDE2LDB4MzZkOCwwLHsweGMyLDB4ZDUsMHhlYywweDMwLDB4ZTcsMHgwOSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweGVlfSwKLSAgMTYsMHgzNmU4LDAsezB4MzAsMHhlNywweDE1LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MTIsMHgzOCwweDFmLDB4YzN9LAotICAxNiwweDM2ZjgsMCx7MHhlNCwweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHg4MCwweDAzLDB4MTIsMHgzOCwweDFmLDB4MzAsMHhkNSwweDA3LDB4YzMsMHhlNH0sCi0gICA2LDB4MzcwOCwwLHsweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgyMn0sCi0gIDE2LDB4MzcwZSwwLHsweGJiLDB4MDEsMHgxMCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHhmNSwweGYwfSwKLSAgMTYsMHgzNzFlLDAsezB4YTMsMHhlMCwweDIyLDB4NTAsMHgwOSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ODYsMHhmMCwweDA4LDB4ZTYsMHgyMiwweGJiLDB4ZmV9LAotICAxNiwweDM3MmUsMCx7MHgwYSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHhmNSwweGYwLDB4MDgsMHhlMiwweDIyLDB4ZTUsMHg4MywweDJhLDB4ZjUsMHg4M30sCi0gICA4LDB4MzczZSwwLHsweGU5LDB4OTMsMHhmNSwweGYwLDB4YTMsMHhlOSwweDkzLDB4MjJ9LAotICAxNiwweDM3NDYsMCx7MHhlOCwweDhmLDB4ZjAsMHhhNCwweGNjLDB4OGIsMHhmMCwweGE0LDB4MmMsMHhmYywweGU5LDB4OGUsMHhmMCwweGE0LDB4MmMsMHhmY30sCi0gIDE2LDB4Mzc1NiwwLHsweDhhLDB4ZjAsMHhlZCwweGE0LDB4MmMsMHhmYywweGVhLDB4OGUsMHhmMCwweGE0LDB4Y2QsMHhhOCwweGYwLDB4OGIsMHhmMCwweGE0fSwKLSAgMTYsMHgzNzY2LDAsezB4MmQsMHhjYywweDM4LDB4MjUsMHhmMCwweGZkLDB4ZTksMHg4ZiwweGYwLDB4YTQsMHgyYywweGNkLDB4MzUsMHhmMCwweGZjLDB4ZWJ9LAotICAxNiwweDM3NzYsMCx7MHg4ZSwweGYwLDB4YTQsMHhmZSwweGE5LDB4ZjAsMHhlYiwweDhmLDB4ZjAsMHhhNCwweGNmLDB4YzUsMHhmMCwweDJlLDB4Y2QsMHgzOX0sCi0gIDE1LDB4Mzc4NiwwLHsweGZlLDB4ZTQsMHgzYywweGZjLDB4ZWEsMHhhNCwweDJkLDB4Y2UsMHgzNSwweGYwLDB4ZmQsMHhlNCwweDNjLDB4ZmMsMHgyMn0sCi0gIDE2LDB4Mzc5NSwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGVjLDB4NjQsMHg4MCwweGM4fSwKLSAgIDYsMHgzN2E1LDAsezB4NjQsMHg4MCwweDk4LDB4NDUsMHhmMCwweDIyfSwKLSAgMTYsMHgzN2FiLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9LAotICAgMSwweDM3YmIsMCx7MHgyMn0sCi0gIDEyLDB4MzdiYywwLHsweGVjLDB4ZjAsMHhhMywweGVkLDB4ZjAsMHhhMywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MzdjOCwwLHsweGE4LDB4ODIsMHg4NSwweDgzLDB4ZjAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDEyLDB4MzcsMHhkZiwweDEyLDB4MzcsMHhkZiwweDEyfSwKLSAgMTYsMHgzN2Q4LDAsezB4MzcsMHhkZiwweDEyLDB4MzcsMHhkZiwweGU0LDB4NzMsMHhlNCwweDkzLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODN9LAotICAxNiwweDM3ZTgsMCx7MHhjOCwweGM1LDB4ODIsMHhjOCwweGYwLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODMsMHhjOCwweGM1LDB4ODIsMHhjOH0sCi0gICAxLDB4MzdmOCwwLHsweDIyfSwKLSAgMTYsMHgzN2Y5LDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhmOCwweGU0LDB4OTMsMHg3MCwweDEyLDB4NzQsMHgwMSwweDkzLDB4NzAsMHgwZCwweGEzLDB4YTN9LAotICAxNiwweDM4MDksMCx7MHg5MywweGY4LDB4NzQsMHgwMSwweDkzLDB4ZjUsMHg4MiwweDg4LDB4ODMsMHhlNCwweDczLDB4NzQsMHgwMiwweDkzLDB4NjgsMHg2MH0sCi0gICA2LDB4MzgxOSwwLHsweGVmLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkZn0sCi0gIDE2LDB4MzgxZiwwLHsweGJjLDB4MDAsMHgwYiwweGJlLDB4MDAsMHgyOSwweGVmLDB4OGQsMHhmMCwweDg0LDB4ZmYsMHhhZCwweGYwLDB4MjIsMHhlNCwweGNjfSwKLSAgMTYsMHgzODJmLDAsezB4ZjgsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmLDB4ZmYsMHhlZSwweDMzLDB4ZmUsMHhlYywweDMzLDB4ZmMsMHhlZSwweDlkLDB4ZWN9LAotICAxNiwweDM4M2YsMCx7MHg5OCwweDQwLDB4MDUsMHhmYywweGVlLDB4OWQsMHhmZSwweDBmLDB4ZDUsMHhmMCwweGU5LDB4ZTQsMHhjZSwweGZkLDB4MjIsMHhlZH0sCi0gIDE2LDB4Mzg0ZiwwLHsweGY4LDB4ZjUsMHhmMCwweGVlLDB4ODQsMHgyMCwweGQyLDB4MWMsMHhmZSwweGFkLDB4ZjAsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmfSwKLSAgMTYsMHgzODVmLDAsezB4ZmYsMHhlZCwweDMzLDB4ZmQsMHg0MCwweDA3LDB4OTgsMHg1MCwweDA2LDB4ZDUsMHhmMCwweGYyLDB4MjIsMHhjMywweDk4LDB4ZmR9LAotICAgNSwweDM4NmYsMCx7MHgwZiwweGQ1LDB4ZjAsMHhlYSwweDIyfSwKLSAgMTYsMHgzODc0LDAsezB4ZTQsMHg5MCwweDc2LDB4MjksMHhmMCwweDkwLDB4NzYsMHgyOSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9LAotICAxNiwweDM4ODQsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4Mzg5NCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjksMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHgzOGE0LDAsezB4ZWYsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MGZ9LAotICAxNiwweDM4YjQsMCx7MHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDJhLDB4ZjAsMHgyNH0sCi0gIDE2LDB4MzhjNCwwLHsweGJmLDB4NzAsMHgwMiwweDQxLDB4NDEsMHgyNCwweGUwLDB4NzAsMHgwMiwweDQxLDB4MTIsMHgyNCwweDIxLDB4NjAsMHgwMiwweDQxfSwKLSAgMTYsMHgzOGQ0LDAsezB4M2EsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDdkLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhiMiwweDI0LDB4MDJ9LAotICAxNiwweDM4ZTQsMCx7MHg2MCwweDAyLDB4NDEsMHgwYSwweDEyLDB4MTcsMHg1MSwweDkwLDB4NzYsMHg0MiwweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhM30sCi0gIDE2LDB4MzhmNCwwLHsweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1fSwKLSAgMTYsMHgzOTA0LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDF9LAotICAxNiwweDM5MTQsMCx7MHgxMiwweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweDkwLDB4NzYsMHg3ZCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHg3ZX0sCi0gIDE2LDB4MzkyNCwwLHsweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBmLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweDkwLDB4NzYsMHg3ZCwweGYwfSwKLSAgMTYsMHgzOTM0LDAsezB4OTAsMHg3NiwweDdlLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGYsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4OTB9LAotICAxNiwweDM5NDQsMCx7MHg3NiwweDdkLDB4ZjAsMHg5MCwweDc2LDB4N2UsMHg3NCwweDE4LDB4ZjAsMHg5MCwweDc2LDB4MWEsMHg3NCwweDAxLDB4ZjAsMHgxMn0sCi0gIDE2LDB4Mzk1NCwwLHsweDNlLDB4OWYsMHgxMiwweDE4LDB4MDAsMHgyMiwweDkwLDB4N2UsMHhjMiwweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZifSwKLSAgMTYsMHgzOTY0LDAsezB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDM3LDB4NDYsMHhjOCwweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2F9LAotICAxNiwweDM5NzQsMCx7MHhjYiwweGVmLDB4Y2IsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZlLDB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYX0sCi0gIDE2LDB4Mzk4NCwwLHsweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmfSwKLSAgMTYsMHgzOTk0LDAsezB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOCwweGZjLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGZ9LAotICAxNiwweDM5YTQsMCx7MHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDIyLDB4OTAsMHg3ZX0sCi0gIDE2LDB4MzliNCwwLHsweGMyLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MzcsMHg0NiwweGM4fSwKLSAgMTYsMHgzOWM0LDAsezB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmV9LAotICAxNiwweDM5ZDQsMCx7MHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTAsMHg3ZX0sCi0gIDE2LDB4MzllNCwwLHsweGMwLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlYywweDM4fSwKLSAgMTYsMHgzOWY0LDAsezB4ZmMsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhMDQsMCx7MHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gIDE2LDB4M2ExNCwwLHsweGU5LDB4ZTAsMHgxNCwweDcwLDB4MTksMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwfSwKLSAgMTYsMHgzYTI0LDAsezB4MGYsMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNCwweDNhMzQsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHgzYTQyLDAsezB4ZTQsMHg5MCwweDc2LDB4MzUsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4ZmYsMHhjMywweDk0LDB4MDMsMHg0MCwweDAyLDB4NDF9LAotICAxNiwweDNhNTIsMCx7MHhmZiwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn0sCi0gIDE2LDB4M2E2MiwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0fSwKLSAgMTYsMHgzYTcyLDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9LAotICAxNiwweDNhODIsMCx7MHhmMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4M2E5MiwwLHsweDc0LDB4ZmYsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYWEyLDAsezB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDNhYjIsMCx7MHg4MywweDc0LDB4ODAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2FjMiwwLHsweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYWQyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhZTIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2FmMiwwLHsweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweDA0LDB4ZjAsMHg0MSwweDQ3LDB4OTAsMHg3NiwweDNjfSwKLSAgMTYsMHgzYjAyLDAsezB4NzQsMHgwYSwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3NiwweDM1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDNjLDB4ZTB9LAotICAxNiwweDNiMTIsMCx7MHhmZiwweDkwLDB4NzYsMHgzNSwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDYxLDB4ZDIsMHg5MCwweDc2LDB4M2QsMHhlMH0sCi0gIDE2LDB4M2IyMiwwLHsweGZmLDB4MDQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYjMyLDAsezB4ODMsMHhlZiwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDNiNDIsMCx7MHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4M2I1MiwwLHsweDgzLDB4NzQsMHg1ZSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYjYyLDAsezB4ZjUsMHg4MywweDc0LDB4YmEsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDNiNzIsMCx7MHg3NSwweGY1LDB4ODMsMHg3NCwweDA1LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4M2I4MiwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyfSwKLSAgMTYsMHgzYjkyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODJ9LAotICAxNiwweDNiYTIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4M2JiMiwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDE1LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1fSwKLSAgMTYsMHgzYmMyLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4MDQsMHhmMCwweDYxLDB4MGV9LAotICAgMSwweDNiZDIsMCx7MHgyMn0sCi0gIDE2LDB4M2JkMywwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZiLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgzYmUzLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODJ9LAotICAxNiwweDNiZjMsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwYSwweGYwLDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNX0sCi0gIDE2LDB4M2MwMywwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDAsMHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwfSwKLSAgMTYsMHgzYzEzLDAsezB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDB9LAotICAxNiwweDNjMjMsMCx7MHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4M2MzMywwLHsweDEyLDB4MzcsMHhjOCwweDAwLDB4MDEsMHg3NywweDAwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmYiwweDc1fSwKLSAgMTYsMHgzYzQzLDAsezB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWJ9LAotICAxNiwweDNjNTMsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4OGMsMHhmMH0sCi0gIDE2LDB4M2M2MywwLHsweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3fSwKLSAgMTYsMHgzYzczLDAsezB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDNjODMsMCx7MHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNH0sCi0gIDE2LDB4M2M5MywwLHsweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwfSwKLSAgMTYsMHgzY2EzLDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDNjYjMsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4M2NjMywwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDhmLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmfSwKLSAgMTYsMHgzY2QzLDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQxLDB4ZjB9LAotICAxNiwweDNjZTMsMCx7MHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4NH0sCi0gIDE2LDB4M2NmMywwLHsweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1fSwKLSAgMTYsMHgzZDAzLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg2MSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9LAotICAxNiwweDNkMTMsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODEsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMH0sCi0gIDE2LDB4M2QyMywwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fSwKLSAgMTYsMHgzZDMzLDAsezB4NjEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAgNCwweDNkNDMsMCx7MHg3NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4M2Q0NywwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSwKLSAgMTYsMHgzZDU3LDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9LAotICAxNiwweDNkNjcsMCx7MHhjMCwweGUwLDB4OTAsMHg3ZiwweGEyLDB4ZTAsMHg5MCwweDc2LDB4N2YsMHhmMCwweDkwLDB4N2YsMHg3NCwweGUwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4M2Q3NywwLHsweDg3LDB4ZjAsMHg5MCwweDdmLDB4NzUsMHhlMCwweDkwLDB4NzYsMHg4OCwweGYwLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDAyfSwKLSAgMTYsMHgzZDg3LDAsezB4ZjAsMHg5MCwweDc2LDB4OTYsMHhlMCwweGZmLDB4MjAsMHhlMSwweDBjLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjB9LAotICAxNiwweDNkOTcsMCx7MHhkMiwweDMyLDB4MTIsMHg0YiwweDI4LDB4OTAsMHg3NiwweDdmLDB4ZTAsMHgyMCwweGUyLDB4NTAsMHg5MCwweDc2LDB4ODcsMHhlMH0sCi0gIDE2LDB4M2RhNywwLHsweGZlLDB4YTMsMHhlMCwweDdjLDB4MDAsMHgyNCwweDAwLDB4ZjUsMHgzNCwweGVjLDB4M2UsMHhmNSwweDMzLDB4OTAsMHg3NiwweDk4fSwKLSAgMTYsMHgzZGI3LDAsezB4ZTAsMHhmZCwweGFlLDB4MzMsMHhhZiwweDM0LDB4MTIsMHgzNiwweGQ4LDB4OTAsMHg3NiwweDg3LDB4ZWYsMHhmMCwweGQyLDB4MmZ9LAotICAxNiwweDNkYzcsMCx7MHgzMCwweDMxLDB4MjksMHgyMCwweDNmLDB4MjYsMHhjMiwweDMxLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg1NCwweGNmLDB4ZjAsMHg5MH0sCi0gIDE2LDB4M2RkNywwLHsweDdmLDB4OWEsMHhlMCwweDMwLDB4ZTQsMHgwNCwweGQyLDB4MmQsMHhjMiwweDJjLDB4OTAsMHg3ZiwweDlhLDB4ZTAsMHgyMCwweGU1fSwKLSAgMTYsMHgzZGU3LDAsezB4MDQsMHhjMiwweDJkLDB4ZDIsMHgyYywweDkwLDB4N2YsMHg5NCwweGUwLDB4NDQsMHgzMCwweGYwLDB4MTIsMHg0OCwweGJkLDB4MTJ9LAotICAxNiwweDNkZjcsMCx7MHgxYiwweDA0LDB4MzAsMHgyZiwweDEyLDB4MTIsMHg0MiwweDFmLDB4YzIsMHgyZiwweDc1LDB4ZTgsMHgwMSwweDEyLDB4MTYsMHg4YX0sCi0gIDE2LDB4M2UwNywwLHsweDc1LDB4ZTgsMHgwZCwweGQyLDB4MmIsMHg4MCwweDA1LDB4NzUsMHhlOCwweDAxLDB4YzIsMHgyYiwweDIwLDB4MmIsMHgzNCwweDkwfSwKLSAgMTYsMHgzZTE3LDAsezB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHhhMywweDc0LDB4MDZ9LAotICAxNiwweDNlMjcsMCx7MHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGIsMHg5MCwweDc2LDB4N2MsMHhlNCwweGYwLDB4YTMsMHhmMH0sCi0gIDE2LDB4M2UzNywwLHsweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGIsMHg5MCwweDc2LDB4N2MsMHhlNCwweGYwLDB4YTMsMHhmMCwweGEzfSwKLSAgMTYsMHgzZTQ3LDAsezB4NzQsMHgxOCwweGYwLDB4NzUsMHhjYSwweGQzLDB4NzUsMHhjYiwweGZlLDB4ZDIsMHhjYSwweDMwLDB4MzQsMHgwNCwweGMyLDB4MzR9LAotICAxNiwweDNlNTcsMCx7MHg4MCwweDAyLDB4ZDIsMHgzNCwweDMwLDB4MzQsMHgwZCwweDkwLDB4NzYsMHg4OSwweGUwLDB4YzMsMHg5NCwweDAzLDB4NDAsMHgwNH0sCi0gIDE2LDB4M2U2NywwLHsweGUwLDB4MjQsMHhmZCwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgzZTc3LDAsezB4OTgsMHhlMCwweDU0LDB4ZmQsMHhmMCwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTB9LAotICAxNiwweDNlODcsMCx7MHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLDB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMH0sCi0gICA4LDB4M2U5NywwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDNlOWYsMCx7MHg5MCwweDc2LDB4OTIsMHhlMCwweDE0LDB4NjAsMHgxZCwweDE0LDB4NzAsMHgwMiwweGUxLDB4NTQsMHgyNCwweDAyLDB4NjAsMHgwMn0sCi0gIDE2LDB4M2VhZiwwLHsweGUxLDB4ZTQsMHg5MCwweDc2LDB4OTQsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweGU0LDB4OTAsMHg3NiwweDhlfSwKLSAgMTYsMHgzZWJmLDAsezB4ZjAsMHhkMiwweDMxLDB4MjIsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjJ9LAotICAxNiwweDNlY2YsMCx7MHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5N30sCi0gIDE2LDB4M2VkZiwwLHsweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwfSwKLSAgMTYsMHgzZWVmLDAsezB4OTAsMHg3ZiwweGYzLDB4NzQsMHgzNCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTB9LAotICAxNiwweDNlZmYsMCx7MHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgxOCwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MH0sCi0gIDE2LDB4M2YwZiwwLHsweDdmLDB4ZjMsMHg3NCwweDY0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0fSwKLSAgMTYsMHgzZjFmLDAsezB4MDQsMHhmMCwweDkwLDB4NzYsMHg5NCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHgzMCwweDNmLDB4MDl9LAotICAxNiwweDNmMmYsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gIDE2LDB4M2YzZiwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgzZjRmLDAsezB4OGUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MWIsMHhlNCwweDkwLDB4N2Z9LAotICAxNiwweDNmNWYsMCx7MHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg0NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4M2Y2ZiwwLHsweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyfSwKLSAgMTYsMHgzZjdmLDAsezB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDRjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDNmOGYsMCx7MHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMywweDE4LDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMH0sCi0gIDE2LDB4M2Y5ZiwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4OTQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwfSwKLSAgMTYsMHgzZmFmLDAsezB4NDQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDk0LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweDMwLDB4M2Z9LAotICAxNiwweDNmYmYsMCx7MHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMX0sCi0gIDE2LDB4M2ZjZiwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5OCwweDc0LDB4MDYsMHhmMCwweDkwfSwKLSAgIDYsMHgzZmRmLDAsezB4NzYsMHg4ZSwweDc0LDB4MDIsMHhmMCwweDIyfSwKLSAgMTYsMHgzZmU1LDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4ODIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDkxLDB4ZjAsMHg5MCwweDc2LDB4OTJ9LAotICAxMSwweDNmZjUsMCx7MHhmMCwweDkwLDB4NzYsMHg5MCwweGYwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHhkMywweDIyfSwKLSAgMTYsMHg0MDAwLDAsezB4ZTUsMHgxMSwweGQzLDB4OTQsMHgwMCwweDUwLDB4MDIsMHgyMSwweDA2LDB4OTAsMHg3NiwweDg5LDB4ZTAsMHhjMywweDk0LDB4MDh9LAotICAxNiwweDQwMTAsMCx7MHg0MCwweDAyLDB4MjEsMHgwNiwweDc0LDB4NDAsMHgyNSwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMH0sCi0gIDE2LDB4NDAyMCwwLHsweGY1LDB4MTcsMHhlNSwweDBkLDB4NjAsMHgwZSwweDkwLDB4ODAsMHgwNSwweGU1LDB4MTcsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwfSwKLSAgMTYsMHg0MDMwLDAsezB4MDQsMHhmMCwweDAxLDB4ZGEsMHhlNSwweDE3LDB4MTIsMHgzNywweGY5LDB4NDAsMHhjMSwweDAyLDB4NDAsMHg2NywweDA1LDB4NDB9LAotICAxNiwweDQwNDAsMCx7MHg3YSwweDA2LDB4NDAsMHg5OCwweDA3LDB4NDAsMHhjMSwweDBjLDB4NDAsMHhjMSwweDBkLDB4NDAsMHhjNywweDBmLDB4NDAsMHhjYn0sCi0gIDE2LDB4NDA1MCwwLHsweGY2LDB4NDAsMHhjYiwweGY4LDB4NDAsMHhjYiwweGZhLDB4NDAsMHhjYiwweGZiLDB4NDAsMHhjYiwweGZjLDB4NDAsMHhjYiwweGZlfSwKLSAgMTYsMHg0MDYwLDAsezB4NDAsMHhjYiwweGZmLDB4MDAsMHgwMCwweDQwLDB4ZGEsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTB9LAotICAxNiwweDQwNzAsMCx7MHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODAsMHg2MCwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MH0sCi0gIDE2LDB4NDA4MCwwLHsweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDIsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwfSwKLSAgMTYsMHg0MDkwLDAsezB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODAsMHg0MiwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjB9LAotICAxNiwweDQwYTAsMCx7MHg5MCwweDdlLDB4NDIsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3ZSwweDQzLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMH0sCi0gIDE2LDB4NDBiMCwwLHsweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwfSwKLSAgMTYsMHg0MGMwLDAsezB4MTksMHhkMiwweDNiLDB4ZDIsMHgzYywweDgwLDB4MTMsMHhkMiwweDNiLDB4ODAsMHgwZiwweDkwLDB4ODAsMHgwNSwweGU1LDB4MTd9LAotICAxNiwweDQwZDAsMCx7MHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDIwLDB4M2IsMHgwNCwweDA1LDB4MGQsMHg4MH0sCi0gIDE2LDB4NDBlMCwwLHsweDFmLDB4MzAsMHgzYywweDFjLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MiwweGUwfSwKLSAgMTYsMHg0MGYwLDAsezB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDF9LAotICAxNiwweDQxMDAsMCx7MHgwNSwweDBmLDB4MTUsMHgxMSwweDAxLDB4MDAsMHhlNSwweDExLDB4NzAsMHgxMCwweGMyLDB4MzMsMHhmNSwweDBkLDB4ZjUsMHgwZn0sCi0gIDExLDB4NDExMCwwLHsweDkwLDB4N2YsMHhjNywweDc0LDB4MDQsMHhmMCwweGMyLDB4M2IsMHhjMiwweDNjLDB4MjJ9LAotICAxNiwweDQxMWIsMCx7MHg5MCwweDc2LDB4OGQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDI3LDB4MzAsMHgyNywweDA4LDB4YzIsMHgyNywweDEyLDB4MDgsMHgwMH0sCi0gIDE2LDB4NDEyYiwwLHsweDEyLDB4MTcsMHg0YSwweDMwLDB4MjgsMHgwOCwweGMyLDB4MjgsMHgxMiwweDM4LDB4NzQsMHgxMiwweDE3LDB4NGEsMHgzMCwweDJhfSwKLSAgMTYsMHg0MTNiLDAsezB4MGUsMHhlNCwweDkwLDB4NzYsMHg4ZCwweGYwLDB4YzIsMHgyYSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMiwweGYwLDB4OTB9LAotICAxNiwweDQxNGIsMCx7MHg3NiwweDNmLDB4ZTAsMHhiNCwweDAxLDB4MDUsMHhlNCwweGYwLDB4MTIsMHgzMiwweDZmLDB4OTAsMHg3NiwweDQxLDB4ZTAsMHhiNH0sCi0gIDE2LDB4NDE1YiwwLHsweDAxLDB4MDUsMHhlNCwweGYwLDB4MTIsMHgzNCwweDlhLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgxMiwweDM0fSwKLSAgMTYsMHg0MTZiLDAsezB4OWEsMHgxMiwweDMwLDB4MDAsMHgzMCwweDMzLDB4MDMsMHgxMiwweDQwLDB4MDAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDIwLDB4ZTR9LAotICAxNiwweDQxN2IsMCx7MHgwMiwweGMyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweDMwLDB4ZTQsMHgwMiwweGQyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMH0sCi0gIDE2LDB4NDE4YiwwLHsweDIwLDB4ZTUsMHgwMiwweGMyLDB4M2UsMHg5MCwweDdmLDB4OWIsMHhlMCwweDMwLDB4ZTUsMHgwMiwweGQyLDB4M2UsMHhhMiwweDQxfSwKLSAgMTYsMHg0MTliLDAsezB4MzAsMHgzZiwweDAxLDB4YjMsMHg1MCwweDFmLDB4YTIsMHgzZiwweDkyLDB4NDEsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDQxYWIsMCx7MHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5N30sCi0gIDE2LDB4NDFiYiwwLHsweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHgzMCwweDNmLDB4MzQsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlfSwKLSAgMTYsMHg0MWNiLDAsezB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4YTMsMHg3NCwweDA2LDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjR9LAotICAxNiwweDQxZGIsMCx7MHgwMiwweDBiLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwM30sCi0gIDE2LDB4NDFlYiwwLHsweDBiLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4MTgsMHhmMCwweGEyLDB4NDAsMHgzMCwweDNlfSwKLSAgMTYsMHg0MWZiLDAsezB4MDEsMHhiMywweDUwLDB4MWYsMHhhMiwweDNlLDB4OTIsMHg0MCwweDMwLDB4M2UsMHgwOSwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDR9LAotICAxNiwweDQyMGIsMCx7MHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MH0sCi0gICA0LDB4NDIxYiwwLHsweDgwLDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHg0MjFmLDAsezB4OTAsMHg3NiwweDE5LDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgzNSwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhkMywweDk0LDB4MmR9LAotICAxNiwweDQyMmYsMCx7MHg0MCwweDJiLDB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkM30sCi0gIDE2LDB4NDIzZiwwLHsweDk0LDB4MGYsMHg0MCwweDE5LDB4ZTQsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgwOCwweDkwLDB4NzYsMHgxOSwweDc0fSwKLSAgMTYsMHg0MjRmLDAsezB4MDMsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc2LDB4MTksMHg3NCwweDAyLDB4ZjAsMHgxMiwweDNlLDB4OWYsMHg5MCwweDc2LDB4MTl9LAotICAxNiwweDQyNWYsMCx7MHhlMCwweGI0LDB4MDIsMHgyYywweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhjMywweDk0LDB4MmYsMHg1MCwweDIyLDB4ZWYsMHhkM30sCi0gIDE2LDB4NDI2ZiwwLHsweDk0LDB4MmEsMHg0MCwweDFjLDB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwfSwKLSAgMTYsMHg0MjdmLDAsezB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MCwweDBhLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgxOSwweDA0LDB4ZjAsMHgxMiwweDNlLDB4OWZ9LAotICAxNiwweDQyOGYsMCx7MHg5MCwweDc2LDB4MTksMHhlMCwweGI0LDB4MDIsMHgyNiwweDkwLDB4NzYsMHg4NywweGUwLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgxZH0sCi0gIDE2LDB4NDI5ZiwwLHsweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmfSwKLSAgMTYsMHg0MmFmLDAsezB4NDAsMHgwYiwweGU0LDB4ZjAsMHg5MCwweDc2LDB4MTksMHg3NCwweDAzLDB4ZjAsMHgxMiwweDNlLDB4OWYsMHg5MCwweDc2LDB4MTl9LAotICAxNiwweDQyYmYsMCx7MHhlMCwweDY0LDB4MDMsMHg3MCwweDNmLDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHg1ZiwweDUwLDB4MzUsMHg5MH0sCi0gIDE2LDB4NDJjZiwwLHsweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZiwweDQwfSwKLSAgMTYsMHg0MmRmLDAsezB4MjMsMHhlNCwweGYwLDB4ZWYsMHhjMywweDk0LDB4MmYsMHg1MCwweDBjLDB4ZWYsMHhkMywweDk0LDB4MmEsMHg0MCwweDA2LDB4OTB9LAotICAxNiwweDQyZWYsMCx7MHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4ZWYsMHhkMywweDk0LDB4MmYsMHg0MCwweDA2LDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMn0sCi0gIDE2LDB4NDJmZiwwLHsweGYwLDB4MTIsMHgzZSwweDlmLDB4OTAsMHg3NiwweDg2LDB4ZTAsMHg3MCwweDA1LDB4OTAsMHg3NiwweDg1LDB4ZjAsMHgyMiwweGU0fSwKLSAgIDUsMHg0MzBmLDAsezB4OTAsMHg3NiwweDg2LDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDMxNCwwLHsweGU0LDB4OTAsMHg3NiwweDk2LDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlMCwweDc0LDB4OTAsMHhmMCwweDkwfSwKLSAgMTYsMHg0MzI0LDAsezB4N2YsMHhlMSwweDc0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3ZiwweGRkLDB4ZjAsMHg5MCwweDdmLDB4YTEsMHhmMCwweDUzLDB4OGV9LAotICAxNiwweDQzMzQsMCx7MHhmOCwweDc1LDB4ODgsMHgwNSwweDc1LDB4YjgsMHgyMCwweDc1LDB4ZjgsMHgwMSwweDQzLDB4OGUsMHgzMCwweGY1LDB4YzgsMHg3NX0sCi0gIDE2LDB4NDM0NCwwLHsweGNhLDB4N2YsMHg3NSwweGNiLDB4ZjgsMHg0MywweGE4LDB4MjAsMHgxMiwweDQ1LDB4NjUsMHhjMiwweDJjLDB4YzIsMHgyZCwweGMyfSwKLSAgMTYsMHg0MzU0LDAsezB4MmIsMHhjMiwweDJmLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhkZCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmZiwweGYwLDB4OTB9LAotICAxNiwweDQzNjQsMCx7MHg3ZiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4NX0sCi0gIDE2LDB4NDM3NCwwLHsweGYwLDB4YTMsMHhmMCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgxMiwweDQ5LDB4YWUsMHgxMiwweDBmfSwKLSAgMTYsMHg0Mzg0LDAsezB4YzYsMHgxMiwweDRhLDB4ZjEsMHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDgsMHhmMCwweGUwLDB4NTQsMHhiOSwweGYwLDB4ZDJ9LAotICAxNiwweDQzOTQsMCx7MHgzMCwweDIwLDB4MzAsMHgxOCwweDEyLDB4NGEsMHhhNiwweDEyLDB4MzAsMHgwMCwweDEyLDB4NDAsMHgwMCwweDEyLDB4NDIsMHgxZn0sCi0gIDE2LDB4NDNhNCwwLHsweDEyLDB4NDgsMHhiZCwweDEyLDB4MWIsMHgwNCwweDEyLDB4MTYsMHg2MSwweDEyLDB4NDIsMHgxZiwweDEyLDB4NGEsMHhhNiwweGMyfSwKLSAgMTYsMHg0M2I0LDAsezB4MmYsMHhjMiwweDMxLDB4YzIsMHgzMiwweGMyLDB4MzQsMHhjMiwweDMzLDB4YzIsMHgyOSwweGMyLDB4MjcsMHhjMiwweDI4LDB4ZTR9LAotICAxNiwweDQzYzQsMCx7MHhmNSwweDExLDB4OTAsMHg3NiwweDg5LDB4ZjAsMHg5MCwweDc2LDB4M2YsMHhmMCwweDkwLDB4NzYsMHg0MSwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4NDNkNCwwLHsweDQwLDB4ZjAsMHg5MCwweDc2LDB4OGEsMHhmMCwweGEzLDB4ZjAsMHhhMywweDA0LDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDc2fSwKLSAgIDMsMHg0M2U0LDAsezB4OTksMHhmMCwweDIyfSwKLSAgMTYsMHg0M2U3LDAsezB4MTIsMHg0ZSwweDE5LDB4NDAsMHgwMiwweDgxLDB4YWMsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDFlLDB4MTR9LAotICAxNiwweDQzZjcsMCx7MHg2MCwweDQ2LDB4MTQsMHg2MCwweDZlLDB4MTQsMHg3MCwweDAyLDB4ODEsMHg5ZCwweDI0LDB4MDQsMHg2MCwweDAyLDB4ODEsMHhhNX0sCi0gIDE2LDB4NDQwNywwLHsweDc0LDB4MDUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweDc0LDB4MDAsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhfSwKLSAgMTYsMHg0NDE3LDAsezB4ZTAsMHhmZiwweDEyLDB4NGEsMHg1NSwweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2V9LAotICAxNiwweDQ0MjcsMCx7MHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDQzNywwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4MTIsMHg0NywweGI3fSwKLSAgMTYsMHg0NDQ3LDAsezB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2Z9LAotICAxNiwweDQ0NTcsMCx7MHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0sCi0gIDE2LDB4NDQ2NywwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZifSwKLSAgMTYsMHg0NDc3LDAsezB4MTIsMHgxNywweDk0LDB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2V9LAotICAxNiwweDQ0ODcsMCx7MHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gIDE2LDB4NDQ5NywwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgIDUsMHg0NGE3LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gICAxLDB4NDRhYywwLHsweDIyfSwKLSAgMTYsMHg0NGFkLDAsezB4YzIsMHhhZiwweGQyLDB4MjQsMHg5MCwweDdmLDB4OTMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweGJiLDB4ZjB9LAotICAxNiwweDQ0YmQsMCx7MHg5MCwweDdmLDB4OTYsMHhlMCwweDQ0LDB4MzAsMHhmMCwweGUwLDB4NTQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDk0LDB4NzQsMHgzMH0sCi0gIDE2LDB4NDRjZCwwLHsweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHhjZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweDk1fSwKLSAgMTYsMHg0NGRkLDAsezB4NzQsMHhjMCwweGYwLDB4OTAsMHg3ZiwweDllLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweDk5LDB4ZTAsMHgzMCwweGUyLDB4MDl9LAotICAxNiwweDQ0ZWQsMCx7MHg5MCwweDA1LDB4MTksMHg3NCwweGEwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhjMiwweDI1LDB4YzIsMHgyMiwweGMyLDB4MjMsMHhjMn0sCi0gIDE2LDB4NDRmZCwwLHsweDI2LDB4MTIsMHg0YiwweDI4LDB4MTIsMHgyZCwweGE5LDB4MTIsMHgzYiwweGQzLDB4MTIsMHg0NiwweDE5LDB4MTIsMHgzYSwweDQyfSwKLSAgMTYsMHg0NTBkLDAsezB4OTAsMHg3NiwweDY4LDB4NzQsMHgwMSwweGYwLDB4NzAsMHgwZiwweDEyLDB4NGMsMHgyOSwweDEyLDB4NGUsMHgxNSwweDEyLDB4NGV9LAotICAxNiwweDQ1MWQsMCx7MHgxNywweDEyLDB4MWIsMHg0MCwweDEyLDB4MTQsMHg5NiwweDEyLDB4NDMsMHgxNCwweDkwLDB4N2YsMHhhZiwweGUwLDB4NDQsMHgwMX0sCi0gIDE2LDB4NDUyZCwwLHsweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDFmLDB4ZjAsMHg5MCwweDdmLDB4YWMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHg0NTNkLDAsezB4YWQsMHhmMCwweDkwLDB4N2YsMHhkZSwweGYwLDB4OTAsMHg3ZiwweGRmLDB4ZjAsMHg5MCwweDdmLDB4YWIsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDQ1NGQsMCx7MHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg0MywweGQ4LDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOH0sCi0gICA4LDB4NDU1ZCwwLHsweDIwLDB4NTMsMHhhOCwweGEwLDB4NDMsMHhhOCwweDgwLDB4MjJ9LAotICAxNiwweDQ1NjUsMCx7MHg5MCwweDc2LDB4OWEsMHg3NCwweDAyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg5MSwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzYsMHg5MH0sCi0gIDE2LDB4NDU3NSwwLHsweGYwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHg5MCwweDc2LDB4OTYsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGU0fSwKLSAgMTYsMHg0NTg1LDAsezB4OTAsMHg3NiwweDk3LDB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5NCwweDA0LDB4ZjAsMHg5MCwweDgwLDB4MDB9LAotICAxNiwweDQ1OTUsMCx7MHhmMCwweGU0LDB4OTAsMHg3NiwweDhlLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhmMCwweDkwLDB4NzYsMHg5NSwweDA0LDB4ZjAsMHhjMn0sCi0gIDE2LDB4NDVhNSwwLHsweDJlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZiwweDU0LDB4MTAsMHhmZiwweDcwLDB4MDIsMHhjMiwweDNmLDB4OTAsMHg3ZiwweDlifSwKLSAgMTYsMHg0NWI1LDAsezB4ZTAsMHhmZiwweDU0LDB4MTAsMHhmZSwweGZmLDB4YmUsMHgxMCwweDAyLDB4ZDIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmZ9LAotICAxNiwweDQ1YzUsMCx7MHg1NCwweDIwLDB4ZmYsMHg3MCwweDAyLDB4YzIsMHgzZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmYsMHg1NCwweDIwLDB4ZmUsMHhmZn0sCi0gIDE2LDB4NDVkNSwwLHsweGJlLDB4MjAsMHgwMiwweGQyLDB4M2UsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwfSwKLSAgMTYsMHg0NWU1LDAsezB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjB9LAotICAxNiwweDQ1ZjUsMCx7MHgzMCwweDNlLDB4MDksMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMH0sCi0gIDE2LDB4NDYwNSwwLHsweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHhhMiwweDNlLDB4OTIsMHg0MCwweGEyfSwKLSAgIDMsMHg0NjE1LDAsezB4M2YsMHg5MiwweDQxfSwKLSAgIDEsMHg0NjE4LDAsezB4MjJ9LAotICAxNiwweDQ2MTksMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4NDYyOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHg0NjM5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzV9LAotICAxNiwweDQ2NDksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4NDY1OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweDkwfSwKLSAgMTYsMHg0NjY5LDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDQ2NzksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4NDY4OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1fSwKLSAgMTYsMHg0Njk5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDQ2YTksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHgyMn0sCi0gIDEyLDB4NDZiOSwwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgzOCwweDAyLDB4NDcsMHgwMH0sCi0gIDE2LDB4NDZjNSwwLHsweDAyLDB4MDcsMHhhNiwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfSwKLSAgMTYsMHg0NmQ1LDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9LAotICAxNiwweDQ2ZTUsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn0sCi0gIDE2LDB4NDZmNSwwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDBjLDB4OGYsMHhlNCwweDdlfSwKLSAgMTYsMHg0NzA1LDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9LAotICAxNiwweDQ3MTUsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM30sCi0gIDE2LDB4NDcyNSwwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfSwKLSAgMTYsMHg0NzM1LDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9LAotICAxNiwweDQ3NDUsMCx7MHg5MCwweDdmLDB4ZWMsMHhlMCwweDkwLDB4NzYsMHg4MywweGYwLDB4ZTAsMHgxNCwweDYwLDB4MWQsMHgxNCwweDYwLDB4MmEsMHgxNH0sCi0gIDE2LDB4NDc1NSwwLHsweDYwLDB4MzcsMHgxNCwweDYwLDB4NDQsMHgyNCwweDA0LDB4NzAsMHg1MCwweDkwLDB4NzYsMHg5MSwweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0NzY1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDQ3LDB4OTAsMHg3NiwweDkyLDB4ZTAsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDQ3NzUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MzcsMHg5MCwweDc2LDB4OTAsMHhlMCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4NDc4NSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgyNywweDkwLDB4NzYsMHg4NCwweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0Nzk1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDE3LDB4OTAsMHg3NiwweDkzLDB4ZTAsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDQ3YTUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gICAyLDB4NDdiNSwwLHsweGQzLDB4MjJ9LAotICAgMiwweDQ3YjcsMCx7MHg4ZiwweDJlfSwKLSAgMTYsMHg0N2I5LDAsezB4ZTQsMHhmNSwweDJmLDB4NzUsMHgzMCwweGZmLDB4NzUsMHgzMSwweDA3LDB4NzUsMHgzMiwweDFhLDB4YWIsMHgzMCwweGFhLDB4MzF9LAotICAxNiwweDQ3YzksMCx7MHhhOSwweDMyLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4YjQsMHgwMywweDFmLDB4YWYsMHgyZiwweDA1LDB4MmYsMHhlZn0sCi0gIDE2LDB4NDdkOSwwLHsweDY1LDB4MmUsMHg3MCwweDAxLDB4MjIsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2EsMHhjOSwweGVmfSwKLSAgMTYsMHg0N2U5LDAsezB4YzksMHg3NSwweDMwLDB4ZmYsMHhmNSwweDMxLDB4ODksMHgzMiwweDgwLDB4ZDIsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9LAotICAgMSwweDQ3ZjksMCx7MHgyMn0sCi0gICA2LDB4NDdmYSwwLHsweDEyLDB4NGIsMHgyOCwweGMyLDB4MzEsMHgyMn0sCi0gIDE2LDB4NDgwMCwwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSwKLSAgMTYsMHg0ODEwLDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9LAotICAxNiwweDQ4MjAsMCx7MHhjMCwweGUwLDB4YzIsMHhjYSwweGMyLDB4Y2YsMHg5MCwweDdmLDB4OTgsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDMwLDB4MmUsMHgwM30sCi0gIDE2LDB4NDgzMCwwLHsweDEyLDB4MTQsMHhhNiwweDkwLDB4N2YsMHg5OCwweGUwLDB4NTQsMHhmZSwweGYwLDB4NTMsMHhhOCwweGZhLDB4MTIsMHgxNiwweDYxfSwKLSAgMTYsMHg0ODQwLDAsezB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDB9LAotICAxNiwweDQ4NTAsMCx7MHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMH0sCi0gICAzLDB4NDg2MCwwLHsweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NDg2MywwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4OTAsMHg3NiwweDgzLDB4ZjAsMHhlMCwweDE0LDB4NjAsMHgxNywweDE0LDB4NjAsMHgyMSwweDE0fSwKLSAgMTYsMHg0ODczLDAsezB4NjAsMHgyYiwweDE0LDB4NjAsMHgzMiwweDI0LDB4MDQsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTF9LAotICAxNiwweDQ4ODMsMCx7MHhmMCwweDgwLDB4MzUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MiwweGYwLDB4MTIsMHgzZSwweDlmLDB4ODAsMHgyOH0sCi0gIDE2LDB4NDg5MywwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkwLDB4ZjAsMHgxMiwweDE4LDB4MDAsMHg4MCwweDFiLDB4OTAsMHg3ZiwweGVhfSwKLSAgMTYsMHg0OGEzLDAsezB4ZTAsMHg5MCwweDc2LDB4ODQsMHhmMCwweDgwLDB4MTEsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MywweGYwLDB4ODB9LAotICAxMCwweDQ4YjMsMCx7MHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZDMsMHgyMn0sCi0gIDE2LDB4NDhiZCwwLHsweDMwLDB4MmQsMHgzOSwweGMyLDB4MmQsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBkLDB4ZTQsMHg5MCwweDc2fSwKLSAgMTYsMHg0OGNkLDAsezB4N2MsMHhmMCwweGEzLDB4NzQsMHhmOCwweGYwLDB4YTMsMHg3NCwweDBhLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZCwweGU0LDB4OTB9LAotICAxNiwweDQ4ZGQsMCx7MHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjAsMHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGQsMHhlNH0sCi0gIDEzLDB4NDhlZCwwLHsweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweGY4LDB4ZjAsMHhhMywweDc0LDB4MTcsMHhmMCwweDIyfSwKLSAgIDYsMHg0OGZhLDAsezB4NTMsMHg5MSwweGJmLDB4ZDIsMHgyZCwweDMyfSwKLSAgMTYsMHg0OTAwLDAsezB4MDIsMHgyZiwweGU3LDB4MDAsMHgwMiwweDNkLDB4NDcsMHgwMCwweDAyLDB4NGQsMHhiNCwweDAwLDB4MDIsMHg0YywweDQzLDB4MDB9LAotICAxNiwweDQ5MTAsMCx7MHgwMiwweDRiLDB4ZTksMHgwMCwweDAyLDB4MmYsMHhmZiwweDAwLDB4MDIsMHg0YywweDViLDB4MDAsMHgwMiwweDRjLDB4MGEsMHgwMH0sCi0gIDE2LDB4NDkyMCwwLHsweDAyLDB4NGMsMHg3MiwweDAwLDB4MDIsMHg0YiwweDVhLDB4MDAsMHgwMiwweDRjLDB4ODksMHgwMCwweDAyLDB4NGMsMHhhMCwweDAwfSwKLSAgMTYsMHg0OTMwLDAsezB4MDIsMHg0YywweGI3LDB4MDAsMHgwMiwweDRjLDB4Y2UsMHgwMCwweDAyLDB4NGMsMHhlNSwweDAwLDB4MDIsMHg0YywweGZjLDB4MDB9LAotICAxNiwweDQ5NDAsMCx7MHgwMiwweDRkLDB4MTMsMHgwMCwweDAyLDB4NGQsMHgyYSwweDAwLDB4MDIsMHg0ZCwweDQxLDB4MDAsMHgwMiwweDRkLDB4NTgsMHgwMH0sCi0gICA4LDB4NDk1MCwwLHsweDAyLDB4NGQsMHg2ZiwweDAwLDB4MDIsMHg0ZCwweDg2LDB4MDB9LAotICAxNiwweDQ5NTgsMCx7MHhlNCwweDkwLDB4NzYsMHgyNiwweGYwLDB4OTAsMHg3NiwweDI2LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzNH0sCi0gIDE2LDB4NDk2OCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHg0OTc4LDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDQ5ODgsMCx7MHhlZiwweGI0LDB4MDQsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE2LDB4NDk5OCwwLHsweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwfSwKLSAgIDYsMHg0OWE4LDAsezB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHg0OWFlLDAsezB4OTAsMHg3NiwweDQ2LDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTN9LAotICAxNiwweDQ5YmUsMCx7MHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMH0sCi0gIDE2LDB4NDljZSwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzfSwKLSAgMTYsMHg0OWRlLDAsezB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjB9LAotICAxNiwweDQ5ZWUsMCx7MHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMH0sCi0gICA1LDB4NDlmZSwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4MjJ9LAotICAxNiwweDRhMDMsMCx7MHhlNCwweDkwLDB4NzYsMHgyNSwweGYwLDB4OTAsMHg3NiwweDI1LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzNH0sCi0gIDE2LDB4NGExMywwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHg0YTIzLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDRhMzMsMCx7MHhlZiwweGI0LDB4MDQsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlLDB4YzAsMHhlMH0sCi0gIDE2LDB4NGE0MywwLHsweGZlLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVlfSwKLSAgIDIsMHg0YTUzLDAsezB4ZjAsMHgyMn0sCi0gIDE2LDB4NGE1NSwwLHsweGU0LDB4ZmUsMHg3NSwweDFkLDB4ZmYsMHg3NSwweDFlLDB4MDUsMHg3NSwweDFmLDB4MTIsMHhhYiwweDFkLDB4YWEsMHgxZSwweGE5fSwKLSAgMTYsMHg0YTY1LDAsezB4MWYsMHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHg2NCwweDAyLDB4NzAsMHgyZiwweGNkLDB4ZWUsMHhjZCwweDBlLDB4ZWR9LAotICAxNiwweDRhNzUsMCx7MHg2ZiwweDcwLDB4MDEsMHgyMiwweDkwLDB4MDAsMHgwMiwweDEyLDB4MzcsMHgwZSwweDg1LDB4ZjAsMHgxYiwweGY1LDB4MWMsMHg2Mn0sCi0gIDE2LDB4NGE4NSwwLHsweDFiLDB4ZTUsMHgxYiwweDYyLDB4MWMsMHhlNSwweDFjLDB4NjIsMHgxYiwweDI5LDB4ZmQsMHhlNSwweDFiLDB4M2EsMHhjOSwweGVkfSwKLSAgMTYsMHg0YTk1LDAsezB4YzksMHg3NSwweDFkLDB4ZmYsMHhmNSwweDFlLDB4ODksMHgxZiwweDgwLDB4YzEsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9LAotICAgMSwweDRhYTUsMCx7MHgyMn0sCi0gIDE2LDB4NGFhNiwwLHsweGU0LDB4OTAsMHg3NiwweDliLDB4ZjAsMHg5MCwweDc2LDB4OWIsMHhlMCwweGZmLDB4MDQsMHhmMCwweGVmLDB4NjAsMHgwOCwweGUwfSwKLSAgMTYsMHg0YWI2LDAsezB4MjQsMHgwOCwweGY4LDB4ZTQsMHhmNiwweDgwLDB4ZWUsMHg5MCwweDc2LDB4OTYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDQ0LDB4MDh9LAotICAxNiwweDRhYzYsMCx7MHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZTQsMHhmNSwweDE4LDB4ZDIsMHgzNSwweGY1LDB4MGUsMHhmNSwweDEwLDB4ZDIsMHgzNn0sCi0gIDE2LDB4NGFkNiwwLHsweDc1LDB4MTIsMHgxMSwweDc1LDB4MTMsMHgyMiwweGMyLDB4MzcsMHhjMiwweDM5LDB4YzIsMHgzOCwweGY1LDB4MTYsMHhmNSwweDE0fSwKLSAgMTEsMHg0YWU2LDAsezB4ZjUsMHgxYSwweGY1LDB4MGQsMHhjMiwweDNiLDB4YzIsMHgzYywweGMyLDB4M2QsMHgyMn0sCi0gIDE2LDB4NGFmMSwwLHsweGU0LDB4ZmYsMHg3NCwweDU2LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDI4fSwKLSAgMTYsMHg0YjAxLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDVlLDB4MmYsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDRiMTEsMCx7MHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDM4LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4M30sCi0gICA2LDB4NGIyMSwwLHsweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhjY30sCi0gICAxLDB4NGIyNywwLHsweDIyfSwKLSAgMTYsMHg0YjI4LDAsezB4ZTQsMHg5MCwweDcyLDB4MzYsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTB9LAotICAxNiwweDRiMzgsMCx7MHg3MiwweDMzLDB4ZjAsMHg5MCwweDcyLDB4MzIsMHhmMCwweDkwLDB4NzIsMHgwMSwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzIsMHgzM30sCi0gIDE2LDB4NGI0OCwwLHsweGYwLDB4OTAsMHg3MiwweDMyLDB4ZjAsMHg5MCwweDcyLDB4MDEsMHgwNCwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg0NCwweDA0fSwKLSAgIDIsMHg0YjU4LDAsezB4ZjAsMHgyMn0sCi0gIDE2LDB4NGI1YSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwMiwweGYwfSwKLSAgMTYsMHg0YjZhLDAsezB4OTAsMHg3ZiwweGM3LDB4ZTAsMHhmNSwweDExLDB4NzUsMHgwZiwweDAwLDB4NzUsMHgwZCwweDAwLDB4ZDIsMHgzMywweGQwLDB4ODJ9LAotICAgNSwweDRiN2EsMCx7MHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0YjdmLDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDMwLDB4NDIsMHgwNCwweGUwLDB4NDR9LAotICAxNiwweDRiOGYsMCx7MHgwMiwweGYwLDB4N2YsMHhkYywweDdlLDB4MDUsMHgxMiwweDRkLDB4OWQsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZjcsMHhmMH0sCi0gICA1LDB4NGI5ZiwwLHsweGUwLDB4NDQsMHgwNCwweGYwLDB4MjJ9LAotICAxNiwweDRiYTQsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxNCwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MDQsMHgxMn0sCi0gIDE2LDB4NGJiNCwwLHsweDQ5LDB4NTgsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSwKLSAgIDMsMHg0YmM0LDAsezB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHg0YmM3LDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTMsMHg5MCwweDdmLDB4ZTksMHhlMCwweDE0LDB4NzAsMHgwNCwweDEyLDB4NGF9LAotICAxNiwweDRiZDcsMCx7MHgwMywweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0sCi0gICAyLDB4NGJlNywwLHsweGYwLDB4MjJ9LAotICAxNiwweDRiZTksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4NGJmOSwwLHsweDc2LDB4OTYsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwfSwKLSAgIDEsMHg0YzA5LDAsezB4MzJ9LAotICAxNiwweDRjMGEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gIDE1LDB4NGMxYSwwLHsweGMyLDB4MjksMHg5MCwweDc2LDB4OGQsMHg3NCwweDAxLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGMyOSwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4MzAsMHhlNywweDEyLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3ZiwweDE0LDB4N2UsMHgwMCwweDEyfSwKLSAgMTAsMHg0YzM5LDAsezB4NGQsMHg5ZCwweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmZSwweGYwLDB4MjJ9LAotICAxNiwweDRjNDMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDI1LDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOH0sCi0gICA4LDB4NGM1MywwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjNWIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gICA3LDB4NGM2YiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0YzcyLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAyLDB4ZjB9LAotICAgNywweDRjODIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGM4OSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwNCwweGYwfSwKLSAgIDcsMHg0Yzk5LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjYTAsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDQsMHhmMH0sCi0gICA3LDB4NGNiMCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2I3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA4LDB4ZjB9LAotICAgNywweDRjYzcsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGNjZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwOCwweGYwfSwKLSAgIDcsMHg0Y2RlLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjZTUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MTAsMHhmMH0sCi0gICA3LDB4NGNmNSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2ZjLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDEwLDB4ZjB9LAotICAgNywweDRkMGMsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQxMywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgyMCwweGYwfSwKLSAgIDcsMHg0ZDIzLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkMmEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MjAsMHhmMH0sCi0gICA3LDB4NGQzYSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDQxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDQwLDB4ZjB9LAotICAgNywweDRkNTEsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ1OCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg0MCwweGYwfSwKLSAgIDcsMHg0ZDY4LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkNmYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4ODAsMHhmMH0sCi0gICA3LDB4NGQ3ZiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDg2LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDgwLDB4ZjB9LAotICAgNywweDRkOTYsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ5ZCwwLHsweDhlLDB4MzUsMHg4ZiwweDM2LDB4ZTUsMHgzNiwweDE1LDB4MzYsMHhhZSwweDM1LDB4NzAsMHgwMiwweDE1LDB4MzUsMHg0ZSwweDYwfSwKLSAgIDcsMHg0ZGFkLDAsezB4MDUsMHgxMiwweDE0LDB4ODUsMHg4MCwweGVlLDB4MjJ9LAotICAxNiwweDRkYjQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMH0sCi0gICA2LDB4NGRjNCwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGRjYSwwLHsweDkwLDB4NzYsMHg4MiwweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHhkMywweDIyfSwKLSAgMTIsMHg0ZGRhLDAsezB4YzIsMHgzNywweGU0LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhjMiwweDM2LDB4ZjUsMHgxNCwweDIyfSwKLSAgIDksMHg0ZGU2LDAsezB4YzIsMHgyNSwweDUzLDB4ZDgsMHhlZiwweDQzLDB4ZDgsMHgyMCwweDMyfSwKLSAgIDcsMHg0ZGVmLDAsezB4NTMsMHg5OCwweGZlLDB4NTMsMHg5OCwweGZkLDB4MzJ9LAotICAgNywweDRkZjYsMCx7MHg1MywweGMwLDB4ZmUsMHg1MywweGMwLDB4ZmQsMHgzMn0sCi0gICA2LDB4NGRmZCwwLHsweDUzLDB4OTEsMHg3ZiwweGQyLDB4MmMsMHgzMn0sCi0gICA0LDB4NGUwMywwLHsweDUzLDB4OTEsMHhkZiwweDMyfSwKLSAgIDQsMHg0ZTA3LDAsezB4NTMsMHhkOCwweGY3LDB4MzJ9LAotICAgNCwweDRlMGIsMCx7MHgxMiwweDE3LDB4MzAsMHgyMn0sCi0gICAzLDB4NGUwZiwwLHsweGMyLDB4OGQsMHgzMn0sCi0gICAzLDB4NGUxMiwwLHsweGMyLDB4OGYsMHgzMn0sCi0gICAyLDB4NGUxNSwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMTcsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTE5LDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUxYiwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMWQsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTFmLDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUyMSwwLHsweGMzLDB4MjJ9LAotICAgMCwweDAwMDAsMSx7MH0KLX07Ci0vKiBTb3VyY2U6IEVNSTYyTUZXLkhFWCAKLToxMDBDOEYwMDQxNzY2ODAxNDE3NjZBMDI0MTc2NkIwQUMxMjBDMTIxMjMKLToxMDQ0QUQwMEMyQUZEMjI0OTA3RjkzNzQzMEYwOTA3RjlDNzRCQkYwOTgKLToxMDQ0QkQwMDkwN0Y5NkUwNDQzMEYwRTA1NDMwRjA5MDdGOTQ3NDMwNkIKLToxMDQ0Q0QwMEYwOTA3RjlENzRDRkYwOTA3Rjk3NzRBMEYwOTA3Rjk1QzIKLToxMDQ0REQwMDc0QzBGMDkwN0Y5RTc0MDNGMDkwN0Y5OUUwMzBFMjA5RjQKLToxMDQ0RUQwMDkwMDUxOTc0QTBGMEU0QTNGMEMyMjVDMjIyQzIyM0MyMjQKLToxMDQ0RkQwMDI2MTI0QjI4MTIyREE5MTIzQkQzMTI0NjE5MTIzQTQyRkQKLToxMDQ1MEQwMDkwNzY2ODc0MDFGMDcwMEYxMjRDMjkxMjRFMTUxMjRFRjAKLToxMDQ1MUQwMDE3MTIxQjQwMTIxNDk2MTI0MzE0OTA3RkFGRTA0NDAxMDIKLToxMDQ1MkQwMEYwOTA3RkFFRTA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGNzEKLToxMDQ1M0QwMEFERjA5MDdGREVGMDkwN0ZERkYwOTA3RkFCRjA5MDdGNUQKLToxMDQ1NEQwMEE5RjA5MDdGQUFGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4MzkKLTowODQ1NUQwMDIwNTNBOEEwNDNBODgwMjIwRQotOjEwMDdBNjAwRTQ5MDc2NjZGMDEyNDRBRDIwMjYxMzkwNzY2NkUwQzM5OAotOjEwMDdCNjAwOTQwMjUwMEFFMDA0RjBEMjQyMTI0QjdGODBFQTMwMjZCRgotOjEwMDdDNjAwMDUxMjI4MDFDMjI2MzAyNTJCOTA3Njk2RTA1NEZDRjBCRgotOjEwMDdENjAwOTA4MDAzRjAxMjE0OTY5MDc2OTZFMDQ0MDNGMDkwODA5MQotOjEwMDdFNjAwMDNGMEU0OTA3NjY3RjA5MDc2NjdFMDA0RjBFMEI0NEJBRgotOjBBMDdGNjAwRjYxMjQ3RkExMjQxMUI4MEM1MjJEQgotOjEwMjgwMTAwQzIyMEMyMjFDMjJBOTA3RkU4RTAxMjM3RjkyODMwMDBBNQotOjEwMjgxMTAwMjg4QzAxMjhBMjAyMkExRjIxMkE2QTIyMjkzRDgwMjkwNwotOjEwMjgyMTAwN0Q4MTI5RDE4MjJBODRBMTJBQkFBMjAwMDAyQUJGOTBERgotOjEwMjgzMTAwN0ZFOUUwMTQ2MDExMjRGRTYwMjgyNEZFNjAzQjI0RkM0MwotOjEwMjg0MTAwNzA0MDEyM0ZFNTQxQ0IxMjRFMUQ0MDAyNDFDQjkwN0ZCQgotOjEwMjg1MTAwRUFFMEI0MDEwNEMyMjI0MUNCOTA3RkI0RTA0NDAxRjAyQwotOjEwMjg2MTAwNDFDQjEyNEUxRjkwN0ZFQUUwQjQwMTA0RDIyMjQxQ0I0QQotOjEwMjg3MTAwOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA5QgotOjEwMjg4MTAwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwMjQ1QgotOjEwMjg5MTAwRjU3MDA1MTI0ODYzNDFDQjkwN0ZCNEUwNDQwMUYwNDFFQgotOjEwMjhBMTAwQ0I5MDdGRTlFMDI0RkQ2MDU0MjQwMjYwMDIyMTM0MTJDMAotOjEwMjhCMTAwNEUxRDQwMDI0MUNCOTA3RkVBRTA3MDM4OTA3RkVDRTAwMgotOjEwMjhDMTAwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjREMwotOjEwMjhEMTAwRjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkZFRgotOjEwMjhFMTAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDREOAotOjEwMjhGMTAwMjBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0IxMjRFMUY1OAotOjEwMjkwMTAwNDAwMjQxQ0I5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTRFQwotOjEwMjkxMTAwODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODI1MwotOjEwMjkyMTAwRTQzNDdGRjU4Mzc0MDFGMDQxQ0I5MDdGQjRFMDQ0MDEzRQotOjEwMjkzMTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTBERQotOjEwMjk0MTAwNjAxMjI0Rjg2MDA5MjQwMjcwMjkxMjQzRTc0MUNCMTI3NgotOjEwMjk1MTAwNERDQTQxQ0IxMjRFMUJBMjIyRTQzM0ZGMjVFMEZGQTI1OAotOjEwMjk2MTAwMjNFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDIyRAotOjEwMjk3MTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTA5RQotOjEwMjk4MTAwNjAzMzI0RjY2MDJBMjQwNDcwM0Q5MDdGRUJFMDI0REU1RQotOjEwMjk5MTAwNjAwQzA0NzAxMjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y1MQotOjEwMjlBMTAwQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I2RAotOjEwMjlCMTAwMTI0NzQ1NDFDQjEyNEUxQkU0OTA3RjAwRjBBM0YwOTBFQgotOjEwMjlDMTAwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I3QwotOjEwMjlEMTAwOTA3RkU5RTAyNEY0NjAzNDI0MEM3MDM5MTI0RTFCOTA4RQotOjEwMjlFMTAwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjUxRgotOjEwMjlGMTAwRTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDA1OAotOjEwMkEwMTAwRjBFNEEzRjA5MDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA4NQotOjEwMkExMTAwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y4MQotOjEwMkEyMTAwRTlFMDI0RjY2MDEyMTQ2MDFBMjQwMjcwMUREMjIwOTA4RAotOjEwMkEzMTAwN0ZCNEUwNDQwMUYwODAxMkQyMjA5MDdGQjRFMDQ0MDFFMQotOjEwMkE0MTAwRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDIwMTg5MDdGRUVFMQotOjEwMkE1MTAwRTA3MDA0QTNFMDYwMEJEMjI5RDIyNzEyMTc0QUQyMkFEMAotOjEwMkE2MTAwODAwMzEyMDgwMEMyMjA4MDYxOTA3RkVFRTA3MDA0QTMxMQotOjEwMkE3MTAwRTA2MDBCRDIyOUQyMjgxMjE3NEFEMjJBODA0QzEyMzg5MAotOjEwMkE4MTAwNzQ4MDQ3OTA3RkU5RTAyNEZFNjAxMjE0NjAxQTI0MDJFQQotOjEwMkE5MTAwNzAxREQyMjE5MDdGQjRFMDQ0MDFGMDgwMTJEMjIxOTBDOAotOjEwMkFBMTAwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwMjA1RQotOjEwMkFCMTAwMjEwMzEyMTAwMEMyMjE4MDExMTIyQUQ2ODAwQzEyNEU1RAotOjEwMkFDMTAwMjE1MDA3OTA3RkI0RTA0NDAxRjAyMDJBMDc5MDdGQjRBMQotOjA1MkFEMTAwRTA0NDAyRjAyMkM4Ci06MTA0M0U3MDAxMjRFMTk0MDAyODFBQzkwN0ZFQkUwMjRGRTYwMUUxNDUwCi06MTA0M0Y3MDA2MDQ2MTQ2MDZFMTQ3MDAyODE5RDI0MDQ2MDAyODFBNURBCi06MTA0NDA3MDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQUY2Ci06MTA0NDE3MDBFMEZGMTI0QTU1OEIyMDhBMjE4OTIyRUE0OTYwMTFDRTkyCi06MTA0NDI3MDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMkEwCi06MTA0NDM3MDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDdCNzkzCi06MTA0NDQ3MDA4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRUVFOTA3RjNECi06MTA0NDU3MDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDNFCi06MTA0NDY3MDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjMxCi06MTA0NDc3MDAxMjE3OTQ4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRTRECi06MTA0NDg3MDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkU5Ci06MTA0NDk3MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjIxCi06MDU0NEE3MDBCNEUwNDQwMUYwNDcKLTowMTQ0QUMwMDIyRUQKLTowMzAwMzMwMDAyNERFNjk1Ci06MDk0REU2MDBDMjI1NTNEOEVGNDNEODIwMzI1NgotOjAyMEM5RjAwQzEyRjYzCi06MDY0N0ZBMDAxMjRCMjhDMjMxMjIxRgotOjEwNDMxNDAwRTQ5MDc2OTZGMDkwODAwM0YwOTA3RkUwNzQ5MEYwOTBCMwotOjEwNDMyNDAwN0ZFMTc0MDRGMEU0OTA3RkRERjA5MDdGQTFGMDUzOEU4MAotOjEwNDMzNDAwRjg3NTg4MDU3NUI4MjA3NUY4MDE0MzhFMzBGNUM4NzU5MQotOjEwNDM0NDAwQ0E3Rjc1Q0JGODQzQTgyMDEyNDU2NUMyMkNDMjJEQzI4MgotOjEwNDM1NDAwMkJDMjJGOTA3RkZDNzREREYwOTA3RkZGNzRGRkYwOTBGMAotOjEwNDM2NDAwN0Y5N0UwNDQwMUYwOTA3NjE5NzQwMUYwRTQ5MDc2ODUyQgotOjEwNDM3NDAwRjBBM0YwOTA3NjgxRjA5MDc2ODBGMDEyNDlBRTEyMEY5RgotOjEwNDM4NDAwQzYxMjRBRjE5MDdGOTdFMDQ0MDhGMEUwNTRCOUYwRDJBNQotOjEwNDM5NDAwMzAyMDMwMTgxMjRBQTYxMjMwMDAxMjQwMDAxMjQyMUY3OAotOjEwNDNBNDAwMTI0OEJEMTIxQjA0MTIxNjYxMTI0MjFGMTI0QUE2QzIwMQotOjEwNDNCNDAwMkZDMjMxQzIzMkMyMzRDMjMzQzIyOUMyMjdDMjI4RTQ1NgotOjEwNDNDNDAwRjUxMTkwNzY4OUYwOTA3NjNGRjA5MDc2NDFGMDkwNzZGMgotOjEwNDNENDAwNDBGMDkwNzY4QUYwQTNGMEEzMDRGMEU0QTNGMDkwNzY4MgotOjAzNDNFNDAwOTlGMDIyMkIKLToxMDQ4QkQwMDMwMkQzOUMyMkQ5MDc2MTlFMEZGQjQwMTBERTQ5MDc2QkMKLToxMDQ4Q0QwMDdDRjBBMzc0RjhGMEEzNzQwQUYwRUZCNDAyMERFNDkwMzkKLToxMDQ4REQwMDc2N0NGMEEzNzRGMEYwQTM3NDBCRjBFRkI0MDMwREU0NDkKLTowRDQ4RUQwMDkwNzY3Q0YwQTM3NEY4RjBBMzc0MTdGMDIyMEQKLToxMDFCMDQwMDMwMkMzOEMyMkM5MDc2MTlFMEZGQjQwMTBFOTA3NjdDMEMKLToxMDFCMTQwMDc0QzBGMEEzNzQxNEYwQTM3NDBCRjBFRkI0MDIwREU0REEKLToxMDFCMjQwMDkwNzY3Q0YwQTM3NDEwRjBBMzc0MENGMEVGQjQwMzBCNjQKLTowQzFCMzQwMEU0OTA3NjdDRjBBMzc0MThGMEEzRjAyMjdCCi06MTA0MTFCMDA5MDc2OERFMDY0MDE3MDI3MzAyNzA4QzIyNzEyMDgwMEMzCi06MTA0MTJCMDAxMjE3NEEzMDI4MDhDMjI4MTIzODc0MTIxNzRBMzAyQTNDCi06MTA0MTNCMDAwRUU0OTA3NjhERjBDMjJBOTA3RkI0RTA0NDAyRjA5MEFBCi06MTA0MTRCMDA3NjNGRTBCNDAxMDVFNEYwMTIzMjZGOTA3NjQxRTBCNEIzCi06MTA0MTVCMDAwMTA1RTRGMDEyMzQ5QTkwNzY0MEUwQjQwMTAzMTIzNDc2Ci06MTA0MTZCMDA5QTEyMzAwMDMwMzMwMzEyNDAwMDkwN0Y5QkUwMjBFNDIyCi06MTA0MTdCMDAwMkMyM0Y5MDdGOUJFMDMwRTQwMkQyM0Y5MDdGOUJFMEY2Ci06MTA0MThCMDAyMEU1MDJDMjNFOTA3RjlCRTAzMEU1MDJEMjNFQTI0MTg5Ci06MTA0MTlCMDAzMDNGMDFCMzUwMUZBMjNGOTI0MTMwM0YwOTkwNzY5N0I5Ci06MTA0MUFCMDBFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5NzBDCi06MTA0MUJCMDBFMDkwODAwMkYwMzAzRjM0OTA3NjE5RTBGRkI0MDEwRUFFCi06MTA0MUNCMDA5MDc2N0M3NDY3RjBBMzc0MDZGMEEzNzQwQkYwRUZCNEQ1Ci06MTA0MURCMDAwMjBCRTQ5MDc2N0NGMEEzRjBBMzc0MENGMEVGQjQwMzI1Ci06MTA0MUVCMDAwQkU0OTA3NjdDRjBBM0YwQTM3NDE4RjBBMjQwMzAzRTYxCi06MTA0MUZCMDAwMUIzNTAxRkEyM0U5MjQwMzAzRTA5OTA3Njk1RTA0NEE5Ci06MTA0MjBCMDAwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTA3Njk1RTA5MDYzCi06MDQ0MjFCMDA4MDAxRjAyMjBDCi06MDI0RTE1MDBEMzIyQTYKLTowMjRFMTcwMEQzMjJBNAotOjAyNEUxOTAwRDMyMkEyCi06MTAzRkU1MDA5MDdGRUFFMDkwNzY4MkYwRTQ5MDc2OTFGMDkwNzY5Mjc4Ci06MEIzRkY1MDBGMDkwNzY5MEYwOTA3NjkzRjBEMzIyQ0QKLToxMDREQ0EwMDkwNzY4MkUwOTA3RjAwRjA5MDdGQjU3NDAxRjBEMzIyNTQKLToxMDQ4NjMwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxNzE0NjAyMTE0REQKLToxMDQ4NzMwMDYwMkIxNDYwMzIyNDA0NzAzODkwN0ZFQUUwOTA3NjkxQzQKLToxMDQ4ODMwMEYwODAzNTkwN0ZFQUUwOTA3NjkyRjAxMjNFOUY4MDI4ODgKLToxMDQ4OTMwMDkwN0ZFQUUwOTA3NjkwRjAxMjE4MDA4MDFCOTA3RkVBRjgKLToxMDQ4QTMwMEUwOTA3Njg0RjA4MDExOTA3RkVBRTA5MDc2OTNGMDgwMzgKLTowQTQ4QjMwMDA3OTA3RkI0RTA0NDAxRjBEMzIyMjcKLToxMDQ3NDUwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxRDE0NjAyQTE0RUQKLToxMDQ3NTUwMDYwMzcxNDYwNDQyNDA0NzA1MDkwNzY5MUUwOTA3RjAwOTcKLToxMDQ3NjUwMEYwOTA3RkI1NzQwMUYwODA0NzkwNzY5MkUwOTA3RjAwREQKLToxMDQ3NzUwMEYwOTA3RkI1NzQwMUYwODAzNzkwNzY5MEUwOTA3RjAwREYKLToxMDQ3ODUwMEYwOTA3RkI1NzQwMUYwODAyNzkwNzY4NEUwOTA3RjAwRUIKLToxMDQ3OTUwMEYwOTA3RkI1NzQwMUYwODAxNzkwNzY5M0UwOTA3RjAwREMKLToxMDQ3QTUwMEYwOTA3RkI1NzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOEMKLTowMjQ3QjUwMEQzMjIwRAotOjAyNEUxQjAwRDMyMkEwCi06MDI0RTFEMDBEMzIyOUUKLTowMjRFMUYwMEQzMjI5QwotOjAyNEUyMTAwQzMyMkFBCi06MTAyRkU3MDBDMEUwQzA4M0MwODJEMjI2NTM5MUVGOTA3RkFCNzQwMUJCCi06MDgyRkY3MDBGMEQwODJEMDgzRDBFMDMyNUIKLToxMDREQjQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDRGMEQwMDUKLTowNjREQzQwMDgyRDA4M0QwRTAzMjMyCi06MTAzRDQ3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEY2Ci06MTAzRDU3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkIxCi06MTAzRDY3MDBDMEUwOTA3RkEyRTA5MDc2N0ZGMDkwN0Y3NEUwOTA3NjNECi06MTAzRDc3MDA4N0YwOTA3Rjc1RTA5MDc2ODhGMDkwN0Y5OEUwNDQwMjE2Ci06MTAzRDg3MDBGMDkwNzY5NkUwRkYyMEUxMEM0NDAyRjA5MDgwMDNGMDdCCi06MTAzRDk3MDBEMjMyMTI0QjI4OTA3NjdGRTAyMEUyNTA5MDc2ODdFMDZGCi06MTAzREE3MDBGRUEzRTA3QzAwMjQwMEY1MzRFQzNFRjUzMzkwNzY5OEQyCi06MTAzREI3MDBFMEZEQUUzM0FGMzQxMjM2RDg5MDc2ODdFRkYwRDIyRkNFCi06MTAzREM3MDAzMDMxMjkyMDNGMjZDMjMxOTA3Rjk0RTA1NENGRjA5MEM0Ci06MTAzREQ3MDA3RjlBRTAzMEU0MDREMjJEQzIyQzkwN0Y5QUUwMjBFNTUwCi06MTAzREU3MDAwNEMyMkREMjJDOTA3Rjk0RTA0NDMwRjAxMjQ4QkQxMkNCCi06MTAzREY3MDAxQjA0MzAyRjEyMTI0MjFGQzIyRjc1RTgwMTEyMTY4QUI4Ci06MTAzRTA3MDA3NUU4MEREMjJCODAwNTc1RTgwMUMyMkIyMDJCMzQ5MDY1Ci06MTAzRTE3MDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjAwCi06MTAzRTI3MDBGMEEzNzQwQkYwRUZCNDAyMEI5MDc2N0NFNEYwQTNGMEYwCi06MTAzRTM3MDBBMzc0MENGMEVGQjQwMzBCOTA3NjdDRTRGMEEzRjBBMzJCCi06MTAzRTQ3MDA3NDE4RjA3NUNBRDM3NUNCRkVEMkNBMzAzNDA0QzIzNEE1Ci06MTAzRTU3MDA4MDAyRDIzNDMwMzQwRDkwNzY4OUUwQzM5NDAzNDAwNDU1Ci06MTAzRTY3MDBFMDI0RkRGMDUzOTFFRjkwN0ZBQjc0MDJGMEYwOTA3RjY4Ci06MTAzRTc3MDA5OEUwNTRGREYwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEM4Ci06MTAzRTg3MDBGQ0QwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDE5Ci06MDgzRTk3MDA4MkQwODNEMEYwRDBFMDMyQUMKLToxMDRCRTkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMDkwMDYKLToxMDRCRjkwMDc2OTZFMDU0RkRGMDkwODAwM0YwRDA4MkQwODNEMEUwMjcKLTowMTRDMDkwMDMyNzgKLTowMTJGRkYwMDMyOUYKLToxMDRDNDMwMEMwRTBDMDgzQzA4MkQyMjU1MzkxRUY5MDdGQUI3NDA4M0MKLTowODRDNTMwMEYwRDA4MkQwODNEMEUwMzJFMgotOjEwNEM1QjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAxRjA4NAotOjA3NEM2QjAwRDA4MkQwODNEMEUwMzJCQgotOjEwNEMwQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAxRjBENAotOjBGNEMxQTAwQzIyOTkwNzY4RDc0MDFGMEQwODJEMDgzRDBFMDMyMjEKLToxMDRDNzIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMkYwNkMKLTowNzRDODIwMEQwODJEMDgzRDBFMDMyQTQKLToxMDRCNUEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMkYwODQKLToxMDRCNkEwMDkwN0ZDN0UwRjUxMTc1MEYwMDc1MEQwMEQyMzNEMDgyMjIKLTowNTRCN0EwMEQwODNEMEUwMzIwMQotOjEwNEM4OTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA0RjA1MwotOjA3NEM5OTAwRDA4MkQwODNEMEUwMzI4RAotOjEwNENBMDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA0RjAzQgotOjA3NENCMDAwRDA4MkQwODNEMEUwMzI3NgotOjEwNENCNzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA4RjAyMQotOjA3NENDNzAwRDA4MkQwODNEMEUwMzI1RgotOjEwNENDRTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA4RjAwOQotOjA3NENERTAwRDA4MkQwODNEMEUwMzI0OAotOjEwNENFNTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDEwRjBFQgotOjA3NENGNTAwRDA4MkQwODNEMEUwMzIzMQotOjEwNENGQzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDEwRjBEMwotOjA3NEQwQzAwRDA4MkQwODNEMEUwMzIxOQotOjEwNEQxMzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDIwRjBBQwotOjA3NEQyMzAwRDA4MkQwODNEMEUwMzIwMgotOjEwNEQyQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDIwRjA5NAotOjA3NEQzQTAwRDA4MkQwODNEMEUwMzJFQgotOjEwNEQ0MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDQwRjA1RQotOjA3NEQ1MTAwRDA4MkQwODNEMEUwMzJENAotOjEwNEQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDQwRjA0NgotOjA3NEQ2ODAwRDA4MkQwODNEMEUwMzJCRAotOjEwNEQ2RjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDgwRjBGMAotOjA3NEQ3RjAwRDA4MkQwODNEMEUwMzJBNgotOjEwNEQ4NjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDgwRjBEOAotOjA3NEQ5NjAwRDA4MkQwODNEMEUwMzI4RgotOjEwNDIxRjAwOTA3NjE5RTA2NDAxNzAzNTkwNzY4N0UwRkZEMzk0MkQ4NgotOjEwNDIyRjAwNDAyQjkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDMxMQotOjEwNDIzRjAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3NjE5NzQzRAotOjEwNDI0RjAwMDNGMDgwMDY5MDc2MTk3NDAyRjAxMjNFOUY5MDc2MTk1MwotOjEwNDI1RjAwRTBCNDAyMkM5MDc2ODdFMEZGQzM5NDJGNTAyMkVGRDM2NwotOjEwNDI2RjAwOTQyQTQwMUM5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBENQotOjEwNDI3RjAwRTBEMzk0MEY0MDBBRTRGMDkwNzYxOTA0RjAxMjNFOUZCOQotOjEwNDI4RjAwOTA3NjE5RTBCNDAyMjY5MDc2ODdFMEQzOTQzMTQwMURFMgotOjEwNDI5RjAwOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY2OQotOjEwNDJBRjAwNDAwQkU0RjA5MDc2MTk3NDAzRjAxMjNFOUY5MDc2MTk0QwotOjEwNDJCRjAwRTA2NDAzNzAzRjkwNzY4N0UwRkZDMzk0NUY1MDM1OTBDMgotOjEwNDJDRjAwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNDA4OQotOjEwNDJERjAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBCMQotOjEwNDJFRjAwNzYxOTc0MDFGMEVGRDM5NDJGNDAwNjkwNzYxOTc0MDI2QgotOjEwNDJGRjAwRjAxMjNFOUY5MDc2ODZFMDcwMDU5MDc2ODVGMDIyRTQ2RQotOjA1NDMwRjAwOTA3Njg2RjAyMjBCCi06MTA0NTY1MDA5MDc2OUE3NDAyRjBFNDkwNzY5MUYwQTNGMDkwNzY5MEFDCi06MTA0NTc1MDBGMDkwNzY5M0YwOTA3Njk2NzQwM0YwOTA4MDAzRjBFNEQzCi06MTA0NTg1MDA5MDc2OTdGMDkwODAwMkYwOTA3Njk0MDRGMDkwODAwMEY5Ci06MTA0NTk1MDBGMEU0OTA3NjhFRjA5MDc2MUFGMDkwNzY5NTA0RjBDMjVECi06MTA0NUE1MDAyRTkwN0Y5QkUwRkY1NDEwRkY3MDAyQzIzRjkwN0Y5QkNGCi06MTA0NUI1MDBFMEZGNTQxMEZFRkZCRTEwMDJEMjNGOTA3RjlCRTBGRjRDCi06MTA0NUM1MDA1NDIwRkY3MDAyQzIzRTkwN0Y5QkUwRkY1NDIwRkVGRjA3Ci06MTA0NUQ1MDBCRTIwMDJEMjNFMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDJGCi06MTA0NUU1MDAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMDhFCi06MTA0NUY1MDAzMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMDhBCi06MTA0NjA1MDA1NEZCRjA5MDc2OTVFMDkwODAwMUYwQTIzRTkyNDBBMjk2Ci06MDM0NjE1MDAzRjkyNDE5MAotOjAxNDYxODAwMjI3RgotOjEwM0U5RjAwOTA3NjkyRTAxNDYwMUQxNDcwMDJFMTU0MjQwMjYwMDJDNwotOjEwM0VBRjAwRTFFNDkwNzY5NDc0MDFGMDkwODAwMEYwRTQ5MDc2OEVDNwotOjEwM0VCRjAwRjBEMjMxMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGRjIyQgotOjEwM0VDRjAwRjA5MDdGRjM3NDMwRjA5MDdGRkY3NEZDRjA5MDc2OTc1MgotOjEwM0VERjAwRTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyRjBERQotOjEwM0VFRjAwOTA3RkYzNzQzNEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAzRQotOjEwM0VGRjAwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwOTAxQgotOjEwM0YwRjAwN0ZGMzc0NjRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNDQzOQotOjEwM0YxRjAwMDRGMDkwNzY5NEUwNDQwMUYwOTA4MDAwRjAzMDNGMDk3NwotOjEwM0YyRjAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA4QQotOjEwM0YzRjAwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDRGMDkwNzZFNwotOjEwM0Y0RjAwOEU3NDAxRjAyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0Y4QwotOjEwM0Y1RjAwRjJGMDkwN0ZGMzc0NDRGMDkwN0ZGRjc0RkNGMDkwNzY1MgotOjEwM0Y2RjAwOTdFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJBNgotOjEwM0Y3RjAwRjA5MDdGRjM3NDRDRjA5MDdGRkY3NEZDRjA5MDc2OTc4NQotOjEwM0Y4RjAwRTA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjAzQQotOjEwM0Y5RjAwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAyRAotOjEwM0ZBRjAwNDQwNEYwOTA3Njk0RTA1NEZFRjA5MDgwMDBGMDMwM0Y5RgotOjEwM0ZCRjAwMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFFMQotOjEwM0ZDRjAwRjA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNkYwOTBEQgotOjA2M0ZERjAwNzY4RTc0MDJGMDIyNTAKLToxMDE4MDAwMDkwNzY5MEUwMTQ2MDM3MTQ3MDAyMDFEODE0NzAwMjIxQjEKLToxMDE4MTAwMDcyMTQ3MDAyNDEzQjI0MDQ2MDAyNjEwMzkwN0ZGQzc0RTcKLToxMDE4MjAwMENDRjA5MDdGRkY3NEZDRjA5MDc2OTVFMDQ0MDFGMDU0OEEKLToxMDE4MzAwMDA1RjA5MDgwMDFGMEU0OTA3NjFBRjBDMjJFMjI5MDc2QTYKLToxMDE4NDAwMDk1RTA0NDAxRjA0NDAyRjAzMDNFMDZFMDQ0MDRGMDgwQUMKLToxMDE4NTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwN0EKLToxMDE4NjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyMjkwMjcKLToxMDE4NzAwMDdGRkM3NDc0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCNzMKLToxMDE4ODAwMEYwOTA3Njk3RTA1NEZERjBFNDkwNzY4MUYwOTA3NjgwQzkKLToxMDE4OTAwMEYwRUZCNDAyMjI5MDdGRkM3NDY4RjA5MDdGRkY3NEZDM0MKLToxMDE4QTAwMEYwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRjBFNDkwRjkKLToxMDE4QjAwMDc2ODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFODQKLToxMDE4QzAwMEYwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA1NEZCMjMKLToxMDE4RDAwMEYwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0RkVGMDQ0RjMKLToxMDE4RTAwMDAyRjAzMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0MjQKLToxMDE4RjAwMEZCRjA5MDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxQjQKLToxMDE5MDAwMEYwOTA3NjE5RTBGRkI0MDEyMjkwN0ZGQzc0MzBGMDkwRTMKLToxMDE5MTAwMDdGRkY3NEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RjQKLToxMDE5MjAwMEZERjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyMjkwQTIKLToxMDE5MzAwMDdGRkM3NDFDRjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGMDYKLToxMDE5NDAwMEYwOTA3Njk3RTA0NDAyRjBFNDkwNzY4MUYwOTA3NjgwMTMKLToxMDE5NTAwMEYwMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3M0MKLToxMDE5NjAwMEUwNDQwMUYwOTA3Njk3RTA1NEZCRjA5MDgwMDJGMEQyRDIKLToxMDE5NzAwMDJFMjI5MDc2OTVFMDQ0MDFGMDQ0MDJGMDQ0MDhGMDMwQzUKLToxMDE5ODAwMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwMkEKLToxMDE5OTAwMDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxRjA5MDc2OTgKLToxMDE5QTAwMDE5RTBGRkI0MDEyNTkwN0ZGQzc0Q0NGMDkwN0ZGRjc0QTgKLToxMDE5QjAwMEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RkRGMDU0MDUKLToxMDE5QzAwMEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyNTkwMDEKLToxMDE5RDAwMDdGRkM3NEM4RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGQkEKLToxMDE5RTAwMEYwOTA3Njk3RTA0NDAyRjA1NEZCRjBFNDkwNzY4MUYwQkEKLToxMDE5RjAwMDkwNzY4MEYwRUZCNDAzMjU5MDdGRkM3NDk4RjA5MDdGOTAKLToxMDFBMDAwMEZGNzRGQ0YwOTA3NjhGNzQ1RkYwOTA3Njk3RTA1NEZENTEKLToxMDFBMTAwMEYwNDQwNEYwRTQ5MDc2ODFGMDkwNzY4MEYwMzAzRjA5NTUKLToxMDFBMjAwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwQkUKLToxMDFBMzAwMDkwNzY5N0UwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0MzYKLToxMDFBNDAwMEZFRjA0NDAyRjA0NDA4RjAzMDNFMDZFMDQ0MDRGMDgwMkEKLToxMDFBNTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwNzgKLToxMDFBNjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyNTkwMjIKLToxMDFBNzAwMDdGRkM3NEI0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCMzEKLToxMDFBODAwMEYwOTA3Njk3RTA1NEZERjA1NEZCRjBFNDkwNzY4MUYwMEUKLToxMDFBOTAwMDkwNzY4MEYwRUZCNDAyMjU5MDdGRkM3NEIwRjA5MDdGRDgKLToxMDFBQTAwMEZGNzRGQ0YwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRUMKLToxMDFBQjAwMEYwNTRGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAzODAKLToxMDFBQzAwMDI1OTA3RkZDNzQ2OEYwOTA3RkZGNzRGQ0YwOTA3NjhGMTcKLToxMDFBRDAwMDc0NUZGMDkwNzY5N0UwNTRGREYwNDQwNEYwRTQ5MDc2NjMKLToxMDFBRTAwMDgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwRDgKLToxMDFBRjAwMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyMUUKLTowNDFCMDAwMEYwRDIyRTIyQ0YKLTowNDBDQTEwMDQxNzYyMzAwNzUKLToxMDJEQTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTIKLToxMDJEQjkwMDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MEZGNTgyREYKLToxMDJEQzkwMEU0MzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQxMEY1NkMKLToxMDJERDkwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGQTAKLToxMDJERTkwMDc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQxMEYwQUMKLToxMDJERjkwMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA1QTcKLToxMDJFMDkwMEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4M0U0M0EKLToxMDJFMTkwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1OTcKLToxMDJFMjkwMDgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGN0UKLToxMDJFMzkwMEY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0ODgKLToxMDJFNDkwMDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwMDkKLToxMDJFNTkwMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0NUMKLToxMDJFNjkwMDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzQkUKLToxMDJFNzkwMDc0MDNGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1QkEKLToxMDJFODkwMDgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0QzMKLToxMDJFOTkwMDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBFRjc1RjAwM0E0MzAKLToxMDJFQTkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDZGMEVGNzVGMDAzQTkKLToxMDJFQjkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwQzUKLToxMDJFQzkwMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1RUYKLToxMDJFRDkwMDgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1Q0UKLToxMDJFRTkwMEY1ODM3NDA0RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0M0IKLToxMDJFRjkwMDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQjEKLToxMDJGMDkwMEE0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwQUMKLToxMDJGMTkwMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA4RjBFRjc1ODIKLToxMDJGMjkwMEYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDkwNTkKLToxMDJGMzkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTAKLToxMDJGNDkwMDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyNEMKLToxMDJGNTkwMEU0MzQ3NUY1ODM3NDBBRjBFRjc1RjAwM0E0MjQxMEY1RDEKLToxMDJGNjkwMDgyRTQzNDc1RjU4Mzc0MDRGMDkwNzYzNkUwMDRGMEUwNzkKLToxMDJGNzkwMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyMTkKLToxMDJGODkwMEYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MkEKLToxMDJGOTkwMDA5RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzODQKLToxMDJGQTkwMDc0MDRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0OTEKLToxMDJGQjkwMDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MUQKLToxMDJGQzkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDdGMEVGNzVGMDAzODcKLTowRTJGRDkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwMjIwQwotOjEwM0JEMzAwRTQ5MDc2MzZGMEUwRkI3NUYwMEZBNDI0NDFGNTgyRTQxRgotOjEwM0JFMzAwMzQ3NUY1ODM3NDQwRjBFQjc1RjAwRkE0MjQ0MkY1ODIyRAotOjEwM0JGMzAwRTQzNDc1RjU4Mzc0MEFGMEVCNzVGMDBGQTQyNDQzRjVGMAotOjEwM0MwMzAwODJFNDM0NzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjBEOQotOjEwM0MxMzAwMEZBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDBGNgotOjEwM0MyMzAwQUM0NEVCNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNCMwotOjEwM0MzMzAwMTIzN0M4MDAwMTc3MDA5MDc2MzZFMDA0RjBFMEZCNzU5OAotOjEwM0M0MzAwRjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MEYwRUI1RQotOjEwM0M1MzAwNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDhDRjA3NwotOjEwM0M2MzAwRUI3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4MzEyMzcyMgotOjEwM0M3MzAwQzgwMDAwQUM0NEVCNzVGMDBGQTQyNDQ3RjU4MkU0MzQ4QwotOjEwM0M4MzAwNzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjAwRkE0MjQxQwotOjEwM0M5MzAwNEJGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDE3NzAwOTA0MQotOjEwM0NBMzAwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTREQQotOjEwM0NCMzAwMzQ3NUY1ODM3NDQwRjBFRjc1RjAwRkE0MjQ0MkY1ODI1OAotOjEwM0NDMzAwRTQzNDc1RjU4Mzc0OEZGMDkwNzYzNkUwMDRGMEUwRkYwQQotOjEwM0NEMzAwNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQxRjA0MwotOjEwM0NFMzAwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0ODRGMAotOjEwM0NGMzAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU3MAotOjEwM0QwMzAwODJFNDM0NzVGNTgzNzQ2MUYwRUY3NUYwMEZBNDI0NDJGNwotOjEwM0QxMzAwRjU4MkU0MzQ3NUY1ODM3NDgxRjA5MDc2MzZFMDA0RjAyRgotOjEwM0QyMzAwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0NAotOjEwM0QzMzAwNjFGMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM0NgotOjA0M0Q0MzAwNzQwMUYwMjJGNQotOjEwNDYxOTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRFNQotOjEwNDYyOTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTRERgotOjEwNDYzOTAwMzQ3NUY1ODM3NDAxRjA5MDc2MzZFMDA0RjBFMEZGNzU4NwotOjEwNDY0OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzVDMAotOjEwNDY1OTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwMkYwOTBGMQotOjEwNDY2OTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTQyNQotOjEwNDY3OTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTQ4RgotOjEwNDY4OTAwMzQ3NUY1ODM3NDAzRjA5MDc2MzZFMDA0RjBFMEZGNzUzNQotOjEwNDY5OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzU3MAotOjEwNDZBOTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwNEYwMjIwRAotOjEwM0E0MjAwRTQ5MDc2MzVGMDkwNzYzNUUwRkZDMzk0MDM0MDAyNDE2RQotOjEwM0E1MjAwRkZFRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNTgzRUYyQQotOjEwM0E2MjAwRjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTQzMwotOjEwM0E3MjAwRjBFRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNzQ5MgotOjEwM0E4MjAwRjBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODMwNQotOjEwM0E5MjAwNzRGRkYwRUY3NUYwMEFBNDI0QUVGNTgyRTQzNDc1RjVGNAotOjEwM0FBMjAwODNFNEYwRUY3NUYwMEFBNDI0QUZGNTgyRTQzNDc1RjVFRgotOjEwM0FCMjAwODM3NDgwRjBFRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVDMwotOjEwM0FDMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVDRAotOjEwM0FEMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVCQwotOjEwM0FFMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVBQgotOjEwM0FGMjAwRjU4Mzc0MDFGMDkwNzYzNUUwMDRGMDQxNDc5MDc2M0MwRQotOjEwM0IwMjAwNzQwQUYwRTRBM0YwOTA3NjM1NzQwM0YwOTA3NjNDRTAwQQotOjEwM0IxMjAwRkY5MDc2MzVFMEZFQzM5RjQwMDI2MUQyOTA3NjNERTA5MQotOjEwM0IyMjAwRkYwNEYwRUU3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjVEOAotOjEwM0IzMjAwODNFRkYwRUU3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU1OAotOjEwM0I0MjAwODNFNEYwRUU3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU1MgotOjEwM0I1MjAwODM3NDVFRjBFRTc1RjAwQUE0MjRBREY1ODJFNDM0NzU0OAotOjEwM0I2MjAwRjU4Mzc0QkFGMEVFNzVGMDBBQTQyNEFFRjU4MkU0MzQ1QgotOjEwM0I3MjAwNzVGNTgzNzQwNUYwRUU3NUYwMEFBNDI0QUZGNTgyRTRCRQotOjEwM0I4MjAwMzQ3NUY1ODM3NDgwRjBFRTc1RjAwQUE0MjRCMEY1ODJFMgotOjEwM0I5MjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMUY1ODJGRAotOjEwM0JBMjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMkY1ODJFQwotOjEwM0JCMjAwRTQzNDc1RjU4Mzc0MTVGMEVFNzVGMDBBQTQyNEIzRjVCOAotOjEwM0JDMjAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNUUwMDRGMDYxMEUxQQotOjAxM0JEMjAwMjJEMAotOjEwMDgwMDAwRTQ5MDc2MzFGMDkwNzYzMUUwRkY3NUYwMDNBNDI0MEY4OAotOjEwMDgxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0QQotOjEwMDgyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYzMUUwMDRGMDgwRDU1MQotOjEwMDgzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNCMQotOjEwMDg0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYzM0YwMjQyOQotOjEwMDg1MDAwRjA2MDBBMjQwRTYwMDI4MTg3MTI0QkM3MjI5MDdGRUQ2MAotOjEwMDg2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzNzc0MDE0NQotOjEwMDg3MDAwRjA5MDc2Mzk3NDAzRjA5MDc2MjFGMEU0OTA3NjIwRjBEMQotOjEwMDg4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MjBFMEZGNzVGMDBBQTRGNAotOjEwMDg5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1QQotOjEwMDhBMDAwRUU2RDYwMTI5MDc2MjFFMEZFRUZDMzlFNTAwODkwNzZDOAotOjEwMDhCMDAwMjBFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFNQotOjEwMDhDMDAwMTg3NDA2RjA5MDc2Mzc3NDA0RjA5MDc2Mzk3NDBBRjA1NAotOjEwMDhEMDAwOTA3NjIxRjA5MDc2MjA3NDAzRjA5MDdGRUFFMEY0NjA0NwotOjEwMDhFMDAwMkY5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2NAotOjEwMDhGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY4NAotOjEwMDkwMDAwMjFFMEZFRUZDMzlFNTAwODkwNzYyMEUwMDRGMDgwRDFGNQotOjEwMDkxMDAwOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVFRAotOjEwMDkyMDAwRjU4M0UwOTA3MjI5RjBFNDkwNzYzQkYwOTA3NjIxRTAzOAotOjEwMDkzMDAwRkVFRjZFNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJGMAotOjEwMDk0MDAwRTAxNDYwMTMxNDcwMDIyMUUyMjQwMjYwMDI4MTdGOTA5RgotOjEwMDk1MDAwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDE0NzA3QzkwN0Y0NgotOjEwMDk2MDAwRUFFMEY0NzA0ODkwNzYzN0UwOTA3NjIwRjA5MDc2Mzk5RgotOjEwMDk3MDAwRTBGRTkwNzYyMEUwRkRDMzlFNTAyQjkwNzYzQkUwRkU5QgotOjEwMDk4MDAwMDRGMDc0QzAyRUY1ODJFNDM0N0VGNTgzRTBGRUVENzU0QwotOjEwMDk5MDAwRjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRUVGMDkwNzY4QQotOjEwMDlBMDAwMjBFMDA0RjA4MEM3OTA3NjNGNzQwMUYwMjI5MDdFQzA3MgotOjEwMDlCMDAwRTBGRUVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODMwQwotOjEwMDlDMDAwRUVGMEUwQjQwMTA4OTA3NjNFNzQwMUYwODAwNUU0OTAwQQotOjEwMDlEMDAwNzYzRUYwOTA3NjNGNzQwMUYwMjI5MDdGQjRFMDQ0MDFCRgotOjEwMDlFMDAwRjAyMjkwN0ZFOUUwMjRGRTcwMDI0MUEzMTQ3MDAyNjFCRQotOjEwMDlGMDAwM0YxNDcwMDI2MURCMjQwMzYwMDI4MTc3OTA3RkVBRTA5QwotOjEwMEEwMDAwRjQ3MDZCOTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkZDNgotOjEwMEExMDAwOTA3NjIwRTBGRUMzOUY1MDRFOTA3NjNCRTBGRjA0RjBCRQotOjEwMEEyMDAwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBMgotOjEwMEEzMDAwQTQyNEFDRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCRTBDNgotOjEwMEE0MDAwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUVGRQotOjEwMEE1MDAwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTBDNwotOjEwMEE2MDAwNzYyMEUwMDRGMDgwQTQ5MDc2NDA3NDAxRjAyMjkwN0UxRAotOjEwMEE3MDAwQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBQ0Y1ODI3OQotOjEwMEE4MDAwRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEE3NwotOjEwMEE5MDAwQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjQxNzRDQgotOjEwMEFBMDAwMDFGMDIyOTA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzY2RAotOjEwMEFCMDAwMjBGMDkwNzYzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI2MAotOjEwMEFDMDAwODE4RTkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQxMQotOjEwMEFEMDAwN0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFFRjU4MkU0MzRERgotOjEwMEFFMDAwNzVGNTgzRUZGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjVDRQotOjEwMEFGMDAwODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFGRjVCRQotOjEwMEIwMDAwODJFNDM0NzVGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI2MwotOjEwMEIxMDAwOTA3RUMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUUzRgotOjEwMEIyMDAwRjU4MkU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzU1OQotOjEwMEIzMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRUZGMDIyOTAzNwotOjEwMEI0MDAwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzY1OQotOjEwMEI1MDAwMzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzZDMAotOjEwMEI2MDAwM0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBBRgotOjEwMEI3MDAwRkZFRTc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRUYzNgotOjEwMEI4MDAwRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGMQotOjEwMEI5MDAwRjU4M0UwRkZFRTc1RjAwQUE0MjRCMUY1ODJFNDM0NzUyNAotOjEwMEJBMDAwRjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTAyNAotOjEwMEJCMDAwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEIwRjU4MkU0MzRCQwotOjEwMEJDMDAwNzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjQ4NgotOjEwMEJEMDAwQjFGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFQUUwRjQxQQotOjEwMEJFMDAwNzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGOTA0RQotOjEwMEJGMDAwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2M0JFMEZGMDRBQQotOjEwMEMwMDAwRjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjBEQQotOjEwMEMxMDAwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JCNAotOjEwMEMyMDAwRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkYyQQotOjEwMEMzMDAwRUU3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU4M0VGRjA4MQotOjEwMEM0MDAwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwRkY5MDc2MjBCNQotOjEwMEM1MDAwRTBGRTc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUY2MgotOjEwMEM2MDAwRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0QjNGNTgyRTRCMwotOjEwMEM3MDAwMzQ3NUY1ODNFRkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTBDOAotOjBGMEM4MDAwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyMDEKLToxMDEwMDAwMEU0OTA3NjJDRjA5MDc2MkNFMEZGNzVGMDAzQTQyNDBGOEEKLToxMDEwMTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENDIKLToxMDEwMjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MkNFMDA0RjA4MEQ1NEUKLToxMDEwMzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQTkKLToxMDEwNDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MkVGMDI0MjYKLToxMDEwNTAwMEYwNjAwQTI0MEY2MDAyODE3RDEyNEJBNDIyOTA3RkVEODQKLToxMDEwNjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzg3NDAxM0MKLToxMDEwNzAwMEYwOTA3NjNBNzQwM0YwOTA3NjFDRjBFNDkwNzYxQkYwRDIKLToxMDEwODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjFCRTBGRjc1RjAwQUE0RjEKLToxMDEwOTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENTIKLToxMDEwQTAwMEVFNkQ2MDEyOTA3NjFDRTBGRUVGQzM5RTUwMDg5MDc2QzUKLToxMDEwQjAwMDFCRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTIKLToxMDEwQzAwMDE4NzQwNkYwOTA3NjM4NzQwNEYwOTA3NjNBNzQwQUYwNEEKLToxMDEwRDAwMDkwNzYxQ0YwOTA3NjFCNzQwM0YwOTA3RkVBRTBGNDYwNDkKLToxMDEwRTAwMDJGOTA3NjFCRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjEKLToxMDEwRjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2N0MKLToxMDExMDAwMDFDRTBGRUVGQzM5RTUwMDg5MDc2MUJFMDA0RjA4MEQxRjcKLToxMDExMTAwMEU0OTA3NjFFRjA5MDc2MUNFMEZGOTA3NjFCRTBGRTZGNjgKLToxMDExMjAwMDcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRTAxNDYwRkYKLToxMDExMzAwMDEzMTQ3MDAyMjFCRjI0MDI2MDAyODE3NTkwN0ZCNEUwMTUKLToxMDExNDAwMDQ0MDFGMDIyOTA3RkU5RTAyNDdGNzA2QjkwN0ZFQUUwMTkKLToxMDExNTAwMEY0NzA0QTkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTMKLToxMDExNjAwMDkwNzYxQkUwRkRDMzlGNTAyQkVENzVGMDBBQTQyNEFCRDUKLToxMDExNzAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkQwNEYwMUYKLToxMDExODAwMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwNTgKLToxMDExOTAwMDA0RjA4MEM3OTA3NjFFRTA5MDdGQjVGMDIyRUU3NUYwRTcKLToxMDExQTAwMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwNjcKLToxMDExQjAwMDkwN0ZCNTc0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwNUEKLToxMDExQzAwMDdGRTlFMDI0N0U3MDAyNDE3RTE0NzAwMjYxMjMxNDcwNzYKLToxMDExRDAwMDAyNjFDODI0MDM2MDAyODE2RDkwN0ZFQUUwRjQ3MDZEQzMKLToxMDExRTAwMDkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCOTAKLToxMDExRjAwMEUwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEFDRjU4MkU0RjEKLToxMDEyMDAwMDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJENDkKLToxMDEyMTAwMEY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEFEOTcKLToxMDEyMjAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNkQKLToxMDEyMzAwMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwQTYKLToxMDEyNDAwMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCOEIKLToxMDEyNTAwMEUwRkY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwNzAKLToxMDEyNjAwMDkwN0YwMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1QTgKLToxMDEyNzAwMEY1ODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQkIKLToxMDEyODAwMEVBRTBGNDcwNkQ5MDc2MzhFMDkwNzYxQkYwOTA3NjNBNTQKLToxMDEyOTAwMEUwRkY5MDc2MUJFMEMzOUY1MDRGRTBGRjc1RjAwQUE0N0IKLToxMDEyQTAwMDI0QUVGNTgyRTQzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMTEKLToxMDEyQjAwMDA0RjA3NDAwMkRGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RDEKLToxMDEyQzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0UwRkY5MDc2NEMKLToxMDEyRDAwMDFFRTBGRTA0RjA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGMDcKLToxMDEyRTAwMEYwOTA3NjFCRTAwNEYwODBBNDkwNzYxRUUwOTA3RkI1MkQKLToxMDEyRjAwMEYwMjI5MDc2MUJFMEZGNzVGMDBBQTQyNEFFRjU4MkU0OUMKLToxMDEzMDAwMDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVGMDBBQTQyNEFGMDgKLToxMDEzMTAwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MzkKLToxMDEzMjAwMDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2REIKLToxMDEzMzAwMDFCRjA5MDc2M0FFMEZGOTA3NjFCRTBDMzlGNTA0RkUwQTEKLToxMDEzNDAwMEZGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFMEZFNUQKLToxMDEzNTAwMDkwNzYxRUUwRkQwNEYwNzQwMDJERjU4MkU0MzQ3RkY1RjQKLToxMDEzNjAwMDgzRUVGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1NEMKLToxMDEzNzAwMDgzRTBGRjkwNzYxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MTgKLToxMDEzODAwMDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MzQKLToxMDEzOTAwMDFFRTA5MDdGQjVGMDIyOTA3NjFCRTBGRjc1RjAwQUE0NjYKLToxMDEzQTAwMDI0QjBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjBFRjc1QUEKLToxMDEzQjAwMEYwMEFBNDI0QjFGNTgyRTQzNDc1RjU4M0UwOTA3RjAxNEUKLToxMDEzQzAwMEYwOTA3RkI1NzQwMkYwMjI5MDdGRUFFMEY0NzA2RDkwQTcKLToxMDEzRDAwMDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQkUwNEUKLToxMDEzRTAwMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0QTUKLToxMDEzRjAwMDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyREY1OTcKLToxMDE0MDAwMDgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRCM0Y1OUYKLToxMDE0MTAwMDgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDc0RkMKLToxMDE0MjAwMDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDA0MjQKLToxMDE0MzAwMEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQkUwQkQKLToxMDE0NDAwMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFMDkwQzgKLToxMDE0NTAwMDdGMDBGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1NEIKLToxMDE0NjAwMDgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkI0MEEKLToxMDE0NzAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0NzgKLTowNTE0ODAwMEUwNDQwMUYwMjIzMAotOjEwMzg3NDAwRTQ5MDc2MjlGMDkwNzYyOUUwRkY3NUYwMEZBNDI0NDJCNQotOjEwMzg4NDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRBNwotOjEwMzg5NDAwNjAwRUVGQzM5NDA2NTAwODkwNzYyOUUwMDRGMDgwRDVCQQotOjEwMzhBNDAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEYwNgotOjEwMzhCNDAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyQUYwMjQ1QgotOjEwMzhDNDAwQkY3MDAyNDE0MTI0RTA3MDAyNDExMjI0MjE2MDAyNDE5MAotOjEwMzhENDAwM0E5MDdGRTlFMDI0RkU2MDdEMTQ3MDAyMjFCMjI0MDI1NAotOjEwMzhFNDAwNjAwMjQxMEExMjE3NTE5MDc2NDJFMEZDQTNFMEZEQTM2NgotOjEwMzhGNDAwRTBGRUEzRTBGRjkwNzYyOUUwNzVGMDBGQTQyNDQzRjVFMQotOjEwMzkwNDAwODJFNDM0NzVGNTgzMTIzN0JDOTA3NjE5RTBGRkI0MDE3NAotOjEwMzkxNDAwMTI5MDc2N0M3NDY3RjA5MDc2N0Q3NDA2RjA5MDc2N0VEMwotOjEwMzkyNDAwNzQwQkYwRUZCNDAyMEZFNDkwNzY3Q0YwOTA3NjdERjBBNwotOjEwMzkzNDAwOTA3NjdFNzQwQ0YwRUZCNDAzMEZFNDkwNzY3Q0YwOTBGNAotOjEwMzk0NDAwNzY3REYwOTA3NjdFNzQxOEYwOTA3NjFBNzQwMUYwMTJGOQotOjEwMzk1NDAwM0U5RjEyMTgwMDIyOTA3RUMyRTBGRkU0RkNGREZFRkJCNQotOjEwMzk2NDAwRkE3OTAxRjgxMjM3NDZDOEVDQzhDOUVEQzlDQUVFQ0FEQgotOjEwMzk3NDAwQ0JFRkNCOTA3RUMxRTBGRUU0RkNGRDJCRkJFQTNFRkFFQwotOjEwMzk4NDAwRUQzOUY5RUMzOEY4OTA3RUMwRTBGRkU0RkVFQjJGRkY1MAotOjEwMzk5NDAwRUUzQUZFRUQzOUZERUMzOEZDOTA3NjI5RTA3NUYwMEYzNwotOjEwMzlBNDAwQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QkMyMjkwN0U1MwotOjEwMzlCNDAwQzJFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIzNzQ2QzhDOQotOjEwMzlDNDAwRUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwN0VDMUUwRkUwQwotOjEwMzlENDAwRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGODkwN0U3NQotOjEwMzlFNDAwQzBFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGREVDMzhDQwotOjEwMzlGNDAwRkM5MDc2MjlFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzUyRAotOjEwM0EwNDAwRjU4MzEyMzdCQzIyOTA3RkI0RTA0NDAxRjAyMjkwN0YwQQotOjEwM0ExNDAwRTlFMDE0NzAxOTkwN0VDMEUwRkY5MDc2MjlFMDc1RjAxQgotOjEwM0EyNDAwMEZBNDI0NEZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFMAotOjBFM0EzNDAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjlGCi06MTAyQUQ2MDBFNDkwNzYyN0YwOTA3NjI3RTBGRjc1RjAwRkE0MjQ0MjY1Ci06MTAyQUU2MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDUzCi06MTAyQUY2MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI3RTAwNEYwODBENTY4Ci06MTAyQjA2MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRkIxCi06MTAyQjE2MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjI4RjAyNDA4Ci06MTAyQjI2MDA5RjcwMDJBMTc0MjQyMTYwMDJBMUExOTA3RkU5RTAyNDk0Ci06MTAyQjM2MDA3RTcwMDI2MUZDMTQ3MDAyODFCNTI0MDI2MDAyQTE2Q0YxCi06MTAyQjQ2MDBFRjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0I5Ci06MTAyQjU2MDBBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5MDA3ODE2Ci06MTAyQjY2MDAwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzNzRBQ0FCCi06MTAyQjc2MDBGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDRCCi06MTAyQjg2MDAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGRDRECi06MTAyQjk2MDBBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQzMxMjM2Ci06MTAyQkE2MDAzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwRTRBMzdFCi06MTAyQkI2MDBGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNEFCCi06MTAyQkM2MDA0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRTYzCi06MTAyQkQ2MDBBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QUI2MEY4Ci06MTAyQkU2MDAwMkExQTg5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGCi06MTAyQkY2MDA3RkI1NzQwM0YwMjI5MDc2MjdFMDc1RjAwRkE0MjQ0NzgyCi06MTAyQzA2MDBGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0MyCi06MTAyQzE2MDBFMEZGN0I0NDdBQUM3OTAwNzgwMEMzMTIzN0FCNzAxM0JGCi06MTAyQzI2MDA5MDdGMDA3NDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNUY5Ci06MTAyQzM2MDA3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDNDCi06MTAyQzQ2MDAzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjgzCi06MTAyQzU2MDA4MDdBQkI3OTAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDdGCi06MTAyQzY2MDA3NDgwRjBBMzc0QkJGMEU0QTNGMDkwN0ZCNTc0MDNGMDE2Ci06MTAyQzc2MDA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDM0NzVGNUM1Ci06MTAyQzg2MDA4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjAwN0E3N0YwCi06MTAyQzk2MDA3OTAxNzgwMEMzMTIzN0FCNjAwMkExQTg5MDdGMDBGMERCCi06MTAyQ0E2MDBBMzc0NzdGMEEzNzQwMUYwOTA3RkI1NzQwM0YwMjI5MEJCCi06MTAyQ0I2MDA3NjI3RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4MzhFCi06MTAyQ0M2MDBFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTQxCi06MTAyQ0Q2MDAwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBM0UyCi06MTAyQ0U2MDA3NEFDRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDFGCi06MTAyQ0Y2MDA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBMzRDCi06MTAyRDA2MDBFMEZEQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEJDCi06MTAyRDE2MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEJFCi06MTAyRDI2MDBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRjdBCi06MTAyRDM2MDBBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0ZGCi06MTAyRDQ2MDBFMEZFQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0IzCi06MTAyRDU2MDBBQjcwNEY5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MEVFCi06MTAyRDY2MDA3RkI1NzQwM0YwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3Rjk3Ci06MTAyRDc2MDBFOUUwMjQ3RjcwMUU5MDc2MjdFMDc1RjAwRkE0MjQ0RkJCCi06MTAyRDg2MDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDdGQjU3NEFBCi06MTAyRDk2MDAwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NEY2Ci06MDMyREE2MDAwMUYwMjIxNwotOjEwNEJBNDAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTI4RQotOjEwNEJCNDAwNDk1ODIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQ0RAotOjAzNEJDNDAwMDFGMDIyREIKLToxMDRCQzcwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjRBQjEKLToxMDRCRDcwMDAzMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxQzcKLTowMjRCRTcwMEYwMjJCQQotOjEwNDk1ODAwRTQ5MDc2MjZGMDkwNzYyNkUwRkY3NUYwMDNBNDI0MzRFMAotOjEwNDk2ODAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRCMgotOjEwNDk3ODAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNkUwMDRGMDgwRDVDQQotOjEwNDk4ODAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDMxRgotOjEwNDk5ODAwQTQyNDMyRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTAyQQotOjA2NDlBODAwN0ZCNTc0MDFGMDIyNEUKLToxMDRBMDMwMEU0OTA3NjI1RjA5MDc2MjVFMEZGNzVGMDAzQTQyNDM0MzYKLToxMDRBMTMwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEMDYKLToxMDRBMjMwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjVFMDA0RjA4MEQ1MUYKLToxMDRBMzMwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMjkwN0VDMEUwMUMKLToxMDRBNDMwMEZFRUY3NUYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0VFQUEKLTowMjRBNTMwMEYwMjI0RgotOjAzMDAwMzAwMDIwRkZERUMKLTowMzBGRkQwMEMyODkzMjc0Ci06MDMwMDEzMDAwMjE3RkRENAotOjAzMTdGRDAwQzI4QjMyNkEKLTowMzAwNEIwMDAyNEUwMzVGCi06MDQ0RTAzMDA1MzkxREYzMkI2Ci06MDMwMDUzMDAwMjQ4RkE2NgotOjA2NDhGQTAwNTM5MUJGRDIyRDMyRTQKLTowMzAwNUIwMDAyNERGRDU2Ci06MDY0REZEMDA1MzkxN0ZEMjJDMzIxRAotOjAzMDA2MzAwMDI0RTA3NDMKLTowNDRFMDcwMDUzRDhGNzMyNTMKLTowMzAwMEIwMDAyNEUwRjkzCi06MDM0RTBGMDBDMjhEMzIxRgotOjAzMDAxQjAwMDI0RTEyODAKLTowMzRFMTIwMEMyOEYzMjFBCi06MDMwMDIzMDAwMjRERUY5QwotOjA3NERFRjAwNTM5OEZFNTM5OEZEMzJCQQotOjAzMDAzQjAwMDI0REY2N0QKLTowNzRERjYwMDUzQzBGRTUzQzBGRDMyNjMKLTowMzAwMkIwMDAyNDgwMDg4Ci06MTA0ODAwMDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMDMyCi06MTA0ODEwMDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkVECi06MTA0ODIwMDBDMEUwQzJDQUMyQ0Y5MDdGOThFMDQ0MDFGMDMwMkUwM0FFCi06MTA0ODMwMDAxMjE0QTY5MDdGOThFMDU0RkVGMDUzQThGQTEyMTY2MTY1Ci06MTA0ODQwMDBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMDM3Ci06MTA0ODUwMDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMDI4Ci06MDM0ODYwMDBEMEUwMzI3MwotOjEwNEFBNjAwRTQ5MDc2OUJGMDkwNzY5QkUwRkYwNEYwRUY2MDA4RTBFMAotOjEwNEFCNjAwMjQwOEY4RTRGNjgwRUU5MDc2OTZFMDQ0MDRGMDQ0MDg4NAotOjEwNEFDNjAwRjA5MDgwMDNGMEU0RjUxOEQyMzVGNTBFRjUxMEQyMzZFNQotOjEwNEFENjAwNzUxMjExNzUxMzIyQzIzN0MyMzlDMjM4RjUxNkY1MTQ4QwotOjBCNEFFNjAwRjUxQUY1MERDMjNCQzIzQ0MyM0QyMjk4Ci06MTAzMDAwMDA5MDdGQjZFMDIwRTEwMkMyM0REMjM2MjAzNjAyNDE2RTBBCi06MTAzMDEwMDAzMDNEMDI0MTZFOTA4MDA3RTA2MDA0RDIzNjgwMDJDMkVCCi06MTAzMDIwMDAzNjIwMzYwMjQxMkVEMjM1RTRGNTFBOTA4MDA0RTBGNUMwCi06MTAzMDMwMDAxOTc0MDgyNTBFRjhBNjE5ODUxOTE4RTUxODIwRTcwNDUzCi06MTAzMDQwMDBEMjM4ODAwMkMyMzgzMDM4MDIyMUQ0RTRGNTE2RTUxOUFFCi06MTAzMDUwMDBCNEYwMENEMjM5NzUwODA0NzUwOUYwMDUwRTgwMDIwNTJDCi06MTAzMDYwMDAxNkU1MTk2NEY3NzAzREMyMzlFNTBFMjRGRTYwMTcxNEE5Ci06MTAzMDcwMDA2MDIyMjQwMzcwMjk3NTA4MDU3NTA5RjdFNEY1MEFGNTNGCi06MTAzMDgwMDAwQjc1MEUwNDgwMjA3NTA4MDY3NTBBRjdFNEY1MEI3NUJDCi06MTAzMDkwMDAwRTA0ODAxMjc1MDgwNzc1MEJGNzc1MEUwNDgwMDcxMjcxCi06MTAzMEEwMDA0RERBODAwMjA1MTZFNTE5NTRGODY0Rjg3MDNCQzIzNTE0Ci06MTAzMEIwMDBFNTE5MjQwNzYwMEMyNEZDNjAwODI0MDUyNEY4NTAwNjU4Ci06MTAzMEMwMDA4MDA4RDIzQTgwMDZDMjNBODAwMkQyM0E3NTFBMDEyMEFDCi06MTAzMEQwMDAzQTE5OTA3RTgwNzQwRkYwQTNFNTE5RjBFNEEzRjBBM0YxCi06MTAzMEUwMDBGMDkwN0ZCNzc0MDRGMDgwMDIwNTE2MjAzOTZERTUxOTYxCi06MTAzMEYwMDA2NEY3NjA2N0U1MUE3MDYzRTUxODU0RjA2NEYwNzA1OTdFCi06MTAzMTAwMDA4NTE4MTlGNTBFRTUxOTI0MEY2MDFCMjRGRTYwMTcyNDlECi06MTAzMTEwMDBGRDYwMjIxNDYwMUYyNDA1NzAyRjc1MDgwMzA1MEU4NUJECi06MTAzMTIwMDAxODA5RDIzNzgwMjg3NTA4MDIwNTBFODUxODA5NzUxNDBDCi06MTAzMTMwMDAwMUQyMzc4MDE5NzUwODA1MDUwRTg1MTgwOUU0RjUwQUNFCi06MTAzMTQwMDBGNTBCNzUwRTAzRDIzNzgwMDUxMjREREFDMjM1MzAzNUQ2Ci06MTAzMTUwMDAwQTg1MDgxMzg1MTgxMjgwMDIwNTE2ODUxODE5RTUxNkM4Ci06MTAzMTYwMDA2NDA0NzA2MkY1MEVFNTE5NTRGMEY1MTlGNTE1ODUxODJCCi06MTAzMTcwMDAxOUU1MTUyNDcwNjAxODI0RjA2MDE0MjRGMDYwMTAyNDAwCi06MTAzMTgwMDBGMDYwMUUyNEYwNjAxQTI0RjA2MDA0MjQ2MDcwMjdFNUNCCi06MTAzMTkwMDAxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOUQyMzc4MEE2Ci06MTAzMUEwMDAxQUU1MTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDk3NUFCCi06MTAzMUIwMDAxNDAxRDIzNzgwMDUxMjREREFDMjM1MzAzNTBBODUxOTJGCi06MTAzMUMwMDAxMzg1MTgxMjgwMDIwNTE2RTUxNkQzOTQwNTQwNTcxMjkwCi06MTAzMUQwMDA0RERBODA1MjMwMzkxN0U1MEU3MDBBODUwODA5NzUwOEY2Ci06MTAzMUUwMDAwNDA1MEU4MDQxNzQwODI1MEVGOEE2MTk4MDM4MjAzNzkyCi06MTAzMUYwMDAyQUU1MEVCNDAxMEY4NTA4MEE4NTA5MEI4NTEzMDg4NTk5Ci06MTAzMjAwMDAxMjA5NzUwRTA0RTUxNEI0MDExQzg1MDgwQUU0RjUwQkQ3Ci06MTAzMjEwMDA4NTEzMDg4NTEyMDk3NTBFMDQ4MDBCRTUxNEI0MDEwNkE4Ci06MTAzMjIwMDBFNEY1MEI3NTBFMDRFNEY1MUEzMDM1MDIwNTBFRTUwRUQzCi06MTAzMjMwMDBEMzk0MDM1MDAyMDEwQkMyMzdFNEY1MEVGNTEwQzIzNkU5Ci06MTAzMjQwMDBEMjNERjUxNDc0MDgyNTEwRjhFNkZGNzQ4MDI1MTBGNUJBCi06MTAzMjUwMDA4MkU0MzQ3RUY1ODNFRkYwNzQwODI1MTBGOEU0RjYwNTc3Ci06MEYzMjYwMDAxMEU1MTBCNDA0REU5MDdGQjc3NDA0RjAwMTBCMjI2OAotOjBDNEREQTAwQzIzN0U0RjUwRUY1MTBDMjM2RjUxNDIyQzUKLToxMDQwMDAwMEU1MTFEMzk0MDA1MDAyMjEwNjkwNzY4OUUwQzM5NDA4MEMKLToxMDQwMTAwMDQwMDIyMTA2NzQ0MDI1MEZGNTgyRTQzNDdFRjU4M0UwRUEKLToxMDQwMjAwMEY1MTdFNTBENjAwRTkwODAwNUU1MTdGMDkwNzY4OUUwQjQKLToxMDQwMzAwMDA0RjAwMURBRTUxNzEyMzdGOTQwQzEwMjQwNjcwNTQwODQKLToxMDQwNDAwMDdBMDY0MDk4MDc0MEMxMEM0MEMxMEQ0MEM3MEY0MENCRDUKLToxMDQwNTAwMEY2NDBDQkY4NDBDQkZBNDBDQkZCNDBDQkZDNDBDQkZFNEMKLToxMDQwNjAwMDQwQ0JGRjAwMDA0MERBOTA3RTQxRTA5MDgwMDVGMDkwNjgKLToxMDQwNzAwMDc2ODlFMDA0RjA3NTExMDE4MDYwOTA3RTQxRTA5MDgwQzcKLToxMDQwODAwMDA1RjA5MDdFNDJFMDkwODAwNUYwOTA3Njg5RTAwNEYwQTMKLToxMDQwOTAwMEUwMDRGMDc1MTEwMTgwNDI5MDdFNDFFMDkwODAwNUYwQ0YKLToxMDQwQTAwMDkwN0U0MkUwOTA4MDA1RjA5MDdFNDNFMDkwODAwNUYwQTUKLToxMDQwQjAwMDkwNzY4OUUwMDRGMEUwMDRGMEUwMDRGMDc1MTEwMTgwRUUKLToxMDQwQzAwMDE5RDIzQkQyM0M4MDEzRDIzQjgwMEY5MDgwMDVFNTE3N0MKLToxMDQwRDAwMEYwOTA3Njg5RTAwNEYwNzUxMTAxMjAzQjA0MDUwRDgwMTUKLToxMDQwRTAwMDFGMzAzQzFDOTA3RTQxRTA5MDgwMDVGMDkwN0U0MkUwQzUKLToxMDQwRjAwMDkwODAwNUYwOTA3Njg5RTAwNEYwRTAwNEYwNzUxMTAxRkQKLToxMDQxMDAwMDA1MEYxNTExMDEwMEU1MTE3MDEwQzIzM0Y1MERGNTBGMDMKLTowQjQxMTAwMDkwN0ZDNzc0MDRGMEMyM0JDMjNDMjI0OQotOjEwNEMyOTAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTI1NQotOjBBNEMzOTAwNEQ5RDkwN0ZENkUwNTRGRUYwMjI1RQotOjEwNEI3RjAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwNDIwNEUwNDQ2QwotOjEwNEI4RjAwMDJGMDdGREM3RTA1MTI0RDlEOTA3RkQ2RTA1NEY3RjA0QQotOjA1NEI5RjAwRTA0NDA0RjAyMkQ3Ci06MTA0RDlEMDA4RTM1OEYzNkU1MzYxNTM2QUUzNTcwMDIxNTM1NEU2MENCCi06MDc0REFEMDAwNTEyMTQ4NTgwRUUyMkJGCi06MTA0QTU1MDBFNEZFNzUxREZGNzUxRTA1NzUxRjEyQUIxREFBMUVBOTY3Ci06MTA0QTY1MDAxRjkwMDAwMTEyMzZBQjY0MDI3MDJGQ0RFRUNEMEVFRDE2Ci06MTA0QTc1MDA2RjcwMDEyMjkwMDAwMjEyMzcwRTg1RjAxQkY1MUM2MjQzCi06MTA0QTg1MDAxQkU1MUI2MjFDRTUxQzYyMUIyOUZERTUxQjNBQzlFREY0Ci06MTA0QTk1MDBDOTc1MURGRkY1MUU4OTFGODBDMTdCMDA3QTAwNzkwMDRECi06MDE0QUE1MDAyMkVFCi06MDQxNzk0MDA4RDI5OEIyQUU2Ci06MTAxNzk4MDAxMjRBNTVFQTQ5NjA1NzEyMzY5MjdFMDAyOUZGRUUzQUZFCi06MTAxN0E4MDBDOUVGQzk3NTJCRkZGNTJDODkyREFCMkJBQTJDQTkyREI4Ci06MTAxN0I4MDA5MDAwMDExMjM2QUJGRjY0MDQ2MDA1RUY2NDA1NzAyRURCCi06MTAxN0M4MDBFRkI0MDQxNTkwMDAwMjEyMzZBQjY1Mjk3MDBCOTAwMDM3Ci06MTAxN0Q4MDAwMzEyMzZBQjY1MkE3MDAxMjIxMjM2OTI3RTAwMjlGRjY5Ci06MTAxN0U4MDBFRTNBQzlFRkM5NzUyQkZGRjUyQzg5MkQ4MEJDN0IwMDFCCi06MDQxN0Y4MDA3QTAwNzkwMEZBCi06MDExN0ZDMDAyMkNBCi06MDI0N0I3MDA4RjJFNDMKLToxMDQ3QjkwMEU0RjUyRjc1MzBGRjc1MzEwNzc1MzIxQUFCMzBBQTMxMjAKLToxMDQ3QzkwMEE5MzI5MDAwMDExMjM2QUJCNDAzMUZBRjJGMDUyRkVGQUEKLToxMDQ3RDkwMDY1MkU3MDAxMjIxMjM2OTI3RTAwMjlGRkVFM0FDOUVGNEEKLToxMDQ3RTkwMEM5NzUzMEZGRjUzMTg5MzI4MEQyN0IwMDdBMDA3OTAwQjIKLTowMTQ3RjkwMDIyOUQKLToxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MTEwMTAwMDEwMTAyRkYKLToxMDA1MTAwMDAwMDEwOTAyMDgwMjA1MDEwMDgwMzIwOTA0MDAwMDAwMDAKLToxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKLToxMDA1MzAwMDAyMDEwMTAxMDAwMjAwMDAwMDAwMEQyNDA2MDUwMTAyNzUKLToxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDkyNDAzMDIwNDAzMDAwNTAwNkEKLToxMDA1NTAwMDBDMjQwMjAzMDUwMjAwMDYwMDAwMDAwMDE1MjQwNjA2MTQKLToxMDA1NjAwMDAzMDIwMDAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwNzQKLToxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKLToxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKLToxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKLToxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKLToxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNTAwMDkwNDAxODUKLToxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMTEyNDAyQkYKLToxMDA1RDAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NDkKLToxMDA1RTAwMDBBMDU0NjAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1RTgKLToxMDA1RjAwMDhGMDEwMzAwMDEwNTAwMDkwNDAyMDAwMDAxMDIwMDAwNTAKLToxMDA2MDAwMDA5MDQwMjAxMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwQTUKLToxMDA2MTAwMDBFMjQwMjAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1NTIKLToxMDA2MjAwMDhDMDU0QzAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0QUUKLToxMDA2MzAwMDAyMDIwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAwRTI0NEYKLToxMDA2NDAwMDAyMDEwNjAzMTgwMjQ0QUMwMDgwQkIwMDA5MDU4QzA1QkEKLToxMDA2NTAwMDcyMDMwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMjAzRTMKLToxMDA2NjAwMDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMUQKLToxMDA2NzAwMDAyMDIxMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMjYKLToxMDA2ODAwMDA1ODQwMTAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyQTEKLToxMDA2OTAwMDA0MDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyRUEKLToxMDA2QTAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NzgKLToxMDA2QjAwMDhDMDU0NjAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MjQKLToxMDA2QzAwMDAzMDAwMDAxMDEwMDAwMDkyNDAxMDAwMTA5MDAwMTA0RTgKLToxMDA2RDAwMDA5MDQwNDAwMDIwMTAzMDAwMDA3MjQwMTAwMDEyNDAwQjIKLToxMDA2RTAwMDA2MjQwMjAxMDcwMDA5MjQwMzAyMDgwMTA3MDEwMDA2OEQKLToxMDA2RjAwMDI0MDIwMjA5MDAwOTI0MDMwMTBBMDEwOTAxMDAwOTA1NzUKLToxMDA3MDAwMDAxMDIwNDAwMDAwMDAwMDUyNTAxMDEwNzA5MDU4MTAyMUUKLToxMDA3MTAwMDA0MDAwMDAwMDAwNTI1MDEwMTBBMDQwMzA5MDQxODAzNzAKLToxMDA3MjAwMDQ1MDA2RDAwNjEwMDY3MDA2OTAwNjMwMDIwMDA0NzAwMUMKLToxMDA3MzAwMDZEMDA2MjAwNDgwMDIyMDM0NTAwNkQwMDYxMDA2NzAwMDMKLToxMDA3NDAwMDY5MDA2MzAwMjAwMDQ1MDA0RDAwNDkwMDIwMDAzNjAwOEMKLToxMDA3NTAwMDdDMDAzMjAwMjAwMDZEMDAyQTAzNDMwMDZGMDA2RTAwMTEKLToxMDA3NjAwMDY2MDA2OTAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwMkUKLToxMDA3NzAwMDZGMDA2RTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNkMKLToxMDA3ODAwMDY3MDAyMjAzNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNzUKLToxMDA3OTAwMDYxMDA2MzAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUKLTowNjA3QTAwMDZFMDA2NzAwMDAwMDdFCi06MTAxNDg1MDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTdBCi06MDExNDk1MDAyMjM0Ci06MTAxNDk2MDA5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkUwCi06MTAxNEE2MDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMERDCi06MTAxNEI2MDA4Q0UwQzBFMEMwODJDMDgzMDU4NkMwODRDMDg1N0QwMDA0Ci06MTAxNEM2MDA5MDdGRTM3NDdCRjBBMzc0ODBGMDdDMTE5MDdGOTlFMEE5Ci06MTAxNEQ2MDA1NDQwREMwMzAyMTRGM0I0MDAxMzkwN0ZFMjc0NDBGMDJFCi06MTAxNEU2MDA5MDdGRTVGMDkwN0ZFMjc0MDBGMDAyMTREMjkwNzY5MDNGCi06MTAxNEY2MDBFMEI0MDExMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMENCCi06MTAxNTA2MDA5MDdGNkMwMjE1NTdCNDAyMTI5MDc2OEZFMDJERkQ5MEY1Ci06MTAxNTE2MDA3RkUyNzQ4MEYwOTA3RjZDMDIxNTk2QjQwMzEyOTA3Njg5Ci06MTAxNTI2MDA4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTVFMUQ0Ci06MTAxNTM2MDBCNDA0MTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjA5MEQ3Ci06MTAxNTQ2MDA3RjZDMDIxNjEwOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNjFBCi06MTAxNTU2MDA0MEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERjI3REI5Ci06MTAxNTY2MDAwMjA1ODY5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNEZECi06MTAxNTc2MDAwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMDJECi06MTAxNTg2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERENDAyMTY0MEZDCi06MTAxNTk2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDQ1Ci06MTAxNUE2MDBGMEYwRERFQzdEMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjFFCi06MTAxNUI2MDA5QkUwNTQwNEI0MDAwNTA1ODYwMjE2NDA5MDdGRTI3NDUxCi06MTAxNUM2MDA4MEYwMDU4NkYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERBCi06MDYxNUQ2MDBGMEYwRjBGMEYwRjA2RgotOjEwMTVEQzAwRERDRTAyMTY0MEYwRjBGMEYwRERGQTdEMDIwNTg2OTBDQgotOjEwMTVFQzAwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1ODYwNAotOjEwMTVGQzAwMDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwREQ4QQotOjEwMTYwQzAwREMwMjE2NDBGMEYwRjBGMEYwRjBEREY4N0QwMjA1ODYxQgotOjEwMTYxQzAwOTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDVDOQotOjEwMTYyQzAwODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBCMAotOjEwMTYzQzAwRjBGMEREREE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODY3RQotOjEwMTY0QzAwRDA4M0QwODJEMEUwRkNEMEUwRkREMEUwRkVEMEUwRkYzMwotOjA1MTY1QzAwRDBFMEQwRDAyMjE3Ci06MTAxNjYxMDBDMEQwQzBFMEMwODJDMDgzOTA3NjdDRTA5MDdGNkZGMEY0Ci06MTAxNjcxMDA5MDc2N0RFMDkwN0Y2RkYwOTA3NjdFRTA5MDdGNkZGMEM2Ci06MDkxNjgxMDBEMDgzRDA4MkQwRTBEMEQwMjI0OQotOjEwMTY4QTAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwQzA4MkMwODM3RQotOjEwMTY5QTAwMDU4NkMwODRDMDg1OTA3Njg3RTBGRkJGMDAwMzAyMTdFNQotOjEwMTZBQTAwMDE5MDdGOTZFMDQ0ODBGMDkwN0ZFMjc0ODBGMDkwN0YxMgotOjEwMTZCQTAwNjJFMDA1ODY5MDdGRTI3NDAwRjA5MDdGOTZFMDU0N0ZBNgotOjEwMTZDQTAwRjA5MDdGRTI3NDgwRjA5MDc2OEVFMEI0MDEwNTA1ODY5MgotOjEwMTZEQTAwMDIxNkY2QjQwMjA1MDU4NjAyMTZFQjA1ODYwMjE2RkIwQgotOjEwMTZFQTAwRTBFMEUwRTBFMEUwREZGODAyMTZGQkUwRTBFMEUwREY2NwotOjEwMTZGQTAwRkE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODZEMDgzRDAzQQotOjBDMTcwQTAwODJEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODIKLToxMDE3MTYwMEMwODJDMDgzQzBFMEU4QzBFMDc4RDFFODE0Rjg3MEZCNkUKLTowQTE3MjYwMEQwRTBGOEQwRTBEMDgzRDA4MjIyOUEKLToxMDBDQTUwMDQxNzIwMTAxNDU3MjA1MDAwMkM5MDAwMDQ1NzIwQTAwNDIKLToxMDBDQjUwMDAxMDIwMzA0NEQ3MjBGRDEwMEQxMDAwMDAwMDAwMDAwQjUKLToxMDBDQzUwMDI4MjgwOTAwNEQ3MjFDMDEwMDAxMDIwMzA0MDUwNjA3Q0UKLToxMDBDRDUwMDA4MDkwQTBCNDE3MjJFMjI0MTcyMkYyMzQxNzIzMDIwREUKLToxMDBDRTUwMDQxNzIzMTIxNjJEMjcyM0EwMDAwMDAwMDAwMDAwMDAwMUEKLToxMDBDRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDBEMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDBEMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDBEMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDBEMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDBENDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDBENTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDBENjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDBENzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxNjgKLToxMDBEODUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxNEUKLToxMDBEOTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxM0UKLToxMDBEQTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMkUKLToxMDBEQjUwMDAxMDEwMTAxMDEwMTAxMDEwMjAyMDIwMjAyMDIwMjAyMTYKLToxMDBEQzUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRkUKLToxMDBERDUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRUUKLToxMDBERTUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyREUKLToxMDBERjUwMDAyMDIwMjAyMDIwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQzMKLToxMDBFMDUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQUQKLToxMDBFMTUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOUQKLToxMDBFMjUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOEQKLToxMDBFMzUwMDAzMDMwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NkYKLToxMDBFNDUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NUQKLToxMDBFNTUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NEQKLToxMDBFNjUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0M0QKLToxMDBFNzUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MUQKLToxMDBFODUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MEQKLToxMDBFOTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1RkQKLToxMDBFQTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNjA2RUIKLToxMDBFQjUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2Q0QKLToxMDBFQzUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QkQKLToxMDBFRDUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QUQKLToxMDBFRTUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNzA3MDcwODA4OTYKLToxMDBFRjUwMDA4MDkwOTA5MEEwQTBBMEIwQjBCMEMwQzBDMEQwRDBENDAKLToxMDBGMDUwMDBFMEUwRTBGMEYwRjEwMTAxMDExMTExMTEyMTIxMjEzRDkKLToxMDBGMTUwMDEzMTMxNDE0MTQxNTE1MTUxNjE2MTYxNzE3MTcxODE4NzQKLToxMDBGMjUwMDE4MTkxOTE5MTkxQTFBMUExQTFCMUIxQjFCMUMxQzFDMTgKLToxMDBGMzUwMDFDMUQxRDFEMUQxRTFFMUUxRTFGMUYxRjFGMjAyMDIwQzgKLToxMDBGNDUwMDIxMjEyMTIyMjIyMjIzMjMyNDI0MjUyNTI2MjYyNzI3NjEKLToxMDBGNTUwMDI4MjgyOTI5MkEyQTJCMkIyQzJDMkQyRDJFMkUyRjJGRDQKLToxMDBGNjUwMDMwMzAzMTMxMzIzMjMzMzMzNDM0MzUzNTM2MzYzNzM3NDQKLToxMDBGNzUwMDM4MzgzOTM5M0EzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0OUIKLToxMDBGODUwMDQ1NDY0NzQ4NDk0OTRBNEI0QjRDNEQ0RTRGNTA1MTUyQTcKLToxMDBGOTUwMDUzNTQ1NTU1NTY1NjU3NTc1ODVBNUI1RDVFNUY2MTYyQjcKLToxMDBGQTUwMDYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RjcxNzI3Mzc0OEIKLToxMDBGQjUwMDc1NzY3Nzc4Nzk3QTdCN0M3RTgwMDEzNzAxMDEzODAwRjgKLToxMDRCMjgwMEU0OTA3MjM2RjBBM0YwOTA3Rjk3RTA1NEZCRjBFNDkwQTUKLToxMDRCMzgwMDcyMzNGMDkwNzIzMkYwOTA3MjAxMDRGMEU0OTA3MjMzQTQKLToxMDRCNDgwMEYwOTA3MjMyRjA5MDcyMDEwNEYwOTA3Rjk3RTA0NDA0ODQKLTowMjRCNTgwMEYwMjI0OQotOjEwMzI2RjAwOTA3NjE4RTBGRjY0MDU3MDQyOTA3NUFCRTBCNDAxMTlEOQotOjEwMzI3RjAwOTA3MjM3NzQwMUYwRTQ5MDgwMjBGMDkwODAzMUYwOTBEQwotOjEwMzI4RjAwODAyOEYwOTA4MDM5RjA4MDIyRTQ5MDcyMzdGMDkwNzVBQQotOjEwMzI5RjAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA3MQotOjEwMzJBRjAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI1MgotOjEwMzJCRjAwODE5OTkwNzIzOTc0MDRGMDkwNzIzOUUwRkYyNEZFOTA3NgotOjEwMzJDRjAwNzIwNEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjVCRgotOjEwMzJERjAwODNFMDY0MDE3MDU0OTA3MjM2MDRGMDkwNzIwNEUwRkY0MgotOjEwMzJFRjAwMjRGRDYwMjgyNEZFNjAyNDI0MDMyNEZCNTAwNDYwMUM2QQotOjEwMzJGRjAwODE4Qzc0MjAyRkY1ODJFNDM0ODBGNTgzRTRGMDc0MjhGOAotOjEwMzMwRjAwMkZGNTgyRTQzNDgwRjU4M0U0RjA4MThDOTA3MjA0RTAzMQotOjEwMzMxRjAwRkYyNDMwRjU4MkU0MzQ4MEY1ODNFNEYwNzQzODJGRjUyMAotOjEwMzMyRjAwODJFNDM0ODBGNTgzRTRGMDgxOENFNDkwNzIzNkYwOTA3RgotOjEwMzMzRjAwNzIzOUUwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODM5MwotOjEwMzM0RjAwRTBGRjdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIyOAotOjEwMzM1RjAwMDI3NDNCRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzBBQQotOjEwMzM2RjAwMDQ5MDcyMDJGMEVGNEU3MDAyODEzNUVGNjQ4MDRFNzA2MAotOjEwMzM3RjAwMDI4MTM1RUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwOTA0MAotOjEwMzM4RjAwNzIzNEUwNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM0OQotOjEwMzM5RjAwRTBGRjkwNzIwMkYwOTA3NTBERTAyRkYwOTA3NTBDRTA0OQotOjEwMzNBRjAwMzQwMEYwRTBGRUEzRTBGRkU0RkNGRDdCRDY3QUE1Rjk0NAotOjEwMzNCRjAwRjhEMzEyMzc5NTQwMEE5MDc1MEM3NEE1RjBBMzc0RDYwNAotOjEwMzNDRjAwRjA5MDc1MERFMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTA3RgotOjEwMzNERjAwRkVBM0UwNzgwNUNFQTJFNzEzQ0UxM0Q4RjhGRjkwNzVDMQotOjEwMzNFRjAwMENFRUYwQTNFRkYwOTA3MjJDRUVGMEEzRUZGMEQzOTQ2RAotOjEwMzNGRjAwRDJFRTY0ODA5NDgyNDAwQTkwNzIyQzc0MDJGMEEzNzQwRgotOjEwMzQwRjAwRDJGMEMzOTA3MjJDRTA2NDgwOTQ4MDUwMDRFNEYwQTM1NwotOjEwMzQxRjAwRjA5MDcyMkNFMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjVDMAotOjEwMzQyRjAwODNFMDkwNzIwMkYwOTA3MjA0RTBGRjI0RkQ2MDJEMjQ3RgotOjEwMzQzRjAwRkU2MDI5MjQwMzI0RkI1MDA0NjAyMTgwNDA5MDcyMDIxNwotOjEwMzQ0RjAwRTBGRTc0MjAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0MjhDQgotOjEwMzQ1RjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA4MDIxOTA3MjAyRTA0NAotOjEwMzQ2RjAwRkY5MDcyMDRFMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZBMAotOjEwMzQ3RjAwRjA3NDM4MkVGNTgyRTQzNDgwRjU4M0VGRjA5MDcyMzlEMgotOjBCMzQ4RjAwRTAwNEYwRTA2NDBBNjAwMjQxQzcyMjg0Ci06MTAzNDlBMDA5MDc2MThFMEZGQjQwNTIzOTA3MjM3RTA3MDFEOTA3NTlFCi06MTAzNEFBMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDY0Ci06MTAzNEJBMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjQ1Ci06MTAzNENBMDBDMTkxOTA3MjM2RTA2MDAyQzE5MTkwNzY0MEUwNzAzMTBECi06MTAzNERBMDA5MDcyMDM3NDAzRjA5MDcyMDNFMEZGNzVGMDBBQTQyNDVCCi06MTAzNEVBMDBBQUY1ODJFNDM0NzVGNTgzRTBGRTkwNzIyOUUwRkRFRUQ4Ci06MTAzNEZBMDA2RDYwMEVFRkMzOTQwQTUwMDg5MDcyMDNFMDA0RjA4MEU2Ci06MTAzNTBBMDBENTkwNzIzOTc0MDRGMDkwNzY0MEUwNzAwODkwNzIwMzk2Ci06MTAzNTFBMDBFMDkwNzIzOUYwOTA3MjM5RTBGRDI0RkU5MDcyMkFGMDQwCi06MTAzNTJBMDBFRDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRTBGRjY1Ci06MTAzNTNBMDA3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMDI3NEE0Ci06MTAzNTRBMDA4MEYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwMDQ5MDVBCi06MTAzNTVBMDA3MjAyRjBFRjRFNzAwMkMxMUJFRjY0ODA0RTcwMDJDMTFFCi06MTAzNTZBMDAxQkVGRjhFNDkwNzUwREYwRTg5MDc1MENGMEVENzVGMDJFCi06MTAzNTdBMDAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTBGRjkwNzIwMjY0Ci06MTAzNThBMDBGMDkwNzUwREUwMkZGMDkwNzUwQ0UwMzQwMEYwRTBGRTNECi06MTAzNTlBMDBBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5RjhEMzEyMzc5NUIwCi06MTAzNUFBMDA0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2RjA5MDc1MERFMERFCi06MTAzNUJBMDAyNDJBRjA5MDc1MENFMDM0NUFGMEUwRkVBM0UwNzgwNTc2Ci06MTAzNUNBMDBDRUEyRTcxM0NFMTNEOEY4RkY5MDc1MENFRUYwQTNFRjU2Ci06MTAzNURBMDBGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0RDJFRTY0ODA5NEM0Ci06MTAzNUVBMDA4MjQwMEE5MDcyMkM3NDAyRjBBMzc0RDJGMEMzOTA3MkQzCi06MTAzNUZBMDAyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzRjA5MDcyMkNFMEY0Ci06MTAzNjBBMDBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1ODNFMDkwNzIwMjZBCi06MTAzNjFBMDBGMDkwNzIyQUUwRkYyNEZENjAyRDI0RkU2MDI5MjQwMzI1Ci06MTAzNjJBMDAyNEZCNTAwNDYwMjE4MDQwOTA3MjAyRTBGRTc0MjAyRjM3Ci06MTAzNjNBMDBGNTgyRTQzNDgwRjU4M0VFRjA3NDI4MkZGNTgyRTQzNEMxCi06MTAzNjRBMDA4MEY1ODNFRUYwODAyMTkwNzIwMkUwRkY5MDcyMkFFMDBBCi06MTAzNjVBMDBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGRjA3NDM4MkVGNUQ5Ci06MTAzNjZBMDA4MkU0MzQ4MEY1ODNFRkYwOTA3NjQwRTA3MDA2OTA3MjQxCi06MTAzNjdBMDAzOTc0MEFGMDkwNzIzOUUwMDRGMEUwQzM5NDBBNTAwMkY3Ci06MDgzNjhBMDBBMTExRTQ5MDc2NDBGMDIyNEEKLTowNDRFMEIwMDEyMTczMDIyMjgKLToxMDQ5QUUwMDkwNzY0Njc0ODBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzRjYKLToxMDQ5QkUwMEYwQTNGMEEzRjBBM0YwQTM3NDgwRjBFNEEzRjBBM0YwQUYKLToxMDQ5Q0UwMEEzRjBBM0YwQTNGMEEzRjBBMzc0NDBGMEU0QTNGMEEzMkMKLToxMDQ5REUwMDc0NDBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzRjBBM0YwQ0YKLToxMDQ5RUUwMEEzNzQ0MEYwRTRBM0YwQTM3NDQwRjBFNEEzRjBBM0YwQUEKLTowNTQ5RkUwMEEzRjBBM0YwMjI2QwotOjEwMEZDNjAwRTRGRjc0NDYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjA2MAotOjEwMEZENjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDRFMkZGNTgyRTQyQgotOjEwMEZFNjAwMzQ3NkY1ODNFMEZFNzQzMDJGRjU4MkU0MzQ4MEY1ODNBMQotOjA2MEZGNjAwRUVGMDBGQkYwOENDNzUKLTowMTBGRkMwMDIyRDIKLToxMDRBRjEwMEU0RkY3NDU2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDI4RTIKLToxMDRCMDEwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ1RTJGRjU4MkU0QjQKLToxMDRCMTEwMDM0NzZGNTgzRTBGRTc0MzgyRkY1ODJFNDM0ODBGNTgzMzIKLTowNjRCMjEwMEVFRjAwRkJGMDhDQzBFCi06MDE0QjI3MDAyMjZCCi06MTAxNzMwMDBDMDgyQzA4M0MwRTBFOEMwRTA3ODc4RTgxNEY4NzBGQkFECi06MEExNzQwMDBEMEUwRjhEMEUwRDA4M0QwODIyMjgwCi06MDMwMDQzMDAwMjQ5MDA2RgotOjEwNDkwMDAwMDIyRkU3MDAwMjNENDcwMDAyNERCNDAwMDI0QzQzMDA3NQotOjEwNDkxMDAwMDI0QkU5MDAwMjJGRkYwMDAyNEM1QjAwMDI0QzBBMDAzMAotOjEwNDkyMDAwMDI0QzcyMDAwMjRCNUEwMDAyNEM4OTAwMDI0Q0EwMDA1QgotOjEwNDkzMDAwMDI0Q0I3MDAwMjRDQ0UwMDAyNENFNTAwMDI0Q0ZDMDBEOQotOjEwNDk0MDAwMDI0RDEzMDAwMjREMkEwMDAyNEQ0MTAwMDI0RDU4MDA1NQotOjA4NDk1MDAwMDI0RDZGMDAwMjREODYwMENDCi06MTAxQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Ci06MTAxQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Ci06MTAxQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Ci06MTAxQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Ci06MTAxQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Ci06MTAxQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Ci06MTAxQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Ci06MTAxQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Ci06MTAxQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Ci06MTAxQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Ci06MTAxQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Ci06MTAxQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Ci06MTAxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Ci06MTAxQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Ci06MTAxQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Ci06MTAxQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Ci06MTAxQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Ci06MTAxQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Ci06MTAxQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Ci06MTAxQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Ci06MTAxQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Ci06MTAxQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Ci06MTAxQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Ci06MTAxQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Ci06MTAxQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Ci06MTAxQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Ci06MTAxQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Ci06MTAxQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Ci06MTAxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCi06MTAxRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCi06MTAxRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCi06MTAxRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCi06MTAxRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCi06MTAxRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCi06MTAxRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCi06MTAxRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCi06MTAxRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCi06MTAxRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCi06MTAxREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCi06MTAxREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCi06MTAxREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCi06MTAxREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCi06MTAxREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCi06MTAxREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCi06MTAxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCi06MTAxRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCi06MTAxRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCi06MTAxRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCi06MTAxRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCi06MTAxRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCi06MTAxRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCi06MTAxRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCi06MTAxRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCi06MTAxRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCi06MTAxRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCi06MEUxRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKLToxMDFFQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKLToxMDFFQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKLToxMDFFREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKLToxMDFFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKLToxMDFFRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKLToxMDFGMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKLToxMDFGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKLToxMDFGMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKLTowMjFGM0UwMDAwMDBBMQotOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQotOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQotOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQotOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQotOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQotOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQotOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQotOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQotOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQotOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQotOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQotOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQotOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAotOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAotOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAotOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAotOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAotOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAotOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAotOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAotOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAotOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAotOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAotOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAotOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAotOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAotOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAotOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgotOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgotOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgotOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgotOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgotOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgotOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgotOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgotOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgotOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgotOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgotOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgotOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgotOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgotOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgotOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQotOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQotOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQotOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQotOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQotOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQotOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQotOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQotOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQotOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAotOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjBFMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCi06MTAyMzdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCi06MTAyMzhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCi06MTAyMzlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCi06MTAyM0FFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCi06MTAyM0JFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCi06MTAyM0NFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCi06MTAyM0RFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAyM0VFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCi06MTAyM0ZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCi06MTAyNDBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAyNDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAyNDJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAyNDNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAyNDRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAyNDVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCi06MTAyNDZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCi06MTAyNDdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCi06MTAyNDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCi06MTAyNDlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCi06MTAyNEFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCi06MTAyNEJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCi06MTAyNENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCi06MTAyNERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCi06MTAyNEVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyNEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyNTBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyNTFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyNTJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyNTNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyNTRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyNTVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MTAyNTZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECi06MTAyNTdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECi06MTAyNThFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECi06MTAyNTlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECi06MTAyNUFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECi06MTAyNUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECi06MTAyNUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECi06MTAyNURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECi06MTAyNUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECi06MTAyNUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECi06MTAyNjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCi06MTAyNjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCi06MTAyNjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCi06MTAyNjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCi06MTAyNjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCi06MTAyNjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCi06MTAyNjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCi06MTAyNjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCi06MTAyNjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCi06MTAyNjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCi06MTAyNkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCi06MTAyNkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCi06MTAyNkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCi06MTAyNkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCi06MEUyNkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDI2RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDI3MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDI3MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDI3MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDI3M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDI3NEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDI3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLToxMDI3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKLToxMDI3N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKLToxMDI3OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKLToxMDI3OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKLToxMDI3QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKLToxMDI3QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKLToxMDI3Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKLToxMDI3REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKLToxMDI3RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKLTowNTI3RkMwMDAwMDAwMDAwMjJCNgotOjA3MTc0QTAwOTA3RkM1NzQwMkYwMjIzQwotOjEwMTc1MTAwOTA3RUMwRTA5MDc2NDVGMDkwN0VDMUUwOTA3NjQ0RjBCNgotOjEwMTc2MTAwOTA3RUMyRTA5MDc2NDNGMEI0MDAwMzAyMTc3ODkwNzY0MQotOjEwMTc3MTAwMTk3NDAzRjAwMjE3OEU5MDc2NDRFMEI0QkIwOTkwNzY5OQotOjEwMTc4MTAwMTk3NDAyRjAwMjE3OEU5MDc2MTk3NDAxRjA5MDc2NDI2NgotOjAzMTc5MTAwRTRGMDIyNUYKLTowMzAwMDAwMDAyNDZCOUZDCi06MEM0NkI5MDA3ODdGRTRGNkQ4RkQ3NTgxMzgwMjQ3MDBEOAotOjEwMzY5MjAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDIzNgotOjA5MzZBMjAwRTMyMjg5ODI4QTgzRTQ5MzIyNjkKLToxMDM2QUIwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwRDQKLToxMDM2QkIwMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyMUUKLTowRDM2Q0IwMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyMzgKLToxMDM2RDgwMEMyRDVFQzMwRTcwOUIyRDVFNEMzOURGREU0OUNGQ0VFMEQKLToxMDM2RTgwMDMwRTcxNUIyRDVFNEMzOUZGRkU0OUVGRTEyMzgxRkMzMkUKLToxMDM2RjgwMEU0OURGREU0OUNGQzgwMDMxMjM4MUYzMEQ1MDdDM0U0MjkKLTowNjM3MDgwMDlGRkZFNDlFRkUyMjdCCi06MTAzNzBFMDBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEY5Ci06MTAzNzFFMDBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRUQ2Ci06MTAzNzJFMDAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4MzFDCi06MDgzNzNFMDBFOTkzRjVGMEEzRTk5MzIyRTEKLToxMDM3NDYwMEU4OEZGMEE0Q0M4QkYwQTQyQ0ZDRTk4RUYwQTQyQ0ZDMjIKLToxMDM3NTYwMDhBRjBFREE0MkNGQ0VBOEVGMEE0Q0RBOEYwOEJGMEE0QTAKLToxMDM3NjYwMDJEQ0MzODI1RjBGREU5OEZGMEE0MkNDRDM1RjBGQ0VCRkYKLToxMDM3NzYwMDhFRjBBNEZFQTlGMEVCOEZGMEE0Q0ZDNUYwMkVDRDM5QzQKLTowRjM3ODYwMEZFRTQzQ0ZDRUFBNDJEQ0UzNUYwRkRFNDNDRkMyMjMxCi06MTAzNzk1MDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFQzY0ODBDOEFCCi06MDYzN0E1MDA2NDgwOTg0NUYwMjI0QgotOjEwMzdBQjAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA3NAotOjAxMzdCQjAwMjJFQgotOjBDMzdCQzAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyODAKLToxMDM3QzgwMEE4ODI4NTgzRjBEMDgzRDA4MjEyMzdERjEyMzdERjEyQzgKLToxMDM3RDgwMDM3REYxMjM3REZFNDczRTQ5M0EzQzU4M0M1RjBDNTgzRUQKLToxMDM3RTgwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4NEIKLTowMTM3RjgwMDIyQUUKLToxMDM3RjkwMEQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzNUYKLToxMDM4MDkwMDkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwNzIKLTowNjM4MTkwMEVGQTNBM0EzODBERjcyCi06MTA0NkM1MDAwMjA3QTZFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjVFCi06MTA0NkQ1MDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0Y2Ci06MTA0NkU1MDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkM1Ci06MTA0NkY1MDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwQzhGRTQ3RUJBCi06MTA0NzA1MDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0I5Ci06MTA0NzE1MDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzgwCi06MTA0NzI1MDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUFCCi06MTA0NzM1MDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTYzCi06MDEwRkM1MDAwMDJCCi06MTAzODFGMDBCQzAwMEJCRTAwMjlFRjhERjA4NEZGQURGMDIyRTRDQzhECi06MTAzODJGMDBGODc1RjAwOEVGMkZGRkVFMzNGRUVDMzNGQ0VFOURFQzU2Ci06MTAzODNGMDA5ODQwMDVGQ0VFOURGRTBGRDVGMEU5RTRDRUZEMjJFRDlDCi06MTAzODRGMDBGOEY1RjBFRTg0MjBEMjFDRkVBREYwNzVGMDA4RUYyRkU2Ci06MTAzODVGMDBGRkVEMzNGRDQwMDc5ODUwMDZENUYwRjIyMkMzOThGREQ3Ci06MDUzODZGMDAwRkQ1RjBFQTIyNzQKLTowMDAwMDAwMUZGCi0vKgotVkVSU0lPTj0xLjA0LjA2MgotREFURT0xNi4xMC4yMDAyICAKLSovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2VtaTYyX2xvYWRlcltdID0gewotICAgMywweDAwMDAsMCx7MHgwMiwweDAyLDB4ODd9LAotICAgMywweDAwNDMsMCx7MHgwMiwweDA0LDB4MDB9LAotICAxNiwweDAxMDAsMCx7MHhlNCwweGZmLDB4ZmUsMHhjMiwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDgsMHgyMCwweDkwLDB4N2YsMHhhYiwweDc0LDB4ZmYsMHhmMH0sCi0gIDE2LDB4MDExMCwwLHsweDkwLDB4N2YsMHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4OTUsMHg3NCwweGMwfSwKLSAgMTYsMHgwMTIwLDAsezB4ZjAsMHg5MCwweDdmLDB4OWUsMHhmMCwweDkwLDB4N2YsMHg5OCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4OTQsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDAxMzAsMCx7MHg5ZCwweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5MywweGUwLDB4NTQsMHhmY30sCi0gIDE2LDB4MDE0MCwwLHsweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHgwMywweGYwLDB4ZTQsMHg5MCwweDdmLDB4OTYsMHhmMCwweDkwLDB4N2YsMHhhZiwweGUwfSwKLSAgMTYsMHgwMTUwLDAsezB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDBkLDB4ZjAsMHhkMiwweGFmLDB4MGYsMHhiZiwweDAwLDB4MDF9LAotICAxNiwweDAxNjAsMCx7MHgwZSwweGJlLDB4MDcsMHhmOCwweGJmLDB4MDgsMHhmNSwweDIwLDB4MjAsMHg0MiwweDc1LDB4MTQsMHgwMCwweDc1LDB4MTMsMHgwMH0sCi0gIDE2LDB4MDE3MCwwLHsweDc1LDB4MTIsMHgwMCwweDc1LDB4MTEsMHgwMCwweDdmLDB4NDgsMHg3ZSwweDkyLDB4N2QsMHgwMCwweDdjLDB4MDAsMHhhYiwweDE0fSwKLSAgMTYsMHgwMTgwLDAsezB4YWEsMHgxMywweGE5LDB4MTIsMHhhOCwweDExLDB4YzMsMHgxMiwweDAzLDB4ZWQsMHg1MCwweGRiLDB4MjAsMHgyMCwweGQ4LDB4N2F9LAotICAxNiwweDAxOTAsMCx7MHgwMCwweDc5LDB4MDAsMHg3OCwweDAwLDB4ZTUsMHgxNCwweDI0LDB4MDEsMHhmNSwweDE0LDB4ZWEsMHgzNSwweDEzLDB4ZjUsMHgxM30sCi0gIDE2LDB4MDFhMCwwLHsweGU5LDB4MzUsMHgxMiwweGY1LDB4MTIsMHhlOCwweDM1LDB4MTEsMHhmNSwweDExLDB4ODAsMHhjYSwweDMwLDB4MjAsMHhmZCwweDEyfSwKLSAgMTYsMHgwMWIwLDAsezB4MDEsMHhjNywweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9LAotICAgNiwweDAxYzAsMCx7MHgwMiwweGYwLDB4YzIsMHgyMCwweDgwLDB4ZTZ9LAotICAgMSwweDAxYzYsMCx7MHgyMn0sCi0gIDE2LDB4MDFjNywwLHsweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg1YiwweDYwLDB4NjAsMHgyNCwweDAyLDB4NjAsMHgwMywweDAyLDB4MDIsMHg4NSwweDkwfSwKLSAgMTYsMHgwMWQ3LDAsezB4N2YsMHhlYSwweGUwLDB4NzUsMHgwYSwweDAwLDB4ZjUsMHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTB9LAotICAxNiwweDAxZTcsMCx7MHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNSwweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNX0sCi0gIDE2LDB4MDFmNywwLHsweDE2LDB4NDUsMHgxNSwweDcwLDB4MDMsMHgwMiwweDAyLDB4ODUsMHhlNCwweDkwLDB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0fSwKLSAgMTYsMHgwMjA3LDAsezB4ZTAsMHgyMCwweGUzLDB4ZjksMHg5MCwweDdmLDB4YzUsMHhlMCwweGY1LDB4MGMsMHgxMiwweDAzLDB4MTMsMHhhZiwweDBjLDB4N2V9LAotICAxNiwweDAyMTcsMCx7MHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNSwweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNX0sCi0gIDE2LDB4MDIyNywwLHsweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4YzcsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1fSwKLSAgMTYsMHgwMjM3LDAsezB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwLDB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjV9LAotICAxNiwweDAyNDcsMCx7MHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTUsMHgxNiwweDQ1LDB4MTUsMHg2MCwweDMwLDB4ZTQsMHg5MH0sCi0gIDE2LDB4MDI1NywwLHsweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjfSwKLSAgMTYsMHgwMjY3LDAsezB4MTIsMHgwMywweDJiLDB4YWYsMHgwYywweDdlLDB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjV9LAotICAxNSwweDAyNzcsMCx7MHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjUsMHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGNhLDB4YzN9LAotICAgMSwweDAyODYsMCx7MHgyMn0sCi0gIDEyLDB4MDI4NywwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgyOSwweDAyLDB4MDIsMHhjZX0sCi0gIDE2LDB4MDI5MywwLHsweDAyLDB4MDEsMHgwMCwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfSwKLSAgMTYsMHgwMmEzLDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9LAotICAxNiwweDAyYjMsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn0sCi0gIDE2LDB4MDJjMywwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDA0LDB4NmUsMHhlNCwweDdlfSwKLSAgMTYsMHgwMmQzLDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9LAotICAxNiwweDAyZTMsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM30sCi0gIDE2LDB4MDJmMywwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfSwKLSAgMTYsMHgwMzAzLDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9LAotICAxNiwweDAzMTMsMCx7MHhlNSwweDBjLDB4ZmYsMHhlNSwweDBiLDB4ZjUsMHg4MiwweGU1LDB4MGEsMHhmNSwweDgzLDB4NzUsMHg5MiwweDdlLDB4NzQsMHhjMH0sCi0gICA4LDB4MDMyMywwLHsweGY4LDB4ZTIsMHgwOCwweGYwLDB4YTMsMHhkZiwweGZhLDB4MjJ9LAotICAxNiwweDAzMmIsMCx7MHg5MCwweDdmLDB4OTYsMHg4NSwweDgzLDB4OTIsMHhhOCwweDgyLDB4NzksMHgwMiwweDkwLDB4MDAsMHgwMCwweGUwLDB4YjQsMHgwMH0sCi0gIDE2LDB4MDMzYiwwLHsweDBkLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg0NCwweDgwLDB4ZjAsMHhlNSwweDBjfSwKLSAgMTYsMHgwMzRiLDAsezB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGY1LDB4MjgsMHhlNCwweGEyLDB4NDcsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTJ9LAotICAxNiwweDAzNWIsMCx7MHg0NiwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ1LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDQsMHgzM30sCi0gIDE2LDB4MDM2YiwwLHsweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MywweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQyLDB4MzMsMHhmMiwweDY5fSwKLSAgMTYsMHgwMzdiLDAsezB4ZjIsMHhlNCwweGEyLDB4NDEsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MCwweDMzLDB4ZjIsMHg2OSwweGYyLDB4YTN9LAotICAgMywweDAzOGIsMCx7MHhkZiwweGMyLDB4MjJ9LAotICAxNiwweDAzOGUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg5MCwweDdmLDB4YzQsMHhlNCwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3Zn0sCi0gIDExLDB4MDM5ZSwwLHsweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDAzYTksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDIwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX0sCi0gICA4LDB4MDNiOSwwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDAzYzEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhkMH0sCi0gICA2LDB4MDNkMSwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4MDNkNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweGQwfSwKLSAgIDYsMHgwM2U3LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwM2VkLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9LAotICAgMSwweDAzZmQsMCx7MHgyMn0sCi0gICAxLDB4MDNmZSwwLHsweDMyfSwKLSAgIDEsMHgwM2ZmLDAsezB4MzJ9LAotICAxNiwweDA0MDAsMCx7MHgwMiwweDAzLDB4YTksMHgwMCwweDAyLDB4MDMsMHhjMSwweDAwLDB4MDIsMHgwMywweDhlLDB4MDAsMHgwMiwweDA0LDB4NTgsMHgwMH0sCi0gIDE2LDB4MDQxMCwwLHsweDAyLDB4MDMsMHhkNywweDAwLDB4MDIsMHgwMywweGZlLDB4MDAsMHgwMiwweDAzLDB4ZmYsMHgwMCwweDAyLDB4MDQsMHg4NCwweDAwfSwKLSAgMTYsMHgwNDIwLDAsezB4MDIsMHgwNCwweDg1LDB4MDAsMHgwMiwweDA0LDB4ODYsMHgwMCwweDAyLDB4MDQsMHg4NywweDAwLDB4MDIsMHgwNCwweDg4LDB4MDB9LAotICAxNiwweDA0MzAsMCx7MHgwMiwweDA0LDB4ODksMHgwMCwweDAyLDB4MDQsMHg4YSwweDAwLDB4MDIsMHgwNCwweDhiLDB4MDAsMHgwMiwweDA0LDB4OGMsMHgwMH0sCi0gIDE2LDB4MDQ0MCwwLHsweDAyLDB4MDQsMHg4ZCwweDAwLDB4MDIsMHgwNCwweDhlLDB4MDAsMHgwMiwweDA0LDB4OGYsMHgwMCwweDAyLDB4MDQsMHg5MCwweDAwfSwKLSAgIDgsMHgwNDUwLDAsezB4MDIsMHgwNCwweDkxLDB4MDAsMHgwMiwweDA0LDB4OTIsMHgwMH0sCi0gIDE2LDB4MDQ1OCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweGQwfSwKLSAgIDYsMHgwNDY4LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwNDZlLDAsezB4MDIsMHgwYSwweDAwLDB4MGYsMHgwMSwweDBjLDB4MTEsMHgwNCwweDBkLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDAwLDB4MDB9LAotICAgMSwweDA0N2UsMCx7MHgwMH0sCi0gICA0LDB4MDQ3ZiwwLHsweDAyLDB4MTcsMHgwMCwweDAwfSwKLSAgIDEsMHgwNDgzLDAsezB4MDB9LAotICAgMSwweDA0ODQsMCx7MHgzMn0sCi0gICAxLDB4MDQ4NSwwLHsweDMyfSwKLSAgIDEsMHgwNDg2LDAsezB4MzJ9LAotICAgMSwweDA0ODcsMCx7MHgzMn0sCi0gICAxLDB4MDQ4OCwwLHsweDMyfSwKLSAgIDEsMHgwNDg5LDAsezB4MzJ9LAotICAgMSwweDA0OGEsMCx7MHgzMn0sCi0gICAxLDB4MDQ4YiwwLHsweDMyfSwKLSAgIDEsMHgwNDhjLDAsezB4MzJ9LAotICAgMSwweDA0OGQsMCx7MHgzMn0sCi0gICAxLDB4MDQ4ZSwwLHsweDMyfSwKLSAgIDEsMHgwNDhmLDAsezB4MzJ9LAotICAgMSwweDA0OTAsMCx7MHgzMn0sCi0gICAxLDB4MDQ5MSwwLHsweDMyfSwKLSAgIDEsMHgwNDkyLDAsezB4MzJ9LAotICAxNiwweDExMDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn0sCi0gIDE2LDB4MTExMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4MjAsMHgwMCwweDAxLDB4MDEsMHgwMywweGEwLDB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAyfSwKLSAgMTYsMHgxMTIwLDAsezB4ZmYsMHgwMCwweDAwLDB4MDQsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHgwMiwweDAyLDB4NDB9LAotICAxNiwweDExMzAsMCx7MHgwMCwweDAwLDB4MDQsMHgwMywweDA5LDB4MDQsMHgyNiwweDAzLDB4NDEsMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4NjgsMHgwMH0sCi0gIDE2LDB4MTE0MCwwLHsweDZmLDB4MDAsMHg3MiwweDAwLDB4MjAsMHgwMCwweDQzLDB4MDAsMHg2OCwweDAwLDB4NjksMHgwMCwweDcwLDB4MDAsMHg3MywweDAwfSwKLSAgMTYsMHgxMTUwLDAsezB4MmMsMHgwMCwweDIwLDB4MDAsMHg0OSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHgyZSwweDAwLDB4MjgsMHgwMywweDQ2LDB4MDB9LAotICAxNiwweDExNjAsMCx7MHg2OSwweDAwLDB4NzIsMHgwMCwweDZkLDB4MDAsMHg3NywweDAwLDB4NjEsMHgwMCwweDcyLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMH0sCi0gIDE2LDB4MTE3MCwwLHsweDQ2LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDZkLDB4MDAsMHg2NSwweDAwLDB4NTcsMHgwMCwweDZmLDB4MDAsMHg3MiwweDAwfSwKLSAgMTYsMHgxMTgwLDAsezB4NmIsMHgwMCwweDczLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDB9LAotICAxNiwweDExOTAsMCx7MHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NzQsMHgwMCwweDY5LDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMH0sCi0gIDE2LDB4MTFhMCwwLHsweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzfSwKLSAgMTYsMHgxMWIwLDAsezB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDB9LAotICAxNiwweDExYzAsMCx7MHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMH0sCi0gICAyLDB4MTFkMCwwLHsweDAwLDB4MDB9LAotICAgMCwweDAwMDAsMSx7MH0KLX07Ci0vKiBTb3VyY2U6IEVNSUxPQUQuSEVYIAotOjEwMDQ2RTAwMDIwQTAwMEYwMTBDMTEwNDBEMDAwMDAwMDA0MTAwMDBGMwotOjAxMDQ3RTAwMDA3RAotOjEwMDFDNzAwOTA3RkU5RTAyNDVCNjA2MDI0MDI2MDAzMDIwMjg1OTA2RgotOjEwMDFENzAwN0ZFQUUwNzUwQTAwRjUwQkEzRTBGRUU0RUU0MjBBOTAyMQotOjEwMDFFNzAwN0ZFRUUwNzUxNTAwRjUxNkEzRTBGRUU0RUU0MjE1RTU5NwotOjEwMDFGNzAwMTY0NTE1NzAwMzAyMDI4NUU0OTA3RkM1RjA5MDdGQjQyMQotOjEwMDIwNzAwRTAyMEUzRjk5MDdGQzVFMEY1MEMxMjAzMTNBRjBDN0VGNQotOjEwMDIxNzAwMDBFRjI1MEJGNTBCRUUzNTBBRjUwQUMzRTUxNjlGRjUzQQotOjEwMDIyNzAwMTZFNTE1OUVGNTE1ODBDNzkwN0ZFQUUwNzUwQTAwRjU3QgotOjEwMDIzNzAwMEJBM0UwRkVFNEVFNDIwQTkwN0ZFRUUwNzUxNTAwRjVCMQotOjEwMDI0NzAwMTZBM0UwRkVFNEVFNDIxNUU1MTY0NTE1NjAzMEU0OTA4RQotOjEwMDI1NzAwN0ZDNUYwOTA3RkI0RTAyMEUzRjk5MDdGQzVFMEY1MEMwRgotOjEwMDI2NzAwMTIwMzJCQUYwQzdFMDBFRjI1MEJGNTBCRUUzNTBBRjVDRAotOjBGMDI3NzAwMEFDM0U1MTY5RkY1MTZFNTE1OUVGNTE1ODBDQUMzNTcKLTowMTAyODYwMDIyNTUKLToxMDAzQTkwMEMwRTBDMDgzQzA4MkQyMjA1MzkxRUY5MDdGQUI3NDAxMkIKLTowODAzQjkwMEYwRDA4MkQwODNEMEUwMzJDNQotOjEwMDM4RTAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0ZCMQotOjBCMDM5RTAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMkJBCi06MTAwM0MxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDQ0Ci06MDYwM0QxMDA4MkQwODNEMEUwMzI2RgotOjEwMDNENzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwRDAyMAotOjA2MDNFNzAwODJEMDgzRDBFMDMyNTkKLTowMTAzRkUwMDMyQ0MKLToxMDA0NTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDhGMEQwQTYKLTowNjA0NjgwMDgyRDA4M0QwRTAzMkQ3Ci06MDEwM0ZGMDAzMkNCCi06MDEwNDg0MDAzMjQ1Ci06MDEwNDg1MDAzMjQ0Ci06MDEwNDg2MDAzMjQzCi06MDEwNDg3MDAzMjQyCi06MDEwNDg4MDAzMjQxCi06MDEwNDg5MDAzMjQwCi06MDEwNDhBMDAzMjNGCi06MDEwNDhCMDAzMjNFCi06MDEwNDhDMDAzMjNECi06MDEwNDhEMDAzMjNDCi06MDEwNDhFMDAzMjNCCi06MDEwNDhGMDAzMjNBCi06MDEwNDkwMDAzMjM5Ci06MDEwNDkxMDAzMjM4Ci06MDEwNDkyMDAzMjM3Ci06MDQwNDdGMDAwMjE3MDAwMDYwCi06MTAwMTAwMDBFNEZGRkVDMjIwRDJFODQzRDgyMDkwN0ZBQjc0RkZGMDFBCi06MTAwMTEwMDA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3Rjk1NzRDMEUzCi06MTAwMTIwMDBGMDkwN0Y5RUYwOTA3Rjk4RjBFNDkwN0Y5NEYwOTA3RjI1Ci06MTAwMTMwMDA5RDc0RkZGMDkwN0Y5Nzc0QTBGMDkwN0Y5M0UwNTRGQzQzCi06MTAwMTQwMDBGMDkwN0Y5Qzc0MDNGMEU0OTA3Rjk2RjA5MDdGQUZFMDk2Ci06MTAwMTUwMDA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUYwRkJGMDAwMTNDCi06MTAwMTYwMDAwRUJFMDdGOEJGMDhGNTIwMjA0Mjc1MTQwMDc1MTMwMDc1Ci06MTAwMTcwMDA3NTEyMDA3NTExMDA3RjQ4N0U5MjdEMDA3QzAwQUIxNEUzCi06MTAwMTgwMDBBQTEzQTkxMkE4MTFDMzEyMDNFRDUwREIyMDIwRDg3QUJDCi06MTAwMTkwMDAwMDc5MDA3ODAwRTUxNDI0MDFGNTE0RUEzNTEzRjUxMzBECi06MTAwMUEwMDBFOTM1MTJGNTEyRTgzNTExRjUxMTgwQ0EzMDIwRkQxMjNCCi06MTAwMUIwMDAwMUM3NTAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDYxCi06MDYwMUMwMDAwMkYwQzIyMDgwRTZGRgotOjAxMDFDNjAwMjIxNgotOjEwMTEwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgwMTAxMDAwMTAxMDIwMwotOjEwMTExMDAwMDAwMTA5MDIyMDAwMDEwMTAzQTAwMDA5MDQwMDAwMDJFRgotOjEwMTEyMDAwRkYwMDAwMDQwNzA1ODIwMjQwMDAwMDA3MDUwMjAyNDA5QwotOjEwMTEzMDAwMDAwMDA0MDMwOTA0MjYwMzQxMDA2RTAwNjMwMDY4MDBGOAotOjEwMTE0MDAwNkYwMDcyMDAyMDAwNDMwMDY4MDA2OTAwNzAwMDczMDBBNwotOjEwMTE1MDAwMkMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjgwMzQ2MDA4QQotOjEwMTE2MDAwNjkwMDcyMDA2RDAwNzcwMDYxMDA3MjAwNjUwMDIwMDA2OAotOjEwMTE3MDAwNDYwMDcyMDA2MTAwNkQwMDY1MDA1NzAwNkYwMDcyMDA0QwotOjEwMTE4MDAwNkIwMDczMDAyQTAzNDMwMDZGMDA2RTAwNjYwMDY5MDA2NQotOjEwMTE5MDAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwNkYwMDZFMDBFNgotOjEwMTFBMDAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIyMDM4MwotOjEwMTFCMDAwNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNjEwMDYzMDAwMwotOjEwMTFDMDAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMwotOjAyMTFEMDAwMDAwMDFECi06MTAwMzEzMDBFNTBDRkZFNTBCRjU4MkU1MEFGNTgzNzU5MjdFNzRDMDYzCi06MDgwMzIzMDBGOEUyMDhGMEEzREZGQTIyNjIKLToxMDAzMkIwMDkwN0Y5Njg1ODM5MkE4ODI3OTAyOTAwMDAwRTBCNDAwQkEKLToxMDAzM0IwMDBENzQwMUYwOTA3Rjk3RTA1NDdGRjA0NDgwRjBFNTBDNTIKLToxMDAzNEIwMEZGOTA3RUMwRTBGNTI4RTRBMjQ3MzNGMjY5RjJFNEEyMDUKLToxMDAzNUIwMDQ2MzNGMjY5RjJFNEEyNDUzM0YyNjlGMkU0QTI0NDMzODQKLToxMDAzNkIwMEYyNjlGMkU0QTI0MzMzRjI2OUYyRTRBMjQyMzNGMjY5OTYKLToxMDAzN0IwMEYyRTRBMjQxMzNGMjY5RjJFNEEyNDAzM0YyNjlGMkEzNTAKLTowMzAzOEIwMERGQzIyMkFDCi06MDMwMDQzMDAwMjA0MDBCNAotOjEwMDQwMDAwMDIwM0E5MDAwMjAzQzEwMDAyMDM4RTAwMDIwNDU4MDA4NwotOjEwMDQxMDAwMDIwM0Q3MDAwMjAzRkUwMDAyMDNGRjAwMDIwNDg0MDA2RgotOjEwMDQyMDAwMDIwNDg1MDAwMjA0ODYwMDAyMDQ4NzAwMDIwNDg4MDA5QQotOjEwMDQzMDAwMDIwNDg5MDAwMjA0OEEwMDAyMDQ4QjAwMDIwNDhDMDA3QQotOjEwMDQ0MDAwMDIwNDhEMDAwMjA0OEUwMDAyMDQ4RjAwMDIwNDkwMDA1QQotOjA4MDQ1MDAwMDIwNDkxMDAwMjA0OTIwMDc1Ci06MDMwMDAwMDAwMjAyODc3MgotOjBDMDI4NzAwNzg3RkU0RjZEOEZENzU4MTI5MDIwMkNFRDQKLToxMDAzRUQwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNjYKLTowMTAzRkQwMDIyREQKLToxMDAyOTMwMDAyMDEwMEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyODAKLToxMDAyQTMwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzNkMKLToxMDAyQjMwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGM0IKLToxMDAyQzMwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDA0NkVFNDdFNTkKLToxMDAyRDMwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzMzAKLToxMDAyRTMwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRjcKLToxMDAyRjMwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBMjIKLToxMDAzMDMwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRDkKLTowMTA0ODMwMDAwNzgKLTowMDAwMDAwMUZGCi0vKgotVkVSU0lPTj0xLjAuMi4wMDIKLURBVEU9MTAuMDEuMjAwMgotRU1JMjZfNjIKLSovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X3MuaCBiL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZWYwNWU4Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfcy5oCisrKyAvZGV2L251bGwKQEAgLTEsODgzNyArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHRocmVlIGRpZmZlcmVudCBmaWxlcywgcHJvdmlkZWQgYnkgRW1hZ2ljLgotICovCi0vKiBnZW5lcmF0ZWQgVHVlIEFwciAxNSAyMTo1OTo0MiBFRVNUIDIwMDMgKi8KLQotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19lbWk2MmJzW109ewotIHsxNiwgMHg4MDEwLCAwLCB7MHhmZiwweGZmLDB4ZmYsMHhmZiwweGFhLDB4OTksMHg1NSwweDY2LDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwNyB9fSwKLSB7MTYsIDB4ODAyMCwgMCwgezB4MzAsMHgwMSwweDYwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwZCwweDMwLDB4MDEsMHgyMCwweDAxLDB4MDAsMHg4MCwweDNmLDB4MmQgfX0sCi0gezE2LCAweDgwMzAsIDAsIHsweDMwLDB4MDAsMHhjMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5IH19LAotIHsxNiwgMHg4MDQwLCAwLCB7MHgzMCwweDAwLDB4MjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMSB9fSwKLSB7MTYsIDB4ODA1MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MDAsMHg1MCwweDAwLDB4NTgsMHgxYSwweDgwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg0MCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwOTAsIDAsIHsweDAwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDggfX0sCi0gezE2LCAweDgwYzAsIDAsIHsweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTAwLCAwLCB7MHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTMwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE3MCwgMCwgezB4ODAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFhMCwgMCwgezB4MDAsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxZTAsIDAsIHsweDdmLDB4MTAsMHgwMCwweDM0LDB4MDAsMHgwZCwweDAwLDB4MDMsMHg0MCwweDAwLDB4ZDAsMHgwMCwweDM0LDB4MDAsMHgwNSwweDAwIH19LAotIHsxNiwgMHg4MWYwLCAwLCB7MHgwNywweDQwLDB4MDEsMHhkMCwweDAwLDB4NzQsMHgwMCwweDFkLDB4MDAsMHgwNywweDQwLDB4MDEsMHhkMCwweDAwLDB4NzQsMHgwMCB9fSwKLSB7MTYsIDB4ODIwMCwgMCwgezB4MWQsMHg4MCwweDA3LDB4ZTAsMHgwMSwweGI4LDB4MDAsMHg2ZSwweDAwLDB4MWIsMHg4MCwweDA2LDB4ZTAsMHgwMSwweDM4LDB4MzcgfX0sCi0gezE2LCAweDgyMTAsIDAsIHsweGM0LDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg4MCwweGZiLDB4MzAsMHgzNiwweGM4IH19LAotIHsxNiwgMHg4MjIwLCAwLCB7MHg0ZSwweDA5LDB4MDMsMHhmYywweDg0LDB4ZmYsMHgxMCwweDNiLDB4YzAsMHgwZSwweGM4LDB4MDcsMHgyMiwweDgwLDB4ZmYsMHgyMiB9fSwKLSB7MTYsIDB4ODIzMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4YzgsMHgzMywweDZlLDB4MDAsMHhmYiwweDgwLDB4M2YsMHgyMCwweDBkLDB4YzIsMHg1MywweGQ0LDB4ODAgfX0sCi0gezE2LCAweDgyNDAsIDAsIHsweGNjLDB4M2EsMHgzZiwweDAwLDB4MGMsMHhmMSwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MjUwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHg2MCwweGJmLDB4NjAsMHgyMywweGYwLDB4MGQsMHg4MiwweDEyLDB4M2MsMHg2MCwweDhmLDB4NzAsMHgyMyB9fSwKLSB7MTYsIDB4ODI2MCwgMCwgezB4ZjAsMHgwOCwweDg4LDB4MDIsMHhhNSwweDQwLDB4YmYsMHhkMCwweDYzLDB4ZDYsMHgwYiwweDg4LDB4MDIsMHgyZSwweDBjLDB4YmIgfX0sCi0gezE2LCAweDgyNzAsIDAsIHsweDgwLDB4MmUsMHgyMCwweDg4LDB4OGQsMHgwMiwweGU2LDB4NDAsMHg4MCwweDYwLDB4MmUsMHgzMCwweDBhLDB4YjEsMHgxMiwweDIwIH19LAotIHsxNiwgMHg4MjgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4ODAsMHhhMywweDQwLDB4MmMsMHhjNCB9fSwKLSB7MTYsIDB4ODI5MCwgMCwgezB4NGEsMHgwMCwweDEyLDB4OGMsMHg4OCwweGEzLDB4MjIsMHgyMCwweGM0LDB4MGEsMHg5MCwweDQyLDB4MDQsMHhhOSwweGEzLDB4MDAgfX0sCi0gezE2LCAweDgyYTAsIDAsIHsweDI0LDB4YzgsMHg4YiwweDgwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJlLDB4MDEsMHgwOSwweDA4LDB4MDIsMHg4NCwweDAwIH19LAotIHsxNiwgMHg4MmIwLCAwLCB7MHg4MCwweDIwLDB4MmMsMHgxMCwweDBhLDB4MzIsMHg0MiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODJjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDQsMHhiMywweDAwLDB4MmEsMHhjMCwweDA4LDB4MDgsMHhhMiwweDhjLDB4MDAsMHg4YiwweDAwLDB4YTIgfX0sCi0gezE2LCAweDgyZDAsIDAsIHsweGMxLDB4MTAsMHg5OCwweDQyLDB4YTcsMHgwMCwweGJiLDB4MDEsMHg2NiwweGMxLDB4MGIsMHg4MCwweDAyLDB4YWMsMHgwNCwweGJiIH19LAotIHsxNiwgMHg4MmUwLCAwLCB7MHgwMCwweDJlLDB4MDAsMHgwYiwweGI4LDB4MTIsMHhlNCwweDAyLDB4ODksMHgwOCwweDBlLDB4NDAsMHgwYSwweGIwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4ODJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhhYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweDgzMDAsIDAsIHsweDRhLDB4YjgsMHgyMywweGVjLDB4MTgsMHhlYiwweDAwLDB4MzIsMHhjMCwweDBlLDB4MmMsMHgxMiwweDIyLDB4MTAsMHhlYiwweDAwIH19LAotIHsxNiwgMHg4MzEwLCAwLCB7MHgyNiwweGMwLDB4NGYsMHgwMCwweDQzLDB4ZWQsMHgwMCwweGZiLDB4MDAsMHgyZSwweDI0LDB4MGQsMHg4MCwweDEzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4ODMyMCwgMCwgezB4YzgsMHhkMCwweDdjLDB4MTIsMHgwZSwweGIwLDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzMzAsIDAsIHsweGUxLDB4MDAsMHhiYywweDAwLDB4ZmYsMHgwMCwweDM1LDB4YzAsMHg0ZiwweGUwLDB4MDMsMHg3YywweDA4LDB4ZmYsMHgwMSwweDE3IH19LAotIHsxNiwgMHg4MzQwLCAwLCB7MHhjMiwweDRkLDB4YzAsMHgwMywweGY0LDB4MDgsMHhmNywweDAwLDB4M2IsMHhjMCwweDA3LDB4YzAsMHgwMywweDdjLDB4ODAsMHhmZiB9fSwKLSB7MTYsIDB4ODM1MCwgMCwgezB4MjQsMHgzZiwweDQwLDB4MGMsMHhmMCwweDAxLDB4ZjQsMHgwNCwweGJjLDB4MDgsMHgzZiwweDI4LDB4MGYsMHhmMCwweDAzLDB4NzggfX0sCi0gezE2LCAweDgzNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwOCwweGZiLDB4MDQsMHgzYSwweGM4IH19LAotIHsxNiwgMHg4MzcwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhlYywweDEwLDB4ZjMsMHgwMCwweDM0LDB4YzAsMHgwZSwweGIwLDB4MDMsMHg2MSwweDA0LDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ODM4MCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YTMsMHgwMywweDJjLDB4ODAsMHhmYiwweDcyLDB4M2UsMHgwMiwweDBmLDB4OGEsMHgwMywweGU0LDB4MDIgfX0sCi0gezE2LCAweDgzOTAsIDAsIHsweGM5LDB4ODAsMHgyYSwweDUwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4M2EwLCAwLCB7MHhjYSwweDQ0LDB4M2MsMHgwMCwweGJmLDB4MDAsMHgwMywweGMwLDB4MDgsMHg4MCwweDAzLDB4N2MsMHgwMCwweGJmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ODNiMCwgMCwgezB4ZTIsMHgwOCwweDkwLDB4NDMsMHg2MCwweDAwLDB4YmYsMHgwMCwweDM3LDB4YzAsMHgwOCwweDkwLDB4MDEsMHg2ZCwweDAwLDB4YmIgfX0sCi0gezE2LCAweDgzYzAsIDAsIHsweDQwLDB4MmMsMHgxMCwweDBiLDB4YjAsMHg0MiwweGQ3LDB4YzAsMHg4OSwweDAwLDB4MmEsMHg3YywweDBiLDB4ZjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHg4M2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTIsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkNSB9fSwKLSB7MTYsIDB4ODNlMCwgMCwgezB4NGEsMHgwMCwweDAwLDB4MGMsMHgwNCwweDkzLDB4MDAsMHgwYywweGYwLDB4MGIsMHgwOSwweDAyLDB4MDgsMHgwMSwweGIzLDB4MjAgfX0sCi0gezE2LCAweDgzZjAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDBjLDB4MGEsMHgwZSwweDAwLDB4YjMsMHgwMCwweDI0LDB4MzAsMHgwOSwweDAwLDB4MDIsMHhjNiwweDEwIH19LAotIHsxNiwgMHg4NDAwLCAwLCB7MHg4MCwweDQyLDB4MjAsMHgwMCwweDhiLDB4YjAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODQxMCwgMCwgezB4MjIsMHgwMSwweDFlLDB4MDAsMHhiNywweDk0LDB4MjEsMHhlNCwweDQ4LDB4ZDksMHgxMiwweDVlLDB4NDAsMHhiNywweDkwLDB4MjkgfX0sCi0gezE2LCAweDg0MjAsIDAsIHsweGUwLDB4OGIsMHg2OSwweDEyLDB4ZDYsMHg4MCwweDM3LDB4ODIsMHgyYywweGU4LDB4MDgsMHg0YSwweDAyLDB4NWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4NDMwLCAwLCB7MHhhNCwweDJkLDB4MjAsMHgwYiwweDc5LDB4MDIsMHhkNiwweDA4LDB4ODYsMHg5MCwweDI5LDB4YTAsMHgwYiwweDc5LDB4MDIsMHhkOCB9fSwKLSB7MTYsIDB4ODQ0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDAwLDB4ZmIsMHhhMCwweDI4LDB4ZTggfX0sCi0gezE2LCAweDg0NTAsIDAsIHsweDBlLDB4MmEsMHgwMiwweDhjLDB4MDAsMHhkMywweDAwLDB4NjQsMHhjMCwweDBmLDB4MDAsMHg0MywweDBlLDB4YzQsMHhmMywweDAwIH19LAotIHsxNiwgMHg4NDYwLCAwLCB7MHg3OCwweGVjLDB4MGUsMHgwYSwweDQzLDB4MGUsMHgyMCwweDczLDB4ZTAsMHgzYywweDAyLDB4NGYsMHgwMCwweDAzLDB4YzQsMHg0MCB9fSwKLSB7MTYsIDB4ODQ3MCwgMCwgezB4YzMsMHgwMCwweDM4LDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0ODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweGJjLDB4Y2MsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZmIsMHgwMCwweDNjIH19LAotIHsxNiwgMHg4NDkwLCAwLCB7MHhjMiwweDBjLDB4MjAsMHgwMywweDZjLDB4NTAsMHhmMywweDAwLDB4MzYsMHhjNCwweDBmLDB4NDAsMHgwMywweGZjLDB4MDgsMHhmZiB9fSwKLSB7MTYsIDB4ODRhMCwgMCwgezB4MWEsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAxLDB4ZTQsMHgzMCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDYzLDB4ZDAgfX0sCi0gezE2LCAweDg0YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHg0MCwweGZiLDB4MDAsMHhiMiwweGQ4IH19LAotIHsxNiwgMHg4NGMwLCAwLCB7MHgwYywweGIwLDB4MDEsMHgyZCwweDIwLDB4ZGIsMHgwMSwweDNhLDB4YzgsMHg4YywweDM4LDB4MDMsMHhhOCwweDAwLDB4ZmIsMHg0OCB9fSwKLSB7MTYsIDB4ODRkMCwgMCwgezB4M2UsMHhjOSwweDBmLDB4ODAsMHgwMywweGVjLDB4NDAsMHhmYiwweDAxLDB4M2UsMHgwMCwweDBmLDB4MDgsMHgwMywweGE0LDB4MDggfX0sCi0gezE2LCAweDg0ZTAsIDAsIHsweGZhLDB4ODAsMHhiMiwweDgwLDB4MGYsMHhiMSwweDAyLDB4NmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NGYwLCAwLCB7MHg0OCwweDE5LDB4MWMsMHg4MCwweGJmLDB4MzAsMHgyMSwweGNhLDB4MDgsMHhmMCwweDBhLDB4MGMsMHg4MCwweDhmLDB4NTAsMHgyMSB9fSwKLSB7MTYsIDB4ODUwMCwgMCwgezB4YzIsMHgwOCwweDcwLDB4NTAsMHg5YywweDAwLDB4YjcsMHgwMCwweDM5LDB4YzQsMHgwYiwweDQwLDB4MDIsMHg5YywweDA0LDB4YjcgfX0sCi0gezE2LCAweDg1MTAsIDAsIHsweDIwLDB4MjUsMHg0MCwweDBiLDB4NzAsMHgwMiwweDE0LDB4ODAsMHhiNiwweDAwLDB4MjEsMHg4MCwweDBiLDB4ZjgsMHgwMiwweDEyIH19LAotIHsxNiwgMHg4NTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweGIwLDB4MjEsMHhlYyB9fSwKLSB7MTYsIDB4ODUzMCwgMCwgezB4MGIsMHg3OCwweDEyLDB4ZGUsMHg4NCwweDk3LDB4ODAsMHgwZCwweGUwLDB4MjgsMHhmOCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4OTAgfX0sCi0gezE2LCAweDg1NDAsIDAsIHsweDJkLDB4ZTQsMHgwYiwweDY4LDB4ODIsMHg1ZSwweDgwLDB4YjcsMHhhMCwweDI5LDB4MjAsMHgwYiwweDQ4LDB4MDIsMHg5NiwweDAwIH19LAotIHsxNiwgMHg4NTUwLCAwLCB7MHhiNywweDgwLDB4MjEsMHhlMSwweDBiLDB4N2EsMHgwMiwweDcwLDB4NDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODU2MCwgMCwgezB4NDgsMHgwNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzgsMHgwMiwweDhjLDB4MDQsMHg4MywweDAwLDB4MjggfX0sCi0gezE2LCAweDg1NzAsIDAsIHsweGMwLDB4ODgsMHgzOSwweDAyLDB4NGMsMHg0MCwweGIzLDB4MDQsMHgyOCwweGMwLDB4MWIsMHgxMCwweDAyLDB4OGMsMHgwMSwweGIzIH19LAotIHsxNiwgMHg4NTgwLCAwLCB7MHgwNCwweDI0LDB4ODgsMHg0YiwweDMxLDB4MDIsMHgwNCwweDAwLDB4YjMsMHg4MCwweDIwLDB4ZjIsMHgwYiwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4ODU5MCwgMCwgezB4MjQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweDg1YTAsIDAsIHsweDBmLDB4ZTgsMHgwMywweGU4LDB4MDAsMHhkYSwweDAxLDB4M2EsMHg4MCwweDhjLDB4ZWQsMHgwMywweGZiLDB4MDQsMHhmYSwweDAwIH19LAotIHsxNiwgMHg4NWIwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHg2YywweDAzLDB4ZmIsMHhjOCwweGJlLDB4YzIsMHgxZiwweDgwLDB4MGYsMHhlNSwweDAzLDB4YTgsMHgwMCB9fSwKLSB7MTYsIDB4ODVjMCwgMCwgezB4ZmUsMHg0OCwweDMzLDB4ODAsMHg0ZiwweGEwLDB4MDMsMHg3YSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1ZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNjLDB4MDAsMHgwYywweDgxLDB4OTMsMHg2MCwweDAwLDB4ZjgsMHgwMSwweDM2IH19LAotIHsxNiwgMHg4NWUwLCAwLCB7MHgxMCwweDBmLDB4ODAsMHgwMywweGEwLDB4MjAsMHhmOCwweDAwLDB4MmEsMHgwMSwweDhmLDB4ODQsMHgxMywweGUxLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ODVmMCwgMCwgezB4MTgsMHgzNiwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzZSwweDE0LDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDg2MDAsIDAsIHsweDgwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHhhYSwweDQwIH19LAotIHsxNiwgMHg4NjEwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZTEsMHgwMCwweDM4LDB4NDAsMHgxYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHhhMCB9fSwKLSB7MTYsIDB4ODYyMCwgMCwgezB4M2EsMHg0MCwweDQ3LDB4OWEsMHg5MywweGEyLDB4ODAsMHhmOCwweDEwLDB4M2UsMHg0MCwweDBiLDB4OTQsMHgwMywweGU2LDB4NDAgfX0sCi0gezE2LCAweDg2MzAsIDAsIHsweGY5LDB4YzAsMHgzZSwweDY4LDB4MGIsMHgxMCwweDAzLDB4MDIsMHg4NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NjQwLCAwLCB7MHg4MCwweDA0LDB4ZTQsMHgwNCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwNCwweDg5LDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4ODY1MCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4YjksMHg4MCwweDJlLDB4NDAsMHg0ZiwweDk0LDB4MDMsMHg2MSwweDEwLDB4ZTggfX0sCi0gezE2LCAweDg2NjAsIDAsIHsweDQwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweGU2LDB4MDQsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNCwweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4ODY4MCwgMCwgezB4MGEsMHgxMCwweDUyLDB4MDQsMHgwNCwweGE5LDB4MDQsMHgyYSwweDQwLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDAgfX0sCi0gezE2LCAweDg2OTAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhOCwweDBkLDB4YjgsMHg0MCwweDJlLDB4NDAsMHgwOSwweDk0LDB4MDIsMHhlNSwweDAwIH19LAotIHsxNiwgMHg4NmEwLCAwLCB7MHhiOSwweDA0LDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODZiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDIwLDB4MjAsMHhjOCwweDBhLDB4MTAsMHg0MiwweDA0LDB4OTAsMHg4MSwweDIwLDB4MDQgfX0sCi0gezE2LCAweDg2YzAsIDAsIHsweGM4LDB4MDgsMHgzMCwweDI2LDB4YzQsMHgwMCwweGIxLDB4MjAsMHgyYywweDQ4LDB4MGIsMHg5MCwweDAyLDB4NDUsMHgwMSwweGIxIH19LAotIHsxNiwgMHg4NmQwLCAwLCB7MHg0MCwweDJjLDB4NDAsMHgwYiwweDEyLDB4ODIsMHhjNCwweDAwLDB4YjEsMHgyYiwweDJjLDB4NGEsMHgwYiwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4ODZlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDgsMHgyMSwweDQ4LDB4ZjgsMHg1MCwweDMyLDB4MDAgfX0sCi0gezE2LCAweDg2ZjAsIDAsIHsweDRlLDB4ODUsMHgwYiwweDIxLDB4NDAsMHhhOCwweDUyLDB4MmEsMHgwMCwweDA4LDB4ODAsMHgyMywweGUxLDB4NDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHg4NzAwLCAwLCB7MHgzYSwweDE0LDB4MGYsMHhhMCwweDQzLDB4YTgsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MiwweDAzLDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4ODcxMCwgMCwgezB4ZjAsMHgyMCwweDNlLDB4ODgsMHg0ZiwweDgyLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3MjAsIDAsIHsweDk4LDB4MTksMHhlNCwweDQwLDB4ZjksMHgxMSwweDM0LDB4NDQsMHgyZCwweGQwLDB4MDMsMHhlNCwweDUwLDB4NzksMHgxMCwweDM4IH19LAotIHsxNiwgMHg4NzMwLCAwLCB7MHg0NCwweDJmLDB4ZDAsMHgwMywweGY1LDB4MTAsMHhmOSwweDEwLDB4M2UsMHg0NSwweDA2LDB4NTAsMHgwMywweGU1LDB4MDAsMHhlOSB9fSwKLSB7MTYsIDB4ODc0MCwgMCwgezB4NDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZjUsMHgwMCwweGZkLDB4MjgsMHgzZiwweDQwLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweDg3NTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAxLDB4ZTYsMHgwMCwweGQ5LDB4OTAsMHgzNywweDY5IH19LAotIHsxNiwgMHg4NzYwLCAwLCB7MHg0ZCwweDkwLDB4MjMsMHg2NywweDgwLDB4ZDksMHhlMCwweDM3LDB4NjgsMHgwZSwweGQwLDB4MDcsMHhhNCwweDAwLDB4MDUsMHg4NiB9fSwKLSB7MTYsIDB4ODc3MCwgMCwgezB4M2UsMHg2NiwweDBkLDB4NTAsMHgyMywweDI2LDB4MDAsMHhjOSwweDgyLDB4M2QsMHg0MCwweDBkLDB4ZDgsMHgwNywweDM2LDB4MDIgfX0sCi0gezE2LCAweDg3ODAsIDAsIHsweGNkLDB4YzAsMHgzMywweDYwLDB4MGMsMHg5YywweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NzkwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweDg4LDB4YTIsMHgyMiwweDEwLDB4MjgsMHg4YSwweDgyLDB4MjMsMHg4NCwweDg4LDB4YTAsMHgyMiB9fSwKLSB7MTYsIDB4ODdhMCwgMCwgezB4MTQsMHg0OCwweDgwLDB4NDIsMHg4MiwweDAwLDB4ODgsMHg0MCwweDJlLDB4MzAsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4ZDggfX0sCi0gezE2LCAweDg3YjAsIDAsIHsweDkwLDB4MjYsMHgwMCwweDA4LDB4ODQsMHgwYSwweDIxLDB4MDAsMHhjOCwweGEwLDB4YTIsMHgxNCwweDI4LDB4OGMsMHgwMiwweDBlIH19LAotIHsxNiwgMHg4N2MwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MjAsMHg5MSwweDQwLDB4MmMsMHg0NCB9fSwKLSB7MTYsIDB4ODdkMCwgMCwgezB4MTgsMHgxMCwweDAyLDB4ODUsMHgwNCwweGIxLDB4NDAsMHgwYywweDQwLDB4MGEsMHgxMCwweDA2LDB4ODQsMHgzMCwweDgxLDB4NDAgfX0sCi0gezE2LCAweDg3ZTAsIDAsIHsweDJjLDB4NDgsMHg1OSwweDEwLDB4MWEsMHgwNCwweDYwLDB4ODEsMHgwOSwweDJlLDB4NDAsMHgxYiwweDE0LDB4MDIsMHgyNSwweDAwIH19LAotIHsxNiwgMHg4N2YwLCAwLCB7MHg5MSwweGUwLDB4MjAsMHg2MCwweDA4LDB4MTYsMHgwMiwweDAwLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODgwMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4MSwweDAwLDB4MmEsMHg0MSwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhhMSwweDAwLDB4MmEgfX0sCi0gezE2LCAweDg4MTAsIDAsIHsweDQxLDB4MDgsMHhiMCwweDgyLDB4MjQsMHgxMSwweDhiLDB4MDAsMHgyZSwweDQwLDB4MTgsMHg5MSwweDAyLDB4YTAsMHgwNCwweDk4IH19LAotIHsxNiwgMHg4ODIwLCAwLCB7MHgyMCwweDJlLDB4NTQsMHgxYiwweDkwLDB4ODIsMHgyYywweDAwLDB4ODksMHgxMCwweDIyLDB4NDQsMHg4OCwweDkwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ODgzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweDg4NDAsIDAsIHsweDRjLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDhlLDB4MTAsMHgwMiwweGE0LDB4YzIsMHhjOSwweDAwIH19LAotIHsxNiwgMHg4ODUwLCAwLCB7MHgzZSwweDQwLDB4MGQsMHgxNiwweDEzLDB4MDEsMHg4NCwweGM4LDB4MjAsMHgzYywweDYwLDB4MGYsMHg5MCwweDEyLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4ODg2MCwgMCwgezB4ZDksMHg0MCwweDMyLDB4NTAsMHgwYywweDkwLDB4MDMsMHgyOCwweDg0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4NzAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHg0ZiwweDk5LDB4NGEsMHg0NCwweDAwLDB4OTksMHgwMCwweGI0IH19LAotIHsxNiwgMHg4ODgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgxMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweGUzLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ODg5MCwgMCwgezB4MDEsMHgzNiwweDQwLDB4MGMsMHg5OSwweDAzLDB4ZTQsMHgwMiwweGY5LDB4ODAsMHgzZSwweDYwLDB4NGYsMHg5MCwweDBiLDB4Y2EgfX0sCi0gezE2LCAweDg4YTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDAsMHgzYywweDAwIH19LAotIHsxNiwgMHg4OGIwLCAwLCB7MHgxZCwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDMyLDB4MDAsMHgwYywweDg0LDB4ODMsMHhlMCwweDEwLDB4ZTgsMHgyMCB9fSwKLSB7MTYsIDB4ODhjMCwgMCwgezB4MzIsMHgwMCwweDhlLDB4ODQsMHgwMywweDIxLDB4ODAsMHhjOCwweDAwLDB4M2EsMHgxOSwweDBmLDB4MDQsMHgwMywweGUwLDB4MjQgfX0sCi0gezE2LCAweDg4ZDAsIDAsIHsweGYwLDB4MDIsMHgzYywweDAwLDB4MGYsMHg4MCwweDEzLDB4OGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OGUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMiwweDhhLDB4MDEsMHgwZiwweGEyLDB4NjgsMHhhMCwweDAwLDB4MjgsMHgwMCwweDhhLDB4MDAsMHg3NyB9fSwKLSB7MTYsIDB4ODhmMCwgMCwgezB4ODAsMHg2OCwweGUwLDB4MTIsMHhlOCwweDAwLDB4ZGUsMHgwMCwweDM2LDB4ODEsMHgwOCwweGUwLDB4MDMsMHg3YSwweDA4LDB4YWUgfX0sCi0gezE2LCAweDg5MDAsIDAsIHsweGM0LDB4MmYsMHg4MCwweDA4LDB4ZWQsMHgwMiwweGZhLDB4MDAsMHhiZSwweGEwLDB4M2IsMHg4MCwweDBiLDB4YTAsMHg0MiwweDBhIH19LAotIHsxNiwgMHg4OTEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHg4NSwweDRjLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ODkyMCwgMCwgezB4ODgsMHhiMCwweDAyLDB4MGMsMHgxNCwweGEzLDB4MDQsMHgyMCwweGM0LDB4MTgsMHgzOCwweDAyLDB4ZWMsMHgxMCwweDkzLDB4NTQgfX0sCi0gezE2LCAweDg5MzAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDAwLDB4MDIsMHg0ZSwweDAwLDB4ODMsMHg0OSwweDY4LDB4YzAsMHgwMiwweDM5LDB4NDIsMHhjZSwweDQwIH19LAotIHsxNiwgMHg4OTQwLCAwLCB7MHhiMywweDAwLDB4MmMsMHhlNiwweDBiLDB4YjAsMHgwMiwweDhiLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODk1MCwgMCwgezB4MjAsMHgwMSwweDFjLDB4MDgsMHg4NywweDIwLDB4MmMsMHg4MCwweDE4LDB4ZjIsMHgyMiwweDFjLDB4MDAsMHg4NywweDEwLDB4MjEgfX0sCi0gezE2LCAweDg5NjAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDgyLDB4ZGMsMHg4MCwweDk2LDB4ODAsMHgyZCwweGMwLDB4MGEsMHg0MCwweDAyLDB4N2QsMHg0MCwweDI3IH19LAotIHsxNiwgMHg4OTcwLCAwLCB7MHg2NCwweDZkLDB4ZDAsMHg0OCwweDYwLDB4NDIsMHhkOCwweDA1LDB4YjYsMHgwNCwweDI5LDB4YzAsMHg0YiwweDcyLDB4MDIsMHgyOCB9fSwKLSB7MTYsIDB4ODk4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgzZSwweDg4LDB4ZDcsMHhlMCwweDNkLDB4ZTAgfX0sCi0gezE2LCAweDg5OTAsIDAsIHsweDA4LDB4N2MsMHg0MiwweDNlLDB4MDAsMHhlMywweDgyLDB4MjAsMHhlMCwweDBjLDB4NjgsMHgwMywweGRmLDB4MDQsMHhkNywweDgwIH19LAotIHsxNiwgMHg4OWEwLCAwLCB7MHgzYiwweGUwLDB4NGUsMHg0OCwweDBhLDB4NWUsMHg4MCwweGM3LDB4YzIsMHgxOSwweGUwLDB4MGUsMHg3OCwweDAzLDB4ZDYsMHgwOCB9fSwKLSB7MTYsIDB4ODliMCwgMCwgezB4ZjcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5YzAsIDAsIHsweDA4LDB4MWQsMHhhYywweDQwLDB4ZmIsMHg0MCwweDdlLDB4ODAsMHgwZSwweDM2LDB4ODMsMHhlZCwweDQwLDB4ZGIsMHg2MCwweDNlIH19LAotIHsxNiwgMHg4OWQwLCAwLCB7MHg4MCwweDBmLDB4YTAsMHgwMywweGVkLDB4MjgsMHhkYSwweDAwLDB4MzIsMHhjNCwweDBjLDB4YjAsMHgwYiwweGNjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ODllMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGUsMHg4MCwweDEzLDB4ZTAsMHgxMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMSwweDUzLDB4YzIgfX0sCi0gezE2LCAweDg5ZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4YzAsMHgzMywweGUwIH19LAotIHsxNiwgMHg4YTAwLCAwLCB7MHgwYywweGY5LDB4MDMsMHg3ZiwweDA0LDB4Y2YsMHhkMCwweDNmLDB4ZTQsMHgwZiwweGI4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg5NCB9fSwKLSB7MTYsIDB4OGExMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4YzgsMHgwMywweDdlLDB4MTAsMHhmMywweDgwLDB4M2IsMHhlMCwweDBmLDB4ZjgsMHgwMywweGZlLDB4NDggfX0sCi0gezE2LCAweDhhMjAsIDAsIHsweGVkLDB4ODAsMHgzMywweDI0LDB4MDQsMHhmOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YTMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg4MCwweGJmLDB4MDQsMHgyMSwweDI4LDB4MDgsMHhmOCwweDAyLDB4MWUsMHhjMCwweGNmLDB4OTAsMHgyMSB9fSwKLSB7MTYsIDB4OGE0MCwgMCwgezB4NGMsMHgwYiwweDVhLDB4NDIsMHhkZSwweDAwLDB4YjcsMHg4MCwweDJjLDB4ZTgsMHgwYiwweDA0LDB4MDIsMHgxYywweDAwLDB4YjcgfX0sCi0gezE2LCAweDhhNTAsIDAsIHsweGEwLDB4MzUsMHgxMCwweDhmLDB4NzEsMHgxMywweGRlLDB4YzAsMHg4NCwweDEwLDB4MjEsMHg4MCwweDBkLDB4NzEsMHgwMiwweDJhIH19LAotIHsxNiwgMHg4YTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHg0MCwweDljLDB4MDgsMHhiNywweDAwLDB4MjUsMHhjOCB9fSwKLSB7MTYsIDB4OGE3MCwgMCwgezB4MDgsMHg3MSwweDAyLDB4Y2MsMHg4MCwweDk3LDB4MDAsMHgyOSwweGMwLDB4OGIsMHg3MiwweDA2LDB4ZGMsMHgwOCwweGI1LDB4MDAgfX0sCi0gezE2LCAweDhhODAsIDAsIHsweDJkLDB4YzgsMHgwYiwweDQwLDB4MDIsMHgxYywweDQwLDB4YmYsMHgxMCwweDIxLDB4YzAsMHgwYiwweDc0LDB4MDIsMHhkNCwweDgwIH19LAotIHsxNiwgMHg4YTkwLCAwLCB7MHhhNywweDQwLDB4MjEsMHg0MSwweDA4LDB4NzAsMHgwMiwweDA0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGFhMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDA4LDB4MzQsMHg4MiwweGFjLDB4MTEsMHg4MywweDAwLDB4MjAgfX0sCi0gezE2LCAweDhhYjAsIDAsIHsweDAwLDB4NGIsMHgxOCwweDI2LDB4Y2YsMHgyMCwweGIxLDB4MDYsMHgyYywweGMxLDB4MGIsMHgzMiwweDAyLDB4MGUsMHgwOCwweGIzIH19LAotIHsxNiwgMHg4YWMwLCAwLCB7MHg4OCwweDI0LDB4MzIsMHgwYSwweDMwLDB4MTIsMHg4NCwweDA4LDB4ODAsMHgwMCwweGEwLDB4MzQsMHgyOCwweDMwLDB4MDIsMHgxOCB9fSwKLSB7MTYsIDB4OGFkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAwLDB4ZmYsMHgwMCwweGI2LDB4NDAgfX0sCi0gezE2LCAweDhhZTAsIDAsIHsweDJjLDB4ZjQsMHg0MywweGZjLDB4MDEsMHhkZiwweDAwLDB4M2EsMHgwMCwweDAzLDB4OTIsMHgwMywweGZmLDB4ODgsMHhmOSwweDAwIH19LAotIHsxNiwgMHg4YWYwLCAwLCB7MHgyZiwweGMwLDB4MWIsMHgwZSwweDRiLDB4MmUsMHg5MCwweGZiLDB4ZTAsMHgzMCwweDMyLDB4MGIsMHg5OCwweDAyLDB4ZWMsMHgwOCB9fSwKLSB7MTYsIDB4OGIwMCwgMCwgezB4NmIsMHhjMCwweDMyLDB4YzAsMHgwOCwweGYwLDB4MDksMHgzZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiMTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjMsMHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDEsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNhIH19LAotIHsxNiwgMHg4YjIwLCAwLCB7MHgxMCwweDBmLDB4YjQsMHgwMywweGVjLDB4MDAsMHhmMCwweDAwLDB4M2MsMHhjMCwweDBmLDB4ODAsMHgwYiwweGFkLDB4MjAsMHhmYiB9fSwKLSB7MTYsIDB4OGIzMCwgMCwgezB4NDAsMHgzZSwweDEwLDB4MDcsMHhhOCwweDYzLDB4ZTAsMHgwMCwweGZiLDB4ODAsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweDhiNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHg3MiwweDAwIH19LAotIHsxNiwgMHg4YjUwLCAwLCB7MHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGMwLDB4MDMsMHhkYywweDAwLDB4OGYsMHgwMCB9fSwKLSB7MTYsIDB4OGI2MCwgMCwgezB4MzMsMHhjMSwweDBjLDB4YzAsMHgwMywweGJlLDB4MDAsMHhmZiwweDkwLDB4M2IsMHgyOCwweDBlLDB4NTksMHgwMywweDJlLDB4MDAgfX0sCi0gezE2LCAweDhiNzAsIDAsIHsweDdiLDB4MDAsMHgzMiwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjgwLCAwLCB7MHhjMSwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHg2MiwweGEwLDB4MGYsMHhiMCwweDAyLDB4ZWMsMHgwOSwweDhiLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OGI5MCwgMCwgezB4MzAsMHgwYiwweGE4LDB4MDMsMHhhYywweDAwLDB4ZmEsMHhjMSwweDIyLDB4YzEsMHgwOCwweDhjLDB4MDIsMHgyYywweDAwLDB4YjMgfX0sCi0gezE2LCAweDhiYTAsIDAsIHsweDgxLDB4MmEsMHgwMCwweDBkLDB4ODgsMHhiMiwweDIyLDB4MDAsMHhiMywweGMwLDB4MjIsMHhjOCwweDBiLDB4YjAsMHg0MiwweDYxIH19LAotIHsxNiwgMHg4YmIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDZjLDB4MDAsMHhiYiwweDAxLDB4MjIsMHg2MiB9fSwKLSB7MTYsIDB4OGJjMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwNCwweDhiLDB4MDAsMHgyZSwweGEyLDB4NDksMHg4OCwweDI2LDB4ZWMsMHgwMCwweGE4LDB4ODAgfX0sCi0gezE2LCAweDhiZDAsIDAsIHsweDIyLDB4YzAsMHgyOCwweDgyLDB4MGEsMHhhYywweGEwLDB4YmIsMHgwOCwweDIyLDB4YzAsMHgwOCwweDgwLDB4MGEsMHgyOCwweDg0IH19LAotIHsxNiwgMHg4YmUwLCAwLCB7MHhiOSwweGMwLDB4YTIsMHgwMCwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGJmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDEwLDB4MjAsMHg0OCwweDBhLDB4MzIsMHgwMiwweGNjLDB4ODAsMHg4MywweDAxLDB4MjQgfX0sCi0gezE2LCAweDhjMDAsIDAsIHsweDAwLDB4MGIsMHgwMiwweDA2LDB4OGMsMHg2MCwweGEwLDB4MjAsMHgyMCwweGM4LDB4MDgsMHgwMSwweDAyLDB4MGMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg4YzEwLCAwLCB7MHgwMCwweDI4LDB4MDAsMHgwOSwweDIwLDB4MDIsMHgwOCwweDgwLDB4YjEsMHgwMCwweGEwLDB4ODAsMHgwYiwweDMwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4OGMyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHg2YywweDAwLDB4ZmYsMHgwMCwweGEyLDB4MGUgfX0sCi0gezE2LCAweDhjMzAsIDAsIHsweDBiLDB4ZjEsMHgwMywweGZjLDB4MDgsMHhjZiwweDIwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGZjLDB4ODQsMHhhOCwweDIwIH19LAotIHsxNiwgMHg4YzQwLCAwLCB7MHhiMiwweGM4LDB4OGMsMHg4MCwweDAzLDB4YWMsMHg0NCwweGZiLDB4NzAsMHgzYSwweGMwLDB4MGUsMHg5MCwweDAzLDB4MmMsMHhhNCB9fSwKLSB7MTYsIDB4OGM1MCwgMCwgezB4ZmIsMHgwMCwweGIyLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjNjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgyNiwweDNlLDB4MDAsMHgwZiwweGI2LDB4MTMsMHhlZCwweDAwLDB4ZmIsMHgxMCwweDNmIH19LAotIHsxNiwgMHg4YzcwLCAwLCB7MHgwMCwweDBmLDB4YzEsMHgxMywweGFjLDB4ODAsMHhmOCwweDEyLDB4M2UsMHhjNiwweDRmLDB4NDIsMHg0MywweGZjLDB4MDQsMHhmZiB9fSwKLSB7MTYsIDB4OGM4MCwgMCwgezB4MzEsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHhiZiwweGMwLDB4OGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDhjOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg0MCwweGZjLDB4ODAsMHgzNiwweGM4IH19LAotIHsxNiwgMHg4Y2EwLCAwLCB7MHgwZiwweDA5LDB4MDMsMHhjMiwweDAwLDB4ZjgsMHhjMCwweDMzLDB4Y2MsMHgyYywweDRjLDB4MDMsMHg2MywweDkwLDB4ZTAsMHg5MCB9fSwKLSB7MTYsIDB4OGNiMCwgMCwgezB4M2EsMHhjMCwweDBkLDB4NTAsMHgwYiwweDNjLDB4MDQsMHhkZiwweDY0LDB4M2YsMHhjOCwweDhkLDB4ZjEsMHg0MywweDJjLDB4MDAgfX0sCi0gezE2LCAweDhjYzAsIDAsIHsweGQ1LDB4MDAsMHgzMywweGMwLDB4NDUsMHhmMiwweDIzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4Y2QwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHg4MCwweGJhLDB4MDIsMHgyMSwweGRlLDB4OGIsMHg4MiwweDIyLDB4ZTAsMHgyMCwweGIwLDB4MDAsMHgyYiB9fSwKLSB7MTYsIDB4OGNlMCwgMCwgezB4ZWMsMHgwOSwweDgwLDB4MDIsMHhlMywweDQwLDB4YmEsMHgyMCwweDJmLDB4ZGMsMHgwOCwweDk4LDB4MTIsMHgyYywweDAwLDB4OGIgfX0sCi0gezE2LCAweDhjZjAsIDAsIHsweDUxLDB4MmEsMHhkMCwweDA4LDB4NzIsMHgyMiwweDJlLDB4MDAsMHg4ZCwweDgwLDB4MjEsMHhkMCwweDA4LDB4YjYsMHg4MiwweDIwIH19LAotIHsxNiwgMHg4ZDAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhiOSwweDI4LDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4OGQxMCwgMCwgezB4NGEsMHgxMiwweDEyLDB4ODgsMHg4NSwweGE4LDB4MjAsMHgyMCwweGMwLDB4MGIsMHgyMiwweDAyLDB4YzAsMHg5MSwweGExLDB4MDAgfX0sCi0gezE2LCAweDhkMjAsIDAsIHsweDI4LDB4YzIsMHgwYiwweDAwLDB4MTIsMHg4YywweDQwLDB4YTMsMHgyMCwweDIwLDB4YzQsMHgwYiwweDMwLDB4MGEsMHgwYywweDExIH19LAotIHsxNiwgMHg4ZDMwLCAwLCB7MHg5OSwweDAwLDB4MjAsMHhjNSwweDA5LDB4MDEsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGQ0MCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHhiOCwweDgwLDB4MjIsMHhjMCwweDBiLDB4ODgsMHgwMiwweGVlLDB4MDEsMHhiOCwweGMxLDB4MmEgfX0sCi0gezE2LCAweDhkNTAsIDAsIHsweGMwLDB4MWIsMHhhOCwweDA2LDB4ZTIsMHgwMCwweGJiLDB4ODAsMHgyZSwweGMwLDB4OGEsMHg4MCwweDAyLDB4YWMsMHgwMCwweGFiIH19LAotIHsxNiwgMHg4ZDYwLCAwLCB7MHgwMCwweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHgyYywweDAwLDB4OTksMHgwMCwweDI0LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4OGQ3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YjAsMHg4MCwweDM2LDB4YzAgfX0sCi0gezE2LCAweDhkODAsIDAsIHsweDBlLDB4YTgsMHgxMywweGUyLDB4ODUsMHhmMywweGMwLDB4MzIsMHhjMCwweDBlLDB4OWMsMHgyMywweGU3LDB4MjQsMHhlOCwweDgyIH19LAotIHsxNiwgMHg4ZDkwLCAwLCB7MHgzYSwweGMxLDB4MGYsMHg5NCwweDAzLDB4YWMsMHgwMiwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmUsMHgxMCB9fSwKLSB7MTYsIDB4OGRhMCwgMCwgezB4NTEsMHgwMCwweGIyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkYjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGQwLDB4MDMsMHhmMCwweDA0LDB4ZmQsMHgwNCwweDNmIH19LAotIHsxNiwgMHg4ZGMwLCAwLCB7MHhjMCwweDRjLDB4YzAsMHgwMywweGYwLDB4MTAsMHhmYywweDAwLDB4MWYsMHhjMCwweDBkLDB4ZDEsMHgyMywweDFjLDB4MDAsMHhjNyB9fSwKLSB7MTYsIDB4OGRkMCwgMCwgezB4MDAsMHgzOSwweGMwLDB4MGQsMHhmMCwweDgzLDB4ZmUsMHg0NCwweGVkLDB4MDAsMHgzYiwweGMwLDB4MGYsMHg3NCwweDAzLDB4ZjggfX0sCi0gezE2LCAweDhkZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4MDEsMHhiYSwweGMxIH19LAotIHsxNiwgMHg4ZGYwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhhMSwweDA4LDB4ZmEsMHgwMCwweDMwLDB4YzgsMHg4ZiwweDk0LDB4MDMsMHgyNSwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OGUwMCwgMCwgezB4M2MsMHhjMCwweDBmLDB4MDQsMHg4MywweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhlMCwweDBmLDB4NzEsMHgwYiwweDJjLDB4NDAgfX0sCi0gezE2LCAweDhlMTAsIDAsIHsweGZkLDB4MDgsMHgzNywweGMwLDB4NGUsMHg5MSwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZTIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweGI5LDB4MDAsMHgyMywweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGM4LDB4MDAsMHgzNyB9fSwKLSB7MTYsIDB4OGUzMCwgMCwgezB4ZjAsMHgwYiwweDgwLDB4MDEsMHg2NCwweDAwLDB4NDksMHgwMiwweDMzLDB4YzAsMHg4NCwweDljLDB4MDMsMHgzYywweDAwLDB4YmYgfX0sCi0gezE2LCAweDhlNDAsIDAsIHsweDAyLDB4MGYsMHhkMCwweDA4LDB4ZjQsMHgwMiwweDBlLDB4MTAsMHhiZCwweDgwLDB4MzMsMHhlMCwweDA4LDB4OTAsMHgwYSwweDMyIH19LAotIHsxNiwgMHg4ZTUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMCwweDA2LDB4MjAsMHhjMCB9fSwKLSB7MTYsIDB4OGU2MCwgMCwgezB4MDgsMHgwMCwweDQyLDB4ODQsMHgwMCwweGEwLDB4MDAsMHgyMCwweGYwLDB4MGIsMHgwMCwweDIyLDB4Y2MsMHgwMCwweDkwLDB4MDAgfX0sCi0gezE2LCAweDhlNzAsIDAsIHsweDI4LDB4YzAsMHgwMiwweDNkLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzIsMHg5YSwweDM4LDB4MDIsMHgwNiwweDA0IH19LAotIHsxNiwgMHg4ZTgwLCAwLCB7MHhiMSwweDEyLDB4MjAsMHhlMCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGU5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNiwweDgwLDB4MjEsMHhlMCwweDI4LDB4ZWEsMHgwMiwweDM2LDB4ODAsMHg4NiwweDkwLDB4NjUgfX0sCi0gezE2LCAweDhlYTAsIDAsIHsweGUwLDB4MWIsMHhkYSwweDA2LDB4NWUsMHgwMSwweDllLDB4ODQsMHgyNSwweGVjLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4ZWIwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHgwOCwweDc5LDB4NGEsMHgxNiwweDQwLDB4YmQsMHg4MCwweDI1LDB4ZTAsMHgwOCwweDM4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4OGVjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZmIsMHgwMCwweDI4LDB4ZTAgfX0sCi0gezE2LCAweDhlZDAsIDAsIHsweDA4LDB4MTgsMHgwMiwweDhhLDB4ODgsMHhhMSwweGEwLDB4MjAsMHhjMiwweDFmLDB4MmEsMHgyMywweGU2LDB4YzgsMHhmMCwweGMwIH19LAotIHsxNiwgMHg4ZWUwLCAwLCB7MHgzYSwweGVkLDB4NGUsMHgzNCwweDAyLDB4OGMsMHgwOCwweGYzLDB4ODEsMHgxZSwweGMwLDB4MGUsMHgzMCwweDAzLDB4MGUsMHhjMCB9fSwKLSB7MTYsIDB4OGVmMCwgMCwgezB4ZjEsMHgwMCwweGIwLDB4Y2EsMHgwZSwweDIxLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmMDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDA4LDB4ZmUsMHgxMCwweDNmLDB4ZDIsMHgwZiwweGUwLDB4MDMsMHhlYywweDA0LDB4ZmYsMHgxNCwweDdlIH19LAotIHsxNiwgMHg4ZjEwLCAwLCB7MHhjMCwweDBmLDB4YjEsMHgyMywweGZjLDB4MDEsMHhlZSwweDAwLDB4M2EsMHhjNCwweDBkLDB4YjAsMHgxMywweGJjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4OGYyMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGUsMHhmMCwweDgzLDB4ZmMsMHgwYywweGZkLDB4MTAsMHgzYiwweGMwLDB4MmYsMHhlMSwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDhmMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGYwLDB4ODAsMHgzMiwweGQwIH19LAotIHsxNiwgMHg4ZjQwLCAwLCB7MHgwYywweGEwLDB4MDMsMHg2YywweDAwLDB4ZjMsMHg4MCwweDMyLDB4ZGEsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4OGY1MCwgMCwgezB4M2UsMHhjYywweDRjLDB4OTgsMHgxMywweDJjLDB4MTAsMHhmYiwweDA0LDB4M2UsMHhjNCwweDBjLDB4ZjIsMHg4MywweGE2LDB4MTAgfX0sCi0gezE2LCAweDhmNjAsIDAsIHsweGRkLDB4MjAsMHgzZiwweGQxLDB4MGMsMHhiMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg4MCwweGI3LDB4MDAsMHgyMSwweGM4LDB4MGMsMHg3MCwweDAyLDB4ZGMsMHgwOCwweGI3LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4OGY4MCwgMCwgezB4YzgsMHgwZSwweDcwLDB4MjIsMHhkOCwweDAwLDB4YjcsMHgwMCwweDJjLDB4YzIsMHgwYSwweDcwLDB4MGEsMHgxZiwweDA4LDB4YjcgfX0sCi0gezE2LCAweDhmOTAsIDAsIHsweDAwLDB4MzksMHhjOCwweDBhLDB4NzAsMHgwMiwweDE0LDB4MDAsMHhjNSwweDY5LDB4MmMsMHhjYSwweDJhLDB4NzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHg4ZmEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiZiwweDgxLDB4NjQsMHhlMSB9fSwKLSB7MTYsIDB4OGZiMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4NWEsMHgwMSwweGJmLDB4ODAsMHgyMSwweGVjLDB4NGIsMHg3OCwweDQ2LDB4OWYsMHgwOCwweDM3LDB4ODAgfX0sCi0gezE2LCAweDhmYzAsIDAsIHsweDJkLDB4ZTgsMHg4OCwweDE4LDB4MDIsMHgxZSwweDgxLDB4YjcsMHhiMCwweDJkLDB4ZTAsMHgwOSwweDdhLDB4MDIsMHg4ZSwweDAwIH19LAotIHsxNiwgMHg4ZmQwLCAwLCB7MHg5NSwweGEwLDB4MmQsMHhlNCwweDA4LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGZlMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHhiMywweDYwLDB4MjAsMHhjMCwweDA4LDB4YjYsMHgwMiwweGNjLDB4MDAsMHhiMywweDAxLDB4MjAgfX0sCi0gezE2LCAweDhmZjAsIDAsIHsweGMwLDB4OGEsMHhiMCwweDg2LDB4Y2YsMHgwMCwweGJiLDB4MTAsMHg2YywweGMxLDB4MGEsMHgzOCwweDAyLDB4MGMsMHgwMSwweGIzIH19LAotIHsxNiwgMHg5MDAwLCAwLCB7MHgwMiwweDI4LDB4YzAsMHgwYiwweGIwLDB4MGEsMHgwYywweDAwLDB4ODEsMHgwMCwweDJlLDB4YzAsMHgwYSwweGI0LDB4ODIsMHhkMiB9fSwKLSB7MTYsIDB4OTAxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg0MCwweGI2LDB4ODAgfX0sCi0gezE2LCAweDkwMjAsIDAsIHsweDBjLDB4ZTQsMHgwMywweDc4LDB4ODAsMHhmZSwweDc0LDB4MzIsMHg4MCwweDBiLDB4ZTYsMHgwMywweGY5LDB4MDAsMHhmZSwweDAwIH19LAotIHsxNiwgMHg5MDMwLCAwLCB7MHgzZSwweDgwLDB4MGMsMHhlMCwweDAzLDB4MjgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4NGQsMHhhMCwweDAzLDB4YTgsMHgwMCB9fSwKLSB7MTYsIDB4OTA0MCwgMCwgezB4ZGEsMHgwNCwweDNlLDB4ODAsMHgwYywweGU0LDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgyZSwweDgwLDB4MjMsMHhlMCwweDAwLDB4ZjgsMHgwMSwweDNjIH19LAotIHsxNiwgMHg5MDYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOCwweDIwLDB4M2UsMHgwMSwweDhmLDB4ODksMHgwMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4OTA3MCwgMCwgezB4MDAsMHgzYSwweDEwLDB4MGUsMHg4MCwweDAxLDB4ZTAsMHgwMCwweGU4LDB4NDAsMHg3ZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDkwODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDEsMHg3ZSwweDQwIH19LAotIHsxNiwgMHg5MDkwLCAwLCB7MHgyYywweDkwLDB4MGIsMHgyNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjgsMHgwNSwweDkwLDB4MTMsMHhhNCwweDA0LDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4OTBhMCwgMCwgezB4MzIsMHg0MSwweDBlLDB4OTEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweDkwYjAsIDAsIHsweGYxLDB4MDAsMHgzMiwweDQwLDB4NjgsMHg5MCwweDQzLDB4ODIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MGMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OTBkMCwgMCwgezB4NzAsMHg4OCwweDkwLDB4MDMsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk4LDB4MTIsMHhlNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweDkwZTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBhLDB4OTAsMHgwYSwweDI2LDB4MDAsMHhiOSwweDgwLDB4YTIsMHg0MCwweDA4LDB4OTAsMHgxMiwweDIwIH19LAotIHsxNiwgMHg5MGYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDA0LDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4OTEwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMSwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHhiMCwweDAyLDB4YTQsMHgwMSwweGI5LDB4MDAgfX0sCi0gezE2LCAweDkxMTAsIDAsIHsweGUwLDB4NDAsMHgwYSwweDkwLDB4ODIsMHhhNCwweDAwLDB4YjksMHgwMCwweDJjLDB4NDgsMHgwYSwweDk4LDB4MDIsMHgyNCwweDgwIH19LAotIHsxNiwgMHg5MTIwLCAwLCB7MHgzOSwweDIwLDB4MjIsMHg0MCwweDJhLDB4OTAsMHgwMiwweDg2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTEzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHg0OCwweDA4LDB4MTAsMHgxMiwweDA0LDB4MTAsMHhiMSwweDA0LDB4MmMgfX0sCi0gezE2LCAweDkxNDAsIDAsIHsweGQ4LDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyMCwweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzQsMHg4MCwweGIxIH19LAotIHsxNiwgMHg5MTUwLCAwLCB7MHgyMiwweDJjLDB4NTAsMHg4YSwweDMyLDB4ODIsMHgwNSwweGEwLDB4YjEsMHgyYSwweDIwLDB4NGEsMHgwYSwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4OTE2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDUwLDB4YzgsMHg1MiwweDJlLDB4MTQgfX0sCi0gezE2LCAweDkxNzAsIDAsIHsweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDUwLDB4M2EsMHgwMCwweDFmLDB4ODUsMHgwMywweGExLDB4NDAsMHhmOCwweDUwIH19LAotIHsxNiwgMHg5MTgwLCAwLCB7MHgzMiwweDE0LDB4MGUsMHg4MCwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAsMHgzYywweDgwLDB4MGUsMHgwMiwweDAzLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4OTE5MCwgMCwgezB4ZmEsMHgyMCwweDMyLDB4MDgsMHgwZSwweDgyLDB4MTMsMHhhZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDUwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNlIH19LAotIHsxNiwgMHg5MWIwLCAwLCB7MHg0NCwweDhkLDB4ZDAsMHgwMSwweGJkLDB4MDAsMHhmZCwweDAyLDB4M2UsMHg0NCwweDBmLDB4ZDQsMHgwMCwweGU0LDB4NDgsMHg3OSB9fSwKLSB7MTYsIDB4OTFjMCwgMCwgezB4MTQsMHgzZSwweDUwLDB4MGYsMHg5MiwweGEyLDB4ZjQsMHgwOCwweGZkLDB4MDAsMHgzZSwweDRhLDB4MGQsMHhkMiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweDkxZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTcsMHgwMCwweGY5LDB4MTAsMHgzYSwweDZlIH19LAotIHsxNiwgMHg5MWUwLCAwLCB7MHgwYywweGIxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHg0NCwweDNiLDB4NjEsMHg4ZSwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZTksMHg0MCB9fSwKLSB7MTYsIDB4OTFmMCwgMCwgezB4MzIsMHg2NiwweDBmLDB4ZGEsMHgwYiwweGE3LDB4MjgsMHhjOSwweGUwLDB4M2YsMHg2OCwweDBjLDB4ZGEsMHg4MywweGIzLDB4MjAgfX0sCi0gezE2LCAweDkyMDAsIDAsIHsweGVkLDB4YTAsMHgzMywweDc5LDB4MDgsMHhkOCwweDAzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MjEwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwMCwweGI4LDB4YTAsMHgyZSwweDM4LDB4MDgsMHg4YSwweDAyLDB4ZTIsMHg4OCwweGU4LDB4ODEsMHgyZSB9fSwKLSB7MTYsIDB4OTIyMCwgMCwgezB4MTQsMHgwOSwweDBhLDB4MDMsMHhlMiwweDgwLDB4YjgsMHg4MCwweDMyLDB4MzAsMHgwYiwweDg1LDB4MDIsMHgyMSwweDAxLDB4YTggfX0sCi0gezE2LCAweDkyMzAsIDAsIHsweGY0LDB4MzgsMHgyYSwweDA4LDB4MGUsMHhjYSwweDIzLDB4OTAsMHhjOCwweDU0LDB4MzQsMHgzOCwweDA4LDB4OGEsMHg5MiwweDBlIH19LAotIHsxNiwgMHg5MjQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDAwLDB4MjgsMHg0MCB9fSwKLSB7MTYsIDB4OTI1MCwgMCwgezB4MTksMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjAsMHgyOCwweDQwLDB4MGIsMHgxMCwweDA2LDB4YzQsMHgyMCwweGExLDB4YTIgfX0sCi0gezE2LCAweDkyNjAsIDAsIHsweDZjLDB4NDgsMHgwYiwweDEwLDB4MDIsMHg4NCwweDA4LDB4ODEsMHgyMCwweDJjLDB4NTAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDA0IH19LAotIHsxNiwgMHg5MjcwLCAwLCB7MHhiMSwweDAwLDB4MjQsMHg1OCwweDA4LDB4M2MsMHgwMiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTI4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHhiOSwweDIwLDB4MmMsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MTAsMHhhOSwweDQwLDB4MmUgfX0sCi0gezE2LCAweDkyOTAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweGIxLDB4MDEsMHgyYSwweDQwLDB4MGIsMHg5NCwweDAyLDB4MjQsMHgwMCwweGE5IH19LAotIHsxNiwgMHg5MmEwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwMSwweDEwLDB4NTIsMHg2NCwweDAwLDB4ODksMHgwMCwweDI2LDB4NDAsMHgwMCwweDk4LDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4OTJiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg2MSwweDNhLDB4NDAgfX0sCi0gezE2LCAweDkyYzAsIDAsIHsweDBkLDB4OTAsMHg4MywweGU1LDB4MjAsMHhmOSwweDAxLDB4M2EsMHg0MCwweDJlLDB4OTAsMHgwMiwweGU0LDB4NDAsMHhlOSwweDAxIH19LAotIHsxNiwgMHg5MmQwLCAwLCB7MHg5ZSwweDQwLDB4MGYsMHg5NCwweDAzLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwLDB4MmQsMHg5MCwweDAyLDB4ZTYsMHgwOCB9fSwKLSB7MTYsIDB4OTJlMCwgMCwgezB4YjksMHgwMSwweDM2LDB4NDAsMHgyYywweDkwLDB4MDEsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyZjAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgyZSwweDkwLDB4MDMsMHhlNCwweDgwLDB4ZjksMHgwMCwweDNjIH19LAotIHsxNiwgMHg5MzAwLCAwLCB7MHg0MCwweDBjLDB4OWMsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4MTAsMHg0MywweDg0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OTMxMCwgMCwgezB4MDIsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ODAsMHg4MCwweGY5LDB4MDAsMHgzYywweDQwLDB4MmYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweDkzMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4NDAsMHgzNiwweDAxIH19LAotIHsxNiwgMHg5MzMwLCAwLCB7MHgwZCwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZTgsMHg0MCwweDNlLDB4MDgsMHgwYywweDgwLDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4OTM0MCwgMCwgezB4MzIsMHgwMCwweDhmLDB4ODAsMHgwMywweGEwLDB4MTAsMHhmOCwweDAwLDB4MzIsMHgwNCwweDBlLDB4ODAsMHg4MywweDYwLDB4MDAgfX0sCi0gezE2LCAweDkzNTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHgwMCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4MDEsMHgyMiwweDgwLDB4MDgsMHhhMCwweDI0LDB4ZTgsMHgwMCwweDBhLDB4MDAsMHgyZiB9fSwKLSB7MTYsIDB4OTM3MCwgMCwgezB4ODAsMHgxYSwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHgwMCwweDE2LDB4ODAsMHgwYiwweGUwLDB4MDMsMHgyOCwweDA4LDB4ZWEgfX0sCi0gezE2LCAweDkzODAsIDAsIHsweDAwLDB4MzMsMHg5MCwweDA4LDB4ZWMsMHgxYiwweDIyLDB4ODAsMHhjNiwweDE0LDB4MmYsMHg5MSwweDA4LDB4YTAsMHg0MywweDRhIH19LAotIHsxNiwgMHg5MzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDAwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4OTNhMCwgMCwgezB4MDksMHgzMCwweDEyLDB4Y2MsMHgwNCwweGEzLDB4MDQsMHg2YywweGMwLDB4MDksMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweDkzYjAsIDAsIHsweDJjLDB4YzAsMHgxMywweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCwweGU2LDB4YjgsMHgwYSwweDM4LDB4MDIsMHg0NCwweDA4IH19LAotIHsxNiwgMHg5M2MwLCAwLCB7MHg4MiwweDUwLDB4MmMsMHhkMiwweDNhLDB4MzAsMHgwMiwweDhhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTNkMCwgMCwgezB4YTAsMHgwMSwweDBlLDB4ODAsMHg5NywweGI0LDB4MjEsMHhjNCwweDQ5LDB4NzEsMHgwMiwweGRlLDB4ODEsMHg4NywweDIxLDB4MmQgfX0sCi0gezE2LCAweDkzZTAsIDAsIHsweGQwLDB4MGIsMHg3YiwweDAyLDB4MWMsMHgwMSwweGJmLDB4MjAsMHgyOSwweGM0LDB4MGIsMHgzMCwweDAyLDB4NWMsMHgwMCwweGE3IH19LAotIHsxNiwgMHg5M2YwLCAwLCB7MHhhMSwweDIxLDB4YzAsMHg0YSwweDcwLDB4OGEsMHgwYywweDgxLDB4ODQsMHgwMCwweDJkLDB4ZDAsMHgwYSwweDUwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4OTQwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgyLDB4ZGYsMHhhMCwweDM0LDB4ZWMgfX0sCi0gezE2LCAweDk0MTAsIDAsIHsweDBkLDB4NzksMHgwMiwweGZlLDB4ODAsMHhlNywweGU4LDB4MmYsMHhhMCwweDA5LDB4N2EsMHgwMiwweDllLDB4MDAsMHhmNywweGEyIH19LAotIHsxNiwgMHg5NDIwLCAwLCB7MHgyNSwweGVhLDB4MGIsMHg0OCwweDAzLDB4OWUsMHgwNCwweGZmLDB4YzAsMHg2NSwweGU0LDB4MGUsMHg2OCwweDAzLDB4NWYsMHgwMCB9fSwKLSB7MTYsIDB4OTQzMCwgMCwgezB4ZTQsMHg4MCwweDNkLDB4ZTAsMHgwZSwweGY4LDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0NDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDQ4LDB4ZWIsMHgwNSwweDNlLDB4ZDksMHgwZSwweGIyLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg2MCwweDNlIH19LAotIHsxNiwgMHg5NDUwLCAwLCB7MHhjMCwweDBlLDB4YjIsMHg4MywweGFjLDB4MDAsMHhmMywweDUwLDB4YTYsMHhjMCwweDRmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4OTQ2MCwgMCwgezB4ODAsMHgzZiwweGQ4LDB4MGQsMHhhMCwweDAzLDB4ZWMsMHgwYSwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGQsMHg5MCwweDAzLDB4NDIgfX0sCi0gezE2LCAweDk0NzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGJiLDB4OTAsMHgzZSwweGUwIH19LAotIHsxNiwgMHg5NDgwLCAwLCB7MHgwOCwweDM5LDB4MDMsMHg5ZSwweDIwLDB4Y2YsMHg4MiwweDc3LDB4ZTAsMHgxZiwweGY4LDB4MDMsMHhlZSwweDAwLDB4ZmYsMHhjMCB9fSwKLSB7MTYsIDB4OTQ5MCwgMCwgezB4M2YsMHhlNSwweDBkLDB4ZjksMHgwMywweGVlLDB4MDAsMHhmYiwweDkwLDB4MzcsMHhhMCwweDA4LDB4ZjgsMHgwZiwweDFlLDB4MDAgfX0sCi0gezE2LCAweDk0YTAsIDAsIHsweGNjLDB4OTQsMHgzMywweDYwLDB4MGQsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NGIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI3LDB4OTAsMHgyZiwweGU0LDB4MDgsMHg3YSwweDAyLDB4MWUsMHgwMCwweDhmLDB4MTIsMHgyNSB9fSwKLSB7MTYsIDB4OTRjMCwgMCwgezB4ZDgsMHgwYiwweGJiLDB4MDIsMHgxZSwweDAwLDB4YjcsMHgwMCwweDJkLDB4ZTgsMHgwOCwweDdkLDB4ODIsMHhkZSwweDQwLDB4YmIgfX0sCi0gezE2LCAweDk0ZDAsIDAsIHsweGEwLDB4MjcsMHg5MCwweDBhLDB4NzYsMHgwMiwweDVjLDB4ODAsMHg4NSwweDAwLDB4MzcsMHhjNCwweDRkLDB4NzEsMHgwMywweGVhIH19LAotIHsxNiwgMHg5NGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDIwLDB4MmQsMHhjMCB9fSwKLSB7MTYsIDB4OTRmMCwgMCwgezB4MjksMHhmMiwweDIyLDB4YmMsMHg4MCwweDk3LDB4MDAsMHgyNSwweDQxLDB4MGIsMHg3MCwweDEyLDB4OWMsMHgwMCwweGI3LDB4MDggfX0sCi0gezE2LCAweDk1MDAsIDAsIHsweDI5LDB4YzAsMHgwOCwweDQyLDB4MTIsMHhkYywweDQwLDB4YjcsMHgwMCwweDI5LDB4YzAsMHgwOSwweDYwLDB4MjIsMHhkYywweDEwIH19LAotIHsxNiwgMHg5NTEwLCAwLCB7MHg4MCwweDAwLDB4MjEsMHg0MCwweDA5LDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTUyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweGMwLDB4MmUsMHhjMCwweDA4LDB4MzQsMHg4MiwweDJkLDB4MDAsMHg5MywweDAwLDB4MjQgfX0sCi0gezE2LCAweDk1MzAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDAyLDB4MGYsMHg4MCwweDEzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzNCwweGEyLDB4ZWMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg5NTQwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwYiwweDAwLDB4MDIsMHhjYywweDAwLDB4ODEsMHgwMCwweDIwLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4OSB9fSwKLSB7MTYsIDB4OTU1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAwLDB4ZmYsMHhlMCwweDNmLDB4YzAgfX0sCi0gezE2LCAweDk1NjAsIDAsIHsweDBjLDB4ZjQsMHg4MywweGJkLDB4MDAsMHhkZiwweDA4LDB4MzYsMHg0MCwweDBiLDB4NzUsMHg0MiwweGZjLDB4MjAsMHhmZiwweDgwIH19LAotIHsxNiwgMHg5NTcwLCAwLCB7MHgzYiwweGMwLDB4MmMsMHgzYywweDAzLDB4ZmMsMHgwMCwweGJmLDB4MDAsMHhiZSwweGMwLDB4OGQsMHg5MCwweDBiLDB4YWMsMHgwMiB9fSwKLSB7MTYsIDB4OTU4MCwgMCwgezB4Y2EsMHgwMCwweDIyLDB4ODAsMHgwZCwweGIwLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1OTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwOCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNhIH19LAotIHsxNiwgMHg5NWEwLCAwLCB7MHgxMCwweDBmLDB4YjAsMHgyMywweGFjLDB4MDEsMHhmYiwweDAwLDB4M2UsMHhjMCwweDNjLDB4ODQsMHgwMywweGVjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4OTViMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGUsMHg5NCwweDBiLDB4MmMsMHgwMCwweGY5LDB4NDAsMHgzZSwweDkwLDB4MGUsMHg5MCwweDEzLDB4ZTAgfX0sCi0gezE2LCAweDk1YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMiwweGNmLDB4MDAsMHgzZiwweGMwIH19LAotIHsxNiwgMHg5NWQwLCAwLCB7MHgwZCwweGYwLDB4MGIsMHgzYywweDIwLDB4Y2YsMHgwMCwweDNkLDB4MDAsMHgwZSwweGYwLDB4MDcsMHg5YywweDAxLDB4Y2YsMHgwMiB9fSwKLSB7MTYsIDB4OTVlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YzQsMHgwMywweDNjLDB4MDAsMHhjZiwweDAwLDB4MGYsMHhjMCwweDBlLDB4NDQsMHgwMywweDFmLDB4MDIgfX0sCi0gezE2LCAweDk1ZjAsIDAsIHsweGNjLDB4MDAsMHgzZiwweDgwLDB4MmMsMHg3MCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NjAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4MDIsMHgyZSwweGMwLDB4MGQsMHhiMCwweDAyLDB4MmMsMHgwMCwweGFiLDB4MDAsMHgwNiB9fSwKLSB7MTYsIDB4OTYxMCwgMCwgezB4MjAsMHgwOCwweGIwLDB4MDMsMHhmYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAsMHgwZiwweDgwLDB4MDYsMHhiYywweDAwLDB4YWIgfX0sCi0gezE2LCAweDk2MjAsIDAsIHsweDA0LDB4M2EsMHhmMCwweDBjLDB4ODgsMHgwMiwweDJjLDB4MDAsMHhjOSwweDgwLDB4M2EsMHg5MiwweDA4LDB4OTAsMHgwYSwweGEwIH19LAotIHsxNiwgMHg5NjMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhhYiwweDAwLDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4OTY0MCwgMCwgezB4MDksMHgzMCwweDAyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweDYwLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDAgfX0sCi0gezE2LCAweDk2NTAsIDAsIHsweDZlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OWIsMHgwMCwweDRjLDB4ZTAsMHgwYSwweDkwLDB4MjIsMHgyYywweDAwIH19LAotIHsxNiwgMHg5NjYwLCAwLCB7MHg4YSwweGMyLDB4MmMsMHg0MCwweDA4LDB4YjAsMHg0MiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTY3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDBkLDB4MmMsMHhjNiwweDA5LDB4MzEsMHgwMiwweDBkLDB4ODEsMHhhMywweDExLDB4MjQgfX0sCi0gezE2LCAweDk2ODAsIDAsIHsweDAwLDB4OGEsMHhiMSwweGUyLDB4NGMsMHg4MCwweGEzLDB4MDAsMHgyYywweGNjLDB4MGIsMHgwMiwweDAyLDB4OGMsMHg4MCwweGEzIH19LAotIHsxNiwgMHg5NjkwLCAwLCB7MHg0OCwweDA4LDB4YzAsMHgwOCwweDAwLDB4MGEsMHgwZCwweDAwLDB4ODEsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4OTZhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4Y2IsMHgyMCwweDJmLDB4YzggfX0sCi0gezE2LCAweDk2YjAsIDAsIHsweDhkLDB4ZjYsMHgxMywweDJkLDB4YjAsMHg4ZiwweDAwLDB4MzYsMHg0MCwweDBmLDB4ZjAsMHgwMiwweGFkLDB4YTgsMHg4ZiwweDEwIH19LAotIHsxNiwgMHg5NmMwLCAwLCB7MHgzZiwweGNhLDB4MGIsMHg4MCwweDkyLDB4MmMsMHgxMCwweGRiLDB4NDAsMHgzZiwweGMwLDB4MGUsMHgwMCwweDAzLDB4MmQsMHgwNCB9fSwKLSB7MTYsIDB4OTZkMCwgMCwgezB4YzgsMHgwMiwweDNlLDB4NDAsMHgwYywweGIwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2ZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzgsMHgwZSwweGYxLDB4MDMsMHhlYywweDg0LDB4ZmYsMHgyMCwweDM3IH19LAotIHsxNiwgMHg5NmYwLCAwLCB7MHgwMCwweDBkLDB4YjIsMHgwMywweGJjLDB4YTAsMHhmZiwweDAwLDB4M2UsMHhjOSwweDBlLDB4ODAsMHgwMywweGZkLDB4MTEsMHhmZiB9fSwKLSB7MTYsIDB4OTcwMCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MGUsMHhjMCwweDAzLDB4ZmMsMHg4MCwweGVkLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDQzLDB4NjggfX0sCi0gezE2LCAweDk3MTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg5MCwweGNjLDB4OTIsMHgzYiwweGM4IH19LAotIHsxNiwgMHg5NzIwLCAwLCB7MHgwZCwweGYwLDB4ODMsMHg3MywweDEwLDB4ZmYsMHgyOCwweDM3LDB4Y2EsMHg0ZiwweGIyLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgyMCB9fSwKLSB7MTYsIDB4OTczMCwgMCwgezB4YjMsMHhjNCwweDBkLDB4NjgsMHg0MywweGZlLDB4MTQsMHhjYiwweDg0LDB4MzMsMHhlMCwweDBkLDB4NzgsMHgwMywweGJlLDB4MDAgfX0sCi0gezE2LCAweDk3NDAsIDAsIHsweGZmLDB4ODAsMHgzNywweGEwLDB4MGMsMHhmMywweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NzUwLCAwLCB7MHg4MCwweDAwLDB4ZmMsMHg0OCwweDgyLDB4MjEsMHgwMywweGY0LDB4MGYsMHhmNiwweDQyLDB4MjAsMHgwNCwweDhhLDB4NjAsMHgyYiB9fSwKLSB7MTYsIDB4OTc2MCwgMCwgezB4ZGEsMHgwYiwweGY5LDB4MDIsMHgzZiwweDA0LDB4OGYsMHg1MiwweDIzLDB4ZDUsMHg0ZCwweDg4LDB4MDIsMHhhZSwweDAwLDB4ZGIgfX0sCi0gezE2LCAweDk3NzAsIDAsIHsweDgwLDB4MzYsMHhjMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDQsMHhiOCwweDAwLDB4MjIsMHg2MCwweDBkLDB4NzQsMHgwMywweGUwIH19LAotIHsxNiwgMHg5NzgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4YTAsMHg4MCwweDAxLDB4MDgsMHhjMCB9fSwKLSB7MTYsIDB4OTc5MCwgMCwgezB4NGIsMHgzMCwweDgyLDB4NDIsMHg5MCwweGEzLDB4MDgsMHgyYywweGM4LDB4MWEsMHgzMCwweDIyLDB4OGQsMHgwMCwweDkzLDB4MDAgfX0sCi0gezE2LCAweDk3YTAsIDAsIHsweDI0LDB4YzgsMHgwOSwweGEwLDB4MTIsMHgwYywweDA0LDB4YWIsMHgwMCwweDYyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHg5N2IwLCAwLCB7MHhiMywweDAwLDB4MjgsMHg4MCwweDA4LDB4MzYsMHgwNiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTdjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHg4OCwweDA4LDB4MjIsMHhjMCwweDBhLDB4MzAsMHgxYSwweDAwLDB4MTEsMHg4MiwweDAwLDB4MGEgfX0sCi0gezE2LCAweDk3ZDAsIDAsIHsweGMwLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4MDksMHg5MSwweDAyLDB4ZWMsMHgyMCwweGJiIH19LAotIHsxNiwgMHg5N2UwLCAwLCB7MHgyOCwweDY2LDB4YzAsMHgwOCwweDgwLDB4MDIsMHg2MCwweDAwLDB4YjgsMHgwMCwweDJhLDB4NDAsMHg4MSwweGIwLDB4MDYsMHhmOCB9fSwKLSB7MTYsIDB4OTdmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAyLDB4YzgsMHgwNCwweDNhLDB4YzAgfX0sCi0gezE2LCAweDk4MDAsIDAsIHsweDg5LDB4YjAsMHgwMywweDY4LDB4MDAsMHhlOSwweGMxLDB4MWUsMHhjMSwweDBlLDB4MzAsMHgwMywweGVjLDB4MDAsMHhkYiwweDAwIH19LAotIHsxNiwgMHg5ODEwLCAwLCB7MHgzNiwweGMxLDB4MGQsMHgwMCwweDIzLDB4MGUsMHgwMCwweGViLDB4ODAsMHgzMiwweGM4LDB4Y2QsMHgzMCwweDMyLDB4ZWMsMHgwOCB9fSwKLSB7MTYsIDB4OTgyMCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4ODAsMHgwYywweGIwLDB4MDYsMHg4MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4MzAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4N2MsMHgwMCwweDNmLDB4YzAsMHgwYiwweGIwLDB4NDMsMHhmZCwweDAwLDB4YmUsMHhjNCwweDM3IH19LAotIHsxNiwgMHg5ODQwLCAwLCB7MHhjMCwweDFmLDB4ZjAsMHgwMywweDVjLDB4MDAsMHhmZiwweDAxLDB4M2IsMHhjMCwweDBlLDB4YzgsMHgwMywweGJmLDB4MjAsMHhkZiB9fSwKLSB7MTYsIDB4OTg1MCwgMCwgezB4MDAsMHgzZiwweGQwLDB4MGYsMHhjMCwweDEzLDB4YjAsMHgwMCwweDdjLDB4MDAsMHhiNywweDQwLDB4MGYsMHhmMCwweDFiLDB4YjAgfX0sCi0gezE2LCAweDk4NjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwYywweGQ4LDB4NDEsMHgzMiwweGMwIH19LAotIHsxNiwgMHg5ODcwLCAwLCB7MHgwZSwweGIwLDB4MDcsMHhhOCwweDAxLDB4NjksMHg0MCwweGIyLDB4YzAsMHg4ZCwweGIwLDB4YTMsMHhlYywweDA4LDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4OTg4MCwgMCwgezB4MzIsMHhjMCwweDBmLDB4ODAsMHgwMywweGVkLDB4MDAsMHhmYiwweDQ4LDB4M2EsMHhjMCwweDBkLDB4YjAsMHg4MywweDJjLDB4MDAgfX0sCi0gezE2LCAweDk4OTAsIDAsIHsweGZiLDB4MjAsMHgzZSwweDgwLDB4MGYsMHg3MCwweDIzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OGEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMywweGMwLDB4MDgsMHhmMCwweDA2LDB4MmMsMHgxMCwweDg4LDB4NTEsMHgzNyB9fSwKLSB7MTYsIDB4OThiMCwgMCwgezB4YzAsMHgwOCwweGYwLDB4MDcsMHg3ZCwweDYwLDB4OGYsMHgwMiwweDM3LDB4YzAsMHgwYiwweDhjLDB4MDAsMHgyZCwweDAwLDB4YjMgfX0sCi0gezE2LCAweDk4YzAsIDAsIHsweDAwLDB4MzgsMHhjMCwweDA4LDB4ODAsMHg4MiwweDIwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHg1MCwweDBiLDB4ZjAsMHgwMCwweDMyIH19LAotIHsxNiwgMHg5OGQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg5OCwweDAwLDB4MjgsMHhjMCB9fSwKLSB7MTYsIDB4OThlMCwgMCwgezB4MGEsMHgzMCwweDAyLDB4ODQsMHgwNCwweGEzLDB4MDAsMHgwMCwweGMwLDB4NjgsMHgzOSwweDA2LDB4MGMsMHgxMCwweDkzLDB4MjAgfX0sCi0gezE2LCAweDk4ZjAsIDAsIHsweDIyLDB4YzAsMHg5YiwweDAxLDB4YTAsMHg4ZiwweDE0LDB4MzMsMHgxNCwweDI4LDB4YzAsMHgwOSwweDNjLDB4MDIsMHgwYywweDAxIH19LAotIHsxNiwgMHg5OTAwLCAwLCB7MHg5MywweDQwLDB4MmMsMHg4OCwweDBiLDB4MzAsMHgwMiwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTkxMCwgMCwgezB4NjAsMHgwMSwweDFlLDB4MTAsMHg4NywweDgwLDB4MjksMHhlMCwweDA4LDB4NzgsMHgwMiwweDNlLDB4MDAsMHg4MywweDkwLDB4MjQgfX0sCi0gezE2LCAweDk5MjAsIDAsIHsweGUwLDB4MDgsMHg3OCwweDEwLDB4Y2UsMHgwNCwweDA3LDB4OTEsMHgyNSwweGUwLDB4ODMsMHhjOSwweDAyLDB4MWUsMHgwNCwweGI3IH19LAotIHsxNiwgMHg5OTMwLCAwLCB7MHg4NCwweDJiLDB4YTQsMHgwOCwweDQ4LDB4NDIsMHgxMiwweGNjLDB4YjQsMHg4MCwweDJkLDB4NjQsMHgwYiwweDc4LDB4MDIsMHgxOSB9fSwKLSB7MTYsIDB4OTk0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgyYywweDAwLDB4ZDAsMHgxMCwweDI4LDB4YzggfX0sCi0gezE2LCAweDk5NTAsIDAsIHsweDBlLDB4M2IsMHgwMiwweDg0LDB4MDAsMHhlMywweDQwLDB4MzAsMHhjOCwweDBjLDB4MzgsMHg2MiwweDhjLDB4MDAsMHg1MywweDAwIH19LAotIHsxNiwgMHg5OTYwLCAwLCB7MHgzMCwweGM0LDB4MWYsMHgwMCwweDIzLDB4OGMsMHgzYywweGYzLDB4ODAsMHgxOCwweGMwLDB4MGQsMHgzMCwweDAzLDB4MGUsMHg4MCB9fSwKLSB7MTYsIDB4OTk3MCwgMCwgezB4ZDMsMHgxMCwweDNjLDB4ODAsMHgwZiwweDMwLDB4MDMsMHg5MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5ODAsIDAsIHsweDQwLDB4MWQsMHhiZCwweDAwLDB4ZjksMHgxMiwweGI0LDB4YzAsMHgwNywweGIwLDB4MDMsMHhjYywweDAwLDB4NGEsMHgwMCwweDc3IH19LAotIHsxNiwgMHg5OTkwLCAwLCB7MHhjMCwweDBlLDB4NzEsMHg0MywweDZjLDB4MDAsMHhmMywweDAwLDB4M2YsMHhkMCwweDFmLDB4ZDAsMHg1MywweGFjLDB4NjgsMHhmYiB9fSwKLSB7MTYsIDB4OTlhMCwgMCwgezB4MTgsMHgzZCwweGMwLDB4MGYsMHhjMCwweDEzLDB4ZjAsMHg1MCwweGZjLDB4MDQsMHgzZiwweDQwLDB4MGYsMHhmNCwweDAzLDB4OTAgfX0sCi0gezE2LCAweDk5YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHg0MCwweGY4LDB4MDQsMHgzZSwweGQyIH19LAotIHsxNiwgMHg5OWMwLCAwLCB7MHgwZiwweGIzLDB4MTMsMHhlMCwweDEwLDB4ZjksMHgwMCwweGIyLDB4Y2MsMHgwZSwweGJhLDB4MDMsMHg2ZCwweDgwLDB4ZGIsMHgwMiB9fSwKLSB7MTYsIDB4OTlkMCwgMCwgezB4MzIsMHhkYywweDRmLDB4MDAsMHgwMywweDZjLDB4MDQsMHhmMywweDAyLDB4MzYsMHg0MCwweDBlLDB4YjAsMHgwMywweGNjLDB4MDAgfX0sCi0gezE2LCAweDk5ZTAsIDAsIHsweDRiLDB4MDAsMHgzYywweDgwLDB4MGMsMHhmMSwweDAzLDB4NjIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OWYwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI0LDB4MDAsMHgyZCwweGM5LDB4MGIsMHg3MCwweDgyLDB4ZGMsMHgwMCwweGJjLDB4MDQsMHgyMSB9fSwKLSB7MTYsIDB4OWEwMCwgMCwgezB4YzQsMHg0YiwweDM3LDB4MDIsMHgwYywweGEwLDB4OGYsMHg3NCwweDIxLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgxYywweDgxLDB4YjcgfX0sCi0gezE2LCAweDlhMTAsIDAsIHsweDIwLDB4MmIsMHhjMCwweDA4LDB4NDAsMHgwMiwweGQwLDB4MDIsMHg4NCwweDAwLDB4MmQsMHg0MCwweDBhLDB4ZjIsMHgwMiwweDEyIH19LAotIHsxNiwgMHg5YTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ODAsMHhiNCwweGMwLDB4MmQsMHhlNCB9fSwKLSB7MTYsIDB4OWEzMCwgMCwgezB4MGIsMHg3YSwweDAyLDB4ZDIsMHgwMCwweGI1LDB4ODgsMHgyMSwweGU4LDB4MGEsMHg3OCwweDAyLDB4ZGUsMHg0MCwweDk3LDB4MDAgfX0sCi0gezE2LCAweDlhNDAsIDAsIHsweDIxLDB4ZTgsMHgwYiwweGNjLDB4NDYsMHg1ZSwweDI4LDB4YjcsMHhjNCwweDIxLDB4ZjAsMHgwYSwweDc4LDB4MDIsMHhmZSwweDA4IH19LAotIHsxNiwgMHg5YTUwLCAwLCB7MHg5NywweDg0LDB4MmQsMHhhMCwweDA4LDB4NzgsMHgwMiwweDcwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWE2MCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDAsMHhiMCwweGMwLDB4MmMsMHhjMCwweDliLDB4YjAsMHgwMiwweGNjLDB4MjAsMHhiMywweDYwLDB4MjIgfX0sCi0gezE2LCAweDlhNzAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzLDB4MDEsMHgyMCwweGMwLDB4MWIsMHgwNiwweDE2LDB4NGYsMHgwMCwweGIzIH19LAotIHsxNiwgMHg5YTgwLCAwLCB7MHhhMCwweDJhLDB4ZjAsMHgwOCwweDAwLDB4MDIsMHhlMCwweDAwLDB4OTAsMHgwMCwweDJjLDB4NDAsMHgwYSwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4OWE5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDEwLDB4ZmUsMHhjMCwweDNlLDB4ODAgfX0sCi0gezE2LCAweDlhYTAsIDAsIHsweDBmLDB4YTAsMHgwMywweGY5LDB4MDgsMHhmZSwweDQwLDB4MjIsMHg4MCwweDBlLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkMiwweDAwIH19LAotIHsxNiwgMHg5YWIwLCAwLCB7MHgzMiwweDgwLDB4OGYsMHhlMCwweDAzLDB4NTgsMHgwMCwweGY2LDB4MDAsMHgzMywweGIwLDB4MGUsMHgyMCwweDAyLDB4ZTgsMHgwYyB9fSwKLSB7MTYsIDB4OWFjMCwgMCwgezB4ZDIsMHgwMiwweDNjLDB4ODAsMHgwYywweGEwLDB4MDMsMHg3YSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjAsMHg0MCwweDNlIH19LAotIHsxNiwgMHg5YWUwLCAwLCB7MHgwMCwweDU3LDB4ODAsMHgyMywweDAwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MzAsMHgzOCB9fSwKLSB7MTYsIDB4OWFmMCwgMCwgezB4MDAsMHgzYSwweDA4LDB4MGYsMHhjNCwweDAzLDB4ZjAsMHgwMCwweGVjLDB4MDAsMHgzZiwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDliMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDEsMHgzYywweDQ4IH19LAotIHsxNiwgMHg5YjEwLCAwLCB7MHg0YywweDkwLDB4MGIsMHgyNCwweDAxLDB4YzksMHhjMCwweDMyLDB4NDAsMHhhYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDksMHg0MCB9fSwKLSB7MTYsIDB4OWIyMCwgMCwgezB4MzAsMHg0MCwweDBkLDB4OWEsMHgwMywweDIyLDB4ODQsMHhjOCwweDE0LDB4MzIsMHg0MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweDliMzAsIDAsIHsweGM5LDB4MDAsMHg4MiwweDY4LDB4MmMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YjQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDIyLDB4MjQsMHgwMCwweDg5LDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4OWI1MCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNywweDQwLDB4ODksMHg4MCwweDM2LDB4NDEsMHg4ZCwweDE4LDB4MDIsMHhhMCwweDI0LDB4YTggfX0sCi0gezE2LCAweDliNjAsIDAsIHsweDA0LDB4NjIsMHg0MCwweDA4LDB4OTQsMHg4MywweDI0LDB4MDAsMHg4OSwweDAxLDB4MjIsMHg3MiwweDA4LDB4OTAsMHgwYiwweDIwIH19LAotIHsxNiwgMHg5YjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg5OSwweDAwLDB4MmEsMHg0MCB9fSwKLSB7MTYsIDB4OWI4MCwgMCwgezB4MjgsMHg5MCwweDEyLDB4MDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgyMCwweDk5LDB4MDAgfX0sCi0gezE2LCAweDliOTAsIDAsIHsweDIyLDB4NDAsMHgxOCwweDkwLDB4MDYsMHgyMCwweDAxLDB4ODgsMHgwOCwweDYyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgzNCwweDEwIH19LAotIHsxNiwgMHg5YmEwLCAwLCB7MHg4ZCwweDgxLDB4MjMsMHg0MSwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWJiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDA0LDB4MmMsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDIsMHg4MywweDIwLDB4MjAgfX0sCi0gezE2LCAweDliYzAsIDAsIHsweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MCwweDgzLDB4NjAsMHgyNCwweDQ4LDB4MTksMHgzNCwweDYyLDB4YTUsMHgwNCwweGExIH19LAotIHsxNiwgMHg5YmQwLCAwLCB7MHgwMiwweDYwLDB4NDAsMHgwOCwweGQwLDB4MDIsMHg1NCwweDAwLDB4OGQsMHgwMCwweDI5LDB4NDAsMHgwOCwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4OWJlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDNhLDB4ODAgfX0sCi0gezE2LCAweDliZjAsIDAsIHsweDBjLDB4ODUsMHgwMiwweDIxLDB4NDQsMHg4OCwweDUwLDB4MzIsMHgxNCwweDRjLDB4ODAsMHg0MywweGUwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHg5YzAwLCAwLCB7MHgyMiwweDE0LDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHhhMiwweDAwLDB4MGUsMHg4MCwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4OWMxMCwgMCwgezB4YzgsMHgwMCwweDMzLDB4MDAsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQ0LDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDEwLDB4ZmYsMHgxMCwweDNlIH19LAotIHsxNiwgMHg5YzMwLCAwLCB7MHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBiLDB4ZjAsMHgxMywweGU1LDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4OWM0MCwgMCwgezB4NDAsMHgzZiwweDRhLDB4MmYsMHg5MiwweDhhLDB4YTQsMHhhMiwweGY5LDB4MjgsMHgzNiwweDQwLDB4MGYsMHg5MiwweDgzLDB4YTYgfX0sCi0gezE2LCAweDljNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4ZTYsMHhjMCwweGMxLDB4MDAsMHgzZiwweDY5IH19LAotIHsxNiwgMHg5YzYwLCAwLCB7MHgwYywweDlhLDB4NDMsMHg2YywweDAwLDB4ZmQsMHhhMCwweDNlLDB4NzgsMHgyYywweGQ4LDB4MDcsMHhkNiwweDAyLDB4ZDUsMHg5NiB9fSwKLSB7MTYsIDB4OWM3MCwgMCwgezB4MzIsMHg3OCwweDBkLDB4OTAsMHgwMywweDI3LDB4MDAsMHhmZCwweGEwLDB4MzUsMHg1MCwweDA2LDB4ZDQsMHgwMywweGU1LDB4MDAgfX0sCi0gezE2LCAweDljODAsIDAsIHsweGZkLDB4NDAsMHhiMywweDQwLDB4MGYsMHg5OCwweGEzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YzkwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHhjMiwweDg4LDB4ODgsMHgyZSwweDE0LDB4YTgsMHg4YSwweGMyLDB4MjIsMHhhMCwweGI4LDB4YzAsMHgyYyB9fSwKLSB7MTYsIDB4OWNhMCwgMCwgezB4MjQsMHg0OCwweDg0LDB4MDIsMHhlMSwweDAwLDB4OTgsMHhjNCwweDIwLDB4M2MsMHgwOCwweDhhLDB4ODIsMHgyMywweDgwLDB4YjggfX0sCi0gezE2LCAweDljYjAsIDAsIHsweDA0LDB4MjIsMHgyMCwweDA4LDB4ODgsMHgwMywweGEyLDB4MDAsMHhiOCwweGEwLDB4MjIsMHgwMCwweDBiLDB4ODgsMHgwMiwweDBlIH19LAotIHsxNiwgMHg5Y2MwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHhhMSwweDIwLDB4NmMsMHg0MCB9fSwKLSB7MTYsIDB4OWNkMCwgMCwgezB4MGEsMHgxNCwweDAyLDB4NDQsMHgwNCwweGExLDB4NjgsMHgyYywweDQ4LDB4MDgsMHgxNCwweDAyLDB4YzUsMHgwMCwweDgxLDB4NjAgfX0sCi0gezE2LCAweDljZTAsIDAsIHsweDIwLDB4NDgsMHgxOSwweDkwLDB4MDIsMHg4NSwweDgxLDB4YjEsMHg0MCwweDI0LDB4NjgsMHgwYSwweDEyLDB4NDIsMHhjNCwweDgwIH19LAotIHsxNiwgMHg5Y2YwLCAwLCB7MHhiOSwweDIwLDB4MjAsMHg0MCwweDhiLDB4MTAsMHg4MiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWQwMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4MTAsMHhhOSwweDAwLDB4NmUsMHhjMCwweDBhLDB4MTAsMHgwMiwweDI0LDB4MTQsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDlkMTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDEyLDB4ZTQsMHgwMCwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg4MCwweDA2LDB4YTAsMHg2MCwweGI5IH19LAotIHsxNiwgMHg5ZDIwLCAwLCB7MHgwOSwweDIyLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjksMHgwMCwweDAyLDB4NDAsMHgwYiwweDEwLDB4MDYsMHgwNiB9fSwKLSB7MTYsIDB4OWQzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZTksMHg4MCwweDNlLDB4NDEgfX0sCi0gezE2LCAweDlkNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDY0LDB4MDAsMHhlOSwweGMwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhjOSwweDAwIH19LAotIHsxNiwgMHg5ZDUwLCAwLCB7MHgyMiwweDQxLDB4MGQsMHg4MCwweDAyLDB4YTMsMHgwNCwweGYxLDB4NDAsMHgzNiwweDQwLDB4MGUsMHg5MCwweDAyLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OWQ2MCwgMCwgezB4ZjEsMHgwMCwweDEyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZDksMHgyMiwweDNlLDB4NDIsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4YjksMHhjNCwweDNjIH19LAotIHsxNiwgMHg5ZDgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAyLDB4YWUsMHg0MCwweDBmLDB4ODAsMHg0YiwweDYyLDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4OWQ5MCwgMCwgezB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDIsMHg3ZSwweDQxLDB4MGYsMHg5MCwweDEzLDB4Y2EgfX0sCi0gezE2LCAweDlkYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4ODAsMHgwMCwweGM4LDB4MDAsMHgzOCwweDAwIH19LAotIHsxNiwgMHg5ZGIwLCAwLCB7MHgwZiwweDgwLDB4MjAsMHhlMCwweDAwLDB4YTgsMHgyMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDcsMHhlMCwweDgwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4OWRjMCwgMCwgezB4MzgsMHgwMCwweDBkLDB4ODAsMHg4MywweDIxLDB4MTAsMHhmOCwweDYwLDB4MzIsMHgwMCwweDhlLDB4ODAsMHhiMywweDIwLDB4MDggfX0sCi0gezE2LCAweDlkZDAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZGUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweDhhLDB4MDAsMHgzMywweDkwLDB4NDMsMHhhMCwweDIyLDB4MjgsMHgwMCwweDhlLDB4ODAsMHg3NiB9fSwKLSB7MTYsIDB4OWRmMCwgMCwgezB4ODAsMHgwOCwweGUxLDB4MDMsMHgxOSwweDAwLDB4ODYsMHg4MCwweDIyLDB4ODAsMHgwZCwweDYwLDB4MDEsMHg3OCwweDAwLDB4YmUgfX0sCi0gezE2LCAweDllMDAsIDAsIHsweDAwLDB4MzYsMHg4MCwweDBjLDB4ZTQsMHgwMiwweGE4LDB4MTAsMHhiZSwweGEwLDB4MmYsMHg4MCwweDBkLDB4YTAsMHgwMiwweDBhIH19LAotIHsxNiwgMHg5ZTEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMSwweDRjLDB4MDQsMHgwMywweDA0LDB4MmMsMHhkNCB9fSwKLSB7MTYsIDB4OWUyMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4NGMsMHgwMSwweGEzLDB4YzQsMHgyMCwweGMwLDB4MjgsMHgzNSwweDAyLDB4ODYsMHgwMCwweDgzLDB4ODAgfX0sCi0gezE2LCAweDllMzAsIDAsIHsweDI4LDB4YzAsMHgwOCwweDM4LDB4MDYsMHgwZSwweDk0LDB4MzAsMHhjMCwweGEyLDB4YzAsMHgwYiwweDNjLDB4MDIsMHgwYywweDAwIH19LAotIHsxNiwgMHg5ZTQwLCAwLCB7MHhiMywweDgwLDB4MmMsMHg0OCwweDA4LDB4MzAsMHgwMiwweDhhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWU1MCwgMCwgezB4YTAsMHgwMSwweDBjLDB4MDQsMHg4ZiwweDgwLDB4MjEsMHhjMSwweDFiLDB4NzIsMHg0MiwweDFlLDB4YzAsMHg4MywweDg4LDB4MjEgfX0sCi0gezE2LCAweDllNjAsIDAsIHsweGMwLDB4MTgsMHgyOCwweDA2LDB4MTAsMHgyMSwweDg2LDB4MzgsMHgyMSwweGMwLDB4MTksMHhmNywweDAyLDB4NWQsMHhjMCwweGI0IH19LAotIHsxNiwgMHg5ZTcwLCAwLCB7MHg0MSwweDI3LDB4ZDAsMHgwOCwweDc4LDB4YzYsMHg5YywweDAwLDB4YjcsMHgwMCwweDJmLDB4NjAsMHgwOSwweDcyLDB4MDIsMHgyOCB9fSwKLSB7MTYsIDB4OWU4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAyLDB4YzcsMHg4MCwweDJkLDB4YTAgfX0sCi0gezE2LCAweDllOTAsIDAsIHsweDBmLDB4M2UsMHgwMywweGZlLDB4ODAsMHhhNywweDgwLDB4YTEsMHhlMCwweDBjLDB4NzgsMHgwMiwweDk0LDB4MDAsMHg4NSwweGEwIH19LAotIHsxNiwgMHg5ZWEwLCAwLCB7MHgzOSwweGU0LDB4MGMsMHg3OCwweDEzLDB4MWUsMHg5MCwweGI1LDB4ODQsMHgzMSwweGUwLDB4MGYsMHhmOCwweDg3LDB4MWUsMHgwNCB9fSwKLSB7MTYsIDB4OWViMCwgMCwgezB4ZjcsMHg4MCwweDNkLDB4NjAsMHgwYywweDNiLDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllYzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweGU0LDB4ZmIsMHg1NCwweDNlLDB4ODAsMHgwZiwweGI0LDB4MjMsMHhlYywweDMyLDB4ZmIsMHgwMCwweDNlIH19LAotIHsxNiwgMHg5ZWQwLCAwLCB7MHhkOCwweDRmLDB4YTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4MzAsMHgzMywweGVjLDB4MDQsMHhmMiB9fSwKLSB7MTYsIDB4OWVlMCwgMCwgezB4MDEsMHgzZSwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZmUsMHgxMCwweGZiLDB4NjgsMHgzYywweDQxLDB4MGYsMHhmMCwweDQzLDB4ODIgfX0sCi0gezE2LCAweDllZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGNmLDB4ZTQsMHgzZiwweGU0IH19LAotIHsxNiwgMHg5ZjAwLCAwLCB7MHgwYywweGZjLDB4MDMsMHg3ZSwweDgwLDB4Y2YsMHg4MSwweDMzLDB4ZmEsMHgwZiwweGY4LDB4MDMsMHhmNiwweDAwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4OWYxMCwgMCwgezB4M2YsMHhlMiwweDBmLDB4NzksMHgwMywweDNlLDB4NDAsMHhmNCwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZTgsMHgwMywweDNlLDB4MDAgfX0sCi0gezE2LCAweDlmMjAsIDAsIHsweGZmLDB4ODAsMHgzMywweDYwLDB4MGMsMHhmOCwweDgzLDB4NTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZjMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGQ3LDB4YTAsMHgyZCwweGM0LDB4MDgsMHhiYSwweDAyLDB4M2MsMHhhMCwweDg3LDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4OWY0MCwgMCwgezB4YzAsMHgwZiwweDUyLDB4MDMsMHhkNCwweDAwLDB4YjYsMHgxMCwweDJkLDB4YzAsMHg4YiwweDczLDB4MDMsMHg1YywweDQwLDB4YjQgfX0sCi0gezE2LCAweDlmNTAsIDAsIHsweGIwLDB4MmIsMHg0OCwweDI4LDB4NDEsMHgwMiwweDBjLDB4MDAsMHhiZiwweDE4LDB4MzUsMHg0NiwweDI4LDB4NzIsMHg0MiwweDJhIH19LAotIHsxNiwgMHg5ZjYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMCwweDljLDB4MDAsMHg4NywweDQxLDB4MmQsMHg0NCB9fSwKLSB7MTYsIDB4OWY3MCwgMCwgezB4MGEsMHg3MywweDAyLDB4OWMsMHhjNCwweDgxLDB4MDAsMHg2ZCwweGM4LDB4OGIsMHg3MCwweDAyLDB4ZDQsMHgwMCwweGI3LDB4MDAgfX0sCi0gezE2LCAweDlmODAsIDAsIHsweDJkLDB4YzAsMHgwYiwweGYwLDB4NDYsMHg5YywweDU1LDB4YjQsMHgyMCwweDI1LDB4NDAsMHgxOCwweDYwLDB4ODIsMHgxYywweDAwIH19LAotIHsxNiwgMHg5ZjkwLCAwLCB7MHhiNywweDAwLDB4MjMsMHg0MCwweDA4LDB4NzAsMHg0NiwweDQ0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWZhMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHg5MywweDAwLDB4MmMsMHg0MCwweDBiLDB4YjAsMHgwMiwweDBjLDB4ODIsMHg4MCwweGMwLDB4MjAgfX0sCi0gezE2LCAweDlmYjAsIDAsIHsweGMwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MWIsMHgzMCwweDAwLDB4Y2QsMHgwMSwweGIwIH19LAotIHsxNiwgMHg5ZmMwLCAwLCB7MHg0MCwweGFjLDB4NzgsMHg4OCwweDhjLDB4MDYsMHgwZCwweDYwLDB4YjMsMHg0YywweDI0LDB4MTIsMHgwOCwweDMwLDB4MGEsMHgxOCB9fSwKLSB7MTYsIDB4OWZkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MTUsMHhiYywweDAwLDB4YzcsMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweDlmZTAsIDAsIHsweDBlLDB4ZjAsMHgyYSwweGJmLDB4MDAsMHhjOCwweGM4LDB4YmYsMHhjMCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiZiwweDAwIH19LAotIHsxNiwgMHg5ZmYwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhiMiwweDBhLDB4YWMsMHgwMCwweGY4LDB4ODAsMHgzNCwweDQ5LDB4MGMsMHhiOSwweDBiLDB4M2YsMHgwMCB9fSwKLSB7MTYsIDB4YTAwMCwgMCwgezB4ZmIsMHhjMCwweDMwLDB4ZjAsMHgwYywweGYwLDB4MDMsMHg2ZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwMTAsIDAsIHsweDgwLDB4MDAsMHhjYywweDAwLDB4ZmIsMHg4MCwweDNlLDB4NDEsMHgyYywweGIwLDB4MTMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhMDIwLCAwLCB7MHhjMSwweDBmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwYiwweDZkLDB4NDAsMHhmOCB9fSwKLSB7MTYsIDB4YTAzMCwgMCwgezB4MTAsMHgzYSwweDQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZlLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTEgfX0sCi0gezE2LCAweGEwNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZWMsMHgwYywweGRmLDB4MDAsMHgzYiwweDgwIH19LAotIHsxNiwgMHhhMDUwLCAwLCB7MHgwZiwweGYwLDB4MGIsMHgzYywweDA4LDB4ZTcsMHgwOCwweDMzLDB4YzAsMHgwYiwweGQwLDB4MjMsMHg3NCwweDAwLDB4NTQsMHgwMCB9fSwKLSB7MTYsIDB4YTA2MCwgMCwgezB4MzMsMHhjMCwweDBmLDB4ZjAsMHg4MywweGJlLDB4MjAsMHhmZCwweDBjLDB4M2IsMHg2MCwweDJjLDB4ZTAsMHgwMywweDNjLDB4MDAgfX0sCi0gezE2LCAweGEwNzAsIDAsIHsweGNmLDB4MTIsMHgzMywweDUwLDB4MGMsMHgzMCwweDAzLDB4ODAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwNCwweGFiLDB4MDAsMHgyMiwweGEwLDB4MGIsMHhiMCwweDA2LDB4MGMsMHgwMCwweGFiLDB4NDAsMHgzNiB9fSwKLSB7MTYsIDB4YTA5MCwgMCwgezB4YzAsMHgwYiwweGE4LDB4MDIsMHg2NiwweDAwLDB4YjgsMHgwMCwweDM2LDB4YzEsMHgwYiwweDM0LDB4NDMsMHhlZSwweDAwLDB4YjIgfX0sCi0gezE2LCAweGEwYTAsIDAsIHsweDAwLDB4MjIsMHg2MCwweDA4LDB4YjQsMHg4MiwweDhjLDB4MDQsMHg4YSwweDIxLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhhMGIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5YiwweDAwLDB4MmEsMHgyMCB9fSwKLSB7MTYsIDB4YTBjMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweDg4LDB4YzUsMHgyMiwweGMwLDB4MGIsMHg4OCwweDgyLDB4ZTYsMHgwMSwweGJiLDB4MDggfX0sCi0gezE2LCAweGEwZDAsIDAsIHsweDIyLDB4YzAsMHgwYSwweGIyLDB4ODIsMHhhYywweDYwLDB4YjgsMHgwMiwweDRhLDB4YzQsMHgwOCwweGIxLDB4MDIsMHgyYywweDAwIH19LAotIHsxNiwgMHhhMGUwLCAwLCB7MHg4MywweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTBmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhhYiwweDIwLDB4MjAsMHgwMSwweDBiLDB4MzIsMHgwNiwweDJjLDB4MDAsMHhhMCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGExMDAsIDAsIHsweGMwLDB4MDksMHgwNCwweDIyLDB4YzQsMHgwMCwweGIyLDB4MDAsMHgyNCwweGMxLDB4OGIsMHhiMCwweDAyLDB4NGMsMHgwMCwweGIwIH19LAotIHsxNiwgMHhhMTEwLCAwLCB7MHgwMCwweDYyLDB4YzAsMHg0OCwweDMwLDB4MDIsMHhhYywweDEwLDB4ODIsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YTEyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDA4LDB4ZGYsMHgyYSwweDNhLDB4MDAgfX0sCi0gezE2LCAweGExMzAsIDAsIHsweDBmLDB4ZjUsMHgxMiwweDNjLDB4MTAsMHhjOSwweDAwLDB4YTMsMHhjMCwweDBmLDB4ODAsMHg1MywweGVjLDB4MDEsMHhkYSwweDAwIH19LAotIHsxNiwgMHhhMTQwLCAwLCB7MHgzMywweGMwLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwNCwweGY4LDB4NzAsMHgzYSwweGMwLDB4MGMsMHg2MCwweDQzLDB4MmMsMHg0MiB9fSwKLSB7MTYsIDB4YTE1MCwgMCwgezB4Y2QsMHgwMCwweGIyLDB4NDAsMHgyYywweGYwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExNjAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmIsMHgwMSwweDNkLDB4MDAsMHgwZiwweGI0LDB4MTcsMHhmYywweDAwLDB4M2MsMHgwMCwweDNmIH19LAotIHsxNiwgMHhhMTcwLCAwLCB7MHhjMCwweDRmLDB4YzAsMHgwMywweDc0LDB4MDgsMHhmZSwweDAwLDB4M2YsMHhjMCwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmOCB9fSwKLSB7MTYsIDB4YTE4MCwgMCwgezB4MzAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGExOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjQsMHg5MCwweGVmLDB4MDAsMHgzZiwweGQ4IH19LAotIHsxNiwgMHhhMWEwLCAwLCB7MHgwZSwweGYzLDB4MDMsMHgyYywweDAxLDB4ZDQsMHg4MCwweDM3LDB4Y2MsMHgwZCwweDg5LDB4NDMsMHgxMiwweDUwLDB4ZWMsMHgyYyB9fSwKLSB7MTYsIDB4YTFiMCwgMCwgezB4MzIsMHgwNSwweDBkLDB4YjAsMHg1MywweDNjLDB4ZDQsMHhjNSwweDk0LDB4N2YsMHhhMCwweDhmLDB4ZjAsMHg0MywweDMwLDB4MDAgfX0sCi0gezE2LCAweGExYzAsIDAsIHsweGRjLDB4MDAsMHgzMywweDAwLDB4MGMsMHg0OCwweDA3LDB4ZjAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMWQwLCAwLCB7MHg4MCwweDEwLDB4ZTYsMHg0MCwweDhiLDB4NzAsMHgyZiwweGRjLDB4MDgsMHhmNywweDAyLDB4MGMsMHg4MCwweDhhLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4YTFlMCwgMCwgezB4YzgsMHg0YSwweDIyLDB4MDIsMHhhMCwweDAwLDB4OGEsMHg0OCwweDIyLDB4NTgsMHg4OCwweGZkLDB4MDIsMHhhZCwweDAyLDB4YTkgfX0sCi0gezE2LCAweGExZjAsIDAsIHsweDIwLDB4MWUsMHhhMCwweDAzLDB4ODAsMHgwMiwweDJjLDB4MDQsMHg4YiwweDAwLDB4MjIsMHhjMCwweDRjLDB4ODgsMHgwNywweDYwIH19LAotIHsxNiwgMHhhMjAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4MDAsMHgyMywweDJjLDB4MmMsMHhjOSB9fSwKLSB7MTYsIDB4YTIxMCwgMCwgezB4MDIsMHgzMCwweDAyLDB4MGMsMHg2OCwweGEwLDB4MjgsMHgyYywweGQwLDB4MDksMHgxMiwweDAyLDB4ODQsMHgwMCwweGEwLDB4MjEgfX0sCi0gezE2LCAweGEyMjAsIDAsIHsweDIwLDB4MTgsMHgxOSwweDMwLDB4MjIsMHg4MCwweGQwLDB4ODMsMHgwNiwweDBjLDB4YTAsMHgwYiwweGIwLDB4MDYsMHgwMCwweDEyIH19LAotIHsxNiwgMHhhMjMwLCAwLCB7MHhhMCwweDAwLDB4MjAsMHgwMCwweDI5LDB4MDAsMHgwZSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTI0MCwgMCwgezB4YzAsMHgxMSwweGE4LDB4MzAsMHg4YiwweDAwLDB4MmUsMHhjMCwweDRhLDB4MzAsMHgwYSwweDJjLDB4MTQsMHhhMCwweDgwLDB4MGEgfX0sCi0gezE2LCAweGEyNTAsIDAsIHsweGMxLDB4MDgsMHg4OCwweDg2LDB4ODcsMHgwMCwweDgzLDB4MDAsMHgyMiwweDQ5LDB4MDgsMHhiMCwweDA2LDB4YTAsMHg0MCwweGFiIH19LAotIHsxNiwgMHhhMjYwLCAwLCB7MHgyMCwweDIyLDB4MjAsMHgwYiwweDgwLDB4MGEsMHgwYywweDA0LDB4YWIsMHgwMiwweDIyLDB4YzAsMHg4OCwweDgwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4YTI3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlZiwweDQwLDB4ZWIsMHgwNiwweDNlLDB4YzAgfX0sCi0gezE2LCAweGEyODAsIDAsIHsweDBlLDB4YjAsMHgwMywweDJjLDB4MDIsMHhmOSwweGEwLDB4M2UsMHhjMCwweDBkLDB4OGMsMHgwMywweGFhLDB4MTAsMHhlOSwweDQwIH19LAotIHsxNiwgMHhhMjkwLCAwLCB7MHhiMiwweDQ4LDB4MGQsMHhiMCwweDQzLDB4YWQsMHgwMCwweGNiLDB4ODYsMHgyZSwweDIwLDB4MGYsMHgzMCwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTJhMCwgMCwgezB4ZjksMHg4MCwweDMyLDB4YzAsMHgwZCwweDBjLDB4YzIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyYjAsIDAsIHsweGUwLDB4MDEsMHg5NCwweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwLDB4ZGYsMHgwMCwweDM3IH19LAotIHsxNiwgMHhhMmMwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHgwMywweGYwLDB4MDAsMHhmZSwweDIwLDB4M2YsMHg0MCwweDBmLDB4NzAsMHgwMywweGZlLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YTJkMCwgMCwgezB4ODIsMHg3ZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjksMHgwNCwweGRlLDB4MjAsMHhiZCwweDAwLDB4MGYsMHhkOSwweDBiLDB4N2MgfX0sCi0gezE2LCAweGEyZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGNiLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhhMmYwLCAwLCB7MHgyYywweGIwLDB4MGIsMHgyYywweDAwLDB4ZTgsMHg0MCwweDNlLDB4YzAsMHgwZiwweDk0LDB4MDcsMHgyOSwweDAwLDB4YzksMHg0MCB9fSwKLSB7MTYsIDB4YTMwMCwgMCwgezB4YjIsMHhjMCwweDBmLDB4YjAsMHgwMywweDAxLDB4MDIsMHhjYiwweDAwLDB4MzIsMHgwNCwweDRmLDB4ZjAsMHg0MywweDM0LDB4YzAgfX0sCi0gezE2LCAweGEzMTAsIDAsIHsweGI1LDB4MWEsMHgzZiwweGMxLDB4MGYsMHg4MCwweDkzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMzIwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwMCwweDhmLDB4MDAsMHgyZiwweGMwLDB4MDgsMHhmMCwweDAyLDB4M2MsMHgwNCwweGQ4LDB4MDAsMHgyYiB9fSwKLSB7MTYsIDB4YTMzMCwgMCwgezB4YzAsMHgwYywweDgwLDB4NDUsMHg2MCwweDAwLDB4N2IsMHg1OCwweDIyLDB4YzgsMHgwYiwweGZhLDB4MDEsMHg2MSwweDQwLDB4OGIgfX0sCi0gezE2LCAweGEzNDAsIDAsIHsweDAwLDB4MzIsMHgwNCwweDRiLDB4Y2UsMHgwMiwweDI4LDB4MDAsMHgzYSwweDQwLDB4MmUsMHgwNywweDBiLDB4OTAsMHgwMiwweDI2IH19LAotIHsxNiwgMHhhMzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg4MywweDAxLDB4NGMsMHhjMCB9fSwKLSB7MTYsIDB4YTM2MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4ZWMsMHgxMCwweDkwLDB4MDAsMHgyYSwweGMwLDB4MGEsMHg4MCwweDA2LDB4YzAsMHgwNCwweDgzLDB4MDQgfX0sCi0gezE2LCAweGEzNzAsIDAsIHsweGEyLDB4ODksMHgxOSwweDMwLDB4MDYsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4OTAsMHgwYiwweDMwLDB4YzIsMHg0OCwweDAwIH19LAotIHsxNiwgMHhhMzgwLCAwLCB7MHhiMiwweDQwLDB4MjQsMHgyMCwweDBiLDB4MDksMHgwMCwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTM5MCwgMCwgezB4MjAsMHgwMSwweDA2LDB4MDQsMHg4NywweGE0LDB4MmQsMHhlMCwweDA5LDB4MzgsMHgwMiwweGRlLDB4MDAsMHg5ZSwweDgxLDB4MjkgfX0sCi0gezE2LCAweGEzYTAsIDAsIHsweGUwLDB4MDgsMHg3OCwweDUyLDB4ZmEsMHhjMCwweDk2LDB4ODAsMHgwMSwweGEwLDB4OGIsMHgzYSwweDIyLDB4Y2UsMHg0MCwweDhmIH19LAotIHsxNiwgMHhhM2IwLCAwLCB7MHhiMCwweDI1LDB4YTAsMHgwYiwweDA4LDB4MDIsMHg1NiwweDA4LDB4YjUsMHg5MCwweDJkLDB4ZTQsMHg0YiwweGQ4LDB4MjIsMHgwYyB9fSwKLSB7MTYsIDB4YTNjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAyLDB4ODMsMHg4MCwweDJlLDB4ZTggfX0sCi0gezE2LCAweGEzZDAsIDAsIHsweDBiLDB4MzgsMHgxMywweGNlLDB4NDEsMHhkMywweDEwLDB4MjgsMHhjMCwweDBlLDB4M2EsMHgwMiwweGM2LDB4MDgsMHg0YiwweDQwIH19LAotIHsxNiwgMHhhM2UwLCAwLCB7MHgzMCwweDYwLDB4MGQsMHgzYiwweDI3LDB4Y2YsMHhjNCwweGMzLDB4YTAsMHgzMCwweDAwLDB4MGYsMHgzMCwweDQzLDB4NDgsMHg0MCB9fSwKLSB7MTYsIDB4YTNmMCwgMCwgezB4ZjIsMHgwMCwweDNjLDB4MDQsMHgwZiwweDAyLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0MDAsIDAsIHsweDQwLDB4MWQsMHhiOCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzQsMHgwZSwweGYxLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMSwweDMzIH19LAotIHsxNiwgMHhhNDEwLCAwLCB7MHhjMCwweDRkLDB4YjEsMHgwNywweDdjLDB4OTAsMHhmZiwweDAwLDB4M2YsMHg0MCwweDAzLDB4ZjEsMHgwMywweDcwLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YTQyMCwgMCwgezB4MTAsMHgzYiwweDAwLDB4MGYsMHhjMCwweDBiLDB4YjQsMHgwMCwweGZkLDB4MDAsMHgzZiwweGM0LDB4MGYsMHhkMCwweDAzLDB4OTAgfX0sCi0gezE2LCAweGE0MzAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwNCwweGZiLDB4ODQsMHgzYSwweGMyIH19LAotIHsxNiwgMHhhNDQwLCAwLCB7MHg0YywweGI0LDB4OTMsMHgyYywweDA0LDB4ZTksMHgwMCwweDNhLDB4YzQsMHg4ZCwweDA4LDB4MDMsMHgyZSwweDAwLDB4Y2IsMHgwMSB9fSwKLSB7MTYsIDB4YTQ1MCwgMCwgezB4MzIsMHg4MCwweDhmLDB4YjIsMHg4MywweGVjLDB4MDAsMHhjYiwweDgwLDB4MzIsMHgwMCwweDBmLDB4ZjksMHgwMywweDNjLDB4MTAgfX0sCi0gezE2LCAweGE0NjAsIDAsIHsweGRmLDB4ODEsMHhiMywweGUwLDB4OGMsMHhhMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDcwLCAwLCB7MHg0OCwweDExLDB4OTQsMHgwOCwweGI3LDB4MDQsMHgyNCwweGM4LDB4MWEsMHgzMCwweDRhLDB4MWQsMHgwMCwweGI3LDB4MDEsMHgyZCB9fSwKLSB7MTYsIDB4YTQ4MCwgMCwgezB4YzAsMHg4OCwweDcwLDB4MDYsMHgxYywweDAwLDB4ODIsMHgwMCwweDIxLDB4ODAsMHg0YiwweDc2LDB4MTIsMHhkYywweDAwLDB4ODcgfX0sCi0gezE2LCAweGE0OTAsIDAsIHsweDAwLDB4MjksMHg0MCwweDhiLDB4NDAsMHgwMiwweDEwLDB4MDAsMHhiYywweDAwLDB4MjAsMHgwMSwweDI4LDB4NzAsMHgwMywweGIyIH19LAotIHsxNiwgMHhhNGEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MDAsMHhiMywweDkwLDB4MmQsMHhlNCB9fSwKLSB7MTYsIDB4YTRiMCwgMCwgezB4MDksMHg3OSwweDAyLDB4MWUsMHg4MCwweGE3LDB4ODAsMHgyYywweGU4LDB4MTksMHhmOCwweDEyLDB4NWUsMHgwMSwweDg3LDB4ODAgfX0sCi0gezE2LCAweGE0YzAsIDAsIHsweDI1LDB4ZTAsMHg0YiwweDc4LDB4MDYsMHhkMiwweDAwLDB4OTcsMHg4MCwweDIxLDB4NjIsMHgwYiwweDNhLDB4MDIsMHgxZSwweDAwIH19LAotIHsxNiwgMHhhNGQwLCAwLCB7MHhiNywweDg2LDB4MjksMHhmMCwweDA4LDB4NjgsMHgwNiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTRlMCwgMCwgezB4NDgsMHgxNCwweGNmLDB4YzAsMHhiMywweDAwLDB4MjQsMHhjMCwweDhhLDB4MzAsMHgzMiwweDBjLDB4MDAsMHhiMywweDA4LDB4MmMgfX0sCi0gezE2LCAweGE0ZjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDEyLDB4MGUsMHgyMCwweDgzLDB4MDAsMHgyNCwweGYxLDB4MGIsMHgzMCwweDA2LDB4Y2UsMHgwMCwweDgzIH19LAotIHsxNiwgMHhhNTAwLCAwLCB7MHg5MCwweDI4LDB4NjAsMHgwYiwweDAwLDB4MmEsMHgyMSwweDgwLDB4YjAsMHgwOCwweDI4LDB4MDAsMHgwOCwweDM3LDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YTUxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGE1MjAsIDAsIHsweDRkLDB4YTAsMHgwMywweDI4LDB4MDAsMHhlZSwweDQxLDB4M2UsMHg4MCwweDBkLDB4ZTAsMHgwMywweDc4LDB4MDAsMHg4ZSwweDQwIH19LAotIHsxNiwgMHhhNTMwLCAwLCB7MHgyNywweGE4LDB4MGIsMHhhMCwweDAzLDB4ZmIsMHgwMiwweGNhLDB4ODIsMHgzMywweGEwLDB4MGYsMHhhMCwweDEzLDB4MjksMHgwMCB9fSwKLSB7MTYsIDB4YTU0MCwgMCwgezB4ZmEsMHg0MCwweDNhLDB4ODAsMHgwYywweDZjLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1NTAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDA4LDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhNTYwLCAwLCB7MHgwMCwweDhmLDB4ODAsMHgyMywweGEwLDB4NDIsMHhmOCwweDA5LDB4YmEsMHgxMCwweDRmLDB4ODAsMHgwMywweGUwLDB4NjAsMHhmOCB9fSwKLSB7MTYsIDB4YTU3MCwgMCwgezB4MDAsMHgzZSwweDIwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgyNywweDAwLDB4OGYsMHg4MCwweDAzLDB4OTIgfX0sCi0gezE2LCAweGE1ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTUsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhhNTkwLCAwLCB7MHg2ZSwweDkwLDB4MDMsMHhhNCwweDA4LDB4YzksMHgwMCwweDNjLDB4NDAsMHgwZCwweDkwLDB4MDMsMHgyNCwweDEwLDB4ZjksMHhhMCB9fSwKLSB7MTYsIDB4YTVhMCwgMCwgezB4MzIsMHg0MiwweDBjLDB4OTAsMHgxMywweGM0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4NDAgfX0sCi0gezE2LCAweGE1YjAsIDAsIHsweGM5LDB4MjAsMHgzZSwweDUyLDB4Y2YsMHg5MCwweDA5LDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNWMwLCAwLCB7MHg4MCwweDA0LDB4NjYsMHgwMCwweDg5LDB4MDQsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YTVkMCwgMCwgezB4NDEsMHgwOCwweDkwLDB4MDUsMHhhNCwweDAwLDB4YjksMHg0MCwweGEyLDB4NDAsMHgwZCwweDkwLDB4MDIsMHhlNSwweDQ2LDB4ODkgfX0sCi0gezE2LCAweGE1ZTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgxMiwweGU1LDB4MDAsMHhhOSwweGM4LDB4MmUsMHg2MSwweDhiLDB4OTQsMHg0MiwweDIwIH19LAotIHsxNiwgMHhhNWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhhOSwweDAwLDB4NmMsMHg0MCB9fSwKLSB7MTYsIDB4YTYwMCwgMCwgezB4NDgsMHgxMCwweDIyLDB4ODQsMHgwMywweGE5LDB4MDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwNCwweGIxLDB4MDggfX0sCi0gezE2LCAweGE2MTAsIDAsIHsweDI4LDB4NDAsMHgxOCwweDk4LDB4MDIsMHhlNSwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhmNCwweDIwIH19LAotIHsxNiwgMHhhNjIwLCAwLCB7MHg4ZCwweDAwLDB4MmYsMHg0MCwweDBiLDB4OTQsMHg0MiwweDg2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTYzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhhMSwweDI0LDB4MmMsMHg0OCwweDE4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHhhMSwweDAwLDB4MjggfX0sCi0gezE2LCAweGE2NDAsIDAsIHsweDQ4LDB4MDgsMHgxMCwweDAyLDB4ODQsMHgwMCwweDkxLDB4MjAsMHgyMCwweDQ4LDB4MDksMHgxMiwweDAyLDB4YzQsMHg5NCwweDgxIH19LAotIHsxNiwgMHhhNjUwLCAwLCB7MHgwMCwweDJjLDB4NjEsMHgwYiwweDVhLDB4ODIsMHhkNCwweGEwLDB4YTUsMHgyOCwweDJkLDB4NGEsMHgwYiwweDkwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4YTY2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAyLDB4ZTgsMHg1MCwweDJlLDB4MTQgfX0sCi0gezE2LCAweGE2NzAsIDAsIHsweDBlLDB4ODUsMHgwMywweGExLDB4NDAsMHhhOCwweDUwLDB4M2UsMHgxNCwweDBkLDB4ODUsMHgwMSwweDgxLDB4NDAsMHhmOCwweDUyIH19LAotIHsxNiwgMHhhNjgwLCAwLCB7MHgzMiwweDk0LDB4MGMsMHg4MCwweDEzLDB4YzEsMHg0MiwweGMwLDB4NTEsMHgzZSwweDAwLDB4OGYsMHg4MiwweDAzLDB4ZTAsMHg4MCB9fSwKLSB7MTYsIDB4YTY5MCwgMCwgezB4YzgsMHgyMCwweDNmLDB4MDgsMHgwZiwweDgwLDB4MDMsMHhhZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2YTAsIDAsIHsweDk4LDB4MTksMHhmNCwweDUwLDB4ZDksMHgxMSwweDNlLDB4NDQsMHg4ZiwweDkxLDB4NDMsMHhlNCwweDQwLDB4ZGQsMHgwMCwweDNhIH19LAotIHsxNiwgMHhhNmIwLCAwLCB7MHg0NCwweDRmLDB4ZDAsMHgyNywweGI0LDB4MDAsMHhmZCwweDEyLDB4M2YsMHg0NCwweDRmLDB4OTEsMHg0MywweGY0LDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4YTZjMCwgMCwgezB4MDAsMHgzZiwweDQxLDB4MGYsMHg5MiwweDgzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHhkMCwweDAzLDB4NjYgfX0sCi0gezE2LCAweGE2ZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4ZjYsMHg4MCwweGU5LDB4YzAsMHgzZSwweDc4IH19LAotIHsxNiwgMHhhNmUwLCAwLCB7MHg4ZiwweDliLDB4MDMsMHhhNywweDgwLDB4YzksMHg0MCwweDM2LDB4NzgsMHgwZiwweDEwLDB4MjMsMHhlNSwweDA0LDB4ZGQsMHhhNCB9fSwKLSB7MTYsIDB4YTZmMCwgMCwgezB4MzMsMHg2MiwweDBmLDB4ZGEsMHgwMywweGY2LDB4NjAsMHhjOSwweDEwLDB4MzMsMHg0MCwweDBlLDB4OTgsMHg5MywweGU2LDB4MzAgfX0sCi0gezE2LCAweGE3MDAsIDAsIHsweGM5LDB4YzksMHgzMiwweDc4LDB4OGMsMHhkMCwweDBiLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNzEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweDg4LDB4ZTIsMHgyZSwweDMwLDB4MGIsMHg4OCwweDQyLDB4MjMsMHg0MCwweGEwLDB4YTEsMHgyMiB9fSwKLSB7MTYsIDB4YTcyMCwgMCwgezB4MzgsMHgwYiwweDhhLDB4MDIsMHhlMiwweDgwLDB4YWEsMHhlMCwweDIyLDB4MzAsMHgwYiwweDgwLDB4MjMsMHhhYiwweDAyLDB4ODggfX0sCi0gezE2LCAweGE3MzAsIDAsIHsweGEwLDB4MmEsMHgwMCwweDBiLDB4OGMsMHgwMiwweGUzLDB4MDAsMHg4OCwweGUwLDB4MjMsMHgzOCwweDA4LDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHhhNzQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhhMSwweDQ0LDB4MjgsMHg1OCB9fSwKLSB7MTYsIDB4YTc1MCwgMCwgezB4NDMsMHgxNiwweDIyLDB4ODQsMHg4MSwweDgxLDB4MjAsMHgyYywweDU4LDB4NDksMHgxMCwweDgwLDB4YzQsMHg4MSwweDkxLDB4NDggfX0sCi0gezE2LCAweGE3NjAsIDAsIHsweDZjLDB4NGEsMHgwYiwweDE0LDB4MDIsMHg0NCwweDg0LDB4ODEsMHgwMSwweDYwLDB4NDAsMHgwYSwweDUyLDB4ODYsMHhkNCwweGEwIH19LAotIHsxNiwgMHhhNzcwLCAwLCB7MHg4NSwweDAwLDB4YTEsMHg1MCwweDY4LDB4OTAsMHgwNiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTc4MCwgMCwgezB4MTgsMHgwNSwweGE2LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA0LDB4MDAsMHhhOSwweDYwLDB4MjIgfX0sCi0gezE2LCAweGE3OTAsIDAsIHsweDQwLDB4MGIsMHg5NSwweDAyLDB4ZTQsMHgxMCwweGIxLDB4MDAsMHg0ZSwweDQwLDB4MGIsMHg5MCwweDY2LDB4YWMsMHg4MCwweDg5IH19LAotIHsxNiwgMHhhN2EwLCAwLCB7MHgwMCwweDJhLDB4NjAsMHgwYiwweDkwLDB4NTIsMHhmNCwweDAwLDB4ODUsMHgwMCwweDIxLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4YTdiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNiwweDIwLDB4ZTksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGE3YzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGE0LDB4MTAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTQsMHgwMSwweGU1LDB4MjAsMHhkOSwweDQwIH19LAotIHsxNiwgMHhhN2QwLCAwLCB7MHhiYSwweDY4LDB4OGYsMHg5MCwweDA3LDB4ZTYsMHgwMCwweGM5LDB4MTAsMHgzMiwweDYyLDB4MGUsMHg5MCwweDAyLDB4ZTQsMHgxOCB9fSwKLSB7MTYsIDB4YTdlMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3ZjAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhhODAwLCAwLCB7MHg0MCwweDhmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAyLDB4NzIsMHg2OCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YTgxMCwgMCwgezB4MDEsMHgzZSwweDQyLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMiwweGY5LDB4MDQsMHgzZSwweDQwLDB4NGYsMHg5MCwweDAzLDB4MWEgfX0sCi0gezE2LCAweGE4MjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4ODAsMHgwMiwweGM4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhhODMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHg0MCwweDM2LDB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZDgsMHg1MCB9fSwKLSB7MTYsIDB4YTg0MCwgMCwgezB4YjIsMHgxMCwweDhjLDB4ODEsMHgwMywweGMxLDB4MjAsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YzAsMHgxMywweGYwLDB4MDQgfX0sCi0gezE2LCAweGE4NTAsIDAsIHsweDRjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhODYwLCAwLCB7MHgyOCwweDE1LDB4MmEsMHgwMCwweDhhLDB4MDQsMHgyMiwweDgxLDB4MjgsMHhhMCwweDEyLDB4MjgsMHgwMCwweDhhLDB4MDEsMHgzNiB9fSwKLSB7MTYsIDB4YTg3MCwgMCwgezB4ODAsMHgwYiwweGEwLDB4MTAsMHgyOCwweDEwLDB4Y2UsMHgwMSwweDIzLDB4ODEsMHgwYywweGE4LDB4MTIsMHhmYiwweDAwLDB4OGEgfX0sCi0gezE2LCAweGE4ODAsIDAsIHsweDAxLDB4M2IsMHg4MCwweDgzLDB4YTAsMHg0MiwweGU4LDB4MTAsMHg4YSwweDAwLDB4MmYsMHg4MCwweDBiLDB4NjAsMHg0MiwweDBhIH19LAotIHsxNiwgMHhhODkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCB9fSwKLSB7MTYsIDB4YThhMCwgMCwgezB4MTgsMHhiMCwweDAwLDB4Y2MsMHgwMCwweDliLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMCwweDA2LDB4NmMsMHgwMCwweGEzLDB4MDggfX0sCi0gezE2LCAweGE4YjAsIDAsIHsweDI4LDB4YzgsMHgwOSwweDMwLDB4MDIsMHhjYywweDQzLDB4OGIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAyIH19LAotIHsxNiwgMHhhOGMwLCAwLCB7MHg4MywweDAxLDB4MmMsMHhjMCwweDRiLDB4MzAsMHgwMCwweDRhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YThkMCwgMCwgezB4YTAsMHgwMSwweDBjLDB4MjQsMHg4NywweDk0LDB4MjEsMHhlNCwweDE4LDB4MzEsMHgwMiwweGRjLDB4ODAsMHg5NywweDEwLDB4MjUgfX0sCi0gezE2LCAweGE4ZTAsIDAsIHsweGNkLDB4MGIsMHhmMiwweDAyLDB4N2MsMHgwMCwweGEwLDB4MDAsMHgyOCwweGUwLDB4MTgsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3IH19LAotIHsxNiwgMHhhOGYwLCAwLCB7MHgzNCwweDI5LDB4NDAsMHgwOSwweDQwLDB4MDIsMHhkMCwweDA0LDB4ODQsMHgwNCwweDJkLDB4MDAsMHg0YiwweGQwLDB4MjIsMHg2OCB9fSwKLSB7MTYsIDB4YTkwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4Y2YsMHhhMCwweDcwLDB4ZTkgfX0sCi0gezE2LCAweGE5MTAsIDAsIHsweDE4LDB4N2IsMHgwMywweGZmLDB4NDAsMHg5NywweGEwLDB4MzUsMHhlOCwweDBmLDB4NzQsMHgwMiwweDVlLDB4MjAsMHhlNCwweDgwIH19LAotIHsxNiwgMHhhOTIwLCAwLCB7MHgzOSwweGEwLDB4MmQsMHg3OCwweDAzLDB4ZmUsMHgwMCwweGM3LDB4ODAsMHgzZCwweGUwLDB4NWYsMHg2OCwweDQzLDB4YzIsMHgwMCB9fSwKLSB7MTYsIDB4YTkzMCwgMCwgezB4YzQsMHg4NCwweDFkLDB4NjAsMHgwZiwweDc4LDB4MDMsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5NDAsIDAsIHsweDA4LDB4MGQsMHhhNCwweDAwLDB4M2IsMHgwMCwweDJlLDB4ZDgsMHgwZiwweGI0LDB4MDMsMHgyZCwweDhhLDB4ZWIsMHg2MiwweDNhIH19LAotIHsxNiwgMHhhOTUwLCAwLCB7MHhkMCwweDBmLDB4YjIsMHg4NywweDBjLDB4ZDAsMHhkOCwweDAwLDB4MzIsMHhjMCwweDRmLDB4OTAsMHg0MywweGVjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YTk2MCwgMCwgezB4MDgsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZiwweDgwLDB4MGYsMHgwMCwweDJiLDB4ODIgfX0sCi0gezE2LCAweGE5NzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGZmLDB4YTAsMHgzZSwweGY0IH19LAotIHsxNiwgMHhhOTgwLCAwLCB7MHgwZSwweGI4LDB4MDMsMHhlZSwweDA4LDB4NGIsMHhmMCwweDdmLDB4ZjQsMHgwYywweGY5LDB4MjMsMHhlZSwweDQ4LDB4NzgsMHg5MCB9fSwKLSB7MTYsIDB4YTk5MCwgMCwgezB4MzIsMHhlNCwweDBjLDB4ZjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlNCwweDFjLDB4NzksMHgwMywweDJlLDB4NDAgfX0sCi0gezE2LCAweGE5YTAsIDAsIHsweGZmLDB4ODAsMHgzMywweGUwLDB4MmMsMHg3OCwweDA3LDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOWIwLCAwLCB7MHhhOCwweDExLDB4OTQsMHgwMCwweGIzLDB4MDAsMHgwYywweGU1LDB4MGIsMHgzOCwweDAyLDB4ZmUsMHg4MCwweDhmLDB4ODAsMHg2MSB9fSwKLSB7MTYsIDB4YTljMCwgMCwgezB4YzQsMHgyOCwweDc4LDB4MDAsMHg0ZSwweDAwLDB4ZjQsMHg4NCwweDI1LDB4YTgsMHgwYywweDcwLDB4MDIsMHhjYywweDA0LDB4YjMgfX0sCi0gezE2LCAweGE5ZDAsIDAsIHsweDkwLDB4MjUsMHg0MCwweDBjLDB4NDEsMHg4MywweDUyLDB4NDAsMHhiNCwweDEwLDB4YTMsMHgwMCwweDBjLDB4NTIsMHgwMywweDZhIH19LAotIHsxNiwgMHhhOWUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk0LDB4MDAsMHhiNywweDIxLDB4NmQsMHhjOCB9fSwKLSB7MTYsIDB4YTlmMCwgMCwgezB4NGIsMHg3MCwweDAyLDB4ZGMsMHg0MiwweGE3LDB4MzEsMHgyOSwweGM0LDB4MDgsMHg3MiwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MjggfX0sCi0gezE2LCAweGFhMDAsIDAsIHsweDI0LDB4ODAsMHgwOCwweDcwLDB4MDYsMHhkNCwweDIwLDB4YjcsMHgwMSwweDJkLDB4YzEsMHgwOCwweDYwLDB4MDIsMHg1MCwweDgwIH19LAotIHsxNiwgMHhhYTEwLCAwLCB7MHhiNCwweDA4LDB4MjEsMHg2MiwweDA5LDB4NzQsMHgwNiwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWEyMCwgMCwgezB4MjAsMHgxNCwweGM3LDB4MDQsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAyLDB4NjAgfX0sCi0gezE2LCAweGFhMzAsIDAsIHsweGMwLDB4MDgsMHgzOCwweDAyLDB4NGUsMHg0NCwweGEwLDB4YzAsMHgyNCwweDkxLDB4MDgsMHgzMCwweDAyLDB4YzAsMHgwMCwweGIzIH19LAotIHsxNiwgMHhhYTQwLCAwLCB7MHgwMCwweDI0LDB4NjAsMHgwOCwweDFjLDB4MDIsMHg0YywweDg4LDB4YjMsMHhjMCwweDIwLDB4YTAsMHgwOCwweDAwLDB4MGEsMHg4OCB9fSwKLSB7MTYsIDB4YWE1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4YzAgfX0sCi0gezE2LCAweGFhNjAsIDAsIHsweDRmLDB4ZjAsMHgxMywweGZjLDB4MDgsMHhlNywweDhhLDB4M2YsMHhjMCwweDBjLDB4ZjUsMHhjMiwweGZlLDB4MTAsMHhiYiwweGMwIH19LAotIHsxNiwgMHhhYTcwLCAwLCB7MHgzMiwweGQ0LDB4MGMsMHgzMCwweDEzLDB4ZTMsMHgwNCwweGJmLDB4MDAsMHgyZSwweDYyLDB4MDgsMHhiOSwweDAyLDB4NmUsMHgwMCB9fSwKLSB7MTYsIDB4YWE4MCwgMCwgezB4ZmIsMHgwMSwweDMyLDB4YTQsMHg0ZCwweDk0LDB4MDIsMHhhYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDYwLDB4ZmIsMHgwMCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4NWIsMHgwMCwweDNhIH19LAotIHsxNiwgMHhhYWEwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHg0MSwweGVjLDB4MDAsMHg3YiwweDQ1LDB4YmEsMHg0MCwweDJlLDB4YjAsMHgxNSwweGUwLDB4MDEsMHhmYiB9fSwKLSB7MTYsIDB4YWFiMCwgMCwgezB4MDAsMHgzZSwweDUwLDB4MGUsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZjLDB4MjAsMHgzZiwweDUwLDB4OGYsMHg5MCwweDAxLDB4NjAgfX0sCi0gezE2LCAweGFhYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH19LAotIHsxNiwgMHhhYWQwLCAwLCB7MHg4ZiwweGYwLDB4MDMsMHgxYywweDAyLDB4Y2YsMHgwMCwweDM2LDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwLDB4N2YsMHgyYSB9fSwKLSB7MTYsIDB4YWFlMCwgMCwgezB4M2YsMHg4MCwweDBmLDB4ZjgsMHgxMywweDkwLDB4MjEsMHhjZiwweDAwLDB4M2YsMHg2MiwweDBjLDB4ZTAsMHgwMywweDMwLDB4MDAgfX0sCi0gezE2LCAweGFhZjAsIDAsIHsweGY4LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYjAwLCAwLCB7MHg4MSwweDA0LDB4NjQsMHgxMSwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGRiLDB4MDQsMHgzMiB9fSwKLSB7MTYsIDB4YWIxMCwgMCwgezB4YzAsMHgwZSwweGIwLDB4MDIsMHhlYywweDAwLDB4YmIsMHg4NCwweDJlLDB4NDAsMHgwYiwweGI5LDB4NDIsMHgyMiwweDQyLDB4OGIgfX0sCi0gezE2LCAweGFiMjAsIDAsIHsweDAxLDB4MmMsMHg3MiwweDBhLDB4OTAsMHg0MiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMiwweDhmLDB4ODgsMHgwNiwweGUwIH19LAotIHsxNiwgMHhhYjMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDI0LDB4MDAsMHhiYiwweDAwLDB4NmUsMHhjMCB9fSwKLSB7MTYsIDB4YWI0MCwgMCwgezB4NDgsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4MGEsMHhiMCwweDEyLDB4ZWMsMHgwMCwweGJiLDB4NDAgfX0sCi0gezE2LCAweGFiNTAsIDAsIHsweDJlLDB4YzgsMHgwYiwweGIwLDB4MTIsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4NDgsMHgwYSwweDMwLDB4MDIsMHg2YywweDAwIH19LAotIHsxNiwgMHhhYjYwLCAwLCB7MHhiYiwweDAwLDB4MmUsMHg4MCwweDRiLDB4OTgsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWI3MCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMywweDAwLDB4NmMsMHhjMiwweDRiLDB4MzEsMHgwMiwweDBjLDB4NTAsMHg5YiwweDIwLDB4MjAgfX0sCi0gezE2LCAweGFiODAsIDAsIHsweGMwLDB4MGEsMHgzMiwweDEyLDB4Y2MsMHg4MCwweGIzLDB4MDAsMHg2YywweDBjLDB4MGIsMHgzMSwweDAyLDB4MGMsMHg0MiwweDgzIH19LAotIHsxNiwgMHhhYjkwLCAwLCB7MHgwOCwweDJlLDB4NDAsMHgwYSwweDAwLDB4MDIsMHgwMCwweDgwLDB4YjAsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4YWJhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4YmIsMHg0MCwweDNmLDB4Y2MgfX0sCi0gezE2LCAweGFiYjAsIDAsIHsweDBlLDB4ZjAsMHg4MywweDNkLDB4YTAsMHhjZiwweDIwLDB4MzcsMHhjMCwweDBjLDB4ZjcsMHhjMywweGZkLDB4NDgsMHhmMywweDAwIH19LAotIHsxNiwgMHhhYmMwLCAwLCB7MHgzZSwweDg4LDB4MGYsMHhiNCwweDEzLDB4YTUsMHgwMCwweDhmLDB4MzAsMHgzZSwweDQwLDB4MGMsMHhhMCwweDAzLDB4NjAsMHg4MCB9fSwKLSB7MTYsIDB4YWJkMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDkwLDB4MjMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiZTAsIDAsIHsweGEwLDB4MTksMHhmNCwweDAwLDB4ZmYsMHgyOSwweDNmLDB4YzksMHgwZiwweGYwLDB4MTMsMHhmYywweDk0LDB4ZWYsMHgxMiwweDNiIH19LAotIHsxNiwgMHhhYmYwLCAwLCB7MHhjMCwweDhlLDB4YjIsMHgwNywweGZkLDB4MDQsMHhmZiwweDEwLDB4M2YsMHgwYywweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YWMwMCwgMCwgezB4MjAsMHgzZCwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZmMsMHg0MCwweGZmLDB4MDQsMHgzZiwweGMwLDB4MGUsMHhjMCwweDQzLDB4ZTggfX0sCi0gezE2LCAweGFjMTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhhMiwweGM3LDB4MjAsMHgzZiwweDI0IH19LAotIHsxNiwgMHhhYzIwLCAwLCB7MHgwYywweGYwLDB4MDMsMHgzYywweDgwLDB4Y2MsMHgwOSwweDMzLDB4ZDEsMHgwYywweGYxLDB4MjMsMHhmYywweDIwLDB4ZGYsMHgzNiB9fSwKLSB7MTYsIDB4YWMzMCwgMCwgezB4M2YsMHhjMCwweDBlLDB4NDgsMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4MzcsMHhlNCwweDBkLDB4NzgsMHgwMywweDExLDB4YTAgfX0sCi0gezE2LCAweGFjNDAsIDAsIHsweGNmLDB4MDAsMHgzNywweGM4LDB4MGMsMHhmMCwweDAzLDB4MzAsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYzUwLCAwLCB7MHg4MCwweDEwLDB4ZmYsMHgwMCwweDhmLDB4ZDEsMHgyZSwweDA4LDB4MGQsMHhiNiwweDEyLDB4M2QsMHg0NSwweGY5LDB4NjQsMHgyNyB9fSwKLSB7MTYsIDB4YWM2MCwgMCwgezB4ZDAsMHg4OCwweGJhLDB4MTQsMHhjYywweDA0LDB4OGYsMHg0MCwweDIzLDB4ZjAsMHgwYiwweDg4LDB4MDIsMHgyZSwweDA0LDB4YmIgfX0sCi0gezE2LCAweGFjNzAsIDAsIHsweDgwLDB4YWUsMHhjMCwweDA4LDB4YjgsMHgwYSwweDIxLDB4MDAsMHg4OCwweGQwLDB4MjIsMHgyMCwweDI4LDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhhYzgwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg5MywweDAwLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4YWM5MCwgMCwgezB4MGEsMHgzNCwweDgyLDB4OGMsMHhhMCwweGEwLDB4MDgsMHgyNCwweGQ4LDB4MDksMHgzMSwweDAyLDB4Y2MsMHgyMCwweGIzLDB4MzIgfX0sCi0gezE2LCAweGFjYTAsIDAsIHsweDI4LDB4ZDAsMHg0YSwweDgwLDB4MDIsMHhjYywweDBjLDB4YmIsMHgwMCwweDIyLDB4NDAsMHg4OSwweGIwLDB4MDIsMHg2MCwweDgwIH19LAotIHsxNiwgMHhhY2IwLCAwLCB7MHg5MywweDAwLDB4MjQsMHhkMCwweDBiLDB4MzAsMHgwMiwweGEyLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWNjMCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHg5YiwweDAwLDB4MmUsMHgyMCwweDA5LDB4YjAsMHg0YSwweDJjLDB4MDIsMHhhMCwweDAwLDB4MDYgfX0sCi0gezE2LCAweGFjZDAsIDAsIHsweGMwLDB4MDksMHhiMCwweDAwLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGIsMHg4OCwweDAyLDB4NmMsMHgwMCwweGJiIH19LAotIHsxNiwgMHhhY2UwLCAwLCB7MHgyMCwweDJhLDB4ZTIsMHg0MSwweGI4LDB4MmEsMHg2MCwweDBhLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgwYiwweGIwLDB4MDIsMHhiOCB9fSwKLSB7MTYsIDB4YWNmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDA4LDB4ZGIsMHgwMiwweDNlLDB4MjAgfX0sCi0gezE2LCAweGFkMDAsIDAsIHsweDRjLDB4YjAsMHgwMywweDJjLDB4MDIsMHg4YiwweDIwLDB4MTIsMHhjMCwweDI5LDB4YjAsMHgxMiwweGVjLDB4MDAsMHhmYiwweDAwIH19LAotIHsxNiwgMHhhZDEwLCAwLCB7MHgzYSwweGMwLDB4MGUsMHg4OCwweDAzLDB4ZWQsMHgyMCwweGZiLDB4YzgsMHgzNCwweGYwLDB4MGQsMHhiYSwweDAzLDB4NDcsMHg2MCB9fSwKLSB7MTYsIDB4YWQyMCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweGIwLDB4MGIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkMzAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4ZWYsMHgwMCwweDBmLDB4MDAsMHgwZiwweDMwLDB4MDAsMHhmYywweDAwLDB4ZGYsMHg5MCwweGJiIH19LAotIHsxNiwgMHhhZDQwLCAwLCB7MHhjMCwweGNlLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhjYiwweDAwLDB4MTcsMHhjMCwweDBmLDB4YzAsMHgwMywweGJjLDB4ODQsMHhmZiB9fSwKLSB7MTYsIDB4YWQ1MCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGUsMHhkMCwweDYzLDB4YjgsMHgwMCwweGVhLDB4MDAsMHgzYSwweDgwLDB4MGMsMHgzMCwweDAzLDB4NzAgfX0sCi0gezE2LCAweGFkNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDIsMHgzMiwweDAwIH19LAotIHsxNiwgMHhhZDcwLCAwLCB7MHgwZiwweGIwLDB4NTMsMHgyYywweDAwLDB4ZmEsMHgwMCwweDMyLDB4YzAsMHg4ZiwweGIwLDB4MDcsMHgyYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4YWQ4MCwgMCwgezB4YjIsMHhjMCwweDBmLDB4ODAsMHgwNywweGFjLDB4ODAsMHhkYiwweDI0LDB4N2UsMHhkMCwweDBlLDB4YjAsMHgyMywweDc0LDB4MDQgfX0sCi0gezE2LCAweGFkOTAsIDAsIHsweGRkLDB4MDgsMHhiNSwweDQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZGEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweGJmLDB4YzAsMHhhMCwweDAwLDB4MWIsMHhmMCwweDAyLDB4M2YsMHg2MCwweGVhLDB4NTAsMHgyMyB9fSwKLSB7MTYsIDB4YWRiMCwgMCwgezB4YzAsMHgwOCwweGZhLDB4MDcsMHhmYywweDAwLDB4ZGYsMHgwMCwweDYzLDB4YzAsMHg0OCwweDE4LDB4MDIsMHgyZCwweDAwLDB4YjMgfX0sCi0gezE2LCAweGFkYzAsIDAsIHsweDAwLDB4NmUsMHhjMCwweDBkLDB4M2EsMHgwMywweDI0LDB4MDAsMHg4MiwweDgwLDB4MzIsMHg4MCwweDBkLDB4ZjAsMHgwMywweDMyIH19LAotIHsxNiwgMHhhZGQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTQsMHhiMywweDU5LDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4YWRlMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MmUsMHgwNSwweGIwLDB4NDQsMHgyZSwweGMwLDB4MDksMHgzNCwweDgyLDB4ZWMsMHgwMCwweGFiLDB4MDQgfX0sCi0gezE2LCAweGFkZjAsIDAsIHsweDIwLDB4YzAsMHgwOSwweDIxLDB4YjIsMHg4ZSwweDA0LDB4OTMsMHhjMCwweDI0LDB4YzAsMHgwYSwweDE4LDB4MDYsMHg0YywweDAwIH19LAotIHsxNiwgMHhhZTAwLCAwLCB7MHg5MiwweDUwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDcwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWUxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4NjEsMHhlMCwweDBiLDB4NzgsMHgwYSwweDVlLDB4MDEsMHhiMSwweGEwLDB4MmQgfX0sCi0gezE2LCAweGFlMjAsIDAsIHsweGUwLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweDA3LDB4OTAsMHgyMSwweGUwLDB4MTgsMHhjOCwweDAyLDB4MWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHhhZTMwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHg4YSwweGQ4LDB4MDIsMHgzZSwweGMwLDB4ODUsMHg4MCwweDIxLDB4MjAsMHgxOSwweDc4LDB4MjIsMHgwMCB9fSwKLSB7MTYsIDB4YWU0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZjMsMHg5NCwweDIwLDB4MTAgfX0sCi0gezE2LCAweGFlNTAsIDAsIHsweDRiLDB4MzAsMHgwNywweDBjLDB4MDAsMHhmMywweDAwLDB4M2UsMHhjOCwweDBmLDB4MzAsMHgwMywweGNjLDB4MDAsMHgyMywweDEwIH19LAotIHsxNiwgMHhhZTYwLCAwLCB7MHgwMCwweGNiLDB4MDUsMHgyMCwweDAyLDB4OGMsMHg2MCwweDkzLDB4MGEsMHgyZSwweGM0LDB4MGEsMHgwMSwweDA3LDB4NGMsMHg4MCB9fSwKLSB7MTYsIDB4YWU3MCwgMCwgezB4ZDIsMHgwMSwweDMwLDB4YzAsMHgyYywweDMwLDB4MGIsMHg1YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMSwweDBmLDB4NDAsMHgwZiwweGYwLDB4MTMsMHhiYywweDAwLDB4ZWYsMHgyNiwweDczIH19LAotIHsxNiwgMHhhZTkwLCAwLCB7MHhjMiwweDBjLDB4YjAsMHg4MywweGJjLDB4NDAsMHhmZiwweDE4LDB4M2QsMHhjMCwweDRhLDB4YzEsMHgwMywweGZjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YWVhMCwgMCwgezB4MTIsMHgzZiwweGM0LDB4NGQsMHhjMSwweDBiLDB4ZmMsMHg4MSwweGZkLDB4MDAsMHgzZiwweDIwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGFlYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgyMCwweGNiLDB4NDgsMHgzZSwweDAwIH19LAotIHsxNiwgMHhhZWMwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgyZCwweDIwLDB4ZTksMHg4MCwweGZhLDB4YzgsMHgwZCwweGIwLDB4MDMsMHhlZSwweDAwLDB4ZGIsMHgyNCB9fSwKLSB7MTYsIDB4YWVkMCwgMCwgezB4NzYsMHhmMywweDhlLDB4ODAsMHgzMywweGVjLDB4NDQsMHhlYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgwMywweGU4LDB4MDQgfX0sCi0gezE2LCAweGFlZTAsIDAsIHsweGRjLDB4MDAsMHhiMywweDYxLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZWYwLCAwLCB7MHg0OCwweDExLDB4OGQsMHgwMCwweDg3LDB4MjAsMHgyZiwweDAxLDB4MjgsMHg3MCwweDAyLDB4MGMsMHg4NCwweDhkLDB4MDQsMHgzMSB9fSwKLSB7MTYsIDB4YWYwMCwgMCwgezB4Y2MsMHhjOSwweDcyLDB4MDIsMHhkZCwweDAwLDB4MzcsMHgzMywweDIxLDB4ZDgsMHgwOCwweDQwLDB4MDIsMHhkYywweDAwLDB4YjcgfX0sCi0gezE2LCAweGFmMTAsIDAsIHsweDIwLDB4M2QsMHhjMCwweDA5LDB4NTAsMHgyMiwweGYwLDB4MDAsMHg5NywweDAwLDB4MjEsMHg4MCwweDBhLDB4ZmMsMHgwMiwweDkyIH19LAotIHsxNiwgMHhhZjIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDFlLDB4ODIsMHg4NywweGIwLDB4MmQsMHgyMCB9fSwKLSB7MTYsIDB4YWYzMCwgMCwgezB4MDgsMHgzOSwweDAyLDB4MWUsMHg0MSwweGE3LDB4ODAsMHgyNCwweGUwLDB4MDksMHg3YSwweDMyLDB4OGUsMHg4MiwweDA3LDB4YTAgfX0sCi0gezE2LCAweGFmNDAsIDAsIHsweDI1LDB4ZTAsMHg4YiwweDQ4LDB4MDIsMHgxZSwweDAwLDB4YTcsMHhlMSwweDJkLDB4ZTAsMHg0YiwweDU4LDB4MDAsMHhkYSwweDAwIH19LAotIHsxNiwgMHhhZjUwLCAwLCB7MHhhMCwweDgwLDB4MjQsMHg2MCwweDA4LDB4N2EsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWY2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDAwLDB4MmMsMHgwMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwLDB4MjIgfX0sCi0gezE2LCAweGFmNzAsIDAsIHsweGMxLDB4MDksMHgzMCwweDQyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgxYSwweDAyLDB4Y2UsMHgwNCwweGIzIH19LAotIHsxNiwgMHhhZjgwLCAwLCB7MHhlMCwweDI4LDB4YTAsMHgwOSwweDFjLDB4ODIsMHg0YiwweDA4LDB4YTMsMHg4MCwweDI0LDB4YTAsMHgyYSwweDMwLDB4MDIsMHg5YSB9fSwKLSB7MTYsIDB4YWY5MCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDJmLDB4ODggfX0sCi0gezE2LCAweGFmYTAsIDAsIHsweDBjLDB4YTAsMHgxMywweDI4LDB4MDAsMHhlZSwweDAwLDB4MmUsMHg4MCwweDJkLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkYSwweDAwIH19LAotIHsxNiwgMHhhZmIwLCAwLCB7MHg3NiwweDgwLDB4MGUsMHhlOCwweDAzLDB4YmIsMHg4MCwweGVlLDB4NDAsMHgyZiwweGEyLDB4OGYsMHhlNiwweDAzLDB4ZWIsMHg4NiB9fSwKLSB7MTYsIDB4YWZjMCwgMCwgezB4ZmEsMHg4MCwweDM3LDB4ODIsMHgwYywweDIwLDB4MDcsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDFlLDB4MDAsMHgwZiwweDgwLDB4MGIsMHg2MSwweDAwLDB4ZTgsMHhjMCwweDNhIH19LAotIHsxNiwgMHhhZmUwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDEsMHhmOCwweDAwLDB4N2UsMHgxMCwweDFlLDB4ODEsMHgwMywweGUwLDB4MDgsMHhmOCB9fSwKLSB7MTYsIDB4YWZmMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4YzAsMHgyOCwweGRjLDB4NTAsMHgzYiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGIwMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQyIH19LAotIHsxNiwgMHhiMDEwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHhhNiwweDAwLDB4YzksMHgwMSwweDNhLDB4NDAsMHgwZSwweDk0LDB4MDEsMHhlNCwweDEwLDB4ZjEsMHgwNCB9fSwKLSB7MTYsIDB4YjAyMCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OWEsMHgyMywweDIwLDB4NjAsMHhmOCwweDA0LDB4MGEsMHg0MiwweDBlLDB4OTAsMHgxMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGIwMzAsIDAsIHsweGMxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMDQwLCAwLCB7MHg4MCwweDA0LDB4NjcsMHgwOCwweGE5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjcsMHg4MiwweDg5LDB4MDAsMHgyNiB9fSwKLSB7MTYsIDB4YjA1MCwgMCwgezB4NDAsMHgwOCwweDljLDB4MDMsMHhhNCwweDEwLDB4YjksMHgwMCwweDM2LDB4NDAsMHg5YiwweDFjLDB4MWEsMHgyMywweDA0LDB4YjggfX0sCi0gezE2LCAweGIwNjAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDBlLDB4MTAsMHgwMiwweDI0LDB4MDIsMHhjOSwweGEwLDB4YTIsMHg0MCwweDBiLDB4OTAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhiMDcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI1LDB4ODAsMHg4OSwweDA0LDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4YjA4MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ODQsMHg4MSwweDk5LDB4NDAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDA2LDB4ZTQsMHgwMSwweGI5LDB4MDAgfX0sCi0gezE2LCAweGIwOTAsIDAsIHsweGE2LDB4NDEsMHgxYiwweDkwLDB4ODIsMHgyMSwweDAwLDB4YjgsMHgxMCwweDJlLDB4NDAsMHgwYSwweDkyLDB4MGEsMHhhNCwweDAxIH19LAotIHsxNiwgMHhiMGEwLCAwLCB7MHg4ZiwweDIyLDB4MjMsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjBiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhhMywweDIwLDB4MmMsMHg0MSwweDA5LDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjQgfX0sCi0gezE2LCAweGIwYzAsIDAsIHsweDQ4LDB4MGEsMHgzNiwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgwNCwweGM4LDB4NGIsMHgxNCwweDAyLDB4MDUsMHgwMCwweGIxIH19LAotIHsxNiwgMHhiMGQwLCAwLCB7MHgwNSwweDI4LDB4NTAsMHgwYSwweDkwLDB4MDIsMHgwNSwweDAyLDB4ODUsMHgwMCwweDIxLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YjBlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwMCwweDZlLDB4MTQgfX0sCi0gezE2LCAweGIwZjAsIDAsIHsweDJjLDB4ODUsMHgwMiwweGExLDB4NDAsMHhjOCwweDUwLDB4M2EsMHgxNCwweDBlLDB4ODAsMHgwMiwweGUxLDB4NDAsMHhiMCwweDUwIH19LAotIHsxNiwgMHhiMTAwLCAwLCB7MHgzMiwweDAwLDB4MGIsMHg4MCwweDAzLDB4MjAsMHgwMCwweGZhLDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4YTAsMHgwMiB9fSwKLSB7MTYsIDB4YjExMCwgMCwgezB4YzgsMHgwMCwweDEzLDB4MDAsMHgwZiwweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQ4LDB4ZjksMHgxNCwweDNmLDB4NDAsMHgwYywweDkxLDB4MDMsMHhlNCwweDQyLDB4ZmQsMHgxMCwweDM2IH19LAotIHsxNiwgMHhiMTMwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHgyMywweGE0LDB4NDgsMHhmOSwweDExLDB4MzgsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU1LDB4MTQsMHgzOSB9fSwKLSB7MTYsIDB4YjE0MCwgMCwgezB4NDIsMHg3YiwweDQwLDB4OGUsMHhkMCwweDAxLDB4ZjUsMHgwMCwweGE5LDB4NDAsMHgzZSwweDUwLDB4MDcsMHg5NiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGIxNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHg4MCwweGRkLDB4YWUsMHgzYSwweDUwIH19LAotIHsxNiwgMHhiMTYwLCAwLCB7MHgwZCwweDlhLDB4MGIsMHg3NiwweDgwLDB4Y2YsMHg4OCwweDMyLDB4NzAsMHgyZCwweGRhLDB4MDMsMHhhNywweDAxLDB4ZTksMHg5MiB9fSwKLSB7MTYsIDB4YjE3MCwgMCwgezB4MzcsMHg2OCwweDBkLDB4OTQsMHgwMywweGU3LDB4MDAsMHhlZCwweGEwLDB4M2EsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU3LDB4MDIgfX0sCi0gezE2LCAweGIxODAsIDAsIHsweGNkLDB4ODAsMHgzMywweDY4LDB4MGMsMHhkOCwweDgzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMTkwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweDg4LDB4NDAsMHgyMCwweDIwLDB4MGMsMHg4YywweDAyLDB4MjMsMHgwMCwweDg4LDB4ZTAsMHgyMiB9fSwKLSB7MTYsIDB4YjFhMCwgMCwgezB4MzAsMHgwOCwweDg0LDB4MDIsMHhlMywweDAwLDB4YjgsMHhlMCwweDIyLDB4MTQsMHg4ZCwweDg4LDB4MDIsMHhlMywweDAwLDB4YjggfX0sCi0gezE2LCAweGIxYjAsIDAsIHsweDUwLDB4MmUsMHhhOCwweDhiLDB4ODAsMHgyMiwweGUzLDB4NDgsMHg4OCwweDUwLDB4MjIsMHgwMCwweDA4LDB4OGMsMHgwMiwweDBlIH19LAotIHsxNiwgMHhiMWMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHg5MSwweDAwLDB4MmEsMHg0OCB9fSwKLSB7MTYsIDB4YjFkMCwgMCwgezB4MDksMHgxNCwweDgyLDB4MDUsMHgyMCwweDgxLDB4MDgsMHgyMCwweDU4LDB4MDksMHgxMSwweDAyLDB4ODUsMHg4OCwweGIxLDB4NDAgfX0sCi0gezE2LCAweGIxZTAsIDAsIHsweGEwLDB4NDAsMHgwOCwweDEyLDB4MDIsMHhjNSwweDgwLDB4YTEsMHgwMCwweDI4LDB4NDAsMHgwYiwweDE4LDB4MDIsMHhjNCwweDg0IH19LAotIHsxNiwgMHhiMWYwLCAwLCB7MHhhMSwweDAwLDB4MjQsMHg1MCwweDA4LDB4MTAsMHg5MiwweDAzLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjIwMCwgMCwgezB4MTgsMHgxNSwweGFjLDB4MTAsMHg5YiwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDYsMHg4OSwweDA0LDB4MjAgfX0sCi0gezE2LCAweGIyMTAsIDAsIHsweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDIsMHgyMiwweDQxLDB4ODksMHhhMCwweDgyLDB4ZTAsMHhhMCwweGI5IH19LAotIHsxNiwgMHhiMjIwLCAwLCB7MHgyOCwweDJlLDB4NDQsMHgwYiwweGIwLDB4MDIsMHhlNCwweDAyLDB4YjksMHgwMCwweDI2LDB4NDAsMHgyOCwweDEwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4YjIzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwMCwweDM4LDB4NDAgfX0sCi0gezE2LCAweGIyNDAsIDAsIHsweDBkLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweGEwLDB4YTIsMHg0MCwweDhkLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhiMjUwLCAwLCB7MHgzNiwweDQwLDB4MGMsMHg4NCwweDEzLDB4ZTIsMHgwMCwweGU5LDB4MDAsMHgzYSwweDUwLDB4MGYsMHg5YywweDAyLDB4ZTYsMHg4NCB9fSwKLSB7MTYsIDB4YjI2MCwgMCwgezB4ZTksMHgwMCwweGI2LDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZTEsMHgwMCwweDNlLDB4NjgsMHgwZSwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjEsMHgyOCwweDNhIH19LAotIHsxNiwgMHhiMjgwLCAwLCB7MHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MiwweDBmLDB4ODAsMHgyMywweGUyLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YjI5MCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MSwweDIzLDB4ZTQsMHg0MCwweGMxLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDBiLDB4Y2EgfX0sCi0gezE2LCAweGIyYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhiMmIwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhhMCwweDIwLDB4YzgsMHg0MCwweDNlLDB4MDAsMHgwZSwweDgxLDB4NjMsMHg2MCwweDAwLDB4ZjAsMHgwNCB9fSwKLSB7MTYsIDB4YjJjMCwgMCwgezB4M2MsMHgwMSwweDBjLDB4ODQsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGMxLDB4MDAgfX0sCi0gezE2LCAweGIyZDAsIDAsIHsweGQ4LDB4MTAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDIzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMmUwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHg2MCwweDhlLDB4MDAsMHgyMiwweDgwLDB4MGEsMHhhMCwweDAyLDB4MzgsMHg4MCwweGJlLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YjJmMCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIzLDB4OTgsMHgxOCwweGVjLDB4MDIsMHhmOCwweDIwLDB4YWUgfX0sCi0gezE2LCAweGIzMDAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDBiLDB4ZTQsMHg4MiwweGU4LDB4MDIsMHhjZSwweDQ0LDB4MjgsMHg4MCwweDBkLDB4YTAsMHgwYSwweDBhIH19LAotIHsxNiwgMHhiMzEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQwLDB4MDAsMHg4MiwweDA0LDB4YTAsMHhjMCB9fSwKLSB7MTYsIDB4YjMyMCwgMCwgezB4MDksMHgzMCwweDAyLDB4OGUsMHgwNCwweDgzLDB4NTAsMHg2YywweGMwLDB4MGEsMHgzMCwweDg2LDB4MGMsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGIzMzAsIDAsIHsweDI4LDB4MzAsMHgwYSwweDM2LDB4MTIsMHhjYywweDgwLDB4ODEsMHgwMCwweDI0LDB4YzAsMHgwYiwweDMyLDB4MDYsMHhjYywweDAwIH19LAotIHsxNiwgMHhiMzQwLCAwLCB7MHg4MCwweDg4LDB4NjQsMHg2MCwweDI4LDB4MTAsMHgwMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjM1MCwgMCwgezB4YTAsMHgwMSwweDEwLDB4MTIsMHg4NCwweDQwLDB4MjEsMHhjOCwweDBhLDB4NzIsMHgwMiwweDEwLDB4MDAsMHhiNywweDAwLDB4MmQgfX0sCi0gezE2LCAweGIzNjAsIDAsIHsweGNjLDB4MDgsMHgzOCwweDEyLDB4MWMsMHgwMCwweGIzLDB4MzAsMHgyMCwweDAwLDB4MDgsMHg3MSwweDgyLDB4ZmUsMHgwMCwweGE0IH19LAotIHsxNiwgMHhiMzcwLCAwLCB7MHg4MCwweDIxLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhkYywweDAxLDB4ODcsMHgwMCwweDJjLDB4NDIsMHgwOSwweDUxLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YjM4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4YzIsMHg4MCwweDMxLDB4ZjggfX0sCi0gezE2LCAweGIzOTAsIDAsIHsweDRjLDB4ZmMsMHgxMywweDkyLDB4MDksMHhjNywweDgwLDB4M2MsMHhlZCwweDFlLDB4NzgsMHgyNywweDFlLDB4MDAsMHhmNywweDhjIH19LAotIHsxNiwgMHhiM2EwLCAwLCB7MHg3OSwweDIwLDB4MDgsMHg3YSwweDAzLDB4ZGUsMHg4MSwweDg0LDB4ODAsMHgzZCwweGUwLDB4MGUsMHg3OCwweDAzLDB4ZmUsMHgyMCB9fSwKLSB7MTYsIDB4YjNiMCwgMCwgezB4YzUsMHg4MSwweDM1LDB4NjAsMHgyYywweDU4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzYzAsIDAsIHsweDA4LDB4MWQsMHg4MCwweDAwLDB4ZjgsMHgwNCwweDNlLDB4ZDAsMHgwZiwweGIwLDB4MTMsMHhlMCwweDAwLDB4ZmIsMHgwMiwweDNhIH19LAotIHsxNiwgMHhiM2QwLCAwLCB7MHhkMCwweDBmLDB4YTAsMHgwYiwweGFjLDB4NDAsMHhmYiwweDAwLDB4M2EsMHgwMCwweDJmLDB4YjAsMHgwMywweGNjLDB4MDAsMHhmMCB9fSwKLSB7MTYsIDB4YjNlMCwgMCwgezB4MDAsMHgzYSwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZmMsMHg0MSwweGYzLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg1MCwweDkzLDB4YzIgfX0sCi0gezE2LCAweGIzZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNjLDB4ODEsMHgzZiwweGZjIH19LAotIHsxNiwgMHhiNDAwLCAwLCB7MHgxYywweGY4LDB4MDMsMHg3NiwweDQwLDB4ZWYsMHg5MiwweDNmLDB4ZTQsMHg4YywweGY4LDB4MDMsMHhiZiwweDEwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4YjQxMCwgMCwgezB4YjMsMHgyMCwweDBlLDB4ZjksMHgxMywweGZlLDB4MjQsMHhmZCwweDk0LDB4MzcsMHhlMCwweDFjLDB4ZjksMHgwMywweGVlLDB4MDAgfX0sCi0gezE2LCAweGI0MjAsIDAsIHsweGNkLDB4ODAsMHhiMywweGUwLDB4MGMsMHg1OCwweDAyLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNDMwLCAwLCB7MHhhOCwweDExLDB4OTQsMHg0MCwweDgwLDB4MDAsMHgyZiwweGM0LDB4MDgsMHg3MiwweDAyLDB4ZGQsMHgwOCwweGQ3LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YjQ0MCwgMCwgezB4Y2MsMHgwOCwweGRlLDB4MDMsMHg1YywweDAwLDB4YjcsMHgwNCwweDIxLDB4ODAsMHhjOCwweDcwLDB4ODMsMHhkYywweDAwLDB4YjQgfX0sCi0gezE2LCAweGI0NTAsIDAsIHsweGEwLDB4MmYsMHhjMCwweDBjLDB4NzAsMHgwMiwweGRlLDB4ODAsMHg4NywweDAwLDB4MjEsMHhjMiwweDBhLDB4NTEsMHg0MiwweDJhIH19LAotIHsxNiwgMHhiNDYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHg4NCwweDAwLDB4MmQsMHhjOCB9fSwKLSB7MTYsIDB4YjQ3MCwgMCwgezB4NDgsMHg3MCwweDAyLDB4NTQsMHgwYywweGE3LDB4MDAsMHgyYywweGMwLDB4ODksMHg3MiwweDAyLDB4NWMsMHgwMCwweGIzLDB4MTAgfX0sCi0gezE2LCAweGI0ODAsIDAsIHsweDIwLDB4MDAsMHgwYSwweDcwLDB4MDYsMHhkYywweDAwLDB4YjQsMHgyMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwIH19LAotIHsxNiwgMHhiNDkwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4NTAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjRhMCwgMCwgezB4MjAsMHgxNCwweGMwLDB4MDAsMHg4MCwweDAwLDB4MmUsMHhjMCwweDA4LDB4MzAsMHgwMiwweGM0LDB4MDgsMHhhMiwweDQyLDB4MmMgfX0sCi0gezE2LCAweGI0YjAsIDAsIHsweGMxLDB4MDksMHgyMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgzYywweDIyLDB4OGMsMHgyMCwweGIwIH19LAotIHsxNiwgMHhiNGMwLCAwLCB7MHgwOCwweDJlLDB4ZTAsMHgwOCwweDM4LDB4MTAsMHhjZiwweDBhLDB4OTMsMHg0MCwweGEwLDB4ZjAsMHgwYSwweDEwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YjRkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhOCwweDAwLDB4YzEsMHgwMCwweDNmLDB4YzAgfX0sCi0gezE2LCAweGI0ZTAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDY4LDB4MDAsMHhhYSwweDAwLDB4M2YsMHhjMCwweDJkLDB4ODAsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwIH19LAotIHsxNiwgMHhiNGYwLCAwLCB7MHgzMiwweDAwLDB4MGUsMHhiMCwweDEyLDB4ZWQsMHgyNCwweGZhLDB4MDgsMHgyNywweGM4LDB4MTAsMHhiOCwweGEyLDB4ZmYsMHg2MCB9fSwKLSB7MTYsIDB4YjUwMCwgMCwgezB4OTgsMHhhMCwweGEyLDB4ZTAsMHgwYywweDUwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1MTAsIDAsIHsweDgwLDB4MDAsMHhjOSwweDA2LDB4ZjgsMHg0MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlOSwweDEwLDB4NWEsMHgyMCwweDNlIH19LAotIHsxNiwgMHhiNTIwLCAwLCB7MHhjMCwweDBlLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmMywweDAwLDB4N2UsMHgwMSwweDBmLDB4YjAsMHg5MywweGVkLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4YjUzMCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGUzLDB4MDgsMHgzYywweGMyLDB4MGYsMHhkMCwweDEzLDB4ZTAgfX0sCi0gezE2LCAweGI1NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjMsMHgwMiwweGNjLDB4MDAsMHgzYiwweGMyIH19LAotIHsxNiwgMHhiNTUwLCAwLCB7MHgwYywweGYwLDB4MjMsMHhhZSwweDQwLDB4ZGYsMHg4MSwweDM5LDB4YzAsMHgwNiwweGQwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNCB9fSwKLSB7MTYsIDB4YjU2MCwgMCwgezB4MzEsMHg0MSwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjYywweGEwLDB4MzcsMHhjMiwweDBjLDB4ZjAsMHgwMywweDdjLDB4MDQgfX0sCi0gezE2LCAweGI1NzAsIDAsIHsweGNkLDB4MDAsMHgzMywweGYwLDB4MGMsMHhkMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTgwLCAwLCB7MHg4MSwweDA0LDB4NjAsMHgwMCwweDg4LDB4ODAsMHgyMiwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTksMHgwMCwweGFiLDB4NDQsMHgyZSB9fSwKLSB7MTYsIDB4YjU5MCwgMCwgezB4YzAsMHgwOCwweDg4LDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCwweGEyLDB4NzAsMHgwYSwweGI0LDB4MDIsMHhjYywweDAwLDB4YTAgfX0sCi0gezE2LCAweGI1YTAsIDAsIHsweDIwLDB4MjIsMHhjMCwweDBmLDB4YmMsMHgwMiwweGNjLDB4MGEsMHg4YiwweDgwLDB4YTIsMHhjMCwweDBkLDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhiNWIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIwLDB4MDAsMHg4OSwweDgwLDB4MmEsMHhjMCB9fSwKLSB7MTYsIDB4YjVjMCwgMCwgezB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwNiwweDg4LDB4NjAsMHgyZSwweGMwLDB4MGEsMHg5OCwweDA2LDB4ZWMsMHgwMSwweGJiLDB4MDAgfX0sCi0gezE2LCAweGI1ZDAsIDAsIHsweDIyLDB4MzEsMHgwMiwweGIyLDB4MDIsMHhlYywweGEwLDB4OGEsMHgwMCwweDI2LDB4YzAsMHg0OCwweGE4LDB4MDIsMHhlYywweDA0IH19LAotIHsxNiwgMHhiNWUwLCAwLCB7MHhhOSwweDgwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjVmMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MCwweDAxLDB4MmMgfX0sCi0gezE2LCAweGI2MDAsIDAsIHsweGMwLDB4MWEsMHgxMiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweDAwLDB4NGEsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEwIH19LAotIHsxNiwgMHhiNjEwLCAwLCB7MHgwMCwweDA4LDB4YzAsMHgwYiwweDIwLDB4MDYsMHhlYywweGEwLDB4YTMsMHgwMCwweGEwLDB4NDAsMHgyOSwweDEwLDB4MDAsMHgwMiB9fSwKLSB7MTYsIDB4YjYyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4YzgsMHg1MCwweDNiLDB4YzAgfX0sCi0gezE2LCAweGI2MzAsIDAsIHsweDBjLDB4YjAsMHgwMywweGFjLDB4MDAsMHhjOSwweDAwLDB4M2IsMHhjMCwweDBlLDB4OTIsMHg4MywweGZjLDB4MDAsMHhiZiwweDAwIH19LAotIHsxNiwgMHhiNjQwLCAwLCB7MHgxMiwweDAwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweDg4LDB4MjYsMHgxNiwweGMwLDB4MGMsMHg4MCwweDE3LDB4NWMsMHg4MCB9fSwKLSB7MTYsIDB4YjY1MCwgMCwgezB4ZTksMHgwMSwweDMyLDB4NDAsMHgyYywweGQwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2NjAsIDAsIHsweGEwLDB4MWQsMHhkMCwweDAwLDB4ZmMsMHgyMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhiNjcwLCAwLCB7MHhjMCwweDBkLDB4ODAsMHgwMywweGZjLDB4MDgsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MTAsMHhmOCB9fSwKLSB7MTYsIDB4YjY4MCwgMCwgezB4NDAsMHgzNywweGMwLDB4MGUsMHhlMCwweDIxLDB4ZmMsMHgwOCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGI2OTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhjMCwweGZmLDB4MjEsMHg3MSwweDI0IH19LAotIHsxNiwgMHhiNmEwLCAwLCB7MHgwZiwweGYxLDB4ODMsMHhmMiwweDQwLDB4ZmYsMHgwMCwweDM3LDB4YzQsMHg5ZiwweGYyLDB4NDcsMHgzZCwweDA0LDB4YzcsMHgyMCB9fSwKLSB7MTYsIDB4YjZiMCwgMCwgezB4MzMsMHhjMCwweDBjLDB4NzgsMHgyMywweGZlLDB4NDAsMHhlOCwweDEwLDB4MjcsMHhjNCwweDBmLDB4ZjIsMHgxMywweDNjLDB4ODQgfX0sCi0gezE2LCAweGI2YzAsIDAsIHsweGM0LDB4ODEsMHgzMywweDIwLDB4NGMsMHhmMCwweDIzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNmQwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHg0MCwweGJmLDB4NTQsMHg2MiwweGM4LDB4MGIsMHhmNiwweDAyLDB4ZTAsMHgwMCwweGJiLDB4ZDAsMHgyMiB9fSwKLSB7MTYsIDB4YjZlMCwgMCwgezB4ZjAsMHgxZiwweGY5LDB4MTIsMHgzZCwweDgwLDB4OWYsMHg4MSwweDJiLDB4ZTAsMHgwYSwweGI4LDB4MTIsMHhlOCwweDAwLDB4OGYgfX0sCi0gezE2LCAweGI2ZjAsIDAsIHsweDA0LDB4MjIsMHhkMCwweDA4LDB4YjMsMHg4YSwweGJmLDB4NDIsMHg4YiwweDgyLDB4MjIsMHhlMCwweDI4LDB4OGMsMHgwMiwweDIwIH19LAotIHsxNiwgMHhiNzAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDI4LDB4MjgsMHgwOCB9fSwKLSB7MTYsIDB4YjcxMCwgMCwgezB4MGIsMHgzMCwweDA2LDB4ODAsMHg4MCwweGIzLDB4MDIsMHgyNCwweGQxLDB4MGIsMHgzMCwweDAyLDB4OGQsMHg4MCwweDkzLDB4MTAgfX0sCi0gezE2LCAweGI3MjAsIDAsIHsweDIwLDB4Y2UsMHg4YiwweDMwLDB4MDIsMHhjYywweDg0LDB4YTEsMHgyMSwweDJjLDB4Y2MsMHgwYSwweDMwLDB4MGEsMHg0YywweDAwIH19LAotIHsxNiwgMHhiNzMwLCAwLCB7MHg5MywweDAwLDB4MjgsMHhjMCwweDA4LDB4M2MsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjc0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHhiYiwweDAyLDB4NmEsMHhlMCwweDBiLDB4YjAsMHgwMiwweGUxLDB4MDgsMHhiYiwweDA0LDB4MmEgfX0sCi0gezE2LCAweGI3NTAsIDAsIHsweGMwLDB4MGEsMHhiMCwweDEyLDB4OGMsMHgwMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MGIsMHhiMSwweDA2LDB4YzgsMHg4MCwweDhiIH19LAotIHsxNiwgMHhiNzYwLCAwLCB7MHg4MiwweDZhLDB4YzEsMHgwYSwweDMwLDB4MDIsMHhhYywweDE4LDB4ODgsMHgxMCwweDJhLDB4NDgsMHgwOCwweDgwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4Yjc3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZmIsMHgwMCwweGFhLDB4MzAgfX0sCi0gezE2LCAweGI3ODAsIDAsIHsweDBmLDB4YjAsMHgwMywweGE4LDB4MDAsMHhmMywweDAxLDB4YjYsMHhjMSwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDgsMHg0YiwweDAwIH19LAotIHsxNiwgMHhiNzkwLCAwLCB7MHhiMiwweGMwLDB4MGYsMHhiOCwweDAyLDB4ZWMsMHgxMCwweGE5LDB4ODEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4YjdhMCwgMCwgezB4Y2IsMHhhMCwweDE4LDB4ZDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3YjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDA4LDB4ZjcsMHgwMCwweDM3LDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmZCwweDAwLDB4ZmYsMHgwMCwweDM3IH19LAotIHsxNiwgMHhiN2MwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHgwNywweDdjLDB4MDAsMHhlNywweDAwLDB4M2UsMHhjMCwweDBhLDB4ZjAsMHgwMywweGZlLDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4YjdkMCwgMCwgezB4MDAsMHgzNiwweGMwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4ODAsMHgzNywweGUwLDB4MGYsMHhhMCwweDAzLDB4YjggfX0sCi0gezE2LCAweGI3ZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDAwIH19LAotIHsxNiwgMHhiN2YwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHg2OSwweDAwLDB4ZGIsMHgwOSwweDNhLDB4YzAsMHgxZiwweDMwLDB4MjMsMHhlYywweDA4LDB4Y2IsMHgyMCB9fSwKLSB7MTYsIDB4YjgwMCwgMCwgezB4MzQsMHhjMCwweDJmLDB4YjAsMHgwMywweGVjLDB4NDAsMHhlYiwweDQ4LDB4M2UsMHhjNCwweDRkLDB4YjAsMHg4YiwweDZjLDB4MDAgfX0sCi0gezE2LCAweGI4MTAsIDAsIHsweGNiLDB4MDAsMHgzMiwweDkwLDB4MGYsMHgzMCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiODIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHgyMiwweDAwLDB4NDgsMHhmMCwweDIyLDB4MmMsMHgwMCwweDhmLDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4YjgzMCwgMCwgezB4ZTAsMHg4YiwweGY1LDB4MTAsMHgzYywweDAwLDB4OGYsMHg4MCwweDIzLDB4ZjAsMHg4MCwweDk4LDB4MDMsMHgyZCwweDQ0LDB4ZGIgfX0sCi0gezE2LCAweGI4NDAsIDAsIHsweDAwLDB4MjMsMHhkNCwweDA4LDB4ZjgsMHgwMiwweDNjLDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMCwweDBiLDB4YTQsMHg4MiwweDMyIH19LAotIHsxNiwgMHhiODUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg5MywweDAwLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4Yjg2MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4ODQsMHgwMCwweGIzLDB4MDEsMHgyOCwweGY2LDB4MDksMHgzNCwweDMyLDB4OGMsMHgwMSwweGIzLDB4ZDAgfX0sCi0gezE2LCAweGI4NzAsIDAsIHsweDI0LDB4ZTgsMHgwYSwweDMxLDB4MGEsMHg4NiwweDAwLDB4ODMsMHgwMCwweDJhLDB4ZTAsMHgwMCwweDMwLDB4MDIsMHg4YywweDAwIH19LAotIHsxNiwgMHhiODgwLCAwLCB7MHg4MywweDAwLDB4MjgsMHhjMCwweDg5LDB4MzgsMHhhMiwweDc4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjg5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHg5NywweDk0LDB4MjMsMHhlMCwweDA5LDB4MzgsMHgwMiwweDMyLDB4MDAsMHg5NywweGExLDB4MjEgfX0sCi0gezE2LCAweGI4YTAsIDAsIHsweGU0LDB4MGIsMHg3OCwweDAyLDB4MWUsMHg0MCwweGI3LDB4YTAsMHgyNSwweGVjLDB4MDgsMHhmYywweDAyLDB4M2EsMHgwMCwweDkzIH19LAotIHsxNiwgMHhiOGIwLCAwLCB7MHhiOCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4ODIsMHg5ZSwweDQwLDB4ODcsMHhjMCwweDI5LDB4YTAsMHgwYiwweDU4LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4YjhjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDAwLDB4ZGIsMHgwMCwweDM0LDB4MjAgfX0sCi0gezE2LCAweGI4ZDAsIDAsIHsweDBmLDB4M2EsMHgwMywweDhlLDB4MDAsMHhmMywweGIwLDB4MjgsMHhjNCwweDBiLDB4M2EsMHgwMywweGFlLDB4NDAsMHhmMywweGEwIH19LAotIHsxNiwgMHhiOGUwLCAwLCB7MHgzNCwweGVlLDB4MGYsMHgzMCwweDIzLDB4ODQsMHgwMCwweGUzLDB4ZjAsMHgzOCwweGMwLDB4MGMsMHhiMCwweDBiLDB4OGUsMHg0MiB9fSwKLSB7MTYsIDB4YjhmMCwgMCwgezB4YzMsMHgwMCwweDM4LDB4YzAsMHgwZiwweDMwLDB4NjMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5MDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZWIsMHg0MiwweDNhLDB4YzQsMHgxZSwweGIxLDB4MDcsMHg4OCwweGQxLDB4ZTMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhiOTEwLCAwLCB7MHhjNSwweDhmLDB4ZjEsMHg2MywweGFjLDB4MTAsMHhjYiwweDUwLDB4M2IsMHhjMywweDBmLDB4ZDEsMHgwMywweGM4LDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YjkyMCwgMCwgezB4MjAsMHgzYiwweGMwLDB4MmUsMHhmMSwweDAzLDB4MWMsMHgwMCwweGZmLDB4MDAsMHgzNywweGMwLDB4NGYsMHhkMSwweDAzLDB4OTAgfX0sCi0gezE2LCAweGI5MzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGZiLDB4NDQsMHhiMiwweGMwIH19LAotIHsxNiwgMHhiOTQwLCAwLCB7MHg0ZiwweGIzLDB4NDMsMHgyNCwweDAwLDB4ZGIsMHgxMCwweDM2LDB4YzAsMHg0YywweGJlLDB4MjIsMHg2ZCwweDIwLDB4Y2IsMHg1MCB9fSwKLSB7MTYsIDB4Yjk1MCwgMCwgezB4M2UsMHhjOSwweDRjLDB4YjAsMHgxMywweDI0LDB4MDAsMHhjZiwweDIwLDB4MzMsMHhjMCwweDNkLDB4ZjAsMHgyMywweDJjLDB4YzAgfX0sCi0gezE2LCAweGI5NjAsIDAsIHsweGQ4LDB4MDAsMHgzZSwweDQwLDB4OGYsMHgzMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwNCwweGI3LDB4NjAsMHgyMSwweGMxLDB4OGIsMHhmMCwweGEyLDB4MTQsMHgxMCwweDg3LDB4MDAsMHgwZiB9fSwKLSB7MTYsIDB4Yjk4MCwgMCwgezB4YzgsMHgwZCwweDcxLDB4MGEsMHgxZCwweDAwLDB4ODcsMHgwMCwweDJjLDB4Y2MsMHg0OCwweDcwLDB4MmEsMHg5YywweDAwLDB4ODcgfX0sCi0gezE2LCAweGI5OTAsIDAsIHsweDBjLDB4MjEsMHhjMCwweDBjLDB4NzIsMHgwMiwweDBjLDB4YTIsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhiOWEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiMywweDgwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4YjliMCwgMCwgezB4MGIsMHg3YSwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODEsMHgwNSwweGU0LDB4MDgsMHg3OSwweDAyLDB4NWMsMHg4MCwweDg3LDB4YTAgfX0sCi0gezE2LCAweGI5YzAsIDAsIHsweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDYsMHhiNiwweDAwLDB4ODcsMHg4MCwweDIwLDB4ZTQsMHgwYSwweDdiLDB4MTIsMHgxZSwweDkwIH19LAotIHsxNiwgMHhiOWQwLCAwLCB7MHg5NywweDg4LDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwZSwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjllMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkMCwweDBiLDB4YjAsMHgwMiwweDZlLDB4MzQsMHhhMywweDAwLDB4MmMgfX0sCi0gezE2LCAweGI5ZjAsIDAsIHsweGMxLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4NDgsMHgxMCwweDAyLDB4OGQsMHg4MCwweDgzIH19LAotIHsxNiwgMHhiYTAwLCAwLCB7MHhjMCwweDAwLDB4YzAsMHg4YSwweDMwLDB4MTIsMHgwYywweDAwLDB4ODAsMHgwMCwweDJjLDB4MTYsMHgwYiwweDM4LDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YmExMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDMzLDB4ODggfX0sCi0gezE2LCAweGJhMjAsIDAsIHsweDBmLDB4YTAsMHgwMywweDc5LDB4OTAsMHhmYSwweDAxLDB4MzYsMHg4MCwweDFjLDB4YTAsMHgwMywweDY4LDB4MDAsMHhjYSwweDAwIH19LAotIHsxNiwgMHhiYTMwLCAwLCB7MHgzZSwweDgxLDB4MmMsMHhhMCwweDBiLDB4YjksMHgwYywweGNlLDB4ZTIsMHhiMiwweDgwLDB4OGUsMHhhMCwweDBiLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4YmE0MCwgMCwgezB4ZGEsMHg4MCwweDNjLDB4YjAsMHgwZiwweGUwLDB4ODMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDAwLDB4YzgsMHgwMCwweDJlIH19LAotIHsxNiwgMHhiYTYwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgyMywweGEwLDB4MDAsMHhmMCwweDQwLDB4M2UsMHgxMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDIsMHhmOCB9fSwKLSB7MTYsIDB4YmE3MCwgMCwgezB4NDgsMHgzZSwweDEwLDB4MGMsMHg4MCwweDAzLDB4YzAsMHgxMCwweGY4LDB4ODAsMHgzZSwweDAwLDB4MGYsMHgwMCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGJhODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDQyIH19LAotIHsxNiwgMHhiYTkwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyNCwweDE4LDB4ZjksMHgxMCwweDNjLDB4NDgsMHg2OCwweDkyLDB4MTMsMHhlNCwweDAwLDB4YTksMHgxMSB9fSwKLSB7MTYsIDB4YmFhMCwgMCwgezB4YjIsMHg2MCwweDBlLDB4OTEsMHgwMywweDI2LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg2MCwweDBjLDB4MTAsMHgwMywweDI0LDB4MDggfX0sCi0gezE2LCAweGJhYjAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDIzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYWMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwOCwweDg5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YmFkMCwgMCwgezB4NDIsMHg0OCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ODksMHg4MCwweDIyLDB4NzAsMHgwOCwweDE0LDB4MjIsMHhhNCwweDAyLDB4ODkgfX0sCi0gezE2LCAweGJhZTAsIDAsIHsweDQyLDB4MmEsMHg3MCwweDI4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgwMiwweGEwIH19LAotIHsxNiwgMHhiYWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg5OSwweDAwLDB4MjYsMHhjMCB9fSwKLSB7MTYsIDB4YmIwMCwgMCwgezB4MDMsMHg5MCwweDAyLDB4MjQsMHgwMSwweGE5LDB4MDAsMHgwZSwweDQwLDB4MGEsMHg5MCwweDQ2LDB4YzQsMHgwYSwweDg5LDB4MDAgfX0sCi0gezE2LCAweGJiMTAsIDAsIHsweDIwLDB4NDgsMHgwYSwweDkwLDB4MDIsMHgwNSwweDgwLDB4ODEsMHg0MSwweGEwLDB4NTgsMHg4OCwweDkwLDB4MDIsMHgyNCwweDA4IH19LAotIHsxNiwgMHhiYjIwLCAwLCB7MHg4ZCwweDgwLDB4MmYsMHhjMCwweDA4LDB4OTgsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmIzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0MCwweDBiLDB4MTIsMHgwMiwweDg0LDB4MDAsMHg4MSwweDI0LDB4MmMgfX0sCi0gezE2LCAweGJiNDAsIDAsIHsweDU4LDB4MGEsMHgzMiwweDIyLDB4YzUsMHg4NCwweGExLDB4MDAsMHgyMCwweDUwLDB4MDgsMHhiMCwweDAyLDB4ODUsMHgwOCwweDgxIH19LAotIHsxNiwgMHhiYjUwLCAwLCB7MHg0MCwweDIwLDB4NWEsMHgwOCwweDE2LDB4ODIsMHgwNCwweDAwLDB4YTUsMHgwMCwweDJkLDB4NDAsMHgwOCwweDEyLDB4ODIsMHg4MiB9fSwKLSB7MTYsIDB4YmI2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDM2LDB4MTQgfX0sCi0gezE2LCAweGJiNzAsIDAsIHsweDBmLDB4ODUsMHgyMywweDAxLDB4NDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHg0MywweGMwLDB4MDgsMHhjYSwweDAwIH19LAotIHsxNiwgMHhiYjgwLCAwLCB7MHgzMiwweDgwLDB4MGUsMHg4MCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDAsMHgzMiwweDA4LDB4MmMsMHgwMiwweDAzLDB4MjAsMHgwOCB9fSwKLSB7MTYsIDB4YmI5MCwgMCwgezB4YzgsMHgwMCwweDNmLDB4MDAsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweDkxLDB4NDMsMHhmNCwweDA0LDB4ZjksMHgxMCwweDNlIH19LAotIHsxNiwgMHhiYmIwLCAwLCB7MHg0NCwweDBkLDB4MTEsMHgwMywweGU0LDB4NDQsMHg1OSwweDQwLDB4M2UsMHg1MCwweDRmLDB4NTAsMHg0MywweGQ0LDB4MDIsMHhmZCB9fSwKLSB7MTYsIDB4YmJjMCwgMCwgezB4NDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGJiZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4NjYsMHg2MCwweGM5LDB4ZTAsMHgzMiwweDQ0IH19LAotIHsxNiwgMHhiYmUwLCAwLCB7MHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZGQsMHg4NCwweDNmLDB4NjgsMHg4ZiwweGQ4LDB4NDIsMHhlNiwweGEwLDB4ZGQsMHhhNCB9fSwKLSB7MTYsIDB4YmJmMCwgMCwgezB4MzMsMHg2OCwweDBkLDB4NzAsMHgwMywweDI1LDB4MDAsMHhjOSwweGUwLDB4YjIsMHg2OCwweDBjLDB4OWEsMHhjMywweDI2LDB4MDAgfX0sCi0gezE2LCAweGJjMDAsIDAsIHsweDk5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYzEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHgwMCwweDg4LDB4ODAsMHhhYSwweDIwLDB4OGIsMHg4OCwweDAyLDB4ZTIsMHg4OCwweGI4LDB4MDEsMHgyZSB9fSwKLSB7MTYsIDB4YmMyMCwgMCwgezB4MDAsMHgwYiwweDg0LDB4MDIsMHhlMiwweGIwLDB4ODgsMHg1MCwweDIyLDB4MTQsMHgwOCwweDgwLDB4MDIsMHg4MiwweDgwLDB4ODggfX0sCi0gezE2LCAweGJjMzAsIDAsIHsweGUwLDB4YjYsMHgzYSwweDA4LDB4Y2UsMHhhMiwweDIxLDB4MDgsMHg4OCwweDAwLDB4MmUsMHgwMCwweDBiLDB4YzQsMHgwMiwweDBlIH19LAotIHsxNiwgMHhiYzQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDYwLDB4NjgsMHg0OCB9fSwKLSB7MTYsIDB4YmM1MCwgMCwgezB4NWIsMHgxNiwweDAyLDB4YzQsMHgyMCwweGExLDB4NDAsMHg2YywweDUwLDB4MGIsMHgxNCwweDAyLDB4YzQsMHgwMCwweGExLDB4MDAgfX0sCi0gezE2LCAweGJjNjAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDkwLDB4MjIsMHgxNCwweDkwLDB4ODUsMHg0MiwweDIxLDB4NTAsMHg1YiwweDUwLDB4MWEsMHgxNSwweDAwIH19LAotIHsxNiwgMHhiYzcwLCAwLCB7MHg5NSwweDAwLDB4MmQsMHg0MCwweDBiLDB4NTEsMHgwYSwweDgyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmM4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHg0NiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MmUgfX0sCi0gezE2LCAweGJjOTAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDIwLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyNiwweDQwLDB4MTgsMHhiOCwweDAyLDB4YTQsMHgwMiwweDhkIH19LAotIHsxNiwgMHhiY2EwLCAwLCB7MHgwOCwweDJmLDB4NDAsMHg4YiwweGQwLDB4MDIsMHgyNCwweDAwLDB4OGQsMHgyMCwweDJmLDB4NDgsMHgwYiwweGQwLDB4MDIsMHg4NiB9fSwKLSB7MTYsIDB4YmNiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweGJjYzAsIDAsIHsweDBmLDB4OTAsMHgwMiwweGU0LDB4MTAsMHg0OSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhlOSwweDAxIH19LAotIHsxNiwgMHhiY2QwLCAwLCB7MHgzNiwweDQwLDB4MGYsMHgxOCwweDEzLDB4MjQsMHgxMCwweGM5LDB4ODIsMHgzMiwweDQwLDB4N2YsMHg5MCwweDIzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YmNlMCwgMCwgezB4ZDksMHgyMCwweDNlLDB4NzIsMHgwZiwweDkwLDB4MDMsMHhhOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjZjAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAyLDB4ZjEsMHgwMSwweDE2LDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNSwweDEwLDB4ZjksMHgwOCwweDJlIH19LAotIHsxNiwgMHhiZDAwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgxMywweGU0LDB4MDAsMHhjOSwweDAxLDB4M2EsMHg0MCwweDFmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YmQxMCwgMCwgezB4MjAsMHgzNCwweDQwLDB4OGMsMHg5MCwweDAzLDB4YzQsMHgwOCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHgxMCwweDAzLDB4NGEgfX0sCi0gezE2LCAweGJkMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGY4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiZDMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDIsMHg0ZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQ0MCwgMCwgezB4M2UsMHgwMCwweDBlLDB4ODEsMHgwMywweDMwLDB4MDAsMHhjYywweDQwLDB4MzMsMHgwMCwweDBjLDB4YzAsMHgwYiwweDIwLDB4MjAgfX0sCi0gezE2LCAweGJkNTAsIDAsIHsweGU4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHhjMCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZDYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweGJhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJlLDB4YzgsMHg2ZiB9fSwKLSB7MTYsIDB4YmQ3MCwgMCwgezB4ODAsMHgwYiwweGUxLDB4MjIsMHhhOCwweDAwLDB4OGUsMHgyMCwweDJmLDB4ODAsMHgwYiwweGUwLDB4MjMsMHg2OCwweDAwLDB4OGEgfX0sCi0gezE2LCAweGJkODAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDI5LDB4MDAsMHg4YSwweDAwLDB4MmUsMHhhOCwweDBiLDB4YTAsMHgwMCwweGNhIH19LAotIHsxNiwgMHhiZDkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4YmRhMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4YzEsMHgyYywweGUwLDB4MGIsMHgzOCwweDU2LDB4MmMsMHgxMCwweDEzLDB4MDAgfX0sCi0gezE2LCAweGJkYjAsIDAsIHsweDJlLDB4YzAsMHgwYSwweDM4LDB4NmEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIwLDB4MDAsMHgwOSwweDgwLDB4MjIsMHg0YywweDQyIH19LAotIHsxNiwgMHhiZGMwLCAwLCB7MHhhMywweDAwLDB4MmMsMHhlMCwweDBiLDB4MjQsMHg4MCwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmRkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDgsMHhiNywweDI0LDB4MmYsMHhlMCwweDA5LDB4MzksMHgwMiwweDFjLDB4MDEsMHhiNiwweDAwLDB4MmQgfX0sCi0gezE2LCAweGJkZTAsIDAsIHsweDkwLDB4MGIsMHg2MCwweDkyLDB4OGUsMHgwMCwweDg2LDB4ODIsMHgyZCwweGMyLDB4MGIsMHhmMCwweDAyLDB4NWMsMHgwNiwweDg3IH19LAotIHsxNiwgMHhiZGYwLCAwLCB7MHgwMCwweDYwLDB4YzAsMHgyOSwweDcwLDB4MDIsMHg1YywweDAwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4YmUwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDQwLDB4ZjMsMHhlNCwweDNkLDB4ZTggfX0sCi0gezE2LCAweGJlMTAsIDAsIHsweDBkLDB4NzksMHgwYiwweDFlLDB4YzAsMHg2NywweDgwLDB4MmQsMHhlMCwweDBmLDB4NzAsMHg0MywweDFkLDB4ODAsMHhkNSwweDAwIH19LAotIHsxNiwgMHhiZTIwLCAwLCB7MHgzZCwweDYwLDB4MGUsMHg3OCwweDAzLDB4MWUsMHgwMCwweGNkLDB4ODAsMHgzMSwweGUwLDB4MGQsMHhjOCwweDAzLDB4NGUsMHgwMCB9fSwKLSB7MTYsIDB4YmUzMCwgMCwgezB4ZTUsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDQ4LDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlNDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDgwLDB4ZmIsMHgwMCwweDcwLDB4YzAsMHg2ZSwweGI2LDB4MTMsMHhhZCwweDQwLDB4ZmEsMHgwMCwweDNlIH19LAotIHsxNiwgMHhiZTUwLCAwLCB7MHhjMCwweDBmLDB4MjAsMHg0MywweDJkLDB4MTgsMHg1OSwweDAwLDB4M2UsMHgwMCwweDAzLDB4YjAsMHgwYiwweGUwLDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4YmU2MCwgMCwgezB4MDAsMHhiZSwweDAwLDB4MGUsMHhiMCwweDEzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGJlNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg0MCwweGZmLDB4ODAsMHgzZiwweGU2IH19LAotIHsxNiwgMHhiZTgwLCAwLCB7MHgwZiwweGY4LDB4MjMsMHgyZSwweDA0LDB4ZmYsMHg5MCwweDNmLDB4ZTQsMHgwZCwweGJhLDB4MDMsMHhmZiwweDQwLDB4Y2YsMHg4MCB9fSwKLSB7MTYsIDB4YmU5MCwgMCwgezB4MjIsMHhlMSwweDBjLDB4MzksMHg0MywweDMyLDB4MTAsMHhlYywweDkwLDB4MzMsMHgyMCwweDhlLDB4YzgsMHgwMywweGYyLDB4MDAgfX0sCi0gezE2LCAweGJlYTAsIDAsIHsweGRmLDB4ODAsMHgzZiwweDYwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZWIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg0MCwweGI3LDB4OTAsMHgzYywweGUwLDB4MGIsMHgzYSwweDAzLDB4NGUsMHg4MCwweGYzLDB4YjEsMHgyZCB9fSwKLSB7MTYsIDB4YmVjMCwgMCwgezB4MDQsMHg0YywweDM4LDB4MjMsMHhhZSwweDAwLDB4ODAsMHg4MCwweDM0LDB4ZTgsMHg0ZCwweDc4LDB4MDIsMHgzZSwweDgwLDB4ODcgfX0sCi0gezE2LCAweGJlZDAsIDAsIHsweGEwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGMwLDB4ODAsMHg4NiwweDAyLDB4MmQsMHg0MSwweDBiLDB4NzAsMHgwMiwweGVhIH19LAotIHsxNiwgMHhiZWUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4NDgsMHgzNywweDAxLDB4MmQsMHhjOSB9fSwKLSB7MTYsIDB4YmVmMCwgMCwgezB4MGIsMHg3MiwweDIyLDB4MWMsMHg4NCwweGI1LDB4MTYsMHgwZCwweGM0LDB4MTksMHg0MCwweDQyLDB4ZGMsMHg4MCwweDg3LDB4MDAgfX0sCi0gezE2LCAweGJmMDAsIDAsIHsweDIwLDB4YzgsMHg4OCwweDczLDB4MGEsMHg5YywweDgwLDB4YjUsMHgwMCwweDI5LDB4YzAsMHgwYSwweDQ4LDB4MDIsMHhjMCwweDAyIH19LAotIHsxNiwgMHhiZjEwLCAwLCB7MHg5NSwweDAwLDB4MmQsMHg0MiwweDBiLDB4NTgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmYyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmEsMHhlMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MjAsMHhhMSwweDAxLDB4MjQgfX0sCi0gezE2LCAweGJmMzAsIDAsIHsweGMxLDB4MDgsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgxLDB4MDAsMHgyNCwweDgwLDB4MDksMHgzOCwweDBhLDB4NjAsMHg4MCwweDkyIH19LAotIHsxNiwgMHhiZjQwLCAwLCB7MHg0MCwweDJhLDB4MDAsMHgwYSwweDMwLDB4MDIsMHhjMCwweDAwLDB4ODAsMHhjOCwweDJjLDB4NzIsMHgwYiwweDE0LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YmY1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4ZjQgfX0sCi0gezE2LCAweGJmNjAsIDAsIHsweDhmLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MCwweDA5LDB4OTAsMHgwMywweGZjLDB4MDIsMHhjMywweDAxIH19LAotIHsxNiwgMHhiZjcwLCAwLCB7MHgzMiwweGMwLDB4NDgsMHhiOCwweDEzLDB4YTEsMHgwMCwweGJhLDB4MDAsMHgyYSwweDAwLDB4MGEsMHhhMCwweDA3LDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YmY4MCwgMCwgezB4ZGIsMHhjOCwweDNlLDB4OTAsMHgwZiwweGEyLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNlLDB4YzQsMHgwZiwweGIwLDB4NjMsMHhlYywweDAxLDB4ZjgsMHg0MCwweDNlIH19LAotIHsxNiwgMHhiZmEwLCAwLCB7MHg0MCwweDBiLDB4ODAsMHgwMywweGNjLDB4MDAsMHhmYSwweDQyLDB4M2UsMHhjMCwweDBmLDB4YjUsMHgwMCwweGFjLDB4NTgsMHhlOSB9fSwKLSB7MTYsIDB4YmZiMCwgMCwgezB4ODIsMHgzZSwweGMwLDB4MWQsMHg5MCwweDAzLDB4ZWMsMHgwNCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGJmYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwYywweGRmLDB4MDAsMHg3ZiwweGMwIH19LAotIHsxNiwgMHhiZmQwLCAwLCB7MHgyYywweGYwLDB4MDMsMHg3YywweDAxLDB4YzcsMHgwMCwweDMzLDB4NDAsMHg4ZiwweGQwLDB4MDMsMHhmYywweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YmZlMCwgMCwgezB4MTUsMHg0NCwweDBjLDB4ZTAsMHgxYiwweDNjLDB4MDAsMHhjYiwweDBlLDB4MzMsMHhjMCwweDVjLDB4NjIsMHgwMiwweDFjLDB4MDIgfX0sCi0gezE2LCAweGJmZjAsIDAsIHsweGM1LDB4MDAsMHgyYiwweDgwLDB4MGYsMHhjMCwweDg3LDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMDAwLCAwLCB7MHg4MSwweDQ0LDB4NmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDUyLDB4MGMsMHgwMSwweGZhLDB4YzQsMHgyMiB9fSwKLSB7MTYsIDB4YzAxMCwgMCwgezB4NjEsMHgwYiwweDg4LDB4MDMsMHg2YywweDAwLDB4ODgsMHg0NywweDJhLDB4MDAsMHgwZSwweDFjLDB4MDIsMHgyMCwweDAyLDB4ODggfX0sCi0gezE2LCAweGMwMjAsIDAsIHsweDAwLDB4YWEsMHgwMCwweDI4LDB4OTAsMHgwYSwweDJjLDB4MDQsMHhhOCwweDAwLDB4MjIsMHg5MCwweDBiLDB4ODAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhjMDMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMSB9fSwKLSB7MTYsIDB4YzA0MCwgMCwgezB4MDgsMHgzMCwweDEyLDB4NmMsMHgwMCwweDg4LDB4ODgsMHgyYSwweDMwLDB4MGIsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDliLDB4MDggfX0sCi0gezE2LCAweGMwNTAsIDAsIHsweDJhLDB4NDAsMHgwOCwweGI4LDB4MDIsMHgyMCwweDAwLDB4ODIsMHgxMCwweDIyLDB4MDAsMHgwOCwweGEwLDB4MjIsMHhhMCwweDAwIH19LAotIHsxNiwgMHhjMDYwLCAwLCB7MHg4YiwweDAwLDB4MmEsMHgwMiwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzA3MCwgMCwgezB4MDgsMHgwMCwweDBjLDB4MDAsMHhiMywweDIwLDB4MmMsMHhjMiwweDA4LDB4MzYsMHgwMiwweDJjLDB4YzAsMHhhMCwweDA4LDB4MjAgfX0sCi0gezE2LCAweGMwODAsIDAsIHsweDAwLDB4MGIsMHgzMywweDQ2LDB4Y2QsMHgyOCwweDgwLDB4MjAsMHgyOCwweGMwLDB4MGIsMHgzMiwweDAyLDB4MGMsMHgyMCwweDgxIH19LAotIHsxNiwgMHhjMDkwLCAwLCB7MHgzMCwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHg4MSwweDAwLDB4YWEsMHgwMCwweDI4LDB4MDAsMHgwMywweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YzBhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHg3YywweDAwLDB4ZmIsMHgyOCwweDJlLDB4Y2MgfX0sCi0gezE2LCAweGMwYjAsIDAsIHsweDBjLDB4NzAsMHg1MywweDdkLDB4MDksMHg4OCwweDAwLDB4YmEsMHgwMCwweDBmLDB4ODAsMHgwMywweGZkLDB4ODAsMHhkYSwweDYwIH19LAotIHsxNiwgMHhjMGMwLCAwLCB7MHgzYSwweDUwLDB4OGMsMHhhMiwweDgzLDB4MmMsMHg4MCwweDRiLDB4MjAsMHgzMCwweGMwLDB4MjgsMHhhMCwweDAzLDB4YTEsMHgwMCB9fSwKLSB7MTYsIDB4YzBkMCwgMCwgezB4YzksMHgwMCwweDNhLDB4MDAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmIsMHgwMCwweDdlLDB4YzksMHgwYiwweGI2LDB4MDMsMHhmYywweGMwLDB4ZjgsMHgwYywweDNmIH19LAotIHsxNiwgMHhjMGYwLCAwLCB7MHgwMCwweDRmLDB4YzMsMHg0MywweDJjLDB4MDAsMHhiOCwweDM4LDB4M2YsMHg4ZSwweDVlLDB4ZjAsMHg0MywweGUwLDB4MTAsMHhmOCB9fSwKLSB7MTYsIDB4YzEwMCwgMCwgezB4MzAsMHgzZiwweDAxLDB4MGYsMHhkMCwweDAzLDB4NzAsMHgwMCwweGZjLDB4MDAsMHgzNywweDAwLDB4MGQsMHhkMCwweDA3LDB4ZTkgfX0sCi0gezE2LCAweGMxMTAsIDAsIHsweDAzLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhlMCwweGNjLDB4ODAsMHgzMywweGMwIH19LAotIHsxNiwgMHhjMTIwLCAwLCB7MHgwZCwweGYwLDB4ODMsMHhmYywweDgwLDB4ZGMsMHg5NCwweDMzLDB4YzAsMHgxYywweGYxLDB4MDMsMHg3ZCwweDhjLDB4ZmYsMHgzMCB9fSwKLSB7MTYsIDB4YzEzMCwgMCwgezB4M2YsMHgzMCwweDhmLDB4YzgsMHgwMywweDdlLDB4MTAsMHhjZiwweDkwLDB4MzksMHhhMCwweDhkLDB4ZjgsMHgwMywweGFlLDB4MDAgfX0sCi0gezE2LCAweGMxNDAsIDAsIHsweGQ1LDB4ODAsMHgxMywweGUwLDB4MGMsMHg1OCwweDAzLDB4ZjAsMHgwMSwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMTUwLCAwLCB7MHg4MCwweDEwLDB4ZGQsMHgwOCwweDg4LDB4MDAsMHgyMywweGM0LDB4MDgsMHhmYywweDAyLDB4ZWMsMHhhOCwweGNiLDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4YzE2MCwgMCwgezB4YzIsMHgwZCwweGY3LDB4MTIsMHgxYywweDQwLDB4ZGYsMHgzMCwweDIyLDB4YTAsMHgwYiwweDg4LDB4MDIsMHgyZSwweDA0LDB4ZGIgfX0sCi0gezE2LCAweGMxNzAsIDAsIHsweDIxLDB4MjIsMHhjMCwweDA4LDB4YjgsMHgyMiwweDJlLDB4MDAsMHhiOSwweDgwLDB4MmEsMHg2MCwweDBhLDB4ODgsMHgwMiwweGUwIH19LAotIHsxNiwgMHhjMTgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHg0NSwweGNjLDB4MTAsMHg4MCwweDJjLDB4MjgsMHhjYSB9fSwKLSB7MTYsIDB4YzE5MCwgMCwgezB4NjgsMHgzMCwweDAyLDB4OGQsMHgwMCwweDliLDB4MjAsMHgyOCwweGM0LDB4MDgsMHgzMiwweDAyLDB4Y2MsMHgxMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGMxYTAsIDAsIHsweDI0LDB4MDgsMHgwYiwweDgwLDB4NDIsMHg2YywweDAwLDB4ODMsMHgwMCwweDJhLDB4Y2EsMHgzYSwweGIwLDB4MDIsMHg4YywweDA0IH19LAotIHsxNiwgMHhjMWIwLCAwLCB7MHhiMCwweDA0LDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweGUzLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzFjMCwgMCwgezB4YzAsMHgxNSwweDhjLDB4MDIsMHg4MCwweDQwLDB4YWEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg5YiwweDIwLDB4MmEgfX0sCi0gezE2LCAweGMxZDAsIDAsIHsweGMwLDB4ODgsMHhiMCwweDAyLDB4YWMsMHgwMCwweDliLDB4MDAsMHgyNiwweGUwLDB4MDMsMHg4MCwweDgyLDB4MmMsMHgyOCwweDliIH19LAotIHsxNiwgMHhjMWUwLCAwLCB7MHgyMCwweDIyLDB4ZTEsMHgwYiwweGIyLDB4MDIsMHhhYywweDgwLDB4YjgsMHg4MCwweDJhLDB4YzEsMHgwYSwweDk4LDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4YzFmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzgsMHg1MCwweDNhLDB4YzAgfX0sCi0gezE2LCAweGMyMDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhkYiwweDg4LDB4YmEsMHhjMCwweDA4LDB4YjAsMHgwMywweDZjLDB4MDgsMHhmYiwweDAwIH19LAotIHsxNiwgMHhjMjEwLCAwLCB7MHgzNiwweDYwLDB4MGYsMHg4YywweDYzLDB4NmMsMHgwMCwweGNiLDB4YzAsMHgzYSwweDgwLDB4MGUsMHhiZSwweDAzLDB4YWYsMHg4NCB9fSwKLSB7MTYsIDB4YzIyMCwgMCwgezB4NzksMHg4MCwweDNhLDB4ODgsMHgwNCwweDk4LDB4MDEsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyMzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4MCwweDM1LDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhkYywweDAwLDB4ZWYsMHgwMCwweDM3IH19LAotIHsxNiwgMHhjMjQwLCAwLCB7MHhjMCwweGFmLDB4ZjAsMHgwMywweDFjLDB4MDEsMHg2ZiwweDAwLDB4MTMsMHgwMCwweDBmLDB4YzEsMHgyMywweGZjLDB4YjgsMHhmZiB9fSwKLSB7MTYsIDB4YzI1MCwgMCwgezB4MDQsMHgzNywweGMwLDB4MGMsMHhmOCwweDQzLDB4N2UsMHgwNCwweGZkLDB4MDAsMHgzZiwweDA0LDB4MGYsMHhkMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGMyNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGM4LDB4NDAsMHgzYSwweGMwIH19LAotIHsxNiwgMHhjMjcwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg0MCwweDM4LDB4YzEsMHgwZSwweGIwLDB4NDMsMHgyYywweDA4LDB4YzMsMHgwMCB9fSwKLSB7MTYsIDB4YzI4MCwgMCwgezB4M2UsMHg0MCwweDBlLDB4ODIsMHgwMywweDZkLDB4MDAsMHhkYiwweDQwLDB4MzIsMHhjMSwweDVmLDB4YjQsMHhhMywweGVkLDB4MjAgfX0sCi0gezE2LCAweGMyOTAsIDAsIHsweGM5LDB4NDAsMHgzMiwweGUwLDB4OGYsMHg5OCwweDQzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMmEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMywweGMwLDB4MjgsMHhmNSwweGMyLDB4ZmMsMHgwMCwweGIzLDB4MDQsMHgyMyB9fSwKLSB7MTYsIDB4YzJiMCwgMCwgezB4YzEsMHg0OCwweGYwLDB4MjIsMHhiYywweDA2LDB4YWYsMHgwMCwweDBlLDB4NDAsMHgwOCwweDAwLDB4MDIsMHhjZCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGMyYzAsIDAsIHsweDAxLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGVlLDB4MDAsMHg4MSwweGUwLDB4MzQsMHhhMCwweDBiLDB4OTAsMHgwMiwweDMyIH19LAotIHsxNiwgMHhjMmQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDIsMHg4MCwweDAwLDB4MjgsMHhjMCB9fSwKLSB7MTYsIDB4YzJlMCwgMCwgezB4MDksMHgzYywweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDEgfX0sCi0gezE2LCAweGMyZjAsIDAsIHsweDJjLDB4MDAsMHgwYSwweDA1LDB4MDIsMHhjZCwweDU4LDB4YmIsMHgwMCwweDIwLDB4MDAsMHgwYSwweDNkLDB4MDIsMHhjZiwweDQwIH19LAotIHsxNiwgMHhjMzAwLCAwLCB7MHgyMSwweDIwLDB4NjAsMHhjMCwweDA5LDB4MTAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzMxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHg4NCwweDgwLDB4MjgsMHhlNCwweDg4LDB4NzgsMHg0MiwweGRlLDB4MDAsMHhiNywweDkwLDB4NjUgfX0sCi0gezE2LCAweGMzMjAsIDAsIHsweGU0LDB4ODgsMHg3YSwweDQyLDB4OWUsMHg0MCwweGE3LDB4OTAsMHgyZCwweGEwLDB4MGEsMHg0OCwweDIyLDB4ZGUsMHgwNCwweGI3IH19LAotIHsxNiwgMHhjMzMwLCAwLCB7MHg4MCwweDIzLDB4NjAsMHg0OCwweDc4LDB4NDIsMHhmZSwweDgwLDB4YWYsMHg5MCwweDY1LDB4ZTAsMHgwYiwweGU4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YzM0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YzgsMHgwMCwweDM4LDB4YzAgfX0sCi0gezE2LCAweGMzNTAsIDAsIHsweDBjLDB4MzAsMHgwMywweGNjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBlLDB4YmEsMHgwMywweDBjLDB4MDAsMHhjMywweDAwIH19LAotIHsxNiwgMHhjMzYwLCAwLCB7MHgzZSwweDAwLDB4NGUsMHgyMiwweDAyLDB4Y2MsMHhjMCwweGZiLDB4NDAsMHgzMCwweGMwLDB4MGEsMHgzMCwweDAzLDB4Y2UsMHg4MCB9fSwKLSB7MTYsIDB4YzM3MCwgMCwgezB4ZTEsMHg0MSwweDMwLDB4YzksMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDIwLDB4ZmMsMHgwMCwweDM3LDB4YzIsMHgwZSwweGYxLDB4MjMsMHhlYywweDQwLDB4ZmYsMHgwNCwweDNhIH19LAotIHsxNiwgMHhjMzkwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHgyMywweGZjLDB4MDAsMHhmZiwweDA0LDB4M2UsMHhjMCwweDBkLDB4YTAsMHgwMywweGZjLDB4NTgsMHhmZiB9fSwKLSB7MTYsIDB4YzNhMCwgMCwgezB4MDAsMHhiZiwweGMwLDB4MDYsMHhmMCwweDgzLDB4ZGMsMHg2MiwweGRmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4MTAgfX0sCi0gezE2LCAweGMzYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHg4MCwweGM5LDB4MDEsMHgzZSwweGMwIH19LAotIHsxNiwgMHhjM2MwLCAwLCB7MHg4YywweGIyLDB4MDcsMHhhZSwweDA0LDB4Y2IsMHg4MCwweDNhLDB4YzgsMHg0YywweGIyLDB4MDMsMHgyYywweDg0LDB4Y2IsMHgzMCB9fSwKLSB7MTYsIDB4YzNkMCwgMCwgezB4YjAsMHhlMCwweDBkLDB4ODgsMHgwYiwweDJjLDB4MDAsMHhlYiwweDAwLDB4MzAsMHgwMCwweDBjLDB4YmMsMHg4MywweDJkLDB4ODAgfX0sCi0gezE2LCAweGMzZTAsIDAsIHsweGZiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4ZWEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjM2YwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg0MCwweDg3LDB4MDAsMHgyYywweGNjLDB4MDgsMHg3NiwweDgyLDB4M2MsMHg4MiwweDg3LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4YzQwMCwgMCwgezB4YzIsMHg4ZCwweDMyLDB4ODIsMHgwZCwweDRjLDB4YTcsMHgyOCwweDIxLDB4ODAsMHgwOCwweDQwLDB4MDIsMHgxZCwweDgwLDB4YmYgfX0sCi0gezE2LCAweGM0MTAsIDAsIHsweDIwLDB4MzUsMHg0MCwweDA5LDB4NzIsMHg0MywweDVjLDB4YTAsMHhiNywweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHhjNDIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NCwweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4YzQzMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4ZGUsMHhjMCwweDhmLDB4ODAsMHgyOCwweGVjLDB4MjgsMHg3YiwweDBhLDB4OWUsMHg5NCwweDgzLDB4ODQgfX0sCi0gezE2LCAweGM0NDAsIDAsIHsweDIzLDB4ZTAsMHgwOSwweDU4LDB4NTAsMHg5ZSwweDEwLDB4YTcsMHhiMCwweDIzLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHgxZSwweDIwIH19LAotIHsxNiwgMHhjNDUwLCAwLCB7MHhiNywweDgwLDB4MjEsMHhlMCwweDA5LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzQ2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDIsMHg4MiwweDFjLDB4MmMsMHhjMCwweDI4LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweGMwLDB4MjAgfX0sCi0gezE2LCAweGM0NzAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHg2MCwweGQyLDB4MDgsMHgxZCwweDAyLDB4MGYsMHgyMCwweGJiIH19LAotIHsxNiwgMHhjNDgwLCAwLCB7MHgyNCwweDI0LDB4YzAsMHgwYiwweDNjLDB4MDIsMHg0ZiwweDAwLDB4YjMsMHg4MCwweDI4LDB4ZDgsMHgwOSwweDMyLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YzQ5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhhOCwweDAwLDB4Y2UsMHg4NCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGM0YTAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhjZSwweGMwLDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMywweGE4LDB4MDAsMHhjYSwweDAwIH19LAotIHsxNiwgMHhjNGIwLCAwLCB7MHgzMywweDgwLDB4MGQsMHhlYywweDAzLDB4M2IsMHg4MCwweGVlLDB4ODIsMHgzMywweDgwLDB4MGEsMHhjMCwweDg3LDB4MTAsMHg0MCB9fSwKLSB7MTYsIDB4YzRjMCwgMCwgezB4ZjYsMHhjMCwweDMzLDB4OTAsMHhhZCwweDY0LDB4MDMsMHhmYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0ZDAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAyLDB4ZjgsMHgwMCwweDNjLDB4MDAsMHgxZiwweDA0LDB4MDMsMHhhMCwweDA0LDB4ZjgsMHgzMCwweDNlIH19LAotIHsxNiwgMHhjNGUwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNCwweDBmLDB4ODAsMHg5MywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4YzRmMCwgMCwgezB4MTAsMHgzZSwweDAwLDB4MmMsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MTgsMHgzZSwweDEwLDB4MGUsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGM1MDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhjNTEwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHhhNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwNCwweDkwLDB4MDMsMHgyNCwweDAwLDB4NDEsMHgwMCB9fSwKLSB7MTYsIDB4YzUyMCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTEsMHgxMywweGUxLDB4MDgsMHhmOCwweDAwLDB4MzIsMHg0MCwweDA4LDB4ODksMHg4MywweGEyLDB4MDAgfX0sCi0gezE2LCAweGM1MzAsIDAsIHsweGM5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDBiLDB4MDIsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNTQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGQsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YzU1MCwgMCwgezB4NDAsMHg0OCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHg4YiwweDk0LDB4NDIsMHhlMiwweDIwLDB4YjggfX0sCi0gezE2LCAweGM1NjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGU1LDB4MDQsMHhhOSwweDkwLDB4MzQsMHg2MCwweDA4LDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhjNTcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MTAsMHg5OSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YzU4MCwgMCwgezB4MGEsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyNCwweDQwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGE5LDB4MDAgfX0sCi0gezE2LCAweGM1OTAsIDAsIHsweDJhLDB4NDAsMHgwYiwweDkwLDB4ODIsMHhlMCwweDAxLDB4YjgsMHgwMCwweDIwLDB4NDAsMHgzYSwweDkwLDB4MDIsMHhhNCwweDQ0IH19LAotIHsxNiwgMHhjNWEwLCAwLCB7MHg4OSwweDA0LDB4MjIsMHg2MiwweDA4LDB4OTgsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzViMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4OGEsMHg4MSwweDAwLDB4MmMsMHg0OCwweDA5LDB4MzIsMHgwNiwweDQ0LDB4ODAsMHhiMSwweDAwLDB4MmMgfX0sCi0gezE2LCAweGM1YzAsIDAsIHsweDQ4LDB4MGEsMHgxMiwweDAyLDB4ODQsMHg4MCwweGExLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDAyLDB4YzUsMHgwMCwweGIxIH19LAotIHsxNiwgMHhjNWQwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHgwYSwweDI0LDB4MDIsMHhjOSwweDAwLDB4YTMsMHgwMCwweDI0LDB4NDAsMHgwOCwweDExLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YzVlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDNlLDB4MTQgfX0sCi0gezE2LCAweGM1ZjAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUxLDB4NDAsMHhmOCwweDUxLDB4MzYsMHgxNCwweDJlLDB4ODUsMHg0MywweDIxLDB4NDIsMHhlOCwweDUwIH19LAotIHsxNiwgMHhjNjAwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDEyLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MWUsMHg4MCwweDQzLDB4YTAsMHgwMCB9fSwKLSB7MTYsIDB4YzYxMCwgMCwgezB4YzgsMHgwMSwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2MjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHg0ZSwweDExLDB4MDMsMHhhNCwweDQwLDB4YjUsMHgwMCwweDNlIH19LAotIHsxNiwgMHhjNjMwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHgwMywweGU0LDB4NDAsMHhkOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGU1LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YzY0MCwgMCwgezB4NDAsMHgzZiwweDQwLDB4MGQsMHg0NCwweDAzLDB4ZjEsMHgwMCwweGY1LDB4MDIsMHgzZCwweGMwLDB4MmYsMHhkMiwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGM2NTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTcsMHgwMCwweGU5LDB4MDAsMHgzNiwweDYwIH19LAotIHsxNiwgMHhjNjYwLCAwLCB7MHgwZCwweGRhLDB4MDMsMHhlNiwweDQwLDB4ZjksMHg0MCwweDNlLDB4NjgsMHgwYywweDlhLDB4MDMsMHg2NiwweDIwLDB4ODksMHhhMCB9fSwKLSB7MTYsIDB4YzY3MCwgMCwgezB4MzMsMHg0MCwweDBlLDB4OTAsMHgwNywweGE2LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg1MCwweDBjLDB4Y2EsMHgwMywweGYzLDB4ODAgfX0sCi0gezE2LCAweGM2ODAsIDAsIHsweGM1LDB4MDIsMHgzMywweDQwLDB4MGMsMHhjMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNjkwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHgwNCwweDg4LDB4YTIsMHgyMCwweDM4LDB4MDgsMHg4MCwweDAyLDB4ZTMsMHg0MCwweGIwLDB4ODAsMHgyZSB9fSwKLSB7MTYsIDB4YzZhMCwgMCwgezB4MjgsMHgwOCwweDhhLDB4ODIsMHgyMywweDgwLDB4ODgsMHg4MCwweDIyLDB4MDAsMHhkYiwweDg4LDB4MDIsMHg2MiwweDA0LDB4YjggfX0sCi0gezE2LCAweGM2YjAsIDAsIHsweGIwLDB4MmUsMHhhOCwweDg4LDB4OGUsMHhhMiwweGVhLDB4ODAsMHg4OCwweDAwLDB4MmEsMHgwMCwweDI4LDB4ODgsMHgwMywweDhlIH19LAotIHsxNiwgMHhjNmMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4ODIsMHhhOSwweDA4LDB4MmMsMHg1MiB9fSwKLSB7MTYsIDB4YzZkMCwgMCwgezB4MGIsMHgxNCwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjEsMHgwYywweDUyLDB4ODgsMHgxNCwweDAyLDB4NDQsMHgyMCwweDkxLDB4NjkgfX0sCi0gezE2LCAweGM2ZTAsIDAsIHsweDIwLDB4NDAsMHgwYSwweDEwLDB4ODIsMHhjNiwweGUwLDB4YjEsMHgwYywweDJjLDB4NDgsMHgwOCwweDAxLDB4MDIsMHhlMSwweDkzIH19LAotIHsxNiwgMHhjNmYwLCAwLCB7MHhhMSwweDAxLDB4MjQsMHg0MSwweDBhLDB4MTAsMHgwMiwweGMyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzcwMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMCwweGU0LDB4MDAsMHgzOSwweDAyLDB4MGUgfX0sCi0gezE2LCAweGM3MTAsIDAsIHsweDQwLDB4MDgsMHgxMCwweDYyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHg2MiwweDQwLDB4OGIsMHg4MCwweDAyLDB4ZTAsMHg1NCwweGI5IH19LAotIHsxNiwgMHhjNzIwLCAwLCB7MHgwYywweDJlLDB4NDAsMHgwOSwweGI2LDB4NTIsMHhlYywweDAwLDB4YTksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkyLDB4ODAsMHg4NiB9fSwKLSB7MTYsIDB4YzczMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZTEsMHg2MCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGM3NDAsIDAsIHsweDBkLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDMwLDB4M2UsMHg0MCwweDJjLDB4OTAsMHg0MywweDY0LDB4MDYsMHhjOSwweDAwIH19LAotIHsxNiwgMHhjNzUwLCAwLCB7MHgzMiwweDQ5LDB4MGUsMHg4ZCwweDkzLDB4ZTAsMHgwMCwweGY5LDB4MDAsMHgyZSwweDQwLDB4MmMsMHg5NCwweDAzLDB4YzcsMHg0MCB9fSwKLSB7MTYsIDB4Yzc2MCwgMCwgezB4ZTksMHgyMCwweDMwLDB4NTUsMHgwZSwweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3NzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MCwweDNjIH19LAotIHsxNiwgMHhjNzgwLCAwLCB7MHg0MCwweDRmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDA0LDB4YmUsMHg0MCwweDBmLDB4ODgsMHgzMywweDYyLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4Yzc5MCwgMCwgezB4YzIsMHgzZSwweDQ4LDB4MmUsMHg4OCwweDMzLDB4ZTIsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDYwLDB4MGQsMHg4MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGM3YTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhjN2IwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHhhMCwweDA0LDB4ZTgsMHg0MCwweGJhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDA0LDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4YzdjMCwgMCwgezB4M2EsMHgwMCwweDBlLDB4OGMsMHgwMywweGUwLDB4MDAsMHhmOCwweDAyLDB4MzIsMHgwMCwweDBlLDB4ODAsMHgwMywweDYxLDB4MjAgfX0sCi0gezE2LCAweGM3ZDAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDE2LDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjN2UwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyZSwweDgwLDB4MDgsMHhlMiwweDAzLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4YzdmMCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDA0LDB4OGEsMHgwMCwweDJlLDB4YTIsMHgwOSwweGU4LDB4MDIsMHhmYSwweDA0LDB4YmUgfX0sCi0gezE2LCAweGM4MDAsIDAsIHsweDAwLDB4YTIsMHg4MCwweDA4LDB4Y2QsMHg4MiwweDMzLDB4MjAsMHhiNiwweGMwLDB4MzcsMHhhMCwweDRiLDB4YzgsMHg4MiwweGNhIH19LAotIHsxNiwgMHhjODEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDAsMHg4MywweDAwLDB4MjYsMHhjMCB9fSwKLSB7MTYsIDB4YzgyMCwgMCwgezB4MDksMHgzOCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGM4MzAsIDAsIHsweDI4LDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhjZSwweDgxLDB4YjMsMHgwMCwweDYyLDB4YzAsMHgwOCwweDNjLDB4MDIsMHg0ZiwweDAwIH19LAotIHsxNiwgMHhjODQwLCAwLCB7MHhiMywweGEwLDB4MjAsMHhiMCwweDAzLDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg1MCwgMCwgezB4YTAsMHgwMSwweDBjLDB4NDEsMHg4NywweDM0LDB4MmQsMHhjMCwweDA4LDB4NjAsMHgwMiwweDllLDB4NDAsMHhiNywweGEwLDB4MmQgfX0sCi0gezE2LCAweGM4NjAsIDAsIHsweGMwLDB4MDgsMHg3MywweDAyLDB4ZGMsMHgwMCwweDg3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDgyLDB4ZGQsMHg4NSwweGJmIH19LAotIHsxNiwgMHhjODcwLCAwLCB7MHg4MSwweDYzLDB4YzgsMHg4OCwweDdiLDB4MDIsMHgxYywweDAwLDB4YjcsMHg0MCwweDY1LDB4MDAsMHgxYiwweDcyLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4Yzg4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MSwweDNkLDB4ZTAgfX0sCi0gezE2LCAweGM4OTAsIDAsIHsweGRkLDB4NzAsMHgwMywweGZlLDB4ODAsMHhmNywweDkwLDB4M2YsMHhlMCwweDJjLDB4NzksMHgwMywweGZlLDB4ODAsMHhjNywweGEwIH19LAotIHsxNiwgMHhjOGEwLCAwLCB7MHgzOSwweGUwLDB4MGYsMHg3YSwweDAyLDB4ZGUsMHg4NCwweGY3LDB4YzIsMHgzMSwweGYyLDB4MGMsMHg3OSwweDAzLDB4NWUsMHgwNCB9fSwKLSB7MTYsIDB4YzhiMCwgMCwgezB4ZjcsMHg4NCwweDMxLDB4NjAsMHgwZiwweDdlLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4YzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDBhLDB4ZmIsMHg2MCwweDdlLDB4ZDQsMHgwZiwweDMwLDB4MDMsMHg2YywweDAwLDB4Y2IsMHgwMCwweDMyIH19LAotIHsxNiwgMHhjOGQwLCAwLCB7MHhkZSwweDJmLDB4YjIsMHgwMywweGVkLDB4NDIsMHgxYiwweDYwLDB4M2UsMHhjMSwweDBkLDB4YjEsMHgwMywweGVjLDB4NTAsMHhmNyB9fSwKLSB7MTYsIDB4YzhlMCwgMCwgezB4ODAsMHgzZCwweGQ4LDB4MmUsMHgzMiwweDAzLDB4ZWMsMHgzMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGM4ZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweGNiLDB4ZDAsMHgzZiwweGYwIH19LAotIHsxNiwgMHhjOTAwLCAwLCB7MHg0YywweGY4LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg4OCwweDNmLDB4ZTAsMHgwYywweGY4LDB4NDMsMHgzZiwweDAwLDB4Y2YsMHhjOCB9fSwKLSB7MTYsIDB4YzkxMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlMCwweDJjLDB4ZjgsMHgwMywweGJlLDB4MjAgfX0sCi0gezE2LCAweGM5MjAsIDAsIHsweGM3LDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAxLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOTMwLCAwLCB7MHhhOCwweDAxLDB4YmMsMHg0MCwweDg3LDB4OTAsMHgzZCwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZGMsMHg4MCwweGQ3LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4Yzk0MCwgMCwgezB4YzAsMHgwYywweDMwLDB4MDMsMHg3YywweDAwLDB4ODcsMHgxMCwweDIxLDB4YzQsMHgxZSwweDcwLDB4MjAsMHhkYywweDQ0LDB4YjcgfX0sCi0gezE2LCAweGM5NTAsIDAsIHsweDAwLDB4MzksMHhjMCwweDBjLDB4NzEsMHgwMiwweDFjLDB4NDAsMHhkNywweDAyLDB4MjksMHg0MCwweDA4LDB4NzAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhjOTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDMyLDB4MmQsMHhjMCB9fSwKLSB7MTYsIDB4Yzk3MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3LDB4MDAsMHgyYywweGMwLDB4MmIsMHg3MCwweDBhLDB4NWMsMHgwMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGM5ODAsIDAsIHsweDIzLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkZCwweDAwLDB4YjcsMHgwMCwweDJkLDB4YzQsMHgwYiwweGYwLDB4MDIsMHg5YywweDIwIH19LAotIHsxNiwgMHhjOTkwLCAwLCB7MHg4NywweDE4LDB4MjksMHg0MCwweDA4LDB4NzAsMHg4MiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzlhMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MywweDAyLDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweGNjLDB4MDgsMHg4MywweDQwLDB4MmUgfX0sCi0gezE2LCAweGM5YjAsIDAsIHsweGMwLDB4MmEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMCwweGYyLDB4MGEsMHgzMCwweDAyLDB4Y2UsMHgwMCwweGIzIH19LAotIHsxNiwgMHhjOWMwLCAwLCB7MHg4OCwweDJhLDB4ZDAsMHgwYSwweDMwLDB4MDYsMHgwYywweDAwLDB4OTIsMHgwMCwweDI4LDB4NzgsMHgwOCwweDNjLDB4NDIsMHgwOCB9fSwKLSB7MTYsIDB4YzlkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAyLDB4YzcsMHgwMCwweDJmLDB4YzAgfX0sCi0gezE2LCAweGM5ZTAsIDAsIHsweDJjLDB4OTAsMHgwMiwweGZjLDB4MDIsMHg4ZiwweGQ4LDB4M2YsMHhjMCwweDRiLDB4ZjAsMHgwMiwweDdjLDB4MDIsMHhjZiwweDAwIH19LAotIHsxNiwgMHhjOWYwLCAwLCB7MHgyMCwweGYyLDB4MDgsMHhiMCwweDEzLDB4ZWUsMHg4MCwweGZmLDB4MDAsMHgzZiwweGQ0LDB4MmUsMHhiZCwweDgzLDB4YWMsMHgwMCB9fSwKLSB7MTYsIDB4Y2EwMCwgMCwgezB4Y2IsMHg4MCwweDNhLDB4YTAsMHhhYywweGI4LDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhMTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgxMCwweDNlLDB4YzAsMHgwZiwweDg0LDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlIH19LAotIHsxNiwgMHhjYTIwLCAwLCB7MHhjMCwweDAxLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4YmUsMHhjMCwweDBlLDB4YjAsMHgyMywweGVjLDB4MDgsMHhmYiB9fSwKLSB7MTYsIDB4Y2EzMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGQsMHhiNCwweDAzLDB4ZWQsMHgwNCwweGY5LDB4MDAsMHgxZSwweDE0LDB4Y2YsMHhiMCwweDgzLDB4ZTAgfX0sCi0gezE2LCAweGNhNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzMCwweGMwIH19LAotIHsxNiwgMHhjYTUwLCAwLCB7MHgwYywweDQwLDB4MDMsMHhhYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgyYywweGIwLDB4MDMsMHhiYywweDAwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4Y2E2MCwgMCwgezB4YjMsMHhlMCwweDBkLDB4ZmEsMHgwMywweDdlLDB4ODAsMHhjZiwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZmMsMHg0MywweGZmLDB4MjAgfX0sCi0gezE2LCAweGNhNzAsIDAsIHsweGZmLDB4MDAsMHgzZiwweDQwLDB4MDgsMHhmOCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgxMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGEsMHg4ZSwweDQyLDB4MmMsMHgwNCwweGJiLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4Y2E5MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMCwweDNhLDB4YzAsMHgwZSwweDMwLDB4MDIsMHgwZCwweDA4LDB4ODMgfX0sCi0gezE2LCAweGNhYTAsIDAsIHsweDAyLDB4MjIsMHhjMCwweDBhLDB4YmMsMHgwMiwweGVmLDB4MDAsMHhiYiwweGMwLDB4MmMsMHg2OCwweDBhLDB4YjksMHgwMiwweGUwIH19LAotIHsxNiwgMHhjYWIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCB9fSwKLSB7MTYsIDB4Y2FjMCwgMCwgezB4MDgsMHhiOCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDIsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAgfX0sCi0gezE2LCAweGNhZDAsIDAsIHsweDI2LDB4NDgsMHgxOSwweGIwLDB4MDIsMHg2ZCwweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlYywweDA0IH19LAotIHsxNiwgMHhjYWUwLCAwLCB7MHhiYiwweDFjLDB4MmUsMHgyMCwweDBhLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2FmMCwgMCwgezB4MDgsMHgxNCwweDBjLDB4MDAsMHhhYiwweDIwLDB4MjgsMHhjMCwweDBhLDB4MDAsMHgwMiwweDBjLDB4MDAsMHg5MywweDA0LDB4MmMgfX0sCi0gezE2LCAweGNiMDAsIDAsIHsweGMxLDB4MDgsMHgzMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDQxLDB4MDksMHhiOCwweDAyLDB4MGMsMHgwMiwweDgzIH19LAotIHsxNiwgMHhjYjEwLCAwLCB7MHgwMSwweGEwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjYywweDEwLDB4OTMsMHgwMCwweDJjLDB4MDAsMHgwYSwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4Y2IyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg3YywweDAwLDB4Y2YsMHgyOCwweDMzLDB4YzAgfX0sCi0gezE2LCAweGNiMzAsIDAsIHsweDBjLDB4YTAsMHg0NiwweGFjLDB4MTEsMHhiZiwweDAwLDB4M2YsMHhjMCwweDVjLDB4ZjAsMHg0MywweGZjLDB4MDAsMHhmZiwweDA0IH19LAotIHsxNiwgMHhjYjQwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHhiMCwweDAzLDB4NmMsMHgwOCwweGNiLDB4MDQsMHgzMSwweGMwLDB4MGMsMHhiMCwweDMzLDB4ZWQsMHg0MCB9fSwKLSB7MTYsIDB4Y2I1MCwgMCwgezB4ZmIsMHgwNCwweDNlLDB4NDAsMHgwZSwweGIwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiNjAsIDAsIHsweGEwLDB4MTUsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhmYywweDAxLDB4ZmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHhjYjcwLCAwLCB7MHhjMCwweDRmLDB4ZjAsMHg4NywweDdjLDB4MDAsMHhmZiwweDAwLDB4MzksMHg0MCwweDBlLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4Y2I4MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZGMsMHg4MCwweGZmLDB4MDAsMHgzZCwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGNiOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg0MCwweGViLDB4NDgsMHgzZSwweGMyIH19LAotIHsxNiwgMHhjYmEwLCAwLCB7MHgwZSwweDA5LDB4MDMsMHhiYywweDYwLDB4YzAsMHgyMCwweDM1LDB4MjQsMHgwZSwweGQyLDB4MTMsMHgyYywweDYwLDB4ZmIsMHg2YSB9fSwKLSB7MTYsIDB4Y2JiMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4Y2EsMHgwMywweDIyLDB4MjAsMHhjMCwweDgwLDB4MzcsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAgfX0sCi0gezE2LCAweGNiYzAsIDAsIHsweGVmLDB4MDAsMHgzMywweDI0LDB4MGYsMHhjOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYmQwLCAwLCB7MHg4MCwweDEwLDB4ZGQsMHgwMCwweDhmLDB4NjAsMHgyZiwweGQ4LDB4MDgsMHhhMiwweDAyLDB4ZmQsMHg4MCwweGM4LDB4NzAsMHgyMiB9fSwKLSB7MTYsIDB4Y2JlMCwgMCwgezB4MDAsMHgyYywweGZkLDB4MDcsMHhkYywweDg0LDB4YmYsMHg2MCwweDIzLDB4ZDIsMHgwYiwweGJkLDB4MDIsMHgyMywweDAwLDB4ODggfX0sCi0gezE2LCAweGNiZjAsIDAsIHsweDgwLDB4YTIsMHgyMCwweDg4LDB4YjAsMHgyMiwweDM0LDB4MDAsMHhiYiwweDUwLDB4MjIsMHhjOCwweDBiLDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhjYzAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhhMywweDAzLDB4MmMsMHhjMiB9fSwKLSB7MTYsIDB4Y2MxMCwgMCwgezB4MGEsMHgwMCwweDQyLDB4OGMsMHg4MiwweGEzLDB4MGEsMHgyNCwweDgwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHg5MCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGNjMjAsIDAsIHsweDI4LDB4ZDgsMHgwYiwweDEwLDB4MDIsMHg4YywweDAyLDB4OTAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDEwLDB4NDIsMHg0YywweDAwIH19LAotIHsxNiwgMHhjYzMwLCAwLCB7MHhiMywweDA0LDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwZSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2M0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHg5YiwweDA0LDB4MmMsMHhjMCwweGY4LDB4OTgsMHgwNiwweGVjLDB4MDAsMHhhYiwweDgwLDB4MjYgfX0sCi0gezE2LCAweGNjNTAsIDAsIHsweDIwLDB4MDgsMHg5MCwweDJhLDB4YWMsMHgxMCwweGJiLDB4MDAsMHgwYSwweGMwLDB4MWIsMHhiMCwweDIyLDB4YWQsMHgwMCwweDk4IH19LAotIHsxNiwgMHhjYzYwLCAwLCB7MHg0MCwweDJhLDB4NzAsMHg0YiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweGE2LDB4ODYsMHgxYiwweGIwLDB4ODIsMHhiMCB9fSwKLSB7MTYsIDB4Y2M3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGNjODAsIDAsIHsweDhlLDB4OTgsMHgwMywweGFjLDB4MDgsMHhlOCwweGMwLDB4MzYsMHgzMCwweDRmLDB4YjAsMHg0MiwweGVjLDB4MDAsMHhmOSwweDgwIH19LAotIHsxNiwgMHhjYzkwLCAwLCB7MHgzYSwweGMwLDB4OGYsMHg4OCwweDQyLDB4MjAsMHgxMCwweGM4LDB4MTAsMHgzMCwweGYwLDB4MGYsMHgzMCwweDEzLDB4NmMsMHgxMCB9fSwKLSB7MTYsIDB4Y2NhMCwgMCwgezB4ZWIsMHgwMCwweDM2LDB4ZjAsMHgwZiwweGJkLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjYjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZWYsMHgwNCwweDdmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhkYywweDAwLDB4YzQsMHgwMCwweDNiIH19LAotIHsxNiwgMHhjY2MwLCAwLCB7MHg0MCwweDhiLDB4ZGMsMHgwMywweDdjLDB4MTAsMHhmOSwweDkwLDB4MzYsMHhjMiwweDRmLDB4ZjksMHgyMywweDYyLDB4NDEsMHhhYyB9fSwKLSB7MTYsIDB4Y2NkMCwgMCwgezB4MDEsMHgxMywweDQwLDB4MDQsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4NzggfX0sCi0gezE2LCAweGNjZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgxMiwweGNiLDB4MDAsMHhmMiwweGMwIH19LAotIHsxNiwgMHhjY2YwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhYywweDA4LDB4ZDksMHgwMCwweDNhLDB4ODAsMHgwZiwweDEyLDB4MDMsMHhhYywweDAwLDB4ZTEsMHgwMCB9fSwKLSB7MTYsIDB4Y2QwMCwgMCwgezB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweGVkLDB4MDIsMHhjOCwweDQwLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgxMywweDJjLDB4MDIgfX0sCi0gezE2LCAweGNkMTAsIDAsIHsweGRiLDB4MDAsMHgzZSwweDUwLDB4MGMsMHhiNCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZDIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHgxNywweGMwLDB4MDgsMHg5MCwweDAyLDB4M2MsMHgwOCwweDhkLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4Y2QzMCwgMCwgezB4NTQsMHgwOCwweGI0LDB4MDMsMHgzYywweDAwLDB4ODksMHgwMCwweDIzLDB4YzAsMHg0MCwweDM1LDB4MDIsMHhjYywweDI0LDB4ODAgfX0sCi0gezE2LCAweGNkNDAsIDAsIHsweDAwLDB4MjIsMHg3NCwweDRjLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4ZiwweDAwLDB4MmUsMHhkNCwweDBhLDB4YjAsMHgwYSwweDMyIH19LAotIHsxNiwgMHhjZDUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDRjLDB4MDIsMHg4MywweDAwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4Y2Q2MCwgMCwgezB4MDksMHgwMCwweDAyLDB4OGMsMHgwMSwweDkwLDB4MDAsMHg2YSwweDQxLDB4MGEsMHgzMCwweDIwLDB4NGUsMHgxMCwweDMxLDB4MDIgfX0sCi0gezE2LCAweGNkNzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDIwLDB4MDYsMHhjZSwweDAwLDB4ODAsMHgwMCwweDYwLDB4ZTAsMHgwYSwweDMwLDB4ODIsMHgwYywweDA4IH19LAotIHsxNiwgMHhjZDgwLCAwLCB7MHg4MywweDA4LDB4MmMsMHhkMCwweDA5LDB4YjAsMHgwMiwweDc4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2Q5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHg4NywweGIwLDB4MjAsMHhlYywweDA5LDB4ZTksMHgwMiwweDhlLDB4NTgsMHg5ZCwweGIwLDB4MmIgfX0sCi0gezE2LCAweGNkYTAsIDAsIHsweGE1LDB4NDAsMHg1YiwweDA2LDB4ZGUsMHg0MCwweDk1LDB4OTQsMHgyZCwweGU0LDB4MTksMHg3YiwweDA2LDB4ZGUsMHgwMCwweDg0IH19LAotIHsxNiwgMHhjZGIwLCAwLCB7MHg4MCwweDYwLDB4ZTAsMHgwYSwweDc4LDB4MGEsMHgxNiwweDEwLDB4ODcsMHg4MCwweDJkLDB4NjgsMHgwYiwweDc5LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4Y2RjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4Y2IsMHhhMCwweDI0LDB4ZTAgfX0sCi0gezE2LCAweGNkZDAsIDAsIHsweDBmLDB4MmEsMHgwMywweDhlLDB4MDAsMHhkMiwweGQwLDB4MzgsMHhmYSwweDBmLDB4MTgsMHhjMywweGNlLDB4MjQsMHgzMSwweGIwIH19LAotIHsxNiwgMHhjZGUwLCAwLCB7MHgzYywweGU1LDB4MGMsMHgzYiwweDE3LDB4Y2UsMHgwNCwweGMwLDB4ODIsMHgzOCwweGMyLDB4OWUsMHgxMCwweDAzLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2RmMCwgMCwgezB4YzMsMHgwMSwweDNlLDB4YzAsMHgwZCwweDgxLDB4MDMsMHg1MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlMDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZWYsMHgxMCwweDNlLDB4YzIsMHgwZSwweGIxLDB4MjMsMHgyYywweGMxLDB4YWIsMHgwMSwweDM2IH19LAotIHsxNiwgMHhjZTEwLCAwLCB7MHg4MCwweDBmLDB4YjAsMHgyMywweDJkLDB4OTAsMHhlOSwweDg0LDB4NzIsMHhjOCwweDYyLDB4ZjEsMHgxNywweGZjLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4Y2UyMCwgMCwgezB4MDAsMHgzYiwweGM0LDB4MWQsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGVmLDB4MDgsMHgzZiwweGM4LDB4MGUsMHhmMSwweDAzLDB4OTAgfX0sCi0gezE2LCAweGNlMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg4MCwweGZiLDB4YTQsMHgzYSwweGM4IH19LAotIHsxNiwgMHhjZTQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyYywweDA0LDB4Y2EsMHgwMCwweDMwLDB4NjAsMHgyZCwweDFhLDB4MjcsMHg2YywweDg0LDB4Y2IsMHg2MCB9fSwKLSB7MTYsIDB4Y2U1MCwgMCwgezB4MzIsMHhkMiwweDBjLDB4YTAsMHgxMywweDJkLDB4ODQsMHhjYiwweDAyLDB4M2UsMHhjMCwweDBkLDB4YjgsMHgwMywweGFjLDB4ODAgfX0sCi0gezE2LCAweGNlNjAsIDAsIHsweGNiLDB4ODEsMHgzMiwweDgwLDB4MGMsMHhiMCwweDAzLDB4YWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHhhNCwweGI3LDB4MjgsMHg3MywweGMyLDB4MDgsMHhmMCwweDAyLDB4M2MsMHhjMCwweDhmLDB4MDAsMHgzMSB9fSwKLSB7MTYsIDB4Y2U4MCwgMCwgezB4YzAsMHgwOSwweDcwLDB4ODIsMHg5YywweDgwLDB4ODcsMHgwYywweDIwLDB4ZDgsMHgwOSwweDcwLDB4MjIsMHgxYywweDMwLDB4ODQgfX0sCi0gezE2LCAweGNlOTAsIDAsIHsweDAwLDB4M2QsMHhjMCwweDA4LDB4NzAsMHgwMiwweDE0LDB4MjQsMHg4NywweGEwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgxMiwweDEyIH19LAotIHsxNiwgMHhjZWEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4NDAsMHhiMywweDk1LDB4MjksMHhlOSB9fSwKLSB7MTYsIDB4Y2ViMCwgMCwgezB4MGEsMHg2OCwweDAyLDB4OWUsMHhkMCwweDg2LDB4ZjAsMHhhMywweGUwLDB4MDgsMHg3OCwweDEyLDB4OWUsMHg0NCwweGEzLDB4ODIgfX0sCi0gezE2LCAweGNlYzAsIDAsIHsweDIxLDB4ZTgsMHgwYiwweDM4LDB4MDIsMHgwZSwweDEwLDB4ODcsMHg4MCwweDJmLDB4ZTAsMHgwYiwweDE4LDB4MDIsMHg4ZSwweDAyIH19LAotIHsxNiwgMHhjZWQwLCAwLCB7MHg4NywweDAwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2VlMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDQ4LDB4MzAsMHgwMiwweDBjLDB4MDQsMHg4MywweDgwLDB4MjAgfX0sCi0gezE2LCAweGNlZjAsIDAsIHsweGQwLDB4MDksMHgxMCwweDAyLDB4OGMsMHgwNiwweGEzLDB4ODAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgwIH19LAotIHsxNiwgMHhjZjAwLCAwLCB7MHg0MCwweDI4LDB4ZDIsMHgwYSwweDMwLDB4MDIsMHgwYywweDAxLDB4ODMsMHgwMCwweDIyLDB4M2MsMHgwOCwweDg3LDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4Y2YxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDE4LDB4ZmEsMHgwMCwweDNhLDB4ODAgfX0sCi0gezE2LCAweGNmMjAsIDAsIHsweDhlLDB4ZTQsMHg0MiwweDI4LDB4MDIsMHhjZSwweDgwLDB4MzMsMHg4MCwweDRkLDB4YTAsMHg4MywweGU4LDB4MDAsMHhlYSwweGEwIH19LAotIHsxNiwgMHhjZjMwLCAwLCB7MHhiMiwweDgwLDB4MGEsMHhhMCwweDBhLDB4MjgsMHgwMCwweGNlLDB4MTgsMHgyZiwweDgwLDB4MGYsMHhhMCwweDEzLDB4YTgsMHgwMCB9fSwKLSB7MTYsIDB4Y2Y0MCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4OTAsMHgyYywweGFjLDB4MGIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwNCwweDNhLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhjMCwweDA4LDB4ZTgsMHgwMywweDNhIH19LAotIHsxNiwgMHhjZjYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgyMiwweGMwLDB4MDAsMHhkMCwweDAwLDB4N2UsMHgxMCwweGE0LDB4ODAsMHgwMywweGMwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4Y2Y3MCwgMCwgezB4MDAsMHgzZSwweDEwLDB4MGQsMHg4NCwweDAzLDB4YzAsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwLDB4MGYsMHg4MCwweDAxLDB4NTIgfX0sCi0gezE2LCAweGNmODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMiwweGM5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhjZjkwLCAwLCB7MHgwYywweDkwLDB4MDMsMHg2NCwweDAyLDB4ODksMHgwNCwweDMyLDB4NDIsMHgwZCwweDkyLDB4MDMsMHhlNiwweDQyLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4Y2ZhMCwgMCwgezB4MzIsMHg3MCwweDBlLDB4MTIsMHgwYiwweDI0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0NSwweDBlLDB4OTksMHgwMywweGU0LDB4MDIgfX0sCi0gezE2LCAweGNmYjAsIDAsIHsweGMxLDB4MDAsMHgzMiwweDUwLDB4MDQsMHg5NCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZmMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4Y2ZkMCwgMCwgezB4NTQsMHgwYiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGNmZTAsIDAsIHsweDAwLDB4MzgsMHg0OCwweDA4LDB4OTAsMHg4MiwweGU0LDB4MDQsMHhkOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhjZmYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDAxLDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4ZDAwMCwgMCwgezB4MjgsMHgxMCwweDQyLDB4NjQsMHgwMCwweGExLDB4MDQsMHgyMiwweDUwLDB4MDEsMHg5MCwweDQyLDB4ZTQsMHgwMCwweDg5LDB4MDQgfX0sCi0gezE2LCAweGQwMTAsIDAsIHsweDIwLDB4NDIsMHgwYSwweDkwLDB4NDIsMHgzNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwYSwweDkwLDB4MDAsMHhlNCwweDAwIH19LAotIHsxNiwgMHhkMDIwLCAwLCB7MHg4OSwweDAwLDB4MjMsMHg0MCwweDBhLDB4ZDAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDAzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDI0LDB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweDA0LDB4ODAsMHhhMSwweDIwLDB4MjggfX0sCi0gezE2LCAweGQwNDAsIDAsIHsweDQwLDB4MGIsMHgxMCwweDAyLDB4ODUsMHg4MCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MDgsMHg1MCwweDYyLDB4MTQsMHgwMiwweDgxIH19LAotIHsxNiwgMHhkMDUwLCAwLCB7MHgwMywweDJlLDB4NDAsMHg4OCwweDE2LDB4ODIsMHhjNCwweGEwLDB4OTEsMHgyOCwweDIxLDB4NDAsMHgyYSwweDUwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4ZDA2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHg1MCwweDJlLDB4MTQgfX0sCi0gezE2LCAweGQwNzAsIDAsIHsweDBjLDB4ODUsMHgwMywweDYxLDB4NDAsMHhlOCwweDUwLDB4YjIsMHgxNSwweDRkLDB4ODAsMHgwMiwweGMwLDB4MDAsMHg0OCwweDUwIH19LAotIHsxNiwgMHhkMDgwLCAwLCB7MHhiMiwweDE1LDB4MWEsMHg4MCwweDEzLDB4MzAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MiwweDAzLDB4ZTAsMHg4MCB9fSwKLSB7MTYsIDB4ZDA5MCwgMCwgezB4YzAsMHgyMCwweDMwLDB4MDAsMHgwZSwweDQwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQ4LDB4ZGQsMHgxMCwweDM3IH19LAotIHsxNiwgMHhkMGIwLCAwLCB7MHg0MCwweDBmLDB4ZDQsMHgwNywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2UsMHg0NSwweDBmLDB4OTQsMHgwMywweGU1LDB4MDgsMHhmZCB9fSwKLSB7MTYsIDB4ZDBjMCwgMCwgezB4MDIsMHgzOSwweGQwLDB4MGYsMHhkMCwweDQzLDB4ZjQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRiLDB4MGQsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGQwZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg4MCwweGM5LDB4YTYsMHgzMiwweDY4IH19LAotIHsxNiwgMHhkMGUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhNiwweDgxLDB4ZTksMHhlOSwweDNiLDB4NDAsMHgwZSwweDU4LDB4MDMsMHgzNiwweDIwLDB4YzksMHhhMCB9fSwKLSB7MTYsIDB4ZDBmMCwgMCwgezB4MzcsMHg3OCwweDBkLDB4ZGEsMHgwMywweDM2LDB4MjYsMHhjNSwweDAwLDB4MzcsMHg2OSwweDBlLDB4ZGUsMHgwMywweGE2LDB4ODIgfX0sCi0gezE2LCAweGQxMDAsIDAsIHsweGNkLDB4YzAsMHgzMywweDUwLDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMTEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHhhNCwweDg4LDB4YTksMHgyMiwweDNhLDB4MDgsMHgwOCwweDAwLDB4MjIsMHhhMCwweGI4LDB4ZTUsMHgzMCB9fSwKLSB7MTYsIDB4ZDEyMCwgMCwgezB4MjAsMHgyOCwweDgwLDB4MjIsMHg0MywweGEwLDB4MDgsMHhlOCwweDJhLDB4M2QsMHgwOCwweGE0LDB4NjIsMHgyMCwweDAwLDB4ODggfX0sCi0gezE2LCAweGQxMzAsIDAsIHsweDAwLDB4MmUsMHgxMCwweDA4LDB4OGUsMHgwMywweDIzLDB4YTAsMHg4OCwweGEwLDB4MjAsMHgyOCwweDBiLDB4OGEsMHg4MiwweDBlIH19LAotIHsxNiwgMHhkMTQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHg5MSwweDQwLDB4MjAsMHg0NCB9fSwKLSB7MTYsIDB4ZDE1MCwgMCwgezB4MDgsMHg5MCwweGEyLDB4ODUsMHgxMCwweGExLDB4MjAsMHgyYywweDQyLDB4MGIsMHgxNCwweDEyLDB4OGMsMHgwMSwweDkxLDB4MTAgfX0sCi0gezE2LCAweGQxNjAsIDAsIHsweDJjLDB4NDgsMHgwOSwweDExLDB4MGEsMHhjNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NTAsMHgwYiwweDExLDB4MTIsMHhjNSwweDAxIH19LAotIHsxNiwgMHhkMTcwLCAwLCB7MHhiMSwweDQwLDB4MjQsMHg0OCwweDBiLDB4MTgsMHgwZSwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDE4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0MSwweDA4LDB4OTQsMHg0MiwweDI0LDB4MDAsMHhiMSwweDQwLDB4MjAgfX0sCi0gezE2LCAweGQxOTAsIDAsIHsweDQwLDB4NDksMHhiMiwweDYyLDB4MjQsMHgwMCwweDk5LDB4MDAsMHgwYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTUsMHg4MCwweDg5IH19LAotIHsxNiwgMHhkMWEwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgyNCwweDgwLDB4YjksMHgwMCwweDI2LDB4NTAsMHg0YiwweDkwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ZDFiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAyLDB4ZDksMHgwMCwweGIyLDB4NDAgfX0sCi0gezE2LCAweGQxYzAsIDAsIHsweDJjLDB4OTUsMHgxMywweGE0LDB4MTAsMHhlOSwweDAwLDB4YmUsMHg2MCwweDhmLDB4OTAsMHgwYiwweGE0LDB4MTAsMHg1OSwweDAwIH19LAotIHsxNiwgMHhkMWQwLCAwLCB7MHgxZSwweDQwLDB4OWQsMHg5NCwweDIzLDB4ZTQsMHgwMiwweDg5LDB4MDAsMHgzNCwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwOCB9fSwKLSB7MTYsIDB4ZDFlMCwgMCwgezB4NzksMHgwMCwweGI2LDB4NDAsMHgwNywweDk4LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxZjAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAwLDB4ZTksMHgwMiwweDNjLDB4NDAsMHgyZiwweDk4LDB4MDIsMHhlNCwweDAwLDB4ZjksMHg0MiwweDNhIH19LAotIHsxNiwgMHhkMjAwLCAwLCB7MHg2OCwweDBhLDB4MTAsMHgwMywweGU0LDB4MTAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwZiwweDI2LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZDIxMCwgMCwgezB4MDQsMHgzZSwweDQwLDB4MGUsMHgxYywweDAzLDB4ZTYsMHgwMCwweGMxLDB4MDAsMHgzYSwweDUwLDB4MGYsMHg5OSwweDgzLDB4Y2EgfX0sCi0gezE2LCAweGQyMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzYSwweDAwIH19LAotIHsxNiwgMHhkMjMwLCAwLCB7MHgwYywweDg0LDB4MDMsMHgyMCwweDAwLDB4ZDgsMHg0MiwweDMyLDB4MDQsMHgwYywweDg4LDB4MTMsMHhlMCwweDAwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4ZDI0MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDQsMHgwYiwweDAwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBlLDB4ODAsMHgyMywweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyNTAsIDAsIHsweGM4LDB4ODAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAxLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgxMCwweDhhLDB4MDAsMHgyZSwweDgwLDB4MjgsMHgyMCwweDIyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4ZDI3MCwgMCwgezB4YjAsMHg4OCwweGUwLDB4MDIsMHgyOCwweDEwLDB4ZGEsMHgwMCwweGEzLDB4YjQsMHgwOCwweGU4LDB4MTAsMHgyOCwweDAwLDB4OGUgfX0sCi0gezE2LCAweGQyODAsIDAsIHsweDIwLDB4MjMsMHhhMCwweDQ4LDB4ZWQsMHgxYSwweDI4LDB4MDAsMHhkZSwweDAwLDB4MjMsMHg5MCwweDBhLDB4ZTAsMHgwMiwweDBhIH19LAotIHsxNiwgMHhkMjkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhhMywweDAwLDB4MjgsMHhjMCB9fSwKLSB7MTYsIDB4ZDJhMCwgMCwgezB4MDgsMHgzMCwweDBhLDB4MGMsMHgwMCwweDkzLDB4MDAsMHgyMCwweGMyLDB4MmEsMHgzMCwweDIyLDB4YTQsMHgwMCwweGJiLDB4MDAgfX0sCi0gezE2LCAweGQyYjAsIDAsIHsweDA4LDB4ZTAsMHgxOCwweDA5LDB4MGEsMHg0YywweDAwLDB4OTMsMHgwMiwweDI0LDB4ZTgsMHgwMiwweDA4LDB4MDYsMHg0YywweDAwIH19LAotIHsxNiwgMHhkMmMwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhkOCwweDBhLDB4OTAsMHgwMiwweDRhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDJkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4ODAsMHg4NywweDA0LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDBlLDB4MDAsMHg4NywweDEwLDB4MjUgfX0sCi0gezE2LCAweGQyZTAsIDAsIHsweDAwLDB4MGEsMHg2MCwweDAyLDB4NWUsMHgwMCwweDk3LDB4MDAsMHgyOSwweDgyLDB4MDgsMHg1MCwweDEyLDB4NTQsMHgwMCwweDhmIH19LAotIHsxNiwgMHhkMmYwLCAwLCB7MHg4MCwweDYxLDB4ZDAsMHgwOCwweDA0LDB4MDIsMHg1YywweDAxLDB4YjcsMHgwOCwweGE5LDB4YTAsMHgwYSwweDUwLDB4ODIsMHg2OCB9fSwKLSB7MTYsIDB4ZDMwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDgwLDB4ZTcsMHg4MCwweDM4LDB4ZTQgfX0sCi0gezE2LCAweGQzMTAsIDAsIHsweDA4LDB4N2UsMHgwMywweDFmLDB4MDAsMHhkZiwweDgwLDB4YjEsMHgyMSwweDFlLDB4NzgsMHgwMywweGRjLDB4MDQsMHhmMywweDgwIH19LAotIHsxNiwgMHhkMzIwLCAwLCB7MHg1YiwweGUxLDB4MDgsMHgyOCwweDAzLDB4NWUsMHgwMCwweGQ3LDB4ODAsMHgzNSwweDYwLDB4MGUsMHg2OCwweDAzLDB4NGUsMHgwMCB9fSwKLSB7MTYsIDB4ZDMzMCwgMCwgezB4ZGYsMHg4MCwweDMxLDB4ZTAsMHgwZSwweGY4LDB4MGIsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzNDAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDAyLDB4ZmIsMHg3NCwweDNlLDB4ZDAsMHg0ZiwweGIyLDB4ODMsMHhlZCwweDAwLDB4N2IsMHg2OCwweDNhIH19LAotIHsxNiwgMHhkMzUwLCAwLCB7MHgwMCwweDhkLDB4ODAsMHgwMywweGE0LDB4MjAsMHhkYiwweDAxLDB4MzYsMHg4MCwweDZmLDB4YjAsMHg0MSwweDg0LDB4MDAsMHhlYiB9fSwKLSB7MTYsIDB4ZDM2MCwgMCwgezB4MDAsMHgzYywweGMwLDB4MGYsMHhlNiwweDgzLDB4YmMsMHg0MCwweGRiLDB4MDAsMHhiNiwweDgwLDB4MGYsMHhiMCwweDAzLDB4ODIgfX0sCi0gezE2LCAweGQzNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgyMCwweGRmLDB4YzAsMHgzYiwweGU2IH19LAotIHsxNiwgMHhkMzgwLCAwLCB7MHgwZSwweGY4LDB4MTMsMHhmZiwweDQ0LDB4YzcsMHg4MiwweDNiLDB4ZTAsMHgwZiwweGY5LDB4MDMsMHhiZSwweDEwLDB4Y2YsMHhjOCB9fSwKLSB7MTYsIDB4ZDM5MCwgMCwgezB4MzMsMHg2MCwweDhkLDB4ZWIsMHgwMywweDNlLDB4MDAsMHhkYiwweDgyLDB4M2YsMHhlMCwweDBjLDB4ZDgsMHgwMywweDNlLDB4NDAgfX0sCi0gezE2LCAweGQzYTAsIDAsIHsweGNlLDB4ODAsMHgzMywweGU0LDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkM2IwLCAwLCB7MHhhOCwweDExLDB4YmMsMHg0MCwweDg3LDB4MDAsMHgyMSwweGU0LDB4MGIsMHg3OCwweGEyLDB4Y2UsMHg5MCwweGM3LDB4YjAsMHgyMCB9fSwKLSB7MTYsIDB4ZDNjMCwgMCwgezB4ZTgsMHgwYiwweDI4LDB4OTIsMHhiNiwweDg4LDB4ODcsMHhhMCwweDIwLDB4NjQsMHgwYiwweDM1LDB4MDMsMHgxNCwweDAwLDB4ODcgfX0sCi0gezE2LCAweGQzZDAsIDAsIHsweGIyLDB4MzksMHhjMCwweDJjLDB4YzAsMHgwMywweDVlLDB4MDIsMHhjZiwweDAwLDB4MzEsMHhjZSwweDBiLDB4NzYsMHgxMiwweDJhIH19LAotIHsxNiwgMHhkM2UwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhMywweDEwLDB4MjksMHhjOCB9fSwKLSB7MTYsIDB4ZDNmMCwgMCwgezB4MGIsMHg3NCwweDAyLDB4ZGMsMHg4MCwweDhmLDB4MDAsMHgyOSwweGNjLDB4MGEsMHgzMCwweDA2LDB4MTQsMHg4MCwweDg3LDB4MTAgfX0sCi0gezE2LCAweGQ0MDAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDY2LDB4MDIsMHg1YywweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUxLDB4MDIsMHgxYywweDgwIH19LAotIHsxNiwgMHhkNDEwLCAwLCB7MHg5NiwweDAwLDB4MjEsMHhjMCwweDViLDB4NzQsMHg4MiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDgsMHhhMywweDAwLDB4MjAsMHhjMCwweDBiLDB4YjgsMHgwMiwweGNjLDB4MDAsMHg4YiwweDQwLDB4YTggfX0sCi0gezE2LCAweGQ0MzAsIDAsIHsweGMwLDB4OGIsMHgwOCwweDIyLDB4OGMsMHgwMiwweDgzLDB4MDAsMHg2MCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MDQsMHgwMCwweDgzIH19LAotIHsxNiwgMHhkNDQwLCAwLCB7MHg0MCwweDI4LDB4ZmMsMHg4YSwweDAwLDB4MDIsMHg2ZSwweDAwLDB4ODMsMHgwMCwweGEwLDB4ZDAsMHg4YiwweDM4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4ZDQ1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAyLDB4ZWYsMHgwMCwweDNiLDB4YzAgfX0sCi0gezE2LCAweGQ0NjAsIDAsIHsweDRmLDB4ZjgsMHgwMiwweGZjLDB4MDIsMHhjZiwweDAwLDB4MzgsMHgxMiwweDBlLDB4OTgsMHgwMiwweDJjLDB4MDAsMHhjZiwweDAwIH19LAotIHsxNiwgMHhkNDcwLCAwLCB7MHgzMiwweGMwLDB4MDksMHg5MCwweDAzLDB4NjQsMHgwMiwweDgxLDB4YzAsMHgzZSwweGQwLDB4MGYsMHg5MCwweDA3LDB4M2MsMHgwMyB9fSwKLSB7MTYsIDB4ZDQ4MCwgMCwgezB4ZDksMHgwMCwweDMyLDB4NjAsMHgwZiwweDg4LDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0OTAsIDAsIHsweDgwLDB4MDAsMHhjYywweDAwLDB4ZGIsMHgwMCwweDNlLDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMiwweDM2IH19LAotIHsxNiwgMHhkNGEwLCAwLCB7MHhjMCwweDRmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhmYiwweDAwLDB4YmUsMHg5MCwweDBmLDB4OWMsMHgxMywweGVjLDB4MDAsMHhlOSB9fSwKLSB7MTYsIDB4ZDRiMCwgMCwgezB4MTgsMHgzYSwweGQwLDB4MDQsMHhkNSwweDAzLDB4ZWMsMHg0MCwweGU5LDB4MDAsMHgzYSwweDAwLDB4OGYsMHg4MCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGQ0YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzZCwweGMxIH19LAotIHsxNiwgMHhkNGQwLCAwLCB7MHg4YywweGYwLDB4MDMsMHgyYywweDAwLDB4ZWYsMHgwYSwweGIzLDB4MTIsMHgyYywweDcwLDB4MjMsMHgxNCwweDBhLDB4NGYsMHgwMCB9fSwKLSB7MTYsIDB4ZDRlMCwgMCwgezB4MzUsMHg2MCwweDBkLDB4YjAsMHgwMywweDA0LDB4MDAsMHhjZCwweDgwLDB4MDcsMHhlOCwweDBjLDB4YzQsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGQ0ZjAsIDAsIHsweGNkLDB4MDAsMHgzMSwweGUyLDB4MmMsMHhlMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNTAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMiwweGFiLDB4MDIsMHgyZSwweGMwLDB4MGUsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4ZDUxMCwgMCwgezB4MzAsMHgwMCwweDljLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwNCwweDIyLDB4MzYsMHgwOCwweDM0LDB4NGEsMHgyYywweDA4LDB4ODkgfX0sCi0gezE2LCAweGQ1MjAsIDAsIHsweDkwLDB4MjAsMHhiOCwweDBmLDB4ODQsMHgwMCwweGFjLDB4MDIsMHg4OSwweDAwLDB4MzYsMHhhMCwweDA4LDB4YTQsMHgwMiwweDIwIH19LAotIHsxNiwgMHhkNTMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4ZDU0MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGQxLDB4MDgsMHg4OCwweDEyLDB4MjYsMHgwMCwweGEzLDB4MDAgfX0sCi0gezE2LCAweGQ1NTAsIDAsIHsweDI2LDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyNiwweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHg1OCwweDEwLDB4MTIsMHgyYywweDA0IH19LAotIHsxNiwgMHhkNTYwLCAwLCB7MHg4MiwweDgwLDB4MmEsMHg0OSwweDA4LDB4MzAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDU3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhhMywweDE0LDB4MmMsMHhjOCwweDFhLDB4MzQsMHg4YSwweDBjLDB4ODQsMHg4MywweDQwLDB4MjIgfX0sCi0gezE2LCAweGQ1ODAsIDAsIHsweGM4LDB4MDgsMHgwMywweDYyLDB4NGMsMHhjMCwweGEzLDB4NjAsMHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhkNTkwLCAwLCB7MHg0NSwweDA4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg4YywweGEwLDB4ODMsMHgwMCwweDI2LDB4NDAsMHgwOCwweDMwLDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4ZDVhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4Y2YsMHg0MCwweDJmLDB4ZDIgfX0sCi0gezE2LCAweGQ1YjAsIDAsIHsweDhjLDB4ZjYsMHgwMywweDNjLDB4MjIsMHhjZiwweDQwLDB4MzIsMHhkNiwweDRjLDB4YTYsMHhjMSwweDNkLDB4YTAsMHg4NywweDQ4IH19LAotIHsxNiwgMHhkNWMwLCAwLCB7MHgzNiwweDBkLDB4MGYsMHhiMSwweDAyLDB4MjQsMHg0MiwweGNiLDB4NjAsMHgxNiwweGMwLDB4MGMsMHhkMCwweDAzLDB4MmMsMHg4MCB9fSwKLSB7MTYsIDB4ZDVkMCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1ZTAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgyMCwweDNlLDB4Y2EsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZGIsMHgzNCwweDNhIH19LAotIHsxNiwgMHhkNWYwLCAwLCB7MHhjOCwweDBmLDB4ODAsMHgwMywweGU0LDB4MTAsMHhkYiwweDIxLDB4M2UsMHgxOCwweDBkLDB4ZjIsMHgwMywweGZjLDB4ODAsMHhmZiB9fSwKLSB7MTYsIDB4ZDYwMCwgMCwgezB4MzAsMHgzNSwweGMwLDB4MGYsMHhjMCwweDEzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGQ2MTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4ZmMsMHgwMCwweGZiLDB4MGIsMHgyZiwweGNhIH19LAotIHsxNiwgMHhkNjIwLCAwLCB7MHg4ZCwweGYyLDB4MDMsMHhmYSwweDAwLDB4OTYsMHg4MCwweDNiLDB4YzQsMHgwZCwweGYxLDB4MDMsMHg3YywweDgwLDB4ZWMsMHg4MCB9fSwKLSB7MTYsIDB4ZDYzMCwgMCwgezB4M2IsMHgwOCwweDBjLDB4YzIsMHgwMywweDc0LDB4MDIsMHhjYywweDgwLDB4M2YsMHg0OCwweDBlLDB4ZjAsMHgwMywweDMwLDB4YTAgfX0sCi0gezE2LCAweGQ2NDAsIDAsIHsweGQ1LDB4ODAsMHgzZiwweDQwLDB4MGMsMHhmOCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNjUwLCAwLCB7MHg4MCwweDA4LDB4ZWUsMHg0MCwweGJmLDB4ODAsMHgyZiwweGYwLDB4MGIsMHhmNywweDIyLDB4ZWUsMHgyMCwweDhhLDB4ODAsMHgyMyB9fSwKLSB7MTYsIDB4ZDY2MCwgMCwgezB4ZmMsMHg4OCwweDc1LDB4MTIsMHgzZCwweDAwLDB4ODgsMHgwMCwweDIyLDB4MDAsMHgyOCwweDgwLDB4MDIsMHgyNCwweDA4LDB4ODggfX0sCi0gezE2LCAweGQ2NzAsIDAsIHsweDAwLDB4NmYsMHg1MCwweDAwLDB4ZjUsMHgwMiwweDI5LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg1NCwweDBkLDB4OTAsMHgxMSwweGEwIH19LAotIHsxNiwgMHhkNjgwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMSB9fSwKLSB7MTYsIDB4ZDY5MCwgMCwgezB4MDksMHgzMCwweDgyLDB4Y2MsMHg4MiwweGJiLDB4MDAsMHgyOCwweGMwLDB4NDksMHgzMiwweDAyLDB4Y2QsMHgwMCwweGI4LDB4MDAgfX0sCi0gezE2LCAweGQ2YTAsIDAsIHsweDJjLDB4NTAsMHgwOSwweDAxLDB4MDIsMHgwYywweDQwLDB4ODAsMHgwMCwweDZjLDB4NDQsMHgwOSwweDMwLDB4MDIsMHgyMCwweDAwIH19LAotIHsxNiwgMHhkNmIwLCAwLCB7MHhiMCwweDAwLDB4MmMsMHg0MCwweDE4LDB4MzAsMHgwNiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDZjMCwgMCwgezB4YzAsMHgwMSwweGFjLDB4MDAsMHhiYiwweDAxLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVlLDB4MDAsMHhhYSwweDAwLDB4NGEgfX0sCi0gezE2LCAweGQ2ZDAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDUyLDB4ZWMsMHgwMCwweDk4LDB4MDIsMHgyNiwweDQwLDB4MDksMHg4MCwweDAyLDB4NmMsMHgwMSwweGFhIH19LAotIHsxNiwgMHhkNmUwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgyMiwweDAwLDB4YTksMHg4MCwweDJlLDB4NDEsMHgwOSwweDkwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4ZDZmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGQ3MDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGNlLDB4ODQsMHhmYSwweDAwLDB4MWEsMHhjMCwweDhkLDB4YjAsMHg0MywweGVjLDB4MDAsMHhmMCwweDAyIH19LAotIHsxNiwgMHhkNzEwLCAwLCB7MHgzZiwweDAwLDB4MGQsMHhkMSwweDAzLDB4MzUsMHgwMCwweGNiLDB4NDgsMHgyZSwweDQwLDB4MmYsMHhiMCwweDA5LDB4MjIsMHg4MCB9fSwKLSB7MTYsIDB4ZDcyMCwgMCwgezB4ZjksMHhjOCwweDFlLDB4ZTAsMHgwOCwweGIxLDB4ZTIsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3MzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4N2IsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGUsMHgwMCwweDI0IH19LAotIHsxNiwgMHhkNzQwLCAwLCB7MHhjMCwweDRmLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhlYywweDIwLDB4M2IsMHgwMCwweDBlLDB4OTgsMHgwMywweDk0LDB4MDIsMHhkZCB9fSwKLSB7MTYsIDB4ZDc1MCwgMCwgezB4MDAsMHgzZiwweDQwLDB4NGUsMHhmMCwweDAxLDB4ZjgsMHgwMCwweGRkLDB4MDAsMHgzYywweGU0LDB4MGYsMHhkOCwweDAzLDB4YjggfX0sCi0gezE2LCAweGQ3NjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4YWMsMHhjMCwweGZiLDB4MjAsMHgzMiwweGM4IH19LAotIHsxNiwgMHhkNzcwLCAwLCB7MHg4ZCwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNhLDB4YzIsMHgyYywweDMwLDB4MDMsMHg2YywweDA0LDB4ZDgsMHgwMiB9fSwKLSB7MTYsIDB4ZDc4MCwgMCwgezB4M2MsMHg0NCwweDhkLDB4MTAsMHgwMywweGFkLDB4MDMsMHhlYSwweDAwLDB4M2MsMHg0MCwweDBjLDB4NzAsMHgyMywweGU0LDB4MDAgfX0sCi0gezE2LCAweGQ3OTAsIDAsIHsweGM4LDB4NDAsMHgzYSwweGMwLDB4MGQsMHhiYywweDAzLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkN2EwLCAwLCB7MHhjOCwweDAxLDB4M2QsMHgwMCwweGJmLDB4NDIsMHgyMywweGYwLDB4MGQsMHhmMCwweDAyLDB4ZTUsMHgwMCwweGUyLDB4MDEsMHgzNyB9fSwKLSB7MTYsIDB4ZDdiMCwgMCwgezB4ZjEsMHgwOCwweGYwLDB4MGUsMHgzZCwweGMwLDB4YTgsMHgwMCwweDJlLDB4NTQsMHgyOCwweDkwLDB4MDIsMHgyYywweDAwLDB4OGEgfX0sCi0gezE2LCAweGQ3YzAsIDAsIHsweDA1LDB4M2IsMHg0MSwweDQ4LDB4ZjUsMHgwMywweDhjLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhkNCwweDBlLDB4OTUsMHgwMiwweGYyIH19LAotIHsxNiwgMHhkN2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDA0LDB4MjAsMHhjMCB9fSwKLSB7MTYsIDB4ZDdlMCwgMCwgezB4ODksMHgzMCwweDAyLDB4Y2MsMHg0MCwweGIyLDB4MDAsMHgyYywweGM0LDB4NDgsMHgzMCwweDAyLDB4MmMsMHgwMiwweGEyLDB4MDAgfX0sCi0gezE2LCAweGQ3ZjAsIDAsIHsweDJjLDB4MjAsMHgxOSwweDIwLDB4MWEsMHg4MCwweDA4LDB4YjAsMHgwMCwweDZjLDB4NDAsMHgwOCwweDMwLDB4MDIsMHhjNCwweDAwIH19LAotIHsxNiwgMHhkODAwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDgxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweGEwLDB4ZTEsMHhlMCwweDA5LDB4NzgsMHgwMiwweGRmLDB4MDQsMHhhZSwweDgwLDB4MmQgfX0sCi0gezE2LCAweGQ4MjAsIDAsIHsweGUwLDB4MDgsMHg3OSwweDAyLDB4MWUsMHgxMCwweDg3LDB4OTAsMHgyYywweDI4LDB4MjksMHg2OCwweDAyLDB4ODIsMHg4MSwweGI0IH19LAotIHsxNiwgMHhkODMwLCAwLCB7MHg4MCwweDJkLDB4NjAsMHgwOCwweDc4LDB4MTAsMHhiYywweDAwLDB4OGYsMHg4MCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZDg0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDA1LDB4ZjMsMHg5MiwweDMwLDB4Y2EgfX0sCi0gezE2LCAweGQ4NTAsIDAsIHsweDBkLDB4MzAsMHgwMywweGNjLDB4MDAsMHhmMywweDAwLDB4M2MsMHhjMCwweDBjLDB4MzAsMHgwMiwweDBjLDB4ODAsMHg3MCwweDAwIH19LAotIHsxNiwgMHhkODYwLCAwLCB7MHgyYywweDQwLDB4MGQsMHgyMCwweDAzLDB4ODksMHgwMCwweGIxLDB4MDAsMHgzZSwweDQwLDB4MmMsMHgzMCwweDAzLDB4ZWMsMHg1MCB9fSwKLSB7MTYsIDB4ZDg3MCwgMCwgezB4YzMsMHgyMCwweDNjLDB4NDAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4ODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNjLDB4YzAsMHgwZSwweGIwLDB4ODMsMHhlYywweDQwLDB4ZWEsMHgwMCwweDM2IH19LAotIHsxNiwgMHhkODkwLCAwLCB7MHhjMiwweDBmLDB4YjAsMHg4MywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHg0OCwweDBlLDB4ZTAsMHgwYiwweDdhLDB4ODAsMHhjZiB9fSwKLSB7MTYsIDB4ZDhhMCwgMCwgezB4MDAsMHgzYiwweDQ0LDB4MGYsMHhmMCwweDAzLDB4ZWMsMHhjMCwweGZmLDB4MDAsMHgwMywweDQ0LDB4MGUsMHhlMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGQ4YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MjMsMHgzZSwweGM4IH19LAotIHsxNiwgMHhkOGMwLCAwLCB7MHgxZCwweGIwLDB4MDMsMHhlZSwweDAwLDB4Y2EsMHgwMCwweDNlLDB4YzgsMHgwYywweGIyLDB4MDMsMHgyZCwweDkwLDB4YzgsMHg4NCB9fSwKLSB7MTYsIDB4ZDhkMCwgMCwgezB4MzYsMHgwMCwweDJkLDB4YjAsMHgwMywweDYwLDB4MTgsMHg5YiwweDgwLDB4MzMsMHg1MCwweDBjLDB4ZjIsMHgwMywweGUyLDB4MDAgfX0sCi0gezE2LCAweGQ4ZTAsIDAsIHsweGM5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHhiOCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOGYwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MjgsMHgwYywweGQyLDB4MjgsMHg3MywweDAyLDB4ZmMsMHgwMCwweDg2LDB4MDQsMHgyYyB9fSwKLSB7MTYsIDB4ZDkwMCwgMCwgezB4Y2MsMHgyOCwweDcwLDB4ODMsMHgwYywweDIwLDB4OTUsMHgwMSwweDIwLDB4MDAsMHgwOSwweDMwLDB4MTIsMHgxMCwweDA0LDB4ODUgfX0sCi0gezE2LCAweGQ5MTAsIDAsIHsweDAwLDB4MjEsMHg1MiwweDA4LDB4NzUsMHgwMiwweGQ4LDB4MDAsMHg4NywweDAwLDB4MjEsMHg0MCwweDA4LDB4NjAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhkOTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ZDQsMHhiNywweGIxLDB4MDksMHhlMSB9fSwKLSB7MTYsIDB4ZDkzMCwgMCwgezB4MDgsMHg3OCwweDIyLDB4ZGUsMHgwMCwweDk1LDB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OCwweDBhLDB4NWUsMHg0MiwweDk0LDB4YzAgfX0sCi0gezE2LCAweGQ5NDAsIDAsIHsweDIxLDB4NjAsMHgwOCwweDc4LDB4MDIsMHg1YSwweDAwLDB4ODcsMHg4MCwweDJkLDB4NjgsMHgwOCwweDdhLDB4MDIsMHhkNywweDAwIH19LAotIHsxNiwgMHhkOTUwLCAwLCB7MHg5NywweDgwLDB4MjAsMHg2MCwweDA5LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDk2MCwgMCwgezB4NDgsMHgxMCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGNkLDB4ODAsMHg5MiwweDAwLDB4MmMgfX0sCi0gezE2LCAweGQ5NzAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4ODAsMHhhMCwweDQwLDB4MDksMHgzNiwweDAyLDB4NDgsMHgwMiwweDgzIH19LAotIHsxNiwgMHhkOTgwLCAwLCB7MHhhMCwweGFjLDB4NDAsMHgyYSwweDMwLDB4MDYsMHhjZSwweDAyLDB4OTMsMHgwNCwweGEwLDB4NDAsMHgwOSwweDIwLDB4MGEsMHgxMiB9fSwKLSB7MTYsIDB4ZDk5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNhLDB4ODAgfX0sCi0gezE2LCAweGQ5YTAsIDAsIHsweDBkLDB4YTAsMHgwMywweGZiLDB4MDIsMHhkZSwweDgwLDB4M2UsMHg4MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAsMHhjZSwweDgwIH19LAotIHsxNiwgMHhkOWIwLCAwLCB7MHgzMiwweDgwLDB4MGMsMHhhNCwweDAzLDB4NzgsMHgwMCwweGNlLDB4YTQsMHgzZiwweDgwLDB4MGMsMHhhMCwweDA3LDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZDljMCwgMCwgezB4ZGUsMHgwMCwweDMyLDB4ODAsMHgyZCwweGUwLDB4MDIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5ZDAsIDAsIHsweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDdjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDQwLDB4ZTgsMHgxMCwweDNjIH19LAotIHsxNiwgMHhkOWUwLCAwLCB7MHgwMSwweGNmLDB4ODAsMHgwZiwweDIwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4MDQsMHgwMywweDkwLDB4MDAsMHhlOCB9fSwKLSB7MTYsIDB4ZDlmMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MGQsMHg4MCwweDA3LDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDA0LDB4MGUsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGRhMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHg3ZSwweDQxIH19LAotIHsxNiwgMHhkYTEwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NjgsMHgwZSwweDkwLDB4MGYsMHhhNCwweDA4LDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4ZGEyMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwYiwweDI0LDB4MTIsMHhlOSwweDAwLDB4M2UsMHg0NCwweDJjLDB4OTAsMHgwMywweDY0LDB4MjQgfX0sCi0gezE2LCAweGRhMzAsIDAsIHsweGY5LDB4MDIsMHgyZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTQwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgxMCwweGI5LDB4ODAsMHgzZSwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjYsMHgwMCwweGIxLDB4MTAsMHgyYSB9fSwKLSB7MTYsIDB4ZGE1MCwgMCwgezB4NzIsMHgwOCwweDkwLDB4MDcsMHg2NCwweDAyLDB4ODksMHg0MCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MTIsMHgyNSwweDAwLDB4ODkgfX0sCi0gezE2LCAweGRhNjAsIDAsIHsweDQ1LDB4M2UsMHg1MCwweDBkLDB4OTAsMHgwYSwweDI1LDB4MDAsMHhiOSwweDQwLDB4MmUsMHg0MCwweDI4LDB4OTQsMHgwMywweGUwIH19LAotIHsxNiwgMHhkYTcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ZGE4MCwgMCwgezB4NDgsMHg5MCwweDQyLDB4MjYsMHgwMSwweGI5LDB4NDAsMHgyNiwweDQwLDB4MGEsMHg5MCwweDQyLDB4ODQsMHgwMSwweDhiLDB4MDggfX0sCi0gezE2LCAweGRhOTAsIDAsIHsweDJjLDB4NDAsMHgwOSwweGQwLDB4ODIsMHgzNCwweDMyLDB4YTksMHgwOCwweDZlLDB4NDIsMHgwOCwweDEwLDB4MDIsMHgyNCwweDIwIH19LAotIHsxNiwgMHhkYWEwLCAwLCB7MHhiOSwweDA4LDB4MmMsMHg0MCwweDE4LDB4OTAsMHg4MiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMywweDIwLDB4MjgsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDEsMHhiMSwweDAwLDB4MjggfX0sCi0gezE2LCAweGRhYzAsIDAsIHsweDU4LDB4MDgsMHgxMiwweDAyLDB4MDUsMHg4OSwweDgxLDB4NDAsMHgyYywweDU4LDB4MDgsMHg1NiwweDA2LDB4MTUsMHg4MCwweDgxIH19LAotIHsxNiwgMHhkYWQwLCAwLCB7MHg0MCwweDI4LDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNSwweDgwLDB4YjEsMHg0MCwweDJjLDB4NWEsMHgwOCwweDE0LDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZGFlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAgfX0sCi0gezE2LCAweGRhZjAsIDAsIHsweDJlLDB4ODUsMHgwMywweDIxLDB4NDgsMHhmOCwweDAwLDB4MzYsMHgwMCwweDhlLDB4MDUsMHgwMiwweGEwLDB4MDgsMHg4MCwweDAwIH19LAotIHsxNiwgMHhkYjAwLCAwLCB7MHgzZSwweDAwLDB4MGQsMHg4MCwweDBiLDB4MTAsMHgwNCwweGUwLDB4MDAsMHgyYywweDAwLDB4NGMsMHg4MCwweDAzLDB4NDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGIxMCwgMCwgezB4ZjAsMHgwMCwweDNlLDB4MDgsMHgwYywweDAwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNlIH19LAotIHsxNiwgMHhkYjMwLCAwLCB7MHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDAzLDB4M2YsMHg0NCwweDFmLDB4OTEsMHgxYiwweGU0LDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4ZGI0MCwgMCwgezB4MDEsMHgzZiwweDUwLDB4MGUsMHg5NCwweDAzLDB4ZjQsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4YTYgfX0sCi0gezE2LCAweGRiNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGNkLDB4YTAsMHg3MSwweDY4IH19LAotIHsxNiwgMHhkYjYwLCAwLCB7MHg4ZCwweDk4LDB4MDMsMHhkNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NjAsMHgwYywweDk4LDB4OGYsMHgyNywweDIwLDB4YzksMHg0MCB9fSwKLSB7MTYsIDB4ZGI3MCwgMCwgezB4M2UsMHg3OCwweDBjLDB4OWUsMHg4YiwweDI3LDB4MjAsMHhkMSwweDExLDB4MzAsMHg2MCwweDhjLDB4OWMsMHgwMywweDI1LDB4MDAgfX0sCi0gezE2LCAweGRiODAsIDAsIHsweGY5LDB4NDAsMHgzZSwweDc4LDB4MGYsMHg5MCwweDAzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYjkwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgxMCwweDg4LDB4MDEsMHgyMiwweDAxLDB4MDgsMHg4YywweDIyLDB4ZTgsMHgwMCwweDg4LDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZGJhMCwgMCwgezB4MTQsMHgwOCwweDhjLDB4MGIsMHgyMywweDkwLDB4ODgsMHhhMCwweDJlLDB4YjAsMHgwOCwweDhjLDB4NDIsMHgyMywweDAwLDB4ODggfX0sCi0gezE2LCAweGRiYjAsIDAsIHsweGEwLDB4MzYsMHgyYSwweDE4LDB4OGEsMHgwMiwweDIyLDB4MDAsMHhiOCwweGEwLDB4MmUsMHgzNCwweDBiLDB4Y2EsMHg4MiwweDBlIH19LAotIHsxNiwgMHhkYmMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDQwLDB4MjQsMHg1MCB9fSwKLSB7MTYsIDB4ZGJkMCwgMCwgezB4MDksMHgxNiwweDgyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHgxMiwweDkyLDB4NTQsMHgwOCwweDg1LDB4MDAgfX0sCi0gezE2LCAweGRiZTAsIDAsIHsweDJmLDB4NGMsMHgwOSwweDUyLDB4MTIsMHgxNCwweDgwLDB4OWQsMHgwMCwweDIxLDB4NTAsMHgwOCwweDU0LDB4MjIsMHgxNCwweDgwIH19LAotIHsxNiwgMHhkYmYwLCAwLCB7MHhiNSwweDAwLDB4MmQsMHg0OCwweDBiLDB4ZDAsMHgwMiwweDQyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGMwMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4MDIsMHg4OSwweDAxLDB4YTIsMHg0MCwweDQ4LDB4OTAsMHgwMiwweGU0LDB4MDIsMHhhOSwweDAwLDB4MmEgfX0sCi0gezE2LCAweGRjMTAsIDAsIHsweDQwLDB4NjgsMHg5MCwweDAyLDB4NjQsMHgxMCwweGFkLDB4MDAsMHgyZiwweDQxLDB4MjgsMHg1MCwweDAyLDB4MzQsMHgwMCwweDhkIH19LAotIHsxNiwgMHhkYzIwLCAwLCB7MHg0NCwweDI3LDB4NDAsMHgzOSwweGQwLDB4MDIsMHgzNSwweDAwLDB4YmQsMHgxNCwweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4ZGMzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhjNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGRjNDAsIDAsIHsweDJkLDB4OTAsMHgwMywweGU3LDB4MDAsMHhlMSwweGUwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwYiwweDY0LDB4MDIsMHhjOSwweDA4IH19LAotIHsxNiwgMHhkYzUwLCAwLCB7MHgzYywweDUwLDB4MGMsMHg5MCwweDAyLDB4MjYsMHgwMiwweGQ5LDB4YzAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDEzLDB4MjcsMHgwMCB9fSwKLSB7MTYsIDB4ZGM2MCwgMCwgezB4ZjksMHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAyLDB4ZjksMHgwMCwweDM4LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDgwLDB4ZDksMHhhMCwweDNjIH19LAotIHsxNiwgMHhkYzgwLCAwLCB7MHg0MCwweDBmLDB4MTAsMHgwMywweGE0LDB4MDAsMHhkOSwweDEwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4OTIsMHhmOSB9fSwKLSB7MTYsIDB4ZGM5MCwgMCwgezB4MjEsMHgzYywweDQwLDB4MmUsMHg5MCwweDBmLDB4ZTYsMHg4MCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGRjYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHg0MCwweGU4LDB4MTAsMHgzZSwweDA0IH19LAotIHsxNiwgMHhkY2IwLCAwLCB7MHg0ZSwweDgwLDB4MDMsMHgyMCwweDgwLDB4ZDgsMHg2MCwweDNhLDB4MDIsMHgwYywweDgwLDB4MTMsMHgyMCwweDAwLDB4ZjgsMHg0MCB9fSwKLSB7MTYsIDB4ZGNjMCwgMCwgezB4MzYsMHgxMCwweDJkLDB4ODAsMHgwMywweGEwLDB4MDgsMHhlOCwweDQwLDB4MzIsMHgwMCwweDBkLDB4MDAsMHgwMywweDIxLDB4MDIgfX0sCi0gezE2LCAweGRjZDAsIDAsIHsweGM4LDB4NDAsMHhiMiwweDAwLDB4MGYsMHhjMCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkY2UwLCAwLCB7MHgyOCwweDExLDB4M2IsMHgxMCwweDg2LDB4MDEsMHgyZiwweGEwLDB4MGQsMHhhMCwweDAyLDB4MzgsMHgwMCwweDhlLDB4ZTAsMHgyMyB9fSwKLSB7MTYsIDB4ZGNmMCwgMCwgezB4YTIsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHg4MCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODIgfX0sCi0gezE2LCAweGRkMDAsIDAsIHsweDAwLDB4MmEsMHg4MCwweDI4LDB4YTAsMHgwMiwweDJhLDB4MDQsMHg4YSwweDgwLDB4MjIsMHhhMCwweDBiLDB4NjAsMHgwMiwweGNhIH19LAotIHsxNiwgMHhkZDEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQzLDB4ODAsMHhhMiwweDAwLDB4MmMsMHhhMCB9fSwKLSB7MTYsIDB4ZGQyMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MmUsMHgwMCwweDkyLDB4MDAsMHgyOCwweGMwLDB4MjgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4ODAgfX0sCi0gezE2LCAweGRkMzAsIDAsIHsweDI0LDB4YzAsMHgwOSwweDMwLDB4MGEsMHg4YywweDAwLDB4YTMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHg0YywweDAwIH19LAotIHsxNiwgMHhkZDQwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhlMCwweDBiLDB4MjAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ1MCwgMCwgezB4YTAsMHgwMSwweDEwLDB4MDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDA5LDB4M2EsMHgwMiwweDM1LDB4MDAsMHg4NiwweDAwLDB4MjEgfX0sCi0gezE2LCAweGRkNjAsIDAsIHsweGMwLDB4MDgsMHg3MywweDAyLDB4MTAsMHgwMCwweGJmLDB4ODgsMHgyMSwweDAwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwOCwweDhmIH19LAotIHsxNiwgMHhkZDcwLCAwLCB7MHgwMCwweDJiLDB4YzAsMHgwOCwweDIwLDB4MTIsMHg1ZSwweDIwLDB4ODcsMHg4OCwweDIxLDB4ODMsMHgwYiwweDYwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4ZGQ4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZTUsMHg4MSwweDNkLDB4YTAgfX0sCi0gezE2LCAweGRkOTAsIDAsIHsweDJjLDB4N2EsMHgwYiwweDFlLDB4MDAsMHhkNCwweDgwLDB4MzgsMHhlMCwweDBjLDB4ZmEsMHgwYiwweDFlLDB4MDAsMHhmNiwweDgwIH19LAotIHsxNiwgMHhkZGEwLCAwLCB7MHgzNCwweGUwLDB4MGQsMHgyOCwweDAzLDB4OGEsMHgwMCwweGU2LDB4ODAsMHgzMSwweDIwLDB4MGMsMHg3OCwweDAzLDB4N2EsMHgwNCB9fSwKLSB7MTYsIDB4ZGRiMCwgMCwgezB4Y2UsMHg4NCwweDMxLDB4ZTAsMHg0ZiwweDc4LDB4NDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkYzAsIDAsIHsweDA4LDB4MGQsMHg4MCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwZiwweGI1LDB4MjMsMHhlNCwweDAwLDB4ZjAsMHgwNCwweDM2IH19LAotIHsxNiwgMHhkZGQwLCAwLCB7MHg0MCwweDBmLDB4YjYsMHg4NywweGUwLDB4MDAsMHhmMiwweDAwLDB4M2UsMHgwMCwweDFmLDB4YTAsMHgwYiwweGU4LDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGUsMHhhMCwweDAzLDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGRkZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNjLDB4ODAsMHgzMywweGEwIH19LAotIHsxNiwgMHhkZTAwLCAwLCB7MHgwYywweGZjLDB4MDMsMHgzZSwweDAwLDB4ZmMsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGI5LDB4MjEsMHgzZSwweDAwLDB4ZmQsMHg4MiB9fSwKLSB7MTYsIDB4ZGUxMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHgwMywweDdlLDB4MTAsMHhkZiwweDg0LDB4M2QsMHhlMCwweDBjLDB4ZjgsMHgwMywweGY2LDB4MDAgfX0sCi0gezE2LCAweGRlMjAsIDAsIHsweGZkLDB4ODAsMHgzZiwweDYwLDB4MGMsMHhlOCwweDIzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTMwLCAwLCB7MHhhOCwweDExLDB4OTgsMHg0MCwweDg0LDB4MTAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MTAsMHg4MCwweGI0LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4ZGU0MCwgMCwgezB4YzgsMHgwYiwweDdhLDB4MDIsMHgxMCwweDAwLDB4ZmQsMHgwMCwweDIxLDB4MDQsMHgwOCwweDcwLDB4MDIsMHgxYywweDQyLDB4ODcgfX0sCi0gezE2LCAweGRlNTAsIDAsIHsweDAwLDB4MmQsMHhjNCwweDQ4LDB4NjEsMHgwMiwweGQ2LDB4ODAsMHhiNSwweDAwLDB4MmYsMHgwNCwweDA4LDB4NjEsMHg4MiwweDJhIH19LAotIHsxNiwgMHhkZTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHg4MSwweDAwLDB4MjEsMHg4MCB9fSwKLSB7MTYsIDB4ZGU3MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MWMsMHgxMCwweGJjLDB4MDgsMHgyNSwweDgwLDB4NGIsMHgzMCwweDBlLDB4MWMsMHgwMCwweGI0LDB4MDAgfX0sCi0gezE2LCAweGRlODAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDIwLDB4MDIsMHg1OCwweDAwLDB4OTYsMHgwMCwweDJmLDB4MDAsMHgwYSwweDcwLDB4MDIsMHhkMCwweDgwIH19LAotIHsxNiwgMHhkZTkwLCAwLCB7MHhiNCwweDE4LDB4MmQsMHg0MCwweDA5LDB4ZjgsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGVhMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDIsMHg4MCwweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgyMiwweDBiLDB4YzAsMHhiMCwweGMwLDB4MjIgfX0sCi0gezE2LCAweGRlYjAsIDAsIHsweDgwLDB4MGIsMHgzMCwweDAyLDB4MDAsMHgwMCwweGEwLDB4MDQsMHgyMiwweDAwLDB4MjgsMHhhMCwweDAyLDB4MmIsMHgwMCwweDhhIH19LAotIHsxNiwgMHhkZWMwLCAwLCB7MHgwMCwweDJjLDB4MDAsMHgwOCwweGEwLDB4MDYsMHhjMCwweDAwLDB4YjAsMHhjMiwweDJjLDB4MDAsMHgwOSwweGJjLDB4MWEsMHgwOCB9fSwKLSB7MTYsIDB4ZGVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4YzAgfX0sCi0gezE2LCAweGRlZTAsIDAsIHsweDBjLDB4ZjAsMHgwYiwweDI2LDB4MDAsMHhmOSwweGMwLDB4MzYsMHgwMCwweDBmLDB4ZjAsMHgxMywweDJjLDB4MTAsMHhiYiwweDQwIH19LAotIHsxNiwgMHhkZWYwLCAwLCB7MHhmMiwweGMwLDB4MDgsMHg5MCwweDAzLDB4NjcsMHgwMCwweGQ5LDB4ODAsMHgzZSwweGMwLDB4MDgsMHg5MCwweDAyLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4ZGYwMCwgMCwgezB4ZmIsMHhkMCwweDNlLDB4YzAsMHgyOSwweDhjLDB4MDAsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmMTAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0NCwweDNjLDB4ZDAsMHgyZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlIH19LAotIHsxNiwgMHhkZjIwLCAwLCB7MHg0MCwweDBmLDB4MzAsMHgwMywweGUwLDB4MDAsMHhmYiwweDA4LDB4M2UsMHgwMCwweDBmLDB4OTAsMHgxMywweGU0LDB4NDIsMHhmOSB9fSwKLSB7MTYsIDB4ZGYzMCwgMCwgezB4MTAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgwLDB4MGUsMHg4MiwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGRmNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZTAsMHgwOCwweGZjLDB4ODAsMHgzMiwweGU0IH19LAotIHsxNiwgMHhkZjUwLCAwLCB7MHgwZSwweGYwLDB4MDMsMHg3NCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4NDAsMHgwYywweGYwLDB4MGIsMHgzYywweDAwLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4ZGY2MCwgMCwgezB4M2YsMHhjMCwweDBkLDB4YzEsMHgwMywweDIwLDB4MjAsMHhjYywweDEwLDB4MzMsMHgwMCwweDBjLDB4ZDEsMHgwMywweDU4LDB4MDAgfX0sCi0gezE2LCAweGRmNzAsIDAsIHsweGNlLDB4MDAsMHgyZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjgwLCAwLCB7MHg4MSwweDQ0LDB4NjIsMHgwMCwweGIwLDB4NDAsMHgyYSwweGYxLDB4MDgsMHhiMCwweDEyLDB4MjYsMHgwOCwweGI4LDB4YzgsMHgyZSB9fSwKLSB7MTYsIDB4ZGY5MCwgMCwgezB4NzAsMHgwYSwweGIwLDB4MDIsMHgyMCwweDAwLDB4YmEsMHgwMCwweDJlLDB4MDAsMHgyOCwweDgwLDB4MDMsMHgyMiwweDQwLDB4ODggfX0sCi0gezE2LCAweGRmYTAsIDAsIHsweDAxLDB4MjAsMHgwMCwweDBhLDB4ODAsMHgwMiwweDI4LDB4MDAsMHg4YSwweDAxLDB4MmUsMHg4MCwweDhiLDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhkZmIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI2LDB4MDAsMHhiOCwweDI4LDB4MjIsMHg0MiB9fSwKLSB7MTYsIDB4ZGZjMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NjYsMHgwMCwweGI4LDB4ODAsMHgyZSwweDMwLDB4ODgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDEgfX0sCi0gezE2LCAweGRmZDAsIDAsIHsweDJlLDB4YzAsMHg4OCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDBjIH19LAotIHsxNiwgMHhkZmUwLCAwLCB7MHg4OSwweDAxLDB4MmUsMHg0MCwweDFiLDB4ODAsMHgwMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGZmMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHhiMCwweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMCwweDAwLDB4MmMgfX0sCi0gezE2LCAweGUwMDAsIDAsIHsweDQwLDB4MGEsMHgzMCwweDAyLDB4MDAsMHgwMCwweGIxLDB4MDAsMHgyYywweDAwLDB4MDgsMHgxMCwweDBhLDB4MDQsMHgwMCwweDgxIH19LAotIHsxNiwgMHhlMDEwLCAwLCB7MHgwMSwweGEyLDB4YzAsMHgwOCwweDAwLDB4MGEsMHgwNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4MDAsMHgxYiwweDAwLDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4ZTAyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweGUwMzAsIDAsIHsweDBlLDB4ZjAsMHgyMywweDY0LDB4MDgsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHhlMDQwLCAwLCB7MHgzZSwweGMwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMiwweGM4LDB4MDQsMHgzMiwweDAwLDB4MWMsMHg5MCwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZTA1MCwgMCwgezB4YzgsMHgwMSwweDNlLDB4NDEsMHg5ZiwweDkwLDB4NDMsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwNjAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgwYywweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDEwLDB4ZjQsMHgwMCwweDNmIH19LAotIHsxNiwgMHhlMDcwLCAwLCB7MHgwMCwweDBmLDB4ZjQsMHgyMywweGYwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDBlLDB4YzAsMHgwMywweGIwLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4ZTA4MCwgMCwgezB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZTEsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAxLDB4MWYsMHg1MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGUwOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDBkLDB4ZjAsMHhkMCwweGZmLDB4MjAsMHgzZSwweGQwIH19LAotIHsxNiwgMHhlMGEwLCAwLCB7MHg4ZSwweGIwLDB4MDMsMHhlYywweGEwLDB4ZGIsMHgyOCwweDNlLDB4Y2MsMHgwYywweGIzLDB4MDMsMHhhZCwweDA4LDB4ZjgsMHgzYyB9fSwKLSB7MTYsIDB4ZTBiMCwgMCwgezB4MzIsMHgyMywweDBlLDB4NDgsMHgyMywweDdhLDB4MDAsMHhmZCwweDk0LDB4M2YsMHhlMCwweDBmLDB4NzgsMHgzMywweGVlLDB4MDggfX0sCi0gezE2LCAweGUwYzAsIDAsIHsweGJmLDB4ODAsMHgzZiwweGU0LDB4MGYsMHhmOSwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGQwLCAwLCB7MHhhMCwweDAwLDB4ZWMsMHhjOCwweGJmLDB4ZDEsMHgwZiwweGM4LDB4MGMsMHgyNiwweDgyLDB4ZmQsMHgyNCwweDhmLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ZTBlMCwgMCwgezB4OTksMHgwYSwweGYyLDB4NjIsMHgxZCwweGQwLDB4OTksMHg2MSwweDIyLDB4NzEsMHg4OCwweDg4LDB4MDIsMHhhYywweDAwLDB4YjggfX0sCi0gezE2LCAweGUwZjAsIDAsIHsweDIyLDB4MmUsMHgyMCwweDRiLDB4ODgsMHgwMywweGEwLDB4MDAsMHg4MCwweDAwLDB4MmUsMHgwOCwweDBiLDB4ODAsMHgyMywweDYwIH19LAotIHsxNiwgMHhlMTAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDQsMHhiMywweDAzLDB4MGMsMHhjYyB9fSwKLSB7MTYsIDB4ZTExMCwgMCwgezB4MGEsMHgxMywweDEyLDB4Y2MsMHgxNCwweGEzLDB4MGUsMHgwYywweDU4LDB4MGEsMHgzMywweDAyLDB4OGMsMHgxMCwweGEzLDB4MjAgfX0sCi0gezE2LCAweGUxMjAsIDAsIHsweGEwLDB4MGEsMHgxOCwweDkwLDB4MDIsMHg0OCwweGEwLDB4YjAsMHgyMCwweDI0LDB4ODAsMHgwYSwweDIwLDB4MDIsMHhjYywweDA5IH19LAotIHsxNiwgMHhlMTMwLCAwLCB7MHhhMSwweDAwLDB4MmMsMHg4MCwweDBiLDB4MzIsMHg0MiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE0MCwgMCwgezB4ZTAsMHgxMSwweGFjLDB4MjAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDRiLDB4ODAsMHhhMiwweGVjLDB4MDAsMHhhYiwweDAwLDB4NGUgfX0sCi0gezE2LCAweGUxNTAsIDAsIHsweDQ2LDB4MmEsMHhiMCwweDAyLDB4MmMsMHgwNCwweDliLDB4ODAsMHgyYSwweDYwLDB4OGEsMHg5YywweDAyLDB4YWMsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlMTYwLCAwLCB7MHg4MSwweDJlLDB4NDAsMHgwYiwweDk4LDB4MDIsMHhhMywweDAwLDB4OGEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDgwLDB4MDQsMHhmMCB9fSwKLSB7MTYsIDB4ZTE3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMSwweDAwLDB4ZmIsMHgwNCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGUxODAsIDAsIHsweDBlLDB4YjQsMHgwMywweGVjLDB4MGEsMHhkYiwweDAyLDB4MmUsMHhkMSwweDBlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDgyIH19LAotIHsxNiwgMHhlMTkwLCAwLCB7MHgzMiwweDI4LDB4MWUsMHgwYywweDAzLDB4NjgsMHgwMCwweGI5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHhiMCwweDQzLDB4ZWQsMHgwMCB9fSwKLSB7MTYsIDB4ZTFhMCwgMCwgezB4ZWEsMHgwMCwweDNlLDB4NDAsMHgwZiwweDgwLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxYjAsIDAsIHsweGMwLDB4MDEsMHhiOCwweDE4LDB4ZmYsMHgwMiwweDFmLDB4YzAsMHgwYywweGUyLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMywweDJmIH19LAotIHsxNiwgMHhlMWMwLCAwLCB7MHhhMSwweDBmLDB4NzAsMHgwMywweGZjLDB4MDQsMHhhYiwweDA0LDB4MzcsMHg0MiwweDJkLDB4ZDAsMHgwMiwweDdjLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4ZTFkMCwgMCwgezB4MDAsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4YjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAzLDB4NzggfX0sCi0gezE2LCAweGUxZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTksMHgwMCwweGRiLDB4MDAsMHgzYywweGMwIH19LAotIHsxNiwgMHhlMWYwLCAwLCB7MHgyZSwweDk0LDB4MDEsMHg2YywweDExLDB4Y2IsMHgwMCwweGI4LDB4YzAsMHgwYywweGIwLDB4MDMsMHg2YywweDAwLDB4ZWIsMHgwMSB9fSwKLSB7MTYsIDB4ZTIwMCwgMCwgezB4MzIsMHgxMCwweDA3LDB4OTIsMHgwMywweGE4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwYywweDA3LDB4YTIsMHgwMywweGFkLDB4MDAgfX0sCi0gezE2LCAweGUyMTAsIDAsIHsweGQ4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjIwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwOCwweGJmLDB4MDAsMHgyZiwweGMwLDB4ODgsMHg4MCwweDAyLDB4M2MsMHgwOCwweGVmLDB4MDMsMHgyMiB9fSwKLSB7MTYsIDB4ZTIzMCwgMCwgezB4MDAsMHgwZCwweGY1LDB4MDAsMHgzYywweDAwLDB4OGIsMHg4MiwweDIyLDB4NjAsMHgwMywweDljLDB4MDIsMHgyYywweDEwLDB4YjkgfX0sCi0gezE2LCAweGUyNDAsIDAsIHsweGIwLDB4MjIsMHhmMCwweDBiLDB4OTAsMHgwMiwweDIwLDB4MDAsMHhiYiwweDAwLDB4MjIsMHhlMiwweDBkLDB4YjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhlMjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQwLDB4MDAsMHhiMywweDAyLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ZTI2MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzNCwweDA0LDB4ZWMsMHgwMCwweGE4LDB4MDAgfX0sCi0gezE2LCAweGUyNzAsIDAsIHsweDIyLDB4ZjAsMHgwYiwweDAwLDB4MDIsMHg4OCwweDAwLDB4YjMsMHgwMCwweDI4LDB4ZTAsMHgwYiwweDE0LDB4MDIsMHhhMCwweDAwIH19LAotIHsxNiwgMHhlMjgwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHhiNywweDgwLDB4MmQsMHhlOCwweDA4LDB4NzgsMHgwMiwweDBlLDB4YzgsMHhhNywweDkwLDB4MjEgfX0sCi0gezE2LCAweGUyYTAsIDAsIHsweGE4LDB4MTksMHgzOCwweDUyLDB4OWUsMHhjMSwweDg3LDB4ODAsMHgyMSwweGUyLDB4MGIsMHhkOSwweDgyLDB4OWUsMHgwMCwweGI2IH19LAotIHsxNiwgMHhlMmIwLCAwLCB7MHhhMCwweDJkLDB4MjAsMHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4YjQsMHhjMSwweDIxLDB4MjAsMHgwOSwweDQ4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZTJjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDgwLDB4YjMsMHgxMCwweDNlLDB4ZTAgfX0sCi0gezE2LCAweGUyZDAsIDAsIHsweDBlLDB4M2EsMHgwNywweDRlLDB4MDAsMHhjYiwweDkwLDB4M2EsMHg2MSwweDBkLDB4MzgsMHgwMywweGNlLDB4ZDEsMHhlMSwweDk4IH19LAotIHsxNiwgMHhlMmUwLCAwLCB7MHgzMCwweGE0LDB4OGYsMHgxMCwweDAzLDB4ODgsMHgwMCwweGJhLDB4YTEsMHgzYywweDg0LDB4MDcsMHgwMCwweDAzLDB4ODIsMHhkNCB9fSwKLSB7MTYsIDB4ZTJmMCwgMCwgezB4ZDEsMHgwMCwweDcyLDB4ODAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMDAsIDAsIHsweDQwLDB4MTUsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMyLDB4MjMsMHhlYywweGIwLDB4ZmYsMHgwMCwweDMyIH19LAotIHsxNiwgMHhlMzEwLCAwLCB7MHgwNCwweDA2LDB4YjQsMHgyMywweDdjLDB4MTAsMHhiZiwweDAwLDB4M2UsMHg4NCwweDBmLDB4YjAsMHgwMywweDdjLDB4NDAsMHhmZiB9fSwKLSB7MTYsIDB4ZTMyMCwgMCwgezB4MDAsMHgzMywweDQwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDAsMHhiZiwweDQwLDB4MGYsMHhjOCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGUzMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTQsMHgwMCwweGNiLDB4MzMsMHgzZSwweGM4IH19LAotIHsxNiwgMHhlMzQwLCAwLCB7MHg0YywweGIwLDB4MDMsMHhhYywweDkwLDB4ZGIsMHhhMCwweDM2LDB4YzAsMHgwZSwweGJhLDB4NDMsMHg2YywweDAwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4ZTM1MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4MDAsMHgwZiwweDI4LDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTgsMHg0MywweDYwLDB4MDAgfX0sCi0gezE2LCAweGUzNjAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDQwLDB4NGYsMHgwOCwweDBiLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgxMCwweDA3LDB4MDgsMHgyYywweGNhLDB4MDgsMHgyMCwweDAyLDB4MWMsMHgyMCwweDg3LDB4MjgsMHgzZiB9fSwKLSB7MTYsIDB4ZTM4MCwgMCwgezB4ODAsMHg4YSwweGYwLDB4MDIsMHgxZCwweDQwLDB4ODcsMHgwNCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4YjYgfX0sCi0gezE2LCAweGUzOTAsIDAsIHsweDAwLDB4MmQsMHg4MCwweDBiLDB4NjAsMHgwMywweDFjLDB4MDAsMHhiNSwweDAwLDB4MmQsMHg4MCwweDBiLDB4NzAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhlM2EwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NywweGEwLDB4MmQsMHhlNCB9fSwKLSB7MTYsIDB4ZTNiMCwgMCwgezB4MGEsMHg1OCwweDAyLDB4MWUsMHgwMSwweDgzLDB4OTAsMHgyMSwweDcwLDB4MGIsMHg3OSwweDAyLDB4OWUsMHgwMSwweDg1LDB4YzAgfX0sCi0gezE2LCAweGUzYzAsIDAsIHsweDJkLDB4ZTAsMHg0YiwweDU4LDB4MTIsMHgxYSwweDAwLDB4YjYsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4MDIsMHg1MiwweDAwIH19LAotIHsxNiwgMHhlM2QwLCAwLCB7MHhiNCwweDgwLDB4MmQsMHgyMCwweDBiLDB4NDgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNlMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDg4LDB4MzYsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwLDB4NmMgfX0sCi0gezE2LCAweGUzZjAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDBhLDB4YWMsMHgwMCwweDliLDB4ZTAsMHg2YywweGM4LDB4MGIsMHgzMiwweDAyLDB4MGMsMHgwMSwweGIzIH19LAotIHsxNiwgMHhlNDAwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDEwLDB4YjMsMHg0MCwweDJjLDB4YzAsMHgwYiwweDNjLDB4ODIsMHgxMiB9fSwKLSB7MTYsIDB4ZTQxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAyLDB4Y2EsMHgwMCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGU0MjAsIDAsIHsweDBlLDB4ZTQsMHg4YiwweDI4LDB4MDAsMHhjYSwweDAwLDB4MzMsMHg5NSwweDBmLDB4YTAsMHgwNywweGE4LDB4MDIsMHhjZSwweDQwIH19LAotIHsxNiwgMHhlNDMwLCAwLCB7MHgzZiwweGIwLDB4MGYsMHhlNCwweDgyLDB4MjgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDIzLDB4NjgsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ0MCwgMCwgezB4ZmEsMHg0MCwweDNlLDB4ODEsMHg0ZiwweGE0LDB4ZTMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0NTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDgwLDB4ZjAsMHgwMCwweDNjLDB4MDAsMHgyZiwweDAwLDB4MDIsMHg2MCwweDAwLDB4ZTgsMHgwMCwweDNjIH19LAotIHsxNiwgMHhlNDYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMSwweDIwLDB4MDAsMHhlOCwweDA0LDB4NWUsMHgwNCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4ZTQ3MCwgMCwgezB4MDEsMHgzZiwweDEwLDB4MGYsMHhjNCwweDAzLDB4YjAsMHgwMCwweGZjLDB4MDksMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGU0ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGE5LDB4MjAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhlNDkwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHg0NCwweDA0LDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDA0LDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4ZTRhMCwgMCwgezB4MzIsMHg0MCwweDhmLDB4OTAsMHgwYiwweGU0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0NCwweDBlLDB4OTgsMHgwMywweGU2LDB4MDAgfX0sCi0gezE2LCAweGU0YjAsIDAsIHsweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MTgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ZTRkMCwgMCwgezB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ZDksMHgwNCwweDIyLDB4NDAsMHgwYiwweDFjLDB4MGIsMHg2NCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGU0ZTAsIDAsIHsweDk0LDB4MmMsMHg1MCwweDA4LDB4OWMsMHgwMiwweGU0LDB4MTQsMHhiOSwweDkwLDB4MGUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhlNGYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDIsMHg4OSwweDAwLDB4MjYsMHg0MCB9fSwKLSB7MTYsIDB4ZTUwMCwgMCwgezB4NGEsMHg5MCwweDAyLDB4NjQsMHgwMCwweDk5LDB4MDQsMHgyZSwweDQwLDB4MDgsMHg5OCwweDgyLDB4ZTQsMHgwMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweGU1MTAsIDAsIHsweDZhLDB4NDAsMHgwYSwweDkyLDB4ODIsMHhlNCwweDAwLDB4YmQsMHgwMSwweDJmLDB4NTAsMHgxMiwweGQ2LDB4MDIsMHhmNCwweDQwIH19LAotIHsxNiwgMHhlNTIwLCAwLCB7MHhiZCwweDAwLDB4MGYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIyLDB4MmMgfX0sCi0gezE2LCAweGU1NDAsIDAsIHsweDQ4LDB4YTgsMHgxMiwweDA2LDB4YzQsMHg5MCwweDkxLDB4MjAsMHgyOCwweDUwLDB4MGIsMHg5MCwweDAyLDB4NDUsMHgwMCwweGI1IH19LAotIHsxNiwgMHhlNTUwLCAwLCB7MHg0MCwweDZkLDB4NDAsMHgwOCwweDUwLDB4MTIsMHhkNCwweDA0LDB4YjUsMHgwMiwweDJkLDB4NDAsMHgwYiwweDUwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZTU2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHgwMCwweDM2LDB4MTQgfX0sCi0gezE2LCAweGU1NzAsIDAsIHsweDBhLDB4ODUsMHgwMywweDQxLDB4NDAsMHhkOCwweDUwLDB4MmUsMHgxNCwweDBjLDB4ODUsMHgwMywweGMxLDB4NDAsMHhjOCwweDUwIH19LAotIHsxNiwgMHhlNTgwLCAwLCB7MHhiYSwweDAwLDB4MGUsMHg4MCwweDIzLDB4ZTAsMHgwMCwweDc4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwNCB9fSwKLSB7MTYsIDB4ZTU5MCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1YTAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQwLDB4ZDksMHgxMCwweDNlLDB4NDQsMHgwNywweGYxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmIH19LAotIHsxNiwgMHhlNWIwLCAwLCB7MHg0NCwweGFmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4MzcsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZTVjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGU1ZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHhkNCwweGZkLDB4YTIsMHgzYSwweDcwIH19LAotIHsxNiwgMHhlNWUwLCAwLCB7MHg4YywweDllLDB4MDMsMHgyNiwweDgwLDB4YzksMHhhMCwweDMyLDB4NjgsMHgwYywweGRiLDB4NDMsMHgyNywweDgwLDB4OWQsMHhhMiB9fSwKLSB7MTYsIDB4ZTVmMCwgMCwgezB4YjcsMHg0MCwweDBmLDB4NTAsMHgwMywweDY1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMSwweDA3LDB4ZDAsMHgwMywweGY1LDB4MDQgfX0sCi0gezE2LCAweGU2MDAsIDAsIHsweGZkLDB4NDAsMHgyZiwweGMwLDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg4OCwweGI4LDB4NTAsMHgyMiwweDM4LDB4MDgsMHg4ZSwweDAwLDB4YTIsMHhhMCwweDg4LDB4ZTgsMHgyMiB9fSwKLSB7MTYsIDB4ZTYyMCwgMCwgezB4MzgsMHg0OCwweDg4LDB4MDMsMHg2MiwweDEwLDB4YTgsMHhlOCwweDNjLDB4MDAsMHgwYiwweDgwLDB4MDMsMHg2MiwweDgwLDB4YjggfX0sCi0gezE2LCAweGU2MzAsIDAsIHsweDAxLDB4MmUsMHg4MCwweDBiLDB4ODAsMHgyMSwweGEyLDB4MDAsMHhiMCwweDg0LDB4MmUsMHgyYSwweDI4LDB4OGEsMHg4MiwweGNlIH19LAotIHsxNiwgMHhlNjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHhiMSwweDAwLDB4MjgsMHg1OCB9fSwKLSB7MTYsIDB4ZTY1MCwgMCwgezB4ODAsMHgxMywweDQwLDB4MDUsMHgwMCwweDgxLDB4NDAsMHgyMCwweDUyLDB4MjgsMHgxNiwweDAyLDB4ODUsMHg4MCwweDliLDB4YzIgfX0sCi0gezE2LCAweGU2NjAsIDAsIHsweDY0LDB4NDEsMHg4YiwweDk4LDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwOSwweDJjLDB4NDAsMHgxYiwweDEwLDB4MjAsMHhjNCwweDAwIH19LAotIHsxNiwgMHhlNjcwLCAwLCB7MHhiMSwweDAwLDB4MmMsMHg0MCwweDQ4LDB4MTAsMHgwMiwweGMyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY4MCwgMCwgezB4MTgsMHgxNSwweGE1LDB4ODQsMHhiOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHgwMSwweDAwLDB4MjAgfX0sCi0gezE2LCAweGU2OTAsIDAsIHsweDUwLDB4MDgsMHg5MCwweDQyLDB4NjQsMHgwMCwweGE5LDB4MTAsMHhhZSwweDU4LDB4MDMsMHg5OCwweDAyLDB4NjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlNmEwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDYsMHhhNCwweDEwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwOCwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4ZTZiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNywweDAwLDB4ZjksMHgwMCwweDJhLDB4NDAgfX0sCi0gezE2LCAweGU2YzAsIDAsIHsweDJjLDB4OTQsMHgwYiwweDI0LDB4MDIsMHhjOSwweDAwLDB4YjIsMHg0NCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQsMHhkOSwweDgwIH19LAotIHsxNiwgMHhlNmQwLCAwLCB7MHhiNiwweDQxLDB4OGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGY5LDB4NjAsMHgzZSwweDQwLDB4MGYsMHg5NiwweDAzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4ZTZlMCwgMCwgezB4ZjksMHg4MCwweDNlLDB4NDIsMHg4YywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ZjAsIDAsIHsweDI4LDB4MDEsMHhhNiwweDAwLDB4ZjEsMHgwMCwweDNlLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhlNzAwLCAwLCB7MHg0MCwweDhmLDB4OTAsMHgyMywweGM0LDB4MTAsMHhmOSwweDAwLDB4YmUsMHg0MCwweDBmLDB4OTAsMHgwYiwweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZTcxMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MDcsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGU3MjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwIH19LAotIHsxNiwgMHhlNzMwLCAwLCB7MHgwZSwweDg0LDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwYywweDAwLDB4ODMsMHgyMCwweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ZTc0MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgxMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MDggfX0sCi0gezE2LCAweGU3NTAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMiwweDgwLDB4NDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGFhLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ZTc3MCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDMsMHg2OCwweDAwLDB4ODIsMHgwMCwweDJmLDB4ODAsMHgwOCwweGU2LDB4MDIsMHgyOCwweDA0LDB4YmUgfX0sCi0gezE2LCAweGU3ODAsIDAsIHsweDQwLDB4MjMsMHg4MCwweDBiLDB4ZTgsMHgwMiwweGVhLDB4MDAsMHhiZSwweDAxLDB4MjIsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHhlNzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDEsMHg5MywweDAxLDB4MjAsMHhjMSB9fSwKLSB7MTYsIDB4ZTdhMCwgMCwgezB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyMCwweGMwLDB4ODgsMHgzOCwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDAgfX0sCi0gezE2LCAweGU3YjAsIDAsIHsweDI0LDB4YzAsMHgwYSwweDNlLDB4NDIsMHg4YywweDAwLDB4YjIsMHg0YywweDI0LDB4ZTAsMHg0YiwweDM4LDB4MDIsMHhjNCwweDQxIH19LAotIHsxNiwgMHhlN2MwLCAwLCB7MHhiMywweDAwLDB4MjIsMHhjMCwweDBiLDB4MTAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDAwLDB4MjAsMHhjOSwweDQ4LDB4NzAsMHgwMiwweGRjLDB4NDAsMHhhNywweDE0LDB4MmMgfX0sCi0gezE2LCAweGU3ZTAsIDAsIHsweGM4LDB4MjgsMHgzMCwweDgyLDB4NWMsMHhjMSwweDg1LDB4MDAsMHgyZCwweGUwLDB4MmEsMHhmMCwweDEyLDB4MWMsMHg4MCwweGI3IH19LAotIHsxNiwgMHhlN2YwLCAwLCB7MHhhMCwweDIxLDB4ODIsMHgwYiwweDcwLDB4ODIsMHhkNCwweDExLDB4YjYsMHg4MCwweDIxLDB4NDAsMHg0YiwweDUwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4ZTgwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgwLDB4ZDUsMHg4MCwweDI5LDB4ZWEgfX0sCi0gezE2LCAweGU4MTAsIDAsIHsweDRlLDB4M2EsMHgwNywweDBlLDB4ODAsMHhlMywweGIwLDB4MzEsMHhmYywweDBjLDB4NDgsMHgwMywweDBlLDB4NDEsMHhlNywweDgwIH19LAotIHsxNiwgMHhlODIwLCAwLCB7MHgzZCwweGUwLDB4MGUsMHg3OCwweDAzLDB4OWUsMHg4MCwweGY0LDB4YzQsMHgzNSwweGUwLDB4MGYsMHg3OCwweDI3LDB4ZGUsMHgwMCB9fSwKLSB7MTYsIDB4ZTgzMCwgMCwgezB4ZjUsMHg4MCwweGIxLDB4ZTAsMHgwZiwweDU4LDB4MDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4MzEsMHgwNCwweDNhLDB4YzQsMHgwZiwweGI1LDB4OTMsMHg2ZCwweDA4LDB4ZmIsMHg0MCwweDNhIH19LAotIHsxNiwgMHhlODUwLCAwLCB7MHhjOCwweDYzLDB4ODAsMHgyMywweGVjLDB4OTgsMHhlOSwweDAwLDB4M2UsMHhjMCwweDBkLDB4YjAsMHg0MywweGVjLDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4ZTg2MCwgMCwgezB4ODAsMHgzZSwweDQwLDB4NGYsMHhhMCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4NjgsMHgzZSwweDQwLDB4OGYsMHg5OCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGU4NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg2MCwweGViLDB4OTAsMHgzZSwweGU0IH19LAotIHsxNiwgMHhlODgwLCAwLCB7MHgwZiwweGI4LDB4MDAsMHgzZiwweDQwLDB4Y2IsMHg4MCwweDdmLDB4ZTAsMHgwZSwweGZiLDB4MDMsMHgyZSwweDQwLDB4Y2IsMHg4MCB9fSwKLSB7MTYsIDB4ZTg5MCwgMCwgezB4M2YsMHhlMCwweDBmLDB4NzksMHg0MywweDJlLDB4NjAsMHhjYSwweDgxLDB4MzMsMHg2NCwweDhmLDB4ZDksMHgwMywweGZlLDB4MDAgfX0sCi0gezE2LCAweGU4YTAsIDAsIHsweGZmLDB4ODEsMHgzMywweGUwLDB4MGYsMHhkOSwweDhiLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGIwLCAwLCB7MHhhOCwweDAxLDB4OWMsMHgwMCwweDg3LDB4ODEsMHgxOSwweGU0LDB4MGIsMHhmYSwweDEzLDB4NWUsMHg4MCwweDg3LDB4YjIsMHgyZCB9fSwKLSB7MTYsIDB4ZThjMCwgMCwgezB4ZWMsMHgwZCwweDc5LDB4MDEsMHg5ZSwweDAwLDB4ZDUsMHg5MCwweDJkLDB4ZjgsMHgwYiwweDc4LDB4MDMsMHg3ZSwweDA4LDB4YWIgfX0sCi0gezE2LCAweGU4ZDAsIDAsIHsweDkxLDB4MjksMHg4NSwweDBiLDB4NTEsMHgwMiwweGRjLDB4NDgsMHhiNiwweDQwLDB4MjEsMHg0MCwweDBiLDB4NTAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhlOGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhjLDB4MTQsMHhiNSwweDIwLDB4NmQsMHhjOCB9fSwKLSB7MTYsIDB4ZThmMCwgMCwgezB4MGIsMHg3MiwweDAyLDB4NWMsMHg4MCwweDg3LDB4MjAsMHg2OSwweGMwLDB4ODgsMHg1MywweDAyLDB4Y2MsMHg4MSwweDk3LDB4NTAgfX0sCi0gezE2LCAweGU5MDAsIDAsIHsweDJkLDB4YzgsMHgwYiwweGY3LDB4MGEsMHhkYywweGMwLDB4ODQsMHgwMSwweDIxLDB4NDQsMHgxYiwweDcwLDB4MjIsMHhkYywweDAwIH19LAotIHsxNiwgMHhlOTEwLCAwLCB7MHhiNSwweDAwLDB4MjEsMHhjNCwweDBiLDB4NTAsMHg4NiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkyMCwgMCwgezB4MjAsMHgxNCwweGNmLDB4MzAsMHg5MSwweDAwLDB4MmMsMHhjMCwweDBiLDB4MzQsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMgfX0sCi0gezE2LCAweGU5MzAsIDAsIHsweGYyLDB4MGIsMHgxMCwweDIyLDB4MGMsMHgwMCwweDkxLDB4MDAsMHgyYywweGM4LDB4MGIsMHgxOCwweDBhLDB4Y2QsMHgwMSwweGEzIH19LAotIHsxNiwgMHhlOTQwLCAwLCB7MHgwMCwweDI4LDB4NjAsMHgwYiwweDIxLDB4MDIsMHhjZSwweDIwLDB4YjgsMHg0MCwweGEwLDB4NTQsMHgwYiwweDE4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4ZTk1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiZCwweDAwLDB4ZjksMHgwMCwweDJmLDB4YzAgfX0sCi0gezE2LCAweGU5NjAsIDAsIHsweDBmLDB4ZjQsMHgwMiwweDdjLDB4MTIsMHhjZiwweDAzLDB4M2YsMHhjMiwweDBlLDB4YjAsMHgwMywweGZjLDB4MDQsMHg5YiwweDAyIH19LAotIHsxNiwgMHhlOTcwLCAwLCB7MHgyZSwweGYyLDB4MGYsMHhhNCwweDBiLDB4ZGMsMHgwMCwweGNlLDB4MDAsMHhiMCwweGM4LDB4OGYsMHhhNCwweDAzLDB4ZWYsMHgwMCB9fSwKLSB7MTYsIDB4ZTk4MCwgMCwgezB4ZjgsMHg4MCwweDMyLDB4ZjUsMHgxZiwweGRkLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5OTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDQwLDB4ZTksMHgwMCwweDNhLDB4YzAsMHgwZiwweGIxLDB4MDMsMHhjYywweDAwLDB4ZjMsMHgwMCwweDNlIH19LAotIHsxNiwgMHhlOWEwLCAwLCB7MHhjMCwweDBkLDB4YjQsMHgwOSwweGVjLDB4MTgsMHhmOSwweDEwLDB4M2UsMHgxMCwweDRmLDB4YjEsMHgwYSwweDZjLDB4ODAsMHhmOSB9fSwKLSB7MTYsIDB4ZTliMCwgMCwgezB4ODksMHgzNiwweDgyLDB4MGIsMHhhNiwweDAzLDB4ZWMsMHg1MCwweGY5LDB4NTAsMHgzZSwweGMwLDB4MWYsMHg5MCwweDAzLDB4NjAgfX0sCi0gezE2LCAweGU5YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZkLDB4YTAsMHgzZCwweGMwIH19LAotIHsxNiwgMHhlOWQwLCAwLCB7MHgwYywweDcwLDB4ODMsMHgyYywweDAwLDB4ZWYsMHgwMiwweDM1LDB4YzAsMHgwZCwweGUyLDB4MDMsMHhmYywweDA0LDB4ZmYsMHgwMiB9fSwKLSB7MTYsIDB4ZTllMCwgMCwgezB4MmQsMHhlMCwweDhlLDB4ZjAsMHgwMywweDNjLDB4MTAsMHhkYywweDAwLDB4M2YsMHg4MCwweDBjLDB4ZDgsMHgwMywweGZjLDB4MDAgfX0sCi0gezE2LCAweGU5ZjAsIDAsIHsweGRlLDB4MTgsMHgzMywweGYwLDB4NGYsMHhkMCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTAwLCAwLCB7MHg4MSwweDAwLDB4NmMsMHgwMCwweGI5LDB4MDAsMHgyZSwweGMwLDB4NGMsMHhiMCwweDAzLDB4NmMsMHgwMCwweDhiLDB4MDIsMHgzNiB9fSwKLSB7MTYsIDB4ZWExMCwgMCwgezB4YzAsMHgwZCwweGFjLDB4MTIsMHhlYywweDAwLDB4NzksMHgwMCwweDJlLDB4MzAsMHgwZCwweDNkLDB4NDIsMHhhYywweDAwLDB4ODkgfX0sCi0gezE2LCAweGVhMjAsIDAsIHsweDg4LDB4MWEsMHgxMCwweDBkLDB4ODYsMHgwMiwweGVlLDB4MDQsMHhiYiwweDQwLDB4MjIsMHhlMCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhlYTMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDEsMHhiOSwweDAwLDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4ZWE0MCwgMCwgezB4MDgsMHhiMCwweDQyLDB4YWMsMHgwMCwweDBiLDB4MDUsMHgyNiwweGMwLDB4MDksMHg5NCwweDIwLDB4ZWMsMHgwMCwweGI5LDB4ODAgfX0sCi0gezE2LCAweGVhNTAsIDAsIHsweDZlLDB4YzQsMHg4OCwweGIwLDB4ODIsMHgyYywweDAwLDB4OWIsMHg4MiwweDJlLDB4NDIsMHgwOCwweDgxLDB4MDIsMHhlNCwweDgwIH19LAotIHsxNiwgMHhlYTYwLCAwLCB7MHhiOCwweDAwLDB4MjIsMHhjMSwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHhiMSwweDI1LDB4MmMsMHhjYSwweDA4LDB4MzQsMHg0NiwweGNjLDB4MDgsMHg4MywweDAwLDB4MjQgfX0sCi0gezE2LCAweGVhODAsIDAsIHsweGMyLDB4MGIsMHgwMiwweDUyLDB4Y2MsMHg4MSwweDgzLDB4MDAsMHgyYywweDAwLDB4MTksMHhiMiwweDQyLDB4YWMsMHg4MCwweDgxIH19LAotIHsxNiwgMHhlYTkwLCAwLCB7MHgwOCwweDI4LDB4ODAsMHgwOSwweDAwLDB4MDIsMHhjNCwweDQwLDB4YjEsMHgwMCwweDIwLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZWFhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2YywweDAwLDB4YjksMHgwMCwweDNmLDB4ZDAgfX0sCi0gezE2LCAweGVhYjAsIDAsIHsweDA4LDB4ZjYsMHgwNywweGJjLDB4YzIsMHhhZiwweDMwLDB4NzUsMHhkYywweDBkLDB4MTYsMHgwMiwweGZjLDB4ZTAsMHhiOSwweDUwIH19LAotIHsxNiwgMHhlYWMwLCAwLCB7MHgzZSwweGNjLDB4MGMsMHhiMCwweDIzLDB4MmMsMHgxMCwweGQ5LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg5MCwweDAzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4ZWFkMCwgMCwgezB4ZGUsMHgwMSwweDMyLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhZTAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmQsMHgxMCwweDNmLDB4Y2EsMHgyZSwweGY2LDB4MDMsMHg2ZCwweDk0LDB4OWYsMHgzMCwweDNhIH19LAotIHsxNiwgMHhlYWYwLCAwLCB7MHhjOSwweDBjLDB4ODMsMHg5MywweGZjLDB4ODAsMHhmZiwweDExLDB4N2UsMHgxOSwweDBiLDB4YjEsMHgwMywweGZjLDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4ZWIwMCwgMCwgezB4MDgsMHgzYiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHg4MCwweDc3LDB4MDAsMHhiZiwweGMwLDB4MGYsMHg1MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGViMTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHgwMCwweGY0LDB4OTQsMHgzNywweGM4IH19LAotIHsxNiwgMHhlYjIwLCAwLCB7MHgwZCwweDY5LDB4NjMsMHg3YywweDEwLDB4ZmYsMHg2MiwweDM3LDB4YzAsMHgwZCwweGI0LDB4MDMsMHg3YywweDYwLDB4ZDQsMHg4MCB9fSwKLSB7MTYsIDB4ZWIzMCwgMCwgezB4M2YsMHg0MCwweDBmLDB4NDgsMHgyMywweDMyLDB4MDAsMHhjZSwweDAwLDB4YmYsMHg0MCwweDhmLDB4ZDEsMHgwMywweDMwLDB4ZTAgfX0sCi0gezE2LCAweGViNDAsIDAsIHsweGZmLDB4MzAsMHgzYiwweDYwLDB4MGYsMHhkOCwweDAzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjUwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHgyMCwweGI4LDB4MjQsMHgyMywweGY0LDB4NDksMHhhMiwweDAyLDB4M2YsMHg0MCwweDhmLDB4NTEsMHgyMyB9fSwKLSB7MTYsIDB4ZWI2MCwgMCwgezB4ZGEsMHgwOCwweGY2LDB4MTIsMHgzZCwweDgwLDB4OWIsMHg4MCwweDJlLDB4NDksMHg0YiwweDgwLDB4MDMsMHg0MCwweDAwLDB4ZDkgfX0sCi0gezE2LCAweGViNzAsIDAsIHsweDAxLDB4MjIsMHg3NCwweDBiLDB4ZDUsMHgwMiwweDIxLDB4MDAsMHhiZiwweDQyLDB4MmUsMHg0OSwweDBiLDB4OWMsMHgwMiwweGUwIH19LAotIHsxNiwgMHhlYjgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNkLDB4ODAsMHhiOCwweDIwLDB4MjgsMHhjMSB9fSwKLSB7MTYsIDB4ZWI5MCwgMCwgezB4MWIsMHhhMCwweDAyLDB4NGMsMHgwMCwweDkzLDB4MjAsMHgyYywweGQ4LDB4MGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4MDEgfX0sCi0gezE2LCAweGViYTAsIDAsIHsweDJjLDB4YzYsMHgxYSwweGEwLDB4MDIsMHg2OCwweDA4LDB4ODMsMHgwMCwweGE0LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmIwLCAwLCB7MHhiMywweDEwLDB4MjgsMHg0MiwweDBiLDB4MTQsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHhiOCwweDYwLDB4MmEsMHhjMCwweDFiLDB4YTAsMHg4ZSwweGFjLDB4MDEsMHg5YiwweDA1LDB4MjYgfX0sCi0gezE2LCAweGViZDAsIDAsIHsweGMwLDB4MDMsMHhiMCwweDQyLDB4NmMsMHgwMCwweDliLDB4ODAsMHgyZSwweGMwLDB4MDMsMHhhMCwweDA2LDB4NjksMHgwMCwweDk5IH19LAotIHsxNiwgMHhlYmUwLCAwLCB7MHg4MCwweGFhLDB4YzAsMHgwYiwweDkwLDB4MDIsMHg2MywweDAwLDB4M2IsMHgwMCwweDJlLDB4NTgsMHg0YiwweDkwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4ZWJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlYywweDA0LDB4ZjgsMHg4MCwweGJhLDB4YzAgfX0sCi0gezE2LCAweGVjMDAsIDAsIHsweDBmLDB4MzAsMHgwMywweDZjLDB4MTAsMHhkYiwweDAzLDB4MzYsMHhjMCwweDhmLDB4YjAsMHgwMywweGVjLDB4MDgsMHhkOCwweDgwIH19LAotIHsxNiwgMHhlYzEwLCAwLCB7MHg3ZSwweGUwLDB4MDYsMHg4OCwweDAzLDB4NDEsMHgwOCwweGNiLDB4YTAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDBiLDB4MmEsMHgwMCB9fSwKLSB7MTYsIDB4ZWMyMCwgMCwgezB4N2IsMHgwMCwweDNhLDB4MDEsMHgwZiwweDkwLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4NCwweDMyLDB4YzAsMHgwYywweGY5LDB4MDMsMHg1YywweDEwLDB4ZWYsMHgwMCwweDNiIH19LAotIHsxNiwgMHhlYzQwLCAwLCB7MHhjMCwweDBjLDB4NzAsMHgwMywweDljLDB4MDAsMHhlYywweDAxLDB4M2YsMHhlNCwweDRmLDB4ZDEsMHgwMywweGYxLDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4ZWM1MCwgMCwgezB4MDUsMHgzMywweDYwLDB4MGYsMHhkMCwweDAzLDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZiwweDIxLDB4MGYsMHhkMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGVjNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGM4LDB4NDAsMHgzYSwweGM2IH19LAotIHsxNiwgMHhlYzcwLCAwLCB7MHgwZCwweGI0LDB4MDMsMHg2YywweDAwLDB4ZjMsMHgwMCwweDM0LDB4YzAsMHgwZSwweGIwLDB4MDMsMHg2YywweDAwLDB4ZTksMHgxMCB9fSwKLSB7MTYsIDB4ZWM4MCwgMCwgezB4M2EsMHhjMCwweDBmLDB4ODQsMHgwMywweDJjLDB4NjAsMHhjYiwweDAwLDB4MzIsMHg2MCwweDBjLDB4NTAsMHgwMywweDYxLDB4MDAgfX0sCi0gezE2LCAweGVjOTAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDkwLDB4MGUsMHg5MCwweGEzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2EwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMiwweDg4LDB4MDEsMHgwMSwweGYwLDB4MjAsMHhiMCwweDAxLDB4M2UsMHgwMCwweDNmLDB4MDAsMHgzMyB9fSwKLSB7MTYsIDB4ZWNiMCwgMCwgezB4YzAsMHgwYiwweGYwLDB4MzIsMHgzYywweDA4LDB4ODksMHg4MCwweDIyLDB4YzAsMHgwMSwweDE1LDB4MTIsMHhhYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGVjYzAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDQ4LDB4ZGIsMHgwMiwweDJmLDB4NDAsMHg4ZiwweDAwLDB4MmUsMHgwMSwweDA4LDB4ZDQsMHg4MCwweDMyIH19LAotIHsxNiwgMHhlY2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHgwOCwweDAwLDB4MDgsMHhmMCB9fSwKLSB7MTYsIDB4ZWNlMCwgMCwgezB4MDgsMHgwMCwweDEyLDB4NGMsMHgwMCwweDMzLDB4MDEsMHgyNCwweGMwLDB4NGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweGEwLDB4MjAgfX0sCi0gezE2LCAweGVjZjAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg0NiwweDA0LDB4ODMsMHgwNCwweDIwLDB4YzAsMHgyOSwweDE4LDB4MDIsMHgwNCwweDQwIH19LAotIHsxNiwgMHhlZDAwLCAwLCB7MHhiMywweDAwLDB4MmMsMHg0MCwweDBhLDB4MWMsMHg0MiwweGIxLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDEsMHg4ZCwweDgwLDB4MjEsMHhlMCwweDE4LDB4YzgsMHgwMiwweDFlLDB4MDAsMHhiMywweGEwLDB4MjEgfX0sCi0gezE2LCAweGVkMjAsIDAsIHsweGUwLDB4MWIsMHgzOCwweDAyLDB4MGUsMHgwMSwweGE3LDB4ODAsMHgyMSwweGUwLDB4MDksMHhkOCwweDQwLDB4ZDYsMHg0MCwweDg3IH19LAotIHsxNiwgMHhlZDMwLCAwLCB7MHg4MCwweDAxLDB4ZTAsMHgwOSwweDU5LDB4MDIsMHgxNiwweDAwLDB4OTcsMHg4NCwweDJkLDB4NjAsMHgwOCwweDU4LDB4NDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDQwLDB4YzAsMHgwMCwweDM4LDB4YzQgfX0sCi0gezE2LCAweGVkNTAsIDAsIHsweDBjLDB4MzAsMHgyNywweDRjLDB4MjAsMHhmMywweDAxLDB4MzQsMHhjMSwweDBlLDB4M2EsMHgwMywweDRjLDB4YzQsMHhlMCwweDAwIH19LAotIHsxNiwgMHhlZDYwLCAwLCB7MHgxOCwweGM4LDB4MGYsMHgzNCwweDAzLDB4NDQsMHg0MCwweGMzLDB4MDAsMHgzMCwweGMwLDB4MGQsMHg5MCwweDAzLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ3MCwgMCwgezB4ZjMsMHgwMCwweDNlLDB4NDAsMHgwZSwweDEwLDB4MDEsMHg5YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZjksMHgwMCwweDBlLDB4ZDQsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZmIsMHgyMCwweDNmIH19LAotIHsxNiwgMHhlZDkwLCAwLCB7MHhjNCwweDBmLDB4ZjEsMHgwMywweGVjLDB4NjAsMHhkYiwweDEwLDB4M2YsMHhjMCwweDRmLDB4ZjAsMHgwMywweGE0LDB4NDYsMHhmYiB9fSwKLSB7MTYsIDB4ZWRhMCwgMCwgezB4MDAsMHhiZCwweGMwLDB4MGUsMHhkMCwweDBiLDB4YjQsMHgwMCwweGVmLDB4NDgsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGVkYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGY4LDB4MDAsMHgzMiwweGQ0IH19LAotIHsxNiwgMHhlZGMwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhZCwweDAwLDB4ZWIsMHgwOCwweDIyLDB4ZDIsMHgwYywweGI2LDB4MDMsMHg2YywweDAwLDB4ZjIsMHg4MCB9fSwKLSB7MTYsIDB4ZWRkMCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YTAsMHgwMywweDI4LDB4MTAsMHhjYiwweDAwLDB4YjIsMHhjMCwweDBmLDB4ZDYsMHgwMywweDI4LDB4MTAgfX0sCi0gezE2LCAweGVkZTAsIDAsIHsweGZiLDB4MjAsMHgzZSwweDQwLDB4NGYsMHg5OSwweDEzLDB4MmIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGYwLCAwLCB7MHg0OCwweDExLDB4OWQsMHgxMCwweGI0LDB4MDEsMHgyMSwweGMxLDB4OGIsMHhjMCwweDAyLDB4MWMsMHhhMCwweGJmLDB4MDQsMHgyNyB9fSwKLSB7MTYsIDB4ZWUwMCwgMCwgezB4YzgsMHgwOCwweDc1LDB4MDIsMHgxYywweGMwLDB4YjYsMHgwMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4NDIsMHgxOCwweDEwLDB4OGYgfX0sCi0gezE2LCAweGVlMTAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDBiLDB4NTQsMHhhMiwweDFjLDB4MDAsMHhiNywweDA0LDB4MmQsMHg0MSwweDBiLDB4NTIsMHgwMiwweDEyIH19LAotIHsxNiwgMHhlZTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ODAsMHhiNiwweDg4LDB4YTUsMHhlMCB9fSwKLSB7MTYsIDB4ZWUzMCwgMCwgezB4MGIsMHg3OCwweDEyLDB4OWUsMHg4MSwweGE3LDB4OTAsMHgyNSwweGU0LDB4ODgsMHg3OCwweDAyLDB4MWUsMHg4MCwweGJmLDB4ODAgfX0sCi0gezE2LCAweGVlNDAsIDAsIHsweDI0LDB4NjAsMHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4ODcsMHg4NCwweDYxLDB4ZTAsMHgwYSwweDFhLDB4MGEsMHgxYSwweDAwIH19LAotIHsxNiwgMHhlZTUwLCAwLCB7MHhiNywweGEwLDB4MmQsMHhlMCwweDBiLDB4ZGEsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiYSwweGMwLDB4YTQsMHhjMCwweDBiLDB4MzQsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQgfX0sCi0gezE2LCAweGVlNzAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDBlLDB4MmMsMHgwMCwweGIzLDB4OTgsMHgyMCwweDYwLDB4MDksMHgzMywweDAyLDB4MmMsMHgwMCwweGEzIH19LAotIHsxNiwgMHhlZTgwLCAwLCB7MHhjOCwweDIwLDB4YzAsMHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJjLDB4ZjAsMHgwYiwweDEwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZWU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg4MCwweDM2LDB4ODEgfX0sCi0gezE2LCAweGVlYTAsIDAsIHsweDBiLDB4ZTAsMHgwMywweGE4LDB4MDAsMHhlYSwweDAwLDB4YjIsMHg4MCwweDA4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhmZSwweDAwIH19LAotIHsxNiwgMHhlZWIwLCAwLCB7MHgzNiwweGEwLDB4MWYsMHhlOCwweDEzLDB4M2IsMHg4MiwweGNlLDB4ZTAsMHgyMiwweDgwLDB4OGUsMHhhMCwweDAzLDB4MzgsMHgwMCB9fSwKLSB7MTYsIDB4ZWVjMCwgMCwgezB4YmEsMHgwMCwweDNmLDB4YTIsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNhLDB4MTAsMHgwNywweDgwLDB4MDMsMHhjMSwweDAwLDB4ZjgsMHgwMCwweDM4IH19LAotIHsxNiwgMHhlZWUwLCAwLCB7MHgwMCwweDJmLDB4ODAsMHgwMywweGEwLDB4MDEsMHhmOCwweDQyLDB4M2UsMHgwNSwweDBlLDB4ODAsMHgwYiwweGUwLDB4ODAsMHhkOCB9fSwKLSB7MTYsIDB4ZWVmMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDBiLDB4ZDIgfX0sCi0gezE2LCAweGVmMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzYSwweDUwIH19LAotIHsxNiwgMHhlZjEwLCAwLCB7MHg4ZiwweDkwLDB4ODMsMHhhNCwweDAyLDB4ZDEsMHgwMCwweGIyLDB4NDAsMHg0YywweDkwLDB4MjMsMHgyNCwweDA4LDB4YzksMHgwMSB9fSwKLSB7MTYsIDB4ZWYyMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4MTQsMHgwYSwweDI1LDB4MjAgfX0sCi0gezE2LCAweGVmMzAsIDAsIHsweGU5LDB4MDAsMHgzZSwweDQyLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwYSwweDg5LDB4MDAsMHgyMiwweDcwLDB4MGIsMHg5MCwweDEyLDB4MjUsMHg4MCwweGM5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZWY1MCwgMCwgezB4NDAsMHgwYSwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHgyMCwweDJjLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGVmNjAsIDAsIHsweGMxLDB4MzIsMHg0MCwweDBiLDB4OTgsMHgwMiwweDA2LDB4MDAsMHg4OSwweDkwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgxMiwweGUwIH19LAotIHsxNiwgMHhlZjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDA0LDB4MDAsMHg4OSwweDAwLDB4NmEsMHg0MiB9fSwKLSB7MTYsIDB4ZWY4MCwgMCwgezB4MGEsMHgxMCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHhhMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCwweDA5LDB4MDAgfX0sCi0gezE2LCAweGVmOTAsIDAsIHsweDJlLDB4NDAsMHg1OCwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHg4MCwweGFhLDB4NjAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA0IH19LAotIHsxNiwgMHhlZmEwLCAwLCB7MHhhOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDAwLDB4NjAsMHg0OCwweDBiLDB4MTAsMHgwMiwweDA0LDB4ODEsMHg4MSwweDIwLDB4NjAgfX0sCi0gezE2LCAweGVmYzAsIDAsIHsweDQ4LDB4MGEsMHgxMiwweDAyLDB4NDQsMHg4OCwweDgxLDB4MDAsMHgwZSwweDU5LDB4MGEsMHgxNCwweDAyLDB4MDUsMHgwMCwweDgxIH19LAotIHsxNiwgMHhlZmQwLCAwLCB7MHhjMCwweDI4LDB4NTAsMHg0OSwweDMwLDB4MDIsMHg4YywweDg0LDB4MDEsMHg2MCwweDJjLDB4NTAsMHgwYiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZWZlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzAsMHg1NCwweDJhLDB4MDAgfX0sCi0gezE2LCAweGVmZjAsIDAsIHsweDBlLDB4ODUsMHgwMywweGEwLDB4MDAsMHhjOCwweDUwLDB4MzIsMHgxNSwweDFlLDB4MDUsMHgyMiwweDIxLDB4NDIsMHhjOCwweDAwIH19LAotIHsxNiwgMHhmMDAwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwNCwweGM4LDB4MDAsMHgzYSwweDAwLDB4NGYsMHg4NSwweDAzLDB4YTEsMHg0MCB9fSwKLSB7MTYsIDB4ZjAxMCwgMCwgezB4NjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMywweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQ4LDB4ZTksMHgxMCwweDNlIH19LAotIHsxNiwgMHhmMDMwLCAwLCB7MHg0NSwweDBmLDB4OTEsMHgxMywweGU0LDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0NCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDIsMHhmZCB9fSwKLSB7MTYsIDB4ZjA0MCwgMCwgezB4NDAsMHgzMywweDUwLDB4MGYsMHhkNCwweDIzLDB4NzQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1NCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGYwNTAsIDAsIHsweDAyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDEsMHgzMywweDZhIH19LAotIHsxNiwgMHhmMDYwLCAwLCB7MHgwOSwweDkwLDB4MDMsMHhiNiwweDM0LDB4ZjksMHhjOCwweDMyLDB4NjQsMHgwYywweDlhLDB4MDMsMHhlNiwweGEwLDB4ZGQsMHgwMCB9fSwKLSB7MTYsIDB4ZjA3MCwgMCwgezB4M2MsMHg3MCwweDBmLDB4OTAsMHgwMywweGE1LDB4MDAsMHg4OSwweDgwLDB4MzMsMHgzMiwweDBmLDB4ZDgsMHgxMywweDNjLDB4MDAgfX0sCi0gezE2LCAweGYwODAsIDAsIHsweGZkLDB4MDAsMHg3MCwweDUwLDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDkwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweGI4LDB4YTgsMHgyMiwweDEwLDB4MDgsMHg4OCwweDAyLDB4MjEsMHgwMCwweGI4LDB4YzAsMHgyMCB9fSwKLSB7MTYsIDB4ZjBhMCwgMCwgezB4MzAsMHgwZCwweDhlLDB4ODcsMHg4MywweDg4LDB4ODgsMHgwMCwweDJlLDB4MzQsMHgwYiwweDhhLDB4ODIsMHgyMiwweDgwLDB4ZGMgfX0sCi0gezE2LCAweGYwYjAsIDAsIHsweGUwLDB4MjIsMHgzOCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhmOCwweGE4LDB4MmEsMHgyOCwweDBiLDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHhmMGMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MjAsMHhiMSwweDAwLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4ZjBkMCwgMCwgezB4MGEsMHg5MiwweDkyLDB4ODQsMHgxMSwweGIxLDB4MjQsMHg2OCwweDU4LDB4MDksMHgxMSwweDAyLDB4YzQsMHgyMCwweDkxLDB4MDEgfX0sCi0gezE2LCAweGYwZTAsIDAsIHsweDJjLDB4NDgsMHgxYiwweDUwLDB4MDIsMHg3NCwweDg0LDB4OTUsMHg0OCwweGFjLDB4NDgsMHgwYiwweDk0LDB4MDIsMHgwNCwweDA0IH19LAotIHsxNiwgMHhmMGYwLCAwLCB7MHhiMSwweDAyLDB4MjQsMHg0OCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjEwMCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHhiMSwweDIwLDB4MjIsMHg0MCwweDBhLDB4OTAsMHgwNiwweDJjLDB4MDEsMHhiOSwweDAwLDB4MmEgfX0sCi0gezE2LCAweGYxMTAsIDAsIHsweDQwLDB4MDksMHg5MCwweDAyLDB4YTQsMHgwMCwweDliLDB4MDgsMHgyZSwweDQ4LDB4MGIsMHgxMiwweDFhLDB4NzQsMHgwMCwweDk1IH19LAotIHsxNiwgMHhmMTIwLCAwLCB7MHg0NSwweDJlLDB4NjAsMHgwMywweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ZjEzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg4MCwweDMwLDB4NDAgfX0sCi0gezE2LCAweGYxNDAsIDAsIHsweDBlLDB4MTYsMHgwMywweGE0LDB4MDAsMHhiOSwweDA0LDB4MzIsMHg0MCwweDBkLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhkOSwweDQwIH19LAotIHsxNiwgMHhmMTUwLCAwLCB7MHgyZSwweDQwLDB4MWYsMHg5OCwweDAzLDB4ZTUsMHg4MCwweGQ5LDB4MDAsMHhhZSwweDYwLDB4MDcsMHgxMCwweDBiLDB4MjYsMHgwMSB9fSwKLSB7MTYsIDB4ZjE2MCwgMCwgezB4YjksMHgwMCwweGE2LDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHhhYywweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGI0IH19LAotIHsxNiwgMHhmMTgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSB9fSwKLSB7MTYsIDB4ZjE5MCwgMCwgezB4MDAsMHgzMiwweDAwLDB4MGYsMHg5MCwweDgzLDB4ZTYsMHg4NSwweGUxLDB4MDAsMHgzMiwweDQ0LDB4MGYsMHgxMCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGYxYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhmMWIwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHhlMCwweDk0LDB4ZTAsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4ZjFjMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHg0MywweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4NDAgfX0sCi0gezE2LCAweGYxZDAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4NGMsMHg4MCwweDIzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDgwLDB4MGIsMHhhMCwweDAyLDB4ZmIsMHgwNCwweDZhLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZjFmMCwgMCwgezB4ODAsMHgwYSwweGEwLDB4MDMsMHg2OCwweDBhLDB4OGUsMHg4OCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgwOCwweDAwLDB4YmEgfX0sCi0gezE2LCAweGYyMDAsIDAsIHsweDAwLDB4YjcsMHgyMiwweDAzLDB4ZTQsMHgwMiwweGZhLDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTgsMHgwMiwweGNhIH19LAotIHsxNiwgMHhmMjEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4NjAsMHg0MSB9fSwKLSB7MTYsIDB4ZjIyMCwgMCwgezB4MDMsMHgzMCwweDAyLDB4Y2MsMHg0MSwweGEzLDB4MDAsMHgwNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMCwweGEzLDB4ODAgfX0sCi0gezE2LCAweGYyMzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDM4LDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDM0LDB4MDIsMHhjYywweDgwIH19LAotIHsxNiwgMHhmMjQwLCAwLCB7MHhhMSwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI1MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHhiNywweDAwLDB4NjEsMHgwMCwweDBiLDB4NzEsMHgwMiwweGRjLDB4MDAsMHhhMywweDAwLDB4MjUgfX0sCi0gezE2LCAweGYyNjAsIDAsIHsweGM4LDB4MTksMHgzOCwweDAyLDB4NWMsMHg4MCwweGE3LDB4MDAsMHgwZiwweGU4LDB4MDksMHg2NCwweDIyLDB4MTAsMHgwMCwweGIzIH19LAotIHsxNiwgMHhmMjcwLCAwLCB7MHgwMCwweDI1LDB4YzgsMHgwYiwweDYwLDB4MDIsMHhmMiwweDAwLDB4ODUsMHgwMSwweDIzLDB4ZTgsMHgwOCwweDcwLDB4ODIsMHhlOCB9fSwKLSB7MTYsIDB4ZjI4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDIwLDB4ZmYsMHg4MCwweGExLDB4YTAgfX0sCi0gezE2LCAweGYyOTAsIDAsIHsweDBmLDB4N2EsMHg0MiwweGRhLDB4MDAsMHhlNywweGU4LDB4MzUsMHhmMCwweDJmLDB4N2IsMHg2MiwweDFlLDB4ODIsMHhlNiwweDgwIH19LAotIHsxNiwgMHhmMmEwLCAwLCB7MHgxZCwweGUwLDB4MGQsMHhmOCwweDBiLDB4MWUsMHgwMCwweGY3LDB4ODAsMHgzMSwweGYwLDB4MGYsMHg3OCwweDAzLDB4ZGUsMHgwYyB9fSwKLSB7MTYsIDB4ZjJiMCwgMCwgezB4ZWYsMHg4MCwweDMxLDB4ZjgsMHgyYywweDc4LDB4MDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyYzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDg0LDB4ZmIsMHg2OCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmIsMHgwMCwweGZhIH19LAotIHsxNiwgMHhmMmQwLCAwLCB7MHhkOCwweDBlLDB4YjUsMHgwMywweGVkLDB4MDAsMHhkYiwweDAwLDB4M2EsMHhjMCwweDhlLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ZjJlMCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGIsMHhiMCwweDQzLDB4YzQsMHgwNCwweGVmLDB4MDIsMHhiZiwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGYyZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg0MiwweGM3LDB4MzgsMHgzMywweDY0IH19LAotIHsxNiwgMHhmMzAwLCAwLCB7MHgwZSwweDdjLDB4MDMsMHg1ZSwweDAwLDB4ZGYsMHhhMCwweDM3LDB4ZjAsMHgwZCwweGY4LDB4MDMsMHhmZiwweDIwLDB4Y2YsMHg4MSB9fSwKLSB7MTYsIDB4ZjMxMCwgMCwgezB4MzMsMHhlMiwweDBjLDB4ZDgsMHgwMywweGJlLDB4MDAsMHg3ZiwweGMwLDB4MzMsMHhlMCwweDBjLDB4ZjksMHgwMywweDdlLDB4MDAgfX0sCi0gezE2LCAweGYzMjAsIDAsIHsweGZkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDg3LDB4YTAsMHgyMSwweDE0LDB4MDgsMHg3MSwweDAyLDB4MTQsMHgxMCwweGQ3LDB4MjAsMHgzNSB9fSwKLSB7MTYsIDB4ZjM0MCwgMCwgezB4YzAsMHgwYywweDcwLDB4MDMsMHhiYywweDAwLDB4ODUsMHgwOCwweDJiLDB4YzAsMHg0ZCwweDQ2LDB4MDIsMHhkMSwweDAwLDB4YjcgfX0sCi0gezE2LCAweGYzNTAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDA4LDB4ODAsMHhmNSwweDIwLDB4M2QsMHhjYSwweDBmLDB4NTQsMHgwMywweGVhIH19LAotIHsxNiwgMHhmMzYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MTEsMHg4ZiwweDAxLDB4MjAsMHg4NCB9fSwKLSB7MTYsIDB4ZjM3MCwgMCwgezB4MWEsMHhmMCwweDAyLDB4MTgsMHgwMCwweGE3LDB4MzQsMHg2NSwweGMwLDB4MDksMHg3MSwweDAyLDB4ZGMsMHgwMCwweDhlLDB4MDAgfX0sCi0gezE2LCAweGYzODAsIDAsIHsweDI5LDB4YzAsMHgwOCwweDUwLDB4MDYsMHg5YywweDAwLDB4YmYsMHg4OCwweDJkLDB4YzQsMHgwYSwweDYwLDB4MjYsMHg1OCwweDI0IH19LAotIHsxNiwgMHhmMzkwLCAwLCB7MHg5NywweDAwLDB4NmQsMHhjMCwweDliLDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNhMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4YiwweDQwLDB4MjAsMHgwMCwweDE4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiYiwweDAyLDB4MjQgfX0sCi0gezE2LCAweGYzYjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDIwLDB4Y2MsMHgwMCwweDgxLDB4YzAsMHgyOCwweGMwLDB4MGIsMHgwNCwweDgyLDB4ZTAsMHgxMCwweGJiIH19LAotIHsxNiwgMHhmM2MwLCAwLCB7MHhhMCwweDJjLDB4ZTAsMHgwYSwweDIwLDB4MDYsMHgwMCwweDAwLDB4YjMsMHgwMCwweDI4LDB4YzAsMHgwYSwweDEwLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4ZjNkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2YsMHgxMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGYzZTAsIDAsIHsweDBlLDB4ZjAsMHgwYiwweDI0LDB4MDAsMHhlZiwweDAwLDB4MzcsMHhjMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDYsMHhjMSwweDUwIH19LAotIHsxNiwgMHhmM2YwLCAwLCB7MHgzYiwweGMwLDB4MGMsMHhiNCwweDAzLDB4YWMsMHgwMCwweGY4LDB4YzAsMHhiZSwweGM4LDB4MmUsMHhiMCwweDAzLDB4NmUsMHgwMSB9fSwKLSB7MTYsIDB4ZjQwMCwgMCwgezB4ZmIsMHgwMCwweDJkLDB4YzAsMHg0YiwweDkwLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0MTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDA0LDB4ZmIsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhhZCwweDAwLDB4OWIsMHgwMCwweDNlIH19LAotIHsxNiwgMHhmNDIwLCAwLCB7MHhjMCwweDBmLDB4MzAsMHgwMywweGFjLDB4MDAsMHhmOCwweDAwLDB4MmUsMHhjMCwweDA1LDB4YjQsMHgwMywweGVkLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ZjQzMCwgMCwgezB4NDAsMHgzMiwweGMwLDB4MDksMHgwMCwweDAzLDB4ZTAsMHg5MSwweGUzLDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDExLDB4ZTAgfX0sCi0gezE2LCAweGY0NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHgwMCwweGVmLDB4MDAsMHgzMywweDIwIH19LAotIHsxNiwgMHhmNDUwLCAwLCB7MHg0ZiwweGYwLDB4MDMsMHhiNCwweDAwLDB4ZWYsMHgwMywweDNhLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZGMsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ2MCwgMCwgezB4MzEsMHhjMCwweDhkLDB4ZjgsMHgwMywweGZlLDB4MDQsMHhjZiwweDAwLDB4MzIsMHhjOCwweDBjLDB4ZjAsMHgwYiwweDFjLDB4MDAgfX0sCi0gezE2LCAweGY0NzAsIDAsIHsweGNmLDB4OTMsMHgzMywweGMwLDB4OGMsMHg0MCwweDAyLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDA0LDB4MGIsMHgzMCwweDAyLDB4MGUsMHgwMCwweGFiLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ZjQ5MCwgMCwgezB4YzAsMHgwOSwweGIwLDB4MDMsMHg2YywweDA4LDB4YTgsMHhjMCwweDM2LDB4YzAsMHgwOCwweGJjLDB4MDIsMHhlZiwweDAyLDB4YWIgfX0sCi0gezE2LCAweGY0YTAsIDAsIHsweGQwLDB4MjAsMHhlMCwweDA4LDB4YjgsMHgyMiwweDI2LDB4MTAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDIwLDB4OWMsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmNGIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MjYsMHgwMCB9fSwKLSB7MTYsIDB4ZjRjMCwgMCwgezB4MGEsMHhiMCwweDAyLDB4YTIsMHgwOCwweGFiLDB4MDAsMHg2YSwweGMwLDB4MGIsMHhiMCwweDBhLDB4MGMsMHgwMCwweDhiLDB4ODAgfX0sCi0gezE2LCAweGY0ZDAsIDAsIHsweDIyLDB4YzAsMHgwOSwweGIxLDB4MDIsMHhlYywweDQwLDB4ODgsMHgwOCwweDIyLDB4YzAsMHgwOCwweGI4LDB4MDIsMHgyNiwweDAwIH19LAotIHsxNiwgMHhmNGUwLCAwLCB7MHg4YiwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTgsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDBiLDB4YjAsMHgwMiwweDAwLDB4MDEsMHg4MywweDAwLDB4MjAgfX0sCi0gezE2LCAweGY1MDAsIDAsIHsweGMwLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDAwLDB4MDQsMHgyNCwweGMwLDB4MDgsMHgzMCwweDA2LDB4NGMsMHgwMCwweDgwIH19LAotIHsxNiwgMHhmNTEwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDQxLDB4ODMsMHgwMCwweGEyLDB4YzAsMHgwOCwweDEwLDB4MGEsMHg4MiB9fSwKLSB7MTYsIDB4ZjUyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4ZWYsMHgwOCwweDI2LDB4MDAgfX0sCi0gezE2LCAweGY1MzAsIDAsIHsweDBlLDB4ZjAsMHgwMiwweGEwLDB4MDAsMHhlNywweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjUsMHg0MywweDNjLDB4MDIsMHhkYSwweDAwIH19LAotIHsxNiwgMHhmNTQwLCAwLCB7MHgzMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHhiMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgxMCB9fSwKLSB7MTYsIDB4ZjU1MCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwYywweDgwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NjAsIDAsIHsweGEwLDB4MGQsMHhmYywweDAwLDB4ZmIsMHgwMCwweDNiLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMiwweDNmIH19LAotIHsxNiwgMHhmNTcwLCAwLCB7MHhjMCwweDBkLDB4ZjIsMHgwMywweGJjLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4ZjU4MCwgMCwgezB4MDAsMHgzMywweGMwLDB4MGYsMHg2MCwweDAzLDB4ZjAsMHg4OCwweGZmLDB4MDAsMHgzZiwweGMwLDB4NGYsMHhkMCwweDAzLDB4NjggfX0sCi0gezE2LCAweGY1OTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg0MCwweGZjLDB4MzEsMHgzYiwweDA4IH19LAotIHsxNiwgMHhmNWEwLCAwLCB7MHg0ZiwweGY5LDB4NDMsMHhlZiwweDAwLDB4ZGYsMHgzMCwweDMyLDB4MjEsMHgwZiwweDk0LDB4MDcsMHg3ZCwweDgwLDB4ZWYsMHgzOCB9fSwKLSB7MTYsIDB4ZjViMCwgMCwgezB4MzIsMHgwOSwweDFjLDB4MzgsMHgwMywweGYyLDB4MjEsMHhmZCwweDAwLDB4MzMsMHhjNCwweDBjLDB4ZjAsMHgwMiwweGZjLDB4MDAgfX0sCi0gezE2LCAweGY1YzAsIDAsIHsweGRmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWQwLCAwLCB7MHg4MCwweDEwLDB4ZWMsMHg4OCwweDhiLDB4NjAsMHgyMiwweGU1LDB4MGUsMHhiMiwweDIyLDB4ZWMsMHg4MCwweGFmLDB4MTEsMHgyYSB9fSwKLSB7MTYsIDB4ZjVlMCwgMCwgezB4MjAsMHgwYiwweGIxLDB4MTMsMHhhYywweDQ4LDB4OGIsMHg0NSwweDM0LDB4Y2MsMHg0OCwweGIwLDB4MDIsMHg2YiwweDAwLDB4YmEgfX0sCi0gezE2LCAweGY1ZjAsIDAsIHsweDgyLDB4MzYsMHgwMCwweDA4LDB4ODgsMHgyMiwweGMwLDB4MDQsMHg4OCwweDAwLDB4YTIsMHgwOCwweDhiLDB4ODgsMHg2MiwweDIwIH19LAotIHsxNiwgMHhmNjAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhhMSwweDMwLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4ZjYxMCwgMCwgezB4MGIsMHgzMiwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MjIsMHgyYywweDAwLDB4OGIsMHgxMiwweDA2LDB4YzgsMHg4MCwweGEzLDB4MDAgfX0sCi0gezE2LCAweGY2MjAsIDAsIHsweDIwLDB4MDIsMHhjYSwweDMwLDB4MDYsMHhjNCwweDAxLDB4YjEsMHgwMCwweDY4LDB4ODAsMHgwOSwweDIwLDB4MDIsMHg4OCwweDAwIH19LAotIHsxNiwgMHhmNjMwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMiwweDBiLDB4MDAsMHgwYSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHg4YiwweDYxLDB4NjIsMHhjMCwweDBiLDB4YjIsMHgwMiwweGU4LDB4MDAsMHhhYiwweDAyLDB4MmEgfX0sCi0gezE2LCAweGY2NTAsIDAsIHsweDYxLDB4MWIsMHg5MCwweDAyLDB4YTgsMHgwMCwweGFiLDB4MDAsMHgyMCwweGMwLDB4MGEsMHhiMCwweDAyLDB4NmMsMHgwNCwweGJhIH19LAotIHsxNiwgMHhmNjYwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHg4OSwweDkwLDB4MDIsMHhlNiwweDA4LDB4OTgsMHgwMCwweDIyLDB4MDAsMHgwYiwweGIwLDB4MDIsMHhiMCB9fSwKLSB7MTYsIDB4ZjY3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlZSwweDAwLDB4ZjgsMHgwMSwweDNhLDB4MDQgfX0sCi0gezE2LCAweGY2ODAsIDAsIHsweDBmLDB4YWMsMHgwMywweGVjLDB4OTAsMHhmYiwweDAyLDB4M2UsMHhlMCwweDBiLDB4OTAsMHg0MiwweDY3LDB4ODAsMHhhOCwweGM0IH19LAotIHsxNiwgMHhmNjkwLCAwLCB7MHgyMiwweDQ4LDB4MjIsMHg4NiwweDAzLDB4ZTEsMHg0MCwweGI4LDB4MDIsMHgyYSwweDQwLDB4MjksMHg5MCwweDAzLDB4ZWMsMHgwMiB9fSwKLSB7MTYsIDB4ZjZhMCwgMCwgezB4YzksMHg0OCwweDMyLDB4NDAsMHgwZiwweGIwLDB4MTMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2YjAsIDAsIHsweGUwLDB4MDEsMHhhYywweDQwLDB4ZmIsMHgwMCwweDFmLDB4YTIsMHgwZSwweGY4LDB4ODIsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHhmNmMwLCAwLCB7MHhjMCwweDBmLDB4ZmEsMHg0MywweDk2LDB4NDQsMHhkNCwweDkxLDB4M2YsMHg0MCwweDBkLDB4YzAsMHgwMywweGZhLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ZjZkMCwgMCwgezB4MDgsMHgyNSwweDgwLDB4MGUsMHhlMCwweDAzLDB4ZDAsMHgwMCwweGVhLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4NzggfX0sCi0gezE2LCAweGY2ZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGUxLDB4MjAsMHgzYSwweDUwIH19LAotIHsxNiwgMHhmNmYwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyYywweDAwLDB4ZWIsMHgwOCwweDc2LDB4MDUsMHgwZSwweGIwLDB4MjcsMHhlMCwweDEwLDB4ZWEsMHg0MCB9fSwKLSB7MTYsIDB4ZjcwMCwgMCwgezB4YjIsMHhjMCwweDBjLDB4YTQsMHg0MywweDI1LDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwOCwweDBmLDB4ODAsMHg0MywweGU4LDB4MDAgfX0sCi0gezE2LCAweGY3MTAsIDAsIHsweGQxLDB4MDgsMHhlZSwweDQwLDB4MGYsMHgwMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzIwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGQwLDB4MGIsMHg5MCwweDgyLDB4MmMsMHgwMCwweDg3LDB4NDAsMHgyMiB9fSwKLSB7MTYsIDB4ZjczMCwgMCwgezB4NjAsMHg4YiwweGIwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHg1MCwweDIyLDB4ZDAsMHgwYywweGEwLDB4MDMsMHg2YywweDAwLDB4YjMgfX0sCi0gezE2LCAweGY3NDAsIDAsIHsweGM4LDB4M2UsMHhkMCwweDBiLDB4YjgsMHgwMiwweDI1LDB4MDgsMHg4YSwweDIwLDB4MmEsMHg4MCwweDhiLDB4YjgsMHg4MiwweGYyIH19LAotIHsxNiwgMHhmNzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDY0LDB4MDAsMHhhMCwweGMwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4Zjc2MCwgMCwgezB4MDksMHgzOCwweDAyLDB4MmMsMHgwMCwweDgzLDB4MDMsMHgyMCwweDAwLDB4MTAsMHgzMCwweDIyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGY3NzAsIDAsIHsweDYwLDB4MDgsMHgwYSwweDMwLDB4ODIsMHg0YywweDAwLDB4YjEsMHhjMCwweDAwLDB4ZDEsMHgwYiwweDM4LDB4MDIsMHg4NCwweDgwIH19LAotIHsxNiwgMHhmNzgwLCAwLCB7MHg4MiwweDAxLDB4MjAsMHg4MCwweDAzLDB4MzgsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc5MCwgMCwgezB4MjAsMHgwMSwweDE2LDB4NDAsMHg4NCwweDk4LDB4MjUsMHhlMCwweDBiLDB4N2EsMHgwMiwweGZhLDB4NDgsMHhhMywweDIwLDB4NjEgfX0sCi0gezE2LCAweGY3YTAsIDAsIHsweDI0LDB4MGIsMHg3OSwweDAwLDB4Y2UsMHhjMCwweDkzLDB4YTQsMHgyMSwweGE2LDB4MGIsMHg3OCwweDEyLDB4ZGUsMHg4MCwweGI2IH19LAotIHsxNiwgMHhmN2IwLCAwLCB7MHg4MCwweDJkLDB4MjQsMHgwYiwweDRiLDB4MDIsMHgxYSwweDQwLDB4ODUsMHg4MSwweDIxLDB4NjAsMHgwYiwweDQ4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZjdjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZTIsMHhhMCwweGI0LDB4ZmUgfX0sCi0gezE2LCAweGY3ZDAsIDAsIHsweDRiLDB4YjgsMHgwYiwweDBlLDB4MDAsMHhhMywweGIwLDB4MjQsMHhhOCwweDBlLDB4MWIsMHgwMiwweGNlLDB4YzEsMHhjMywweGMwIH19LAotIHsxNiwgMHhmN2UwLCAwLCB7MHgzMCwweDY4LDB4MmUsMHgzYSwweDQ3LDB4NGUsMHg4MCwweGYxLDB4ODAsMHgzMCwweDgwLDB4MGYsMHgyMiwweDgzLDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdmMCwgMCwgezB4YzIsMHgxMCwweDM4LDB4ODAsMHg0ZiwweDAwLDB4MDcsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MDAsIDAsIHsweDQwLDB4MGQsMHhiYywweDEwLDB4ZmUsMHgwNCwweDNiLDB4YzEsMHgwNywweGYwLDB4MDMsMHgxYywweGM4LDB4ZGYsMHgyYSwweDBiIH19LAotIHsxNiwgMHhmODEwLCAwLCB7MHhjNCwweDhmLDB4ZDEsMHg0MywweGY4LDB4MDIsMHg3ZiwweDAwLDB4M2YsMHhjMCwweDBjLDB4ZjEsMHgwZiwweDNjLDB4MDAsMHhmMiB9fSwKLSB7MTYsIDB4ZjgyMCwgMCwgezB4MTEsMHgzZiwweDQxLDB4MWYsMHg1MiwweDAzLDB4YmMsMHgwZSwweGVkLDB4MTQsMHgzZiwweDQwLDB4MGYsMHhmOCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGY4MzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhmODQwLCAwLCB7MHgwZSwweGJlLDB4NGIsMHg2ZiwweDAwLDB4Y2IsMHg4MiwweDdhLDB4YzAsMHgyYywweGIwLDB4MDMsMHgyYywweDAwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4Zjg1MCwgMCwgezB4MzIsMHgwMCwweDJjLDB4MTAsMHgwMywweDJjLDB4MDgsMHhjMCwweDAwLDB4MjYsMHg0MCwweDZjLDB4OTAsMHgxMywweDI0LDB4MTIgfX0sCi0gezE2LCAweGY4NjAsIDAsIHsweGM4LDB4MDEsMHgzZSwweDAwLDB4MGYsMHhiOCwweDBiLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODcwLCAwLCB7MHg0OCwweDExLDB4OTQsMHgwMCwweDhkLDB4MDAsMHgyMSwweDgwLDB4MGIsMHg3MCwweDgyLDB4M2MsMHgyMCwweDgzLDB4MzIsMHgyOSB9fSwKLSB7MTYsIDB4Zjg4MCwgMCwgezB4YzAsMHgwOCwweGYwLDB4MjAsMHgxNCwweDAwLDB4ODAsMHgwMCwweDIzLDB4MDAsMHgwOCwweDUwLDB4MDYsMHg5YywweDA0LDB4ZDcgfX0sCi0gezE2LCAweGY4OTAsIDAsIHsweDAyLDB4MjgsMHg4MCwweDA4LDB4NjAsMHgwMiwweDA4LDB4MTAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhmOGEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhhNywweDgwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4ZjhiMCwgMCwgezB4MGIsMHg1YywweDEyLDB4MWUsMHgwNCwweDg3LDB4ODIsMHgwZCwweGEwLDB4MDksMHg3OCwweDE2LDB4MDIsMHgwMCwweGI0LDB4ODAgfX0sCi0gezE2LCAweGY4YzAsIDAsIHsweDI1LDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDAwLDB4ODQsMHg4MCwweDIxLDB4MjIsMHgwOCwweDA4LDB4MDIsMHgxMiwweDAxIH19LAotIHsxNiwgMHhmOGQwLCAwLCB7MHg4NCwweGMwLDB4MmQsMHgyMCwweDBiLDB4MDgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhlMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDQyLDB4YTAsMHhkOCwweDBiLDB4MzQsMHg4MiwweDBjLDB4MDAsMHhhMywweDAyLDB4MjAgfX0sCi0gezE2LCAweGY4ZjAsIDAsIHsweGUwLDB4MDgsMHhiMCwweDAyLDB4MGMsMHg4OCwweGIzLDB4MjEsMHgyNCwweGQ4LDB4MGIsMHgzZSwweDAyLDB4OGMsMHgwMCwweDkzIH19LAotIHsxNiwgMHhmOTAwLCAwLCB7MHgwOCwweDI4LDB4YzAsMHgwOCwweDM4LDB4MDIsMHgyYywweDA1LDB4OGIsMHgwMSwweDJjLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZjkxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZWUsMHgwMCwweDMzLDB4OTAgfX0sCi0gezE2LCAweGY5MjAsIDAsIHsweDBmLDB4YTAsMHgwYiwweDY4LDB4MDAsMHhjYSwweDAxLDB4N2YsMHhhOCwweDBjLDB4YWEsMHgwMywweDNhLDB4MTIsMHhmZSwweGUyIH19LAotIHsxNiwgMHhmOTMwLCAwLCB7MHgzNywweGIwLDB4MGYsMHhlZSwweDAyLDB4MTgsMHgwMCwweGNhLDB4NDAsMHgzNiwweGEwLDB4MDgsMHhhMCwweDhiLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4Zjk0MCwgMCwgezB4Y2EsMHg4MSwweDJlLDB4YTAsMHgwZiwweGUwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5NTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwOCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMiwweDAyLDB4ZDgsMHg0MCwweDNlIH19LAotIHsxNiwgMHhmOTYwLCAwLCB7MHgwOCwweDBmLDB4ODAsMHgxMywweGUwLDB4NDAsMHg0OCwweDQwLDB4YjgsMHgwNCwweDA4LDB4ODQsMHgwMywweDYxLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgzZiwweDAwLDB4NGYsMHhjMCwweDAzLDB4ZjEsMHgwMCwweGZjLDB4MDAsMHgzZiwweDA0LDB4MGYsMHhjMCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGY5ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzMCwweDUwIH19LAotIHsxNiwgMHhmOTkwLCAwLCB7MHg0YywweGI5LDB4MDMsMHg2YywweDE4LDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwZSwweDljLDB4MjMsMHhhNCwweDAyLDB4NDEsMHgwMCB9fSwKLSB7MTYsIDB4ZjlhMCwgMCwgezB4YjIsMHg0NCwweDBlLDB4OWEsMHgwMywweGE2LDB4ODAsMHhjOSwweDAwLDB4M2EsMHg2MCwweDBhLDB4OTAsMHgwMywweGE0LDB4ODAgfX0sCi0gezE2LCAweGY5YjAsIDAsIHsweGM5LDB4MDAsMHgzNCwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyMiwweDc4LDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgxMCwweGI5LDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4ZjlkMCwgMCwgezB4NjIsMHgxOCwweDk0LDB4ODIsMHhhNCwweDAwLDB4ODksMHhjOCwweDIyLDB4NzAsMHg0OCwweDFlLDB4MDEsMHg2NywweDgwLDB4ZDEgfX0sCi0gezE2LCAweGY5ZTAsIDAsIHsweDAwLDB4YmMsMHg0MiwweDA4LDB4MTAsMHgwMiwweDI1LDB4MjAsMHg4OSwweDAyLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhmOWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiMSwweDI4LDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4ZmEwMCwgMCwgezB4MDgsMHhiMCwweDgyLDB4NjQsMHgwNCwweDM5LDB4NDEsMHgyZSwweDQ4LDB4MGEsMHg5MCwweDAyLDB4MDQsMHgxOCwweGE5LDB4MjAgfX0sCi0gezE2LCAweGZhMTAsIDAsIHsweDIyLDB4NDIsMHg0YSwweDkwLDB4MDIsMHgyYywweDA0LDB4ODksMHgwNCwweDJiLDB4NDgsMHgwMiwweGQwLDB4MDIsMHhiNCwweDBhIH19LAotIHsxNiwgMHhmYTIwLCAwLCB7MHg4ZCwweDgwLDB4MjMsMHhjMCwweDQ4LDB4ZDAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmEzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4YTAsMHg0OCwweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDI0LDB4MmEgfX0sCi0gezE2LCAweGZhNDAsIDAsIHsweDQwLDB4MDgsMHgxMiwweDQyLDB4ODUsMHg4MCwweGExLDB4MjAsMHhhMCwweDQ4LDB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMCwweDk1IH19LAotIHsxNiwgMHhmYTUwLCAwLCB7MHgyYywweDJkLDB4NWEsMHgwYSwweDcyLDB4ODIsMHgxNCwweGEwLDB4ODUsMHhhOCwweDIxLDB4NGEsMHgwOCwweDUyLDB4ODIsMHhjMiB9fSwKLSB7MTYsIDB4ZmE2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg0MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGZhNzAsIDAsIHsweDhjLDB4MDUsMHgwMywweDYxLDB4NDAsMHhmOCwweDUxLDB4MmUsMHgwMCwweDBhLDB4ODUsMHgwMiwweDIwLDB4MDAsMHhlOCwweDUwIH19LAotIHsxNiwgMHhmYTgwLCAwLCB7MHgzMiwweDE0LDB4MDYsMHg4NSwweDE3LDB4YTAsMHgwMCwweGM4LDB4MjAsMHgzYSwweDA4LDB4MGUsMHg4MiwweDAzLDB4YTAsMHg4MCB9fSwKLSB7MTYsIDB4ZmE5MCwgMCwgezB4YzgsMHgyMCwweDMyLDB4MDgsMHgyYywweGMyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhYTAsIDAsIHsweDk4LDB4MTksMHhmNCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4NDQsMHgwYiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNkIH19LAotIHsxNiwgMHhmYWIwLCAwLCB7MHg0MCwweDBmLDB4ZDEsMHgwMywweGY0LDB4NTgsMHg5ZCwweDEwLDB4M2YsMHg0NCwweDRmLDB4ZDAsMHgwMywweGQ1LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4OGQsMHg5MCwweDAzLDB4ZTQsMHhiOCwweGY5LDB4MjgsMHhiYSwweDZhLDB4MGYsMHg5MCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGZhZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZTcsMHgwMCwweGZkLDB4ODgsMHgzZSwweDYwIH19LAotIHsxNiwgMHhmYWUwLCAwLCB7MHg4ZiwweGQwLDB4MDMsMHgyNCwweDAxLDB4ZGQsMHg4MCwweDczLDB4NDAsMHgwZiwweGQ4LDB4MDMsMHhhNiwweDA0LDB4Y2QsMHhhMiB9fSwKLSB7MTYsIDB4ZmFmMCwgMCwgezB4MzMsMHg3OCwweDFjLDB4ZDAsMHgwMywweDM0LDB4MDEsMHhmNSwweDg4LDB4M2IsMHg2OCwweDBjLDB4ZGEsMHg0NywweDM3LDB4ODAgfX0sCi0gezE2LCAweGZiMDAsIDAsIHsweGNkLDB4ODgsMHgzMiwweDYyLDB4MGMsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg4MCwweGI4LDB4ODAsMHgyZSwweDE0LDB4MGIsMHgwYSwweDgyLDB4MjIsMHg4MCwweGI4LDB4ZjgsMHhhMiB9fSwKLSB7MTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwYiwweDhmLDB4YTMsMHg4MywweGUwLDB4ODgsMHhlYiwweDIyLDB4YTksMHgwOCwweDg4LDB4MTIsMHhhMCwweDA1LDB4YjggfX0sCi0gezE2LCAweGZiMzAsIDAsIHsweDAwLDB4MmEsMHhhYSwweDg4LDB4ODAsMHgxMywweDYyLDB4ODIsMHg4OCwweDgwLDB4MjIsMHgyOCwweDg4LDB4YTQsMHgwMiwweDBlIH19LAotIHsxNiwgMHhmYjQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDBhLDB4MmMsMHg0MSB9fSwKLSB7MTYsIDB4ZmI1MCwgMCwgezB4MGIsMHgxMCwweDA2LDB4MDQsMHgyMCwweGExLDB4MDAsMHgwMCwweDQwLDB4OGIsMHgxMCwweDQ2LDB4YzQsMHgwMSwweDkxLDB4MTEgfX0sCi0gezE2LCAweGZiNjAsIDAsIHsweDI0LDB4NTgsMHg2OCwweDkwLDB4YzIsMHgwNCwweDAwLDB4YjEsMHgwMCwweGE4LDB4NTAsMHgwOSwweDE0LDB4MGEsMHgwNSwweDk1IH19LAotIHsxNiwgMHhmYjcwLCAwLCB7MHhhMSwweDA4LDB4YTAsMHg0MiwweDI4LDB4MTEsMHgwYSwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MTgsMHhiOSwweDIwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwNiwweDI0LDB4MDksMHhiOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGZiOTAsIDAsIHsweDQwLDB4OGIsMHg5MSwweDAyLDB4ODQsMHgwMCwweDk5LDB4NjQsMHgyNCwweDQwLDB4NTgsMHg5MCwweDAyLDB4YTQsMHgyMCwweGJiIH19LAotIHsxNiwgMHhmYmEwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgwNSwweDAxLDB4YTksMHgwMCwweDIyLDB4NDAsMHg4OCwweDkyLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ZmJiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDAwLDB4ZjksMHg0MCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGZiYzAsIDAsIHsweDRmLDB4OTgsMHgwYiwweDI0LDB4ODAsMHhkOSwweDAwLDB4MjIsMHg3MiwweDBiLDB4OTgsMHgwMywweGU0LDB4ODQsMHhkOSwweDAwIH19LAotIHsxNiwgMHhmYmQwLCAwLCB7MHhiNiwweDcwLDB4MDgsMHg5OSwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGQsMHg5NCwweGMyLDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4ZmJlMCwgMCwgezB4YTksMHgwMCwweDIyLDB4NDAsMHgwYywweDk0LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiZjAsIDAsIHsweDI4LDB4MDEsMHhhNiwweDgwLDB4ZjksMHgwOCwweDNlLDB4YzAsMHgwZiwweDkxLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhmYzAwLCAwLCB7MHg1MCwweDBmLDB4OTgsMHgwMywweGE1LDB4MDAsMHhlOSwweDAwLDB4M2EsMHg2NCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgzYywweDQwLDB4NmUsMHg5MCwweDAzLDB4ZTQsMHgyMCwweGQ5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDgyLDB4Y2EgfX0sCi0gezE2LCAweGZjMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhmYzMwLCAwLCB7MHg0ZiwweDg0LDB4MGIsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDM2LDB4MDEsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHg0MCB9fSwKLSB7MTYsIDB4ZmM0MCwgMCwgezB4MzIsMHgxMCwweDJkLDB4ODAsMHgwMywweGUwLDB4NTQsMHhjOCwweDAwLDB4MzYsMHgxMCwweDBmLDB4MDQsMHg4MywweGUwLDB4NTAgfX0sCi0gezE2LCAweGZjNTAsIDAsIHsweGQ4LDB4MDQsMHgxMiwweDAwLDB4MGMsMHgwMCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4NDIsMHgyZSwweGEyLDB4OGIsMHhlYSwweDAyLDB4MjgsMHgwOCwweGJlLDB4ODksMHgzNyB9fSwKLSB7MTYsIDB4ZmM3MCwgMCwgezB4ODQsMHg0OCwweGUwLDB4MTIsMHgyOCwweDAyLDB4OGUsMHhjMCwweDIzLDB4YjAsMHg0ZCwweDYwLDB4NjIsMHhmOCwweDAwLDB4ODYgfX0sCi0gezE2LCAweGZjODAsIDAsIHsweDAwLDB4MjMsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGY4LDB4MDAsMHgwZSwweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTQsMHgwMiwweDBhIH19LAotIHsxNiwgMHhmYzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhhMywweDAwLDB4MmMsMHg4MCB9fSwKLSB7MTYsIDB4ZmNhMCwgMCwgezB4MWIsMHhiMCwweDlhLDB4NGMsMHgxMCwweDliLDB4ODAsMHgyNCwweGMwLDB4MGEsMHgzMCwweDAwLDB4MGMsMHgwNCwweDliLDB4MjAgfX0sCi0gezE2LCAweGZjYjAsIDAsIHsweDIwLDB4ZDYsMHgwOCwweDMwLDB4MDIsMHg4ZSwweDA4LDB4YTMsMHgwNCwweDI0LDB4YzAsMHgxOSwweDM0LDB4MDIsMHhjNywweDA3IH19LAotIHsxNiwgMHhmY2MwLCAwLCB7MHhhYSwweGE0LDB4YTAsMHhjMCwweDQ4LDB4MzQsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNkMCwgMCwgezB4YTAsMHgwMSwweDBlLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDVjLDB4NDAsMHhiMywweDE0LDB4MjUgfX0sCi0gezE2LCAweGZjZTAsIDAsIHsweGUwLDB4MDgsMHg3YSwweDAyLDB4OWUsMHhjMCwweDkyLDB4NDAsMHhhMCwweDAwLDB4NDksMHg2MCwweDAyLDB4Y2UsMHgwMiwweDhlIH19LAotIHsxNiwgMHhmY2YwLCAwLCB7MHgwMSwweDIxLDB4YzAsMHg4YiwweDU0LDB4MDIsMHhjNCwweDA4LDB4ODYsMHg0MCwweDIxLDB4YzgsMHg4OCwweDEwLDB4MDIsMHgyOCB9fSwKLSB7MTYsIDB4ZmQwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweGMwLDB4ZTQsMHg4MCwweDNkLDB4ZTIgfX0sCi0gezE2LCAweGZkMTAsIDAsIHsweDBmLDB4NTgsMHgwMywweDVlLDB4OTAsMHhiNiwweGEyLDB4MzUsMHhlMCwweDBlLDB4N2MsMHgyMywweDFjLDB4MDAsMHhkNiwweDgwIH19LAotIHsxNiwgMHhmZDIwLCAwLCB7MHgzMSwweGUwLDB4ODQsMHg3OCwweDAzLDB4ZGUsMHgwMCwweGM3LDB4ODAsMHgzNSwweGUwLDB4MGYsMHg2OCwweDAzLDB4ZGUsMHgwMCB9fSwKLSB7MTYsIDB4ZmQzMCwgMCwgezB4ZTMsMHg4MCwweDMzLDB4ZTgsMHgyYywweDc4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkNDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDkwLDB4ZmEsMHgwMCwweDdlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhYywweDAxLDB4ZmIsMHgwMCwweDNjIH19LAotIHsxNiwgMHhmZDUwLCAwLCB7MHg0MSwweDBmLDB4MzAsMHgwYiwweDJkLDB4MDQsMHhlYiwweDAxLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGU5LDB4NjAsMHgzZSwweGU0LDB4MGYsMHg5MCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGZkNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgyMCwweGZmLDB4OTAsMHgzZSwweDIwIH19LAotIHsxNiwgMHhmZDgwLCAwLCB7MHgwYywweGE5LDB4MDcsMHgyZSwweDQ0LDB4YzksMHg5MSwweDMwLDB4YTAsMHgwYywweGI4LDB4NjMsMHgyZiwweDQ0LDB4Y2IsMHhhMSB9fSwKLSB7MTYsIDB4ZmQ5MCwgMCwgezB4MzYsMHgyMCwweDhjLDB4ZjgsMHgwMywweDM2LDB4MDAsMHhjZiwweDgyLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgyMywweDJlLDB4MDAgfX0sCi0gezE2LCAweGZkYTAsIDAsIHsweGNlLDB4YzAsMHgzYiwweGUwLDB4MGMsMHg2OCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZGIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg4NCwweGIzLDB4NTQsMHgyYywweGY0LDB4MjgsMHhiYSwweDhhLDB4M2UsMHg0MCwweDgxLDB4YTAsMHgyOSB9fSwKLSB7MTYsIDB4ZmRjMCwgMCwgezB4YjAsMHgwZiwweDc4LDB4NDIsMHhhZSwweDAwLDB4ODMsMHg5MCwweDMzLDB4ZTgsMHgwZCwweGUxLDB4MDAsMHg4NSwweDQwLDB4ODIgfX0sCi0gezE2LCAweGZkZDAsIDAsIHsweDI0LDB4MjMsMHhjNiwweDBkLDB4NzEsMHgwMywweDVlLDB4ZTAsMHg4NywweDAwLDB4MmIsMHhjMSwweDBkLDB4NDQsMHgwMiwweDJhIH19LAotIHsxNiwgMHhmZGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDgsMHgzNSwweDE0LDB4NmQsMHhjMCB9fSwKLSB7MTYsIDB4ZmRmMCwgMCwgezB4ODgsMHg3MiwweDMyLDB4NWMsMHg4MCwweDg0LDB4MzAsMHgyYiwweDg4LDB4MGEsMHg3MCwweDQyLDB4NWMsMHhhOCwweDkxLDB4MDggfX0sCi0gezE2LCAweGZlMDAsIDAsIHsweDI1LDB4YzgsMHgwOSwweDcwLDB4MDIsMHg0YywweDIyLDB4ODMsMHgwYSwweDYxLDB4YzAsMHgwOSwweDIwLDB4MDIsMHgwNCwweDAwIH19LAotIHsxNiwgMHhmZTEwLCAwLCB7MHg4NywweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmUyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MTAsMHhiMywweDg1LDB4NmMsMHhkYywweDA4LDB4MzQsMHgwMiwweDRkLDB4MjEsMHg4MSwweDAwLDB4MjggfX0sCi0gezE2LCAweGZlMzAsIDAsIHsweDAyLDB4NGEsMHgzMSwweDEyLDB4ZWYsMHgwYywweDkxLDB4YzIsMHgyMCwweGYwLDB4MDgsMHgzMCwweDQyLDB4OGUsMHgwMCwweDgyIH19LAotIHsxNiwgMHhmZTQwLCAwLCB7MHg0MCwweDIwLDB4YzgsMHgxOSwweDI4LDB4MDIsMHgyMiwweDgxLDB4ODMsMHhjMCwweDI4LDB4ZDQsMHgwOSwweDAwLDB4MGEsMHgwOCB9fSwKLSB7MTYsIDB4ZmU1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmIsMHhhMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGZlNjAsIDAsIHsweDhjLDB4MDQsMHgxMiwweDdkLDB4MTAsMHhjZiwweDAyLDB4M2EsMHg1MCwweDA4LDB4YzAsMHg0MiwweDdkLDB4NTIsMHg1OCwweDAxIH19LAotIHsxNiwgMHhmZTcwLCAwLCB7MHgzNiwweDIyLDB4NjksMHhkMCwweDEzLDB4MmEsMHgwMCwweDg4LDB4ODIsMHgzMiwweGYwLDB4MDksMHhiOCwweDgyLDB4MmYsMHgwMCB9fSwKLSB7MTYsIDB4ZmU4MCwgMCwgezB4YzksMHhjOCwweDIzLDB4YzAsMHgwYywweDhhLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZlOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4YjksMHg0MCwweDNjLDB4NTAsMHg0ZiwweDgwLDB4MjMsMHhhYywweDEyLDB4ZmIsMHgwMCwweDJhIH19LAotIHsxNiwgMHhmZWEwLCAwLCB7MHhjMCwweDZkLDB4ODAsMHgxMywweGFjLDB4MDAsMHhlOCwweDA0LDB4YmEsMHgxMCwweDBmLDB4ODAsMHgwMywweGU4LDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4ZmViMCwgMCwgezB4MDgsMHgzYywweDgwLDB4MGYsMHg5MCwweDgzLDB4ZWMsMHgwNCwweGY5LDB4NjAsMHgyYywweGMyLDB4MGYsMHg4MCwweDgzLDB4ZTAgfX0sCi0gezE2LCAweGZlYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGVjLDB4MmMsMHgzZiwweGYwIH19LAotIHsxNiwgMHhmZWQwLCAwLCB7MHg4YywweGZhLDB4OGIsMHhiYywweDAwLDB4ZmUsMHgwMCwweDNmLDB4MDAsMHgwZiwweDc5LDB4MDMsMHgzYywweDAwLDB4Y2UsMHgwOCB9fSwKLSB7MTYsIDB4ZmVlMCwgMCwgezB4MGIsMHhjMiwweDBjLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwLDB4MzMsMHg0MCwweDhjLDB4N2EsMHgwMywweDNhLDB4MDAgfX0sCi0gezE2LCAweGZlZjAsIDAsIHsweGM1LDB4MDAsMHgzMywweGMwLDB4NGMsMHhjOCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZjAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDg4LDB4YzAsMHgyZSwweGUwLDB4MDgsMHg5NCwweDAyLDB4MmMsMHgwMCwweGJiLDB4ODAsMHg2NiB9fSwKLSB7MTYsIDB4ZmYxMCwgMCwgezB4MzAsMHgxNiwweGIwLDB4MDIsMHgyYywweDAwLDB4ZGEsMHg0YywweDIyLDB4ZjAsMHgwOCwweGYwLDB4MDMsMHhlYywweDAwLDB4ZWIgfX0sCi0gezE2LCAweGZmMjAsIDAsIHsweGMwLDB4MjIsMHg2OCwweDAwLDB4OTQsMHgwMiwweDJjLDB4MDIsMHhhOSwweDgwLDB4MjIsMHhjMCwweDA4LDB4MGMsMHgwMiwweGEwIH19LAotIHsxNiwgMHhmZjMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhhYiwweDA0LDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4ZmY0MCwgMCwgezB4MDgsMHhhNCwweDA2LDB4MmMsMHgwNCwweGFiLDB4MTAsMHgyZSwweDYwLDB4NDMsMHg4MCwweDgyLDB4NmMsMHgwMSwweDgxLDB4ODAgfX0sCi0gezE2LCAweGZmNTAsIDAsIHsweDI4LDB4MGEsMHgwOCwweDkxLDB4MDAsMHhlMCwweDAwLDB4YjgsMHg4MCwweDAyLDB4ZTAsMHgwOCwweDgwLDB4MDIsMHgyZCwweDgwIH19LAotIHsxNiwgMHhmZjYwLCAwLCB7MHg4OCwweGMwLDB4MjIsMHhjMCwweDA4LDB4ODIsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmY3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MCwweDQ0LDB4MmMsMHhjOCwweDI4LDB4YTAsMHgyMiwweDBjLDB4MDQsMHhiMywweDI2LDB4MmMgfX0sCi0gezE2LCAweGZmODAsIDAsIHsweGM4LDB4ODgsMHgwMSwweDA2LDB4MGMsMHhlMCwweDkxLDB4MjAsMHgyMCwweDBjLDB4MzgsMHgwNCwweDIyLDB4YzAsMHg0OCwweGEzIH19LAotIHsxNiwgMHhmZjkwLCAwLCB7MHg0MiwweGEwLDB4ODEsMHgwOCwweDAwLDB4MDIsMHgwYywweDgwLDB4ODEsMHgwMCwweDIwLDB4YzAsMHgyOCwweDAwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4ZmZhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4YTksMHg0MCwweDNlLDB4NDQgfX0sCi0gezE2LCAweGZmYjAsIDAsIHsweDA4LDB4YjEsMHgwMywweDJjLDB4NDAsMHhlYSwweDQ5LDB4MmUsMHgwZCwweDBiLDB4YjYsMHgxMywweDdkLDB4ODAsMHhjOSwweDQwIH19LAotIHsxNiwgMHhmZmMwLCAwLCB7MHhiYSwweGQwLDB4MGMsMHhiNCwweDAzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg4MCwweDBiLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZmZkMCwgMCwgezB4YzUsMHgwMCwweGIyLDB4YzAsMHgwYywweDgwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZmZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNkLDB4YzUsMHgwYiwweGYxLDB4MDAsMHhmYywweGQwLDB4NzcsMHgyOSwweDM3IH19LAotIHsxNiwgMHhmZmYwLCAwLCB7MHgwYywweDhlLDB4NzQsMHgwMywweGZjLDB4MDgsMHhmZCwweDY5LDB4M2YsMHhkOCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhlZiB9fSwKLSB7MTYsIDB4ODAxMCwgMCwgezB4MDAsMHgzZiwweDQwLDB4MDcsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDgwMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDBkLDB4ZmMsMHhjMCwweGRjLDB4ODAsMHgzZiwweGM4IH19LAotIHsxNiwgMHg4MDMwLCAwLCB7MHgwZiwweDQ4LDB4MDMsMHg3YywweDIwLDB4ZmYsMHg2OCwweDM3LDB4ZTAsMHgwZSwweGYxLDB4MDMsMHg5YywweDAwLDB4YmYsMHgyMCB9fSwKLSB7MTYsIDB4ODA0MCwgMCwgezB4MzcsMHhlMCwweDBjLDB4YzgsMHgxMywweDNjLDB4NDAsMHhlZCwweDYwLDB4YmIsMHhlNCwweDJjLDB4NDMsMHg0YiwweDcwLDB4YTAgfX0sCi0gezE2LCAweDgwNTAsIDAsIHsweGNjLDB4MmMsMHgzZiwweDA5LDB4MGYsMHhkOCwweDQzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDYwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHhjMCwweGI4LDB4ODAsMHgyZiwweGY0LDB4MGYsMHg5OCwweDAyLDB4M2YsMHgwMCwweGJmLDB4NDIsMHgyMiB9fSwKLSB7MTYsIDB4ODA3MCwgMCwgezB4Y2EsMHgwOCwweGY0LDB4MDIsMHgzZSwweDAwLDB4YmYsMHhkMCwweDIyLDB4NjAsMHgyOCwweDg4LDB4MGEsMHgzZCwweDgwLDB4OGQgfX0sCi0gezE2LCAweDgwODAsIDAsIHsweDQwLDB4MjIsMHhjOCwweDA4LDB4ODEsMHgwMiwweDIxLDB4ODAsMHhkYiwweGMwLDB4MmUsMHhhNSwweDBiLDB4OTgsMHg0MiwweDIwIH19LAotIHsxNiwgMHg4MDkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MTAsMHhiMCwweDAwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ODBhMCwgMCwgezB4MGIsMHgyMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MjAsMHgyNiwweGMwLDB4OGEsMHgzNiwweDEyLDB4OGMsMHg0MSwweGIzLDB4MDAgfX0sCi0gezE2LCAweDgwYjAsIDAsIHsweDJlLDB4NDAsMHgwOCwweDAwLDB4MDIsMHgwZCwweDgxLDB4YTEsMHgzMCwweDIyLDB4YzgsMHg4OSwweGEyLDB4NDIsMHgwOCwweDIwIH19LAotIHsxNiwgMHg4MGMwLCAwLCB7MHhiMCwweDAwLDB4MmMsMHg0MCwweDBiLDB4OTAsMHgyNiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHhiOCwweDUwLDB4MmUsMHhjMCwweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwLDB4MjIgfX0sCi0gezE2LCAweDgwZTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDYyLDB4MmMsMHgxMCwweGJiLDB4MDQsMHgyYSwweGYwLDB4NGEsMHg4OCwweDAyLDB4MGMsMHgwMCwweDgxIH19LAotIHsxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOSwweGI4LDB4ODAsMHgyNiwweDAwLDB4YjgsMHg4MCwweDJlLDB4MjEsMHgwYiwweDkwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4ODEwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTUsMHhlYywweDAwLDB4ZDgsMHhjMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweDgxMTAsIDAsIHsweDBiLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4MzYsMHg4MCwweDBlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwIH19LAotIHsxNiwgMHg4MTIwLCAwLCB7MHgzYywweGUwLDB4MGMsMHgwYywweDAzLDB4MmMsMHgwMCwweGU5LDB4MDAsMHgxMCwweGMwLDB4MGMsMHg4YywweDAzLDB4MDYsMHgwMCB9fSwKLSB7MTYsIDB4ODEzMCwgMCwgezB4ZjgsMHhjZCwweDNlLDB4MjIsMHgwZiwweDE4LDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHg3YywweDAwLDB4ZjcsMHgwMiwweDNmIH19LAotIHsxNiwgMHg4MTUwLCAwLCB7MHhlNCwweDBmLDB4NzAsMHgwMywweDdjLDB4MDQsMHhiNywweDAwLDB4MzcsMHg0MCwweDBkLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4ODE2MCwgMCwgezB4MDAsMHgzNywweGQwLDB4MGUsMHhjMCwweDQzLDB4ZjQsMHgwMCwweGRmLDB4MDAsMHgzZiwweDgwLDB4OGYsMHhkYSwweDAzLDB4ZjggfX0sCi0gezE2LCAweDgxNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY4LDB4MTAsMHgzYSwweGMwIH19LAotIHsxNiwgMHg4MTgwLCAwLCB7MHg2ZCwweGE2LDB4MTMsMHhlYywweDAwLDB4Y2IsMHgwMCwweDNhLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHgyYywweDEwLDB4ZGIsMHgxMCB9fSwKLSB7MTYsIDB4ODE5MCwgMCwgezB4MzYsMHhkOCwweDBkLDB4ODQsMHgwMywweGVjLDB4MDYsMHhjOSwweDA4LDB4M2EsMHhjMCwweDBlLDB4ODYsMHgwMywweGE4LDB4NjAgfX0sCi0gezE2LCAweDgxYTAsIDAsIHsweGY4LDB4MjAsMHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4NTQsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWIwLCAwLCB7MHg5OCwweDA1LDB4M2MsMHgwMCwweGJiLDB4NDAsMHgyMywweGQwLDB4MDgsMHgzMCwweDAyLDB4M2UsMHgxMCwweGFmLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ODFjMCwgMCwgezB4YzAsMHgwYiwweGYwLDB4MDIsMHgzYywweDAwLDB4OGYsMHg1MCwweDJlLDB4YzgsMHgwNiwweDhhLDB4MDIsMHhmYywweDAwLDB4OGQgfX0sCi0gezE2LCAweDgxZDAsIDAsIHsweDI0LDB4ODIsMHhkNiwweDA4LDB4MzIsMHgwMiwweDJkLDB4MDgsMHgzYSwweDQwLDB4MjIsMHg4MCwweDBkLDB4OTAsMHgwMywweDYyIH19LAotIHsxNiwgMHg4MWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDRjLDB4MDAsMHhiMCwweDIwLDB4MjgsMHhjMiB9fSwKLSB7MTYsIDB4ODFmMCwgMCwgezB4MDgsMHgwNCwweDAyLDB4OGMsMHgwMCwweDEzLDB4MDIsMHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgzMCwweDkzLDB4ODAgfX0sCi0gezE2LCAweDgyMDAsIDAsIHsweDI0LDB4ZDAsMHgwOSwweDIwLDB4MDIsMHhjYywweDAwLDB4OTEsMHg0MCwweDA4LDB4YzAsMHgyYSwweDE0LDB4MDIsMHg4MSwweDAwIH19LAotIHsxNiwgMHg4MjEwLCAwLCB7MHg5MCwweDAwLDB4NjgsMHgwMCwweDA4LDB4MTgsMHgwMiwweDNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODIyMCwgMCwgezB4NzAsMHgwMSwweDFlLDB4MDAsMHhiNCwweGEwLDB4MjEsMHhlMCwweDA4LDB4YzgsMHgxMiwweDllLDB4MDAsMHhiMywweDgyLDB4MjEgfX0sCi0gezE2LCAweDgyMzAsIDAsIHsweGUwLDB4MGIsMHg3YSwweDBhLDB4MWUsMHgwMCwweDk3LDB4ODAsMHgyZCwweGUxLDB4MGEsMHg0OCwweDAyLDB4Y2UsMHg0MCwweDk1IH19LAotIHsxNiwgMHg4MjQwLCAwLCB7MHg5MCwweDI5LDB4ZTQsMHgwOCwweDU4LDB4MDIsMHg5YSwweDAwLDB4YjcsMHg4OCwweDIxLDB4ZTAsMHgwOSwweDU4LDB4MDIsMHg1YyB9fSwKLSB7MTYsIDB4ODI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDRhLDB4MDAsMHgwYywweDAwLDB4ZjAsMHg4MCwweDM4LDB4YzQgfX0sCi0gezE2LCAweDgyNjAsIDAsIHsweDBjLDB4MjUsMHgwMywweDhjLDB4MjAsMHg5MywweDAwLDB4MzgsMHhjNCwweDBmLDB4YjAsMHgwMywweDBjLDB4ODAsMHhkMywweDAwIH19LAotIHsxNiwgMHg4MjcwLCAwLCB7MHgzNCwweGMwLDB4MGQsMHgwNCwweDEzLDB4Y2MsMHgwOCwweDk5LDB4MDAsMHgyYSwweGMwLDB4MGUsMHgyMSwweDAzLDB4ODgsMHgwNCB9fSwKLSB7MTYsIDB4ODI4MCwgMCwgezB4ZjMsMHgwMCwweDM4LDB4YzAsMHgwYywweDExLDB4ODMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyOTAsIDAsIHsweDQyLDB4MTUsMHhiYywweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzMsMHgwZSwweGMwLDB4MDMsMHgxYywweDAwLDB4YWYsMHg0YSwweDdmIH19LAotIHsxNiwgMHg4MmEwLCAwLCB7MHhjNCwweDBmLDB4YjIsMHgwMywweGZkLDB4MDEsMHhlZiwweDEwLDB4M2YsMHg4NCwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhlOSB9fSwKLSB7MTYsIDB4ODJiMCwgMCwgezB4MDAsMHgzNywweGMyLDB4MGUsMHhmMSwweDQ3LDB4N2MsMHgwMCwweGY3LDB4MDAsMHgzZCwweGMwLDB4MGYsMHg1MCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDgyYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDE1LDB4ZWMsMHgwOCwweGY4LDB4MDAsMHgzZSwweGNhIH19LAotIHsxNiwgMHg4MmQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlZiwweDIxLDB4ZmIsMHg4MCwweDdhLDB4NDAsMHg4ZiwweGIyLDB4YTEsMHgyZiwweDAwLDB4Y2IsMHg2MCB9fSwKLSB7MTYsIDB4ODJlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVkLDB4YTAsMHhlOSwweDMwLDB4MzIsMHhjMCwweDJkLDB4YjAsMHgwMywweGU0LDB4MDAgfX0sCi0gezE2LCAweDgyZjAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MzAwLCAwLCB7MHhjOCwweDkxLDB4OWQsMHgwMCwweGI0LDB4MDEsMHgyZCwweGM4LDB4MGIsMHg3MCwweDAyLDB4Y2MsMHg4MCwweDhmLDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4ODMxMCwgMCwgezB4YzAsMHg4YiwweDc2LDB4MDMsMHg1ZCwweDAwLDB4ODcsMHgwYSwweDJkLDB4YzAsMHgwYiwweDQwLDB4MjIsMHhmZCwweDAwLDB4OGQgfX0sCi0gezE2LCAweDgzMjAsIDAsIHsweDEwLDB4MjMsMHhjOCwweDA4LDB4NTAsMHgxMiwweGQ0LDB4MDAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGYyIH19LAotIHsxNiwgMHg4MzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDllLDB4MDAsMHhiNCwweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4ODM0MCwgMCwgezB4MGIsMHg3YywweDAyLDB4ZGUsMHg0MCwweGE3LDB4ODIsMHgyZCwweGUwLDB4MGIsMHgzYSwweDAyLDB4OGUsMHgwMCwweDg3LDB4OTAgfX0sCi0gezE2LCAweDgzNTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweDU4LDB4MDIsMHg1ZSwweDAwLDB4YTUsMHhhMiwweDY1LDB4ZTAsMHgwOCwweDY4LDB4ODIsMHhkYSwweDAwIH19LAotIHsxNiwgMHg4MzYwLCAwLCB7MHg5NSwweDgwLDB4MmQsMHg2MCwweDBiLDB4NzgsMHgwMiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODM3MCwgMCwgezB4MDgsMHg4NCwweGNjLDB4MDAsMHhiMCwweDA5LDB4MmMsMHhjMCwweDBiLDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwLDB4MmUgfX0sCi0gezE2LCAweDgzODAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDQyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGEwLDB4MGIsMHgwNCwweDAyLDB4Y2MsMHgwMCwweDgxIH19LAotIHsxNiwgMHg4MzkwLCAwLCB7MHgwMCwweGEwLDB4YzAsMHgwOCwweGIwLDB4MDYsMHhjZiwweDgwLDB4YjMsMHgxMCwweDJjLDB4YzQsMHgwYiwweDMxLDB4MDIsMHhjMyB9fSwKLSB7MTYsIDB4ODNhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4ZmUsMHg4MCwweDNlLDB4ODAgfX0sCi0gezE2LCAweDgzYjAsIDAsIHsweDBmLDB4ZTgsMHgxMywweGU4LDB4MDAsMHhlYSwweDAwLDB4M2YsMHhiMCwweDBmLDB4YTAsMHgwMywweGE4LDB4MDIsMHhjMiwweDAwIH19LAotIHsxNiwgMHg4M2MwLCAwLCB7MHgyZiwweDg4LDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGVhLDB4MDAsMHgzNiwweDAwLDB4MGMsMHhlMCwweDAzLDB4ZjksMHgyMCB9fSwKLSB7MTYsIDB4ODNkMCwgMCwgezB4ZGUsMHg4MCwweDNmLDB4YTAsMHg0ZiwweGE4LDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgxMCwweDNjLDB4MTAsMHgwZiwweDgwLDB4ODMsMHhlMSwweDAwLDB4ZTgsMHgwMCwweDIyIH19LAotIHsxNiwgMHg4M2YwLCAwLCB7MHgwNiwweDBmLDB4MDAsMHgxMywweGUwLDB4MDEsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ODQwMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDIzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDg0MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZSwweDQ0IH19LAotIHsxNiwgMHg4NDIwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MTIsMHgyNCwweDAwLDB4ZjksMHgxMCB9fSwKLSB7MTYsIDB4ODQzMCwgMCwgezB4MzIsMHg0MCwweDhmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHgxMCwweDBjLDB4OWMsMHgwMSwweDI0LDB4MDAgfX0sCi0gezE2LCAweDg0NDAsIDAsIHsweGY5LDB4MTAsMHgzZSwweDcwLDB4MGYsMHg5MCwweDAyLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NDUwLCAwLCB7MHg4MCwweDE0LDB4NjQsMHgwMCwweGI5LDB4YzAsMHgyZSwweDQ4LDB4MDgsMHg5MSwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ODQ2MCwgMCwgezB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NywweDAwLDB4YjksMHg4MCwweDJhLDB4NjAsMHgwYiwweDk5LDB4MDIsMHhlNCwweDAwLDB4ODEgfX0sCi0gezE2LCAweDg0NzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDJjLDB4OTAsMHgxMiwweDI1LDB4MjAsMHhiOSwweDQ4LDB4MmUsMHg1MiwweDBiLDB4OTQsMHgwMiwweGUwIH19LAotIHsxNiwgMHg4NDgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ODQ5MCwgMCwgezB4NjgsMHg5MCwweDQ2LDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweGMwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHg2MCwweGI5LDB4MDAgfX0sCi0gezE2LCAweDg0YTAsIDAsIHsweDIyLDB4NDgsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAyLDB4ODksMHgwMCwweGEwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNiwweDEwIH19LAotIHsxNiwgMHg4NGIwLCAwLCB7MHhiOSwweDAwLDB4MGUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODRjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDAwLDB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweGM0LDB4ODQsMHhiMSwweDIwLDB4MmMgfX0sCi0gezE2LCAweDg0ZDAsIDAsIHsweDQwLDB4MDksMHgxMiwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4YzQsMHg4MCwweDg5IH19LAotIHsxNiwgMHg4NGUwLCAwLCB7MHgyMCwweDIwLDB4NDAsMHg0YiwweDEyLDB4MGEsMHg4NCwweDg0LDB4YjEsMHgyMCwweDJjLDB4NDgsMHg4YiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ODRmMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YmEsMHgwMCwweDJlLDB4MDAgfX0sCi0gezE2LCAweDg1MDAsIDAsIHsweDBjLDB4ODAsMHgwMywweGU4LDB4MDgsMHhmOCwweDUwLDB4M2UsMHgxNCwweDBjLDB4ODUsMHgwMywweDIwLDB4MDAsMHhiOCwweDAwIH19LAotIHsxNiwgMHg4NTEwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTAsMHgzMiwweDE0LDB4MGMsMHhhNSwweDAzLDB4YTEsMHg0MCB9fSwKLSB7MTYsIDB4ODUyMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1MzAsIDAsIHsweDg4LDB4MGQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4YjksMHgxMSwweDNmIH19LAotIHsxNiwgMHg4NTQwLCAwLCB7MHg0MCwweDBmLDB4OTEsMHgwMywweDY0LDB4NDQsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4ODU1MCwgMCwgezB4MTAsMHgzZiwweDEwLDB4OGMsMHhkMSwweDAzLDB4NzQsMHg0MCwweGZmLDB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweDg1NjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4NjYsMHgyMCwweGVkLDB4MDAsMHgzMywweDY5IH19LAotIHsxNiwgMHg4NTcwLCAwLCB7MHg0ZCwweDUwLDB4NDMsMHg1NiwweDAwLDB4ZjksMHhhMCwweDM0LDB4NDAsMHgwZiwweDlhLDB4MGIsMHgzNCwweDAwLDB4ZGQsMHg4MCB9fSwKLSB7MTYsIDB4ODU4MCwgMCwgezB4M2IsMHg0MCwweDBiLDB4NTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHhlMCwweDBlLDB4ZDAsMHgwMywweGY0LDB4MDAgfX0sCi0gezE2LCAweDg1OTAsIDAsIHsweGZkLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NWEwLCAwLCB7MHg3OCwweDEwLDB4ZTIsMHg4MCwweDg4LDB4MDQsMHgyMiwweDEwLDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwOSwweGI4LDB4ZjAsMHgyMiB9fSwKLSB7MTYsIDB4ODViMCwgMCwgezB4MDAsMHgwYiwweDhlLDB4MTIsMHhhMCwweDAwLDB4YjgsMHg1MiwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhlMCwweDA1LDB4YjggfX0sCi0gezE2LCAweDg1YzAsIDAsIHsweGFhLDB4MjMsMHgzZSwweDBkLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4M2EsMHgwMCwweDA4LDB4ODAsMHgwMiwweGNlIH19LAotIHsxNiwgMHg4NWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MjAsMHhhOSwweDAwLDB4YTQsMHg0NCB9fSwKLSB7MTYsIDB4ODVlMCwgMCwgezB4MDksMHg5MCwweDAyLDB4YzUsMHgwMCwweGExLDB4MDgsMHgyYywweDQwLDB4MGIsMHgxMSwweDgyLDB4MDQsMHgwMCwweGIxLDB4MDAgfX0sCi0gezE2LCAweDg1ZjAsIDAsIHsweDI4LDB4NDAsMHgwYSwweDEwLDB4NDIsMHhjNCwweDAwLDB4YjUsMHgwMCwweGExLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNCwweDAwIH19LAotIHsxNiwgMHg4NjAwLCAwLCB7MHhiMSwweDAxLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgyMCwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODYxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMCwweGFjLDB4MDAsMHgzOSwweDAwLDB4MmEgfX0sCi0gezE2LCAweDg2MjAsIDAsIHsweDQwLDB4MGIsMHgxMCwweDAyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQ4LDB4MGIsMHg5MCwweDEyLDB4ZTQsMHgwMCwweGI5IH19LAotIHsxNiwgMHg4NjMwLCAwLCB7MHgwMCwweDIxLDB4NjAsMHgwOSwweDkyLDB4MjIsMHhlNCwweDI4LDB4YjksMHgwMCwweDBhLDB4NTAsMHgwOCwweDkwLDB4MDYsMHhjNiB9fSwKLSB7MTYsIDB4ODY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZTksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweDg2NTAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0OCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwIH19LAotIHsxNiwgMHg4NjYwLCAwLCB7MHgzYSwweDc4LDB4MGUsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHhiMiwweDQwLDB4MGUsMHg5MiwweDIzLDB4ZTYsMHgwMCB9fSwKLSB7MTYsIDB4ODY3MCwgMCwgezB4YjksMHg1MCwweDNlLDB4NzAsMHgyYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2ODAsIDAsIHsweDY4LDB4MDEsMHg4NCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweDljLDB4MjMsMHg2NCwweDAwLDB4ZjksMHgwNCwweDM2IH19LAotIHsxNiwgMHg4NjkwLCAwLCB7MHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ODZhMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDgzLDB4ZTQsMHg0NCwweGY5LDB4MDAsMHg3OCwweDY0LDB4MGYsMHg5MCwweDAzLDB4ZGEgfX0sCi0gezE2LCAweDg2YjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHg4NmMwLCAwLCB7MHgwZiwweDgyLDB4MDMsMHhhMCwweDQwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMCwweGMwLDB4YzgsMHg4MCB9fSwKLSB7MTYsIDB4ODZkMCwgMCwgezB4M2UsMHgxMiwweDBmLDB4ODAsMHgwMywweDYwLDB4MDAsMHg3YywweDAwLDB4MzMsMHgwMCwweDBkLDB4ODAsMHgxMywweGUwLDB4MTAgfX0sCi0gezE2LCAweDg2ZTAsIDAsIHsweGM4LDB4NjQsMHgzZSwweDA4LDB4MGMsMHg4MiwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NmYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGI2LDB4ZTAsMHgwZiwweGEwLDB4MGIsMHg2MCwweDgyLDB4MzgsMHgwMCwweGFhLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ODcwMCwgMCwgezB4ODAsMHgwOCwweGEwLDB4NDIsMHhiYSwweDAwLDB4YWUsMHgyMCwweDJmLDB4ODgsMHgwYiwweGU1LDB4MDIsMHgyOCwweDAwLDB4YmEgfX0sCi0gezE2LCAweDg3MTAsIDAsIHsweGQ4LDB4MzcsMHg4MCwweDA4LDB4ZWMsMHgwMiwweGY4LDB4MDQsMHg4ZSwweDAwLDB4MmYsMHg5MCwweDBkLDB4ZTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHg4NzIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMCwweDI0LDB4MmMsMHg2MCB9fSwKLSB7MTYsIDB4ODczMCwgMCwgezB4MGIsMHgzOCwweDAyLDB4OGUsMHg4MCwweGFiLDB4MDAsMHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4MGQsMHgwOCwweDAwLDB4ODAgfX0sCi0gezE2LCAweDg3NDAsIDAsIHsweDZjLDB4ZDAsMHgwYiwweDM0LDB4MDIsMHhjYywweDAwLDB4YjgsMHhjMCwweDIwLDB4MDAsMHg0OCwweDM0LDB4MTIsMHhjYywweDQwIH19LAotIHsxNiwgMHg4NzUwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhlMCwweDBhLDB4MzUsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODc2MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHhiNywweDAwLDB4MmQsMHgwMiwweDhiLDB4NjAsMHgwMiwweDllLDB4MDAsMHg4NywweDIwLDB4MmYgfX0sCi0gezE2LCAweDg3NzAsIDAsIHsweGUwLDB4MDgsMHg3MiwweDAyLDB4OWUsMHgwMCwweGE0LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmOCwweDAyLDB4OWMsMHhjMCwweGIzIH19LAotIHsxNiwgMHg4NzgwLCAwLCB7MHgwMiwweGE1LDB4YzAsMHgwOCwweDUwLDB4ODYsMHhmZSwweDAwLDB4ODcsMHgwMCwweDJmLDB4ZDAsMHgwOSwweDcwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4ODc5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZjQsMHg4MCwweDNkLDB4MjAgfX0sCi0gezE2LCAweDg3YTAsIDAsIHsweDBmLDB4NTgsMHgwMywweDllLDB4MDAsMHg2NywweDgwLDB4M2QsMHhmOCwweDBkLDB4MzgsMHgwMiwweDFhLDB4MTAsMHg0NCwweDgwIH19LAotIHsxNiwgMHg4N2IwLCAwLCB7MHgzZCwweGUwLDB4MGYsMHg1OCwweDAzLDB4ZGUsMHgyMCwweGI0LDB4ODAsMHgzMywweGEwLDB4MmMsMHg2OCwweDAzLDB4ZDYsMHgwMCB9fSwKLSB7MTYsIDB4ODdjMCwgMCwgezB4YzcsMHg4MSwweDNkLDB4ZTAsMHgwYywweDc4LDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3ZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDA4LDB4ZjgsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHg2YywweDAwLDB4M2IsMHgxMiwweDNlIH19LAotIHsxNiwgMHg4N2UwLCAwLCB7MHhjYSwweDBmLDB4YjUsMHgwMywweGM4LDB4MDAsMHhmOCwweDA0LDB4N2UsMHhjMCwweDBmLDB4OTAsMHgwMywweDZjLDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ODdmMCwgMCwgezB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4YzgsMHgwMCwweGY5LDB4MDEsMHgzYywweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDg4MDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGFjLDB4OTAsMHgzMSwweDQ4IH19LAotIHsxNiwgMHg4ODEwLCAwLCB7MHgwOCwweGY4LDB4MDMsMHhmYSwweDAwLDB4Y2YsMHg4MCwweDNmLDB4ZTAsMHgwYywweGZjLDB4MTMsMHgzZSwweDA0LDB4ZmMsMHg4MCB9fSwKLSB7MTYsIDB4ODgyMCwgMCwgezB4MzUsMHhhMCwweDBjLDB4NzgsMHgwMywweGJlLDB4MDAsMHhkZiwweDgwLDB4M2IsMHgyMCwweDI0LDB4ZjgsMHgwMywweDJlLDB4NDAgfX0sCi0gezE2LCAweDg4MzAsIDAsIHsweGNmLDB4ODAsMHgzMywweGUwLDB4MDMsMHhmOSwweDAzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ODQwLCAwLCB7MHhhOCwweDExLDB4YmMsMHgwMCwweDgwLDB4MDAsMHgwMSwweDAwLDB4MDgsMHg3MiwweDAyLDB4ZDAsMHgwMCwweDg3LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4ODg1MCwgMCwgezB4YzgsMHgwYSwweGYwLDB4MDIsMHg5OCwweDQwLDB4ZjUsMHgwMCwweDYxLDB4NDEsMHgwMCwweDc0LDB4MDIsMHgxYywweDAwLDB4YjQgfX0sCi0gezE2LCAweDg4NjAsIDAsIHsweDAwLDB4MjEsMHhjOCwweDA4LDB4NjAsMHgwMiwweDNlLDB4MjAsMHg4NiwweDA4LDB4MjEsMHhkOCwweDBmLDB4NTAsMHgwMiwweGVhIH19LAotIHsxNiwgMHg4ODcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMCwweDljLDB4MDAsMHhhNCwweDAwLDB4MjEsMHgwMCB9fSwKLSB7MTYsIDB4ODg4MCwgMCwgezB4MDgsMHg1MCwweDAyLDB4ZDgsMHgwMCwweDk3LDB4MDAsMHgyZCwweGMwLDB4ODgsMHg3MSwweDAyLDB4MTQsMHgwMCwweGIwLDB4MDAgfX0sCi0gezE2LCAweDg4OTAsIDAsIHsweDI1LDB4OTAsMHgwOCwweGMwLDB4ODIsMHg5YywweDQwLDB4OTMsMHgwMCwweDI5LDB4YTEsMHg4OCwweDYwLDB4MDIsMHgxNCwweDEyIH19LAotIHsxNiwgMHg4OGEwLCAwLCB7MHg4NywweDQwLDB4MjksMHg0MCwweDBiLDB4NjAsMHgwMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODhiMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHg4MCwweGQwLDB4YTAsMHgwMCwweDA4LDB4MWMsMHgwMiwweGMwLDB4MDAsMHg5MywweDAwLDB4MmMgfX0sCi0gezE2LCAweDg4YzAsIDAsIHsweGQwLDB4MGEsMHhiMCwweDI2LDB4ODAsMHgwMCwweGIzLDB4MDAsMHgyNCwweGU0LDB4MDgsMHgwOCwweDAyLDB4OGMsMHgwMCwweGIwIH19LAotIHsxNiwgMHg4OGQwLCAwLCB7MHgwMiwweDAyLDB4NDEsMHgwOCwweDA4LDB4MDIsMHgwMywweDAxLDB4ODEsMHgwMCwweDI4LDB4NDIsMHgxYSwweDAwLDB4NDIsMHhkOCB9fSwKLSB7MTYsIDB4ODhlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhiYywweDAwLDB4ZTgsMHhjMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweDg4ZjAsIDAsIHsweDBjLDB4YjUsMHgwMywweGU0LDB4MDAsMHg5ZiwweDAwLDB4M2QsMHhlMCwweDBjLDB4ZjAsMHgwYiwweDI0LDB4MDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHg4OTAwLCAwLCB7MHgzNiwweGUwLDB4MGMsMHgyNSwweDAzLDB4YmMsMHgwNSwweGQ4LDB4MDIsMHgyYSwweDAwLDB4MDgsMHhiYSwweDAyLDB4MmEsMHgwMCB9fSwKLSB7MTYsIDB4ODkxMCwgMCwgezB4YzEsMHgwMiwweDNhLDB4NTAsMHg4YiwweDkwLDB4MDMsMHhlZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5MjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwOCwweDNlLDB4ODAsMHgwZiwweGExLDB4MDMsMHhlYywweDA0LDB4ZWIsMHgwMiwweDJlIH19LAotIHsxNiwgMHg4OTMwLCAwLCB7MHhjNiwweDBmLDB4YjAsMHgxNywweDQ0LDB4MDAsMHhlOCwweDAwLDB4M2EsMHg0MCwweDBmLDB4ODAsMHgwMiwweDZjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ODk0MCwgMCwgezB4MDAsMHgzZSwweGUwLDB4MGYsMHg5MCwweDkzLDB4ZTEsMHgwMCwweGQ5LDB4MDAsMHgyNiwweDcwLDB4OGYsMHg5MCwweDAxLDB4ZTEgfX0sCi0gezE2LCAweDg5NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZmMsMHgwMCwweGZjLDB4MDMsMHgzNywweDI0IH19LAotIHsxNiwgMHg4OTYwLCAwLCB7MHgwZCwweGY4LDB4MDMsMHhlMCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzEsMHg4ZCwweGYwLDB4MGIsMHgzOCwweDAwLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4ODk3MCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZmEsMHgwMywweDNjLDB4MGMsMHhmYywweDA0LDB4M2IsMHg4MCwweDBjLDB4YTAsMHgwMywweDk0LDB4MjAgfX0sCi0gezE2LCAweDg5ODAsIDAsIHsweDg5LDB4MDUsMHgzYiwweDAwLDB4NGYsMHhkMCwweDIzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OTkwLCAwLCB7MHg4MCwweDA0LDB4NmMsMHgwMCwweGIwLDB4MDYsMHgyMCwweDEzLDB4ODgsMHhhOCwweDAyLDB4ZWIsMHgwMCwweGJiLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ODlhMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYSwweDAwLDB4YTgsMHg4MCwweDJlLDB4ZTAsMHgwYiwweDk0LDB4MWEsMHgyYywweDAwLDB4YmIgfX0sCi0gezE2LCAweDg5YjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDI5LDB4OTgsMHgwMiwweGUyLDB4MDAsMHhhOSwweDg0LDB4MjIsMHgyMCwweDBiLDB4OTgsMHgwMiwweGUwIH19LAotIHsxNiwgMHg4OWMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiOCwweDAwLDB4MjIsMHgwMCB9fSwKLSB7MTYsIDB4ODlkMCwgMCwgezB4MDksMHg4MiwweDAyLDB4ZTYsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMCwweDg4LDB4ODAgfX0sCi0gezE2LCAweDg5ZTAsIDAsIHsweDJlLDB4YTAsMHgwYiwweGEwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweDJhLDB4MDAsMHgwOSwweDk4LDB4MDIsMHhlYSwweDIwIH19LAotIHsxNiwgMHg4OWYwLCAwLCB7MHhhOSwweDgwLDB4MmEsMHg2MCwweDliLDB4OTgsMHg4MiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGEwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiOCwweDAwLDB4MjAsMHgwMCwweDA5LDB4MDgsMHgwMiwweGM0LDB4MDAsMHhiMywweDAwLDB4MjYgfX0sCi0gezE2LCAweDhhMTAsIDAsIHsweGMwLDB4MDAsMHgzMCwweDAyLDB4MDAsMHgwMCwweDgxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgwMCwweDAyLDB4MGMsMHgwMCwweGIwIH19LAotIHsxNiwgMHg4YTIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYiwweDAwLDB4MDIsMHhjOCwweDgwLDB4YTgsMHgwMCwweDIwLDB4NDEsMHgwYiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4OGEzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDEwLDB4ZjgsMHg1MCwweGIyLDB4MDAgfX0sCi0gezE2LCAweDhhNDAsIDAsIHsweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmYiwweDAwLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgxMywweDI0LDB4MDIsMHhjOCwweDA2IH19LAotIHsxNiwgMHg4YTUwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4M2MsMHgwNCwweGZiLDB4MDAsMHg3OCwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OGE2MCwgMCwgezB4ZTksMHgwMCwweDFhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhNzAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZjQsMHgyMCwweDNmLDB4MDAsMHgwZSwweGMwLDB4MDIsMHhmMCwweDAxLDB4ZmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHg4YTgwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgyMywweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4OGE5MCwgMCwgezB4MDAsMHgzZiwweDQwLDB4OWMsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZTggfX0sCi0gezE2LCAweDhhYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHgwMCwweGVkLDB4MjMsMHhiNywweDQ4IH19LAotIHsxNiwgMHg4YWIwLCAwLCB7MHgwYywweGUxLDB4YzMsMHg3YywweGMwLDB4ZGQsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGNiLDB4MDMsMHhmZSwweDA4LDB4ZmMsMHgyOCB9fSwKLSB7MTYsIDB4OGFjMCwgMCwgezB4M2YsMHhmMCwweDFjLDB4ZmIsMHgyMywweDdjLDB4MDEsMHhmZiwweDE0LDB4NzcsMHhlMiwweDRmLDB4ZTgsMHgyMywweDdjLDB4MDAgfX0sCi0gezE2LCAweDhhZDAsIDAsIHsweGM0LDB4ODAsMHgzMywweDQ4LDB4MmMsMHhmOCwweDIyLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YWUwLCAwLCB7MHg4MCwweDEwLDB4ZTAsMHhlMCwweGM5LDB4YzAsMHgyMiwweDViLDB4ODgsMHg5NiwweDIyLDB4MmQsMHgwMCwweDg5LDB4MjIsMHgyMiB9fSwKLSB7MTYsIDB4OGFmMCwgMCwgezB4Y2EsMHgwYiwweDllLDB4MjIsMHhlMiwweGEwLDB4YjksMHg2MSwweDJjLDB4ZTAsMHg4OCwweDlmLDB4MDIsMHgzZCwweDg1LDB4YmYgfX0sCi0gezE2LCAweDhiMDAsIDAsIHsweDYwLDB4MjYsMHg1MCwweDQ4LDB4YTAsMHgwMiwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjIsMHg1MCwweDA4LDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHg4YjEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4ODAsMHhiMSwweDEwLDB4MjAsMHg0NCB9fSwKLSB7MTYsIDB4OGIyMCwgMCwgezB4MGIsMHhiMiwweDAyLDB4Y2UsMHhkMCwweDgxLDB4MDgsMHgyYywweGMwLDB4MGIsMHgwMSwweDAyLDB4OGMsMHgwOCwweGIzLDB4MDggfX0sCi0gezE2LCAweDhiMzAsIDAsIHsweDJjLDB4YzksMHgwOCwweDEwLDB4NjIsMHg4YywweDYwLDB4YjMsMHgzMiwweDI0LDB4ODAsMHgwYSwweGEwLDB4MDIsMHg2YywweDAzIH19LAotIHsxNiwgMHg4YjQwLCAwLCB7MHg5YSwweDAxLDB4MjYsMHg0NCwweDQ4LDB4YjAsMHg0MiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGI1MCwgMCwgezB4YzAsMHgxNSwweGE0LDB4YTAsMHg4YiwweDAyLDB4MjIsMHhlMCwweDBiLDB4YjAsMHg2MiwweGFjLDB4OTgsMHg5OSwweDAwLDB4MmEgfX0sCi0gezE2LCAweDhiNjAsIDAsIHsweGMyLDB4MGIsMHg5OCwweDA2LDB4ZTQsMHgwMCwweGJiLDB4MDIsMHgyZSwweGMwLDB4MDgsMHg5MSwweDQyLDB4MmMsMHgxMCwweGJiIH19LAotIHsxNiwgMHg4YjcwLCAwLCB7MHgwMCwweDZlLDB4ODAsMHgwYSwweDgwLDB4MDIsMHg2YywweDAwLDB4MWIsMHgwMCwweDA2LDB4NDAsMHg0OCwweGI4LDB4MGEsMHg3MCB9fSwKLSB7MTYsIDB4OGI4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlNywweDAwLDB4YTEsMHgwMCwweDc2LDB4NzggfX0sCi0gezE2LCAweDhiOTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGU4LDB4MTAsMHhkOSwweDAwLDB4M2UsMHhkMCwweDRiLDB4OWUsMHgxMywweGFjLDB4MDgsMHhiOCwweGEwIH19LAotIHsxNiwgMHg4YmEwLCAwLCB7MHg3ZSwweGM2LDB4MDgsMHhhOCwweDAyLDB4MmMsMHgwMSwweGJiLDB4MDAsMHgyNiwweDMwLDB4NGUsMHgyMCwweDAzLDB4NGMsMHgxOCB9fSwKLSB7MTYsIDB4OGJiMCwgMCwgezB4OTksMHg4MCwweGI0LDB4NDAsMHg0YywweDNhLDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiYzAsIDAsIHsweGUwLDB4MDEsMHhiMiwweDAwLDB4ZmQsMHhjNSwweDNiLDB4YzAsMHg0YywweGQwLDB4MDMsMHg2YSwweDAyLDB4ZWQsMHgwNiwweDMzIH19LAotIHsxNiwgMHg4YmQwLCAwLCB7MHhjNCwweDBmLDB4ZDAsMHg1MywweGY4LDB4MDAsMHhmYywweDkwLDB4N2YsMHhjMSwweDBmLDB4NzgsMHgwMywweGJjLDB4MDQsMHhmZiB9fSwKLSB7MTYsIDB4OGJlMCwgMCwgezB4MDAsMHgzNywweDY0LDB4MGMsMHhmMSwweDAzLDB4YTQsMHgwMCwweGVkLDB4YTEsMHgzYiwweDQwLDB4MGIsMHhmMCwweDgzLDB4YjggfX0sCi0gezE2LCAweDhiZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgwMCwweGNiLDB4MjAsMHgzZSwweDcxIH19LAotIHsxNiwgMHg4YzAwLCAwLCB7MHgwZiwweGIzLDB4MDMsMHg5OCwweDAyLDB4ZmIsMHgwMiwweDM2LDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlYywweDIwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4OGMxMCwgMCwgezB4M2UsMHhjYywweDA0LDB4ODQsMHgwMywweDJjLDB4MDAsMHhkYiwweDA0LDB4M2MsMHgxMCwweDBmLDB4YTAsMHgwMywweGVjLDB4MDAgfX0sCi0gezE2LCAweDhjMjAsIDAsIHsweDliLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YzMwLCAwLCB7MHg4OCwweDA1LDB4MmMsMHgwMiwweDhiLDB4NDgsMHgyZSwweGUwLDB4MGIsMHgzNCwweDAzLDB4NmIsMHgwMCwweDhiLDB4ZjUsMHgyMiB9fSwKLSB7MTYsIDB4OGM0MCwgMCwgezB4ZjIsMHgwYiwweDljLDB4MDMsMHhhZiwweDAwLDB4YjgsMHg1MCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg3YywweDAwLDB4OGYgfX0sCi0gezE2LCAweDhjNTAsIDAsIHsweDAwLDB4MGUsMHg1ZCwweDBiLDB4ODAsMHgwMiwweGY1LDB4NDAsMHg4MywweDUwLDB4MjMsMHg1NCwweDA4LDB4OWMsMHgwMiwweGU2IH19LAotIHsxNiwgMHg4YzYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNCwweDRjLDB4MDAsMHg4MSwweDgxLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4OGM3MCwgMCwgezB4MDMsMHgyYywweDAyLDB4MDQsMHgzMywweDk5LDB4MDAsMHgyMCwweGYwLDB4NGEsMHgyOCwweDgwLDB4Y2MsMHg0MCwweGIwLDB4MDAgfX0sCi0gezE2LCAweDhjODAsIDAsIHsweDI2LDB4MTAsMHgwOCwweDIwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOSwweDIwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHg4YzkwLCAwLCB7MHhhMCwweDAyLDB4MjgsMHg0MCwweDA4LDB4MDgsMHgwMiwweDdhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGNhMCwgMCwgezB4MjAsMHgwMSwweDBhLDB4MDAsMHg4NSwweDgwLDB4MmQsMHhmOCwweDBiLDB4ZGEsMHgwMiwweGQ2LDB4NDAsMHg4NSwweGEwLDB4MjEgfX0sCi0gezE2LCAweDhjYjAsIDAsIHsweGUwLDB4MGIsMHg0OCwweDA2LDB4OTIsMHgwNCwweGI1LDB4ODAsMHgyZCwweDIxLDB4MDgsMHgwMCwweDAyLDB4NGUsMHgwMCwweDg3IH19LAotIHsxNiwgMHg4Y2MwLCAwLCB7MHhhNCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhkZSwweGMyLDB4YWQsMHg5MCwweDJiLDB4NjAsMHgyOCwweDU4LDB4ODIsMHhkYyB9fSwKLSB7MTYsIDB4OGNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0YywweDQwLDB4YzMsMHgxMCwweDJjLDB4NmMgfX0sCi0gezE2LCAweDhjZTAsIDAsIHsweDBmLDB4MzAsMHgwMywweDg2LDB4YTIsMHhmOSwweGIwLDB4YjAsMHhlMCwweDBmLDB4MjksMHg4MywweGNlLDB4NDQsMHhmMywweDgwIH19LAotIHsxNiwgMHg4Y2YwLCAwLCB7MHgzYywweGFjLDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCwweGMzLDB4MDAsMHgzYywweGQ1LDB4MGYsMHgyMCwweDAzLDB4Y2UsMHhjMSB9fSwKLSB7MTYsIDB4OGQwMCwgMCwgezB4ZTAsMHgxMCwweGI4LDB4NDAsMHgwYywweDAwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkMTAsIDAsIHsweGMwLDB4MWQsMHhiYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4Y2MsMHgwZiwweDMyLDB4MDMsMHg2NCwweDA4LDB4ZjksMHgwMCwweDNiIH19LAotIHsxNiwgMHg4ZDIwLCAwLCB7MHg5MCwweDBmLDB4ZjAsMHg0MywweGU0LDB4NDAsMHhmYiwweDM0LDB4M2YsMHg4MSwweDA3LDB4ZDEsMHgwMywweGFkLDB4MjAsMHhlYiB9fSwKLSB7MTYsIDB4OGQzMCwgMCwgezB4MjAsMHg3ZiwweGM0LDB4MGYsMHhlMSwweDAzLDB4ZmMsMHg1MCwweGNkLDB4MTAsMHgzNSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDhkNDAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwNCwweGZkLDB4MDQsMHgzZCwweDQwIH19LAotIHsxNiwgMHg4ZDUwLCAwLCB7MHgyZCwweDMwLDB4MDIsMHgzYywweDAwLDB4YzksMHgwMSwweDNlLDB4YzAsMHg0ZiwweGI4LDB4NDMsMHhlYywweDEwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4OGQ2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YTAsMHgyMywweGVjLDB4ODAsMHhjYiwweDM2LDB4MzIsMHg4MCwweDRkLDB4YTgsMHgwMywweDJjLDB4MTAgfX0sCi0gezE2LCAweDhkNzAsIDAsIHsweGNiLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4NmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZDgwLCAwLCB7MHhjOCwweDExLDB4OTAsMHgwOCwweGI1LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg1MCwweDAyLDB4YmMsMHgwMiwweDg1LDB4MDQsMHgyZCB9fSwKLSB7MTYsIDB4OGQ5MCwgMCwgezB4YzAsMHg4ZSwweDYwLDB4MDYsMHhkOCwweDA0LDB4YjcsMHgwNCwweDIxLDB4NDAsMHgwYiwweDcwLDB4MDIsMHhmYywweDgwLDB4YWYgfX0sCi0gezE2LCAweDhkYTAsIDAsIHsweDI4LDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweDA2LDB4NDAsMHg4NywweDAwLDB4MjEsMHg1MCwweDA4LDB4NTAsMHgwMiwweDMyIH19LAotIHsxNiwgMHg4ZGIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MjAsMHhiNywweDgwLDB4MmIsMHg3MCB9fSwKLSB7MTYsIDB4OGRjMCwgMCwgezB4MDgsMHhmOCwweDA2LDB4MWUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3MCwweDMyLDB4ZGUsMHgwNCwweDM3LDB4ODQgfX0sCi0gezE2LCAweDhkZDAsIDAsIHsweDI1LDB4ZTAsMHgwYiwweDY4LDB4MDYsMHhkZSwweDgwLDB4ODcsMHg4MCwweDIxLDB4YTEsMHgxYiwweDY4LDB4MDIsMHgxZSwweDQwIH19LAotIHsxNiwgMHg4ZGUwLCAwLCB7MHg5ZiwweDgwLDB4MjAsMHg2MCwweDA4LDB4NTgsMHgwMiwweDIwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGRmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MjAsMHhiMywweDAwLDB4MmMsMHg4MCwweDg4LDB4YjQsMHgyMiwweDhkLDB4MDAsMHg4MywweDkwLDB4MmMgfX0sCi0gezE2LCAweDhlMDAsIDAsIHsweGMwLDB4MGEsMHgzOCwweDAyLDB4Y2UsMHgwOCwweGJiLDB4MjAsMHgyNCwweGQwLDB4MGIsMHhiMywweDAyLDB4Y2MsMHgwMCwweGEzIH19LAotIHsxNiwgMHg4ZTEwLCAwLCB7MHgwMCwweDYwLDB4ZDIsMHgwYiwweDIwLDB4MmEsMHgwNCwweDA4LDB4OTMsMHg1MCwweDIwLDB4NDAsMHgwOCwweDE3LDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4OGUyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYSwweDAwLDB4YmEsMHhhMCwweDNmLDB4ODQgfX0sCi0gezE2LCAweDhlMzAsIDAsIHsweDFjLDB4ZTAsMHgwYiwweDM4LDB4NDAsMHg4ZSwweDA2LDB4MmUsMHg4MCwweDBiLDB4ZTMsMHgwMywweGY4LDB4ODAsMHhmZSwweGU0IH19LAotIHsxNiwgMHg4ZTQwLCAwLCB7MHhiNywweDkwLDB4MGYsMHhlYywweDAyLDB4ZTgsMHgwMCwweDhhLDB4MDAsMHhhMywweGEwLDB4MDksMHhlNCwweDAzLDB4MmEsMHgwMiB9fSwKLSB7MTYsIDB4OGU1MCwgMCwgezB4ZGUsMHhjMCwweGYzLDB4ODAsMHgwYywweDZjLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlNjAsIDAsIHsweDQ4LDB4MDEsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlIH19LAotIHsxNiwgMHg4ZTcwLCAwLCB7MHgzMCwweDBhLDB4ODQsMHgwMywweGUwLDB4MDQsMHhmOCwweDAwLDB4M2EsMHgwMiwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4OGU4MCwgMCwgezB4MDAsMHgzZSwweDA0LDB4MGQsMHg4MCwweDgzLDB4ZTAsMHg0MCwweGU4LDB4MjAsMHgzZSwweDAwLDB4MmYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDhlOTAsIDAsIHsweDEwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDY0IH19LAotIHsxNiwgMHg4ZWEwLCAwLCB7MHg0ZSwweDkwLDB4ODMsMHgyNCwweDgwLDB4YzksMHgwMCwweDMyLDB4ZTAsMHgwZiwweDEwLDB4MDMsMHgyNSwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OGViMCwgMCwgezB4MzIsMHg0NCwweDBmLDB4OTIsMHgyMywweDY0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgxMywweGU0LDB4MDAgfX0sCi0gezE2LCAweDhlYzAsIDAsIHsweGM5LDB4MDAsMHgyMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZWQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MjAsMHgyZSwweDQwLDB4NDgsMHg5NiwweDIyLDB4MjUsMHgwMCwweGQ5LDB4YzAsMHhhMiB9fSwKLSB7MTYsIDB4OGVlMCwgMCwgezB4NzAsMHgwYiwweDk4LDB4MDIsMHgyNCwweDAwLDB4YjksMHg0MCwweGEyLDB4NzAsMHg0YiwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZDkgfX0sCi0gezE2LCAweDhlZjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDJjLDB4OTQsMHgyMiwweGU0LDB4MDIsMHg4OSwweDAwLDB4YTIsMHg0MCwweDI4LDB4OTQsMHgxMywweDIwIH19LAotIHsxNiwgMHg4ZjAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4OGYxMCwgMCwgezB4MGEsMHg5MCwweDAyLDB4MDQsMHgwMCwweDgxLDB4ODAsMHhhMiwweDQ0LDB4MGIsMHg5MSwweDAyLDB4MjUsMHgwMCwweDE5LDB4NDAgfX0sCi0gezE2LCAweDhmMjAsIDAsIHsweDYyLDB4NDAsMHgwYiwweGI0LDB4MDIsMHg0NCwweDAwLDB4ODksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4ODIsMHhjNCwweDAxIH19LAotIHsxNiwgMHg4ZjMwLCAwLCB7MHg4MywweDAyLDB4MjgsMHg0MCwweDQ4LDB4OTAsMHg4MiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGY0MCwgMCwgezB4MDAsMHgwNCwweDA1LDB4ODAsMHhiMSwweDAwLDB4NmMsMHg1MSwweDA4LDB4MTQsMHgxYSwweDA1LDB4MDAsMHg5MywweDAwLDB4MjAgfX0sCi0gezE2LCAweDhmNTAsIDAsIHsweDQwLDB4OGIsMHgxNCwweDAyLDB4MDUsMHgwMCwweGIxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDA2LDB4MDQsMHg4MCwweDkxIH19LAotIHsxNiwgMHg4ZjYwLCAwLCB7MHgyMCwweDIwLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweGE4LDB4ODEsMHgwMCwweDI4LDB4NGEsMHgwOCwweDkwLDB4NGEsMHg0MiB9fSwKLSB7MTYsIDB4OGY3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweDhmODAsIDAsIHsweDBlLDB4ODAsMHgwMywweDI4LDB4MDEsMHhjOCwweDUwLDB4MzIsMHg5NCwweDhiLDB4YTAsMHgwMywweDIwLDB4MDAsMHhiMCwweDUwIH19LAotIHsxNiwgMHg4ZjkwLCAwLCB7MHgzMiwweDgwLDB4MGYsMHg4MCwweDA3LDB4NjEsMHg1MSwweGM4LDB4NTAsMHgyMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4ZTAsMHg4NCB9fSwKLSB7MTYsIDB4OGZhMCwgMCwgezB4YzgsMHgwNCwweDNhLDB4MDgsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmYjAsIDAsIHsweDk4LDB4OWQsMHhmNCwweDQwLDB4YmQsMHg0MSwweDNmLDB4NTAsMHgwZiwweGY0LDB4MDMsMHhmNSwweDEwLDB4ZmQsMHgwMCwweDNlIH19LAotIHsxNiwgMHg4ZmMwLCAwLCB7MHg0MCwweDBmLDB4ZDQsMHgwMywweGY0LDB4MDAsMHhmZiwweDEwLDB4MmYsMHg0MCwweDRmLDB4ZDQsMHg0MCwweGE0LDB4NDgsMHhmOSB9fSwKLSB7MTYsIDB4OGZkMCwgMCwgezB4MTIsMHgzZiwweDVhLDB4OGUsMHhkMiwweDgzLDB4ZjQsMHhhOCwweGY1LDB4MmMsMHgzNywweDRhLDB4MGYsMHhkMiwweDgzLDB4YTYgfX0sCi0gezE2LCAweDhmZTAsIDAsIHsweDEyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg4MCwweGZkLDB4MjgsMHgzZiwweDRjIH19LAotIHsxNiwgMHg4ZmYwLCAwLCB7MHgwZiwweDUwLDB4MDMsMHgzYywweDQ0LDB4Y2QsMHg0MCwweDNmLDB4ZDAsMHgwZCwweGQwLDB4MDIsMHgxNCwweDAxLDB4ZmQsMHhhMCB9fSwKLSB7MTYsIDB4OTAwMCwgMCwgezB4MzEsMHg0MCwweDAzLDB4ZDAsMHgwMywweGU3LDB4ODksMHhmOSwweDkwLDB4N2UsMHg1MCwweDBjLDB4OTQsMHgwMywweGU2LDB4YzAgfX0sCi0gezE2LCAweDkwMTAsIDAsIHsweGM5LDB4MTAsMHgzMiwweDZkLDB4MGYsMHg5MSwweDAyLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MDIwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHg4MCwweGI4LDB4MDEsMHgyZSwweDBjLDB4OGIsMHg4NCwweDgyLDB4MjAsMHg0MiwweDg4LDB4YTAsMHg2ZSB9fSwKLSB7MTYsIDB4OTAzMCwgMCwgezB4MjAsMHgwOCwweDgwLDB4MDMsMHg2MCwweDAwLDB4OTgsMHhlOCwweDIyLDB4MDAsMHgwOSwweDgwLDB4MDIsMHhlMywweGMwLDB4ZTggfX0sCi0gezE2LCAweDkwNDAsIDAsIHsweGQwLDB4MmUsMHgyOCwweDA4LDB4OGEsMHgyMywweGUyLDB4ODQsMHhkOCwweGEwLDB4MjIsMHgzZCwweDBiLDB4YzgsMHgwMiwweGNlIH19LAotIHsxNiwgMHg5MDUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM1LDB4YjAsMHhiMSwweDAwLDB4MmMsMHg0OCB9fSwKLSB7MTYsIDB4OTA2MCwgMCwgezB4MGIsMHgxMywweDAyLDB4MDQsMHgwMiwweGIxLDB4MjAsMHgyZSwweDQwLDB4ODgsMHgxMCwweDIyLDB4YzQsMHgwMCwweGIxLDB4MTQgfX0sCi0gezE2LCAweDkwNzAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDEwLDB4NTIsMHhjNCwweDAwLDB4YjEsMHgyMSwweDJkLDB4NDgsMHgwYSwweDUyLDB4MDIsMHhkNSwweDAwIH19LAotIHsxNiwgMHg5MDgwLCAwLCB7MHhiZCwweDAwLDB4YWQsMHg0MCwweDBiLDB4NTIsMHgwMiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTA5MCwgMCwgezB4MTgsMHg1NSwweGE1LDB4MDAsMHhiOSwweDgyLDB4MmUsMHg0OSwweDhiLDB4YjAsMHgxMiwweDI0LDB4MTAsMHg5OSwweDAyLDB4MmUgfX0sCi0gezE2LCAweDkwYTAsIDAsIHsweDQwLDB4MDgsMHhiMiwweDAwLDB4NjUsMHgwMCwweDk5LDB4ODAsMHgyNiwweDQ0LDB4MDksMHg5MSwweDAyLDB4ZTQsMHgwOSwweGE5IH19LAotIHsxNiwgMHg5MGIwLCAwLCB7MHgwNCwweDJlLDB4NDYsMHgwYSwweGQ0LDB4MDIsMHhiNCwweDAwLDB4YmQsMHg0MCwweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4OTBjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDQwLDB4ZjksMHg4MCwweDJlLDB4NjIgfX0sCi0gezE2LCAweDkwZDAsIDAsIHsweDBmLDB4OWMsMHg0MiwweDI0LDB4MDAsMHg5OSwweDAxLDB4MmUsMHg2OCwweDJjLDB4OTIsMHgwMiwweDY0LDB4MDAsMHhiOSwweDQwIH19LAotIHsxNiwgMHg5MGUwLCAwLCB7MHhiNiwweDYwLDB4MGYsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDcwLDB4M2UsMHg5OSwweDA2LDB4ZTQsMHgwMiB9fSwKLSB7MTYsIDB4OTBmMCwgMCwgezB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxMDAsIDAsIHsweDY4LDB4MDEsMHhhNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgxZiwweDEyLDB4YWIsMHhlNCwweDAwLDB4ZTksMHg5MCwweDNlIH19LAotIHsxNiwgMHg5MTEwLCAwLCB7MHg0OSwweDBlLDB4OTgsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2EsMHg0MCwweDBkLDB4OTgsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OTEyMCwgMCwgezB4MDEsMHgzZSwweDYwLDB4MDUsMHg5MCwweDEzLDB4ZTQsMHgwMCwweDU5LDB4MjAsMHgzMiwweDQwLDB4OGYsMHg5MSwweDAzLDB4ZGEgfX0sCi0gezE2LCAweDkxMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDgsMHgzZSwweDAxIH19LAotIHsxNiwgMHg5MTQwLCAwLCB7MHgwZiwweDg0LDB4NjMsMHgwMCwweDIyLDB4ZTgsMHgyMCwweDNlLDB4MTMsMHgwZiwweDg0LDB4MDMsMHhlMSwweGMwLDB4ZDgsMHg0YyB9fSwKLSB7MTYsIDB4OTE1MCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODQsMHg0MywweGUwLDB4MDAsMHhmOCwweDAwLDB4MjIsMHgxMCwweDBmLDB4ODQsMHgwMywweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxNjAsIDAsIHsweGM4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHhjMCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MTcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4MDAsMHgyZiwweDg2LDB4NGIsMHhlMCwweDAyLDB4MzksMHgwOCwweDhlLDB4MjAsMHgyZCB9fSwKLSB7MTYsIDB4OTE4MCwgMCwgezB4OTAsMHgwYiwweGVkLDB4OTIsMHhmOCwweDAyLDB4OGUsMHhlMCwweGEzLDB4OTgsMHgwOCwweGUwLDB4MDIsMHhlOCwweDA4LDB4YmEgfX0sCi0gezE2LCAweDkxOTAsIDAsIHsweDAwLDB4NjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHgwMiwweDgwLDB4MDIsMHg4MCwweDQ4LDB4ZTAsMHgwMywweDRhIH19LAotIHsxNiwgMHg5MWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDEwLDB4MmMsMHhmMCB9fSwKLSB7MTYsIDB4OTFiMCwgMCwgezB4MGEsMHgxNCwweDJhLDB4MGQsMHgxYSwweGIzLDB4MDEsMHgyNCwweGQwLDB4MGIsMHhiYywweDMyLDB4Y2MsMHgwOCwweDAzLDB4MDAgfX0sCi0gezE2LCAweDkxYzAsIDAsIHsweDIwLDB4YzgsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDIyLDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDExIH19LAotIHsxNiwgMHg5MWQwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDI4LDB4MjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTFlMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDEsMHg4NSwweDAwLDB4MmQsMHgwMCwweDBiLDB4NzAsMHgwMiwweDE4LDB4MzIsMHg4NiwweDAwLDB4MmQgfX0sCi0gezE2LCAweDkxZjAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDE2LDB4ZmUsMHgwNCwweDg2LDB4MDAsMHgyNywweGEwLDB4OGIsMHg3MCwweDQyLDB4ZGMsMHg4MCwweGI3IH19LAotIHsxNiwgMHg5MjAwLCAwLCB7MHg4MCwweDIxLDB4MDEsMHgwOCwweGY4LDB4MGEsMHgxOCwweDAwLDB4ODYsMHgwOCwweDIwLDB4YTAsMHgwOCwweGU4LDB4MGEsMHg2OCB9fSwKLSB7MTYsIDB4OTIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgzZSwweDAyLDB4YzYsMHg4MCwweDNkLDB4ZTAgfX0sCi0gezE2LCAweDkyMjAsIDAsIHsweDBmLDB4NDgsMHgwMywweDA2LDB4MDQsMHhmNSwweDgyLDB4MzUsMHhlMCwweDBmLDB4NzgsMHgwMywweGRhLDB4MDAsMHhkMywweDgwIH19LAotIHsxNiwgMHg5MjMwLCAwLCB7MHgzMSwweDYwLDB4MDcsMHg3OCwweDAzLDB4ZGUsMHgyMCwweGYzLDB4YjAsMHg4MSwweGUwLDB4NGYsMHg2OCwweDA3LDB4MGUsMHgwMiB9fSwKLSB7MTYsIDB4OTI0MCwgMCwgezB4Y2YsMHg4MCwweDMxLDB4ZTAsMHgwYywweDc4LDB4MTMsMHgyYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyNTAsIDAsIHsweDA4LDB4MWQsMHhhZCwweGEwLDB4ZjksMHgwMCwweDNmLDB4MDAsMHgwZiwweGIwLDB4NTMsMHhmOCwweDEwLDB4YTksMHgwMCwweDNlIH19LAotIHsxNiwgMHg5MjYwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgwMSwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2EsMHhjMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4OTI3MCwgMCwgezB4NzQsMHgzYywweDAwLDB4MGYsMHgyMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHgzMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDkyODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMiwweDhmLDB4ODAsMHgzNSwweGUwIH19LAotIHsxNiwgMHg5MjkwLCAwLCB7MHg4ZCwweGQ5LDB4MDMsMHgyZSwweGM0LDB4ZjYsMHg4MCwweDMyLDB4YTQsMHgwYywweGI4LDB4MDMsMHhkZSwweDAwLDB4Y2YsMHg5MCB9fSwKLSB7MTYsIDB4OTJhMCwgMCwgezB4M2MsMHhlNCwweDBjLDB4YjgsMHgwMywweGZlLDB4NjUsMHhmZiwweDgwLDB4MGYsMHhlYywweDhmLDB4ZjgsMHgwMywweGZlLDB4MDAgfX0sCi0gezE2LCAweDkyYjAsIDAsIHsweGM1LDB4ODAsMHgzMywweGUwLDB4MGYsMHg2OCwweDAzLDB4MTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MmMwLCAwLCB7MHhhYSwweDExLDB4OWMsMHg4MCwweDg0LDB4YjAsMHgyMCwweDIwLDB4MjksMHg3MywweDBhLDB4MGUsMHg4MiwweGEyLDB4YTAsMHhhMiB9fSwKLSB7MTYsIDB4OTJkMCwgMCwgezB4YTAsMHg0ZiwweDNiLDB4MDMsMHg4NywweDg0LDB4YjIsMHg4MCwweDJjLDB4YTAsMHgwYSwweDdkLDB4MDIsMHhkZSwweDgwLDB4ZjcgfX0sCi0gezE2LCAweDkyZTAsIDAsIHsweDIwLDB4MjUsMHgwNiwweDA4LDB4NzAsMHgwMiwweGM4LDB4NDAsMHg4NCwweDAwLDB4MzUsMHg4MCwweDBiLDB4NjAsMHgwMywweDZhIH19LAotIHsxNiwgMHg5MmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MTAsMHg4NiwweDM4LDB4MjcsMHhjMCB9fSwKLSB7MTYsIDB4OTMwMCwgMCwgezB4NDksMHg1NCwweDA2LDB4NTQsMHg0MCwweDFkLDB4MjAsMHgyMSwweGNhLDB4MDksMHg2MSwweDQwLDB4ZjgsMHg4MCwweGI3LDB4MjAgfX0sCi0gezE2LCAweDkzMTAsIDAsIHsweDJmLDB4MDAsMHg4OSwweDcwLDB4MTIsMHhkYywweDgxLDB4YjcsMHgwNCwweDJkLDB4YzksMHgwYSwweDYwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHg5MzIwLCAwLCB7MHg4ZCwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjgsMHgwMiwweDA0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTMzMCwgMCwgezB4NjAsMHgxNCwweGNkLDB4MjgsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA5LDB4YjAsMHgyMiwweDRjLDB4MDIsMHhhMSwweDAxLDB4MjAgfX0sCi0gezE2LCAweDkzNDAsIDAsIHsweDMwLDB4MWIsMHgyMywweDAyLDB4YWYsMHgyMCwweGIzLDB4MDgsMHgyYywweDgwLDB4MWIsMHgzMCwweDAwLDB4Y2MsMHgwNCwweGEzIH19LAotIHsxNiwgMHg5MzUwLCAwLCB7MHgwMSwweDI2LDB4MzAsMHgwOCwweGFjLDB4MjIsMHhlOCwweDAyLDB4ODAsMHgwOCwweDJlLDB4ODAsMHg0YiwweGI0LDB4MDIsMHg1OCB9fSwKLSB7MTYsIDB4OTM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDEwLDB4OGIsMHg4MCwweDM2LDB4ZjAgfX0sCi0gezE2LCAweDkzNzAsIDAsIHsweDJkLDB4YmMsMHgwYiwweDZjLDB4MDEsMHhkYSwweDA0LDB4MjIsMHg0MCwweDdkLDB4OTQsMHgyMiwweGU0LDB4MDAsMHhhYiwweDQ0IH19LAotIHsxNiwgMHg5MzgwLCAwLCB7MHgyZSwweGMwLDB4MDksMHhiOCwweDAyLDB4ZmMsMHgwMCwweGJmLDB4MDAsMHgzZSwweGYwLDB4Y2EsMHg5MiwweDAyLDB4ZTQsMHgwMiB9fSwKLSB7MTYsIDB4OTM5MCwgMCwgezB4Y2IsMHgwMCwweDZlLDB4NDAsMHgwZiwweDg0LDB4MDEsMHgyZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNhLDB4ZTAsMHgyZSwweGJjLDB4MDMsMHg5OCwweDA4LDB4ZWEsMHg0MCwweDM2IH19LAotIHsxNiwgMHg5M2IwLCAwLCB7MHg0MywweDhjLDB4OTAsMHgwMywweGE0LDB4NDQsMHgyYSwweDQwLDB4M2UsMHgxMCwweDBlLDB4YjUsMHg4MywweGVjLDB4MTQsMHhmYiB9fSwKLSB7MTYsIDB4OTNjMCwgMCwgezB4MDAsMHgyNiwweDAwLDB4MGUsMHg5MiwweDAzLDB4ZTAsMHg0MCwweGZhLDB4MDAsMHgxNiwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAgfX0sCi0gezE2LCAweDkzZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHgwMiwweGZhLDB4ODAsMHgzZiwweGUyIH19LAotIHsxNiwgMHg5M2UwLCAwLCB7MHgwZiwweGIwLDB4MGIsMHgyNCwweDAwLDB4ZWYsMHg5MiwweGJiLDB4ZTAsMHgxYywweGQwLDB4MDMsMHg3NCwweDAwLDB4Y2YsMHgwNSB9fSwKLSB7MTYsIDB4OTNmMCwgMCwgezB4M2IsMHg0MCwweDBmLDB4YzgsMHgwMywweDVjLDB4MDAsMHhjZiwweDAwLDB4MzIsMHhjMiwweDRkLDB4YzEsMHgyMywweDM0LDB4NDAgfX0sCi0gezE2LCAweDk0MDAsIDAsIHsweGNmLDB4MDAsMHgxNywweDQ0LDB4MGMsMHhkMSwweDgzLDB4MDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NDEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4ODQsMHgyZSwweDU0LDB4MGIsMHhiYywweDBhLDB4MjksMHg4MCwweDhiLDB4ODAsMHgzMiB9fSwKLSB7MTYsIDB4OTQyMCwgMCwgezB4MDAsMHgwOCwweDljLDB4MDMsMHhhNywweDAwLDB4YWIsMHg4NCwweDJlLDB4N2MsMHgwYiwweDgwLDB4MDIsMHgyYywweDEwLDB4ZGIgfX0sCi0gezE2LCAweDk0MzAsIDAsIHsweDAxLDB4MzYsMHgwMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4MiwweDAwLDB4MjIsMHgwMCwweDA4LDB4OTAsMHgwMiwweDI0IH19LAotIHsxNiwgMHg5NDQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDBjLDB4MDAsMHg4OSwweDEwLDB4NjYsMHg5MCB9fSwKLSB7MTYsIDB4OTQ1MCwgMCwgezB4MGIsMHhiOCwweDAyLDB4NmUsMHgxMiwweGEzLDB4NDEsMHgyMCwweDA0LDB4MGEsMHg5OCwweDIyLDB4ZTIsMHgwMCwweDg5LDB4MTkgfX0sCi0gezE2LCAweDk0NjAsIDAsIHsweDJlLDB4YzAsMHg0YiwweDMxLDB4MjIsMHg2YywweDA4LDB4ODMsMHgwMCwweDIyLDB4YzAsMHgwOSwweDkwLDB4MDIsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5NDcwLCAwLCB7MHg4OSwweDAwLDB4MmEsMHg0MCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTQ4MCwgMCwgezB4MDgsMHgxMCwweDBjLDB4MDAsMHg4MCwweDIwLDB4MmMsMHgwZSwweDFiLDB4MzAsMHgwMiwweDA0LDB4NDEsMHg4MCwweDIwLDB4MjAgfX0sCi0gezE2LCAweDk0OTAsIDAsIHsweDEyLDB4MTgsMHgxNiwweDQyLDB4MDAsMHg1MCwweGEwLDB4NDAsMHgyYywweDg4LDB4MWIsMHgzMCwweDAyLDB4MGMsMHg4MSwweDkzIH19LAotIHsxNiwgMHg5NGEwLCAwLCB7MHgwMCwweDI0LDB4MDAsMHgwOCwweDEwLDB4MmEsMHgwMCwweDBhLDB4ODgsMHgwMCwweDI4LDB4MDAsMHgyOCwweDAwLDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4OTRiMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHg3YywweDExLDB4ZTgsMHgwMCwweDI2LDB4OTggfX0sCi0gezE2LCAweDk0YzAsIDAsIHsweDBmLDB4YjAsMHgxMywweDIxLDB4MGMsMHhlYiwweDYwLDB4M2EsMHhkOCwweDI4LDB4ODQsMHhhMiwweGUxLDB4ODAsMHhjOCwweDIwIH19LAotIHsxNiwgMHg5NGQwLCAwLCB7MHgzZSwweDVlLDB4MWYsMHg4MiwweDAzLDB4N2MsMHgwMCwweGNmLDB4MDAsMHgzMiwweGMwLDB4NGQsMHg4MCwweDA3LDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4OTRlMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0ZjAsIDAsIHsweGExLDB4MTEsMHhmYywweDAwLDB4ZjgsMHgxMywweDFlLDB4MDAsMHgwYiwweGYwLDB4MDEsMHhmMCwweGQwLDB4ZjksMHgxOSwweDFmIH19LAotIHsxNiwgMHg5NTAwLCAwLCB7MHgwOCwweDRmLDB4YzAsMHgxMywweGExLDB4MDAsMHhmOCwweDYyLDB4M2YsMHhjMCwweDBiLDB4YzQsMHgwNywweGVkLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4OTUxMCwgMCwgezB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDIzLDB4ZjAsMHhhMCwweGZjLDB4MDAsMHgzMywweDAwLDB4MGYsMHhkMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDk1MjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGZmLDB4MGMsMHgzZiwweDIwIH19LAotIHsxNiwgMHg5NTMwLCAwLCB7MHgwYywweGM5LDB4MDMsMHgzMiwweDAwLDB4Y2YsMHgzOCwweDNmLDB4ZDAsMHgwZiwweDQ4LDB4MDMsMHhmYywweGEwLDB4Y2UsMHgyMiB9fSwKLSB7MTYsIDB4OTU0MCwgMCwgezB4MzMsMHgwMCwweDBmLDB4YzEsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjNCwweDRjLDB4YzAsMHgyMywweDhjLDB4ZTQgfX0sCi0gezE2LCAweDk1NTAsIDAsIHsweGZmLDB4MTAsMHgzNywweDIwLDB4MDgsMHhmMSwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NTYwLCAwLCB7MHg4MCwweDEwLDB4ZmUsMHgwMCwweGJmLDB4ODAsMHgyZSwweDc0LDB4MDUsMHgyMiwweDAyLDB4YTIsMHgxMCwweGRmLDB4NjEsMHgyZiB9fSwKLSB7MTYsIDB4OTU3MCwgMCwgezB4ZDAsMHg4YiwweDkwLDB4MDIsMHgzZCwweGE0LDB4YWEsMHg5MCwweDIyLDB4ZjQsMHgwYiwweDA3LDB4MTIsMHgxZCwweDIwLDB4YmIgfX0sCi0gezE2LCAweDk1ODAsIDAsIHsweGMwLDB4MmYsMHhkOCwweDg4LDB4OTcsMHg4MiwweGZkLDB4ODAsMHhlZiwweDcyLDB4MjIsMHgwOCwweDI4LDB4ZjYsMHgyMywweGUwIH19LAotIHsxNiwgMHg5NTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhiMywweDAwLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OTVhMCwgMCwgezB4MDgsMHg4MiwweDAyLDB4MjIsMHgwMCwweDgzLDB4MDEsMHgwOCwweGNjLDB4OGIsMHgyMCwweDgyLDB4Y2MsMHgwMCwweDkwLDB4MDAgfX0sCi0gezE2LCAweDk1YjAsIDAsIHsweDIwLDB4MDAsMHg0YiwweDEyLDB4MDIsMHgwZCwweDgwLDB4YjMsMHg0MCwweDJjLDB4ZDgsMHgwOCwweDIwLDB4NDIsMHg4YywweDgwIH19LAotIHsxNiwgMHg5NWMwLCAwLCB7MHhiMywweDIwLDB4MjYsMHgwMiwweDE4LDB4MzMsMHgyNiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTVkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDksMHhiYiwweDAwLDB4MmUsMHg2MCwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHg5YiwweDAwLDB4MmUgfX0sCi0gezE2LCAweDk1ZTAsIDAsIHsweGMwLDB4MGIsMHhhYywweDAyLDB4MmMsMHgwMCwweGJhLDB4MDYsMHgyMiwweGMyLDB4MGIsMHg5NCwweDAyLDB4YWMsMHgxMCwweGJiIH19LAotIHsxNiwgMHg5NWYwLCAwLCB7MHgwMCwweDJlLDB4YzEsMHgwOCwweGE4LDB4MDIsMHhlYywweDAwLDB4YWIsMHgwMCwweDIyLDB4MDAsMHgwOCwweGIwLDB4MDYsMHhmMCB9fSwKLSB7MTYsIDB4OTYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MTUsMHhlYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4NjAgfX0sCi0gezE2LCAweDk2MTAsIDAsIHsweDI4LDB4ODIsMHgxMywweDBlLDB4MDgsMHhjYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4OGMsMHgwMywweGVjLDB4MTEsMHhkYiwweDIwIH19LAotIHsxNiwgMHg5NjIwLCAwLCB7MHhiMiwweDkwLDB4NGIsMHhhOCwweDBiLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyYywweGMwLDB4MGMsMHg4OCwweDEzLDB4YWMsMHgwMCB9fSwKLSB7MTYsIDB4OTYzMCwgMCwgezB4ZjMsMHgwMCwweDM2LDB4MDYsMHg0OCwweGIwLDB4MTIsMHhjNCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2NDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmIsMHgwOCwweDNkLDB4NDAsMHg4ZiwweGVhLDB4MDEsMHhmNCwweDAwLDB4ZmYsMHgwMSwweDJmIH19LAotIHsxNiwgMHg5NjUwLCAwLCB7MHhjMCwweDBmLDB4ZDAsMHgyMiwweGZjLDB4MDQsMHhhZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTksMHgwMywweDdjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4OTY2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDQzLDB4ZmMsMHgyMCwweGVmLDB4MDIsMHgzZiwweDAwLDB4OGYsMHhmMCwweDAzLDB4YjggfX0sCi0gezE2LCAweDk2NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDEwLDB4YWMsMHgwOCwweGViLDB4MDAsMHgxMiwweDQwIH19LAotIHsxNiwgMHg5NjgwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyOCwweDIwLDB4YWIsMHgwMCwweDNhLDB4YzAsMHg4ZiwweDg1LDB4ODMsMHhhYywweDEwLDB4ZjMsMHg1MCB9fSwKLSB7MTYsIDB4OTY5MCwgMCwgezB4MzIsMHg5MCwweDRjLDB4MzQsMHgxMywweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBjLDB4OTgsMHgwMywweDJjLDB4NDAgfX0sCi0gezE2LCAweDk2YTAsIDAsIHsweGViLDB4ODAsMHgzMiwweDEyLDB4MGQsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NmIwLCAwLCB7MHg4OCwweDAxLDB4M2MsMHgxMCwweDBmLDB4MDUsMHhhMiwweDUwLDB4MGMsMHgxMCwweDAyLDB4MjIsMHgxMCwweDhmLDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4OTZjMCwgMCwgezB4YzAsMHgwYiwweDg4LDB4MTIsMHgzYywweDAwLDB4OWIsMHg4MiwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzYywweDAwLDB4OGYgfX0sCi0gezE2LCAweDk2ZDAsIDAsIHsweGEwLDB4MmYsMHhjMCwweDA4LDB4YjAsMHgwMiwweDNjLDB4MDgsMHg4ZiwweDAyLDB4MjAsMHgwMCwweDA4LDB4ZjAsMHgwMywweDI2IH19LAotIHsxNiwgMHg5NmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRkLDB4MjAsMHg5MywweDAwLDB4MjAsMHhiMiB9fSwKLSB7MTYsIDB4OTZmMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MDEsMHgwMCwweGEzLDB4MDAsMHg2OCwweGMwLDB4MGIsMHg4NCwweDAyLDB4YWMsMHgwMCwweGIzLDB4ODAgfX0sCi0gezE2LCAweDk3MDAsIDAsIHsweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHg0YywweDAwLDB4YTMsMHgwNCwweDJjLDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwZCwweDAwIH19LAotIHsxNiwgMHg5NzEwLCAwLCB7MHhhMywweDAwLDB4MjAsMHgyNCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTcyMCwgMCwgezB4NzAsMHgwMSwweDFjLDB4MjAsMHg5NywweDgwLDB4MjMsMHg2MCwweDA4LDB4NzgsMHgxMiwweDNhLDB4MDAsMHg4MywweDkxLDB4MjkgfX0sCi0gezE2LCAweDk3MzAsIDAsIHsweGU0LDB4MGIsMHg1OSwweDAyLDB4MWUsMHgwMCwweDk3LDB4OTAsMHgyMCwweGZjLDB4MGEsMHg3OCwweDAyLDB4MWUsMHgwMCwweDg3IH19LAotIHsxNiwgMHg5NzQwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgxOSwweDU5LDB4MDIsMHgxZSwweDgwLDB4ODMsMHg4MCwweDYxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxOCB9fSwKLSB7MTYsIDB4OTc1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQwLDB4ZDMsMHgzMiwweDMwLDB4MDYgfX0sCi0gezE2LCAweDk3NjAsIDAsIHsweDBmLDB4MzAsMHgwMywweDA0LDB4NjQsMHhlMywweDAxLDB4MzgsMHhjNCwweDFmLDB4MzAsMHgwNywweDhjLDB4MTgsMHhmMSwweDAwIH19LAotIHsxNiwgMHg5NzcwLCAwLCB7MHgzMCwweDRjLDB4MGUsMHgzMCwweDAzLDB4NGMsMHgwMCwweGUzLDB4MDAsMHgyYywweGMwLDB4MGMsMHgyMCwweDAzLDB4MGUsMHgwMCB9fSwKLSB7MTYsIDB4OTc4MCwgMCwgezB4ZTMsMHgwMCwweDMyLDB4MDgsMHgwYywweGIxLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3OTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDgwLDB4ZWYsMHgxMCwweDNkLDB4NDQsMHg0ZiwweGYxLDB4MDcsMHhjYywweDAwLDB4ZmYsMHgwOCwweDM2IH19LAotIHsxNiwgMHg5N2EwLCAwLCB7MHhjNiwweGNmLDB4YjAsMHgwMywweGZjLDB4MDAsMHg5NywweDAwLDB4YmUsMHhjYywweDBkLDB4YjEsMHgwMywweGZkLDB4MDQsMHhmZiB9fSwKLSB7MTYsIDB4OTdiMCwgMCwgezB4MGMsMHgzZiwweGQyLDB4OWUsMHhlMCwweDRiLDB4ZmQsMHgyMCwweGZmLDB4MDIsMHgzZiwweDgwLDB4MGUsMHhmMCwweDEzLDB4ZDAgfX0sCi0gezE2LCAweDk3YzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHhjMCwweGNiLDB4MjgsMHgzZSwweGMwIH19LAotIHsxNiwgMHg5N2QwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMSwweDMyLDB4ZTksMHgwYywweDI4LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4OTdlMCwgMCwgezB4MzIsMHhjMCwweDBjLDB4YjQsMHg4MywweDJjLDB4MDEsMHhlZiwweDAwLDB4YjIsMHhjOCwweDBjLDB4MjAsMHgwMywweDZkLDB4MDAgfX0sCi0gezE2LCAweDk3ZjAsIDAsIHsweGNiLDB4MTAsMHgzZSwweDAwLDB4MGYsMHhiMiwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ODAwLCAwLCB7MHhjOCwweDkxLDB4OWMsMHhjNCwweDg3LDB4NjAsMHgyZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4OTgxMCwgMCwgezB4Y2MsMHgwYSwweDcwLDB4MDIsMHgxYywweGMwLDB4YjMsMHgwMCwweGEwLDB4YzAsMHhjOCwweDcwLDB4MjIsMHgxYywweDgwLDB4YjcgfX0sCi0gezE2LCAweDk4MjAsIDAsIHsweDI0LDB4MjEsMHhjOCwweDQ4LDB4NTAsMHgwMiwweDBjLDB4ODAsMHg4NywweDEwLDB4MmQsMHg0MCwweDBiLDB4NzIsMHg4MiwweGYyIH19LAotIHsxNiwgMHg5ODMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDhlLDB4MDIsMHg4NywweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4OTg0MCwgMCwgezB4MGIsMHg3OCwweDEyLDB4ZGUsMHgwMCwweGI3LDB4YTAsMHgyMSwweGUwLDB4MDgsMHhmOCwweDhlLDB4MWUsMHg0MCwweGI3LDB4ODggfX0sCi0gezE2LCAweDk4NTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDM4LDB4MDIsMHgxZSwweDQwLDB4YjMsMHhhMSwweDIwLDB4ZTgsMHg0OCwweGY4LDB4ODIsMHg1ZSwweDAyIH19LAotIHsxNiwgMHg5ODYwLCAwLCB7MHg4NywweDgwLDB4MmQsMHgyMiwweDBiLDB4NzksMHgwMiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTg3MCwgMCwgezB4MDgsMHgwNCwweGNjLDB4MDQsMHg4MywweDAyLDB4MmMsMHhkNCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4YTAgfX0sCi0gezE2LCAweDk4ODAsIDAsIHsweGMwLDB4OGEsMHgzOCwweDA2LDB4MGMsMHgwMCwweGIzLDB4ODAsMHgyMCwweGUxLDB4NDgsMHgzOSwweDEyLDB4MmMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg5ODkwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4ODIsMHg2YywweDAwLDB4ODMsMHgwMCwweDJjLDB4NDgsMHgwYiwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4OThhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDNmLDB4YTAgfX0sCi0gezE2LCAweDk4YjAsIDAsIHsweDBmLDB4ZTQsMHgwMywweGQ4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTgsMHgwMywweDI4LDB4MDAsMHhmYSwweDQwIH19LAotIHsxNiwgMHg5OGMwLCAwLCB7MHgzMiwweGE4LDB4MmMsMHhhMCwweDA5LDB4MjgsMHgwOCwweGYyLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhlNCwweDAzLDB4NjgsMHgwMCB9fSwKLSB7MTYsIDB4OThkMCwgMCwgezB4Y2EsMHgwMCwweDNmLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4ZTAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAwLDB4ZjgsMHgwMSwweDNlLDB4MTIsMHgwYiwweDgwLDB4MDMsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHg5OGYwLCAwLCB7MHgwMCwweDRmLDB4ODQsMHgwMywweGUwLDB4MDQsMHhmMCwweDA4LDB4M2UsMHgwMCwweDRmLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4OTkwMCwgMCwgezB4NDEsMHgzZSwweDAwLDB4MmYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDk5MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTYsMHgwMCwweGM5LDB4MTIsMHgzZSwweDUwIH19LAotIHsxNiwgMHg5OTIwLCAwLCB7MHg4ZiwweDkwLDB4ODMsMHhlNCwweDIwLDB4YzEsMHgwMCwweDNhLDB4NDEsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OTkzMCwgMCwgezB4MzAsMHg2OCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2EsMHg0MCwweDBlLDB4OTgsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweDk5NDAsIDAsIHsweGM5LDB4OTAsMHgzZSwweDY5LDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OTUwLCAwLCB7MHg4MCwweDA0LDB4NjcsMHg0YSwweDg5LDB4ODAsMHgyZSwweDUwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHg4MCwweGE5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4OTk2MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMSwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDEwLDB4ODkgfX0sCi0gezE2LCAweDk5NzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDA4LDB4OTMsMHgwMiwweDI0LDB4MjIsMHg4OSwweDQyLDB4MmMsMHg2MCwweDQ4LDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHg5OTgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweDI0LDB4MDAsMHg5OSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4OTk5MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfX0sCi0gezE2LCAweDk5YTAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGQwLDB4MDIsMHgyNCwweDAwLDB4OTksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkwLDB4MDYsMHgyNCwweDQwIH19LAotIHsxNiwgMHg5OWIwLCAwLCB7MHg4OSwweDQxLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTljMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4ODAsMHg5MSwweDIwLDB4MmMsMHg0OCwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDIwLDB4MjAgfX0sCi0gezE2LCAweDk5ZDAsIDAsIHsweDQ4LDB4MGIsMHgxMCwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHhhMSwweDQ5LDB4MDgsMHg1MiwweDRhLDB4MDQsMHg4MCwweDgxIH19LAotIHsxNiwgMHg5OWUwLCAwLCB7MHgwMCwweDIwLDB4NDgsMHg0OCwweDEyLDB4MGEsMHgwNCwweDgwLDB4ODEsMHgyMCwweDJjLDB4NDAsMHgyOCwweDEyLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4OTlmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4ZDgsMHgwNCwweDNlLDB4ODAgfX0sCi0gezE2LCAweDlhMDAsIDAsIHsweDBmLDB4ODUsMHgwMywweGUwLDB4MDAsMHhjMCwweDUwLDB4M2EsMHgxNCwweDBmLDB4YTUsMHgwMywweGUxLDB4NDAsMHhmOCwweDAyIH19LAotIHsxNiwgMHg5YTEwLCAwLCB7MHgzMiwweDgwLDB4MmMsMHhjNSwweDAzLDB4MjEsMHg0MCwweGRhLDB4MDAsMHgzYSwweDE0LDB4MGUsMHg4NSwweDQzLDB4MjEsMHg0MCB9fSwKLSB7MTYsIDB4OWEyMCwgMCwgezB4YzgsMHg1MiwweDNlLDB4MTQsMHgwYywweDg1LDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhMzAsIDAsIHsweDg4LDB4MWQsMHhlNCwweDQ0LDB4ZTksMHgxMCwweDNmLDB4NDQsMHg0ZiwweGQwLDB4MDIsMHhmYywweDAwLDB4ZjksMHgxMiwweDNlIH19LAotIHsxNiwgMHg5YTQwLCAwLCB7MHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2UsMHg0NCwweDRmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhlOSB9fSwKLSB7MTYsIDB4OWE1MCwgMCwgezB4NDAsMHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTIsMHgzZiwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTYgfX0sCi0gezE2LCAweDlhNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZjYsMHhhMCwweGZkLDB4ODAsMHhiMywweDQwIH19LAotIHsxNiwgMHg5YTcwLCAwLCB7MHgwYywweDEwLDB4MDMsMHgxNCwweDAwLDB4ZmQsMHhhMCwweDMyLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhlNCwweDAwLDB4ZjUsMHg4NiB9fSwKLSB7MTYsIDB4OWE4MCwgMCwgezB4MzMsMHg2MCwweDJjLDB4OWEsMHg4MywweDI0LDB4MDQsMHhmZCwweGE4LDB4MjIsMHg0MCwweDBkLDB4NTAsMHg0MywweGY0LDB4MDAgfX0sCi0gezE2LCAweDlhOTAsIDAsIHsweGZkLDB4MDAsMHgzMywweDQwLDB4MGYsMHg5MCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YWEwLCAwLCB7MHg3OCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4MDAsMHgyMiwweDAwLDB4MjgsMHg4MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4MDAsMHhhMiB9fSwKLSB7MTYsIDB4OWFiMCwgMCwgezB4MDAsMHgwYiwweDhhLDB4MTIsMHhlMCwweDAwLDB4YjgsMHgwNCwweDIyLDB4MTQsMHgwOCwweDg0LDB4MDIsMHgyMCwweDAwLDB4YjggfX0sCi0gezE2LCAweDlhYzAsIDAsIHsweDQwLDB4MjAsMHgwMCwweDg4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4YTIsMHgwMCwweDBiLDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHg5YWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDQyLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4OWFlMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4NDAsMHgyMCwweDQwLDB4MGIsMHgxMCwweDA2LDB4YzQsMHgwMCwweGIxLDB4NDAgfX0sCi0gezE2LCAweDlhZjAsIDAsIHsweDI0LDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0NCwweDA0LDB4YjEsMHgwMCwweDYwLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDAwIH19LAotIHsxNiwgMHg5YjAwLCAwLCB7MHhiMSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MTAsMHgwMiwweDEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWIxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAyLDB4MjIsMHg2MCwweDA4LDB4OTQsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAxLDB4MjIgfX0sCi0gezE2LCAweDliMjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMCwweGI5LDB4MjAsMHgyNiwweDQwLDB4MDgsMHg5NCwweDAyLDB4NjQsMHgwOCwweGI5IH19LAotIHsxNiwgMHg5YjMwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgwOCwweDkyLDB4MDIsMHhlYywweDA4LDB4YjksMHgwNCwweDIyLDB4NDEsMHgwYiwweDEwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4OWI0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDEwLDB4ZjEsMHgwMCwweDMyLDB4NjAgfX0sCi0gezE2LCAweDliNTAsIDAsIHsweDBjLDB4OTQsMHgwYiwweDI1LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDhmLDB4OTQsMHhkMywweGU0LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHg5YjYwLCAwLCB7MHgzNiwweDQwLDB4NGMsMHg5MCwweDBiLDB4NjQsMHgwMCwweGYxLDB4MDAsMHgzMiwweDQwLDB4MGQsMHg5MiwweDEyLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OWI3MCwgMCwgezB4ZjksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliODAsIDAsIHsweDY4LDB4NDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHg4ZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHg5YjkwLCAwLCB7MHg0MCwweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4YmEsMHg0MCwweDJmLDB4OTAsMHgyMywweGE0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OWJhMCwgMCwgezB4MDgsMHhiZSwweDQwLDB4Y2YsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGYxLDB4MDEsMHgzZSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZGEgfX0sCi0gezE2LCAweDliYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHhjOCwweGY4LDB4MDAsMHgzZSwweDAzIH19LAotIHsxNiwgMHg5YmMwLCAwLCB7MHgwYywweDg0LDB4MDMsMHhhMSwweDEwLDB4ZTgsMHgwMCwweDMyLDB4MDAsMHg4YywweDg1LDB4ODMsMHhlMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4OWJkMCwgMCwgezB4MzgsMHgwYywweDJjLDB4MDAsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwLDB4M2MsMHgwMCwweDBkLDB4ODAsMHgwMiwweDIwLDB4MTAgfX0sCi0gezE2LCAweDliZTAsIDAsIHsweGM4LDB4MjAsMHhiMiwweDAyLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YmYwLCAwLCB7MHgyOCwweDA1LDB4MzksMHgxMCwweGJlLDB4MDQsMHg2ZiwweGEwLDB4MDgsMHhhMCwweDAyLDB4M2EsMHgwMCwweDgyLDB4MDAsMHhhMiB9fSwKLSB7MTYsIDB4OWMwMCwgMCwgezB4ODAsMHg4ZCwweGVjLDB4MDMsMHhhOCwweDAwLDB4OGEsMHgwMCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MjIsMHgyOCwweDAwLDB4OGUgfX0sCi0gezE2LCAweDljMTAsIDAsIHsweGNjLDB4MmYsMHg4MCwweDA4LDB4ZTgsMHhjMiwweGI4LDB4MDAsMHg4ZSwweDYwLDB4MjMsMHg5MCwweDBiLDB4YTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHg5YzIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRlLDB4MDgsMHhiMCwweDcyLDB4MmMsMHhkMCB9fSwKLSB7MTYsIDB4OWMzMCwgMCwgezB4MjgsMHhiMCwweDA2LDB4OGMsMHgwMSwweGExLDB4MDIsMHgyMCwweGMwLDB4MDgsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweDljNDAsIDAsIHsweDIwLDB4YzAsMHgyOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODEsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMyLDB4MDIsMHgwYywweDQwIH19LAotIHsxNiwgMHg5YzUwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhmNCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWM2MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNCwweDAwLDB4MmQsMHhkMCwweDQ4LDB4ZjIsMHgwMiwweDFlLDB4MjEsMHg4NSwweDIwLDB4MjAgfX0sCi0gezE2LCAweDljNzAsIDAsIHsweGU4LDB4MDksMHg3MiwweDAyLDB4OGUsMHg4MCwweDhmLDB4MDEsMHgyMCwweGMwLDB4MDksMHg3MiwweDAyLDB4MGUsMHg4MCwweDg3IH19LAotIHsxNiwgMHg5YzgwLCAwLCB7MHgwMCwweDJkLDB4Y2MsMHgxOCwweDU4LDB4MDIsMHg4ZSwweDAwLDB4ODUsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4OWM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweDljYTAsIDAsIHsweDBjLDB4NzgsMHg4MywweDlhLDB4MDAsMHhlZCwweGQwLDB4MzEsMHhmNCwweDBjLDB4NmEsMHgwMywweGRlLDB4ODIsMHhjNywweDgwIH19LAotIHsxNiwgMHg5Y2IwLCAwLCB7MHgzOSwweGUwLDB4MGQsMHhmOCwweDgzLDB4NWUsMHhjMiwweGM1LDB4ODAsMHgzZCwweGU4LDB4MGMsMHg2OCwweDAzLDB4MTIsMHgwMCB9fSwKLSB7MTYsIDB4OWNjMCwgMCwgezB4Y2YsMHg4MCwweDMxLDB4ZTAsMHgwZiwweDdlLDB4ODMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljZDAsIDAsIHsweDA4LDB4MGQsMHhhYywweDA4LDB4ZjgsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIzLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMiwweDNlIH19LAotIHsxNiwgMHg5Y2UwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgwMywweGVkLDB4NDAsMHhmYiwweDAwLDB4YmUsMHg4MCwweDBlLDB4YjMsMHgwMywweGVkLDB4YzAsMHhmYiB9fSwKLSB7MTYsIDB4OWNmMCwgMCwgezB4MDAsMHgzZSwweGQyLDB4MmUsMHg4MCwweDAzLDB4ZWMsMHgwMiwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDlkMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGYwLDB4OTEsMHgzMywweGUwIH19LAotIHsxNiwgMHg5ZDEwLCAwLCB7MHg4ZiwweGY4LDB4MDMsMHhmZSwweDAwLDB4ZmQsMHg4MCwweDNmLDB4ZTAsMHgwYywweDc4LDB4ODMsMHgzZiwweDAwLDB4Y2YsMHg4MCB9fSwKLSB7MTYsIDB4OWQyMCwgMCwgezB4M2YsMHhhMCwweDBjLDB4ZjgsMHgwMywweDNlLDB4MDAsMHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgxMywweGZlLDB4MTAgfX0sCi0gezE2LCAweDlkMzAsIDAsIHsweGZmLDB4ODAsMHgzZiwweDIwLDB4MGYsMHhmOSwweDQzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZDQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI0LDB4YzEsMHgzMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZDQsMHgxMCwweGU1LDB4MjAsMHgyZiB9fSwKLSB7MTYsIDB4OWQ1MCwgMCwgezB4YzgsMHgwZiwweDQwLDB4MDMsMHg1YywweDAwLDB4ODcsMHgwMCwweDJkLDB4ODAsMHgwOCwweDcwLDB4MDIsMHgxYywweDQwLDB4ODcgfX0sCi0gezE2LCAweDlkNjAsIDAsIHsweDEwLDB4MmQsMHhjMCwweDBiLDB4NzYsMHgwMiwweGRjLDB4ODAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGVhIH19LAotIHsxNiwgMHg5ZDcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDljLDB4MDAsMHhiNiwweDIyLDB4MjEsMHhkMCB9fSwKLSB7MTYsIDB4OWQ4MCwgMCwgezB4MGIsMHg3MCwweDgyLDB4ZDgsMHg0MCwweGI1LDB4MDIsMHgyZCwweGMwLDB4ODgsMHg2NSwweDAyLDB4MGMsMHgwMCwweDg3LDB4MTggfX0sCi0gezE2LCAweDlkOTAsIDAsIHsweDJjLDB4MDQsMHgwOCwweDMwLDB4MDIsMHg4YywweDAyLDB4ODUsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4NDYsMHg5MCwweDEwIH19LAotIHsxNiwgMHg5ZGEwLCAwLCB7MHhiNiwweDAwLDB4MmQsMHgwMCwweDBiLDB4NzAsMHgyMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWRiMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDgsMHhiMiwweDAwLDB4YTQsMHhjMCwweDBiLDB4MzAsMHg0MiwweGM2LDB4MTAsMHhhMSwweDAwLDB4MmMgfX0sCi0gezE2LCAweDlkYzAsIDAsIHsweGMwLDB4MGEsMHgwMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweDA4LDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzIH19LAotIHsxNiwgMHg5ZGQwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDE4LDB4ODIsMHhjNCwweDAwLDB4YjAsMHgwMCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MTIsMHhkOCB9fSwKLSB7MTYsIDB4OWRlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhhYywweDAwLDB4MzgsMHgwMCwweDMyLDB4NTAgfX0sCi0gezE2LCAweDlkZjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGU2LDB4MjAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDA4LDB4ZDAsMHgwMiwweDNjLDB4MDIsMHhjYiwweDgwIH19LAotIHsxNiwgMHg5ZTAwLCAwLCB7MHgzYywweDUwLDB4MmMsMHhmMCwweDBhLDB4YmMsMHgwMCwweGM5LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhiZSwweDAzLDB4YWMsMHgwMCB9fSwKLSB7MTYsIDB4OWUxMCwgMCwgezB4ZmEsMHgwMiwweDJlLDB4ZjcsMHg0ZiwweGYwLDB4MDMsMHhlZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllMjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjEsMHgwMCwweDNhLDB4ZjAsMHgwZiwweGIwLDB4MDMsMHhlOSwweDAwLDB4ZjksMHgwMSwweDNlIH19LAotIHsxNiwgMHg5ZTMwLCAwLCB7MHhjMCwweDBmLDB4OTAsMHgxMywweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1NSwweDBmLDB4YjAsMHgwMSwweDZjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4OWU0MCwgMCwgezB4MDIsMHgzZSwweGMwLDB4MGYsMHg5MCwweDczLDB4ZTAsMHgwMCwweGY4LDB4NDEsMHgzZSwweDAwLDB4MGYsMHgzMCwweDAxLDB4ZTAgfX0sCi0gezE2LCAweDllNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzMywweGMwIH19LAotIHsxNiwgMHg5ZTYwLCAwLCB7MHgxZiwweGYwLDB4MTMsMHhmMCwweDA4LDB4ZmQsMHgwMiwweDNmLDB4YzAsMHg4ZCwweGMwLDB4MDMsMHgzYywweDAwLDB4Y2YsMHhhMCB9fSwKLSB7MTYsIDB4OWU3MCwgMCwgezB4M2YsMHg4MCwweDBjLDB4NzAsMHgwMywweDNjLDB4MTAsMHhmYywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMywweGIwLDB4MDAgfX0sCi0gezE2LCAweDllODAsIDAsIHsweGZlLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDQsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZTkwLCAwLCB7MHg4NCwweDA0LDB4NmUsMHgwMCwweGI5LDB4YzIsMHhhMiwweGYwLDB4MGIsMHhiMCwweDQyLDB4ZWIsMHgwMCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OWVhMCwgMCwgezB4YzAsMHgwZiwweDE4LDB4MDMsMHg2YywweDAwLDB4ZDksMHg4MSwweDJlLDB4YjAsMHgwYSwweGIwLDB4NDIsMHgyYywweDAwLDB4YmEgfX0sCi0gezE2LCAweDllYjAsIDAsIHsweGM2LDB4MmUsMHhjMCwweDBiLDB4OGMsMHgwMiwweGUzLDB4MDAsMHhiOCwweGMwLDB4M2MsMHhhMCwweDBkLDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHg5ZWMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJmLDB4MDAsMHhiOCwweDgwLDB4MjIsMHhlMiB9fSwKLSB7MTYsIDB4OWVkMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4ZTYsMHgyMCwweGI5LDB4MDAsMHgyYywweGMwLDB4MDgsMHhiOCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAgfX0sCi0gezE2LCAweDllZTAsIDAsIHsweDJlLDB4MzAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YjksMHhjMCwweDJlLDB4YzEsMHgwYiwweDg4LDB4MDIsMHhlZSwweDEwIH19LAotIHsxNiwgMHg5ZWYwLCAwLCB7MHhiOSwweGMwLDB4MmUsMHgyMCwweDE5LDB4YjAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWYwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwNiwweGMwLDB4MDAsMHg5MSwweDAwLDB4MmMgfX0sCi0gezE2LCAweDlmMTAsIDAsIHsweGMwLDB4NDksMHg4MCwweDAyLDB4NGMsMHgwNCwweDkxLDB4MDAsMHgyYywweDAwLDB4OGEsMHgzMCwweDBhLDB4MGMsMHgwNCwweGIxIH19LAotIHsxNiwgMHg5ZjIwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgxYiwweDAwLDB4MTIsMHg0OSwweDEwLDB4YjEsMHgwMCwweDJlLDB4MjAsMHgwOSwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4OWYzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4YjgsMHgyMCwweDIyLDB4YzAgfX0sCi0gezE2LCAweDlmNDAsIDAsIHsweDhiLDB4ZjAsMHgwMywweGUwLDB4MDgsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBjLDB4YTAsMHgwMywweDNjLDB4MDAsMHhjYiwweDAwIH19LAotIHsxNiwgMHg5ZjUwLCAwLCB7MHgzZSwweDAwLDB4NGMsMHhmMCwweDBhLDB4M2MsMHgwMCwweGI5LDB4MDAsMHgzNywweGMxLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4OWY2MCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4MDAsMHgwZCwweGYwLDB4MGIsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmNzAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAxLDB4ZmMsMHg0MCwweDNmLDB4ODAsMHg0ZiwweGYwLDB4MDIsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmIH19LAotIHsxNiwgMHg5ZjgwLCAwLCB7MHhjMSwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHgwMCwweDRmLDB4ZjAsMHg2MywweGZjLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4OWY5MCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGZjLDB4MDAsMHg3YiwweDAwLDB4MGYsMHhmMCwweDQzLDB4ZTggfX0sCi0gezE2LCAweDlmYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjgsMHgwMCwweGM4LDB4MTAsMHgzMywweDA0IH19LAotIHsxNiwgMHg5ZmIwLCAwLCB7MHgwYywweDQwLDB4MDIsMHgzNCwweDAwLDB4YzgsMHg4NSwweDFmLDB4YzAsMHgyZCwweGQ5LDB4MDMsMHhmYywweGMwLDB4ZGIsMHgyOCB9fSwKLSB7MTYsIDB4OWZjMCwgMCwgezB4MzcsMHg2NCwweDBmLDB4ZGIsMHgwMywweDNlLDB4MDAsMHhmZiwweDI1LDB4M2YsMHhjOCwweDBlLDB4ZjIsMHgwMywweGZlLDB4MjAgfX0sCi0gezE2LCAweDlmZDAsIDAsIHsweGZmLDB4YTQsMHgzNywweGM0LDB4MGMsMHhjOCwweDAzLDB4MzAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZmUwLCAwLCB7MHg4MCwweDEwLDB4ZTgsMHgwMCwweDg4LDB4MjAsMHgyMiwweDAwLDB4MDgsMHg4OCwweDEyLDB4MjYsMHgwNCwweDg5LDB4ODIsMHgyZSB9fSwKLSB7MTYsIDB4OWZmMCwgMCwgezB4ZjQsMHg0OCwweGI4LDB4MDIsMHhmYywweGM0LDB4OTgsMHhjMiwweDIyLDB4N2MsMHg0YiwweDlkLDB4NDIsMHgyNiwweDA4LDB4YmYgfX0sCi0gezE2LCAweGEwMDAsIDAsIHsweDE4LDB4NzcsMHhlNCwweDA4LDB4ZjEsMHg4MiwweGVmLDB4MDAsMHhiYiwweGQwLDB4MjIsMHhkOCwweDA4LDB4OTAsMHg4MywweDYwIH19LAotIHsxNiwgMHhhMDEwLCAwLCB7MHgwMiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHg0NSwweGM4LDB4MDQsMHhhMCwweDAwLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTAyMCwgMCwgezB4MGEsMHgwMCwweDAyLDB4MGMsMHgwMCwweDgyLDB4MDQsMHgyYywweGUwLDB4MDgsMHgxMCwweDAyLDB4Y2MsMHg4MCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGEwMzAsIDAsIHsweDI0LDB4MDAsMHgwYiwweDEwLDB4MDYsMHhjOCwweDAxLDB4YjMsMHgyMCwweDJjLDB4YzAsMHgyOSwweDMyLDB4MDIsMHhjOCwweDA4IH19LAotIHsxNiwgMHhhMDQwLCAwLCB7MHhiMSwweDAwLDB4MjQsMHhkMCwweDA4LDB4ODIsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTA1MCwgMCwgezB4YzAsMHgxNSwweGE4LDB4MDAsMHhhOCwweDBjLDB4MjYsMHgwMCwweDBhLDB4ODAsMHgwMiwweDJjLDB4MTQsMHg4YSwweDAyLDB4NmUgfX0sCi0gezE2LCAweGEwNjAsIDAsIHsweGUwLDB4MDgsMHhiMCwweDAyLDB4NGMsMHgwOCwweGE4LDB4MDAsMHgyNiwweDIwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgwMCwweGJiIH19LAotIHsxNiwgMHhhMDcwLCAwLCB7MHgwNCwweDIyLDB4YzAsMHgxOSwweGIwLDB4MDIsMHhlOCwweDAxLDB4YmIsMHgxMSwweDAyLDB4YzAsMHg4OCwweDkwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4YTA4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAyLDB4ZWEsMHg0MCwweGI2LDB4NjAgfX0sCi0gezE2LCAweGEwOTAsIDAsIHsweDJlLDB4OTgsMHgwYiwweDIwLDB4MDIsMHhjOCwweDAyLDB4M2UsMHhjMCwweDBkLDB4OTgsMHgwMywweGVjLDB4MDIsMHhkYiwweDg4IH19LAotIHsxNiwgMHhhMGEwLCAwLCB7MHhiNiwweDIxLDB4MGYsMHg4OCwweDAzLDB4YWMsMHgwOCwweGZiLDB4MDAsMHgyYywweGMwLDB4MGUsMHhiMCwweDQzLDB4ZTUsMHg4MCB9fSwKLSB7MTYsIDB4YTBiMCwgMCwgezB4ZjAsMHg2MCwweDM2LDB4YzAsMHgwYywweDAxLDB4NDMsMHg0OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwYzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZDYsMHgwMSwweDNiLDB4NjQsMHg4NSwweGQ5LDB4MDMsMHhmMCwweDBjLDB4ZmYsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhMGQwLCAwLCB7MHhjMSwweDBmLDB4ZmMsMHgyMSwweGVjLDB4MDAsMHhkNywweDkwLDB4M2IsMHg0MCwweDBmLDB4NTAsMHgwMywweDNjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YTBlMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4OGUsMHhmMCwweDAzLDB4ZjQsMHg0MCwweGZkLDB4ODgsMHgzZiwweGMwLDB4MmYsMHhkMCwweDAyLDB4NzggfX0sCi0gezE2LCAweGEwZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgwMCwweGRhLDB4NDAsMHgzYywweDQwIH19LAotIHsxNiwgMHhhMTAwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHg0OCwweDAwLDB4ZjksMHgyMiwweDNjLDB4YzIsMHgwZSwweDkwLDB4ODMsMHhlYywweDAyLDB4ZGIsMHgwNCB9fSwKLSB7MTYsIDB4YTExMCwgMCwgezB4M2EsMHgwOCwweDBmLDB4ODQsMHg4NywweGU4LDB4MDAsMHhjYiwweDAwLDB4M2UsMHhjNCwweDBlLDB4YjAsMHgwMywweGVkLDB4MDAgfX0sCi0gezE2LCAweGExMjAsIDAsIHsweGU4LDB4NDIsMHgzYSwweGMwLDB4MGYsMHg4MCwweDBiLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMTMwLCAwLCB7MHg4OCwweDA1LDB4MmMsMHgwOCwweDhhLDB4MDAsMHgyZSwweDQyLDB4OGIsMHg5MCwweDAyLDB4MjgsMHgxOCwweGJiLDB4NDksMHgyMiB9fSwKLSB7MTYsIDB4YTE0MCwgMCwgezB4ZDAsMHgzOCwweGJjLDB4ODIsMHhmYywweDAwLDB4ZTgsMHgwMiwweDIyLDB4NjIsMHhjYiwweDljLDB4MDAsMHhlZiwweDYwLDB4ZGYgfX0sCi0gezE2LCAweGExNTAsIDAsIHsweDAwLDB4MmYsMHhjMCwweDBiLDB4ZjAsMHgwMiwweGVjLDB4MDAsMHgwOSwweDQwLDB4MzcsMHhjMCwweDBiLDB4OTAsMHgwMiwweDMyIH19LAotIHsxNiwgMHhhMTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ4LDB4MTAsMHgxMSwweDAwLDB4MmMsMHhhMCB9fSwKLSB7MTYsIDB4YTE3MCwgMCwgezB4MGIsMHgyMCwweDAyLDB4NDQsMHgwMCwweDkwLDB4YzAsMHg2NCwweDM0LDB4MjgsMHgzNCwweDAyLDB4Y2MsMHgwMCwweDkzLDB4ODQgfX0sCi0gezE2LCAweGExODAsIDAsIHsweDI4LDB4NDAsMHgwYiwweDA4LDB4MDAsMHhjZSwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzIsMHgwYSwweDMwLDB4MDIsMHhjMCwweDAwIH19LAotIHsxNiwgMHhhMTkwLCAwLCB7MHhiMiwweDQwLDB4MjIsMHhjMCwweDBiLDB4MjAsMHgwMiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTFhMCwgMCwgezB4NzAsMHgwMSwweDFhLDB4NDAsMHg4NSwweDgwLDB4MmQsMHhhMCwweDBiLDB4NjgsMHgwNiwweDE2LDB4ODAsMHhiZCwweDkwLDB4MjUgfX0sCi0gezE2LCAweGExYjAsIDAsIHsweDI0LDB4MTgsMHg3YiwweDQyLDB4ZGUsMHg0MCwweGEwLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg2OCwweDAyLDB4ZDYsMHgwMCwweDk3IH19LAotIHsxNiwgMHhhMWMwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhjZSwweDQwLDB4OTIsMHg4MCwweDZkLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YTFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyOCwweDAwLDB4ZDEsMHg4MCwweDNjLDB4ODggfX0sCi0gezE2LCAweGExZTAsIDAsIHsweDBiLDB4MjIsMHgwMywweDRlLDB4ODAsMHhmMiwweGExLDB4M2MsMHgyNCwweDJhLDB4MzksMHgwMywweGNjLDB4NDAsMHhkMywweGFjIH19LAotIHsxNiwgMHhhMWYwLCAwLCB7MHgzOCwweGM1LDB4MGYsMHgzMCwweDgyLDB4YzgsMHgwMCwweGQzLDB4MDAsMHgzYywweGMwLDB4MGUsMHgzMCwweDEzLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YTIwMCwgMCwgezB4ZjEsMHgwMCwweDM4LDB4YzAsMHgwZiwweGEwLDB4MDMsMHgxYSwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyMTAsIDAsIHsweDQwLDB4MWQsMHhiOCwweDEwLDB4ZmQsMHgzNCwweDNlLDB4ODAsMHgwZiwweGUwLDB4MDMsMHhlZSwweDAwLDB4NzIsMHgwMCwweDNhIH19LAotIHsxNiwgMHhhMjIwLCAwLCB7MHgwMCwweDBmLDB4YjAsMHg2MywweGVjLDB4NDAsMHhmOCwweDIyLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQ0LDB4NDAsMHhmZiB9fSwKLSB7MTYsIDB4YTIzMCwgMCwgezB4MDAsMHgzZiwweGQyLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGNmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGEyNDAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWUsMHgwMCwweGViLDB4MDAsMHgzNiwweGUwIH19LAotIHsxNiwgMHhhMjUwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHgyMCwweDAwLDB4ZjAsMHg4MCwweDMzLDB4YzAsMHgwOCwweGI4LDB4MDMsMHgyYywweDgwLDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4YTI2MCwgMCwgezB4MzIsMHg4MCwweDBmLDB4YTAsMHgxMywweDZlLDB4MDgsMHhjYiwweDI4LDB4MzIsMHhlMCwweDBkLDB4YjQsMHg4MywweGUyLDB4MDAgfX0sCi0gezE2LCAweGEyNzAsIDAsIHsweGNhLDB4MDAsMHgzZSwweGUwLDB4MGMsMHhhOCwweDAzLDB4MDIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMjgwLCAwLCB7MHhjOCwweDExLDB4OGMsMHgwNCwweDgzLDB4MDAsMHgyMSwweGMwLDB4NDgsMHg3MCwweDAyLDB4MTAsMHgwMCwweGI3LDB4MDIsMHgyMSB9fSwKLSB7MTYsIDB4YTI5MCwgMCwgezB4YzAsMHg0YSwweDcwLDB4MDIsMHgwZCwweDQ4LDB4ZDQsMHgwMCwweDM1LDB4YzAsMHgwZSwweDYwLDB4MDIsMHhkYywweDAwLDB4YTcgfX0sCi0gezE2LCAweGEyYTAsIDAsIHsweDQwLDB4MjksMHhjMCwweDA5LDB4NzIsMHgwMiwweGQ0LDB4MTAsMHhhNiwweDAyLDB4MmYsMHhjOCwweDA4LDB4NzAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhhMmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MDAsMHhhNywweDgwLDB4MjAsMHhlMCB9fSwKLSB7MTYsIDB4YTJjMCwgMCwgezB4MGEsMHgzOCwweDAyLDB4MWEsMHgwMCwweGI1LDB4ODAsMHgyMSwweGUwLDB4MDgsMHhmOCwweDIyLDB4NWMsMHg4MSwweDgzLDB4ODAgfX0sCi0gezE2LCAweGEyZDAsIDAsIHsweDIxLDB4YTEsMHgwYiwweDc4LDB4ODIsMHg1YSwweDEwLDB4ODMsMHhhMCwweDIwLDB4ZTgsMHgwYSwweDdiLDB4MDIsMHhkYSwweDAwIH19LAotIHsxNiwgMHhhMmUwLCAwLCB7MHg5NywweGMwLDB4MmQsMHhlNCwweDA4LDB4ZTgsMHgwMiwweDA4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTJmMCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDEwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHgwMiwweDA4LDB4MDgsMHhiMywweDcwLDB4MjAgfX0sCi0gezE2LCAweGEzMDAsIDAsIHsweGY4LDB4MGEsMHgzMCwweDQyLDB4NGMsMHgwNCwweDkzLDB4MTQsMHgyNiwweGM0LDB4MGEsMHgzOCwweDAyLDB4Y2MsMHgwMCwweGEzIH19LAotIHsxNiwgMHhhMzEwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHhhYSwweDMwLDB4MDIsMHhjZSwweDQwLDB4YjMsMHg4OCwweDJjLDB4YzAsMHgyOCwweDMwLDB4MGEsMHgxMiB9fSwKLSB7MTYsIDB4YTMyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOSwweDAwLDB4ZWEsMHg4MCwweGI2LDB4OTAgfX0sCi0gezE2LCAweGEzMzAsIDAsIHsweDJmLDB4MjQsMHgwYiwweDM5LDB4MDQsMHhiZSwweGMwLDB4MzMsMHg5MiwweDBjLDB4YTAsMHgwYiwweDY4LDB4MTgsMHhjZSwweGMwIH19LAotIHsxNiwgMHhhMzQwLCAwLCB7MHgzMywweDgwLDB4MGYsMHhlOSwweDQzLDB4NzgsMHgwMCwweGNhLDB4MDAsMHgzMiwweDgwLDB4MGYsMHhhMCwweDEzLDB4ZjgsMHg0OCB9fSwKLSB7MTYsIDB4YTM1MCwgMCwgezB4ZGUsMHgwMCwweDNlLDB4ODAsMHgwYywweGUwLDB4MDIsMHgzYSwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDI0LDB4ZjgsMHgwMCwweDNlLDB4MTIsMHgwZCwweDgwLDB4OTMsMHhiMCwweDI4LDB4ZjgsMHgwMCwweGJjIH19LAotIHsxNiwgMHhhMzcwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMiwweDBlLDB4ODAsMHgwMCwweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4YTM4MCwgMCwgezB4MDEsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGEzOTAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiMiwweDcwIH19LAotIHsxNiwgMHhhM2EwLCAwLCB7MHgwZiwweDkwLDB4MDEsMHgwNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDk4LDB4MDMsMHhlNCwweDA0LDB4ZTksMHgwOCB9fSwKLSB7MTYsIDB4YTNiMCwgMCwgezB4M2EsMHg0OCwweDBjLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBiLDB4MTAsMHgwYiwweDI2LDB4ODAgfX0sCi0gezE2LCAweGEzYzAsIDAsIHsweGYxLDB4ODAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhM2QwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDYxLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwOCwweDg5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YTNlMCwgMCwgezB4NDAsMHgwZCwweDlhLDB4MDIsMHhlNCwweDA4LDB4YTksMHgwMCwweDIyLDB4NzgsMHgwZCwweDk0LDB4MDYsMHhlNCwweDEwLDB4YjkgfX0sCi0gezE2LCAweGEzZjAsIDAsIHsweDAwLDB4MjIsMHg1MCwweDBiLDB4OTAsMHgwMiwweDI1LDB4ODAsMHhiOSwweDgwLDB4MzYsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhhNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiNSwweDAwLDB4MjMsMHg0MiB9fSwKLSB7MTYsIDB4YTQxMCwgMCwgezB4MGIsMHhkMCwweDBlLDB4YjQsMHgwMCwweDg5LDB4MDQsMHgyZSwweDYwLDB4MDgsMHg5MSwweDAyLDB4YzQsMHgwNCwweGI5LDB4MDQgfX0sCi0gezE2LCAweGE0MjAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDEwLDB4YjEsMHgwMCwweDI2LDB4NDIsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhNDMwLCAwLCB7MHhiOSwweDIxLDB4NjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTQ0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHhiNSwweDQwLDB4MjEsMHg1MCwweDRiLDB4NTAsMHgwNiwweDk0LDB4MDIsMHg4MSwweDAwLDB4MmMgfX0sCi0gezE2LCAweGE0NTAsIDAsIHsweDYwLDB4MjksMHgxNCwweDA2LDB4YzUsMHgwMCwweGExLDB4MjIsMHgyMCwweDUxLDB4ODksMHgxNCwweDAyLDB4YzQsMHgwMCwweGIxIH19LAotIHsxNiwgMHhhNDYwLCAwLCB7MHgyMCwweDIwLDB4NDgsMHgwYiwweDE0LDB4MDIsMHgwNCwweDAxLDB4YjEsMHgwMCwweDA0LDB4NTAsMHgwYiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YTQ3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4YjgsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGE0ODAsIDAsIHsweDhmLDB4ODAsMHgwMywweGIwLDB4MDAsMHg4OCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDA0IH19LAotIHsxNiwgMHhhNDkwLCAwLCB7MHgzYSwweDAwLDB4MGMsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGY4LDB4NTAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgwNCB9fSwKLSB7MTYsIDB4YTRhMCwgMCwgezB4ZjgsMHgwMSwweDEyLDB4MDAsMHg0ZiwweDgwLDB4MDcsMHhlZSwweDA3LDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0YjAsIDAsIHsweDk4LDB4MWQsMHhlNSwweDEwLDB4ZjksMHg0MCwweDNlLDB4NTAsMHgwZiwweDk0LDB4MDIsMHg2NSwweDAxLDB4ZmQsMHgwMSwweDNkIH19LAotIHsxNiwgMHhhNGMwLCAwLCB7MHg1MCwweDRmLDB4NTAsMHgxMywweGU1LDB4MDAsMHhmZCwweDEwLDB4MWYsMHg1MCwweDA3LDB4ZDQsMHg0MywweGQ0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YTRkMCwgMCwgezB4MTAsMHgxZSwweDQ0LDB4MGYsMHg5NCwweDAzLDB4ZDUsMHgwMCwweGZkLDB4NDAsMHgzZSwweDUwLDB4MGYsMHg1MiwweDgzLDB4ZWUgfX0sCi0gezE2LCAweGE0ZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZTQsMHg0MCwweGY5LDB4NjAsMHgzZiwweDQ0IH19LAotIHsxNiwgMHhhNGYwLCAwLCB7MHgwZiwweGQwLDB4YzMsMHhlNCwweDMwLDB4ZjksMHgwMSwweDNlLDB4NDIsMHgwYywweGQwLDB4MDMsMHhlNywweDgwLDB4ZGQsMHhhMCB9fSwKLSB7MTYsIDB4YTUwMCwgMCwgezB4MzMsMHg0MCwweDBjLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhjOSwweDkwLDB4M2YsMHg2OCwweDFlLDB4OTEsMHgwMywweDM0LDB4MDAgfX0sCi0gezE2LCAweGE1MTAsIDAsIHsweGZkLDB4MDAsMHgzZSwweDY4LDB4MGMsMHg5NCwweDAzLDB4MGUsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNTIwLCAwLCB7MHgzOSwweDEwLDB4ZTAsMHgwMCwweGI4LDB4NDIsMHgyZSwweDA5LDB4MGIsMHg4NCwweDAyLDB4ZTEsMHgwNCwweGJlLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YTUzMCwgMCwgezB4MTAsMHgwOCwweDgwLDB4MjIsMHhjMiwweDgwLDB4ODgsMHg0MCwweDIyLDB4MDAsMHgwYSwweDgwLDB4MDIsMHhlMCwweDAwLDB4YTggfX0sCi0gezE2LCAweGE1NDAsIDAsIHsweGQwLDB4MmUsMHgxMCwweDRiLDB4OGEsMHgwMywweDYwLDB4MDAsMHhiYSwweDAwLDB4MmUsMHgzMCwweDA4LDB4OGEsMHgwMiwweDg2IH19LAotIHsxNiwgMHhhNTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGM1LDB4ODAsMHhiMSwweDYwLDB4NmMsMHhkMCB9fSwKLSB7MTYsIDB4YTU2MCwgMCwgezB4MGIsMHgxMCwweDAwLDB4ZGMsMHgwYywweGI1LDB4MDAsMHgyYywweDQxLDB4MDgsMHgxMCwweDAyLDB4YzUsMHg4MCwweDkxLDB4MTAgfX0sCi0gezE2LCAweGE1NzAsIDAsIHsweDY4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlNCwweDBjLDB4ODEsMHgyMiwweDJjLDB4NTAsMHgwOCwweDEwLDB4NDIsMHgwNCwweDAwIH19LAotIHsxNiwgMHhhNTgwLCAwLCB7MHhhMSwweDAwLDB4MmMsMHg1YSwweDI4LDB4OTAsMHgwMiwweDUyLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTU5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDBiLDB4OTAsMHgxMiwweGY0LDB4ODAsMHhiZiwweDAwLDB4MmUgfX0sCi0gezE2LCAweGE1YTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGE5LDB4NjAsMHg2MCwweDQyLDB4MGEsMHg5NCwweDEyLDB4ZTUsMHgwMCwweGE5IH19LAotIHsxNiwgMHhhNWIwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg2NCwweDIwLDB4YjksMHgwMCwweDBlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4YTVjMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDEgfX0sCi0gezE2LCAweGE1ZDAsIDAsIHsweDBmLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDQsMHhkMSwweGMwIH19LAotIHsxNiwgMHhhNWUwLCAwLCB7MHhiYSwweDcwLDB4MGMsMHg5OCwweDAzLDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4MjUsMHg0MCB9fSwKLSB7MTYsIDB4YTVmMCwgMCwgezB4ZTksMHg0MCwweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHg2OCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2MDAsIDAsIHsweDY4LDB4MDEsMHhhNCwweDE0LDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhlNCwweDA4LDB4ZjksMHhhMCwweDNjIH19LAotIHsxNiwgMHhhNjEwLCAwLCB7MHhjMiwweDJmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhkOSwweDgwLDB4M2UsMHg3MCwweDBmLDB4OTEsMHg0MywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YTYyMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MWYsMHg5MCwweDEzLDB4ZTYsMHgyMCwweGY5LDB4YTAsMHgzYywweDQwLDB4NGUsMHg5MCwweDAzLDB4OWEgfX0sCi0gezE2LCAweGE2MzAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAyIH19LAotIHsxNiwgMHhhNjQwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHgyMCwweDBjLDB4ZmMsMHgwMSwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4YTY1MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwYiwweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHg0MywweGUwLDB4NDAgfX0sCi0gezE2LCAweGE2NjAsIDAsIHsweGY4LDB4MDIsMHgzYSwweDAwLDB4OGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNjcwLCAwLCB7MHhhOCwweDg1LDB4MjgsMHgwOCwweDNhLDB4MDAsMHgwZiwweDgwLDB4NGIsMHhhMSwweDAyLDB4MjgsMHgwMCwweGJhLDB4ODIsMHgyZSB9fSwKLSB7MTYsIDB4YTY4MCwgMCwgezB4ODgsMHg0OCwweGU0LDB4MDIsMHhlOCwweDAwLDB4YWUsMHg5MCwweGEzLDB4OTAsMHgwYiwweGUwLDB4MDAsMHgzOCwweDAwLDB4YmEgfX0sCi0gezE2LCAweGE2OTAsIDAsIHsweDAwLDB4MzcsMHhhMCwweDA4LDB4YTAsMHgwMiwweGY4LDB4MDAsMHg5ZSwweGUwLDB4MjIsMHg4MCwweDBiLDB4YTAsMHgyMywweDQyIH19LAotIHsxNiwgMHhhNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MTAsMHgzMywweDAwLDB4MmMsMHhkMCB9fSwKLSB7MTYsIDB4YTZiMCwgMCwgezB4MGIsMHgxNCwweDAyLDB4MGMsMHgwMCwweGIyLDB4OTEsMHgyYywweGQwLDB4MDgsMHgzZSwweDAyLDB4NGMsMHgwMCwweDgzLDB4NDAgfX0sCi0gezE2LCAweGE2YzAsIDAsIHsweDI0LDB4YzIsMHgwYiwweDM2LDB4MDAsMHg4YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjZSwweDAwIH19LAotIHsxNiwgMHhhNmQwLCAwLCB7MHhiMywweGNjLDB4NjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTZlMCwgMCwgezB4ZTAsMHgwMSwweDFjLDB4ODgsMHhiNywweDI1LDB4MmQsMHhjMCwweDhiLDB4NTgsMHgxYSwweDFjLDB4MDgsMHhiNiwweDAwLDB4MmQgfX0sCi0gezE2LCAweGE2ZjAsIDAsIHsweGMwLDB4MDgsMHg3NCwweDAyLDB4ZGMsMHg0MCwweGE1LDB4MDAsMHgyNSwweGMwLDB4MWIsMHg3OCwweDAyLDB4OTQsMHgwOCwweGI3IH19LAotIHsxNiwgMHhhNzAwLCAwLCB7MHg4MCwweDI1LDB4ZTMsMHgwYSwweDcxLDB4MDIsMHhkYywweDAwLDB4OTcsMHg4MywweDIxLDB4YzgsMHg4YiwweGYxLDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4YTcxMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDAwLDB4ZjcsMHhlMiwweDdkLDB4ZTAgfX0sCi0gezE2LCAweGE3MjAsIDAsIHsweDBmLDB4NTgsMHg0MywweDFlLDB4MTgsMHhmNiwweDgwLDB4N2MsMHhlMCwweDJjLDB4NjgsMHgwMiwweDVlLDB4OTAsMHhjMywweDgwIH19LAotIHsxNiwgMHhhNzMwLCAwLCB7MHgzNSwweGUwLDB4MGYsMHhmOCwweDAzLDB4OWUsMHgwNCwweGZmLDB4YTEsMHgyMCwweGExLDB4MGQsMHg3OCwweDAzLDB4ZDYsMHgwMCB9fSwKLSB7MTYsIDB4YTc0MCwgMCwgezB4ZjcsMHg4MCwweDM5LDB4ZjgsMHgwZiwweDc4LDB4MDMsMHgwYSwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3NTAsIDAsIHsweDQ4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHg0MCwweDdmLDB4NDEsMHgwZiwweDEwLDB4MDMsMHhlYywweDA0LDB4ZmEsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhNzYwLCAwLCB7MHhkMCwweDBmLDB4YTAsMHgwMywweGVkLDB4MDAsMHhlOSwweDAwLDB4MmEsMHgwMCwweDBmLDB4YjAsMHgwMywweDY0LDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YTc3MCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGQzLDB4MDAsMHgzNiwweGMwLDB4MGYsMHgzOCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGE3ODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHg0OCwweGNmLDB4YzAsMHgzMywweDYwIH19LAotIHsxNiwgMHhhNzkwLCAwLCB7MHg4YywweGM4LDB4NDMsMHhkNiwweDAwLDB4Y2MsMHg5NCwweDNmLDB4YjAsMHgwZCwweGY4LDB4MDMsMHg3ZiwweDAwLDB4ZGYsMHg4MCB9fSwKLSB7MTYsIDB4YTdhMCwgMCwgezB4M2YsMHg2MCwweDBmLDB4ZDgsMHgwMywweGRlLDB4MDAsMHhjZiwweGNhLDB4M2QsMHg2MCwweDBjLDB4ZjgsMHgxMywweDNhLDB4NDQgfX0sCi0gezE2LCAweGE3YjAsIDAsIHsweGRkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDQzLDB4MTgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhN2MwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDhmLDB4MTEsMHgzMywweGMwLDB4NDgsMHg0MSwweDEyLDB4YzQsMHg0OCwweDg0LDB4MTEsMHgyYyB9fSwKLSB7MTYsIDB4YTdkMCwgMCwgezB4ZWMsMHgyYSwweGJhLDB4MDMsMHgzYywweDQwLDB4ZDcsMHg0OCwweDJkLDB4NDEsMHgwYiwweDYwLDB4MDIsMHhkNCwweDAwLDB4ZDcgfX0sCi0gezE2LCAweGE3ZTAsIDAsIHsweDAxLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgwMywweDVhLDB4MDAsMHg4NCwweDE4LDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMywweDZhIH19LAotIHsxNiwgMHhhN2YwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDhjLDB4MDgsMHg4NywweDAwLDB4MjEsMHg0MCB9fSwKLSB7MTYsIDB4YTgwMCwgMCwgezB4MDksMHg0MCwweDAyLDB4ZDQsMHgwMCwweGE0LDB4OTIsMHgyZCwweGM4LDB4MDksMHg2MiwweDgyLDB4NWMsMHgwMCwweDg3LDB4MDAgfX0sCi0gezE2LCAweGE4MTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhmYywweDAwLDB4ODcsMHgwMCwweDJkLDB4MDQsMHgwOCwweDcwLDB4MDIsMHgxYywweDgwIH19LAotIHsxNiwgMHhhODIwLCAwLCB7MHhiNSwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTgzMCwgMCwgezB4NjAsMHgxMCwweGNjLDB4MDAsMHg4MywweDAwLDB4MjAsMHg0MCwweDA5LDB4MDAsMHgyMiwweGM3LDB4MDAsMHhhMCwweDQxLDB4MmMgfX0sCi0gezE2LCAweGE4NDAsIDAsIHsweGMxLDB4NGIsMHgwOCwweDAyLDB4MmMsMHgwMCwweDkzLDB4NDAsMHgyYywweDdjLDB4MGIsMHgzOCwweDAyLDB4YzcsMHgyMCwweDkzIH19LAotIHsxNiwgMHhhODUwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg0ZiwweDg0LDB4YjAsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMyLDB4MTAsMHg1MCB9fSwKLSB7MTYsIDB4YTg2MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MTUsMHhiYywweDAyLDB4Y2YsMHgwMCwweGIyLDB4NDAgfX0sCi0gezE2LCAweGE4NzAsIDAsIHsweDBkLDB4MTAsMHgwMywweGU4LDB4MjQsMHhlYiwweGMxLDB4M2UsMHhjMCwweDJkLDB4OTgsMHgxMywweDdjLDB4MGEsMHhjMiwweDQzIH19LAotIHsxNiwgMHhhODgwLCAwLCB7MHgzZSwweGIwLDB4MGYsMHhhOSwweDAzLDB4ZTksMHgyMCwweGNmLDB4MDAsMHgzZSwweGMwLDB4OGMsMHhmMCwweDAzLDB4MGQsMHgyMCB9fSwKLSB7MTYsIDB4YTg5MCwgMCwgezB4ZmEsMHhjMCwweDNmLDB4YzAsMHgwZiwweDc0LDB4MDEsMHgyYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4YTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNhLDB4NDAsMHg4ZSwweDkwLDB4MDMsMHhlOCwweDE0LDB4NWIsMHg1MCwweDNjIH19LAotIHsxNiwgMHhhOGIwLCAwLCB7MHg1MCwweDRlLDB4ODQsMHgwMywweGVjLDB4MDAsMHhmOCwweDQwLDB4M2UsMHg4MCwweDA3LDB4ODEsMHgwMywweGVjLDB4MDgsMHhmMyB9fSwKLSB7MTYsIDB4YThjMCwgMCwgezB4MDAsMHgzYSwweGMwLDB4OWYsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTggfX0sCi0gezE2LCAweGE4ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDkwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwIH19LAotIHsxNiwgMHhhOGUwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHgzOCwweDIwLDB4Y2YsMHgwOCwweDMyLDB4YzEsMHgwZSwweGQwLDB4MDMsMHhmYywweDAwLDB4ZmUsMHgwOCB9fSwKLSB7MTYsIDB4YThmMCwgMCwgezB4MzEsMHhlNSwweDBlLDB4ZTQsMHgwMywweDNhLDB4MDAsMHhmZiwweDAwLDB4MzMsMHg4MCwweDBmLDB4ZjAsMHgyYiwweDI0LDB4MDAgfX0sCi0gezE2LCAweGE5MDAsIDAsIHsweGNjLDB4YTAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOTEwLCAwLCB7MHg4MCwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHgzYSwweDY5LDB4MGIsMHg5MCwweDZlLDB4MDgsMHgwMCwweDgzLDB4NDEsMHgzNiB9fSwKLSB7MTYsIDB4YTkyMCwgMCwgezB4NDAsMHhjOCwweDg4LDB4YzYsMHhlYywweDAwLDB4ODgsMHg0MCwweDM2LDB4ODAsMHgwZCwweGE4LDB4MDMsMHg2ZSwweDUwLDB4YmIgfX0sCi0gezE2LCAweGE5MzAsIDAsIHsweDAwLDB4MzYsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI0LDB4MDAsMHhkOSwweDA4LDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhhOTQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHg2MCB9fSwKLSB7MTYsIDB4YTk1MCwgMCwgezB4MDMsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg5LDB4MDEsMHgyMiwweDU4LDB4MDgsMHg5OCwweDIyLDB4ZWMsMHgwMSwweGFiLDB4MDAgfX0sCi0gezE2LCAweGE5NjAsIDAsIHsweDIyLDB4MDAsMHgwYSwweDEwLDB4MDIsMHgyOCwweDAwLDB4YmIsMHgwMCwweDIyLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyOCwweDAwIH19LAotIHsxNiwgMHhhOTcwLCAwLCB7MHg4YSwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweDIwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTk4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjgsMHg0MCwweDhiLDB4MDAsMHgwMiwweDAyLDB4NDAsMHg4OSwweDAxLDB4MjQgfX0sCi0gezE2LCAweGE5OTAsIDAsIHsweGQyLDB4MjgsMHgxMCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MTAsMHgyNCwweDIwLDB4MDgsMHgwOCwweDAyLDB4NGUsMHgwMCwweGIzIH19LAotIHsxNiwgMHhhOWEwLCAwLCB7MHgwNCwweGEwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwOCwweDg4LDB4OTIsMHgwMCwweDJjLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YTliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGE5YzAsIDAsIHsweDBmLDB4ODAsMHgwMiwweDIwLDB4MTAsMHg4OSwweDUwLDB4MjIsMHhkOCwweDJlLDB4OTYsMHgyMiwweGZjLDB4MDAsMHhlYiwweDQwIH19LAotIHsxNiwgMHhhOWQwLCAwLCB7MHgzMiwweGMwLDB4MGEsMHg5MCwweDAzLDB4MjgsMHgwMCwweGZmLDB4MDAsMHgyMiwweDAwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHhhMCB9fSwKLSB7MTYsIDB4YTllMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwMCwweDA2LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5ZjAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgwYywweDNiLDB4MDAsMHgwZiwweGMwLDB4MDIsMHg3MCwweDkwLDB4ZmQsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhYTAwLCAwLCB7MHhjOSwweDBmLDB4OTYsMHhjMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhmZiB9fSwKLSB7MTYsIDB4YWExMCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGFhMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZGMsMHg4MCwweGZiLDB4MjgsMHgzZiwweDAwIH19LAotIHsxNiwgMHhhYTMwLCAwLCB7MHgwYywweGMxLDB4MGIsMHhmMSwweDAyLDB4ZWQsMHgwMCwweDM3LDB4MzAsMHgyYywweGYxLDB4MDMsMHhiMiwweDQwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4YWE0MCwgMCwgezB4YmIsMHhjMCwweDBmLDB4NDgsMHgwNiwweGIyLDB4MDAsMHhmYywweDgwLDB4M2IsMHhjYywweDBjLDB4ZjAsMHgwMywweDcwLDB4ODAgfX0sCi0gezE2LCAweGFhNTAsIDAsIHsweGRmLDB4MjgsMHgzMywweDA0LDB4MGYsMHhmNCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYTYwLCAwLCB7MHg4MCwweDEwLDB4ZmYsMHg0MCwweGJmLDB4NjAsMHgyZSwweDIxLDB4MDgsMHg4MiwweDAyLDB4MjAsMHgwMCwweGE5LDB4MjgsMHgyYSB9fSwKLSB7MTYsIDB4YWE3MCwgMCwgezB4MDAsMHgwOSwweGZhLDB4MDIsMHgyMCwweDAwLDB4YmYsMHg1MSwweDIzLDB4ZDgsMHgwOSwweDk4LDB4MDIsMHhlNCwweDMwLDB4YjAgfX0sCi0gezE2LCAweGFhODAsIDAsIHsweDAwLDB4MjMsMHhkMCwweDA4LDB4ZjUsMHhhMiwweDI1LDB4YTQsMHg4ZiwweDQyLDB4M2MsMHgxMCwweDBiLDB4YjAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhhYTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDA4LDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YWFhMCwgMCwgezB4MjgsMHgwMCwweDFhLDB4YzAsMHg4NCwweDIwLDB4MDAsMHgyNCwweGM4LDB4NGIsMHgzMSwweDQyLDB4YzAsMHgwMCwweDkzLDB4MDIgfX0sCi0gezE2LCAweGFhYjAsIDAsIHsweDIwLDB4YzYsMHgwOCwweDAwLDB4MDYsMHhjMCwweDgxLDB4YjMsMHgwMCwweDJjLDB4ZDgsMHgwOSwweDMyLDB4MDIsMHhhMCwweDQwIH19LAotIHsxNiwgMHhhYWMwLCAwLCB7MHg5MywweDAxLDB4MjQsMHg0YywweDBiLDB4MzIsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWFkMCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHgwYSwweDA4LDB4ODAsMHg4MiwweDYwLDB4MDAsMHhhOCwweDAwLDB4MmUgfX0sCi0gezE2LCAweGFhZTAsIDAsIHsweGUwLDB4MWIsMHhiMCwweDAyLDB4NjIsMHgwMSwweDNiLDB4MDAsMHgyMiwweGMxLDB4MDksMHg5MCwweDAyLDB4ZTIsMHgwMCwweGJiIH19LAotIHsxNiwgMHhhYWYwLCAwLCB7MHg2MCwweDI2LDB4YzEsMHgwOCwweGIwLDB4MmEsMHgyNiwweDAwLDB4OWIsMHgwNCwweDJlLDB4MjEsMHgwYiwweGIwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4YWIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4MTAgfX0sCi0gezE2LCAweGFiMTAsIDAsIHsweDA4LDB4ODQsMHgxMywweGVjLDB4MDIsMHhhOSwweDA0LDB4MzYsMHgyMCwweDBmLDB4YjAsMHgwMywweGVlLDB4ODAsMHhmYiwweDAwIH19LAotIHsxNiwgMHhhYjIwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhhMCwweDAzLDB4YTIsMHg4MCwweDc5LDB4NDAsMHgxZSwweGMwLDB4OGMsMHhiMCwweDYzLDB4NmEsMHgxMCB9fSwKLSB7MTYsIDB4YWIzMCwgMCwgezB4ZDMsMHgwMCwweDM2LDB4YTIsMHgwNywweGIwLDB4MDMsMHgwMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MjAsMHg0ZCwweDQxLDB4MDMsMHg5YywweDAwLDB4ZmQsMHgyMCwweGFiIH19LAotIHsxNiwgMHhhYjUwLCAwLCB7MHgwMCwweDBjLDB4ZjAsMHgwMywweGI4LDB4MDAsMHhmNywweDAwLDB4M2YsMHhjMCwweDRkLDB4YzksMHgwMywweGY0LDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YWI2MCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MmUsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGVmLDB4MDAsMHgzZiwweDAwLDB4NGIsMHg3MCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGFiNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHg4MCwweGViLDB4MDAsMHg3ZSwweDEwIH19LAotIHsxNiwgMHhhYjgwLCAwLCB7MHgyZSwweDg0LDB4MDMsMHhlYywweDAwLDB4ZTAsMHgwMCwweDMyLDB4NTAsMHgwZiwweGIwLDB4ODYsMHgyNSwweDAwLDB4ZGIsMHgyMCB9fSwKLSB7MTYsIDB4YWI5MCwgMCwgezB4M2EsMHhjMCwweDBkLDB4YjAsMHg2MywweGUxLDB4MTAsMHhmYiwweDQ4LDB4MzgsMHhjMSwweDBmLDB4MzAsMHgwMywweDJjLDB4MDQgfX0sCi0gezE2LCAweGFiYTAsIDAsIHsweGZiLDB4MDgsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYmIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHg2NCwweDI5LDB4MjgsMHg4MCwweDAzLDB4ZWMsMHgwMiwweGU4LDB4MDQsMHhhOCB9fSwKLSB7MTYsIDB4YWJjMCwgMCwgezB4NTYsMHgwOCwweGZjLDB4MDcsMHhlMCwweDAwLDB4MGYsMHhhMCwweGJmLDB4YzAsMHgwYiwweDk1LDB4MDIsMHhhMCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGFiZDAsIDAsIHsweDA1LDB4MzcsMHhjMCwweDg5LDB4ZjAsMHgwYSwweDBkLDB4YzgsMHhiZiwweDA4LDB4MmEsMHg4MCwweDA4LDB4ZjAsMHgwMiwweDMyIH19LAotIHsxNiwgMHhhYmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDEsMHhiMywweDAyLDB4MjQsMHhlMCB9fSwKLSB7MTYsIDB4YWJmMCwgMCwgezB4MGEsMHgzMCwweDEyLDB4ODAsMHgwMywweGEzLDB4MDAsMHhhOCwweDAwLDB4MDIsMHhiOCwweDIyLDB4YzAsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGFjMDAsIDAsIHsweDI4LDB4YzEsMHgwYiwweDA0LDB4MDIsMHgwOCwweDAwLDB4YjksMHg0MCwweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwMywweDA0IH19LAotIHsxNiwgMHhhYzEwLCAwLCB7MHhiMywweDQ0LDB4MjAsMHgwMCwweDRhLDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWMyMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MjAsMHgxNywweGEwLDB4NjUsMHhlYywweDA4LDB4MzgsMHgwMiwweGMyLDB4NDEsMHhiMywweDkyLDB4MmIgfX0sCi0gezE2LCAweGFjMzAsIDAsIHsweDY0LDB4MGEsMHgzOCwweDAyLDB4MzYsMHgwMSwweGI3LDB4OTAsMHgyZCwweGUwLDB4MDMsMHhmOCwweDAwLDB4OWEsMHgwMCwweGI1IH19LAotIHsxNiwgMHhhYzQwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHg4OSwweDc4LDB4MTIsMHgxZSwweDAwLDB4YjcsMHg4MCwweDI5LDB4ZTAsMHgwYSwweDc4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YWM1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4NzMsMHhiMCwweDI0LDB4YzggfX0sCi0gezE2LCAweGFjNjAsIDAsIHsweDRlLDB4MzAsMHgwYSwweDgwLDB4MDIsMHhlMiwweDAwLDB4MzgsMHg5NCwweDBlLDB4MzEsMHhhMiwweGM4LDB4MDAsMHg3MywweDAwIH19LAotIHsxNiwgMHhhYzcwLCAwLCB7MHgxOCwweGM0LDB4MDUsMHgwMCwweDAzLDB4MDAsMHgwMCwweGYzLDB4MDAsMHgzOCwweGMwLDB4MDcsMHhiMSwweDAzLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWM4MCwgMCwgezB4ZjMsMHgwMSwweDMwLDB4NDEsMHgwZSwweGIwLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjOTAsIDAsIHsweDQwLDB4MWQsMHhiZCwweDAwLDB4ZWYsMHgxMCwweDI2LDB4YzgsMHgwMywweGIxLDB4MDMsMHhlMCwweDAwLDB4ZWEsMHg4MSwweDc4IH19LAotIHsxNiwgMHhhY2EwLCAwLCB7MHhjNSwweDBjLDB4YjUsMHhlMywweGRjLDB4MDAsMHhjMywweDAwLDB4M2UsMHhjMSwweDBmLDB4ZjAsMHg4MywweGIwLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YWNiMCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGQsMHhmNCwweDAzLDB4ZTQsMHgwMCwweGY3LDB4MDAsMHgzZiwweDQwLDB4MGQsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGFjYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHgxMCwweGNiLDB4MjgsMHgzZSwweGMwIH19LAotIHsxNiwgMHhhY2QwLCAwLCB7MHgwZCwweGIwLDB4MTMsMHhhYywweDEwLDB4ZmIsMHgwMCwweDNhLDB4ODAsMHgwNCwweGI0LDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwNCB9fSwKLSB7MTYsIDB4YWNlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YTQsMHhiMywweGUwLDB4MDAsMHhmYiwweDgwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGU4LDB4MDAgfX0sCi0gezE2LCAweGFjZjAsIDAsIHsweGZiLDB4NDgsMHhiMiwweDgwLDB4MGYsMHhiMCwweDQzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZDAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMiwweDg3LDB4NDQsMHgzOCwweGMwLDB4OGQsMHgzMCwweDAyLDB4NGMsMHgwMCwweGZmLDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4YWQxMCwgMCwgezB4YzAsMHgwOCwweDcwLDB4MDMsMHg5YywweDAwLDB4YjMsMHg1MCwweDIxLDB4ZDQsMHg0ZSwweDYyLDB4MDIsMHhkMCwweDAwLDB4YmYgfX0sCi0gezE2LCAweGFkMjAsIDAsIHsweDAwLDB4MzUsMHhkNCwweDA5LDB4NzAsMHgyMiwweGQ4LDB4MDAsMHhiZiwweDIyLDB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweGQyIH19LAotIHsxNiwgMHhhZDMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4NDAsMHg4NywweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4YWQ0MCwgMCwgezB4MDksMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI2LDB4ODAsMHgyOSwweGExLDB4MjgsMHg3YSwweDMyLDB4ZGUsMHgwMCwweDM3LDB4YTAgfX0sCi0gezE2LCAweGFkNTAsIDAsIHsweDI1LDB4ZTAsMHgwOSwweDc4LDB4MDYsMHhkMiwweDAwLDB4YjcsMHg4MCwweDIxLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhkZSwweDAwIH19LAotIHsxNiwgMHhhZDYwLCAwLCB7MHhiNywweDkwLDB4MjEsMHhlMCwweDBiLDB4NzksMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWQ3MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDQsMHg4MywweDAxLDB4MjgsMHhjMCwweDg5LDB4YjAsMHgwYSwweDRmLDB4MDAsMHhiMiwweDAwLDB4MjAgfX0sCi0gezE2LCAweGFkODAsIDAsIHsweGM0LDB4ODgsMHgzMCwweDE2LDB4Y2YsMHgwMCwweGJiLDB4MDQsMHgyMCwweGMxLDB4MGEsMHgzMiwweDA2LDB4YzIsMHgwMCwweGIzIH19LAotIHsxNiwgMHhhZDkwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwOSwweDMwLDB4NDIsMHhlZiwweDEwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YWRhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4NGEsMHgwMCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGFkYjAsIDAsIHsweDJkLDB4YTAsMHgwYiwweGFhLDB4ODAsMHhmZSwweDAwLDB4MmIsMHg4MCwweDBjLDB4YTAsMHg0MywweGZiLDB4MzAsMHhmYSwweDAwIH19LAotIHsxNiwgMHhhZGMwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDgzLDB4ZmEsMHgwNCwweGZlLDB4MTgsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHg4NCB9fSwKLSB7MTYsIDB4YWRkMCwgMCwgezB4ZjIsMHgwMCwweDMzLDB4YTIsMHgwZiwweGEwLDB4MDMsMHhmMiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgyZiwweDgwLDB4MDMsMHhhMCwweDIwLDB4ZmMsMHgwMiwweDNlIH19LAotIHsxNiwgMHhhZGYwLCAwLCB7MHgwMCwweDFmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMSwweGUwLDB4NDAsMHhmOCB9fSwKLSB7MTYsIDB4YWUwMCwgMCwgezB4NDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGFlMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzYsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhhZTIwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHgwNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NjgsMHg2YywweDk0LDB4MDMsMHhlNCwweDIwLDB4YjksMHg5MCB9fSwKLSB7MTYsIDB4YWUzMCwgMCwgezB4MzYsMHg0MCwweDBjLDB4OTQsMHgwMywweGU0LDB4MDAsMHgyOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDI0LDB4MjAgfX0sCi0gezE2LCAweGFlNDAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZTUwLCAwLCB7MHg4MCwweDA0LDB4NjYsMHg1MCwweDg5LDB4MDAsMHgyMCwweDUwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOSwweGQ5LDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YWU2MCwgMCwgezB4NDgsMHg0OCwweDkwLDB4MDYsMHhlNCwweDA0LDB4OTksMHhhMCwweDIyLDB4NDAsMHgwZCwweGI4LDB4MjIsMHg2NCwweDAwLDB4MDkgfX0sCi0gezE2LCAweGFlNzAsIDAsIHsweDUwLDB4MzIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI3LDB4OTAsMHg4OSwweDQwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhhZTgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHg5OSwweDAwLDB4NjYsMHg0MiB9fSwKLSB7MTYsIDB4YWU5MCwgMCwgezB4MGEsMHhkMCwweDEyLDB4MzQsMHgwMCwweDg1LDB4MDAsMHgyNiwweDQwLDB4NGEsMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDEgfX0sCi0gezE2LCAweGFlYTAsIDAsIHsweDI0LDB4NDAsMHg1OCwweDkwLDB4MTIsMHhjNCwweDAwLDB4MjksMHg0MCwweDJlLDB4NDAsMHgwYiwweDEwLDB4MGEsMHgyNCwweDgwIH19LAotIHsxNiwgMHhhZWIwLCAwLCB7MHg4OSwweDA1LDB4MjYsMHg0MSwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWVjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4NjEsMHg0OCwweDA4LDB4NTIsMHgwMiwweDE0LDB4ODEsMHg5NSwweDIwLDB4MjAgfX0sCi0gezE2LCAweGFlZDAsIDAsIHsweDQwLDB4MGEsMHgzNiwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjAsMHgwMCwweDQ4LDB4NDEsMHgxMCwweDQyLDB4NDQsMHgwMSwweGExIH19LAotIHsxNiwgMHhhZWUwLCAwLCB7MHgwMCwweDI0LDB4NDgsMHgwYiwweDEyLDB4MTIsMHgwNCwweDgwLDB4ODEsMHgyMCwweDI4LDB4NDgsMHgwYiwweDEyLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4YWVmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZDgsMHg1MCwweDM2LDB4MDAgfX0sCi0gezE2LCAweGFmMDAsIDAsIHsweDBlLDB4ODUsMHgyMywweDIxLDB4NDIsMHg4YywweDU0LDB4MzQsMHgxNCwweDBlLDB4ODAsMHgwMiwweGUxLDB4NDAsMHhmOCwweDUwIH19LAotIHsxNiwgMHhhZjEwLCAwLCB7MHgzNiwweDE0LDB4MDQsMHg4MCwweDAzLDB4ZTEsMHg0NCwweGU4LDB4NTAsMHg3ZSwweDE1LDB4MGYsMHg4NSwweDAzLDB4MjEsMHg0MiB9fSwKLSB7MTYsIDB4YWYyMCwgMCwgezB4NGEsMHgwMCwweDM2LDB4MTQsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmMzAsIDAsIHsweDk4LDB4MWQsMHhjNCwweDQwLDB4ZjksMHgxMCwweDFlLDB4NDQsMHg0ZSwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmIH19LAotIHsxNiwgMHhhZjQwLCAwLCB7MHhjMCwweDBkLDB4OTEsMHgwMywweGY0LDB4MDAsMHhkOSwweDE0LDB4M2UsMHg0NCwweDBmLDB4OTAsMHgwMywweDc0LDB4MDAsMHhkZCB9fSwKLSB7MTYsIDB4YWY1MCwgMCwgezB4MDAsMHg3YSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHg0MCwweGY5LDB4MzgsMHgzZiwweDQ0LDB4MGYsMHg5MywweDgzLDB4ZTcgfX0sCi0gezE2LCAweGFmNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHg4MCwweGY5LDB4YTQsMHgzZiwweDY4IH19LAotIHsxNiwgMHhhZjcwLCAwLCB7MHgwZSwweDllLDB4NDMsMHg2NywweDgwLDB4ZDksMHhlNCwweDNmLDB4NDEsMHgwZiwweGQ4LDB4NDMsMHgwNCwweDAwLDB4ZWQsMHhjMCB9fSwKLSB7MTYsIDB4YWY4MCwgMCwgezB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhkNSwweDQwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGY0LDB4MDAgfX0sCi0gezE2LCAweGFmOTAsIDAsIHsweGRkLDB4MDAsMHgzMiwweDQwLDB4MmMsMHg5YSwweDAzLDB4YzYsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZmEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweGU4LDB4YzAsMHgyZSwweDE0LDB4NGQsMHg4ZiwweDIyLDB4MjMsMHhjMCwweGY4LDB4ZjAsMHhhYSB9fSwKLSB7MTYsIDB4YWZiMCwgMCwgezB4MDAsMHgwYywweDgwLDB4MDMsMHhhMiwweGEwLDB4ZDgsMHg4MiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlOCwweDAwLDB4ZDggfX0sCi0gezE2LCAweGFmYzAsIDAsIHsweDgwLDB4MmEsMHgwMCwweDA4LDB4ODAsMHgwMiwweGU4LDB4MDgsMHg4OCwweGE4LDB4MzYsMHgwMCwweDQ4LDB4OGEsMHg4MiwweGNlIH19LAotIHsxNiwgMHhhZmQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDQ4LDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YWZlMCwgMCwgezB4MGEsMHgxMiwweDIyLDB4NDQsMHgwMCwweDkxLDB4MDQsMHhhNCwweDQxLDB4MGEsMHg5NCwweDA2LDB4MjQsMHgwMCwweDkxLDB4NDIgfX0sCi0gezE2LCAweGFmZjAsIDAsIHsweDI0LDB4NDEsMHgwOSwweDEwLDB4MDIsMHhlNCwweDAxLDB4OTEsMHgyMCwweDI0LDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDAxIH19LAotIHsxNiwgMHhiMDAwLCAwLCB7MHg5MSwweDAwLDB4MmMsMHg0MCwweDA5LDB4MTQsMHgwMiwweGMyLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjAxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDQ4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDQwLDB4YWEgfX0sCi0gezE2LCAweGIwMjAsIDAsIHsweDQwLDB4MTgsMHhiMCwweDAyLDB4ZTQsMHgwOCwweDk5LDB4MDAsMHgyMiwweDQwLDB4MTksMHg5MCwweDQ2LDB4ZTQsMHg4MCwweDk5IH19LAotIHsxNiwgMHhiMDMwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAxLDB4OTksMHgwNCwweDI2LDB4NTAsMHgwOSwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4YjA0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZjksMHgwNiwweDNjLDB4NDAgfX0sCi0gezE2LCAweGIwNTAsIDAsIHsweDBhLDB4OTAsMHgwMywweDY0LDB4MDIsMHhkOSwweDAwLDB4YjYsMHg1MCwweDBlLDB4OTAsMHgyMywweDI2LDB4MDEsMHhmOSwweDAwIH19LAotIHsxNiwgMHhiMDYwLCAwLCB7MHgzNiwweDQwLDB4MjksMHg5NCwweDgzLDB4ZTQsMHgwMCwweGQ5LDB4NDgsMHgzNiwweDQwLDB4MGQsMHg5MCwweDAzLDB4YzcsMHgwMCB9fSwKLSB7MTYsIDB4YjA3MCwgMCwgezB4ZDEsMHgwNywweDNhLDB4NTAsMHhjZCwweDkwLDB4MDMsMHhlOCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDA4LDB4ZTksMHgwMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjNCwweDA4LDB4ZjEsMHgwMCwweDNhIH19LAotIHsxNiwgMHhiMDkwLCAwLCB7MHg2OCwweDhmLDB4OTAsMHgwMywweGE0LDB4NDEsMHhmOSwweDAwLDB4YmUsMHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YjBhMCwgMCwgezB4YzAsMHgzOCwweDQwLDB4MmUsMHg5MCwweDAzLDB4ZTYsMHg0MCwweGU5LDB4MDAsMHgzZSwweDY4LDB4MDYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGIwYjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDUsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiMGMwLCAwLCB7MHgwNywweDgwLDB4MGIsMHgyMCwweDAwLDB4ZTgsMHg0MCwweDNlLDB4MTAsMHgwZCwweDgyLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4YjBkMCwgMCwgezB4YjIsMHgwMCwweDhkLDB4ODMsMHgwMywweGUwLDB4MDAsMHhkOCwweDUwLDB4M2EsMHgwMCwweDFlLDB4ODAsMHgwMywweGUxLDB4MjQgfX0sCi0gezE2LCAweGIwZTAsIDAsIHsweGY4LDB4MDAsMHhiMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMGYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweDhhLDB4MDQsMHgyZiwweDg0LDB4NmEsMHhhMCwweDBiLDB4ZTgsMHgwOCwweDhlLDB4MDAsMHgzZCB9fSwKLSB7MTYsIDB4YjEwMCwgMCwgezB4ODAsMHg4OCwweGVjLDB4MDMsMHg2OCwweDEwLDB4YTYsMHgwMSwweDM2LDB4ODAsMHgwOCwweGE4LDB4MDAsMHhjOCwweDEwLDB4OGUgfX0sCi0gezE2LCAweGIxMTAsIDAsIHsweDEwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGZiLDB4MjAsMHhiZSwweDUxLDB4MmEsMHg4MCwweDBiLDB4YTAsMHgwMiwweDgyIH19LAotIHsxNiwgMHhiMTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQxLDB4MjEsMHg5MywweDAwLDB4MmMsMHhmMCB9fSwKLSB7MTYsIDB4YjEzMCwgMCwgezB4MzksMHgzMCwweDA2LDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyOCwweDA4LDB4MjgsMHhiYywweDAyLDB4MmMsMHgwMCwweDgzLDB4ODAgfX0sCi0gezE2LCAweGIxNDAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDMwLDB4MDAsMHhjYywweDAwLDB4OWEsMHg4MCwweDI4LDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjZCwweDAwIH19LAotIHsxNiwgMHhiMTUwLCAwLCB7MHhiMywweDA0LDB4NjIsMHhjMSwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjE2MCwgMCwgezB4YTAsMHgwMSwweDFlLDB4MDQsMHgwNywweDExLDB4MmMsMHhkMCwweDBhLDB4MzIsMHgyMiwweGRjLDB4YzEsMHg4NywweDAwLDB4NmQgfX0sCi0gezE2LCAweGIxNzAsIDAsIHsweGQwLDB4MDgsMHgzNCwweDAyLDB4N2MsMHgwMCwweGE3LDB4MDgsMHgyNCwweGM4LDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg4MCwweDBmIH19LAotIHsxNiwgMHhiMTgwLCAwLCB7MHgwMCwweDIxLDB4YzQsMHgwOCwweDczLDB4MDYsMHhkYywweDAwLDB4YjIsMHgwMCwweDYxLDB4YzgsMHgwYiwweDNhLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4YjE5MCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwYSwweDAwLDB4NTcsMHg4MSwweDJkLDB4YTAgfX0sCi0gezE2LCAweGIxYTAsIDAsIHsweDJkLDB4N2MsMHgwMiwweDNlLDB4ODIsMHhlMywweGUwLDB4M2IsMHhlMCwweDBjLDB4NzgsMHgwMywweDFlLDB4MjAsMHhjNywweDgwIH19LAotIHsxNiwgMHhiMWIwLCAwLCB7MHhiOSwweGU4LDB4MmMsMHg3OCwweDAzLDB4ZmYsMHg4MCwweGQ2LDB4ODAsMHgzYiwweGVjLDB4MDIsMHg3YSwweDAzLDB4ZGUsMHgwMCB9fSwKLSB7MTYsIDB4YjFjMCwgMCwgezB4ZjcsMHg4MSwweDMxLDB4ZWMsMHg4ZiwweDdjLDB4MDMsMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwMCwweDFlLDB4ODAsMHgyMywweGI2LDB4ODMsMHhlZCwweGEwLDB4ZGIsMHg2NCwweDNlIH19LAotIHsxNiwgMHhiMWUwLCAwLCB7MHhjMCwweDBlLDB4YjAsMHgwMywweGVkLDB4YzAsMHhmMiwweDAwLDB4M2UsMHhkNCwweDBhLDB4YjAsMHgwMywweGVjLDB4MzAsMHhlZSB9fSwKLSB7MTYsIDB4YjFmMCwgMCwgezB4NjQsMHgzZSwweGMwLDB4MDcsMHhiMCwweGMzLDB4ZTgsMHgwMCwweGZiLDB4MDEsMHgzZSwweGM4LDB4MGYsMHhiOCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGIyMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGVmLDB4ODAsMHgzYiwweGUwIH19LAotIHsxNiwgMHhiMjEwLCAwLCB7MHgwZiwweGY4LDB4NjMsMHg3ZSwweDA0LDB4Y2YsMHhjMCwweGI3LDB4MjAsMHgwZSwweGY4LDB4MDMsMHhmYywweDAwLDB4YzcsMHg4MCB9fSwKLSB7MTYsIDB4YjIyMCwgMCwgezB4MzMsMHhmMCwweDBjLDB4Y2MsMHgwMywweGZlLDB4MDgsMHhmNywweGMxLDB4MzMsMHhlMCwweDRmLDB4ZjgsMHgwMywweGIyLDB4NDAgfX0sCi0gezE2LCAweGIyMzAsIDAsIHsweGZmLDB4YTAsMHgzMSwweGU2LDB4MGMsMHhmOCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMjQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGVmLDB4MDIsMHgyMSwweDQwLDB4MmQsMHg3MCwweDAyLDB4MWMsMHgwMCwweGY3LDB4MTAsMHgyOSB9fSwKLSB7MTYsIDB4YjI1MCwgMCwgezB4NDAsMHgwOCwweDcwLDB4MjIsMHhmYywweGMwLDB4YTcsMHgwMCwweDNkLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkYywweDAwLDB4YjcgfX0sCi0gezE2LCAweGIyNjAsIDAsIHsweDQwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRhLDB4ODAsMHhiNywweDI0LDB4MjksMHhjNiwweDQ4LDB4ZjAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhiMjcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhNywweDAwLDB4MjgsMHg4NCB9fSwKLSB7MTYsIDB4YjI4MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweDkzLDB4MDAsMHgyNSwweDgwLDB4MGEsMHg2MSwweDAyLDB4ZGMsMHgwMSwweGE3LDB4MTAgfX0sCi0gezE2LCAweGIyOTAsIDAsIHsweDI0LDB4YzAsMHgwOCwweDQwLDB4ODIsMHhkYywweDAwLDB4OWYsMHgwMCwweDI1LDB4YzQsMHgwYiwweDcwLDB4MDIsMHg5NCwweDI1IH19LAotIHsxNiwgMHhiMmEwLCAwLCB7MHhiNywweDMyLDB4MjMsMHhjNCwweDFiLDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjJiMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MGMsMHhhMywweDAwLDB4MjAsMHgwMCwweDI5LDB4MzAsMHgwYSwweDBjLDB4MDAsMHhhMywweDAwLDB4NmMgfX0sCi0gezE2LCAweGIyYzAsIDAsIHsweDAwLDB4MDgsMHgxMCwweDQyLDB4Y2QsMHgxMCwweGFhLDB4MDAsMHhhYywweGMwLDB4MDAsMHgwNCwweDAyLDB4Y2QsMHgwMCwweGJiIH19LAotIHsxNiwgMHhiMmQwLCAwLCB7MHgxMCwweDI0LDB4YzAsMHgwMywweDMwLDB4NDIsMHhjMywweDA5LDB4YjMsMHgwMCwweDJjLDB4ZDAsMHgwYSwweDMwLDB4MDIsMHgxOCB9fSwKLSB7MTYsIDB4YjJlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4MCwweDAwLDB4ZWYsMHgwMCwweDNhLDB4NDAgfX0sCi0gezE2LCAweGIyZjAsIDAsIHsweDA3LDB4ZjAsMHg0MywweDNjLDB4MDAsMHg5ZiwweGMwLDB4YjYsMHgxNCwweDBlLDB4ODAsMHgwNiwweGZjLDB4MDEsMHhjYiwweDAxIH19LAotIHsxNiwgMHhiMzAwLCAwLCB7MHgzNywweGMwLDB4YWMsMHhiNCwweDAyLDB4ZmMsMHgwMCwweGQ5LDB4MDEsMHgzNywweGMwLDB4NGIsMHhmMCwweDEzLDB4YWUsMHgwOCB9fSwKLSB7MTYsIDB4YjMxMCwgMCwgezB4ZmIsMHgwMCwweDMzLDB4ZDAsMHgyZSwweGYwLDB4MGIsMHgyYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzMjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwNSwweDNlLDB4NDAsMHgwZiwweDMwLDB4MDMsMHhhYywweDE0LDB4ZmIsMHhhMCwweDNhIH19LAotIHsxNiwgMHhiMzMwLCAwLCB7MHhjMCwweDBmLDB4ODQsMHg0MywweGVjLDB4MDEsMHhmOSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YTIsMHgwMywweGVjLDB4MjEsMHhmOSB9fSwKLSB7MTYsIDB4YjM0MCwgMCwgezB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgyMCwweGYwLDB4MDAsMHhiYSwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGIzNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjgsMHgwMCwweGQ3LDB4MDEsMHgzNSwweDY4IH19LAotIHsxNiwgMHhiMzYwLCAwLCB7MHg2ZCwweGYwLDB4MDMsMHgzYywweDAxLDB4ZTcsMHgwMCwweDMzLDB4YzAsMHgwZCwweGMwLDB4MDMsMHhmYywweDI0LDB4Y2YsMHgwMiB9fSwKLSB7MTYsIDB4YjM3MCwgMCwgezB4MzcsMHhjMCwweDBkLDB4ZDIsMHgwMiwweGZjLDB4MDAsMHhkZiwweDAxLDB4MzMsMHhjMCwweDVlLDB4NzAsMHgzMywweDFjLDB4MTggfX0sCi0gezE2LCAweGIzODAsIDAsIHsweGNmLDB4NDEsMHgzMSwweGMyLDB4MGMsMHhmMCwweDAzLDB4NDAsMHg0MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMzkwLCAwLCB7MHg4MSwweDAwLDB4NmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDUyLDB4MmEsMHhiMCwweDAzLDB4NmMsMHgwMCwweGFiLDB4MDAsMHgyOCB9fSwKLSB7MTYsIDB4YjNhMCwgMCwgezB4YzAsMHgwYSwweDhjLDB4MDIsMHhlYywweDEwLDB4OGIsMHhlMCwweDIyLDB4YzAsMHgwZiwweDgwLDB4MDIsMHhjYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGIzYjAsIDAsIHsweDgwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJhLDB4MTAsMHhkOSwweDgwLDB4MjIsMHhjMCwweGM4LDB4YjAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhiM2MwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI0LDB4MDEsMHg5YiwweDAwLDB4MjYsMHg4MCB9fSwKLSB7MTYsIDB4YjNkMCwgMCwgezB4MjksMHhiMCwweDYyLDB4MGMsMHgwMCwweGFiLDB4MDEsMHg2YSwweDAwLDB4MDgsMHg5OCwweDAyLDB4Y2MsMHgwMCwweDliLDB4ODMgfX0sCi0gezE2LCAweGIzZTAsIDAsIHsweDJlLDB4YzAsMHhjYiwweGI0LDB4MTIsMHhlYywweDAzLDB4OGIsMHg4MCwweDI4LDB4YzAsMHgwYSwweGIwLDB4MDYsMHhhMiwweDAwIH19LAotIHsxNiwgMHhiM2YwLCAwLCB7MHg4YiwweDAyLDB4NjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGUwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjQwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDEsMHg4MywweDE0LDB4MjAsMHgwMCwweDBhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmEgfX0sCi0gezE2LCAweGI0MTAsIDAsIHsweDQwLDB4MGEsMHgxMCwweDAwLDB4Y2MsMHgwMiwweDkzLDB4MDAsMHgyOCwweGMwLDB4MGEsMHgyMCwweDAyLDB4ZWMsMHgwMCwweDAzIH19LAotIHsxNiwgMHhiNDIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MTYsMHgwMCwweDgwLDB4OTEsMHgwMCwweDYwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YjQzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZGIsMHgwMCwweDM2LDB4ODAgfX0sCi0gezE2LCAweGI0NDAsIDAsIHsweDJkLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhhZiwweDAwLDB4M2EsMHg4MCwweDBkLDB4ODAsMHgwMywweGZjLDB4MDAsMHg1YiwweDAwIH19LAotIHsxNiwgMHhiNDUwLCAwLCB7MHgzNywweGMwLDB4MDksMHg5MCwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzMywweGMwLDB4MGEsMHhmMCwweDAzLDB4YTQsMHgyMCB9fSwKLSB7MTYsIDB4YjQ2MCwgMCwgezB4Y2IsMHgwMCwweGIzLDB4YzAsMHg4YywweGIwLDB4MDMsMHg0MCwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0NzAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmYsMHgyMCwweDBmLDB4MDAsMHgyNywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDJkIH19LAotIHsxNiwgMHhiNDgwLCAwLCB7MHgwMCwweDBiLDB4ZDAsMHgyNywweGZjLDB4MDAsMHhlZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4YzAsMHg0MywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YjQ5MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDBiLDB4ZTAsMHgwMCwweGY1LDB4MDAsMHgzZiwweGMwLDB4MWYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGI0YTAsIDAsIHsweDA3LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjQsMHhjMCwweGZjLDB4MjIsMHg3ZiwweGMwIH19LAotIHsxNiwgMHhiNGIwLCAwLCB7MHgwYywweGQwLDB4NDMsMHgzNiwweDAwLDB4YzQsMHg4MSwweDM0LDB4YzAsMHgxYywweDg5LDB4MDcsMHhmMiwweDgwLDB4Y2YsMHg4MCB9fSwKLSB7MTYsIDB4YjRjMCwgMCwgezB4MzMsMHg2MCwweDBmLDB4NzksMHgwMywweDNjLDB4ZTAsMHhjZiwweDA4LDB4MzMsMHg0OCwweDBkLDB4YzQsMHgwMywweGYwLDB4NTAgfX0sCi0gezE2LCAweGI0ZDAsIDAsIHsweGRjLDB4OTAsMHgzNywweGNjLDB4MGYsMHhmOCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNGUwLCAwLCB7MHg4MCwweDEwLDB4ZTksMHg5MCwweGI4LDB4ODAsMHg3ZSwweGU0LDB4ODgsMHg5OSwweDBhLDB4MjYsMHgwOCwweGE5LDB4ODAsMHgyMiB9fSwKLSB7MTYsIDB4YjRmMCwgMCwgezB4ZjQsMHgyYywweDk5LDB4MDMsMHhhNywweDAyLDB4ODksMHg4MCwweDIyLDB4MzQsMHgwYiwweDlhLDB4MDMsMHg3ZCwweDAwLDB4ZGYgfX0sCi0gezE2LCAweGI1MDAsIDAsIHsweDQ4LDB4MmIsMHg2MCwweDA4LDB4MDUsMHgwMiwweGU1LDB4MDAsMHg4MiwweDIwLDB4MjIsMHhjNCwweDhiLDB4YjAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhiNTEwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM1LDB4MDAsMHhiMCwweDEwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4YjUyMCwgMCwgezB4MmEsMHgwMCwweDAyLDB4YTQsMHgwOCwweGE4LDB4MDQsMHhlMCwweDgwLDB4MGIsMHgwMCwweDAyLDB4YzQsMHg0MSwweGIyLDB4MDQgfX0sCi0gezE2LCAweGI1MzAsIDAsIHsweGE0LDB4MGEsMHgwYiwweGIwLDB4MDIsMHg4YywweDgxLDB4ODMsMHgyMCwweDYwLDB4NTAsMHg5OCwweDEyLDB4MTIsMHg4YiwweDgwIH19LAotIHsxNiwgMHhiNTQwLCAwLCB7MHg4OSwweDAwLDB4MmMsMHhjOCwweDBiLDB4MzAsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjU1MCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MjAsMHhiYiwweDAyLDB4MmEsMHhjMCwweDBhLDB4ODgsMHgwMiwweGE0LDB4MDgsMHhhOSwweDgwLDB4YTIgfX0sCi0gezE2LCAweGI1NjAsIDAsIHsweGUxLDB4MWIsMHg5YywweDIyLDB4ZTYsMHgwMCwweGI4LDB4NDAsMHgyNiwweDMwLDB4MGIsMHg5MCwweDAyLDB4Y2MsMHgwMSwweDkzIH19LAotIHsxNiwgMHhiNTcwLCAwLCB7MHgwNCwweDJhLDB4NDAsMHgzOSwweDk4LDB4ODIsMHhlYywweDE0LDB4OGIsMHg2NSwweDJhLDB4YzAsMHgwYiwweGIyLDB4MDIsMHhmOCB9fSwKLSB7MTYsIDB4YjU4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlNywweDAwLDB4YjgsMHg0OCwweDJlLDB4MDAgfX0sCi0gezE2LCAweGI1OTAsIDAsIHsweDBlLDB4ODgsMHg0MywweDg0LDB4MDAsMHhlMywweGMxLDB4MzYsMHhlOCwweDBmLDB4OWMsMHgxMiwweGUyLDB4ODAsMHhmMywweGMwIH19LAotIHsxNiwgMHhiNWEwLCAwLCB7MHgzNiwweDcwLDB4NWYsMHhhOCwweDIzLDB4YWMsMHgwMSwweGNiLDB4MDQsMHgyMiwweDQwLDB4NGQsMHg4NCwweDAzLDB4ZTIsMHgwMCB9fSwKLSB7MTYsIDB4YjViMCwgMCwgezB4ZDgsMHgwMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1YzAsIDAsIHsweGUwLDB4MDEsMHhiMywweDA5LDB4ZmUsMHgxMCwweDNlLDB4ODEsMHgwZCwweGMwLDB4MDMsMHg3NCwweDBjLDB4ZmYsMHgwMCwweDNkIH19LAotIHsxNiwgMHhiNWQwLCAwLCB7MHhjMSwweDhjLDB4ZDAsMHg4MywweDE0LDB4MDAsMHhjZCwweDIwLDB4M2EsMHg0MCwweDBkLDB4Y2EsMHgwMSwweDdjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YjVlMCwgMCwgezB4MDAsMHgxZiwweDQwLDB4MGUsMHhjMCwweDIzLDB4ZjIsMHg0NiwweGZlLDB4ODQsMHgzNywweGMwLDB4MGYsMHhkOCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGI1ZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGRkLDB4MDIsMHgzZCwweDQwIH19LAotIHsxNiwgMHhiNjAwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHhhYywweDAwLDB4ZWIsMHg0OCwweDNlLDB4ZDAsMHgwYywweDgwLDB4NjMsMHhhMiwweDA4LDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YjYxMCwgMCwgezB4MzIsMHgwOCwweDBjLDB4YjAsMHgwMywweGFjLDB4MDgsMHhlYiwweDAwLDB4M2UsMHg0MCwweDBjLDB4ZDQsMHg4MywweDU4LDB4MjAgfX0sCi0gezE2LCAweGI2MjAsIDAsIHsweGY5LDB4NDIsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNjMwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwMiwweGRiLDB4MDAsMHgyZSwweGUwLDB4MjgsMHgzYSwweDAyLDB4MmUsMHgwMCwweGRiLDB4NjAsMHg3NiB9fSwKLSB7MTYsIDB4YjY0MCwgMCwgezB4ZTAsMHgwZCwweDhjLDB4MDIsMHhlMCwweDAwLDB4ODgsMHgwMiwweDM2LDB4NTgsMHg2OCwweDE1LDB4ODMsMHg3YywweDA4LDB4YmYgfX0sCi0gezE2LCAweGI2NTAsIDAsIHsweDAwLDB4MmQsMHg2MCwweDA4LDB4OTAsMHgwMiwweGE5LDB4MDAsMHhiMywweDA1LDB4MjMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhiNjYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTAsMHg4MCwweDAwLDB4MGMsMHhjMSB9fSwKLSB7MTYsIDB4YjY3MCwgMCwgezB4MDgsMHgxYywweDgyLDB4MDYsMHgwMCwweDkzLDB4YzAsMHgyMCwweGY2LDB4MGEsMHgyMCwweDAyLDB4MDgsMHgwMCwweDkzLDB4MDAgfX0sCi0gezE2LCAweGI2ODAsIDAsIHsweDI0LDB4NjAsMHgwOSwweDNjLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDJjLDB4NjAsMHgwOSwweDAxLDB4MTIsMHgwMCwweDQwIH19LAotIHsxNiwgMHhiNjkwLCAwLCB7MHhiMCwweDAwLDB4ZTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDcwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjZhMCwgMCwgezB4MjAsMHg0MSwweDBhLDB4NDAsMHg4NiwweDgxLDB4MmQsMHhlMCwweDU4LDB4MTgsMHgwYSwweDE2LDB4YTAsMHg5NywweDgwLDB4MjUgfX0sCi0gezE2LCAweGI2YjAsIDAsIHsweGU5LDB4MTksMHg3OCwweDgyLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgyNSwweGEwLDB4MTksMHhmOCwweDAyLDB4NWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHhiNmMwLCAwLCB7MHg4MCwweDJkLDB4NjAsMHgyOCwweDQ4LDB4MTIsMHg5NiwweDAwLDB4YjQsMHg4MCwweDIxLDB4ZTAsMHgyOCwweDc4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YjZkMCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODEsMHgzMCwweDNjLDB4YzIgfX0sCi0gezE2LCAweGI2ZTAsIDAsIHsweDBlLDB4MDAsMHgwMiwweDg0LDB4MDAsMHhlMywweDQwLDB4MjgsMHhlOCwweDRjLDB4MjksMHgwMywweDBjLDB4MDAsMHhkMywweDAwIH19LAotIHsxNiwgMHhiNmYwLCAwLCB7MHgzNCwweGM0LDB4MGQsMHgzMSwweDAzLDB4OGMsMHgwOCwweGUzLDB4MDAsMHgzYywweDQ2LDB4MGMsMHgyMCwweDAzLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4YjcwMCwgMCwgezB4ZjIsMHgwMCwweDMyLDB4YzAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3MTAsIDAsIHsweDQwLDB4MTksMHhiOCwweDAwLDB4ZmYsMHgxMCwweDJmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhjNCwweDgwLDB4N2YsMHgxMCwweDNlIH19LAotIHsxNiwgMHhiNzIwLCAwLCB7MHhjMCwweDBmLDB4YjEsMHgwMywweGRjLDB4MDAsMHhlNywweDAwLDB4M2YsMHg4MCwweDA2LDB4ZjEsMHg0MywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YjczMCwgMCwgezB4MDgsMHg3ZCwweDUwLDB4MGUsMHhlMSwweDIzLDB4YjQsMHgwOCwweGZlLDB4MTAsMHgzZiwweGM0LDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGI3NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMiwweGNjLDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiNzUwLCAwLCB7MHgyYywweGMwLDB4MDMsMHgwNCwweDAxLDB4Y2IsMHgwMCwweDMzLDB4NjAsMHgyYywweDkwLDB4MTMsMHhlOCwweDAwLDB4NzMsMHgwMCB9fSwKLSB7MTYsIDB4Yjc2MCwgMCwgezB4YjIsMHhjMSwweDBmLDB4YTAsMHgwMywweGVjLDB4ODAsMHhmYiwweDI4LDB4M2UsMHg1NCwweDFmLDB4ZDAsMHgwMywweGZlLDB4MDIgfX0sCi0gezE2LCAweGI3NzAsIDAsIHsweGM5LDB4ODAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4Y2EsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNzgwLCAwLCB7MHg0OCwweDExLDB4ODAsMHgwMCwweDg2LDB4MDAsMHgyZCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MTQsMHgwOCwweDg3LDB4MDAsMHgyOSB9fSwKLSB7MTYsIDB4Yjc5MCwgMCwgezB4NDAsMHgwOCwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDIsMHg1YywweGEwLDB4OTcgfX0sCi0gezE2LCAweGI3YTAsIDAsIHsweDIwLDB4MmQsMHg0OCwweDBiLDB4NTAsMHgwMiwweGRjLDB4MTAsMHg4ZCwweDAwLDB4MjEsMHhjOCwweDBiLDB4NzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHhiN2IwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlmLDB4MDAsMHg4NSwweDgxLDB4MmMsMHg2MCB9fSwKLSB7MTYsIDB4YjdjMCwgMCwgezB4MTgsMHg1OCwweDAyLDB4ZGUsMHgyMCwweGI3LDB4ODIsMHgyOCwweDYwLDB4NWEsMHg3OCwweDUyLDB4ZGUsMHgxMCwweGJmLDB4ODAgfX0sCi0gezE2LCAweGI3ZDAsIDAsIHsweDIxLDB4ZTAsMHg0YiwweDc4LDB4MDYsMHhkZSwweDQwLDB4YjcsMHhhMCwweDJkLDB4NjksMHg5YiwweDc4LDB4MTIsMHhjZSwweDAwIH19LAotIHsxNiwgMHhiN2UwLCAwLCB7MHg4NywweDgwLDB4ZTEsMHhlNCwweDBiLDB4NzgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjdmMCwgMCwgezB4NDgsMHgxNCwweGVlLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMiwweDA4LDB4MzYsMHgwMiwweDhjLDB4MDgsMHg4MywweGYwLDB4NjggfX0sCi0gezE2LCAweGI4MDAsIDAsIHsweDQwLDB4MGEsMHgzZSwweDAyLDB4Y2QsMHg0MCwweGIzLDB4MDAsMHgyMCwweGUwLDB4MGIsMHgzMiwweDA2LDB4NGMsMHgwMCwweDliIH19LAotIHsxNiwgMHhiODEwLCAwLCB7MHgwMCwweDBjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDgwLDB4ODMsMHgwOCwweDIwLDB4YzAsMHgwYiwweGIxLDB4MDIsMHhkYSB9fSwKLSB7MTYsIDB4YjgyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4Y2UsMHgwOCwweDNmLDB4YjAgfX0sCi0gezE2LCAweGI4MzAsIDAsIHsweDBjLDB4ZTQsMHgyMywweGRhLDB4MDIsMHhkZSwweDQwLDB4YmIsMHhiMiwweDBlLDB4ZTIsMHg0MywweGZhLDB4MDAsMHhmZSwweDAwIH19LAotIHsxNiwgMHhiODQwLCAwLCB7MHgzMywweDkwLDB4MGIsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgxLDB4MGIsMHhlMCwweDEzLDB4ZjksMHgwOCB9fSwKLSB7MTYsIDB4Yjg1MCwgMCwgezB4Y2UsMHg0MCwweDMyLDB4ODAsMHgwZiwweGE4LDB4MDMsMHhmYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4NjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDI0LDB4OTgsMHgwOCwweDNjLDB4MDQsMHgwZiwweDAwLDB4MGIsMHg2MCwweDAwLDB4ZjgsMHg0MCwweDJlIH19LAotIHsxNiwgMHhiODcwLCAwLCB7MHgwMywweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNiwweDBiLDB4ODAsMHgwMywweGUwLDB4MDAsMHhkOCB9fSwKLSB7MTYsIDB4Yjg4MCwgMCwgezB4MDAsMHgzYywweDAwLDB4MDMsMHg4YywweDIzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHg3ZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGI4OTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhiOGEwLCAwLCB7MHg4YywweDkwLDB4MDMsMHgyNSwweDAwLDB4ZTksMHg4MCwweDMyLDB4NDQsMHgwZiwweDk0LDB4MDIsMHhlNCwweDIwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4YjhiMCwgMCwgezB4MzIsMHg3MCwweDBmLDB4OWEsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4MTAsMHgzMywweDI0LDB4MTAgfX0sCi0gezE2LCAweGI4YzAsIDAsIHsweGY5LDB4MDEsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOGQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODIsMHgyZSwweDQwLDB4MjgsMHg5MCwweDAyLDB4MjQsMHg4MiwweDgxLDB4YzAsMHhhMiB9fSwKLSB7MTYsIDB4YjhlMCwgMCwgezB4NzAsMHgwYiwweDljLDB4MDIsMHhlNCwweDAwLDB4MzEsMHg0MiwweGEyLDB4NjAsMHgwYiwweDk0LDB4ODIsMHhlNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGI4ZjAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDA4LDB4OTQsMHhhMiwweDI1LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhiOTAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDY0LDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YjkxMCwgMCwgezB4MDgsMHg5MCwweDQyLDB4YTQsMHgwMCwweDg5LDB4NjAsMHgyMiwweDQyLDB4MGIsMHg5MCwweDAyLDB4ZTYsMHgwMCwweGI5LDB4ODAgfX0sCi0gezE2LCAweGI5MjAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDA0IH19LAotIHsxNiwgMHhiOTMwLCAwLCB7MHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjk0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4ODAsMHg4MSwweDAwLDB4MmMsMHhjMSwweDQ4LDB4MTAsMHgwMiwweGE0LDB4MDIsMHg4MSwweDAwLDB4MjAgfX0sCi0gezE2LCAweGI5NTAsIDAsIHsweDQwLDB4ODMsMHgzNCwweDAyLDB4YzQsMHgwMCwweGJiLDB4MDAsMHgyMCwweGQwLDB4MGIsMHgxNCwweDAyLDB4YzQsMHg4MCwweGIxIH19LAotIHsxNiwgMHhiOTYwLCAwLCB7MHgyMCwweGEwLDB4NjgsMHgxOCwweDE0LDB4MWEsMHgwZCwweDAwLDB4YjEsMHg0MCwweDJjLDB4NTAsMHgwYiwweDEwLDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4Yjk3MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGI5ODAsIDAsIHsweDhjLDB4ODAsMHgwYiwweGEwLDB4MDQsMHhlOCwweDAwLDB4MzIsMHgwMCwweDA3LDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHhiOTkwLCAwLCB7MHgzMiwweDAwLDB4MWYsMHg4MCwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4YjlhMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5YjAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQ2LDB4ZmQsMHg0MCwweDNmLDB4NTAsMHgyMywweGQ0LDB4MTMsMHg3NCwweDA0LDB4ZjUsMHgwMiwweDNmIH19LAotIHsxNiwgMHhiOWMwLCAwLCB7MHg1MCwweDBmLDB4ZDQsMHgwMywweGZkLDB4MDAsMHhiZCwweDAwLDB4MmYsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmOSB9fSwKLSB7MTYsIDB4YjlkMCwgMCwgezB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkNCwweDAzLDB4ZjUsMHgwOCwweGZkLDB4MDYsMHgzZSwweDUwLDB4MGYsMHhkMiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGI5ZTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg0MCwweGVkLDB4MDQsMHgzZSwweDQ4IH19LAotIHsxNiwgMHhiOWYwLCAwLCB7MHgwYywweGIyLDB4ODMsMHhmNCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHg4YywweGQwLDB4MDMsMHgzNCwweDAwLDB4ZmQsMHgwMCB9fSwKLSB7MTYsIDB4YmEwMCwgMCwgezB4MzcsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU2LDB4MjAsMHhmOSwweDg4LDB4M2QsMHg2MiwweDBjLDB4ZDgsMHgwMywweGZlLDB4MjQgfX0sCi0gezE2LCAweGJhMTAsIDAsIHsweGMxLDB4MDAsMHgzZSwweDc4LDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYTIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweDg4LDB4NDAsMHgyZSwweDEwLDB4MDgsMHhjNCwweDIzLDB4YTAsMHgwOCwweDg4LDB4MDYsMHgyYSB9fSwKLSB7MTYsIDB4YmEzMCwgMCwgezB4MTQsMHgwOCwweDgwLDB4MDMsMHg2MCwweDA0LDB4YjgsMHgwMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhlMiwweDAwLDB4YjggfX0sCi0gezE2LCAweGJhNDAsIDAsIHsweDgwLDB4MmUsMHgwMCwweDA4LDB4OGMsMHgwMiwweGUzLDB4ODAsMHg4OCwweDAyLDB4MmUsMHgzOCwweDBiLDB4ODgsMHgwMiwweDBlIH19LAotIHsxNiwgMHhiYTUwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4ODAsMHhhMSwweGMwLDB4MmQsMHg3MCB9fSwKLSB7MTYsIDB4YmE2MCwgMCwgezB4MDgsMHg1MCwweDQyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMCwweGUwLDB4MmEsMHgxMCwweDBhLDB4MDQsMHgxMCwweGIxLDB4MDAgfX0sCi0gezE2LCAweGJhNzAsIDAsIHsweDI0LDB4NDAsMHg0YiwweDEwLDB4MDYsMHhjNCwweDIwLDB4YjEsMHgwOCwweDZlLDB4NDAsMHgwYiwweDE2LDB4ODIsMHhjNCwweDIwIH19LAotIHsxNiwgMHhiYTgwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg1MCwweDBiLDB4OTIsMHg4MiwweDUyLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmE5MCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHhhOSwweDAxLDB4MmUsMHg0MCwweDI4LDB4ZDAsMHgyMCwweGE0LDB4MDQsMHhhOSwweDAwLDB4MmEgfX0sCi0gezE2LCAweGJhYTAsIDAsIHsweDQwLDB4MWEsMHhiMCwweDEyLDB4MjQsMHgwMCwweGI5LDB4MGMsMHgyMiwweDQyLDB4MGIsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhiYWIwLCAwLCB7MHgwMCwweDZlLDB4NDAsMHgwYiwweDk2LDB4MDIsMHhlNCwweDExLDB4ODksMHgyMCwweDZlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4YmFjMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweGMwLDB4YTksMHhjMCwweDNlLDB4NTAgfX0sCi0gezE2LCAweGJhZDAsIDAsIHsweDA4LDB4OWMsMHg4MywweGU0LDB4MDIsMHhlOSwweDAwLDB4YjIsMHg0MCwweDJhLDB4OTIsMHgxMiwweDI2LDB4NDAsMHhmOSwweDQwIH19LAotIHsxNiwgMHhiYWUwLCAwLCB7MHgzNiwweDcwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwNCwweGY5LDB4MDEsMHgzYywweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTYsMHgwMiB9fSwKLSB7MTYsIDB4YmFmMCwgMCwgezB4YzksMHgyMiwweDNlLDB4NDAsMHgwZiwweDEwLDB4MDIsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiMDAsIDAsIHsweDI4LDB4MDEsMHg4NiwweDA0LDB4ZDksMHg0MCwweDFjLDB4NDAsMHgwZiwweDkyLDB4MjMsMHhhNCwweGIwLDB4ZGIsMHgwNCwweDNjIH19LAotIHsxNiwgMHhiYjEwLCAwLCB7MHhjMCwweDBkLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0NCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YmIyMCwgMCwgezB4MDAsMHgzZSwweDQyLDB4MmMsMHg5MCwweDIzLDB4ZTQsMHg4MCwweGY5LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MiwweDAzLDB4OTIgfX0sCi0gezE2LCAweGJiMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MjAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhiYjQwLCAwLCB7MHg0YywweGMwLDB4OGIsMHgyMCwweDAyLDB4YzgsMHgzMSwweDMyLDB4MjAsMHgyZCwweDg0LDB4MDMsMHhlMSwweDA0LDB4ZjgsMHg0OCB9fSwKLSB7MTYsIDB4YmI1MCwgMCwgezB4YmEsMHgwMCwweDBmLDB4ODksMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBkLDB4ODEsMHgxMywweDIwLDB4MTAgfX0sCi0gezE2LCAweGJiNjAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MGYsMHg4MSwweDIzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYjcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDBlLDB4NDAsMHgyMiwweDgwLDB4MjgsMHhhNCwweDAyLDB4MTksMHgwMCwweDUyLDB4ODAsMHhhMiB9fSwKLSB7MTYsIDB4YmI4MCwgMCwgezB4ODAsMHg0ZCwweGVkLDB4ODIsMHhlOCwweDAwLDB4YjYsMHg0MiwweDIzLDB4YmQsMHgwYiwweGU4LDB4MDIsMHhlOCwweDA0LDB4ZGEgfX0sCi0gezE2LCAweGJiOTAsIDAsIHsweDAwLDB4MzcsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDNhLDB4MjAsMHhiYSwweDAwLDB4MjIsMHg4MCwweDBiLDB4YTgsMHgwYSwweDBhIH19LAotIHsxNiwgMHhiYmEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDgwLDB4NjAsMHhjMCB9fSwKLSB7MTYsIDB4YmJiMCwgMCwgezB4MDgsMHgyOSwweDAyLDB4MGQsMHgwMCwweDkyLDB4NDAsMHgyNCwweGMwLDB4MDgsMHhiNCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGJiYzAsIDAsIHsweDY4LDB4ZTAsMHgxYiwweDMwLDB4MDIsMHhjYywweDAwLDB4OTMsMHgwMSwweDI0LDB4YzAsMHg2OSwweDM4LDB4MDIsMHg2YywweDAwIH19LAotIHsxNiwgMHhiYmQwLCAwLCB7MHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmJlMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHg4MywweGMwLDB4MjAsMHg0MCwweDA4LDB4MjgsMHgwNiwweDljLDB4MTgsMHg5YywweDAyLDB4MjQgfX0sCi0gezE2LCAweGJiZjAsIDAsIHsweGMwLDB4MDksMHg3MCwweDAyLDB4ZDQsMHgwMCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4Y2UsMHg0MCwweDk3IH19LAotIHsxNiwgMHhiYzAwLCAwLCB7MHhiMCwweDI1LDB4NDAsMHgwOCwweDc4LDB4MWEsMHg1OCwweDAwLDB4YmYsMHhhMiwweDY1LDB4YzgsMHgwYiwweDc4LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YmMxMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwZSwweDAyLDB4ODcsMHg4MCwweGIxLDB4YTAgfX0sCi0gezE2LCAweGJjMjAsIDAsIHsweDBjLDB4NjgsMHgwMywweDFhLDB4MDgsMHhkNiwweDkyLDB4MzUsMHhlNCwweDI4LDB4NzgsMHg0MiwweGQ2LDB4MTAsMHhmNSwweDgwIH19LAotIHsxNiwgMHhiYzMwLCAwLCB7MHgzOSwweGEwLDB4MGYsMHg3OCwweDIzLDB4ZGUsMHgzMCwweGQzLDB4YTIsMHgzNSwweGEwLDB4NGQsMHhlOCwweDAzLDB4NWUsMHgwMCB9fSwKLSB7MTYsIDB4YmM0MCwgMCwgezB4ZjcsMHhkMCwweDNkLDB4ZjgsMHgwZiwweGYwLDB4MDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjNTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4MDAsMHgwYiwweGEwLDB4MDMsMHg0OCwweDA0LDB4ZmEsMHg0MSwweDNhIH19LAotIHsxNiwgMHhiYzYwLCAwLCB7MHg1MCwweDBmLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVkLDB4ODgsMHhmYiB9fSwKLSB7MTYsIDB4YmM3MCwgMCwgezB4NGQsMHgzZSwweDAwLDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwOCwweGZiLDB4MjAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGJjODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGRjLDB4ODAsMHhiMywweGUwIH19LAotIHsxNiwgMHhiYzkwLCAwLCB7MHgwYywweGQ4LDB4MDMsMHhjZSwweDAwLDB4YzgsMHhhMCwweDMxLDB4YTAsMHg4ZCwweGU5LDB4MDMsMHhiZSwweDAwLDB4YjIsMHg4MCB9fSwKLSB7MTYsIDB4YmNhMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZTgsMHg0MywweDdlLDB4MDQsMHgwZiwweDgxLDB4MzEsMHhlNCwweDBjLDB4ZDgsMHgwMywweGY2LDB4MDAgfX0sCi0gezE2LCAweGJjYjAsIDAsIHsweGZmLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiY2MwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI0LDB4NDAsMHgzNSwweDQwLDB4MDgsMHg1MCwweDgyLDB4ZGUsMHg4MCwweGQ0LDB4OTAsMHgyMSB9fSwKLSB7MTYsIDB4YmNkMCwgMCwgezB4ZTAsMHgwZCwweDUxLDB4MDIsMHhkNCwweDQwLDB4YjYsMHhiMCwweDJiLDB4OTAsMHgwZSwweGU1LDB4MDIsMHg5YywweDQwLDB4ZDcgfX0sCi0gezE2LCAweGJjZTAsIDAsIHsweDIyLDB4MTksMHg1YywweDBkLDB4NzAsMHgwMiwweGQ4LDB4MDAsMHhiNywweDIwLDB4MmQsMHhjMCwweDBiLDB4ZjAsMHgwMywweDZhIH19LAotIHsxNiwgMHhiY2YwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg5MywweDEwLDB4MjEsMHg4MCB9fSwKLSB7MTYsIDB4YmQwMCwgMCwgezB4MDgsMHg1OCwweDAyLDB4ZGMsMHhjMCwweDk0LDB4MDAsMHgyMywweGQwLDB4MDgsMHg3MCwweGEwLDB4ZDQsMHgyMCwweGI1LDB4MDIgfX0sCi0gezE2LCAweGJkMTAsIDAsIHsweDI5LDB4ODAsMHgwOSwweDYwLDB4ODIsMHgwYywweDAwLDB4ODcsMHgwMiwweDI1LDB4YzAsMHgxOSwweDQwLDB4MDIsMHhkNCwweDAwIH19LAotIHsxNiwgMHhiZDIwLCAwLCB7MHhiNywweDAwLDB4NmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQzMCwgMCwgezB4MjAsMHgxNCwweGVjLDB4MDAsMHhiMywweGMwLDB4MjAsMHgwMSwweDQ4LDB4MTgsMHgwMiwweGNjLDB4MDIsMHg4MSwweDQ0LDB4YTAgfX0sCi0gezE2LCAweGJkNDAsIDAsIHsweGMwLDB4ODksMHgzOCwweDAyLDB4YzcsMHg4MCwweGIxLDB4MDAsMHgyYywweDA5LDB4NGEsMHgwMCwweDYyLDB4YWMsMHgwOSwweDkzIH19LAotIHsxNiwgMHhiZDUwLCAwLCB7MHgwMSwweDI4LDB4NDAsMHgxOSwweDMwLDB4MDIsMHhjZCwweDEwLDB4YjMsMHg5MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YmQ2MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDIwLDB4ZGIsMHg2MiwweDIyLDB4ZTAgfX0sCi0gezE2LCAweGJkNzAsIDAsIHsweDZjLDB4YTAsMHgwMywweGU0LDB4MDAsMHg5OCwweDAwLDB4MzIsMHhjMCwweGVjLDB4OTgsMHgyMywweGFlLDB4MDgsMHhmYiwweDA4IH19LAotIHsxNiwgMHhiZDgwLCAwLCB7MHgzYSwweDc4LDB4MDksMHg5MCwweDAzLDB4N2MsMHgxMCwweGNmLDB4MDAsMHgyNiwweDQwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YmQ5MCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDIwLDB4ZmIsMHg0OCwweDNjLDB4NjEsMHgwZiwweGEwLDB4NDMsMHhlZCwweDAwLDB4ZjgsMHgyNCwweDNlIH19LAotIHsxNiwgMHhiZGIwLCAwLCB7MHg1MCwweDBmLDB4OTAsMHg4MywweGU0LDB4MDAsMHhmYiwweDAwLDB4M2EsMHg1MCwweDBmLDB4ODAsMHg0MywweGVjLDB4MDgsMHhmYiB9fSwKLSB7MTYsIDB4YmRjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg0MCwweDAzLDB4ZjAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMxLDB4MGYsMHg5MCwweDAzLDB4NjAgfX0sCi0gezE2LCAweGJkZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGRkLDB4YTAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhiZGUwLCAwLCB7MHgwYywweGUwLDB4MDEsMHhmYywweDAwLDB4ZGMsMHg5MSwweDM5LDB4YzAsMHgzYywweDQwLDB4MDMsMHgzNCwweDAwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4YmRmMCwgMCwgezB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwNywweGZjLDB4MDAsMHhjYiwweDAwLDB4M2QsMHg0MCwweDBjLDB4ZTAsMHgwMywweDM4LDB4MjAgfX0sCi0gezE2LCAweGJlMDAsIDAsIHsweGNmLDB4MDIsMHgzZCwweGMwLDB4MGMsMHhkMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZTEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDAxLDB4NDAsMHgyMiwweDAwLDB4MjgsMHhhMCwweDAyLDB4Y2UsMHg4NiwweDgzLDB4NjQsMHgyMiB9fSwKLSB7MTYsIDB4YmUyMCwgMCwgezB4ZjQsMHgwOCwweDhjLDB4MGYsMHg2NCwweDAwLDB4YmIsMHgxMCwweDJlLDB4NjAsMHgwYiwweDljLDB4MDMsMHhhYywweDAxLDB4ZGIgfX0sCi0gezE2LCAweGJlMzAsIDAsIHsweDAwLDB4M2UsMHg2MCwweDA4LDB4OGYsMHgwMiwweDIzLDB4NDAsMHg4YiwweDAwLDB4M2EsMHhjMCwweDBkLDB4MTAsMHg0MywweDY4IH19LAotIHsxNiwgMHhiZTQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5OSwweDAwLDB4YTIsMHhjMCB9fSwKLSB7MTYsIDB4YmU1MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4YTYsMHgwNywweDk4LDB4MDAsMHgwMiwweGMyLDB4NDgsMHg4OCwweDAyLDB4MmMsMHgwMCwweGJhLDB4MDIgfX0sCi0gezE2LCAweGJlNjAsIDAsIHsweDZlLDB4NjAsMHgwYSwweDk4LDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMSwweDJlLDB4NjAsMHgwOCwweDkwLDB4MDIsMHgwNSwweDAwIH19LAotIHsxNiwgMHhiZTcwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjEsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmU4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHg4MSwweDAwLDB4MjAsMHg0MCwweDI4LDB4MTAsMHgyNiwweGNjLDB4ODAsMHg4MCwweDIwLDB4YTAgfX0sCi0gezE2LCAweGJlOTAsIDAsIHsweGNjLDB4MTgsMHgxNCwweDQyLDB4MDQsMHgwMCwweGIyLDB4MjAsMHg2YywweDQwLDB4MGIsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgzIH19LAotIHsxNiwgMHhiZWEwLCAwLCB7MHgwMCwweDI4LDB4NDAsMHgyOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOSwweGIwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4YmViMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZDksMHgwMCwweDIyLDB4ODAgfX0sCi0gezE2LCAweGJlYzAsIDAsIHsweDBjLDB4OTAsMHgwMywweGFjLDB4ODAsMHhkYSwweDI5LDB4MmEsMHhkMiwweDI4LDB4ODAsMHgwMiwweDI0LDB4MDAsMHhmYiwweDIwIH19LAotIHsxNiwgMHhiZWQwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg5MCwweDAyLDB4ZmMsMHgwMCwweDhmLDB4MDAsMHgyZSwweDQwLDB4MGMsMHg4MCwweDBiLDB4MjAsMHgwMiB9fSwKLSB7MTYsIDB4YmVlMCwgMCwgezB4Y2YsMHgwMCwweDNlLDB4YzAsMHgwYywweGIwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4NjMsMHhmYywweDQ5LDB4ZjUsMHgwMCwweDNlIH19LAotIHsxNiwgMHhiZjAwLCAwLCB7MHhjMCwweDBiLDB4YzAsMHgwMSwweGY0LDB4MDAsMHg3ZiwweDQwLDB4M2YsMHg0MCwweDFmLDB4ZDAsMHgwMywweGJjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YmYxMCwgMCwgezB4MDAsMHgzZiwweDQwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGJmMjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjIsMHg0MCwweGVjLDB4YTAsMHgzZiwweGUwIH19LAotIHsxNiwgMHhiZjMwLCAwLCB7MHgwZCwweDQ4LDB4MDMsMHg3ZCwweDgwLDB4ZjQsMHg4MCwweDMzLDB4NmMsMHgwZSwweGM4LDB4MDMsMHgzMiwweDAwLDB4ZGQsMHg5MCB9fSwKLSB7MTYsIDB4YmY0MCwgMCwgezB4M2IsMHhhMCwweDJkLDB4ZjAsMHgwMywweGZjLDB4YzAsMHhmZiwweDAwLDB4M2IsMHhlMCwweDhlLDB4ZjAsMHgwMywweDNjLDB4MDQgfX0sCi0gezE2LCAweGJmNTAsIDAsIHsweGVjLDB4NjAsMHgzMSwweDAwLDB4MGMsMHhmMCwweDAzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZjYwLCAwLCB7MHg4MCwweDEwLDB4ZWMsMHgwMCwweGQ5LDB4YzEsMHgyZSwweGUxLDB4MGQsMHg4OCwweDAyLDB4M2MsMHg4MCwweGY4LDB4ODAsMHgzNiB9fSwKLSB7MTYsIDB4YmY3MCwgMCwgezB4N2QsMHgxOCwweGEwLDB4MDIsMHgyOCwweGIwLDB4ZWEsMHgyMCwweDIyLDB4MjAsMHgwOCwweDc3LDB4MDIsMHhmZCwweDUwLDB4YmIgfX0sCi0gezE2LCAweGJmODAsIDAsIHsweDgwLDB4MjIsMHg0MCwweDBiLDB4ZjQsMHg0MiwweDNkLDB4ODAsMHg4OCwweDMxLDB4MjIsMHgxMiwweDA4LDB4ZjYsMHgwMiwweGUwIH19LAotIHsxNiwgMHhiZjkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg4MCwweDExLDB4MmUsMHhjMSB9fSwKLSB7MTYsIDB4YmZhMCwgMCwgezB4MDgsMHgwMCwweDAyLDB4NGQsMHg4MCwweGI4LDB4MDAsMHgyMCwweDAwLDB4MGEsMHgwMiwweDgyLDB4MDAsMHgwMCwweDk5LDB4MjAgfX0sCi0gezE2LCAweGJmYjAsIDAsIHsweDIyLDB4YzAsMHgwOSwweDMwLDB4ODIsMHhjYywweDAwLDB4YjMsMHgwMCwweDI4LDB4Y2EsMHgwYiwweDM0LDB4ODIsMHgwZCwweDIwIH19LAotIHsxNiwgMHhiZmMwLCAwLCB7MHg4MCwweDAwLDB4YTAsMHg4YywweDA4LDB4MzQsMHg4MiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmZkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4NDAsMHg5OSwweDgwLDB4MmUsMHhjMiwweDA5LDB4OTQsMHgwMiwweDJjLDB4MDAsMHhhOSwweDgwLDB4MjYgfX0sCi0gezE2LCAweGJmZTAsIDAsIHsweDYwLDB4MDgsMHgzOCwweDQyLDB4MjIsMHgyMCwweGJhLDB4NDEsMHg2MiwweDQ2LDB4M2IsMHhiMCwweDAyLDB4ZWMsMHgwMSwweGJiIH19LAotIHsxNiwgMHhiZmYwLCAwLCB7MHg4MCwweDIyLDB4NDAsMHgwYiwweGIwLDB4NDYsMHgwYywweDE4LDB4ODgsMHhjMCwweDIyLDB4MjIsMHgwOCwweGIwLDB4MDYsMHhmMCB9fSwKLSB7MTYsIDB4YzAwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhjYywweDAwLDB4YzksMHg4MSwweDNjLDB4YzEgfX0sCi0gezE2LCAweGMwMTAsIDAsIHsweDBjLDB4YTksMHgyMywweDZjLDB4MDAsMHhiMiwweDgwLDB4MzIsMHg3OCwweDBhLDB4OGEsMHgwYiwweDI2LDB4MDAsMHg5OSwweDAxIH19LAotIHsxNiwgMHhjMDIwLCAwLCB7MHgzMCwweGUwLDB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGI5LDB4MDAsMHgzYSwweGMwLDB4MWUsMHhiMCwweDAzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YzAzMCwgMCwgezB4Y2IsMHg4MCwweDMyLDB4NjEsMHgwYywweGIwLDB4MTMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDEwLDB4ZGQsMHgwMCwweDNmLDB4YzIsMHgwZiwweGU4LDB4MDMsMHhhYywweDAwLDB4ZmUsMHgwMCwweDNkIH19LAotIHsxNiwgMHhjMDUwLCAwLCB7MHg0MCwweDBmLDB4YzAsMHg0MywweGY4LDB4MTAsMHhlZiwweDE0LDB4YjcsMHhlMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmNSB9fSwKLSB7MTYsIDB4YzA2MCwgMCwgezB4MDIsMHgzZiwweDQ0LDB4NGYsMHhiMCwweDRiLDB4ZmMsMHgwMiwweGQ0LDB4MDQsMHgzZCwweDQwLDB4MmYsMHhmMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGMwNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4MDgsMHgzZSwweDYwIH19LAotIHsxNiwgMHhjMDgwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhhYywweDAwLDB4ZTgsMHg1MCwweDMyLDB4MDAsMHgwYywweDg0LDB4MDMsMHhhNSwweDAwLDB4ZTksMHgwMCB9fSwKLSB7MTYsIDB4YzA5MCwgMCwgezB4M2EsMHhkOCwweDBmLDB4YjAsMHgwMywweDJjLDB4MDAsMHhmOSwweDAwLDB4M2EsMHhjMCwweDBmLDB4MzAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGMwYTAsIDAsIHsweGNiLDB4NDQsMHgzZSwweGQ0LDB4MGUsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMGIwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwOCwweGI5LDB4ODAsMHgyZSwweGMwLDB4MGEsMHgzMCwweDQyLDB4M2MsMHgwMCwweDg5LDB4MDQsMHg3NiB9fSwKLSB7MTYsIDB4YzBjMCwgMCwgezB4NjAsMHgwOCwweDkwLDB4NjIsMHgyMCwweDAwLDB4ODIsMHgwNCwweDIyLDB4ZDAsMHgwOCwweGYwLDB4NDMsMHg3YywweDAwLDB4YmIgfX0sCi0gezE2LCAweGMwZDAsIDAsIHsweDgyLDB4MjIsMHg0MCwweDBiLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHg4YSwweGMwLDB4MmUsMHhjMSwweDA4LDB4ZjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhjMGUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTAsMHhiMiwweGQwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4YzBmMCwgMCwgezB4MjksMHgxOCwweDAyLDB4OGMsMHgwNCwweGExLDB4MDAsMHgyNCwweDljLDB4MDgsMHgxMCwweDAyLDB4ODAsMHgwMCwweGExLDB4MDEgfX0sCi0gezE2LCAweGMxMDAsIDAsIHsweDBjLDB4YzEsMHgyYiwweDMwLDB4NTIsMHg4YywweDA0LDB4YjMsMHgwMSwweDI4LDB4NDAsMHg0YiwweDMwLDB4MDIsMHg0YywweDAwIH19LAotIHsxNiwgMHhjMTEwLCAwLCB7MHg5MCwweDIwLDB4MmMsMHgyMCwweDBhLDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzEyMCwgMCwgezB4MjAsMHg0MSwweDFlLDB4MDAsMHhiNywweGEyLDB4MjUsMHhlOCwweDhhLDB4NjgsMHgwMiwweDFlLDB4MDAsMHg4NSwweDgwLDB4MjUgfX0sCi0gezE2LCAweGMxMzAsIDAsIHsweDgwLDB4ODgsMHhlOCwweDAyLDB4M2UsMHgwMCwweDg1LDB4ODAsMHgyZiwweGU0LDB4MjgsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3IH19LAotIHsxNiwgMHhjMTQwLCAwLCB7MHg4MCwweDYxLDB4ZTAsMHgwMywweDc4LDB4MDIsMHg1ZSwweDgyLDB4YjcsMHg4MiwweDJkLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YzE1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwZCwweDAwLDB4ZjAsMHgxMCwweDNjLDB4ODAgfX0sCi0gezE2LCAweGMxNjAsIDAsIHsweDBkLDB4MTAsMHg4MywweDhjLDB4MDAsMHhlMiwweDUwLDB4MjYsMHgwNCwweDBjLDB4MTEsMHgwMywweDg4LDB4NDAsMHhlYiwweDAwIH19LAotIHsxNiwgMHhjMTcwLCAwLCB7MHgzYywweGM0LDB4MGYsMHgzMCwweDAzLDB4OGMsMHgwMCwweGYzLDB4MDgsMHgzOCwweDQwLDB4MDcsMHgzMCwweDAzLDB4NmUsMHg0MCB9fSwKLSB7MTYsIDB4YzE4MCwgMCwgezB4ZDAsMHgwOCwweDNjLDB4ODgsMHgwZSwweDMwLDB4NDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxOTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmIsMHgzNCwweDNjLDB4YzksMHg0ZSwweGIwLDB4MjMsMHhlZCwweDIwLDB4ZmIsMHgwNCwweDNmIH19LAotIHsxNiwgMHhjMWEwLCAwLCB7MHhjOCwweDhmLDB4NzAsMHg1MywweDRjLDB4MDAsMHhlYiwweDEwLDB4MzEsMHhjNSwweDBlLDB4ZjQsMHgwMywweDZkLDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4YzFiMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDBiLDB4YmMsMHgwMCwweGNkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDgzLDB4ZDAgfX0sCi0gezE2LCAweGMxYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4Y2UsMHgwNCwweGM5LDB4MDQsMHhiMCwweGMxIH19LAotIHsxNiwgMHhjMWQwLCAwLCB7MHgwZiwweDk4LDB4MTMsMHg2YywweDkwLDB4Y2IsMHgwMiwweDNlLDB4YzAsMHg0ZiwweGIwLDB4NjMsMHhlNCwweDAwLDB4ZjEsMHg4MCB9fSwKLSB7MTYsIDB4YzFlMCwgMCwgezB4MTIsMHhjMCwweDBjLDB4YjUsMHgwMywweGVjLDB4YzAsMHhjZiwweDgzLDB4MzIsMHg0MCwweDBmLDB4YjMsMHgyMywweDJkLDB4YTQgfX0sCi0gezE2LCAweGMxZjAsIDAsIHsweGZiLDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiNCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMjAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwLDB4MmQsMHg2MCwweDAyLDB4MWMsMHgwMCwweGQ3LDB4MDAsMHgzOSB9fSwKLSB7MTYsIDB4YzIxMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjUsMHgwMCwweDIxLDB4YzAsMHgyYSwweDcwLDB4MTIsMHhjYywweDgwLDB4ODcgfX0sCi0gezE2LCAweGMyMjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDBiLDB4NzIsMHg1MiwweDFjLDB4MDAsMHhiNywweDAwLDB4MmQsMHg0MSwweDBiLDB4MzIsMHgwMiwweDEyIH19LAotIHsxNiwgMHhjMjMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweGJlLDB4MDAsMHg4MSwweGMwLDB4MjMsMHgyMCB9fSwKLSB7MTYsIDB4YzI0MCwgMCwgezB4MGIsMHhkOCwweDAyLDB4NWUsMHgwMCwweDA2LDB4YzAsMHgyZCwweGEwLDB4MGIsMHg3YywweDEyLDB4ZGUsMHgwOCwweGJmLDB4ODAgfX0sCi0gezE2LCAweGMyNTAsIDAsIHsweGExLDB4ZTIsMHgyYSwweDdhLDB4MDIsMHhkZSwweDAwLDB4OTMsMHg4MCwweDI1LDB4NjAsMHgwYiwweDc4LDB4MWUsMHg1ZSwweDUwIH19LAotIHsxNiwgMHhjMjYwLCAwLCB7MHhiNywweDgwLDB4MmQsMHhhMCwweDBiLDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzI3MCwgMCwgezB4NDgsMHgxNCwweGNlLDB4MDAsMHg4MywweDYwLDB4MjAsMHhjMCwweDA5LDB4MzEsMHgwMiwweDJjLDB4MDAsMHg5MywweDAwLDB4MjggfX0sCi0gezE2LCAweGMyODAsIDAsIHsweGMwLDB4MWIsMHhiMCwweDA2LDB4Y2MsMHg4MCwweGIzLDB4NDgsMHgyMCwweGYwLDB4MGEsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDkzIH19LAotIHsxNiwgMHhjMjkwLCAwLCB7MHg4MCwweDI0LDB4YzAsMHgwYiwweGIwLDB4MDIsMHg0YywweDEwLDB4YjMsMHhjOCwweDJjLDB4ZDIsMHg4YiwweDMwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YzJhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYiwweDAwLDB4YzYsMHhjNCwweDMxLDB4ODEgfX0sCi0gezE2LCAweGMyYjAsIDAsIHsweDBmLDB4ZTAsMHgwMywweDY4LDB4MDAsMHhjZSwweDgwLDB4M2YsMHhhMiwweDBiLDB4ZTgsMHgwMywweGY5LDB4MDAsMHhmZSwweDQwIH19LAotIHsxNiwgMHhjMmMwLCAwLCB7MHgzMSwweDgwLDB4NmUsMHhhMCwweDA3LDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgyNiwweDgxLDB4MGYsMHhhMCwweDAyLDB4NjgsMHgwMSB9fSwKLSB7MTYsIDB4YzJkMCwgMCwgezB4ZjYsMHhlMCwweDNkLDB4OTIsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweGMyLDB4ZjgsMHgwNCwweDNlLDB4MTQsMHgwZiwweDgwLDB4MTMsMHhlMCwweDEwLDB4ZjgsMHgwMSwweDNlIH19LAotIHsxNiwgMHhjMmYwLCAwLCB7MHgxMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MDAsMHhiOCwweDAwLDB4M2UsMHgwMCwweDQ3LDB4ODAsMHgwMywweGUwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4YzMwMCwgMCwgezB4MTAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDA3LDB4YTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGYsMHg4MCwweDBiLDB4ZDIgfX0sCi0gezE2LCAweGMzMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDEsMHgzMiwweDQwIH19LAotIHsxNiwgMHhjMzIwLCAwLCB7MHg4YywweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDIsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4YzMzMCwgMCwgezB4M2UsMHg0MiwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweDY0LDB4MDAgfX0sCi0gezE2LCAweGMzNDAsIDAsIHsweGY5LDB4OTAsMHgzMiwweDQxLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMzUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4YzgsMHhhMiwweDYwLDB4MGEsMHg5MiwweDAyLDB4ZTQsMHgwMCwweDg5LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4YzM2MCwgMCwgezB4NTgsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDJlLDB4NDIsMHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4ODkgfX0sCi0gezE2LCAweGMzNzAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwNiwweDI0LDB4MDQsMHhiOSwweDA4LDB4MmEsMHg0MCwweDQ4LDB4OTAsMHgxMiwweDIwIH19LAotIHsxNiwgMHhjMzgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDEwLDB4MjIsMHg0NCB9fSwKLSB7MTYsIDB4YzM5MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQ1LDB4OGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweGMzYTAsIDAsIHsweDJhLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAwLDB4OTksMHg4MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MjYsMHgyNCwweDAwIH19LAotIHsxNiwgMHhjM2IwLCAwLCB7MHhiOSwweDAxLDB4MjIsMHg3MCwweDA5LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzNjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDgsMHhiMSwweDIwLDB4MjAsMHg0MCwweDBhLDB4MTAsMHgwMiwweGM0LDB4ODAsMHg4MywweDAwLDB4MmMgfX0sCi0gezE2LCAweGMzZDAsIDAsIHsweDUwLDB4NGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHgyZSwweDQwLDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MSwweDgxIH19LAotIHsxNiwgMHhjM2UwLCAwLCB7MHhhMiwweDZjLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4YjksMHgyMCwweDJhLDB4NDgsMHgyOSwweDEyLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YzNmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjgsMHgwMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweGM0MDAsIDAsIHsweDA4LDB4ODAsMHgwMywweGUxLDB4NDIsMHhjOCwweDAwLDB4MzIsMHgwMCwweDFmLDB4ODUsMHgwMywweGExLDB4NDAsMHhjOCwweDUwIH19LAotIHsxNiwgMHhjNDEwLCAwLCB7MHgzYSwweDAwLDB4OGQsMHg4NSwweDAzLDB4NjEsMHg0MCwweGQ4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHgwNSwweDAzLDB4MjEsMHg0MCB9fSwKLSB7MTYsIDB4YzQyMCwgMCwgezB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwZCwweDg1LDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0MzAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDA0LDB4ZmQsMHgxMCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhjNCwweDQwLDB4ZmQsMHgwMCwweDNmIH19LAotIHsxNiwgMHhjNDQwLCAwLCB7MHg1MSwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZiwweDAxLDB4M2QsMHg0MCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4YzQ1MCwgMCwgezB4MTAsMHgzZiwweDRhLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZiwweDQ0LDB4MGUsMHg5MSwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGM0NjAsIDAsIHsweDAyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YzUsMHgwMCwweGNkLDB4MDAsMHgzMSwweDQwIH19LAotIHsxNiwgMHhjNDcwLCAwLCB7MHgwZCwweGQwLDB4NDMsMHhlNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NDAsMHg0ZiwweDExLDB4MDIsMHhlNCwweDA0LDB4YzEsMHgwMCB9fSwKLSB7MTYsIDB4YzQ4MCwgMCwgezB4M2QsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlZCwweGE0LDB4MzIsMHg1MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAgfX0sCi0gezE2LCAweGM0OTAsIDAsIHsweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNGEwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwOCwweGQ4LDB4MDAsMHgzMiwweDAxLDB4MDAsMHg4MCwweDEyLDB4YzAsMHgwMCwweDQ4LDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4YzRiMCwgMCwgezB4ODAsMHgwYiwweDhhLDB4MDIsMHhlMCwweDAwLDB4YTgsMHgwMCwweDJlLDB4MDAsMHgwZiwweDgwLDB4MDIsMHhlMCwweDAwLDB4ODggfX0sCi0gezE2LCAweGM0YzAsIDAsIHsweDUwLDB4MzQsMHgyOCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDBiLDB4ODAsMHgwMiwweGNlIH19LAotIHsxNiwgMHhjNGQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDAwLDB4MjYsMHg0MCB9fSwKLSB7MTYsIDB4YzRlMCwgMCwgezB4MDksMHgxOCwweDAyLDB4YzQsMHgwOCwweDIxLDB4MDAsMHgyOCwweDQwLDB4OGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MDEgfX0sCi0gezE2LCAweGM0ZjAsIDAsIHsweDJlLDB4NDAsMHgxOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgwMSwweDIwLDB4NDgsMHgxYiwweDEwLDB4MDIsMHhjNCwweDAwIH19LAotIHsxNiwgMHhjNTAwLCAwLCB7MHhiMSwweDAwLDB4NmMsMHg0MCwweDBiLDB4MTAsMHgxMiwweGMyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzUxMCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHg5OSwweDgwLDB4YTIsMHg0MiwweDQ4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDJhLDB4MjYgfX0sCi0gezE2LCAweGM1MjAsIDAsIHsweDQ0LDB4MGIsMHg5MCwweDgyLDB4YzQsMHg4MSwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQyLDB4YzQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhjNTMwLCAwLCB7MHgwMCwweDI2LDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMSwweDJlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4YzU0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNSwweDIwLDB4YzksMHg4NCwweDMwLDB4NzAgfX0sCi0gezE2LCAweGM1NTAsIDAsIHsweDBkLDB4OTAsMHgxMywweGU0LDB4MDIsMHhlOSwweDAwLDB4MzIsMHg3MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmOSwweDQwIH19LAotIHsxNiwgMHhjNTYwLCAwLCB7MHgzYywweDQ4LDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGUxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAxLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4YzU3MCwgMCwgezB4ZjksMHg5MCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MjYsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1ODAsIDAsIHsweDI4LDB4MDEsMHhhNSwweDAwLDB4ZjEsMHgwNCwweDNhLDB4NDQsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4YzksMHgwNCwweDNlIH19LAotIHsxNiwgMHhjNTkwLCAwLCB7MHg2MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4YzVhMCwgMCwgezB4OTAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDA3LDB4Y2EgfX0sCi0gezE2LCAweGM1YjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MDQsMHgzYSwweDAwIH19LAotIHsxNiwgMHhjNWMwLCAwLCB7MHgxZSwweDgwLDB4MDMsMHg4MCwweDAzLDB4YzgsMHg0MCwweDJhLDB4MDQsMHgxZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ODgsMHgwMCB9fSwKLSB7MTYsIDB4YzVkMCwgMCwgezB4MzIsMHgzMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAgfX0sCi0gezE2LCAweGM1ZTAsIDAsIHsweGM4LDB4ODAsMHgzZSwweDIwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNWYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGFlLDB4ZDAsMHgzNywweDgwLDB4MDgsMHhlYywweDQ2LDB4MzgsMHgwMCwweGQ2LDB4MDQsMHgyMyB9fSwKLSB7MTYsIDB4YzYwMCwgMCwgezB4YTAsMHgwYiwweGEwLDB4NDEsMHg3OCwweDA0LDB4ZmEsMHgwMCwweDM3LDB4ODAsMHgwZCwweGEwLDB4MDIsMHhhOCwweDEwLDB4ZWUgfX0sCi0gezE2LCAweGM2MTAsIDAsIHsweDIxLDB4MmUsMHg4MCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDgsMHg4ZSwweDgwLDB4MmYsMHhhMCwweDhiLDB4YTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHhjNjIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDRjLDB4MDIsMHg4MywweGMwLDB4YTgsMHhlOCB9fSwKLSB7MTYsIDB4YzYzMCwgMCwgezB4NGEsMHgzNiwweDAyLDB4OGMsMHgwMCwweDEzLDB4YTAsMHgyOCwweGMyLDB4MGIsMHgzMCwweDA2LDB4MGMsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGM2NDAsIDAsIHsweDI0LDB4ODQsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgyMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHhjNjUwLCAwLCB7MHg4MywweDgwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzY2MCwgMCwgezB4YTAsMHgwMSwweDNjLDB4NDQsMHhhZiwweDQwLDB4MjUsMHhjMiwweDQ4LDB4ZjgsMHg4MiwweDFjLDB4YzgsMHg5ZiwweDA4LDB4MjEgfX0sCi0gezE2LCAweGM2NzAsIDAsIHsweGMwLDB4OGIsMHhmOCwweDAyLDB4NWMsMHgwMCwweGJmLDB4YjAsMHgyNywweDgwLDB4MDksMHgzYSwweDAyLDB4OWMsMHgwMCwweGE1IH19LAotIHsxNiwgMHhjNjgwLCAwLCB7MHgwMiwweDJkLDB4ZTgsMHgwOSwweDcwLDB4MDIsMHhjZSwweDgwLDB4ODUsMHgwOCwweDJkLDB4YzIsMHgwYiwweDczLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4YzY5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MiwweGE5LDB4ZTAgfX0sCi0gezE2LCAweGM2YTAsIDAsIHsweDBhLDB4NzgsMHgwMiwweDllLDB4NDAsMHg5NywweDg0LDB4MzksMHhhMCwweDBiLDB4N2EsMHg4MywweDNmLDB4ODAsMHhkNywweDkxIH19LAotIHsxNiwgMHhjNmIwLCAwLCB7MHgzNSwweGEwLDB4MGQsMHg3YSwweDA5LDB4MWUsMHg0NCwweGY3LDB4ODAsMHgzZCwweGU4LDB4MmQsMHg3YSwweDAzLDB4ZGUsMHg4MiB9fSwKLSB7MTYsIDB4YzZjMCwgMCwgezB4YzYsMHg4MCwweDNkLDB4MjAsMHg0YiwweDdiLDB4MjMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2ZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZDMsMHgwMCwweDNlLDB4YzEsMHgwZiwweDMwLDB4MDMsMHhlZCwweDgwLDB4ZTMsMHgwMCwweDNlIH19LAotIHsxNiwgMHhjNmUwLCAwLCB7MHg4MCwweDBmLDB4YjYsMHgyMSwweGVjLDB4MDgsMHhkYiwweDIxLDB4M2UsMHg4MCwweDBmLDB4YjUsMHgwMywweDZjLDB4NDAsMHhmOSB9fSwKLSB7MTYsIDB4YzZmMCwgMCwgezB4MDAsMHgzZSwweGRjLDB4MGUsMHhiMiwweDAzLDB4ZWQsMHg0MCwweGY5LDB4MDIsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGM3MDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGNmLDB4ODAsMHgzZCwweGUwIH19LAotIHsxNiwgMHhjNzEwLCAwLCB7MHgwZiwweGM4LDB4NDMsMHhmZSwweDAwLDB4ZmUsMHg4NCwweDNmLDB4ZTAsMHgwZCwweGY4LDB4YzMsMHhmZiwweDEwLDB4YWYsMHg5MCB9fSwKLSB7MTYsIDB4YzcyMCwgMCwgezB4MzUsMHhhMCwweDBjLDB4ZmMsMHgwMywweDNlLDB4MTQsMHhlYywweDg0LDB4M2YsMHhmMCwweDBlLDB4ZmMsMHhjMywweGZmLDB4MDggfX0sCi0gezE2LCAweGM3MzAsIDAsIHsweDRmLDB4ODAsMHgzMywweGU0LDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNzQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGQ3LDB4YTIsMHgyZCwweGM0LDB4MGMsMHg0MSwweGMyLDB4ZGMsMHgwMCwweDc0LDB4MDAsMHgyNSB9fSwKLSB7MTYsIDB4Yzc1MCwgMCwgezB4ODAsMHgwZiwweDcyLDB4NDIsMHhkYywweDkwLDB4ZDcsMHgzOCwweDJkLDB4OTgsMHgwYSwweDcwLDB4MDIsMHgxYywweDA0LDB4ODYgfX0sCi0gezE2LCAweGM3NjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4NzAsMHgwMiwweGNjLDB4MDAsMHg4NiwweDA4LDB4MzcsMHhjNiwweDI4LDB4NzAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhjNzcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDYwLDB4MmQsMHhjMiB9fSwKLSB7MTYsIDB4Yzc4MCwgMCwgezB4MGEsMHg1MCwweDAyLDB4ZGMsMHgwMCwweGI2LDB4MTAsMHgyNSwweGMyLDB4MDksMHg3MCwweDg2LDB4ZGMsMHgzMCwweDk3LDB4MDAgfX0sCi0gezE2LCAweGM3OTAsIDAsIHsweDI1LDB4ODAsMHgwOCwweDMwLDB4MDIsMHg1YywweDAwLDB4ODcsMHgwOCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjYywweDQwIH19LAotIHsxNiwgMHhjN2EwLCAwLCB7MHg4NiwweDAwLDB4MjEsMHgwMCwweDA5LDB4NzAsMHgwYSwweDAwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzdiMCwgMCwgezB4MjAsMHgxNCwweGVkLDB4ODAsMHg5MywweDAwLDB4MGMsMHhlMSwweDI4LDB4MTgsMHgwMiwweGNjLDB4MDgsMHhhMCwweDAwLDB4MjQgfX0sCi0gezE2LCAweGM3YzAsIDAsIHsweDEyLDB4MWEsMHgzNCwweDAyLDB4Y2YsMHgwNCwweDkzLDB4NDAsMHgyYywweDgwLDB4MGEsMHhiMCwweDIyLDB4NGMsMHgwMiwweDgxIH19LAotIHsxNiwgMHhjN2QwLCAwLCB7MHg4MCwweDI4LDB4ZTAsMHgyOCwweDMwLDB4MDIsMHhjYywweDAwLDB4ODgsMHg4MiwweDI0LDB4MjAsMHgwOCwweGIwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YzdlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZiwweDIwLDB4YzksMHhlMCwweDJjLDB4ZjEgfX0sCi0gezE2LCAweGM3ZjAsIDAsIHsweDBlLDB4YmQsMHgwMywweGZjLDB4MDAsMHhiOSwweDQwLDB4MzYsMHg0MCwweDA5LDB4ZjUsMHgwMiwweGZkLDB4NDAsMHhmZiwweDgwIH19LAotIHsxNiwgMHhjODAwLCAwLCB7MHgzNiwweGEyLDB4MDgsMHhmMCwweDBiLDB4N2MsMHgwMCwweGViLDB4ODAsMHgyZiwweGUwLDB4MGEsMHhmMCwweDQzLDB4ZmMsMHgwMiB9fSwKLSB7MTYsIDB4YzgxMCwgMCwgezB4OGIsMHhkMCwweDMyLDB4ZjAsMHgwZCwweGYwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4MjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4YzgsMHgwZiwweDk0LDB4MTMsMHhlYywweDAwLDB4ZjksMHg0MCwweDM2IH19LAotIHsxNiwgMHhjODMwLCAwLCB7MHg0MCwweDFmLDB4YjAsMHgwMywweGVjLDB4MTAsMHhmYiwweDAxLDB4M2UsMHhkMCwweDBmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4Yzg0MCwgMCwgezB4MDAsMHgzZSwweGM0LDB4MGYsMHhiMCwweDAxLDB4ZWMsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQ4LDB4MGYsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGM4NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMwIH19LAotIHsxNiwgMHhjODYwLCAwLCB7MHgwYywweGUwLDB4MDcsMHhmYywweDAwLDB4ZmMsMHgwYSwweDI3LDB4MDAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwOCB9fSwKLSB7MTYsIDB4Yzg3MCwgMCwgezB4MzMsMHg4MCwweDBjLDB4ZjAsMHgwMCwweDJjLDB4MDAsMHg1ZiwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMSwweGZjLDB4MDAgfX0sCi0gezE2LCAweGM4ODAsIDAsIHsweGZlLDB4MDAsMHgyMywweDQwLDB4MGYsMHhiMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODkwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4ODYsMHgyZSwweGUwLDB4NDgsMHg4ZiwweDAyLDB4ZWMsMHgwOCwweGI4LDB4YTAsMHgzNiB9fSwKLSB7MTYsIDB4YzhhMCwgMCwgezB4MzAsMHg0YiwweGIwLDB4MDMsMHhhYywweDBjLDB4OWIsMHgwMiwweDNjLDB4YTAsMHgwYywweGIwLDB4NDMsMHg2YywweDAwLDB4YjEgfX0sCi0gezE2LCAweGM4YjAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDBkLDB4YjAsMHgxMiwweGVjLDB4MTAsMHhiOSwweDgwLDB4YTIsMHg2MSwweDBiLDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhjOGMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5YiwweDg4LDB4MmUsMHhlMCB9fSwKLSB7MTYsIDB4YzhkMCwgMCwgezB4MDgsMHhhMCwweDAyLDB4ZWMsMHgwMSwweGJiLDB4ODAsMHgyNiwweDYyLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGIzLDB4MDEgfX0sCi0gezE2LCAweGM4ZTAsIDAsIHsweDJhLDB4MjEsMHgwOCwweGIwLDB4MTIsMHgyYywweDAwLDB4YjgsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MTIsMHhlYywweDE0IH19LAotIHsxNiwgMHhjOGYwLCAwLCB7MHhiOSwweDg0LDB4MjIsMHhhMiwweDBiLDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzkwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHg5MywweDAwLDB4MmMsMHhlMCwweDA4LDB4MDAsMHgwMiwweGNjLDB4MDksMHg5MSwweDAwLDB4MjAgfX0sCi0gezE2LCAweGM5MTAsIDAsIHsweDQwLDB4MGIsMHgzMCwweDA2LDB4NGMsMHgwNCwweDEzLDB4MDAsMHgyNiwweDAwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIyIH19LAotIHsxNiwgMHhjOTIwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHgwMSwweDMwLDB4MDAsMHhjZCwweDAwLDB4YjAsMHgwMCwweDIwLDB4ODAsMHgwYiwweDMwLDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4YzkzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZGIsMHgyNCwweDZlLDB4YzAgfX0sCi0gezE2LCAweGM5NDAsIDAsIHsweDJjLDB4YTAsMHgwMiwweGZjLDB4MDAsMHhiYSwweDA0LDB4MjYsMHg0MCwweDRmLDB4ZjAsMHg1NywweGZjLDB4MDAsMHgzZiwweDAxIH19LAotIHsxNiwgMHhjOTUwLCAwLCB7MHgzYSwweDAwLDB4MmMsMHhmMCwweDAxLDB4M2MsMHgwMCwweGRiLDB4MDAsMHgzMywweGMwLDB4ODQsMHhmMCwweDAzLDB4ZmQsMHgwOCB9fSwKLSB7MTYsIDB4Yzk2MCwgMCwgezB4ZmEsMHgwMCwweDMyLDB4MDAsMHgwZiwweGYwLDB4MDMsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5NzAsIDAsIHsweGEwLDB4MTksMHhkYywweDAwLDB4ZWEsMHg0MCwweDNmLDB4MDAsMHgwNywweGMwLDB4MDMsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhjOTgwLCAwLCB7MHg0MCwweDBmLDB4ZjAsMHgwMywweDljLDB4MDAsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBlLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4Yzk5MCwgMCwgezB4MDAsMHgzZiwweGMxLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4NCwweGY0LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGM5YTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjAsMHg4MCwweGZmLDB4MDAsMHgwMywweGMyIH19LAotIHsxNiwgMHhjOWIwLCAwLCB7MHgwZiwweGMyLDB4MDMsMHgzZSwweDAwLDB4ZGYsMHhjMCwweDNlLDB4YzAsMHg0ZCwweGRiLDB4MDIsMHhiMCwweGMwLDB4ZGMsMHgzMCB9fSwKLSB7MTYsIDB4YzljMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4ZGIsMHgyMywweGY2LDB4MjAsMHhmZiwweDI2LDB4MzMsMHhlMCwweDBmLDB4NTIsMHgwMywweDVlLDB4MDAgfX0sCi0gezE2LCAweGM5ZDAsIDAsIHsweGZmLDB4ODAsMHgzMywweGMwLDB4NGMsMHg0OSwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOWUwLCAwLCB7MHg4MCwweDEwLDB4ZTEsMHhlMCwweGI3LDB4MDgsMHgyMywweGYwLDB4MGIsMHhhZCwweDBhLDB4MmUsMHgwMCwweDlhLDB4MDQsMHgyZSB9fSwKLSB7MTYsIDB4YzlmMCwgMCwgezB4YjAsMHgwOSwweDhmLDB4MDMsMHhhMCwweDQwLDB4YjksMHgzMCwweDJlLDB4YTAsMHgwYiwweDlmLDB4MDMsMHhhNywweDAwLDB4YmIgfX0sCi0gezE2LCAweGNhMDAsIDAsIHsweDgwLDB4MjYsMHhlMCwweDBiLDB4ZGQsMHgwMiwweDJlLDB4MDAsMHhiYiwweDgwLDB4MjIsMHhmNCwweDBhLDB4OTIsMHgwMiwweGEwIH19LAotIHsxNiwgMHhjYTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4ODAsMHhiMywweDEwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4Y2EyMCwgMCwgezB4MGIsMHg4MCwweDAyLDB4YWMsMHgwMCwweGEzLDB4MjQsMHgyYywweGQwLDB4MDgsMHgxMCwweDA2LDB4YzAsMHg4MCwweGIyLDB4MDEgfX0sCi0gezE2LCAweGNhMzAsIDAsIHsweDJjLDB4ZWEsMHg0YiwweDAwLDB4MTIsMHhjMiwweDA0LDB4YjMsMHgxMCwweDA4LDB4YzAsMHgwYSwweDkwLDB4MDIsMHgwYywweDAwIH19LAotIHsxNiwgMHhjYTQwLCAwLCB7MHg5MywweDA0LDB4MjQsMHhjMCwweDA5LDB4ODIsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2E1MCwgMCwgezB4YzAsMHgxNSwweGE1LDB4MDAsMHhiYiwweDAwLDB4MjIsMHhjMCwweDBiLDB4ODAsMHgwMiwweGFjLDB4MDgsMHhiYiwweDE4LDB4MmUgfX0sCi0gezE2LCAweGNhNjAsIDAsIHsweGUwLDB4MTgsMHg4OCwweDAyLDB4ZWMsMHgwMSwweGJhLDB4MDAsMHgyZSwweDgwLDB4MGIsMHg5OCwweDg2LDB4ZTIsMHgwMCwweGJiIH19LAotIHsxNiwgMHhjYTcwLCAwLCB7MHgwMCwweDIyLDB4YzQsMHgwYiwweDkwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMCwweGE2LDB4YzAsMHgwYiwweDkwLDB4MDAsMHhiMCB9fSwKLSB7MTYsIDB4Y2E4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlNywweDAwLDB4ZmIsMHgwMCwweGIyLDB4YzAgfX0sCi0gezE2LCAweGNhOTAsIDAsIHsweDBmLDB4YTgsMHgwMywweGFjLDB4MDIsMHhlYiwweDAwLDB4M2UsMHg2MCwweDBkLDB4OWUsMHgwMywweGVjLDB4MDAsMHhkOCwweDQwIH19LAotIHsxNiwgMHhjYWEwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg4OCwweDQzLDB4ZTIsMHgwMCwweGZiLDB4MjAsMHgzMiwweGMwLDB4MGYsMHgxMCwweDBiLDB4NmYsMHg5MCB9fSwKLSB7MTYsIDB4Y2FiMCwgMCwgezB4NWIsMHg4MiwweDM2LDB4YzAsMHgyZCwweDA4LDB4MDEsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhYzAsIDAsIHsweGUwLDB4MDEsMHhiNywweDA4LDB4ZjcsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY5LDB4MDMsMHg3YywweDA4LDB4Y2YsMHg4MiwweDNjIH19LAotIHsxNiwgMHhjYWQwLCAwLCB7MHgwMCwweGFmLDB4ZDAsMHgyMSwweGJjLDB4MDgsMHhmZCwweDEwLDB4M2YsMHg4MCwweDhmLDB4YzAsMHgwMywweGE0LDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4Y2FlMCwgMCwgezB4MDEsMHhiZiwweGMwLDB4MDcsMHhkMCwweDAzLDB4YmQsMHgzMCwweGZmLDB4YTQsMHgzOCwweGMwLDB4MGUsMHhkYSwweDAzLDB4ZjggfX0sCi0gezE2LCAweGNhZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTgsMHgwMCwweGZiLDB4MDAsMHhiMiwweGMxIH19LAotIHsxNiwgMHhjYjAwLCAwLCB7MHgwZSwweDgxLDB4MDMsMHhlYywweDQwLDB4ZmIsMHg0NCwweDNhLDB4YzEsMHgwZSwweDk1LDB4MDMsMHhlMCwweDAwLDB4Y2IsMHg0MSB9fSwKLSB7MTYsIDB4Y2IxMCwgMCwgezB4MzIsMHg0ZCwweDBmLDB4ODEsMHgwMywweGUwLDB4MjAsMHhjOSwweDAwLDB4NzIsMHhlOCwweDQ0LDB4OTEsMHgwMywweDZkLDB4MDAgfX0sCi0gezE2LCAweGNiMjAsIDAsIHsweGNiLDB4MDIsMHgzZSwweGMwLDB4MGMsMHg4MCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjMwLCAwLCB7MHhjOCwweDA1LDB4MjQsMHgwMCwweGJmLDB4MDAsMHgzMywweGM0LDB4MDgsMHgxZCwweDAzLDB4OGMsMHgwMCwweGJiLDB4OTgsMHgzNiB9fSwKLSB7MTYsIDB4Y2I0MCwgMCwgezB4NDgsMHg0ZCwweDk4LDB4MjIsMHhlZCwweDQwLDB4ZGIsMHgwMCwweDM2LDB4YjAsMHgwYiwweDk4LDB4MDIsMHhlMywweDAwLDB4ZGIgfX0sCi0gezE2LCAweGNiNTAsIDAsIHsweDAwLDB4MzIsMHhlMCwweDg4LDB4ZDgsMHgwMiwweDJjLDB4MDIsMHhjMywweDgwLDB4MmYsMHhjMCwweDA4LDB4OTAsMHgwMywweDcyIH19LAotIHsxNiwgMHhjYjYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDQ0LDB4MDAsMHhiMywweDAwLDB4MjAsMHhmMCB9fSwKLSB7MTYsIDB4Y2I3MCwgMCwgezB4MTgsMHgwOCwweDAyLDB4NGYsMHg4NCwweGIxLDB4YzAsMHgyNCwweGMwLDB4ODksMHgwNiwweDAyLDB4YzQsMHgwMCwweDkxLDB4MDAgfX0sCi0gezE2LCAweGNiODAsIDAsIHsweDIwLDB4ZjAsMHgxYiwweDE4LDB4ODIsMHhjNiwweDAwLDB4OTMsMHgwMCwweDJjLDB4ZDEsMHgwOCwweDFlLDB4MDIsMHgwZSwweDQ0IH19LAotIHsxNiwgMHhjYjkwLCAwLCB7MHg5MywweDk0LDB4MmMsMHhjMCwweDA4LDB4MjAsMHgwMiwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2JhMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHhiNywweDgwLDB4MjAsMHhlMiwweDA4LDB4NjgsMHgwNiwweDllLDB4ODAsMHhiZiwweDg0LDB4MjUgfX0sCi0gezE2LCAweGNiYjAsIDAsIHsweGE4LDB4MDksMHg2OCwweDAyLDB4YzYsMHgwMCwweDkzLDB4YTAsMHg2NSwweGU0LDB4MGIsMHg3OCwweDEyLDB4ZGUsMHgwMCwweDkzIH19LAotIHsxNiwgMHhjYmMwLCAwLCB7MHgwMCwweGExLDB4ZTAsMHgwOCwweGQ4LDB4MDIsMHgxZSwweGQwLDB4YTcsMHg4MCwweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4Y2JkMCwgMCwgezB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAwLDB4YjMsMHgyMCwweDMwLDB4YzAgfX0sCi0gezE2LCAweGNiZTAsIDAsIHsweDBhLDB4MjIsMHgwMiwweGNlLDB4NDAsMHhmMywweGEwLDB4M2MsMHhlOCwweDBiLDB4MzAsMHgwMiwweGMxLDB4MDAsMHhkMCwweGMxIH19LAotIHsxNiwgMHhjYmYwLCAwLCB7MHgzMCwweGMwLDB4MGIsMHgyMSwweDEzLDB4Y2MsMHgyMSwweGQzLDB4MDAsMHgyYywweGMwLDB4MmMsMHgxMCwweDBiLDB4MGMsMHg4MCB9fSwKLSB7MTYsIDB4Y2MwMCwgMCwgezB4ZDMsMHg2MSwweDNjLDB4YzgsMHgyYywweDIwLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjMTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHg0MCwweDNiLDB4YzAsMHgwZiwweGUwLDB4MDMsMHhmYywweDAwLDB4ZjcsMHg1MCwweDdmIH19LAotIHsxNiwgMHhjYzIwLCAwLCB7MHhjNCwweDJlLDB4ZjAsMHgwMywweGZjLDB4NDAsMHhmZSwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0NywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4Y2MzMCwgMCwgezB4MDAsMHg3ZCwweGMyLDB4MGYsMHhkMCwweDAxLDB4YmMsMHg4MCwweDVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGNjNDAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGZiLDB4YzAsMHgzMiwweGM4IH19LAotIHsxNiwgMHhjYzUwLCAwLCB7MHgwZSwweGUwLDB4MDMsMHhhYywweGEwLDB4ZWIsMHgyMCwweDMyLDB4NDAsMHg4YywweGEwLDB4MTMsMHgyYywweDAwLDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4Y2M2MCwgMCwgezB4M2UsMHg2MCwweDBjLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDgwLDB4MzAsMHhjMCwweDNjLDB4OTIsMHgwMywweGVmLDB4NjAgfX0sCi0gezE2LCAweGNjNzAsIDAsIHsweGMzLDB4MjAsMHgzMSwweGM0LDB4MGMsMHhhMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYzgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDMzLDB4MjAsMHgyMSwweGRhLDB4MGIsMHg3MCwweDQzLDB4OWMsMHgwMSwweGI1LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4Y2M5MCwgMCwgezB4MDAsMHgwYSwweGUwLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAsMHgwZCwweDcwLDB4MDMsMHg5YywweDAwLDB4YjYgfX0sCi0gezE2LCAweGNjYTAsIDAsIHsweDAwLDB4MzEsMHhjOCwweDA4LDB4NTcsMHgwMiwweGRjLDB4MDAsMHg4NywweDUwLDB4MjEsMHhjMCwweDBhLDB4NzAsMHg0MiwweDkyIH19LAotIHsxNiwgMHhjY2IwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MTEsMHhiNywweDkwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4Y2NjMCwgMCwgezB4MGIsMHg2OCwweDgyLDB4ZGUsMHgwOCwweGE3LDB4ODAsMHgyNCwweDYwLDB4MDgsMHg3MCwweDEyLDB4MTIsMHgwOCwweDk1LDB4ODAgfX0sCi0gezE2LCAweGNjZDAsIDAsIHsweDJkLDB4NjAsMHgwOSwweDZjLDB4MDIsMHhkZSwweDAwLDB4YjEsMHg4MCwweDIzLDB4ZTAsMHgwYSwweDU4LDB4NjIsMHhmZSwweDAwIH19LAotIHsxNiwgMHhjY2UwLCAwLCB7MHg5NywweGEwLDB4MjEsMHhlOCwweDA5LDB4ZTgsMHgwMiwweDMwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2NmMCwgMCwgezB4NDgsMHgxNCwweGNkLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDhiLDB4M2MsMHgwMiwweDhjLDB4MDAsMHhiYiwweDAwLDB4MjQgfX0sCi0gezE2LCAweGNkMDAsIDAsIHsweGM0LDB4MWEsMHgzZCwweDAyLDB4MmYsMHg4OCwweGIzLDB4NDgsMHgyYywweGUwLDB4ODksMHgzZSwweDAyLDB4OGQsMHg4MCwweDkzIH19LAotIHsxNiwgMHhjZDEwLCAwLCB7MHhkOSwweGE0LDB4NDAsMHg4OCwweDEwLDB4MDIsMHhjYywweDA0LDB4OTMsMHhjOCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4Y2QyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDQwLDB4ZmEsMHgwMCwweGIyLDB4ODAgfX0sCi0gezE2LCAweGNkMzAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhlYSwweDgwLDB4MzcsMHhhMCwweDBjLDB4ZTgsMHgxMywweDNiLDB4MDgsMHhkZSwweDAxIH19LAotIHsxNiwgMHhjZDQwLCAwLCB7MHgzZiwweDgyLDB4MGMsMHhlMCwweDQzLDB4ZmEsMHg4MCwweGZlLDB4ODAsMHgzMSwweDI4LDB4MGMsMHhhMCwweDAzLDB4ZjAsMHgwMiB9fSwKLSB7MTYsIDB4Y2Q1MCwgMCwgezB4YzQsMHhjMCwweGIyLDB4ODAsMHgwZCwweGUwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwYiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjgsMHgzMCwweDNhIH19LAotIHsxNiwgMHhjZDcwLCAwLCB7MHgwMCwweDZkLDB4ODAsMHg4MywweGUxLDB4NDQsMHhiOCwweDA0LDB4M2UsMHgxMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4Y2Q4MCwgMCwgezB4MDAsMHgzYSwweDEwLDB4NGYsMHgwNCwweDAzLDB4ZTMsMHgwMCwweGU4LDB4MTAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGNkOTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzOCwweDQwIH19LAotIHsxNiwgMHhjZGEwLCAwLCB7MHgwZiwweDFhLDB4MDMsMHgyZSwweDAwLDB4ZmIsMHhhMCwweDM2LDB4NjAsMHgwYywweDk4LDB4MDMsMHhlNiwweDA0LDB4ZDEsMHgwMCB9fSwKLSB7MTYsIDB4Y2RiMCwgMCwgezB4MzYsMHg0OCwweDBlLDB4OTEsMHgwMiwweGU2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHgwMCwweDBjLDB4OTksMHgwMywweDYyLDB4NDAgfX0sCi0gezE2LCAweGNkYzAsIDAsIHsweGY4LDB4MDAsMHhhMCwweDY4LDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZGQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMiwweDg5LDB4MDQsMHgyZSwweDY0LDB4ODgsMHg5NCwweDAyLDB4YTUsMHgwMCwweGI5LDB4ODAsMHgyMCB9fSwKLSB7MTYsIDB4Y2RlMCwgMCwgezB4NjQsMHgwZCwweDljLDB4MDIsMHhlNiwweDQyLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweDljLDB4MDIsMHhlNCwweDEwLDB4YjkgfX0sCi0gezE2LCAweGNkZjAsIDAsIHsweDQwLDB4M2EsMHg1MCwweDA4LDB4OWMsMHgwMiwweDI3LDB4MjAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMywweDYwIH19LAotIHsxNiwgMHhjZTAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4Y2UxMCwgMCwgezB4MGEsMHg5MCwweDgyLDB4MjUsMHg0YywweGI5LDB4MDAsMHgwMiwweDQwLDB4MDgsMHg5NiwweDAyLDB4ZTQsMHgxMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweGNlMjAsIDAsIHsweDI2LDB4NTAsMHgxMywweDk0LDB4MDIsMHhlNCwweDQwLDB4YjksMHgwOCwweDJlLDB4NDAsMHgwOCwweDkwLDB4OGEsMHgyNCwweDAwIH19LAotIHsxNiwgMHhjZTMwLCAwLCB7MHhiOSwweDAxLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2U0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4ODAsMHg4MSwweDQwLDB4MmMsMHhjOCwweDA4LDB4MTAsMHgwNiwweDg0LDB4MDAsMHhiMSwweDA0LDB4MjAgfX0sCi0gezE2LCAweGNlNTAsIDAsIHsweDQ5LDB4MDksMHgxNCwweDQyLDB4Y2MsMHg4OSwweDgxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDQ2LDB4YzQsMHgwMCwweGIxIH19LAotIHsxNiwgMHhjZTYwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHgyOCwweDE0LDB4MDIsMHgwMSwweDAxLDB4YjAsMHgwNCwweDI4LDB4NDAsMHgzOCwweDk0LDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4Y2U3MCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ODgsMHgwMCwweDNhLDB4MDAgfX0sCi0gezE2LCAweGNlODAsIDAsIHsweDBlLDB4ODAsMHgyMywweDIwLDB4MDAsMHhmOCwweDUwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgxMiwweGUxLDB4NDAsMHhkOCwweDUwIH19LAotIHsxNiwgMHhjZTkwLCAwLCB7MHgzNiwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHg4MCwweDUzLDB4NjAsMHgwNCB9fSwKLSB7MTYsIDB4Y2VhMCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlYjAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQwLDB4ZjksMHg0NCwweDNlLDB4NDQsMHgwZiwweGQ0LDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNmIH19LAotIHsxNiwgMHhjZWMwLCAwLCB7MHg0NCwweDBmLDB4ZDQsMHg1MywweGY0LDB4NDQsMHhmZCwweDEwLDB4MmYsMHg0MCwweDBmLDB4ZjQsMHgwMywweGZkLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4Y2VkMCwgMCwgezB4NDAsMHgzYiwweDEwLDB4MGYsMHhkNCwweDIzLDB4ZDEsMHgwNCwweDdjLDB4NDMsMHgzNiwweDUwLDB4MGYsMHg1MCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGNlZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTYsMHgwMCwweGY5LDB4MTAsMHgyZSwweDYyIH19LAotIHsxNiwgMHhjZWYwLCAwLCB7MHgwZiwweGQyLDB4ODMsMHhlNCwweDAwLDB4YmQsMHg0MiwweDNlLDB4NjEsMHgwZiwweGQwLDB4MDMsMHhmNiwweGMwLDB4YzksMHhhMiB9fSwKLSB7MTYsIDB4Y2YwMCwgMCwgezB4MmIsMHg0MCwweDBjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhmOSwweDgxLDB4M2UsMHg2OCwweDA4LDB4YzEsMHg0MywweGZhLDB4MDAgfX0sCi0gezE2LCAweGNmMTAsIDAsIHsweGY1LDB4ODAsMHgzZiwweDYyLDB4MGMsMHgxNCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZjIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgyMCwweDg4LDB4MTEsMHgyZSwweDEwLDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4ODIsMHgyZSB9fSwKLSB7MTYsIDB4Y2YzMCwgMCwgezB4MTAsMHgwYiwweDgwLDB4MDAsMHhlMywweGM0LDB4ODgsMHhmMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MGEsMHgyMCwweDAwLDB4ZTggfX0sCi0gezE2LCAweGNmNDAsIDAsIHsweDQwLDB4MmYsMHgxNCwweDA4LDB4ODgsMHgwMiwweGUyLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDA4LDB4ODgsMHgwMiwweDhlIH19LAotIHsxNiwgMHhjZjUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweGM1LDB4MDAsMHhhMSwweDAwLDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4Y2Y2MCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgxOCwweGIxLDB4MjIsMHg2YywweGQxLDB4MGIsMHgxMCwweDI2LDB4YzQsMHgwMCwweDgxLDB4MDggfX0sCi0gezE2LCAweGNmNzAsIDAsIHsweDJhLDB4NDAsMHg4OCwweDEwLDB4MDIsMHgwNCwweDA0LDB4YjUsMHhjMCwweDBmLDB4NDAsMHgwYiwweDAyLDB4MDIsMHg0MSwweGEwIH19LAotIHsxNiwgMHhjZjgwLCAwLCB7MHhiMSwweDQwLDB4MmMsMHg0MCwweDA4LDB4MTIsMHgwMiwweDAyLDB4MTEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2Y5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA2LDB4MmUsMHg0MCwweDBiLDB4OTAsMHgxMiwweGU0LDB4MDAsMHhiOSwweDQwLDB4MmUgfX0sCi0gezE2LCAweGNmYTAsIDAsIHsweDQwLDB4MGIsMHhiMCwweDgyLDB4YzQsMHgwMiwweDg5LDB4NDQsMHgyMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCwweGE5IH19LAotIHsxNiwgMHhjZmIwLCAwLCB7MHgwMCwweDI3LDB4NDgsMHgwOSwweGIwLDB4MTIsMHhlYywweDE4LDB4YjksMHgwMSwweDJlLDB4NDAsMHg0MCwweDkwLDB4MDIsMHg4NiB9fSwKLSB7MTYsIDB4Y2ZjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDg0LDB4ZTksMHgwMSwweDNlLDB4NDAgfX0sCi0gezE2LCAweGNmZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg3MiwweDBmLDB4OTAsMHgwMywweGU3LDB4NjAsMHg4OSwweDEwIH19LAotIHsxNiwgMHhjZmUwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4NDQsMHgzYywweDQwLDB4MmQsMHg5MCwweDAzLDB4ZTcsMHg2MCB9fSwKLSB7MTYsIDB4Y2ZmMCwgMCwgezB4ZjksMHg3MSwweDNlLDB4NDAsMHgyOCwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwMDAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDQ4LDB4YTksMHgwMCwweDNlLDB4YzAsMHgwZiwweDlhLDB4NDMsMHhlYywweDAwLDB4ZjksMHgyMCwweDdlIH19LAotIHsxNiwgMHhkMDEwLCAwLCB7MHhjOCwweDBmLDB4OWEsMHgwNywweDY2LDB4MDAsMHg3OSwweDgwLDB4N2UsMHg0MCwweDBmLDB4MWMsMHgwMywweGU3LDB4MDAsMHhlOSB9fSwKLSB7MTYsIDB4ZDAyMCwgMCwgezB4YTAsMHgzZSwweDQwLDB4NDYsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGQwMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDAwIH19LAotIHsxNiwgMHhkMDQwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhMCwweDA4LDB4ZTgsMHg0MCwweDNhLDB4MTAsMHgwYywweDgzLDB4MDMsMHhhMSwweGMwLDB4ZjAsMHg0MCB9fSwKLSB7MTYsIDB4ZDA1MCwgMCwgezB4M2UsMHgwNiwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2IsMHgwMCwweDBmLDB4ODEsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGQwNjAsIDAsIHsweGY4LDB4MTAsMHhiMiwweDAwLDB4NGMsMHg4MCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMDcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyZSwweGIwLDB4MGIsMHhlOCwweDAyLDB4ZTksMHgwMCwweDNlLDB4OTAsMHgwMiB9fSwKLSB7MTYsIDB4ZDA4MCwgMCwgezB4ODEsMHgwOCwweGU0LDB4MTIsMHg3OCwweDAwLDB4YmEsMHgwMCwweDJkLDB4YjAsMHg4OSwweGU4LDB4MjIsMHhmOCwweDBjLDB4YmEgfX0sCi0gezE2LCAweGQwOTAsIDAsIHsweDAwLDB4NmUsMHg4MCwweDAzLDB4YzUsMHgwMywweDMwLDB4MDAsMHhiYSwweDAwLDB4MjIsMHhhOCwweDA4LDB4YTAsMHgyMiwweDhhIH19LAotIHsxNiwgMHhkMGEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjgsMHhlOCB9fSwKLSB7MTYsIDB4ZDBiMCwgMCwgezB4MWIsMHgzMSwweDEyLDB4OGMsMHhjNCwweGEzLDB4OTIsMHgyYywweDQwLDB4ODgsMHgzNCwweDA2LDB4OGUsMHgwMCwweDkzLDB4MDAgfX0sCi0gezE2LCAweGQwYzAsIDAsIHsweDJjLDB4ZjAsMHgxOSwweDMxLDB4YTIsMHhjYywweDA0LDB4YjMsMHgwMCwweDI4LDB4ODAsMHgwMSwweDM4LDB4MDIsMHg0YywweDAwIH19LAotIHsxNiwgMHhkMGQwLCAwLCB7MHhiMywweDgwLDB4MjAsMHhlMCwweDBhLDB4YjAsMHgxMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDBlMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDE0LDB4MmQsMHg0MiwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNywweDgxLDB4MjcgfX0sCi0gezE2LCAweGQwZjAsIDAsIHsweGUwLDB4MTgsMHg2MCwweDAyLDB4NTgsMHgxOCwweGI3LDB4MjIsMHgyZCwweDgwLDB4MDksMHg3MCwweDIyLDB4ZGMsMHgwMCwweGI3IH19LAotIHsxNiwgMHhkMTAwLCAwLCB7MHgwMCwweDJkLDB4ODAsMHgwYiwweDNiLDB4MDIsMHgxZCwweGQwLDB4YmYsMHg4MCwweDI4LDB4YzAsMHg4YSwweGYyLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4ZDExMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDgwLDB4ZjcsMHhhMCwweDM5LDB4ZTIgfX0sCi0gezE2LCAweGQxMjAsIDAsIHsweDBmLDB4NjgsMHgwMywweDllLDB4MDAsMHhlZCwweDg0LDB4M2QsMHhlMiwweDQ0LDB4NzgsMHgwMywweDllLDB4MDAsMHhmNywweGI0IH19LAotIHsxNiwgMHhkMTMwLCAwLCB7MHgyZCwweGUwLDB4MGQsMHg2OCwweDAzLDB4ZDYsMHgwMCwweGY2LDB4ODAsMHgzOSwweGUwLDB4MGYsMHg3OSwweDAzLDB4NWUsMHg5MCB9fSwKLSB7MTYsIDB4ZDE0MCwgMCwgezB4ZjcsMHg4MSwweDMxLDB4NjAsMHgyZSwweDdjLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxNTAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDAwLDB4ZmIsMHg0MiwweDNlLDB4YzgsMHgwZiwweGEwLDB4MDMsMHhlZCwweGEwLDB4YmIsMHgwMCwweDM4IH19LAotIHsxNiwgMHhkMTYwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgwMywweDY4LDB4MDAsMHhmYiwweDExLDB4M2UsMHg0MCwweDA5LDB4YjAsMHg0MSwweGVjLDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4ZDE3MCwgMCwgezB4MDIsMHgzZSwweGMwLDB4MGYsMHhiMiwweDBiLDB4ZWQsMHg4MCwweDNiLDB4MDAsMHgzNiwweDQwLDB4MGQsMHhiMCwweDIzLDB4NDIgfX0sCi0gezE2LCAweGQxODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweGNmLDB4ZDAsMHgzMywweGU0IH19LAotIHsxNiwgMHhkMTkwLCAwLCB7MHg0ZiwweGY5LDB4MDMsMHhkZSwweDQwLDB4ZGMsMHg4MCwweDM2LDB4ZTQsMHgwYywweGI5LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg5MCB9fSwKLSB7MTYsIDB4ZDFhMCwgMCwgezB4MzcsMHhlNSwweDBmLDB4ZjgsMHg0MywweGZlLDB4MDAsMHhjZiwweDkyLDB4M2YsMHhhNCwweDBmLDB4NzgsMHgwMywweDFmLDB4MDAgfX0sCi0gezE2LCAweGQxYjAsIDAsIHsweGM1LDB4ODAsMHgzMywweDYwLDB4MGMsMHhmOCwweDIwLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMWMwLCAwLCB7MHhhOCwweDExLDB4YmMsMHgwMCwweDBmLDB4MTAsMHgyMSwweDgxLDB4MGIsMHg2MCwweDAzLDB4ODQsMHgwMCwweDhiLDB4MDgsMHgyMSB9fSwKLSB7MTYsIDB4ZDFkMCwgMCwgezB4NjAsMHgwYSwweDdiLDB4MDMsMHg5OCwweDAwLDB4OGIsMHgxMCwweDI5LDB4ODQsMHgwZSwweDY0LDB4MjIsMHhkYywweDQwLDB4ZDcgfX0sCi0gezE2LCAweGQxZTAsIDAsIHsweDAyLDB4MmQsMHg4NCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NSwweDE4LDB4MjEsMHg0MCwweDBhLDB4ZjAsMHgyMiwweGFhIH19LAotIHsxNiwgMHhkMWYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhNywweDE0LDB4NjksMHhjMCB9fSwKLSB7MTYsIDB4ZDIwMCwgMCwgezB4MWEsMHg2MCwweDEyLDB4ZmMsMHgwMSwweGE0LDB4MTAsMHgyZCwweGMwLDB4MGEsMHg1MiwweDAyLDB4NDUsMHg0MCwweDg3LDB4MGMgfX0sCi0gezE2LCAweGQyMTAsIDAsIHsweDIxLDB4ODAsMHgxYiwweDYwLDB4ODIsMHhkNCwweDAwLDB4ODYsMHgwMywweDI1LDB4ZTAsMHgxYiwweDcwLDB4MDIsMHg1YywweDQwIH19LAotIHsxNiwgMHhkMjIwLCAwLCB7MHg5ZCwweDAwLDB4MjksMHg0MCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDIzMCwgMCwgezB4MjAsMHgxNCwweGNkLDB4MDAsMHhhMywweDAwLDB4MjgsMHhjMCwweDFiLDB4MjAsMHgyMiwweDhjLDB4MTEsMHhhMywweDAwLDB4NjggfX0sCi0gezE2LCAweGQyNDAsIDAsIHsweGY2LDB4MGEsMHgzYywweDA2LDB4ODIsMHgwMCwweDgzLDB4ODAsMHgyOCwweDg0LDB4MGEsMHg4YywweDgyLDB4Y2MsMHg0NCwweDkyIH19LAotIHsxNiwgMHhkMjUwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0ZSwweDAwLDB4OTEsMHgwMCwweDI4LDB4NDAsMHgwYSwweDMwLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4ZDI2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZSwweDIyLDB4ZWYsMHgwNCwweGJhLDB4YzAgfX0sCi0gezE2LCAweGQyNzAsIDAsIHsweDBmLDB4MTQsMHg5MywweGVjLDB4MDIsMHhmMSwweGMzLDB4M2UsMHhmMCwweDBlLDB4OTAsMHg4MywweDY2LDB4MDAsMHhjZiwweGQyIH19LAotIHsxNiwgMHhkMjgwLCAwLCB7MHgzMiwweDUwLDB4MGYsMHg5YywweDAzLDB4Y2IsMHgwMCwweGM5LDB4ODAsMHgzZSwweDI4LDB4MGYsMHhiMCwweDAzLDB4NGYsMHgwMCB9fSwKLSB7MTYsIDB4ZDI5MCwgMCwgezB4ZDEsMHhjMCwweGFhLDB4YzAsMHgwYywweDcxLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDIwLDB4ZGIsMHgwMCwweDI2LDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlYywweDA4LDB4MWIsMHgwMCwweDM2IH19LAotIHsxNiwgMHhkMmIwLCAwLCB7MHhjMCwweDBmLDB4ODYsMHgwMSwweGU1LDB4NDAsMHhmYiwweDAyLDB4M2EsMHg0OCwweDBlLDB4OTQsMHgwMywweGVjLDB4ODAsMHhmMSB9fSwKLSB7MTYsIDB4ZDJjMCwgMCwgezB4ODQsMHgzZSwweDAwLDB4NGYsMHhiMCwweDAzLDB4YWQsMHhjMCwweGViLDB4MjAsMHgzNiwweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTAgfX0sCi0gezE2LCAweGQyZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGNmLDB4MDAsMHgzZiwweDYwIH19LAotIHsxNiwgMHhkMmUwLCAwLCB7MHgwYywweGUwLDB4ODMsMHgzZSwweDgwLDB4ZWQsMHgwOCwweDMzLDB4ZDAsMHg4ZiwweDUwLDB4MDMsMHg5ZSwweDAwLDB4ZGYsMHgwMCB9fSwKLSB7MTYsIDB4ZDJmMCwgMCwgezB4MzMsMHg0MCwweDBjLDB4YzAsMHgwMywweDMwLDB4MDAsMHhjYywweDEwLDB4MzMsMHg2OCwweDBjLDB4ZjAsMHgwMywweDNjLDB4ODQgfX0sCi0gezE2LCAweGQzMDAsIDAsIHsweDhkLDB4OTAsMHgzMCwweDQwLDB4MGMsMHhmMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMzEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4MDIsMHgyYywweGY0LDB4MDgsMHhhOCwweDYyLDB4MGMsMHg4MCwweDhiLDB4ODAsMHgyYSB9fSwKLSB7MTYsIDB4ZDMyMCwgMCwgezB4NjAsMHgwZiwweDljLDB4MDIsMHgyZSwweDAwLDB4OGIsMHgwMCwweDIwLDB4NjAsMHgwZCwweDk4LDB4MDIsMHgyYywweDgwLDB4ZDggfX0sCi0gezE2LCAweGQzMzAsIDAsIHsweDAwLDB4MTQsMHg0MCwweDA4LDB4MzQsMHgxMiwweDJlLDB4MDAsMHg4YiwweDgyLDB4MzIsMHg0MCwweDBkLDB4YjAsMHgwMywweDYwIH19LAotIHsxNiwgMHhkMzQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHhkMCB9fSwKLSB7MTYsIDB4ZDM1MCwgMCwgezB4MDgsMHhiOCwweDAyLDB4MmMsMHgwMCwweDhhLDB4ODQsMHgyMiwweGMwLDB4MGIsMHg4OCwweDAyLDB4ZTQsMHhhMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGQzNjAsIDAsIHsweDIyLDB4NjIsMHgwYSwweDk4LDB4MDIsMHgyOCwweDAwLDB4ODksMHgwMCwweDIyLDB4MDAsMHgwYSwweGIxLDB4MDYsMHgyYywweDAwIH19LAotIHsxNiwgMHhkMzcwLCAwLCB7MHhhYiwweDAwLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDM4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDIsMHhhMywweDAwLDB4MmMsMHhjMSwweDA4LDB4MjAsMHgwMiwweDBjLDB4MDIsMHg4YiwweDAwLDB4MjggfX0sCi0gezE2LCAweGQzOTAsIDAsIHsweGMyLDB4MGEsMHgwMCwweDAyLDB4NDQsMHgxMCwweDgzLDB4MTAsMHgyMiwweDQwLDB4MGIsMHgxMCwweDA2LDB4MGMsMHgwMCwweDkxIH19LAotIHsxNiwgMHhkM2EwLCAwLCB7MHgwNCwweGFhLDB4MDAsMHgyOCwweDMwLDB4MDIsMHgyYywweDAwLDB4YTEsMHgwMSwweDIwLDB4NDAsMHgwOSwweGIwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4ZDNiMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4OGYsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGQzYzAsIDAsIHsweDJjLDB4YTAsMHgwMywweDI5LDB4NDAsMHhhOCwweDQwLDB4MzIsMHhjYywweDhiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhjZiwweDQwIH19LAotIHsxNiwgMHhkM2QwLCAwLCB7MHgzMiwweDAwLDB4MGUsMHg4MCwweDBhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMiwweDQwLDB4MGMsMHhiMCwweDAzLDB4MmMsMHgwNCB9fSwKLSB7MTYsIDB4ZDNlMCwgMCwgezB4ZWIsMHgwMCwweGIyLDB4NDAsMHg4YywweGIwLDB4MDMsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGUwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgyOCwweDNkIH19LAotIHsxNiwgMHhkNDAwLCAwLCB7MHhjMCwweDBiLDB4YzEsMHgwMywweGIwLDB4MTQsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBkLDB4ZDAsMHgwMywweGRjLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4ZDQxMCwgMCwgezB4MDAsMHgzNywweDQwLDB4MGYsMHhmMCwweDIxLDB4ZmMsMHgwMCwweDFkLDB4MDAsMHg3YiwweDQwLDB4OGYsMHhmMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGQ0MjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGRmLDB4MDAsMHgzMSwweGEwIH19LAotIHsxNiwgMHhkNDMwLCAwLCB7MHg0ZCwweGYwLDB4NDMsMHgzMiwweDAwLDB4Y2UsMHgxNCwweDFiLDB4NjgsMHgwZSwweGRhLDB4MjMsMHhiMiwweGMwLDB4MmYsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ0MCwgMCwgezB4M2YsMHhjMiwweDJjLDB4ZTgsMHgwMywweDNjLDB4NDAsMHhmZCwweDA4LDB4M2IsMHhjOCwweDRjLDB4ZjAsMHg4MywweDNjLDB4YTAgfX0sCi0gezE2LCAweGQ0NTAsIDAsIHsweGNmLDB4MDAsMHgzMywweGM0LDB4MGMsMHhmMywweDA3LDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDYwLCAwLCB7MHg4MCwweDEwLDB4ZTIsMHgwMCwweDhmLDB4YzAsMHgyMiwweGEwLDB4MDgsMHhmZCwweDQyLDB4MmYsMHgwMCwweDhiLDB4NzAsMHgyMiB9fSwKLSB7MTYsIDB4ZDQ3MCwgMCwgezB4MWUsMHg0OCwweDg5LDB4MDIsMHgyNywweGMwLDB4OGYsMHg1YSwweDJlLDB4NTAsMHg0OCwweDMwLDB4MDIsMHhiZCwweGMwLDB4YmQgfX0sCi0gezE2LCAweGQ0ODAsIDAsIHsweDQwLDB4MjMsMHhjNSwweDQ4LDB4ZjQsMHg4MiwweDNkLDB4MmMsMHg4NywweDcwLDB4MjIsMHhjMCwweDA4LDB4ZjEsMHgwMywweGUwIH19LAotIHsxNiwgMHhkNDkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGUwLDB4MDAsMHg5MywweDEwLDB4MjYsMHg4MSB9fSwKLSB7MTYsIDB4ZDRhMCwgMCwgezB4NDksMHgzMCwweDAyLDB4ODAsMHg0MCwweDgzLDB4MjAsMHgyOCwweDQwLDB4MGEsMHgxMCwweDAyLDB4ODAsMHgwMCwweGEzLDB4MjQgfX0sCi0gezE2LCAweGQ0YjAsIDAsIHsweDJjLDB4Y2EsMHgwOCwweDMyLDB4ODIsMHgwYywweDAwLDB4OTEsMHgyOCwweDIwLDB4Y2EsMHgxYiwweDMyLDB4MDIsMHgwYywweDg4IH19LAotIHsxNiwgMHhkNGMwLCAwLCB7MHg4MywweDA5LDB4MjAsMHhjOCwweDA5LDB4MzIsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDRkMCwgMCwgezB4YzAsMHgxNSwweGEzLDB4MTQsMHg4YiwweDA0LDB4MjYsMHg4OSwweDA4LDB4YjAsMHgwMiwweGFjLDB4MjIsMHg4YiwweDg4LDB4MmEgfX0sCi0gezE2LCAweGQ0ZTAsIDAsIHsweDIwLDB4MDgsMHg5OCwweDgyLDB4YTYsMHgxMCwweGFiLDB4MDAsMHgyZSwweGNhLDB4MDgsMHhiMCwweDgyLDB4YWMsMHgwMCwweGI5IH19LAotIHsxNiwgMHhkNGYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgyOSwweGIwLDB4MGEsMHgyYywweDAxLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOSwweGIwLDB4MjIsMHhmMCB9fSwKLSB7MTYsIDB4ZDUwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMywweDAwLDB4ZGIsMHgwMCwweDM0LDB4ZTIgfX0sCi0gezE2LCAweGQ1MTAsIDAsIHsweDBkLDB4YjAsMHgwMywweGEzLDB4MDAsMHhjYSwweDgwLDB4YmEsMHg3MCwweDBlLDB4ODgsMHgwMywweGE2LDB4MDAsMHhlYiwweDAwIH19LAotIHsxNiwgMHhkNTIwLCAwLCB7MHgzZSwweDkwLDB4MGMsMHhiNSwweDAzLDB4MmMsMHgwMCwweGZiLDB4MTAsMHhiYSwweGMwLDB4MGUsMHhiMCwweDAzLDB4MmMsMHgwMiB9fSwKLSB7MTYsIDB4ZDUzMCwgMCwgezB4Y2IsMHgwMiwweDMyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1NDAsIDAsIHsweGUwLDB4MDEsMHhiMCwweDA4LDB4ZmYsMHgwMCwweGJiLDB4ZTAsMHgwZiwweDcwLDB4MDMsMHg2NSwweDAwLDB4ZjQsMHgwMCwweDM1IH19LAotIHsxNiwgMHhkNTUwLCAwLCB7MHg0MCwweDBmLDB4NDAsMHgwMywweDU0LDB4MDAsMHhkZiwweDAwLDB4M2UsMHg0MCwweDBmLDB4ZjgsMHgwMywweGVjLDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4ZDU2MCwgMCwgezB4MDEsMHgzZCwweGMxLDB4MGUsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGUsMHhmMCwweDAzLDB4YjggfX0sCi0gezE2LCAweGQ1NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTAsMHg0MCwweGViLDB4MDgsMHgzZSwweDgwIH19LAotIHsxNiwgMHhkNTgwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNhLDB4NTEsMHgwZiwweDgyLDB4MDMsMHg2NCwweDIwLDB4ZGIsMHgwMCB9fSwKLSB7MTYsIDB4ZDU5MCwgMCwgezB4M2QsMHg4MiwweDBjLDB4YmMsMHgwMywweDJjLDB4MTAsMHhkYiwweDAwLDB4NzIsMHhjMCwweDBkLDB4YjEsMHgwMywweDBjLDB4MjAgfX0sCi0gezE2LCAweGQ1YTAsIDAsIHsweGQzLDB4MDAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNWIwLCAwLCB7MHhjOCwweDA1LDB4MDEsMHgwMCwweDg3LDB4YzAsMHgyZSwweGE4LDB4MDgsMHhmMSwweDEyLDB4YzUsMHg0MCwweDg4LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZDVjMCwgMCwgezB4NDAsMHgwYiwweDg0LDB4MDIsMHgyNywweDAwLDB4YWYsMHgwMCwweDJlLDB4YzAsMHgwOCwweGJjLDB4MTIsMHgzYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGQ1ZDAsIDAsIHsweDAxLDB4MjMsMHhjMCwweDI4LDB4ZjUsMHg0YSwweDNkLDB4MjgsMHhkZiwweDAwLDB4MzMsMHhjMCwweDRiLDB4ZjAsMHgwMywweDMyIH19LAotIHsxNiwgMHhkNWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ4LDB4ODAsMHhhMywweDkwLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZDVmMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4YzEsMHgwMCwweDkyLDB4MDQsMHgyOCwweDAwLDB4MGIsMHgxNCwweDEyLDB4NDMsMHgwMCwweGIzLDB4MDQgfX0sCi0gezE2LCAweGQ2MDAsIDAsIHsweDJjLDB4MzAsMHgwYSwweGIwLDB4MGEsMHg4YywweDAwLDB4OTMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDNjLDB4MDYsMHgwZSwweDAxIH19LAotIHsxNiwgMHhkNjEwLCAwLCB7MHhiMywweDAwLDB4MmUsMHhjMCwweDhiLDB4MzAsMHgwNiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDYyMCwgMCwgezB4MjAsMHgwMSwweDEyLDB4MDAsMHg4NywweDgwLDB4MmQsMHgyNCwweDA4LDB4NzgsMHgwMiwweGQyLDB4MDAsMHg5NSwweDgwLDB4MjEgfX0sCi0gezE2LCAweGQ2MzAsIDAsIHsweGEwLDB4MGIsMHg2OCwweDAyLDB4NWEsMHgyMCwweDg3LDB4ODAsMHgyZCwweDY2LDB4MWEsMHg3YywweDAyLDB4OWUsMHgwMCwweDg3IH19LAotIHsxNiwgMHhkNjQwLCAwLCB7MHg4MCwweDIxLDB4ZTEsMHgxOCwweDc5LDB4MDIsMHg5ZSwweDQwLDB4YjcsMHg4MCwweGExLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4ZDY1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwMCwweDAwLDB4ZTMsMHhhMCwweDNjLDB4NDAgfX0sCi0gezE2LCAweGQ2NjAsIDAsIHsweDBjLDB4MzAsMHgwMywweGM0LDB4MjIsMHhkOSwweDAwLDB4MzgsMHhkNCwweDBmLDB4MzAsMHg4MywweDY4LDB4NDAsMHhmMywweDAwIH19LAotIHsxNiwgMHhkNjcwLCAwLCB7MHgzYywweDgwLDB4MGEsMHgzMiwweDAyLDB4OGMsMHgwMCwweGRiLDB4MDAsMHhhMiwweGM0LDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4ZDY4MCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIxLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2OTAsIDAsIHsweDQwLDB4MGQsMHhiMCwweDAwLDB4ZmYsMHgxMCwweDNmLDB4NDAsMHgwZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWQsMHgwMCwweDNmIH19LAotIHsxNiwgMHhkNmEwLCAwLCB7MHhjMCwweDBmLDB4MzAsMHgxMywweGJjLDB4NDAsMHg3ZiwweDEwLDB4M2YsMHhjMSwweDJkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ZDZiMCwgMCwgezB4NDAsMHgzZiwweGMyLDB4MGUsMHhmNCwweDgzLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMyLDB4MGYsMHhmMCwweDAzLDB4OTAgfX0sCi0gezE2LCAweGQ2YzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGRiLDB4YTAsMHgzMiwweGMwIH19LAotIHsxNiwgMHhkNmQwLCAwLCB7MHgwZCwweGI3LDB4MDMsMHhlMCwweDAwLDB4Y2EsMHgwNCwweDNlLDB4ODAsMHgwZiwweGI4LDB4MDMsMHgyYywweDEwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ZDZlMCwgMCwgezB4MzMsMHgwMCwweDhkLDB4YjAsMHgwMywweDJjLDB4ODAsMHhlOSwweDQwLDB4M2UsMHhkMiwweDBmLDB4YjQsMHgwMywweDJkLDB4ODAgfX0sCi0gezE2LCAweGQ2ZjAsIDAsIHsweGViLDB4MjAsMHhiMiwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNzAwLCAwLCB7MHg0OCwweDExLDB4OTAsMHgwMCwweGI3LDB4MTAsMHgxMSwweGMwLDB4MDgsMHg3MCwweDgyLDB4ZDgsMHgwYSwweDg3LDB4MDEsMHgyZCB9fSwKLSB7MTYsIDB4ZDcxMCwgMCwgezB4ODAsMHg4OSwweDcwLDB4MDMsMHhkOCwweDA4LDB4YjcsMHgwYSwweDIxLDB4NDAsMHgyYywweDcwLDB4MDIsMHgwZCwweGMwLDB4ODUgfX0sCi0gezE2LCAweGQ3MjAsIDAsIHsweDAxLDB4NzksMHhjOCwweDBiLDB4MzIsMHgwMiwweDBkLDB4MjAsMHg4ZiwweDI4LDB4MjEsMHhjMCwweDBiLDB4NzIsMHg4MiwweGQyIH19LAotIHsxNiwgMHhkNzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHg0MCwweDk2LDB4MTAsMHg5NywweDkwLDB4MjMsMHhlMCB9fSwKLSB7MTYsIDB4ZDc0MCwgMCwgezB4MDksMHg3YSwweDAyLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgyZCwweGYwLDB4MGIsMHg3OCwweDgyLDB4MWUsMHgwMCwweGIzLDB4YjAgfX0sCi0gezE2LCAweGQ3NTAsIDAsIHsweDIxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxZSwweDAwLDB4YTUsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDdhLDB4MDIsMHgxZSwweDgwIH19LAotIHsxNiwgMHhkNzYwLCAwLCB7MHhhNywweGIwLDB4MjEsMHhlOCwweDBiLDB4NzksMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDc3MCwgMCwgezB4NDgsMHgxNCwweGMwLDB4MDAsMHhiMywweDAwLDB4MjAsMHhlMiwweDA4LDB4MzAsMHgwMiwweGM2LDB4NDAsMHg5MywweDcwLDB4MmMgfX0sCi0gezE2LCAweGQ3ODAsIDAsIHsweGMwLDB4MDksMHgzYywweDAyLDB4OGUsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQ4LDB4MDgsMHgxOCwweDAyLDB4MGMsMHgwMCwweDgxIH19LAotIHsxNiwgMHhkNzkwLCAwLCB7MHg5MCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MmEsMHgyYywweDEwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ZDdhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhiOSwweDAwLDB4ZGEsMHgwMiwweDMzLDB4YjggfX0sCi0gezE2LCAweGQ3YjAsIDAsIHsweDBkLDB4YTAsMHgwMywweGY4LDB4MDAsMHhkZSwweGMwLDB4M2YsMHhiMCwweDRmLDB4ZWMsMHgwNiwweDM4LDB4NDAsMHhmYSwweDAwIH19LAotIHsxNiwgMHhkN2MwLCAwLCB7MHhiMywweDkwLDB4MGMsMHg2YywweDBiLDB4MjgsMHgwOCwweGVhLDB4MDEsMHg3ZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4ZDdkMCwgMCwgezB4ZWEsMHgwMCwweDMyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3ZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDNhLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZTgsMHgwMiwweDNlIH19LAotIHsxNiwgMHhkN2YwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4NDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ZDgwMCwgMCwgezB4MDAsMHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGQ4MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgyMCwweGY5LDB4YzAsMHgzZSwweDcwIH19LAotIHsxNiwgMHhkODIwLCAwLCB7MHgwZSwweDkwLDB4MDIsMHhlNCwweDgwLDB4YzksMHgwMCwweDMyLDB4NDIsMHgwYywweDk4LDB4ODMsMHhhNCwweDg0LDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZDgzMCwgMCwgezB4YjIsMHg2MCwweDBjLDB4OTAsMHg4MywweDI0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4MWEsMHgwMiwweDI0LDB4MDAgfX0sCi0gezE2LCAweGQ4NDAsIDAsIHsweGMxLDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDAxLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODUwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgwMCwweGI5LDB4ODEsMHgyYywweDYwLDB4MGQsMHg5NCwweGMyLDB4YzcsMHgwOCwweDg5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZDg2MCwgMCwgezB4NDAsMHgwOCwweDk1LDB4YzcsMHhhNCwweDAwLDB4YjksMHgwMCwweDI4LDB4NzAsMHhhOCwweDk0LDB4MGEsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGQ4NzAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDI4LDB4OTAsMHgyYSwweDI2LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhkODgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDQwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ZDg5MCwgMCwgezB4MGEsMHg5MCwweDAyLDB4ZTUsMHgwMCwweDgxLDB4MDAsMHhhMCwweDQwLDB4MDksMHg5MCwweDQyLDB4ZWMsMHgwMCwweGIxLDB4MDAgfX0sCi0gezE2LCAweGQ4YTAsIDAsIHsweDIyLDB4NTgsMHgwOCwweDkwLDB4YTIsMHgwNCwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNCwweGEwIH19LAotIHsxNiwgMHhkOGIwLCAwLCB7MHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDhjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDIwLDB4MmUsMHhjMCwweDg5LDB4MTIsMHgwMiwweGM0LDB4ODAsMHg4MSwweDIwLDB4MjAgfX0sCi0gezE2LCAweGQ4ZDAsIDAsIHsweDQwLDB4NjEsMHgxMCwweDQyLDB4YzUsMHgwMCwweGIxLDB4MjAsMHgyOCwweDQ4LDB4MTgsMHg5MCwweDQyLDB4MDQsMHg4MCwweDgxIH19LAotIHsxNiwgMHhkOGUwLCAwLCB7MHgyOCwweDJjLDB4NDgsMHgwOCwweDEyLDB4ODIsMHg4NCwweGEwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwYiwweDEyLDB4ODIsMHhjMiB9fSwKLSB7MTYsIDB4ZDhmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAgfX0sCi0gezE2LCAweGQ5MDAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUwLDB4MDgsMHhjOCwweDUwLDB4MzIsMHgxNCwweDBkLDB4ODAsMHgxNywweGU4LDB4MDQsMHhmOCwweDUwIH19LAotIHsxNiwgMHhkOTEwLCAwLCB7MHgzMiwweDE0LDB4NGMsMHgwNSwweDBiLDB4MjEsMHg0MCwweGM4LDB4MjAsMHgzZSwweDAwLDB4MGMsMHg4NywweDAzLDB4YTEsMHhjMiB9fSwKLSB7MTYsIDB4ZDkyMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MTQsMHg4ZiwweDgyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5MzAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDAwLDB4ZjEsMHgxMCwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDIsMHhkNCwweDQyLDB4ZmQsMHgxMCwweDNmIH19LAotIHsxNiwgMHhkOTQwLCAwLCB7MHg1MSwweDBlLDB4NTQsMHgxMywweGI1LDB4MDAsMHhmOSwweDEwLDB4MzUsMHg0NCwweDJmLDB4ZDAsMHgwMywweGU0LDB4NTAsMHhmZCB9fSwKLSB7MTYsIDB4ZDk1MCwgMCwgezB4MjgsMHgzZSwweDRlLDB4MGYsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MzgsMHgzZSwweDQ0LDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGQ5NjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZCwweDQwIH19LAotIHsxNiwgMHhkOTcwLCAwLCB7MHgyYywweGQwLDB4MDMsMHhiNiwweDAwLDB4ZjksMHg4MiwweDNlLDB4NDAsMHgwYywweGQwLDB4MDMsMHhmNCwweDAwLDB4ZjksMHg4MCB9fSwKLSB7MTYsIDB4ZDk4MCwgMCwgezB4MzMsMHg3MCwweDBjLDB4NTAsMHgwMywweDM0LDB4MDAsMHhjOSwweGMwLDB4M2UsMHg0MCwweDBjLDB4ZGEsMHgwMywweDE2LDB4ODAgfX0sCi0gezE2LCAweGQ5OTAsIDAsIHsweGM5LDB4NDAsMHgzZSwweDYyLDB4MmMsMHg5OCwweDgzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOWEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MDgsMHg4MCwweDAyLDB4MjgsMHgwMCwweGI4LDB4NTAsMHgyNiB9fSwKLSB7MTYsIDB4ZDliMCwgMCwgezB4MDAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDAwLDB4YjgsMHgwMCwweDJhLDB4MzQsMHgyYSwweGFhLDB4MGEsMHgyMCwweDAwLDB4ODggfX0sCi0gezE2LCAweGQ5YzAsIDAsIHsweGMwLDB4MmUsMHgyYSwweDA4LDB4ODAsMHgyMiwweDIxLDB4MDAsMHhhOCwweDgwLDB4MmUsMHgwMCwweDA4LDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHhkOWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ZDllMCwgMCwgezB4NDgsMHgxMCwweDA2LDB4OGQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MjgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4NDAgfX0sCi0gezE2LCAweGQ5ZjAsIDAsIHsweDJjLDB4NDgsMHgwOCwweDEwLDB4ODIsMHg0NCwweDAwLDB4ODEsMHg2MCwweDJjLDB4NDAsMHgyOCwweDE0LDB4MGEsMHgwNCwweDQwIH19LAotIHsxNiwgMHhkYTAwLCAwLCB7MHg4MSwweDIwLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGExMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4NDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDA4LDB4YjAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDI4LDB4MmUgfX0sCi0gezE2LCAweGRhMjAsIDAsIHsweDUwLDB4MDgsMHg5MCwweDIyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDYwLDB4MGIsMHgxMiwweDQyLDB4NjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhkYTMwLCAwLCB7MHgwMCwweDJjLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgyNCwweDAwLDB4YTksMHgwMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4ZGE0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDIgfX0sCi0gezE2LCAweGRhNTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE3LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg3MCwweDBjLDB4OTgsMHgwMiwweGU1LDB4NDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhkYTYwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5OCwweDAzLDB4NjQsMHgwNiwweGM5LDB4MDEsMHgyZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwNCB9fSwKLSB7MTYsIDB4ZGE3MCwgMCwgezB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4ODMsMHhlNiwweDEwLDB4ZjksMHgwMCwweDM2IH19LAotIHsxNiwgMHhkYTkwLCAwLCB7MHg2OCwweDBmLDB4OWMsMHgwMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBlLDB4OTgsMHg5MywweGE0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZGFhMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDgzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGRhYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA0IH19LAotIHsxNiwgMHhkYWMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHgyMSwweDAyLDB4YzgsMHg0MCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMSwweDAwLDB4ZjAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFkMCwgMCwgezB4M2UsMHgwMiwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGRhZTAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYWYwLCAwLCB7MHgyOCwweDE1LDB4M2EsMHgwMCwweGJlLDB4MDIsMHgyZiwweGIwLDB4MDgsMHg2OCwweDEyLDB4MzgsMHgwMCwweDhhLDB4MDQsMHgyYSB9fSwKLSB7MTYsIDB4ZGIwMCwgMCwgezB4ODAsMHgwYiwweGUwLDB4NDIsMHhmYiwweDIwLDB4YmEsMHgwMCwweDJmLDB4OTEsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4YmEgfX0sCi0gezE2LCAweGRiMTAsIDAsIHsweDAwLDB4MjYsMHg4MCwweDA4LDB4ZWUsMHgwYSwweDM4LDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDBiLDB4YTAsMHgwMiwweDhhIH19LAotIHsxNiwgMHhkYjIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQyLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMiB9fSwKLSB7MTYsIDB4ZGIzMCwgMCwgezB4MjgsMHgzOCwweDBhLDB4NDgsMHgwMCwweDgzLDB4MDQsMHgyMiwweGMwLDB4MGIsMHgxMCwweDAyLDB4Y2QsMHg4MCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGRiNDAsIDAsIHsweDJlLDB4YzAsMHgwOCwweDFjLDB4MDIsMHgyNCwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDM0LDB4MTIsMHgwZSwweDQwIH19LAotIHsxNiwgMHhkYjUwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgxMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGI2MCwgMCwgezB4YTAsMHgwMSwweDExLDB4MDAsMHhiNywweDAwLDB4MmYsMHhjMCwweDA4LDB4NzAsMHhhMiwweDRlLDB4MDAsMHg4ZiwweGIwLDB4MjEgfX0sCi0gezE2LCAweGRiNzAsIDAsIHsweGNjLDB4MGIsMHg2MCwweDEyLDB4ZGMsMHgxMCwweGI3LDB4MzAsMHgyZCwweGMwLDB4MDgsMHhkMCwweDgyLDB4MTQsMHg4MCwweGI3IH19LAotIHsxNiwgMHhkYjgwLCAwLCB7MHgxMiwweDI1LDB4YzgsMHgyOCwweDYwLDB4MDIsMHgxNCwweDAwLDB4ODcsMHhiMiwweDIxLDB4Y2MsMHgwYiwweDMxLDB4MDIsMHhhOCB9fSwKLSB7MTYsIDB4ZGI5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZjcsMHg4MCwweDNkLDB4ZTAgfX0sCi0gezE2LCAweGRiYTAsIDAsIHsweDBjLDB4MzgsMHgwMywweDU2LDB4MDAsMHhjNywweDkwLDB4YjEsMHhlNCwweDBmLDB4NzgsMHgwMywweGRlLDB4MDAsMHhmNywweDkwIH19LAotIHsxNiwgMHhkYmIwLCAwLCB7MHgxZiwweDYwLDB4MmMsMHg0OCwweDBiLDB4MTYsMHhhMCwweGY3LDB4ODAsMHgzYywweGY0LDB4MGMsMHgzOCwweDAzLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4ZGJjMCwgMCwgezB4Y2YsMHhhMCwweGIxLDB4ZTgsMHgwZiwweDdiLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiZDAsIDAsIHsweDA4LDB4MGQsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZjMsMHgyMSwweDNlIH19LAotIHsxNiwgMHhkYmUwLCAwLCB7MHhjOCwweDA3LDB4YjAsMHgwMiwweGU0LDB4MDAsMHhmYiwweDIwLDB4M2YsMHg0MCwweDBmLDB4ODAsMHgwMywweGU0LDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ZGJmMCwgMCwgezB4MDAsMHgzNiwweGQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwOCwweGZiLDB4NDIsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGRjMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjAsMHg4MCwweGNmLDB4ODAsMHgzMSwweGUxIH19LAotIHsxNiwgMHhkYzEwLCAwLCB7MHgwYywweGY4LDB4MDMsMHhkYSwweDEwLDB4ZWYsMHg4MCwweDNmLDB4ZTQsMHgwZiwweGQ4LDB4MDMsMHhmZSwweDEwLDB4ZmYsMHg4MiB9fSwKLSB7MTYsIDB4ZGMyMCwgMCwgezB4M2YsMHhlMCwweDRjLDB4ZDgsMHgxYiwweDE2LDB4MjAsMHhjZiwweDgwLDB4M2YsMHhlMCwweDRjLDB4ZDgsMHgzMCwweGVlLDB4NDAgfX0sCi0gezE2LCAweGRjMzAsIDAsIHsweGZmLDB4YzAsMHhiMywweGY0LDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzQwLCAwLCB7MHhhOCwweDAxLDB4OTgsMHgyMCwweDgzLDB4NDAsMHgyMSwweGMwLDB4MDgsMHg3MSwweDAyLDB4ZGMsMHg4NCwweDg3LDB4MjAsMHgyZCB9fSwKLSB7MTYsIDB4ZGM1MCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhkOSwweDYwLDB4ZjcsMHgwMCwweDJkLDB4YzAsMHgwOCwweGYwLDB4ODIsMHgxNCwweDA0LDB4ODcgfX0sCi0gezE2LCAweGRjNjAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDA4LDB4ZjAsMHgwMywweDFlLDB4MDAsMHhiNywweDIwLDB4MjEsMHhjMCwweDhiLDB4NzAsMHgwMiwweGVhIH19LAotIHsxNiwgMHhkYzcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGIwLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4MCB9fSwKLSB7MTYsIDB4ZGM4MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZjUsMHgwNCwweDI3LDB4MDAsMHgyZCwweGMwLDB4OGIsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAgfX0sCi0gezE2LCAweGRjOTAsIDAsIHsweDJjLDB4NTAsMHgwOCwweDQwLDB4MDIsMHgxNCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwOCwweDUwLDB4MDIsMHg1YywweDA0IH19LAotIHsxNiwgMHhkY2EwLCAwLCB7MHhiNywweDAwLDB4YTEsMHhjMCwweDhiLDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGNiMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDAsMHg4MCwweDAwLDB4MDAsMHg4MCwweDA4LDB4MzAsMHgwMiwweGNlLDB4MDAsMHg4MywweGMwLDB4MmMgfX0sCi0gezE2LCAweGRjYzAsIDAsIHsweGQwLDB4NGIsMHgzMCwweDAyLDB4Y2UsMHgwMCwweGFiLDB4MDIsMHgyYywweDQwLDB4NDgsMHhiYywweDAyLDB4MDQsMHgwMCwweDgzIH19LAotIHsxNiwgMHhkY2QwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwMCwweDA4LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZGNlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4MywweDQwLDB4YzgsMHgwMCwweDMwLDB4YzAgfX0sCi0gezE2LCAweGRjZjAsIDAsIHsweDJjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhlZiwweDg4LDB4M2YsMHhlNiwweDA3LDB4YjEsMHg4MywweGUxLDB4MDAsMHhiZiwweDAwIH19LAotIHsxNiwgMHhkZDAwLCAwLCB7MHgzZSwweGUwLDB4MGMsMHhiOCwweDAzLDB4MzQsMHgwMCwweGNmLDB4MDAsMHgzZiwweGMwLDB4MmMsMHhiMCwweDAzLDB4NjgsMHgxMCB9fSwKLSB7MTYsIDB4ZGQxMCwgMCwgezB4ZmYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkMjAsIDAsIHsweDgwLDB4MDAsMHhlNCwweDAwLDB4ZjEsMHg0MCwweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhlZCwweDQwLDB4ZmIsMHgwOCwweDNlIH19LAotIHsxNiwgMHhkZDMwLCAwLCB7MHhjMCwweDBmLDB4YTAsMHgwMywweGU1LDB4MjAsMHhmYiwweDAwLDB4M2UsMHhlMCwweDBkLDB4YjAsMHg4MywweGU0LDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4ZGQ0MCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4YzQsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGRkNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGNhLDB4MDAsMHgzMywweGUwIH19LAotIHsxNiwgMHhkZDYwLCAwLCB7MHg0ZSwweGYwLDB4MDMsMHgzNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGU4LDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ3MCwgMCwgezB4YjEsMHg0MCwweDBjLDB4ZTAsMHgwMywweDM0LDB4MDAsMHhlZiwweDAwLDB4YjMsMHhjMCwweDBjLDB4ZjAsMHgwMywweDM4LDB4MDAgfX0sCi0gezE2LCAweGRkODAsIDAsIHsweGNmLDB4MDAsMHgzZCwweGMwLDB4MGEsMHhmMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZDkwLCAwLCB7MHg4MSwweDA0LDB4NjIsMHgyMiwweDg4LDB4OTAsMHgyMiwweGUwLDB4MDgsMHgzYywweDAyLDB4MmUsMHgwOCwweGJiLDB4MDEsMHgyZSB9fSwKLSB7MTYsIDB4ZGRhMCwgMCwgezB4YzAsMHgwYiwweGEwLDB4MDIsMHg2NiwweDAwLDB4YmIsMHgwMCwweDIyLDB4YTAsMHgwOCwweGE5LDB4MDIsMHgyNCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGRkYjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDI4LDB4MmMsMHgwMiwweGEyLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweGEwIH19LAotIHsxNiwgMHhkZGMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIyLDB4MDAsMHg5OCwweDAwLDB4MjIsMHhjOCB9fSwKLSB7MTYsIDB4ZGRkMCwgMCwgezB4MGEsMHg5OCwweDAyLDB4MjcsMHgwNCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMSwweDAyLDB4ZTIsMHgwMCwweGJiLDB4MDAgfX0sCi0gezE2LCAweGRkZTAsIDAsIHsweDIyLDB4ZTIsMHgwOCwweGIwLDB4MDIsMHhhNCwweDAwLDB4YWIsMHgwMCwweDIwLDB4YzAsMHgwYSwweDg4LDB4ODIsMHgyMywweDAwIH19LAotIHsxNiwgMHhkZGYwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGUwMCwgMCwgezB4MDgsMHgxNCwweDA0LDB4MDAsMHg5MSwweDQwLDB4MjIsMHhjMCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MmMgfX0sCi0gezE2LCAweGRlMTAsIDAsIHsweGMwLDB4NGIsMHgyOCwweDIyLDB4NDAsMHgwNCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgzMCwweDBhLDB4MDQsMHgwNCwweGIzIH19LAotIHsxNiwgMHhkZTIwLCAwLCB7MHgwMCwweDYwLDB4YzAsMHgwOCwweDAwLDB4MDIsMHg4NCwweDIwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDMwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4ZGUzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2MCwweDAwLDB4ZGEsMHg0MCwweGIyLDB4ODAgfX0sCi0gezE2LCAweGRlNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4YTAsMHgwMywweGUwLDB4MDksMHhmZiwweDAwIH19LAotIHsxNiwgMHhkZTUwLCAwLCB7MHgzMiwweDQwLDB4MDgsMHhhMCwweDBiLDB4MzQsMHgwMCwweGViLDB4MDAsMHgzMSwweGMwLDB4MGMsMHg4MCwweDAzLDB4MjgsMHg4MCB9fSwKLSB7MTYsIDB4ZGU2MCwgMCwgezB4YzcsMHgwMCwweDNmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlNzAsIDAsIHsweGEwLDB4MTUsMHhkMCwweDAwLDB4ZWMsMHgyMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MGIsMHhmYywweDEwLDB4ZmYsMHgwMSwweDNmIH19LAotIHsxNiwgMHhkZTgwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHgwMywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY0LDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ZGU5MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4NGYsMHhjMCwweDAxLDB4ZjAsMHgwOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGRlYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGNjLDB4OTAsMHgzNywweDIwIH19LAotIHsxNiwgMHhkZWIwLCAwLCB7MHgwZSwweGYwLDB4MTMsMHhiZCwweDA0LDB4ZDQsMHhjMSwweDMzLDB4MmMsMHg0YywweGQ5LDB4MjMsMHgzMiwweDYwLDB4ZmYsMHgyMCB9fSwKLSB7MTYsIDB4ZGVjMCwgMCwgezB4M2QsMHhlMCwweDRmLDB4YzEsMHgwMywweGI2LDB4NDAsMHhjZCwweDAwLDB4MzcsMHhlMCwweDBjLDB4ZTIsMHg4YiwweDEwLDB4YzAgfX0sCi0gezE2LCAweGRlZDAsIDAsIHsweGNkLDB4MDAsMHgzMywweGM2LDB4MGYsMHhkOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZWUwLCAwLCB7MHg4MCwweDEwLDB4ZWUsMHgwOCwweDhhLDB4MjAsMHgyMiwweDAwLDB4MDgsMHhiNywweDAyLDB4MmQsMHgwMCwweDhhLDB4MDAsMHhiNiB9fSwKLSB7MTYsIDB4ZGVmMCwgMCwgezB4M2MsMHgwOCwweDk5LDB4MDIsMHgyNywweDg0LDB4YmYsMHg2OCwweDJlLDB4ODIsMHgwYiwweDAxLDB4MDIsMHgyNCwweDQwLDB4ZDkgfX0sCi0gezE2LCAweGRmMDAsIDAsIHsweDQyLDB4MjAsMHhjMCwweDhhLDB4YWMsMHgwMiwweDJkLDB4YzIsMHg4MiwweDQ4LDB4YTIsMHhkMCwweDBiLDB4ODIsMHgwMiwweDIwIH19LAotIHsxNiwgMHhkZjEwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg4OCwweDA0LDB4MjYsMHg4MCB9fSwKLSB7MTYsIDB4ZGYyMCwgMCwgezB4MmEsMHgzMCwweGMyLDB4YTUsMHg4MCwweGE5LDB4MjEsMHgyOCwweDAwLDB4OGEsMHgwMCwweDAyLDB4MDAsMHgwMCwweGEzLDB4MTAgfX0sCi0gezE2LCAweGRmMzAsIDAsIHsweDJjLDB4YzgsMHgwYiwweDAwLDB4MDIsMHhjNCwweDkwLDB4ODMsMHg0MiwweDI0LDB4YzEsMHgwOCwweDAwLDB4MDIsMHg0MCwweDg4IH19LAotIHsxNiwgMHhkZjQwLCAwLCB7MHhhMywweDYwLDB4YTgsMHhjMCwweDBiLDB4MDAsMHhjMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY1MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDYsMHg4YSwweDAwLDB4MjIsMHhlMCwweDQ4LDB4YjAsMHgwMiwweDJlLDB4MDIsMHhhYiwweDgwLDB4MmUgfX0sCi0gezE2LCAweGRmNjAsIDAsIHsweDIwLDB4NGEsMHg4YywweDAyLDB4MjYsMHgyMCwweGJiLDB4MDAsMHg2ZSwweDgwLDB4MGIsMHgzMCwweGMyLDB4NDYsMHgwNCwweDliIH19LAotIHsxNiwgMHhkZjcwLCAwLCB7MHgwYSwweGEyLDB4YzAsMHgwYSwweDgwLDB4MTIsMHg2YywweDQwLDB4YTgsMHgwMCwweDJhLDB4YzAsMHgwYiwweDhjLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4ZGY4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzEsMHgwOSwweDM2LDB4NjEgfX0sCi0gezE2LCAweGRmOTAsIDAsIHsweDBlLDB4MzIsMHgwMywweGFiLDB4MjAsMHhmOCwweDg0LDB4M2EsMHg3OCwweDJlLDB4OTgsMHgwMywweDI2LDB4MDAsMHhlYiwweDAwIH19LAotIHsxNiwgMHhkZmEwLCAwLCB7MHgzZSwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTIsMHgwMCwweGM5LDB4NDAsMHgzNiwweGUwLDB4MGMsMHhiNCwweDAzLDB4NmUsMHgwMCB9fSwKLSB7MTYsIDB4ZGZiMCwgMCwgezB4ZWIsMHgwMCwweDNhLDB4YzAsMHgwZiwweDg4LDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmYzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGZhLDB4MTMsMHhmOCwweDEwLDB4ZGMsMHgwNCwweDI3IH19LAotIHsxNiwgMHhkZmQwLCAwLCB7MHg0MCwweDBkLDB4NTAsMHg0MywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDksMHgwMywweGIwLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZGZlMCwgMCwgezB4MDEsMHgzZiwweGYwLDB4MGYsMHhmMCwweDIzLDB4YjIsMHgwMCwweGQ0LDB4YTAsMHgzNywweGMwLDB4MGYsMHhjMCwweDBiLDB4ZjggfX0sCi0gezE2LCAweGRmZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgyMCwweGViLDB4MTAsMHhmMiwweDAwIH19LAotIHsxNiwgMHhlMDAwLCAwLCB7MHgwZSwweGI0LDB4MDMsMHgyMSwweDgwLDB4YzksMHg0MCwweDNhLDB4NDgsMHgwZiwweDkwLDB4MTMsMHhlMSwweDIwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ZTAxMCwgMCwgezB4M2UsMHhjMCwweDBjLDB4ODQsMHgwMywweDI0LDB4MDAsMHhmYiwweDAxLDB4MzYsMHhlMCwweDBjLDB4NzQsMHgwYiwweDljLDB4MDAgfX0sCi0gezE2LCAweGUwMjAsIDAsIHsweGNmLDB4MDAsMHgzMiwweGUwLDB4MGYsMHg4NCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMDMwLCAwLCB7MHhjOCwweDA1LDB4MWUsMHgwMCwweDhiLDB4ODAsMHgyMCwweDQwLDB4MDgsMHhiOCwweDAyLDB4ODMsMHg4MCwweDgxLDB4YTAsMHgyMiB9fSwKLSB7MTYsIDB4ZTA0MCwgMCwgezB4NzgsMHgwYiwweDkxLDB4ODMsMHhlMywweDAwLDB4YmYsMHgwMCwweDBlLDB4YzEsMHgwYSwweGI0LDB4MDMsMHg2NCwweDA0LDB4YjkgfX0sCi0gezE2LCAweGUwNTAsIDAsIHsweDUwLDB4MzIsMHhjMCwweDBhLDB4YjIsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhkNCwweDBiLDB4ODgsMHgwMiwweGYyIH19LAotIHsxNiwgMHhlMDYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4NDIsMHhhMCwweDgwLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZTA3MCwgMCwgezB4NDgsMHgwMCwweDAyLDB4MGQsMHgwNiwweDgwLDB4ODAsMHgyYSwweGQwLDB4MDMsMHgwMCwweDAyLDB4YzgsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGUwODAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDM2LDB4MDIsMHg0MCwweDAwLDB4YjksMHgwMiwweDIyLDB4YzIsMHg4YiwweDI2LDB4MDIsMHgwYywweDEwIH19LAotIHsxNiwgMHhlMDkwLCAwLCB7MHgwMSwweDAyLDB4MjQsMHhjMCwweDRiLDB4YTEsMHgwMiwweGY4LDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBhMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDgsMHg4ZSwweDgwLDB4MjEsMHgyMSwweDA4LDB4MjgsMHhjMiwweDllLDB4MDAsMHg4ZSwweDgwLDB4MjEgfX0sCi0gezE2LCAweGUwYjAsIDAsIHsweDYwLDB4MGIsMHg3OCwweDAyLDB4OWUsMHgyMCwweGI3LDB4ODIsMHgyZiwweGExLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweGI1IH19LAotIHsxNiwgMHhlMGMwLCAwLCB7MHg5MSwweGExLDB4ZTAsMHgwYiwweDI5LDB4MDIsMHgzMiwweDQ0LDB4ODYsMHg4MCwweGE1LDB4ZTAsMHgwYiwweDRjLDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZTBkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZTEsMHgwMCwweDIyLDB4ODAgfX0sCi0gezE2LCAweGUwZTAsIDAsIHsweDBlLDB4MDAsMHgwYiwweDI0LDB4MDAsMHhjMCwweDQ0LDB4MjgsMHhhZCwweDBmLDB4MjAsMHgwMiwweGM4LDB4MDAsMHhmMywweDAwIH19LAotIHsxNiwgMHhlMGYwLCAwLCB7MHgxYywweGMwLDB4MGMsMHgwMSwweDAzLDB4NDgsMHg0YywweGYyLDB4MDQsMHgzMCwweGMwLDB4MGYsMHgxNSwweDAzLDB4ODAsMHg0MCB9fSwKLSB7MTYsIDB4ZTEwMCwgMCwgezB4YzEsMHgwMCwweDE0LDB4YzgsMHgwZiwweDAwLDB4MDMsMHhkYSwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDQwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGMwLDB4MDMsMHhlNCwweDAwLDB4ZmEsMHgwMSwweDNmIH19LAotIHsxNiwgMHhlMTIwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDgsMHhmYiwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMSwweGZjLDB4MTAsMHhmZiB9fSwKLSB7MTYsIDB4ZTEzMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGUsMHhkMSwweDAzLDB4ZmMsMHg0MiwweGZlLDB4ODAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGUxNDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGM4LDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhlMTUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlZSwweDA4LDB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwZiwweGEwLDB4MjMsMHhlNiwweDAzLDB4Y2IsMHg0YyB9fSwKLSB7MTYsIDB4ZTE2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YjAsMHgwNywweGU4LDB4MDAsMHhmOSwweDAwLDB4MTYsMHg0MCwweDBjLDB4YTAsMHgwYiwweDZjLDB4MDAgfX0sCi0gezE2LCAweGUxNzAsIDAsIHsweGNmLDB4MDIsMHgzMiwweGM1LDB4MGMsMHg4MCwweDAzLDB4MDIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg4MCwweDg0LDB4MDQsMHgyZCwweGMxLDB4MGIsMHg0MCwweDQwLDB4ZGMsMHgwMCwweDg3LDB4MDQsMHgyMSB9fSwKLSB7MTYsIDB4ZTE5MCwgMCwgezB4YzAsMHg0YiwweDcwLDB4MTIsMHhmYywweDAxLDB4OGYsMHg2MCwweDI5LDB4NDAsMHgwYiwweDcwLDB4MTMsMHg5YywweDAwLDB4YjUgfX0sCi0gezE2LCAweGUxYTAsIDAsIHsweDAwLDB4YTMsMHg0MCwweDBhLDB4NjAsMHgwMiwweDAwLDB4MDAsMHg4NCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NDAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhlMWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NywweDgwLDB4MmQsMHhhMiB9fSwKLSB7MTYsIDB4ZTFjMCwgMCwgezB4MGIsMHg0YywweDE2LDB4ZDYsMHgwOCwweDk3LDB4ODgsMHgyMSwweGEwLDB4NGIsMHg2OCwweDAyLDB4ZGUsMHgwNCwweGE3LDB4ODAgfX0sCi0gezE2LCAweGUxZDAsIDAsIHsweDIxLDB4ZTAsMHgwYiwweDQ4LDB4MDIsMHhkYSwweDA0LDB4YjYsMHg4MiwweDI1LDB4NjAsMHgwYSwweGU4LDB4NjIsMHgxZSwweDAwIH19LAotIHsxNiwgMHhlMWUwLCAwLCB7MHg4NywweDgwLDB4MjAsMHhlOCwweDA4LDB4NDgsMHgwMiwweDA4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4YiwweDgwLDB4NmMsMHhmMCwweDBiLDB4M2MsMHgwMiwweGNlLDB4NDYsMHg5YiwweGMwLDB4MjAgfX0sCi0gezE2LCAweGUyMDAsIDAsIHsweGU0LDB4MGIsMHgzYywweDAyLDB4Y2MsMHgyMCwweGEzLDB4MDAsMHgyOCwweGUwLDB4MGIsMHgzMCwweDAyLDB4OGQsMHg4MCwweGIxIH19LAotIHsxNiwgMHhlMjEwLCAwLCB7MHg4MCwweDIyLDB4NDQsMHgwYSwweDIxLDB4MGEsMHgwMywweDgyLDB4ODAsMHg4MCwweGEwLDB4YzAsMHgwOCwweDA2LDB4MGEsMHgxMiB9fSwKLSB7MTYsIDB4ZTIyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAyLDB4Y2UsMHg4MCwweDNmLDB4YTAgfX0sCi0gezE2LCAweGUyMzAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGZhLDB4NDAsMHhkZSwweGMwLDB4YjMsMHg5MCwweDBmLDB4ZWEsMHgxMywweGY5LDB4MDgsMHhlYSwweDA0IH19LAotIHsxNiwgMHhlMjQwLCAwLCB7MHgzMywweDgyLDB4OGYsMHhlNCwweDAzLDB4ZmIsMHgwOCwweGZlLDB4YTAsMHgzNiwweGEwLDB4MGMsMHhhYywweDBiLDB4NmIsMHg4MiB9fSwKLSB7MTYsIDB4ZTI1MCwgMCwgezB4YzYsMHhhMCwweDMyLDB4ODAsMHgyYywweGU0LDB4MDMsMHgzYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg5MCwweDNlLDB4MDIsMHgwZiwweDgwLDB4ODMsMHhlMSwweDAwLDB4ZTgsMHgyMCwweDNlIH19LAotIHsxNiwgMHhlMjcwLCAwLCB7MHgwMywweDBmLDB4ODIsMHgwMywweGUxLDB4NDAsMHhkOCwweDAwLDB4M2UsMHgyMCwweDBmLDB4MDAsMHg5MywweGEwLDB4NDAsMHhmOCB9fSwKLSB7MTYsIDB4ZTI4MCwgMCwgezB4MDAsMHgzZSwweDEwLDB4OGYsMHgwOCwweDBiLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGUyOTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhlMmEwLCAwLCB7MHgwZiwweDk0LDB4MDcsMHhlNiwweDAwLDB4ZjksMHg4MCwweGIwLDB4NDAsMHgwYywweDk0LDB4MDMsMHhlNCwweDQwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZTJiMCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OTQsMHgwYiwweGE0LDB4MDAsMHg3MSwweGMwLDB4MzIsMHg0MCwweDJjLDB4OTQsMHgyMywweDI0LDB4MDIgfX0sCi0gezE2LCAweGUyYzAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmQwLCAwLCB7MHg4MCwweDA0LDB4NDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5OCwweDAyLDB4ZTYsMHg2MCwweGI5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZTJlMCwgMCwgezB4NjAsMHgwYSwweDljLDB4MDIsMHhlNiwweDI0LDB4YjksMHgwNCwweDM2LDB4NDAsMHgwYiwweDk4LDB4MDAsMHgyNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGUyZjAsIDAsIHsweDgwLDB4YTIsMHg1MiwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg0MCwweDY4LDB4OTQsMHgwMiwweDIwIH19LAotIHsxNiwgMHhlMzAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MjYsMHg0MCB9fSwKLSB7MTYsIDB4ZTMxMCwgMCwgezB4MDMsMHg5NCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MTAsMHgyMiwweDU1LDB4MDgsMHg5MCwweDIyLDB4ZTQsMHgwMCwweGIxLDB4MDAgfX0sCi0gezE2LCAweGUzMjAsIDAsIHsweDI2LDB4NDAsMHgwYiwweDkwLDB4MDAsMHgyYywweDA5LDB4YjksMHgwMCwweDIyLDB4NjAsMHgwOCwweDkwLDB4MGEsMHgxYywweDA0IH19LAotIHsxNiwgMHhlMzMwLCAwLCB7MHg4ZCwweDA4LDB4YTAsMHg0MCwweDA4LDB4MTAsMHg4MiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM0MCwgMCwgezB4MDgsMHgwNCwweDA2LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg1MCwweDBiLDB4MTIsMHg0MiwweGM0LDB4ODAsMHhiMSwweDA0LDB4MjAgfX0sCi0gezE2LCAweGUzNTAsIDAsIHsweDUwLDB4MGEsMHgxNCwweDAyLDB4YzUsMHgwMCwweGIxLDB4MjIsMHgyNCwweDQwLDB4MGIsMHgxMiwweDIyLDB4MDQsMHgwMSwweGIxIH19LAotIHsxNiwgMHhlMzYwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHgwOCwweDEwLDB4MGEsMHgxNSwweDAwLDB4ODUsMHg0MCwweDI4LDB4NTAsMHgwOCwweDE0LDB4MGEsMHgwYSB9fSwKLSB7MTYsIDB4ZTM3MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZTgsMHg1MCwweDM2LDB4MDAgfX0sCi0gezE2LCAweGUzODAsIDAsIHsweDBmLDB4ODUsMHgwMiwweGUxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4YTAsMHgyMywweGUwLDB4MTAsMHhmOCwweDUwIH19LAotIHsxNiwgMHhlMzkwLCAwLCB7MHhiMiwweDE0LDB4MGYsMHhhNSwweDAzLDB4YTEsMHg0OCwweGZhLDB4MDAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwNCB9fSwKLSB7MTYsIDB4ZTNhMCwgMCwgezB4YzQsMHgwMiwweDMyLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzYjAsIDAsIHsweDk4LDB4MWQsMHhlNSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhkNCwweDQ0LDB4ZjUsMHgwMCwweDNmIH19LAotIHsxNiwgMHhlM2MwLCAwLCB7MHg1MSwweDBmLDB4ZDQsMHgwMywweGY1LDB4MDAsMHhmOSwweDEwLDB4M2IsMHg0MCwweDBmLDB4ZDEsMHgwMCwweGY1LDB4MTAsMHhmNSB9fSwKLSB7MTYsIDB4ZTNkMCwgMCwgezB4NDAsMHg3ZiwweDQwLDB4MGYsMHg1NCwweDJiLDB4ZTUsMHgwMCwweGY5LDB4NDAsMHgzNiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGUzZTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgxMCwweGJkLDB4NDAsMHgzMywweDQwIH19LAotIHsxNiwgMHhlM2YwLCAwLCB7MHgwZiwweGRhLDB4MDMsMHgzNywweDgwLDB4Y2QsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZTksMHhhMCB9fSwKLSB7MTYsIDB4ZTQwMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4ZGUsMHgxNywweGE0LDB4MDgsMHhmZCwweGMwLDB4MzMsMHg0MSwweDhkLDB4ZGEsMHgxMywweDI2LDB4YTAgfX0sCi0gezE2LCAweGU0MTAsIDAsIHsweGY5LDB4YTgsMHgzMiwweDc4LDB4MGMsMHhiNCwweDBiLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4YTAsMHgzNiwweDIwLDB4MGIsMHg4YSwweDgyLDB4YTIsMHg4MCwweDJhLDB4YTgsMHgyZSB9fSwKLSB7MTYsIDB4ZTQzMCwgMCwgezB4MDAsMHgwYiwweDgwLDB4MTIsMHhlMCwweDA0LDB4YjgsMHhhMSwweDJlLDB4MjgsMHg0YSwweDhlLDB4MDIsMHgyYSwweGEwLDB4YmEgfX0sCi0gezE2LCAweGU0NDAsIDAsIHsweGMwLDB4MjIsMHgyOCwweDA4LDB4ODUsMHgwMiwweDIxLDB4MDgsMHhiOCwweGU4LDB4YTIsMHgzYywweDA4LDB4YzgsMHgwMiwweDBlIH19LAotIHsxNiwgMHhlNDUwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiOSwweDAwLDB4MjAsMHg0YSB9fSwKLSB7MTYsIDB4ZTQ2MCwgMCwgezB4MGIsMHgxNCwweDAyLDB4MDUsMHg4MCwweDAxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwNCwweGExLDB4NGEgfX0sCi0gezE2LCAweGU0NzAsIDAsIHsweDJlLDB4NDIsMHgwOCwweDE0LDB4MDIsMHg4NCwweDEwLDB4YjEsMHg2MCwweGEwLDB4NGEsMHgwOSwweDEwLDB4MDIsMHg0NCwweDAwIH19LAotIHsxNiwgMHhlNDgwLCAwLCB7MHhiNSwweDAxLDB4MjksMHg0MCwweDE4LDB4ZDIsMHgwMiwweDEyLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDIxLDB4MjYsMHg0MCwweDBiLDB4OTYsMHgwMiwweGE0LDB4MTAsMHhhOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGU0YTAsIDAsIHsweDQwLDB4MGIsMHg5NiwweDEyLDB4ZTQsMHgyMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MGEsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlNGIwLCAwLCB7MHgwMCwweDIyLDB4NDEsMHgwOCwweDk4LDB4MjIsMHg2NCwweDAwLDB4YjksMHgyMCwweDJiLDB4NDEsMHgyOCwweGQ0LDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ZTRjMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZjksMHhlMCwweDMyLDB4NTggfX0sCi0gezE2LCAweGU0ZDAsIDAsIHsweDBmLDB4OTgsMHgwMywweDI2LDB4NDAsMHhjOSwweDQwLDB4M2UsMHg1OCwweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwIH19LAotIHsxNiwgMHhlNGUwLCAwLCB7MHg2ZSwweDQwLDB4MGMsMHg5YSwweDAyLDB4YTYsMHgwMCwweGY5LDB4NDQsMHgzMiwweDQwLDB4MGQsMHg5YSwweDBiLDB4NjQsMHg4NCB9fSwKLSB7MTYsIDB4ZTRmMCwgMCwgezB4ZjksMHgwMCwweGJhLDB4NDAsMHgwYywweDE4LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MDAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwNCwweDNlIH19LAotIHsxNiwgMHhlNTEwLCAwLCB7MHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg2NSwweDBmLDB4OTksMHg4MSwweGU0LDB4NTAsMHhmOSB9fSwKLSB7MTYsIDB4ZTUyMCwgMCwgezB4MjAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5LDB4MDAsMHgzNCwweDQwLDB4MGYsMHg5MiwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGU1MzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDEwIH19LAotIHsxNiwgMHhlNTQwLCAwLCB7MHgwZSwweDg0LDB4MDMsMHg2MCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MDgsMHgwZiwweDgwLDB4ODMsMHhlMCwweDI4LDB4ZTgsMHgwNCB9fSwKLSB7MTYsIDB4ZTU1MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODQsMHgwMywweDIxLDB4MWMsMHhmMCwweDQ4LDB4MzIsMHgwMCwweDBiLDB4MDAsMHgwMywweGUwLDB4MDIgfX0sCi0gezE2LCAweGU1NjAsIDAsIHsweGMwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHhjMCwweDBiLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTcwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGIyLDB4ODgsMHgyZSwweDgwLDB4MDgsMHhlMCwweDAzLDB4N2EsMHg4MCwweDhlLDB4MDAsMHgyZiB9fSwKLSB7MTYsIDB4ZTU4MCwgMCwgezB4YTAsMHgwYiwweGU4LDB4MDIsMHhmOSwweDEwLDB4YmEsMHgwMCwweDJjLDB4ODAsMHgyOCwweGU0LDB4MDIsMHgyOCwweDAwLDB4YmUgfX0sCi0gezE2LCAweGU1OTAsIDAsIHsweDQwLDB4MjMsMHhiOCwweDA4LDB4ZTgsMHgwMiwweGU4LDB4MDQsMHhjYSwweDIwLDB4YTIsMHg4MCwweDA4LDB4ZTgsMHgwMiwweDBhIH19LAotIHsxNiwgMHhlNWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDEsMHhiMywweDAwLDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4ZTViMCwgMCwgezB4MDgsMHhiOCwweDQyLDB4NmMsMHgwMiwweDgzLDB4MDAsMHgyYywweGUwLDB4MGIsMHgzOCwweDAwLDB4Y2YsMHg0MCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGU1YzAsIDAsIHsweDJjLDB4YzAsMHgwOCwweGI0LDB4MGEsMHgwYywweDAwLDB4YjMsMHg0MCwweGEyLDB4ODIsMHgwYSwweDM5LDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHhlNWQwLCAwLCB7MHg5MywweDgwLDB4YTAsMHhjMCwweDI5LDB4MjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVlMCwgMCwgezB4YTAsMHgwMSwweDFkLDB4MDAsMHhiNywweDAwLDB4MmQsMHg2NCwweDI4LDB4NzQsMHgwMiwweDQwLDB4MDAsMHg4NywweDA1LDB4MmQgfX0sCi0gezE2LCAweGU1ZjAsIDAsIHsweDkwLDB4MGIsMHg3NCwweDAyLDB4ZGMsMHgxMCwweGI3LDB4MzAsMHgyZCwweGM4LDB4MDgsMHgzNCwweDA2LDB4MWMsMHg4MCwweGI3IH19LAotIHsxNiwgMHhlNjAwLCAwLCB7MHgwMCwweGExLDB4YzAsMHgwYSwweDcwLDB4MDIsMHhkZSwweDgwLDB4ODMsMHgwMCwweDAxLDB4MDAsMHgwOSwweDYwLDB4ODIsMHgyMCB9fSwKLSB7MTYsIDB4ZTYxMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxYSwweDAwLDB4ZjcsMHg4MCwweDNkLDB4NjAgfX0sCi0gezE2LCAweGU2MjAsIDAsIHsweDBlLDB4ZDgsMHgwYiwweDVlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDBmLDB4NjgsMHgwMywweGRlLDB4MTAsMHhmNywweGE5IH19LAotIHsxNiwgMHhlNjMwLCAwLCB7MHg3ZiwweGU4LDB4NDgsMHg3OCwweDAzLDB4MWYsMHgzMCwweGZmLDB4OTQsMHgzMywweGEwLDB4MGUsMHg3OCwweDAzLDB4Y2YsMHgyNCB9fSwKLSB7MTYsIDB4ZTY0MCwgMCwgezB4ZDYsMHg4MCwweGIxLDB4ZTAsMHgwZCwweGY4LDB4NDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4YmIsMHgwMCwweDBjLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDA4LDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhlNjYwLCAwLCB7MHgwMCwweDBmLDB4OTAsMHg0MSwweGVjLDB4MDAsMHhmYiwweDYxLDB4N2UsMHhkMCwweDBmLDB4YjAsMHgwMywweGVjLDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ZTY3MCwgMCwgezB4NDAsMHgzZiwweDliLDB4MGMsMHhiMCwweDAzLDB4ZWQsMHg5MCwweGZhLDB4MDAsMHgzYywweDAwLDB4MGUsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGU2ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZGUsMHgwMCwweGVmLDB4ODAsMHgzMywweDYwIH19LAotIHsxNiwgMHhlNjkwLCAwLCB7MHgwZCwweGQ4LDB4MDMsMHgzNiwweDQwLDB4ZWYsMHg5MCwweDNlLDB4ZTAsMHgwZiwweGY5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4ZTZhMCwgMCwgezB4MzMsMHhmZSwweDBjLDB4ZmEsMHgwMywweGZlLDB4MDAsMHhjZiwweDgwLDB4YjMsMHhlMCwweDBmLDB4ZjgsMHgwMywweGZlLDB4MDAgfX0sCi0gezE2LCAweGU2YjAsIDAsIHsweGNkLDB4ODAsMHgzMywweGUwLDB4MGYsMHhjOCwweDQzLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDg1LDB4MDgsMHgzNSwweDQwLDB4MDgsMHg3MCwweDAzLDB4NTIsMHgyMCwweDg3LDB4MTEsMHgyYyB9fSwKLSB7MTYsIDB4ZTZkMCwgMCwgezB4ZWMsMHgwYiwweDcxLDB4MDIsMHhkMCwweDAwLDB4ZTcsMHgwMCwweDM1LDB4YzQsMHgwOCwweDc0LDB4MDIsMHhkYywweDQwLDB4ODcgfX0sCi0gezE2LCAweGU2ZTAsIDAsIHsweDEwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGZjLDB4ODAsMHg4NSwweDA4LDB4MjEsMHgwMCwweDBiLDB4NDEsMHg4MiwweGVhIH19LAotIHsxNiwgMHhlNmYwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MDAsMHhhZiwweDAwLDB4MjMsMHg1MCB9fSwKLSB7MTYsIDB4ZTcwMCwgMCwgezB4MDksMHg1MCwweDAyLDB4MWMsMHg4MCwweGE3LDB4MDEsMHgyOSwweGMwLDB4MWIsMHg2MCwweDA2LDB4ZGMsMHg0MCwweGI3LDB4MTAgfX0sCi0gezE2LCAweGU3MTAsIDAsIHsweDIxLDB4YzgsMHg0YSwweDUyLDB4MDIsMHhkYywweDAwLDB4ODMsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYywweDEzIH19LAotIHsxNiwgMHhlNzIwLCAwLCB7MHg4NCwweDAwLDB4MjUsMHhjMCwweDBiLDB4NTgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTczMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MSwweDgwLDB4MjQsMHg0MCwweDA4LDB4M2UsMHgwMiwweDZlLDB4MDAsMHg4OSwweDAwLDB4MmMgfX0sCi0gezE2LCAweGU3NDAsIDAsIHsweGMwLDB4MGIsMHhiNCwweDAyLDB4Y2EsMHg4MCwweGEzLDB4MDAsMHgyNCwweGMwLDB4MGEsMHgwNCwweDAyLDB4ZWMsMHg0MCwweDgyIH19LAotIHsxNiwgMHhlNzUwLCAwLCB7MHgwYSwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDEwLDB4ODAsMHhjMCwweGE0LDB4MDAsMHgwYiwweDFjLDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZTc2MCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4NCwweDAwLDB4ZWIsMHg4MCwweDMzLDB4NDAgfX0sCi0gezE2LCAweGU3NzAsIDAsIHsweDBkLDB4OGMsMHg4MywweDI2LDB4MDAsMHhlOSwweGEwLDB4M2UsMHg3OCwweDhmLDB4OTAsMHg4MywweGUxLDB4MDAsMHhmZiwweDAwIH19LAotIHsxNiwgMHhlNzgwLCAwLCB7MHgzMSwweGQxLDB4MGUsMHg4NCwweDIzLDB4ZmMsMHgwMCwweGNiLDB4ODIsMHgzMiwweGMwLDB4OGYsMHhiMCwweDAyLDB4ZmQsMHg0MCB9fSwKLSB7MTYsIDB4ZTc5MCwgMCwgezB4Y2IsMHg4MCwweGI2LDB4YzAsMHgwZiwweGE0LDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3YTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwLDB4ZjksMHgwMSwweDNlIH19LAotIHsxNiwgMHhlN2IwLCAwLCB7MHg0MiwweDBmLDB4OTAsMHgwMywweGU1LDB4NTQsMHhlMywweDAwLDB4M2UsMHhjOCwweDA1LDB4OTMsMHgwMywweGVjLDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ZTdjMCwgMCwgezB4YzEsMHgzZSwweGMwLDB4MGYsMHgyMCwweDAzLDB4Y2MsMHg0OCwweGYzLDB4MDgsMHgzYSwweDAwLDB4MGYsMHhhMCwweDQzLDB4ZTAgfX0sCi0gezE2LCAweGU3ZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGNmLDB4MDAsMHgzZiwweDQwIH19LAotIHsxNiwgMHhlN2UwLCAwLCB7MHgwZiwweDMwLDB4MDEsMHgyYywweDBhLDB4Y2QsMHgxMCwweDMzLDB4MDAsMHgwZiwweGQwLDB4ODMsMHgxNCwweDAwLDB4Y2IsMHgwMiB9fSwKLSB7MTYsIDB4ZTdmMCwgMCwgezB4MzMsMHhjMCwweDBjLDB4ZTEsMHgwMywweGVjLDB4MTAsMHhjZCwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgzMywweDNjLDB4MDAgfX0sCi0gezE2LCAweGU4MDAsIDAsIHsweGVhLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDgzLDB4YzgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODEwLCAwLCB7MHg4MSwweDA0LDB4NmUsMHgwMCwweDhiLDB4MDAsMHgyZSwweDQwLDB4MGIsMHhiYywweDAyLDB4MmUsMHgwMCwweDBiLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZTgyMCwgMCwgezB4MzAsMHgwYiwweDljLDB4MDIsMHgyNywweDgwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGI4LDB4MDIsMHhlYywweDAwLDB4ODkgfX0sCi0gezE2LCAweGU4MzAsIDAsIHsweGMwLDB4MjAsMHhlMCwweDA4LDB4YWUsMHgwMiwweDJjLDB4MDgsMHg4YSwweDAwLDB4MjIsMHgwMCwweDA4LDB4YjAsMHg0MiwweGU4IH19LAotIHsxNiwgMHhlODQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJlLDB4MDAsMHg4YiwweDA0LDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ZTg1MCwgMCwgezB4OGIsMHg4YywweDAyLDB4YWUsMHgxMCwweDg5LDB4MDAsMHgyMiwweDcwLDB4MGIsMHg4YywweDAyLDB4YTIsMHgwMCwweDhiLDB4MDEgfX0sCi0gezE2LCAweGU4NjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDgwLDB4MDIsMHhlYywweDEwLDB4ODIsMHg4OCwweGEyLDB4NzAsMHgwOSwweGI4LDB4MDIsMHgyYywweDA4IH19LAotIHsxNiwgMHhlODcwLCAwLCB7MHg4OSwweDAwLDB4MjAsMHhjMCwweDI4LDB4ODAsMHgyMiwweGUwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHg4MSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MjAsMHgwMiwweDgwLDB4MDAsMHg4MSwweDA0LDB4YTAgfX0sCi0gezE2LCAweGU4OTAsIDAsIHsweDUwLDB4NGIsMHgwMCwweDBhLDB4ODAsMHgwMCwweGEzLDB4MDEsMHgyYSwweGMxLDB4MjAsMHgxMCwweDAyLDB4Y2MsMHgxNCwweDgzIH19LAotIHsxNiwgMHhlOGEwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweDIwLDB4MDIsMHgwYywweDAwLDB4ODEsMHgwMCwweGUwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZThiMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGU4YzAsIDAsIHsweDBmLDB4OTAsMHgwYiwweGFjLDB4ODAsMHhjOSwweDAwLDB4MzIsMHgxMCwweDBmLDB4ODAsMHgwMywweGE0LDB4MDAsMHhjZiwweDAyIH19LAotIHsxNiwgMHhlOGQwLCAwLCB7MHgzMSwweGMwLDB4MGMsMHg4MCwweDEzLDB4ZmMsMHgwMiwweGNkLDB4MDAsMHgzMywweGMwLDB4MmMsMHg5MCwweDAzLDB4M2MsMHgwMiB9fSwKLSB7MTYsIDB4ZThlMCwgMCwgezB4ZTgsMHgwMCwweGIyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAyLDB4ZjUsMHgwMCwweDNkLDB4NDAsMHg4ZiwweGYwLDB4MjMsMHg2ZCwweDAwLDB4ZmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHhlOTAwLCAwLCB7MHgwNCwweDBmLDB4YzAsMHgwMywweDcwLDB4MWMsMHhmZiwweDAxLDB4M2YsMHhjMCwweDRmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4ZTkxMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhlMCwweDBmLDB4ZmMsMHgxOCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGU5MjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGQ3LDB4MDIsMHgwZiwweDMwIH19LAotIHsxNiwgMHhlOTMwLCAwLCB7MHgwYywweGYyLDB4MDEsMHg3ZSwweDA2LDB4NDQsMHgzMCwweDNmLDB4MjAsMHgwZSwweGYwLDB4MDIsMHg3YywweDg0LDB4ZmQsMHgyMCB9fSwKLSB7MTYsIDB4ZTk0MCwgMCwgezB4MjcsMHgwOCwweDBjLDB4ZDAsMHgwMSwweDM2LDB4MDAsMHhmZiwweDYwLDB4MzMsMHhjYywweDBiLDB4ZjEsMHgxMywweDJjLDB4YzQgfX0sCi0gezE2LCAweGU5NTAsIDAsIHsweGZmLDB4MzAsMHgwZiwweGNkLDB4MGMsMHhmNCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTYwLCAwLCB7MHg4MCwweDEwLDB4ZWUsMHgwMCwweDhmLDB4YzAsMHgyZSwweDAwLDB4MDgsMHhmYywweDAyLDB4MmUsMHgwMCwweDhhLDB4MzAsMHgyOCB9fSwKLSB7MTYsIDB4ZTk3MCwgMCwgezB4NTIsMHgwOCwweGY2LDB4ODIsMHgzYywweDY4LDB4YmQsMHg5MCwweDMyLDB4MzQsMHg0OCwweDljLDB4MTIsMHgyNiwweDAwLDB4Y2YgfX0sCi0gezE2LCAweGU5ODAsIDAsIHsweDQwLDB4MjMsMHhjYywweDBiLDB4ZjYsMHgwMiwweDNkLDB4MDAsMHhiZiwweDEwLDB4MmYsMHhjYywweDg4LDB4ZjYsMHgwMiwweGUwIH19LAotIHsxNiwgMHhlOTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg5MywweDEwLDB4MmMsMHgwOCB9fSwKLSB7MTYsIDB4ZTlhMCwgMCwgezB4MDksMHgzMSwweDAyLDB4NGMsMHgwMCwweDliLDB4MjAsMHg2NCwweDU4LDB4MDMsMHgzMSwweDYyLDB4NGMsMHg4MSwweGExLDB4MDAgfX0sCi0gezE2LCAweGU5YjAsIDAsIHsweDIwLDB4MDAsMHg0OCwweDE0LDB4MDIsMHg0NCwweDAwLDB4OTMsMHgzMCwweDI0LDB4YzAsMHgwYiwweDMzLDB4MDIsMHg4ZCwweDg0IH19LAotIHsxNiwgMHhlOWMwLCAwLCB7MHhiMywweDIwLDB4NmMsMHhjMCwweDJhLDB4MzYsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTlkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHg5YiwweDAyLDB4MmUsMHg0MSwweDBiLDB4YjAsMHgwMiwweGE0LDB4MDAsMHg5YSwweDAwLDB4NGEgfX0sCi0gezE2LCAweGU5ZTAsIDAsIHsweDYwLDB4ODgsMHhiMCwweDUyLDB4NmMsMHgwMSwweGI5LDB4MDAsMHgyNiwweDAwLDB4MDgsMHg5MSwweDIyLDB4ZWMsMHgwOCwweGJiIH19LAotIHsxNiwgMHhlOWYwLCAwLCB7MHgwMCwweDI2LDB4YzAsMHgwYiwweGIwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwNSwweDZlLDB4YzEsMHgwYSwweGIwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4ZWEwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZGIsMHgwMSwweDNlLDB4MzAgfX0sCi0gezE2LCAweGVhMTAsIDAsIHsweDJkLDB4MzAsMHgwMywweDQ3LDB4NjAsMHhkOCwweGEwLDB4MTYsMHgzOCwweDhmLDB4YjAsMHgwMywweDZjLDB4MDAsMHg3OSwweDAyIH19LAotIHsxNiwgMHhlYTIwLCAwLCB7MHgzMSwweDYwLDB4MGMsMHhjOCwweDBhLDB4NjYsMHgwMCwweGJiLDB4MDAsMHhiNiwweGMwLDB4MGYsMHhiMCwweDBiLDB4YWMsMHgwMCB9fSwKLSB7MTYsIDB4ZWEzMCwgMCwgezB4ZmIsMHgwMSwweDNlLDB4YzEsMHgwZSwweGIwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDEwLDB4ZWYsMHgwOCwweDNmLDB4MjQsMHgwYywweGYwLDB4MDMsMHg3NiwweDIwLDB4ZWUsMHg5MCwweDM1IH19LAotIHsxNiwgMHhlYTUwLCAwLCB7MHg0MCwweDBlLDB4NzAsMHgwMywweGFjLDB4MDAsMHhmZCwweDAwLDB4YmIsMHg2NCwweDBmLDB4ODgsMHgxMywweDM0LDB4ODAsMHhjYiB9fSwKLSB7MTYsIDB4ZWE2MCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MGYsMHhiMCwweDAzLDB4NmMsMHgwOCwweGZmLDB4MDAsMHgzZSwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGVhNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGZiLDB4ODAsMHgzMiwweDEwIH19LAotIHsxNiwgMHhlYTgwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHhlZCwweDAwLDB4Y2IsMHg1MCwweDNlLDB4NDAsMHg4YywweGIwLDB4NDMsMHgyYywweDEwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZWE5MCwgMCwgezB4MzIsMHg2MCwweDBjLDB4NDAsMHgwYiwweDI2LDB4MDAsMHhjMywweDA0LDB4MzYsMHhjMCwweDBjLDB4MzAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGVhYTAsIDAsIHsweDliLDB4MDAsMHhiMCwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWIwLCAwLCB7MHhjOCwweDA1LDB4MGUsMHg4MCwweGJmLDB4MDQsMHgyYSwweDQwLDB4MDAsMHhmNSwweDAwLDB4ZTYsMHgwMCwweDgyLDB4ZDIsMHgyMiB9fSwKLSB7MTYsIDB4ZWFjMCwgMCwgezB4NDAsMHgwZCwweGYwLDB4MjIsMHgzYywweDAwLDB4OTUsMHgwMiwweDM2LDB4NDAsMHgwYSwweDgwLDB4MDIsMHgyZSwweDAwLDB4OGYgfX0sCi0gezE2LCAweGVhZDAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBhLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDI4LDB4ZjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhlYWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRlLDB4MDAsMHhiMywweDAwLDB4MjIsMHgyMCB9fSwKLSB7MTYsIDB4ZWFmMCwgMCwgezB4NGEsMHgzMCwweDAwLDB4Y2MsMHgwMCwweDgxLDB4YzAsMHgyOCwweDAwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgxMCwweGExLDB4MDAgfX0sCi0gezE2LCAweGViMDAsIDAsIHsweDI4LDB4ODAsMHgxOCwweDMwLDB4MjIsMHgwNCwweDA0LDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA4IH19LAotIHsxNiwgMHhlYjEwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwNiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIyMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4MjksMHhhMCwweDA4LDB4NzgsMHgwMiwweGZlLDB4MjAsMHg4ZCwweDgwLDB4MjkgfX0sCi0gezE2LCAweGViMzAsIDAsIHsweGU1LDB4NWIsMHgzOCwweDQyLDB4MWUsMHg0MCwweGExLDB4ODEsMHgyNSwweGE4LDB4MDgsMHg3OSwweDAyLDB4MzcsMHgwMCwweDg3IH19LAotIHsxNiwgMHhlYjQwLCAwLCB7MHg4MCwweDI1LDB4ZTAsMHgwYSwweDc4LDB4MGEsMHhkZSwweDgxLDB4ODcsMHg4MCwweDI1LDB4ZTUsMHg0OCwweDc4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZWI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YjMsMHgxMCwweDMwLDB4MTIgfX0sCi0gezE2LCAweGViNjAsIDAsIHsweDBlLDB4MzAsMHgxMiwweGNjLDB4YzAsMHhjMywweDAwLDB4MzgsMHg4MCwweDBjLDB4MzEsMHgwNiwweDBjLDB4NDAsMHhmMSwweDAwIH19LAotIHsxNiwgMHhlYjcwLCAwLCB7MHgzOCwweDgwLDB4MGMsMHgzMCwweDQzLDB4MDQsMHg0MiwweGMzLDB4MDAsMHgzNiwweGMwLDB4MGMsMHgzMiwweDAzLDB4Y2UsMHhjMCB9fSwKLSB7MTYsIDB4ZWI4MCwgMCwgezB4ZGIsMHgwMCwweDMwLDB4YzAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViOTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgxMCwweDNkLDB4ODQsMHg0ZiwweGYxLDB4MDMsMHhkMCwweDQwLDB4ZmMsMHgxMCwweDMzIH19LAotIHsxNiwgMHhlYmEwLCAwLCB7MHg4MCwweDVkLDB4YjEsMHg4MywweGZjLDB4NTAsMHhkZCwweDBhLDB4MjUsMHg4OSwweDBmLDB4YjgsMHgwMywweGQ0LDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ZWJiMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDAzLDB4M2MsMHg0MCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGViYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MjAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhlYmQwLCAwLCB7MHgwZiwweGI1LDB4MDMsMHgyOSwweDIwLDB4ZjksMHgwMCwweDMyLDB4YTAsMHgwYywweGIwLDB4ODMsMHhlYywweDAwLDB4NDksMHhjOCB9fSwKLSB7MTYsIDB4ZWJlMCwgMCwgezB4YjIsMHhjMCwweDhjLDB4YTAsMHgwMywweDY0LDB4MDAsMHhmYiwweDA4LDB4MTIsMHhlYSwweDBjLDB4YjAsMHgwYiwweDJjLDB4ODAgfX0sCi0gezE2LCAweGViZjAsIDAsIHsweGZiLDB4MjAsMHgyZSwweGQyLDB4NmMsMHhiNiwweDQzLDB4ZWEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4NDksMHgyZCwweDAwLDB4MGIsMHgzMCwweDgyLDB4MTAsMHgwMSwweGI1LDB4MDIsMHg4MyB9fSwKLSB7MTYsIDB4ZWMxMCwgMCwgezB4YzAsMHgxYSwweDcyLDB4MjIsMHhkZCwweDQxLDB4ODUsMHgwMCwweDYxLDB4YzAsMHgxOCwweDIwLDB4MjAsMHgxNCwweDAwLDB4YmYgfX0sCi0gezE2LCAweGVjMjAsIDAsIHsweDQwLDB4MzUsMHhkMCwweDBkLDB4MzQsMHgwMiwweDFkLDB4MjAsMHhiNywweDI4LDB4MjUsMHhjMSwweDA4LDB4NzQsMHg4MiwweGQyIH19LAotIHsxNiwgMHhlYzMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDQsMHgzNywweGEwLDB4MmQsMHgyMCB9fSwKLSB7MTYsIDB4ZWM0MCwgMCwgezB4MGIsMHg3YSwweDEyLDB4MTYsMHgwMSwweGIzLDB4ODAsMHgyMSwweGUyLDB4MDgsMHg3OCwweDQyLDB4OWUsMHgwMCwweDg1LDB4ODAgfX0sCi0gezE2LCAweGVjNTAsIDAsIHsweDIwLDB4ZTEsMHgxOCwweDY4LDB4MDIsMHg1NiwweDAwLDB4YjcsMHhhMCwweDI1LDB4ZTAsMHgwOCwweDdhLDB4MDIsMHgxZSwweDAwIH19LAotIHsxNiwgMHhlYzYwLCAwLCB7MHhiNywweDkwLDB4MmMsMHhlNSwweDg4LDB4N2EsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM3MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4NmMsMHgyNCwweDFiLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGVjODAsIDAsIHsweGY4LDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDgxLDB4MDAsMHgyMCwweGQ4LDB4MTgsMHgyMCwweDAyLDB4MDQsMHgwMCwweGIzIH19LAotIHsxNiwgMHhlYzkwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI2LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ZWNhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNkLDB4ODAgfX0sCi0gezE2LCAweGVjYjAsIDAsIHsweDBmLDB4MjAsMHgwYiwweDI4LDB4ODAsMHhmZSwweDAwLDB4MzMsMHhhMCwweDBjLDB4YTAsMHgwMywweGU4LDB4MDIsMHhjYSwweDAyIH19LAotIHsxNiwgMHhlY2MwLCAwLCB7MHgzMiwweDkwLDB4MmMsMHhlNCwweDAzLDB4NzgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4ZWNkMCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwYywweGEwLDB4MDMsMHhmYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjZTAsIDAsIHsweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDMsMHhlMCwweDgwLDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHhlY2YwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgyMywweGMwLDB4MDAsMHhmOCwweDAyLDB4M2MsMHgwMCwweDBmLDB4YzAsMHg4MywweDYwLDB4MDAsMHhiOCB9fSwKLSB7MTYsIDB4ZWQwMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDIzLDB4ZTAsMHgxOCwweGY4LDB4MDEsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGVkMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTYsMHgwMCwweGY5LDB4MjEsMHgzMiwweDYwIH19LAotIHsxNiwgMHhlZDIwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyYywweDQ0LDB4ZjksMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MWIsMHgyNCwweDAwLDB4ZTksMHgwMCB9fSwKLSB7MTYsIDB4ZWQzMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4MTAsMHgzMywweDI0LDB4MTAgfX0sCi0gezE2LCAweGVkNDAsIDAsIHsweGYxLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDQxLDB4MDgsMHg5MCwweDAyLDB4MjQsMHg4MCwweGU5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZWQ2MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDEsMHgxOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGVkNzAsIDAsIHsweDA0LDB4MmEsMHg0MSwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhlZDgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4ODAsMHhiOSwweDQyLDB4NjIsMHg0OCB9fSwKLSB7MTYsIDB4ZWQ5MCwgMCwgezB4MjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHgxMCwweDAyLDB4MjQsMHgxMCwweGI5LDB4MDIgfX0sCi0gezE2LCAweGVkYTAsIDAsIHsweDJlLDB4NDAsMHgwOCwweGQwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA0IH19LAotIHsxNiwgMHhlZGIwLCAwLCB7MHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRjMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMSwweDIwLDB4NjAsMHg0MCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDAsMHhhMSwweDIwLDB4MjAgfX0sCi0gezE2LCAweGVkZDAsIDAsIHsweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweDkxLDB4MjAsMHgyZCwweDY4LDB4MDgsMHg1MiwweDEyLDB4MDQsMHgwMCwweGIxIH19LAotIHsxNiwgMHhlZGUwLCAwLCB7MHgyOCwweDI4LDB4NGEsMHgwOSwweDEyLDB4ODIsMHg0NCwweGEwLDB4YjEsMHgyYywweDI4LDB4NGEsMHgwYSwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4ZWRmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MTQgfX0sCi0gezE2LCAweGVlMDAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDUwLDB4MzIsMHgxNCwweDBmLDB4ODUsMHgwMywweDAxLDB4NDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHhlZTEwLCAwLCB7MHgyZSwweDAwLDB4MjgsMHhjMCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MjQsMHgzMCwweDA4LDB4MGYsMHg4MiwweDIzLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4ZWUyMCwgMCwgezB4ZjgsMHgyMCwweDMyLDB4MDgsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlMzAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDA4LDB4ZjksMHgxMCwweDNmLDB4NDAsMHg4ZiwweDkxLDB4MTMsMHhlNCwweDAwLDB4ZWQsMHgxMCwweDNmIH19LAotIHsxNiwgMHhlZTQwLCAwLCB7MHg1MCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhhNSwweDEwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MDQsMHhmOSB9fSwKLSB7MTYsIDB4ZWU1MCwgMCwgezB4MjgsMHgzZSwweDRiLDB4MGIsMHg5MiwweGEzLDB4ZTQsMHhhMCwweGU5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGVlNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGNkLDB4MDAsMHgzMywweDQwIH19LAotIHsxNiwgMHhlZTcwLCAwLCB7MHg4MCwweGQwLDB4MDEsMHhmNCwweDAwLDB4YTUsMHgwMCwweDI2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNiwweDAwLDB4ZjEsMHg4OCB9fSwKLSB7MTYsIDB4ZWU4MCwgMCwgezB4M2UsMHg2OCwweDBkLDB4OTgsMHg4MywweDQ0LDB4MDAsMHhjOSwweGMwLDB4M2EsMHg0MCwweDBjLDB4OTgsMHgwMywweDI0LDB4MDggfX0sCi0gezE2LCAweGVlOTAsIDAsIHsweGY5LDB4YTAsMHgzMiwweDc4LDB4MGYsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMiwweDg4LDB4MDAsMHhhMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTAsMHgwMCwweDBhLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZWViMCwgMCwgezB4MDAsMHgwYiwweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHg0MCwweDJlLDB4MTQsMHgwOCwweDgwLDB4NDMsMHgzMCwweDAwLDB4ODggfX0sCi0gezE2LCAweGVlYzAsIDAsIHsweGEwLDB4MjIsMHgyYSwweDBhLDB4OGEsMHg0MiwweGEwLDB4MDUsMHhiOCwweDQyLDB4MzIsMHgzOCwweDBiLDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHhlZWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDMsMHg5MSwweDAwLDB4MjQsMHg0MCB9fSwKLSB7MTYsIDB4ZWVlMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgxMSwweGIxLDB4MDQsMHgyMCwweDQxLDB4MWIsMHgxMCwweDIyLDB4NDUsMHgwMCwweGI1LDB4MDAgfX0sCi0gezE2LCAweGVlZjAsIDAsIHsweDI1LDB4NDAsMHgwOSwweDUwLDB4MDIsMHg1NCwweDAxLDB4ODEsMHg0MCwweDJjLDB4NDAsMHgwOSwweDE0LDB4OTIsMHg0NCwweDAwIH19LAotIHsxNiwgMHhlZjAwLCAwLCB7MHhiMSwweDQwLDB4MjQsMHg0YywweDBiLDB4MTQsMHgwYSwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWYxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg5OSwweDAwLDB4MjQsMHg0MiwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDEsMHg5OSwweDIwLDB4MjYgfX0sCi0gezE2LCAweGVmMjAsIDAsIHsweDQwLDB4Y2IsMHg5MCwweDAyLDB4NjQsMHgwMCwweGJiLDB4MDAsMHgyZiwweDQxLDB4MGEsMHhkMCwweDAyLDB4MzQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhlZjMwLCAwLCB7MHgwMCwweDI2LDB4NDAsMHgwYiwweDEwLDB4MDIsMHhlNCwweDAwLDB4MzEsMHgwMCwweDYyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4ZWY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNCwweDAwLDB4ZDksMHgwMSwweDM2LDB4NTAgfX0sCi0gezE2LCAweGVmNTAsIDAsIHsweDJmLDB4OTAsMHgwMywweGU2LDB4NjAsMHhmOSwweDgwLDB4MzYsMHg1MiwweDBiLDB4OTAsMHgwYSwweDY0LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhlZjYwLCAwLCB7MHgzNiwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMiwweDA5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMCB9fSwKLSB7MTYsIDB4ZWY3MCwgMCwgezB4YjksMHgwMCwweGI2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZTEsMHgwMCwweDNhLDB4NDEsMHgwYywweDkwLDB4MjMsMHhlNiwweDIwLDB4ZTksMHgwMCwweGJhIH19LAotIHsxNiwgMHhlZjkwLCAwLCB7MHg3MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4MTAsMHgxMywweGE3LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZWZhMCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MGUsMHg5MCwweDQzLDB4YTQsMHgwOCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGVmYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgyMCwweGY4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhlZmMwLCAwLCB7MHgwZiwweDgwLDB4ODMsMHgyMSwweDAwLDB4ZjAsMHgwMCwweDNhLDB4MTEsMHgwOSwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMSB9fSwKLSB7MTYsIDB4ZWZkMCwgMCwgezB4MzAsMHgwMSwweDBjLDB4ODAsMHgwMywweGIwLDB4MDAsMHhkMCwweDAwLDB4MzQsMHgwMCwweDBkLDB4ODAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGVmZTAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGJlLDB4MDAsMHgyMiwweDgwLDB4MDMsMHhlOCwweDAyLDB4MWEsMHgwOCwweGJlLDB4NDgsMHgyMiB9fSwKLSB7MTYsIDB4ZjAwMCwgMCwgezB4ODAsMHgwYSwweGEwLDB4MDMsMHhiOCwweDAwLDB4Y2EsMHgwOCwweDIyLDB4ODAsMHgwZiwweGE0LDB4MDIsMHgwOCwweDAwLDB4OGEgfX0sCi0gezE2LCAweGYwMTAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDhkLDB4YTAsMHgwMiwweDI4LDB4MDAsMHhkYSwweDAwLDB4MmEsMHg4MSwweDA4LDB4YTAsMHgwMiwweDhhIH19LAotIHsxNiwgMHhmMDIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ0LDB4MDAsMHhiMywweDAwLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4ZjAzMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MDgsMHgwMCwweGIwLDB4NjQsMHg2OCwweGMxLDB4MDgsMHhiMCwweDIyLDB4Y2MsMHgwYywweDkzLDB4ODAgfX0sCi0gezE2LCAweGYwNDAsIDAsIHsweDAwLDB4YzAsMHg0OCwweDM2LDB4MDIsMHg4OCwweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDYsMHgwYywweDAxIH19LAotIHsxNiwgMHhmMDUwLCAwLCB7MHhhMywweDAyLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA2MCwgMCwgezB4YTAsMHgwMSwweDE0LDB4MDgsMHhiNSwweDAwLDB4MjEsMHg0MCwweDBiLDB4MzgsMHg4MiwweDFjLDB4MjEsMHhiNywweDAwLDB4MjMgfX0sCi0gezE2LCAweGYwNzAsIDAsIHsweGU4LDB4NGEsMHg3MiwweDI2LDB4OWUsMHg0MCwweDhmLDB4ODEsMHhhYiwweDQwLDB4NDIsMHg3MCwweDUyLDB4MzgsMHgwMCwweGEzIH19LAotIHsxNiwgMHhmMDgwLCAwLCB7MHgyMiwweDIwLDB4YzQsMHg0OSwweDMxLDB4MDIsMHgxZSwweDBhLDB4YjcsMHgyMiwweDJkLDB4ZTgsMHgwOCwweDcyLDB4MDIsMHhhOCB9fSwKLSB7MTYsIDB4ZjA5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZjYsMHg4MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGYwYTAsIDAsIHsweDBiLDB4NzgsMHgwYiwweDFlLDB4MDAsMHhiNCwweDgyLDB4M2IsMHhlOCwweDRjLDB4N2MsMHgxMywweGZlLDB4MDIsMHg5NywweDgwIH19LAotIHsxNiwgMHhmMGIwLCAwLCB7MHgzMywweGEwLDB4MDgsMHgzOCwweDAzLDB4OWEsMHgwMCwweGY3LDB4ODgsMHgzNSwweGUyLDB4MGMsMHg3OCwweGUzLDB4MGUsMHgwMCB9fSwKLSB7MTYsIDB4ZjBjMCwgMCwgezB4ZTMsMHhlOCwweDM0LDB4ZjgsMHgwYywweDNjLDB4MjMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwZDAsIDAsIHsweDA4LDB4MWQsMHhhOCwweDA0LDB4ZjEsMHgwMCwweDNlLDB4NDIsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZmIsMHgwMCwweGJlIH19LAotIHsxNiwgMHhmMGUwLCAwLCB7MHhjYywweDFlLDB4YjYsMHgwNywweGVkLDB4ODAsMHhmYiwweDAwLDB4MzYsMHgwMCwweDBmLDB4YjAsMHg0MywweDY4LDB4MDAsMHhjYiB9fSwKLSB7MTYsIDB4ZjBmMCwgMCwgezB4MzAsMHgzZSwweGQ4LDB4MGYsMHhiNiwweDBiLDB4ZWQsMHg0MCwweGNiLDB4MDAsMHgzYSwweGMwLDB4MmYsMHhiNiwweDAzLDB4YzIgfX0sCi0gezE2LCAweGYxMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjIsMHg0MCwweGZiLDB4OTEsMHgzZCwweDRjIH19LAotIHsxNiwgMHhmMTEwLCAwLCB7MHg4MCwweGY4LDB4MDMsMHhkZSwweDQwLDB4YzYsMHg4MCwweDFiLDB4ZjAsMHg0ZiwweGZkLDB4MDcsMHhmZiwweDAwLDB4Y2QsMHg4MCB9fSwKLSB7MTYsIDB4ZjEyMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4NjgsMHgwMywweGJhLDB4MDAsMHhmZiwweDgwLDB4MzMsMHhlMCwweDA3LDB4ZjgsMHgwMywweDNmLDB4MTAgfX0sCi0gezE2LCAweGYxMzAsIDAsIHsweGNmLDB4ODAsMHgzZiwweGUwLDB4MGMsMHhmYywweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTQwLCAwLCB7MHhhOCwweDExLDB4OTAsMHgwMCwweGI1LDB4YzAsMHgyZCwweDQwLDB4MDgsMHg2MiwweDAyLDB4ZGMsMHgyMCwweGQ2LDB4MDIsMHgyMSB9fSwKLSB7MTYsIDB4ZjE1MCwgMCwgezB4YzgsMHg4ZiwweDcwLDB4MDIsMHhkYywweDgxLDB4YjUsMHgwMCwweDgxLDB4NDQsMHgwZCwweDYxLDB4MjIsMHgxOCwweDA0LDB4YjcgfX0sCi0gezE2LCAweGYxNjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDBiLDB4NzAsMHgwMiwweGJjLDB4MDAsMHhhNywweDAxLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMywweGVhIH19LAotIHsxNiwgMHhmMTcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDEsMHhiNiwweDAxLDB4MmYsMHhjMCB9fSwKLSB7MTYsIDB4ZjE4MCwgMCwgezB4MTgsMHg3MCwweDAyLDB4ZGMsMHgwYSwweDk2LDB4MTAsMHgyOSwweGMxLDB4NGIsMHg3MCwweDA2LDB4ZGMsMHgxMCwweDg1LDB4MDAgfX0sCi0gezE2LCAweGYxOTAsIDAsIHsweDI1LDB4ODAsMHgwOCwweDYwLDB4ODIsMHgxYSwweDIwLDB4YTMsMHgwMCwweDI1LDB4YzAsMHgwYiwweDMxLDB4MDIsMHg1YywweDQwIH19LAotIHsxNiwgMHhmMWEwLCAwLCB7MHg4NywweDAwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFiMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDg4LDB4MjAsMHgwMiwweGVkLDB4MDAsMHg4YSwweDYwLDB4MjAgfX0sCi0gezE2LCAweGYxYzAsIDAsIHsweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIxLDB4MDAsMHgyNCwweDAwLDB4MjgsMHgyNCwweDAyLDB4MGEsMHgwMCwweDMzIH19LAotIHsxNiwgMHhmMWQwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCwweDJjLDB4YzAsMHg4OCwweDMwLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4ZjFlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzYgfX0sCi0gezE2LCAweGYxZjAsIDAsIHsweDBjLDB4ODAsMHgwMywweGU1LDB4MDAsMHgwOSwweGM4LDB4YWIsMHhlMiwweDBiLDB4ZjAsMHgwMiwweGZjLDB4MDAsMHg0YSwweDAwIH19LAotIHsxNiwgMHhmMjAwLCAwLCB7MHgzNiwweGMwLDB4MDgsMHg5MCwweDAzLDB4YTYsMHgwMCwweGZmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4N2MsMHgwMCB9fSwKLSB7MTYsIDB4ZjIxMCwgMCwgezB4OGYsMHgwMCwweDJmLDB4YzAsMHgyOCwweGYwLDB4MDIsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMjAsIDAsIHsweDgwLDB4MDAsMHhlMSwweDAwLDB4ZmEsMHgwMSwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg0MCwweDNlIH19LAotIHsxNiwgMHhmMjMwLCAwLCB7MHhjMCwweDA3LDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweGU1LDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ZjI0MCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTAgfX0sCi0gezE2LCAweGYyNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGZjLDB4MjAsMHgzZiwweGMwIH19LAotIHsxNiwgMHhmMjYwLCAwLCB7MHgwYywweGM4LDB4MDMsMHhmYywweDIwLDB4Y2QsMHg4MSwweGIzLDB4YzIsMHg0ZiwweGYwLDB4MDMsMHhmYywweDAwLDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4ZjI3MCwgMCwgezB4M2MsMHg4MCwweDBjLDB4ZDAsMHg4MiwweDM2LDB4MDEsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDggfX0sCi0gezE2LCAweGYyODAsIDAsIHsweGNmLDB4MDQsMHgzYSwweGMwLDB4NWMsMHhiMCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjkwLCAwLCB7MHg4MSwweDA0LDB4NjIsMHgwNCwweGI4LDB4NDAsMHgyYywweDYwLDB4MDgsMHg4OSwweDAyLDB4ZWUsMHg4MCwweGE5LDB4NjAsMHgyYSB9fSwKLSB7MTYsIDB4ZjJhMCwgMCwgezB4YzAsMHgwYiwweGIwLDB4MDMsMHg4YywweDAwLDB4YWEsMHg0MCwweDJlLDB4MDAsMHgwOCwweDEwLDB4MDIsMHgyNiwweDgxLDB4ZWIgfX0sCi0gezE2LCAweGYyYjAsIDAsIHsweDAwLDB4MjYsMHhjMCwweDhiLDB4YjAsMHgxMywweDZjLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDNkLDB4YjAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhmMmMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIzLDB4MDAsMHhiYiwweDAzLDB4MmUsMHhjOCB9fSwKLSB7MTYsIDB4ZjJkMCwgMCwgezB4MDksMHhiMCwweDAyLDB4ZWUsMHgwMCwweDhiLDB4MTAsMHgyNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGE4LDB4MDAgfX0sCi0gezE2LCAweGYyZTAsIDAsIHsweDJlLDB4YzAsMHgwOCwweDg4LDB4MjIsMHhhNCwweDgwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHg0YiwweGIwLDB4MjIsMHgwYywweDAwIH19LAotIHsxNiwgMHhmMmYwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMwMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHhiMiwweDAwLDB4MmUsMHhjMCwweDI5LDB4MjgsMHgwMiwweGVjLDB4MDEsMHhhMCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGYzMTAsIDAsIHsweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEwLDB4MDAsMHgyYywweDQwLDB4MDgsMHgwMCwweDQyLDB4ODQsMHgwMCwweDkzIH19LAotIHsxNiwgMHhmMzIwLCAwLCB7MHgwMCwweDZjLDB4YzAsMHgwYiwweDMwLDB4MDYsMHg0ZCwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZjMzMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgyMCwweDJmLDB4YzAgfX0sCi0gezE2LCAweGYzNDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4MzMsMHhjMCwweDBiLDB4ZjAsMHgwMywweGZjLDB4MTgsMHhlOCwweDAwIH19LAotIHsxNiwgMHhmMzUwLCAwLCB7MHgyZSwweDgwLDB4MDgsMHg4MCwweDAzLDB4YTQsMHgwMCwweGJmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4M2QsMHgxMSB9fSwKLSB7MTYsIDB4ZjM2MCwgMCwgezB4Y2YsMHgwMywweDNlLDB4YzEsMHg1ZCwweGYwLDB4MjMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzNzAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgxMCwweDNmLDB4NDAsMHgwZSwweGUwLDB4MDMsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhmMzgwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDJmLDB4YzAsMHgwMywweDc0LDB4MDAsMHhlZiB9fSwKLSB7MTYsIDB4ZjM5MCwgMCwgezB4MDAsMHgyNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgxOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGYzYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4ZmMsMHg4OCwweDljLDB4MjksMHgzZiwweDA4IH19LAotIHsxNiwgMHhmM2IwLCAwLCB7MHgwZiwweGQyLDB4ODMsMHhlYywweDAwLDB4ZmYsMHgwOCwweDNmLDB4MjgsMHgwZiwweGNhLDB4MDMsMHgzYywweDQxLDB4Y2YsMHgyMCB9fSwKLSB7MTYsIDB4ZjNjMCwgMCwgezB4NzMsMHgyYywweDBjLDB4YzAsMHgwMywweDMwLDB4MjAsMHhjZiwweDYwLDB4MzMsMHhkOCwweDBmLDB4NzgsMHgwMywweDNmLDB4ODAgfX0sCi0gezE2LCAweGYzZDAsIDAsIHsweGRkLDB4OTIsMHgzMywweGM4LDB4MGYsMHg1MCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2UwLCAwLCB7MHg4MCwweDEwLDB4ZTUsMHg0MCwweDg4LDB4NDAsMHgyZSwweDA0LDB4OGIsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgwZSB9fSwKLSB7MTYsIDB4ZjNmMCwgMCwgezB4N2YsMHg4ZiwweDllLDB4ODMsMHg2NSwweDgyLDB4Y2YsMHg2OCwweDNlLDB4NTAsMHg4ZCwweDA0LDB4OTIsMHgyZiwweDA0LDB4ZDMgfX0sCi0gezE2LCAweGY0MDAsIDAsIHsweDQwLDB4NzQsMHhkYywweDBkLDB4YTIsMHgwMiwweDIwLDB4NDAsMHg4OSwweDAwLDB4MjIsMHhmMCwweDBiLDB4OTgsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmNDEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4MDksMHhhMCwweDg1LDB4MmMsMHgwMSB9fSwKLSB7MTYsIDB4ZjQyMCwgMCwgezB4MGIsMHgwMCwweDEwLDB4Y2MsMHg0MCwweGEyLDB4MDgsMHgyYywweDAwLDB4ZGIsMHgxMSwweDAyLDB4ODksMHgwMCwweDkzLDB4MzAgfX0sCi0gezE2LCAweGY0MzAsIDAsIHsweDIwLDB4MDUsMHgwOCwweDEzLDB4MDIsMHg4MCwweDA4LDB4YTMsMHg2MCwweDYwLDB4YzAsMHgwYSwweGIwLDB4ODIsMHgwOCwweDg0IH19LAotIHsxNiwgMHhmNDQwLCAwLCB7MHg4MSwweDIwLDB4MjAsMHhkMCwweDBiLDB4MTAsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ1MCwgMCwgezB4YzAsMHgxNSwweGE0LDB4MTIsMHg4OCwweDgwLDB4NmUsMHgyMCwweDBiLDB4ODgsMHg4MiwweGVlLDB4MDAsMHhiYSwweDgxLDB4MmUgfX0sCi0gezE2LCAweGY0NjAsIDAsIHsweDYwLDB4NWEsMHg5OCwweDAyLDB4YTIsMHgwMCwweDhiLDB4MDAsMHgyYSwweDYwLDB4MDgsMHgxMSwweDFhLDB4MmMsMHgwMCwweGJiIH19LAotIHsxNiwgMHhmNDcwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGI4LDB4MGEsMHgyOCwweDAwLDB4ODEsMHgyMCwweDAyLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhiMCB9fSwKLSB7MTYsIDB4ZjQ4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhlZCwweDAwLDB4ZDksMHg4MCwweDNlLDB4MjAgfX0sCi0gezE2LCAweGY0OTAsIDAsIHsweDRmLDB4OTgsMHgwMCwweGViLDB4MjAsMHhmYiwweGUwLDB4MmUsMHg2MCwweDBiLDB4OGMsMHg2MiwweGFlLDB4MjAsMHg4YiwweDAwIH19LAotIHsxNiwgMHhmNGEwLCAwLCB7MHgyMiwweDYwLDB4MDgsMHhiYywweDAzLDB4YTAsMHgyMCwweGViLDB4MDAsMHgyMiwweGMxLDB4MGEsMHgxOCwweDBiLDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4ZjRiMCwgMCwgezB4ZDksMHgwMCwweGIyLDB4YzAsMHgwZiwweDkwLDB4MGIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0YzAsIDAsIHsweGUwLDB4MDEsMHg5NCwweDg4LDB4ZmYsMHgwMCwweDNmLDB4MDEsMHgwZiwweGQwLDB4MDEsMHhmMCwweDA4LDB4ZGQsMHgwMSwweDNmIH19LAotIHsxNiwgMHhmNGQwLCAwLCB7MHg0MiwweDA3LDB4NDAsMHgwMywweDVjLDB4MDAsMHhhZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZjgsMHgwMCwweGYwLDB4MDAsMHhkZiB9fSwKLSB7MTYsIDB4ZjRlMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4ZjQsMHg1MCwweGZkLDB4ODAsMHgzZiwweGMwLDB4MGYsMHhkMCwweDAzLDB4NzggfX0sCi0gezE2LCAweGY0ZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4YWMsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhmNTAwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhhOCwweDIwLDB4Y2EsMHg0MCwweDNhLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlYSwweDA4LDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ZjUxMCwgMCwgezB4M2EsMHgwMCwweDRjLDB4ZjYsMHgyMywweDJjLDB4MzAsMHhjYiwweDAwLDB4MzYsMHhjMCwweDBkLDB4OTAsMHgwMywweGExLDB4MDIgfX0sCi0gezE2LCAweGY1MjAsIDAsIHsweGQ5LDB4MDAsMHhiYSwweGMwLDB4MGYsMHg5OCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTMwLCAwLCB7MHhjOCwweDA1LDB4MjQsMHgwMCwweDhhLDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5NSwweDAyLDB4ZTAsMHgwOCwweDg4LDB4ODAsMHgyMiB9fSwKLSB7MTYsIDB4ZjU0MCwgMCwgezB4NzAsMHg4ZiwweDhjLDB4MDIsMHhlMCwweDAwLDB4YmYsMHgwMiwweDIwLDB4MDAsMHgwOCwweGI4LDB4MDIsMHgwZSwweDAwLDB4ZGYgfX0sCi0gezE2LCAweGY1NTAsIDAsIHsweDAwLDB4MjMsMHhkZCwweDA4LDB4OTgsMHg4MiwweDJhLDB4MDAsMHg4OSwweDgwLDB4MjMsMHhjMCwweDBiLDB4NTAsMHgxYSwweDMyIH19LAotIHsxNiwgMHhmNTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ0LDB4MDAsMHg4MywweDA1LDB4MjQsMHg0MSB9fSwKLSB7MTYsIDB4ZjU3MCwgMCwgezB4MDksMHgxMCwweDAyLDB4Y2UsMHgwMCwweDgzLDB4OTAsMHgyYywweDgwLDB4MWIsMHgyNCwweDgyLDB4Y2MsMHgwMCwweGJiLDB4MDAgfX0sCi0gezE2LCAweGY1ODAsIDAsIHsweDJjLDB4ODAsMHgwOCwweDA0LDB4MDgsMHgwNCwweDAxLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyOCwweDEyLDB4MDIsMHg2YywweDgwIH19LAotIHsxNiwgMHhmNTkwLCAwLCB7MHg4MSwweDQ4LDB4MjQsMHhjNCwweDBiLDB4MTAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVhMCwgMCwgezB4MjAsMHgwMSwweDNlLDB4NDIsMHg4NiwweDgwLDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGY2LDB4OTAsMHg4ZCwweDgwLDB4MjEgfX0sCi0gezE2LCAweGY1YjAsIDAsIHsweDIyLDB4MGIsMHg1OCwweDAyLDB4ZDcsMHg0MCwweGI3LDB4OTAsMHgyMSwweGUwLDB4MDgsMHg0OSwweDkyLDB4MWUsMHg1MywweDk3IH19LAotIHsxNiwgMHhmNWMwLCAwLCB7MHg4MSwweDIxLDB4ZTAsMHg0OCwweGM4LDB4MGEsMHg1MiwweDIyLDB4ODUsMHg4OCwweDI1LDB4ZTAsMHgwYiwweDU4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4ZjVkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODMsMHgwMCwweDM0LDB4YzAgfX0sCi0gezE2LCAweGY1ZTAsIDAsIHsweDBmLDB4MDAsMHgwMywweGNlLDB4MjAsMHhjMywweDMwLDB4N2MsMHg5NCwweDBiLDB4MzQsMHg4MywweGNjLDB4MTQsMHhmMywweDAyIH19LAotIHsxNiwgMHhmNWYwLCAwLCB7MHgzYywweDgwLDB4MGMsMHgwNCwweDAzLDB4MDQsMHg2MCwweGMzLDB4MDAsMHhiMCwweGMwLDB4MGMsMHgxMCwweDAzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4ZjYwMCwgMCwgezB4YzksMHgwMCwweDNjLDB4YzQsMHgwZiwweDExLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDAwLDB4ZWUsMHgwMSwweDNmLDB4YzAsMHg0ZiwweGUxLDB4MDMsMHhkNCwweDQwLDB4ZjUsMHgxNiwweDdhIH19LAotIHsxNiwgMHhmNjIwLCAwLCB7MHhjMCwweDRlLDB4ZjAsMHgwMywweGY0LDB4MTAsMHgzNywweDA1LDB4M2QsMHhjMCwweDBmLDB4YzAsMHgwYiwweGRjLDB4NDAsMHhmZiB9fSwKLSB7MTYsIDB4ZjYzMCwgMCwgezB4MDAsMHgzYiwweGMyLDB4MGUsMHhkMCwweDA3LDB4YmMsMHgwMiwweGVmLDB4MDAsMHgzYiwweGM2LDB4MGYsMHhkMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGY2NDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZjQsMHgwMCwweGRkLDB4ODQsMHgzMywweDgwIH19LAotIHsxNiwgMHhmNjUwLCAwLCB7MHgwNCwweGYwLDB4MDMsMHg2YywweDAyLDB4Y2IsMHgwMiwweDdlLDB4YzAsMHgxZiwweGEwLDB4NTMsMHhlYywweDAwLDB4Y2IsMHgyMCB9fSwKLSB7MTYsIDB4ZjY2MCwgMCwgezB4MzQsMHg0MCwweDBjLDB4ZDAsMHgwYiwweDIwLDB4MTAsMHhlYiwweDAwLDB4MWUsMHhlMCwweDBmLDB4MzAsMHgwYiwweDJjLDB4MDAgfX0sCi0gezE2LCAweGY2NzAsIDAsIHsweGMxLDB4MDAsMHgzMiwweGMwLDB4MGYsMHg5MSwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweDgwLDB4MDgsMHg2MCwweDAwLDB4MTQsMHgwMCwweDg1LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4ZjY5MCwgMCwgezB4ODAsMHgwYiwweDcwLDB4NTIsMHhkNCwweDA0LDB4ODMsMHgyOCwweDI5LDB4YzAsMHgyOCwweDUwLDB4MDMsMHg1MCwweDAwLDB4ODcgfX0sCi0gezE2LCAweGY2YTAsIDAsIHsweDQwLDB4MjUsMHhjOCwweDBmLDB4NjAsMHgwMiwweDA0LDB4MDAsMHhhNywweDAwLDB4M2QsMHhjOCwweDBiLDB4NTIsMHgwMiwweGQyIH19LAotIHsxNiwgMHhmNmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg5NSwweDgwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4ZjZjMCwgMCwgezB4MDksMHgzOCwweDAyLDB4MWUsMHgxMSwweGE3LDB4ODAsMHgyZCwweGYwLDB4MGIsMHg3OCwweDUyLDB4Y2UsMHgwYSwweDk3LDB4OTUgfX0sCi0gezE2LCAweGY2ZDAsIDAsIHsweDIxLDB4ZTAsMHgxOSwweDVjLDB4MDIsMHgwZSwweDAwLDB4YTcsMHg4MCwweDI5LDB4YzgsMHgwYiwweGY4LDB4MDIsMHgxZSwweDIwIH19LAotIHsxNiwgMHhmNmUwLCAwLCB7MHg4ZCwweDgwLDB4MjEsMHhlMCwweDBiLDB4NTgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MiwweGUwLDB4YTAsMHhlOCwweDI5LDB4MzAsMHgwNiwweDBlLDB4NTAsMHhhYiwweDgwLDB4MmMgfX0sCi0gezE2LCAweGY3MDAsIDAsIHsweGYwLDB4MGIsMHgzMSwweDQyLDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyOCwweGM0LDB4MDksMHg5OCwweDAyLDB4NGMsMHgyOCwweDgzIH19LAotIHsxNiwgMHhmNzEwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwYSwweGIwLDB4MDIsMHgwZCwweDAwLDB4YTIsMHg1OCwweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ZjcyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDAwLDB4ZGUsMHg4MCwweDMxLDB4YTAgfX0sCi0gezE2LCAweGY3MzAsIDAsIHsweDA5LDB4ZTIsMHgwYiwweDc4LDB4MDQsMHhlZSwweGE0LDB4MmYsMHhhNCwweDhiLDB4ZWMsMHgwMiwweGQ4LDB4MDAsMHhkYSwweDAwIH19LAotIHsxNiwgMHhmNzQwLCAwLCB7MHgyNywweDgxLDB4MGQsMHhlYywweDA2LDB4MWIsMHgwMCwweGVhLDB4MDQsMHgzZSwweDgwLDB4MGIsMHhlMCwweDAzLDB4M2IsMHgwMCB9fSwKLSB7MTYsIDB4Zjc1MCwgMCwgezB4Y2UsMHhjMCwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDgwLDB4ZjgsMHgxMCwweDNlLDB4MDUsMHgwZSwweDg4LDB4MDMsMHhlMCwweDA4LDB4OTgsMHg0MCwweDNlIH19LAotIHsxNiwgMHhmNzcwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHg4MywweGUxLDB4NDAsMHhlOCwweDAwLDB4M2EsMHgwMiwweDBlLDB4ODAsMHg0MywweGUxLDB4NDAsMHhmOCB9fSwKLSB7MTYsIDB4Zjc4MCwgMCwgezB4MDAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGY3OTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhmN2EwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgwNCwweDIwLDB4ZTksMHg5MCwweDMyLDB4NjgsMHgwZSwweDk4LDB4MDMsMHhhNCwweDAwLDB4YzEsMHgwMCB9fSwKLSB7MTYsIDB4ZjdiMCwgMCwgezB4MzAsMHg0MCwweDBjLDB4OTQsMHg4MywweDI0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGE0LDB4MDAgfX0sCi0gezE2LCAweGY3YzAsIDAsIHsweGM5LDB4MDAsMHgzMCwweDUwLDB4MGMsMHgxYSwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2QwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDUwLDB4MjgsMHg5MCwweDBhLDB4MjQsMHgwOCwweDg5LDB4MDYsMHgxNiB9fSwKLSB7MTYsIDB4ZjdlMCwgMCwgezB4NjEsMHgwYiwweDljLDB4MDIsMHhlNCwweDIwLDB4YTksMHgwMCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDIsMHgyNywweDYwLDB4YTkgfX0sCi0gezE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgxYSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MzYsMHg0MCwweDI4LDB4OTgsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmODAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDJjLDB4MDAsMHhhOSwweDA4LDB4MmUsMHhjMiB9fSwKLSB7MTYsIDB4ZjgxMCwgMCwgezB4MDksMHgxMCwweDAwLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgwNiwweDQwLDB4ODksMHg5NiwweDA2LDB4ZTYsMHgwMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweGY4MjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAyLDB4ODksMHgwMCwweDI0LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwYywweDA2IH19LAotIHsxNiwgMHhmODMwLCAwLCB7MHg4MywweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDQ0LDB4MmMsMHg1MCwweDA4LDB4MTQsMHgwMiwweDA1LDB4ODAsMHg4MSwweDIwLDB4NjQgfX0sCi0gezE2LCAweGY4NTAsIDAsIHsweDcwLDB4MWIsMHgxNCwweDAyLDB4ZTQsMHg4MCwweGExLDB4MjAsMHg2NCwweDQwLDB4MTksMHgxMiwweDBhLDB4MDQsMHg4MCwweGExIH19LAotIHsxNiwgMHhmODYwLCAwLCB7MHgwMCwweDJjLDB4NTAsMHgxOCwweDE0LDB4MDIsMHg4NSwweDAwLDB4ODEsMHg0MCwweDI0LDB4NDAsMHg0MCwweDEwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4Zjg3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZTAsMHgwMCwweDNjLDB4MDAgfX0sCi0gezE2LCAweGY4ODAsIDAsIHsweDBkLDB4ODAsMHgwMiwweDAwLDB4MDAsMHhhYSwweDUwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGUxLDB4NDAsMHhjOCwweDUyIH19LAotIHsxNiwgMHhmODkwLCAwLCB7MHg3MiwweDE0LDB4MGMsMHgwNSwweDE2LDB4MjAsMHgwOCwweGM4LDB4NTAsMHgzZSwweDAxLDB4MGMsMHg4MCwweDAzLDB4YTAsMHgwNCB9fSwKLSB7MTYsIDB4ZjhhMCwgMCwgezB4YzgsMHgwMCwweGIyLDB4MDAsMHgwYywweDgwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4YjAsIDAsIHsweDk4LDB4MTksMHhmNSwweDAyLDB4ZmQsMHg0MCwweDNmLDB4ZDAsMHgwZiwweGQ0LDB4MjMsMHhmNCwweDQ0LDB4ZmQsMHgxNCwweDdmIH19LAotIHsxNiwgMHhmOGMwLCAwLCB7MHg1MCwweDBmLDB4ZDQsMHgwNywweGY0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg1MCwweDA3LDB4ZDEsMHgyMywweGY0LDB4NDAsMHhmOSB9fSwKLSB7MTYsIDB4ZjhkMCwgMCwgezB4NDAsMHgxZSwweDUwLDB4MDcsMHhkMCwweDBiLDB4NzUsMHgwMCwweGZkLDB4MDIsMHgzZSwweDUwLDB4MGYsMHhkNCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGY4ZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgwMCwweGM5LDB4YTgsMHgzZSwweDcyIH19LAotIHsxNiwgMHhmOGYwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHhlNiwweGMwLDB4ZmQsMHhhMCwweGIzLDB4NDAsMHgwZiwweGQwLDB4MDMsMHg3NywweDgwLDB4Y2QsMHg5MCB9fSwKLSB7MTYsIDB4ZjkwMCwgMCwgezB4N2YsMHg0MCwweDBmLDB4ZGEsMHhhMywweDE2LDB4OTAsMHhhOSwweGMwLDB4MzIsMHg2MCwweDRjLDB4YjEsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGY5MTAsIDAsIHsweGMxLDB4MDAsMHgzMywweDZhLDB4MGIsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTIwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg0MCwweDg4LDB4ZTAsMHgyZSwweDMwLDB4MGIsMHg4ZCwweDAyLDB4ZjMsMHg0MCwweGI4LDB4ZTgsMHg3NiB9fSwKLSB7MTYsIDB4ZjkzMCwgMCwgezB4MDAsMHg0ZiwweDgwLDB4MGEsMHgyMiwweDgwLDB4ODgsMHg5MCwweDZlLDB4MjgsMHg4ZiwweDhhLDB4MDMsMHg2MSwweDQ0LDB4ZjggfX0sCi0gezE2LCAweGY5NDAsIDAsIHsweGUxLDB4M2UsMHgyYSwweDA4LDB4ODgsMHgwMywweDQyLDB4YTAsMHhkYywweGEwLDB4M2UsMHgxMCwweDBiLDB4ODUsMHgwYSwweDBlIH19LAotIHsxNiwgMHhmOTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4YTAsMHg4NSwweDA4LDB4MmQsMHg0OCB9fSwKLSB7MTYsIDB4Zjk2MCwgMCwgezB4MWIsMHg1MiwweDgyLDB4ZDQsMHg4MCwweGIxLDB4MTQsMHgyMCwweDQwLDB4MGIsMHgxOCwweDAyLDB4MDUsMHg4MiwweDgxLDB4MDAgfX0sCi0gezE2LCAweGY5NzAsIDAsIHsweDZjLDB4NDIsMHgwYiwweDEyLDB4ODIsMHgwNCwweDAwLDB4YTEsMHg2MCwweDIxLDB4NTAsMHgwYiwweDUwLDB4MDIsMHgxNCwweDkwIH19LAotIHsxNiwgMHhmOTgwLCAwLCB7MHg5NSwweDJjLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHg4ZCwweDQ0LDB4MmYsMHg0MCwweDBiLDB4ZDQsMHgwMiwweGY0LDB4MDQsMHhiOSwweDA4LDB4MjIgfX0sCi0gezE2LCAweGY5YTAsIDAsIHsweDQwLDB4MGEsMHg5MiwweDAyLDB4MmMsMHg4NCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGEsMHgxNCwweDAyLDB4NmMsMHg4MCwweGE5IH19LAotIHsxNiwgMHhmOWIwLCAwLCB7MHgwMSwweDJhLDB4NDAsMHgwOSwweDUwLDB4MGEsMHg1YywweDAyLDB4OGQsMHg2MCwweDJhLDB4NDAsMHgwYiwweDkwLDB4NDIsMHgwNiB9fSwKLSB7MTYsIDB4ZjljMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDYyLDB4YzksMHgwMiwweDNlLDB4NTQgfX0sCi0gezE2LCAweGY5ZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDQwLDB4MjIsMHg0NiwweDBiLDB4OTgsMHgwMywweDY3LDB4MjAsMHhjOSwweDAxIH19LAotIHsxNiwgMHhmOWUwLCAwLCB7MHgyZSwweDY5LDB4MGIsMHg5NCwweDBiLDB4MjUsMHgyMCwweGE5LDB4MDAsMHgyMiwweDQwLDB4MmQsMHg5MiwweDBhLDB4MjYsMHgyMiB9fSwKLSB7MTYsIDB4ZjlmMCwgMCwgezB4OTksMHgwMCwweDJhLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMDAsIDAsIHsweDI4LDB4MDEsMHg4NiwweDAyLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDgwLDB4ZjEsMHhhMCwweDNlIH19LAotIHsxNiwgMHhmYTEwLCAwLCB7MHg2MiwweDBmLDB4OTgsMHg4MywweGM2LDB4MjAsMHhmOSwweDAwLDB4M2UsMHg0OSwweDBmLDB4OTAsMHg4MywweGU0LDB4MDAsMHg3MSB9fSwKLSB7MTYsIDB4ZmEyMCwgMCwgezB4MDIsMHgzZSwweDQwLDB4MGUsMHg5MCwweDBiLDB4ZTYsMHg4MCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGZhMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgxMCwweGM4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhmYTQwLCAwLCB7MHg0ZiwweDgwLDB4NDMsMHhiMCwweDAwLDB4YzgsMHg0MSwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMSwweDAyLDB4YzgsMHgwMiB9fSwKLSB7MTYsIDB4ZmE1MCwgMCwgezB4M2UsMHgxMCwweDRjLDB4ODAsMHgwMywweDAxLDB4MjAsMHhjOCwweDAwLDB4M2IsMHgwMCwweDBjLDB4YzAsMHgwMywweGIwLDB4MDAgfX0sCi0gezE2LCAweGZhNjAsIDAsIHsweGNjLDB4MDQsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyZSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ZjgsMHgwNCwweDhlLDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4ZmE4MCwgMCwgezB4YjIsMHgwZSwweGUwLDB4ODIsMHhmOSwweDA0LDB4OGEsMHgwMCwweDJlLDB4ODEsMHgwYywweGUwLDB4MGEsMHgzYSwweDgwLDB4ZGEgfX0sCi0gezE2LCAweGZhOTAsIDAsIHsweDAwLDB4MjIsMHhiNiwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4ZSwweDAwLDB4MmEsMHg4MCwweDBiLDB4NjAsMHgwYiwweDBhIH19LAotIHsxNiwgMHhmYWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ0LDB4MDIsMHg5MywweDgxLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ZmFiMCwgMCwgezB4NGIsMHgzMCwweDAyLDB4YzgsMHgwMCwweDgzLDB4Y2EsMHgyMCwweGUwLDB4MTksMHhiMCwweDA2LDB4OGMsMHgwMCwweDgxLDB4MDQgfX0sCi0gezE2LCAweGZhYzAsIDAsIHsweDQ0LDB4NDAsMHgwOCwweDM0LDB4MDIsMHgwZCwweDAwLDB4ODMsMHgwMCwweDJhLDB4MDAsMHgwOCwweDAwLDB4MGEsMHg4MCwweDQwIH19LAotIHsxNiwgMHhmYWQwLCAwLCB7MHg4OCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRiLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFlMCwgMCwgezB4YTAsMHgwMSwweDA0LDB4MDIsMHg5NywweDA4LDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwNiwweGNhLDB4MDAsMHg4MywweDA5LDB4MjEgfX0sCi0gezE2LCAweGZhZjAsIDAsIHsweGMwLDB4MGEsMHg3MCwweDAyLDB4ZGMsMHgwMCwweDg1LDB4MzEsMHgyZCwweDY4LDB4MDksMHgzMCwweDAyLDB4MWMsMHgxNCwweDkzIH19LAotIHsxNiwgMHhmYjAwLCAwLCB7MHgyMCwweDIwLDB4YzAsMHgwOCwweGYwLDB4NDIsMHg5YywweDAyLDB4OGYsMHgwMCwweDI5LDB4NDAsMHgwMywweDcwLDB4MTIsMHgyOCB9fSwKLSB7MTYsIDB4ZmIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4OTYsMHg4NCwweDNkLDB4YTAgfX0sCi0gezE2LCAweGZiMjAsIDAsIHsweDBmLDB4NzgsMHgwMywweDlhLDB4MDIsMHg4NywweDgwLDB4YjEsMHhlMCwweDBiLDB4NzgsMHgwMywweGI2LDB4MDAsMHhjNSwweGEwIH19LAotIHsxNiwgMHhmYjMwLCAwLCB7MHgzNSwweDYxLDB4MGMsMHg3OCwweDEzLDB4MWUsMHgwMiwweGM3LDB4ODAsMHgyOSwweDAwLDB4MGMsMHg0OCwweDAzLDB4OTAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI0MCwgMCwgezB4YzQsMHg4MCwweDMxLDB4NjAsMHgwZiwweDU4LDB4MDMsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNTAsIDAsIHsweDA4LDB4MWQsMHhhNCwweDAwLDB4ZWEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlOCwweDA4LDB4ZmIsMHgwMCwweDNlIH19LAotIHsxNiwgMHhmYjYwLCAwLCB7MHg4MCwweDBmLDB4OTAsMHgxMywweGU0LDB4MDgsMHhmOSwweDAwLDB4M2MsMHg1MCwweDJlLDB4ZjAsMHgwMywweGU4LDB4MDgsMHhmYiB9fSwKLSB7MTYsIDB4ZmI3MCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGIsMHgzMCwweDEzLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgzMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGZiODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZDYsMHgwMCwweGNkLDB4ODAsMHgzMywweGUwIH19LAotIHsxNiwgMHhmYjkwLCAwLCB7MHgwYywweGY4LDB4MDMsMHhmYSwweDAwLDB4ZmQsMHg4MCwweDNmLDB4YTAsMHgwZCwweGY4LDB4MDMsMHhmYSwweDQwLDB4Y2QsMHhkMCB9fSwKLSB7MTYsIDB4ZmJhMCwgMCwgezB4NzcsMHg3ZSwweDBjLDB4ZTgsMHg0MywweDFlLDB4MDAsMHhjZiwweGQ4LDB4M2YsMHhlMCwweDBjLDB4YzgsMHgwMywweDNhLDB4YzQgfX0sCi0gezE2LCAweGZiYjAsIDAsIHsweGNjLDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmMwLCAwLCB7MHhhOCwweDExLDB4OTQsMHgwMiwweDhkLDB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAzLDB4ZDgsMHgxMCwweDM1LDB4MjAsMHg4YiB9fSwKLSB7MTYsIDB4ZmJkMCwgMCwgezB4ZDQsMHgwZCwweDY0LDB4MDMsMHhkOCwweGMwLDB4ODUsMHgwMCwweDJmLDB4NGUsMHgwNywweDY0LDB4MDIsMHg5YywweDAyLDB4ZDcgfX0sCi0gezE2LCAweGZiZTAsIDAsIHsweDMwLDB4MmYsMHgwNCwweDBkLDB4ZjEsMHgwYiwweDU0LDB4NDAsMHhhZiwweDAwLDB4MzUsMHg0MCwweDA4LDB4NzAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhmYmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk0LDB4NDAsMHg4NCwweDE4LDB4MjEsMHg4MCB9fSwKLSB7MTYsIDB4ZmMwMCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZGEsMHgyMCwweGI1LDB4MDAsMHgwOSwweDAwLDB4MDgsMHg3MCwweDAyLDB4ZDQsMHgwNCwweDg1LDB4MDAgfX0sCi0gezE2LCAweGZjMTAsIDAsIHsweDZkLDB4NGMsMHg4OSwweDYwLDB4MDIsMHg1YywweDQwLDB4OTcsMHgwMCwweDZkLDB4YzAsMHgwOSwweDQwLDB4MDIsMHg1OCwweDgwIH19LAotIHsxNiwgMHhmYzIwLCAwLCB7MHg4NCwweDg4LDB4MjUsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmMzMCwgMCwgezB4MjAsMHgxNCwweGM2LDB4NDgsMHg4MCwweDAwLDB4MjAsMHg4MCwweDA4LDB4YWMsMHgwMiwweGE4LDB4MDAsMHhiMSwweDAwLDB4YTggfX0sCi0gezE2LCAweGZjNDAsIDAsIHsweDg4LDB4MDksMHgyMiwweDAyLDB4ODYsMHg0MiwweDgxLDB4MDAsMHg2YywweDUyLDB4MGIsMHgyMCwweDAyLDB4YzcsMHg1MiwweDgzIH19LAotIHsxNiwgMHhmYzUwLCAwLCB7MHgwMCwweDJjLDB4MDAsMHgwOCwweDM0LDB4ODIsMHg2NywweDAwLDB4YTMsMHg4MCwweDIwLDB4NDAsMHgwOCwweDMwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4ZmM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMywweDAwLDB4Y2IsMHhjMCwweGIyLDB4NDAgfX0sCi0gezE2LCAweGZjNzAsIDAsIHsweDJjLDB4OTAsMHg4MiwweGU2LDB4MDAsMHhiYiwweDgwLDB4YmUsMHg3OCwweDA4LDB4OGUsMHgwMiwweGVlLDB4MDAsMHg4ZCwweDAwIH19LAotIHsxNiwgMHhmYzgwLCAwLCB7MHgyNywweDYwLDB4MGQsMHg5MCwweDBhLDB4NmYsMHgwMCwweDlmLDB4MDIsMHgyZSwweDAwLDB4MDksMHhiNCwweDAzLDB4NjcsMHg4MCB9fSwKLSB7MTYsIDB4ZmM5MCwgMCwgezB4Y2EsMHg0MCwweGU0LDB4YzAsMHgwYywweDMwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjYTAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDgwLDB4ZmIsMHgyMiwweDNlLDB4NDAsMHgwZiwweDgwLDB4MTMsMHhlNCwweDAwLDB4ZmIsMHg4MCwweDNlIH19LAotIHsxNiwgMHhmY2IwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4NzAsMHgyMywweGFjLDB4MjAsMHhmYiB9fSwKLSB7MTYsIDB4ZmNjMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4OGYsMHg4MCwweDAzLDB4ZTksMHgyMCwweGY5LDB4MDgsMHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4ZTAgfX0sCi0gezE2LCAweGZjZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGM2LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhmY2UwLCAwLCB7MHgwZiwweGQxLDB4ODMsMHgzNCwweDQwLDB4Y2YsMHgwMCwweDNkLDB4NDAsMHgwYywweGQwLDB4MDMsMHhkZSwweDUwLDB4MGQsMHgwMCB9fSwKLSB7MTYsIDB4ZmNmMCwgMCwgezB4NzMsMHg0MCwweDBjLDB4ZDEsMHgwMywweDdjLDB4NDAsMHg4NywweDAyLDB4YjMsMHgwMCwweDBkLDB4ZjQsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGZkMDAsIDAsIHsweGNlLDB4MjAsMHgzMiwweDQwLDB4MGMsMHhkMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDEwLCAwLCB7MHg4MSwweDA0LDB4NjEsMHgyMiwweDhhLDB4MDAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDQwLDB4MjUsMHgwMCwweDg5LDB4YzMsMHgyZSB9fSwKLSB7MTYsIDB4ZmQyMCwgMCwgezB4MjAsMHgwYSwweDk4LDB4MDMsMHhhMSwweDAwLDB4ODksMHgwMCwweDM2LDB4NDAsMHg4OCwweDk0LDB4MDIsMHgwZiwweDAxLDB4YWIgfX0sCi0gezE2LCAweGZkMzAsIDAsIHsweDAwLDB4MzIsMHhjMCwweDA4LDB4MDQsMHgwYSwweDI5LDB4MDAsMHhhOSwweDAyLDB4YTIsMHg0MCwweDBkLDB4YjAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhmZDQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDAwLDB4MDAsMHg4OSwweDAwLDB4MjIsMHg2MSB9fSwKLSB7MTYsIDB4ZmQ1MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4MjUsMHgwMSwweDliLDB4ODgsMHgyZSwweDYwLDB4MDgsMHg4OCwweDAyLDB4ZTgsMHgwMCwweGIxLDB4MDIgfX0sCi0gezE2LCAweGZkNjAsIDAsIHsweDI0LDB4NDAsMHgxOCwweDkwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMSwweDIwLDB4YzEsMHgwOCwweGI0LDB4NDIsMHgyYywweDAwIH19LAotIHsxNiwgMHhmZDcwLCAwLCB7MHg4MiwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ4MCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MDAsMHgwYSwweDA0LDB4NDYsMHg4MywweDAxLDB4MmMgfX0sCi0gezE2LCAweGZkOTAsIDAsIHsweDQwLDB4MWEsMHgwMCwweDA2LDB4ODAsMHgwMCwweDgxLDB4MDAsMHgyNCwweDQwLDB4MDgsMHgyMCwweDBhLDB4MGMsMHgwMSwweGEzIH19LAotIHsxNiwgMHhmZGEwLCAwLCB7MHgwMCwweDI0LDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YTEsMHgwMCwweDIwLDB4NDAsMHgwOSwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4ZmRiMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAyLDB4YzgsMHgwMCwweDIyLDB4MDAgfX0sCi0gezE2LCAweGZkYzAsIDAsIHsweDBmLDB4OTAsMHgwMiwweDI1LDB4MDAsMHhkYSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweGNjLDB4MDAsMHhmZCwweDAwIH19LAotIHsxNiwgMHhmZGQwLCAwLCB7MHgzNywweDQwLDB4MGMsMHgxMCwweDEzLDB4MmMsMHgwMiwweGFmLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZmRlMCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4NDAsMHg0YywweDkwLDB4MGIsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkZjAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwNywweGMwLDB4MDMsMHhmNCwweDFjLDB4ZjQsMHgwMCwweDNmIH19LAotIHsxNiwgMHhmZTAwLCAwLCB7MHgwMCwweDFmLDB4YzAsMHgyMywweGIwLDB4MDIsMHg5ZCwweDAxLDB4M2YsMHg0MCwweDhmLDB4YzAsMHgwNywweGZjLDB4MDIsMHhmZiB9fSwKLSB7MTYsIDB4ZmUxMCwgMCwgezB4MDAsMHg3YiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGZlMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmEsMHgwMCwweGNiLDB4ODAsMHgzZiwweDI0IH19LAotIHsxNiwgMHhmZTMwLCAwLCB7MHgwYSwweGMxLDB4MDMsMHhmYywweDI0LDB4Y2QsMHgyMCwweDM3LDB4MGEsMHgwYywweGMyLDB4ODMsMHgzMCwweDgwLDB4ZGMsMHgwMiB9fSwKLSB7MTYsIDB4ZmU0MCwgMCwgezB4M2YsMHhjYywweDBkLDB4ZDksMHgwMywweDNjLDB4NTgsMHhkZiwweDMwLDB4MzMsMHhjOCwweDBkLDB4ZjQsMHgyMywweDNjLDB4NDAgfX0sCi0gezE2LCAweGZlNTAsIDAsIHsweGZmLDB4MDAsMHgzZiwweGM1LDB4NGYsMHhmMCwweDIzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZTYwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMiwweDBiLDB4ODIsMHgyZSwweDA4LDB4MGQsMHhiNywweDAyLDB4ZmQsMHgwMCwweDgzLDB4MTgsMHgwYSB9fSwKLSB7MTYsIDB4ZmU3MCwgMCwgezB4NTgsMHgwYSwweDg0LDB4YTIsMHhhNSwweGEwLDB4ODksMHgzMCwweDIyLDB4NTUsMHgwOCwweDEyLDB4NjIsMHhiZCwweDkwLDB4OGYgfX0sCi0gezE2LCAweGZlODAsIDAsIHsweDYyLDB4MjEsMHhkNiwweDQ4LDB4ZjMsMHgwMiwweDNjLDB4YzUsMHhiZiwweDQ4LDB4MmYsMHhkOCwweDRiLDB4YjcsMHgwMiwweGUwIH19LAotIHsxNiwgMHhmZTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGVjLDB4MDAsMHg4MywweDAwLDB4MmUsMHg4OSB9fSwKLSB7MTYsIDB4ZmVhMCwgMCwgezB4MjgsMHgwMCwweDAyLDB4ZWMsMHhhMCwweDg5LDB4MjIsMHgyOCwweDgyLDB4MDgsMHgxMiwweDAyLDB4MjgsMHg0MCwweDlhLDB4MDggfX0sCi0gezE2LCAweGZlYjAsIDAsIHsweDI4LDB4YzgsMHg4OCwweGIyLDB4MGEsMHgwZCwweDEwLDB4OTMsMHgxMCwweGEwLDB4YzgsMHgyOCwweDMwLDB4MDIsMHg0YywweDAwIH19LAotIHsxNiwgMHhmZWMwLCAwLCB7MHhiMywweDYwLDB4MmMsMHhjNCwweDBiLDB4MzAsMHhjMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmVkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4NDAsMHg4YiwweDAwLDB4MmUsMHg4MCwweDA4LDB4YjEsMHgwMiwweGVjLDB4MDIsMHg4YiwweDAwLDB4MjAgfX0sCi0gezE2LCAweGZlZTAsIDAsIHsweGQwLDB4MGEsMHg5MCwweDAyLDB4YWMsMHgwMCwweDBiLDB4MDEsMHgyNiwweDQwLDB4MDgsMHg5NCwweDAyLDB4OGMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhmZWYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDEwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4ZmYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTQsMHg4YywweDIwLDB4Y2IsMHgwMiwweDNlLDB4MmQgfX0sCi0gezE2LCAweGZmMTAsIDAsIHsweDA4LDB4ODAsMHgwMywweGVjLDB4MDgsMHhjOSwweDgwLDB4MWUsMHgwNCwweDBjLDB4YjAsMHgwMywweDAxLDB4MDgsMHg1MCwweDE4IH19LAotIHsxNiwgMHhmZjIwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHgwNCwweDAzLDB4MmMsMHgwMCwweGRiLDB4MDEsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4MmMsMHgwOCB9fSwKLSB7MTYsIDB4ZmYzMCwgMCwgezB4YmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg4MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZmNDAsIDAsIHsweGUxLDB4MDAsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4NjAsMHgwZiwweGMwLDB4MjMsMHhlYywweDAwLDB4ZmYsMHhjMCwweGJlIH19LAotIHsxNiwgMHhmZjUwLCAwLCB7MHg2MCwweDhmLDB4YzksMHgyMywweGY2LDB4NTAsMHhlZCwweDgwLDB4YjgsMHg1MCwweGFmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ZmY2MCwgMCwgezB4MDAsMHgzZiwweGMxLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwNCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGZmNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhmZjgwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHgyYywweDAwLDB4ODksMHgwMCwweDNlLDB4OTgsMHg4YywweDMwLDB4MDMsMHg2MSwweDgwLDB4ZmEsMHg0MCB9fSwKLSB7MTYsIDB4ZmY5MCwgMCwgezB4M2UsMHg0MCwweDJjLDB4YTUsMHgwMywweDJjLDB4MDAsMHhmYiwweDAxLDB4M2MsMHhjMCwweDJjLDB4MzAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGZmYTAsIDAsIHsweGRiLDB4MDIsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZmIwLCAwLCB7MHhjYSwweDAwLDB4MmUsMHg4MCwweDhiLDB4ODIsMHhhMCwweGMwLDB4OGMsMHg5MCwweDAyLDB4M2MsMHgwMCwweDhiLDB4ZjAsMHgyMiB9fSwKLSB7MTYsIDB4ZmZjMCwgMCwgezB4YzIsMHgwZCwweDgwLDB4MDIsMHgyNywweDAwLDB4OGIsMHgxMCwweDIyLDB4NDAsMHgwOCwweDgwLDB4MjIsMHgzYywweDAwLDB4YmYgfX0sCi0gezE2LCAweGZmZDAsIDAsIHsweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDNjLDB4MDAsMHhiZiwweDAxLDB4YTMsMHhjMCwweDBiLDB4ZjAsMHgxMiwweGYyIH19LAotIHsxNiwgMHhmZmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDFjLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4ZmZmMCwgMCwgezB4MDgsMHgwMCwweDA2LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyMCwweGQwLDB4MDgsMHgyMCwweDAyLDB4NGMsMHgwMCwweGEzLDB4MDAgfX0sCi0gezE2LCAweDgwMTAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDEwLDB4MGEsMHgwYywweDAwLDB4YmIsMHgwMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwIH19LAotIHsxNiwgMHg4MDIwLCAwLCB7MHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODAzMCwgMCwgezB4MjIsMHgxMSwweDFlLDB4MDAsMHg5NywweGEwLDB4MjEsMHhhMCwweDA4LDB4NzksMHgwMiwweDFlLDB4MDAsMHg5NywweDkwLDB4MjEgfX0sCi0gezE2LCAweDgwNDAsIDAsIHsweDYwLDB4MDksMHhlOCwweDIyLDB4M2UsMHgwMCwweGFmLDB4ODQsMHgyMSwweGU0LDB4NDgsMHg1YywweDAyLDB4MWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4MDUwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgwOSwweDc4LDB4MDAsMHgxZSwweDA5LDB4YjMsMHg5MCwweDIxLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhkOCB9fSwKLSB7MTYsIDB4ODA2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTgsMHgyYywweDQwLDB4YjMsMHhiMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweDgwNzAsIDAsIHsweDJjLDB4ODEsMHgxMywweDBjLDB4NDIsMHhkMSwweDAwLDB4YjAsMHhjMCwweDhjLDB4MzAsMHgwMywweDQ4LDB4MjAsMHhlMywweDAxIH19LAotIHsxNiwgMHg4MDgwLCAwLCB7MHgzYywweGMwLDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCwweGYzLDB4MTAsMHgzYywweGMwLDB4Y2QsMHgzMiwweDBiLDB4MGMsMHg0MCB9fSwKLSB7MTYsIDB4ODA5MCwgMCwgezB4ZDMsMHgwMCwweDMwLDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwYTAsIDAsIHsweDQwLDB4MTUsMHhiYywweDAwLDB4ZTcsMHgwMCwweDNmLDB4ODAsMHgwYiwweGYxLDB4MDMsMHhmZCwweDAwLDB4NmQsMHgwMCwweDMyIH19LAotIHsxNiwgMHg4MGIwLCAwLCB7MHg0MCwweDFmLDB4NzAsMHgwNywweGQ4LDB4NDEsMHhjMywweDEwLDB4M2IsMHhjMCwweDBmLDB4ZDEsMHgwMywweGZkLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ODBjMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGUsMHhmMCwweDAzLDB4ZWMsMHgxMCwweGZmLDB4MDgsMHgzZiwweGMzLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDgwZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHgwNCwweGZiLDB4MDIsMHgzZSwweDQwIH19LAotIHsxNiwgMHg4MGUwLCAwLCB7MHgwYiwweGEwLDB4MDMsMHhhYywweDAwLDB4ZGIsMHgwMCwweDM2LDB4ODAsMHgwZCwweGIwLDB4MDMsMHhhYywweDAwLDB4ZTgsMHgwMCB9fSwKLSB7MTYsIDB4ODBmMCwgMCwgezB4MzYsMHhjMSwweDJlLDB4OTAsMHgwMywweDJjLDB4MDAsMHhjYiwweGEwLDB4MzYsMHhkYywweDBmLDB4YjAsMHgwMywweDJkLDB4NjggfX0sCi0gezE2LCAweDgxMDAsIDAsIHsweGZiLDB4YTAsMHg5MiwweGMyLDB4MGMsMHhiMSwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTEwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwOCwweDM3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhlMCwweDAyLDB4MWQsMHg4MCwweGI3LDB4MDQsMHgyMyB9fSwKLSB7MTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwYSwweDQwLDB4MDIsMHgxYywweDE4LDB4ODQsMHgwMCwweDI1LDB4YzAsMHgxOCwweDUwLDB4MzIsMHgwZCwweDgwLDB4YTMgfX0sCi0gezE2LCAweDgxMzAsIDAsIHsweDMwLDB4MjEsMHhjYywweDBiLDB4MzQsMHg4MiwweDFjLDB4MTAsMHhiNywweDMwLDB4MjEsMHhjOCwweDA4LDB4NzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHg4MTQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MjAsMHhiNywweDgwLDB4MmQsMHg2MCB9fSwKLSB7MTYsIDB4ODE1MCwgMCwgezB4MGIsMHhmYywweDIyLDB4OWUsMHgwMCwweDhkLDB4ODAsMHgyNSwweGEwLDB4MDgsMHhmOCwweDIyLDB4OTIsMHgwMCwweGI0LDB4ODAgfX0sCi0gezE2LCAweDgxNjAsIDAsIHsweDI1LDB4ZTAsMHgwOCwweGY4LDB4MDIsMHgxZSwweDAwLDB4ODcsMHhiMCwweDIxLDB4ZTAsMHgwOSwweDdhLDB4MDIsMHgxZSwweDE4IH19LAotIHsxNiwgMHg4MTcwLCAwLCB7MHhiMywweDgwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE4MCwgMCwgezB4NDgsMHgwNCwweGM1LDB4MjAsMHhiMywweDAxLDB4MmMsMHhkOCwweDBiLDB4M2MsMHgwMiwweDJjLDB4MDgsMHhiOSwweDAwLDB4MjAgfX0sCi0gezE2LCAweDgxOTAsIDAsIHsweDAzLDB4MGEsMHgwMCwweDgyLDB4MjIsMHgwOCwweDkwLDB4MGQsMHgyNiwweGU0LDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGEzIH19LAotIHsxNiwgMHg4MWEwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMCwweDIyLDB4YzAsMHgyOCwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ODFiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg5OSwweDAwLDB4ZmEsMHgwMiwweDNmLDB4OTAgfX0sCi0gezE2LCAweDgxYzAsIDAsIHsweDBmLDB4ZWMsMHgyMywweGE4LDB4MDAsMHhkYSwweDAwLDB4MzUsMHg4MCwweDBkLDB4ZTAsMHgwMiwweGJhLDB4MDIsMHhmZSwweGMyIH19LAotIHsxNiwgMHg4MWQwLCAwLCB7MHhiNiwweGEwLDB4MGUsMHhlNCwweDBiLDB4MjgsMHgwMCwweGNhLDB4MDAsMHhiMiwweDgwLDB4MGYsMHhhMCwweDBiLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4ODFlMCwgMCwgezB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxZjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgyLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHg4MjAwLCAwLCB7MHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4NDAsMHhlOCwweDEwLDB4M2EsMHgwMCwweDRmLDB4ODQsMHg4MywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ODIxMCwgMCwgezB4MDAsMHgzYSwweDAwLDB4MGYsMHgwMCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDgyMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTUsMHgwMCwweGM5LDB4MDIsMHgzZSwweDQwIH19LAotIHsxNiwgMHg4MjMwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHgyNCwweDAwLDB4YzksMHgwMCwweDMyLDB4NjgsMHgyZiwweDEwLDB4MDMsMHgyNCwweDAwLDB4ZTksMHgxNCB9fSwKLSB7MTYsIDB4ODI0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OTAsMHgwYiwweDA0LDB4MDAsMHhkOSwweDAwLDB4MWUsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweDgyNTAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MjYwLCAwLCB7MHg4MCwweDE0LDB4NjQsMHgwMCwweDg5LDB4MDEsMHgyZSwweDQwLDB4NGIsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4YzIsMHhhMiB9fSwKLSB7MTYsIDB4ODI3MCwgMCwgezB4NjAsMHg4OCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHhjMSwweGEyLDB4NDAsMHg0OCwweDE2LDB4MDMsMHg2NCwweDAyLDB4ODkgfX0sCi0gezE2LCAweDgyODAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCwweDI4LDB4OTAsMHgwYSwweDIwIH19LAotIHsxNiwgMHg4MjkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNCwweDI0LDB4MDAsMHg4OSwweDAyLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ODJhMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQwLDB4ODksMHg5MCwweDAyLDB4YWMsMHgwMCwweGExLDB4MDggfX0sCi0gezE2LCAweDgyYjAsIDAsIHsweDIyLDB4NDAsMHgwOSwweDk4LDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwIH19LAotIHsxNiwgMHg4MmMwLCAwLCB7MHg4OSwweDAwLDB4MjYsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODJkMCwgMCwgezB4MDgsMHgwMCwweDI0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODEsMHg4MSwweDIwLDB4MjIgfX0sCi0gezE2LCAweDgyZTAsIDAsIHsweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MSwweDgxLDB4MjQsMHgwMiwweDQ4LDB4MGEsMHg5MCwweDAyLDB4ODQsMHhhMCwweDgxIH19LAotIHsxNiwgMHg4MmYwLCAwLCB7MHgyOCwweDZjLDB4NGEsMHgwOCwweDEyLDB4ZDIsMHgwNCwweGExLDB4ODEsMHgyOCwweDJjLDB4NGEsMHgwOCwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4ODMwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDgsMHg2MSwweDQwLDB4YzgsMHgwMCwweDJlLDB4MTQgfX0sCi0gezE2LCAweDgzMTAsIDAsIHsweDBmLDB4ODUsMHgwYiwweDIxLDB4NDIsMHhjYSwweDUwLDB4MjIsMHgxNCwweDBkLDB4ODUsMHg0MywweGExLDB4NDAsMHhlOCwweDUwIH19LAotIHsxNiwgMHg4MzIwLCAwLCB7MHgzMCwweDAwLDB4MGQsMHg4NSwweDAyLDB4YTEsMHhjMCwweGQ4LDB4MjAsMHgzYSwweDA4LDB4MmMsMHg4MiwweDBiLDB4MjAsMHg4MiB9fSwKLSB7MTYsIDB4ODMzMCwgMCwgezB4YzgsMHgyMCwweDM0LDB4MDksMHg4YywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzNDAsIDAsIHsweDk4LDB4MGQsMHhmYywweDAyLDB4ZjksMHgwMCwweDNmLDB4NDAsMHg0ZiwweGQxLDB4MDMsMHhlNCwweDQwLDB4ZjUsMHgxNCwweGJmIH19LAotIHsxNiwgMHg4MzUwLCAwLCB7MHg0NCwweDBkLDB4NTEsMHgyMywweDVjLDB4NDAsMHhmNSwweDEwLDB4MWYsMHg0ZSwweDRkLDB4NTAsMHgwMywweDY0LDB4MDgsMHhmOSB9fSwKLSB7MTYsIDB4ODM2MCwgMCwgezB4MjgsMHgzZSwweDRhLDB4OGYsMHg5MiwweDgzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzYSwweDRiLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweDgzNzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZjQsMHg0MCwweGZkLDB4MDAsMHgzMCwweDQwIH19LAotIHsxNiwgMHg4MzgwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZGQsMHgwMCwweDNiLDB4NDAsMHgwZSwweDkwLDB4MDMsMHg3NCwweDAwLDB4NWQsMHgwMCB9fSwKLSB7MTYsIDB4ODM5MCwgMCwgezB4MzYsMHg2NCwweDBkLDB4ZDAsMHgwMCwweGE2LDB4MDAsMHhmOSwweDQwLDB4MzIsMHg3OCwweDBjLDB4OTksMHgwMywweDI0LDB4NDAgfX0sCi0gezE2LCAweDgzYTAsIDAsIHsweGM5LDB4OTAsMHgzMiwweDUwLDB4MGYsMHg5YiwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4M2IwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweGI4LDB4MDAsMHgyMiwweDAxLDB4MDgsMHg4MCwweDBhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ODNjMCwgMCwgezB4MDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIyLDB4MjAsMHgwOCwweDhhLDB4OGIsMHhlMSwweDAwLDB4YjggfX0sCi0gezE2LCAweDgzZDAsIDAsIHsweDgwLDB4MjIsMHgzMCwweDI4LDB4MGQsMHgwMiwweDIyLDB4MDAsMHhkOCwweGU0LDB4MjIsMHgyOCwweDBiLDB4OGYsMHgwYSwweDBlIH19LAotIHsxNiwgMHg4M2UwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHhiMSwweDAwLDB4YTAsMHg0MCB9fSwKLSB7MTYsIDB4ODNmMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMCwweDg5LDB4MDAsMHgwOCwweDQwLDB4MGEsMHg5MCwweDQyLDB4NDQsMHgwMCwweDkxLDB4MDAgfX0sCi0gezE2LCAweDg0MDAsIDAsIHsweDIwLDB4NTgsMHgyOCwweDkwLDB4MDIsMHg4NSwweDAwLDB4ODEsMHgyMCwweGEwLDB4NGMsMHgwOSwweDEyLDB4MGEsMHgwNCwweDgwIH19LAotIHsxNiwgMHg4NDEwLCAwLCB7MHg5MSwweDQwLDB4YTAsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODQyMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAyLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDAxLDB4MjIgfX0sCi0gezE2LCAweDg0MzAsIDAsIHsweDQwLDB4MjgsMHg5MCwweDIyLDB4MDQsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGIxIH19LAotIHsxNiwgMHg4NDQwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHg4MSwweDkwLDB4MDIsMHgwNCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ODQ1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNSwweDAwLDB4ZjEsMHgwMCwweDMyLDB4NjAgfX0sCi0gezE2LCAweDg0NjAsIDAsIHsweDJjLDB4OTIsMHgxMywweDI0LDB4MDIsMHhkMSwweDEwLDB4M2EsMHg0MCwweDBlLDB4MTIsMHgwMywweDY2LDB4MDQsMHhkOSwweDAwIH19LAotIHsxNiwgMHg4NDcwLCAwLCB7MHhiNiwweDQwLDB4MGQsMHgxOSwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MDksMHg5MCwweDAxLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ODQ4MCwgMCwgezB4ZDksMHgwMiwweDIyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0OTAsIDAsIHsweDJhLDB4MDEsMHhhNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjQsMHgwZiwweDEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MSwweDNlIH19LAotIHsxNiwgMHg4NGEwLCAwLCB7MHg2NiwweDhmLDB4OTAsMHgyMywweGU0LDB4ODAsMHhmOSwweDA0LDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGU0LDB4MDQsMHhmOSB9fSwKLSB7MTYsIDB4ODRiMCwgMCwgezB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweDg0YzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyYSwweDEwLDB4YTAsMHgwMCwweGY4LDB4MjQsMHgzZSwweDAwIH19LAotIHsxNiwgMHg4NGQwLCAwLCB7MHgyYywweDg0LDB4MDMsMHgyMCwweDAwLDB4YjgsMHgyMCwweDNlLDB4MDAsMHg4YywweDgwLDB4MDMsMHhhMCwweDAwLDB4NzAsMHg4MiB9fSwKLSB7MTYsIDB4ODRlMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDIwLDB4MDggfX0sCi0gezE2LCAweDg0ZjAsIDAsIHsweGM4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NTAwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweGJlLDB4ODAsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwNCwweDhlLDB4MDAsMHg2ZCB9fSwKLSB7MTYsIDB4ODUxMCwgMCwgezB4OTAsMHgwZCwweGEwLDB4MDIsMHgzYSwweDAwLDB4OGUsMHg4MCwweGEyLDB4ODAsMHgwZSwweGUwLDB4MGIsMHg2OCwweDAwLDB4YmEgfX0sCi0gezE2LCAweDg1MjAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhkYSwweDAwLDB4MmUsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHg4NTMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHg4MSwweDRjLDB4MDAsMHhiMSwweDAwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ODU0MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MGMsMHgxOCwweGEzLDB4MDIsMHgyYywweDEwLDB4ODgsMHgzMCwweDA2LDB4ODIsMHg4MSwweGEwLDB4MDAgfX0sCi0gezE2LCAweDg1NTAsIDAsIHsweDJhLDB4YzAsMHgwYiwweDMwLDB4MGEsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgxYSwweGIwLDB4MDIsMHg4YywweDAxIH19LAotIHsxNiwgMHg4NTYwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODU3MCwgMCwgezB4MjAsMHgwMSwweDFjLDB4MTAsMHhiNCwweDBhLDB4MmIsMHhjOCwweDA4LDB4MzEsMHgyNiwweDFjLDB4MDAsMHg4NiwweDAwLDB4MmQgfX0sCi0gezE2LCAweDg1ODAsIDAsIHsweGMwLDB4MDksMHg3MiwweDAyLDB4MWQsMHgwMCwweGE1LDB4NDAsMHgyOSwweGMwLDB4MGEsMHg2MCwweDAyLDB4NWMsMHg4OCwweGIzIH19LAotIHsxNiwgMHg4NTkwLCAwLCB7MHgyMCwweDI1LDB4YzgsMHgwYSwweDcyLDB4MDIsMHg5YywweDgwLDB4OTcsMHgyMCwweDJjLDB4ZTgsMHg4MCwweDcyLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4ODVhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgxNiwweDAwLDB4YjUsMHg4MCwweDNkLDB4ZTIgfX0sCi0gezE2LCAweDg1YjAsIDAsIHsweDBjLDB4N2EsMHg4YiwweDBlLDB4YzAsMHhhNywweDgxLDB4MmMsMHgyMCwweDBjLDB4ZmMsMHgwMywweDkyLDB4MDIsMHhlZiwweDgwIH19LAotIHsxNiwgMHg4NWMwLCAwLCB7MHgzOSwweGU0LDB4MGIsMHhkOCwweDAxLDB4MWYsMHgwMCwweGY3LDB4ODAsMHhiMywweGY0LDB4OGUsMHg3OSwweDAzLDB4OGUsMHgwMCB9fSwKLSB7MTYsIDB4ODVkMCwgMCwgezB4YzcsMHhjNCwweDNkLDB4ZTgsMHgyYywweDdiLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1ZTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4ZGQsMHg4NywweGI2LDB4MDMsMHhlZCwweGNjLDB4ZTksMHgwMCwweDNlIH19LAotIHsxNiwgMHg4NWYwLCAwLCB7MHg0MCwweDBmLDB4YjAsMHgwNywweGNjLDB4MTAsMHgwYiwweDAwLDB4MzYsMHhkOCwweDBmLDB4ODAsMHg0MywweGFkLDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ODYwMCwgMCwgezB4MjgsMHgzYSwweGMwLDB4MGQsMHhiNCwweDAzLDB4NmMsMHhlMiwweGViLDB4NjAsMHgzZSwweGQ0LDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDg2MTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZlLDB4OTAsMHgzZiwweGU1IH19LAotIHsxNiwgMHg4NjIwLCAwLCB7MHgwZSwweGY4LDB4MDMsMHgzZSwweDEwLDB4ZmYsMHg5MCwweDE3LDB4NjAsMHgwZiwweGZjLDB4MDMsMHg3YSwweDAwLDB4ZWUsMHg4MCB9fSwKLSB7MTYsIDB4ODYzMCwgMCwgezB4MzcsMHhlMiwweDBlLDB4NzgsMHgwZiwweGZmLDB4NDAsMHhlZiwweDg4LDB4MWYsMHhlMCwweDBjLDB4ZjgsMHg4MywweGZlLDB4ODAgfX0sCi0gezE2LCAweDg2NDAsIDAsIHsweGNmLDB4ZDAsMHhiMywweGYwLDB4MGMsMHhmOCwweGMzLDB4MTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NjUwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg0MCwweGI0LDB4MTAsMHgwZiwweGNjLDB4MDAsMHg3MiwweDAyLDB4MWMsMHgwMCwweGI2LDB4MDIsMHgwOSB9fSwKLSB7MTYsIDB4ODY2MCwgMCwgezB4YzAsMHgyOCwweGYwLDB4MDIsMHg5OCwweDAwLDB4YTYsMHgwMCwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDMsMHhmYywweDAyLDB4ODcgfX0sCi0gezE2LCAweDg2NzAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRlLDB4MDAsMHg4ZiwweDEwLDB4MjEsMHhjMCwweDA4LDB4ZjAsMHgwMywweDZhIH19LAotIHsxNiwgMHg4NjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDk0LDB4MDAsMHhiNiwweDAyLDB4MmYsMHhjMiB9fSwKLSB7MTYsIDB4ODY5MCwgMCwgezB4MWEsMHgzMCwweDgwLDB4MWMsMHgwMCwweGI2LDB4MDgsMHgwMSwweDQwLDB4MGEsMHhmMCwweDAyLDB4MTgsMHgwMCwweDg3LDB4MDAgfX0sCi0gezE2LCAweDg2YTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweGQwLDB4MDIsMHg5YywweDEwLDB4ODcsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDQ0IH19LAotIHsxNiwgMHg4NmIwLCAwLCB7MHg4NywweDEwLDB4NjQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDA2LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODZjMCwgMCwgezB4NjAsMHgxNCwweGNlLDB4NjAsMHhiMCwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzQsMHgwYSwweDBjLDB4MDgsMHhiMCwweDA0LDB4MDAgfX0sCi0gezE2LCAweDg2ZDAsIDAsIHsweDQwLDB4MDgsMHgzMCwweGEyLDB4ODksMHg4MCwweGEyLDB4NjIsMHgyMCwweGUwLDB4MGIsMHgwMCwweDBhLDB4Y2MsMHgwOCwweDgzIH19LAotIHsxNiwgMHg4NmUwLCAwLCB7MHgwMCwweDZjLDB4YzAsMHgwOCwweDMwLDB4NTIsMHhjYywweDAwLDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg1OCB9fSwKLSB7MTYsIDB4ODZmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZSwweDAwLDB4ZjgsMHgwMCwweDNmLDB4ZDAgfX0sCi0gezE2LCAweDg3MDAsIDAsIHsweDBlLDB4ZmMsMHgwMywweDNjLDB4MDAsMHhmOSwweDAwLDB4OTIsMHg4NCwweDBmLDB4ZmMsMHgwMywweDY0LDB4MDAsMHg4MCwweDAwIH19LAotIHsxNiwgMHg4NzEwLCAwLCB7MHhiNywweGMzLDB4MGYsMHhiOCwweDgzLDB4YmMsMHgwNCwweGVmLDB4MDAsMHgzZiwweGMwLDB4M2MsMHhmMCwweDAzLDB4ZmMsMHgwMiB9fSwKLSB7MTYsIDB4ODcyMCwgMCwgezB4Y2YsMHgwMCwweDM3LDB4YzAsMHgyOCwweGYwLDB4MTMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3MzAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjgsMHg0MSwweDNlLDB4YzgsMHgwZiwweDMyLDB4MDMsMHhlYywweDAwLDB4ZjgsMHgwMCwweDNhIH19LAotIHsxNiwgMHg4NzQwLCAwLCB7MHhjNCwweDBmLDB4YjEsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHhjMCwweDBmLDB4ZTQsMHgwYiwweGVjLDB4MDQsMHhmYiB9fSwKLSB7MTYsIDB4ODc1MCwgMCwgezB4MDAsMHgzZSwweGMxLDB4MGYsMHhiMCwweDQzLDB4ZWMsMHgwNCwweGZiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTQgfX0sCi0gezE2LCAweDg3NjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGZjLDB4ODAsMHgzZiwweGMwIH19LAotIHsxNiwgMHg4NzcwLCAwLCB7MHgxZiwweGYwLDB4MDMsMHgzYywweDA4LDB4ZmIsMHgwMCwweDMzLDB4ODAsMHgyZSwweGYwLDB4MTMsMHhhNCwweDA0LDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4ODc4MCwgMCwgezB4YjksMHhjMCwweDJjLDB4ZDgsMHgwYiwweDNjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDA5LDB4NzAsMHgwMCwweDJjLDB4MDQgfX0sCi0gezE2LCAweDg3OTAsIDAsIHsweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4N2EwLCAwLCB7MHhjMSwweDAwLDB4NmMsMHgwMCwweGI4LDB4ODAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4NmMsMHgwMCwweGI5LDB4MTYsMHgyOCB9fSwKLSB7MTYsIDB4ODdiMCwgMCwgezB4NzIsMHgwOCwweGIwLDB4MjIsMHgyNywweDQwLDB4ZGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGJkLDB4ODIsMHgyYywweDA4LDB4YmIgfX0sCi0gezE2LCAweDg3YzAsIDAsIHsweDAwLDB4MmUsMHhjMCwweDQ4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMSwweDBiLDB4YjAsMHgwMiwweGUwIH19LAotIHsxNiwgMHg4N2QwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiOCwweDYwLDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4ODdlMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIxLDB4MDAsMHgyYSwweDg0LDB4NGEsMHgzMCwweDIyLDB4YWMsMHgyMCwweDk4LDB4ODAgfX0sCi0gezE2LCAweDg3ZjAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhhYywweDAwLDB4M2IsMHgwMCwweDJjLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhYywweDA4IH19LAotIHsxNiwgMHg4ODAwLCAwLCB7MHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODgxMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDEsMHhiMCwweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MDQsMHhiMCwweDAwLDB4MmEgfX0sCi0gezE2LCAweDg4MjAsIDAsIHsweDgwLDB4MDgsMHgzMCwweDAyLDB4MDAsMHgwMCwweDEwLDB4MDQsMHgyOCwweGMwLDB4MDgsMHgyMCwweDQyLDB4OGMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg4ODMwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHg0MiwweDMwLDB4MGEsMHg4YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHg4YiwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ODg0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4ZjgsMHg1MCwweDNmLDB4YzAgfX0sCi0gezE2LCAweDg4NTAsIDAsIHsweDBiLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhmYSwweDA0LDB4MzIsMHg4MCwweDBlLDB4ZjAsMHgyMywweGFjLDB4MDAsMHhkOSwweDAwIH19LAotIHsxNiwgMHg4ODYwLCAwLCB7MHgzYiwweGMwLDB4MGMsMHg5MCwweDAzLDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MmUsMHhmMCwweDBiLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4ODg3MCwgMCwgezB4ZmYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4ODAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHgwNywweGYwLDB4MDMsMHhmYywweDA0LDB4N2MsMHgwMiwweGI1IH19LAotIHsxNiwgMHg4ODkwLCAwLCB7MHgwMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgxMywweDdjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ODhhMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4NmQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MWYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDg4YjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGQ1LDB4ODAsMHgzMywweDBhIH19LAotIHsxNiwgMHg4OGMwLCAwLCB7MHg0YywweGY4LDB4MDMsMHhmMiwweDAwLDB4ZmMsMHgwMCwweDM3LDB4MjYsMHgxZiwweGNhLDB4MDMsMHhiYywweGM0LDB4Y2YsMHgyMCB9fSwKLSB7MTYsIDB4ODhkMCwgMCwgezB4MzMsMHhlNCwweDBmLDB4NzgsMHgwMywweDNlLDB4NDQsMHhjZiwweDAwLDB4M2IsMHhjZSwweDlmLDB4NjgsMHgxMywweGQwLDB4MDAgfX0sCi0gezE2LCAweDg4ZTAsIDAsIHsweGNkLDB4ODAsMHhiMywweDYwLDB4MGYsMHhmYSwweDgzLDB4ZjAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OGYwLCAwLCB7MHg4MCwweDEwLDB4ZTAsMHg4MCwweGM5LDB4MjgsMHgyMiwweDMwLDB4MDgsMHhiMiwweDIyLDB4ZWEsMHgwMSwweGI4LDB4ODIsMHgyMCB9fSwKLSB7MTYsIDB4ODkwMCwgMCwgezB4NTAsMHg0ZiwweDljLDB4MDAsMHhhOCwweGQxLDB4ZGIsMHgxMCwweGE2LDB4ZTAsMHgxNywweGI4LDB4MDMsMHhlYywweDgwLDB4ZGIgfX0sCi0gezE2LCAweDg5MTAsIDAsIHsweDA4LDB4MWYsMHhkMCwweDBiLDB4YjgsMHgwMiwweGY2LDB4MDAsMHhmYiwweDgwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHgwMiwweDYwIH19LAotIHsxNiwgMHg4OTIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MjAsMHg4MSwweDgwLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ODkzMCwgMCwgezB4OGIsMHgzMCwweDgyLDB4YzAsMHgwMCwweGIwLDB4MTAsMHgyOCwweDA4LDB4OGIsMHgxMSwweDMwLDB4YzQsMHg4NCwweDkwLDB4MjggfX0sCi0gezE2LCAweDg5NDAsIDAsIHsweDI0LDB4YzgsMHgwYiwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgxMCwweDA0LDB4YzgsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHg4OTUwLCAwLCB7MHhiMywweDAwLDB4MjQsMHg0MCwweDBiLDB4MzAsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODk2MCwgMCwgezB4YzAsMHgxNSwweGE2LDB4MDAsMHg4MSwweDAwLDB4MjIsMHgxMCwweDBiLDB4YjAsMHgxMiwweGVhLDB4MjAsMHhiYiwweDAwLDB4MmEgfX0sCi0gezE2LCAweDg5NzAsIDAsIHsweDcwLDB4MGEsMHg5YywweDAyLDB4NjIsMHgwMCwweDk4LDB4ODgsMHgyNiwweGM4LDB4MDIsMHhiMiwweDAyLDB4OGUsMHgwOCwweDhiIH19LAotIHsxNiwgMHg4OTgwLCAwLCB7MHgxOCwweDIyLDB4YzAsMHgwYiwweGEwLDB4MDIsMHhlZSwweDIwLDB4M2IsMHgwMCwweDI2LDB4NDAsMHgwYiwweGIwLDB4MDIsMHg3MCB9fSwKLSB7MTYsIDB4ODk5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMCwweDAwLDB4Y2IsMHgwMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweDg5YTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGU3LDB4MDAsMHhiOCwweDUyLDB4M2UsMHgyMCwweDRiLDB4MGMsMHg0MywweGVmLDB4ODIsMHg5YiwweGMwIH19LAotIHsxNiwgMHg4OWIwLCAwLCB7MHgzMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4NmMsMHgwMSwweDhiLDB4ODAsMHgyZSwweGMwLDB4MGIsMHhhMCwweDgzLDB4ZTYsMHgwMCB9fSwKLSB7MTYsIDB4ODljMCwgMCwgezB4ZmIsMHgwMCwweDM2LDB4NDAsMHgwZiwweGYwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5ZDAsIDAsIHsweGUwLDB4MDEsMHhiMCwweDAyLDB4ZmYsMHgwNCwweDNmLDB4OTAsMHgwYywweGYxLDB4MDEsMHhmNCwweDA4LDB4N2QsMHg4MCwweDM3IH19LAotIHsxNiwgMHg4OWUwLCAwLCB7MHgwMCwweDBmLDB4YzAsMHgyMywweDk4LDB4MDAsMHhmNywweDAwLDB4MmIsMHhlMCwweDBmLDB4ZjgsMHgyMywweGZjLDB4MDYsMHhmYiB9fSwKLSB7MTYsIDB4ODlmMCwgMCwgezB4ODMsMHhiZiwweGMwLDB4ODcsMHhkMCwweDAzLDB4ZGMsMHgwMCwweGVmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhiMCwweDAxLDB4ZjggfX0sCi0gezE2LCAweDhhMDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTYsMHgwMCwweGNiLDB4MDAsMHgzMywweDgwIH19LAotIHsxNiwgMHg4YTEwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlMSwweDEwLDB4ZjIsMHg0MCwweGIyLDB4MDAsMHgzZCwweDk0LDB4MTcsMHgyZCwweDQ0LDB4ZmEsMHg0MSB9fSwKLSB7MTYsIDB4OGEyMCwgMCwgezB4MzIsMHhjMCwweDlmLDB4YjAsMHgyMywweDJjLDB4MDIsMHhjYiwweDQwLDB4MzIsMHhjMCwweDRmLDB4OTAsMHgwMywweDNkLDB4MDAgfX0sCi0gezE2LCAweDhhMzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YTQwLCAwLCB7MHg4OCwweDA1LDB4MjYsMHgwMCwweDhiLDB4NzEsMHgyMCwweGQ1LDB4MDMsMHg5OSwweDAyLDB4ZTAsMHgwMCwweGJiLDB4ODAsMHgyMiB9fSwKLSB7MTYsIDB4OGE1MCwgMCwgezB4NjAsMHgxYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YjgsMHgwMiwweDIyLDB4YzIsMHgwYiwweDMyLDB4MDIsMHgyYywweDAxLDB4OGYgfX0sCi0gezE2LCAweDhhNjAsIDAsIHsweDAyLDB4ZDcsMHhjMCwweDBiLDB4YTAsMHgwMywweDZkLDB4NDAsMHg1MywweDgwLDB4MmUsMHhjMCwweDBlLDB4ZjAsMHg0MywweDcyIH19LAotIHsxNiwgMHg4YTcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDY4LDB4MDIsMHg4MCwweDAwLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OGE4MCwgMCwgezB4MGIsMHgzNSwweDI2LDB4YzIsMHgwMCwweGIwLDB4OTAsMHgyMCwweGMwLDB4ODgsMHgwMCwweDAyLDB4NGYsMHgyMCwweGIzLDB4MDIgfX0sCi0gezE2LCAweDhhOTAsIDAsIHsweDYwLDB4ZTIsMHgxYiwweDM4LDB4MDIsMHgwYywweDAwLDB4ODgsMHgwMCwweDYwLDB4YzAsMHgwYiwweDM0LDB4ODIsMHg0YywweDAyIH19LAotIHsxNiwgMHg4YWEwLCAwLCB7MHhhMSwweDkwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgwMiwweDMwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGFiMCwgMCwgezB4MjAsMHgwMSwweDNhLDB4MDgsMHg4YywweGEwLDB4MmQsMHgyMCwweDRiLDB4NzgsMHgwMiwweGRhLDB4MDAsMHhiMiwweDkwLDB4MjEgfX0sCi0gezE2LCAweDhhYzAsIDAsIHsweDY2LDB4NDgsMHg3OSwweDAyLDB4ZGUsMHg0MCwweGI3LDB4OTEsMHhhMSwweGUwLDB4ZGIsMHhmOCwweDAyLDB4MWUsMHg0MCwweDg0IH19LAotIHsxNiwgMHg4YWQwLCAwLCB7MHg5MCwweDAxLDB4ZTAsMHg4YiwweGY5LDB4MDIsMHg1ZSwweDAxLDB4OTcsMHg4MCwweDJkLDB4NjAsMHgwYSwweDc4LDB4MDAsMHg0OCB9fSwKLSB7MTYsIDB4OGFlMCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODAsMHgwMCwweDI0LDB4MDQgfX0sCi0gezE2LCAweDhhZjAsIDAsIHsweDBmLDB4MzIsMHgwMywweGM0LDB4YTAsMHhmMSwweDQyLDB4MzAsMHhjNCwweDJjLDB4MzEsMHgwMiwweDQ0LDB4MDAsMHhmMSwweDExIH19LAotIHsxNiwgMHg4YjAwLCAwLCB7MHhhMCwweGMwLDB4MGIsMHgzMCwweDBiLDB4MGMsMHg0MiwweDgzLDB4MDAsMHgwMCwweGMwLDB4MGYsMHgzMCwweDAzLDB4NGMsMHgwMiB9fSwKLSB7MTYsIDB4OGIxMCwgMCwgezB4ZTMsMHgwMCwweDNjLDB4NDAsMHgwYiwweDMwLDB4MDEsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiMjAsIDAsIHsweGMwLDB4MWQsMHhiYywweDAwLDB4ZmMsMHhhNSwweDMzLDB4YzAsMHgwZiwweGQwLDB4MDMsMHhmYywweDAxLDB4YmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHg4YjMwLCAwLCB7MHhjNCwweDBlLDB4NzEsMHgwMywweDc0LDB4MDAsMHg3NSwweDEwLDB4M2YsMHhjMCwweDA1LDB4ZjAsMHgwMywweGRjLDB4NDAsMHhmZiB9fSwKLSB7MTYsIDB4OGI0MCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZmMsMHgwMCwweDdmLDB4MDAsMHgzZiwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDhiNTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA0LDB4ZTgsMHgwMCwweGYyLDB4MDQsMHhiMywweDgwIH19LAotIHsxNiwgMHg4YjYwLCAwLCB7MHgwZiwweGI4LDB4MGIsMHgyYywweDAwLDB4ZWIsMHg4MCwweDMyLDB4YzAsMHgwYywweDIwLDB4MTMsMHgyZSwweDA4LDB4Y2IsMHgwMSB9fSwKLSB7MTYsIDB4OGI3MCwgMCwgezB4MzIsMHhjNSwweDBmLDB4YjEsMHgwMywweGVjLDB4NDgsMHhjOCwweDEwLDB4MzIsMHhmYSwweDhjLDB4MzgsMHgwMywweDNjLDB4OTAgfX0sCi0gezE2LCAweDhiODAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4YzIsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjkwLCAwLCB7MHhjOCwweDEwLDB4OTgsMHgwMCwweGY2LDB4MDAsMHg2MSwweDgxLDB4MGIsMHhmMCwweDAyLDB4MWMsMHgwMCwweGQ3LDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4OGJhMCwgMCwgezB4ODAsMHgwYywweDcwLDB4MDIsMHhiYywweDEwLDB4OGYsMHgwMCwweDIxLDB4YzgsMHg4YiwweDcyLDB4NDMsMHhmYywweDg4LDB4ZGMgfX0sCi0gezE2LCAweDhiYjAsIDAsIHsweDAwLDB4MzcsMHhjOCwweDBkLDB4NTAsMHgwMiwweDFjLDB4MjIsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGQzIH19LAotIHsxNiwgMHg4YmMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MDAsMHhiNiwweDgwLDB4YTksMHhhMCB9fSwKLSB7MTYsIDB4OGJkMCwgMCwgezB4NGIsMHg3YywweDAyLDB4NWUsMHgzMCwweGEzLDB4ODgsMHgyMSwweGYwLDB4MDgsMHg3OCwweDAyLDB4MTYsMHgwMCwweDg1LDB4ODAgfX0sCi0gezE2LCAweDhiZTAsIDAsIHsweDIxLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhkZSwweDAwLDB4ODcsMHg4MCwweGExLDB4ZTQsMHgwOCwweGQ4LDB4MDIsMHg0ZSwweDAwIH19LAotIHsxNiwgMHg4YmYwLCAwLCB7MHg5NywweDgwLDB4MmQsMHg3MCwweDBiLDB4NzgsMHgwMiwweGM4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGMwMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHhiMiwweDAwLDB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDRlLDB4OTAsMHg5MywweDAyLDB4MjIgfX0sCi0gezE2LCAweDhjMTAsIDAsIHsweGYwLDB4MDgsMHgzOCwweDQyLDB4OGMsMHg0MiwweDgzLDB4MDQsMHgyMiwweGU0LDB4NGIsMHgzOCwweDAyLDB4OGUsMHg0MCwweDgzIH19LAotIHsxNiwgMHg4YzIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwOSwweDM4LDB4MjIsMHg0ZSwweDIxLDB4OTMsMHgwMCwweDJlLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhkYiB9fSwKLSB7MTYsIDB4OGMzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAxLDB4ZmEsMHgwMCwweDNiLDB4ODkgfX0sCi0gezE2LCAweDhjNDAsIDAsIHsweDBmLDB4YTAsMHgwMiwweDc4LDB4MDgsMHhhZSwweDQwLDB4MjMsMHg4MCwweDJjLDB4NmMsMHgwYiwweDNhLDB4MDAsMHg4ZSwweDhjIH19LAotIHsxNiwgMHg4YzUwLCAwLCB7MHhiMiwweDAwLDB4MGIsMHg4MCwweDgyLDB4ZTAsMHgwMiwweDhlLDB4MDAsMHgyMiwweDgwLDB4MGMsMHhlOCwweDAyLDB4N2IsMHg4MCB9fSwKLSB7MTYsIDB4OGM2MCwgMCwgezB4OWEsMHg4MCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjNzAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDA5LDB4ZWMsMHgwMCwweDM2LDB4MjEsMHgwYiwweDgwLDB4MTMsMHhhMSwweDAwLDB4ZjgsMHg2MCwweDNlIH19LAotIHsxNiwgMHg4YzgwLCAwLCB7MHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MTAsMHhmOCB9fSwKLSB7MTYsIDB4OGM5MCwgMCwgezB4MDAsMHhiZSwweDAwLDB4MGYsMHg4NSwweDBiLDB4ODAsMHgwMCwweGU4LDB4MTAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDhjYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDIsMHgzMCwweDQ4IH19LAotIHsxNiwgMHg4Y2IwLCAwLCB7MHgwYywweDk5LDB4MTMsMHhhNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDIsMHgwYywweDkwLDB4OGYsMHgyNCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OGNjMCwgMCwgezB4MzIsMHgyOCwweDBjLDB4ODgsMHgwMywweGUwLDB4MDAsMHhjOSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgwMywweGU3LDB4MDAgfX0sCi0gezE2LCAweDhjZDAsIDAsIHsweGM5LDB4MTAsMHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4Y2UwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMSwweDg5LDB4ODAsMHhhMiwweDQ4LDB4MjgsMHg5MiwweDQyLDB4YzUsMHgwMCwweDg5LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4OGNmMCwgMCwgezB4NDAsMHgyYywweDkwLDB4MDYsMHgyNSwweDAwLDB4YjksMHgwMCwweDIyLDB4NTAsMHgwOCwweDk4LDB4MDIsMHhjNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweDhkMDAsIDAsIHsweDAxLDB4NzYsMHg0MCwweDRiLDB4OTIsMHgwMiwweGU1LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBkLDB4OTAsMHgwMywweDYwIH19LAotIHsxNiwgMHg4ZDEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MGMsMHg4NSwweDIwLDB4YTIsMHg0MCB9fSwKLSB7MTYsIDB4OGQyMCwgMCwgezB4MDgsMHg5MCwweDA2LDB4ZTUsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDQyLDB4YTQsMHhhMCwweDMxLDB4MDAgfX0sCi0gezE2LCAweDhkMzAsIDAsIHsweDIyLDB4NTAsMHgxOCwweDkxLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAwIH19LAotIHsxNiwgMHg4ZDQwLCAwLCB7MHg4OSwweDAwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGQ1MCwgMCwgezB4MDAsMHgwNCwweDE1LDB4MDAsMHg4NSwweDQwLDB4MjAsMHg0MCwweDA4LDB4MTQsMHgyNiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MmMgfX0sCi0gezE2LCAweDhkNjAsIDAsIHsweDQwLDB4MTgsMHgxMCwweDAyLDB4ODQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDUwLDB4MDgsMHgxNCwweDAyLDB4ZTUsMHgwMiwweDgxIH19LAotIHsxNiwgMHg4ZDcwLCAwLCB7MHg0MCwweDIwLDB4NDgsMHgwYiwweDEwLDB4MDYsMHhjYywweDAwLDB4ODEsMHgwMSwweDJjLDB4NTAsMHgwOSwweDE0LDB4MDIsMHg0YSB9fSwKLSB7MTYsIDB4OGQ4MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4OGMsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweDhkOTAsIDAsIHsweDBjLDB4ODAsMHgyMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgxNCwweDBkLDB4ODAsMHgxMiwweGExLDB4NDQsMHhmOCwweDUxIH19LAotIHsxNiwgMHg4ZGEwLCAwLCB7MHgzMiwweDAwLDB4MmMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweDg4LDB4MDQsMHgyMiwweDE0LDB4MGYsMHg4MCwweDA3LDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4OGRiMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkYzAsIDAsIHsweDk4LDB4OWQsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNmLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhkYywweDAxLDB4YmQsMHg0MiwweDNmIH19LAotIHsxNiwgMHg4ZGQwLCAwLCB7MHg1MCwweDRmLDB4ZDQsMHg0MywweDc0LDB4NDEsMHhmZCwweDEwLDB4M2YsMHgxMCwweDFmLDB4YzQsMHgxMywweGYxLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4OGRlMCwgMCwgezB4NDAsMHg3ZSwweDQ0LDB4MGYsMHhkMCwweDQzLDB4ZjUsMHgwMSwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweDhkZjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGRmLDB4MDUsMHgzMywweDYxIH19LAotIHsxNiwgMHg4ZTAwLCAwLCB7MHgwZiwweDUwLDB4NTMsMHgzNCwweDEwLDB4ZmQsMHgwNCwweDMzLDB4NDQsMHg0ZiwweDUwLDB4MDMsMHg3NiwweGMxLDB4Y2QsMHhlMCB9fSwKLSB7MTYsIDB4OGUxMCwgMCwgezB4MzMsMHg2MCwweDBjLDB4Y2UsMHgwMywweGY2LDB4YzAsMHhlMSwweGMwLDB4YjYsMHg2NCwweDhmLDB4NTAsMHgwYiwweDM2LDB4ODIgfX0sCi0gezE2LCAweDhlMjAsIDAsIHsweGNkLDB4MDAsMHgzZSwweDQ0LDB4NGMsMHg5ZSwweGMzLDB4YzYsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZTMwLCAwLCB7MHgzOCwweDEwLDB4ZWEsMHgyOCwweDgwLDB4YTAsMHhiMiwweDA0LDB4MGIsMHg4YSwweDgzLDB4NjAsMHgwMCwweGZhLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4OGU0MCwgMCwgezB4MjgsMHg4YiwweDgwLDB4MDMsMHhlMywweGM4LDB4YzgsMHg4NCwweDIyLDB4MTQsMHgwOCwweDhhLDB4MDIsMHhlMiwweDgwLDB4ZDggfX0sCi0gezE2LCAweDhlNTAsIDAsIHsweDgyLDB4MzQsMHgzNCwweDFiLDB4ODAsMHgwMywweDYwLDB4MDQsMHg4OCwweDAwLDB4MmUsMHgyMCwweDBhLDB4OGUsMHg0MiwweGNlIH19LAotIHsxNiwgMHg4ZTYwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDA4LDB4MDQsMHg0MSB9fSwKLSB7MTYsIDB4OGU3MCwgMCwgezB4MGIsMHg5MiwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgxOCwweDAyLDB4MjQsMHgwMCwweGIxLDB4NjAgfX0sCi0gezE2LCAweDhlODAsIDAsIHsweDI2LDB4NDAsMHgwYSwweDE2LDB4MDIsMHhjNSwweDAwLDB4YTEsMHhjMCwweDIwLDB4NDgsMHgwYiwweDkwLDB4MDIsMHg0NywweDAwIH19LAotIHsxNiwgMHg4ZTkwLCAwLCB7MHg5MSwweDAxLDB4MmMsMHg0OCwweDE4LDB4MTIsMHgwMiwweGQyLDB4MDEsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGVhMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MGMsMHg4YiwweDA0LDB4YTIsMHg1MCwweDBiLDB4OTEsMHgwMiwweDI0LDB4MDQsMHhhOSwweDAxLDB4MmUgfX0sCi0gezE2LCAweDhlYjAsIDAsIHsweDQyLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyNiwweDYwLDB4MGEsMHg5MCwweDAyLDB4ZTYsMHgwMCwweDgxIH19LAotIHsxNiwgMHg4ZWMwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHg4YiwweGIwLDB4MDIsMHgyNCwweDA4LDB4OTksMHgxMCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4OGVkMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNSwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweDhlZTAsIDAsIHsweDBmLDB4MTAsMHgwMiwweDI1LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg2MCwweDBmLDB4MTAsMHgxMiwweDI0LDB4MDIsMHhiOSwweGEwIH19LAotIHsxNiwgMHg4ZWYwLCAwLCB7MHhhNCwweDQwLDB4MmUsMHg5MSwweDAzLDB4ZTYsMHgwMCwweGE5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHgxOSwweDgwLDB4NjQsMHgwNCB9fSwKLSB7MTYsIDB4OGYwMCwgMCwgezB4ZDksMHg4MSwweDJlLDB4NDAsMHg0YywweDkwLDB4MDMsMHhlOCwweDE0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmMTAsIDAsIHsweDY4LDB4MDEsMHhhNCwweDBhLDB4ZTksMHgwMCwweGJlLDB4NDgsMHgwZiwweDk4LDB4MGIsMHhlNCwweDAwLDB4ZjksMHhjNCwweDM2IH19LAotIHsxNiwgMHg4ZjIwLCAwLCB7MHg3MCwweDFmLDB4OTIsMHgwMywweGU2LDB4OTAsMHhjMSwweDkwLDB4M2EsMHg0MCwweDhkLDB4ODgsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OGYzMCwgMCwgezB4OTAsMHgzZSwweDQwLDB4MGIsMHg5OCwweDAzLDB4ZTYsMHg0MCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDhmNDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTEsMHgwMiwweGQ4LDB4MjAsMHhiMiwweDEwIH19LAotIHsxNiwgMHg4ZjUwLCAwLCB7MHgwYywweDgwLDB4ODMsMHgyMSwweDQwLDB4YzgsMHg1OCwweGIyLDB4MTAsMHg0YywweDgwLDB4MGIsMHgyMCwweDAwLDB4ZjgsMHg0MiB9fSwKLSB7MTYsIDB4OGY2MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDIsMHhkOCwweDAwLDB4NzIsMHgwMCwweDFjLDB4ODAsMHgwMCwweDIwLDB4MDAgfX0sCi0gezE2LCAweDhmNzAsIDAsIHsweGY4LDB4MDQsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjgwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwNCwweGNlLDB4NDEsMHgyMywweDgwLDB4MDgsMHhlMCwweDAyLDB4MzksMHgxMCwweGFlLDB4NDAsMHgyMiB9fSwKLSB7MTYsIDB4OGY5MCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgxYSwweDAwLDB4YmEsMHgwMCwweDJiLDB4YWQsMHgwMywweDgwLDB4MDIsMHhlOCwweDAwLDB4Y2EgfX0sCi0gezE2LCAweDhmYTAsIDAsIHsweDAwLDB4MmEsMHg4MCwweDBhLDB4ZTAsMHgwMiwweDE4LDB4MDAsMHhiYSwweDAwLDB4MWEsMHg4MCwweDBiLDB4YTAsMHgwMywweDRhIH19LAotIHsxNiwgMHg4ZmIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwNSwweDZjLDB4MTIsMHg4OSwweDAwLDB4YTAsMHhlMCB9fSwKLSB7MTYsIDB4OGZjMCwgMCwgezB4MDgsMHgzOCwweDAyLDB4MGQsMHg4OCwweDgzLDB4MDAsMHgwNCwweGUwLDB4MDgsMHgzOCwweDMyLDB4MGUsMHgyNSwweDMxLDB4MDEgfX0sCi0gezE2LCAweDhmZDAsIDAsIHsweDI0LDB4ZTAsMHg4YiwweDM4LDB4MDIsMHhlNCwweDAxLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwIH19LAotIHsxNiwgMHg4ZmUwLCAwLCB7MHhiMywweDAwLDB4MmUsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGZmMCwgMCwgezB4YTAsMHgwMSwweDE0LDB4MjAsMHg4NiwweDIwLDB4MjksMHhiMCwweDA4LDB4ZjAsMHg4MiwweDNlLDB4MDQsMHhhNywweDAwLDB4MjEgfX0sCi0gezE2LCAweDkwMDAsIDAsIHsweDcwLDB4ODgsMHg3MCwweDkyLDB4MWMsMHgyMCwweGJkLDB4MDAsMHg2OSwweGMwLDB4MGIsMHg3NiwweDAyLDB4ZDQsMHg4MCwweDhmIH19LAotIHsxNiwgMHg5MDEwLCAwLCB7MHgyMSwweDI5LDB4ZTAsMHgwYSwweDYwLDB4ODYsMHg5OCwweDAxLDB4YjcsMHgwMCwweDJkLDB4YzgsMHgwYiwweDNiLDB4MDIsMHg2MCB9fSwKLSB7MTYsIDB4OTAyMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDAwLDB4YzcsMHhhMCwweGIwLDB4ZTAgfX0sCi0gezE2LCAweDkwMzAsIDAsIHsweDJjLDB4NzgsMHgwYiwweDFhLDB4MDAsMHhjMywweDgwLDB4MzcsMHhlMCwweDI4LDB4NzgsMHgwMywweDFhLDB4MDgsMHhmNSwweDkwIH19LAotIHsxNiwgMHg5MDQwLCAwLCB7MHgzNSwweGUwLDB4MGYsMHg3YywweDEyLDB4ZDYsMHg4MiwweGM3LDB4OTAsMHgyMSwweGU0LDB4MDgsMHg3OCwweDAzLDB4OWUsMHgwMCB9fSwKLSB7MTYsIDB4OTA1MCwgMCwgezB4ZjUsMHg4MCwweDNkLDB4ZjEsMHgwZiwweDc4LDB4MDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwNjAsIDAsIHsweDA4LDB4MTksMHhhNCwweDAwLDB4ZWUsMHg4MCwweDM2LDB4YzEsMHg0ZiwweGQwLDB4MDMsMHhjOCwweDAwLDB4ZmIsMHgwMCwweDNlIH19LAotIHsxNiwgMHg5MDcwLCAwLCB7MHg1MSwweDBmLDB4YjAsMHgwMywweGU0LDB4MDgsMHhmMSwweDYwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGM1LDB4MDAsMHhlYiB9fSwKLSB7MTYsIDB4OTA4MCwgMCwgezB4MTAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDA5LDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDkwOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4ZmUsMHgwMCwweGZkLDB4ODgsMHgzMywweDYwIH19LAotIHsxNiwgMHg5MGEwLCAwLCB7MHgwZiwweGY5LDB4MDMsMHhjZSwweDQwLDB4ZDcsMHg4NCwweDM3LDB4NzAsMHgwYywweGQ4LDB4MjMsMHgzNiwweDAwLDB4YzUsMHg4OCB9fSwKLSB7MTYsIDB4OTBiMCwgMCwgezB4MzMsMHhlMCwweDRmLDB4ZjgsMHgxMywweGY3LDB4MjgsMHhkZiwweDgwLDB4MzcsMHhlMiwweDBjLDB4NTgsMHgwMywweDNlLDB4MDAgfX0sCi0gezE2LCAweDkwYzAsIDAsIHsweGZmLDB4OTAsMHgzZiwweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MGQwLCAwLCB7MHhhOSwweDExLDB4OWMsMHgwOCwweGY2LDB4MDAsMHhhMSwweDAwLDB4MGIsMHg2MywweDAyLDB4ZDYsMHgzMCwweDg1LDB4NDEsMHgzMSB9fSwKLSB7MTYsIDB4OTBlMCwgMCwgezB4YzgsMHgwOCwweDUwLDB4MjMsMHgxYywweDAwLDB4ZDUsMHgyMCwweGIxLDB4ODAsMHgwZiwweDcwLDB4MDMsMHhiNCwweDAwLDB4YzcgfX0sCi0gezE2LCAweDkwZjAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDBmLDB4NDAsMHhhMywweDU4LDB4NDAsMHhiNywweDAwLDB4M2YsMHhjNCwweDBhLDB4ZjAsMHgwMiwweDJhIH19LAotIHsxNiwgMHg5MTAwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4NDAsMHhiNywweDEwLDB4MjEsMHhkMiB9fSwKLSB7MTYsIDB4OTExMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4ZGMsMHg0MiwweDg2LDB4MDAsMHgyNSwweDYxLDB4MDgsMHg1MSwweDAyLDB4NTAsMHgwMCwweDk1LDB4MDAgfX0sCi0gezE2LCAweDkxMjAsIDAsIHsweDI1LDB4YzAsMHgwOSwweDcwLDB4ODIsMHhkNCwweDAwLDB4ODcsMHgwMCwweDI0LDB4YzAsMHgwOCwweDUwLDB4MDIsMHg1YywweDAwIH19LAotIHsxNiwgMHg5MTMwLCAwLCB7MHg5NSwweDA0LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTE0MCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDgsMHhiMiwweGQwLDB4MjAsMHhlMCwweDRiLDB4MDgsMHgwMiwweGM0LDB4MDAsMHg4MCwweDgwLDB4MjAgfX0sCi0gezE2LCAweDkxNTAsIDAsIHsweGYwLDB4MDgsMHgxYSwweDAyLDB4ODUsMHg0OCwweDgxLDB4MTAsMHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4YzYsMHgxMCwweDkzIH19LAotIHsxNiwgMHg5MTYwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYSwweDFjLDB4MDIsMHgwZCwweDQwLDB4YjMsMHgwMCwweDY4LDB4YzQsMHgwYSwweGIwLDB4MDIsMHgwOSB9fSwKLSB7MTYsIDB4OTE3MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAxLDB4ZmUsMHgwMCwweDMyLDB4ZjAgfX0sCi0gezE2LCAweDkxODAsIDAsIHsweDBmLDB4ODgsMHgwMywweGU2LDB4MDAsMHhjOCwweGM4LDB4MzYsMHhmNiwweDI4LDB4YTYsMHgwYSwweDZkLDB4MDAsMHg5ZCwweDAwIH19LAotIHsxNiwgMHg5MTkwLCAwLCB7MHgzMiwweDAwLDB4MGIsMHhiMCwweDAzLDB4ZjYsMHgwMywweGM3LDB4MDAsMHgzNywweGMwLDB4MDgsMHg5YywweDBhLDB4NmUsMHgwMCB9fSwKLSB7MTYsIDB4OTFhMCwgMCwgezB4YmIsMHgwMCwweDJmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxYjAsIDAsIHsweDgwLDB4MDAsMHhlNCwweDAxLDB4ZWIsMHg0MCwweDNlLDB4ODAsMHg0ZiwweGMxLDB4MDMsMHhlNCwweDAwLDB4YjgsMHgwOCwweDNhIH19LAotIHsxNiwgMHg5MWMwLCAwLCB7MHg0MCwweDhmLDB4YTQsMHgxMywweDZjLDB4MjAsMHhmOSwweDAwLDB4M2UsMHg3MCwweDBmLDB4YjAsMHgwMywweGE0LDB4NDAsMHhlYiB9fSwKLSB7MTYsIDB4OTFkMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MiwweDIzLDB4ZTgsMHgwMCwweGY5LDB4ODAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDYzLDB4ZTAgfX0sCi0gezE2LCAweDkxZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwOCwweGNlLDB4MDgsMHgzMywweGMwIH19LAotIHsxNiwgMHg5MWYwLCAwLCB7MHgwZiwweGRhLDB4MDMsMHgzMCwweDAwLDB4ZTQsMHgwNCwweDM1LDB4YzAsMHgwZCwweGEwLDB4MDMsMHgyOCwweDAwLDB4YzUsMHgwMCB9fSwKLSB7MTYsIDB4OTIwMCwgMCwgezB4MzMsMHgwMCwweDBiLDB4ZmEsMHgwMywweGY0LDB4MDMsMHhjYiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ZDQsMHgwMywweDE0LDB4MjAgfX0sCi0gezE2LCAweDkyMTAsIDAsIHsweGNkLDB4ODAsMHgyMywweGMxLDB4MGMsMHhmMCwweDAyLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MjIwLCAwLCB7MHg4MSwweDA0LDB4NDQsMHgxMCwweGNiLDB4ZDAsMHgyMiwweGMwLDB4MGIsMHg5NCwweDAyLDB4MjIsMHg4NCwweGI4LDB4YzYsMHgwMiB9fSwKLSB7MTYsIDB4OTIzMCwgMCwgezB4NDAsMHgwOCwweDI4LDB4MDIsMHhhNSwweDgwLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweGI4LDB4MDIsMHg2NCwweDAwLDB4OGIgfX0sCi0gezE2LCAweDkyNDAsIDAsIHsweDAwLDB4MmEsMHhjMCwweGM4LDB4MDAsMHgwMywweDY2LDB4MDAsMHg4MSwweDAwLDB4MDAsMHhjMCwweDBkLDB4YjAsMHgwYSwweGE4IH19LAotIHsxNiwgMHg5MjUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHgxMywweDAwLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4OTI2MCwgMCwgezB4OGIsMHgyNCwweDAyLDB4MmEsMHgwMCwweGJiLDB4ODIsMHgyMiwweDQwLDB4MDAsMHhhYywweDAyLDB4ODQsMHgwMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweDkyNzAsIDAsIHsweDIyLDB4MjIsMHgwYiwweGIwLDB4MDIsMHhjNCwweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyZSwweDAwIH19LAotIHsxNiwgMHg5MjgwLCAwLCB7MHg4YiwweDEwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTI5MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHg4MywweDAwLDB4MjAsMHgwMSwweDBiLDB4MjAsMHgwMiwweDAwLDB4ODAsMHhiMSwweDAwLDB4MjAgfX0sCi0gezE2LCAweDkyYTAsIDAsIHsweGMxLDB4MDgsMHgyMCwweDAyLDB4ODgsMHgwMSwweDgxLDB4MDAsMHhhMCwweDAwLDB4MGIsMHgzMCwweDAyLDB4NDQsMHgwMSwweDliIH19LAotIHsxNiwgMHg5MmIwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwOCwweGIwLDB4MDIsMHg0OCwweDA2LDB4ODksMHgwMCwweDJhLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4OTJjMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGQsMHg2YywweDAwLDB4YzMsMHgwMCwweGIyLDB4YzAgfX0sCi0gezE2LCAweDkyZDAsIDAsIHsweDBmLDB4YjAsMHgwMywweDI4LDB4MjAsMHhmYSwweDAwLDB4YjEsMHg0MCwweDBkLDB4YTAsMHgwNywweGEwLDB4MDAsMHhjZCwweDAwIH19LAotIHsxNiwgMHg5MmUwLCAwLCB7MHgyMiwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZjQsMHgwMCwweDlmLDB4MDAsMHgzYiwweGMwLDB4MmMsMHhiMCwweDBiLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OTJmMCwgMCwgezB4YzksMHgwMCwweGJhLDB4YzAsMHgwYywweGIwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzMDAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA2LDB4ZmYsMHgwMiwweGFmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDEwLDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHg5MzEwLCAwLCB7MHhjMCwweDlmLDB4ZTAsMHgxMywweGYwLDB4MDAsMHhmZCwweDA0LDB4M2YsMHg0MCwweDRmLDB4ZjAsMHgwMywweDc0LDB4MDAsMHhlZiB9fSwKLSB7MTYsIDB4OTMyMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4OGYsMHhlMCwweDAyLDB4YjQsMHgwMSwweGZkLDB4MDQsMHgzNywweGMwLDB4MGYsMHhmMCwweDQzLDB4NjggfX0sCi0gezE2LCAweDkzMzAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGM3LDB4MjAsMHhiMywweGM4IH19LAotIHsxNiwgMHg5MzQwLCAwLCB7MHgxYywweGYxLDB4MDMsMHg3YywweDIwLDB4Y2YsMHgwYSwweDNmLDB4ZDAsMHgwZCwweGYwLDB4MDMsMHg3YywweDgwLDB4OGYsMHgzMiB9fSwKLSB7MTYsIDB4OTM1MCwgMCwgezB4MzMsMHhjNCwweDBmLDB4ZjEsMHg4MywweDNjLDB4ZTAsMHhjZiwweDEwLDB4MzMsMHhjNCwweDBkLDB4ZjIsMHg4MywweDNjLDB4ZTIgfX0sCi0gezE2LCAweDkzNjAsIDAsIHsweGM3LDB4ODAsMHgxNywweGNjLDB4NGMsMHhmMywweDgzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MzcwLCAwLCB7MHg4MCwweDEwLDB4ZTMsMHg0MCwweDg4LDB4NjgsMHgyMiwweDMwLDB4MDgsMHgwNiwweDAyLDB4MDEsMHhhMSwweDg4LDB4YzQsMHgwZSB9fSwKLSB7MTYsIDB4OTM4MCwgMCwgezB4MTQsMHgwOCwweDg3LDB4ODAsMHgwMSwweGMwLDB4MjgsMHg1MCwweDAyLDB4MDQsMHg4YiwweDg2LDB4MDIsMHhhMSwweDk4LDB4ODggfX0sCi0gezE2LCAweDkzOTAsIDAsIHsweDQxLDB4MmEsMHgwNCwweDBhLDB4ODQsMHg4MiwweGJkLDB4ODAsMHg4YiwweDA4LDB4MmIsMHhjNCwweDg4LDB4ZjQsMHgwMywweDYwIH19LAotIHsxNiwgMHg5M2EwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDgsMHg4MiwweDQwLDB4MjAsMHgxMCB9fSwKLSB7MTYsIDB4OTNiMCwgMCwgezB4MDgsMHgyMSwweDEyLDB4NDQsMHgwNCwweDgyLDB4MDQsMHgyYywweDA4LDB4ODksMHg5MCwweDAyLDB4NDQsMHgyMSwweDhiLDB4MDAgfX0sCi0gezE2LCAweDkzYzAsIDAsIHsweDI0LDB4ODgsMHg4YiwweGEwLDB4MDAsMHg0MCwweDg0LDB4ODksMHgzMCwweDIyLDB4NDgsMHg4OCwweGIwLDB4MDIsMHhjYywweDA4IH19LAotIHsxNiwgMHg5M2QwLCAwLCB7MHg4OCwweDIwLDB4YTQsMHhjOCwweDAwLDB4MzIsMHgwYSwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTNlMCwgMCwgezB4YzAsMHgxNSwweGEwLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhjMSwweDg4LDB4OTAsMHg2MiwweDI4LDB4MDgsMHg4OSwweDA4LDB4MmUgfX0sCi0gezE2LCAweDkzZjAsIDAsIHsweGMwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwOCwweGE4LDB4MDAsMHgyNiwweDQyLDB4MGIsMHg5MCwweDAyLDB4Y2MsMHg1MCwweDhhIH19LAotIHsxNiwgMHg5NDAwLCAwLCB7MHgyMiwweDJhLDB4ODYsMHgwYSwweDgwLDB4MDIsMHhlYywweDAwLDB4ODgsMHg4NCwweDJhLDB4YzEsMHgwOCwweGIwLDB4MjYsMHgzMCB9fSwKLSB7MTYsIDB4OTQxMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhmMCwweDAyLDB4Y2YsMHgwMCwweDMzLDB4YzAgfX0sCi0gezE2LCAweDk0MjAsIDAsIHsweDQ4LDB4ZjgsMHg0MywweDc5LDB4MDAsMHg4ZCwweGMwLDB4M2YsMHgzMCwweDhkLDB4NjAsMHg4MywweDc4LDB4NjAsMHhjNCwweDU4IH19LAotIHsxNiwgMHg5NDMwLCAwLCB7MHgzNywweDIwLDB4MGYsMHg1OCwweDEzLDB4N2IsMHgwMiwweGNjLDB4YzQsMHgzMSwweDIwLDB4MGMsMHg0NCwweDAzLDB4ZWMsMHgwMiB9fSwKLSB7MTYsIDB4OTQ0MCwgMCwgezB4OGIsMHg4MCwweDM2LDB4YzAsMHgyNCwweGIwLDB4MTIsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0NTAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4ZjQsMHgxMCwweDNkLDB4MDAsMHg2ZiwweGM5LDB4MTMsMHhkNCwweDEyLDB4ZmUsMHg5MCwweDNmIH19LAotIHsxNiwgMHg5NDYwLCAwLCB7MHhmMCwweDBmLDB4ZGEsMHgyMywweGY0LDB4MTQsMHhmZiwweDAyLDB4M2IsMHhmMCwweDBmLDB4ZWEsMHgyMywweGI2LDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4OTQ3MCwgMCwgezB4ODIsMHgzZiwweGUxLDB4OGYsMHhmNCwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4YWYsMHg3MCwweDAzLDB4ZjggfX0sCi0gezE2LCAweDk0ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTAsMHgwMCwweGNhLDB4MDAsMHgzMiwweDA4IH19LAotIHsxNiwgMHg5NDkwLCAwLCB7MHgxYywweGEwLDB4MDMsMHhhNSwweDIwLDB4Y2IsMHg0MCwweGJhLDB4MTAsMHgxZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4OTRhMCwgMCwgezB4NzIsMHg5MCwweDBjLDB4YjQsMHgwMywweDI5LDB4MDQsMHhjOSwweDUyLDB4MzIsMHg1MCwweDBjLDB4YjQsMHgwMywweDBjLDB4MDAgfX0sCi0gezE2LCAweDk0YjAsIDAsIHsweGY4LDB4NDAsMHgzMiwweGMxLDB4MGUsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NGMwLCAwLCB7MHhjOCwweDA1LDB4MmQsMHg4MCwweDg5LDB4ODAsMHgyMiwweGQ5LDB4MDgsMHg5MCwweDIyLDB4MmEsMHgwMCwweDg4LDB4NTQsMHgyMiB9fSwKLSB7MTYsIDB4OTRkMCwgMCwgezB4YzAsMHg4YiwweDgwLDB4MjIsMHgyMCwweDE5LDB4YzgsMHgwMCwweDIyLDB4NDAsMHg4ZCwweDgwLDB4MWEsMHgyNCwweDEwLDB4ZDIgfX0sCi0gezE2LCAweDk0ZTAsIDAsIHsweDQ0LDB4MjIsMHg4MSwweDBkLDB4ODAsMHgwMywweDdjLDB4MDAsMHhiMCwweDAwLDB4MzcsMHhjMCwweDg4LDB4ZjAsMHgwMiwweDMyIH19LAotIHsxNiwgMHg5NGYwLCAwLCB7MHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRlLDB4MDAsMHg4MSwweDAwLDB4YTAsMHhmMCB9fSwKLSB7MTYsIDB4OTUwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ODksMHgwMiwweDgwLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgwMCwweDIyLDB4YTAsMHgwMCwweGIwLDB4MDAgfX0sCi0gezE2LCAweDk1MTAsIDAsIHsweDIwLDB4NDAsMHgwOCwweDAwLDB4MDIsMHgwNCwweDAwLDB4ODIsMHg2MCwweDIwLDB4ODAsMHgwOCwweDAwLDB4MDIsMHgwYywweDA4IH19LAotIHsxNiwgMHg5NTIwLCAwLCB7MHhiMiwweDAwLDB4MjIsMHhjMCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTUzMCwgMCwgezB4MjAsMHgwMSwweDAzLDB4MTAsMHg4ZSwweDkwLDB4MjMsMHgyNCwweDA4LDB4NmIsMHgwMiwweDE2LDB4NjAsMHg4ZiwweDgwLDB4MjEgfX0sCi0gezE2LCAweDk1NDAsIDAsIHsweDI4LDB4MGIsMHhmOSwweDA2LDB4MWUsMHg0MCwweDhmLDB4ODAsMHgyMywweGE0LDB4NDksMHg3OSwweDAyLDB4M2EsMHg0MCwweDlkIH19LAotIHsxNiwgMHg5NTUwLCAwLCB7MHg5MCwweDIzLDB4NjQsMHgwOSwweGY4LDB4MDIsMHg1ZSwweDQwLDB4YmUsMHg5MCwweDI0LDB4ZTQsMHgyOCwweDc5LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4OTU2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQyLDB4YzAsMHgwOSwweDMwLDB4MDAgfX0sCi0gezE2LCAweDk1NzAsIDAsIHsweDI4LDB4MDIsMHgwMywweDg0LDB4MDAsMHg4YSwweDIwLDB4MzAsMHhjNCwweDhiLDB4MTEsMHgwMywweDg0LDB4NTAsMHhiMywweDAwIH19LAotIHsxNiwgMHg5NTgwLCAwLCB7MHgyMCwweGMwLDB4MGMsMHhhNCwweDIyLDB4MDQsMHgwMCwweGNiLDB4NDAsMHgzMCwweGM1LDB4MGMsMHgzMCwweDAzLDB4MGUsMHg0MCB9fSwKLSB7MTYsIDB4OTU5MCwgMCwgezB4ZjMsMHgxMCwweDMwLDB4YzQsMHgwYywweGIwLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1YTAsIDAsIHsweDQwLDB4MWQsMHhiMCwweDA0LDB4ZmIsMHgwNCwweDNkLDB4YzAsMHgwZiwweGYyLDB4NDMsMHhmOCwweDA0LDB4ZmQsMHgwMSwweDNmIH19LAotIHsxNiwgMHg5NWIwLCAwLCB7MHgwYywweDBmLDB4NjEsMHgwMywweGY4LDB4NDgsMHhmNCwweDAwLDB4M2QsMHgwMSwweDBmLDB4ZDAsMHgwMywweGM4LDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4OTVjMCwgMCwgezB4MDQsMHhiZCwweDA0LDB4MGIsMHg0OCwweDAzLDB4ZmMsMHgxOCwweGZmLDB4MTQsMHgzZiwweGQ1LDB4MGQsMHhmMCwweDAzLDB4OTAgfX0sCi0gezE2LCAweDk1ZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTAsMHgwMCwweGY5LDB4MDEsMHgzMiwweGMwIH19LAotIHsxNiwgMHg5NWUwLCAwLCB7MHg4ZSwweDkwLDB4MDMsMHgyOCwweDAyLDB4ZDEsMHgwMCwweDMyLDB4YzAsMHgwZCwweGE4LDB4MGIsMHgwOCwweDAwLDB4ZTgsMHgwMCB9fSwKLSB7MTYsIDB4OTVmMCwgMCwgezB4MmUsMHg0MCwweDBjLDB4OTgsMHgwYiwweDJlLDB4MDIsMHhjYSwweDAwLDB4YjIsMHhhMCwweDZjLDB4ODAsMHgyMywweDJkLDB4ODAgfX0sCi0gezE2LCAweDk2MDAsIDAsIHsweGNhLDB4ODAsMHgzMiwweGQwLDB4MGMsMHhiYSwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NjEwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI2LDB4MDAsMHhhMywweDAwLDB4MDgsMHg2MCwweDAyLDB4MDQsMHgwMCwweDg2LDB4MDQsMHgyOSB9fSwKLSB7MTYsIDB4OTYyMCwgMCwgezB4MDAsMHgwOCwweDUwLDB4NDIsMHgxNCwweDA0LDB4YTcsMHgwMCwweDBkLDB4ODAsMHg0YSwweDYwLDB4MDIsMHgwMCwweDAwLDB4ODEgfX0sCi0gezE2LCAweDk2MzAsIDAsIHsweDAwLDB4MjEsMHg0MCwweDA4LDB4NzAsMHgwMiwweDlkLDB4NDIsMHg4NiwweDAxLDB4MjAsMHhjMCwweDA4LDB4MzIsMHg4MiwweDEyIH19LAotIHsxNiwgMHg5NjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDkyLDB4MDAsMHhiYywweDgwLDB4NjMsMHgyMCB9fSwKLSB7MTYsIDB4OTY1MCwgMCwgezB4ODIsMHgwOCwweDAyLDB4NTIsMHgwMCwweDg0LDB4YzIsMHgyMywweDIwLDB4ODgsMHgwYywweDAyLDB4MzMsMHgwMCwweDg0LDB4ODAgfX0sCi0gezE2LCAweDk2NjAsIDAsIHsweDJmLDB4MjEsMHg4OSwweDRjLDB4MDIsMHgxMiwweDE0LDB4OTQsMHhjNSwweDY0LDB4MjEsMHgwOCwweDRjLDB4MDIsMHgwZSwweDgwIH19LAotIHsxNiwgMHg5NjcwLCAwLCB7MHg5NywweDgyLDB4YTEsMHhlYywweDA4LDB4NzksMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTY4MCwgMCwgezB4NDgsMHgxNCwweGNkLDB4NDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDRkLDB4ODAsMHgwMywweDg4LDB4MjggfX0sCi0gezE2LCAweDk2OTAsIDAsIHsweGMwLDB4MDgsMHgzYywweDA2LDB4MGYsMHgwMCwweGEzLDB4NDMsMHgyYywweGMyLDB4MWIsMHgzOCwweDAyLDB4MGYsMHgwMCwweDliIH19LAotIHsxNiwgMHg5NmEwLCAwLCB7MHg4OCwweDY0LDB4ZDAsMHgwOCwweGI4LDB4MDIsMHg4YywweDEwLDB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHgxMiB9fSwKLSB7MTYsIDB4OTZiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhYSwweDAwLDB4ZmEsMHgwNSwweDMyLDB4ODAgfX0sCi0gezE2LCAweDk2YzAsIDAsIHsweDhlLDB4YTAsMHgwYiwweDY5LDB4MDAsMHhjYSwweDQwLDB4MzIsMHhhMCwweDNjLDB4YTgsMHgwMywweDJhLDB4MDAsMHhlYSwweDI2IH19LAotIHsxNiwgMHg5NmQwLCAwLCB7MHgzZSwweGIwLDB4MGQsMHhhMSwweDYzLDB4MjgsMHgyMCwweGNhLDB4NDAsMHgzNiwweGEwLDB4MGMsMHhlMCwweDEzLDB4MjgsMHgwOSB9fSwKLSB7MTYsIDB4OTZlMCwgMCwgezB4ZGUsMHgwMCwweDMyLDB4ODAsMHgyYywweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2ZjAsIDAsIHsweDQ4LDB4MDAsMHhmMCwweDIwLDB4ZjQsMHgwMCwweDNmLDB4MDAsMHgwZiwweDQwLDB4MjMsMHhiMCwweDAwLDB4ZWMsMHgwMCwweDNmIH19LAotIHsxNiwgMHg5NzAwLCAwLCB7MHgwNiwweDFlLDB4YzIsMHgxMywweGYwLDB4ODgsMHhmYywweDIwLDB4M2YsMHgwNCwweDhlLDB4YzAsMHgwMywweGYwLDB4ODAsMHhlYyB9fSwKLSB7MTYsIDB4OTcxMCwgMCwgezB4NDAsMHgzYiwweDBjLDB4MGYsMHhjMCwweGEzLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDk3MjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwIH19LAotIHsxNiwgMHg5NzMwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHg4MCwweDMyLDB4NDAsMHgwZiwweDkwLDB4NTMsMHhlNCwweDEwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4OTc0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDhmLDB4OTAsMHgwMywweDI0LDB4MTAgfX0sCi0gezE2LCAweDk3NTAsIDAsIHsweGM5LDB4MDEsMHgzYywweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NzYwLCAwLCB7MHg4MCwweDA0LDB4NDcsMHg0NCwweDg5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjUsMHgwYSwweDgxLDB4MTAsMHgyMiB9fSwKLSB7MTYsIDB4OTc3MCwgMCwgezB4NDAsMHg0OCwweDkwLDB4MDMsMHhjNCwweDAwLDB4ODksMHgwMCwweDc2LDB4NDAsMHgyOCwweDkwLDB4MDIsMHhlNCwweDEwLDB4YjkgfX0sCi0gezE2LCAweDk3ODAsIDAsIHsweDQwLDB4YjIsMHg0MCwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MSwweDA4LDB4OTAsMHg0MiwweGUwIH19LAotIHsxNiwgMHg5NzkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDIsMHhiZCwweDAwLDB4MjMsMHg0OCB9fSwKLSB7MTYsIDB4OTdhMCwgMCwgezB4MDgsMHhkMCwweDA2LDB4MWQsMHgwNCwweDhkLDB4MDAsMHgyOSwweGMwLDB4NGEsMHhkMCwweDIyLDB4ZjQsMHgwMCwweDg1LDB4MDAgfX0sCi0gezE2LCAweDk3YjAsIDAsIHsweDYxLDB4NDAsMHgxOCwweGQwLDB4MTIsMHhmYywweDAwLDB4YmQsMHg0MCwweGEzLDB4NDAsMHg0YiwweGYwLDB4MDIsMHgwNCwweDAxIH19LAotIHsxNiwgMHg5N2MwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTdkMCwgMCwgezB4MDgsMHgwNCwweDM2LDB4ODAsMHg4NSwweDIwLDB4YTMsMHg0OCwweDA4LDB4NTIsMHgwYSwweDE0LDB4ODEsMHg4NSwweDIwLDB4MjkgfX0sCi0gezE2LCAweDk3ZTAsIDAsIHsweDQ4LDB4MDgsMHg1MiwweDAyLDB4YjQsMHg4MCwweDg1LDB4MjAsMHgyNSwweDQ4LDB4ODgsMHg1MiwweDAyLDB4ZDQsMHg4MCwweGI1IH19LAotIHsxNiwgMHg5N2YwLCAwLCB7MHgyMCwweDIxLDB4NDgsMHgwYiwweDUyLDB4MDIsMHg0NCwweGEyLDB4ODEsMHgwMCwweDJjLDB4NGEsMHgwOCwweDEyLDB4ODIsMHhjMiB9fSwKLSB7MTYsIDB4OTgwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHg1MSwweDIyLDB4MDAgfX0sCi0gezE2LCAweDk4MTAsIDAsIHsweDJjLDB4ODUsMHgwMiwweDIxLDB4NDgsMHhjOCwweDAwLDB4YmEsMHgxNCwweDBmLDB4ODUsMHgxMiwweGUxLDB4NDIsMHhjOCwweDUwIH19LAotIHsxNiwgMHg5ODIwLCAwLCB7MHgyMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MDcsMHg0NSwweDAzLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4OTgzMCwgMCwgezB4YzAsMHgwMSwweDNlLDB4MDgsMHgyYywweDgyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4NDAsIDAsIHsweDk4LDB4MGQsMHhlNCwweDQwLDB4ZjEsMHgxMCwweDNlLDB4NDQsMHgwNywweDkxLDB4NDMsMHhlNCwweDU4LDB4ZjksMHgxMSwweDM0IH19LAotIHsxNiwgMHg5ODUwLCAwLCB7MHg0NCwweDRmLDB4OTEsMHgwMiwweGU0LDB4NTAsMHhmOSwweDEwLDB4M2MsMHg0ZiwweDBmLDB4OTMsMHg4MywweGU0LDB4ZjAsMHhmOSB9fSwKLSB7MTYsIDB4OTg2MCwgMCwgezB4MTEsMHgzYSwweDRmLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHhhMCwweGZkLDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweDk4NzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHhhMCwweGNkLDB4YTAsMHhiMywweDY4IH19LAotIHsxNiwgMHg5ODgwLCAwLCB7MHg4YywweDlhLDB4MDMsMHgzNiwweDgwLDB4YzUsMHhhMCwweDIyLDB4NjAsMHgwYywweDlhLDB4MjMsMHgyNiwweDA0LDB4ZjksMHhhMCB9fSwKLSB7MTYsIDB4OTg5MCwgMCwgezB4MzIsMHg2NiwweDBjLDB4OWEsMHg4MywweDA2LDB4MjAsMHhjNSwweGEwLDB4MjIsMHg2MCwweDBjLDB4OWIsMHgwMywweDI2LDB4NDggfX0sCi0gezE2LCAweDk4YTAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDc4LDB4MGMsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OGIwLCAwLCB7MHgzOCwweDAwLDB4ZTEsMHgwMCwweDg4LDB4NDQsMHgyMiwweDk1LDB4MDgsMHg4NSwweDEyLDB4YTEsMHg0MiwweDg4LDB4NDAsMHgwMiB9fSwKLSB7MTYsIDB4OThjMCwgMCwgezB4OTAsMHgwOCwweDg0LDB4MDIsMHgyMywweGEwLDB4YmEsMHg0MCwweDIyLDB4YTAsMHgwOCwweDhlLDB4OTIsMHhhMywweGEwLDB4YTggfX0sCi0gezE2LCAweDk4ZDAsIDAsIHsweDQwLDB4MmEsMHgxMCwweDA4LDB4YWUsMHgwMiwweDIzLDB4NDAsMHg4OCwweDAwLDB4MmUsMHgzOCwweDA4LDB4ODQsMHgxMiwweDBlIH19LAotIHsxNiwgMHg5OGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxNSwweGM0LDB4MDAsMHg4YiwweDEyLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4OThmMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMCwweDgxLDB4NDAsMHhhMCwweDUwLDB4MDgsMHgxMSwweDBhLDB4MDUsMHgwMCwweGIxLDB4MTAgfX0sCi0gezE2LCAweDk5MDAsIDAsIHsweGEwLDB4NDgsMHgwOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODEsMHg0MCwweDIwLDB4NTAsMHgyOCwweDExLDB4MDIsMHg0NCwweDgyIH19LAotIHsxNiwgMHg5OTEwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg1MCwweDA4LDB4MTEsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTkyMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDIsMHg4OSwweDQwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgxMiwweGE1LDB4MDAsMHg4OSwweDI4LDB4MjIgfX0sCi0gezE2LCAweDk5MzAsIDAsIHsweDQ5LDB4MDgsMHg5NCwweDAyLDB4MjQsMHg0OCwweGI5LDB4MTQsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4YTQsMHg0MCwweGExIH19LAotIHsxNiwgMHg5OTQwLCAwLCB7MHg1MCwweDJhLDB4NTAsMHgwOCwweDkxLDB4NDIsMHg2NCwweDAwLDB4ODksMHg0MCwweDJlLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4OTk1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDMwLDB4NzAgfX0sCi0gezE2LCAweDk5NjAsIDAsIHsweDJjLDB4MTAsMHgwYiwweDY2LDB4MDAsMHhjOSwweDQwLDB4MzIsMHg1MCwweDBjLDB4OTAsMHgwMywweDI2LDB4MjAsMHhmOSwweGMwIH19LAotIHsxNiwgMHg5OTcwLCAwLCB7MHgzMiwweDcwLDB4MGMsMHg5MCwweDAzLDB4MjYsMHgyMCwweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5YywweDAzLDB4NjQsMHgwMCB9fSwKLSB7MTYsIDB4OTk4MCwgMCwgezB4YzksMHg0MSwweDNlLDB4NDAsMHgyYywweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5OTAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDg4LDB4ZjksMHgwMCwweDM0IH19LAotIHsxNiwgMHg5OWEwLCAwLCB7MHg0MSwweDJmLDB4OWMsMHgwMywweGU0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0NCwweDJmLDB4OTksMHgwMywweGU0LDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4OTliMCwgMCwgezB4MDAsMHgzZSwweDUwLDB4MGYsMHgxMCwweDRiLDB4YTQsMHgxMCwweGY5LDB4MjAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4NGEgfX0sCi0gezE2LCAweDk5YzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDEwIH19LAotIHsxNiwgMHg5OWQwLCAwLCB7MHgyYywweDgwLDB4MDMsMHgyMCwweDAyLDB4YzAsMHg0MCwweDMyLDB4MDAsMHgxYywweDA0LDB4MGYsMHgyMSwweDAwLDB4YzAsMHgwNCB9fSwKLSB7MTYsIDB4OTllMCwgMCwgezB4MzgsMHgwMCwweDBmLDB4ODAsMHgwMywweDIxLDB4MDgsMHhjOCwweDYwLDB4MzAsMHgxMCwweDBmLDB4ODAsMHgwMiwweDIwLDB4MDAgfX0sCi0gezE2LCAweDk5ZjAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YTAwLCAwLCB7MHgyOCwweDA1LDB4MWEsMHgyMCwweDgyLDB4MDQsMHgyZiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MzgsMHgwMCwweDhlLDB4ODAsMHgyMiB9fSwKLSB7MTYsIDB4OWExMCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODEsMHgwYiwweDIwLDB4MDIsMHgyOCwweDAwLDB4ZGUgfX0sCi0gezE2LCAweDlhMjAsIDAsIHsweGU0LDB4MzYsMHg4MCwweDBiLDB4YTAsMHg0MiwweDI4LDB4MDAsMHhiYSwweDA0LDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHg5YTMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDAxLDB4MmMsMHg4MCB9fSwKLSB7MTYsIDB4OWE0MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MmUsMHg2MCwweDgyLDB4OTAsMHhhMCwweGMwLDB4NDgsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAgfX0sCi0gezE2LCAweDlhNTAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDMwLDB4MGEsMHgyYywweDAwLDB4ODMsMHhjMiwweDIwLDB4YzAsMHgwYiwweDMwLDB4MmEsMHgyYywweDAwIH19LAotIHsxNiwgMHg5YTYwLCAwLCB7MHhiMywweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWE3MCwgMCwgezB4YTAsMHgwMSwweDNjLDB4MDAsMHg4NywweDAxLDB4MmQsMHhjMiwweDA4LDB4ZjMsMHgxMiwweDNjLDB4MDAsMHg4ZiwweDAxLDB4MjEgfX0sCi0gezE2LCAweDlhODAsIDAsIHsweGM4LDB4NjgsMHg3MiwweDIyLDB4MWUsMHgwNCwweDg3LDB4MjAsMHgyMSwweGM0LDB4MGIsMHg3MCwweDAyLDB4M2MsMHg4NCwweDlmIH19LAotIHsxNiwgMHg5YTkwLCAwLCB7MHgwMCwweDI1LDB4YzQsMHg0YiwweDcwLDB4MDIsMHgxYywweDA0LDB4YjcsMHg4MSwweDIxLDB4YzgsMHgwOCwweDcyLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4OWFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDAsMHgxZSwweDAwLDB4YzcsMHg4MSwweDNjLDB4YTAgfX0sCi0gezE2LCAweDlhYjAsIDAsIHsweDRjLDB4N2EsMHgwYiwweDFhLDB4MDAsMHhjNiwweDgwLDB4MzAsMHhlMCwweDA4LDB4ZjgsMHg4MiwweDBlLDB4NDAsMHhjZiwweGYwIH19LAotIHsxNiwgMHg5YWMwLCAwLCB7MHgzOSwweGU4LDB4MGYsMHgzYSwweDAzLDB4MWUsMHgyMCwweGM3LDB4ODAsMHgzMSwweGUzLDB4MGYsMHgzOCwweDIzLDB4MWYsMHgwOCB9fSwKLSB7MTYsIDB4OWFkMCwgMCwgezB4ZmYsMHhjMCwweDMzLDB4ZjIsMHgwYywweDdlLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhZTAsIDAsIHsweDA4LDB4MTUsMHg4OCwweDBhLDB4N2IsMHgwMCwweDNlLDB4YzEsMHgwYiwweDM0LDB4MjMsMHhjOCwweDEwLDB4ZmIsMHgwMiwweDNlIH19LAotIHsxNiwgMHg5YWYwLCAwLCB7MHhjYSwweDBmLDB4YjcsMHg0MywweGVjLDB4ODAsMHhmYiwweDAwLDB4MmUsMHhjMiwweDBiLDB4YjQsMHg4MywweGVkLDB4ZDAsMHhmYSB9fSwKLSB7MTYsIDB4OWIwMCwgMCwgezB4MDAsMHgzZSwweGQ5LDB4MGYsMHhiMywweDgzLDB4ZWMsMHg4MCwweGJiLDB4MjAsMHgzZSwweGQ4LDB4MmYsMHhiNCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDliMTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGY1LDB4OTEsMHgzMSwweGEwIH19LAotIHsxNiwgMHg5YjIwLCAwLCB7MHgwYywweGZjLDB4MDMsMHhmZSwweDAwLDB4YzQsMHg4MSwweDMxLDB4ZWUsMHg4ZCwweGY4LDB4MGEsMHgzZSwweDMwLDB4Y2YsMHg4NCB9fSwKLSB7MTYsIDB4OWIzMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHg4MywweGZlLDB4MTAsMHhmZSwweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjksMHgxOSwweDNmLDB4NDggfX0sCi0gezE2LCAweDliNDAsIDAsIHsweGNmLDB4YzAsMHgzMywweGUwLDB4MDQsMHhmYywweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YjUwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwOCwweGI3LDB4YTEsMHgyMSwweGM4LDB4MDgsMHg3MSwweDAyLDB4ZjAsMHhhMCwweDg1LDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4OWI2MCwgMCwgezB4Y2UsMHgwOCwweDcwLDB4MDIsMHgzYywweDgwLDB4OGYsMHgwMCwweDJiLDB4YzUsMHgwOCwweDcxLDB4MDIsMHhkYywweDEwLDB4YjQgfX0sCi0gezE2LCAweDliNzAsIDAsIHsweDAwLDB4MjEsMHhjMSwweDBhLDB4ZjMsMHg4MiwweDBjLDB4MDAsMHg4NywweDAxLDB4MjksMHhjMCwweDA4LDB4NzEsMHgwMiwweDZhIH19LAotIHsxNiwgMHg5YjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDlkLDB4MDAsMHhiZCwweDIxLDB4MjcsMHg4MiB9fSwKLSB7MTYsIDB4OWI5MCwgMCwgezB4MDAsMHg3MCwweDAyLDB4ZmMsMHgwNCwweDhjLDB4MDAsMHhhNywweGNjLDB4YTgsMHg3MCwweDAyLDB4M2MsMHgwOCwweGFmLDB4MDAgfX0sCi0gezE2LCAweDliYTAsIDAsIHsweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzQsMHgwOCwweDcwLDB4MTYsMHgxYywweDBhIH19LAotIHsxNiwgMHg5YmIwLCAwLCB7MHg4ZiwweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWJjMCwgMCwgezB4MjAsMHgxMCwweGM4LDB4MDAsMHhiYiwweDQ0LDB4MjQsMHhlMiwweDA4LDB4YjEsMHgwMiwweGMyLDB4ODAsMHgwMSwweDgwLDB4MjQgfX0sCi0gezE2LCAweDliZDAsIDAsIHsweGQwLDB4ODgsMHgzMCwweDAyLDB4MGYsMHg1MiwweDgzLDB4OTEsMHgyOCwweGU0LDB4ODgsMHgzZCwweDAyLDB4Y2UsMHhkMCwweGIwIH19LAotIHsxNiwgMHg5YmUwLCAwLCB7MHhiMiwweGEyLDB4YzAsMHgwYSwweDM0LDB4MTIsMHgwYywweDAyLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4OWJmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmIsMHgwMSwweGU0LDB4NDAgfX0sCi0gezE2LCAweDljMDAsIDAsIHsweDJjLDB4ZjAsMHg0MywweGU1LDB4MDAsMHg4YSwweDg4LDB4MzcsMHhlMCwweDAwLDB4ZmEsMHgwMiwweDNkLDB4MDAsMHhlZiwweDAwIH19LAotIHsxNiwgMHg5YzEwLCAwLCB7MHgzMywweGQxLDB4MGMsMHhmNCwweDAzLDB4ZmQsMHgwMCwweGY5LDB4NDAsMHgzMywweGU4LDB4MGMsMHhmYywweDAxLDB4M2MsMHgwNCB9fSwKLSB7MTYsIDB4OWMyMCwgMCwgezB4Y2YsMHgwMiwweDMzLDB4YzAsMHgyYywweGYwLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljMzAsIDAsIHsweDgwLDB4MDAsMHhlZSwweDA4LDB4ZjksMHgxMCwweDNhLDB4ZDAsMHgwZiwweGIwLDB4OTMsMHhlYywweDAwLDB4ZmIsMHgwYiwweDNhIH19LAotIHsxNiwgMHg5YzQwLCAwLCB7MHhjMCwweDhlLDB4YjAsMHg4MywweGVjLDB4ODAsMHhmYiwweDA5LDB4N2UsMHhjOCwweDBmLDB4YjIsMHgxMywweGVjLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OWM1MCwgMCwgezB4MDAsMHgzZSwweGMyLDB4OGYsMHhiMiwweDRiLDB4Y2MsMHgwNCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4NjAgfX0sCi0gezE2LCAweDljNjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDgsMHgzMywweGMwIH19LAotIHsxNiwgMHg5YzcwLCAwLCB7MHgxYywweGYwLDB4MDMsMHg3MCwweDQwLDB4YzQsMHhjMCwweDMzLDB4YzIsMHgwZiwweGYwLDB4MDMsMHgxYywweDEwLDB4YzcsMHgwMCB9fSwKLSB7MTYsIDB4OWM4MCwgMCwgezB4MzEsMHhjMCwweDBjLDB4NzAsMHgwMywweDFjLDB4MDAsMHhjNSwweDQxLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgyMywweDJjLDB4MDAgfX0sCi0gezE2LCAweDljOTAsIDAsIHsweGNmLDB4MDAsMHhiMywweGMwLDB4NmMsMHhmMCwweDAzLDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5Y2EwLCAwLCB7MHg4MSwweDA0LDB4NmEsMHgwMCwweGI5LDB4OTAsMHgzMiwweGYxLDB4MDgsMHhiMCwweDAyLDB4MGEsMHgxMCwweGQ5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4OWNiMCwgMCwgezB4YzEsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4Y2IsMHgwNiwweDIyLDB4YzAsMHg4OCwweGIwLDB4MTIsMHgyYywweDAwLDB4ODggfX0sCi0gezE2LCAweDljYzAsIDAsIHsweDgwLDB4MjIsMHhjMSwweDBkLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMSwweDA4LDB4YjAsMHg0NiwweGUwIH19LAotIHsxNiwgMHg5Y2QwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDJlLDB4MDAsMHhiOSwweDAwLDB4MjIsMHhmMCB9fSwKLSB7MTYsIDB4OWNlMCwgMCwgezB4MDgsMHhiMCwweDEyLDB4NjQsMHgwMCwweDhhLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgzMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAgfX0sCi0gezE2LCAweDljZjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4OGEsMHgwMCwweDIyLDB4YzAsMHg4OCwweDMwLDB4MGEsMHgyYywweDAwIH19LAotIHsxNiwgMHg5ZDAwLCAwLCB7MHg4YiwweDAwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWQxMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHhiMSwweDAyLDB4ZTQsMHhjMSwweDA4LDB4YjAsMHgyMiwweDIwLDB4MDIsMHg5MywweDAwLDB4MjAgfX0sCi0gezE2LCAweDlkMjAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDEyLDB4MGMsMHgwMiwweDgzLDB4MDIsMHhhMCwweGMwLDB4MjgsMHgzMCwweDBlLDB4MGMsMHgwMiwweDgwIH19LAotIHsxNiwgMHg5ZDMwLCAwLCB7MHgwMCwweGEwLDB4YzAsMHg0OSwweDMwLDB4MGEsMHgwYywweDAyLDB4OGIsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4OWQ0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZjksMHgyNCwweDMyLDB4YzAgfX0sCi0gezE2LCAweDlkNTAsIDAsIHsweDA4LDB4ZjAsMHgwMywweDY0LDB4MDAsMHhjOCwweDAwLDB4YjMsMHhjMCwweDFmLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHg4ZiwweDAwIH19LAotIHsxNiwgMHg5ZDYwLCAwLCB7MHgzMywweGMwLDB4NGMsMHhmMCwweDQzLDB4M2MsMHgwOCwweGMzLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhmMCwweDAzLDB4M2QsMHg0OCB9fSwKLSB7MTYsIDB4OWQ3MCwgMCwgezB4Y2YsMHgwMCwweDMxLDB4YzAsMHgwYywweGYwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkODAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDA0LDB4ZjksMHg0MSwweDNiLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmMCwweDExLDB4ZmQsMHgwMCwweDNmIH19LAotIHsxNiwgMHg5ZDkwLCAwLCB7MHhjMCwweDg3LDB4NzAsMHgyNywweGZjLDB4MDAsMHhlZiwweDA2LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMiwweGZjLDB4MDgsMHhmYyB9fSwKLSB7MTYsIDB4OWRhMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4NDcsMHhmMCwweDQzLDB4ZmMsMHgwMCwweDc3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDlkYjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGM3LDB4MDEsMHgzNywweDBjIH19LAotIHsxNiwgMHg5ZGMwLCAwLCB7MHgwZiwweGU4LDB4MjMsMHgxMCwweDRhLDB4YzQsMHhjMCwweDMxLDB4MzAsMHgwYywweGM5LDB4MDMsMHgzNCwweDQ2LDB4Y2YsMHgxMCB9fSwKLSB7MTYsIDB4OWRkMCwgMCwgezB4MzMsMHhkMCwweDBjLDB4ZjQsMHgwMywweDNjLDB4NTgsMHhjZiwweDAwLDB4MzMsMHhjMCwweDJkLDB4ZjEsMHgwMywweDNlLDB4MDIgfX0sCi0gezE2LCAweDlkZTAsIDAsIHsweGNmLDB4MjEsMHgzZiwweGU0LDB4MGYsMHhmMiwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZGYwLCAwLCB7MHg4MCwweDEwLDB4ZTQsMHg4NCwweDBiLDB4NDAsMHgyMiwweDRjLDB4MGIsMHhhOCwweDAyLDB4MmMsMHhjMCwweDhiLDB4MjAsMHgyMiB9fSwKLSB7MTYsIDB4OWUwMCwgMCwgezB4YzgsMHg0YSwweDMyLDB4MDIsMHgyNCwweDgwLDB4ODMsMHgyMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwLDB4OGIgfX0sCi0gezE2LCAweDllMTAsIDAsIHsweDIxLDB4MzIsMHhjYSwweDQ4LDB4MzIsMHgwMiwweDJjLDB4MzAsMHg4ZiwweDkwLDB4MmUsMHg4OCwweDBiLDB4YmQsMHgxMiwweDIwIH19LAotIHsxNiwgMHg5ZTIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNlLDB4MjAsMHhhMywweDQwLDB4ZTAsMHg0OCB9fSwKLSB7MTYsIDB4OWUzMCwgMCwgezB4NGIsMHgyMCwweDIyLDB4MGMsMHgwMiwweDgyLDB4MDAsMHgyYSwweDAwLDB4MDgsMHgyMCwweDAyLDB4MDQsMHg4MCwweDgwLDB4MjAgfX0sCi0gezE2LCAweDllNDAsIDAsIHsweDIwLDB4YzgsMHgwOCwweDAyLDB4MDIsMHgwYywweDAwLDB4ODAsMHgwYywweDYwLDB4MDAsMHgwOCwweDIwLDB4MTIsMHgyYywweDg4IH19LAotIHsxNiwgMHg5ZTUwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhlOCwweDBiLDB4MzAsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWU2MCwgMCwgezB4YzAsMHgxNSwweGFlLDB4MDAsMHhhYiwweDAxLDB4YTIsMHg2MCwweDBiLDB4YTAsMHgwMiwweDIwLDB4MDEsMHg4MSwweDAwLDB4MjIgfX0sCi0gezE2LCAweDllNzAsIDAsIHsweGMwLDB4MGEsMHg5MCwweDEyLDB4MDQsMHgyMCwweDhhLDB4MDgsMHgyMiwweGMxLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDg4IH19LAotIHsxNiwgMHg5ZTgwLCAwLCB7MHgwMCwweDI0LDB4NDQsMHgwOCwweGEyLDB4MDIsMHhhYywweDAwLDB4OGIsMHgwNCwweDJlLDB4ODgsMHgwMywweGIwLDB4MDIsMHg3MCB9fSwKLSB7MTYsIDB4OWU5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWEsMHg5MCwweDMyLDB4MjggfX0sCi0gezE2LCAweDllYTAsIDAsIHsweDBmLDB4YjYsMHgwMywweDIwLDB4MDgsMHhjOSwweDA0LDB4M2EsMHhjMCwweDRjLDB4OTAsMHgyMiwweDI0LDB4MDAsMHhjYiwweDQwIH19LAotIHsxNiwgMHg5ZWIwLCAwLCB7MHgzMiwweGE4LDB4MGMsMHhiMiwweDAzLDB4MmMsMHgwMCwweGNiLDB4ODAsMHhiMiwweGUwLDB4MGMsMHhiMCwweDBiLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4OWVjMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MGIsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllZDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZGYsMHg4MCwweDNiLDB4ODEsMHgwZiwweGYwLDB4YzMsMHhmYywweDAwLDB4YmUsMHgwMSwweDFmIH19LAotIHsxNiwgMHg5ZWUwLCAwLCB7MHgwMCwweDBmLDB4ZTAsMHgyMywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhiMCwweDRmLDB4ZjAsMHg0MywweGQ0LDB4MDIsMHhmZiB9fSwKLSB7MTYsIDB4OWVmMCwgMCwgezB4OTEsMHgzYSwweGUwLDB4NGUsMHhmMCwweDAzLDB4N2MsMHgwYywweGZmLDB4MDAsMHgyZiwweDgwLDB4MGYsMHgzMCwweDAzLDB4YjggfX0sCi0gezE2LCAweDlmMDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGNhLDB4MDAsMHg3MiwweDUwIH19LAotIHsxNiwgMHg5ZjEwLCAwLCB7MHgwNCwweGI0LDB4MDMsMHgyYywweDgyLDB4Y2IsMHgwMCwweDMyLDB4ZTAsMHgwYywweGI4LDB4MDMsMHgyNywweDA0LDB4YzgsMHhjOCB9fSwKLSB7MTYsIDB4OWYyMCwgMCwgezB4YjIsMHhhMiwweDBjLDB4ODgsMHgwMywweDJjLDB4MDAsMHhjMSwweDAwLDB4M2UsMHgwMCwweDJjLDB4MzAsMHgxYiwweDJjLDB4MDQgfX0sCi0gezE2LCAweDlmMzAsIDAsIHsweGZiLDB4MTAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZjQwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwNCwweDAzLDB4NTAsMHhhMiwweGUwLDB4MDgsMHgzNCwweDQyLDB4MzMsMHgwMCwweDg4LDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4OWY1MCwgMCwgezB4MTAsMHgwZCwweDg0LDB4MDMsMHgyNSwweDAwLDB4OGEsMHg0MCwweDIyLDB4OTAsMHgwOCwweGE1LDB4MDIsMHgyYywweDAwLDB4ODkgfX0sCi0gezE2LCAweDlmNjAsIDAsIHsweGE0LDB4M2EsMHg0MCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiZiwweDg0LDB4MmUsMHg4MCwweDBiLDB4ZjAsMHg1MiwweDMyIH19LAotIHsxNiwgMHg5ZjcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDZjLDB4ODAsMHg4MSwweDgwLDB4MjQsMHg4OCB9fSwKLSB7MTYsIDB4OWY4MCwgMCwgezB4ODksMHgzYywweDI2LDB4MjEsMHgwMCwweDkwLDB4MDAsMHgyMCwweDAyLDB4MDgsMHg4MCwweDgyLDB4MDAsMHgyMCwweDliLDB4MDAgfX0sCi0gezE2LCAweDlmOTAsIDAsIHsweDIyLDB4NDAsMHg4OCwweGIwLDB4MTIsMHgwYywweDA4LDB4ODMsMHg4MCwweDJjLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwIH19LAotIHsxNiwgMHg5ZmEwLCAwLCB7MHhiMywweDgwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWZiMCwgMCwgezB4MjAsMHgwMSwweDNlLDB4MGEsMHg4NSwweGEwLDB4YTUsMHg2MCwweDA4LDB4ZmIsMHg4MiwweDNlLDB4ODQsMHg5ZiwweDgxLDB4NjMgfX0sCi0gezE2LCAweDlmYzAsIDAsIHsweGUwLDB4ODksMHg3OSwweDEyLDB4NTIsMHg4MCwweDk3LDB4ODIsMHgyMSwweDZjLDB4MTgsMHg3OCwweDAyLDB4MTIsMHgwMCwweDg3IH19LAotIHsxNiwgMHg5ZmQwLCAwLCB7MHhhMSwweDI5LDB4ZTAsMHgwOCwweDViLDB4MDIsMHgxZSwweDAwLDB4YjcsMHhjMCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4OWZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODEsMHgwOCwweDI2LDB4YzIgfX0sCi0gezE2LCAweDlmZjAsIDAsIHsweDJjLDB4MzIsMHgxMywweDBlLDB4YTQsMHhkMiwweDAwLDB4YjAsMHgwMCwweDFjLDB4MjEsMHgxMiwweDI0LDB4MDIsMHhkMSwweDIwIH19LAotIHsxNiwgMHhhMDAwLCAwLCB7MHgzMCwweGM4LDB4MGMsMHgxMCwweDAzLDB4MGMsMHgwMCwweGMyLDB4MTAsMHgzYywweDgwLDB4MGMsMHgyMywweDAzLDB4MGMsMHg0MCB9fSwKLSB7MTYsIDB4YTAxMCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4NDgsMHgwZiwweDMwLDB4MGIsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwMjAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmQsMHgyMCwweGJiLDB4NDAsMHgwNywweDcyLDB4MDIsMHhmMCwweDEwLDB4ZWQsMHgxMCwweDNmIH19LAotIHsxNiwgMHhhMDMwLCAwLCB7MHhjNCwweDBmLDB4ZDEsMHg2MywweGI0LDB4ODAsMHhlZiwweDAwLDB4M2YsMHhjOCwweDBmLDB4ZjAsMHgwMywweGQ4LDB4MDAsMHhmZSB9fSwKLSB7MTYsIDB4YTA0MCwgMCwgezB4MzQsMHgzZiwweGM0LDB4MGYsMHhlYiwweDQzLDB4ZmMsMHgwMCwweGZmLDB4MDgsMHg3ZiwweDQwLDB4MGYsMHhmMSwweDgzLDB4ZDAgfX0sCi0gezE2LCAweGEwNTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGM4LDB4MDAsMHgzMywweDgwIH19LAotIHsxNiwgMHhhMDYwLCAwLCB7MHg4ZiwweDI4LDB4MDMsMHgyMCwweDAwLDB4NDksMHgwMiwweDMyLDB4YzAsMHgwZiwweDkwLDB4MDMsMHgyMCwweDAwLDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4YTA3MCwgMCwgezB4MzIsMHg0MCwweDRjLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhjYiwweDgwLDB4MzIsMHhjMCwweDBlLDB4OWUsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGEwODAsIDAsIHsweGZiLDB4MjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDkwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDhkLDB4MDEsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAyLDB4MWQsMHgwMCwweGQ2LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4YTBhMCwgMCwgezB4MDAsMHgwYiwweGUwLDB4MDIsMHgwMCwweDAwLDB4ODMsMHgwNCwweDIwLDB4NDAsMHgwOCwweDcwLDB4NDIsMHgzNCwweDAyLDB4ODcgfX0sCi0gezE2LCAweGEwYjAsIDAsIHsweDAxLDB4MjMsMHhjMCwweDI4LDB4NTEsMHgwYSwweDFjLDB4MDQsMHhiNywweDMwLDB4MmQsMHhjMCwweDBiLDB4NzIsMHgwMywweDkyIH19LAotIHsxNiwgMHhhMGMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhhNiwweDQwLDB4MjEsMHhhMCB9fSwKLSB7MTYsIDB4YTBkMCwgMCwgezB4MGIsMHg2OCwweDAyLDB4MGUsMHgwMCwweDhmLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4MTYsMHgxMCwweGE1LDB4ODAgfX0sCi0gezE2LCAweGEwZTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDE4LDB4MDIsMHgxZSwweDAwLDB4ODMsMHg4MCwweDIxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxZiwweDAwIH19LAotIHsxNiwgMHhhMGYwLCAwLCB7MHhiNywweDgwLDB4MmQsMHhlMCwweDBiLDB4MzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTEwMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MTIsMHhhMSwweDY0LDB4MjAsMHhlNiwweDBiLDB4MjAsMHgwMiwweDAwLDB4MTAsMHg5MCwweDRhLDB4MjAgfX0sCi0gezE2LCAweGExMTAsIDAsIHsweDIwLDB4NGIsMHgwMCwweDQyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMyLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzIH19LAotIHsxNiwgMHhhMTIwLCAwLCB7MHgwNCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwZSwweDAwLDB4YjMsMHgwMCwweDJjLDB4ZTAsMHg0YiwweDMwLDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YTEzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4ZWUsMHhjMCwweDMzLDB4OTAgfX0sCi0gezE2LCAweGExNDAsIDAsIHsweDBmLDB4YTAsMHgxYiwweDA4LDB4MDAsMHhjYSwweDQwLDB4YjIsMHg4MiwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDIsMHhjYSwweDAwIH19LAotIHsxNiwgMHhhMTUwLCAwLCB7MHhiMiwweDkwLDB4YWMsMHhhMCwweDAzLDB4MjksMHgwMCwweGNhLDB4NDAsMHhiMiwweDgwLDB4OGUsMHhhNCwweDAzLDB4MmEsMHgwMCB9fSwKLSB7MTYsIDB4YTE2MCwgMCwgezB4ZmEsMHgwMCwweDNmLDB4YTgsMHgwZiwweGEwLDB4MGIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExNzAsIDAsIHsweDQ4LDB4MDAsMHhlMiwweDAyLDB4OTAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg4LDB4MDMsMHhmMSwweDAwLDB4ZmMsMHgwMiwweDNmIH19LAotIHsxNiwgMHhhMTgwLCAwLCB7MHgyMCwweDBmLDB4YzgsMHgwMywweGMxLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDhmLDB4MDAsMHgwMSwweDYwLDB4MDIsMHhmOCB9fSwKLSB7MTYsIDB4YTE5MCwgMCwgezB4MDgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4OGYsMHg4MCwweDEzLDB4OTIgfX0sCi0gezE2LCAweGExYTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHhiMiwweDY0IH19LAotIHsxNiwgMHhhMWIwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhlNCwweDA0LDB4YzksMHgwMCwweDMyLDB4NDAsMHg2YywweDkwLDB4MDMsMHgyNSwweDAyLDB4YzksMHg5MCB9fSwKLSB7MTYsIDB4YTFjMCwgMCwgezB4YjAsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MjAsMHhjOSwweGEwLDB4M2UsMHg0MCwweDRjLDB4OTAsMHgyMywweGU0LDB4MDAgfX0sCi0gezE2LCAweGExZDAsIDAsIHsweGYxLDB4MDAsMHg5MiwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMWUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODAsMHhhMiwweDQwLDB4MGIsMHg5NiwweDQyLDB4ZTUsMHgwNCwweDg5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4YTFmMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4MDksMHg0MSwweDIyLDB4NDAsMHg0OCwweDkwLDB4NDIsMHgyNCwweDA0LDB4ODkgfX0sCi0gezE2LCAweGEyMDAsIDAsIHsweDgwLDB4MjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweDIwIH19LAotIHsxNiwgMHhhMjEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI1LDB4MDAsMHg4OSwweDIwLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4YTIyMCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZjQsMHg4NCwweDg1LDB4MDAsMHgyMSwweDQwLDB4NDgsMHg1MCwweDAyLDB4MjQsMHgyMCwweDhkLDB4MDggfX0sCi0gezE2LCAweGEyMzAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGQwLDB4MDIsMHg5NCwweDAwLDB4OGQsMHgwMCwweDI5LDB4NDAsMHgwYSwweGQwLDB4MDIsMHhhNCwweDA4IH19LAotIHsxNiwgMHhhMjQwLCAwLCB7MHhiOSwweDAwLDB4MjgsMHg0MCwweDE4LDB4OTAsMHhjMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTI1MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg1MSwweDBiLDB4MTAsMHgwMiwweGY1LDB4ODAsMHg4NSwweGMxLDB4YTEgfX0sCi0gezE2LCAweGEyNjAsIDAsIHsweDUwLDB4MDgsMHg1NCwweDBhLDB4MDUsMHgwNiwweDg1LDB4NDAsMHgyMSwweDUwLDB4ODgsMHg1NCwweDAyLDB4OTUsMHgwMCwweDg1IH19LAotIHsxNiwgMHhhMjcwLCAwLCB7MHg0NCwweDJkLDB4NTAsMHgyYSwweDU0LDB4MTIsMHhjNSwweDAxLDB4YjEsMHgwMCwweDA4LDB4NTAsMHgwOCwweDEwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YTI4MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4Y2EsMHg1MCwweDMyLDB4ODAgfX0sCi0gezE2LCAweGEyOTAsIDAsIHsweDBmLDB4ODAsMHgwMywweGU4LDB4MDIsMHhjOCwweDAxLDB4MzIsMHgwMCwweDJjLDB4YzAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAyIH19LAotIHsxNiwgMHhhMmEwLCAwLCB7MHgzMiwweDAwLDB4MmMsMHg4MCwweDBiLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzYSwweDAwLDB4NGUsMHg0MCwweDIzLDB4YTAsMHgwOCB9fSwKLSB7MTYsIDB4YTJiMCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgyYywweDgwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyYzAsIDAsIHsweDk4LDB4MWQsMHhkYywweDA0LDB4ZmQsMHg0MCwweDNmLDB4NTAsMHg0ZiwweDkwLDB4NjMsMHhlNCwweDQwLDB4ZjEsMHgwMiwweDNlIH19LAotIHsxNiwgMHhhMmQwLCAwLCB7MHg0MSwweDBmLDB4OTAsMHgxMywweGY1LDB4MDQsMHhmOSwweDQxLDB4M2UsMHg1MCwweDBmLDB4OTQsMHg0MywweDY1LDB4MDIsMHhmOSB9fSwKLSB7MTYsIDB4YTJlMCwgMCwgezB4NDEsMHgzNiwweDUwLDB4NGQsMHg5NCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4NDEsMHgzNywweDQwLDB4NGYsMHg5NCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGEyZjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZmMsMHgwMCwweGNkLDB4YTgsMHgzMywweDcwIH19LAotIHsxNiwgMHhhMzAwLCAwLCB7MHgwZiwweGQwLDB4MTMsMHhmNiwweDg4LDB4Y2QsMHgwMCwweDMyLDB4NTAsMHg0ZiwweDE0LDB4MjMsMHgwNywweGEwLDB4YzksMHhjMCB9fSwKLSB7MTYsIDB4YTMxMCwgMCwgezB4MzIsMHg3OCwweDBjLDB4OWUsMHgwMywweDM3LDB4MDIsMHhjZCwweGMwLDB4MzIsMHg2NCwweDBmLDB4OTgsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGEzMjAsIDAsIHsweGNkLDB4MDAsMHgzMiwweDQwLDB4MmMsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMzMwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwOCwweDg4LDB4ZWIsMHgyMiwweDMwLDB4MGIsMHg4MCwweDEyLDB4ZTgsMHgwNCwweGEwLDB4YTAsMHgyYSB9fSwKLSB7MTYsIDB4YTM0MCwgMCwgezB4MjAsMHgwYiwweDhhLDB4MGEsMHgyMywweDAwLDB4ODgsMHg4MCwweDIyLDB4MjgsMHgwMCwweGM4LDB4NDIsMHgyMywweDgwLDB4ODAgfX0sCi0gezE2LCAweGEzNTAsIDAsIHsweGQ0LDB4MjAsMHgyOCwweDA5LDB4ODAsMHgwMiwweDIyLDB4OTQsMHhhOCwweDAwLDB4MmEsMHgwMCwweDg4LDB4ODUsMHgwMiwweDBlIH19LAotIHsxNiwgMHhhMzYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4YTAsMHg4MywweDAwLDB4MjQsMHhkOCB9fSwKLSB7MTYsIDB4YTM3MCwgMCwgezB4OGIsMHgxMCwweDAyLDB4ZTUsMHgxNCwweDg5LDB4MGEsMHgyMSwweDQ4LDB4MGIsMHg1MiwweDAyLDB4NTQsMHg4MCwweDg1LDB4NDAgfX0sCi0gezE2LCAweGEzODAsIDAsIHsweDI1LDB4NTgsMHgwOSwweDU2LDB4MDIsMHg0NSwweDAyLDB4ODEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDIsMHgwNCwweDMwIH19LAotIHsxNiwgMHhhMzkwLCAwLCB7MHg4MSwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTNhMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MTIsMHg4OSwweDAwLDB4YTYsMHg0MCwweDBiLDB4OTAsMHg0MiwweGU0LDB4OTgsMHhhOSwweDgwLDB4MmIgfX0sCi0gezE2LCAweGEzYjAsIDAsIHsweDQwLDB4MGIsMHg1MSwweDAyLDB4NTUsMHgwMCwweDlkLDB4MDgsMHgyNywweDQ4LDB4MDksMHhmNiwweDAyLDB4NDQsMHgwMCwweDgxIH19LAotIHsxNiwgMHhhM2MwLCAwLCB7MHgwNCwweDIyLDB4NDAsMHgxOSwweDkxLDB4OGEsMHgyNCwweDgwLDB4YTksMHgwMCwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4YTNkMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDAyLDB4YzksMHgwNCwweDM2LDB4NTggfX0sCi0gezE2LCAweGEzZTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGM1LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgxMywweDY0LDB4MDIsMHhjOSwweDAwIH19LAotIHsxNiwgMHhhM2YwLCAwLCB7MHgzNiwweDQwLDB4MmQsMHg5MCwweDBiLDB4NjYsMHgwNCwweGM5LDB4ZTAsMHhiMiwweDQ4LDB4OGYsMHg5OCwweDQ3LDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTQwMCwgMCwgezB4YzksMHgwMCwweDcyLDB4NDAsMHgwYywweDEwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0MTAsIDAsIHsweDI4LDB4MDEsMHhhNSwweDA4LDB4ZjksMHgyMSwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA0LDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhhNDIwLCAwLCB7MHg0MCwweDRmLDB4OTgsMHg4MywweGE0LDB4MDAsMHhlOSwweDQwLDB4YmEsMHg2MCwweDBlLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSB9fSwKLSB7MTYsIDB4YTQzMCwgMCwgezB4YTMsMHgzZSwweDQ4LDB4MGYsMHg5OCwweDBiLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGE0NDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTIsMHg0OCwweGM4LDB4MjAsMHgzMiwweDA4IH19LAotIHsxNiwgMHhhNDUwLCAwLCB7MHgxZiwweDgwLDB4ODMsMHhlMSwweDIyLDB4YzgsMHgwMSwweDMzLDB4MDAsMHgyYywweGMwLDB4MDMsMHgzMCwweDA0LDB4Y2MsMHg0MCB9fSwKLSB7MTYsIDB4YTQ2MCwgMCwgezB4YjEsMHgwMCwweDBjLDB4NDQsMHgwMywweDIwLDB4MTIsMHhjOCwweDQxLDB4MzIsMHgwMCwweDJkLDB4ODQsMHgwYiwweDYwLDB4MDAgfX0sCi0gezE2LCAweGE0NzAsIDAsIHsweGY4LDB4MDAsMHhiMiwweDAwLDB4NGMsMHg4MCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDgwLCAwLCB7MHgyOCwweDA1LDB4M2EsMHgwMCwweGE2LDB4MDAsMHgyMywweDkwLDB4MDMsMHhlNCwweDkyLDB4ZjgsMHgwMCwweDgyLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4YTQ5MCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4Y2EsMHgwMCwweDIyLDB4ODMsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGE0YTAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiNiwweDgwLDB4MjIsMHg4MCwweDBkLDB4ZTgsMHgwMiwweDBhIH19LAotIHsxNiwgMHhhNGIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZlLDB4MDAsMHg4MiwweDQyLDB4MjAsMHhjMCB9fSwKLSB7MTYsIDB4YTRjMCwgMCwgezB4MGIsMHgzNCwweDAyLDB4Y2QsMHgwOSwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMiwweDk4LDB4MDAgfX0sCi0gezE2LCAweGE0ZDAsIDAsIHsweDIwLDB4MjAsMHgyOCwweDAwLDB4MGEsMHgwNCwweDEwLDB4ODEsMHg4MCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwIH19LAotIHsxNiwgMHhhNGUwLCAwLCB7MHhiMywweDAwLDB4MjIsMHhjMCwweDE4LDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTRmMCwgMCwgezB4YTAsMHgwMSwweDM4LDB4MDIsMHhhMywweDAwLDB4MjEsMHg0MCwweDFiLDB4NzAsMHgwMiwweGRjLDB4MjAsMHg4NCwweDA1LDB4NjUgfX0sCi0gezE2LCAweGE1MDAsIDAsIHsweGUwLDB4MDgsMHhmMCwweDAyLDB4N2MsMHgxMCwweDk3LDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NTQsMHg4OCwweDg3IH19LAotIHsxNiwgMHhhNTEwLCAwLCB7MHgwOSwweDIxLDB4ZTgsMHgwOSwweDMzLDB4MDIsMHgxYywweDgwLDB4YjYsMHgwOCwweDYzLDB4YzgsMHgwOSwweDM4LDB4MTIsMHgyOCB9fSwKLSB7MTYsIDB4YTUyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHhhMCwweGExLDB4ZTAgfX0sCi0gezE2LCAweGE1MzAsIDAsIHsweDBiLDB4NzgsMHgwMywweGZlLDB4MDAsMHhjNSwweDgyLDB4MzMsMHgyMCwweDBjLDB4NDgsMHgwMywweDFlLDB4MDEsMHhkZiwweDgwIH19LAotIHsxNiwgMHhhNTQwLCAwLCB7MHgzMSwweDIwLDB4MGMsMHg0OCwweDAzLDB4MDYsMHg0MCwweDg3LDB4ODIsMHgzMSwweGY4LDB4MGQsMHg3YiwweDAzLDB4NWYsMHgwMCB9fSwKLSB7MTYsIDB4YTU1MCwgMCwgezB4ZjMsMHg4MCwweDMxLDB4ZjIsMHgwYywweDYwLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1NjAsIDAsIHsweDA4LDB4MWQsMHg5YywweDAwLDB4ZmIsMHgwMSwweDJmLDB4NDAsMHgwNywweGIwLDB4MDMsMHhlOCwweDA0LDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhhNTcwLCAwLCB7MHhjMSwweDBmLDB4YjAsMHgwMywweGUwLDB4MDYsMHhlOCwweDAyLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMSwweGE0LDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4YTU4MCwgMCwgezB4NDAsMHhiZSwweGQwLDB4MDYsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGZhLDB4MDAsMHgzYywweGQ4LDB4MGYsMHhhMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGE1OTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNmLDB4ODgsMHgzMywweDY0IH19LAotIHsxNiwgMHhhNWEwLCAwLCB7MHgyYywweGY4LDB4MDMsMHhmZSwweDAyLDB4YzQsMHhiMCwweDMzLDB4MjAsMHg4YywweGQ4LDB4MDMsMHgzMiwweDAwLDB4Y2MsMHhiNCB9fSwKLSB7MTYsIDB4YTViMCwgMCwgezB4MzMsMHhhMCwweDBjLDB4YzgsMHgwMywweDE2LDB4MjAsMHhjZiwweGMwLDB4MzMsMHhmMCwweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAgfX0sCi0gezE2LCAweGE1YzAsIDAsIHsweGNkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhkOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNWQwLCAwLCB7MHhhOCwweDExLDB4YjUsMHgwNCwweDg3LDB4MTIsMHhhMSwweDUwLDB4MGEsMHg3NCwweDEyLDB4YzQsMHg0MCwweDg0LDB4MTEsMHgyMyB9fSwKLSB7MTYsIDB4YTVlMCwgMCwgezB4YzAsMHgyOCwweGUwLDB4MDIsMHgxYywweDAyLDB4YTcsMHgxMSwweDIxLDB4NTgsMHg0OCwweDcwLDB4MGEsMHgxNCwweDAwLDB4OGQgfX0sCi0gezE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MjMsMHhjMCwweDBiLDB4NzAsMHgwMiwweGZjLDB4NDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhhNjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk1LDB4MDAsMHg4NywweDQwLDB4MjEsMHgwMCB9fSwKLSB7MTYsIDB4YTYxMCwgMCwgezB4MTgsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDk1LDB4MjgsMHhlMSwweDAyLDB4MDgsMHg1MCwweDAyLDB4M2MsMHg0MiwweGE3LDB4MjIgfX0sCi0gezE2LCAweGE2MjAsIDAsIHsweDIxLDB4ODAsMHg4OCwweDQxLDB4MDIsMHgxNCwweDAwLDB4ODUsMHgwMCwweGExLDB4YzAsMHgwOSwweDcxLDB4MDIsMHhkYywweDAwIH19LAotIHsxNiwgMHhhNjMwLCAwLCB7MHhiNSwweDEwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTY0MCwgMCwgezB4MjAsMHgxNCwweGM0LDB4MTAsMHg4MywweDg0LDB4MjAsMHgxMSwweDA4LDB4MzAsMHgwMiwweGMzLDB4MTAsMHg5MSwweDIwLDB4MjAgfX0sCi0gezE2LCAweGE2NTAsIDAsIHsweGMwLDB4MDgsMHgyOCwweDEyLDB4MDAsMHgwMCwweGEwLDB4ODQsMHgyMCwweDQwLDB4MDgsMHgzMCwweDAyLDB4MDQsMHgyNiwweDgzIH19LAotIHsxNiwgMHhhNjYwLCAwLCB7MHgwMCwweDIwLDB4ZDAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjIsMHgwMCwweDJjLDB4YzAsMHgwYiwweDAwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YTY3MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZCwweDAwLDB4Y2YsMHg4OCwweGIyLDB4ZTggfX0sCi0gezE2LCAweGE2ODAsIDAsIHsweDBjLDB4MzAsMHgxMywweGNlLDB4YzIsMHhkMCwweDgyLDB4MzIsMHgwMCwweDBjLDB4MGUsMHgwYiwweDIwLDB4MDAsMHhjOCwweDg4IH19LAotIHsxNiwgMHhhNjkwLCAwLCB7MHhiMiwweDQwLDB4MmMsMHhiYSwweDQzLDB4MzcsMHgwMiwweGNiLDB4MDAsMHhiMywweGMwLDB4MmMsMHhmMCwweDAzLDB4ZmMsMHgxMiB9fSwKLSB7MTYsIDB4YTZhMCwgMCwgezB4ZmIsMHgwMCwweDdmLDB4ZDEsMHgwZiwweDMwLDB4MGIsMHgyYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2YjAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDAyLDB4ZjEsMHg0MCwweDNlLDB4NDEsMHgwZiwweGIwLDB4MjMsMHhlZCwweDAwLDB4ZTgsMHgwMSwweDNlIH19LAotIHsxNiwgMHhhNmMwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDQsMHhkYiwweDAwLDB4M2MsMHg4MCwweDBmLDB4MDQsMHgwMywweGU0LDB4NDAsMHhmOSB9fSwKLSB7MTYsIDB4YTZkMCwgMCwgezB4MDAsMHgzYywweGMyLDB4MGUsMHhiMCwweDAzLDB4ZWUsMHgwMCwweDRiLDB4NDEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGE2ZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweDRiLDB4MDAsMHgzMiwweDQyIH19LAotIHsxNiwgMHhhNmYwLCAwLCB7MHgwYywweGYwLDB4MDMsMHgzNiwweDgwLDB4Y2QsMHgwMCwweDMzLDB4MDAsMHg0YywweGMwLDB4ODMsMHgzYywweDA0LDB4ZjcsMHgwMCB9fSwKLSB7MTYsIDB4YTcwMCwgMCwgezB4MzIsMHg0MCwweDBjLDB4YjEsMHg0MywweDE0LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAgfX0sCi0gezE2LCAweGE3MTAsIDAsIHsweGZmLDB4MDAsMHhiMywweGMyLDB4MGMsMHhhMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNzIwLCAwLCB7MHg4MSwweDA0LDB4NGYsMHgwMiwweDhiLDB4ODAsMHgyMCwweDMwLDB4MDgsMHhiYywweDAyLDB4MjAsMHgxMCwweDg5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4YTczMCwgMCwgezB4YzAsMHgwMCwweGIwLDB4MDMsMHg2MCwweDA0LDB4YjgsMHgwMCwweGEyLDB4OTAsMHgyOCwweDhjLDB4MWEsMHgyNCwweDAyLDB4OGIgfX0sCi0gezE2LCAweGE3NDAsIDAsIHsweDgzLDB4MjIsMHhjMSwweDA4LDB4YjAsMHgwMiwweGZjLDB4MDAsMHhiMywweDYwLDB4MjAsMHhjMCwweDBkLDB4YTAsMHgwMywweGUwIH19LAotIHsxNiwgMHhhNzUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJlLDB4MDAsMHhhYiwweGMwLDB4MjIsMHg2MCB9fSwKLSB7MTYsIDB4YTc2MCwgMCwgezB4MDgsMHhiOCwweDAyLDB4MjksMHgwMCwweDg4LDB4MDEsMHgyMCwweDAwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4MDAgfX0sCi0gezE2LCAweGE3NzAsIDAsIHsweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgyNCwweGEyLDB4YzAsMHgwOSwweGIwLDB4NDYsMHhlYywweDAwIH19LAotIHsxNiwgMHhhNzgwLCAwLCB7MHhiOSwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTc5MCwgMCwgezB4MDgsMHgwNCwweDJjLDB4MDAsMHhhMSwweDAwLDB4YTAsMHg0MSwweDA4LDB4YjAsMHgwYSwweDIwLDB4NTMsMHg4OCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGE3YTAsIDAsIHsweGMwLDB4MjgsMHhhMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDAwLDB4ODgsMHgwMCwweDAyLDB4ODQsMHgwMCwweDgzIH19LAotIHsxNiwgMHhhN2IwLCAwLCB7MHgwNCwweDIwLDB4YzAsMHgyOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDYyLDB4YzAsMHgwOSwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YTdjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZTksMHgwMCwweDIyLDB4MDAgfX0sCi0gezE2LCAweGE3ZDAsIDAsIHsweDBjLDB4YjAsMHgwMywweDAwLDB4MDQsMHhjOSwweDAwLDB4YjIsMHgwMCwweDBjLDB4OTAsMHgwMywweDJjLDB4MDAsMHhmMywweDAwIH19LAotIHsxNiwgMHhhN2UwLCAwLCB7MHhiMiwweGMwLDB4OGMsMHhiMCwweDAzLDB4YjQsMHgwMiwweDhmLDB4MDAsMHgyMywweGMwLDB4MDQsMHhmMCwweDAzLDB4ZWMsMHgwOCB9fSwKLSB7MTYsIDB4YTdmMCwgMCwgezB4ZjksMHgwMCwweDMzLDB4YzAsMHgwYywweDgwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4MDAsIDAsIHsweGEwLDB4MWQsMHhmYywweDEwLDB4ZGQsMHgwNCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MjMsMHhmMCwweDkwLDB4ZmQsMHgwMCwweDJmIH19LAotIHsxNiwgMHhhODEwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHg0MywweGQwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDhmLDB4YzAsMHgyMiwweDc0LDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4YTgyMCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDYsMHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTggfX0sCi0gezE2LCAweGE4MzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg4MCwweGVmLDB4MjAsMHgxMSwweGMwIH19LAotIHsxNiwgMHhhODQwLCAwLCB7MHgwZSwweDcyLDB4MDMsMHhiZCwweGIwLDB4Y2YsMHgzMSwweGJmLDB4Y2MsMHgwMiwweGYwLDB4MDMsMHhmYywweGM2LDB4Y2YsMHgwMSB9fSwKLSB7MTYsIDB4YTg1MCwgMCwgezB4MGIsMHhjNSwweDBmLDB4ZjEsMHgwMywweDNjLDB4MDQsMHhlZiwweDYxLDB4MzMsMHhkOCwweDA3LDB4ZjAsMHgwMywweDM0LDB4ODAgfX0sCi0gezE2LCAweGE4NjAsIDAsIHsweGNkLDB4MzAsMHg3MywweGNjLDB4MGYsMHhlOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhODcwLCAwLCB7MHg4MCwweDE4LDB4ZTksMHgwMCwweDg4LDB4NjksMHgyMiwweDEwLDB4MDgsMHg4YywweDAwLDB4MjEsMHg4NCwweDg4LDB4NDEsMHgyMiB9fSwKLSB7MTYsIDB4YTg4MCwgMCwgezB4MTAsMHg4OCwweDg2LDB4OTIsMHgwMSwweDAwLDB4ODgsMHg2MiwweDIyLDB4MTAsMHg0YiwweDg3LDB4MDIsMHgyMSwweGEwLDB4ODggfX0sCi0gezE2LCAweGE4OTAsIDAsIHsweDYwLDB4MjAsMHgxMCwweDBiLDB4ODYsMHhhMiwweDM1LDB4YTAsMHhhYiwweDYwLDB4YTEsMHhjNCwweDBiLDB4YjgsMHgwMiwweDIwIH19LAotIHsxNiwgMHhhOGEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNkLDB4YTgsMHgzMywweDQxLDB4MjAsMHhjNiB9fSwKLSB7MTYsIDB4YThiMCwgMCwgezB4NGEsMHgzMSwweDAwLDB4OGMsMHgxMCwweDkzLDB4MzMsMHgyOCwweGNjLDB4MjksMHgzNCwweDEyLDB4OGMsMHg1MCwweDkzLDB4MWMgfX0sCi0gezE2LCAweGE4YzAsIDAsIHsweDI4LDB4ODQsMHgwMSwweDIwLDB4NGEsMHg0YywweDQxLDB4ODMsMHgxMCwweDI0LDB4Y2MsMHg0YiwweDMxLDB4NDIsMHg0YywweDQwIH19LAotIHsxNiwgMHhhOGQwLCAwLCB7MHg5MSwweDEwLDB4MjQsMHhjMCwweDBiLDB4ODAsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YThlMCwgMCwgezB4YzAsMHgwNSwweGE4LDB4MjAsMHg5MCwweDAyLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMCwweDIwLDB4MzAsMHhiOCwweDA4LDB4MjYgfX0sCi0gezE2LCAweGE4ZjAsIDAsIHsweDAwLDB4MDEsMHg4MCwweDgyLDB4MjAsMHgyMCwweDE4LDB4MDgsMHg0MiwweDQwLDB4MDMsMHg5MSwweDAyLDB4NjAsMHgwMCwweDA4IH19LAotIHsxNiwgMHhhOTAwLCAwLCB7MHgwMSwweGE2LDB4MDAsMHgwYiwweDgwLDB4MDAsMHg2YywweDEwLDB4YmIsMHgwMSwweDI2LDB4YzAsMHg0YiwweDkwLDB4MGEsMHgzMCB9fSwKLSB7MTYsIDB4YTkxMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhmZCwweDAwLDB4ZmQsMHg0MSwweDMzLDB4YTEgfX0sCi0gezE2LCAweGE5MjAsIDAsIHsweDBlLDB4ZDIsMHgwMywweGI1LDB4MDIsMHhkZiwweDQyLDB4M2IsMHgwMSwweDBmLDB4ZDQsMHg0MywweGI1LDB4MDAsMHhjZCwweDQwIH19LAotIHsxNiwgMHhhOTMwLCAwLCB7MHgxYiwweGM0LDB4MGQsMHg3OCwweDAzLDB4NzAsMHgwMiwweGVjLDB4MDAsMHgxNywweGExLDB4MGYsMHhlOCwweDBiLDB4MmMsMHgwMiB9fSwKLSB7MTYsIDB4YTk0MCwgMCwgezB4ZDksMHg5MCwweDI2LDB4YzAsMHgwZiwweGFjLDB4MDMsMHgwMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5NTAsIDAsIHsweGUwLDB4MDEsMHhiOCwweDAwLDB4ZWUsMHgwMCwweDFmLDB4NjQsMHg0ZiwweGUwLDB4MDMsMHhkOCwweDEwLDB4YzQsMHgxOCwweDMzIH19LAotIHsxNiwgMHhhOTYwLCAwLCB7MHhjMCwweDBjLDB4YTAsMHhhMSwweGI4LDB4MDksMHhlNiwweDA5LDB4MzYsMHgyMiwweDBmLDB4ODgsMHgyMywweGJjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YTk3MCwgMCwgezB4MDAsMHgzYiwweDY0LDB4MGYsMHhkOSwweDAzLDB4OWMsMHgwMCwweGUzLDB4MDQsMHgzYiwweGMwLDB4MGYsMHhmNCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGE5ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGQsMHgwMCwweGM5LDB4NDAsMHhiNiwweDgwIH19LAotIHsxNiwgMHhhOTkwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHhhNywweDIwLDB4ZmIsMHg1MCwweGI2LDB4MDgsMHg0YywweDE0LDB4MDMsMHg2NSwweDIyLDB4ZDksMHg0MCB9fSwKLSB7MTYsIDB4YTlhMCwgMCwgezB4YjYsMHg4MCwweDBlLDB4YTAsMHgwYiwweDAwLDB4MDAsMHhkOCwweDAwLDB4NzYsMHg4MiwweDI4LDB4YTAsMHgyMywweDY0LDB4MDAgfX0sCi0gezE2LCAweGE5YjAsIDAsIHsweGM5LDB4MDQsMHgxMiwweGMwLDB4OGUsMHg4MCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOWMwLCAwLCB7MHhjOCwweDA1LDB4MmIsMHg2MCwweDhhLDB4MDksMHgyMCwweDUwLDB4MDgsMHhhMCwweDIzLDB4ZTksMHgwMCwweGI4LDB4YzAsMHgyMiB9fSwKLSB7MTYsIDB4YTlkMCwgMCwgezB4ZjAsMHgwOCwweGFjLDB4MDIsMHgyOCwweDA0LDB4OGEsMHhjMiwweDIyLDB4NTAsMHgwOCwweDkwLDB4MDYsMHgyYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGE5ZTAsIDAsIHsweDA0LDB4MjIsMHg1MSwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDQsMHg4YiwweDA0LDB4MzcsMHhjMCwweDA4LDB4MTgsMHg0MiwweDI2IH19LAotIHsxNiwgMHhhOWYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNCwweDRiLDB4MDAsMHg4MiwweGM4LDB4MjQsMHg0MyB9fSwKLSB7MTYsIDB4YWEwMCwgMCwgezB4MGIsMHgyNiwweDBhLDB4ODgsMHgwMCwweGIwLDB4ODAsMHgyMiwweGU0LDB4MGIsMHgyMCwweDQyLDB4NjksMHgwMCwweGEyLDB4OTAgfX0sCi0gezE2LCAweGFhMTAsIDAsIHsweDI4LDB4NDAsMHhlOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YmIsMHgwMCwweDI4LDB4NTAsMHg4OCwweDkwLDB4ODIsMHhjNCwweDAxIH19LAotIHsxNiwgMHhhYTIwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDBhLDB4MTAsMHgwMiwweGJhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWEzMCwgMCwgezB4MjAsMHgxMCwweDRlLDB4ODAsMHg4MSwweDAwLDB4MjEsMHhhOCwweDA4LDB4NTgsMHgwMiwweGQ2LDB4MDEsMHhiNywweDkwLDB4NjggfX0sCi0gezE2LCAweGFhNDAsIDAsIHsweDIwLDB4MDMsMHg1OSwweDgyLDB4NTYsMHgwMCwweGE1LDB4ODQsMHgyZCwweGEyLDB4MTgsMHg2OSwweDIyLDB4MDIsMHgwMCwweDM0IH19LAotIHsxNiwgMHhhYTUwLCAwLCB7MHg4MCwweDI5LDB4YTgsMHgwOCwweDY4LDB4MDYsMHhjNiwweDE0LDB4ODUsMHg4MiwweDI1LDB4ZTAsMHgwOCwweDU4LDB4ODIsMHgxYyB9fSwKLSB7MTYsIDB4YWE2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0OCwweDAwLDB4YzIsMHhmMCwweDM0LDB4NDAgfX0sCi0gezE2LCAweGFhNzAsIDAsIHsweDBmLDB4MjAsMHgwMywweDg4LDB4ODAsMHhmOCwweDEwLDB4MzAsMHhjMCwweDI3LDB4MjEsMHgwYiwweDQ4LDB4ODAsMHhlYSwweDIwIH19LAotIHsxNiwgMHhhYTgwLCAwLCB7MHgzOCwweDAwLDB4MGMsMHgwMCwweDEyLDB4MGMsMHgwOCwweDczLDB4MDAsMHhiOCwweDQwLDB4MGMsMHgxMiwweDIzLDB4NGMsMHgwMiB9fSwKLSB7MTYsIDB4YWE5MCwgMCwgezB4NDMsMHgzNCwweDMwLDB4YzAsMHgwZSwweDExLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhYTAsIDAsIHsweDQwLDB4MTUsMHhhYywweDkwLDB4ZjksMHgwMSwweDJlLDB4ODgsMHg0YiwweDkwLDB4MTEsMHg2NCwweDAwLDB4ZmIsMHgxMCwweDMyIH19LAotIHsxNiwgMHhhYWIwLCAwLCB7MHgwMCwweDAwLDB4OTEsMHgwMywweGE0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHhjNCwweDRkLDB4YjAsMHg0MywweGUwLDB4MDQsMHhjOCB9fSwKLSB7MTYsIDB4YWFjMCwgMCwgezB4MDAsMHgzNiwweDg5LDB4MGYsMHhhOCwweDAzLDB4ZWQsMHgwMCwweGY5LDB4MTQsMHgzZSwweGMwLDB4MGYsMHgxMCwweDQzLDB4ZDAgfX0sCi0gezE2LCAweGFhZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZTgsMHgwMCwweGM4LDB4MDAsMHgzYSwweDAwIH19LAotIHsxNiwgMHhhYWUwLCAwLCB7MHgwYywweDAwLDB4NTMsMHhhMCwweDAwLDB4ZTgsMHgwMSwweDMyLDB4MDEsMHgwZSwweDgwLDB4NTMsMHgyMCwweDEwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4YWFmMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDIwLDB4MTAsMHhlOCwweDA0LDB4YjYsMHgwMCwweDg0LDB4ODAsMHgwMywweDJkLDB4MTIgfX0sCi0gezE2LCAweGFiMDAsIDAsIHsweGNiLDB4MDAsMHgyZSwweGNhLDB4MDQsMHg5MCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYjEwLCAwLCB7MHg0YywweDE5LDB4OGMsMHgwMCwweDg3LDB4MDIsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4YWIyMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4NjIsMHg0YywweDA0LDB4ODMsMHgwMCwweDIxLDB4ODAsMHg0OCwweGUwLDB4MTIsMHgzYywweDAwLDB4ODcgfX0sCi0gezE2LCAweGFiMzAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NSwweDAxLDB4MjQsMHhkMCwweDBhLDB4NTAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhhYjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDlhLDB4MDAsMHg4MCwweDgwLDB4MjgsMHgyMCB9fSwKLSB7MTYsIDB4YWI1MCwgMCwgezB4MDgsMHg0YywweDIyLDB4ZDIsMHgwMCwweGE0LDB4ODAsMHgyNCwweDMwLDB4MGIsMHg0OCwweDAyLDB4NTIsMHgwMCwweDg0LDB4YzAgfX0sCi0gezE2LCAweGFiNjAsIDAsIHsweDIxLDB4MjAsMHgwOSwweDQ4LDB4NjgsMHgxMywweDAwLDB4YTQsMHg4MCwweDYwLDB4MjAsMHgwOSwweDA4LDB4MDIsMHg1NiwweDAwIH19LAotIHsxNiwgMHhhYjcwLCAwLCB7MHg5NywweDgwLDB4MmQsMHhlMCwweDg4LDB4NTgsMHgwMiwweGUwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWI4MCwgMCwgezB4NmMsMHgwNCwweGNjLDB4MDAsMHg4MywweDgwLDB4MjAsMHhkOCwweDA4LDB4MzAsMHgwMiwweDRjLDB4NDAsMHg4MywweDAwLDB4MjQgfX0sCi0gezE2LCAweGFiOTAsIDAsIHsweGQxLDB4MDksMHhiOSwweDQyLDB4NGUsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMxLDB4ODksMHgzMCwweDQyLDB4MGMsMHgwMCwweDgzIH19LAotIHsxNiwgMHhhYmEwLCAwLCB7MHhmMCwweGEwLDB4ZDksMHgxOSwweDM2LDB4MjIsMHg2NiwweDA2LDB4OTEsMHgwMCwweDBjLDB4YzEsMHgwYSwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YWJiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhlOCwweDAyLDB4Y2EsMHhhNSwweDJhLDB4OTEgfX0sCi0gezE2LCAweGFiYzAsIDAsIHsweDI4LDB4YTgsMHgwMywweGVhLDB4MDIsMHhhYSwweDAwLDB4YjYsMHhhMCwweDBmLDB4YTAsMHgwYSwweDJhLDB4OTIsMHhjYSwweDgzIH19LAotIHsxNiwgMHhhYmQwLCAwLCB7MHhiYSwweDgwLDB4MjksMHhhMCwweDAzLDB4MmIsMHgwMCwweGVhLDB4NDAsMHg2NiwweDkwLDB4MmQsMHhlNCwweDBiLDB4NmEsMHg4MCB9fSwKLSB7MTYsIDB4YWJlMCwgMCwgezB4ZGEsMHgwMCwweDNlLDB4ODAsMHgwYywweGUwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiZjAsIDAsIHsweDQ4LDB4MDEsMHg4MCwweDAwLDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhiMCwweDE0LDB4ZmMsMHgwMCwweDNiIH19LAotIHsxNiwgMHhhYzAwLCAwLCB7MHgxMiwweDBlLDB4YzAsMHg0MywweGIxLDB4MTQsMHhmYywweDAwLDB4M2QsMHgwMCwweDBlLDB4YzAsMHgwMywweGYwLDB4MjAsMHhmNCB9fSwKLSB7MTYsIDB4YWMxMCwgMCwgezB4MDAsMHgzMSwweDAwLDB4MGUsMHg0NCwweDEzLDB4YTAsMHgwMCwweGU4LDB4MDYsMHgzNiwweDAwLDB4NGYsMHg4MCwweDEzLDB4ZDIgfX0sCi0gezE2LCAweGFjMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGQxLDB4MDAsMHgzNiwweDYwIH19LAotIHsxNiwgMHhhYzMwLCAwLCB7MHgxYywweDE4LDB4MGIsMHg0NiwweDAwLDB4ZDksMHg4MCwweDMwLDB4NDAsMHgyYywweDk4LDB4MDUsMHg4NiwweDAwLDB4YzEsMHg4MCB9fSwKLSB7MTYsIDB4YWM0MCwgMCwgezB4OTIsMHg0MCwweDBkLDB4MTAsMHgwMywweDQ0LDB4MDIsMHg4OSwweDAwLDB4MzIsMHg3MCwweDBjLDB4OTgsMHgwMSwweDI0LDB4MDAgfX0sCi0gezE2LCAweGFjNTAsIDAsIHsweGM5LDB4MDQsMHgzMCwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYzYwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4MjQsMHg4MCwweDg5LDB4MDEsMHgyMiB9fSwKLSB7MTYsIDB4YWM3MCwgMCwgezB4NDAsMHg0OCwweDkxLDB4MDIsMHgyNCwweDAwLDB4ZDksMHg5MCwweDIyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDEwLDB4ODkgfX0sCi0gezE2LCAweGFjODAsIDAsIHsweDAwLDB4MzIsMHg0MCwweDA4LDB4OTUsMHgxMiwweDI0LDB4MDIsMHg4MSwweDAwLDB4YTIsMHg0MSwweDBkLDB4OTAsMHg0MiwweGUwIH19LAotIHsxNiwgMHhhYzkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwNSwweDI0LDB4MDIsMHg5ZCwweDAwLDB4MjMsMHg0NCB9fSwKLSB7MTYsIDB4YWNhMCwgMCwgezB4MDgsMHhkMiwweDA2LDB4NzQsMHg4MCwweGI1LDB4MjAsMHgyMywweDQwLDB4MWEsMHhkMCwweDA2LDB4MzUsMHg5MCwweDhkLDB4MDIgfX0sCi0gezE2LCAweGFjYjAsIDAsIHsweDJmLDB4NDQsMHgxOSwweGQwLDB4MDIsMHg3NCwweDAwLDB4OGQsMHgwMCwweDYzLDB4NDAsMHgxOCwweGQ0LDB4MDIsMHhhNCwweDExIH19LAotIHsxNiwgMHhhY2MwLCAwLCB7MHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWNkMCwgMCwgezB4MjgsMHgxNCwweDA0LDB4ODAsMHg4NSwweDIwLDB4MjEsMHg2OCwweDA4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHhhNSwweDIwLDB4YTEgfX0sCi0gezE2LCAweGFjZTAsIDAsIHsweDQ4LDB4MGEsMHg3MiwweDM4LDB4MTQsMHg4MCwweDk1LDB4MjQsMHgyZCwweDQ4LDB4MjgsMHg1MiwweDAyLDB4MTQsMHg4MCwweDg1IH19LAotIHsxNiwgMHhhY2YwLCAwLCB7MHgyMCwweDIxLDB4NDgsMHgwOCwweDUyLDB4MDYsMHg4NCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NGEsMHgwOSwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YWQwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweGIyLDB4MTQgfX0sCi0gezE2LCAweGFkMTAsIDAsIHsweDI4LDB4YTAsMHgwMywweDYxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHg5NCwweDRlLDB4ODUsMHgwNCwweDIxLDB4NDIsMHhjOCwweDUwIH19LAotIHsxNiwgMHhhZDIwLCAwLCB7MHgzYywweDE0LDB4MGQsMHg4MCwweDAzLDB4NjEsMHg0MCwweDg4LDB4NTAsMHhiMiwweDE0LDB4MmMsMHhjNSwweDA5LDB4YTEsMHg0MCB9fSwKLSB7MTYsIDB4YWQzMCwgMCwgezB4YzgsMHg1MCwweDMyLDB4MWMsMHgwYywweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkNDAsIDAsIHsweDk4LDB4MTUsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNhLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxNCwweDNlIH19LAotIHsxNiwgMHhhZDUwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHg0MywweDY0LDB4NDAsMHhlOSwweDEwLDB4MzIsMHg0NCwweDA3LDB4OTMsMHhjMywweGU0LDB4NTAsMHhkMSB9fSwKLSB7MTYsIDB4YWQ2MCwgMCwgezB4MTAsMHg3ZSwweDQ0LDB4MDMsMHg5MSwweDAxLDB4NTQsMHg0NCwweGZkLDB4MTQsMHgzZSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGFkNzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg4MCwweGRkLDB4YTAsMHgzMywweDY4IH19LAotIHsxNiwgMHhhZDgwLCAwLCB7MHgxZSwweGRhLDB4MDMsMHgzNiwweDkwLDB4Y2QsMHhhMCwweDNiLDB4NjgsMHgwYSwweGQ4LDB4MjMsMHg3NiwweDBjLDB4ZWQsMHg4MCB9fSwKLSB7MTYsIDB4YWQ5MCwgMCwgezB4MmIsMHg2MiwweDBiLDB4OTksMHgwMiwweGE3LDB4ODAsMHhmOSwweGUxLDB4MzcsMHg2OCwweDBjLDB4ZGEsMHgwMywweDI3LDB4ODAgfX0sCi0gezE2LCAweGFkYTAsIDAsIHsweGM5LDB4YTIsMHgyMiwweDY4LDB4NGMsMHg1MCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZGIwLCAwLCB7MHgzOCwweDE4LDB4ZTEsMHg0MCwweDg4LDB4NTAsMHgyMiwweDE0LDB4MDgsMHg4MCwweDIyLDB4NjAsMHgwMCwweDg4LDB4MDQsMHgyMiB9fSwKLSB7MTYsIDB4YWRjMCwgMCwgezB4MDAsMHgwOCwweDA0LDB4MjYsMHgwMSwweDAwLDB4ODgsMHg1MCwweDIyLDB4MTAsMHgwOCwweGFmLDB4MDIsMHgyMywweDAwLDB4ODggfX0sCi0gezE2LCAweGFkZDAsIDAsIHsweGMwLDB4YTAsMHgxMCwweDg4LDB4ODQsMHgwMiwweDIzLDB4ODAsMHhhMCwweDQwLDB4MmEsMHgxMCwweDA4LDB4ODAsMHgxMiwweDRlIH19LAotIHsxNiwgMHhhZGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDg0LDB4MDAsMHg4MSwweDAxLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4YWRmMCwgMCwgezB4MGEsMHgxNCwweDAyLDB4NDUsMHgwMCwweDgxLDB4NDEsMHgyYywweDUwLDB4MGIsMHgxNCwweDAyLDB4MDUsMHgwNCwweGExLDB4MDAgfX0sCi0gezE2LCAweGFlMDAsIDAsIHsweDI4LDB4NDAsMHg4MiwweDEwLDB4MDIsMHg4NCwweDQwLDB4YTEsMHgzMiwweDgwLDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNCwweGM0IH19LAotIHsxNiwgMHhhZTEwLCAwLCB7MHg5MSwweDEwLDB4NjQsMHg0NCwweDI4LDB4MTAsMHgwMiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWUyMCwgMCwgezB4MTgsMHgwNCwweGFjLDB4MDIsMHg4MSwweDAwLDB4MjIsMHhjMSwweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDIsMHg4OSwweDAyLDB4MjYgfX0sCi0gezE2LCAweGFlMzAsIDAsIHsweDQxLDB4MDksMHg5MCwweDBhLDB4MjQsMHgwYywweDg5LDB4MDQsMHgyMiwweDUwLDB4MDgsMHg5MCwweDI2LDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhhZTQwLCAwLCB7MHgwMCwweDIyLDB4NDEsMHgwOSwweDEwLDB4MjIsMHgyNCwweDQwLDB4YjksMHgwMSwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4YWU1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDEwLDB4ODksMHgwMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweGFlNjAsIDAsIHsweDBhLDB4OTAsMHgwYiwweDI0LDB4MTAsMHg4OSwweDAwLDB4MWUsMHg0MCwweDliLDB4OTAsMHgwMiwweDI0LDB4MTAsMHgyOSwweDAwIH19LAotIHsxNiwgMHhhZTcwLCAwLCB7MHgxYSwweDQwLDB4MGUsMHg5NCwweDQxLDB4YTQsMHgwMCwweDI5LDB4MDAsMHgxMiwweDQwLDB4MDUsMHg5MCwweDQxLDB4MjYsMHgwMCB9fSwKLSB7MTYsIDB4YWU4MCwgMCwgezB4ZDksMHgwMCwweDI0LDB4NDAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlOTAsIDAsIHsweDQ4LDB4MDEsMHhhNCwweDAyLDB4YTksMHgwMCwweGJjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDA0LDB4ZjksMHgwMCwweDNhIH19LAotIHsxNiwgMHhhZWEwLCAwLCB7MHg0MSwweDBlLDB4OTAsMHg4MywweDg0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBlLDB4OTAsMHgwMiwweGM0LDB4MDgsMHhlOSB9fSwKLSB7MTYsIDB4YWViMCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MmUsMHg5MCwweDBiLDB4ZTYsMHgwMCwweGUxLDB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MiwweDAzLDB4NWEgfX0sCi0gezE2LCAweGFlYzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTAsMHgyMCwweGQ4LDB4MDAsMHgzNiwweDAyIH19LAotIHsxNiwgMHhhZWQwLCAwLCB7MHgwZSwweDAwLDB4YTMsMHhlMCwweDE4LDB4YzAsMHgwMCwweDMwLDB4MDMsMHgwZiwweDgwLDB4MzMsMHgyMCwweDAwLDB4NDAsMHgwMCB9fSwKLSB7MTYsIDB4YWVlMCwgMCwgezB4MzIsMHgwZCwweDBmLDB4MDQsMHgwYiwweGEwLDB4MDIsMHhjOCwweDAyLDB4MzIsMHgwMiwweDhjLDB4ODIsMHgwMywweDIwLDB4MDIgfX0sCi0gezE2LCAweGFlZjAsIDAsIHsweGM4LDB4MDQsMHgxNiwweDAwLDB4NGUsMHg4MCwweDAxLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZjAwLCAwLCB7MHgyOCwweDA1LDB4M2IsMHgwMCwweDhlLDB4ZDgsMHgyMywweDgwLDB4MDgsMHhlMCwweDAyLDB4ZjgsMHg4MCwweDhlLDB4MTAsMHgyMyB9fSwKLSB7MTYsIDB4YWYxMCwgMCwgezB4YTIsMHgwYiwweGUwLDB4ODIsMHg3YSwweDIwLDB4OGUsMHgzMCwweDIzLDB4YTEsMHgwYiwweGUwLDB4MDIsMHgyOCwweDAwLDB4OGUgfX0sCi0gezE2LCAweGFmMjAsIDAsIHsweDAwLDB4MmIsMHg4OCwweDA4LDB4ZTQsMHg0MiwweDM4LDB4MDAsMHg4ZSwweDA0LDB4MjMsMHg4MCwweDA4LDB4YTAsMHgwMiwweDBhIH19LAotIHsxNiwgMHhhZjMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZmLDB4NDAsMHg5MywweGM2LDB4MjQsMHg0MCB9fSwKLSB7MTYsIDB4YWY0MCwgMCwgezB4MGEsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDEsMHhhYywweGYwLDB4MGIsMHhiNCwweDAyLDB4NGMsMHgwNCwweGEzLDB4ODAgfX0sCi0gezE2LCAweGFmNTAsIDAsIHsweDI4LDB4ZDAsMHg0YiwweDMwLDB4MDIsMHg0YywweDAwLDB4YWIsMHgwNCwweDJhLDB4YzAsMHgyYSwweDMwLDB4MGEsMHhhYywweDEwIH19LAotIHsxNiwgMHhhZjYwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMSwweDBhLDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWY3MCwgMCwgezB4ODAsMHgxMSwweDFjLDB4MDAsMHg4MiwweDAwLDB4MjEsMHg0MiwweDg4LDB4NzQsMHgwNiwweGRjLDB4MGIsMHg4NiwweDAyLDB4MmQgfX0sCi0gezE2LCAweGFmODAsIDAsIHsweDgwLDB4MGIsMHg3MCwweDJhLDB4NTgsMHgwMCwweGE2LDB4MDAsMHhhOSwweGMwLDB4MGIsMHg3MCwweDAyLDB4NWMsMHg4OCwweGE3IH19LAotIHsxNiwgMHhhZjkwLCAwLCB7MHgyMCwweDI5LDB4YzAsMHgwYSwweDcwLDB4MDIsMHg5YywweDEwLDB4OTcsMHgyMCwweGExLDB4YzgsMHgwOCwweGQ4LDB4MDIsMHgyOCB9fSwKLSB7MTYsIDB4YWZhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDgsMHgwZSwweDAwLDB4ZDcsMHg4MCwweDM3LDB4NjAgfX0sCi0gezE2LCAweGFmYjAsIDAsIHsweDBlLDB4NjgsMHgxMywweGZlLDB4MDAsMHhjZiwweDgwLDB4M2QsMHhlMCwweDBmLDB4NzgsMHgyMywweDFlLDB4MDAsMHhlZiwweDgyIH19LAotIHsxNiwgMHhhZmMwLCAwLCB7MHgzMSwweGUwLDB4MGYsMHgzYywweGMzLDB4N2UsMHgwNCwweGVmLDB4ODAsMHhiMSwweGUwLDB4MGUsMHhlOCwweDAzLDB4YmUsMHg4MCB9fSwKLSB7MTYsIDB4YWZkMCwgMCwgezB4ZDcsMHhlMCwweDMzLDB4ZWEsMHgwZSwweDc4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmZTAsIDAsIHsweDA4LDB4MTUsMHhhYywweDAwLDB4ZmEsMHgwMSwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDMyIH19LAotIHsxNiwgMHhhZmYwLCAwLCB7MHg4MCwweDBmLDB4ODAsMHg0MywweGFjLDB4MGEsMHhkOCwweDAwLDB4MzYsMHg0MCwweDBmLDB4YjAsMHgwMywweDJjLDB4MGMsMHhkYiB9fSwKLSB7MTYsIDB4YjAwMCwgMCwgezB4MDAsMHgyNiwweGMxLDB4MDksMHhhMCwweDEzLDB4NmMsMHg0MCwweGViLDB4NDAsMHgzYSwweGRjLDB4MGYsMHg5MCwweDBiLDB4YzIgfX0sCi0gezE2LCAweGIwMTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4YmUsMHgwMCwweGNmLDB4ODEsMHgzMywweGU5IH19LAotIHsxNiwgMHhiMDIwLCAwLCB7MHgxZiwweGY5LDB4MTMsMHhiNiwweDUwLDB4ZWYsMHg4MCwweDFmLDB4ZTQsMHgwNCwweGM4LDB4MDMsMHg3ZSwweDAwLDB4NmQsMHg4MSB9fSwKLSB7MTYsIDB4YjAzMCwgMCwgezB4MzMsMHg2NCwweDBjLDB4ZjgsMHgxYiwweDNlLDB4MjAsMHgyZiwweDg4LDB4OTMsMHhlOCwweDBmLDB4ZmIsMHgwMywweDJlLDB4ODAgfX0sCi0gezE2LCAweGIwNDAsIDAsIHsweGNmLDB4YzAsMHg3MywweGUwLDB4MmMsMHhkOSwweDAzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMDUwLCAwLCB7MHhhOCwweDE4LDB4OTAsMHg0MiwweDg5LDB4MTgsMHgyMSwweGMwLDB4MWYsMHg3MSwweDAyLDB4MTQsMHhjMCwweGY3LDB4MjAsMHgyNyB9fSwKLSB7MTYsIDB4YjA2MCwgMCwgezB4NDAsMHg0MCwweDcxLDB4MTIsMHgxOCwweDAwLDB4ODcsMHgyMCwweDIxLDB4ODAsMHg0OCwweDcxLDB4MDIsMHgzYywweDA4LDB4ODcgfX0sCi0gezE2LCAweGIwNzAsIDAsIHsweDIwLDB4MjEsMHg4MiwweDBiLDB4NjEsMHhhMiwweDFlLDB4NDQsMHhkZiwweDAxLDB4MzEsMHhjOCwweDA4LDB4NzMsMHgwMiwweGVhIH19LAotIHsxNiwgMHhiMDgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDhjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjOCB9fSwKLSB7MTYsIDB4YjA5MCwgMCwgezB4MGIsMHg3MCwweDAyLDB4OWMsMHgwOSwweDg3LDB4MDIsMHgyZCwweDgyLDB4OTksMHg0MCwweDAyLDB4MDQsMHgwMCwweGE1LDB4MDkgfX0sCi0gezE2LCAweGIwYTAsIDAsIHsweDIxLDB4NDAsMHgxOSwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwNSwweDI1LDB4NDgsMHg0YiwweDcyLDB4MDIsMHgwYywweDQwIH19LAotIHsxNiwgMHhiMGIwLCAwLCB7MHg4NywweDAwLDB4YTEsMHhjMCwweDQ4LDB4NTAsMHgwMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjBjMCwgMCwgezB4NjgsMHgwNCwweGMxLDB4MjAsMHg4OSwweDRjLDB4YTAsMHhiNCwweDBhLDB4MzgsMHgwMiwweDIyLDB4MDAsMHhhMSwweGQwLDB4MjQgfX0sCi0gezE2LCAweGIwZDAsIDAsIHsweDMwLDB4MDksMHg4MCwweDAyLDB4MjcsMHg0NCwweDgxLDB4YzYsMHgyMiwweDE0LDB4MDksMHgzZCwweDJhLDB4MGYsMHgwMiwweDhiIH19LAotIHsxNiwgMHhiMGUwLCAwLCB7MHhjMCwweGE2LDB4MjAsMHgwYiwweDI0LDB4MDAsMHgwYywweDEwLDB4OTMsMHg4MSwweDIwLDB4YzAsMHg0OCwweDMwLDB4MDYsMHhkOCB9fSwKLSB7MTYsIDB4YjBmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MTUsMHhhMSwweDAwLDB4ODksMHhjMSwweDMyLDB4ZDEgfX0sCi0gezE2LCAweGIxMDAsIDAsIHsweDAzLDB4YmMsMHgwMywweGE5LDB4MjAsMHg4OSwweDQxLDB4M2UsMHg2MCwweDg1LDB4YmMsMHg4YiwweDI1LDB4NDAsMHhlYiwweDQxIH19LAotIHsxNiwgMHhiMTEwLCAwLCB7MHhhMiwweGEwLDB4MGQsMHhmMCwweDEzLDB4M2UsMHgyMCwweGNmLDB4OTAsMHgzNiwweDMwLDB4NGYsMHhiYywweDBiLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4YjEyMCwgMCwgezB4Y2YsMHg4MCwweDMzLDB4YzEsMHgwYywweGIxLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxMzAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDAwLDB4ZjgsMHgwMSwweDNjLDB4ZDAsMHgwZiwweGIzLDB4MDMsMHhlOCwweDgyLDB4ZDgsMHgyMCwweDM2IH19LAotIHsxNiwgMHhiMTQwLCAwLCB7MHg4MCwweDJlLDB4YjIsMHgxMywweGUxLDB4MDAsMHhmYSwweDAwLDB4N2UsMHhjOCwweDJlLDB4YjAsMHgwMywweGVjLDB4ODAsMHhkYiB9fSwKLSB7MTYsIDB4YjE1MCwgMCwgezB4MTAsMHgzYSwweDA4LDB4NGYsMHhiMiwweDIzLDB4Y2MsMHgwMiwweGZiLDB4MTAsMHgzYSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZTQgfX0sCi0gezE2LCAweGIxNjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4ZjAsMHgwMCwweGNkLDB4MTAsMHgzMywweDQyIH19LAotIHsxNiwgMHhiMTcwLCAwLCB7MHgwYywweGNhLDB4MjMsMHg3YywweDAwLDB4Y2YsMHgwMCwweDMzLDB4NjIsMHgwNiwweGYwLDB4MDEsMHgzYSwweDAwLDB4Y2YsMHgwOCB9fSwKLSB7MTYsIDB4YjE4MCwgMCwgezB4MzMsMHg4MCwweDFjLDB4ZjAsMHg4MSwweDNjLDB4MDAsMHhmZiwweDAwLDB4MzMsMHhhMCwweDBjLDB4Y2EsMHgwMSwweGZjLDB4MDQgfX0sCi0gezE2LCAweGIxOTAsIDAsIHsweGNmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMWEwLCAwLCB7MHhhMSwweDA0LDB4NmQsMHg0MCwweDg4LDB4NDgsMHhhMiwweDMxLDB4MDgsMHgxMCwweDAyLDB4MjAsMHgxMCwweDg4LDB4YjQsMHgyMiB9fSwKLSB7MTYsIDB4YjFiMCwgMCwgezB4YTAsMHgwOCwweDgwLDB4MDAsMHg2YSwweDg0LDB4ODgsMHgyMCwweDIyLDB4NTIsMHgwOCwweGIwLDB4MGEsMHgyYywweDEwLDB4YmIgfX0sCi0gezE2LCAweGIxYzAsIDAsIHsweDAwLDB4MzIsMHhiMywweDg4LDB4ODAsMHgwMiwweGVjLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4OTAsMHgxMiwweGUxIH19LAotIHsxNiwgMHhiMWQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDAwLDB4MTAsMHg4YSwweDAxLDB4MjIsMHhhMCB9fSwKLSB7MTYsIDB4YjFlMCwgMCwgezB4MDgsMHhiMCwweDQyLDB4NjAsMHgyMCwweDgwLDB4MDAsMHgyMCwweDQ0LDB4MWEsMHg4MCwweDFhLDB4ZTQsMHg0MiwweGEwLDB4MDYgfX0sCi0gezE2LCAweGIxZjAsIDAsIHsweDIyLDB4MDAsMHg3OCwweDMwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCwweGEyLDB4NDQsMHgwOCwweGIwLDB4MTIsMHhlYywweDAwIH19LAotIHsxNiwgMHhiMjAwLCAwLCB7MHg4YiwweDAwLDB4MGUsMHhjMCwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjIxMCwgMCwgezB4MDgsMHgxNCwweDAwLDB4MDgsMHg4MCwweDAwLDB4MjAsMHg4MSwweDA4LDB4MzAsMHgwMiwweDQwLDB4MTIsMHg4MCwweDAwLDB4YTAgfX0sCi0gezE2LCAweGIyMjAsIDAsIHsweDQwLDB4MDgsMHhiMCwweDAyLDB4YzAsMHgwMCwweDgyLDB4MDAsMHgwMCwweDgwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweGJiIH19LAotIHsxNiwgMHhiMjMwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwOCwweDIwLDB4MDIsMHhjYywweDgwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YjI0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4Y2EsMHgxNCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGIyNTAsIDAsIHsweDBjLDB4YjAsMHgwMywweDRjLDB4MDAsMHhjYSwweDAwLDB4MzIsMHgwMCwweDBlLDB4MDAsMHgxMiwweGEwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHhiMjYwLCAwLCB7MHg3MCwweDAwLDB4MjgsMHhmMCwweDEzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzMiwweDQwLDB4MmMsMHgxMCwweDQzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YjI3MCwgMCwgezB4Y2YsMHgwMCwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyODAsIDAsIHsweDIwLDB4MTUsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDFmLDB4MDAsMHg2NywweDcwLDB4MDMsMHhiMCwweDAwLDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhiMjkwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwMywweDMwLDB4MTAsMHhmYywweDAxLDB4YmYsMHgwMCwweDBmLDB4NzAsMHgwMywweDdjLDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4YjJhMCwgMCwgezB4MDQsMHgzYiwweDAwLDB4MGYsMHhjMCwweDEzLDB4ZmQsMHgxMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGIyYjAsIDAsIHsweDEyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjQsMHhjMCwweGNmLDB4ODAsMHgzMywweDYwIH19LAotIHsxNiwgMHhiMmMwLCAwLCB7MHgwZSwweGM5LDB4MTMsMHgzNiwweDUwLDB4Y2UsMHg4NiwweDNmLDB4MDgsMHgwYywweGMwLDB4MDMsMHgzZSwweDAyLDB4ZDcsMHg4MCB9fSwKLSB7MTYsIDB4YjJkMCwgMCwgezB4MzksMHhlMCwweDBmLDB4ZjgsMHgxMywweDNlLDB4NDAsMHhjNywweDMwLDB4M2IsMHhjZSwweDBkLDB4ZjYsMHgwMywweDNkLDB4ODggfX0sCi0gezE2LCAweGIyZTAsIDAsIHsweGNmLDB4MzEsMHgzMywweGU0LDB4MGYsMHg3OCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMmYwLCAwLCB7MHg4MCwweDEwLDB4ZTUsMHhkMCwweGRiLDB4ODAsMHg3MiwweDYwLDB4ODgsMHg5MiwweDAyLDB4ZTQsMHgxMCwweDhhLDB4ODAsMHgyZSB9fSwKLSB7MTYsIDB4YjMwMCwgMCwgezB4MzQsMHg0YSwweDhjLDB4MDMsMHgyZSwweDAwLDB4YWIsMHg4MCwweDAyLDB4ZTAsMHgwYiwweGI4LDB4MDIsMHgyYywweDgwLDB4OGYgfX0sCi0gezE2LCAweGIzMTAsIDAsIHsweDYwLDB4MTMsMHhkOCwweDRhLDB4NzYsMHgwMiwweDlkLDB4ODQsMHhhZiwweDMwLDB4MjIsMHg0OCwweDBiLDB4ODgsMHgxMiwweGEwIH19LAotIHsxNiwgMHhiMzIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MDAsMHg4YiwweDAwLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YjMzMCwgMCwgezB4NGEsMHgwMCwweDAyLDB4YWMsMHg4MCwweDgzLDB4MDAsMHgyYywweDAxLDB4MjgsMHgwNCwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDEgfX0sCi0gezE2LCAweGIzNDAsIDAsIHsweDIwLDB4YzAsMHgwMywweGIwLDB4MDIsMHgwYywweDgwLDB4ODMsMHg0MCwweDIwLDB4YzEsMHhhOCwweDM0LDB4MjIsMHg4ZCwweDEzIH19LAotIHsxNiwgMHhiMzUwLCAwLCB7MHg4MywweDIwLDB4YWMsMHhjOCwweDBiLDB4YjAsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjM2MCwgMCwgezB4YzAsMHgxNSwweDg2LDB4MDAsMHg5YiwweDA0LDB4YWUsMHgwMCwweDBhLDB4OTAsMHgwMiwweGVjLDB4MDAsMHgwYiwweDE0LDB4MmUgfX0sCi0gezE2LCAweGIzNzAsIDAsIHsweGM2LDB4MDIsMHhiMSwweDEyLDB4NmMsMHgwMCwweGFiLDB4MjAsMHgyYSwweGMxLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhiMzgwLCAwLCB7MHgwMiwweDI2LDB4YzEsMHgwYSwweGIwLDB4MDIsMHhhYywweDAwLDB4YWIsMHgwNCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4YjM5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlNywweDAwLDB4YzMsMHgwMSwweDM2LDB4NDAgfX0sCi0gezE2LCAweGIzYTAsIDAsIHsweDBlLDB4ODgsMHgxMywweDI0LDB4MDIsMHhjYSwweDAwLDB4MWUsMHgyMCwweDJjLDB4OGUsMHgwYiwweDJjLDB4MDAsMHhjYiwweDAwIH19LAotIHsxNiwgMHhiM2IwLCAwLCB7MHgyYSwweGMwLDB4MGYsMHhiOCwweDAzLDB4MmUsMHgwNiwweGNiLDB4MDAsMHgzYSwweGMwLDB4NGMsMHhiMCwweDEzLDB4YWMsMHgwYyB9fSwKLSB7MTYsIDB4YjNjMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4YzgsMHgwZiwweGIwLDB4NDMsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzZDAsIDAsIHsweGUwLDB4MDEsMHhiNCwweDA4LDB4ZmYsMHg5MSwweDMzLDB4NDAsMHgwOSwweGRjLDB4MDEsMHhmNCwweDIwLDB4N2UsMHgwMiwweDJlIH19LAotIHsxNiwgMHhiM2UwLCAwLCB7MHg0MCwweDBkLDB4OTgsMHgwMSwweGJjLDB4ODAsMHhlZiwweDgwLDB4YjcsMHhlNCwweDhmLDB4ZjQsMHgwYiwweGZlLDB4NDAsMHg3ZiB9fSwKLSB7MTYsIDB4YjNmMCwgMCwgezB4MDAsMHhiOSwweGMwLDB4NGUsMHhmMCwweDAzLDB4ZmMsMHgwOCwweGY3LDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAyLDB4YjggfX0sCi0gezE2LCAweGI0MDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTEsMHg0NCwweGNiLDB4MDIsMHgzMiwweDAwIH19LAotIHsxNiwgMHhiNDEwLCAwLCB7MHgwZCwweDgwLDB4MGEsMHg2ZCwweDAwLDB4ZWIsMHgwNCwweDEwLDB4OTAsMHgyOCwweDIyLDB4MGIsMHgyYywweGMyLDB4Y2IsMHgyMCB9fSwKLSB7MTYsIDB4YjQyMCwgMCwgezB4NzYsMHhjMCwweDBlLDB4YjEsMHgwMywweGVjLDB4MDEsMHhjYiwweDA2LDB4MzIsMHhjMSwweDBjLDB4MzAsMHgwMywweDJjLDB4MDIgfX0sCi0gezE2LCAweGI0MzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNDQwLCAwLCB7MHhjOCwweDA1LDB4MjEsMHg0OCwweGFiLDB4MDAsMHgyMCwweDAwLDB4MDAsMHg5NSwweDIzLDB4NGMsMHgwOCwweGJiLDB4MDEsMHgyMiB9fSwKLSB7MTYsIDB4YjQ1MCwgMCwgezB4YzAsMHgwOCwweGIyLDB4MDIsMHgwYywweDA4LDB4ODMsMHg4OCwweDkyLDB4ZDUsMHgyOCwweDM0LDB4MDIsMHhlYywweDAyLDB4OGYgfX0sCi0gezE2LCAweGI0NjAsIDAsIHsweDIwLDB4MjMsMHhjMCwweDRkLDB4ZjAsMHgwMSwweDdjLDB4MDAsMHhkZiwweDAwLDB4MmUsMHhjMCwweDBkLDB4MzAsMHgwMywweDcyIH19LAotIHsxNiwgMHhiNDcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ0LDB4MDAsMHg4MywweDEwLDB4MjAsMHg2MCB9fSwKLSB7MTYsIDB4YjQ4MCwgMCwgezB4MDksMHgyNSwweDAyLDB4MDAsMHgwOCwweGEwLDB4MDAsMHg0YywweDAwLDB4MGIsMHgwYywweDIyLDB4NGYsMHgxMiwweDkzLDB4NDAgfX0sCi0gezE2LCAweGI0OTAsIDAsIHsweDAwLDB4YzAsMHgwOSwweDNlLDB4MDIsMHhlYywweDAwLDB4YWIsMHg4MCwweGE0LDB4YzAsMHgwOSwweDMwLDB4MjIsMHgyYywweDA4IH19LAotIHsxNiwgMHhiNGEwLCAwLCB7MHhiMywweDAxLDB4MGMsMHg4MSwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjRiMCwgMCwgezB4NjAsMHgwMSwweDE2LDB4MDksMHhiNywweDgwLDB4MjEsMHg2NCwweDA4LDB4NzgsMHgwNiwweDEyLDB4MDAsMHhiNCwweDgyLDB4MmQgfX0sCi0gezE2LCAweGI0YzAsIDAsIHsweGE0LDB4MWIsMHg2OSwweDA2LDB4N2UsMHgwNCwweDE3LDB4OTIsMHgyNSwweGU2LDB4MDksMHg3OCwweDA2LDB4ZGUsMHg4MCwweGE3IH19LAotIHsxNiwgMHhiNGQwLCAwLCB7MHg5MCwweDI1LDB4ZTAsMHgwOSwweDc5LDB4NTAsMHg1ZSwweDA0LDB4YjcsMHg5MiwweDJmLDB4NjEsMHgwOSwweGM4LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4YjRlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyNSwweDAwLDB4YzMsMHgwMCwweGIwLDB4MDMgfX0sCi0gezE2LCAweGI0ZjAsIDAsIHsweDBkLDB4YTMsMHg0MiwweDA5LDB4NDAsMHhlMSwweDAwLDB4YmMsMHg0MCwweDBmLDB4MTEsMHgwMywweDRjLDB4MDAsMHgxMywweDAwIH19LAotIHsxNiwgMHhiNTAwLCAwLCB7MHgyMCwweGMwLDB4MDksMHgzMiwweDAzLDB4Y2MsMHgxMCwweGEzLDB4MDAsMHgyNiwweGM0LDB4OGQsMHgzMCwweDJiLDB4MGMsMHg4MCB9fSwKLSB7MTYsIDB4YjUxMCwgMCwgezB4ZjMsMHgwMCwweDdjLDB4ODAsMHgwYywweDMwLDB4MDEsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1MjAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZTcsMHgxMCwweDNkLDB4MDEsMHgyZiwweGYxLDB4NDIsMHhlOCwweDAwLDB4ZjUsMHg5MCwweDAzIH19LAotIHsxNiwgMHhiNTMwLCAwLCB7MHhjMSwweDBjLDB4ZjEsMHg0MywweDljLDB4MDQsMHhlZiwweDA4LDB4M2IsMHhjMiwweDBjLDB4ZjAsMHg4MSwweGRjLDB4YTAsMHhkZiB9fSwKLSB7MTYsIDB4YjU0MCwgMCwgezB4MDAsMHgzYiwweGMzLDB4M2YsMHhmMCwweDgzLDB4ZmMsMHgwNSwweGRmLDB4MGMsMHgzZCwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGI1NTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZjQsMHgwMCwweGNiLDB4ODAsMHgzMCwweDQwIH19LAotIHsxNiwgMHhiNTYwLCAwLCB7MHgyYywweGEwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg4MCwweDMyLDB4YzAsMHgyZSwweGI4LDB4MGIsMHgyYywweDQ2LDB4ZDMsMHgwMCB9fSwKLSB7MTYsIDB4YjU3MCwgMCwgezB4MzAsMHhjMCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhkYiwweDQ4LDB4MzIsMHhjMCwweDFmLDB4YjQsMHgwMywweDJjLDB4ODggfX0sCi0gezE2LCAweGI1ODAsIDAsIHsweGNiLDB4NDgsMHgzMiwweDgwLDB4MGMsMHgzMCwweDEzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTkwLCAwLCB7MHg0OCwweDExLDB4YjQsMHgwMCwweDg3LDB4MDEsMHgyMSwweDQwLDB4MDgsMHg3MCwweDQyLDB4ZDAsMHgwOCwweGI0LDB4MDAsMHgyOSB9fSwKLSB7MTYsIDB4YjVhMCwgMCwgezB4YzAsMHgwOCwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzgsMHgwYywweDcyLDB4MGEsMHgxYywweDg0LDB4OGYgfX0sCi0gezE2LCAweGI1YjAsIDAsIHsweDQwLDB4MDksMHhjNCwweDhmLDB4NzMsMHgxMiwweDljLDB4NDAsMHg4MywweDIwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDkyIH19LAotIHsxNiwgMHhiNWMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDk2LDB4MDEsMHhhZiwweDgwLDB4MjEsMHgyMCB9fSwKLSB7MTYsIDB4YjVkMCwgMCwgezB4MDgsMHg2OCwweDAyLDB4ZGEsMHgwMCwweGJkLDB4ODAsMHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4MWUsMHgwMCwweDhmLDB4ODggfX0sCi0gezE2LCAweGI1ZTAsIDAsIHsweDgzLDB4ZTIsMHgyOSwweGY4LDB4ODIsMHg1ZiwweDgwLDB4ODcsMHhhMCwweDI1LDB4ZTAsMHgwYiwweDNhLDB4MTIsMHgwZSwweDUwIH19LAotIHsxNiwgMHhiNWYwLCAwLCB7MHg5NywweGE0LDB4MjEsMHhhMCwweDI5LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjYwMCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDIsMHhhMSwweDgxLDB4MDAsMHgwMCwweDQ4LDB4NzAsMHgwMiwweGM4LDB4MDAsMHhiMSwweDAwLDB4MmMgfX0sCi0gezE2LCAweGI2MTAsIDAsIHsweGY4LDB4MDksMHgzMSwweDQyLDB4MGMsMHgxMCwweDgzLDB4MDAsMHgyMCwweGUwLDB4MDgsMHgzOCwweDEyLDB4NGUsMHgwMCwweDgzIH19LAotIHsxNiwgMHhiNjIwLCAwLCB7MHgwMCwweDZhLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDA0LDB4OTMsMHgwMCwweDIwLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YjYzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDQwLDB4ZWUsMHgyMCwweDMwLDB4ODAgfX0sCi0gezE2LCAweGI2NDAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4MzMsMHhiMCwweDBkLDB4ZTQsMHgwMywweDMyLDB4ODgsMHhjYywweDgwIH19LAotIHsxNiwgMHhiNjUwLCAwLCB7MHgyMywweDAwLDB4MGQsMHhjMCwweDAzLDB4NjIsMHgwMiwweGNhLDB4MDAsMHgzNiwweDgwLDB4MGYsMHhhMCwweDQzLDB4MjgsMHgwNiB9fSwKLSB7MTYsIDB4YjY2MCwgMCwgezB4ZGEsMHgwMCwweDMzLDB4YTAsMHgwZCwweDZhLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2NzAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4OTgsMHgwMSwweGJlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhmMCwweDAwLDB4YmMsMHgwMCwweDM4IH19LAotIHsxNiwgMHhiNjgwLCAwLCB7MHgwNCwweDA4LDB4ODAsMHhhMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgxMywweGEwLDB4MDAsMHhlMCB9fSwKLSB7MTYsIDB4YjY5MCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGUsMHgwMCwweDAzLDB4YzAsMHgwMCwweGU4LDB4MDAsMHhiZSwweDA0LDB4NGUsMHg4MCwweDA3LDB4ZDIgfX0sCi0gezE2LCAweGI2YTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHg4MCwweGM5LDB4MDAsMHgzZSwweDY4IH19LAotIHsxNiwgMHhiNmIwLCAwLCB7MHgwYywweDkwLDB4MDMsMHg2NCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4NDMsMHhlMCwweDAwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4YjZjMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgxMywweDIwLDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweDY0LDB4MDAgfX0sCi0gezE2LCAweGI2ZDAsIDAsIHsweDgxLDB4MDAsMHgzMiwweDQwLDB4MDQsMHg5MCwweDEzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNmUwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgwNiwweDg5LDB4NDAsMHgyZSwweDYwLDB4MWEsMHgxNCwweDJhLDB4MDUsMHgyMCwweDg5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YjZmMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNCwweDA4LDB4YzEsMHgwMiwweDIwLDB4NDAsMHgwOCwweDEwLDB4MWEsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGI3MDAsIDAsIHsweDEwLDB4MzIsMHg0MSwweDA4LDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDA0LDB4MzYsMHg0MCwweDg4LDB4OTQsMHgwYSwweDIwIH19LAotIHsxNiwgMHhiNzEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MjAsMHg4OSwweDU1LDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YjcyMCwgMCwgezB4MDgsMHhkNSwweDAyLDB4MzQsMHgwMCwweDhkLDB4MDAsMHgyZSwweDQwLDB4MTgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDk5LDB4MDAgfX0sCi0gezE2LCAweGI3MzAsIDAsIHsweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDBhLDB4ODksMHgwMCwweDI2LDB4NDAsMHgzOCwweDkwLDB4MGEsMHgyNCwweDAwIH19LAotIHsxNiwgMHhiNzQwLCAwLCB7MHhhOSwweDAwLDB4MjAsMHg0MCwweDBhLDB4OTAsMHg4MiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjc1MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDAwLDB4MmYsMHg0MCwweDBhLDB4ZDQsMHgwMiwweDM0LDB4MDAsMHg4NSwweDAxLDB4MmMgfX0sCi0gezE2LCAweGI3NjAsIDAsIHsweDQwLDB4MDgsMHgxMCwweDQyLDB4ZTQsMHgwNiwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDUsMHgwMCwweDgxIH19LAotIHsxNiwgMHhiNzcwLCAwLCB7MHg0MCwweDI4LDB4NTAsMHgwOCwweDE0LDB4MTIsMHgwNSwweDAwLDB4YTEsMHg0MCwweDI0LDB4NTAsMHg1YSwweDEwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4Yjc4MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwNCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGI3OTAsIDAsIHsweDA4LDB4ODAsMHgwMywweDIxLDB4NDIsMHhjYywweDAwLDB4M2UsMHgwMCwweDJjLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhiN2EwLCAwLCB7MHhiNiwweDAwLDB4MmMsMHg4MCwweDAyLDB4MjAsMHgwMiwweGM4LDB4MDAsMHgzNiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMiB9fSwKLSB7MTYsIDB4YjdiMCwgMCwgezB4ZTgsMHgwMCwweDMyLDB4MDAsMHg4ZSwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3YzAsIDAsIHsweDk4LDB4MWQsMHhmNSwweDAwLDB4ZjUsMHgwMCwweDNlLDB4NDAsMHg4NywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNkIH19LAotIHsxNiwgMHhiN2QwLCAwLCB7MHg1MCwweDBmLDB4NTQsMHgwMywweGQxLDB4MDAsMHhlYywweDQwLDB4M2YsMHgxMCwweDBiLDB4YzQsMHg0MywweGYxLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YjdlMCwgMCwgezB4NDAsMHgzNiwweDUwLDB4MGYsMHg5NCwweDEzLDB4ZTUsMHgxMCwweGQ5LDB4NDQsMHgzZCwweDQwLDB4MmQsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGI3ZjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg2MCwweGNkLDB4MDIsMHgzYiwweDQwIH19LAotIHsxNiwgMHhiODAwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhiNCwweDQwLDB4ZmQsMHgwNiwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NiwweDA0LDB4YzksMHg4MiB9fSwKLSB7MTYsIDB4YjgxMCwgMCwgezB4YjYsMHg2MiwweDBmLDB4MTgsMHgwYiwweDM2LDB4MDAsMHhjZCwweDQwLDB4MzIsMHg2MSwweDBjLDB4OTAsMHgyMywweDI0LDB4MGEgfX0sCi0gezE2LCAweGI4MjAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4NGMsMHhkMCwweDQzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiODMwLCAwLCB7MHgzOSwweDEwLDB4ZTMsMHg4MCwweGQ4LDB4MDAsMHgyMiwweDAwLDB4MGQsMHg4MCwweDAyLDB4MjIsMHg5NCwweGI4LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4Yjg0MCwgMCwgezB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMSwweDAwLDB4ODgsMHg0MCwweDIyLDB4MDAsMHgwYiwweGM0LDB4MjIsMHgyMSwweDUwLDB4ODggfX0sCi0gezE2LCAweGI4NTAsIDAsIHsweDgwLDB4MjIsMHgyMiwweDA4LDB4ODAsMHgwMiwweDIwLDB4MTAsMHg4MCwweDAxLDB4MmEsMHgwMCwweDBhLDB4ODAsMHgwMywweDRlIH19LAotIHsxNiwgMHhiODYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGM2LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCB9fSwKLSB7MTYsIDB4Yjg3MCwgMCwgezB4ODgsMHgxMCwweDBhLDB4ODQsMHgwOCwweGIxLDB4MDAsMHgyOSwweDQwLDB4MGEsMHg3MCwweDBhLDB4YjUsMHgwMCwweDhmLDB4NDAgfX0sCi0gezE2LCAweGI4ODAsIDAsIHsweDI5LDB4YzAsMHgwYiwweGY0LDB4MDIsMHgyNCwweDAwLDB4ODEsMHgyMCwweDI4LDB4NDQsMHg4OSwweDEwLDB4MDIsMHgwNCwweDA0IH19LAotIHsxNiwgMHhiODkwLCAwLCB7MHg4MSwweDAyLDB4MmEsMHg0MCwweDA4LDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjhhMCwgMCwgezB4MTgsMHgxNSwweGE2LDB4MDAsMHg5OSwweDIwLDB4MjIsMHg0MCwweDA5LDB4OTAsMHgxMiwweDI0LDB4ODAsMHhiOSwweDAwLDB4MmYgfX0sCi0gezE2LCAweGI4YjAsIDAsIHsweDQ0LDB4MDMsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4MDAsMHgyYiwweDQxLDB4MGIsMHhkMCwweDAyLDB4MjYsMHgxMCwweDg5IH19LAotIHsxNiwgMHhiOGMwLCAwLCB7MHgwNCwweDJhLDB4NDAsMHgwOSwweDkwLDB4NmUsMHgyNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYSwweDk0LDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4YjhkMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEyLDB4MTUsMHhlNiwweDAwLDB4YzksMHgwMCwweDM4LDB4NDIgfX0sCi0gezE2LCAweGI4ZTAsIDAsIHsweDBjLDB4MTAsMHgxMywweGE2LDB4MDQsMHg3OSwweDA4LDB4M2EsMHg3OCwweDA2LDB4OTIsMHgwMywweGE0LDB4MDgsMHhjOSwweDAwIH19LAotIHsxNiwgMHhiOGYwLCAwLCB7MHgzYSwweDYwLDB4OGYsMHg5OCwweDIzLDB4MDYsMHgwMiwweGM5LDB4MDIsMHgzYSwweDQwLDB4MGQsMHg5MCwweDAzLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4YjkwMCwgMCwgezB4YzksMHgwMCwweDM4LDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5MTAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDEwLDB4ZjksMHg4MCwweGJlLDB4NDAsMHg0ZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNjIH19LAotIHsxNiwgMHhiOTIwLCAwLCB7MHg2MCwweDhkLDB4OTIsMHgwMywweDI0LDB4NDIsMHhlOSwweDEwLDB4MzIsMHg1MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YjkzMCwgMCwgezB4MDAsMHhiNiwweDQxLDB4MmUsMHgxMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgyZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGI5NDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDEwIH19LAotIHsxNiwgMHhiOTUwLCAwLCB7MHgwZiwweDg4LDB4MDMsMHgyMCwweDA4LDB4ZjgsMHhjMCwweDFlLDB4MTAsMHgyYywweDQwLDB4MDMsMHhmMiwweDAwLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4Yjk2MCwgMCwgezB4M2YsMHgwMCwweDBjLDB4YzAsMHgxMywweDIwLDB4MDIsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgyYiwweDIwLDB4MTAgfX0sCi0gezE2LCAweGI5NzAsIDAsIHsweGMwLDB4MDQsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTgwLCAwLCB7MHhhOCwweDA1LDB4M2EsMHg4MCwweDg2LDB4ZTAsMHgyZiwweGEwLDB4MWIsMHhlMCwweDAyLDB4M2EsMHg4MCwweGJhLDB4MDQsMHgyZSB9fSwKLSB7MTYsIDB4Yjk5MCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDMsMHg4OCwweDA4LDB4YzIsMHgwMCwweDJlLDB4ODEsMHgwOCwweDYwLDB4MDIsMHgyOCwweDEwLDB4OGUgfX0sCi0gezE2LCAweGI5YTAsIDAsIHsweDgxLDB4MDMsMHg4MCwweDA4LDB4ZTAsMHgwMSwweDc4LDB4MDAsMHg4ZSwweDA0LDB4MDMsMHg4MCwweDA5LDB4NjgsMHgwMywweGNhIH19LAotIHsxNiwgMHhiOWIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDYwLDB4MmMsMHg0NCB9fSwKLSB7MTYsIDB4YjljMCwgMCwgezB4MGIsMHgzOCwweDAyLDB4MGYsMHg4MCwweGIxLDB4MDAsMHgyYywweGU1LDB4MDMsMHgzMCwweDEwLDB4Y2MsMHgxMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGI5ZDAsIDAsIHsweDBjLDB4YzAsMHgyOSwweDMwLDB4MjIsMHgwNCwweDA5LDB4OTEsMHgxMCwweDI0LDB4YzAsMHhjOCwweDMwLDB4MDAsMHg0YywweDA0IH19LAotIHsxNiwgMHhiOWUwLCAwLCB7MHg5MywweDAyLDB4MjQsMHhjMCwweDBiLDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjlmMCwgMCwgezB4ZTAsMHgwMSwweDE4LDB4ODAsMHg4NywweDAwLDB4MmQsMHg0MCwweDBiLDB4NzQsMHg0MiwweDFjLDB4MDEsMHhiNSwweDAxLDB4MmMgfX0sCi0gezE2LCAweGJhMDAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4YjAsMHgwMCwweDk0LDB4MDQsMHgyZiwweDIwLDB4MDksMHhjMCwweDAyLDB4MTQsMHg5MCwweDk3IH19LAotIHsxNiwgMHhiYTEwLCAwLCB7MHgwMCwweDI1LDB4YzgsMHgwOCwweDcwLDB4MDIsMHg0YywweDgwLDB4OTcsMHgyMCwweDI1LDB4YzAsMHgwOSwweDcwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4YmEyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzYSwweDgyLDB4YzYsMHg4MCwweDJkLDB4NjAgfX0sCi0gezE2LCAweGJhMzAsIDAsIHsweDBiLDB4ZjgsMHgwYiwweDFhLDB4MDAsMHhmNSwweDgwLDB4M2QsMHhlMCwweDhmLDB4NzgsMHgwMywweGRlLDB4MDIsMHhjNywweDgwIH19LAotIHsxNiwgMHhiYTQwLCAwLCB7MHgyZCwweGUwLDB4MGQsMHg3OCwweDBiLDB4MTcsMHgwMiwweGRmLDB4ODAsMHgyNCwweGY4LDB4MmMsMHhmZCwweDAzLDB4NWUsMHgwYyB9fSwKLSB7MTYsIDB4YmE1MCwgMCwgezB4ZDcsMHhlMCwweDM1LDB4ZTAsMHgwZiwweDY4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhNjAsIDAsIHsweDQ4LDB4MWQsMHhhZSwweDQwLDB4ZmEsMHgwNCwweDNlLDB4NDAsMHgwZiwweDgwLDB4MTMsMHhlYywweDA0LDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhiYTcwLCAwLCB7MHhjMSwweDBjLDB4YTAsMHgxMywweGMwLDB4MTAsMHhlOCwweDAwLDB4M2MsMHgwMCwweDRlLDB4ODAsMHg0MywweGM0LDB4MjAsMHg4OSB9fSwKLSB7MTYsIDB4YmE4MCwgMCwgezB4MDAsMHhiYSwweGMwLDB4MDcsMHhiNiwweDIxLDB4ZWQsMHgwNiwweGViLDB4NjgsMHhiYSwweGNjLDB4MGYsMHgyMCwweDEzLDB4YzIgfX0sCi0gezE2LCAweGJhOTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4YmUsMHgwMCwweGM2LDB4ODAsMHgzMSwweDYwIH19LAotIHsxNiwgMHhiYWEwLCAwLCB7MHgyZCwweDc4LDB4MGIsMHgzZSwweDQ4LDB4ZWMsMHg5MiwweDNkLDB4NjAsMHgwYywweDU4LDB4MDMsMHg1YSwweDQwLDB4ZDUsMHg4MCB9fSwKLSB7MTYsIDB4YmFiMCwgMCwgezB4MzEsMHg2MSwweDBjLDB4NTgsMHgyMywweDM2LDB4MDAsMHhjZiwweDgyLDB4M2YsMHhlMCwweDBjLDB4ZjgsMHgwMywweGZmLDB4NjAgfX0sCi0gezE2LCAweGJhYzAsIDAsIHsweGNmLDB4OTAsMHgzMywweGYwLDB4MGMsMHg1MiwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYWQwLCAwLCB7MHhhOCwweDExLDB4YjgsMHg4NCwweDg2LDB4MTQsMHhiNSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MWUsMHhjMCwweGM0LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YmFlMCwgMCwgezB4NDAsMHgwOCwweDQwLDB4MDIsMHgxNCwweGQwLDB4ODYsMHgxMCwweDIxLDB4ODAsMHg0YywweDYyLDB4NDIsMHgzNCwweDQwLDB4YTUgfX0sCi0gezE2LCAweGJhZjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDI4LDB4NzAsMHg0MiwweGRjLDB4YzIsMHg4ZiwweDMwLDB4MjMsMHhjMCwweDA4LDB4NTAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhiYjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDk4LDB4MjgsMHg4ZSwweDAwLDB4YTUsMHg0MCB9fSwKLSB7MTYsIDB4YmIxMCwgMCwgezB4MDgsMHhmMSwweDAyLDB4MTgsMHg2NCwweGI0LDB4MDAsMHg2ZCwweDQyLDB4MDgsMHg1MCwweDAyLDB4MTgsMHgwMSwweDg1LDB4MDggfX0sCi0gezE2LCAweGJiMjAsIDAsIHsweDIxLDB4NDAsMHgwOSwweDU4LDB4MjIsMHg1NCwweDAwLDB4ODUsMHgxMCwweDJkLDB4YzQsMHgwOSwweDcwLDB4MDIsMHhkYywweDA0IH19LAotIHsxNiwgMHhiYjMwLCAwLCB7MHg5NywweDAwLDB4MjUsMHhjMCwweDA4LDB4NDQsMHgwMiwweDAwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmI0MCwgMCwgezB4NjAsMHgxNCwweDhjLDB4MDAsMHg4MiwweDgwLDB4MjQsMHhjMCwweDA4LDB4ODAsMHgwMiwweDJkLDB4MDAsMHg4MCwweDRhLDB4MmMgfX0sCi0gezE2LCAweGJiNTAsIDAsIHsweDQyLDB4MDgsMHgwYSwweDQyLDB4MDYsMHgwMCwweDkyLDB4ODQsMHgyMCwweGEwLDB4ODgsMHgyOCwweDQyLDB4NDQsMHgwMCwweGEzIH19LAotIHsxNiwgMHhiYjYwLCAwLCB7MHgwNiwweDI0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDEwLDB4OTMsMHgwNCwweDI0LDB4YzEsMHgwOSwweDAwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YmI3MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2IsMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGJiODAsIDAsIHsweDBjLDB4YjQsMHgxMywweDJjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhhMCwweDBjLDB4YTIsMHgwMywweDA0LDB4MDgsMHhjMiwweDgwIH19LAotIHsxNiwgMHhiYjkwLCAwLCB7MHgzMCwweGE4LDB4MGQsMHgyYSwweDAzLDB4NTQsMHgwMCwweGNiLDB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwOCB9fSwKLSB7MTYsIDB4YmJhMCwgMCwgezB4ZGYsMHgwMCwweDM3LDB4ZDAsMHgwYywweGIwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiYjAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDAwLDB4ZmIsMHgxMCwweDNhLDB4NDAsMHgwZSwweGIwLDB4MDMsMHhlZCwweDkwLDB4ZjksMHgxMSwweDdlIH19LAotIHsxNiwgMHhiYmMwLCAwLCB7MHg4MCwweDRmLDB4YjAsMHg1MywweGU4LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGE2LDB4MDgsMHhmOSB9fSwKLSB7MTYsIDB4YmJkMCwgMCwgezB4MDEsMHgzYSwweGMwLDB4MGMsMHhiMCwweDEzLDB4Y2MsMHgwMCwweGViLDB4MDIsMHgzYSwweGM2LDB4OGUsMHhiOCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGJiZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwYywweGNlLDB4MDAsMHgzZiwweGUwIH19LAotIHsxNiwgMHhiYmYwLCAwLCB7MHgyYywweGYwLDB4ODMsMHgzYSwweDQ4LDB4Y2QsMHgwMSwweDM1LDB4ODAsMHgwYywweDYwLDB4MTIsMHgzNCwweDBhLDB4Y2UsMHgwMCB9fSwKLSB7MTYsIDB4YmMwMCwgMCwgezB4YjMsMHg4MCwweDJjLDB4ZTAsMHgwYiwweDc0LDB4MDAsMHhjOSwweDEwLDB4YjMsMHhjMSwweDBmLDB4ZjAsMHgxYiwweDNjLDB4MDAgfX0sCi0gezE2LCAweGJjMTAsIDAsIHsweGNmLDB4MDAsMHhiNywweGMwLDB4MmMsMHhlMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYzIwLCAwLCB7MHg4MSwweDA0LDB4NmUsMHgxMCwweDg4LDB4ODAsMHgyYywweGMwLDB4MTgsMHg5OCwweDAyLDB4MmQsMHg4MCwweDgxLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4YmMzMCwgMCwgezB4OTEsMHgwOCwweGIwLDB4MDMsMHg2OCwweDAwLDB4YzksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODMgfX0sCi0gezE2LCAweGJjNDAsIDAsIHsweDgwLDB4MzYsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDIsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MjAsMHgwMywweDYwIH19LAotIHsxNiwgMHhiYzUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDA2LDB4MDAsMHg4YSwweDgwLDB4MmUsMHg0NSB9fSwKLSB7MTYsIDB4YmM2MCwgMCwgezB4MjgsMHg4OCwweDAyLDB4MjQsMHgwMiwweDg4LDB4MDIsMHgwMiwweDAyLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweDk4LDB4MDAgfX0sCi0gezE2LCAweGJjNzAsIDAsIHsweDIyLDB4MDAsMHgwOCwweDgwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMSwweDIyLDB4YzEsMHgwYSwweGIwLDB4MDIsMHg2YywweDAwIH19LAotIHsxNiwgMHhiYzgwLCAwLCB7MHhhYiwweDAwLDB4MjIsMHhjMSwweDA4LDB4OTAsMHgxMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmM5MCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MmMsMHhjMCwweDQ4LDB4MDgsMHgxMiwweDAwLDB4ODAsMHg4MCwweDAyLDB4MjQgfX0sCi0gezE2LCAweGJjYTAsIDAsIHsweDAwLDB4MDgsMHgxOCwweDQyLDB4YWMsMHgwMiwweDhiLDB4ODAsMHgyMiwweGUwLDB4MDgsMHhiOCwweDEyLDB4MDQsMHgwMiwweDgzIH19LAotIHsxNiwgMHhiY2IwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgwYywweDAwLDB4YTMsMHgwMSwweDYwLDB4YzAsMHg0OCwweDEwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4YmNjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDA4LDB4Y2EsMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGJjZDAsIDAsIHsweDA4LDB4ODAsMHgwMywweDAwLDB4MDAsMHhjOCwweDA2LDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMiwweGEwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhiY2UwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NzQsMHgwMCwweGNiLDB4MDAsMHgyMiwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4YmNmMCwgMCwgezB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwYywweDgwLDB4MDEsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkMDAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmMsMHgwNCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlMSwweDAwLDB4ZmMsMHgwMCwweDNiIH19LAotIHsxNiwgMHhiZDEwLCAwLCB7MHgwMCwweDBmLDB4ZDAsMHgwMywweDdjLDB4MDAsMHhlZiwweDAwLDB4MmYsMHhjMCwweDBmLDB4ZjAsMHgxMSwweGY0LDB4MTAsMHhmZCB9fSwKLSB7MTYsIDB4YmQyMCwgMCwgezB4MDIsMHgzZCwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGRmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTkgfX0sCi0gezE2LCAweGJkMzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDEsMHgwMiwweDcwLDB4MjAsMHhkYywweDEwIH19LAotIHsxNiwgMHhiZDQwLCAwLCB7MHg2NywweDA0LDB4MGQsMHhjMSwweDAyLDB4NzAsMHgyMCwweDljLDB4MTAsMHgzNywweDA0LDB4MGQsMHhjMSwweDA2LDB4NzAsMHg0MCB9fSwKLSB7MTYsIDB4YmQ1MCwgMCwgezB4NGMsMHgxMCwweDM3LDB4MTQsMHgxNSwweGMxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCwweDEzLDB4MDQsMHgwZCwweGMxLDB4MDcgfX0sCi0gezE2LCAweGJkNjAsIDAsIHsweDcwLDB4NDAsMHhkYywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZDcwLCAwLCB7MHgwMCwweGM1LDB4NDQsMHgwNSwweDcxLDB4MjEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNSwweDcxLDB4MDUsMHg1YyB9fSwKLSB7MTYsIDB4YmQ4MCwgMCwgezB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA2LDB4NzEsMHgwMSwweDRjLDB4NDAsMHg1NywweDEwLDB4MGQsMHhjNCwweDA1LDB4NzEgfX0sCi0gezE2LCAweGJkOTAsIDAsIHsweDA1LDB4NWMsMHg0MCwweDUzLDB4MTAsMHgxNSwweGM0LDB4MDcsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGMwIH19LAotIHsxNiwgMHhiZGEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9fSwKLSB7MTYsIDB4YmRiMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGJkYzAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxIH19LAotIHsxNiwgMHhiZGQwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmRlMCwgMCwgezB4MDAsMHg4NCwweDAwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDA0LDB4NTggfX0sCi0gezE2LCAweGJkZjAsIDAsIHsweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDIwLDB4MDEsMHg1OCwweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwIH19LAotIHsxNiwgMHhiZTAwLCAwLCB7MHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgxNiwweDAwLDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4YmUxMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA1LDB4NzIsMHgxMSwweDVjLDB4ODAgfX0sCi0gezE2LCAweGJlMjAsIDAsIHsweDE3LDB4MjAsMHgxNSwweGQ4LDB4MDUsMHgzMiwweDExLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxNCwweDg4LDB4MDAsMHg3MiwweDAxIH19LAotIHsxNiwgMHhiZTMwLCAwLCB7MHgxYywweDgwLDB4NTcsMHgyMCwweDA1LDB4YzgsMHgwNCwweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwMSB9fSwKLSB7MTYsIDB4YmU0MCwgMCwgezB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDI0LDB4MTUsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlNTAsIDAsIHsweDAwLDB4YzEsMHg0MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDQwLDB4MjAsMHgwMCwweDE4IH19LAotIHsxNiwgMHhiZTYwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDkwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHg0MSwweDgwLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4YmU3MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDEwLDB4MDYsMHgwMCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGJlODAsIDAsIHsweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH19LAotIHsxNiwgMHhiZTkwLCAwLCB7MHgwMiwweDIwLDB4MTAsMHg4OCwweDA0LDB4NjIsMHgwMSwweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDAwLDB4MjAsMHgwMSB9fSwKLSB7MTYsIDB4YmVhMCwgMCwgezB4MDgsMHg4MCwweDQyLDB4MjAsMHgwMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHgwMCwweDQyLDB4MjAsMHgxMCwweDg4LDB4MDAgfX0sCi0gezE2LCAweGJlYjAsIDAsIHsweDIyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgzMCwweDEwLDB4ODAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZWMwLCAwLCB7MHgwMCwweGM1LDB4NGEsMHgwNSwweDQyLDB4ODEsMHg1MCwweGEwLDB4MDQsMHgyOCwweDE1LDB4MGEsMHgwNSwweDUyLDB4ODEsMHgxMCB9fSwKLSB7MTYsIDB4YmVkMCwgMCwgezB4YTAsMHg0NCwweDI4LDB4MTEsMHgxYSwweDAwLDB4NDAsMHg4MCwweDEwLDB4YTAsMHg1NCwweDI4LDB4MDUsMHgwYSwweDA1LDB4NDIgfX0sCi0gezE2LCAweGJlZTAsIDAsIHsweDgxLDB4NTEsMHgyMCwweDE0LDB4MjgsMHgxNSwweDBhLDB4MDEsMHg0MiwweDgxLDB4NTAsMHhhMCwweDU0LDB4MjgsMHgxNSwweDAwIH19LAotIHsxNiwgMHhiZWYwLCAwLCB7MHgzMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBjLDB4MDEsMHg1MywweDQwLDB4NTQsMHhjMCB9fSwKLSB7MTYsIDB4YmYwMCwgMCwgezB4MTUsMHgzMCwweDA1LDB4NWMsMHgwMSwweDU3LDB4NDAsMHg1NCwweGMwLDB4MTUsMHgzMCwweDA1LDB4NWMsMHgwMSwweDUzLDB4MDAgfX0sCi0gezE2LCAweGJmMTAsIDAsIHsweDU1LDB4YzAsMHgxNSwweDc0LDB4MDUsMHg0YywweDAxLDB4NTMsMHgwMCwweDU1LDB4YzAsMHgxNSwweDc0LDB4MDUsMHg0YywweDAxIH19LAotIHsxNiwgMHhiZjIwLCAwLCB7MHg1MywweDAwLDB4NTQsMHhjMCwweDExLDB4MzAsMHgwMSwweDQwLDB4MjEsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmYzMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAgfX0sCi0gezE2LCAweGJmNDAsIDAsIHsweDAwLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDExLDB4MDAsMHgwMCwweDQwIH19LAotIHsxNiwgMHhiZjUwLCAwLCB7MHgwMCwweDEwLDB4YzEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwMSwweDEwLDB4MDEsMHgwMSB9fSwKLSB7MTYsIDB4YmY2MCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg2MCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAgfX0sCi0gezE2LCAweGJmNzAsIDAsIHsweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwIH19LAotIHsxNiwgMHhiZjgwLCAwLCB7MHg4MiwweDAwLDB4MjAsMHg4NCwweDAwLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4NCwweDA4LDB4MjAsMHgwMiB9fSwKLSB7MTYsIDB4YmY5MCwgMCwgezB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMSwweDgwLDB4MDgsMHgwMSwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmYTAsIDAsIHsweDAwLDB4YzUsMHg0MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg5NiwweDAwLDB4MTUsMHg5MCwweDA1LDB4NjQsMHgwMiwweDU4IH19LAotIHsxNiwgMHhiZmIwLCAwLCB7MHgwMCwweDU2LDB4MDAsMHg1NSwweDkwLDB4MDUsMHg2MCwweDAxLDB4ZDksMHgwMCwweDE2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCB9fSwKLSB7MTYsIDB4YmZjMCwgMCwgezB4MDEsMHg1OSwweDAwLDB4NzYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAgfX0sCi0gezE2LCAweGJmZDAsIDAsIHsweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM0LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhiZmUwLCAwLCB7MHgzNiwweDAwLDB4NGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjIsMHgwMCB9fSwKLSB7MTYsIDB4YmZmMCwgMCwgezB4NTgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MCwweDAwLDB4ZDgsMHg4MCwweDE2LDB4MDAsMHgwZCwweDgwLDB4MDMgfX0sCi0gezE2LCAweGMwMDAsIDAsIHsweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDFkLDB4ODAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMDEwLCAwLCB7MHgwMCwweGM1LDB4NDIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYyB9fSwKLSB7MTYsIDB4YzAyMCwgMCwgezB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHhjMSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA2LDB4MzAgfX0sCi0gezE2LCAweGMwMzAsIDAsIHsweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxOCwweGMwIH19LAotIHsxNiwgMHhjMDQwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4YzA1MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHg0MCwweDMwLDB4MDAgfX0sCi0gezE2LCAweGMwNjAsIDAsIHsweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHhjMDcwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzA4MCwgMCwgezB4MDAsMHg4MCwweDAyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMgfX0sCi0gezE2LCAweGMwOTAsIDAsIHsweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgyNSwweDMwLDB4ODEsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwIH19LAotIHsxNiwgMHhjMGEwLCAwLCB7MHg4MCwweDRjLDB4MzIsMHg1MywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMCB9fSwKLSB7MTYsIDB4YzBiMCwgMCwgezB4MjAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA1LDB4NjIsMHg4MSwweDU4LDB4MjAgfX0sCi0gezE2LCAweGMwYzAsIDAsIHsweDU2LDB4MDgsMHgxNSwweDgyLDB4MDQsMHg2MCwweDgxLDB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxNSwweDgyLDB4MDEsMHg2MCwweGMxIH19LAotIHsxNiwgMHhjMGQwLCAwLCB7MHg1OCwweDIwLDB4NDYsMHgwOCwweDE1LDB4ODIsMHgwMSwweDYwLDB4ODEsMHg1OCwweDMwLDB4NTYsMHgwOCwweDE1LDB4ODIsMHgwNSB9fSwKLSB7MTYsIDB4YzBlMCwgMCwgezB4NjAsMHg4MSwweDU4LDB4MjAsMHg1NiwweDA4LDB4MDUsMHg4MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwZjAsIDAsIHsweDAwLDB4YzUsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4IH19LAotIHsxNiwgMHhjMTAwLCAwLCB7MHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MGMsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YzExMCwgMCwgezB4ODAsMHgwOCwweDIwLDB4MDMsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGMxMjAsIDAsIHsweDIxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNCwweDY2LDB4ODEsMHgxOCwweDIwIH19LAotIHsxNiwgMHhjMTMwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjQsMHg4MSwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSB9fSwKLSB7MTYsIDB4YzE0MCwgMCwgezB4MGMsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxLDB4MTksMHgyMCwweDQzLDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGMxNTAsIDAsIHsweDYwLDB4ODEsMHgxOSwweDIwLDB4NDYsMHg0OCwweDAxLDB4ODAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMTYwLCAwLCB7MHgwMCwweGM1LDB4NjAsMHgwNSwweDU4LDB4MDEsMHg1NiwweDAwLDB4NTUsMHg4MCwweDE1LDB4NjAsMHgwNCwweDU4LDB4MDEsMHg1NiB9fSwKLSB7MTYsIDB4YzE3MCwgMCwgezB4MDAsMHg0NSwweDgwLDB4MTEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDA2LDB4MDAsMHg0NSwweDgwLDB4MTUsMHg2MCwweDAxLDB4NTggfX0sCi0gezE2LCAweGMxODAsIDAsIHsweDAxLDB4MTYsMHgwMCwweDAxLDB4ODAsMHgxNSwweDYwLDB4MDUsMHg1OCwweDAxLDB4NTYsMHgwMCwweDU1LDB4ODAsMHgwNSwweDQwIH19LAotIHsxNiwgMHhjMTkwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA2LDB4MDEsMHg0OSwweDgwLDB4MTAsMHg2MCB9fSwKLSB7MTYsIDB4YzFhMCwgMCwgezB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDc5LDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDAxLDB4MDYsMHgwMSwweDQxLDB4ODAgfX0sCi0gezE2LCAweGMxYjAsIDAsIHsweDUwLDB4NjAsMHgwNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwNiwweDAxIH19LAotIHsxNiwgMHhjMWMwLCAwLCB7MHg0MSwweDgwLDB4NTAsMHg2MCwweDE0LDB4MTgsMHgwNSwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzFkMCwgMCwgezB4MDAsMHg4MCwweDAyLDB4MDEsMHgwNCwweDgwLDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDAsMHgwNCwweDA0LDB4NDAgfX0sCi0gezE2LCAweGMxZTAsIDAsIHsweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwIH19LAotIHsxNiwgMHhjMWYwLCAwLCB7MHg4MCwweDQxLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDExLDB4MDAsMHg4MCwweDQxLDB4MjAsMHgxMCwweDQ4LDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4YzIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfX0sCi0gezE2LCAweGMyMTAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDIsMHgxMSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHgxMSwweDgwIH19LAotIHsxNiwgMHhjMjIwLCAwLCB7MHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMyB9fSwKLSB7MTYsIDB4YzIzMCwgMCwgezB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDMxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyNDAsIDAsIHsweDAwLDB4YzUsMHg0NiwweDA1LDB4NzAsMHg4MSwweDVjLDB4NjAsMHgwNywweDE4LDB4MTUsMHhjNiwweDA0LDB4NzEsMHg4MSwweDFjIH19LAotIHsxNiwgMHhjMjUwLCAwLCB7MHg2MCwweDE3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHgzMSwweDgxLDB4ZGMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSB9fSwKLSB7MTYsIDB4YzI2MCwgMCwgezB4ODAsMHgxYywweDYwLDB4NzcsMHgxOCwweDE1LDB4Y2UsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzAgfX0sCi0gezE2LCAweGMyNzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYxIH19LAotIHsxNiwgMHhjMjgwLCAwLCB7MHg3NywweDE4LDB4MGQsMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgzNywweDE4LDB4MGQsMHhjMiwweDAzLDB4MzEsMHg4MCB9fSwKLSB7MTYsIDB4YzI5MCwgMCwgezB4NWMsMHg2MCwweDI3LDB4MTgsMHgwZCwweGM2LDB4MDMsMHg3MSwweDgwLDB4OWMsMHg2MCwweDE3LDB4MTgsMHgwZCwweGNlLDB4MDMgfX0sCi0gezE2LCAweGMyYTAsIDAsIHsweDcxLDB4ODAsMHhkYywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMmIwLCAwLCB7MHgwMCwweDQ1LDB4NDYsMHgwNSwweDc1LDB4ODEsMHg1YywweDYwLDB4NzcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDc1LDB4ODEsMHg1YyB9fSwKLSB7MTYsIDB4YzJjMCwgMCwgezB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4MzEsMHg4MSwweDBjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEgfX0sCi0gezE2LCAweGMyZDAsIDAsIHsweDgxLDB4NWMsMHg2MCwweDQzLDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGMwIH19LAotIHsxNiwgMHhjMmUwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9fSwKLSB7MTYsIDB4YzJmMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGMzMDAsIDAsIHsweDVjLDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MDAsMHgxNywweDA4LDB4MDQsMHg4MiwweDAxIH19LAotIHsxNiwgMHhjMzEwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzMyMCwgMCwgezB4MDAsMHgwMCwweDA2LDB4MDEsMHg2MywweDgwLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgwLDB4NTggfX0sCi0gezE2LCAweGMzMzAsIDAsIHsweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODEsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxIH19LAotIHsxNiwgMHhjMzQwLCAwLCB7MHg4MCwweDU4LDB4NjAsMHg1NiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MCwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4MCB9fSwKLSB7MTYsIDB4YzM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MCwweDA1LDB4NzAsMHgwMSwweDVjLDB4MDAgfX0sCi0gezE2LCAweGMzNjAsIDAsIHsweDE3LDB4MDAsMHgxNSwweGMwLDB4ODUsMHg3NCwweDAxLDB4MWMsMHgwMCwweDQ3LDB4MDAsMHgxMSwweGMwLDB4MDUsMHg3MCwweDAxIH19LAotIHsxNiwgMHhjMzcwLCAwLCB7MHg1YywweDAwLDB4NTMsMHgwMCwweDEwLDB4YzAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwLDB4NTcsMHgwMCwweDE0LDB4YzksMHgwNCB9fSwKLSB7MTYsIDB4YzM4MCwgMCwgezB4NzAsMHgwMSwweDFjLDB4MDAsMHg1NywweDAwLDB4MTUsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzOTAsIDAsIHsweDAwLDB4NDUsMHg0MiwweDAwLDB4NjAsMHhjMCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4IH19LAotIHsxNiwgMHhjM2EwLCAwLCB7MHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHgyMCwweDgwLDB4MTgsMHgzMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MTAsMHg2MCB9fSwKLSB7MTYsIDB4YzNiMCwgMCwgezB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGMzYzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ0LDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH19LAotIHsxNiwgMHhjM2QwLCAwLCB7MHgwMiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSB9fSwKLSB7MTYsIDB4YzNlMCwgMCwgezB4MDgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGMzZjAsIDAsIHsweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNDAwLCAwLCB7MHgwMCwweDQ1LDB4NDIsMHgwNSwweDQwLDB4YzUsMHg1MCwweDIwLDB4MTQsMHgwOCwweDE1LDB4MDAsMHgwNCwweDQwLDB4ODEsMHg1MCB9fSwKLSB7MTYsIDB4YzQxMCwgMCwgezB4MjAsMHg1NCwweDA4LDB4MTEsMHgwMiwweDA1LDB4MDAsMHg4MCwweDEwLDB4MjAsMHg0NSwweDBjLDB4MTEsMHg0MiwweDA0LDB4NDAgfX0sCi0gezE2LCAweGM0MjAsIDAsIHsweDgxLDB4NTAsMHgyMCwweDE0LDB4MGMsMHgxNSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDU0LDB4MDgsMHgxNSwweDAwIH19LAotIHsxNiwgMHhjNDMwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAzLDB4MDEsMHg1MCwweGMwLDB4NDQsMHgzMCB9fSwKLSB7MTYsIDB4YzQ0MCwgMCwgezB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSwweDUwLDB4YzAsMHg0YywweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgyMSwweDUwLDB4YzAgfX0sCi0gezE2LCAweGM0NTAsIDAsIHsweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxIH19LAotIHsxNiwgMHhjNDYwLCAwLCB7MHg1MCwweGMwLDB4NTQsMHgyMCwweDE1LDB4MGMsMHgwNSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzQ3MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDAwLDB4MDQsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MDQgfX0sCi0gezE2LCAweGM0ODAsIDAsIHsweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyIH19LAotIHsxNiwgMHhjNDkwLCAwLCB7MHgwMCwweDEwLDB4ODAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwMCB9fSwKLSB7MTYsIDB4YzRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDg0LDB4MjAgfX0sCi0gezE2LCAweGM0YjAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODQsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwIH19LAotIHsxNiwgMHhjNGMwLCAwLCB7MHg4MCwweGEwLDB4MjAsMHgyOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgyOCwweDA4LDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YzRkMCwgMCwgezB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0ZTAsIDAsIHsweDAwLDB4NDUsMHg0MCwweDA1LDB4NjAsMHg0MSwweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4IH19LAotIHsxNiwgMHhjNGYwLCAwLCB7MHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHgyMCwweDAxLDB4ZDgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCB9fSwKLSB7MTYsIDB4YzUwMCwgMCwgezB4MDEsMHg1OCwweDAwLDB4NzYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAgfX0sCi0gezE2LCAweGM1MTAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhjNTIwLCAwLCB7MHgyNiwweDAwLDB4MGQsMHg4MCwweDAyLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjAsMHgwMSB9fSwKLSB7MTYsIDB4YzUzMCwgMCwgezB4NWMsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDU3LDB4MDAsMHgwZCwweDgwLDB4MDIgfX0sCi0gezE2LCAweGM1NDAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MjEsMHgwYywweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgwYyB9fSwKLSB7MTYsIDB4YzU2MCwgMCwgezB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDE4LDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAgfX0sCi0gezE2LCAweGM1NzAsIDAsIHsweDAxLDB4MGMsMHgwMCwweDQ2LDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MGMsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwIH19LAotIHsxNiwgMHhjNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4YzU5MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDM1LDB4MDgsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzYsMHgwMCwweDE0LDB4MDAgfX0sCi0gezE2LCAweGM1YTAsIDAsIHsweDA4LDB4MDAsMHgwMywweDQwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBkLDB4NDAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHhjNWIwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzVjMCwgMCwgezB4MDAsMHgwMCwweDA1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSwweGMwLDB4NGMgfX0sCi0gezE2LCAweGM1ZDAsIDAsIHsweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwNSwweDMxLDB4NDEsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxIH19LAotIHsxNiwgMHhjNWUwLCAwLCB7MHg0MCwweDRjLDB4NzAsMHg1MywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NDAsMHgxMywweDE0LDB4MDQsMHhjMCB9fSwKLSB7MTYsIDB4YzVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA1LDB4NjgsMHhjMSwweDVhLDB4MzAgfX0sCi0gezE2LCAweGM2MDAsIDAsIHsweDU2LDB4OGMsMHgxNSwweGEzLDB4MDUsMHg2OSwweGMxLDB4NWEsMHgzMCwweDQ2LDB4OGMsMHgxMSwweGE3LDB4MDEsMHg2OCwweGMwIH19LAotIHsxNiwgMHhjNjEwLCAwLCB7MHgxYSwweDMwLDB4NTYsMHg4YywweDExLDB4YTMsMHgwNCwweDY4LDB4YzEsMHgxYSwweDMwLDB4MTYsMHg4YywweDE1LDB4YTMsMHgwNCB9fSwKLSB7MTYsIDB4YzYyMCwgMCwgezB4NjgsMHhjMSwweDVhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA4IH19LAotIHsxNiwgMHhjNjQwLCAwLCB7MHgwMSwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyNCwweDAwLDB4MDgsMHg4MCwweDAyLDB4NjAsMHgwMCwweDgwLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YzY1MCwgMCwgezB4MDAsMHgwOSwweDQwLDB4MDIsMHgyMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGM2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0IH19LAotIHsxNiwgMHhjNjcwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgwOSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4OCwweDYwLDB4NjIsMHgxMCB9fSwKLSB7MTYsIDB4YzY4MCwgMCwgezB4MTgsMHgwNCwweDQ2LDB4MDEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4MCwweDA2LDB4MDEsMHgxMSwweDg4LDB4NDQgfX0sCi0gezE2LCAweGM2OTAsIDAsIHsweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg0NSwweDUwLDB4MTEsMHg1NCwweDA0LDB4NTUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwLDB4MTEsMHg1NCB9fSwKLSB7MTYsIDB4YzZiMCwgMCwgezB4MDQsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQwLDB4NTAsMHgxMCwweDU0LDB4MDQsMHg0NSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAgfX0sCi0gezE2LCAweGM2YzAsIDAsIHsweDExLDB4MTQsMHgwMCwweDE1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4NTQsMHgwNCwweDU1LDB4MDAsMHgxMSwweDQwIH19LAotIHsxNiwgMHhjNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiB9fSwKLSB7MTYsIDB4YzZlMCwgMCwgezB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMSwweDQyLDB4MDAsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMCwweDQyLDB4MDggfX0sCi0gezE2LCAweGM2ZjAsIDAsIHsweDUwLDB4ODIsMHgxNSwweDIwLDB4MDUsMHg0OCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODEsMHg0MCwweDIxIH19LAotIHsxNiwgMHhjNzAwLCAwLCB7MHg0MiwweDA4LDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4NSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzcxMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDg0LDB4NDAgfX0sCi0gezE2LCAweGM3MjAsIDAsIHsweGExLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MDAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyIH19LAotIHsxNiwgMHhjNzMwLCAwLCB7MHg4MCwweDQwLDB4YjAsMHgxMCwweDI4LDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4Yzc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAgfX0sCi0gezE2LCAweGM3NTAsIDAsIHsweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwIH19LAotIHsxNiwgMHhjNzYwLCAwLCB7MHhkNCwweGMwLDB4MjEsMHgzMCwweDA4LDB4NGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDA4LDB4NGMsMHgwMyB9fSwKLSB7MTYsIDB4Yzc3MCwgMCwgezB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3ODAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDA0LDB4NzAsMHgwMSwweDVjLDB4ODAsMHgwNywweDIwLDB4MjUsMHhjOSwweDA0LDB4NzIsMHgwMSwweDVjIH19LAotIHsxNiwgMHhjNzkwLCAwLCB7MHg4MCwweDQ3LDB4MjAsMHgxNSwweGM4LDB4MDAsMHg3MiwweDA1LDB4ZGMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDUsMHg3MiB9fSwKLSB7MTYsIDB4YzdhMCwgMCwgezB4MDEsMHgxYywweDkwLDB4NjcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyLDB4MDEsMHgxYywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzAgfX0sCi0gezE2LCAweGM3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgxOCwweDQ4LDB4YzIsMHgxMiwweDMxIH19LAotIHsxNiwgMHhjN2MwLCAwLCB7MHg4NCwweDhjLDB4NjEsMHgwMywweDE4LDB4NDAsMHhjOCwweDEyLDB4MzEsMHg4NCwweDhjLDB4NjEsMHgwMywweDE4LDB4NDgsMHhjNCB9fSwKLSB7MTYsIDB4YzdkMCwgMCwgezB4MTAsMHgzMSwweDg0LDB4MGMsMHg0MSwweDIzLDB4MTgsMHg0OCwweGM2LDB4MTAsMHgzMCwweDA0LDB4MGMsMHg2MSwweDIzLDB4MTggfX0sCi0gezE2LCAweGM3ZTAsIDAsIHsweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHg4YywweDIxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjN2YwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMyB9fSwKLSB7MTYsIDB4YzgwMCwgMCwgezB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYgfX0sCi0gezE2LCAweGM4MTAsIDAsIHsweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhiZCwweDAwIH19LAotIHsxNiwgMHhjODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg2MCwgMCwgezB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwOSwweDM2LDB4YzIgfX0sCi0gezE2LCAweGM4NzAsIDAsIHsweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiIH19LAotIHsxNiwgMHhjODgwLCAwLCB7MHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4Yzg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDNjLDB4NGMsMHhjZiwweDEzLDB4MzMgfX0sCi0gezE2LCAweGM4YTAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MsMHg0ZCwweDRlLDB4OTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDJiLDB4M2MsMHg0YywweGNmIH19LAotIHsxNiwgMHhjOGIwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjYywweGU5LDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMiwweGI1LDB4YzQsMHhjYywweGYxLDB4MzMsMHgzYyB9fSwKLSB7MTYsIDB4YzhjMCwgMCwgezB4NGMsMHhjZiwweDEzLDB4MzMsMHhjNCwweGNkLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4ZDAsIDAsIHsweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhjNywweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgyMywweDdlLDB4NGUsMHg0NywweDkzIH19LAotIHsxNiwgMHhjOGUwLCAwLCB7MHhiNywweGU0LDB4ZWQsMHhmOSwweDNmLDB4N2UsMHg0ZSwweGRlLDB4MTIsMHgzNywweGU0LDB4OGQsMHhmOSwweDNiLDB4N2UsMHg0ZSB9fSwKLSB7MTYsIDB4YzhmMCwgMCwgezB4ZGYsMHg5MywweGY3LDB4ODQsMHg4ZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGIxLDB4ZTQsMHhlZCwweGI5LDB4MDAgfX0sCi0gezE2LCAweGM5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMiwweDcwLDB4NDAsMHg5YywweDExIH19LAotIHsxNiwgMHhjOTEwLCAwLCB7MHg2NywweDA0LDB4MTksMHhjMywweDAyLDB4NzAsMHg0MCwweDljLDB4MTAsMHgyNywweDA0LDB4MDksMHhjMSwweDAyLDB4NzAsMHg0MCB9fSwKLSB7MTYsIDB4YzkyMCwgMCwgezB4MWMsMHgxMCwweDI3LDB4MTQsMHgwMSwweGMxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHg1MCwweDA3LDB4MDQsMHgwOSwweGMxLDB4MDIgfX0sCi0gezE2LCAweGM5MzAsIDAsIHsweDcwLDB4NDAsMHg5YywweDEwLDB4NjcsMHgxNCwweDExLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOTQwLCAwLCB7MHgwMCwweDAwLDB4MDQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNSwweDcxLDB4MDEsMHg1YyB9fSwKLSB7MTYsIDB4Yzk1MCwgMCwgezB4NDAsMHg1NywweDEwLDB4MTUsMHhjNiwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTAsMHhjNCwweDA1LDB4NzEgfX0sCi0gezE2LCAweGM5NjAsIDAsIHsweDAxLDB4NWMsMHg2NCwweDAzLDB4MTAsMHg1NSwweGM0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGMwIH19LAotIHsxNiwgMHhjOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9fSwKLSB7MTYsIDB4Yzk4MCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIxLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGM5OTAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDUsMHhjMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjQsMHgxNywweDA4LDB4MDQsMHg4MiwweDAxIH19LAotIHsxNiwgMHhjOWEwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDg0LDB4MDAsMHg2MCwweDAwLDB4MTggfX0sCi0gezE2LCAweGM5YzAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDEsMHgxOCwweDAwLDB4MDYsMHgxMCwweDkxLDB4ODAsMHgwMCwweDYwIH19LAotIHsxNiwgMHhjOWQwLCAwLCB7MHgwMCwweDE4LDB4NDYsMHg0NiwweDE4LDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDEwLDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4YzllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4NzMsMHgwMSwweDFjLDB4ODAgfX0sCi0gezE2LCAweGM5ZjAsIDAsIHsweDA3LDB4MjAsMHgwMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxIH19LAotIHsxNiwgMHhjYTAwLCAwLCB7MHgxYywweDgwLDB4NDcsMHgyMiwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4MDcsMHgyMCwweDExLDB4YzgsMHgwNCB9fSwKLSB7MTYsIDB4Y2ExMCwgMCwgezB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDI4LDB4MTEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4IH19LAotIHsxNiwgMHhjYTMwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4Y2E0MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4NDYsMHgwNCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGNhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH19LAotIHsxNiwgMHhjYTYwLCAwLCB7MHgwMiwweDIwLDB4MDAsMHg5MCwweDA0LDB4MjcsMHg4MSwweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg5OCwweDA0LDB4MjQsMHgwMSB9fSwKLSB7MTYsIDB4Y2E3MCwgMCwgezB4MDgsMHg4MCwweDQyLDB4NDgsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDksMHg0MCwweDQyLDB4NjAsMHgxMCwweDg4LDB4MDQgfX0sCi0gezE2LCAweGNhODAsIDAsIHsweDIyLDB4MDEsMHgwOCwweGMwLDB4MDIsMHg0MCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTkwLCAwLCB7MHgwMCwweDAwLDB4MmEsMHgwNCwweDRiLDB4ODEsMHgxMiwweGEwLDB4MDQsMHhhOCwweDAxLDB4MmEsMHgwNCwweDRhLDB4ODEsMHgxMiB9fSwKLSB7MTYsIDB4Y2FhMCwgMCwgezB4YTAsMHg0NCwweGE4LDB4MTEsMHgyYSwweDA0LDB4NDgsMHg4MCwweDEyLDB4YTAsMHg0NCwweDg4LDB4MDEsMHgyYSwweDA0LDB4NGEgfX0sCi0gezE2LCAweGNhYjAsIDAsIHsweDgxLDB4MTIsMHgyMCwweDA0LDB4YWMsMHgxMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIsMHhiMCwweDQ0LDB4OWMsMHgxMSwweDAwIH19LAotIHsxNiwgMHhjYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDBjLDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCB9fSwKLSB7MTYsIDB4Y2FkMCwgMCwgezB4MDUsMHgzMCwweDAxLDB4NDQsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwLDB4MDUsMHgzMCwweDA0LDB4MGMsMHgwMCwweDUzLDB4MDAgfX0sCi0gezE2LCAweGNhZTAsIDAsIHsweDE0LDB4YzAsMHgwNSwweGIwLDB4MDEsMHg0YywweDAwLDB4NTMsMHgwMCwweDE2LDB4YzAsMHgwMSwweDMwLDB4MDEsMHg0YywweDAwIH19LAotIHsxNiwgMHhjYWYwLCAwLCB7MHg1MywweDAwLDB4MTQsMHhjMCwweDAxLDB4MzgsMHgwMCwweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2IwMCwgMCwgezB4MDgsMHhjMCwweDAwLDB4MTAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDEwLDB4MDAsMHg0NCwweDgwLDB4MTAgfX0sCi0gezE2LCAweGNiMTAsIDAsIHsweDAwLDB4MDQsMHgwMCwweDAxLDB4MTAsMHgwMCwweDQ2LDB4MDAsMHgwMCwweDAwLDB4MDQsMHg2MCwweDAxLDB4MDAsMHgwMCwweDQwIH19LAotIHsxNiwgMHhjYjIwLCAwLCB7MHgwMCwweDExLDB4NjAsMHgwMiwweDQwLDB4MDEsMHgwMCwweDEwLDB4NDAsMHgwMCwweDEwLDB4NjAsMHgwMSwweDUwLDB4MTAsMHg0MCB9fSwKLSB7MTYsIDB4Y2IzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAgfX0sCi0gezE2LCAweGNiNDAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDA4LDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjUwLCAwLCB7MHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiB9fSwKLSB7MTYsIDB4Y2I2MCwgMCwgezB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMSwweDAwLDB4MDgsMHg0MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiNzAsIDAsIHsweDA4LDB4YzAsMHg0MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4IH19LAotIHsxNiwgMHhjYjgwLCAwLCB7MHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4YzgsMHgwMCwweDQ2LDB4MDAsMHgxOSwweDgwLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4Y2I5MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4MDYsMHgwMCwweDExLDB4ODAgfX0sCi0gezE2LCAweGNiYTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAxLDB4MDAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwIH19LAotIHsxNiwgMHhjYmIwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg4MSwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgyNiwweDAwLDB4MDksMHg4MCwweDA2LDB4NjIsMHgwMCB9fSwKLSB7MTYsIDB4Y2JjMCwgMCwgezB4NDgsMHgwMCwweDI2LDB4MjAsMHgwMSwweGMwLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDA3LDB4MDAsMHgwOSwweDgwLDB4MDIgfX0sCi0gezE2LCAweGNiZDAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4MjYsMHgwMCwweDExLDB4ODIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYmUwLCAwLCB7MHg0MCwweDQ1LDB4NDIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODUsMHg4YyB9fSwKLSB7MTYsIDB4Y2JmMCwgMCwgezB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDQ4LDB4MTEsMHg4MiwweDA0LDB4MzAgfX0sCi0gezE2LCAweGNjMDAsIDAsIHsweDgxLDB4OGQsMHgyMCwweDQ2LDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MGMsMHgxMCwweGMwIH19LAotIHsxNiwgMHhjYzEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2MyMCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDEwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAgfX0sCi0gezE2LCAweGNjMzAsIDAsIHsweDA4LDB4MDAsMHgwMywweDAwLDB4MDAsMHg4MCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHhjYzQwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2M1MCwgMCwgezB4NDAsMHgwMCwweDAyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMSwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMgfX0sCi0gezE2LCAweGNjNjAsIDAsIHsweDIwLDB4MDMsMHgwOCwweDAwLDB4YzIsMHgwNCwweDMwLDB4YzEsMHgwYywweDIwLDB4MDMsMHgwYywweDEwLDB4YzIsMHgwMCwweDMwIH19LAotIHsxNiwgMHhjYzcwLCAwLCB7MHg4MCwweDBjLDB4YjAsMHg0MywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjAsMHgwMywweDI4LDB4MTAsMHhjMCB9fSwKLSB7MTYsIDB4Y2M4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfX0sCi0gezE2LCAweGNjOTAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxIH19LAotIHsxNiwgMHhjY2EwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDExLDB4ODIsMHgwNCB9fSwKLSB7MTYsIDB4Y2NiMCwgMCwgezB4NjAsMHg4MSwweDE4LDB4MjAsMHg0NiwweDBjLDB4MTEsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjYzAsIDAsIHsweDQwLDB4MDEsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4IH19LAotIHsxNiwgMHhjY2QwLCAwLCB7MHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MGMsMHgyMCwweDAyLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4Y2NlMCwgMCwgezB4ODAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGNjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAxLDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH19LAotIHsxNiwgMHhjZDAwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHhjMSB9fSwKLSB7MTYsIDB4Y2QxMCwgMCwgezB4MGMsMHgyMCwweDQ2LDB4MGMsMHgxMCwweGMyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgzMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGNkMjAsIDAsIHsweDYwLDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwOCwweDEwLDB4ODAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZDMwLCAwLCB7MHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDAwLDB4NDUsMHgwMCwweDExLDB4NDAsMHgwNCwweDUwLDB4MDAsMHgxNCB9fSwKLSB7MTYsIDB4Y2Q0MCwgMCwgezB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDAwLDB4NTAsMHgwMCwweDA0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MCwweDA0LDB4NTAgfX0sCi0gezE2LCAweGNkNTAsIDAsIHsweDAwLDB4MTQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgwMCwweDQyIH19LAotIHsxNiwgMHhjZDYwLCAwLCB7MHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCB9fSwKLSB7MTYsIDB4Y2Q3MCwgMCwgezB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAgfX0sCi0gezE2LCAweGNkODAsIDAsIHsweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwIH19LAotIHsxNiwgMHhjZDkwLCAwLCB7MHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2RhMCwgMCwgezB4NDgsMHgwMCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMSwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAgfX0sCi0gezE2LCAweGNkYjAsIDAsIHsweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIxLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwIH19LAotIHsxNiwgMHhjZGMwLCAwLCB7MHg4MCwweDQwLDB4MzAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDExLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MTQsMHgwMCB9fSwKLSB7MTYsIDB4Y2RkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfX0sCi0gezE2LCAweGNkZTAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwIH19LAotIHsxNiwgMHhjZGYwLCAwLCB7MHhkNCwweDYwLDB4MzUsMHgxMCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDQwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMyB9fSwKLSB7MTYsIDB4Y2UwMCwgMCwgezB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlMTAsIDAsIHsweDAwLDB4MDEsMHg0NiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHgwNywweDE4LDB4MTEsMHhjZSwweDA0LDB4NzEsMHg4MSwweDFjIH19LAotIHsxNiwgMHhjZTIwLCAwLCB7MHg2MCwweDQ3LDB4MTgsMHgwMSwweGM2LDB4MDQsMHg3MSwweDgxLDB4OWMsMHg2MCwweDQ3LDB4MTgsMHgxOSwweGM2LDB4MDQsMHg3MSB9fSwKLSB7MTYsIDB4Y2UzMCwgMCwgezB4ODAsMHgxYywweDYwLDB4NjcsMHgxOCwweDExLDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4NDcsMHgxOCwweDExLDB4YzAgfX0sCi0gezE2LCAweGNlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwIH19LAotIHsxNiwgMHhjZTUwLCAwLCB7MHgyNywweDE4LDB4MDksMHhjNiwweDA2LDB4NzEsMHg4MCwweDFjLDB4NjAsMHgyNywweDE4LDB4MDksMHhjNiwweDAxLDB4MzEsMHg4MCB9fSwKLSB7MTYsIDB4Y2U2MCwgMCwgezB4MWMsMHg2MCwweDA3LDB4MTgsMHgwOSwweGM2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCwweDA3LDB4MTgsMHgwOSwweGM2LDB4MTIgfX0sCi0gezE2LCAweGNlNzAsIDAsIHsweDcxLDB4ODAsMHg5YywweDYwLDB4MzMsMHgxOCwweDAxLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTgwLCAwLCB7MHg1MCwweDQ1LDB4NDYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODAsMHg1YyB9fSwKLSB7MTYsIDB4Y2U5MCwgMCwgezB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDAxLDB4MzEsMHg4MSwweDBjLDB4NjAsMHgxNywweDE4LDB4MTAsMHhjNiwweDA1LDB4NzEgfX0sCi0gezE2LCAweGNlYTAsIDAsIHsweDgxLDB4NWMsMHg2MCwweDAzLDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDUzLDB4MTgsMHgxOCwweDgyIH19LAotIHsxNiwgMHhjZWIwLCAwLCB7MHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0MCwweDEyLDB4MDEsMHgyNCwweDgwLDB4NDgsMHgyMCB9fSwKLSB7MTYsIDB4Y2VjMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDI0LDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGNlZDAsIDAsIHsweDU4LDB4MjAsMHg1MiwweDBjLDB4MDUsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ5LDB4MjAsMHgwMiwweDA4LDB4MDQsMHg4MiwweDAxIH19LAotIHsxNiwgMHhjZWUwLCAwLCB7MHgyMCwweDgwLDB4NDksMHgyMCwweDEyLDB4NDgsMHgwNCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2VmMCwgMCwgezB4NDAsMHgwNCwweDA2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4MTgsMHgwMSwweDg2LDB4MDQsMHg2MSwweDgwLDB4MTggfX0sCi0gezE2LCAweGNmMDAsIDAsIHsweDYwLDB4MDYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODEsMHg0OCwweDYwLDB4MDYsMHgxOCwweDE0LDB4ODYsMHgwMCwweDYxIH19LAotIHsxNiwgMHhjZjEwLCAwLCB7MHg4MCwweDE4LDB4NjAsMHg0MiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDE4LDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4Y2YyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg2MCwweDA0LDB4NzgsMHgwMSwweDFlLDB4MDAgfX0sCi0gezE2LCAweGNmMzAsIDAsIHsweDQ3LDB4ODAsMHgxMSwweGU4LDB4MDAsMHg3OCwweDAxLDB4MWUsMHgwMCwweDQ3LDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxIH19LAotIHsxNiwgMHhjZjQwLCAwLCB7MHgxZSwweDAwLDB4NDMsMHg4MCwweDExLDB4ZTAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwLDB4MDMsMHg4MCwweDE1LDB4ZTAsMHgwNCB9fSwKLSB7MTYsIDB4Y2Y1MCwgMCwgezB4NzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhjMCwweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmNjAsIDAsIHsweDQwLDB4MDEsMHgxMiwweDAwLDB4NjQsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjQsMHg4MCwweDE4IH19LAotIHsxNiwgMHhjZjcwLCAwLCB7MHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgzMCwweDAyLDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4Y2Y4MCwgMCwgezB4ODAsMHgxOSwweDMwLDB4NDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOSwweDIwLDB4MDYsMHg0OCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGNmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH19LAotIHsxNiwgMHhjZmEwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDAwLDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSB9fSwKLSB7MTYsIDB4Y2ZiMCwgMCwgezB4MDgsMHgyMCwweDQ2LDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGNmYzAsIDAsIHsweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZmQwLCAwLCB7MHg0MCwweDQ1LDB4NDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwMCwweDQwLDB4ODEsMHgxMCB9fSwKLSB7MTYsIDB4Y2ZlMCwgMCwgezB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MCwweDEwLDB4MjAsMHg0NSwweDA4LDB4MDEsMHgwMiwweDA0LDB4NDAgfX0sCi0gezE2LCAweGNmZjAsIDAsIHsweDgxLDB4MTAsMHgyMSwweDAwLDB4MGMsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDQ0LDB4MDgsMHgwMSwweDAwIH19LAotIHsxNiwgMHhkMDAwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDAzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCB9fSwKLSB7MTYsIDB4ZDAxMCwgMCwgezB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAgfX0sCi0gezE2LCAweGQwMjAsIDAsIHsweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwIH19LAotIHsxNiwgMHhkMDMwLCAwLCB7MHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDA0MCwgMCwgezB4NDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDA0LDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA5LDB4MDAsMHg0MiwweDAxLDB4MTAgfX0sCi0gezE2LCAweGQwNTAsIDAsIHsweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyIH19LAotIHsxNiwgMHhkMDYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MTEsMHgwMCB9fSwKLSB7MTYsIDB4ZDA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAgfX0sCi0gezE2LCAweGQwODAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4MDAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwIH19LAotIHsxNiwgMHhkMDkwLCAwLCB7MHg4MCwweGEwLDB4MDAsMHgwYSwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDM0LDB4NjIsMHgyOCwweDA4LDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4ZDBhMCwgMCwgezB4MDAsMHg4MCwweDgwLDB4MzAsMHgyMCwweDBjLDB4MDgsMHgwMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwYjAsIDAsIHsweDQwLDB4MDEsMHg0MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMywweDE4IH19LAotIHsxNiwgMHhkMGMwLCAwLCB7MHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDYsMHg2MCwweDAxLDB4OTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCB9fSwKLSB7MTYsIDB4ZDBkMCwgMCwgezB4MDEsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAgfX0sCi0gezE2LCAweGQwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwIH19LAotIHsxNiwgMHhkMGYwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg4MCwweDAyLDB4NjQsMHgwMCwweDk4LDB4MDAsMHgyNiwweDAwLDB4MTksMHg5MCwweDAyLDB4NjAsMHgwMCB9fSwKLSB7MTYsIDB4ZDEwMCwgMCwgezB4MWQsMHgwMCwweDI2LDB4MDAsMHgwMSwweGMwLDB4MDIsMHg2MCwweDAwLDB4OTksMHgwMCwweDA2LDB4NDAsMHgxOSwweDgwLDB4MDIgfX0sCi0gezE2LCAweGQxMTAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4NjYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMTIwLCAwLCB7MHg0MCwweDQ1LDB4NjAsMHgwNCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDMsMHg4MCwweDEwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgwZSB9fSwKLSB7MTYsIDB4ZDEzMCwgMCwgezB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDFhLDB4MDAsMHg0MywweDgwLDB4MTEsMHhhMCwweDA0LDB4MzggfX0sCi0gezE2LCAweGQxNDAsIDAsIHsweDAxLDB4MGUsMHgwMCwweDAyLDB4ODAsMHg0MCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxOCwweDgwIH19LAotIHsxNiwgMHhkMTUwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwNCwweDAxLDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCB9fSwKLSB7MTYsIDB4ZDE2MCwgMCwgezB4MDMsMHgwNCwweDAwLDB4YzksMHgwMCwweDMwLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4YzEsMHgwMCwweDMwLDB4NDAgfX0sCi0gezE2LCAweGQxNzAsIDAsIHsweDA4LDB4MTAsMHgwMywweDA0LDB4MDAsMHg4MSwweDAwLDB4MzAsMHg0MCwweDBjLDB4NzgsMHgwMiwweDE0LDB4MDAsMHhjMSwweDAwIH19LAotIHsxNiwgMHhkMTgwLCAwLCB7MHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDQsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDE5MCwgMCwgezB4NDAsMHgwMCwweDA1LDB4MDAsMHgzMSwweDQwLDB4MGMsMHg1MCwweDAzLDB4MTQsMHgwMCwweGM1LDB4MDAsMHgzNSwweDQwLDB4MGMgfX0sCi0gezE2LCAweGQxYTAsIDAsIHsweDUwLDB4MDMsMHgxNCwweDEwLDB4ZDUsMHgwMCwweDMxLDB4NDEsMHgwZCwweDUwLDB4MDMsMHgxNCwweDEwLDB4YzUsMHgwMCwweDMxIH19LAotIHsxNiwgMHhkMWIwLCAwLCB7MHg0MCwweDBkLDB4NDgsMHg0MywweDU0LDB4MTAsMHhjNSwweDAwLDB4MzEsMHg0MCwweDBjLDB4NDAsMHg0MywweDEwLDB4MDAsMHhjMiB9fSwKLSB7MTYsIDB4ZDFjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MywweDA0LDB4NjAsMHhjMSwweDE4LDB4MzAgfX0sCi0gezE2LCAweGQxZDAsIDAsIHsweDQ2LDB4MGMsMHgxMSwweDgzLDB4MDQsMHg2MSwweGMxLDB4MTgsMHgzMCwweDQ2LDB4MGMsMHgwMSwweDg3LDB4MDQsMHg2MCwweGMxIH19LAotIHsxNiwgMHhkMWUwLCAwLCB7MHgxOCwweDMwLDB4NDYsMHgwOCwweDExLDB4ODMsMHgwNCwweDYwLDB4YzEsMHgxOCwweDIwLDB4MDYsMHgwYywweDAxLDB4ODMsMHgwNCB9fSwKLSB7MTYsIDB4ZDFmMCwgMCwgezB4NjAsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MTEsMHg4MCwweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyMDAsIDAsIHsweDQwLDB4MDEsMHg0MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4IH19LAotIHsxNiwgMHhkMjEwLCAwLCB7MHgwMCwweDAyLDB4MDAsMHgwMCwweDgxLDB4MDAsMHgyMCwweDAwLDB4MDgsMHg4MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ZDIyMCwgMCwgezB4MDAsMHgwOCwweDQwLDB4NDMsMHgzMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGQyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0IH19LAotIHsxNiwgMHhkMjQwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjMsMHgwMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MDEsMHg4OCwweDA0LDB4NjIsMHgxMSB9fSwKLSB7MTYsIDB4ZDI1MCwgMCwgezB4MTgsMHgwNCwweDQ2LDB4MjEsMHgxMCwweGM4LDB4NDQsMHg2MiwweDExLDB4MTgsMHgwNSwweDQzLDB4MDEsMHg4MSwweDg4LDB4NDQgfX0sCi0gezE2LCAweGQyNjAsIDAsIHsweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjcwLCAwLCB7MHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDA0LDB4NDUsMHgwMSwweDExLDB4NDAsMHg0NCwweDUwLDB4MDEsMHgxNCB9fSwKLSB7MTYsIDB4ZDI4MCwgMCwgezB4MDQsMHg0NSwweDAxLDB4MDEsMHg0MCwweDQ1LDB4MDAsMHgxMCwweDE0LDB4MDQsMHg0NSwweDAzLDB4MDAsMHg0MCwweDQ0LDB4NTAgfX0sCi0gezE2LCAweGQyOTAsIDAsIHsweDExLDB4MTQsMHgwNCwweDAxLDB4MDUsMHg0MSwweDQwLDB4NDQsMHg1MCwweDExLDB4MTQsMHgwNCwweDA1LDB4MDEsMHgwMSwweDQwIH19LAotIHsxNiwgMHhkMmEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiB9fSwKLSB7MTYsIDB4ZDJiMCwgMCwgezB4MDQsMHgyMCwweDgxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgwMCwweDQyLDB4MDggfX0sCi0gezE2LCAweGQyYzAsIDAsIHsweDEwLDB4ODIsMHgwNSwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4OGEsMHgwNSwweDIwLDB4MDUsMHgwOCwweDIwIH19LAotIHsxNiwgMHhkMmQwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjIsMHg4MSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDJlMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDAyLDB4MDEsMHgwMiwweDgwLDB4NDAgfX0sCi0gezE2LCAweGQyZjAsIDAsIHsweGEwLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MDAsMHgyOSwweDA0LDB4MGEsMHgwMSwweDAyIH19LAotIHsxNiwgMHhkMzAwLCAwLCB7MHg4MCwweDQwLDB4YTQsMHgwMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTgsMHgxMCwweDJiLDB4MTQsMHgwMCB9fSwKLSB7MTYsIDB4ZDMxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAgfX0sCi0gezE2LCAweGQzMjAsIDAsIHsweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCwweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwIH19LAotIHsxNiwgMHhkMzMwLCAwLCB7MHhkNCwweGQwLDB4MjEsMHgzNCwweDRkLDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQ5LDB4NjEsMHgzNCwweDA0LDB4MGQsMHgwMyB9fSwKLSB7MTYsIDB4ZDM0MCwgMCwgezB4NTMsMHg0MCwweGMwLDB4ZDgsMHgzNSwweDM3LDB4MGQsMHg0MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzNTAsIDAsIHsweDQwLDB4MDEsMHg0OCwweDA0LDB4NzIsMHgwMCwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjIH19LAotIHsxNiwgMHhkMzYwLCAwLCB7MHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAwLDB4OWMsMHg4MCwweDQ3LDB4MjAsMHgxOSwweGM4LDB4MDAsMHg3MiB9fSwKLSB7MTYsIDB4ZDM3MCwgMCwgezB4MDEsMHgxYywweDg4LDB4NjcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHg1YywweDgyLDB4NDcsMHgyMiwweDExLDB4YzAgfX0sCi0gezE2LCAweGQzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwOCwweDQ4LDB4YzIsMHgxMiwweDMxIH19LAotIHsxNiwgMHhkMzkwLCAwLCB7MHg4NCwweDhjLDB4NjEsMHgyMywweDEwLDB4NDAsMHhjMCwweDEyLDB4MzEsMHg4NCwweDhjLDB4NjEsMHgwMywweDEwLDB4NDgsMHhjNCB9fSwKLSB7MTYsIDB4ZDNhMCwgMCwgezB4MTAsMHgzMSwweDg0LDB4OGMsMHg0MSwweDIzLDB4MTgsMHg0OCwweGM2LDB4MTAsMHgzMCwweDA0LDB4MGMsMHg0MSwweDIzLDB4MTggfX0sCi0gezE2LCAweGQzYjAsIDAsIHsweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHg4YywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkM2MwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMyB9fSwKLSB7MTYsIDB4ZDNkMCwgMCwgezB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYgfX0sCi0gezE2LCAweGQzZTAsIDAsIHsweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhkZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDAwIH19LAotIHsxNiwgMHhkM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQzMCwgMCwgezB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIgfX0sCi0gezE2LCAweGQ0NDAsIDAsIHsweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiIH19LAotIHsxNiwgMHhkNDUwLCAwLCB7MHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NGMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDVjLDB4NGMsMHhkNywweDEzLDB4MzMgfX0sCi0gezE2LCAweGQ0NzAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2EsMHg0YSwweGQ2LDB4OTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDJiLDB4M2EsMHg0YywweGNmIH19LAotIHsxNiwgMHhkNDgwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjYywweGU5LDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMiwweGI1LDB4YTQsMHhhYywweGM5LDB4MzMsMHgzYyB9fSwKLSB7MTYsIDB4ZDQ5MCwgMCwgezB4NGMsMHhjZiwweDEzLDB4MzUsMHhjNCwweGNkLDB4NjksMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0YTAsIDAsIHsweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzIH19LAotIHsxNiwgMHhkNGIwLCAwLCB7MHhiNywweGU0LDB4ZWQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRlLDB4MTIsMHgzNywweGU0LDB4ZWQsMHhlMSwweDNiLDB4N2UsMHg0ZSB9fSwKLSB7MTYsIDB4ZDRjMCwgMCwgezB4ZGYsMHg5MiwweDMxLDB4ODQsMHg4ZCwweGQ5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGIxLDB4ZTQsMHhlYywweDYxLDB4MDAgfX0sCi0gezE2LCAweGQ0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCwweDA0LDB4YTEsMHg4MywweDJjIH19LAotIHsxNiwgMHhkNGUwLCAwLCB7MHgwMywweDBhLDB4MTAsMHg4MiwweGMxLDB4MzQsMHgxMCwweDhmLDB4MDAsMHg0MCwweDA5LDB4MTQsMHgwMiwweDAzLDB4MTQsMHg5MSB9fSwKLSB7MTYsIDB4ZDRmMCwgMCwgezB4MDAsMHgwOCwweDQyLDB4MGIsMHgxOCwweDgyLDB4YzQsMHgwMCwweDMxLDB4Y2EsMHgwYywweDUyLDB4MDIsMHgxMCwweDgwLDB4ODUgfX0sCi0gezE2LCAweGQ1MDAsIDAsIHsweDAwLDB4MjEsMHg4MiwweDI4LDB4NDAsMHgwYSwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNTEwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHgwNCwweDAyLDB4MDEsMHg0MCwweDgwLDB4NzMsMHgyOCwweDEwLDB4NDgsMHgwNywweDA2LDB4MDEsMHgwNCB9fSwKLSB7MTYsIDB4ZDUyMCwgMCwgezB4YTQsMHg0MSwweDIxLDB4MTQsMHgwOCwweDQ0LDB4MDYsMHgxMSwweDQwLDB4ODAsMHg3MCwweDIwLDB4MTQsMHgwYSwweDA0LDB4MDIgfX0sCi0gezE2LCAweGQ1MzAsIDAsIHsweDAwLDB4YzgsMHg4NCwweDQxLDB4MjEsMHgxYywweDA4LDB4MDYsMHgxMiwweDAxLDB4YzAsMHg4MCwweDYwLDB4MjAsMHgxNCwweDAwIH19LAotIHsxNiwgMHhkNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4ODQsMHgwNCwweDIxLDB4ODIsMHgwOCB9fSwKLSB7MTYsIDB4ZDU1MCwgMCwgezB4NTMsMHgwMiwweDEwLDB4ODAsMHhjNSwweDAwLDB4ODEsMHg0YSwweDA0LDB4NDIsMHgwMiwweDE0LDB4MDAsMHgwNCwweDIwLDB4MjEgfX0sCi0gezE2LCAweGQ1NjAsIDAsIHsweDgwLDB4YTgsMHg3MiwweDIyLDB4MWMsMHg4OCwweGM0LDB4MDYsMHhhMSwweDQyLDB4OGMsMHg1MiwweDIyLDB4MWMsMHg4OCwweDg1IH19LAotIHsxNiwgMHhkNTcwLCAwLCB7MHgyNiwweDIxLDB4YzAsMHg4OCwweDUwLDB4MjIsMHgxOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDU4MCwgMCwgezB4MDAsMHgwMCwweDAyLDB4NDQsMHgwMCwweDAxLDB4MDEsMHgwMCwweDYyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDEgfX0sCi0gezE2LCAweGQ1OTAsIDAsIHsweDIwLDB4NDAsMHgwMCwweDFjLDB4MDAsMHg0NCwweDA0LDB4MDEsMHgwMiwweDIwLDB4NjIsMHgwMCwweDFjLDB4ODAsMHgwNCwweDA0IH19LAotIHsxNiwgMHhkNWEwLCAwLCB7MHg4MCwweDg5LDB4MjAsMHg1MCwweDA4LDB4MTQsMHg4MCwweDA0LDB4MjQsMHgwMSwweGMxLDB4MDAsMHg1MCwweDAwLDB4MTgsMHgwMCB9fSwKLSB7MTYsIDB4ZDViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDgwLDB4MzgsMHgyMCwweDA0LDB4MGMgfX0sCi0gezE2LCAweGQ1YzAsIDAsIHsweDMxLDB4MGEsMHgwMCwweDAwLDB4MDIsMHgxOCwweDIwLDB4OGMsMHhhOCwweDEwLDB4MjgsMHgwOCwweDg4LDB4YzEsMHgxNCwweDEwIH19LAotIHsxNiwgMHhkNWQwLCAwLCB7MHhjNiwweDAwLDB4MjIsMHgwMywweDA4LDB4MDIsMHgwMSwweDA4LDB4YjAsMHgwMCwweDBjLDB4MjEsMHgwMiwweDAwLDB4ODIsMHg4MCB9fSwKLSB7MTYsIDB4ZDVlMCwgMCwgezB4MDgsMHgwMCwweDQ5LDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHg4MCwweDA4LDB4MjAsMHgwMywweDAwLDB4MDQsMHgwMiwweDQzLDB4MjAsMHgwMCwweDQwIH19LAotIHsxNiwgMHhkNjAwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwNCwweDQyLDB4MDEsMHgxMCwweDgwLDB4ODQsMHgyMCwweDExLDB4MDgsMHgwNCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDYxMCwgMCwgezB4MDAsMHg0NCwweDI0LDB4MjAsMHgwOSwweDA4LDB4NDAsMHgwMywweDAwLDB4OTAsMHhjNCwweDIwLDB4MjAsMHgwOCwweDBjLDB4MDIgfX0sCi0gezE2LCAweGQ2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4MSwweDA4LDB4MjAsMHgwNCwweDg4IH19LAotIHsxNiwgMHhkNjMwLCAwLCB7MHgwMiwweDIyLDB4MDgsMHgwOCwweGMzLDB4MmEsMHg5MCwweDQwLDB4ODQsMHgxMCwweDIwLDB4MDQsMHg4MCwweGMyLDB4MjYsMHgyMCB9fSwKLSB7MTYsIDB4ZDY0MCwgMCwgezB4NDksMHg4OCwweDIyLDB4MjIsMHgwYywweDA4LDB4YzEsMHgyNiwweGEwLDB4YzksMHg4YywweDEyLDB4MmEsMHgwNCwweDg4LDB4NDMgfX0sCi0gezE2LCAweGQ2NTAsIDAsIHsweDBlLDB4YTAsMHhjYiwweDg4LDB4MTAsMHgyMiwweDBjLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNjYwLCAwLCB7MHgwOCwweDAwLDB4MGEsMHg0MCwweDMyLDB4MDAsMHgwMSwweDgwLDB4MzEsMHgyOCwweDAwLDB4MDAsMHgwMSwweDEyLDB4ODAsMHg4ZCB9fSwKLSB7MTYsIDB4ZDY3MCwgMCwgezB4ODQsMHgwMCwweDI4LDB4MGMsMHgwOCwweDAxLDB4MzIsMHgwMCwweDhjLDB4ODAsMHgwMiwweDIwLDB4MGMsMHgwOCwweDAxLDB4MmUgfX0sCi0gezE2LCAweGQ2ODAsIDAsIHsweDAwLDB4YzMsMHg4MCwweDAyLDB4MjAsMHgwNCwweDA4LDB4NDMsMHgwMiwweDAwLDB4NDAsMHg4MCwweDEwLDB4MjAsMHgwNCwweDAyIH19LAotIHsxNiwgMHhkNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4ODcsMHgwYSwweDIxLDB4MDQsMHg4OCB9fSwKLSB7MTYsIDB4ZDZhMCwgMCwgezB4MTEsMHgyYSwweDFjLDB4MGEsMHgwNiwweDIyLDB4MjEsMHg0MCwweGEwLDB4NDIsMHgyYSwweDEwLDB4ODgsMHg4NSwweDBhLDB4YTEgfX0sCi0gezE2LCAweGQ2YjAsIDAsIHsweDA2LDB4YTQsMHg2MiwweDIyLDB4MWMsMHgwYSwweGM0LDB4MDIsMHgyMSwweDgwLDB4OGMsMHg1MiwweDIyLDB4MTQsMHg0OCwweDg2IH19LAotIHsxNiwgMHhkNmMwLCAwLCB7MHgyMiwweDIwLDB4MDgsMHhhOCwweDYwLDB4MmEsMHgxNCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDZkMCwgMCwgezB4MDAsMHgwMCwweDA4LDB4NDUsMHgwNiwweDAxLDB4ODksMHg4MCwweDYzLDB4MjAsMHgxYywweDg4LDB4NDAsMHgzNCwweDExLDB4MDEgfX0sCi0gezE2LCAweGQ2ZTAsIDAsIHsweGE0LDB4NTAsMHgyOCwweDE4LDB4NDgsMHgwNCwweDBlLDB4MDEsMHg0YiwweDgwLDB4NzMsMHgyOCwweDFjLDB4OGEsMHgwNCwweDA2IH19LAotIHsxNiwgMHhkNmYwLCAwLCB7MHg5MSwweDQ5LDB4MDQsMHg2MywweDIwLDB4MWMsMHg4YSwweDA2LDB4MjYsMHgwMSwweDg1LDB4ODAsMHg3MCwweDIwLDB4MTgsMHgwMiB9fSwKLSB7MTYsIDB4ZDcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDg1LDB4MDAsMHhiMSwweDQ1LDB4MmMgfX0sCi0gezE2LCAweGQ3MTAsIDAsIHsweDcwLDB4MDIsMHgxNCwweGMwLDB4MDcsMHgwOCwweDIxLDB4NDksMHgwMCwweDQyLDB4MDEsMHgxNCwweDgyLDB4MDUsMHgwMCwweDExIH19LAotIHsxNiwgMHhkNzIwLCAwLCB7MHg4NCwweDAwLDB4NTIsMHgwMiwweDFjLDB4MDAsMHhjNCwweDAwLDB4MjEsMHhjNCwweDJjLDB4NTMsMHgwMiwweDFjLDB4MDIsMHg4MSB9fSwKLSB7MTYsIDB4ZDczMCwgMCwgezB4MDQsMHhhMSwweGNkLDB4MDgsMHg1MCwweDAyLDB4MTQsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3NDAsIDAsIHsweDA4LDB4MTAsMHgxMiwweDA0LDB4MzQsMHgwMSwweGNjLDB4MDAsMHg3MywweDQwLDB4MWMsMHg5MCwweDQ1LDB4MDQsMHgwMSwweDQ4IH19LAotIHsxNiwgMHhkNzUwLCAwLCB7MHgwNCwweDYwLDB4NDEsMHgxOCwweGMwLDB4NDQsMHgwNCwweDAxLDB4MDUsMHgwNCwweDczLDB4NDgsMHgxNCwweDUwLDB4NDcsMHgzNCB9fSwKLSB7MTYsIDB4ZDc2MCwgMCwgezB4MDEsMHg0NSwweDIwLDB4NjIsMHgwOCwweDFjLDB4YzIsMHgwNCwweDBjLDB4ODEsMHhjNywweDAwLDB4NzMsMHg4MCwweDE4LDB4YzIgfX0sCi0gezE2LCAweGQ3NzAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MTAsMHg4NCwweDEwLDB4MjEsMHhjYywweDI4IH19LAotIHsxNiwgMHhkNzgwLCAwLCB7MHg0MiwweDAyLDB4MTQsMHgxMiwweGM1LDB4MTAsMHgyMSwweDg0LDB4MDQsMHg0MCwweDAwLDB4MWMsMHg4MCwweDg0LDB4MDAsMHg5MSB9fSwKLSB7MTYsIDB4ZDc5MCwgMCwgezB4MDAsMHgwOCwweDczLDB4ODIsMHgxYywweDkwLDB4MDUsMHgwYywweDAxLDB4Y2YsMHgwYywweDQwLDB4MDIsMHgxNCwweDMwLDB4NDUgfX0sCi0gezE2LCAweGQ3YTAsIDAsIHsweDIwLDB4YTEsMHhjMCwweDA4LDB4NTAsMHgwMiwweDEwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg0NSwweDBjLDB4ODEsMHgwMCwweDAwLDB4MDEsMHgwOCwweDA4LDB4MDAsMHgwNSwweDE4LDB4OTEsMHgwNSB9fSwKLSB7MTYsIDB4ZDdjMCwgMCwgezB4MDQsMHgwMCwweDAxLDB4MDQsMHg0MCwweDA2LDB4MTgsMHgwMCwweDAyLDB4MjQsMHg3MCwweDQwLDB4MDQsMHgwMCwweDQwLDB4MDAgfX0sCi0gezE2LCAweGQ3ZDAsIDAsIHsweDAxLDB4YzQsMHgyNCwweDAwLDB4ODgsMHgwNCwweDAwLDB4NDMsMHgxMCwweDAwLDB4NDAsMHgyMCwweDAwLDB4ODgsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4ODUsMHgyNCwweDMxLDB4MDIsMHgwYyB9fSwKLSB7MTYsIDB4ZDdmMCwgMCwgezB4MDIsMHhjMiwweDA0LDB4MTAsMHhjNCwweDI4LDB4MjEsMHg0OSwweDBjLDB4MDIsMHhjMCwweDA0LDB4YjIsMHgwNiwweDFjLDB4MjAgfX0sCi0gezE2LCAweGQ4MDAsIDAsIHsweDAzLDB4MDgsMHg1MCwweDQyLDB4MGMsMHg4MCwweDAxLDB4MDQsMHhhMSwweDQ5LDB4MGMsMHgwMCwweGMyLDB4MGMsMHgxMCwweDQzIH19LAotIHsxNiwgMHhkODEwLCAwLCB7MHgyNCwweGEwLDB4YzEsMHgwOCwweDEwLDB4NDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDgyMCwgMCwgezB4MDAsMHgxMCwweGEyLDB4MDAsMHgyMCwweDAwLDB4Y2QsMHgwMCwweDAwLDB4NDAsMHgwNCwweDIwLDB4MDEsMHgxMCwweDAwLDB4MDkgfX0sCi0gezE2LCAweGQ4MzAsIDAsIHsweDA0LDB4MDIsMHg0OSwweDBjLDB4OTIsMHgwNywweDMwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgwOCwweDBjLDB4OTIsMHg0MSwweDAwIH19LAotIHsxNiwgMHhkODQwLCAwLCB7MHg4MCwweGNjLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMCwweDQzLDB4MjgsMHg4MCwweGMyLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg1MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDEwLDB4NTAsMHg4MCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4NjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweGYwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGQwLDB4ODAsMHg4MCwweDAwIH19LAotIHsxNiwgMHhkODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OTAsMHg4MCB9fSwKLSB7MTYsIDB4ZDg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4OTAsIDAsIHsweDNjLDB4M2MsMHgxMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweGEwLDB4ODAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOGEwLCAwLCB7MHgwMCwweDAwLDB4NDAsMHgxMCwweDkwLDB4ODAsMHhhMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweDkwLDB4ODAsMHhhMCB9fSwKLSB7MTYsIDB4ZDhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MjAsMHg4MCwweDEwLDB4OTAsMHhhMCwweGEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OGYgfX0sCi0gezE2LCAweGQ4YzAsIDAsIHsweDBmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmMsMHhjMiwweGU0LDB4ODEsMHg4MCwweDNmIH19LAotIHsxNiwgMHhkOGQwLCAwLCB7MHhkOSwweGJmLDB4ZDksMHg5OCwweDcxLDB4OWQsMHg0MiwweDgwLDB4MDAsMHgyNiwweDdmLDB4ZTYsMHg3MiwweGFiLDB4N2MsMHgzYSB9fSwKLSB7MTYsIDB4ZDhlMCwgMCwgezB4NDAsMHgwMCwweDE5LDB4ODAsMHgyNiwweDQ4LDB4ZGQsMHgzYywweDkxLDB4YzAsMHgyNiwweDQwLDB4MjYsMHg0MCwweDM4LDB4MzEgfX0sCi0gezE2LCAweGQ4ZjAsIDAsIHsweGRiLDB4NjEsMHhjMCwweDE5LDB4OTksMHhiZiwweGM5LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOTAwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHg4MCwweDEwLDB4MTQsMHg4MCwweDA2LDB4ODQsMHg5NywweDk2LDB4ODYsMHg5NiwweDA2LDB4OTAsMHgwMCB9fSwKLSB7MTYsIDB4ZDkxMCwgMCwgezB4M2YsMHhhMSwweDI4LDB4MDEsMHgwMiwweDkwLDB4MTIsMHgwMCwweDgwLDB4MTcsMHg4OCwweDE2LDB4OWUsMHg5MCwweDkwLDB4MDQgfX0sCi0gezE2LCAweGQ5MjAsIDAsIHsweDEwLDB4MDAsMHgzNiwweGJlLDB4YmUsMHg5ZSwweDg2LDB4MTYsMHgxMiwweDg0LDB4ODAsMHgxMywweGJlLDB4OTcsMHhhZSwweDgwIH19LAotIHsxNiwgMHhkOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4MiB9fSwKLSB7MTYsIDB4ZDk0MCwgMCwgezB4ODEsMHg4NCwweDIxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGExLDB4MzgsMHgwMSwweDc4LDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5NTAsIDAsIHsweDA4LDB4YjgsMHgyMSwweDcyLDB4NjgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4OTgsMHg0NCwweDg4LDB4NjgsMHg4MCwweDAwIH19LAotIHsxNiwgMHhkOTYwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHhiOCwweDAxLDB4NzgsMHgwMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDk3MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcsMHhhZiwweGZmLDB4YzAgfX0sCi0gezE2LCAweGQ5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkOTkwLCAwLCB7MHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4YmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGQ5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkOWMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9fSwKLSB7MTYsIDB4ZDlkMCwgMCwgezB4MmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5ZTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweGMwIH19LAotIHsxNiwgMHhkOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZGEwMCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhkYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4YmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmLDB4YmYsMHhkZiB9fSwKLSB7MTYsIDB4ZGEzMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZWYsMHhmZiwweGZmLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYgfX0sCi0gezE2LCAweGRhNDAsIDAsIHsweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTUwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHgzZSwweGFmLDB4ZmYsMHhjMCB9fSwKLSB7MTYsIDB4ZGE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGU3LDB4ZmUgfX0sCi0gezE2LCAweGRhNzAsIDAsIHsweGVmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmNywweGZmLDB4ZmYgfX0sCi0gezE2LCAweGRhYTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGZmLDB4ZmYsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGY3IH19LAotIHsxNiwgMHhkYWIwLCAwLCB7MHhkZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFjMCwgMCwgezB4MDAsMHgwMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4YzMsMHgyYywweDUwLDB4MDksMHgxNCwweDgyLDB4YzQsMHgzMCwweDkxLDB4YzcgfX0sCi0gezE2LCAweGRhZDAsIDAsIHsweDI0LDB4NjAsMHgwOCwweDFjLDB4ODIsMHgwNywweDM0LDB4OTEsMHg0YywweDA0LDB4NDMsMHgwYSwweDEwLDB4YzIsMHg4NCwweDA0IH19LAotIHsxNiwgMHhkYWUwLCAwLCB7MHg5MSwweDg0LDB4MjQsMHg1MiwweDBiLDB4MTgsMHgwMiwweGM0LDB4MjQsMHhiMSwweGMzLDB4MmMsMHg0MCwweDBhLDB4MTAsMHg4MCB9fSwKLSB7MTYsIDB4ZGFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4MDIsMHgwMSwweGM0LDB4ODAgfX0sCi0gezE2LCAweGRiMDAsIDAsIHsweDYwLDB4MjAsMHgxYywweDA4LDB4NDQsMHgyMiwweDAxLDB4YzAsMHg4NCwweDUwLDB4MDEsMHg5YywweDA4LDB4MDcsMHgwYSwweDAxIH19LAotIHsxNiwgMHhkYjEwLCAwLCB7MHhjMCwweDg0LDB4NzIsMHgyMCwweDFjLDB4YzgsMHgwNCwweDEyLDB4MTEsMHg0NCwweDgwLDB4NDEsMHgwMSwweDFjLDB4ODAsMHgwNyB9fSwKLSB7MTYsIDB4ZGIyMCwgMCwgezB4MDgsMHgxMSwweGM0LDB4MDAsMHg3MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDg2LDB4MmMsMHgyMSwweDRhLDB4MGMsMHg1MiwweDAyLDB4MWMsMHg4MCwweDA0LDB4MjAsMHgyMSwweGNhIH19LAotIHsxNiwgMHhkYjQwLCAwLCB7MHgxMCwweDYyLDB4MDIsMHgxYywweDgxLDB4NDcsMHgwNCwweDIxLDB4YzMsMHgyMCwweDUxLDB4MDEsMHgxYywweDgwLDB4MDQsMHgyYyB9fSwKLSB7MTYsIDB4ZGI1MCwgMCwgezB4MDEsMHhjYiwweDA0LDB4NTIsMHgwMywweDE0LDB4NDAsMHhjNywweDIwLDB4MzEsMHhjOCwweDBjLDB4NTAsMHgyMiwweDEwLDB4ODAgfX0sCi0gezE2LCAweGRiNjAsIDAsIHsweDAxLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDIwLDB4MDEsMHg4OSwweDAwIH19LAotIHsxNiwgMHhkYjcwLCAwLCB7MHg1MiwweDAwLDB4MTQsMHg4MCwweDA0LDB4MjgsMHgwMSwweDQ1LDB4MDQsMHg2MiwweDAwLDB4MTAsMHg4MCwweDQ2LDB4MzAsMHgxMSB9fSwKLSB7MTYsIDB4ZGI4MCwgMCwgezB4MGQsMHgwMCwweDQyLDB4MDEsMHgxNCwweGMwLDB4NDQsMHgwMCwweDExLDB4MDUsMHgwMCwweDUwLDB4MDAsMHgxYywweDAwLDB4NDQgfX0sCi0gezE2LCAweGRiOTAsIDAsIHsweDI4LDB4MDEsMHg0OSwweDAwLDB4NzAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYmEwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHhjMCwweDAyLDB4MzAsMHgwYywweDhjLDB4MzAsMHgyMiwweDA4LDB4ODgsMHhjMiwweDI2LDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4ZGJiMCwgMCwgezB4ODAsMHgyMCwweDIyLDB4MGMsMHg4OCwweDgxLDB4MDIsMHgxMCwweGM0LDB4ODAsMHgxMCwweDIyLDB4MGMsMHgwOCwweDQwLDB4MDIgfX0sCi0gezE2LCAweGRiYzAsIDAsIHsweDEwLDB4NDgsMHg4OCwweDAxLDB4MjMsMHgwNCwweGM4LDB4NDIsMHgwMiwweDEwLDB4NDYsMHg4YywweDEyLDB4MjIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYmQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4YzgsMHgyMCB9fSwKLSB7MTYsIDB4ZGJlMCwgMCwgezB4MTEsMHgwOSwweDAwLDB4ODAsMHg0MSwweDEwLDB4OTAsMHgwOCwweDI0LDB4MzAsMHgwOCwweDA0LDB4NDIsMHg0MSwweDAwLDB4OTAgfX0sCi0gezE2LCAweGRiZjAsIDAsIHsweGM0LDB4MjAsMHgwMCwweDA4LDB4MDQsMHg0MiwweDAwLDB4MTAsMHg4MCwweDRjLDB4MjAsMHgyMywweDA5LDB4MDQsMHhjMiwweDQzIH19LAotIHsxNiwgMHhkYzAwLCAwLCB7MHgzMCwweDgwLDB4NDAsMHgyMCwweDExLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGMxMCwgMCwgezB4MDgsMHgwMCwweDA4LDB4ODEsMHgwMiwweDIwLDB4YzksMHg4YywweDEyLDB4MjAsMHgwNCwweDQ4LDB4NDEsMHgyMiwweDAwLDB4MDkgfX0sCi0gezE2LCAweGRjMjAsIDAsIHsweDg4LDB4MzAsMHgyMCwweDBjLDB4ODgsMHgwMywweDBlLDB4MDAsMHg0OSwweDhjLDB4MTAsMHgyMiwweDBjLDB4ODgsMHg0MCwweDJlIH19LAotIHsxNiwgMHhkYzMwLCAwLCB7MHgwMCwweGM5LDB4ODQsMHgxMywweDIxLDB4MDQsMHhjOCwweGMzLDB4MjIsMHgwMCwweGNiLDB4OGMsMHgzMiwweDIyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGM0MCwgMCwgezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDAxLDB4MDIsMHgwMCwweDRiLDB4ODAgfX0sCi0gezE2LCAweGRjNTAsIDAsIHsweDMyLDB4MjEsMHgwOCwweDg4LDB4NDEsMHgwMiwweDEwLDB4MGYsMHg4MCwweDEwLDB4MjEsMHg4YywweDA4LDB4NDEsMHgwMiwweDAwIH19LAotIHsxNiwgMHhkYzYwLCAwLCB7MHg4NywweDg0LDB4MTAsMHgyMCwweDA0LDB4ODgsMHgwMCwweDAyLDB4MDAsMHg0NywweDgwLDB4MTAsMHgyMSwweDBjLDB4ODgsMHg0MSB9fSwKLSB7MTYsIDB4ZGM3MCwgMCwgezB4MTYsMHgxMCwweDQ2LDB4ODAsMHgzMCwweDIwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjODAsIDAsIHsweDAwLDB4MDAsMHgwYSwweGM0LDB4MjIsMHhhMSwweDA4LDB4YTQsMHg3MiwweDJhLDB4MTQsMHgwYSwweDg1LDB4MDIsMHg4MSwweDg0IH19LAotIHsxNiwgMHhkYzkwLCAwLCB7MHhhMCwweDQyLDB4MjgsMHgxYywweDBhLDB4YzUsMHgwMiwweDkxLDB4NDAsMHhiOCwweDczLDB4MjksMHgxMCwweGNhLDB4YzQsMHgwMiB9fSwKLSB7MTYsIDB4ZGNhMCwgMCwgezB4YTEsMHg4MCwweGE0LDB4NDIsMHgyYSwweDE0LDB4Y2EsMHg4NSwweDIyLDB4OTEsMHg4MCwweGE4LDB4NzAsMHgyYSwweDE4LDB4MDIgfX0sCi0gezE2LCAweGRjYjAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwNCwweDFlLDB4MDEsMHhjOCwweDgwIH19LAotIHsxNiwgMHhkY2MwLCAwLCB7MHg0MywweDIwLDB4MTgsMHgwOCwweDQ1LDB4M2UsMHgwMSwweDBjLDB4ODAsMHg2MSwweDIwLDB4OWMsMHg0OCwweDA2LDB4MTIsMHg4MSB9fSwKLSB7MTYsIDB4ZGNkMCwgMCwgezB4YzAsMHg4MCwweDczLDB4MDAsMHgxMCwweDg4LDB4MDYsMHgwMiwweDAxLDB4YzgsMHgwMCwweDQyLDB4MjAsMHgxMCwweGM4LDB4MDcgfX0sCi0gezE2LCAweGRjZTAsIDAsIHsweDAyLDB4MTEsMHhjZCwweDgwLDB4NTEsMHgyMCwweDE0LDB4ODIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkY2YwLCAwLCB7MHgwOCwweDAwLDB4MDAsMHhjNCwweDI0LDB4MjEsMHhjOCwweDBjLDB4NDIsMHgwMSwweDE0LDB4MDAsMHgwMCwweDI4LDB4MTAsMHg0YyB9fSwKLSB7MTYsIDB4ZGQwMCwgMCwgezB4MDgsMHg1MiwweDAyLDB4MTQsMHg4MCwweDQ1LDB4MjQsMHgyOSwweDQwLDB4MDQsMHg3MiwweDAwLDB4MTAsMHhjMCwweDA1LDB4MjQgfX0sCi0gezE2LCAweGRkMTAsIDAsIHsweDExLDB4NDQsMHgwOCwweDQzLDB4MDEsMHgxNCwweGMwLDB4NDcsMHgyNCwweDIwLDB4NDgsMHgwOCwweDcyLDB4MDIsMHgxMCwweDAwIH19LAotIHsxNiwgMHhkZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDAwLDB4MDcsMHgxMCwweDExLDB4MDYsMHgwMCB9fSwKLSB7MTYsIDB4ZGQzMCwgMCwgezB4NzIsMHgwMCwweDE4LDB4ZDAsMHg0NiwweDIwLDB4MDEsMHg0ZCwweDAwLDB4NzEsMHg0MCwweDEwLDB4NTAsMHgwNywweDMwLDB4MTEgfX0sCi0gezE2LCAweGRkNDAsIDAsIHsweGMzLDB4MDAsMHg3MSwweDQxLDB4MTAsMHhiMCwweDA1LDB4MmMsMHgwMSwweDQ5LDB4MDAsMHg0MywweDAwLDB4MWMsMHg1MCwweDQ1IH19LAotIHsxNiwgMHhkZDUwLCAwLCB7MHgzMCwweDAxLDB4OGMsMHgwMCwweDYxLDB4NDAsMHgxOCwweDQyLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ2MCwgMCwgezB4MDAsMHgwMCwweDMwLDB4YzUsMHgwMCwweDIxLDB4YzAsMHgwYywweDQwLDB4MDEsMHgxNCwweDEyLDB4NDQsMHgwNCwweDMxLDB4ODQgfX0sCi0gezE2LCAweGRkNzAsIDAsIHsweDI0LDB4NDAsMHg4MCwweDE0LDB4YTEsMHhjNywweDAwLDB4MDEsMHg0MCwweDA4LDB4NDAsMHgwMSwweDE0LDB4MjAsMHgwNSwweDIwIH19LAotIHsxNiwgMHhkZDgwLCAwLCB7MHgxMSwweGMwLDB4MDIsMHg2MCwweDgyLDB4MTgsMHgwMCwweDg3LDB4MjQsMHgxMSwweDQwLDB4MDgsMHg0MCwweDQyLDB4MTAsMHgwMiB9fSwKLSB7MTYsIDB4ZGQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MGMsMHg4MCwweGM0LDB4MjQgfX0sCi0gezE2LCAweGRkYTAsIDAsIHsweDMxLDB4NDgsMHgwYywweDAwLDB4MDEsMHgwOCwweGMxLDB4NDEsMHgwMCwweDAwLDB4NDksMHgwMCwweDQyLDB4MDMsMHgwOCwweDEwIH19LAotIHsxNiwgMHhkZGIwLCAwLCB7MHg4MCwweDIwLDB4MjEsMHgwOSwweDBjLDB4MDIsMHgwMiwweDE4LDB4ODAsMHhjMSwweDI0LDB4MzAsMHgwOCwweDBjLDB4NDIsMHgwMSB9fSwKLSB7MTYsIDB4ZGRjMCwgMCwgezB4MTAsMHg4MCwweDgzLDB4MjAsMHgxMSwweDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkZDAsIDAsIHsweDAwLDB4MDAsMHgxMCwweGMxLDB4MDQsMHgyMCwweDQ4LDB4MGMsMHgxMiwweDQyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgzMSwweDQ4IH19LAotIHsxNiwgMHhkZGUwLCAwLCB7MHgwMCwweDAyLDB4NDEsMHgwNCwweGEwLDB4MDcsMHgwYywweDIwLDB4NDAsMHgwMCwweDEyLDB4YzIsMHgwYywweDgwLDB4YzEsMHgyMCB9fSwKLSB7MTYsIDB4ZGRmMCwgMCwgezB4MjAsMHhjOCwweDAwLDB4MTIsMHhjMSwweDBjLDB4YjAsMHg0MSwweDIwLDB4MDAsMHg0OSwweDA4LDB4MDIsMHg0MiwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ODAsMHgwMSwweDAwLDB4MTAsMHg4MSwweDAwIH19LAotIHsxNiwgMHhkZTEwLCAwLCB7MHgzMCwweDQwLDB4MDgsMHgyMCwweDAzLDB4MDAsMHgxMCwweGMxLDB4MjAsMHgwMiwweDAwLDB4MDQsMHg4MCwweDQwLDB4MzAsMHg5MCB9fSwKLSB7MTYsIDB4ZGUyMCwgMCwgezB4MDEsMHgxNCwweDAyLDB4NDAsMHgwNCwweDgwLDB4NDAsMHgyMCwweDAwLDB4MDksMHgwNCwweDMyLDB4MDEsMHgwOCwweGEwLDB4MDMgfX0sCi0gezE2LCAweGRlMzAsIDAsIHsweDA0LDB4MTAsMHgwOCwweDAwLDB4MjIsMHg0MCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTQwLCAwLCB7MHgwMCwweDAwLDB4MzAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4ZjAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGU1MCwgMCwgezB4MDAsMHgxMCwweDgwLDB4MDAsMHhmMCwweDAwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHhmMCwweDEwLDB4YTAgfX0sCi0gezE2LCAweGRlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweGYwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgwMCwweGNjIH19LAotIHsxNiwgMHhkZTcwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2MsMHgzYywweDEwLDB4YTAsMHg4MCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGU4MCwgMCwgezB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweGMwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAgfX0sCi0gezE2LCAweGRlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwIH19LAotIHsxNiwgMHhkZWEwLCAwLCB7MHhlMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDhjLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGViMCwgMCwgezB4MDAsMHgwMCwweDA5LDB4NGQsMHhiMSwweGU5LDB4MDAsMHgyNiwweDQwLDB4MmEsMHg3ZiwweGUzLDB4ZjIsMHg1NCwweDk4LDB4YzAgfX0sCi0gezE2LCAweGRlYzAsIDAsIHsweDNmLDB4ZTYsMHg0MCwweDAwLDB4MDEsMHg0MiwweDkxLDB4ZDAsMHhjMCwweDEzLDB4ZTUsMHg4NywweDYzLDB4ODMsMHhiOCwweGNkIH19LAotIHsxNiwgMHhkZWQwLCAwLCB7MHhmOSwweDAwLDB4MjYsMHg3ZiwweDAwLDB4MDAsMHgzNSwweDJlLDB4ZDUsMHgwMywweDQwLDB4M2YsMHhkOSwweGJmLDB4YjEsMHg4MCB9fSwKLSB7MTYsIDB4ZGVlMCwgMCwgezB4MDEsMHhmMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDAyLDB4MTYsMHgxNCwweDAwLDB4MWMgfX0sCi0gezE2LCAweGRlZjAsIDAsIHsweGE4LDB4M2YsMHg4OCwweDE2LDB4MDAsMHg4MCwweDg0LDB4ODAsMHgzNywweDllLDB4YmEsMHhhMCwweDUwLDB4MTAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhkZjAwLCAwLCB7MHgwMCwweDE3LDB4OTYsMHg5NywweDI2LDB4NTAsMHgxMCwweDEwLDB4ODIsMHg4MCwweDFlLDB4ODAsMHhkZSwweGJlLDB4OTQsMHgxNCB9fSwKLSB7MTYsIDB4ZGYxMCwgMCwgezB4MDIsMHgxMCwweDgwLDB4MTcsMHhiZSwweDgxLDB4OTQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTgsMHg0NCwweDk0LDB4MjgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4IH19LAotIHsxNiwgMHhkZjMwLCAwLCB7MHg5NCwweDIxLDB4NDQsMHg1MSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4NCwweDQyLDB4NDEsMHgwMSwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY0MCwgMCwgezB4MDAsMHgwOCwweGExLDB4NzIsMHgyMywweDQxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGI4LDB4MDEsMHg3OCwweDMyLDB4NDAgfX0sCi0gezE2LCAweGRmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhkZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGY3LDB4ZmUsMHhkNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZDcsMHhkZiB9fSwKLSB7MTYsIDB4ZGY3MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM3LDB4N2YgfX0sCi0gezE2LCAweGRmODAsIDAsIHsweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjkwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWUsMHhmZiwweGRlLDB4NzcsMHhjMCB9fSwKLSB7MTYsIDB4ZGZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGVmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfX0sCi0gezE2LCAweGRmYjAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZGZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MWYsMHhjZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4YmYgfX0sCi0gezE2LCAweGRmZTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH19LAotIHsxNiwgMHhkZmYwLCAwLCB7MHhmZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTAwMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAgfX0sCi0gezE2LCAweGUwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweDFmIH19LAotIHsxNiwgMHhlMDIwLCAwLCB7MHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGRmLDB4ZmYsMHhjZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGUwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4YmYsMHhhZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH19LAotIHsxNiwgMHhlMDUwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2UsMHhkZSwweDdmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9fSwKLSB7MTYsIDB4ZTA2MCwgMCwgezB4ZmYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwNzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDdmLDB4ZmYsMHhmZiwweGMwIH19LAotIHsxNiwgMHhlMDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmUsMHhiZSB9fSwKLSB7MTYsIDB4ZTA5MCwgMCwgezB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2UsMHhmZiwweGQ3LDB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGUwLCAwLCB7MHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQzLDB4OGUsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTljMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMiwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDMsMHg4MCB9fSwKLSB7MTYsIDB4ZWYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjAyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHg1ZiwweGE3LDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMyB9fSwKLSB7MTYsIDB4ZmQ0MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MGUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEgfX0sCi0gezE2LCAweGZkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDA1LDB4MzAsMHgwMCwweGEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAxIH19LAotIHsxNiwgMHhmZDkwLCAwLCB7MHgwMCwweDAwLDB4NmIsMHg5NywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7NCwgMHhmZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MCAsIDB4MDAwMCwgMSwgezB9fQotfTsKLS8vIFZFUlNJT049IDEuMC4wLjE5MQotLy8gREFURT0gMjAwMm9jdDI4Ci1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX0hleFNwZGlmRnc2MltdID0gewotICB7MywweDAwMDAsMCx7MHgwMiwweDQ1LDB4Zjl9fSwKLSB7IDMsMHgwMDAzLDAsezB4MDIsMHgwZiwweGZkfX0sCi0geyAzLDB4MDAwYiwwLHsweDAyLDB4NGQsMHg5Yn19LAotIHsgMywweDAwMTMsMCx7MHgwMiwweDE3LDB4ZmR9fSwKLSB7IDMsMHgwMDFiLDAsezB4MDIsMHg0ZCwweDllfX0sCi0geyAzLDB4MDAyMywwLHsweDAyLDB4NGQsMHg3NX19LAotIHsgMywweDAwMmIsMCx7MHgwMiwweDQ2LDB4Zjd9fSwKLSB7IDMsMHgwMDMzLDAsezB4MDIsMHg0ZCwweDZjfX0sCi0geyAzLDB4MDAzYiwwLHsweDAyLDB4NGQsMHg3Y319LAotIHsgMywweDAwNDMsMCx7MHgwMiwweDQ5LDB4MDB9fSwKLSB7IDMsMHgwMDRiLDAsezB4MDIsMHg0ZCwweDhmfX0sCi0geyAzLDB4MDA1MywwLHsweDAyLDB4NGQsMHg4M319LAotIHsgMywweDAwNWIsMCx7MHgwMiwweDRkLDB4ODl9fSwKLSB7IDMsMHgwMDYzLDAsezB4MDIsMHg0ZCwweDkzfX0sCi0gezE2LDB4MDUwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MTEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfX0sCi0gezE2LDB4MDUxMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4YWMsMHgwMSwweDAzLDB4MDEsMHgwMCwweDgwLDB4MzIsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MDUyMCwwLHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MGEsMHgyNCwweDAxLDB4MDAsMHgwMSwweDU2LDB4MDAsMHgwMiwweDAxLDB4MDIsMHgwYywweDI0fX0sCi0gezE2LDB4MDUzMCwwLHsweDAyLDB4MDEsMHgwMSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgyNCwweDA2LDB4MDUsMHgwMSwweDAyfX0sCi0gezE2LDB4MDU0MCwwLHsweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHgyNCwweDAzLDB4MDIsMHgwNCwweDAzLDB4MDAsMHgwNSwweDAwfX0sCi0gezE2LDB4MDU1MCwwLHsweDBjLDB4MjQsMHgwMiwweDAzLDB4MDUsMHgwMiwweDAwLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4MjQsMHgwNiwweDA2fX0sCi0gezE2LDB4MDU2MCwwLHsweDAzLDB4MDIsMHgwMCwweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwfX0sCi0gezE2LDB4MDU3MCwwLHsweDAwLDB4MDksMHgyNCwweDAzLDB4MDQsMHgwMSwweDAxLDB4MDAsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxLDB4MDAsMHgwMCwweDAxfX0sCi0gezE2LDB4MDU4MCwwLHsweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAxLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxfX0sCi0gezE2LDB4MDU5MCwwLHsweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMiwweDEwLDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJifX0sCi0gezE2LDB4MDVhMCwwLHsweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDBhLDB4MDUsMHg4NCwweDAxLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxfX0sCi0gezE2LDB4MDViMCwwLHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNSwweDAwLDB4MDksMHgwNCwweDAxfX0sCi0gezE2LDB4MDVjMCwwLHsweDAyLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyfX0sCi0gezE2LDB4MDVkMCwwLHsweDAxLDB4MDIsMHgwMywweDE4LDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1fX0sCi0gezE2LDB4MDVlMCwwLHsweDBhLDB4MDUsMHg0NiwweDAyLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1fX0sCi0gezE2LDB4MDVmMCwwLHsweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNSwweDAwLDB4MDksMHgwNCwweDAyLDB4MDAsMHgwMCwweDAxLDB4MDIsMHgwMCwweDAwfX0sCi0gezE2LDB4MDYwMCwwLHsweDA5LDB4MDQsMHgwMiwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwfX0sCi0gezE2LDB4MDYxMCwwLHsweDBlLDB4MjQsMHgwMiwweDAxLDB4MDYsMHgwMiwweDEwLDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwOSwweDA1fX0sCi0gezE2LDB4MDYyMCwwLHsweDhjLDB4MDUsMHg0YywweDAyLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0fX0sCi0gezE2LDB4MDYzMCwwLHsweDAyLDB4MDIsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwZSwweDI0fX0sCi0gezE2LDB4MDY0MCwwLHsweDAyLDB4MDEsMHgwNiwweDAzLDB4MTgsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDUsMHg4YywweDA1fX0sCi0gezE2LDB4MDY1MCwwLHsweDcyLDB4MDMsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAzfX0sCi0gezE2LDB4MDY2MCwwLHsweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxfX0sCi0gezE2LDB4MDY3MCwwLHsweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDhjfX0sCi0gezE2LDB4MDY4MCwwLHsweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyfX0sCi0gezE2LDB4MDY5MCwwLHsweDA0LDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyfX0sCi0gezE2LDB4MDZhMCwwLHsweDAxLDB4MDIsMHgwMywweDE4LDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1fX0sCi0gezE2LDB4MDZiMCwwLHsweDhjLDB4MDUsMHg0NiwweDAyLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwNCwweDAzfX0sCi0gezE2LDB4MDZjMCwwLHsweDA5LDB4MDQsMHgxOCwweDAzLDB4NDUsMHgwMCwweDZkLDB4MDAsMHg2MSwweDAwLDB4NjcsMHgwMCwweDY5LDB4MDAsMHg2MywweDAwfX0sCi0gezE2LDB4MDZkMCwwLHsweDIwLDB4MDAsMHg0NywweDAwLDB4NmQsMHgwMCwweDYyLDB4MDAsMHg0OCwweDAwLDB4MjIsMHgwMywweDQ1LDB4MDAsMHg2ZCwweDAwfX0sCi0gezE2LDB4MDZlMCwwLHsweDYxLDB4MDAsMHg2NywweDAwLDB4NjksMHgwMCwweDYzLDB4MDAsMHgyMCwweDAwLDB4NDUsMHgwMCwweDRkLDB4MDAsMHg0OSwweDAwfX0sCi0gezE2LDB4MDZmMCwwLHsweDIwLDB4MDAsMHgzNiwweDAwLDB4N2MsMHgwMCwweDMyLDB4MDAsMHgyMCwweDAwLDB4NmQsMHgwMCwweDJhLDB4MDMsMHg0MywweDAwfX0sCi0gezE2LDB4MDcwMCwwLHsweDZmLDB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDAsMHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwfX0sCi0gezE2LDB4MDcxMCwwLHsweDc0LDB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwfX0sCi0gezE2LDB4MDcyMCwwLHsweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDIyLDB4MDMsMHg0OSwweDAwLDB4NmUsMHgwMCwweDc0LDB4MDAsMHg2NSwweDAwfX0sCi0gezE2LDB4MDczMCwwLHsweDcyLDB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwfX0sCi0gezEwLDB4MDc0MCwwLHsweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MDc0YSwwLHsweDkwLDB4NzYsMHg5YSwweDc0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDkxLDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3NiwweDkwfX0sCi0gezE2LDB4MDc1YSwwLHsweGYwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHg5MCwweDc2LDB4OTYsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGU0fX0sCi0gezE2LDB4MDc2YSwwLHsweDkwLDB4NzYsMHg5NywweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTQsMHgwNCwweGYwLDB4OTAsMHg4MCwweDAwfX0sCi0gezE2LDB4MDc3YSwwLHsweGYwLDB4ZTQsMHg5MCwweDc2LDB4OGUsMHhmMCwweDkwLDB4NzYsMHgxYSwweGYwLDB4OTAsMHg3NiwweDk1LDB4MDQsMHhmMCwweGMyfX0sCi0gezE2LDB4MDc4YSwwLHsweDJlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZiwweDU0LDB4MTAsMHhmZiwweDcwLDB4MDIsMHhjMiwweDNmLDB4OTAsMHg3ZiwweDlifX0sCi0gezE2LDB4MDc5YSwwLHsweGUwLDB4ZmYsMHg1NCwweDEwLDB4ZmUsMHhmZiwweGJlLDB4MTAsMHgwMiwweGQyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmfX0sCi0gezE2LDB4MDdhYSwwLHsweDU0LDB4MjAsMHhmZiwweDcwLDB4MDIsMHhjMiwweDNlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZiwweDU0LDB4MjAsMHhmZSwweGZmfX0sCi0gezE2LDB4MDdiYSwwLHsweGJlLDB4MjAsMHgwMiwweGQyLDB4M2UsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwfX0sCi0gezE2LDB4MDdjYSwwLHsweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwfX0sCi0gezE2LDB4MDdkYSwwLHsweDMwLDB4M2UsMHgwOSwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwfX0sCi0gezE2LDB4MDdlYSwwLHsweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHhhMiwweDNlLDB4OTIsMHg0MCwweGEyfX0sCi0geyAzLDB4MDdmYSwwLHsweDNmLDB4OTIsMHg0MX19LAotIHsgMSwweDA3ZmQsMCx7MHgyMn19LAotIHsgMiwweDA3ZmUsMCx7MHhkMywweDIyfX0sCi0gezE2LDB4MDgwMCwwLHsweGU0LDB4OTAsMHg3NiwweDMxLDB4ZjAsMHg5MCwweDc2LDB4MzEsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfX0sCi0gezE2LDB4MDgxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4MDgyMCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MzEsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4MDgzMCwwLHsweGVmLDB4YjQsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE2LDB4MDg0MCwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MzMsMHhmMCwweDI0fX0sCi0gezE2LDB4MDg1MCwwLHsweGYwLDB4NjAsMHgwYSwweDI0LDB4MGUsMHg2MCwweDAyLDB4ODEsMHg4NywweDEyLDB4NGIsMHgzZSwweDIyLDB4OTAsMHg3ZiwweGVkfX0sCi0gezE2LDB4MDg2MCwwLHsweGUwLDB4NjQsMHgwNSwweDcwLDB4NTEsMHg5MCwweDc2LDB4MTgsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4MzcsMHg3NCwweDAxfX0sCi0gezE2LDB4MDg3MCwwLHsweGYwLDB4OTAsMHg3NiwweDM5LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDIxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgyMCwweGYwfX0sCi0gezE2LDB4MDg4MCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MCwweDJmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fX0sCi0gezE2LDB4MDg5MCwwLHsweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkfX0sCi0gezE2LDB4MDhhMCwwLHsweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3NiwweDIxLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2fX0sCi0gezE2LDB4MDhiMCwwLHsweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMSwweDkwLDB4N2YsMHhlZCwweGUwLDB4NjQsMHgwNiwweDcwLDB4NTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MDhjMCwwLHsweDE4LDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDM3LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM5LDB4NzQsMHgwYSwweGYwfX0sCi0gezE2LDB4MDhkMCwwLHsweDkwLDB4NzYsMHgyMSwweGYwLDB4OTAsMHg3NiwweDIwLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwfX0sCi0gezE2LDB4MDhlMCwwLHsweDJmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MDhmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkLDB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MDkwMCwwLHsweDIxLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxfX0sCi0gezE2LDB4MDkxMCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4MDkyMCwwLHsweGY1LDB4ODMsMHhlMCwweDkwLDB4NzIsMHgyOSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4M2IsMHhmMCwweDkwLDB4NzYsMHgyMSwweGUwfX0sCi0gezE2LDB4MDkzMCwwLHsweGZlLDB4ZWYsMHg2ZSwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVifX0sCi0gezE2LDB4MDk0MCwwLHsweGUwLDB4MTQsMHg2MCwweDEzLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhlMiwweDI0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg3ZiwweDkwfX0sCi0gezE2LDB4MDk1MCwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgxNCwweDcwLDB4N2MsMHg5MCwweDdmfX0sCi0gezE2LDB4MDk2MCwwLHsweGVhLDB4ZTAsMHhmNCwweDcwLDB4NDgsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5fX0sCi0gezE2LDB4MDk3MCwwLHsweGUwLDB4ZmUsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZkLDB4YzMsMHg5ZSwweDUwLDB4MmIsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZlfX0sCi0gezE2LDB4MDk4MCwwLHsweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmUsMHhlZCwweDc1fX0sCi0gezE2LDB4MDk5MCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4MDlhMCwwLHsweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhjNywweDkwLDB4NzYsMHgzZiwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZSwweGMwfX0sCi0gezE2LDB4MDliMCwwLHsweGUwLDB4ZmUsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MDljMCwwLHsweGVlLDB4ZjAsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHgzZSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDUsMHhlNCwweDkwfX0sCi0gezE2LDB4MDlkMCwwLHsweDc2LDB4M2UsMHhmMCwweDkwLDB4NzYsMHgzZiwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfX0sCi0gezE2LDB4MDllMCwwLHsweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg3MCwweDAyLDB4NDEsMHhhMywweDE0LDB4NzAsMHgwMiwweDYxfX0sCi0gezE2LDB4MDlmMCwwLHsweDNmLDB4MTQsMHg3MCwweDAyLDB4NjEsMHhkYiwweDI0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg3NywweDkwLDB4N2YsMHhlYSwweGUwfX0sCi0gezE2LDB4MGEwMCwwLHsweGY0LDB4NzAsMHg2YiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmfX0sCi0gezE2LDB4MGExMCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NTAsMHg0ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwfX0sCi0gezE2LDB4MGEyMCwwLHsweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhfX0sCi0gezE2LDB4MGEzMCwwLHsweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYiwweGUwfX0sCi0gezE2LDB4MGE0MCwwLHsweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlfX0sCi0gezE2LDB4MGE1MCwwLHsweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwfX0sCi0gezE2LDB4MGE2MCwwLHsweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDQwLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlfX0sCi0gezE2LDB4MGE3MCwwLHsweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyfX0sCi0gezE2LDB4MGE4MCwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhfX0sCi0gezE2LDB4MGE5MCwwLHsweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHg0MSwweDc0fX0sCi0gezE2LDB4MGFhMCwwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDY2LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2fX0sCi0gezE2LDB4MGFiMCwwLHsweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyfX0sCi0gezE2LDB4MGFjMCwwLHsweDgxLDB4OGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MGFkMCwwLHsweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MGFlMCwwLHsweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1fX0sCi0gezE2LDB4MGFmMCwwLHsweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1fX0sCi0gezE2LDB4MGIwMCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGEyfX0sCi0gezE2LDB4MGIxMCwwLHsweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlfX0sCi0gezE2LDB4MGIyMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1fX0sCi0gezE2LDB4MGIzMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwfX0sCi0gezE2LDB4MGI0MCwwLHsweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4MGI1MCwwLHsweDM5LDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDgxLDB4OGUsMHg5MCwweDc2fX0sCi0gezE2LDB4MGI2MCwwLHsweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwfX0sCi0gezE2LDB4MGI3MCwwLHsweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4MGI4MCwwLHsweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlfX0sCi0gezE2LDB4MGI5MCwwLHsweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4MGJhMCwwLHsweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMiwweDkwLDB4N2UsMHhjMCwweGUwfX0sCi0gezE2LDB4MGJiMCwwLHsweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MGJjMCwwLHsweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0fX0sCi0gezE2LDB4MGJkMCwwLHsweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0fX0sCi0gezE2LDB4MGJlMCwwLHsweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZiwweDkwfX0sCi0gezE2LDB4MGJmMCwwLHsweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg4MSwweDhlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0fX0sCi0gezE2LDB4MGMwMCwwLHsweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwfX0sCi0gezE2LDB4MGMxMCwwLHsweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNifX0sCi0gezE2LDB4MGMyMCwwLHsweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmfX0sCi0gezE2LDB4MGMzMCwwLHsweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwfX0sCi0gezE2LDB4MGM0MCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTIsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwfX0sCi0gezE2LDB4MGM1MCwwLHsweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4MGM2MCwwLHsweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MGM3MCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfX0sCi0gezE1LDB4MGM4MCwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDBjOGYsMCx7MHg0MSwweDc2LDB4NjgsMHgwMSwweDQxLDB4NzYsMHg2YSwweDAyLDB4NDEsMHg3NiwweDZiLDB4MGEsMHhjMSwweDIwLDB4YzEsMHgyMX19LAotIHsgMiwweDBjOWYsMCx7MHhjMSwweDJmfX0sCi0geyA0LDB4MGNhMSwwLHsweDQxLDB4NzYsMHgyMywweDAwfX0sCi0gezE2LDB4MGNhNSwwLHsweDQxLDB4NzIsMHgwMSwweDAxLDB4NDUsMHg3MiwweDA1LDB4MDAsMHgwMiwweGM5LDB4MDAsMHgwMCwweDQ1LDB4NzIsMHgwYSwweDAwfX0sCi0gezE2LDB4MGNiNSwwLHsweDAxLDB4MDIsMHgwMywweDA0LDB4NGQsMHg3MiwweDBmLDB4ZDEsMHgwMCwweGQxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGNjNSwwLHsweDI4LDB4MjgsMHgwOSwweDAwLDB4NGQsMHg3MiwweDFjLDB4MDEsMHgwMCwweDAxLDB4MDIsMHgwMywweDA0LDB4MDUsMHgwNiwweDA3fX0sCi0gezE2LDB4MGNkNSwwLHsweDA4LDB4MDksMHgwYSwweDBiLDB4NDEsMHg3MiwweDJlLDB4MjIsMHg0MSwweDcyLDB4MmYsMHgyMywweDQxLDB4NzIsMHgzMCwweDIwfX0sCi0gezE2LDB4MGNlNSwwLHsweDQxLDB4NzIsMHgzMSwweDIxLDB4NjIsMHhkMiwweDcyLDB4M2EsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGNmNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQwNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQxNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQyNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQzNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQ0NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQ1NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQ2NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQ3NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfX0sCi0gezE2LDB4MGQ4NSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfX0sCi0gezE2LDB4MGQ5NSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfX0sCi0gezE2LDB4MGRhNSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfX0sCi0gezE2LDB4MGRiNSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfX0sCi0gezE2LDB4MGRjNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfX0sCi0gezE2LDB4MGRkNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfX0sCi0gezE2LDB4MGRlNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfX0sCi0gezE2LDB4MGRmNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfX0sCi0gezE2LDB4MGUwNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfX0sCi0gezE2LDB4MGUxNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfX0sCi0gezE2LDB4MGUyNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfX0sCi0gezE2LDB4MGUzNSwwLHsweDAzLDB4MDMsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fX0sCi0gezE2LDB4MGU0NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fX0sCi0gezE2LDB4MGU1NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fX0sCi0gezE2LDB4MGU2NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fX0sCi0gezE2LDB4MGU3NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fX0sCi0gezE2LDB4MGU4NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fX0sCi0gezE2LDB4MGU5NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fX0sCi0gezE2LDB4MGVhNSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNiwweDA2fX0sCi0gezE2LDB4MGViNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fX0sCi0gezE2LDB4MGVjNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fX0sCi0gezE2LDB4MGVkNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fX0sCi0gezE2LDB4MGVlNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNywweDA3LDB4MDcsMHgwOCwweDA4fX0sCi0gezE2LDB4MGVmNSwwLHsweDA4LDB4MDksMHgwOSwweDA5LDB4MGEsMHgwYSwweDBhLDB4MGIsMHgwYiwweDBiLDB4MGMsMHgwYywweDBjLDB4MGQsMHgwZCwweDBkfX0sCi0gezE2LDB4MGYwNSwwLHsweDBlLDB4MGUsMHgwZSwweDBmLDB4MGYsMHgwZiwweDEwLDB4MTAsMHgxMCwweDExLDB4MTEsMHgxMSwweDEyLDB4MTIsMHgxMiwweDEzfX0sCi0gezE2LDB4MGYxNSwwLHsweDEzLDB4MTMsMHgxNCwweDE0LDB4MTQsMHgxNSwweDE1LDB4MTUsMHgxNiwweDE2LDB4MTYsMHgxNywweDE3LDB4MTcsMHgxOCwweDE4fX0sCi0gezE2LDB4MGYyNSwwLHsweDE4LDB4MTksMHgxOSwweDE5LDB4MTksMHgxYSwweDFhLDB4MWEsMHgxYSwweDFiLDB4MWIsMHgxYiwweDFiLDB4MWMsMHgxYywweDFjfX0sCi0gezE2LDB4MGYzNSwwLHsweDFjLDB4MWQsMHgxZCwweDFkLDB4MWQsMHgxZSwweDFlLDB4MWUsMHgxZSwweDFmLDB4MWYsMHgxZiwweDFmLDB4MjAsMHgyMCwweDIwfX0sCi0gezE2LDB4MGY0NSwwLHsweDIxLDB4MjEsMHgyMSwweDIyLDB4MjIsMHgyMiwweDIzLDB4MjMsMHgyNCwweDI0LDB4MjUsMHgyNSwweDI2LDB4MjYsMHgyNywweDI3fX0sCi0gezE2LDB4MGY1NSwwLHsweDI4LDB4MjgsMHgyOSwweDI5LDB4MmEsMHgyYSwweDJiLDB4MmIsMHgyYywweDJjLDB4MmQsMHgyZCwweDJlLDB4MmUsMHgyZiwweDJmfX0sCi0gezE2LDB4MGY2NSwwLHsweDMwLDB4MzAsMHgzMSwweDMxLDB4MzIsMHgzMiwweDMzLDB4MzMsMHgzNCwweDM0LDB4MzUsMHgzNSwweDM2LDB4MzYsMHgzNywweDM3fX0sCi0gezE2LDB4MGY3NSwwLHsweDM4LDB4MzgsMHgzOSwweDM5LDB4M2EsMHgzYSwweDNiLDB4M2MsMHgzZCwweDNlLDB4M2YsMHg0MCwweDQxLDB4NDIsMHg0MywweDQ0fX0sCi0gezE2LDB4MGY4NSwwLHsweDQ1LDB4NDYsMHg0NywweDQ4LDB4NDksMHg0OSwweDRhLDB4NGIsMHg0YiwweDRjLDB4NGQsMHg0ZSwweDRmLDB4NTAsMHg1MSwweDUyfX0sCi0gezE2LDB4MGY5NSwwLHsweDUzLDB4NTQsMHg1NSwweDU1LDB4NTYsMHg1NiwweDU3LDB4NTcsMHg1OCwweDVhLDB4NWIsMHg1ZCwweDVlLDB4NWYsMHg2MSwweDYyfX0sCi0gezE2LDB4MGZhNSwwLHsweDYzLDB4NjQsMHg2NSwweDY2LDB4NjcsMHg2OCwweDY5LDB4NmEsMHg2YiwweDZjLDB4NmQsMHg2ZiwweDcxLDB4NzIsMHg3MywweDc0fX0sCi0gezE2LDB4MGZiNSwwLHsweDc1LDB4NzYsMHg3NywweDc4LDB4NzksMHg3YSwweDdiLDB4N2MsMHg3ZSwweDgwLDB4MDEsMHgzNywweDAxLDB4MDEsMHgzOCwweDAwfX0sCi0geyAxLDB4MGZjNSwwLHsweDAwfX0sCi0gezE2LDB4MGZjNiwwLHsweGU0LDB4ZmYsMHg3NCwweDQ2LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDIwfX0sCi0gezE2LDB4MGZkNiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHg0ZSwweDJmLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MGZlNiwwLHsweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzfX0sCi0geyA2LDB4MGZmNiwwLHsweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhjY319LAotIHsgMSwweDBmZmMsMCx7MHgyMn19LAotIHsgMywweDBmZmQsMCx7MHhjMiwweDg5LDB4MzJ9fSwKLSB7MTYsMHgxMDAwLDAsezB4ZTQsMHg5MCwweDc2LDB4MmMsMHhmMCwweDkwLDB4NzYsMHgyYywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9fSwKLSB7MTYsMHgxMDEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHgxMDIwLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyYywweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHgxMDMwLDAsezB4ZWYsMHhiNCwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHgxMDQwLDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyZSwweGYwLDB4MjR9fSwKLSB7MTYsMHgxMDUwLDAsezB4ZjAsMHg2MCwweDBhLDB4MjQsMHgwZiwweDYwLDB4MDIsMHg4MSwweDdkLDB4MTIsMHg0YiwweDFiLDB4MjIsMHg5MCwweDdmLDB4ZWR9fSwKLSB7MTYsMHgxMDYwLDAsezB4ZTAsMHg2NCwweDA1LDB4NzAsMHg1MSwweDkwLDB4NzYsMHgxOCwweDc0LDB4MDUsMHhmMCwweDkwLDB4NzYsMHgzOCwweDc0LDB4MDF9fSwKLSB7MTYsMHgxMDcwLDAsezB4ZjAsMHg5MCwweDc2LDB4M2EsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MWMsMHhmMCwweGU0LDB4OTAsMHg3NiwweDFiLDB4ZjB9fSwKLSB7MTYsMHgxMDgwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwLDB4MmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9fSwKLSB7MTYsMHgxMDkwLDAsezB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmR9fSwKLSB7MTYsMHgxMGEwLDAsezB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2LDB4MWMsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMGIwLDAsezB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHg2NCwweDA2LDB4NzAsMHg1MiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMGMwLDAsezB4MTgsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4MzgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4M2EsMHg3NCwweDBhLDB4ZjB9fSwKLSB7MTYsMHgxMGQwLDAsezB4OTAsMHg3NiwweDFjLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjB9fSwKLSB7MTYsMHgxMGUwLDAsezB4MmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgxMGYwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmQsMHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMTAwLDAsezB4MWMsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDF9fSwKLSB7MTYsMHgxMTEwLDAsezB4ZTQsMHg5MCwweDc2LDB4MWUsMHhmMCwweDkwLDB4NzYsMHgxYywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZlLDB4NmZ9fSwKLSB7MTYsMHgxMTIwLDAsezB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NjB9fSwKLSB7MTYsMHgxMTMwLDAsezB4MTMsMHgxNCwweDcwLDB4MDIsMHgyMSwweGJmLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDc1LDB4OTAsMHg3ZiwweGI0LDB4ZTB9fSwKLSB7MTYsMHgxMTQwLDAsezB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDZiLDB4OTAsMHg3ZiwweGVhLDB4ZTB9fSwKLSB7MTYsMHgxMTUwLDAsezB4ZjQsMHg3MCwweDRhLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgxMTYwLDAsezB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZCwweGMzLDB4OWYsMHg1MCwweDJiLDB4ZWQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWJ9fSwKLSB7MTYsMHgxMTcwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjB9fSwKLSB7MTYsMHgxMTgwLDAsezB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTB9fSwKLSB7MTYsMHgxMTkwLDAsezB4MDQsMHhmMCwweDgwLDB4YzcsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHhlZSwweDc1LDB4ZjB9fSwKLSB7MTYsMHgxMWEwLDAsezB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjB9fSwKLSB7MTYsMHgxMWIwLDAsezB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9fSwKLSB7MTYsMHgxMWMwLDAsezB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZSwweDcwLDB4MDIsMHg0MSwweDdlLDB4MTQsMHg3MCwweDAyLDB4NjEsMHgyMywweDE0LDB4NzB9fSwKLSB7MTYsMHgxMWQwLDAsezB4MDIsMHg2MSwweGM4LDB4MjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDZkLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmR9fSwKLSB7MTYsMHgxMWUwLDAsezB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWJ9fSwKLSB7MTYsMHgxMWYwLDAsezB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgxMjAwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmR9fSwKLSB7MTYsMHgxMjEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWR9fSwKLSB7MTYsMHgxMjIwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjB9fSwKLSB7MTYsMHgxMjMwLDAsezB4NzQsMHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTB9fSwKLSB7MTYsMHgxMjQwLDAsezB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWJ9fSwKLSB7MTYsMHgxMjUwLDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTB9fSwKLSB7MTYsMHgxMjYwLDAsezB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgxMjcwLDAsezB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxMjgwLDAsezB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2F9fSwKLSB7MTYsMHgxMjkwLDAsezB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9fSwKLSB7MTYsMHgxMmEwLDAsezB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmR9fSwKLSB7MTYsMHgxMmIwLDAsezB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHgxMmMwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMmQwLDAsezB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWZ9fSwKLSB7MTYsMHgxMmUwLDAsezB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjV9fSwKLSB7MTYsMHgxMmYwLDAsezB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgxMzAwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWZ9fSwKLSB7MTYsMHgxMzEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9fSwKLSB7MTYsMHgxMzIwLDAsezB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmQsMHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMzMwLDAsezB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTB9fSwKLSB7MTYsMHgxMzQwLDAsezB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmV9fSwKLSB7MTYsMHgxMzUwLDAsezB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9fSwKLSB7MTYsMHgxMzYwLDAsezB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgxMzcwLDAsezB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgxMzgwLDAsezB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMzkwLDAsezB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9fSwKLSB7MTYsMHgxM2EwLDAsezB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHgxM2IwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDF9fSwKLSB7MTYsMHgxM2MwLDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTB9fSwKLSB7MTYsMHgxM2QwLDAsezB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTB9fSwKLSB7MTYsMHgxM2UwLDAsezB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgxM2YwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjV9fSwKLSB7MTYsMHgxNDAwLDAsezB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjV9fSwKLSB7MTYsMHgxNDEwLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwLDB4NzR9fSwKLSB7MTYsMHgxNDIwLDAsezB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDR9fSwKLSB7MTYsMHgxNDMwLDAsezB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTB9fSwKLSB7MTYsMHgxNDQwLDAsezB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTB9fSwKLSB7MTYsMHgxNDUwLDAsezB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgxNDYwLDAsezB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9fSwKLSB7MTYsMHgxNDcwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9fSwKLSB7IDUsMHgxNDgwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDE0ODUsMCx7MHg3NCwweDAwLDB4ZjUsMHg4NiwweDkwLDB4ZmQsMHhhNSwweDdjLDB4MDUsMHhhMywweGU1LDB4ODIsMHg0NSwweDgzLDB4NzAsMHhmOX19LAotIHsgMSwweDE0OTUsMCx7MHgyMn19LAotIHsxNiwweDE0OTYsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDQzLDB4ODcsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn19LAotIHsxNiwweDE0YTYsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHg4ZCwweGUwLDB4YzAsMHhlMH19LAotIHsxNiwweDE0YjYsMCx7MHg4YywweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4N2QsMHgwMH19LAotIHsxNiwweDE0YzYsMCx7MHg5MCwweDdmLDB4ZTMsMHg3NCwweDdiLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweDdjLDB4MTEsMHg5MCwweDdmLDB4OTksMHhlMH19LAotIHsxNiwweDE0ZDYsMCx7MHg1NCwweDQwLDB4ZGMsMHgwMywweDAyLDB4MTQsMHhmMywweGI0LDB4MDAsMHgxMywweDkwLDB4N2YsMHhlMiwweDc0LDB4NDAsMHhmMH19LAotIHsxNiwweDE0ZTYsMCx7MHg5MCwweDdmLDB4ZTUsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDAyLDB4MTQsMHhkMiwweDkwLDB4NzYsMHg5MH19LAotIHsxNiwweDE0ZjYsMCx7MHhlMCwweGI0LDB4MDEsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMH19LAotIHsxNiwweDE1MDYsMCx7MHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4NTcsMHhiNCwweDAyLDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MH19LAotIHsxNiwweDE1MTYsMCx7MHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNSwweDk2LDB4YjQsMHgwMywweDEyLDB4OTAsMHg3Nn19LAotIHsxNiwweDE1MjYsMCx7MHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHhlMX19LAotIHsxNiwweDE1MzYsMCx7MHhiNCwweDA0LDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MH19LAotIHsxNiwweDE1NDYsMCx7MHg3ZiwweDZjLDB4MDIsMHgxNiwweDEwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNn19LAotIHsxNiwweDE1NTYsMCx7MHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZjIsMHg3ZH19LAotIHsxNiwweDE1NjYsMCx7MHgwMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNH19LAotIHsxNiwweDE1NzYsMCx7MHgwMCwweDA1LDB4MDUsMHg4NiwweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMH19LAotIHsxNiwweDE1ODYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhkNCwweDAyLDB4MTYsMHg0MH19LAotIHsxNiwweDE1OTYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH19LAotIHsxNiwweDE1YTYsMCx7MHhmMCwweGYwLDB4ZGQsMHhlYywweDdkLDB4MDIsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDE1YjYsMCx7MHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NH19LAotIHsxNiwweDE1YzYsMCx7MHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH19LAotIHsgNiwweDE1ZDYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9fSwKLSB7MTYsMHgxNWRjLDAsezB4ZGQsMHhjZSwweDAyLDB4MTYsMHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmYSwweDdkLDB4MDIsMHgwNSwweDg2LDB4OTB9fSwKLSB7MTYsMHgxNWVjLDAsezB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1LDB4ODZ9fSwKLSB7MTYsMHgxNWZjLDAsezB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGR9fSwKLSB7MTYsMHgxNjBjLDAsezB4ZGMsMHgwMiwweDE2LDB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGY4LDB4N2QsMHgwMiwweDA1LDB4ODZ9fSwKLSB7MTYsMHgxNjFjLDAsezB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDV9fSwKLSB7MTYsMHgxNjJjLDAsezB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjB9fSwKLSB7MTYsMHgxNjNjLDAsezB4ZjAsMHhmMCwweGRkLDB4ZGEsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODZ9fSwKLSB7MTYsMHgxNjRjLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmZ9fSwKLSB7IDUsMHgxNjVjLDAsezB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn19LAotIHsxNiwweDE2NjEsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4OTAsMHg3NiwweDdjLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMH19LAotIHsxNiwweDE2NzEsMCx7MHg5MCwweDc2LDB4N2QsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwLDB4OTAsMHg3NiwweDdlLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMH19LAotIHsgOSwweDE2ODEsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9fSwKLSB7MTYsMHgxNjhhLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODN9fSwKLSB7MTYsMHgxNjlhLDAsezB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGJmLDB4MDAsMHgwMywweDAyLDB4MTd9fSwKLSB7MTYsMHgxNmFhLDAsezB4MDEsMHg5MCwweDdmLDB4OTYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxNmJhLDAsezB4NjIsMHhlMCwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4N2Z9fSwKLSB7MTYsMHgxNmNhLDAsezB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDc2LDB4OGUsMHhlMCwweGI0LDB4MDEsMHgwNSwweDA1LDB4ODZ9fSwKLSB7MTYsMHgxNmRhLDAsezB4MDIsMHgxNiwweGY2LDB4YjQsMHgwMiwweDA1LDB4MDUsMHg4NiwweDAyLDB4MTYsMHhlYiwweDA1LDB4ODYsMHgwMiwweDE2LDB4ZmJ9fSwKLSB7MTYsMHgxNmVhLDAsezB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZGYsMHhmOCwweDAyLDB4MTYsMHhmYiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZGZ9fSwKLSB7MTYsMHgxNmZhLDAsezB4ZmEsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODYsMHhkMCwweDgzLDB4ZDB9fSwKLSB7MTIsMHgxNzBhLDAsezB4ODIsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfX0sCi0gezE2LDB4MTcxNiwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4ZDEsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifX0sCi0gezEwLDB4MTcyNiwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfX0sCi0gezE2LDB4MTczMCwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4NzgsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifX0sCi0gezEwLDB4MTc0MCwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfX0sCi0geyA3LDB4MTc0YSwwLHsweDkwLDB4N2YsMHhjNSwweDc0LDB4MDIsMHhmMCwweDIyfX0sCi0gezE2LDB4MTc1MSwwLHsweDkwLDB4N2UsMHhjMCwweGUwLDB4OTAsMHg3NiwweDQ1LDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweDkwLDB4NzYsMHg0NCwweGYwfX0sCi0gezE2LDB4MTc2MSwwLHsweDkwLDB4N2UsMHhjMiwweGUwLDB4OTAsMHg3NiwweDQzLDB4ZjAsMHhiNCwweDAwLDB4MDMsMHgwMiwweDE3LDB4NzgsMHg5MCwweDc2fX0sCi0gezE2LDB4MTc3MSwwLHsweDE5LDB4NzQsMHgwMywweGYwLDB4MDIsMHgxNywweDhlLDB4OTAsMHg3NiwweDQ0LDB4ZTAsMHhiNCwweGJiLDB4MDksMHg5MCwweDc2fX0sCi0gezE2LDB4MTc4MSwwLHsweDE5LDB4NzQsMHgwMiwweGYwLDB4MDIsMHgxNywweDhlLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDQyfX0sCi0geyAzLDB4MTc5MSwwLHsweGU0LDB4ZjAsMHgyMn19LAotIHsgNCwweDE3OTQsMCx7MHg4ZCwweDI5LDB4OGIsMHgyYX19LAotIHsxNiwweDE3OTgsMCx7MHgxMiwweDQ5LDB4ZmYsMHhlYSwweDQ5LDB4NjAsMHg1NywweDEyLDB4MzYsMHg5MiwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYX19LAotIHsxNiwweDE3YTgsMCx7MHhjOSwweGVmLDB4YzksMHg3NSwweDJiLDB4ZmYsMHhmNSwweDJjLDB4ODksMHgyZCwweGFiLDB4MmIsMHhhYSwweDJjLDB4YTksMHgyZH19LAotIHsxNiwweDE3YjgsMCx7MHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHhmZiwweDY0LDB4MDQsMHg2MCwweDA1LDB4ZWYsMHg2NCwweDA1LDB4NzAsMHgyZX19LAotIHsxNiwweDE3YzgsMCx7MHhlZiwweGI0LDB4MDQsMHgxNSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MzYsMHhhYiwweDY1LDB4MjksMHg3MCwweDBiLDB4OTAsMHgwMH19LAotIHsxNiwweDE3ZDgsMCx7MHgwMywweDEyLDB4MzYsMHhhYiwweDY1LDB4MmEsMHg3MCwweDAxLDB4MjIsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZn19LAotIHsxNiwweDE3ZTgsMCx7MHhlZSwweDNhLDB4YzksMHhlZiwweGM5LDB4NzUsMHgyYiwweGZmLDB4ZjUsMHgyYywweDg5LDB4MmQsMHg4MCwweGJjLDB4N2IsMHgwMH19LAotIHsgNCwweDE3ZjgsMCx7MHg3YSwweDAwLDB4NzksMHgwMH19LAotIHsgMSwweDE3ZmMsMCx7MHgyMn19LAotIHsgMywweDE3ZmQsMCx7MHhjMiwweDhiLDB4MzJ9fSwKLSB7MTYsMHgxODAwLDAsezB4OTAsMHg3NiwweDkwLDB4ZTAsMHgxNCwweDYwLDB4MzcsMHgxNCwweDcwLDB4MDIsMHgwMSwweGQ4LDB4MTQsMHg3MCwweDAyLDB4MjF9fSwKLSB7MTYsMHgxODEwLDAsezB4NzIsMHgxNCwweDcwLDB4MDIsMHg0MSwweDNiLDB4MjQsMHgwNCwweDYwLDB4MDIsMHg2MSwweDAzLDB4OTAsMHg3ZiwweGZjLDB4NzR9fSwKLSB7MTYsMHgxODIwLDAsezB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NTR9fSwKLSB7MTYsMHgxODMwLDAsezB4MDUsMHhmMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4MWEsMHhmMCwweGMyLDB4MmUsMHgyMiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxODQwLDAsezB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODB9fSwKLSB7MTYsMHgxODUwLDAsezB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTB9fSwKLSB7MTYsMHgxODYwLDAsezB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDIyLDB4OTB9fSwKLSB7MTYsMHgxODcwLDAsezB4N2YsMHhmYywweDc0LDB4NzQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmJ9fSwKLSB7MTYsMHgxODgwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODB9fSwKLSB7MTYsMHgxODkwLDAsezB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyMiwweDkwLDB4N2YsMHhmYywweDc0LDB4NjgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmN9fSwKLSB7MTYsMHgxOGEwLDAsezB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTB9fSwKLSB7MTYsMHgxOGIwLDAsezB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmV9fSwKLSB7MTYsMHgxOGMwLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmJ9fSwKLSB7MTYsMHgxOGQwLDAsezB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyLDB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmZSwweGYwLDB4NDR9fSwKLSB7MTYsMHgxOGUwLDAsezB4MDIsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9fSwKLSB7MTYsMHgxOGYwLDAsezB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDF9fSwKLSB7MTYsMHgxOTAwLDAsezB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDIyLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHgzMCwweGYwLDB4OTB9fSwKLSB7MTYsMHgxOTEwLDAsezB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmIsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTR9fSwKLSB7MTYsMHgxOTIwLDAsezB4ZmQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDIyLDB4OTB9fSwKLSB7MTYsMHgxOTMwLDAsezB4N2YsMHhmYywweDc0LDB4MWMsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmZ9fSwKLSB7MTYsMHgxOTQwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODB9fSwKLSB7MTYsMHgxOTUwLDAsezB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTd9fSwKLSB7MTYsMHgxOTYwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDJ9fSwKLSB7MTYsMHgxOTcwLDAsezB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4NDQsMHgwOCwweGYwLDB4MzB9fSwKLSB7MTYsMHgxOTgwLDAsezB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTB9fSwKLSB7MTYsMHgxOTkwLDAsezB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxOWEwLDAsezB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzR9fSwKLSB7MTYsMHgxOWIwLDAsezB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmIsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTR9fSwKLSB7MTYsMHgxOWMwLDAsezB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDI1LDB4OTB9fSwKLSB7MTYsMHgxOWQwLDAsezB4N2YsMHhmYywweDc0LDB4YzgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmZ9fSwKLSB7MTYsMHgxOWUwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjB9fSwKLSB7MTYsMHgxOWYwLDAsezB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4OTgsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxYTAwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDVmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmR9fSwKLSB7MTYsMHgxYTEwLDAsezB4ZjAsMHg0NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDl9fSwKLSB7MTYsMHgxYTIwLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTYsMHgxYTMwLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyLDB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9fSwKLSB7MTYsMHgxYTQwLDAsezB4ZmUsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDQ0LDB4MDgsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODB9fSwKLSB7MTYsMHgxYTUwLDAsezB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTB9fSwKLSB7MTYsMHgxYTYwLDAsezB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDI1LDB4OTB9fSwKLSB7MTYsMHgxYTcwLDAsezB4N2YsMHhmYywweDc0LDB4YjQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmJ9fSwKLSB7MTYsMHgxYTgwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjB9fSwKLSB7MTYsMHgxYTkwLDAsezB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4YjAsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxYWEwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDJ9fSwKLSB7MTYsMHgxYWIwLDAsezB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDN9fSwKLSB7MTYsMHgxYWMwLDAsezB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGZ9fSwKLSB7MTYsMHgxYWQwLDAsezB4NzQsMHg1ZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg0NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxYWUwLDAsezB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjB9fSwKLSB7MTYsMHgxYWYwLDAsezB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDJ9fSwKLSB7IDQsMHgxYjAwLDAsezB4ZjAsMHhkMiwweDJlLDB4MjJ9fSwKLSB7MTYsMHgxYjA0LDAsezB4MzAsMHgyYywweDM4LDB4YzIsMHgyYywweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2N9fSwKLSB7MTYsMHgxYjE0LDAsezB4NzQsMHhjMCwweGYwLDB4YTMsMHg3NCwweDE0LDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBkLDB4ZTR9fSwKLSB7MTYsMHgxYjI0LDAsezB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4MTAsMHhmMCwweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGJ9fSwKLSB7MTIsMHgxYjM0LDAsezB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHgxOCwweGYwLDB4YTMsMHhmMCwweDIyfX0sCi0gezE2LDB4MWI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWUwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWUxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWUyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWUzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE0LDB4MWViMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7IDIsMHgxZjNlLDAsezB4MDAsMHgwMH19LAotIHsxNiwweDFmNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNCwweDIzNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjUwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjUxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjUyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjUzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjYzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE0LDB4MjZlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNmZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzBjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzFjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzJjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzNjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzRjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzVjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzdjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzhjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzljLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2FjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2JjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2NjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2RjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2VjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7IDUsMHgyN2ZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn19LAotIHsxNiwweDI4MDEsMCx7MHhjMiwweDIwLDB4YzIsMHgyMSwweGMyLDB4MmEsMHg5MCwweDdmLDB4ZTgsMHhlMCwweDEyLDB4MzcsMHhmOSwweDI4LDB4MzAsMHgwMH19LAotIHsxNiwweDI4MTEsMCx7MHgyOCwweDhjLDB4MDEsMHgyOCwweGEyLDB4MDIsMHgyYSwweDFmLDB4MjEsMHgyYSwweDZhLDB4MjIsMHgyOSwweDNkLDB4ODAsMHgyOX19LAotIHsxNiwweDI4MjEsMCx7MHg3ZCwweDgxLDB4MjksMHhkMSwweDgyLDB4MmEsMHg4NCwweGExLDB4MmEsMHhiYSwweGEyLDB4MDAsMHgwMCwweDJhLDB4YmYsMHg5MH19LAotIHsxNiwweDI4MzEsMCx7MHg3ZiwweGU5LDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgyNCwweGZlLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDNiLDB4MjQsMHhmY319LAotIHsxNiwweDI4NDEsMCx7MHg3MCwweDQwLDB4MTIsMHg0YiwweGEwLDB4NDEsMHhjYiwweDEyLDB4NGQsMHhhNywweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3Zn19LAotIHsxNiwweDI4NTEsMCx7MHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4YzIsMHgyMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsxNiwweDI4NjEsMCx7MHg0MSwweGNiLDB4MTIsMHg0ZCwweGE5LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhkMiwweDIyLDB4NDEsMHhjYn19LAotIHsxNiwweDI4NzEsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsxNiwweDI4ODEsMCx7MHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNH19LAotIHsxNiwweDI4OTEsMCx7MHhmNSwweDcwLDB4MDUsMHgxMiwweDQ4LDB4MDAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MX19LAotIHsxNiwweDI4YTEsMCx7MHhjYiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZCwweDYwLDB4NTQsMHgyNCwweDAyLDB4NjAsMHgwMiwweDIxLDB4MzQsMHgxMn19LAotIHsxNiwweDI4YjEsMCx7MHg0ZCwweGE3LDB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDcwLDB4MzgsMHg5MCwweDdmLDB4ZWMsMHhlMH19LAotIHsxNiwweDI4YzEsMCx7MHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNH19LAotIHsxNiwweDI4ZDEsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDU0LDB4ODAsMHhmZn19LAotIHsxNiwweDI4ZTEsMCx7MHgxMywweDEzLDB4MTMsMHg1NCwweDFmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDkwLDB4N2YsMHhkNywweGYwLDB4ZTAsMHg0NH19LAotIHsxNiwweDI4ZjEsMCx7MHgyMCwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDEyLDB4NGQsMHhhOX19LAotIHsxNiwweDI5MDEsMCx7MHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgyMCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NH19LAotIHsxNiwweDI5MTEsMCx7MHg4MCwweGZmLDB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1LDB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4Mn19LAotIHsxNiwweDI5MjEsMCx7MHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDI5MzEsMCx7MHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMH19LAotIHsxNiwweDI5NDEsMCx7MHg2MCwweDEyLDB4MjQsMHhmOCwweDYwLDB4MDksMHgyNCwweDAyLDB4NzAsMHgyOSwweDEyLDB4NDMsMHhkYiwweDQxLDB4Y2IsMHgxMn19LAotIHsxNiwweDI5NTEsMCx7MHg0ZCwweDVjLDB4NDEsMHhjYiwweDEyLDB4NGQsMHhhNSwweGEyLDB4MjIsMHhlNCwweDMzLDB4ZmYsMHgyNSwweGUwLDB4ZmYsMHhhMn19LAotIHsxNiwweDI5NjEsMCx7MHgyMywweGU0LDB4MzMsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMn19LAotIHsxNiwweDI5NzEsMCx7MHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMH19LAotIHsxNiwweDI5ODEsMCx7MHg2MCwweDMzLDB4MjQsMHhmNiwweDYwLDB4MmEsMHgyNCwweDA0LDB4NzAsMHgzZCwweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhkZX19LAotIHsxNiwweDI5OTEsMCx7MHg2MCwweDBjLDB4MDQsMHg3MCwweDEyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3Zn19LAotIHsxNiwweDI5YTEsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYn19LAotIHsxNiwweDI5YjEsMCx7MHgxMiwweDQ2LDB4ODUsMHg0MSwweGNiLDB4MTIsMHg0ZCwweGE1LDB4ZTQsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4ZjAsMHg5MH19LAotIHsxNiwweDI5YzEsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYn19LAotIHsxNiwweDI5ZDEsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZjQsMHg2MCwweDM0LDB4MjQsMHgwYywweDcwLDB4MzksMHgxMiwweDRkLDB4YTUsMHg5MH19LAotIHsxNiwweDI5ZTEsMCx7MHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNX19LAotIHsxNiwweDI5ZjEsMCx7MHhlMCwweDI0LDB4YjQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmZCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDJhMDEsMCx7MHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMH19LAotIHsxNiwweDJhMTEsMCx7MHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3Zn19LAotIHsxNiwweDJhMjEsMCx7MHhlOSwweGUwLDB4MjQsMHhmNiwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWEsMHgyNCwweDAyLDB4NzAsMHgxZCwweGQyLDB4MjAsMHg5MH19LAotIHsxNiwweDJhMzEsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDEyLDB4ZDIsMHgyMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDJhNDEsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwLDB4MjAsMHgxOCwweDkwLDB4N2YsMHhlZX19LAotIHsxNiwweDJhNTEsMCx7MHhlMCwweDcwLDB4MDQsMHhhMywweGUwLDB4NjAsMHgwYiwweGQyLDB4MjksMHhkMiwweDI3LDB4MTIsMHgxNywweDRhLDB4ZDIsMHgyYX19LAotIHsxNiwweDJhNjEsMCx7MHg4MCwweDAzLDB4MTIsMHgwOCwweDAwLDB4YzIsMHgyMCwweDgwLDB4NjEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDcwLDB4MDQsMHhhM319LAotIHsxNiwweDJhNzEsMCx7MHhlMCwweDYwLDB4MGIsMHhkMiwweDI5LDB4ZDIsMHgyOCwweDEyLDB4MTcsMHg0YSwweGQyLDB4MmEsMHg4MCwweDRjLDB4MTIsMHgzOH19LAotIHsxNiwweDJhODEsMCx7MHg3NCwweDgwLDB4NDcsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDEyLDB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMn19LAotIHsxNiwweDJhOTEsMCx7MHg3MCwweDFkLDB4ZDIsMHgyMSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyLDB4MjEsMHg5MH19LAotIHsxNiwweDJhYTEsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMH19LAotIHsxNiwweDJhYjEsMCx7MHgyMSwweDAzLDB4MTIsMHgxMCwweDAwLDB4YzIsMHgyMSwweDgwLDB4MTEsMHgxMiwweDJhLDB4ZDYsMHg4MCwweDBjLDB4MTIsMHg0ZH19LAotIHsxNiwweDJhYzEsMCx7MHhhYiwweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwLDB4MmEsMHgwNywweDkwLDB4N2YsMHhiNH19LAotIHsgNSwweDJhZDEsMCx7MHhlMCwweDQ0LDB4MDIsMHhmMCwweDIyfX0sCi0gezE2LDB4MmFkNiwwLHsweGU0LDB4OTAsMHg3NiwweDI3LDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfX0sCi0gezE2LDB4MmFlNiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4MmFmNiwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjcsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4MmIwNiwwLHsweGVmLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDBmfX0sCi0gezE2LDB4MmIxNiwwLHsweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MjgsMHhmMCwweDI0fX0sCi0gezE2LDB4MmIyNiwwLHsweDlmLDB4NzAsMHgwMiwweGExLDB4NzQsMHgyNCwweDIxLDB4NjAsMHgwMiwweGExLDB4YTEsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fX0sCi0gezE2LDB4MmIzNiwwLHsweDdlLDB4NzAsMHgwMiwweDYxLDB4ZmMsMHgxNCwweDcwLDB4MDIsMHg4MSwweGI1LDB4MjQsMHgwMiwweDYwLDB4MDIsMHhhMSwweDZjfX0sCi0gezE2LDB4MmI0NiwwLHsweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjfX0sCi0gezE2LDB4MmI1NiwwLHsweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMCwweDc4fX0sCi0gezE2LDB4MmI2NiwwLHsweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTMsMHg3NCwweGFjfX0sCi0gezE2LDB4MmI3NiwwLHsweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwfX0sCi0gezE2LDB4MmI4NiwwLHsweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkfX0sCi0gezE2LDB4MmI5NiwwLHsweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyfX0sCi0gezE2LDB4MmJhNiwwLHsweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzfX0sCi0gezE2LDB4MmJiNiwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0fX0sCi0gezE2LDB4MmJjNiwwLHsweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlfX0sCi0gezE2LDB4MmJkNiwwLHsweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDYwfX0sCi0gezE2LDB4MmJlNiwwLHsweDAyLDB4YTEsMHhhOCwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwfX0sCi0gezE2LDB4MmJmNiwwLHsweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3fX0sCi0gezE2LDB4MmMwNiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzfX0sCi0gezE2LDB4MmMxNiwwLHsweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzfX0sCi0gezE2LDB4MmMyNiwwLHsweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1fX0sCi0gezE2LDB4MmMzNiwwLHsweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MmM0NiwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdifX0sCi0gezE2LDB4MmM1NiwwLHsweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4MmM2NiwwLHsweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwfX0sCi0gezE2LDB4MmM3NiwwLHsweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MmM4NiwwLHsweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3fX0sCi0gezE2LDB4MmM5NiwwLHsweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg2MCwweDAyLDB4YTEsMHhhOCwweDkwLDB4N2YsMHgwMCwweGYwfX0sCi0gezE2LDB4MmNhNiwwLHsweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwfX0sCi0gezE2LDB4MmNiNiwwLHsweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MmNjNiwwLHsweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5fX0sCi0gezE2LDB4MmNkNiwwLHsweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzfX0sCi0gezE2LDB4MmNlNiwwLHsweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwfX0sCi0gezE2LDB4MmNmNiwwLHsweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzfX0sCi0gezE2LDB4MmQwNiwwLHsweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwfX0sCi0gezE2LDB4MmQxNiwwLHsweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwfX0sCi0gezE2LDB4MmQyNiwwLHsweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmfX0sCi0gezE2LDB4MmQzNiwwLHsweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzfX0sCi0gezE2LDB4MmQ0NiwwLHsweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3fX0sCi0gezE2LDB4MmQ1NiwwLHsweGFiLDB4NzAsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwfX0sCi0gezE2LDB4MmQ2NiwwLHsweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE2LDB4MmQ3NiwwLHsweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgxZSwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRmfX0sCi0gezE2LDB4MmQ4NiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fX0sCi0gezE2LDB4MmQ5NiwwLHsweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fX0sCi0geyAzLDB4MmRhNiwwLHsweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDJkYTksMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDJkYjksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4Mn19LAotIHsxNiwweDJkYzksMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNX19LAotIHsxNiwweDJkZDksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZn19LAotIHsxNiwweDJkZTksMCx7MHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTAsMHhmMH19LAotIHsxNiwweDJkZjksMCx7MHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNX19LAotIHsxNiwweDJlMDksMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNH19LAotIHsxNiwweDJlMTksMCx7MHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNX19LAotIHsxNiwweDJlMjksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn19LAotIHsxNiwweDJlMzksMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH19LAotIHsxNiwweDJlNDksMCx7MHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMH19LAotIHsxNiwweDJlNTksMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH19LAotIHsxNiwweDJlNjksMCx7MHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDJlNzksMCx7MHg3NCwweDAzLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDJlODksMCx7MHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH19LAotIHsxNiwweDJlOTksMCx7MHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNH19LAotIHsxNiwweDJlYTksMCx7MHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA2LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNiwweDJlYjksMCx7MHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMH19LAotIHsxNiwweDJlYzksMCx7MHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDJlZDksMCx7MHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDJlZTksMCx7MHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDJlZjksMCx7MHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNiwweDJmMDksMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMH19LAotIHsxNiwweDJmMTksMCx7MHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwOCwweGYwLDB4ZWYsMHg3NX19LAotIHsxNiwweDJmMjksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHg5MH19LAotIHsxNiwweDJmMzksMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDJmNDksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4Mn19LAotIHsxNiwweDJmNTksMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwYSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNX19LAotIHsxNiwweDJmNjksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMH19LAotIHsxNiwweDJmNzksMCx7MHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMn19LAotIHsxNiwweDJmODksMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH19LAotIHsxNiwweDJmOTksMCx7MHgwOSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDJmYTksMCx7MHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH19LAotIHsxNiwweDJmYjksMCx7MHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNH19LAotIHsxNiwweDJmYzksMCx7MHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA3LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNCwweDJmZDksMCx7MHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDIyfX0sCi0gezE2LDB4MmZlNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjYsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfX0sCi0geyA4LDB4MmZmNywwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7IDEsMHgyZmZmLDAsezB4MzJ9fSwKLSB7MTYsMHgzMDAwLDAsezB4OTAsMHg3ZiwweGI2LDB4ZTAsMHgyMCwweGUxLDB4MDIsMHhjMiwweDNkLDB4ZDIsMHgzNiwweDIwLDB4MzYsMHgwMiwweDQxLDB4NmV9fSwKLSB7MTYsMHgzMDEwLDAsezB4MzAsMHgzZCwweDAyLDB4NDEsMHg2ZSwweDkwLDB4ODAsMHgwNywweGUwLDB4NjAsMHgwNCwweGQyLDB4MzYsMHg4MCwweDAyLDB4YzJ9fSwKLSB7MTYsMHgzMDIwLDAsezB4MzYsMHgyMCwweDM2LDB4MDIsMHg0MSwweDJlLDB4ZDIsMHgzNSwweGU0LDB4ZjUsMHgxYSwweDkwLDB4ODAsMHgwNCwweGUwLDB4ZjV9fSwKLSB7MTYsMHgzMDMwLDAsezB4MTksMHg3NCwweDA4LDB4MjUsMHgwZSwweGY4LDB4YTYsMHgxOSwweDg1LDB4MTksMHgxOCwweGU1LDB4MTgsMHgyMCwweGU3LDB4MDR9fSwKLSB7MTYsMHgzMDQwLDAsezB4ZDIsMHgzOCwweDgwLDB4MDIsMHhjMiwweDM4LDB4MzAsMHgzOCwweDAyLDB4MjEsMHhkNCwweGU0LDB4ZjUsMHgxNiwweGU1LDB4MTl9fSwKLSB7MTYsMHgzMDUwLDAsezB4YjQsMHhmMCwweDBjLDB4ZDIsMHgzOSwweDc1LDB4MDgsMHgwNCwweDc1LDB4MDksMHhmMCwweDA1LDB4MGUsMHg4MCwweDAyLDB4MDV9fSwKLSB7MTYsMHgzMDYwLDAsezB4MTYsMHhlNSwweDE5LDB4NjQsMHhmNywweDcwLDB4M2QsMHhjMiwweDM5LDB4ZTUsMHgwZSwweDI0LDB4ZmUsMHg2MCwweDE3LDB4MTR9fSwKLSB7MTYsMHgzMDcwLDAsezB4NjAsMHgyMiwweDI0LDB4MDMsMHg3MCwweDI5LDB4NzUsMHgwOCwweDA1LDB4NzUsMHgwOSwweGY3LDB4ZTQsMHhmNSwweDBhLDB4ZjV9fSwKLSB7MTYsMHgzMDgwLDAsezB4MGIsMHg3NSwweDBlLDB4MDQsMHg4MCwweDIwLDB4NzUsMHgwOCwweDA2LDB4NzUsMHgwYSwweGY3LDB4ZTQsMHhmNSwweDBiLDB4NzV9fSwKLSB7MTYsMHgzMDkwLDAsezB4MGUsMHgwNCwweDgwLDB4MTIsMHg3NSwweDA4LDB4MDcsMHg3NSwweDBiLDB4ZjcsMHg3NSwweDBlLDB4MDQsMHg4MCwweDA3LDB4MTJ9fSwKLSB7MTYsMHgzMGEwLDAsezB4NDgsMHhmMywweDgwLDB4MDIsMHgwNSwweDE2LDB4ZTUsMHgxOSwweDU0LDB4ZjgsMHg2NCwweGY4LDB4NzAsMHgzYiwweGMyLDB4MzV9fSwKLSB7MTYsMHgzMGIwLDAsezB4ZTUsMHgxOSwweDI0LDB4MDcsMHg2MCwweDBjLDB4MjQsMHhmYywweDYwLDB4MDgsMHgyNCwweDA1LDB4MjQsMHhmOCwweDUwLDB4MDZ9fSwKLSB7MTYsMHgzMGMwLDAsezB4ODAsMHgwOCwweGQyLDB4M2EsMHg4MCwweDA2LDB4YzIsMHgzYSwweDgwLDB4MDIsMHhkMiwweDNhLDB4NzUsMHgxYSwweDAxLDB4MjB9fSwKLSB7MTYsMHgzMGQwLDAsezB4M2EsMHgxOSwweDkwLDB4N2UsMHg4MCwweDc0LDB4MGYsMHhmMCwweGEzLDB4ZTUsMHgxOSwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHgzMGUwLDAsezB4ZjAsMHg5MCwweDdmLDB4YjcsMHg3NCwweDA0LDB4ZjAsMHg4MCwweDAyLDB4MDUsMHgxNiwweDIwLDB4MzksMHg2ZCwweGU1LDB4MTl9fSwKLSB7MTYsMHgzMGYwLDAsezB4NjQsMHhmNywweDYwLDB4NjcsMHhlNSwweDFhLDB4NzAsMHg2MywweGU1LDB4MTgsMHg1NCwweGYwLDB4NjQsMHhmMCwweDcwLDB4NTl9fSwKLSB7MTYsMHgzMTAwLDAsezB4ODUsMHgxOCwweDE5LDB4ZjUsMHgwZSwweGU1LDB4MTksMHgyNCwweDBmLDB4NjAsMHgxYiwweDI0LDB4ZmUsMHg2MCwweDE3LDB4MjR9fSwKLSB7MTYsMHgzMTEwLDAsezB4ZmQsMHg2MCwweDIyLDB4MTQsMHg2MCwweDFmLDB4MjQsMHgwNSwweDcwLDB4MmYsMHg3NSwweDA4LDB4MDMsMHgwNSwweDBlLDB4ODV9fSwKLSB7MTYsMHgzMTIwLDAsezB4MTgsMHgwOSwweGQyLDB4MzcsMHg4MCwweDI4LDB4NzUsMHgwOCwweDAyLDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweDc1LDB4MTR9fSwKLSB7MTYsMHgzMTMwLDAsezB4MDEsMHhkMiwweDM3LDB4ODAsMHgxOSwweDc1LDB4MDgsMHgwNSwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHhlNCwweGY1LDB4MGF9fSwKLSB7MTYsMHgzMTQwLDAsezB4ZjUsMHgwYiwweDc1LDB4MGUsMHgwMywweGQyLDB4MzcsMHg4MCwweDA1LDB4MTIsMHg0OCwweGYzLDB4YzIsMHgzNSwweDMwLDB4MzV9fSwKLSB7MTYsMHgzMTUwLDAsezB4MGEsMHg4NSwweDA4LDB4MTMsMHg4NSwweDE4LDB4MTIsMHg4MCwweDAyLDB4MDUsMHgxNiwweDg1LDB4MTgsMHgxOSwweGU1LDB4MTZ9fSwKLSB7MTYsMHgzMTYwLDAsezB4NjQsMHgwNCwweDcwLDB4NjIsMHhmNSwweDBlLDB4ZTUsMHgxOSwweDU0LDB4ZjAsMHhmNSwweDE5LDB4ZjUsMHgxNSwweDg1LDB4MTh9fSwKLSB7MTYsMHgzMTcwLDAsezB4MTksMHhlNSwweDE1LDB4MjQsMHg3MCwweDYwLDB4MTgsMHgyNCwweGYwLDB4NjAsMHgxNCwweDI0LDB4ZjAsMHg2MCwweDEwLDB4MjR9fSwKLSB7MTYsMHgzMTgwLDAsezB4ZjAsMHg2MCwweDFlLDB4MjQsMHhmMCwweDYwLDB4MWEsMHgyNCwweGYwLDB4NjAsMHgwNCwweDI0LDB4NjAsMHg3MCwweDI3LDB4ZTV9fSwKLSB7MTYsMHgzMTkwLDAsezB4MTUsMHhjNCwweDU0LDB4MGYsMHhmNSwweDE5LDB4ZjUsMHgwOCwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHhkMiwweDM3LDB4ODB9fSwKLSB7MTYsMHgzMWEwLDAsezB4MWEsMHhlNSwweDE1LDB4YzQsMHg1NCwweDBmLDB4ZjUsMHgxOSwweGY1LDB4MDgsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4NzV9fSwKLSB7MTYsMHgzMWIwLDAsezB4MTQsMHgwMSwweGQyLDB4MzcsMHg4MCwweDA1LDB4MTIsMHg0OCwweGYzLDB4YzIsMHgzNSwweDMwLDB4MzUsMHgwYSwweDg1LDB4MTl9fSwKLSB7MTYsMHgzMWMwLDAsezB4MTMsMHg4NSwweDE4LDB4MTIsMHg4MCwweDAyLDB4MDUsMHgxNiwweGU1LDB4MTYsMHhkMywweDk0LDB4MDUsMHg0MCwweDU3LDB4MTJ9fSwKLSB7MTYsMHgzMWQwLDAsezB4NDgsMHhmMywweDgwLDB4NTIsMHgzMCwweDM5LDB4MTcsMHhlNSwweDBlLDB4NzAsMHgwYSwweDg1LDB4MDgsMHgwOSwweDc1LDB4MDh9fSwKLSB7MTYsMHgzMWUwLDAsezB4MDQsMHgwNSwweDBlLDB4ODAsMHg0MSwweDc0LDB4MDgsMHgyNSwweDBlLDB4ZjgsMHhhNiwweDE5LDB4ODAsMHgzOCwweDIwLDB4Mzd9fSwKLSB7MTYsMHgzMWYwLDAsezB4MmEsMHhlNSwweDBlLDB4YjQsMHgwMSwweDBmLDB4ODUsMHgwOCwweDBhLDB4ODUsMHgwOSwweDBiLDB4ODUsMHgxMywweDA4LDB4ODV9fSwKLSB7MTYsMHgzMjAwLDAsezB4MTIsMHgwOSwweDc1LDB4MGUsMHgwNCwweGU1LDB4MTQsMHhiNCwweDAxLDB4MWMsMHg4NSwweDA4LDB4MGEsMHhlNCwweGY1LDB4MGJ9fSwKLSB7MTYsMHgzMjEwLDAsezB4ODUsMHgxMywweDA4LDB4ODUsMHgxMiwweDA5LDB4NzUsMHgwZSwweDA0LDB4ODAsMHgwYiwweGU1LDB4MTQsMHhiNCwweDAxLDB4MDZ9fSwKLSB7MTYsMHgzMjIwLDAsezB4ZTQsMHhmNSwweDBiLDB4NzUsMHgwZSwweDA0LDB4ZTQsMHhmNSwweDFhLDB4MzAsMHgzNSwweDAyLDB4MDUsMHgwZSwweGU1LDB4MGV9fSwKLSB7MTYsMHgzMjMwLDAsezB4ZDMsMHg5NCwweDAzLDB4NTAsMHgwMiwweDAxLDB4MGIsMHhjMiwweDM3LDB4ZTQsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGMyLDB4MzZ9fSwKLSB7MTYsMHgzMjQwLDAsezB4ZDIsMHgzZCwweGY1LDB4MTQsMHg3NCwweDA4LDB4MjUsMHgxMCwweGY4LDB4ZTYsMHhmZiwweDc0LDB4ODAsMHgyNSwweDEwLDB4ZjV9fSwKLSB7MTYsMHgzMjUwLDAsezB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDc0LDB4MDgsMHgyNSwweDEwLDB4ZjgsMHhlNCwweGY2LDB4MDV9fSwKLSB7MTUsMHgzMjYwLDAsezB4MTAsMHhlNSwweDEwLDB4YjQsMHgwNCwweGRlLDB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwNCwweGYwLDB4MDEsMHgwYiwweDIyfX0sCi0gezE2LDB4MzI2ZiwwLHsweDkwLDB4NzYsMHgxOCwweGUwLDB4ZmYsMHg2NCwweDA1LDB4NzAsMHg0MiwweDkwLDB4NzUsMHhhYiwweGUwLDB4YjQsMHgwMSwweDE5fX0sCi0gezE2LDB4MzI3ZiwwLHsweDkwLDB4NzIsMHgzNywweDc0LDB4MDEsMHhmMCwweGU0LDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MCwweDgwLDB4MzEsMHhmMCwweDkwfX0sCi0gezE2LDB4MzI4ZiwwLHsweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ODAsMHgyMiwweGU0LDB4OTAsMHg3MiwweDM3LDB4ZjAsMHg5MCwweDc1fX0sCi0gezE2LDB4MzI5ZiwwLHsweGFkLDB4ZTAsMHg5MCwweDcyLDB4MmIsMHhmMCwweGUwLDB4MjQsMHg4MCwweGYwLDB4ZTAsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwfX0sCi0gezE2LDB4MzJhZiwwLHsweDgwLDB4MzEsMHhmMCwweDkwLDB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHhlZiwweDY0LDB4MDYsMHg2MCwweDAyfX0sCi0gezE2LDB4MzJiZiwwLHsweDgxLDB4OTksMHg5MCwweDcyLDB4MzksMHg3NCwweDA0LDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweGZmLDB4MjQsMHhmZSwweDkwfX0sCi0gezE2LDB4MzJjZiwwLHsweDcyLDB4MDQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MzJkZiwwLHsweDgzLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHg1NCwweDkwLDB4NzIsMHgzNiwweDA0LDB4ZjAsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZmfX0sCi0gezE2LDB4MzJlZiwwLHsweDI0LDB4ZmQsMHg2MCwweDI4LDB4MjQsMHhmZSwweDYwLDB4MjQsMHgyNCwweDAzLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDFjfX0sCi0gezE2LDB4MzJmZiwwLHsweDgxLDB4OGMsMHg3NCwweDIwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3NCwweDI4fX0sCi0gezE2LDB4MzMwZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4ODEsMHg4YywweDkwLDB4NzIsMHgwNCwweGUwfX0sCi0gezE2LDB4MzMxZiwwLHsweGZmLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc0LDB4MzgsMHgyZiwweGY1fX0sCi0gezE2LDB4MzMyZiwwLHsweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg4MSwweDhjLDB4ZTQsMHg5MCwweDcyLDB4MzYsMHhmMCwweDkwfX0sCi0gezE2LDB4MzMzZiwwLHsweDcyLDB4MzksMHhlMCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MzM0ZiwwLHsweGUwLDB4ZmYsMHg3ZSwweDAwLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDcwLDB4MDYsMHg5MCwweDcyfX0sCi0gezE2LDB4MzM1ZiwwLHsweDAyLDB4NzQsMHgzYiwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDY0LDB4ODAsMHg0ZSwweDcwfX0sCi0gezE2LDB4MzM2ZiwwLHsweDA0LDB4OTAsMHg3MiwweDAyLDB4ZjAsMHhlZiwweDRlLDB4NzAsMHgwMiwweDgxLDB4MzUsMHhlZiwweDY0LDB4ODAsMHg0ZSwweDcwfX0sCi0gezE2LDB4MzM3ZiwwLHsweDAyLDB4ODEsMHgzNSwweGVmLDB4ZjgsMHhlNCwweDkwLDB4NzUsMHgwZCwweGYwLDB4ZTgsMHg5MCwweDc1LDB4MGMsMHhmMCwweDkwfX0sCi0gezE2LDB4MzM4ZiwwLHsweDcyLDB4MzQsMHhlMCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MzM5ZiwwLHsweGUwLDB4ZmYsMHg5MCwweDcyLDB4MDIsMHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MmYsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwfX0sCi0gezE2LDB4MzNhZiwwLHsweDM0LDB4MDAsMHhmMCwweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHg3YiwweGQ2LDB4N2EsMHhhNSwweGY5fX0sCi0gezE2LDB4MzNiZiwwLHsweGY4LDB4ZDMsMHgxMiwweDM3LDB4OTUsMHg0MCwweDBhLDB4OTAsMHg3NSwweDBjLDB4NzQsMHhhNSwweGYwLDB4YTMsMHg3NCwweGQ2fX0sCi0gezE2LDB4MzNjZiwwLHsweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyNCwweDJhLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4NWEsMHhmMCwweGUwfX0sCi0gezE2LDB4MzNkZiwwLHsweGZlLDB4YTMsMHhlMCwweDc4LDB4MDUsMHhjZSwweGEyLDB4ZTcsMHgxMywweGNlLDB4MTMsMHhkOCwweGY4LDB4ZmYsMHg5MCwweDc1fX0sCi0gezE2LDB4MzNlZiwwLHsweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDkwLDB4NzIsMHgyYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHhkMywweDk0fX0sCi0gezE2LDB4MzNmZiwwLHsweGQyLDB4ZWUsMHg2NCwweDgwLDB4OTQsMHg4MiwweDQwLDB4MGEsMHg5MCwweDcyLDB4MmMsMHg3NCwweDAyLDB4ZjAsMHhhMywweDc0fX0sCi0gezE2LDB4MzQwZiwwLHsweGQyLDB4ZjAsMHhjMywweDkwLDB4NzIsMHgyYywweGUwLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA0LDB4ZTQsMHhmMCwweGEzfX0sCi0gezE2LDB4MzQxZiwwLHsweGYwLDB4OTAsMHg3MiwweDJjLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHgyNCwweDNhLDB4ZjUsMHg4MiwweGVlLDB4MzQsMHg3MiwweGY1fX0sCi0gezE2LDB4MzQyZiwwLHsweDgzLDB4ZTAsMHg5MCwweDcyLDB4MDIsMHhmMCwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmYsMHgyNCwweGZkLDB4NjAsMHgyZCwweDI0fX0sCi0gezE2LDB4MzQzZiwwLHsweGZlLDB4NjAsMHgyOSwweDI0LDB4MDMsMHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MjEsMHg4MCwweDQwLDB4OTAsMHg3MiwweDAyfX0sCi0gezE2LDB4MzQ0ZiwwLHsweGUwLDB4ZmUsMHg3NCwweDIwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDI4fX0sCi0gezE2LDB4MzQ1ZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzIsMHgwMiwweGUwfX0sCi0gezE2LDB4MzQ2ZiwwLHsweGZmLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZSwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4MzQ3ZiwwLHsweGYwLDB4NzQsMHgzOCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3MiwweDM5fX0sCi0gezExLDB4MzQ4ZiwwLHsweGUwLDB4MDQsMHhmMCwweGUwLDB4NjQsMHgwYSwweDYwLDB4MDIsMHg0MSwweGM3LDB4MjJ9fSwKLSB7MTYsMHgzNDlhLDAsezB4OTAsMHg3NiwweDE4LDB4ZTAsMHhmZiwweGI0LDB4MDUsMHgyMywweDkwLDB4NzIsMHgzNywweGUwLDB4NzAsMHgxZCwweDkwLDB4NzV9fSwKLSB7MTYsMHgzNGFhLDAsezB4YWQsMHhlMCwweDkwLDB4NzIsMHgyYiwweGYwLDB4ZTAsMHgyNCwweDgwLDB4ZjAsMHhlMCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTB9fSwKLSB7MTYsMHgzNGJhLDAsezB4ODAsMHgzMSwweGYwLDB4OTAsMHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweGVmLDB4NjQsMHgwNiwweDYwLDB4MDJ9fSwKLSB7MTYsMHgzNGNhLDAsezB4YzEsMHg5MSwweDkwLDB4NzIsMHgzNiwweGUwLDB4NjAsMHgwMiwweGMxLDB4OTEsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MzF9fSwKLSB7MTYsMHgzNGRhLDAsezB4OTAsMHg3MiwweDAzLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3MiwweDAzLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjR9fSwKLSB7MTYsMHgzNGVhLDAsezB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDcyLDB4MjksMHhlMCwweGZkLDB4ZWV9fSwKLSB7MTYsMHgzNGZhLDAsezB4NmQsMHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGEsMHg1MCwweDA4LDB4OTAsMHg3MiwweDAzLDB4ZTAsMHgwNCwweGYwLDB4ODB9fSwKLSB7MTYsMHgzNTBhLDAsezB4ZDUsMHg5MCwweDcyLDB4MzksMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MDgsMHg5MCwweDcyLDB4MDN9fSwKLSB7MTYsMHgzNTFhLDAsezB4ZTAsMHg5MCwweDcyLDB4MzksMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4ZmQsMHgyNCwweGZlLDB4OTAsMHg3MiwweDJhLDB4ZjB9fSwKLSB7MTYsMHgzNTJhLDAsezB4ZWQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmZ9fSwKLSB7MTYsMHgzNTNhLDAsezB4N2UsMHgwMCwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg3MCwweDA2LDB4OTAsMHg3MiwweDAyLDB4NzR9fSwKLSB7MTYsMHgzNTRhLDAsezB4ODAsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg2NCwweDgwLDB4NGUsMHg3MCwweDA0LDB4OTB9fSwKLSB7MTYsMHgzNTVhLDAsezB4NzIsMHgwMiwweGYwLDB4ZWYsMHg0ZSwweDcwLDB4MDIsMHhjMSwweDFiLDB4ZWYsMHg2NCwweDgwLDB4NGUsMHg3MCwweDAyLDB4YzF9fSwKLSB7MTYsMHgzNTZhLDAsezB4MWIsMHhlZiwweGY4LDB4ZTQsMHg5MCwweDc1LDB4MGQsMHhmMCwweGU4LDB4OTAsMHg3NSwweDBjLDB4ZjAsMHhlZCwweDc1LDB4ZjB9fSwKLSB7MTYsMHgzNTdhLDAsezB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDcyLDB4MDJ9fSwKLSB7MTYsMHgzNThhLDAsezB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDJmLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4MDAsMHhmMCwweGUwLDB4ZmV9fSwKLSB7MTYsMHgzNTlhLDAsezB4YTMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4N2IsMHhkNiwweDdhLDB4YTUsMHhmOSwweGY4LDB4ZDMsMHgxMiwweDM3LDB4OTV9fSwKLSB7MTYsMHgzNWFhLDAsezB4NDAsMHgwYSwweDkwLDB4NzUsMHgwYywweDc0LDB4YTUsMHhmMCwweGEzLDB4NzQsMHhkNiwweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTB9fSwKLSB7MTYsMHgzNWJhLDAsezB4MjQsMHgyYSwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDVhLDB4ZjAsMHhlMCwweGZlLDB4YTMsMHhlMCwweDc4LDB4MDV9fSwKLSB7MTYsMHgzNWNhLDAsezB4Y2UsMHhhMiwweGU3LDB4MTMsMHhjZSwweDEzLDB4ZDgsMHhmOCwweGZmLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWZ9fSwKLSB7MTYsMHgzNWRhLDAsezB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4ZDMsMHg5NCwweGQyLDB4ZWUsMHg2NCwweDgwLDB4OTR9fSwKLSB7MTYsMHgzNWVhLDAsezB4ODIsMHg0MCwweDBhLDB4OTAsMHg3MiwweDJjLDB4NzQsMHgwMiwweGYwLDB4YTMsMHg3NCwweGQyLDB4ZjAsMHhjMywweDkwLDB4NzJ9fSwKLSB7MTYsMHgzNWZhLDAsezB4MmMsMHhlMCwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgwNCwweGU0LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3MiwweDJjLDB4ZTB9fSwKLSB7MTYsMHgzNjBhLDAsezB4ZmUsMHhhMywweGUwLDB4MjQsMHgzYSwweGY1LDB4ODIsMHhlZSwweDM0LDB4NzIsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDcyLDB4MDJ9fSwKLSB7MTYsMHgzNjFhLDAsezB4ZjAsMHg5MCwweDcyLDB4MmEsMHhlMCwweGZmLDB4MjQsMHhmZCwweDYwLDB4MmQsMHgyNCwweGZlLDB4NjAsMHgyOSwweDI0LDB4MDN9fSwKLSB7MTYsMHgzNjJhLDAsezB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDIxLDB4ODAsMHg0MCwweDkwLDB4NzIsMHgwMiwweGUwLDB4ZmUsMHg3NCwweDIwLDB4MmZ9fSwKLSB7MTYsMHgzNjNhLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHgyOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgzNjRhLDAsezB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDgwLDB4MjEsMHg5MCwweDcyLDB4MDIsMHhlMCwweGZmLDB4OTAsMHg3MiwweDJhLDB4ZTB9fSwKLSB7MTYsMHgzNjVhLDAsezB4ZmUsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZiwweGYwLDB4NzQsMHgzOCwweDJlLDB4ZjV9fSwKLSB7MTYsMHgzNjZhLDAsezB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgwNiwweDkwLDB4NzJ9fSwKLSB7MTYsMHgzNjdhLDAsezB4MzksMHg3NCwweDBhLDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweDA0LDB4ZjAsMHhlMCwweGMzLDB4OTQsMHgwYSwweDUwLDB4MDJ9fSwKLSB7IDgsMHgzNjhhLDAsezB4YTEsMHgxMSwweGU0LDB4OTAsMHg3NiwweDQwLDB4ZjAsMHgyMn19LAotIHsxNiwweDM2OTIsMCx7MHhiYiwweDAxLDB4MDYsMHg4OSwweDgyLDB4OGEsMHg4MywweGUwLDB4MjIsMHg1MCwweDAyLDB4ZTcsMHgyMiwweGJiLDB4ZmUsMHgwMn19LAotIHsgOSwweDM2YTIsMCx7MHhlMywweDIyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhlNCwweDkzLDB4MjJ9fSwKLSB7MTYsMHgzNmFiLDAsezB4YmIsMHgwMSwweDBjLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweDIyLDB4NTB9fSwKLSB7MTYsMHgzNmJiLDAsezB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGU2LDB4MjIsMHhiYiwweGZlLDB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4MjJ9fSwKLSB7MTMsMHgzNmNiLDAsezB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlNCwweDkzLDB4MjJ9fSwKLSB7MTYsMHgzNmQ4LDAsezB4YzIsMHhkNSwweGVjLDB4MzAsMHhlNywweDA5LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ZWV9fSwKLSB7MTYsMHgzNmU4LDAsezB4MzAsMHhlNywweDE1LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MTIsMHgzOCwweDFmLDB4YzN9fSwKLSB7MTYsMHgzNmY4LDAsezB4ZTQsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ODAsMHgwMywweDEyLDB4MzgsMHgxZiwweDMwLDB4ZDUsMHgwNywweGMzLDB4ZTR9fSwKLSB7IDYsMHgzNzA4LDAsezB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDIyfX0sCi0gezE2LDB4MzcwZSwwLHsweGJiLDB4MDEsMHgxMCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHhmNSwweGYwfX0sCi0gezE2LDB4MzcxZSwwLHsweGEzLDB4ZTAsMHgyMiwweDUwLDB4MDksMHhlOSwweDI1LDB4ODIsMHhmOCwweDg2LDB4ZjAsMHgwOCwweGU2LDB4MjIsMHhiYiwweGZlfX0sCi0gezE2LDB4MzcyZSwwLHsweDBhLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweGY1LDB4ZjAsMHgwOCwweGUyLDB4MjIsMHhlNSwweDgzLDB4MmEsMHhmNSwweDgzfX0sCi0geyA4LDB4MzczZSwwLHsweGU5LDB4OTMsMHhmNSwweGYwLDB4YTMsMHhlOSwweDkzLDB4MjJ9fSwKLSB7MTYsMHgzNzQ2LDAsezB4ZTgsMHg4ZiwweGYwLDB4YTQsMHhjYywweDhiLDB4ZjAsMHhhNCwweDJjLDB4ZmMsMHhlOSwweDhlLDB4ZjAsMHhhNCwweDJjLDB4ZmN9fSwKLSB7MTYsMHgzNzU2LDAsezB4OGEsMHhmMCwweGVkLDB4YTQsMHgyYywweGZjLDB4ZWEsMHg4ZSwweGYwLDB4YTQsMHhjZCwweGE4LDB4ZjAsMHg4YiwweGYwLDB4YTR9fSwKLSB7MTYsMHgzNzY2LDAsezB4MmQsMHhjYywweDM4LDB4MjUsMHhmMCwweGZkLDB4ZTksMHg4ZiwweGYwLDB4YTQsMHgyYywweGNkLDB4MzUsMHhmMCwweGZjLDB4ZWJ9fSwKLSB7MTYsMHgzNzc2LDAsezB4OGUsMHhmMCwweGE0LDB4ZmUsMHhhOSwweGYwLDB4ZWIsMHg4ZiwweGYwLDB4YTQsMHhjZiwweGM1LDB4ZjAsMHgyZSwweGNkLDB4Mzl9fSwKLSB7MTUsMHgzNzg2LDAsezB4ZmUsMHhlNCwweDNjLDB4ZmMsMHhlYSwweGE0LDB4MmQsMHhjZSwweDM1LDB4ZjAsMHhmZCwweGU0LDB4M2MsMHhmYywweDIyfX0sCi0gezE2LDB4Mzc5NSwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGVjLDB4NjQsMHg4MCwweGM4fX0sCi0geyA2LDB4MzdhNSwwLHsweDY0LDB4ODAsMHg5OCwweDQ1LDB4ZjAsMHgyMn19LAotIHsxNiwweDM3YWIsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlOCwweDljLDB4NDUsMHhmMH19LAotIHsgMSwweDM3YmIsMCx7MHgyMn19LAotIHsxMiwweDM3YmMsMCx7MHhlYywweGYwLDB4YTMsMHhlZCwweGYwLDB4YTMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzN2M4LDAsezB4YTgsMHg4MiwweDg1LDB4ODMsMHhmMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MTIsMHgzNywweGRmLDB4MTIsMHgzNywweGRmLDB4MTJ9fSwKLSB7MTYsMHgzN2Q4LDAsezB4MzcsMHhkZiwweDEyLDB4MzcsMHhkZiwweGU0LDB4NzMsMHhlNCwweDkzLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODN9fSwKLSB7MTYsMHgzN2U4LDAsezB4YzgsMHhjNSwweDgyLDB4YzgsMHhmMCwweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzLDB4YzgsMHhjNSwweDgyLDB4Yzh9fSwKLSB7IDEsMHgzN2Y4LDAsezB4MjJ9fSwKLSB7MTYsMHgzN2Y5LDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhmOCwweGU0LDB4OTMsMHg3MCwweDEyLDB4NzQsMHgwMSwweDkzLDB4NzAsMHgwZCwweGEzLDB4YTN9fSwKLSB7MTYsMHgzODA5LDAsezB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4OCwweDgzLDB4ZTQsMHg3MywweDc0LDB4MDIsMHg5MywweDY4LDB4NjB9fSwKLSB7IDYsMHgzODE5LDAsezB4ZWYsMHhhMywweGEzLDB4YTMsMHg4MCwweGRmfX0sCi0gezE2LDB4MzgxZiwwLHsweGJjLDB4MDAsMHgwYiwweGJlLDB4MDAsMHgyOSwweGVmLDB4OGQsMHhmMCwweDg0LDB4ZmYsMHhhZCwweGYwLDB4MjIsMHhlNCwweGNjfX0sCi0gezE2LDB4MzgyZiwwLHsweGY4LDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZiwweGZmLDB4ZWUsMHgzMywweGZlLDB4ZWMsMHgzMywweGZjLDB4ZWUsMHg5ZCwweGVjfX0sCi0gezE2LDB4MzgzZiwwLHsweDk4LDB4NDAsMHgwNSwweGZjLDB4ZWUsMHg5ZCwweGZlLDB4MGYsMHhkNSwweGYwLDB4ZTksMHhlNCwweGNlLDB4ZmQsMHgyMiwweGVkfX0sCi0gezE2LDB4Mzg0ZiwwLHsweGY4LDB4ZjUsMHhmMCwweGVlLDB4ODQsMHgyMCwweGQyLDB4MWMsMHhmZSwweGFkLDB4ZjAsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmfX0sCi0gezE2LDB4Mzg1ZiwwLHsweGZmLDB4ZWQsMHgzMywweGZkLDB4NDAsMHgwNywweDk4LDB4NTAsMHgwNiwweGQ1LDB4ZjAsMHhmMiwweDIyLDB4YzMsMHg5OCwweGZkfX0sCi0geyA1LDB4Mzg2ZiwwLHsweDBmLDB4ZDUsMHhmMCwweGVhLDB4MjJ9fSwKLSB7MTYsMHgzODc0LDAsezB4ZTQsMHg5MCwweDc2LDB4MjksMHhmMCwweDkwLDB4NzYsMHgyOSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9fSwKLSB7MTYsMHgzODg0LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHgzODk0LDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA2LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyOSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHgzOGE0LDAsezB4ZWYsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MGZ9fSwKLSB7MTYsMHgzOGI0LDAsezB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyYSwweGYwLDB4MjR9fSwKLSB7MTYsMHgzOGM0LDAsezB4YmYsMHg3MCwweDAyLDB4NDEsMHg0MSwweDI0LDB4ZTAsMHg3MCwweDAyLDB4NDEsMHgxMiwweDI0LDB4MjEsMHg2MCwweDAyLDB4NDF9fSwKLSB7MTYsMHgzOGQ0LDAsezB4M2EsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDdkLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhiMiwweDI0LDB4MDJ9fSwKLSB7MTYsMHgzOGU0LDAsezB4NjAsMHgwMiwweDQxLDB4MGEsMHgxMiwweDE3LDB4NTEsMHg5MCwweDc2LDB4NDIsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTN9fSwKLSB7MTYsMHgzOGY0LDAsezB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjV9fSwKLSB7MTYsMHgzOTA0LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDF9fSwKLSB7MTYsMHgzOTE0LDAsezB4MTIsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHg5MCwweDc2LDB4N2QsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4N2V9fSwKLSB7MTYsMHgzOTI0LDAsezB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGYsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4OTAsMHg3NiwweDdkLDB4ZjB9fSwKLSB7MTYsMHgzOTM0LDAsezB4OTAsMHg3NiwweDdlLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGYsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4OTB9fSwKLSB7MTYsMHgzOTQ0LDAsezB4NzYsMHg3ZCwweGYwLDB4OTAsMHg3NiwweDdlLDB4NzQsMHgxOCwweGYwLDB4OTAsMHg3NiwweDFhLDB4NzQsMHgwMSwweGYwLDB4MTJ9fSwKLSB7MTYsMHgzOTU0LDAsezB4M2UsMHg4ZiwweDEyLDB4MTgsMHgwMCwweDIyLDB4OTAsMHg3ZSwweGMyLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmJ9fSwKLSB7MTYsMHgzOTY0LDAsezB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDM3LDB4NDYsMHhjOCwweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2F9fSwKLSB7MTYsMHgzOTc0LDAsezB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZSwweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmF9fSwKLSB7MTYsMHgzOTg0LDAsezB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmZ9fSwKLSB7MTYsMHgzOTk0LDAsezB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOCwweGZjLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGZ9fSwKLSB7MTYsMHgzOWE0LDAsezB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHgyMiwweDkwLDB4N2V9fSwKLSB7MTYsMHgzOWI0LDAsezB4YzIsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYiwweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgzNywweDQ2LDB4Yzh9fSwKLSB7MTYsMHgzOWM0LDAsezB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmV9fSwKLSB7MTYsMHgzOWQ0LDAsezB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYSwweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4N2V9fSwKLSB7MTYsMHgzOWU0LDAsezB4YzAsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZiwweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjLDB4Mzh9fSwKLSB7MTYsMHgzOWY0LDAsezB4ZmMsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYTA0LDAsezB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgzYTE0LDAsezB4ZTksMHhlMCwweDE0LDB4NzAsMHgxOSwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjB9fSwKLSB7MTYsMHgzYTI0LDAsezB4MGYsMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTQsMHgzYTM0LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDNhNDIsMCx7MHhlNCwweDkwLDB4NzYsMHgzNSwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHgwMywweDQwLDB4MDIsMHg0MX19LAotIHsxNiwweDNhNTIsMCx7MHhmZiwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDNhNjIsMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNH19LAotIHsxNiwweDNhNzIsMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH19LAotIHsxNiwweDNhODIsMCx7MHhmMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDNhOTIsMCx7MHg3NCwweGZmLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNhYTIsMCx7MHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNhYjIsMCx7MHg4MywweDc0LDB4ODAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhYzIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhZDIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhZTIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhZjIsMCx7MHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHgwNCwweGYwLDB4NDEsMHg0NywweDkwLDB4NzYsMHgzY319LAotIHsxNiwweDNiMDIsMCx7MHg3NCwweDBhLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4MzUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4M2MsMHhlMH19LAotIHsxNiwweDNiMTIsMCx7MHhmZiwweDkwLDB4NzYsMHgzNSwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDYxLDB4ZDIsMHg5MCwweDc2LDB4M2QsMHhlMH19LAotIHsxNiwweDNiMjIsMCx7MHhmZiwweDA0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNiMzIsMCx7MHg4MywweGVmLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNiNDIsMCx7MHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNiNTIsMCx7MHg4MywweDc0LDB4NWUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNiNjIsMCx7MHhmNSwweDgzLDB4NzQsMHhiYSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDNiNzIsMCx7MHg3NSwweGY1LDB4ODMsMHg3NCwweDA1LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDNiODIsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNiOTIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNiYTIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNiYjIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxNSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNX19LAotIHsxNiwweDNiYzIsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHgwNCwweGYwLDB4NjEsMHgwZX19LAotIHsgMSwweDNiZDIsMCx7MHgyMn19LAotIHsxNiwweDNiZDMsMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDNiZTMsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNiZjMsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwYSwweGYwLDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNX19LAotIHsxNiwweDNjMDMsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMH19LAotIHsxNiwweDNjMTMsMCx7MHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMH19LAotIHsxNiwweDNjMjMsMCx7MHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDNjMzMsMCx7MHgxMiwweDM3LDB4YzgsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmIsMHg3NX19LAotIHsxNiwweDNjNDMsMCx7MHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlYn19LAotIHsxNiwweDNjNTMsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4OGMsMHhmMH19LAotIHsxNiwweDNjNjMsMCx7MHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzN319LAotIHsxNiwweDNjNzMsMCx7MHhjOCwweDAwLDB4MDAsMHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDNjODMsMCx7MHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNH19LAotIHsxNiwweDNjOTMsMCx7MHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMSwweDc3LDB4MDAsMHg5MH19LAotIHsxNiwweDNjYTMsMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDNjYjMsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNjYzMsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4ZiwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZn19LAotIHsxNiwweDNjZDMsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDEsMHhmMH19LAotIHsxNiwweDNjZTMsMCx7MHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4NH19LAotIHsxNiwweDNjZjMsMCx7MHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNX19LAotIHsxNiwweDNkMDMsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDYxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Mn19LAotIHsxNiwweDNkMTMsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODEsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMH19LAotIHsxNiwweDNkMjMsMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH19LAotIHsxNiwweDNkMzMsMCx7MHg2MSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsgNCwweDNkNDMsMCx7MHg3NCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDNkNDcsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH19LAotIHsxNiwweDNkNTcsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn19LAotIHsxNiwweDNkNjcsMCx7MHhjMCwweGUwLDB4OTAsMHg3ZiwweGEyLDB4ZTAsMHg5MCwweDc2LDB4N2YsMHhmMCwweDkwLDB4N2YsMHg3NCwweGUwLDB4OTAsMHg3Nn19LAotIHsxNiwweDNkNzcsMCx7MHg4NywweGYwLDB4OTAsMHg3ZiwweDc1LDB4ZTAsMHg5MCwweDc2LDB4ODgsMHhmMCwweDkwLDB4N2YsMHg5OCwweGUwLDB4NDQsMHgwMn19LAotIHsxNiwweDNkODcsMCx7MHhmMCwweDkwLDB4NzYsMHg5NiwweGUwLDB4ZmYsMHgyMCwweGUxLDB4MGMsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMH19LAotIHsxNiwweDNkOTcsMCx7MHhkMiwweDMyLDB4MTIsMHg0YSwweGM0LDB4OTAsMHg3NiwweDdmLDB4ZTAsMHgyMCwweGUyLDB4NTAsMHg5MCwweDc2LDB4ODcsMHhlMH19LAotIHsxNiwweDNkYTcsMCx7MHhmZSwweGEzLDB4ZTAsMHg3YywweDAwLDB4MjQsMHgwMCwweGY1LDB4MzQsMHhlYywweDNlLDB4ZjUsMHgzMywweDkwLDB4NzYsMHg5OH19LAotIHsxNiwweDNkYjcsMCx7MHhlMCwweGZkLDB4YWUsMHgzMywweGFmLDB4MzQsMHgxMiwweDM2LDB4ZDgsMHg5MCwweDc2LDB4ODcsMHhlZiwweGYwLDB4ZDIsMHgyZn19LAotIHsxNiwweDNkYzcsMCx7MHgzMCwweDMxLDB4MjksMHgyMCwweDNmLDB4MjYsMHhjMiwweDMxLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg1NCwweGNmLDB4ZjAsMHg5MH19LAotIHsxNiwweDNkZDcsMCx7MHg3ZiwweDlhLDB4ZTAsMHgzMCwweGU0LDB4MDQsMHhkMiwweDJkLDB4YzIsMHgyYywweDkwLDB4N2YsMHg5YSwweGUwLDB4MjAsMHhlNX19LAotIHsxNiwweDNkZTcsMCx7MHgwNCwweGMyLDB4MmQsMHhkMiwweDJjLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg0NCwweDMwLDB4ZjAsMHgxMiwweDRhLDB4NTAsMHgxMn19LAotIHsxNiwweDNkZjcsMCx7MHgxYiwweDA0LDB4MzAsMHgyZiwweDEyLDB4MTIsMHg0MiwweDE2LDB4YzIsMHgyZiwweDc1LDB4ZTgsMHgwMSwweDEyLDB4MTYsMHg4YX19LAotIHsxNiwweDNlMDcsMCx7MHg3NSwweGU4LDB4MGQsMHhkMiwweDJiLDB4ODAsMHgwNSwweDc1LDB4ZTgsMHgwMSwweGMyLDB4MmIsMHgyMCwweDJiLDB4MzQsMHg5MH19LAotIHsxNiwweDNlMTcsMCx7MHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZSwweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweGEzLDB4NzQsMHgwNn19LAotIHsxNiwweDNlMjcsMCx7MHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGIsMHg5MCwweDc2LDB4N2MsMHhlNCwweGYwLDB4YTMsMHhmMH19LAotIHsxNiwweDNlMzcsMCx7MHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBiLDB4OTAsMHg3NiwweDdjLDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHhhM319LAotIHsxNiwweDNlNDcsMCx7MHg3NCwweDE4LDB4ZjAsMHg3NSwweGNhLDB4ZDMsMHg3NSwweGNiLDB4ZmUsMHhkMiwweGNhLDB4MzAsMHgzNCwweDA0LDB4YzIsMHgzNH19LAotIHsxNiwweDNlNTcsMCx7MHg4MCwweDAyLDB4ZDIsMHgzNCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDNlNjcsMCx7MHg5OCwweGUwLDB4NTQsMHhmZCwweGYwLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMH19LAotIHsxNiwweDNlNzcsMCx7MHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLDB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMH19LAotIHsgOCwweDNlODcsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4M2U4ZiwwLHsweDkwLDB4NzYsMHg5MiwweGUwLDB4MTQsMHg2MCwweDFkLDB4MTQsMHg3MCwweDAyLDB4ZTEsMHg0NCwweDI0LDB4MDIsMHg2MCwweDAyfX0sCi0gezE2LDB4M2U5ZiwwLHsweGUxLDB4ZDQsMHg5MCwweDc2LDB4OTQsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweGU0LDB4OTAsMHg3NiwweDhlfX0sCi0gezE2LDB4M2VhZiwwLHsweGYwLDB4ZDIsMHgzMSwweDIyLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyfX0sCi0gezE2LDB4M2ViZiwwLHsweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3fX0sCi0gezE2LDB4M2VjZiwwLHsweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwfX0sCi0gezE2LDB4M2VkZiwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4MzQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwfX0sCi0gezE2LDB4M2VlZiwwLHsweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMywweDE4LDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwfX0sCi0gezE2LDB4M2VmZiwwLHsweDdmLDB4ZjMsMHg3NCwweDY0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0fX0sCi0gezE2LDB4M2YwZiwwLHsweDA0LDB4ZjAsMHg5MCwweDc2LDB4OTQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4MzAsMHgzZiwweDA5fX0sCi0gezE2LDB4M2YxZiwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0gezE2LDB4M2YyZiwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4M2YzZiwwLHsweDhlLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDFiLDB4ZTQsMHg5MCwweDdmfX0sCi0gezE2LDB4M2Y0ZiwwLHsweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDQ0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4M2Y1ZiwwLHsweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyfX0sCi0gezE2LDB4M2Y2ZiwwLHsweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg0YywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3fX0sCi0gezE2LDB4M2Y3ZiwwLHsweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MTgsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwfX0sCi0gezE2LDB4M2Y4ZiwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4OTQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwfX0sCi0gezE2LDB4M2Y5ZiwwLHsweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHg5NCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHgzMCwweDNmfX0sCi0gezE2LDB4M2ZhZiwwLHsweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxfX0sCi0gezE2LDB4M2ZiZiwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5OCwweDc0LDB4MDYsMHhmMCwweDkwfX0sCi0geyA2LDB4M2ZjZiwwLHsweDc2LDB4OGUsMHg3NCwweDAyLDB4ZjAsMHgyMn19LAotIHsxNiwweDNmZDUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDIsMHhmMH19LAotIHsxNiwweDNmZTUsMCx7MHg5MCwweDdmLDB4YzcsMHhlMCwweGY1LDB4MTEsMHg3NSwweDBmLDB4MDAsMHg3NSwweDBkLDB4MDAsMHhkMiwweDMzLDB4ZDAsMHg4Mn19LAotIHsgNSwweDNmZjUsMCx7MHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0geyA2LDB4M2ZmYSwwLHsweDEyLDB4NGEsMHhjNCwweGMyLDB4MzEsMHgyMn19LAotIHsxNiwweDQwMDAsMCx7MHhlNSwweDExLDB4ZDMsMHg5NCwweDAwLDB4NTAsMHgwMiwweDIxLDB4MDYsMHg5MCwweDc2LDB4ODksMHhlMCwweGMzLDB4OTQsMHgwOH19LAotIHsxNiwweDQwMTAsMCx7MHg0MCwweDAyLDB4MjEsMHgwNiwweDc0LDB4NDAsMHgyNSwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMH19LAotIHsxNiwweDQwMjAsMCx7MHhmNSwweDE3LDB4ZTUsMHgwZCwweDYwLDB4MGUsMHg5MCwweDgwLDB4MDUsMHhlNSwweDE3LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMH19LAotIHsxNiwweDQwMzAsMCx7MHgwNCwweGYwLDB4MDEsMHhkYSwweGU1LDB4MTcsMHgxMiwweDM3LDB4ZjksMHg0MCwweGMxLDB4MDIsMHg0MCwweDY3LDB4MDUsMHg0MH19LAotIHsxNiwweDQwNDAsMCx7MHg3YSwweDA2LDB4NDAsMHg5OCwweDA3LDB4NDAsMHhjMSwweDBjLDB4NDAsMHhjMSwweDBkLDB4NDAsMHhjNywweDBmLDB4NDAsMHhjYn19LAotIHsxNiwweDQwNTAsMCx7MHhmNiwweDQwLDB4Y2IsMHhmOCwweDQwLDB4Y2IsMHhmYSwweDQwLDB4Y2IsMHhmYiwweDQwLDB4Y2IsMHhmYywweDQwLDB4Y2IsMHhmZX19LAotIHsxNiwweDQwNjAsMCx7MHg0MCwweGNiLDB4ZmYsMHgwMCwweDAwLDB4NDAsMHhkYSwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MH19LAotIHsxNiwweDQwNzAsMCx7MHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODAsMHg2MCwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MH19LAotIHsxNiwweDQwODAsMCx7MHgwNSwweGYwLDB4OTAsMHg3ZSwweDQyLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMH19LAotIHsxNiwweDQwOTAsMCx7MHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MCwweDQyLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMH19LAotIHsxNiwweDQwYTAsMCx7MHg5MCwweDdlLDB4NDIsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3ZSwweDQzLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMH19LAotIHsxNiwweDQwYjAsMCx7MHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MH19LAotIHsxNiwweDQwYzAsMCx7MHgxOSwweGQyLDB4M2IsMHhkMiwweDNjLDB4ODAsMHgxMywweGQyLDB4M2IsMHg4MCwweDBmLDB4OTAsMHg4MCwweDA1LDB4ZTUsMHgxN319LAotIHsxNiwweDQwZDAsMCx7MHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDIwLDB4M2IsMHgwNCwweDA1LDB4MGQsMHg4MH19LAotIHsxNiwweDQwZTAsMCx7MHgxZiwweDMwLDB4M2MsMHgxYywweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDIsMHhlMH19LAotIHsxNiwweDQwZjAsMCx7MHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMX19LAotIHsxNiwweDQxMDAsMCx7MHgwNSwweDBmLDB4MTUsMHgxMSwweDAxLDB4MDAsMHhlNSwweDExLDB4NzAsMHgxMCwweGMyLDB4MzMsMHhmNSwweDBkLDB4ZjUsMHgwZn19LAotIHsxMSwweDQxMTAsMCx7MHg5MCwweDdmLDB4YzcsMHg3NCwweDA0LDB4ZjAsMHhjMiwweDNiLDB4YzIsMHgzYywweDIyfX0sCi0gezE2LDB4NDExYiwwLHsweDkwLDB4NzYsMHg4ZCwweGUwLDB4NjQsMHgwMSwweDcwLDB4MjcsMHgzMCwweDI3LDB4MDgsMHhjMiwweDI3LDB4MTIsMHgwOCwweDAwfX0sCi0gezE2LDB4NDEyYiwwLHsweDEyLDB4MTcsMHg0YSwweDMwLDB4MjgsMHgwOCwweGMyLDB4MjgsMHgxMiwweDM4LDB4NzQsMHgxMiwweDE3LDB4NGEsMHgzMCwweDJhfX0sCi0gezE2LDB4NDEzYiwwLHsweDBlLDB4ZTQsMHg5MCwweDc2LDB4OGQsMHhmMCwweGMyLDB4MmEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDkwfX0sCi0gezE2LDB4NDE0YiwwLHsweDc2LDB4M2YsMHhlMCwweGI0LDB4MDEsMHgwNSwweGU0LDB4ZjAsMHgxMiwweDMyLDB4NmYsMHg5MCwweDc2LDB4NDEsMHhlMCwweGI0fX0sCi0gezE2LDB4NDE1YiwwLHsweDAxLDB4MDUsMHhlNCwweGYwLDB4MTIsMHgzNCwweDlhLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgxMiwweDM0fX0sCi0gezE2LDB4NDE2YiwwLHsweDlhLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgyMCwweGU0LDB4MDIsMHhjMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgzMCwweGU0fX0sCi0gezE2LDB4NDE3YiwwLHsweDAyLDB4ZDIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwLDB4MjAsMHhlNSwweDAyLDB4YzIsMHgzZSwweDkwLDB4N2YsMHg5YiwweGUwfX0sCi0gezE2LDB4NDE4YiwwLHsweDMwLDB4ZTUsMHgwMiwweGQyLDB4M2UsMHhhMiwweDQxLDB4MzAsMHgzZiwweDAxLDB4YjMsMHg1MCwweDFmLDB4YTIsMHgzZiwweDkyfX0sCi0gezE2LDB4NDE5YiwwLHsweDQxLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3fX0sCi0gezE2LDB4NDFhYiwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDMwLDB4M2YsMHgzNCwweDkwfX0sCi0gezE2LDB4NDFiYiwwLHsweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4YTMsMHg3NCwweDA2fX0sCi0gezE2LDB4NDFjYiwwLHsweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwYiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweGYwfX0sCi0gezE2LDB4NDFkYiwwLHsweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGIsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4NDFlYiwwLHsweDc0LDB4MTgsMHhmMCwweGEyLDB4NDAsMHgzMCwweDNlLDB4MDEsMHhiMywweDUwLDB4MWYsMHhhMiwweDNlLDB4OTIsMHg0MCwweDMwfX0sCi0gezE2LDB4NDFmYiwwLHsweDNlLDB4MDksMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0fX0sCi0gezExLDB4NDIwYiwwLHsweGZiLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0MjE2LDAsezB4OTAsMHg3NiwweDE5LDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgzNSwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhkMywweDk0LDB4MmR9fSwKLSB7MTYsMHg0MjI2LDAsezB4NDAsMHgyYiwweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDN9fSwKLSB7MTYsMHg0MjM2LDAsezB4OTQsMHgwZiwweDQwLDB4MTksMHhlNCwweGYwLDB4ZWYsMHhkMywweDk0LDB4MzEsMHg0MCwweDA4LDB4OTAsMHg3NiwweDE5LDB4NzR9fSwKLSB7MTYsMHg0MjQ2LDAsezB4MDMsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc2LDB4MTksMHg3NCwweDAyLDB4ZjAsMHgxMiwweDNlLDB4OGYsMHg5MCwweDc2LDB4MTl9fSwKLSB7MTYsMHg0MjU2LDAsezB4ZTAsMHhiNCwweDAyLDB4MmMsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgyMiwweGVmLDB4ZDN9fSwKLSB7MTYsMHg0MjY2LDAsezB4OTQsMHgyYSwweDQwLDB4MWMsMHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjB9fSwKLSB7MTYsMHg0Mjc2LDAsezB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MCwweDBhLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgxOSwweDA0LDB4ZjAsMHgxMiwweDNlLDB4OGZ9fSwKLSB7MTYsMHg0Mjg2LDAsezB4OTAsMHg3NiwweDE5LDB4ZTAsMHhiNCwweDAyLDB4MjYsMHg5MCwweDc2LDB4ODcsMHhlMCwweGQzLDB4OTQsMHgzMSwweDQwLDB4MWR9fSwKLSB7MTYsMHg0Mjk2LDAsezB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGZ9fSwKLSB7MTYsMHg0MmE2LDAsezB4NDAsMHgwYiwweGU0LDB4ZjAsMHg5MCwweDc2LDB4MTksMHg3NCwweDAzLDB4ZjAsMHgxMiwweDNlLDB4OGYsMHg5MCwweDc2LDB4MTl9fSwKLSB7MTYsMHg0MmI2LDAsezB4ZTAsMHg2NCwweDAzLDB4NzAsMHgzZiwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhjMywweDk0LDB4NWYsMHg1MCwweDM1LDB4OTB9fSwKLSB7MTYsMHg0MmM2LDAsezB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDB9fSwKLSB7MTYsMHg0MmQ2LDAsezB4MjMsMHhlNCwweGYwLDB4ZWYsMHhjMywweDk0LDB4MmYsMHg1MCwweDBjLDB4ZWYsMHhkMywweDk0LDB4MmEsMHg0MCwweDA2LDB4OTB9fSwKLSB7MTYsMHg0MmU2LDAsezB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDJmLDB4NDAsMHgwNiwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDJ9fSwKLSB7MTYsMHg0MmY2LDAsezB4ZjAsMHgxMiwweDNlLDB4OGYsMHg5MCwweDc2LDB4ODYsMHhlMCwweDcwLDB4MDUsMHg5MCwweDc2LDB4ODUsMHhmMCwweDIyLDB4ZTR9fSwKLSB7IDUsMHg0MzA2LDAsezB4OTAsMHg3NiwweDg2LDB4ZjAsMHgyMn19LAotIHsxNiwweDQzMGIsMCx7MHhlNCwweDkwLDB4NzYsMHg5NiwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZTAsMHg3NCwweDkwLDB4ZjAsMHg5MH19LAotIHsxNiwweDQzMWIsMCx7MHg3ZiwweGUxLDB4NzQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4ZGQsMHhmMCwweDkwLDB4N2YsMHhhMSwweGYwLDB4NTMsMHg4ZX19LAotIHsxNiwweDQzMmIsMCx7MHhmOCwweDc1LDB4ODgsMHgwNSwweDc1LDB4YjgsMHgyMCwweDc1LDB4ZjgsMHgwMSwweDQzLDB4OGUsMHgzMCwweGY1LDB4YzgsMHg3NX19LAotIHsxNiwweDQzM2IsMCx7MHhjYSwweDdmLDB4NzUsMHhjYiwweGY4LDB4NDMsMHhhOCwweDIwLDB4MTIsMHgwNywweDRhLDB4YzIsMHgyYywweGMyLDB4MmQsMHhjMn19LAotIHsxNiwweDQzNGIsMCx7MHgyYiwweGMyLDB4MmYsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGRkLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZmLDB4ZjAsMHg5MH19LAotIHsxNiwweDQzNWIsMCx7MHg3ZiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4NX19LAotIHsxNiwweDQzNmIsMCx7MHhmMCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MTIsMHg0OSwweDU4LDB4MTIsMHgwZn19LAotIHsxNiwweDQzN2IsMCx7MHhjNiwweDEyLDB4NGEsMHg4ZCwweDkwLDB4N2YsMHg5NywweGUwLDB4NDQsMHgwOCwweGYwLDB4ZTAsMHg1NCwweGI5LDB4ZjAsMHhkMn19LAotIHsxNiwweDQzOGIsMCx7MHgzMCwweDIwLDB4MzAsMHgxOCwweDEyLDB4NDcsMHhiNCwweDEyLDB4MzAsMHgwMCwweDEyLDB4NDAsMHgwMCwweDEyLDB4NDIsMHgxNn19LAotIHsxNiwweDQzOWIsMCx7MHgxMiwweDRhLDB4NTAsMHgxMiwweDFiLDB4MDQsMHgxMiwweDE2LDB4NjEsMHgxMiwweDQyLDB4MTYsMHhjMiwweDJmLDB4YzIsMHgzMX19LAotIHsxNiwweDQzYWIsMCx7MHhjMiwweDMyLDB4YzIsMHgzNCwweGMyLDB4MzMsMHhjMiwweDI5LDB4YzIsMHgyNywweGMyLDB4MjgsMHhlNCwweGY1LDB4MTEsMHg5MH19LAotIHsxNiwweDQzYmIsMCx7MHg3NiwweDg5LDB4ZjAsMHg5MCwweDc2LDB4M2YsMHhmMCwweDkwLDB4NzYsMHg0MSwweGYwLDB4OTAsMHg3NiwweDQwLDB4ZjAsMHg5MH19LAotIHsxNiwweDQzY2IsMCx7MHg3NiwweDhhLDB4ZjAsMHhhMywweGYwLDB4YTMsMHgwNCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3NiwweDk5LDB4ZjAsMHgyMn19LAotIHsxNiwweDQzZGIsMCx7MHgxMiwweDRkLDB4YTMsMHg0MCwweDAyLDB4ODEsMHhhMCwweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhmZSwweDYwLDB4MWUsMHgxNH19LAotIHsxNiwweDQzZWIsMCx7MHg2MCwweDQ2LDB4MTQsMHg2MCwweDZlLDB4MTQsMHg3MCwweDAyLDB4ODEsMHg5MSwweDI0LDB4MDQsMHg2MCwweDAyLDB4ODEsMHg5OX19LAotIHsxNiwweDQzZmIsMCx7MHg3NCwweDA1LDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHg3NCwweDAwLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYX19LAotIHsxNiwweDQ0MGIsMCx7MHhlMCwweGZmLDB4MTIsMHg0OSwweGZmLDB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZX19LAotIHsxNiwweDQ0MWIsMCx7MHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMn19LAotIHsxNiwweDQ0MmIsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDEyLDB4NDgsMHhiMH19LAotIHsxNiwweDQ0M2IsMCx7MHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlLDB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3Zn19LAotIHsxNiwweDQ0NGIsMCx7MHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH19LAotIHsxNiwweDQ0NWIsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYn19LAotIHsxNiwweDQ0NmIsMCx7MHgxMiwweDE3LDB4OTQsMHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlLDB4ZWEsMHhjZX19LAotIHsxNiwweDQ0N2IsMCx7MHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsxNiwweDQ0OGIsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsgNSwweDQ0OWIsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0geyAxLDB4NDRhMCwwLHsweDIyfX0sCi0gezE2LDB4NDRhMSwwLHsweGMyLDB4YWYsMHhkMiwweDI0LDB4OTAsMHg3ZiwweDkzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHhiYiwweGYwfX0sCi0gezE2LDB4NDRiMSwwLHsweDkwLDB4N2YsMHg5NiwweGUwLDB4NDQsMHgzMCwweGYwLDB4ZTAsMHg1NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OTQsMHg3NCwweDMwfX0sCi0gezE2LDB4NDRjMSwwLHsweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHhjZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweDk1fX0sCi0gezE2LDB4NDRkMSwwLHsweDc0LDB4YzAsMHhmMCwweDkwLDB4N2YsMHg5ZSwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHg5OSwweGUwLDB4MzAsMHhlMiwweDA5fX0sCi0gezE2LDB4NDRlMSwwLHsweDkwLDB4MDUsMHgxOSwweDc0LDB4YTAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGMyLDB4MjUsMHhjMiwweDIyLDB4YzIsMHgyMywweGMyfX0sCi0gezE2LDB4NDRmMSwwLHsweDI2LDB4MTIsMHg0YSwweGM0LDB4MTIsMHgyZCwweGE5LDB4MTIsMHgzYiwweGQzLDB4MTIsMHg0NSwweDU5LDB4MTIsMHgzYSwweDQyfX0sCi0gezE2LDB4NDUwMSwwLHsweDkwLDB4NzYsMHg2OCwweDc0LDB4MDEsMHhmMCwweDcwLDB4MGYsMHgxMiwweDRiLDB4YmIsMHgxMiwweDA3LDB4ZmUsMHgxMiwweDRkfX0sCi0gezE2LDB4NDUxMSwwLHsweGExLDB4MTIsMHgxYiwweDQwLDB4MTIsMHgxNCwweDk2LDB4MTIsMHg0MywweDBiLDB4OTAsMHg3ZiwweGFmLDB4ZTAsMHg0NCwweDAxfX0sCi0gezE2LDB4NDUyMSwwLHsweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDFmLDB4ZjAsMHg5MCwweDdmLDB4YWMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4NDUzMSwwLHsweGFkLDB4ZjAsMHg5MCwweDdmLDB4ZGUsMHhmMCwweDkwLDB4N2YsMHhkZiwweGYwLDB4OTAsMHg3ZiwweGFiLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4NDU0MSwwLHsweGE5LDB4ZjAsMHg5MCwweDdmLDB4YWEsMHhmMCwweDUzLDB4OTEsMHhlZiwweDQzLDB4ZDgsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4fX0sCi0geyA4LDB4NDU1MSwwLHsweDIwLDB4NTMsMHhhOCwweGEwLDB4NDMsMHhhOCwweDgwLDB4MjJ9fSwKLSB7MTYsMHg0NTU5LDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0NTY5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0NTc5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzV9fSwKLSB7MTYsMHg0NTg5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHg0NTk5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4OTB9fSwKLSB7MTYsMHg0NWE5LDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0NWI5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0NWM5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzV9fSwKLSB7MTYsMHg0NWQ5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHg0NWU5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4MjJ9fSwKLSB7MTIsMHg0NWY5LDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDM4LDB4MDIsMHg0NiwweDQwfX0sCi0gezE2LDB4NDYwNSwwLHsweDAyLDB4NDcsMHg1YSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfX0sCi0gezE2LDB4NDYxNSwwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfX0sCi0gezE2LDB4NDYyNSwwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfX0sCi0gezE2LDB4NDYzNSwwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDBjLDB4OGYsMHhlNCwweDdlfX0sCi0gezE2LDB4NDY0NSwwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfX0sCi0gezE2LDB4NDY1NSwwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfX0sCi0gezE2LDB4NDY2NSwwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfX0sCi0gezE2LDB4NDY3NSwwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfX0sCi0gezE2LDB4NDY4NSwwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4OTAsMHg3NiwweDgzLDB4ZjAsMHhlMCwweDE0LDB4NjAsMHgxZCwweDE0LDB4NjAsMHgyYSwweDE0fX0sCi0gezE2LDB4NDY5NSwwLHsweDYwLDB4MzcsMHgxNCwweDYwLDB4NDQsMHgyNCwweDA0LDB4NzAsMHg1MCwweDkwLDB4NzYsMHg5MSwweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZhNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHg0NywweDkwLDB4NzYsMHg5MiwweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZiNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgzNywweDkwLDB4NzYsMHg5MCwweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZjNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgyNywweDkwLDB4NzYsMHg4NCwweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZkNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgxNywweDkwLDB4NzYsMHg5MywweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZlNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0geyAyLDB4NDZmNSwwLHsweGQzLDB4MjJ9fSwKLSB7MTYsMHg0NmY3LDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9fSwKLSB7MTYsMHg0NzA3LDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9fSwKLSB7MTYsMHg0NzE3LDAsezB4YzAsMHhlMCwweGMyLDB4Y2EsMHhjMiwweGNmLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgzMCwweDJlLDB4MDN9fSwKLSB7MTYsMHg0NzI3LDAsezB4MTIsMHgxNCwweGE2LDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg1MywweGE4LDB4ZmEsMHgxMiwweDE2LDB4NjF9fSwKLSB7MTYsMHg0NzM3LDAsezB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDB9fSwKLSB7MTYsMHg0NzQ3LDAsezB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjB9fSwKLSB7IDMsMHg0NzU3LDAsezB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NDc1YSwwLHsweGU0LDB4OTAsMHg3NiwweDY2LDB4ZjAsMHgxMiwweDQ0LDB4YTEsMHgyMCwweDI2LDB4MTMsMHg5MCwweDc2LDB4NjYsMHhlMCwweGMzfX0sCi0gezE2LDB4NDc2YSwwLHsweDk0LDB4MDIsMHg1MCwweDBhLDB4ZTAsMHgwNCwweGYwLDB4ZDIsMHg0MiwweDEyLDB4NGEsMHhmNiwweDgwLDB4ZWEsMHgzMCwweDI2fX0sCi0gezE2LDB4NDc3YSwwLHsweDA1LDB4MTIsMHgyOCwweDAxLDB4YzIsMHgyNiwweDMwLDB4MjUsMHgyYiwweDkwLDB4NzYsMHg5NiwweGUwLDB4NTQsMHhmYywweGYwfX0sCi0gezE2LDB4NDc4YSwwLHsweDkwLDB4ODAsMHgwMywweGYwLDB4MTIsMHgxNCwweDk2LDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg5MCwweDgwfX0sCi0gezE2LDB4NDc5YSwwLHsweDAzLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg2NywweGYwLDB4OTAsMHg3NiwweDY3LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhiNCwweDRifX0sCi0gezEwLDB4NDdhYSwwLHsweGY2LDB4MTIsMHgzZiwweGZhLDB4MTIsMHg0MSwweDFiLDB4ODAsMHhjNSwweDIyfX0sCi0gezE2LDB4NDdiNCwwLHsweGU0LDB4OTAsMHg3NiwweDliLDB4ZjAsMHg5MCwweDc2LDB4OWIsMHhlMCwweGZmLDB4MDQsMHhmMCwweGVmLDB4NjAsMHgwOCwweGUwfX0sCi0gezE2LDB4NDdjNCwwLHsweDI0LDB4MDgsMHhmOCwweGU0LDB4ZjYsMHg4MCwweGVlLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg1NCwweGY3fX0sCi0gezE2LDB4NDdkNCwwLHsweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhlNCwweGY1LDB4MTgsMHhkMiwweDM1LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhkMiwweDM2fX0sCi0gezE2LDB4NDdlNCwwLHsweDc1LDB4MTIsMHgxMSwweDc1LDB4MTMsMHgyMiwweGMyLDB4MzcsMHhjMiwweDM5LDB4YzIsMHgzOCwweGY1LDB4MTYsMHhmNSwweDE0fX0sCi0gezExLDB4NDdmNCwwLHsweGY1LDB4MWEsMHhmNSwweDBkLDB4YzIsMHgzYiwweGMyLDB4M2MsMHhjMiwweDNkLDB4MjJ9fSwKLSB7MTYsMHg0ODAwLDAsezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg5MCwweDc2LDB4ODMsMHhmMCwweGUwLDB4MTQsMHg2MCwweDE3LDB4MTQsMHg2MCwweDIxLDB4MTR9fSwKLSB7MTYsMHg0ODEwLDAsezB4NjAsMHgyYiwweDE0LDB4NjAsMHgzMiwweDI0LDB4MDQsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTF9fSwKLSB7MTYsMHg0ODIwLDAsezB4ZjAsMHg4MCwweDM1LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTIsMHhmMCwweDEyLDB4M2UsMHg4ZiwweDgwLDB4Mjh9fSwKLSB7MTYsMHg0ODMwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTAsMHhmMCwweDEyLDB4MTgsMHgwMCwweDgwLDB4MWIsMHg5MCwweDdmLDB4ZWF9fSwKLSB7MTYsMHg0ODQwLDAsezB4ZTAsMHg5MCwweDc2LDB4ODQsMHhmMCwweDgwLDB4MTEsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MywweGYwLDB4ODB9fSwKLSB7MTAsMHg0ODUwLDAsezB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGQzLDB4MjJ9fSwKLSB7MTYsMHg0ODVhLDAsezB4ZTQsMHg5MCwweDc2LDB4MjYsMHhmMCwweDkwLDB4NzYsMHgyNiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzR9fSwKLSB7MTYsMHg0ODZhLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHg0ODdhLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHg0ODhhLDAsezB4ZWYsMHhiNCwweDA0LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHg0ODlhLDAsezB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTB9fSwKLSB7IDYsMHg0OGFhLDAsezB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyfX0sCi0geyAyLDB4NDhiMCwwLHsweDhmLDB4MmV9fSwKLSB7MTYsMHg0OGIyLDAsezB4ZTQsMHhmNSwweDJmLDB4NzUsMHgzMCwweGZmLDB4NzUsMHgzMSwweDA2LDB4NzUsMHgzMiwweGJlLDB4YWIsMHgzMCwweGFhLDB4MzF9fSwKLSB7MTYsMHg0OGMyLDAsezB4YTksMHgzMiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweGI0LDB4MDMsMHgxZiwweGFmLDB4MmYsMHgwNSwweDJmLDB4ZWZ9fSwKLSB7MTYsMHg0OGQyLDAsezB4NjUsMHgyZSwweDcwLDB4MDEsMHgyMiwweDEyLDB4MzYsMHg5MiwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYSwweGM5LDB4ZWZ9fSwKLSB7MTYsMHg0OGUyLDAsezB4YzksMHg3NSwweDMwLDB4ZmYsMHhmNSwweDMxLDB4ODksMHgzMiwweDgwLDB4ZDIsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9fSwKLSB7IDEsMHg0OGYyLDAsezB4MjJ9fSwKLSB7MTIsMHg0OGYzLDAsezB4YzIsMHgzNywweGU0LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhjMiwweDM2LDB4ZjUsMHgxNCwweDIyfX0sCi0gezE2LDB4NDkwMCwwLHsweDAyLDB4MmYsMHhlNywweDAwLDB4MDIsMHgzZCwweDQ3LDB4MDAsMHgwMiwweDRkLDB4NDYsMHgwMCwweDAyLDB4NGIsMHhkNSwweDAwfX0sCi0gezE2LDB4NDkxMCwwLHsweDAyLDB4NGIsMHg2MCwweDAwLDB4MDIsMHgyZiwweGZmLDB4MDAsMHgwMiwweDRiLDB4ZWQsMHgwMCwweDAyLDB4NGIsMHg4MSwweDAwfX0sCi0gezE2LDB4NDkyMCwwLHsweDAyLDB4NGMsMHgwNCwweDAwLDB4MDIsMHgzZiwweGQ1LDB4MDAsMHgwMiwweDRjLDB4MWIsMHgwMCwweDAyLDB4NGMsMHgzMiwweDAwfX0sCi0gezE2LDB4NDkzMCwwLHsweDAyLDB4NGMsMHg0OSwweDAwLDB4MDIsMHg0YywweDYwLDB4MDAsMHgwMiwweDRjLDB4NzcsMHgwMCwweDAyLDB4NGMsMHg4ZSwweDAwfX0sCi0gezE2LDB4NDk0MCwwLHsweDAyLDB4NGMsMHhhNSwweDAwLDB4MDIsMHg0YywweGJjLDB4MDAsMHgwMiwweDRjLDB4ZDMsMHgwMCwweDAyLDB4NGMsMHhlYSwweDAwfX0sCi0geyA4LDB4NDk1MCwwLHsweDAyLDB4NGQsMHgwMSwweDAwLDB4MDIsMHg0ZCwweDE4LDB4MDB9fSwKLSB7MTYsMHg0OTU4LDAsezB4OTAsMHg3NiwweDQ2LDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHg0OTY4LDAsezB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjB9fSwKLSB7MTYsMHg0OTc4LDAsezB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHg0OTg4LDAsezB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjB9fSwKLSB7MTYsMHg0OTk4LDAsezB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjB9fSwKLSB7IDUsMHg0OWE4LDAsezB4YTMsMHhmMCwweGEzLDB4ZjAsMHgyMn19LAotIHsxNiwweDQ5YWQsMCx7MHhlNCwweDkwLDB4NzYsMHgyNSwweGYwLDB4OTAsMHg3NiwweDI1LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzNH19LAotIHsxNiwweDQ5YmQsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDQ5Y2QsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDQsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI1LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDQ5ZGQsMCx7MHhlZiwweGI0LDB4MDQsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlLDB4YzAsMHhlMH19LAotIHsxNiwweDQ5ZWQsMCx7MHhmZSwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZX19LAotIHsgMiwweDQ5ZmQsMCx7MHhmMCwweDIyfX0sCi0gezE2LDB4NDlmZiwwLHsweGU0LDB4ZmUsMHg3NSwweDFkLDB4ZmYsMHg3NSwweDFlLDB4MDUsMHg3NSwweDFmLDB4MTIsMHhhYiwweDFkLDB4YWEsMHgxZSwweGE5fX0sCi0gezE2LDB4NGEwZiwwLHsweDFmLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4NjQsMHgwMiwweDcwLDB4MmYsMHhjZCwweGVlLDB4Y2QsMHgwZSwweGVkfX0sCi0gezE2LDB4NGExZiwwLHsweDZmLDB4NzAsMHgwMSwweDIyLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgzNywweDBlLDB4ODUsMHhmMCwweDFiLDB4ZjUsMHgxYywweDYyfX0sCi0gezE2LDB4NGEyZiwwLHsweDFiLDB4ZTUsMHgxYiwweDYyLDB4MWMsMHhlNSwweDFjLDB4NjIsMHgxYiwweDI5LDB4ZmQsMHhlNSwweDFiLDB4M2EsMHhjOSwweGVkfX0sCi0gezE2LDB4NGEzZiwwLHsweGM5LDB4NzUsMHgxZCwweGZmLDB4ZjUsMHgxZSwweDg5LDB4MWYsMHg4MCwweGMxLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfX0sCi0geyAxLDB4NGE0ZiwwLHsweDIyfX0sCi0gezE2LDB4NGE1MCwwLHsweDMwLDB4MmQsMHgzOSwweGMyLDB4MmQsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBkLDB4ZTQsMHg5MCwweDc2fX0sCi0gezE2LDB4NGE2MCwwLHsweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjgsMHhmMCwweGEzLDB4NzQsMHgwYSwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGQsMHhlNCwweDkwfX0sCi0gezE2LDB4NGE3MCwwLHsweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHhmMCwweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwZCwweGU0fX0sCi0gezEzLDB4NGE4MCwwLHsweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweGY4LDB4ZjAsMHhhMywweDc0LDB4MTcsMHhmMCwweDIyfX0sCi0gezE2LDB4NGE4ZCwwLHsweGU0LDB4ZmYsMHg3NCwweDU2LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDI4fX0sCi0gezE2LDB4NGE5ZCwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHg1ZSwweDJmLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NGFhZCwwLHsweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MzgsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzfX0sCi0geyA2LDB4NGFiZCwwLHsweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhjY319LAotIHsgMSwweDRhYzMsMCx7MHgyMn19LAotIHsxNiwweDRhYzQsMCx7MHhlNCwweDkwLDB4NzIsMHgzNiwweGYwLDB4YTMsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MH19LAotIHsxNiwweDRhZDQsMCx7MHg3MiwweDMzLDB4ZjAsMHg5MCwweDcyLDB4MzIsMHhmMCwweDkwLDB4NzIsMHgwMSwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzIsMHgzM319LAotIHsxNiwweDRhZTQsMCx7MHhmMCwweDkwLDB4NzIsMHgzMiwweGYwLDB4OTAsMHg3MiwweDAxLDB4MDQsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NDQsMHgwNH19LAotIHsgMiwweDRhZjQsMCx7MHhmMCwweDIyfX0sCi0gezE2LDB4NGFmNiwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmYiwweGYwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDQyLDB4MDQsMHhlMCwweDQ0fX0sCi0gezE2LDB4NGIwNiwwLHsweDAyLDB4ZjAsMHg3ZiwweGRjLDB4N2UsMHgwNSwweDEyLDB4NGQsMHgyZiwweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmNywweGYwfX0sCi0geyA1LDB4NGIxNiwwLHsweGUwLDB4NDQsMHgwNCwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YjFiLDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTQsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDA0LDB4MTJ9fSwKLSB7MTYsMHg0YjJiLDAsezB4NDgsMHg1YSwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9fSwKLSB7IDMsMHg0YjNiLDAsezB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4NGIzZSwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDEzLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgxNCwweDcwLDB4MDQsMHgxMiwweDQ5fX0sCi0gezE2LDB4NGI0ZSwwLHsweGFkLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfX0sCi0geyAyLDB4NGI1ZSwwLHsweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YjYwLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4OTB9fSwKLSB7MTYsMHg0YjcwLDAsezB4NzYsMHg5NiwweGUwLDB4NTQsMHhmZCwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTB9fSwKLSB7IDEsMHg0YjgwLDAsezB4MzJ9fSwKLSB7MTYsMHg0YjgxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTUsMHg0YjkxLDAsezB4YzIsMHgyOSwweDkwLDB4NzYsMHg4ZCwweDc0LDB4MDEsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGJhMCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDgyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg5MSwweGYwLDB4OTAsMHg3NiwweDkyfX0sCi0gezExLDB4NGJiMCwwLHsweGYwLDB4OTAsMHg3NiwweDkwLDB4ZjAsMHg5MCwweDc2LDB4OTMsMHhmMCwweGQzLDB4MjJ9fSwKLSB7MTYsMHg0YmJiLDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHgzMCwweGU3LDB4MTIsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDdmLDB4MTQsMHg3ZSwweDAwLDB4MTJ9fSwKLSB7MTAsMHg0YmNiLDAsezB4NGQsMHgyZiwweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmZSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YmQ1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyNSwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDh9fSwKLSB7IDgsMHg0YmU1LDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRiZWQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsgNywweDRiZmQsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjMDQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDIsMHhmMH19LAotIHsgNywweDRjMTQsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjMWIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDQsMHhmMH19LAotIHsgNywweDRjMmIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjMzIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDQsMHhmMH19LAotIHsgNywweDRjNDIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjNDksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDgsMHhmMH19LAotIHsgNywweDRjNTksMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjNjAsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDgsMHhmMH19LAotIHsgNywweDRjNzAsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjNzcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MTAsMHhmMH19LAotIHsgNywweDRjODcsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjOGUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MTAsMHhmMH19LAotIHsgNywweDRjOWUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjYTUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MjAsMHhmMH19LAotIHsgNywweDRjYjUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjYmMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MjAsMHhmMH19LAotIHsgNywweDRjY2MsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjZDMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4NDAsMHhmMH19LAotIHsgNywweDRjZTMsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjZWEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4NDAsMHhmMH19LAotIHsgNywweDRjZmEsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRkMDEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4ODAsMHhmMH19LAotIHsgNywweDRkMTEsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRkMTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4ODAsMHhmMH19LAotIHsgNywweDRkMjgsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRkMmYsMCx7MHg4ZSwweDM1LDB4OGYsMHgzNiwweGU1LDB4MzYsMHgxNSwweDM2LDB4YWUsMHgzNSwweDcwLDB4MDIsMHgxNSwweDM1LDB4NGUsMHg2MH19LAotIHsgNywweDRkM2YsMCx7MHgwNSwweDEyLDB4MTQsMHg4NSwweDgwLDB4ZWUsMHgyMn19LAotIHsxNiwweDRkNDYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMH19LAotIHsgNiwweDRkNTYsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0ZDVjLDAsezB4OTAsMHg3NiwweDgyLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweGQzLDB4MjJ9fSwKLSB7IDksMHg0ZDZjLDAsezB4YzIsMHgyNSwweDUzLDB4ZDgsMHhlZiwweDQzLDB4ZDgsMHgyMCwweDMyfX0sCi0geyA3LDB4NGQ3NSwwLHsweDUzLDB4OTgsMHhmZSwweDUzLDB4OTgsMHhmZCwweDMyfX0sCi0geyA3LDB4NGQ3YywwLHsweDUzLDB4YzAsMHhmZSwweDUzLDB4YzAsMHhmZCwweDMyfX0sCi0geyA2LDB4NGQ4MywwLHsweDUzLDB4OTEsMHhiZiwweGQyLDB4MmQsMHgzMn19LAotIHsgNiwweDRkODksMCx7MHg1MywweDkxLDB4N2YsMHhkMiwweDJjLDB4MzJ9fSwKLSB7IDQsMHg0ZDhmLDAsezB4NTMsMHg5MSwweGRmLDB4MzJ9fSwKLSB7IDQsMHg0ZDkzLDAsezB4NTMsMHhkOCwweGY3LDB4MzJ9fSwKLSB7IDQsMHg0ZDk3LDAsezB4MTIsMHgxNywweDMwLDB4MjJ9fSwKLSB7IDMsMHg0ZDliLDAsezB4YzIsMHg4ZCwweDMyfX0sCi0geyAzLDB4NGQ5ZSwwLHsweGMyLDB4OGYsMHgzMn19LAotIHsgMiwweDRkYTEsMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhMywwLHsweGQzLDB4MjJ9fSwKLSB7IDIsMHg0ZGE1LDAsezB4ZDMsMHgyMn19LAotIHsgMiwweDRkYTcsMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhOSwwLHsweGQzLDB4MjJ9fSwKLSB7IDIsMHg0ZGFiLDAsezB4YzMsMHgyMn19LAotIHsgMCwweDAwMDAsMSx7MH19Ci19OwotLyogU291cmNlOiBFTUk2MlNGVy5IRVggCi06MTAwQzhGMDA0MTc2NjgwMTQxNzY2QTAyNDE3NjZCMEFDMTIwQzEyMTIzCi06MTA0NEExMDBDMkFGRDIyNDkwN0Y5Mzc0MzBGMDkwN0Y5Qzc0QkJGMEE0Ci06MTA0NEIxMDA5MDdGOTZFMDQ0MzBGMEUwNTQzMEYwOTA3Rjk0NzQzMDc3Ci06MTA0NEMxMDBGMDkwN0Y5RDc0Q0ZGMDkwN0Y5Nzc0QTBGMDkwN0Y5NUNFCi06MTA0NEQxMDA3NEMwRjA5MDdGOUU3NDAzRjA5MDdGOTlFMDMwRTIwOTAwCi06MTA0NEUxMDA5MDA1MTk3NEEwRjBFNEEzRjBDMjI1QzIyMkMyMjNDMjMwCi06MTA0NEYxMDAyNjEyNEFDNDEyMkRBOTEyM0JEMzEyNDU1OTEyM0E0MjJGCi06MTA0NTAxMDA5MDc2Njg3NDAxRjA3MDBGMTI0QkJCMTIwN0ZFMTI0RENBCi06MTA0NTExMDBBMTEyMUI0MDEyMTQ5NjEyNDMwQjkwN0ZBRkUwNDQwMThECi06MTA0NTIxMDBGMDkwN0ZBRUUwNDQxRkYwOTA3RkFDNzRGRkYwOTA3RjdECi06MTA0NTMxMDBBREYwOTA3RkRFRjA5MDdGREZGMDkwN0ZBQkYwOTA3RjY5Ci06MTA0NTQxMDBBOUYwOTA3RkFBRjA1MzkxRUY0M0Q4MjBEMkU4NDNEODQ1Ci06MDg0NTUxMDAyMDUzQThBMDQzQTg4MDIyMUEKLToxMDQ3NUEwMEU0OTA3NjY2RjAxMjQ0QTEyMDI2MTM5MDc2NjZFMEMzQjAKLToxMDQ3NkEwMDk0MDI1MDBBRTAwNEYwRDI0MjEyNEFGNjgwRUEzMDI2NTUKLToxMDQ3N0EwMDA1MTIyODAxQzIyNjMwMjUyQjkwNzY5NkUwNTRGQ0YwQ0IKLToxMDQ3OEEwMDkwODAwM0YwMTIxNDk2OTA3Njk2RTA0NDAzRjA5MDgwOUQKLToxMDQ3OUEwMDAzRjBFNDkwNzY2N0YwOTA3NjY3RTAwNEYwRTBCNDRCQkIKLTowQTQ3QUEwMEY2MTIzRkZBMTI0MTFCODBDNTIyRUYKLToxMDI4MDEwMEMyMjBDMjIxQzIyQTkwN0ZFOEUwMTIzN0Y5MjgzMDAwQTUKLToxMDI4MTEwMDI4OEMwMTI4QTIwMjJBMUYyMTJBNkEyMjI5M0Q4MDI5MDcKLToxMDI4MjEwMDdEODEyOUQxODIyQTg0QTEyQUJBQTIwMDAwMkFCRjkwREYKLToxMDI4MzEwMDdGRTlFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNDMKLToxMDI4NDEwMDcwNDAxMjRCQTA0MUNCMTI0REE3NDAwMjQxQ0I5MDdGNkIKLToxMDI4NTEwMEVBRTBCNDAxMDRDMjIyNDFDQjkwN0ZCNEUwNDQwMUYwMkMKLToxMDI4NjEwMDQxQ0IxMjREQTk5MDdGRUFFMEI0MDEwNEQyMjI0MUNCQzEKLToxMDI4NzEwMDkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwOUIKLToxMDI4ODEwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDI0NUIKLToxMDI4OTEwMEY1NzAwNTEyNDgwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxNEUKLToxMDI4QTEwMENCOTA3RkU5RTAyNEZENjA1NDI0MDI2MDAyMjEzNDEyQzAKLToxMDI4QjEwMDREQTc0MDAyNDFDQjkwN0ZFQUUwNzAzODkwN0ZFQ0UwNzkKLToxMDI4QzEwMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RDMKLToxMDI4RDEwMEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGRUYKLToxMDI4RTEwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0RDgKLToxMDI4RjEwMDIwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCMTI0REE5Q0YKLToxMDI5MDEwMDQwMDI0MUNCOTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0RUMKLToxMDI5MTEwMDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyNTMKLToxMDI5MjEwMEU0MzQ3RkY1ODM3NDAxRjA0MUNCOTA3RkI0RTA0NDAxM0UKLToxMDI5MzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwREUKLToxMDI5NDEwMDYwMTIyNEY4NjAwOTI0MDI3MDI5MTI0M0RCNDFDQjEyODIKLToxMDI5NTEwMDRENUM0MUNCMTI0REE1QTIyMkU0MzNGRjI1RTBGRkEyM0QKLToxMDI5NjEwMDIzRTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyMkQKLToxMDI5NzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwOUUKLToxMDI5ODEwMDYwMzMyNEY2NjAyQTI0MDQ3MDNEOTA3RkVCRTAyNERFNUUKLToxMDI5OTEwMDYwMEMwNDcwMTI5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGNTEKLToxMDI5QTEwMEI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCNkQKLToxMDI5QjEwMDEyNDY4NTQxQ0IxMjREQTVFNDkwN0YwMEYwQTNGMDkwMjMKLToxMDI5QzEwMDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCN0MKLToxMDI5RDEwMDkwN0ZFOUUwMjRGNDYwMzQyNDBDNzAzOTEyNERBNTkwMDUKLToxMDI5RTEwMDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1MUYKLToxMDI5RjEwMEUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwNTgKLToxMDJBMDEwMEYwRTRBM0YwOTA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwODUKLToxMDJBMTEwMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGODEKLToxMDJBMjEwMEU5RTAyNEY2NjAxMjE0NjAxQTI0MDI3MDFERDIyMDkwOEQKLToxMDJBMzEwMDdGQjRFMDQ0MDFGMDgwMTJEMjIwOTA3RkI0RTA0NDAxRTEKLToxMDJBNDEwMEYwODAwNzkwN0ZCNEUwNDQwMUYwMjAyMDE4OTA3RkVFRTEKLToxMDJBNTEwMEUwNzAwNEEzRTA2MDBCRDIyOUQyMjcxMjE3NEFEMjJBRDAKLToxMDJBNjEwMDgwMDMxMjA4MDBDMjIwODA2MTkwN0ZFRUUwNzAwNEEzMTEKLToxMDJBNzEwMEUwNjAwQkQyMjlEMjI4MTIxNzRBRDIyQTgwNEMxMjM4OTAKLToxMDJBODEwMDc0ODA0NzkwN0ZFOUUwMjRGRTYwMTIxNDYwMUEyNDAyRUEKLToxMDJBOTEwMDcwMUREMjIxOTA3RkI0RTA0NDAxRjA4MDEyRDIyMTkwQzgKLToxMDJBQTEwMDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwNUUKLToxMDJBQjEwMDIxMDMxMjEwMDBDMjIxODAxMTEyMkFENjgwMEMxMjRENUUKLToxMDJBQzEwMEFCNTAwNzkwN0ZCNEUwNDQwMUYwMjAyQTA3OTA3RkI0MTcKLTowNTJBRDEwMEUwNDQwMkYwMjJDOAotOjEwNDNEQjAwMTI0REEzNDAwMjgxQTA5MDdGRUJFMDI0RkU2MDFFMTRERgotOjEwNDNFQjAwNjA0NjE0NjA2RTE0NzAwMjgxOTEyNDA0NjAwMjgxOTlGRQotOjEwNDNGQjAwNzQwNTkwN0ZENEYwNzQwMDkwN0ZENUYwMjI5MDdGRUEwMwotOjEwNDQwQjAwRTBGRjEyNDlGRjhCMjA4QTIxODkyMkVBNDk2MDExQ0VGNQotOjEwNDQxQjAwRUFDRUVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjJBQwotOjEwNDQyQjAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFQUUwRkYxMjQ4QjBBNQotOjEwNDQzQjAwOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0VFRTkwN0Y0OQotOjEwNDQ0QjAwRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZCNEUwNDQ0QQotOjEwNDQ1QjAwMDFGMDIyOTA3RkVBRTBGRjkwN0VDMEUwRkRBM0UwRkIzRAotOjEwNDQ2QjAwMTIxNzk0OEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0U1OQotOjEwNDQ3QjAwRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZGNQotOjEwNDQ4QjAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0YyRAotOjA1NDQ5QjAwQjRFMDQ0MDFGMDUzCi06MDE0NEEwMDAyMkY5Ci06MDMwMDMzMDAwMjRENkMwRgotOjA5NEQ2QzAwQzIyNTUzRDhFRjQzRDgyMDMyRDAKLTowMjBDOUYwMEMxMkY2MwotOjA2M0ZGQTAwMTI0QUM0QzIzMTIyOEMKLToxMDQzMEIwMEU0OTA3Njk2RjA5MDgwMDNGMDkwN0ZFMDc0OTBGMDkwQkMKLToxMDQzMUIwMDdGRTE3NDA0RjBFNDkwN0ZEREYwOTA3RkExRjA1MzhFODkKLToxMDQzMkIwMEY4NzU4ODA1NzVCODIwNzVGODAxNDM4RTMwRjVDODc1OUEKLToxMDQzM0IwMENBN0Y3NUNCRjg0M0E4MjAxMjA3NEFDMjJDQzIyREMyRTQKLToxMDQzNEIwMDJCQzIyRjkwN0ZGQzc0RERGMDkwN0ZGRjc0RkZGMDkwRjkKLToxMDQzNUIwMDdGOTdFMDQ0MDFGMDkwNzYxOTc0MDFGMEU0OTA3Njg1MzQKLToxMDQzNkIwMEYwQTNGMDkwNzY4MUYwOTA3NjgwRjAxMjQ5NTgxMjBGRkUKLToxMDQzN0IwMEM2MTI0QThEOTA3Rjk3RTA0NDA4RjBFMDU0QjlGMEQyMTIKLToxMDQzOEIwMDMwMjAzMDE4MTI0N0I0MTIzMDAwMTI0MDAwMTI0MjE2N0YKLToxMDQzOUIwMDEyNEE1MDEyMUIwNDEyMTY2MTEyNDIxNkMyMkZDMjMxNUUKLToxMDQzQUIwMEMyMzJDMjM0QzIzM0MyMjlDMjI3QzIyOEU0RjUxMTkwRUIKLToxMDQzQkIwMDc2ODlGMDkwNzYzRkYwOTA3NjQxRjA5MDc2NDBGMDkwRDEKLToxMDQzQ0IwMDc2OEFGMEEzRjBBMzA0RjBFNEEzRjA5MDc2OTlGMDIyQTAKLToxMDRBNTAwMDMwMkQzOUMyMkQ5MDc2MTlFMEZGQjQwMTBERTQ5MDc2MjcKLToxMDRBNjAwMDdDRjBBMzc0RjhGMEEzNzQwQUYwRUZCNDAyMERFNDkwQTQKLToxMDRBNzAwMDc2N0NGMEEzNzRGMEYwQTM3NDBCRjBFRkI0MDMwREU0QjQKLTowRDRBODAwMDkwNzY3Q0YwQTM3NEY4RjBBMzc0MTdGMDIyNzgKLToxMDFCMDQwMDMwMkMzOEMyMkM5MDc2MTlFMEZGQjQwMTBFOTA3NjdDMEMKLToxMDFCMTQwMDc0QzBGMEEzNzQxNEYwQTM3NDBCRjBFRkI0MDIwREU0REEKLToxMDFCMjQwMDkwNzY3Q0YwQTM3NDEwRjBBMzc0MENGMEVGQjQwMzBCNjQKLTowQzFCMzQwMEU0OTA3NjdDRjBBMzc0MThGMEEzRjAyMjdCCi06MTA0MTFCMDA5MDc2OERFMDY0MDE3MDI3MzAyNzA4QzIyNzEyMDgwMEMzCi06MTA0MTJCMDAxMjE3NEEzMDI4MDhDMjI4MTIzODc0MTIxNzRBMzAyQTNDCi06MTA0MTNCMDAwRUU0OTA3NjhERjBDMjJBOTA3RkI0RTA0NDAyRjA5MEFBCi06MTA0MTRCMDA3NjNGRTBCNDAxMDVFNEYwMTIzMjZGOTA3NjQxRTBCNEIzCi06MTA0MTVCMDAwMTA1RTRGMDEyMzQ5QTkwNzY0MEUwQjQwMTAzMTIzNDc2Ci06MTA0MTZCMDA5QTkwN0Y5QkUwMjBFNDAyQzIzRjkwN0Y5QkUwMzBFNDdCCi06MTA0MTdCMDAwMkQyM0Y5MDdGOUJFMDIwRTUwMkMyM0U5MDdGOUJFMDA2Ci06MTA0MThCMDAzMEU1MDJEMjNFQTI0MTMwM0YwMUIzNTAxRkEyM0Y5MjE1Ci06MTA0MTlCMDA0MTMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5Nzc4Ci06MTA0MUFCMDBFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjAzMDNGMzQ5MDNECi06MTA0MUJCMDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjU5Ci06MTA0MUNCMDBGMEEzNzQwQkYwRUZCNDAyMEJFNDkwNzY3Q0YwQTNGMDQ5Ci06MTA0MURCMDBBMzc0MENGMEVGQjQwMzBCRTQ5MDc2N0NGMEEzRjBBMzg0Ci06MTA0MUVCMDA3NDE4RjBBMjQwMzAzRTAxQjM1MDFGQTIzRTkyNDAzMEYzCi06MTA0MUZCMDAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDY0Ci06MEI0MjBCMDBGQkYwOTA3Njk1RTA5MDgwMDFGMDIyMUYKLTowMjA3RkUwMEQzMjIwNAotOjAyNERBMTAwRDMyMjFCCi06MDI0REEzMDBEMzIyMTkKLToxMDRCQTAwMDkwN0ZFQUUwOTA3NjgyRjBFNDkwNzY5MUYwOTA3NjkyQjEKLTowQjRCQjAwMEYwOTA3NjkwRjA5MDc2OTNGMEQzMjIwNgotOjEwNEQ1QzAwOTA3NjgyRTA5MDdGMDBGMDkwN0ZCNTc0MDFGMEQzMjJDMgotOjEwNDgwMDAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDE3MTQ2MDIxMTQ0MAotOjEwNDgxMDAwNjAyQjE0NjAzMjI0MDQ3MDM4OTA3RkVBRTA5MDc2OTEyNwotOjEwNDgyMDAwRjA4MDM1OTA3RkVBRTA5MDc2OTJGMDEyM0U4RjgwMjhGQgotOjEwNDgzMDAwOTA3RkVBRTA5MDc2OTBGMDEyMTgwMDgwMUI5MDdGRUE1QgotOjEwNDg0MDAwRTA5MDc2ODRGMDgwMTE5MDdGRUFFMDkwNzY5M0YwODA5QgotOjBBNDg1MDAwMDc5MDdGQjRFMDQ0MDFGMEQzMjI4QQotOjEwNDY4NTAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDFEMTQ2MDJBMTRBRQotOjEwNDY5NTAwNjAzNzE0NjA0NDI0MDQ3MDUwOTA3NjkxRTA5MDdGMDA1OAotOjEwNDZBNTAwRjA5MDdGQjU3NDAxRjA4MDQ3OTA3NjkyRTA5MDdGMDA5RQotOjEwNDZCNTAwRjA5MDdGQjU3NDAxRjA4MDM3OTA3NjkwRTA5MDdGMDBBMAotOjEwNDZDNTAwRjA5MDdGQjU3NDAxRjA4MDI3OTA3Njg0RTA5MDdGMDBBQwotOjEwNDZENTAwRjA5MDdGQjU3NDAxRjA4MDE3OTA3NjkzRTA5MDdGMDA5RAotOjEwNDZFNTAwRjA5MDdGQjU3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA0RAotOjAyNDZGNTAwRDMyMkNFCi06MDI0REE1MDBEMzIyMTcKLTowMjREQTcwMEQzMjIxNQotOjAyNERBOTAwRDMyMjEzCi06MDI0REFCMDBDMzIyMjEKLToxMDJGRTcwMEMwRTBDMDgzQzA4MkQyMjY1MzkxRUY5MDdGQUI3NDAxQkIKLTowODJGRjcwMEYwRDA4MkQwODNEMEUwMzI1QgotOjEwNEQ0NjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwNEYwRDA3MwotOjA2NEQ1NjAwODJEMDgzRDBFMDMyQTAKLToxMDNENDcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwRjYKLToxMDNENTcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGQjEKLToxMDNENjcwMEMwRTA5MDdGQTJFMDkwNzY3RkYwOTA3Rjc0RTA5MDc2M0QKLToxMDNENzcwMDg3RjA5MDdGNzVFMDkwNzY4OEYwOTA3Rjk4RTA0NDAyMTYKLToxMDNEODcwMEYwOTA3Njk2RTBGRjIwRTEwQzQ0MDJGMDkwODAwM0YwN0IKLToxMDNEOTcwMEQyMzIxMjRBQzQ5MDc2N0ZFMDIwRTI1MDkwNzY4N0UwRDQKLToxMDNEQTcwMEZFQTNFMDdDMDAyNDAwRjUzNEVDM0VGNTMzOTA3Njk4RDIKLToxMDNEQjcwMEUwRkRBRTMzQUYzNDEyMzZEODkwNzY4N0VGRjBEMjJGQ0UKLToxMDNEQzcwMDMwMzEyOTIwM0YyNkMyMzE5MDdGOTRFMDU0Q0ZGMDkwQzQKLToxMDNERDcwMDdGOUFFMDMwRTQwNEQyMkRDMjJDOTA3RjlBRTAyMEU1NTAKLToxMDNERTcwMDA0QzIyREQyMkM5MDdGOTRFMDQ0MzBGMDEyNEE1MDEyMzYKLToxMDNERjcwMDFCMDQzMDJGMTIxMjQyMTZDMjJGNzVFODAxMTIxNjhBQzEKLToxMDNFMDcwMDc1RTgwREQyMkI4MDA1NzVFODAxQzIyQjIwMkIzNDkwNjUKLToxMDNFMTcwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2MDAKLToxMDNFMjcwMEYwQTM3NDBCRjBFRkI0MDIwQjkwNzY3Q0U0RjBBM0YwRjAKLToxMDNFMzcwMEEzNzQwQ0YwRUZCNDAzMEI5MDc2N0NFNEYwQTNGMEEzMkIKLToxMDNFNDcwMDc0MThGMDc1Q0FEMzc1Q0JGRUQyQ0EzMDM0MDRDMjM0QTUKLToxMDNFNTcwMDgwMDJEMjM0NTM5MUVGOTA3RkFCNzQwMkYwRjA5MDdGRTEKLToxMDNFNjcwMDk4RTA1NEZERjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRDgKLToxMDNFNzcwMEZDRDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwMjkKLTowODNFODcwMDgyRDA4M0QwRjBEMEUwMzJCQwotOjEwNEI2MDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwOTA4RgotOjEwNEI3MDAwNzY5NkUwNTRGREYwOTA4MDAzRjBEMDgyRDA4M0QwRTBCMAotOjAxNEI4MDAwMzIwMgotOjAxMkZGRjAwMzI5RgotOjEwNEJENTAwQzBFMEMwODNDMDgyRDIyNTUzOTFFRjkwN0ZBQjc0MDhBQgotOjA4NEJFNTAwRjBEMDgyRDA4M0QwRTAzMjUxCi06MTA0QkVEMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDFGMEYzCi06MDc0QkZEMDBEMDgyRDA4M0QwRTAzMjJBCi06MTA0QjgxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDFGMDVFCi06MEY0QjkxMDBDMjI5OTA3NjhENzQwMUYwRDA4MkQwODNEMEUwMzJBQgotOjEwNEMwNDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAyRjBEQQotOjA3NEMxNDAwRDA4MkQwODNEMEUwMzIxMgotOjEwM0ZENTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAyRjAxNQotOjEwM0ZFNTAwOTA3RkM3RTBGNTExNzUwRjAwNzUwRDAwRDIzM0QwODJCMwotOjA1M0ZGNTAwRDA4M0QwRTAzMjkyCi06MTA0QzFCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDRGMEMxCi06MDc0QzJCMDBEMDgyRDA4M0QwRTAzMkZCCi06MTA0QzMyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDRGMEE5Ci06MDc0QzQyMDBEMDgyRDA4M0QwRTAzMkU0Ci06MTA0QzQ5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDhGMDhGCi06MDc0QzU5MDBEMDgyRDA4M0QwRTAzMkNECi06MTA0QzYwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDhGMDc3Ci06MDc0QzcwMDBEMDgyRDA4M0QwRTAzMkI2Ci06MTA0Qzc3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MTBGMDU5Ci06MDc0Qzg3MDBEMDgyRDA4M0QwRTAzMjlGCi06MTA0QzhFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MTBGMDQxCi06MDc0QzlFMDBEMDgyRDA4M0QwRTAzMjg4Ci06MTA0Q0E1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MjBGMDFCCi06MDc0Q0I1MDBEMDgyRDA4M0QwRTAzMjcxCi06MTA0Q0JDMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MjBGMDAzCi06MDc0Q0NDMDBEMDgyRDA4M0QwRTAzMjVBCi06MTA0Q0QzMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0NDBGMENECi06MDc0Q0UzMDBEMDgyRDA4M0QwRTAzMjQzCi06MTA0Q0VBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0NDBGMEI1Ci06MDc0Q0ZBMDBEMDgyRDA4M0QwRTAzMjJDCi06MTA0RDAxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0ODBGMDVFCi06MDc0RDExMDBEMDgyRDA4M0QwRTAzMjE0Ci06MTA0RDE4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0ODBGMDQ2Ci06MDc0RDI4MDBEMDgyRDA4M0QwRTAzMkZECi06MTA0MjE2MDA5MDc2MTlFMDY0MDE3MDM1OTA3Njg3RTBGRkQzOTQyRDhGCi06MTA0MjI2MDA0MDJCOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzFBCi06MTA0MjM2MDA5NDBGNDAxOUU0RjBFRkQzOTQzMTQwMDg5MDc2MTk3NDQ2Ci06MTA0MjQ2MDAwM0YwODAwNjkwNzYxOTc0MDJGMDEyM0U4RjkwNzYxOTZDCi06MTA0MjU2MDBFMEI0MDIyQzkwNzY4N0UwRkZDMzk0MkY1MDIyRUZEMzcwCi06MTA0MjY2MDA5NDJBNDAxQzkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMERFCi06MTA0Mjc2MDBFMEQzOTQwRjQwMEFFNEYwOTA3NjE5MDRGMDEyM0U4RkQyCi06MTA0Mjg2MDA5MDc2MTlFMEI0MDIyNjkwNzY4N0UwRDM5NDMxNDAxREVCCi06MTA0Mjk2MDA5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjcyCi06MTA0MkE2MDA0MDBCRTRGMDkwNzYxOTc0MDNGMDEyM0U4RjkwNzYxOTY1Ci06MTA0MkI2MDBFMDY0MDM3MDNGOTA3Njg3RTBGRkMzOTQ1RjUwMzU5MENCCi06MTA0MkM2MDA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY0MDkyCi06MTA0MkQ2MDAyM0U0RjBFRkMzOTQyRjUwMENFRkQzOTQyQTQwMDY5MEJBCi06MTA0MkU2MDA3NjE5NzQwMUYwRUZEMzk0MkY0MDA2OTA3NjE5NzQwMjc0Ci06MTA0MkY2MDBGMDEyM0U4RjkwNzY4NkUwNzAwNTkwNzY4NUYwMjJFNDg3Ci06MDU0MzA2MDA5MDc2ODZGMDIyMTQKLToxMDA3NEEwMDkwNzY5QTc0MDJGMEU0OTA3NjkxRjBBM0YwOTA3NjkwMDUKLToxMDA3NUEwMEYwOTA3NjkzRjA5MDc2OTY3NDAzRjA5MDgwMDNGMEU0MkMKLToxMDA3NkEwMDkwNzY5N0YwOTA4MDAyRjA5MDc2OTQwNEYwOTA4MDAwNTIKLToxMDA3N0EwMEYwRTQ5MDc2OEVGMDkwNzYxQUYwOTA3Njk1MDRGMEMyQjYKLToxMDA3OEEwMDJFOTA3RjlCRTBGRjU0MTBGRjcwMDJDMjNGOTA3RjlCMjgKLToxMDA3OUEwMEUwRkY1NDEwRkVGRkJFMTAwMkQyM0Y5MDdGOUJFMEZGQTUKLToxMDA3QUEwMDU0MjBGRjcwMDJDMjNFOTA3RjlCRTBGRjU0MjBGRUZGNjAKLToxMDA3QkEwMEJFMjAwMkQyM0UzMDNGMDk5MDc2OTdFMDU0RkVGMDgwODgKLToxMDA3Q0EwMDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwRTcKLToxMDA3REEwMDMwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwRTMKLToxMDA3RUEwMDU0RkJGMDkwNzY5NUUwOTA4MDAxRjBBMjNFOTI0MEEyRjAKLTowMzA3RkEwMDNGOTI0MUVBCi06MDEwN0ZEMDAyMkQ5Ci06MTAzRThGMDA5MDc2OTJFMDE0NjAxRDE0NzAwMkUxNDQyNDAyNjAwMkU3Ci06MTAzRTlGMDBFMUQ0OTA3Njk0NzQwMUYwOTA4MDAwRjBFNDkwNzY4RUU3Ci06MTAzRUFGMDBGMEQyMzEyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0ZGMjNCCi06MTAzRUJGMDBGMDkwN0ZGMzc0MzBGMDkwN0ZGRjc0RkNGMDkwNzY5NzYyCi06MTAzRUNGMDBFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJGMEVFCi06MTAzRURGMDA5MDdGRjM3NDM0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDRFCi06MTAzRUVGMDA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjA5MDJCCi06MTAzRUZGMDA3RkYzNzQ2NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTA0NDRBCi06MTAzRjBGMDAwNEYwOTA3Njk0RTA0NDAxRjA5MDgwMDBGMDMwM0YwOTg3Ci06MTAzRjFGMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDlBCi06MTAzRjJGMDA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNEYwOTA3NkY3Ci06MTAzRjNGMDA4RTc0MDFGMDIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RjlDCi06MTAzRjRGMDBGMkYwOTA3RkYzNzQ0NEYwOTA3RkZGNzRGQ0YwOTA3NjYyCi06MTAzRjVGMDA5N0UwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkI2Ci06MTAzRjZGMDBGMDkwN0ZGMzc0NENGMDkwN0ZGRjc0RkNGMDkwNzY5Nzk1Ci06MTAzRjdGMDBFMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDRBCi06MTAzRjhGMDA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDNECi06MTAzRjlGMDA0NDA0RjA5MDc2OTRFMDU0RkVGMDkwODAwMEYwMzAzRkFGCi06MTAzRkFGMDAwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYxCi06MTAzRkJGMDBGMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA2RjA5MEVCCi06MDYzRkNGMDA3NjhFNzQwMkYwMjI2MAotOjEwMTgwMDAwOTA3NjkwRTAxNDYwMzcxNDcwMDIwMUQ4MTQ3MDAyMjFCMQotOjEwMTgxMDAwNzIxNDcwMDI0MTNCMjQwNDYwMDI2MTAzOTA3RkZDNzRFNwotOjEwMTgyMDAwQ0NGMDkwN0ZGRjc0RkNGMDkwNzY5NUUwNDQwMUYwNTQ4QQotOjEwMTgzMDAwMDVGMDkwODAwMUYwRTQ5MDc2MUFGMEMyMkUyMjkwNzZBNgotOjEwMTg0MDAwOTVFMDQ0MDFGMDQ0MDJGMDMwM0UwNkUwNDQwNEYwODBBQwotOjEwMTg1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3QQotOjEwMTg2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTIyOTAyNwotOjEwMTg3MDAwN0ZGQzc0NzRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkI3MwotOjEwMTg4MDAwRjA5MDc2OTdFMDU0RkRGMEU0OTA3NjgxRjA5MDc2ODBDOQotOjEwMTg5MDAwRjBFRkI0MDIyMjkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkMzQwotOjEwMThBMDAwRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJGMEU0OTBGOQotOjEwMThCMDAwNzY4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkU4NAotOjEwMThDMDAwRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDU0RkIyMwotOjEwMThEMDAwRjA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTRGRUYwNDRGMwotOjEwMThFMDAwMDJGMDMwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTQyNAotOjEwMThGMDAwRkJGMDkwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFCNAotOjEwMTkwMDAwRjA5MDc2MTlFMEZGQjQwMTIyOTA3RkZDNzQzMEYwOTBFMwotOjEwMTkxMDAwN0ZGRjc0RkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGNAotOjEwMTkyMDAwRkRGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjIyOTBBMgotOjEwMTkzMDAwN0ZGQzc0MUNGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkYwNgotOjEwMTk0MDAwRjA5MDc2OTdFMDQ0MDJGMEU0OTA3NjgxRjA5MDc2ODAxMwotOjEwMTk1MDAwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTczQwotOjEwMTk2MDAwRTA0NDAxRjA5MDc2OTdFMDU0RkJGMDkwODAwMkYwRDJEMgotOjEwMTk3MDAwMkUyMjkwNzY5NUUwNDQwMUYwNDQwMkYwNDQwOEYwMzBDNQotOjEwMTk4MDAwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTAyQQotOjEwMTk5MDAwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFGMDkwNzY5OAotOjEwMTlBMDAwMTlFMEZGQjQwMTI1OTA3RkZDNzRDQ0YwOTA3RkZGNzRBOAotOjEwMTlCMDAwRkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGREYwNTQwNQotOjEwMTlDMDAwRkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjI1OTAwMQotOjEwMTlEMDAwN0ZGQzc0QzhGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkZCQQotOjEwMTlFMDAwRjA5MDc2OTdFMDQ0MDJGMDU0RkJGMEU0OTA3NjgxRjBCQQotOjEwMTlGMDAwOTA3NjgwRjBFRkI0MDMyNTkwN0ZGQzc0OThGMDkwN0Y5MAotOjEwMUEwMDAwRkY3NEZDRjA5MDc2OEY3NDVGRjA5MDc2OTdFMDU0RkQ1MQotOjEwMUExMDAwRjA0NDA0RjBFNDkwNzY4MUYwOTA3NjgwRjAzMDNGMDk1NQotOjEwMUEyMDAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjBCRQotOjEwMUEzMDAwOTA3Njk3RTA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTQzNgotOjEwMUE0MDAwRkVGMDQ0MDJGMDQ0MDhGMDMwM0UwNkUwNDQwNEYwODAyQQotOjEwMUE1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3OAotOjEwMUE2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTI1OTAyMgotOjEwMUE3MDAwN0ZGQzc0QjRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkIzMQotOjEwMUE4MDAwRjA5MDc2OTdFMDU0RkRGMDU0RkJGMEU0OTA3NjgxRjAwRQotOjEwMUE5MDAwOTA3NjgwRjBFRkI0MDIyNTkwN0ZGQzc0QjBGMDkwN0ZEOAotOjEwMUFBMDAwRkY3NEZDRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJFQwotOjEwMUFCMDAwRjA1NEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDM4MAotOjEwMUFDMDAwMjU5MDdGRkM3NDY4RjA5MDdGRkY3NEZDRjA5MDc2OEYxNwotOjEwMUFEMDAwNzQ1RkYwOTA3Njk3RTA1NEZERjA0NDA0RjBFNDkwNzY2MwotOjEwMUFFMDAwODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFRjBEOAotOjEwMUFGMDAwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDIxRQotOjA0MUIwMDAwRjBEMjJFMjJDRgotOjA0MENBMTAwNDE3NjIzMDA3NQotOjEwMkRBOTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MgotOjEwMkRCOTAwMzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJERgotOjEwMkRDOTAwRTQzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDEwRjU2QwotOjEwMkREOTAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkZBMAotOjEwMkRFOTAwNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBBQwotOjEwMkRGOTAwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDVBNwotOjEwMkUwOTAwRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzRTQzQQotOjEwMkUxOTAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU5NwotOjEwMkUyOTAwODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEY3RQotOjEwMkUzOTAwRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQ4OAotOjEwMkU0OTAwMTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjAwOQotOjEwMkU1OTAwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQ1QwotOjEwMkU2OTAwMDFGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODNCRQotOjEwMkU3OTAwNzQwM0YwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjVCQQotOjEwMkU4OTAwODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjRDMwotOjEwMkU5OTAwMEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEVGNzVGMDAzQTQzMAotOjEwMkVBOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwNkYwRUY3NUYwMDNBOQotOjEwMkVCOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTBDNQotOjEwMkVDOTAwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjVFRgotOjEwMkVEOTAwODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVDRQotOjEwMkVFOTAwRjU4Mzc0MDRGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQzQgotOjEwMkVGOTAwNzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNCMQotOjEwMkYwOTAwQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjBBQwotOjEwMkYxOTAwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDhGMEVGNzU4MgotOjEwMkYyOTAwRjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwOTA1OQotOjEwMkYzOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MAotOjEwMkY0OTAwMzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODI0QwotOjEwMkY1OTAwRTQzNDc1RjU4Mzc0MEFGMEVGNzVGMDAzQTQyNDEwRjVEMQotOjEwMkY2OTAwODJFNDM0NzVGNTgzNzQwNEYwOTA3NjM2RTAwNEYwRTA3OQotOjEwMkY3OTAwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDIxOQotOjEwMkY4OTAwRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQyQQotOjEwMkY5OTAwMDlGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM4NAotOjEwMkZBOTAwNzQwNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQ5MQotOjEwMkZCOTAwMEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQxRAotOjEwMkZDOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwN0YwRUY3NUYwMDM4NwotOjBFMkZEOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMjBDCi06MTAzQkQzMDBFNDkwNzYzNkYwRTBGQjc1RjAwRkE0MjQ0MUY1ODJFNDFGCi06MTAzQkUzMDAzNDc1RjU4Mzc0NDBGMEVCNzVGMDBGQTQyNDQyRjU4MjJECi06MTAzQkYzMDBFNDM0NzVGNTgzNzQwQUYwRUI3NUYwMEZBNDI0NDNGNUYwCi06MTAzQzAzMDA4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMEQ5Ci06MTAzQzEzMDAwRkE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMEY2Ci06MTAzQzIzMDBBQzQ0RUI3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0IzCi06MTAzQzMzMDAxMjM3QzgwMDAxNzcwMDkwNzYzNkUwMDRGMEUwRkI3NTk4Ci06MTAzQzQzMDBGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQwRjBFQjVFCi06MTAzQzUzMDA3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0OENGMDc3Ci06MTAzQzYzMDBFQjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzMTIzNzIyCi06MTAzQzczMDBDODAwMDBBQzQ0RUI3NUYwMEZBNDI0NDdGNTgyRTQzNDhDCi06MTAzQzgzMDA3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMDBGQTQyNDFDCi06MTAzQzkzMDA0QkY1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMTc3MDA5MDQxCi06MTAzQ0EzMDA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNERBCi06MTAzQ0IzMDAzNDc1RjU4Mzc0NDBGMEVGNzVGMDBGQTQyNDQyRjU4MjU4Ci06MTAzQ0MzMDBFNDM0NzVGNTgzNzQ4RkYwOTA3NjM2RTAwNEYwRTBGRjBBCi06MTAzQ0QzMDA3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDFGMDQzCi06MTAzQ0UzMDBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4NEYwCi06MTAzQ0YzMDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTcwCi06MTAzRDAzMDA4MkU0MzQ3NUY1ODM3NDYxRjBFRjc1RjAwRkE0MjQ0MkY3Ci06MTAzRDEzMDBGNTgyRTQzNDc1RjU4Mzc0ODFGMDkwNzYzNkUwMDRGMDJGCi06MTAzRDIzMDBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQ0Ci06MTAzRDMzMDA2MUYwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4MzQ2Ci06MDQzRDQzMDA3NDAxRjAyMkY1Ci06MTA0NTU5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNEE2Ci06MTA0NTY5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNEEwCi06MTA0NTc5MDAzNDc1RjU4Mzc0MDFGMDkwNzYzNkUwMDRGMEUwRkY3NTQ4Ci06MTA0NTg5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NTgxCi06MTA0NTk5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDAyRjA5MEIyCi06MTA0NUE5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNEU2Ci06MTA0NUI5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNDUwCi06MTA0NUM5MDAzNDc1RjU4Mzc0MDNGMDkwNzYzNkUwMDRGMEUwRkY3NUY2Ci06MTA0NUQ5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NTMxCi06MTA0NUU5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMkNFCi06MTAzQTQyMDBFNDkwNzYzNUYwOTA3NjM1RTBGRkMzOTQwMzQwMDI0MTZFCi06MTAzQTUyMDBGRkVGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1ODNFRjJBCi06MTAzQTYyMDBGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFNDMzCi06MTAzQTcyMDBGMEVGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM3NDkyCi06MTAzQTgyMDBGMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzA1Ci06MTAzQTkyMDA3NEZGRjBFRjc1RjAwQUE0MjRBRUY1ODJFNDM0NzVGNUY0Ci06MTAzQUEyMDA4M0U0RjBFRjc1RjAwQUE0MjRBRkY1ODJFNDM0NzVGNUVGCi06MTAzQUIyMDA4Mzc0ODBGMEVGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUMzCi06MTAzQUMyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUNECi06MTAzQUQyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUJDCi06MTAzQUUyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUFCCi06MTAzQUYyMDBGNTgzNzQwMUYwOTA3NjM1RTAwNEYwNDE0NzkwNzYzQzBFCi06MTAzQjAyMDA3NDBBRjBFNEEzRjA5MDc2MzU3NDAzRjA5MDc2M0NFMDBBCi06MTAzQjEyMDBGRjkwNzYzNUUwRkVDMzlGNDAwMjYxRDI5MDc2M0RFMDkxCi06MTAzQjIyMDBGRjA0RjBFRTc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNUQ4Ci06MTAzQjMyMDA4M0VGRjBFRTc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTU4Ci06MTAzQjQyMDA4M0U0RjBFRTc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTUyCi06MTAzQjUyMDA4Mzc0NUVGMEVFNzVGMDBBQTQyNEFERjU4MkU0MzQ3NTQ4Ci06MTAzQjYyMDBGNTgzNzRCQUYwRUU3NUYwMEFBNDI0QUVGNTgyRTQzNDVCCi06MTAzQjcyMDA3NUY1ODM3NDA1RjBFRTc1RjAwQUE0MjRBRkY1ODJFNEJFCi06MTAzQjgyMDAzNDc1RjU4Mzc0ODBGMEVFNzVGMDBBQTQyNEIwRjU4MkUyCi06MTAzQjkyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIxRjU4MkZECi06MTAzQkEyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIyRjU4MkVDCi06MTAzQkIyMDBFNDM0NzVGNTgzNzQxNUYwRUU3NUYwMEFBNDI0QjNGNUI4Ci06MTAzQkMyMDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM1RTAwNEYwNjEwRTFBCi06MDEzQkQyMDAyMkQwCi06MTAwODAwMDBFNDkwNzYzMUYwOTA3NjMxRTBGRjc1RjAwM0E0MjQwRjg4Ci06MTAwODEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDRBCi06MTAwODIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjMxRTAwNEYwODBENTUxCi06MTAwODMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0IxCi06MTAwODQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjMzRjAyNDI5Ci06MTAwODUwMDBGMDYwMEEyNDBFNjAwMjgxODcxMjRCM0UyMjkwN0ZFREU5Ci06MTAwODYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM3NzQwMTQ1Ci06MTAwODcwMDBGMDkwNzYzOTc0MDNGMDkwNzYyMUYwRTQ5MDc2MjBGMEQxCi06MTAwODgwMDA5MDdGRUFFMEY0NjAyRjkwNzYyMEUwRkY3NUYwMEFBNEY0Ci06MTAwODkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDVBCi06MTAwOEEwMDBFRTZENjAxMjkwNzYyMUUwRkVFRkMzOUU1MDA4OTA3NkM4Ci06MTAwOEIwMDAyMEUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkU1Ci06MTAwOEMwMDAxODc0MDZGMDkwNzYzNzc0MDRGMDkwNzYzOTc0MEFGMDU0Ci06MTAwOEQwMDA5MDc2MjFGMDkwNzYyMDc0MDNGMDkwN0ZFQUUwRjQ2MDQ3Ci06MTAwOEUwMDAyRjkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDY0Ci06MTAwOEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3Njg0Ci06MTAwOTAwMDAyMUUwRkVFRkMzOUU1MDA4OTA3NjIwRTAwNEYwODBEMUY1Ci06MTAwOTEwMDA5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUVECi06MTAwOTIwMDBGNTgzRTA5MDcyMjlGMEU0OTA3NjNCRjA5MDc2MjFFMDM4Ci06MTAwOTMwMDBGRUVGNkU3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkYwCi06MTAwOTQwMDBFMDE0NjAxMzE0NzAwMjIxRTIyNDAyNjAwMjgxN0Y5MDlGCi06MTAwOTUwMDA3RkI0RTA0NDAxRjAyMjkwN0ZFOUUwMTQ3MDdDOTA3RjQ2Ci06MTAwOTYwMDBFQUUwRjQ3MDQ4OTA3NjM3RTA5MDc2MjBGMDkwNzYzOTlGCi06MTAwOTcwMDBFMEZFOTA3NjIwRTBGREMzOUU1MDJCOTA3NjNCRTBGRTlCCi06MTAwOTgwMDAwNEYwNzRDMDJFRjU4MkU0MzQ3RUY1ODNFMEZFRUQ3NTRDCi06MTAwOTkwMDBGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFRUYwOTA3NjhBCi06MTAwOUEwMDAyMEUwMDRGMDgwQzc5MDc2M0Y3NDAxRjAyMjkwN0VDMDcyCi06MTAwOUIwMDBFMEZFRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4MzBDCi06MTAwOUMwMDBFRUYwRTBCNDAxMDg5MDc2M0U3NDAxRjA4MDA1RTQ5MDBBCi06MTAwOUQwMDA3NjNFRjA5MDc2M0Y3NDAxRjAyMjkwN0ZCNEUwNDQwMUJGCi06MTAwOUUwMDBGMDIyOTA3RkU5RTAyNEZFNzAwMjQxQTMxNDcwMDI2MUJFCi06MTAwOUYwMDAzRjE0NzAwMjYxREIyNDAzNjAwMjgxNzc5MDdGRUFFMDlDCi06MTAwQTAwMDBGNDcwNkI5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRkM2Ci06MTAwQTEwMDA5MDc2MjBFMEZFQzM5RjUwNEU5MDc2M0JFMEZGMDRGMEJFCi06MTAwQTIwMDA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUEyCi06MTAwQTMwMDBBNDI0QUNGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JFMEM2Ci06MTAwQTQwMDBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRUZFCi06MTAwQTUwMDA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MEM3Ci06MTAwQTYwMDA3NjIwRTAwNEYwODBBNDkwNzY0MDc0MDFGMDIyOTA3RTFECi06MTAwQTcwMDBDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFDRjU4Mjc5Ci06MTAwQTgwMDBFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQTc3Ci06MTAwQTkwMDBBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MDc2NDE3NENCCi06MTAwQUEwMDAwMUYwMjI5MDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjZECi06MTAwQUIwMDAyMEYwOTA3NjM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjYwCi06MTAwQUMwMDA4MThFOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDExCi06MTAwQUQwMDA3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUVGNTgyRTQzNERGCi06MTAwQUUwMDA3NUY1ODNFRkYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNUNFCi06MTAwQUYwMDA4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUZGNUJFCi06MTAwQjAwMDA4MkU0MzQ3NUY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjYzCi06MTAwQjEwMDA5MDdFQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBRTNGCi06MTAwQjIwMDBGNTgyRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NTU5Ci06MTAwQjMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDM3Ci06MTAwQjQwMDA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjU5Ci06MTAwQjUwMDAzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NkMwCi06MTAwQjYwMDAzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEFGCi06MTAwQjcwMDBGRkVFNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFRjM2Ci06MTAwQjgwMDBGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUYxCi06MTAwQjkwMDBGNTgzRTBGRkVFNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NTI0Ci06MTAwQkEwMDBGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMDI0Ci06MTAwQkIwMDBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QjBGNTgyRTQzNEJDCi06MTAwQkMwMDA3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNDg2Ci06MTAwQkQwMDBCMUY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkVBRTBGNDFBCi06MTAwQkUwMDA3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkY5MDRFCi06MTAwQkYwMDA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzYzQkUwRkYwNEFBCi06MTAwQzAwMDBGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMERBCi06MTAwQzEwMDAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkI0Ci06MTAwQzIwMDBFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRjJBCi06MTAwQzMwMDBFRTc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTgzRUZGMDgxCi06MTAwQzQwMDA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTBGRjkwNzYyMEI1Ci06MTAwQzUwMDBFMEZFNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRjYyCi06MTAwQzYwMDBGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjRCM0Y1ODJFNEIzCi06MTAwQzcwMDAzNDc1RjU4M0VGRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MEM4Ci06MEYwQzgwMDA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjIwMQotOjEwMTAwMDAwRTQ5MDc2MkNGMDkwNzYyQ0UwRkY3NUYwMDNBNDI0MEY4QQotOjEwMTAxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0MgotOjEwMTAyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYyQ0UwMDRGMDgwRDU0RQotOjEwMTAzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNBOQotOjEwMTA0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYyRUYwMjQyNgotOjEwMTA1MDAwRjA2MDBBMjQwRjYwMDI4MTdEMTI0QjFCMjI5MDdGRUQwRAotOjEwMTA2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzODc0MDEzQwotOjEwMTA3MDAwRjA5MDc2M0E3NDAzRjA5MDc2MUNGMEU0OTA3NjFCRjBEMgotOjEwMTA4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MUJFMEZGNzVGMDBBQTRGMQotOjEwMTA5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1MgotOjEwMTBBMDAwRUU2RDYwMTI5MDc2MUNFMEZFRUZDMzlFNTAwODkwNzZDNQotOjEwMTBCMDAwMUJFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFMgotOjEwMTBDMDAwMTg3NDA2RjA5MDc2Mzg3NDA0RjA5MDc2M0E3NDBBRjA0QQotOjEwMTBEMDAwOTA3NjFDRjA5MDc2MUI3NDAzRjA5MDdGRUFFMEY0NjA0OQotOjEwMTBFMDAwMkY5MDc2MUJFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2MQotOjEwMTBGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY3QwotOjEwMTEwMDAwMUNFMEZFRUZDMzlFNTAwODkwNzYxQkUwMDRGMDgwRDFGNwotOjEwMTExMDAwRTQ5MDc2MUVGMDkwNzYxQ0UwRkY5MDc2MUJFMEZFNkY2OAotOjEwMTEyMDAwNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJFMDE0NjBGRgotOjEwMTEzMDAwMTMxNDcwMDIyMUJGMjQwMjYwMDI4MTc1OTA3RkI0RTAxNQotOjEwMTE0MDAwNDQwMUYwMjI5MDdGRTlFMDI0N0Y3MDZCOTA3RkVBRTAxOQotOjEwMTE1MDAwRjQ3MDRBOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MwotOjEwMTE2MDAwOTA3NjFCRTBGREMzOUY1MDJCRUQ3NUYwMEFBNDI0QUJENQotOjEwMTE3MDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRDA0RjAxRgotOjEwMTE4MDAwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTA1OAotOjEwMTE5MDAwMDRGMDgwQzc5MDc2MUVFMDkwN0ZCNUYwMjJFRTc1RjBFNwotOjEwMTFBMDAwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA2NwotOjEwMTFCMDAwOTA3RkI1NzQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA1QQotOjEwMTFDMDAwN0ZFOUUwMjQ3RTcwMDI0MTdFMTQ3MDAyNjEyMzE0NzA3NgotOjEwMTFEMDAwMDI2MUM4MjQwMzYwMDI4MTZEOTA3RkVBRTBGNDcwNkRDMwotOjEwMTFFMDAwOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUI5MAotOjEwMTFGMDAwRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QUNGNTgyRTRGMQotOjEwMTIwMDAwMzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkQ0OQotOjEwMTIxMDAwRjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QUQ5NwotOjEwMTIyMDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA2RAotOjEwMTIzMDAwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTBBNgotOjEwMTI0MDAwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUI4QgotOjEwMTI1MDAwRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTA3MAotOjEwMTI2MDAwOTA3RjAwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVBOAotOjEwMTI3MDAwRjU4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCQgotOjEwMTI4MDAwRUFFMEY0NzA2RDkwNzYzOEUwOTA3NjFCRjA5MDc2M0E1NAotOjEwMTI5MDAwRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEZGNzVGMDBBQTQ3QgotOjEwMTJBMDAwMjRBRUY1ODJFNDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQxMQotOjEwMTJCMDAwMDRGMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVEMQotOjEwMTJDMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRTBGRjkwNzY0QwotOjEwMTJEMDAwMUVFMEZFMDRGMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUYwNwotOjEwMTJFMDAwRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjUyRAotOjEwMTJGMDAwRjAyMjkwNzYxQkUwRkY3NUYwMEFBNDI0QUVGNTgyRTQ5QwotOjEwMTMwMDAwMzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUYwMEFBNDI0QUYwOAotOjEwMTMxMDAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMUYwOTA3RkI1NzQzOQotOjEwMTMyMDAwMDJGMDIyOTA3RkVBRTBGNDcwNkQ5MDc2MzhFMDkwNzZEQgotOjEwMTMzMDAwMUJGMDkwNzYzQUUwRkY5MDc2MUJFMEMzOUY1MDRGRTBBMQotOjEwMTM0MDAwRkY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0UwRkU1RAotOjEwMTM1MDAwOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTgyRTQzNDdGRjVGNAotOjEwMTM2MDAwODNFRUYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1RjU0QwotOjEwMTM3MDAwODNFMEZGOTA3NjFFRTBGRTA0RjA3NDAwMkVGNTgyRTQxOAotOjEwMTM4MDAwMzQ3RkY1ODNFRkYwOTA3NjFCRTAwNEYwODBBNDkwNzYzNAotOjEwMTM5MDAwMUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEZGNzVGMDBBQTQ2NgotOjEwMTNBMDAwMjRCMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVBQQotOjEwMTNCMDAwRjAwQUE0MjRCMUY1ODJFNDM0NzVGNTgzRTA5MDdGMDE0RQotOjEwMTNDMDAwRjA5MDdGQjU3NDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTBBNwotOjEwMTNEMDAwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCRTA0RQotOjEwMTNFMDAwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzRBNQotOjEwMTNGMDAwNzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJERjU5NwotOjEwMTQwMDAwODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEIzRjU5RgotOjEwMTQxMDAwODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNzRGQwotOjEwMTQyMDAwMDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDQyNAotOjEwMTQzMDAwRjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCRTBCRAotOjEwMTQ0MDAwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0UwOTBDOAotOjEwMTQ1MDAwN0YwMEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU0QgotOjEwMTQ2MDAwODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQjQwQQotOjEwMTQ3MDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjQ3OAotOjA1MTQ4MDAwRTA0NDAxRjAyMjMwCi06MTAzODc0MDBFNDkwNzYyOUYwOTA3NjI5RTBGRjc1RjAwRkE0MjQ0MkI1Ci06MTAzODg0MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REE3Ci06MTAzODk0MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI5RTAwNEYwODBENUJBCi06MTAzOEE0MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRjA2Ci06MTAzOEI0MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjJBRjAyNDVCCi06MTAzOEM0MDBCRjcwMDI0MTQxMjRFMDcwMDI0MTEyMjQyMTYwMDI0MTkwCi06MTAzOEQ0MDAzQTkwN0ZFOUUwMjRGRTYwN0QxNDcwMDIyMUIyMjQwMjU0Ci06MTAzOEU0MDA2MDAyNDEwQTEyMTc1MTkwNzY0MkUwRkNBM0UwRkRBMzY2Ci06MTAzOEY0MDBFMEZFQTNFMEZGOTA3NjI5RTA3NUYwMEZBNDI0NDNGNUUxCi06MTAzOTA0MDA4MkU0MzQ3NUY1ODMxMjM3QkM5MDc2MTlFMEZGQjQwMTc0Ci06MTAzOTE0MDAxMjkwNzY3Qzc0NjdGMDkwNzY3RDc0MDZGMDkwNzY3RUQzCi06MTAzOTI0MDA3NDBCRjBFRkI0MDIwRkU0OTA3NjdDRjA5MDc2N0RGMEE3Ci06MTAzOTM0MDA5MDc2N0U3NDBDRjBFRkI0MDMwRkU0OTA3NjdDRjA5MEY0Ci06MTAzOTQ0MDA3NjdERjA5MDc2N0U3NDE4RjA5MDc2MUE3NDAxRjAxMkY5Ci06MTAzOTU0MDAzRThGMTIxODAwMjI5MDdFQzJFMEZGRTRGQ0ZERkVGQkM1Ci06MTAzOTY0MDBGQTc5MDFGODEyMzc0NkM4RUNDOEM5RURDOUNBRUVDQURCCi06MTAzOTc0MDBDQkVGQ0I5MDdFQzFFMEZFRTRGQ0ZEMkJGQkVBM0VGQUVDCi06MTAzOTg0MDBFRDM5RjlFQzM4Rjg5MDdFQzBFMEZGRTRGRUVCMkZGRjUwCi06MTAzOTk0MDBFRTNBRkVFRDM5RkRFQzM4RkM5MDc2MjlFMDc1RjAwRjM3Ci06MTAzOUE0MDBBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdCQzIyOTA3RTUzCi06MTAzOUI0MDBDMkUwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjM3NDZDOEM5Ci06MTAzOUM0MDBFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3RUMxRTBGRTBDCi06MTAzOUQ0MDBFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4OTA3RTc1Ci06MTAzOUU0MDBDMEUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZERUMzOENDCi06MTAzOUY0MDBGQzkwNzYyOUUwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NTJECi06MTAzQTA0MDBGNTgzMTIzN0JDMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjBBCi06MTAzQTE0MDBFOUUwMTQ3MDE5OTA3RUMwRTBGRjkwNzYyOUUwNzVGMDFCCi06MTAzQTI0MDAwRkE0MjQ0RkY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkUwCi06MEUzQTM0MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOUYKLToxMDJBRDYwMEU0OTA3NjI3RjA5MDc2MjdFMEZGNzVGMDBGQTQyNDQyNjUKLToxMDJBRTYwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENTMKLToxMDJBRjYwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjdFMDA0RjA4MEQ1NjgKLToxMDJCMDYwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGQjEKLToxMDJCMTYwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MjhGMDI0MDgKLToxMDJCMjYwMDlGNzAwMkExNzQyNDIxNjAwMkExQTE5MDdGRTlFMDI0OTQKLToxMDJCMzYwMDdFNzAwMjYxRkMxNDcwMDI4MUI1MjQwMjYwMDJBMTZDRjEKLToxMDJCNDYwMEVGNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQjkKLToxMDJCNTYwMEEzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzkwMDc4MTYKLToxMDJCNjYwMDAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTM3NEFDQUIKLToxMDJCNzYwMEYwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwNEIKLToxMDJCODYwMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZENEQKLToxMDJCOTYwMEEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBDMzEyMzYKLToxMDJCQTYwMDM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBFNEEzN0UKLToxMDJCQjYwMEYwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0QUIKLToxMDJCQzYwMDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFNjMKLToxMDJCRDYwMEEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdBQjYwRjgKLToxMDJCRTYwMDAyQTFBODkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0YKLToxMDJCRjYwMDdGQjU3NDAzRjAyMjkwNzYyN0UwNzVGMDBGQTQyNDQ3ODIKLToxMDJDMDYwMEY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzQzIKLToxMDJDMTYwMEUwRkY3QjQ0N0FBQzc5MDA3ODAwQzMxMjM3QUI3MDEzQkYKLToxMDJDMjYwMDkwN0YwMDc0NDRGMEEzNzRBQ0YwRTRBM0YwOTA3RkI1RjkKLToxMDJDMzYwMDc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0M0MKLToxMDJDNDYwMDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCODMKLToxMDJDNTYwMDgwN0FCQjc5MDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwN0YKLToxMDJDNjYwMDc0ODBGMEEzNzRCQkYwRTRBM0YwOTA3RkI1NzQwM0YwMTYKLToxMDJDNzYwMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1QzUKLToxMDJDODYwMDgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCMDA3QTc3RjAKLToxMDJDOTYwMDc5MDE3ODAwQzMxMjM3QUI2MDAyQTFBODkwN0YwMEYwREIKLToxMDJDQTYwMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQjU3NDAzRjAyMjkwQkIKLToxMDJDQjYwMDc2MjdFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzOEUKLToxMDJDQzYwMEUwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5NDEKLToxMDJDRDYwMDAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzRTIKLToxMDJDRTYwMDc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwMUYKLToxMDJDRjYwMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzNEMKLToxMDJEMDYwMEUwRkRBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQkMKLToxMDJEMTYwMEMzMTIzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwQkUKLToxMDJEMjYwMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGN0EKLToxMDJEMzYwMEE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRkYKLToxMDJENDYwMEUwRkVBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QjMKLToxMDJENTYwMEFCNzA0RjkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwRUUKLToxMDJENjYwMDdGQjU3NDAzRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGOTcKLToxMDJENzYwMEU5RTAyNDdGNzAxRTkwNzYyN0UwNzVGMDBGQTQyNDRGQkIKLToxMDJEODYwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwN0ZCNTc0QUEKLToxMDJEOTYwMDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0RjYKLTowMzJEQTYwMDAxRjAyMjE3Ci06MTA0QjFCMDA5MDdGRUJFMDE0NzAxNDkwN0ZFOUUwMjQ3RjcwMDQxMjE3Ci06MTA0QjJCMDA0ODVBMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NEQ1Ci06MDM0QjNCMDAwMUYwMjI2NAotOjEwNEIzRTAwOTA3RkVCRTAxNDcwMTM5MDdGRTlFMDE0NzAwNDEyNDkzQgotOjEwNEI0RTAwQUQyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFBNgotOjAyNEI1RTAwRjAyMjQzCi06MTA0ODVBMDBFNDkwNzYyNkYwOTA3NjI2RTBGRjc1RjAwM0E0MjQzNERGCi06MTA0ODZBMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REIxCi06MTA0ODdBMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI2RTAwNEYwODBENUM5Ci06MTA0ODhBMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwMzFFCi06MTA0ODlBMDBBNDI0MzJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDI5Ci06MDY0OEFBMDA3RkI1NzQwMUYwMjI0RAotOjEwNDlBRDAwRTQ5MDc2MjVGMDkwNzYyNUUwRkY3NUYwMDNBNDI0MzQ4RAotOjEwNDlCRDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1RAotOjEwNDlDRDAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNUUwMDRGMDgwRDU3NgotOjEwNDlERDAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyOTA3RUMwRTA3MwotOjEwNDlFRDAwRkVFRjc1RjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRUUwMQotOjAyNDlGRDAwRjAyMkE2Ci06MDMwMDAzMDAwMjBGRkRFQwotOjAzMEZGRDAwQzI4OTMyNzQKLTowMzAwMTMwMDAyMTdGREQ0Ci06MDMxN0ZEMDBDMjhCMzI2QQotOjAzMDA0QjAwMDI0RDhGRDQKLTowNDREOEYwMDUzOTFERjMyMkIKLTowMzAwNTMwMDAyNEQ4M0Q4Ci06MDY0RDgzMDA1MzkxQkZEMjJEMzI1NgotOjAzMDA1QjAwMDI0RDg5Q0EKLTowNjREODkwMDUzOTE3RkQyMkMzMjkxCi06MDMwMDYzMDAwMjREOTNCOAotOjA0NEQ5MzAwNTNEOEY3MzJDOAotOjAzMDAwQjAwMDI0RDlCMDgKLTowMzREOUIwMEMyOEQzMjk0Ci06MDMwMDFCMDAwMjREOUVGNQotOjAzNEQ5RTAwQzI4RjMyOEYKLTowMzAwMjMwMDAyNEQ3NTE2Ci06MDc0RDc1MDA1Mzk4RkU1Mzk4RkQzMjM0Ci06MDMwMDNCMDAwMjREN0NGNwotOjA3NEQ3QzAwNTNDMEZFNTNDMEZEMzJERAotOjAzMDAyQjAwMDI0NkY3OTMKLToxMDQ2RjcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwM0QKLToxMDQ3MDcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGRjcKLToxMDQ3MTcwMEMwRTBDMkNBQzJDRjkwN0Y5OEUwNDQwMUYwMzAyRTAzQjgKLToxMDQ3MjcwMDEyMTRBNjkwN0Y5OEUwNTRGRUYwNTNBOEZBMTIxNjYxNkYKLToxMDQ3MzcwMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwNDEKLToxMDQ3NDcwMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDA4MkQwODNEMEYwMzIKLTowMzQ3NTcwMEQwRTAzMjdECi06MTA0N0I0MDBFNDkwNzY5QkYwOTA3NjlCRTBGRjA0RjBFRjYwMDhFMEQ1Ci06MTA0N0M0MDAyNDA4RjhFNEY2ODBFRTkwNzY5NkUwNTRGQkYwNTRGNzczCi06MTA0N0Q0MDBGMDkwODAwM0YwRTRGNTE4RDIzNUY1MEVGNTEwRDIzNkRBCi06MTA0N0U0MDA3NTEyMTE3NTEzMjJDMjM3QzIzOUMyMzhGNTE2RjUxNDgxCi06MEI0N0Y0MDBGNTFBRjUwREMyM0JDMjNDQzIzRDIyOEQKLToxMDMwMDAwMDkwN0ZCNkUwMjBFMTAyQzIzREQyMzYyMDM2MDI0MTZFMEEKLToxMDMwMTAwMDMwM0QwMjQxNkU5MDgwMDdFMDYwMDREMjM2ODAwMkMyRUIKLToxMDMwMjAwMDM2MjAzNjAyNDEyRUQyMzVFNEY1MUE5MDgwMDRFMEY1QzAKLToxMDMwMzAwMDE5NzQwODI1MEVGOEE2MTk4NTE5MThFNTE4MjBFNzA0NTMKLToxMDMwNDAwMEQyMzg4MDAyQzIzODMwMzgwMjIxRDRFNEY1MTZFNTE5QUUKLToxMDMwNTAwMEI0RjAwQ0QyMzk3NTA4MDQ3NTA5RjAwNTBFODAwMjA1MkMKLToxMDMwNjAwMDE2RTUxOTY0Rjc3MDNEQzIzOUU1MEUyNEZFNjAxNzE0QTkKLToxMDMwNzAwMDYwMjIyNDAzNzAyOTc1MDgwNTc1MDlGN0U0RjUwQUY1M0YKLToxMDMwODAwMDBCNzUwRTA0ODAyMDc1MDgwNjc1MEFGN0U0RjUwQjc1QkMKLToxMDMwOTAwMDBFMDQ4MDEyNzUwODA3NzUwQkY3NzUwRTA0ODAwNzEyNzEKLToxMDMwQTAwMDQ4RjM4MDAyMDUxNkU1MTk1NEY4NjRGODcwM0JDMjM1MDAKLToxMDMwQjAwMEU1MTkyNDA3NjAwQzI0RkM2MDA4MjQwNTI0Rjg1MDA2NTgKLToxMDMwQzAwMDgwMDhEMjNBODAwNkMyM0E4MDAyRDIzQTc1MUEwMTIwQUMKLToxMDMwRDAwMDNBMTk5MDdFODA3NDBGRjBBM0U1MTlGMEU0QTNGMEEzRjEKLToxMDMwRTAwMEYwOTA3RkI3NzQwNEYwODAwMjA1MTYyMDM5NkRFNTE5NjEKLToxMDMwRjAwMDY0Rjc2MDY3RTUxQTcwNjNFNTE4NTRGMDY0RjA3MDU5N0UKLToxMDMxMDAwMDg1MTgxOUY1MEVFNTE5MjQwRjYwMUIyNEZFNjAxNzI0OUQKLToxMDMxMTAwMEZENjAyMjE0NjAxRjI0MDU3MDJGNzUwODAzMDUwRTg1QkQKLToxMDMxMjAwMDE4MDlEMjM3ODAyODc1MDgwMjA1MEU4NTE4MDk3NTE0MEMKLToxMDMxMzAwMDAxRDIzNzgwMTk3NTA4MDUwNTBFODUxODA5RTRGNTBBQ0UKLToxMDMxNDAwMEY1MEI3NTBFMDNEMjM3ODAwNTEyNDhGM0MyMzUzMDM1QzIKLToxMDMxNTAwMDBBODUwODEzODUxODEyODAwMjA1MTY4NTE4MTlFNTE2QzgKLToxMDMxNjAwMDY0MDQ3MDYyRjUwRUU1MTk1NEYwRjUxOUY1MTU4NTE4MkIKLToxMDMxNzAwMDE5RTUxNTI0NzA2MDE4MjRGMDYwMTQyNEYwNjAxMDI0MDAKLToxMDMxODAwMEYwNjAxRTI0RjA2MDFBMjRGMDYwMDQyNDYwNzAyN0U1Q0IKLToxMDMxOTAwMDE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5RDIzNzgwQTYKLToxMDMxQTAwMDFBRTUxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOTc1QUIKLToxMDMxQjAwMDE0MDFEMjM3ODAwNTEyNDhGM0MyMzUzMDM1MEE4NTE5MUIKLToxMDMxQzAwMDEzODUxODEyODAwMjA1MTZFNTE2RDM5NDA1NDA1NzEyOTAKLToxMDMxRDAwMDQ4RjM4MDUyMzAzOTE3RTUwRTcwMEE4NTA4MDk3NTA4RTIKLToxMDMxRTAwMDA0MDUwRTgwNDE3NDA4MjUwRUY4QTYxOTgwMzgyMDM3OTIKLToxMDMxRjAwMDJBRTUwRUI0MDEwRjg1MDgwQTg1MDkwQjg1MTMwODg1OTkKLToxMDMyMDAwMDEyMDk3NTBFMDRFNTE0QjQwMTFDODUwODBBRTRGNTBCRDcKLToxMDMyMTAwMDg1MTMwODg1MTIwOTc1MEUwNDgwMEJFNTE0QjQwMTA2QTgKLToxMDMyMjAwMEU0RjUwQjc1MEUwNEU0RjUxQTMwMzUwMjA1MEVFNTBFRDMKLToxMDMyMzAwMEQzOTQwMzUwMDIwMTBCQzIzN0U0RjUwRUY1MTBDMjM2RTkKLToxMDMyNDAwMEQyM0RGNTE0NzQwODI1MTBGOEU2RkY3NDgwMjUxMEY1QkEKLToxMDMyNTAwMDgyRTQzNDdFRjU4M0VGRjA3NDA4MjUxMEY4RTRGNjA1NzcKLTowRjMyNjAwMDEwRTUxMEI0MDRERTkwN0ZCNzc0MDRGMDAxMEIyMjY4Ci06MEM0OEYzMDBDMjM3RTRGNTBFRjUxMEMyMzZGNTE0MjJCMQotOjEwNDAwMDAwRTUxMUQzOTQwMDUwMDIyMTA2OTA3Njg5RTBDMzk0MDgwQwotOjEwNDAxMDAwNDAwMjIxMDY3NDQwMjUwRkY1ODJFNDM0N0VGNTgzRTBFQQotOjEwNDAyMDAwRjUxN0U1MEQ2MDBFOTA4MDA1RTUxN0YwOTA3Njg5RTBCNAotOjEwNDAzMDAwMDRGMDAxREFFNTE3MTIzN0Y5NDBDMTAyNDA2NzA1NDA4NAotOjEwNDA0MDAwN0EwNjQwOTgwNzQwQzEwQzQwQzEwRDQwQzcwRjQwQ0JENQotOjEwNDA1MDAwRjY0MENCRjg0MENCRkE0MENCRkI0MENCRkM0MENCRkU0QwotOjEwNDA2MDAwNDBDQkZGMDAwMDQwREE5MDdFNDFFMDkwODAwNUYwOTA2OAotOjEwNDA3MDAwNzY4OUUwMDRGMDc1MTEwMTgwNjA5MDdFNDFFMDkwODBDNwotOjEwNDA4MDAwMDVGMDkwN0U0MkUwOTA4MDA1RjA5MDc2ODlFMDA0RjBBMwotOjEwNDA5MDAwRTAwNEYwNzUxMTAxODA0MjkwN0U0MUUwOTA4MDA1RjBDRgotOjEwNDBBMDAwOTA3RTQyRTA5MDgwMDVGMDkwN0U0M0UwOTA4MDA1RjBBNQotOjEwNDBCMDAwOTA3Njg5RTAwNEYwRTAwNEYwRTAwNEYwNzUxMTAxODBFRQotOjEwNDBDMDAwMTlEMjNCRDIzQzgwMTNEMjNCODAwRjkwODAwNUU1MTc3QwotOjEwNDBEMDAwRjA5MDc2ODlFMDA0RjA3NTExMDEyMDNCMDQwNTBEODAxNQotOjEwNDBFMDAwMUYzMDNDMUM5MDdFNDFFMDkwODAwNUYwOTA3RTQyRTBDNQotOjEwNDBGMDAwOTA4MDA1RjA5MDc2ODlFMDA0RjBFMDA0RjA3NTExMDFGRAotOjEwNDEwMDAwMDUwRjE1MTEwMTAwRTUxMTcwMTBDMjMzRjUwREY1MEYwMwotOjBCNDExMDAwOTA3RkM3NzQwNEYwQzIzQkMyM0MyMjQ5Ci06MTA0QkJCMDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMkM0Ci06MEE0QkNCMDA0RDJGOTA3RkQ2RTA1NEZFRjAyMjNCCi06MTA0QUY2MDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzA0MjA0RTA0NEY2Ci06MTA0QjA2MDAwMkYwN0ZEQzdFMDUxMjREMkY5MDdGRDZFMDU0RjdGMDQxCi06MDU0QjE2MDBFMDQ0MDRGMDIyNjAKLToxMDREMkYwMDhFMzU4RjM2RTUzNjE1MzZBRTM1NzAwMjE1MzU0RTYwMzkKLTowNzREM0YwMDA1MTIxNDg1ODBFRTIyMkQKLToxMDQ5RkYwMEU0RkU3NTFERkY3NTFFMDU3NTFGMTJBQjFEQUExRUE5QkUKLToxMDRBMEYwMDFGOTAwMDAxMTIzNkFCNjQwMjcwMkZDREVFQ0QwRUVENkMKLToxMDRBMUYwMDZGNzAwMTIyOTAwMDAyMTIzNzBFODVGMDFCRjUxQzYyOTkKLToxMDRBMkYwMDFCRTUxQjYyMUNFNTFDNjIxQjI5RkRFNTFCM0FDOUVENEEKLToxMDRBM0YwMEM5NzUxREZGRjUxRTg5MUY4MEMxN0IwMDdBMDA3OTAwQTMKLTowMTRBNEYwMDIyNDQKLTowNDE3OTQwMDhEMjk4QjJBRTYKLToxMDE3OTgwMDEyNDlGRkVBNDk2MDU3MTIzNjkyN0UwMDI5RkZFRTNBNTUKLToxMDE3QTgwMEM5RUZDOTc1MkJGRkY1MkM4OTJEQUIyQkFBMkNBOTJEQjgKLToxMDE3QjgwMDkwMDAwMTEyMzZBQkZGNjQwNDYwMDVFRjY0MDU3MDJFREIKLToxMDE3QzgwMEVGQjQwNDE1OTAwMDAyMTIzNkFCNjUyOTcwMEI5MDAwMzcKLToxMDE3RDgwMDAzMTIzNkFCNjUyQTcwMDEyMjEyMzY5MjdFMDAyOUZGNjkKLToxMDE3RTgwMEVFM0FDOUVGQzk3NTJCRkZGNTJDODkyRDgwQkM3QjAwMUIKLTowNDE3RjgwMDdBMDA3OTAwRkEKLTowMTE3RkMwMDIyQ0EKLTowMjQ4QjAwMDhGMkU0OQotOjEwNDhCMjAwRTRGNTJGNzUzMEZGNzUzMTA2NzUzMkJFQUIzMEFBMzE4MwotOjEwNDhDMjAwQTkzMjkwMDAwMTEyMzZBQkI0MDMxRkFGMkYwNTJGRUZCMAotOjEwNDhEMjAwNjUyRTcwMDEyMjEyMzY5MjdFMDAyOUZGRUUzQUM5RUY1MAotOjEwNDhFMjAwQzk3NTMwRkZGNTMxODkzMjgwRDI3QjAwN0EwMDc5MDBCOAotOjAxNDhGMjAwMjJBMwotOjEwMDUwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgxMTAxMDAwMTAxMDJGRgotOjEwMDUxMDAwMDAwMTA5MDJBQzAxMDMwMTAwODAzMjA5MDQwMDAwMDA1RgotOjEwMDUyMDAwMDEwMTAwMDAwQTI0MDEwMDAxNTYwMDAyMDEwMjBDMjQwRQotOjEwMDUzMDAwMDIwMTAxMDEwMDAyMDAwMDAwMDAwRDI0MDYwNTAxMDI3NQotOjEwMDU0MDAwMDMwMDAwMDAwMDAwMDAwOTI0MDMwMjA0MDMwMDA1MDA2QQotOjEwMDU1MDAwMEMyNDAyMDMwNTAyMDAwNjAwMDAwMDAwMTUyNDA2MDYxNAotOjEwMDU2MDAwMDMwMjAwMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAzMDA3NAotOjEwMDU3MDAwMDAwOTI0MDMwNDAxMDEwMDA2MDAwOTA0MDEwMDAwMDEzMAotOjEwMDU4MDAwMDIwMDAwMDkwNDAxMDEwMjAxMDIwMDAwMDcyNDAxMDEyOAotOjEwMDU5MDAwMDAwMTAwMTEyNDAyMDEwMjAyMTAwMzQ0QUMwMDgwQkJFMAotOjEwMDVBMDAwMDAwMDc3MDEwOTA1MEEwNTg0MDEwMTAwOEYwNzI1MDE3NAotOjEwMDVCMDAwMDEwMDAwMDAwOTA1OEYwMTAzMDAwMTA1MDAwOTA0MDE4NQotOjEwMDVDMDAwMDIwMjAxMDIwMDAwMDcyNDAxMDEwMDAxMDAxMTI0MDJCRgotOjEwMDVEMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU0OQotOjEwMDVFMDAwMEEwNTQ2MDIwMTAwOEYwNzI1MDEwMTAwMDAwMDA5MDVFOAotOjEwMDVGMDAwOEYwMTAzMDAwMTA1MDAwOTA0MDIwMDAwMDEwMjAwMDA1MAotOjEwMDYwMDAwMDkwNDAyMDEwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDBBNQotOjEwMDYxMDAwMEUyNDAyMDEwNjAyMTAwMjQ0QUMwMDgwQkIwMDA5MDU1MgotOjEwMDYyMDAwOEMwNTRDMDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDRBRQotOjEwMDYzMDAwMDIwMjAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDBFMjQ0RgotOjEwMDY0MDAwMDIwMTA2MDMxODAyNDRBQzAwODBCQjAwMDkwNThDMDVCQQotOjEwMDY1MDAwNzIwMzAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyMDNFMwotOjEwMDY2MDAwMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyMDExRAotOjEwMDY3MDAwMDIwMjEwMDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1OEMyNgotOjEwMDY4MDAwMDU4NDAxMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDJBMQotOjEwMDY5MDAwMDQwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDJFQQotOjEwMDZBMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU3OAotOjEwMDZCMDAwOEMwNTQ2MDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA0MDMyQQotOjEwMDZDMDAwMDkwNDE4MDM0NTAwNkQwMDYxMDA2NzAwNjkwMDYzMDBCQwotOjEwMDZEMDAwMjAwMDQ3MDA2RDAwNjIwMDQ4MDAyMjAzNDUwMDZEMDBDNQotOjEwMDZFMDAwNjEwMDY3MDA2OTAwNjMwMDIwMDA0NTAwNEQwMDQ5MDA3QgotOjEwMDZGMDAwMjAwMDM2MDA3QzAwMzIwMDIwMDA2RDAwMkEwMzQzMDBGOQotOjEwMDcwMDAwNkYwMDZFMDA2NjAwNjkwMDY3MDA3NTAwNzIwMDYxMDA4RQotOjEwMDcxMDAwNzQwMDY5MDA2RjAwNkUwMDIwMDA1MzAwNzQwMDcyMDBDNgotOjEwMDcyMDAwNjkwMDZFMDA2NzAwMjIwMzQ5MDA2RTAwNzQwMDY1MDBENgotOjEwMDczMDAwNzIwMDY2MDA2MTAwNjMwMDY1MDAyMDAwNTMwMDc0MDBEMQotOjBBMDc0MDAwNzIwMDY5MDA2RTAwNjcwMDAwMDBGRgotOjEwMTQ4NTAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjk3QQotOjAxMTQ5NTAwMjIzNAotOjEwMTQ5NjAwOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJFMAotOjEwMTRBNjAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwOERFMEMwRTBEQwotOjEwMTRCNjAwOENFMEMwRTBDMDgyQzA4MzA1ODZDMDg0QzA4NTdEMDAwNAotOjEwMTRDNjAwOTA3RkUzNzQ3QkYwQTM3NDgwRjA3QzExOTA3Rjk5RTBBOQotOjEwMTRENjAwNTQ0MERDMDMwMjE0RjNCNDAwMTM5MDdGRTI3NDQwRjAyRQotOjEwMTRFNjAwOTA3RkU1RjA5MDdGRTI3NDAwRjAwMjE0RDI5MDc2OTAzRgotOjEwMTRGNjAwRTBCNDAxMTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjBDQgotOjEwMTUwNjAwOTA3RjZDMDIxNTU3QjQwMjEyOTA3NjhGRTAyREZEOTBGNQotOjEwMTUxNjAwN0ZFMjc0ODBGMDkwN0Y2QzAyMTU5NkI0MDMxMjkwNzY4OQotOjEwMTUyNjAwOEZFMDJERkQ5MDdGRTI3NDgwRjA5MDdGNkMwMjE1RTFENAotOjEwMTUzNjAwQjQwNDEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwOTBENwotOjEwMTU0NjAwN0Y2QzAyMTYxMDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTYxQQotOjEwMTU1NjAwNDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREYyN0RCOQotOjEwMTU2NjAwMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjRGRAotOjEwMTU3NjAwMDAwNTA1ODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjAyRAotOjEwMTU4NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERDQwMjE2NDBGQwotOjEwMTU5NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjA0NQotOjEwMTVBNjAwRjBGMERERUM3RDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0YxRQotOjEwMTVCNjAwOUJFMDU0MDRCNDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ1MQotOjEwMTVDNjAwODBGMDA1ODZGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEQQotOjA2MTVENjAwRjBGMEYwRjBGMEYwNkYKLToxMDE1REMwMEREQ0UwMjE2NDBGMEYwRjBGMERERkE3RDAyMDU4NjkwQ0IKLToxMDE1RUMwMDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNTg2MDQKLToxMDE1RkMwMDAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEREOEEKLToxMDE2MEMwMERDMDIxNjQwRjBGMEYwRjBGMEYwRERGODdEMDIwNTg2MUIKLToxMDE2MUMwMDkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1QzkKLToxMDE2MkMwMDg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwQjAKLToxMDE2M0MwMEYwRjBERERBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2N0UKLToxMDE2NEMwMEQwODNEMDgyRDBFMEZDRDBFMEZERDBFMEZFRDBFMEZGMzMKLTowNTE2NUMwMEQwRTBEMEQwMjIxNwotOjEwMTY2MTAwQzBEMEMwRTBDMDgyQzA4MzkwNzY3Q0UwOTA3RjZGRjBGNAotOjEwMTY3MTAwOTA3NjdERTA5MDdGNkZGMDkwNzY3RUUwOTA3RjZGRjBDNgotOjA5MTY4MTAwRDA4M0QwODJEMEUwRDBEMDIyNDkKLToxMDE2OEEwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMEMwODJDMDgzN0UKLToxMDE2OUEwMDA1ODZDMDg0QzA4NTkwNzY4N0UwRkZCRjAwMDMwMjE3RTUKLToxMDE2QUEwMDAxOTA3Rjk2RTA0NDgwRjA5MDdGRTI3NDgwRjA5MDdGMTIKLToxMDE2QkEwMDYyRTAwNTg2OTA3RkUyNzQwMEYwOTA3Rjk2RTA1NDdGQTYKLToxMDE2Q0EwMEYwOTA3RkUyNzQ4MEYwOTA3NjhFRTBCNDAxMDUwNTg2OTIKLToxMDE2REEwMDAyMTZGNkI0MDIwNTA1ODYwMjE2RUIwNTg2MDIxNkZCMEIKLToxMDE2RUEwMEUwRTBFMEUwRTBFMERGRjgwMjE2RkJFMEUwRTBFMERGNjcKLToxMDE2RkEwMEZBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2RDA4M0QwM0EKLTowQzE3MEEwMDgyRDBFMEZFRDBFMEZGRDBFMEQwRDAyMjgyCi06MTAxNzE2MDBDMDgyQzA4M0MwRTBFOEMwRTA3OEQxRTgxNEY4NzBGQjZFCi06MEExNzI2MDBEMEUwRjhEMEUwRDA4M0QwODIyMjlBCi06MTAwQ0E1MDA0MTcyMDEwMTQ1NzIwNTAwMDJDOTAwMDA0NTcyMEEwMDQyCi06MTAwQ0I1MDAwMTAyMDMwNDRENzIwRkQxMDBEMTAwMDAwMDAwMDAwMEI1Ci06MTAwQ0M1MDAyODI4MDkwMDRENzIxQzAxMDAwMTAyMDMwNDA1MDYwN0NFCi06MTAwQ0Q1MDAwODA5MEEwQjQxNzIyRTIyNDE3MjJGMjM0MTcyMzAyMERFCi06MTAwQ0U1MDA0MTcyMzEyMTYyRDI3MjNBMDAwMDAwMDAwMDAwMDAwMDFBCi06MTAwQ0Y1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAwRDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAwRDE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAwRDI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAwRDM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAwRDQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAwRDU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAwRDY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAwRDc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDEwMTAxMDEwMTY4Ci06MTAwRDg1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTRFCi06MTAwRDk1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTNFCi06MTAwREE1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTJFCi06MTAwREI1MDAwMTAxMDEwMTAxMDEwMTAxMDIwMjAyMDIwMjAyMDIwMjE2Ci06MTAwREM1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkZFCi06MTAwREQ1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkVFCi06MTAwREU1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkRFCi06MTAwREY1MDAwMjAyMDIwMjAyMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0MzCi06MTAwRTA1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0FECi06MTAwRTE1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzlECi06MTAwRTI1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzhECi06MTAwRTM1MDAwMzAzMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDZGCi06MTAwRTQ1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDVECi06MTAwRTU1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDRECi06MTAwRTY1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDNECi06MTAwRTc1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTFECi06MTAwRTg1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTBECi06MTAwRTk1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNUZECi06MTAwRUE1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDYwNkVCCi06MTAwRUI1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkNECi06MTAwRUM1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkJECi06MTAwRUQ1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkFECi06MTAwRUU1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDcwNzA3MDgwODk2Ci06MTAwRUY1MDAwODA5MDkwOTBBMEEwQTBCMEIwQjBDMEMwQzBEMEQwRDQwCi06MTAwRjA1MDAwRTBFMEUwRjBGMEYxMDEwMTAxMTExMTExMjEyMTIxM0Q5Ci06MTAwRjE1MDAxMzEzMTQxNDE0MTUxNTE1MTYxNjE2MTcxNzE3MTgxODc0Ci06MTAwRjI1MDAxODE5MTkxOTE5MUExQTFBMUExQjFCMUIxQjFDMUMxQzE4Ci06MTAwRjM1MDAxQzFEMUQxRDFEMUUxRTFFMUUxRjFGMUYxRjIwMjAyMEM4Ci06MTAwRjQ1MDAyMTIxMjEyMjIyMjIyMzIzMjQyNDI1MjUyNjI2MjcyNzYxCi06MTAwRjU1MDAyODI4MjkyOTJBMkEyQjJCMkMyQzJEMkQyRTJFMkYyRkQ0Ci06MTAwRjY1MDAzMDMwMzEzMTMyMzIzMzMzMzQzNDM1MzUzNjM2MzczNzQ0Ci06MTAwRjc1MDAzODM4MzkzOTNBM0EzQjNDM0QzRTNGNDA0MTQyNDM0NDlCCi06MTAwRjg1MDA0NTQ2NDc0ODQ5NDk0QTRCNEI0QzRENEU0RjUwNTE1MkE3Ci06MTAwRjk1MDA1MzU0NTU1NTU2NTY1NzU3NTg1QTVCNUQ1RTVGNjE2MkI3Ci06MTAwRkE1MDA2MzY0NjU2NjY3Njg2OTZBNkI2QzZENkY3MTcyNzM3NDhCCi06MTAwRkI1MDA3NTc2Nzc3ODc5N0E3QjdDN0U4MDAxMzcwMTAxMzgwMEY4Ci06MTA0QUM0MDBFNDkwNzIzNkYwQTNGMDkwN0Y5N0UwNTRGQkYwRTQ5MDBBCi06MTA0QUQ0MDA3MjMzRjA5MDcyMzJGMDkwNzIwMTA0RjBFNDkwNzIzMzA5Ci06MTA0QUU0MDBGMDkwNzIzMkYwOTA3MjAxMDRGMDkwN0Y5N0UwNDQwNEU5Ci06MDI0QUY0MDBGMDIyQUUKLToxMDMyNkYwMDkwNzYxOEUwRkY2NDA1NzA0MjkwNzVBQkUwQjQwMTE5RDkKLToxMDMyN0YwMDkwNzIzNzc0MDFGMEU0OTA4MDIwRjA5MDgwMzFGMDkwREMKLToxMDMyOEYwMDgwMjhGMDkwODAzOUYwODAyMkU0OTA3MjM3RjA5MDc1QUEKLToxMDMyOUYwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNzEKLToxMDMyQUYwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNTIKLToxMDMyQkYwMDgxOTk5MDcyMzk3NDA0RjA5MDcyMzlFMEZGMjRGRTkwNzYKLToxMDMyQ0YwMDcyMDRGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1QkYKLToxMDMyREYwMDgzRTA2NDAxNzA1NDkwNzIzNjA0RjA5MDcyMDRFMEZGNDIKLToxMDMyRUYwMDI0RkQ2MDI4MjRGRTYwMjQyNDAzMjRGQjUwMDQ2MDFDNkEKLToxMDMyRkYwMDgxOEM3NDIwMkZGNTgyRTQzNDgwRjU4M0U0RjA3NDI4RjgKLToxMDMzMEYwMDJGRjU4MkU0MzQ4MEY1ODNFNEYwODE4QzkwNzIwNEUwMzEKLToxMDMzMUYwMEZGMjQzMEY1ODJFNDM0ODBGNTgzRTRGMDc0MzgyRkY1MjAKLToxMDMzMkYwMDgyRTQzNDgwRjU4M0U0RjA4MThDRTQ5MDcyMzZGMDkwN0YKLToxMDMzM0YwMDcyMzlFMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzOTMKLToxMDMzNEYwMEUwRkY3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMjgKLToxMDMzNUYwMDAyNzQzQkYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwQUEKLToxMDMzNkYwMDA0OTA3MjAyRjBFRjRFNzAwMjgxMzVFRjY0ODA0RTcwNjAKLToxMDMzN0YwMDAyODEzNUVGRjhFNDkwNzUwREYwRTg5MDc1MENGMDkwNDAKLToxMDMzOEYwMDcyMzRFMDc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNDkKLToxMDMzOUYwMEUwRkY5MDcyMDJGMDkwNzUwREUwMkZGMDkwNzUwQ0UwNDkKLToxMDMzQUYwMDM0MDBGMEUwRkVBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5NDQKLToxMDMzQkYwMEY4RDMxMjM3OTU0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2MDQKLToxMDMzQ0YwMEYwOTA3NTBERTAyNDJBRjA5MDc1MENFMDM0NUFGMEUwN0YKLToxMDMzREYwMEZFQTNFMDc4MDVDRUEyRTcxM0NFMTNEOEY4RkY5MDc1QzEKLToxMDMzRUYwMDBDRUVGMEEzRUZGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0NkQKLToxMDMzRkYwMEQyRUU2NDgwOTQ4MjQwMEE5MDcyMkM3NDAyRjBBMzc0MEYKLToxMDM0MEYwMEQyRjBDMzkwNzIyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzNTcKLToxMDM0MUYwMEYwOTA3MjJDRTBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1QzAKLToxMDM0MkYwMDgzRTA5MDcyMDJGMDkwNzIwNEUwRkYyNEZENjAyRDI0N0YKLToxMDM0M0YwMEZFNjAyOTI0MDMyNEZCNTAwNDYwMjE4MDQwOTA3MjAyMTcKLToxMDM0NEYwMEUwRkU3NDIwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDI4Q0IKLToxMDM0NUYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwODAyMTkwNzIwMkUwNDQKLToxMDM0NkYwMEZGOTA3MjA0RTBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGQTAKLToxMDM0N0YwMEYwNzQzODJFRjU4MkU0MzQ4MEY1ODNFRkYwOTA3MjM5RDIKLTowQjM0OEYwMEUwMDRGMEUwNjQwQTYwMDI0MUM3MjI4NAotOjEwMzQ5QTAwOTA3NjE4RTBGRkI0MDUyMzkwNzIzN0UwNzAxRDkwNzU5RQotOjEwMzRBQTAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA2NAotOjEwMzRCQTAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI0NQotOjEwMzRDQTAwQzE5MTkwNzIzNkUwNjAwMkMxOTE5MDc2NDBFMDcwMzEwRAotOjEwMzREQTAwOTA3MjAzNzQwM0YwOTA3MjAzRTBGRjc1RjAwQUE0MjQ1QgotOjEwMzRFQTAwQUFGNTgyRTQzNDc1RjU4M0UwRkU5MDcyMjlFMEZERUVEOAotOjEwMzRGQTAwNkQ2MDBFRUZDMzk0MEE1MDA4OTA3MjAzRTAwNEYwODBFNgotOjEwMzUwQTAwRDU5MDcyMzk3NDA0RjA5MDc2NDBFMDcwMDg5MDcyMDM5NgotOjEwMzUxQTAwRTA5MDcyMzlGMDkwNzIzOUUwRkQyNEZFOTA3MjJBRjA0MAotOjEwMzUyQTAwRUQ3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0UwRkY2NQotOjEwMzUzQTAwN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjAyNzRBNAotOjEwMzU0QTAwODBGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MDA0OTA1QQotOjEwMzU1QTAwNzIwMkYwRUY0RTcwMDJDMTFCRUY2NDgwNEU3MDAyQzExRQotOjEwMzU2QTAwMUJFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjBFRDc1RjAyRQotOjEwMzU3QTAwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwRkY5MDcyMDI2NAotOjEwMzU4QTAwRjA5MDc1MERFMDJGRjA5MDc1MENFMDM0MDBGMEUwRkUzRAotOjEwMzU5QTAwQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOUY4RDMxMjM3OTVCMAotOjEwMzVBQTAwNDAwQTkwNzUwQzc0QTVGMEEzNzRENkYwOTA3NTBERTBERQotOjEwMzVCQTAwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMEZFQTNFMDc4MDU3NgotOjEwMzVDQTAwQ0VBMkU3MTNDRTEzRDhGOEZGOTA3NTBDRUVGMEEzRUY1NgotOjEwMzVEQTAwRjA5MDcyMkNFRUYwQTNFRkYwRDM5NEQyRUU2NDgwOTRDNAotOjEwMzVFQTAwODI0MDBBOTA3MjJDNzQwMkYwQTM3NEQyRjBDMzkwNzJEMwotOjEwMzVGQTAwMkNFMDY0ODA5NDgwNTAwNEU0RjBBM0YwOTA3MjJDRTBGNAotOjEwMzYwQTAwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNTgzRTA5MDcyMDI2QQotOjEwMzYxQTAwRjA5MDcyMkFFMEZGMjRGRDYwMkQyNEZFNjAyOTI0MDMyNQotOjEwMzYyQTAwMjRGQjUwMDQ2MDIxODA0MDkwNzIwMkUwRkU3NDIwMkYzNwotOjEwMzYzQTAwRjU4MkU0MzQ4MEY1ODNFRUYwNzQyODJGRjU4MkU0MzRDMQotOjEwMzY0QTAwODBGNTgzRUVGMDgwMjE5MDcyMDJFMEZGOTA3MjJBRTAwQQotOjEwMzY1QTAwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkYwNzQzODJFRjVEOQotOjEwMzY2QTAwODJFNDM0ODBGNTgzRUZGMDkwNzY0MEUwNzAwNjkwNzI0MQotOjEwMzY3QTAwMzk3NDBBRjA5MDcyMzlFMDA0RjBFMEMzOTQwQTUwMDJGNwotOjA4MzY4QTAwQTExMUU0OTA3NjQwRjAyMjRBCi06MDQ0RDk3MDAxMjE3MzAyMjlECi06MTA0OTU4MDA5MDc2NDY3NDgwRjBFNEEzRjBBM0YwQTNGMEEzRjBBMzRDCi06MTA0OTY4MDBGMEEzRjBBM0YwQTNGMEEzNzQ4MEYwRTRBM0YwQTNGMDA1Ci06MTA0OTc4MDBBM0YwQTNGMEEzRjBBM0YwQTM3NDQwRjBFNEEzRjBBMzgyCi06MTA0OTg4MDA3NDQwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0YwQTNGMDI1Ci06MTA0OTk4MDBBMzc0NDBGMEU0QTNGMEEzNzQ0MEYwRTRBM0YwQTNGMDAwCi06MDU0OUE4MDBBM0YwQTNGMDIyQzIKLToxMDBGQzYwMEU0RkY3NDQ2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDIwNjAKLToxMDBGRDYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ0RTJGRjU4MkU0MkIKLToxMDBGRTYwMDM0NzZGNTgzRTBGRTc0MzAyRkY1ODJFNDM0ODBGNTgzQTEKLTowNjBGRjYwMEVFRjAwRkJGMDhDQzc1Ci06MDEwRkZDMDAyMkQyCi06MTA0QThEMDBFNEZGNzQ1NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyODQ2Ci06MTA0QTlEMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NUUyRkY1ODJFNDE5Ci06MTA0QUFEMDAzNDc2RjU4M0UwRkU3NDM4MkZGNTgyRTQzNDgwRjU4Mzk3Ci06MDY0QUJEMDBFRUYwMEZCRjA4Q0M3MwotOjAxNEFDMzAwMjJEMAotOjEwMTczMDAwQzA4MkMwODNDMEUwRThDMEUwNzg3OEU4MTRGODcwRkJBRAotOjBBMTc0MDAwRDBFMEY4RDBFMEQwODNEMDgyMjI4MAotOjAzMDA0MzAwMDI0OTAwNkYKLToxMDQ5MDAwMDAyMkZFNzAwMDIzRDQ3MDAwMjRENDYwMDAyNEJENTAwNTIKLToxMDQ5MTAwMDAyNEI2MDAwMDIyRkZGMDAwMjRCRUQwMDAyNEI4MTAwQjIKLToxMDQ5MjAwMDAyNEMwNDAwMDIzRkQ1MDAwMjRDMUIwMDAyNEMzMjAwMzYKLToxMDQ5MzAwMDAyNEM0OTAwMDI0QzYwMDAwMjRDNzcwMDAyNEM4RTAwOTEKLToxMDQ5NDAwMDAyNENBNTAwMDI0Q0JDMDAwMjRDRDMwMDAyNENFQTAwMTEKLTowODQ5NTAwMDAyNEQwMTAwMDI0RDE4MDBBOAotOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQotOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQotOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQotOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQotOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQotOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQotOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQotOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQotOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQotOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQotOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQotOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQotOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAotOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAotOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAotOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAotOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAotOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAotOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAotOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAotOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAotOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAotOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAotOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAotOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAotOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAotOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAotOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAotOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMwotOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMwotOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMwotOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMwotOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MwotOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MwotOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MwotOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MwotOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MwotOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MwotOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMwotOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMwotOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMwotOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMwotOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMwotOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMwotOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgotOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgotOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgotOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgotOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgotOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgotOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgotOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgotOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgotOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgotOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgotOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Ci06MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Ci06MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Ci06MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Ci06MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Ci06MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Ci06MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCi06MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCi06MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCi06MDIxRjNFMDAwMDAwQTEKLToxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKLToxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKLToxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKLToxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKLToxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKLToxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKLToxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKLToxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKLToxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKLToxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKLToxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKLToxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKLToxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKLToxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKLToxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKLToxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKLToxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKLToxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKLToxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKLToxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKLToxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKLToxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKLToxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKLToxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKLToxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKLToxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLToxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKLToxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKLToxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKLToxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKLToxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKLToxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKLToxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKLToxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKLToxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKLToxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKLToxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKLToxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKLToxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKLToxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKLToxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKLToxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKLToxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKLToxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKLToxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKLToxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKLToxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKLToxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKLToxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKLToxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKLToxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKLToxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKLToxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKLToxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLTowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgotOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgotOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgotOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgotOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgotOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgotOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgotOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgotOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgotOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQotOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQotOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQotOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQotOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQotOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQotOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQotOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQotOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQotOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAotOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAotOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAotOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAotOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAotOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAotOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAotOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAotOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAotOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAotOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQwotOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQwotOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QwotOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QwotOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QwotOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QwotOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QwotOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QwotOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQwotOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQwotOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQwotOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQwotOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQwotOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQwotOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECi06MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECi06MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECi06MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECi06MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECi06MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECi06MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECi06MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECi06MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECi06MDUyN0ZDMDAwMDAwMDAwMDIyQjYKLTowNzE3NEEwMDkwN0ZDNTc0MDJGMDIyM0MKLToxMDE3NTEwMDkwN0VDMEUwOTA3NjQ1RjA5MDdFQzFFMDkwNzY0NEYwQjYKLToxMDE3NjEwMDkwN0VDMkUwOTA3NjQzRjBCNDAwMDMwMjE3Nzg5MDc2NDEKLToxMDE3NzEwMDE5NzQwM0YwMDIxNzhFOTA3NjQ0RTBCNEJCMDk5MDc2OTkKLToxMDE3ODEwMDE5NzQwMkYwMDIxNzhFOTA3NjE5NzQwMUYwOTA3NjQyNjYKLTowMzE3OTEwMEU0RjAyMjVGCi06MDMwMDAwMDAwMjQ1RjlCRAotOjBDNDVGOTAwNzg3RkU0RjZEOEZENzU4MTM4MDI0NjQwNUEKLToxMDM2OTIwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMzYKLTowOTM2QTIwMEUzMjI4OTgyOEE4M0U0OTMyMjY5Ci06MTAzNkFCMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEQ0Ci06MTAzNkJCMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjFFCi06MEQzNkNCMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjM4Ci06MTAzNkQ4MDBDMkQ1RUMzMEU3MDlCMkQ1RTRDMzlERkRFNDlDRkNFRTBECi06MTAzNkU4MDAzMEU3MTVCMkQ1RTRDMzlGRkZFNDlFRkUxMjM4MUZDMzJFCi06MTAzNkY4MDBFNDlERkRFNDlDRkM4MDAzMTIzODFGMzBENTA3QzNFNDI5Ci06MDYzNzA4MDA5RkZGRTQ5RUZFMjI3QgotOjEwMzcwRTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBGOQotOjEwMzcxRTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVENgotOjEwMzcyRTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODMxQwotOjA4MzczRTAwRTk5M0Y1RjBBM0U5OTMyMkUxCi06MTAzNzQ2MDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzIyCi06MTAzNzU2MDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNEEwCi06MTAzNzY2MDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQkZGCi06MTAzNzc2MDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUM0Ci06MEYzNzg2MDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjIzMQotOjEwMzc5NTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRUM2NDgwQzhBQgotOjA2MzdBNTAwNjQ4MDk4NDVGMDIyNEIKLToxMDM3QUIwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNzQKLTowMTM3QkIwMDIyRUIKLTowQzM3QkMwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjgwCi06MTAzN0M4MDBBODgyODU4M0YwRDA4M0QwODIxMjM3REYxMjM3REYxMkM4Ci06MTAzN0Q4MDAzN0RGMTIzN0RGRTQ3M0U0OTNBM0M1ODNDNUYwQzU4M0VECi06MTAzN0U4MDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDODRCCi06MDEzN0Y4MDAyMkFFCi06MTAzN0Y5MDBEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzVGCi06MTAzODA5MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MDcyCi06MDYzODE5MDBFRkEzQTNBMzgwREY3MgotOjEwNDYwNTAwMDI0NzVBRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIyQQotOjEwNDYxNTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNCNgotOjEwNDYyNTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REY4NQotOjEwNDYzNTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMEM4RkU0N0U3QQotOjEwNDY0NTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTM3QQotOjEwNDY1NTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTM0MQotOjEwNDY2NTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0E2QwotOjEwNDY3NTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkUyNAotOjAxMEZDNTAwMDAyQgotOjEwMzgxRjAwQkMwMDBCQkUwMDI5RUY4REYwODRGRkFERjAyMkU0Q0M4RAotOjEwMzgyRjAwRjg3NUYwMDhFRjJGRkZFRTMzRkVFQzMzRkNFRTlERUM1NgotOjEwMzgzRjAwOTg0MDA1RkNFRTlERkUwRkQ1RjBFOUU0Q0VGRDIyRUQ5QwotOjEwMzg0RjAwRjhGNUYwRUU4NDIwRDIxQ0ZFQURGMDc1RjAwOEVGMkZFNgotOjEwMzg1RjAwRkZFRDMzRkQ0MDA3OTg1MDA2RDVGMEYyMjJDMzk4RkRENwotOjA1Mzg2RjAwMEZENUYwRUEyMjc0Ci06MDAwMDAwMDFGRgotKi8KLS8qCi1WRVJTSU9OPTEuMDQuMDYyCi1EQVRFPTE2LjEwLjIwMDIgIAotKi8KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfZW1pNjJfbG9hZGVyW10gPSB7Ci0geyAzLDB4MDAwMCwwLHsweDAyLDB4MDIsMHg4N319LAotIHsgMywweDAwNDMsMCx7MHgwMiwweDA0LDB4MDB9fSwKLSB7MTYsMHgwMTAwLDAsezB4ZTQsMHhmZiwweGZlLDB4YzIsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4LDB4MjAsMHg5MCwweDdmLDB4YWIsMHg3NCwweGZmLDB4ZjB9fSwKLSB7MTYsMHgwMTEwLDAsezB4OTAsMHg3ZiwweGE5LDB4ZjAsMHg5MCwweDdmLDB4YWEsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHg5NSwweDc0LDB4YzB9fSwKLSB7MTYsMHgwMTIwLDAsezB4ZjAsMHg5MCwweDdmLDB4OWUsMHhmMCwweDkwLDB4N2YsMHg5OCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4OTQsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgwMTMwLDAsezB4OWQsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4OTMsMHhlMCwweDU0LDB4ZmN9fSwKLSB7MTYsMHgwMTQwLDAsezB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweDAzLDB4ZjAsMHhlNCwweDkwLDB4N2YsMHg5NiwweGYwLDB4OTAsMHg3ZiwweGFmLDB4ZTB9fSwKLSB7MTYsMHgwMTUwLDAsezB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDBkLDB4ZjAsMHhkMiwweGFmLDB4MGYsMHhiZiwweDAwLDB4MDF9fSwKLSB7MTYsMHgwMTYwLDAsezB4MGUsMHhiZSwweDA3LDB4ZjgsMHhiZiwweDA4LDB4ZjUsMHgyMCwweDIwLDB4NDIsMHg3NSwweDE0LDB4MDAsMHg3NSwweDEzLDB4MDB9fSwKLSB7MTYsMHgwMTcwLDAsezB4NzUsMHgxMiwweDAwLDB4NzUsMHgxMSwweDAwLDB4N2YsMHg0OCwweDdlLDB4OTIsMHg3ZCwweDAwLDB4N2MsMHgwMCwweGFiLDB4MTR9fSwKLSB7MTYsMHgwMTgwLDAsezB4YWEsMHgxMywweGE5LDB4MTIsMHhhOCwweDExLDB4YzMsMHgxMiwweDAzLDB4ZWQsMHg1MCwweGRiLDB4MjAsMHgyMCwweGQ4LDB4N2F9fSwKLSB7MTYsMHgwMTkwLDAsezB4MDAsMHg3OSwweDAwLDB4NzgsMHgwMCwweGU1LDB4MTQsMHgyNCwweDAxLDB4ZjUsMHgxNCwweGVhLDB4MzUsMHgxMywweGY1LDB4MTN9fSwKLSB7MTYsMHgwMWEwLDAsezB4ZTksMHgzNSwweDEyLDB4ZjUsMHgxMiwweGU4LDB4MzUsMHgxMSwweGY1LDB4MTEsMHg4MCwweGNhLDB4MzAsMHgyMCwweGZkLDB4MTJ9fSwKLSB7MTYsMHgwMWIwLDAsezB4MDEsMHhjNywweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9fSwKLSB7IDYsMHgwMWMwLDAsezB4MDIsMHhmMCwweGMyLDB4MjAsMHg4MCwweGU2fX0sCi0geyAxLDB4MDFjNiwwLHsweDIyfX0sCi0gezE2LDB4MDFjNywwLHsweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg1YiwweDYwLDB4NjAsMHgyNCwweDAyLDB4NjAsMHgwMywweDAyLDB4MDIsMHg4NSwweDkwfX0sCi0gezE2LDB4MDFkNywwLHsweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1LDB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwfX0sCi0gezE2LDB4MDFlNywwLHsweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1LDB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1fX0sCi0gezE2LDB4MDFmNywwLHsweDE2LDB4NDUsMHgxNSwweDcwLDB4MDMsMHgwMiwweDAyLDB4ODUsMHhlNCwweDkwLDB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0fX0sCi0gezE2LDB4MDIwNywwLHsweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjLDB4MTIsMHgwMywweDEzLDB4YWYsMHgwYywweDdlfX0sCi0gezE2LDB4MDIxNywwLHsweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1LDB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1fX0sCi0gezE2LDB4MDIyNywwLHsweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4YzcsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1fX0sCi0gezE2LDB4MDIzNywwLHsweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1fX0sCi0gezE2LDB4MDI0NywwLHsweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNSwweDE2LDB4NDUsMHgxNSwweDYwLDB4MzAsMHhlNCwweDkwfX0sCi0gezE2LDB4MDI1NywwLHsweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjfX0sCi0gezE2LDB4MDI2NywwLHsweDEyLDB4MDMsMHgyYiwweGFmLDB4MGMsMHg3ZSwweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1fX0sCi0gezE1LDB4MDI3NywwLHsweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNSwweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4Y2EsMHhjM319LAotIHsgMSwweDAyODYsMCx7MHgyMn19LAotIHsxMiwweDAyODcsMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MjksMHgwMiwweDAyLDB4Y2V9fSwKLSB7MTYsMHgwMjkzLDAsezB4MDIsMHgwMSwweDAwLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9fSwKLSB7MTYsMHgwMmEzLDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9fSwKLSB7MTYsMHgwMmIzLDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9fSwKLSB7MTYsMHgwMmMzLDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4MDQsMHg2ZSwweGU0LDB4N2V9fSwKLSB7MTYsMHgwMmQzLDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9fSwKLSB7MTYsMHgwMmUzLDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9fSwKLSB7MTYsMHgwMmYzLDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9fSwKLSB7MTYsMHgwMzAzLDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9fSwKLSB7MTYsMHgwMzEzLDAsezB4ZTUsMHgwYywweGZmLDB4ZTUsMHgwYiwweGY1LDB4ODIsMHhlNSwweDBhLDB4ZjUsMHg4MywweDc1LDB4OTIsMHg3ZSwweDc0LDB4YzB9fSwKLSB7IDgsMHgwMzIzLDAsezB4ZjgsMHhlMiwweDA4LDB4ZjAsMHhhMywweGRmLDB4ZmEsMHgyMn19LAotIHsxNiwweDAzMmIsMCx7MHg5MCwweDdmLDB4OTYsMHg4NSwweDgzLDB4OTIsMHhhOCwweDgyLDB4NzksMHgwMiwweDkwLDB4MDAsMHgwMCwweGUwLDB4YjQsMHgwMH19LAotIHsxNiwweDAzM2IsMCx7MHgwZCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NDQsMHg4MCwweGYwLDB4ZTUsMHgwY319LAotIHsxNiwweDAzNGIsMCx7MHhmZiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZjUsMHgyOCwweGU0LDB4YTIsMHg0NywweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMn19LAotIHsxNiwweDAzNWIsMCx7MHg0NiwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ1LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDQsMHgzM319LAotIHsxNiwweDAzNmIsMCx7MHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDMsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MiwweDMzLDB4ZjIsMHg2OX19LAotIHsxNiwweDAzN2IsMCx7MHhmMiwweGU0LDB4YTIsMHg0MSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQwLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhhM319LAotIHsgMywweDAzOGIsMCx7MHhkZiwweGMyLDB4MjJ9fSwKLSB7MTYsMHgwMzhlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3ZiwweGM0LDB4ZTQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2Z9fSwKLSB7MTEsMHgwMzllLDAsezB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDAzYTksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDIwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX19LAotIHsgOCwweDAzYjksMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4MDNjMSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGQwfX0sCi0geyA2LDB4MDNkMSwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDAzZDcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHhkMH19LAotIHsgNiwweDAzZTcsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwM2VkLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9fSwKLSB7IDEsMHgwM2ZkLDAsezB4MjJ9fSwKLSB7IDEsMHgwM2ZlLDAsezB4MzJ9fSwKLSB7IDEsMHgwM2ZmLDAsezB4MzJ9fSwKLSB7MTYsMHgwNDAwLDAsezB4MDIsMHgwMywweGE5LDB4MDAsMHgwMiwweDAzLDB4YzEsMHgwMCwweDAyLDB4MDMsMHg4ZSwweDAwLDB4MDIsMHgwNCwweDU4LDB4MDB9fSwKLSB7MTYsMHgwNDEwLDAsezB4MDIsMHgwMywweGQ3LDB4MDAsMHgwMiwweDAzLDB4ZmUsMHgwMCwweDAyLDB4MDMsMHhmZiwweDAwLDB4MDIsMHgwNCwweDg0LDB4MDB9fSwKLSB7MTYsMHgwNDIwLDAsezB4MDIsMHgwNCwweDg1LDB4MDAsMHgwMiwweDA0LDB4ODYsMHgwMCwweDAyLDB4MDQsMHg4NywweDAwLDB4MDIsMHgwNCwweDg4LDB4MDB9fSwKLSB7MTYsMHgwNDMwLDAsezB4MDIsMHgwNCwweDg5LDB4MDAsMHgwMiwweDA0LDB4OGEsMHgwMCwweDAyLDB4MDQsMHg4YiwweDAwLDB4MDIsMHgwNCwweDhjLDB4MDB9fSwKLSB7MTYsMHgwNDQwLDAsezB4MDIsMHgwNCwweDhkLDB4MDAsMHgwMiwweDA0LDB4OGUsMHgwMCwweDAyLDB4MDQsMHg4ZiwweDAwLDB4MDIsMHgwNCwweDkwLDB4MDB9fSwKLSB7IDgsMHgwNDUwLDAsezB4MDIsMHgwNCwweDkxLDB4MDAsMHgwMiwweDA0LDB4OTIsMHgwMH19LAotIHsxNiwweDA0NTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4LDB4ZjAsMHhkMH19LAotIHsgNiwweDA0NjgsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwNDZlLDAsezB4MDIsMHgwYSwweDAwLDB4MGYsMHgwMSwweDBjLDB4MTEsMHgwNCwweDBkLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDAwLDB4MDB9fSwKLSB7IDEsMHgwNDdlLDAsezB4MDB9fSwKLSB7IDQsMHgwNDdmLDAsezB4MDIsMHgxNywweDAwLDB4MDB9fSwKLSB7IDEsMHgwNDgzLDAsezB4MDB9fSwKLSB7IDEsMHgwNDg0LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg1LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg2LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg3LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg4LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg5LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhhLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhiLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhjLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhkLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhlLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhmLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDkwLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDkxLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDkyLDAsezB4MzJ9fSwKLSB7MTYsMHgxMTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9fSwKLSB7MTYsMHgxMTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHgyMCwweDAwLDB4MDEsMHgwMSwweDAzLDB4YTAsMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDJ9fSwKLSB7MTYsMHgxMTIwLDAsezB4ZmYsMHgwMCwweDAwLDB4MDQsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHgwMiwweDAyLDB4NDB9fSwKLSB7MTYsMHgxMTMwLDAsezB4MDAsMHgwMCwweDA0LDB4MDMsMHgwOSwweDA0LDB4MjYsMHgwMywweDQxLDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDY4LDB4MDB9fSwKLSB7MTYsMHgxMTQwLDAsezB4NmYsMHgwMCwweDcyLDB4MDAsMHgyMCwweDAwLDB4NDMsMHgwMCwweDY4LDB4MDAsMHg2OSwweDAwLDB4NzAsMHgwMCwweDczLDB4MDB9fSwKLSB7MTYsMHgxMTUwLDAsezB4MmMsMHgwMCwweDIwLDB4MDAsMHg0OSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHgyZSwweDAwLDB4MjgsMHgwMywweDQ2LDB4MDB9fSwKLSB7MTYsMHgxMTYwLDAsezB4NjksMHgwMCwweDcyLDB4MDAsMHg2ZCwweDAwLDB4NzcsMHgwMCwweDYxLDB4MDAsMHg3MiwweDAwLDB4NjUsMHgwMCwweDIwLDB4MDB9fSwKLSB7MTYsMHgxMTcwLDAsezB4NDYsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NmQsMHgwMCwweDY1LDB4MDAsMHg1NywweDAwLDB4NmYsMHgwMCwweDcyLDB4MDB9fSwKLSB7MTYsMHgxMTgwLDAsezB4NmIsMHgwMCwweDczLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDB9fSwKLSB7MTYsMHgxMTkwLDAsezB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0LDB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDB9fSwKLSB7MTYsMHgxMWEwLDAsezB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDIyLDB4MDN9fSwKLSB7MTYsMHgxMWIwLDAsezB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDB9fSwKLSB7MTYsMHgxMWMwLDAsezB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDB9fSwKLSB7IDIsMHgxMWQwLDAsezB4MDAsMHgwMH19LAotIHsgMCwweDAwMDAsMSx7MH19Ci19OwotLyogU291cmNlOiBFTUlMT0FELkhFWCAKLToxMDA0NkUwMDAyMEEwMDBGMDEwQzExMDQwRDAwMDAwMDAwNDEwMDAwRjMKLTowMTA0N0UwMDAwN0QKLToxMDAxQzcwMDkwN0ZFOUUwMjQ1QjYwNjAyNDAyNjAwMzAyMDI4NTkwNkYKLToxMDAxRDcwMDdGRUFFMDc1MEEwMEY1MEJBM0UwRkVFNEVFNDIwQTkwMjEKLToxMDAxRTcwMDdGRUVFMDc1MTUwMEY1MTZBM0UwRkVFNEVFNDIxNUU1OTcKLToxMDAxRjcwMDE2NDUxNTcwMDMwMjAyODVFNDkwN0ZDNUYwOTA3RkI0MjEKLToxMDAyMDcwMEUwMjBFM0Y5OTA3RkM1RTBGNTBDMTIwMzEzQUYwQzdFRjUKLToxMDAyMTcwMDAwRUYyNTBCRjUwQkVFMzUwQUY1MEFDM0U1MTY5RkY1M0EKLToxMDAyMjcwMDE2RTUxNTlFRjUxNTgwQzc5MDdGRUFFMDc1MEEwMEY1N0IKLToxMDAyMzcwMDBCQTNFMEZFRTRFRTQyMEE5MDdGRUVFMDc1MTUwMEY1QjEKLToxMDAyNDcwMDE2QTNFMEZFRTRFRTQyMTVFNTE2NDUxNTYwMzBFNDkwOEUKLToxMDAyNTcwMDdGQzVGMDkwN0ZCNEUwMjBFM0Y5OTA3RkM1RTBGNTBDMEYKLToxMDAyNjcwMDEyMDMyQkFGMEM3RTAwRUYyNTBCRjUwQkVFMzUwQUY1Q0QKLTowRjAyNzcwMDBBQzNFNTE2OUZGNTE2RTUxNTlFRjUxNTgwQ0FDMzU3Ci06MDEwMjg2MDAyMjU1Ci06MTAwM0E5MDBDMEUwQzA4M0MwODJEMjIwNTM5MUVGOTA3RkFCNzQwMTJCCi06MDgwM0I5MDBGMEQwODJEMDgzRDBFMDMyQzUKLToxMDAzOEUwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGQjEKLTowQjAzOUUwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJCQQotOjEwMDNDMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDA0NAotOjA2MDNEMTAwODJEMDgzRDBFMDMyNkYKLToxMDAzRDcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwMjAKLTowNjAzRTcwMDgyRDA4M0QwRTAzMjU5Ci06MDEwM0ZFMDAzMkNDCi06MTAwNDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA4RjBEMEE2Ci06MDYwNDY4MDA4MkQwODNEMEUwMzJENwotOjAxMDNGRjAwMzJDQgotOjAxMDQ4NDAwMzI0NQotOjAxMDQ4NTAwMzI0NAotOjAxMDQ4NjAwMzI0MwotOjAxMDQ4NzAwMzI0MgotOjAxMDQ4ODAwMzI0MQotOjAxMDQ4OTAwMzI0MAotOjAxMDQ4QTAwMzIzRgotOjAxMDQ4QjAwMzIzRQotOjAxMDQ4QzAwMzIzRAotOjAxMDQ4RDAwMzIzQwotOjAxMDQ4RTAwMzIzQgotOjAxMDQ4RjAwMzIzQQotOjAxMDQ5MDAwMzIzOQotOjAxMDQ5MTAwMzIzOAotOjAxMDQ5MjAwMzIzNwotOjA0MDQ3RjAwMDIxNzAwMDA2MAotOjEwMDEwMDAwRTRGRkZFQzIyMEQyRTg0M0Q4MjA5MDdGQUI3NEZGRjAxQQotOjEwMDExMDAwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0Y5NTc0QzBFMwotOjEwMDEyMDAwRjA5MDdGOUVGMDkwN0Y5OEYwRTQ5MDdGOTRGMDkwN0YyNQotOjEwMDEzMDAwOUQ3NEZGRjA5MDdGOTc3NEEwRjA5MDdGOTNFMDU0RkM0MwotOjEwMDE0MDAwRjA5MDdGOUM3NDAzRjBFNDkwN0Y5NkYwOTA3RkFGRTA5NgotOjEwMDE1MDAwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGMEZCRjAwMDEzQwotOjEwMDE2MDAwMEVCRTA3RjhCRjA4RjUyMDIwNDI3NTE0MDA3NTEzMDA3NQotOjEwMDE3MDAwNzUxMjAwNzUxMTAwN0Y0ODdFOTI3RDAwN0MwMEFCMTRFMwotOjEwMDE4MDAwQUExM0E5MTJBODExQzMxMjAzRUQ1MERCMjAyMEQ4N0FCQwotOjEwMDE5MDAwMDA3OTAwNzgwMEU1MTQyNDAxRjUxNEVBMzUxM0Y1MTMwRAotOjEwMDFBMDAwRTkzNTEyRjUxMkU4MzUxMUY1MTE4MENBMzAyMEZEMTIzQgotOjEwMDFCMDAwMDFDNzUwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQ2MQotOjA2MDFDMDAwMDJGMEMyMjA4MEU2RkYKLTowMTAxQzYwMDIyMTYKLToxMDExMDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMDMKLToxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKLToxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKLToxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKLToxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKLToxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKLToxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKLToxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKLToxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKLToxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKLToxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKLToxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKLToxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKLTowMjExRDAwMDAwMDAxRAotOjEwMDMxMzAwRTUwQ0ZGRTUwQkY1ODJFNTBBRjU4Mzc1OTI3RTc0QzA2MwotOjA4MDMyMzAwRjhFMjA4RjBBM0RGRkEyMjYyCi06MTAwMzJCMDA5MDdGOTY4NTgzOTJBODgyNzkwMjkwMDAwMEUwQjQwMEJBCi06MTAwMzNCMDAwRDc0MDFGMDkwN0Y5N0UwNTQ3RkYwNDQ4MEYwRTUwQzUyCi06MTAwMzRCMDBGRjkwN0VDMEUwRjUyOEU0QTI0NzMzRjI2OUYyRTRBMjA1Ci06MTAwMzVCMDA0NjMzRjI2OUYyRTRBMjQ1MzNGMjY5RjJFNEEyNDQzMzg0Ci06MTAwMzZCMDBGMjY5RjJFNEEyNDMzM0YyNjlGMkU0QTI0MjMzRjI2OTk2Ci06MTAwMzdCMDBGMkU0QTI0MTMzRjI2OUYyRTRBMjQwMzNGMjY5RjJBMzUwCi06MDMwMzhCMDBERkMyMjJBQwotOjAzMDA0MzAwMDIwNDAwQjQKLToxMDA0MDAwMDAyMDNBOTAwMDIwM0MxMDAwMjAzOEUwMDAyMDQ1ODAwODcKLToxMDA0MTAwMDAyMDNENzAwMDIwM0ZFMDAwMjAzRkYwMDAyMDQ4NDAwNkYKLToxMDA0MjAwMDAyMDQ4NTAwMDIwNDg2MDAwMjA0ODcwMDAyMDQ4ODAwOUEKLToxMDA0MzAwMDAyMDQ4OTAwMDIwNDhBMDAwMjA0OEIwMDAyMDQ4QzAwN0EKLToxMDA0NDAwMDAyMDQ4RDAwMDIwNDhFMDAwMjA0OEYwMDAyMDQ5MDAwNUEKLTowODA0NTAwMDAyMDQ5MTAwMDIwNDkyMDA3NQotOjAzMDAwMDAwMDIwMjg3NzIKLTowQzAyODcwMDc4N0ZFNEY2RDhGRDc1ODEyOTAyMDJDRUQ0Ci06MTAwM0VEMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDY2Ci06MDEwM0ZEMDAyMkRECi06MTAwMjkzMDAwMjAxMDBFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjgwCi06MTAwMkEzMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzZDCi06MTAwMkIzMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjNCCi06MTAwMkMzMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwNDZFRTQ3RTU5Ci06MTAwMkQzMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzMwCi06MTAwMkUzMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0Y3Ci06MTAwMkYzMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTIyCi06MTAwMzAzMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUQ5Ci06MDEwNDgzMDAwMDc4Ci06MDAwMDAwMDFGRgotKi8KLS8qCi1WRVJTSU9OPTEuMC4yLjAwMgotREFURT0xMC4wMS4yMDAyCi1FTUkyNl82MgotKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvaXNpZ2h0X2Zpcm13YXJlLmMgYi9kcml2ZXJzL3VzYi9taXNjL2lzaWdodF9maXJtd2FyZS5jCmluZGV4IDlmMzBhYTEuLmQ5NGFhNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21pc2MvaXNpZ2h0X2Zpcm13YXJlLmMKKysrIGIvZHJpdmVycy91c2IvbWlzYy9pc2lnaHRfZmlybXdhcmUuYwpAQCAtNDEsNyArNDEsNyBAQAogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmU7CiAJdW5zaWduZWQgY2hhciAqYnVmID0ga21hbGxvYyg1MCwgR0ZQX0tFUk5FTCk7CiAJdW5zaWduZWQgY2hhciBkYXRhWzRdOwotCXU4ICpwdHI7CisJY29uc3QgdTggKnB0cjsKIAogCWlmICghYnVmKQogCQlyZXR1cm4gLUVOT01FTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21vbi9tb25fYmluLmMgYi9kcml2ZXJzL3VzYi9tb24vbW9uX2Jpbi5jCmluZGV4IDQ5MTQ1NTMuLjI5M2E0NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21vbi9tb25fYmluLmMKKysrIGIvZHJpdmVycy91c2IvbW9uL21vbl9iaW4uYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wYXQuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC01MjcsMTQgKzUyOCwxNyBAQAogCXNpemVfdCBzaXplOwogCWludCByYzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmbW9uX2xvY2spOwogCWlmICgobWJ1cyA9IG1vbl9idXNfbG9va3VwKGltaW5vcihpbm9kZSkpKSA9PSBOVUxMKSB7CiAJCW11dGV4X3VubG9jaygmbW9uX2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAlpZiAobWJ1cyAhPSAmbW9uX2J1czAgJiYgbWJ1cy0+dV9idXMgPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgVEFHICI6IGNvbnNpc3RlbmN5IGVycm9yIG9uIG9wZW5cbiIpOwogCQltdXRleF91bmxvY2soJm1vbl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKQEAgLTU2OCw2ICs1NzIsNyBAQAogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcnA7CiAJbXV0ZXhfdW5sb2NrKCZtb25fbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBlcnJfYWxsb2NidWZmOgpAQCAtNTc2LDYgKzU4MSw3IEBACiAJa2ZyZWUocnApOwogZXJyX2FsbG9jOgogCW11dGV4X3VubG9jaygmbW9uX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9LY29uZmlnIGIvZHJpdmVycy91c2Ivc2VyaWFsL0tjb25maWcKaW5kZXggOWJhNjRjYy4uOWE3NjgxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL0tjb25maWcKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL0tjb25maWcKQEAgLTMwNCwxOSArMzA0LDE5IEBACiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fTVBSCiAJYm9vbCAiVVNCIEtleXNwYW4gTVBSIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgS2V5c3BhbiBNUFIgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4CiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTI4IEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTI4IGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFgKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMjhYIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTI4WCBjb252ZXJ0ZXIuCiAJICBCZSBzdXJlIHlvdSBoYXZlIGEgVVNBLTI4WCwgdGhlcmUgYXJlIGFsc28gMjhYQSBhbmQgMjhYQgpAQCAtMzI0LDcgKzMyNCw3IEBACiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQQogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0yOFhBIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTI4WEEgY29udmVydGVyLgogCSAgQmUgc3VyZSB5b3UgaGF2ZSBhIFVTQS0yOFhBLCB0aGVyZSBhcmUgYWxzbyAyOFggYW5kIDI4WEIKQEAgLTMzMiw3ICszMzIsNyBAQAogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEIKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMjhYQiBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0yOFhCIGNvbnZlcnRlci4KIAkgIEJlIHN1cmUgeW91IGhhdmUgYSBVU0EtMjhYQiwgdGhlcmUgYXJlIGFsc28gMjhYIGFuZCAyOFhBCkBAIC0zNDAsNDMgKzM0MCw0MyBAQAogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5CiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE5IEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTE5IGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOFgKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMThYIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTE4WCBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlXCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE5VyBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOVcgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UVcKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMTlRVyBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOVFXIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFJCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE5UUkgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMTlRSSBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBNDlXCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTQ5VyBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS00OVcgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5V0xDCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTQ5V0xDIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTQ5V0xDIGNvbnZlcnRlci4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYwppbmRleCAwNmI1MmY0Li4yZmQ0NDliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYwpAQCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgpAQCAtNTYsMjYgKzU4LDYgQEAKICNkZWZpbmUgRFJJVkVSX0FVVEhPUiAiR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVnQGtyb2FoLmNvbT4gYW5kIERhdmlkIElhY292ZWxsaSIKICNkZWZpbmUgRFJJVkVSX0RFU0MgIkVkZ2Vwb3J0IFVTQiBTZXJpYWwgRHJpdmVyIgogCi0vKiBGaXJzdCwgdGhlIGxhdGVzdCBib290IGNvZGUgLSBmb3IgZmlyc3QgZ2VuZXJhdGlvbiBlZGdlcG9ydHMgKi8KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlCb290Q29kZUltYWdlX0dFTjEKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjEKLSNpbmNsdWRlICJpb19md19ib290LmgiCQkvKiB0aGUgYm9vdGxvYWRlciBmaXJtd2FyZSB0byBkb3dubG9hZCB0byBhIGRldmljZSwgaWYgaXQgbmVlZHMgaXQgKi8KLQotLyogZm9yIHNlY29uZCBnZW5lcmF0aW9uIGVkZ2Vwb3J0cyAqLwotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCUJvb3RDb2RlSW1hZ2VfR0VOMgotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMgotI2luY2x1ZGUgImlvX2Z3X2Jvb3QyLmgiCS8qIHRoZSBib290bG9hZGVyIGZpcm13YXJlIHRvIGRvd25sb2FkIHRvIGEgZGV2aWNlLCBpZiBpdCBuZWVkcyBpdCAqLwotCi0vKiBUaGVuIGZpbmFsbHkgdGhlIG1haW4gcnVuLXRpbWUgb3BlcmF0aW9uYWwgY29kZSAtIGZvciBmaXJzdCBnZW5lcmF0aW9uIGVkZ2Vwb3J0cyAqLwotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCU9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjEKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xCi0jaW5jbHVkZSAiaW9fZndfZG93bi5oIgkJLyogRGVmaW5lIGFycmF5IE9wZXJhdGlvbmFsQ29kZUltYWdlW10gKi8KLQotLyogZm9yIHNlY29uZCBnZW5lcmF0aW9uIGVkZ2Vwb3J0cyAqLwotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCU9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjIKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yCi0jaW5jbHVkZSAiaW9fZndfZG93bjIuaCIJLyogRGVmaW5lIGFycmF5IE9wZXJhdGlvbmFsQ29kZUltYWdlW10gKi8KLQogI2RlZmluZSBNQVhfTkFNRV9MRU4JCTY0CiAKICNkZWZpbmUgQ0hBU0VfVElNRU9VVAkJKDUqSFopCQkvKiA1IHNlY29uZHMgKi8KQEAgLTI1Niw5ICsyMzgsOSBAQAogc3RhdGljIGludCAgd3JpdGVfY21kX3VzYgkJKHN0cnVjdCBlZGdlcG9ydF9wb3J0ICplZGdlX3BvcnQsIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgaW50IHdyaXRlTGVuZ3RoKTsKIHN0YXRpYyB2b2lkIHNlbmRfbW9yZV9wb3J0X2RhdGEJCShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCwgc3RydWN0IGVkZ2Vwb3J0X3BvcnQgKmVkZ2VfcG9ydCk7CiAKLXN0YXRpYyBpbnQgIHNyYW1fd3JpdGUJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBfX3U4ICpkYXRhKTsKK3N0YXRpYyBpbnQgIHNyYW1fd3JpdGUJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBjb25zdCBfX3U4ICpkYXRhKTsKIHN0YXRpYyBpbnQgIHJvbV9yZWFkCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSk7Ci1zdGF0aWMgaW50ICByb21fd3JpdGUJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBfX3U4ICpkYXRhKTsKK3N0YXRpYyBpbnQgIHJvbV93cml0ZQkJCShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIGNvbnN0IF9fdTggKmRhdGEpOwogc3RhdGljIHZvaWQgZ2V0X21hbnVmYWN0dXJpbmdfZGVzYwkoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwpOwogc3RhdGljIHZvaWQgZ2V0X2Jvb3RfZGVzYwkJKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vfc2VyaWFsKTsKIHN0YXRpYyB2b2lkIGxvYWRfYXBwbGljYXRpb25fZmlybXdhcmUJKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vfc2VyaWFsKTsKQEAgLTI4MywzNyArMjY1LDQxIEBACiB7CiAJX191MzIgQm9vdEN1clZlcjsKIAlfX3UzMiBCb290TmV3VmVyOwotCV9fdTggQm9vdE1ham9yVmVyc2lvbjsgICAgICAgICAgICAgICAgICAKLQlfX3U4IEJvb3RNaW5vclZlcnNpb247ICAgICAgICAgICAgICAgICAgCi0JX19sZTE2IEJvb3RCdWlsZE51bWJlcjsKLQlfX3U4ICpCb290SW1hZ2U7ICAgICAgCi0JX191MzIgQm9vdFNpemU7Ci0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkICpyZWNvcmQ7Ci0JdW5zaWduZWQgY2hhciAqZmlybXdhcmU7CisJX191OCBCb290TWFqb3JWZXJzaW9uOworCV9fdTggQm9vdE1pbm9yVmVyc2lvbjsKKwlfX3UxNiBCb290QnVpbGROdW1iZXI7CisJX191MzIgQm9vdGFkZHI7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyICpmd19uYW1lOwogCWludCByZXNwb25zZTsKIAotCiAJc3dpdGNoIChlZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLmlEb3dubG9hZEZpbGUpIHsKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfSTkzMDoKLQkJCUJvb3RNYWpvclZlcnNpb24JPSBCb290Q29kZUltYWdlVmVyc2lvbl9HRU4xLk1ham9yVmVyc2lvbjsKLQkJCUJvb3RNaW5vclZlcnNpb24JPSBCb290Q29kZUltYWdlVmVyc2lvbl9HRU4xLk1pbm9yVmVyc2lvbjsKLQkJCUJvb3RCdWlsZE51bWJlcgkJPSBjcHVfdG9fbGUxNihCb290Q29kZUltYWdlVmVyc2lvbl9HRU4xLkJ1aWxkTnVtYmVyKTsKLQkJCUJvb3RJbWFnZQkJPSAmQm9vdENvZGVJbWFnZV9HRU4xWzBdOwotCQkJQm9vdFNpemUJCT0gc2l6ZW9mKCBCb290Q29kZUltYWdlX0dFTjEgKTsKKwkJCWZ3X25hbWUJPSAiZWRnZXBvcnQvYm9vdC5mdyI7CiAJCQlicmVhazsKIAogCQljYXNlIEVER0VfRE9XTkxPQURfRklMRV84MDI1MToKLQkJCUJvb3RNYWpvclZlcnNpb24JPSBCb290Q29kZUltYWdlVmVyc2lvbl9HRU4yLk1ham9yVmVyc2lvbjsKLQkJCUJvb3RNaW5vclZlcnNpb24JPSBCb290Q29kZUltYWdlVmVyc2lvbl9HRU4yLk1pbm9yVmVyc2lvbjsKLQkJCUJvb3RCdWlsZE51bWJlcgkJPSBjcHVfdG9fbGUxNihCb290Q29kZUltYWdlVmVyc2lvbl9HRU4yLkJ1aWxkTnVtYmVyKTsKLQkJCUJvb3RJbWFnZQkJPSAmQm9vdENvZGVJbWFnZV9HRU4yWzBdOwotCQkJQm9vdFNpemUJCT0gc2l6ZW9mKCBCb290Q29kZUltYWdlX0dFTjIgKTsKKwkJCWZ3X25hbWUJPSAiZWRnZXBvcnQvYm9vdDIuZnciOwogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoKIAkJCXJldHVybjsKIAl9CiAKKwlyZXNwb25zZSA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsIGZ3X25hbWUsCisJCQkJCSAmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYpOworCWlmIChyZXNwb25zZSkgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCSAgICAgICBmd19uYW1lLCByZXNwb25zZSk7CisJCXJldHVybjsKKwl9CisKKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7CisJQm9vdE1ham9yVmVyc2lvbiA9IHJlYy0+ZGF0YVswXTsKKwlCb290TWlub3JWZXJzaW9uID0gcmVjLT5kYXRhWzFdOworCUJvb3RCdWlsZE51bWJlciA9IChyZWMtPmRhdGFbMl0gPDwgOCkgfCByZWMtPmRhdGFbM107CisKIAkvLyBDaGVjayBCb290IEltYWdlIFZlcnNpb24KIAlCb290Q3VyVmVyID0gKGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuTWFqb3JWZXJzaW9uIDw8IDI0KSArCiAJCSAgICAgKGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuTWlub3JWZXJzaW9uIDw8IDE2KSArCkBAIC0zMjEsNyArMzA3LDcgQEAKIAogCUJvb3ROZXdWZXIgPSAoQm9vdE1ham9yVmVyc2lvbiA8PCAyNCkgKwogCQkgICAgIChCb290TWlub3JWZXJzaW9uIDw8IDE2KSArCi0JCSAgICAgIGxlMTZfdG9fY3B1KEJvb3RCdWlsZE51bWJlcik7CisJCSAgICAgIEJvb3RCdWlsZE51bWJlcjsKIAogCWRiZygiQ3VycmVudCBCb290IEltYWdlIHZlcnNpb24gJWQuJWQuJWQiLAogCSAgICBlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1ham9yVmVyc2lvbiwKQEAgLTMzNCwzMCArMzIwLDMwIEBACiAJCSAgICBlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1ham9yVmVyc2lvbiwKIAkJICAgIGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuTWlub3JWZXJzaW9uLAogCQkgICAgbGUxNl90b19jcHUoZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5CdWlsZE51bWJlciksCi0JCSAgICBCb290TWFqb3JWZXJzaW9uLAotCQkgICAgQm9vdE1pbm9yVmVyc2lvbiwKLQkJICAgIGxlMTZfdG9fY3B1KEJvb3RCdWlsZE51bWJlcikpOwotCisJCSAgICBCb290TWFqb3JWZXJzaW9uLCBCb290TWlub3JWZXJzaW9uLCBCb290QnVpbGROdW1iZXIpOwogCiAJCWRiZygiRG93bmxvYWRpbmcgbmV3IEJvb3QgSW1hZ2UiKTsKIAotCQlmaXJtd2FyZSA9IEJvb3RJbWFnZTsKLQotCQlmb3IgKDs7KSB7Ci0JCQlyZWNvcmQgPSAoc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkICopZmlybXdhcmU7Ci0JCQlyZXNwb25zZSA9IHJvbV93cml0ZSAoZWRnZV9zZXJpYWwtPnNlcmlhbCwgbGUxNl90b19jcHUocmVjb3JkLT5FeHRBZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5BZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pLCAmcmVjb3JkLT5EYXRhWzBdKTsKKwkJZm9yIChyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7IHJlYzsKKwkJICAgICByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJCUJvb3RhZGRyID0gYmUzMl90b19jcHUocmVjLT5hZGRyKTsKKwkJCXJlc3BvbnNlID0gcm9tX3dyaXRlKGVkZ2Vfc2VyaWFsLT5zZXJpYWwsCisJCQkJCSAgICAgQm9vdGFkZHIgPj4gMTYsCisJCQkJCSAgICAgQm9vdGFkZHIgJiAweEZGRkYsCisJCQkJCSAgICAgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkgICAgICZyZWMtPmRhdGFbMF0pOwogCQkJaWYgKHJlc3BvbnNlIDwgMCkgewotCQkJCWRldl9lcnIoJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2LCAicm9tX3dyaXRlIGZhaWxlZCAoJXgsICV4LCAlZClcbiIsIGxlMTZfdG9fY3B1KHJlY29yZC0+RXh0QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKSk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCQlmaXJtd2FyZSArPSBzaXplb2YgKHN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCkgKyBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbik7Ci0JCQlpZiAoZmlybXdhcmUgPj0gJkJvb3RJbWFnZVtCb290U2l6ZV0pIHsKKwkJCQlkZXZfZXJyKCZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldiwKKwkJCQkJInJvbV93cml0ZSBmYWlsZWQgKCV4LCAleCwgJWQpXG4iLAorCQkJCQlCb290YWRkciA+PiAxNiwgQm9vdGFkZHIgJiAweEZGRkYsCisJCQkJCWJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAJCQkJYnJlYWs7CiAJCQl9CiAJCX0KIAl9IGVsc2UgewogCQlkYmcoIkJvb3QgSW1hZ2UgLS0gYWxyZWFkeSB1cCB0byBkYXRlIik7CiAJfQorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogfQogCiAKQEAgLTQ0Nyw5ICs0MzMsNiBAQAogCWRiZygiICBCb290TWFqb3JWZXJzaW9uICAgICAgJWQuJWQuJWQiLCBwcm9kdWN0X2luZm8tPkJvb3RNYWpvclZlcnNpb24sCiAJICAgIHByb2R1Y3RfaW5mby0+Qm9vdE1pbm9yVmVyc2lvbiwKIAkgICAgbGUxNl90b19jcHUocHJvZHVjdF9pbmZvLT5Cb290QnVpbGROdW1iZXIpKTsKLQlkYmcoIiAgRmlybXdhcmVNYWpvclZlcnNpb24gICVkLiVkLiVkIiwgcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1ham9yVmVyc2lvbiwKLQkgICAgcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1pbm9yVmVyc2lvbiwKLQkgICAgbGUxNl90b19jcHUocHJvZHVjdF9pbmZvLT5GaXJtd2FyZUJ1aWxkTnVtYmVyKSk7CiAJZGJnKCIgIE1hbnVmYWN0dXJlRGVzY0RhdGUgICAlZC8lZC8lZCIsIHByb2R1Y3RfaW5mby0+TWFudWZhY3R1cmVEZXNjRGF0ZVswXSwKIAkgICAgcHJvZHVjdF9pbmZvLT5NYW51ZmFjdHVyZURlc2NEYXRlWzFdLAogCSAgICBwcm9kdWN0X2luZm8tPk1hbnVmYWN0dXJlRGVzY0RhdGVbMl0rMTkwMCk7CkBAIC00ODAsMTQgKzQ2Myw4IEBACiAKIAkvLyBjaGVjayBpZiB0aGlzIGlzIDJuZCBnZW5lcmF0aW9uIGhhcmR3YXJlCiAJaWYgKGxlMTZfdG9fY3B1KGVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFByb2R1Y3QpICYgSU9OX0RFVklDRV9JRF84MDI1MV9ORVRDSElQKSB7Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVNYWpvclZlcnNpb24JPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5NYWpvclZlcnNpb247Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVNaW5vclZlcnNpb24JPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5NaW5vclZlcnNpb247Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVCdWlsZE51bWJlcgk9IGNwdV90b19sZTE2KE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLkJ1aWxkTnVtYmVyKTsKIAkJcHJvZHVjdF9pbmZvLT5pRG93bmxvYWRGaWxlCQk9IEVER0VfRE9XTkxPQURfRklMRV84MDI1MTsKIAl9IGVsc2UgewotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlTWFqb3JWZXJzaW9uCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWFqb3JWZXJzaW9uOwotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlTWlub3JWZXJzaW9uCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWlub3JWZXJzaW9uOwotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlQnVpbGROdW1iZXIJPSBjcHVfdG9fbGUxNihPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5CdWlsZE51bWJlcik7CiAJCXByb2R1Y3RfaW5mby0+aURvd25sb2FkRmlsZQkJPSBFREdFX0RPV05MT0FEX0ZJTEVfSTkzMDsKIAl9CiAKQEAgLTIxMzAsNyArMjEwNyw3IEBACiAgKglJZiBzdWNjZXNzZnVsIHJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCBvdGhlcndpc2UgaXQgcmV0dXJucwogICoJYSBuZWdhdGl2ZSBlcnJvciBudW1iZXIgb2YgdGhlIHByb2JsZW0uCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBpbnQgc3JhbV93cml0ZSAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBfX3U4ICpkYXRhKQorc3RhdGljIGludCBzcmFtX3dyaXRlKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgY29uc3QgX191OCAqZGF0YSkKIHsKIAlpbnQgcmVzdWx0OwogCV9fdTE2IGN1cnJlbnRfbGVuZ3RoOwpAQCAtMjE3NSw3ICsyMTUyLDcgQEAKICAqCUlmIHN1Y2Nlc3NmdWwgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4sIG90aGVyd2lzZSBpdCByZXR1cm5zCiAgKglhIG5lZ2F0aXZlIGVycm9yIG51bWJlciBvZiB0aGUgcHJvYmxlbS4KICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIGludCByb21fd3JpdGUgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSkKK3N0YXRpYyBpbnQgcm9tX3dyaXRlKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgY29uc3QgX191OCAqZGF0YSkKIHsKIAlpbnQgcmVzdWx0OwogCV9fdTE2IGN1cnJlbnRfbGVuZ3RoOwpAQCAtMjc2MSwzMiArMjczOCwyMyBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgdm9pZCBsb2FkX2FwcGxpY2F0aW9uX2Zpcm13YXJlIChzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCkKIHsKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgKnJlY29yZDsKLQl1bnNpZ25lZCBjaGFyICpmaXJtd2FyZTsKLQl1bnNpZ25lZCBjaGFyICpGaXJtd2FyZUltYWdlOwotCWludCBJbWFnZVNpemU7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyICpmd19uYW1lOworCWNvbnN0IGNoYXIgKmZ3X2luZm87CiAJaW50IHJlc3BvbnNlOwotCisJX191MzIgT3BlcmFkZHI7CisJX191MTYgYnVpbGQ7CiAKIAlzd2l0Y2ggKGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uaURvd25sb2FkRmlsZSkgewogCQljYXNlIEVER0VfRE9XTkxPQURfRklMRV9JOTMwOgotCQkJZGJnKCJkb3dubG9hZGluZyBmaXJtd2FyZSB2ZXJzaW9uICg5MzApICVkLiVkLiVkIiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWFqb3JWZXJzaW9uLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5NaW5vclZlcnNpb24sIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLkJ1aWxkTnVtYmVyKTsKLQkJCWZpcm13YXJlID0gJk9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjFbMF07Ci0JCQlGaXJtd2FyZUltYWdlID0gJk9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjFbMF07Ci0JCQlJbWFnZVNpemUgPSBzaXplb2YoT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMSk7CisJCQlmd19pbmZvID0gImRvd25sb2FkaW5nIGZpcm13YXJlIHZlcnNpb24gKDkzMCkiOworCQkJZndfbmFtZQk9ICJlZGdlcG9ydC9kb3duLmZ3IjsKIAkJCWJyZWFrOwogCiAJCWNhc2UgRURHRV9ET1dOTE9BRF9GSUxFXzgwMjUxOgotCQkJZGJnKCJkb3dubG9hZGluZyBmaXJtd2FyZSB2ZXJzaW9uICg4MDI1MSkgJWQuJWQuJWQiLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5NYWpvclZlcnNpb24sIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLk1pbm9yVmVyc2lvbiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuQnVpbGROdW1iZXIpOwotCQkJZmlybXdhcmUgPSAmT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMlswXTsKLQkJCUZpcm13YXJlSW1hZ2UgPSAmT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMlswXTsKLQkJCUltYWdlU2l6ZSA9IHNpemVvZihPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4yKTsKKwkJCWZ3X2luZm8gPSAiZG93bmxvYWRpbmcgZmlybXdhcmUgdmVyc2lvbiAoODAyNTEpIjsKKwkJCWZ3X25hbWUJPSAiZWRnZXBvcnQvZG93bjIuZnciOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfTk9ORToKQEAgLTI3OTcsMTYgKzI3NjUsMzYgQEAKIAkJCXJldHVybjsKIAl9CiAKKwlyZXNwb25zZSA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsIGZ3X25hbWUsCisJCQkJICAgICZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldik7CisJaWYgKHJlc3BvbnNlKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgaW1hZ2UgXCIlc1wiIGVyciAlZFxuIiwKKwkJICAgICAgIGZ3X25hbWUsIHJlc3BvbnNlKTsKKwkJcmV0dXJuOworCX0KIAotCWZvciAoOzspIHsKLQkJcmVjb3JkID0gKHN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCAqKWZpcm13YXJlOwotCQlyZXNwb25zZSA9IHNyYW1fd3JpdGUgKGVkZ2Vfc2VyaWFsLT5zZXJpYWwsIGxlMTZfdG9fY3B1KHJlY29yZC0+RXh0QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKSwgJnJlY29yZC0+RGF0YVswXSk7CisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOworCWJ1aWxkID0gKHJlYy0+ZGF0YVsyXSA8PCA4KSB8IHJlYy0+ZGF0YVszXTsKKworCWRiZygiJXMgJWQuJWQuJWQiLCBmd19pbmZvLCByZWMtPmRhdGFbMF0sIHJlYy0+ZGF0YVsxXSwgYnVpbGQpOworCisJZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZU1ham9yVmVyc2lvbiA9IGZ3LT5kYXRhWzBdOworCWVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVNaW5vclZlcnNpb24gPSBmdy0+ZGF0YVsxXTsKKwllZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLkZpcm13YXJlQnVpbGROdW1iZXIgPSBjcHVfdG9fbGUxNihidWlsZCk7CisKKwlmb3IgKHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsgcmVjOworCSAgICAgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCU9wZXJhZGRyID0gYmUzMl90b19jcHUocmVjLT5hZGRyKTsKKwkJcmVzcG9uc2UgPSBzcmFtX3dyaXRlKGVkZ2Vfc2VyaWFsLT5zZXJpYWwsCisJCQkJICAgICBPcGVyYWRkciA+PiAxNiwKKwkJCQkgICAgIE9wZXJhZGRyICYgMHhGRkZGLAorCQkJCSAgICAgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCSAgICAgJnJlYy0+ZGF0YVswXSk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKLQkJCWRldl9lcnIoJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2LCAic3JhbV93cml0ZSBmYWlsZWQgKCV4LCAleCwgJWQpXG4iLCBsZTE2X3RvX2NwdShyZWNvcmQtPkV4dEFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbikpOwotCQkJYnJlYWs7Ci0JCX0KLQkJZmlybXdhcmUgKz0gc2l6ZW9mIChzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQpICsgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pOwotCQlpZiAoZmlybXdhcmUgPj0gJkZpcm13YXJlSW1hZ2VbSW1hZ2VTaXplXSkgeworCQkJZGV2X2VycigmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYsCisJCQkJInNyYW1fd3JpdGUgZmFpbGVkICgleCwgJXgsICVkKVxuIiwKKwkJCQlPcGVyYWRkciA+PiAxNiwgT3BlcmFkZHIgJiAweEZGRkYsCisJCQkJYmUxNl90b19jcHUocmVjLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9CiAJfQpAQCAtMjgxNyw2ICsyODA1LDcgQEAKIAkJCQkgICAgVVNCX1JFUVVFU1RfSU9OX0VYRUNfRExfQ09ERSwgCiAJCQkJICAgIDB4NDAsIDB4NDAwMCwgMHgwMDAxLCBOVUxMLCAwLCAzMDAwKTsKIAorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCXJldHVybjsKIH0KIApAQCAtMjkwMyw2ICsyODkyLDEwIEBACiAvLwkJZGJnKCJzZXRfY29uZmlndXJhdGlvbiAxIik7CiAvLwkJdXNiX3NldF9jb25maWd1cmF0aW9uIChkZXYsIDEpOwogCX0KKwlkYmcoIiAgRmlybXdhcmVNYWpvclZlcnNpb24gICVkLiVkLiVkIiwKKwkgICAgZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZU1ham9yVmVyc2lvbiwKKwkgICAgZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZU1pbm9yVmVyc2lvbiwKKwkgICAgbGUxNl90b19jcHUoZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZUJ1aWxkTnVtYmVyKSk7CiAKIAkvKiB3ZSBzZXQgdXAgdGhlIHBvaW50ZXJzIHRvIHRoZSBlbmRwb2ludHMgaW4gdGhlIGVkZ2Vfb3BlbiBmdW5jdGlvbiwgCiAJICogYXMgdGhlIHN0cnVjdHVyZXMgYXJlbid0IGNyZWF0ZWQgeWV0LiAqLwpAQCAtMzExNSw2ICszMTA4LDEwIEBACiBNT0RVTEVfQVVUSE9SKCBEUklWRVJfQVVUSE9SICk7CiBNT0RVTEVfREVTQ1JJUFRJT04oIERSSVZFUl9ERVNDICk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Jvb3QuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZWRnZXBvcnQvYm9vdDIuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZWRnZXBvcnQvZG93bi5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJlZGdlcG9ydC9kb3duMi5mdyIpOwogCiBtb2R1bGVfcGFyYW0oZGVidWcsIGJvb2wsIFNfSVJVR08gfCBTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGVidWcsICJEZWJ1ZyBlbmFibGVkIG9yIG5vdCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5OWZhZmEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QuaAorKysgL2Rldi9udWxsCkBAIC0xLDU1NiArMCwwIEBACi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0vLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKLS8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKLS8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0vLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLS8vSW1hZ2Ugc3RydWN0dXJlIGRlZmluaXRpb24KLSNpZiAhZGVmaW5lZChERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JEKQotI2RlZmluZSBERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JECi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkIHsKLQkJX19sZTE2IEV4dEFkZHI7Ci0JCV9fbGUxNiBBZGRyOwotCQlfX2xlMTYgTGVuOwotCQl1bnNpZ25lZCBjaGFyICBEYXRhWzBdOwotCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIHsKLQkJdW5zaWduZWQgY2hhcgkgTWFqb3JWZXJzaW9uOwotCQl1bnNpZ25lZCBjaGFyICBNaW5vclZlcnNpb247Ci0JCXVuc2lnbmVkIHNob3J0IEJ1aWxkTnVtYmVyOwotCX07Ci0KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSU1BR0VfQVJSQVlfTkFNRSkKLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQkJRmlybXdhcmVJbWFnZQotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJRmlybXdhcmVJbWFnZVZlcnNpb24KLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBJTUFHRV9BUlJBWV9OQU1FW10gPSB7Ci0KLS8vIFNlZ21lbnQgIzEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMDAsIExlbmd0aCA2Ci0weGZmLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDgwLCAweDAyLCAweDAwLCAweDAzLCAKLQotLy8gU2VnbWVudCAjMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDBiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MGIsIAotCi0vLyBTZWdtZW50ICMzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDEzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHhiOCwgCi0KLS8vIFNlZ21lbnQgIzQsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMWIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDFiLCAKLQotLy8gU2VnbWVudCAjNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDIzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MjMsIAotCi0vLyBTZWdtZW50ICM2LCBTdGFydCBBZGRyZXNzIDAwZmYwMDJiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MmIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyYiwgCi0KLS8vIFNlZ21lbnQgIzcsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMzMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDMzLCAKLQotLy8gU2VnbWVudCAjOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAzYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDNiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4M2IsIAotCi0vLyBTZWdtZW50ICM5LCBTdGFydCBBZGRyZXNzIDAwZmYwMDQzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NDMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHhiZCwgCi0KLS8vIFNlZ21lbnQgIzEwLCBTdGFydCBBZGRyZXNzIDAwZmYwMDRiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHhkMCwgCi0KLS8vIFNlZ21lbnQgIzExLCBTdGFydCBBZGRyZXNzIDAwZmYwMDUzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHgyMSwgCi0KLS8vIFNlZ21lbnQgIzEyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDdiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4N2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg3YiwgCi0KLS8vIFNlZ21lbnQgIzEzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDgwLCBMZW5ndGggMzU4Ci0weGZmLDB4MDAsMHg4MCwweDAwLDB4NjYsMHgwMSwKLSAgICAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDdlLCAweGY4LCAweDAwLCAweDIzLCAweDdlLCAweDAwLCAweDAxLCAweDdlLCAweDEwLCAKLSAgICAweDAwLCAweDEyLCAweDA3LCAweDVmLCAweDY5LCAweDIwLCAweDAwLCAweDBhLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDA1LCAweDc1LCAweDkwLCAKLSAgICAweDBkLCAweDgwLCAweDAzLCAweDc1LCAweDkwLCAweDFkLCAweGQyLCAweGI1LCAweDdlLCAweDAwLCAweDAwLCAweGE1LCAweGQ4LCAweGZkLCAweDc1LCAweGE4LCAKLSAgICAweDAwLCAweDc1LCAweGIxLCAweDAwLCAweGE5LCAweGQ1LCAweDg3LCAweGNhLCAweDI5LCAweDEyLCAweDA5LCAweGNjLCAweDEyLCAweDA5LCAweGEwLCAweGY1LCAKLSAgICAweDA5LCAweDdhLCAweGExLCAweDIwLCAweDEyLCAweDAxLCAweGU2LCAweGRhLCAweDI5LCAweGE5LCAweGQwLCAweGM3LCAweDdlLCAweDAwLCAweDA1LCAweDdhLCAKLSAgICAweDAxLCAweGYxLCAweDc1LCAweGUxLCAweDEwLCAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAweGQ3LCAweGU0LCAweGE1LCAweGQ4LCAweGYxLCAweDc1LCAweGYxLCAKLSAgICAweDAwLCAweDc1LCAweGUxLCAweDNmLCAweDc1LCAweGEyLCAweDAzLCAweDc1LCAweGEzLCAweDAwLCAweDc1LCAweGMwLCAweDAwLCAweDc1LCAweGMxLCAweDAwLCAKLSAgICAweGE5LCAweGQxLCAweGIxLCAweGE5LCAweGQwLCAweGIxLCAweGE5LCAweGQ1LCAweGQzLCAweGQyLCAweGFmLCAweGU0LCAweDdlLCAweDA0LCAweDI4LCAweDAwLCAKLSAgICAweDhkLCAweGVmLCAweDFiLCAweDA0LCAweDc4LCAweGZhLCAweDA0LCAweGE5LCAweDM0LCAweGQzLCAweDAzLCAweDMwLCAweGUwLCAweGVlLCAweGJlLCAweDI0LCAKLSAgICAweDAwLCAweDAwLCAweDc4LCAweDA1LCAweDYzLCAweDkwLCAweDMwLCAweDgwLCAweGUzLCAweGIyLCAweDk1LCAweDgwLCAweGRmLCAweGJlLCAweGIwLCAweDAyLCAKLSAgICAweDIyLCAweGMwLCAweGQwLCAweGE5LCAweDIwLCAweGRmLCAweDBmLCAweGE5LCAweDMxLCAweGRmLCAweDAzLCAweDAyLCAweDAxLCAweGI1LCAweDc1LCAweDA4LCAKLSAgICAweDAxLCAweDEyLCAweDA4LCAweDMzLCAweDgwLCAweGZlLCAweDc1LCAweDA4LCAweGZlLCAweDEyLCAweDA4LCAweDMzLCAweDc1LCAweGE4LCAweDAwLCAweDdlLCAKLSAgICAweGIzLCAweDNmLCAweGYyLCAweDMwLCAweGUwLCAweDRiLCAweDMwLCAweDAxLCAweDQ2LCAweGMyLCAweDkyLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAKLSAgICAweDExLCAweDA5LCAweDc0LCAweDA4LCAweDE5LCAweGIyLCAweDAwLCAweDEwLCAweDc0LCAweDBlLCAweDE5LCAweGIyLCAweDAwLCAweDA0LCAweDJlLCAweDI0LCAKLSAgICAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGVkLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweGU0LCAweGQ1LCAweGUwLCAweGZkLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDBhLCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDgwLCAKLSAgICAweGViLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGU0LCAweDQzLCAweDkwLCAweDMwLCAweGQyLCAweGFhLCAweDgwLCAweDA1LCAweGQyLCAKLSAgICAweGFhLCAweDQzLCAweDkwLCAweDM0LCAweGQyLCAweGFmLCAweGE5LCAweGQxLCAweDg3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGE5LCAweDExLCAKLSAgICAweGRmLCAweDAzLCAweGE5LCAweGQyLCAweGRmLCAweDc1LCAweDA4LCAweGZmLCAweDEyLCAweDA4LCAweDMzLCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAKLSAgICAweGNhLCAweDA2LCAweDgzLCAweDAwLCAweDMyLCAweGQwLCAweGQwLCAweDMyLCAweGMyLCAweDhiLCAweGMyLCAweGFhLCAweDMyLCAweDc1LCAweDA4LCAweDA4LCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweGE5LCAweGMwLCAweGIxLCAweGE5LCAweGM1LCAweGQzLCAweGE5LCAweGM2LCAweGQzLCAweGE5LCAweGQyLCAweGIxLCAweDMyLCAKLSAgICAweGNhLCAweGI4LCAweDc1LCAweDA4LCAweDAyLCAweDEyLCAweDA4LCAweDMzLCAweGU1LCAweGMwLCAweDU0LCAweDAzLCAweDY4LCAweDA1LCAweDEyLCAweDAxLCAKLSAgICAweGVlLCAweDgwLCAweGY1LCAweGRhLCAweGI4LCAweDMyLCAKLQotLy8gU2VnbWVudCAjMTQsIFN0YXJ0IEFkZHJlc3MgMDBmZjFiY2EsIExlbmd0aCAxCi0weGZmLDB4MDAsMHhjYSwweDFiLDB4MDEsMHgwMCwKLSAgICAweDAwLCAKLQotLy8gU2VnbWVudCAjMTUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAxZTYsIExlbmd0aCAxNjEzCi0weGZmLDB4MDAsMHhlNiwweDAxLDB4NGQsMHgwNiwKLSAgICAweGU0LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDAyLCAweDAyLCAweDYzLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAKLSAgICAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweGMwLCAweGYxLCAweDdlLCAweGIzLCAweDAxLCAweDJiLCAKLSAgICAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDE5LCAweGI0LCAweDAxLCAweDE2LCAweDMwLCAweGMwLCAweDA4LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDAyLCAKLSAgICAweDRkLCAweDgwLCAweDFmLCAweDMwLCAweGMxLCAweDFjLCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDAyLCAweGRlLCAweDgwLCAweDE0LCAweDMwLCAweGMxLCAKLSAgICAweDA4LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDAyLCAweGRlLCAweDgwLCAweDA5LCAweDMwLCAweGMwLCAweDA2LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAKLSAgICAweDAyLCAweDRkLCAweGQwLCAweGYxLCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAweGRhLCAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAKLSAgICAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweGMyLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDJiLCAweGI0LCAweDAyLCAweDA3LCAKLSAgICAweDEyLCAweDAyLCAweDZmLCAweDAyLCAweDAyLCAweDYzLCAweDIyLCAweGI0LCAweDAxLCAweGZjLCAweDAyLCAweDAyLCAweGE5LCAweDdlLCAweDAwLCAweDAwLCAKLSAgICAweDdhLCAweDAzLCAweDAxLCAweDJiLCAweDdhLCAweDAzLCAweDAxLCAweDJjLCAweDIyLCAweDdlLCAweGIzLCAweDAxLCAweDIzLCAweDU0LCAweDYwLCAweDYwLCAKLSAgICAweDA1LCAweGI0LCAweDQwLCAweDE1LCAweDgwLCAweDEzLCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDA1LCAweDBjLCAweDc1LCAweDA4LCAweDcxLCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGY1LCAweDhmLCAweDIyLCAweDc1LCAweGY2LCAweDAwLCAweDIyLCAweGJlLCAweDU3LCAKLSAgICAweDAxLCAweDI5LCAweDI4LCAweDA0LCAweDdlLCAweDU3LCAweDAxLCAweDI5LCAweDdhLCAweDBmLCAweDAxLCAweDJlLCAweDdhLCAweDU3LCAweDAxLCAweDMyLCAKLSAgICAweDAyLCAweDAyLCAweGE5LCAweDdlLCAweGVmLCAweDAxLCAweDJlLCAweDdlLCAweGY3LCAweDAxLCAweDMyLCAweDdlLCAweDA3LCAweDAxLCAweDMyLCAweDRkLCAKLSAgICAweDAwLCAweDY4LCAweDIxLCAweDdlLCAweDAwLCAweDAwLCAweDdlLCAweGViLCAweGIwLCAweGY1LCAweGYzLCAweGEzLCAweGE1LCAweDA4LCAweDFiLCAweGY0LCAKLSAgICAweDY4LCAweDA0LCAweGE1LCAweGI4LCAweDA4LCAweGYwLCAweDdhLCAweGVmLCAweDAxLCAweDJlLCAweDdhLCAweGY3LCAweDAxLCAweDMyLCAweDc1LCAweDA4LCAKLSAgICAweDA2LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDAxLCAweGY2LCAweDIyLCAweGMyLCAweGMxLCAweDc1LCAweDA4LCAweDAzLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweGE5LCAweDM2LCAweGUyLCAweDE2LCAweGU1LCAweGY1LCAweDU0LCAweGMwLCAweDY4LCAweDA3LCAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAweDI3LCAweGY0LCAKLSAgICAweGZjLCAweDUzLCAweGUxLCAweDNmLCAweDQzLCAweGYyLCAweDg4LCAweDAyLCAweDAzLCAweDU1LCAweDdlLCAweGIzLCAweDAxLCAweDJjLCAweGI0LCAweDAyLCAKLSAgICAweDBmLCAweGE5LCAweGQ0LCAweGU0LCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDJjLCAweDdhLCAweGIzLCAweDAxLCAweDJiLCAweDIyLCAKLSAgICAweGI0LCAweDAxLCAweDM5LCAweDdlLCAweDIxLCAweGU2LCAweDdjLCAweDMyLCAweDdlLCAweDEzLCAweDAxLCAweDJkLCAweDJjLCAweDIxLCAweDdhLCAweDIzLCAKLSAgICAweDAxLCAweDJkLCAweDdlLCAweDAwLCAweDAwLCAweDJlLCAweDA0LCAweDAxLCAweDM0LCAweGU1LCAweGUzLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAKLSAgICAweGE1LCAweGRiLCAweGY2LCAweGE5LCAweGQ0LCAweGU0LCAweDc1LCAweDA4LCAweDcwLCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDJkLCAKLSAgICAweDdlLCAweGEzLCAweDAxLCAweDJhLCAweGJjLCAweGFiLCAweDc4LCAweDAzLCAweDEyLCAweDAzLCAweGVjLCAweDIyLCAweDAyLCAweDA3LCAweDU1LCAweGU1LCAKLSAgICAweGU2LCAweGI0LCAweDA4LCAweDY1LCAweGE5LCAweGM0LCAweGUyLCAweDdlLCAweDAxLCAweGUzLCAweDdlLCAweDExLCAweGUzLCAweDdlLCAweDMxLCAweGUzLCAKLSAgICAweDdlLCAweDIxLCAweGUzLCAweDdlLCAweDUxLCAweGUzLCAweDdlLCAweDQxLCAweGUzLCAweDdlLCAweDcxLCAweGUzLCAweDdlLCAweDYxLCAweGUzLCAweDdhLCAKLSAgICAweDBmLCAweDAxLCAweDIzLCAweDdhLCAweDFmLCAweDAxLCAweDI3LCAweDc1LCAweDA4LCAweDA0LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDAxLCAweDA4LCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDIxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAKLSAgICAweDMxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDQxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDUxLCAweDA4LCAweDEyLCAweDA4LCAKLSAgICAweDMzLCAweDdhLCAweDYxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDcxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweGE5LCAweGQ0LCAweGU0LCAKLSAgICAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAweGM2LCAweGUyLCAweDEyLCAweDAzLCAweGMwLCAweDIyLCAweDZkLCAweDAwLCAweDdlLCAweDE0LCAweDAxLCAweDAyLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDMyLCAweDdhLCAweDAzLCAweDAxLCAweDJkLCAweDdlLCAweGIzLCAweDAxLCAweDIzLCAweDIwLCAweGU3LCAweDBmLCAweDdhLCAKLSAgICAweDIzLCAweDAxLCAweDJjLCAweDdhLCAweDMzLCAweDAxLCAweDJiLCAweGJlLCAweDA3LCAweDAxLCAweDI5LCAweDY4LCAweDA5LCAweDIyLCAweDdhLCAweDMzLCAKLSAgICAweDAxLCAweDJjLCAweDdhLCAweDIzLCAweDAxLCAweDJiLCAweDdlLCAweGIzLCAweDAxLCAweDIzLCAweDU0LCAweGUzLCAweDIzLCAweDIzLCAweDMwLCAweGUwLCAKLSAgICAweDAyLCAweGQyLCAweGU1LCAweDMwLCAweGU3LCAweDAyLCAweGQyLCAweGU0LCAweDMwLCAweGU1LCAweDA2LCAweDMwLCAweGU0LCAweDAzLCAweDAyLCAweDA3LCAKLSAgICAweDU1LCAweDU0LCAweDNlLCAweGY1LCAweGYwLCAweDAzLCAweDU0LCAweDFmLCAweGMzLCAweDI1LCAweGYwLCAweDkwLCAweDA0LCAweDE4LCAweDc1LCAweDg0LCAKLSAgICAweGZmLCAweDczLCAweDAyLCAweDA1LCAweDZjLCAweDAyLCAweDA0LCAweDYwLCAweDAyLCAweDA2LCAweDA5LCAweDAyLCAweDA2LCAweDI0LCAweDAyLCAweDA1LCAKLSAgICAweDA1LCAweDAyLCAweDA0LCAweGM2LCAweDAyLCAweDA2LCAweDNkLCAweDAyLCAweDA2LCAweDNkLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAKLSAgICAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAKLSAgICAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQ2LCAweDAyLCAweDA2LCAweGZhLCAweDAyLCAweDA2LCAweDQzLCAweDAyLCAweDA2LCAweDQzLCAweDAyLCAweDA2LCAKLSAgICAweDQzLCAweDAyLCAweDA2LCAweDQzLCAweDAyLCAweDA2LCAweDQzLCAweDAyLCAweDA2LCAweDQzLCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDA2LCAKLSAgICAweDJhLCAweDdlLCAweGIzLCAweDAxLCAweDI1LCAweDYwLCAweDU2LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDAxLCAweDI2LCAweDdlLCAweDE3LCAweDAxLCAKLSAgICAweDI3LCAweDc1LCAweDA4LCAweDcyLCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDAxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDExLCAweDA4LCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDEyLCAweDA3LCAweDVmLCAweDQwLCAweDM1LCAweDAyLCAweDAyLCAweDk0LCAweGI0LCAweDA4LCAweDEwLCAweDc1LCAweDA4LCAKLSAgICAweDc0LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweGY1LCAweGYzLCAweDc1LCAweGY2LCAweDAxLCAweDIyLCAweGI0LCAweDAwLCAKLSAgICAweDFjLCAweDc1LCAweDA4LCAweDc1LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDMwLCAweGUwLCAweDA1LCAweDc1LCAweGYzLCAKLSAgICAweDAyLCAweDgwLCAweDAzLCAweDc1LCAweGYzLCAweDAwLCAweDc1LCAweGYzLCAweDAwLCAweDc1LCAweGY2LCAweDAyLCAweDIyLCAweDAyLCAweDA3LCAweDU1LCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDAwLCAweDM1LCAweDc1LCAweDA4LCAweDc2LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAKLSAgICAweDI4LCAweDU0LCAweDBmLCAweGY1LCAweGYxLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDIwLCAweGU3LCAweDA5LCAweGU1LCAweGUxLCAweDMwLCAweGU3LCAKLSAgICAweDBkLCAweDc0LCAweDAxLCAweDgwLCAweDBiLCAweGU1LCAweGUxLCAweDMwLCAweGU2LCAweDA0LCAweDc0LCAweDAxLCAweDgwLCAweDAyLCAweDc0LCAweDAwLCAKLSAgICAweDUzLCAweGYxLCAweDgwLCAweGY1LCAweGYzLCAweDc1LCAweGYzLCAweDAwLCAweDc1LCAweGY2LCAweDAyLCAweDIyLCAweDAyLCAweDA3LCAweDU1LCAweGMwLCAKLSAgICAweGYxLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDU0LCAweDBmLCAweDQyLCAweGYxLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAwLCAweDQ1LCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDAxLCAweDI0LCAweDc1LCAweDA4LCAweDc3LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAKLSAgICAweDI4LCAweDU0LCAweDBmLCAweDc4LCAweDA1LCAweDUzLCAweGUxLCAweDNmLCAweDgwLCAweDM3LCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDIwLCAweGU3LCAKLSAgICAweDA1LCAweDUzLCAweGUxLCAweDdmLCAweDgwLCAweDJiLCAweDUzLCAweGUxLCAweGJmLCAweDgwLCAweDI2LCAweGI0LCAweDAzLCAweDE3LCAweDc1LCAweDA4LCAKLSAgICAweDc4LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDIwLCAweGU3LCAweDA1LCAweDQzLCAweGUxLCAweDgwLCAweDgwLCAweDExLCAKLSAgICAweDQzLCAweGUxLCAweDQwLCAweDgwLCAweDBjLCAweDQzLCAweGUxLCAweGMwLCAweGQwLCAweGYxLCAweDc1LCAweDA4LCAweDA3LCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweDIyLCAweGQwLCAweGYxLCAweDAyLCAweDAyLCAweDkwLCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDA5LCAweDIzLCAweDc1LCAweDA4LCAweDc5LCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGJlLCAweGIzLCAweDNmLCAweGYxLCAweDY4LCAweDExLCAweGNhLCAweGI4LCAweGMwLCAKLSAgICAweGYxLCAweDEyLCAweDAxLCAweDFkLCAweGQwLCAweGYxLCAweGRhLCAweGI4LCAweDUwLCAweDc2LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDgwLCAweDZkLCAKLSAgICAweGI0LCAweDA1LCAweDA4LCAweDc1LCAweDA4LCAweDdhLCAweDEyLCAweDA4LCAweDMzLCAweDgwLCAweDYyLCAweGI0LCAweDAzLCAweDE5LCAweDc1LCAweDA4LCAKLSAgICAweDdiLCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAxLCAweDU1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAKLSAgICAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDQ2LCAweGI0LCAweDAxLCAweDE5LCAweDc1LCAweDA4LCAweDdjLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAxLCAweDM5LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAKLSAgICAweGYyLCAweDgwLCAweDJhLCAweGI0LCAweDA3LCAweDJhLCAweDdlLCAweGIzLCAweDAxLCAweDI1LCAweDYwLCAweDI0LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAKLSAgICAweDAxLCAweDI2LCAweDdlLCAweDE3LCAweDAxLCAweDI3LCAweDc1LCAweDA4LCAweDczLCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDAxLCAweDA4LCAweDEyLCAKLSAgICAweDA4LCAweDMzLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDEyLCAweDA3LCAweDhiLCAweDQwLCAweDAzLCAweDAyLCAweDAyLCAweDkwLCAKLSAgICAweDAyLCAweDA3LCAweDU1LCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDBiLCAweGY2LCAweDc1LCAweDA4LCAweDdkLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweDdlLCAweGEzLCAweDAxLCAweDI4LCAweDRjLCAweGFiLCAweDc4LCAweGU0LCAweDgwLCAweGRmLCAweDdlLCAweGIzLCAKLSAgICAweDAxLCAweDI0LCAweGI0LCAweDBhLCAweGRiLCAweDc1LCAweDA4LCAweDdlLCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweDcwLCAKLSAgICAweGNmLCAweGY1LCAweGYzLCAweDc1LCAweGY2LCAweDAxLCAweDIyLCAweDAyLCAweDA3LCAweDU1LCAweDAyLCAweDA3LCAweDU1LCAweDAyLCAweDA3LCAweDU1LCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDA0LCAweDIwLCAweDc1LCAweDA4LCAweGMzLCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweDA0LCAweDAwLCAKLSAgICAweDAxLCAweDdlLCAweDE3LCAweDAxLCAweDI1LCAweDdlLCAweDE4LCAweDAxLCAweDM0LCAweDdhLCAweDFjLCAweDAwLCAweDAwLCAweDdlLCAweDQ3LCAweDAxLCAKLSAgICAweDI5LCAweDEyLCAweDA4LCAweDNmLCAweDAyLCAweDA2LCAweGY0LCAweGI0LCAweDA2LCAweDNhLCAweDc1LCAweDA4LCAweGMxLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdkLCAweGNhLCAweDdlLCAweGQ3LCAweDAxLCAweDI1LCAweDdlLCAweDc4LCAKLSAgICAweDAxLCAweDM0LCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDAxLCAweDI5LCAweDc1LCAweDA4LCAweGMxLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDA4LCAweGQ2LCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAKLSAgICAweDQwLCAweDRmLCAweDgwLCAweDRhLCAweGI0LCAweDAwLCAweDFjLCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDAyLCAweDkwLCAweGU0LCAKLSAgICAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweGQ1LCAweGUwLCAweGY3LCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAweGNhLCAweDA2LCAKLSAgICAweDAwLCAweDAwLCAweDMyLCAweGI0LCAweDA5LCAweDEyLCAweDdlLCAweDU3LCAweDAxLCAweDI1LCAweDRkLCAweDU1LCAweDY4LCAweDA1LCAweGE5LCAweGQyLCAKLSAgICAweGIxLCAweDgwLCAweDAzLCAweGE5LCAweGMyLCAweGIxLCAweDgwLCAweDE2LCAweGI0LCAweDA3LCAweDE2LCAweGMyLCAweGFmLCAweDdlLCAweDA3LCAweDAxLCAKLSAgICAweDI3LCAweDdlLCAweDE3LCAweDAxLCAweDI1LCAweGMwLCAweGQxLCAweGNhLCAweDE4LCAweGNhLCAweDM4LCAweGNhLCAweDI4LCAweDMyLCAweDAyLCAweDAyLCAKLSAgICAweDkwLCAweDAyLCAweDA3LCAweDU1LCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDAzLCAweDE1LCAweDc1LCAweDA4LCAweGMyLCAweDEyLCAweDA4LCAKLSAgICAweDMzLCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE3LCAweDAxLCAweDI1LCAweDdlLCAweDU3LCAweDAxLCAweDI5LCAweDAyLCAweDAyLCAweDk0LCAKLSAgICAweGI0LCAweDA1LCAweDM5LCAweDc1LCAweDA4LCAweGMwLCAweDEyLCAweDA4LCAweDMzLCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAKLSAgICAweGQ1LCAweDg3LCAweDdlLCAweDA4LCAweDAxLCAweDM0LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDI1LCAweDdlLCAweDQ3LCAweDAxLCAweDI5LCAweDEyLCAweDA4LCAweDNmLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDdlLCAweDA4LCAweDAxLCAKLSAgICAweDM0LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDU3LCAweDAxLCAweDI5LCAweDAyLCAweDAyLCAweDk0LCAweDAyLCAweDA3LCAweDU1LCAweDc1LCAKLSAgICAweDA4LCAweDA3LCAweDEyLCAweDA4LCAweDMzLCAweDQzLCAweGUxLCAweGMwLCAweDIyLCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAKLSAgICAweGQ1LCAweDg3LCAweDEyLCAweDA3LCAweGNhLCAweDQwLCAweDE5LCAweDdlLCAweDA4LCAweDAxLCAweDM0LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAKLSAgICAweDBiLCAweGNhLCAweDQ5LCAweDEyLCAweDA4LCAweDNmLCAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAKLSAgICAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDIyLCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDA3LCAKLSAgICAweGNhLCAweDQwLCAweDJiLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdmLCAweDYxLCAweDdlLCAweDc4LCAweDAxLCAKLSAgICAweDM0LCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDAxLCAweDI5LCAweGJkLCAweDc0LCAweDc4LCAweDExLCAweDc1LCAweDA4LCAweGMxLCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDEyLCAweDA4LCAweGQ2LCAweDQwLCAweDA2LCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweGQwLCAweDg3LCAKLSAgICAweGQwLCAweGE4LCAweGQzLCAweDIyLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM0LCAweDdmLCAweGNhLCAweDBiLCAweDFhLCAweDUwLCAweGM1LCAKLSAgICAweGYwLCAweDdkLCAweDYyLCAweDdkLCAweDc1LCAweDdkLCAweDg3LCAweDdlLCAweDM0LCAweDdmLCAweDAzLCAweDdlLCAweDFiLCAweGIwLCAweGJjLCAweDBiLCAKLSAgICAweDUwLCAweDQ5LCAweDNlLCAweDAwLCAweDNlLCAweDAwLCAweDBhLCAweDUwLCAweDJkLCAweDc1LCAweDBiLCAweDNhLCAweDMwLCAweDY5LCAweDUzLCAweDAwLCAKLSAgICAweDAyLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJjLCAweDFiLCAweDUwLCAweDMwLCAweDNlLCAweDEwLCAweDNlLCAweDEwLCAweDBhLCAKLSAgICAweDUxLCAweDJkLCAweDM1LCAweDY5LCAweDQxLCAweDAwLCAweDAyLCAweDBiLCAweDFhLCAweDMwLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAKLSAgICAweGJlLCAweDQ0LCAweGZmLCAweGZmLCAweDc4LCAweDA1LCAweDdlLCAweDFiLCAweDkwLCAweDBhLCAweDQ5LCAweDRkLCAweDQ0LCAweDY4LCAweDBjLCAweGJlLCAKLSAgICAweDQ0LCAweDAwLCAweGZmLCAweDI4LCAweDA0LCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTYsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjdjMDAsIExlbmd0aCAxOTkKLQotCi0vLyBTZWdtZW50ICMxNywgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmN2YwMCwgTGVuZ3RoIDE5MgotCi0KLS8vIFNlZ21lbnQgIzE3LCBTdGFydCBBZGRyZXNzIDAwZmY3ZmMwLCBMZW5ndGggNjQKLTB4ZmYsMHgwMCwweGMwLDB4N2YsMHg0MCwweDAwLAotICAgIDB4NDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4Y2EsIDB4MWIsIDB4MDEsIDB4MGMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4N2MsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZjEsIDB4N2YsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotCi0vLyBTZWdtZW50ICMxOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDgzMywgTGVuZ3RoIDUwMTUKLTB4ZmYsMHgwMCwweDMzLDB4MDgsMHg5NywweDEzLAotICAgIDB4Y2EsIDB4MDgsIDB4N2UsIDB4MDEsIDB4MDgsIDB4N2EsIDB4MDMsIDB4M2YsIDB4ZjAsIDB4ZGEsIDB4MDgsIDB4MjIsIDB4ODAsIDB4NTAsIDB4MGIsIDB4MWEsIAotICAgIDB4NjAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NzAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4ODAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4OTAsIAotICAgIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YjAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YzAsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MWEsIDB4ZDAsIDB4MGIsIDB4MzUsIDB4MWIsIDB4MGEsIDB4NjAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4NzAsIDB4MGIsIDB4MTUsIAotICAgIDB4MWIsIDB4MGEsIDB4ODAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4OTAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4YTAsIDB4MGIsIDB4MTUsIDB4MWIsIAotICAgIDB4MGEsIDB4YjAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4YzAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4ZDAsIDB4MGIsIDB4MTUsIDB4OWUsIDB4NDQsIAotICAgIDB4MDAsIDB4MTAsIDB4NTAsIDB4YWEsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MGUsIDB4N2UsIDB4MWIsIDB4YzAsIDB4N2EsIDB4MGIsIDB4YzAsIAotICAgIDB4MGIsIDB4MTQsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZjIsIDB4MjIsIDB4N2YsIDB4NmYsIDB4N2YsIDB4ZjAsIDB4MWIsIDB4ZmMsIDB4N2MsIAotICAgIDB4NTQsIDB4N2QsIDB4MzIsIDB4ODAsIDB4MDgsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4OWUsIDB4NDQsIDB4MDAsIAotICAgIDB4MTAsIDB4NTAsIDB4ZjIsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MDYsIDB4Y2EsIDB4NDgsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZmEsIDB4N2YsIAotICAgIDB4ZjYsIDB4ODksIDB4ZTQsIDB4Y2EsIDB4NmIsIDB4NWUsIDB4ZDQsIDB4MDAsIDB4M2YsIDB4NjgsIDB4MjAsIDB4N2UsIDB4ODQsIDB4MDAsIDB4NDAsIDB4OWQsIAotICAgIDB4OGQsIDB4ZGEsIDB4NmIsIDB4YmQsIDB4ODcsIDB4MzgsIDB4MTYsIDB4Y2EsIDB4NzksIDB4N2QsIDB4NzgsIDB4MTIsIDB4MDksIDB4MDAsIDB4ZGEsIDB4NzksIAotICAgIDB4NDAsIDB4MDgsIDB4OWQsIDB4NzgsIDB4NjgsIDB4MDIsIDB4ODAsIDB4MDUsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZGEsIDB4NmIsIDB4NDMsIDB4OTAsIDB4MzAsIAotICAgIDB4NzQsIDB4YWEsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIDB4YjUsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIDB4YjUsIAotICAgIDB4NTUsIDB4NTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4NDAsIDB4OWQsIDB4NzAsIDB4NTAsIDB4MDYsIDB4MmQsIDB4NzAsIDB4N2QsIDB4MDcsIDB4NmQsIDB4NzcsIAotICAgIDB4N2MsIDB4MzEsIDB4N2UsIDB4N2IsIDB4MDAsIDB4N2EsIDB4NmIsIDB4MDAsIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2YsIAotICAgIDB4MTYsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MTAsIDB4NjgsIDB4MDYsIDB4MWIsIDB4NTQsIAotICAgIDB4NzgsIDB4ZjUsIDB4ODAsIDB4MmMsIDB4NmQsIDB4MDAsIDB4N2MsIDB4MjAsIDB4N2YsIDB4MTYsIDB4OWYsIDB4MTAsIDB4N2YsIDB4MjcsIDB4OWYsIDB4MjAsIAotICAgIDB4N2UsIDB4MmIsIDB4MDAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MDEsIDB4NzgsIDB4MTYsIDB4MGIsIDB4MmMsIDB4MGIsIDB4MWMsIDB4YTUsIDB4ZGIsIAotICAgIDB4ZWYsIDB4N2MsIDB4YjYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4NjMsIDB4OTAsIDB4MzAsIDB4NGQsIDB4NzcsIDB4NzgsIDB4OTMsIDB4YzIsIDB4ZDcsIDB4MjIsIAotICAgIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDQsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDIsIDB4MDEsIAotICAgIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIAotICAgIDB4MDQsIDB4MDAsIDB4MDgsIDB4MTAsIDB4MDIsIDB4MTAsIDB4MDQsIDB4MDIsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDgsIDB4N2UsIDB4MTgsIDB4N2YsIAotICAgIDB4YmQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MGIsIDB4MWEsIDB4MDAsIDB4YmUsIDB4MTAsIDB4MTQsIDB4MzgsIDB4MWEsIDB4MGEsIDB4NTEsIDB4MjMsIAotICAgIDB4N2UsIDB4MTgsIDB4MDksIDB4NzYsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MmQsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NTAsIDB4NjAsIDB4MDgsIDB4YTUsIAotICAgIDB4YjgsIDB4MDIsIDB4MDMsIDB4NGUsIDB4YTAsIDB4MDgsIDB4MjIsIDB4ODAsIDB4ZmUsIDB4N2UsIDB4ZTgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4ZWMsIDB4MDAsIAotICAgIDB4ZmYsIDB4ZTAsIDB4ZjUsIDB4MjIsIDB4NTQsIDB4YzAsIDB4NjgsIDB4MTYsIDB4N2UsIDB4ZTgsIDB4N2YsIDB4YmUsIDB4N2EsIDB4ZWMsIDB4MDAsIDB4ZmYsIAotICAgIDB4ZTAsIDB4NjAsIDB4MGMsIDB4MTIsIDB4MDksIDB4YTAsIDB4ZjUsIDB4MDksIDB4N2EsIDB4YTEsIDB4MjAsIDB4MDIsIDB4MGYsIDB4MGEsIDB4MjIsIDB4YzIsIAotICAgIDB4OTUsIDB4ZDIsIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NTMsIDB4OTAsIDB4Y2YsIDB4MTIsIDB4MTksIDB4ZmIsIDB4ODAsIDB4ZjEsIDB4MGQsIDB4MGEsIAotICAgIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGQsIAotICAgIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIAotICAgIDB4NDUsIDB4NjQsIDB4NjcsIDB4NjUsIDB4NzAsIDB4NmYsIDB4NzIsIDB4NzQsIDB4MmYsIDB4MzQsIDB4MjAsIDB4MmQsIDB4MjAsIDB4NDgsIDB4NjEsIDB4NzIsIAotICAgIDB4NjQsIDB4NzcsIDB4NjEsIDB4NzIsIDB4NjUsIDB4MjAsIDB4NDQsIDB4NjksIDB4NjEsIDB4NjcsIDB4NmUsIDB4NmYsIDB4NzMsIDB4NzQsIDB4NjksIDB4NjMsIAotICAgIDB4NzMsIDB4MmMsIDB4MjAsIDB4NTIsIDB4NjUsIDB4NzYsIDB4MjAsIDB4MzEsIDB4MmUsIDB4MzAsIDB4MzAsIDB4M2IsIDB4MjAsIDB4NDMsIDB4NmYsIDB4NzAsIAotICAgIDB4NzksIDB4NzIsIDB4NjksIDB4NjcsIDB4NjgsIDB4NzQsIDB4MjAsIDB4MzEsIDB4MzksIDB4MzksIDB4MzgsIDB4MjAsIDB4NDksIDB4NmUsIDB4NzMsIDB4NjksIAotICAgIDB4NjQsIDB4NjUsIDB4MjAsIDB4NGYsIDB4NzUsIDB4NzQsIDB4MjAsIDB4NGUsIDB4NjUsIDB4NzQsIDB4NzcsIDB4NmYsIDB4NzIsIDB4NmIsIDB4NzMsIDB4MGQsIAotICAgIDB4MGEsIDB4MDAsIDB4NTAsIDB4NjEsIDB4NzMsIDB4NzMsIDB4MDAsIDB4NDYsIDB4NDEsIDB4NDksIDB4NGMsIDB4MjAsIDB4MjEsIDB4MjEsIDB4MDAsIDB4NTAsIAotICAgIDB4NjEsIDB4NzMsIDB4NzMsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4NDYsIDB4NDEsIDB4NDksIDB4NGMsIDB4MjAsIDB4MjEsIDB4MjEsIDB4MjAsIAotICAgIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDQsIDB4NjUsIDB4NzQsIDB4NjUsIDB4NjMsIDB4NzQsIDB4MjAsIDB4NTIsIDB4NjEsIDB4NmQsIDB4M2EsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NjEsIDB4NmQsIDB4MjAsIDB4NTQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDEsIDB4NjQsIDB4NjQsIDB4NzIsIDB4NjUsIDB4NzMsIDB4NzMsIDB4MjAsIDB4NjIsIAotICAgIDB4NjksIDB4NzQsIDB4MjAsIDB4MzAsIDB4MmQsIDB4MzEsIDB4MzQsIDB4MjAsIDB4NzQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTcsIDB4NzIsIDB4NmYsIDB4NzQsIDB4NjUsIDB4MjAsIDB4NDEsIAotICAgIDB4NjQsIDB4NjQsIDB4NzIsIDB4NjUsIDB4NzMsIDB4NzMsIDB4M2EsIDB4MjAsIDB4MzAsIDB4MzAsIDB4M2EsIDB4MDAsIDB4MjAsIDB4MjAsIDB4NzcsIDB4NjksIAotICAgIDB4NzQsIDB4NjgsIDB4MjAsIDB4NjQsIDB4NjEsIDB4NzQsIDB4NjEsIDB4M2EsIDB4MjAsIDB4MDAsIDB4MmMsIDB4MjAsIDB4NjEsIDB4NmUsIDB4NjQsIDB4MjAsIAotICAgIDB4NzIsIDB4NjUsIDB4NjEsIDB4NjQsIDB4M2EsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NGYsIDB4NmUsIDB4NjUsIDB4MjAsIDB4NmYsIDB4NzIsIDB4MjAsIAotICAgIDB4NjIsIDB4NmYsIDB4NzQsIDB4NjgsIDB4MjAsIDB4NmYsIDB4NjYsIDB4MjAsIDB4NzQsIDB4NjgsIDB4NjUsIDB4MjAsIDB4NjYsIDB4NmYsIDB4NmMsIDB4NmMsIAotICAgIDB4NmYsIDB4NzcsIDB4NjksIDB4NmUsIDB4NjcsIDB4MjAsIDB4NDEsIDB4NjQsIDB4NjQsIDB4NzIsIDB4NjUsIDB4NzMsIDB4NzMsIDB4MjAsIDB4NjIsIDB4NjksIAotICAgIDB4NzQsIDB4NzMsIDB4MjAsIDB4NmMsIDB4NjksIDB4NzMsIDB4NzQsIDB4NjUsIDB4NjQsIDB4MjAsIDB4NjEsIDB4NzIsIDB4NjUsIDB4MjAsIDB4NzMsIDB4NjgsIAotICAgIDB4NmYsIDB4NzIsIDB4NzQsIDB4NjUsIDB4NjQsIDB4MGQsIDB4MGEsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NzMsIDB4NmYsIDB4NmQsIDB4NjUsIDB4NzQsIDB4NjgsIAotICAgIDB4NjksIDB4NmUsIDB4NjcsIDB4M2EsIDB4MjAsIDB4MDAsIDB4MjAsIDB4NjEsIDB4NmUsIDB4NjQsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDQsIDB4NjUsIAotICAgIDB4NzQsIDB4NjUsIDB4NjMsIDB4NzQsIDB4MjAsIDB4NTUsIDB4NjEsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIAotICAgIDB4NTMsIDB4NjMsIDB4NzIsIDB4NjEsIDB4NzQsIDB4NjMsIDB4NjgsIDB4MjAsIDB4NTAsIDB4NjEsIDB4NjQsIDB4MmMsIDB4NDYsIDB4NjksIDB4NDYsIDB4NmYsIAotICAgIDB4MjAsIDB4NDUsIDB4NmUsIDB4NjEsIDB4NjIsIDB4NmMsIDB4NjUsIDB4MjAsIDB4MjYsIDB4MjAsIDB4NTIsIDB4NTMsIDB4NTQsIDB4M2EsIDB4MjAsIDB4MDAsIAotICAgIDB4MGQsIDB4MGEsIDB4MGEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTUsIDB4NjEsIDB4NzIsIDB4NzQsIDB4MjAsIDB4NTQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4NzMsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIDB4MzEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIAotICAgIDB4MzIsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIDB4MzMsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIAotICAgIDB4MzQsIDB4MGQsIDB4MGEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIAotICAgIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIAotICAgIDB4MmQsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIDB4MjAsIDB4NDQsIDB4NjUsIDB4NjMsIDB4NmYsIDB4NjQsIDB4NjUsIDB4NzIsIAotICAgIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDQsIDB4NjksIDB4NjcsIDB4NjksIDB4NzQsIDB4NjEsIDB4NmMsIDB4MjAsIAotICAgIDB4NGMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDEsIDB4NmUsIDB4NjEsIDB4NmMsIAotICAgIDB4NmYsIDB4NjcsIDB4MjAsIDB4NGMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIAotICAgIDB4NTIsIDB4NTgsIDB4NDQsIDB4MmMsIDB4NTQsIDB4NTgsIDB4NDQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NTIsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIAotICAgIDB4NTQsIDB4NTMsIDB4MmMsIDB4NTIsIDB4NDksIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTgsIDB4NDQsIDB4MmMsIDB4NTQsIDB4NTgsIDB4NDQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDQsIAotICAgIDB4NTQsIDB4NTIsIDB4MmMsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NDMsIDB4NDQsIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTQsIDB4NTMsIDB4NWIsIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIAotICAgIDB4NTIsIDB4NDksIDB4NWQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDQsIDB4NTQsIDB4NTIsIDB4MmMsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NDMsIAotICAgIDB4NDQsIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTQsIDB4NTMsIDB4NWIsIAotICAgIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIDB4NDQsIDB4NWQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NTIsIAotICAgIDB4NDksIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIAotICAgIDB4NDQsIDB4NTQsIDB4NTIsIDB4NWIsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NDMsIDB4NDQsIDB4NWQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NTIsIAotICAgIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NTIsIDB4NDksIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIAotICAgIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDQsIDB4NTQsIDB4NTIsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIAotICAgIDB4NDQsIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTQsIDB4NTMsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDMsIAotICAgIDB4NTQsIDB4NTMsIDB4MmMsIDB4NTIsIDB4NDksIDB4MjAsIDB4NGMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTQsIDB4NTMsIDB4MjAsIAotICAgIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIDB4NDQsIDB4MjAsIDB4NGMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIAotICAgIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIAotICAgIDB4NDQsIDB4NTQsIDB4NTIsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NDMsIDB4NDQsIDB4MjAsIDB4NGMsIDB4NmYsIAotICAgIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4MGEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NDUsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NGYsIDB4MjAsIAotICAgIDB4NTIsIDB4MjAsIDB4MjEsIDB4MjEsIDB4MjEsIDB4MmMsIDB4MjAsIDB4NDUsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NGYsIDB4MjAsIDB4NTIsIAotICAgIDB4MjAsIDB4MjEsIDB4MjEsIDB4MjEsIDB4MjAsIDB4MmMsIDB4MjAsIDB4NDUsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NGYsIDB4MjAsIDB4NTIsIAotICAgIDB4MjAsIDB4MjEsIDB4MjEsIDB4MjEsIDB4MGQsIDB4MGEsIDB4MGEsIDB4NDQsIDB4NjksIDB4NjEsIDB4NjcsIDB4NmUsIDB4NmYsIDB4NzMsIDB4NzQsIDB4NjksIAotICAgIDB4NjMsIDB4NzMsIDB4MjAsIDB4NmUsIDB4NmYsIDB4NzcsIDB4MjAsIDB4NzcsIDB4NjksIDB4NmMsIDB4NmMsIDB4MjAsIDB4NjUsIDB4NmUsIDB4NzQsIDB4NjUsIAotICAgIDB4NzIsIDB4MjAsIDB4NjEsIDB4MjAsIDB4NjQsIDB4NjUsIDB4NjIsIDB4NzUsIDB4NjcsIDB4MjAsIDB4NmMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4MjAsIDB4NmYsIAotICAgIDB4NjYsIDB4MjAsIDB4NzQsIDB4NjgsIDB4NjUsIDB4MjAsIDB4NjYsIDB4NjksIDB4NzIsIDB4NzMsIDB4NzQsIDB4MjAsIDB4NjQsIDB4NjUsIDB4NzQsIDB4NjUsIAotICAgIDB4NjMsIDB4NzQsIDB4NjUsIDB4NjQsIDB4MjAsIDB4NjUsIDB4NzIsIDB4NzIsIDB4NmYsIDB4NzIsIDB4MmUsIDB4MDAsIDB4MGQsIDB4MGEsIDB4MGEsIDB4NGUsIAotICAgIDB4NmYsIDB4MjAsIDB4NDgsIDB4NjEsIDB4NzIsIDB4NjQsIDB4NzcsIDB4NjEsIDB4NzIsIDB4NjUsIDB4MjAsIDB4NjUsIDB4NzIsIDB4NzIsIDB4NmYsIDB4NzIsIAotICAgIDB4NzMsIDB4MjAsIDB4NjQsIDB4NjUsIDB4NzQsIDB4NjUsIDB4NjMsIDB4NzQsIDB4NjUsIDB4NjQsIDB4MmUsIDB4MGQsIDB4MGEsIDB4MDAsIDB4NDMsIDB4NmYsIAotICAgIDB4NzAsIDB4NzksIDB4NjksIDB4NmUsIDB4NjcsIDB4MjAsIDB4NjMsIDB4NmYsIDB4NjQsIDB4NjUsIDB4MjAsIDB4NjYsIDB4NzIsIDB4NmYsIDB4NmQsIDB4MjAsIAotICAgIDB4NGQsIDB4NjEsIDB4NzMsIDB4NzQsIDB4NjUsIDB4NzIsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NTMsIDB4NmMsIDB4NjEsIDB4NzYsIDB4NjUsIDB4MjcsIAotICAgIDB4NzMsIDB4MjAsIDB4NDUsIDB4NDUsIDB4NzAsIDB4NzIsIDB4NmYsIDB4NmQsIDB4MjAsIDB4MmUsIDB4MmUsIDB4MmUsIDB4MDAsIDB4NDQsIDB4NmYsIDB4NmUsIAotICAgIDB4NjUsIDB4MGQsIDB4MGEsIDB4MGEsIDB4MmQsIDB4M2UsIDB4MjAsIDB4NTQsIDB4NzUsIDB4NzIsIDB4NmUsIDB4MjAsIDB4NzUsIDB4NmUsIDB4NjksIDB4NzQsIAotICAgIDB4MjAsIDB4NmYsIDB4NjYsIDB4NjYsIDB4MmMsIDB4MjAsIDB4NjQsIDB4NjksIDB4NzMsIDB4NjMsIDB4NmYsIDB4NmUsIDB4NmUsIDB4NjUsIDB4NjMsIDB4NzQsIAotICAgIDB4MjAsIDB4NjMsIDB4NjEsIDB4NjIsIDB4NmMsIDB4NjUsIDB4MjAsIDB4NjEsIDB4NmUsIDB4NjQsIDB4MjAsIDB4NzIsIDB4NzUsIDB4NmUsIDB4MjAsIDB4NzMsIAotICAgIDB4NzQsIDB4NjEsIDB4NmUsIDB4NjQsIDB4NjEsIDB4NmMsIDB4NmYsIDB4NmUsIDB4NjUsIDB4MjAsIDB4NjQsIDB4NjksIDB4NjEsIDB4NjcsIDB4NmUsIDB4NmYsIAotICAgIDB4NzMsIDB4NzQsIDB4NjksIDB4NjMsIDB4NzMsIDB4MmUsIDB4MDAsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MDksIDB4YzIsIDB4MGEsIDB4NzUsIDB4OTAsIDB4MGQsIAotICAgIDB4MjAsIDB4MTcsIDB4MDIsIDB4ZDIsIDB4YjUsIDB4NDMsIDB4OTAsIDB4MzAsIDB4NmMsIDB4MDAsIDB4N2UsIDB4MTAsIDB4MDMsIDB4MTIsIDB4MGYsIDB4MzgsIAotICAgIDB4N2UsIDB4NjgsIDB4MGEsIDB4MDEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGIsIDB4MDAsIDB4MzAsIDB4YjQsIDB4MDIsIAotICAgIDB4ODAsIDB4MjQsIDB4MDIsIDB4MWIsIDB4M2MsIDB4MjAsIDB4MDksIDB4MWQsIDB4YzIsIDB4OTQsIDB4ZDIsIDB4OTUsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NTMsIAotICAgIDB4OTAsIDB4Y2YsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YzIsIDB4OTUsIDB4ZDIsIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YTUsIDB4ZDksIDB4ZTYsIDB4NDMsIAotICAgIDB4OTAsIDB4MzAsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OTQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4N2UsIDB4ZTQsIDB4MTAsIDB4MDAsIDB4N2UsIDB4NDAsIDB4NTUsIDB4N2EsIDB4ZTksIDB4NDAsIDB4MGIsIDB4ZTQsIDB4N2UsIDB4NTAsIDB4YWEsIAotICAgIDB4N2EsIDB4ZTksIDB4NTAsIDB4MWIsIDB4ZTQsIDB4YmUsIDB4ZTksIDB4NDAsIDB4NjgsIDB4MTksIDB4N2UsIDB4NjgsIDB4MGEsIDB4N2EsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MTMsIDB4N2EsIDB4ZTksIDB4NDAsIDB4N2UsIDB4ZTksIAotICAgIDB4MTAsIDB4ODAsIDB4ZjgsIDB4N2UsIDB4NjgsIDB4MGEsIDB4NzUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGIsIDB4MDAsIAotICAgIDB4N2UsIDB4NjgsIDB4MGEsIDB4ZDgsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2UsIAotICAgIDB4NzAsIDB4MGUsIDB4N2UsIDB4YTQsIDB4ZmYsIDB4ZmYsIDB4N2UsIDB4YjQsIDB4YmYsIDB4ZmYsIDB4N2QsIDB4Y2IsIDB4MGUsIDB4YzQsIDB4N2QsIDB4ZGMsIAotICAgIDB4NWQsIDB4ZGIsIDB4NmMsIDB4YmIsIDB4N2QsIDB4ZmEsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIAotICAgIDB4ZmIsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIAotICAgIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4NmMsIDB4YmIsIAotICAgIDB4N2QsIDB4ZmEsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4NDEsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIAotICAgIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4MzQsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIAotICAgIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4MjcsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIAotICAgIDB4NzgsIDB4MWEsIDB4MGIsIDB4YjAsIDB4YmUsIDB4YzQsIDB4ZmYsIDB4ZmUsIDB4NzgsIDB4OTIsIDB4MGUsIDB4YjQsIDB4YTUsIDB4ZGYsIDB4OGIsIDB4N2UsIAotICAgIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4NzcsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIAotICAgIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGIsIDB4MmEsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGEsIDB4NDcsIDB4MTIsIDB4MWEsIDB4YzksIDB4N2UsIDB4NjgsIDB4MGIsIDB4NzksIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4NmMsIDB4NzcsIDB4ZGEsIDB4NmIsIDB4Y2EsIDB4NmIsIDB4MGIsIDB4NzAsIDB4MGUsIDB4YzQsIAotICAgIDB4YmUsIDB4YzQsIDB4ZmYsIDB4ZmYsIDB4NzgsIDB4ZjYsIDB4MWIsIDB4NzAsIDB4MGEsIDB4NDcsIDB4MTIsIDB4MWEsIDB4YzksIDB4MTIsIDB4MWEsIDB4MDgsIAotICAgIDB4MzAsIDB4MDksIDB4MzAsIDB4ZGEsIDB4NmIsIDB4ZGEsIDB4NWIsIDB4NmMsIDB4YmIsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2QsIDB4ZmEsIDB4NWUsIAotICAgIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIAotICAgIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIAotICAgIDB4YjAsIDB4ODAsIDB4ZDQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4YjYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MzAsIDB4MTcsIAotICAgIDB4MGUsIDB4N2UsIDB4NzgsIDB4MDQsIDB4MjAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDQsIDB4N2IsIDB4ZTAsIDB4ODAsIDB4MGMsIDB4N2UsIAotICAgIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NDQsIDB4ODAsIDB4MDAsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NDAsIDB4M2EsIAotICAgIDB4N2MsIDB4NTQsIDB4N2YsIDB4NTcsIDB4N2QsIDB4ODQsIDB4NmMsIDB4NjYsIDB4N2EsIDB4NWIsIDB4NTAsIDB4MGIsIDB4NWMsIDB4MGIsIDB4NTAsIDB4YTUsIAotICAgIDB4ZGUsIDB4MDIsIDB4MGIsIDB4NTAsIDB4MWIsIDB4ODQsIDB4NzgsIDB4ZjAsIDB4N2MsIDB4NTQsIDB4N2YsIDB4NTcsIDB4N2QsIDB4ODQsIDB4NmMsIDB4NjYsIAotICAgIDB4YmUsIDB4NWIsIDB4NTAsIDB4NzgsIDB4MWEsIDB4MGIsIDB4NWMsIDB4MGIsIDB4NTAsIDB4YTUsIDB4ZGUsIDB4MDIsIDB4MGIsIDB4NTAsIDB4MWIsIDB4ODQsIAotICAgIDB4NzgsIDB4ZWUsIDB4N2UsIDB4NjgsIDB4MGEsIDB4NzUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4NGIsIDB4N2YsIAotICAgIDB4NDUsIDB4N2UsIDB4NjgsIDB4MGEsIDB4N2EsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ZmEsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2QsIDB4NGIsIDB4MTIsIDB4MWEsIDB4YzksIDB4N2UsIDB4NjgsIDB4MGIsIDB4MGYsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4NmMsIDB4ODgsIDB4N2MsIDB4OTUsIDB4MTIsIDB4MWEsIDB4YzksIDB4N2UsIDB4NjgsIAotICAgIDB4MGIsIDB4MWQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NGIsIDB4OTAsIDB4MTIsIDB4MWEsIDB4YzksIDB4MTIsIAotICAgIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MDUsIDB4N2UsIDB4NGIsIDB4OTAsIDB4ODAsIDB4ZmIsIDB4N2UsIDB4NjgsIDB4MGIsIDB4N2YsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGIsIDB4MDAsIDB4ZDIsIDB4OTIsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MDgsIDB4YmUsIDB4YjAsIDB4MDEsIDB4NzgsIDB4MGIsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4YmUsIDB4YjAsIDB4NjAsIDB4NzgsIDB4MDIsIDB4ODAsIAotICAgIDB4MTcsIDB4N2UsIDB4NjgsIDB4MGEsIDB4N2EsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIAotICAgIDB4MDksIDB4MTEsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4ODAsIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MGEsIDB4NzUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGIsIDB4YTEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGIsIDB4MDAsIAotICAgIDB4YzIsIDB4OTIsIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIAotICAgIDB4N2UsIDB4YjAsIDB4MDEsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDgsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MzcsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MDgsIDB4NWUsIDB4YjAsIDB4YzAsIDB4YmUsIDB4YjAsIDB4YzAsIDB4NzgsIDB4MmIsIDB4N2UsIDB4YTAsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MWMsIDB4NmMsIDB4YmIsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDgsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MTYsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4NWUsIDB4YjAsIDB4YzAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4NzUsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MWIsIDB4N2UsIDB4NjgsIDB4MGEsIDB4N2EsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MGEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4ODAsIAotICAgIDB4ZjYsIDB4N2UsIDB4NjgsIDB4MGIsIDB4YzMsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGMsIDB4NDUsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4N2UsIDB4YjAsIAotICAgIDB4MDEsIDB4MTksIDB4YjIsIDB4MDAsIDB4MWMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4MGIsIDB4YjAsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2UsIDB4MjQsIAotICAgIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4N2UsIDB4YjAsIDB4MDEsIDB4MGIsIDB4MDAsIDB4MDksIDB4YTIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIAotICAgIDB4NzgsIDB4MTYsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIAotICAgIDB4MDAsIDB4MGIsIDB4YjAsIDB4YTUsIDB4ZDksIDB4ZTIsIDB4ODAsIDB4MjUsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4ZTQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIAotICAgIDB4MDksIDB4YTIsIDB4MDAsIDB4MWMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZjUsIDB4ODAsIDB4ZWMsIDB4N2UsIDB4NjgsIDB4MGMsIAotICAgIDB4NjksIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MTMsIDB4OGEsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIAotICAgIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4NzQsIDB4MTAsIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTMsIDB4MDMsIDB4MmUsIDB4MjQsIDB4MDEsIAotICAgIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWUsIDB4N2UsIDB4NjgsIDB4MGMsIDB4OGQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4ZTQsIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTMsIDB4MDMsIAotICAgIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWYsIDB4MzAsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MTgsIDB4YjcsIDB4MDIsIDB4MTMsIDB4YmIsIAotICAgIDB4NzQsIDB4MDcsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDgsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4YzIsIDB4MGIsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTIsIDB4MTMsIAotICAgIDB4NjQsIDB4N2UsIDB4YjAsIDB4YWEsIDB4MTIsIDB4MTMsIDB4NjQsIDB4N2UsIDB4YjAsIDB4MDAsIDB4MTIsIDB4MTMsIDB4NjQsIDB4N2UsIDB4YjAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTMsIDB4NjQsIDB4MzAsIDB4MGIsIDB4MGYsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIAotICAgIDB4MjIsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YTIsIDB4MDAsIDB4MDAsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MDEsIAotICAgIDB4MjIsIDB4MjAsIDB4MDksIDB4MDMsIDB4ZDIsIDB4MGIsIDB4MjIsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIAotICAgIDB4ZWUsIDB4MDksIDB4YTIsIDB4MDAsIDB4MDAsIDB4ODAsIDB4ZjMsIDB4ZDIsIDB4OTIsIDB4MTIsIDB4MTksIDB4ZWUsIDB4YzIsIDB4OTIsIDB4MTIsIDB4MTksIAotICAgIDB4ZWUsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4NzQsIDB4ODAsIDB4MTksIDB4YjIsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIAotICAgIDB4MDAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjIsIDB4MDAsIDB4MGMsIAotICAgIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZTEsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MGMsIDB4YjEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIAotICAgIDB4MDgsIDB4MzAsIDB4MDksIDB4MDksIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4ODAsIDB4ZjcsIDB4MmUsIDB4MjQsIDB4MDEsIAotICAgIDB4MDAsIDB4YTUsIDB4ZDksIDB4YjYsIDB4N2UsIDB4NjgsIDB4MGMsIDB4ZDUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIAotICAgIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIAotICAgIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MWEsIDB4N2UsIAotICAgIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MDksIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4ODAsIDB4ZjcsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YjYsIAotICAgIDB4MzAsIDB4MDQsIDB4MDMsIDB4MDIsIDB4MTYsIDB4OGMsIDB4N2UsIDB4NjgsIDB4MGMsIDB4ZjksIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIDB4NzgsIDB4M2MsIAotICAgIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIAotICAgIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDIsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MGQsIDB4NDEsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIAotICAgIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDEsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIAotICAgIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIAotICAgIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIAotICAgIDB4MzAsIDB4MDksIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MGQsIDB4ODksIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIAotICAgIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4NTAsIDB4YmUsIDB4YjAsIDB4NTAsIDB4NzgsIDB4MWYsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4NTAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIAotICAgIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIAotICAgIDB4ZDksIDB4YTIsIDB4N2UsIDB4NjgsIDB4MGQsIDB4ZDEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIAotICAgIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIAotICAgIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4YTAsIDB4YmUsIDB4YjAsIDB4YTAsIDB4NzgsIDB4MWYsIAotICAgIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4YTAsIAotICAgIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MjAsIDB4N2UsIAotICAgIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MGYsIAotICAgIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIAotICAgIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4MDIsIDB4MTgsIDB4MmIsIDB4N2UsIDB4NjgsIDB4MGQsIDB4MWQsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIAotICAgIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIAotICAgIDB4MDYsIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIAotICAgIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDYsIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIAotICAgIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4ZTYsIAotICAgIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIAotICAgIDB4NjgsIDB4MGQsIDB4NjUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIAotICAgIDB4MDksIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIAotICAgIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDksIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIAotICAgIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDksIDB4NzgsIAotICAgIDB4MTQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIAotICAgIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIAotICAgIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MGQsIDB4YWQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIAotICAgIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4OTAsIDB4YmUsIDB4YjAsIDB4OTAsIDB4NzgsIDB4MWYsIDB4NmMsIAotICAgIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4OTAsIDB4NzgsIAotICAgIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIAotICAgIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MGYsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIAotICAgIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YTIsIDB4MDIsIDB4MTgsIDB4YjcsIDB4MzAsIDB4MTcsIDB4MDMsIDB4MDIsIDB4MTksIDB4M2IsIDB4YzIsIDB4OGEsIAotICAgIDB4MTIsIDB4MTksIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4MGIsIDB4MDAsIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MjAsIAotICAgIDB4OGIsIDB4M2UsIDB4MjAsIDB4ODksIDB4M2IsIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MDksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4NGUsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MzAsIDB4OGIsIDB4MjMsIDB4MzAsIDB4ODksIDB4MjAsIAotICAgIDB4MDksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NWUsIDB4YTAsIDB4ZmQsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIDB4YTAsIAotICAgIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MjAsIDB4OGIsIDB4MDUsIDB4MjAsIDB4ODksIDB4MDIsIDB4ODAsIDB4MWEsIAotICAgIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MTQsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4NWUsIAotICAgIDB4YTAsIDB4ZmQsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4ZWMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIAotICAgIDB4ODksIDB4MDIsIDB4MTksIDB4M2IsIDB4MjAsIDB4MTcsIDB4ZmEsIDB4MTIsIDB4MTMsIDB4OGEsIDB4MTIsIDB4MTksIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODAsIAotICAgIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4MjAsIDB4ODksIDB4MjYsIDB4N2UsIDB4YTAsIDB4ZmYsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MzAsIDB4ODksIDB4MGYsIAotICAgIDB4N2UsIDB4YTAsIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MjAsIDB4ODksIDB4MDIsIDB4ODAsIDB4MjYsIDB4MTIsIAotICAgIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MjAsIDB4N2UsIDB4YTAsIDB4ZmYsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIAotICAgIDB4YjAsIDB4NTUsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIDB4YTAsIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4ODAsIDB4ZTAsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YTgsIDB4MDIsIDB4MTksIDB4M2IsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWYsIDB4MjIsIDB4MzAsIDB4MGEsIDB4MTksIDB4N2UsIDB4NjgsIDB4MGQsIDB4ZjUsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ZDIsIDB4MDksIDB4MTIsIDB4MTksIDB4ZWUsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MTIsIDB4MTksIAotICAgIDB4ZWUsIDB4MDIsIDB4MGYsIDB4MTAsIDB4MzAsIDB4MTcsIDB4MWMsIDB4N2UsIDB4NjgsIDB4MGUsIDB4NmYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIAotICAgIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGUsIDB4OTEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWIsIDB4M2MsIAotICAgIDB4MDIsIDB4MTksIDB4ZTYsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NzgsIDB4MTksIDB4YTAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmYsIDB4N2YsIDB4NjcsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzAsIDB4M2UsIDB4N2UsIDB4N2IsIDB4YjAsIDB4N2EsIDB4NmIsIDB4YjAsIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIAotICAgIDB4YTUsIDB4ZGYsIDB4ZjMsIDB4N2UsIDB4NzgsIDB4MTksIDB4YTAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4ODksIDB4NzgsIDB4N2UsIDB4NzgsIDB4MDAsIAotICAgIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4NjgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmUsIDB4NzQsIDB4YWEsIDB4MzksIAotICAgIDB4YjcsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIDB4YjcsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIDB4YjcsIDB4NTUsIDB4NTUsIDB4NmMsIAotICAgIDB4OTksIDB4N2EsIDB4NmIsIDB4OTAsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4NmIsIDB4ODAsIDB4YmMsIDB4ODksIDB4NjgsIDB4MDgsIDB4MWIsIAotICAgIDB4NTQsIDB4NzgsIDB4ZjUsIDB4OGEsIDB4ZmYsIDB4MTksIDB4ZGUsIDB4OGEsIDB4ZmYsIDB4MTksIDB4ZTYsIDB4MTIsIDB4MWEsIDB4MDgsIDB4N2UsIDB4NmIsIAotICAgIDB4ODAsIDB4ODAsIDB4ZmIsIDB4N2UsIDB4MTAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4ODUsIDB4ODAsIDB4ZjgsIDB4Y2EsIDB4ZjksIDB4N2UsIDB4ZjQsIDB4MDAsIAotICAgIDB4ZmYsIDB4MWIsIDB4ZjQsIDB4NzgsIDB4ZmMsIDB4ZGEsIDB4ZjksIDB4MjIsIDB4Y2EsIDB4ZjksIDB4N2UsIDB4ZjQsIDB4MDAsIDB4MDAsIDB4MWIsIDB4ZjQsIAotICAgIDB4NzgsIDB4ZmMsIDB4ZGEsIDB4ZjksIDB4MjIsIDB4MjAsIDB4MDksIDB4MTksIDB4ZDIsIDB4MGEsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YzIsIDB4OTUsIDB4ZDIsIAotICAgIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NDMsIDB4OTAsIDB4MzAsIAotICAgIDB4MjIsIDB4Y2EsIDB4MGIsIDB4N2UsIDB4MTAsIDB4MDMsIDB4N2MsIDB4MzAsIDB4NmMsIDB4MjIsIDB4MGIsIDB4MjAsIDB4OWUsIDB4MzAsIDB4MGEsIDB4NTAsIAotICAgIDB4ZjksIDB4MmUsIDB4MzAsIDB4MGIsIDB4MWIsIDB4MjAsIDB4NjgsIDB4MTgsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NTMsIDB4OTAsIAotICAgIDB4Y2YsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NDMsIDB4OTAsIDB4MzAsIDB4YTUsIDB4ZGEsIDB4ZTgsIAotICAgIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MWIsIDB4MzAsIDB4NjgsIDB4MTksIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIAotICAgIDB4YzIsIDB4OTUsIDB4ZDIsIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NDMsIDB4OTAsIDB4MzAsIAotICAgIDB4YTUsIDB4ZGIsIDB4ZTcsIDB4N2UsIDB4MjAsIDB4MGEsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YTUsIDB4ZGEsIDB4ZmEsIDB4YTUsIDB4ZDksIDB4YTcsIDB4ZGEsIAotICAgIDB4MGIsIDB4MjIsIDB4MjAsIDB4MDksIDB4MGEsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YjIsIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YjIsIDB4OTQsIDB4MjIsIAotICAgIDB4MzAsIDB4MTcsIDB4MzIsIDB4MjAsIDB4MDksIDB4MmYsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4N2IsIDB4N2UsIDB4NzgsIDB4ODAsIDB4MDAsIDB4N2EsIDB4N2MsIAotICAgIDB4MDAsIDB4ZmUsIDB4MTIsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NmIsIDB4YTAsIDB4NWMsIDB4YWEsIDB4NjgsIDB4MTAsIDB4MjksIDB4YjcsIDB4MDAsIDB4MTQsIAotICAgIDB4NTQsIDB4NjAsIDB4NjgsIDB4ZjgsIDB4MzksIDB4YTcsIDB4MDAsIDB4MDAsIDB4MGIsIDB4NmMsIDB4ODAsIDB4ZTksIDB4MTIsIDB4MTksIDB4ZWUsIDB4ZDIsIAotICAgIDB4YjUsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4MmIsIDB4MjIsIDB4MTIsIDB4MWEsIDB4ZDQsIDB4N2UsIDB4NjgsIDB4MDAsIDB4MGIsIDB4MTIsIDB4MWEsIDB4OTMsIAotICAgIDB4MjIsIDB4Y2EsIDB4NTksIDB4Y2EsIDB4NWIsIDB4N2UsIDB4YjQsIDB4MDAsIDB4MGIsIDB4N2MsIDB4YjgsIDB4YzQsIDB4MTIsIDB4MWIsIDB4MDQsIDB4N2MsIAotICAgIDB4YjgsIDB4MTIsIDB4MWIsIDB4MDQsIDB4N2MsIDB4YjksIDB4YzQsIDB4MTIsIDB4MWIsIDB4MDQsIDB4N2MsIDB4YjksIDB4MTIsIDB4MWIsIDB4MDQsIDB4N2UsIAotICAgIDB4YjAsIDB4NjgsIDB4N2EsIDB4YjksIDB4YjAsIDB4MGIsIDB4YjQsIDB4NmMsIDB4YmIsIDB4N2EsIDB4YjksIDB4YjAsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4NWIsIAotICAgIDB4MjIsIDB4NWUsIDB4YjAsIDB4MGYsIDB4N2MsIDB4YWIsIDB4OWUsIDB4YTAsIDB4MGEsIDB4NDAsIDB4MDUsIDB4MmUsIDB4YjAsIDB4MzcsIDB4ODAsIDB4MDMsIAotICAgIDB4MmUsIDB4YjAsIDB4MzAsIDB4N2EsIDB4YjksIDB4YjAsIDB4MGIsIDB4YjQsIDB4MjIsIDB4YzIsIDB4YjUsIDB4YzIsIDB4OTIsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4NzQsIDB4ODAsIDB4MzksIDB4YjcsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDYsIDB4MzksIDB4YTcsIDB4MDAsIDB4MDQsIDB4MzksIDB4YjcsIAotICAgIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MzksIDB4YjcsIDB4MDAsIDB4MGMsIDB4MjIsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIAotICAgIDB4ZmYsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4MDEsIDB4N2YsIDB4NjUsIDB4N2UsIDB4NzQsIDB4MjAsIDB4MDAsIDB4MTIsIAotICAgIDB4MDgsIDB4ZDYsIDB4NDAsIDB4NTQsIDB4N2UsIDB4NzgsIDB4N2MsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIAotICAgIDB4N2EsIDB4NWMsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NjgsIDB4N2MsIDB4MDAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NzQsIDB4MDQsIDB4MDAsIAotICAgIDB4MTIsIDB4MDgsIDB4ZDYsIDB4NDAsIDB4MzMsIDB4NzQsIDB4ODAsIDB4MTIsIDB4MWIsIDB4YjEsIDB4NDAsIDB4MmMsIDB4NTMsIDB4OTAsIDB4Y2YsIDB4ZDIsIAotICAgIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDgsIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4ODQsIDB4YTUsIDB4ZGIsIDB4ZmMsIDB4YTUsIDB4ZGEsIDB4ZjksIAotICAgIDB4YTUsIDB4ZDksIDB4ZjYsIDB4NzQsIDB4NDAsIDB4MTIsIDB4MWIsIDB4YjEsIDB4NDAsIDB4MGUsIDB4N2UsIDB4NjgsIDB4MGUsIDB4YzAsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MDIsIDB4MTksIDB4ZTYsIDB4YzIsIDB4OTUsIDB4ZDIsIDB4OTQsIDB4ODAsIDB4ZmUsIDB4ZjUsIDB4MGEsIAotICAgIDB4N2UsIDB4NzgsIDB4MDAsIDB4MGEsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NjgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4MDEsIAotICAgIDB4N2UsIDB4NzQsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDgsIDB4ZDYsIAotfTsKLQotc3RhdGljIHN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyBJTUFHRV9WRVJTSU9OX05BTUUgPSB7Ci0JMSwgMTIsIDIgfTsJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdDIuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290Mi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzQ2M2RlLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290Mi5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQ2ICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQotLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgotLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0vLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotLy9JbWFnZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgotI2lmICFkZWZpbmVkKERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQpCi0jZGVmaW5lIERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgewotCQlfX2xlMTYgRXh0QWRkcjsKLQkJX19sZTE2IEFkZHI7Ci0JCV9fbGUxNiBMZW47Ci0JCXVuc2lnbmVkIGNoYXIgIERhdGFbMF07Ci0JfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gewotCQl1bnNpZ25lZCBjaGFyCSBNYWpvclZlcnNpb247Ci0JCXVuc2lnbmVkIGNoYXIgIE1pbm9yVmVyc2lvbjsKLQkJdW5zaWduZWQgc2hvcnQgQnVpbGROdW1iZXI7Ci0JfTsKLQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChJTUFHRV9BUlJBWV9OQU1FKQotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCQlGaXJtd2FyZUltYWdlCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlGaXJtd2FyZUltYWdlVmVyc2lvbgotI2VuZGlmCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIElNQUdFX0FSUkFZX05BTUVbXSA9IHsKLQotLy8gU2VnbWVudCAjMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwMCwgTGVuZ3RoIDYKLTB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNiwweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4ODAsIDB4MDIsIDB4MDAsIDB4MDMsIAotCi0vLyBTZWdtZW50ICMyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDBiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgwYiwgCi0KLS8vIFNlZ21lbnQgIzMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAyLCAweDU2LCAKLQotLy8gU2VnbWVudCAjNCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAxYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDFiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MWIsIAotCi0vLyBTZWdtZW50ICM1LCBTdGFydCBBZGRyZXNzIDAwZmYwMDIzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MjMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyMywgCi0KLS8vIFNlZ21lbnQgIzYsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMmIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDJiLCAKLQotLy8gU2VnbWVudCAjNywgU3RhcnQgQWRkcmVzcyAwMGZmMDAzMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDMzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MzMsIAotCi0vLyBTZWdtZW50ICM4LCBTdGFydCBBZGRyZXNzIDAwZmYwMDNiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4M2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzYiwgCi0KLS8vIFNlZ21lbnQgIzksIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNDMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDQzLCAKLQotLy8gU2VnbWVudCAjMTAsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDRiLCAKLQotLy8gU2VnbWVudCAjMTEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg1MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAxLCAweGY1LCAKLQotLy8gU2VnbWVudCAjMTIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwN2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg3YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDdiLCAKLQotLy8gU2VnbWVudCAjMTMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwODAsIExlbmd0aCA1MzQKLTB4ZmYsMHgwMCwweDgwLDB4MDAsMHgxNiwweDAyLAotICAgIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDEsIDB4MjAsIDB4ZTMsIDB4MGMsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NTQsIDB4ZmUsIDB4N2EsIDB4YjMsIDB4M2YsIAotICAgIDB4ZjIsIDB4ODAsIDB4MGEsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NDQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NzQsIDB4MDAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4N2UsIDB4ZjgsIDB4MDAsIDB4MjQsIDB4N2UsIDB4MDAsIDB4MDEsIAotICAgIDB4N2UsIDB4MTAsIDB4MDAsIDB4MTIsIDB4MDksIDB4ZDAsIDB4NjksIDB4MjAsIDB4MDAsIDB4MGEsIDB4NWUsIDB4NDAsIDB4MWYsIDB4YmUsIDB4MjQsIDB4MDAsIAotICAgIDB4MDAsIDB4NzgsIDB4MDksIDB4N2UsIDB4MDAsIDB4MDMsIDB4N2EsIDB4MDMsIDB4OTAsIDB4MDAsIDB4ODAsIDB4MDcsIDB4N2UsIDB4MDAsIDB4MDIsIDB4N2EsIAotICAgIDB4MDMsIDB4OTAsIDB4MDAsIDB4NzUsIDB4YjAsIDB4ZGYsIDB4N2UsIDB4MDAsIDB4MDEsIDB4N2EsIDB4MDMsIDB4OTQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIAotICAgIDB4MjQsIDB4N2UsIDB4MDAsIDB4MDEsIDB4N2EsIDB4MDMsIDB4OTMsIDB4MDAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4YTUsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4YTgsIAotICAgIDB4MDAsIDB4NzUsIDB4YjEsIDB4MDAsIDB4Y2EsIDB4MjksIDB4MTIsIDB4MGMsIDB4NjYsIDB4MTIsIDB4MGMsIDB4MzcsIDB4ZjUsIDB4MjEsIDB4N2EsIDB4YTEsIAotICAgIDB4MjAsIDB4MjAsIDB4MDksIDB4MDgsIDB4MjAsIDB4MGEsIDB4MGEsIDB4N2UsIDB4YjAsIDB4MGMsIDB4ODAsIDB4MDgsIDB4N2UsIDB4YjAsIDB4MDAsIDB4ODAsIAotICAgIDB4MDMsIDB4N2UsIDB4YjAsIDB4MDgsIDB4N2EsIDB4YjMsIDB4OTIsIDB4MDAsIDB4MTIsIDB4MDIsIDB4OTYsIDB4ZGEsIDB4MjksIDB4NzQsIDB4MTAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDEsIDB4N2UsIDB4MjAsIDB4MDQsIDB4N2MsIDB4YjIsIDB4YzIsIDB4ZDcsIDB4MTMsIDB4MTMsIDB4MTMsIDB4MTMsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MDAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MDIsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4YTUsIDB4ZGEsIDB4ZGYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIAotICAgIDB4MzQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTMsIDB4NzQsIDB4M2YsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDYsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4NDQsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4ZWYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIAotICAgIDB4YjMsIDB4OTEsIDB4MDcsIDB4N2EsIDB4YjEsIDB4MGEsIDB4NzUsIDB4MDksIDB4MDEsIDB4ZDIsIDB4YWEsIDB4ZDIsIDB4YWYsIDB4ZTQsIDB4N2UsIDB4NjAsIAotICAgIDB4MDIsIDB4NGQsIDB4MjIsIDB4NzgsIDB4MDMsIDB4N2UsIDB4NjAsIDB4MDMsIDB4N2MsIDB4NzYsIDB4N2UsIDB4MDQsIDB4MjgsIDB4MDAsIDB4OGQsIDB4ZWYsIAotICAgIDB4MWIsIDB4MDQsIDB4NzgsIDB4ZmEsIDB4MDQsIDB4N2UsIDB4MjAsIDB4MDcsIDB4N2EsIDB4MjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4MjMsIDB4OTEsIDB4MDcsIAotICAgIDB4N2UsIDB4MzEsIDB4MGEsIDB4YmMsIDB4MzIsIDB4NjgsIDB4MjIsIDB4N2EsIDB4MjEsIDB4MGEsIDB4N2UsIDB4MjEsIDB4MDksIDB4NjgsIDB4MTcsIDB4Y2EsIAotICAgIDB4YjgsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NDQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDcsIDB4ZGEsIDB4YjgsIDB4NzUsIDB4MDksIDB4MDAsIDB4MzAsIDB4ZTAsIDB4YzEsIDB4NmMsIDB4NjcsIDB4N2EsIDB4NjMsIDB4OTAsIDB4MDAsIDB4ODAsIAotICAgIDB4YjksIDB4YmUsIDB4YjAsIDB4MDIsIDB4MjIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4MDgsIDB4ZmUsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDIsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIAotICAgIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4MzAsIAotICAgIDB4ZTAsIDB4MDgsIDB4NzQsIDB4MTgsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDEsIDB4ODAsIDB4MDYsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDEsIAotICAgIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MzYsIDB4NzUsIDB4MDgsIDB4ZmYsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIAotICAgIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NTQsIAotICAgIDB4ZmMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MzIsIDB4Y2EsIDB4YjgsIDB4NzUsIDB4MDgsIDB4MDIsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIAotICAgIDB4OTEsIDB4MDMsIDB4MjAsIDB4ZTUsIDB4MDgsIDB4MzAsIDB4ZTAsIDB4MmIsIDB4MTIsIDB4MDIsIDB4OWUsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4OTEsIAotICAgIDB4MDQsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4MDIsIDB4MzksIDB4MzAsIDB4ZTEsIDB4MDUsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4MDEsIAotICAgIDB4ZjUsIDB4MzAsIDB4ZTYsIDB4MDUsIDB4MTIsIDB4MDQsIDB4MDMsIDB4ODAsIDB4ZDUsIDB4MzAsIDB4ZTIsIDB4MDUsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4MDAsIAotICAgIDB4ODAsIDB4ODAsIDB4Y2IsIDB4ZGEsIDB4YjgsIDB4MzIsIAotCi0vLyBTZWdtZW50ICMxNCwgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmMzFkNywgTGVuZ3RoIDEKLQotCi0vLyBTZWdtZW50ICMxNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDI5NiwgTGVuZ3RoIDIwOTAKLTB4ZmYsMHgwMCwweDk2LDB4MDIsMHgyYSwweDA4LAotICAgIDB4ZTQsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4MDIsIDB4MDMsIDB4NDEsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4M2IsIAotICAgIDB4Y2EsIDB4NGIsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmUsIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MWMsIDB4YjQsIDB4MDEsIDB4MTksIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIAotICAgIDB4NTQsIDB4MTQsIDB4NjgsIDB4MDUsIDB4MTIsIDB4MDMsIDB4MDUsIDB4ODAsIDB4MjMsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MzAsIDB4ZTUsIDB4MWMsIAotICAgIDB4MTIsIDB4MDQsIDB4NDMsIDB4ODAsIDB4MTcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MzAsIDB4ZTUsIDB4MDUsIDB4MTIsIDB4MDQsIDB4NDMsIDB4ODAsIAotICAgIDB4MGIsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NTQsIDB4MTQsIDB4NjgsIDB4MDMsIDB4MTIsIDB4MDMsIDB4MDUsIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIAotICAgIDB4ZGEsIDB4NmIsIDB4ZGEsIDB4NWIsIDB4ZGEsIDB4NGIsIDB4ZGEsIDB4M2IsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4MjAsIAotICAgIDB4ZTQsIDB4MTksIDB4NzUsIDB4MDgsIDB4MGEsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmQsIDB4NzAsIDB4MGEsIDB4N2UsIDB4YjMsIAotICAgIDB4MDEsIDB4MmUsIDB4YjQsIDB4MDEsIDB4MWYsIDB4MDIsIDB4MDMsIDB4OWQsIDB4MDIsIDB4MDksIDB4OGIsIDB4NzUsIDB4MDgsIDB4MGIsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4NzQsIDB4MTQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmUsIDB4YjQsIDB4MDIsIDB4MGMsIDB4MTIsIDB4MDMsIAotICAgIDB4NGQsIDB4MDIsIDB4MDMsIDB4NDEsIDB4NzQsIDB4MDQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIAotICAgIDB4MDEsIDB4MmUsIDB4N2EsIDB4MDMsIDB4MDEsIDB4MmYsIDB4MjIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjUsIDB4NTQsIDB4NjAsIDB4NjAsIDB4MDUsIDB4YjQsIAotICAgIDB4NDAsIDB4MWUsIDB4ODAsIDB4MWMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDUsIDB4MTUsIDB4NzUsIDB4MDgsIDB4NzEsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4N2UsIDB4YTAsIDB4MDEsIDB4N2EsIDB4YTMsIDB4OTEsIDB4MDYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIAotICAgIDB4MjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4MjIsIDB4YmUsIDB4NTcsIAotICAgIDB4MDEsIDB4MmIsIDB4MjgsIDB4MDQsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MmIsIDB4N2EsIDB4MGYsIDB4MDEsIDB4MzEsIDB4N2EsIDB4NTcsIDB4MDEsIDB4MzUsIAotICAgIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4MjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIAotICAgIDB4MWEsIDB4NzAsIDB4NTMsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjAsIDB4ZTQsIDB4NGMsIDB4N2UsIDB4ZWYsIDB4MDEsIDB4MzEsIDB4N2UsIDB4ZjcsIAotICAgIDB4MDEsIDB4MzUsIDB4N2UsIDB4MDcsIDB4MDEsIDB4MzUsIDB4NGQsIDB4MDAsIDB4NjgsIDB4MjEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4ZTAsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MTcsIDB4YTMsIDB4YTUsIDB4MDgsIDB4MWIsIDB4ZjQsIDB4NjgsIDB4MDYsIDB4YTUsIDB4YjgsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MTksIDB4N2UsIAotICAgIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmUsIDB4YmUsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MGQsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIAotICAgIDB4MDEsIDB4MmUsIDB4NzQsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWUsIDB4N2EsIDB4ZWYsIDB4MDEsIDB4MzEsIDB4N2EsIDB4ZjcsIDB4MDEsIDB4MzUsIAotICAgIDB4NzUsIDB4MDgsIDB4MDYsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4Y2EsIDB4MGIsIDB4Y2EsIAotICAgIDB4MWIsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4M2IsIDB4Y2EsIDB4NGIsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4NzUsIAotICAgIDB4MDgsIDB4MDMsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmQsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4MTIsIDB4MDQsIDB4YjIsIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4NmIsIAotICAgIDB4ZGEsIDB4NWIsIDB4ZGEsIDB4NGIsIDB4ZGEsIDB4M2IsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4NzUsIDB4MDgsIDB4MDMsIAotICAgIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmYsIDB4YjQsIDB4MDIsIDB4MTEsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmYsIAotICAgIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmUsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4YjQsIDB4MDEsIDB4NDYsIDB4N2UsIDB4YjMsIAotICAgIDB4OTEsIDB4MDQsIDB4MjAsIDB4ZTYsIDB4NDIsIDB4N2UsIDB4MjMsIDB4OTEsIDB4MWEsIDB4N2MsIDB4MzIsIDB4N2UsIDB4MTMsIDB4MDEsIDB4MzAsIDB4MmMsIAotICAgIDB4MjEsIDB4N2EsIDB4MjMsIDB4MDEsIDB4MzAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4MmUsIDB4MDQsIDB4MDEsIDB4MzcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTYsIAotICAgIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4YTUsIDB4ZGIsIDB4ZjQsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzUsIDB4MDgsIAotICAgIDB4NzAsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MzAsIDB4N2UsIDB4YTMsIDB4MDEsIDB4MmMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MDMsIAotICAgIDB4MTIsIDB4MDUsIDB4NTIsIDB4MjIsIDB4MDIsIDB4MDksIDB4OGIsIDB4ZGEsIDB4NTksIDB4MDIsIDB4MDQsIDB4MTUsIDB4NzQsIDB4ZTAsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MDAsIDB4N2UsIDB4MDMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4MTMsIDB4OTEsIDB4MTEsIDB4N2UsIDB4MzMsIDB4OTEsIDB4MTIsIDB4N2UsIDB4MjMsIAotICAgIDB4OTEsIDB4MTMsIDB4N2UsIDB4NTMsIDB4OTEsIDB4MTQsIDB4N2UsIDB4NDMsIDB4OTEsIDB4MTUsIDB4N2UsIDB4NzMsIDB4OTEsIDB4MTYsIDB4N2UsIDB4NjMsIAotICAgIDB4OTEsIDB4MTcsIDB4N2EsIDB4MGYsIDB4MDEsIDB4MjUsIDB4N2EsIDB4MWYsIDB4MDEsIDB4MjksIDB4NzUsIDB4MDgsIDB4MDQsIDB4MTIsIDB4MGEsIDB4YzAsIAotICAgIDB4N2EsIDB4MDEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MTEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MjEsIDB4MDgsIDB4MTIsIAotICAgIDB4MGEsIDB4YzAsIDB4N2EsIDB4MzEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4NDEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4NTEsIAotICAgIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4NjEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4NzEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4MTIsIDB4MDUsIDB4MjYsIDB4MjIsIAotICAgIDB4NmQsIDB4MDAsIDB4N2UsIDB4MTQsIDB4MDEsIDB4MDIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4MzUsIDB4N2EsIDB4MDMsIDB4MDEsIDB4MzAsIDB4N2UsIDB4YjMsIAotICAgIDB4MDEsIDB4MjUsIDB4MjAsIDB4ZTcsIDB4MGYsIDB4N2EsIDB4MjMsIDB4MDEsIDB4MmYsIDB4N2EsIDB4MzMsIDB4MDEsIDB4MmUsIDB4YmUsIDB4MDcsIDB4MDEsIAotICAgIDB4MmIsIDB4NjgsIDB4MDksIDB4MjIsIDB4N2EsIDB4MzMsIDB4MDEsIDB4MmYsIDB4N2EsIDB4MjMsIDB4MDEsIDB4MmUsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjUsIAotICAgIDB4NTQsIDB4ZTMsIDB4MjMsIDB4MjMsIDB4MzAsIDB4ZTAsIDB4MDIsIDB4ZDIsIDB4ZTUsIDB4MzAsIDB4ZTcsIDB4MDIsIDB4ZDIsIDB4ZTQsIDB4MzAsIDB4ZTUsIAotICAgIDB4MDYsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4MDIsIDB4MDksIDB4OGIsIDB4NTQsIDB4M2UsIDB4ZjUsIDB4ZjAsIDB4MDMsIDB4NTQsIDB4MWYsIDB4YzMsIDB4MjUsIAotICAgIDB4ZjAsIDB4OTAsIDB4MDUsIDB4N2UsIDB4NzUsIDB4ODQsIDB4ZmYsIDB4NzMsIDB4MDIsIDB4MDcsIDB4MzksIDB4MDIsIDB4MDUsIDB4YzYsIDB4MDIsIDB4MDcsIAotICAgIDB4ZDIsIDB4MDIsIDB4MDcsIDB4ZWQsIDB4MDIsIDB4MDYsIDB4ZDAsIDB4MDIsIDB4MDYsIDB4NWIsIDB4MDIsIDB4MDgsIDB4MWUsIDB4MDIsIDB4MDgsIDB4MWUsIAotICAgIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIAotICAgIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjcsIDB4MDIsIDB4MDgsIDB4ZjksIDB4MDIsIDB4MDgsIAotICAgIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIAotICAgIDB4YjQsIDB4MDYsIDB4MmEsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjcsIDB4NjAsIDB4NzksIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MDEsIDB4MjgsIDB4N2UsIAotICAgIDB4MTcsIDB4MDEsIDB4MjksIDB4NzUsIDB4MDgsIDB4NzIsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MDEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIAotICAgIDB4MTEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4MTIsIDB4MDksIDB4ZDAsIDB4NDAsIDB4NTgsIDB4MDIsIDB4MDMsIDB4ODQsIDB4YjQsIDB4MDgsIDB4MWMsIAotICAgIDB4NzUsIDB4MDgsIDB4NzQsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIAotICAgIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4ODQsIDB4YjQsIDB4MDAsIDB4MzMsIDB4NzUsIAotICAgIDB4MDgsIDB4NzUsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4N2UsIAotICAgIDB4YjMsIDB4M2YsIDB4ZjIsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4NzQsIDB4MDIsIDB4N2EsIDB4MGIsIDB4YjAsIDB4ODAsIDB4MDUsIDB4NzQsIDB4MDAsIDB4N2EsIAotICAgIDB4MGIsIDB4YjAsIDB4MGIsIDB4MTQsIDB4NzQsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDIsIDB4ZGEsIDB4MGIsIDB4MDIsIAotICAgIDB4MDMsIDB4ODQsIDB4MDIsIDB4MDksIDB4OGIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MWMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDAsIDB4NWYsIDB4NzUsIDB4MDgsIDB4NzYsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIAotICAgIDB4MDEsIDB4MmEsIDB4NTQsIDB4MGYsIDB4YjQsIDB4MDIsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NjAsIDB4ODAsIDB4MTcsIDB4YjQsIDB4MDAsIDB4MDUsIDB4N2UsIAotICAgIDB4YjAsIDB4MDAsIDB4ODAsIDB4MGYsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmEsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NDAsIDB4ODAsIDB4MDMsIAotICAgIDB4N2UsIDB4YjAsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTEsIDB4MzAsIDB4ZTAsIDB4MDQsIDB4NzQsIDB4MDEsIAotICAgIDB4ODAsIDB4MDIsIDB4NzQsIDB4MDAsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4N2EsIDB4MGIsIAotICAgIDB4YjAsIDB4MGIsIDB4MTQsIDB4NzQsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4NTQsIAotICAgIDB4MDAsIDB4MDIsIDB4ZGEsIDB4MGIsIDB4MDIsIDB4MDMsIDB4ODQsIDB4MDIsIDB4MDksIDB4OGIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmEsIDB4NTQsIDB4MGYsIAotICAgIDB4YjQsIDB4MDIsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NjAsIDB4ODAsIDB4MTcsIDB4YjQsIDB4MDAsIDB4MDUsIDB4N2UsIDB4YjAsIDB4MDAsIDB4ODAsIDB4MGYsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmEsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NDAsIDB4ODAsIDB4MDMsIDB4N2UsIDB4YjAsIDB4MjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4YjQsIDB4MDAsIDB4MjYsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDEsIAotICAgIDB4MGUsIDB4NzUsIDB4MDgsIDB4NzcsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4ODAsIDB4MWIsIDB4YjQsIAotICAgIDB4MDMsIDB4MGUsIDB4NzUsIDB4MDgsIDB4NzgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTEsIDB4ODAsIDB4MGEsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4MTIsIDB4MDksIDB4OGIsIDB4MjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIAotICAgIDB4MDIsIDB4MDMsIDB4NzcsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDksIDB4MWYsIDB4NzUsIDB4MDgsIDB4NzksIDB4MTIsIDB4MGEsIDB4YzAsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4YmUsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4NjgsIDB4MGQsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MDEsIDB4ZjEsIDB4ZGEsIAotICAgIDB4YjgsIDB4NTAsIDB4NzYsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4ODAsIDB4NmQsIDB4YjQsIDB4MDUsIDB4MDgsIDB4NzUsIDB4MDgsIDB4N2EsIDB4MTIsIAotICAgIDB4MGEsIDB4YzAsIDB4ODAsIDB4NjIsIDB4YjQsIDB4MDMsIDB4MTksIDB4NzUsIDB4MDgsIDB4N2IsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIAotICAgIDB4MjgsIDB4YjQsIDB4MDEsIDB4NTUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NDQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4NDYsIAotICAgIDB4YjQsIDB4MDEsIDB4MTksIDB4NzUsIDB4MDgsIDB4N2MsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4YjQsIDB4MDEsIDB4MzksIAotICAgIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NTQsIDB4ZmUsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4MmEsIDB4YjQsIDB4MDcsIDB4MmEsIDB4N2UsIAotICAgIDB4YjMsIDB4MDEsIDB4MjcsIDB4NjAsIDB4MjQsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MDEsIDB4MjgsIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjksIDB4NzUsIAotICAgIDB4MDgsIDB4NzMsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MDEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MTEsIDB4MDgsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4MTIsIDB4MGEsIDB4MGEsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4NzcsIDB4MDIsIDB4MDksIDB4OGIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIAotICAgIDB4YjQsIDB4MGIsIDB4ZjYsIDB4NzUsIDB4MDgsIDB4N2QsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4N2UsIDB4YTMsIDB4MDEsIAotICAgIDB4MmEsIDB4NGMsIDB4YWIsIDB4NzgsIDB4ZTQsIDB4ODAsIDB4ZGYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MGEsIDB4Y2YsIDB4NzUsIDB4MDgsIDB4N2UsIDB4MTIsIDB4MGEsIDB4YzAsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4NzAsIDB4YzMsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGIsIAotICAgIDB4YjAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4ODQsIDB4MDIsIDB4MDksIDB4OGIsIDB4MDIsIDB4MDksIDB4OGIsIDB4MDIsIDB4MDksIAotICAgIDB4OGIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDQsIDB4MjAsIDB4NzUsIDB4MDgsIDB4YzMsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjcsIDB4N2UsIDB4MTgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDcsIAotICAgIDB4MDEsIDB4MmIsIDB4MTIsIDB4MGEsIDB4Y2MsIDB4MDIsIDB4MDgsIDB4ZjMsIDB4YjQsIDB4MDYsIDB4NDIsIDB4NzUsIDB4MDgsIDB4YzEsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2QsIDB4Y2EsIDB4N2UsIDB4ZDcsIDB4MDEsIDB4MjcsIDB4N2UsIAotICAgIDB4NzgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzcsIDB4MDEsIDB4MmIsIDB4NzUsIDB4MDgsIDB4YzEsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4MTIsIDB4MGIsIDB4NjMsIDB4N2UsIAotICAgIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4NDAsIDB4NjUsIDB4ODAsIDB4NjAsIDB4YjQsIDB4MDAsIDB4MjQsIAotICAgIDB4YzIsIDB4YWYsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MjQsIDB4MTIsIDB4MDMsIDB4NzcsIAotICAgIDB4ZTQsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4ZDUsIDB4ZTAsIDB4ZjcsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MDIsIDB4ZmYsIDB4Y2EsIAotICAgIDB4MDYsIDB4MDAsIDB4MDAsIDB4MzIsIDB4YjQsIDB4MDksIDB4MjAsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4MjMsIDB4OTEsIAotICAgIDB4MDcsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MjcsIDB4NGQsIDB4NTUsIDB4NjgsIDB4MDUsIDB4NGUsIDB4MjAsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NWUsIDB4MjAsIAotICAgIDB4ZmQsIDB4N2EsIDB4MjMsIDB4OTEsIDB4MDcsIDB4ODAsIDB4MTYsIDB4YjQsIDB4MDcsIDB4MTYsIDB4YzIsIDB4YWYsIDB4N2UsIDB4MDcsIDB4MDEsIDB4MjksIAotICAgIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjcsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MTgsIDB4Y2EsIDB4MzgsIDB4Y2EsIDB4MjgsIDB4MzIsIDB4MDIsIDB4MDMsIDB4NzcsIAotICAgIDB4MDIsIDB4MDksIDB4OGIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIAotICAgIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDMsIDB4MTUsIDB4NzUsIDB4MDgsIDB4YzIsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIAotICAgIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjcsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MmIsIDB4MDIsIDB4MDMsIDB4ODQsIDB4YjQsIDB4MDUsIDB4NDEsIDB4NzUsIDB4MDgsIAotICAgIDB4YzAsIDB4MTIsIDB4MGEsIDB4YzAsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4N2UsIAotICAgIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4MjcsIDB4N2UsIAotICAgIDB4NDcsIDB4MDEsIDB4MmIsIDB4MTIsIDB4MGEsIDB4Y2MsIDB4N2UsIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIAotICAgIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MmIsIDB4MDIsIDB4MDMsIDB4ODQsIDB4YjQsIAotICAgIDB4MDEsIDB4MjAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2UsIDB4MTAsIDB4MDEsIDB4NzUsIDB4MDgsIDB4NzIsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MDEsIAotICAgIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MTEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4MTIsIDB4MDksIDB4ZDAsIDB4NDAsIDB4MDMsIDB4MDIsIAotICAgIDB4MDMsIDB4ODQsIDB4MDIsIDB4MDksIDB4OGIsIDB4NzUsIDB4MDgsIDB4MDcsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIAotICAgIDB4OTAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTUsIDB4NzQsIDB4MDEsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTEsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTUsIDB4NTQsIDB4NjAsIDB4YmUsIDB4YjAsIDB4NDAsIDB4NjgsIDB4MDgsIDB4NzQsIAotICAgIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTUsIDB4ODAsIDB4ZWQsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4NzQsIDB4MDQsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzQsIDB4ZmYsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmQsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIAotICAgIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4MTIsIDB4MGEsIDB4NTcsIDB4NDAsIDB4MWYsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIAotICAgIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4NDksIDB4MTIsIDB4MGEsIDB4Y2MsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MGIsIDB4N2UsIDB4NDMsIDB4MDEsIAotICAgIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4N2UsIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIAotICAgIDB4MDAsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4MTIsIAotICAgIDB4MGEsIDB4NTcsIDB4NDAsIDB4MzEsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2YsIDB4NjEsIDB4N2UsIDB4NzgsIAotICAgIDB4MDEsIDB4MzcsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzcsIDB4MDEsIDB4MmIsIDB4YmQsIDB4NzQsIDB4NzgsIDB4MTcsIDB4NzUsIDB4MDgsIAotICAgIDB4YzEsIDB4MTIsIDB4MGEsIDB4YzAsIDB4MTIsIDB4MGIsIDB4NjMsIDB4NDAsIDB4MGMsIDB4N2UsIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIAotICAgIDB4MDAsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4N2UsIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4ZDMsIAotICAgIDB4MjIsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzQsIDB4N2YsIDB4Y2EsIDB4MGIsIDB4MWEsIDB4NTAsIDB4YzUsIDB4ZjAsIDB4N2QsIDB4NjIsIAotICAgIDB4N2QsIDB4NzUsIDB4N2QsIDB4ODcsIDB4N2UsIDB4MzQsIDB4N2YsIDB4MDMsIDB4N2UsIDB4MWIsIDB4YjAsIDB4YmMsIDB4MGIsIDB4NTAsIDB4NDksIDB4M2UsIAotICAgIDB4MDAsIDB4M2UsIDB4MDAsIDB4MGEsIDB4NTAsIDB4MmQsIDB4NzUsIDB4MGIsIDB4M2EsIDB4MzAsIDB4NjksIDB4NTMsIDB4MDAsIDB4MDIsIDB4YmQsIDB4MzgsIAotICAgIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmMsIDB4MWIsIDB4NTAsIDB4MzAsIDB4M2UsIDB4MTAsIDB4M2UsIDB4MTAsIDB4MGEsIDB4NTEsIDB4MmQsIDB4MzUsIAotICAgIDB4NjksIDB4NDEsIDB4MDAsIDB4MDIsIDB4MGIsIDB4MWEsIDB4MzAsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmUsIDB4NDQsIDB4ZmYsIAotICAgIDB4ZmYsIDB4NzgsIDB4MDUsIDB4N2UsIDB4MWIsIDB4OTAsIDB4MGEsIDB4NDksIDB4NGQsIDB4NDQsIDB4NjgsIDB4MGMsIDB4YmUsIDB4NDQsIDB4MDAsIDB4ZmYsIAotICAgIDB4MjgsIDB4MDQsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIAotCi0vLyBTZWdtZW50ICMxNiwgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmN2MwMCwgTGVuZ3RoIDIyNwotCi0KLS8vIFNlZ21lbnQgIzE3LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmY3ZjAwLCBMZW5ndGggMTkyCi0KLQotLy8gU2VnbWVudCAjMTcsIFN0YXJ0IEFkZHJlc3MgMDBmZjdmYzAsIExlbmd0aCA2NAotMHhmZiwweDAwLDB4YzAsMHg3ZiwweDQwLDB4MDAsCi0gICAgMHg0MCwgMHgwMSwgMHgwMiwgMHgwMCwgMHhkNywgMHgzMSwgMHgwMiwgMHgwMCwgMHgwMywgMHgwMCwgMHgwMCwgMHg3YywgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmMSwgMHg3ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0KLS8vIFNlZ21lbnQgIzE4LCBTdGFydCBBZGRyZXNzIDAwZmYwYWMwLCBMZW5ndGggNDE2MwotMHhmZiwweDAwLDB4YzAsMHgwYSwweDQzLDB4MTAsCi0gICAgMHhjYSwgMHgwOCwgMHg3ZSwgMHgwMSwgMHgwOCwgMHg3YSwgMHgwMywgMHgzZiwgMHhmMCwgMHhkYSwgMHgwOCwgMHgyMiwgMHg4MCwgMHg1MCwgMHgwYiwgMHgxYSwgCi0gICAgMHg2MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg3MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg4MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg5MCwgCi0gICAgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhhMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhiMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhjMCwgMHgwYiwgCi0gICAgMHgzNSwgMHgwYiwgMHgxYSwgMHhkMCwgMHgwYiwgMHgzNSwgMHgxYiwgMHgwYSwgMHg2MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHg3MCwgMHgwYiwgMHgxNSwgCi0gICAgMHgxYiwgMHgwYSwgMHg4MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHg5MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhhMCwgMHgwYiwgMHgxNSwgMHgxYiwgCi0gICAgMHgwYSwgMHhiMCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhjMCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhkMCwgMHgwYiwgMHgxNSwgMHg5ZSwgMHg0NCwgCi0gICAgMHgwMCwgMHgxMCwgMHg1MCwgMHhhYSwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwZSwgMHg3ZSwgMHgxYiwgMHhjMCwgMHg3YSwgMHgwYiwgMHhjMCwgCi0gICAgMHgwYiwgMHgxNCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmMiwgMHgyMiwgMHg3ZiwgMHg2ZiwgMHg3ZiwgMHhmMCwgMHgxYiwgMHhmYywgMHg3YywgCi0gICAgMHg1NCwgMHg3ZCwgMHgzMiwgMHg4MCwgMHgwOCwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHg5ZSwgMHg0NCwgMHgwMCwgCi0gICAgMHgxMCwgMHg1MCwgMHhmMiwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwNiwgMHhjYSwgMHg0OCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmYSwgMHg3ZiwgCi0gICAgMHhmNiwgMHg4OSwgMHhlNCwgMHhjYSwgMHg2YiwgMHg1ZSwgMHhkNCwgMHgwMCwgMHgzZiwgMHg2OCwgMHgyMCwgMHg3ZSwgMHg4NCwgMHgwMCwgMHg0MCwgMHg5ZCwgCi0gICAgMHg4ZCwgMHhkYSwgMHg2YiwgMHhiZCwgMHg4NywgMHgzOCwgMHgxNiwgMHhjYSwgMHg3OSwgMHg3ZCwgMHg3OCwgMHgxMiwgMHgwYiwgMHg4ZCwgMHhkYSwgMHg3OSwgCi0gICAgMHg0MCwgMHgwOCwgMHg5ZCwgMHg3OCwgMHg2OCwgMHgwMiwgMHg4MCwgMHgwNSwgMHhjMiwgMHhkNywgMHgyMiwgMHhkYSwgMHg2YiwgMHg3ZSwgMHhjMCwgMHgwMywgCi0gICAgMHg3ZSwgMHhkMCwgMHgwMCwgMHg3YSwgMHhkMywgMHg5MCwgMHgwMCwgMHg3NCwgMHhhYSwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3NCwgMHg1NSwgMHgzOSwgCi0gICAgMHhiNSwgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHg0MCwgMHg5ZCwgMHg3MCwgMHg1MCwgCi0gICAgMHgwNiwgMHgyZCwgMHg3MCwgMHg3ZCwgMHgwNywgMHg2ZCwgMHg3NywgMHg3YywgMHgzMSwgMHg3ZSwgMHg3YiwgMHgwMCwgMHg3YSwgMHg2YiwgMHgwMCwgMHgwYiwgCi0gICAgMHg3YywgMHgwYiwgMHg2YywgMHhhNSwgMHhkOSwgMHhmMywgMHg3ZiwgMHgxNiwgMHgxYiwgMHgxYywgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgMHg3ZSwgMHgxYiwgCi0gICAgMHgxMCwgMHhiYywgMHgxMCwgMHg2OCwgMHgwNiwgMHgxYiwgMHg1NCwgMHg3OCwgMHhmNSwgMHg4MCwgMHgyZiwgMHg2ZCwgMHgwMCwgMHg3YywgMHgyMCwgMHg3ZiwgCi0gICAgMHgxNiwgMHg5ZiwgMHgxMCwgMHg3ZiwgMHgyNywgMHg5ZiwgMHgyMCwgMHg3ZSwgMHgyYiwgMHgwMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgwMSwgMHg3OCwgCi0gICAgMHgxOSwgMHgwYiwgMHgyYywgMHgwYiwgMHgxYywgMHhhNSwgMHhkYiwgMHhlZiwgMHg3YywgMHhiNiwgMHgyMCwgMHhlMCwgMHgwNiwgMHg2YywgMHhkYywgMHg3YSwgCi0gICAgMHhkMywgMHg5MCwgMHgwMCwgMHg0ZCwgMHg3NywgMHg3OCwgMHg5MCwgMHhjMiwgMHhkNywgMHgyMiwgMHhkMiwgMHhkNywgMHgyMiwgMHgwMCwgMHgwNCwgMHgwMCwgCi0gICAgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgwNCwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwOCwgMHgxMCwgMHgwMiwgMHgxMCwgCi0gICAgMHgwNCwgMHgwMiwgMHgwOCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwOCwgMHg3ZSwgMHgxOCwgMHg3ZiwgMHhiZCwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgwYiwgCi0gICAgMHgxYSwgMHgwMCwgMHg1ZSwgMHgxMCwgMHgxZiwgMHhiZSwgMHgxMCwgMHgxNCwgMHgzOCwgMHgxYSwgMHgwYSwgMHg1MSwgMHgyMywgMHg3ZSwgMHgxOCwgMHgwYywgCi0gICAgMHgwZCwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgyZCwgMHgzNSwgMHgwYiwgMHgxYSwgMHg1MCwgMHg2MCwgMHgwOCwgMHhhNSwgMHhiOCwgMHgwMiwgMHgwMywgCi0gICAgMHg0ZSwgMHhhMCwgMHgwOCwgMHgyMiwgMHg4MCwgMHhmZSwgMHg3ZSwgMHhlOCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHhlYywgMHgwMCwgMHhmZiwgMHhlMCwgMHhmNSwgCi0gICAgMHgyMywgMHg1NCwgMHhjMCwgMHg2OCwgMHgzOCwgMHg3ZSwgMHhlOCwgMHg3ZiwgMHhiZSwgMHg3YSwgMHhlYywgMHgwMCwgMHhmZiwgMHhlMCwgMHg2MCwgMHgyZSwgCi0gICAgMHgxMiwgMHgwYywgMHgzNywgMHhmNSwgMHgyMSwgMHg3YSwgMHhhMSwgMHgyMCwgMHgyMCwgMHgwOSwgMHgwYywgMHgyMCwgMHgwYSwgMHgxMiwgMHg3ZSwgMHhiMCwgCi0gICAgMHgwZSwgMHg3YSwgMHhiMywgMHg5MiwgMHgwMCwgMHg4MCwgMHgxMCwgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MiwgMHgwMCwgMHg4MCwgMHgwNywgCi0gICAgMHg3ZSwgMHhiMCwgMHgwYSwgMHg3YSwgMHhiMywgMHg5MiwgMHgwMCwgMHg3YSwgMHhiMSwgMHgwZCwgMHgwMiwgMHgwYywgMHhjNCwgMHgyMiwgMHg3ZSwgMHhiMCwgCi0gICAgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgCi0gICAgMHgxOSwgMHgwYywgMHg4MCwgMHhlYSwgMHhjMiwgMHhhZiwgMHhjMiwgMHgxMSwgMHhjMiwgMHgxMiwgMHg3NSwgMHhiMCwgMHhkZiwgMHg3ZSwgMHgwMCwgMHgwMSwgCi0gICAgMHg3YSwgMHgwMywgMHg5MywgMHgwMCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5MCwgMHgwMCwgMHg2YywgMHgwMCwgMHg3ZSwgMHgxMCwgMHgwMywgCi0gICAgMHgxMiwgMHgwYywgMHhmNSwgMHg3ZSwgMHg2OCwgMHgyYywgMHg2NiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgCi0gICAgMHg4MCwgMHgzMiwgMHgwMiwgMHgxYSwgMHg2ZSwgMHgyMCwgMHgxMSwgMHgyYiwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgCi0gICAgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgCi0gICAgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHhhNSwgMHhkOSwgMHhkYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHgyMiwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmOSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgCi0gICAgMHhlNCwgMHgxMCwgMHgwMCwgMHg3ZSwgMHg0MCwgMHg1NSwgMHg3YSwgMHhlOSwgMHg0MCwgMHgwYiwgMHhlNCwgMHg3ZSwgMHg1MCwgMHhhYSwgMHg3YSwgMHhlOSwgCi0gICAgMHg1MCwgMHgxYiwgMHhlNCwgMHhiZSwgMHhlOSwgMHg0MCwgMHg2OCwgMHgxOSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgxMywgMHg3YSwgMHhlOSwgMHg0MCwgMHg3ZSwgMHhlOSwgMHgxMCwgMHg4MCwgCi0gICAgMHhmOCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyZCwgMHgzZCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3MCwgMHgwZSwgCi0gICAgMHg3ZSwgMHhhNCwgMHhmZiwgMHhmZiwgMHg3ZSwgMHhiNCwgMHhiZiwgMHhmZiwgMHg3ZCwgMHhjYiwgMHgwZSwgMHhjNCwgMHg3ZCwgMHhkYywgMHg1ZCwgMHhkYiwgCi0gICAgMHg2YywgMHhiYiwgMHg3ZCwgMHhmYSwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYiwgMHg1ZSwgCi0gICAgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYywgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgCi0gICAgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg2YywgMHhiYiwgMHg3ZCwgMHhmYSwgCi0gICAgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHg0MSwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYiwgMHg1ZSwgMHhmNCwgMHg3ZiwgCi0gICAgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHgzNCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYywgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgCi0gICAgMHhiMCwgMHg3OCwgMHgyNywgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHgxYSwgCi0gICAgMHgwYiwgMHhiMCwgMHhiZSwgMHhjNCwgMHhmZiwgMHhmZSwgMHg3OCwgMHg5MiwgMHgwZSwgMHhiNCwgMHhhNSwgMHhkZiwgMHg4YiwgMHg3ZSwgMHg2OCwgMHgyYywgCi0gICAgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHg3NywgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgyZCwgMHg4ZiwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYSwgMHg0NywgMHgxMiwgMHgxOSwgMHhmYSwgMHg3ZSwgMHg2OCwgMHgyZCwgMHhkZSwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg2YywgMHg3NywgMHhkYSwgMHg2YiwgMHhjYSwgMHg2YiwgMHgwYiwgMHg3MCwgMHgwZSwgMHhjNCwgMHhiZSwgMHhjNCwgCi0gICAgMHhmZiwgMHhmZiwgMHg3OCwgMHhmNiwgMHgxYiwgMHg3MCwgMHgwYSwgMHg0NywgMHgxMiwgMHgxOSwgMHhmYSwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgCi0gICAgMHgzMCwgMHhkYSwgMHg2YiwgMHhkYSwgMHg1YiwgMHg2YywgMHhiYiwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3ZCwgMHhmYSwgMHg1ZSwgMHhmNCwgMHg3ZiwgCi0gICAgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgMHhmYiwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgMHhmYywgMHg1ZSwgCi0gICAgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg4MCwgCi0gICAgMHhkNCwgMHg3ZSwgMHg2OCwgMHgyZCwgMHgxYiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgzMCwgMHgxZiwgMHgwZSwgMHg3ZSwgCi0gICAgMHg3OCwgMHgwNCwgMHgyMCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NCwgMHg3YiwgMHhlMCwgMHg4MCwgMHgwYywgMHg3ZSwgMHg3OCwgMHgwMCwgCi0gICAgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg0NCwgMHg4MCwgMHgwMCwgMHgwYiwgMHgwMCwgMHg3ZSwgMHg0MCwgMHgzYSwgMHg3YywgMHg1NCwgCi0gICAgMHg3ZiwgMHg1NywgMHg3ZCwgMHg4NCwgMHg2YywgMHg2NiwgMHg3YSwgMHg1YiwgMHg1MCwgMHgwYiwgMHg1YywgMHgwYiwgMHg1MCwgMHhhNSwgMHhkZSwgMHgwMiwgCi0gICAgMHgwYiwgMHg1MCwgMHgxYiwgMHg4NCwgMHg3OCwgMHhmMCwgMHg3YywgMHg1NCwgMHg3ZiwgMHg1NywgMHg3ZCwgMHg4NCwgMHg2YywgMHg2NiwgMHhiZSwgMHg1YiwgCi0gICAgMHg1MCwgMHg3OCwgMHgxYSwgMHgwYiwgMHg1YywgMHgwYiwgMHg1MCwgMHhhNSwgMHhkZSwgMHgwMiwgMHgwYiwgMHg1MCwgMHgxYiwgMHg4NCwgMHg3OCwgMHhlZSwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHg0YiwgMHg3ZiwgMHg0NSwgMHg3ZSwgCi0gICAgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgyZCwgMHg1ZiwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZCwgMHg0YiwgMHgxMiwgMHgxOSwgMHhmYSwgMHg3ZSwgMHg2OCwgMHgyZCwgMHg3NCwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg2YywgMHg4OCwgMHg3YywgMHg5NSwgMHgxMiwgMHgxOSwgMHhmYSwgMHg3ZSwgMHg2OCwgMHgyZCwgMHg4MiwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg0YiwgMHg5MCwgMHgxMiwgMHgxOSwgMHhmYSwgMHgxMiwgMHgxOSwgMHgxOSwgCi0gICAgMHgzMCwgMHgxMSwgMHgwNSwgMHg3ZSwgMHg0YiwgMHg5MCwgMHg4MCwgMHhmYiwgMHg3ZSwgMHg2OCwgMHgyZSwgMHgyOCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhiMCwgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHg3YSwgCi0gICAgMHhhMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMCwgMHhiYywgMHhhYiwgMHg3OCwgMHgyMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhhYSwgMHg3YSwgMHhhMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMCwgMHhiYywgMHhhYiwgCi0gICAgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgxYiwgMHg3ZSwgCi0gICAgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwYSwgCi0gICAgMHg3YSwgMHhhMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMCwgMHg4MCwgMHhmNiwgMHg3ZSwgMHg2OCwgMHgyZSwgMHg0YSwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxMiwgMHgzMSwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhlNCwgMHgxMCwgMHgwMCwgMHg3ZSwgMHhhMCwgCi0gICAgMHhhNSwgMHhjYSwgMHhhOCwgMHg3YSwgMHhlOSwgMHhhMCwgMHg3ZSwgMHhiMCwgMHgzMCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHg3ZSwgMHhlOSwgMHhhMCwgCi0gICAgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgwYiwgMHhlNSwgMHg3ZSwgMHhiMCwgMHgyMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5NSwgMHgwMCwgMHg3ZSwgMHhlOSwgMHhiMCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHg3ZSwgMHhlOSwgMHhiMCwgCi0gICAgMHhkYSwgMHhhOCwgMHhiYywgMHhhYiwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgCi0gICAgMHhjNCwgMHg4MCwgMHgxZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgCi0gICAgMHgxOSwgMHgzMCwgMHgxMSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgzOCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHg3ZSwgMHhlOSwgMHhiMCwgMHg4MCwgMHhmYiwgCi0gICAgMHg4MCwgMHgwMCwgMHg3ZSwgMHg2OCwgMHgyZCwgMHhlNCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgMHg3NSwgCi0gICAgMHhiMCwgMHhkZiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHhiZSwgMHhiMCwgMHgwMSwgMHg3OCwgMHgwYiwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxNCwgMHhiZSwgMHhiMCwgMHg2MCwgMHg3OCwgMHgwMiwgMHg4MCwgMHgxNywgMHg3ZSwgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgxMSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHg4MCwgCi0gICAgMHhmYSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgyZSwgMHgwNiwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgMHg3NSwgMHhiMCwgMHhlZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxYywgMHg3ZSwgMHhiMCwgMHgwMSwgMHgxOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgwOCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgMHg3OCwgMHgzNywgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHg1ZSwgMHhiMCwgMHhjMCwgCi0gICAgMHhiZSwgMHhiMCwgMHhjMCwgMHg3OCwgMHgyYiwgMHg3ZSwgMHhhMCwgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxYywgMHg2YywgMHhiYiwgMHgxOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgwOCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgMHg3OCwgMHgxNiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHg1ZSwgMHhiMCwgCi0gICAgMHhjMCwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgxYiwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgCi0gICAgMHgwYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxYywgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHg4MCwgMHhmNiwgMHg3ZSwgMHg2OCwgMHgyZSwgMHg2YywgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgyZSwgMHhlZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgCi0gICAgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHg3ZSwgMHhiMCwgMHgwMSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxYywgMHgyZSwgCi0gICAgMHgyNCwgMHgwMSwgMHgwMCwgMHgwYiwgMHhiMCwgMHhhNSwgMHhkOSwgMHhmMywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHg3ZSwgCi0gICAgMHhiMCwgMHgwMSwgMHgwYiwgMHgwMCwgMHgwOSwgMHhhMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgMHg3OCwgMHgxNiwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHgwYiwgMHhiMCwgMHhhNSwgMHhkOSwgMHhlMiwgCi0gICAgMHg4MCwgMHgyNSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgCi0gICAgMHgzMCwgMHgxMSwgMHhlNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwOSwgMHhhMiwgMHgwMCwgMHgxYywgMHgyZSwgMHgyNCwgCi0gICAgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhmNSwgMHg4MCwgMHhlYywgMHg3ZSwgMHg2OCwgMHgyZiwgMHgxMiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxOSwgMHhjNCwgMHgxMiwgMHgxMiwgMHgzMSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg3NCwgMHgxMCwgCi0gICAgMHgxOSwgMHhiMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxMSwgMHhhYSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlZSwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyZiwgMHgzNiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgCi0gICAgMHgwYiwgMHgwMCwgMHhlNCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxMSwgMHhhYSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgCi0gICAgMHhlZiwgMHgzMCwgMHgwMCwgMHgwMywgMHgwMiwgMHgxNywgMHgzYiwgMHgwMiwgMHgxMiwgMHg2YSwgMHg3NCwgMHgwNywgMHgxOSwgMHhiMiwgMHgwMCwgMHgwOCwgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxNCwgMHhjMiwgMHgxMywgMHg3ZSwgMHhiMCwgMHg1NSwgMHgxMiwgMHgxMiwgMHgwYiwgMHg3ZSwgMHhiMCwgMHhhYSwgMHgxMiwgMHgxMiwgCi0gICAgMHgwYiwgMHg3ZSwgMHhiMCwgMHgwMCwgMHgxMiwgMHgxMiwgMHgwYiwgMHg3ZSwgMHhiMCwgMHhmZiwgMHgxMiwgMHgxMiwgMHgwYiwgMHgzMCwgMHgxMywgMHgwZiwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgyMiwgMHg3ZSwgCi0gICAgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyMiwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgwOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHhiYywgMHhhYiwgMHg3OCwgMHgwMSwgMHgyMiwgMHgyMCwgMHgxMSwgMHgwMywgMHhkMiwgMHgxMywgCi0gICAgMHgyMiwgMHgxMiwgMHgxOSwgMHgxOSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHg4MCwgCi0gICAgMHhmMywgMHg3NSwgMHhiMCwgMHhkZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3NSwgMHhiMCwgMHhlZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3ZSwgMHgyNCwgMHg4MCwgCi0gICAgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHg3NCwgMHg4MCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwYywgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgwNCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgxOSwgMHhiMiwgMHgwMCwgMHgwYywgMHg3NCwgMHgwNiwgMHgxOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgwOCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhkYiwgMHgyMiwgMHg3ZSwgMHg2OCwgMHgyZiwgMHg1YSwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgxMiwgMHgxOCwgCi0gICAgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgxYSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgCi0gICAgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwOSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg4MCwgMHhmNywgMHgyZSwgCi0gICAgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhiNiwgMHg3ZSwgMHg2OCwgMHgyZiwgMHg3ZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgCi0gICAgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgxOCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHgwYSwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgCi0gICAgMHgxYSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgCi0gICAgMHgxMSwgMHgwOSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg4MCwgMHhmNywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgCi0gICAgMHhkOSwgMHhiNiwgMHgzMCwgMHgwNCwgMHgwMywgMHgwMiwgMHgxNSwgMHg5ZiwgMHg3ZSwgMHg2OCwgMHgyZiwgMHhhMiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwYSwgCi0gICAgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgCi0gICAgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwYSwgMHg3OCwgMHgxNCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhlNiwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyZiwgMHhlYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgCi0gICAgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMiwgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgxNCwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgCi0gICAgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgCi0gICAgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgzMCwgMHgzMiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg1MCwgMHhiZSwgMHhiMCwgMHg1MCwgMHg3OCwgMHgxZiwgMHg2YywgMHhhYSwgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg1MCwgMHg3OCwgMHgwZCwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgCi0gICAgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwZiwgMHg3ZSwgMHhhMCwgCi0gICAgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgCi0gICAgMHgwMCwgMHhhNSwgMHhkOSwgMHhhMiwgMHg3ZSwgMHg2OCwgMHgzMCwgMHg3YSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHhhMCwgMHhiZSwgMHhiMCwgMHhhMCwgCi0gICAgMHg3OCwgMHgxZiwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHhhMCwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgCi0gICAgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgCi0gICAgMHgxMSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgCi0gICAgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHg3ZSwgMHg2OCwgMHgzMCwgMHg5ZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgyMCwgMHhiMSwgMHgyNiwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgzMCwgMHhiMSwgMHgxOSwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgyMCwgMHhiMSwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgCi0gICAgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhhZSwgMHgwMiwgMHgxNywgMHgzYiwgMHg3ZSwgCi0gICAgMHg2OCwgMHgyZiwgMHhjNiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgCi0gICAgMHgyMSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNiwgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgCi0gICAgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNiwgMHg3OCwgCi0gICAgMHgxNCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgCi0gICAgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgCi0gICAgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgzMCwgMHgwZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgCi0gICAgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwOSwgMHg3OCwgMHgzYywgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwOSwgMHg3OCwgMHgxNCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgzMCwgMHg1NiwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg5MCwgCi0gICAgMHhiZSwgMHhiMCwgMHg5MCwgMHg3OCwgMHgxZiwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg5MCwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxOSwgMHhjNCwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgCi0gICAgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhhMiwgMHgyMCwgMHgxZiwgMHg2OCwgMHgxMiwgMHgxMiwgCi0gICAgMHgzMSwgMHgxMiwgMHgxNywgMHhhOSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgyMCwgMHg4OSwgMHgyNiwgCi0gICAgMHg3ZSwgMHhhMCwgMHhmZiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3ZSwgMHhiMCwgMHg1NSwgMHgxOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgzMCwgMHg4OSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOCwgCi0gICAgMHhmZiwgMHgyMCwgMHg4OSwgMHgwMiwgMHg4MCwgMHgyNiwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgyMCwgMHg3ZSwgMHhhMCwgMHhmZiwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3ZSwgMHhiMCwgMHg1NSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg4MCwgMHhlMCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgCi0gICAgMHhhNSwgMHhkOSwgMHhhOCwgMHgwMiwgMHgxNywgMHhjMiwgMHgwMiwgMHgxOCwgMHg0YywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwOCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgCi0gICAgMHhlZiwgMHgyMiwgMHgzMCwgMHgxZiwgMHgwMywgMHgwMiwgMHgxOCwgMHg0YywgMHhjMiwgMHg4YSwgMHgxMiwgMHgxNywgMHhhOSwgMHgwYiwgMHgwMCwgMHgxMiwgCi0gICAgMHgxOCwgMHgxNiwgMHgyMCwgMHg4YiwgMHgyNCwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgwNywgMHg3NCwgMHgwYywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgxMiwgMHgxOSwgMHgwYywgCi0gICAgMHgzMCwgMHg4YiwgMHgwNiwgMHgxMiwgMHgxOCwgMHgxNiwgMHgzMCwgMHg4YiwgMHhhZCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhhNywgMHgxMiwgCi0gICAgMHgxOCwgMHgxNiwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgxMiwgMHgxOSwgCi0gICAgMHgwYywgMHgxMiwgMHgxOCwgMHgxNiwgMHg4MCwgMHhlOSwgMHg3ZSwgMHhhMCwgMHgwMCwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3YSwgCi0gICAgMHhhMywgMHg5MSwgMHgwNywgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3YSwgMHhhMywgMHg5MSwgMHgwNywgMHgxMiwgMHgxOCwgMHhmZiwgCi0gICAgMHg3NCwgMHhlZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHg3NCwgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMywgMHg3NCwgMHgwYywgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgwNiwgMHg3NCwgMHgwOCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgxMiwgMHgxOSwgMHgwYywgMHgyMiwgMHgzMCwgMHgxMiwgMHgxOSwgMHg3ZSwgCi0gICAgMHg2OCwgMHgzMCwgMHhjMiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHhkMiwgMHgxMSwgMHgxMiwgMHgxOCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwMiwgMHgwYywgMHhjYSwgMHgzMCwgMHgxZiwgMHgxYywgMHg3ZSwgMHg2OCwgMHgzMSwgMHgzYywgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgzMSwgMHg1ZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgCi0gICAgMHhjNCwgMHgxMiwgMHgxYSwgMHg2ZSwgMHgwMiwgMHgxOCwgMHhmNywgMHgwYiwgMHgwMCwgMHg3ZSwgMHg3OCwgMHgxOCwgMHhiMSwgMHg3YSwgMHg3YywgMHgwMCwgCi0gICAgMHhmZiwgMHg3ZiwgMHg2NywgMHg3YSwgMHg2YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3MCwgMHgzZSwgMHg3ZSwgMHg3YiwgMHhiMCwgMHg3YSwgMHg2YiwgMHhiMCwgCi0gICAgMHgwYiwgMHg3YywgMHgwYiwgMHg2YywgMHhhNSwgMHhkZiwgMHhmMywgMHg3ZSwgMHg3OCwgMHgxOCwgMHhiMSwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg4OSwgCi0gICAgMHg3OCwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZSwgMHg3ZSwgMHg2OCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHhmZSwgMHg3NCwgMHhhYSwgMHgzOSwgMHhiNywgMHg1NSwgMHg1NSwgMHg3NCwgMHg1NSwgMHgzOSwgMHhiNywgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgMHgzOSwgCi0gICAgMHhiNywgMHg1NSwgMHg1NSwgMHg2YywgMHg5OSwgMHg3YSwgMHg2YiwgMHg5MCwgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgMHg3ZSwgMHg2YiwgMHg4MCwgMHhiYywgCi0gICAgMHg4OSwgMHg2OCwgMHgwOCwgMHgxYiwgMHg1NCwgMHg3OCwgMHhmNSwgMHg4YSwgMHhmZiwgMHgxOCwgMHhlZiwgMHg4YSwgMHhmZiwgMHgxOCwgMHhmNywgMHgxMiwgCi0gICAgMHgxOSwgMHgxOSwgMHg3ZSwgMHg2YiwgMHg4MCwgMHg4MCwgMHhmYiwgMHg3ZSwgMHgxMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhhYywgMHg4MCwgMHhmOCwgMHhjYSwgCi0gICAgMHhmOSwgMHg3ZSwgMHhmNCwgMHgwMCwgMHhmZiwgMHgxYiwgMHhmNCwgMHg3OCwgMHhmYywgMHhkYSwgMHhmOSwgMHgyMiwgMHhjYSwgMHhmOSwgMHg3ZSwgMHhmNCwgCi0gICAgMHgwMCwgMHgwMCwgMHgxYiwgMHhmNCwgMHg3OCwgMHhmYywgMHhkYSwgMHhmOSwgMHgyMiwgMHgyMCwgMHgxMSwgMHgyMCwgMHhkMiwgMHgxMiwgMHgxMiwgMHgxOSwgCi0gICAgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgCi0gICAgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgyMiwgMHhjYSwgMHgwYiwgMHg3ZSwgMHgxMCwgCi0gICAgMHgwMywgMHg3YywgMHgzMCwgMHg2YywgMHgyMiwgMHgwYiwgMHgyMCwgMHg5ZSwgMHgzMCwgMHgwYSwgMHg1MCwgMHhmOSwgMHgyZSwgMHgzMCwgMHgwYiwgMHgxYiwgCi0gICAgMHgyMCwgMHg2OCwgMHgyMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgCi0gICAgMHhhNSwgMHhkYSwgMHhlMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHgxYiwgMHgzMCwgMHg2OCwgMHgyMCwgMHgxMiwgMHgxOSwgMHgwYywgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHhhNSwgMHhkYiwgMHhlMCwgMHg3ZSwgMHgyMCwgMHgwYSwgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHhhNSwgMHhkYSwgMHhmYSwgMHhhNSwgMHhkOSwgMHg5OCwgMHhkYSwgMHgwYiwgMHgyMiwgMHgyMCwgMHgxMSwgMHgxNCwgMHgxMiwgCi0gICAgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MCwgMHgwMCwgMHgyMiwgMHgzMCwgMHgxZiwgMHgzMiwgMHgyMCwgMHgxMSwgMHgyZiwgMHhjYSwgMHgyYiwgMHhjYSwgMHg3YiwgMHg3ZSwgMHg3OCwgCi0gICAgMHg4MCwgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZSwgMHgxMiwgMHgxYSwgMHg0ZCwgMHg3ZSwgMHg2YiwgMHhhMCwgMHg1YywgMHhhYSwgMHg2OCwgMHgxMCwgCi0gICAgMHgyOSwgMHhiNywgMHgwMCwgMHgxNCwgMHg1NCwgMHg2MCwgMHg2OCwgMHhmOCwgMHgzOSwgMHhhNywgMHgwMCwgMHgwMCwgMHgwYiwgMHg2YywgMHg4MCwgMHhlOSwgCi0gICAgMHgxMiwgMHgxOCwgMHhmZiwgMHhkMiwgMHhiNSwgMHhkYSwgMHg3YiwgMHhkYSwgMHgyYiwgMHgyMiwgMHgxMiwgMHgxYSwgMHgwNSwgMHg3ZSwgMHg2OCwgMHgwMCwgCi0gICAgMHgwYywgMHgxMiwgMHgxOSwgMHhjNCwgMHgyMiwgMHhjYSwgMHg1OSwgMHhjYSwgMHg1YiwgMHg3ZSwgMHhiNCwgMHgwMCwgMHgwYywgMHg3YywgMHhiOCwgMHhjNCwgCi0gICAgMHgxMiwgMHgxYSwgMHgzNSwgMHg3YywgMHhiOCwgMHgxMiwgMHgxYSwgMHgzNSwgMHg3YywgMHhiOSwgMHhjNCwgMHgxMiwgMHgxYSwgMHgzNSwgMHg3YywgMHhiOSwgCi0gICAgMHgxMiwgMHgxYSwgMHgzNSwgMHg3ZSwgMHhiMCwgMHg2OCwgMHg3YSwgMHhiOSwgMHhiMCwgMHgwYiwgMHhiNCwgMHg2YywgMHhiYiwgMHg3YSwgMHhiOSwgMHhiMCwgCi0gICAgMHhkYSwgMHg1OSwgMHhkYSwgMHg1YiwgMHgyMiwgMHg1ZSwgMHhiMCwgMHgwZiwgMHg3YywgMHhhYiwgMHg5ZSwgMHhhMCwgMHgwYSwgMHg0MCwgMHgwNSwgMHgyZSwgCi0gICAgMHhiMCwgMHgzNywgMHg4MCwgMHgwMywgMHgyZSwgMHhiMCwgMHgzMCwgMHg3YSwgMHhiOSwgMHhiMCwgMHgwYiwgMHhiNCwgMHgyMiwgMHhjMiwgMHhiNSwgMHg3NSwgCi0gICAgMHhiMCwgMHhlZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3NCwgMHg4MCwgMHgzOSwgMHhiNywgMHgwMCwgMHgwYywgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwNiwgMHgzOSwgCi0gICAgMHhhNywgMHgwMCwgMHgwNCwgMHgzOSwgMHhiNywgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgzOSwgMHhiNywgMHgwMCwgMHgwYywgMHgyMiwgMHg3ZSwgMHg3OCwgCi0gICAgMHgwMCwgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZiwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHgwMSwgMHg3ZiwgMHg2NSwgCi0gICAgMHg3ZSwgMHg3NCwgMHgyMCwgMHgwMCwgMHgxMiwgMHgwYiwgMHg2MywgMHg0MCwgMHg1OCwgMHg3ZSwgMHg3OCwgMHg3YywgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgCi0gICAgMHhmZiwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg2OCwgMHg3YywgMHgwMCwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHgwMSwgMHg3ZSwgMHg3NCwgMHgwNCwgMHgwMCwgMHgxMiwgMHgwYiwgMHg2MywgMHg0MCwgMHgzNywgMHg3NCwgMHg4MCwgMHgxMiwgMHgxYSwgMHhlYSwgMHg0MCwgCi0gICAgMHgzMCwgMHg3ZSwgMHgwMCwgMHgwMywgMHg3YSwgMHgwMywgMHg5MCwgMHgwMCwgMHhkMiwgMHgxMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwOCwgMHg3ZSwgMHgxNCwgCi0gICAgMHgwMCwgMHgwMCwgMHg4NCwgMHhhNSwgMHhkYiwgMHhmYywgMHhhNSwgMHhkYSwgMHhmOSwgMHhhNSwgMHhkOSwgMHhmNiwgMHg3NCwgMHg0MCwgMHgxMiwgMHgxYSwgCi0gICAgMHhlYSwgMHg0MCwgMHgwZSwgMHg3ZSwgMHg2OCwgMHgzMSwgMHg4ZCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwMiwgMHgxOCwgCi0gICAgMHhmNywgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHg4MCwgMHhmZSwgMHhmNSwgMHgwYiwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwYiwgCi0gICAgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg2OCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHg2YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg3NCwgMHgwMCwgMHgwMSwgCi0gICAgMHgwMiwgMHgwYiwgMHg2MywgCi0KLS8vIFNlZ21lbnQgIzE5LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmYyYzY2LCBMZW5ndGggMTM5MwotCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIElNQUdFX1ZFUlNJT05fTkFNRSA9IHsKLQkyLCAwLCAzIH07CQkvLyBNYWpvciwgTWlub3IsIEJ1aWxkCi0KLSN1bmRlZiBJTUFHRV9WRVJTSU9OX05BTUUKLQotI3VuZGVmIElNQUdFX0FSUkFZX05BTUUKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24uaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhNjFkODAuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24uaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMjkgKzAsMCBAQAotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCi0vLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2Ci0vLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0vLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotCi0vL0ltYWdlIHN0cnVjdHVyZSBkZWZpbml0aW9uCi0jaWYgIWRlZmluZWQoREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRCkKLQkjZGVmaW5lIERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgewotCQlfX2xlMTYgRXh0QWRkcjsKLQkJX19sZTE2IEFkZHI7Ci0JCV9fbGUxNiBMZW47Ci0JCXVuc2lnbmVkIGNoYXIJRGF0YVswXTsKLQl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyB7Ci0JCXVuc2lnbmVkIGNoYXIJTWFqb3JWZXJzaW9uOwotCQl1bnNpZ25lZCBjaGFyCU1pbm9yVmVyc2lvbjsKLQkJdW5zaWduZWQgc2hvcnQJQnVpbGROdW1iZXI7Ci0JfTsKLQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChJTUFHRV9BUlJBWV9OQU1FKQotCSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlGaXJtd2FyZUltYWdlCi0JI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJRmlybXdhcmVJbWFnZVZlcnNpb24KLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBJTUFHRV9BUlJBWV9OQU1FW10gPSB7Ci0KLS8vIFNlZ21lbnQgIzEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMDAsIExlbmd0aCA2Ci0weGZmLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDgwLCAweDAyLCAweDQ0LCAweGIwLCAKLQotLy8gU2VnbWVudCAjMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDBiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NDQsIDB4NzIsIAotCi0vLyBTZWdtZW50ICMzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDEzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxMywgCi0KLS8vIFNlZ21lbnQgIzQsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMWIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDFiLCAKLQotLy8gU2VnbWVudCAjNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDIzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MjMsIAotCi0vLyBTZWdtZW50ICM2LCBTdGFydCBBZGRyZXNzIDAwZmYwMDJiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MmIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyYiwgCi0KLS8vIFNlZ21lbnQgIzcsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMzMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDMzLCAKLQotLy8gU2VnbWVudCAjOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAzYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDNiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4M2IsIAotCi0vLyBTZWdtZW50ICM5LCBTdGFydCBBZGRyZXNzIDAwZmYwMDQzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NDMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg0MywgCi0KLS8vIFNlZ21lbnQgIzEwLCBTdGFydCBBZGRyZXNzIDAwZmYwMDRiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg2ZSwgMHhjNCwgCi0KLS8vIFNlZ21lbnQgIzExLCBTdGFydCBBZGRyZXNzIDAwZmYwMDUzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg3NSwgMHg4ZCwgCi0KLS8vIFNlZ21lbnQgIzEyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDdiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4N2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg3YiwgCi0KLS8vIFNlZ21lbnQgIzEzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDgwLCBMZW5ndGggNwotMHhmZiwweDAwLDB4ODAsMHgwMCwweDA3LDB4MDAsCi0gICAgMHg3ZSwgMHgxNCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg0MCwgMHg1MSwgCi0KLS8vIFNlZ21lbnQgIzE0LCBTdGFydCBBZGRyZXNzIDAwZmYzMDAwLCBMZW5ndGggMjE3OAotMHhmZiwweDAwLDB4MDAsMHgzMCwweDgyLDB4MDgsCi0gICAgMHgxMiwgMHgzNywgMHgyOCwgMHgxMiwgMHgzMCwgMHgzZSwgMHgxMiwgMHgzMCwgMHg1NCwgMHgxMiwgMHgzMCwgMHhlNSwgMHgxMiwgMHgzMSwgMHg2OCwgMHgxMiwgCi0gICAgMHgzNSwgMHgyMCwgMHgxMiwgMHgzOCwgMHg1OCwgMHgxMiwgMHgzMSwgMHgxNSwgMHgxMiwgMHgzMSwgMHg0MCwgMHgxMiwgMHgzMCwgMHhhMCwgMHg4MCwgMHhlMCwgCi0gICAgMHhlNSwgMHgyMywgMHg2MCwgMHgxOSwgMHg3ZSwgMHgxNCwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMSwgMHgwMSwgMHhjZiwgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgCi0gICAgMHgwNSwgMHgxNCwgMHgxOSwgMHhiMSwgMHgwMSwgMHhjZiwgMHhhNSwgMHgwYiwgMHhiZSwgMHgzMSwgMHgyZiwgMHg3OCwgMHhlYiwgMHgyMiwgMHhjMiwgMHhhZiwgCi0gICAgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHhiNCwgMHgwMSwgMHgwYSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMiwgMHgxMiwgMHg3MCwgMHhlZiwgMHhkMCwgCi0gICAgMHhmMSwgMHhkMiwgMHhhZiwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgyMiwgMHg2MCwgMHg0MywgMHg3ZSwgMHgwNywgMHgwMSwgMHhlMSwgMHhiZSwgMHgwNCwgCi0gICAgMHgwMywgMHg4MCwgMHgzOCwgMHgzOSwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgyMSwgMHgwOSwgMHhhMCwgCi0gICAgMHgwMCwgMHgwNCwgMHg0ZSwgMHhhMCwgMHgwNSwgMHgxOSwgMHhhMCwgMHgwMCwgMHgwNCwgMHgwYSwgMHgzMiwgMHgwOSwgMHg1MywgMHg2NywgMHg4ZSwgMHg1ZSwgCi0gICAgMHg1MSwgMHgyNywgMHg2OCwgMHgwYiwgMHgwOSwgMHhhMCwgMHgwMCwgMHgxMCwgMHg0ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMCwgMHgwMCwgMHgxMCwgMHgyZSwgCi0gICAgMHgwNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhkMSwgMHg3NSwgMHgyMiwgMHgwMCwgMHhkMiwgMHhhZiwgMHgyMiwgCi0gICAgMHhjMiwgMHhhZiwgMHg3ZSwgMHgyMCwgMHgwMCwgMHg3ZSwgMHgzMCwgMHgwMSwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgzMiwgMHgwMSwgCi0gICAgMHg4ZiwgMHhiZSwgMHgzNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhiMSwgMHgyMSwgMHhhNSwgMHg0YiwgMHg3YSwgMHhiMSwgMHgyMSwgMHhjYSwgCi0gICAgMHgxOSwgMHg0OSwgMHgyMiwgMHgzMCwgMHhkNSwgMHg5OSwgMHgyNCwgMHhkYSwgMHgxOSwgMHgzZSwgMHgzMCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgCi0gICAgMHg3OCwgMHhkNiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg0NiwgMHgwZiwgMHg0OSwgMHg2NywgMHg0YywgMHhiZiwgMHg1MCwgMHgxNywgMHg1MywgMHg2ZiwgMHg1NiwgCi0gICAgMHhjNywgMHg1YSwgMHgxZiwgMHg1ZCwgMHg3NywgMHhjMiwgMHhhZiwgMHhlNSwgMHgzMiwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgCi0gICAgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgMHgwMiwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhlZiwgMHhkMiwgCi0gICAgMHhhZiwgMHgyMiwgMHhjYSwgMHgyOCwgMHgxMiwgMHg2NywgMHhhYiwgMHhkYSwgMHgyOCwgMHg0MCwgMHgwOSwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMiwgMHg2NywgCi0gICAgMHg4ZSwgMHhmNCwgMHg1MiwgMHgzMiwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgzNCwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgCi0gICAgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgMHgzMiwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhlZiwgMHhkMiwgCi0gICAgMHhhZiwgMHgyMiwgMHhjYSwgMHgyOCwgMHgwYSwgMHgyMiwgMHgwOSwgMHg0MiwgMHgwMCwgMHgzZSwgMHgxMiwgMHg2OSwgMHhjMiwgMHhkYSwgMHgyOCwgMHgyMiwgCi0gICAgMHhjMiwgMHhhZiwgMHhlNSwgMHgzNSwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgCi0gICAgMHg1ZCwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHhjYSwgMHgyOCwgMHg3ZSwgCi0gICAgMHg0MCwgMHgwMCwgMHgxMiwgMHg2YywgMHg1YiwgMHhkYSwgMHgyOCwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgyMywgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgCi0gICAgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgMHg4NSwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgCi0gICAgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHgzMSwgMHg5MCwgMHg4OSwgMHgyNCwgCi0gICAgMHgzMSwgMHhhMCwgMHgzMiwgMHgxMCwgMHgzMiwgMHg4MCwgMHgzMiwgMHhmMCwgMHgzMywgMHg2MCwgMHgzMywgMHhkMCwgMHgzNCwgMHg0MCwgMHgzNCwgMHhiMCwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg4ZiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg0OSwgMHgzMCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHg5ZiwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg5ZiwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhjZiwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhjZiwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxOCwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhjZiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5MSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MSwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg0YywgMHg4OCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhMSwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhMSwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkMCwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkMCwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxOSwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMCwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5MywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MiwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg0ZiwgMHhlMCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhMywgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhMywgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkMSwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkMSwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxYSwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5NSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MywgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1MywgMHgzOCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhNSwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhNSwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkMiwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkMiwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxYiwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5NywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NCwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1NiwgMHg5MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhNywgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhNywgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkMywgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkMywgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxYywgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMywgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5OSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NSwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1OSwgMHhlOCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhOSwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhOSwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkNCwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkNCwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxZCwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkNCwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5YiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NiwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1ZCwgMHg0MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhYiwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhYiwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkNSwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkNSwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxZSwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkNSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NywgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg2MCwgMHg5OCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhZCwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhZCwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkNiwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkNiwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxZiwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkNiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHhjMiwgMHhhZiwgMHhlNSwgMHgyNCwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzNSwgCi0gICAgMHgzZCwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgCi0gICAgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHgzNSwgMHg0OCwgMHg4OSwgMHgyNCwgMHgzNSwgMHg1OCwgMHgzNSwgMHg5MiwgMHgzNSwgMHhjYywgMHgzNiwgMHgwNiwgCi0gICAgMHgzNiwgMHg0MCwgMHgzNiwgMHg3YSwgMHgzNiwgMHhiNCwgMHgzNiwgMHhlZSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0OSwgMHgzMCwgCi0gICAgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgCi0gICAgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyMCwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgCi0gICAgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MSwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgCi0gICAgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0YywgMHg4OCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgCi0gICAgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgCi0gICAgMHgyMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MiwgMHgwMCwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgCi0gICAgMHgxMiwgMHgxMiwgMHg0ZiwgMHhlMCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgCi0gICAgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyMiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgCi0gICAgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MywgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgCi0gICAgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1MywgMHgzOCwgMHg3ZCwgMHgyMSwgCi0gICAgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyMywgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNCwgMHg4NCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgCi0gICAgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1NiwgMHg5MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgCi0gICAgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyNCwgMHhjMCwgCi0gICAgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NSwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1OSwgMHhlOCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgCi0gICAgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyNSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgCi0gICAgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NiwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgCi0gICAgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1ZCwgMHg0MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgCi0gICAgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHhjMiwgMHgyNiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgCi0gICAgMHg4NywgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgCi0gICAgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg2MCwgMHg5OCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgCi0gICAgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyNywgMHhjMCwgMHhmMSwgMHg3NSwgCi0gICAgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgzMywgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgCi0gICAgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzNywgMHg0NSwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgCi0gICAgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHgzNywgMHg1MCwgMHg4OSwgMHgyNCwgCi0gICAgMHgzNywgMHg2MCwgMHgzNywgMHg3ZiwgMHgzNywgMHg5ZSwgMHgzNywgMHhiZCwgMHgzNywgMHhkYywgMHgzNywgMHhmYiwgMHgzOCwgMHgxYSwgMHgzOCwgMHgzOSwgCi0gICAgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0OCwgMHgxYiwgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgCi0gICAgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MSwgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0YiwgMHg3MywgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgCi0gICAgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgCi0gICAgMHg4MiwgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0ZSwgMHhjYiwgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgCi0gICAgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MywgCi0gICAgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1MiwgMHgyMywgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgCi0gICAgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NCwgMHgwMCwgCi0gICAgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1NSwgMHg3YiwgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgCi0gICAgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NSwgMHgwMCwgMHhjYSwgCi0gICAgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1OCwgMHhkMywgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgCi0gICAgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NiwgMHgwMCwgMHhjYSwgMHgxOSwgCi0gICAgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1YywgMHgyYiwgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgCi0gICAgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NywgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgCi0gICAgMHgxMiwgMHgxMiwgMHg1ZiwgMHg4MywgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgCi0gICAgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHhjMiwgMHhhZiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHhhOSwgCi0gICAgMHgzMiwgMHhmMiwgMHgxYSwgMHg3ZSwgMHgwNywgMHgwMSwgMHhlMSwgMHhiZSwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgxMCwgMHhlNSwgMHhmNSwgMHgzMywgCi0gICAgMHg4MiwgMHhlNywgMHg0MCwgMHgwOSwgMHg4NSwgMHgzMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHhmNiwgMHgwMCwgMHhkMCwgMHhmMSwgMHhkMiwgCi0gICAgMHhhZiwgMHgyMiwgCi0KLS8vIFNlZ21lbnQgIzE1LCBTdGFydCBBZGRyZXNzIDAwZmY0MDAwLCBMZW5ndGggMTUzODEKLTB4ZmYsMHgwMCwweDAwLDB4NDAsMHgxNSwweDNjLAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTQsIDB4N2YsIDB4ZjgsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2QsIDB4MzEsIDB4MGIsIDB4MWEsIAotICAgIDB4NTAsIDB4MWIsIDB4MGEsIDB4NTAsIDB4N2UsIDB4MTQsIDB4NDAsIDB4MWIsIDB4MDIsIDB4NDAsIDB4NmEsIDB4N2UsIDB4ZjgsIDB4MDAsIDB4NmYsIDB4ZDIsIAotICAgIDB4MDQsIDB4YzIsIDB4OTQsIDB4ZDIsIDB4OTUsIDB4N2UsIDB4ZjQsIDB4NDAsIDB4MmMsIDB4MDIsIDB4NDAsIDB4N2MsIDB4MTIsIDB4N2QsIDB4MzAsIDB4ZjUsIAotICAgIDB4MmYsIDB4N2EsIDB4YTEsIDB4MzAsIDB4N2EsIDB4MTEsIDB4NmUsIDB4MTIsIDB4NzUsIDB4Y2EsIDB4MTIsIDB4NDAsIDB4ZGMsIDB4N2UsIDB4YjMsIDB4M2YsIAotICAgIDB4ZjEsIDB4NjAsIDB4MDMsIDB4MTIsIDB4NDMsIDB4ZDQsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIDB4NmYsIDB4ZDIsIDB4YWYsIDB4MDIsIDB4MzAsIAotICAgIDB4MDAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4MTgsIDB4NDAsIDB4NWYsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDEsIDB4ODksIDB4MTgsIDB4YTksIAotICAgIDB4MjUsIDB4ODcsIDB4MDMsIDB4YTksIDB4ZDUsIDB4ODcsIDB4ZDIsIDB4OTMsIDB4ODksIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4MTgsIAotICAgIDB4NDAsIDB4NzgsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDEsIDB4ODksIDB4MTgsIDB4YzIsIDB4OTMsIDB4ODksIDB4MDgsIDB4N2UsIDB4MDgsIDB4MDAsIDB4MjAsIAotICAgIDB4N2UsIDB4NDQsIDB4MDQsIDB4MDAsIDB4N2UsIDB4NDAsIDB4MDAsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4OGUsIDB4MDIsIDB4N2MsIDB4MzAsIDB4N2UsIDB4MDgsIAotICAgIDB4MDEsIDB4NmYsIDB4N2UsIDB4NDQsIDB4MjgsIDB4N2MsIDB4N2UsIDB4NDAsIDB4MDAsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4YTAsIDB4MDIsIDB4N2MsIDB4MzAsIAotICAgIDB4N2UsIDB4MDgsIDB4MDAsIDB4NmYsIDB4N2UsIDB4NDQsIDB4MDEsIDB4MDAsIDB4N2UsIDB4NDAsIDB4NTMsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4YjIsIDB4MDIsIAotICAgIDB4N2MsIDB4MzAsIDB4NzUsIDB4NmQsIDB4MjAsIDB4NzUsIDB4NmMsIDB4MzAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDgsIDB4NzUsIDB4NmEsIDB4NTgsIDB4NzUsIAotICAgIDB4NmIsIDB4MDgsIDB4NzUsIDB4NjcsIDB4MDgsIDB4NzUsIDB4NjksIDB4MDEsIDB4NzUsIDB4ODksIDB4MDEsIDB4NzUsIDB4OGEsIDB4MDEsIDB4NzUsIDB4OGMsIAotICAgIDB4MDAsIDB4ZDIsIDB4OGMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDIsIDB4N2EsIDB4MDUsIDB4NTgsIDB4ODksIDB4ZjQsIDB4NzUsIDB4YjcsIDB4N2YsIDB4NzUsIAotICAgIDB4YjgsIDB4N2YsIDB4NzUsIDB4YjMsIDB4MDcsIDB4NzUsIDB4YjIsIDB4MDcsIDB4ZDIsIDB4YTksIDB4MjIsIDB4ZDIsIDB4OTIsIDB4ZTQsIDB4ZDUsIDB4ZTAsIAotICAgIDB4ZmQsIDB4YzIsIDB4OTIsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MmYsIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIAotICAgIDB4MTAsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZjIsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTIsIDB4NDEsIDB4N2UsIDB4MGIsIDB4MjAsIAotICAgIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZjYsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIAotICAgIDB4MDAsIDB4MGMsIDB4NzQsIDB4MTAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4NzQsIDB4ODAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIAotICAgIDB4MDAsIDB4MDIsIDB4MTksIDB4YTAsIDB4MDAsIDB4MDQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIAotICAgIDB4NzQsIDB4MDcsIDB4YTksIDB4MjAsIDB4MzAsIDB4MGIsIDB4YTksIDB4MzUsIDB4MzAsIDB4MDUsIDB4YmUsIDB4MjAsIDB4MDEsIDB4MjgsIDB4MDIsIDB4NzQsIAotICAgIDB4MGYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4YTksIDB4MzMsIDB4MzAsIDB4MTgsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4NzQsIAotICAgIDB4MjgsIDB4YTksIDB4MjAsIDB4MzAsIDB4MDIsIDB4NzQsIDB4MjAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjAsIDB4MDAsIAotICAgIDB4MGMsIDB4NzQsIDB4YTcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4NzQsIDB4MGMsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4MjIsIDB4N2UsIDB4MDQsIAotICAgIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4ZTQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MDksIDB4YjAsIDB4MDAsIDB4MTAsIDB4NTQsIDB4MDgsIDB4MTksIAotICAgIDB4YjAsIDB4MDAsIDB4MTAsIDB4NzQsIDB4YTcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIAotICAgIDB4MjIsIDB4NDEsIDB4YTUsIDB4ODksIDB4MjQsIDB4NDEsIDB4YjUsIDB4NDEsIDB4ZDQsIDB4NDEsIDB4ZjMsIDB4NDIsIDB4MTIsIDB4NDIsIDB4MzEsIDB4NDIsIAotICAgIDB4NTAsIDB4NDIsIDB4NmYsIDB4NDIsIDB4OGUsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MjAsIDB4YzIsIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDksIAotICAgIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmYsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2YsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OGYsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4OWYsIDB4MjIsIDB4YzIsIDB4MTEsIDB4YzIsIDB4MTksIDB4YzIsIDB4MjEsIDB4YzIsIDB4MDksIDB4N2UsIDB4MDQsIDB4MGQsIDB4ZTMsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzEsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODEsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTEsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4YTEsIDB4MjIsIDB4YzIsIDB4MTIsIDB4YzIsIDB4MWEsIDB4YzIsIDB4MjIsIDB4YzIsIDB4MGEsIDB4N2UsIDB4MDQsIDB4MTEsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODMsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTMsIDB4N2EsIDB4MDcsIDB4MDEsIAotICAgIDB4YTMsIDB4MjIsIDB4YzIsIDB4MTMsIDB4YzIsIDB4MWIsIDB4YzIsIDB4MjMsIDB4YzIsIDB4MGIsIDB4N2UsIDB4MDQsIDB4MTUsIDB4ZTMsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4NzUsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODUsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTUsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTUsIAotICAgIDB4MjIsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MWMsIDB4YzIsIDB4MjQsIDB4YzIsIDB4MGMsIDB4N2UsIDB4MDQsIDB4MTksIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIAotICAgIDB4NzcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODcsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTcsIDB4MjIsIAotICAgIDB4YzIsIDB4MTUsIDB4YzIsIDB4MWQsIDB4YzIsIDB4MjUsIDB4YzIsIDB4MGQsIDB4N2UsIDB4MDQsIDB4MWQsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzksIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODksIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTksIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTksIDB4MjIsIDB4YzIsIAotICAgIDB4MTYsIDB4YzIsIDB4MWUsIDB4YzIsIDB4MjYsIDB4YzIsIDB4MGUsIDB4N2UsIDB4MDQsIDB4MjEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2IsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4OGIsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OWIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWIsIDB4MjIsIDB4YzIsIDB4MTcsIAotICAgIDB4YzIsIDB4MWYsIDB4YzIsIDB4MjcsIDB4YzIsIDB4MGYsIDB4N2UsIDB4MDQsIDB4MjUsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2QsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4OGQsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OWQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWQsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIAotICAgIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4NDIsIDB4YjgsIDB4ODksIDB4MjQsIDB4NDIsIDB4YzgsIDB4NDIsIDB4ZTksIDB4NDMsIDB4MGEsIDB4NDMsIDB4MmIsIAotICAgIDB4NDMsIDB4NGMsIDB4NDMsIDB4NmQsIDB4NDMsIDB4OGUsIDB4NDMsIDB4YWYsIDB4MzAsIDB4NTAsIDB4MDcsIDB4MjAsIDB4NjgsIDB4MDQsIDB4YzIsIDB4MjgsIAotICAgIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDAsIDB4MDcsIDB4MjAsIDB4NjAsIDB4MDQsIDB4YzIsIDB4MjgsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NDgsIDB4MDcsIDB4MjAsIAotICAgIDB4NTgsIDB4MDQsIDB4YzIsIDB4MjgsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MjgsIDB4MjIsIDB4MzAsIDB4NTEsIDB4MDcsIDB4MjAsIDB4NjksIDB4MDQsIDB4YzIsIAotICAgIDB4MjksIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDEsIDB4MDcsIDB4MjAsIDB4NjEsIDB4MDQsIDB4YzIsIDB4MjksIDB4ODAsIDB4MGMsIDB4MzAsIDB4NDksIDB4MDcsIAotICAgIDB4MjAsIDB4NTksIDB4MDQsIDB4YzIsIDB4MjksIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MjksIDB4MjIsIDB4MzAsIDB4NTIsIDB4MDcsIDB4MjAsIDB4NmEsIDB4MDQsIAotICAgIDB4YzIsIDB4MmEsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDIsIDB4MDcsIDB4MjAsIDB4NjIsIDB4MDQsIDB4YzIsIDB4MmEsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGEsIAotICAgIDB4MDcsIDB4MjAsIDB4NWEsIDB4MDQsIDB4YzIsIDB4MmEsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmEsIDB4MjIsIDB4MzAsIDB4NTMsIDB4MDcsIDB4MjAsIDB4NmIsIAotICAgIDB4MDQsIDB4YzIsIDB4MmIsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDMsIDB4MDcsIDB4MjAsIDB4NjMsIDB4MDQsIDB4YzIsIDB4MmIsIDB4ODAsIDB4MGMsIDB4MzAsIAotICAgIDB4NGIsIDB4MDcsIDB4MjAsIDB4NWIsIDB4MDQsIDB4YzIsIDB4MmIsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmIsIDB4MjIsIDB4MzAsIDB4NTQsIDB4MDcsIDB4MjAsIAotICAgIDB4NmMsIDB4MDQsIDB4YzIsIDB4MmMsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDQsIDB4MDcsIDB4MjAsIDB4NjQsIDB4MDQsIDB4YzIsIDB4MmMsIDB4ODAsIDB4MGMsIAotICAgIDB4MzAsIDB4NGMsIDB4MDcsIDB4MjAsIDB4NWMsIDB4MDQsIDB4YzIsIDB4MmMsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmMsIDB4MjIsIDB4MzAsIDB4NTUsIDB4MDcsIAotICAgIDB4MjAsIDB4NmQsIDB4MDQsIDB4YzIsIDB4MmQsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDUsIDB4MDcsIDB4MjAsIDB4NjUsIDB4MDQsIDB4YzIsIDB4MmQsIDB4ODAsIAotICAgIDB4MGMsIDB4MzAsIDB4NGQsIDB4MDcsIDB4MjAsIDB4NWQsIDB4MDQsIDB4YzIsIDB4MmQsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmQsIDB4MjIsIDB4MzAsIDB4NTYsIAotICAgIDB4MDcsIDB4MjAsIDB4NmUsIDB4MDQsIDB4YzIsIDB4MmUsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDYsIDB4MDcsIDB4MjAsIDB4NjYsIDB4MDQsIDB4YzIsIDB4MmUsIAotICAgIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGUsIDB4MDcsIDB4MjAsIDB4NWUsIDB4MDQsIDB4YzIsIDB4MmUsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmUsIDB4MjIsIDB4MzAsIAotICAgIDB4NTcsIDB4MDcsIDB4MjAsIDB4NmYsIDB4MDQsIDB4YzIsIDB4MmYsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDcsIDB4MDcsIDB4MjAsIDB4NjcsIDB4MDQsIDB4YzIsIAotICAgIDB4MmYsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGYsIDB4MDcsIDB4MjAsIDB4NWYsIDB4MDQsIDB4YzIsIDB4MmYsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmYsIDB4MjIsIAotICAgIDB4NDQsIDB4MzgsIDB4NDMsIDB4ZTUsIDB4YmUsIDB4YjAsIDB4MDIsIDB4NDAsIDB4MDEsIDB4MjIsIDB4MjMsIDB4MGEsIDB4NWIsIDB4NDksIDB4NTUsIDB4NDMsIAotICAgIDB4ZDAsIDB4OTksIDB4NTQsIDB4ZDMsIDB4MjIsIDB4YTksIDB4YzUsIDB4ODcsIDB4MTIsIDB4NDQsIDB4NDMsIDB4N2UsIDB4MDQsIDB4MDUsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4ZDcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZDksIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGQsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MDQsIDB4NzQsIDB4YWQsIDB4N2EsIDB4MDUsIDB4NjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4NzUsIDB4ZTEsIDB4MWYsIAotICAgIDB4NzUsIDB4ZTQsIDB4MDQsIDB4NzUsIDB4ZjQsIDB4MDQsIDB4NzUsIDB4ZjEsIDB4MDIsIDB4NzUsIDB4ZTEsIDB4MDMsIDB4NzUsIDB4ZTQsIDB4MDQsIDB4NzUsIAotICAgIDB4ZjQsIDB4MDQsIDB4NDMsIDB4YTIsIDB4MWMsIDB4MTIsIDB4NDAsIDB4ZWIsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTIsIDB4NDEsIDB4OWEsIDB4MGIsIDB4MjAsIAotICAgIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZjYsIDB4ZDIsIDB4YTgsIDB4MjIsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4NDQsIDB4NDMsIDB4ZDIsIDB4OTIsIAotICAgIDB4YzIsIDB4YTgsIDB4MjIsIDB4NzUsIDB4YTMsIDB4MDAsIDB4NTMsIDB4YTIsIDB4MDMsIDB4NzUsIDB4YzEsIDB4MDAsIDB4NTMsIDB4YzAsIDB4MDMsIDB4N2UsIAotICAgIDB4MDAsIDB4MDUsIDB4N2EsIDB4MDEsIDB4ZjEsIDB4NDMsIDB4ZjQsIDB4ODAsIDB4NDMsIDB4ZTQsIDB4ODAsIDB4ZTUsIDB4ZjIsIDB4NTQsIDB4N2YsIDB4NDQsIAotICAgIDB4MDgsIDB4ZjUsIDB4ZjIsIDB4ZTUsIDB4ZTIsIDB4NTQsIDB4N2YsIDB4NDQsIDB4MDgsIDB4ZjUsIDB4ZTIsIDB4NzUsIDB4ZTEsIDB4MTAsIDB4YTUsIDB4ZDgsIAotICAgIDB4ZTEsIDB4MjIsIDB4Y2EsIDB4MDksIDB4MTIsIDB4MzAsIDB4MjAsIDB4MTAsIDB4MDEsIDB4MTIsIDB4ZDUsIDB4NjcsIDB4MWUsIDB4NjMsIDB4NjksIDB4MDEsIAotICAgIDB4N2UsIDB4MDAsIDB4NmEsIDB4MmUsIDB4MDEsIDB4NjksIDB4YTUsIDB4ZTYsIDB4ZjUsIDB4NjcsIDB4ODAsIDB4MTIsIDB4MjAsIDB4MDIsIDB4MWUsIDB4NzUsIAotICAgIDB4NjksIDB4MDAsIDB4ODUsIDB4NmEsIDB4NjcsIDB4ZDIsIDB4MDIsIDB4NzQsIDB4MDAsIDB4ODAsIDB4MGQsIDB4MzAsIDB4MDIsIDB4MGYsIDB4YzIsIDB4MDIsIAotICAgIDB4N2UsIDB4MDAsIDB4NmMsIDB4MmUsIDB4MDEsIDB4NjksIDB4YTUsIDB4ZTYsIDB4NTMsIDB4OTAsIDB4Y2YsIDB4NDIsIDB4OTAsIDB4ZGEsIDB4MDksIDB4MzIsIAotICAgIDB4YzAsIDB4ZDAsIDB4YzAsIDB4ZDEsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4ZDIsIDB4MDEsIAotICAgIDB4NzUsIDB4MzEsIDB4ODksIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIAotICAgIDB4MDMsIDB4MDIsIDB4NDUsIDB4NGYsIDB4MjAsIDB4NzgsIDB4NWEsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIAotICAgIDB4MDIsIDB4NDUsIDB4NjcsIDB4MjAsIDB4NzksIDB4NGIsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIAotICAgIDB4NDUsIDB4N2YsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIDB4OTcsIDB4MjAsIDB4N2EsIAotICAgIDB4MzAsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIDB4YWYsIDB4YTUsIDB4MGEsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIDB4YzcsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIAotICAgIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIDB4ZGYsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIAotICAgIDB4ZjcsIDB4MzAsIDB4MDQsIDB4MGMsIDB4YzIsIDB4MDQsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIAotICAgIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ZDEsIDB4ZDAsIDB4ZDAsIDB4MzIsIDB4NzUsIAotICAgIDB4MzEsIDB4ODAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIAotICAgIDB4MmIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIDB4MzEsIDB4ODEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIAotICAgIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIDB4NmIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIAotICAgIDB4MzEsIDB4ODIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIAotICAgIDB4YWIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIDB4MzEsIDB4ODMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIAotICAgIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIDB4ZWIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIAotICAgIDB4MzEsIDB4ODQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjQsIAotICAgIDB4MmIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIDB4MzEsIDB4ODUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIAotICAgIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjQsIDB4NmIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIAotICAgIDB4MzEsIDB4ODYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjQsIAotICAgIDB4YWIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIDB4MzEsIDB4ODcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIAotICAgIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjQsIDB4ZWIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4MTAsIAotICAgIDB4MDgsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MjgsIDB4MDMsIDB4ZDIsIDB4MDgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODAsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MjgsIDB4MDMsIDB4ZDIsIDB4MDgsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NDksIDB4MzAsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MDgsIAotICAgIDB4MjIsIDB4MzAsIDB4MzAsIDB4NDksIDB4ZDIsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OGYsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YWYsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDgsIDB4N2EsIDB4MDUsIDB4NDgsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OGYsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4NmYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MGQsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NmYsIAotICAgIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIAotICAgIDB4NzAsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzAsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OGYsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YWYsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4YWYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OGYsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDgsIDB4N2EsIDB4MDUsIDB4NDgsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4OGYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NmYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MGQsIDB4ZTIsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NmYsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MGQsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIDB4MmIsIDB4N2UsIDB4MzQsIDB4MDksIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NmYsIDB4MTIsIDB4NjUsIDB4MmIsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NDYsIDB4N2YsIAotICAgIDB4MjIsIDB4ZDIsIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDksIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmYsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2YsIDB4NzUsIAotICAgIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YmYsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YmYsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4MzAsIDB4MzgsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTAsIDB4MjIsIAotICAgIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIAotICAgIDB4MDAsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YmYsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIAotICAgIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIAotICAgIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDAsIDB4N2EsIDB4NjksIAotICAgIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIAotICAgIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIAotICAgIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIAotICAgIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIAotICAgIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIAotICAgIDB4MDIsIDB4NDcsIDB4ZTMsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzgsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4ZDIsIDB4MTAsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NDcsIAotICAgIDB4ZTMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NDksIDB4MzAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIAotICAgIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NjgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjAsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NjAsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTgsIDB4MTIsIAotICAgIDB4NDIsIDB4YzgsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NDgsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIDB4MDksIDB4MDEsIDB4MjIsIDB4MjAsIDB4MjksIDB4MDMsIDB4ZDIsIDB4MDksIAotICAgIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODEsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MjksIDB4MDMsIAotICAgIDB4ZDIsIDB4MDksIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIAotICAgIDB4MTIsIDB4NGMsIDB4ODgsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MDksIDB4MjIsIDB4MzAsIDB4MzEsIDB4NDksIDB4ZDIsIDB4NzEsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4OTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjEsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGEsIDB4N2EsIAotICAgIDB4MDUsIDB4NGEsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzEsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MTEsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzEsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIDB4NzEsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzEsIDB4MmQsIDB4MjMsIDB4NjgsIAotICAgIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTEsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIAotICAgIDB4MjcsIDB4MDEsIDB4YjEsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTEsIDB4OWQsIDB4MzIsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGEsIDB4N2EsIDB4MDUsIDB4NGEsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzEsIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTEsIDB4ZTIsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzEsIDB4NzUsIDB4MzEsIDB4OTQsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MTEsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIAotICAgIDB4MmIsIDB4N2UsIDB4MzQsIDB4MGQsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzEsIDB4MTIsIDB4NjUsIDB4MmIsIAotICAgIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NDksIDB4ZDcsIDB4MjIsIDB4ZDIsIDB4MDksIDB4N2UsIDB4MDQsIDB4MGQsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzEsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODEsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzEsIAotICAgIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDEsIDB4MDAsIDB4MmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YzEsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIAotICAgIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzksIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTEsIDB4MjIsIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDEsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzEsIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDEsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIAotICAgIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIAotICAgIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIAotICAgIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIAotICAgIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NGIsIDB4M2IsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzksIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTEsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NGIsIDB4M2IsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NGMsIDB4ODgsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIAotICAgIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjksIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NTksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTksIDB4MTIsIDB4NDIsIDB4ZTksIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIAotICAgIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIAotICAgIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NGIsIAotICAgIDB4OGQsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIAotICAgIDB4MGEsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmEsIDB4MDMsIDB4ZDIsIDB4MGEsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODIsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmEsIDB4MDMsIDB4ZDIsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NGYsIDB4ZTAsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGEsIAotICAgIDB4MjIsIDB4MzAsIDB4MzIsIDB4NDksIDB4ZDIsIDB4NzIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTMsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjMsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGMsIDB4N2EsIDB4MDUsIDB4NGMsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTMsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4NzMsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTUsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzMsIAotICAgIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIAotICAgIDB4NzIsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzIsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OTMsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YjMsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4YjMsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTMsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGMsIDB4N2EsIDB4MDUsIDB4NGMsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4OTMsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzMsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTUsIDB4ZTIsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzMsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MTUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIDB4MmIsIDB4N2UsIDB4MzQsIDB4MTEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzMsIDB4MTIsIDB4NjUsIDB4MmIsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NGQsIDB4MmYsIAotICAgIDB4MjIsIDB4ZDIsIDB4MGEsIDB4N2UsIDB4MDQsIDB4MTEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODMsIDB4NzUsIAotICAgIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzMsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDIsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YzMsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4MzAsIDB4M2EsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTIsIDB4MjIsIAotICAgIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIAotICAgIDB4MDIsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzMsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIAotICAgIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIAotICAgIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDIsIDB4N2EsIDB4NjksIAotICAgIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIAotICAgIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIAotICAgIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIAotICAgIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIAotICAgIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIAotICAgIDB4MDIsIDB4NGUsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2EsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4ZDIsIDB4MTIsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NGUsIAotICAgIDB4OTMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NGYsIDB4ZTAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIAotICAgIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NmEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjIsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NjIsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWEsIDB4MTIsIAotICAgIDB4NDMsIDB4MGEsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NGUsIDB4ZTUsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIDB4MGIsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmIsIDB4MDMsIDB4ZDIsIDB4MGIsIAotICAgIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODMsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmIsIDB4MDMsIAotICAgIDB4ZDIsIDB4MGIsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIAotICAgIDB4MTIsIDB4NTMsIDB4MzgsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGIsIDB4MjIsIDB4MzAsIDB4MzMsIDB4NDksIDB4ZDIsIDB4NzMsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4OTUsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjUsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGUsIDB4N2EsIAotICAgIDB4MDUsIDB4NGUsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzUsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MTksIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzUsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIDB4NzMsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzMsIDB4MmQsIDB4MjMsIDB4NjgsIAotICAgIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTUsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIAotICAgIDB4MjcsIDB4MDEsIDB4YjUsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTUsIDB4OWQsIDB4MzIsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGUsIDB4N2EsIDB4MDUsIDB4NGUsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzUsIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTksIDB4ZTIsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzUsIDB4NzUsIDB4MzEsIDB4OTQsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MTksIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIAotICAgIDB4MmIsIDB4N2UsIDB4MzQsIDB4MTUsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzUsIDB4MTIsIDB4NjUsIDB4MmIsIAotICAgIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTAsIDB4ODcsIDB4MjIsIDB4ZDIsIDB4MGIsIDB4N2UsIDB4MDQsIDB4MTUsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzUsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODUsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzUsIAotICAgIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDMsIDB4MDAsIDB4MmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YzUsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIAotICAgIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2IsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTMsIDB4MjIsIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDMsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzUsIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDMsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIAotICAgIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIAotICAgIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIAotICAgIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIAotICAgIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NTEsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2IsIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTMsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NTEsIDB4ZWIsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NTMsIDB4MzgsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIAotICAgIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmIsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjMsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NWIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWIsIDB4MTIsIDB4NDMsIDB4MmIsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIAotICAgIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIAotICAgIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NTIsIAotICAgIDB4M2QsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIAotICAgIDB4MGMsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmMsIDB4MDMsIDB4ZDIsIDB4MGMsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODQsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmMsIDB4MDMsIDB4ZDIsIDB4MGMsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NTYsIDB4OTAsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGMsIAotICAgIDB4MjIsIDB4MzAsIDB4MzQsIDB4NDksIDB4ZDIsIDB4NzQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTcsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjcsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTAsIDB4N2EsIDB4MDUsIDB4NTAsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTcsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4NzcsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MWQsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzcsIAotICAgIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIAotICAgIDB4NzQsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzQsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OTcsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YjcsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4YjcsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTcsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTAsIDB4N2EsIDB4MDUsIDB4NTAsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4OTcsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzcsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MWQsIDB4ZTIsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzcsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MWQsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIDB4MmIsIDB4N2UsIDB4MzQsIDB4MTksIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzcsIDB4MTIsIDB4NjUsIDB4MmIsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTMsIDB4ZGYsIAotICAgIDB4MjIsIDB4ZDIsIDB4MGMsIDB4N2UsIDB4MDQsIDB4MTksIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODcsIDB4NzUsIAotICAgIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzcsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDQsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YzcsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4MzAsIDB4M2MsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTQsIDB4MjIsIAotICAgIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIAotICAgIDB4MDQsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzcsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIAotICAgIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIAotICAgIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDQsIDB4N2EsIDB4NjksIAotICAgIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIAotICAgIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIAotICAgIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIAotICAgIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIAotICAgIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIAotICAgIDB4MDIsIDB4NTUsIDB4NDMsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2MsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4ZDIsIDB4MTQsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NTUsIAotICAgIDB4NDMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NTYsIDB4OTAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIAotICAgIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NmMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmMsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjQsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NjQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWMsIDB4MTIsIAotICAgIDB4NDMsIDB4NGMsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NTUsIDB4OTUsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIDB4MGQsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmQsIDB4MDMsIDB4ZDIsIDB4MGQsIAotICAgIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODUsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmQsIDB4MDMsIAotICAgIDB4ZDIsIDB4MGQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIAotICAgIDB4MTIsIDB4NTksIDB4ZTgsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGQsIDB4MjIsIDB4MzAsIDB4MzUsIDB4NDksIDB4ZDIsIDB4NzUsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4OTksIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjksIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTIsIDB4N2EsIAotICAgIDB4MDUsIDB4NTIsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTksIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MjEsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzksIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIDB4NzUsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzUsIDB4MmQsIDB4MjMsIDB4NjgsIAotICAgIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTksIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIAotICAgIDB4MjcsIDB4MDEsIDB4YjksIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjksIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTksIDB4OWQsIDB4MzIsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTIsIDB4N2EsIDB4MDUsIDB4NTIsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTksIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzksIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjEsIDB4ZTIsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzksIDB4NzUsIDB4MzEsIDB4OTQsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MjEsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIAotICAgIDB4MmIsIDB4N2UsIDB4MzQsIDB4MWQsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzksIDB4MTIsIDB4NjUsIDB4MmIsIAotICAgIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTcsIDB4MzcsIDB4MjIsIDB4ZDIsIDB4MGQsIDB4N2UsIDB4MDQsIDB4MWQsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODksIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzksIAotICAgIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDUsIDB4MDAsIDB4MmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YzksIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIAotICAgIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2QsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTUsIDB4MjIsIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDUsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzksIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDUsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIAotICAgIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIAotICAgIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIAotICAgIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIAotICAgIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NTgsIDB4OWIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2QsIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTUsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NTgsIDB4OWIsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NTksIDB4ZTgsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIAotICAgIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmQsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NWQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWQsIDB4MTIsIDB4NDMsIDB4NmQsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIAotICAgIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIAotICAgIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NTgsIAotICAgIDB4ZWQsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIAotICAgIDB4MGUsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmUsIDB4MDMsIDB4ZDIsIDB4MGUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODYsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmUsIDB4MDMsIDB4ZDIsIDB4MGUsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NWQsIDB4NDAsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGUsIAotICAgIDB4MjIsIDB4MzAsIDB4MzYsIDB4NDksIDB4ZDIsIDB4NzYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OWIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YmIsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTQsIDB4N2EsIDB4MDUsIDB4NTQsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OWIsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4N2IsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjUsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2IsIAotICAgIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIAotICAgIDB4NzYsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzYsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OWIsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YmIsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4YmIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OWIsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTQsIDB4N2EsIDB4MDUsIDB4NTQsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4OWIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2IsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjUsIDB4ZTIsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2IsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MjUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIDB4MmIsIDB4N2UsIDB4MzQsIDB4MjEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2IsIDB4MTIsIDB4NjUsIDB4MmIsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NWEsIDB4OGYsIAotICAgIDB4MjIsIDB4ZDIsIDB4MGUsIDB4N2UsIDB4MDQsIDB4MjEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2IsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OGIsIDB4NzUsIAotICAgIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4Y2IsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDYsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4Y2IsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4MzAsIDB4M2UsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTYsIDB4MjIsIAotICAgIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIAotICAgIDB4MDYsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4Y2IsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIAotICAgIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIAotICAgIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDYsIDB4N2EsIDB4NjksIAotICAgIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIAotICAgIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIAotICAgIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIAotICAgIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIAotICAgIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIAotICAgIDB4MDIsIDB4NWIsIDB4ZjMsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2UsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4ZDIsIDB4MTYsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NWIsIAotICAgIDB4ZjMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NWQsIDB4NDAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIAotICAgIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NmUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjYsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NjYsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWUsIDB4MTIsIAotICAgIDB4NDMsIDB4OGUsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NWMsIDB4NDUsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIDB4MGYsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmYsIDB4MDMsIDB4ZDIsIDB4MGYsIAotICAgIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODcsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmYsIDB4MDMsIAotICAgIDB4ZDIsIDB4MGYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIAotICAgIDB4MTIsIDB4NjAsIDB4OTgsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGYsIDB4MjIsIDB4MzAsIDB4MzcsIDB4NDksIDB4ZDIsIDB4NzcsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4OWQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YmQsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTYsIDB4N2EsIAotICAgIDB4MDUsIDB4NTYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OWQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2QsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MjksIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2QsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIDB4NzcsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzcsIDB4MmQsIDB4MjMsIDB4NjgsIAotICAgIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWQsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIAotICAgIDB4MjcsIDB4MDEsIDB4YmQsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YmQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OWQsIDB4OWQsIDB4MzIsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTYsIDB4N2EsIDB4MDUsIDB4NTYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OWQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2QsIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjksIDB4ZTIsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2QsIDB4NzUsIDB4MzEsIDB4OTQsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MjksIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIAotICAgIDB4MmIsIDB4N2UsIDB4MzQsIDB4MjUsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2QsIDB4MTIsIDB4NjUsIDB4MmIsIAotICAgIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NWQsIDB4ZTcsIDB4MjIsIDB4ZDIsIDB4MGYsIDB4N2UsIDB4MDQsIDB4MjUsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4N2QsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OGQsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4Y2QsIAotICAgIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDcsIDB4MDAsIDB4MmUsIDB4MjcsIAotICAgIDB4MDEsIDB4Y2QsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIAotICAgIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2YsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTcsIDB4MjIsIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDcsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4Y2QsIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDcsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIAotICAgIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIAotICAgIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIAotICAgIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIAotICAgIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NWYsIDB4NGIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2YsIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTcsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NWYsIDB4NGIsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NjAsIDB4OTgsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIAotICAgIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmYsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjcsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjcsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NWYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWYsIDB4MTIsIDB4NDMsIDB4YWYsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIAotICAgIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIAotICAgIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NWYsIAotICAgIDB4OWQsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4N2MsIAotICAgIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIAotICAgIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NjAsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjAsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTgsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NTgsIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIAotICAgIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjksIDB4YTUsIDB4ZmQsIAotICAgIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIAotICAgIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTksIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIAotICAgIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmEsIAotICAgIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjIsIDB4ODAsIDB4MDIsIDB4YzIsIAotICAgIDB4NjIsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWEsIDB4MDIsIDB4NjIsIAotICAgIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmIsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NjMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjMsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWIsIAotICAgIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWIsIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmMsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjQsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWMsIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIAotICAgIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIAotICAgIDB4ZDIsIDB4NmQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjUsIDB4ODAsIAotICAgIDB4MDIsIDB4YzIsIDB4NjUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWQsIAotICAgIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIAotICAgIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIAotICAgIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjYsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIAotICAgIDB4ZDIsIDB4NWUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWUsIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmYsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NmYsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjcsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjcsIDB4YTUsIAotICAgIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWYsIDB4MDIsIDB4NjIsIDB4N2YsIDB4NTQsIAotICAgIDB4ZjAsIDB4YzQsIDB4YTUsIDB4ZmYsIDB4YzQsIDB4YTUsIDB4NGYsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4MjIsIDB4Y2EsIDB4MTksIDB4NWUsIDB4MjAsIDB4MDcsIDB4NGMsIDB4YTIsIDB4N2UsIDB4NzQsIDB4MjksIDB4ZTMsIDB4Y2EsIDB4NzksIAotICAgIDB4N2EsIDB4NzksIDB4YTAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4YjAsIDB4MGIsIDB4NzQsIDB4ZGEsIDB4NzksIDB4N2UsIDB4MzAsIDB4MDIsIDB4N2UsIAotICAgIDB4NjQsIDB4MDAsIDB4MDIsIDB4MDIsIDB4NjIsIDB4ZGUsIDB4Y2EsIDB4MTksIDB4NWUsIDB4MjAsIDB4MDcsIDB4NGMsIDB4YTIsIDB4N2UsIDB4NzQsIDB4MjksIAotICAgIDB4ZTMsIDB4Y2EsIDB4NzksIDB4N2EsIDB4NzksIDB4YTAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4YjAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4NjAsIAotICAgIDB4MGIsIDB4NzQsIDB4ZGEsIDB4NzksIDB4N2UsIDB4MzAsIDB4MDMsIDB4N2UsIDB4NjQsIDB4MDAsIDB4MDMsIDB4MDIsIDB4NjIsIDB4ZGUsIDB4ZDIsIDB4MDQsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4MjYsIDB4YmUsIDB4MjQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MmUsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2UsIDB4NzksIDB4YTAsIDB4N2EsIDB4MDksIDB4YTAsIDB4MGIsIDB4MDQsIDB4MGIsIDB4NzQsIDB4YmQsIDB4MDQsIAotICAgIDB4NjgsIDB4MjMsIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjUsIDB4NDYsIDB4MmQsIDB4MjYsIDB4N2EsIDB4MjUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4ZGEsIDB4MTksIDB4YzIsIDB4ZDcsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OWEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4ZGEsIDB4MTksIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDcsIDB4NDgsIDB4YjYsIDB4NDYsIDB4MjUsIDB4NDcsIAotICAgIDB4MWMsIDB4NDksIDB4MTUsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDgsIDB4MWIsIDB4NDQsIDB4YzYsIDB4NDksIDB4NTksIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDksIDB4NjAsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGMsIDB4MGUsIDB4NDksIDB4N2QsIDB4NGEsIAotICAgIDB4NzQsIDB4NGMsIDB4NmQsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGIsIDB4NzMsIDB4NDQsIDB4YzYsIDB4NGMsIDB4YjEsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGMsIDB4YjgsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGYsIDB4NjYsIDB4NGMsIDB4ZDUsIDB4NGQsIAotICAgIDB4Y2MsIDB4NGYsIDB4YzUsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGUsIDB4Y2IsIDB4NDQsIDB4YzYsIDB4NTAsIDB4MDksIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTAsIDB4MTAsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTIsIDB4YmUsIDB4NTAsIDB4MmQsIDB4NTEsIAotICAgIDB4MjQsIDB4NTMsIDB4MWQsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTIsIDB4MjMsIDB4NDQsIDB4YzYsIDB4NTMsIDB4NjEsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTMsIDB4NjgsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTYsIDB4MTYsIDB4NTMsIDB4ODUsIDB4NTQsIAotICAgIDB4N2MsIDB4NTYsIDB4NzUsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTUsIDB4N2IsIDB4NDQsIDB4YzYsIDB4NTYsIDB4YjksIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTYsIDB4YzAsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTksIDB4NmUsIDB4NTYsIDB4ZGQsIDB4NTcsIAotICAgIDB4ZDQsIDB4NTksIDB4Y2QsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTgsIDB4ZDMsIDB4NDQsIDB4YzYsIDB4NWEsIDB4MTEsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWEsIDB4MTgsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWMsIDB4YzYsIDB4NWEsIDB4MzUsIDB4NWIsIAotICAgIDB4MmMsIDB4NWQsIDB4MjUsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWMsIDB4MmIsIDB4NDQsIDB4YzYsIDB4NWQsIDB4NjksIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWQsIDB4NzAsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NjAsIDB4MWUsIDB4NWQsIDB4OGQsIDB4NWUsIAotICAgIDB4ODQsIDB4NjAsIDB4N2QsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWYsIDB4ODMsIDB4NDQsIDB4YzYsIDB4NjAsIDB4YzEsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NjAsIDB4YzgsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4Y2EsIDB4MjksIDB4MWUsIDB4NTAsIDB4NDAsIAotICAgIDB4MGQsIDB4N2UsIDB4NTQsIDB4MGIsIDB4MTAsIDB4OWMsIDB4YjUsIDB4YTQsIDB4MmUsIDB4NTQsIDB4NjUsIDB4NDgsIDB4ODksIDB4NTQsIDB4N2UsIDB4MzksIAotICAgIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4MGIsIDB4MzQsIDB4ODAsIDB4ZTksIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIAotICAgIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIAotICAgIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIAotICAgIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIAotICAgIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIAotICAgIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIAotICAgIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIAotICAgIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIAotICAgIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIAotICAgIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4ZGEsIDB4MjksIDB4MjIsIDB4MWUsIDB4NTAsIDB4NDAsIDB4MGQsIDB4N2UsIAotICAgIDB4NTQsIDB4MGIsIDB4MWMsIDB4OWMsIDB4YjUsIDB4YTQsIDB4MmUsIDB4NTQsIDB4NjYsIDB4MTYsIDB4ODksIDB4NTQsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2EsIAotICAgIDB4MzksIDB4MDAsIDB4MGIsIDB4MzQsIDB4ODAsIDB4ZTksIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIAotICAgIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIAotICAgIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIAotICAgIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIAotICAgIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIAotICAgIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIAotICAgIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIAotICAgIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIAotICAgIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIAotICAgIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIAotICAgIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIAotICAgIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIAotICAgIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIAotICAgIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIAotICAgIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIAotICAgIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4MjIsIDB4NjcsIDB4OTYsIDB4NjksIDB4NjMsIDB4NjksIAotICAgIDB4N2IsIDB4NmEsIDB4NDksIDB4NmEsIDB4ZTQsIDB4NmIsIDB4OGUsIDB4NmIsIDB4YTksIDB4NmMsIDB4M2IsIDB4NmIsIDB4YzQsIDB4NmMsIDB4MDUsIDB4NjksIAotICAgIDB4OTYsIDB4NjksIDB4YWEsIDB4N2MsIDB4YjMsIDB4YmUsIDB4YjAsIDB4MGIsIDB4MjgsIDB4MTQsIDB4NzUsIDB4MzEsIDB4MDksIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4NzUsIDB4NmQsIDB4MTAsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4NDMsIDB4ZTEsIDB4YzAsIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4YzAsIDB4YTgsIAotICAgIDB4YzIsIDB4YWYsIDB4MjMsIDB4NmMsIDB4YWEsIDB4MmUsIDB4NTQsIDB4NjcsIDB4NGIsIDB4MGIsIDB4NTgsIDB4NTAsIDB4ODksIDB4NTQsIDB4MDEsIDB4MDIsIAotICAgIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4NzUsIDB4MzEsIDB4YjAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGEsIDB4MzIsIDB4MDksIDB4YjMsIAotICAgIDB4NjcsIDB4OGUsIDB4NDIsIDB4MzIsIDB4MTksIDB4NDMsIDB4MDAsIDB4MzYsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4M2IsIAotICAgIDB4NDksIDB4MzMsIDB4NjcsIDB4Y2IsIDB4MGEsIDB4MjIsIDB4MDksIDB4MzIsIDB4MDAsIDB4MzYsIDB4MDksIDB4YjIsIDB4NjcsIDB4OGUsIDB4YTUsIDB4YmIsIAotICAgIDB4MDAsIDB4MDUsIDB4ZjQsIDB4NTIsIDB4MzMsIDB4ODAsIDB4MDIsIDB4NDIsIDB4MzMsIDB4ODksIDB4MzQsIDB4NjcsIDB4ZGIsIDB4NjgsIDB4MDksIDB4NjgsIAotICAgIDB4MzcsIDB4NjgsIDB4NjUsIDB4NjgsIDB4OTMsIDB4NjgsIDB4YzEsIDB4NjgsIDB4ZWYsIDB4NjksIDB4MWQsIDB4MTIsIDB4NDEsIDB4YjUsIDB4ZDIsIDB4MjgsIAotICAgIDB4ZDIsIDB4MDgsIDB4YzIsIDB4NDAsIDB4YzIsIDB4NDgsIDB4YzIsIDB4MzgsIDB4YzIsIDB4MzAsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4Y2YsIAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWYsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YmYsIAotICAgIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjAsIDB4Y2YsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDEsIDB4ZDQsIDB4ZDIsIDB4MjksIDB4ZDIsIDB4MDksIAotICAgIDB4YzIsIDB4NDEsIDB4YzIsIDB4NDksIDB4YzIsIDB4MzksIDB4YzIsIDB4MzEsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDAsIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjEsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzEsIDB4MTIsIDB4NDEsIAotICAgIDB4MTYsIDB4MTIsIDB4NjEsIDB4MDUsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDEsIDB4ZjMsIDB4ZDIsIDB4MmEsIDB4ZDIsIDB4MGEsIDB4YzIsIDB4NDIsIAotICAgIDB4YzIsIDB4NGEsIDB4YzIsIDB4M2EsIDB4YzIsIDB4MzIsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDEsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzMsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIAotICAgIDB4NjEsIDB4M2IsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDIsIDB4MTIsIDB4ZDIsIDB4MmIsIDB4ZDIsIDB4MGIsIDB4YzIsIDB4NDMsIDB4YzIsIDB4NGIsIAotICAgIDB4YzIsIDB4M2IsIDB4YzIsIDB4MzMsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDIsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4YjUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzUsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjEsIDB4NzEsIAotICAgIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDIsIDB4MzEsIDB4ZDIsIDB4MmMsIDB4ZDIsIDB4MGMsIDB4YzIsIDB4NDQsIDB4YzIsIDB4NGMsIDB4YzIsIDB4M2MsIAotICAgIDB4YzIsIDB4MzQsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjcsIAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzcsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjEsIDB4YTcsIDB4MDIsIDB4NjksIAotICAgIDB4NGIsIDB4MTIsIDB4NDIsIDB4NTAsIDB4ZDIsIDB4MmQsIDB4ZDIsIDB4MGQsIDB4YzIsIDB4NDUsIDB4YzIsIDB4NGQsIDB4YzIsIDB4M2QsIDB4YzIsIDB4MzUsIAotICAgIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDQsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjksIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjEsIDB4ZGQsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIAotICAgIDB4NDIsIDB4NmYsIDB4ZDIsIDB4MmUsIDB4ZDIsIDB4MGUsIDB4YzIsIDB4NDYsIDB4YzIsIDB4NGUsIDB4YzIsIDB4M2UsIDB4YzIsIDB4MzYsIDB4NmQsIDB4MDAsIAotICAgIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YmIsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjIsIDB4MTMsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDIsIDB4OGUsIAotICAgIDB4ZDIsIDB4MmYsIDB4ZDIsIDB4MGYsIDB4YzIsIDB4NDcsIDB4YzIsIDB4NGYsIDB4YzIsIDB4M2YsIDB4YzIsIDB4MzcsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIAotICAgIDB4MDEsIDB4ZDYsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YmQsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4Y2QsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjIsIDB4NDksIDB4MDIsIDB4NjksIDB4NGIsIDB4N2UsIDB4YTAsIDB4ZDAsIDB4N2UsIDB4NjAsIAotICAgIDB4MGYsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MGMsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIAotICAgIDB4YzIsIDB4ZDcsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGEsIDB4NTIsIDB4MjMsIDB4NmQsIDB4MDAsIDB4NTksIDB4MDUsIAotICAgIDB4MDAsIDB4NDgsIDB4MTIsIDB4NDEsIDB4N2UsIDB4MTIsIDB4NDEsIDB4OWEsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjIsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4NjcsIDB4OGUsIDB4NDIsIDB4MjMsIDB4N2UsIDB4YjAsIDB4OWMsIDB4MTksIDB4YjIsIDB4MDEsIDB4Y2YsIAotICAgIDB4MTIsIDB4MzEsIDB4ODUsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIAotICAgIDB4NjcsIDB4OGUsIDB4NDIsIDB4MjQsIDB4MTIsIDB4MzUsIDB4M2QsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjksIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4MGEsIDB4MzIsIDB4MDksIDB4YjMsIDB4NjcsIDB4OGUsIDB4NDIsIDB4MzQsIDB4MTksIDB4NDMsIDB4MDAsIDB4M2UsIDB4MTIsIDB4NjksIDB4YzIsIDB4ZDAsIAotICAgIDB4YTgsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MGIsIDB4N2MsIDB4YjQsIDB4MjAsIDB4ZTAsIDB4MDQsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MDQsIAotICAgIDB4NDksIDB4MzAsIDB4MDEsIDB4OGYsIDB4N2UsIDB4YTAsIDB4ZDgsIDB4YTUsIDB4ZWYsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MjksIDB4MTIsIDB4NjIsIDB4YjYsIAotICAgIDB4ZGEsIDB4MjksIDB4ZGEsIDB4MGIsIDB4NDAsIDB4NjIsIDB4NzUsIDB4MzEsIDB4YmEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2MsIDB4YjQsIDB4MzAsIDB4ZTAsIAotICAgIDB4MWUsIDB4NmQsIDB4MzMsIDB4NTksIDB4MzAsIDB4MDEsIDB4OGYsIDB4N2UsIDB4MzQsIDB4MDksIDB4ZTMsIDB4MGEsIDB4ODIsIDB4N2UsIDB4OTQsIDB4MDQsIAotICAgIDB4MDAsIDB4YWQsIDB4ODksIDB4MmQsIDB4MzksIDB4NTksIDB4MzAsIDB4MDEsIDB4NmYsIDB4NTksIDB4MzAsIDB4MDEsIDB4N2YsIDB4N2MsIDB4YjQsIDB4MzAsIAotICAgIDB4ZTEsIDB4MTAsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4NDQsIDB4MDQsIDB4MTksIDB4YjAsIAotICAgIDB4MDAsIDB4MDgsIDB4MGEsIDB4MDIsIDB4MDksIDB4YjAsIDB4NjcsIDB4OGUsIDB4NDIsIDB4MjEsIDB4ZjQsIDB4NTIsIDB4MzQsIDB4N2MsIDB4YjIsIDB4MjMsIAotICAgIDB4MGEsIDB4MGIsIDB4Y2EsIDB4MTksIDB4NDksIDB4MDAsIDB4MzAsIDB4ZDUsIDB4OTksIDB4MDQsIDB4ZGEsIDB4MTksIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIAotICAgIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIAotICAgIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIAotICAgIDB4MGMsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDEsIDB4NjgsIDB4MTIsIDB4NDQsIDB4NDAsIDB4Y2EsIDB4YjgsIDB4MDksIDB4YjAsIDB4MDAsIDB4MTAsIAotICAgIDB4NDQsIDB4MDIsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4ZGEsIDB4YjgsIDB4ODAsIDB4MDIsIDB4NTQsIDB4YmYsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIAotICAgIDB4MDgsIDB4NjgsIDB4MDQsIDB4NDQsIDB4MDgsIDB4ODAsIDB4MDIsIDB4NTQsIDB4ZjcsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4Y2EsIDB4YjgsIDB4NzQsIAotICAgIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZGEsIDB4YjgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4MGEsIAotICAgIDB4NjIsIDB4MDksIDB4YjYsIDB4NjcsIDB4OGUsIDB4M2UsIDB4MjAsIDB4MGEsIDB4NjIsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIDB4NjgsIDB4MjAsIAotICAgIDB4NDIsIDB4MjcsIDB4Y2EsIDB4YjgsIDB4NzQsIDB4NjEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NTksIDB4NDYsIAotICAgIDB4MDEsIDB4YmYsIDB4MDksIDB4YjAsIDB4MDAsIDB4MTAsIDB4NDQsIDB4MDEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4ZGEsIDB4YjgsIDB4ODAsIDB4MTEsIAotICAgIDB4ZjQsIDB4NTIsIDB4MjcsIDB4NzQsIDB4YTEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MzgsIDB4NTksIDB4NDYsIDB4MDEsIAotICAgIDB4YmYsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2MsIDB4NzQsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MGEsIDB4NjIsIDB4MDksIDB4YjYsIAotICAgIDB4NjcsIDB4OGUsIDB4YTUsIDB4ZmQsIDB4ZjQsIDB4YTUsIDB4ZmUsIDB4Y2EsIDB4MjgsIDB4M2UsIDB4MjAsIDB4MGEsIDB4NjIsIDB4YTUsIDB4ZWUsIDB4NTIsIAotICAgIDB4MjYsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MjAsIDB4NTksIDB4NDYsIDB4MDEsIDB4YWYsIDB4ZGEsIDB4MjgsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIAotICAgIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDEsIDB4NjgsIDB4MGMsIAotICAgIDB4NDQsIDB4ODAsIDB4Y2EsIDB4YjgsIDB4YTUsIDB4ZWQsIDB4NDIsIDB4MmEsIDB4ZGEsIDB4YjgsIDB4ODAsIDB4MGEsIDB4NTQsIDB4N2YsIDB4Y2EsIDB4YjgsIAotICAgIDB4YTUsIDB4ZWUsIDB4NTIsIDB4MmEsIDB4ZGEsIDB4YjgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDgsIDB4NjgsIDB4MDQsIDB4NDQsIDB4MDIsIDB4ODAsIAotICAgIDB4MDIsIDB4NTQsIDB4ZmQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIAotICAgIDB4NjgsIDB4MTAsIDB4YTUsIDB4ZWQsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjYsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MDgsIDB4NTksIDB4NDYsIDB4MDEsIDB4YWYsIAotICAgIDB4ODAsIDB4MDQsIDB4YTUsIDB4ZWUsIDB4NTIsIDB4MjgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDQsIDB4NjgsIDB4MTAsIDB4YTUsIDB4ZWQsIDB4NDIsIAotICAgIDB4MjksIDB4NDIsIDB4MjYsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MDgsIDB4NTksIDB4NDYsIDB4MDEsIDB4YWYsIDB4ODAsIDB4MGIsIDB4YTUsIDB4ZWUsIDB4NTIsIAotICAgIDB4MjksIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIDB4NzgsIDB4MDAsIDB4MTIsIDB4NDIsIDB4YWQsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIAotICAgIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MTksIDB4NDAsIAotICAgIDB4MDAsIDB4MTAsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIAotICAgIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MTksIDB4NDAsIDB4MDAsIDB4MTgsIDB4MTksIDB4MzAsIDB4MDAsIAotICAgIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIAotICAgIDB4MDksIDB4YjAsIDB4MDAsIDB4MGMsIDB4NDQsIDB4NDAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZTUsIDB4NmUsIDB4YjQsIDB4MDcsIDB4MjMsIDB4MDksIAotICAgIDB4YjAsIDB4MDAsIDB4MTAsIDB4NGUsIDB4YjAsIDB4MDIsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIAotICAgIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZjcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MzAsIAotICAgIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MDIsIDB4ZTUsIDB4NmUsIDB4YjQsIDB4MDcsIDB4MTgsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIAotICAgIDB4MDksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NDQsIDB4MDgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIAotICAgIDB4MDAsIDB4MGMsIDB4NTQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjQsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4MjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGEsIDB4MzIsIDB4MDksIAotICAgIDB4YjMsIDB4NjcsIDB4OGUsIDB4NDIsIDB4MzUsIDB4MTIsIDB4NmMsIDB4NWIsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIAotICAgIDB4YzgsIDB4N2MsIDB4NjQsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTMsIDB4MGEsIDB4MzIsIDB4MDksIDB4YjMsIDB4NjcsIDB4OGUsIDB4ZjQsIDB4NTIsIAotICAgIDB4MzUsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4NmMsIDB4OGMsIDB4NmMsIDB4ZDMsIAotICAgIDB4NmQsIDB4MWEsIDB4NmQsIDB4NjEsIDB4NmQsIDB4YTgsIDB4NmQsIDB4ZWYsIDB4NmUsIDB4MzYsIDB4NmUsIDB4N2QsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4N2YsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OGYsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIAotICAgIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MGQsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIAotICAgIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4N2YsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OGYsIDB4MDIsIDB4NDYsIDB4MGYsIDB4N2UsIDB4MTQsIDB4MDksIAotICAgIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIAotICAgIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODEsIDB4N2UsIAotICAgIDB4MjcsIDB4MDEsIDB4OTEsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIAotICAgIDB4MTQsIDB4MTEsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4ODEsIDB4N2EsIDB4MjcsIDB4MDEsIAotICAgIDB4OTEsIDB4MDIsIDB4NDksIDB4NjcsIDB4N2UsIDB4MTQsIDB4MGQsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4NzUsIDB4MzEsIDB4MDIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODMsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTMsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIAotICAgIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MTUsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIAotICAgIDB4N2EsIDB4MTcsIDB4MDEsIDB4ODMsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTMsIDB4MDIsIDB4NGMsIDB4YmYsIDB4N2UsIDB4MTQsIDB4MTEsIDB4ZTMsIDB4ODAsIAotICAgIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODUsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OTUsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MTksIAotICAgIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4ODUsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTUsIDB4MDIsIAotICAgIDB4NTAsIDB4MTcsIDB4N2UsIDB4MTQsIDB4MTUsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIAotICAgIDB4MDQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODcsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTcsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIAotICAgIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MWQsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIAotICAgIDB4MDEsIDB4ODcsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTcsIDB4MDIsIDB4NTMsIDB4NmYsIDB4N2UsIDB4MTQsIDB4MTksIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIAotICAgIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODksIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTksIDB4MmQsIAotICAgIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjEsIDB4ZTIsIDB4MzgsIAotICAgIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4ODksIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTksIDB4MDIsIDB4NTYsIDB4YzcsIAotICAgIDB4N2UsIDB4MTQsIDB4MWQsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDYsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIAotICAgIDB4MDEsIDB4OGIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWIsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIAotICAgIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjUsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4OGIsIAotICAgIDB4N2EsIDB4MjcsIDB4MDEsIDB4OWIsIDB4MDIsIDB4NWEsIDB4MWYsIDB4N2UsIDB4MTQsIDB4MjEsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIAotICAgIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4OGQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWQsIDB4MmQsIDB4MjMsIDB4N2UsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjksIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIAotICAgIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4OGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OWQsIDB4MDIsIDB4NWQsIDB4NzcsIDB4N2UsIDB4MTQsIAotICAgIDB4MjUsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4Y2EsIDB4YjgsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4MzEsIDB4MDIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZTUsIDB4YzAsIAotICAgIDB4NTQsIDB4MDMsIDB4NjgsIDB4MDUsIDB4MTIsIDB4NzUsIDB4Y2QsIDB4ODAsIDB4ZjUsIDB4MzAsIDB4YzIsIDB4MDgsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIAotICAgIDB4NmYsIDB4ZDksIDB4ODAsIDB4MTQsIDB4MzAsIDB4YzMsIDB4MDgsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmUsIDB4ZmQsIDB4ODAsIDB4MDksIDB4MzAsIAotICAgIDB4YzQsIDB4MDYsIDB4NzUsIDB4ZjEsIDB4MDIsIDB4MTIsIDB4NzAsIDB4ZTksIDB4ZDAsIDB4ZjEsIDB4ZGEsIDB4YjgsIDB4MzIsIDB4NzUsIDB4MzEsIDB4MTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MzksIDB4Y2EsIDB4NTksIDB4YzIsIDB4YzMsIDB4YTksIDB4MjEsIDB4ZTIsIDB4NWMsIDB4ZTUsIAotICAgIDB4ZTUsIDB4NTQsIDB4YzAsIDB4NjgsIDB4NGYsIDB4ZTUsIDB4ZTYsIDB4NmMsIDB4YWEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGIsIDB4MmQsIDB4MzUsIDB4YmUsIAotICAgIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4NGEsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZGIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZDksIDB4N2QsIDB4NDMsIDB4MmQsIAotICAgIDB4NDUsIDB4YmUsIDB4NDQsIDB4MDksIDB4ZTIsIDB4MzgsIDB4NDAsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZDksIDB4NzUsIDB4MzEsIDB4MTEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NzEsIDB4YjgsIDB4YTksIDB4MjEsIDB4ZTUsIDB4MWYsIDB4YTksIDB4ZDQsIAotICAgIDB4ZTQsIDB4YTksIDB4MjQsIDB4ZTQsIDB4ZmMsIDB4YzIsIDB4YzMsIDB4YTksIDB4MjEsIDB4ZTIsIDB4M2IsIDB4ZTUsIDB4ZTUsIDB4NTQsIDB4YzAsIDB4NzgsIAotICAgIDB4YjQsIDB4MTIsIDB4NzQsIDB4NWEsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MzksIDB4ZGEsIDB4MGIsIDB4MjIsIDB4ODAsIDB4MjksIDB4ODAsIDB4NTgsIDB4NzUsIAotICAgIDB4MzEsIDB4MTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ODAsIDB4ZWQsIDB4NzUsIDB4MzEsIDB4MTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4YjEsIDB4MzEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDksIDB4ZTMsIDB4OWQsIDB4NTQsIDB4MTIsIDB4NzEsIDB4YjgsIDB4N2UsIDB4MzQsIDB4MDUsIDB4ZTMsIAotICAgIDB4N2QsIDB4NTQsIDB4MmQsIDB4NDMsIDB4ODAsIDB4YTEsIDB4ZTUsIDB4ZTUsIDB4NTQsIDB4MDMsIDB4NzgsIDB4MTIsIDB4NzUsIDB4MzEsIDB4MTMsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2UsIDB4MGYsIDB4MjksIDB4ZmYsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MjksIDB4ZmYsIDB4ODAsIDB4YTcsIDB4NzUsIDB4MzEsIAotICAgIDB4MTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MGYsIDB4MmEsIDB4MDMsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MmEsIDB4MDMsIDB4YTksIDB4ZDcsIAotICAgIDB4ZTQsIDB4YTksIDB4MjcsIDB4ZTQsIDB4ZmMsIDB4ODAsIDB4OWQsIDB4NzUsIDB4MzEsIDB4MTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MGYsIDB4MmEsIAotICAgIDB4MDcsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MmEsIDB4MDcsIDB4ODAsIDB4ZTUsIDB4NzUsIDB4MzEsIDB4MTgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4Y2EsIAotICAgIDB4MDksIDB4Y2EsIDB4MzksIDB4Y2EsIDB4MmIsIDB4YzIsIDB4YzIsIDB4YTksIDB4MjEsIDB4ZjIsIDB4NTIsIDB4ZTUsIDB4ZjUsIDB4MzMsIDB4ODIsIDB4ZTcsIAotICAgIDB4NDAsIDB4NDQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4NTQsIDB4MDAsIDB4NDAsIDB4OWQsIDB4MzUsIDB4NDAsIDB4NDMsIDB4N2EsIDB4MzcsIAotICAgIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGQsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDUsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NTIsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGQsIDB4N2QsIDB4NDUsIDB4MTIsIDB4NzMsIDB4MTYsIDB4YTksIDB4MjAsIDB4ZjUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4MTksIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4OTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4ODEsIDB4ZjcsIDB4N2EsIDB4OTEsIDB4ZjYsIDB4ZTUsIAotICAgIDB4ZjUsIDB4MzMsIDB4ODIsIDB4ZTcsIDB4NTAsIDB4YmMsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MzksIDB4ZGEsIDB4MDksIDB4MjIsIDB4ODAsIDB4NDEsIDB4ODAsIAotICAgIDB4NjQsIDB4MmQsIDB4NTMsIDB4NmQsIDB4MzMsIDB4NzAsIDB4YjcsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4ZGQsIDB4YTksIDB4MzIsIDB4ZjIsIDB4ZGYsIDB4ODUsIDB4MzAsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4ZjYsIDB4MDAsIAotICAgIDB4ODAsIDB4ZDQsIDB4Y2EsIDB4NTksIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4NTQsIDB4MTIsIDB4NzMsIDB4MTYsIDB4N2UsIDB4MzQsIDB4MDEsIAotICAgIDB4ZTMsIDB4N2QsIDB4NTQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGQsIDB4MTIsIDB4NzMsIDB4MTYsIDB4ZGEsIDB4NDksIDB4ODAsIDB4OTksIAotICAgIDB4ZTUsIDB4ZjUsIDB4NTQsIDB4MDMsIDB4NzgsIDB4MWYsIDB4N2UsIDB4MGYsIDB4MjksIDB4ZWYsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MjksIDB4ZWYsIAotICAgIDB4ODAsIDB4OWQsIDB4N2UsIDB4MGYsIDB4MjksIDB4ZjcsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MjksIDB4ZjcsIDB4YTksIDB4ZDcsIDB4ZjQsIDB4YTksIAotICAgIDB4MjcsIDB4ZjQsIDB4ZmMsIDB4ODAsIDB4OGEsIDB4N2UsIDB4MGYsIDB4MjksIDB4ZjMsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MjksIDB4ZjMsIDB4ODAsIAotICAgIDB4ZWIsIDB4ZTUsIDB4ZjUsIDB4NTQsIDB4MDMsIDB4NzgsIDB4MWYsIDB4N2UsIDB4MmYsIDB4MmEsIDB4MGYsIDB4MGIsIDB4MmMsIDB4N2EsIDB4MmYsIDB4MmEsIAotICAgIDB4MGYsIDB4ODAsIDB4MzQsIDB4N2UsIDB4MmYsIDB4MmEsIDB4MTcsIDB4MGIsIDB4MmMsIDB4N2EsIDB4MmYsIDB4MmEsIDB4MTcsIDB4YTksIDB4ZDcsIDB4ZjQsIAotICAgIDB4YTksIDB4MjcsIDB4ZjQsIDB4ZmMsIDB4ODAsIDB4MjEsIDB4N2UsIDB4MmYsIDB4MmEsIDB4MTMsIDB4MGIsIDB4MmMsIDB4N2EsIDB4MmYsIDB4MmEsIDB4MTMsIAotICAgIDB4ODAsIDB4ZWIsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4NzUsIDB4MzEsIDB4MjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4Y2EsIAotICAgIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4YzIsIDB4YzQsIDB4YTksIDB4MjEsIDB4ZjIsIDB4YjYsIDB4ZTUsIDB4ZjUsIDB4MzMsIDB4NzIsIDB4ZTcsIAotICAgIDB4NDAsIDB4ZTAsIDB4N2UsIDB4MGQsIDB4NDYsIDB4N2UsIDB4MWQsIDB4NGEsIDB4N2UsIDB4MmQsIDB4NGUsIDB4N2UsIDB4M2QsIDB4NTIsIDB4N2UsIDB4ODUsIAotICAgIDB4NTYsIDB4N2QsIDB4OTAsIDB4NGQsIDB4OTEsIDB4NGQsIDB4OTIsIDB4NGQsIDB4OTMsIDB4NGQsIDB4OTQsIDB4NGQsIDB4OTUsIDB4NGQsIDB4OTYsIDB4NGQsIAotICAgIDB4OTcsIDB4NGQsIDB4OTgsIDB4NjgsIDB4NzIsIDB4N2EsIDB4MTEsIDB4ZjMsIDB4N2EsIDB4MDEsIDB4ZjMsIDB4N2EsIDB4MzEsIDB4ZjMsIDB4N2EsIDB4MjEsIAotICAgIDB4ZjMsIDB4N2EsIDB4NTEsIDB4ZjMsIDB4N2EsIDB4NDEsIDB4ZjMsIDB4N2EsIDB4NzEsIDB4ZjMsIDB4N2EsIDB4NjEsIDB4ZjMsIDB4N2EsIDB4OTEsIDB4ZjMsIAotICAgIDB4N2EsIDB4ODEsIDB4ZjMsIDB4MzAsIDB4N2IsIDB4MWEsIDB4N2EsIDB4YjEsIDB4ZjMsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4N2EsIDB4ZDEsIDB4ZjMsIDB4N2EsIAotICAgIDB4YzEsIDB4ZjMsIDB4N2EsIDB4ZjEsIDB4ZjMsIDB4N2EsIDB4ZTEsIDB4ZjMsIDB4N2QsIDB4NzgsIDB4N2EsIDB4ZjEsIDB4ZjMsIDB4N2EsIDB4ZTEsIDB4ZjMsIAotICAgIDB4YTksIDB4MzAsIDB4ZjUsIDB4MDMsIDB4MDIsIDB4NzAsIDB4ZDYsIDB4NzUsIDB4MzEsIDB4MjksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4N2IsIDB4MGIsIAotICAgIDB4NzUsIDB4MzEsIDB4MGEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4ZjYsIDB4MGEsIDB4ODAsIDB4MDksIDB4NzUsIDB4MzEsIDB4MTIsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4NzUsIDB4ZjYsIDB4MTIsIDB4NmQsIDB4MDAsIDB4N2QsIDB4MTAsIDB4N2EsIDB4MGQsIDB4NDYsIDB4N2EsIDB4MGQsIDB4NGEsIDB4N2EsIDB4MGQsIAotICAgIDB4NGUsIDB4N2EsIDB4MGQsIDB4NTIsIDB4N2EsIDB4MDUsIDB4NTYsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4MWUsIDB4YjAsIAotICAgIDB4NDAsIDB4MGMsIDB4N2UsIDB4YTAsIDB4MGEsIDB4YTQsIDB4N2UsIDB4MDQsIDB4NzIsIDB4ZmIsIDB4OWQsIDB4MDUsIDB4ODksIDB4MDQsIDB4N2UsIDB4YTEsIAotICAgIDB4ZTMsIDB4N2EsIDB4MzksIDB4YTAsIDB4MGIsIDB4MzQsIDB4ODAsIDB4ZWEsIDB4YjQsIDB4NDAsIDB4ZTMsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIAotICAgIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIAotICAgIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIAotICAgIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIAotICAgIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIAotICAgIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIAotICAgIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIAotICAgIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIAotICAgIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIAotICAgIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIAotICAgIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIAotICAgIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIAotICAgIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4MjIsIDB4MWUsIDB4YjAsIDB4NDAsIDB4MGMsIAotICAgIDB4N2UsIDB4YTAsIDB4MGEsIDB4YTQsIDB4N2UsIDB4MDQsIDB4NzQsIDB4NTksIDB4OWQsIDB4MDUsIDB4ODksIDB4MDQsIDB4N2UsIDB4MzksIDB4YTAsIDB4N2EsIAotICAgIDB4YTEsIDB4ZjMsIDB4MGIsIDB4MzQsIDB4ODAsIDB4ZWEsIDB4YjQsIDB4NDAsIDB4ZTMsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIAotICAgIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIAotICAgIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIAotICAgIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIAotICAgIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIAotICAgIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIAotICAgIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIAotICAgIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIAotICAgIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIAotICAgIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIAotICAgIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIAotICAgIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIAotICAgIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MjIsIDB4YzIsIDB4YWYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGIsIAotICAgIDB4NGQsIDB4MzMsIDB4NjgsIDB4M2IsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZDcsIDB4N2UsIDB4NTQsIDB4MDksIDB4ZTMsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MzUsIAotICAgIDB4NDAsIDB4MDIsIDB4N2QsIDB4MzUsIDB4Y2EsIDB4MzksIDB4N2UsIDB4NjUsIDB4NjEsIDB4OTksIDB4NjQsIDB4ZGEsIDB4MzksIDB4N2UsIDB4MDcsIDB4MDEsIAotICAgIDB4ZGIsIDB4OWQsIDB4MDMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGIsIDB4MmUsIDB4MzcsIDB4MDEsIDB4ZDcsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZDcsIDB4YmUsIAotICAgIDB4MzQsIDB4MDksIDB4ZTIsIDB4MjgsIDB4YzcsIDB4N2UsIDB4MzQsIDB4MDUsIDB4ZTMsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZDcsIDB4ODAsIDB4YmQsIDB4ZDIsIAotICAgIDB4YWYsIDB4MjIsIDB4NzUsIDB4MzEsIDB4NTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTUsIDB4NjMsIDB4ODAsIDB4MTEsIDB4NzUsIDB4MzEsIDB4NTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGIsIDB4MDgsIDB4MTAsIDB4MGIsIDB4MDUsIDB4OWUsIDB4MzQsIDB4MDAsIDB4MDIsIDB4MjgsIDB4NGQsIDB4N2MsIDB4YjIsIAotICAgIDB4MjAsIDB4ZTcsIDB4MjcsIDB4NTQsIDB4MDcsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4NmMsIDB4N2MsIDB4N2MsIDB4YjIsIDB4NTQsIDB4NzgsIAotICAgIDB4MDMsIDB4MDMsIDB4MDMsIDB4N2MsIDB4MmIsIDB4OWQsIDB4MTMsIDB4NDAsIDB4MWEsIDB4NjgsIDB4MTIsIDB4N2EsIDB4MTUsIDB4NjMsIDB4N2EsIDB4MjUsIAotICAgIDB4NjUsIDB4N2UsIDB4NjQsIDB4NzUsIDB4MzcsIDB4N2EsIDB4NjUsIDB4NjEsIDB4ODksIDB4MjQsIDB4MDIsIDB4NzUsIDB4NDUsIDB4N2UsIDB4NjQsIDB4NzQsIAotICAgIDB4YWQsIDB4ODAsIDB4ZjIsIDB4MmQsIDB4MTMsIDB4OWQsIDB4MzEsIDB4Y2EsIDB4MzksIDB4N2QsIDB4MzEsIDB4MmQsIDB4MTAsIDB4Y2EsIDB4MTksIDB4Y2EsIAotICAgIDB4MjksIDB4OTksIDB4MjQsIDB4ZGEsIDB4MjksIDB4ZGEsIDB4MDksIDB4ZGEsIDB4MzksIDB4ODAsIDB4YTIsIDB4N2EsIDB4MTUsIDB4NjMsIDB4N2UsIDB4NjQsIAotICAgIDB4NzUsIDB4MjMsIDB4NGQsIDB4MzMsIDB4NzgsIDB4MDksIDB4N2MsIDB4YjIsIDB4MjAsIDB4ZTcsIDB4MmEsIDB4N2UsIDB4NjQsIDB4NzQsIDB4YTIsIDB4N2EsIAotICAgIDB4NjUsIDB4NjEsIDB4MjIsIDB4NzUsIDB4MzEsIDB4NTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MjEsIDB4NjMsIDB4N2UsIDB4MDksIDB4MzAsIDB4MGIsIAotICAgIDB4MDQsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ODksIDB4ODAsIDB4ZDQsIDB4NzUsIDB4MzEsIDB4NTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTUsIDB4NjMsIAotICAgIDB4N2UsIDB4MjUsIDB4NjUsIDB4ODAsIDB4OTAsIDB4NWUsIDB4MjAsIDB4MDcsIDB4NTQsIDB4NzgsIDB4N2UsIDB4NDQsIDB4NzUsIDB4YzEsIDB4MzAsIDB4ZTYsIAotICAgIDB4MTYsIDB4NGQsIDB4MzMsIDB4NjgsIDB4MjYsIDB4MWIsIDB4MzQsIDB4N2UsIDB4MDksIDB4NDAsIDB4MGIsIDB4MDQsIDB4N2UsIDB4NDQsIDB4NjcsIDB4NjMsIAotICAgIDB4MjAsIDB4ZTMsIDB4MDQsIDB4N2UsIDB4NDQsIDB4NzUsIDB4YzksIDB4Y2EsIDB4MDksIDB4Y2EsIDB4MzksIDB4OTksIDB4NDQsIDB4ZGEsIDB4MzksIDB4ZGEsIAotICAgIDB4MDksIDB4N2UsIDB4NjQsIDB4NzQsIDB4YWQsIDB4NGQsIDB4MzMsIDB4NjgsIDB4YTYsIDB4ODksIDB4NjQsIDB4N2EsIDB4MTUsIDB4NjMsIDB4ZjUsIDB4NjUsIAotICAgIDB4N2UsIDB4NjQsIDB4NzUsIDB4ODYsIDB4ODAsIDB4OTksIDB4N2UsIDB4MTUsIDB4NjMsIDB4ZTUsIDB4NjUsIDB4ODAsIDB4YzQsIDB4YzAsIDB4ZDAsIDB4YzAsIAotICAgIDB4ZDEsIDB4YzAsIDB4ZTAsIDB4Y2EsIDB4MTksIDB4YTksIDB4MjAsIDB4ZGYsIDB4MTIsIDB4YTksIDB4MjEsIDB4ZGYsIDB4MWIsIDB4NzUsIDB4MzEsIDB4MDEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTMsIDB4ZGYsIDB4ZjcsIDB4MTIsIDB4NDAsIDB4ZGMsIDB4ODAsIDB4MGQsIDB4NzUsIDB4MzEsIDB4ZmUsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2UsIDB4MTQsIDB4MDAsIDB4NTMsIDB4MDIsIDB4NDAsIDB4NTEsIDB4ZGEsIDB4MTksIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ZDEsIDB4ZDAsIDB4ZDAsIAotICAgIDB4MzIsIDB4MDMsIDB4YTUsIDB4Y2IsIDB4MTksIDB4YjEsIDB4ODAsIDB4MDAsIDB4MjIsIDB4MjIsIDB4MDIsIDB4NzYsIDB4NDIsIDB4Y2EsIDB4MGIsIDB4Y2EsIAotICAgIDB4MWIsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4M2IsIDB4Y2EsIDB4NGIsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4YzAsIAotICAgIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzMsIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MTksIDB4YjQsIDB4MDEsIDB4MTYsIDB4MzAsIDB4YzAsIDB4MDgsIAotICAgIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIDB4MmMsIDB4ODAsIDB4MWYsIDB4MzAsIDB4YzEsIDB4MWMsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIAotICAgIDB4YmQsIDB4ODAsIDB4MTQsIDB4MzAsIDB4YzEsIDB4MDgsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIDB4YmQsIDB4ODAsIDB4MDksIDB4MzAsIDB4YzAsIAotICAgIDB4MDYsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIDB4MmMsIDB4ZDAsIDB4ZjEsIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4NmIsIDB4ZGEsIAotICAgIDB4NWIsIDB4ZGEsIDB4NGIsIDB4ZGEsIDB4M2IsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4YzIsIDB4YzAsIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MzMsIDB4YjQsIDB4MDIsIDB4MDcsIDB4MTIsIDB4NzYsIDB4NGUsIDB4MDIsIDB4NzYsIDB4NDIsIDB4MjIsIDB4YjQsIDB4MDEsIDB4ZmMsIDB4MDIsIAotICAgIDB4NzYsIDB4ODgsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MmEsIDB4MzMsIDB4N2EsIDB4MDMsIDB4MmEsIDB4MzQsIDB4MjIsIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MmIsIDB4NTQsIDB4NjAsIDB4NjAsIDB4MDUsIDB4YjQsIDB4NDAsIDB4MTUsIDB4ODAsIDB4MTMsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIAotICAgIDB4MDUsIDB4MGMsIDB4NzUsIDB4MzEsIDB4NzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4ZjUsIDB4OGYsIDB4MjIsIDB4NzUsIAotICAgIDB4ZjYsIDB4MDAsIDB4MjIsIDB4YmUsIDB4NTcsIDB4MmEsIDB4MzEsIDB4MjgsIDB4MDQsIDB4N2UsIDB4NTcsIDB4MmEsIDB4MzEsIDB4N2EsIDB4MGYsIDB4MmEsIAotICAgIDB4MzYsIDB4N2EsIDB4NTcsIDB4MmEsIDB4M2EsIDB4MDIsIDB4NzYsIDB4ODgsIDB4N2UsIDB4ZWYsIDB4MmEsIDB4MzYsIDB4N2UsIDB4ZjcsIDB4MmEsIDB4M2EsIAotICAgIDB4N2UsIDB4MDcsIDB4MmEsIDB4M2EsIDB4NGQsIDB4MDAsIDB4NjgsIDB4MjEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2UsIDB4ZWIsIDB4YjAsIDB4ZjUsIDB4ZjMsIAotICAgIDB4YTMsIDB4YTUsIDB4MDgsIDB4MWIsIDB4ZjQsIDB4NjgsIDB4MDQsIDB4YTUsIDB4YjgsIDB4MDgsIDB4ZjAsIDB4N2EsIDB4ZWYsIDB4MmEsIDB4MzYsIDB4N2EsIAotICAgIDB4ZjcsIDB4MmEsIDB4M2EsIDB4NzUsIDB4MzEsIDB4MDYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MDEsIDB4ZjYsIDB4MjIsIDB4YzIsIDB4YzEsIDB4NzUsIAotICAgIDB4MzEsIDB4MDMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTksIDB4MzYsIDB4ZTIsIDB4MTYsIDB4ZTUsIDB4ZjUsIDB4NTQsIDB4YzAsIDB4NjgsIDB4MDcsIDB4YTksIAotICAgIDB4ZDcsIDB4ZjQsIDB4YTksIDB4MjcsIDB4ZjQsIDB4ZmMsIDB4NTMsIDB4ZTEsIDB4M2YsIDB4NDMsIDB4ZjIsIDB4ODgsIDB4MDIsIDB4NzcsIDB4MjksIDB4N2UsIAotICAgIDB4YjMsIDB4MmEsIDB4MzQsIDB4YjQsIDB4MDIsIDB4MDQsIDB4YTksIDB4ZDQsIDB4ZTQsIDB4MjIsIDB4YjQsIDB4MDEsIDB4MzksIDB4N2UsIDB4MjEsIDB4ZTYsIAotICAgIDB4N2MsIDB4MzIsIDB4N2UsIDB4MTMsIDB4MmEsIDB4MzUsIDB4MmMsIDB4MjEsIDB4N2EsIDB4MjMsIDB4MmEsIDB4MzUsIDB4N2UsIDB4MDAsIDB4MDAsIDB4MmUsIAotICAgIDB4MDQsIDB4MmEsIDB4M2MsIDB4ZTUsIDB4ZTMsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4YTUsIDB4ZGIsIDB4ZjYsIDB4YTksIDB4ZDQsIDB4ZTQsIAotICAgIDB4NzUsIDB4MzEsIDB4NzAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzUsIDB4N2UsIDB4YTMsIDB4MmEsIDB4MzIsIDB4YmMsIDB4YWIsIAotICAgIDB4NzgsIDB4MDMsIDB4MTIsIDB4NzcsIDB4YzAsIDB4MjIsIDB4MDIsIDB4N2IsIDB4MjksIDB4ZTUsIDB4ZTYsIDB4YjQsIDB4MDgsIDB4NjUsIDB4YTksIDB4YzQsIAotICAgIDB4ZTIsIDB4N2UsIDB4MDEsIDB4ZTMsIDB4N2UsIDB4MTEsIDB4ZTMsIDB4N2UsIDB4MzEsIDB4ZTMsIDB4N2UsIDB4MjEsIDB4ZTMsIDB4N2UsIDB4NTEsIDB4ZTMsIAotICAgIDB4N2UsIDB4NDEsIDB4ZTMsIDB4N2UsIDB4NzEsIDB4ZTMsIDB4N2UsIDB4NjEsIDB4ZTMsIDB4N2EsIDB4MGYsIDB4MmEsIDB4MmIsIDB4N2EsIDB4MWYsIDB4MmEsIAotICAgIDB4MmYsIDB4NzUsIDB4MzEsIDB4MDQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MTEsIDB4MzEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIAotICAgIDB4NDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTksIDB4ZDQsIDB4ZTQsIDB4YTksIDB4ZDcsIDB4ZjQsIDB4YTksIDB4YzYsIDB4ZTIsIAotICAgIDB4MTIsIDB4NzcsIDB4OTQsIDB4MjIsIDB4NmQsIDB4MDAsIDB4N2UsIDB4MTQsIDB4MDEsIDB4MDIsIDB4N2EsIDB4MDcsIDB4MmEsIDB4M2EsIDB4N2EsIDB4MDMsIAotICAgIDB4MmEsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmIsIDB4MjAsIDB4ZTcsIDB4MGYsIDB4N2EsIDB4MjMsIDB4MmEsIDB4MzQsIDB4N2EsIDB4MzMsIDB4MmEsIAotICAgIDB4MzMsIDB4YmUsIDB4MDcsIDB4MmEsIDB4MzEsIDB4NjgsIDB4MDksIDB4MjIsIDB4N2EsIDB4MzMsIDB4MmEsIDB4MzQsIDB4N2EsIDB4MjMsIDB4MmEsIDB4MzMsIAotICAgIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmIsIDB4NTQsIDB4ZTMsIDB4MjMsIDB4MjMsIDB4MzAsIDB4ZTAsIDB4MDIsIDB4ZDIsIDB4ZTUsIDB4MzAsIDB4ZTcsIDB4MDIsIAotICAgIDB4ZDIsIDB4ZTQsIDB4MzAsIDB4ZTUsIDB4MDYsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4MDIsIDB4N2IsIDB4MjksIDB4NTQsIDB4M2UsIDB4ZjUsIDB4ZjAsIDB4MDMsIAotICAgIDB4NTQsIDB4MWYsIDB4YzMsIDB4MjUsIDB4ZjAsIDB4OTAsIDB4NzcsIDB4ZWMsIDB4NzUsIDB4ODQsIDB4ZmYsIDB4NzMsIDB4MDIsIDB4NzksIDB4NDAsIDB4MDIsIAotICAgIDB4NzgsIDB4MzQsIDB4MDIsIDB4NzksIDB4ZGQsIDB4MDIsIDB4NzksIDB4ZjgsIDB4MDIsIDB4NzgsIDB4ZDksIDB4MDIsIDB4NzgsIDB4OWEsIDB4MDIsIDB4N2EsIAotICAgIDB4MTEsIDB4MDIsIDB4N2EsIDB4MTEsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIAotICAgIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MWEsIDB4MDIsIAotICAgIDB4N2EsIDB4Y2UsIDB4MDIsIDB4N2EsIDB4MTcsIDB4MDIsIDB4N2EsIDB4MTcsIDB4MDIsIDB4N2EsIDB4MTcsIDB4MDIsIDB4N2EsIDB4MTcsIDB4MDIsIDB4N2EsIAotICAgIDB4MTcsIDB4MDIsIDB4N2EsIDB4MTcsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDYsIDB4MmEsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmQsIDB4NjAsIAotICAgIDB4NTYsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MmEsIDB4MmUsIDB4N2UsIDB4MTcsIDB4MmEsIDB4MmYsIDB4NzUsIDB4MzEsIDB4NzIsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4MDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4N2IsIDB4MzMsIAotICAgIDB4NDAsIDB4MzUsIDB4MDIsIDB4NzYsIDB4NzMsIDB4YjQsIDB4MDgsIDB4MTAsIDB4NzUsIDB4MzEsIDB4NzQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIAotICAgIDB4M2YsIDB4ZjEsIDB4ZjUsIDB4ZjMsIDB4NzUsIDB4ZjYsIDB4MDEsIDB4MjIsIDB4YjQsIDB4MDAsIDB4MWMsIDB4NzUsIDB4MzEsIDB4NzUsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4NzUsIDB4ZjMsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NzUsIDB4ZjMsIDB4MDAsIAotICAgIDB4NzUsIDB4ZjMsIDB4MDAsIDB4NzUsIDB4ZjYsIDB4MDIsIDB4MjIsIDB4MDIsIDB4N2IsIDB4MjksIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDAsIAotICAgIDB4MzUsIDB4NzUsIDB4MzEsIDB4NzYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzAsIDB4NTQsIDB4MGYsIDB4ZjUsIDB4ZjEsIDB4N2UsIAotICAgIDB4YjMsIDB4MmEsIDB4MzAsIDB4MjAsIDB4ZTcsIDB4MDksIDB4ZTUsIDB4ZTEsIDB4MzAsIDB4ZTcsIDB4MGQsIDB4NzQsIDB4MDEsIDB4ODAsIDB4MGIsIDB4ZTUsIAotICAgIDB4ZTEsIDB4MzAsIDB4ZTYsIDB4MDQsIDB4NzQsIDB4MDEsIDB4ODAsIDB4MDIsIDB4NzQsIDB4MDAsIDB4NTMsIDB4ZjEsIDB4ODAsIDB4ZjUsIDB4ZjMsIDB4NzUsIAotICAgIDB4ZjMsIDB4MDAsIDB4NzUsIDB4ZjYsIDB4MDIsIDB4MjIsIDB4MDIsIDB4N2IsIDB4MjksIDB4YzAsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzAsIDB4NTQsIAotICAgIDB4MGYsIDB4NDIsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4YjQsIDB4MDAsIDB4NDUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDEsIAotICAgIDB4MjQsIDB4NzUsIDB4MzEsIDB4NzcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzAsIDB4NTQsIDB4MGYsIDB4NzgsIDB4MDUsIDB4NTMsIAotICAgIDB4ZTEsIDB4M2YsIDB4ODAsIDB4MzcsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzAsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4NTMsIDB4ZTEsIDB4N2YsIDB4ODAsIDB4MmIsIAotICAgIDB4NTMsIDB4ZTEsIDB4YmYsIDB4ODAsIDB4MjYsIDB4YjQsIDB4MDMsIDB4MTcsIDB4NzUsIDB4MzEsIDB4NzgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MzAsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4NDMsIDB4ZTEsIDB4ODAsIDB4ODAsIDB4MTEsIDB4NDMsIDB4ZTEsIDB4NDAsIDB4ODAsIDB4MGMsIDB4NDMsIAotICAgIDB4ZTEsIDB4YzAsIDB4ZDAsIDB4ZjEsIDB4NzUsIDB4MzEsIDB4MDcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4ZDAsIDB4ZjEsIDB4MDIsIDB4NzYsIDB4NmYsIAotICAgIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDksIDB4MjMsIDB4NzUsIDB4MzEsIDB4NzksIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIAotICAgIDB4MmUsIDB4YmUsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4NjgsIDB4MTEsIDB4Y2EsIDB4YjgsIDB4YzAsIDB4ZjEsIDB4MTIsIDB4NDMsIDB4ZDQsIDB4ZDAsIDB4ZjEsIAotICAgIDB4ZGEsIDB4YjgsIDB4NTAsIDB4NzYsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4ODAsIDB4NmQsIDB4YjQsIDB4MDUsIDB4MDgsIDB4NzUsIDB4MzEsIDB4N2EsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ODAsIDB4NjIsIDB4YjQsIDB4MDMsIDB4MTksIDB4NzUsIDB4MzEsIDB4N2IsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MmUsIDB4YjQsIDB4MDEsIDB4NTUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NDQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIAotICAgIDB4NDYsIDB4YjQsIDB4MDEsIDB4MTksIDB4NzUsIDB4MzEsIDB4N2MsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4YjQsIDB4MDEsIAotICAgIDB4MzksIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NTQsIDB4ZmUsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4MmEsIDB4YjQsIDB4MDcsIDB4MmEsIAotICAgIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmQsIDB4NjAsIDB4MjQsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MmEsIDB4MmUsIDB4N2UsIDB4MTcsIDB4MmEsIDB4MmYsIAotICAgIDB4NzUsIDB4MzEsIDB4NzMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MTEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4MTIsIDB4N2IsIDB4NWYsIDB4NDAsIDB4MDMsIDB4MDIsIDB4NzYsIDB4NmYsIDB4MDIsIDB4N2IsIDB4MjksIDB4N2UsIDB4YjMsIDB4MmEsIAotICAgIDB4MmMsIDB4YjQsIDB4MGIsIDB4ZjYsIDB4NzUsIDB4MzEsIDB4N2QsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4N2UsIDB4YTMsIAotICAgIDB4MmEsIDB4MzAsIDB4NGMsIDB4YWIsIDB4NzgsIDB4ZTQsIDB4ODAsIDB4ZGYsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MGEsIDB4ZGIsIDB4NzUsIAotICAgIDB4MzEsIDB4N2UsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4NzAsIDB4Y2YsIDB4ZjUsIDB4ZjMsIDB4NzUsIDB4ZjYsIDB4MDEsIAotICAgIDB4MjIsIDB4MDIsIDB4N2IsIDB4MjksIDB4MDIsIDB4N2IsIDB4MjksIDB4MDIsIDB4N2IsIDB4MjksIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDQsIAotICAgIDB4MjAsIDB4NzUsIDB4MzEsIDB4YzMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTcsIDB4MmEsIDB4MmQsIDB4N2UsIAotICAgIDB4MTgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDcsIDB4MmEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MjEsIDB4MDIsIDB4N2EsIAotICAgIDB4YzgsIDB4YjQsIDB4MDYsIDB4M2EsIDB4NzUsIDB4MzEsIDB4YzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIAotICAgIDB4MDAsIDB4ZmUsIDB4N2QsIDB4Y2EsIDB4N2UsIDB4ZDcsIDB4MmEsIDB4MmQsIDB4N2UsIDB4NzgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIAotICAgIDB4N2UsIDB4NzcsIDB4MmEsIDB4MzEsIDB4NzUsIDB4MzEsIDB4YzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIAotICAgIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4N2MsIDB4NWEsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4NDAsIDB4NGYsIDB4ODAsIDB4NGEsIDB4YjQsIDB4MDAsIAotICAgIDB4MWMsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4NzYsIDB4NmYsIDB4ZTQsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIAotICAgIDB4ZDUsIDB4ZTAsIDB4ZjcsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MDIsIDB4ZmYsIDB4Y2EsIDB4MDYsIDB4MDAsIDB4MDAsIDB4MzIsIDB4YjQsIDB4MDksIDB4MTIsIAotICAgIDB4N2UsIDB4NTcsIDB4MmEsIDB4MmQsIDB4NGQsIDB4NTUsIDB4NjgsIDB4MDUsIDB4YTksIDB4ZDIsIDB4YjEsIDB4ODAsIDB4MDMsIDB4YTksIDB4YzIsIDB4YjEsIAotICAgIDB4ODAsIDB4MTYsIDB4YjQsIDB4MDcsIDB4MTYsIDB4YzIsIDB4YWYsIDB4N2UsIDB4MDcsIDB4MmEsIDB4MmYsIDB4N2UsIDB4MTcsIDB4MmEsIDB4MmQsIDB4YzAsIAotICAgIDB4ZDEsIDB4Y2EsIDB4MTgsIDB4Y2EsIDB4MzgsIDB4Y2EsIDB4MjgsIDB4MzIsIDB4MDIsIDB4NzYsIDB4NmYsIDB4MDIsIDB4N2IsIDB4MjksIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDMsIDB4MTUsIDB4NzUsIDB4MzEsIDB4YzIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIAotICAgIDB4MTcsIDB4MmEsIDB4MmQsIDB4N2UsIDB4NTcsIDB4MmEsIDB4MzEsIDB4MDIsIDB4NzYsIDB4NzMsIDB4YjQsIDB4MDUsIDB4MzksIDB4NzUsIDB4MzEsIDB4YzAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4N2UsIDB4MDgsIDB4MmEsIDB4M2MsIAotICAgIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzcsIDB4MmEsIDB4MmQsIDB4N2UsIDB4NDcsIDB4MmEsIDB4MzEsIAotICAgIDB4MTIsIDB4N2MsIDB4MjEsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4N2UsIDB4MDgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIAotICAgIDB4NTcsIDB4MmEsIDB4MzEsIDB4MDIsIDB4NzYsIDB4NzMsIDB4MDIsIDB4N2IsIDB4MjksIDB4NzUsIDB4MzEsIDB4MDcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NDMsIAotICAgIDB4ZTEsIDB4YzAsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4N2IsIDB4OWUsIDB4NDAsIAotICAgIDB4MTksIDB4N2UsIDB4MDgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4NDksIDB4MTIsIDB4N2MsIDB4MjEsIAotICAgIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MGIsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4YzAsIAotICAgIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4N2IsIDB4OWUsIDB4NDAsIDB4MmIsIDB4N2UsIDB4NTgsIDB4MDAsIAotICAgIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2YsIDB4NjEsIDB4N2UsIDB4NzgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIAotICAgIDB4NzcsIDB4MmEsIDB4MzEsIDB4YmQsIDB4NzQsIDB4NzgsIDB4MTEsIDB4NzUsIDB4MzEsIDB4YzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4N2MsIDB4NWEsIAotICAgIDB4NDAsIDB4MDYsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4ZDMsIDB4MjIsIDB4N2UsIDB4MjQsIAotICAgIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzQsIDB4N2YsIDB4Y2EsIDB4MGIsIDB4MWEsIDB4NTAsIDB4YzUsIDB4ZjAsIDB4N2QsIDB4NjIsIDB4N2QsIDB4NzUsIDB4N2QsIAotICAgIDB4ODcsIDB4N2UsIDB4MzQsIDB4N2YsIDB4YzIsIDB4N2UsIDB4MWIsIDB4YjAsIDB4N2UsIDB4MzQsIDB4N2YsIDB4MDMsIDB4YjQsIDB4MDEsIDB4MDQsIDB4N2UsIAotICAgIDB4MzQsIDB4N2YsIDB4Y2MsIDB4N2UsIDB4MWIsIDB4YjAsIDB4YmMsIDB4MGIsIDB4NTAsIDB4NDksIDB4M2UsIDB4MDAsIDB4M2UsIDB4MDAsIDB4MGEsIDB4NTAsIAotICAgIDB4MmQsIDB4NzUsIDB4MGIsIDB4M2EsIDB4MzAsIDB4NjksIDB4NTMsIDB4MDAsIDB4MDIsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmMsIAotICAgIDB4MWIsIDB4NTAsIDB4MzAsIDB4M2UsIDB4MTAsIDB4M2UsIDB4MTAsIDB4MGEsIDB4NTEsIDB4MmQsIDB4MzUsIDB4NjksIDB4NDEsIDB4MDAsIDB4MDIsIDB4MGIsIAotICAgIDB4MWEsIDB4MzAsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmUsIDB4NDQsIDB4ZmYsIDB4ZmYsIDB4NzgsIDB4MDUsIDB4N2UsIDB4MWIsIAotICAgIDB4OTAsIDB4MGEsIDB4NDksIDB4NGQsIDB4NDQsIDB4NjgsIDB4MGMsIDB4YmUsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4MjgsIDB4MDQsIDB4N2UsIDB4NDQsIDB4MDAsIAotICAgIDB4ZmYsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIAotCi0vLyBTZWdtZW50ICMxNiwgU3RhcnQgQWRkcmVzcyAwMGZmN2ZjNiwgTGVuZ3RoIDQKLTB4ZmYsMHgwMCwweGM2LDB4N2YsMHgwNCwweDAwLAotICAgIDB4MDEsIDB4MTAsIDB4MDQsIDB4MDAsIAotCi0vLyBTZWdtZW50ICMxNywgU3RhcnQgQWRkcmVzcyAwMGZmN2MxNSwgTGVuZ3RoIDMzMAotMHhmZiwweDAwLDB4MTUsMHg3YywweDRhLDB4MDEsCi0gICAgMHhjYSwgMHgwOCwgMHg3ZSwgMHgwMSwgMHgzMSwgMHg3YSwgMHgwMywgMHgzZiwgMHhmMCwgMHhkYSwgMHgwOCwgMHgyMiwgMHg3ZSwgMHgxYiwgMHhjMCwgMHg3YSwgCi0gICAgMHgwYiwgMHhjMCwgMHgwYiwgMHgxNCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmMiwgMHgyMiwgMHg3ZiwgMHg2ZiwgMHg3ZiwgMHhmMCwgMHgxYiwgCi0gICAgMHhmYywgMHg3YywgMHg1NCwgMHg3ZCwgMHgzMiwgMHg4MCwgMHgwOCwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHg5ZSwgCi0gICAgMHg0NCwgMHgwMCwgMHgxMCwgMHg1MCwgMHhmMiwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwNiwgMHhjYSwgMHg0OCwgMHgxYiwgMHg0NCwgMHg3OCwgCi0gICAgMHhmYSwgMHg3ZiwgMHhmNiwgMHg4OSwgMHhlNCwgMHhjYSwgMHg2YiwgMHg1ZSwgMHhkNCwgMHgwMCwgMHgzZiwgMHg2OCwgMHgyMCwgMHg3ZSwgMHg4NCwgMHgwMCwgCi0gICAgMHg0MCwgMHg5ZCwgMHg4ZCwgMHhkYSwgMHg2YiwgMHhiZCwgMHg4NywgMHgzOCwgMHgxNiwgMHhjYSwgMHg3OSwgMHg3ZCwgMHg3OCwgMHgxMiwgMHg3YywgMHg4NCwgCi0gICAgMHhkYSwgMHg3OSwgMHg0MCwgMHgwOCwgMHg5ZCwgMHg3OCwgMHg2OCwgMHgwMiwgMHg4MCwgMHgwNSwgMHhjMiwgMHhkNywgMHgyMiwgMHhkYSwgMHg2YiwgMHg0MywgCi0gICAgMHg5MCwgMHgzMCwgMHg3NCwgMHhhYSwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3NCwgMHg1NSwgMHgzOSwgMHhiNSwgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgCi0gICAgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHg0MCwgMHg5ZCwgMHg3MCwgMHg1MCwgMHgwNiwgMHgyZCwgMHg3MCwgMHg3ZCwgMHgwNywgCi0gICAgMHg2ZCwgMHg3NywgMHg3YywgMHgzMSwgMHg3ZSwgMHg3YiwgMHgwMCwgMHg3YSwgMHg2YiwgMHgwMCwgMHgwYiwgMHg3YywgMHgwYiwgMHg2YywgMHhhNSwgMHhkOSwgCi0gICAgMHhmMywgMHg3ZiwgMHgxNiwgMHgxYiwgMHgxYywgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgxMCwgMHg2OCwgMHgwNiwgCi0gICAgMHgxYiwgMHg1NCwgMHg3OCwgMHhmNSwgMHg4MCwgMHgyYywgMHg2ZCwgMHgwMCwgMHg3YywgMHgyMCwgMHg3ZiwgMHgxNiwgMHg5ZiwgMHgxMCwgMHg3ZiwgMHgyNywgCi0gICAgMHg5ZiwgMHgyMCwgMHg3ZSwgMHgyYiwgMHgwMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgwMSwgMHg3OCwgMHgxNiwgMHgwYiwgMHgyYywgMHgwYiwgMHgxYywgCi0gICAgMHhhNSwgMHhkYiwgMHhlZiwgMHg3YywgMHhiNiwgMHgyMCwgMHhlMCwgMHgwMywgMHg2MywgMHg5MCwgMHgzMCwgMHg0ZCwgMHg3NywgMHg3OCwgMHg5MywgMHhjMiwgCi0gICAgMHhkNywgMHgyMiwgMHhkMiwgMHhkNywgMHgyMiwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwNCwgMHg0MiwgMHgwOCwgMHgwNiwgMHgwNCwgMHgwMiwgMHgwNCwgMHgwMCwgCi0gICAgMHgwMiwgMHgwMSwgMHgwNCwgMHgwMSwgMHgwMiwgMHg4MiwgMHgwOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMiwgMHgwMiwgCi0gICAgMHgwMiwgMHgwMiwgMHgwNCwgMHgwMiwgMHgwOCwgMHgxMCwgMHgwMiwgMHgxMCwgMHgwNCwgMHgwMiwgMHgwOCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwOCwgMHgwMCwgCi0gICAgMHgwMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyMCwgMHgwNCwgMHg3ZSwgMHgxOCwgMHg3ZiwgMHhiZCwgMHg3YSwgCi0gICAgMHgxYywgMHgwMCwgMHhmZSwgMHgwYiwgMHgxYSwgMHgwMCwgMHg1ZSwgMHgxMCwgMHgxZiwgMHhiZSwgMHgxMCwgMHgxYSwgMHgzOCwgMHgxYSwgMHgwYSwgMHg1MSwgCi0gICAgMHgyMywgMHg3ZSwgMHgxOCwgMHg3YywgMHhmYSwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgyZCwgMHgzNSwgMHgwYiwgMHgxYSwgMHg1MCwgMHg2MCwgMHgwOCwgCi0gICAgMHhhNSwgMHhiOCwgMHgwMiwgMHgwMywgMHg0ZSwgMHhhMCwgMHgwOCwgMHgyMiwgMHg4MCwgMHhmZSwgCi19OwotCi1zdGF0aWMgc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIElNQUdFX1ZFUlNJT05fTkFNRSA9IHsKLQkxLCAxNiwgNCB9OwkJLy8gTWFqb3IsIE1pbm9yLCBCdWlsZAotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMi5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2NzI3N2UuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24yLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMzICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQotLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgotLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0vLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotLy9JbWFnZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgotI2lmICFkZWZpbmVkKERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQpCi0JI2RlZmluZSBERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JECi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkIHsKLQkJX19sZTE2IEV4dEFkZHI7Ci0JCV9fbGUxNiBBZGRyOwotCQlfX2xlMTYgTGVuOwotCQl1bnNpZ25lZCBjaGFyICBEYXRhWzBdOwotCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIHsKLQkJdW5zaWduZWQgY2hhciAgTWFqb3JWZXJzaW9uOwotCQl1bnNpZ25lZCBjaGFyICBNaW5vclZlcnNpb247Ci0JCXVuc2lnbmVkIHNob3J0IEJ1aWxkTnVtYmVyOwotCX07Ci0KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSU1BR0VfQVJSQVlfTkFNRSkKLQkjZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJRmlybXdhcmVJbWFnZQotCSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUZpcm13YXJlSW1hZ2VWZXJzaW9uCi0jZW5kaWYKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gewotCi0vLyBTZWdtZW50ICMxLCBTdGFydCBBZGRyZXNzIDAwZmYwMDAwLCBMZW5ndGggNgotMHhmZiwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg0NSwgMHgxNCwgCi0KLS8vIFNlZ21lbnQgIzIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgwYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDQ0LCAweGE1LCAKLQotLy8gU2VnbWVudCAjMywgU3RhcnQgQWRkcmVzcyAwMGZmMDAxMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDEzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NjMsIDB4YWIsIAotCi0vLyBTZWdtZW50ICM0LCBTdGFydCBBZGRyZXNzIDAwZmYwMDFiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MWIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxYiwgCi0KLS8vIFNlZ21lbnQgIzUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMjMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDIzLCAKLQotLy8gU2VnbWVudCAjNiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDJiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MmIsIAotCi0vLyBTZWdtZW50ICM3LCBTdGFydCBBZGRyZXNzIDAwZmYwMDMzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MzMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzMywgCi0KLS8vIFNlZ21lbnQgIzgsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwM2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDNiLCAKLQotLy8gU2VnbWVudCAjOSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDQzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4NDMsIAotCi0vLyBTZWdtZW50ICMxMCwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDRiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4NGIsIAotCi0vLyBTZWdtZW50ICMxMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA1MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDUzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NjcsIDB4NWYsIAotCi0vLyBTZWdtZW50ICMxMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDA3YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDdiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4N2IsIAotCi0vLyBTZWdtZW50ICMxMywgU3RhcnQgQWRkcmVzcyAwMGZmMDA4MCwgTGVuZ3RoIDcKLTB4ZmYsMHgwMCwweDgwLDB4MDAsMHgwNywweDAwLAotICAgIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDIsIDB4NDAsIDB4NTIsIAotCi0vLyBTZWdtZW50ICMxNCwgU3RhcnQgQWRkcmVzcyAwMGZmMzAwMCwgTGVuZ3RoIDI5MTgKLTB4ZmYsMHgwMCwweDAwLDB4MzAsMHg2NiwweDBiLAotICAgIDB4MTIsIDB4MzAsIDB4NjQsIDB4MTIsIDB4MzAsIDB4ZmYsIDB4MTIsIDB4MzEsIDB4MmYsIDB4MTIsIDB4MzAsIDB4YjAsIDB4ODAsIDB4ZjIsIDB4ZTUsIDB4MjMsIAotICAgIDB4NjAsIDB4MTksIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjEsIDB4MDEsIDB4YjksIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MDUsIDB4MTQsIAotICAgIDB4MTksIDB4YjEsIDB4MDEsIDB4YjksIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZWIsIDB4MjIsIDB4YzIsIDB4YWYsIDB4N2UsIDB4YjMsIAotICAgIDB4M2YsIDB4ZjEsIDB4YjQsIDB4MDEsIDB4MDMsIDB4MTIsIDB4NjUsIDB4NjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4YzIsIDB4YWYsIDB4N2UsIDB4YjMsIDB4M2YsIAotICAgIDB4ZjEsIDB4YjQsIDB4MDEsIDB4MWQsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MWEsIDB4NmMsIDB4YWEsIAotICAgIDB4NjAsIDB4MGYsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MzksIDB4Y2EsIDB4NTksIDB4MTIsIDB4NjQsIDB4MjQsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MzksIDB4ZGEsIAotICAgIDB4MGIsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjIsIDB4NjAsIDB4NDMsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4YmUsIDB4MDQsIAotICAgIDB4MDMsIDB4ODAsIDB4MzgsIDB4MzksIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MjEsIDB4MDksIDB4YTAsIAotICAgIDB4MDAsIDB4MDQsIDB4NGUsIDB4YTAsIDB4MDUsIDB4MTksIDB4YTAsIDB4MDAsIDB4MDQsIDB4MGEsIDB4MzIsIDB4MDksIDB4NTMsIDB4MzUsIDB4MzMsIDB4NWUsIAotICAgIDB4NTEsIDB4MjcsIDB4NjgsIDB4MGIsIDB4MDksIDB4YTAsIDB4MDAsIDB4MTAsIDB4NGUsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTAsIDB4MDAsIDB4MTAsIDB4MmUsIAotICAgIDB4MDQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZDEsIDB4NzUsIDB4MjIsIDB4MDAsIDB4ZDIsIDB4YWYsIDB4MjIsIAotICAgIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjYsIDB4NjAsIDB4MzYsIDB4N2UsIDB4MjAsIDB4MDAsIDB4N2UsIDB4MzAsIDB4MDEsIDB4ZTUsIDB4MjYsIDB4YTUsIDB4NWIsIAotICAgIDB4NjgsIDB4MjEsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MzIsIDB4MDEsIDB4NzksIDB4YmUsIDB4MzQsIDB4MDAsIDB4MDAsIDB4NjgsIAotICAgIDB4MTIsIDB4N2UsIDB4YjEsIDB4MjEsIDB4YTUsIDB4NGIsIDB4N2EsIDB4YjEsIDB4MjEsIDB4Y2EsIDB4MTksIDB4NDksIDB4MjIsIDB4MzAsIDB4ZWYsIDB4OTksIAotICAgIDB4MjQsIDB4ZGEsIDB4MTksIDB4M2UsIDB4MzAsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZDAsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NDYsIAotICAgIDB4NGYsIDB4NDksIDB4N2MsIDB4NGMsIDB4YTksIDB4NGYsIDB4ZDYsIDB4NTMsIDB4MDMsIDB4NTYsIDB4MzAsIDB4NTksIDB4NWQsIDB4NWMsIDB4OGEsIDB4YzIsIAotICAgIDB4YWYsIDB4ZTUsIDB4MjQsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4Y2EsIDB4MjgsIDB4MTIsIDB4MzUsIAotICAgIDB4NGMsIDB4ZGEsIDB4MjgsIDB4NDAsIDB4MDksIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4MzUsIDB4MzMsIDB4ZjQsIDB4NTIsIDB4MjQsIDB4MjIsIDB4YzIsIAotICAgIDB4YWYsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4NGMsIAotICAgIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIAotICAgIDB4MmIsIDB4NDksIDB4MjIsIDB4MzEsIDB4NTcsIDB4ODksIDB4MjQsIDB4MzEsIDB4NjcsIDB4MzEsIDB4ZDAsIDB4MzIsIDB4MzksIDB4MzIsIDB4YTIsIDB4MzMsIAotICAgIDB4MGIsIDB4MzMsIDB4NzQsIDB4MzMsIDB4ZGQsIDB4MzQsIDB4NDYsIDB4N2UsIDB4MjcsIDB4MDEsIDB4NzksIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIAotICAgIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIAotICAgIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NDksIDB4NDUsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIAotICAgIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4ODksIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODksIDB4N2UsIAotICAgIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YjksIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YjksIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIAotICAgIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIAotICAgIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MTgsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YjksIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2IsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODEsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NGMsIDB4NzIsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4OGIsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OGIsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YmEsIDB4ODAsIAotICAgIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmEsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MTksIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmEsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2QsIDB4YmUsIDB4MjQsIDB4MDAsIAotICAgIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODIsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NGYsIDB4OWYsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIAotICAgIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OGQsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIAotICAgIDB4OGQsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YmIsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmIsIDB4YTUsIDB4YmUsIAotICAgIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIAotICAgIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MWEsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmIsIDB4MTIsIDB4NjQsIAotICAgIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2YsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODMsIDB4MDAsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIAotICAgIDB4MTIsIDB4MTIsIDB4NTIsIDB4Y2MsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIAotICAgIDB4YmUsIDB4MjcsIDB4MDEsIDB4OGYsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OGYsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIAotICAgIDB4YmMsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmMsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIAotICAgIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIAotICAgIDB4MWIsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmMsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODEsIDB4YmUsIAotICAgIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODQsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIAotICAgIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTUsIDB4ZjksIDB4N2QsIDB4MjEsIDB4ZGEsIAotICAgIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTEsIDB4NjgsIDB4MGQsIDB4N2EsIAotICAgIDB4MjcsIDB4MDEsIDB4OTEsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YmQsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmQsIAotICAgIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIAotICAgIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MWMsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmQsIAotICAgIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODMsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIAotICAgIDB4ODUsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIAotICAgIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTksIDB4MjYsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIAotICAgIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTMsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTMsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIAotICAgIDB4NjMsIDB4MDEsIDB4YmUsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmUsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIAotICAgIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4YzIsIDB4MWQsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmUsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4ODUsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODYsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NWMsIDB4NTMsIDB4N2QsIAotICAgIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTUsIDB4NjgsIAotICAgIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTUsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YmYsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIAotICAgIDB4MDEsIDB4YmYsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIAotICAgIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MWUsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIAotICAgIDB4MDEsIDB4YmYsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODcsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIAotICAgIDB4N2UsIDB4MjQsIDB4ODcsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIAotICAgIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NWYsIDB4ODAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIAotICAgIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTcsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTcsIDB4N2UsIDB4NjAsIAotICAgIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YzAsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YzAsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIAotICAgIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MWYsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YzAsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4YzIsIAotICAgIDB4YWYsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4YmUsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjgsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTUsIDB4MzAsIDB4ZTUsIDB4MWIsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MWEsIDB4YmUsIDB4YjAsIDB4M2YsIDB4MzgsIAotICAgIDB4MGMsIDB4ODUsIDB4MzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzQsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWUsIDB4NzQsIDB4MjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MTUsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4MzUsIDB4M2IsIDB4MzYsIDB4ZTgsIDB4MzcsIDB4MDAsIDB4MzcsIDB4MWIsIDB4MzcsIDB4YjYsIAotICAgIDB4MzgsIDB4NGUsIDB4MzgsIDB4NjksIDB4MzgsIDB4ZmIsIDB4MzgsIDB4ODQsIDB4MzgsIDB4YzUsIDB4N2MsIDB4YjMsIDB4YmUsIDB4YjAsIDB4MDksIDB4MjgsIAotICAgIDB4MjIsIDB4NzUsIDB4MmYsIDB4MDksIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4NTcsIDB4MDIsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIAotICAgIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTEsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MTEsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4MjMsIDB4NmMsIDB4YWEsIDB4MmUsIDB4NTQsIDB4MzQsIDB4ZTYsIDB4MGIsIDB4NTgsIAotICAgIDB4NTAsIDB4ODksIDB4NTQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4NzUsIDB4MmYsIDB4YjAsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4MzUsIDB4MzMsIDB4NDIsIDB4MjQsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIAotICAgIDB4M2IsIDB4NDksIDB4MzMsIDB4MzUsIDB4NTcsIDB4ODksIDB4MzQsIDB4MzUsIDB4NjcsIDB4MzUsIDB4OTUsIDB4MzUsIDB4YzMsIDB4MzUsIDB4ZjEsIDB4MzYsIAotICAgIDB4MWYsIDB4MzYsIDB4NGQsIDB4MzYsIDB4N2IsIDB4MzYsIDB4YTksIDB4MTIsIDB4NDEsIDB4YmEsIDB4ZDIsIDB4MjgsIDB4ZDIsIDB4MDgsIDB4YzIsIDB4NDAsIAotICAgIDB4YzIsIDB4NDgsIDB4YzIsIDB4MzgsIDB4YzIsIDB4MzAsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YjksIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTksIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTksIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIAotICAgIDB4NWYsIDB4YjcsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDEsIDB4ZDcsIDB4ZDIsIDB4MjksIDB4ZDIsIDB4MDksIDB4YzIsIDB4NDEsIDB4YzIsIDB4NDksIAotICAgIDB4YzIsIDB4MzksIDB4YzIsIDB4MzEsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmEsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4OWIsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWIsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NWYsIDB4ZTAsIAotICAgIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDEsIDB4ZjQsIDB4ZDIsIDB4MmEsIDB4ZDIsIDB4MGEsIDB4YzIsIDB4NDIsIDB4YzIsIDB4NGEsIDB4YzIsIDB4M2EsIAotICAgIDB4YzIsIDB4MzIsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmIsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OWQsIAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWQsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4MDksIDB4MDIsIDB4MzYsIAotICAgIDB4ZDcsIDB4MTIsIDB4NDIsIDB4MTEsIDB4ZDIsIDB4MmIsIDB4ZDIsIDB4MGIsIDB4YzIsIDB4NDMsIDB4YzIsIDB4NGIsIDB4YzIsIDB4M2IsIDB4YzIsIDB4MzMsIAotICAgIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OWYsIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWYsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4MzIsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIAotICAgIDB4NDIsIDB4MmUsIDB4ZDIsIDB4MmMsIDB4ZDIsIDB4MGMsIDB4YzIsIDB4NDQsIDB4YzIsIDB4NGMsIDB4YzIsIDB4M2MsIDB4YzIsIDB4MzQsIDB4NmQsIDB4MDAsIAotICAgIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmQsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTEsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjEsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4NWIsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDIsIDB4NGIsIAotICAgIDB4ZDIsIDB4MmQsIDB4ZDIsIDB4MGQsIDB4YzIsIDB4NDUsIDB4YzIsIDB4NGQsIDB4YzIsIDB4M2QsIDB4YzIsIDB4MzUsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIAotICAgIDB4MDEsIDB4YmUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4YjMsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4ODQsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDIsIDB4NjgsIDB4ZDIsIDB4MmUsIAotICAgIDB4ZDIsIDB4MGUsIDB4YzIsIDB4NDYsIDB4YzIsIDB4NGUsIDB4YzIsIDB4M2UsIDB4YzIsIDB4MzYsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmYsIAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjUsIAotICAgIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4YWQsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDIsIDB4ODUsIDB4ZDIsIDB4MmYsIDB4ZDIsIDB4MGYsIAotICAgIDB4YzIsIDB4NDcsIDB4YzIsIDB4NGYsIDB4YzIsIDB4M2YsIDB4YzIsIDB4MzcsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YzAsIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTcsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjcsIDB4MTIsIDB4NDEsIAotICAgIDB4MjcsIDB4MTIsIDB4NjAsIDB4ZDYsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4N2UsIDB4YTAsIDB4ZDAsIDB4N2UsIDB4NjAsIDB4MGYsIDB4MTIsIDB4NjEsIDB4MzYsIAotICAgIDB4NDAsIDB4MDUsIDB4MTIsIDB4NjQsIDB4ODYsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YjEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MGEsIDB4NTIsIAotICAgIDB4MjMsIDB4NmQsIDB4MDAsIDB4NTksIDB4MDUsIDB4MDAsIDB4MzIsIDB4MTIsIDB4NDEsIDB4ODMsIDB4MTIsIDB4NDEsIDB4OWYsIDB4ZDAsIDB4YTgsIDB4MjIsIAotICAgIDB4NzUsIDB4MmYsIDB4YjIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4MzUsIDB4MzMsIDB4NDIsIDB4MjMsIDB4N2UsIDB4YjAsIAotICAgIDB4OWMsIDB4MTksIDB4YjIsIDB4MDEsIDB4YjksIDB4MTIsIDB4MzEsIDB4NGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MDIsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIAotICAgIDB4MzAsIDB4MDAsIDB4MGMsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDEsIDB4NjgsIDB4MTIsIDB4NDQsIDB4NDAsIDB4Y2EsIDB4YjgsIDB4MDksIDB4YjAsIAotICAgIDB4MDAsIDB4MTAsIDB4NDQsIDB4MDIsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4ZGEsIDB4YjgsIDB4ODAsIDB4MDIsIDB4NTQsIDB4YmYsIDB4N2MsIDB4NzQsIAotICAgIDB4NWUsIDB4NzAsIDB4MDgsIDB4NjgsIDB4MDQsIDB4NDQsIDB4MDgsIDB4ODAsIDB4MDIsIDB4NTQsIDB4ZjcsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4Y2EsIAotICAgIDB4YjgsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZGEsIDB4YjgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIAotICAgIDB4MGMsIDB4MGEsIDB4NjIsIDB4MDksIDB4YjYsIDB4MzUsIDB4MzMsIDB4M2UsIDB4MjAsIDB4MGEsIDB4NjIsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIAotICAgIDB4NjgsIDB4MjAsIDB4NDIsIDB4MjcsIDB4Y2EsIDB4YjgsIDB4NzQsIDB4NjEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MTAsIAotICAgIDB4NTksIDB4NDYsIDB4MDEsIDB4YTksIDB4MDksIDB4YjAsIDB4MDAsIDB4MTAsIDB4NDQsIDB4MDEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4ZGEsIDB4YjgsIAotICAgIDB4ODAsIDB4MTEsIDB4ZjQsIDB4NTIsIDB4MjcsIDB4NzQsIDB4YTEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MzgsIDB4NTksIAotICAgIDB4NDYsIDB4MDEsIDB4YTksIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2MsIDB4NzQsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIDB4MzAsIAotICAgIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIAotICAgIDB4MDEsIDB4NjgsIDB4MDQsIDB4NDQsIDB4ODAsIDB4ODAsIDB4MDIsIDB4NTQsIDB4N2YsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDgsIDB4NjgsIDB4MDQsIAotICAgIDB4NDQsIDB4MDIsIDB4ODAsIDB4MDIsIDB4NTQsIDB4ZmQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4MGEsIDB4NjIsIAotICAgIDB4MDksIDB4YjYsIDB4MzUsIDB4MzMsIDB4YTUsIDB4ZmQsIDB4ZjQsIDB4YTUsIDB4ZmUsIDB4Y2EsIDB4MjgsIDB4M2UsIDB4MjAsIDB4MGEsIDB4NjIsIDB4ZGEsIAotICAgIDB4MjgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIDB4NjgsIDB4MTAsIDB4YTUsIDB4ZWQsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjYsIDB4N2UsIDB4NDQsIAotICAgIDB4MDAsIDB4MDgsIDB4NTksIDB4NDYsIDB4MDEsIDB4OTksIDB4ODAsIDB4MDQsIDB4YTUsIDB4ZWUsIDB4NTIsIDB4MjgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIAotICAgIDB4MDQsIDB4NjgsIDB4MTAsIDB4YTUsIDB4ZWQsIDB4NDIsIDB4MjksIDB4NDIsIDB4MjYsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MDgsIDB4NTksIDB4NDYsIDB4MDEsIAotICAgIDB4OTksIDB4ODAsIDB4MTUsIDB4YTUsIDB4ZWUsIDB4NTIsIDB4MjksIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIDB4NzgsIDB4MGEsIDB4NTIsIDB4MjYsIAotICAgIDB4N2UsIDB4NDQsIDB4MDAsIDB4MjAsIDB4NTksIDB4NDYsIDB4MDEsIDB4OTksIDB4MTIsIDB4NDIsIDB4YTIsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIAotICAgIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MTksIDB4NDAsIAotICAgIDB4MDAsIDB4MTAsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIAotICAgIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MTksIDB4NDAsIDB4MDAsIDB4MTgsIDB4MTksIDB4MzAsIDB4MDAsIAotICAgIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YjUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIAotICAgIDB4MDksIDB4YjAsIDB4MDAsIDB4MGMsIDB4NDQsIDB4NDAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZTUsIDB4NTgsIDB4YjQsIDB4MDcsIDB4MjMsIDB4MDksIAotICAgIDB4YjAsIDB4MDAsIDB4MTAsIDB4NGUsIDB4YjAsIDB4MDIsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIAotICAgIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZjcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MzAsIAotICAgIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YjYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MDIsIDB4ZTUsIDB4NTgsIDB4YjQsIDB4MDcsIDB4MTgsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIAotICAgIDB4MDksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NDQsIDB4MDgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIAotICAgIDB4MDAsIDB4MGMsIDB4NTQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YjQsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4MjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NDEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjAsIDB4MDEsIAotICAgIDB4N2UsIDB4YTAsIDB4YzgsIDB4N2MsIDB4NjQsIDB4MTIsIDB4NjEsIDB4MzYsIDB4MTIsIDB4NjQsIDB4ODYsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4MzksIDB4MmUsIAotICAgIDB4MzksIDB4NzUsIDB4MzksIDB4YmMsIDB4M2EsIDB4MDMsIDB4M2EsIDB4NGEsIDB4M2EsIDB4OTEsIDB4M2EsIDB4ZDgsIDB4M2IsIDB4MWYsIDB4NzUsIDB4MmYsIAotICAgIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NjksIDB4N2UsIDB4MjcsIDB4MDEsIDB4NzksIDB4MmQsIDB4MjMsIAotICAgIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MDgsIDB4MmMsIDB4MzgsIDB4MGYsIAotICAgIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NjksIDB4N2EsIDB4MjcsIDB4MDEsIDB4NzksIDB4MDIsIDB4NDYsIDB4NGYsIDB4N2UsIAotICAgIDB4MTQsIDB4MDQsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDEsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIAotICAgIDB4NmIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2IsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIAotICAgIDB4MTQsIDB4YmUsIDB4MTQsIDB4MGMsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NmIsIDB4N2EsIAotICAgIDB4MjcsIDB4MDEsIDB4N2IsIDB4MDIsIDB4NDksIDB4N2MsIDB4N2UsIDB4MTQsIDB4MDgsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIAotICAgIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NmQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2QsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIAotICAgIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MTAsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIAotICAgIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NmQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4N2QsIDB4MDIsIDB4NGMsIDB4YTksIDB4N2UsIDB4MTQsIDB4MGMsIAotICAgIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIAotICAgIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NmYsIDB4N2UsIAotICAgIDB4MjcsIDB4MDEsIDB4N2YsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIAotICAgIDB4MTQsIDB4MTQsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NmYsIDB4N2EsIDB4MjcsIDB4MDEsIAotICAgIDB4N2YsIDB4MDIsIDB4NGYsIDB4ZDYsIDB4N2UsIDB4MTQsIDB4MTAsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4NzUsIDB4MmYsIDB4MDQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NzEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODEsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIAotICAgIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MTgsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIAotICAgIDB4N2EsIDB4MTcsIDB4MDEsIDB4NzEsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODEsIDB4MDIsIDB4NTMsIDB4MDMsIDB4N2UsIDB4MTQsIDB4MTQsIDB4MmQsIDB4ODAsIAotICAgIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NzMsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4ODMsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MWMsIAotICAgIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NzMsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODMsIDB4MDIsIAotICAgIDB4NTYsIDB4MzAsIDB4N2UsIDB4MTQsIDB4MTgsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIAotICAgIDB4MDYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4N2UsIDB4MTcsIDB4MDEsIDB4NzUsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODUsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIAotICAgIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjAsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIAotICAgIDB4MDEsIDB4NzUsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODUsIDB4MDIsIDB4NTksIDB4NWQsIDB4N2UsIDB4MTQsIDB4MWMsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIAotICAgIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDcsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NzcsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODcsIDB4MmQsIAotICAgIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjQsIDB4MmMsIDB4MzgsIAotICAgIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NzcsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODcsIDB4MDIsIDB4NWMsIDB4OGEsIAotICAgIDB4N2UsIDB4MTQsIDB4MjAsIDB4MmQsIDB4ODAsIDB4ZWIsIAotCi0vLyBTZWdtZW50ICMxNSwgU3RhcnQgQWRkcmVzcyAwMGZmNDAwMCwgTGVuZ3RoIDEzMTA5Ci0weGZmLDB4MDAsMHgwMCwweDQwLDB4MzUsMHgzMywKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE0LCAweDdmLCAweGY4LCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdkLCAweDMxLCAweDBiLCAweDFhLCAKLSAgICAweDUwLCAweDFiLCAweDBhLCAweDUwLCAweDdlLCAweDE0LCAweDQwLCAweDFiLCAweDAyLCAweDQwLCAweDc0LCAweDdlLCAweGY4LCAweDAwLCAweDU5LCAweDc1LCAKLSAgICAweGIwLCAweGRmLCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDdlLCAweGY0LCAweDQwLCAweDMwLCAweDAyLCAweDQwLCAweDhiLCAKLSAgICAweDEyLCAweDc0LCAweDRlLCAweGY1LCAweDJlLCAweDdhLCAweGExLCAweDJkLCAweDdhLCAweDExLCAweDU4LCAweDEyLCAweDZiLCAweDAyLCAweDEyLCAweDQwLCAKLSAgICAweGViLCAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweDYwLCAweDAzLCAweDEyLCAweDQzLCAweDc5LCAweDEyLCAweDZiLCAweGRlLCAweGQyLCAweGFmLCAweDAyLCAKLSAgICAweDMwLCAweDAwLCAweDdlLCAweDA0LCAweDAwLCAweGZmLCAweDdlLCAweDE4LCAweDQwLCAweDYwLCAweDdhLCAweDFjLCAweDAwLCAweDAxLCAweDg5LCAweDE4LCAKLSAgICAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDk0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDM1LCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAKLSAgICAweDkzLCAweDAwLCAweDg5LCAweDA4LCAweDdlLCAweDA0LCAweDAwLCAweGZmLCAweDdlLCAweDE4LCAweDQwLCAweDgyLCAweDdhLCAweDFjLCAweDAwLCAweDAxLCAKLSAgICAweDg5LCAweDE4LCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDkzLCAweDAwLCAweDg5LCAweDA4LCAweDdlLCAweDA4LCAweDAwLCAweDIwLCAweDdlLCAKLSAgICAweDQ0LCAweDA0LCAweDAwLCAweDdlLCAweDQwLCAweDAwLCAweDdlLCAweGU0LCAweDQwLCAweDlkLCAweDAyLCAweDczLCAweDUwLCAweDdlLCAweDA4LCAweDAxLCAKLSAgICAweDU5LCAweDdlLCAweDQ0LCAweDJhLCAweGRkLCAweDdlLCAweDQwLCAweDAwLCAweDdlLCAweGU0LCAweDQwLCAweGFmLCAweDAyLCAweDczLCAweDUwLCAweDdlLCAKLSAgICAweDA4LCAweDAwLCAweDU5LCAweDdlLCAweDQ0LCAweDAxLCAweDAwLCAweDdlLCAweDQwLCAweDUzLCAweDdlLCAweGU0LCAweDQwLCAweGMxLCAweDAyLCAweDczLCAKLSAgICAweDUwLCAweDc1LCAweDU3LCAweDAxLCAweDc1LCAweDU2LCAweDAwLCAweDdlLCAweDA0LCAweDAwLCAweDA4LCAweDc1LCAweDU0LCAweDU4LCAweDc1LCAweDU1LCAKLSAgICAweDA4LCAweDc1LCAweDUxLCAweDA4LCAweDc1LCAweDUzLCAweDAxLCAweDc1LCAweDg5LCAweDAxLCAweDc1LCAweDhhLCAweDAxLCAweDc1LCAweDhjLCAweDAwLCAKLSAgICAweGQyLCAweDhjLCAweDdlLCAweDA0LCAweDAwLCAweDAyLCAweDdhLCAweDA1LCAweDQyLCAweDg5LCAweGY0LCAweDc1LCAweGI3LCAweDdmLCAweDc1LCAweGI4LCAKLSAgICAweDdmLCAweDc1LCAweGIzLCAweDAxLCAweDc1LCAweGIyLCAweDAxLCAweGQyLCAweGE5LCAweDIyLCAweDc1LCAweGIwLCAweGRmLCAweGU0LCAweGQ1LCAweGUwLCAKLSAgICAweGZkLCAweDc1LCAweGIwLCAweGVmLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDJlLCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGYyLCAweDdlLCAweDIwLCAweDAwLCAweDEyLCAweDQxLCAweDgzLCAweDBiLCAKLSAgICAweDIwLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGY2LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDc0LCAweGJmLCAweDE5LCAKLSAgICAweGIwLCAweDAwLCAweDBjLCAweDc0LCAweDEwLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDc0LCAweDgwLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDdlLCAKLSAgICAweDU0LCAweDAwLCAweDAyLCAweDE5LCAweGEwLCAweDAwLCAweDA0LCAweDE5LCAweGIwLCAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDE5LCAweGIwLCAweDAwLCAKLSAgICAweDBjLCAweDc0LCAweDA3LCAweDIwLCAweDY4LCAweDAyLCAweDc0LCAweDBmLCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDMwLCAweDZiLCAweDE3LCAweDc0LCAKLSAgICAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDc0LCAweDI4LCAweDIwLCAweDY4LCAweDAyLCAweDc0LCAweDIwLCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAKLSAgICAweDc0LCAweDAzLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDc0LCAweGE3LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDc0LCAweDBjLCAweDE5LCAweGIwLCAKLSAgICAweDAwLCAweDEwLCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweGU0LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDA5LCAweGIwLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweDA4LCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweDc0LCAweGE3LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDIyLCAweDdjLCAKLSAgICAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDQxLCAweGFhLCAweDg5LCAweDI0LCAweDQxLCAweGJhLCAweDQxLCAweGQ3LCAweDQxLCAweGY0LCAKLSAgICAweDQyLCAweDExLCAweDQyLCAweDJlLCAweDQyLCAweDRiLCAweDQyLCAweDY4LCAweDQyLCAweDg1LCAweGMyLCAweDEwLCAweGMyLCAweDE4LCAweGMyLCAweDA4LCAKLSAgICAweDdlLCAweDA0LCAweDA0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDU5LCAweDdhLCAweDA3LCAweDAxLCAweDY5LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDc5LCAweDdhLCAweDA3LCAweDAxLCAweDg5LCAweDIyLCAweGMyLCAweDExLCAweGMyLCAweDE5LCAweGMyLCAweDA5LCAweDdlLCAweDA0LCAweDA4LCAKLSAgICAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDViLCAweDdhLCAweDA3LCAweDAxLCAweDZiLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDdiLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDhiLCAweDIyLCAweGMyLCAweDEyLCAweGMyLCAweDFhLCAweGMyLCAweDBhLCAweDdlLCAweDA0LCAweDBjLCAweDJkLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDVkLCAweDdhLCAweDA3LCAweDAxLCAweDZkLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDdkLCAweDdhLCAweDA3LCAweDAxLCAweDhkLCAKLSAgICAweDIyLCAweGMyLCAweDEzLCAweGMyLCAweDFiLCAweGMyLCAweDBiLCAweDdlLCAweDA0LCAweDEwLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDVmLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDZmLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDdmLCAweDdhLCAweDA3LCAweDAxLCAweDhmLCAweDIyLCAweGMyLCAweDE0LCAKLSAgICAweGMyLCAweDFjLCAweGMyLCAweDBjLCAweDdlLCAweDA0LCAweDE0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDYxLCAweDdhLCAweDA3LCAweDAxLCAweDcxLCAKLSAgICAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDgxLCAweDdhLCAweDA3LCAweDAxLCAweDkxLCAweDIyLCAweGMyLCAweDE1LCAweGMyLCAweDFkLCAweGMyLCAKLSAgICAweDBkLCAweDdlLCAweDA0LCAweDE4LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDYzLCAweDdhLCAweDA3LCAweDAxLCAweDczLCAweDZkLCAweDAwLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDgzLCAweDdhLCAweDA3LCAweDAxLCAweDkzLCAweDIyLCAweGMyLCAweDE2LCAweGMyLCAweDFlLCAweGMyLCAweDBlLCAweDdlLCAweDA0LCAKLSAgICAweDFjLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDY1LCAweDdhLCAweDA3LCAweDAxLCAweDc1LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDg1LCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDk1LCAweDIyLCAweGMyLCAweDE3LCAweGMyLCAweDFmLCAweGMyLCAweDBmLCAweDdlLCAweDA0LCAweDIwLCAweDJkLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDY3LCAweDdhLCAweDA3LCAweDAxLCAweDc3LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDg3LCAweDdhLCAweDA3LCAweDAxLCAKLSAgICAweDk3LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDQyLCAweGFkLCAweDg5LCAweDI0LCAweDQyLCAweGJkLCAweDQyLCAKLSAgICAweGQ0LCAweDQyLCAweGViLCAweDQzLCAweDAyLCAweDQzLCAweDE5LCAweDQzLCAweDMwLCAweDQzLCAweDQ3LCAweDQzLCAweDVlLCAweDMwLCAweDQwLCAweDA3LCAKLSAgICAweDIwLCAweDU4LCAweDA0LCAweGMyLCAweDI4LCAweDgwLCAweDBjLCAweDMwLCAweDQ4LCAweDA3LCAweDIwLCAweDUwLCAweDA0LCAweGMyLCAweDI4LCAweDgwLCAKLSAgICAweDAyLCAweGQyLCAweDI4LCAweDIyLCAweDMwLCAweDQxLCAweDA3LCAweDIwLCAweDU5LCAweDA0LCAweGMyLCAweDI5LCAweDgwLCAweDBjLCAweDMwLCAweDQ5LCAKLSAgICAweDA3LCAweDIwLCAweDUxLCAweDA0LCAweGMyLCAweDI5LCAweDgwLCAweDAyLCAweGQyLCAweDI5LCAweDIyLCAweDMwLCAweDQyLCAweDA3LCAweDIwLCAweDVhLCAKLSAgICAweDA0LCAweGMyLCAweDJhLCAweDgwLCAweDBjLCAweDMwLCAweDRhLCAweDA3LCAweDIwLCAweDUyLCAweDA0LCAweGMyLCAweDJhLCAweDgwLCAweDAyLCAweGQyLCAKLSAgICAweDJhLCAweDIyLCAweDMwLCAweDQzLCAweDA3LCAweDIwLCAweDViLCAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDBjLCAweDMwLCAweDRiLCAweDA3LCAweDIwLCAKLSAgICAweDUzLCAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDAyLCAweGQyLCAweDJiLCAweDIyLCAweDMwLCAweDQ0LCAweDA3LCAweDIwLCAweDVjLCAweDA0LCAweGMyLCAKLSAgICAweDJjLCAweDgwLCAweDBjLCAweDMwLCAweDRjLCAweDA3LCAweDIwLCAweDU0LCAweDA0LCAweGMyLCAweDJjLCAweDgwLCAweDAyLCAweGQyLCAweDJjLCAweDIyLCAKLSAgICAweDMwLCAweDQ1LCAweDA3LCAweDIwLCAweDVkLCAweDA0LCAweGMyLCAweDJkLCAweDgwLCAweDBjLCAweDMwLCAweDRkLCAweDA3LCAweDIwLCAweDU1LCAweDA0LCAKLSAgICAweGMyLCAweDJkLCAweDgwLCAweDAyLCAweGQyLCAweDJkLCAweDIyLCAweDMwLCAweDQ2LCAweDA3LCAweDIwLCAweDVlLCAweDA0LCAweGMyLCAweDJlLCAweDgwLCAKLSAgICAweDBjLCAweDMwLCAweDRlLCAweDA3LCAweDIwLCAweDU2LCAweDA0LCAweGMyLCAweDJlLCAweDgwLCAweDAyLCAweGQyLCAweDJlLCAweDIyLCAweDMwLCAweDQ3LCAKLSAgICAweDA3LCAweDIwLCAweDVmLCAweDA0LCAweGMyLCAweDJmLCAweDgwLCAweDBjLCAweDMwLCAweDRmLCAweDA3LCAweDIwLCAweDU3LCAweDA0LCAweGMyLCAweDJmLCAKLSAgICAweDgwLCAweDAyLCAweGQyLCAweDJmLCAweDIyLCAweDQ0LCAweDY2LCAweDQzLCAweDhhLCAweGJlLCAweGIwLCAweDAyLCAweDQwLCAweDAxLCAweDIyLCAweDIzLCAKLSAgICAweDBhLCAweDViLCAweDQ5LCAweDU1LCAweDQzLCAweDc1LCAweDk5LCAweDU0LCAweGQzLCAweDIyLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDk0LCAKLSAgICAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDM1LCAweDEyLCAweDQ0LCAweDdhLCAweDdlLCAweDA0LCAweDI4LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweGMxLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweGMzLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweGM3LCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDA0LCAweDY2LCAweDdmLCAweDdhLCAweDA1LCAweDRiLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDEyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAKLSAgICAweDFlLCAweDdhLCAweGIzLCAweDkxLCAweDEwLCAweDc0LCAweDQ4LCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDEzLCAweDc0LCAweDNmLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDE0LCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAKLSAgICAweDE2LCAweDdhLCAweGIzLCAweDkxLCAweDEwLCAweDc0LCAweDA4LCAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDEzLCAweDc0LCAweDNmLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDE2LCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAKLSAgICAweDJmLCAweDdhLCAweGIzLCAweDkxLCAweDEwLCAweDc0LCAweDQ4LCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDEzLCAweDc0LCAweDNmLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDBmLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDA3LCAweDEyLCAweDQwLCAweGZhLCAweDdlLCAweDIwLCAweDAwLCAweDEyLCAweDQxLCAweDlmLCAweDBiLCAweDIwLCAweGJlLCAweDIxLCAKLSAgICAweDJlLCAweDc4LCAweGY2LCAweGQyLCAweGE4LCAweDIyLCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDk0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAKLSAgICAweDM1LCAweDEyLCAweDQ0LCAweDdhLCAweDc1LCAweGIwLCAweGRmLCAweGMyLCAweGE4LCAweDIyLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAKLSAgICAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDdlLCAweDIwLCAweDA0LCAweDdjLCAweGIyLCAweGMyLCAweGQ3LCAweDEzLCAweDEzLCAweDEzLCAKLSAgICAweDEzLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDEyLCAweGE1LCAweGRhLCAweGU1LCAweDIyLCAweGNhLCAweDA5LCAweDEyLCAweDMwLCAweDBlLCAweDEwLCAweDAxLCAweDM0LCAweGQ1LCAweDUxLCAweDQwLCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAKLSAgICAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDA0LCAweDYzLCAweDUzLCAweDAxLCAweDdlLCAweDAwLCAweDU0LCAweDJlLCAweDAxLCAweDUzLCAweGE1LCAweGU2LCAweGY1LCAweDUxLCAweDgwLCAKLSAgICAweDEyLCAweDIwLCAweDAyLCAweDFkLCAweDc1LCAweDUzLCAweDAwLCAweDg1LCAweDU0LCAweDUxLCAweGQyLCAweDAyLCAweDc0LCAweDAzLCAweDgwLCAweDBkLCAKLSAgICAweDMwLCAweDAyLCAweDBlLCAweGMyLCAweDAyLCAweDdlLCAweDAwLCAweDU2LCAweDJlLCAweDAxLCAweDUzLCAweGE1LCAweGU2LCAweDdhLCAweGIzLCAweDkwLCAKLSAgICAweDAwLCAweGRhLCAweDA5LCAweDMyLCAweDQ1LCAweDZmLCAweDQ1LCAweDhiLCAweDQ1LCAweGE3LCAweDQ1LCAweGMzLCAweDQ1LCAweGRmLCAweDQ1LCAweGZiLCAKLSAgICAweDQ2LCAweDE3LCAweDQ2LCAweDMzLCAweGMwLCAweGQwLCAweGMwLCAweGQxLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAKLSAgICAweGNhLCAweDJiLCAweGQyLCAweDAxLCAweDc1LCAweDJmLCAweDg5LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDkwLCAweDAwLCAweDYwLCAweDI4LCAKLSAgICAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDdlLCAweDAwLCAweDAwLCAweDEzLCAweDUwLCAweDEzLCAweGNhLCAweDBiLCAweGNhLCAweDU5LCAweDdjLCAweGIwLCAKLSAgICAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDQ1LCAweDA0LCAweDk5LCAweDI0LCAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweGE1LCAweDBhLCAweGE1LCAKLSAgICAweDA4LCAweGJlLCAweDAxLCAweDJlLCAweDc4LCAweGUxLCAweDgwLCAweGQyLCAweDMwLCAweDA0LCAweDA1LCAweGMyLCAweDA0LCAweDEyLCAweDY0LCAweDg2LCAKLSAgICAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweGQwLCAweGQxLCAweGQwLCAweGQwLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDgwLCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAKLSAgICAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYxLCAweGFiLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAKLSAgICAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDgxLCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAKLSAgICAweDY5LCAweDUyLCAweDYxLCAweGViLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAKLSAgICAweDgyLCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYyLCAweDJiLCAKLSAgICAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDgzLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYyLCAweDZiLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDg0LCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAKLSAgICAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYyLCAweGFiLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAKLSAgICAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDg1LCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAKLSAgICAweDY5LCAweDUyLCAweDYyLCAweGViLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAKLSAgICAweDg2LCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAweDJiLCAKLSAgICAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDg3LCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAweDZiLCAweDg5LCAweDU0LCAweDIyLCAweDEwLCAKLSAgICAweDA4LCAweDAxLCAweDIyLCAweDIwLCAweDI4LCAweDAzLCAweGQyLCAweDA4LCAweDIyLCAweDc1LCAweDJmLCAweGEwLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAKLSAgICAweDE0LCAweDgwLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDI4LCAweDAzLCAweGQyLCAweDA4LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDQ5LCAweDQ1LCAweDMwLCAweDMwLCAweDA2LCAweDIwLCAweGU2LCAKLSAgICAweDRmLCAweGQyLCAweDA4LCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDYwLCAweDdlLCAweDM3LCAweDAxLCAweDc5LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDk5LCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMyLCAweDdhLCAweDA1LCAweDMyLCAweDdhLCAweDM3LCAweDAxLCAKLSAgICAweDc5LCAweDdlLCAweDM3LCAweDAxLCAweDU5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA4LCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweDU5LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAKLSAgICAweDY5LCAweGYwLCAweDEwLCAweDYwLCAweGM0LCAweDIyLCAweGMyLCAweDYwLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDc5LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweDk5LCAweDI4LCAweDA0LCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDk5LCAweDdlLCAweDM3LCAweDAxLCAweDc5LCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMyLCAweDdhLCAKLSAgICAweDA1LCAweDMyLCAweDdhLCAweDM3LCAweDAxLCAweDc5LCAweDdlLCAweDM3LCAweDAxLCAweDU5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDA4LCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDU5LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDA4LCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDA0LCAweDJkLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDU5LCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAKLSAgICAweDAyLCAweDQ2LCAweGMyLCAweDIyLCAweGQyLCAweDA4LCAweDdlLCAweDA0LCAweDA0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDU5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDY5LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAKLSAgICAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAKLSAgICAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGE5LCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAKLSAgICAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAKLSAgICAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGE5LCAweDFiLCAweDM4LCAweDIwLCAKLSAgICAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM4LCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEwLCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAwLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAKLSAgICAweGE5LCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAKLSAgICAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAKLSAgICAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAKLSAgICAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAwLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAKLSAgICAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAKLSAgICAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAKLSAgICAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAKLSAgICAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAKLSAgICAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAKLSAgICAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAKLSAgICAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAKLSAgICAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAKLSAgICAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDQ4LCAweDFlLCAweDc1LCAweDJmLCAKLSAgICAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM4LCAKLSAgICAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEwLCAweDIyLCAweGRhLCAweGI4LCAKLSAgICAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDQ4LCAweDFlLCAweGRhLCAweGI4LCAweDAyLCAweDQ5LCAKLSAgICAweDQ1LCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDU4LCAweDgwLCAweDAyLCAweGMyLCAweDU4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUwLCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDUwLCAweDEyLCAweDQyLCAweGJkLCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAKLSAgICAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAKLSAgICAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDQ4LCAweDcyLCAweDc1LCAweDJmLCAKLSAgICAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDA5LCAweDAxLCAweDIyLCAKLSAgICAweDIwLCAweDI5LCAweDAzLCAweGQyLCAweDA5LCAweDIyLCAweDc1LCAweDJmLCAweGExLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDgxLCAweDAwLCAKLSAgICAweDgwLCAweDA2LCAweDIwLCAweDI5LCAweDAzLCAweGQyLCAweDA5LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAKLSAgICAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDRjLCAweDcyLCAweDMwLCAweDMxLCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDA5LCAKLSAgICAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDYxLCAweDdlLCAweDM3LCAweDAxLCAweDdiLCAweDdlLCAweDI3LCAweDAxLCAweDliLCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDM0LCAweDdhLCAweDA1LCAweDM0LCAweDdhLCAweDM3LCAweDAxLCAweDdiLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDViLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDBjLCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDViLCAKLSAgICAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAKLSAgICAweDYxLCAweGM0LCAweDIyLCAweGMyLCAweDYxLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDdiLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweDliLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDliLCAweDdlLCAweDM3LCAweDAxLCAweDdiLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDM0LCAweDdhLCAweDA1LCAweDM0LCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDdiLCAweDdlLCAweDM3LCAweDAxLCAweDViLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDBjLCAweDJjLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDViLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDllLCAweDQ0LCAweDBjLCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDA4LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDViLCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDQ5LCAweGVmLCAKLSAgICAweDIyLCAweGQyLCAweDA5LCAweDdlLCAweDA0LCAweDA4LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDViLCAweDdhLCAweDA3LCAweDAxLCAweDZiLCAweDc1LCAKLSAgICAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGFiLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDAxLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGFiLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM5LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDExLCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAxLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGFiLCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAxLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAKLSAgICAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAKLSAgICAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAKLSAgICAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAKLSAgICAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDRiLCAweDRiLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM5LCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDExLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDRiLCAweDRiLCAweGRhLCAweGI4LCAweDAyLCAweDRjLCAweDcyLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDU5LCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDU5LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUxLCAweDgwLCAweDAyLCAweGMyLCAKLSAgICAweDUxLCAweDEyLCAweDQyLCAweGQ0LCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAKLSAgICAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAKLSAgICAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAKLSAgICAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAKLSAgICAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDRiLCAweDlmLCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBhLCAweDAxLCAweDIyLCAweDIwLCAweDJhLCAweDAzLCAKLSAgICAweGQyLCAweDBhLCAweDIyLCAweDc1LCAweDJmLCAweGEyLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDgyLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAKLSAgICAweDJhLCAweDAzLCAweGQyLCAweDBhLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAKLSAgICAweDY4LCAweDAzLCAweDEyLCAweDRmLCAweDlmLCAweDMwLCAweDMyLCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDBhLCAweDIyLCAweDMwLCAweGU2LCAKLSAgICAweDAyLCAweGQyLCAweDYyLCAweDdlLCAweDM3LCAweDAxLCAweDdkLCAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDM2LCAweDdhLCAweDA1LCAweDM2LCAweDdhLCAweDM3LCAweDAxLCAweDdkLCAweDdlLCAweDM3LCAweDAxLCAweDVkLCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDEwLCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDVkLCAweDc1LCAweDJmLCAweDk0LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDYyLCAweGM0LCAweDIyLCAKLSAgICAweGMyLCAweDYyLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDdkLCAweGJlLCAweDI0LCAKLSAgICAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweDlkLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDdkLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDM2LCAweDdhLCAweDA1LCAweDM2LCAweDdhLCAweDM3LCAweDAxLCAweDdkLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweDVkLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDEwLCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweDVkLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAKLSAgICAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDEwLCAKLSAgICAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDBjLCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweDVkLCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDRkLCAweDFjLCAweDIyLCAweGQyLCAweDBhLCAKLSAgICAweDdlLCAweDA0LCAweDBjLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDVkLCAweDdhLCAweDA3LCAweDAxLCAweDZkLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAKLSAgICAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAKLSAgICAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGFkLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAKLSAgICAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAKLSAgICAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAKLSAgICAweDI0LCAweDAyLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGFkLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAKLSAgICAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNhLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweGQyLCAweDEyLCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAKLSAgICAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAyLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGFkLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAKLSAgICAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAKLSAgICAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAKLSAgICAweDIzLCAweDQ0LCAweDAyLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAKLSAgICAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAKLSAgICAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAKLSAgICAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAKLSAgICAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAKLSAgICAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAKLSAgICAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAKLSAgICAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDRlLCAweDc4LCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNhLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEyLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAKLSAgICAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDRlLCAweDc4LCAweGRhLCAweGI4LCAweDAyLCAweDRmLCAweDlmLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAKLSAgICAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVhLCAweDgwLCAweDAyLCAweGMyLCAKLSAgICAweDVhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUyLCAweDgwLCAweDAyLCAweGMyLCAweDUyLCAweDEyLCAweDQyLCAKLSAgICAweGViLCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAKLSAgICAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAKLSAgICAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAKLSAgICAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDRlLCAweGNjLCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAKLSAgICAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBiLCAweDAxLCAweDIyLCAweDIwLCAweDJiLCAweDAzLCAweGQyLCAweDBiLCAweDIyLCAKLSAgICAweDc1LCAweDJmLCAweGEzLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDgzLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJiLCAweDAzLCAweGQyLCAKLSAgICAweDBiLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAKLSAgICAweDUyLCAweGNjLCAweDMwLCAweDMzLCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDBiLCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDYzLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweDdmLCAweDdlLCAweDI3LCAweDAxLCAweDlmLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDM4LCAweDdhLCAweDA1LCAweDM4LCAweDdhLCAweDM3LCAweDAxLCAweDdmLCAweDdlLCAweDM3LCAweDAxLCAweDVmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDE0LCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDVmLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDYzLCAweGM0LCAweDIyLCAweGMyLCAweDYzLCAweDJkLCAKLSAgICAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDdmLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAKLSAgICAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweDlmLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweDlmLCAweDdlLCAweDM3LCAweDAxLCAweDdmLCAweDlkLCAKLSAgICAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDM4LCAweDdhLCAweDA1LCAweDM4LCAweDdhLCAweDM3LCAweDAxLCAweDdmLCAweDdlLCAweDM3LCAweDAxLCAKLSAgICAweDVmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE0LCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDVmLCAweDc1LCAKLSAgICAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAKLSAgICAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDE0LCAweDJkLCAweDlkLCAweDI0LCAKLSAgICAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDEwLCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDVmLCAweDEyLCAKLSAgICAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDUwLCAweDQ5LCAweDIyLCAweGQyLCAweDBiLCAweDdlLCAweDA0LCAweDEwLCAKLSAgICAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDVmLCAweDdhLCAweDA3LCAweDAxLCAweDZmLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAKLSAgICAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAKLSAgICAweDAxLCAweGFmLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAKLSAgICAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAKLSAgICAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDAzLCAweDAwLCAKLSAgICAweDJlLCAweDI3LCAweDAxLCAweGFmLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAKLSAgICAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDMwLCAweDNiLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAKLSAgICAweDEzLCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAKLSAgICAweDdlLCAweDY0LCAweDAzLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGFmLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAKLSAgICAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAKLSAgICAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAzLCAKLSAgICAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAKLSAgICAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAKLSAgICAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAKLSAgICAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAKLSAgICAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAKLSAgICAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAKLSAgICAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAKLSAgICAweDc4LCAweGU3LCAweDAyLCAweDUxLCAweGE1LCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAKLSAgICAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNiLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweGQyLCAweDEzLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAKLSAgICAweDEyLCAweDUxLCAweGE1LCAweGRhLCAweGI4LCAweDAyLCAweDUyLCAweGNjLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAKLSAgICAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAKLSAgICAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDViLCAweDgwLCAweDAyLCAweGMyLCAweDViLCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUzLCAweDgwLCAweDAyLCAweGMyLCAweDUzLCAweDEyLCAweDQzLCAweDAyLCAweDAyLCAweDYxLCAKLSAgICAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAKLSAgICAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAKLSAgICAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAKLSAgICAweGRiLCAweDIyLCAweDAyLCAweDUxLCAweGY5LCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBjLCAweDAxLCAweDIyLCAweDIwLCAweDJjLCAweDAzLCAweGQyLCAweDBjLCAweDIyLCAweDc1LCAweDJmLCAweGE0LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDg0LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJjLCAweDAzLCAweGQyLCAweDBjLCAweDIyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDU1LCAweGY5LCAweDMwLCAKLSAgICAweDM0LCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDBjLCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDY0LCAweDdlLCAweDM3LCAweDAxLCAKLSAgICAweDgxLCAweDdlLCAweDI3LCAweDAxLCAweGExLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNhLCAweDdhLCAweDA1LCAKLSAgICAweDNhLCAweDdhLCAweDM3LCAweDAxLCAweDgxLCAweDdlLCAweDM3LCAweDAxLCAweDYxLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE4LCAKLSAgICAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDYxLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDY0LCAweGM0LCAweDIyLCAweGMyLCAweDY0LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAKLSAgICAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDgxLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGExLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGExLCAweDdlLCAweDM3LCAweDAxLCAweDgxLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAKLSAgICAweDJlLCAweDA1LCAweDNhLCAweDdhLCAweDA1LCAweDNhLCAweDdhLCAweDM3LCAweDAxLCAweDgxLCAweDdlLCAweDM3LCAweDAxLCAweDYxLCAweDdkLCAweDQzLCAKLSAgICAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE4LCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDYxLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDE4LCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAKLSAgICAweDdlLCAweDM0LCAweDE0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDYxLCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAKLSAgICAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDUzLCAweDc2LCAweDIyLCAweGQyLCAweDBjLCAweDdlLCAweDA0LCAweDE0LCAweDJkLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDYxLCAweDdhLCAweDA3LCAweDAxLCAweDcxLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGIxLCAweDJlLCAKLSAgICAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAKLSAgICAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAKLSAgICAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDA0LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAKLSAgICAweGIxLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAKLSAgICAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAKLSAgICAweDNjLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE0LCAweDIyLCAweDgwLCAKLSAgICAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA0LCAKLSAgICAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGIxLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAKLSAgICAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAKLSAgICAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAKLSAgICAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA0LCAweDdhLCAweDY5LCAweGIwLCAKLSAgICAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAKLSAgICAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAKLSAgICAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAKLSAgICAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAKLSAgICAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAKLSAgICAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAKLSAgICAweDU0LCAweGQyLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDMwLCAweDNjLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAKLSAgICAweDE0LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDU0LCAweGQyLCAKLSAgICAweGRhLCAweGI4LCAweDAyLCAweDU1LCAweGY5LCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVjLCAweDgwLCAweDAyLCAweGMyLCAweDVjLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDU0LCAweDgwLCAweDAyLCAweGMyLCAweDU0LCAweDEyLCAweDQzLCAweDE5LCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAKLSAgICAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAKLSAgICAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAKLSAgICAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAKLSAgICAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAKLSAgICAweDU1LCAweDI2LCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAKLSAgICAweDEwLCAweDBkLCAweDAxLCAweDIyLCAweDIwLCAweDJkLCAweDAzLCAweGQyLCAweDBkLCAweDIyLCAweDc1LCAweDJmLCAweGE1LCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdlLCAweDE0LCAweDg1LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJkLCAweDAzLCAweGQyLCAweDBkLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDU5LCAweDI2LCAweDMwLCAweDM1LCAweDA2LCAweDIwLCAKLSAgICAweGU2LCAweDRmLCAweGQyLCAweDBkLCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDY1LCAweDdlLCAweDM3LCAweDAxLCAweDgzLCAweDdlLCAweDI3LCAKLSAgICAweDAxLCAweGEzLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNjLCAweDdhLCAweDA1LCAweDNjLCAweDdhLCAweDM3LCAKLSAgICAweDAxLCAweDgzLCAweDdlLCAweDM3LCAweDAxLCAweDYzLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDFjLCAweDJjLCAweDM4LCAweDY4LCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweDYzLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDY1LCAweGM0LCAweDIyLCAweGMyLCAweDY1LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAKLSAgICAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDgzLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGEzLCAweDI4LCAKLSAgICAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGEzLCAweDdlLCAweDM3LCAweDAxLCAweDgzLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNjLCAKLSAgICAweDdhLCAweDA1LCAweDNjLCAweDdhLCAweDM3LCAweDAxLCAweDgzLCAweDdlLCAweDM3LCAweDAxLCAweDYzLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAKLSAgICAweDQ0LCAweDFjLCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDYzLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDFjLCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDE4LCAKLSAgICAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDYzLCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAKLSAgICAweDAzLCAweDAyLCAweDU2LCAweGEzLCAweDIyLCAweGQyLCAweDBkLCAweDdlLCAweDA0LCAweDE4LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDYzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDczLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAKLSAgICAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAKLSAgICAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGIzLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAKLSAgICAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAKLSAgICAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAKLSAgICAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDA1LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGIzLCAweDFiLCAweDM4LCAKLSAgICAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNkLCAweDBhLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE1LCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA1LCAweDAwLCAweDJlLCAweDY3LCAKLSAgICAweDAxLCAweGIzLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAKLSAgICAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAKLSAgICAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAKLSAgICAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA1LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAKLSAgICAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAKLSAgICAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAKLSAgICAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAKLSAgICAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAKLSAgICAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAKLSAgICAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAKLSAgICAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAKLSAgICAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDU3LCAweGZmLCAweDc1LCAKLSAgICAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAKLSAgICAweDNkLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE1LCAweDIyLCAweGRhLCAKLSAgICAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDU3LCAweGZmLCAweGRhLCAweGI4LCAweDAyLCAKLSAgICAweDU5LCAweDI2LCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDVkLCAweDgwLCAweDAyLCAweGMyLCAweDVkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDU1LCAweDgwLCAweDAyLCAweGMyLCAweDU1LCAweDEyLCAweDQzLCAweDMwLCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAKLSAgICAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAKLSAgICAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAKLSAgICAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDU4LCAweDUzLCAweDc1LCAKLSAgICAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBlLCAweDAxLCAKLSAgICAweDIyLCAweDIwLCAweDJlLCAweDAzLCAweGQyLCAweDBlLCAweDIyLCAweDc1LCAweDJmLCAweGE2LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDg2LCAKLSAgICAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJlLCAweDAzLCAweGQyLCAweDBlLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAKLSAgICAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDVjLCAweDUzLCAweDMwLCAweDM2LCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAKLSAgICAweDBlLCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDY2LCAweDdlLCAweDM3LCAweDAxLCAweDg1LCAweDdlLCAweDI3LCAweDAxLCAweGE1LCAweDlkLCAKLSAgICAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNlLCAweDdhLCAweDA1LCAweDNlLCAweDdhLCAweDM3LCAweDAxLCAweDg1LCAweDdlLCAKLSAgICAweDM3LCAweDAxLCAweDY1LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDIwLCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAKLSAgICAweDY1LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAKLSAgICAweDEwLCAweDY2LCAweGM0LCAweDIyLCAweGMyLCAweDY2LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAKLSAgICAweDAxLCAweDg1LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGE1LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAKLSAgICAweDAxLCAweGE1LCAweDdlLCAweDM3LCAweDAxLCAweDg1LCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNlLCAweDdhLCAweDA1LCAweDNlLCAKLSAgICAweDdhLCAweDM3LCAweDAxLCAweDg1LCAweDdlLCAweDM3LCAweDAxLCAweDY1LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDIwLCAweDJjLCAKLSAgICAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDY1LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDllLCAweDQ0LCAweDIwLCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDFjLCAweDJkLCAweDdkLCAweDI0LCAKLSAgICAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDY1LCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDU5LCAKLSAgICAweGQwLCAweDIyLCAweGQyLCAweDBlLCAweDdlLCAweDA0LCAweDFjLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDY1LCAweDdhLCAweDA3LCAweDAxLCAweDc1LCAKLSAgICAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAKLSAgICAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGI1LCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAKLSAgICAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAKLSAgICAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDA2LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGI1LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAKLSAgICAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNlLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE2LCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA2LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGI1LCAweDllLCAKLSAgICAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAKLSAgICAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAKLSAgICAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAKLSAgICAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA2LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAKLSAgICAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAKLSAgICAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAKLSAgICAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAKLSAgICAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAKLSAgICAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAKLSAgICAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAKLSAgICAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDViLCAweDJjLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNlLCAweDBhLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE2LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAKLSAgICAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDViLCAweDJjLCAweGRhLCAweGI4LCAweDAyLCAweDVjLCAweDUzLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDVlLCAweDgwLCAweDAyLCAweGMyLCAweDVlLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU2LCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDU2LCAweDEyLCAweDQzLCAweDQ3LCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAKLSAgICAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAKLSAgICAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDViLCAweDgwLCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBmLCAweDAxLCAweDIyLCAweDIwLCAweDJmLCAKLSAgICAweDAzLCAweGQyLCAweDBmLCAweDIyLCAweDc1LCAweDJmLCAweGE3LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDg3LCAweDAwLCAweDgwLCAweDA2LCAKLSAgICAweDIwLCAweDJmLCAweDAzLCAweGQyLCAweDBmLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAKLSAgICAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDVmLCAweDgwLCAweDMwLCAweDM3LCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDBmLCAweDIyLCAweDMwLCAKLSAgICAweGU2LCAweDAyLCAweGQyLCAweDY3LCAweDdlLCAweDM3LCAweDAxLCAweDg3LCAweDdlLCAweDI3LCAweDAxLCAweGE3LCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAKLSAgICAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQwLCAweDdhLCAweDA1LCAweDQwLCAweDdhLCAweDM3LCAweDAxLCAweDg3LCAweDdlLCAweDM3LCAweDAxLCAweDY3LCAKLSAgICAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI0LCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDY3LCAweDc1LCAweDJmLCAKLSAgICAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDY3LCAweGM0LCAKLSAgICAweDIyLCAweGMyLCAweDY3LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDg3LCAweGJlLCAKLSAgICAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGE3LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGE3LCAweDdlLCAKLSAgICAweDM3LCAweDAxLCAweDg3LCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQwLCAweDdhLCAweDA1LCAweDQwLCAweDdhLCAweDM3LCAweDAxLCAKLSAgICAweDg3LCAweDdlLCAweDM3LCAweDAxLCAweDY3LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI0LCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweDY3LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAKLSAgICAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAKLSAgICAweDI0LCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDIwLCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweDY3LCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDVjLCAweGZkLCAweDIyLCAweGQyLCAKLSAgICAweDBmLCAweDdlLCAweDA0LCAweDIwLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDY3LCAweDdhLCAweDA3LCAweDAxLCAweDc3LCAweDc1LCAweDJmLCAweDk0LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGI3LCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAKLSAgICAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDI0LCAweDA3LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGI3LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNmLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE3LCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAKLSAgICAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA3LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGI3LCAweDllLCAweDI0LCAweDAwLCAweDAyLCAKLSAgICAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAKLSAgICAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAKLSAgICAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAKLSAgICAweDIzLCAweDIzLCAweDQ0LCAweDA3LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAKLSAgICAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAKLSAgICAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAKLSAgICAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAKLSAgICAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAKLSAgICAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAKLSAgICAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAKLSAgICAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDVlLCAweDU5LCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNmLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE3LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAKLSAgICAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDVlLCAweDU5LCAweGRhLCAweGI4LCAweDAyLCAweDVmLCAweDgwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAKLSAgICAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVmLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDVmLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU3LCAweDgwLCAweDAyLCAweGMyLCAweDU3LCAweDEyLCAKLSAgICAweDQzLCAweDVlLCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDVlLCAweGFkLCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAKLSAgICAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDU4LCAweDgwLCAweDAyLCAweGMyLCAweDU4LCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUwLCAweDgwLCAweDAyLCAweGMyLCAweDUwLCAweDAyLCAweDYwLCAweGZmLCAKLSAgICAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAKLSAgICAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDU5LCAweDgwLCAweDAyLCAweGMyLCAweDU5LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAKLSAgICAweGQyLCAweDUxLCAweDgwLCAweDAyLCAweGMyLCAweDUxLCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVhLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDVhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUyLCAweDgwLCAweDAyLCAweGMyLCAweDUyLCAweDAyLCAKLSAgICAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDViLCAweDgwLCAweDAyLCAweGMyLCAweDViLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDUzLCAweDgwLCAweDAyLCAweGMyLCAweDUzLCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAKLSAgICAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVjLCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDVjLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU0LCAweDgwLCAweDAyLCAweGMyLCAKLSAgICAweDU0LCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVkLCAweDgwLCAweDAyLCAweGMyLCAweDVkLCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU1LCAweDgwLCAweDAyLCAweGMyLCAweDU1LCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAKLSAgICAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAKLSAgICAweGQyLCAweDVlLCAweDgwLCAweDAyLCAweGMyLCAweDVlLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU2LCAweDgwLCAKLSAgICAweDAyLCAweGMyLCAweDU2LCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVmLCAweDgwLCAweDAyLCAweGMyLCAweDVmLCAweGE1LCAKLSAgICAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU3LCAweDgwLCAweDAyLCAweGMyLCAweDU3LCAweDAyLCAweDYwLCAweGZmLCAweDU0LCAKLSAgICAweGYwLCAweGM0LCAweGE1LCAweGZmLCAweGM0LCAweGE1LCAweDRmLCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDIyLCAweGNhLCAweDE5LCAweDVlLCAweDIwLCAweDA3LCAweDRjLCAweGEyLCAweDdlLCAweDc0LCAweDJjLCAweDJkLCAweGNhLCAweDc5LCAKLSAgICAweDdhLCAweDc5LCAweGEwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweGIwLCAweDBiLCAweDc0LCAweGRhLCAweDc5LCAweDdlLCAweDMwLCAweDAyLCAweDdlLCAKLSAgICAweDY0LCAweDAwLCAweDAyLCAweDAyLCAweDYxLCAweDVlLCAweGNhLCAweDE5LCAweDVlLCAweDIwLCAweDA3LCAweDRjLCAweGEyLCAweDdlLCAweDc0LCAweDJjLCAKLSAgICAweDJkLCAweGNhLCAweDc5LCAweDdhLCAweDc5LCAweGEwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweGIwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweDYwLCAKLSAgICAweDBiLCAweDc0LCAweGRhLCAweDc5LCAweDdlLCAweDMwLCAweDAzLCAweDdlLCAweDY0LCAweDAwLCAweDAzLCAweDAyLCAweDYxLCAweDVlLCAweGQyLCAweDA0LCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweGNiLCAweDJkLCAweDI2LCAweGJlLCAweDI0LCAweDA0LCAweDAwLCAweDM4LCAweDJlLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdlLCAweDc5LCAweGEwLCAweDdhLCAweDA5LCAweGEwLCAweDBiLCAweDA0LCAweDBiLCAweDc0LCAweGJkLCAweDA0LCAKLSAgICAweDY4LCAweDIzLCAweGE1LCAweGRiLCAweGVmLCAweDdhLCAweDI3LCAweDAxLCAweGNiLCAweDdlLCAweDI1LCAweDMwLCAweDJkLCAweDI2LCAweDdhLCAweDI1LCAKLSAgICAweDMwLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweGRhLCAweDE5LCAweGMyLCAweGQ3LCAweDIyLCAweDc1LCAweDJmLCAweDlhLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweGRhLCAweDE5LCAweGQyLCAweGQ3LCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGQ3LCAweDQ4LCAweGYxLCAweDQ2LCAweDY1LCAweDQ3LCAKLSAgICAweDVmLCAweDQ5LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ4LCAweDU2LCAweDQ1LCAweDJhLCAweDQ5LCAweDZlLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ5LCAweDc1LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRjLCAweDFlLCAweDQ5LCAweDkyLCAweDRhLCAKLSAgICAweDhjLCAweDRjLCAweDU3LCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRiLCAweDgzLCAweDQ1LCAweDJhLCAweDRjLCAweDliLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRjLCAweGEyLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRmLCAweDRiLCAweDRjLCAweGJmLCAweDRkLCAKLSAgICAweGI5LCAweDRmLCAweDg0LCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRlLCAweGIwLCAweDQ1LCAweDJhLCAweDRmLCAweGM4LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRmLCAweGNmLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDUyLCAweDc4LCAweDRmLCAweGVjLCAweDUwLCAKLSAgICAweGU2LCAweDUyLCAweGIxLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDUxLCAweGRkLCAweDQ1LCAweDJhLCAweDUyLCAweGY1LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDUyLCAweGZjLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU1LCAweGE1LCAweDUzLCAweDE5LCAweDU0LCAKLSAgICAweDEzLCAweDU1LCAweGRlLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU1LCAweDBhLCAweDQ1LCAweDJhLCAweDU2LCAweDIyLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU2LCAweDI5LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU4LCAweGQyLCAweDU2LCAweDQ2LCAweDU3LCAKLSAgICAweDQwLCAweDU5LCAweDBiLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU4LCAweDM3LCAweDQ1LCAweDJhLCAweDU5LCAweDRmLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU5LCAweDU2LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDViLCAweGZmLCAweDU5LCAweDczLCAweDVhLCAKLSAgICAweDZkLCAweDVjLCAweDM4LCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDViLCAweDY0LCAweDQ1LCAweDJhLCAweDVjLCAweDdjLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDVjLCAweDgzLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDVmLCAweDJjLCAweDVjLCAweGEwLCAweDVkLCAKLSAgICAweDlhLCAweDVmLCAweDY1LCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDVlLCAweDkxLCAweDQ1LCAweDJhLCAweDVmLCAweGE5LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDVmLCAweGIwLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweGNhLCAweGI4LCAweDc1LCAweDJmLCAweDAyLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDkxLCAweDAzLCAweDIwLCAweGU1LCAweDIwLCAweDMwLCAweGUwLCAweDA1LCAweDEyLCAweDZiLCAweDA1LCAKLSAgICAweDgwLCAweDMwLCAweDMwLCAweGUxLCAweDA1LCAweDEyLCAweDY0LCAweDg2LCAweDgwLCAweDI4LCAweDMwLCAweGUyLCAweDA1LCAweDEyLCAweDYzLCAweGY1LCAKLSAgICAweDgwLCAweDIwLCAweDMwLCAweGUzLCAweDFkLCAweDEyLCAweDY1LCAweDYxLCAweDgwLCAweDE4LCAweDdlLCAweGIzLCAweDkxLCAweDA0LCAweDMwLCAweGUxLCAKLSAgICAweDAzLCAweDAyLCAweDY3LCAweDVmLCAweDMwLCAweGU2LCAweDA1LCAweDEyLCAweDZjLCAweDZhLCAweDgwLCAweDA2LCAweDIwLCAweGUyLCAweDAzLCAweDAyLCAKLSAgICAweDAwLCAweDgwLCAweGRhLCAweGI4LCAweDMyLCAweDc1LCAweDJmLCAweDEwLCAweDEyLCAweDczLCAweDM1LCAweGNhLCAweDBiLCAweGNhLCAweDM5LCAweGNhLCAKLSAgICAweDU5LCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweDZjLCAweGFhLCAweGJlLCAweGIwLCAweDQwLCAKLSAgICAweDI4LCAweDBhLCAweDEyLCAweDY0LCAweDI0LCAweGRhLCAweDU5LCAweGRhLCAweDM5LCAweGRhLCAweDBiLCAweDIyLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDE0LCAweDgwLCAweGYxLCAweDdlLCAweDM3LCAweDAxLCAweGM1LCAweDJkLCAweDM1LCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDJmLCAKLSAgICAweDdhLCAweDM3LCAweDAxLCAweGM1LCAweDdlLCAweDM3LCAweDAxLCAweGMzLCAweDdkLCAweDQzLCAweDJkLCAweDQ1LCAweGJlLCAweDQ0LCAweDJjLCAweDJjLCAKLSAgICAweDM4LCAweDI1LCAweDdhLCAweDQ3LCAweDAxLCAweGMzLCAweDc1LCAweDJmLCAweDExLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDEyLCAweDY3LCAweDlmLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDEyLCAweDY2LCAweDMwLCAweDIyLCAweDc1LCAKLSAgICAweDJmLCAweDE2LCAweDEyLCAweDczLCAweDM1LCAweDgwLCAweGY0LCAweDc1LCAweDJmLCAweDEyLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweGIxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDJjLCAweDJkLCAweDlkLCAweDU0LCAweDEyLCAweDY3LCAweDlmLCAweDdlLCAweDM0LCAweDI4LCAweDJkLCAKLSAgICAweDdkLCAweDU0LCAweDJkLCAweDQzLCAweDgwLCAweGJjLCAweDc1LCAweDJmLCAweDE4LCAweDEyLCAweDczLCAweDM1LCAweGNhLCAweDA5LCAweGNhLCAweDM5LCAKLSAgICAweGNhLCAweDJiLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweDYzLCAweDkxLCAweDFhLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDE0LCAweDdlLCAweGIwLCAweDgwLCAweDljLCAweGI2LCAweDYwLCAweDM4LCAweDZjLCAweGFhLCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDlkLCAKLSAgICAweDM1LCAweDQwLCAweDM3LCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM3LCAweDdkLCAweDQzLCAweDJkLCAweDQ1LCAweGJlLCAKLSAgICAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNiLCAweDdhLCAweDQ3LCAweDAxLCAweGM3LCAweDdkLCAweDQ1LCAweDEyLCAweDY4LCAweGQ0LCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDFlLCAweDIwLCAweGU1LCAweDEzLCAweDc1LCAweDJmLCAweDE5LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDkxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGRhLCAweDJiLCAweGRhLCAweDM5LCAweGRhLCAweDA5LCAweDIyLCAweDgwLCAweDM0LCAweDJkLCAweDUzLCAweDZkLCAweDMzLCAweDYwLCAweDAyLCAKLSAgICAweDgwLCAweGMxLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdhLCAweDA3LCAweDAxLCAweGM3LCAweDgwLCAweGUxLCAKLSAgICAweGNhLCAweDU5LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDU0LCAweDEyLCAweDY4LCAweGQ0LCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAKLSAgICAweDU0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM3LCAweDEyLCAweDY4LCAweGQ0LCAweGRhLCAweDQ5LCAweDgwLCAweGIwLCAweDdlLCAweDBmLCAKLSAgICAweDJjLCAweDNlLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDJjLCAweDNlLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDc0LCAweDYwLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDgwLCAweGE1LCAweDdlLCAweDJmLCAweDJjLCAweDVlLCAKLSAgICAweDBiLCAweDJjLCAweDdhLCAweDJmLCAweDJjLCAweDVlLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDFjLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDgwLCAweDFmLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAKLSAgICAweDIyLCAweDc1LCAweDJmLCAweDI4LCAweDEyLCAweDczLCAweDM1LCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweDcwLCAweGRiLCAweDdlLCAKLSAgICAweDBkLCAweDMwLCAweDdlLCAweDFkLCAweDM0LCAweDdlLCAweDJkLCAweDM4LCAweDdlLCAweDNkLCAweDNjLCAweDdlLCAweDg1LCAweDQwLCAweDdkLCAweDkwLCAKLSAgICAweDRkLCAweDkxLCAweDRkLCAweDkyLCAweDRkLCAweDkzLCAweDRkLCAweDk0LCAweDRkLCAweDk1LCAweDRkLCAweDk2LCAweDRkLCAweDk3LCAweDRkLCAweDk4LCAKLSAgICAweDY4LCAweGI4LCAweDdhLCAweDEzLCAweDkxLCAweDE3LCAweDdhLCAweDAzLCAweDkxLCAweDE3LCAweDdhLCAweDMzLCAweDkxLCAweDE3LCAweDdhLCAweDIzLCAKLSAgICAweDkxLCAweDE3LCAweDdhLCAweDUzLCAweDkxLCAweDE3LCAweDdhLCAweDQzLCAweDkxLCAweDE3LCAweDdhLCAweDczLCAweDkxLCAweDE3LCAweDdhLCAweDYzLCAKLSAgICAweDkxLCAweDE3LCAweDdhLCAweDkzLCAweDkxLCAweDE3LCAweDdhLCAweDgzLCAweDkxLCAweDE3LCAweDMwLCAweDczLCAweDIyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDE3LCAweDdhLCAweGEzLCAweDkxLCAweDE3LCAweDdhLCAweGQzLCAweDkxLCAweDE3LCAweDdhLCAweGMzLCAweDkxLCAweDE3LCAweDdhLCAweGYzLCAweDkxLCAKLSAgICAweDE3LCAweDdhLCAweGUzLCAweDkxLCAweDE3LCAweDdkLCAweDc4LCAweDdhLCAweGYzLCAweDkxLCAweDE3LCAweDdhLCAweGUzLCAweDkxLCAweDE3LCAweDdlLCAKLSAgICAweGIzLCAweDkxLCAweDFlLCAweDMwLCAweGU1LCAweDAzLCAweDAyLCAweDY1LCAweDNjLCAweDc1LCAweDJmLCAweDI5LCAweDEyLCAweDczLCAweDM1LCAweDIwLCAKLSAgICAweDczLCAweDA4LCAweDc1LCAweDJmLCAweDBhLCAweDEyLCAweDczLCAweDM1LCAweDgwLCAweDA2LCAweDc1LCAweDJmLCAweDEyLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDc0LCAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDZkLCAweDAwLCAweDdkLCAweDEwLCAweDdhLCAweDBkLCAweDMwLCAweDdhLCAweDBkLCAweDM0LCAKLSAgICAweDdhLCAweDBkLCAweDM4LCAweDdhLCAweDBkLCAweDNjLCAweDdhLCAweDA1LCAweDQwLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGM1LCAweDRkLCAweDMzLCAweDY4LCAweDNiLCAweDdlLCAweDA3LCAweDAxLCAweGMxLCAweDdlLCAweDU0LCAweDJjLCAweDJkLCAKLSAgICAweDlkLCAweDUwLCAweGJkLCAweDM1LCAweDQwLCAweDAyLCAweDdkLCAweDM1LCAweGNhLCAweDM5LCAweDdlLCAweDY1LCAweDRiLCAweDk5LCAweDY0LCAweGRhLCAKLSAgICAweDM5LCAweDdlLCAweDA3LCAweDAxLCAweGM1LCAweDlkLCAweDAzLCAweDdhLCAweDA3LCAweDAxLCAweGM1LCAweDJlLCAweDM3LCAweDAxLCAweGMxLCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweGMxLCAweGJlLCAweDM0LCAweDJjLCAweDJjLCAweDI4LCAweGM3LCAweDdlLCAweDM0LCAweDI4LCAweDJkLCAweDdhLCAweDM3LCAweDAxLCAKLSAgICAweGMxLCAweDgwLCAweGJkLCAweDIyLCAweDc1LCAweDJmLCAweDUzLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE1LCAweDRkLCAweDgwLCAweDExLCAweDc1LCAKLSAgICAweDJmLCAweDUxLCAweDEyLCAweDczLCAweDM1LCAweDBiLCAweDA4LCAweDEwLCAweDBiLCAweDA1LCAweDllLCAweDM0LCAweDAwLCAweDAyLCAweDI4LCAweDRkLCAKLSAgICAweDdjLCAweGIyLCAweDIwLCAweGU3LCAweDI3LCAweDU0LCAweDA3LCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDM5LCAweDFlLCAweDdjLCAweGIyLCAKLSAgICAweDU0LCAweDc4LCAweDAzLCAweDAzLCAweDAzLCAweDdjLCAweDJiLCAweDlkLCAweDEzLCAweDQwLCAweDFhLCAweDY4LCAweDEyLCAweDdhLCAweDE1LCAweDRkLCAKLSAgICAweDdhLCAweDI1LCAweDRmLCAweDdlLCAweDY0LCAweDY3LCAweDA5LCAweDdhLCAweDY1LCAweDRiLCAweDg5LCAweDI0LCAweDAyLCAweDY3LCAweDE3LCAweDdlLCAKLSAgICAweDY0LCAweDY2LCAweDdmLCAweDgwLCAweGYyLCAweDJkLCAweDEzLCAweDlkLCAweDMxLCAweGNhLCAweDM5LCAweDdkLCAweDMxLCAweDJkLCAweDEwLCAweGNhLCAKLSAgICAweDE5LCAweGNhLCAweDI5LCAweDk5LCAweDI0LCAweGRhLCAweDI5LCAweGRhLCAweDA5LCAweGRhLCAweDM5LCAweDgwLCAweGEyLCAweDdhLCAweDE1LCAweDRkLCAKLSAgICAweDdlLCAweDY0LCAweDY2LCAweGY1LCAweDRkLCAweDMzLCAweDc4LCAweDA5LCAweDdjLCAweGIyLCAweDIwLCAweGU3LCAweDJhLCAweDdlLCAweDY0LCAweDY2LCAKLSAgICAweDc0LCAweDdhLCAweDY1LCAweDRiLCAweDIyLCAweDc1LCAweDJmLCAweDUyLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDIxLCAweDRkLCAweDdlLCAweDA5LCAKLSAgICAweDMwLCAweDBiLCAweDA0LCAweDFiLCAweDM0LCAweDc4LCAweDg5LCAweDgwLCAweGQ0LCAweDc1LCAweDJmLCAweDU0LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAKLSAgICAweDE1LCAweDRkLCAweDdlLCAweDI1LCAweDRmLCAweDgwLCAweDkwLCAweDVlLCAweDIwLCAweDA3LCAweDU0LCAweDc4LCAweDdlLCAweDQ0LCAweDY3LCAweDdkLCAKLSAgICAweDMwLCAweGU2LCAweDE2LCAweDRkLCAweDMzLCAweDY4LCAweDI2LCAweDFiLCAweDM0LCAweDdlLCAweDA5LCAweDQwLCAweDBiLCAweDA0LCAweDdlLCAweDQ0LCAKLSAgICAweDM0LCAweGZhLCAweDIwLCAweGUzLCAweDA0LCAweDdlLCAweDQ0LCAweDY3LCAweDg1LCAweGNhLCAweDA5LCAweGNhLCAweDM5LCAweDk5LCAweDQ0LCAweGRhLCAKLSAgICAweDM5LCAweGRhLCAweDA5LCAweDdlLCAweDY0LCAweDY2LCAweDdmLCAweDRkLCAweDMzLCAweDY4LCAweGE2LCAweDg5LCAweDY0LCAweDdhLCAweDE1LCAweDRkLCAKLSAgICAweGY1LCAweDRmLCAweDdlLCAweDY0LCAweDY3LCAweDU4LCAweDgwLCAweDk5LCAweDdlLCAweDE1LCAweDRkLCAweGU1LCAweDRmLCAweDgwLCAweGM0LCAweGMwLCAKLSAgICAweGQwLCAweGMwLCAweGQxLCAweGMwLCAweGUwLCAweGNhLCAweDE5LCAweDc1LCAweDJmLCAweGZlLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDAwLCAKLSAgICAweDUzLCAweDAyLCAweDQwLCAweDUyLCAweGRhLCAweDE5LCAweGQwLCAweGUwLCAweGQwLCAweGQxLCAweGQwLCAweGQwLCAweDMyLCAweDAzLCAweGE1LCAweGNiLCAKLSAgICAweDE5LCAweGIxLCAweDgwLCAweDAwLCAweDIyLCAweDIyLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweDdlLCAweGEwLCAweDAyLCAweGE0LCAKLSAgICAweDdlLCAweDA0LCAweDY4LCAweGIxLCAweDlkLCAweDA1LCAweDdlLCAweGIwLCAweDI4LCAweDdhLCAweGIzLCAweDk1LCAweDAwLCAweDg5LCAweDA0LCAweGNhLCAKLSAgICAweDI5LCAweGI0LCAweDgwLCAweGUyLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweDdlLCAweDAwLCAweDI4LCAweDdhLCAweDAzLCAweDk1LCAKLSAgICAweDAwLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGRhLCAweDI5LCAweDIyLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAKLSAgICAweGUxLCAweDdlLCAweGEwLCAweDAyLCAweGE0LCAweDdlLCAweDA0LCAweDY5LCAweGU2LCAweDlkLCAweDA1LCAweDdlLCAweGIwLCAweDM4LCAweDdhLCAweGIzLCAKLSAgICAweDk1LCAweDAwLCAweDg5LCAweDA0LCAweGNhLCAweDI5LCAweGI0LCAweDgwLCAweGUyLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweDdlLCAKLSAgICAweDAwLCAweDM4LCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGRhLCAweDI5LCAweDIyLCAKLSAgICAweGNhLCAweDI5LCAweGNhLCAweDE5LCAweGNhLCAweDU4LCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweGRhLCAweDU4LCAweDdlLCAweDU0LCAKLSAgICAweDAyLCAweDIwLCAweDljLCAweGI1LCAweGE0LCAweDdlLCAweDUwLCAweDMwLCAweDVlLCAweDIwLCAweDA3LCAweDJjLCAweDUyLCAweDdhLCAweDUzLCAweDk1LCAKLSAgICAweDAwLCAweDJlLCAweDU0LCAweDZhLCAweDE3LCAweDg5LCAweDU0LCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGRhLCAweDE5LCAKLSAgICAweGRhLCAweDI5LCAweDIyLCAweGNhLCAweDE5LCAweGNhLCAweDU4LCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweGRhLCAweDU4LCAweDdlLCAKLSAgICAweDU0LCAweDAyLCAweDM4LCAweDljLCAweGI1LCAweGE0LCAweDdlLCAweDUwLCAweDIwLCAweDVlLCAweDIwLCAweDA3LCAweDJjLCAweDUyLCAweDdhLCAweDUzLCAKLSAgICAweDk1LCAweDAwLCAweDJlLCAweDU0LCAweDZhLCAweDg4LCAweDg5LCAweDU0LCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGRhLCAKLSAgICAweDE5LCAweDIyLCAweDAyLCAweDZiLCAweGE4LCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAweGNhLCAweDRiLCAweGNhLCAKLSAgICAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDJjLCAKLSAgICAweDdmLCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDFjLCAweGI0LCAweDAxLCAweDE5LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDU0LCAweDE0LCAweDY4LCAKLSAgICAweDA1LCAweDEyLCAweDZiLCAweDZjLCAweDgwLCAweDIzLCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDMwLCAweGU1LCAweDFjLCAweDEyLCAweDZjLCAweGFhLCAKLSAgICAweDgwLCAweDE3LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDMwLCAweGU1LCAweDA1LCAweDEyLCAweDZjLCAweGFhLCAweDgwLCAweDBiLCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDE0LCAweDU0LCAweDE0LCAweDY4LCAweDAzLCAweDEyLCAweDZiLCAweDZjLCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAweGRhLCAKLSAgICAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDIwLCAweGU0LCAweDE5LCAweDc1LCAKLSAgICAweDJmLCAweDBhLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDdlLCAweDcwLCAweDBhLCAweDdlLCAweGIzLCAweDJjLCAweDdmLCAweGI0LCAKLSAgICAweDAxLCAweDFmLCAweDAyLCAweDZjLCAweDA0LCAweDAyLCAweDcxLCAweGYyLCAweDc1LCAweDJmLCAweDBiLCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDE0LCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDdlLCAweGIzLCAweDJjLCAweDdmLCAweGI0LCAweDAyLCAweDBjLCAweDEyLCAweDZiLCAweGI0LCAweDAyLCAweDZiLCAKLSAgICAweGE4LCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDJjLCAweDdmLCAweDdhLCAKLSAgICAweDAzLCAweDJjLCAweDgwLCAweDIyLCAweDdlLCAweGIzLCAweDJjLCAweDc2LCAweDU0LCAweDYwLCAweDYwLCAweDA1LCAweGI0LCAweDQwLCAweDFlLCAweDgwLCAKLSAgICAweDFjLCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDA1LCAweDE1LCAweDc1LCAweDJmLCAweDcxLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAKLSAgICAweDJjLCAweDc5LCAweDdlLCAweGEwLCAweDAxLCAweDdhLCAweGEzLCAweDkxLCAweDA2LCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDIyLCAweDc0LCAweDAwLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDIyLCAweGJlLCAweDU3LCAweDJjLCAweDdjLCAweDI4LCAKLSAgICAweDA0LCAweDdlLCAweDU3LCAweDJjLCAweDdjLCAweDdhLCAweDBmLCAweDJjLCAweDgyLCAweDdhLCAweDU3LCAweDJjLCAweDg2LCAweDc0LCAweDEwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDEyLCAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweDcwLCAweDUzLCAKLSAgICAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDIwLCAweGU0LCAweDRjLCAweDdlLCAweGVmLCAweDJjLCAweDgyLCAweDdlLCAweGY3LCAweDJjLCAweDg2LCAweDdlLCAKLSAgICAweDA3LCAweDJjLCAweDg2LCAweDRkLCAweDAwLCAweDY4LCAweDIxLCAweDdlLCAweDAwLCAweDAwLCAweGUwLCAweDdhLCAweGIzLCAweDkxLCAweDE3LCAweGEzLCAKLSAgICAweGE1LCAweDA4LCAweDFiLCAweGY0LCAweDY4LCAweDA2LCAweGE1LCAweGI4LCAweDEwLCAweGYwLCAweDgwLCAweDE5LCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDJjLCAweDdmLCAweGJlLCAweDAwLCAweDEwLCAweDY4LCAweDBkLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDdmLCAweDc0LCAKLSAgICAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDdhLCAweGVmLCAweDJjLCAweDgyLCAweDdhLCAweGY3LCAweDJjLCAweDg2LCAweDc1LCAweDJmLCAweDA2LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAKLSAgICAweGNhLCAweDNiLCAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweDc1LCAweDJmLCAweDAzLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDdlLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDAxLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDEyLCAweDZkLCAweDE5LCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAweGRhLCAweDViLCAweGRhLCAKLSAgICAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDc1LCAweDJmLCAweDAzLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDgwLCAweGI0LCAweDAyLCAweDExLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDgwLCAweDdhLCAweGIzLCAweDJjLCAKLSAgICAweDdmLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweGI0LCAweDAxLCAweDQ2LCAweDdlLCAweGIzLCAweDkxLCAweDA0LCAweDIwLCAKLSAgICAweGU2LCAweDQyLCAweDdlLCAweDIzLCAweDkxLCAweDFhLCAweDdjLCAweDMyLCAweDdlLCAweDEzLCAweDJjLCAweDgxLCAweDJjLCAweDIxLCAweDdhLCAweDIzLCAKLSAgICAweDJjLCAweDgxLCAweDdlLCAweDAwLCAweDAwLCAweDJlLCAweDA0LCAweDJjLCAweDg4LCAweDdlLCAweGIzLCAweDkxLCAweDE2LCAweDdhLCAweDA5LCAweGIwLCAKLSAgICAweDBiLCAweDA0LCAweGE1LCAweGRiLCAweGY0LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc1LCAweDJmLCAweDcwLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDgxLCAweDdlLCAweGEzLCAweDJjLCAweDdkLCAweGJjLCAweGFiLCAweDc4LCAweDAzLCAweDEyLCAweDZkLCAweGI5LCAKLSAgICAweDIyLCAweDAyLCAweDcxLCAweGYyLCAweGRhLCAweDU5LCAweDAyLCAweDZjLCAweDdjLCAweDc0LCAweGUwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAKLSAgICAweDAzLCAweDkxLCAweDEwLCAweDdlLCAweDEzLCAweDkxLCAweDExLCAweDdlLCAweDMzLCAweDkxLCAweDEyLCAweDdlLCAweDIzLCAweDkxLCAweDEzLCAweDdlLCAKLSAgICAweDUzLCAweDkxLCAweDE0LCAweDdlLCAweDQzLCAweDkxLCAweDE1LCAweDdlLCAweDczLCAweDkxLCAweDE2LCAweDdlLCAweDYzLCAweDkxLCAweDE3LCAweDdhLCAKLSAgICAweDBmLCAweDJjLCAweDc2LCAweDdhLCAweDFmLCAweDJjLCAweDdhLCAweDc1LCAweDJmLCAweDA0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDAxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDExLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAKLSAgICAweDMxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDQxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDEyLCAweDZkLCAweDhkLCAweDIyLCAweDZkLCAweDAwLCAweDdlLCAKLSAgICAweDE0LCAweDAxLCAweDAyLCAweDdhLCAweDA3LCAweDJjLCAweDg2LCAweDdhLCAweDAzLCAweDJjLCAweDgxLCAweDdlLCAweGIzLCAweDJjLCAweDc2LCAweDIwLCAKLSAgICAweGU3LCAweDBmLCAweDdhLCAweDIzLCAweDJjLCAweDgwLCAweDdhLCAweDMzLCAweDJjLCAweDdmLCAweGJlLCAweDA3LCAweDJjLCAweDdjLCAweDY4LCAweDA5LCAKLSAgICAweDIyLCAweDdhLCAweDMzLCAweDJjLCAweDgwLCAweDdhLCAweDIzLCAweDJjLCAweDdmLCAweDdlLCAweGIzLCAweDJjLCAweDc2LCAweDU0LCAweGUzLCAweDIzLCAKLSAgICAweDIzLCAweDMwLCAweGUwLCAweDAyLCAweGQyLCAweGU1LCAweDMwLCAweGU3LCAweDAyLCAweGQyLCAweGU0LCAweDMwLCAweGU1LCAweDA2LCAweDMwLCAweGU0LCAKLSAgICAweDAzLCAweDAyLCAweDcxLCAweGYyLCAweDU0LCAweDNlLCAweGY1LCAweGYwLCAweDAzLCAweDU0LCAweDFmLCAweGMzLCAweDI1LCAweGYwLCAweDkwLCAweDZkLCAKLSAgICAweGU1LCAweDc1LCAweDg0LCAweGZmLCAweDczLCAweDAyLCAweDZmLCAweGEwLCAweDAyLCAweDZlLCAweDJkLCAweDAyLCAweDcwLCAweDM5LCAweDAyLCAweDcwLCAKLSAgICAweDU0LCAweDAyLCAweDZmLCAweDM3LCAweDAyLCAweDZlLCAweGMyLCAweDAyLCAweDcwLCAweDg1LCAweDAyLCAweDcwLCAweDg1LCAweDAyLCAweDcwLCAweDg4LCAKLSAgICAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAKLSAgICAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDhlLCAweDAyLCAweDcxLCAweDYwLCAweDAyLCAweDcwLCAweDhiLCAweDAyLCAweDcwLCAKLSAgICAweDhiLCAweDAyLCAweDcwLCAweDhiLCAweDAyLCAweDcwLCAweDhiLCAweDAyLCAweDcwLCAweDhiLCAweDAyLCAweDcwLCAweDhiLCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDA2LCAweDJhLCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDc4LCAweDYwLCAweDc5LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDJjLCAweDc5LCAweDdlLCAweDE3LCAweDJjLCAweDdhLCAKLSAgICAweDc1LCAweDJmLCAweDcyLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDAxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDExLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDEyLCAweDcyLCAweDM3LCAweDQwLCAweDU4LCAweDAyLCAweDZiLCAweGViLCAweGI0LCAweDA4LCAweDFjLCAweDc1LCAweDJmLCAweDc0LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdhLCAKLSAgICAweDBiLCAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAxLCAweDAyLCAweDZiLCAweGViLCAweGI0LCAweDAwLCAweDMzLCAweDc1LCAweDJmLCAweDc1LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAKLSAgICAweDMwLCAweGUwLCAweDA3LCAweDc0LCAweDAyLCAweDdhLCAweDBiLCAweGIwLCAweDgwLCAweDA1LCAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDBiLCAKLSAgICAweDE0LCAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAyLCAweGRhLCAweDBiLCAweDAyLCAweDZiLCAweGViLCAweDAyLCAKLSAgICAweDcxLCAweGYyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAKLSAgICAweDJjLCAweDc3LCAweGI0LCAweDAwLCAweDVmLCAweDc1LCAweDJmLCAweDc2LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDdiLCAweDU0LCAKLSAgICAweDBmLCAweGI0LCAweDAyLCAweDA1LCAweDdlLCAweGIwLCAweDYwLCAweDgwLCAweDE3LCAweGI0LCAweDAwLCAweDA1LCAweDdlLCAweGIwLCAweDAwLCAweDgwLCAKLSAgICAweDBmLCAweDdlLCAweGIzLCAweDJjLCAweDdiLCAweDIwLCAweGU3LCAweDA1LCAweDdlLCAweGIwLCAweDQwLCAweDgwLCAweDAzLCAweDdlLCAweGIwLCAweDIwLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDExLCAweDMwLCAweGUwLCAweDA0LCAweDc0LCAweDAxLCAweDgwLCAweDAyLCAweDc0LCAKLSAgICAweDAwLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweDdhLCAweDBiLCAweGIwLCAweDBiLCAweDE0LCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweDU0LCAweDAwLCAweDAyLCAweGRhLCAKLSAgICAweDBiLCAweDAyLCAweDZiLCAweGViLCAweDAyLCAweDcxLCAweGYyLCAweDdlLCAweGIzLCAweDJjLCAweDdiLCAweDU0LCAweDBmLCAweGI0LCAweDAyLCAweDA1LCAKLSAgICAweDdlLCAweGIwLCAweDYwLCAweDgwLCAweDE3LCAweGI0LCAweDAwLCAweDA1LCAweDdlLCAweGIwLCAweDAwLCAweDgwLCAweDBmLCAweDdlLCAweGIzLCAweDJjLCAKLSAgICAweDdiLCAweDIwLCAweGU3LCAweDA1LCAweDdlLCAweGIwLCAweDQwLCAweDgwLCAweDAzLCAweDdlLCAweGIwLCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDc5LCAweGI0LCAweDAwLCAweDI2LCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDAxLCAweDBlLCAweDc1LCAweDJmLCAKLSAgICAweDc3LCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDgwLCAweDFiLCAweGI0LCAweDAzLCAweDBlLCAweDc1LCAKLSAgICAweDJmLCAweDc4LCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDgwLCAweDBhLCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDEyLCAweDcxLCAweGYyLCAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDAyLCAweDZiLCAweGRlLCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDA5LCAweDFmLCAweDc1LCAweDJmLCAweDc5LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAKLSAgICAweDc5LCAweGJlLCAweGIzLCAweDNmLCAweGYxLCAweDY4LCAweDBkLCAweGNhLCAweGI4LCAweDEyLCAweDQzLCAweDc5LCAweGRhLCAweGI4LCAweDUwLCAweDc2LCAKLSAgICAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDgwLCAweDZkLCAweGI0LCAweDA1LCAweDA4LCAweDc1LCAweDJmLCAweDdhLCAweDEyLCAweDczLCAweDM1LCAweDgwLCAKLSAgICAweDYyLCAweGI0LCAweDAzLCAweDE5LCAweDc1LCAweDJmLCAweDdiLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDc5LCAweGI0LCAweDAxLCAKLSAgICAweDU1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDQ2LCAweGI0LCAweDAxLCAweDE5LCAKLSAgICAweDc1LCAweDJmLCAweDdjLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDc5LCAweGI0LCAweDAxLCAweDM5LCAweDdlLCAweGIzLCAweDNmLCAKLSAgICAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDJhLCAweGI0LCAweDA3LCAweDJhLCAweDdlLCAweGIzLCAweDJjLCAweDc4LCAKLSAgICAweDYwLCAweDI0LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDJjLCAweDc5LCAweDdlLCAweDE3LCAweDJjLCAweDdhLCAweDc1LCAweDJmLCAweDczLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdhLCAweDAxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDExLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDcyLCAKLSAgICAweDcxLCAweDQwLCAweDAzLCAweDAyLCAweDZiLCAweGRlLCAweDAyLCAweDcxLCAweGYyLCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDBiLCAweGY2LCAKLSAgICAweDc1LCAweDJmLCAweDdkLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDc5LCAweDdlLCAweGEzLCAweDJjLCAweDdiLCAweDRjLCAweGFiLCAKLSAgICAweDc4LCAweGU0LCAweDgwLCAweGRmLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDBhLCAweGNmLCAweDc1LCAweDJmLCAweDdlLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAKLSAgICAweDc5LCAweDcwLCAweGMzLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDdlLCAweDU0LCAKLSAgICAweDAwLCAweDAxLCAweDAyLCAweDZiLCAweGViLCAweDAyLCAweDcxLCAweGYyLCAweDAyLCAweDcxLCAweGYyLCAweDAyLCAweDcxLCAweGYyLCAweDdlLCAweGIzLCAKLSAgICAweDJjLCAweDc3LCAweGI0LCAweDA0LCAweDIwLCAweDc1LCAweDJmLCAweGMzLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAKLSAgICAweDE3LCAweDJjLCAweDc4LCAweDdlLCAweDE4LCAweDJjLCAweDg4LCAweDdhLCAweDFjLCAweDAwLCAweDAwLCAweDdlLCAweDQ3LCAweDJjLCAweDdjLCAweDEyLCAKLSAgICAweDczLCAweDQxLCAweDAyLCAweDcxLCAweDVhLCAweGI0LCAweDA2LCAweDQyLCAweDc1LCAweDJmLCAweGMxLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDU4LCAKLSAgICAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdkLCAweGNhLCAweDdlLCAweGQ3LCAweDJjLCAweDc4LCAweDdlLCAweDc4LCAweDJjLCAweDg4LCAKLSAgICAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDJjLCAweDdjLCAweDc1LCAweDJmLCAweGMxLCAweDEyLCAweDczLCAweDM1LCAweGMwLCAweGE4LCAKLSAgICAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAweDczLCAweDdhLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAKLSAgICAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweDQwLCAweDY1LCAweDgwLCAweDYwLCAweGI0LCAweDAwLCAweDI0LCAweGMyLCAweGFmLCAweDdlLCAKLSAgICAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDk0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDM1LCAweDEyLCAweDZiLCAweGRlLCAweGU0LCAweDhkLCAweGVmLCAKLSAgICAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweGQ1LCAweGUwLCAweGY3LCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAweGNhLCAweDA2LCAweDAwLCAweDAwLCAKLSAgICAweDMyLCAweGI0LCAweDA5LCAweDIwLCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweDIzLCAweDkxLCAweDA3LCAweDdlLCAweDU3LCAKLSAgICAweDJjLCAweDc4LCAweDRkLCAweDU1LCAweDY4LCAweDA1LCAweDRlLCAweDIwLCAweDAyLCAweDgwLCAweDAzLCAweDVlLCAweDIwLCAweGZkLCAweDdhLCAweDIzLCAKLSAgICAweDkxLCAweDA3LCAweDgwLCAweDE2LCAweGI0LCAweDA3LCAweDE2LCAweGMyLCAweGFmLCAweDdlLCAweDA3LCAweDJjLCAweDdhLCAweDdlLCAweDE3LCAweDJjLCAKLSAgICAweDc4LCAweGMwLCAweGQxLCAweGNhLCAweDE4LCAweGNhLCAweDM4LCAweGNhLCAweDI4LCAweDMyLCAweDAyLCAweDZiLCAweGRlLCAweDAyLCAweDcxLCAweGYyLCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAKLSAgICAweGI0LCAweDAzLCAweDE1LCAweDc1LCAweDJmLCAweGMyLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE3LCAweDJjLCAKLSAgICAweDc4LCAweDdlLCAweDU3LCAweDJjLCAweDdjLCAweDAyLCAweDZiLCAweGViLCAweGI0LCAweDA1LCAweDQxLCAweDc1LCAweDJmLCAweGMwLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAKLSAgICAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM3LCAweDJjLCAweDc4LCAweDdlLCAweDQ3LCAweDJjLCAweDdjLCAKLSAgICAweDEyLCAweDczLCAweDQxLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweDdlLCAweDA4LCAweDJjLCAKLSAgICAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDU3LCAweDJjLCAweDdjLCAweDAyLCAweDZiLCAweGViLCAweGI0LCAweDAxLCAweDIwLCAweDdlLCAKLSAgICAweDAwLCAweDAwLCAweDdlLCAweDEwLCAweDAxLCAweDc1LCAweDJmLCAweDcyLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDAxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDExLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDcyLCAweDM3LCAweDQwLCAweDAzLCAweDAyLCAweDZiLCAweGViLCAweDAyLCAKLSAgICAweDcxLCAweGYyLCAweDc1LCAweDJmLCAweDA3LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDc0LCAKLSAgICAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDE1LCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDExLCAweDdlLCAweGIzLCAweDkxLCAweDE1LCAweDU0LCAweDYwLCAweGJlLCAweGIwLCAweDQwLCAweDY4LCAweDA4LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDE1LCAweDgwLCAweGVkLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAKLSAgICAweDc0LCAweGZmLCAweDdhLCAweGIzLCAweDJjLCAweDdlLCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAKLSAgICAweDk0LCAweDAwLCAweDEyLCAweDcyLCAweGJlLCAweDQwLCAweDFmLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAKLSAgICAweDBiLCAweGNhLCAweDQ5LCAweDEyLCAweDczLCAweDQxLCAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAKLSAgICAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAKLSAgICAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAweDcyLCAweGJlLCAweDQwLCAKLSAgICAweDMxLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdmLCAweDYxLCAweDdlLCAweDc4LCAweDJjLCAweDg4LCAweDdhLCAKLSAgICAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDJjLCAweDdjLCAweGJkLCAweDc0LCAweDc4LCAweDE3LCAweDc1LCAweDJmLCAweGMxLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDEyLCAweDczLCAweDdhLCAweDQwLCAweDBjLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAKLSAgICAweGMzLCAweDIyLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweGQzLCAweDIyLCAweDdlLCAweDI0LCAKLSAgICAweDAwLCAweGZlLCAweDdlLCAweDM0LCAweDdmLCAweGNhLCAweDBiLCAweDFhLCAweDUwLCAweGM1LCAweGYwLCAweDdkLCAweDYyLCAweDdkLCAweDc1LCAweDdkLCAKLSAgICAweDg3LCAweDdlLCAweDM0LCAweDdmLCAweGMyLCAweDdlLCAweDFiLCAweGIwLCAweDdlLCAweDM0LCAweDdmLCAweDAzLCAweGI0LCAweDAxLCAweDA0LCAweDdlLCAKLSAgICAweDM0LCAweDdmLCAweGNjLCAweDdlLCAweDFiLCAweGIwLCAweGJjLCAweDBiLCAweDUwLCAweDQ5LCAweDNlLCAweDAwLCAweDNlLCAweDAwLCAweDBhLCAweDUwLCAKLSAgICAweDJkLCAweDc1LCAweDBiLCAweDNhLCAweDMwLCAweDY5LCAweDUzLCAweDAwLCAweDAyLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJjLCAKLSAgICAweDFiLCAweDUwLCAweDMwLCAweDNlLCAweDEwLCAweDNlLCAweDEwLCAweDBhLCAweDUxLCAweDJkLCAweDM1LCAweDY5LCAweDQxLCAweDAwLCAweDAyLCAweDBiLCAKLSAgICAweDFhLCAweDMwLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJlLCAweDQ0LCAweGZmLCAweGZmLCAweDc4LCAweDA1LCAweDdlLCAweDFiLCAKLSAgICAweDkwLCAweDBhLCAweDQ5LCAweDRkLCAweDQ0LCAweDY4LCAweDBjLCAweGJlLCAweDQ0LCAweDAwLCAweGZmLCAweDI4LCAweDA0LCAweDdlLCAweDQ0LCAweDAwLCAKLSAgICAweGZmLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTYsIFN0YXJ0IEFkZHJlc3MgMDBmZjdmYzYsIExlbmd0aCA0Ci0weGZmLDB4MDAsMHhjNiwweDdmLDB4MDQsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDAzLCAweDAwLCAKLQotLy8gU2VnbWVudCAjMTcsIFN0YXJ0IEFkZHJlc3MgMDBmZjczMzUsIExlbmd0aCAzMjgKLTB4ZmYsMHgwMCwweDM1LDB4NzMsMHg0OCwweDAxLAotICAgIDB4Y2EsIDB4MDgsIDB4N2UsIDB4MDEsIDB4MmYsIDB4N2EsIDB4MDMsIDB4M2YsIDB4ZjAsIDB4ZGEsIDB4MDgsIDB4MjIsIDB4N2UsIDB4MWIsIDB4YzAsIDB4N2EsIAotICAgIDB4MGIsIDB4YzAsIDB4MGIsIDB4MTQsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZjIsIDB4MjIsIDB4N2YsIDB4NmYsIDB4N2YsIDB4ZjAsIDB4MWIsIAotICAgIDB4ZmMsIDB4N2MsIDB4NTQsIDB4N2QsIDB4MzIsIDB4ODAsIDB4MDgsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4OWUsIAotICAgIDB4NDQsIDB4MDAsIDB4MTAsIDB4NTAsIDB4ZjIsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MDYsIDB4Y2EsIDB4NDgsIDB4MWIsIDB4NDQsIDB4NzgsIAotICAgIDB4ZmEsIDB4N2YsIDB4ZjYsIDB4ODksIDB4ZTQsIDB4Y2EsIDB4NmIsIDB4NWUsIDB4ZDQsIDB4MDAsIDB4M2YsIDB4NjgsIDB4MjAsIDB4N2UsIDB4ODQsIDB4MDAsIAotICAgIDB4NDAsIDB4OWQsIDB4OGQsIDB4ZGEsIDB4NmIsIDB4YmQsIDB4ODcsIDB4MzgsIDB4MTYsIDB4Y2EsIDB4NzksIDB4N2QsIDB4NzgsIDB4MTIsIDB4NzMsIDB4YTQsIAotICAgIDB4ZGEsIDB4NzksIDB4NDAsIDB4MDgsIDB4OWQsIDB4NzgsIDB4NjgsIDB4MDIsIDB4ODAsIDB4MDUsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZGEsIDB4NmIsIDB4N2UsIAotICAgIDB4YzAsIDB4MDMsIDB4N2UsIDB4ZDAsIDB4MDAsIDB4N2EsIDB4ZDMsIDB4OTAsIDB4MDAsIDB4NzQsIDB4YWEsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4NzQsIAotICAgIDB4NTUsIDB4MzksIDB4YjUsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4NDAsIDB4OWQsIAotICAgIDB4NzAsIDB4NTAsIDB4MDYsIDB4MmQsIDB4NzAsIDB4N2QsIDB4MDcsIDB4NmQsIDB4NzcsIDB4N2MsIDB4MzEsIDB4N2UsIDB4N2IsIDB4MDAsIDB4N2EsIDB4NmIsIAotICAgIDB4MDAsIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2YsIDB4MTYsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIAotICAgIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MTAsIDB4NjgsIDB4MDYsIDB4MWIsIDB4NTQsIDB4NzgsIDB4ZjUsIDB4ODAsIDB4MmYsIDB4NmQsIDB4MDAsIDB4N2MsIAotICAgIDB4MjAsIDB4N2YsIDB4MTYsIDB4OWYsIDB4MTAsIDB4N2YsIDB4MjcsIDB4OWYsIDB4MjAsIDB4N2UsIDB4MmIsIDB4MDAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIAotICAgIDB4MDEsIDB4NzgsIDB4MTksIDB4MGIsIDB4MmMsIDB4MGIsIDB4MWMsIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2MsIDB4YjYsIDB4MjAsIDB4ZTAsIDB4MDYsIDB4NmMsIAotICAgIDB4ZGMsIDB4N2EsIDB4ZDMsIDB4OTAsIDB4MDAsIDB4NGQsIDB4NzcsIDB4NzgsIDB4OTAsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4MDAsIAotICAgIDB4MDQsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDQsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDIsIDB4MDEsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDgsIDB4MTAsIAotICAgIDB4MDIsIDB4MTAsIDB4MDQsIDB4MDIsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDgsIDB4N2UsIDB4MTgsIDB4N2YsIDB4YmQsIDB4N2EsIDB4MWMsIDB4MDAsIAotICAgIDB4ZmUsIDB4MGIsIDB4MWEsIDB4MDAsIDB4NWUsIDB4MTAsIDB4MWYsIDB4YmUsIDB4MTAsIDB4MTQsIDB4MzgsIDB4MWEsIDB4MGEsIDB4NTEsIDB4MjMsIDB4N2UsIAotICAgIDB4MTgsIDB4NzQsIDB4MjQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MmQsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NTAsIDB4NjAsIDB4MDgsIDB4YTUsIDB4YjgsIAotICAgIDB4MDIsIDB4MDMsIDB4NGUsIDB4YTAsIDB4MDgsIDB4MjIsIDB4ODAsIDB4ZmUsIAotfTsKLQotc3RhdGljIHN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyBJTUFHRV9WRVJTSU9OX05BTUUgPSB7Ci0JMiwgMCwgMyB9OwkJLy8gTWFqb3IsIE1pbm9yLCBCdWlsZAotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24zLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0OTZiMDYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24zLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4NDcgKzAsMCBAQAotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLy8qIEVkZ2Vwb3J0IEJpbmFyeSBJbWFnZSAoZm9yIFRJIGJhc2VkIHByb2R1Y3RzKQotLy8qIEdlbmVyYXRlZCBieSBUSUJpbjJDIHYyLjAwICh3YXRjaHBvcnQpCi0vLyogQ29weXJpZ2h0IChDKSAyMDAxIEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotc3RhdGljIGludCBJTUFHRV9TSVpFID0gMTI5Mzg7Ci0KLXN0cnVjdCBFREdFX0ZJUk1XQVJFX1ZFUlNJT05fSU5GTwotewotCXVuc2lnbmVkIGNoYXIgICBNYWpvclZlcnNpb247Ci0JdW5zaWduZWQgY2hhciAgIE1pbm9yVmVyc2lvbjsKLQl1bnNpZ25lZCBzaG9ydCAgQnVpbGROdW1iZXI7Ci19OwotCi1zdGF0aWMgc3RydWN0IEVER0VfRklSTVdBUkVfVkVSU0lPTl9JTkZPIElNQUdFX1ZFUlNJT05fTkFNRSA9Ci17Ci0JNCwgODAsIDAJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gCi17Ci0vLyAgc3RydWN0IEltYWdlSGRyCi0vLyAgewotLy8gICAgICBXT1JEICAgIExlbmd0aDsKLS8vICAgICAgQllURSAgICBDaGVja1N1bTsKLS8vICB9OwotMHg4NywgMHgzMiwKLTB4OWEsCi0KLTB4MDIsIDB4MjcsIDB4YmYsIDB4MDIsIDB4MjEsIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MWUsIDB4MDAsIDB4MDAsCi0weDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAxLCAweDFhLCAweDg1LCAweDNmLCAKLTB4OGMsIDB4ODUsIDB4NDAsIDB4OGEsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZDAsIDB4YzAsIDB4ZjAsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4MDAsIAotMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHhlNSwgMHgzZSwgCi0weDI0LCAweDA4LCAweGY4LCAweGU2LCAweDYwLCAweDJiLCAweGU1LCAweDNlLCAweDI0LCAweDEwLCAweGY4LCAweGE2LCAweDgxLCAweGU1LCAweDNlLCAweDc1LCAKLTB4ZjAsIDB4MjEsIDB4YTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZjgsIDB4ZjUsIDB4ODMsIDB4NzgsIDB4OGMsIDB4ZTUsIDB4ODEsIAotMHgwNCwgMHhjMywgMHg5OCwgMHhmOSwgMHg5NCwgMHgyMiwgMHg0MCwgMHgwMywgMHgwMiwgMHgxMSwgMHhkYywgMHhlNiwgMHhmMCwgMHgwOCwgMHhhMywgMHhkOSwKLTB4ZmEsIDB4NzQsIDB4MDgsIDB4MjUsIDB4M2UsIDB4ZjgsIDB4MDUsIDB4M2UsIDB4MDgsIDB4ZTYsIDB4NTQsIDB4ODAsIDB4NzAsIDB4MGMsIDB4ZTUsIDB4M2UsIAotMHhiNCwgMHgwNywgMHhmMywgMHg3OCwgMHgwOCwgMHg3NSwgMHgzZSwgMHgwMCwgMHg4MCwgMHhlZiwgMHhlNSwgMHgzZSwgMHgyNCwgMHgxMCwgMHhmOCwgMHg4NiwgCi0weDgxLCAweGU1LCAweDNlLCAweDc1LCAweGYwLCAweDIxLCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY4LCAweGY1LCAweDgzLCAKLTB4NzgsIDB4OGMsIDB4ZTUsIDB4ODEsIDB4MDQsIDB4YzMsIDB4OTgsIDB4ZjksIDB4ZTAsIDB4ZjYsIDB4MDgsIDB4YTMsIDB4ZDksIDB4ZmEsIDB4ZDAsIDB4MDcsIAotMHhkMCwgMHgwNiwgMHhkMCwgMHgwNSwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHg4MywgCi0weGQwLCAweDgyLCAweGQwLCAweGYwLCAweGQwLCAweGQwLCAweGQwLCAweGUwLCAweDMyLCAweDMwLCAweDAxLCAweDRkLCAweDMwLCAweGI0LCAweDQ4LCAweDEwLCAKLTB4MDAsIDB4NDUsIDB4OTAsIDB4ZmYsIDB4MDgsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZjgsIDB4OTAsIDB4ZmYsIDB4NDgsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZjksIAotMHg5MCwgMHhmZiwgMHgxMCwgMHhlMCwgMHg1NCwgMHgyMCwgMHhmYSwgMHg5MCwgMHhmZiwgMHg1MCwgMHhlMCwgMHg1NCwgMHgyMCwgMHhmYiwgMHg3NCwgMHgwMCwgCi0weGY1LCAweDgyLCAweDc0LCAweGY4LCAweGY1LCAweDgzLCAweGUwLCAweGM4LCAweGYwLCAweDY4LCAweDYwLCAweDAyLCAweDdlLCAweDA0LCAweGEzLCAweGUwLCAKLTB4YzksIDB4ZjAsIDB4NjksIDB4NjAsIDB4MDIsIDB4N2UsIDB4MDQsIDB4YTMsIDB4ZTAsIDB4Y2EsIDB4ZjAsIDB4NmEsIDB4NjAsIDB4MDIsIDB4N2UsIDB4MDQsIAotMHhhMywgMHhlMCwgMHhjYiwgMHhmMCwgMHg2YiwgMHg2MCwgMHgwMiwgMHg3ZSwgMHgwNCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHhkMCwgMHhjMCwgMHhmMCwgCi0weGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLCAweDAyLCAweGMwLCAweDAzLCAweGMwLCAweDA0LCAweGMwLCAweDA1LCAKLTB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4NzQsIDB4MTUsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjMsIDB4NzQsCi0weDY2LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweGYwLCAweDcwLCAweDE2LCAweDc0LCAweGZmLCAweGYwLCAweDc0LAotMHgxYywgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwNCwgMHgxNCwgMHhmMCwgMHg3MCwgMHgwNCwgMHhjMiwgMHg5MCwKLTB4ODAsIDB4ZmMsIDB4OTAsIDB4ZmYsIDB4OTMsIDB4NzQsIDB4ODEsIDB4ZjAsIDB4ZTUsIDB4ODEsIDB4OTQsIDB4ZmQsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MTEsCi0weGRjLCAweDg1LCAweDQxLCAweDhkLCAweDg1LCAweDQyLCAweDhiLCAweDc0LCAweGIyLCAweGY1LCAweDgyLCAweDc0LCAweGZhLCAweGY1LCAweDgzLCAweGUwLAotMHhiNCwgMHgwMSwgMHgxYiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHg5MCwgMHhmZiwgMHg0YSwgMHhlMCwgMHgzMCwgMHhlNywgMHgyYywgMHg5MCwgMHhmZiwKLTB4NGUsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MjUsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MjAsIDB4YjQsIDB4MDIsCi0weDFkLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweDkwLCAweGZmLCAweDdhLCAweGUwLCAweDMwLCAweGU3LCAweDA1LCAweDEyLCAweDI4LCAweDRlLCAweDgwLAotMHgwOSwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHg3NCwgMHgwMywgMHhmMCwgMHg4MCwgMHgwNCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhhMywgMHhlMCwKLTB4YjQsIDB4MDEsIDB4MWIsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4OTAsIDB4ZmYsIDB4NTIsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MmMsIDB4OTAsIDB4ZmYsCi0weDU2LCAweGUwLCAweDMwLCAweGU3LCAweDI1LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDI1LCAweGI0LCAweDAyLAotMHgyMiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHg5MCwgMHhmZiwgMHg3YSwgMHhlMCwgMHgzMCwgMHhlNywgMHgwNSwgMHgxMiwgMHgyOCwgMHg0ZSwgMHg4MCwKLTB4MDksIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ODAsIDB4MDksIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ODAsIDB4MDMsCi0weDAyLCAweDAyLCAweDkwLCAweDc0LCAweDE2LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweDA0LCAweGYxLCAweDIwLAotMHgwMiwgMHgwMywgMHgzMCwgMHgwMSwgMHhlYiwgMHg3NCwgMHgxOSwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmYywKLTB4ZjAsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4NjQsIDB4MDQsIDB4NzAsIDB4MGYsIDB4ZWMsIDB4NzAsIDB4NjIsIDB4N2UsIDB4MDEsCi0weDEyLCAweDAwLCAweGM5LCAweDdjLCAweDBhLCAweDdkLCAweGZhLCAweDAyLCAweDAyLCAweDYxLCAweDEyLCAweDAwLCAweGM5LCAweGVlLCAweDY0LCAweDA0LAotMHg2MCwgMHgxZCwgMHhlYywgMHg3MCwgMHg0YiwgMHg3YywgMHgwYSwgMHhlZCwgMHgxNCwgMHhmZCwgMHg3MCwgMHgxNSwgMHhlZSwgMHg2NCwgMHgwMiwgMHg2MCwKLTB4MDcsIDB4N2UsIDB4MDIsIDB4N2QsIDB4MzIsIDB4MDIsIDB4MDIsIDB4NjEsIDB4N2UsIDB4MDEsIDB4N2QsIDB4ZmEsIDB4MDIsIDB4MDIsIDB4NjEsIDB4N2MsCi0weDBhLCAweDc0LCAweDE5LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweGEzLCAweGVkLCAweGYwLCAweGEzLCAweGVlLAotMHhmMCwgMHgxNCwgMHg2MCwgMHgxOCwgMHgyMCwgMHhlMSwgMHgwZiwgMHgyMCwgMHgwMSwgMHgwNiwgMHhkMiwgMHhiMSwgMHhjMiwgMHhiMCwgMHg4MCwgMHgxMCwKLTB4YzIsIDB4YjEsIDB4ZDIsIDB4YjAsIDB4ODAsIDB4MGEsIDB4YzIsIDB4YjEsIDB4YzIsIDB4YjAsIDB4ODAsIDB4MDQsIDB4ZDIsIDB4YjAsIDB4ZDIsIDB4YjEsCi0weDc4LCAweDE5LCAweDc5LCAweDA5LCAweDdhLCAweDA3LCAweGU3LCAweDcwLCAweDA0LCAweGE2LCAweDAwLCAweDgwLCAweDBiLCAweGU2LCAweDYwLCAweDA4LAotMHgxNiwgMHhlNiwgMHg3MCwgMHgwNCwgMHhlNywgMHg0NCwgMHg4MCwgMHhmNywgMHgwOCwgMHgwOSwgMHhkYSwgMHhlYSwgMHhlNSwgMHgzZCwgMHg2MCwgMHgxMywKLTB4MTQsIDB4ZjUsIDB4M2QsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MDgsIDB4ZjgsIDB4NzYsIDB4MDAsIDB4MTIsIDB4MTEsIDB4NTcsIDB4ZDIsCi0weDhjLCAweGQyLCAweDhkLCAweGQwLCAweDA3LCAweGQwLCAweDA2LCAweGQwLCAweDA1LCAweGQwLCAweDA0LCAweGQwLCAweDAzLCAweGQwLCAweDAyLCAweGQwLAotMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHhmMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHhmZiwKLTB4MDQsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4MDYsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4ZWMsIDB4ZmYsCi0weGVhLCAweGZlLCAweGVmLCAweGMzLCAweDk0LCAweDA4LCAweGVlLCAweDk0LCAweDAxLCAweDUwLCAweDAyLCAweDgwLCAweDA0LCAweDdlLCAweDAxLCAweDdmLAotMHgwOCwgMHg4ZSwgMHgzYiwgMHg4ZiwgMHgzYywgMHg5MCwgMHhmZiwgMHgwMiwgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmYSwgMHhlYywgMHhmZiwgMHhlYSwKLTB4OTAsIDB4ZmEsIDB4YmQsIDB4ZjAsIDB4ZWYsIDB4YTMsIDB4ZjAsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4ZTQsIDB4ZjUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YzMsCi0weDk0LCAweDAyLCAweDUwLCAweDBmLCAweDEyLCAweDFjLCAweGMxLCAweGU0LCAweDEyLCAweDFhLCAweGU4LCAweDA1LCAweDRkLCAweDA0LCAweDEyLCAweDFjLAotMHhiMiwgMHg4MCwgMHhlYSwgMHgxMiwgMHgxYywgMHhlMCwgMHg5MCwgMHhmZiwgMHgwMCwgMHhlMCwgMHhmZiwgMHg1NCwgMHg2MCwgMHgyNCwgMHhjMCwgMHg3MCwKLTB4MDMsIDB4MDIsIDB4MDgsIDB4ZjMsIDB4MjQsIDB4NDAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmUsCi0weDU0LCAweDBmLCAweGY1LCAweDRkLCAweGVlLCAweDMwLCAweGU3LCAweDAzLCAweGQzLCAweDgwLCAweDAxLCAweGMzLCAweDkyLCAweDBhLCAweDkwLCAweGZmLAotMHgwMSwgMHhlMCwgMHgxMiwgMHgxYiwgMHhmYywgMHgwMywgMHg4NCwgMHgwMCwgMHgwNCwgMHg1NywgMHgwMSwgMHgwNSwgMHg2YSwgMHgwMywgMHgwNiwgMHgzMSwKLTB4MDUsIDB4MDYsIDB4NzMsIDB4MDYsIDB4MDcsIDB4ZDUsIDB4MDgsIDB4MDgsIDB4MWQsIDB4MDksIDB4MDgsIDB4NzksIDB4MGEsIDB4MDgsIDB4YjksIDB4MGIsCi0weDAwLCAweDAwLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLAotMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg2NCwgMHgwMiwgMHg0NSwgMHgzYiwgMHg2MCwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZWYsIDB4NTQsIDB4MWYsIDB4MTQsIDB4NjAsIDB4MmIsIDB4MTQsIDB4NjAsIDB4NDcsIDB4MjQsIDB4MDIsIDB4NjAsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweGVlLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFjLCAweGMxLCAweDc0LCAweDAxLCAweDEyLAotMHgxYSwgMHhlOCwgMHg3OCwgMHg2NywgMHhlNiwgMHgzMCwgMHhlMCwgMHgwOCwgMHgxMiwgMHgxYywgMHhjMSwgMHg3NCwgMHgwMiwgMHgxMiwgMHgxYSwgMHhlOCwKLTB4N2YsIDB4MDIsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDksIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGQzLCAweDk0LCAweDAxLCAweDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDdmLAotMHgwMiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHg2MCwgMHgwNywKLTB4NjQsIDB4ODAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MGYsIDB4ZmEsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsCi0weDRkLCAweDcwLCAweDE5LCAweDMwLCAweDBhLCAweDBiLCAweDkwLCAweGZmLCAweDgwLCAweDEyLCAweDFjLCAweGJlLCAweDEyLCAweDFhLCAweGU4LCAweDgwLAotMHgyNCwgMHg5MCwgMHhmZiwgMHg4MiwgMHgxMiwgMHgxYywgMHhiZSwgMHgxMiwgMHgxYSwgMHhlOCwgMHg4MCwgMHgxOSwgMHgxNSwgMHg0ZCwgMHgzMCwgMHgwYSwKLTB4MGIsIDB4MTIsIDB4MWQsIDB4NTUsIDB4MTIsIDB4MWMsIDB4YmMsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsIDB4MDksIDB4MTIsIDB4MWQsIDB4NjMsIDB4MTIsCi0weDFjLCAweGJjLCAweDEyLCAweDFhLCAweGU4LCAweDEyLCAweDFjLCAweGMxLCAweDEyLCAweDFhLCAweGEyLCAweDYwLCAweDA1LCAweDc0LCAweDAxLCAweDEyLAotMHgxYSwgMHhlOCwgMHg3ZiwgMHgwMiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwKLTB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4MTQsIDB4NjAsIDB4MmQsIDB4MTQsIDB4NjAsCi0weDU5LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDA0LCAweGEzLCAweGUwLAotMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwKLTB4NzgsIDB4NjcsIDB4ZTYsIDB4NTQsIDB4ZmUsIDB4ZjYsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDYsCi0weDIwLCAweGUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUwLCAweDA5LCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMSwgMHgwYywgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhkMywgMHg5NCwgMHgwMSwKLTB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsIDB4MDIsCi0weGEzLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDBmLCAweGZhLCAweDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LAotMHgzNSwgMHgyMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMCwgMHgwNywgMHhlNSwKLTB4NGQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4NGQsIDB4NzAsIDB4MGYsIDB4OTAsIDB4ZmYsIDB4ODIsIDB4ZTAsIDB4NTQsIDB4ZjcsCi0weGYwLCAweDkwLCAweGZmLCAweDgwLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDIyLCAweGU1LCAweDRkLCAweDI0LCAweGZlLCAweDYwLCAweDIwLCAweDI0LAotMHhmYiwgMHg2MCwgMHgzNCwgMHgyNCwgMHgwNiwgMHg3MCwgMHgzNSwgMHgzMCwgMHgwYSwgMHgwYywgMHhhMiwgMHgwYSwgMHhlNCwgMHgzMywgMHhmZCwgMHg3ZiwKLTB4MDMsIDB4MTIsIDB4MmUsIDB4NzksIDB4ODAsIDB4MjYsIDB4ZTQsIDB4ZmQsIDB4N2YsIDB4MDMsIDB4MTIsIDB4MmUsIDB4NzksIDB4ODAsIDB4MWQsIDB4MzAsCi0weDBhLCAweDBjLCAweGEyLCAweDBhLCAweGU0LCAweDMzLCAweGZkLCAweDdmLCAweDA0LCAweDEyLCAweDJlLCAweDc5LCAweDgwLCAweDBlLCAweGU0LCAweGZkLAotMHg3ZiwgMHgwNCwgMHgxMiwgMHgyZSwgMHg3OSwgMHg4MCwgMHgwNSwgMHg3ZiwgMHg4NywgMHgxMiwgMHgzMSwgMHhlZiwgMHgxNSwgMHg0ZCwgMHgzMCwgMHgwYSwKLTB4MGIsIDB4MTIsIDB4MWQsIDB4NTUsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ODAsIDB4MDksIDB4MTIsIDB4MWQsIDB4NjMsIDB4ZjUsCi0weDgzLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLAotMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHgxNCwgMHg2MCwKLTB4MmQsIDB4MTQsIDB4NjAsIDB4NTUsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsCi0weDA0LCAweGEzLCAweGUwLCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHg3OCwgMHg2NywgMHhlNiwgMHg0NCwgMHgwMSwgMHhmNiwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwKLTB4MjAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4ZTUsIDB4NGQsCi0weDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUxLCAweDBhLCAweGU1LCAweDRkLCAweGQzLCAweDk0LCAweDAxLCAweDQwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywKLTB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MzIsIDB4M2YsIDB4NDAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDA2LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDRkLAotMHg3MCwgMHgwOSwgMHgzMCwgMHgwYSwgMHgwMywgMHgwMiwgMHgxZSwgMHgxNCwgMHgwMiwgMHgxZCwgMHhkZiwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4MTUsIDB4NGQsIDB4MzAsIDB4MGEsIDB4MGIsIDB4MTIsIDB4MWQsIDB4NTUsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDgsCi0weGYwLCAweDgwLCAweDA5LCAweDEyLCAweDFkLCAweDYzLCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMyLAotMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwKLTB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDkwLAotMHhmZiwgMHhmZiwgMHhmMCwgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgzNSwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHgzNSwgMHhmZSwgMHhlNCwgMHhmZiwKLTB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NzAsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLAotMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhlYywgMHgyNCwgMHhmZSwgMHg2MCwgMHgzYSwgMHgxNCwgMHg2MCwgMHg3NSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4ZWQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4MTIsIDB4MWUsIDB4MGQsIDB4N2QsCi0weDAzLCAweDEyLCAweDBmLCAweGI1LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDBmLCAweDcyLCAweDkwLCAweGZhLCAweGI2LCAweGUwLAotMHhmZCwgMHhhMywgMHgxMiwgMHgxZCwgMHgyYiwgMHgxMiwgMHgwZiwgMHhkMSwgMHg1MCwgMHgwMiwgMHg4MCwgMHgwNCwgMHhhZSwgMHgzYiwgMHhhZiwgMHgzYywKLTB4MDIsIDB4MTAsIDB4MDIsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MGQsIDB4MTIsIDB4MWUsIDB4MGQsCi0weDdkLCAweDE0LCAweDEyLCAweDBmLCAweGI1LCAweDYwLCAweDEwLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFlLCAweDBkLCAweDdkLCAweDA0LCAweDEyLAotMHgxMCwgMHgwOSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgwZiwgMHg3MiwgMHg5MCwgMHhmYSwgMHhiNiwgMHhlMCwgMHhmZCwgMHhhMywKLTB4MTIsIDB4MWQsIDB4MmIsIDB4MTIsIDB4MGYsIDB4ZDEsIDB4NTAsIDB4MDIsIDB4ODAsIDB4MDQsIDB4YWUsIDB4M2IsIDB4YWYsIDB4M2MsIDB4MDIsIDB4MTAsCi0weDAyLCAweDEyLCAweDFlLCAweDBkLCAweDdkLCAweDA1LCAweDEyLCAweDEwLCAweDA5LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDdiLCAweDAxLAotMHg3YSwgMHhmYSwgMHg3OSwgMHhiNiwgMHgxMiwgMHgxZCwgMHgyOCwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhiNywgMHhlNCwKLTB4NzUsIDB4ZjAsIDB4MDMsIDB4MTIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YjUsIDB4ZjAsIDB4ZTQsIDB4ZjUsCi0weDRjLCAweDkwLCAweGZhLCAweGI1LCAweGUwLCAweGZmLCAweGU1LCAweDRjLCAweGMzLCAweDlmLCAweDUwLCAweDI0LCAweDEyLCAweDFkLCAweDIyLCAweDEyLAotMHgxMCwgMHgxNCwgMHhmZiwgMHhmZCwgMHg5MCwgMHhmYSwgMHhiNywgMHhlNCwgMHg4ZCwgMHhmMCwgMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhiNiwKLTB4ZTAsIDB4YzMsIDB4OWYsIDB4ZjAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MDUsIDB4NGMsIDB4ODAsIDB4ZDEsCi0weDEyLCAweDFkLCAweDIyLCAweDEyLCAweDEwLCAweDE0LCAweDI0LCAweGZlLCAweGZmLCAweDkwLCAweGZhLCAweGI2LCAweGYwLCAweGZkLCAweGEzLCAweGU0LAotMHg3NSwgMHhmMCwgMHgwMiwgMHgxMiwgMHgxYiwgMHgxYywgMHg3YSwgMHhmOSwgMHg3OSwgMHg3MiwgMHg3YiwgMHgwMSwgMHg4YiwgMHgzNiwgMHg4YSwgMHgzNywKLTB4ODksIDB4MzgsIDB4ZTksIDB4MjQsIDB4MDIsIDB4ZjksIDB4ZTQsIDB4M2EsIDB4ZmEsIDB4MTIsIDB4MWQsIDB4MjgsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OGYsCi0weDRjLCAweDA1LCAweDRjLCAweDA1LCAweDRjLCAweDEyLCAweDFjLCAweGMxLCAweGU1LCAweDRjLCAweDEyLCAweDFhLCAweGU4LCAweDEyLCAweDFjLCAweGMxLAotMHg5MCwgMHgwMCwgMHgwMSwgMHg3NCwgMHgwMywgMHgxMiwgMHgxYSwgMHhmYSwgMHhhZiwgMHg0YywgMHg3ZSwgMHgwMCwgMHhjMywgMHhlZiwgMHg5NSwgMHgzYywKLTB4ZWUsIDB4OTUsIDB4M2IsIDB4NTAsIDB4MDIsIDB4ODAsIDB4MDQsIDB4YWUsIDB4M2IsIDB4YWYsIDB4M2MsIDB4OGUsIDB4MzksIDB4OGYsIDB4M2EsIDB4MDIsCi0weDJjLCAweGQ4LCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDNjLCAweDY0LAotMHgwMSwgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsCi0weDc5LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUwLCAweDA2LCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBmLAotMHg2ZSwgMHg3NSwgMHgzNiwgMHgwMCwgMHg3NSwgMHgzNywgMHgwMCwgMHg3NSwgMHgzOCwgMHgzMiwgMHgwMiwgMHgwZiwgMHhmMSwgMHhlNSwgMHgzNSwgMHgzMCwKLTB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsCi0weGI5LCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGQzLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDk0LCAweDAxLCAweDkwLCAweGZhLAotMHhiZCwgMHhlMCwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDYsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsCi0weGY1LCAweDMyLCAweGU1LCAweDMyLCAweDcwLCAweDA4LCAweDQzLCAweDM1LCAweDAxLCAweDUzLCAweDM1LCAweGZkLCAweDgwLCAweDA2LCAweDUzLCAweDM1LAotMHhmZSwgMHg0MywgMHgzNSwgMHgwMiwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4ZTUsIDB4M2MsIDB4NjQsIDB4MDEsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsCi0weDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDYwLCAweDAzLCAweDAyLAotMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4N2YsIDB4MDEsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweGU1LCAweDNjLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGQzLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDk0LAotMHgwMCwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2NCwKLTB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTQsIDB4ZmYsCi0weDAyLCAweDMyLCAweDZlLCAweDkwLCAweGZmLCAweDAxLCAweDEyLCAweDFlLCAweDI0LCAweGVmLCAweDEyLCAweDFhLCAweGU4LCAweDkwLCAweGZhLCAweGI5LAotMHgxMiwgMHgxZSwgMHgyNCwgMHg5MCwgMHgwMCwgMHgwMSwgMHhlZiwgMHgxMiwgMHgxYSwgMHhmYSwgMHg5MCwgMHgwMCwgMHgwMiwgMHhlNCwgMHgxMiwgMHgxYSwKLTB4ZmEsIDB4NzQsIDB4MDMsIDB4MTIsIDB4MWMsIDB4YjIsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4ZmYsIDB4YTMsIDB4ZTAsIDB4ODUsIDB4MzgsIDB4ODIsCi0weDg1LCAweDM3LCAweDgzLCAweGNmLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDkwLCAweGZmLCAweDAxLCAweGUwLCAweDEyLCAweDFiLCAweGZjLCAweDA5LAotMHg3YiwgMHgwMiwgMHgwOSwgMHg5ZCwgMHgwNCwgMHgwOSwgMHhiZiwgMHgwNSwgMHgwOSwgMHhlYiwgMHgwNiwgMHgwYSwgMHgwOSwgMHgwNywgMHgwYSwgMHgyNywKLTB4MDgsIDB4MGEsIDB4NDUsIDB4MDksIDB4MGEsIDB4NjMsIDB4MGIsIDB4MGIsIDB4MTgsIDB4ODAsIDB4MGQsIDB4YjcsIDB4ODEsIDB4MGQsIDB4ZTgsIDB4ODIsCi0weDBiLCAweDVmLCAweDgzLCAweDBiLCAweGE4LCAweDg0LCAweDBiLCAweGM3LCAweDg1LCAweDBjLCAweDBjLCAweDg2LCAweDBjLCAweDU3LCAweDg3LCAweDBjLAotMHhlOCwgMHg4OCwgMHgwZCwgMHg3MywgMHg4OSwgMHgwYSwgMHg4MSwgMHg5MiwgMHgwYSwgMHg4MSwgMHg5MywgMHgwZCwgMHhhMCwgMHhiMCwgMHgwZSwgMHg5YiwKLTB4YzAsIDB4MGUsIDB4YzcsIDB4YzEsIDB4MGUsIDB4ZDgsIDB4YzIsIDB4MDAsIDB4MDAsIDB4MGYsIDB4NWQsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTcsIDB4MDUsCi0weDdmLCAweDA1LCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLAotMHgwMCwgMHg3ZiwgMHgwNywgMHgwMiwgMHgxMSwgMHg1ZSwgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwNywgMHgwMiwgMHgyZiwgMHhiNCwgMHhlNSwgMHgzNSwgMHgyMCwKLTB4ZTcsIDB4MDUsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsCi0weGZkLCAweDdjLCAweDAwLCAweDdmLCAweDBjLCAweDAyLCAweDExLCAweDVlLCAweGU0LCAweGZkLCAweDdmLCAweDA3LCAweDAyLCAweDJmLCAweGI0LCAweGU1LAotMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwgMHgxZSwgMHg0MiwgMHg1MCwgMHgwNiwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwKLTB4NzAsIDB4MDUsIDB4N2YsIDB4MDIsIDB4MDIsIDB4MzEsIDB4YTksIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4MjQsIDB4ZmQsIDB4NTAsCi0weDAyLCAweDgwLCAweDAzLCAweDAyLCAweDMyLCAweDJjLCAweDdmLCAweDA3LCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLAotMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwKLTB4MDgsIDB4MDIsIDB4MTEsIDB4NWUsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDcxLCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLCAweDA5LCAweDAyLAotMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwKLTB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MGEsIDB4MDIsIDB4MTEsIDB4NWUsCi0weDdmLCAweDA3LCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDcxLCAweDEyLCAweDFkLCAweDcxLAotMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwYiwgMHgwMiwgMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwNywKLTB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsCi0weDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLCAweDBlLCAweDAyLCAweDExLCAweDVlLCAweDdmLCAweDA3LCAweDAyLCAweDMxLAotMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHg1NiwgMHgxMiwgMHgxZCwgMHg3OSwgMHg3MCwgMHg0YSwgMHg5MCwgMHhmZiwgMHgwMiwgMHhlMCwgMHhmNSwKLTB4NGMsIDB4ZTUsIDB4NGMsIDB4YjQsIDB4ODIsIDB4MDUsIDB4NzUsIDB4NGMsIDB4NjEsIDB4ODAsIDB4MTIsIDB4ZTUsIDB4NGMsIDB4YjQsIDB4ODMsIDB4MDUsCi0weDc1LCAweDRjLCAweDYyLCAweDgwLCAweDA4LCAweGU1LCAweDRjLCAweGM0LCAweDU0LCAweGYwLCAweDA0LCAweGY1LCAweDRjLCAweDEyLCAweDFjLCAweDIyLAotMHgxMiwgMHgxZSwgMHgzYiwgMHgxMiwgMHgyNSwgMHhmYSwgMHgxMiwgMHgxZCwgMHg4OSwgMHgxMiwgMHgxYSwgMHhiYiwgMHg2MCwgMHgwNSwgMHgxMiwgMHgzMiwKLTB4N2EsIDB4ODAsIDB4MDYsIDB4ODUsIDB4MzMsIDB4MzksIDB4ODUsIDB4MzQsIDB4M2EsIDB4NzUsIDB4MzYsIDB4MDEsIDB4NzUsIDB4MzcsIDB4ZjksIDB4NzUsCi0weDM4LCAweDc1LCAweDAyLCAweDJjLCAweGQ4LCAweGU0LCAweGZkLCAweDdmLCAweDA1LCAweDAyLCAweDJmLCAweGI0LCAweDEyLCAweDFkLCAweDc5LCAweDYwLAotMHgwNSwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZSwgMHg0MiwgMHg0MCwgMHgwNSwgMHg3ZiwgMHgwMywgMHgwMiwgMHgzMSwgMHhhOSwKLTB4OTAsIDB4ZmYsIDB4MDIsIDB4ZTAsIDB4ZjUsIDB4NGMsIDB4ZTUsIDB4NGMsIDB4YjQsIDB4ODIsIDB4MDUsIDB4NzUsIDB4NGMsIDB4NjEsIDB4ODAsIDB4MTIsCi0weGU1LCAweDRjLCAweGI0LCAweDgzLCAweDA1LCAweDc1LCAweDRjLCAweDYyLCAweDgwLCAweDA4LCAweGU1LCAweDRjLCAweGM0LCAweDU0LCAweGYwLCAweDA0LAotMHhmNSwgMHg0YywgMHgxMiwgMHgxYywgMHgyMiwgMHgwMiwgMHgzMiwgMHgyYywgMHgxMiwgMHgxZSwgMHg0YywgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgxZCwKLTB4MzMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZjAsIDB4NzgsIDB4NjgsIDB4MTIsCi0weDFiLCAweGQ4LCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweDFhLCAweGJiLCAweDMwLCAweGU3LCAweGYyLCAweDkwLCAweDAwLCAweDAyLCAweGU0LCAweDEyLAotMHgxYSwgMHhmYSwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmZiwgMHhmMCwgMHg3OCwgMHg3YywgMHhlNiwgMHhmYywgMHgwOCwgMHhlNiwKLTB4OGMsIDB4ODMsIDB4MTIsIDB4MWQsIDB4M2IsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4OTAsCi0weGZhLCAweGI5LCAweGUwLCAweDY0LCAweDAxLCAweDcwLCAweDFmLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweGZmLCAweDdlLCAweDAwLCAweDcwLCAweDA2LAotMHhhMywgMHhlMCwgMHhmNSwgMHg5MCwgMHg4MCwgMHgyZCwgMHhjMiwgMHhhZiwgMHhlZiwgMHhmNCwgMHg1MiwgMHg5MCwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwKLTB4NDIsIDB4OTAsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MWQsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4ZmYsIDB4N2UsIDB4MDAsIDB4NzAsIDB4MDYsIDB4YTMsCi0weGUwLCAweGY1LCAweGIwLCAweDgwLCAweDBlLCAweGMyLCAweGFmLCAweGVmLCAweGY0LCAweDUyLCAweGIwLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDQyLAotMHhiMCwgMHhkMiwgMHhhZiwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxYywgMHhlMCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhiNCwKLTB4MDEsIDB4MGEsIDB4MTIsIDB4MWMsIDB4YzEsIDB4ZTUsIDB4OTAsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsIDB4MDgsIDB4MTIsIDB4MWMsIDB4YzEsIDB4ZTUsCi0weGIwLCAweDEyLCAweDFhLCAweGU4LCAweDAyLCAweDBmLCAweGYxLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZmLCAweDI0LCAweDEzLCAweDEyLCAweDFjLAotMHhmMSwgMHgyMCwgMHhlMSwgMHgzMywgMHgxMiwgMHgxZCwgMHg4MCwgMHhlZiwgMHgyNCwgMHhmYywgMHg2MCwgMHgxOCwgMHgwNCwgMHg3MCwgMHgyOCwgMHg5MCwKLTB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MTksIDB4MTIsIDB4MWUsCi0weDU2LCAweGYwLCAweDgwLCAweDEzLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDEwLAotMHhmMCwgMHg4MCwgMHgwNCwgMHgxMiwgMHgxZSwgMHg1ZCwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwKLTB4ZmYsIDB4MjQsIDB4MTMsIDB4MTIsIDB4MWMsIDB4ZjEsIDB4MjAsIDB4ZTEsIDB4MzksIDB4MTIsIDB4MWQsIDB4ODAsIDB4ZWYsIDB4MjQsIDB4ZmMsIDB4NjAsCi0weDFiLCAweDA0LCAweDcwLCAweDJlLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDQ0LCAweDIwLAotMHhmMCwgMHg4MCwgMHgxZiwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHg4MCwgMHgxNiwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwKLTB4NjAsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NTQsCi0weGRmLCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDgwLCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDRkLCAweDA0LAotMHg2MCwgMHgwMywgMHgwMiwgMHgwYywgMHhlMywgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg5MCwgMHhmZiwgMHhhNCwgMHgxMiwgMHgxYywKLTB4ZWEsIDB4MzAsIDB4ZTEsIDB4NmYsIDB4MTIsIDB4MWUsIDB4MmMsIDB4MDIsIDB4MGMsIDB4ZTMsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZmIsCi0weDEyLCAweDFjLCAweGVkLCAweGZlLCAweDMwLCAweGUxLCAweDVjLCAweDMwLCAweGUyLCAweDExLCAweDMwLCAweGI0LCAweDA1LCAweDEyLCAweDFlLCAweDJjLAotMHg4MCwgMHg1MSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg4MCwgMHg0OCwgMHgzMCwgMHg5NSwgMHgwNSwgMHgxMiwgMHgxZSwKLTB4MmMsIDB4ODAsIDB4NDAsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ODAsIDB4MzcsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsCi0weDYwLCAweDEyLCAweDkwLCAweGZmLCAweGI0LCAweDEyLCAweDFjLCAweGVhLCAweDMwLCAweGUxLCAweDI4LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LAotMHgwMiwgMHhmMCwgMHg4MCwgMHgxZiwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg1NCwgMHhmYiwgMHgxMiwgMHgxYywgMHhlZCwgMHgzMCwgMHhlMSwgMHgxMywKLTB4MzAsIDB4OTMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsCi0weDU0LCAweGZkLCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDgwLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDI0LAotMHhmYywgMHg2MCwgMHg0MCwgMHgwNCwgMHg3MCwgMHg3OCwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgxZCwgMHg5MCwgMHhmZiwgMHhhMiwgMHhlMCwKLTB4NDQsIDB4NDAsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4NjUsIDB4ZDIsIDB4MDMsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsCi0weDkwLCAweGZmLCAweGEzLCAweGVmLCAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDU1LCAweDMwLCAweDAzLCAweDBlLCAweDkwLCAweGZmLCAweGEzLCAweGUwLAotMHg0NCwgMHg4MCwgMHhmMCwgMHhjMiwgMHgwMywgMHhhMywgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhhMiwgMHhlMCwgMHg1NCwgMHhiZiwKLTB4ZjAsIDB4ODAsIDB4M2IsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MWQsIDB4OTAsIDB4ZmYsIDB4YjIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsCi0weGEzLCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDI4LCAweGQyLCAweDA0LCAweGEzLCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDkwLCAweGZmLCAweGIzLAotMHhlZiwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgxOCwgMHgzMCwgMHgwNCwgMHgwZSwgMHg5MCwgMHhmZiwgMHhiMywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwKLTB4YzIsIDB4MDQsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4ZTQsIDB4ZmYsCi0weDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFjLCAweGUwLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDI0LCAweGZjLCAweDYwLCAweDBmLCAweDA0LCAweDcwLAotMHgxNiwgMHg5MCwgMHhmZiwgMHhhNiwgMHhlMCwgMHgxMiwgMHgxYywgMHhjMSwgMHgxMiwgMHgxYSwgMHhlOCwgMHg4MCwgMHgwYSwgMHg5MCwgMHhmZiwgMHhiNiwKLTB4ZTAsIDB4MTIsIDB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4NzUsIDB4MzksIDB4MDAsIDB4NzUsIDB4M2EsIDB4MDEsIDB4MDIsIDB4MmMsIDB4ZDgsCi0weDkwLCAweGY5LCAweDE1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweGY5LCAweDFjLCAweDc0LCAweDE5LCAweGYwLCAweDkwLCAweGY5LCAweDY2LCAweDc0LAotMHhmZiwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHhlNywgMHg3ZiwKLTB4MDMsIDB4MTIsIDB4MTIsIDB4NjEsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MDgsIDB4OTAsIDB4ZmYsIDB4OTMsIDB4NzQsIDB4ODAsCi0weGYwLCAweDgwLCAweDEwLCAweDkwLCAweGZmLCAweGZjLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDdmLCAweGZmLCAweDdlLCAweDAwLCAweDEyLCAweDMwLAotMHhkMywgMHhjMiwgMHg5MCwgMHhjMiwgMHhhZiwgMHgwMCwgMHg4MCwgMHhmZCwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhmNSwgMHg0ZiwgMHg5MCwgMHhmYSwgMHhiZiwKLTB4NzQsIDB4M2UsIDB4ZjAsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4ZTAsIDB4NTQsCi0weDNmLCAweGZmLCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweGZhLCAweGJjLCAweGYwLCAweGQzLCAweDk0LCAweDAwLCAweGU0LCAweDk0LCAweDNlLAotMHg0MCwgMHgwOCwgMHg5MCwgMHhmYSwgMHhjMCwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYywgMHhmMCwgMHgxMiwgMHgwZiwgMHg5OCwgMHhlNSwgMHgzMSwgMHg0NSwKLTB4MzAsIDB4NzAsIDB4NzMsIDB4MTIsIDB4MWMsIDB4ZmEsIDB4OTAsIDB4ZmEsIDB4YmYsIDB4MTIsIDB4MWUsIDB4MDYsIDB4NjAsIDB4MjcsIDB4ZDMsIDB4ZWYsCi0weDk0LCAweDQwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA4LCAweDkwLCAweGZhLCAweGJjLCAweDc0LCAweDQwLCAweGYwLCAweDgwLCAweDA4LCAweDkwLAotMHhmYSwgMHhjMCwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYywgMHhmMCwgMHgxMiwgMHgwZiwgMHg5OCwgMHhlNSwgMHgzMSwgMHg0NSwgMHgzMCwgMHg3MCwgMHg0NiwKLTB4MTIsIDB4MWMsIDB4ZmEsIDB4ODAsIDB4ZDEsIDB4NzUsIDB4NGMsIDB4MDIsIDB4OTAsIDB4ZmEsIDB4YmYsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4MDQsIDB4ZjAsCi0weDkwLCAweGZhLCAweGI3LCAweGU0LCAweGYwLCAweGEzLCAweDc0LCAweDBmLCAweGYwLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDRjLCAweDkwLAotMHhmYSwgMHhjMCwgMHhlMCwgMHhmNSwgMHg0YSwgMHg3ZCwgMHgwZiwgMHg3YywgMHgwMCwgMHgxMiwgMHgyOSwgMHg2MCwgMHg3NSwgMHgzMCwgMHgwMCwgMHg4ZiwKLTB4MzEsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4NGMsIDB4ZTQsIDB4ZjUsIDB4MmQsIDB4ZjUsIDB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsCi0weDk4LCAweGU0LCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGFmLCAweDMxLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDgwLCAweDMwLCAweGU3LAotMHgxMCwgMHhlMCwgMHg1NCwgMHgwZiwgMHg5MCwgMHhmOSwgMHg2NywgMHhmMCwgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgxNSwgMHhjMiwgMHg5NSwgMHg4MCwKLTB4MTEsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4OTAsIDB4ZjksIDB4NjUsIDB4ZjAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDIsCi0weGMyLCAweDk0LCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFlLCAweDRjLCAweGJmLCAweDAxLCAweDA0LCAweGQyLCAweDkzLCAweDgwLAotMHgwMiwgMHhjMiwgMHg5MywgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHg1NCwgMHgwMywgMHgxNCwgMHg2MCwgMHgwYSwKLTB4MTQsIDB4NjAsIDB4MGYsIDB4MTQsIDB4NjAsIDB4MDgsIDB4MjQsIDB4MDMsIDB4NzAsIDB4MmIsIDB4ZDIsIDB4OTEsIDB4ODAsIDB4MjcsIDB4YzIsIDB4OTEsCi0weDgwLCAweDIzLCAweDEyLCAweDFlLCAweDU2LCAweDEyLCAweDBmLCAweGMwLCAweDYwLCAweDA0LCAweGQyLCAweDkxLCAweDgwLCAweDE3LCAweDkwLCAweGZmLAotMHhhNCwgMHhlMCwgMHg0NCwgMHgxMCwgMHgxMiwgMHgwZiwgMHhjMCwgMHhmZiwgMHhiZiwgMHhhMCwgMHgwNCwgMHhjMiwgMHg5MSwgMHg4MCwgMHgwMiwgMHhkMiwKLTB4OTEsIDB4MTIsIDB4MWUsIDB4NTYsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NTQsIDB4MGMsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4NTQsIDB4M2YsCi0weDE0LCAweDYwLCAweDBhLCAweDE0LCAweDYwLCAweDBmLCAweDE0LCAweDYwLCAweDA4LCAweDI0LCAweDAzLCAweDcwLCAweDJiLCAweGQyLCAweDkyLCAweDgwLAotMHgyNywgMHhjMiwgMHg5MiwgMHg4MCwgMHgyMywgMHgxMiwgMHgxZSwgMHg1ZCwgMHgxMiwgMHgwZiwgMHhlMCwgMHg2MCwgMHgwNCwgMHhkMiwgMHg5MiwgMHg4MCwKLTB4MTcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4MTIsIDB4MGYsIDB4ZTAsIDB4ZmYsIDB4YmYsIDB4YTAsIDB4MDQsIDB4YzIsIDB4OTIsCi0weDgwLCAweDAyLCAweGQyLCAweDkyLCAweDEyLCAweDFlLCAweDVkLCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLAotMHhlNywgMHgwNywgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgyZiwgMHhiNCwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgzMiwKLTB4N2EsIDB4MjIsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZmEsIDB4NzksIDB4YjYsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTAsIDB4ZjUsIDB4MmQsIDB4YTMsIDB4ZTAsCi0weGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGI3LCAweGU0LCAweDc1LCAweGYwLCAweDAzLCAweDEyLCAweDFiLAotMHgxYywgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgyMiwgMHhhYSwgMHg0ZSwgMHhhOSwgMHg0ZiwgMHg3YiwgMHhmZiwgMHg5MCwgMHhmYSwKLTB4YjcsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4ZTAsIDB4ZjUsIDB4NGEsIDB4MTIsIDB4MjksIDB4NjAsIDB4NzUsCi0weDMwLCAweDAwLCAweDhmLCAweDMxLCAweDIyLCAweDEyLCAweDIzLCAweDYxLCAweDdlLCAweDAwLCAweDhlLCAweDMwLCAweDhmLCAweDMxLCAweGVmLCAweDIyLAotMHhmMCwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg2MSwgMHg5MCwgMHhmZiwgMHhhNiwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYiwgMHhmMCwgMHg1NCwgMHhhMCwKLTB4MjIsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OGYsIDB4NGMsIDB4N2UsIDB4MDAsIDB4YzMsIDB4ZWYsIDB4OTUsIDB4M2MsIDB4ZWUsIDB4OTUsIDB4M2IsIDB4MjIsCi0weGYwLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDYxLCAweDkwLCAweGZmLCAweGI2LCAweGUwLCAweDkwLCAweGZhLCAweGJiLCAweGYwLCAweDU0LCAweGEwLAotMHgyMiwgMHg3NSwgMHgzOSwgMHgwMCwgMHg3NSwgMHgzYSwgMHgwMSwgMHgwMiwgMHgyYywgMHhkOCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHgwMiwKLTB4MzIsIDB4M2YsIDB4OGUsIDB4MzksIDB4OGYsIDB4M2EsIDB4MDIsIDB4MmMsIDB4ZDgsIDB4MTIsIDB4MjMsIDB4NjEsIDB4N2UsIDB4MDAsIDB4OGUsIDB4MzAsCi0weDhmLCAweDMxLCAweGVmLCAweDIyLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGI0LCAweGUwLCAweDIyLCAweGVmLCAweDkwLAotMHhmOCwgMHgwNCwgMHhmMCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHhlZSwgMHg2MCwgMHgwYSwgMHhjMCwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHhkZCwKLTB4ZmUsIDB4ZGUsIDB4ZmEsIDB4ZDAsIDB4MDUsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4MTUsIDB4NTAsIDB4MDMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4MTMsIDB4NzAsCi0weDAzLCAweGQwLCAweGE4LCAweDIyLCAweGZmLCAweGQ1LCAweDA3LCAweGZkLCAweGQwLCAweGE4LCAweDIyLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLAotMHgwMiwgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgMHhlNSwgMHgzZSwgMHgyNCwgMHgwOCwgMHhmOCwgMHg4NiwgMHgwNSwgMHg1MywgMHgwNSwgMHg3ZiwgMHg3YywKLTB4ZmYsIDB4MTIsIDB4MTAsIDB4YzAsIDB4N2YsIDB4MDAsIDB4N2UsIDB4MDAsIDB4ZTUsIDB4NDMsIDB4NjAsIDB4NDYsIDB4ZmMsIDB4OTAsIDB4ZjksIDB4MWQsCi0weGUwLCAweDU0LCAweDdmLCAweDZkLCAweDcwLCAweDBmLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLAotMHhhMywgMHgxNSwgMHg0MywgMHg4MCwgMHgwNywgMHhhMywgMHhhMywgMHhhMywgMHhkYywgMHhlNiwgMHg4MCwgMHgyNiwgMHhkYywgMHgwNiwgMHhkMCwgMHg4MiwKLTB4ZDAsIDB4ODMsIDB4ODAsIDB4MWUsIDB4ZTAsIDB4ZjgsIDB4YTMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsCi0weGU4LCAweGYwLCAweGEzLCAweGU5LCAweGYwLCAweGEzLCAweGVhLCAweGYwLCAweGEzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGEzLCAweGEzLAotMHg4MCwgMHhkYSwgMHgxMiwgMHgxMSwgMHg1NywgMHhkMCwgMHgwNSwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHgyMiwKLTB4ODUsIDB4YTgsIDB4NDQsIDB4NzUsIDB4YTgsIDB4ODgsIDB4ZWMsIDB4NzAsIDB4MDIsIDB4N2MsIDB4M2YsIDB4OGMsIDB4M2QsIDB4MjIsIDB4ZTUsIDB4M2UsCi0weDI0LCAweDA4LCAweGY4LCAweDc2LCAweDAwLCAweDEyLCAweDExLCAweGFlLCAweDgwLCAweGZiLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLCAweDAyLAotMHhjMCwgMHgwNCwgMHhjMCwgMHgwNiwgMHg3YywgMHhmZiwgMHgxMiwgMHgxMCwgMHhjMCwgMHhlNSwgMHg0MywgMHg2MCwgMHg0MiwgMHhmZSwgMHg5MCwgMHhmOSwKLTB4MWQsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4NmYsIDB4NzAsIDB4MGIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4YTMsIDB4YTMsIDB4MTUsIDB4NDMsCi0weDgwLCAweDA3LCAweGEzLCAweGEzLCAweGEzLCAweGRlLCAweGVhLCAweDgwLCAweDI2LCAweGRlLCAweDA2LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweDgwLAotMHhkOCwgMHhlMCwgMHhmOCwgMHhhMywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhlOCwgMHhmMCwgMHhhMywKLTB4ZTksIDB4ZjAsIDB4YTMsIDB4ZWEsIDB4ZjAsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGEsIDB4NzgsCi0weDA4LCAweDA4LCAweDc5LCAweDE4LCAweDA5LCAweDdjLCAweDAxLCAweGU2LCAweDU0LCAweDdmLCAweDZmLCAweDcwLCAweDA2LCAweDc2LCAweDAwLCAweDc3LAotMHgwMCwgMHg4MCwgMHgwNiwgMHgwOCwgMHgwOSwgMHgwYywgMHhiYywgMHgwOCwgMHhlZSwgMHgxMiwgMHgxMSwgMHg1NywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwNCwKLTB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4MjIsIDB4NzUsIDB4M2QsIDB4MDAsIDB4ODUsIDB4NDQsIDB4YTgsIDB4MjIsIDB4YzAsIDB4ZjAsCi0weGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMzLCAweGU1LCAweDQzLCAweDI0LCAweGU4LCAweDUwLCAweDA1LCAweDEyLCAweDExLCAweGFlLCAweDgwLCAweGY0LAotMHhlZiwgMHg2MCwgMHgzMSwgMHg5MCwgMHgzMSwgMHgxMSwgMHhlNCwgMHg5MywgMHhjMywgMHg5ZiwgMHg0MCwgMHgyZiwgMHhjMCwgMHgwNCwgMHg3YywgMHhmZiwKLTB4MTIsIDB4MTAsIDB4YzAsIDB4ZDAsIDB4MDQsIDB4NDMsIDB4MDcsIDB4ODAsIDB4ZTUsIDB4NDMsIDB4NzUsIDB4ZjAsIDB4MDMsIDB4YTQsIDB4MjQsIDB4MWQsCi0weGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY5LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGVjLCAweGEzLCAweGYwLCAweGVkLCAweGEzLCAweGYwLCAweDA1LAotMHg0MywgMHgxMiwgMHgxMSwgMHg1NywgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHhmMCwgMHgyMiwgMHgwMiwgMHgxMSwgMHhkYywgMHhjMCwgMHgwNCwKLTB4N2MsIDB4MjAsIDB4ZDIsIDB4OGMsIDB4ZDIsIDB4OGQsIDB4ZDUsIDB4MDQsIDB4ZmQsIDB4ZDAsIDB4MDQsIDB4MjIsIDB4NzUsIDB4YTgsIDB4MDAsIDB4NzUsCi0weDg4LCAweDAwLCAweDc1LCAweGI4LCAweDAwLCAweDc1LCAweGYwLCAweDAwLCAweDc1LCAweGQwLCAweDAwLCAweGU0LCAweGY4LCAweDkwLCAweGY4LCAweDA0LAotMHhmMCwgMHg5MCwgMHgwMCwgMHgwMCwgMHhmNiwgMHgwOCwgMHhiOCwgMHgwMCwgMHhmYiwgMHgwMiwgMHgwMCwgMHgwMCwgMHhjMiwgMHhhZiwgMHhlNCwgMHg5MCwKLTB4ZmYsIDB4NDgsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4NTAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4MTAsIDB4ZjAsIDB4OTAsCi0weGZmLCAweDgwLCAweGYwLCAweGEzLCAweGEzLCAweGYwLCAweGQyLCAweGIxLCAweGMyLCAweGIwLCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLAotMHgyNCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwgMHgyNCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwgMHgyNCwgMHhkMiwKLTB4YjAsIDB4ZDIsIDB4YjEsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MjQsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsCi0weDI0LCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLCAweDI0LCAweDgwLCAweGNjLCAweGMzLCAweGVlLCAweDk0LCAweDAyLCAweDUwLCAweDA0LAotMHg3ZSwgMHgwMywgMHg3ZiwgMHhlOCwgMHhlZiwgMHhmNCwgMHhmZiwgMHhlZSwgMHhmNCwgMHhmZSwgMHgwZiwgMHhiZiwgMHgwMCwgMHgwMSwgMHgwZSwgMHg4ZiwKLTB4NDIsIDB4OGUsIDB4NDEsIDB4MjIsIDB4YzMsIDB4ZWYsIDB4OTQsIDB4YmMsIDB4ZWUsIDB4OTQsIDB4MDIsIDB4NTAsIDB4MDQsIDB4N2UsIDB4MDcsIDB4N2YsCi0weGQwLCAweGVmLCAweGY0LCAweGZmLCAweGVlLCAweGY0LCAweGZlLCAweDBmLCAweGJmLCAweDAwLCAweDAxLCAweDBlLCAweDhmLCAweDQwLCAweDhlLCAweDNmLAotMHgyMiwgMHhlZiwgMHg3MCwgMHgwMSwgMHgyMiwgMHhjMCwgMHgwMCwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHhlNSwgMHgzZSwgMHgyNCwgMHgxOCwgMHhmOCwKLTB4YTYsIDB4MDcsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MDgsIDB4ZjgsIDB4YzYsIDB4NTQsIDB4N2YsIDB4ZjYsIDB4ZDAsIDB4YTgsIDB4ZTYsIDB4MzAsIDB4ZTcsCi0weDAzLCAweGQwLCAweDAwLCAweDIyLCAweDEyLCAweDExLCAweGFlLCAweDgwLCAweGY0LCAweGMwLCAweDAwLCAweDdmLCAweDAxLCAweGVmLCAweDI0LCAweDA4LAotMHhmOCwgMHhlNiwgMHg2MCwgMHgwOSwgMHgwZiwgMHhiZiwgMHgwOCwgMHhmNSwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhlZSwgMHhkMCwgMHgwMCwgMHgyMiwKLTB4YzAsIDB4ZjAsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDQsIDB4ZWQsIDB4MjQsIDB4MTAsIDB4ZjgsCi0weDc2LCAweDlhLCAweGVkLCAweDc1LCAweGYwLCAweDIxLCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY4LCAweGY1LCAweDgzLAotMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhhMywgMHhhMywgMHhlNCwgMHg3OCwgMHgwZCwgMHhmMCwgMHhhMywgMHhkOCwgMHhmYywgMHhlZiwgMHg1NCwgMHg3ZiwKLTB4NzUsIDB4ZjAsIDB4MDIsIDB4YTQsIDB4MjQsIDB4ZjMsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ZjAsIDB4MzQsIDB4MzAsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsCi0weGZlLCAweDc0LCAweDAxLCAweDkzLCAweGZjLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGVjLCAweGYwLCAweGEzLCAweGVlLCAweGYwLCAweGVkLCAweDI0LAotMHgwOCwgMHhmOCwgMHhlZiwgMHg0NCwgMHg4MCwgMHhmNiwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwNiwgMHhkMCwgMHgwMCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwKLTB4ZDAsIDB4ZjAsIDB4MjIsIDB4NzUsIDB4M2UsIDB4MDAsIDB4NzUsIDB4NDMsIDB4MDAsIDB4N2EsIDB4MDgsIDB4NzksIDB4MTgsIDB4NzgsIDB4MDgsIDB4NzYsCi0weDAwLCAweDc3LCAweDAwLCAweDA4LCAweDA5LCAweGRhLCAweGY4LCAweDkwLCAweGY4LCAweDA0LCAweGUwLCAweGZjLCAweDkwLCAweDMxLCAweDExLCAweGU0LAotMHg5MywgMHhjMywgMHg5YywgMHg1MCwgMHgwNSwgMHhlNCwgMHg5MCwgMHhmOCwgMHgwNCwgMHhmMCwgMHg3OCwgMHgwOCwgMHg3NCwgMHg4MCwgMHg0NCwgMHg3ZiwKLTB4ZjYsIDB4NzQsIDB4MDEsIDB4NDQsIDB4MTAsIDB4ZjUsIDB4ODksIDB4NzUsIDB4YjgsIDB4MDAsIDB4ZDIsIDB4YWIsIDB4ZDIsIDB4YTksIDB4MjIsIDB4NzUsCi0weDgxLCAweDhiLCAweGQyLCAweDhlLCAweGQyLCAweDhjLCAweGQyLCAweGFmLCAweGU1LCAweDQzLCAweDYwLCAweDM2LCAweGZmLCAweDkwLCAweGY5LCAweDFkLAotMHhlMCwgMHg1NCwgMHg4MCwgMHg2MCwgMHgyOCwgMHg3OCwgMHgwOCwgMHg3OSwgMHgwOCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmYSwgMHg3YiwgMHgwMCwgMHhlNiwKLTB4NTQsIDB4N2YsIDB4YjUsIDB4MDIsIDB4MDIsIDB4N2IsIDB4ZmYsIDB4MDgsIDB4ZDksIDB4ZjUsIDB4ZWIsIDB4NzAsIDB4MTAsIDB4ZWEsIDB4ZjAsIDB4YzAsCi0weDA3LCAweDEyLCAweDEyLCAweDg5LCAweGFkLCAweDA3LCAweGFmLCAweDAyLCAweDEyLCAweDEyLCAweGEwLCAweGQwLCAweDA3LCAweGEzLCAweGEzLCAweGEzLAotMHhkZiwgMHhjZSwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhjMSwgMHg4ZiwgMHgyNCwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwgMHhiNSwgMHhhMywKLTB4YTMsIDB4ZTAsIDB4YTMsIDB4MzAsIDB4ZTcsIDB4MjgsIDB4NzgsIDB4N2UsIDB4MTIsIDB4MjIsIDB4OTksIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MTIsCi0weDIyLCAweGZhLCAweDEyLCAweDIyLCAweDlkLCAweGUwLCAweDIwLCAweGUwLCAweGY2LCAweDEyLCAweDIzLCAweDUwLCAweDc0LCAweDAyLCAweGYwLCAweDEyLAotMHgyMiwgMHhkYSwgMHhlMCwgMHhhMywgMHgzMCwgMHhlNSwgMHgwNywgMHgxMiwgMHgyMywgMHg1MCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3OCwgMHg4MCwKLTB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MDgsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MjMsCi0weDM5LCAweDhhLCAweDgzLCAweDI0LCAweDBhLCAweDEyLCAweDIyLCAweGExLCAweGVkLCAweGYwLCAweDEyLCAweDIzLCAweDA2LCAweDI0LCAweDA3LCAweDEyLAotMHgyMiwgMHhhMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgyMywgMHg1YSwgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlZiwgMHhmMCwgMHg5MCwgMHhmOSwKLTB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MjAsIDB4MDgsIDB4MTIsIDB4MjIsIDB4YjcsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4ZTAsIDB4MjUsCi0weGUwLCAweGZmLCAweDA1LCAweDgyLCAweGQ1LCAweDgyLCAweDAyLCAweDE1LCAweDgzLCAweDE1LCAweDgyLCAweGUwLCAweDMzLCAweGQwLCAweDgyLCAweGQwLAotMHg4MywgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHgxMiwgMHgyMiwgMHhiNSwgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhlYywgMHhmZiwgMHgxMiwKLTB4MjMsIDB4MzksIDB4OGEsIDB4ODMsIDB4MjQsIDB4MDgsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZWYsIDB4ZjAsIDB4ZWQsIDB4MTIsIDB4MjMsIDB4NWEsIDB4MjQsCi0weDA3LCAweDEyLCAweDIyLCAweGExLCAweGVkLCAweGYwLCAweDEyLCAweDIyLCAweGE5LCAweGUwLCAweDMwLCAweGU2LCAweDBhLCAweDEyLCAweDIzLCAweDQxLAotMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlNCwgMHhmMCwgMHgxMiwgMHgyMiwgMHhhOSwgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNywgMHgxYiwgMHgxMiwKLTB4MjMsIDB4MWUsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTksIDB4ZWYsIDB4NDQsIDB4MDIsCi0weGYwLCAweDgwLCAweDA3LCAweDEyLCAweDIyLCAweGE5LCAweGVmLCAweDU0LCAweGZkLCAweGYwLCAweDc4LCAweDdlLCAweDEyLCAweDIyLCAweGI3LCAweGEzLAotMHhhMywgMHhlMCwgMHhmZiwgMHg1MywgMHgwNywgMHhjNywgMHgwOCwgMHhlNiwgMHhmYywgMHgwOCwgMHhlNiwgMHhmZCwgMHgxMiwgMHgyMiwgMHhlMCwgMHhhMywKLTB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTIsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDUsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsCi0weDkwLCAweDMyLCAweDUxLCAweDkzLCAweDQyLCAweDA3LCAweDUzLCAweDA3LCAweGZiLCAweDEyLCAweDIzLCAweDFlLCAweDI0LCAweDA2LCAweDEyLCAweDIyLAotMHhhMSwgMHhlMCwgMHg2MCwgMHgwMywgMHg0MywgMHgwNywgMHgwNCwgMHg1MywgMHgwNywgMHhmYywgMHg3OCwgMHg4MCwgMHgxMiwgMHgyMywgMHgyOSwgMHgyNCwKLTB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NDIsIDB4MDcsIDB4NDMsIDB4MDcsIDB4ODAsIDB4MTIsIDB4MjMsIDB4MzksIDB4ZjUsIDB4ODIsIDB4OGEsCi0weDgzLCAweGEzLCAweGEzLCAweGVmLCAweGYwLCAweDEyLCAweDIzLCAweDVhLCAweDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweGZmLCAweDhkLAotMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHgzMCwgMHhlMSwgMHgwNSwgMHg1MywgMHgwNywgMHhkZiwKLTB4ODAsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MjAsIDB4ZWMsIDB4MzAsIDB4ZTQsIDB4MDUsIDB4NTMsIDB4MDcsIDB4ZWYsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MDcsCi0weDEwLCAweDEyLCAweDIyLCAweGE5LCAweGUwLCAweGZlLCAweDU0LCAweDAzLCAweDYwLCAweDczLCAweDUzLCAweDA3LCAweGRmLCAweGVlLCAweDMwLCAweGUxLAotMHg2OSwgMHgxMiwgMHgyMywgMHgxZSwgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHgxMiwgMHgxYiwgMHhmYywgMHgxNSwgMHgyYywgMHgwMCwKLTB4MTUsIDB4NjAsIDB4MDEsIDB4MTUsIDB4NjUsIDB4MDMsIDB4MTUsIDB4NjAsIDB4MDUsIDB4MTUsIDB4NjUsIDB4MDcsIDB4MTUsIDB4NjAsIDB4MDksIDB4MTUsCi0weDY1LCAweDBiLCAweDE1LCAweDYwLCAweDBkLCAweDE1LCAweDY1LCAweDBmLCAweDAwLCAweDAwLCAweDE1LCAweDZkLCAweGU1LCAweDI0LCAweDY0LCAweDAzLAotMHg3MCwgMHgyMSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwZCwgMHgzMCwgMHhiNCwgMHgwNSwgMHg0MywgMHgwNywgMHgwMiwgMHg4MCwKLTB4MmMsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4ODAsIDB4MjcsIDB4MzAsIDB4OTUsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsIDB4MWYsIDB4NTMsIDB4MDcsCi0weGZkLCAweDgwLCAweDFhLCAweDMwLCAweDkzLCAweDA1LCAweDQzLCAweDA3LCAweDAyLCAweDgwLCAweDEyLCAweDUzLCAweDA3LCAweGZkLCAweDgwLCAweDBkLAotMHg0MywgMHgwNywgMHgwMiwgMHg4MCwgMHgwOCwgMHg1MywgMHgwNywgMHhmZCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhmZCwgMHgxMiwgMHgyMywgMHgyNywKLTB4MjQsIDB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZWYsIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmYsCi0weDEyLCAweDIyLCAweGE5LCAweGUwLCAweGZlLCAweDU0LCAweDAzLCAweDcwLCAweDAzLCAweDAyLCAweDE2LCAweDYwLCAweGVlLCAweDIwLCAweGUxLCAweDAzLAotMHgwMiwgMHgxNiwgMHg1ZCwgMHgwOCwgMHgxMiwgMHgyMywgMHgyMCwgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHgxMiwgMHgxYiwgMHhmYywKLTB4MTUsIDB4YmYsIDB4MDAsIDB4MTUsIDB4ZjUsIDB4MDEsIDB4MTUsIDB4ZjUsIDB4MDMsIDB4MTYsIDB4MjksIDB4MDUsIDB4MTYsIDB4MjksIDB4MDcsIDB4MTYsCi0weDBmLCAweDA5LCAweDE2LCAweDBmLCAweDBiLCAweDE2LCAweDQzLCAweDBkLCAweDE2LCAweDQzLCAweDBmLCAweDAwLCAweDAwLCAweDE2LCAweDYwLCAweGU1LAotMHgyNCwgMHg2NCwgMHgwMywgMHg3MCwgMHgyMywgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwZiwgMHgzMCwgMHhiMSwgMHgwNiwgMHg1MywKLTB4MDcsIDB4N2YsIDB4MDIsIDB4MTYsIDB4NjAsIDB4NDMsIDB4MDcsIDB4ODAsIDB4MDIsIDB4MTYsIDB4NjAsIDB4MzAsIDB4OTQsIDB4MDUsIDB4NTMsIDB4MDcsCi0weDdmLCAweDgwLCAweDdkLCAweDQzLCAweDA3LCAweDgwLCAweDgwLCAweDc4LCAweDMwLCAweDkyLCAweDA1LCAweDUzLCAweDA3LCAweDdmLCAweDgwLCAweDcwLAotMHg0MywgMHgwNywgMHg4MCwgMHg4MCwgMHg2YiwgMHhlNSwgMHgyNCwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhlZiwKLTB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4NTMsIDB4MDcsIDB4N2YsIDB4ODAsIDB4NTEsIDB4ZTUsCi0weDI0LCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweDllLAotMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg1MywgMHgwNywgMHg3ZiwgMHg4MCwgMHgzNywgMHhlNSwgMHgyNCwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwKLTB4OWUsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4NDMsIDB4MDcsCi0weDgwLCAweDgwLCAweDFkLCAweGU1LCAweDI0LCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLAotMHgwNywgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg0MywgMHgwNywgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHg3ZiwKLTB4MTIsIDB4MjIsIDB4ZGEsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MjAsIDB4ODAsIDB4MDMsCi0weDUzLCAweDA3LCAweGRmLCAweGVjLCAweDMwLCAweGUzLCAweDA1LCAweDQzLCAweDA3LCAweDQwLCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGJmLCAweGVjLAotMHgzMCwgMHhlMCwgMHgwNSwgMHg0MywgMHgwNywgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhlZiwgMHhlZCwgMHgzMCwgMHhlNCwgMHgwNSwgMHg0MywKLTB4MDcsIDB4MDgsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZjcsIDB4ZWQsIDB4MzAsIDB4ZTUsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDQsIDB4ODAsIDB4MDMsCi0weDUzLCAweDA3LCAweGZiLCAweGVkLCAweDMwLCAweGU2LCAweDA1LCAweDQzLCAweDA3LCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGZlLCAweGVkLAotMHgzMCwgMHhlNywgMHgwNSwgMHg0MywgMHgwNywgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhmZCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMiwgMHhkYywKLTB4YTMsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4N2YsIDB4MDAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZmEsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YTMsCi0weDc0LCAweDE2LCAweGYwLCAweDkwLCAweGZmLCAweGY5LCAweDc0LCAweDAyLCAweGYwLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGNmLCAweGU0LAotMHhmZCwgMHgxMiwgMHgyMywgMHg2MSwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHgxYiwgMHgxYywgMHgxMiwgMHgxOSwKLTB4OTIsIDB4ZTUsIDB4MjMsIDB4MzAsIDB4ZTcsIDB4MDIsIDB4ZDIsIDB4MDIsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjQsIDB4OTAsIDB4ZmEsCi0weGNmLCAweGUwLCAweGY1LCAweDJkLCAweGEzLCAweGUwLCAweGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGNmLAotMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwYiwgMHhmMCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgyMywgMHg3NSwgMHgyZCwgMHgwMCwgMHhmNSwKLTB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4ZTUsIDB4MjMsIDB4MjQsIDB4ODAsIDB4OTAsIDB4ZmYsIDB4ZjgsIDB4ZjAsIDB4ZTUsIDB4MjMsCi0weDY0LCAweDA3LCAweDYwLCAweDFlLCAweGU1LCAweDIzLCAweDY0LCAweDA2LCAweDYwLCAweDE4LCAweGU1LCAweDIzLCAweDY0LCAweDE0LCAweDYwLCAweDEyLAotMHhlNSwgMHgyMywgMHg2NCwgMHg0MSwgMHg2MCwgMHgwYywgMHhlNSwgMHgyMywgMHg2NCwgMHgxYSwgMHg3MCwgMHg0NiwgMHhlNSwgMHgyNCwgMHg2NCwgMHgwMiwKLTB4NzAsIDB4NDAsIDB4ZTUsIDB4MjMsIDB4YjQsIDB4MDcsIDB4MTYsIDB4ZDIsIDB4OTQsIDB4ZDIsIDB4OTUsIDB4ZDIsIDB4OTIsIDB4ZDIsIDB4OTMsIDB4OTAsCi0weGY5LCAweDE2LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGEzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDFlLCAweGU1LCAweDIzLCAweGI0LAotMHg0MSwgMHgxMiwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHg0NCwgMHgwNiwgMHhmMCwgMHhhMywgMHhlMCwgMHg0NCwgMHgwNiwgMHhmMCwgMHhkMiwgMHhiMSwKLTB4ZDIsIDB4YjQsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4ZjksIDB4MTcsIDB4ZTAsIDB4NDQsCi0weDAxLCAweGYwLCAweGU1LCAweDIzLCAweDY0LCAweDQyLCAweDYwLCAweDBjLCAweGU1LCAweDIzLCAweDY0LCAweDQzLCAweDYwLCAweDA2LCAweGU1LCAweDIzLAotMHg2NCwgMHg0NCwgMHg3MCwgMHgyZSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHhmZiwgMHhlNSwgMHgyMywgMHhiNCwgMHg0NCwgMHgwNCwgMHg3ZSwgMHg0MCwKLTB4ODAsIDB4MDIsIDB4N2UsIDB4MDAsIDB4ZWUsIDB4MjQsIDB4ODAsIDB4NGYsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZTUsCi0weDIzLCAweGI0LCAweDQ0LCAweDA0LCAweDdlLCAweDQwLCAweDgwLCAweDAyLCAweDdlLCAweDAwLCAweGVlLCAweDI0LCAweDgwLCAweDRmLCAweDkwLCAweGY5LAotMHgxNywgMHhmMCwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwZCwgMHhmMCwgMHgxMiwgMHgxOSwgMHg5MiwgMHg5MCwgMHhmZiwKLTB4ZjUsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzQsIDB4ZjUsIDB4MzIsIDB4MTIsIDB4MWUsIDB4MzQsCi0weDEyLCAweDFjLCAweGUwLCAweDEyLCAweDFlLCAweDNiLCAweDkwLCAweGY5LCAweDZhLCAweDEyLCAweDFiLCAweGYzLCAweDkwLCAweGY5LCAweDZmLCAweDEyLAotMHgxYiwgMHhmMywgMHg5MCwgMHhmZiwgMHhmZiwgMHhlNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg4MywgMHhlMCwgMHhlNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg4MSwKLTB4NzQsIDB4ODAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ODAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjMsIDB4ZTUsIDB4MjMsIAotMHgxMiwgMHgxZCwgMHg1NywgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgyMywgMHgxMiwgMHgxZCwgMHg2NSwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwKLTB4MDUsIDB4MjMsIDB4ZTUsIDB4MjMsIDB4YjQsIDB4MDcsIDB4ZTcsIDB4NzgsIDB4N2EsIDB4NzYsIDB4ZmUsIDB4MDgsIDB4NzYsIDB4ZjAsIDB4OTAsIDB4MzIsCi0weDBhLCAweGU0LCAweDkzLCAweGZmLCAweDc4LCAweDc4LCAweGY2LCAweGZkLCAweGFkLCAweDA3LCAweDkwLCAweDMyLCAweDE3LCAweGU0LCAweDkzLCAweGZmLAotMHgwOCwgMHhmNiwgMHhmZiwgMHhlZCwgMHg1NCwgMHgwZiwgMHhmZCwgMHgxMiwgMHgxZCwgMHg0NywgMHg3NCwgMHg4NCwgMHhmMCwgMHhlZCwgMHg3NSwgMHhmMCwKLTB4MDgsIDB4YTQsIDB4MjQsIDB4NDcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4YzMsIDB4NzQsIDB4ZjAsIAotMHg5ZiwgMHg3OCwgMHg3YiwgMHhmNiwgMHg3NCwgMHhmZSwgMHg5NCwgMHgwMCwgMHgxOCwgMHgxMiwgMHgxYywgMHhkOCwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwKLTB4MTMsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZWQsIDB4MTIsIDB4MWQsIDB4YTgsIDB4ZWYsIDB4ZjAsIDB4ZWQsIDB4MTIsIDB4MWQsIDB4Y2UsIDB4ZTQsIDB4ZjUsCi0weDIzLCAweGU1LCAweDIzLCAweDkwLCAweDMyLCAweDA0LCAweDkzLCAweGZmLCAweDc4LCAweDc4LCAweGY2LCAweGZkLCAweGU1LCAweDIzLCAweDI1LCAweGUwLAotMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgzMiwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgwOCwgMHhmNiwgMHhlZCwgMHgzMCwgMHhlNywKLTB4NTMsIDB4MTgsIDB4ZTYsIDB4NTQsIDB4MGYsIDB4ZjksIDB4MTIsIDB4MWQsIDB4NDcsIDB4MTIsIDB4MWQsIDB4YjYsIDB4MjQsIDB4NDcsIDB4ZjUsIDB4ODIsCi0weGU0LCAweDM0LCAweGZmLCAweDEyLCAweDFjLCAweGM4LCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweGZmLCAweGU5LCAweDEyLAotMHgxZCwgMHhhOCwgMHhlZiwgMHhmMCwgMHgxMiwgMHgxYywgMHhjZiwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwgMHhmOSwgMHgxMiwgMHgxZCwKLTB4YmIsIDB4MjQsIDB4NDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTksIDB4MTIsIDB4MWQsIDB4Y2UsCi0weGU5LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDQ2LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweDc0LCAweDgwLCAKLTB4ZjAsIDB4MDIsIDB4MTksIDB4NjcsIDB4NzgsIDB4NzgsIDB4ZTYsIDB4NTQsIDB4MGYsIDB4ZjksIDB4MTIsIDB4MWQsIDB4OWEsIDB4MTIsIDB4MWQsIDB4YjYsCi0weDI0LCAweDA3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweDEyLCAweDFjLCAweGM4LCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LAotMHhmOSwgMHgxMiwgMHgxZCwgMHhiYiwgMHgyNCwgMHgwMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgxMiwKLTB4MWMsIDB4Y2YsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsIDB4ZjksIDB4MTIsIDB4MWQsIDB4YmIsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsCi0weGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU5LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyLCAKLTB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTksIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIAotMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHgwNSwgMHgyMywgMHhlNSwgMHgyMywgMHg2NCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgCi0weDE4LCAweDkxLCAweDkwLCAweDMyLCAweDA5LCAweGU0LCAweDkzLCAweGZmLCAweDc4LCAweDc4LCAweGY2LCAweDEyLCAweDFkLCAweDk4LCAweGU0LCAweGYwLAotMHg5MCwgMHgzMiwgMHgwOCwgMHg5MywgMHhmZiwgMHhmNiwgMHgxMiwgMHgxZCwgMHg0NSwgMHhlNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhmZCwgMHg3NCwgMHgwNSwKLTB4ZjAsIDB4MjIsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjMsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsCi0weDFiLCAweDMyLCAweDg1LCAweGYwLCAweDJlLCAweGY1LCAweDJkLCAweDdkLCAweDAxLCAweDAyLCAweDI2LCAweDk4LCAweGU3LCAweDA5LCAweGY2LCAweDA4LAotMHhkZiwgMHhmYSwgMHg4MCwgMHg0NiwgMHhlNywgMHgwOSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHgzZSwgMHg4OCwgMHg4MiwgMHg4YywgMHg4MywgCi0weGU3LCAweDA5LCAweGYwLCAweGEzLCAweGRmLCAweGZhLCAweDgwLCAweDMyLCAweGUzLCAweDA5LCAweGY2LCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDc4LCAKLTB4ZTMsIDB4MDksIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NzAsIDB4ODgsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTMsIDB4MDksIDB4ZjAsIDB4YTMsIAotMHhkZiwgMHhmYSwgMHg4MCwgMHg2NCwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhhMywgMHhmNiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg1OCwgCi0weDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweGEzLCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDRjLCAweDgwLCAweGQyLCAweDgwLCAweGZhLCAKLTB4ODAsIDB4YzYsIDB4ODAsIDB4ZDQsIDB4ODAsIDB4NjksIDB4ODAsIDB4ZjIsIDB4ODAsIDB4MzMsIDB4ODAsIDB4MTAsIDB4ODAsIDB4YTYsIDB4ODAsIDB4ZWEsIAotMHg4MCwgMHg5YSwgMHg4MCwgMHhhOCwgMHg4MCwgMHhkYSwgMHg4MCwgMHhlMiwgMHg4MCwgMHhjYSwgMHg4MCwgMHgzMywgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgCi0weGVjLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGYwLCAweGEzLCAweGM4LCAKLTB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODMsIDB4Y2MsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4MGQsIDB4ODksIDB4ODIsIDB4OGEsIAotMHg4MywgMHhlNCwgMHg5MywgMHhhMywgMHhmNiwgMHgwOCwgMHhkZiwgMHhmOSwgMHhlYywgMHhmYSwgMHhhOSwgMHhmMCwgMHhlZCwgMHhmYiwgMHgyMiwgMHg4OSwgCi0weDgyLCAweDhhLCAweDgzLCAweGVjLCAweGZhLCAweGUwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGYwLCAKLTB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODMsIDB4Y2MsIDB4ZGYsIDB4ZWEsIDB4ZGUsIDB4ZTgsIDB4ODAsIDB4ZGIsIDB4ODksIAotMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHhhMywgMHhmMiwgMHgwOCwgMHhkZiwgMHhmOSwgMHg4MCwgMHhjYywgMHg4OCwgMHhmMCwgMHhlZiwgMHg2MCwgCi0weDAxLCAweDBlLCAweDRlLCAweDYwLCAweGMzLCAweDg4LCAweGYwLCAweGVkLCAweDI0LCAweDAyLCAweGI0LCAweDA0LCAweDAwLCAweDUwLCAweGI5LCAweGY1LCAKLTB4ODIsIDB4ZWIsIDB4MjQsIDB4MDIsIDB4YjQsIDB4MDQsIDB4MDAsIDB4NTAsIDB4YWYsIDB4MjMsIDB4MjMsIDB4NDUsIDB4ODIsIDB4MjMsIDB4OTAsIDB4MTksIAotMHhmYywgMHg3MywgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwKLTB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIAotMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgCi0weGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAKLTB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIAotMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhmOCwgMHhiYiwgMHgwMSwgMHgwZCwgMHhlNSwgMHg4MiwgCi0weDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU4LCAweGYwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAKLTB4YzgsIDB4ZjYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDUsIDB4ZTksIDB4MjUsIDB4ODIsIDB4YzgsIDB4ZjIsIDB4MjIsIDB4YzUsIDB4ZjAsIDB4ZjgsIDB4YTMsIAotMHhlMCwgMHgyOCwgMHhmMCwgMHhjNSwgMHhmMCwgMHhmOCwgMHhlNSwgMHg4MiwgMHgxNSwgMHg4MiwgMHg3MCwgMHgwMiwgMHgxNSwgMHg4MywgMHhlMCwgMHgzOCwgCi0weGYwLCAweDIyLCAweGEzLCAweGY4LCAweGUwLCAweGM1LCAweGYwLCAweDI1LCAweGYwLCAweGYwLCAweGU1LCAweDgyLCAweDE1LCAweDgyLCAweDcwLCAweDAyLCAKLTB4MTUsIDB4ODMsIDB4ZTAsIDB4YzgsIDB4MzgsIDB4ZjAsIDB4ZTgsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIAotMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMCwgMHhhMywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgCi0weGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1LCAweGYwLCAKLTB4MDgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODMsIDB4MmEsIDB4ZjUsIDB4ODMsIDB4ZTksIDB4OTMsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4OTMsIDB4MjIsIAotMHhiYiwgMHgwMSwgMHgwYSwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHhlNSwgMHhmMCwgMHhhMywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhmNywgCi0weDA5LCAweGE3LCAweGYwLCAweDE5LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGYzLCAweGU1LCAweGYwLCAweDA5LCAweGYzLCAweDE5LCAweDIyLCAweGY4LCAKLTB4YmIsIDB4MDEsIDB4MTEsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTgsIDB4ZjAsIDB4ZTUsIAotMHhmMCwgMHhhMywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmNiwgMHgwOCwgMHhhNiwgMHhmMCwgMHgyMiwgMHhiYiwgCi0weGZlLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGYyLCAweGU1LCAweGYwLCAweDA4LCAweGYyLCAweDIyLCAweGE0LCAweDI1LCAweDgyLCAweGY1LCAKLTB4ODIsIDB4ZTUsIDB4ZjAsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4ZTYsIDB4ZmIsIDB4MDgsIDB4ZTYsIDB4ZmEsIDB4MDgsIDB4ZTYsIDB4ZjksIAotMHgyMiwgMHhlYiwgMHhmNiwgMHgwOCwgMHhlYSwgMHhmNiwgMHgwOCwgMHhlOSwgMHhmNiwgMHgyMiwgMHhlMCwgMHhmYiwgMHhhMywgMHhlMCwgMHhmYSwgMHhhMywgCi0weGUwLCAweGY5LCAweDIyLCAweGViLCAweGYwLCAweGEzLCAweGVhLCAweGYwLCAweGEzLCAweGU5LCAweGYwLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAKLTB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIAotMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgCi0weDgwLCAweGRmLCAweGFiLCAweDM2LCAweGFhLCAweDM3LCAweGE5LCAweDM4LCAweGU1LCAweDRjLCAweDEyLCAweDFhLCAweGU4LCAweDc0LCAweDAxLCAweDI1LAotMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHhhYiwgMHgzNiwgMHhmYSwgMHhhOSwgMHgzOCwgMHg3NCwgMHgxMSwgMHgxMiwgCi0weDFhLCAweGU4LCAweDc0LCAweDAxLCAweDI1LCAweDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweDkwLCAweGZmLCAweDA2LAotMHhlMCwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgxMiwgMHgxYSwgMHhlOCwgMHg3NCwgMHgwMSwgMHgyNSwgMHgzOCwgMHhmNSwgMHgzOCwKLTB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4YWIsIDB4MzYsIDB4ZmEsIDB4YTksIDB4MzgsIDB4ZTQsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MDQsIDB4MjUsCi0weDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweGFiLCAweDM2LCAweGZhLCAweGE5LCAweDM4LCAweGU0LCAweDEyLCAweDFhLCAKLTB4ZTgsIDB4MDQsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4OTAsIDB4ZmYsIDB4MDQsIDB4ZTAsIDB4YWIsCi0weDM2LCAweGFhLCAweDM3LCAweGE5LCAweDM4LCAweDEyLCAweDFhLCAweGU4LCAweDc0LCAweDAxLCAweDI1LCAweDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LAotMHgzNywgMHhmNSwgMHgzNywgMHg5MCwgMHhmZiwgMHgwNSwgMHhlMCwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgxMiwgMHgxYSwgMHhlOCwKLTB4NzQsIDB4MDEsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4MjIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIAotMHgwOCwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgyMiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhmZCwgMHg3YywgMHgwMCwgMHhjMywgCi0weDc4LCAweDdiLCAweGU2LCAweDlkLCAweGY2LCAweDE4LCAweGU2LCAweDljLCAweGY2LCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweDc4LCAweDAzLCAweDIyLCAKLTB4NzUsIDB4MzYsIDB4MDEsIDB4NzUsIDB4MzcsIDB4ZjksIDB4NzUsIDB4MzgsIDB4NzIsIDB4MjIsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MTMsCi0weDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDkwLCAweGZhLCAweGJjLCAweGUwLCAweGZmLCAweDdlLAotMHgwMCwgMHhjMywgMHg5MCwgMHhmYSwgMHhjMCwgMHhlMCwgMHg5ZiwgMHhmMCwgMHg5MCwgMHhmYSwgMHhiZiwgMHhlMCwgMHg5ZSwgMHhmMCwgMHg5MCwgMHhmYSwKLTB4YjcsIDB4ZWUsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4MWMsIDB4ZWYsIDB4MjUsIDB4NGYsIDB4ZjUsIDB4NGYsIDB4ZWUsIDB4MzUsIDB4NGUsIDB4ZjUsCi0weDRlLCAweDIyLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGI0LCAweDkwLCAweGZhLCAweGI3LCAweGUwLCAweGY1LCAweDJkLCAweGEzLCAweGUwLAotMHhmNSwgMHgyZSwgMHgyMiwgMHg3OCwgMHg3YywgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHg4ZSwgMHg4MywgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgCi0weDM1LCAweDgzLCAweGY1LCAweDgzLCAweDIyLCAweDU0LCAweDBmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDQwLCAweGY1LCAweDgyLCAweGU0LCAKLTB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4ZTUsIDB4NGQsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4NDgsIDB4ZjUsIDB4ODIsIDB4ZTQsIAotMHgzNCwgMHhmZiwgMHgyMiwgMHhlNSwgMHg0ZCwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgCi0weDIyLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZmLCAweDI0LCAweGZjLCAweDIyLCAweDkwLCAweGZmLCAweDAwLCAweGUwLCAweDU0LCAweDFmLCAweDIyLAotMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYSwgMHhmMCwgMHgyMiwgMHg3NSwgMHgzMywgMHgwMCwgMHg4ZiwgMHgzNCwgMHg5MCwgMHhmOSwKLTB4NmYsIDB4MTIsIDB4MWIsIDB4ZWEsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MjIsIDB4NTQsIDB4MGYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsCi0weGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweDIyLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDQxLCAweGY1LCAweDgyLCAKLTB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4ZTksIDB4NzUsIDB4ZjAsIDB4MDgsIAotMHhhNCwgMHgyMiwgMHg3NCwgMHhiMiwgMHgyNSwgMHgyMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmYSwgMHhmNSwgMHg4MywgMHgyMiwgMHg3NSwgMHhmMCwKLTB4MDgsIDB4YTQsIDB4MjQsIDB4NDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MjIsIDB4OTAsIAotMHhmZiwgMHg4MiwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgyMiwgMHg5MCwgMHhmZiwgMHhmZSwgMHhlMCwgMHg0NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhmZiwgCi0weGZjLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDIyLCAweDc4LCAweDY3LCAweGU2LCAweDU0LCAweGZkLCAweGY2LCAweDkwLCAweGZmLCAweGZkLCAweDc0LCAKLTB4NjUsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MWIsIDB4Y2MsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4NGUsIDB4MjIsIDB4N2IsIDB4MDEsIDB4N2EsCi0weGZhLCAweDc5LCAweGI3LCAweDIyLCAweDkwLCAweGZmLCAweDgwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDIyLCAweDkwLCAweGZmLCAweDgzLCAweGUwLAotMHg1NCwgMHg3ZiwgMHhmMCwgMHgyMiwgMHhlMCwgMHhmZiwgMHg5MCwgMHhmOSwgMHg2YSwgMHgwMiwgMHgxYiwgMHhlYSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwKLTB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4NzUsIDB4MzksIDB4MDEsIDB4NzUsIDB4M2EsIDB4MDksIDB4MjIsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZjksIDB4NzksIAotMHg3MiwgMHgyMiwgMHhkMywgMHhlNSwgMHgzYywgMHg5NCwgMHgwOCwgMHhlNSwgMHgzYiwgMHg5NCwgMHgwMSwgMHgyMiwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwKLTB4ZmYsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4YjQsCi0weGUwLCAweDU0LCAweGVmLCAweDIyLCAweDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg4LCAweGVmLCAweGY2LCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDIyLAotMHhmYSwgMHg4ZSwgMHg4MywgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgyMiwgMHhlOCwgMHg5MCwgMHgwMCwgMHgwYSwKLTB4MTIsIDB4MjMsIDB4MDIsIDB4MjQsIDB4MGEsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4OTAsIDB4MDAsIDB4MGIsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4MTIsCi0weDIyLCAweGZhLCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGY1LCAweDUzLCAweDEyLCAweDIzLCAweDA2LCAweDI0LAotMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmNSwgMHg1NCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHg1NSwKLTB4ZTUsIDB4NTMsIDB4YzQsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MDEsIDB4NzgsIDB4ODgsIDB4ZjYsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIAotMHhlNSwgMHg1NCwgMHgzMCwgMHhlMSwgMHgwMSwgMHgwNiwgMHg3OCwgMHg4OCwgMHhlNiwgMHgxMiwgMHgyMiwgMHhlNywgMHg5MCwgMHgwMCwgMHgwYywgMHhlZiwKLTB4MTIsIDB4MWEsIDB4ZmEsIDB4MTIsIDB4MjIsIDB4YjUsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4NTMsIDB4MDcsIDB4MGMsCi0weDUzLCAweDA2LCAweGU2LCAweGU1LCAweDUzLCAweDMwLCAweGU1LCAweDAzLCAweDQzLCAweDA3LCAweDAxLCAweGU1LCAweDU0LCAweDIwLCAweGU1LCAweDBlLAotMHhlNSwgMHg1MywgMHg1NCwgMHg3ZiwgMHg3MCwgMHgwOCwgMHhlNSwgMHg1MywgMHgyMCwgMHhlNywgMHgwMywgMHg0MywgMHgwNywgMHgwMiwgMHhlNSwgMHg1MywKLTB4MzAsIDB4ZTMsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MTAsIDB4ZTUsIDB4NTMsIDB4MzAsIDB4ZTIsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MjAsIDB4ZTUsIDB4NTMsCi0weDU0LCAweDAzLCAweDYwLCAweDAzLCAweDQzLCAweDA3LCAweDQwLCAweGU1LCAweDUzLCAweDMwLCAweGUxLCAweDAzLCAweDQzLCAweDA3LCAweDgwLCAweGU1LAotMHg1MywgMHgzMCwgMHhlNCwgMHgwMywgMHg0MywgMHgwNiwgMHgwMSwgMHhlNSwgMHg1MywgMHgzMCwgMHhlNiwgMHgwMywgMHg0MywgMHgwNiwgMHgwOCwgMHhlNSwKLTB4NTQsIDB4MjAsIDB4ZTQsIDB4MGUsIDB4ZTUsIDB4NTMsIDB4NTQsIDB4N2YsIDB4NzAsIDB4MDgsIDB4ZTUsIDB4NTMsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4NDMsCi0weDA2LCAweDEwLCAweDUzLCAweDA3LCAweGZiLCAweDUzLCAweDA2LCAweDc5LCAweDkwLCAweDAwLCAweDA1LCAweGVlLCAweDhmLCAweGYwLCAweDEyLCAweDFiLAotMHg5ZiwgMHhlNSwgMHg1NSwgMHgzMCwgMHhlMywgMHgxMiwgMHg1NCwgMHgzMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHgxMiwgMHgyMiwgMHhlNywgMHg5MCwKLTB4MDAsIDB4MDgsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4ODAsIDB4MGEsIDB4MTIsIDB4MjIsIDB4ZTgsIDB4OTAsIDB4MDAsIDB4MDgsIDB4ZTQsIDB4MTIsCi0weDFhLCAweGZhLCAweGU1LCAweDU1LCAweDU0LCAweDAzLCAweDEyLCAweDIyLCAweGU3LCAweDkwLCAweDAwLCAweDA3LCAweGVmLCAweDEyLCAweDFhLCAweGZhLAotMHhlNSwgMHg1NSwgMHg1NCwgMHgwNCwgMHhmZiwgMHhjMywgMHgxMywgMHg5MCwgMHgwMCwgMHgwOSwgMHgxMiwgMHgxYSwgMHhmYSwgMHg5MCwgMHgwMCwgMHgwNywKLTB4MTIsIDB4MWEsIDB4YmIsIDB4NzAsIDB4MTMsIDB4MTIsIDB4MjIsIDB4ZTgsIDB4ZTksIDB4MjQsIDB4MDksIDB4ZjksIDB4ZTQsIDB4M2EsIDB4ZmEsIDB4MTIsCi0weDFhLCAweGEyLCAweGZmLCAweGMzLCAweDEzLCAweDEyLCAweDFhLCAweGU4LCAweDEyLCAweDIzLCAweDI3LCAweDI0LCAweDA4LCAweDEyLCAweDIyLCAweGExLAotMHhlMCwgMHhmZSwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNywgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmZCwgMHhlZSwKLTB4ZWQsIDB4MTIsIDB4MjIsIDB4ZTcsIDB4OTAsIDB4MDAsIDB4MDMsIDB4ZWUsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4OWYsIDB4MTIsIDB4MzIsIDB4ODQsCi0weDdkLCAweDBhLCAweGU0LCAweGZmLCAweDEyLCAweDJmLCAweGI0LCAweDAyLCAweDEwLCAweGNlLCAweDkwLCAweGZhLCAweGU2LCAweGUwLCAweGI0LCAweDAzLAotMHgwNiwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHg0MCwgMHg4MCwgMHgwNCwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwOCwgMHg5MCwgMHhmYSwgMHhkYSwgMHhlZSwgMHhmMCwKLTB4YTMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDAsIDB4MDUsIDB4MTIsIDB4MWEsIDB4YmIsIDB4ZmYsIDB4N2UsIDB4MDAsIDB4OTAsIDB4ZmEsIDB4ZDYsIDB4ZWUsCi0weGYwLCAweGEzLCAweGVmLCAweGYwLCAweDcwLCAweDAzLCAweDdmLCAweDA4LCAweDIyLCAweDkwLCAweDAwLCAweDA4LCAweDEyLCAweDFiLCAweDQ4LCAweGZmLAotMHg5MCwgMHhmYSwgMHhkOCwgMHhlNSwgMHhmMCwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHhhZSwgMHgwMiwgMHhhZiwgMHgwMSwgMHg4ZSwgMHg1MCwgMHg4ZiwKLTB4NTEsIDB4NzQsIDB4MGEsIDB4MjUsIDB4NTEsIDB4ZjUsIDB4NTEsIDB4ZTQsIDB4MzUsIDB4NTAsIDB4ZjUsIDB4NTAsIDB4OTAsIDB4ZmEsIDB4ZGIsIDB4ZTAsCi0weGZmLCAweDE0LCAweGZlLCAweDkwLCAweGZhLCAweGQ5LCAweGUwLCAweDVlLCAweGZlLCAweGMzLCAweGVmLCAweDllLCAweGZmLCAweDkwLCAweGZhLCAweGRkLAotMHhmMCwgMHhjMywgMHg5MCwgMHhmYSwgMHhkNywgMHhlMCwgMHg5ZiwgMHg5MCwgMHhmYSwgMHhkNiwgMHhlMCwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwNiwgMHhhMywKLTB4ZTAsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZjAsIDB4MTIsIDB4MjAsIDB4YTksIDB4NjAsIDB4MDMsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MTIsIDB4MmUsIDB4MmIsCi0weDkwLCAweGZhLCAweGQ2LCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDRlLCAweDYwLCAweDJiLCAweDkwLCAweGZhLCAweGRhLCAweGUwLCAweGZjLAotMHhhMywgMHhlMCwgMHhmZCwgMHhkMywgMHhlZiwgMHg5ZCwgMHhlZSwgMHg5YywgMHg0MCwgMHgwNywgMHhlMCwgMHg5MCwgMHhmYSwgMHhkZCwgMHhmMCwgMHg4MCwKLTB4MDgsIDB4OTAsIDB4ZmEsIDB4ZDcsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZjAsIDB4MTIsIDB4MjAsIDB4YTksIDB4NjAsIDB4MDMsIDB4ZTAsIDB4ZmYsCi0weDIyLCAweDEyLCAweDJlLCAweDJiLCAweDgwLCAweGNhLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDUyLCAweGU0LCAweGY1LCAweDJkLCAweGY1LAotMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg3ZiwgMHgwMCwgMHgyMiwgMHhhYSwgMHg1MCwgMHhhOSwgMHg1MSwgMHg3YiwgMHgwMSwgMHg5MCwKLTB4ZmEsIDB4ZDgsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZTAsIDB4ZjUsIDB4NGEsIDB4MTIsIDB4MjksIDB4NjAsCi0weDkwLCAweGZhLCAweGRjLCAweGVmLCAweGYwLCAweDIyLCAweGVmLCAweDI0LCAweGFlLCAweDYwLCAweDUyLCAweDI0LCAweGZlLCAweDYwLCAweDJlLCAweDI0LAotMHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgyMSwgMHg2OSwgMHgyNCwgMHgwNiwgMHg2MCwgMHgwMywgMHgwMiwgMHgyMSwgMHhiMSwgMHg3OCwgMHg3MSwgMHhlNiwKLTB4NTQsIDB4ZmIsIDB4ZjYsIDB4OTAsIDB4ZmYsIDB4YTUsIDB4ZTAsIDB4ZjUsIDB4MjIsIDB4NDQsIDB4MGYsIDB4ZjAsIDB4NzQsIDB4MzMsIDB4OTAsIDB4ZmEsCi0weDk0LCAweGYwLCAweGU1LCAweDIyLCAweGEzLCAweGYwLCAweDkwLCAweGZhLCAweGIyLCAweDc0LCAweDAxLCAweGYwLCAweDIyLCAweDc4LCAweDcyLCAweGU2LAotMHg1NCwgMHhmYiwgMHhmNiwgMHg5MCwgMHhmZiwgMHhiNSwgMHhlMCwgMHhmNSwgMHgyMiwgMHg0NCwgMHgwZiwgMHhmMCwgMHg3NCwgMHg0MywgMHg5MCwgMHhmYSwKLTB4OTYsIDB4ZjAsIDB4ZTUsIDB4MjIsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YjMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YTAsCi0weGUwLCAweGEzLCAweDIwLCAweGU1LCAweDAzLCAweDAyLCAweDIxLCAweGIxLCAweDkwLCAweGZmLCAweGE2LCAweGUwLCAweDkwLCAweGZhLCAweGNkLCAweGYwLAotMHhhMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhjZCwgMHhlMCwgMHhmZiwgMHg1NCwgMHgwZiwgMHhmZSwgMHg2MCwgMHgxMCwgMHg5MCwgMHhmZiwgMHhhNiwgMHgxMiwKLTB4MjMsIDB4MGQsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZjAsIDB4ODAsIDB4ZTYsIDB4OTAsIDB4ZmEsIDB4Y2UsIDB4ZTAsCi0weGZmLCAweDc0LCAweDM0LCAweGZlLCAweDEyLCAweDJkLCAweDg1LCAweGVmLCAweDcwLCAweDU3LCAweDkwLCAweGZhLCAweGNlLCAweGUwLCAweGZmLCAweDc0LAotMHgzNCwgMHg5MCwgMHhmYSwgMHg5OCwgMHhmMCwgMHhlZiwgMHhhMywgMHhmMCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhhYSwgMHhlMCwgMHhhMywgMHgzMCwgMHhlNSwKLTB4NDAsIDB4OTAsIDB4ZmYsIDB4YjYsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZTAsIDB4ZmYsCi0weDU0LCAweDBmLCAweGZlLCAweDYwLCAweDEwLCAweDkwLCAweGZmLCAweGI2LCAweDEyLCAweDIzLCAweDBkLCAweDkwLCAweGZmLCAweGI2LCAweGUwLCAweDkwLAotMHhmYSwgMHhjZCwgMHhmMCwgMHg4MCwgMHhlNiwgMHg5MCwgMHhmYSwgMHhjZSwgMHhlMCwgMHhmZiwgMHg3NCwgMHg0NCwgMHhmZSwgMHgxMiwgMHgyZCwgMHg4NSwKLTB4ZWYsIDB4NzAsIDB4MGUsIDB4OTAsIDB4ZmEsIDB4Y2UsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4NDQsIDB4OTAsIDB4ZmEsIDB4OWEsIDB4ZjAsIDB4ZWYsIDB4YTMsCi0weGYwLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDAwLCAweGMwLAotMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHg5MCwKLTB4ZmYsIDB4OTIsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4ZmEsIDB4Y2MsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4OTIsIDB4ZTQsIDB4ZjAsIDB4ZWYsIDB4MTIsIDB4MWIsCi0weGZjLCAweDIyLCAweDY5LCAweDI2LCAweDIyLCAweDY5LCAweDJlLCAweDIyLCAweDBjLCAweDMwLCAweDIyLCAweDBjLCAweDMyLCAweDIyLCAweDFhLCAweDM4LAotMHgyMiwgMHgyYywgMHgzYSwgMHgyMiwgMHg1ZSwgMHgzZSwgMHgyMiwgMHg0OSwgMHg0NCwgMHgyMiwgMHgzZSwgMHg0NiwgMHgyMiwgMHg1NCwgMHg1MCwgMHgyMiwKLTB4NTQsIDB4NTIsIDB4MjIsIDB4NTQsIDB4NTQsIDB4MjIsIDB4NTQsIDB4NTYsIDB4MDAsIDB4MDAsIDB4MjIsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4Y2MsIDB4ZTAsCi0weGZkLCAweDdjLCAweDAwLCAweDdmLCAweDAxLCAweDEyLCAweDExLCAweDVlLCAweDgwLCAweDYyLCAweDdjLCAweDAwLCAweDdkLCAweDAxLCAweDdmLCAweDAzLAotMHgxMiwgMHgxMSwgMHg1ZSwgMHg5MCwgMHhmZiwgMHhmZSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1MCwgMHg3YywgMHgwMCwgMHg3ZCwgMHgwMSwKLTB4N2YsIDB4MDIsIDB4MTIsIDB4MTEsIDB4NWUsIDB4OTAsIDB4ZmYsIDB4ZmUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ODAsIDB4M2UsIDB4N2MsIDB4MDAsCi0weDdkLCAweDAxLCAweDdmLCAweDA1LCAweDEyLCAweDExLCAweDVlLCAweDgwLCAweDMzLCAweDdjLCAweDAwLCAweDdkLCAweDAxLCAweDdmLCAweDA2LCAweDEyLAotMHgxMSwgMHg1ZSwgMHg4MCwgMHgyOCwgMHg5MCwgMHhmYSwgMHhjYywgMHhlMCwgMHhmZiwgMHgxMiwgMHgyMCwgMHhjNiwgMHg4MCwgMHgxZSwgMHg3YywgMHgwMCwKLTB4N2QsIDB4MDEsIDB4N2YsIDB4MDQsIDB4MTIsIDB4MTEsIDB4NWUsIDB4ODAsIDB4MTMsIDB4MTIsIDB4MjgsIDB4NGUsIDB4ODAsIDB4MGUsIDB4OTAsIDB4ZmEsCi0weGNjLCAweGUwLCAweDI0LCAweDAwLCAweGZmLCAweGU0LCAweDM0LCAweGZmLCAweGZlLCAweDEyLCAweDJkLCAweDg1LCAweGQwLCAweDA3LCAweGQwLCAweDA2LAotMHhkMCwgMHgwNSwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwKLTB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4NzgsIDB4N2MsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4MjQsIDB4MDQsIDB4OGUsCi0weDgzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweDIyLCAweDc0LCAweDEzLCAweDI1LCAweDI0LCAweGY1LCAweDgyLCAweGU0LAotMHgzNCwgMHhmOSwgMHhmNSwgMHg4MywgMHgyMiwgMHg3OCwgMHg4MCwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHgyMiwKLTB4NzgsIDB4ODAsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4YWEsIDB4MDYsIDB4ZjgsIDB4YWMsIDB4MDIsIDB4N2QsIDB4MDEsIDB4N2IsIDB4ZmYsIDB4N2EsCi0weDMyLCAweDc5LCAweDU2LCAweDdlLCAweDAwLCAweDdmLCAweDBhLCAweDAyLCAweDFhLCAweDdjLCAweDc4LCAweDgwLCAweGU2LCAweGZjLCAweDA4LCAweGU2LAotMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhhMywgMHgyMiwgMHhmZiwgMHg5MCwgMHhmOSwgMHg2ZiwgMHgwMiwgMHgxYiwgMHhlYSwgMHg5MCwgMHhmOSwKLTB4NmEsIDB4MTIsIDB4MWIsIDB4ZWEsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MDIsIDB4MWEsIDB4YmIsIDB4NzgsIDB4N2UsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsCi0weGZmLCAweDIyLCAweGVkLCAweDEyLCAweDFhLCAweGZhLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDgyLCAweDIyLCAweGVmLCAweGYwLCAweDkwLAotMHhmYSwgMHhjZSwgMHhlMCwgMHg1NCwgMHgwZiwgMHg0ZSwgMHhmZSwgMHhmMCwgMHhlZiwgMHg1NCwgMHhmMCwgMHg0ZSwgMHhmMCwgMHgyMiwgMHg3OCwgMHg4MCwKLTB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsIDB4OGMsIDB4ODMsIDB4MjIsIDB4NzgsIDB4N2UsIDB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsIDB4ZmQsIDB4OGMsIDB4ODMsCi0weDIyLCAweGE2LCAweDA3LCAweGU2LCAweDI0LCAweDZlLCAweGY4LCAweGU2LCAweDIyLCAweDc4LCAweDdlLCAweGU2LCAweGZhLCAweDA4LCAweGU2LCAweGZiLAotMHgyMiwgMHgwOCwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHg4ZSwgMHg4MywgMHgyMiwgMHgyNiwgMHhmNiwgMHgxOCwgMHhlZSwgMHgzNiwgMHhmNiwgMHgyMiwKLTB4ZWYsIDB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTUsIDB4ODIsCi0weDIyLCAweDhiLCAweDI1LCAweDhhLCAweDI2LCAweDg5LCAweDI3LCAweDhkLCAweDI4LCAweDkwLCAweGZhLCAweGQyLCAweGU0LCAweGYwLCAweGEzLCAweDc0LAotMHgwMiwgMHhmMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhkMSwgMHg5MCwgMHhmYSwgMHhkMiwgMHhlMCwgMHhmNSwgMHgyZCwgMHhhMywgMHhlMCwKLTB4ZjUsIDB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4ZDEsIDB4ZTAsIDB4NjUsIDB4MjgsIDB4NjAsIDB4NDYsIDB4YTMsCi0weGUwLCAweGZmLCAweGEzLCAweGUwLCAweGEzLCAweGNmLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDEyLCAweDIzLCAweGYwLCAweDkwLCAweGZhLCAweGQxLAotMHhlMCwgMHhmZiwgMHg5MCwgMHhmYSwgMHhkNCwgMHhlNCwgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwgMHgxYywgMHgxMiwgMHgyMywgMHhmMCwgMHg5MCwgMHhmYSwKLTB4ZDQsIDB4ZTAsIDB4ZmYsIDB4YTMsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4Y2YsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4ZDEsCi0weGUwLCAweGEzLCAweDc1LCAweGYwLCAweDAwLCAweDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGQyLCAweGU0LCAweDc1LCAweGYwLCAweDA0LCAweDEyLAotMHgxYiwgMHgxYywgMHgwMiwgMHgyMywgMHg3MiwgMHg5MCwgMHhmYSwgMHhkMywgMHhlMCwgMHgyNCwgMHgwMSwgMHhmZiwgMHg5MCwgMHhmYSwgMHhkMiwgMHhlMCwKLTB4MzQsIDB4MDAsIDB4YWIsIDB4MjUsIDB4YWEsIDB4MjYsIDB4YTksIDB4MjcsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4ODAsIDB4N2YsIDB4MDAsIDB4MjIsCi0weDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGQxLCAweDkwLCAweGZhLCAweGQyLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweDFiLCAweDFjLAotMHg4NSwgMHhmMCwgMHgyZSwgMHhmNSwgMHgyZCwgMHg3ZCwgMHgwMSwgMHgwMiwgMHgyNiwgMHg5OCwgMHg4ZiwgMHg2MiwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwKLTB4MjIsIDB4ZmEsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MGIsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4NDQsIDB4MDIsIDB4ZjAsCi0weDA4LCAweDEyLCAweDIyLCAweGRjLCAweGUwLCAweGEzLCAweDMwLCAweGU1LCAweDBjLCAweDEyLCAweDIzLCAweDA2LCAweDI0LCAweDBiLCAweDEyLCAweDIyLAotMHhhMSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3OCwgMHg3YywgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmZiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywKLTB4ZTAsIDB4NTQsIDB4YjgsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4NjIsIDB4MjQsIDB4ZmUsIDB4NDQsIDB4MjAsIDB4ZmMsIDB4NGQsIDB4ZjAsIDB4ZTUsIDB4ODIsCi0weDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDU0LCAweGI4LCAweGYwLCAweDRjLCAweGYwLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLAotMHg3NCwgMHgwMywgMHhmMCwgMHgxOCwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmZiwgMHg4ZSwgMHg4MywgMHgyNCwgMHgwNSwgMHgxMiwgMHgyMiwgMHhhMSwKLTB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZTAsIDB4ZmQsIDB4NzQsIDB4OTksIDB4MjUsIDB4NjIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmEsIDB4ZjUsCi0weDgzLCAweGUwLCAweDU0LCAweGZjLCAweDQ0LCAweDAzLCAweGZjLCAweGVkLCAweDRjLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGYwLCAweDhmLCAweDgyLAotMHg4ZSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg0NCwgMHg4MCwKLTB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4NzQsIDB4NmUsIDB4MjUsIDB4NjIsIDB4ZjgsIDB4NzQsIDB4MDQsIDB4NDYsIDB4ZjYsIDB4N2YsIDB4MDAsIDB4MjIsCi0weDEyLCAweDEwLCAweDRiLCAweDdmLCAweDAyLCAweDEyLCAweDEyLCAweDYxLCAweDc4LCAweDY3LCAweGU2LCAweDQ0LCAweDAyLCAweGY2LCAweGQyLCAweGIwLAotMHhkMiwgMHhiMSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwNywgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlNCwgMHhmMCwgMHg4MCwgMHgzNiwKLTB4ZDIsIDB4YjMsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4N2UsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4OTAsIDB4ZmEsCi0weDdmLCAweGYwLCAweDkwLCAweGZmLCAweGEyLCAweGUwLCAweDkwLCAweGZhLCAweDdjLCAweGYwLCAweDkwLCAweGZmLCAweGIyLCAweGUwLCAweDkwLCAweGZhLAotMHg3ZCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhhNCwgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhiNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhhMiwgMHg3NCwKLTB4NDAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjIsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4ZTcsIDB4ZTUsIDB4YTgsIDB4ZjAsIDB4NzUsIDB4YTgsIDB4ODEsIDB4OTAsCi0weGZmLCAweDkyLCAweGUwLCAweDYwLCAweDA0LCAweGU0LCAweGYwLCAweDgwLCAweGY2LCAweDkwLCAweGZmLCAweGZkLCAweDc0LCAweDNhLCAweGYwLCAweDQzLAotMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg5MCwgMHhmYSwgMHg3ZSwgMHhlMCwgMHg5MCwgMHhmZiwgMHhhNCwgMHhmMCwgMHg5MCwgMHhmYSwgMHg3ZiwKLTB4ZTAsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4N2MsIDB4ZTAsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4N2QsCi0weGUwLCAweDkwLCAweGZmLCAweGIyLCAweGYwLCAweDkwLCAweGY5LCAweDE4LCAweGUwLCAweDYwLCAweDAyLCAweGMyLCAweGIzLCAweDkwLCAweGZhLCAweGU3LAotMHhlMCwgMHhmNSwgMHhhOCwgMHgwMiwgMHgxMCwgMHhjZSwgMHg4YiwgMHg1YywgMHg4YSwgMHg1ZCwgMHg4OSwgMHg1ZSwgMHgxMiwgMHgyZSwgMHgwZCwgMHg5MCwKLTB4ZmEsIDB4YzMsIDB4MTIsIDB4MWIsIDB4ZjMsIDB4YWEsIDB4NWQsIDB4YTksIDB4NWUsIDB4OTAsIDB4ZmEsIDB4YzYsIDB4MTIsIDB4MWIsIDB4ZjMsIDB4OTAsCi0weGZhLCAweGM3LCAweGU0LCAweDc1LCAweGYwLCAweDBhLCAweDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGM2LCAweDEyLCAweDFiLCAweGVhLCAweGU5LAotMHgyNCwgMHgwMSwgMHhmOSwgMHhlNCwgMHgzYSwgMHhmYSwgMHg5MCwgMHhmYSwgMHhjOSwgMHgxMiwgMHgxYiwgMHhmMywgMHhhYiwgMHg1YywgMHhhYSwgMHg1ZCwKLTB4YTksIDB4NWUsIDB4MTIsIDB4MmUsIDB4MTksIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4MTMsIDB4ZjAsIDB4ZTQsIDB4NzgsIDB4ODIsIDB4ZjYsIDB4OTAsIDB4ZmEsCi0weGMxLCAweGUwLCAweGZmLCAweDc4LCAweDgyLCAweGU2LCAweGMzLCAweDlmLCAweDUwLCAweDRhLCAweDkwLCAweGZhLCAweGMzLCAweDEyLCAweDJkLCAweGVlLAotMHhmZiwgMHg3OCwgMHg4MywgMHhmNiwgMHg5MCwgMHhmYSwgMHhjNiwgMHgxMiwgMHgyZCwgMHhlZSwgMHhmZSwgMHhmNCwgMHg1ZiwgMHhmZiwgMHg3OCwgMHg4MywKLTB4ZjYsIDB4MTIsIDB4MmQsIDB4ZWIsIDB4NWUsIDB4NGYsIDB4ZmYsIDB4NzgsIDB4ODMsIDB4ZjYsIDB4MTIsIDB4MmQsIDB4ZjQsIDB4NzUsIDB4ZjAsIDB4MDIsCi0weDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGM3LCAweGU0LCAweDc1LCAweGYwLCAweDAyLCAweDEyLCAweDFiLCAweDFjLCAweGFiLCAweDVjLCAweGFhLAotMHg1ZCwgMHhhOSwgMHg1ZSwgMHg5MCwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxYSwgMHhiYiwgMHgzMCwgMHhlNCwgMHgwMywgMHgxMiwgMHgyZSwgMHgwMywgMHg3OCwKLTB4ODIsIDB4MDYsIDB4ODAsIDB4YWEsIDB4ZTQsIDB4OTAsIDB4ZmEsIDB4YzIsIDB4ZjAsIDB4MjIsIDB4OGIsIDB4NTYsIDB4OGEsIDB4NTcsIDB4ODksIDB4NTgsCi0weDkwLCAweGZhLCAweGMyLCAweDc0LCAweDA2LCAweGYwLCAweGU0LCAweDkwLCAweGZhLCAweGMxLCAweGYwLCAweDEyLCAweDFhLCAweGEyLCAweDI0LCAweDZlLAotMHg2MCwgMHgyNiwgMHgxNCwgMHg3MCwgMHg3MCwgMHgxMiwgMHgyZCwgMHhkYSwgMHg2MCwgMHgwOSwgMHgyNCwgMHgzMCwgMHg3MCwgMHgxMiwgMHgxMiwgMHgyNSwKLTB4NTYsIDB4ODAsIDB4NjIsIDB4MTIsIDB4MmUsIDB4MjQsIDB4MTIsIDB4MWYsIDB4ZGEsIDB4OTAsIDB4ZmEsIDB4YzIsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4NTUsCi0weDkwLCAweGZhLCAweGMyLCAweDc0LCAweDgxLCAweGYwLCAweDgwLCAweDRkLCAweDEyLCAweDJkLCAweGRhLCAweDYwLCAweDA5LCAweDI0LCAweDMwLCAweDcwLAotMHgzZSwgMHgxMiwgMHgyZCwgMHgzMCwgMHg4MCwgMHgzZiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwMywgMHhmOSwgMHhlNCwgMHgzNSwgMHg1NywgMHhmYSwgMHg3YiwKLTB4MDEsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDEsIDB4MTIsIDB4MmUsIDB4MjQsIDB4OTAsIDB4MDAsIDB4MDUsIDB4MTIsIDB4MWEsIDB4YmIsCi0weGZkLCAweDkwLCAweDAwLCAweDA4LCAweDEyLCAweDFiLCAweDQ4LCAweGY1LCAweDJlLCAweDg1LCAweGYwLCAweDJkLCAweGQwLCAweDAxLCAweGQwLCAweDAyLAotMHhkMCwgMHgwMywgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhjMSwgMHhlZiwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwKLTB4ZmEsIDB4YzIsIDB4NzQsIDB4ODEsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YzIsIDB4ZTAsIDB4MTIsIDB4MmUsIDB4MjQsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsCi0weDFhLCAweGZhLCAweDkwLCAweGZhLCAweGMxLCAweGUwLCAweGZmLCAweDIyLCAweDhiLCAweDI5LCAweDhhLCAweDJhLCAweDg5LCAweDJiLCAweDhkLCAweDJjLAotMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHhhZiwgMHgyYywgMHgyMiwgMHgxMiwgMHgyZSwgMHg1MywgMHg3MCwgMHgxNiwgMHgxMiwgMHgyZSwgMHg3MiwgMHhlNSwKLTB4MmQsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZjAsIDB4MTIsIDB4MzEsIDB4ZDgsIDB4NTAsIDB4ZjIsIDB4MTIsIDB4MjcsIDB4MjUsIDB4NDAsIDB4MGIsIDB4N2YsCi0weDAwLCAweDIyLCAweDEyLCAweDJlLCAweDcyLCAweDEyLCAweDI3LCAweDI1LCAweDUwLCAweGY4LCAweDkwLCAweGZmLCAweGYzLCAweDc0LCAweGExLCAweGYwLAotMHhlNSwgMHgyYywgMHhiNCwgMHgwMSwgMHgwNywgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHhmZiwgMHhmMSwgMHhlNCwKLTB4ZjAsIDB4ZjUsIDB4MmYsIDB4ZTUsIDB4MmMsIDB4MTQsIDB4ZmYsIDB4ZTUsIDB4MmYsIDB4YzMsIDB4OWYsIDB4NTAsIDB4MmEsIDB4MTIsIDB4MzEsIDB4YzEsCi0weDQwLCAweDAzLCAweGFmLCAweDJmLCAweDIyLCAweGMzLCAweGU1LCAweDJjLCAweDk1LCAweDJmLCAweGZmLCAweGJmLCAweDAyLCAweDA3LCAweDkwLCAweGZmLAotMHhmMCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgxMiwgMHgyZSwgMHg2NSwgMHgwNSwgMHgyZiwgMHg3NCwgMHgwMSwgMHgyNSwgMHgyYiwgMHhmNSwgMHgyYiwKLTB4ZTQsIDB4MzUsIDB4MmEsIDB4ZjUsIDB4MmEsIDB4ODAsIDB4Y2MsIDB4MTIsIDB4MzEsIDB4YzEsIDB4NDAsIDB4MDMsIDB4N2YsIDB4MTgsIDB4MjIsIDB4MTIsCi0weDJlLCAweDY1LCAweGFmLCAweDJjLCAweDIyLCAweDkwLCAweGZmLCAweGYxLCAweGU1LCAweDJlLCAweGYwLCAweDAyLCAweDMxLCAweGQ4LCAweDEyLCAweDEwLAotMHg0YiwgMHg3OCwgMHg4NCwgMHgxMiwgMHgyMywgMHgzMSwgMHgzMCwgMHhlMSwgMHgwOCwgMHg3ZiwgMHgxMywgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgyNywKLTB4YmMsIDB4NzgsIDB4ODQsIDB4ZTYsIDB4ZjksIDB4MjQsIDB4MTMsIDB4MTIsIDB4MjIsIDB4YWQsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4NDAsIDB4NTQsCi0weDAzLCAweDYwLCAweDFlLCAweGU5LCAweGI0LCAweDAzLCAweDBkLCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGUwLCAweDQ0LAotMHgwNCwgMHhmMCwgMHg4MCwgMHg0NiwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHg4MCwKLTB4MzksIDB4ZTksIDB4YjQsIDB4MDMsIDB4MGQsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0weDgwLCAweDI4LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDFiLCAweGVmLAotMHg1NCwgMHgwMywgMHg2MCwgMHgxNCwgMHhlOSwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHg4MCwKLTB4MDcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4YzIsIDB4YjMsIDB4OTAsIDB4ZjksIDB4MTgsIDB4ZTAsIDB4MDQsIDB4ZjAsCi0weGFmLCAweDAxLCAweDEyLCAweDIyLCAweGVlLCAweGZkLCAweDEyLCAweDJmLCAweGU1LCAweDEyLCAweDMxLCAweGE5LCAweDAyLCAweDEwLCAweGNlLCAweDc1LAotMHhhOCwgMHg0MCwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg4YiwgMHgwMiwgMHgyOCwgMHgwOSwgMHgwMiwgMHgzMSwKLTB4OGMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsCi0weGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LAotMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwKLTB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MmIsIDB4YTksIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsCi0weDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLAotMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwKLTB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsCi0weGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGU0LCAweGY1LAotMHgyMiwgMHgxMiwgMHgxZCwgMHhjMiwgMHhlMCwgMHhiNCwgMHgwNCwgMHgwZCwgMHhlNSwgMHgyMiwgMHgyNCwgMHgwMywgMHhmZiwgMHgxMiwgMHgzMCwgMHgxMywKLTB4MTIsIDB4MWQsIDB4YzIsIDB4ZTQsIDB4ZjAsIDB4MDUsIDB4MjIsIDB4ZTUsIDB4MjIsIDB4YzMsIDB4OTQsIDB4MDIsIDB4NDAsIDB4ZTMsIDB4ZTQsIDB4ZjUsCi0weDIyLCAweDc1LCAweGYwLCAweDAyLCAweGU1LCAweDIyLCAweDkwLCAweGZhLCAweDk0LCAweDEyLCAweDFlLCAweDAzLCAweDYwLCAweDJjLCAweDEyLCAweDJkLAotMHg4NSwgMHhlZiwgMHg2MCwgMHg1MiwgMHg3NSwgMHhmMCwgMHgwMiwgMHhlNSwgMHgyMiwgMHg5MCwgMHhmYSwgMHg5NCwgMHgxMiwgMHgxYiwgMHhjYywgMHhlNCwKLTB4ZjAsIDB4YTMsIDB4ZjAsIDB4NzUsIDB4ZjAsIDB4MGEsIDB4ZTUsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YTAsIDB4MTIsIDB4MWIsIDB4Y2MsIDB4ZTAsIDB4YTMsCi0weDMwLCAweGU2LCAweDMzLCAweDEyLCAweDFkLCAweGMyLCAweDc0LCAweDA0LCAweGYwLCAweDIyLCAweDc1LCAweGYwLCAweDAyLCAweGU1LCAweDIyLCAweDkwLAotMHhmYSwgMHg5OCwgMHgxMiwgMHgxZSwgMHgwMywgMHg2MCwgMHgxNiwgMHgxMiwgMHgyZCwgMHg4NSwgMHhlZiwgMHg2MCwgMHgxOSwgMHg3NSwgMHhmMCwgMHgwMiwKLTB4ZTUsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4OTgsIDB4MTIsIDB4MWIsIDB4Y2MsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4MjIsIDB4MDUsIDB4MjIsIDB4ZTUsCi0weDIyLCAweGMzLCAweDk0LCAweDAyLCAweDQwLCAweDliLCAweDIyLCAweGU0LCAweGZmLCAweDkwLCAweGZmLCAweDgzLCAweGUwLCAweDU0LCAweDBmLCAweGZlLAotMHhlZiwgMHhjMywgMHg5ZSwgMHg1MCwgMHgxNywgMHg3NCwgMHhmMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZSwgMHhmNSwgMHg4MywgMHhlMCwKLTB4MTIsIDB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MGYsIDB4MTIsIDB4MWMsIDB4YjAsIDB4ODAsIDB4ZGQsIDB4ZWYsIDB4ZmQsIDB4YzMsIDB4ZTUsCi0weDNhLCAweDlkLCAweGY1LCAweDNhLCAweGU1LCAweDM5LCAweDk0LCAweDAwLCAweGY1LCAweDM5LCAweGQzLCAweGU1LCAweDNhLCAweDk0LCAweDAwLCAweGU1LAotMHgzOSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNiwgMHhlNCwgMHg5MCwgMHhmZiwgMHg4MywgMHhmMCwgMHgyMiwgMHgxMiwgMHgxZCwgMHhkZiwgMHgxMiwgMHgxZSwKLTB4MzQsIDB4MTIsIDB4MWUsIDB4MjYsIDB4MTIsIDB4MWEsIDB4YTIsIDB4MjQsIDB4NmUsIDB4NjAsIDB4MWUsIDB4MTQsIDB4NjAsIDB4MWIsIDB4MjQsIDB4OGUsCi0weDcwLCAweDJkLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDFhLCAweGJiLCAweGZmLCAweDI0LCAweGZjLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDFmLAotMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwZCwgMHgwMiwgMHgxMSwgMHg1ZSwgMHgxMiwgMHgxZSwgMHgzYiwgMHgxMiwgMHgyNSwgMHhmYSwgMHgxMiwKLTB4MWQsIDB4ODksIDB4MTIsIDB4MWEsIDB4YmIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MzIsIDB4N2EsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MzIsIDB4NmUsIDB4MjIsCi0weDhiLCAweDQ1LCAweDhhLCAweDQ2LCAweDg5LCAweDQ3LCAweDhjLCAweDQ4LCAweDhkLCAweDQ5LCAweGQyLCAweDAwLCAweDEyLCAweDJlLCAweDUzLCAweDcwLAotMHgxNiwgMHgxMiwgMHgyZSwgMHg3MiwgMHhlNSwgMHg0OCwgMHg5MCwgMHhmZiwgMHhmMSwgMHhmMCwgMHgxMiwgMHgzMSwgMHhkOCwgMHg1MCwgMHhmMiwgMHgxMiwKLTB4MjksIDB4ZDUsIDB4NDAsIDB4MGIsIDB4N2YsIDB4MTgsIDB4MjIsIDB4MTIsIDB4MmUsIDB4NzIsIDB4MTIsIDB4MjksIDB4ZDUsIDB4NTAsIDB4ZjgsIDB4ZTQsCi0weGY1LCAweDRiLCAweGU1LCAweDRhLCAweDE0LCAweGZmLCAweGU1LCAweDRiLCAweGMzLCAweDlmLCAweDUwLCAweDE3LCAweDEyLCAweDI5LCAweGM1LCAweDQwLAotMHgwMywgMHg3ZiwgMHgxOCwgMHgyMiwgMHgwNSwgMHg0YiwgMHg3NCwgMHgwMSwgMHgyNSwgMHg0NywgMHhmNSwgMHg0NywgMHhlNCwgMHgzNSwgMHg0NiwgMHhmNSwKLTB4NDYsIDB4ODAsIDB4ZGYsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MTIsIDB4MjksIDB4YzUsIDB4NDAsIDB4MDMsIDB4N2YsCi0weDE4LCAweDIyLCAweDdmLCAweDAwLCAweDIyLCAweGFiLCAweDQ1LCAweGFhLCAweDQ2LCAweGE5LCAweDQ3LCAweDEyLCAweDFhLCAweGEyLCAweDkwLCAweGZmLAotMHhmMSwgMHhmMCwgMHgwMiwgMHgzMSwgMHhkOCwgMHg5MCwgMHhmZiwgMHhmMSwgMHhlNSwgMHg0OSwgMHhmMCwgMHgwMiwgMHgzMSwgMHhkOCwgMHg3YiwgMHgwMSwKLTB4N2EsIDB4ZmEsIDB4NzksIDB4Y2YsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MjMsIDB4NjEsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDksCi0weDEyLCAweDFiLCAweDFjLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDIzLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDAxLAotMHgxMiwgMHgxYiwgMHgzMiwgMHg4NSwgMHhmMCwgMHgyZSwgMHhmNSwgMHgyZCwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmZiwgMHhmNywKLTB4ZTUsIDB4MjMsIDB4MTIsIDB4MmEsIDB4MzksIDB4OTAsIDB4ZmYsIDB4ZjYsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4ZjAsCi0weGEzLCAweDc0LCAweDA2LCAweDEyLCAweDJhLCAweDM5LCAweGU1LCAweDIzLCAweDMwLCAweGUwLCAweDA3LCAweDkwLCAweGZmLCAweGZjLCAweDc0LCAweDk0LAotMHhmMCwgMHgyMiwgMHg5MCwgMHhmZiwgMHhmYywgMHg3NCwgMHg5MCwgMHhmMCwgMHgyMiwgMHhmMCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgyMywKLTB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4MWIsIDB4MzIsIDB4ODUsIDB4ZjAsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4N2QsCi0weDAxLCAweDAyLCAweDI2LCAweDk4LCAweDkwLCAweGZmLCAweDkzLCAweDc0LCAweDgxLCAweGYwLCAweDkwLCAweGZmLCAweGZmLCAweGUwLCAweDYwLCAweDA2LAotMHg5MCwgMHhmZiwgMHhmYywgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg5MSwgMHhlMCwgMHg0NCwgMHg5MCwgMHhmMCwgMHhlNCwgMHg5MCwgMHhmOSwKLTB4MTYsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4MTIsIDB4MmIsIDB4MzksIDB4MTIsIDB4MTYsIDB4YzksIDB4MTIsIDB4MzAsIDB4NjksIDB4N2UsIDB4MDcsIDB4N2YsCi0weGQwLCAweDEyLCAweDEyLCAweDJhLCAweDdlLCAweDBmLCAweDdmLCAweGEwLCAweDEyLCAweDEyLCAweDQ0LCAweGU0LCAweDc4LCAweDc3LCAweGY2LCAweDc4LAotMHg3NywgMHhlNiwgMHhmZiwgMHhjMywgMHg5NCwgMHgwNiwgMHg1MCwgMHgwYiwgMHg3NCwgMHg2ZSwgMHgyZiwgMHhmOCwgMHhlNCwgMHhmNiwgMHg3OCwgMHg3NywKLTB4MDYsIDB4ODAsIDB4ZWMsIDB4N2YsIDB4MDMsIDB4MTIsIDB4MzAsIDB4YjIsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MjAsIDB4ZTQsIDB4MDUsIDB4N2YsCi0weDA0LCAweDEyLCAweDMwLCAweGIyLCAweDkwLCAweGZmLCAweDliLCAweGU0LCAweGYwLCAweDkwLCAweGZmLCAweDlhLCAweGYwLCAweDkwLCAweGZmLCAweGU4LAotMHhlMCwgMHg1NCwgMHgxZiwgMHhmMCwgMHhkMiwgMHhhOCwgMHgyMiwgMHgxNSwgMHg2NSwgMHhhOCwgMHg2NSwgMHhhNiwgMHgwNywgMHgzMCwgMHgwOCwgMHgwNSwKLTB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4ZjgsIDB4ZDIsIDB4MDgsIDB4YTgsIDB4NjUsIDB4ZTYsIDB4ZmYsIDB4YjQsIDB4MDMsIDB4MGYsIDB4NzgsIDB4N2MsCi0weDc2LCAweGZmLCAweDA4LCAweDc2LCAweGUwLCAweDA4LCAweDc2LCAweGZmLCAweDA4LCAweDc2LCAweGEwLCAweDgwLCAweDBkLCAweDc4LCAweDdjLCAweDc2LAotMHhmZiwgMHgwOCwgMHg3NiwgMHhlMiwgMHgwOCwgMHg3NiwgMHhmZiwgMHgwOCwgMHg3NiwgMHhiMCwgMHg3OCwgMHg4MCwgMHg3NiwgMHhmYSwgMHgwOCwgMHg3NiwKLTB4OWUsIDB4ZWYsIDB4MjQsIDB4ZmQsIDB4NzUsIDB4ZjAsIDB4MGEsIDB4YTQsIDB4YWUsIDB4ZjAsIDB4MTIsIDB4MjMsIDB4NDksIDB4N2IsIDB4MDEsIDB4N2EsCi0weGZmLCAweDc5LCAweDQ4LCAweDc4LCAweDY4LCAweDEyLCAweDFiLCAweGUxLCAweGE4LCAweDY1LCAweGU2LCAweDI0LCAweGZkLCAweDc1LCAweGYwLCAweDA4LAotMHhhNCwgMHhmZiwgMHhhZSwgMHhmMCwgMHg3OCwgMHg2YSwgMHgxMiwgMHgyMywgMHg0OSwgMHg3OSwgMHgwOCwgMHg3OCwgMHg2YiwgMHgxMiwgMHgxYiwgMHhlMSwKLTB4NzgsIDB4NmQsIDB4ZWYsIDB4MTIsIDB4MjMsIDB4NDksIDB4MDUsIDB4NjUsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4YWIsIDB4ZjAsCi0weGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweGZhLCAweGU2LCAweDc0LCAweDAyLCAweGYwLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGNmLAotMHhlNCwgMHhmNSwgMHgyZCwgMHhmNSwgMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg3ZSwgMHgwMCwgMHg5MCwgMHhmYSwgMHhlNCwgMHhlZSwKLTB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4NjQsIDB4MDEsIDB4NzAsIDB4MTAsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTAsIDB4YjQsIDB4NTIsIDB4MDksIDB4OTAsCi0weGY5LCAweDE2LCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDgwLCAweDI5LCAweDkwLCAweGZhLCAweGU0LCAweGUwLCAweDcwLCAweDA0LCAweGEzLCAweGUwLAotMHg2NCwgMHgwMSwgMHg3MCwgMHgxMCwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlMCwgMHhiNCwgMHgxMCwgMHgwOSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHg0NCwKLTB4MTAsIDB4ZjAsIDB4ODAsIDB4MGQsIDB4OTAsIDB4ZmEsIDB4ZTYsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4NTQsIDB4ZWYsCi0weGYwLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDIyLCAweDAzLCAweDY4LCAweDAxLCAweGZmLCAweDQ4LCAweDAzLCAweDZiLAotMHgwMSwgMHhmZiwgMHgwOCwgMHgwMiwgMHg2NiwgMHgwMCwgMHgwMCwgMHg0NCwgMHhmYSwgMHg5OCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0NCwgMHhmYSwKLTB4OTQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDIsIDB4ZmEsIDB4YjIsIDB4MDAsIDB4MDAsIDB4NDIsIDB4ZmEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4NDIsCi0weGZhLCAweDdjLCAweDAwLCAweDAwLCAweDQyLCAweGY5LCAweDZkLCAweGZmLCAweGZmLCAweDQyLCAweGZhLCAweDdhLCAweDAwLCAweDAwLCAweDQxLCAweGY5LAotMHg2NiwgMHhmZiwgMHg0MSwgMHhmOSwgMHgxYywgMHgxOSwgMHg0MSwgMHhmOSwgMHgxNSwgMHgwMCwgMHg0MywgMHhmOSwgMHgxOSwgMHgwYSwgMHgzMiwgMHgwMiwKLTB4NDEsIDB4ZjksIDB4NjgsIDB4MjAsIDB4NDEsIDB4ZjksIDB4NjksIDB4MjAsIDB4NDEsIDB4ZjksIDB4NjUsIDB4MDAsIDB4NDEsIDB4ZjksIDB4NjcsIDB4MDAsCi0weDQ0LCAweGY4LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDQyLCAweGY5LCAweDE2LCAweDAwLCAweDAwLCAweDQxLCAweGY5LCAweDE4LCAweDAwLAotMHgwMSwgMHgyMCwgMHgwMCwgMHg0MSwgMHhmOCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4YSwgMHhlZiwgMHhmNiwgMHgxMiwKLTB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4ZWUsIDB4MzAsIDB4ZTAsIDB4MjksIDB4NzgsIDB4N2MsIDB4MTIsIDB4MjIsIDB4YjcsIDB4ZTAsIDB4NTQsIDB4N2YsCi0weGYwLCAweDc4LCAweDZiLCAweDEyLCAweDFiLCAweGQ4LCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweDFhLCAweGJiLCAweDMwLCAweGU3LCAweDA5LCAweDkwLAotMHgwMCwgMHgwMiwgMHhlNCwgMHgxMiwgMHgxYSwgMHhmYSwgMHg4MCwgMHhlOSwgMHg3OCwgMHg3YywgMHgxMiwgMHgyMiwgMHhiNywgMHhlMCwgMHg0NCwgMHg4MCwKLTB4ZjAsIDB4MTIsIDB4MjIsIDB4ZWUsIDB4MzAsIDB4ZTEsIDB4MWUsIDB4MTIsIDB4MjIsIDB4OTcsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4MTIsIDB4MzIsCi0weDE5LCAweDc4LCAweDY4LCAweDEyLCAweDFiLCAweGQ4LCAweDkwLCAweDAwLCAweDAyLCAweDc0LCAweDgwLCAweDEyLCAweDFhLCAweGZhLCAweDEyLCAweDIyLAotMHg5NywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwgMHhjZSwKLTB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4ODUsIDB4ZWYsIDB4ZjYsIDB4MTIsIDB4MzEsIDB4NTAsIDB4MTIsIDB4MzEsIDB4YTksIDB4NzgsIDB4ODUsIDB4ZTYsCi0weGZmLCAweDI0LCAweDEzLCAweDEyLCAweDIyLCAweGFkLCAweGUwLCAweGZlLCAweDMwLCAweGU3LCAweDE2LCAweGVmLCAweGI0LCAweDAzLCAweDA5LCAweDkwLAotMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmYSwgMHhmMCwgMHg4MCwgMHgyMiwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmNSwgMHhmMCwgMHg4MCwKLTB4MTksIDB4ZWUsIDB4NTQsIDB4MDMsIDB4NjAsIDB4MTQsIDB4ZWYsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NDQsIDB4MjAsCi0weGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweGY5LCAweDE4LCAweGUwLCAweDE0LCAweGYwLAotMHhlMCwgMHg3MCwgMHgwMiwgMHhkMiwgMHhiMywgMHgwMiwgMHgxMCwgMHhjZSwgMHgxMiwgMHgxZSwgMHgxYywgMHhlNSwgMHgzYSwgMHg2NCwgMHgwOSwgMHg3MCwKLTB4MDQsIDB4ZTUsIDB4MzksIDB4NjQsIDB4MDEsIDB4NjAsIDB4NDgsIDB4YzMsIDB4ZTUsIDB4M2EsIDB4OTQsIDB4MDgsIDB4ZTUsIDB4MzksIDB4OTQsIDB4MDAsCi0weDQwLCAweDExLCAweDdmLCAweDA4LCAweGVmLCAweGU1LCAweDNhLCAweDk0LCAweDA4LCAweGY1LCAweDNhLCAweGU1LCAweDM5LCAweDk0LCAweDAwLCAweGY1LAotMHgzOSwgMHg4MCwgMHgwNSwgMHhhZiwgMHgzYSwgMHgxMiwgMHgxZSwgMHgzNCwgMHhlNCwgMHhmZSwgMHhlZSwgMHhjMywgMHg5ZiwgMHg1MCwgMHgxOSwgMHgxMiwKLTB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4YTIsIDB4ZmQsIDB4NzQsIDB4ZjgsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmUsIDB4ZjUsIDB4ODMsCi0weGVkLCAweGYwLCAweDBlLCAweDEyLCAweDFjLCAweGIwLCAweDgwLCAweGUyLCAweGVmLCAweDU0LCAweDdmLCAweDkwLCAweGZmLCAweDgxLCAweGYwLCAweDIyLAotMHg4YiwgMHg1OSwgMHg4YSwgMHg1YSwgMHg4OSwgMHg1YiwgMHgxMiwgMHgyZSwgMHgxOSwgMHg3MCwgMHgwNSwgMHhhMywgMHg3NCwgMHgwOCwgMHhmMCwgMHgyMiwKLTB4YWIsIDB4NTksIDB4YWEsIDB4NWEsIDB4YTksIDB4NWIsIDB4MTIsIDB4MmUsIDB4MGQsIDB4OTAsIDB4ZmEsIDB4YzksIDB4MTIsIDB4MWIsIDB4ZjMsIDB4ZTUsCi0weDViLCAweDI0LCAweDAzLCAweGY5LCAweGU0LCAweDM1LCAweDVhLCAweGZhLCAweDkwLCAweGZhLCAweGMzLCAweDEyLCAweDFiLCAweGYzLCAweGU0LCAweDkwLAotMHhmYSwgMHhjMiwgMHhmMCwgMHg3OCwgMHg4YiwgMHhmNiwgMHg5MCwgMHhmYSwgMHhjMSwgMHhlMCwgMHhmZiwgMHg3OCwgMHg4YiwgMHhlNiwgMHhjMywgMHg5ZiwKLTB4NTAsIDB4MTIsIDB4MTIsIDB4MmQsIDB4ZWIsIDB4ZmYsIDB4MTIsIDB4MmQsIDB4ZjQsIDB4MTIsIDB4MmUsIDB4MDcsIDB4NzgsIDB4OGIsIDB4MDYsIDB4MTIsCi0weDJlLCAweDAzLCAweDgwLCAweGUyLCAweDIyLCAweGFkLCAweDA3LCAweGFjLCAweDA2LCAweDkwLCAweDMyLCAweDBhLCAweGU0LCAweDkzLCAweGZmLCAweDc4LAotMHg3NCwgMHhmNiwgMHg1NCwgMHgwZiwgMHgxMiwgMHgxZCwgMHhhOCwgMHhlMCwgMHgwOCwgMHg3NiwgMHgwMCwgMHgwOCwgMHhmNiwgMHgxOCwgMHgxMiwgMHgxYywKLTB4ZDksIDB4YzMsIDB4MzMsIDB4Y2UsIDB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4NzgsIDB4NzUsIDB4ZWUsIDB4ZjYsIDB4MDgsIDB4ZWYsIDB4ZjYsCi0weGVlLCAweDQ0LCAweGY4LCAweDE4LCAweGY2LCAweGVmLCAweDA4LCAweGY2LCAweDkwLCAweGZmLCAweDdhLCAweGUwLCAweDIwLCAweGU3LCAweDAzLCAweDdmLAotMHgwMCwgMHgyMiwgMHg3OCwgMHg3NSwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlYywgMHhmMCwgMHhhMywgMHhlZCwKLTB4ZjAsIDB4OTAsIDB4ZmYsIDB4N2EsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4MjIsIDB4YWIsIDB4NTYsIDB4YWEsIDB4NTcsIDB4YTksIDB4NTgsCi0weDkwLCAweDAwLCAweDAzLCAweDEyLCAweDFhLCAweGJiLCAweDU0LCAweGYwLCAweDI0LCAweGEwLCAweDIyLCAweDkwLCAweGZhLCAweGM5LCAweDEyLCAweDFiLAotMHhlYSwgMHgwMiwgMHgxYSwgMHhhMiwgMHg5MCwgMHhmYSwgMHhjMywgMHgxMiwgMHgxYiwgMHhlYSwgMHhlZiwgMHgxMiwgMHgxYSwgMHhlOCwgMHg5MCwgMHhmYSwKLTB4Y2EsIDB4ZTQsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YzQsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MDIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4MDAsIDB4MDgsCi0weDEyLCAweDFiLCAweDQ4LCAweGFhLCAweGYwLCAweGY5LCAweDdiLCAweDAxLCAweDIyLCAweDkwLCAweDAwLCAweDA1LCAweDEyLCAweDFhLCAweGJiLCAweDkwLAotMHhmYSwgMHhjMSwgMHhmMCwgMHgyMiwgMHhhYiwgMHg1NiwgMHhhYSwgMHg1NywgMHhhOSwgMHg1OCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhkZCwgMHhlMCwgMHhmZiwKLTB4N2UsIDB4MDAsIDB4YzMsIDB4OTAsIDB4ZmEsIDB4ZDcsIDB4ZTAsIDB4OWYsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4ZDYsIDB4ZTAsIDB4OWUsIDB4ZjAsIDB4OTAsCi0weGZhLCAweGQ4LCAweGVlLCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDFjLCAweGVmLCAweDI1LCAweDUxLCAweGY1LCAweDUxLCAweGVlLCAweDM1LCAweDUwLAotMHhmNSwgMHg1MCwgMHgyMiwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHhmYSwKLTB4ZTYsIDB4ZTAsIDB4NjQsIDB4MDMsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjIsIDB4ZTAsIDB4YWIsIDB4MjksIDB4YWEsIDB4MmEsIDB4YTksIDB4MmIsIDB4MDIsCi0weDFhLCAweGU4LCAweDkwLCAweGZmLCAweGYzLCAweDc0LCAweGEwLCAweGYwLCAweDIyLCAweDhmLCAweDY0LCAweGVkLCAweDcwLCAweDBmLCAweGU1LCAweDY0LAotMHhiNCwgMHgwMywgMHgwNSwgMHg3ZiwgMHgwMSwgMHgwMiwgMHgzMSwgMHhlZiwgMHg3ZiwgMHgwMiwgMHgwMiwgMHgzMSwgMHhlZiwgMHhhZiwgMHg2NCwgMHgxMiwKLTB4MmEsIDB4YzcsIDB4NzQsIDB4NmUsIDB4MjUsIDB4NjQsIDB4ZjgsIDB4ZTYsIDB4MzAsIDB4ZTIsIDB4MGIsIDB4ZDIsIDB4MDksIDB4MTIsIDB4MWQsIDB4MzMsCi0weGUwLCAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDAyLCAweGMyLCAweDA5LCAweGU1LCAweDY0LCAweGI0LCAweDAzLCAweDA3LCAweDdmLCAweDgxLCAweDEyLAotMHgzMSwgMHhlZiwgMHg4MCwgMHgwNSwgMHg3ZiwgMHg4MiwgMHgxMiwgMHgzMSwgMHhlZiwgMHgzMCwgMHgwOSwgMHgwNywgMHgxMiwgMHgxZCwgMHgzMywgMHhlMCwKLTB4NDQsIDB4ODAsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4MjIsIDB4MTIsIDB4MTAsIDB4NGIsIDB4OTAsIDB4ZmYsIDB4ZmQsIDB4ZTAsIDB4NDQsIDB4NjAsCi0weGYwLCAweGQyLCAweDAxLCAweDkwLCAweGZmLCAweGZjLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweGZmLCAweDAwLCAweGUwLCAweDMwLCAweGU3LAotMHgxMywgMHg5MCwgMHhmZiwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHgzNSwgMHg4MCwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHg0NCwKLTB4MDEsIDB4ZjAsIDB4ODAsIDB4MGQsIDB4MTIsIDB4MWQsIDB4ZGYsIDB4NTMsIDB4MzUsIDB4N2YsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4NTQsIDB4ZmUsCi0weGYwLCAweDkwLCAweGZmLCAweDgxLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDEyLCAweDAyLCAweGRlLCAweDEyLCAweDFkLCAweGU3LCAweDAyLCAweDEwLAotMHhjZSwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4OSwgMHhlZiwgMHhmNiwgMHhkMiwgMHgwMCwgMHgxMiwgMHgyYSwgMHhjNywgMHg5MCwgMHhmOSwgMHg2YSwKLTB4MTIsIDB4MWIsIDB4ZWEsIDB4ZTksIDB4MjQsIDB4MDMsIDB4ZjksIDB4ZTQsIDB4M2EsIDB4ZmEsIDB4YzAsIDB4MDIsIDB4NzgsIDB4ODAsIDB4ZTYsIDB4ZmUsCi0weDA4LCAweGU2LCAweGFhLCAweDA2LCAweGY4LCAweGFjLCAweDAyLCAweDdkLCAweDAxLCAweGQwLCAweDAyLCAweDEyLCAweDIyLCAweGQzLCAweDEyLCAweDMyLAotMHg4NCwgMHg3OCwgMHg4OSwgMHhlNiwgMHhmZiwgMHgxMiwgMHgxMywgMHg4NywgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwgMHhjZSwgMHg4ZiwgMHg2MywKLTB4MTIsIDB4MmEsIDB4YzcsIDB4NzgsIDB4N2MsIDB4MTIsIDB4MjIsIDB4YjcsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsCi0weDEyLCAweDIyLCAweGExLCAweGUwLCAweDU0LCAweDNmLCAweGYwLCAweDEyLCAweDIzLCAweDQxLCAweDI0LCAweDBiLCAweDEyLCAweDIyLCAweGExLCAweGUwLAotMHg1NCwgMHhmOCwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHg3NCwgMHg2ZSwgMHgyNSwgMHg2MywgMHhmOCwgMHg3NCwgMHhmYiwgMHg1NiwgMHhmNiwgMHg3ZiwKLTB4MDAsIDB4MjIsIDB4MTIsIDB4MTAsIDB4NGIsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4ZmEsIDB4MjQsIDB4MDYsIDB4MTIsIDB4MjIsIDB4OWYsCi0weGUwLCAweGZkLCAweDEyLCAweDIyLCAweGU4LCAweDkwLCAweDAwLCAweDAzLCAweDEyLCAweDIzLCAweDAyLCAweDI0LCAweDA1LCAweDEyLCAweDIyLCAweGExLAotMHhlMCwgMHg5MCwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxYSwgMHhmYSwgMHgxMiwgMHgzMiwgMHg4NCwgMHg3ZCwgMHgwMiwgMHhlNCwgMHhmZiwgMHgxMiwgMHgyZiwKLTB4YjQsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4YWUsIDB4MDUsIDB4MTIsIDB4MWQsIDB4OGUsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4MGUsIDB4MGUsIDB4MGUsCi0weGVlLCAweGQzLCAweDk1LCAweDNjLCAweGU0LCAweDk1LCAweDNiLCAweDQwLCAweDAyLCAweGFlLCAweDNjLCAweGVlLCAweGQzLCAweDk0LCAweDA4LCAweDc0LAotMHg4MCwgMHg5NCwgMHg4MSwgMHg0MCwgMHgwYSwgMHg3ZSwgMHgwMywgMHg5MCwgMHgwMCwgMHgwMiwgMHg3NCwgMHgwMiwgMHgxMiwgMHgxYSwgMHhmYSwgMHhhZiwKLTB4MDYsIDB4MTIsIDB4MzIsIDB4NmUsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZWQsIDB4NTQsIDB4MDMsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4N2YsIDB4MTAsCi0weDIyLCAweGVkLCAweDU0LCAweDdjLCAweGMzLCAweDk0LCAweDA0LCAweDUwLCAweDAzLCAweDdmLCAweDBiLCAweDIyLCAweDc0LCAweDZlLCAweDJlLCAweGY4LAotMHg3NCwgMHgwMiwgMHg0NiwgMHhmNiwgMHg3NCwgMHg5OSwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmYSwgMHhmNSwgMHg4MywgMHhlZCwgMHhmMCwKLTB4N2YsIDB4MDAsIDB4MjIsIDB4YmYsIDB4MDMsIDB4MDYsIDB4N2MsIDB4ZmYsIDB4N2QsIDB4ZTAsIDB4ODAsIDB4MDQsIDB4N2MsIDB4ZmYsIDB4N2QsIDB4ZTIsCi0weDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDgyLCAweDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLAotMHg0NCwgMHg4MCwgMHhmMCwgMHg3NCwgMHg2ZSwgMHgyZiwgMHhmOCwgMHg3NCwgMHgwNCwgMHg0NiwgMHhmNiwgMHg3ZiwgMHgwMCwgMHgyMiwgMHgxMiwgMHgxMCwKLTB4NGIsIDB4ZTUsIDB4M2EsIDB4NjQsIDB4MDksIDB4NzAsIDB4MDQsIDB4ZTUsIDB4MzksIDB4NjQsIDB4MDEsIDB4NjAsIDB4MTYsIDB4OTAsIDB4ZmYsIDB4ODMsCi0weGUwLCAweDU0LCAweDBmLCAweGZmLCAweGMzLCAweGU1LCAweDNhLCAweDlmLCAweGU1LCAweDM5LCAweDk0LCAweDAwLCAweDQwLCAweDA1LCAweDEyLCAweDI4LAotMHhkNywgMHg4MCwgMHgwMywgMHgxMiwgMHgzMiwgMHg3YSwgMHgwMiwgMHgxMCwgMHhjZSwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHgyMCwgMHhlNywgMHgxZiwKLTB4YzIsIDB4YWYsIDB4N2QsIDB4ZmYsIDB4YWMsIDB4MDUsIDB4MWQsIDB4ZWMsIDB4NjAsIDB4MTUsIDB4N2UsIDB4MDQsIDB4N2YsIDB4MDAsIDB4ZWYsIDB4MWYsCi0weGFhLCAweDA2LCAweDcwLCAweDAxLCAweDFlLCAweDRhLCAweDYwLCAweGVjLCAweDkwLCAweGZmLCAweDkyLCAweGU0LCAweGYwLCAweDgwLCAweGVmLCAweDIyLAotMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg2NiwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmZiwgMHgzMCwgMHhlMCwgMHgxMiwgMHgzMCwgMHhlMSwgMHgwZiwKLTB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4N2YsIDB4MDQsIDB4MTIsIDB4MTIsIDB4NjEsIDB4MTIsIDB4MWQsIDB4ZjYsIDB4MDIsCi0weDEwLCAweGNlLCAweDhmLCAweDIzLCAweGMyLCAweDA4LCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDIyLCAweGMwLCAweDc4LCAweDdlLCAweDEyLCAweDIzLAotMHg0MiwgMHgyNCwgMHgwYiwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg1NCwgMHhmOCwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHhhZiwgMHgyMywgMHgxMiwKLTB4MTMsIDB4ODcsIDB4MjIsIDB4OGUsIDB4NWYsIDB4OGYsIDB4NjAsIDB4ZTUsIDB4NjAsIDB4MTUsIDB4NjAsIDB4YWUsIDB4NWYsIDB4NzAsIDB4MDIsIDB4MTUsCi0weDVmLCAweGQzLCAweDk0LCAweDAwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA5LCAweDdlLCAweDA3LCAweDdmLCAweGQwLCAweDEyLCAweDEwLCAweDI0LAotMHg4MCwgMHhlNSwgMHgyMiwgMHgxMSwgMHhkYywgMHgyZSwgMHhjNywgMHgyNCwgMHhiMCwgMHgzMiwgMHg2MCwgMHgzMCwgMHg5MCwgMHgzMCwgMHgzZSwgMHgzMSwKLTB4NmYsIDB4MmYsIDB4ODIsIDB4MjcsIDB4MmUsIDB4MmMsIDB4ODAsIDB4MzEsIDB4MTIsIDB4MzEsIDB4MzEsIDB4MWUsIDB4NjQsIDB4MmYsIDB4MTEsIDB4MmMsCi0weDE4LCAweDBlLCAweDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg2LCAweDEyLCAweDIzLCAweDMxLCAweDIwLCAweGUxLCAweDA3LCAweDdmLCAweDEyLCAweDEyLAotMHgzMSwgMHhhOSwgMHg4MCwgMHgwYSwgMHg3OCwgMHg4NiwgMHhlNiwgMHhmZiwgMHgxMiwgMHgyNCwgMHgwYSwgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwKLTB4Y2UsIDB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4ODcsIDB4MTIsIDB4MjMsIDB4MzEsIDB4MjAsIDB4ZTIsIDB4MDcsIDB4N2YsIDB4MTEsIDB4MTIsIDB4MzEsCi0weGE5LCAweDgwLCAweDBhLCAweDc4LCAweDg3LCAweGU2LCAweGZmLCAweDEyLCAweDJmLCAweDRlLCAweDEyLCAweDMxLCAweGE5LCAweDAyLCAweDEwLCAweGNlLAotMHg4ZiwgMHg2MSwgMHgxMiwgMHgyZiwgMHg0ZSwgMHhhZiwgMHg2MSwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwgMHhjMCwgMHgxMiwgMHgzMiwgMHg4NCwKLTB4NzQsIDB4NmUsIDB4MjUsIDB4NjEsIDB4ZjgsIDB4NzQsIDB4ZmQsIDB4NTYsIDB4ZjYsIDB4YWYsIDB4NjEsIDB4MTIsIDB4MTMsIDB4ODcsIDB4MjIsIDB4MTIsCi0weDEwLCAweDRiLCAweGU1LCAweDNhLCAweDY0LCAweDA5LCAweDcwLCAweDA0LCAweGU1LCAweDM5LCAweDY0LCAweDAxLCAweDYwLCAweDA1LCAweDEyLCAweDJjLAotMHhkOCwgMHg4MCwgMHgwNiwgMHgxMiwgMHgxZSwgMHgxNCwgMHgxMiwgMHgxZSwgMHgxYywgMHgwMiwgMHgxMCwgMHhjZSwgMHgxMiwgMHgyYSwgMHg1NCwgMHgxMiwKLTB4MTMsIDB4MDMsIDB4OTAsIDB4ZjgsIDB4MDQsIDB4ZTAsIDB4ZmYsIDB4NjAsIDB4MDUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MTIsIDB4YTAsIDB4MTIsIDB4MjksCi0weGRlLCAweDEyLCAweDEzLCAweDNmLCAweDEyLCAweDExLCAweGJjLCAweDgwLCAweGUzLCAweDEyLCAweDFkLCAweDhlLCAweGVmLCAweDEyLCAweDFhLCAweGZhLAotMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzNCwgMHhlZiwgMHg2MCwgMHgwMywgMHgwMiwgMHgzMiwgMHg3YSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgzMiwgMHg2ZSwKLTB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4YTAsIDB4NjAsIDB4ZjcsIDB4ZWYsIDB4MzAsIDB4ZTUsIDB4MDgsIDB4OTAsIDB4ZmYsCi0weGYwLCAweDQ0LCAweDIwLCAweGYwLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweGZmLCAweDU0LCAweDI4LCAweDYwLAotMHhmNywgMHhlZiwgMHgzMCwgMHhlNSwgMHgwOCwgMHg5MCwgMHhmZiwgMHhmMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgMHhlZiwKLTB4MzAsIDB4ZTcsIDB4MDgsIDB4MTIsIDB4MWQsIDB4NDUsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4MjIsIDB4ZWYsIDB4MTIsIDB4MWQsIDB4OTgsIDB4ZTAsCi0weDU0LCAweGRmLCAweGYwLCAweDIyLCAweDgxLCAweDAxLCAweDgyLCAweDAyLCAweDgzLCAweDAzLCAweDg3LCAweDQwLCAweDAwLCAweDQwLCAweDAwLCAweDQwLAotMHgwMCwgMHg0MCwgMHgwMCwgMHg0MCwgMHgwMCwgMHg0MCwgMHgwMCwgMHgwOCwgMHgwMCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMiwgMHhiNywgMHhhMywgMHhhMywKLTB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4MDYsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4MjIsIDB4ODUsIDB4M2IsIDB4MzksIDB4ODUsCi0weDNjLCAweDNhLCAweDkwLCAweGZmLCAweDgyLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGEzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDIyLCAweGU0LAotMHhmZSwgMHhlZSwgMHg5MCwgMHgzMiwgMHgwNCwgMHg5MywgMHhiNSwgMHgwNywgMHgwMiwgMHhkMywgMHgyMiwgMHgwZSwgMHhiZSwgMHgwNywgMHhmMiwgMHhjMywKLTB4MjIsIDB4MDAsIDB4MDgsIDB4MTgsIDB4MjgsIDB4MzgsIDB4MDEsIDB4ODEsIDB4OTAsIDB4MGEsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MTEsIDB4MTMsIDB4MDAsCi0weDEyLCAweDEwLCAweDRiLCAweDdmLCAweDAyLCAweDEyLCAweDEwLCAweGRhLCAweDEyLCAweDFkLCAweGY2LCAweDAyLCAweDEwLCAweGNlLCAweDc1LCAweDM5LAotMHgwMCwgMHg4ZiwgMHgzYSwgMHgxMiwgMHgxYywgMHhlMCwgMHgxMiwgMHgyYywgMHhkOCwgMHgyMiwgMHgxMiwgMHgxZSwgMHgxYywgMHgxMiwgMHgxZCwgMHhkZiwKLTB4MTIsIDB4MWUsIDB4MTQsIDB4MjIsIDB4YzIsIDB4MDgsIDB4MjIsCi19OwotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb190aS5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX3RpLmMKaW5kZXggMDVlNGZhNy4uNjFkYWVhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX3RpLmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX3RpLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KQEAgLTUyLDEzICs1Myw2IEBACiAjZGVmaW5lIERSSVZFUl9BVVRIT1IgIkdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+IGFuZCBEYXZpZCBJYWNvdmVsbGkiCiAjZGVmaW5lIERSSVZFUl9ERVNDICJFZGdlcG9ydCBVU0IgU2VyaWFsIERyaXZlciIKIAotCi0vKiBmaXJtd2FyZSBpbWFnZSBjb2RlICovCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlCi0jZGVmaW5lIElNQUdFX1NJWkUJCVBhZ2FibGVPcGVyYXRpb25hbENvZGVTaXplCi0jaW5jbHVkZSAiaW9fZndfZG93bjMuaCIJLyogRGVmaW5lIGFycmF5IE9wZXJhdGlvbmFsQ29kZUltYWdlW10gKi8KLQogI2RlZmluZSBFUFJPTV9QQUdFX1NJWkUJCTY0CiAKIApAQCAtMjMxLDcgKzIyNSw5IEBACiB9OwogCiAKLXN0YXRpYyBzdHJ1Y3QgRURHRV9GSVJNV0FSRV9WRVJTSU9OX0lORk8gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uOworc3RhdGljIHVuc2lnbmVkIGNoYXIgT3BlcmF0aW9uYWxNYWpvclZlcnNpb247CitzdGF0aWMgdW5zaWduZWQgY2hhciBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbjsKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBPcGVyYXRpb25hbEJ1aWxkTnVtYmVyOwogCiBzdGF0aWMgaW50IGRlYnVnOwogCkBAIC04ODUsMTAgKzg4MSwxMyBAQAogCV9fdTggKmJ1ZmZlcjsKIAlpbnQgYnVmZmVyX3NpemU7CiAJaW50IGk7CisJaW50IGVycjsKIAlfX3U4IGNzID0gMDsKIAlzdHJ1Y3QgdGlfaTJjX2Rlc2MgKmkyY19oZWFkZXI7CiAJc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIgKmltZ19oZWFkZXI7CiAJc3RydWN0IHRpX2kyY19maXJtd2FyZV9yZWMgKmZpcm13YXJlX3JlYzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWNvbnN0IGNoYXIgKmZ3X25hbWUgPSAiZWRnZXBvcnQvZG93bjMuYmluIjsKIAogCS8vIEluIG9yZGVyIHRvIHVwZGF0ZSB0aGUgSTJDIGZpcm13YXJlIHdlIG11c3QgY2hhbmdlIHRoZSB0eXBlIDIgcmVjb3JkIHRvIHR5cGUgMHhGMi4KIAkvLyBUaGlzIHdpbGwgZm9yY2UgdGhlIFVNUCB0byBjb21lIHVwIGluIEJvb3QgTW9kZS4gIFRoZW4gd2hpbGUgaW4gYm9vdCBtb2RlLCB0aGUgZHJpdmVyIApAQCAtOTA5LDE5ICs5MDgsMzQgQEAKIAkvLyBTZXQgZW50aXJlIGltYWdlIG9mIDB4ZmZzCiAJbWVtc2V0IChidWZmZXIsIDB4ZmYsIGJ1ZmZlcl9zaXplKTsKIAorCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCBkZXYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBpbWFnZSBcIiVzXCIgZXJyICVkXG4iLAorCQkgICAgICAgZndfbmFtZSwgZXJyKTsKKwkJa2ZyZWUoYnVmZmVyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwkvKiBTYXZlIERvd25sb2FkIFZlcnNpb24gTnVtYmVyICovCisJT3BlcmF0aW9uYWxNYWpvclZlcnNpb24gPSBmdy0+ZGF0YVswXTsKKwlPcGVyYXRpb25hbE1pbm9yVmVyc2lvbiA9IGZ3LT5kYXRhWzFdOworCU9wZXJhdGlvbmFsQnVpbGROdW1iZXIgPSBmdy0+ZGF0YVsyXSB8IChmdy0+ZGF0YVszXSA8PCA4KTsKKwogCS8vIENvcHkgdmVyc2lvbiBudW1iZXIgaW50byBmaXJtd2FyZSByZWNvcmQKIAlmaXJtd2FyZV9yZWMgPSAoc3RydWN0IHRpX2kyY19maXJtd2FyZV9yZWMgKilidWZmZXI7CiAKLQlmaXJtd2FyZV9yZWMtPlZlcl9NYWpvcgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb247Ci0JZmlybXdhcmVfcmVjLT5WZXJfTWlub3IJPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uOworCWZpcm13YXJlX3JlYy0+VmVyX01ham9yCT0gT3BlcmF0aW9uYWxNYWpvclZlcnNpb247CisJZmlybXdhcmVfcmVjLT5WZXJfTWlub3IJPSBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbjsKIAogCS8vIFBvaW50ZXIgdG8gZndfZG93biBtZW1vcnkgaW1hZ2UKLQlpbWdfaGVhZGVyID0gKHN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyICopJlBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVswXTsKKwlpbWdfaGVhZGVyID0gKHN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyICopJmZ3LT5kYXRhWzRdOwogCiAJbWVtY3B5IChidWZmZXIgKyBzaXplb2Yoc3RydWN0IHRpX2kyY19maXJtd2FyZV9yZWMpLAotCQkmUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlW3NpemVvZihzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlcildLAorCQkmZnctPmRhdGFbNCArIHNpemVvZihzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlcildLAogCQlsZTE2X3RvX2NwdShpbWdfaGVhZGVyLT5MZW5ndGgpKTsKIAorCXJlbGVhc2VfZmlybXdhcmUoZncpOworCiAJZm9yIChpPTA7IGkgPCBidWZmZXJfc2l6ZTsgaSsrKSB7CiAJCWNzID0gKF9fdTgpKGNzICsgYnVmZmVyW2ldKTsKIAl9CkBAIC05MzUsOCArOTQ5LDggQEAKIAlpMmNfaGVhZGVyLT5UeXBlCT0gSTJDX0RFU0NfVFlQRV9GSVJNV0FSRV9CTEFOSzsKIAlpMmNfaGVhZGVyLT5TaXplCT0gKF9fdTE2KWJ1ZmZlcl9zaXplOwogCWkyY19oZWFkZXItPkNoZWNrU3VtCT0gY3M7Ci0JZmlybXdhcmVfcmVjLT5WZXJfTWFqb3IJPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uOwotCWZpcm13YXJlX3JlYy0+VmVyX01pbm9yCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbjsKKwlmaXJtd2FyZV9yZWMtPlZlcl9NYWpvcgk9IE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uOworCWZpcm13YXJlX3JlYy0+VmVyX01pbm9yCT0gT3BlcmF0aW9uYWxNaW5vclZlcnNpb247CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwNzUsMTEgKzEwODksNiBAQAogCQkvLyBPdGhlcndpc2Ugd2Ugd2lsbCByZW1haW4gaW4gY29uZmlndXJpbmcgbW9kZQogCQlzZXJpYWwtPnByb2R1Y3RfaW5mby5UaU1vZGUgPSBUSV9NT0RFX0NPTkZJR1VSSU5HOwogCi0JLy8gU2F2ZSBEb3dubG9hZCBWZXJzaW9uIE51bWJlcgotCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb24gPSBQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbjsKLQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uID0gUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb247Ci0JT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLkJ1aWxkTnVtYmVyCSA9IFBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uQnVpbGROdW1iZXI7Ci0KIAkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAJLyogRG93bmxvYWQgTW9kZSAqLwogCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTExNTQsMTUgKzExNjMsMTUgQEAKIAkJCS8vIENoZWNrIHZlcnNpb24gbnVtYmVyIG9mIGRvd25sb2FkIHdpdGggY3VycmVudCB2ZXJzaW9uIGluIEkyYwogCQkJZG93bmxvYWRfY3VyX3ZlciA9IChmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWFqb3IgPDwgOCkgKyAKIAkJCQkJICAgKGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NaW5vcik7Ci0JCQlkb3dubG9hZF9uZXdfdmVyID0gKE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb24gPDwgOCkgKwotCQkJCQkgICAoT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbik7CisJCQlkb3dubG9hZF9uZXdfdmVyID0gKE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uIDw8IDgpICsKKwkJCQkJICAgKE9wZXJhdGlvbmFsTWlub3JWZXJzaW9uKTsKIAogCQkJZGJnICgiJXMgLSA+Pj5GaXJtd2FyZSBWZXJzaW9ucyBEZXZpY2UgJWQuJWQgIERyaXZlciAlZC4lZCIsCiAJCQkgICAgIF9fZnVuY19fLAogCQkJICAgICBmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWFqb3IsCiAJCQkgICAgIGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NaW5vciwKLQkJCSAgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbiwKLQkJCSAgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbik7CisJCQkgICAgIE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uLAorCQkJICAgICBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbik7CiAKIAkJCS8vIENoZWNrIGlmIHdlIGhhdmUgYW4gb2xkIHZlcnNpb24gaW4gdGhlIEkyQyBhbmQgdXBkYXRlIGlmIG5lY2Vzc2FyeQogCQkJaWYgKGRvd25sb2FkX2N1cl92ZXIgIT0gZG93bmxvYWRfbmV3X3ZlcikgewpAQCAtMTE3MCw4ICsxMTc5LDggQEAKIAkJCQkgICAgIF9fZnVuY19fLAogCQkJCSAgICAgZmlybXdhcmVfdmVyc2lvbi0+VmVyX01ham9yLAogCQkJCSAgICAgZmlybXdhcmVfdmVyc2lvbi0+VmVyX01pbm9yLAotCQkJCSAgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbiwKLQkJCQkgICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb24pOworCQkJCSAgICAgT3BlcmF0aW9uYWxNYWpvclZlcnNpb24sCisJCQkJICAgICBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbik7CiAKIAkJCQkvLyBJbiBvcmRlciB0byB1cGRhdGUgdGhlIEkyQyBmaXJtd2FyZSB3ZSBtdXN0IGNoYW5nZSB0aGUgdHlwZSAyIHJlY29yZCB0byB0eXBlIDB4RjIuCiAJCQkJLy8gVGhpcyB3aWxsIGZvcmNlIHRoZSBVTVAgdG8gY29tZSB1cCBpbiBCb290IE1vZGUuICBUaGVuIHdoaWxlIGluIGJvb3QgbW9kZSwgdGhlIGRyaXZlciAKQEAgLTEzNzcsNiArMTM4Niw5IEBACiAJCV9fdTggY3MgPSAwOwogCQlfX3U4ICpidWZmZXI7CiAJCWludCBidWZmZXJfc2l6ZTsKKwkJaW50IGVycjsKKwkJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwkJY29uc3QgY2hhciAqZndfbmFtZSA9ICJlZGdlcG9ydC9kb3duMy5iaW4iOwogCiAJCS8qIFZhbGlkYXRlIEhhcmR3YXJlIHZlcnNpb24gbnVtYmVyCiAJCSAqIFJlYWQgTWFudWZhY3R1cmluZyBEZXNjcmlwdG9yIGZyb20gVEkgQmFzZWQgRWRnZXBvcnQKQEAgLTE0MjUsNyArMTQzNywxNSBAQAogCQkvLyBJbml0aWFsaXplIHRoZSBidWZmZXIgdG8gMHhmZiAocGFkIHRoZSBidWZmZXIpCiAJCW1lbXNldCAoYnVmZmVyLCAweGZmLCBidWZmZXJfc2l6ZSk7CiAKLQkJbWVtY3B5IChidWZmZXIsICZQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VbMF0sIFBhZ2FibGVPcGVyYXRpb25hbENvZGVTaXplKTsKKwkJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWUsIGRldik7CisJCWlmIChlcnIpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgaW1hZ2UgXCIlc1wiIGVyciAlZFxuIiwKKwkJCSAgICAgICBmd19uYW1lLCBlcnIpOworCQkJa2ZyZWUoYnVmZmVyKTsKKwkJCXJldHVybiBlcnI7CisJCX0KKwkJbWVtY3B5KGJ1ZmZlciwgJmZ3LT5kYXRhWzRdLCBmdy0+c2l6ZSAtIDQpOworCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCQlmb3IoaSA9IHNpemVvZihzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlcik7IGkgPCBidWZmZXJfc2l6ZTsgaSsrKSB7CiAJCQljcyA9IChfX3U4KShjcyArIGJ1ZmZlcltpXSk7CkBAIC0zMTE5LDYgKzMxMzksNyBAQAogTU9EVUxFX0FVVEhPUihEUklWRVJfQVVUSE9SKTsKIE1PRFVMRV9ERVNDUklQVElPTihEUklWRVJfREVTQyk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Rvd24zLmJpbiIpOwogCiBtb2R1bGVfcGFyYW0oZGVidWcsIGJvb2wsIFNfSVJVR08gfCBTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGVidWcsICJEZWJ1ZyBlbmFibGVkIG9yIG5vdCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmMKaW5kZXggM2RmOGE2Ni4uMTFlNDM5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5jCkBAIC0xMDUsNiArMTA1LDggQEAKICNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CkBAIC0xMzM5LDEzICsxMzQxLDEzIEBACiAJcG9ydC0+dHR5ID0gTlVMTDsKIH0KIAotCiAJLyogZG93bmxvYWQgdGhlIGZpcm13YXJlIHRvIGEgcHJlLXJlbnVtZXJhdGlvbiBkZXZpY2UgKi8KIHN0YXRpYyBpbnQga2V5c3Bhbl9mYWtlX3N0YXJ0dXAgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwpCiB7CiAJaW50IAkJCQlyZXNwb25zZTsKLQljb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAJKnJlY29yZDsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgCSpyZWNvcmQ7CiAJY2hhcgkJCQkqZndfbmFtZTsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUJCSpmdzsKIAogCWRiZygiS2V5c3BhbiBzdGFydHVwIHZlcnNpb24gJTA0eCBwcm9kdWN0ICUwNHgiLAogCSAgICBsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5iY2REZXZpY2UpLApAQCAtMTM1OSw3MiArMTM2MSw2MCBAQAogCQkvKiBTZWxlY3QgZmlybXdhcmUgaW1hZ2Ugb24gdGhlIGJhc2lzIG9mIGlkUHJvZHVjdCAqLwogCXN3aXRjaCAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSkgewogCWNhc2Uga2V5c3Bhbl91c2EyOF9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMjhfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMjgiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMjguZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2EyOHhfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTI4eF9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0EyOFgiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMjh4LmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMjh4YV9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMjh4YV9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0EyOFhBIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTI4eGEuZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2EyOHhiX3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2EyOHhiX2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTI4WEIiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMjh4Yi5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTE5X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOV9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0ExOSI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOS5mdyI7CiAJCWJyZWFrOwogCQkJICAgICAKIAljYXNlIGtleXNwYW5fdXNhMTlxaV9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTlxaV9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0ExOVFJIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE5cWkuZnciOwogCQlicmVhazsKIAkJCSAgICAgCiAJY2FzZSBrZXlzcGFuX21wcl9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fbXByX2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIk1QUiI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi9tcHIuZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2ExOXF3X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOXF3X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTE5UUkiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMTlxdy5mdyI7CiAJCWJyZWFrOwogCQkJICAgICAKIAljYXNlIGtleXNwYW5fdXNhMTh4X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOHhfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMThYIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE4eC5mdyI7CiAJCWJyZWFrOwogCQkJICAgICAKIAljYXNlIGtleXNwYW5fdXNhMTl3X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOXdfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMTlXIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE5dy5mdyI7CiAJCWJyZWFrOwogCQkKIAljYXNlIGtleXNwYW5fdXNhNDl3X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2E0OXdfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBNDlXIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTQ5dy5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTQ5d2xjX3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2E0OXdsY19maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0E0OVdMQyI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2E0OXdsYy5mdyI7CiAJCWJyZWFrOwogCiAJZGVmYXVsdDoKLQkJcmVjb3JkID0gTlVMTDsKLQkJZndfbmFtZSA9ICJVbmtub3duIjsKLQkJYnJlYWs7CisJCWRldl9lcnIoJnNlcmlhbC0+ZGV2LT5kZXYsICJVbmtub3duIHByb2R1Y3QgSUQgKCUwNHgpXG4iLAorCQkJbGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSk7CisJCXJldHVybiAxOwogCX0KIAotCWlmIChyZWNvcmQgPT0gTlVMTCkgeworCWlmIChyZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCAmc2VyaWFsLT5kZXYtPmRldikpIHsKIAkJZGV2X2Vycigmc2VyaWFsLT5kZXYtPmRldiwgIlJlcXVpcmVkIGtleXNwYW4gZmlybXdhcmUgaW1hZ2UgKCVzKSB1bmF2YWlsYWJsZS5cbiIsIGZ3X25hbWUpOwogCQlyZXR1cm4oMSk7CiAJfQpAQCAtMTQzNCwxOSArMTQyNCwyMiBAQAogCQkvKiBkb3dubG9hZCB0aGUgZmlybXdhcmUgaW1hZ2UgKi8KIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldChzZXJpYWwsIDEpOwogCi0Jd2hpbGUocmVjb3JkLT5hZGRyZXNzICE9IDB4ZmZmZikgewotCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5KHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLAorCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKKworCXdoaWxlIChyZWNvcmQpIHsKKwkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeShzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCiAJCQkJCSAgICAgKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsCi0JCQkJCSAgICAgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTApOworCQkJCQkgICAgIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSwgMHhhMCk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKIAkJCWRldl9lcnIoJnNlcmlhbC0+ZGV2LT5kZXYsICJlenVzYl93cml0ZW1lbW9yeSBmYWlsZWQgZm9yIEtleXNwYW4iCiAJCQkJImZpcm13YXJlICglZCAlMDRYICVwICVkKVxuIiwKLQkJCQlyZXNwb25zZSwgCi0JCQkJcmVjb3JkLT5hZGRyZXNzLCByZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplKTsKKwkJCQlyZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCQlyZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQotCQlyZWNvcmQrKzsKKwkJcmVjb3JkID0gaWhleF9uZXh0X2JpbnJlYyhyZWNvcmQpOwogCX0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAkJLyogYnJpbmcgZGV2aWNlIG91dCBvZiByZXNldC4gUmVudW1lcmF0aW9uIHdpbGwgb2NjdXIgaW4gYQogCQkgICBtb21lbnQgYW5kIHRoZSBuZXcgZGV2aWNlIHdpbGwgYmluZCB0byB0aGUgcmVhbCBkcml2ZXIgKi8KIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldChzZXJpYWwsIDApOwpAQCAtMjc1Niw2ICsyNzQ5LDE5IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIERSSVZFUl9ERVNDICk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2EyOC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTI4eC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTI4eGEuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2EyOHhiLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMTkuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2ExOXFpLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vbXByLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMTlxdy5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE4eC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE5dy5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTQ5dy5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTQ5d2xjLmZ3Iik7CisKIG1vZHVsZV9wYXJhbShkZWJ1ZywgYm9vbCwgU19JUlVHTyB8IFNfSVdVU1IpOwogTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgIkRlYnVnIGVuYWJsZWQgb3Igbm90Iik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5oCmluZGV4IDhkNmVkMDIuLmI1MmZiNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmgKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uaApAQCAtMTAzLDkwICsxMDMsNiBAQAogCQkJCQkgc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCwKIAkJCQkJIGludCByZXNldF9wb3J0KTsKIAotLyogU3RydWN0IHVzZWQgZm9yIGZpcm13YXJlIC0gaW5jcmVhc2VkIHNpemUgb2YgZGF0YSBzZWN0aW9uCi0gICB0byBhbGxvdyBLZXlzcGFuJ3MgJ0MnIGZpcm13YXJlIHN0cnVjdCB0byBiZSB1c2VkIHVubW9kaWZpZWQgKi8KLXN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIHsKLQlfX3UxNiBhZGRyZXNzOwotCV9fdTggZGF0YV9zaXplOwotCV9fdTggZGF0YVs2NF07Ci19OwotCi0vKiBDb25kaXRpb25hbGx5IGluY2x1ZGUgZmlybXdhcmUgaW1hZ2VzLCBpZiB0aGV5IGFyZW4ndAotICAgaW5jbHVkZWQgY3JlYXRlIGEgbnVsbCBwb2ludGVyIGluc3RlYWQuICBDdXJyZW50IAotICAgZmlybXdhcmUgaW1hZ2VzIGFyZW4ndCBvcHRpbWlzZWQgdG8gcmVtb3ZlIGR1cGxpY2F0ZQotICAgYWRkcmVzc2VzIGluIHRoZSBpbWFnZSBpdHNlbGYuICovCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOAotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTI4X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2EyOF9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMjh4X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2EyOHhfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEEKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2EyOHhhX2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2EyOHhhX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhCCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMjh4Yl9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMjh4Yl9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTkKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOV9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTlfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UUkKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOXFpX2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOXFpX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9NUFIKLSAgICAgICAgI2luY2x1ZGUgImtleXNwYW5fbXByX2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl9tcHJfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UVcKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOXF3X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOXF3X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOFgKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOHhfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTE4eF9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlXCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTl3X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOXdfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5VwotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTQ5d19mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhNDl3X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVdMQwotICAgICAgICAjaW5jbHVkZSAia2V5c3Bhbl91c2E0OXdsY19mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhNDl3bGNfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KIC8qIFZhbHVlcyB1c2VkIGZvciBiYXVkIHJhdGUgY2FsY3VsYXRpb24gLSBkZXZpY2Ugc3BlY2lmaWMgKi8KICNkZWZpbmUJS0VZU1BBTl9JTlZBTElEX0JBVURfUkFURQkJKC0xKQogI2RlZmluZQlLRVlTUEFOX0JBVURfUkFURV9PSwkJCSgwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fbXByX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9tcHJfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM4ODA1ZS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9tcHJfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDI4NiArMCwwIEBACi0vKiBrZXlzcGFuX21wcl9mdy5oCi0gCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl9tcHJfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi1zdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU1M1tdID0KLQkiMDQvMjYvMjAwMiAgMDI6NDdwICAgICAgICAgICAgICAxMSw1NzAgVVNBNTMiOwotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fbXByX2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgxYX19LAotIHsweDAwMWEsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDhlLCAweDU2LCAweDhmLCAweDU3LCAweGU1LCAweDU3LCAweDE1LCAweDU3LCAweGFlLCAweDU2LCAweDcwLCAweDAyLCAweDE1LCAweDU2LCAweDRlLCAweDYwfX0sCi0gezB4MDAxMywgIDcsIHsgMHgwNSwgMHgxMiwgMHgwZiwgMHhhMiwgMHg4MCwgMHhlZSwgMHgyMn19LAotIHsweDAwMjMsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgzMCwgMHg5OSwgMHgwZSwgMHgzMCwgMHgwYiwgMHgwNywgMHhhMiwgMHgwZSwgMHg5MiwgMHg5YiwgMHg4NSwgMHgzNiwgMHg5OSwgMHhjMiwgMHg5OSwgMHhkMn19LAotIHsweDAwNjYsIDE2LCB7IDB4MTIsIDB4MjAsIDB4MTIsIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZjksIDB4YzIsIDB4MTIsIDB4MzAsIDB4MDMsIDB4MTksIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDB9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDc1LCAweDFhLCAweDdlLCAweDc1LCAweDFiLCAweDQwLCAweDc1LCAweDE3LCAweDAwLCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDc1LCAweDE4LCAweDdkfX0sCi0gezB4MDA4NiwgMTYsIHsgMHg3NSwgMHgxOSwgMHhjMCwgMHg4MCwgMHgxNywgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxYSwgMHg3ZCwgMHg3NSwgMHgxYiwgMHhjMCwgMHg3NX19LAotIHsweDAwOTYsIDE2LCB7IDB4MTcsIDB4MDEsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTgsIDB4N2UsIDB4NzUsIDB4MTksIDB4NDAsIDB4MjAsIDB4MGIsIDB4MDMsIDB4MDJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDAxLCAweDg0LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDNjLCAweDIwLCAweDBjLCAweDM0LCAweDIwLCAweDA5LCAweDMxLCAweDkwfX0sCi0gezB4MDBiNiwgMTYsIHsgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyOSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYn19LAotIHsweDAwYzYsIDE2LCB7IDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2F9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGU1LCAweDFiLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweDAyLCAweDAyLCAweGY3fX0sCi0gezB4MDBlNiwgMTYsIHsgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHgzMCwgMHgwMywgMHgxMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhhMywgMHhlMCwgMHg1NH19LAotIHsweDAwZjYsIDE2LCB7IDB4MDIsIDB4ZjUsIDB4MWQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4ODAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDBmLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwMCwgMHgyNn19LAotIHsweDAwMjYsIDEyLCB7IDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NWEsIDB4MDIsIDB4MGEsIDB4MzN9fSwKLSB7MHgwMTA2LCA2NCwgeyAweGM2LCAweGUwLCAweDU0LCAweDAyLCAweGY1LCAweDFkLCAweGEzLCAweGUwLCAweGY1LCAweDFjLCAweGU1LCAweDE3LCAweDI0LCAweGZmLCAweDkyLCAweDAzLCAweDMwLAotICAweDBkLCAweDBkLCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDBiLCAweDAyLCAweDAyLCAweGY3LCAweGU1LAotICAweDFkLCAweDYwLCAweDA1LCAweGMyLCAweDBiLCAweDAyLCAweDAyLCAweGY3LCAweDg1LCAweDFjLCAweDUzLCAweDg1LCAweDE5LCAweDgyLCAweDg1LCAweDE4LAotICAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDEyLCAweGZmLCAweDIwLCAweDBjLCAweDNhLCAweDIwLCAweDA5LCAweDM3LCAweDkwfX0sCi0gezB4MDE0NiwgNjQsIHsgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyZiwgMHgzMCwgMHgxMCwgMHgxYywgMHg4NSwgMHgxOSwgMHg4MiwgMHg4NSwgMHgxOCwgMHg4MywgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHg4NSwgMHgxOSwgMHg4MiwgMHg4NSwgMHgxOCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHgzNiwgMHg3NSwKLSAgMHgzYSwgMHgwMywgMHgwMiwgMHgwMiwgMHhmNywgMHg3NSwgMHgzYSwgMHgwMiwgMHg4NSwgMHgxOSwgMHg4MiwgMHg4NSwgMHgxOCwgMHg4MywgMHhhMywgMHhlMCwKLSAgMHhmNSwgMHgzNiwgMHgwMiwgMHgwMiwgMHhmNywgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHgzMCwgMHgwM319LAotIHsweDAxODYsIDY0LCB7IDB4MGUsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4NTQsIDB4MDIsIDB4ZjUsIDB4MWQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsCi0gIDB4YzgsIDB4ZTAsIDB4NTQsIDB4MDIsIDB4ZjUsIDB4MWQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsCi0gIDB4MDMsIDB4MDIsIDB4MDIsIDB4NjgsIDB4ZTUsIDB4MWQsIDB4NjAsIDB4MDcsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4ODUsCi0gIDB4MWMsIDB4NTMsIDB4ODUsIDB4MWIsIDB4ODIsIDB4ODUsIDB4MWEsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4MTIsIDB4ZmZ9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDMwLCAweDBjLCAweDAzLCAweDAyLCAweDAyLCAweDYwLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAyLCAweDYwLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LAotICAweDM4LCAweDYwLCAweDAzLCAweDAyLCAweDAyLCAweDYwLCAweDMwLCAweDEwLCAweDFiLCAweDg1LCAweDFiLCAweDgyLCAweDg1LCAweDFhLCAweDgzLCAweGEzLAotICAweGUwLCAweDEzLCAweDkyLCAweDliLCAweDg1LCAweDFiLCAweDgyLCAweDg1LCAweDFhLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LAotICAweDNhLCAweDAzLCAweDgwLCAweDBkLCAweDg1LCAweDFiLCAweDgyLCAweDg1LCAweDFhLCAweDgzLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1fX0sCi0gezB4MDIwNiwgNjQsIHsgMHgzYSwgMHgwMiwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg0MCwgMHgyNiwgMHgzMCwgMHgwMywgMHgwNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwKLSAgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNywgMHgyNCwgMHhmZiwgMHg5MiwgMHgwMywgMHgyMCwgMHgwZCwgMHgwMywKLSAgMHgwMiwgMHgwMiwgMHhmNywgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwMiwgMHhmNywgMHgzMCwgMHgxMCwKLSAgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4M319LAotIHsweDAyNDYsIDY0LCB7IDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsIDB4MGIsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MTQsIDB4MDIsIDB4MDIsCi0gIDB4ZjcsIDB4MzAsIDB4MGMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZjUsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZjUsIDB4OTAsIDB4N2YsIDB4OWIsCi0gIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4NzksIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmZ9fSwKLSB7MHgwMjg2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDk5LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLAotICAweDQwLCAweDIyLCAweDMwLCAweDAzLCAweDA3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweDgwLCAweDA1LCAweDkwLCAweDdmLCAweGM5LCAweGU0LAotICAweGYwLCAweGU1LCAweDE3LCAweDI0LCAweGZmLCAweDkyLCAweDAzLCAweDMwLCAweDBkLCAweDM2LCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJifX0sCi0gezB4MDJjNiwgNjQsIHsgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwgMHgyZiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwgMHgyZiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYiwgMHg4MCwgMHgwMiwgMHhjMiwgMHgxNCwKLSAgMHhkMiwgMHgwMSwgMHgyMCwgMHg5OCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzNSwgMHhjMiwgMHg5OCwgMHgyMCwgMHgwMiwgMHgwMywgMHgwMiwgMHgwM319LAotIHsweDAzMDYsIDY0LCB7IDB4YTIsIDB4MjAsIDB4MTUsIDB4MjcsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsCi0gIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MTAsIDB4NGQsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTksIDB4NTUsIDB4ZTUsIDB4NTUsIDB4YjUsCi0gIDB4NDcsIDB4MDQsIDB4ZDIsIDB4MDksIDB4ODAsIDB4MmUsIDB4ZTUsIDB4NTUsIDB4YjUsIDB4NDYsIDB4MDQsIDB4YzIsIDB4MDksIDB4ODAsIDB4MjV9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDU1LCAweGYwLAotICAweDMwLCAweDEwLCAweDExLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDBmLCAweGU1LCAweDM5LCAweGMzLCAweDk1LCAweDQzLCAweDUwLCAweDAzLCAweDAyLCAweDA0LCAweDMzLAotICAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDMwLCAweGUxLCAweDE2LCAweGU1LCAweDM5LCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDAzLCAweDAyfX0sCi0gezB4MDM4NiwgNjQsIHsgMHgwNCwgMHgzMywgMHgxNSwgMHgzOSwgMHgxNSwgMHgzOSwgMHgwNSwgMHgyYiwgMHg0MywgMHgzNCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgzMywgMHg5MCwgMHg3ZiwgMHhiNywKLSAgMHhlNSwgMHgzOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgwMCwgMHhjMiwgMHgwMiwgMHgwMiwgMHgwNCwgMHgzMywgMHgyMCwgMHgxNSwgMHgyNywgMHhhZiwgMHgzOSwKLSAgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwKLSAgMHgxMCwgMHg0ZCwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNX19LAotIHsweDAzYzYsIDY0LCB7IDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTksIDB4NTUsIDB4ZTUsIDB4NTUsIDB4YjUsIDB4NDcsIDB4MDQsIDB4ZDIsIDB4MDksIDB4ODAsCi0gIDB4MmUsIDB4ZTUsIDB4NTUsIDB4YjUsIDB4NDYsIDB4MDQsIDB4YzIsIDB4MDksIDB4ODAsIDB4MjUsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsCi0gIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NTUsIDB4ZjAsIDB4MzAsIDB4MTAsIDB4MTEsIDB4YWYsIDB4MzksCi0gIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjB9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGQyLCAweDBmLCAweGU1LCAweDM5LCAweGMzLCAweDk1LCAweDQzLCAweDQwLCAweDI0LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDEyLCAweGU1LAotICAweDM5LCAweGMzLCAweDk0LCAweDQwLCAweDQwLCAweDE2LCAweDE1LCAweDM5LCAweDE1LCAweDM5LCAweDA1LCAweDJiLCAweDQzLCAweDM0LCAweDAxLCAweDgwLAotICAweDBiLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM5LCAweGYwLCAweDc1LCAweDM5LCAweDAwLCAweGQyLCAweDAyLCAweGQyLCAweDAxLCAweDMwLCAweDAxLAotICAweDA1LCAweGMyLCAweDAxLCAweDAyLCAweDAwLCAweDU2LCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHg1NCwgMHhlNSwgMHgzNCwgMHg2MCwgMHg1MCwgMHhlNSwgMHgzMSwgMHg3MCwgMHg0YywKLSAgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMSwgMHgwYiwgMHhlNCwgMHhmNSwgMHgyZiwgMHg3NSwgMHgzNCwgMHgwMSwgMHg3NSwgMHgzMSwgMHgwMiwgMHg4MCwgMHgwZSwKLSAgMHhhMiwgMHgwOCwgMHhlNCwgMHgzMywgMHhmNSwgMHgyZiwgMHhjMiwgMHgwOCwgMHhlNCwgMHhmNSwgMHgzNCwgMHg3NSwgMHgzMSwgMHgxMCwgMHhlNCwgMHhmNSwKLSAgMHg1NiwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHg1NiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMn19LAotIHsweDA0ODYsIDY0LCB7IDB4MGMsIDB4NzksIDB4ZmYsIDB4NzQsIDB4MDAsIDB4MjUsIDB4NTYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsCi0gIDB4NTYsIDB4ZTUsIDB4NTYsIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YmQsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsCi0gIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsIDB4ZDEsIDB4ZTQsIDB4ZjUsIDB4NTYsIDB4NzQsIDB4NDAsIDB4MjUsIDB4NTYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NTYsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDAsIDB4MjQsIDB4M2IsIDB4Zjl9fSwKLSB7MHgwNGM2LCA2NCwgeyAweGVjLCAweDM0LCAweDAwLCAweGZhLCAweGVmLCAweDEyLCAweDBjLCAweDkyLCAweDA1LCAweDU2LCAweGU1LCAweDU2LCAweGI0LCAweDE4LCAweGRiLCAweGU1LCAweDNiLAotICAweDYwLCAweDExLCAweDc1LCAweGM5LCAweDIwLCAweDc1LCAweGM4LCAweDM2LCAweDg1LCAweDNjLCAweGNhLCAweDg1LCAweDNkLCAweGNiLCAweGU0LCAweDkwLAotICAweDdmLCAweDlmLCAweGYwLCAweGU1LCAweDNlLCAweDEzLCAweDkyLCAweDEwLCAweDkyLCAweDlmLCAweDg1LCAweDNmLCAweDM4LCAweGU1LCAweDQwLCAweDEzLAotICAweDkyLCAweDE1LCAweGU1LCAweDQxLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDgwLCAweDA3fX0sCi0gezB4MDUwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHg0MiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHg3ZiwKLSAgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg0OCwgMHg2MCwgMHgwYiwgMHhjMiwgMHgwYywKLSAgMHhjMiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg0OSwgMHg2MCwgMHgwYywgMHhkMiwgMHgwOSwgMHg0MywKLSAgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg0YSwgMHg2MCwgMHgwZCwgMHhjMiwgMHhhZn19LAotIHsweDA1NDYsIDY0LCB7IDB4YzIsIDB4MGIsIDB4ZDIsIDB4MDAsIDB4ZTQsIDB4ZjUsIDB4NTMsIDB4ZjUsIDB4M2EsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NGIsIDB4NjAsIDB4MDUsIDB4MzAsIDB4MTUsCi0gIDB4MDIsIDB4ZDIsIDB4MDksIDB4ZTUsIDB4NGMsIDB4NjAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4NGQsIDB4NjAsIDB4MGEsCi0gIDB4ZDIsIDB4OWMsIDB4YzIsIDB4OTgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4NzUsIDB4MzEsIDB4MWUsIDB4ZTUsIDB4NGUsIDB4NjAsIDB4MDcsIDB4YzJ9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDljLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDJjLCAweGU1LCAweDRmLCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDM5LCAweGU1LCAweDUwLCAweDYwLCAweDAyLAotICAweGQyLCAweDA3LCAweGU1LCAweDUxLCAweDYwLCAweDBhLCAweGU1LCAweDRkLCAweDcwLCAweDAyLCAweGY1LCAweDMxLCAweGU1LCAweDUxLCAweDQyLCAweDM0LAotICAweGU1LCAweDUyLCAweDYwLCAweDFmLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDEyLCAweGYwLAotICAweDc0LCAweDMyLCAweGYwLCAweDc0LCAweDEzLCAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE0LCAweGYwLCAweDc0LCAweDM0LCAweGYwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHhkMiwgMHgwMywgMHhkMiwgMHgwMiwgMHhkMiwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhhMiwgMHgwYywgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwKLSAgMHgyOSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyOSwgMHg0MywgMHgzNCwgMHgwMSwgMHhhMiwgMHgwOSwgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgyYSwgMHg2MCwKLSAgMHgwNSwgMHg4ZiwgMHgyYSwgMHg0MywgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHhmZiwgMHg1NCwgMHgwOCwgMHg2NCwgMHgwOCwgMHhmNSwKLSAgMHg1NywgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNiwgMHg4NSwgMHg1NywgMHgyNSwgMHg0MywgMHgzNCwgMHgwMSwgMHhlZiwgMHg1NCwgMHgxMCwgMHg2NH19LAotIHsweDA2MDYsIDY0LCB7IDB4MTAsIDB4ZjUsIDB4NTcsIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MjYsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4NDAsIDB4NjQsCi0gIDB4NDAsIDB4ZjUsIDB4NTcsIDB4NjUsIDB4MjcsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MjcsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4MjAsCi0gIDB4NjQsIDB4MjAsIDB4ZjUsIDB4NTcsIDB4NjUsIDB4MjgsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MjgsIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsCi0gIDB4OWEsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZjUsIDB4NTcsIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MmV9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDQzLCAweDM0LCAweDAxLCAweDMwLCAweDA3LCAweDM1LCAweGMyLCAweGFmLCAweDMwLCAweDAyLCAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLAotICAweDI3LCAweGU1LCAweDM5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweGU0LCAweGY1LCAweDM5LCAweGMyLCAweDAyLCAweGMyLCAweDA3LAotICAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDM5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI5LAotICAweGYwLCAweGU0LCAweGY1LCAweDM5LCAweGQyLCAweDAyLCAweGMyLCAweDA3LCAweGQyLCAweGFmLCAweDIwLCAweDA1LCAweDNkLCAweDMwLCAweDAzfX0sCi0gezB4MDY4NiwgNjQsIHsgMHgxZSwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMywgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgzYSwKLSAgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg1MywgMHhkMiwgMHgwNSwgMHg3NSwgMHgxMiwgMHhmZiwgMHg4MCwgMHgxYywgMHg5MCwgMHg3ZiwKLSAgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxNSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgzYSwgMHgwMSwgMHg5MCwKLSAgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1MywgMHhkMiwgMHgwNSwgMHg3NSwgMHgxMiwgMHhmZiwgMHgyMCwgMHgxNCwgMHgzMywgMHgyMCwgMHgwMH19LAotIHsweDA2YzYsIDY0LCB7IDB4MDYsIDB4ZTUsIDB4M2EsIDB4NjUsIDB4NTMsIDB4NzAsIDB4MmEsIDB4MzAsIDB4MDUsIDB4MWEsIDB4MzAsIDB4MDMsIDB4MDksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsCi0gIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsCi0gIDB4NTMsIDB4ZjUsIDB4M2EsIDB4MzAsIDB4MGQsIDB4MGEsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDcsIDB4YmYsIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDcsIDB4YmYsIDB4MzAsIDB4MGMsIDB4MDN9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDAyLCAweDA3LCAweGJmLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDA3LCAweGJmLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDYwLCAweDAzLAotICAweDAyLCAweDA3LCAweGJmLCAweDMwLCAweDAzLCAweDBjLCAweDdlLCAweDdlLCAweDdmLCAweDQwLCAweDc1LCAweDU4LCAweDdlLCAweDc1LCAweDU5LCAweDQwLAotICAweDgwLCAweDBhLCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDc1LCAweDU4LCAweDdkLCAweDc1LCAweDU5LCAweGMwLCAweDMwLCAweDEwLCAweDEyLCAweGFmLAotICAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDU5LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1LCAweDgzLCAweGUwLCAweDEzfX0sCi0gezB4MDc0NiwgNjQsIHsgMHg5MiwgMHgxYSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHg1OSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHg1NywgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgyYSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwKLSAgMHhlNSwgMHg1OSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwKLSAgMHgwNSwgMHgzYSwgMHhlNSwgMHg1OSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNn19LAotIHsweDA3ODYsIDY0LCB7IDB4ZDIsIDB4MGIsIDB4ODAsIDB4MTUsIDB4YzIsIDB4MGIsIDB4MzAsIDB4MDMsIDB4MDksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsCi0gIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MTAsIDB4MDQsIDB4YTIsIDB4MWEsIDB4OTIsIDB4OWIsIDB4ZDIsCi0gIDB4MTQsIDB4YzIsIDB4YWYsIDB4ODUsIDB4NTcsIDB4OTksIDB4MjAsIDB4MGIsIDB4MGQsIDB4MzAsIDB4MGQsIDB4MGEsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MDAsCi0gIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGN9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGE0LCAweDA5LCAweDFjLCAweDAwLCAweDA5LCAweDg5LCAweDAxLCAweDA5LCAweGU2LCAweDAzLCAweDA3LCAweGUzLCAweDA2LCAweDA5LCAweDBkLCAweDA4LCAweDA5LAotICAweDAxLCAweDA5LCAweDA4LCAweGU5LCAweDBhLCAweDA4LCAweGY4LCAweDBiLCAweDAwLCAweDAwLCAweDBhLCAweDI0LCAweDkwLCAweDdmLCAweGViLCAweGUwLAotICAweDI0LCAweGZlLCAweDYwLCAweDFjLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA4LCAweDc5LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBhLAotICAweDI0LCAweDc0LCAweDBkLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDg3LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBhfX0sCi0gezB4MDgwNiwgNjQsIHsgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHhkOCwKLSAgMHg3NSwgMHg4MywgMHgwZCwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhkMSwgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg3NSwgMHg4MiwgMHhjYSwgMHg3NSwKLSAgMHg4MywgMHgwZCwgMHhmMCwgMHg3NSwgMHg4MiwgMHhjMywgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwKLSAgMHg4MiwgMHg5ZSwgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlZiwgMHhlMCwgMHhmZSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMH19LAotIHsweDA4NDYsIDY0LCB7IDB4N2MsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4NWEsIDB4ZWMsIDB4M2UsIDB4ZjUsIDB4NTksIDB4NzUsIDB4MTUsIDB4MGQsIDB4NzUsIDB4MTYsIDB4OTksIDB4NzUsCi0gIDB4ODIsIDB4OWIsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZTAsIDB4NzUsIDB4MTMsIDB4MDAsIDB4ZjUsIDB4MTQsIDB4ZDMsIDB4ZTUsIDB4MTQsIDB4OTUsIDB4NWEsCi0gIDB4ZTUsIDB4MTMsIDB4OTUsIDB4NTksIDB4NDAsIDB4MDYsIDB4ODUsIDB4NTksIDB4MTMsIDB4ODUsIDB4NWEsIDB4MTQsIDB4MTIsIDB4MGIsIDB4YmEsIDB4MDIsCi0gIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MGIsIDB4NzUsIDB4NTYsIDB4ZmYsIDB4NzUsIDB4NTcsIDB4MGQsIDB4NzV9fSwKLSB7MHgwODg2LCA2NCwgeyAweDU4LCAweGRjLCAweDgwLCAweDJkLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDBiLCAweDc1LCAweDU2LCAweGZmLCAweDc1LCAweDU3LCAweDBkLAotICAweDc1LCAweDU4LCAweGUwLCAweDgwLCAweDFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAyLCAweDBiLCAweDc1LCAweDU2LCAweGZmLCAweDc1LAotICAweDU3LCAweDBkLCAweDc1LCAweDU4LCAweGYwLCAweDgwLCAweDA5LCAweDc1LCAweDU2LCAweGZmLCAweDc1LCAweDU3LCAweDBlLCAweDc1LCAweDU4LCAweDFlLAotICAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweDc1LCAweDU5LCAweDAwLCAweGY1LCAweDVhLCAweGFlLCAweDU3LCAweGFmLCAweDU4LCAweDhlLCAweDE1fX0sCi0gezB4MDhjNiwgNjQsIHsgMHg4ZiwgMHgxNiwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHg4ZSwgMHgxMywgMHhmNSwgMHgxNCwgMHhkMywgMHg5NSwgMHg1YSwKLSAgMHhlNSwgMHgxMywgMHg5NSwgMHg1OSwgMHg0MCwgMHgwNiwgMHg4NSwgMHg1OSwgMHgxMywgMHg4NSwgMHg1YSwgMHgxNCwgMHgxMiwgMHgwYiwgMHhiYSwgMHgwMiwKLSAgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYSwKLSAgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxMSwgMHgwMiwgMHgwYSwgMHgyYiwgMHgxMiwgMHgwYywgMHgyNCwgMHg5MCwgMHg3Zn19LAotIHsweDA5MDYsIDY0LCB7IDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTAsIDB4MDIsIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjcsIDB4MTQsIDB4NjAsIDB4MzQsCi0gIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGEsIDB4MjQsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsCi0gIDB4MTgsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzR9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDAyLCAweGYwLCAweDAyLCAweDBhLCAweDJiLCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLAotICAweGYwLCAweDAyLCAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLAotICAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLAotICAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwfX0sCi0gezB4MDk4NiwgNjQsIHsgMHgwMiwgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNywgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYSwKLSAgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYSwgMHgyNCwgMHhjMiwgMHgxNiwgMHgwMiwgMHgwYSwKLSAgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwKLSAgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH19LAotIHsweDA5YzYsIDY0LCB7IDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsCi0gIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NDUsIDB4OTAsCi0gIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NjQsCi0gIDB4MDEsIDB4NzAsIDB4MmEsIDB4ZDIsIDB4MTYsIDB4ODAsIDB4MmQsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYTA2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LAotICAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweGMyLCAweDEwLCAweGU0LCAweGY1LAotICAweDEwLCAweGY1LCAweDM0LCAweGMyLCAweDA5LCAweGMyLCAweDBjLCAweGMyLCAweDBiLCAweGMyLCAweDE0LCAweGMyLCAweDBkLCAweGMyLCAweDE1fX0sCi0gezB4MGE0NiwgNjQsIHsgMHhjMiwgMHgxMSwgMHhjMiwgMHgwNywgMHhjMiwgMHgxMiwgMHhjMiwgMHgwZiwgMHhjMiwgMHgwOCwgMHhmNSwgMHgzNSwgMHhmNSwgMHgzOSwgMHhmNSwgMHg1MywgMHhmNSwKLSAgMHgzYSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMCwgMHhmNSwgMHgyZiwgMHhmNSwgMHgyZSwgMHhmNSwgMHgyZCwgMHhmNSwgMHgyYywgMHhmNSwgMHgyYiwgMHhmNSwKLSAgMHgyYSwgMHhmNSwgMHgyOSwgMHhmNSwgMHgyOCwgMHhmNSwgMHgyNywgMHhmNSwgMHgyNiwgMHhmNSwgMHgyNSwgMHhmNSwgMHgyNCwgMHhjMiwgMHgwNSwgMHhjMiwKLSAgMHgxNywgMHhjMiwgMHgxOSwgMHhjMiwgMHgxNiwgMHhjMiwgMHgxOCwgMHhjMiwgMHgwNCwgMHhkMiwgMHgxMywgMHhjMiwgMHgwNiwgMHhjMiwgMHgwMX19LAotIHsweDBhODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsCi0gIDB4ZTAsIDB4NDQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YmMsIDB4ZDJ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweDFhLCAweDEyLCAweDBmLCAweDdkLCAweGMyLCAweDE3LCAweDMwLCAweDA0LCAweDAzLCAweDEyLCAweDA0LCAweDQ4LCAweDMwLCAweDA0LCAweDJhLCAweDMwLCAweDA2LAotICAweDI3LCAweGMyLCAweDA2LCAweGU1LCAweDEyLCAweDYwLCAweDE2LCAweDE1LCAweDEyLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDMwLCAweGU2LCAweDA0LAotICAweDdmLCAweDAwLCAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLCAweDgwLCAweDA2LCAweDkwLCAweDdmLCAweDk2LAotICAweDc0LCAweDIwLCAweGYwLCAweDEyLCAweDBiLCAweDE0LCAweDgwLCAweGNkLCAweDMwLCAweDE3LCAweDA3LCAweGMyLCAweDE3LCAweDEyLCAweDA3fX0sCi0gezB4MGIwNiwgNjQsIHsgMHhjMCwgMHg4MCwgMHhjMywgMHgzMCwgMHgxOSwgMHhjMCwgMHhjMiwgMHgxOSwgMHgxMiwgMHgwZSwgMHhkYywgMHg4MCwgMHhiOSwgMHgyMiwgMHhlNSwgMHgzMSwgMHg2MCwKLSAgMHgwMiwgMHgxNSwgMHgzMSwgMHhlNSwgMHgzOSwgMHg2MCwgMHg1NSwgMHg2NSwgMHgzNSwgMHg3MCwgMHg0YiwgMHhlNSwgMHgzMywgMHhmNCwgMHg2MCwgMHgwMiwKLSAgMHgwNSwgMHgzMywgMHhlNSwgMHgzMywgMHhjMywgMHg5NSwgMHg0NCwgMHg0MCwgMHg0MywgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMiwgMHgxYiwgMHg5MCwgMHg3ZiwKLSAgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyZCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHgzOSwgMHhmMCwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNX19LAotIHsweDBiNDYsIDY0LCB7IDB4MzksIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MTIsIDB4ZmYsIDB4ODAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsCi0gIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzksIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzUsIDB4NzUsCi0gIDB4MTIsIDB4ZmYsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MDYsIDB4ODUsIDB4MzksIDB4MzUsIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZTUsIDB4MmMsIDB4NjAsIDB4MzAsCi0gIDB4MjAsIDB4MGYsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MGYsIDB4ZTUsIDB4MmQsIDB4NjAsIDB4MDYsIDB4ZTR9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGY1LCAweDJkLCAweDQzLCAweDM0LCAweDAxLCAweGU0LCAweGY1LCAweDMwLCAweDgwLCAweDE0LCAweGU1LCAweDMwLCAweGQzLCAweDk1LCAweDQ1LCAweDUwLCAweDBkLAotICAweGU1LCAweDMwLCAweGI1LCAweDQ1LCAweDA2LCAweDc1LCAweDJkLCAweDAxLCAweDQzLCAweDM0LCAweDAxLCAweDA1LCAweDMwLCAweGMyLCAweDBmLCAweDIyLAotICAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDMwLCAweGUyLCAweDA0LCAweDdmLCAweDAwLCAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LAotICAweGVmLCAweGYwLCAweDIyLCAweGU1LCAweDE0LCAweDQ1LCAweDEzLCAweDYwLCAweDU3LCAweGFlLCAweDEzLCAweGFmLCAweDE0LCAweGQzLCAweGVmfX0sCi0gezB4MGJjNiwgNjQsIHsgMHg5NCwgMHg0MCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHg0MCwgMHhjMywgMHhlNSwgMHgxNCwgMHg5ZiwgMHhmNSwgMHgxNCwKLSAgMHhlNSwgMHgxMywgMHg5ZSwgMHhmNSwgMHgxMywgMHhlNCwgMHhmZCwgMHhlZCwgMHhjMywgMHg5ZiwgMHhlNCwgMHg5ZSwgMHg1MCwgMHgxZiwgMHg4NSwgMHgxNiwKLSAgMHg4MiwgMHg4NSwgMHgxNSwgMHg4MywgMHhlMCwgMHhmYywgMHg3NCwgMHgwMCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywKLSAgMHhlYywgMHhmMCwgMHgwZCwgMHgwNSwgMHgxNiwgMHhlNSwgMHgxNiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgxNSwgMHg4MCwgMHhkYSwgMHg5MCwgMHg3Zn19LAotIHsweDBjMDYsIDY0LCB7IDB4YTksIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZWYsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTQsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4NzQsIDB4ODZ9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDg0LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGYwLAotICAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDc1LCAweDk4LCAweDQwLAotICAweDQzLCAweGE4LCAweDEwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDFmLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweDBmLCAweGYwLCAweGQyLAotICAweDA0LCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyfX0sCi0gezB4MGM4NiwgNjQsIHsgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwKLSAgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwKLSAgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwKLSAgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhM319LAotIHsweDBjYzYsIDY0LCB7IDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NDQsIDB4NDIsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OWMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4YmUsIDB4ZjAsIDB4MzAsCi0gIDB4MTYsIDB4MDQsIDB4N2YsIDB4ODAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZWYsIDB4ZjAsIDB4ZTQsIDB4OTB9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGMwLAotICAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLAotICAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDEyLCAweDBiLCAweGJhLCAweGQwLCAweGQwLCAweGQwLAotICAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweDMyLCAweGMwfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwKLSAgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwKLSAgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBkODYsIDY0LCB7IDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MWMsIDB4MDEsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDIsCi0gIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NDMsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDcsCi0gIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LAotICAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDEwLCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LAotICAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDJlLCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LAotICAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUwLCAweDAwfX0sCi0gezB4MGUwNiwgNjQsIHsgMHg1MywgMHgwMCwgMHg0OCwgMHgwMCwgMHgzMSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgzMiwgMHgwMCwgMHgyZCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywgMHgwMCwgMHgyMiwgMHgwMywgMHg1NSwgMHgwMCwgMHg1MywgMHgwMCwgMHg0MSwgMHgwMCwgMHgyZCwKLSAgMHgwMCwgMHgzNSwgMHgwMCwgMHgzMywgMHgwMCwgMHgyMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg3MCwgMHgwMCwgMHg3MiwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4M319LAotIHsweDBlNDYsIDY0LCB7IDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDIsIDB4MDYsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsCi0gIDB4MDAsIDB4ZDIsIDB4MTcsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLAotICAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE5LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwfX0sCi0gezB4MGVjNiwgNjQsIHsgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMiwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHgxMiwgMHgwYywgMHhjYSwgMHgxMiwgMHgwZiwgMHhiMywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwKLSAgMHhlNywgMHgxMiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwgMHg3ZiwgMHhkNiwKLSAgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgxMiwgMHgwYywgMHgyNCwgMHgyMiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg2OSwgMHgwMCwgMHgwMiwgMHgwZX19LAotIHsweDBmMDYsIDY0LCB7IDB4NDIsIDB4MDAsIDB4MDIsIDB4MGQsIDB4NDUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MTAsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MTQsCi0gIDB4MDAsIDB4MDIsIDB4MGQsIDB4MTIsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MWMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4YjcsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MjQsCi0gIDB4MDAsIDB4MDIsIDB4MGYsIDB4MzMsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MmMsIDB4MDAsIDB4MDIsIDB4MGYsIDB4NTgsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsCi0gIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTB9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDdmLCAweGE5LCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLAotICAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLAotICAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLAotICAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0fX0sCi0gezB4MGY4NiwgNjEsIHsgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwKLSAgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwKLSAgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMn19LAotIHsweGZmZmYsCTAsCXsweDAwfX0KLX07Ci0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMKaW5kZXggZmY1NDIwMy4uNjQ0YTFlYSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMKQEAgLTc2LDE4ICs3NiwxNCBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CiAKIHN0YXRpYyBpbnQgZGVidWc7CiAKLXN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIHsKLQlfX3UxNiBhZGRyZXNzOwotCV9fdTggZGF0YV9zaXplOwotCV9fdTggZGF0YVsxNl07Ci19OwotCiAvKiBtYWtlIGEgc2ltcGxlIGRlZmluZSB0byBoYW5kbGUgaWYgd2UgYXJlIGNvbXBpbGluZyBrZXlzcGFuX3BkYSBvciB4aXJjb20gc3VwcG9ydCAqLwogI2lmIGRlZmluZWQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9QREEpIHx8IGRlZmluZWQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9QREFfTU9EVUxFKQogCSNkZWZpbmUgS0VZU1BBTgpAQCAtMTAwLDE0ICs5Niw2IEBACiAJI3VuZGVmIFhJUkNPTQogI2VuZGlmCiAKLSNpZmRlZiBLRVlTUEFOCi0jaW5jbHVkZSAia2V5c3Bhbl9wZGFfZncuaCIKLSNlbmRpZgotCi0jaWZkZWYgWElSQ09NCi0jaW5jbHVkZSAieGlyY29tX3Bnc19mdy5oIgotI2VuZGlmCi0KIC8qCiAgKiBWZXJzaW9uIEluZm9ybWF0aW9uCiAgKi8KQEAgLTcyMiwzOCArNzEwLDQ3IEBACiBzdGF0aWMgaW50IGtleXNwYW5fcGRhX2Zha2Vfc3RhcnR1cCAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCkKIHsKIAlpbnQgcmVzcG9uc2U7Ci0JY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKnJlY29yZCA9IE5VTEw7CisJY29uc3QgY2hhciAqZndfbmFtZTsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCiAJLyogZG93bmxvYWQgdGhlIGZpcm13YXJlIGhlcmUgLi4uICovCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQoc2VyaWFsLCAxKTsKIAorCWlmICgwKSB7IDsgfQogI2lmZGVmIEtFWVNQQU4KLQlpZiAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IEtFWVNQQU5fVkVORE9SX0lEKQotCQlyZWNvcmQgPSAma2V5c3Bhbl9wZGFfZmlybXdhcmVbMF07CisJZWxzZSBpZiAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IEtFWVNQQU5fVkVORE9SX0lEKQorCQlmd19uYW1lID0gImtleXNwYW5fcGRhL2tleXNwYW5fcGRhLmZ3IjsKICNlbmRpZgogI2lmZGVmIFhJUkNPTQotCWlmICgobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IFhJUkNPTV9WRU5ET1JfSUQpIHx8Ci0JICAgIChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gRU5UUkVHUkFfVkVORE9SX0lEKSkKLQkJcmVjb3JkID0gJnhpcmNvbV9wZ3NfZmlybXdhcmVbMF07CisJZWxzZSBpZiAoKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBYSVJDT01fVkVORE9SX0lEKSB8fAorCQkgKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBFTlRSRUdSQV9WRU5ET1JfSUQpKQorCQlmd19uYW1lID0gImtleXNwYW5fcGRhL3hpcmNvbV9wZ3MuZnciOwogI2VuZGlmCi0JaWYgKHJlY29yZCA9PSBOVUxMKSB7CisJZWxzZSB7CiAJCWVycigiJXM6IHVua25vd24gdmVuZG9yLCBhYm9ydGluZy4iLCBfX2Z1bmNfXyk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KKwlpZiAocmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJnNlcmlhbC0+ZGV2LT5kZXYpKSB7CisJCWVycigiZmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLCBmd19uYW1lKTsKKwkJcmV0dXJuIC1FTk9FTlQ7CisJfQorCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKIAotCXdoaWxlKHJlY29yZC0+YWRkcmVzcyAhPSAweGZmZmYpIHsKLQkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeShzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywKKwl3aGlsZSAocmVjb3JkKSB7CisJCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAogCQkJCQkgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAotCQkJCQkgICAgIHJlY29yZC0+ZGF0YV9zaXplLCAweGEwKTsKKwkJCQkJICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTApOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQllcnIoImV6dXNiX3dyaXRlbWVtb3J5IGZhaWxlZCBmb3IgS2V5c3BhbiBQREEgIgogCQkJICAgICJmaXJtd2FyZSAoJWQgJTA0WCAlcCAlZCkiLAotCQkJICAgIHJlc3BvbnNlLCAKLQkJCSAgICByZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJICAgIHJlc3BvbnNlLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJICAgIHJlY29yZC0+ZGF0YSwgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9Ci0JCXJlY29yZCsrOworCQlyZWNvcmQgPSBpaGV4X25leHRfYmlucmVjKHJlY29yZCk7CiAJfQorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCS8qIGJyaW5nIGRldmljZSBvdXQgb2YgcmVzZXQuIFJlbnVtZXJhdGlvbiB3aWxsIG9jY3VyIGluIGEgbW9tZW50CiAJICAgYW5kIHRoZSBuZXcgZGV2aWNlIHdpbGwgYmluZCB0byB0aGUgcmVhbCBkcml2ZXIgKi8KIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldChzZXJpYWwsIDApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGFfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjI1M2FjYy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGFfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLS8qCi0gKiBVU0IgS2V5c3BhbiBQREEgRmlybXdhcmUKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAgQnJpYW4gV2FybmVyCTx3YXJuZXJAbG90aGFyLmNvbT4KLSAqCi0gKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIEdlbmVyYXRlZCBmcm9tIGtleXNwYW5fcGRhLnMgYnkgZXp1c2JfY29udmVydC5wbAotICoKLSAqLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl9wZGFfZmlybXdhcmVbXSA9IHsKLXsgMHgwMDAwLAkzLAl7MHgwMiwgMHgwMiwgMHgwMH0gfSwKLXsgMHgwMDIzLAk0LAl7MHgwMiwgMHgwNSwgMHg1ZiwgMHgwMH0gfSwKLXsgMHgwMDQzLAk0LAl7MHgwMiwgMHgwMSwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMDMwLAk1LAl7MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTAwLAkxNiwJezB4MDIsIDB4MDIsIDB4OTYsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDExMCwJMTYsCXsweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAxMjAsCTE2LAl7MHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNCwgMHg2MSwgMHgwMCwgMHgwMiwgMHgwNCwgMHg4OSwgMHgwMH0gfSwKLXsgMHgwMjAwLAkxNiwJezB4NzUsIDB4ODEsIDB4NWUsIDB4ZTQsIDB4ZjUsIDB4MzIsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzQsIDB4YzIsIDB4MDB9IH0sCi17IDB4MDIxMCwJMTYsCXsweGMyLCAweDAxLCAweGE5LCAweDAwLCAweDc0LCAweGZlLCAweDkwLCAweDEwLCAweDAwLCAweGYwLCAweGEzLCAweGQ5LCAweGZjLCAweDc0LCAweGZkLCAweDkwfSB9LAoteyAweDAyMjAsCTE2LAl7MHgxMSwgMHgwMCwgMHhmMCwgMHhhMywgMHhkOSwgMHhmYywgMHg3NCwgMHgwMiwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMjMwLAkxNiwJezB4OTcsIDB4ZjAsIDB4NzQsIDB4ODYsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDI0MCwJMTYsCXsweGFmLCAweGUwLCAweGQyLCAweGUwLCAweGYwLCAweDc0LCAweDAxLCAweDkwLCAweDdmLCAweGFiLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGYwLCAweDkwfSB9LAoteyAweDAyNTAsCTE2LAl7MHg3ZiwgMHhhYywgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZCwgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg3NH0gfSwKLXsgMHgwMjYwLAkxNiwJezB4ODQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4OTgsIDB4NzUsIDB4YzgsIDB4MzAsIDB4N2IsIDB4MDUsIDB4OTEsIDB4MjB9IH0sCi17IDB4MDI3MCwJMTYsCXsweGQyLCAweGNhLCAweDc1LCAweDk4LCAweDUwLCAweGQyLCAweGU4LCAweGQyLCAweGFmLCAweGQyLCAweGFjLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwfSB9LAoteyAweDAyODAsCTE2LAl7MHg3ZiwgMHhkNiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3OSwgMHgyZSwgMHg3YSwgMHgwMCwgMHg3YiwgMHgwMCwgMHhkYiwgMHhmZSwgMHhkYSwgMHhmYSwgMHhkOX0gfSwKLXsgMHgwMjkwLAkxNiwJezB4ZjYsIDB4NzQsIDB4MDYsIDB4ZjAsIDB4ODAsIDB4ZmUsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODV9IH0sCi17IDB4MDJhMCwJMTYsCXsweGMwLCAweGUwLCAweGU1LCAweDkxLCAweGMyLCAweGU0LCAweGY1LCAweDkxLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDAyYjAsCTE2LAl7MHhlOCwgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHhhMywgMHhlMCwgMHhmYiwgMHhhMywgMHhlMCwgMHhmYywgMHhlOSwgMHg1NCwgMHg2MCwgMHhiNH0gfSwKLXsgMHgwMmMwLAkxNiwJezB4MDAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4MzksIDB4YjQsIDB4NDAsIDB4NmUsIDB4YmEsIDB4MDAsIDB4MGIsIDB4MTIsIDB4MDQsIDB4MjAsIDB4NDAsIDB4MDN9IH0sCi17IDB4MDJkMCwJMTYsCXsweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAyLCAweDAzLCAweDAyfSB9LAoteyAweDAyZTAsCTE2LAl7MHgwNCwgMHgwYSwgMHhiYSwgMHgwMywgMHgwMywgMHgwMiwgMHgwNCwgMHg0NCwgMHhiYSwgMHgwNCwgMHgxZSwgMHhiYiwgMHgwMCwgMHgwYSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMmYwLAkxNiwJezB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDMwMCwJMTYsCXsweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweGJhLCAweDA1LCAweDAzLCAweDAyLCAweDA0LCAweDBhLCAweGJhfSB9LAoteyAweDAzMTAsCTE2LAl7MHgwNiwgMHgxOSwgMHhiYiwgMHgwMCwgMHgwOCwgMHhlNSwgMHgzMywgMHhkMywgMHg5NSwgMHgzMiwgMHgwMiwgMHgwMywgMHhkZSwgMHhiYiwgMHgwMSwgMHgwOH0gfSwKLXsgMHgwMzIwLAkxNiwJezB4ZTUsIDB4MzIsIDB4YzMsIDB4OTUsIDB4MzMsIDB4MDIsIDB4MDMsIDB4ZGUsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDcsIDB4MDUsIDB4OGIsIDB4MzR9IH0sCi17IDB4MDMzMCwJMTYsCXsweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDBhLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAwLCAweDIwLCAweGI5LCAweDgwLCAweDEwLCAweDkwfSB9LAoteyAweDAzNDAsCTE2LAl7MHg3ZiwgMHgwMCwgMHhlNCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiOX0gfSwKLXsgMHgwMzUwLAkxNiwJezB4ODIsIDB4MDIsIDB4ODAsIDB4ZWIsIDB4YjksIDB4ODEsIDB4MDIsIDB4ODAsIDB4ZTYsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDEsIDB4MGYsIDB4YmJ9IH0sCi17IDB4MDM2MCwJMTYsCXsweDAwLCAweDAzLCAweDAyLCAweDA0LCAweDBhLCAweGJiLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAzfSB9LAoteyAweDAzNzAsCTE2LAl7MHgwZiwgMHhiYiwgMHgwMCwgMHgwMywgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYiwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYX0gfSwKLXsgMHgwMzgwLAkxNiwJezB4YmEsIDB4MDYsIDB4NTYsIDB4YmMsIDB4MDEsIDB4MGYsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4NzQsIDB4MDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4NzR9IH0sCi17IDB4MDM5MCwJMTYsCXsweDEyLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweGJjLCAweDAyLCAweDEyLCAweGJiLCAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweGQ0LCAweDc0LCAweDA2fSB9LAoteyAweDAzYTAsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHg3NCwgMHgyNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYywgMHgwMywgMHgyOSwgMHg3NCwgMHgwNCwgMHhjM30gfSwKLXsgMHgwM2IwLAkxNiwJezB4OWIsIDB4NDAsIDB4NTcsIDB4NjAsIDB4NTUsIDB4ZWIsIDB4MmIsIDB4OTAsIDB4MDYsIDB4NDQsIDB4MjUsIDB4ODIsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4MDB9IH0sCi17IDB4MDNjMCwJMTYsCXsweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweDkwLCAweDdmLCAweGQ0LCAweGU5LCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDAzZDAsCTE2LAl7MHhkNSwgMHhlYSwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwOCwgMHgwZiwgMHg3NCwgMHgwMSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwM2UwLAkxNiwJezB4MDAsIDB4ZjAsIDB4NzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YmEsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDR9IH0sCi17IDB4MDNmMCwJMTYsCXsweDAyLCAweGJhLCAweDBhLCAweDA1LCAweDc0LCAweDAwLCAweDAyLCAweDAzLCAweGRlLCAweGJhLCAweDBiLCAweDAzLCAweDAyLCAweDA0LCAweDAyLCAweDAyfSB9LAoteyAweDA0MDAsCTE2LAl7MHgwNCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMX0gfSwKLXsgMHgwNDEwLAkxNiwJezB4ZjAsIDB4ODAsIDB4MDAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzJ9IH0sCi17IDB4MDQyMCwJMTYsCXsweGViLCAweDIwLCAweGU3LCAweDFlLCAweGMzLCAweDk0LCAweDBhLCAweDUwLCAweDE5LCAweGViLCAweDIzLCAweDI0LCAweGZlLCAweGY1LCAweDgyLCAweDc0fSB9LAoteyAweDA0MzAsCTE2LAl7MHgwNSwgMHgzNCwgMHgwMCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhjYiwgMHhmNSwgMHhjZCwgMHhhMywgMHhlMCwgMHhmNSwgMHhjYSwgMHhmNSwgMHhjY30gfSwKLXsgMHgwNDQwLAkxNiwJezB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIDB4YjksIDB4NDEsIDB4MTEsIDB4ZWIsIDB4NjQsIDB4ZmYsIDB4NTQsIDB4ODQsIDB4ZmIsIDB4OTAsIDB4N2YsIDB4OTh9IH0sCi17IDB4MDQ1MCwJMTYsCXsweGUwLCAweDU0LCAweDdiLCAweDRiLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDY0LCAweGZmLCAweDAyLCAweDAzfSB9LAoteyAweDA0NjAsCTE2LAl7MHhkZSwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHhlNSwgMHg5MSwgMHhjMn0gfSwKLXsgMHgwNDcwLAkxNiwJezB4ZTQsIDB4ZjUsIDB4OTEsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDQsIDB4ZjAsIDB4MTIsIDB4MDUsIDB4YTAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODV9IH0sCi17IDB4MDQ4MCwJMTYsCXsweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwfSB9LAoteyAweDA0OTAsCTE2LAl7MHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwNH0gfSwKLXsgMHgwNGEwLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjksIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2QsIDB4YzAsIDB4NzUsIDB4ODUsIDB4MTAsIDB4ODV9IH0sCi17IDB4MDRiMCwJMTYsCXsweDMyLCAweDg0LCAweGUwLCAweDA1LCAweDg2LCAweDA1LCAweDg0LCAweGYwLCAweGU1LCAweDg0LCAweGI1LCAweDMzLCAweDAyLCAweDgwLCAweDA5LCAweDA1fSB9LAoteyAweDA0YzAsCTE2LAl7MHgzMiwgMHgwNSwgMHg4NiwgMHhhMywgMHhkOSwgMHhlYywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhiMSwgMHgzMSwgMHhkMCwgMHhlMH0gfSwKLXsgMHgwNGQwLAkxNiwJezB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDRlMCwJMTYsCXsweGJjLCAweGUwLCAweDIwLCAweGUxLCAweDRiLCAweDkwLCAweDdkLCAweDAwLCAweGU1LCAweDMyLCAweGYwLCAweGEzLCAweGU1LCAweDMzLCAweGYwLCAweGEzfSB9LAoteyAweDA0ZjAsCTE2LAl7MHhlNSwgMHgzMCwgMHhmMCwgMHhhMywgMHhlNSwgMHgzMSwgMHhmMCwgMHhhMywgMHhlNCwgMHgzMCwgMHgwMCwgMHgwMSwgMHgwNCwgMHhmMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgwNTAwLAkxNiwJezB4ODYsIDB4OTAsIDB4MTAsIDB4MDAsIDB4NzksIDB4MTAsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZDksIDB4ZjZ9IH0sCi17IDB4MDUxMCwJMTYsCXsweDA1LCAweDg2LCAweDc0LCAweGZjLCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDkwLCAweDExLCAweDAwLCAweDc5LCAweDEwLCAweGUwLCAweGEzLCAweDA1fSB9LAoteyAweDA1MjAsCTE2LAl7MHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkOSwgMHhmNiwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHg3NCwgMHgyNiwgMHhmMH0gfSwKLXsgMHgwNTMwLAkxNiwJezB4MjIsIDB4MjAsIDB4MDAsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4YjUsIDB4MzMsIDB4MDEsIDB4MjIsIDB4MDUsIDB4MzMsIDB4NzUsIDB4ODMsIDB4MTAsIDB4ODV9IH0sCi17IDB4MDU0MCwJMTYsCXsweDMzLCAweDgyLCAweGUwLCAweGY1LCAweDk5LCAweGQyLCAweDAwLCAweDc0LCAweDAwLCAweGI1LCAweDM0LCAweDAxLCAweDIyLCAweGU1LCAweDMzLCAweGQzfSB9LAoteyAweDA1NTAsCTE2LAl7MHg5NSwgMHgzMiwgMHhjMywgMHg5NSwgMHgzNCwgMHg0MCwgMHhmNSwgMHg3NSwgMHgzNCwgMHgwMCwgMHhkMiwgMHgwMSwgMHgwMiwgMHgwNSwgMHhhMCwgMHhjMH0gfSwKLXsgMHgwNTYwLAkxNiwJezB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4MzAsIDB4OTksIDB4MDcsIDB4YzIsIDB4OTl9IH0sCi17IDB4MDU3MCwJMTYsCXsweGMyLCAweDAwLCAweDEyLCAweDA1LCAweDM0LCAweDMwLCAweDk4LCAweDA1LCAweDEyLCAweDA1LCAweDhhLCAweGMyLCAweDk4LCAweGQwLCAweGUwLCAweGQwfSB9LAoteyAweDA1ODAsCTE2LAl7MHg4NSwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHg3NSwgMHg4MywgMHgxMSwgMHg4NSwgMHgzMCwgMHg4Mn0gfSwKLXsgMHgwNTkwLAkxNiwJezB4MDUsIDB4ODIsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4YjUsIDB4MzEsIDB4MDEsIDB4MjIsIDB4MDUsIDB4MzAsIDB4YjEsIDB4YTAsIDB4MjJ9IH0sCi17IDB4MDVhMCwJMTYsCXsweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDM4LCAweDIwLCAweDAxLCAweDM2LCAweGU1LCAweDMwLCAweGI1LCAweDMxLCAweDAxLCAweDIyfSB9LAoteyAweDA1YjAsCTE2LAl7MHhlNCwgMHhmNSwgMHg4NiwgMHg3NSwgMHg4MywgMHgxMSwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHgwMCwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHg3OX0gfSwKLXsgMHgwNWMwLAkxNiwJezB4MDEsIDB4ZTUsIDB4MzAsIDB4YjUsIDB4MzEsIDB4MDIsIDB4ODAsIDB4MTAsIDB4MDUsIDB4MzEsIDB4ODUsIDB4MzEsIDB4ODIsIDB4ZTAsIDB4MDUsIDB4ODZ9IH0sCi17IDB4MDVkMCwJMTYsCXsweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDA5LCAweGI5LCAweDQwLCAweGU5LCAweDkwLCAweDdmLCAweGI5LCAweGU5LCAweDYwLCAweDAxLCAweGYwLCAweDIyfSB9LAoteyAweDA1ZTAsCTE2LAl7MHhjMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwNWYwLAkxNiwJezB4N2YsIDB4YjksIDB4ZjAsIDB4MjIsIDB4YzIsIDB4OTksIDB4ZjUsIDB4OTksIDB4MzAsIDB4OTksIDB4ZmQsIDB4YzIsIDB4OTksIDB4MjIsIDB4ZTUsIDB4NWV9IH0sCi17IDB4MDYwMCwJMTYsCXsweGY2LCAweDNjLCAweGZkLCAweDhmLCAweGZlLCAweGM4LCAweGZmLCAweDY0LCAweGZmLCAweGIyLCAweGZmLCAweGQ5LCAweGZmLCAweGVkLCAweGZmLCAweGYzfSB9LAoteyAweDA2MTAsCTE2LAl7MHhmZiwgMHhmYSwgMHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZiwgMHhmZiwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwNCwgMHgwMSwgMHg4OSwgMHhhYn0gfSwKLXsgMHgwNjIwLAkxNiwJezB4MDEsIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDksIDB4MDIsIDB4MjAsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDB9IH0sCi17IDB4MDYzMCwJMTYsCXsweDAwLCAweDAyLCAweGZmLCAweGZmLCAweGZmLCAweDAwLCAweDA3LCAweDA1LCAweDgyLCAweDAzLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDAyfSB9LAoteyAweDA2NDAsCTE2LAl7MHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHg0YywgMHgwNiwgMHg1MCwgMHgwNiwgMHg3MiwgMHgwNiwgMHhhMCwgMHgwNCwgMHgwMywgMHgwMCwgMHgwMH0gfSwKLXsgMHgwNjUwLAkxNiwJezB4MjIsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NGQsIDB4MDAsIDB4NDUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzMsIDB4MDB9IH0sCi17IDB4MDY2MCwJMTYsCXsweDYyLCAweDAwLCAweDIwLCAweDAwLCAweDc3LCAweDAwLCAweDY5LCAweDAwLCAweDY0LCAweDAwLCAweDY3LCAweDAwLCAweDY1LCAweDAwLCAweDc0LCAweDAwfSB9LAoteyAweDA2NzAsCTE2LAl7MHg3MywgMHgwMCwgMHgyZSwgMHgwMywgMHg0MSwgMHgwMCwgMHg0MywgMHgwMCwgMHg0ZCwgMHgwMCwgMHg0NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMH0gfSwKLXsgMHgwNjgwLAkxNiwJezB4NTMsIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDB9IH0sCi17IDB4MDY5MCwJMTYsCXsweDZjLCAweDAwLCAweDIwLCAweDAwLCAweDc3LCAweDAwLCAweDY5LCAweDAwLCAweDY0LCAweDAwLCAweDY3LCAweDAwLCAweDY1LCAweDAwLCAweDc0LCAweDAwfSB9LAoteyAweDA2YTAsCTYsCXsweDA2LCAweDAzLCAweDM0LCAweDAwLCAweDM3LCAweDAwfSB9LAoteyAweGZmZmYsCTAsCXsweDAwfSB9Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTh4X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOHhfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTdiM2JjMC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOHhfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0NyArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTE4eF9mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTE4eF9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOHhfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDEyLCAweGY3fX0sCi0gezB4MDAwMywgMTYsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDAwMTMsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwMDIzLCAxNSwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDA3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwOSwgMHgxOCwgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzYywgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDFiLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGMsIDB4YmF9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOX19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBjLCAweGJhLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg2MCwgMHgxMiwgMHgxMSwgMHhkNiwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTksIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MzYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTUsIDB4M2EsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTIsIDB4ZWJ9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM2LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBiLCAweDVlLCAweGMyLCAweDBiLCAweGU1LCAweDE5fX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MTMsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBlLCAweDAwfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHhlNSwgMHgzNiwgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZSwKLSAgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNiwgMHgxMiwgMHgwZiwgMHg0YiwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwKLSAgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOH19LAotIHsweDAxNDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsCi0gIDB4MGMsIDB4ZGYsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsCi0gIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTgsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2F9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDdlLCAweDc5LCAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDY4LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDI0LAotICAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDdmLCAweDAzLCAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGIxLCAweDQzLCAweDQ2LAotICAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweGU0LCAweDkwfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg3ZSwgMHgxMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHgzNSwgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwKLSAgMHhmZiwgMHgxMiwgMHgxMCwgMHg1YiwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgwMywKLSAgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiMSwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNiwgMHg5MH19LAotIHsweDAyMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsCi0gIDB4N2UsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsCi0gIDB4ZjUsIDB4NDQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDQsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MDcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDIsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDdmLCAweDUzLCAweDQyLCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQyLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLAotICAweDEwLCAweGE3LCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGNkLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLAotICAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQyLCAweDdmLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLCAweDdlLCAweDBjLAotICAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZkfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgzYSwgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgzYywgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgxMH19LAotIHsweDAyYzYsIDY0LCB7IDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDQsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsCi0gIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MTIsIDB4ZGYsCi0gIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2UsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDExLCAweGIxLCAweGU0LCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLAotICAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDc1LCAweDI5LCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE4LAotICAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MDM0NiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwKLSAgMHg1MywgMHgzZSwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3NSwgMHgyYiwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwKLSAgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHhlNCwKLSAgMHhmNSwgMHgyYiwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMn19LAotIHsweDAzODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGIsCi0gIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsCi0gIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsCi0gIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4Mzh9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDM4LCAweDIwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLAotICAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGQyLCAweDEzLCAweDEyLCAweDEyLCAweGRmLCAweGVmLCAweDU0LCAweDAxLCAweGY1LAotICAweDE5LCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJhLCAweGQyLCAweDA3LCAweDEyLCAweDEzLCAweDMzLCAweGVmLCAweDU0LCAweDgwLAotICAweGY1LCAweDE5LCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI2LCAweGQyLCAweDA3LCAweDMwLCAweDBkLCAweDExLCAweDEyfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMywgMHgzMywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNSwgMHhkMiwgMHgwNywgMHgyMCwKLSAgMHgxYiwgMHgwMywgMHgwMiwgMHgwNywgMHhlYywgMHgzMCwgMHgwYSwgMHgxOCwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzZCwgMHg0MCwKLSAgMHgwMywgMHgwMiwgMHgwNCwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywKLSAgMHgzMCwgMHgwNCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjM319LAotIHsweDA0NDYsIDY0LCB7IDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4MTQsIDB4ZjUsCi0gIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsCi0gIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGQsIDB4MDQsIDB4YzIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsCi0gIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzIsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDdjLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLAotICAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdjLCAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdjLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBkLCAweDA0LAotICAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LAotICAweDM2LCAweDEyLCAweDEyLCAweDIwLCAweDhmLCAweDE5LCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDM3LCAweGU1LCAweDE5LCAweGMzLCAweDk1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHgzYiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHg1NywgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNywgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYywKLSAgMHg1ZSwgMHhjMiwgMHgwYywgMHhlNSwgMHgxOSwgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHgzMCwKLSAgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwKLSAgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNywgMHgxMiwgMHgwZiwgMHg4NCwgMHhlNX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsCi0gIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDgsIDB4OTAsIDB4N2QsIDB4ODAsIDB4ZTUsIDB4MzcsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODEsIDB4NzUsCi0gIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsIDB4MGQsIDB4MjksIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZDAsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OTcsIDB4YzIsIDB4MDYsIDB4ZTR9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGY1LCAweDE4LCAweDc0LCAweGMwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LAotICAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDIwLCAweDI0LCAweDIwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDIwLCAweGUwLCAweDYwLCAweDY4LAotICAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAzfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg0MywgMHg0NywgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlNSwgMHg0NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgyMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMSwgMHgxOSwgMHg5MCwgMHg3ZSwgMHgyMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHgzZiwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgzMSwgMHhlMCwKLSAgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhmYiwgMHg0MywgMHg0NywgMHg4MCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsCi0gIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsCi0gIDB4MzMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4NzUsIDB4MmUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGU1LCAweDQ1LCAweGYwLCAweDkwLCAweDdlLCAweDI3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQzLAotICAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQzLCAweDdmLCAweDUzLCAweDQzLCAweGZjLCAweDkwLCAweDdlLCAweDI5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQzLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDY1LCAweDkwLCAweDdlLCAweDJiLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDhiLAotICAweGFmLCAweDQzLCAweDEyLCAweDEwLCAweGYzLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQzLCAweDdmLCAweGFmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgxMiwgMHgxMCwgMHhmMywgMHg5MCwgMHg3ZSwgMHgyYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMiwKLSAgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMSwgMHg4MCwgMHgwMywKLSAgMHg1MywgMHg0NywgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMH19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MzIsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2QsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MzYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDUsIDB4YmYsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDEyLCAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNmLCAweGZkLAotICAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGY1LCAweDMzLCAweGY1LCAweDMyLCAweGQyLCAweDA4LCAweDkwLCAweDdlLAotICAweDM3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweDc1LCAweDMyLAotICAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDM4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgzOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0NSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgzYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwKLSAgMHg3NSwgMHgzNCwgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMSwgMHhlNH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2MsIDB4ZTAsIDB4NjAsIDB4MGUsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4M2QsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2UsIDB4M2UsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MzUsIDB4MDEsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2YsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTN9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE2LCAweGYwLCAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGQxLCAweGYwLAotICAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM5LCAweDYwLCAweDAyLCAweDE1LCAweDM5LCAweDMwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LAotICAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLCAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGMyLCAweDEzLCAweDEyLAotICAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDE5LCAweDY1LCAweDMzLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDMzLCAweGQyfX0sCi0gezB4MDdjNiwgNjQsIHsgMHgwOCwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHg1NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyZiwgMHhkMiwKLSAgMHgwOCwgMHgzMCwgMHgwZSwgMHgxMSwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwKLSAgMHg4NSwgMHgxOSwgMHgyZSwgMHhkMiwgMHgwOCwgMHgzMCwgMHgxYSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwKLSAgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgxNSwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgxNiwgMHg5MH19LAotIHsweDA4MDYsIDY0LCB7IDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDksIDB4MjAsIDB4ZTUsIDB4MGEsIDB4NzAsIDB4NDAsCi0gIDB4MzAsIDB4MDcsIDB4MzksIDB4ZTUsIDB4MzgsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDcsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM4LCAweDEwLCAweGU0LCAweGY1LCAweDJjLCAweDc1LCAweDBhLCAweDAxLCAweDIyLAotICAweGU1LCAweDBhLCAweDY0LCAweDAxLCAweDcwLCAweDQwLCAweDMwLCAweDA4LCAweDM5LCAweGU1LCAweDM5LCAweDcwLCAweDM1LCAweGMyLCAweDA4LCAweGY1LAotICAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwKLSAgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgxMCwgMHhlNCwKLSAgMHhmNSwgMHgzNSwgMHg3NSwgMHgwYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwgMHgzMCwgMHgxNCwgMHgyZiwgMHhjMiwKLSAgMHgxNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwZSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMH19LAotIHsweDA4YzYsIDY0LCB7IDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsCi0gIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MGEsCi0gIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4NjAsIDB4MzAsIDB4MTUsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MTQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDAzLCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDBhLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBlLAotICAweGU0LCAweDBhLCAweDA4LCAweDAwLCAweDBhLCAweDdjLCAweDAxLCAweDBhLCAweGU4LCAweDAzLCAweDA5LCAweDQ0LCAweDA2LCAweDA5LCAweGZiLCAweDA4LAotICAweDA5LCAweGY1LCAweDA5LCAweDA5LCAweGRkLCAweDBhLCAweDA5LCAweGVjLCAweDBiLCAweDAwLCAweDAwLCAweDBiLCAweDM3LCAweDkwLCAweDdmfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg2MSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOSwgMHhkMywgMHg3NCwKLSAgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3NCwgMHg3NSwgMHg4MywgMHgxOX19LAotIHsweDA5ODYsIDY0LCB7IDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsCi0gIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGYsCi0gIDB4MGEsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjB9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDA5LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDA5LCAweDAyLCAweDBiLCAweDNlLCAweDEyLCAweDBiLAotICAweDQ2LCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwKLSAgMHhhMiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3Zn19LAotIHsweDBhNDYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsCi0gIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDJ9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDEwLCAweDAyLCAweDBiLCAweDNlLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LAotICAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLAotICAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwKLSAgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgxMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMH19LAotIHsweDBiMDYsIDY0LCB7IDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsCi0gIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsCi0gIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLAotICAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE4LAotICAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGU0LCAweGY1LAotICAweDI0LCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhfX0sCi0gezB4MGI4NiwgNjQsIHsgMHhlNCwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYSwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwKLSAgMHhmNSwgMHgxMywgMHhmNSwgMHgzNiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgxMywKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHg0NCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwKLSAgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwgMHg3Zn19LAotIHsweDBiYzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDAsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4NDYsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsCi0gIDB4MTIsIDB4MTEsIDB4YjEsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTF9fSwKLSB7MHgwYzA2LCA2NCwgeyAweGIxLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDZhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGIxLCAweDIwLCAweDFiLCAweDAzLCAweDAyLAotICAweDBjLCAweGI3LCAweDc1LCAweDJkLCAweDAxLCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGU0LAotICAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNiLAotICAweDAxLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDEzLCAweGY1LCAweDM3LCAweGMyLCAweDA4LCAweGMyLCAweDBjLCAweGMyLCAweDA2LCAweGMyfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgwMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgxMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg3NSwgMHg0NSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MywgMHgxMiwgMHgxMCwKLSAgMHhmMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MSwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0NywgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NH19LAotIHsweDBjODYsIDY0LCB7IDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2YsIDB4MTIsCi0gIDB4MTEsIDB4ZmIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsCi0gIDB4N2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4OGIsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4ZDIsIDB4MTIsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwY2M2LCA2NCwgeyAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LAotICAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LAotICAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLAotICAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MGQwNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwKLSAgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwKLSAgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywKLSAgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsCi0gIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsCi0gIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4ZDIsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLAotICAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLAotICAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLAotICAweDFhLCAweDEyLCAweDEyLCAweDQ1LCAweGMyLCAweDExLCAweGU0LCAweGY1LCAweDBiLCAweGY1LCAweDEzLCAweGMyLCAweDE3LCAweGMyLCAweDEyfX0sCi0gezB4MGRjNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxNywgMHg2MCwgMHgxMCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhkMiwKLSAgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxNywgMHg4MCwgMHgwOCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhjMiwKLSAgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHgzMCwgMHgxMSwgMHgwNywgMHhjMiwgMHgxMSwgMHgxMiwgMHgwOSwgMHgyMSwgMHg4MCwgMHhkNiwgMHgzMCwgMHgxOCwKLSAgMHhkMywgMHhjMiwgMHgxOCwgMHgxMiwgMHgxMywgMHg5MywgMHg4MCwgMHhjYywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZH19LAotIHsweDBlMDYsIDY0LCB7IDB4NzUsIDB4ODEsIDB4NDcsIDB4MDIsIDB4MGUsIDB4NDcsIDB4MDIsIDB4MGQsIDB4NmYsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsCi0gIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsCi0gIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsCi0gIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDgwLCAweDkwLCAweDEyLCAweGFjLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LAotICAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LAotICAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLAotICAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfX0sCi0gezB4MGU4NiwgNjQsIHsgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwKLSAgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwKLSAgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwKLSAgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNX19LAotIHsweDBlYzYsIDY0LCB7IDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsCi0gIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsCi0gIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTN9fSwKLSB7MHgwZjA2LCA2NCwgeyAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDhmLCAweDE4LCAweGU0LCAweGY1LCAweDE5LCAweDc1LCAweDFhLCAweGZmLCAweDc1LCAweDFiLCAweDE5LCAweDc1LCAweDFjLAotICAweDg2LCAweGFiLCAweDFhLCAweGFhLCAweDFiLCAweGE5LCAweDFjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBlLCAweGE1LCAweGI0LCAweDAzLCAweDFkLAotICAweGFmLCAweDE5LCAweDA1LCAweDE5LCAweGVmLCAweGI1LCAweDE4LCAweDAxLCAweDIyLCAweDEyLCAweDBlLCAweDhjLCAweDdlLCAweDAwLCAweDI5LCAweGZmLAotICAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFhLCAweGZmLCAweGY1LCAweDFiLCAweDg5LCAweDFjLCAweDgwLCAweGQ0LCAweDdiLCAweDAwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywKLSAgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywKLSAgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwKLSAgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNiwgMHg4MCwgMHhjYSwgMHgyMiwgMHg4ZiwgMHgxYX19LAotIHsweDBmODYsIDY0LCB7IDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsCi0gIDB4ZjAsIDB4MTIsIDB4MTMsIDB4M2YsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsCi0gIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWEsCi0gIDB4ZWYsIDB4NDIsIDB4MzcsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzB9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLAotICAweDExLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwfX0sCi0gezB4MTAwNiwgNjQsIHsgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwKLSAgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwKLSAgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMH19LAotIHsweDEwNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsCi0gIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTN9fSwKLSB7MHgxMDg2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0fX0sCi0gezB4MTBjNiwgNjQsIHsgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwKLSAgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MH19LAotIHsweDExMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsCi0gIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmfX0sCi0gezB4MTE4NiwgNjQsIHsgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwKLSAgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MH19LAotIHsweDExYzYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsCi0gIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsCi0gIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWIsIDB4ODAsCi0gIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFhLCAweDEyLCAweDEzLAotICAweDYzLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFhLCAweGU1LCAweDFhLAotICAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFiLCAweDgwLCAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwKLSAgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxMiwgMHhjOCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwKLSAgMHgwNCwgMHhmMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZSwgMHg0NCwgMHg4MH19LAotIHsweDEyODYsIDY0LCB7IDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2YsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2YsIDB4NDQsIDB4ODAsCi0gIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4MjIsIDB4MDUsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MTQsIDB4MDMsIDB4MDAsCi0gIDB4MDAsIDB4YzEsIDB4MTEsIDB4YzEsIDB4MTgsIDB4YzEsIDB4OTUsIDB4YzEsIDB4MTAsIDB4YzEsIDB4MTYsIDB4MDEsIDB4MGEsIDB4MDAsIDB4YzF9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDFiLCAweDAwLCAweDhlLCAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLCAweDE1LCAweDE4LCAweDRlLAotICAweDYwLCAweDA1LCAweDEyLCAweDBkLCAweDRlLCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBmLCAweGU3LCAweDAwLCAweDAyLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhiZCwgMHgwMCwgMHgwMiwgMHgxMCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MH19LAotIHsweDEzNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmZ9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDAwLCAweDAzLCAweDEyLAotICAweDBkLCAweDVmLCAweDEyLCAweDBiLCAweDQ2LCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxMiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsIDIwLCB7IDB4NzIsIDB4MDAsIDB4MTAsIDB4MDMsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsCi0gIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOV9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDIzYzUyLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyODUgKzAsMCBAQAotLyoga2V5c3Bhbl91c2ExOV9mdy5oCi0gCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2ExOV9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0qLwotCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTE5X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAyNiwgMTAsIHsgMHgxMiwgMHgwZCwgMHhiZiwgMHgxMiwgMHgwZiwgMHg0NywgMHgxMiwgMHgwZCwgMHg2YiwgMHgyMn19LAotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MWF9fSwKLSB7MHgwMDFhLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDAwMywgMTYsIHsgMHg4ZSwgMHgxMywgMHg4ZiwgMHgxNCwgMHhlNSwgMHgxNCwgMHgxNSwgMHgxNCwgMHhhZSwgMHgxMywgMHg3MCwgMHgwMiwgMHgxNSwgMHgxMywgMHg0ZSwgMHg2MH19LAotIHsweDAwMTMsICA3LCB7IDB4MDUsIDB4MTIsIDB4MGYsIDB4MzYsIDB4ODAsIDB4ZWUsIDB4MjJ9fSwKLSB7MHgwMDIzLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDA0NiwgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwOH19LAotIHsweDAwNTYsIDE2LCB7IDB4MzAsIDB4OTksIDB4MGUsIDB4MzAsIDB4MDgsIDB4MDcsIDB4YTIsIDB4MGIsIDB4OTIsIDB4OWIsIDB4ODUsIDB4MzUsIDB4OTksIDB4YzIsIDB4OTksIDB4ZDJ9fSwKLSB7MHgwMDY2LCAxNiwgeyAweDBmLCAweDIwLCAweDBmLCAweDAzLCAweDAyLCAweDA0LCAweDMxLCAweGMyLCAweDBmLCAweDIwLCAweDAyLCAweDAzLCAweDAyLCAweDAyLCAweDU2LCAweDIwfX0sCi0gezB4MDA3NiwgMTYsIHsgMHgwOCwgMHgwMywgMHgwMiwgMHgwMSwgMHgyNywgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgzZSwgMHgyMCwgMHgwOSwgMHgzNiwgMHgyMH19LAotIHsweDAwODYsIDE2LCB7IDB4MDYsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4MjksIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWZ9fSwKLSB7MHgwMDk2LCAxNiwgeyAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDAwYjYsIDE2LCB7IDB4ZjUsIDB4MzUsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzJ9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDAyLCAweDMwLCAweDBhLCAweDBjLCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMH19LAotIHsweDAwZTYsIDE2LCB7IDB4ZjUsIDB4NTAsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4MjAsIDB4MDksIDB4MmQsIDB4MjAsIDB4MDYsIDB4MmEsIDB4OTB9fSwKLSB7MHgwMGY2LCAxNiwgeyAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDIwLCAweDMwLCAweDBkLCAweDExLCAweDkwLCAweDdkLCAweGMxLCAweGUwfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZiwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MGMsIDB4NjF9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDEzLCAweDkyLCAweDBiLCAweGEzLCAweGUwLCAweGY1LCAweDM1LCAweDc1LCAweDM3LCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweDc1LCAweDM3LCAweDAyLCAweDkwLAotICAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDM1LCAweDAyLCAweDA0LCAweDJmLCAweDc1LCAweDM3LCAweDAxLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLAotICAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDAzLCAweDAyLCAweDAxLCAweGNmLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLAotICAweDA3LCAweGMyLCAweDEwLCAweGMyLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDUwLCAweDkwfX0sCi0gezB4MDE0NiwgNjQsIHsgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwMSwgMHhjNywgMHgyMCwgMHgwNiwgMHg3MiwgMHgyMCwgMHgwMCwKLSAgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHg2NSwgMHgzMCwgMHgwZCwgMHgxMCwgMHg5MCwgMHg3ZSwKLSAgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzNywgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwgMHg3ZSwKLSAgMHg0MSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg0MCwgMHgxNywgMHg5MH19LAotIHsweDAxODYsIDY0LCB7IDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDIsIDB4MjAsIDB4MGEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YmIsCi0gIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsCi0gIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MDgsIDB4MDIsIDB4MDR9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDJmLCAweDc1LCAweDM3LCAweDAxLCAweGMyLCAweDEwLCAweDAyLCAweDA0LCAweDJmLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAyLCAweDUxLCAweDIwLCAweDA2LAotICAweDc5LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDZmLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LAotICAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDliLAotICAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmNSwgMHg5OSwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMiwgMHgyMCwKLSAgMHgwYSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwKLSAgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH19LAotIHsweDAyNDYsIDY0LCB7IDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MjAsCi0gIDB4MDgsIDB4MDMsIDB4MDIsIDB4MDMsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MDksIDB4MzYsIDB4MjAsCi0gIDB4MDYsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4MjksIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsCi0gIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDkyLCAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLAotICAweGY1LCAweDM1LCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLAotICAweDAyLCAweDMwLCAweDBhLCAweDBjLCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLAotICAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM3fX0sCi0gezB4MDJjNiwgNjQsIHsgMHhlMCwgMHhmNSwgMHg1MCwgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHgyMCwgMHgwOSwgMHgyZCwgMHgyMCwgMHgwNiwgMHgyYSwgMHg5MCwKLSAgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHgyMCwgMHgzMCwgMHgwZCwgMHgxMSwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwKLSAgMHgxMywgMHg5MiwgMHgwYiwgMHhhMywgMHhlMCwgMHhmNSwgMHgzNSwgMHg3NSwgMHgzNywgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHg3NSwgMHgzNywgMHgwMiwKLSAgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHhmNSwgMHgzNSwgMHgwMiwgMHgwNCwgMHgyZiwgMHg3NSwgMHgzNywgMHgwMSwgMHhjMiwgMHgwOCwgMHgwMn19LAotIHsweDAzMDYsIDY0LCB7IDB4MDQsIDB4MmYsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YjAsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MzAsCi0gIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTAsIDB4OTAsCi0gIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDMsIDB4YTgsIDB4MjAsIDB4MDYsIDB4NzIsIDB4MjAsCi0gIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4NjUsIDB4MzAsIDB4MGQsIDB4MTB9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDM3LCAweDAzLCAweDgwLCAweDA5LCAweDkwLAotICAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDM3LCAweDAyLCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDQwLCAweDE3LCAweDkwLAotICAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAyLCAweDIwLCAweDBhLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDBhLCAweDkwLCAweDdmLAotICAweGJiLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDJmLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwfX0sCi0gezB4MDM4NiwgNjQsIHsgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwKLSAgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNSwgMHhkMiwgMHgwOCwgMHgwMiwgMHgwNCwKLSAgMHgyZiwgMHg3NSwgMHgzNywgMHgwMSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZCwgMHgyMCwKLSAgMHgwNiwgMHg3NCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHg2YSwgMHgzMCwgMHgwZCwgMHgxMn19LAotIHsweDAzYzYsIDY0LCB7IDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsCi0gIDB4OWIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZjUsIDB4OTksIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NDAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDIsCi0gIDB4MzAsIDB4MGEsIDB4MzUsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MmMsIDB4MzAsIDB4MGQsIDB4MTJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLAotICAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLAotICAweGY1LCAweDM1LCAweGQyLCAweDA4LCAweDgwLCAweDAyLCAweGMyLCAweDEwLCAweGQyLCAweDEyLCAweDIwLCAweDk4LCAweDAzLCAweDAyLCAweDA1LCAweDZkLAotICAweGMyLCAweDk4LCAweDIwLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweGRhLCAweDIwLCAweDExLCAweDI3LCAweGFmLCAweDM2LCAweDA1LCAweDM2fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgwZCwgMHg0ZCwgMHhhZiwKLSAgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwKLSAgMHg4MCwgMHgzYSwgMHg4NSwgMHg5OSwgMHgxMCwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NCwgMHgwNCwgMHhkMiwgMHgwNiwgMHg4MCwgMHgyZSwgMHhlNSwgMHgxMCwKLSAgMHhiNSwgMHg0MywgMHgwNCwgMHhjMiwgMHgwNiwgMHg4MCwgMHgyNSwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNX19LAotIHsweDA0ODYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4MzAsIDB4MGQsIDB4MTEsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsCi0gIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MGMsIDB4ZTUsIDB4MzYsCi0gIDB4YzMsIDB4OTUsIDB4NDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NmIsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTYsIDB4ZTUsCi0gIDB4MzYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NmIsIDB4MTUsIDB4MzYsIDB4MTUsIDB4MzYsIDB4MDUsIDB4MmJ9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDQzLCAweDMzLCAweDAxLCAweDAyLCAweDA1LCAweDZiLCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDM2LCAweGYwLCAweDc1LCAweDM2LCAweDAwLCAweGMyLCAweDAxLAotICAweDAyLCAweDA1LCAweDZiLCAweDIwLCAweDExLCAweDI3LCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDBkLCAweDRkLCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LCAweDAwLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LCAweDk5fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxMCwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NCwgMHgwNCwgMHhkMiwgMHgwNiwgMHg4MCwgMHgyZSwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0MywgMHgwNCwgMHhjMiwgMHgwNiwKLSAgMHg4MCwgMHgyNSwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywKLSAgMHhlNSwgMHgxMCwgMHhmMCwgMHgzMCwgMHgwZCwgMHgxMSwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwYywgMHhlNSwgMHgzNiwgMHhjMywgMHg5NSwgMHg0MCwgMHg0MH19LAotIHsweDA1NDYsIDY0LCB7IDB4MjQsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTIsIDB4ZTUsIDB4MzYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NDAsIDB4MTYsIDB4MTUsIDB4MzYsCi0gIDB4MTUsIDB4MzYsIDB4MDUsIDB4MmIsIDB4NDMsIDB4MzMsIDB4MDEsIDB4ODAsIDB4MGIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4NzUsCi0gIDB4MzYsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4ZDIsIDB4MTIsIDB4MzAsIDB4MTIsIDB4MDUsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDAsIDB4NTYsIDB4ZDAsIDB4ZDAsCi0gIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MzAsIDB4ZTF9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDAzLCAweDAyLCAweDA2LCAweGFiLCAweGU0LCAweGY1LCAweDEzLCAweDc0LCAweDQwLCAweDI1LCAweDEzLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LAotICAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDEzLCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDM4LCAweGY5LCAweGVjLCAweDM0LCAweDAwLCAweGZhLAotICAweGVmLCAweDEyLCAweDBkLCAweDMzLCAweDA1LCAweDEzLCAweGU1LCAweDEzLCAweGI0LCAweDE4LCAweGRiLCAweGU1LCAweDM4LCAweDYwLCAweDBjLCAweDc1LAotICAweGM5LCAweDIwLCAweDc1LCAweGM4LCAweDM0LCAweDg1LCAweDM5LCAweGNhLCAweDg1LCAweDNhLCAweGNiLCAweGU1LCAweDNiLCAweDEzLCAweDkyfX0sCi0gezB4MDVjNiwgNjQsIHsgMHgwZCwgMHg5MiwgMHg5ZiwgMHhlNSwgMHgzYywgMHgxMywgMHg5MiwgMHgwZSwgMHhlNSwgMHgzZCwgMHgxMywgMHg5MiwgMHgxMSwgMHhlNSwgMHgzZSwgMHg2MCwgMHgwOSwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwKLSAgMHhlNSwgMHgzZiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg0NSwgMHg2MCwgMHgwYiwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwNiwgMHg5MCwgMHg3ZiwgMHg5NX19LAotIHsweDA2MDYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NDYsIDB4NjAsIDB4MGMsIDB4ZDIsIDB4MDYsIDB4NDMsIDB4MzMsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsCi0gIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NDcsIDB4NjAsIDB4MGQsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MDgsIDB4ZDIsIDB4MDAsIDB4ZTQsIDB4ZjUsIDB4NTAsCi0gIDB4ZjUsIDB4MzcsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4MDUsIDB4MzAsIDB4MTEsIDB4MDIsIDB4ZDIsIDB4MDYsIDB4ZTUsIDB4NDksIDB4NjAsCi0gIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDRhLCAweDYwLCAweDBhLCAweGQyLCAweDljLCAweGMyLCAweDk4LCAweDc1LCAweDJjLAotICAweDAxLCAweDc1LCAweDMxLCAweDFlLCAweGU1LCAweDRiLCAweDYwLCAweDA3LCAweGMyLCAweDljLCAweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDJjLCAweGU1LAotICAweDRjLCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDM2LCAweGU1LCAweDRkLCAweDYwLCAweDAyLCAweGQyLCAweDA0LCAweGU1LCAweDRlLCAweDYwLCAweDBhLAotICAweGU1LCAweDRhLCAweDcwLCAweDAyLCAweGY1LCAweDMxLCAweGU1LCAweDRlLCAweDQyLCAweDMzLCAweGU1LCAweDRmLCAweDYwLCAweDFmLCAweDkwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3NCwgMHgzMiwgMHhmMCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NCwgMHgzNCwgMHhmMCwgMHhkMiwgMHgwMiwgMHhkMiwgMHgwMSwgMHhkMiwgMHgwNSwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhhMiwgMHgwOSwgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgyOSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyOSwgMHg0MywKLSAgMHgzMywgMHgwMSwgMHhhMiwgMHgwNiwgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyYSwgMHg0MywgMHgzM319LAotIHsweDA2YzYsIDY0LCB7IDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4MDgsIDB4YjUsIDB4MjUsIDB4MGEsIDB4ZTAsIDB4NTQsIDB4MDgsIDB4NjQsIDB4MDgsIDB4ZjUsIDB4MjUsCi0gIDB4NDMsIDB4MzMsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4MTAsIDB4YjUsIDB4MjYsIDB4MGEsIDB4ZTAsIDB4NTQsIDB4MTAsIDB4NjQsCi0gIDB4MTAsIDB4ZjUsIDB4MjYsIDB4NDMsIDB4MzMsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4YjUsIDB4MjcsIDB4MGEsIDB4ZTAsCi0gIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZjUsIDB4MjcsIDB4NDMsIDB4MzMsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4MjB9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGI1LCAweDI4LCAweDBhLCAweGUwLCAweDU0LCAweDIwLCAweDY0LCAweDIwLCAweGY1LCAweDI4LCAweDQzLCAweDMzLCAweDAxLCAweDMwLCAweDA0LCAweDM1LCAweGMyLAotICAweGFmLCAweDMwLCAweDAxLCAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweGU1LCAweDM2LCAweDYwLCAweDA5LCAweDkwLAotICAweDdmLCAweGI3LCAweGYwLCAweGU0LCAweGY1LCAweDM2LCAweGMyLCAweDAxLCAweGMyLCAweDA0LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLAotICAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDM2LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI5LCAweGYwLCAweGU0LCAweGY1LCAweDM2LCAweGQyfX0sCi0gezB4MDc0NiwgNjQsIHsgMHgwMSwgMHhjMiwgMHgwNCwgMHhkMiwgMHhhZiwgMHgyMCwgMHgwMywgMHgzNywgMHgzMCwgMHgwMiwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwKLSAgMHgyZCwgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg3NSwgMHgzNywgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwKLSAgMHg1MCwgMHhkMiwgMHgwMywgMHg4MCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxMiwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwKLSAgMHgxMywgMHg5MiwgMHgwYSwgMHg3NSwgMHgzNywgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1MCwgMHhkMiwgMHgwMywgMHgyMH19LAotIHsweDA3ODYsIDY0LCB7IDB4MTAsIDB4MzMsIDB4MjAsIDB4MDAsIDB4MDYsIDB4ZTUsIDB4MzcsIDB4NjUsIDB4NTAsIDB4NzAsIDB4MmEsIDB4MzAsIDB4MDMsIDB4MWEsIDB4MzAsIDB4MDIsIDB4MDksCi0gIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ODAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDIsCi0gIDB4YzIsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4NTAsIDB4ZjUsIDB4MzcsIDB4MzAsIDB4MGEsIDB4MGEsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsCi0gIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MzAsIDB4MTAsIDB4MDMsIDB4MDIsIDB4MDgsIDB4YzUsIDB4MjAsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDh9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGM1LCAweDMwLCAweDBlLCAweDBhLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDAyLCAweDA4LCAweGM1LCAweDMwLCAweDA2LCAweDAzLAotICAweDAyLCAweDA4LCAweGM1LCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDA4LCAweGM1LCAweDMwLCAweDAyLCAweDYyLCAweDMwLCAweDBkLCAweDEyLCAweGFmLAotICAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLAotICAweDE5LCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzfX0sCi0gezB4MDgwNiwgNjQsIHsgMHhlMCwgMHhmNSwgMHgxNCwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgyYSwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywKLSAgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywKLSAgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNSwgMHhkMiwKLSAgMHgwOCwgMHg4MCwgMHg2YiwgMHhjMiwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMiwgMHg4MCwgMHg2MCwgMHgzMH19LAotIHsweDA4NDYsIDY0LCB7IDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4MTMsIDB4OTIsIDB4MTksIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MTQsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsCi0gIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTJ9fSwKLSB7MHgwODg2LCA2NCwgeyAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LAotICAweDM1LCAweGQyLCAweDA4LCAweDgwLCAweDA5LCAweGMyLCAweDA4LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAyLCAweDMwLCAweDBkLAotICAweDA0LCAweGEyLCAweDE5LCAweDkyLCAweDliLCAweGQyLCAweDEwLCAweGMyLCAweGFmLCAweDg1LCAweDE0LCAweDk5LCAweDIwLCAweDA4LCAweDBkLCAweDMwLAotICAweDBhLCAweDBhLCAweGMyLCAweDBhLCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDkwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHg1MSwgMHhlNSwgMHgzMywgMHg2MCwgMHg0ZCwgMHhlNSwgMHgzMSwgMHg3MCwgMHg0OSwgMHhlNSwgMHgzMywgMHgzMCwKLSAgMHhlMSwgMHgwOCwgMHhlNCwgMHhmNSwgMHgyZiwgMHg3NSwgMHgzMywgMHgwMSwgMHg4MCwgMHgwYiwgMHhhMiwgMHgwNSwgMHhlNCwgMHgzMywgMHhmNSwgMHgyZiwKLSAgMHhjMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHgzMywgMHhlNCwgMHhmNSwgMHgxMywgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxMywKLSAgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwYywgMHhlZCwgMHhmZiwgMHg3NCwgMHgwMCwgMHgyNSwgMHgxMywgMHhmNSwgMHg4Mn19LAotIHsweDA5MDYsIDY0LCB7IDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTMsIDB4ZTUsIDB4MTMsIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YmQsCi0gIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4MzEsIDB4MTAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGQsIDB4NDUsIDB4MGEsIDB4MDMsCi0gIDB4MDAsIDB4MGEsIDB4NzcsIDB4MDEsIDB4MGEsIDB4ZTMsIDB4MDMsIDB4MDksIDB4NDEsIDB4MDYsIDB4MDksIDB4ZjQsIDB4MDgsIDB4MDksIDB4ZTgsIDB4MDksCi0gIDB4MDksIDB4ZDAsIDB4MGEsIDB4MDksIDB4ZGYsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGIsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjR9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLCAweDU3LCAweDI0LCAweDAyLCAweDcwLCAweDc2LCAweDc0LCAweDBmLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LAotICAweDY0LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLAotICAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweGI1LCAweDc1LCAweDgzLCAweDBmLCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweGFlLCAweDc1LAotICAweDgzLCAweDBmLCAweGYwLCAweDc1LCAweDgyLCAweGE3LCAweDc1LCAweDgzLCAweDBmLCAweGYwLCAweDc1LCAweDgyLCAweGEwLCAweDc1LCAweDgzfX0sCi0gezB4MDk4NiwgNjQsIHsgMHgwZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgwZiwgMHhmMCwgMHg3NCwgMHgwZiwgMHg5MCwKLSAgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHg3NiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwKLSAgMHhmZiwgMHgxMiwgMHgwZSwgMHg0OCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwKLSAgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOX19LAotIHsweDA5YzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTksIDB4MDIsIDB4MGIsCi0gIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTgsIDB4MTIsIDB4MGQsIDB4NmIsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZTUsIDB4MTgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZTh9fSwKLSB7MHgwYTA2LCA2NCwgeyAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyLCAweDEzLCAweGU0LCAweDMzLCAweGZmLAotICAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE3LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwKLSAgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwKLSAgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgzOX19LAotIHsweDBhODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MTMsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmZ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLAotICAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLAotICAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLAotICAweDEzLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhfX0sCi0gezB4MGIwNiwgNjQsIHsgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwKLSAgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHgyMCwgMHgxNSwgMHgwMywgMHgwMiwgMHgwYn19LAotIHsweDBiNDYsIDY0LCB7IDB4ZDMsIDB4ZTUsIDB4MzEsIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzEsIDB4ZTUsIDB4MzYsIDB4NjAsIDB4NGYsIDB4NjUsIDB4MzQsIDB4NzAsIDB4NDUsIDB4ZTUsIDB4MzIsCi0gIDB4ZjQsIDB4NjAsIDB4MDIsIDB4MDUsIDB4MzIsIDB4ZTUsIDB4MzIsIDB4YzMsIDB4OTUsIDB4NDEsIDB4NDAsIDB4M2QsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDEsCi0gIDB4MTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4YzIsIDB4MDEsCi0gIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZjUsIDB4MzIsIDB4ZjUsIDB4MzQsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTF9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDBmLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM2LCAweGYwLCAweGQyLCAweDAxLCAweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDMyLCAweGY1LCAweDM0LCAweGQyLAotICAweGFmLCAweDgwLCAweDA2LCAweDg1LCAweDM2LCAweDM0LCAweGU0LCAweGY1LCAweDMyLCAweGU1LCAweDJjLCAweDYwLCAweDJmLCAweDIwLCAweDBjLCAweDA3LAotICAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUwLCAweDBmLCAweGU1LCAweDJkLCAweDYwLCAweDA2LCAweGU0LCAweGY1LCAweDJkLCAweDQzLCAweDMzLAotICAweDAxLCAweGU0LCAweGY1LCAweDMwLCAweDgwLCAweDE0LCAweGU1LCAweDMwLCAweGQzLCAweDk1LCAweDQyLCAweDUwLCAweDBkLCAweGU1LCAweDMwfX0sCi0gezB4MGJjNiwgNjQsIHsgMHhiNSwgMHg0MiwgMHgwNiwgMHg3NSwgMHgyZCwgMHgwMSwgMHg0MywgMHgzMywgMHgwMSwgMHgwNSwgMHgzMCwgMHhjMiwgMHgwYywgMHgyMiwgMHg3NSwgMHgxMiwgMHgwMSwKLSAgMHhjMiwgMHgxNCwgMHhjMiwgMHgxOCwgMHhjMiwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwgMHgxNSwgMHhjMiwgMHgxMiwgMHhkMiwgMHgxNiwgMHhlNCwgMHhmNSwKLSAgMHgxOCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgxMywKLSAgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NH19LAotIHsweDBjMDYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsCi0gIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YmMsIDB4ZDIsIDB4MTksIDB4MTIsIDB4MGUsIDB4ZGEsIDB4YzIsIDB4MTQsIDB4MzAsCi0gIDB4MTUsIDB4MDMsIDB4MTIsIDB4MDUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTEsIDB4NjAsIDB4MDgsIDB4ZTAsIDB4ZjV9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDExLCAweDEyLCAweDBiLCAweDQxLCAweDgwLCAweGVhLCAweDMwLCAweDE0LCAweDA3LCAweGMyLCAweDE0LCAweDEyLCAweDA5LCAweDFlLCAweDgwLCAweGUwLCAweDMwLAotICAweDE4LCAweGRkLCAweGMyLCAweDE4LCAweDEyLCAweDAwLCAweDI2LCAweDgwLCAweGQ2LCAweDIyLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLAotICAweDc1LCAweDgxLCAweDUwLCAweDAyLCAweDBjLCAweGE4LCAweDAyLCAweDBiLCAweGQ0LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLAotICAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4fX0sCi0gezB4MGM4NiwgNjQsIHsgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwKLSAgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwKLSAgMHg4MCwgMHg5MCwgMHgwZSwgMHgwNCwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwKLSAgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMH19LAotIHsweDBjYzYsIDY0LCB7IDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsCi0gIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsCi0gIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsCi0gIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9fSwKLSB7MHgwZDA2LCA2NCwgeyAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LAotICAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LAotICAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LAotICAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwKLSAgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywKLSAgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NiwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHgwNH19LAotIHsweDBkODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsCi0gIDB4ODQsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4NzUsIDB4OTgsIDB4NDAsIDB4NDMsIDB4YTgsIDB4MTAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZGYsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4ZDIsIDB4MTUsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGUwLAotICAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDIwLCAweGYwLAotICAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweGZkLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LAotICAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyLCAweDBjLCAweDI0fX0sCi0gezB4MGUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgzMCwgMHgwMCwgMHgwMSwgMHgzMywKLSAgMHgwMSwgMHgwMSwgMHgzMiwgMHgwMCwgMHgwMSwgMHgzNywgMHgwMCwgMHgwMSwgMHg1MCwgMHgwMCwgMHgwMSwgMHgzNiwgMHgwMCwgMHgwMSwgMHgzNCwgMHgwMCwKLSAgMHhjMSwgMHgwNSwgMHhjMSwgMHgwYywgMHhjMSwgMHgwMywgMHhjMSwgMHgwZiwgMHhjMSwgMHgwNCwgMHhjMSwgMHgwZSwgMHhjMSwgMHgxMSwgMHhjMSwgMHgwYSwKLSAgMHhjMSwgMHgxMCwgMHhjMSwgMHgwOCwgMHhjMSwgMHgwOSwgMHhjMSwgMHgwNiwgMHhjMSwgMHgwMCwgMHhjMSwgMHgwZCwgMHhjMSwgMHg4MSwgMHhjMX19LAotIHsweDBlNDYsIDY0LCB7IDB4ODIsIDB4MDAsIDB4OGYsIDB4MTMsIDB4ZTQsIDB4ZjUsIDB4MTQsIDB4NzUsIDB4MTUsIDB4ZmYsIDB4NzUsIDB4MTYsIDB4MGYsIDB4NzUsIDB4MTcsIDB4YjksIDB4YWIsCi0gIDB4MTUsIDB4YWEsIDB4MTYsIDB4YTksIDB4MTcsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGQsIDB4MDYsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MTQsCi0gIDB4MDUsIDB4MTQsIDB4ZWYsIDB4YjUsIDB4MTMsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGMsIDB4ZWQsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsCi0gIDB4YTksIDB4MDcsIDB4NzUsIDB4MTUsIDB4ZmYsIDB4ZjUsIDB4MTYsIDB4ODksIDB4MTcsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDc5LCAweDAwLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LAotICAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLAotICAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLAotICAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE0LCAweDUzLCAweDkxfX0sCi0gezB4MGVjNiwgNjQsIHsgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywKLSAgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxOSwKLSAgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHgwMCwgMHgwMiwgMHgwZSwgMHhiMywgMHgwMCwgMHgwMiwgMHgwZn19LAotIHsweDBmMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODksIDB4MDAsIDB4MDIsIDB4MGYsIDB4MGYsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsCi0gIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsCi0gIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4NzQsCi0gIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4Zjl9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLAotICAweDAxLCAweGZmLCAweDAwLCAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDA3LCAweDAxLCAweDAxLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LAotICAweDAyLCAweDQzLCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDA3LCAweGZmLCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywKLSAgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMSwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgxMCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3M319LAotIHsweDBmYzYsIDIzLCB7IDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MGUsIDB4MDMsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsCi0gIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cWlfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cWlfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWEyNjQ3Mi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXFpX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyODQgKzAsMCBAQAotLyoga2V5c3Bhbl91c2ExOXFpX2Z3LmgKLSAKLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcG5fdXNhMTlxaV9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTE5cWlfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDFhfX0sCi0gezB4MDAxYSwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwMDMsIDE2LCB7IDB4OGUsIDB4MTEsIDB4OGYsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4MTUsIDB4MTIsIDB4YWUsIDB4MTEsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTEsIDB4NGUsIDB4NjB9fSwKLSB7MHgwMDEzLCAgNywgeyAweDA1LCAweDEyLCAweDBmLCAweDg0LCAweDgwLCAweGVlLCAweDIyfX0sCi0gezB4MDAyMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwNDYsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDh9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDMwLCAweDk5LCAweDBlLCAweDMwLCAweDBiLCAweDA3LCAweGEyLCAweDBlLCAweDkyLCAweDliLCAweDg1LCAweDM2LCAweDk5LCAweGMyLCAweDk5LCAweGQyfX0sCi0gezB4MDA2NiwgMTYsIHsgMHgxMiwgMHgyMCwgMHgxMiwgMHgwMywgMHgwMiwgMHgwNCwgMHgxZSwgMHhjMiwgMHgxMiwgMHgyMCwgMHgwMywgMHgwMywgMHgwMiwgMHgwMiwgMHg0ZSwgMHgyMH19LAotIHsweDAwNzYsIDE2LCB7IDB4MGIsIDB4MDMsIDB4MDIsIDB4MDEsIDB4MjYsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4M2MsIDB4MjAsIDB4MGMsIDB4MzQsIDB4MjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDA5LCAweDMxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDI5LCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1fX0sCi0gezB4MDA5NiwgMTYsIHsgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZn19LAotIHsweDAwYTYsIDE2LCB7IDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzZ9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzLCAweDMwfX0sCi0gezB4MDBjNiwgMTYsIHsgMHgwZCwgMHgwYywgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTN9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDE2LCAweGZmLCAweDIwLCAweDBjLCAweDJiLCAweDIwLCAweDA5LCAweDI4fX0sCi0gezB4MDBmNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyMCwgMHgzMCwgMHgxMCwgMHgxMSwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHgxM319LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGUsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDAwLCAweDI2fX0sCi0gezB4MDAyNiwgMTIsIHsgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg1NCwgMHgwMiwgMHgwYiwgMHgyOH19LAotIHsweDAxMDYsIDY0LCB7IDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4NzUsIDB4M2EsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWMsIDB4NzUsIDB4M2EsIDB4MDIsIDB4OTAsIDB4N2QsCi0gIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4MDIsIDB4MDQsIDB4MWMsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4ZTUsCi0gIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDEsIDB4YzksIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDcsCi0gIDB4YzIsIDB4MTQsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDE2LCAweGZmLCAweDIwLCAweDBjLCAweDcwLCAweDIwLCAweDA5LCAweDZkLCAweDkwLCAweDdmLCAweDliLAotICAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDY1LCAweDMwLCAweDEwLCAweDEwLCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLAotICAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDNhLCAweDAzLCAweDgwLCAweDA5LCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDNhLAotICAweDAyLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzfX0sCi0gezB4MDE4NiwgNjQsIHsgMHgyMCwgMHgwZCwgMHgwMywgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgxYywgMHgzMCwKLSAgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgxNH19LAotIHsweDAxYzYsIDY0LCB7IDB4MDIsIDB4MDQsIDB4MWMsIDB4MzAsIDB4MGMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NDksIDB4MjAsIDB4MDksIDB4NzcsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsCi0gIDB4MzgsIDB4NzAsIDB4NmYsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweDE3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzLCAweDIwLCAweDBkLCAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBkLCAweDkwLAotICAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDFjLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhLAotICAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLCAweDBifX0sCi0gezB4MDI0NiwgNjQsIHsgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgxNCwgMHgwMiwgMHgwNCwgMHgxYywgMHgyMCwgMHgwYiwgMHgwMywgMHgwMiwgMHgwMiwgMHhmZiwgMHhlNSwgMHgzYSwgMHhjMywKLSAgMHg5NSwgMHg1MywgMHg1MCwgMHgzYywgMHgyMCwgMHgwYywgMHgzNCwgMHgyMCwgMHgwOSwgMHgzMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwKLSAgMHg3MCwgMHgyOSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNX19LAotIHsweDAyODYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsCi0gIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MGQsIDB4MGMsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsCi0gIDB4ZjAsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MGIsIDB4MDIsCi0gIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGR9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDc1LCAweDE2LCAweGZmLCAweDIwLCAweDBjLCAweDJiLCAweDIwLCAweDA5LCAweDI4LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDIwLAotICAweDMwLCAweDEwLCAweDExLCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDM2LCAweDc1LCAweDNhLAotICAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAyLCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDM2LCAweDAyLCAweDA0LCAweDFjLAotICAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDAzfX0sCi0gezB4MDMwNiwgNjQsIHsgMHgwMiwgMHgwMywgMHhhMiwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNywgMHhjMiwgMHgxNCwgMHhjMiwgMHgwNSwgMHgwMiwgMHgwNCwgMHgxYywKLSAgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1MywgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxNiwgMHhmZiwKLSAgMHgyMCwgMHgwYywgMHg3MCwgMHgyMCwgMHgwOSwgMHg2ZCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHg2NSwgMHgzMCwgMHgxMCwKLSAgMHgxMCwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzYSwgMHgwM319LAotIHsweDAzNDYsIDY0LCB7IDB4ODAsIDB4MDksIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4M2EsIDB4MDIsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDAsCi0gIDB4MTcsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MjAsIDB4MGQsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MGQsCi0gIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MWMsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsCi0gIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2F9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLCAweDBiLAotICAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDE0LCAweDAyLCAweDA0LCAweDFjLCAweDIwLCAweDBjLCAweDc1LCAweDIwLCAweDA5LAotICAweDcyLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDZhLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLAotICAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGFmfX0sCi0gezB4MDNjNiwgNjQsIHsgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg5OSwgMHhlNSwKLSAgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg0MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMywgMHgzMCwgMHgwZCwgMHgzNSwKLSAgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwKLSAgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZn19LAotIHsweDA0MDYsIDY0LCB7IDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsCi0gIDB4MGIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4MTQsIDB4ZDIsIDB4MDEsIDB4MjAsIDB4OTgsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NWEsIDB4YzIsIDB4OTgsIDB4MjAsCi0gIDB4MDIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4YzcsIDB4MjAsIDB4MTYsIDB4MjcsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MTAsIDB4NGQsIDB4YWYsIDB4MzksIDB4MDV9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LAotICAweDk5LCAweDEwLCAweGU1LCAweDEwLCAweGI1LCAweDQ3LCAweDA0LCAweGQyLCAweDA5LCAweDgwLCAweDJlLCAweGU1LCAweDEwLCAweGI1LCAweDQ2LCAweDA0LAotICAweGMyLCAweDA5LCAweDgwLCAweDI1LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLAotICAweGY1LCAweDgzLCAweGU1LCAweDEwLCAweGYwLCAweDMwLCAweDEwLCAweDExLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwZiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NSwgMHg0MywKLSAgMHg1MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg1OCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NCwKLSAgMHg0MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg1OCwgMHgxNSwgMHgzOSwgMHgxNSwgMHgzOSwgMHgwNSwgMHgyYiwgMHg0MywgMHgzNCwgMHgwMSwgMHgwMiwKLSAgMHgwNSwgMHg1OCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHgzOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgwMCwgMHhjMiwgMHgwMiwgMHgwMiwgMHgwNX19LAotIHsweDA0YzYsIDY0LCB7IDB4NTgsIDB4MjAsIDB4MTYsIDB4MjcsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsCi0gIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MTAsIDB4NGQsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTksIDB4MTAsIDB4ZTUsIDB4MTAsIDB4YjUsCi0gIDB4NDcsIDB4MDQsIDB4ZDIsIDB4MDksIDB4ODAsIDB4MmUsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDYsIDB4MDQsIDB4YzIsIDB4MDksIDB4ODAsIDB4MjV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDEwLCAweGYwLAotICAweDMwLCAweDEwLCAweDExLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDBmLCAweGU1LCAweDM5LCAweGMzLCAweDk1LCAweDQzLCAweDQwLCAweDI0LCAweDkwLCAweDdmLCAweGI2LAotICAweGUwLCAweDMwLCAweGUxLCAweDEyLCAweGU1LCAweDM5LCAweGMzLCAweDk0LCAweDQwLCAweDQwLCAweDE2LCAweDE1LCAweDM5LCAweDE1LCAweDM5fX0sCi0gezB4MDU0NiwgNjQsIHsgMHgwNSwgMHgyYiwgMHg0MywgMHgzNCwgMHgwMSwgMHg4MCwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgwMCwgMHhkMiwKLSAgMHgwMiwgMHhkMiwgMHgwMSwgMHgzMCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgwMSwgMHgwMiwgMHgwMCwgMHg1NiwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwKLSAgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHg1MSwgMHhlNSwgMHgzNCwgMHg2MCwKLSAgMHg0ZCwgMHhlNSwgMHgzMSwgMHg3MCwgMHg0OSwgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMSwgMHgwOCwgMHhlNCwgMHhmNSwgMHgyZiwgMHg3NSwgMHgzNH19LAotIHsweDA1ODYsIDY0LCB7IDB4MDEsIDB4ODAsIDB4MGIsIDB4YTIsIDB4MDgsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MmYsIDB4YzIsIDB4MDgsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZTQsIDB4ZjUsIDB4MTEsCi0gIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTEsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGQsIDB4MDYsCi0gIDB4ZmYsIDB4NzQsIDB4MDAsIDB4MjUsIDB4MTEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTEsCi0gIDB4ZTUsIDB4MTEsIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YmQsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4MzEsIDB4MTAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweGNhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA2LCAweGYzLCAweGU0LCAweGY1LCAweDExLCAweDc0LCAweDQwLCAweDI1LCAweDExLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDExLCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDNiLAotICAweGY5LCAweGVjLCAweDM0LCAweDAwLCAweGZhLCAweGVmLCAweDEyLCAweDBkLCAweDFmLCAweDA1LCAweDExLCAweGU1LCAweDExLCAweGI0LCAweDE4LCAweGRiLAotICAweGU1LCAweDNiLCAweDYwLCAweDExLCAweDc1LCAweGM5LCAweDIwLCAweDc1LCAweGM4LCAweDM2LCAweDg1LCAweDNjLCAweGNhLCAweDg1LCAweDNkfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjYiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5ZiwgMHhmMCwgMHhlNSwgMHgzZSwgMHgxMywgMHg5MiwgMHgxMCwgMHg5MiwgMHg5ZiwgMHg4NSwgMHgzZiwgMHgzOCwgMHhlNSwKLSAgMHg0MCwgMHgxMywgMHg5MiwgMHgxNiwgMHhlNSwgMHg0MSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg4MCwKLSAgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHg0MiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwKLSAgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg0OCwgMHg2MH19LAotIHsweDA2NDYsIDY0LCB7IDB4MGIsIDB4YzIsIDB4MGMsIDB4YzIsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NDksIDB4NjAsIDB4MGMsIDB4ZDIsCi0gIDB4MDksIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NGEsIDB4NjAsIDB4MGQsIDB4YzIsCi0gIDB4YWYsIDB4YzIsIDB4MGIsIDB4ZDIsIDB4MDAsIDB4ZTQsIDB4ZjUsIDB4NTMsIDB4ZjUsIDB4M2EsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NGIsIDB4NjAsIDB4MDUsCi0gIDB4MzAsIDB4MTYsIDB4MDIsIDB4ZDIsIDB4MDksIDB4ZTUsIDB4NGMsIDB4NjAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmR9fSwKLSB7MHgwNjg2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDllLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDRkLAotICAweDYwLCAweDBhLCAweGQyLCAweDljLCAweGMyLCAweDk4LCAweDc1LCAweDJjLCAweDAxLCAweDc1LCAweDMxLCAweDFlLCAweGU1LCAweDRlLCAweDYwLCAweDA3LAotICAweGMyLCAweDljLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDJjLCAweGU1LCAweDRmLCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDM5LCAweGU1LCAweDUwLAotICAweDYwLCAweDAyLCAweGQyLCAweDA3LCAweGU1LCAweDUxLCAweDYwLCAweDBhLCAweGU1LCAweDRkLCAweDcwLCAweDAyLCAweGY1LCAweDMxLCAweGU1fX0sCi0gezB4MDZjNiwgNjQsIHsgMHg1MSwgMHg0MiwgMHgzNCwgMHhlNSwgMHg1MiwgMHg2MCwgMHgxZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwKLSAgMHgxMiwgMHhmMCwgMHg3NCwgMHgzMiwgMHhmMCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NCwgMHgzNCwKLSAgMHhmMCwgMHhkMiwgMHgwMywgMHhkMiwgMHgwMiwgMHhkMiwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhhMiwgMHgwYywgMHhlNCwgMHgzMywKLSAgMHhmZiwgMHg2NSwgMHgyOSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyOSwgMHg0MywgMHgzNCwgMHgwMSwgMHhhMiwgMHgwOSwgMHhlNCwgMHgzMywgMHhmZn19LAotIHsweDA3MDYsIDY0LCB7IDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4OGYsIDB4MmEsIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4MDgsIDB4NjQsCi0gIDB4MDgsIDB4ZmUsIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4OGUsIDB4MjUsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4NjQsIDB4MTAsCi0gIDB4ZmUsIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDUsIDB4OGUsIDB4MjYsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZmUsCi0gIDB4NjUsIDB4MjcsIDB4NjAsIDB4MDUsIDB4OGUsIDB4MjcsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4MjAsIDB4NjQsIDB4MjAsIDB4ZmV9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDY1LCAweDI4LCAweDYwLCAweDA1LCAweDhlLCAweDI4LCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDU0LCAweDQwLCAweDY0LCAweDQwLAotICAweGZlLCAweDY1LCAweDJlLCAweDYwLCAweDA1LCAweDhlLCAweDJlLCAweDQzLCAweDM0LCAweDAxLCAweDMwLCAweDA3LCAweDM1LCAweGMyLCAweGFmLCAweDMwLAotICAweDAyLCAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweGU1LCAweDM5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI3LAotICAweGYwLCAweGU0LCAweGY1LCAweDM5LCAweGMyLCAweDAyLCAweGMyLCAweDA3LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhlMSwgMHgwZiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhmMCwgMHhlNCwgMHhmNSwgMHgzOSwgMHhkMiwgMHgwMiwgMHhjMiwgMHgwNywKLSAgMHhkMiwgMHhhZiwgMHgyMCwgMHgwNSwgMHgzZCwgMHgzMCwgMHgwMywgMHgxZSwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMywgMHg5MCwKLSAgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgzYSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg1MywgMHhkMiwKLSAgMHgwNSwgMHg3NSwgMHgxNiwgMHhmZiwgMHg4MCwgMHgxYywgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxNSwgMHg5MCwgMHg3ZH19LAotIHsweDA3YzYsIDY0LCB7IDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4M2EsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4ZDIsIDB4MDUsIDB4NzUsCi0gIDB4MTYsIDB4ZmYsIDB4MjAsIDB4MTQsIDB4MzMsIDB4MjAsIDB4MDAsIDB4MDYsIDB4ZTUsIDB4M2EsIDB4NjUsIDB4NTMsIDB4NzAsIDB4MmEsIDB4MzAsIDB4MDUsCi0gIDB4MWEsIDB4MzAsIDB4MDMsIDB4MDksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4NTMsIDB4ZjUsIDB4M2EsIDB4MzAsIDB4MGQsIDB4MGEsIDB4YzJ9fSwKLSB7MHgwODA2LCA2NCwgeyAweDBkLCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA5LCAweDE0LCAweDIwLCAweDA1LAotICAweDAzLCAweDAyLCAweDA5LCAweDE0LCAweDMwLCAweDBjLCAweDAzLCAweDAyLCAweDA5LCAweDE0LCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDA5LCAweDE0LAotICAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDYwLCAweDAzLCAweDAyLCAweDA5LCAweDE0LCAweDMwLCAweDAzLCAweDYxLCAweDMwLCAweDEwLAotICAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzfX0sCi0gezB4MDg0NiwgNjQsIHsgMHhlMCwgMHgxMywgMHg5MiwgMHgxYiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHhmZSwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgyYSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwKLSAgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwKLSAgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNX19LAotIHsweDA4ODYsIDY0LCB7IDB4MzYsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4NmEsIDB4YzIsIDB4MGIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsIDB4NWYsIDB4MzAsCi0gIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MWIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWZ9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLAotICAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LAotICAweDM2LCAweGQyLCAweDBiLCAweDgwLCAweDA5LCAweGMyLCAweDBiLCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweDMwLCAweDEwLAotICAweDA0LCAweGEyLCAweDFiLCAweDkyLCAweDliLCAweGQyLCAweDE0LCAweGMyLCAweGFmLCAweDhlLCAweDk5LCAweDIwLCAweDBiLCAweDBkLCAweDMwfX0sCi0gezB4MDkwNiwgNjQsIHsgMHgwZCwgMHgwYSwgMHhjMiwgMHgwZCwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZCwgMHgzMSwgMHgwYSwgMHgxMSwgMHgwMCwgMHgwYSwgMHg3ZSwgMHgwMSwgMHgwYSwgMHhkYiwgMHgwMywgMHgwOSwgMHgzOCwKLSAgMHgwNiwgMHgwYSwgMHgwMiwgMHgwOCwgMHgwOSwgMHhmNiwgMHgwOSwgMHgwOSwgMHhkZSwgMHgwYSwgMHgwOSwgMHhlZCwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYiwKLSAgMHgxOSwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg1YSwgMHgyNCwgMHgwMiwgMHg2MH19LAotIHsweDA5NDYsIDY0LCB7IDB4MDMsIDB4MDIsIDB4MGIsIDB4MTksIDB4NzQsIDB4MGQsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4ODcsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsCi0gIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsCi0gIDB4ZDgsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4ZDEsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4Y2EsCi0gIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4YzMsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDA0LCAweDc1LCAweDgyLCAweDllLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDc0LCAweDBkLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDk5LCAweDkwLAotICAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDBiLCAweDc1LCAweDExLCAweGZmLCAweDc1LAotICAweDEyLCAweDBkLCAweDc1LCAweDEzLCAweGRjLCAweDgwLCAweDFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDBiLCAweDc1LCAweDExLAotICAweGZmLCAweDc1LCAweDEyLCAweDBkLCAweDc1LCAweDEzLCAweGUwLCAweDgwLCAweDA5LCAweDc1LCAweDExLCAweGZmLCAweDc1LCAweDEyLCAweDBkfX0sCi0gezB4MDljNiwgNjQsIHsgMHg3NSwgMHgxMywgMHhmMCwgMHhhYSwgMHgxMiwgMHhhOSwgMHgxMywgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwKLSAgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgxNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwKLSAgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxNSwgMHgwMiwgMHgwYiwgMHgyMCwgMHgxMiwKLSAgMHgwYywgMHhiMSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxNCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNX19LAotIHsweDBhMDYsIDY0LCB7IDB4MTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsCi0gIDB4NjAsIDB4MjcsIDB4MTQsIDB4NjAsIDB4MzQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4MTksIDB4YTIsIDB4MTcsIDB4ZTQsIDB4MzMsCi0gIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTksIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTN9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLAotICAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLAotICAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE3fX0sCi0gezB4MGE4NiwgNjQsIHsgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwKLSAgMHgxOSwgMHhjMiwgMHgxNywgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwKLSAgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MH19LAotIHsweDBhYzYsIDY0LCB7IDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsCi0gIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NDUsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4MzksCi0gIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NjQsIDB4MDEsIDB4NzAsIDB4MmEsIDB4ZDIsIDB4MTcsIDB4ODAsIDB4MmQsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsCi0gIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLAotICAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLAotICAweDIyLCAweGMyLCAweDEwLCAweGU0LCAweGY1LCAweDE0LCAweGY1LCAweDM0LCAweGMyLCAweDA5LCAweGMyLCAweDBjLCAweGMyLCAweDBiLCAweGMyLCAweDE0LAotICAweGMyLCAweDBkLCAweGMyLCAweDE2LCAweGMyLCAweDExLCAweGMyLCAweDA3LCAweGMyLCAweDEyLCAweGMyLCAweDBmLCAweGMyLCAweDA4LCAweGY1fX0sCi0gezB4MGI0NiwgNjQsIHsgMHgzNSwgMHhmNSwgMHgzOSwgMHhmNSwgMHg1MywgMHhmNSwgMHgzYSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMCwgMHhmNSwgMHgyZiwgMHhmNSwgMHgyZSwgMHhmNSwgMHgyZCwKLSAgMHhmNSwgMHgyYywgMHhmNSwgMHgyYiwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhmNSwgMHgyOCwgMHhmNSwgMHgyNywgMHhmNSwgMHgyNiwgMHhmNSwgMHgyNSwKLSAgMHhmNSwgMHgyNCwgMHhjMiwgMHgwNSwgMHhjMiwgMHgxOCwgMHhjMiwgMHgxYSwgMHhjMiwgMHgxNywgMHhjMiwgMHgxOSwgMHhjMiwgMHgxNSwgMHhjMiwgMHgwNCwKLSAgMHhkMiwgMHgxMywgMHhjMiwgMHgwNiwgMHhjMiwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhkMiwgMHhlOH19LAotIHsweDBiODYsIDY0LCB7IDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsCi0gIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsCi0gIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4NzQsIDB4MGUsCi0gIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YmMsIDB4ZDIsIDB4MWIsIDB4MTIsIDB4MGYsIDB4NWYsIDB4YzIsIDB4MTgsIDB4MzAsIDB4MDQsIDB4MDN9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDEyLCAweDA1LCAweDZkLCAweDMwLCAweDA0LCAweDJhLCAweDMwLCAweDA2LCAweDI3LCAweGMyLCAweDA2LCAweGU1LCAweDE2LCAweDYwLCAweDE2LCAweDE1LCAweDE2LAotICAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDMwLCAweGU2LCAweDA0LCAweDdmLCAweDAwLCAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LAotICAweGVmLCAweGYwLCAweDgwLCAweDA2LCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDIwLCAweGYwLCAweDEyLCAweDBjLCAweDBiLCAweDgwLCAweGNkLCAweDMwLAotICAweDE4LCAweDA3LCAweGMyLCAweDE4LCAweDEyLCAweDA5LCAweDE1LCAweDgwLCAweGMzLCAweDMwLCAweDFhLCAweGMwLCAweGMyLCAweDFhLCAweDEyfX0sCi0gezB4MGMwNiwgNjQsIHsgMHgwZiwgMHhiYiwgMHg4MCwgMHhiOSwgMHgyMiwgMHhlNSwgMHgzMSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzMSwgMHhlNSwgMHgzOSwgMHg2MCwgMHg1NSwgMHg2NSwgMHgzNSwKLSAgMHg3MCwgMHg0YiwgMHhlNSwgMHgzMywgMHhmNCwgMHg2MCwgMHgwMiwgMHgwNSwgMHgzMywgMHhlNSwgMHgzMywgMHhjMywgMHg5NSwgMHg0NCwgMHg0MCwgMHg0MywKLSAgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMiwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyZCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwKLSAgMHgzOSwgMHhmMCwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzNSwgMHg3NSwgMHgxNiwgMHhmZiwgMHg4MH19LAotIHsweDBjNDYsIDY0LCB7IDB4MTksIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzksIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MTYsIDB4ZmYsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MDYsIDB4ODUsIDB4MzksIDB4MzUsCi0gIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZTUsIDB4MmMsIDB4NjAsIDB4MzAsIDB4MjAsIDB4MGYsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTAsCi0gIDB4MGYsIDB4ZTUsIDB4MmQsIDB4NjAsIDB4MDYsIDB4ZTQsIDB4ZjUsIDB4MmQsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzAsIDB4ODB9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDE0LCAweGU1LCAweDMwLCAweGQzLCAweDk1LCAweDQ1LCAweDUwLCAweDBkLCAweGU1LCAweDMwLCAweGI1LCAweDQ1LCAweDA2LCAweDc1LCAweDJkLCAweDAxLCAweDQzLAotICAweDM0LCAweDAxLCAweDA1LCAweDMwLCAweGMyLCAweDBmLCAweDIyLCAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDMwLCAweGUyLCAweDA0LCAweDdmLCAweDAwLAotICAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLAotICAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweDc0fX0sCi0gezB4MGNjNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHg3NCwgMHg4NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwKLSAgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHg4NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhjNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg3NSwgMHg5OCwgMHg0MCwgMHg0MywgMHhhOCwgMHgxMCwKLSAgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgxZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHgwZiwgMHhmMCwgMHhkMiwgMHgwNCwgMHgyMn19LAotIHsweDBkMDYsIDY0LCB7IDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsCi0gIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsCi0gIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsCi0gIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTN9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLAotICAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLAotICAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMCwgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwYywgMHgwMSwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMiwKLSAgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg0MywgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNywKLSAgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDBkYzYsIDY0LCB7IDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsCi0gIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MTAsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksCi0gIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MGUsIDB4MDMsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGUsIDB4YTIsIDB4MDAsIDB4MDIsIDB4MGV9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDdiLCAweDAwLCAweDAyLCAweDBkLCAweDU3LCAweDAwLCAweDAyLCAweDBlLCAweGM5LCAweDAwLCAweDAyLCAweDBlLCAweDEwLCAweDAwLCAweDAyLCAweDBlLCAweDE0LAotICAweDAwLCAweDAyLCAweDBlLCAweDE4LCAweDAwLCAweDAyLCAweDBlLCAweDFjLCAweDAwLCAweDAyLCAweDBlLCAweGYwLCAweDAwLCAweDAyLCAweDBlLCAweDI0LAotICAweDAwLCAweDAyLCAweDBmLCAweDE1LCAweDAwLCAweDAyLCAweDBlLCAweDJjLCAweDAwLCAweDAyLCAweDBmLCAweDNhLCAweGU0LCAweDkwLCAweDdmLCAweDk1LAotICAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweDAyfX0sCi0gezB4MGU0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZSwgMHhmMCwgMHgzMCwgMHgxNywgMHgwNCwgMHg3ZiwgMHg4MCwgMHg4MCwgMHgwMiwgMHg3ZiwKLSAgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMH19LAotIHsweDBlODYsIDY0LCB7IDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDIsIDB4MDYsIDB4ZDAsIDB4ODYsCi0gIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsCi0gIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsCi0gIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODN9fSwKLSB7MHgwZWM2LCA2NCwgeyAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LAotICAweDAwLCAweGQyLCAweDFhLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LAotICAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLAotICAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0fX0sCi0gezB4MGYwNiwgNjQsIHsgMHgwMiwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwKLSAgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg1MywgMHg5MSwgMHhlZiwKLSAgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywKLSAgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4Nn19LAotIHsweDBmNDYsIDY0LCB7IDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsCi0gIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsCi0gIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWIsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDAsCi0gIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4NzQsIDB4MDB9fSwKLSB7MHgwZjg2LCA2NCwgeyAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLAotICAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweDkwLCAweDdmLAotICAweGQ2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLCAweDdlLCAweDAwLCAweDEyLCAweDAwLCAweDAzLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLAotICAweDU0LCAweGZlLCAweGYwLCAweDIyLCAweDEyLCAweDBlLCAweDMzLCAweDEyLCAweDBmLCAweDk1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwfX0sCi0gezB4MGZjNiwgIDksIHsgMHhlNywgMHgwMywgMHgxMiwgMHgwZiwgMHhhNSwgMHgxMiwgMHgwYywgMHhiMSwgMHgyMn19LAotIHsweGZmZmYsCTAsCXsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXF3X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXF3X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MDNmOGIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxd19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ4ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTlxd19mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTE5d3FfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOXF3X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgyZH19LAotIHsweDAwMmQsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDEwLCAweDE5LCAweDEyLCAweDBlLCAweDBmLCAweGVmLCAweGMzLCAweDk1LCAweDE0LCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGRmLCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgxMCwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMCwgMHhkZiwgMHgzMCwgMHgwZCwgMHgzZSwgMHg5MH19LAotIHsweDAwNjYsIDE2LCB7IDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NzMsIDB4MTIsIDB4MGUsIDB4MGYsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NmEsIDB4OTB9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDEwLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDM2LCAweDIwLCAweDBiLCAweDExfX0sCi0gezB4MDA4NiwgMTYsIHsgMHg2MCwgMHgwZiwgMHhmNSwgMHgyNCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgyOSwgMHg3ZSwgMHg3NSwgMHgyYSwgMHg0MSwgMHgxMiwgMHgwOX19LAotIHsweDAwOTYsIDE2LCB7IDB4MTAsIDB4YzIsIDB4MGQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4NzUsIDB4MjYsIDB4ZmYsIDB4ODAsIDB4M2MsIDB4OTAsIDB4N2YsIDB4Yzh9fSwKLSB7MHgwMGE2LCAxNiwgeyAweGUwLCAweDIwLCAweGUxLCAweDM1LCAweDEyLCAweDBlLCAweDBmLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDJjLCAweDkwLCAweDdkLCAweGMwfX0sCi0gezB4MDBiNiwgMTYsIHsgMHhlMCwgMHgxMywgMHg5MiwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgzNiwgMHgyMCwgMHgwYiwgMHgxMSwgMHg2MCwgMHgwZn19LAotIHsweDAwYzYsIDE2LCB7IDB4ZjUsIDB4MjQsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzEsIDB4NzUsIDB4MjksIDB4N2QsIDB4NzUsIDB4MmEsIDB4YzEsIDB4MTIsIDB4MDksIDB4MTAsIDB4ZDJ9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweDBkLCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDc1LCAweDI2LCAweGZmLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgwMiwgMHgwMSwgMHg2OCwgMHgxMiwgMHgwYywgMHhmZiwgMHg4ZiwgMHgzNiwgMHgxMiwgMHgwZSwgMHgxYiwgMHg4ZiwgMHgxMSwgMHhlNSwgMHgzNiwgMHhjM319LAotIHsweDAwZjYsIDE2LCB7IDB4OTUsIDB4MTMsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MGQsIDB4ZGUsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MTEsIDB4MjAsIDB4ZTcsIDB4MDN9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAwMDMsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwfX0sCi0gezB4MDAyMywgMTAsIHsgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MDksIDB4YzV9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDMwLCAweDEzLCAweDVmLCAweGMyLCAweDEzLCAweGU1LCAweDM2LCAweDYwLCAweDU5LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDExLCAweDAyLCAweGU1LCAweDExLAotICAweDMwLCAweGU3LCAweDI0LCAweGU1LCAweDM2LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDM2LCAweDIwLCAweDg1LCAweDM2LCAweDI0LAotICAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDI5LCAweDdlLCAweDc1LCAweDJhLCAweDgwLCAweDEyLCAweDBiLCAweDlhLCAweGU1LCAweDM2LCAweDI1LAotICAweGUwLCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDgwLCAweDJhLCAweGU1LCAweDM2LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1fX0sCi0gezB4MDE0NiwgNjQsIHsgMHgzNiwgMHgzZiwgMHg4NSwgMHgzNiwgMHgyNCwgMHg5MCwgMHg3ZSwgMHg4MCwgMHhlNSwgMHgxMSwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgyOSwKLSAgMHg3ZSwgMHg3NSwgMHgyYSwgMHg4MSwgMHgxMiwgMHgwOSwgMHgzNSwgMHhlNSwgMHgzNiwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg3NSwgMHgyNiwKLSAgMHhmZiwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwZSwgMHgwMywgMHgwMiwgMHgwMywgMHhjNCwgMHhlNCwgMHhmNSwKLSAgMHgzNSwgMHg3NCwgMHg0MCwgMHgyNSwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNX19LAotIHsweDAxODYsIDY0LCB7IDB4MzUsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsCi0gIDB4MTIsIDB4MGEsIDB4OTcsIDB4MDUsIDB4MzUsIDB4ZTUsIDB4MzUsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NmUsCi0gIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MGMsIDB4MWMsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGMsIDB4NDIsIDB4ZDIsIDB4MTEsIDB4ZDIsIDB4MTIsIDB4NzV9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDM2LCAweDA0LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA1LCAweGMyLCAweDEyLCAweDQzLCAweDM2LCAweGMwLCAweDkwLCAweDdlLCAweDA0LCAweGUwLAotICAweGI0LCAweDAxLCAweDA3LCAweGMyLCAweDEyLCAweDQzLCAweDM2LCAweDBiLCAweDgwLCAweDEwLCAweDkwLCAweDdlLCAweDA0LCAweGUwLCAweDYwLCAweDA3LAotICAweGMyLCAweDExLCAweDQzLCAweDM2LCAweDA5LCAweDgwLCAweDAzLCAweDQzLCAweDM2LCAweDAyLCAweDdmLCAweDAzLCAweGFkLCAweDM2LCAweDEyLCAweDBjLAotICAweGRhLCAweDQzLCAweDFhLCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDFhfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNywgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHgxOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwNywgMHhlMCwgMHg2MCwgMHg0MiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwKLSAgMHg2MCwgMHgwNSwgMHg0MywgMHgxNiwgMHgwNCwgMHg4MCwgMHgwMywgMHg1MywgMHgxNiwgMHhmYiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNiwgMHgxMn19LAotIHsweDAyNDYsIDY0LCB7IDB4MGMsIDB4ZGEsIDB4OTAsIDB4N2UsIDB4MDgsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTgsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTgsIDB4N2YsIDB4NTMsCi0gIDB4MTgsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4MTgsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGMsCi0gIDB4OGUsIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGMsIDB4YjQsIDB4YWYsIDB4MTgsIDB4MTIsIDB4MGMsIDB4NjgsIDB4OTAsIDB4N2UsCi0gIDB4MGUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MWEsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MWF9fSwKLSB7MHgwMjg2LCA2NCwgeyAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDFhLCAweGYwLCAweDkwLCAweDdlLCAweDBjLCAweGUwLAotICAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDFhLCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDFhLCAweGZkLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDFhLCAweGYwLCAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDEzLAotICAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDE0LCAweGEzLCAweGUwLCAweGY1LCAweDE0LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDFhfX0sCi0gezB4MDJjNiwgNjQsIHsgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHgxYSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxYSwKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHgxOSwgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgwZCwKLSAgMHhkMiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgxNiwgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNn19LAotIHsweDAzMDYsIDY0LCB7IDB4MTIsIDB4MGMsIDB4ZGEsIDB4ZTQsIDB4ZjUsIDB4MGUsIDB4ZjUsIDB4MGQsIDB4ZDIsIDB4MGYsIDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsCi0gIDB4MTYsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTYsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4NzUsIDB4MGQsIDB4MDEsIDB4ZDIsIDB4MGYsIDB4OTAsIDB4N2UsCi0gIDB4MTgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MGIsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4MTksIDB4NDAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLAotICAweDBmLCAweDUzLCAweDE2LCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDE2LCAweDEyLCAweDBjLCAweGRhLCAweDc1LCAweDBmLCAweDAxLCAweGQyLCAweDBmLAotICAweDkwLCAweDdlLCAweDFiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDE2LCAweDAxLCAweGU0LCAweGZmLCAweGFkLCAweDE2LCAweDEyLCAweDBjLCAweGRhLAotICAweGU0LCAweGY1LCAweDBmLCAweGQyLCAweDBmLCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MDM4NiwgNjQsIHsgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNywgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwKLSAgMHgxMywgMHg5MCwgMHg3ZSwgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgxMCwgMHgwMSwgMHhlNCwgMHhmNSwgMHgxMiwgMHhkMiwgMHgwZiwgMHg5MCwKLSAgMHg3ZSwgMHgxZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwKLSAgMHhmMCwgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwZCwgMHhjMiwgMHgwZSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxNn19LAotIHsweDAzYzYsIDY0LCB7IDB4NzEsIDB4ZTUsIDB4MTIsIDB4NjAsIDB4MDIsIDB4MTUsIDB4MTIsIDB4ZTUsIDB4MzAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MzAsIDB4ODAsCi0gIDB4NjAsIDB4NzUsIDB4MzAsIDB4MGEsIDB4MTIsIDB4MGQsIDB4ZDIsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsIDB4MzYsIDB4NjUsIDB4MGUsIDB4NjAsIDB4MDcsCi0gIDB4ODUsIDB4MzYsIDB4MGUsIDB4ZDIsIDB4MGYsIDB4ODAsIDB4MTEsIDB4MTIsIDB4MGUsIDB4MjcsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MzYsIDB4NjUsCi0gIDB4MDksIDB4NjAsIDB4MDUsIDB4ODUsIDB4MzYsIDB4MDksIDB4ZDIsIDB4MGYsIDB4MTIsIDB4MGUsIDB4MjcsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjV9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDM2LCAweDY1LCAweDBhLCAweDYwLCAweDA1LCAweDg1LCAweDM2LCAweDBhLCAweGQyLCAweDBmLCAweDEyLCAweDBlLCAweDI3LCAweGVmLCAweDU0LCAweDIwLCAweGY1LAotICAweDM2LCAweDY1LCAweDBiLCAweDYwLCAweDA4LCAweDg1LCAweDM2LCAweDBiLCAweDMwLCAweDExLCAweDAyLCAweGQyLCAweDBmLCAweDEyLCAweDBlLCAweDI3LAotICAweGVmLCAweDU0LCAweDQwLCAweGY1LCAweDM2LCAweDY1LCAweDBjLCAweDYwLCAweDA4LCAweDg1LCAweDM2LCAweDBjLCAweDMwLCAweDEyLCAweDAyLCAweGQyLAotICAweDBmLCAweDMwLCAweDE2LCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLCAweDIzLCAweDkwLCAweDdiLCAweDQwLCAweGUwfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgzMiwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgzMywgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwKLSAgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwgMHgyOSwgMHhlNSwgMHgyNywgMHg3MCwgMHg0MCwgMHgzMCwgMHgwZiwgMHgzOSwgMHhlNSwKLSAgMHgxMiwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwZiwgMHhmNSwgMHgzNSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwOCwgMHgyNSwgMHgzNX19LAotIHsweDA0ODYsIDY0LCB7IDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGEsIDB4NTEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzUsIDB4ZTUsIDB4MzUsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsCi0gIDB4MDksIDB4ZjAsIDB4NzUsIDB4MTIsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MTAsIDB4NzUsIDB4MjcsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MjcsIDB4NjQsIDB4MDIsCi0gIDB4NzAsIDB4MzYsIDB4MzAsIDB4MDUsIDB4MmYsIDB4YzIsIDB4MDUsIDB4ZjUsIDB4MzUsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmJ9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDI1LCAweDM1LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBhLCAweDUxLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDM1LCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDM1LCAweGU1LCAweDM1LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLAotICAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDI3LCAweDAzLCAweDIyLCAweGU1LCAweDMyLCAweDYwLCAweDMzLCAweDc1LCAweDMxLCAweDAzLCAweDE1LAotICAweDMyLCAweGU0LCAweGY1LCAweDM1LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDMxLCAweDI1LCAweDM1LCAweGY5LCAweGVlLCAweDM0fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgwMCwgMHhmYSwgMHgxMiwgMHgwYSwgMHg1MSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywKLSAgMHhlZiwgMHhmMCwgMHgwNSwgMHgzNSwgMHhlNSwgMHgzNSwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwKLSAgMHhmNSwgMHgyNywgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwYSwgMHhhOSwgMHgwNiwgMHgwOCwgMHgwMCwgMHgwNiwgMHg3YywgMHgwMSwKLSAgMHgwNiwgMHhlOSwgMHgwMywgMHgwNSwgMHg0ZCwgMHgwNiwgMHgwNSwgMHhmOSwgMHgwOCwgMHgwNSwgMHhlZCwgMHgwOSwgMHgwNSwgMHhkNSwgMHgwYX19LAotIHsweDA1NDYsIDY0LCB7IDB4MDUsIDB4ZTQsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsCi0gIDB4NTAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NmYsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsCi0gIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsCi0gIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjB9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLAotICAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LAotICAweDQwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweDFjLCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLAotICAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0fX0sCi0gezB4MDVjNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhlNSwgMHgyNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhmNSwgMHgyNSwgMHgwMiwgMHgwNywgMHg0MCwgMHgxMiwgMHgwNywgMHg0OCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyMywgMHgwMiwKLSAgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMn19LAotIHsweDA2MDYsIDY0LCB7IDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsCi0gIDB4YTIsIDB4MDEsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDcsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFlLCAweDI0LCAweDAyfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg2MCwgMHgwMywgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNiwgMHgxMiwgMHgwZCwgMHhmOSwgMHgwMiwgMHgwNywKLSAgMHg0MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwKLSAgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywKLSAgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MH19LAotIHsweDA2YzYsIDY0LCB7IDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsCi0gIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4NTcsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGIsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4MTIsIDB4MGQsIDB4ZjYsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDR9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLAotICAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyfX0sCi0gezB4MDc0NiwgNjQsIHsgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwKLSAgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHgwOCwgMHg3ZiwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwOCwgMHgyZiwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMH19LAotIHsweDA3ODYsIDY0LCB7IDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGEsIDB4OTcsIDB4MGYsIDB4YmYsIDB4MDksIDB4ZWUsIDB4NzUsIDB4MTMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4ZjUsIDB4MzAsCi0gIDB4ZjUsIDB4MTEsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MTMsIDB4YzIsIDB4MGUsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MDQsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4MTksIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsCi0gIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4N2YsIDB4MTAsIDB4OGYsIDB4MTgsIDB4MTIsIDB4MGMsIDB4NjgsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzR9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDE3LCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLAotICAweDBjLCAweGRhLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDE2LCAweDEyLCAweDBjLCAweGRhLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDBjLCAweGRhLCAweDdmLAotICAweDAxLCAweDEyLCAweDBkLCAweDZhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDBjLCAweGRhLCAweGU0LCAweGZmLCAweGU1LCAweDE2fX0sCi0gezB4MDgwNiwgNjQsIHsgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHgxMiwgMHgwZSwgMHgwZiwgMHg4ZiwgMHgxNSwgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNiwgMHg0NCwgMHg4MCwKLSAgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHhlNSwgMHgxNSwgMHgzMCwgMHhlNywgMHgwNCwgMHhjMiwgMHgwOCwgMHg4MCwgMHgwMiwgMHhkMiwgMHgwOCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHgxYSwgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHhkMiwgMHgwMywKLSAgMHgyMiwgMHhkMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgxMiwgMHgwZCwgMHhmOSwgMHhkMiwgMHhlOH19LAotIHsweDA4NDYsIDY0LCB7IDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsCi0gIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsCi0gIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MTYsIDB4MTIsIDB4MGQsCi0gIDB4MjQsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjUsIDB4MjgsIDB4ZjUsIDB4MzAsIDB4YzIsIDB4MDksIDB4ZjUsIDB4MjMsIDB4YzIsIDB4MDMsIDB4OTB9fSwKLSB7MHgwODg2LCA2NCwgeyAweDdmLCAweGExLCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDM0LCAweDYwLCAweDQ4LCAweDMwLCAweDAzLCAweDA1LCAweGQyLCAweDE2LAotICAweDEyLCAweDAwLCAweDQ2LCAweGU1LCAweDBmLCAweDYwLCAweDIyLCAweGU1LCAweDI2LCAweDYwLCAweDE2LCAweDE1LCAweDI2LCAweDkwLCAweDdmLCAweGQ4LAotICAweGUwLCAweDMwLCAweGU2LCAweDA0LCAweDdmLCAweDIwLCAweDgwLCAweDAyLCAweDdmLCAweDMwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLCAweDgwLAotICAweDFhLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDMwLCAweGYwLCAweDgwLCAweDEyLCAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDMwLCAweGUyfX0sCi0gezB4MDhjNiwgNjQsIHsgMHgwNCwgMHg3ZiwgMHgzMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwKLSAgMHgzNCwgMHg4MCwgMHgyMCwgMHgzMCwgMHgwMywgMHgwNywgMHhjMiwgMHgxNiwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgxNiwgMHhlNSwgMHgwZiwgMHg3MCwKLSAgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwNCwgMHg3ZiwgMHgzMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwKLSAgMHg5NiwgMHhlZiwgMHhmMCwgMHgzMCwgMHgwMiwgMHgwNywgMHhjMiwgMHgwMiwgMHgxMiwgMHgwNSwgMHgyYSwgMHg4MCwgMHg4NiwgMHgzMCwgMHgwYX19LAotIHsweDA5MDYsIDY0LCB7IDB4ODMsIDB4YzIsIDB4MGEsIDB4MTIsIDB4MGIsIDB4NWQsIDB4MDIsIDB4MDgsIDB4OGEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsCi0gIDB4MjQsIDB4ZTUsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjksIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MjQsIDB4ZTUsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjksIDB4ZjUsIDB4ODMsIDB4YzJ9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LAotICAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDI0LCAweGU1LCAweDJhLCAweGY1LCAweDgyLCAweGU1LAotICAweDI5LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LAotICAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmfX0sCi0gezB4MDk4NiwgNjQsIHsgMHgyNCwgMHhlNSwgMHgyYSwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyOSwgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwKLSAgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwKLSAgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHg3OH19LAotIHsweDA5YzYsIDY0LCB7IDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4MzksIDB4MDIsIDB4MGEsIDB4MGMsIDB4MDIsIDB4MDgsIDB4MzgsIDB4ZTQsIDB4OTMsIDB4YTMsCi0gIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsCi0gIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsCi0gIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDJ9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDBkLCAweDhiLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLAotICAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LAotICAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LAotICAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwKLSAgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywKLSAgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNX19LAotIHsweDBhODYsIDY0LCB7IDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsCi0gIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsCi0gIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsCi0gIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDJ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLAotICAweDc0LCAweDIwLCAweGYwLCAweDMwLCAweDAxLCAweDAzLCAweGZmLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLAotICAweGU0LCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLAotICAweDMwLCAweDA4LCAweDExLCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgyMCwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhkZiwgMHhmMCwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMiwgMHg4ZiwgMHgzNSwgMHhlNCwgMHhmNSwgMHgzNiwgMHg3NSwgMHgzNywgMHhmZiwgMHg3NSwgMHgzOCwgMHgxOSwKLSAgMHg3NSwgMHgzOSwgMHg4NiwgMHhhYiwgMHgzNywgMHhhYSwgMHgzOCwgMHhhOSwgMHgzOSwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwYSwgMHg2YSwgMHhiNCwKLSAgMHgwMywgMHgxZCwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHhlZiwgMHhiNSwgMHgzNSwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwYSwgMHg1MSwgMHg3ZX19LAotIHsweDBiNDYsIDY0LCB7IDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MzcsIDB4ZmYsIDB4ZjUsIDB4MzgsIDB4ODksIDB4MzksIDB4ODAsIDB4ZDQsIDB4N2IsCi0gIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4MTIsIDB4MGEsIDB4Y2YsIDB4MjAsCi0gIDB4MDgsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsCi0gIDB4MTIsIDB4MDksIDB4YjUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MGUsIDB4MzAsIDB4MDEsIDB4MDUsIDB4MTIsIDB4MGR9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGJjLCAweDgwLCAweDA2LCAweDEyLCAweDBkLCAweDQ5LCAweGVmLCAweDYwLCAweGUxLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDEyLAotICAweDA3LCAweDQ4LCAweDIyLCAweDA1LCAweDJhLCAweGU1LCAweDJhLCAweGFlLCAweDI5LCAweDcwLCAweDAyLCAweDA1LCAweDI5LCAweDE0LCAweGY1LCAweDgyLAotICAweDhlLCAweDgzLCAweGU1LCAweDExLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDJhLCAweGU1LCAweDJhLCAweGFjLCAweDI5LCAweDcwLCAweDAyLAotICAweDA1LCAweDI5LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDI0LCAweGU1LCAweDI0LCAweDYwLCAweDA3fX0sCi0gezB4MGJjNiwgNjQsIHsgMHgxMiwgMHgwZSwgMHgxYiwgMHg4ZiwgMHgxMSwgMHg4MCwgMHhjZCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwKLSAgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwMiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwKLSAgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwKLSAgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwYX19LAotIHsweDBjMDYsIDY0LCB7IDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsCi0gIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzR9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1fX0sCi0gezB4MGM4NiwgNjQsIHsgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMH19LAotIHsweDBjYzYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MGQsIDB4ZWEsIDB4OGYsIDB4MzcsIDB4MTIsIDB4MGR9fSwKLSB7MHgwZDA2LCA2NCwgeyAweGVhLCAweDhmLCAweDM4LCAweGU1LCAweDM3LCAweDY1LCAweDM4LCAweDYwLCAweDEyLCAweDEyLCAweDBkLCAweGVhLCAweDhmLCAweDM3LCAweGU1LCAweDM3LCAweDY1LAotICAweDM4LCAweDYwLCAweDA3LCAweDEyLCAweDBkLCAweGVhLCAweDhmLCAweDM4LCAweDgwLCAweGU4LCAweGFmLCAweDM3LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LAotICAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDE2LCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLAotICAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDBkLCAweGE1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHgwNCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgzNiwgMHgxMiwgMHgwNywgMHg0OCwgMHgxMiwgMHgwZSwgMHgyNywgMHhlZiwgMHgzMCwKLSAgMHhlNiwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgzNiwgMHg2MCwgMHhmMSwgMHg3ZiwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwYSwgMHhjZiwKLSAgMHg3ZiwgMHgwMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNiwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgxNiwgMHg0NCwgMHg4MH19LAotIHsweDBkODYsIDY0LCB7IDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4MjIsIDB4MDUsIDB4MmIsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MzEsIDB4MDMsIDB4MDAsIDB4MDAsCi0gIDB4YzEsIDB4ODYsIDB4YzEsIDB4MDIsIDB4YzEsIDB4MGEsIDB4YzEsIDB4MDEsIDB4YzEsIDB4MDcsIDB4MDEsIDB4MjcsIDB4MDAsIDB4MDAsIDB4OGUsIDB4MzYsCi0gIDB4OGYsIDB4MzcsIDB4ZTUsIDB4MzcsIDB4MTUsIDB4MzcsIDB4YWUsIDB4MzYsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MzYsIDB4NGUsIDB4NjAsIDB4MDUsIDB4MTIsCi0gIDB4MDksIDB4YTQsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MGQsIDB4N2V9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDAwLCAweDEyLCAweDBkLCAweGE1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLAotICAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweGQyLAotICAweDAxLCAweDIyLCAweGMyLCAweDAxLCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBiLCAweGNlLCAweDAwLCAweDAyLCAweDBlfX0sCi0gezB4MGUwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMywgMHgwMCwgMHgwMiwgMHgwYiwgMHhmNSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTA0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTEwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTI4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDE5LCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgIDQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsIDAsCXsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXdfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5d19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NWQ2MTkxLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5d19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ2ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTl3X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMTl3X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTE5d19maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MGQsIDB4NWN9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg5MH19LAotIHsweDAwMjMsIDE1LCB7IDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDBmLCAweDE4LCAweDEyLCAweDBkLCAweDM4LCAweGVmLCAweGMzLCAweDk1LCAweDE0LCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGQ4LCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwZiwgMHhjMiwgMHgwYSwgMHg4MCwgMHg3NywgMHgzMCwgMHgwYywgMHgzYiwgMHg5MCwgMHg3Zn19LAotIHsweDAwNjYsIDE2LCB7IDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MGQsIDB4MzgsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBmLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDFjLCAweDIwLCAweDBhLCAweDExLCAweDYwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwZiwgMHhmNSwgMHgyMywgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgyNywgMHg3ZSwgMHg3NSwgMHgyOCwgMHg0MSwgMHgxMiwgMHgwOCwgMHgwMX19LAotIHsweDAwOTYsIDE2LCB7IDB4YzIsIDB4MGMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDEyLCAweDBkLCAweDM4LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBmfX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxYywgMHgyMCwgMHgwYSwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgyMywgMHg3ZSwgMHg3ZH19LAotIHsweDAwYzYsIDE2LCB7IDB4N2YsIDB4YzEsIDB4NzUsIDB4MjcsIDB4N2QsIDB4NzUsIDB4MjgsIDB4YzEsIDB4MTIsIDB4MDgsIDB4MDEsIDB4ZDIsIDB4MGMsIDB4ZTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweDVlLCAweDEyLCAweDBjLCAweDQxLCAweDhmfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxYywgMHgxMiwgMHgwZCwgMHg0NCwgMHg4ZiwgMHgxMSwgMHhlNSwgMHgxYywgMHhjMywgMHg5NSwgMHgxMywgMHg1MCwgMHgwZiwgMHgxMiwgMHgwZCwgMHgyMH19LAotIHsweDAwZjYsIDE2LCB7IDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MTEsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MTIsIDB4NWMsIDB4YzIsIDB4MTIsIDB4ZTUsIDB4MWN9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MDgsIDB4YjZ9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDYwLCAweDU2LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDExLCAweDAyLCAweGU1LCAweDExLCAweDMwLCAweGU3LCAweDI0LCAweGU1LCAweDFjLCAweGQzLCAweDk0LAotICAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDFjLCAweDIwLCAweDg1LCAweDFjLCAweDIzLCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDI3LCAweDdlLAotICAweDc1LCAweDI4LCAweDgwLCAweDEyLCAweDBhLCAweDg2LCAweGU1LCAweDFjLCAweDI1LCAweDFjLCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDgwLCAweDI3LAotICAweGU1LCAweDFjLCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDFjLCAweDNmLCAweDg1LCAweDFjLCAweDIzLCAweDkwLCAweDdlfX0sCi0gezB4MDE0NiwgNjQsIHsgMHg4MCwgMHhlNSwgMHgxMSwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgyNywgMHg3ZSwgMHg3NSwgMHgyOCwgMHg4MSwgMHgxMiwgMHgwOCwgMHgyNiwKLSAgMHhlNSwgMHgxYywgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwZCwKLSAgMHgwMywgMHgwMiwgMHgwMywgMHhiYSwgMHhlNCwgMHhmNSwgMHgxYiwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxYiwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgwMCwgMHgyNH19LAotIHsweDAxODYsIDY0LCB7IDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGEsIDB4MGQsIDB4MDUsIDB4MWIsIDB4ZTUsIDB4MWIsIDB4YjQsIDB4MjAsIDB4ZDcsCi0gIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NmUsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4MWMsCi0gIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4NWUsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4ODQsCi0gIDB4ZDIsIDB4MTAsIDB4ZDIsIDB4MTEsIDB4NzUsIDB4MWMsIDB4MDQsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4YzIsIDB4MTF9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDQzLCAweDFjLCAweGMwLCAweDkwLCAweDdlLCAweDA0LCAweGUwLCAweGI0LCAweDAxLCAweDA3LCAweGMyLCAweDExLCAweDQzLCAweDFjLCAweDBiLCAweDgwLCAweDEwLAotICAweDkwLCAweDdlLCAweDA0LCAweGUwLCAweDYwLCAweDA3LCAweGMyLCAweDEwLCAweDQzLCAweDFjLCAweDA5LCAweDgwLCAweDAzLCAweDQzLCAweDFjLCAweDAyLAotICAweDdmLCAweDAzLCAweGFkLCAweDFjLCAweDEyLCAweDBjLCAweDFjLCAweDQzLCAweDE5LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDE2LCAweDQ0fX0sCi0gezB4MDIwNiwgNjQsIHsgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHgxOCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwNywgMHhlMCwKLSAgMHg2MCwgMHg0MiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxNSwgMHgwNCwgMHg4MCwgMHgwMywgMHg1MywgMHgxNSwgMHhmYiwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHg5MCwgMHg3ZSwgMHgwOCwgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxN319LAotIHsweDAyNDYsIDY0LCB7IDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTcsIDB4N2YsIDB4NTMsIDB4MTcsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4MTcsCi0gIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4ZDAsIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4ZjYsIDB4YWYsCi0gIDB4MTcsIDB4MTIsIDB4MGIsIDB4YWEsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTksCi0gIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTksIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDB9fSwKLSB7MHgwMjg2LCA2NCwgeyAweGU1LCAweDE5LCAweGYwLCAweDkwLCAweDdlLCAweDBjLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE5LCAweDAyLCAweDgwLAotICAweDAzLCAweDUzLCAweDE5LCAweGZkLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDE5LCAweGYwLAotICAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDEzLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDEzLCAweGEzLCAweGUwLCAweGY1LCAweDE0LCAweGEzLAotICAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE5LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDE5LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MDJjNiwgNjQsIHsgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHgxOCwgMHhiZiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgwZCwgMHgxNCwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgxNSwKLSAgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHhlNCwgMHhmNSwgMHgwZSwgMHhmNSwgMHgwZCwgMHhkMiwgMHgwZX19LAotIHsweDAzMDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4MTUsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTUsIDB4MTIsIDB4MGMsIDB4MWMsIDB4NzUsCi0gIDB4MGQsIDB4MDEsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2UsIDB4MTgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsCi0gIDB4ZTUsIDB4MTYsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MGEsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsCi0gIDB4NDMsIDB4MTgsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzB9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLCAweDBmLCAweDUzLCAweDE1LCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDE1LCAweDEyLCAweDBjLAotICAweDFjLCAweDc1LCAweDBmLCAweDAxLCAweGQyLCAweDBlLCAweDkwLCAweDdlLCAweDFiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDE1LCAweDAxLCAweGU0LAotICAweGZmLCAweGFkLCAweDE1LCAweDEyLCAweDBjLCAweDFjLCAweGU0LCAweGY1LCAweDBmLCAweGQyLCAweDBlLCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLAotICAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDE2LCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwfX0sCi0gezB4MDM4NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgxMiwgMHg5MCwgMHg3ZSwgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgxMCwgMHgwMSwKLSAgMHhlNCwgMHhmNSwgMHgxMiwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZSwgMHgxZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwKLSAgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwYywgMHhjMiwgMHgwZCwgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxNSwgMHg3MSwgMHhlNSwgMHgxMiwgMHg2MCwgMHgwMiwgMHgxNSwgMHgxMiwgMHhlNSwgMHgyZSwgMHhkM319LAotIHsweDAzYzYsIDY0LCB7IDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MmUsIDB4ODAsIDB4NjAsIDB4NzUsIDB4MmUsIDB4MGEsIDB4MTIsIDB4MGQsIDB4MTQsIDB4ZWYsIDB4NTQsIDB4MDEsCi0gIDB4ZjUsIDB4MWMsIDB4NjUsIDB4MGUsIDB4NjAsIDB4MDcsIDB4ODUsIDB4MWMsIDB4MGUsIDB4ZDIsIDB4MGUsIDB4ODAsIDB4MTEsIDB4MTIsIDB4MGQsIDB4NTAsCi0gIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MWMsIDB4NjUsIDB4MDksIDB4NjAsIDB4MDUsIDB4ODUsIDB4MWMsIDB4MDksIDB4ZDIsIDB4MGUsIDB4MTIsIDB4MGQsCi0gIDB4NTAsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjUsIDB4MWMsIDB4NjUsIDB4MGEsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MWMsIDB4MGEsIDB4ZDIsIDB4MGV9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDEyLCAweDBkLCAweDUwLCAweGVmLCAweDU0LCAweDIwLCAweGY1LCAweDFjLCAweDY1LCAweDBiLCAweDYwLCAweDA4LCAweDg1LCAweDFjLCAweDBiLCAweDMwLCAweDEwLAotICAweDAyLCAweGQyLCAweDBlLCAweDEyLCAweDBkLCAweDUwLCAweGVmLCAweDU0LCAweDQwLCAweGY1LCAweDFjLCAweDY1LCAweDBjLCAweDYwLCAweDA4LCAweDg1LAotICAweDFjLCAweDBjLCAweDMwLCAweDExLCAweDAyLCAweGQyLCAweDBlLCAweDMwLCAweDE1LCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLAotICAweDIzLCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LCAweDMwLCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgzMSwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwgMHgxZiwgMHhlNSwgMHgyNSwKLSAgMHg3MCwgMHg0MCwgMHgzMCwgMHgwZSwgMHgzOSwgMHhlNSwgMHgxMiwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwZSwgMHhmNSwgMHgxYiwgMHg3ZSwgMHgwMCwgMHg3YiwKLSAgMHgwMCwgMHg3NCwgMHgwOCwgMHgyNSwgMHgxYiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwOSwgMHhjNywgMHhmZiwgMHg3NH19LAotIHsweDA0ODYsIDY0LCB7IDB4ODAsIDB4MjUsIDB4MWIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MWIsIDB4ZTUsIDB4MWIsIDB4YjQsCi0gIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MTIsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MTAsIDB4NzUsIDB4MjUsCi0gIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MjUsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsIDB4MzAsIDB4MDUsIDB4MmYsIDB4YzIsIDB4MDUsIDB4ZjUsIDB4MWIsIDB4N2UsCi0gIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjksIDB4MjUsIDB4MWIsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MDksIDB4Yzd9fSwKLSB7MHgwNGM2LCA2NCwgeyAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDFiLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDFiLCAweGU1LAotICAweDFiLCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDI1LCAweDAzLCAweDIyLCAweGU1LCAweDMwLAotICAweDYwLCAweDMzLCAweDc1LCAweDJmLCAweDAzLCAweDE1LCAweDMwLCAweGU0LCAweGY1LCAweDFiLCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJmLAotICAweDI1LCAweDFiLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDA5LCAweGM3LCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDFifX0sCi0gezB4MDUwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxYiwgMHhlNSwgMHgxYiwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwKLSAgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgyNSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwYSwgMHgxZiwKLSAgMHgwNSwgMHhmNiwgMHgwMCwgMHgwNiwgMHg2YSwgMHgwMSwgMHgwNiwgMHhkNywgMHgwMywgMHgwNSwgMHg0MywgMHgwNiwgMHgwNSwgMHhlOSwgMHgwOCwgMHgwNSwKLSAgMHhlMywgMHgwOSwgMHgwNSwgMHhjYiwgMHgwYSwgMHgwNSwgMHhkYSwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwNywgMHgyNywgMHg5MCwgMHg3ZiwgMHhlYn19LAotIHsweDA1NDYsIDY0LCB7IDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4NTAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NmYsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsCi0gIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsCi0gIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsCi0gIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWF9fSwKLSB7MHgwNTg2LCA2NCwgeyAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDEyLAotICAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBhLCAweDQ1LCAweGVhLAotICAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LCAweDJlLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0fX0sCi0gezB4MDVjNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyNCwgMHgwMiwgMHgwNywgMHgyZSwgMHgxMiwgMHgwNywgMHgzNiwgMHgwMiwKLSAgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwKLSAgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMn19LAotIHsweDA2MDYsIDY0LCB7IDB4MDEsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDcsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjR9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLAotICAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFlLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLAotICAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA2LCAweDEyLCAweDBkLCAweDYzLCAweDAyLCAweDA3LCAweDJlfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwKLSAgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwKLSAgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwKLSAgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3Zn19LAotIHsweDA2YzYsIDY0LCB7IDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTcsCi0gIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsCi0gIDB4YjQsIDB4MDEsIDB4MDUsIDB4MTIsIDB4MGQsIDB4NjAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsCi0gIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmZ9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLAotICAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweGU0LAotICAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwfX0sCi0gezB4MDc0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwKLSAgMHgwOCwgMHg3ZiwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwOCwgMHgyZiwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwYSwKLSAgMHgwZCwgMHgwZiwgMHhiZiwgMHgwOSwgMHhlZSwgMHg3NSwgMHgxMywgMHgwMSwgMHhlNCwgMHhmNSwgMHgxMiwgMHhmNSwgMHgyZSwgMHhmNSwgMHgxMX19LAotIHsweDA3ODYsIDY0LCB7IDB4YzIsIDB4MGUsIDB4YzIsIDB4MTIsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MDQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsCi0gIDB4ZjAsIDB4NzUsIDB4MTgsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MGMsCi0gIDB4MWMsIDB4N2YsIDB4MTAsIDB4OGYsIDB4MTcsIDB4MTIsIDB4MGIsIDB4YWEsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsCi0gIDB4OGYsIDB4MTYsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4MWN9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDE1LCAweDEyLCAweDBjLCAweDFjLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDBjLCAweDFjLCAweDdmLCAweDAxLCAweDEyLCAweDBjLAotICAweGFjLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDBjLCAweDFjLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDE5LAotICAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweGQyLCAweDAzLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwfX0sCi0gezB4MDgwNiwgNjQsIHsgMHhmMCwgMHhhZiwgMHgyMywgMHhlNSwgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyNywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgyMywgMHhlNSwgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyNywgMHhmNSwgMHg4MywgMHhjMiwKLSAgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmN319LAotIHsweDA4NDYsIDY0LCB7IDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MjMsIDB4ZTUsIDB4MjgsIDB4ZjUsIDB4ODIsCi0gIDB4ZTUsIDB4MjcsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsCi0gIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsCi0gIDB4MjMsIDB4ZTUsIDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjcsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzB9fSwKLSB7MHgwODg2LCA2NCwgeyAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLAotICAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLAotICAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweDc4LAotICAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDMxLCAweDAyLCAweDA4LCAweGZkLCAweDAyLCAweDA5LCAweDQyLCAweGU0fX0sCi0gezB4MDhjNiwgNjQsIHsgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwKLSAgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwKLSAgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwKLSAgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgwYywgMHhjZCwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiY319LAotIHsweDA5MDYsIDY0LCB7IDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsCi0gIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsCi0gIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsCi0gIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4ZDIsIDB4MTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDEyLCAweDBkLCAweDYzLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLAotICAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLAotICAweGFlLCAweDc0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDE1LCAweDEyLCAweDBjLCAweDY2LCAweGMyLCAweDAyLCAweGU0LCAweGY1fX0sCi0gezB4MDk4NiwgNjQsIHsgMHgyNiwgMHhmNSwgMHgyZSwgMHhjMiwgMHgwOCwgMHhjMiwgMHgwMywgMHg5MCwgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwKLSAgMHgxYSwgMHg2MCwgMHgxMCwgMHgzMCwgMHgwMywgMHgwNSwgMHhkMiwgMHgxNSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwKLSAgMHgxYSwgMHg4MCwgMHgwOCwgMHgzMCwgMHgwMywgMHgwNSwgMHhjMiwgMHgxNSwgMHgxMiwgMHgwMCwgMHg0NiwgMHgzMCwgMHgwMiwgMHgwNywgMHhjMiwgMHgwMiwKLSAgMHgxMiwgMHgwNSwgMHgyMCwgMHg4MCwgMHhkNiwgMHgzMCwgMHgwOSwgMHhkMywgMHhjMiwgMHgwOSwgMHgxMiwgMHgwYSwgMHhiYSwgMHg4MCwgMHhjY319LAotIHsweDA5YzYsIDY0LCB7IDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsCi0gIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsCi0gIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsCi0gIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTV9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLAotICAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLAotICAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LAotICAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDhmfX0sCi0gezB4MGE0NiwgNjQsIHsgMHgxYiwgMHhlNCwgMHhmNSwgMHgxYywgMHg3NSwgMHgxZCwgMHhmZiwgMHg3NSwgMHgxZSwgMHgxOSwgMHg3NSwgMHgxZiwgMHg4NiwgMHhhYiwgMHgxZCwgMHhhYSwgMHgxZSwKLSAgMHhhOSwgMHgxZiwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwOSwgMHhlMCwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgxYywgMHgwNSwgMHgxYywgMHhlZiwKLSAgMHhiNSwgMHgxYiwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwOSwgMHhjNywgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwKLSAgMHgxZCwgMHhmZiwgMHhmNSwgMHgxZSwgMHg4OSwgMHgxZiwgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMn19LAotIHsweDBhODYsIDY0LCB7IDB4MDUsIDB4MjgsIDB4ZTUsIDB4MjgsIDB4YWUsIDB4MjcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MjcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MTEsCi0gIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MjgsIDB4ZTUsIDB4MjgsIDB4YWMsIDB4MjcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MjcsIDB4MTQsIDB4ZjUsCi0gIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MjMsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MGQsIDB4NDQsIDB4OGYsIDB4MTEsCi0gIDB4ODAsIDB4Y2QsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MWIsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDZ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDEyLCAweDA4LCAweGE2LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDBlLCAweDMwLCAweDAxLCAweDA1LAotICAweDEyLCAweDBjLCAweGZlLCAweDgwLCAweDA2LCAweDEyLCAweDBjLCAweDhiLCAweGVmLCAweDYwLCAweGUxLCAweDEyLCAweDA3LCAweDM2LCAweDIyLCAweGMwLAotICAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLAotICAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwKLSAgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwMiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMH19LAotIHsweDBiNDYsIDY0LCB7IDB4ZDIsIDB4MDksIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsCi0gIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzfX0sCi0gezB4MGJjNiwgNjQsIHsgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NH19LAotIHsweDBjMDYsIDY0LCB7IDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MGQsIDB4MmMsIDB4OGYsIDB4MWR9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDEyLCAweDBkLCAweDJjLCAweDhmLCAweDFlLCAweGU1LCAweDFkLCAweDY1LCAweDFlLCAweDYwLCAweDEyLCAweDEyLCAweDBkLCAweDJjLCAweDhmLCAweDFkLCAweGU1LAotICAweDFkLCAweDY1LCAweDFlLCAweDYwLCAweDA3LCAweDEyLCAweDBkLCAweDJjLCAweDhmLCAweDFlLCAweDgwLCAweGU4LCAweGFmLCAweDFkLCAweDIyLCAweDkwLAotICAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDE1LCAweDA0LCAweGUwLCAweDQ0LCAweDAyLAotICAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDBjLCAweGU3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwfX0sCi0gezB4MGM4NiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxYywgMHgxMiwgMHgwNywgMHgzNiwgMHgxMiwgMHgwZCwgMHg1MCwKLSAgMHhlZiwgMHgzMCwgMHhlNiwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxYywgMHg2MCwgMHhmMSwgMHg3ZiwgMHgwMSwgMHgyMiwgMHgxMiwKLSAgMHgwMCwgMHgwMywgMHg3ZiwgMHgwMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgwYywKLSAgMHgxYywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgxNX19LAotIHsweDBjYzYsIDY0LCB7IDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4MWMsIDB4MjIsIDB4MDUsIDB4MjksIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MmYsIDB4MDMsCi0gIDB4MDAsIDB4MDAsIDB4YzEsIDB4ODYsIDB4YzEsIDB4MDIsIDB4YzEsIDB4MDksIDB4YzEsIDB4MDEsIDB4YzEsIDB4MDcsIDB4MDEsIDB4MjUsIDB4MDAsIDB4MDAsCi0gIDB4OGUsIDB4MWMsIDB4OGYsIDB4MWQsIDB4ZTUsIDB4MWQsIDB4MTUsIDB4MWQsIDB4YWUsIDB4MWMsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MWMsIDB4NGUsIDB4NjAsCi0gIDB4MDUsIDB4MTIsIDB4MDgsIDB4OTUsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2Z9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDBkLCAweDdlLCAweDAwLCAweDEyLCAweDBjLCAweGU3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLAotICAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHhkMiwgMHgwMSwgMHgyMiwgMHhjMiwgMHgwMSwgMHgyMiwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBkODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBiLCAweDEwLCAweDAwLCAweDAyLCAweDBlfX0sCi0gezB4MGUwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwYSwgMHhlNiwgMHgwMCwgMHgwMiwgMHgwYiwgMHgzNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTA0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTEwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTI4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDA4LCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgIDQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsCTAsCXsweDAwfSB9Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjhfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0OGIwYTIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjhfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2NiArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTI4X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMjhfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2EyOF9maXJtd2FyZVtdID0gewotIHsweDAwMjYsIDEwLCB7IDB4MTIsIDB4MTcsIDB4ZGIsIDB4MTIsIDB4MTgsIDB4YjUsIDB4MTIsIDB4MTQsIDB4YzMsIDB4MjJ9fSwKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDFkfX0sCi0gezB4MDAxZCwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwMDYsIDE2LCB7IDB4OGUsIDB4MTIsIDB4OGYsIDB4MTMsIDB4ZTUsIDB4MTMsIDB4MTUsIDB4MTMsIDB4YWUsIDB4MTIsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTIsIDB4NGUsIDB4NjB9fSwKLSB7MHgwMDE2LCAgNywgeyAweDA1LCAweDEyLCAweDE4LCAweGE0LCAweDgwLCAweGVlLCAweDIyfX0sCi0gezB4MDAwMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwNDYsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDh9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDMwLCAweDk5LCAweDBlLCAweDMwLCAweDExLCAweDA3LCAweGEyLCAweDE3LCAweDkyLCAweDliLCAweDg1LCAweDQ2LCAweDk5LCAweGMyLCAweDk5LCAweGQyfX0sCi0gezB4MDA2NiwgMTYsIHsgMHgxZiwgMHgzMCwgMHhjMSwgMHgwZSwgMHgzMCwgMHgxMiwgMHgwNywgMHhhMiwgMHgxOCwgMHg5MiwgMHhjMywgMHg4NSwgMHg0NywgMHhjMSwgMHhjMiwgMHhjMX19LAotIHsweDAwNzYsIDE2LCB7IDB4ZDIsIDB4MjAsIDB4MjAsIDB4MWYsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDIsIDB4YzIsIDB4MWYsIDB4MjAsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4Njd9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDIwLCAweDExLCAweDAzLCAweDAyLCAweDAxLCAweDM4LCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDNlLCAweDIwLCAweDEzLCAweDM2fX0sCi0gezB4MDA5NiwgMTYsIHsgMHgyMCwgMHgwYiwgMHgzMywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHgyOSwgMHgzMCwgMHgxYiwgMHgxMn19LAotIHsweDAwYTYsIDE2LCB7IDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzfX0sCi0gezB4MDBjNiwgMTYsIHsgMHhlMCwgMHhmNSwgMHg0NiwgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMH19LAotIHsweDAwZDYsIDE2LCB7IDB4YzIsIDB4MDMsIDB4MzAsIDB4MTUsIDB4MGMsIDB4YzIsIDB4MTUsIDB4OTAsIDB4N2YsIDB4YmYsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDR9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDQwLCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDExLCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM5fX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlMCwgMHhmNSwgMHg3YywgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNSwgMHgyMCwgMHgxMywgMHgyZCwgMHgyMCwgMHgwYiwgMHgyYX19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MWIsIDB4MDB9fSwKLSB7MHgwMDIzLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDAzYiwgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MTYsIDB4M2R9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDIwLCAweDMwLCAweDFiLCAweDExLCAweDkwLCAweDdkLCAweGMxLCAweGUwLAotICAweDEzLCAweDkyLCAweDE3LCAweGEzLCAweGUwLCAweGY1LCAweDQ2LCAweDc1LCAweDRhLCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweDc1LCAweDRhLCAweDAyLAotICAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDQ2LCAweDAyLCAweDA0LCAweDQwLCAweDc1LCAweDRhLCAweDAxLCAweGMyLCAweDExLCAweDAyLCAweDA0LAotICAweDQwLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDAzLCAweDAyLCAweDAxLCAweGUwLCAweDkwLCAweDdmLCAweGM2LCAweGUwfX0sCi0gezB4MDE0NiwgNjQsIHsgMHgzMCwgMHhlMSwgMHgwNywgMHhjMiwgMHgyMSwgMHhjMiwgMHgwNSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg3YywgMHg5MCwKLSAgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNSwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwMSwgMHhkOCwgMHgyMCwgMHgwYiwgMHg3MiwgMHgyMCwKLSAgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHg2NSwgMHgzMCwgMHgxYiwgMHgxMCwgMHg5MCwKLSAgMHg3ZSwgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHg0YSwgMHgwMywgMHg4MCwgMHgwOX19LAotIHsweDAxODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4NGEsIDB4MDIsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NDAsIDB4MTcsIDB4OTAsCi0gIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4MjAsIDB4MTUsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MTUsIDB4OTAsIDB4N2YsCi0gIDB4YmYsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGF9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ2LCAweGQyLCAweDExLCAweDAyLCAweDA0LAotICAweDQwLCAweDc1LCAweDRhLCAweDAxLCAweGMyLCAweDIxLCAweDAyLCAweDA0LCAweDQwLCAweDMwLCAweDEzLCAweDAzLCAweDAyLCAweDAyLCAweDYyLCAweDIwLAotICAweDBiLCAweDc5LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDZmLCAweDMwLCAweDFiLCAweDEyLCAweGFlLAotICAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzfX0sCi0gezB4MDIwNiwgNjQsIHsgMHg5MiwgMHg5YiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHg5OSwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMywKLSAgMHgyMCwgMHgxNSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHg0MCwKLSAgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZX19LAotIHsweDAyNDYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4ZDIsIDB4MTEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MjEsIDB4MDIsIDB4MDQsIDB4NDAsCi0gIDB4MjAsIDB4MTEsIDB4MDMsIDB4MDIsIDB4MDMsIDB4MTksIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MTMsIDB4MzYsCi0gIDB4MjAsIDB4MGIsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4MjksIDB4MzAsIDB4MWJ9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDEyLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweGY1LCAweDQ2LCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDExLCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLAotICAweGQyLCAweDAzLCAweDMwLCAweDE1LCAweDBjLCAweGMyLCAweDE1LCAweDkwLCAweDdmLCAweGJmLCAweDA0LCAweGYwLCAweGMyLCAweDExLCAweDAyfX0sCi0gezB4MDJjNiwgNjQsIHsgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjNywKLSAgMHhlMCwgMHhmNSwgMHg3YywgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNSwgMHgyMCwgMHgxMywgMHgyZCwgMHgyMCwgMHgwYiwgMHgyYSwKLSAgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHgyMCwgMHgzMCwgMHgxYiwgMHgxMSwgMHg5MCwgMHg3ZSwgMHg0MSwKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhMywgMHhlMCwgMHhmNSwgMHg0NiwgMHg3NSwgMHg0YSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHg3NX19LAotIHsweDAzMDYsIDY0LCB7IDB4NGEsIDB4MDIsIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4MDIsIDB4MDQsIDB4NDAsIDB4NzUsIDB4NGEsIDB4MDEsIDB4YzIsIDB4MTEsIDB4MDIsCi0gIDB4MDQsIDB4NDAsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsCi0gIDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MjEsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4N2MsCi0gIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YjksIDB4MjAsIDB4MGJ9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDcyLCAweDIwLCAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDY1LCAweDMwLCAweDFiLCAweDEwLAotICAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDRhLCAweDAzLCAweDgwLCAweDA5LAotICAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDRhLCAweDAyLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDQwLCAweDE3LAotICAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAzLCAweDIwLCAweDE1LCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDE1fX0sCi0gezB4MDM4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHg0MCwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwKLSAgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NiwgMHhkMiwgMHgxMSwgMHgwMiwKLSAgMHgwNCwgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMSwgMHhjMiwgMHgyMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwNH19LAotIHsweDAzYzYsIDY0LCB7IDB4M2UsIDB4MjAsIDB4MGIsIDB4NzQsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4NmEsIDB4MzAsIDB4MWIsIDB4MTIsCi0gIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4OWIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4ZjUsIDB4OTksIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NDAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGQyLCAweDAzLCAweDMwLCAweDE1LCAweDM1LCAweGMyLCAweDE1LCAweDkwLCAweDdmLCAweGJmLCAweDA0LCAweGYwLCAweDgwLCAweDJjLCAweDMwLCAweDFiLCAweDEyLAotICAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweGY1LCAweDQ2LCAweGQyLCAweDExLCAweDgwLCAweDAyLCAweGMyLCAweDIxLCAweGQyLCAweDI1LCAweDIwLCAweDIwLCAweDAzLCAweDAyfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgwOCwgMHgwYywgMHhjMiwgMHgyMCwgMHgyMCwgMHgwNCwgMHgwMywgMHgwMiwgMHgwNiwgMHgzMSwgMHgyMCwgMHgxMiwgMHgwMywgMHgwMiwgMHgwNSwgMHgwMiwgMHhlNSwKLSAgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg1MCwgMHgzZSwgMHgyMCwgMHgxNCwgMHgzNiwgMHgyMCwgMHgwZCwgMHgzMywgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwKLSAgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHgyOSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0Yn19LAotIHsweDA0ODYsIDY0LCB7IDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsIDB4MDIsIDB4MDgsIDB4MGEsIDB4YzIsCi0gIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDQsIDB4MzAsIDB4MTYsIDB4MGMsIDB4YzIsIDB4MTYsCi0gIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4MzAsIDB4ZTEsCi0gIDB4MDUsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4OTAsIDB4N2MsIDB4YzB9fSwKLSB7MHgwNGM2LCA2NCwgeyAweGUwLCAweDEzLCAweDkyLCAweDE2LCAweDIwLCAweDE0LCAweDJkLCAweDIwLCAweDBkLCAweDJhLCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDIwLCAweGU1LCAweDAzLAotICAweDIwLCAweDFlLCAweDIwLCAweDMwLCAweDFkLCAweDExLCAweDkwLCAweDdjLCAweGMxLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGEzLCAweGUwLCAweGY1LAotICAweDQ3LCAweDc1LCAweDRiLCAweDAzLCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAyLCAweDkwLCAweDdjLCAweGMxLCAweGUwLCAweGY1LCAweDQ3LAotICAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAxLCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweGU1LCAweDRiLCAweGMzLCAweDk1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHg3ZCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhYSwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNywgMHhjMiwgMHgyMiwgMHhjMiwgMHgwNiwKLSAgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmNSwgMHg3ZCwgMHg5MCwgMHg3ZCwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNiwKLSAgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMiwgMHgyMCwgMHgwZCwgMHg3MiwgMHgyMCwgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwKLSAgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHg2NSwgMHgzMCwgMHgxZCwgMHgxMCwgMHg5MCwgMHg3ZCwgMHg0MSwgMHhlMCwgMHgxMywgMHg5Mn19LAotIHsweDA1NDYsIDY0LCB7IDB4YzMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4NzUsIDB4NGIsIDB4MDMsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2QsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4NzUsCi0gIDB4NGIsIDB4MDIsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDQsCi0gIDB4MjAsIDB4MTYsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsIDB4YzIsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4MGEsCi0gIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2R9fSwKLSB7MHgwNTg2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweGQyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAxLCAweGMyLCAweDIyLAotICAweDAyLCAweDA4LCAweDBhLCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA2LCAweDJjLCAweDIwLCAweDBkLCAweDc5LCAweDkwLCAweDdmLCAweDlhLCAweGUwLAotICAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDZmLCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHhjMywgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwKLSAgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhjMSwgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwKLSAgMHg3ZCwgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlNCwgMHhmMCwgMHhjMiwgMHgwNCwgMHgyMCwgMHgxNiwgMHgwMywgMHgwMiwgMHgwOCwgMHgwYSwKLSAgMHhjMiwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwOCwgMHgwYSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0Yn19LAotIHsweDA2MDYsIDY0LCB7IDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsCi0gIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsCi0gIDB4ZDIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4YzIsIDB4MjIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4MjAsIDB4MTIsIDB4MDMsIDB4MDIsIDB4MDYsIDB4ZTMsCi0gIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MTQsIDB4MzYsIDB4MjAsIDB4MGQsIDB4MzMsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDlhLCAweGUwLCAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDI5LCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLCAweDRiLCAweDA1LCAweDRiLAotICAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweDAyLCAweDA4LCAweDBhLAotICAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGU0LCAweGYwLCAweGQyLCAweDA0LCAweDMwLCAweDE2LCAweDBjfX0sCi0gezB4MDY4NiwgNjQsIHsgMHhjMiwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgzMCwKLSAgMHhlMSwgMHgwNSwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmNSwgMHg3ZCwgMHg5MCwgMHg3ZCwgMHg0MCwKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgxNiwgMHgyMCwgMHgxNCwgMHgyZCwgMHgyMCwgMHgwZCwgMHgyYSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHgyMCwgMHhlNSwKLSAgMHgwMywgMHgyMCwgMHgxZSwgMHgyMCwgMHgzMCwgMHgxZCwgMHgxMSwgMHg5MCwgMHg3ZCwgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhM319LAotIHsweDA2YzYsIDY0LCB7IDB4ZTAsIDB4ZjUsIDB4NDcsIDB4NzUsIDB4NGIsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDIsIDB4OTAsIDB4N2QsIDB4NDEsIDB4ZTAsIDB4ZjUsCi0gIDB4NDcsIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDEsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsCi0gIDB4N2QsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OGIsIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MjIsIDB4YzIsCi0gIDB4MDYsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4OTAsIDB4N2MsIDB4YzAsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDkyLCAweDE2LCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA3LCAweDgzLCAweDIwLCAweDBkLCAweDcyLCAweDIwLCAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweDlhLAotICAweGUwLCAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDY1LCAweDMwLCAweDFkLCAweDEwLCAweDkwLCAweDdjLCAweGMxLCAweGUwLCAweDEzLCAweDkyLAotICAweGMzLCAweGEzLCAweGUwLCAweGY1LCAweGMxLCAweDc1LCAweDRiLCAweDAzLCAweDgwLCAweDA5LCAweDkwLCAweDdjLCAweGMxLCAweGUwLCAweGY1LCAweGMxLAotICAweDc1LCAweDRiLCAweDAyLCAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGNkLCAweGU0LCAweGYwfX0sCi0gezB4MDc0NiwgNjQsIHsgMHhkMiwgMHgwNCwgMHgyMCwgMHgxNiwgMHgwMywgMHgwMiwgMHgwOCwgMHgwYSwgMHhjMiwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwOCwKLSAgMHgwYSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHhkMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMX19LAotIHsweDA3ODYsIDY0LCB7IDB4YzIsIDB4MjIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MDgsIDB4MjAsIDB4MGQsIDB4NzQsIDB4OTAsIDB4N2YsIDB4OWEsCi0gIDB4ZTAsIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4NmEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4YzMsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsCi0gIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4ZTUsIDB4NGJ9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGMzLCAweDk1LCAweDdkLCAweDQwLCAweDEzLCAweDkwLCAweDdmLCAweGNkLCAweGU0LCAweGYwLCAweGQyLCAweDA0LCAweDMwLCAweDE2LCAweDM1LCAweGMyLCAweDE2LAotICAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweDgwLCAweDJjLCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLCAweDRiLCAweDA1LCAweDRiLAotICAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweGQyLCAweDEyfX0sCi0gezB4MDgwNiwgNjQsIHsgMHg4MCwgMHgwMiwgMHhjMiwgMHgyMiwgMHhkMiwgMHgyNSwgMHgyMCwgMHg5OCwgMHgwMywgMHgwMiwgMHgwOSwgMHgzZSwgMHhjMiwgMHg5OCwgMHgyMCwgMHgwMSwgMHgwMywKLSAgMHgwMiwgMHgwOCwgMHhiMCwgMHgyMCwgMHgyMywgMHgyNywgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgxYiwgMHg0OSwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHg4MCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzNiwgMHhhZiwgMHg5OX19LAotIHsweDA4NDYsIDY0LCB7IDB4ZWYsIDB4YjUsIDB4NTgsIDB4MDQsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4MmMsIDB4ZWYsIDB4YjUsIDB4NTcsIDB4MDQsIDB4YzIsIDB4MGIsIDB4ODAsIDB4MjQsIDB4YWUsCi0gIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MzAsCi0gIDB4MWIsIDB4MTEsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsCi0gIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MTksIDB4ZTUsIDB4NDgsIDB4YzMsIDB4OTUsIDB4NTQsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDksIDB4M2N9fSwKLSB7MHgwODg2LCA2NCwgeyAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDMwLCAweGUxLCAweDE1LCAweGU1LCAweDQ4LCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDAzLCAweDAyLCAweDA5LCAweDNjLAotICAweDE1LCAweDQ4LCAweDE1LCAweDQ4LCAweDA1LCAweDJkLCAweGQyLCAweDBjLCAweDAyLCAweDA5LCAweDNjLCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDQ4LAotICAweGYwLCAweDc1LCAweDQ4LCAweDAwLCAweGMyLCAweDAxLCAweDAyLCAweDA5LCAweDNjLCAweDIwLCAweDIzLCAweDI3LCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LAotICAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDFifX0sCi0gezB4MDhjNiwgNjQsIHsgMHg0OSwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwKLSAgMHhmMCwgMHg4MCwgMHgzNiwgMHhhZiwgMHg5OSwgMHhlZiwgMHhiNSwgMHg1OCwgMHgwNCwgMHhkMiwgMHgwYiwgMHg4MCwgMHgyYywgMHhlZiwgMHhiNSwgMHg1NywKLSAgMHgwNCwgMHhjMiwgMHgwYiwgMHg4MCwgMHgyNCwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZSwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgzMCwgMHgxYiwgMHgxMSwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHgwMCwgMHgyZX19LAotIHsweDA5MDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MTksIDB4ZTUsIDB4NDgsIDB4YzMsIDB4OTUsIDB4NTQsCi0gIDB4NDAsIDB4MjMsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTEsIDB4ZTUsIDB4NDgsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NDAsIDB4MTUsCi0gIDB4MTUsIDB4NDgsIDB4MTUsIDB4NDgsIDB4MDUsIDB4MmQsIDB4ZDIsIDB4MGMsIDB4ODAsIDB4MGIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4NDgsIDB4ZjAsCi0gIDB4NzUsIDB4NDgsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4ZDIsIDB4MjUsIDB4MjAsIDB4YzAsIDB4MDMsIDB4MDIsIDB4MGEsIDB4NzAsIDB4YzIsIDB4YzB9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDIwLCAweDAyLCAweDAzLCAweDAyLCAweDA5LCAweGUyLCAweDIwLCAweDI0LCAweDI3LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDgwLCAweDJlLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGU1LCAweGMxLCAweGYwLCAweDMwLCAweDFkLCAweDQ5LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LAotICAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGU1LCAweGMwLCAweGYwLCAweDgwLCAweDM2LCAweGFmLAotICAweGMxLCAweGVmLCAweGI1LCAweDcwLCAweDA0LCAweGQyLCAweDBkLCAweDgwLCAweDJjLCAweGVmLCAweGI1LCAweDZmLCAweDA0LCAweGMyLCAweDBkfX0sCi0gezB4MDk4NiwgNjQsIHsgMHg4MCwgMHgyNCwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlZiwKLSAgMHhmMCwgMHgzMCwgMHgxZCwgMHgxMSwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwKLSAgMHhmNSwgMHg4MywgMHhlNSwgMHhjMCwgMHhmMCwgMHhkMiwgMHgxYSwgMHhlNSwgMHg0OSwgMHhjMywgMHg5NSwgMHg2YywgMHg1MCwgMHgwMywgMHgwMiwgMHgwYSwKLSAgMHg2ZSwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNSwgMHhlNSwgMHg0OSwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgwM319LAotIHsweDA5YzYsIDY0LCB7IDB4MDIsIDB4MGEsIDB4NmUsIDB4MTUsIDB4NDksIDB4MTUsIDB4NDksIDB4MDUsIDB4MzksIDB4ZDIsIDB4MGUsIDB4MDIsIDB4MGEsIDB4NmUsIDB4OTAsIDB4N2YsIDB4YmIsCi0gIDB4ZTUsIDB4NDksIDB4ZjAsIDB4NzUsIDB4NDksIDB4MDAsIDB4YzIsIDB4MDIsIDB4MDIsIDB4MGEsIDB4NmUsIDB4MjAsIDB4MjQsIDB4MjcsIDB4YWUsIDB4NDksCi0gIDB4MDUsIDB4NDksIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4YzEsIDB4ZjAsIDB4MzAsCi0gIDB4MWQsIDB4NDksIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjV9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDgzLCAweGU1LCAweGMwLCAweGYwLCAweDgwLCAweDM2LCAweGFmLCAweGMxLCAweGVmLCAweGI1LCAweDcwLCAweDA0LCAweGQyLCAweDBkLCAweDgwLCAweDJjLCAweGVmLAotICAweGI1LCAweDZmLCAweDA0LCAweGMyLCAweDBkLCAweDgwLCAweDI0LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDMwLCAweDFkLCAweDExLCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDAwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGU1LCAweGMwLCAweGYwLCAweGQyLCAweDFhLCAweGU1LCAweDQ5fX0sCi0gezB4MGE0NiwgNjQsIHsgMHhjMywgMHg5NSwgMHg2YywgMHg0MCwgMHgyMywgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMSwgMHhlNSwgMHg0OSwgMHhjMywgMHg5NCwgMHg0MCwKLSAgMHg0MCwgMHgxNSwgMHgxNSwgMHg0OSwgMHgxNSwgMHg0OSwgMHgwNSwgMHgzOSwgMHhkMiwgMHgwZSwgMHg4MCwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhlNSwKLSAgMHg0OSwgMHhmMCwgMHg3NSwgMHg0OSwgMHgwMCwgMHhkMiwgMHgwMiwgMHhkMiwgMHgyNSwgMHgzMCwgMHgyNSwgMHgwNSwgMHhjMiwgMHgyNSwgMHgwMiwgMHgwMCwKLSAgMHg1NiwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhjZX19LAotIHsweDBhODYsIDY0LCB7IDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGIsIDB4YTUsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTIsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTIsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDAsIDB4MjQsIDB4NGMsIDB4ZjksIDB4ZWMsCi0gIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MTUsIDB4Y2QsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4YjQsIDB4MTgsIDB4ZGIsIDB4ZTUsIDB4NGMsCi0gIDB4NjAsIDB4MGMsIDB4NzUsIDB4YzksIDB4MjAsIDB4NzUsIDB4YzgsIDB4MzYsIDB4ODUsIDB4NGQsIDB4Y2EsIDB4ODUsIDB4NGUsIDB4Y2IsIDB4ZTV9fSwKLSB7MHgwYWM2LCA2NCwgeyAweDRmLCAweDEzLCAweDkyLCAweDFiLCAweDkyLCAweDlmLCAweGU1LCAweDUwLCAweDEzLCAweDkyLCAweDFjLCAweGU1LCAweDUxLCAweDEzLCAweDkyLCAweDIzLCAweGU1LAotICAweDUyLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweDk4LCAweGUwLAotICAweDQ0LCAweDA0LCAweGYwLCAweGU1LCAweDUzLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDU5LCAweDYwLCAweDBiLCAweGMyLCAweDEzLCAweGMyLCAweDBifX0sCi0gezB4MGIwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg1YSwgMHg2MCwgMHgwYiwgMHhkMiwgMHgwYiwgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZiwKLSAgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg1YiwgMHg2MCwgMHgwZCwgMHhjMiwgMHhhZiwgMHhjMiwgMHgxMSwgMHhkMiwgMHgwMCwgMHhlNCwKLSAgMHhmNSwgMHg3YywgMHhmNSwgMHg0YSwgMHhkMiwgMHhhZiwgMHhlNSwgMHg1YywgMHg2MCwgMHgwNSwgMHgzMCwgMHgyMywgMHgwMiwgMHhkMiwgMHgwYiwgMHhlNSwKLSAgMHg1ZCwgMHg2MCwgMHgxNSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhlMCwgMHg0NH19LAotIHsweDBiNDYsIDY0LCB7IDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4NWUsIDB4NjAsIDB4MGEsIDB4ZDIsIDB4OWMsIDB4YzIsIDB4OTgsCi0gIDB4NzUsIDB4MmUsIDB4MDEsIDB4NzUsIDB4NDAsIDB4MjgsIDB4ZTUsIDB4NWYsIDB4NjAsIDB4MDcsIDB4YzIsIDB4OWMsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4ZjUsCi0gIDB4MmUsIDB4ZTUsIDB4NjAsIDB4NjAsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4ZTUsIDB4NjEsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MDcsIDB4ZTUsIDB4NjIsCi0gIDB4NjAsIDB4MDgsIDB4ZTUsIDB4NWUsIDB4NzAsIDB4MDIsIDB4ZjUsIDB4NDAsIDB4ZDIsIDB4MGMsIDB4ZTUsIDB4NjMsIDB4NjAsIDB4MTksIDB4OTB9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDEyLCAweGYwLCAweDc0LCAweDMyLCAweGYwLCAweDc0LCAweDE1LCAweGYwLAotICAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDAzLCAweGQyLCAweDAxLCAweGQyLCAweDA5LCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweGEyLCAweDEzLAotICAweGU0LCAweDMzLCAweGZmLCAweDY1LCAweDJiLCAweDYwLCAweDA0LCAweDhmLCAweDJiLCAweGQyLCAweDBjLCAweGEyLCAweDBiLCAweGU0LCAweDMzLCAweGZmLAotICAweDY1LCAweDJjLCAweDYwLCAweDA0LCAweDhmLCAweDJjLCAweGQyLCAweDBjLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDA4LCAweDY1fX0sCi0gezB4MGJjNiwgNjQsIHsgMHgyNywgMHg2MCwgMHgwNywgMHhlMCwgMHg1NCwgMHgwOCwgMHhmNSwgMHgyNywgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NCwgMHg0MCwgMHhiNSwKLSAgMHgyOSwgMHgwOSwgMHhlMCwgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwYywgMHgzMCwgMHgwNywgMHgzNSwgMHhjMiwgMHhhZiwKLSAgMHgzMCwgMHgwMSwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHhlNSwgMHg0OCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwKLSAgMHhiNywgMHhmMCwgMHhlNCwgMHhmNSwgMHg0OCwgMHhjMiwgMHgwMSwgMHhjMiwgMHgwNywgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMH19LAotIHsweDBjMDYsIDY0LCB7IDB4MjAsIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4ZDIsIDB4MDEsIDB4YzIsCi0gIDB4MDcsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDUsIDB4MzcsIDB4MzAsIDB4MDMsIDB4MWIsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MmQsCi0gIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4NzUsIDB4NGEsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4N2MsCi0gIDB4ZDIsIDB4MDUsIDB4ODAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTB9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDEzLCAweDkyLCAweDE1LCAweDc1LCAweDRhLCAweDAxLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDdjLCAweGQyLCAweDA1LCAweDIwLCAweDIxLCAweDMzLAotICAweDIwLCAweDAwLCAweDA2LCAweGU1LCAweDRhLCAweDY1LCAweDdjLCAweDcwLCAweDJhLCAweDMwLCAweDA1LCAweDFhLCAweDMwLCAweDAzLCAweDA5LCAweGU0LAotICAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweGMyLAotICAweDA1LCAweGU0LCAweGY1LCAweDdjLCAweGY1LCAweDRhLCAweDMwLCAweDE1LCAweDBhLCAweGMyLCAweDE1LCAweGMyLCAweDAwLCAweDkwLCAweDdmfX0sCi0gezB4MGM4NiwgNjQsIHsgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgzMCwgMHgyMSwgMHgwMywgMHgwMiwgMHgwZCwgMHg5NCwgMHgyMCwgMHgwNSwgMHgwMywgMHgwMiwgMHgwZCwgMHg5NCwgMHgzMCwKLSAgMHgxYywgMHgwYSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgwMiwgMHgwZCwgMHg5NCwgMHgzMCwgMHgwYiwgMHgwMywgMHgwMiwKLSAgMHgwZCwgMHg5NCwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwZCwgMHg5NCwgMHgzMCwgMHgwMywgMHg2MiwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZiwgMHg0YSwKLSAgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5Mn19LAotIHsweDBjYzYsIDY0LCB7IDB4MmQsIDB4YWYsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsCi0gIDB4MTMsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWYsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsCi0gIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWYsIDB4NGEsIDB4MDUsCi0gIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4ZDJ9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDExLCAweDgwLCAweDZiLCAweGMyLCAweDExLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDYwLCAweDMwLCAweDFiLCAweDEyLAotICAweGFmLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDJkLCAweGFmLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweGY1LCAweDEzLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDJhLCAweDMwLCAweDFiLCAweDEyLCAweGFmLCAweDRhfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhZiwKLSAgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NiwKLSAgMHhkMiwgMHgxMSwgMHg4MCwgMHgwOSwgMHhjMiwgMHgxMSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHgzMCwgMHgxYiwgMHgwNCwKLSAgMHhhMiwgMHgyZCwgMHg5MiwgMHg5YiwgMHhkMiwgMHgyMSwgMHhjMiwgMHhhZiwgMHg4NSwgMHgxMywgMHg5OSwgMHgyMCwgMHgxMSwgMHgwZCwgMHgzMH19LAotIHsweDBkODYsIDY0LCB7IDB4MTUsIDB4MGEsIDB4YzIsIDB4MTUsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4OTAsIDB4N2YsIDB4ZDAsCi0gIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGUsIDB4YjUsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MTIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTIsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDAsIDB4MjQsIDB4NjQsIDB4ZjksCi0gIDB4ZWMsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MTUsIDB4Y2QsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4YjQsIDB4MTgsIDB4ZGJ9fSwKLSB7MHgwZGM2LCA2NCwgeyAweGU1LCAweDY0LCAweDYwLCAweDBiLCAweDc1LCAweDg5LCAweDYwLCAweDc1LCAweDg4LCAweDQwLCAweGQyLCAweGRmLCAweDg1LCAweDY1LCAweDhkLCAweGU1LCAweDY3LAotICAweDEzLCAweDkyLCAweDFkLCAweDkyLCAweGM3LCAweGU1LCAweDY4LCAweDEzLCAweDkyLCAweDFlLCAweGU1LCAweDY5LCAweDEzLCAweDkyLCAweDI0LCAweGU1LAotICAweDZhLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweDk3LCAweGUwLAotICAweDQ0LCAweDEwLCAweGYwLCAweGU1LCAweDZiLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDgwfX0sCi0gezB4MGUwNiwgNjQsIHsgMHgwNywgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg3MSwgMHg2MCwgMHgwYiwgMHhjMiwgMHgxNCwgMHhjMiwgMHgwZCwgMHg5MCwKLSAgMHg3ZiwgMHg5NCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHhlNSwgMHg3MiwgMHg2MCwgMHgwYiwgMHhkMiwgMHgwZCwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZiwKLSAgMHg5NCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHhlNSwgMHg3MywgMHg2MCwgMHgwZCwgMHhjMiwgMHhhZiwgMHhjMiwgMHgxMiwgMHhkMiwgMHgwMCwgMHhlNCwKLSAgMHhmNSwgMHg3ZCwgMHhmNSwgMHg0YiwgMHhkMiwgMHhhZiwgMHhlNSwgMHg3NCwgMHg2MCwgMHgwNSwgMHgzMCwgMHgyNCwgMHgwMiwgMHhkMiwgMHgwZH19LAotIHsweDBlNDYsIDY0LCB7IDB4ZTUsIDB4NzUsIDB4NjAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZTAsIDB4NDQsIDB4MDgsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTUsIDB4NzYsIDB4NjAsIDB4MGEsIDB4ZDIsIDB4YzQsIDB4YzIsIDB4YzAsCi0gIDB4NzUsIDB4M2EsIDB4MDEsIDB4NzUsIDB4NDEsIDB4MjgsIDB4ZTUsIDB4NzcsIDB4NjAsIDB4MDcsIDB4YzIsIDB4YzQsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4ZjUsCi0gIDB4M2EsIDB4ZTUsIDB4NzgsIDB4NjAsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4ZTUsIDB4NzksIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MDgsIDB4ZTV9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDdhLCAweDYwLCAweDA4LCAweGU1LCAweDc2LCAweDcwLCAweDAyLCAweGY1LCAweDQxLCAweGQyLCAweDBlLCAweGU1LCAweDdiLCAweDYwLCAweDE5LCAweDkwLCAweDdmLAotICAweGQ3LCAweDc0LCAweDEzLCAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE0LCAweGYwLCAweDc0LCAweDM0LCAweGYwLCAweDc0LCAweDE2LCAweGYwLAotICAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGQyLCAweDAyLCAweGQyLCAweDBhLCAweGU0LCAweDkwLCAweDdmLCAweGQxLCAweGYwLCAweGEyLCAweDE0LAotICAweGU0LCAweDMzLCAweGZmLCAweDY1LCAweDM3LCAweDYwLCAweDA0LCAweDhmLCAweDM3LCAweGQyLCAweDBlLCAweGEyLCAweDBkLCAweGU0LCAweDMzfX0sCi0gezB4MGVjNiwgNjQsIHsgMHhmZiwgMHg2NSwgMHgzOCwgMHg2MCwgMHgwNCwgMHg4ZiwgMHgzOCwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHg1NCwgMHgyMCwgMHg2NSwgMHgzMywKLSAgMHg2MCwgMHgwNywgMHhlMCwgMHg1NCwgMHgyMCwgMHhmNSwgMHgzMywgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHg1NCwgMHg0MCwgMHhiNSwKLSAgMHgzNSwgMHgwOSwgMHhlMCwgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwgMHhmNSwgMHgzNSwgMHhkMiwgMHgwZSwgMHgzMCwgMHgwOCwgMHgzNSwgMHhjMiwgMHhhZiwKLSAgMHgzMCwgMHgwMiwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHhlNSwgMHg0OSwgMHg2MCwgMHgwOSwgMHg5MH19LAotIHsweDBmMDYsIDY0LCB7IDB4N2YsIDB4YmIsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4YzIsIDB4MDIsIDB4YzIsIDB4MDgsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MjAsCi0gIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4NDksIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4ZDIsIDB4MDIsIDB4YzIsCi0gIDB4MDgsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDYsIDB4MzcsIDB4MzAsIDB4MDQsIDB4MWIsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MmQsCi0gIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTYsIDB4NzUsIDB4NGIsIDB4MDEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZjV9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDdkLCAweGQyLCAweDA2LCAweDgwLCAweDE5LCAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDEyLCAweDkwLCAweDdjLCAweGMwLCAweGUwLCAweDEzLAotICAweDkyLCAweDE2LCAweDc1LCAweDRiLCAweDAxLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGY1LCAweDdkLCAweGQyLCAweDA2LCAweDIwLCAweDIyLCAweDMzLAotICAweDIwLCAweDAwLCAweDA2LCAweGU1LCAweDRiLCAweDY1LCAweDdkLCAweDcwLCAweDJhLCAweDMwLCAweDA2LCAweDFhLCAweDMwLCAweDA0LCAweDA5LCAweGU0LAotICAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweGMyLCAweDA0LCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweGQyLCAweDA0fX0sCi0gezB4MGY4NiwgNjQsIHsgMHhjMiwgMHgwNiwgMHhlNCwgMHhmNSwgMHg3ZCwgMHhmNSwgMHg0YiwgMHgzMCwgMHgxNiwgMHgwYSwgMHhjMiwgMHgxNiwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjMSwKLSAgMHg3NCwgMHgwMSwgMHhmMCwgMHgzMCwgMHgyMiwgMHgwMywgMHgwMiwgMHgxMCwgMHhhNCwgMHgyMCwgMHgwNiwgMHgwMywgMHgwMiwgMHgxMCwgMHhhNCwgMHgzMCwKLSAgMHgxZSwgMHgwYSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywgMHgwMiwgMHgxMCwgMHhhNCwgMHgzMCwgMHgwZCwgMHgwMywgMHgwMiwKLSAgMHgxMCwgMHhhNCwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgxMCwgMHhhNCwgMHgzMCwgMHgwNCwgMHg2MiwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZn19LAotIHsweDBmYzYsIDY0LCB7IDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MmQsCi0gIDB4YWYsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsCi0gIDB4MTMsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWYsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsCi0gIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWYsIDB4NGJ9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweGQyLCAweDEyLAotICAweDgwLCAweDZiLCAweGMyLCAweDEyLCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweGMyLCAweDA0LCAweDgwLCAweDYwLCAweDMwLCAweDFkLCAweDEyLAotICAweGFmLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDJkLCAweGFmLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1fX0sCi0gezB4MTA0NiwgNjQsIHsgMHg4MywgMHhlMCwgMHhmNSwgMHgxMywgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg1MCwgMHgyYSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZiwgMHg0YiwgMHgwNSwKLSAgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZiwKLSAgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywKLSAgMHhkMiwgMHgxMiwgMHg4MCwgMHgwOSwgMHhjMiwgMHgxMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHhkMiwgMHgwNCwgMHgzMCwgMHgxZH19LAotIHsweDEwODYsIDY0LCB7IDB4MDQsIDB4YTIsIDB4MmQsIDB4OTIsIDB4YzMsIDB4ZDIsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ODUsIDB4MTMsIDB4YzEsIDB4MjAsIDB4MTIsIDB4MGQsIDB4MzAsIDB4MTYsCi0gIDB4MGEsIDB4YzIsIDB4MTYsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4OTAsIDB4N2YsIDB4YzIsCi0gIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MTEsIDB4N2EsIDB4ZTUsIDB4MWEsIDB4NzAsIDB4NDYsIDB4MzAsIDB4MGMsIDB4M2YsIDB4ZTUsIDB4NDAsCi0gIDB4NzAsIDB4M2IsIDB4YTIsIDB4MDksIDB4MzMsIDB4ZjUsIDB4MzEsIDB4YzIsIDB4MDksIDB4YzIsIDB4MGMsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4N2V9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI2LCAweDI1LCAweDEyLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDE1LCAweDg3LCAweGZmLCAweDc0LAotICAweDgwLCAweDI1LCAweDEyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDEyLCAweGU1LCAweDEyLAotICAweGI0LCAweDBjLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDQwLCAweDEwLCAweDIyLCAweDc1LCAweDFhLCAweDAxLAotICAweDIyLCAweGU1LCAweDFhLCAweDY0LCAweDAxLCAweDcwLCAweDQ1LCAweDMwLCAweDBlLCAweDNlLCAweGU1LCAweDQxLCAweDcwLCAweDNhLCAweGEyfX0sCi0gezB4MTEwNiwgNjQsIHsgMHgwYSwgMHgzMywgMHhmNSwgMHgzZCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwZSwgMHhlNCwgMHhmNSwgMHgxMiwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgzMiwKLSAgMHgyNSwgMHgxMiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgxNSwgMHg4NywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxMiwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxMiwgMHhlNSwgMHgxMiwgMHhiNCwgMHgwYywgMHhkYiwgMHg5MCwKLSAgMHg3ZiwgMHhjMywgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0MSwgMHgxMCwgMHg3NSwgMHgxYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgxYywgMHg2MH19LAotIHsweDExNDYsIDY0LCB7IDB4MzAsIDB4MTUsIDB4MWMsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MWIsIDB4MjUsIDB4MTIsIDB4ZjksIDB4ZWUsIDB4MzQsCi0gIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTUsIDB4ODcsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsCi0gIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsCi0gIDB4ZTQsIDB4ZjUsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MTYsIDB4MTcsIDB4MTIsIDB4NDAsIDB4MDAsIDB4MTJ9fSwKLSB7MHgxMTg2LCA2NCwgeyAweGI0LCAweDAxLCAweDEzLCAweDIwLCAweDAzLCAweDExLCAweDllLCAweDA2LCAweDEyLCAweDMzLCAweDA4LCAweDEyLCAweDJkLCAweDA5LCAweDEyLCAweDIwLCAweDBhLAotICAweDEzLCAweDc2LCAweDBiLCAweDAwLCAweDAwLCAweDEzLCAweDZmLCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LAotICAweDYwLCAweDQwLCAweDI0LCAweDAyLCAweDcwLCAweDY5LCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLAotICAweGQ1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDE3LCAweDRiLCAweDhiLCAweDEyfX0sCi0gezB4MTFjNiwgNjQsIHsgMHg4YSwgMHgxMywgMHg4OSwgMHgxNCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwKLSAgMHhlZiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwKLSAgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNywgMHg5YSwgMHg4YiwgMHgxMiwgMHg4YSwgMHgxMywgMHg4OSwgMHgxNCwKLSAgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwgMHg5MH19LAotIHsweDEyMDYsIDY0LCB7IDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsCi0gIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4MTIsIDB4MTQsIDB4YzMsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2Z9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyLCAweDI2LCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLAotICAweGEyLCAweDJiLCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAyLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAyLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0fX0sCi0gezB4MTI4NiwgNjQsIHsgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwKLSAgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlOCwKLSAgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDEyYzYsIDY0LCB7IDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MjYsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsCi0gIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsCi0gIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTN9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDVmLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLAotICAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDI2LCAweDgwLCAweDNmLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwKLSAgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHgyMCwgMHgyOCwgMHgwMywgMHgwMiwgMHgxNCwgMHhjMiwgMHhlNSwgMHg0MH19LAotIHsweDEzODYsIDY0LCB7IDB4NjAsIDB4MDIsIDB4MTUsIDB4NDAsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4NGYsIDB4NjUsIDB4NDQsIDB4NzAsIDB4NDUsIDB4ZTUsIDB4NDIsIDB4ZjQsIDB4NjAsIDB4MDIsCi0gIDB4MDUsIDB4NDIsIDB4ZTUsIDB4NDIsIDB4YzMsIDB4OTUsIDB4NTUsIDB4NDAsIDB4M2QsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDEsIDB4MTgsIDB4OTAsIDB4N2YsCi0gIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4NDgsIDB4ZjAsIDB4YzIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4NDgsCi0gIDB4ZjUsIDB4NDIsIDB4ZjUsIDB4NDQsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxM2M2LCA2NCwgeyAweGI5LCAweGU1LCAweDQ4LCAweGYwLCAweGQyLCAweDAxLCAweGU0LCAweGY1LCAweDQ4LCAweGY1LCAweDQyLCAweGY1LCAweDQ0LCAweGQyLCAweGFmLCAweDgwLCAweDA2LAotICAweDg1LCAweDQ4LCAweDQ0LCAweGU0LCAweGY1LCAweDQyLCAweGU1LCAweDJlLCAweDYwLCAweDJkLCAweDIwLCAweDE5LCAweDA3LCAweDkwLCAweDdmLCAweDliLAotICAweGUwLCAweDMwLCAweGUwLCAweDBlLCAweGU1LCAweDJmLCAweDYwLCAweDA1LCAweGU0LCAweGY1LCAweDJmLCAweGQyLCAweDBjLCAweGU0LCAweGY1LCAweDNlLAotICAweDgwLCAweDEzLCAweGU1LCAweDNlLCAweGQzLCAweDk1LCAweDU2LCAweDUwLCAweDBjLCAweGU1LCAweDNlLCAweGI1LCAweDU2LCAweDA1LCAweDc1fX0sCi0gezB4MTQwNiwgNjQsIHsgMHgyZiwgMHgwMSwgMHhkMiwgMHgwYywgMHgwNSwgMHgzZSwgMHhjMiwgMHgxOSwgMHhlNSwgMHg0MSwgMHg2MCwgMHgwMiwgMHgxNSwgMHg0MSwgMHhlNSwgMHg0OSwgMHg2MCwKLSAgMHg0ZiwgMHg2NSwgMHg0NSwgMHg3MCwgMHg0NSwgMHhlNSwgMHg0MywgMHhmNCwgMHg2MCwgMHgwMiwgMHgwNSwgMHg0MywgMHhlNSwgMHg0MywgMHhjMywgMHg5NSwKLSAgMHg2ZCwgMHg0MCwgMHgzZCwgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMiwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHg5MCwKLSAgMHg3ZiwgMHhiYiwgMHhlNSwgMHg0OSwgMHhmMCwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNSwgMHg0OSwgMHhmNSwgMHg0MywgMHhmNSwgMHg0NSwgMHg4MH19LAotIHsweDE0NDYsIDY0LCB7IDB4MTYsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZTUsIDB4NDksIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4ZTQsCi0gIDB4ZjUsIDB4NDksIDB4ZjUsIDB4NDMsIDB4ZjUsIDB4NDUsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MDYsIDB4ODUsIDB4NDksIDB4NDUsIDB4ZTQsIDB4ZjUsIDB4NDMsCi0gIDB4ZTUsIDB4M2EsIDB4NjAsIDB4MmQsIDB4MjAsIDB4MWEsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MGUsIDB4ZTUsIDB4M2IsCi0gIDB4NjAsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4M2IsIDB4ZDIsIDB4MGUsIDB4ZTQsIDB4ZjUsIDB4M2YsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4M2YsIDB4ZDN9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDk1LCAweDZlLCAweDUwLCAweDBjLCAweGU1LCAweDNmLCAweGI1LCAweDZlLCAweDA1LCAweDc1LCAweDNiLCAweDAxLCAweGQyLCAweDBlLCAweDA1LCAweDNmLCAweGMyLAotICAweDFhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLCAweDIzLCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LAotICAweDFjLCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1LCAweDFkLCAweDkwLCAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LAotICAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MTRjNiwgNjQsIHsgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5NCwgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHg5YSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg1NCwgMHhmZCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHgyMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHg4NCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhjNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHg3NSwgMHg5OCwgMHg0MCwgMHg0MywgMHhhOH19LAotIHsweDE1MDYsIDY0LCB7IDB4MTAsIDB4YzIsIDB4MWIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MjEsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MTMsIDB4ZjUsIDB4N2MsIDB4ZjUsIDB4NGEsIDB4YzIsIDB4MTEsCi0gIDB4YzIsIDB4MTUsIDB4ZjUsIDB4NDIsIDB4YzIsIDB4MTksIDB4ZjUsIDB4NDQsIDB4ZjUsIDB4NDgsIDB4YzIsIDB4MjMsIDB4YzIsIDB4MWMsIDB4ZjUsIDB4MmQsCi0gIDB4ZjUsIDB4MmYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MWYsIDB4ZjUsIDB4M2UsIDB4YzIsIDB4MDksIDB4ZDIsIDB4MGMsIDB4ZjUsIDB4MjYsCi0gIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDEsIDB4ZjAsIDB4NzUsIDB4YzAsIDB4NDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDQzLCAweGE4LCAweDQwLCAweGMyLCAweDFkLCAweGMyLCAweDA2LCAweGMyLCAweDIyLCAweGMyLCAweDBkLCAweGMyLCAweDE0LCAweGY1LCAweDdkLCAweGY1LCAweDRiLAotICAweGMyLCAweDEyLCAweGMyLCAweDE2LCAweGY1LCAweDQzLCAweGMyLCAweDFhLCAweGY1LCAweDQ1LCAweGY1LCAweDQ5LCAweGMyLCAweDI0LCAweGMyLCAweDFlLAotICAweGY1LCAweDM5LCAweGY1LCAweDNiLCAweGMyLCAweDA4LCAweGMyLCAweDAwLCAweGMyLCAweDIwLCAweGY1LCAweDNmLCAweGMyLCAweDBhLCAweGQyLCAweDBlLAotICAweDc1LCAweDMyLCAweDAxLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGQyLCAweDI4fX0sCi0gezB4MTU4NiwgNjQsIHsgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwKLSAgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwKLSAgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwKLSAgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNX19LAotIHsweDE1YzYsIDY0LCB7IDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsCi0gIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsCi0gIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsCi0gIDB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MGEsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4ZjV9fSwKLSB7MHgxNjA2LCA2NCwgeyAweGYwLCAweDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzLCAweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyLAotICAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLAotICAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLAotICAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDdkfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMiwgMHgxNiwgMHg4NCwgMHgwMiwgMHgxNiwgMHhjOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwKLSAgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwKLSAgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwKLSAgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgxOH19LAotIHsweDE2ODYsIDY0LCB7IDB4YzUsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsCi0gIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsCi0gIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsCi0gIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGV9fSwKLSB7MHgxNmM2LCA2NCwgeyAweGU3LCAweDgwLCAweGJlLCAweDc1LCAweDExLCAweDAxLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLAotICAweGZmLCAweGQzLCAweDkyLCAweDI2LCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLAotICAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLAotICAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0fX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhiYywgMHhkMiwgMHhiZSwgMHhkMiwgMHgyZCwKLSAgMHgxMiwgMHgxOCwgMHg3ZiwgMHhjMiwgMHgyNywgMHhjMiwgMHgyNSwgMHhjMiwgMHgyOCwgMHgzMCwgMHgyOCwgMHgwMywgMHgxMiwgMHgwYSwgMHg4MywgMHg5MCwKLSAgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxMCwgMHg2MCwgMHgwOCwgMHhlMCwgMHhmNSwgMHgxMCwgMHgxMiwgMHgxMywgMHg3ZSwgMHg4MCwgMHhlYSwgMHgzMCwKLSAgMHgyNywgMHgwNywgMHhjMiwgMHgyNywgMHgxMiwgMHgxMSwgMHg3YiwgMHg4MCwgMHhlMCwgMHgzMCwgMHgyYywgMHhkZCwgMHhjMiwgMHgyYywgMHgxMn19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MjYsIDB4ODAsIDB4ZDYsIDB4MjIsIDB4ZTQsIDB4ZmUsIDB4NzUsIDB4MTcsIDB4ZmYsIDB4NzUsIDB4MTgsIDB4MTksIDB4NzUsIDB4MTksIDB4MTIsIDB4YWIsCi0gIDB4MTcsIDB4YWEsIDB4MTgsIDB4YTksIDB4MTksIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MTUsIDB4YTAsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MmQsIDB4YWQsCi0gIDB4MDYsIDB4MGUsIDB4ZWQsIDB4YjUsIDB4MDcsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4MTUsIDB4ZGYsIDB4ODUsIDB4ZjAsIDB4MTUsCi0gIDB4ZjUsIDB4MTYsIDB4NjIsIDB4MTUsIDB4ZTUsIDB4MTUsIDB4NjIsIDB4MTYsIDB4ZTUsIDB4MTYsIDB4NjIsIDB4MTUsIDB4MjksIDB4ZmQsIDB4ZTV9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDE1LCAweDNhLCAweGE5LCAweDA1LCAweDc1LCAweDE3LCAweGZmLCAweGY1LCAweDE4LCAweDg5LCAweDE5LCAweDgwLCAweGMzLCAweDdiLCAweDAwLCAweDdhLCAweDAwLAotICAweDc5LCAweDAwLCAweDIyLCAweDhmLCAweDE1LCAweGU0LCAweGY1LCAweDE2LCAweDc1LCAweDE3LCAweGZmLCAweDc1LCAweDE4LCAweDE5LCAweDc1LCAweDE5LAotICAweDg2LCAweGFiLCAweDE3LCAweGFhLCAweDE4LCAweGE5LCAweDE5LCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDE1LCAweGEwLCAweGI0LCAweDAzLCAweDFkLAotICAweGFmLCAweDE2LCAweDA1LCAweDE2LCAweGVmLCAweGI1LCAweDE1LCAweDAxLCAweDIyLCAweDEyLCAweDE1LCAweDg3LCAweDdlLCAweDAwLCAweDI5fX0sCi0gezB4MTdjNiwgNjQsIHsgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxNywgMHhmZiwgMHhmNSwgMHgxOCwgMHg4OSwgMHgxOSwgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhmMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsCi0gIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsCi0gIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsCi0gIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MjcsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLAotICAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLAotICAweGQyLCAweDJjLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLAotICAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgyZCwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwMCwKLSAgMHgwNiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwKLSAgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHhjMX19LAotIHsweDE4YzYsIDY0LCB7IDB4YWEsIDB4MDEsIDB4MWEsIDB4MDAsIDB4MDMsIDB4MWIsIDB4MDMsIDB4MDAsIDB4MDAsIDB4YzEsIDB4MjcsIDB4YzEsIDB4MmMsIDB4YzEsIDB4MjYsIDB4YzEsIDB4MmIsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDBmLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAxLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgNjQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgxOCwgMHgzMSwgMHgwMCwgMHgwMiwgMHgxYn19LAotIHsweDFiMDYsICA5LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MTgsIDB4MDcsIDB4MDAsIDB4MDIsIDB4MTgsIDB4NTh9fSwKLSB7MHhmZmZmLCAgMCwgezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eF9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzODdlZDkuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDcgKzAsMCBAQAotLyoga2V5c3Bhbl91c2EyOHhfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2EyOHhfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2EyOHhfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDEyLCAweGY3fX0sCi0gezB4MDAwMywgMTYsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDAwMTMsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwMDIzLCAxNSwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDA3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwOSwgMHgxOCwgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzYywgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDFiLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGMsIDB4YmF9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOX19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBjLCAweGJhLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg2MCwgMHgxMiwgMHgxMSwgMHhkNiwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTksIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MzYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTUsIDB4M2EsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTIsIDB4ZWJ9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM2LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBiLCAweDVlLCAweGMyLCAweDBiLCAweGU1LCAweDE5fX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MTMsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBlLCAweDAwfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHhlNSwgMHgzNiwgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZSwKLSAgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNiwgMHgxMiwgMHgwZiwgMHg0YiwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwKLSAgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOH19LAotIHsweDAxNDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsCi0gIDB4MGMsIDB4ZGYsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsCi0gIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTgsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2F9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDdlLCAweDc5LCAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDY4LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDI0LAotICAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDdmLCAweDAzLCAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGIxLCAweDQzLCAweDQ2LAotICAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweGU0LCAweDkwfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg3ZSwgMHgxMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHgzNSwgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwKLSAgMHhmZiwgMHgxMiwgMHgxMCwgMHg1YiwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgwMywKLSAgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiMSwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNiwgMHg5MH19LAotIHsweDAyMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsCi0gIDB4N2UsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsCi0gIDB4ZjUsIDB4NDQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDQsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MDcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDIsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDdmLCAweDUzLCAweDQyLCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQyLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLAotICAweDEwLCAweGE3LCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGNkLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLAotICAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQyLCAweDdmLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLCAweDdlLCAweDBjLAotICAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZkfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgzYSwgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgzYywgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgxMH19LAotIHsweDAyYzYsIDY0LCB7IDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDQsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsCi0gIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MTIsIDB4ZGYsCi0gIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2UsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDExLCAweGIxLCAweGU0LCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLAotICAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDc1LCAweDI5LCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE4LAotICAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MDM0NiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwKLSAgMHg1MywgMHgzZSwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3NSwgMHgyYiwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwKLSAgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHhlNCwKLSAgMHhmNSwgMHgyYiwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMn19LAotIHsweDAzODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGIsCi0gIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsCi0gIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsCi0gIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4Mzh9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDM4LCAweDIwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLAotICAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGQyLCAweDEzLCAweDEyLCAweDEyLCAweGRmLCAweGVmLCAweDU0LCAweDAxLCAweGY1LAotICAweDE5LCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJhLCAweGQyLCAweDA3LCAweDEyLCAweDEzLCAweDMzLCAweGVmLCAweDU0LCAweDgwLAotICAweGY1LCAweDE5LCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI2LCAweGQyLCAweDA3LCAweDMwLCAweDBkLCAweDExLCAweDEyfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMywgMHgzMywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNSwgMHhkMiwgMHgwNywgMHgyMCwKLSAgMHgxYiwgMHgwMywgMHgwMiwgMHgwNywgMHhlYywgMHgzMCwgMHgwYSwgMHgxOCwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzZCwgMHg0MCwKLSAgMHgwMywgMHgwMiwgMHgwNCwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywKLSAgMHgzMCwgMHgwNCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjM319LAotIHsweDA0NDYsIDY0LCB7IDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4MTQsIDB4ZjUsCi0gIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsCi0gIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGQsIDB4MDQsIDB4YzIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsCi0gIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzIsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDdjLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLAotICAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdjLCAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdjLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBkLCAweDA0LAotICAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LAotICAweDM2LCAweDEyLCAweDEyLCAweDIwLCAweDhmLCAweDE5LCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDM3LCAweGU1LCAweDE5LCAweGMzLCAweDk1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHgzYiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHg1NywgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNywgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYywKLSAgMHg1ZSwgMHhjMiwgMHgwYywgMHhlNSwgMHgxOSwgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHgzMCwKLSAgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwKLSAgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNywgMHgxMiwgMHgwZiwgMHg4NCwgMHhlNX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsCi0gIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDgsIDB4OTAsIDB4N2QsIDB4ODAsIDB4ZTUsIDB4MzcsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODEsIDB4NzUsCi0gIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsIDB4MGQsIDB4MjksIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZDAsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OTcsIDB4YzIsIDB4MDYsIDB4ZTR9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGY1LCAweDE4LCAweDc0LCAweGMwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LAotICAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDIwLCAweDI0LCAweDIwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDIwLCAweGUwLCAweDYwLCAweDY4LAotICAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAzfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg0MywgMHg0NywgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlNSwgMHg0NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgyMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMSwgMHgxOSwgMHg5MCwgMHg3ZSwgMHgyMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHgzZiwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgzMSwgMHhlMCwKLSAgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhmYiwgMHg0MywgMHg0NywgMHg4MCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsCi0gIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsCi0gIDB4MzMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4NzUsIDB4MmUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGU1LCAweDQ1LCAweGYwLCAweDkwLCAweDdlLCAweDI3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQzLAotICAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQzLCAweDdmLCAweDUzLCAweDQzLCAweGZjLCAweDkwLCAweDdlLCAweDI5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQzLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDY1LCAweDkwLCAweDdlLCAweDJiLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDhiLAotICAweGFmLCAweDQzLCAweDEyLCAweDEwLCAweGYzLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQzLCAweDdmLCAweGFmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgxMiwgMHgxMCwgMHhmMywgMHg5MCwgMHg3ZSwgMHgyYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMiwKLSAgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMSwgMHg4MCwgMHgwMywKLSAgMHg1MywgMHg0NywgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMH19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MzIsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2QsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MzYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDUsIDB4YmYsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDEyLCAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNmLCAweGZkLAotICAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGY1LCAweDMzLCAweGY1LCAweDMyLCAweGQyLCAweDA4LCAweDkwLCAweDdlLAotICAweDM3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweDc1LCAweDMyLAotICAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDM4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgzOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0NSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgzYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwKLSAgMHg3NSwgMHgzNCwgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMSwgMHhlNH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2MsIDB4ZTAsIDB4NjAsIDB4MGUsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4M2QsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2UsIDB4M2UsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MzUsIDB4MDEsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2YsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTN9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE2LCAweGYwLCAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGQxLCAweGYwLAotICAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM5LCAweDYwLCAweDAyLCAweDE1LCAweDM5LCAweDMwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LAotICAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLCAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGMyLCAweDEzLCAweDEyLAotICAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDE5LCAweDY1LCAweDMzLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDMzLCAweGQyfX0sCi0gezB4MDdjNiwgNjQsIHsgMHgwOCwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHg1NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyZiwgMHhkMiwKLSAgMHgwOCwgMHgzMCwgMHgwZSwgMHgxMSwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwKLSAgMHg4NSwgMHgxOSwgMHgyZSwgMHhkMiwgMHgwOCwgMHgzMCwgMHgxYSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwKLSAgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgxNSwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgxNiwgMHg5MH19LAotIHsweDA4MDYsIDY0LCB7IDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDksIDB4MjAsIDB4ZTUsIDB4MGEsIDB4NzAsIDB4NDAsCi0gIDB4MzAsIDB4MDcsIDB4MzksIDB4ZTUsIDB4MzgsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDcsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM4LCAweDEwLCAweGU0LCAweGY1LCAweDJjLCAweDc1LCAweDBhLCAweDAxLCAweDIyLAotICAweGU1LCAweDBhLCAweDY0LCAweDAxLCAweDcwLCAweDQwLCAweDMwLCAweDA4LCAweDM5LCAweGU1LCAweDM5LCAweDcwLCAweDM1LCAweGMyLCAweDA4LCAweGY1LAotICAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwKLSAgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgxMCwgMHhlNCwKLSAgMHhmNSwgMHgzNSwgMHg3NSwgMHgwYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwgMHgzMCwgMHgxNCwgMHgyZiwgMHhjMiwKLSAgMHgxNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwZSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMH19LAotIHsweDA4YzYsIDY0LCB7IDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsCi0gIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MGEsCi0gIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4NjAsIDB4MzAsIDB4MTUsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MTQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDAzLCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDBhLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBlLAotICAweGU0LCAweDBhLCAweDA4LCAweDAwLCAweDBhLCAweDdjLCAweDAxLCAweDBhLCAweGU4LCAweDAzLCAweDA5LCAweDQ0LCAweDA2LCAweDA5LCAweGZiLCAweDA4LAotICAweDA5LCAweGY1LCAweDA5LCAweDA5LCAweGRkLCAweDBhLCAweDA5LCAweGVjLCAweDBiLCAweDAwLCAweDAwLCAweDBiLCAweDM3LCAweDkwLCAweDdmfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg2MSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOSwgMHhkMywgMHg3NCwKLSAgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3NCwgMHg3NSwgMHg4MywgMHgxOX19LAotIHsweDA5ODYsIDY0LCB7IDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsCi0gIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGYsCi0gIDB4MGEsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjB9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDA5LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDA5LCAweDAyLCAweDBiLCAweDNlLCAweDEyLCAweDBiLAotICAweDQ2LCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwKLSAgMHhhMiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3Zn19LAotIHsweDBhNDYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsCi0gIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDJ9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDEwLCAweDAyLCAweDBiLCAweDNlLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LAotICAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLAotICAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwKLSAgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgxMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMH19LAotIHsweDBiMDYsIDY0LCB7IDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsCi0gIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsCi0gIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLAotICAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE4LAotICAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGU0LCAweGY1LAotICAweDI0LCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhfX0sCi0gezB4MGI4NiwgNjQsIHsgMHhlNCwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYSwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwKLSAgMHhmNSwgMHgxMywgMHhmNSwgMHgzNiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgxMywKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHg0NCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwKLSAgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwgMHg3Zn19LAotIHsweDBiYzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDAsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4NDYsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsCi0gIDB4MTIsIDB4MTEsIDB4YjEsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTF9fSwKLSB7MHgwYzA2LCA2NCwgeyAweGIxLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDZhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGIxLCAweDIwLCAweDFiLCAweDAzLCAweDAyLAotICAweDBjLCAweGI3LCAweDc1LCAweDJkLCAweDAxLCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGU0LAotICAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNiLAotICAweDAxLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDEzLCAweGY1LCAweDM3LCAweGMyLCAweDA4LCAweGMyLCAweDBjLCAweGMyLCAweDA2LCAweGMyfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgwMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgxMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg3NSwgMHg0NSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MywgMHgxMiwgMHgxMCwKLSAgMHhmMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MSwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0NywgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NH19LAotIHsweDBjODYsIDY0LCB7IDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2YsIDB4MTIsCi0gIDB4MTEsIDB4ZmIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsCi0gIDB4N2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4OGIsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4ZDIsIDB4MTIsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwY2M2LCA2NCwgeyAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LAotICAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LAotICAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLAotICAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MGQwNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwKLSAgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwKLSAgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywKLSAgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsCi0gIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsCi0gIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4ZDIsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLAotICAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLAotICAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLAotICAweDFhLCAweDEyLCAweDEyLCAweDQ1LCAweGMyLCAweDExLCAweGU0LCAweGY1LCAweDBiLCAweGY1LCAweDEzLCAweGMyLCAweDE3LCAweGMyLCAweDEyfX0sCi0gezB4MGRjNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxNywgMHg2MCwgMHgxMCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhkMiwKLSAgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxNywgMHg4MCwgMHgwOCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhjMiwKLSAgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHgzMCwgMHgxMSwgMHgwNywgMHhjMiwgMHgxMSwgMHgxMiwgMHgwOSwgMHgyMSwgMHg4MCwgMHhkNiwgMHgzMCwgMHgxOCwKLSAgMHhkMywgMHhjMiwgMHgxOCwgMHgxMiwgMHgxMywgMHg5MywgMHg4MCwgMHhjYywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZH19LAotIHsweDBlMDYsIDY0LCB7IDB4NzUsIDB4ODEsIDB4NDcsIDB4MDIsIDB4MGUsIDB4NDcsIDB4MDIsIDB4MGQsIDB4NmYsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsCi0gIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsCi0gIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsCi0gIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDgwLCAweDkwLCAweDEyLCAweGFjLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LAotICAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LAotICAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLAotICAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfX0sCi0gezB4MGU4NiwgNjQsIHsgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwKLSAgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwKLSAgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwKLSAgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNX19LAotIHsweDBlYzYsIDY0LCB7IDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsCi0gIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsCi0gIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTN9fSwKLSB7MHgwZjA2LCA2NCwgeyAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDhmLCAweDE4LCAweGU0LCAweGY1LCAweDE5LCAweDc1LCAweDFhLCAweGZmLCAweDc1LCAweDFiLCAweDE5LCAweDc1LCAweDFjLAotICAweDg2LCAweGFiLCAweDFhLCAweGFhLCAweDFiLCAweGE5LCAweDFjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBlLCAweGE1LCAweGI0LCAweDAzLCAweDFkLAotICAweGFmLCAweDE5LCAweDA1LCAweDE5LCAweGVmLCAweGI1LCAweDE4LCAweDAxLCAweDIyLCAweDEyLCAweDBlLCAweDhjLCAweDdlLCAweDAwLCAweDI5LCAweGZmLAotICAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFhLCAweGZmLCAweGY1LCAweDFiLCAweDg5LCAweDFjLCAweDgwLCAweGQ0LCAweDdiLCAweDAwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywKLSAgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywKLSAgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwKLSAgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNiwgMHg4MCwgMHhjYSwgMHgyMiwgMHg4ZiwgMHgxYX19LAotIHsweDBmODYsIDY0LCB7IDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsCi0gIDB4ZjAsIDB4MTIsIDB4MTMsIDB4M2YsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsCi0gIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWEsCi0gIDB4ZWYsIDB4NDIsIDB4MzcsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzB9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLAotICAweDExLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwfX0sCi0gezB4MTAwNiwgNjQsIHsgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwKLSAgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwKLSAgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMH19LAotIHsweDEwNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsCi0gIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTN9fSwKLSB7MHgxMDg2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0fX0sCi0gezB4MTBjNiwgNjQsIHsgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwKLSAgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MH19LAotIHsweDExMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsCi0gIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmfX0sCi0gezB4MTE4NiwgNjQsIHsgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwKLSAgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MH19LAotIHsweDExYzYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsCi0gIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsCi0gIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWIsIDB4ODAsCi0gIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFhLCAweDEyLCAweDEzLAotICAweDYzLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFhLCAweGU1LCAweDFhLAotICAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFiLCAweDgwLCAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwKLSAgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxMiwgMHhjOCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwKLSAgMHgwNCwgMHhmMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZSwgMHg0NCwgMHg4MH19LAotIHsweDEyODYsIDY0LCB7IDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2YsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2YsIDB4NDQsIDB4ODAsCi0gIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4MjIsIDB4MDUsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MTQsIDB4MDMsIDB4MDAsCi0gIDB4MDAsIDB4YzEsIDB4MTEsIDB4YzEsIDB4MTgsIDB4YzEsIDB4OTUsIDB4YzEsIDB4MTAsIDB4YzEsIDB4MTYsIDB4MDEsIDB4MGEsIDB4MDAsIDB4YzF9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDliLCAweDAwLCAweDhlLCAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLCAweDE1LCAweDE4LCAweDRlLAotICAweDYwLCAweDA1LCAweDEyLCAweDBkLCAweDRlLCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBmLCAweGU3LCAweDAwLCAweDAyLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhiZCwgMHgwMCwgMHgwMiwgMHgxMCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MH19LAotIHsweDEzNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmZ9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDAwLCAweDAzLCAweDEyLAotICAweDBkLCAweDVmLCAweDEyLCAweDBiLCAweDQ2LCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLCAgMCwgIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhhX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhhX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiNTY2NzguLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4YV9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ5ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMjh4YV9mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTI4eGEuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0KLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMjh4YV9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MTIsIDB4Zjl9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg5MH19LAotIHsweDAwMjMsIDE1LCB7IDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4MDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDA5LCAweDE4LCAweDEyLCAweDEzLCAweDI3LCAweGVmLCAweGMzLCAweDk1LCAweDNjLCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGQ4LCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywgMHgzMCwgMHgwMywgMHgzYiwgMHg5MCwgMHg3Zn19LAotIHsweDAwNjYsIDE2LCB7IDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4MjcsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDA5LCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg0MSwgMHgxMiwgMHgwYywgMHhjOH19LAotIHsweDAwOTYsIDE2LCB7IDB4YzIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDEyLCAweDEzLCAweDI3LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDA5fX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZH19LAotIHsweDAwYzYsIDE2LCB7IDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGMsIDB4YzgsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweDYwLCAweDEyLCAweDExLCAweGU0LCAweDhmfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxOSwgMHgxMiwgMHgxMywgMHgzMywgMHg4ZiwgMHgzNiwgMHhlNSwgMHgxOSwgMHhjMywgMHg5NSwgMHgzYSwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHgwZn19LAotIHsweDAwZjYsIDE2LCB7IDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzYsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGIsIDB4NWUsIDB4YzIsIDB4MGIsIDB4ZTUsIDB4MTl9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxMywgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MGUsIDB4MGV9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM2LCAweDAyLCAweGU1LCAweDM2LCAweDMwLCAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LAotICAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdlLAotICAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM2LCAweDEyLCAweDBmLCAweDU5LCAweGU1LCAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGI3LCAweGYwLAotICAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4fX0sCi0gezB4MDE0NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHg4MCwgMHhlNSwgMHgzNiwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwKLSAgMHgwYywgMHhlZCwgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwKLSAgMHgyMCwgMHgwNSwgMHgwMywgMHgwMiwgMHgwMywgMHhjMSwgMHhjMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxOCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YX19LAotIHsweDAxODYsIDY0LCB7IDB4N2UsIDB4NzksIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGUsIDB4ZTAsIDB4MDUsIDB4MTgsIDB4ZTUsCi0gIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NjgsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MjQsCi0gIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YmYsIDB4N2YsIDB4MDMsIDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4YmYsIDB4NDMsIDB4NDYsCi0gIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4ZTQsIDB4OTB9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDdlLCAweDEzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweDQzLCAweDkwLCAweDdlLCAweDAyLCAweGUwLAotICAweGZmLCAweDEyLCAweDEwLCAweDY5LCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDExLCAweGJmLCAweDdmLCAweDAzLAotICAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGJmLCAweDQzLCAweDQ2LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA2LCAweDkwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwKLSAgMHg3ZSwgMHgxMywgMHhmMCwgMHg3NSwgMHgyNSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwKLSAgMHhmNSwgMHg0NCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgwNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MiwgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0Mn19LAotIHsweDAyNDYsIDY0LCB7IDB4N2YsIDB4NTMsIDB4NDIsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDIsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTAsIDB4YjUsIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4ZGIsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4OGYsIDB4OTAsCi0gIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDIsIDB4N2YsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4OGYsIDB4OTAsIDB4N2UsIDB4MGMsCi0gIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmR9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDBlLCAweGUwLCAweDYwLAotICAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZlLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDNhLCAweGEzLAotICAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweGEzLCAweGUwLCAweGY1LCAweDNjLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDEwfX0sCi0gezB4MDJjNiwgNjQsIHsgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NCwgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwKLSAgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgxMiwgMHhlZCwKLSAgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZSwgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMn19LAotIHsweDAzMDYsIDY0LCB7IDB4MTEsIDB4YmYsIDB4ZTQsIDB4ZjUsIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsCi0gIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YmYsIDB4NzUsIDB4MjksIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTgsCi0gIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLCAweDBmLAotICAweDUzLCAweDNlLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGJmLCAweDc1LCAweDJiLCAweDAxLCAweGQyLCAweDA3LCAweDkwLAotICAweDdlLCAweDFiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLCAweDAxLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGJmLCAweGU0LAotICAweGY1LCAweDJiLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyfX0sCi0gezB4MDM4NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYiwKLSAgMHg5MCwgMHg3ZSwgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgyYywgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwKLSAgMHgxZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwKLSAgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOH19LAotIHsweDAzYzYsIDY0LCB7IDB4NjAsIDB4MDIsIDB4MTUsIDB4MzgsIDB4MjAsIDB4MTMsIDB4NDksIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsCi0gIDB4M2UsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4ZDIsIDB4MTMsIDB4MTIsIDB4MTIsIDB4ZWQsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsCi0gIDB4MTksIDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmEsIDB4ZDIsIDB4MDcsIDB4MTIsIDB4MTMsIDB4M2YsIDB4ZWYsIDB4NTQsIDB4ODAsCi0gIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjYsIDB4ZDIsIDB4MDcsIDB4MzAsIDB4MGQsIDB4MTEsIDB4MTJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDEzLCAweDNmLCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDI1LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI1LCAweGQyLCAweDA3LCAweDIwLAotICAweDFiLCAweDAzLCAweDAyLCAweDA3LCAweGVjLCAweDMwLCAweDBhLCAweDE4LCAweDEyLCAweDEzLCAweDdiLCAweGVmLCAweGMzLCAweDk1LCAweDNkLCAweDQwLAotICAweDAzLCAweDAyLCAweDA0LCAweGFlLCAweDkwLCAweDdmLCAweGMxLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDAwLCAweDgwLCAweDc3LAotICAweDMwLCAweDA0LCAweDNiLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDdiLCAweGVmLCAweGMzfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZCwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHgxNCwgMHhmNSwKLSAgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwKLSAgMHgwZCwgMHg0MSwgMHgxMiwgMHgwZCwgMHgxMiwgMHhjMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwKLSAgMHhjYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMiwgMHgxMiwgMHgxMywgMHg3YiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MH19LAotIHsweDA0ODYsIDY0LCB7IDB4N2MsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsCi0gIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2MsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGQsIDB4MTIsCi0gIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsCi0gIDB4MzYsIDB4MTIsIDB4MTIsIDB4MmUsIDB4OGYsIDB4MTksIDB4MTIsIDB4MTMsIDB4ODcsIDB4OGYsIDB4MzcsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDNiLCAweDUwLCAweDBmLCAweDEyLCAweDEzLCAweDYzLCAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM3LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBjLAotICAweDVlLCAweGMyLCAweDBjLCAweGU1LCAweDE5LCAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM3LCAweDAyLCAweGU1LCAweDM3LCAweDMwLAotICAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLAotICAweDdkLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM3LCAweDEyLCAweDBmLCAweDkyLCAweGU1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwKLSAgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOCwgMHg5MCwgMHg3ZCwgMHg4MCwgMHhlNSwgMHgzNywgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg4MSwgMHg3NSwKLSAgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwgMHgwZCwgMHgzNywgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhkMCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwNiwgMHgwMywgMHgwMiwgMHgwNywgMHg5NywgMHhjMiwgMHgwNiwgMHhlNH19LAotIHsweDA1NDYsIDY0LCB7IDB4ZjUsIDB4MTgsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsCi0gIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MjAsIDB4MjQsIDB4MjAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsCi0gIDB4MTIsIDB4MGUsIDB4ZTAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MjAsIDB4ZTAsIDB4NjAsIDB4NjgsCi0gIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MjQsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MDksIDB4N2YsIDB4MDN9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDdkLCAweGNkLCAweDEyLCAweDEyLCAweDA5LCAweDQzLCAweDQ3LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGU1LCAweDQ3LCAweGYwLCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDIxLCAweGUwLCAweGZmLCAweDEyLAotICAweDExLCAweDI3LCAweDkwLCAweDdlLCAweDIyLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDRkLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDMxLCAweGUwLAotICAweGZkLCAweDEyLCAweDEyLCAweDA5LCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDEyLCAweDA5LCAweDQzLCAweDQ3LCAweDgwLCAweDkwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwKLSAgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwKLSAgMHgzMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg3NSwgMHgyZSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgyNSwgMHhlMCwKLSAgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHg0NSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MH19LAotIHsweDA2MDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDUsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDMsCi0gIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDMsIDB4N2YsIDB4NTMsIDB4NDMsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDMsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4NzMsIDB4OTAsIDB4N2UsIDB4MmIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4OTksCi0gIDB4YWYsIDB4NDMsIDB4MTIsIDB4MTEsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDMsIDB4N2YsIDB4YWZ9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDQzLCAweDEyLCAweDExLCAweDAxLCAweDkwLCAweDdlLCAweDJjLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAyLAotICAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGZkLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LAotICAweGYwLCAweDkwLCAweDdlLCAweDJlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAxLCAweDgwLCAweDAzLAotICAweDUzLCAweDQ3LCAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHgzMiwgMHhlMCwgMHhmNSwgMHgzYiwgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhMywgMHhlMCwgMHhmNSwgMHgzZCwgMHhhMywgMHhlMCwKLSAgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZSwgMHgzNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NSwgMHhiZiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDA2YzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4MTIsIDB4MTMsIDB4NTcsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2YsIDB4ZmQsCi0gIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsCi0gIDB4MzcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4NzUsIDB4MzIsCi0gIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4MzgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjB9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGU1LCAweDQxLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDM5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQ1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDkwLCAweDdlLCAweDNhLCAweGUwLCAweDYwLCAweDBmLCAweDUzLCAweDNmLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDA5LAotICAweDc1LCAweDM0LCAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAxLCAweGU0fX0sCi0gezB4MDc0NiwgNjQsIHsgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgwOSwgMHhlNCwgMHhmNSwgMHgzNCwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYywgMHhlMCwgMHg2MCwgMHgwZSwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHhlNSwgMHg0MSwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgzZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZSwgMHgzZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgzNSwgMHgwMSwgMHhlNCwKLSAgMHhmNSwgMHgzOSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxM319LAotIHsweDA3ODYsIDY0LCB7IDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4NzQsIDB4MzYsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDEsIDB4ZjAsCi0gIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzksIDB4MzAsIDB4MTMsIDB4NDksIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsCi0gIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsIDB4M2UsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4YzIsIDB4MTMsIDB4MTIsCi0gIDB4MTMsIDB4NTcsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MzMsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MzMsIDB4ZDJ9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDA4LCAweDEyLCAweDEzLCAweDkzLCAweGVmLCAweDU0LCAweDgwLCAweGY1LCAweDE5LCAweDY1LCAweDJmLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJmLCAweGQyLAotICAweDA4LCAweDMwLCAweDBlLCAweDExLCAweDEyLCAweDEzLCAweDkzLCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDJlLCAweDYwLCAweDA1LAotICAweDg1LCAweDE5LCAweDJlLCAweGQyLCAweDA4LCAweDMwLCAweDFhLCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLCAweDIzLCAweDkwLAotICAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LCAweDE1LCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1LCAweDE2LCAweDkwfX0sCi0gezB4MDgwNiwgNjQsIHsgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwOSwgMHgyMCwgMHhlNSwgMHgwYSwgMHg3MCwgMHg0MCwKLSAgMHgzMCwgMHgwNywgMHgzOSwgMHhlNSwgMHgzOCwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwNywgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwKLSAgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5YSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNX19LAotIHsweDA4NDYsIDY0LCB7IDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsCi0gIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzgsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MmMsIDB4NzUsIDB4MGEsIDB4MDEsIDB4MjIsCi0gIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDEsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MDgsIDB4MzksIDB4ZTUsIDB4MzksIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDgsIDB4ZjUsCi0gIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTJ9fSwKLSB7MHgwODg2LCA2NCwgeyAweDBlLCAweDlhLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LAotICAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM5LCAweDEwLCAweGU0LAotICAweGY1LCAweDM1LCAweDc1LCAweDBhLCAweDAyLCAweDIyLCAweGU1LCAweDBhLCAweDY0LCAweDAyLCAweDcwLCAweDM2LCAweDMwLCAweDE0LCAweDJmLCAweGMyLAotICAweDE0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDBlLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHhmYSwgMHgxMiwgMHgwZSwgMHg5YSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwKLSAgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwNSwgMHhmMCwgMHg3NSwgMHgwYSwKLSAgMHgwMywgMHgyMiwgMHhlNSwgMHgxNSwgMHg2MCwgMHgzMCwgMHgxNSwgMHgxNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwKLSAgMHgxNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5YSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNX19LAotIHsweDA5MDYsIDY0LCB7IDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDMsIDB4ZGIsCi0gIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGUsCi0gIDB4ZjIsIDB4MGEsIDB4MDgsIDB4MDAsIDB4MGEsIDB4N2MsIDB4MDEsIDB4MGEsIDB4ZTgsIDB4MDMsIDB4MDksIDB4NDQsIDB4MDYsIDB4MDksIDB4ZmIsIDB4MDgsCi0gIDB4MDksIDB4ZjUsIDB4MDksIDB4MDksIDB4ZGQsIDB4MGEsIDB4MDksIDB4ZWMsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGIsIDB4MzcsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDE0LCAweDYwLCAweDYxLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA5LCAweGQzLCAweDc0LAotICAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LAotICAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDdiLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDc0LCAweDc1LCAweDgzLCAweDE5fX0sCi0gezB4MDk4NiwgNjQsIHsgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwKLSAgMHg3NCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwZiwKLSAgMHgxOCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMH19LAotIHsweDA5YzYsIDY0LCB7IDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MDksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MDksIDB4MDIsIDB4MGIsIDB4M2UsIDB4MTIsIDB4MGIsCi0gIDB4NDYsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDJ9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLAotICAweGEyLCAweDEwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE2LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLAotICAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweGU0LCAweDkwLCAweDdmLAotICAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwKLSAgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwKLSAgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMn19LAotIHsweDBhODYsIDY0LCB7IDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MGIsIDB4M2UsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsCi0gIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsCi0gIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLAotICAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLAotICAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDEwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwKLSAgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwKLSAgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMn19LAotIHsweDBiNDYsIDY0LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTgsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4ZTQsIDB4ZjUsCi0gIDB4MjQsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmF9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGU0LCAweDEyLCAweDBlLCAweGUwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNhLCAweDAxLCAweGU0LCAweGY1LCAweDM4LAotICAweGY1LCAweDEzLCAweGY1LCAweDM2LCAweGMyLCAweDA3LCAweGMyLCAweDBiLCAweGMyLCAweDA1LCAweGMyLCAweDAwLCAweGMyLCAweDA5LCAweGMyLCAweDEzLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDc1LCAweDQ0LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLAotICAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGJmLCAweDdmLCAweDEwLCAweDhmLCAweDQyLCAweDEyLCAweDEwLCAweDhmLCAweDkwLCAweDdmfX0sCi0gezB4MGJjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MCwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHg0NiwgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwKLSAgMHgxMiwgMHgxMSwgMHhiZiwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiZiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMX19LAotIHsweDBjMDYsIDY0LCB7IDB4YmYsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4NzgsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YmYsIDB4N2YsIDB4MTMsIDB4N2QsIDB4MDEsCi0gIDB4MTIsIDB4MTEsIDB4YmYsIDB4MjAsIDB4MWIsIDB4MDMsIDB4MDIsIDB4MGMsIDB4YzUsIDB4NzUsIDB4MmQsIDB4MDEsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsCi0gIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZTAsIDB4MDUsIDB4MTgsCi0gIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2IsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4Mzd9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweGMyLCAweDA4LCAweGMyLCAweDBjLCAweGMyLCAweDA2LCAweGMyLCAweDAwLCAweGMyLCAweDBhLCAweGMyLCAweDEzLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLAotICAweGYwLCAweDc1LCAweDQ1LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDEyLAotICAweDA5LCAweDdmLCAweDEwLCAweDhmLCAweDQzLCAweDEyLCAweDExLCAweDAxLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDdmLCAweDAxLAotICAweDhmLCAweDQxLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwfX0sCi0gezB4MGM4NiwgNjQsIHsgMHg3NSwgMHg0NywgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHhlNCwgMHhmZiwKLSAgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMiwgMHgwOSwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg5OSwKLSAgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMiwgMHgwOSwgMHg3ZiwgMHgxMywgMHg3ZCwgMHgwMSwgMHgxMiwgMHgxMiwgMHgwOSwgMHhkMn19LAotIHsweDBjYzYsIDY0LCB7IDB4MTIsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsCi0gIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsCi0gIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsCi0gIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDV9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LAotICAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLAotICAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywKLSAgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwKLSAgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHhkMiwgMHgxOSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH19LAotIHsweDBkODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsCi0gIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsCi0gIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsCi0gIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MWF9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDEyLCAweDEyLCAweDUzLCAweGMyLCAweDExLCAweGU0LCAweGY1LCAweDBiLCAweGY1LCAweDEzLCAweGMyLCAweDE3LCAweGMyLCAweDEyLCAweDkwLCAweDdmLCAweGExLAotICAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDE3LCAweDYwLCAweDEwLCAweDMwLCAweDEyLCAweDA1LCAweGQyLCAweDFhLCAweDEyLAotICAweDAwLCAweDQ2LCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDE3LCAweDgwLCAweDA4LCAweDMwLCAweDEyLCAweDA1LCAweGMyLCAweDFhLCAweDEyLAotICAweDAwLCAweDQ2LCAweDMwLCAweDExLCAweDA3LCAweGMyLCAweDExLCAweDEyLCAweDA5LCAweDIxLCAweDgwLCAweGQ2LCAweDMwLCAweDE4LCAweGQzfX0sCi0gezB4MGUwNiwgNjQsIHsgMHhjMiwgMHgxOCwgMHgxMiwgMHgxMywgMHg5ZiwgMHg4MCwgMHhjYywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg0NywKLSAgMHgwMiwgMHgwZSwgMHg1NSwgMHgwMiwgMHgwZCwgMHg3ZCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwKLSAgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywKLSAgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MH19LAotIHsweDBlNDYsIDY0LCB7IDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MTIsCi0gIDB4YmEsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsCi0gIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsCi0gIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4Yzh9fSwKLSB7MHgwZTg2LCA2NCwgeyAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLAotICAweGU3LCAweDgwLCAweGJlLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLAotICAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LAotICAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1fX0sCi0gezB4MGVjNiwgNjQsIHsgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwKLSAgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywKLSAgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwKLSAgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMX19LAotIHsweDBmMDYsIDY0LCB7IDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsCi0gIDB4ZGYsIDB4OGYsIDB4MTgsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4NzUsIDB4MWEsIDB4ZmYsIDB4NzUsIDB4MWIsIDB4MTksIDB4NzUsIDB4MWMsIDB4ODYsIDB4YWIsCi0gIDB4MWEsIDB4YWEsIDB4MWIsIDB4YTksIDB4MWMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGUsIDB4YjMsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MTksCi0gIDB4MDUsIDB4MTksIDB4ZWYsIDB4YjUsIDB4MTgsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGUsIDB4OWEsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWV9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFhLCAweGZmLCAweGY1LCAweDFiLCAweDg5LCAweDFjLCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LAotICAweDAwLCAweDIyLCAweDhmLCAweDFhLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LAotICAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLAotICAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwYSwgMHgxMiwgMHgxMywgMHgzMywgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNiwgMHg4MCwgMHhjYSwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwKLSAgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwKLSAgMHgxMywgMHg0YiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywKLSAgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHg4NywgMHg4ZiwgMHgxYSwgMHhlZn19LAotIHsweDBmYzYsIDY0LCB7IDB4NDIsIDB4MzcsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsCi0gIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsCi0gIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsCi0gIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTF9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLAotICAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLAotICAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLAotICAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MTA0NiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMH19LAotIHsweDEwODYsIDY0LCB7IDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTR9fSwKLSB7MHgxMGM2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLAotICAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBifX0sCi0gezB4MTEwNiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NX19LAotIHsweDExNDYsIDY0LCB7IDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsCi0gIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTg2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LAotICAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1fX0sCi0gezB4MTFjNiwgNjQsIHsgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHgxYiwKLSAgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywgMHgxYiwgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHgxYiwKLSAgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHgxYiwgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOH19LAotIHsweDEyMDYsIDY0LCB7IDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGQsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4NmYsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4NmYsIDB4OGYsCi0gIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MTMsIDB4NmYsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjV9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDZmLCAweDhmLCAweDFiLCAweDgwLCAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLAotICAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDFhLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGY0LAotICAweDdlLCAweDAxLCAweDEyLCAweDEyLCAweGQ2LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLAotICAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNlLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGJmLCAweDkwLCAweDdmfX0sCi0gezB4MTI4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZSwgMHg0NCwgMHg4MCwgMHhmZCwgMHgxMiwgMHgxMSwKLSAgMHhiZiwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZiwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZiwgMHg0NCwgMHg4MCwgMHhmZCwgMHgxMiwKLSAgMHgxMiwgMHgwOSwgMHgyMiwgMHgwNSwgMHgwZSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgxNCwgMHgwMywgMHgwMCwgMHgwMH19LAotIHsweDEyYzYsIDY0LCB7IDB4YzEsIDB4MTEsIDB4YzEsIDB4MTgsIDB4YzEsIDB4OTUsIDB4YzEsIDB4MTAsIDB4YzEsIDB4MTYsIDB4MDEsIDB4MGEsIDB4MDAsIDB4YzEsIDB4OWIsIDB4MDAsIDB4OGUsCi0gIDB4MTgsIDB4OGYsIDB4MTksIDB4ZTUsIDB4MTksIDB4MTUsIDB4MTksIDB4YWUsIDB4MTgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTgsIDB4NGUsIDB4NjAsIDB4MDUsCi0gIDB4MTIsIDB4MGQsIDB4NWMsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsCi0gIDB4ZmYsIDB4MjIsIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGYsIDB4ZjUsIDB4MDAsIDB4MDIsIDB4MTN9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDBmLCAweGNiLCAweDAwLCAweDAyLCAweDEwLCAweDFjLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZn19LAotIHsweDEzODYsIDY0LCB7IDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MTIsIDB4MDAsIDB4MDMsIDB4MTIsIDB4MGQsIDB4NmQsIDB4MTIsIDB4MGIsCi0gIDB4NDYsIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDE1LCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgIDQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsICAwLCB7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4Yl9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4Yl9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNWZjYWQ0Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGJfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0OCArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTI4eGJfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2EyOXhiX2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMjh4Yl9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MmR9fSwKLSB7MHgwMDJkLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwOSwgMHgxOCwgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHhjMywgMHg5NSwgMHgzYywgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDMzLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGMsIDB4Y2N9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOX19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBjLCAweGNjLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg2MCwgMHgxMiwgMHgxMSwgMHhmNSwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTksIDB4MTIsIDB4MTMsIDB4M2YsIDB4OGYsIDB4MzYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTUsIDB4M2EsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4MWJ9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM2LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBiLCAweDVlLCAweGMyLCAweDBiLCAweGU1LCAweDE5fX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MTMsIDB4MDB9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMH19LAotIHsweDAwMjMsIDEwLCB7IDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBlLCAweDEyfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHhlNSwgMHgzNiwgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZSwKLSAgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNiwgMHgxMiwgMHgwZiwgMHg1ZCwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwKLSAgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOH19LAotIHsweDAxNDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsCi0gIDB4MGMsIDB4ZjEsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsCi0gIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4Nzl9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBlLCAweGU0LCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LAotICAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDY4LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLAotICAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGQwLCAweDdmLCAweDAzLCAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGQwLCAweDQzLCAweDQ2LCAweDgwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweGU0LCAweDkwLCAweDdlLCAweDEzfX0sCi0gezB4MDFjNiwgNjQsIHsgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHg1NCwgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMCwgMHg3YSwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywKLSAgMHgxMiwgMHgxMSwgMHhkMCwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwKLSAgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMH19LAotIHsweDAyMDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MTMsCi0gIDB4ZjAsIDB4NzUsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDQsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDQsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDcsIDB4ZTAsCi0gIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDIsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDIsIDB4N2YsIDB4NTN9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDQyLCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQyLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGM2LAotICAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGVjLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweGEwLCAweDkwLCAweDdlLCAweDAzLAotICAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQyLCAweDdmLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweGEwLCAweDkwLCAweDdlLCAweDBjLCAweGUwLCAweDYwLAotICAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZkLCAweDkwLCAweDdmfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywKLSAgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwKLSAgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgzYSwgMHhhMywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgwZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgzYywgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgxMCwgMHg4MCwgMHgwM319LAotIHsweDAyYzYsIDY0LCB7IDB4NTMsIDB4NDYsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDQsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsCi0gIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MTMsIDB4MGYsIDB4ZWYsIDB4NTQsCi0gIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2UsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4ZDB9fSwKLSB7MHgwMzA2LCA2NCwgeyAweGU0LCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLCAweDAyLCAweGU0LAotICAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGQwLCAweDc1LCAweDI5LCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE4LCAweGUwLCAweDYwLAotICAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLAotICAweDAwLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzfX0sCi0gezB4MDM0NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZSwKLSAgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3NSwgMHgyYiwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYiwKLSAgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhkMCwgMHhlNCwgMHhmNSwgMHgyYiwKLSAgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNX19LAotIHsweDAzODYsIDY0LCB7IDB4NDAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGIsIDB4OTAsIDB4N2UsCi0gIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWYsIDB4ZTAsCi0gIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4NzQsIDB4MzUsCi0gIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTQsIDB4ZTUsIDB4Mzh9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDM4LCAweDIwLCAweDEzLCAweDRiLCAweGU1LCAweDEzLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLAotICAweDQwLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGQyLCAweDEzLCAweDEyLCAweDEzLCAweDBmLCAweGVmLCAweDU0LCAweDAxLCAweGY1LAotICAweDE5LCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJhLCAweGQyLCAweDA3LCAweDEyLCAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweDgwLAotICAweDY0LCAweDgwLCAweGY1LCAweDE5LCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI2LCAweGQyLCAweDA3LCAweDMwLCAweDBkfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMSwgMHgxMiwgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNSwgMHhkMiwKLSAgMHgwNywgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwgMHgwNywgMHhmMCwgMHgzMCwgMHgwYSwgMHgxOCwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHhjMywgMHg5NSwKLSAgMHgzZCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNCwgMHhiMCwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwKLSAgMHg4MCwgMHg3NywgMHgzMCwgMHgwNCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHg4N319LAotIHsweDA0NDYsIDY0LCB7IDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsCi0gIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsCi0gIDB4N2QsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGQsIDB4MTYsIDB4YzIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MzksCi0gIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzIsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDI5LCAweDkwLCAweDdjLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLAotICAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdjLCAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdjLCAweDc1LCAweDBkLCAweGMxLCAweDEyLAotICAweDBkLCAweDE2LCAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLAotICAweDAyLCAweDA1LCAweDM4LCAweDEyLCAweDEyLCAweDNmLCAweDhmLCAweDE5LCAweDEyLCAweDEzLCAweDkzLCAweDhmLCAweDM3LCAweGU1LCAweDE5fX0sCi0gezB4MDRjNiwgNjQsIHsgMHhjMywgMHg5NSwgMHgzYiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNywgMHgyMCwgMHhlNywgMHgwMywKLSAgMHgzMCwgMHgwYywgMHg1ZSwgMHhjMiwgMHgwYywgMHhlNSwgMHgxOSwgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNywgMHgwMiwgMHhlNSwKLSAgMHgzNywgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwKLSAgMHgwOCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNywgMHgxMiwgMHgwZn19LAotIHsweDA1MDYsIDY0LCB7IDB4OTYsIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsCi0gIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDgsIDB4OTAsIDB4N2QsIDB4ODAsIDB4ZTUsIDB4MzcsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsCi0gIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsIDB4MGQsIDB4M2IsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YmIsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDAsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OTksIDB4ZTR9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGY1LCAweDE4LCAweDc0LCAweGMwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LAotICAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDIwLCAweDI0LCAweDIwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBlLCAweGU0LCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDIwLCAweGUwLCAweDYwLCAweDY4LAotICAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDEyLCAweDFhLCAweDdmLCAweDAzfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg0MywgMHg0NywgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlNSwgMHg0NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgyMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMSwgMHgzOCwgMHg5MCwgMHg3ZSwgMHgyMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgzMSwgMHhlMCwKLSAgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMiwgMHgxYSwgMHg0MywgMHg0NywgMHg4MCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsCi0gIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsCi0gIDB4MzMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4NzUsIDB4MmUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGU1LCAweDQ1LCAweGYwLCAweDkwLCAweDdlLCAweDI3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQzLAotICAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQzLCAweDdmLCAweDUzLCAweDQzLCAweGZjLCAweDkwLCAweDdlLCAweDI5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQzLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDg0LCAweDkwLCAweDdlLCAweDJiLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweGFhLAotICAweGFmLCAweDQzLCAweDEyLCAweDExLCAweDEyLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQzLCAweDdmLCAweGFmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgxMiwgMHgxMSwgMHgxMiwgMHg5MCwgMHg3ZSwgMHgyYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMiwKLSAgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMSwgMHg4MCwgMHgwMywKLSAgMHg1MywgMHg0NywgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMH19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MzIsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2QsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MzYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDUsIDB4YmYsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDEyLCAweDEzLCAweDYzLCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNmLCAweGZkLAotICAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLCAweGU0LCAweGY1LCAweDMzLCAweGY1LCAweDMyLCAweGQyLCAweDA4LCAweDkwLCAweDdlLAotICAweDM3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLCAweDc1LCAweDMyLAotICAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDM4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgzOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0NSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgzYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgxYSwKLSAgMHg3NSwgMHgzNCwgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMSwgMHhlNH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MWEsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2MsIDB4ZTAsIDB4NjAsIDB4MGUsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4M2QsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2UsIDB4M2UsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MzUsIDB4MDEsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2YsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTN9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE2LCAweGYwLCAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGMyLCAweDA2LCAweGU0LCAweDkwLCAweDdmLAotICAweGQxLCAweGYwLCAweDMwLCAweDFhLCAweDU0LCAweGU1LCAweDM5LCAweDYwLCAweDAyLCAweDE1LCAweDM5LCAweDMwLCAweDEzLCAweDRiLCAweGU1LCAweDEzLAotICAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLCAweDQwLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGMyLAotICAweDEzLCAweDEyLCAweDEzLCAweDYzLCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDE5LCAweDY1LCAweDMzLCAweDYwLCAweDA1LCAweDg1LCAweDE5fX0sCi0gezB4MDdjNiwgNjQsIHsgMHgzMywgMHhkMiwgMHgwOCwgMHgxMiwgMHgxMywgMHg5ZiwgMHhlZiwgMHg1NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZiwgMHg2MCwgMHgwNSwKLSAgMHg4NSwgMHgxOSwgMHgyZiwgMHhkMiwgMHgwOCwgMHgzMCwgMHgwZSwgMHgxMSwgMHgxMiwgMHgxMywgMHg5ZiwgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwKLSAgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyZSwgMHhkMiwgMHgwOCwgMHgzMCwgMHgxYSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwKLSAgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgxNSwgMHg5MCwgMHg3YiwgMHg0Mn19LAotIHsweDA4MDYsIDY0LCB7IDB4ZTAsIDB4ZjUsIDB4MTYsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsCi0gIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDksIDB4MjQsCi0gIDB4ZTUsIDB4MGEsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MDcsIDB4MzksIDB4ZTUsIDB4MzgsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDcsIDB4ZjUsIDB4MTgsIDB4N2UsCi0gIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWV9fSwKLSB7MHgwODQ2LCA2NCwgeyAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM4LCAweDEwLCAweGU0LCAweGY1LCAweDJjLAotICAweDc1LCAweDBhLCAweDAxLCAweDIyLCAweGU1LCAweDBhLCAweDY0LCAweDAxLCAweDcwLCAweDQwLCAweDMwLCAweDA4LCAweDM5LCAweGU1LCAweDM5LCAweDcwLAotICAweDM1LCAweGMyLCAweDA4LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGVlfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5ZSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwKLSAgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwKLSAgMHg3NSwgMHgzOSwgMHgxMCwgMHhlNCwgMHhmNSwgMHgzNSwgMHg3NSwgMHgwYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwKLSAgMHgzMCwgMHgxNCwgMHgyZiwgMHhjMiwgMHgxNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwZSwgMHgyNSwgMHgxOH19LAotIHsweDA4YzYsIDY0LCB7IDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWUsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsCi0gIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MGEsIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4NjAsIDB4MzAsIDB4MTUsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsCi0gIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MTQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDBhLCAweDIyLCAweDkwLCAweDdmLAotICAweGU5LCAweGUwLCAweDEyLCAweDBlLCAweGY2LCAweDBhLCAweDBjLCAweDAwLCAweDBhLCAweDgwLCAweDAxLCAweDBhLCAweGVjLCAweDAzLCAweDA5LCAweDQ4LAotICAweDA2LCAweDA5LCAweGZmLCAweDA4LCAweDA5LCAweGY5LCAweDA5LCAweDA5LCAweGUxLCAweDBhLCAweDA5LCAweGYwLCAweDBiLCAweDAwLCAweDAwfX0sCi0gezB4MDk0NiwgNjQsIHsgMHgwYiwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg2MSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywKLSAgMHgwMiwgMHgwOSwgMHhkNywgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwKLSAgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwKLSAgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4Mn19LAotIHsweDA5ODYsIDY0LCB7IDB4NzQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsCi0gIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksCi0gIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGYsIDB4MWMsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTl9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDA5LCAweGYwLAotICAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDA5LCAweDAyLAotICAweDBiLCAweDQyLCAweDEyLCAweDBiLCAweDRhLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwfX0sCi0gezB4MGEwNiwgNjQsIHsgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwKLSAgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywKLSAgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwKLSAgMHg0MiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMn19LAotIHsweDBhNDYsIDY0LCB7IDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsCi0gIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsCi0gIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsCi0gIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmV9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLAotICAweDEwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLAotICAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwKLSAgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwKLSAgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgxMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNH19LAotIHsweDBiMDYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTB9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLAotICAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDE4LCAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLAotICAweGRlLCAweGYwLCAweGU0LCAweGY1LCAweDI0LCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5fX0sCi0gezB4MGI4NiwgNjQsIHsgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwZSwgMHhlNCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYSwKLSAgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwgMHhmNSwgMHgxMywgMHhmNSwgMHgzNiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMCwKLSAgMHhjMiwgMHgwOSwgMHhjMiwgMHgxMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHg0NCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MiwgMHgxMn19LAotIHsweDBiYzYsIDY0LCB7IDB4MTAsIDB4YTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDAsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4NDYsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsCi0gIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2UsIDB4MTIsCi0gIDB4MTEsIDB4ZDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDV9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDdkLCAweDdmLCAweDEyLCAweDExLCAweGQwLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDg5LCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGQwLAotICAweDdmLCAweDEzLCAweDdkLCAweDA5LCAweDEyLCAweDExLCAweGQwLCAweDIwLCAweDFiLCAweDAzLCAweDAyLCAweDBjLCAweGM5LCAweDc1LCAweDJkLCAweDAxLAotICAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLAotICAweDBlLCAweGU0LCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNiLCAweDAxLCAweGU0LCAweGY1LCAweDM5fX0sCi0gezB4MGM0NiwgNjQsIHsgMHhmNSwgMHgxMywgMHhmNSwgMHgzNywgMHhjMiwgMHgwOCwgMHhjMiwgMHgwYywgMHhjMiwgMHgwNiwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgxMywgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg3NSwgMHg0NSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywKLSAgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MywgMHgxMiwgMHgxMSwgMHgxMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYSwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MSwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBjODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDcsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsCi0gIDB4MTIsIDB4MWEsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MWEsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsCi0gIDB4MDEsIDB4MTIsIDB4MTIsIDB4YWEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsIDB4MTMsIDB4N2QsIDB4MDl9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDEyLCAweDEyLCAweDFhLCAweGQyLCAweDEyLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LAotICAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLAotICAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLAotICAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwfX0sCi0gezB4MGQwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwKLSAgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwKLSAgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsCi0gIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsCi0gIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsCi0gIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4ZDIsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTJ9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLAotICAweGYwLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLAotICAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLAotICAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwfX0sCi0gezB4MGRjNiwgNjQsIHsgMHhkMiwgMHhhZiwgMHhkMiwgMHgxYSwgMHgxMiwgMHgxMiwgMHg2NCwgMHhjMiwgMHgxMSwgMHhlNCwgMHhmNSwgMHgwYiwgMHhmNSwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwKLSAgMHgxMiwgMHg5MCwgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxNywgMHg2MCwgMHgxMCwgMHgzMCwgMHgxMiwKLSAgMHgwNSwgMHhkMiwgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxNywgMHg4MCwgMHgwOCwgMHgzMCwgMHgxMiwKLSAgMHgwNSwgMHhjMiwgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHgzMCwgMHgxMSwgMHgwNywgMHhjMiwgMHgxMSwgMHgxMiwgMHgwOSwgMHgyNSwgMHg4MH19LAotIHsweDBlMDYsIDY0LCB7IDB4ZDYsIDB4MzAsIDB4MTgsIDB4ZDMsIDB4YzIsIDB4MTgsIDB4MTIsIDB4MTMsIDB4YWIsIDB4ODAsIDB4Y2MsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsCi0gIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NDcsIDB4MDIsIDB4MGUsIDB4NTksIDB4MDIsIDB4MGQsIDB4ODEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsCi0gIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsCi0gIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLAotICAweDQwLCAweDgwLCAweDkwLCAweDEyLCAweGNiLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLAotICAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLAotICAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzfX0sCi0gezB4MGU4NiwgNjQsIHsgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywKLSAgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwKLSAgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwKLSAgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMn19LAotIHsweDBlYzYsIDY0LCB7IDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsCi0gIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsCi0gIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsCi0gIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTN9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLAotICAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDhmLCAweDE4LCAweGU0LCAweGY1LCAweDE5LCAweDc1LCAweDFhLCAweGZmLCAweDc1LCAweDFiLCAweDE5LAotICAweDc1LCAweDFjLCAweDg2LCAweGFiLCAweDFhLCAweGFhLCAweDFiLCAweGE5LCAweDFjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBlLCAweGI3LCAweGI0LAotICAweDAzLCAweDFkLCAweGFmLCAweDE5LCAweDA1LCAweDE5LCAweGVmLCAweGI1LCAweDE4LCAweDAxLCAweDIyLCAweDEyLCAweDBlLCAweDllLCAweDdlfX0sCi0gezB4MGY0NiwgNjQsIHsgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYSwgMHhmZiwgMHhmNSwgMHgxYiwgMHg4OSwgMHgxYywgMHg4MCwgMHhkNCwgMHg3YiwKLSAgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwKLSAgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgwZCwgMHhlNSwKLSAgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNX19LAotIHsweDBmODYsIDY0LCB7IDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4M2YsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzYsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4OGYsCi0gIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsCi0gIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MTMsIDB4NTcsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsCi0gIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTN9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDkzLCAweDhmLCAweDFhLCAweGVmLCAweDQyLCAweDM3LCAweDgwLCAweGNhLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLAotICAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LAotICAweDI3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDA3LCAweGYwLCAweGU0LCAweDkwLAotICAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDIyfX0sCi0gezB4MTAwNiwgNjQsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxMSwKLSAgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwKLSAgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwKLSAgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOH19LAotIHsweDEwNDYsIDY0LCB7IDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLAotICAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyfX0sCi0gezB4MTBjNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwKLSAgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDExMDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LAotICAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MTE4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYn19LAotIHsweDExYzYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsCi0gIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsCi0gIDB4MjcsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTJ9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDEzLCAweDI3LCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDFiLCAweDgwLCAweGU4LAotICAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDFhLCAweDEyLCAweDEzfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg3YiwgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NSwKLSAgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwKLSAgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwKLSAgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxMiwgMHhlNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NH19LAotIHsweDEyODYsIDY0LCB7IDB4MDQsIDB4ZjAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2UsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2UsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsCi0gIDB4MTEsIDB4ZDAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2YsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MWEsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2YsIDB4NDQsIDB4ODB9fSwKLSB7MHgxMmM2LCA2NCwgeyAweGZkLCAweDEyLCAweDEyLCAweDFhLCAweDIyLCAweDA1LCAweDBlLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDE0LCAweDAzLCAweDAwLCAweDAwLAotICAweGMxLCAweDExLCAweGMxLCAweDE4LCAweGMxLCAweDk1LCAweGMxLCAweDEwLCAweGMxLCAweDE2LCAweDAxLCAweDBhLCAweDAwLCAweGMxLCAweDliLCAweDAwLAotICAweDhlLCAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLCAweDE1LCAweDE4LCAweDRlLCAweDYwLAotICAweDA1LCAweDEyLCAweDBkLCAweDYwLCAweDgwLCAweGVlLCAweDIyLCAweDAwLCAweDAwLCAweDAyLCAweDEwLCAweDA2LCAweDAwLCAweDAyLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMywgMHgwMCwgMHgwMiwgMHgxMCwgMHgyZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MH19LAotIHsweDEzNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmZ9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDBmLCAweGNmLCAweDEyLCAweDBkLCAweDcxLCAweDEyLCAweDBiLCAweDRhLCAweDIyLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLCAgMCwgezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d19mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjMjRkYWMuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NjQgKzAsMCBAQAotLyoga2V5c3Bhbl91c2E0OXdfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2E0OXdfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2E0OXdfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDE4LCAweGZifX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDYsIDE2LCB7IDB4ZTQsIDB4ZmYsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZTUsIDB4MTV9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDI0LCAweDA0LCAweGZkLCAweGU0LCAweDM1LCAweDE0LCAweGZhLCAweGE5LCAweDA1LCAweDdiLCAweDAxLCAweGVmLCAweDdjLCAweDAwLCAweDI5LCAweGY5fX0sCi0gezB4MDA2NiwgMTYsIHsgMHhlYywgMHgzYSwgMHhmYSwgMHhlZSwgMHgxMiwgMHgxMSwgMHhmMSwgMHgwZiwgMHhiZiwgMHgyMiwgMHhkNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNSwgMHhmNX19LAotIHsweDAwNzYsIDE2LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDEsIDB4MzQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDl9fSwKLSB7MHgwMDg2LCAxNiwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLCAweGU1LCAweDE1LCAweDI0LCAweDBhLCAweGY1LCAweDgyfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxOCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNX19LAotIHsweDAwYTYsIDE2LCB7IDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4Y2YsIDB4ZjAsIDB4ODAsIDB4NDF9fSwKLSB7MHgwMGI2LCAxNiwgeyAweGU1LCAweDE1LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE2LCAweDc2fX0sCi0gezB4MDBjNiwgMTYsIHsgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgwMCwgMHgwM319LAotIHsweDAwZDYsIDE2LCB7IDB4N2YsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTJ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE2LCAweDQ3LCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDMwfX0sCi0gezB4MDBmNiwgMTYsIHsgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMH19LAotIHsweDAwMDMsIDE2LCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzR9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDAxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0fX0sCi0gezB4MDAyMywgMTYsIHsgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MWIsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDEwLCAweDk1fX0sCi0gezB4MDEwNiwgNjQsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgzMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwY319LAotIHsweDAxNDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NGYsIDB4ZTV9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDE1LCAweDI0LCAweDE3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMyLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LAotICAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGU0LCAweGZmLCAweGU1LCAweDE1LAotICAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweGU1fX0sCi0gezB4MDFjNiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgwZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwZn19LAotIHsweDAyMDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4ZTcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4MTcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTR9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweGI3LCAweGU1LCAweDE1LCAweDI0LCAweDE0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDQ0LCAweGU1LCAweDE1LCAweDI0LCAweDE1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1fX0sCi0gezB4MDI4NiwgNjQsIHsgMHg4MywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHg0NCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNH19LAotIHsweDAyYzYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTYsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzUsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDE3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDMwLCAweGUwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1fX0sCi0gezB4MDM0NiwgNjQsIHsgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgxOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OH19LAotIHsweDAzODYsIDY0LCB7IDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4NmIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTR9fSwKLSB7MHgwM2M2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAxLCAweGYwLCAweDEyLCAweDAwLAotICAweDM2LCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDQ3LCAweGU1LCAweDE1LAotICAweDI0LCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDJifX0sCi0gezB4MDQwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNX19LAotIHsweDA0NDYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MmIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4NzAsIDB4MGUsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MmEsIDB4OTAsIDB4NzgsIDB4NDEsCi0gIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGVmLCAweDYwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI3LCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg0NywKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHhlNX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjcsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsCi0gIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDIwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDcwLCAweDBlLCAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDE4LCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDIxLCAweGY1LCAweDgyfX0sCi0gezB4MDU4NiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg2MCwgMHgxZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMH19LAotIHsweDA1YzYsIDY0LCB7IDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4MDMsIDB4MTIsIDB4MTgsIDB4ODUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4NjAsIDB4MWIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDgsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTYsIDB4ZjQsIDB4ZmUsIDB4ZWYsIDB4NWUsIDB4ZjAsIDB4ZTUsIDB4MTV9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDE2LCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDQ1LCAweDE2LAotICAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDEyLCAweDAzLCAweDA3LCAweDgzLCAweDAwLCAweDA3LCAweGY3LCAweDAxLCAweDA4LAotICAweDYzLCAweDAzLCAweDA2LCAweDRjLCAweDA2LCAweDA3LCAweDc0LCAweDA4LCAweDA3LCAweDY4LCAweDA5LCAweDA3LCAweDUwLCAweDBhLCAweDA3fX0sCi0gezB4MDY0NiwgNjQsIHsgMHg1ZiwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwOCwgMHhiMiwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxYywgMHgxNCwgMHg3MCwgMHgwMywKLSAgMHgwMiwgMHgwNiwgMHhmZSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNywgMHg0NiwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwKLSAgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwKLSAgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgzMCwgMHhlMCwgMHgwNCwgMHg3ZiwgMHgwMywgMHg4MH19LAotIHsweDA2ODYsIDY0LCB7IDB4MDIsIDB4N2YsIDB4MDIsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NmQsIDB4NzUsIDB4ODMsIDB4MTksCi0gIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NWYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsCi0gIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDQsIDB4N2YsIDB4NjQsIDB4ODAsCi0gIDB4MDIsIDB4N2YsIDB4MzIsIDB4NzUsIDB4ODIsIDB4MWEsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWYsIDB4ZTB9fSwKLSB7MHgwNmM2LCA2NCwgeyAweGZlLCAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweDdjLCAweDAwLCAweDI0LCAweDAwLCAweGY1LCAweDE5LCAweGVjLCAweDNlLCAweGY1LCAweDE4LCAweDc1LCAweDMzLAotICAweDE5LCAweDc1LCAweDM0LCAweDEyLCAweDc1LCAweDgyLCAweDE0LCAweDc1LCAweDgzLCAweDE5LCAweGUwLCAweDc1LCAweDI3LCAweDAwLCAweGY1LCAweDI4LAotICAweGQzLCAweGU1LCAweDI4LCAweDk1LCAweDE5LCAweGU1LCAweDI3LCAweDk1LCAweDE4LCAweDQwLCAweDA2LCAweDg1LCAweDE4LCAweDI3LCAweDg1LCAweDE5LAotICAweDI4LCAweDEyLCAweDEzLCAweDEyLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDE0LCAweDJifX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlYSwgMHg0OSwgMHg2MCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHg3NSwgMHgxOCwgMHgwMCwgMHhmNSwgMHgxOSwgMHhhZSwgMHgwMiwgMHhhZiwgMHgwMSwKLSAgMHg4ZSwgMHgzMywgMHg4ZiwgMHgzNCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHg4ZSwgMHgyNywgMHhmNSwgMHgyOCwKLSAgMHhkMywgMHg5NSwgMHgxOSwgMHhlNSwgMHgyNywgMHg5NSwgMHgxOCwgMHg0MCwgMHgwNiwgMHg4NSwgMHgxOCwgMHgyNywgMHg4NSwgMHgxOSwgMHgyOCwgMHgxMiwKLSAgMHgxMywgMHgxMiwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOX19LAotIHsweDA3NDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjUsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjUsIDB4MDIsIDB4MDgsCi0gIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjIsIDB4MTIsIDB4MGEsIDB4YjgsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZTUsIDB4MjIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZTh9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyLCAweDAwLCAweGU0LCAweDMzLCAweGZmLAotICAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDA2LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwfX0sCi0gezB4MDdjNiwgNjQsIHsgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwKLSAgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwKLSAgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOCwgMHhiOX19LAotIHsweDA4MDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MDAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmZ9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLAotICAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLAotICAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLAotICAweDAwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhfX0sCi0gezB4MDg4NiwgNjQsIHsgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwKLSAgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHhlNSwgMHgxMSwgMHg1NCwgMHgwZiwgMHg3MH19LAotIHsweDA4YzYsIDY0LCB7IDB4MDMsIDB4MDIsIDB4MDksIDB4YjIsIDB4MTIsIDB4MTYsIDB4YTUsIDB4ZWYsIDB4MjAsIDB4ZTEsIDB4NzUsIDB4MTIsIDB4MTcsIDB4MDMsIDB4ZWYsIDB4MTQsIDB4ZjUsCi0gIDB4MTksIDB4MTIsIDB4MTgsIDB4Y2MsIDB4ZWYsIDB4MjUsIDB4MTksIDB4ZmYsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4YzMsIDB4ZWYsIDB4OTQsIDB4ODAsIDB4ZWUsCi0gIDB4NjQsIDB4ODAsIDB4OTQsIDB4ODAsIDB4NTAsIDB4NTksIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsCi0gIDB4ZmYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweGUyLCAweDEyLCAweGU1LCAweDE5LCAweDYwLCAweDBlLCAweGY1LCAweDIzLCAweGVmLCAweDI0LAotICAweDAxLCAweGY1LCAweDJkLCAweGU0LCAweDNlLCAweGY1LCAweDJjLCAweDEyLCAweDE0LCAweGFkLCAweGU0LCAweGZmLCAweDEyLCAweDE0LCAweGUzfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNywgMHg1ZCwgMHgxMiwgMHgxOCwKLSAgMHhjYywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZSwgMHhlZiwgMHhjMywKLSAgMHg5ZSwgMHg1MCwgMHg0OCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwKLSAgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3Yn19LAotIHsweDA5ODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsCi0gIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MjQsIDB4ODAsIDB4MDMsIDB4MTIsIDB4MTIsIDB4YTEsIDB4MTIsIDB4MTYsIDB4ZDQsIDB4ZWYsIDB4MzAsCi0gIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGEsIDB4YjcsIDB4MTIsIDB4MTcsIDB4ZDIsIDB4OGYsIDB4MTksIDB4MTIsIDB4MTgsIDB4ZDgsIDB4ZTUsIDB4MTV9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM1LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE5LCAweGMzLCAweDlmLCAweDUwLCAweDI4LCAweDEyLCAweDE4LCAweGI0LAotICAweGVmLCAweDMwLCAweGUwLCAweDIxLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLAotICAweDIwLCAweGU3LCAweDEyLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwYSwgMHhiNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlNSwgMHgxOSwgMHg3MCwgMHgwMywgMHgwMiwgMHgwYSwgMHhiNywgMHhiNCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNywgMHgyOSwgMHhlNSwgMHgxOX19LAotIHsweDBhNDYsIDY0LCB7IDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MjMsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsCi0gIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4OGMsIDB4MmMsIDB4ZjUsIDB4MmQsIDB4MTIsIDB4MTMsIDB4ZGQsIDB4ZTUsIDB4MTksIDB4MjUsCi0gIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4MTksIDB4MjIsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsCi0gIDB4ODUsIDB4MTksIDB4MjMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgwYTg2LCA2NCwgeyAweGZmLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGY1LCAweDgyLCAweDhjLCAweDgzLAotICAweGVmLCAweGYwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDI0LCAweDAxLAotICAweGY1LCAweDJkLCAweGU0LCAweDNlLCAweGY1LCAweDJjLCAweDEyLCAweDE0LCAweDZjLCAweGU1LCAweDE5LCAweDA0LCAweGZmLCAweDEyLCAweDE1LCAweDE5LAotICAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGYwLCAweGYwLCAweDkwLCAweDdmLCAweDk2fX0sCi0gezB4MGFjNiwgNjQsIHsgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0YSwgMHgwNCwgMHhmMCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwKLSAgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxZiwgMHhmMCwgMHg5MCwgMHg3OCwKLSAgMHg0MywgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHg5ZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhkZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NX19LAotIHsweDBiMDYsIDY0LCB7IDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MGYsIDB4MTIsCi0gIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZWYsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsCi0gIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2UsIDB4ZjAsIDB4YTMsIDB4NzR9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDQwLCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdlLCAweGYwLAotICAweGEzLCAweDc0LCAweDgwLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLAotICAweDk2LCAweDc0LCAweGRmLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweDEyLCAweDBmLCAweDEyLCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LAotICAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGRmLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweGU1LCAweDE1fX0sCi0gezB4MGI4NiwgNjQsIHsgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMCwgMHg4NSwKLSAgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHhjMCwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHgwMCwKLSAgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMCwgMHhmMCwgMHg3ZSwKLSAgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMH19LAotIHsweDBiYzYsIDY0LCB7IDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MGYsIDB4MTIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsCi0gIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsCi0gIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODV9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweDgwLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LAotICAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDdmLCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDBmLCAweDEyLAotICAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDdmLCAweGYwLAotICAweDc1LCAweDE2LCAweDA4LCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0fX0sCi0gezB4MGM0NiwgNjQsIHsgMHgwMywgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHg3NCwgMHg3YywgMHhmMCwgMHhhMywgMHg3NCwKLSAgMHhjMCwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHgwMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZCwKLSAgMHhmMCwgMHhhMywgMHg3NCwgMHgwMCwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwOSwgMHhkMiwgMHgwMiwgMHgyMiwgMHhlNSwgMHgxMCwgMHgwNCwgMHg1NCwKLSAgMHgwMywgMHhmNSwgMHgxMCwgMHgxNCwgMHg2MCwgMHgxZiwgMHgxNCwgMHg2MCwgMHgzMSwgMHgxNCwgMHg2MCwgMHg0MywgMHgyNCwgMHgwMywgMHg3MH19LAotIHsweDBjODYsIDY0LCB7IDB4NTIsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZWYsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDEsIDB4ODAsIDB4M2QsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsCi0gIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4ODAsIDB4MjgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4ODAsIDB4MTN9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDdmLCAweGYwLCAweDc1LAotICAweDE2LCAweDA4LCAweGU1LCAweDMyLCAweDU1LCAweDE2LCAweDcwLCAweDAzLCAweDAyLCAweDBlLCAweDExLCAweGU1LCAweDE2LCAweGY0LCAweGZmLCAweDUyLAotICAweDMyLCAweGU1LCAweDI2LCAweDU0LCAweDdmLCAweGZlLCAweDcwLCAweDBmLCAweGU1LCAweDJhLCAweDU1LCAweDE2LCAweDYwLCAweDI0LCAweDkwLCAweDdmLAotICAweDk4LCAweGUwLCAweDQ1LCAweDE2LCAweGYwLCAweDgwLCAweDFiLCAweGJlLCAweDIwLCAweDE4LCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1fX0sCi0gezB4MGQwNiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMywgMHgwOSwgMHhlNCwgMHhmNSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwKLSAgMHg1ZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwMywKLSAgMHhlMCwgMHgxNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgwMywgMHhlMCwgMHgxNCwgMHhmMCwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZSwgMHgxMSwgMHg3NCwgMHgwYSwgMHhmMCwgMHgxMiwgMHgwMH19LAotIHsweDBkNDYsIDY0LCB7IDB4MzYsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZmYsIDB4ZjUsIDB4MTksIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NmYsIDB4NjAsIDB4MDcsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4MTIsIDB4MTgsIDB4ZTQsIDB4OGYsCi0gIDB4MTksIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTksCi0gIDB4NTQsIDB4MTAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MDYsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDI4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE5LCAweDU0LCAweDgwLCAweGZlLCAweDZmLCAweDYwLAotICAweDA2LCAweGVlLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDI5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE5LCAweDU0LCAweDIwLCAweGZlLCAweDZmLCAweDYwLCAweDE1LCAweGVlLCAweGYwLCAweGU1LCAweDE1LAotICAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU0LCAweDA0LCAweGU1LCAweDE2fX0sCi0gezB4MGRjNiwgNjQsIHsgMHg0MiwgMHgxMywgMHhlNSwgMHgxMiwgMHg1NSwgMHgxNiwgMHhmZiwgMHhmNSwgMHgxOSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2ZiwgMHg2MCwgMHgxNiwgMHhlNSwgMHgxOSwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNSwgMHgwNCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNywgMHg1NSwKLSAgMHgxNiwgMHhmZiwgMHhmNSwgMHgxOSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4M319LAotIHsweDBlMDYsIDY0LCB7IDB4ZTAsIDB4NmYsIDB4NjAsIDB4MDcsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4MjIsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MGYsCi0gIDB4MTEsIDB4ZTUsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MmEsIDB4MTQsIDB4NjAsIDB4NDEsIDB4MTQsIDB4NjAsIDB4NTgsIDB4MTQsIDB4NjAsIDB4NmYsIDB4MjQsCi0gIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGUsIDB4Y2YsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsCi0gIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MTIsIDB4YTEsIDB4NzUsIDB4MjQsIDB4MDF9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDIyLCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGRmLCAweGYwLAotICAweDc1LCAweDE2LCAweDAyLCAweDEyLCAweDEyLCAweGExLCAweDc1LCAweDI0LCAweDAyLCAweDIyLCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LAotICAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDEyLCAweGExLAotICAweDc1LCAweDI0LCAweDAzLCAweDIyLCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHg3ZiwgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgxMiwgMHhhMSwgMHg3NSwgMHgyNCwgMHgwNCwgMHgyMiwgMHgzMCwgMHgwNCwKLSAgMHgzMywgMHhjMiwgMHgwNCwgMHg1MywgMHgxMywgMHhkZiwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZSwgMHgyNSwKLSAgMHgxOSwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgxMSwgMHhhYiwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOSwgMHhlNSwgMHgxOSwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MH19LAotIHsweDBlYzYsIDY0LCB7IDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4NzUsIDB4MjQsIDB4MDUsIDB4MjIsIDB4ZTUsIDB4MzYsIDB4NjAsIDB4M2IsIDB4ZDUsIDB4MzYsIDB4MGEsIDB4NTMsCi0gIDB4MTMsIDB4ZWYsIDB4MzAsIDB4MGEsIDB4MDQsIDB4ZDIsIDB4MDksIDB4YzIsIDB4MGEsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsCi0gIDB4NzQsIDB4MzUsIDB4MjUsIDB4MTksIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTEsIDB4YWIsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsCi0gIDB4MTksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTksIDB4ZTUsIDB4MTksIDB4YjR9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDI0LCAweDIyLCAweGU0LCAweGY1LCAweDFhLCAweDdlLCAweDAwLAotICAweDdiLCAweDAxLCAweGU1LCAweDE1LCAweDI1LCAweDFhLCAweGY5LCAweGVlLCAweDM1LCAweDE0LCAweGZhLCAweGU0LCAweDEyLCAweDExLCAweGYxLCAweDA1LAotICAweDFhLCAweGU1LCAweDFhLCAweGI0LCAweDNjLCAweGU4LCAweGU1LCAweDE1LCAweDI0LCAweDM1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1fX0sCi0gezB4MGY0NiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwKLSAgMHgxMiwgMHgxNiwgMHg0NywgMHg3ZiwgMHgxMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlZiwgMHhmMCwgMHgxMiwgMHgxNSwgMHhiNywgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMH19LAotIHsweDBmODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTQsIDB4ZmYsCi0gIDB4N2UsIDB4YTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWUsIDB4ZjAsIDB4ZmQsCi0gIDB4MTIsIDB4MTYsIDB4NDcsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2Z9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDE2LCAweDQ3LCAweDdmLCAweDAxLCAweDEyLCAweDE1LCAweDRmLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDE2LAotICAweDQ3LCAweDIyLCAweDUzLCAweDEzLCAweDNmLCAweDkwLCAweDdiLCAweGYxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdiLCAweDdmLCAweGMwLAotICAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLAotICAweDA4LCAweGMxLCAweDkwLCAweDdjLCAweDMxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0fX0sCi0gezB4MTAwNiwgNjQsIHsgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgwOCwgMHhjMSwgMHg5MCwKLSAgMHg3YywgMHg3MSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwKLSAgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgwOCwgMHhjMSwgMHg5MCwgMHg3YywgMHhiMSwgMHhlMCwKLSAgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3Zn19LAotIHsweDEwNDYsIDY0LCB7IDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MDgsIDB4YzEsIDB4MDUsIDB4MTEsIDB4ZTUsIDB4MTEsIDB4NTQsIDB4MGYsIDB4ZjUsCi0gIDB4MTgsIDB4NzAsIDB4MWYsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTksIDB4ZTAsIDB4ZjUsIDB4MTcsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTksIDB4ZTAsIDB4ZjQsIDB4ZjUsIDB4MTIsIDB4MTIsIDB4MTEsCi0gIDB4MjEsIDB4MjIsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDEsIDB4MDQsIDB4MTIsIDB4MGMsIDB4NzMsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDIwLCAweGUxLCAweDA4LCAweGU1LCAweDEzLCAweDYwLCAweDA0LCAweDEyLCAweDBlLCAweDEyLCAweDIyLCAweDEyLCAweDBjLCAweDczLCAweDIyLCAweDc4LCAweDdmLAotICAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDM3LCAweDAyLCAweDEwLCAweGRjLCAweDAyLCAweDEyLCAweDI5LCAweGU0LCAweDkzLCAweGEzLAotICAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LAotICAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwfX0sCi0gezB4MTBjNiwgNjQsIHsgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwKLSAgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgxOCwgMHg1MCwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwKLSAgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwKLSAgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOH19LAotIHsweDExMDYsIDY0LCB7IDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsCi0gIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MzAsIDB4ZTEsCi0gIDB4MDMsIDB4MDIsIDB4MTEsIDB4YWEsIDB4YzIsIDB4MDksIDB4OTAsIDB4N2IsIDB4NDAsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MjYsIDB4MTQsIDB4NjAsIDB4M2IsCi0gIDB4MTQsIDB4NjAsIDB4NTAsIDB4MjQsIDB4ODMsIDB4NjAsIDB4NjQsIDB4MjQsIDB4ODAsIDB4NzAsIDB4NjMsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDAwLAotICAweDQ2LCAweDgwLCAweDRiLCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk2LAotICAweDc0LCAweGRmLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDMzLCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LAotICAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyfX0sCi0gezB4MTE4NiwgNjQsIHsgMHgwMCwgMHg0NiwgMHg4MCwgMHgxYiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHg3NCwgMHg3ZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgwMywgMHgxMiwgMHgxNywgMHg1YywgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHhkMywgMHhmMCwgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywKLSAgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMX19LAotIHsweDExYzYsIDY0LCB7IDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsCi0gIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksCi0gIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsCi0gIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLAotICAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLAotICAweDgwLCAweGRmLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDAwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwLAotICAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwKLSAgMHg5MCwgMHg3ZiwgMHhhZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHg3NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHgwYiwKLSAgMHgxMiwgMHgxOCwgMHgxNCwgMHhjMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHgyYiwgMHhmNSwgMHgzMSwgMHhjMiwgMHgwNywgMHhjMiwgMHgwMiwgMHg3NSwgMHgyOSwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNiwgMHg3NSwgMHgzMiwgMHgwZiwgMHhlMCwgMHhmNSwgMHgyNn19LAotIHsweDEyODYsIDY0LCB7IDB4MzAsIDB4MDIsIDB4MDMsIDB4MTIsIDB4MGYsIDB4ZDksIDB4MzAsIDB4MDEsIDB4MDcsIDB4YzIsIDB4MDEsIDB4MTIsIDB4MDYsIDB4MjksIDB4ODAsIDB4ZTIsIDB4MzAsCi0gIDB4MDgsIDB4ZGYsIDB4YzIsIDB4MDgsIDB4MTIsIDB4MTgsIDB4MzUsIDB4ODAsIDB4ZDgsIDB4MjIsIDB4ZTUsIDB4MTMsIDB4NTUsIDB4MTYsIDB4NjAsIDB4NmEsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4NWMsIDB4ZTUsIDB4MTYsCi0gIDB4ZjQsIDB4NTIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZmYsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZmUsIDB4ZTQsIDB4ZmQsIDB4MGZ9fSwKLSB7MHgxMmM2LCA2NCwgeyAweGVmLCAweGFhLCAweDA2LCAweDcwLCAweDAxLCAweDBlLCAweDE0LCAweGY1LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweGZjLCAweDc0LCAweDgwLCAweDJkLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweDBkLCAweGJkLCAweDBiLCAweGUyLCAweDkwLCAweDdmLCAweGMzLCAweDc0LAotICAweDBiLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDEwLCAweGYwLAotICAweGU1LCAweDE1LCAweDI0LCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE1fX0sCi0gezB4MTMwNiwgNjQsIHsgMHgyNCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHgyMiwgMHhlNSwgMHgyOCwgMHg0NSwgMHgyNywgMHg2MCwKLSAgMHg1NywgMHhhZSwgMHgyNywgMHhhZiwgMHgyOCwgMHhkMywgMHhlZiwgMHg5NCwgMHg0MCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHg3ZSwgMHgwMCwKLSAgMHg3ZiwgMHg0MCwgMHhjMywgMHhlNSwgMHgyOCwgMHg5ZiwgMHhmNSwgMHgyOCwgMHhlNSwgMHgyNywgMHg5ZSwgMHhmNSwgMHgyNywgMHhlNCwgMHhmZCwgMHhlZCwKLSAgMHhjMywgMHg5ZiwgMHhlNCwgMHg5ZSwgMHg1MCwgMHgxZiwgMHg4NSwgMHgzNCwgMHg4MiwgMHg4NSwgMHgzMywgMHg4MywgMHhlMCwgMHhmYywgMHg3NH19LAotIHsweDEzNDYsIDY0LCB7IDB4MDAsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4MGQsIDB4MDUsIDB4MzQsIDB4ZTUsIDB4MzQsIDB4NzAsCi0gIDB4MDIsIDB4MDUsIDB4MzMsIDB4ODAsIDB4ZGEsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZWYsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4ZjB9fSwKLSB7MHgxMzg2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDRhLCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLAotICAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDMwLCAweDAwLCAweDA3LCAweGU1LCAweDI5LCAweDU0LCAweGYwLCAweGZmLAotICAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweGVmLCAweDQ0LCAweDA4LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLAotICAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhmMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgyZCwgMHhlNSwgMHgyZCwgMHhhZSwgMHgyYywgMHg3MCwgMHgwMiwKLSAgMHgwNSwgMHgyYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgxOCwgMHhmMCwgMHgwNSwgMHgyZCwgMHhlNSwKLSAgMHgyZCwgMHhhYywgMHgyYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgyYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNX19LAotIHsweDE0MDYsIDY0LCB7IDB4MjMsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4YzAsCi0gIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZTAsIDB4ZmUsIDB4MTIsIDB4MTgsIDB4ZDgsIDB4OGYsIDB4MWEsIDB4ZWUsIDB4NGYsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsCi0gIDB4ZjAsIDB4ODAsIDB4YjUsIDB4MjIsIDB4OGYsIDB4MWEsIDB4ZTQsIDB4ZjUsIDB4MWIsIDB4NzUsIDB4MWMsIDB4ZmYsIDB4NzUsIDB4MWQsIDB4MTksIDB4NzUsCi0gIDB4MWUsIDB4ODYsIDB4YWIsIDB4MWMsIDB4YWEsIDB4MWQsIDB4YTksIDB4MWUsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MTEsIDB4YzQsIDB4YjR9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAzLCAweDFkLCAweGFmLCAweDFiLCAweDA1LCAweDFiLCAweGVmLCAweGI1LCAweDFhLCAweDAxLCAweDIyLCAweDEyLCAweDExLCAweGFiLCAweDdlLCAweDAwLCAweDI5LAotICAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFjLCAweGZmLCAweGY1LCAweDFkLCAweDg5LCAweDFlLCAweDgwLCAweGQ0LCAweDdiLCAweDAwLAotICAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweGU0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweDc4LCAweDRmLCAweDc0LCAweGMwLCAweGYwLAotICAweGU0LCAweDkwLCAweDc4LCAweDUwLCAweGYwLCAweGU1LCAweDJjLCAweDkwLCAweDc4LCAweDUxLCAweGYwLCAweGFlLCAweDJjLCAweGU1LCAweDJkfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHg5MCwgMHg3OCwgMHg1MiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NCwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NywgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhmMCwgMHg5MCwKLSAgMHg3OCwgMHg1NSwgMHhlMCwgMHg2MCwgMHhmYSwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHhlNSwgMHgyYywgMHg5MCwgMHg3OCwgMHg0ZiwKLSAgMHhmMCwgMHhhZSwgMHgyYywgMHhlNSwgMHgyZCwgMHg5MCwgMHg3OCwgMHg1MCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1MSwgMHg3NCwgMHhjMCwgMHhmMH19LAotIHsweDE0YzYsIDY0LCB7IDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTIsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTQsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTcsIDB4NzQsIDB4MDQsIDB4ZjAsCi0gIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTUsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTUsIDB4ZTAsIDB4NjAsIDB4ZmEsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGYsIDB4MTQsIDB4NjAsIDB4MTMsIDB4MTQsIDB4NjAsCi0gIDB4MTcsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZWYsIDB4ZjB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDgwLCAweDBjLCAweDkwLCAweDdmLCAweGNiLCAweGVmLCAweGYwLCAweDgwLCAweDA1LCAweDkwLCAweDdmLCAweGNkLCAweGVmLCAweGYwLCAweGU1LCAweDE2LCAweDQyLAotICAweDJhLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLAotICAweDBmLCAweDE0LCAweDYwLCAweDEzLCAweDE0LCAweDYwLCAweDE3LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGI3LCAweGVmLCAweGYwLCAweDgwLCAweDEzLAotICAweDkwLCAweDdmLCAweGI5LCAweGVmLCAweGYwLCAweDgwLCAweDBjLCAweDkwLCAweDdmLCAweGJiLCAweGVmLCAweGYwLCAweDgwLCAweDA1LCAweDkwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHg3ZiwgMHhiZCwgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgyYSwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxNiwgMHg0NywgMHg5MCwgMHg3OCwKLSAgMHg0MSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg0NywgMHgyMiwgMHhjMCwgMHhlMH19LAotIHsweDE1ODYsIDY0LCB7IDB4YzAsIDB4ZjAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsCi0gIDB4NzUsIDB4ZDAsIDB4MDgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MTIsIDB4MTMsIDB4MTIsIDB4ZDAsCi0gIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4MzIsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDF9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDc0LCAweDAyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LAotICAweDA0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1fX0sCi0gezB4MTYwNiwgNjQsIHsgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwKLSAgMHgwNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDcsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4OTAsCi0gIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDF9fSwKLSB7MHgxNjg2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweGU1LCAweDE1LAotICAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBlLCAweDE0LCAweDYwLCAweDExLAotICAweDE0LCAweDYwLCAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGM4LCAweGUwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjYywgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwgMHgxNCwKLSAgMHg2MCwgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsIDB4MTQsIDB4NjAsCi0gIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsCi0gIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLAotICAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdiLCAweDQxLCAweGUwLCAweGY1LCAweDM2LCAweDQzLCAweDEzLCAweDEwLCAweGEzLCAweGUwLAotICAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweDkwLCAweDdiLCAweDQzLCAweGUwLCAweGY1LAotICAweDM3LCAweGEzLCAweGUwLCAweDU0LCAweGYwLCAweGY1LCAweDI5LCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBhLCAweDIyLCAweGMwLCAweGUwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwMSwgMHg1MywgMHg5MSwKLSAgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwKLSAgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwKLSAgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMH19LAotIHsweDE3YzYsIDY0LCB7IDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4MTIsIDB4MTgsIDB4YzAsIDB4YWUsIDB4MDcsCi0gIDB4MTIsIDB4MTgsIDB4YzAsIDB4YWQsIDB4MDcsIDB4ZWUsIDB4NmQsIDB4NjAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4YzAsIDB4YWUsIDB4MDcsIDB4ZWUsIDB4NmQsCi0gIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTgsIDB4YzAsIDB4YWQsIDB4MDcsIDB4ODAsIDB4ZWMsIDB4YWYsIDB4MDYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsCi0gIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxODA2LCA2NCwgeyAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LAotICAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDBiLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLAotICAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDE4LCAweDZiLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDIyLCAweDEyLCAweDEzLAotICAweDdjLCAweDEyLCAweDE4LCAweDA0LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDBhLCAweDdmLCAweDA1LCAweDdlLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgxMiwgMHgxOCwgMHg2YiwgMHgxMiwgMHgxOCwgMHg5ZSwgMHgxMiwgMHgwYSwgMHhiOCwgMHgyMiwgMHgwMywgMHgzNSwgMHg4MCwgMHgwMCwgMHgwMCwgMHgwMywgMHgyZSwKLSAgMHg4MSwgMHgwMCwgMHgwMCwgMHhjMSwgMHg4NSwgMHhjMSwgMHg4MSwgMHhjMSwgMHgwOCwgMHhjMSwgMHgwMCwgMHhjMSwgMHgwNiwgMHgwMSwgMHgyMiwgMHgwMCwKLSAgMHgwMSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg4ZSwgMHgxOCwgMHg4ZiwgMHgxOSwgMHhlNSwgMHgxOSwgMHgxNSwgMHgxOSwgMHhhZSwgMHgxOCwgMHg3MCwgMHgwMiwKLSAgMHgxNSwgMHgxOCwgMHg0ZSwgMHg2MCwgMHgwOCwgMHgxMiwgMHgxNywgMHhmMywgMHgxMiwgMHgxNywgMHhmMywgMHg4MCwgMHhlYiwgMHgyMiwgMHhlNX19LAotIHsweDE4ODYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MDQsIDB4ZmYsIDB4NDQsIDB4MTAsIDB4OTAsIDB4N2YsCi0gIDB4ZDcsIDB4ZjAsIDB4ZWYsIDB4NDQsIDB4MzAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MGQsCi0gIDB4N2UsIDB4MDAsIDB4MTIsIDB4MTgsIDB4NmIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsCi0gIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLAotICAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDc4LCAweDQxLAotICAweDc0LCAweDA2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweGU0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwYSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwNCwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHgzNCwgMHgwMCwgMHgyZCwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg3NCwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywgMHgwMCwgMHgyMCwKLSAgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMH19LAotIHsweDFhMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MTcsIDB4ODQsIDB4MDAsIDB4MDIsIDB4MWJ9fSwKLSB7MHgxYjA2LCAyMSwgeyAweDA0LCAweDAwLCAweDAyLCAweDE3LCAweDMyLCAweDAwLCAweDAyLCAweDE3LCAweGFiLCAweDAwLCAweDAyLCAweDFiLCAweDEwLCAweDAwLCAweDAyLCAweDFiLCAweDE0LAotICAweDAwLCAweDAyLCAweDE1LCAweDg0fX0sCi0gezB4ZmZmZiwgMCwgezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d2xjX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdsY19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWYwNmEzLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d2xjX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NzYgKzAsMCBAQAotLyoga2V5c3Bhbl91c2E0OXdfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2E0OXdfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAzCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi1zdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU0OVtdID0KLQkiMDIvMTQvMjAwMiAgMDI6MzdwICAgICAgICAgICAgICAxOSwzNDcgVVNBNDkiOwotCi0KLQotc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNjVbXSA9Ci0JIjAxLzMxLzIwMDMgIDA5OjM0YSAgICAgICAgICAgICAgMTksMzMxIFVTQTY1IjsKLQotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2E0OXdsY19maXJtd2FyZVtdID0gewotIHsweDdmOTIsICAxLCB7IDB4MDF9fSwKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDE4LCAweGZifX0sCi0gezB4MDAzNiwgMTMsIHsgMHhlNSwgMHgxMSwgMHgwNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDYsIDE2LCB7IDB4ZTQsIDB4ZmYsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZTUsIDB4MTV9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDI0LCAweDA0LCAweGZkLCAweGU0LCAweDM1LCAweDE0LCAweGZhLCAweGE5LCAweDA1LCAweDdiLCAweDAxLCAweGVmLCAweDdjLCAweDAwLCAweDI5LCAweGY5fX0sCi0gezB4MDA2NiwgMTYsIHsgMHhlYywgMHgzYSwgMHhmYSwgMHhlZSwgMHgxMiwgMHgxMSwgMHhlYywgMHgwZiwgMHhiZiwgMHgyMiwgMHhkNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNSwgMHhmNX19LAotIHsweDAwNzYsIDE2LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDEsIDB4MzQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDl9fSwKLSB7MHgwMDg2LCAxNiwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLCAweGU1LCAweDE1LCAweDI0LCAweDBhLCAweGY1LCAweDgyfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxOCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNX19LAotIHsweDAwYTYsIDE2LCB7IDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4Y2YsIDB4ZjAsIDB4ODAsIDB4NDF9fSwKLSB7MHgwMGI2LCAxNiwgeyAweGU1LCAweDE1LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDAwLCAweDAzfX0sCi0gezB4MDBjNiwgMTYsIHsgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHhhYn19LAotIHsweDAwZDYsIDE2LCB7IDB4N2YsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTJ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE2LCAweDZiLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDMwfX0sCi0gezB4MDBmNiwgMTYsIHsgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMH19LAotIHsweDAwMDMsIDE2LCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzR9fSwKLSB7MHgwMDEzLCAxNiwgeyAweGYwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0fX0sCi0gezB4MDAyMywgMTYsIHsgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MWIsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDEwLCAweDkwfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgzMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwY319LAotIHsweDAxNDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NGYsIDB4ZTV9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDE1LCAweDI0LCAweDE3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMyLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LAotICAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGU0LCAweGZmLCAweGU1LCAweDE1LAotICAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweDEyLCAweDE2LCAweDZiLCAweGU1fX0sCi0gezB4MDFjNiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgwZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwZn19LAotIHsweDAyMDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4MGIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4M2IsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTR9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweGRiLCAweGU1LCAweDE1LCAweDI0LCAweDE0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDQ0LCAweGU1LCAweDE1LCAweDI0LCAweDE1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1fX0sCi0gezB4MDI4NiwgNjQsIHsgMHg4MywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHg0NCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNH19LAotIHsweDAyYzYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTYsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzUsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDE3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDMwLCAweGUwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1fX0sCi0gezB4MDM0NiwgNjQsIHsgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgxOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OH19LAotIHsweDAzODYsIDY0LCB7IDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4NmIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTR9fSwKLSB7MHgwM2M2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYxLCAweGYwLCAweDEyLCAweDAwLAotICAweDM2LCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDZiLCAweGU1LCAweDE1LAotICAweDI0LCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDJifX0sCi0gezB4MDQwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNX19LAotIHsweDA0NDYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MmIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4NzAsIDB4MGUsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MmEsIDB4OTAsIDB4NzgsIDB4NDEsCi0gIDB4NzQsIDB4ZjIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGVmLCAweDYwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI3LCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg2YiwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHhlNX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjcsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsCi0gIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDIwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDcwLCAweDBlLCAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDE4LCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDIxLCAweGY1LCAweDgyfX0sCi0gezB4MDU4NiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg2MCwgMHgxZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMH19LAotIHsweDA1YzYsIDY0LCB7IDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4MDMsIDB4MTIsIDB4MTgsIDB4N2EsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4NjAsIDB4MjMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDgsCi0gIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4YzQsIDB4NTQsIDB4ZjAsIDB4ZmYsIDB4NDIsIDB4MTEsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NGYsIDB4ZjB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDkwLCAweDc4LCAweDQxLCAweGUwLCAweDRmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDYwLCAweDI0LCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LAotICAweGY3LCAweGYwLCAweGU1LCAweDE2LCAweGM0LCAweDU0LCAweGYwLCAweGY0LCAweGZmLCAweDUyLCAweDExLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDVmLAotICAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweGUwLCAweDVmLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDExLCAweGZlfX0sCi0gezB4MDY0NiwgNjQsIHsgMHgwNywgMHg5OSwgMHgwMCwgMHgwOCwgMHgwZCwgMHgwMSwgMHgwOCwgMHg3OSwgMHgwMywgMHgwNiwgMHg2MiwgMHgwNiwgMHgwNywgMHg4YSwgMHgwOCwgMHgwNywgMHg3ZSwKLSAgMHgwOSwgMHgwNywgMHg2NiwgMHgwYSwgMHgwNywgMHg3NSwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwOCwgMHhjOCwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwKLSAgMHhmZSwgMHg2MCwgMHgxYywgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNywgMHgxNCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNywgMHg1YywKLSAgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZn19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MzAsCi0gIDB4ZTAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsCi0gIDB4NzUsIDB4ODIsIDB4NmQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsCi0gIDB4NWYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWF9fSwKLSB7MHgwNmM2LCA2NCwgeyAweGUwLCAweDMwLCAweGUxLCAweDA0LCAweDdmLCAweDY0LCAweDgwLCAweDAyLCAweDdmLCAweDMyLCAweDc1LCAweDgyLCAweDFhLCAweDc1LCAweDgzLCAweDE5LCAweGVmLAotICAweGYwLCAweDkwLCAweDdmLCAweGVmLCAweGUwLCAweGZlLCAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweDdjLCAweDAwLCAweDI0LCAweDAwLCAweGY1LCAweDE4LAotICAweGVjLCAweDNlLCAweGY1LCAweDE3LCAweDc1LCAweDMzLCAweDE5LCAweDc1LCAweDM0LCAweDEyLCAweDc1LCAweDgyLCAweDE0LCAweDc1LCAweDgzLCAweDE5LAotICAweGUwLCAweDc1LCAweDI3LCAweDAwLCAweGY1LCAweDI4LCAweGQzLCAweGU1LCAweDI4LCAweDk1LCAweDE4LCAweGU1LCAweDI3LCAweDk1LCAweDE3fX0sCi0gezB4MDcwNiwgNjQsIHsgMHg0MCwgMHgwNiwgMHg4NSwgMHgxNywgMHgyNywgMHg4NSwgMHgxOCwgMHgyOCwgMHgxMiwgMHgxMywgMHgwZCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNCwgMHg1ZiwgMHhlYSwgMHg0OSwgMHg2MCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHg3NSwgMHgxNywgMHgwMCwKLSAgMHhmNSwgMHgxOCwgMHhhZSwgMHgwMiwgMHhhZiwgMHgwMSwgMHg4ZSwgMHgzMywgMHg4ZiwgMHgzNCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmZSwKLSAgMHhhMywgMHhlMCwgMHg4ZSwgMHgyNywgMHhmNSwgMHgyOCwgMHhkMywgMHg5NSwgMHgxOCwgMHhlNSwgMHgyNywgMHg5NSwgMHgxNywgMHg0MCwgMHgwNn19LAotIHsweDA3NDYsIDY0LCB7IDB4ODUsIDB4MTcsIDB4MjcsIDB4ODUsIDB4MTgsIDB4MjgsIDB4MTIsIDB4MTMsIDB4MGQsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsCi0gIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjUsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjIsIDB4MTIsIDB4MGF9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGNlLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDIyLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLAotICAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLAotICAweDViLCAweGEyLCAweDAwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDA2LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLAotICAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweGU0fX0sCi0gezB4MDdjNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwKLSAgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwKLSAgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwKLSAgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhiNH19LAotIHsweDA4MDYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsCi0gIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MDAsIDB4MDIsIDB4MDgsCi0gIDB4Y2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsCi0gIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTR9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLAotICAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLAotICAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDgwLCAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwfX0sCi0gezB4MDg4NiwgNjQsIHsgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgwMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwKLSAgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMH19LAotIHsweDA4YzYsIDY0LCB7IDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsCi0gIDB4ZTUsIDB4MTIsIDB4NTQsIDB4MGYsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDksIDB4YzgsIDB4MTIsIDB4MTYsIDB4OWEsIDB4ZWYsIDB4MjAsIDB4ZTEsIDB4NzUsCi0gIDB4MTIsIDB4MTYsIDB4ZjgsIDB4ZWYsIDB4MTQsIDB4ZjUsIDB4MTgsIDB4MTIsIDB4MTgsIDB4YzUsIDB4ZWYsIDB4MjUsIDB4MTgsIDB4ZmYsIDB4ZTQsIDB4MzMsCi0gIDB4ZmUsIDB4YzMsIDB4ZWYsIDB4OTQsIDB4ODAsIDB4ZWUsIDB4NjQsIDB4ODAsIDB4OTQsIDB4ODAsIDB4NTAsIDB4NTksIDB4ODUsIDB4MTUsIDB4ODJ9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDg1LCAweDE0LCAweDgzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDMwLCAweGUwLCAweDExLCAweGU1LAotICAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDBmLAotICAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweGU1LAotICAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweGUyLCAweDEyLCAweGU1fX0sCi0gezB4MDk0NiwgNjQsIHsgMHgxOCwgMHg2MCwgMHgwZSwgMHhmNSwgMHgyMywgMHhlZiwgMHgyNCwgMHgwMSwgMHhmNSwgMHgyZCwgMHhlNCwgMHgzZSwgMHhmNSwgMHgyYywgMHgxMiwgMHgxNCwgMHhhMCwKLSAgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNCwgMHhkNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHgzMCwgMHhlNywgMHg1ZCwgMHgxMiwgMHgxOCwgMHhjNSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHhmZSwgMHhlZiwgMHhjMywgMHg5ZSwgMHg1MCwgMHg0OCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZiwgMHhmNSwgMHg4Mn19LAotIHsweDA5ODYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2IsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTAsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MjQsIDB4ODAsIDB4MDMsIDB4MTJ9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDEyLCAweDljLCAweDEyLCAweDE2LCAweGM5LCAweGVmLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDBhLCAweGNkLCAweDEyLCAweDE3LCAweGM3LCAweDhmLCAweDE4LAotICAweDEyLCAweDE4LCAweGQzLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLAotICAweGU1LCAweDE1LCAweDI0LCAweDM1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweGMzLAotICAweDlmLCAweDUwLCAweDI4LCAweDEyLCAweDE4LCAweGE5LCAweGVmLCAweDMwLCAweGUwLCAweDIxLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1fX0sCi0gezB4MGEwNiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHhlNywgMHgxMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwYSwgMHhjZCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlNSwgMHgxOCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwYSwKLSAgMHhjZCwgMHhiNCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4M319LAotIHsweDBhNDYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsCi0gIDB4MzAsIDB4ZTcsIDB4MjksIDB4ZTUsIDB4MTgsIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTgsIDB4MjAsIDB4ODUsIDB4MTgsIDB4MjMsCi0gIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4OGMsIDB4MmMsIDB4ZjUsIDB4MmQsCi0gIDB4MTIsIDB4MTMsIDB4Y2YsIDB4ZTUsIDB4MTgsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4MGQsIDB4MjIsIDB4ZTUsIDB4MTgsIDB4ZDN9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDE4LCAweDNmLCAweDg1LCAweDE4LCAweDIzLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLAotICAweGEzLCAweGUwLCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLAotICAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDI0LCAweDAxLCAweGY1LCAweDJkLCAweGU0LCAweDNlLCAweGY1LCAweDJjLCAweDEyLCAweDE0LCAweDFkfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlNSwgMHgxOCwgMHgwNCwgMHhmZiwgMHgxMiwgMHgxNSwgMHgwZCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwKLSAgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0YSwgMHgwNCwgMHhmMCwKLSAgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgyZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MywgMHg3NCwgMHhmNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMH19LAotIHsweDBiMDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4OWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsCi0gIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmUsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MGYsIDB4MjgsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmUsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDQwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLAotICAweDc0LCAweDdlLCAweGYwLCAweGEzLCAweDc0LCAweDQwLCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LAotICAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdlLCAweGYwLCAweGEzLCAweDc0LCAweDgwLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LAotICAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweDEyLCAweDBmfX0sCi0gezB4MGI4NiwgNjQsIHsgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwKLSAgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwKLSAgMHhjMCwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHgwMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NH19LAotIHsweDBiYzYsIDY0LCB7IDB4N2UsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmIsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MGYsIDB4MjgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsCi0gIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmIsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2Z9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDQwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweDQwLCAweGYwLCAweDdlLCAweDdkLCAweDdmLAotICAweDgwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweDgwLCAweGYwLAotICAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLAotICAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDBmLCAweDI4LCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1fX0sCi0gezB4MGM0NiwgNjQsIHsgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwKLSAgMHg4MywgMHg3NCwgMHg3YywgMHhmMCwgMHhhMywgMHg3NCwgMHhjMCwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHgwMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwKLSAgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMCwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwOX19LAotIHsweDBjODYsIDY0LCB7IDB4ZTQsIDB4ZjUsIDB4MTEsIDB4ZDIsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MTAsIDB4MDQsIDB4NTQsIDB4MDMsIDB4ZjUsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MWYsIDB4MTQsCi0gIDB4NjAsIDB4MzEsIDB4MTQsIDB4NjAsIDB4NDMsIDB4MjQsIDB4MDMsIDB4NzAsIDB4NTIsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsCi0gIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmUsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4ODAsIDB4M2QsIDB4N2UsIDB4N2MsCi0gIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzV9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDE2LCAweDAyLCAweDgwLCAweDI4LCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDJiLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDgwLCAweDEzLCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LAotICAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweGU1LCAweDMyLCAweDU1LCAweDE2LCAweDcwLAotICAweDAzLCAweDAyLCAweDBlLCAweDI3LCAweGU1LCAweDE2LCAweGY0LCAweDUyLCAweDMyLCAweGU1LCAweDI2LCAweDU0LCAweDdmLCAweGZmLCAweDcwfX0sCi0gezB4MGQwNiwgNjQsIHsgMHgxNywgMHhlNSwgMHgyYSwgMHg1NSwgMHgxNiwgMHg2MCwgMHgzNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHhmZSwgMHhlNSwgMHgxNiwgMHhjNCwgMHg1NCwgMHhmMCwKLSAgMHhmNCwgMHhmZCwgMHhlZSwgMHg1ZCwgMHhmMCwgMHg4MCwgMHgyMywgMHhiZiwgMHgyMCwgMHgyMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMywgMHgxMSwgMHhlNCwgMHhmNSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwKLSAgMHhmZiwgMHhlNSwgMHgxNiwgMHhjNCwgMHg1NCwgMHhmMCwgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsCi0gIDB4MGUsIDB4MjcsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZmYsIDB4ZjUsIDB4MTgsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NmYsIDB4NjAsIDB4MDcsIDB4ZTUsIDB4MTh9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweDEyLCAweDE4LCAweGUxLCAweDhmLCAweDE4LCAweGU1LCAweDE1LCAweDI0LCAweDI3LCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDU0LCAweDEwLCAweGZlLCAweDZmLCAweDYwLCAweDA2LCAweGVlLCAweGYwLAotICAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDI4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLAotICAweGZmLCAweGU1LCAweDE4LCAweDU0LCAweDgwLCAweGZlLCAweDZmLCAweDYwLCAweDA2LCAweGVlLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzfX0sCi0gezB4MGRjNiwgNjQsIHsgMHhlNSwgMHgxNSwgMHgyNCwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg1NCwgMHgyMCwKLSAgMHhmZSwgMHg2ZiwgMHg2MCwgMHgxNSwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHgzMCwgMHhlNCwgMHgwNCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyYSwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg1NCwgMHg0MCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgxNSwgMHhlZX19LAotIHsweDBlMDYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTUsIDB4MDQsIDB4ZTUsCi0gIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsCi0gIDB4MjIsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MGYsIDB4MjcsIDB4ZTUsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MmEsIDB4MTQsIDB4NjAsIDB4NDEsIDB4MTQsCi0gIDB4NjAsIDB4NTgsIDB4MTQsIDB4NjAsIDB4NmYsIDB4MjQsIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGUsIDB4ZTUsIDB4N2UsIDB4N2IsIDB4N2Z9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJlLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLAotICAweDEyLCAweDljLCAweDc1LCAweDI0LCAweDAxLCAweDIyLCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweDEyLCAweDEyLCAweDljLCAweDc1LCAweDI0LCAweDAyLCAweDIyLAotICAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJifX0sCi0gezB4MGU4NiwgNjQsIHsgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgxMiwgMHg5YywgMHg3NSwgMHgyNCwgMHgwMywgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgxMiwgMHg5YywKLSAgMHg3NSwgMHgyNCwgMHgwNCwgMHgyMiwgMHgzMCwgMHgwNCwgMHgzMywgMHhjMiwgMHgwNCwgMHg1MywgMHgxMywgMHhkZiwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3ZSwKLSAgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgxMSwgMHhhNn19LAotIHsweDBlYzYsIDY0LCB7IDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsCi0gIDB4MTgsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4NzUsIDB4MjQsIDB4MDUsIDB4MjIsIDB4ZTUsIDB4MzYsCi0gIDB4NjAsIDB4M2IsIDB4ZDUsIDB4MzYsIDB4MGEsIDB4NTMsIDB4MTMsIDB4ZWYsIDB4MzAsIDB4MGEsIDB4MDQsIDB4ZDIsIDB4MDksIDB4YzIsIDB4MGEsIDB4ZTQsCi0gIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MzUsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmF9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDEyLCAweDExLCAweGE2LCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLAotICAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDI0LAotICAweDIyLCAweGU0LCAweGY1LCAweDE5LCAweDdlLCAweDAwLCAweDdiLCAweDAxLCAweGU1LCAweDE1LCAweDI1LCAweDE5LCAweGY5LCAweGVlLCAweDM1LCAweDE0LAotICAweGZhLCAweGU0LCAweDEyLCAweDExLCAweGVjLCAweDA1LCAweDE5LCAweGU1LCAweDE5LCAweGI0LCAweDNjLCAweGU4LCAweGU1LCAweDE1LCAweDI0fX0sCi0gezB4MGY0NiwgNjQsIHsgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwgMHg3ZiwgMHgxMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgxMiwgMHgxNSwgMHhkYiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NH19LAotIHsweDBmODYsIDY0LCB7IDB4ZjIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsCi0gIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MGYsIDB4ZTQsCi0gIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTR9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVlLCAweGYwLCAweGZkLCAweDEyLCAweDE2LCAweDZiLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYxLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDE2LCAweDZiLCAweDdmLCAweDAxLCAweDEyLCAweDE1LCAweDQzLAotICAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDE2LCAweDZiLCAweDIyLCAweDUzLCAweDEzLCAweDNmLCAweDkwLCAweDdiLCAweGYxLCAweGUwLCAweDMwLAotICAweGUzLCAweDE2LCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MTAwNiwgNjQsIHsgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwOCwgMHhkNywgMHg5MCwgMHg3YywgMHgzMSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwKLSAgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NSwKLSAgMHgxNiwgMHgwMiwgMHgxMiwgMHgwOCwgMHhkNywgMHg5MCwgMHg3YywgMHg3MSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwKLSAgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNH19LAotIHsweDEwNDYsIDY0LCB7IDB4MTIsIDB4MDgsIDB4ZDcsIDB4OTAsIDB4N2MsIDB4YjEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsCi0gIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MDgsIDB4ZDcsIDB4MDUsCi0gIDB4MTIsIDB4ZTUsIDB4MTIsIDB4NTQsIDB4MGYsIDB4ZjUsIDB4MTcsIDB4NzAsIDB4MDQsIDB4MTIsIDB4MTEsIDB4MWMsIDB4MjIsIDB4ZTUsIDB4MTcsIDB4YjQsCi0gIDB4MDEsIDB4MDQsIDB4MTIsIDB4MGMsIDB4OGMsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MDgsIDB4ZTUsIDB4MTN9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDYwLCAweDA0LCAweDEyLCAweDBlLCAweDI4LCAweDIyLCAweDEyLCAweDBjLCAweDhjLCAweDIyLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LAotICAweDgxLCAweDM3LCAweDAyLCAweDEwLCAweGQ3LCAweDAyLCAweDEyLCAweDI0LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLAotICAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LAotICAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0fX0sCi0gezB4MTBjNiwgNjQsIHsgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwKLSAgMHg5MCwgMHgxOCwgMHg0NSwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwKLSAgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwKLSAgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNX19LAotIHsweDExMDYsIDY0LCB7IDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsCi0gIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MTEsIDB4YTUsIDB4YzIsCi0gIDB4MDksIDB4OTAsIDB4N2IsIDB4NDAsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MjYsIDB4MTQsIDB4NjAsIDB4M2IsIDB4MTQsIDB4NjAsIDB4NTAsIDB4MjQsIDB4ODMsCi0gIDB4NjAsIDB4NjQsIDB4MjQsIDB4ODAsIDB4NzAsIDB4NjMsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTV9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweGMwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJlLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDRiLCAweDdlLCAweDdjLAotICAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLCAweDc1LCAweDE2LAotICAweDAyLCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDMzLCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJiLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDFiLCAweDdlfX0sCi0gezB4MTE4NiwgNjQsIHsgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwgMHg3NSwgMHgxNiwKLSAgMHgwOCwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgwMywgMHgxMiwgMHgxNywgMHg1MSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHgyMiwgMHhiYiwKLSAgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywKLSAgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNX19LAotIHsweDExYzYsIDY0LCB7IDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsCi0gIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsCi0gIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsCi0gIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLAotICAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDkwLCAweDdmLCAweGFlLAotICAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDAwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLAotICAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmfX0sCi0gezB4MTI0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHg3NCwgMHgwMSwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHg3NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHgwYiwgMHgxMiwgMHgxOCwgMHgwOSwgMHhjMiwgMHgwMSwKLSAgMHhlNCwgMHhmNSwgMHgyYiwgMHhmNSwgMHgzMSwgMHhjMiwgMHgwNywgMHhjMiwgMHgwMiwgMHg3NSwgMHgyOSwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwKLSAgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNiwgMHg3NSwgMHgzMiwgMHgwZiwgMHhlMCwgMHhmNSwgMHgyNiwgMHgzMCwgMHgwMiwgMHgwMywgMHgxMiwgMHgwZn19LAotIHsweDEyODYsIDY0LCB7IDB4ZWYsIDB4MzAsIDB4MDEsIDB4MDcsIDB4YzIsIDB4MDEsIDB4MTIsIDB4MDYsIDB4M2YsIDB4ODAsIDB4ZTIsIDB4MzAsIDB4MDgsIDB4ZGYsIDB4YzIsIDB4MDgsIDB4MTIsCi0gIDB4MTgsIDB4MmEsIDB4ODAsIDB4ZDgsIDB4MjIsIDB4ZTUsIDB4MTMsIDB4NTUsIDB4MTYsIDB4NjAsIDB4NmEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4NWMsIDB4ZTUsIDB4MTYsIDB4ZjQsIDB4NTIsIDB4MTMsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MjYsIDB4ZmYsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZmUsIDB4ZTQsIDB4ZmQsIDB4MGYsIDB4ZWYsIDB4YWEsIDB4MDYsIDB4NzAsIDB4MDF9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDBlLCAweDE0LCAweGY1LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweGZjLCAweDc0LCAweDgwLCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LAotICAweDgzLCAweGVjLCAweGYwLCAweDBkLCAweGJkLCAweDBiLCAweGUyLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDEwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDJlLCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDJmLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MTMwNiwgNjQsIHsgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHgyMiwgMHhlNSwgMHgyOCwgMHg0NSwgMHgyNywgMHg2MCwgMHg1NywgMHhhZSwgMHgyNywgMHhhZiwgMHgyOCwKLSAgMHhkMywgMHhlZiwgMHg5NCwgMHg0MCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHg0MCwgMHhjMywgMHhlNSwgMHgyOCwKLSAgMHg5ZiwgMHhmNSwgMHgyOCwgMHhlNSwgMHgyNywgMHg5ZSwgMHhmNSwgMHgyNywgMHhlNCwgMHhmZCwgMHhlZCwgMHhjMywgMHg5ZiwgMHhlNCwgMHg5ZSwgMHg1MCwKLSAgMHgxZiwgMHg4NSwgMHgzNCwgMHg4MiwgMHg4NSwgMHgzMywgMHg4MywgMHhlMCwgMHhmYywgMHg3NCwgMHgwMCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDEzNDYsIDY0LCB7IDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4MGQsIDB4MDUsIDB4MzQsIDB4ZTUsIDB4MzQsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzMsIDB4ODAsIDB4ZGEsCi0gIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsCi0gIDB4ZWYsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NGEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjB9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweDdmLAotICAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGZmLCAweGYwLCAweDMwLCAweDAwLCAweDA3LCAweGU1LCAweDI5LCAweDU0LCAweDBmLCAweGZmLAotICAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDFmLCAweGYwLCAweGU0LAotICAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweGRmfX0sCi0gezB4MTNjNiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHgyMiwgMHg4ZiwgMHgxOSwgMHgwNSwgMHgyZCwgMHhlNSwgMHgyZCwgMHhhZSwgMHgyYywKLSAgMHg3MCwgMHgwMiwgMHgwNSwgMHgyYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxOSwgMHhmMCwgMHgxMiwgMHgxOCwgMHhlZiwgMHgwNSwKLSAgMHgyZCwgMHhlNSwgMHgyZCwgMHhhYywgMHgyYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgyYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwKLSAgMHgxNSwgMHgyMywgMHhlNSwgMHgyMywgMHg2MCwgMHgxZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNH19LAotIHsweDE0MDYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZTAsIDB4ZmUsIDB4MTIsIDB4MTgsIDB4ZDMsIDB4OGYsIDB4MTksIDB4ZWUsIDB4NGYsIDB4ZDAsIDB4ODIsCi0gIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4ODAsIDB4YjUsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NGYsIDB4NzQsCi0gIDB4YzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTAsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4OTAsIDB4NzgsIDB4NTEsIDB4ZjAsIDB4YWUsIDB4MmMsIDB4ZTUsCi0gIDB4MmQsIDB4OTAsIDB4NzgsIDB4NTIsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTQsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTcsIDB4NzR9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDU1LAotICAweGYwLCAweDkwLCAweDc4LCAweDU1LCAweGUwLCAweDYwLCAweGZhLCAweDIyLCAweDhmLCAweDE5LCAweGU0LCAweGY1LCAweDFhLCAweDc1LCAweDFiLCAweGZmLAotICAweDc1LCAweDFjLCAweDE5LCAweDc1LCAweDFkLCAweDg2LCAweGFiLCAweDFiLCAweGFhLCAweDFjLCAweGE5LCAweDFkLCAweDkwLCAweDAwLCAweDAxLCAweDEyLAotICAweDExLCAweGJmLCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDFhLCAweDA1LCAweDFhLCAweGVmLCAweGI1LCAweDE5LCAweDAxLCAweDIyLCAweDEyfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgxMSwgMHhhNiwgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYiwgMHhmZiwgMHhmNSwgMHgxYywgMHg4OSwgMHgxZCwKLSAgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlNSwgMHgxMSwgMHhmMCwgMHhlNSwKLSAgMHgyYywgMHg5MCwgMHg3OCwgMHg0ZiwgMHhmMCwgMHhhZSwgMHgyYywgMHhlNSwgMHgyZCwgMHg5MCwgMHg3OCwgMHg1MCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1MSwKLSAgMHg3NCwgMHhjMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg1MiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NCwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MH19LAotIHsweDE0YzYsIDY0LCB7IDB4NzgsIDB4NTcsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTUsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTUsIDB4ZTAsIDB4NjAsIDB4ZmEsIDB4MjIsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGYsIDB4MTQsCi0gIDB4NjAsIDB4MTMsIDB4MTQsIDB4NjAsIDB4MTcsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4OTAsIDB4N2YsCi0gIDB4YzksIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDUsIDB4OTAsIDB4N2YsIDB4Y2R9fSwKLSB7MHgxNTA2LCA2NCwgeyAweGVmLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDJhLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBmLCAweDE0LCAweDYwLCAweDEzLCAweDE0LCAweDYwLCAweDE3LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGI3LAotICAweGVmLCAweGYwLCAweDgwLCAweDEzLCAweDkwLCAweDdmLCAweGI5LCAweGVmLCAweGYwLCAweDgwLCAweDBjLCAweDkwLCAweDdmLCAweGJiLCAweGVmLCAweGYwLAotICAweDgwLCAweDA1LCAweDkwLCAweDdmLCAweGJkLCAweGVmLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDJhLCAweDIyLCAweGFlLCAweDA3LCAweGU0fX0sCi0gezB4MTU0NiwgNjQsIHsgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwKLSAgMHgxNiwgMHg2YiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwKLSAgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4Nn19LAotIHsweDE1ODYsIDY0LCB7IDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4MTIsIDB4MTMsIDB4MGQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzR9fSwKLSB7MHgxNWM2LCA2NCwgeyAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLAotICAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmfX0sCi0gezB4MTYwNiwgNjQsIHsgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywKLSAgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZn19LAotIHsweDE2NDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsCi0gIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDF9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDc0LCAweGY3LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGVkLCAweGYwLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LAotICAweDYwLCAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LCAweDYwLCAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNjfX0sCi0gezB4MTZjNiwgNjQsIHsgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwKLSAgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwgMHgxNCwgMHg2MCwgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHhiOCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHhmZiwKLSAgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MH19LAotIHsweDE3MDYsIDY0LCB7IDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsIDB4MTQsIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4YzksIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsCi0gIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODZ9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdiLCAweDQxLCAweGUwLCAweGY1LCAweDM2LAotICAweDQzLCAweDEzLCAweDEwLCAweGEzLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLAotICAweDkwLCAweDdiLCAweDQzLCAweGUwLCAweGY1LCAweDM3LCAweGEzLCAweGUwLCAweDU0LCAweGYwLCAweGY1LCAweDI5LCAweGUwLCAweDYwLCAweDAyLCAweGQyLAotICAweDBhLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1fX0sCi0gezB4MTc4NiwgNjQsIHsgMHg4NiwgMHgwMCwgMHhkMiwgMHgwMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwKLSAgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwKLSAgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MzIsIDB4MTIsIDB4MTgsIDB4YjcsIDB4YWUsIDB4MDcsIDB4MTIsIDB4MTgsIDB4YjcsIDB4YWQsIDB4MDcsIDB4ZWUsIDB4NmQsIDB4NjAsIDB4MTAsIDB4MTIsIDB4MTgsCi0gIDB4YjcsIDB4YWUsIDB4MDcsIDB4ZWUsIDB4NmQsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTgsIDB4YjcsIDB4YWQsIDB4MDcsIDB4ODAsIDB4ZWMsIDB4YWYsIDB4MDYsCi0gIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsCi0gIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDBiLCAweDA0LAotICAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDE4LCAweDYwLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LAotICAweGY3LCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDc3LCAweDEyLCAweDE3LCAweGY5LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDBhLAotICAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDE4LCAweDYwLCAweDEyLCAweDE4LCAweDkzLCAweDEyLCAweDBhLCAweGNlLCAweDIyLCAweDAzfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgzNSwgMHg4MCwgMHgwMCwgMHgwMCwgMHgwMywgMHgyZSwgMHg4MSwgMHgwMCwgMHgwMCwgMHhjMSwgMHg4NSwgMHhjMSwgMHg4MSwgMHhjMSwgMHgwOCwgMHhjMSwgMHgwMCwKLSAgMHhjMSwgMHgwNiwgMHgwMSwgMHgyMiwgMHgwMCwgMHgwMSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg4ZSwgMHgxNywgMHg4ZiwgMHgxOCwgMHhlNSwgMHgxOCwgMHgxNSwKLSAgMHgxOCwgMHhhZSwgMHgxNywgMHg3MCwgMHgwMiwgMHgxNSwgMHgxNywgMHg0ZSwgMHg2MCwgMHgwOCwgMHgxMiwgMHgxNywgMHhlOCwgMHgxMiwgMHgxNywgMHhlOCwKLSAgMHg4MCwgMHhlYiwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDQsIDB4ZmYsIDB4NDQsIDB4MTAsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZWYsIDB4NDQsIDB4MzAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MGQsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MTgsIDB4NjAsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmUsCi0gIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MTEsIDB4MjQsIDB4MDIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4ZTUsIDB4MTEsIDB4MjQsIDB4MDMsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTV9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDExLCAweDI0LCAweDA0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweGU1LCAweDExLCAweDI0LCAweDA1LAotICAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweGU1LCAweDExLCAweDI0LCAweDA2LCAweDkwLCAweDc4LAotICAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweGU1LCAweDExLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweGZmfX0sCi0gezB4MTkwNiwgNjQsIHsgMHhmZiwgMHg0MCwgMHhjZCwgMHgwNiwgMHgyYSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwNCwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgyNCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MSwgMHgwMCwgMHgyZCwgMHgwMCwgMHgzNCwgMHgwMCwgMHgzOSwgMHgwMCwgMHg1NywgMHgwMCwgMHg0YywgMHgwMCwgMHg0MywgMHgwMCwgMHgyMiwKLSAgMHgwMywgMHg1NSwgMHgwMCwgMHg1MywgMHgwMCwgMHg0MSwgMHgwMCwgMHgyZCwgMHgwMCwgMHgzNiwgMHgwMCwgMHgzNSwgMHgwMCwgMHgyMCwgMHgwMH19LAotIHsweDFhMDYsIDY0LCB7IDB4MzIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzMsIDB4MDAsIDB4NmEsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MzEsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MTcsIDB4NzksIDB4MDAsIDB4MDIsIDB4MWJ9fSwKLSB7MHgxYjA2LCAyMSwgeyAweDA0LCAweDAwLCAweDAyLCAweDE3LCAweDI3LCAweDAwLCAweDAyLCAweDE3LCAweGEwLCAweDAwLCAweDAyLCAweDFiLCAweDEwLCAweDAwLCAweDAyLCAweDFiLCAweDE0LAotICAweDAwLCAweDAyLCAweDE1LCAweDc4fX0sCi0gezB4ZmZmZiwgIDAsIHsgMHgwMH19LAotfTsKLQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfMzQxMC5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzM0MTAuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFlODg1Ny4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfMzQxMC5oCisrKyAvZGV2L251bGwKQEAgLTEsODg1ICswLDAgQEAKLS8qIHZpOiB0cz04IHN3PTgKLSAqCi0gKiBUSSAzNDEwIFVTQiBTZXJpYWwgRHJpdmVyIEZpcm13YXJlIEhlYWRlcgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwNCBUZXhhcyBJbnN0cnVtZW50cwotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKi8KLQotI2lmbmRlZiBfVElfRldfMzQxMF9IXwotI2RlZmluZSBfVElfRldfMzQxMF9IXwotCi0vKiBmaXJtd2FyZSA5LzEwLzA0IEZXMzQxMF9TcGVjaWFsX1N0YXJ0V2RvZ09uU3RhcnRQb3J0ICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHRpX2Z3XzM0MTBbXSA9IHsKLTB4QzIsIDB4MzUsCS8qIGZpcm13YXJlIGltYWdlIGxlbmd0aCBleGNsdWRpbmcgaGVhZGVyLCBsaXR0bGUgZW5kaWFuICovCi0weDAwLCAJCS8qIHBsYWNlaG9sZGVyIGZvciBjaGVja3N1bSAqLwotCi0weDAyLDB4MDAsMHgxZSwweDAyLDB4MWEsMHhkYiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMiwweDMyLDB4Y2IsMHhmZiwweGZmLAotMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHgzMywweDc2LDB4NzUsMHg4MSwKLTB4Y2UsMHg5MCwweGZkLDB4ZTgsMHg4NSwweDgzLDB4YTAsMHgxMiwweDM0LDB4ZWEsMHhlYywweDRkLDB4NjAsMHg2YSwweDc4LDB4YWIsCi0weDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwweDljLDB4ZmEsMHg3OCwweDdmLDB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LAotMHg2NSwweGZhLDB4NzgsMHgyMCwweDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwweDIwLDB4ZmEsMHg5MCwweGZkLDB4ZGQsMHhhZSwKLTB4ODMsMHhhZiwweDgyLDB4OTAsMHhmYiwweGY4LDB4MTIsMHgwMCwweGExLDB4NjAsMHgwNSwweGU0LDB4ZjAsMHhhMywweDgwLDB4ZjYsCi0weDkwLDB4ZmQsMHhlOCwweGE4LDB4ODIsMHg5MCwweGZkLDB4ZTgsMHhhOSwweDgyLDB4ZTgsMHhjMywweDk5LDB4NTAsMHgwNSwweDc2LAotMHgwMCwweDA4LDB4ODAsMHhmNiwweDkwLDB4MDAsMHhmZiwweDEyLDB4MDAsMHhhYSwweDkwLDB4MDEsMHgwMywweDEyLDB4MDAsMHhhYSwKLTB4OTAsMHgwMSwweDA3LDB4MTIsMHgwMCwweGFhLDB4OTAsMHgwMSwweDBiLDB4MTIsMHgwMCwweGM4LDB4OTAsMHgwMSwweDExLDB4MTIsCi0weDAwLDB4YzgsMHg5MCwweDAxLDB4MTcsMHgxMiwweDAwLDB4YzgsMHg3NSwweGQwLDB4MDAsMHgxMiwweDMzLDB4YzgsMHgwMiwweDAxLAotMHgxZCwweGVmLDB4NjUsMHg4MiwweDcwLDB4MDMsMHhlZSwweDY1LDB4ODMsMHgyMiwweGU0LDB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywKLTB4ZjksMHg3NCwweDAyLDB4OTMsMHhmZSwweDc0LDB4MDMsMHg5MywweGY1LDB4ODIsMHg4ZSwweDgzLDB4ZTgsMHg2OSwweDcwLDB4MDEsCi0weDIyLDB4ZTQsMHg5MywweGY2LDB4YTMsMHgwOCwweDgwLDB4ZjQsMHhlNCwweDkzLDB4ZmMsMHg3NCwweDAxLDB4OTMsMHhmZCwweDc0LAotMHgwMiwweDkzLDB4ZmUsMHg3NCwweDAzLDB4OTMsMHhmZiwweDc0LDB4MDQsMHg5MywweGY4LDB4NzQsMHgwNSwweDkzLDB4ZjUsMHg4MiwKLTB4ODgsMHg4MywweDEyLDB4MDAsMHhhMSwweDcwLDB4MDEsMHgyMiwweGU0LDB4OTMsMHhhMywweGE4LDB4ODMsMHhhOSwweDgyLDB4OGMsCi0weDgzLDB4OGQsMHg4MiwweGYwLDB4YTMsMHhhYywweDgzLDB4YWQsMHg4MiwweDg4LDB4ODMsMHg4OSwweDgyLDB4ODAsMHhlMywweDIxLAotMHgyMSwweDA0LDB4OTIsMHg4MCwweDgwLDB4MDQsMHg5MiwweGFjLDB4YWUsMHgwNCwweDkyLDB4ZmQsMHhlOCwweDA0LDB4OTQsMHgwNCwKLTB4OTQsMHhmYiwweGYzLDB4MDQsMHg5OSwweDA0LDB4OTQsMHhmYiwweGYzLDB4MDQsMHhmOSwweDA0LDB4ZjksMHg4MCwweGZlLDB4ZDAsCi0weGYwLDB4MzAsMHhmMCwweDA5LDB4MjAsMHhmMywweDAzLDB4ZjYsMHg4MCwweDEwLDB4ZjcsMHg4MCwweDBkLDB4MzAsMHhmMSwweDA5LAotMHgyMCwweGYzLDB4MDMsMHhmMiwweDgwLDB4MDQsMHhmMywweDgwLDB4MDEsMHhmMCwweDIwLDB4ZjQsMHgwNCwweGZjLDB4ZDAsMHhlMCwKLTB4Y2MsMHgyMiwweGNjLDB4YzAsMHhlMCwweDEyLDB4MDEsMHg1YSwweDAyLDB4MDEsMHg0YiwweGJjLDB4MDAsMHgwNSwweGQwLDB4ZjAsCi0weGFjLDB4ZjAsMHgyMiwweGMzLDB4MTMsMHhkYywweGZjLDB4MDIsMHgwMSwweDIxLDB4YmYsMHgwMCwweDA5LDB4ZWQsMHgyNSwweDgyLAotMHg3NSwweGYwLDB4MDEsMHhmOCwweGU2LDB4MjIsMHhiZiwweDAxLDB4MGYsMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwKLTB4ODMsMHhmNSwweDgzLDB4NzUsMHhmMCwweDA0LDB4ZTAsMHgyMiwweGVkLDB4MjUsMHg4MiwweDc1LDB4ZjAsMHgwMiwweGY4LDB4ZTIsCi0weDIyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhmNSwweGYwLDB4YzMsMHhlNCwweDkzLDB4YTMsMHhjNSwweGYwLDB4OTUsMHhmMCwweGMwLAotMHhlMCwweGMzLDB4ZDAsMHhmMCwweGU0LDB4OTMsMHhhMywweDk1LDB4ZjAsMHg0MCwweDEyLDB4YTMsMHhhMywweGMzLDB4ZTUsMHhmMCwKLTB4MzMsMHg1MCwweDAyLDB4MDUsMHg4MywweDI1LDB4ODIsMHhmNSwweDgyLDB4NTAsMHgwMiwweDA1LDB4ODMsMHg3NCwweDAxLDB4OTMsCi0weGMwLDB4ZTAsMHhlNCwweDkzLDB4YzAsMHhlMCwweDIyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhmNSwweGYwLDB4ZTQsMHg5MywweDcwLAotMHgwOSwweDc0LDB4MDEsMHg5MywweDcwLDB4MDQsMHhhMywweGEzLDB4ODAsMHgwYywweDc0LDB4MDIsMHg5MywweDY1LDB4ZjAsMHg2MCwKLTB4MDUsMHhhMywweGEzLDB4YTMsMHg4MCwweGU3LDB4NzQsMHgwMSwweDkzLDB4YzAsMHhlMCwweGU0LDB4OTMsMHhjMCwweGUwLDB4MjIsCi0weDEyLDB4MDIsMHg1YiwweDAyLDB4MDEsMHhmMiwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDEsMHhmMiwweDEyLDB4MDIsMHhkMywweDAyLAotMHgwMSwweGYyLDB4MzAsMHhlMCwweDA3LDB4MjAsMHhlMywweDAyLDB4ZTYsMHgyMiwweGU3LDB4MjIsMHgzMCwweGUxLDB4MDcsMHgyMCwKLTB4ZTMsMHgwMiwweGUyLDB4MjIsMHhlMywweDIyLDB4MzAsMHhlMiwweDAyLDB4ZTAsMHgyMiwweGU0LDB4OTMsMHgyMiwweDEyLDB4MDIsCi0weGQzLDB4MDIsMHgwMiwweDFhLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMiwweDFhLDB4YWIsMHhmMCwweDEyLDB4MDIsMHgyNCwweGNiLAotMHhjNSwweGYwLDB4Y2IsMHgyMiwweDMwLDB4ZTAsMHgxMCwweDIwLDB4ZTMsMHgwNiwweGU2LDB4ZjUsMHhmMCwweDA4LDB4ZTYsMHgyMiwKLTB4ZTcsMHhmNSwweGYwLDB4MDksMHhlNywweDE5LDB4MjIsMHgzMCwweGUxLDB4MTAsMHgyMCwweGUzLDB4MDYsMHhlMiwweGY1LDB4ZjAsCi0weDA4LDB4ZTIsMHgyMiwweGUzLDB4ZjUsMHhmMCwweDA5LDB4ZTMsMHgxOSwweDIyLDB4MzAsMHhlMiwweDA2LDB4ZTAsMHhmNSwweGYwLAotMHhhMywweGUwLDB4MjIsMHhlNCwweDkzLDB4ZjUsMHhmMCwweDc0LDB4MDEsMHg5MywweDIyLDB4YmIsMHgwMCwweDAzLDB4NzQsMHgwOSwKLTB4MjIsMHhiYiwweDAxLDB4MDcsMHg4OSwweDgyLDB4OGEsMHg4MywweDc0LDB4MDQsMHgyMiwweGJiLDB4MDIsMHgwNywweDg5LDB4ODIsCi0weDhhLDB4ODMsMHg3NCwweDEwLDB4MjIsMHg3NCwweDBhLDB4MjIsMHgwMiwweDAyLDB4N2IsMHhiYiwweDAwLDB4MDcsMHhlOSwweDI1LAotMHg4MiwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmIsMHgwMSwweDBkLDB4ZTksMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVhLDB4MzUsMHg4MywKLTB4ZjUsMHg4MywweDc0LDB4MDQsMHgyMiwweGJiLDB4MDIsMHgwZCwweGU5LDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlYSwweDM1LDB4ODMsCi0weGY1LDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlOSwweDI1LDB4ODIsMHhmOCwweDc0LDB4MDIsMHgyMiwweDAyLDB4MDIsMHhhZiwweGJmLAotMHgwMCwweDA1LDB4ZWQsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJmLDB4MDEsMHgwNywweDhkLDB4ODIsMHg4ZSwweDgzLDB4NzQsMHgwNCwKLTB4MjIsMHhiZiwweDAyLDB4MDcsMHg4ZCwweDgyLDB4OGUsMHg4MywweDc0LDB4MTAsMHgyMiwweGVkLDB4ZjgsMHg3NCwweDAyLDB4MjIsCi0weDAyLDB4MDIsMHhkMywweGJmLDB4MDAsMHgwNywweGVkLDB4MjUsMHg4MiwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmYsMHgwMSwweDBkLAotMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwweDgzLDB4ZjUsMHg4MywweDc0LDB4MDQsMHgyMiwweGJmLDB4MDIsMHgwZCwKLTB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsMHg4MywweGY1LDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlZCwweDI1LDB4ODIsCi0weGY4LDB4NzQsMHgwMiwweDIyLDB4MDIsMHgwMywweDA3LDB4YzAsMHhlMCwweDEyLDB4MDIsMHg1YiwweDAyLDB4MDMsMHgxZiwweGMwLAotMHhlMCwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDMsMHgxZiwweGMwLDB4ZTAsMHgxMiwweDAyLDB4ZDMsMHgwMiwweDAzLDB4MWYsMHgzMCwKLTB4ZTAsMHgwYiwweDIwLDB4ZTMsMHgwNCwweGQwLDB4ZTAsMHhmNiwweDIyLDB4ZDAsMHhlMCwweGY3LDB4MjIsMHgzMCwweGUxLDB4MGIsCi0weDIwLDB4ZTMsMHgwNCwweGQwLDB4ZTAsMHhmMiwweDIyLDB4ZDAsMHhlMCwweGYzLDB4MjIsMHhkMCwweGUwLDB4ZjAsMHgyMiwweGM5LAotMHhjZCwweGM5LDB4Y2EsMHhjZSwweGNhLDB4Y2IsMHhjZiwweGNiLDB4MTIsMHgwMywweDUyLDB4ZWQsMHhmOSwweGVlLDB4ZmEsMHhlZiwKLTB4ZmIsMHgyMiwweGJiLDB4MDAsMHgyZiwweGJmLDB4MDAsMHgwYSwweGZhLDB4ZWQsMHhmOCwweGU3LDB4ZjYsMHgwOCwweDA5LDB4ZGEsCi0weGZhLDB4MjIsMHhiZiwweDAxLDB4MTIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY4LDB4MDIsMHgwMywweDZmLDB4MDksMHhhMywweGU3LAotMHhmMCwweGQ4LDB4ZmEsMHgyMiwweDAyLDB4MDMsMHg3YSwweGZhLDB4ZWQsMHhmOCwweGU3LDB4ZjIsMHgwOCwweDA5LDB4ZGEsMHhmYSwKLTB4MjIsMHgwMiwweDAzLDB4ODQsMHhiYiwweDAxLDB4NGQsMHhiZiwweDAwLDB4MTQsMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsCi0weGY4LDB4MDIsMHgwMywweDk2LDB4MDgsMHhhMywweGUwLDB4ZjYsMHhkOSwweGZhLDB4MjIsMHgwMiwweDAzLDB4YTcsMHhiZiwweDAxLAotMHgyMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZmIsMHgwOCwweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhlMCwKLTB4YTMsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZjAsMHhhMywweGRiLDB4ZWEsMHhkOCwweGU4LDB4MjIsCi0weDAyLDB4MDMsMHhjYSwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjksMHhlZCwweGY4LDB4ZTAsMHhmMiwweDA4LDB4YTMsMHhkOSwweGZhLAotMHgyMiwweDAyLDB4MDMsMHhkNCwweGJiLDB4MDIsMHg0ZCwweGJmLDB4MDAsMHgxMiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwKLTB4ZjgsMHgwMiwweDAzLDB4ZTYsMHgwOCwweGEzLDB4ZTQsMHg5MywweGY2LDB4ZDksMHhmOSwweDIyLDB4YmYsMHgwMSwweDIzLDB4OGQsCi0weDgyLDB4OGUsMHg4MywweGZiLDB4MDgsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZTQsMHg5MywweGEzLAotMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZjAsMHhhMywweGRiLDB4ZTksMHhkOCwweGU3LDB4MjIsMHgwMiwKLTB4MDQsMHgxOSwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwweGY4LDB4ZTQsMHg5MywweGYyLDB4MDgsMHhhMywweGQ5LDB4ZjksCi0weDIyLDB4MDIsMHgwNCwweDJhLDB4YmYsMHgwMCwweDBkLDB4ZmEsMHhlZCwweGY4LDB4ZTMsMHhmNiwweDA4LDB4MDksMHhkYSwweGZhLAotMHgyMiwweDAyLDB4MDQsMHgzNCwweGJmLDB4MDEsMHgxMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjgsMHgwMiwweDA0LDB4NDEsMHgwOSwKLTB4YTMsMHhlMywweGYwLDB4ZDgsMHhmYSwweDIyLDB4MDIsMHgwNCwweDRjLDB4ZmEsMHhlZCwweGY4LDB4ZTMsMHhmMiwweDA4LDB4MDksCi0weGRhLDB4ZmEsMHgyMiwweDAyLDB4MDQsMHg1NiwweGU2LDB4ZmIsMHgwOCwweGU2LDB4ZmEsMHgwOCwweGU2LDB4ZjksMHgwNCwweGY2LAotMHgxOCwweDcwLDB4MDEsMHgwNiwweDIyLDB4ZTYsMHhmZiwweDA4LDB4ZTYsMHhmZSwweDA4LDB4ZTYsMHhmZCwweDIyLDB4ZWYsMHhmMCwKLTB4YTMsMHhlZSwweGYwLDB4YTMsMHhlZCwweGYwLDB4MjIsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOSwweGYwLDB4MjIsCi0weGUwLDB4ZmYsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmQsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLAotMHhmOSwweDIyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweGY5LDB4MDAsMHg2MSwweDA1LDB4NjgsMHgwMCwKLTB4MjYsMHgwNSwweDhmLDB4MDAsMHgzMywweDBhLDB4MDAsMHgwMCwweDYxLDB4MGEsMHg2YywweDAwLDB4NjYsMHgxNSwweDFkLDB4MDAsCi0weDYxLDB4MGMsMHhmMCwweDAwLDB4NjEsMHgwOSwweGEwLDB4MDAsMHg2MSwweDA5LDB4ZDcsMHgwMCwweDYxLDB4MGQsMHhiNywweDAwLAotMHg2MSwweDBiLDB4ZTgsMHgwMCwweDYxLDB4MGEsMHgxMywweDAwLDB4NjEsMHgwYSwweDQ4LDB4MDAsMHg2MSwweDE3LDB4MTUsMHgwMCwKLTB4MzMsMHgxNywweDI4LDB4MDAsMHgzNCwweDFkLDB4ZjYsMHgwMCwweDQzLDB4MWUsMHhhMSwweDAwLDB4NDQsMHgyMCwweDBlLDB4MDAsCi0weDQ0LDB4MWYsMHhmYywweDAwLDB4NDcsMHgxZSwweGM4LDB4MDAsMHg0NywweDFmLDB4NmQsMHgwMCwweDRkLDB4MWYsMHhiZSwweDAwLAotMHg0ZiwweDFlLDB4ZWEsMHgwMCwweDU4LDB4MzIsMHg1NiwweDAwLDB4NjEsMHg3YywweGNjLDB4N2QsMHhmZiwweDEyLDB4MWMsMHhhNywKLTB4MjIsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDIwLDB4ZTcsMHgyZCwweGMyLDB4YWYsMHhhZSwweDU5LDB4YWYsMHg1OCwweDc1LDB4NWEsCi0weDIwLDB4ZTUsMHg1YSwweDE0LDB4YzUsMHg1YSwweDYwLDB4MTksMHhlNCwweGZlLDB4N2YsMHgwNSwweGVlLDB4NGYsMHhjZSwweDI0LAotMHhmZiwweGNlLDB4Y2YsMHgzNCwweGZmLDB4Y2YsMHg2MCwweDA3LDB4ZTQsMHg5MCwweGZmLDB4OTIsMHhmMCwweDgwLDB4ZWQsMHg4MCwKLTB4ZTAsMHg4ZSwweDU5LDB4OGYsMHg1OCwweDIyLDB4MTIsMHgwNSwweDAxLDB4N2QsMHgwNywweDdjLDB4YjcsMHgxMiwweDMyLDB4NzIsCi0weDdkLDB4MGYsMHg3YywweDZlLDB4MTIsMHgzMiwweDhjLDB4NzgsMHg5ZCwweDdhLDB4MDYsMHhlNCwweGY2LDB4MDgsMHhkYSwweGZjLAotMHg3YSwweDA2LDB4MTIsMHgwNSwweGM0LDB4N2MsMHgwMywweDEyLDB4MGUsMHg0YywweDEyLDB4MjEsMHg0YSwweGU0LDB4ZmUsMHhmZiwKLTB4N2MsMHgwZiwweDEyLDB4MzEsMHhmYiwweGQyLDB4YTgsMHgyMiwweDEyLDB4MzAsMHhlNiwweGU0LDB4OTAsMHhmYywweDM4LDB4ZjAsCi0weDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsMHhlNCwweDA4LDB4NzQsMHgwMSwweDkwLDB4ZmMsMHgzOSwweGYwLDB4ODAsMHgwNSwweGU0LAotMHg5MCwweGZjLDB4MzksMHhmMCwweDdkLDB4MGEsMHg3YywweDAwLDB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwKLTB4MzAsMHhlNiwweDkwLDB4ZmMsMHgzOSwweGUwLDB4MTQsMHg3MCwweDBlLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDEwLDB4ZjAsCi0weDdjLDB4MDAsMHgxMiwweDI1LDB4YmYsMHg4MCwweDE5LDB4OTAsMHhmYywweDM5LDB4ZTAsMHg3MCwweDBlLDB4OTAsMHhmZiwweGYwLAotMHhlMCwweDU0LDB4ZWYsMHhmMCwweDdjLDB4MDAsMHgxMiwweDI1LDB4YmYsMHg4MCwweDA1LDB4N2MsMHgxNywweDEyLDB4MjUsMHhiZiwKLTB4MTIsMHgzMSwweDY5LDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4YWIsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsCi0weDIwLDB4ZjAsMHgyMiwweDhjLDB4MzcsMHg4ZCwweDM2LDB4NzgsMHg4MiwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHhlZCwweGZlLAotMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweDc4LDB4ODAsMHhmNiwweDc4LDB4ODIsMHhlNiwKLTB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsCi0weDU0LDB4MGYsMHhmYywweDdkLDB4ODAsMHgxMiwweDE3LDB4NDYsMHg3OCwweDgwLDB4ZTYsMHg3MCwweDBkLDB4YWQsMHgzYSwweGFlLAotMHgzOSwweGFmLDB4MzgsMHhlNCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDgsMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZSwKLTB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDgwLDB4MWUsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsCi0weGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4MjUsMHhlMCwweDQ0LAotMHgwMSwweDkwLDB4ZmYsMHhmMywweGYwLDB4MDIsMHgwNiwweGQwLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwKLTB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDU0LDB4ZmUsMHg5MCwweGZmLDB4ZjMsCi0weGYwLDB4ODAsMHgyYiwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLAotMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHhmYSwweGViLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwKLTB4MGQsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsMHhlNCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDc4LDB4ODIsCi0weGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLAotMHgwZSwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwKLTB4ZTQsMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsCi0weGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMiwweDBlLDB4NDQsMHgwMSwweDkwLDB4ZmYsMHhmMywweGYwLAotMHg3OCwweDgzLDB4ZTYsMHgyNCwweDAzLDB4ZjYsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY2LDB4NzgsMHg4MCwweGU2LDB4MjQsMHhmZSwKLTB4NTAsMHgwOSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZCwweGYwLDB4ODAsMHgwNywweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsCi0weDAyLDB4ZjAsMHhlNCwweDkwLDB4ZmYsMHhmMSwweGYwLDB4NzgsMHg4MSwweDc2LDB4MDAsMHg3OCwweDgwLDB4ZTYsMHgyNCwweGZmLAotMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4NzgsMHg4MSwweGU2LDB4N2YsMHgwMCwweGZlLDB4ZWMsMHhkMywweDllLDB4ZWYsMHg2NCwKLTB4ODAsMHhjZCwweDY0LDB4ODAsMHg5ZCwweDQwLDB4MmYsMHgxMiwweDA4LDB4YTQsMHg0MCwweDBmLDB4NzgsMHg4MSwweGU2LDB4YWQsCi0weDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg5MCwweGZmLDB4ZjIsMHhlMCwweGZjLAotMHg3OCwweDgyLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjAsMHg3OCwweDgxLDB4MDYsMHhhMywweDc4LDB4ODIsMHhhNiwKLTB4ODMsMHgwOCwweGE2LDB4ODIsMHg4MCwweGI1LDB4MTIsMHgwOCwweGE0LDB4NDAsMHgwZiwweDc4LDB4ODEsMHhlNiwweGFkLDB4M2EsCi0weGFlLDB4MzksMHhhZiwweDM4LDB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4OTAsMHhmZiwweGYyLDB4ZTAsMHhmYywweDc4LAotMHg4MiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywweGYwLDB4NzgsMHg4MCwweGU2LDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwKLTB4MzgsMHgxMiwweDAzLDB4MGYsMHg3YywweDAwLDB4MjIsMHg4YywweDM3LDB4OGQsMHgzNiwweDc4LDB4ODIsMHhlZCwweGY2LDB4MDgsCi0weGVjLDB4ZjYsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHg3OCwweDgxLAotMHhmNiwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwKLTB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsMHg3ZCwweDgxLDB4MTIsMHgxNywweDQ2LDB4NzgsMHg4MSwweGU2LDB4NzAsCi0weDAzLDB4N2MsMHgwOCwweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LAotMHhmZCwweGYwLDB4ODAsMHgxYiwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwKLTB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHgyNSwweGUwLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHg4MCwweDViLDB4NzgsCi0weDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNiwweDEyLAotMHgwMiwweDBlLDB4NTQsMHhmZSwweDkwLDB4ZmYsMHhmMywweGYwLDB4ODAsMHgyMSwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwKLTB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHhmYSwweGViLDB4OTAsCi0weGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LAotMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4OTAsMHhmZiwKLTB4ZjEsMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDgzLDB4ZTYsMHgyNCwweDBhLDB4ZjYsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjYsMHg3OCwweDgwLDB4NzYsMHgwMCwweDc4LDB4ODEsMHhlNiwweDI0LDB4ZmYsMHhmYywweGU0LAotMHgzNCwweGZmLDB4ZmQsMHg3OCwweDgwLDB4ZTYsMHg3ZiwweDAwLDB4ZmUsMHhlYywweGQzLDB4OWUsMHhlZiwweDY0LDB4ODAsMHhjZCwKLTB4NjQsMHg4MCwweDlkLDB4NDAsMHgyMSwweDc4LDB4ODIsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg5MCwweGZmLDB4ZjEsCi0weGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4ODAsMHgwNiwweDc4LDB4ODMsMHgwNiwweGU2LAotMHgxOCwweDcwLDB4MDEsMHgwNiwweDgwLDB4YzMsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDc4LDB4ODIsMHg4NiwKLTB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsMHgwMywweDdjLDB4MTgsCi0weDIyLDB4N2MsMHgwMCwweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgyMCwweGU3LDB4MTIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLAotMHhlNSwweDA5LDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMywweDIyLDB4ODAsMHhlNywweGQzLDB4MjIsMHg5MCwKLTB4ZmYsMHhmMCwweGUwLDB4MjAsMHhlMywweDEyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwweGU1LDB4MDksMHg5MCwweGZmLDB4ZjAsCi0weGUwLDB4NDQsMHgyMCwweGYwLDB4YzMsMHgyMiwweDgwLDB4ZTcsMHhkMywweDIyLDB4OGMsMHg0MiwweDhkLDB4NDEsMHg3YywweDAwLAotMHhlZCwweDU0LDB4ZjAsMHhmZCwweGVjLDB4NzAsMHgwMywweGVkLDB4NjQsMHgzMCwweDcwLDB4MDUsMHg3NSwweDNlLDB4MDMsMHg4MCwKLTB4MDMsMHg3NSwweDNlLDB4MDQsMHhhYywweDNlLDB4MTIsMHgwZiwweDY5LDB4NzUsMHg4MywweDAwLDB4ODUsMHg4MywweDQwLDB4ZTUsCi0weDQxLDB4NTQsMHgwZiwweGY1LDB4M2YsMHhlNSwweDQwLDB4NzAsMHgwNCwweGU1LDB4M2YsMHg2NCwweDAzLDB4NzAsMHgzNSwweGU1LAotMHgzZSwweDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywKLTB4ZTAsMHgzMCwweGU2LDB4MDUsMHgxMiwweDEwLDB4NGIsMHg4MCwweDE5LDB4ZTUsMHgzZSwweDI0LDB4OWQsMHhmOCwweGM2LDB4NTQsCi0weGZiLDB4ZjYsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LAotMHgwZiwweGYwLDB4ODAsMHg1OSwweGU1LDB4NDAsMHg3MCwweDA0LDB4ZTUsMHgzZiwweDY0LDB4MDQsMHg3MCwweDQ4LDB4ZTUsMHgzZSwKLTB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgwMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsCi0weDMwLDB4ZTUsMHgwNywweGFjLDB4NDIsMHhhZCwweDQxLDB4MTIsMHgxYywweDNjLDB4ZTUsMHg0MiwweDMwLDB4ZTIsMHgxNSwweDc4LAotMHhhZCwweGU2LDB4MzAsMHhlMCwweDBmLDB4NzgsMHhhZCwweGU2LDB4MzAsMHhlMSwweDA5LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywKLTB4MDQsMHgxMiwweDMxLDB4ZmIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4NzQsMHgwZiwweGYwLDB4ODAsMHgwNywweGU0LDB4ZmMsMHg3ZCwweGVlLDB4MTIsMHgxYywweDNjLDB4YzIsMHgwMywweDIyLAotMHgxMiwweDMwLDB4ZTYsMHgxMiwweDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweGZjLDB4MzgsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4ZmMsMHgzOSwweGYwLDB4YzIsMHgwMywweDdkLDB4MDIsMHg3YywweDAwLAotMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4ZWMsMHgyNCwKLTB4OWQsMHhmOCwweGU2LDB4MzAsMHhlMSwweDA3LDB4N2MsMHgxMywweDEyLDB4MjUsMHhiZiwweDgwLDB4MGYsMHg5MCwweGZjLDB4MzksCi0weGUwLDB4ZmQsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTMsMHhjOCwweDEyLDB4MjUsMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLAotMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweDdkLDB4MDAsMHgxMiwweDBmLDB4MDksMHgxMiwweDI1LDB4YmYsMHgxMiwKLTB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHhlYywweDI0LDB4OWQsMHhmOCwweGU2LDB4MzAsCi0weGUyLDB4MDcsMHg3YywweDEzLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgxYiwweDc4LDB4OTUsMHhlNiwweDI0LDB4OWQsMHhmOCwweGU2LAotMHgyMCwweGUxLDB4MDcsMHg3YywweDEyLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgwYSwweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxMywKLTB4ZWMsMHgxMiwweDI1LDB4YmYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4ZWMsCi0weDI0LDB4OWQsMHhmOCwweGU2LDB4MjAsMHhlMiwweDA3LDB4N2MsMHgxMSwweDEyLDB4MjUsMHhiZiwweDgwLDB4MGEsMHg3OCwweDk1LAotMHhlNiwweGZjLDB4MTIsMHgxNCwweGVkLDB4MTIsMHgyNSwweGJmLDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwKLTB4OTUsMHhlYywweGY2LDB4MTIsMHgwZiwweDY5LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHhmYywweDNmLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDBhLDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweGZjLDB4NDAsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDMsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHg2MiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGY1LDB4NjMsMHg4YywweDYxLDB4ZTQsMHhlYywweDMzLDB4MzMsMHg1NCwKLTB4MDEsMHg3OCwweDk1LDB4ZjYsMHg2MCwweDA4LDB4ZTUsMHg2MiwweDMwLDB4ZTEsMHgwMywweDc4LDB4OTUsMHgwNiwweDc4LDB4OTUsCi0weGU2LDB4OTAsMHhmYywweDQxLDB4ZjAsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHg1NCwweDBjLDB4ZmMsMHhlZCwweDU0LDB4ZTYsMHg4YywweDY1LDB4ZjUsMHg2NCwKLTB4ZTUsMHg2MSwweDMwLDB4ZTUsMHgwMywweDQzLDB4NjUsMHgwMSwweGU1LDB4NjIsMHgyMCwweGU1LDB4MGUsMHhlNSwweDYxLDB4NTQsCi0weDdmLDB4NzAsMHgwOCwweGU1LDB4NjEsMHgyMCwweGU3LDB4MDMsMHg0MywweDY1LDB4MDIsMHhlNSwweDYxLDB4MzAsMHhlMywweDAzLAotMHg0MywweDY1LDB4MTAsMHhlNSwweDYxLDB4MzAsMHhlMiwweDAzLDB4NDMsMHg2NSwweDIwLDB4ZTUsMHg2MSwweDU0LDB4MDMsMHg2MCwKLTB4MDMsMHg0MywweDY1LDB4NDAsMHhlNSwweDYxLDB4MzAsMHhlMSwweDAzLDB4NDMsMHg2NSwweDgwLDB4ZTUsMHg2MSwweDMwLDB4ZTQsCi0weDAzLDB4NDMsMHg2NCwweDAxLDB4ZTUsMHg2MSwweDMwLDB4ZTYsMHgwMywweDQzLDB4NjQsMHgwOCwweGU1LDB4NjIsMHgyMCwweGU0LAotMHgwZSwweGU1LDB4NjEsMHg1NCwweDdmLDB4NzAsMHgwOCwweGU1LDB4NjEsMHgyMCwweGU3LDB4MDMsMHg0MywweDY0LDB4MTAsMHg1MywKLTB4NjUsMHhmYiwweDUzLDB4NjQsMHg3OSwweGFkLDB4NjQsMHhlNSwweDY1LDB4OTAsMHhmYywweDNhLDB4Y2QsMHhmMCwweGEzLDB4Y2QsCi0weGYwLDB4ZTUsMHg2MywweDMwLDB4ZTMsMHgwZCwweGU1LDB4NjMsMHg1NCwweDMwLDB4YzQsMHg1NCwweDBmLDB4OTAsMHhmYywweDNkLAotMHhmMCwweDgwLDB4MDUsMHhlNCwweDkwLDB4ZmMsMHgzZCwweGYwLDB4ZTUsMHg2MywweDU0LDB4MDMsMHg5MCwweGZjLDB4M2MsMHhmMCwKLTB4ZTUsMHg2MywweDU0LDB4MDQsMHhjMywweDEzLDB4OTAsMHhmYywweDNlLDB4ZjAsMHg5MCwweGZjLDB4M2MsMHhlMCwweDcwLDB4MGUsCi0weDdkLDB4MzUsMHg3ZSwweGZjLDB4N2YsMHgwMSwweDc0LDB4MDEsMHg5MCwweDAwLDB4MDksMHgxMiwweDAxLDB4NDIsMHg3OCwweGE5LAotMHhlNiwweDI0LDB4MDgsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg3YywweDAwLDB4ZmQsMHg3OCwKLTB4YTksMHhlNiwweDI0LDB4MDcsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg3ZiwweDAwLDB4NGMsCi0weGZlLDB4ZWYsMHg0ZCwweDkwLDB4ZmMsMHgzOCwweGYwLDB4YTMsMHhjZSwweGYwLDB4Y2UsMHhjMiwweDAzLDB4N2QsMHgwYSwweDdjLAotMHgwMCwweDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHg3OCwKLTB4OWEsMHg3NiwweDAxLDB4MDgsMHg3NiwweGZjLDB4MDgsMHg3NiwweDM4LDB4NzgsMHg5NywweDc2LDB4MGMsMHg3OCwweDlhLDB4MTIsCi0weDA0LDB4NjUsMHgxMiwweDAyLDB4MTQsMHg3OCwweDk4LDB4Y2IsMHhmNiwweGNiLDB4MDgsMHhmNiwweDdmLDB4MDAsMHhlZiwweDI0LAotMHhlYSwweDQwLDB4MWYsMHhlNCwweGVmLDB4MjUsMHhlMCwweDkwLDB4MzUsMHgyYywweGZkLDB4OTMsMHhjZCwweDA0LDB4OTMsMHg3OCwKLTB4OTksMHg2NiwweDcwLDB4MDMsMHhlZCwweDE4LDB4NjYsMHg3MCwweDA2LDB4NzgsMHg5NywweDc2LDB4MDAsMHg4MCwweDAzLDB4MGYsCi0weDgwLDB4ZGMsMHg3OCwweDk2LDB4ZWYsMHhmNiwweDc4LDB4OWEsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAyLAotMHgwZSwweDc4LDB4OTgsMHhjYiwweGY2LDB4Y2IsMHgwOCwweGY2LDB4NTQsMHgwNCwweGNiLDB4NTQsMHg4NiwweDRiLDB4NjAsMHgwNCwKLTB4NzgsMHg5NywweDc2LDB4MGIsMHg3OCwweDk5LDB4ZTYsMHgzMCwweGUzLDB4MTMsMHg3OCwweDlhLDB4MTIsMHgwNCwweDY1LDB4OTAsCi0weDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZiLDB4NTAsMHgwNCwweDc4LDB4OTcsMHg3NiwweDBkLDB4NzgsMHg5OSwweGU2LAotMHg1NCwweGMwLDB4N2QsMHgwMCwweDY0LDB4YzAsMHg0ZCwweDcwLDB4MDQsMHg3OCwweDk3LDB4NzYsMHgwYiwweDc4LDB4OWEsMHgxMiwKLTB4MDQsMHg2NSwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmMsMHg1MCwweDA0LDB4NzgsMHg5NywweDc2LDB4MGYsCi0weDc4LDB4OWEsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZkLDB4NTAsMHgwNCwweDc4LAotMHg5NywweDc2LDB4MGUsMHg3OCwweDlhLDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmZCwKLTB4NTAsMHgwNCwweDc4LDB4OTcsMHg3NiwweDBhLDB4NzgsMHg5NywweGU2LDB4NzAsMHgyYSwweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsCi0weDBmLDB4NjksMHg3OCwweDlhLDB4MTIsMHgwNCwweDY1LDB4NzgsMHhhNywweGU2LDB4ZjksMHg3OCwweGE2LDB4ZTYsMHhmYSwweDdiLAotMHgwMSwweDc0LDB4MGEsMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLDB4YzIsMHgwMywweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxMSwKLTB4MDcsMHg3OCwweDk3LDB4ZWMsMHhmNiwweDc4LDB4OTcsMHhlNiwweGZjLDB4MTIsMHgyNSwweGJmLDB4MTIsMHgzMSwweDY5LDB4MjIsCi0weDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4MTIsMHgwZiwweDY5LDB4NzgsMHg5NSwweGU2LDB4MjQsMHhmZCwweDc1LAotMHhmMCwweDBhLDB4YTQsMHgyNCwweDE0LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhhYywweDgyLDB4YWQsMHg4MywKLTB4NzgsMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywweGY5LDB4ZWQsMHhmYSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsCi0weDAzLDB4YTcsMHhjMiwweDAzLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDExLDB4MDcsMHgxMiwweDMxLDB4NjksMHgyMiwweDhkLAotMHgyYiwweDhjLDB4MmEsMHhlZCwweDYwLDB4NDAsMHg3NSwweDI3LDB4MDEsMHg3NSwweDI5LDB4NDgsMHg3NSwweDI4LDB4ZmYsMHhlNSwKLTB4MmEsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsCi0weGRjLDB4ZjksMHhmYywweGU1LDB4MjksMHgyYywweGY1LDB4MjksMHhlNSwweDI4LDB4M2QsMHhmNSwweDI4LDB4YWQsMHgyOSwweGFlLAotMHgyOCwweGFmLDB4MjcsMHg3NCwweDgwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMywweDE3LDB4NzQsMHg4MCwweDkwLDB4MDAsMHgwMiwKLTB4MTIsMHgwMywweDE3LDB4MTIsMHgwZiwweGI3LDB4ZTUsMHgyYiwweDE0LDB4NjAsMHgzYiwweDc1LDB4MjcsMHgwMSwweDc1LDB4MjksCi0weDA4LDB4NzUsMHgyOCwweGZmLDB4ZTUsMHgyYSwweDI0LDB4ZmQsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4ZWMsMHg3YywweDAzLAotMHgyNSwweGUwLDB4Y2QsMHgzMywweGNkLDB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyOSwweDJjLDB4ZjUsMHgyOSwweGU1LDB4MjgsMHgzZCwKLTB4ZjUsMHgyOCwweGFkLDB4MjksMHhhZSwweDI4LDB4YWYsMHgyNywweGU0LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMywweDE3LDB4ZTQsCi0weDkwLDB4MDAsMHgwMiwweDEyLDB4MDMsMHgxNywweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHhlYywweDI0LAotMHg5ZCwweGY4LDB4ZTYsMHgzMCwweGUyLDB4MDksMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTQsMHhlZCwweGQyLDB4MDAsMHg3OCwKLTB4OTUsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LDB4NzgsMHg5NiwweDc2LDB4MDAsMHg5MCwweGZjLDB4MzksMHhlMCwweDMwLDB4ZTcsCi0weDA0LDB4NzgsMHg5NiwweDc2LDB4MDEsMHg3OCwweDk2LDB4ZTYsMHhmZCwweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgwZCwweDJmLAotMHhjMiwweDAzLDB4MzAsMHgwMCwweDA3LDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDEzLDB4ZWMsMHg3YywweDAwLDB4MTIsMHgyNSwKLTB4YmYsMHgxMiwweDMxLDB4NjksMHgyMiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsMHgwMiwweDgwLDB4ZWQsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGY4LDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAyLDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgyMiwweGMyLDB4MDMsMHg4YywweDU4LAotMHgxMiwweDBmLDB4NjksMHg3OCwweGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweDc5LDB4NWQsMHg3YSwweDM1LDB4N2IsMHgwYSwKLTB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwweDEyLDB4MGUsMHgwNSwweGFjLDB4NTgsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDJmLDB4YzIsCi0weDAzLDB4YWMsMHg1OCwweDEyLDB4MTEsMHgwNywweDIyLDB4OGQsMHg1MywweDhlLDB4NTIsMHg4ZiwweDUxLDB4OGMsMHg1MCwweDEyLAotMHgwZiwweDY5LDB4NzUsMHg0ZiwweDAwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4MjAsMHhlNCwweDFmLDB4ZTUsMHg0ZiwweDI0LDB4ZjYsMHg0MCwweDE5LDB4MDUsMHg0ZiwweGMyLDB4MDMsCi0weDdjLDB4MTgsMHgxMiwweDMyLDB4YTksMHg5MCwweGZmLDB4OTMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGIyLDB4YjMsMHhhYywweDUwLAotMHgxMiwweDBmLDB4NjksMHg4MCwweGQwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4MjAsMHhlNCwweDA1LDB4YzIsMHgwMywweDdjLDB4MDIsMHgyMiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsCi0weGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4MGYsMHg2MCwweDE2LDB4NzgsMHhhOSwweGU2LAotMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwZiwweGYwLDB4YzIsMHgwMywKLTB4N2MsMHgwMSwweDIyLDB4NzgsMHhhOCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweGFkLDB4NTMsMHhhZSwweDUyLDB4YWYsCi0weDUxLDB4MTIsMHgwMywweDBmLDB4YzIsMHgwMywweDdjLDB4MDAsMHgyMiwweDhkLDB4MzEsMHg4YywweDMwLDB4MTIsMHgxNCwweGVkLAotMHhlNSwweDMxLDB4NjAsMHgwZiwweGU1LDB4MzAsMHhiNCwweDAzLDB4MGEsMHg3YywweDAxLDB4MTIsMHgyNCwweGVlLDB4N2MsMHg4MSwKLTB4MTIsMHgyNCwweGVlLDB4YWMsMHgzMCwweDEyLDB4MGYsMHg2OSwweGU1LDB4MzEsMHg2MCwweDFhLDB4NzgsMHhhYSwweDg2LDB4ODMsCi0weDA4LDB4ODYsMHg4MiwweGUwLDB4NTQsMHhlNywweGYwLDB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweDU0LDB4ZTcsMHhmMCwweGFjLAotMHgzMCwweDdkLDB4MDIsMHgxMiwweDBkLDB4MmYsMHg3OCwweGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweDc5LDB4NjcsMHg3YSwKLTB4MzUsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwweGMyLDB4MDMsMHhlNSwweDMwLDB4MjQsMHg5ZCwweGY4LDB4YzYsCi0weDU0LDB4ZmQsMHhmNiwweGFjLDB4MzAsMHgxMiwweDExLDB4MDcsMHgyMiwweDhjLDB4MjYsMHgzMCwweDAzLDB4MDUsMHgxMiwweDMyLAotMHg0OCwweDgwLDB4ZjgsMHg3YywweDBhLDB4MTIsMHgzMSwweDViLDB4ZDIsMHgwMywweGU1LDB4MjYsMHgyNCwweGZkLDB4NzgsMHhhMywKLTB4ZjYsMHg3MCwweDA3LDB4NzgsMHhhYSwweDc2LDB4ZmYsMHgwOCwweDc2LDB4ZTAsMHg3OCwweGEzLDB4ZTYsMHg3NSwweGYwLDB4MTAsCi0weGE0LDB4YWQsMHhmMCwweGZjLDB4MjQsMHhhMCwweDc4LDB4YTksMHhmNiwweGVkLDB4MzQsMHhmZiwweDE4LDB4ZjYsMHg3OCwweGEzLAotMHhlNiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgwMCwweGZjLDB4ZTQsMHgzNCwweGZjLDB4ZmQsMHg3OCwweGE2LDB4ZWQsMHhmNiwKLTB4MDgsMHhlYywweGY2LDB4MTIsMHgzMSwweGY0LDB4MjIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU3LDB4MjIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgyMiwweDc4LDB4YWEsMHg4NiwweDgzLDB4MDgsCi0weDg2LDB4ODIsMHhlMCwweDU0LDB4N2YsMHhmMCwweGFkLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZjLDB4ZTQsMHgzZCwweDhjLAotMHg4MiwweGY1LDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZjgsMHhmMCwweDc4LDB4YWIsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDc4LDB4YWIsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHgyMiwweDc4LDB4YWEsMHg4NiwweDgzLDB4MDgsCi0weDg2LDB4ODIsMHhlMCwweDU0LDB4M2YsMHhmMCwweGFkLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZjLDB4ZTQsMHgzZCwweDhjLAotMHg4MiwweGY1LDB4ODMsMHhlMCwweDU0LDB4M2YsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4YTQsMHhmOCwweGU2LDB4ZmMsMHg3OCwKLTB4YWIsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTMsCi0weGU2LDB4MjQsMHhhNCwweGY4LDB4ZTYsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NTQsMHhmYiwweDQ0LDB4MDIsMHhmNSwweDI2LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNSwweDAzLDB4NDMsMHgyNiwweDAxLDB4NzgsMHhhOSwweGU2LAotMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMCwweDAzLDB4MTIsMHgwZiwKLTB4YjcsMHhlNSwweDI2LDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZWMsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHg3NCwweDBmLDB4ZjAsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NDQsMHg4MCwweGYwLDB4YTMsMHhhMywKLTB4YTMsMHhhMywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHg4YywweDJhLDB4MTIsMHgwZiwweDY5LDB4NzgsMHhhNywweGU2LDB4MjQsCi0weDA4LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDBhLAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDcsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLAotMHhmZCwweGEzLDB4ZTAsMHhmYywweGVkLDB4ZmUsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA4LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVjLDB4ZmUsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA3LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDhjLDB4MjksMHg4ZCwweDI4LDB4YzMsMHhlYywweDk0LDB4MDUsMHhlZCwweDk0LAotMHgwYywweDQwLDB4MDUsMHg3NSwweDI3LDB4N2MsMHg4MCwweDMzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHgwMSwweGU1LDB4MjgsMHg5NCwKLTB4MDMsMHg0MCwweDA1LDB4NzUsMHgyNywweDNjLDB4ODAsMHgyMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4ODEsMHhlNSwweDI4LDB4OTQsCi0weDAxLDB4NDAsMHgwNSwweDc1LDB4MjcsMHgxOCwweDgwLDB4MTMsMHhkMywweGU1LDB4MjksMHg5NCwweDYwLDB4ZTUsMHgyOCwweDk0LAotMHgwMCwweDQwLDB4MDUsMHg3NSwweDI3LDB4MGMsMHg4MCwweDAzLDB4NzUsMHgyNywweDA4LDB4YWYsMHgyNywweGU0LDB4ZWYsMHg1NCwKLTB4N2MsMHg0NCwweDgzLDB4ZmYsMHg4ZiwweDI3LDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA1LAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MjcsMHhmYywweDc4LDB4YTMsMHhlNiwKLTB4MjQsMHhhNCwweGY4LDB4ZWMsMHhmNiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweGY1LDB4MjcsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTMsMHgxNywweDUzLDB4MjcsMHhjNywweDc4LDB4YTcsMHhlNiwweDI0LDB4MDUsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4MzUsMHg1OCwweDkzLDB4NDIsMHgyNywweDUzLDB4MjcsCi0weGZiLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDYwLAotMHgwMywweDQzLDB4MjcsMHgwNCwweDUzLDB4MjcsMHhmYywweDc4LDB4YTcsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQyLDB4MjcsMHg0MywweDI3LDB4ODAsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGE5LDB4ZTYsCi0weDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LAotMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGY1LDB4MjcsMHg3OCwweGE3LDB4ZTYsMHgyNCwKLTB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTEsMHgwNSwweDUzLDB4MjcsCi0weGRmLDB4ODAsMHgwMywweDQzLDB4MjcsMHgyMCwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTQsMHgwNSwweDUzLDB4MjcsMHhlZiwweDgwLDB4MDMsMHg0MywweDI3LDB4MTAsMHg3OCwKLTB4YTcsMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhiNCwweDAyLDB4MDMsCi0weDQzLDB4MjcsMHgwMiwweGU1LDB4MjcsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMywweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4ZjUsMHgyNywweDc4LDB4YTcsMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDcwLDB4MDUsMHg1MywweDI3LDB4N2YsMHg4MCwweDAzLDB4NDMsMHgyNywweDgwLDB4NzgsMHhhNywweGU2LAotMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGUwLDB4MDUsMHg0MywKLTB4MjcsMHgyMCwweDgwLDB4MDMsMHg1MywweDI3LDB4ZGYsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUzLDB4MDUsMHg0MywweDI3LDB4NDAsMHg4MCwweDAzLDB4NTMsMHgyNywweGJmLAotMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMCwKLTB4MDUsMHg0MywweDI3LDB4MTAsMHg4MCwweDAzLDB4NTMsMHgyNywweGVmLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU0LDB4MDUsMHg0MywweDI3LDB4MDgsMHg4MCwweDAzLAotMHg1MywweDI3LDB4ZjcsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4YTMsMHhlMCwweDMwLDB4ZTUsMHgwNSwweDQzLDB4MjcsMHgwNCwweDgwLDB4MDMsMHg1MywweDI3LDB4ZmIsMHg3OCwweGE3LDB4ZTYsCi0weDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTYsMHgwNSwweDQzLAotMHgyNywweDAxLDB4ODAsMHgwMywweDUzLDB4MjcsMHhmZSwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNywweDA1LDB4NDMsMHgyNywweDAyLDB4ODAsMHgwMywweDUzLDB4MjcsCi0weGZkLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMywweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGVjLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHgwMCwweDIyLDB4OGQsMHgyNywweDhjLDB4MjYsMHhlZCwweDU0LDB4MDMsMHgxNCwKLTB4NjAsMHgwMywweDdjLDB4MTAsMHgyMiwweGU1LDB4MjcsMHg1NCwweDdjLDB4MjQsMHhmYywweDQwLDB4MDMsMHg3YywweDBiLDB4MjIsCi0weGU1LDB4MjYsMHgyNCwweDlkLDB4ZjgsMHhjNiwweDQ0LDB4MDIsMHhmNiwweDdjLDB4MDAsMHgyMiwweDhjLDB4MzAsMHgxMiwweDBmLAotMHg2OSwweGU1LDB4MzAsMHgyNCwweDlkLDB4ZjgsMHhlNiwweDIwLDB4ZTIsMHg0ZiwweGFjLDB4MzAsMHg3ZCwweDAyLDB4MTIsMHgwZCwKLTB4MmYsMHhlNSwweDMwLDB4MjQsMHhmZSwweDQ0LDB4MjgsMHhmYywweDc4LDB4YWEsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsCi0weGYwLDB4YWYsMHg4MywweGU1LDB4ODIsMHgyNCwweDA0LDB4ZmUsMHhlNCwweDNmLDB4ZmYsMHhlYywweDhlLDB4ODIsMHg4ZiwweDgzLAotMHhmMCwweDdjLDB4MDMsMHg4YywweDJjLDB4ZTUsMHgyYywweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDJjLDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA1LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc1LDB4MmQsMHgwMSwweDc1LDB4MmYsMHg0OCwweDc1LAotMHgyZSwweGZmLDB4ZTUsMHgzMCwweDI0LDB4ZmQsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4ZWMsMHg3YywweDAzLDB4MjUsMHhlMCwKLTB4Y2QsMHgzMywweGNkLDB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyZiwweDJjLDB4ZjUsMHgyZiwweGU1LDB4MmUsMHgzZCwweGY1LDB4MmUsCi0weDc4LDB4YWIsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGU3LAotMHhmNSwweDJjLDB4YWQsMHgyZiwweGFlLDB4MmUsMHhhZiwweDJkLDB4ZTQsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLDB4MTcsMHhlNCwKLTB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMywweDE3LDB4MTIsMHgwMSwweGU2LDB4MzAsMHhlNSwweDAzLDB4NDMsMHgyYywweDEwLDB4ZTUsCi0weDJjLDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLAotMHhmMCwweDEyLDB4MTAsMHg0YiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweGMyLDB4MDMsMHhmYywweGU1LDB4MzAsMHgyNCwweDlkLDB4ZjgsMHhjNiwweDQ0LDB4MDQsMHhmNiwweDhjLDB4MmMsCi0weGU1LDB4MzAsMHg1NCwweDBmLDB4YzQsMHg1NCwweGYwLDB4N2UsMHgwMCwweGZmLDB4ZWUsMHhlZiwweDQ0LDB4MDQsMHg3ZCwweDAwLAotMHhmZiwweGVjLDB4NGUsMHhmYywweGVkLDB4NGYsMHhmZCwweDEyLDB4MWMsMHhhNywweDdjLDB4MDAsMHgyMiwweDhjLDB4MmYsMHgxMiwKLTB4MGYsMHg2OSwweDEyLDB4MGYsMHhlYiwweDc4LDB4YWEsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwweDA4LDB4ZjAsCi0weGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHg1NCwweDA4LDB4ZjAsMHhhYywweDJmLDB4N2QsMHgwMiwweDEyLDB4MGQsMHgyZiwweGMyLAotMHgwMywweGU1LDB4MmYsMHgyNCwweDlkLDB4ZjgsMHhjNiwweDU0LDB4ZmIsMHhmNiwweDdjLDB4MDAsMHgyMiwweDEyLDB4MzAsMHhlNiwKLTB4NzgsMHg5NiwweGVjLDB4ZjYsMHhlYywweDI0LDB4OWQsMHhmOCwweGU2LDB4MzAsMHhlMSwweDBhLDB4N2QsMHgwMCwweDdjLDB4MTMsCi0weDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDc4LDB4OTYsMHhlNiwweDI0LDB4OWQsMHhmOCwweGM2LDB4NDQsMHgwMSwweGY2LAotMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LDB4OTYsMHhlNiwweDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwKLTB4MjQsMHgxNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4NzgsMHhhNiwweGU2LDB4ZmEsMHgwOCwweGU2LDB4ZjksCi0weDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGE3LDB4NzgsMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHg3OSwweDY3LAotMHg3YSwweDM1LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHgxMiwweDBmLDB4YjcsMHhjMiwweDAzLDB4NzgsMHg5NiwKLTB4ZTYsMHhmYywweDEyLDB4MTEsMHgwNywweDc4LDB4OTUsMHhlYywweGY2LDB4ZWMsMHg2MCwweDBhLDB4N2QsMHgwMCwweDdjLDB4MDgsCi0weDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LDB4NzgsMHhhOSwweGU2LAotMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgxMCwweDU0LDB4ZGYsMHhmYywKLTB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsCi0weDk1LDB4ZWMsMHhmNiwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwweGE5LDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDBmLAotMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwKLTB4ZWYsMHhmMCwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwweGE5LDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksCi0weDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDEwLAotMHhmMCwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwweGE5LDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksMHg3OCwKLTB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDIwLDB4ZjAsCi0weGMyLDB4MDMsMHg3YywweGYwLDB4MTIsMHgzMiwweGE5LDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksMHg3OCwweGE5LAotMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU0LDB4MTUsMHhjMiwKLTB4MDMsMHg3OCwweDk2LDB4ZTYsMHg0NCwweDEwLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgwNywweDEyLDB4MzEsMHhmYiwweDEyLDB4MzEsCi0weDY5LDB4MDIsMHgxNywweDE0LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4NTQsMHhjZiwweGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywKLTB4MTIsMHgwZiwweDY5LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4NDQsMHgzMCwweGYwLDB4YzIsMHgwMywweDdjLDB4ZjAsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLAotMHgwZiwweDY5LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwKLTB4MzAsMHhlNCwweDE0LDB4YzIsMHgwMywweDc4LDB4OTYsMHhlNiwweDQ0LDB4MTAsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDA3LDB4MTIsCi0weDMxLDB4ZmIsMHgxMiwweDMxLDB4NjksMHg4MCwweDVkLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhlZiwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhkZiwweGYwLDB4NzgsMHg5NiwweGU2LDB4MjQsMHhmZCwweDc1LDB4ZjAsCi0weDBhLDB4YTQsMHgyNCwweDE0LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhhYywweDgyLDB4YWQsMHg4MywweDc4LAotMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywweGY5LDB4ZWQsMHhmYSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywKLTB4YTcsMHhjMiwweDAzLDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDExLDB4MDcsMHg3ZCwweDAwLDB4N2MsMHgwYiwweDEyLDB4MjUsCi0weDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHhlNCwweDkwLDB4ZmMsMHgzOSwweGYwLDB4N2QsMHgwMiwweDdjLAotMHgwMCwweDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4N2MsMHgwMCwweDEyLDB4MjUsMHhiZiwKLTB4MTIsMHgzMSwweDY5LDB4MjIsMHg3NCwweDNjLDB4OTAsMHhmYiwweGUwLDB4ZjAsMHg3NCwweDNlLDB4OTAsMHhmYiwweGUwLDB4ZjAsCi0weGU0LDB4OTAsMHhmYywweDI4LDB4ZjAsMHgyMiwweDhkLDB4MzUsMHg4YywweDM0LDB4ZWMsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4MDIsMHg4MCwweDI4LDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwOCwweGE4LDB4MzUsMHhjNiwKLTB4MjUsMHhlMCwweGY2LDB4ODAsMHgxOCwweGI0LDB4MDQsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhhOCwweDM1LDB4YzYsCi0weDI1LDB4ZTAsMHgyNSwweGUwLDB4ZjYsMHg4MCwweDA2LDB4YTgsMHgzNSwweDc2LDB4MDAsMHg4MCwweDAwLDB4MjIsMHg4YywweDNjLAotMHg4ZCwweDNiLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4NzUsMHg2NiwweDA2LDB4NzUsMHg2NywweDAwLDB4OTAsMHhmYywKLTB4MjksMHgxMiwweDA0LDB4NmUsMHgxMiwweDAxLDB4ZTYsMHhiNCwweDgwLDB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsCi0weDE4LDB4NDcsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDMsMHgxMiwweDAxLDB4ZWMsMHg1NCwweGYwLAotMHhiNCwweDMwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDVmLDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwKLTB4MDgsMHgxMiwweDAyLDB4MGUsMHhmYSwweGZkLDB4ZWIsMHhmZSwweDdmLDB4MDEsMHg5MCwweGZjLDB4MmMsMHgxMiwweDA0LDB4NmUsCi0weGVlLDB4Y2QsMHg5MCwweDM1LDB4NzEsMHhmYywweGU0LDB4OTMsMHhmZiwweDc0LDB4MDEsMHg5MywweGZlLDB4ZjksMHhlZiwweGZhLAotMHg3YiwweDAxLDB4ZWEsMHhmZiwweGU5LDB4ZmUsMHhlYywweGMzLDB4OWUsMHhlZCwweDlmLDB4NDAsMHgyNSwweDkwLDB4MzUsMHg3MywKLTB4ZTQsMHg5MywweGZkLDB4NzQsMHgwMSwweDkzLDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHhlZSwweGNkLDB4ZmMsCi0weDkwLDB4ZmMsMHgyZSwweGUwLDB4ZDMsMHg5YywweDkwLDB4ZmMsMHgyZCwweGUwLDB4OWQsMHg1MCwweDA1LDB4NzUsMHg2NiwweDgwLAotMHg4MCwweDMzLDB4MTIsMHgxOSwweDY1LDB4ODAsMHgyZSwweGI0LDB4NjAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGIsMHhhYywKLTB4M2MsMHhhZCwweDNiLDB4MTIsMHgwNywweDc3LDB4OGMsMHg2NiwweDgwLDB4MWIsMHhiNCwweDEwLDB4MDMsMHhiMywweDQwLDB4MTAsCi0weGMzLDB4YjQsMHgyMCwweDAzLDB4YjMsMHg0MCwweDA5LDB4YzMsMHhiNCwweDQwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLAotMHg3NSwweDY2LDB4ODEsMHg4MCwweDAwLDB4ODAsMHg3NSwweGI0LDB4ODEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NmIsMHg5MCwKLTB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwMywweDEyLDB4MDEsMHhlYywweDU0LDB4ZjAsMHhiNCwweDMwLDB4MDIsCi0weDgwLDB4MDMsMHhkMywweDQwLDB4MWQsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLAotMHgwZSwweGZhLDB4ZmQsMHhlYiwweGZlLDB4N2YsMHgwMSwweDkwLDB4ZmMsMHgyZiwweDEyLDB4MDQsMHg2ZSwweDEyLDB4MTgsMHhjZiwKLTB4ODAsMHgzNiwweGI0LDB4NjAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MTMsMHg3NSwweDNhLDB4NjcsMHhlNCwweGY1LDB4MzksCi0weGY1LDB4MzgsMHhhYywweDNjLDB4YWQsMHgzYiwweDEyLDB4MDUsMHhkMywweDhjLDB4NjYsMHg4MCwweDFiLDB4YjQsMHgxMCwweDAzLAotMHhiMywweDQwLDB4MTAsMHhjMywweGI0LDB4MjAsMHgwMywweGIzLDB4NDAsMHgwOSwweGMzLDB4YjQsMHg0MCwweDAyLDB4ODAsMHgwMywKLTB4ZDMsMHg0MCwweDAwLDB4NzUsMHg2NiwweDgxLDB4ODAsMHgwMCwweDgwLDB4MDIsMHg4MCwweDAwLDB4ZTUsMHg2NiwweGZjLDB4OTAsCi0weGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHhlYywweDkwLDB4MDAsMHgwMiwweDEyLDB4MDMsMHgxNywweGFjLDB4NjcsMHgyMiwweDkwLAotMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NjAsMHgwNCwweDc0LDB4MDEsMHg4MCwKLTB4MDEsMHhlNCwweGEyLDB4ZTAsMHg5MiwweDAxLDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4ZWQsMHgyNCwweDAzLDB4ZmQsCi0weDUwLDB4MDEsMHgwZSwweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg2ZSwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLAotMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4ZjUsMHg2NywweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhmYywKLTB4N2QsMHg2NywweDEyLDB4MTcsMHg0NiwweGU1LDB4NjcsMHg3MCwweDA0LDB4NzUsMHg2NiwweDA4LDB4MjIsMHg3NSwweDY2LDB4MDAsCi0weDc4LDB4ODQsMHg3NiwweDAwLDB4NzgsMHg4NCwweGU2LDB4YzMsMHg5NSwweDY3LDB4NTAsMHgzOCwweDkwLDB4ZmMsMHgyZiwweDEyLAotMHgwNCwweDgwLDB4MTIsMHgwMSwweGU2LDB4ZmMsMHg5MCwweGZjLDB4MmMsMHgxMiwweDA0LDB4ODAsMHhlYywweDEyLDB4MDMsMHgwZiwKLTB4MzAsMHgwMSwweDBlLDB4OTAsMHhmYywweDMxLDB4ZTAsMHgwNCwweGYwLDB4OTAsMHhmYywweDMwLDB4NzAsMHgwMywweGUwLDB4MDQsCi0weGYwLDB4NzgsMHg4NCwweDA2LDB4OTAsMHhmYywweDJlLDB4ZTAsMHgwNCwweGYwLDB4OTAsMHhmYywweDJkLDB4NzAsMHgwMywweGUwLAotMHgwNCwweGYwLDB4ODAsMHhjMCwweDIyLDB4OTAsMHhmYywweDJhLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYywweGVkLDB4ZmUsMHhlYywKLTB4ZmQsMHg3ZiwweDAxLDB4ZWQsMHgyNCwweDBhLDB4ZmQsMHg1MCwweDAxLDB4MGUsMHg5MCwweGZjLDB4MzIsMHgxMiwweDA0LDB4NmUsCi0weDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhiNCwweDAxLAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MTcsMHg5MCwweGZjLDB4MzIsMHgxMiwweDA0LDB4ODAsMHgwZCwweGVkLDB4NzAsMHgwMSwKLTB4MGUsMHg5MCwweGZjLDB4MmYsMHgxMiwweDA0LDB4NmUsMHg3OCwweDg4LDB4NzYsMHgwMSwweDgwLDB4NGUsMHhiNCwweDAyLDB4MDIsCi0weDgwLDB4MDMsMHhkMywweDQwLDB4MTksMHg5MCwweGZjLDB4MzIsMHgxMiwweDA0LDB4ODAsMHhlZCwweDI0LDB4MDIsMHhmZCwweDUwLAotMHgwMSwweDBlLDB4OTAsMHhmYywweDJmLDB4MTIsMHgwNCwweDZlLDB4NzgsMHg4OCwweDc2LDB4MDIsMHg4MCwweDJkLDB4YjQsMHgwNCwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE5LDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDgwLDB4ZWQsMHgyNCwweDA0LDB4ZmQsCi0weDUwLDB4MDEsMHgwZSwweDkwLDB4ZmMsMHgyZiwweDEyLDB4MDQsMHg2ZSwweDc4LDB4ODgsMHg3NiwweDA0LDB4ODAsMHgwYywweGI0LAotMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDc1LDB4NjYsMHgwOCwweDIyLDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwKLTB4ODAsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHhmNSwweDY3LDB4NzgsMHg4NSwweDc2LDB4MDAsMHg3OCwweDg1LDB4ZTYsCi0weGMzLDB4OTUsMHg2NywweDQwLDB4MDMsMHgwMiwweDFhLDB4Y2QsMHg3OCwweDg2LDB4NzYsMHgwMCwweDc4LDB4ODYsMHhlNiwweGMzLAotMHg3OCwweDg4LDB4OTYsMHg1MCwweDc2LDB4OTAsMHhmYywweDJjLDB4MTIsMHgwNCwweDgwLDB4MTIsMHgwMSwweGU2LDB4ZmMsMHg5MCwKLTB4ZmMsMHgzMiwweDEyLDB4MDQsMHg4OSwweDEyLDB4MDEsMHhlMCwweGY0LDB4NWMsMHhmYywweDEyLDB4MDEsMHhlMCwweGY4LDB4OTAsCi0weGZjLDB4MmYsMHgxMiwweDA0LDB4ODAsMHhlOCwweGMwLDB4ZTAsMHgxMiwweDAxLDB4ZTYsMHhjOCwweGQwLDB4ZTAsMHhjOCwweDU4LAotMHg0YywweGZjLDB4OTAsMHhmYywweDJjLDB4MTIsMHgwNCwweDgwLDB4ZWMsMHgxMiwweDAzLDB4MGYsMHg3OCwweDg3LDB4ZWMsMHhmNiwKLTB4OTAsMHhmYywweDMxLDB4ZTAsMHgwNCwweGYwLDB4OTAsMHhmYywweDMwLDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDA5LDB4ZTksCi0weDcwLDB4MDEsMHgwYSwweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg3NywweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLAotMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4MzAsMHhlNCwweDBlLDB4OTAsMHhmYywweDJlLDB4ZTAsMHgwNCwweGYwLDB4OTAsMHhmYywKLTB4MmQsMHg3MCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4NzgsMHg4NiwweDA2LDB4ODAsMHg4MSwweDc4LDB4ODgsMHhlNiwweGZkLDB4ZTQsCi0weGZlLDB4ZmYsMHhlZSwweGNkLDB4ZmMsMHg5MCwweGZjLDB4MzEsMHhlMCwweDJjLDB4ZjAsMHg5MCwweGZjLDB4MzAsMHhlMCwweDNkLAotMHhmMCwweDc4LDB4ODgsMHhlNiwweGZkLDB4ZTQsMHhmZSwweGZmLDB4ZWUsMHhjZCwweGZjLDB4OTAsMHhmYywweDM0LDB4ZTAsMHgyYywKLTB4ZjAsMHg5MCwweGZjLDB4MzMsMHhlMCwweDNkLDB4ZjAsMHg3OCwweDg1LDB4MDYsMHgwMiwweDFhLDB4MGQsMHg3NSwweDY2LDB4MDAsCi0weDIyLDB4ZTUsMHgzZCwweDA1LDB4M2QsMHgwNCwweDcwLDB4MDIsMHhiMiwweGIwLDB4MjIsMHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLAotMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwLDB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwKLTB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZiwweGMwLDB4ZTAsMHg5MCwweGZmLDB4OTIsCi0weGUwLDB4MTIsMHgwMSwweGI3LDB4MWIsMHgyOSwweDMwLDB4MWIsMHgyOSwweDMyLDB4MWIsMHgzOCwweDM4LDB4MWIsMHg0YSwweDNhLAotMHgxYiwweDVjLDB4M2UsMHgxYiwweDc0LDB4NDQsMHgxYiwweDY4LDB4NDYsMHgxYiwweDgwLDB4NTAsMHgxYiwweGMyLDB4NTIsMHgxYiwKLTB4YTEsMHg1NCwweDFiLDB4ZTMsMHg1NiwweDAwLDB4MDAsMHgxYywweDA0LDB4OTAsMHhmZiwweDkyLDB4ZTAsMHg3ZiwweDAwLDB4ZmUsCi0weDdjLDB4MDEsMHgxMiwweDMxLDB4ZmIsMHgwMiwweDFjLDB4MTQsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDMsMHgxMiwweDMxLAotMHhmYiwweDc0LDB4MjAsMHg5MCwweGZmLDB4ZmUsMHhmMCwweDAyLDB4MWMsMHgxNCwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwMiwKLTB4MTIsMHgzMSwweGZiLDB4NzQsMHg0MCwweDkwLDB4ZmYsMHhmZSwweGYwLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsCi0weDdjLDB4MDQsMHgxMiwweDMxLDB4ZmIsMHgwMiwweDFjLDB4MTQsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDUsMHgxMiwweDMxLAotMHhmYiwweDAyLDB4MWMsMHgxNCwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwNiwweDEyLDB4MzEsMHhmYiwweDAyLDB4MWMsMHgxNCwKLTB4OTAsMHhmZiwweGE1LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmYiwweGY4LDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmIsCi0weGY5LDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZiLDB4ZjgsMHhlMCwweDQ0LDB4MzMsMHhmZCwweDEyLDB4MWMsMHhhNywweDgwLAotMHg3MywweDkwLDB4ZmYsMHhiNSwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmIsMHhmYSwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwKLTB4ZmIsMHhmYiwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmYiwweGZhLDB4ZTAsMHg0NCwweDQzLDB4ZmQsMHgxMiwweDFjLDB4YTcsCi0weDgwLDB4NTIsMHg5MCwweGZmLDB4YTYsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZiLDB4ZmMsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLAotMHg5MCwweGZiLDB4ZmQsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmIsMHhmYywweGUwLDB4NDQsMHgzNCwweGZkLDB4MTIsMHgxYywKLTB4YTcsMHg4MCwweDMxLDB4OTAsMHhmZiwweGI2LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmYiwweGZlLDB4Y2QsMHhmMCwweGEzLDB4Y2QsCi0weGYwLDB4OTAsMHhmYiwweGZmLDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZiLDB4ZmUsMHhlMCwweDQ0LDB4NDQsMHhmZCwweDEyLAotMHgxYywweGE3LDB4ODAsMHgxMCwweDkwLDB4ZmYsMHg5MiwweGUwLDB4N2QsMHgwMCwweGZjLDB4ZWQsMHg0NCwweGFhLDB4ZmQsMHgxMiwKLTB4MWMsMHhhNywweDgwLDB4MDAsMHhlNCwweDkwLDB4ZmYsMHg5MiwweGYwLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsCi0weGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLAotMHhmOCwweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzIsMHgwNSwweDgxLDB4MDUsMHg4MSwKLTB4MDUsMHg4MSwweDA1LDB4ODEsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDkwLDB4ZmYsCi0weDVhLDB4ZTAsMHgyMCwweGU3LDB4MDIsMHg4MCwweGY3LDB4OTAsMHhmZiwweDU5LDB4ZTAsMHg3ZCwweDAwLDB4YTgsMHg4MSwweDE4LAotMHhjZCwweGY2LDB4Y2QsMHgwOCwweGY2LDB4N2QsMHgwMywweGE4LDB4ODEsMHhlNiwweDE4LDB4ZmMsMHhlNiwweGNjLDB4MjUsMHhlMCwKLTB4Y2MsMHgzMywweGNjLDB4ZGQsMHhmOSwweGNjLDB4ZjYsMHhjYywweDA4LDB4ZjYsMHhhOCwweDgxLDB4MTgsMHhlNiwweDQ0LDB4ZjgsCi0weGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhhOCwweDgxLDB4MTgsMHg4NiwweDgzLAotMHgwOCwweDg2LDB4ODIsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLDB4NzQsMHgwMiwweDkwLDB4ZmYsMHg1YSwweGYwLDB4MTUsMHg4MSwKLTB4MTUsMHg4MSwweDE1LDB4ODEsMHgxNSwweDgxLDB4MjIsMHhlNSwweDgxLDB4MjQsMHgwNSwweGY1LDB4ODEsMHhlNCwweGE4LDB4ODEsCi0weDE4LDB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4OTAsMHhmYiwweGY1LAotMHhlMCwweDI0LDB4ZjgsMHg1MCwweDAzLDB4MDIsMHgxZCwweGM4LDB4ZTQsMHhhOCwweDgxLDB4MTgsMHgxOCwweGY2LDB4YTgsMHg4MSwKLTB4MTgsMHhlNiwweGZlLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDdmLDB4MDAsCi0weGVmLDB4MjQsMHhmOCwweDQwLDB4NGQsMHhlNCwweGVmLDB4MjUsMHhlMCwweDI0LDB4N2QsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLAotMHhmNSwweDgzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHg2YywweDcwLDB4MDMsMHhmYSwweGViLDB4NmQsMHg3MCwweDA5LDB4NzQsMHgwMSwKLTB4YTgsMHg4MSwweDE4LDB4MTgsMHhmNiwweDgwLDB4MmIsMHhlNCwweGVmLDB4MjUsMHhlMCwweDI0LDB4N2QsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmMsMHhmNSwweDgzLDB4N2EsMHgwMCwweGUwLDB4NTQsMHhmMCwweGNjLDB4ZjgsMHhjYywweGNkLDB4ZjksMHhjZCwweGZiLAotMHg3OCwweDAwLDB4ZTksMHg1NCwweGYwLDB4ZjksMHhlYSwweDY4LDB4NzAsMHgwMiwweGViLDB4NjksMHg3MCwweDAxLDB4MGUsMHgwZiwKLTB4ODAsMHhhZSwweGE4LDB4ODEsMHgxOCwweGVlLDB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlZCwweGY2LDB4MDgsCi0weGVjLDB4ZjYsMHhhOCwweDgxLDB4ZWYsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4ZTYsMHg3MCwweDc5LDB4YTgsMHg4MSwweDE4LAotMHhlNiwweDI0LDB4ZjcsMHg0MCwweDcxLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZTYsMHg1NCwweDBmLDB4YTgsMHg4MSwKLTB4ZjYsMHg2NCwweDA0LDB4NjAsMHgxNywweGE4LDB4ODEsMHhlNiwweDY0LDB4MDMsMHg2MCwweDEwLDB4YTgsMHg4MSwweDE4LDB4MTgsCi0weDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4MTIsMHgxYywweDNjLDB4ODAsMHg0YSwweDdjLDB4MGEsMHgxMiwweDMxLAotMHg1YiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHg5MCwweGZiLDB4ZjQsMHhlMCwKLTB4MjUsMHhlMCwweDI0LDB4N2QsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsCi0weDkwLDB4ZmIsMHhmNCwweGUwLDB4ZmYsMHhlNCwweGVmLDB4MDQsMHg1NCwweDA3LDB4ZmYsMHg5MCwweGZiLDB4ZjQsMHhmMCwweDkwLAotMHhmYiwweGY1LDB4ZTAsMHgwNCwweGYwLDB4MTIsMHgzMSwweGY0LDB4OTAsMHhmYiwweGY2LDB4ZTAsMHg3MCwweDA4LDB4ZTQsMHhmZSwKLTB4ZmYsMHg3YywweDBmLDB4MTIsMHgzMSwweGZiLDB4ODAsMHgyNywweDkwLDB4ZmIsMHhmNywweGUwLDB4MDQsMHhmMCwweDU0LDB4M2YsCi0weDcwLDB4MWQsMHg5MCwweGZiLDB4ZjcsMHhlMCwweDQ0LDB4ZmUsMHg3ZCwweDAwLDB4ZmMsMHg5MCwweGZiLDB4ZjQsMHhlMCwweDI1LAotMHhlMCwweDI0LDB4N2QsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHhlNSwKLTB4ODEsMHgyNCwweGZiLDB4ZjUsMHg4MSwweDIyLDB4NzgsMHg4YiwweDc2LDB4MDAsMHg3OCwweDhjLDB4NzYsMHgwMCwweDc0LDB4MDEsCi0weDkwLDB4ZmIsMHhmNiwweGYwLDB4MTIsMHgzMCwweGU2LDB4OTAsMHhmYiwweGY1LDB4ZTAsMHg2MCwweDU3LDB4N2MsMHgwYSwweDEyLAotMHgzMSwweDViLDB4OTAsMHhmYiwweGYzLDB4ZTAsMHgyNSwweGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwKLTB4ODMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLDB4OTAsMHhmYiwweGYzLDB4ZTAsMHgyNSwweGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlNCwweGYwLDB4YTMsMHhmMCwweDkwLDB4ZmIsMHhmMywweGUwLDB4ZmYsMHhlNCwweGVmLAotMHgwNCwweDU0LDB4MDcsMHhmZiwweDkwLDB4ZmIsMHhmMywweGYwLDB4OTAsMHhmYiwweGY1LDB4ZTAsMHgxNCwweGYwLDB4NzgsMHg4OSwKLTB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDEyLDB4MzEsMHhmNCwweDc4LDB4ODksMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4MTIsCi0weDA4LDB4ZGEsMHg4MCwweGEzLDB4MTIsMHgzMiwweDQ4LDB4OTAsMHhmZiwweDkzLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhiMiwweGIzLAotMHg3OCwweDhiLDB4MDYsMHhiNiwweDAwLDB4MTEsMHg3OCwweDhiLDB4NzYsMHgwMCwweDc4LDB4OGMsMHhlNiwweGY0LDB4MDQsMHgwNCwKLTB4YTIsMHhlMCwweDkyLDB4YjQsMHg3OCwweDhjLDB4ZjYsMHgwMiwweDFlLDB4MDcsMHhlNCwweDkwLDB4ZmIsMHhmNiwweGYwLDB4OTAsCi0weGZiLDB4ZjUsMHhlMCwweDdkLDB4MDAsMHhmYywweGVkLDB4NDQsMHhjZiwweGZkLDB4MTIsMHgxYywweDNjLDB4MTIsMHgzMSwweDY5LAotMHgyMiwweDEyLDB4MzAsMHhlNiwweGU1LDB4NzAsMHg2NCwweDQ5LDB4NDUsMHg2ZiwweDYwLDB4MTUsMHg5MCwweGZmLDB4ODMsMHhlMCwKLTB4NTQsMHgwZiwweDdkLDB4MDAsMHhkMywweDk1LDB4NzAsMHhlZCwweDk1LDB4NmYsMHg1MCwweDA1LDB4MTIsMHgyZiwweDJmLDB4ODAsCi0weDAzLDB4MTIsMHgyZiwweGZmLDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHhlNSwweDcwLDB4NjQsMHg0OSwweDQ1LAotMHg2ZiwweDYwLDB4MDUsMHgxMiwweDMwLDB4MzksMHg4MCwweDBlLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwKLTB4ZmYsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg4YywweDU0LDB4ZWMsCi0weDU0LDB4ZjAsMHhiNCwweDEwLDB4MTUsMHg3NSwweDZhLDB4MzUsMHg3NSwweDY5LDB4ZmMsMHg3NSwweDY4LDB4MDEsMHhlNSwweDZhLAotMHgyNCwweDAzLDB4ZjUsMHg2YSwweGU1LDB4NjksMHgzNCwweDAwLDB4ZjUsMHg2OSwweGU0LDB4ZjUsMHg1NywweGY1LDB4NTYsMHhlNSwKLTB4NTYsMHhjMywweDk0LDB4MDEsMHg1MCwweDI3LDB4ZTUsMHg1NCwweDU0LDB4MGYsMHhmYywweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsCi0weDY4LDB4MTIsMHgwZSwweDc3LDB4OGMsMHg1NSwweGVjLDB4NjAsMHgwMiwweDgwLDB4MTIsMHgwNSwweDZhLDB4ZTUsMHg2YSwweDcwLAotMHgwMiwweDA1LDB4NjksMHgwNSwweDU3LDB4ZTUsMHg1NywweDcwLDB4MDIsMHgwNSwweDU2LDB4ODAsMHhkMiwweGU1LDB4NTQsMHg1NCwKLTB4MGYsMHgyNCwweDlkLDB4ZjgsMHhjNiwweDU0LDB4ZmUsMHhmNiwweGU1LDB4NTQsMHg1NCwweDBmLDB4N2YsMHgwMCwweGZlLDB4N2MsCi0weDEyLDB4MTIsMHgzMSwweGZiLDB4ZTUsMHg1NSwweDE0LDB4NzAsMHgwOSwweDdkLDB4MDAsMHg3YywweDA5LDB4MTIsMHgyNSwweDI2LAotMHg4MCwweDA3LDB4YWQsMHg1NywweDdjLDB4MDAsMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwKLTB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweGZmLDB4MDAsMHhlMCwweDMwLDB4ZTcsMHgxMywweDkwLDB4ZmYsCi0weDgzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDZkLDB4ODAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLAotMHgxMSwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4NTMsMHg2ZCwweDdmLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg1NCwKLTB4ZmUsMHhmMCwweDkwLDB4ZmYsMHg4MSwweGUwLDB4NDQsMHg4MCwweGYwLDB4MTIsMHgyNSwweGQ5LDB4OTAsMHhmZiwweGZlLDB4ZTAsCi0weDQ0LDB4MDUsMHhmMCwweDkwLDB4ZmYsMHhmYywweGUwLDB4NTQsMHhmZCwweGYwLDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLAotMHhlNiwweDdjLDB4MDEsMHgxMiwweDMyLDB4YTksMHg3OCwweGFkLDB4ZTYsMHg0NCwweDAyLDB4ZjYsMHg3NCwweGZlLDB4ZmMsMHgwNCwKLTB4ZmQsMHgxMiwweDFjLDB4YTcsMHg5MCwweGZmLDB4NWEsMHhlMCwweDMwLDB4ZTcsMHgwMiwweDgwLDB4ZjcsMHhlNCwweGY1LDB4NGUsCi0weDc1LDB4NGQsMHgxMCwweGFjLDB4NGUsMHhhZCwweDRkLDB4ZTUsMHg0ZSwweDE1LDB4NGUsMHg3MCwweDAyLDB4MTUsMHg0ZCwweGVjLAotMHg0ZCwweDYwLDB4MDIsMHg4MCwweGVlLDB4NDMsMHg4NywweDAxLDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3YywKLTB4MDIsMHgxMiwweDMxLDB4NzUsMHg3OCwweGFkLDB4ZTYsMHg1NCwweGZkLDB4ZjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsCi0weGU2LDB4NzgsMHhhZCwweGU2LDB4MzAsMHhlMCwweDJjLDB4NzgsMHhhZCwweGU2LDB4MzAsMHhlMSwweDI2LDB4NzgsMHhhZCwweGU2LAotMHhmYywweGY1LDB4ODMsMHgxOCwweGU2LDB4NDQsMHhmMCwweGZkLDB4MTIsMHgxYywweDNjLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwKLTB4MjAsMHhmMCwweDdjLDB4MDIsMHgxMiwweDMyLDB4YTksMHg3OCwweGFkLDB4ZTYsMHg1NCwweGZkLDB4ZjYsMHg3NCwweDFhLDB4OTAsCi0weGZmLDB4ZmUsMHhmMCwweDc4LDB4YWQsMHhlNiwweGZjLDB4ZjUsMHg4MywweDE4LDB4ZTYsMHg0NCwweGYxLDB4ZmQsMHgxMiwweDFjLAotMHgzYywweDEyLDB4MzEsMHg2OSwweDIyLDB4NzUsMHg2ZCwweDAwLDB4OTAsMHhmZiwweGZmLDB4ZTAsMHg2MCwweDAzLDB4NDMsMHg2ZCwKLTB4MDEsMHg3NSwweDZlLDB4MDAsMHhlNCwweGY1LDB4NmMsMHhmNSwweDZiLDB4ZTQsMHhmNSwweDZmLDB4NzUsMHg3MCwweDQ5LDB4NzQsCi0weDg0LDB4OTAsMHhmZiwweDgyLDB4ZjAsMHg3NCwweDg0LDB4OTAsMHhmZiwweDgwLDB4ZjAsMHg3NCwweDgwLDB4OTAsMHhmZiwweDU4LAotMHhmMCwweDc0LDB4ODAsMHg5MCwweGZmLDB4NWEsMHhmMCwweGFkLDB4NDYsMHhhZiwweDQ1LDB4N2UsMHgwMCwweGVlLDB4MjQsMHhmZSwKLTB4NTAsMHgwMywweDAyLDB4MjEsMHgyNCwweGU0LDB4ZWUsMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4N2YsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZjgsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGU0LDB4ZWYsMHg1NCwweDgwLDB4ZmQsMHhlNCwweGVmLDB4NTQsMHgwZiwweDE0LAotMHhmZiwweGVkLDB4NjAsMHgzOCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4NzQsMHg5MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRlLAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweDgwLDB4MzQsMHhlNCwweGVmLDB4NzUsMHhmMCwKLTB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4OTAsMHhmMCwweGU0LDB4ZWYsCi0weDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGU0LAotMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwKLTB4MGUsMHgwMiwweDIwLDB4OGQsMHg4ZCwweDQ2LDB4OGUsMHg0NCwweDhmLDB4NDUsMHg3NCwweDdmLDB4OTAsMHhmZiwweGZkLDB4ZjAsCi0weDc0LDB4OTAsMHg5MCwweGZmLDB4ZmMsMHhmMCwweDIyLDB4OGMsMHg1OCwweGVjLDB4MjQsMHhmNiwweDUwLDB4MDYsMHhlNSwweDU4LAotMHgyNCwweDM3LDB4ZmMsMHgyMiwweGU1LDB4NTgsMHgyNCwweDMwLDB4ZmMsMHgyMiwweDEyLDB4MjUsMHgyMywweGVjLDB4NzAsMHgwMywKLTB4MDIsMHgyMiwweDVlLDB4NzUsMHg1YywweDAzLDB4YWUsMHg1YiwweDdmLDB4MDAsMHhlNSwweDVjLDB4MTUsMHg1YywweDY0LDB4ODAsCi0weDI0LDB4N2YsMHg1MCwweDM1LDB4ZWYsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlMCwweGZlLAotMHgyNCwweGZlLDB4NTAsMHgxZSwweGVmLDB4N2QsMHgwMCwweGZjLDB4ZTQsMHhmYiwweDc0LDB4NzQsMHhjMywweDljLDB4ZmEsMHhlYiwKLTB4OWQsMHhmYiwweGVlLDB4N2QsMHgwMCwweGZjLDB4ZWEsMHhjMywweDljLDB4ZWQsMHg2NCwweDgwLDB4Y2IsMHg2NCwweDgwLDB4OWIsCi0weDUwLDB4MDIsMHg4MCwweDA1LDB4ZWYsMHgyZSwweGZmLDB4ODAsMHhjMSwweDhlLDB4NWIsMHg4ZiwweDVhLDB4ZTUsMHg1YywweDY0LAotMHg4MCwweDI0LDB4N2YsMHg1MCwweDAzLDB4MDIsMHgyMiwweDVlLDB4ZTUsMHg1YSwweDI0LDB4OGUsMHg1MCwweDAzLDB4MDIsMHgyMiwKLTB4NWUsMHg4NSwweDVhLDB4NWQsMHg3NSwweDViLDB4MDAsMHhhZSwweDVhLDB4YWYsMHg1YiwweDkwLDB4MzUsMHg5YywweGU0LDB4OTMsCi0weGY1LDB4NWMsMHhlNSwweDVjLDB4MTUsMHg1YywweDY0LDB4ODAsMHgyNCwweDdmLDB4NTAsMHgxOCwweGVlLDB4MjQsMHgwMCwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlMCwweGZjLDB4ZWYsMHg5MCwweDM1LDB4OWMsMHg5MywweDZjLDB4NzAsMHgwNCwKLTB4MGUsMHgwZiwweDgwLDB4ZGUsMHg4ZSwweDVhLDB4OGYsMHg1YiwweGU1LDB4NWMsMHg2NCwweDgwLDB4MjQsMHg3ZiwweDQwLDB4NmUsCi0weDc1LDB4NWUsMHgwMSwweDc1LDB4NjAsMHhlOCwweDc1LDB4NWYsMHhmZiwweGU1LDB4NWQsMHgyNCwweDAyLDB4ZjUsMHg1YSwweDc1LAotMHg1YywweDA3LDB4ZTUsMHg1YywweDMzLDB4NDAsMHg1NywweGFkLDB4NjAsMHhhZSwweDVmLDB4YWYsMHg1ZSwweGU1LDB4NWMsMHhmNSwKLTB4ODIsMHgzMywweDk1LDB4ZTAsMHhmNSwweDgzLDB4MTIsMHgwMSwweGVjLDB4YzQsMHg1NCwweDBmLDB4ZmMsMHgxMiwweDIxLDB4MzcsCi0weGU1LDB4NWEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlYywweGYwLDB4MDUsMHg1YSwweDA1LAotMHg1YSwweGFkLDB4NjAsMHhhZSwweDVmLDB4YWYsMHg1ZSwweGU1LDB4NWMsMHhmNSwweDgyLDB4MzMsMHg5NSwweGUwLDB4ZjUsMHg4MywKLTB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGZjLDB4MTIsMHgyMSwweDM3LDB4ZTUsMHg1YSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmIsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDA1LDB4NWEsMHgwNSwweDVhLDB4MTUsMHg1YywweDgwLDB4YTQsMHg3NCwweDAyLAotMHg5MCwweGY4LDB4NTEsMHhmMCwweDkwLDB4ZjgsMHg2YiwweDc5LDB4NzUsMHg3YSwweDM1LDB4N2IsMHgyNywweDc4LDB4MDEsMHgxMiwKLTB4MDMsMHhmNSwweDc1LDB4NmEsMHgzNSwweDc1LDB4NjksMHhmYywweDc1LDB4NjgsMHgwMSwweGU0LDB4OTAsMHhmZiwweDgzLDB4ZjAsCi0weDc0LDB4ODAsMHg5MCwweGZmLDB4ODEsMHhmMCwweDc1LDB4NTksMHgwMiwweGU1LDB4NTksMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LAotMHg3ZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZjgsMHhmNSwweDgzLDB4ZTAsMHg3OCwweDhmLDB4ZjYsMHhmYywweDU0LDB4MGYsMHgxNCwKLTB4ZmMsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGU1LDB4NTksMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4ODEsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZjgsMHhmNSwweDgzLDB4ZTAsMHg3OCwweDkyLDB4NzYsMHhmZCwweDA4LDB4NzYsMHhlOCwweGZjLDB4NzgsMHg4ZiwweGU2LAotMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwKLTB4OGYsMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWMsCi0weGYwLDB4NzgsMHg5MiwweGU2LDB4ZmYsMHgwOCwweGU2LDB4N2UsMHgwMywweGNmLDB4YzMsMHgxMywweGNmLDB4MTMsMHhkZSwweGY5LAotMHhmZSwweDc4LDB4OGYsMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwKLTB4ODMsMHhlZSwweGYwLDB4NzgsMHg4ZiwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweDc4LDB4OTAsMHhlYywweGY2LDB4N2QsMHgwMCwweDc4LDB4OTMsMHhlNiwweDJjLAotMHhmNiwweDE4LDB4ZTYsMHgzZCwweGY2LDB4NzgsMHg5MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4N2MsMHgwMywweGNkLDB4YzMsMHgxMywKLTB4Y2QsMHgxMywweGRjLDB4ZjksMHhmYywweDc4LDB4OGYsMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZCwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHg4ZiwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRlLAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDkyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywKLTB4NzgsMHg4ZiwweGU2LDB4ZmYsMHg3ZSwweDAwLDB4ZWUsMHgyNCwweGZlLDB4NTAsMHgwMywweDAyLDB4MjQsMHhkZCwweGU0LDB4ZWUsCi0weDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg3ZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZjgsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGU0LAotMHhlZiwweDU0LDB4ODAsMHhmYSwweGU0LDB4ZWYsMHg1NCwweDBmLDB4MTQsMHhmZiwweGU0LDB4ZWUsMHg3NSwweGYwLDB4MDcsMHhhNCwKLTB4MjQsMHg4MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZjgsMHhmNSwweDgzLDB4ZTAsMHg3OCwweDkwLDB4ZjYsMHhlNCwweGVlLDB4MTMsCi0weDEzLDB4NTQsMHg4MCwweDI0LDB4ZjAsMHhmOCwweGU0LDB4MzQsMHhmZCwweGY5LDB4ZTgsMHhmYywweGU5LDB4ZmQsMHg4YSwweDVhLAotMHhlYSwweDcwLDB4MDMsMHgwMiwweDI0LDB4NGEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDkwLDB4ZTYsMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsCi0weGE0LDB4MjQsMHg0ZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweGVkLDB4ZmIsMHhlYywweDdhLAotMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwKLTB4NDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHg3OCwweDkwLDB4ZTYsMHg3YiwweDAwLDB4ZmEsCi0weGVjLDB4MmEsMHhmYywweGVkLDB4M2IsMHhmZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsMHhjMywweDEzLDB4Y2IsMHgxMywweGRhLAotMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwKLTB4ODMsMHhlYSwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsCi0weGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRlLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweDAyLDB4MjQsMHhkOSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwKLTB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OTAsMHhlNiwweGZhLDB4ZTQsCi0weGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLAotMHhlZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsMHhjMywweDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwKLTB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweDc4LDB4OTAsCi0weGU2LDB4N2IsMHgwMCwweGZhLDB4ZWMsMHgyYSwweGZjLDB4ZWQsMHgzYiwweGZkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLAotMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBkLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBhLDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBlLAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHgwZSwweDAyLDB4MjMsMHg2NiwweDhlLDB4NTksMHg3OCwKLTB4OTIsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4NzgsMHg4ZiwweGVmLDB4ZjYsMHgxMiwweDIwLDB4NTUsMHgyMiwweDhjLDB4MjYsCi0weGVjLDB4MzAsMHhlNywweDE4LDB4ZTUsMHgyNiwweDU0LDB4MGYsMHgxNCwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZGYsMHhmMCwweDgwLDB4MTYsMHhlNSwweDI2LDB4NTQsMHgwZiwKLTB4MTQsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsCi0weGRmLDB4ZjAsMHgyMiwweDdjLDB4MDAsMHgyMiwweGVjLDB4OTAsMHhmYywweDM3LDB4ZjAsMHg4YywweDI0LDB4ZWQsMHgyNCwweDAzLAotMHhmNSwweDI1LDB4N2QsMHgwMCwweGQzLDB4OTUsMHg3MiwweGVkLDB4OTUsMHg3MSwweDQwLDB4MDMsMHg4NSwweDcyLDB4MjUsMHhlNSwKLTB4MjUsMHgyNCwweGI3LDB4NTAsMHgwOSwweDc1LDB4MjUsMHgwMywweDc0LDB4MDIsMHg5MCwweGZjLDB4MzcsMHhmMCwweGFjLDB4MjUsCi0weDEyLDB4MzAsMHgyNCwweDIyLDB4ZTQsMHhmNSwweDZjLDB4ZjUsMHg2YiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4OTAsMHhmYywweDM1LAotMHhlMCwweDY1LDB4NzMsMHg2MCwweDBlLDB4NzQsMHgwNCwweDkwLDB4ZmMsMHgzNywweGYwLDB4ZTQsMHhmNSwweDZiLDB4NzUsMHg2YywKLTB4MDMsMHg4MCwweDQ2LDB4N2QsMHg3MywweGU0LDB4ZmUsMHhmZiwweDc5LDB4MzUsMHg3YSwweGZjLDB4N2IsMHgwMSwweDc0LDB4MDUsCi0weDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHhlNSwweDZjLDB4MjQsMHgwMywweGY1LDB4NmMsMHhlNSwweDZiLDB4MzQsMHgwMCwweGY1LAotMHg2YiwweGU1LDB4NmMsMHhkMywweDk1LDB4NzIsMHhlNSwweDZiLDB4OTUsMHg3MSwweDQwLDB4MDYsMHg4NSwweDcyLDB4NmMsMHg4NSwKLTB4NzEsMHg2YiwweGQzLDB4ZTUsMHg2YywweDk0LDB4NDgsMHhlNSwweDZiLDB4OTQsMHgwMCwweDQwLDB4MGMsMHg3NCwweDAyLDB4OTAsCi0weGZjLDB4MzcsMHhmMCwweGU0LDB4ZjUsMHg2YiwweDc1LDB4NmMsMHgwMywweGFjLDB4NmMsMHgxMiwweDMwLDB4MjQsMHgyMiwweGVjLAotMHg5MCwweGZjLDB4MzcsMHhmMCwweGU0LDB4ZjUsMHg2YywweGY1LDB4NmIsMHg4YywweDMyLDB4ZWMsMHg2MCwweDA1LDB4MTIsMHgzMCwKLTB4MTUsMHg4MCwweDA1LDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4OTAsMHhmZiwweDkzLDB4ZTAsMHg0NCwweDAxLDB4ZjAsCi0weGIyLDB4YjMsMHg5MCwweGZmLDB4MDQsMHhlMCwweGY1LDB4NGEsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZkLDB4YTMsMHhlMCwweGVkLAotMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZmLDB4YTMsMHhlMCwweDdlLDB4MDAsMHhmZiwKLTB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmYywweGVkLDB4NGYsMHhmZCwweGMzLDB4ZWMsMHg5NCwweDQ4LDB4ZWQsMHg5NCwweDAwLDB4NTAsCi0weDIyLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweDkwLAotMHhmZiwweDA2LDB4ZTAsMHhmZiwweGEzLDB4ZTAsMHg3ZSwweDAwLDB4ZmYsMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwKLTB4ZmQsMHg4MCwweDA0LDB4ZTQsMHhmZCwweDdjLDB4NDgsMHg4YywweDcyLDB4OGQsMHg3MSwweDkwLDB4ZmYsMHgwMiwweGUwLDB4ZmQsCi0weGEzLDB4ZTAsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweDkwLDB4ZmYsMHgwMiwweGUwLDB4ZmYsMHhhMywweGUwLAotMHg3ZSwweDAwLDB4ZmYsMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGY1LDB4NGMsMHhlZCwweDRmLDB4ZjUsMHg0YiwweDc1LDB4NmEsMHgzNSwKLTB4NzUsMHg2OSwweGZjLDB4NzUsMHg2OCwweDAxLDB4N2QsMHgzNSwweDdlLDB4ZmMsMHg3ZiwweDAxLDB4NzksMHg3MywweGU0LDB4ZmEsCi0weGZiLDB4NzQsMHgwNSwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHg3NSwweDQ5LDB4MDAsMHhlNSwweDQ5LDB4MjQsMHhmZSwweDQwLAotMHgxOSwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweGU0LDB4MTIsMHgwMywweDBmLDB4MDUsMHg0OSwweDBkLDB4ZWQsMHg3MCwKLTB4MDEsMHgwZSwweDhkLDB4NmEsMHg4ZSwweDY5LDB4OGYsMHg2OCwweDgwLDB4ZTEsMHg3NSwweDZhLDB4MzUsMHg3NSwweDY5LDB4ZmMsCi0weDc1LDB4NjgsMHgwMSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHg2MCwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDYsMHhkMywweDUwLAotMHgwMywweDAyLDB4MmMsMHg2ZCwweGU1LDB4NGEsMHg1NCwweDBmLDB4ZjUsMHg0OSwweGU1LDB4NGEsMHg1NCwweDgwLDB4YTIsMHhlMCwKLTB4OTIsMHgwMiwweDkwLDB4ZmYsMHgwMSwweGUwLDB4MTIsMHgwMSwweDgxLDB4MDAsMHgwYiwweDJjLDB4NjgsMHgyNiwweGU1LDB4MjgsCi0weDAzLDB4MmMsMHg2OCwweDI5LDB4MGYsMHgyYywweDY4LDB4MjksMHhmMiwweDJhLDB4MjYsMHgyYiwweDhkLDB4MmIsMHg5MCwweDJiLAotMHhkMCwweDJjLDB4MTEsMHgyYywweDNmLDB4ZTUsMHg2ZCwweDMwLDB4ZTcsMHgwZSwweGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOCwKLTB4ZTUsMHg3MiwweDY0LDB4MDIsMHg0NSwweDcxLDB4NjAsMHgwMywweDAyLDB4MmMsMHg2YSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsCi0weDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgyOSwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOCwweDAwLAotMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHg3NCwweDAxLDB4MTIsMHgwMywweDBmLDB4NzgsMHhhZCwweGU2LDB4MzAsMHhlMCwKLTB4MGIsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHg3NCwweDAyLDB4MTIsMHgwMywweDBmLDB4N2MsMHgwMiwweDEyLDB4MzAsCi0weDI0LDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFiLDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwNywweGU1LAotMHg0YSwweDYwLDB4MDMsMHgwMiwweDI4LDB4MDAsMHhlNSwweDRhLDB4MjQsMHhmZSwweDUwLDB4MDMsMHgwMiwweDI4LDB4MDAsMHg3YywKLTB4MDIsMHgxMiwweDMwLDB4MjQsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwweDI3LDB4ZmUsCi0weGU1LDB4NmQsMHgyMCwweGUxLDB4MGQsMHhlNSwweDRhLDB4NjAsMHgwOSwweGU1LDB4NGEsMHg2NCwweDgwLDB4NjAsMHgwMywweDAyLAotMHgyOCwweDAwLDB4YWMsMHg0YSwweDEyLDB4MzAsMHhhYiwweDQwLDB4MDMsMHgwMiwweDI4LDB4MDAsMHhlNSwweDQ5LDB4NzAsMHgyNSwKLTB4MzAsMHgwMiwweDExLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4MTIsCi0weDAzLDB4MGYsMHg4MCwweDBmLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LAotMHgxMiwweDAzLDB4MGYsMHg4MCwweDNkLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxZCwweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwKLTB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2YSwweGFlLDB4NjksCi0weGFmLDB4NjgsMHgxMiwweDAzLDB4MGYsMHg4MCwweDFiLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4MDgsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHgxMiwKLTB4MDMsMHgwZiwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDEyLDB4MDEsMHhlNiwweDYwLDB4MGIsMHhhZCwweDZhLDB4YWUsCi0weDY5LDB4YWYsMHg2OCwweDc0LDB4MDEsMHgxMiwweDAzLDB4MGYsMHg3YywweDAyLDB4MTIsMHgzMCwweDI0LDB4MjIsMHg4MCwweDAwLAotMHgwMiwweDJjLDB4NmEsMHhlNSwweDZkLDB4MjAsMHhlNywweDA2LDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg2MCwweDAzLDB4MDIsMHgyYywKLTB4NmEsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFhLDB4ZTUsCi0weDRjLDB4MTQsMHg0NSwweDRiLDB4NzAsMHgwNCwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOSwweDBjLDB4NzgsMHhhZCwweGU2LAotMHg1NCwweGZlLDB4ZjYsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwKLTB4MmEsMHhlNSwweDZkLDB4MjAsMHhlMSwweDA4LDB4ZTUsMHg2ZCwweDIwLDB4ZTAsMHgwMywweDAyLDB4MjksMHgwYywweGU1LDB4NmQsCi0weDMwLDB4ZTAsMHgwNCwweGU1LDB4NGEsMHg3MCwweDBiLDB4ZTUsMHg2ZCwweDMwLDB4ZTEsMHgwOSwweGU1LDB4NGEsMHgyNCwweGZlLAotMHg1MCwweDAzLDB4MDIsMHgyOSwweDBjLDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwNiwKLTB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyOSwweDBhLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg2MCwweDAzLDB4MDIsMHgyOSwweDBjLDB4YWMsCi0weDRhLDB4MTIsMHgzMCwweGFiLDB4NDAsMHgwMywweDAyLDB4MjksMHgwYywweGU1LDB4NmQsMHgyMCwweGUxLDB4MDcsMHhlNSwweDZkLAotMHgyMCwweGUwLDB4MDIsMHg4MCwweDc3LDB4ZTUsMHg2ZCwweDMwLDB4ZTAsMHgwNiwweGU1LDB4NDksMHg2MCwweDAyLDB4ODAsMHg2YywKLTB4ZTUsMHg0OSwweDcwLDB4MGYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NTQsCi0weGY3LDB4ZjAsMHgyMiwweGU1LDB4NDksMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDA5LDB4N2QsMHgwMSwweDdjLAotMHgwMywweDEyLDB4MGYsMHgwOSwweDgwLDB4MTEsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDA5LDB4N2QsMHgwMSwKLTB4N2MsMHgwNCwweDEyLDB4MGYsMHgwOSwweDgwLDB4MDAsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDE1LDB4ZTUsMHg0OSwweDc1LDB4ZjAsCi0weDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDgwLAotMHgxMywweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywKLTB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHg4MCwweDAwLDB4MDIsMHgyYywweDZhLDB4ZTUsCi0weDZkLDB4MjAsMHhlNywweDA2LDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg2MCwweDAzLDB4MDIsMHgyYywweDZhLDB4OTAsMHhmZiwweDAwLAotMHhlMCwweDU0LDB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFhLDB4ZTUsMHg0YywweDE0LDB4NDUsMHg0YiwKLTB4NzAsMHgwNCwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOSwweGVmLDB4NzgsMHhhZCwweGU2LDB4NDQsMHgwMSwweGY2LDB4N2MsCi0weDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDI5LDB4ZTUsMHg2ZCwweDIwLAotMHhlMSwweDA4LDB4ZTUsMHg2ZCwweDIwLDB4ZTAsMHgwMywweDAyLDB4MjksMHhlZiwweGU1LDB4NmQsMHgzMCwweGUwLDB4MDQsMHhlNSwKLTB4NDksMHg3MCwweDBiLDB4ZTUsMHg2ZCwweDMwLDB4ZTEsMHgwOCwweGU1LDB4NDksMHgyNCwweGZlLDB4NTAsMHgwMiwweDgwLDB4N2YsCi0weDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NmYsMHhlNSwweDRjLAotMHg0NSwweDRiLDB4NjAsMHgwMiwweDgwLDB4NjksMHhhYywweDRhLDB4MTIsMHgzMCwweGFiLDB4NDAsMHgwMiwweDgwLDB4NjAsMHhlNSwKLTB4NmQsMHgyMCwweGUxLDB4MDcsMHhlNSwweDZkLDB4MjAsMHhlMCwweDAyLDB4ODAsMHg1NCwweGU1LDB4NDksMHg3MCwweDE0LDB4MzAsCi0weDAyLDB4MDksMHg5MCwweGZmLDB4ODAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDgwLDB4MDcsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LAotMHgwOCwweGYwLDB4MjIsMHhlNSwweDZkLDB4MzAsMHhlMSwweDMzLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxNSwweGU1LDB4NDksMHg3NSwKLTB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDA4LDB4ZjAsCi0weDgwLDB4MTMsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LAotMHg4MywweGUwLDB4NDQsMHgwOCwweGYwLDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4ODAsMHgwMiwweDgwLDB4MDAsMHgwMiwKLTB4MmMsMHg2YSwweGU1LDB4NmQsMHgyMCwweGU3LDB4MTIsMHhlNSwweDcyLDB4NDUsMHg3MSwweDcwLDB4MGMsMHhlNSwweDRhLDB4NzAsCi0weDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsMHg2YSwweGU1LDB4NGMsMHg5MCwweGZmLAotMHhmZiwweGYwLDB4OTAsMHhmZiwweGZmLDB4ZTAsMHg2MCwweDA1LDB4NDMsMHg2ZCwweDAxLDB4ODAsMHgwMywweDUzLDB4NmQsMHhmZSwKLTB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4ZTUsMHg2ZCwweDMwLDB4ZTcsMHgwZSwweGU1LDB4NzIsMHg0NSwweDcxLDB4NjAsCi0weDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsMHg2YSwweGFkLDB4NGIsMHhlNSwweDRjLAotMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweGJkLDB4MDAsMHgwMiwweDgwLDB4MDMsMHgwMiwweDJiLDB4ODgsMHhiNCwKLTB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MzIsMHhlNSwweDRhLDB4NzAsMHgwNSwweGU1LDB4NGMsMHhmYywweDYwLDB4MDMsCi0weDAyLDB4MmIsMHg4YSwweDc1LDB4NmEsMHg0MCwweDc1LDB4NjksMHhmOCwweDc1LDB4NjgsMHgwMSwweGQzLDB4ZTUsMHg3MiwweDk0LAotMHgxMiwweGU1LDB4NzEsMHg5NCwweDAwLDB4NDAsMHgwNiwweGU0LDB4ZmQsMHg3YywweDEyLDB4ODAsMHgwNCwweGFjLDB4NzIsMHhhZCwKLTB4NzEsMHg4YywweDcwLDB4OGQsMHg2ZiwweDEyLDB4MzAsMHgzOSwweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsCi0weDU5LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDJiLDB4OGEsMHhlNSwweDRjLDB4ZmMsMHg3MCwweDI3LDB4NzUsMHg2YSwweDUyLAotMHg3NSwweDY5LDB4ZjgsMHg3NSwweDY4LDB4MDEsMHhkMywweGU1LDB4NzIsMHg5NCwweDE5LDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg0MCwKLTB4MDYsMHhlNCwweGZkLDB4N2MsMHgxOSwweDgwLDB4MDQsMHhhYywweDcyLDB4YWQsMHg3MSwweDhjLDB4NzAsMHg4ZCwweDZmLDB4MTIsCi0weDMwLDB4MzksMHg4MCwweDI1LDB4NzUsMHg2YSwweDZiLDB4NzUsMHg2OSwweGY4LDB4NzUsMHg2OCwweDAxLDB4ZDMsMHhlNSwweDcyLAotMHg5NCwweDI3LDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg0MCwweDA2LDB4ZTQsMHhmZCwweDdjLDB4MjcsMHg4MCwweDA0LDB4YWMsMHg3MiwKLTB4YWQsMHg3MSwweDhjLDB4NzAsMHg4ZCwweDZmLDB4MTIsMHgzMCwweDM5LDB4MjIsMHhiNCwweDAzLDB4MDIsMHg4MCwweDA2LDB4ZDMsCi0weDUwLDB4MDMsMHgwMiwweDJiLDB4ODgsMHhlNSwweDRjLDB4ZjUsMHg0OSwweDcwLDB4MGYsMHg5MCwweGZmLDB4MDQsMHhlMCwweGZkLAotMHhhMywweGUwLDB4NGQsMHg2MCwweDAzLDB4MDIsMHgyYiwweDhhLDB4ODAsMHgxOCwweDkwLDB4ZmIsMHgwMiwweGUwLDB4ZmQsMHhhMywKLTB4ZTAsMHhmYywweDkwLDB4ZmYsMHgwNSwweGUwLDB4NmMsMHg3MCwweDA3LDB4OTAsMHhmZiwweDA0LDB4ZTAsMHg2ZCwweDYwLDB4MDIsCi0weDgwLDB4NjgsMHhlNCwweGY1LDB4NzAsMHhmNSwweDZmLDB4N2YsMHgwMCwweGU1LDB4NDksMHgxNCwweGM1LDB4NDksMHg2MCwweDBmLAotMHhlZiwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4MmYsMHhmZiwweDgwLDB4ZWEsMHg4ZiwKLTB4NGEsMHhlNSwweDRhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZTAsMHg3ZCwweDAwLDB4ZDMsCi0weDk1LDB4NzIsMHhlZCwweDk1LDB4NzEsMHg0MCwweDA2LDB4YWMsMHg3MiwweGFkLDB4NzEsMHg4MCwweDBmLDB4ZTUsMHg0YSwweDI0LAotMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHg4YywweDcwLDB4OGQsMHg2ZiwKLTB4ZTUsMHg0YSwweDI0LDB4MDAsMHhmYywweGU0LDB4MzQsMHhmYiwweGZkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDhkLDB4NmEsCi0weDhlLDB4NjksMHg4ZiwweDY4LDB4MTIsMHgzMCwweDM5LDB4MjIsMHg4MCwweDAwLDB4MDIsMHgyYywweDZhLDB4MDIsMHgyYywweDZhLAotMHhlNSwweDZkLDB4MzAsMHhlNywweDE5LDB4ZTUsMHg3MiwweDE0LDB4NDUsMHg3MSwweDcwLDB4MTIsMHhlNSwweDRhLDB4NzAsMHgwZSwKLTB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsCi0weDZhLDB4ZTUsMHg2ZCwweDIwLDB4ZTAsMHgwOCwweGU1LDB4NmQsMHgyMCwweGUxLDB4MDMsMHgwMiwweDJjLDB4NmEsMHg3NSwweDZhLAotMHg2ZSwweGU0LDB4ZjUsMHg2OSwweGY1LDB4NjgsMHhlNCwweGY1LDB4NmYsMHgwNCwweGY1LDB4NzAsMHgxMiwweDMwLDB4MzksMHgyMiwKLTB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxMiwweGU1LDB4NzIsMHg0NSwweDcxLDB4NzAsMHgwYywweGU1LDB4NGEsMHg3MCwweDA4LDB4OTAsCi0weGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDZhLDB4ZTUsMHg2ZCwweDIwLDB4ZTAsMHgwNywweGU1LAotMHg2ZCwweDIwLDB4ZTEsMHgwMiwweDgwLDB4NzQsMHg4NSwweDRjLDB4NmUsMHhlNSwweDZlLDB4NzAsMHgwOCwweDQzLDB4NmQsMHgwMSwKLTB4NTMsMHg2ZCwweGZkLDB4ODAsMHgwNiwweDUzLDB4NmQsMHhmZSwweDQzLDB4NmQsMHgwMiwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsCi0weDIyLDB4ZTUsMHg2ZCwweDMwLDB4ZTcsMHgxYSwweGU1LDB4NzIsMHgxNCwweDQ1LDB4NzEsMHg3MCwweDEzLDB4ZTUsMHg0YSwweDcwLAotMHgwZiwweGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDE0LDB4NjAsMHgwMiwKLTB4ODAsMHgzOCwweGU1LDB4NmQsMHgyMCwweGUxLDB4MDIsMHg4MCwweDMxLDB4N2MsMHgwMSwweDEyLDB4MzAsMHgyNCwweDIyLDB4ZTUsCi0weDZkLDB4MjAsMHhlNywweDE1LDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg3MCwweDBmLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA5LAotMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHgxNCwweDYwLDB4MDIsMHg4MCwweDBmLDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwMiwKLTB4ODAsMHgwOCwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweDgwLDB4MDAsMHgwMiwweDJmLDB4MmIsMHhiNCwweDQwLDB4MDIsCi0weDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwweDJmLDB4MjEsMHg5MCwweGZmLDB4MDEsMHhlMCwweDkwLDB4ZmMsMHgzNSwweGYwLAotMHhlNSwweDRhLDB4OTAsMHhmYywweDM2LDB4ZjAsMHhlNCwweDkwLDB4ZmMsMHgzNywweGYwLDB4ZTUsMHg2YSwweDI0LDB4MDMsMHhmNSwKLTB4NmEsMHhlNSwweDY5LDB4MzQsMHgwMCwweGY1LDB4NjksMHhhZCwweDRiLDB4ZTUsMHg0YywweDg1LDB4NmEsMHg4MiwweDg1LDB4NjksCi0weDgzLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmYsMHgwMSwweGUwLDB4MTIsMHgwMSwweGI3LDB4MmMsMHhkOCwweDAxLAotMHgyYywweGZlLDB4MDIsMHgyZCwweDI4LDB4MDMsMHgyZCwweDUyLDB4MDQsMHgyZCwweGEwLDB4MDUsMHgyZCwweGRkLDB4MDYsMHgyZSwKLTB4MDMsMHgwNywweDJlLDB4MjksMHgwOCwweDJlLDB4NTUsMHgwOSwweDJlLDB4N2IsMHgwYiwweDJlLDB4YTEsMHgwYywweDJlLDB4YjAsCi0weDgwLDB4MmUsMHhiMCwweDgxLDB4MDAsMHgwMCwweDJmLDB4MGUsMHhlNSwweDZkLDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLAotMHgyNSwweGJmLDB4MjIsMHg3ZCwweDI0LDB4N2UsMHgzNSwweDdmLDB4MDIsMHg3OSwweDM4LDB4N2EsMHhmYywweDdiLDB4MDEsMHg3NCwKLTB4MDgsMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLDB4N2QsMHgwOCwweDdjLDB4MDAsMHgxMiwweDI1LDB4MjYsMHgyMiwweGU1LDB4NmQsCi0weDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LDB4YmYsMHgyMiwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLAotMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTAsMHgxMiwweDMxLDB4ZmIsMHgyMiwKLTB4N2QsMHgwMCwweDdjLDB4MDcsMHgxMiwweDI1LDB4MjYsMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsCi0weDI1LDB4YmYsMHgyMiwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LAotMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTEsMHgxMiwweDMxLDB4ZmIsMHgyMiwweDdkLDB4MDAsMHg3YywweDA3LDB4MTIsMHgyNSwKLTB4MjYsMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwweGJmLDB4MjIsMHhlNSwweDRhLDB4YjQsCi0weDA1LDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDBhLDB4MTIsMHgzMSwweGZiLAotMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDgsMHgxMiwKLTB4MzEsMHhmYiwweDIyLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsCi0weDAwLDB4ZmUsMHg3YywweDEzLDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3ZCwweDAwLDB4N2MsMHgwNywweDEyLDB4MjUsMHgyNiwweDIyLAotMHhlNSwweDZkLDB4MjAsMHhlNywweDM0LDB4ZDMsMHhlNSwweDcyLDB4OTQsMHg0OCwweGU1LDB4NzEsMHg5NCwweDAwLDB4NTAsMHgwNiwKLTB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg3MCwweDA2LDB4N2MsMHgwMiwweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDEsCi0weDAzLDB4YjMsMHg0MCwweDBiLDB4YzMsMHhiNCwweDAzLDB4MDAsMHg0MCwweDA5LDB4YjQsMHgwNiwweDAwLDB4NTAsMHgwNCwweDEyLAotMHgzMCwweGQxLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwweDI1LDB4NWQsMHgyMiwweGU1LDB4NmQsMHgyMCwKLTB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsCi0weDdmLDB4MDAsMHhmZSwweDdjLDB4MTYsMHgxMiwweDMxLDB4ZmIsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLAotMHgyNSwweDVkLDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwKLTB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxOSwweDEyLDB4MzEsMHhmYiwweDIyLDB4N2MsCi0weDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwweDI1LDB4NWQsMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MjMsMHg3NCwweDgxLAotMHg5MCwweGZmLDB4OTMsMHhmMCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwKLTB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTcsMHgxMiwweDMxLDB4ZmIsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsCi0weDIyLDB4MTIsMHgyNSwweDVkLDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLAotMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxOCwweDEyLDB4MzEsMHhmYiwKLTB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwweDI1LDB4NWQsMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MWQsCi0weGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLAotMHhmZSwweDdjLDB4MTUsMHgxMiwweDMxLDB4ZmIsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwKLTB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLDB4MjIsCi0weGU1LDB4NmQsMHgzMCwweGU3LDB4MjAsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg3MCwweDEwLDB4OTAsMHhmZiwweDAxLAotMHhlMCwweGI0LDB4ODAsMHgwNSwweDEyLDB4MjUsMHg1NCwweDgwLDB4MDMsMHgxMiwweDI1LDB4NWQsMHgyMiwweDdkLDB4MDAsMHg3YywKLTB4MDUsMHgxMiwweDI1LDB4MjYsMHgyMiwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDYsMHg3YywweDA1LDB4MTIsCi0weDI1LDB4YmYsMHgyMiwweGQzLDB4ZTUsMHg3MiwweDk0LDB4NDgsMHhlNSwweDcxLDB4OTQsMHgwMCwweDUwLDB4MGIsMHhjMywweGU1LAotMHg3MiwweDk0LDB4MDcsMHhlNSwweDcxLDB4OTQsMHgwMCwweDUwLDB4MDYsMHg3YywweDAzLDB4MTIsMHgyNSwweGJmLDB4MjIsMHhlNSwKLTB4NGEsMHhiNCwweDA1LDB4MDQsMHgxMiwweDMwLDB4ZDEsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweGU1LDB4NmQsCi0weDMwLDB4ZTcsMHgwOCwweDdkLDB4MDAsMHg3YywweDA1LDB4MTIsMHgyNSwweDI2LDB4MjIsMHg3YywweDA1LDB4MTIsMHgyNSwweGJmLAotMHgyMiwweGI0LDB4MjAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg4MCwweDAwLDB4MTIsMHgyZiwweGZmLDB4MjIsMHg3NSwKLTB4NDMsMHgwMCwweDkwLDB4ZmYsMHg4MywweGUwLDB4NTQsMHgwZiwweGQzLDB4OTUsMHg0MywweDQwLDB4MjQsMHhlNSwweDQzLDB4MjQsCi0weGYwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZSwweGY1LDB4ODMsMHhlMCwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDEyLAotMHgwMywweDBmLDB4MDUsMHg0MywweDBkLDB4ZWQsMHg3MCwweDAxLDB4MGUsMHg4ZCwweDZhLDB4OGUsMHg2OSwweDhmLDB4NjgsMHg4MCwKLTB4ZDEsMHhlNSwweDQzLDB4N2QsMHgwMCwweGZjLDB4YzMsMHhlNSwweDcwLDB4OWMsMHhmNSwweDcwLDB4ZTUsMHg2ZiwweDlkLDB4ZjUsCi0weDZmLDB4ZTUsMHg3MCwweDQ1LDB4NmYsMHg2MCwweDA2LDB4ZTQsMHg5MCwweGZmLDB4ODMsMHhmMCwweDIyLDB4OTAsMHhmZiwweDgyLAotMHhlMCwweDQ0LDB4MDgsMHhmMCwweGU0LDB4ZjUsMHg2ZiwweDc1LDB4NzAsMHg0OSwweDkwLDB4ZmMsMHgzNSwweGUwLDB4YjQsMHgwNSwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDQwLDB4OTAsMHhmYywweDM2LDB4ZTAsMHhmNSwweDQzLDB4YjQsMHgwNSwweDAyLDB4ODAsCi0weDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDBiLDB4MTIsMHgzMSwweGZiLDB4MjIsMHhiNCwweDAxLAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDksMHgxMiwweDMxLDB4ZmIsMHgyMiwKLTB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDQzLDB4N2YsMHgwMCwweGZlLDB4N2MsCi0weDE0LDB4MTIsMHgzMSwweGZiLDB4MjIsMHgyMiwweGI0LDB4ODAsMHgwMCwweDQwLDB4MjMsMHhiNCwweDgyLDB4MDAsMHg1MCwweDFlLAotMHg3YywweDM1LDB4N2QsMHhmYywweDEyLDB4MTcsMHg3ZSwweDdkLDB4MDAsMHg4YywweDZjLDB4OGQsMHg2YiwweDkwLDB4ZmMsMHgzNywKLTB4ZTAsMHg2MCwweDA1LDB4MTIsMHgyZiwweGZmLDB4ODAsMHgwNSwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweDIyLDB4OTAsCi0weGZmLDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsMHhmZiwweDgwLAotMHhlMCwweDQ0LDB4MDgsMHhmMCwweDIyLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwweGZmLDB4ODAsMHhlMCwKLTB4NDQsMHgwOCwweGYwLDB4MjIsMHg4YywweDIzLDB4N2QsMHgwMCwweDhjLDB4NzAsMHg4ZCwweDZmLDB4NzUsMHg2YSwweDM1LDB4NzUsCi0weDY5LDB4ZmMsMHg3NSwweDY4LDB4MDEsMHgxMiwweDMwLDB4MzksMHgyMiwweDkwLDB4ZmYsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLAotMHhlNSwweDcwLDB4NjQsMHg0OSwweDQ1LDB4NmYsMHg3MCwweDAxLDB4MjIsMHhjMywweGU1LDB4NzAsMHg5NCwweDA4LDB4ZTUsMHg2ZiwKLTB4OTQsMHgwMCwweDQwLDB4MTUsMHg3NSwweDIxLDB4MDgsMHhlNSwweDIxLDB4N2QsMHgwMCwweGZjLDB4YzMsMHhlNSwweDcwLDB4OWMsCi0weGY1LDB4NzAsMHhlNSwweDZmLDB4OWQsMHhmNSwweDZmLDB4ODAsMHgwOSwweDg1LDB4NzAsMHgyMSwweGU0LDB4ZjUsMHg2ZiwweDc1LAotMHg3MCwweDQ5LDB4NzUsMHgyMiwweDAwLDB4ZTUsMHgyMiwweGMzLDB4OTUsMHgyMSwweDUwLDB4MjYsMHhhZCwweDZhLDB4YWUsMHg2OSwKLTB4YWYsMHg2OCwweDEyLDB4MDEsMHhlNiwweGZjLDB4ZTUsMHgyMiwweDI0LDB4ZjgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZlLDB4ZjUsCi0weDgzLDB4ZWMsMHhmMCwweDA1LDB4MjIsMHgwZCwweGVkLDB4NzAsMHgwMSwweDBlLDB4OGQsMHg2YSwweDhlLDB4NjksMHg4ZiwweDY4LAotMHg4MCwweGQzLDB4ZTUsMHgyMSwweDU0LDB4N2YsMHg5MCwweGZmLDB4ODEsMHhmMCwweDIyLDB4OGMsMHg0OCwweDdmLDB4MDAsMHhlZiwKLTB4MjQsMHhmZCwweDQwLDB4MTksMHhlNCwweGVmLDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDdmLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGY4LDB4ZjUsMHg4MywweGUwLDB4NjUsMHg0OCwweDcwLDB4MDIsMHhkMywweDIyLDB4MGYsMHg4MCwweGUyLDB4OGYsMHg0NywweGMzLAotMHgyMiwweDg1LDB4NzIsMHg3MCwweDg1LDB4NzEsMHg2ZiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHhmNywweGYwLDB4OTAsMHhmZiwKLTB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDIyLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwNiwweGMwLDB4MDcsCi0weGU1LDB4NzgsMHgyNCwweDA4LDB4ZjgsMHg4NiwweDA2LDB4NTMsMHgwNiwweDdmLDB4N2MsMHhmZiwweDEyLDB4MzEsMHg1YiwweDdjLAotMHgwMCwweDdkLDB4MDAsMHhlNSwweDdiLDB4NjAsMHg0NiwweGZmLDB4OTAsMHhmZCwweDk1LDB4ZTAsMHg1NCwweDdmLDB4NmUsMHg3MCwKLTB4MGYsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYywweGEzLDB4MTUsMHg3YiwweDgwLDB4MDcsCi0weGEzLDB4YTMsMHhhMywweGRmLDB4ZTYsMHg4MCwweDI2LDB4ZGYsMHgwNiwweGQwLDB4ODIsMHhkMCwweDgzLDB4ODAsMHgxZSwweGUwLAotMHhmOCwweGEzLDB4ZTAsMHhmOSwweGEzLDB4ZTAsMHhmYSwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZTgsMHhmMCwweGEzLDB4ZTksMHhmMCwKLTB4YTMsMHhlYSwweGYwLDB4YTMsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGEsMHgxMiwweDMxLDB4ZjQsCi0weGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwMiwweGQwLDB4MDEsMHhkMCwweDAwLDB4MjIsMHg4NSwweGE4LDB4N2EsMHg3NSwweGE4LAotMHg4OCwweGVjLDB4NzAsMHgwMiwweDdjLDB4M2YsMHg4YywweDc5LDB4MjIsMHhlNSwweDc4LDB4MjQsMHgwOCwweGY4LDB4NzYsMHgwMCwKLTB4MTIsMHgzMiwweDQ4LDB4ODAsMHhmYiwweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDYsMHhjMCwweDA3LDB4YWUsCi0weDA0LDB4N2MsMHhmZiwweDEyLDB4MzEsMHg1YiwweGU1LDB4N2IsMHg2MCwweDQyLDB4ZmYsMHg5MCwweGZkLDB4OTUsMHhlMCwweDU0LAotMHg3ZiwweDZlLDB4NzAsMHgwYiwweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4MTUsMHg3YiwweDgwLDB4MDcsMHhhMywKLTB4YTMsMHhhMywweGRmLDB4ZWEsMHg4MCwweDI2LDB4ZGYsMHgwNiwweGQwLDB4ODIsMHhkMCwweDgzLDB4ODAsMHhkOCwweGUwLDB4ZjgsCi0weGEzLDB4ZTAsMHhmOSwweGEzLDB4ZTAsMHhmYSwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZTgsMHhmMCwweGEzLDB4ZTksMHhmMCwweGEzLAotMHhlYSwweGYwLDB4YTMsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGEsMHg3OCwweDA4LDB4MDgsMHg3OSwKLTB4MTgsMHgwOSwweDdjLDB4MDEsMHhlNiwweDU0LDB4N2YsMHg2ZSwweDcwLDB4MDYsMHg3NiwweDAwLDB4NzcsMHgwMCwweDgwLDB4MDYsCi0weDA4LDB4MDksMHgwYywweGJjLDB4MDgsMHhlZSwweDEyLDB4MzEsMHhmNCwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwMiwweGQwLAotMHgwMSwweGQwLDB4MDAsMHgyMiwweDc1LDB4NzksMHgwMCwweDg1LDB4N2EsMHhhOCwweDIyLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwKLTB4ODMsMHhjMywweGU1LDB4N2IsMHgyNCwweGU4LDB4NTAsMHgwNSwweDEyLDB4MzIsMHg0OCwweDgwLDB4ZjQsMHhlYywweDYwLDB4MzEsCi0weDkwLDB4MzUsMHgyMywweGU0LDB4OTMsMHhjMywweDljLDB4NDAsMHgyOCwweGMwLDB4MDQsMHg3YywweGZmLDB4MTIsMHgzMSwweDViLAotMHhkMCwweDA0LDB4NDMsMHgwNCwweDgwLDB4ZTUsMHg3YiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHg5NSwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmZCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZWYsMHhhMywweGYwLDB4ZWUsMHhhMywweGYwLDB4MDUsMHg3YiwweDEyLDB4MzEsCi0weGY0LDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4MjIsMHhjMCwweDA0LDB4N2MsMHgyMCwweGQyLDB4OGMsMHhkMiwweDhkLAotMHhkNSwweDA0LDB4ZmQsMHhkMCwweDA0LDB4MjIsMHg3NSwweGE4LDB4MDAsMHg3NSwweDg4LDB4MDAsMHg3NSwweGI4LDB4MDAsMHg3NSwKLTB4ZjAsMHgwMCwweDc1LDB4ZDAsMHgwMCwweGU0LDB4ZjgsMHg5MCwweDAwLDB4MDAsMHhmNiwweDA4LDB4YjgsMHgwMCwweGZiLDB4MDIsCi0weDAwLDB4MDAsMHhjMywweGVkLDB4OTQsMHgwMiwweDUwLDB4MDQsMHg3ZCwweDAzLDB4N2MsMHhlOCwweGVjLDB4ZjQsMHhmYywweGVkLAotMHhmNCwweGZkLDB4MGMsMHhiYywweDAwLDB4MDEsMHgwZCwweDhjLDB4N2YsMHg4ZCwweDdlLDB4MjIsMHhjMywweGVjLDB4OTQsMHhiYywKLTB4ZWQsMHg5NCwweDAyLDB4NTAsMHgwNCwweDdkLDB4MDcsMHg3YywweGQwLDB4ZWMsMHhmNCwweGZjLDB4ZWQsMHhmNCwweGZkLDB4MGMsCi0weGJjLDB4MDAsMHgwMSwweDBkLDB4OGMsMHg3ZCwweDhkLDB4N2MsMHgyMiwweGVjLDB4NzAsMHgwMSwweDIyLDB4YzAsMHgwMCwweGU1LAotMHg3OCwweDI0LDB4MTgsMHhmOCwweGE2LDB4MDQsMHhlNSwweDc4LDB4MjQsMHgwOCwweGY4LDB4YzYsMHg1NCwweDdmLDB4ZjYsMHhlNiwKLTB4MzAsMHhlNywweDAzLDB4ZDAsMHgwMCwweDIyLDB4MTIsMHgzMiwweDQ4LDB4ODAsMHhmNCwweGMyLDB4OGMsMHg4NSwweDdjLDB4OGMsCi0weDg1LDB4N2QsMHg4YSwweGQyLDB4OGMsMHhjMCwweGUwLDB4YzAsMHhkMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLAotMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDQsMHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHgxMiwKLTB4MWEsMHhkMSwweGU1LDB4NzgsMHgyNCwweDA4LDB4ZjgsMHhlNiwweDYwLDB4MjQsMHhlNSwweDc4LDB4MjQsMHgxMCwweGY4LDB4YTYsCi0weDgxLDB4ZTUsMHg3OCwweDc1LDB4ZjAsMHgyMSwweGE0LDB4MjQsMHg4ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLAotMHg3OCwweGFlLDB4ZTUsMHg4MSwweDA0LDB4YzMsMHg5OCwweGY5LDB4ZTYsMHhmMCwweDA4LDB4YTMsMHhkOSwweGZhLDB4NzQsMHgwOCwKLTB4MjUsMHg3OCwweGY4LDB4MDUsMHg3OCwweDA4LDB4ZTYsMHg1NCwweDgwLDB4NzAsMHgwYywweGU1LDB4NzgsMHhiNCwweDA3LDB4ZjMsCi0weDc4LDB4MDgsMHg3NSwweDc4LDB4MDAsMHg4MCwweGVmLDB4ZTUsMHg3OCwweDI0LDB4MTAsMHhmOCwweDg2LDB4ODEsMHhlNSwweDc4LAotMHg3NSwweGYwLDB4MjEsMHhhNCwweDI0LDB4OGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweDc4LDB4YWUsMHhlNSwKLTB4ODEsMHgwNCwweGMzLDB4OTgsMHhmOSwweGUwLDB4ZjYsMHgwOCwweGEzLDB4ZDksMHhmYSwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsCi0weDA1LDB4ZDAsMHgwNCwweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLAotMHhmMCwweGQwLDB4ZDAsMHhkMCwweGUwLDB4MzIsMHhjMCwweGUwLDB4YzAsMHhkMCwweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwKLTB4YzIsMHg4ZSwweDg1LDB4N2UsMHg4ZCwweDg1LDB4N2YsMHg4YiwweGQyLDB4OGUsMHg3OCwweDE5LDB4NzksMHgwOSwweDdhLDB4MDcsCi0weGU3LDB4NzAsMHgwNCwweGE2LDB4MDAsMHg4MCwweDBiLDB4ZTYsMHg2MCwweDA4LDB4MTYsMHhlNiwweDcwLDB4MDQsMHhlNywweDQ0LAotMHg4MCwweGY3LDB4MDgsMHgwOSwweGRhLDB4ZWEsMHhlNSwweDc5LDB4NjAsMHgxMywweDE0LDB4ZjUsMHg3OSwweDcwLDB4MGUsMHhlNSwKLTB4NzgsMHgyNCwweDA4LDB4ZjgsMHg3NiwweDAwLDB4MTIsMHgzMSwweGY0LDB4ZDIsMHg4YywweGQyLDB4OGQsMHhkMCwweDAyLDB4ZDAsCi0weDAxLDB4ZDAsMHgwMCwweGQwLDB4ZDAsMHhkMCwweGUwLDB4MzIsMHg3NSwweDgxLDB4YWQsMHg3NCwweDJhLDB4OTAsMHhmZiwweDkzLAotMHhmMCwweDc1LDB4N2YsMHgzMCwweDc1LDB4N2UsMHhmOCwweDc1LDB4N2QsMHg2MCwweDc1LDB4N2MsMHhmMCwweDEyLDB4MDUsMHgzNiwKLTB4MTIsMHgzNCwweDdjLDB4MTIsMHgxNywweDM0LDB4OTAsMHhmZiwweDkzLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhiMiwweGIzLDB4MTIsCi0weDM0LDB4YTYsMHgxMiwweDMyLDB4NTYsMHg4MCwweGRhLDB4MjIsMHhjMCwweDAwLDB4N2MsMHgwMSwweGVjLDB4MjQsMHgwOCwweGY4LAotMHhlNiwweDYwLDB4MDksMHgwYywweGJjLDB4MDgsMHhmNSwweDEyLDB4MzIsMHg0OCwweDgwLDB4ZWUsMHhkMCwweDAwLDB4MjIsMHhjMCwKLTB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDAsMHhjMCwweDA2LDB4YzAsMHgwNywweGVkLDB4MjQsMHgxMCwweGY4LDB4NzYsCi0weGJjLDB4ZWQsMHg3NSwweGYwLDB4MjEsMHhhNCwweDI0LDB4OGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGMwLAotMHg4MiwweGMwLDB4ODMsMHhhMywweGEzLDB4ZTQsMHg3OCwweDBkLDB4ZjAsMHhhMywweGQ4LDB4ZmMsMHhlYywweDU0LDB4N2YsMHg3NSwKLTB4ZjAsMHgwMiwweGE0LDB4MjQsMHhlZiwweGY1LDB4ODIsMHhlNSwweGYwLDB4MzQsMHgzNCwweGY1LDB4ODMsMHhlNCwweDkzLDB4ZmUsCi0weDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4ZSwweDgzLDB4ZTQsMHg5MywweGZlLDB4NzQsMHgwMSwweDkzLDB4ZmYsMHhkMCwweDgzLAotMHhkMCwweDgyLDB4ZWYsMHhmMCwweGEzLDB4ZWUsMHhmMCwweGVkLDB4MjQsMHgwOCwweGY4LDB4ZWMsMHg0NCwweDgwLDB4ZjYsMHhkMCwKLTB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweDIyLDB4NzUsMHg3OCwweDAwLDB4NzUsCi0weDdiLDB4MDAsMHg3YSwweDA4LDB4NzksMHgxOCwweDc4LDB4MDgsMHg3NiwweDAwLDB4NzcsMHgwMCwweDA4LDB4MDksMHhkYSwweGY4LAotMHhlNCwweDc4LDB4MDgsMHg3NCwweDgwLDB4NDQsMHg3ZiwweGY2LDB4NzQsMHgwMSwweDQ0LDB4MTAsMHhmNSwweDg5LDB4NzUsMHhiOCwKLTB4MDgsMHhkMiwweGFiLDB4ZDIsMHhhOSwweDIyLDB4NzUsMHg4MSwweGFkLDB4ZDIsMHg4ZSwweGQyLDB4OGMsMHhkMiwweGFmLDB4ZTUsCi0weDdiLDB4NjAsMHgzMiwweGZmLDB4OTAsMHhmZCwweDk1LDB4ZTAsMHg1NCwweDgwLDB4NjAsMHgyNCwweDc4LDB4MDgsMHg3OSwweDA4LAotMHhlMCwweDU0LDB4N2YsMHhmYSwweDdiLDB4MDAsMHhlNiwweDU0LDB4N2YsMHhiNSwweDAyLDB4MDIsMHg3YiwweGZmLDB4MDgsMHhkOSwKLTB4ZjUsMHhlYiwweDcwLDB4MGMsMHhlYSwweGYwLDB4MTIsMHgzMywweGY4LDB4YWQsMHgwNCwweGFjLDB4MDIsMHgxMiwweDM0LDB4MGYsCi0weGEzLDB4YTMsMHhhMywweGRmLDB4ZDIsMHgxMiwweDMyLDB4NDgsMHg4MCwweGM1LDB4N2MsMHgwMSwweDdkLDB4MDAsMHgyMiwweDA0LAotMHhmNSwweDA0LDB4ZTksMHgwNCwweGVkLDB4MDQsMHhlMSwweDA0LDB4ZGQsMHgwNCwweGQ5LDB4MDQsMHhlNSwweDA0LDB4ZjEsMHgwNCwKLTB4OWQsMHgwNCwweGExLDB4MDQsMHhjZCwweDA0LDB4ZDEsMHgwNCwweDk5LDB4MDQsMHg5OSwweDA0LDB4OTksMHgwNCwweGQ1LDB4MDQsCi0weGI1LDB4MDQsMHhhZCwweDA0LDB4YjEsMHgwNCwweGE5LDB4MDQsMHhjMSwweDA0LDB4YmQsMHgwNCwweGI5LDB4MDQsMHhjNSwweDA0LAotMHhjOSwweDA0LDB4YTUsMHgxOSwweDAxLDB4MDMsMHgwMCwweDIyLDB4MDAsMHg0OCwweDAyLDB4MDAsMHg0OCwweDBlLDB4MzAsMHgxNCwKLTB4MjAsMHhjOCwweDFhLDB4ZDAsMHgxOCwweDBhLDB4MGMsMHgwNSwweDA2LDB4MDIsMHgwMywweDAxLDB4MDIsMHgwMCwweDAxLDB4Y2UsCi0weDAxLDB4ODEsMHgwMSwweDAwLDB4MDAsMHhjMCwweDAwLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgzMCwweDAwLDB4MTgsMHgwMCwweDEwLAotMHgwMCwweDA4LDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDAxLDB4MDAsMHgwOCwweDE4LDB4MzgsMHgyOCwweDBjLDB4MDUsMHgxMCwKLTB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMywweDAxLDB4MTAsMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4ZmIsMHhlMCwweGZiLDB4ZjIsMHgwOSwweDAyLDB4MjcsMHgwMCwweDAxLDB4MDIsMHgwMCwweGEwLDB4MzIsMHgwOSwweDA0LAotMHgwMCwweDAwLDB4MDMsMHhmZiwweDAwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4MSwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwKLTB4MDEsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4MywweDAzLDB4MDIsMHgwMCwweDAxLDB4MjIsMHgwMywweDU0LDB4MDAsCi0weDU1LDB4MDAsMHg1MywweDAwLDB4NDIsMHgwMCwweDMzLDB4MDAsMHgzNCwweDAwLDB4MzEsMHgwMCwweDMwLDB4MDAsMHgyMCwweDAwLAotMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwKLX07Ci0KLSNlbmRpZiAvKiBpZm5kZWYgX1RJX0ZXXzM0MTBfSF8gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md181MDUyLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfNTA1Mi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Y2NmNDBhLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md181MDUyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ODUgKzAsMCBAQAotLyogdmk6IHRzPTggc3c9OAotICoKLSAqIFRJIDUwNTIgVVNCIFNlcmlhbCBEcml2ZXIgRmlybXdhcmUgSGVhZGVyCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDA0IFRleGFzIEluc3RydW1lbnRzCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqLwotCi0jaWZuZGVmIF9USV9GV181MDUyX0hfCi0jZGVmaW5lIF9USV9GV181MDUyX0hfCi0KLS8qIGZpcm13YXJlIDkvMTgvMDQgKi8KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgdGlfZndfNTA1MltdID0gewotMHhDMSwgMHgzNSwJLyogZmlybXdhcmUgaW1hZ2UgbGVuZ3RoIGV4Y2x1ZGluZyBoZWFkZXIsIGxpdHRsZSBlbmRpYW4gKi8KLTB4MDAsIAkJLyogcGxhY2Vob2xkZXIgZm9yIGNoZWNrc3VtICovCi0KLTB4MDIsMHgwMCwweDFlLDB4MDIsMHgxYiwweDMyLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4MzIsMHg2YSwweGZmLDB4ZmYsCi0weGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMiwweDMzLDB4MTUsMHg3NSwweDgxLAotMHhjOCwweDkwLDB4ZmUsMHhmMCwweDg1LDB4ODMsMHhhMCwweDEyLDB4MzQsMHg3ZCwweGVjLDB4NGQsMHg2MCwweDZhLDB4NzgsMHhhNSwKLTB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LDB4OTYsMHhmYSwweDc4LDB4NzksMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsCi0weDVmLDB4ZmEsMHg3OCwweDIwLDB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LDB4MjAsMHhmYSwweDkwLDB4ZmUsMHhlNSwweGFlLAotMHg4MywweGFmLDB4ODIsMHg5MCwweGZkLDB4MDAsMHgxMiwweDAwLDB4YTEsMHg2MCwweDA1LDB4ZTQsMHhmMCwweGEzLDB4ODAsMHhmNiwKLTB4OTAsMHhmZSwweGYwLDB4YTgsMHg4MiwweDkwLDB4ZmUsMHhmMCwweGE5LDB4ODIsMHhlOCwweGMzLDB4OTksMHg1MCwweDA1LDB4NzYsCi0weDAwLDB4MDgsMHg4MCwweGY2LDB4OTAsMHgwMCwweGZmLDB4MTIsMHgwMCwweGFhLDB4OTAsMHgwMSwweDAzLDB4MTIsMHgwMCwweGFhLAotMHg5MCwweDAxLDB4MDcsMHgxMiwweDAwLDB4YWEsMHg5MCwweDAxLDB4MGIsMHgxMiwweDAwLDB4YzgsMHg5MCwweDAxLDB4MTEsMHgxMiwKLTB4MDAsMHhjOCwweDkwLDB4MDEsMHgxNywweDEyLDB4MDAsMHhjOCwweDc1LDB4ZDAsMHgwMCwweDEyLDB4MzMsMHg2NywweDAyLDB4MDEsCi0weDFkLDB4ZWYsMHg2NSwweDgyLDB4NzAsMHgwMywweGVlLDB4NjUsMHg4MywweDIyLDB4ZTQsMHg5MywweGY4LDB4NzQsMHgwMSwweDkzLAotMHhmOSwweDc0LDB4MDIsMHg5MywweGZlLDB4NzQsMHgwMywweDkzLDB4ZjUsMHg4MiwweDhlLDB4ODMsMHhlOCwweDY5LDB4NzAsMHgwMSwKLTB4MjIsMHhlNCwweDkzLDB4ZjYsMHhhMywweDA4LDB4ODAsMHhmNCwweGU0LDB4OTMsMHhmYywweDc0LDB4MDEsMHg5MywweGZkLDB4NzQsCi0weDAyLDB4OTMsMHhmZSwweDc0LDB4MDMsMHg5MywweGZmLDB4NzQsMHgwNCwweDkzLDB4ZjgsMHg3NCwweDA1LDB4OTMsMHhmNSwweDgyLAotMHg4OCwweDgzLDB4MTIsMHgwMCwweGExLDB4NzAsMHgwMSwweDIyLDB4ZTQsMHg5MywweGEzLDB4YTgsMHg4MywweGE5LDB4ODIsMHg4YywKLTB4ODMsMHg4ZCwweDgyLDB4ZjAsMHhhMywweGFjLDB4ODMsMHhhZCwweDgyLDB4ODgsMHg4MywweDg5LDB4ODIsMHg4MCwweGUzLDB4MjEsCi0weDIxLDB4MDQsMHg5MiwweDdhLDB4N2EsMHgwNCwweDkyLDB4YTYsMHhhOCwweDA0LDB4OTIsMHhmZSwweGYwLDB4MDQsMHg5NCwweDA0LAotMHg5NCwweGZiLDB4ZmIsMHgwNCwweDk5LDB4MDQsMHg5NCwweGZiLDB4ZmIsMHgwNCwweGY5LDB4MDQsMHhmOSwweDgwLDB4ZmUsMHhkMCwKLTB4ZjAsMHgzMCwweGYwLDB4MDksMHgyMCwweGYzLDB4MDMsMHhmNiwweDgwLDB4MTAsMHhmNywweDgwLDB4MGQsMHgzMCwweGYxLDB4MDksCi0weDIwLDB4ZjMsMHgwMywweGYyLDB4ODAsMHgwNCwweGYzLDB4ODAsMHgwMSwweGYwLDB4MjAsMHhmNCwweDA0LDB4ZmMsMHhkMCwweGUwLAotMHhjYywweDIyLDB4Y2MsMHhjMCwweGUwLDB4MTIsMHgwMSwweDVhLDB4MDIsMHgwMSwweDRiLDB4YmMsMHgwMCwweDA1LDB4ZDAsMHhmMCwKLTB4YWMsMHhmMCwweDIyLDB4YzMsMHgxMywweGRjLDB4ZmMsMHgwMiwweDAxLDB4MjEsMHhiZiwweDAwLDB4MDksMHhlZCwweDI1LDB4ODIsCi0weDc1LDB4ZjAsMHgwMSwweGY4LDB4ZTYsMHgyMiwweGJmLDB4MDEsMHgwZiwweGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LAotMHg4MywweGY1LDB4ODMsMHg3NSwweGYwLDB4MDQsMHhlMCwweDIyLDB4ZWQsMHgyNSwweDgyLDB4NzUsMHhmMCwweDAyLDB4ZjgsMHhlMiwKLTB4MjIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGY1LDB4ZjAsMHhjMywweGU0LDB4OTMsMHhhMywweGM1LDB4ZjAsMHg5NSwweGYwLDB4YzAsCi0weGUwLDB4YzMsMHhkMCwweGYwLDB4ZTQsMHg5MywweGEzLDB4OTUsMHhmMCwweDQwLDB4MTIsMHhhMywweGEzLDB4YzMsMHhlNSwweGYwLAotMHgzMywweDUwLDB4MDIsMHgwNSwweDgzLDB4MjUsMHg4MiwweGY1LDB4ODIsMHg1MCwweDAyLDB4MDUsMHg4MywweDc0LDB4MDEsMHg5MywKLTB4YzAsMHhlMCwweGU0LDB4OTMsMHhjMCwweGUwLDB4MjIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGY1LDB4ZjAsMHhlNCwweDkzLDB4NzAsCi0weDA5LDB4NzQsMHgwMSwweDkzLDB4NzAsMHgwNCwweGEzLDB4YTMsMHg4MCwweDBjLDB4NzQsMHgwMiwweDkzLDB4NjUsMHhmMCwweDYwLAotMHgwNSwweGEzLDB4YTMsMHhhMywweDgwLDB4ZTcsMHg3NCwweDAxLDB4OTMsMHhjMCwweGUwLDB4ZTQsMHg5MywweGMwLDB4ZTAsMHgyMiwKLTB4MTIsMHgwMiwweDViLDB4MDIsMHgwMSwweGYyLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMSwweGYyLDB4MTIsMHgwMiwweGQzLDB4MDIsCi0weDAxLDB4ZjIsMHgzMCwweGUwLDB4MDcsMHgyMCwweGUzLDB4MDIsMHhlNiwweDIyLDB4ZTcsMHgyMiwweDMwLDB4ZTEsMHgwNywweDIwLAotMHhlMywweDAyLDB4ZTIsMHgyMiwweGUzLDB4MjIsMHgzMCwweGUyLDB4MDIsMHhlMCwweDIyLDB4ZTQsMHg5MywweDIyLDB4MTIsMHgwMiwKLTB4ZDMsMHgwMiwweDAyLDB4MWEsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAyLDB4MWEsMHhhYiwweGYwLDB4MTIsMHgwMiwweDI0LDB4Y2IsCi0weGM1LDB4ZjAsMHhjYiwweDIyLDB4MzAsMHhlMCwweDEwLDB4MjAsMHhlMywweDA2LDB4ZTYsMHhmNSwweGYwLDB4MDgsMHhlNiwweDIyLAotMHhlNywweGY1LDB4ZjAsMHgwOSwweGU3LDB4MTksMHgyMiwweDMwLDB4ZTEsMHgxMCwweDIwLDB4ZTMsMHgwNiwweGUyLDB4ZjUsMHhmMCwKLTB4MDgsMHhlMiwweDIyLDB4ZTMsMHhmNSwweGYwLDB4MDksMHhlMywweDE5LDB4MjIsMHgzMCwweGUyLDB4MDYsMHhlMCwweGY1LDB4ZjAsCi0weGEzLDB4ZTAsMHgyMiwweGU0LDB4OTMsMHhmNSwweGYwLDB4NzQsMHgwMSwweDkzLDB4MjIsMHhiYiwweDAwLDB4MDMsMHg3NCwweDA5LAotMHgyMiwweGJiLDB4MDEsMHgwNywweDg5LDB4ODIsMHg4YSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmIsMHgwMiwweDA3LDB4ODksMHg4MiwKLTB4OGEsMHg4MywweDc0LDB4MTAsMHgyMiwweDc0LDB4MGEsMHgyMiwweDAyLDB4MDIsMHg3YiwweGJiLDB4MDAsMHgwNywweGU5LDB4MjUsCi0weDgyLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiYiwweDAxLDB4MGQsMHhlOSwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWEsMHgzNSwweDgzLAotMHhmNSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmIsMHgwMiwweDBkLDB4ZTksMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVhLDB4MzUsMHg4MywKLTB4ZjUsMHg4MywweDc0LDB4MTAsMHgyMiwweGU5LDB4MjUsMHg4MiwweGY4LDB4NzQsMHgwMiwweDIyLDB4MDIsMHgwMiwweGFmLDB4YmYsCi0weDAwLDB4MDUsMHhlZCwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmYsMHgwMSwweDA3LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg3NCwweDA0LAotMHgyMiwweGJmLDB4MDIsMHgwNywweDhkLDB4ODIsMHg4ZSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZWQsMHhmOCwweDc0LDB4MDIsMHgyMiwKLTB4MDIsMHgwMiwweGQzLDB4YmYsMHgwMCwweDA3LDB4ZWQsMHgyNSwweDgyLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiZiwweDAxLDB4MGQsCi0weGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LDB4ODMsMHhmNSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmYsMHgwMiwweDBkLAotMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwweDgzLDB4ZjUsMHg4MywweDc0LDB4MTAsMHgyMiwweGVkLDB4MjUsMHg4MiwKLTB4ZjgsMHg3NCwweDAyLDB4MjIsMHgwMiwweDAzLDB4MDcsMHhjMCwweGUwLDB4MTIsMHgwMiwweDViLDB4MDIsMHgwMywweDFmLDB4YzAsCi0weGUwLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMywweDFmLDB4YzAsMHhlMCwweDEyLDB4MDIsMHhkMywweDAyLDB4MDMsMHgxZiwweDMwLAotMHhlMCwweDBiLDB4MjAsMHhlMywweDA0LDB4ZDAsMHhlMCwweGY2LDB4MjIsMHhkMCwweGUwLDB4ZjcsMHgyMiwweDMwLDB4ZTEsMHgwYiwKLTB4MjAsMHhlMywweDA0LDB4ZDAsMHhlMCwweGYyLDB4MjIsMHhkMCwweGUwLDB4ZjMsMHgyMiwweGQwLDB4ZTAsMHhmMCwweDIyLDB4YzksCi0weGNkLDB4YzksMHhjYSwweGNlLDB4Y2EsMHhjYiwweGNmLDB4Y2IsMHgxMiwweDAzLDB4NTIsMHhlZCwweGY5LDB4ZWUsMHhmYSwweGVmLAotMHhmYiwweDIyLDB4YmIsMHgwMCwweDJmLDB4YmYsMHgwMCwweDBhLDB4ZmEsMHhlZCwweGY4LDB4ZTcsMHhmNiwweDA4LDB4MDksMHhkYSwKLTB4ZmEsMHgyMiwweGJmLDB4MDEsMHgxMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjgsMHgwMiwweDAzLDB4NmYsMHgwOSwweGEzLDB4ZTcsCi0weGYwLDB4ZDgsMHhmYSwweDIyLDB4MDIsMHgwMywweDdhLDB4ZmEsMHhlZCwweGY4LDB4ZTcsMHhmMiwweDA4LDB4MDksMHhkYSwweGZhLAotMHgyMiwweDAyLDB4MDMsMHg4NCwweGJiLDB4MDEsMHg0ZCwweGJmLDB4MDAsMHgxNCwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwKLTB4ZjgsMHgwMiwweDAzLDB4OTYsMHgwOCwweGEzLDB4ZTAsMHhmNiwweGQ5LDB4ZmEsMHgyMiwweDAyLDB4MDMsMHhhNywweGJmLDB4MDEsCi0weDIyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmYiwweDA4LDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGUwLAotMHhhMywweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhmMCwweGEzLDB4ZGIsMHhlYSwweGQ4LDB4ZTgsMHgyMiwKLTB4MDIsMHgwMywweGNhLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOSwweGVkLDB4ZjgsMHhlMCwweGYyLDB4MDgsMHhhMywweGQ5LDB4ZmEsCi0weDIyLDB4MDIsMHgwMywweGQ0LDB4YmIsMHgwMiwweDRkLDB4YmYsMHgwMCwweDEyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLAotMHhmOCwweDAyLDB4MDMsMHhlNiwweDA4LDB4YTMsMHhlNCwweDkzLDB4ZjYsMHhkOSwweGY5LDB4MjIsMHhiZiwweDAxLDB4MjMsMHg4ZCwKLTB4ODIsMHg4ZSwweDgzLDB4ZmIsMHgwOCwweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhlNCwweDkzLDB4YTMsCi0weGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhmMCwweGEzLDB4ZGIsMHhlOSwweGQ4LDB4ZTcsMHgyMiwweDAyLAotMHgwNCwweDE5LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLDB4ZjgsMHhlNCwweDkzLDB4ZjIsMHgwOCwweGEzLDB4ZDksMHhmOSwKLTB4MjIsMHgwMiwweDA0LDB4MmEsMHhiZiwweDAwLDB4MGQsMHhmYSwweGVkLDB4ZjgsMHhlMywweGY2LDB4MDgsMHgwOSwweGRhLDB4ZmEsCi0weDIyLDB4MDIsMHgwNCwweDM0LDB4YmYsMHgwMSwweDEyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOCwweDAyLDB4MDQsMHg0MSwweDA5LAotMHhhMywweGUzLDB4ZjAsMHhkOCwweGZhLDB4MjIsMHgwMiwweDA0LDB4NGMsMHhmYSwweGVkLDB4ZjgsMHhlMywweGYyLDB4MDgsMHgwOSwKLTB4ZGEsMHhmYSwweDIyLDB4MDIsMHgwNCwweDU2LDB4ZTYsMHhmYiwweDA4LDB4ZTYsMHhmYSwweDA4LDB4ZTYsMHhmOSwweDA0LDB4ZjYsCi0weDE4LDB4NzAsMHgwMSwweDA2LDB4MjIsMHhlNiwweGZmLDB4MDgsMHhlNiwweGZlLDB4MDgsMHhlNiwweGZkLDB4MjIsMHhlZiwweGYwLAotMHhhMywweGVlLDB4ZjAsMHhhMywweGVkLDB4ZjAsMHgyMiwweGViLDB4ZjAsMHhhMywweGVhLDB4ZjAsMHhhMywweGU5LDB4ZjAsMHgyMiwKLTB4ZTAsMHhmZiwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsCi0weGY5LDB4MjIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4ZjksMHgwMCwweDViLDB4MDUsMHg3MywweDAwLAotMHgyNiwweDA1LDB4OWEsMHgwMCwweDMzLDB4MGEsMHgwYiwweDAwLDB4NWIsMHgwYSwweDc3LDB4MDAsMHg2MCwweDE1LDB4NTIsMHgwMCwKLTB4NWIsMHgwYywweGZiLDB4MDAsMHg1YiwweDA5LDB4YWIsMHgwMCwweDViLDB4MDksMHhlMiwweDAwLDB4NWIsMHgwZCwweGMyLDB4MDAsCi0weDViLDB4MGIsMHhmMywweDAwLDB4NWIsMHgwYSwweDFlLDB4MDAsMHg1YiwweDBhLDB4NTMsMHgwMCwweDViLDB4MTcsMHg0YSwweDAwLAotMHgzMywweDE3LDB4NjAsMHgwMCwweDM0LDB4MWUsMHg0ZCwweDAwLDB4NDMsMHgxZSwweGYwLDB4MDAsMHg0NCwweDIwLDB4NWQsMHgwMCwKLTB4NDQsMHgyMCwweDRiLDB4MDAsMHg0NywweDFmLDB4MTcsMHgwMCwweDQ3LDB4MWYsMHhiYywweDAwLDB4NGQsMHgyMCwweDBkLDB4MDAsCi0weDRmLDB4MWYsMHgzOSwweDAwLDB4NTgsMHgzMSwweGY1LDB4MDAsMHg1YiwweDdjLDB4Y2MsMHg3ZCwweGZmLDB4MTIsMHgxYywweGZlLAotMHgyMiwweDc0LDB4OTAsMHg5MCwweGZmLDB4OTEsMHhmMCwweDkwLDB4ZmYsMHhmYywweGUwLDB4MjAsMHhlNywweDJkLDB4YzIsMHhhZiwKLTB4YWUsMHg1OSwweGFmLDB4NTgsMHg3NSwweDVhLDB4MjAsMHhlNSwweDVhLDB4MTQsMHhjNSwweDVhLDB4NjAsMHgxOSwweGU0LDB4ZmUsCi0weDdmLDB4MDUsMHhlZSwweDRmLDB4Y2UsMHgyNCwweGZmLDB4Y2UsMHhjZiwweDM0LDB4ZmYsMHhjZiwweDYwLDB4MDcsMHhlNCwweDkwLAotMHhmZiwweDkyLDB4ZjAsMHg4MCwweGVkLDB4ODAsMHhlMCwweDhlLDB4NTksMHg4ZiwweDU4LDB4MjIsMHgxMiwweDA1LDB4MDEsMHg3ZCwKLTB4MDcsMHg3YywweGI3LDB4MTIsMHgzMiwweDExLDB4N2QsMHgwZiwweDdjLDB4NmUsMHgxMiwweDMyLDB4MmIsMHg3OCwweDk3LDB4N2EsCi0weDA2LDB4ZTQsMHhmNiwweDA4LDB4ZGEsMHhmYywweDdhLDB4MDYsMHgxMiwweDA1LDB4Y2YsMHg3YywweDAzLDB4MTIsMHgwZSwweDU3LAotMHg3YywweDA0LDB4MTIsMHgwZSwweDU3LDB4MTIsMHgyMSwweDhiLDB4ZTQsMHhmZSwweGZmLDB4N2MsMHgwZiwweDEyLDB4MzEsMHg5YSwKLTB4ZDIsMHhhOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4ZTQsMHg5MCwweGZkLDB4NDAsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsCi0weGU0LDB4MDgsMHg3NCwweDAxLDB4OTAsMHhmZCwweDQxLDB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MCwweGZkLDB4NDEsMHhmMCwweDdkLAotMHgwYSwweDdjLDB4MDAsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDkwLDB4ZmQsMHg0MSwKLTB4ZTAsMHgxNCwweDcwLDB4MGUsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MTAsMHhmMCwweDdjLDB4MDAsMHgxMiwweDI1LDB4NGEsCi0weDgwLDB4MTksMHg5MCwweGZkLDB4NDEsMHhlMCwweDcwLDB4MGUsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZWYsMHhmMCwweDdjLAotMHgwMCwweDEyLDB4MjUsMHg0YSwweDgwLDB4MDUsMHg3YywweDE3LDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHg5MCwKLTB4ZmYsMHhmMCwweGUwLDB4NTQsMHhhYiwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDIwLDB4ZjAsMHgyMiwweDhjLDB4MzcsCi0weDhkLDB4MzYsMHg3OCwweDdjLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLAotMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4NzgsMHg3YSwweGY2LDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwKLTB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhmYywweDdkLDB4N2EsCi0weDEyLDB4MTcsMHg5ZCwweDc4LDB4N2EsMHhlNiwweDcwLDB4MGQsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsMHhlNCwweDEyLAotMHgwMywweDBmLDB4N2MsMHgwOCwweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwKLTB4NTQsMHhmZCwweGYwLDB4ODAsMHgxZSwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsCi0weDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHgyNSwweGUwLDB4NDQsMHgwMSwweDkwLDB4ZmYsMHhmMywweGYwLAotMHgwMiwweDA2LDB4ZGIsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwKLTB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMiwweDBlLDB4NTQsMHhmZSwweDkwLDB4ZmYsMHhmMywweGYwLDB4ODAsMHgyYiwweDc4LDB4N2MsCi0weGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLAotMHgwZSwweGZhLDB4ZWIsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhjYSwweDQwLDB4MGQsMHhhZCwweDNhLDB4YWUsMHgzOSwKLTB4YWYsMHgzOCwweGU0LDB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsCi0weGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDkwLDB4ZmYsMHhmMSwweGYwLAotMHgxMiwweDA4LDB4Y2EsMHg0MCwweDBkLDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHg3YywKLTB4MTgsMHgyMiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsCi0weDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg0NCwweDAxLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHg3OCwweDdkLDB4ZTYsMHgyNCwweDAzLAotMHhmNiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjYsMHg3OCwweDdhLDB4ZTYsMHgyNCwweGZlLDB4NTAsMHgwOSwweDkwLDB4ZmYsMHhmMCwKLTB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHhlNCwweDkwLDB4ZmYsCi0weGYxLDB4ZjAsMHg3OCwweDdiLDB4NzYsMHgwMCwweDc4LDB4N2EsMHhlNiwweDI0LDB4ZmYsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLAotMHg3OCwweDdiLDB4ZTYsMHg3ZiwweDAwLDB4ZmUsMHhlYywweGQzLDB4OWUsMHhlZiwweDY0LDB4ODAsMHhjZCwweDY0LDB4ODAsMHg5ZCwKLTB4NDAsMHgyZiwweDEyLDB4MDgsMHhhZiwweDQwLDB4MGYsMHg3OCwweDdiLDB4ZTYsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsCi0weDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDkwLDB4ZmYsMHhmMiwweGUwLDB4ZmMsMHg3OCwweDdjLDB4ODYsMHg4MywweDA4LAotMHg4NiwweDgyLDB4ZWMsMHhmMCwweDc4LDB4N2IsMHgwNiwweGEzLDB4NzgsMHg3YywweGE2LDB4ODMsMHgwOCwweGE2LDB4ODIsMHg4MCwKLTB4YjUsMHgxMiwweDA4LDB4YWYsMHg0MCwweDBmLDB4NzgsMHg3YiwweGU2LDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4MTIsCi0weDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg5MCwweGZmLDB4ZjIsMHhlMCwweGZjLDB4NzgsMHg3YywweDg2LDB4ODMsMHgwOCwweDg2LAotMHg4MiwweGVjLDB4ZjAsMHg3OCwweDdhLDB4ZTYsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsMHgxMiwweDAzLDB4MGYsMHg3YywKLTB4MDAsMHgyMiwweDhjLDB4MzcsMHg4ZCwweDM2LDB4NzgsMHg3YywweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHhlZCwweGZlLDB4ZWMsCi0weGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweDc4LDB4N2IsMHhmNiwweDc4LDB4N2MsMHhlNiwweGZkLAotMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwKLTB4MGYsMHhmYywweDdkLDB4N2IsMHgxMiwweDE3LDB4OWQsMHg3OCwweDdiLDB4ZTYsMHg3MCwweDAzLDB4N2MsMHgwOCwweDIyLDB4OTAsCi0weGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZCwweGYwLDB4ODAsMHgxYiwweDc4LAotMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwKLTB4MDIsMHgwZSwweDI1LDB4ZTAsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDgwLDB4NWIsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsCi0weGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMiwweDBlLDB4NTQsMHhmZSwweDkwLAotMHhmZiwweGYzLDB4ZjAsMHg4MCwweDIxLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwKLTB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZWIsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsCi0weGNhLDB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLAotMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhjYSwKLTB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4N2QsMHhlNiwweDI0LDB4MGEsMHhmNiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjYsCi0weDc4LDB4N2EsMHg3NiwweDAwLDB4NzgsMHg3YiwweGU2LDB4MjQsMHhmZiwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHg3OCwweDdhLAotMHhlNiwweDdmLDB4MDAsMHhmZSwweGVjLDB4ZDMsMHg5ZSwweGVmLDB4NjQsMHg4MCwweGNkLDB4NjQsMHg4MCwweDlkLDB4NDAsMHgyMSwKLTB4NzgsMHg3YywweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGNhLDB4NDAsCi0weDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg3YSwweDA2LDB4NzgsMHg3ZCwweDA2LDB4ZTYsMHgxOCwweDcwLDB4MDEsMHgwNiwweDgwLAotMHhjMywweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NzgsMHg3YywweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwKLTB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4Y2EsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4N2MsMHgwMCwweDIyLDB4OTAsCi0weGZmLDB4ZjAsMHhlMCwweDIwLDB4ZTcsMHgxMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsMHhlNSwweDA5LDB4OTAsMHhmZiwweGYwLAotMHhlMCwweDQ0LDB4MjAsMHhmMCwweGMzLDB4MjIsMHg4MCwweGU3LDB4ZDMsMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MjAsMHhlMywKLTB4MTIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLDB4ZTUsMHgwOSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgyMCwweGYwLDB4YzMsCi0weDIyLDB4ODAsMHhlNywweGQzLDB4MjIsMHg4YywweDQyLDB4OGQsMHg0MSwweDdjLDB4MDAsMHhlZCwweDU0LDB4ZjAsMHhmZCwweGVjLAotMHg3MCwweDAzLDB4ZWQsMHg2NCwweDMwLDB4NzAsMHgwNSwweDc1LDB4M2UsMHgwMywweDgwLDB4MDMsMHg3NSwweDNlLDB4MDQsMHhhYywKLTB4M2UsMHgxMiwweDBmLDB4N2MsMHg3NSwweDgzLDB4MDAsMHg4NSwweDgzLDB4NDAsMHhlNSwweDQxLDB4NTQsMHgwZiwweGY1LDB4M2YsCi0weGU1LDB4NDAsMHg3MCwweDA0LDB4ZTUsMHgzZiwweDY0LDB4MDMsMHg3MCwweDM1LDB4ZTUsMHgzZSwweDI0LDB4ZmQsMHg3NSwweGYwLAotMHgwYSwweGE0LDB4MjQsMHgwYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU2LDB4MDUsMHgxMiwKLTB4MTAsMHg2NywweDgwLDB4MTksMHhlNSwweDNlLDB4MjQsMHg5NywweGY4LDB4YzYsMHg1NCwweGZiLDB4ZjYsMHg3OCwweGEzLDB4ZTYsCi0weDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4ODAsMHg1OSwweGU1LAotMHg0MCwweDcwLDB4MDQsMHhlNSwweDNmLDB4NjQsMHgwNCwweDcwLDB4NDgsMHhlNSwweDNlLDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwKLTB4YTQsMHgyNCwweDBhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTUsMHgwNywweGFjLDB4NDIsCi0weGFkLDB4NDEsMHgxMiwweDFjLDB4OTMsMHhlNSwweDQyLDB4MzAsMHhlMiwweDE1LDB4NzgsMHhhNywweGU2LDB4MzAsMHhlMCwweDBmLAotMHg3OCwweGE3LDB4ZTYsMHgzMCwweGUxLDB4MDksMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDQsMHgxMiwweDMxLDB4OWEsMHg3OCwKLTB4YTMsMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4ODAsCi0weDA3LDB4ZTQsMHhmYywweDdkLDB4ZWUsMHgxMiwweDFjLDB4OTMsMHhjMiwweDAzLDB4MjIsMHgxMiwweDMwLDB4ODUsMHgxMiwweDBmLAotMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwKLTB4ZmQsMHg0MCwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4OTAsMHhmZCwweDQxLDB4ZjAsMHhjMiwweDAzLDB4N2QsMHgwMiwweDdjLDB4MDAsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLAotMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlYywweDI0LDB4OTcsMHhmOCwweGU2LDB4MzAsMHhlMSwKLTB4MDcsMHg3YywweDEzLDB4MTIsMHgyNSwweDRhLDB4ODAsMHgwZiwweDkwLDB4ZmQsMHg0MSwweGUwLDB4ZmQsMHg3OCwweDhmLDB4ZTYsCi0weGZjLDB4MTIsMHgxMywweGZkLDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLAotMHhlYywweGY2LDB4N2QsMHgwMCwweDEyLDB4MGYsMHgwYiwweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwKLTB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgzMCwweGUyLDB4MDcsMHg3YywweDEzLDB4MTIsCi0weDI1LDB4NGEsMHg4MCwweDFiLDB4NzgsMHg4ZiwweGU2LDB4MjQsMHg5NywweGY4LDB4ZTYsMHgyMCwweGUxLDB4MDcsMHg3YywweDEyLAotMHgxMiwweDI1LDB4NGEsMHg4MCwweDBhLDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDE0LDB4MjEsMHgxMiwweDI1LDB4NGEsMHgxMiwKLTB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlYywweDI0LDB4OTcsMHhmOCwweGU2LDB4MjAsCi0weGUyLDB4MDcsMHg3YywweDExLDB4MTIsMHgyNSwweDRhLDB4ODAsMHgwYSwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgxNSwweDIyLAotMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4MTIsMHgwZiwKLTB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsCi0weGZkLDB4NDcsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MGEsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDkwLDB4ZmQsMHg0OCwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMywweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHhmNSwweDVjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4ZjUsMHg1ZCwweDhjLDB4NWIsMHhlNCwweGVjLDB4MzMsMHgzMywweDU0LDB4MDEsMHg3OCwweDhmLDB4ZjYsMHg2MCwKLTB4MDgsMHhlNSwweDVjLDB4MzAsMHhlMSwweDAzLDB4NzgsMHg4ZiwweDA2LDB4NzgsMHg4ZiwweGU2LDB4OTAsMHhmZCwweDQ5LDB4ZjAsCi0weDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmZCwweGEzLAotMHhlMCwweDU0LDB4MGMsMHhmYywweGVkLDB4NTQsMHhlNiwweDhjLDB4NWYsMHhmNSwweDVlLDB4ZTUsMHg1YiwweDMwLDB4ZTUsMHgwMywKLTB4NDMsMHg1ZiwweDAxLDB4ZTUsMHg1YywweDIwLDB4ZTUsMHgwZSwweGU1LDB4NWIsMHg1NCwweDdmLDB4NzAsMHgwOCwweGU1LDB4NWIsCi0weDIwLDB4ZTcsMHgwMywweDQzLDB4NWYsMHgwMiwweGU1LDB4NWIsMHgzMCwweGUzLDB4MDMsMHg0MywweDVmLDB4MTAsMHhlNSwweDViLAotMHgzMCwweGUyLDB4MDMsMHg0MywweDVmLDB4MjAsMHhlNSwweDViLDB4NTQsMHgwMywweDYwLDB4MDMsMHg0MywweDVmLDB4NDAsMHhlNSwKLTB4NWIsMHgzMCwweGUxLDB4MDMsMHg0MywweDVmLDB4ODAsMHhlNSwweDViLDB4MzAsMHhlNCwweDAzLDB4NDMsMHg1ZSwweDAxLDB4ZTUsCi0weDViLDB4MzAsMHhlNiwweDAzLDB4NDMsMHg1ZSwweDA4LDB4ZTUsMHg1YywweDIwLDB4ZTQsMHgwZSwweGU1LDB4NWIsMHg1NCwweDdmLAotMHg3MCwweDA4LDB4ZTUsMHg1YiwweDIwLDB4ZTcsMHgwMywweDQzLDB4NWUsMHgxMCwweDUzLDB4NWYsMHhmYiwweDUzLDB4NWUsMHhmOSwKLTB4YWQsMHg1ZSwweGU1LDB4NWYsMHg5MCwweGZkLDB4NDIsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4ZTUsMHg1ZCwweDMwLDB4ZTMsCi0weDBkLDB4ZTUsMHg1ZCwweDU0LDB4MzAsMHhjNCwweDU0LDB4MGYsMHg5MCwweGZkLDB4NDUsMHhmMCwweDgwLDB4MDUsMHhlNCwweDkwLAotMHhmZCwweDQ1LDB4ZjAsMHhlNSwweDVkLDB4NTQsMHgwMywweDkwLDB4ZmQsMHg0NCwweGYwLDB4ZTUsMHg1ZCwweDU0LDB4MDQsMHhjMywKLTB4MTMsMHg5MCwweGZkLDB4NDYsMHhmMCwweDkwLDB4ZmQsMHg0NCwweGUwLDB4NzAsMHgwZSwweDdkLDB4M2QsMHg3ZSwweGZkLDB4N2YsCi0weDAxLDB4NzQsMHgwMSwweDkwLDB4MDAsMHgwOSwweDEyLDB4MDEsMHg0MiwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDgsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDdjLDB4MDAsMHhmZCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDcsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDdmLDB4MDAsMHg0YywweGZlLDB4ZWYsMHg0ZCwweDkwLDB4ZmQsCi0weDQwLDB4ZjAsMHhhMywweGNlLDB4ZjAsMHhjZSwweGMyLDB4MDMsMHg3ZCwweDBhLDB4N2MsMHgwMCwweDEyLDB4MjQsMHhiMSwweDEyLAotMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweDc4LDB4OTQsMHg3NiwweDAxLDB4MDgsMHg3NiwKLTB4ZmQsMHgwOCwweDc2LDB4NDAsMHg3OCwweDkxLDB4NzYsMHgwYywweDc4LDB4OTQsMHgxMiwweDA0LDB4NjUsMHgxMiwweDAyLDB4MTQsCi0weDc4LDB4OTIsMHhjYiwweGY2LDB4Y2IsMHgwOCwweGY2LDB4N2YsMHgwMCwweGVmLDB4MjQsMHhlYiwweDQwLDB4MWYsMHhlNCwweGVmLAotMHgyNSwweGUwLDB4OTAsMHgzNCwweGJmLDB4ZmQsMHg5MywweGNkLDB4MDQsMHg5MywweDc4LDB4OTMsMHg2NiwweDcwLDB4MDMsMHhlZCwKLTB4MTgsMHg2NiwweDcwLDB4MDYsMHg3OCwweDkxLDB4NzYsMHgwMCwweDgwLDB4MDMsMHgwZiwweDgwLDB4ZGMsMHg3OCwweDkwLDB4ZWYsCi0weGY2LDB4NzgsMHg5NCwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MDIsMHgwZSwweDc4LDB4OTIsMHhjYiwweGY2LAotMHhjYiwweDA4LDB4ZjYsMHg1NCwweDA0LDB4Y2IsMHg1NCwweDA2LDB4NGIsMHg2MCwweDA0LDB4NzgsMHg5MSwweDc2LDB4MGIsMHg3OCwKLTB4OTMsMHhlNiwweDMwLDB4ZTMsMHgxMywweDc4LDB4OTQsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsCi0weDI0LDB4ZmIsMHg1MCwweDA0LDB4NzgsMHg5MSwweDc2LDB4MGQsMHg3OCwweDkzLDB4ZTYsMHg1NCwweGMwLDB4N2QsMHgwMCwweDY0LAotMHhjMCwweDRkLDB4NzAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBiLDB4NzgsMHg5NCwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwNCwKLTB4MTIsMHgwMSwweGVjLDB4MjQsMHhmYywweDUwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwZiwweDc4LDB4OTQsMHgxMiwweDA0LDB4NjUsCi0weDkwLDB4MDAsMHgwNiwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmQsMHg1MCwweDA0LDB4NzgsMHg5MSwweDc2LDB4MGUsMHg3OCwweDk0LAotMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDksMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZkLDB4NTAsMHgwNCwweDc4LDB4OTEsMHg3NiwKLTB4MGEsMHg3OCwweDkxLDB4ZTYsMHg3MCwweDJhLDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweDk0LDB4MTIsCi0weDA0LDB4NjUsMHg3OCwweGExLDB4ZTYsMHhmOSwweDc4LDB4YTAsMHhlNiwweGZhLDB4N2IsMHgwMSwweDc0LDB4MGEsMHg3OCwweDAwLAotMHgxMiwweDAzLDB4M2YsMHhjMiwweDAzLDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDExLDB4MjMsMHg3OCwweDkxLDB4ZWMsMHhmNiwKLTB4NzgsMHg5MSwweGU2LDB4ZmMsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsCi0weGVjLDB4ZjYsMHgxMiwweDBmLDB4N2MsMHg3OCwweDhmLDB4ZTYsMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDFjLAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGFjLDB4ODIsMHhhZCwweDgzLDB4NzgsMHhhMCwweDg2LDB4ODMsMHgwOCwKLTB4ODYsMHg4MiwweGVjLDB4ZjksMHhlZCwweGZhLDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4YTcsMHhjMiwweDAzLDB4NzgsCi0weDhmLDB4ZTYsMHhmYywweDEyLDB4MTEsMHgyMywweDEyLDB4MzEsMHgwOCwweDIyLDB4OGQsMHgyYiwweDhjLDB4MmEsMHhlZCwweDYwLAotMHg0MCwweDc1LDB4MjcsMHgwMSwweDc1LDB4MjksMHg0OCwweDc1LDB4MjgsMHhmZiwweGU1LDB4MmEsMHgyNCwweGZkLDB4ZmMsMHhlNCwKLTB4MzQsMHhmZiwweGZkLDB4ZWMsMHg3YywweDAzLDB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwweGRjLDB4ZjksMHhmYywweGU1LDB4MjksCi0weDJjLDB4ZjUsMHgyOSwweGU1LDB4MjgsMHgzZCwweGY1LDB4MjgsMHhhZCwweDI5LDB4YWUsMHgyOCwweGFmLDB4MjcsMHg3NCwweDgwLAotMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHg3NCwweDgwLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywweDE3LDB4MTIsMHgwZiwKLTB4ZDMsMHhlNSwweDJiLDB4MTQsMHg2MCwweDNiLDB4NzUsMHgyNywweDAxLDB4NzUsMHgyOSwweDA4LDB4NzUsMHgyOCwweGZmLDB4ZTUsCi0weDJhLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsMHgyNSwweGUwLDB4Y2QsMHgzMywweGNkLAotMHhkYywweGY5LDB4ZmMsMHhlNSwweDI5LDB4MmMsMHhmNSwweDI5LDB4ZTUsMHgyOCwweDNkLDB4ZjUsMHgyOCwweGFkLDB4MjksMHhhZSwKLTB4MjgsMHhhZiwweDI3LDB4ZTQsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHhlNCwweDkwLDB4MDAsMHgwMiwweDEyLDB4MDMsCi0weDE3LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgzMCwweGUyLAotMHgwOSwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgxNSwweDIyLDB4ZDIsMHgwMCwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgwZiwKLTB4N2MsMHg3OCwweDkwLDB4NzYsMHgwMCwweDkwLDB4ZmQsMHg0MSwweGUwLDB4MzAsMHhlNywweDA0LDB4NzgsMHg5MCwweDc2LDB4MDEsCi0weDc4LDB4OTAsMHhlNiwweGZkLDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDBkLDB4M2EsMHhjMiwweDAzLDB4MzAsMHgwMCwweDA3LAotMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTQsMHgyMSwweDdjLDB4MDAsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwKLTB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MDEsCi0weGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLAotMHhlMCwweDAyLDB4ODAsMHhlZCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweDU0LDB4ZjgsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDIyLDB4YzIsMHgwMywweDhjLDB4NTgsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEwLAotMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4NzksMHhlZSwweDdhLDB4MzQsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwKLTB4MTIsMHgwZSwweDEwLDB4YWMsMHg1OCwweDdkLDB4MDIsMHgxMiwweDBkLDB4M2EsMHhjMiwweDAzLDB4YWMsMHg1OCwweDEyLDB4MTEsCi0weDIzLDB4MjIsMHg4ZCwweDUzLDB4OGUsMHg1MiwweDhmLDB4NTEsMHg4YywweDUwLDB4MTIsMHgwZiwweDdjLDB4NzUsMHg0ZiwweDAwLAotMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MjAsMHhlNCwKLTB4MTYsMHhlNSwweDRmLDB4MjQsMHhmNiwweDQwLDB4MTAsMHgwNSwweDRmLDB4YzIsMHgwMywweDdjLDB4MTgsMHgxMiwweDMyLDB4NDgsCi0weGFjLDB4NTAsMHgxMiwweDBmLDB4N2MsMHg4MCwweGQ5LDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MjAsMHhlNCwweDA1LDB4YzIsMHgwMywweDdjLDB4MDIsMHgyMiwweDc4LDB4YTMsMHhlNiwKLTB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4MGYsMHg2MCwweDE2LDB4NzgsCi0weGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwZiwweGYwLAotMHhjMiwweDAzLDB4N2MsMHgwMSwweDIyLDB4NzgsMHhhMiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweGFkLDB4NTMsMHhhZSwKLTB4NTIsMHhhZiwweDUxLDB4MTIsMHgwMywweDBmLDB4YzIsMHgwMywweDdjLDB4MDAsMHgyMiwweDhkLDB4MzEsMHg4YywweDMwLDB4MTIsCi0weDE1LDB4MjIsMHhlNSwweDMxLDB4NjAsMHgyMCwweGU1LDB4MzAsMHhiNCwweDAzLDB4MGMsMHg3YywweDAxLDB4MTIsMHgyNCwweDdjLAotMHg3YywweDgxLDB4MTIsMHgyNCwweDdjLDB4ODAsMHgwZiwweGU1LDB4MzAsMHhiNCwweDA0LDB4MGEsMHg3YywweDAyLDB4MTIsMHgyNCwKLTB4N2MsMHg3YywweDgyLDB4MTIsMHgyNCwweDdjLDB4YWMsMHgzMCwweDEyLDB4MGYsMHg3YywweGU1LDB4MzEsMHg2MCwweDFhLDB4NzgsCi0weGE0LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NTQsMHhlNywweGYwLDB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweDU0LAotMHhlNywweGYwLDB4YWMsMHgzMCwweDdkLDB4MDIsMHgxMiwweDBkLDB4M2EsMHg3OCwweGEwLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwKLTB4NzksMHhmOCwweDdhLDB4MzQsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwweGMyLDB4MDMsMHhlNSwweDMwLDB4MjQsCi0weDk3LDB4ZjgsMHhjNiwweDU0LDB4ZmQsMHhmNiwweGFjLDB4MzAsMHgxMiwweDExLDB4MjMsMHgyMiwweDhjLDB4MjYsMHgzMCwweDAzLAotMHgwNSwweDEyLDB4MzEsMHhlNywweDgwLDB4ZjgsMHg3YywweDBhLDB4MTIsMHgzMCwweGZhLDB4ZDIsMHgwMywweGU1LDB4MjYsMHgyNCwKLTB4ZmQsMHg3OCwweDlkLDB4ZjYsMHg3MCwweDA5LDB4NzgsMHhhNCwweDc2LDB4ZmYsMHgwOCwweDc2LDB4ZTAsMHg4MCwweDA3LDB4NzgsCi0weGE0LDB4NzYsMHhmZiwweDA4LDB4NzYsMHhlMiwweDc4LDB4OWQsMHhlNiwweDc1LDB4ZjAsMHgxMCwweGE0LDB4YWQsMHhmMCwweGZjLAotMHgyNCwweGEwLDB4NzgsMHhhMywweGY2LDB4ZWQsMHgzNCwweGZmLDB4MTgsMHhmNiwweDc4LDB4OWQsMHhlNiwweDc1LDB4ZjAsMHgwYSwKLTB4YTQsMHgyNCwweDA4LDB4ZmMsMHhlNCwweDM0LDB4ZmQsMHhmZCwweDc4LDB4YTAsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4MTIsCi0weDMxLDB4OTMsMHgyMiwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDMwLDB4ZTcsMHgyMiwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDIyLDB4NzgsMHhhNCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDU0LAotMHg3ZiwweGYwLDB4YWQsMHg4MywweGU1LDB4ODIsMHgyNCwweDA0LDB4ZmMsMHhlNCwweDNkLDB4OGMsMHg4MiwweGY1LDB4ODMsMHhlMCwKLTB4NTQsMHg3ZiwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4NTQsMHhmOCwweGYwLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4NDQsMHgwMywweGYwLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMywweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDIyLDB4NzgsMHhhNCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDU0LAotMHgzZiwweGYwLDB4YWQsMHg4MywweGU1LDB4ODIsMHgyNCwweDA0LDB4ZmMsMHhlNCwweDNkLDB4OGMsMHg4MiwweGY1LDB4ODMsMHhlMCwKLTB4NTQsMHgzZiwweGYwLDB4NzgsMHg5ZCwweGU2LDB4MjQsMHg5ZSwweGY4LDB4ZTYsMHhmYywweDc4LDB4YTUsMHhlNiwweDI0LDB4MDEsCi0weGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHg5ZCwweGU2LDB4MjQsMHg5ZSwweGY4LAotMHhlNiwweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywKLTB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsCi0weGZiLDB4NDQsMHgwMiwweGY1LDB4MjYsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU1LDB4MDMsMHg0MywweDI2LDB4MDEsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUwLDB4MDMsMHgxMiwweDBmLDB4ZDMsMHhlNSwweDI2LDB4ZmMsCi0weDc4LDB4YTMsMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LAotMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHg3OCwKLTB4YTQsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NDQsCi0weDgwLDB4ZjAsMHgyMiwweDhjLDB4MmEsMHgxMiwweDBmLDB4N2MsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA4LDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MGEsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwNywweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTAsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYywKLTB4ZWQsMHhmZSwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDgsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWUsCi0weGYwLDB4ZWMsMHhmZSwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDcsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlZSwweGYwLDB4OGMsMHgyOSwweDhkLDB4MjgsMHhjMywweGVjLDB4OTQsMHgwMiwweGVkLDB4OTQsMHgwNiwweDQwLDB4MDUsMHg3NSwKLTB4MjcsMHg3YywweDgwLDB4MzMsMHhkMywweGU1LDB4MjksMHg5NCwweDgxLDB4ZTUsMHgyOCwweDk0LDB4MDEsMHg0MCwweDA1LDB4NzUsCi0weDI3LDB4M2MsMHg4MCwweDIzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHhjMCwweGU1LDB4MjgsMHg5NCwweDAwLDB4NDAsMHgwNSwweDc1LAotMHgyNywweDE4LDB4ODAsMHgxMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4MzAsMHhlNSwweDI4LDB4OTQsMHgwMCwweDQwLDB4MDUsMHg3NSwKLTB4MjcsMHgwYywweDgwLDB4MDMsMHg3NSwweDI3LDB4MDgsMHhhZiwweDI3LDB4ZTQsMHhlZiwweDU0LDB4N2MsMHg0NCwweDgzLDB4ZmYsCi0weDhmLDB4MjcsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MjcsMHhmYywweDc4LDB4YTUsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHg5ZCwweGU2LDB4MjQsMHg5ZSwweGY4LDB4ZWMsCi0weGY2LDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGY1LAotMHgyNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwKLTB4MzAsMHhlMywweDE3LDB4NTMsMHgyNywweGM3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHgzNCwweGU5LDB4OTMsMHg0MiwweDI3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNywweDA1LDB4NDMsMHgyNywweDQwLDB4ODAsMHgwMywKLTB4NTMsMHgyNywweGJmLDB4NTMsMHgyNywweGZiLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4NjAsMHgwMywweDQzLDB4MjcsMHgwNCwweDUzLDB4MjcsMHhmYywweDc4LDB4YTEsMHhlNiwweDI0LAotMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQyLDB4MjcsMHg0MywweDI3LDB4ODAsMHhlNSwKLTB4MjcsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsCi0weGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGY1LAotMHgyNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwKLTB4MzAsMHhlMSwweDA1LDB4NTMsMHgyNywweGRmLDB4ODAsMHgwMywweDQzLDB4MjcsMHgyMCwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsCi0weGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTQsMHgwNSwweDUzLDB4MjcsMHhlZiwweDgwLAotMHgwMywweDQzLDB4MjcsMHgxMCwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweGI0LDB4MDIsMHgwMywweDQzLDB4MjcsMHgwMiwweGU1LDB4MjcsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsCi0weGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMywweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHgyNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDksMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDcwLDB4MDUsMHg1MywweDI3LDB4N2YsMHg4MCwweDAzLDB4NDMsCi0weDI3LDB4ODAsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLAotMHhlMCwweDMwLDB4ZTAsMHgwNSwweDQzLDB4MjcsMHgyMCwweDgwLDB4MDMsMHg1MywweDI3LDB4ZGYsMHg3OCwweGExLDB4ZTYsMHgyNCwKLTB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUzLDB4MDUsMHg0MywweDI3LDB4NDAsCi0weDgwLDB4MDMsMHg1MywweDI3LDB4YmYsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUwLDB4MDUsMHg0MywweDI3LDB4MTAsMHg4MCwweDAzLDB4NTMsMHgyNywweGVmLDB4NzgsMHhhMSwKLTB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU0LDB4MDUsCi0weDQzLDB4MjcsMHgwOCwweDgwLDB4MDMsMHg1MywweDI3LDB4ZjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTUsMHgwNSwweDQzLDB4MjcsMHgwNCwweDgwLDB4MDMsMHg1MywKLTB4MjcsMHhmYiwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsCi0weGUwLDB4MzAsMHhlNiwweDA1LDB4NDMsMHgyNywweDAxLDB4ODAsMHgwMywweDUzLDB4MjcsMHhmZSwweDc4LDB4YTEsMHhlNiwweDI0LAotMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNywweDA1LDB4NDMsMHgyNywKLTB4MDIsMHg4MCwweDAzLDB4NTMsMHgyNywweGZkLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMywweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHgwMCwweDIyLDB4OGQsMHgyNywweDhjLAotMHgyNiwweGVkLDB4NTQsMHgwMywweDE0LDB4NjAsMHgwMywweDdjLDB4MTAsMHgyMiwweGU1LDB4MjcsMHg1NCwweDdjLDB4MjQsMHhmYywKLTB4NDAsMHgwMywweDdjLDB4MGIsMHgyMiwweGU1LDB4MjYsMHgyNCwweDk3LDB4ZjgsMHhjNiwweDQ0LDB4MDIsMHhmNiwweDdjLDB4MDAsCi0weDIyLDB4OGMsMHgzMCwweDEyLDB4MGYsMHg3YywweGU1LDB4MzAsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDIwLDB4ZTIsMHg0ZiwweGFjLAotMHgzMCwweDdkLDB4MDIsMHgxMiwweDBkLDB4M2EsMHhlNSwweDMwLDB4MjQsMHhmZSwweDQ0LDB4MjgsMHhmYywweDc4LDB4YTQsMHg4NiwKLTB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywweGYwLDB4YWYsMHg4MywweGU1LDB4ODIsMHgyNCwweDA0LDB4ZmUsMHhlNCwweDNmLDB4ZmYsCi0weGVjLDB4OGUsMHg4MiwweDhmLDB4ODMsMHhmMCwweDdjLDB4MDMsMHg4YywweDJjLDB4ZTUsMHgyYywweGZjLDB4NzgsMHhhNSwweGU2LAotMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDJjLDB4ZmMsMHg3OCwKLTB4YTUsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc1LDB4MmQsCi0weDAxLDB4NzUsMHgyZiwweDQ4LDB4NzUsMHgyZSwweGZmLDB4ZTUsMHgzMCwweDI0LDB4ZmQsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLAotMHhlYywweDdjLDB4MDMsMHgyNSwweGUwLDB4Y2QsMHgzMywweGNkLDB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyZiwweDJjLDB4ZjUsMHgyZiwKLTB4ZTUsMHgyZSwweDNkLDB4ZjUsMHgyZSwweDc4LDB4YTUsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDU0LDB4ZTcsMHhmNSwweDJjLDB4YWQsMHgyZiwweGFlLDB4MmUsMHhhZiwweDJkLDB4ZTQsMHg5MCwweDAwLAotMHgwMiwweDEyLDB4MDMsMHgxNywweGU0LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMywweDE3LDB4MTIsMHgwMSwweGU2LDB4MzAsMHhlNSwKLTB4MDMsMHg0MywweDJjLDB4MTAsMHhlNSwweDJjLDB4ZmMsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDEyLDB4MTAsMHg2NywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGMyLDB4MDMsMHhmYywweGU1LDB4MzAsMHgyNCwweDk3LDB4ZjgsMHhjNiwKLTB4NDQsMHgwNCwweGY2LDB4OGMsMHgyYywweGU1LDB4MzAsMHg1NCwweDBmLDB4YzQsMHg1NCwweGYwLDB4N2UsMHgwMCwweGZmLDB4ZWUsCi0weGVmLDB4NDQsMHgwNCwweDdkLDB4MDAsMHhmZiwweGVjLDB4NGUsMHhmYywweGVkLDB4NGYsMHhmZCwweDEyLDB4MWMsMHhmZSwweDdjLAotMHgwMCwweDIyLDB4OGMsMHgyZiwweDEyLDB4MGYsMHg3YywweDEyLDB4MTAsMHgwNywweDc4LDB4YTQsMHg4NiwweDgzLDB4MDgsMHg4NiwKLTB4ODIsMHhlMCwweDU0LDB4MDgsMHhmMCwweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHg1NCwweDA4LDB4ZjAsMHhhYywweDJmLDB4N2QsCi0weDAyLDB4MTIsMHgwZCwweDNhLDB4YzIsMHgwMywweGU1LDB4MmYsMHgyNCwweDk3LDB4ZjgsMHhjNiwweDU0LDB4ZmIsMHhmNiwweDdjLAotMHgwMCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg5MCwweGVjLDB4ZjYsMHhlYywweDI0LDB4OTcsMHhmOCwweGU2LDB4MzAsMHhlMSwKLTB4MGEsMHg3ZCwweDAwLDB4N2MsMHgxMywweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsMHgwOCwweDc4LDB4OTAsMHhlNiwweDI0LDB4OTcsCi0weGY4LDB4YzYsMHg0NCwweDAxLDB4ZjYsMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4OTAsMHhlNiwweDI0LAotMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgxYywweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4NzgsMHhhMCwKLTB4ZTYsMHhmYSwweDA4LDB4ZTYsMHhmOSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGE3LDB4NzgsMHhhMCwweDg2LDB4ODMsCi0weDA4LDB4ODYsMHg4MiwweDc5LDB4ZjgsMHg3YSwweDM0LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHgxMiwweDBmLAotMHhkMywweGMyLDB4MDMsMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLDB4MTEsMHgyMywweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHg2MCwKLTB4MGEsMHg3ZCwweDAwLDB4N2MsMHgwOCwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsMHgwOCwweDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsCi0weDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLAotMHg0NCwweDEwLDB4NTQsMHhkZiwweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwweDQ4LDB4NzgsCi0weDkwLDB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZWYsMHhmMCwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwweDQ4LDB4NzgsMHg5MCwKLTB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDQ0LDB4MTAsMHhmMCwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwweDQ4LDB4NzgsMHg5MCwweGU2LAotMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweDQ0LDB4MjAsMHhmMCwweGMyLDB4MDMsMHg3YywweGYwLDB4MTIsMHgzMiwweDQ4LDB4NzgsMHg5MCwweGU2LDB4ZmMsCi0weDEyLDB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDMwLDB4ZTQsMHgxNSwweGMyLDB4MDMsMHg3OCwweDkwLDB4ZTYsMHg0NCwweDEwLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgwNywKLTB4MTIsMHgzMSwweDlhLDB4MTIsMHgzMSwweDA4LDB4MDIsMHgxNywweDQ5LDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhjZiwweGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLAotMHg0OCwweDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgzMCwweGYwLDB4YzIsMHgwMywweDdjLDB4ZjAsMHgxMiwweDMyLDB4NDgsCi0weDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNCwweDE0LDB4YzIsMHgwMywweDc4LDB4OTAsMHhlNiwweDQ0LDB4MTAsMHg3ZiwKLTB4MDAsMHhmZSwweDdjLDB4MDcsMHgxMiwweDMxLDB4OWEsMHgxMiwweDMxLDB4MDgsMHg4MCwweDVkLDB4NzgsMHhhMywweGU2LDB4MjQsCi0weDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhlZiwweGYwLDB4NzgsMHhhMywweGU2LAotMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhkZiwweGYwLDB4NzgsMHg5MCwKLTB4ZTYsMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsCi0weGFjLDB4ODIsMHhhZCwweDgzLDB4NzgsMHhhMCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywweGY5LDB4ZWQsMHhmYSwweDdiLAotMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4YTcsMHhjMiwweDAzLDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDExLDB4MjMsMHg3ZCwKLTB4MDAsMHg3YywweDBiLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg5MCwweGZmLDB4OTEsCi0weGUwLDB4OTAsMHhmZCwweDQxLDB4ZjAsMHg3ZCwweDAyLDB4N2MsMHgwMCwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsMHgwOCwweDIyLAotMHgxMiwweDMwLDB4ODUsMHg5MCwweGZkLDB4NDAsMHhlMCwweGY0LDB4ZmMsMHg5MCwweGZmLDB4OTEsMHhlMCwweDVjLDB4ZjUsMHgzMywKLTB4OTAsMHhmZCwweDQxLDB4ZTAsMHhmYywweDkwLDB4ZmQsMHg0MCwweGUwLDB4NWMsMHg0MiwweDMzLDB4ZTUsMHgzMywweDkwLDB4ZmYsCi0weDkxLDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHg3NCwweDNjLDB4OTAsMHhmYiwweGU4LAotMHhmMCwweDc0LDB4M2UsMHg5MCwweGZiLDB4ZTgsMHhmMCwweGU0LDB4OTAsMHhmZCwweDMwLDB4ZjAsMHgyMiwweDhkLDB4MzUsMHg4YywKLTB4MzQsMHhlYywweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDIsMHg4MCwweDI4LDB4YjQsMHgwMiwweDAyLDB4ODAsCi0weDAzLDB4ZDMsMHg0MCwweDA4LDB4YTgsMHgzNSwweGM2LDB4MjUsMHhlMCwweGY2LDB4ODAsMHgxOCwweGI0LDB4MDQsMHgwMiwweDgwLAotMHgwMywweGQzLDB4NDAsMHgwYSwweGE4LDB4MzUsMHhjNiwweDI1LDB4ZTAsMHgyNSwweGUwLDB4ZjYsMHg4MCwweDA2LDB4YTgsMHgzNSwKLTB4NzYsMHgwMCwweDgwLDB4MDAsMHgyMiwweDhjLDB4M2MsMHg4ZCwweDNiLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4NzUsCi0weDYwLDB4MDYsMHg3NSwweDYxLDB4MDAsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4NmUsMHgxMiwweDAxLDB4ZTYsMHhiNCwweDgwLAotMHgwMiwweDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwweDE4LDB4OWUsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwKLTB4MDAsMHgwMywweDEyLDB4MDEsMHhlYywweDU0LDB4ZjAsMHhiNCwweDMwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDVmLDB4OTAsCi0weGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHhmYSwweGZkLDB4ZWIsMHhmZSwweDdmLAotMHgwMSwweDkwLDB4ZmQsMHgzNCwweDEyLDB4MDQsMHg2ZSwweGVlLDB4Y2QsMHg5MCwweDM1LDB4MDIsMHhmYywweGU0LDB4OTMsMHhmZiwKLTB4NzQsMHgwMSwweDkzLDB4ZmUsMHhmOSwweGVmLDB4ZmEsMHg3YiwweDAxLDB4ZWEsMHhmZiwweGU5LDB4ZmUsMHhlYywweGMzLDB4OWUsCi0weGVkLDB4OWYsMHg0MCwweDI1LDB4OTAsMHgzNSwweDA0LDB4ZTQsMHg5MywweGZkLDB4NzQsMHgwMSwweDkzLDB4ZmMsMHhlZCwweGZlLAotMHhlYywweGZkLDB4N2YsMHgwMSwweGVlLDB4Y2QsMHhmYywweDkwLDB4ZmQsMHgzNiwweGUwLDB4ZDMsMHg5YywweDkwLDB4ZmQsMHgzNSwKLTB4ZTAsMHg5ZCwweDUwLDB4MDUsMHg3NSwweDYwLDB4ODAsMHg4MCwweDMzLDB4MTIsMHgxOSwweGJjLDB4ODAsMHgyZSwweGI0LDB4NjAsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYiwweGFjLDB4M2MsMHhhZCwweDNiLDB4MTIsMHgwNywweDgyLDB4OGMsMHg2MCwweDgwLAotMHgxYiwweGI0LDB4MTAsMHgwMywweGIzLDB4NDAsMHgxMCwweGMzLDB4YjQsMHgyMCwweDAzLDB4YjMsMHg0MCwweDA5LDB4YzMsMHhiNCwKLTB4NDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg3NSwweDYwLDB4ODEsMHg4MCwweDAwLDB4ODAsMHg3NSwweGI0LDB4ODEsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg2YiwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwMywweDEyLAotMHgwMSwweGVjLDB4NTQsMHhmMCwweGI0LDB4MzAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWQsMHg5MCwweGZkLDB4MzEsMHgxMiwKLTB4MDQsMHg4MCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZmQsMHhlYiwweGZlLDB4N2YsMHgwMSwweDkwLDB4ZmQsCi0weDM3LDB4MTIsMHgwNCwweDZlLDB4MTIsMHgxOSwweDI2LDB4ODAsMHgzNiwweGI0LDB4NjAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLAotMHgxMywweDc1LDB4M2EsMHg2MSwweGU0LDB4ZjUsMHgzOSwweGY1LDB4MzgsMHhhYywweDNjLDB4YWQsMHgzYiwweDEyLDB4MDUsMHhkZSwKLTB4OGMsMHg2MCwweDgwLDB4MWIsMHhiNCwweDEwLDB4MDMsMHhiMywweDQwLDB4MTAsMHhjMywweGI0LDB4MjAsMHgwMywweGIzLDB4NDAsCi0weDA5LDB4YzMsMHhiNCwweDQwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4NzUsMHg2MCwweDgxLDB4ODAsMHgwMCwweDgwLAotMHgwMiwweDgwLDB4MDAsMHhlNSwweDYwLDB4ZmMsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHhlYywweDkwLDB4MDAsMHgwMiwKLTB4MTIsMHgwMywweDE3LDB4YWMsMHg2MSwweDIyLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA0LDB4MTIsCi0weDAxLDB4ZWMsMHg2MCwweDA0LDB4NzQsMHgwMSwweDgwLDB4MDEsMHhlNCwweGEyLDB4ZTAsMHg5MiwweDAxLDB4OTAsMHhmZCwweDMxLAotMHgxMiwweDA0LDB4ODAsMHhlZCwweDI0LDB4MDMsMHhmZCwweDUwLDB4MDEsMHgwZSwweDkwLDB4ZmQsMHgzNCwweDEyLDB4MDQsMHg2ZSwKLTB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4ZjUsMHg2MSwweDkwLDB4MDAsCi0weDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGZjLDB4N2QsMHg2MSwweDEyLDB4MTcsMHg5ZCwweGU1LDB4NjEsMHg3MCwweDA0LAotMHg3NSwweDYwLDB4MDgsMHgyMiwweDc1LDB4NjAsMHgwMCwweDc4LDB4N2UsMHg3NiwweDAwLDB4NzgsMHg3ZSwweGU2LDB4YzMsMHg5NSwKLTB4NjEsMHg1MCwweDM4LDB4OTAsMHhmZCwweDM3LDB4MTIsMHgwNCwweDgwLDB4MTIsMHgwMSwweGU2LDB4ZmMsMHg5MCwweGZkLDB4MzQsCi0weDEyLDB4MDQsMHg4MCwweGVjLDB4MTIsMHgwMywweDBmLDB4MzAsMHgwMSwweDBlLDB4OTAsMHhmZCwweDM5LDB4ZTAsMHgwNCwweGYwLAotMHg5MCwweGZkLDB4MzgsMHg3MCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4NzgsMHg3ZSwweDA2LDB4OTAsMHhmZCwweDM2LDB4ZTAsMHgwNCwKLTB4ZjAsMHg5MCwweGZkLDB4MzUsMHg3MCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhjMCwweDIyLDB4OTAsMHhmZCwweDMyLDB4ZTAsCi0weGZkLDB4YTMsMHhlMCwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4ZWQsMHgyNCwweDBhLDB4ZmQsMHg1MCwweDAxLAotMHgwZSwweDkwLDB4ZmQsMHgzYSwweDEyLDB4MDQsMHg2ZSwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNCwKLTB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MTcsMHg5MCwweGZkLDB4M2EsCi0weDEyLDB4MDQsMHg4MCwweDBkLDB4ZWQsMHg3MCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzcsMHgxMiwweDA0LDB4NmUsMHg3OCwweDgyLAotMHg3NiwweDAxLDB4ODAsMHg0ZSwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MTksMHg5MCwweGZkLDB4M2EsMHgxMiwKLTB4MDQsMHg4MCwweGVkLDB4MjQsMHgwMiwweGZkLDB4NTAsMHgwMSwweDBlLDB4OTAsMHhmZCwweDM3LDB4MTIsMHgwNCwweDZlLDB4NzgsCi0weDgyLDB4NzYsMHgwMiwweDgwLDB4MmQsMHhiNCwweDA0LDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE5LDB4OTAsMHhmZCwweDNhLAotMHgxMiwweDA0LDB4ODAsMHhlZCwweDI0LDB4MDQsMHhmZCwweDUwLDB4MDEsMHgwZSwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg2ZSwKLTB4NzgsMHg4MiwweDc2LDB4MDQsMHg4MCwweDBjLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDc1LDB4NjAsCi0weDA4LDB4MjIsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHhmNSwweDYxLAotMHg3OCwweDdmLDB4NzYsMHgwMCwweDc4LDB4N2YsMHhlNiwweGMzLDB4OTUsMHg2MSwweDQwLDB4MDMsMHgwMiwweDFiLDB4MjQsMHg3OCwKLTB4ODAsMHg3NiwweDAwLDB4NzgsMHg4MCwweGU2LDB4YzMsMHg3OCwweDgyLDB4OTYsMHg1MCwweDc2LDB4OTAsMHhmZCwweDM0LDB4MTIsCi0weDA0LDB4ODAsMHgxMiwweDAxLDB4ZTYsMHhmYywweDkwLDB4ZmQsMHgzYSwweDEyLDB4MDQsMHg4OSwweDEyLDB4MDEsMHhlMCwweGY0LAotMHg1YywweGZjLDB4MTIsMHgwMSwweGUwLDB4ZjgsMHg5MCwweGZkLDB4MzcsMHgxMiwweDA0LDB4ODAsMHhlOCwweGMwLDB4ZTAsMHgxMiwKLTB4MDEsMHhlNiwweGM4LDB4ZDAsMHhlMCwweGM4LDB4NTgsMHg0YywweGZjLDB4OTAsMHhmZCwweDM0LDB4MTIsMHgwNCwweDgwLDB4ZWMsCi0weDEyLDB4MDMsMHgwZiwweDc4LDB4ODEsMHhlYywweGY2LDB4OTAsMHhmZCwweDM5LDB4ZTAsMHgwNCwweGYwLDB4OTAsMHhmZCwweDM4LAotMHg3MCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4MDksMHhlOSwweDcwLDB4MDEsMHgwYSwweDkwLDB4ZmQsMHgzYSwweDEyLDB4MDQsMHg3NywKLTB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4MzAsMHhlNCwweDBlLDB4OTAsCi0weGZkLDB4MzYsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZkLDB4MzUsMHg3MCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4NzgsMHg4MCwweDA2LAotMHg4MCwweDgxLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHhlNCwweGZlLDB4ZmYsMHhlZSwweGNkLDB4ZmMsMHg5MCwweGZkLDB4MzksMHhlMCwKLTB4MmMsMHhmMCwweDkwLDB4ZmQsMHgzOCwweGUwLDB4M2QsMHhmMCwweDc4LDB4ODIsMHhlNiwweGZkLDB4ZTQsMHhmZSwweGZmLDB4ZWUsCi0weGNkLDB4ZmMsMHg5MCwweGZkLDB4M2MsMHhlMCwweDJjLDB4ZjAsMHg5MCwweGZkLDB4M2IsMHhlMCwweDNkLDB4ZjAsMHg3OCwweDdmLAotMHgwNiwweDAyLDB4MWEsMHg2NCwweDc1LDB4NjAsMHgwMCwweDIyLDB4ZTUsMHgzZCwweDA1LDB4M2QsMHgwNCwweDcwLDB4MDIsMHhiMiwKLTB4YjAsMHgyMiwweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksCi0weGMwLDB4ZTAsMHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLAotMHhlMCwweGVmLDB4YzAsMHhlMCwweDkwLDB4ZmYsMHg5MiwweGUwLDB4MTIsMHgwMSwweGI3LDB4MWIsMHg4MCwweDMwLDB4MWIsMHg4MCwKLTB4MzIsMHgxYiwweDhmLDB4MzgsMHgxYiwweGExLDB4M2EsMHgxYiwweGIzLDB4M2UsMHgxYiwweGNiLDB4NDQsMHgxYiwweGJmLDB4NDYsCi0weDFiLDB4ZDcsMHg1MCwweDFjLDB4MTksMHg1MiwweDFiLDB4ZjgsMHg1NCwweDFjLDB4M2EsMHg1NiwweDAwLDB4MDAsMHgxYywweDViLAotMHg5MCwweGZmLDB4OTIsMHhlMCwweDdmLDB4MDAsMHhmZSwweDdjLDB4MDEsMHgxMiwweDMxLDB4OWEsMHgwMiwweDFjLDB4NmIsMHhlNCwKLTB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwMywweDEyLDB4MzEsMHg5YSwweDc0LDB4MjAsMHg5MCwweGZmLDB4ZmUsMHhmMCwweDAyLDB4MWMsCi0weDZiLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDAyLDB4MTIsMHgzMSwweDlhLDB4NzQsMHg0MCwweDkwLDB4ZmYsMHhmZSwweGYwLAotMHgwMiwweDFjLDB4NmIsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDQsMHgxMiwweDMxLDB4OWEsMHgwMiwweDFjLDB4NmIsMHhlNCwKLTB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwNSwweDEyLDB4MzEsMHg5YSwweDAyLDB4MWMsMHg2YiwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsCi0weDA2LDB4MTIsMHgzMSwweDlhLDB4MDIsMHgxYywweDZiLDB4OTAsMHhmZiwweGE1LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmZCwweDAwLAotMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZCwweDAxLDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZkLDB4MDAsMHhlMCwKLTB4NDQsMHgzMywweGZkLDB4MTIsMHgxYywweGZlLDB4ODAsMHg3MywweDkwLDB4ZmYsMHhiNSwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmQsCi0weDAyLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmQsMHgwMywweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmZCwweDAyLAotMHhlMCwweDQ0LDB4NDMsMHhmZCwweDEyLDB4MWMsMHhmZSwweDgwLDB4NTIsMHg5MCwweGZmLDB4YTYsMHhlMCwweDdkLDB4MDAsMHg5MCwKLTB4ZmQsMHgwNCwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZkLDB4MDUsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmQsCi0weDA0LDB4ZTAsMHg0NCwweDM0LDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDMxLDB4OTAsMHhmZiwweGI2LDB4ZTAsMHg3ZCwweDAwLAotMHg5MCwweGZkLDB4MDYsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZCwweDA3LDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwKLTB4ZmQsMHgwNiwweGUwLDB4NDQsMHg0NCwweGZkLDB4MTIsMHgxYywweGZlLDB4ODAsMHgxMCwweDkwLDB4ZmYsMHg5MiwweGUwLDB4N2QsCi0weDAwLDB4ZmMsMHhlZCwweDQ0LDB4YWEsMHhmZCwweDEyLDB4MWMsMHhmZSwweDgwLDB4MDAsMHhlNCwweDkwLDB4ZmYsMHg5MiwweGYwLAotMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwKLTB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsCi0weGQwLDB4ZTAsMHgzMiwweDA1LDB4ODEsMHgwNSwweDgxLDB4MDUsMHg4MSwweDA1LDB4ODEsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LAotMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4OTAsMHhmZiwweDZhLDB4ZTAsMHgyMCwweGU3LDB4MDIsMHg4MCwweGY3LDB4OTAsMHhmZiwKLTB4NjksMHhlMCwweDdkLDB4MDAsMHhhOCwweDgxLDB4MTgsMHhjZCwweGY2LDB4Y2QsMHgwOCwweGY2LDB4N2QsMHgwMywweGE4LDB4ODEsCi0weGU2LDB4MTgsMHhmYywweGU2LDB4Y2MsMHgyNSwweGUwLDB4Y2MsMHgzMywweGNjLDB4ZGQsMHhmOSwweGNjLDB4ZjYsMHhjYywweDA4LAotMHhmNiwweGE4LDB4ODEsMHgxOCwweGU2LDB4NDQsMHhmOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwKLTB4ZTYsMHhmYywweGE4LDB4ODEsMHgxOCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLDB4NzQsCi0weDAyLDB4OTAsMHhmZiwweDZhLDB4ZjAsMHgxNSwweDgxLDB4MTUsMHg4MSwweDE1LDB4ODEsMHgxNSwweDgxLDB4MjIsMHhlNSwweDgxLAotMHgyNCwweDA1LDB4ZjUsMHg4MSwweGU0LDB4YTgsMHg4MSwweDE4LDB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlZCwKLTB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg5MCwweGZiLDB4ZmQsMHhlMCwweDI0LDB4ZjgsMHg1MCwweDAzLDB4MDIsMHgxZSwweDFmLDB4ZTQsCi0weGE4LDB4ODEsMHgxOCwweDE4LDB4ZjYsMHhhOCwweDgxLDB4MTgsMHhlNiwweGZlLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LAotMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4N2YsMHgwMCwweGVmLDB4MjQsMHhmOCwweDQwLDB4NGQsMHhlNCwweGVmLDB4MjUsMHhlMCwKLTB4MjQsMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHg2YywweDcwLDB4MDMsCi0weGZhLDB4ZWIsMHg2ZCwweDcwLDB4MDksMHg3NCwweDAxLDB4YTgsMHg4MSwweDE4LDB4MTgsMHhmNiwweDgwLDB4MmIsMHhlNCwweGVmLAotMHgyNSwweGUwLDB4MjQsMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4N2EsMHgwMCwweGUwLDB4NTQsMHhmMCwKLTB4Y2MsMHhmOCwweGNjLDB4Y2QsMHhmOSwweGNkLDB4ZmIsMHg3OCwweDAwLDB4ZTksMHg1NCwweGYwLDB4ZjksMHhlYSwweDY4LDB4NzAsCi0weDAyLDB4ZWIsMHg2OSwweDcwLDB4MDEsMHgwZSwweDBmLDB4ODAsMHhhZSwweGE4LDB4ODEsMHgxOCwweGVlLDB4ZjYsMHhhOCwweDgxLAotMHgxOCwweDE4LDB4MTgsMHgxOCwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHhhOCwweDgxLDB4ZWYsMHhmNiwweGE4LDB4ODEsMHgxOCwKLTB4MTgsMHhlNiwweDcwLDB4NzksMHhhOCwweDgxLDB4MTgsMHhlNiwweDI0LDB4ZjcsMHg0MCwweDcxLDB4YTgsMHg4MSwweDE4LDB4MTgsCi0weDE4LDB4MTgsMHhlNiwweDU0LDB4MGYsMHhhOCwweDgxLDB4ZjYsMHg2NCwweDA0LDB4NjAsMHgxNywweGE4LDB4ODEsMHhlNiwweDY0LAotMHgwMywweDYwLDB4MTAsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4MTIsMHgxYywKLTB4OTMsMHg4MCwweDRhLDB4N2MsMHgwYSwweDEyLDB4MzAsMHhmYSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGU2LDB4ZmQsCi0weDA4LDB4ZTYsMHhmYywweDkwLDB4ZmIsMHhmYywweGUwLDB4MjUsMHhlMCwweDI0LDB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLAotMHhmNSwweDgzLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwweDkwLDB4ZmIsMHhmYywweGUwLDB4ZmYsMHhlNCwweGVmLDB4MDQsMHg1NCwKLTB4MDcsMHhmZiwweDkwLDB4ZmIsMHhmYywweGYwLDB4OTAsMHhmYiwweGZkLDB4ZTAsMHgwNCwweGYwLDB4MTIsMHgzMSwweDkzLDB4OTAsCi0weGZiLDB4ZmUsMHhlMCwweDcwLDB4MDgsMHhlNCwweGZlLDB4ZmYsMHg3YywweDBmLDB4MTIsMHgzMSwweDlhLDB4ODAsMHgyNywweDkwLAotMHhmYiwweGZmLDB4ZTAsMHgwNCwweGYwLDB4NTQsMHgzZiwweDcwLDB4MWQsMHg5MCwweGZiLDB4ZmYsMHhlMCwweDQ0LDB4ZmUsMHg3ZCwKLTB4MDAsMHhmYywweDkwLDB4ZmIsMHhmYywweGUwLDB4MjUsMHhlMCwweDI0LDB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsCi0weDgzLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwweGU1LDB4ODEsMHgyNCwweGZiLDB4ZjUsMHg4MSwweDIyLDB4NzgsMHg4NSwweDc2LAotMHgwMCwweDc4LDB4ODYsMHg3NiwweDAwLDB4NzQsMHgwMSwweDkwLDB4ZmIsMHhmZSwweGYwLDB4MTIsMHgzMCwweDg1LDB4OTAsMHhmYiwKLTB4ZmQsMHhlMCwweDYwLDB4NTksMHg3YywweDBhLDB4MTIsMHgzMCwweGZhLDB4OTAsMHhmYiwweGZiLDB4ZTAsMHgyNSwweGUwLDB4MjQsCi0weDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLDB4OTAsMHhmYiwweGZiLAotMHhlMCwweDI1LDB4ZTAsMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhlNCwweGYwLDB4YTMsMHhmMCwKLTB4OTAsMHhmYiwweGZiLDB4ZTAsMHhmZiwweGU0LDB4ZWYsMHgwNCwweDU0LDB4MDcsMHhmZiwweDkwLDB4ZmIsMHhmYiwweGYwLDB4OTAsCi0weGZiLDB4ZmQsMHhlMCwweDE0LDB4ZjAsMHg3OCwweDgzLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDEyLDB4MzEsMHg5MywweGIyLAotMHhiMywweDc4LDB4ODMsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4MTIsMHgwOCwweGU1LDB4ODAsMHhhMSwweDEyLDB4MzEsMHhlNywKLTB4NzgsMHg4NSwweDA2LDB4YjYsMHgwMCwweDExLDB4NzgsMHg4NSwweDc2LDB4MDAsMHg3OCwweDg2LDB4ZTYsMHhmNCwweDA0LDB4MDQsCi0weGEyLDB4ZTAsMHg5MiwweGI0LDB4NzgsMHg4NiwweGY2LDB4ODAsMHg4NSwweGU0LDB4OTAsMHhmYiwweGZlLDB4ZjAsMHg5MCwweGZiLAotMHhmZCwweGUwLDB4N2QsMHgwMCwweGZjLDB4ZWQsMHg0NCwweGNmLDB4ZmQsMHgxMiwweDFjLDB4OTMsMHgxMiwweDMxLDB4MDgsMHgyMiwKLTB4MTIsMHgzMCwweDg1LDB4ZTUsMHg2YSwweDY0LDB4NDksMHg0NSwweDY5LDB4NjAsMHgxNSwweDkwLDB4ZmYsMHg4MywweGUwLDB4NTQsCi0weDBmLDB4N2QsMHgwMCwweGQzLDB4OTUsMHg2YSwweGVkLDB4OTUsMHg2OSwweDUwLDB4MDUsMHgxMiwweDJlLDB4Y2UsMHg4MCwweDAzLAotMHgxMiwweDJmLDB4OWUsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweGU1LDB4NmEsMHg2NCwweDQ5LDB4NDUsMHg2OSwKLTB4NjAsMHgwNSwweDEyLDB4MmYsMHhkOCwweDgwLDB4MGUsMHg5MCwweGZmLDB4ODAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsCi0weDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDhjLDB4NTQsMHhlYywweDU0LAotMHhmMCwweGI0LDB4MTAsMHgxNSwweDc1LDB4NjQsMHgzZCwweDc1LDB4NjMsMHhmZCwweDc1LDB4NjIsMHgwMSwweGU1LDB4NjQsMHgyNCwKLTB4MDMsMHhmNSwweDY0LDB4ZTUsMHg2MywweDM0LDB4MDAsMHhmNSwweDYzLDB4ZTQsMHhmNSwweDU3LDB4ZjUsMHg1NiwweGU1LDB4NTYsCi0weGMzLDB4OTQsMHgwMSwweDUwLDB4MjcsMHhlNSwweDU0LDB4NTQsMHgwZiwweGZjLDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLAotMHgxMiwweDBlLDB4ODIsMHg4YywweDU1LDB4ZWMsMHg2MCwweDAyLDB4ODAsMHgxMiwweDA1LDB4NjQsMHhlNSwweDY0LDB4NzAsMHgwMiwKLTB4MDUsMHg2MywweDA1LDB4NTcsMHhlNSwweDU3LDB4NzAsMHgwMiwweDA1LDB4NTYsMHg4MCwweGQyLDB4ZTUsMHg1NCwweDU0LDB4MGYsCi0weDI0LDB4OTcsMHhmOCwweGM2LDB4NTQsMHhmZSwweGY2LDB4ZTUsMHg1NCwweDU0LDB4MGYsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDEyLAotMHgxMiwweDMxLDB4OWEsMHhlNSwweDU1LDB4MTQsMHg3MCwweDA5LDB4N2QsMHgwMCwweDdjLDB4MDksMHgxMiwweDI0LDB4YjEsMHg4MCwKLTB4MDcsMHhhZCwweDU3LDB4N2MsMHgwMCwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4OTAsCi0weGZmLDB4ZmMsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4MzAsMHhlNywweDEzLDB4OTAsMHhmZiwweDgzLAotMHhlMCwweDQ0LDB4ODAsMHhmMCwweDQzLDB4NjcsMHg4MCwweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMSwKLTB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg1MywweDY3LDB4N2YsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDU0LDB4ZmUsCi0weGYwLDB4OTAsMHhmZiwweDgxLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgxMiwweDI1LDB4NjQsMHg5MCwweGZmLDB4ZmUsMHhlMCwweDQ0LAotMHgwNSwweGYwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwKLTB4N2MsMHgwMSwweDEyLDB4MzIsMHg0OCwweDc4LDB4YTcsMHhlNiwweDQ0LDB4MDIsMHhmNiwweDc0LDB4ZmUsMHhmYywweDA0LDB4ZmQsCi0weDEyLDB4MWMsMHhmZSwweDkwLDB4ZmYsMHg2YSwweGUwLDB4MzAsMHhlNywweDAyLDB4ODAsMHhmNywweGU0LDB4ZjUsMHg0ZSwweDc1LAotMHg0ZCwweDEwLDB4YWMsMHg0ZSwweGFkLDB4NGQsMHhlNSwweDRlLDB4MTUsMHg0ZSwweDcwLDB4MDIsMHgxNSwweDRkLDB4ZWMsMHg0ZCwKLTB4NjAsMHgwMiwweDgwLDB4ZWUsMHg0MywweDg3LDB4MDEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDdjLDB4MDIsCi0weDEyLDB4MzEsMHgxNCwweDc4LDB4YTcsMHhlNiwweDU0LDB4ZmQsMHhmNiwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LAotMHg3OCwweGE3LDB4ZTYsMHgzMCwweGUwLDB4MmMsMHg3OCwweGE3LDB4ZTYsMHgzMCwweGUxLDB4MjYsMHg3OCwweGE3LDB4ZTYsMHhmYywKLTB4ZjUsMHg4MywweDE4LDB4ZTYsMHg0NCwweGYwLDB4ZmQsMHgxMiwweDFjLDB4OTMsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LDB4MjAsCi0weGYwLDB4N2MsMHgwMiwweDEyLDB4MzIsMHg0OCwweDc4LDB4YTcsMHhlNiwweDU0LDB4ZmQsMHhmNiwweDc0LDB4MWEsMHg5MCwweGZmLAotMHhmZSwweGYwLDB4NzgsMHhhNywweGU2LDB4ZmMsMHhmNSwweDgzLDB4MTgsMHhlNiwweDQ0LDB4ZjEsMHhmZCwweDEyLDB4MWMsMHg5MywKLTB4MTIsMHgzMSwweDA4LDB4MjIsMHg3NSwweDY3LDB4MDAsMHg3NSwweDY4LDB4MDAsMHhlNCwweGY1LDB4NjYsMHhmNSwweDY1LDB4ZTQsCi0weGY1LDB4NjksMHg3NSwweDZhLDB4NDksMHg3NCwweDg0LDB4OTAsMHhmZiwweDgyLDB4ZjAsMHg3NCwweDg0LDB4OTAsMHhmZiwweDgwLAotMHhmMCwweDc0LDB4ODAsMHg5MCwweGZmLDB4NjgsMHhmMCwweDc0LDB4ODAsMHg5MCwweGZmLDB4NmEsMHhmMCwweGFkLDB4NDYsMHhhZiwKLTB4NDUsMHg3ZSwweDAwLDB4ZWUsMHgyNCwweGZjLDB4NTAsMHgwMywweDAyLDB4MjEsMHg2YSwweGU0LDB4ZWUsMHg3NSwweGYwLDB4MDcsCi0weGE0LDB4MjQsMHgzZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGU0LDB4ZWYsMHg1NCwweDgwLAotMHhmZCwweGU0LDB4ZWYsMHg1NCwweDBmLDB4MTQsMHhmZiwweGVkLDB4NjAsMHgzOCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwKLTB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg5MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsCi0weDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlNCwweGVmLAotMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwKLTB4ODAsMHgzNCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4NzQsMHg5MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwYSwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4MGUsMHgwMiwweDIwLDB4ZDMsMHg4ZCwweDQ2LDB4OGUsMHg0NCwweDhmLDB4NDUsCi0weDc0LDB4N2YsMHg5MCwweGZmLDB4ZmQsMHhmMCwweDc0LDB4OTAsMHg5MCwweGZmLDB4ZmMsMHhmMCwweDkwLDB4ZmMsMHgxOSwweGUwLAotMHgzMCwweGU2LDB4MDcsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDIyLDB4OTAsMHhmYywweDBkLDB4ZTAsMHgxNCwKLTB4NzAsMHgwNCwweDkwLDB4ZmMsMHgwYywweGUwLDB4NzAsMHgzOSwweDkwLDB4ZmMsMHgwMCwweDc5LDB4MDYsMHg3YSwweDM1LDB4N2IsCi0weDEyLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwweDdmLDB4MDAsMHhlZiwweDMzLDB4NDAsMHgxNSwweGVmLDB4OTAsMHgzNSwweDRkLAotMHg5MywweGZjLDB4ZWYsMHgyNCwweDgwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlYywweGYwLDB4MGYsMHg4MCwKLTB4ZTcsMHg4ZiwweDU5LDB4OTAsMHhmYywweDJiLDB4NzksMHgxOCwweDdhLDB4MzUsMHg3YiwweDM1LDB4NzgsMHgwMSwweDEyLDB4MDMsCi0weGY1LDB4ZTQsMHg5MCwweGZmLDB4ZmYsMHhmMCwweDc0LDB4NTEsMHg5MCwweGZmLDB4ZmEsMHhmMCwweDc0LDB4MDQsMHg5MCwweGZmLAotMHhmYiwweGYwLDB4NzQsMHg1MywweDkwLDB4ZmYsMHhmOCwweGYwLDB4NzQsMHg1MSwweDkwLDB4ZmYsMHhmOSwweGYwLDB4NzQsMHg1NSwKLTB4OTAsMHhmZiwweGY3LDB4ZjAsMHg3NCwweDkzLDB4OTAsMHhmZiwweGY2LDB4ZjAsMHg3NCwweDMyLDB4OTAsMHhmZiwweGY1LDB4ZjAsCi0weDc1LDB4NjQsMHgzZCwweDc1LDB4NjMsMHhmZCwweDc1LDB4NjIsMHgwMSwweGU0LDB4OTAsMHhmZiwweDgzLDB4ZjAsMHg3NCwweDgwLAotMHg5MCwweGZmLDB4ODEsMHhmMCwweDc1LDB4NTgsMHgwNCwweGU1LDB4NTgsMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4M2YsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHg3OCwweDg5LDB4ZjYsMHhmYywweDU0LDB4MGYsMHgxNCwweGZjLDB4NzgsCi0weDg5LDB4ZWMsMHhmNiwweGU1LDB4NTgsMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLAotMHhmNSwweDgzLDB4ZTAsMHg3OCwweDhjLDB4NzYsMHhmOCwweDA4LDB4NzYsMHgwMCwweGZjLDB4NzgsMHg4OSwweGU2LDB4NzUsMHhmMCwKLTB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDg5LDB4ZTYsCi0weDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LAotMHg4YywweGU2LDB4ZmYsMHgwOCwweGU2LDB4N2UsMHgwMywweGNmLDB4YzMsMHgxMywweGNmLDB4MTMsMHhkZSwweGY5LDB4ZmUsMHg3OCwKLTB4ODksMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWUsCi0weGYwLDB4NzgsMHg4OSwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LAotMHg4MywweDc0LDB4ODAsMHhmMCwweDc4LDB4OGEsMHhlYywweGY2LDB4N2QsMHgwMCwweDc4LDB4OGQsMHhlNiwweDJjLDB4ZjYsMHgxOCwKLTB4ZTYsMHgzZCwweGY2LDB4NzgsMHg4YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4N2MsMHgwMywweGNkLDB4YzMsMHgxMywweGNkLDB4MTMsCi0weGRjLDB4ZjksMHhmYywweDc4LDB4ODksMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHg4OSwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRlLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDhjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDc4LDB4ODksCi0weGU2LDB4ZmYsMHg3ZSwweDAwLDB4ZWUsMHgyNCwweGZjLDB4NTAsMHgwMywweDAyLDB4MjQsMHg2YiwweGU0LDB4ZWUsMHg3NSwweGYwLAotMHgwNywweGE0LDB4MjQsMHgzZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGU0LDB4ZWYsMHg1NCwKLTB4ODAsMHhmYSwweGU0LDB4ZWYsMHg1NCwweDBmLDB4MTQsMHhmZiwweGU0LDB4ZWUsMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4NDEsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHg3OCwweDhhLDB4ZjYsMHhlZSwweDc1LDB4ZjAsMHg4MCwweGE0LAotMHgyNCwweDA4LDB4ZjgsMHhlNSwweGYwLDB4MzQsMHhmOCwweGY5LDB4ZTgsMHhmYywweGU5LDB4ZmQsMHg4YSwweDU5LDB4ZWEsMHg3MCwKLTB4MDMsMHgwMiwweDIzLDB4ZDgsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDhhLDB4ZTYsMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LAotMHg0ZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweGVkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwKLTB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ5LDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHg3OCwweDhhLDB4ZTYsMHg3YiwweDAwLDB4ZmEsMHhlYywweDJhLAotMHhmYywweGVkLDB4M2IsMHhmZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsMHhjMywweDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwKLTB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsCi0weGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLAotMHg3NCwweDgwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwKLTB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweDAyLDB4MjQsMHg2NywweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OGEsMHhlNiwweGZhLDB4ZTQsMHhlZiwweDc1LAotMHhmMCwweDA4LDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZWQsMHhmYiwKLTB4ZWMsMHg3YSwweDAzLDB4Y2IsMHhjMywweDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsCi0weGE0LDB4MjQsMHgwOSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweDc4LDB4OGEsMHhlNiwweDdiLAotMHgwMCwweGZhLDB4ZWMsMHgyYSwweGZjLDB4ZWQsMHgzYiwweGZkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwKLTB4MTMsMHhkYSwweGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBkLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBhLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHgwZSwweDAyLDB4MjIsMHhmNCwweDhlLDB4NTgsMHg3OCwweDhjLDB4ZWQsCi0weGY2LDB4MDgsMHhlYywweGY2LDB4NzgsMHg4OSwweGVmLDB4ZjYsMHgxMiwweDIwLDB4YTQsMHgyMiwweDhjLDB4MjYsMHhlYywweDMwLAotMHhlNywweDE4LDB4ZTUsMHgyNiwweDU0LDB4MGYsMHgxNCwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZGYsMHhmMCwweDgwLDB4MTYsMHhlNSwweDI2LDB4NTQsMHgwZiwweDE0LDB4NzUsCi0weGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhkZiwweGYwLAotMHgyMiwweGVjLDB4OTAsMHhmZCwweDNmLDB4ZjAsMHg4YywweDI0LDB4ZWQsMHgyNCwweDAzLDB4ZjUsMHgyNSwweDdkLDB4MDAsMHhkMywKLTB4OTUsMHg2YywweGVkLDB4OTUsMHg2YiwweDQwLDB4MDMsMHg4NSwweDZjLDB4MjUsMHhlNSwweDI1LDB4MjQsMHhiNywweDUwLDB4MDksCi0weDc1LDB4MjUsMHgwMywweDc0LDB4MDIsMHg5MCwweGZkLDB4M2YsMHhmMCwweGFjLDB4MjUsMHgxMiwweDJmLDB4YzMsMHgyMiwweGU0LAotMHhmNSwweDY2LDB4ZjUsMHg2NSwweDEyLDB4MjQsMHhlOCwweDIyLDB4OTAsMHhmZCwweDNkLDB4ZTAsMHg2NSwweDZkLDB4NjAsMHgwZSwKLTB4NzQsMHgwNCwweDkwLDB4ZmQsMHgzZiwweGYwLDB4ZTQsMHhmNSwweDY1LDB4NzUsMHg2NiwweDAzLDB4ODAsMHg0NiwweDdkLDB4NmQsCi0weGU0LDB4ZmUsMHhmZiwweDc5LDB4M2QsMHg3YSwweGZkLDB4N2IsMHgwMSwweDc0LDB4MDUsMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLAotMHhlNSwweDY2LDB4MjQsMHgwMywweGY1LDB4NjYsMHhlNSwweDY1LDB4MzQsMHgwMCwweGY1LDB4NjUsMHhlNSwweDY2LDB4ZDMsMHg5NSwKLTB4NmMsMHhlNSwweDY1LDB4OTUsMHg2YiwweDQwLDB4MDYsMHg4NSwweDZjLDB4NjYsMHg4NSwweDZiLDB4NjUsMHhkMywweGU1LDB4NjYsCi0weDk0LDB4NDgsMHhlNSwweDY1LDB4OTQsMHgwMCwweDQwLDB4MGMsMHg3NCwweDAyLDB4OTAsMHhmZCwweDNmLDB4ZjAsMHhlNCwweGY1LAotMHg2NSwweDc1LDB4NjYsMHgwMywweGFjLDB4NjYsMHgxMiwweDJmLDB4YzMsMHgyMiwweGVjLDB4OTAsMHhmZCwweDNmLDB4ZjAsMHhlNCwKLTB4ZjUsMHg2NiwweGY1LDB4NjUsMHg4YywweDMyLDB4ZWMsMHg2MCwweDA1LDB4MTIsMHgyZiwweGI0LDB4ODAsMHgwNSwweDdjLDB4MDAsCi0weDEyLDB4MmYsMHhjMywweDIyLDB4OTAsMHhmZiwweDA0LDB4ZTAsMHhmNSwweDRhLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZCwweGEzLAotMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZiwweGEzLDB4ZTAsMHg3ZSwKLTB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLDB4ZmQsMHhjMywweGVjLDB4OTQsMHg0OCwweGVkLDB4OTQsCi0weDAwLDB4NTAsMHgyMiwweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLAotMHhmYywweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmYsMHhhMywweGUwLDB4N2UsMHgwMCwweGZmLDB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmYywKLTB4ZWQsMHg0ZiwweGZkLDB4ODAsMHgwNCwweGU0LDB4ZmQsMHg3YywweDQ4LDB4OGMsMHg2YywweDhkLDB4NmIsMHg5MCwweGZmLDB4MDIsCi0weGUwLDB4ZmQsMHhhMywweGUwLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHg5MCwweGZmLDB4MDIsMHhlMCwweGZmLAotMHhhMywweGUwLDB4N2UsMHgwMCwweGZmLDB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmNSwweDRjLDB4ZWQsMHg0ZiwweGY1LDB4NGIsMHg3NSwKLTB4NjQsMHgzZCwweDc1LDB4NjMsMHhmZCwweDc1LDB4NjIsMHgwMSwweDdkLDB4M2QsMHg3ZSwweGZkLDB4N2YsMHgwMSwweDc5LDB4NmQsCi0weGU0LDB4ZmEsMHhmYiwweDc0LDB4MDUsMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLDB4NzUsMHg0OSwweDAwLDB4ZTUsMHg0OSwweDI0LAotMHhmZSwweDQwLDB4MTksMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHhlNCwweDEyLDB4MDMsMHgwZiwweDA1LDB4NDksMHgwZCwKLTB4ZWQsMHg3MCwweDAxLDB4MGUsMHg4ZCwweDY0LDB4OGUsMHg2MywweDhmLDB4NjIsMHg4MCwweGUxLDB4NzUsMHg2NCwweDNkLDB4NzUsCi0weDYzLDB4ZmQsMHg3NSwweDYyLDB4MDEsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4NjAsMHhiNCwweDAwLDB4MDIsMHg4MCwweDA2LAotMHhkMywweDUwLDB4MDMsMHgwMiwweDJjLDB4MTIsMHhlNSwweDRhLDB4NTQsMHgwZiwweGY1LDB4NDksMHhlNSwweDRhLDB4NTQsMHg4MCwKLTB4YTIsMHhlMCwweDkyLDB4MDIsMHg5MCwweGZmLDB4MDEsMHhlMCwweDEyLDB4MDEsMHg4MSwweDAwLDB4MGIsMHgyYywweDBkLDB4MjYsCi0weDY3LDB4MjcsMHg4NSwweDJjLDB4MGQsMHgyOCwweDkxLDB4MmMsMHgwZCwweDI5LDB4NzQsMHgyOSwweGE4LDB4MmIsMHgwZiwweDJiLAotMHgxMiwweDJiLDB4NTIsMHgyYiwweGI2LDB4MmIsMHhlNCwweGU1LDB4NjcsMHgzMCwweGU3LDB4MGUsMHhlNSwweDRjLDB4NDUsMHg0YiwKLTB4NzAsMHgwOCwweGU1LDB4NmMsMHg2NCwweDAyLDB4NDUsMHg2YiwweDYwLDB4MDMsMHgwMiwweDJjLDB4MGYsMHg5MCwweGZmLDB4MDAsCi0weGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MjksMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLAotMHgyNywweDgyLDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4NzQsMHgwMSwweDEyLDB4MDMsMHgwZiwweDc4LDB4YTcsMHhlNiwKLTB4MzAsMHhlMCwweDBiLDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4NzQsMHgwMiwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDIsCi0weDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxYiwweGU1LDB4NjcsMHgyMCwweGUxLAotMHgwNywweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyNywweDgyLDB4ZTUsMHg0YSwweDI0LDB4ZmUsMHg1MCwweDAzLDB4MDIsMHgyNywKLTB4ODIsMHg3YywweDAyLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsCi0weDI3LDB4ODAsMHhlNSwweDY3LDB4MjAsMHhlMSwweDBkLDB4ZTUsMHg0YSwweDYwLDB4MDksMHhlNSwweDRhLDB4NjQsMHg4MCwweDYwLAotMHgwMywweDAyLDB4MjcsMHg4MiwweGFjLDB4NGEsMHgxMiwweDMwLDB4NGEsMHg0MCwweDAzLDB4MDIsMHgyNywweDgyLDB4ZTUsMHg0OSwKLTB4NzAsMHgyNSwweDMwLDB4MDIsMHgxMSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NTQsMHgwOCwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsCi0weDYyLDB4MTIsMHgwMywweDBmLDB4ODAsMHgwZiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHgwOCwweGFkLDB4NjQsMHhhZSwweDYzLAotMHhhZiwweDYyLDB4MTIsMHgwMywweDBmLDB4ODAsMHgzZCwweDE1LDB4NDksMHgzMCwweDAyLDB4MWQsMHhlNSwweDQ5LDB4NzUsMHhmMCwKLTB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwOCwweGFkLDB4NjQsCi0weGFlLDB4NjMsMHhhZiwweDYyLDB4MTIsMHgwMywweDBmLDB4ODAsMHgxYiwweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LAotMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwKLTB4NjIsMHgxMiwweDAzLDB4MGYsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHgxMiwweDAxLDB4ZTYsMHg2MCwweDBiLDB4YWQsCi0weDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHg3NCwweDAxLDB4MTIsMHgwMywweDBmLDB4N2MsMHgwMiwweDEyLDB4MmYsMHhjMywweDIyLAotMHg4MCwweDAwLDB4MDIsMHgyYywweDBmLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgwNiwweGU1LDB4NmMsMHg0NSwweDZiLDB4NjAsMHgwMywKLTB4MDIsMHgyYywweDBmLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsCi0weDFhLDB4ZTUsMHg0YywweDE0LDB4NDUsMHg0YiwweDcwLDB4MDQsMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjgsMHg4ZSwweDc4LAotMHhhNywweGU2LDB4NTQsMHhmZSwweGY2LDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywKLTB4ZDMsMHg0MCwweDJhLDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwOCwweGU1LDB4NjcsMHgyMCwweGUwLDB4MDMsMHgwMiwweDI4LDB4OGUsCi0weGU1LDB4NjcsMHgzMCwweGUwLDB4MDQsMHhlNSwweDRhLDB4NzAsMHgwYiwweGU1LDB4NjcsMHgzMCwweGUxLDB4MDksMHhlNSwweDRhLAotMHgyNCwweGZlLDB4NTAsMHgwMywweDAyLDB4MjgsMHg4ZSwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDIsMHgwMiwKLTB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MjgsMHg4YywweGU1LDB4NGMsMHg0NSwweDRiLDB4NjAsMHgwMywweDAyLDB4MjgsCi0weDhlLDB4YWMsMHg0YSwweDEyLDB4MzAsMHg0YSwweDQwLDB4MDMsMHgwMiwweDI4LDB4OGUsMHhlNSwweDY3LDB4MjAsMHhlMSwweDA3LAotMHhlNSwweDY3LDB4MjAsMHhlMCwweDAyLDB4ODAsMHg3NywweGU1LDB4NjcsMHgzMCwweGUwLDB4MDYsMHhlNSwweDQ5LDB4NjAsMHgwMiwKLTB4ODAsMHg2YywweGU1LDB4NDksMHg3MCwweDBmLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg5MCwweGZmLDB4ODAsCi0weGUwLDB4NTQsMHhmNywweGYwLDB4MjIsMHhlNSwweDQ5LDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwOSwweDdkLAotMHgwMSwweDdjLDB4MDMsMHgxMiwweDBmLDB4MGIsMHg4MCwweDExLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwOSwKLTB4N2QsMHgwMSwweDdjLDB4MDQsMHgxMiwweDBmLDB4MGIsMHg4MCwweDAwLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxNSwweGU1LDB4NDksCi0weDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGY3LAotMHhmMCwweDgwLDB4MTMsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwKLTB4ZjUsMHg4MywweGUwLDB4NTQsMHhmNywweGYwLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4ODAsMHgwMCwweDAyLDB4MmMsCi0weDBmLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgwNiwweGU1LDB4NmMsMHg0NSwweDZiLDB4NjAsMHgwMywweDAyLDB4MmMsMHgwZiwweDkwLAotMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxYSwweGU1LDB4NGMsMHgxNCwKLTB4NDUsMHg0YiwweDcwLDB4MDQsMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjksMHg3MSwweDc4LDB4YTcsMHhlNiwweDQ0LDB4MDEsCi0weGY2LDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgyOSwweGU1LAotMHg2NywweDIwLDB4ZTEsMHgwOCwweGU1LDB4NjcsMHgyMCwweGUwLDB4MDMsMHgwMiwweDI5LDB4NzEsMHhlNSwweDY3LDB4MzAsMHhlMCwKLTB4MDQsMHhlNSwweDQ5LDB4NzAsMHgwYiwweGU1LDB4NjcsMHgzMCwweGUxLDB4MDgsMHhlNSwweDQ5LDB4MjQsMHhmZSwweDUwLDB4MDIsCi0weDgwLDB4N2YsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDZmLAotMHhlNSwweDRjLDB4NDUsMHg0YiwweDYwLDB4MDIsMHg4MCwweDY5LDB4YWMsMHg0YSwweDEyLDB4MzAsMHg0YSwweDQwLDB4MDIsMHg4MCwKLTB4NjAsMHhlNSwweDY3LDB4MjAsMHhlMSwweDA3LDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwMiwweDgwLDB4NTQsMHhlNSwweDQ5LDB4NzAsCi0weDE0LDB4MzAsMHgwMiwweDA5LDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHhmZiwweDgyLAotMHhlMCwweDQ0LDB4MDgsMHhmMCwweDIyLDB4ZTUsMHg2NywweDMwLDB4ZTEsMHgzMywweDE1LDB4NDksMHgzMCwweDAyLDB4MTUsMHhlNSwKLTB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NDQsCi0weDA4LDB4ZjAsMHg4MCwweDEzLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweDgwLDB4MDIsMHg4MCwKLTB4MDAsMHgwMiwweDJjLDB4MGYsMHhlNSwweDY3LDB4MjAsMHhlNywweDEyLDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg3MCwweDBjLDB4ZTUsCi0weDRhLDB4NzAsMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLDB4MGYsMHhlNSwweDRjLAotMHg5MCwweGZmLDB4ZmYsMHhmMCwweDkwLDB4ZmYsMHhmZiwweGUwLDB4NjAsMHgwNSwweDQzLDB4NjcsMHgwMSwweDgwLDB4MDMsMHg1MywKLTB4NjcsMHhmZSwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGU1LDB4NjcsMHgzMCwweGU3LDB4MGUsMHhlNSwweDZjLDB4NDUsCi0weDZiLDB4NjAsMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLDB4MGYsMHhhZCwweDRiLAotMHhlNSwweDRjLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHhiZCwweDAwLDB4MDIsMHg4MCwweDAzLDB4MDIsMHgyYiwKLTB4MGEsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDMyLDB4ZTUsMHg0YSwweDcwLDB4MDUsMHhlNSwweDRjLDB4ZmMsCi0weDYwLDB4MDMsMHgwMiwweDJiLDB4MGMsMHg3NSwweDY0LDB4MDAsMHg3NSwweDYzLDB4ZmMsMHg3NSwweDYyLDB4MDEsMHhkMywweGU1LAotMHg2YywweDk0LDB4MTIsMHhlNSwweDZiLDB4OTQsMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgxMiwweDgwLDB4MDQsMHhhYywKLTB4NmMsMHhhZCwweDZiLDB4OGMsMHg2YSwweDhkLDB4NjksMHgxMiwweDJmLDB4ZDgsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHg1OSwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyYiwweDBjLDB4ZTUsMHg0YywweGZjLDB4NzAsMHgyNywweDc1LAotMHg2NCwweDEyLDB4NzUsMHg2MywweGZjLDB4NzUsMHg2MiwweDAxLDB4ZDMsMHhlNSwweDZjLDB4OTQsMHgxOSwweGU1LDB4NmIsMHg5NCwKLTB4MDAsMHg0MCwweDA2LDB4ZTQsMHhmZCwweDdjLDB4MTksMHg4MCwweDA0LDB4YWMsMHg2YywweGFkLDB4NmIsMHg4YywweDZhLDB4OGQsCi0weDY5LDB4MTIsMHgyZiwweGQ4LDB4ODAsMHgyNSwweDc1LDB4NjQsMHgyYiwweDc1LDB4NjMsMHhmYywweDc1LDB4NjIsMHgwMSwweGQzLAotMHhlNSwweDZjLDB4OTQsMHgzNSwweGU1LDB4NmIsMHg5NCwweDAwLDB4NDAsMHgwNiwweGU0LDB4ZmQsMHg3YywweDM1LDB4ODAsMHgwNCwKLTB4YWMsMHg2YywweGFkLDB4NmIsMHg4YywweDZhLDB4OGQsMHg2OSwweDEyLDB4MmYsMHhkOCwweDIyLDB4YjQsMHgwMywweDAyLDB4ODAsCi0weDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyYiwweDBhLDB4ZTUsMHg0YywweGY1LDB4NDksMHg3MCwweDBmLDB4OTAsMHhmZiwweDA0LAotMHhlMCwweGZkLDB4YTMsMHhlMCwweDRkLDB4NjAsMHgwMywweDAyLDB4MmIsMHgwYywweDgwLDB4MTgsMHg5MCwweGZjLDB4ODIsMHhlMCwKLTB4ZmQsMHhhMywweGUwLDB4ZmMsMHg5MCwweGZmLDB4MDUsMHhlMCwweDZjLDB4NzAsMHgwNywweDkwLDB4ZmYsMHgwNCwweGUwLDB4NmQsCi0weDYwLDB4MDIsMHg4MCwweDY4LDB4ZTQsMHhmNSwweDZhLDB4ZjUsMHg2OSwweDdmLDB4MDAsMHhlNSwweDQ5LDB4MTQsMHhjNSwweDQ5LAotMHg2MCwweDBmLDB4ZWYsMHgyNCwweDgwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDJmLDB4ZmYsMHg4MCwKLTB4ZWEsMHg4ZiwweDRhLDB4ZTUsMHg0YSwweDI0LDB4ODAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4N2QsCi0weDAwLDB4ZDMsMHg5NSwweDZjLDB4ZWQsMHg5NSwweDZiLDB4NDAsMHgwNiwweGFjLDB4NmMsMHhhZCwweDZiLDB4ODAsMHgwZiwweGU1LAotMHg0YSwweDI0LDB4ODAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4N2QsMHgwMCwweGZjLDB4OGMsMHg2YSwKLTB4OGQsMHg2OSwweGU1LDB4NGEsMHgyNCwweDgwLDB4ZmMsMHhlNCwweDM0LDB4ZmMsMHhmZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsCi0weDhkLDB4NjQsMHg4ZSwweDYzLDB4OGYsMHg2MiwweDEyLDB4MmYsMHhkOCwweDIyLDB4ODAsMHgwMCwweDAyLDB4MmMsMHgwZiwweDAyLAotMHgyYywweDBmLDB4ZTUsMHg2NywweDMwLDB4ZTcsMHgxOSwweGU1LDB4NmMsMHgxNCwweDQ1LDB4NmIsMHg3MCwweDEyLDB4ZTUsMHg0YSwKLTB4NzAsMHgwZSwweGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsCi0weDAyLDB4MmMsMHgwZiwweGU1LDB4NjcsMHgyMCwweGUwLDB4MDgsMHhlNSwweDY3LDB4MjAsMHhlMSwweDAzLDB4MDIsMHgyYywweDBmLAotMHg3NSwweDY0LDB4NjgsMHhlNCwweGY1LDB4NjMsMHhmNSwweDYyLDB4ZTQsMHhmNSwweDY5LDB4MDQsMHhmNSwweDZhLDB4MTIsMHgyZiwKLTB4ZDgsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MjcsMHhlNSwweDZjLDB4NDUsMHg2YiwweDcwLDB4MjEsMHhlNSwweDRhLDB4NzAsCi0weDFkLDB4ZTUsMHg0YywweDY0LDB4MDIsMHg0NSwweDRiLDB4NjAsMHgwZCwweGU1LDB4NGMsMHgxNCwweDQ1LDB4NGIsMHg2MCwweDA2LAotMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywKLTB4MGYsMHhlNSwweDY3LDB4MjAsMHhlMCwweDA4LDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwMywweDAyLDB4MmMsMHgwZiwweDg1LDB4NGMsCi0weDY4LDB4ZTUsMHg2OCwweDcwLDB4MDgsMHg0MywweDY3LDB4MDEsMHg1MywweDY3LDB4ZmQsMHg4MCwweDEzLDB4ZTUsMHg2OCwweDY0LAotMHgwMiwweDYwLDB4MDcsMHhlNSwweDY4LDB4MTQsMHg2MCwweDAyLDB4ODAsMHg2NSwweDUzLDB4NjcsMHhmZSwweDQzLDB4NjcsMHgwMiwKLTB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4ZTUsMHg2NywweDMwLDB4ZTcsMHgxYSwweGU1LDB4NmMsMHgxNCwweDQ1LDB4NmIsCi0weDcwLDB4MTMsMHhlNSwweDRhLDB4NzAsMHgwZiwweGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOSwweDkwLDB4ZmYsMHgwMCwweGUwLAotMHg1NCwweDFmLDB4MTQsMHg2MCwweDAyLDB4ODAsMHgzOCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDIsMHg4MCwweDMxLDB4N2MsMHgwMSwKLTB4MTIsMHgyZiwweGMzLDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDE1LDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg3MCwweDBmLDB4ZTUsCi0weDRjLDB4NDUsMHg0YiwweDcwLDB4MDksMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHgxNCwweDYwLDB4MDIsMHg4MCwweDBmLAotMHhlNSwweDY3LDB4MjAsMHhlMSwweDAyLDB4ODAsMHgwOCwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweDgwLDB4MDAsMHgwMiwKLTB4MmUsMHhjYSwweGI0LDB4NDAsMHgwMiwweDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwweDJlLDB4YzAsMHg5MCwweGZmLDB4MDEsCi0weGUwLDB4OTAsMHhmZCwweDNkLDB4ZjAsMHhlNSwweDRhLDB4OTAsMHhmZCwweDNlLDB4ZjAsMHhlNCwweDkwLDB4ZmQsMHgzZiwweGYwLAotMHhlNSwweDY0LDB4MjQsMHgwMywweGY1LDB4NjQsMHhlNSwweDYzLDB4MzQsMHgwMCwweGY1LDB4NjMsMHhhZCwweDRiLDB4ZTUsMHg0YywKLTB4ODUsMHg2NCwweDgyLDB4ODUsMHg2MywweDgzLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmYsMHgwMSwweGUwLDB4MTIsCi0weDAxLDB4YjcsMHgyYywweDdkLDB4MDEsMHgyYywweGEzLDB4MDIsMHgyYywweGNkLDB4MDMsMHgyYywweGY3LDB4MDQsMHgyZCwweDQ1LAotMHgwNSwweDJkLDB4ODIsMHgwNiwweDJkLDB4YTgsMHgwNywweDJkLDB4Y2UsMHgwOCwweDJkLDB4ZjQsMHgwOSwweDJlLDB4MWEsMHgwYiwKLTB4MmUsMHg0MCwweDBjLDB4MmUsMHg0ZiwweDgwLDB4MmUsMHg0ZiwweDgxLDB4MDAsMHgwMCwweDJlLDB4YWQsMHhlNSwweDY3LDB4MjAsCi0weGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwweDRhLDB4MjIsMHg3ZCwweGI3LDB4N2UsMHgzNCwweDdmLDB4MDIsMHg3OSwweDQwLAotMHg3YSwweGZkLDB4N2IsMHgwMSwweDc0LDB4MDgsMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLDB4N2QsMHgwOCwweDdjLDB4MDAsMHgxMiwKLTB4MjQsMHhiMSwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LDB4NGEsMHgyMiwweGU1LDB4NGEsCi0weGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLAotMHgxMCwweDEyLDB4MzEsMHg5YSwweDIyLDB4N2QsMHgwMCwweDdjLDB4MDcsMHgxMiwweDI0LDB4YjEsMHgyMiwweGU1LDB4NjcsMHgyMCwKLTB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LDB4NGEsMHgyMiwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsCi0weDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTEsMHgxMiwweDMxLDB4OWEsMHgyMiwweDdkLAotMHgwMCwweDdjLDB4MDcsMHgxMiwweDI0LDB4YjEsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwKLTB4NGEsMHgyMiwweGU1LDB4NGEsMHhiNCwweDA1LDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsCi0weDdjLDB4MGEsMHgxMiwweDMxLDB4OWEsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLAotMHgwNCwweGZlLDB4N2MsMHgwOCwweDEyLDB4MzEsMHg5YSwweDIyLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwKLTB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDEzLDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3ZCwweDAwLDB4N2MsCi0weDA3LDB4MTIsMHgyNCwweGIxLDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDM0LDB4ZDMsMHhlNSwweDZjLDB4OTQsMHg0OCwweGU1LAotMHg2YiwweDk0LDB4MDAsMHg1MCwweDA2LDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg3MCwweDA2LDB4N2MsMHgwMiwweDEyLDB4MjUsMHg0YSwKLTB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMSwweDAzLDB4YjMsMHg0MCwweDBiLDB4YzMsMHhiNCwweDAzLDB4MDAsMHg0MCwweDA5LDB4YjQsCi0weDA2LDB4MDAsMHg1MCwweDA0LDB4MTIsMHgzMCwweDcwLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LAotMHhlOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwKLTB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTYsMHgxMiwweDMxLDB4OWEsMHgyMiwweDdjLDB4MDcsCi0weDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwweGU4LDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LAotMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxOSwKLTB4MTIsMHgzMSwweDlhLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LDB4ZTgsMHgyMiwweGU1LDB4NjcsCi0weDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LAotMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTcsMHgxMiwweDMxLDB4OWEsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwKLTB4MTIsMHgyNCwweGU4LDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsCi0weGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxOCwweDEyLDB4MzEsMHg5YSwweDIyLAotMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LDB4ZTgsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MWQsMHhlNSwKLTB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsCi0weDdjLDB4MTUsMHgxMiwweDMxLDB4OWEsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLAotMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwweGU4LDB4MjIsMHhlNSwKLTB4NjcsMHgzMCwweGU3LDB4MjAsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg3MCwweDEwLDB4OTAsMHhmZiwweDAxLDB4ZTAsCi0weGI0LDB4ODAsMHgwNSwweDEyLDB4MjQsMHhkZiwweDgwLDB4MDMsMHgxMiwweDI0LDB4ZTgsMHgyMiwweDdkLDB4MDAsMHg3YywweDA1LAotMHgxMiwweDI0LDB4YjEsMHgyMiwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwKLTB4NGEsMHgyMiwweGQzLDB4ZTUsMHg2YywweDk0LDB4NDgsMHhlNSwweDZiLDB4OTQsMHgwMCwweDUwLDB4MGIsMHhjMywweGU1LDB4NmMsCi0weDk0LDB4MDcsMHhlNSwweDZiLDB4OTQsMHgwMCwweDUwLDB4MDYsMHg3YywweDAzLDB4MTIsMHgyNSwweDRhLDB4MjIsMHhlNSwweDRhLAotMHhiNCwweDA1LDB4MDQsMHgxMiwweDMwLDB4NzAsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweGU1LDB4NjcsMHgzMCwKLTB4ZTcsMHgwOCwweDdkLDB4MDAsMHg3YywweDA1LDB4MTIsMHgyNCwweGIxLDB4MjIsMHg3YywweDA1LDB4MTIsMHgyNSwweDRhLDB4MjIsCi0weGI0LDB4MjAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg4MCwweDAwLDB4MTIsMHgyZiwweDllLDB4MjIsMHg3NSwweDQzLAotMHgwMCwweDkwLDB4ZmYsMHg4MywweGUwLDB4NTQsMHgwZiwweGQzLDB4OTUsMHg0MywweDQwLDB4MjQsMHhlNSwweDQzLDB4MjQsMHhmMCwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZSwweGY1LDB4ODMsMHhlMCwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDEyLDB4MDMsCi0weDBmLDB4MDUsMHg0MywweDBkLDB4ZWQsMHg3MCwweDAxLDB4MGUsMHg4ZCwweDY0LDB4OGUsMHg2MywweDhmLDB4NjIsMHg4MCwweGQxLAotMHhlNSwweDQzLDB4N2QsMHgwMCwweGZjLDB4YzMsMHhlNSwweDZhLDB4OWMsMHhmNSwweDZhLDB4ZTUsMHg2OSwweDlkLDB4ZjUsMHg2OSwKLTB4ZTUsMHg2YSwweDQ1LDB4NjksMHg2MCwweDA2LDB4ZTQsMHg5MCwweGZmLDB4ODMsMHhmMCwweDIyLDB4OTAsMHhmZiwweDgyLDB4ZTAsCi0weDQ0LDB4MDgsMHhmMCwweGU0LDB4ZjUsMHg2OSwweDc1LDB4NmEsMHg0OSwweDkwLDB4ZmQsMHgzZCwweGUwLDB4YjQsMHgwNSwweDAyLAotMHg4MCwweDAzLDB4ZDMsMHg0MCwweDQwLDB4OTAsMHhmZCwweDNlLDB4ZTAsMHhmNSwweDQzLDB4YjQsMHgwNSwweDAyLDB4ODAsMHgwMywKLTB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDBiLDB4MTIsMHgzMSwweDlhLDB4MjIsMHhiNCwweDAxLDB4MDIsCi0weDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDksMHgxMiwweDMxLDB4OWEsMHgyMiwweGI0LAotMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDQzLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNCwKLTB4MTIsMHgzMSwweDlhLDB4MjIsMHgyMiwweGI0LDB4ODAsMHgwMCwweDQwLDB4MjMsMHhiNCwweDgyLDB4MDAsMHg1MCwweDFlLDB4N2MsCi0weDNkLDB4N2QsMHhmZCwweDEyLDB4MTcsMHhkNSwweDdkLDB4MDAsMHg4YywweDY2LDB4OGQsMHg2NSwweDkwLDB4ZmQsMHgzZiwweGUwLAotMHg2MCwweDA1LDB4MTIsMHgyZiwweDllLDB4ODAsMHgwNSwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweDIyLDB4OTAsMHhmZiwKLTB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsMHhmZiwweDgwLDB4ZTAsCi0weDQ0LDB4MDgsMHhmMCwweDIyLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwweGZmLDB4ODAsMHhlMCwweDQ0LAotMHgwOCwweGYwLDB4MjIsMHg4YywweDIzLDB4N2QsMHgwMCwweDhjLDB4NmEsMHg4ZCwweDY5LDB4NzUsMHg2NCwweDNkLDB4NzUsMHg2MywKLTB4ZmQsMHg3NSwweDYyLDB4MDEsMHgxMiwweDJmLDB4ZDgsMHgyMiwweDkwLDB4ZmYsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4ZTUsCi0weDZhLDB4NjQsMHg0OSwweDQ1LDB4NjksMHg3MCwweDAxLDB4MjIsMHhjMywweGU1LDB4NmEsMHg5NCwweDA4LDB4ZTUsMHg2OSwweDk0LAotMHgwMCwweDQwLDB4MTUsMHg3NSwweDIxLDB4MDgsMHhlNSwweDIxLDB4N2QsMHgwMCwweGZjLDB4YzMsMHhlNSwweDZhLDB4OWMsMHhmNSwKLTB4NmEsMHhlNSwweDY5LDB4OWQsMHhmNSwweDY5LDB4ODAsMHgwOSwweDg1LDB4NmEsMHgyMSwweGU0LDB4ZjUsMHg2OSwweDc1LDB4NmEsCi0weDQ5LDB4NzUsMHgyMiwweDAwLDB4ZTUsMHgyMiwweGMzLDB4OTUsMHgyMSwweDUwLDB4MjYsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLAotMHg2MiwweDEyLDB4MDEsMHhlNiwweGZjLDB4ZTUsMHgyMiwweDI0LDB4ZjgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZlLDB4ZjUsMHg4MywKLTB4ZWMsMHhmMCwweDA1LDB4MjIsMHgwZCwweGVkLDB4NzAsMHgwMSwweDBlLDB4OGQsMHg2NCwweDhlLDB4NjMsMHg4ZiwweDYyLDB4ODAsCi0weGQzLDB4ZTUsMHgyMSwweDU0LDB4N2YsMHg5MCwweGZmLDB4ODEsMHhmMCwweDIyLDB4OGMsMHg0OCwweDdmLDB4MDAsMHhlZiwweDI0LAotMHhmYiwweDQwLDB4MTksMHhlNCwweGVmLDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDNmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywKLTB4ZjUsMHg4MywweGUwLDB4NjUsMHg0OCwweDcwLDB4MDIsMHhkMywweDIyLDB4MGYsMHg4MCwweGUyLDB4OGYsMHg0NywweGMzLDB4MjIsCi0weDg1LDB4NmMsMHg2YSwweDg1LDB4NmIsMHg2OSwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHhmNywweGYwLDB4OTAsMHhmZiwweDgzLAotMHhlMCwweDU0LDB4N2YsMHhmMCwweDIyLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwNiwweGMwLDB4MDcsMHhlNSwKLTB4NzIsMHgyNCwweDA4LDB4ZjgsMHg4NiwweDA2LDB4NTMsMHgwNiwweDdmLDB4N2MsMHhmZiwweDEyLDB4MzAsMHhmYSwweDdjLDB4MDAsCi0weDdkLDB4MDAsMHhlNSwweDc1LDB4NjAsMHg0NiwweGZmLDB4OTAsMHhmZSwweDlkLDB4ZTAsMHg1NCwweDdmLDB4NmUsMHg3MCwweDBmLAotMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYywweGEzLDB4MTUsMHg3NSwweDgwLDB4MDcsMHhhMywKLTB4YTMsMHhhMywweGRmLDB4ZTYsMHg4MCwweDI2LDB4ZGYsMHgwNiwweGQwLDB4ODIsMHhkMCwweDgzLDB4ODAsMHgxZSwweGUwLDB4ZjgsCi0weGEzLDB4ZTAsMHhmOSwweGEzLDB4ZTAsMHhmYSwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZTgsMHhmMCwweGEzLDB4ZTksMHhmMCwweGEzLAotMHhlYSwweGYwLDB4YTMsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGEsMHgxMiwweDMxLDB4OTMsMHhkMCwKLTB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwMiwweGQwLDB4MDEsMHhkMCwweDAwLDB4MjIsMHg4NSwweGE4LDB4NzQsMHg3NSwweGE4LDB4ODgsCi0weGVjLDB4NzAsMHgwMiwweDdjLDB4M2YsMHg4YywweDczLDB4MjIsMHhlNSwweDcyLDB4MjQsMHgwOCwweGY4LDB4NzYsMHgwMCwweDEyLAotMHgzMSwweGU3LDB4ODAsMHhmYiwweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDYsMHhjMCwweDA3LDB4YWUsMHgwNCwKLTB4N2MsMHhmZiwweDEyLDB4MzAsMHhmYSwweGU1LDB4NzUsMHg2MCwweDQyLDB4ZmYsMHg5MCwweGZlLDB4OWQsMHhlMCwweDU0LDB4N2YsCi0weDZlLDB4NzAsMHgwYiwweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4MTUsMHg3NSwweDgwLDB4MDcsMHhhMywweGEzLAotMHhhMywweGRmLDB4ZWEsMHg4MCwweDI2LDB4ZGYsMHgwNiwweGQwLDB4ODIsMHhkMCwweDgzLDB4ODAsMHhkOCwweGUwLDB4ZjgsMHhhMywKLTB4ZTAsMHhmOSwweGEzLDB4ZTAsMHhmYSwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZTgsMHhmMCwweGEzLDB4ZTksMHhmMCwweGEzLDB4ZWEsCi0weGYwLDB4YTMsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGEsMHg3OCwweDA4LDB4MDgsMHg3OSwweDE4LAotMHgwOSwweDdjLDB4MDEsMHhlNiwweDU0LDB4N2YsMHg2ZSwweDcwLDB4MDYsMHg3NiwweDAwLDB4NzcsMHgwMCwweDgwLDB4MDYsMHgwOCwKLTB4MDksMHgwYywweGJjLDB4MDgsMHhlZSwweDEyLDB4MzEsMHg5MywweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwMiwweGQwLDB4MDEsCi0weGQwLDB4MDAsMHgyMiwweDc1LDB4NzMsMHgwMCwweDg1LDB4NzQsMHhhOCwweDIyLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLAotMHhjMywweGU1LDB4NzUsMHgyNCwweGU4LDB4NTAsMHgwNSwweDEyLDB4MzEsMHhlNywweDgwLDB4ZjQsMHhlYywweDYwLDB4MzEsMHg5MCwKLTB4MzQsMHhiNiwweGU0LDB4OTMsMHhjMywweDljLDB4NDAsMHgyOCwweGMwLDB4MDQsMHg3YywweGZmLDB4MTIsMHgzMCwweGZhLDB4ZDAsCi0weDA0LDB4NDMsMHgwNCwweDgwLDB4ZTUsMHg3NSwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHg5ZCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZSwweGY1LDB4ODMsMHhlYywweGYwLDB4ZWYsMHhhMywweGYwLDB4ZWUsMHhhMywweGYwLDB4MDUsMHg3NSwweDEyLDB4MzEsMHg5MywKLTB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4MjIsMHhjMCwweDA0LDB4N2MsMHgyMCwweGQyLDB4OGMsMHhkMiwweDhkLDB4ZDUsCi0weDA0LDB4ZmQsMHhkMCwweDA0LDB4MjIsMHg3NSwweGE4LDB4MDAsMHg3NSwweDg4LDB4MDAsMHg3NSwweGI4LDB4MDAsMHg3NSwweGYwLAotMHgwMCwweDc1LDB4ZDAsMHgwMCwweGU0LDB4ZjgsMHg5MCwweDAwLDB4MDAsMHhmNiwweDA4LDB4YjgsMHgwMCwweGZiLDB4MDIsMHgwMCwKLTB4MDAsMHhjMywweGVkLDB4OTQsMHgwMiwweDUwLDB4MDQsMHg3ZCwweDAzLDB4N2MsMHhlOCwweGVjLDB4ZjQsMHhmYywweGVkLDB4ZjQsCi0weGZkLDB4MGMsMHhiYywweDAwLDB4MDEsMHgwZCwweDhjLDB4NzksMHg4ZCwweDc4LDB4MjIsMHhjMywweGVjLDB4OTQsMHhiYywweGVkLAotMHg5NCwweDAyLDB4NTAsMHgwNCwweDdkLDB4MDcsMHg3YywweGQwLDB4ZWMsMHhmNCwweGZjLDB4ZWQsMHhmNCwweGZkLDB4MGMsMHhiYywKLTB4MDAsMHgwMSwweDBkLDB4OGMsMHg3NywweDhkLDB4NzYsMHgyMiwweGVjLDB4NzAsMHgwMSwweDIyLDB4YzAsMHgwMCwweGU1LDB4NzIsCi0weDI0LDB4MTgsMHhmOCwweGE2LDB4MDQsMHhlNSwweDcyLDB4MjQsMHgwOCwweGY4LDB4YzYsMHg1NCwweDdmLDB4ZjYsMHhlNiwweDMwLAotMHhlNywweDAzLDB4ZDAsMHgwMCwweDIyLDB4MTIsMHgzMSwweGU3LDB4ODAsMHhmNCwweGMyLDB4OGMsMHg4NSwweDc2LDB4OGMsMHg4NSwKLTB4NzcsMHg4YSwweGQyLDB4OGMsMHhjMCwweGUwLDB4YzAsMHhkMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDAsCi0weGMwLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDQsMHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHgxMiwweDFiLAotMHgyOCwweGU1LDB4NzIsMHgyNCwweDA4LDB4ZjgsMHhlNiwweDYwLDB4MjQsMHhlNSwweDcyLDB4MjQsMHgxMCwweGY4LDB4YTYsMHg4MSwKLTB4ZTUsMHg3MiwweDc1LDB4ZjAsMHgyMSwweGE0LDB4MjQsMHg5NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4NzgsCi0weGE4LDB4ZTUsMHg4MSwweDA0LDB4YzMsMHg5OCwweGY5LDB4ZTYsMHhmMCwweDA4LDB4YTMsMHhkOSwweGZhLDB4NzQsMHgwOCwweDI1LAotMHg3MiwweGY4LDB4MDUsMHg3MiwweDA4LDB4ZTYsMHg1NCwweDgwLDB4NzAsMHgwYywweGU1LDB4NzIsMHhiNCwweDA3LDB4ZjMsMHg3OCwKLTB4MDgsMHg3NSwweDcyLDB4MDAsMHg4MCwweGVmLDB4ZTUsMHg3MiwweDI0LDB4MTAsMHhmOCwweDg2LDB4ODEsMHhlNSwweDcyLDB4NzUsCi0weGYwLDB4MjEsMHhhNCwweDI0LDB4OTUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweDc4LDB4YTgsMHhlNSwweDgxLAotMHgwNCwweGMzLDB4OTgsMHhmOSwweGUwLDB4ZjYsMHgwOCwweGEzLDB4ZDksMHhmYSwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwNSwKLTB4ZDAsMHgwNCwweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsCi0weGQwLDB4ZDAsMHhkMCwweGUwLDB4MzIsMHhjMCwweGUwLDB4YzAsMHhkMCwweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMyLAotMHg4ZSwweDg1LDB4NzgsMHg4ZCwweDg1LDB4NzksMHg4YiwweGQyLDB4OGUsMHg3OCwweDE5LDB4NzksMHgwOSwweDdhLDB4MDcsMHhlNywKLTB4NzAsMHgwNCwweGE2LDB4MDAsMHg4MCwweDBiLDB4ZTYsMHg2MCwweDA4LDB4MTYsMHhlNiwweDcwLDB4MDQsMHhlNywweDQ0LDB4ODAsCi0weGY3LDB4MDgsMHgwOSwweGRhLDB4ZWEsMHhlNSwweDczLDB4NjAsMHgxMywweDE0LDB4ZjUsMHg3MywweDcwLDB4MGUsMHhlNSwweDcyLAotMHgyNCwweDA4LDB4ZjgsMHg3NiwweDAwLDB4MTIsMHgzMSwweDkzLDB4ZDIsMHg4YywweGQyLDB4OGQsMHhkMCwweDAyLDB4ZDAsMHgwMSwKLTB4ZDAsMHgwMCwweGQwLDB4ZDAsMHhkMCwweGUwLDB4MzIsMHg3NSwweDgxLDB4YTcsMHg3NSwweDkwLDB4MDAsMHg3NSwweDc5LDB4MzAsCi0weDc1LDB4NzgsMHhmOCwweDc1LDB4NzcsMHg2MCwweDc1LDB4NzYsMHhmMCwweDEyLDB4MDUsMHgzYywweDEyLDB4MzQsMHgwZiwweDEyLAotMHgxNywweDhiLDB4MTIsMHgzNCwweDM5LDB4MTIsMHgzMSwweGY1LDB4ODAsMHhlMywweDIyLDB4YzAsMHgwMCwweDdjLDB4MDEsMHhlYywKLTB4MjQsMHgwOCwweGY4LDB4ZTYsMHg2MCwweDA5LDB4MGMsMHhiYywweDA4LDB4ZjUsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGVlLDB4ZDAsCi0weDAwLDB4MjIsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAwLDB4YzAsMHgwNiwweGMwLDB4MDcsMHhlZCwweDI0LAotMHgxMCwweGY4LDB4NzYsMHhiNiwweGVkLDB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDk1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwKLTB4ZjUsMHg4MywweGMwLDB4ODIsMHhjMCwweDgzLDB4YTMsMHhhMywweGU0LDB4NzgsMHgwZCwweGYwLDB4YTMsMHhkOCwweGZjLDB4ZWMsCi0weDU0LDB4N2YsMHg3NSwweGYwLDB4MDIsMHhhNCwweDI0LDB4ODIsMHhmNSwweDgyLDB4ZTUsMHhmMCwweDM0LDB4MzQsMHhmNSwweDgzLAotMHhlNCwweDkzLDB4ZmUsMHg3NCwweDAxLDB4OTMsMHhmNSwweDgyLDB4OGUsMHg4MywweGU0LDB4OTMsMHhmZSwweDc0LDB4MDEsMHg5MywKLTB4ZmYsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGVmLDB4ZjAsMHhhMywweGVlLDB4ZjAsMHhlZCwweDI0LDB4MDgsMHhmOCwweGVjLDB4NDQsCi0weDgwLDB4ZjYsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHgyMiwweDc1LAotMHg3MiwweDAwLDB4NzUsMHg3NSwweDAwLDB4N2EsMHgwOCwweDc5LDB4MTgsMHg3OCwweDA4LDB4NzYsMHgwMCwweDc3LDB4MDAsMHgwOCwKLTB4MDksMHhkYSwweGY4LDB4ZTQsMHg3OCwweDA4LDB4NzQsMHg4MCwweDQ0LDB4N2YsMHhmNiwweDc0LDB4MDEsMHg0NCwweDEwLDB4ZjUsCi0weDg5LDB4NzUsMHhiOCwweDA4LDB4ZDIsMHhhYiwweGQyLDB4YTksMHgyMiwweDc1LDB4ODEsMHhhNywweGQyLDB4OGUsMHhkMiwweDhjLAotMHhkMiwweGFmLDB4ZTUsMHg3NSwweDYwLDB4MzIsMHhmZiwweDkwLDB4ZmUsMHg5ZCwweGUwLDB4NTQsMHg4MCwweDYwLDB4MjQsMHg3OCwKLTB4MDgsMHg3OSwweDA4LDB4ZTAsMHg1NCwweDdmLDB4ZmEsMHg3YiwweDAwLDB4ZTYsMHg1NCwweDdmLDB4YjUsMHgwMiwweDAyLDB4N2IsCi0weGZmLDB4MDgsMHhkOSwweGY1LDB4ZWIsMHg3MCwweDBjLDB4ZWEsMHhmMCwweDEyLDB4MzMsMHg4YiwweGFkLDB4MDQsMHhhYywweDAyLAotMHgxMiwweDMzLDB4YTIsMHhhMywweGEzLDB4YTMsMHhkZiwweGQyLDB4MTIsMHgzMSwweGU3LDB4ODAsMHhjNSwweDdjLDB4MDEsMHg3ZCwKLTB4MDAsMHgyMiwweDA0LDB4ZjUsMHgwNCwweGU5LDB4MDQsMHhlZCwweDA0LDB4ZTEsMHgwNCwweGRkLDB4MDQsMHhkOSwweDA0LDB4ZTUsCi0weDA0LDB4ZjEsMHgwNCwweDlkLDB4MDQsMHhhMSwweDA0LDB4Y2QsMHgwNCwweGQxLDB4MDQsMHg5OSwweDA0LDB4OTksMHgwNCwweDk5LAotMHgwNCwweGQ1LDB4MDQsMHhiNSwweDA0LDB4YWQsMHgwNCwweGIxLDB4MDQsMHhhOSwweDA0LDB4YzEsMHgwNCwweGJkLDB4MDQsMHhiOSwKLTB4MDQsMHhjNSwweDA0LDB4YzksMHgwNCwweGE1LDB4MTksMHgwMSwweDAzLDB4MDAsMHgyMiwweDAwLDB4NDgsMHgwMiwweDAwLDB4MjQsCi0weDBmLDB4MTgsMHgwYSwweDEwLDB4NjQsMHgwZCwweDY4LDB4MGMsMHgwNSwweDA2LDB4MDIsMHgwMywweDAxLDB4MDEsMHg4MSwweDAxLAotMHgwMCwweDAwLDB4ZTcsMHgwMCwweGMwLDB4MDAsMHg4MCwweDAwLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgzMCwweDAwLDB4MTgsMHgwMCwKLTB4MGMsMHgwMCwweDA4LDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDAxLDB4MDAsMHgwOCwweDE4LDB4MzgsMHgyOCwweDA2LDB4MDIsCi0weDEwLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDgxLDB4MTAsMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4ZmIsMHhlOCwweGZiLDB4ZmEsMHgxMiwweDAxLDB4MTAsMHgwMSwweGZmLDB4MDAsMHgwMCwweDA4LDB4NTEsMHgwNCwKLTB4NWYsMHg1MCwweDE2LDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMiwweDA5LDB4MDIsMHgzNSwweDAwLDB4MDEsMHgwMiwweDAwLDB4ZTAsCi0weDAwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDgxLDB4MDIsMHg0MCwweDAwLAotMHgwMCwweDA3LDB4MDUsMHgwMSwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywKLTB4MDUsMHgwMiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDg1LDB4MDMsMHgwMiwweDAwLDB4MDEsMHgwNCwweDAzLDB4MDksCi0weDA0LDB4MjQsMHgwMywweDU0LDB4MDAsMHg2NSwweDAwLDB4NzgsMHgwMCwweDYxLDB4MDAsMHg3MywweDAwLDB4MjAsMHgwMCwweDQ5LAotMHgwMCwweDZlLDB4MDAsMHg3MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg3NSwweDAwLDB4NmQsMHgwMCwweDY1LDB4MDAsMHg2ZSwKLTB4MDAsMHg3NCwweDAwLDB4NzMsMHgwMCwweDJhLDB4MDMsMHg1NCwweDAwLDB4NTUsMHgwMCwweDUzLDB4MDAsMHg0MiwweDAwLDB4MzUsCi0weDAwLDB4MzAsMHgwMCwweDM1LDB4MDAsMHgzMiwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg2NSwweDAwLDB4NzIsMHgwMCwweDY5LAotMHgwMCwweDYxLDB4MDAsMHg2YywweDAwLDB4MjAsMHgwMCwweDUwLDB4MDAsMHg2ZiwweDAwLDB4NzIsMHgwMCwweDc0LDB4MDAsMHgyMiwKLTB4MDMsMHg1NCwweDAwLDB4NTUsMHgwMCwweDUzLDB4MDAsMHg0MiwweDAwLDB4MzUsMHgwMCwweDMwLDB4MDAsMHgzNSwweDAwLDB4MzIsCi0weDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLAotMHgwMCwKLX07Ci0KLSNlbmRpZiAvKiBpZm5kZWYgX1RJX0ZXXzUwNTJfSF8gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC90aV91c2JfMzQxMF81MDUyLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfdXNiXzM0MTBfNTA1Mi5jCmluZGV4IGExYzhhZWYuLmEyNmE2MjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC90aV91c2JfMzQxMF81MDUyLmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL3RpX3VzYl8zNDEwXzUwNTIuYwpAQCAtODQsMTEgKzg0LDkgQEAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiAjaW5jbHVkZSAidGlfdXNiXzM0MTBfNTA1Mi5oIgotI2luY2x1ZGUgInRpX2Z3XzM0MTAuaCIJCS8qIGZpcm13YXJlIGltYWdlIGZvciAzNDEwICovCi0jaW5jbHVkZSAidGlfZndfNTA1Mi5oIgkJLyogZmlybXdhcmUgaW1hZ2UgZm9yIDUwNTIgKi8KLQogCiAvKiBEZWZpbmVzICovCiAKQEAgLTE5NCw4ICsxOTIsOCBAQAogc3RhdGljIGludCB0aV93cml0ZV9ieXRlKHN0cnVjdCB0aV9kZXZpY2UgKnRkZXYsIHVuc2lnbmVkIGxvbmcgYWRkciwKIAlfX3U4IG1hc2ssIF9fdTggYnl0ZSk7CiAKLXN0YXRpYyBpbnQgdGlfZG93bmxvYWRfZmlybXdhcmUoc3RydWN0IHRpX2RldmljZSAqdGRldiwKLQl1bnNpZ25lZCBjaGFyICpmaXJtd2FyZSwgdW5zaWduZWQgaW50IGZpcm13YXJlX3NpemUpOworc3RhdGljIGludCB0aV9kb3dubG9hZF9maXJtd2FyZShzdHJ1Y3QgdGlfZGV2aWNlICp0ZGV2LCBjaGFyICpmd19uYW1lKTsKKwogCiAvKiBjaXJjdWxhciBidWZmZXIgKi8KIHN0YXRpYyBzdHJ1Y3QgY2lyY19idWYgKnRpX2J1Zl9hbGxvYyh2b2lkKTsKQEAgLTMyMCw2ICszMTgsOSBAQAogTU9EVUxFX1ZFUlNJT04oVElfRFJJVkVSX1ZFUlNJT04pOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogCitNT0RVTEVfRklSTVdBUkUoInRpXzM0MTAuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgidGlfNTA1Mi5mdyIpOworCiBtb2R1bGVfcGFyYW0oZGVidWcsIGJvb2wsIFNfSVJVR08gfCBTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGVidWcsICJFbmFibGUgZGVidWdnaW5nLCAwPW5vLCAxPXllcyIpOwogCkBAIC00MzEsMTEgKzQzMiw5IEBACiAJaWYgKGRldi0+ZGVzY3JpcHRvci5iTnVtQ29uZmlndXJhdGlvbnMgPT0gMSkgewogCiAJCWlmICh0ZGV2LT50ZF9pc18zNDEwKQotCQkJc3RhdHVzID0gdGlfZG93bmxvYWRfZmlybXdhcmUodGRldiwgdGlfZndfMzQxMCwKLQkJCQlzaXplb2YodGlfZndfMzQxMCkpOworCQkJc3RhdHVzID0gdGlfZG93bmxvYWRfZmlybXdhcmUodGRldiwgInRpXzM0MTAuZnciKTsKIAkJZWxzZQotCQkJc3RhdHVzID0gdGlfZG93bmxvYWRfZmlybXdhcmUodGRldiwgdGlfZndfNTA1MiwKLQkJCQlzaXplb2YodGlfZndfNTA1MikpOworCQkJc3RhdHVzID0gdGlfZG93bmxvYWRfZmlybXdhcmUodGRldiwgInRpXzUwNTIuZnciKTsKIAkJaWYgKHN0YXR1cykKIAkJCWdvdG8gZnJlZV90ZGV2OwogCkBAIC0xNjU4LDggKzE2NTcsOSBAQAogCiAKIHN0YXRpYyBpbnQgdGlfZG93bmxvYWRfZmlybXdhcmUoc3RydWN0IHRpX2RldmljZSAqdGRldiwKLQl1bnNpZ25lZCBjaGFyICpmaXJtd2FyZSwgdW5zaWduZWQgaW50IGZpcm13YXJlX3NpemUpCisJCQkJY2hhciAqZndfbmFtZSkKIHsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCWludCBzdGF0dXMgPSAwOwogCWludCBidWZmZXJfc2l6ZTsKIAlpbnQgcG9zOwpAQCAtMTY3MiwxNiArMTY3MiwyOSBAQAogCXVuc2lnbmVkIGludCBwaXBlID0gdXNiX3NuZGJ1bGtwaXBlKGRldiwKIAkJdGRldi0+dGRfc2VyaWFsLT5wb3J0WzBdLT5idWxrX291dF9lbmRwb2ludEFkZHJlc3MpOwogCi0KIAlidWZmZXJfc2l6ZSA9IFRJX0ZJUk1XQVJFX0JVRl9TSVpFICsgc2l6ZW9mKHN0cnVjdCB0aV9maXJtd2FyZV9oZWFkZXIpOworCisJaWYgKHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCAmZGV2LT5kZXYpKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgLSBmYWlsZWQgdG8gbG9hZCBmaXJtd2FyZSBcIiVzXCJcbiIsCisJCQlfX2Z1bmNfXywgZndfbmFtZSk7CisJCXJldHVybiAtRU5PRU5UOworCX0KKwlpZiAoZnctPnNpemUgPiBidWZmZXJfc2l6ZSkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIC0gZmlybXdhcmUgXCIlc1wiIGlzIHRvbyBsYXJnZVxuIiwKKwkJCV9fZnVuY19fLCBmd19uYW1lKTsKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWJ1ZmZlciA9IGttYWxsb2MoYnVmZmVyX3NpemUsIEdGUF9LRVJORUwpOwogCWlmICghYnVmZmVyKSB7CiAJCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgLSBvdXQgb2YgbWVtb3J5XG4iLCBfX2Z1bmNfXyk7CisJCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKLQltZW1jcHkoYnVmZmVyLCBmaXJtd2FyZSwgZmlybXdhcmVfc2l6ZSk7Ci0JbWVtc2V0KGJ1ZmZlcitmaXJtd2FyZV9zaXplLCAweGZmLCBidWZmZXJfc2l6ZS1maXJtd2FyZV9zaXplKTsKKwltZW1jcHkoYnVmZmVyLCBmdy0+ZGF0YSwgZnctPnNpemUpOworCW1lbXNldChidWZmZXIrZnctPnNpemUsIDB4ZmYsIGJ1ZmZlcl9zaXplLWZ3LT5zaXplKTsKIAogCWZvcihwb3MgPSBzaXplb2Yoc3RydWN0IHRpX2Zpcm13YXJlX2hlYWRlcik7IHBvcyA8IGJ1ZmZlcl9zaXplOyBwb3MrKykKIAkJY3MgPSAoX191OCkoY3MgKyBidWZmZXJbcG9zXSk7CkBAIC0xNjk5LDYgKzE3MTIsNyBAQAogCX0KIAogCWtmcmVlKGJ1ZmZlcik7CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAKIAlpZiAoc3RhdHVzKSB7CiAJCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgLSBlcnJvciBkb3dubG9hZGluZyBmaXJtd2FyZSwgJWRcbiIsIF9fZnVuY19fLCBzdGF0dXMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdC5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdC5jCmluZGV4IGYwN2U4YTQuLjY2NWFhNzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXQuYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0LmMKQEAgLTgxLDcgKzgxLDggQEAKICNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgotI2luY2x1ZGUgIndoaXRlaGVhdF9mdy5oIgkJLyogZmlybXdhcmUgZm9yIHRoZSBDb25uZWN0VGVjaCBXaGl0ZUhFQVQgZGV2aWNlICovCisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAjaW5jbHVkZSAid2hpdGVoZWF0LmgiCQkJLyogV2hpdGVIRUFUIHNwZWNpZmljIGNvbW1hbmRzICovCiAKIHN0YXRpYyBpbnQgZGVidWc7CkBAIC0yNzksMzcgKzI4MCw1MiBAQAogKi8KIHN0YXRpYyBpbnQgd2hpdGVoZWF0X2Zpcm13YXJlX2Rvd25sb2FkIChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiB7Ci0JaW50IHJlc3BvbnNlOwotCWNvbnN0IHN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCAqcmVjb3JkOwotCQorCWludCByZXNwb25zZSwgcmV0ID0gLUVOT0VOVDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmxvYWRlcl9mdyA9IE5VTEwsICpmaXJtd2FyZV9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWNvcmQ7CisKIAlkYmcoIiVzIiwgX19mdW5jX18pOwotCQorCisJaWYgKHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZmlybXdhcmVfZncsICJ3aGl0ZWhlYXQuZnciLAorCQkJCSAgJnNlcmlhbC0+ZGV2LT5kZXYpKSB7CisJCWVycigiJXMgLSByZXF1ZXN0IFwid2hpdGVoZWF0LmZ3XCIgZmFpbGVkIiwgX19mdW5jX18pOworCQlnb3RvIG91dDsKKwl9CisJaWYgKHJlcXVlc3RfaWhleF9maXJtd2FyZSgmbG9hZGVyX2Z3LCAid2hpdGVoZWF0X2xvYWRlci5mdyIsCisJCQkgICAgICZzZXJpYWwtPmRldi0+ZGV2KSkgeworCQllcnIoIiVzIC0gcmVxdWVzdCBcIndoaXRlaGVhdF9sb2FkZXIuZndcIiBmYWlsZWQiLCBfX2Z1bmNfXyk7CisJCWdvdG8gb3V0OworCX0KKwlyZXQgPSAwOwogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0IChzZXJpYWwsIDEpOwogCi0JcmVjb3JkID0gJndoaXRlaGVhdF9sb2FkZXJbMF07Ci0Jd2hpbGUgKHJlY29yZC0+YWRkcmVzcyAhPSAweGZmZmYpIHsKLQkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCByZWNvcmQtPmFkZHJlc3MsIAotCQkJCSh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSwgMHhhMCk7CisJcmVjb3JkID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWxvYWRlcl9mdy0+ZGF0YTsKKwl3aGlsZSAocmVjb3JkKSB7CisJCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCQkJICAgICAgKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsCisJCQkJCSAgICAgIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSwgMHhhMCk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKIAkJCWVycigiJXMgLSBlenVzYl93cml0ZW1lbW9yeSBmYWlsZWQgZm9yIGxvYWRlciAoJWQgJTA0WCAlcCAlZCkiLAotCQkJCV9fZnVuY19fLCByZXNwb25zZSwgcmVjb3JkLT5hZGRyZXNzLCByZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplKTsKKwkJCSAgICBfX2Z1bmNfXywgcmVzcG9uc2UsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkgICAgcmVjb3JkLT5kYXRhLCBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KLQkJKytyZWNvcmQ7CisJCXJlY29yZCA9IGloZXhfbmV4dF9iaW5yZWMocmVjb3JkKTsKIAl9CiAKIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldCAoc2VyaWFsLCAwKTsKIAotCXJlY29yZCA9ICZ3aGl0ZWhlYXRfZmlybXdhcmVbMF07Ci0Jd2hpbGUgKHJlY29yZC0+YWRkcmVzcyA8IDB4MWI0MCkgewotCQkrK3JlY29yZDsKLQl9Ci0Jd2hpbGUgKHJlY29yZC0+YWRkcmVzcyAhPSAweGZmZmYpIHsKLQkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCByZWNvcmQtPmFkZHJlc3MsIAotCQkJCSh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSwgMHhhMyk7CisJcmVjb3JkID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCXdoaWxlIChyZWNvcmQgJiYgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSA8IDB4MWI0MCkKKwkJcmVjb3JkID0gaWhleF9uZXh0X2JpbnJlYyhyZWNvcmQpOworCXdoaWxlIChyZWNvcmQpIHsKKwkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJCQkgICAgICAodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwKKwkJCQkJICAgICAgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pLCAweGEzKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewogCQkJZXJyKCIlcyAtIGV6dXNiX3dyaXRlbWVtb3J5IGZhaWxlZCBmb3IgZmlyc3QgZmlybXdhcmUgc3RlcCAoJWQgJTA0WCAlcCAlZCkiLCAKLQkJCQlfX2Z1bmNfXywgcmVzcG9uc2UsIHJlY29yZC0+YWRkcmVzcywgcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSk7CisJCQkgICAgX19mdW5jX18sIHJlc3BvbnNlLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJICAgIHJlY29yZC0+ZGF0YSwgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9CiAJCSsrcmVjb3JkOwpAQCAtMzE3LDIxICszMzMsMjUgQEAKIAkKIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldCAoc2VyaWFsLCAxKTsKIAotCXJlY29yZCA9ICZ3aGl0ZWhlYXRfZmlybXdhcmVbMF07Ci0Jd2hpbGUgKHJlY29yZC0+YWRkcmVzcyA8IDB4MWI0MCkgewotCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywgCi0JCQkJKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplLCAweGEwKTsKKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJd2hpbGUgKHJlY29yZCAmJiBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpIDwgMHgxYjQwKSB7CisJCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCQkJICAgICAgKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsCisJCQkJCSAgICAgIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSwgMHhhMCk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKIAkJCWVycigiJXMgLSBlenVzYl93cml0ZW1lbW9yeSBmYWlsZWQgZm9yIHNlY29uZCBmaXJtd2FyZSBzdGVwICglZCAlMDRYICVwICVkKSIsIAotCQkJCV9fZnVuY19fLCByZXNwb25zZSwgcmVjb3JkLT5hZGRyZXNzLCByZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplKTsKKwkJCSAgICBfX2Z1bmNfXywgcmVzcG9uc2UsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkgICAgcmVjb3JkLT5kYXRhLCBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KIAkJKytyZWNvcmQ7CiAJfQotCisJcmV0ID0gMDsKIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldCAoc2VyaWFsLCAwKTsKLQotCXJldHVybiAwOworIG91dDoKKwlyZWxlYXNlX2Zpcm13YXJlKGxvYWRlcl9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShmaXJtd2FyZV9mdyk7CisJcmV0dXJuIHJldDsKIH0KIAogCkBAIC0xNTAzLDYgKzE1MjMsOSBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCBEUklWRVJfREVTQyApOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogCitNT0RVTEVfRklSTVdBUkUoIndoaXRlaGVhdC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJ3aGl0ZWhlYXRfbG9hZGVyLmZ3Iik7CisKIG1vZHVsZV9wYXJhbSh1cmJfcG9vbF9zaXplLCBpbnQsIDApOwogTU9EVUxFX1BBUk1fREVTQyh1cmJfcG9vbF9zaXplLCAiTnVtYmVyIG9mIHVyYnMgdG8gdXNlIGZvciBidWZmZXJpbmciKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdF9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdF9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTBiZGM3Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXRfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDE2NjkgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKgotICogICAgICB3aGl0ZWhlYXQuaCAgLS0gIENvbm5lY3RUZWNoIFdoaXRlSEVBVCBGaXJtd2FyZS4KLSAqCi0gKiAgICAgIENvcHlyaWdodCAoQykgMjAwMC0yMDAyICBDb25uZWN0VGVjaCBJbmMgKGh0dHA6Ly93d3cuY29ubmVjdHRlY2guY29tLykKLSAqCi0gKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiAgICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAgICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogICAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICAgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICAgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogICAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICAgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICAgICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0gKgotICogKDEwLzA5LzIwMDIpIFN0dWFydCBNYWNEb25hbGQKLSAqCUZpcm13YXJlIDQuMDYKLSAqCi0gKiAoMDQvMDkvMjAwMCkgZ2toCi0gKglVcGRhdGVkIHRoZSBmaXJtd2FyZSB3aXRoIHRoZSBsYXRlc3QgcHJvdmlkZWQgYnkgQ29ubmVjdFRlY2guCi0gKgotICogKDAxLzE2LzIwMDApIGdraAotICoJRml4ZWQgbXkgaW50ZWwgaGV4IHByb2Nlc3NpbmcgdG9vbCwgc28gbm93IHRoZSBmaXJtd2FyZSBhY3R1YWxseQotICoJbWF0Y2hlcyB0aGUgb3JpZ2luYWwgZmlsZSAodGhpcyB3YXMgY2F1c2luZyBhIGZldyBwcm9ibGVtcy4uLikKLSAqCi0gKiAoMDEvMTUvMjAwMCkgZ2toCi0gKglBZGRlZCBkZWJ1ZyBsb2FkZXIgZmlybXdhcmUgaWYgREVCVUcgaXMgI2RlZmluZWQ6Ci0gKgkJUG9ydCAxIExFRCBmbGFzaGVzIHdoZW4gdGhlIHZlbmRfYXggcHJvZ3JhbSBpcyBydW5uaW5nCi0gKgkJUG9ydCAyIExFRCBmbGFzaGVzIHdoZW4gYW55IFNFVFVQIGNvbW1hbmQgYXJyaXZlcwotICoJCVBvcnQgMyBMRUQgZmxhc2hlcyB3aGVuIGFueSB2YWxpZCBWRU5ET1IgcmVxdWVzdCBvY2N1cnMKLSAqCQlQb3J0IDQgTEVEIGZsYXNoZXMgd2hlbiB0aGUgRVhURVJOQUwgUkFNIERPV05MT0FEIHJlcXVlc3Qgb2NjdXJzCi0gKgotICogdmVyc2lvbiAxLjAgKDAxLzA5LzIwMDApIGdraAotICoJT3JpZ2luYWwgZmlybXdhcmUgZnJvbSBDb25uZWN0VGVjaCBtYXNzYWdlZCBhIGxpdHRsZSB0byBiZSBwcm9ncmFtCi0gKglyZWFkYWJsZS4KLSAqCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNkZWZpbmUgd2hpdGVoZWF0X0RBVEUgIjIwMDAwMTA2IgotCi1zdHJ1Y3Qgd2hpdGVoZWF0X2hleF9yZWNvcmQgewotCV9fdTE2CWFkZHJlc3M7Ci0JX191OAlkYXRhX3NpemU7Ci0JX191OAlkYXRhWzE2XTsKLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2hpdGVoZWF0X2hleF9yZWNvcmQgd2hpdGVoZWF0X2Zpcm13YXJlW10gPSB7Ci17IDB4MDAwMCwJMywJezB4MDIsIDB4OTcsIDB4ZTN9IH0sCi17IDB4MDAwMywJMywJezB4MDIsIDB4MTMsIDB4MTJ9IH0sCi17IDB4MDAwYiwJMywJezB4MDIsIDB4MGIsIDB4YjV9IH0sCi17IDB4MDAzMywJMywJezB4MDIsIDB4MDgsIDB4MWN9IH0sCi17IDB4MDA0MywJMywJezB4MDIsIDB4MGEsIDB4MDB9IH0sCi17IDB4MDA1YiwJMywJezB4MDIsIDB4ODMsIDB4M2J9IH0sCi17IDB4MDM3MCwJMTYsCXsweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDczLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweGU3LCAweDI0fSB9LAoteyAweDAzODAsCTE2LAl7MHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg0ZiwgMHgyNCwgMHhmYiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg2NCwgMHgxNCwgMHg3MCwgMHgwM30gfSwKLXsgMHgwMzkwLAkxNiwJezB4MDIsIDB4MDQsIDB4NTIsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4M2EsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDksIDB4MjR9IH0sCi17IDB4MDNhMCwJMTYsCXsweDA1LCAweDYwLCAweDAzLCAweDAyLCAweDA1LCAweDllLCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwfSB9LAoteyAweDAzYjAsCTE2LAl7MHgzNiwgMHgyNCwgMHgwMiwgMHg3MCwgMHg3YiwgMHg3NCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNX0gfSwKLXsgMHgwM2MwLAkxNiwJezB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGEsIDB4OTksIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGR9IH0sCi17IDB4MDNkMCwJMTYsCXsweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDAzZTAsCTE2LAl7MHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYSwgMHg1OCwgMHhlYX0gfSwKLXsgMHgwM2YwLAkxNiwJezB4NDksIDB4NjAsIDB4MzMsIDB4MTIsIDB4YTIsIDB4M2IsIDB4ZjUsIDB4NGUsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NGUsIDB4ZDN9IH0sCi17IDB4MDQwMCwJMTYsCXsweDlmLCAweDQwLCAweDAzLCAweGUwLCAweGY1LCAweDRlLCAweGU1LCAweDRlLCAweGQzLCAweDk0LCAweDQwLCAweDQwLCAweDAzLCAweDc1LCAweDRlLCAweDQwfSB9LAoteyAweDA0MTAsCTE2LAl7MHhhZSwgMHgwMiwgMHhhZiwgMHgwMSwgMHg3YywgMHg3ZiwgMHg3ZCwgMHgwMCwgMHhhYiwgMHg0ZSwgMHgxMiwgMHg5MSwgMHgzNywgMHg5MCwgMHg3ZiwgMHhiNX0gfSwKLXsgMHgwNDIwLAkxNiwJezB4ZTUsIDB4NGUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTV9IH0sCi17IDB4MDQzMCwJMTYsCXsweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDIxLCAweGYwfSB9LAoteyAweDA0NDAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyMSwgMHgwMn0gfSwKLXsgMHgwNDUwLAkxNiwJezB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MDIsIDB4NDMsIDB4ODgsIDB4MTAsIDB4ZDIsIDB4ZWIsIDB4ZDJ9IH0sCi17IDB4MDQ2MCwJMTYsCXsweGE4LCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDM1LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwfSB9LAoteyAweDA0NzAsCTE2LAl7MHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMn0gfSwKLXsgMHgwNDgwLAkxNiwJezB4NzAsIDB4NWIsIDB4YTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDUsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTB9IH0sCi17IDB4MDQ5MCwJMTYsCXsweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweGU0fSB9LAoteyAweDA0YTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MH0gfSwKLXsgMHgwNGIwLAkxNiwJezB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjV9IH0sCi17IDB4MDRjMCwJMTYsCXsweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDAxLCAweDkwLCAweDdmLCAweDAwfSB9LAoteyAweDA0ZDAsCTE2LAl7MHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhiNH0gfSwKLXsgMHgwNGUwLAkxNiwJezB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjR9IH0sCi17IDB4MDRmMCwJMTYsCXsweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyfSB9LAoteyAweDA1MDAsCTE2LAl7MHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMH0gfSwKLXsgMHgwNTEwLAkxNiwJezB4NzAsIDB4MzQsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4MDcsIDB4ZmUsIDB4ZjUsIDB4NGUsIDB4ZWYsIDB4MzAsIDB4ZTcsIDB4MDN9IH0sCi17IDB4MDUyMCwJMTYsCXsweDQzLCAweDRlLCAweDEwLCAweDkwLCAweDdmLCAweGQ3LCAweGU1LCAweDRlLCAweGYwLCAweGU1LCAweDRlLCAweDQ0LCAweDIwLCAweGYwLCAweGVmLCAweGY0fSB9LAoteyAweDA1MzAsCTE2LAl7MHg1NCwgMHg4MCwgMHhmZCwgMHhjNCwgMHg1NCwgMHgwZiwgMHgyZSwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3Zn0gfSwKLXsgMHgwNTQwLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTYsIDB4OTB9IH0sCi17IDB4MDU1MCwJMTYsCXsweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0fSB9LAoteyAweDA1NjAsCTE2LAl7MHgwMSwgMHgwNCwgMHhkMiwgMHgwMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MH0gfSwKLXsgMHgwNTcwLAkxNiwJezB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGZ9IH0sCi17IDB4MDU4MCwJMTYsCXsweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzfSB9LAoteyAweDA1OTAsCTE2LAl7MHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNWEwLAkxMiwJezB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDVhYywJMSwJezB4MjJ9IH0sCi17IDB4MDVhZCwJMTYsCXsweDc1LCAweDRhLCAweGZmLCAweDc1LCAweDQ5LCAweGZmLCAweDc1LCAweDQ4LCAweDBmLCAweDc1LCAweDQ3LCAweDAwLCAweGQyLCAweDAzLCAweGMyLCAweDA2fSB9LAoteyAweDA1YmQsCTE2LAl7MHhjMiwgMHgwMiwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMSwgMHg5MCwgMHgwMywgMHgwMCwgMHg3NCwgMHgxOSwgMHhmMCwgMHhlNCwgMHg5MH0gfSwKLXsgMHgwNWNkLAkxNiwJezB4MDEsIDB4YmMsIDB4ZjAsIDB4YzIsIDB4MDQsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YzIsIDB4YWYsIDB4YzIsIDB4YTgsIDB4MTJ9IH0sCi17IDB4MDVkZCwJMTYsCXsweDBjLCAweDIyLCAweGU0LCAweDkwLCAweDAyLCAweGFmLCAweGYwLCAweDkwLCAweDAxLCAweGJkLCAweGYwLCAweDkwLCAweDAxLCAweDAwLCAweGYwLCAweGEzfSB9LAoteyAweDA1ZWQsCTE2LAl7MHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMSwgMHhmMCwgMHhhM30gfSwKLXsgMHgwNWZkLAkxNiwJezB4NzQsIDB4MDgsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MDAsIDB4MTIsIDB4MTksIDB4YzEsIDB4NzUsIDB4NGMsIDB4MTIsIDB4NzUsIDB4NGQsIDB4MGF9IH0sCi17IDB4MDYwZCwJMTYsCXsweDkwLCAweDAxLCAweDBiLCAweGUwLCAweGZmLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFjLCAweDRjLCAweDcwLCAweDAyLCAweDA1LCAweDRjLCAweDE0fSB9LAoteyAweDA2MWQsCTE2LAl7MHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHgwYywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNX0gfSwKLXsgMHgwNjJkLAkxNiwJezB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDF9IH0sCi17IDB4MDYzZCwJMTYsCXsweDBkLCAweGUwLCAweGZmLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFjLCAweDRjLCAweDcwLCAweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyfSB9LAoteyAweDA2NGQsCTE2LAl7MHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHgwZSwgMHhlMCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhYywgMHg0YywgMHg3MH0gfSwKLXsgMHgwNjVkLAkxNiwJezB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MTIsIDB4MGEsIDB4ZTQsIDB4OTMsIDB4ZmZ9IH0sCi17IDB4MDY2ZCwJMTYsCXsweDc0LCAweDAxLCAweDkzLCAweDkwLCAweDAxLCAweDFjLCAweGNmLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDkwLCAweDAxLCAweDFjLCAweGUwLCAweGZmfSB9LAoteyAweDA2N2QsCTE2LAl7MHhhMywgMHhlMCwgMHhmZSwgMHhlZiwgMHg2ZSwgMHhmZiwgMHg5MCwgMHgwMSwgMHgxYywgMHhmMCwgMHhhMywgMHhlMCwgMHg2ZiwgMHhmZiwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwNjhkLAkxNiwJezB4MDEsIDB4MWMsIDB4ZTAsIDB4NmYsIDB4ZjAsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZTQsIDB4ZmMsIDB4ZmQsIDB4NzUsIDB4NTIsIDB4MTB9IH0sCi17IDB4MDY5ZCwJMTYsCXsweDc1LCAweDUzLCAweDAyLCAweDc1LCAweDU0LCAweDEyLCAweDc1LCAweDU1LCAweGFjLCAweDEyLCAweDk0LCAweDI2LCAweDc1LCAweDRjLCAweDEyLCAweDc1fSB9LAoteyAweDA2YWQsCTE2LAl7MHg0ZCwgMHhiMiwgMHg5MCwgMHgwMSwgMHgwZCwgMHhlMCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNX0gfSwKLXsgMHgwNmJkLAkxNiwJezB4NGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MGUsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTV9IH0sCi17IDB4MDZjZCwJMTYsCXsweDRkLCAweGFjLCAweDRjLCAweDcwLCAweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDA2ZGQsCTE2LAl7MHg5MiwgMHhlMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHgyNCwgMHg0MSwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhYywgMHg0YywgMHg3MH0gfSwKLXsgMHgwNmVkLAkxNiwJezB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWUsIDB4NGN9IH0sCi17IDB4MDZmZCwJMTYsCXsweDcwLCAweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU0LCAweGYwLCAweDc1LCAweDgyLCAweDEwLCAweDc1LCAweDgzfSB9LAoteyAweDA3MGQsCTE2LAl7MHgwMSwgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg5MCwgMHgwMSwgMHgxOCwgMHgxMn0gfSwKLXsgMHgwNzFkLAkxNiwJezB4YTMsIDB4ZWUsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MTgsIDB4MTIsIDB4ODYsIDB4YmUsIDB4OTAsIDB4MDEsIDB4MTgsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTB9IH0sCi17IDB4MDcyZCwJMTYsCXsweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDc1LCAweDUyLCAweDBhLCAweDc1LCAweDUzLCAweDA2LCAweDc1LCAweDU0LCAweDEyfSB9LAoteyAweDA3M2QsCTE2LAl7MHg3NSwgMHg1NSwgMHhiOCwgMHgxMiwgMHg5NCwgMHgyNiwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZn0gfSwKLXsgMHgwNzRkLAkxNiwJezB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MDc1ZCwJMTYsCXsweDFmLCAweGYwLCAweGQyLCAweGFmLCAweDIwLCAweDAxLCAweDJlLCAweDIwLCAweDAxLCAweDJiLCAweGEyLCAweDAzLCAweDkyLCAweDA3LCAweDEyLCAweDA5fSB9LAoteyAweDA3NmQsCTE2LAl7MHhjNSwgMHg3NSwgMHg0NiwgMHg1MCwgMHg3NSwgMHg0NSwgMHg2ZCwgMHg3NSwgMHg0NCwgMHgzMywgMHg3NSwgMHg0MywgMHgwMCwgMHgyMCwgMHgwMSwgMHhlNH0gfSwKLXsgMHgwNzdkLAkxNiwJezB4N2YsIDB4ZmYsIDB4N2UsIDB4ZmYsIDB4N2QsIDB4ZmYsIDB4N2MsIDB4ZmYsIDB4NzgsIDB4NDMsIDB4MTIsIDB4YTMsIDB4ZDcsIDB4ZWMsIDB4NGQsIDB4NGV9IH0sCi17IDB4MDc4ZCwJMTYsCXsweDRmLCAweDYwLCAweGQxLCAweDgwLCAweGU4LCAweDMwLCAweDAxLCAweDA1LCAweDEyLCAweDAzLCAweDcwLCAweGMyLCAweDAxLCAweDMwLCAweDA2LCAweDBhfSB9LAoteyAweDA3OWQsCTE2LAl7MHgxMiwgMHgwOSwgMHhmYiwgMHg1MCwgMHgwMywgMHgxMiwgMHgwYSwgMHhlOCwgMHhjMiwgMHgwNiwgMHgxMiwgMHg5NiwgMHg1ZSwgMHg5MCwgMHgwMSwgMHhiZH0gfSwKLXsgMHgwN2FkLAkxNiwJezB4ZTAsIDB4NjAsIDB4MGMsIDB4MTIsIDB4OTIsIDB4MDEsIDB4ZTQsIDB4OTAsIDB4MDEsIDB4YmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDdiZCwJMTYsCXsweDAyLCAweGFmLCAweGUwLCAweGI0LCAweDBmLCAweDAzLCAweDEyLCAweDk5LCAweGI5LCAweDEyLCAweGEwLCAweDk1LCAweGU0LCAweGZmLCAweDc0LCAweDAxfSB9LAoteyAweDA3Y2QsCTE2LAl7MHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmZSwgMHg5MCwgMHgwMSwgMHhiYywgMHhlMCwgMHg1ZSwgMHg2MH0gfSwKLXsgMHgwN2RkLAkxNiwJezB4MTQsIDB4NzQsIDB4MjgsIDB4MmYsIDB4ZjgsIDB4ZTYsIDB4ZDMsIDB4OTQsIDB4MGEsIDB4NDAsIDB4MDQsIDB4N2UsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2V9IH0sCi17IDB4MDdlZCwJMTYsCXsweDAwLCAweDhlLCAweDRiLCAweDgwLCAweDAzLCAweDc1LCAweDRiLCAweDAxLCAweDc0LCAweDY4LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwfSB9LAoteyAweDA3ZmQsCTE2LAl7MHhmNSwgMHg4MywgMHhlNSwgMHg0YiwgMHhmMCwgMHgwZiwgMHhiZiwgMHgwNCwgMHhjNSwgMHhlNSwgMHgyYywgMHhkMywgMHg5NCwgMHgwYSwgMHg0MCwgMHgwNH0gfSwKLXsgMHgwODBkLAkxNCwJezB4N2YsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4OTAsIDB4MjAsIDB4NmMsIDB4ZWYsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4OTJ9IH0sCi17IDB4MDgxYiwJMSwJezB4MjJ9IH0sCi17IDB4MDgxYywJNCwJezB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9IH0sCi17IDB4MDgyMCwJMTYsCXsweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDQwLCAweDBlLCAweDkwLCAweDdmLCAweDkzLCAweGUwLCAweDQ0LCAweDMwLCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDA4MzAsCTE2LAl7MHg5NSwgMHhlMCwgMHg0NCwgMHhjMCwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMH0gfSwKLXsgMHgwODQwLAkxNiwJezB4NTQsIDB4ZmUsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MDh9IH0sCi17IDB4MDg1MCwJMTYsCXsweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDdmfSB9LAoteyAweDA4NjAsCTE2LAl7MHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg1MCwgMHgwZSwgMHg3ZiwgMHgwMiwgMHg3ZH0gfSwKLXsgMHgwODcwLAkxNiwJezB4ZmYsIDB4MTIsIDB4ODIsIDB4ZWEsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MDg4MCwJMTYsCXsweDAyLCAweGYwLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2fSB9LAoteyAweDA4OTAsCTE2LAl7MHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NH0gfSwKLXsgMHgwOGEwLAkxNiwJezB4YmYsIDB4ZjAsIDB4N2YsIDB4MzIsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjB9IH0sCi17IDB4MDhiMCwJOCwJezB4N2YsIDB4MzIsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4MjJ9IH0sCi17IDB4MDhiOCwJMTYsCXsweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyfSB9LAoteyAweDA4YzgsCTE2LAl7MHgwOSwgMHhhZSwgMHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg1MCwgMHgwZSwgMHg3ZiwgMHgwMiwgMHhlNCwgMHhmZCwgMHgxMiwgMHg4MiwgMHhlYX0gfSwKLXsgMHgwOGQ4LAkxNiwJezB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4N2YsIDB4MDV9IH0sCi17IDB4MDhlOCwJMTYsCXsweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDA4ZjgsCTE2LAl7MHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOX0gfSwKLXsgMHgwOTA4LAkxNiwJezB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4ZTV9IH0sCi17IDB4MDkxOCwJMTYsCXsweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDQwLCAweDBlLCAweDkwLCAweDdmLCAweDkzLCAweGUwLCAweDU0LCAweGNmLCAweGYwLCAweDkwLCAweDdmLCAweDk1fSB9LAoteyAweDA5MjgsCTgsCXsweGUwLCAweDU0LCAweDNmLCAweGYwLCAweDEyLCAweDBiLCAweDAwLCAweDIyfSB9LAoteyAweDA5MzAsCTE2LAl7MHg5MCwgMHgwYSwgMHhmNCwgMHhlNCwgMHg5MywgMHg3MCwgMHg3NiwgMHg5MCwgMHg3ZiwgMHg5MywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NH0gfSwKLXsgMHgwOTQwLAkxNiwJezB4NzQsIDB4M2MsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzYsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWV9IH0sCi17IDB4MDk1MCwJMTYsCXsweGU0LCAweDkwLCAweDdmLCAweDljLCAweGYwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGNmfSB9LAoteyAweDA5NjAsCTE2LAl7MHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHgyMCwgMHg3MCwgMHhlMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZn0gfSwKLXsgMHgwOTcwLAkxNiwJezB4ZjUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NTAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTQsIDB4OTB9IH0sCi17IDB4MDk4MCwJMTYsCXsweDdmLCAweDk3LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDQwLCAweDBifSB9LAoteyAweDA5OTAsCTE2LAl7MHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHg3NCwgMHgxMn0gfSwKLXsgMHgwOWEwLAkxNCwJezB4ZjAsIDB4MTIsIDB4MDgsIDB4MjAsIDB4NzUsIDB4ODIsIDB4ZjQsIDB4NzUsIDB4ODMsIDB4MGEsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MDlhZSwJMTYsCXsweDhlLCAweDVkLCAweDhmLCAweDVlLCAweGU1LCAweDVlLCAweDE1LCAweDVlLCAweGFlLCAweDVkLCAweDcwLCAweDAyLCAweDE1LCAweDVkLCAweDRlLCAweDYwfSB9LAoteyAweDA5YmUsCTcsCXsweDA1LCAweDEyLCAweDA5LCAweGVhLCAweDgwLCAweGVlLCAweDIyfSB9LAoteyAweDA5YzUsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgwNywgMHgwNCwgMHhlMCwgMHg0NH0gfSwKLXsgMHgwOWQ1LAkxNiwJezB4MDIsIDB4ZjAsIDB4N2YsIDB4ZDAsIDB4N2UsIDB4MDcsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjB9IH0sCi17IDB4MDllNSwJNSwJezB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MDllYSwJMTYsCXsweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5fSB9LAoteyAweDA5ZmEsCTEsCXsweDIyfSB9LAoteyAweDA5ZmIsCTUsCXsweDEyLCAweDA4LCAweGI4LCAweGQzLCAweDIyfSB9LAoteyAweDBhMDAsCTE2LAl7MHgwMiwgMHgwYywgMHg0ZSwgMHgwMCwgMHgwMiwgMHgwYywgMHg4MSwgMHgwMCwgMHgwMiwgMHgwYywgMHg2NiwgMHgwMCwgMHgwMiwgMHgwYywgMHhjMCwgMHgwMH0gfSwKLXsgMHgwYTEwLAkxNiwJezB4MDIsIDB4MGMsIDB4YWEsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZWQsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZWUsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZWYsIDB4MDB9IH0sCi17IDB4MGEyMCwJMTYsCXsweDAyLCAweDBjLCAweGRiLCAweDAwLCAweDAyLCAweDBkLCAweGNiLCAweDAwLCAweDAyLCAweDBkLCAweDE3LCAweDAwLCAweDAyLCAweDBlLCAweDJiLCAweDAwfSB9LAoteyAweDBhMzAsCTE2LAl7MHgwMiwgMHgwZCwgMHg1MywgMHgwMCwgMHgwMiwgMHgwZSwgMHg4YiwgMHgwMCwgMHgwMiwgMHgwZCwgMHg4ZiwgMHgwMCwgMHgwMiwgMHgwZSwgMHhlYiwgMHgwMH0gfSwKLXsgMHgwYTQwLAkxNiwJezB4MDIsIDB4MGEsIDB4ZjAsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZjIsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZjEsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZjMsIDB4MDB9IH0sCi17IDB4MGE1MCwJOCwJezB4MDIsIDB4MGYsIDB4NGIsIDB4MDAsIDB4MDIsIDB4MGYsIDB4NjEsIDB4MDB9IH0sCi17IDB4MGE1OCwJMiwJezB4OGYsIDB4NGZ9IH0sCi17IDB4MGE1YSwJMTYsCXsweGU0LCAweGY1LCAweDUwLCAweDc1LCAweDUxLCAweGZmLCAweDc1LCAweDUyLCAweDEyLCAweDc1LCAweDUzLCAweDZhLCAweGFiLCAweDUxLCAweGFhLCAweDUyfSB9LAoteyAweDBhNmEsCTE2LAl7MHhhOSwgMHg1MywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg1NCwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHg1MCwgMHgwNSwgMHg1MCwgMHhlZn0gfSwKLXsgMHgwYTdhLAkxNiwJezB4YjUsIDB4NGYsIDB4MDEsIDB4MjIsIDB4MTIsIDB4YTIsIDB4M2IsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzV9IH0sCi17IDB4MGE4YSwJMTQsCXsweDUxLCAweGZmLCAweGY1LCAweDUyLCAweDg5LCAweDUzLCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDBhOTgsCTEsCXsweDIyfSB9LAoteyAweDBhOTksCTE2LAl7MHhlNCwgMHhmZSwgMHg3NSwgMHg1MSwgMHhmZiwgMHg3NSwgMHg1MiwgMHgxMiwgMHg3NSwgMHg1MywgMHgxMiwgMHhhYiwgMHg1MSwgMHhhYSwgMHg1MiwgMHhhOX0gfSwKLXsgMHgwYWE5LAkxNiwJezB4NTMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4NTQsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MmQsIDB4YWQsIDB4MDYsIDB4MGUsIDB4ZWQsIDB4YjV9IH0sCi17IDB4MGFiOSwJMTYsCXsweDA3LCAweDAxLCAweDIyLCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweGEyLCAweGFkLCAweDg1LCAweGYwLCAweDRmLCAweGY1LCAweDUwLCAweDYyLCAweDRmfSB9LAoteyAweDBhYzksCTE2LAl7MHhlNSwgMHg0ZiwgMHg2MiwgMHg1MCwgMHhlNSwgMHg1MCwgMHg2MiwgMHg0ZiwgMHgyOSwgMHhmZCwgMHhlNSwgMHg0ZiwgMHgzYSwgMHhhOSwgMHgwNSwgMHg3NX0gfSwKLXsgMHgwYWQ5LAkxNCwJezB4NTEsIDB4ZmYsIDB4ZjUsIDB4NTIsIDB4ODksIDB4NTMsIDB4ODAsIDB4YzMsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MGFlNywJMSwJezB4MjJ9IH0sCi17IDB4MGFlOCwJNSwJezB4MTIsIDB4MDgsIDB4MjAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGFlZCwJMSwJezB4MzJ9IH0sCi17IDB4MGFlZSwJMSwJezB4MzJ9IH0sCi17IDB4MGFlZiwJMSwJezB4MzJ9IH0sCi17IDB4MGFmMCwJMSwJezB4MzJ9IH0sCi17IDB4MGFmMSwJMSwJezB4MzJ9IH0sCi17IDB4MGFmMiwJMSwJezB4MzJ9IH0sCi17IDB4MGFmMywJMSwJezB4MzJ9IH0sCi17IDB4MGFmNCwJMywJezB4MDAsIDB4MDQsIDB4MDd9IH0sCi17IDB4MGIwMCwJOSwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4NzR9IH0sCi17IDB4MGI3ZCwJMTYsCXsweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyfSB9LAoteyAweDBiOGQsCTE2LAl7MHg1MywgMHg4ZSwgMHhmNywgMHhlNSwgMHg4OSwgMHg1NCwgMHhmMSwgMHg0NCwgMHgwMSwgMHhmNSwgMHg4OSwgMHg3NSwgMHg4YywgMHhiMSwgMHhkMiwgMHhhOX0gfSwKLXsgMHgwYjlkLAkxNiwJezB4NzUsIDB4OTgsIDB4NDAsIDB4NzUsIDB4Y2IsIDB4ZmYsIDB4NzUsIDB4Y2EsIDB4ZjMsIDB4NzUsIDB4YzgsIDB4MzQsIDB4ZTQsIDB4ZmYsIDB4N2YsIDB4MDV9IH0sCi17IDB4MGJhZCwJNywJezB4NzgsIDB4MjgsIDB4ZTQsIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZmN9IH0sCi17IDB4MGJiNCwJMSwJezB4MjJ9IH0sCi17IDB4MGJiNSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDAwLCAweGMwLCAweDAwLCAweGMwLCAweDA2LCAweGMwfSB9LAoteyAweDBiYzUsCTEsCXsweDA3fSB9LAoteyAweDBiYzYsCTE2LAl7MHgzMCwgMHgwNCwgMHgxNiwgMHg3NSwgMHg4YywgMHhmOCwgMHg3NSwgMHg4YSwgMHgzMCwgMHg3ZiwgMHgyZiwgMHhhZSwgMHgwNywgMHgxZiwgMHhlZSwgMHg2MH0gfSwKLXsgMHgwYmQ2LAkxNiwJezB4M2MsIDB4OTAsIDB4MjAsIDB4MDAsIDB4NzQsIDB4NTUsIDB4ZjAsIDB4ODAsIDB4ZjIsIDB4NzUsIDB4OGMsIDB4YjEsIDB4N2YsIDB4MjgsIDB4ZWYsIDB4ZDN9IH0sCi17IDB4MGJlNiwJMTYsCXsweDk0LCAweDJjLCAweDUwLCAweDA5LCAweGE4LCAweDA3LCAweGU2LCAweDYwLCAweDAxLCAweDE2LCAweDBmLCAweDgwLCAweGYxLCAweDkwLCAweDAzLCAweDAwfSB9LAoteyAweDBiZjYsCTE2LAl7MHhlMCwgMHg2MCwgMHgwMiwgMHgxNCwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MH0gfSwKLXsgMHgwYzA2LAkxMywJezB4MDEsIDB4YzEsIDB4ZTAsIDB4MjQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTAsIDB4MzQsIDB4ZmYsIDB4ZjB9IH0sCi17IDB4MGMxMywJMTUsCXsweGQwLCAweDA3LCAweGQwLCAweDA2LCAweGQwLCAweDAwLCAweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjMjIsCTE2LAl7MHhkMiwgMHgwMCwgMHg3NSwgMHg4ZSwgMHgxMCwgMHgxMiwgMHgwOSwgMHgzMCwgMHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwOCwgMHg5MH0gfSwKLXsgMHgwYzMyLAkxNiwJezB4N2YsIDB4OTIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MDUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZjAsIDB4MTIsIDB4ODAsIDB4MDAsIDB4MTJ9IH0sCi17IDB4MGM0MiwJMTIsCXsweDBmLCAweDdkLCAweDEyLCAweDk0LCAweGY3LCAweDEyLCAweDFiLCAweDBjLCAweDEyLCAweDBiLCAweDhkLCAweDIyfSB9LAoteyAweDBjNGUsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhkMiwgMHgwMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMX0gfSwKLXsgMHgwYzVlLAk4LAl7MHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwYzY2LAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGM3NiwJMTEsCXsweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjODEsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwYzkxLAkxNiwJezB4N2YsIDB4ZDgsIDB4ZTAsIDB4NzAsIDB4MGQsIDB4OTAsIDB4N2YsIDB4ZDksIDB4ZTAsIDB4NzAsIDB4MDcsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDMsIDB4NzV9IH0sCi17IDB4MGNhMSwJOSwJezB4MmMsIDB4MTQsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGNhYSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDEwLCAweGYwLCAweGQwfSB9LAoteyAweDBjYmEsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjYzAsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHgzMCwgMHgwMiwgMHgwMiwgMHhkMiwgMHgwNiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwY2QwLAkxMSwJezB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGNkYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBjZWIsCTE2LAl7MHhhOSwgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMCwgMHgxMywgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMCwgMHgwNywgMHg5MCwgMHgyMH0gfSwKLXsgMHgwY2ZiLAkxNiwJezB4MDQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDEsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDN9IH0sCi17IDB4MGQwYiwJMTIsCXsweDc1LCAweDJjLCAweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkMTcsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwZDI3LAkxNiwJezB4YTksIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTEsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4OTAsIDB4MjB9IH0sCi17IDB4MGQzNywJMTYsCXsweDBjLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDIwLCAweDA5LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzfSB9LAoteyAweDBkNDcsCTEyLAl7MHg3NSwgMHgyYywgMHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDUzLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGQ2MywJMTYsCXsweGE5LCAweDc0LCAweDA4LCAweGYwLCAweGU1LCAweDM0LCAweDMwLCAweGUyLCAweDEzLCAweGU1LCAweDMyLCAweDMwLCAweGUyLCAweDA3LCAweDkwLCAweDIwfSB9LAoteyAweDBkNzMsCTE2LAl7MHgxNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxMSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwM30gfSwKLXsgMHgwZDgzLAkxMiwJezB4NzUsIDB4MmMsIDB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ4ZiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkOWYsCTE2LAl7MHhhOSwgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMywgMHgxMywgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMywgMHgwNywgMHg5MCwgMHgyMH0gfSwKLXsgMHgwZGFmLAkxNiwJezB4MWMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTksIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDN9IH0sCi17IDB4MGRiZiwJMTIsCXsweDc1LCAweDJjLCAweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkY2IsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMH0gfSwKLXsgMHgwZGRiLAkxNiwJezB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MjB9IH0sCi17IDB4MGRlYiwJMTYsCXsweGUwLCAweDA2LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDIyLCAweGU1LCAweDMxLCAweDMwLCAweGUwLCAweDBhLCAweDkwLCAweDdmLCAweGM3fSB9LAoteyAweDBkZmIsCTE2LAl7MHhlMCwgMHg5MCwgMHgwMiwgMHhmOCwgMHhmMCwgMHg4MCwgMHgxMywgMHhlNSwgMHgyMiwgMHgzMCwgMHhlMCwgMHgwNywgMHg5MCwgMHgyMCwgMHgwNCwgMHhlMH0gfSwKLXsgMHgwZTBiLAkxNiwJezB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDEsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MmN9IH0sCi17IDB4MGUxYiwJMTYsCXsweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBlMmIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMH0gfSwKLXsgMHgwZTNiLAkxNiwJezB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MjB9IH0sCi17IDB4MGU0YiwJMTYsCXsweGUxLCAweDA2LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDgwLCAweDIyLCAweGU1LCAweDMxLCAweDMwLCAweGUxLCAweDBhLCAweDkwLCAweDdmLCAweGM5fSB9LAoteyAweDBlNWIsCTE2LAl7MHhlMCwgMHg5MCwgMHgwMiwgMHhmOSwgMHhmMCwgMHg4MCwgMHgxMywgMHhlNSwgMHgyMiwgMHgzMCwgMHhlMSwgMHgwNywgMHg5MCwgMHgyMCwgMHgwYywgMHhlMH0gfSwKLXsgMHgwZTZiLAkxNiwJezB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDksIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MmN9IH0sCi17IDB4MGU3YiwJMTYsCXsweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBlOGIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMH0gfSwKLXsgMHgwZTliLAkxNiwJezB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MjB9IH0sCi17IDB4MGVhYiwJMTYsCXsweGUyLCAweDA2LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDgwLCAweDIyLCAweGU1LCAweDMxLCAweDMwLCAweGUyLCAweDBhLCAweDkwLCAweDdmLCAweGNifSB9LAoteyAweDBlYmIsCTE2LAl7MHhlMCwgMHg5MCwgMHgwMiwgMHhmYSwgMHhmMCwgMHg4MCwgMHgxMywgMHhlNSwgMHgyMiwgMHgzMCwgMHhlMiwgMHgwNywgMHg5MCwgMHgyMCwgMHgxNCwgMHhlMH0gfSwKLXsgMHgwZWNiLAkxNiwJezB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTEsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MmN9IH0sCi17IDB4MGVkYiwJMTYsCXsweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBlZWIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMH0gfSwKLXsgMHgwZWZiLAkxNiwJezB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MjB9IH0sCi17IDB4MGYwYiwJMTYsCXsweGUzLCAweDA2LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDgwLCAweDIyLCAweGU1LCAweDMxLCAweDMwLCAweGUzLCAweDBhLCAweDkwLCAweDdmLCAweGNkfSB9LAoteyAweDBmMWIsCTE2LAl7MHhlMCwgMHg5MCwgMHgwMiwgMHhmYiwgMHhmMCwgMHg4MCwgMHgxMywgMHhlNSwgMHgyMiwgMHgzMCwgMHhlMywgMHgwNywgMHg5MCwgMHgyMCwgMHgxYywgMHhlMH0gfSwKLXsgMHgwZjJiLAkxNiwJezB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTksIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MmN9IH0sCi17IDB4MGYzYiwJMTYsCXsweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBmNGIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHg4MCwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwZjViLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZjYxLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MGY3MSwJMTIsCXsweDAxLCAweGJkLCAweDc0LCAweGZmLCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBmN2QsCTE2LAl7MHg5MCwgMHgwMSwgMHgyMCwgMHgxMiwgMHhhMywgMHhmYSwgMHgwMCwgMHgwMCwgMHgyNSwgMHg4MCwgMHg5MCwgMHgwMSwgMHgyNCwgMHg3NCwgMHgwOCwgMHhmMH0gfSwKLXsgMHgwZjhkLAkxNiwJezB4YTMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4NmUsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4YTMsIDB4NzR9IH0sCi17IDB4MGY5ZCwJMTYsCXsweDExLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweGZmfSB9LAoteyAweDBmYWQsCTE2LAl7MHgwNCwgMHhhMywgMHhmMCwgMHhlZiwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMSwgMHhmOSwgMHg3NCwgMHgwMywgMHgzNSwgMHhmMCwgMHhhOH0gfSwKLXsgMHgwZmJkLAkxNiwJezB4MDEsIDB4ZmMsIDB4N2QsIDB4MDEsIDB4N2IsIDB4MDEsIDB4N2EsIDB4MDEsIDB4NzksIDB4MWYsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MGQsIDB4MTIsIDB4YTJ9IH0sCi17IDB4MGZjZCwJMTYsCXsweDEyLCAweDdlLCAweDAxLCAweDdmLCAweDFmLCAweDEyLCAweDg3LCAweGE2LCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweDA0LCAweGYwLCAweGUwLCAweGMzfSB9LAoteyAweDBmZGQsCTE2LAl7MHg5NCwgMHgwNCwgMHg0MCwgMHhjNywgMHhlNCwgMHhmNSwgMHgyNywgMHg5MCwgMHgwMSwgMHgxZSwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHhmZn0gfSwKLXsgMHgwZmVkLAkxNiwJezB4YzMsIDB4OTQsIDB4MDQsIDB4NTAsIDB4MWEsIDB4NzQsIDB4ZjgsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTR9IH0sCi17IDB4MGZmZCwJMTYsCXsweGYwLCAweDc0LCAweDIzLCAweDJmLCAweGY4LCAweGU0LCAweGY2LCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweDA0LCAweGYwLCAweDgwLCAweGRjLCAweGU0fSB9LAoteyAweDEwMGQsCTE2LAl7MHhmNSwgMHgzNCwgMHhlNSwgMHhjMCwgMHg2MCwgMHgyZiwgMHg5MCwgMHgwMSwgMHgxZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMH0gfSwKLXsgMHgxMDFkLAkxNiwJezB4ZmYsIDB4ZDMsIDB4OTQsIDB4MDQsIDB4NTAsIDB4MWYsIDB4ZWYsIDB4MTQsIDB4ZmYsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDJ9IH0sCi17IDB4MTAyZCwJMTYsCXsweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDQyLCAweDM0LCAweDdlLCAweDAxLCAweDdmLCAweDFlLCAweDEyLCAweDg0LCAweDQxLCAweDkwLCAweDAxLCAweDFlfSB9LAoteyAweDEwM2QsCTE2LAl7MHhlMCwgMHgwNCwgMHhmMCwgMHg4MCwgMHhkNywgMHhlNCwgMHhmNSwgMHgzZSwgMHhmNSwgMHgyMiwgMHhmNSwgMHgzMSwgMHhmNSwgMHgzMiwgMHg5MCwgMHgwMX0gfSwKLXsgMHgxMDRkLAkxNiwJezB4MWUsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4MTA1ZCwJMTYsCXsweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGYwLCAweGZlLCAweDc0LCAweGM1LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAxfSB9LAoteyAweDEwNmQsCTE2LAl7MHhmNSwgMHg4MywgMHhlZSwgMHhmMCwgMHg3NCwgMHgzYSwgMHgyZiwgMHhmOCwgMHhhNiwgMHgwNiwgMHg3NCwgMHgzNiwgMHgyZiwgMHhmOCwgMHhlNCwgMHhmNn0gfSwKLXsgMHgxMDdkLAkxNiwJezB4NzQsIDB4MmQsIDB4MmYsIDB4ZjgsIDB4ZTQsIDB4ZjYsIDB4NzQsIDB4ZmMsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MTA4ZCwJMTYsCXsweGU0LCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweDA0LCAweGYwLCAweGUwLCAweGI0LCAweDA0LCAweGI2LCAweDkwLCAweDIwLCAweDYwLCAweGUwfSB9LAoteyAweDEwOWQsCTQsCXsweDU0LCAweDBmLCAweGY1LCAweDRlfSB9LAoteyAweDEwYTEsCTE2LAl7MHg3MCwgMHgwMywgMHgwMiwgMHgxMSwgMHgyNiwgMHhlNCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHhmZiwgMHhjM30gfSwKLXsgMHgxMGIxLAkxNiwJezB4OTQsIDB4MDQsIDB4NTAsIDB4ZTQsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NTV9IH0sCi17IDB4MTBjMSwJMTYsCXsweDRlLCAweDYwLCAweDVhLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweGZlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyfSB9LAoteyAweDEwZDEsCTE2LAl7MHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgxMGUxLAkxNiwJezB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZWUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4MTBmMSwJMTYsCXsweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGFmLCAweDA2LCAweGVlLCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAyLCAweGY1fSB9LAoteyAweDExMDEsCTE2LAl7MHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMH0gfSwKLXsgMHgxMTExLAkxNiwJezB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGQsIDB4NjQsIDB4OGMsIDB4NjMsIDB4N2QsIDB4MDYsIDB4MTIsIDB4ODMsIDB4ZGYsIDB4OTAsIDB4MDEsIDB4MWV9IH0sCi17IDB4MTEyMSwJNiwJezB4ZTAsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4ODUsIDB4MjJ9IH0sCi17IDB4MTEyNywJMiwJezB4YWMsIDB4MDd9IH0sCi17IDB4MTEyOSwJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGVjLCAweDI1LCAweGUwLCAweDQ0LCAweDQxLCAweDkwLCAweDdmLCAweGE2LCAweGYwfSB9LAoteyAweDExMzksCTE2LAl7MHg3YiwgMHgzYywgMHhhZiwgMHgwMywgMHgxYiwgMHhlZiwgMHg3MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgxMTQ5LAkxNiwJezB4N2YsIDB4YTYsIDB4ZTAsIDB4ZmQsIDB4N2QsIDB4MzIsIDB4YWYsIDB4MDUsIDB4MWQsIDB4ZWYsIDB4NjAsIDB4ZDQsIDB4ODAsIDB4ZjgsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MTE1OSwJMTYsCXsweGE1LCAweGUwLCAweGZkLCAweDMwLCAweGUwLCAweGRjLCAweDIwLCAweGUxLCAweDA5LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdlLCAweGZmLCAweDdmfSB9LAoteyAweDExNjksCTE2LAl7MHhmOSwgMHgyMiwgMHhlZCwgMHgzMCwgMHhlMiwgMHgwYywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHhmZiwgMHg3Zn0gfSwKLXsgMHgxMTc5LAkxNiwJezB4ZmEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZmQsIDB4N2IsIDB4MWV9IH0sCi17IDB4MTE4OSwJMTYsCXsweGFmLCAweDAzLCAweDFiLCAweGVmLCAweDcwLCAweDE2LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGE2fSB9LAoteyAweDExOTksCTE2LAl7MHhlMCwgMHhmZCwgMHg3ZCwgMHgzMiwgMHhhZiwgMHgwNSwgMHgxZCwgMHhlZiwgMHg2MCwgMHg4NiwgMHg4MCwgMHhmOCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMH0gfSwKLXsgMHgxMWE5LAkxNiwJezB4ZmQsIDB4MjAsIDB4ZTAsIDB4ZGMsIDB4N2IsIDB4M2MsIDB4YWYsIDB4MDMsIDB4MWIsIDB4ZWYsIDB4NzAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTB9IH0sCi17IDB4MTFiOSwJMTYsCXsweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGZkLCAweDdkLCAweDMyLCAweGFmLCAweDA1LCAweDFkLCAweGVmLCAweDcwLCAweDAzfSB9LAoteyAweDExYzksCTE2LAl7MHgwMiwgMHgxMSwgMHgyOSwgMHg4MCwgMHhmNSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHhmZCwgMHgzMCwgMHhlMCwgMHhkOSwgMHgzMCwgMHhlMiwgMHgwOX0gfSwKLXsgMHgxMWQ5LAkxNiwJezB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmEsIDB4MjIsIDB4YzIsIDB4YWYsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MTFlOSwJMTIsCXsweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGZkLCAweGQyLCAweGFmLCAweGZmLCAweDdlLCAweDAwfSB9LAoteyAweDExZjUsCTEsCXsweDIyfSB9LAoteyAweDEyMDAsCTE2LAl7MHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZiwgMHhmZiwgMHg0MCwgMHgxMCwgMHgwNywgMHgwMSwgMHg4MCwgMHg0MiwgMHgwMCwgMHgwMSwgMHgwMn0gfSwKLXsgMHgxMjEwLAkxNiwJezB4MDMsIDB4MDEsIDB4MDksIDB4MDIsIDB4NTgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDQsIDB4ODAsIDB4M2MsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGF9IH0sCi17IDB4MTIyMCwJMTYsCXsweGZmLCAweGZmLCAweGZmLCAweDA1LCAweDA3LCAweDA1LCAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLCAweDAyLCAweDQwfSB9LAoteyAweDEyMzAsCTE2LAl7MHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgxMjQwLAkxNiwJezB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDV9IH0sCi17IDB4MTI1MCwJMTYsCXsweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDg3LCAweDAyfSB9LAoteyAweDEyNjAsCTE2LAl7MHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgyNCwgMHgwM30gfSwKLXsgMHgxMjcwLAkxNiwJezB4NDMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4MjAsIDB4MDB9IH0sCi17IDB4MTI4MCwJMTYsCXsweDU0LCAweDAwLCAweDY1LCAweDAwLCAweDYzLCAweDAwLCAweDY4LCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwfSB9LAoteyAweDEyOTAsCTE2LAl7MHgyZSwgMHgwMCwgMHgxOCwgMHgwMywgMHg1NywgMHgwMCwgMHg2OCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg0OCwgMHgwMH0gfSwKLXsgMHgxMmEwLAkxNiwJezB4NDUsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NTQsIDB4MDAsIDB4MmQsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MWEsIDB4MDMsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDB9IH0sCi17IDB4MTJiMCwJMTYsCXsweDJkLCAweDAwLCAweDU4LCAweDAwLCAweDU4LCAweDAwLCAweDJkLCAweDAwLCAweDU4LCAweDAwLCAweDU4LCAweDAwLCAweDU4LCAweDAwLCAweDU4LCAweDAwfSB9LAoteyAweDEyYzAsCTE2LAl7MHg1OCwgMHgwMCwgMHg1OCwgMHgwMCwgMHgyYSwgMHgwMywgMHg0MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgxMmQwLAkxNiwJezB4NjcsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDB9IH0sCi17IDB4MTJlMCwJMTYsCXsweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwLCAweDIyLCAweDAzfSB9LAoteyAweDEyZjAsCTE2LAl7MHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2MywgMHgwMH0gfSwKLXsgMHgxMzAwLAkxNiwJezB4NjUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDB9IH0sCi17IDB4MTMxMCwJMiwJezB4MDAsIDB4MDB9IH0sCi17IDB4MTMxMiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweGMwLCAweGQwfSB9LAoteyAweDEzMjIsCTE2LAl7MHg3NSwgMHg4NiwgMHgwMCwgMHg3NSwgMHhkMCwgMHgxOCwgMHg5MCwgMHgyMCwgMHg2MCwgMHhlMCwgMHg1NCwgMHgwZiwgMHhmNSwgMHhmMCwgMHg3MCwgMHgxMX0gfSwKLXsgMHgxMzMyLAkxNiwJezB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZTB9IH0sCi17IDB4MTM0MiwJMTYsCXsweDMyLCAweDc1LCAweDg2LCAweDAwLCAweDEwLCAweGYwLCAweDBiLCAweDEwLCAweGYxLCAweDEyLCAweDEwLCAweGYyLCAweDE5LCAweDEwLCAweGYzLCAweDIwfSB9LAoteyAweDEzNTIsCTE2LAl7MHg4MCwgMHhkNCwgMHhlNSwgMHgyOCwgMHg3MCwgMHgwMywgMHg3NSwgMHgyOCwgMHgxNCwgMHgwMiwgMHgxMywgMHg3YywgMHhlNSwgMHgyOSwgMHg3MCwgMHgwM30gfSwKLXsgMHgxMzYyLAkxNiwJezB4NzUsIDB4MjksIDB4MTQsIDB4MDIsIDB4MTUsIDB4MGQsIDB4ZTUsIDB4MmEsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MmEsIDB4MTQsIDB4MDIsIDB4MTYsIDB4OWV9IH0sCi17IDB4MTM3MiwJMTYsCXsweGU1LCAweDJiLCAweDcwLCAweDAzLCAweDc1LCAweDJiLCAweDE0LCAweDAyLCAweDE4LCAweDJmLCAweDkwLCAweDIwLCAweDAyLCAweGUwLCAweDU0LCAweDNmfSB9LAoteyAweDEzODIsCTE2LAl7MHgyMCwgMHhlMiwgMHgzYSwgMHgyMCwgMHhlMSwgMHgwYiwgMHgyMCwgMHhlNCwgMHgwYiwgMHgyMCwgMHhlNSwgMHgxNCwgMHg2MCwgMHgwOSwgMHgwMiwgMHgxM30gfSwKLXsgMHgxMzkyLAkxNiwJezB4NDMsIDB4MDIsIDB4MTQsIDB4NjUsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4ZjUsIDB4M2EsIDB4MDIsIDB4MTMsIDB4NDN9IH0sCi17IDB4MTNhMiwJMTYsCXsweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDQzLCAweDJkLCAweDAxLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDgyLCAweGY4LCAweDQzLCAweDgyLCAweDA1fSB9LAoteyAweDEzYjIsCTE2LAl7MHhlMCwgMHg0MiwgMHgzNiwgMHg1MywgMHg4MiwgMHhmYiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHgzMCwgMHhlMSwgMHgwMn0gfSwKLXsgMHgxM2MyLAkxNiwJezB4ODAsIDB4ZTgsIDB4ZjUsIDB4ODUsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTAsIDB4MGEsIDB4NTMsIDB4ODIsIDB4ZjgsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTB9IH0sCi17IDB4MTNkMiwJMTYsCXsweDU0LCAweGZlLCAweGYwLCAweGU1LCAweDg1LCAweDIwLCAweGUzLCAweDU2LCAweDkwLCAweDIwLCAweDUwLCAweDc0LCAweDAwLCAweGYwLCAweDkwLCAweDIwfSB9LAoteyAweDEzZTIsCTE2LAl7MHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMywgMHgwNSwgMHg4Nn0gfSwKLXsgMHgxM2YyLAkxNiwJezB4OTAsIDB4N2UsIDB4ODAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MTQwMiwJMTYsCXsweGU1LCAweGU1LCAweDNmLCAweGZkLCAweDAzLCAweDAzLCAweDAzLCAweGZlLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwfSB9LAoteyAweDE0MTIsCTE2LAl7MHhkZSwgMHhmNiwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgxNDIyLAkxNiwJezB4N2YsIDB4YjcsIDB4ZWQsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDEsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4N2YsIDB4NDB9IH0sCi17IDB4MTQzMiwJMTYsCXsweDkwLCAweDdlLCAweDgwLCAweDA1LCAweDg2LCAweDkwLCAweDIwLCAweDAwLCAweGU1LCAweDg0LCAweGZlLCAweDI0LCAweDA1LCAweGZkLCAweDhkLCAweDg0fSB9LAoteyAweDE0NDIsCTE2LAl7MHhlMCwgMHg4ZSwgMHg4NCwgMHgzMCwgMHhlMCwgMHgwOSwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhlZiwgMHgwNX0gfSwKLXsgMHgxNDUyLAkxNiwJezB4ODYsIDB4YzMsIDB4NzQsIDB4NDAsIDB4OWYsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjB9IH0sCi17IDB4MTQ2MiwJMTYsCXsweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDJkLCAweGZhLCAweGU1LCAweDIzLCAweDYwLCAweDA4LCAweDc1LCAweDIzLCAweDAwLCAweGQyLCAweGU3LCAweGZlfSB9LAoteyAweDE0NzIsCTE2LAl7MHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgxNCwgMHhmZiwgMHg5MCwgMHgyMCwgMHg1MCwgMHg3NH0gfSwKLXsgMHgxNDgyLAkxNiwJezB4MDAsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTQ5MiwJMTYsCXsweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdlLCAweDQwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0LCAweGYwfSB9LAoteyAweDE0YTIsCTE2LAl7MHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlZSwgMHgzMCwgMHhlNywgMHgwOCwgMHgwNSwgMHg4NiwgMHhlMCwgMHgyNCwgMHgzOCwgMHhmMCwgMHgwNX0gfSwKLXsgMHgxNGIyLAkxNiwJezB4ODYsIDB4ZWUsIDB4NTQsIDB4N2YsIDB4ZmUsIDB4NTQsIDB4MDcsIDB4ZmIsIDB4ZWUsIDB4NTQsIDB4NzgsIDB4NjAsIDB4MzAsIDB4MDMsIDB4MDMsIDB4MDN9IH0sCi17IDB4MTRjMiwJMTYsCXsweDMwLCAweGUzLCAweDA0LCAweDc0LCAweDA3LCAweDdiLCAweDA4LCAweGZkLCAweGZjLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwfSB9LAoteyAweDE0ZDIsCTE2LAl7MHhlMCwgMHhkZCwgMHhmNiwgMHhlYiwgMHhmZSwgMHg2MCwgMHgxOSwgMHhlYywgMHg2NCwgMHgwNywgMHg3MCwgMHgxMSwgMHg4YiwgMHgyMywgMHg5MCwgMHg3Zn0gfSwKLXsgMHgxNGUyLAkxNiwJezB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4ODAsIDB4MWIsIDB4ZTAsIDB4ZGUsIDB4ZmR9IH0sCi17IDB4MTRmMiwJMTYsCXsweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDkwLCAweDIwLCAweDAxfSB9LAoteyAweDE1MDIsCTE2LAl7MHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg5MCwgMHgyMCwgMHgwYSwgMHhlMCwgMHg1NH0gfSwKLXsgMHgxNTEyLAkxNiwJezB4M2YsIDB4MjAsIDB4ZTIsIDB4M2EsIDB4MjAsIDB4ZTEsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4MGIsIDB4MjAsIDB4ZTUsIDB4MTQsIDB4NjAsIDB4MDksIDB4MDJ9IH0sCi17IDB4MTUyMiwJMTYsCXsweDEzLCAweDQzLCAweDAyLCAweDE1LCAweGY2LCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweGY1LCAweDNiLCAweDAyLCAweDEzfSB9LAoteyAweDE1MzIsCTE2LAl7MHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg0MywgMHgyZSwgMHgwMSwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHg4MiwgMHhmOCwgMHg0MywgMHg4Mn0gfSwKLXsgMHgxNTQyLAkxNiwJezB4MDUsIDB4ZTAsIDB4NDIsIDB4MzcsIDB4NTMsIDB4ODIsIDB4ZmIsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4MzAsIDB4ZTF9IH0sCi17IDB4MTU1MiwJMTYsCXsweDAyLCAweDgwLCAweGU4LCAweGY1LCAweDg1LCAweGU1LCAweDMyLCAweDMwLCAweGUxLCAweDBhLCAweDUzLCAweDgyLCAweGY4LCAweDQzLCAweDgyLCAweDA0fSB9LAoteyAweDE1NjIsCTE2LAl7MHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNSwgMHg4NSwgMHgyMCwgMHhlMywgMHg1NiwgMHg5MCwgMHgyMCwgMHg1MCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MH0gfSwKLXsgMHgxNTcyLAkxNiwJezB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTMsIDB4MDV9IH0sCi17IDB4MTU4MiwJMTYsCXsweDg2LCAweDkwLCAweDdlLCAweDAwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0LCAweGYwLCAweDA1LCAweDg2LCAweDkwfSB9LAoteyAweDE1OTIsCTE2LAl7MHg3ZiwgMHhlNSwgMHhlNSwgMHg0MCwgMHhmZCwgMHgwMywgMHgwMywgMHgwMywgMHhmZSwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMH0gfSwKLXsgMHgxNWEyLAkxNiwJezB4ZjAsIDB4ZGUsIDB4ZjYsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjB9IH0sCi17IDB4MTViMiwJMTYsCXsweDkwLCAweDdmLCAweGI5LCAweGVkLCAweGYwLCAweDkwLCAweDIwLCAweDA5LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDdmfSB9LAoteyAweDE1YzIsCTE2LAl7MHg0MCwgMHg5MCwgMHg3ZSwgMHgwMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHgyMCwgMHgwOCwgMHhlNSwgMHg4NCwgMHhmZSwgMHgyNCwgMHgwNSwgMHhmZCwgMHg4ZH0gfSwKLXsgMHgxNWQyLAkxNiwJezB4ODQsIDB4ZTAsIDB4OGUsIDB4ODQsIDB4MzAsIDB4ZTAsIDB4MDksIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZWZ9IH0sCi17IDB4MTVlMiwJMTYsCXsweDA1LCAweDg2LCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweDdmLCAweGI5LCAweGYwLCAweDA1LCAweDg2LCAweGEzLCAweGUwLCAweDU0LCAweGZlfSB9LAoteyAweDE1ZjIsCTE2LAl7MHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHgyZSwgMHhmYSwgMHhlNSwgMHgyNCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgyNCwgMHgwMCwgMHhkMiwgMHhlN30gfSwKLXsgMHgxNjAyLAkxNiwJezB4ZmUsIDB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MTYsIDB4OTAsIDB4OTAsIDB4MjAsIDB4NTB9IH0sCi17IDB4MTYxMiwJMTYsCXsweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwfSB9LAoteyAweDE2MjIsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZCwgMHhjMCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NH0gfSwKLXsgMHgxNjMyLAkxNiwJezB4ZjAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZWUsIDB4MzAsIDB4ZTcsIDB4MDgsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4MjQsIDB4MzgsIDB4ZjB9IH0sCi17IDB4MTY0MiwJMTYsCXsweDA1LCAweDg2LCAweGVlLCAweDU0LCAweDdmLCAweGZlLCAweDU0LCAweDA3LCAweGZiLCAweGVlLCAweDU0LCAweDc4LCAweDYwLCAweDMwLCAweDAzLCAweDAzfSB9LAoteyAweDE2NTIsCTE2LAl7MHgwMywgMHgzMCwgMHhlMywgMHgwNCwgMHg3NCwgMHgwNywgMHg3YiwgMHgwOCwgMHhmZCwgMHhmYywgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMH0gfSwKLXsgMHgxNjYyLAkxNiwJezB4ZTAsIDB4ZTAsIDB4ZGQsIDB4ZjYsIDB4ZWIsIDB4ZmUsIDB4NjAsIDB4MTksIDB4ZWMsIDB4NjQsIDB4MDcsIDB4NzAsIDB4MTEsIDB4OGIsIDB4MjQsIDB4OTB9IH0sCi17IDB4MTY3MiwJMTYsCXsweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDgwLCAweDFiLCAweGUwLCAweGRlfSB9LAoteyAweDE2ODIsCTE0LAl7MHhmZCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMH0gfSwKLXsgMHgxNjkwLAkxNiwJezB4OTAsIDB4MjAsIDB4MDksIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4OTAsIDB4MjB9IH0sCi17IDB4MTZhMCwJMTYsCXsweDEyLCAweGUwLCAweDU0LCAweDNmLCAweDIwLCAweGUyLCAweDNhLCAweDIwLCAweGUxLCAweDBiLCAweDIwLCAweGU0LCAweDBiLCAweDIwLCAweGU1LCAweDE0fSB9LAoteyAweDE2YjAsCTE2LAl7MHg2MCwgMHgwOSwgMHgwMiwgMHgxMywgMHg0MywgMHgwMiwgMHgxNywgMHg4NywgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHhmNX0gfSwKLXsgMHgxNmMwLAkxNiwJezB4M2MsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NDMsIDB4MmYsIDB4MDEsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4ODJ9IH0sCi17IDB4MTZkMCwJMTYsCXsweGY4LCAweDQzLCAweDgyLCAweDA1LCAweGUwLCAweDQyLCAweDM4LCAweDUzLCAweDgyLCAweGZiLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDAyLCAweDEzfSB9LAoteyAweDE2ZTAsCTE2LAl7MHg0MywgMHgzMCwgMHhlMSwgMHgwMiwgMHg4MCwgMHhlOCwgMHhmNSwgMHg4NSwgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMiwgMHgwYSwgMHg1MywgMHg4MiwgMHhmOH0gfSwKLXsgMHgxNmYwLAkxNiwJezB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTUsIDB4ODUsIDB4MjAsIDB4ZTMsIDB4NTYsIDB4OTAsIDB4MjAsIDB4NTAsIDB4NzR9IH0sCi17IDB4MTcwMCwJMTYsCXsweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwfSB9LAoteyAweDE3MTAsCTE2LAl7MHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZCwgMHg4MCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NCwgMHhmMH0gfSwKLXsgMHgxNzIwLAkxNiwJezB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZTUsIDB4NDEsIDB4ZmQsIDB4MDMsIDB4MDMsIDB4MDMsIDB4ZmUsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjB9IH0sCi17IDB4MTczMCwJMTYsCXsweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGRlLCAweGY2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4fSB9LAoteyAweDE3NDAsCTE2LAl7MHg3NCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhlZCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxMSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMn0gfSwKLXsgMHgxNzUwLAkxNiwJezB4MTMsIDB4NDMsIDB4N2YsIDB4NDAsIDB4OTAsIDB4N2QsIDB4ODAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MjAsIDB4MTAsIDB4ZTUsIDB4ODQsIDB4ZmUsIDB4MjR9IH0sCi17IDB4MTc2MCwJMTYsCXsweDA1LCAweGZkLCAweDhkLCAweDg0LCAweGUwLCAweDhlLCAweDg0LCAweDMwLCAweGUwLCAweDA5LCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1fSB9LAoteyAweDE3NzAsCTE2LAl7MHg4NiwgMHhkZiwgMHhlZiwgMHgwNSwgMHg4NiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhhM30gfSwKLXsgMHgxNzgwLAkxNiwJezB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4MmYsIDB4ZmEsIDB4ZTUsIDB4MjUsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MjV9IH0sCi17IDB4MTc5MCwJMTYsCXsweDAwLCAweGQyLCAweGU3LCAweGZlLCAweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDE4LCAweDIxfSB9LAoteyAweDE3YTAsCTE2LAl7MHg5MCwgMHgyMCwgMHg1MCwgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMH0gfSwKLXsgMHgxN2IwLAkxNiwJezB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2QsIDB4NDAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjB9IH0sCi17IDB4MTdjMCwJMTYsCXsweGEzLCAweGU1LCAweDg0LCAweGYwLCAweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGVlLCAweDMwLCAweGU3LCAweDA4LCAweDA1LCAweDg2LCAweGUwfSB9LAoteyAweDE3ZDAsCTE2LAl7MHgyNCwgMHgzOCwgMHhmMCwgMHgwNSwgMHg4NiwgMHhlZSwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg1NCwgMHgwNywgMHhmYiwgMHhlZSwgMHg1NCwgMHg3OCwgMHg2MH0gfSwKLXsgMHgxN2UwLAkxNiwJezB4MzAsIDB4MDMsIDB4MDMsIDB4MDMsIDB4MzAsIDB4ZTMsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2IsIDB4MDgsIDB4ZmQsIDB4ZmMsIDB4ZTAsIDB4ZTAsIDB4ZTB9IH0sCi17IDB4MTdmMCwJMTYsCXsweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGRkLCAweGY2LCAweGViLCAweGZlLCAweDYwLCAweDE5LCAweGVjLCAweDY0LCAweDA3LCAweDcwLCAweDExfSB9LAoteyAweDE4MDAsCTE2LAl7MHg4YiwgMHgyNSwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg4MH0gfSwKLXsgMHgxODEwLAkxNiwJezB4MWIsIDB4ZTAsIDB4ZGUsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDB9IH0sCi17IDB4MTgyMCwJMTYsCXsweGYwLCAweDkwLCAweDIwLCAweDExLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDkwfSB9LAoteyAweDE4MzAsCTE2LAl7MHgyMCwgMHgxYSwgMHhlMCwgMHg1NCwgMHgzZiwgMHgyMCwgMHhlMiwgMHgzYSwgMHgyMCwgMHhlMSwgMHgwYiwgMHgyMCwgMHhlNCwgMHgwYiwgMHgyMCwgMHhlNX0gfSwKLXsgMHgxODQwLAkxNiwJezB4MTQsIDB4NjAsIDB4MDksIDB4MDIsIDB4MTMsIDB4NDMsIDB4MDIsIDB4MTksIDB4MTgsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTB9IH0sCi17IDB4MTg1MCwJMTYsCXsweGY1LCAweDNkLCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDQzLCAweDMwLCAweDAxLCAweDAyLCAweDEzLCAweDQzLCAweDUzfSB9LAoteyAweDE4NjAsCTE2LAl7MHg4MiwgMHhmOCwgMHg0MywgMHg4MiwgMHgwNSwgMHhlMCwgMHg0MiwgMHgzOSwgMHg1MywgMHg4MiwgMHhmYiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHgwMn0gfSwKLXsgMHgxODcwLAkxNiwJezB4MTMsIDB4NDMsIDB4MzAsIDB4ZTEsIDB4MDIsIDB4ODAsIDB4ZTgsIDB4ZjUsIDB4ODUsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTMsIDB4MGEsIDB4NTMsIDB4ODJ9IH0sCi17IDB4MTg4MCwJMTYsCXsweGY4LCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU1LCAweDg1LCAweDIwLCAweGUzLCAweDU2LCAweDkwLCAweDIwLCAweDUwfSB9LAoteyAweDE4OTAsCTE2LAl7MHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMH0gfSwKLXsgMHgxOGEwLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2QsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODR9IH0sCi17IDB4MThiMCwJMTYsCXsweGYwLCAweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGU1LCAweDQyLCAweGZkLCAweDAzLCAweDAzLCAweDAzLCAweGZlLCAweGYwLCAweGYwLCAweGYwfSB9LAoteyAweDE4YzAsCTE2LAl7MHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhkZSwgMHhmNiwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMH0gfSwKLXsgMHgxOGQwLAkxNiwJezB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZWQsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTksIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjB9IH0sCi17IDB4MThlMCwJMTYsCXsweDAyLCAweDEzLCAweDQzLCAweDdmLCAweDQwLCAweDkwLCAweDdkLCAweDAwLCAweDA1LCAweDg2LCAweDkwLCAweDIwLCAweDE4LCAweGU1LCAweDg0LCAweGZlfSB9LAoteyAweDE4ZjAsCTE2LAl7MHgyNCwgMHgwNSwgMHhmZCwgMHg4ZCwgMHg4NCwgMHhlMCwgMHg4ZSwgMHg4NCwgMHgzMCwgMHhlMCwgMHgwOSwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhM30gfSwKLXsgMHgxOTAwLAkxNiwJezB4MDUsIDB4ODYsIDB4ZGYsIDB4ZWYsIDB4MDUsIDB4ODYsIDB4YzMsIDB4NzQsIDB4NDAsIDB4OWYsIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZjAsIDB4MDUsIDB4ODZ9IH0sCi17IDB4MTkxMCwJMTYsCXsweGEzLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDMwLCAweGZhLCAweGU1LCAweDI2LCAweDYwLCAweDA4LCAweDc1fSB9LAoteyAweDE5MjAsCTE2LAl7MHgyNiwgMHgwMCwgMHhkMiwgMHhlNywgMHhmZSwgMHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgxOX0gfSwKLXsgMHgxOTMwLAkxNiwJezB4YjIsIDB4OTAsIDB4MjAsIDB4NTAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTJ9IH0sCi17IDB4MTk0MCwJMTYsCXsweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdjLCAweGMwLCAweDA1LCAweDg2LCAweGU1LCAweDg1fSB9LAoteyAweDE5NTAsCTE2LAl7MHhmMCwgMHhhMywgMHhlNSwgMHg4NCwgMHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlZSwgMHgzMCwgMHhlNywgMHgwOCwgMHgwNSwgMHg4Nn0gfSwKLXsgMHgxOTYwLAkxNiwJezB4ZTAsIDB4MjQsIDB4MzgsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZWUsIDB4NTQsIDB4N2YsIDB4ZmUsIDB4NTQsIDB4MDcsIDB4ZmIsIDB4ZWUsIDB4NTQsIDB4Nzh9IH0sCi17IDB4MTk3MCwJMTYsCXsweDYwLCAweDMwLCAweDAzLCAweDAzLCAweDAzLCAweDMwLCAweGUzLCAweDA0LCAweDc0LCAweDA3LCAweDdiLCAweDA4LCAweGZkLCAweGZjLCAweGUwLCAweGUwfSB9LAoteyAweDE5ODAsCTE2LAl7MHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhkZCwgMHhmNiwgMHhlYiwgMHhmZSwgMHg2MCwgMHgxOSwgMHhlYywgMHg2NCwgMHgwNywgMHg3MH0gfSwKLXsgMHgxOTkwLAkxNiwJezB4MTEsIDB4OGIsIDB4MjYsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjB9IH0sCi17IDB4MTlhMCwJMTYsCXsweDgwLCAweDFiLCAweGUwLCAweGRlLCAweGZkLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0fSB9LAoteyAweDE5YjAsCTE2LAl7MHgwMCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxOSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHgwMiwgMHgxMywgMHg0M30gfSwKLXsgMHgxOWMwLAkxLAl7MHgzMn0gfSwKLXsgMHgxOWMxLAk0LAl7MHhhZCwgMHgwNywgMHhhYywgMHgwNn0gfSwKLXsgMHgxOWM1LAkxNiwJezB4NzksIDB4MDYsIDB4ZWQsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmEsIDB4YTMsIDB4ZTAsIDB4ZmJ9IH0sCi17IDB4MTlkNSwJMTYsCXsweDRhLCAweDcwLCAweDAzLCAweDAyLCAweDFiLCAweDA5LCAweGU5LCAweGI0LCAweDA3LCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDFhLCAweGRiLCAweDkwfSB9LAoteyAweDE5ZTUsCTE2LAl7MHgxOSwgMHhlYiwgMHhmOCwgMHgyOCwgMHgyOCwgMHg3MywgMHgwMiwgMHgxYSwgMHhiOSwgMHgwMiwgMHgxYSwgMHg3MSwgMHgwMiwgMHgxYSwgMHg1YSwgMHgwMn0gfSwKLXsgMHgxOWY1LAkxNiwJezB4MWEsIDB4NDAsIDB4MDIsIDB4MWEsIDB4MmYsIDB4MDIsIDB4MWEsIDB4MWEsIDB4MDIsIDB4MWEsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MWEwNSwJMTYsCXsweDgwLCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweDI1LCAweGUwLCAweDQ0LCAweGEwLCAweDkwLCAweDdmLCAweGE2fSB9LAoteyAweDFhMTUsCTE2LAl7MHhmMCwgMHgxOSwgMHgwMiwgMHgxYSwgMHhkYiwgMHgxOSwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHhjMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwYX0gfSwKLXsgMHgxYTI1LAkxNiwJezB4YTMsIDB4YTMsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4MDIsIDB4MWEsIDB4ZGIsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4MWEzNSwJMTYsCXsweGUwLCAweGEzLCAweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDE5LCAweDAyLCAweDFhLCAweGRiLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0fSB9LAoteyAweDFhNDUsCTE2LAl7MHg4MCwgMHhmMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHgyNSwgMHhlMCwgMHg0NCwgMHhhMSwgMHg5MCwgMHg3ZiwgMHhhNn0gfSwKLXsgMHgxYTU1LAkxNiwJezB4ZjAsIDB4MTksIDB4MDIsIDB4MWEsIDB4ZGIsIDB4ZWIsIDB4NjQsIDB4MDEsIDB4NGEsIDB4NzAsIDB4MDgsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MWE2NSwJMTYsCXsweDIwLCAweGYwLCAweDE5LCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGY1LCAweDU5LCAweDE5LCAweDgwLCAweDZhLCAweGVkLCAweDI0LCAweDA0LCAweGY1fSB9LAoteyAweDFhNzUsCTE2LAl7MHg4MiwgMHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHg2NCwgMHgwMiwgMHg0ZSwgMHg3MCwgMHgwOCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgxYTg1LAkxNiwJezB4YTUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZmYsIDB4ZWQsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MWE5NSwJMTYsCXsweGU0LCAweDNjLCAweGY1LCAweDgzLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1LCAweDgzfSB9LAoteyAweDFhYTUsCTE2LAl7MHhlZiwgMHhmMCwgMHhlZCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHg3NCwgMHhmZiwgMHhmNSwgMHhmMCwgMHgxMn0gfSwKLXsgMHgxYWI1LAkxNiwJezB4YTIsIDB4ODEsIDB4ODAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MWFjNSwJMTYsCXsweGVkLCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDNjLCAweGY1LCAweDgzLCAweGUwLCAweGZhLCAweGEzLCAweGUwLCAweGY1LCAweDgyLCAweDhhfSB9LAoteyAweDFhZDUsCTE2LAl7MHg4MywgMHhlZiwgMHhmMCwgMHg3ZiwgMHgwOCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHhmNSwgMHg1OSwgMHgzMCwgMHhlMCwgMHhmNywgMHgzMH0gfSwKLXsgMHgxYWU1LAkxNiwJezB4ZTIsIDB4MDcsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDYsIDB4MjIsIDB4ZTksIDB4ZDMsIDB4OTQsIDB4MDIsIDB4NTAsIDB4MDMsIDB4MDJ9IH0sCi17IDB4MWFmNSwJMTYsCXsweDE5LCAweGM3LCAweGU1LCAweDU5LCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDE5LCAweGM3LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwfSB9LAoteyAweDFiMDUsCTYsCXsweGYwLCAweDdmLCAweDA3LCAweDIyLCAweDdmLCAweDA4fSB9LAoteyAweDFiMGIsCTEsCXsweDIyfSB9LAoteyAweDFiMGMsCTE2LAl7MHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg1MCwgMHgxYywgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg3ZiwgMHgwMn0gfSwKLXsgMHgxYjFjLAkxNiwJezB4N2QsIDB4ZmYsIDB4MTIsIDB4ODIsIDB4ZWEsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4N2YsIDB4MDMsIDB4N2QsIDB4ZmZ9IH0sCi17IDB4MWIyYywJNCwJezB4MTIsIDB4ODIsIDB4ZWEsIDB4MjJ9IH0sCi17IDB4ODAwMCwJMTYsCXsweDdiLCAweGZmLCAweDdhLCAweDEyLCAweDc5LCAweDFiLCAweDkwLCAweDAwLCAweDA0LCAweDEyLCAweGEyLCAweDU0LCAweGZkLCAweDhiLCAweDUwLCAweDc1fSB9LAoteyAweDgwMTAsCTE2LAl7MHg1MSwgMHgxMiwgMHg3NSwgMHg1MiwgMHgyNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhlMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMCwgMHhmMCwgMHhmNSwgMHg0ZX0gfSwKLXsgMHg4MDIwLAkxNiwJezB4ZjUsIDB4NGYsIDB4OTAsIDB4MDIsIDB4YWUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4ODAzMCwJMTYsCXsweGE5LCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweGU0LCAweGZjLCAweGVjLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1fSB9LAoteyAweDgwNDAsCTE2LAl7MHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHgwYywgMHhiYywgMHgxMCwgMHhlZSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkZH0gfSwKLXsgMHg4MDUwLAkxNiwJezB4ZjAsIDB4YWYsIDB4MDUsIDB4MWQsIDB4ZWYsIDB4NzAsIDB4MDMsIDB4MDIsIDB4ODEsIDB4YzYsIDB4YWIsIDB4NTAsIDB4YWEsIDB4NTEsIDB4YTksIDB4NTJ9IH0sCi17IDB4ODA2MCwJMTYsCXsweDkwLCAweDAwLCAweDAxLCAweDEyLCAweGEyLCAweDU0LCAweDY0LCAweDA1LCAweDYwLCAweDAzLCAweDAyLCAweDgxLCAweGI1LCAweDkwLCAweDAwLCAweDAzfSB9LAoteyAweDgwNzAsCTE2LAl7MHgxMiwgMHhhMiwgMHg1NCwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHg4MSwgMHgzYywgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHhhMiwgMHg1NH0gfSwKLXsgMHg4MDgwLAkxNiwJezB4ZmYsIDB4NTQsIDB4N2YsIDB4ZmMsIDB4ZDMsIDB4OTQsIDB4MDcsIDB4NTAsIDB4MDMsIDB4MDIsIDB4ODEsIDB4MTYsIDB4ZWMsIDB4YzMsIDB4OTQsIDB4MTB9IH0sCi17IDB4ODA5MCwJMTYsCXsweDQwLCAweDAzLCAweDAyLCAweDgxLCAweDE2LCAweGVmLCAweDMwLCAweGU3LCAweDQyLCAweGU1LCAweDRmLCAweGFlLCAweDRlLCAweDc4LCAweDAyLCAweGNlfSB9LAoteyAweDgwYTAsCTE2LAl7MHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwgMHhmOSwgMHhmZiwgMHg3NCwgMHhmMCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNX0gfSwKLXsgMHg4MGIwLAkxNiwJezB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTAsIDB4ZTAsIDB4ZmYsIDB4ZWMsIDB4MjQsIDB4ZjgsIDB4ZmUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDZ9IH0sCi17IDB4ODBjMCwJMTYsCXsweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDRmLCAweDkwLCAweDdmLCAweGUwLCAweGYwLCAweDkwLCAweDAyLCAweGFlLCAweGUwfSB9LAoteyAweDgwZDAsCTE2LAl7MHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHgzZSwgMHhlNSwgMHg0ZiwgMHhhZSwgMHg0ZSwgMHg3OH0gfSwKLXsgMHg4MGUwLAkxNiwJezB4MDIsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4NzQsIDB4ZTgsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4ODBmMCwJMTYsCXsweDdmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweGUxLCAweGUwLCAweGZmLCAweGVjLCAweDI0LCAweGY4LCAweGZlLCAweDc0LCAweDAxfSB9LAoteyAweDgxMDAsCTE2LAl7MHhhOCwgMHgwNiwgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHhlMSwgMHhmMCwgMHg5MCwgMHgwMn0gfSwKLXsgMHg4MTEwLAkxNiwJezB4YWUsIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MTIsIDB4YTIsIDB4NTQsIDB4MjV9IH0sCi17IDB4ODEyMCwJMTYsCXsweDRmLCAweGY1LCAweDRmLCAweGU0LCAweDM1LCAweDRlLCAweGY1LCAweDRlLCAweDkwLCAweDAwLCAweDA1LCAweDEyLCAweGEyLCAweDU0LCAweGZlLCAweGU0fSB9LAoteyAweDgxMzAsCTE2LAl7MHgyNSwgMHg0ZiwgMHhmNSwgMHg0ZiwgMHhlZSwgMHgzNSwgMHg0ZSwgMHhmNSwgMHg0ZSwgMHgwMiwgMHg4MSwgMHhiOCwgMHhhYiwgMHg1MCwgMHhhYSwgMHg1MX0gfSwKLXsgMHg4MTQwLAkxNiwJezB4YTksIDB4NTIsIDB4OTAsIDB4MDAsIDB4MDMsIDB4MTIsIDB4YTIsIDB4NTQsIDB4ZmYsIDB4NjQsIDB4MDIsIDB4NjAsIDB4MDUsIDB4ZWYsIDB4NjQsIDB4MDN9IH0sCi17IDB4ODE1MCwJMTYsCXsweDcwLCAweDYwLCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweGEyLCAweDU0LCAweGZmLCAweDU0LCAweDdmLCAweGZjLCAweGQzLCAweDk0LCAweDA3LCAweDUwfSB9LAoteyAweDgxNjAsCTE2LAl7MHg0ZSwgMHhlZiwgMHgzMCwgMHhlNywgMHgxZSwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhlMCwgMHhmZiwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNCwgMHgwOCwgMHg4MH0gfSwKLXsgMHg4MTcwLAkxNiwJezB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZmUsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NGV9IH0sCi17IDB4ODE4MCwJMTYsCXsweGYwLCAweDgwLCAweDM1LCAweDkwLCAweDdmLCAweGRmLCAweGUwLCAweGZmLCAweDc0LCAweDAxLCAweGE4LCAweDA0LCAweDA4LCAweDgwLCAweDAyLCAweGMzfSB9LAoteyAweDgxOTAsCTE2LAl7MHgzMywgMHhkOCwgMHhmYywgMHhmZSwgMHg0ZiwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZCwgMHhlMCwgMHg0ZSwgMHhmMCwgMHhlY30gfSwKLXsgMHg4MWEwLAkxNiwJezB4MjUsIDB4ZTAsIDB4MjQsIDB4YzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4ODAsIDB4MDksIDB4N2Z9IH0sCi17IDB4ODFiMCwJMTYsCXsweGZmLCAweDIyLCAweDdmLCAweGZmLCAweDIyLCAweDdmLCAweGZmLCAweDIyLCAweDc0LCAweDA3LCAweDI1LCAweDUyLCAweGY1LCAweDUyLCAweGU0LCAweDM1fSB9LAoteyAweDgxYzAsCTE2LAl7MHg1MSwgMHhmNSwgMHg1MSwgMHgwMiwgMHg4MCwgMHg1MSwgMHgyMCwgMHgwMywgMHgwZCwgMHg5MCwgMHgwMiwgMHhhZSwgMHhlMCwgMHg2MCwgMHgwNywgMHg5MH0gfSwKLXsgMHg4MWQwLAk4LAl7MHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4MWQ4LAkxLAl7MHgyMn0gfSwKLXsgMHg4MWQ5LAk0LAl7MHg4ZSwgMHg1OSwgMHg4ZiwgMHg1YX0gfSwKLXsgMHg4MWRkLAkxNiwJezB4NzUsIDB4NWIsIDB4MDMsIDB4ZTUsIDB4NWEsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4ODFlZCwJMTYsCXsweGEzLCAweGUwLCAweDRlLCAweDcwLCAweDAzLCAweDAyLCAweDgyLCAweGU3LCAweGU1LCAweDViLCAweDYwLCAweDRlLCAweDE0LCAweDYwLCAweDM4LCAweDE0fSB9LAoteyAweDgxZmQsCTE2LAl7MHg2MCwgMHgyMCwgMHgxNCwgMHg2MCwgMHgwMywgMHgwMiwgMHg4MiwgMHg4YiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4NX0gfSwKLXsgMHg4MjBkLAkxNiwJezB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4YTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjB9IH0sCi17IDB4ODIxZCwJMTYsCXsweDgwLCAweDZjLCAweDg1LCAweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGUwLCAweGMzLCAweDk0LCAweDIwLCAweDQwLCAweDA5LCAweGEzLCAweGEzfSB9LAoteyAweDgyMmQsCTE2LAl7MHhlMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4MCwgMHg1NywgMHgxNSwgMHg1YiwgMHg4NSwgMHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhhM30gfSwKLXsgMHg4MjNkLAkxNiwJezB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4ODAsIDB4NDQsIDB4ZTUsIDB4NWEsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4ODI0ZCwJMTYsCXsweGU0LCAweDM1LCAweDU5LCAweGY1LCAweDgzLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1fSB9LAoteyAweDgyNWQsCTE2LAl7MHg4MywgMHhlMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHhlNSwgMHg1YSwgMHgyNH0gfSwKLXsgMHg4MjZkLAkxNiwJezB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTksIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjUsIDB4ZjAsIDB4MTIsIDB4YTIsIDB4ODEsIDB4ODV9IH0sCi17IDB4ODI3ZCwJMTYsCXsweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGEzLCAweGEzLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDgxLCAweDkwLCAweDdmfSB9LAoteyAweDgyOGQsCTE2LAl7MHhhNSwgMHhlMCwgMHhmNSwgMHg1YywgMHgzMCwgMHhlMCwgMHhmNywgMHgzMCwgMHhlMiwgMHgwNywgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNn0gfSwKLXsgMHg4MjlkLAkxNiwJezB4MjIsIDB4ZTUsIDB4NWMsIDB4MjAsIDB4ZTEsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDcsIDB4MjJ9IH0sCi17IDB4ODJhZCwJMTYsCXsweGU1LCAweDViLCAweDcwLCAweDMxLCAweDdmLCAweDAxLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0fSB9LAoteyAweDgyYmQsCTE2LAl7MHg4MCwgMHhmMCwgMHg4NSwgMHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHgyNSwgMHhlMCwgMHg0NCwgMHhhMCwgMHg5MH0gfSwKLXsgMHg4MmNkLAkxNiwJezB4N2YsIDB4YTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4ZjUsIDB4NWMsIDB4MzAsIDB4ZTAsIDB4ZjcsIDB4MzAsIDB4ZTEsIDB4ZDUsIDB4NzV9IH0sCi17IDB4ODJkZCwJMTIsCXsweDViLCAweDAzLCAweDAyLCAweDgxLCAweGUwLCAweDE1LCAweDViLCAweDAyLCAweDgxLCAweGUwLCAweDdmLCAweDA4fSB9LAoteyAweDgyZTksCTEsCXsweDIyfSB9LAoteyAweDgyZWEsCTIsCXsweGFlLCAweDA3fSB9LAoteyAweDgyZWMsCTE2LAl7MHg3YywgMHgwMiwgMHhlYywgMHgxNCwgMHg2MCwgMHgxNSwgMHgxNCwgMHg3MCwgMHgxZSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMH0gfSwKLXsgMHg4MmZjLAkxNiwJezB4ZWUsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZWQsIDB4ZjB9IH0sCi17IDB4ODMwYywJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweGZiLCAweDMwLCAweGUwLCAweGY4LCAweGJjfSB9LAoteyAweDgzMWMsCTE2LAl7MHgwMiwgMHgwYSwgMHgyMCwgMHhlMSwgMHgwNywgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNywgMHgyMiwgMHhlYiwgMHgzMCwgMHhlMiwgMHgwYX0gfSwKLXsgMHg4MzJjLAkxNCwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDYsIDB4MjIsIDB4ZGMsIDB4YjYsIDB4N2YsIDB4MDh9IH0sCi17IDB4ODMzYSwJMSwJezB4MjJ9IH0sCi17IDB4ODMzYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMyLCAweGE5LCAweDkwLCAweDAzLCAweDAwLCAweDc0LCAweDE5LCAweGYwLCAweGQyLCAweGE5fSB9LAoteyAweDgzNGIsCTE1LAl7MHg1MywgMHg5MSwgMHg3ZiwgMHg5MCwgMHgwMSwgMHhjNCwgMHhlNCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHg4MzVhLAkxNiwJezB4ZWYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWIsIDB4ODIsIDB4ZmEsIDB4ZjV9IH0sCi17IDB4ODM2YSwJMTYsCXsweDgzLCAweGEzLCAweGU0LCAweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGY1LCAweDYxLCAweDc0LCAweGJmfSB9LAoteyAweDgzN2EsCTE2LAl7MHhmMCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhM30gfSwKLXsgMHg4MzhhLAkxNiwJezB4YTMsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTMsIDB4ZjAsIDB4ZjksIDB4ZWQsIDB4NjAsIDB4MWQsIDB4NzQsIDB4MDF9IH0sCi17IDB4ODM5YSwJMTYsCXsweDdlLCAweDAwLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlLCAweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmLCAweGU0fSB9LAoteyAweDgzYWEsCTE2LAl7MHhlZiwgMHg1NSwgMHgzMSwgMHg2MCwgMHgwNCwgMHg3OSwgMHgwOSwgMHg4MCwgMHgwMiwgMHg3OSwgMHgwZCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhM30gfSwKLXsgMHg4M2JhLAkxNiwJezB4YTMsIDB4YTMsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4OGJ9IH0sCi17IDB4ODNjYSwJMTYsCXsweDgyLCAweDhhLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGU1LCAweDYxLCAweGYwLCAweGFlLCAweDAyLCAweGFmLCAweDAzLCAweDhmLCAweDgyLCAweDhlfSB9LAoteyAweDgzZGEsCTQsCXsweDgzLCAweGEzLCAweGU5LCAweGYwfSB9LAoteyAweDgzZGUsCTEsCXsweDIyfSB9LAoteyAweDgzZGYsCTQsCXsweDhmLCAweDYxLCAweDhkLCAweDYyfSB9LAoteyAweDgzZTMsCTE2LAl7MHhlNCwgMHhmNSwgMHg2NywgMHg3NCwgMHgzZiwgMHgyZiwgMHhmOCwgMHg3NiwgMHgwOCwgMHg3ZiwgMHg4MCwgMHg3ZSwgMHgyNSwgMHg3ZCwgMHgwMCwgMHg3Y30gfSwKLXsgMHg4M2YzLAkxNiwJezB4MDAsIDB4YWIsIDB4NjYsIDB4YWEsIDB4NjUsIDB4YTksIDB4NjQsIDB4YTgsIDB4NjMsIDB4ZDMsIDB4MTIsIDB4YTMsIDB4YjMsIDB4NDAsIDB4MjYsIDB4N2Z9IH0sCi17IDB4ODQwMywJMTYsCXsweDAwLCAweDdlLCAweDk2LCAweDdkLCAweDAwLCAweDdjLCAweDAwLCAweGE4LCAweDYzLCAweGQzLCAweDEyLCAweGEzLCAweGIzLCAweDUwLCAweDBjLCAweDc1fSB9LAoteyAweDg0MTMsCTE2LAl7MHg2NywgMHg0MCwgMHg3NCwgMHgzZiwgMHgyNSwgMHg2MSwgMHhmOCwgMHg3NiwgMHgxMCwgMHg4MCwgMHgwYSwgMHg3NSwgMHg2NywgMHg4MCwgMHg3NCwgMHgzZn0gfSwKLXsgMHg4NDIzLAkxNiwJezB4MjUsIDB4NjEsIDB4ZjgsIDB4NzYsIDB4MzgsIDB4ZTUsIDB4NjcsIDB4NDUsIDB4NjIsIDB4NDQsIDB4MDEsIDB4ZmYsIDB4ZTUsIDB4NjEsIDB4NzUsIDB4ZjB9IH0sCi17IDB4ODQzMywJMTMsCXsweDA4LCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDg0NDAsCTEsCXsweDIyfSB9LAoteyAweDg0NDEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmNSwgMHg1NywgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMn0gfSwKLXsgMHg4NDUxLAkxNiwJezB4ZTUsIDB4NTcsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZjV9IH0sCi17IDB4ODQ2MSwJMTYsCXsweDU4LCAweDhmLCAweDU5LCAweGU1LCAweDU3LCAweDI1LCAweGUwLCAweDI0LCAweGM2LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzfSB9LAoteyAweDg0NzEsCTE2LAl7MHhlMCwgMHgyMCwgMHhlMSwgMHgwZiwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHgyNCwgMHhjNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNX0gfSwKLXsgMHg4NDgxLAkxNiwJezB4ODMsIDB4ZTQsIDB4ZjAsIDB4NzQsIDB4MjMsIDB4MjUsIDB4NTcsIDB4ZjgsIDB4ZTQsIDB4ZjYsIDB4ZTUsIDB4NTksIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4ODQ5MSwJMTYsCXsweGU0LCAweDM1LCAweDU4LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAzLCAweGYwLCAweGU1LCAweDU3LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0fSB9LAoteyAweDg0YTEsCTE2LAl7MHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZX0gfSwKLXsgMHg4NGIxLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGQsIDB4NjQsIDB4OGMsIDB4NjMsIDB4N2QsIDB4MDYsIDB4YWYsIDB4NTcsIDB4MTIsIDB4ODN9IH0sCi17IDB4ODRjMSwJMTYsCXsweGRmLCAweGFmLCAweDU3LCAweDdkLCAweDAxLCAweDEyLCAweDgzLCAweDVhLCAweDg1LCAweDU5LCAweDgyLCAweDg1LCAweDU4LCAweDgzLCAweGEzLCAweGEzfSB9LAoteyAweDg0ZDEsCTE2LAl7MHhlMCwgMHgyMCwgMHhlMCwgMHg0MywgMHhlMCwgMHhmZiwgMHhlNSwgMHg1OSwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNX0gfSwKLXsgMHg4NGUxLAkxNiwJezB4ODMsIDB4ZTAsIDB4ZTUsIDB4NTksIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTV9IH0sCi17IDB4ODRmMSwJMTYsCXsweDU3LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjfSB9LAoteyAweDg1MDEsCTE2LAl7MHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2M30gfSwKLXsgMHg4NTExLAkxNiwJezB4N2QsIDB4MDYsIDB4YWYsIDB4NTcsIDB4MTIsIDB4ODMsIDB4ZGYsIDB4NzQsIDB4ZjgsIDB4MjUsIDB4NTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDJ9IH0sCi17IDB4ODUyMSwJMTYsCXsweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDU3LCAweDI1LCAweGUwLCAweGZmLCAweGMzLCAweDc0LCAweDBjLCAweDlmLCAweDc1LCAweGYwLCAweDQwfSB9LAoteyAweDg1MzEsCTE2LAl7MHhhNCwgMHgyNCwgMHg0MCwgMHhmNSwgMHg4MiwgMHhlNSwgMHhmMCwgMHgzNCwgMHg3YiwgMHhhZiwgMHg4MiwgMHhmZSwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMH0gfSwKLXsgMHg4NTQxLAkxNiwJezB4MjQsIDB4ZWYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZWUsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4YWYsIDB4NTd9IH0sCi17IDB4ODU1MSwJMTUsCXsweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDQyLCAweDM0LCAweDdmLCAweDAwfSB9LAoteyAweDg1NjAsCTEsCXsweDIyfSB9LAoteyAweDg1NjEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmNSwgMHg1NywgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMn0gfSwKLXsgMHg4NTcxLAkxNiwJezB4YWYsIDB4NTcsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4ODMsIDB4NWEsIDB4NzQsIDB4ZjgsIDB4MjUsIDB4NTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDJ9IH0sCi17IDB4ODU4MSwJMTYsCXsweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDU3LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0fSB9LAoteyAweDg1OTEsCTE2LAl7MHgyMCwgMHhhZiwgMHg4MiwgMHhmNSwgMHg1OSwgMHg4ZiwgMHg1YSwgMHhmNSwgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg4NWExLAkxNiwJezB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmMsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MGN9IH0sCi17IDB4ODViMSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDU3LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0fSB9LAoteyAweDg1YzEsCTE2LAl7MHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZX0gfSwKLXsgMHg4NWQxLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGQsIDB4NjQsIDB4OGMsIDB4NjMsIDB4N2QsIDB4MDYsIDB4YWYsIDB4NTcsIDB4MTIsIDB4ODN9IH0sCi17IDB4ODVlMSwJMTYsCXsweGRmLCAweGU1LCAweDVhLCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU5LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUwLCAweDA5fSB9LAoteyAweDg1ZjEsCTE2LAl7MHg4NSwgMHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhlMCwgMHhmNSwgMHg1OCwgMHhhZiwgMHg1NywgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOH0gfSwKLXsgMHg4NjAxLAkxNiwJezB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjQsIDB4NTIsIDB4MzQsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YzYsIDB4ZjV9IH0sCi17IDB4ODYxMSwJMTYsCXsweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDU3LCAweDI1LCAweGUwLCAweDI0LCAweGM3fSB9LAoteyAweDg2MjEsCTExLAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4NjJjLAkxLAl7MHgyMn0gfSwKLXsgMHg4NjJkLAk0LAl7MHg4ZSwgMHg1NywgMHg4ZiwgMHg1OH0gfSwKLXsgMHg4NjMxLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4NTksIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4ODY0MSwJMTYsCXsweGU1LCAweDU5LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAxLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwfSB9LAoteyAweDg2NTEsCTE2LAl7MHg1NCwgMHgwMywgMHg3MCwgMHg2NiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHgzMCwgMHhlMCwgMHgyOCwgMHhlNX0gfSwKLXsgMHg4NjYxLAkxNiwJezB4NTksIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmN9IH0sCi17IDB4ODY3MSwJMTYsCXsweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzfSB9LAoteyAweDg2ODEsCTE2LAl7MHg3ZCwgMHgwMiwgMHhhZiwgMHg1OSwgMHgxMiwgMHg4MywgMHhkZiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHgzMH0gfSwKLXsgMHg4NjkxLAkxNiwJezB4ZTEsIDB4MjgsIDB4ZTUsIDB4NTksIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjV9IH0sCi17IDB4ODZhMSwJMTYsCXsweDgzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkfSB9LAoteyAweDg2YjEsCTEyLAl7MHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNCwgMHhhZiwgMHg1OSwgMHgxMiwgMHg4MywgMHhkZiwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4NmJkLAkxLAl7MHgyMn0gfSwKLXsgMHg4NmJlLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4ZWR9IH0sCi17IDB4ODZjZSwJMTYsCXsweDZjLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGYwLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGMwLCAweDgzLCAweGMwfSB9LAoteyAweDg2ZGUsCTE2LAl7MHg4MiwgMHhlMCwgMHhmZCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmYywgMHhlZCwgMHg2YywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhmMH0gfSwKLXsgMHg4NmVlLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4ZWMsIDB4NmQsIDB4ZDB9IH0sCi17IDB4ODZmZSwJMTYsCXsweDgyLCAweGQwLCAweDgzLCAweGYwLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZkLCAweDhmfSB9LAoteyAweDg3MGUsCTE2LAl7MHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhlZCwgMHg2YywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4Mn0gfSwKLXsgMHg4NzFlLAkxNiwJezB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZTAsIDB4ZmQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4ZTB9IH0sCi17IDB4ODcyZSwJMTYsCXsweGZjLCAweGVkLCAweDZjLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGYwLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGMwLCAweDgzLCAweGMwfSB9LAoteyAweDg3M2UsCTE2LAl7MHg4MiwgMHhlMCwgMHhmZCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmZiwgMHhlZCwgMHg2ZiwgMHhkMCwgMHg4MiwgMHhkMH0gfSwKLXsgMHg4NzRlLAkzLAl7MHg4MywgMHhmMCwgMHgyMn0gfSwKLXsgMHg4NzUxLAk0LAl7MHhhZCwgMHgwNywgMHhhYywgMHgwNn0gfSwKLXsgMHg4NzU1LAkxNiwJezB4NzksIDB4MGQsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmZ9IH0sCi17IDB4ODc2NSwJMTYsCXsweDIyLCAweDhjLCAweDU3LCAweDhkLCAweDU4LCAweGVlLCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAxLCAweGY1LCAweDgyLCAweGU0LCAweDM0fSB9LAoteyAweDg3NzUsCTE2LAl7MHgwMywgMHhhZiwgMHg4MiwgMHhmZSwgMHhhZCwgMHgwMSwgMHgxOSwgMHhlZCwgMHg2MCwgMHgyNCwgMHgwZiwgMHhlZiwgMHhhYywgMHgwNiwgMHg3MCwgMHgwMX0gfSwKLXsgMHg4Nzg1LAkxNiwJezB4MGUsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MDUsIDB4NTgsIDB4ZTUsIDB4NTgsIDB4YWEsIDB4NTcsIDB4NzAsIDB4MDJ9IH0sCi17IDB4ODc5NSwJMTYsCXsweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDZkLCAweDYwLCAweGQ5LCAweDdmLCAweDAxLCAweDIyLCAweDdmLCAweDAwfSB9LAoteyAweDg3YTUsCTEsCXsweDIyfSB9LAoteyAweDg3YTYsCTQsCXsweDhlLCAweDU3LCAweDhmLCAweDU4fSB9LAoteyAweDg3YWEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmNSwgMHg1ZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMn0gfSwKLXsgMHg4N2JhLAkxNiwJezB4ZTUsIDB4NWUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZjV9IH0sCi17IDB4ODdjYSwJMTYsCXsweDVmLCAweDhmLCAweDYwLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzfSB9LAoteyAweDg3ZGEsCTE2LAl7MHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg3YiwgMHgwOCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3OCwgMHgwMCwgMHhkMywgMHgxMiwgMHhhM30gfSwKLXsgMHg4N2VhLAkxNiwJezB4YjMsIDB4NDAsIDB4MTAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4MTIsIDB4YTMsIDB4ZmEsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4ODdmYSwJMTYsCXsweDA4LCAweDgwLCAweDJlLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzfSB9LAoteyAweDg4MGEsCTE2LAl7MHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwOCwgMHg3OSwgMHgwNywgMHg3OCwgMHgwMCwgMHhjMywgMHgxMiwgMHhhM30gfSwKLXsgMHg4ODFhLAkxNiwJezB4YjMsIDB4NTAsIDB4MGUsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4MTIsIDB4YTMsIDB4ZmEsIDB4MDAsIDB4MDcsIDB4MDh9IH0sCi17IDB4ODgyYSwJMTYsCXsweDAwLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGY4LCAweGEzLCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhfSB9LAoteyAweDg4M2EsCTE2LAl7MHhhMywgMHhlMCwgMHhmYiwgMHg3ZiwgMHgwMCwgMHg3ZSwgMHg1MCwgMHg3ZCwgMHg0NiwgMHg3YywgMHgwMCwgMHgxMiwgMHhhMywgMHgyMSwgMHg4ZiwgMHg1Y30gfSwKLXsgMHg4ODRhLAkxNiwJezB4OGUsIDB4NWIsIDB4OGQsIDB4NWEsIDB4OGMsIDB4NTksIDB4N2IsIDB4MGEsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzgsIDB4MDAsIDB4MTIsIDB4YTN9IH0sCi17IDB4ODg1YSwJMTYsCXsweDIxLCAweGFmLCAweDAzLCAweDhmLCAweDVkLCAweGFmLCAweDVjLCAweGFlLCAweDViLCAweGFkLCAweDVhLCAweGFjLCAweDU5LCAweDdiLCAweDBhLCAweDdhfSB9LAoteyAweDg4NmEsCTE2LAl7MHgwMCwgMHg3OSwgMHgwMCwgMHg3OCwgMHgwMCwgMHgxMiwgMHhhMywgMHgyMSwgMHg4ZiwgMHg1YywgMHg4ZSwgMHg1YiwgMHg4ZCwgMHg1YSwgMHg4YywgMHg1OX0gfSwKLXsgMHg4ODdhLAkxNiwJezB4ZTUsIDB4NWQsIDB4YzMsIDB4OTQsIDB4MDUsIDB4NDAsIDB4MTUsIDB4ZTUsIDB4NWMsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4NWMsIDB4ZTQsIDB4MzUsIDB4NWJ9IH0sCi17IDB4ODg4YSwJMTYsCXsweGY1LCAweDViLCAweGU0LCAweDM1LCAweDVhLCAweGY1LCAweDVhLCAweGU0LCAweDM1LCAweDU5LCAweGY1LCAweDU5LCAweDg1LCAweDYwLCAweDgyLCAweDg1fSB9LAoteyAweDg4OWEsCTE2LAl7MHg1ZiwgMHg4MywgMHhhMywgMHhlNCwgMHhmMCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHg0NH0gfSwKLXsgMHg4OGFhLAkxNiwJezB4ODAsIDB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4ZTUsIDB4NWMsIDB4ZjAsIDB4YWYsIDB4NWMsIDB4YWUsIDB4NWIsIDB4YWR9IH0sCi17IDB4ODhiYSwJMTYsCXsweDVhLCAweGFjLCAweDU5LCAweDc4LCAweDA4LCAweDEyLCAweGEzLCAweGM0LCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGVmfSB9LAoteyAweDg4Y2EsCTE2LAl7MHhmMCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHhlNCwgMHhmNX0gfSwKLXsgMHg4OGRhLAkxNiwJezB4NWQsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTB9IH0sCi17IDB4ODhlYSwJMTYsCXsweDIzLCAweDU0LCAweDAxLCAweGYwLCAweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGUwfSB9LAoteyAweDg4ZmEsCTE2LAl7MHg1NCwgMHhmZCwgMHhmMCwgMHhhZiwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmY30gfSwKLXsgMHg4OTBhLAkxNiwJezB4NDIsIDB4MjIsIDB4ODAsIDB4MzYsIDB4NzQsIDB4MDEsIDB4N2UsIDB4MDAsIDB4YTgsIDB4NWUsIDB4MDgsIDB4ODAsIDB4MDUsIDB4YzMsIDB4MzMsIDB4Y2V9IH0sCi17IDB4ODkxYSwJMTYsCXsweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmLCAweGU0LCAweGVmLCAweDU1LCAweDIyLCAweDYwLCAweDFmLCAweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1fSB9LAoteyAweDg5MmEsCTE2LAl7MHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhhZiwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwN30gfSwKLXsgMHg4OTNhLAkxNiwJezB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjQsIDB4NTIsIDB4MjIsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDgsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4ODk0YSwJMTYsCXsweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGI0LCAweDYyLCAweDA1LCAweDQzLCAweDVkLCAweDBhLCAweDgwLCAweDFhLCAweGVmfSB9LAoteyAweDg5NWEsCTE2LAl7MHhiNCwgMHg3MiwgMHgwNSwgMHg0MywgMHg1ZCwgMHgwOCwgMHg4MCwgMHgxMSwgMHhlZiwgMHhiNCwgMHg3NCwgMHgwNSwgMHg0MywgMHg1ZCwgMHgwMiwgMHg4MH0gfSwKLXsgMHg4OTZhLAkxNiwJezB4MDgsIDB4ZWYsIDB4NjQsIDB4NmUsIDB4NjAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4ODk3YSwJMTYsCXsweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDMwLCAweGUzLCAweDAzLCAweDQzLCAweDVkLCAweDgwLCAweGVmLCAweDMwLCAweGU3LCAweDEyfSB9LAoteyAweDg5OGEsCTE2LAl7MHg0MywgMHg1ZCwgMHg0MCwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NH0gfSwKLXsgMHg4OTlhLAkxNiwJezB4MDIsIDB4ZjAsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTF9IH0sCi17IDB4ODlhYSwJMTYsCXsweDIwLCAweGFmLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDQyLCAweDMyfSB9LAoteyAweDg5YmEsCTE2LAl7MHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MH0gfSwKLXsgMHg4OWNhLAkxNiwJezB4MTAsIDB4YWYsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjQsIDB4NTJ9IH0sCi17IDB4ODlkYSwJMTYsCXsweDMyLCAweGU1LCAweDU4LCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDMwLCAweGU0fSB9LAoteyAweDg5ZWEsCTE2LAl7MHgxMSwgMHhhZSwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNiwgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0MiwgMHgzMX0gfSwKLXsgMHg4OWZhLAkxNiwJezB4ODAsIDB4MTAsIDB4YWUsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDYsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjR9IH0sCi17IDB4OGEwYSwJMTYsCXsweDUyLCAweDMxLCAweGVmLCAweDIwLCAweGUxLCAweDAzLCAweDMwLCAweGU0LCAweDAzLCAweGU0LCAweGY1LCAweDVkLCAweDg1LCAweDYwLCAweDgyLCAweDg1fSB9LAoteyAweDhhMWEsCTE2LAl7MHg1ZiwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHg3NCwgMHhiZiwgMHhmMCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhhM30gfSwKLXsgMHg4YTJhLAkxNiwJezB4ZTQsIDB4ZjAsIDB4ZTUsIDB4NWQsIDB4ZjAsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MGEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODN9IH0sCi17IDB4OGEzYSwJMTYsCXsweGUwLCAweGZmLCAweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1fSB9LAoteyAweDhhNGEsCTE2LAl7MHg1OCwgMHgyNCwgMHgwYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNX0gfSwKLXsgMHg4YTVhLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDksIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4OGE2YSwJMTYsCXsweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDYwLCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1fSB9LAoteyAweDhhN2EsCTE2LAl7MHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZn0gfSwKLXsgMHg4YThhLAkxNiwJezB4ZTUsIDB4NjAsIDB4MjQsIDB4MDcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4NjAsIDB4ODJ9IH0sCi17IDB4OGE5YSwJMTYsCXsweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGU0LCAweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzfSB9LAoteyAweDhhYWEsCTE2LAl7MHhmMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZX0gfSwKLXsgMHg4YWJhLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGQsIDB4NjQsIDB4OGMsIDB4NjMsIDB4N2QsIDB4MDYsIDB4YWYsIDB4NWUsIDB4MTIsIDB4ODN9IH0sCi17IDB4OGFjYSwJMTYsCXsweGRmLCAweDc1LCAweDVkLCAweDA4LCAweGU1LCAweDU4LCAweDI0LCAweDBjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwfSB9LAoteyAweDhhZGEsCTE2LAl7MHg2MCwgMHgwMywgMHg0MywgMHg1ZCwgMHgxMCwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHg4YWVhLAkxNiwJezB4ZTAsIDB4NTQsIDB4MDMsIDB4NDUsIDB4NWQsIDB4ZjAsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjV9IH0sCi17IDB4OGFmYSwJMTYsCXsweDgzLCAweGUwLCAweGZlLCAweGMzLCAweDk0LCAweDA1LCAweDQwLCAweDA2LCAweGVlLCAweGQzLCAweDk0LCAweDA4LCAweDQwLCAweDAzLCAweDdmLCAweGZmfSB9LAoteyAweDhiMGEsCTE2LAl7MHgyMiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHhjMywgMHg5NH0gfSwKLXsgMHg4YjFhLAkxNiwJezB4MDEsIDB4NDAsIDB4MDYsIDB4ZWQsIDB4ZDMsIDB4OTQsIDB4MDIsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWQsIDB4MTQsIDB4ZmYsIDB4MjV9IH0sCi17IDB4OGIyYSwJMTYsCXsweGUwLCAweDI1LCAweGUwLCAweGZmLCAweGVlLCAweDI0LCAweGZiLCAweDRmLCAweGY1LCAweDVkLCAweGU1LCAweDU4LCAweDI0LCAweDA3LCAweGY1LCAweDgyfSB9LAoteyAweDhiM2EsCTE2LAl7MHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHgyNCwgMHhkMCwgMHg2MCwgMHgxOCwgMHgxNCwgMHg2MCwgMHgxYSwgMHgyNCwgMHhjMywgMHg2MH0gfSwKLXsgMHg4YjRhLAkxNiwJezB4MWUsIDB4MTQsIDB4NjAsIDB4MDksIDB4MjQsIDB4MGEsIDB4NzAsIDB4MTQsIDB4NDMsIDB4NWQsIDB4MTgsIDB4ODAsIDB4MTIsIDB4NDMsIDB4NWQsIDB4MDh9IH0sCi17IDB4OGI1YSwJMTYsCXsweDgwLCAweDBkLCAweDQzLCAweDVkLCAweDM4LCAweDgwLCAweDA4LCAweDQzLCAweDVkLCAweDI4LCAweDgwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweDg1fSB9LAoteyAweDhiNmEsCTE2LAl7MHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlNSwgMHg1ZCwgMHhmMCwgMHg3NCwgMHgwMSwgMHg3ZSwgMHgwMCwgMHhhOH0gfSwKLXsgMHg4YjdhLAkxNiwJezB4NWUsIDB4MDgsIDB4ODAsIDB4MDUsIDB4YzMsIDB4MzMsIDB4Y2UsIDB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZTQsIDB4ZWYsIDB4NTUsIDB4MzR9IH0sCi17IDB4OGI4YSwJMTYsCXsweDYwLCAweDA3LCAweGFmLCAweDVlLCAweDdkLCAweDAxLCAweDEyLCAweDgzLCAweDVhLCAweGFhLCAweDU3LCAweGE5LCAweDU4LCAweDdiLCAweDAxLCAweGMwfSB9LAoteyAweDhiOWEsCTE2LAl7MHgwMywgMHhjMCwgMHgwMSwgMHhlNSwgMHg1ZSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMSwgMHhmOSwgMHg3NCwgMHgwMywgMHgzNSwgMHhmMH0gfSwKLXsgMHg4YmFhLAkxNiwJezB4YTgsIDB4MDEsIDB4ZmMsIDB4YWQsIDB4MDMsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDMsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MGQsIDB4MTIsIDB4YTIsIDB4MTJ9IH0sCi17IDB4OGJiYSwJMiwJezB4N2YsIDB4MDB9IH0sCi17IDB4OGJiYywJMSwJezB4MjJ9IH0sCi17IDB4OGJiZCwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhiY2QsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZCwgMHg4MiwgMHhmYywgMHg5MCwgMHgwMX0gfSwKLXsgMHg4YmRkLAkxNiwJezB4MmMsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZWUsIDB4MDQsIDB4YTMsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTV9IH0sCi17IDB4OGJlZCwJMTYsCXsweDgyLCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweDAxLCAweDJmLCAweGYwLCAweDhkfSB9LAoteyAweDhiZmQsCTE2LAl7MHg4MiwgMHg4YywgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg1NH0gfSwKLXsgMHg4YzBkLAkxNiwJezB4MWUsIDB4OTAsIDB4MDEsIDB4MzAsIDB4ZjAsIDB4NzQsIDB4MmQsIDB4MmUsIDB4ZjgsIDB4ZTYsIDB4YTMsIDB4ZjAsIDB4YWYsIDB4MDYsIDB4NzQsIDB4MDF9IH0sCi17IDB4OGMxZCwJMTYsCXsweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY1LCAweDU3LCAweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxfSB9LAoteyAweDhjMmQsCTE2LAl7MHg0MCwgMHgwZCwgMHg5MCwgMHgyMCwgMHg3OCwgMHhlMCwgMHg1NCwgMHgwZiwgMHg3NSwgMHg1OCwgMHgwMCwgMHhmNSwgMHg1OSwgMHg4MCwgMHgwOSwgMHg3Zn0gfSwKLXsgMHg4YzNkLAkxNiwJezB4MDIsIDB4MTIsIDB4MTEsIDB4MjcsIDB4OGUsIDB4NTgsIDB4OGYsIDB4NTksIDB4YzMsIDB4ZTUsIDB4NTgsIDB4NjQsIDB4ODAsIDB4OTQsIDB4ODAsIDB4NDB9IH0sCi17IDB4OGM0ZCwJMTYsCXsweGRhLCAweGU1LCAweDU3LCAweDU1LCAweDU5LCAweDkwLCAweDAxLCAweDMyLCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDJjLCAweDdkLCAweDA3LCAweDEyfSB9LAoteyAweDhjNWQsCTQsCXsweDkxLCAweDZhLCAweDdmLCAweDAwfSB9LAoteyAweDhjNjEsCTEsCXsweDIyfSB9LAoteyAweDhjNjIsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZX0gfSwKLXsgMHg4YzcyLAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4OTAsIDB4MDF9IH0sCi17IDB4OGM4MiwJMTYsCXsweDMzLCAweDc0LCAweDBhLCAweGYwLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1fSB9LAoteyAweDhjOTIsCTE2LAl7MHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHgwMSwgMHgzNCwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgzMywgMHg3ZCwgMHgwMiwgMHgxMiwgMHg5MX0gfSwKLXsgMHg4Y2EyLAkzLAl7MHg2YSwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4Y2E1LAkxLAl7MHgyMn0gfSwKLXsgMHg4Y2E2LAk0LAl7MHg4ZSwgMHg1NywgMHg4ZiwgMHg1OH0gfSwKLXsgMHg4Y2FhLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWV9IH0sCi17IDB4OGNiYSwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFkLCAweDgyLCAweGZjLCAweDg1LCAweDU4fSB9LAoteyAweDhjY2EsCTE2LAl7MHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHg2MCwgMHgwZiwgMHhlZCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzYywgMHhmNX0gfSwKLXsgMHg4Y2RhLAkxNiwJezB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4NDMsIDB4ZWUsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MGMsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OGNlYSwJMTYsCXsweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUwLCAweDIwLCAweGVlLCAweDI1LCAweGUwLCAweDI0LCAweGM2LCAweGY1LCAweDgyfSB9LAoteyAweDhjZmEsCTE2LAl7MHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMSwgMHhmMCwgMHg3ZiwgMHg2MCwgMHhlZCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4ZDBhLAkxNiwJezB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NWYsIDB4YjUsIDB4MDcsIDB4ZjIsIDB4YWUsIDB4MDQsIDB4YWYsIDB4MDUsIDB4ZWYsIDB4MjQsIDB4MDR9IH0sCi17IDB4OGQxYSwJMTIsCXsweGY1LCAweDgyLCAweGU0LCAweDNlLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDhkMjYsCTEsCXsweDIyfSB9LAoteyAweDhkMjcsCTQsCXsweGFkLCAweDA3LCAweGFjLCAweDA2fSB9LAoteyAweDhkMmIsCTE2LAl7MHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZX0gfSwKLXsgMHg4ZDNiLAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4OGQsIDB4ODJ9IH0sCi17IDB4OGQ0YiwJMTYsCXsweDhjLCAweDgzLCAweGEzLCAweGUwLCAweDYwLCAweDBmLCAweGVmLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNlLCAweGY1LCAweDgzLCAweGUwfSB9LAoteyAweDhkNWIsCTE2LAl7MHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwZCwgMHhlZiwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzZSwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NH0gfSwKLXsgMHg4ZDZiLAk0LAl7MHhmZSwgMHhmMCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4ZDZmLAkxLAl7MHgyMn0gfSwKLXsgMHg4ZDcwLAk0LAl7MHhhZCwgMHgwNywgMHhhYywgMHgwNn0gfSwKLXsgMHg4ZDc0LAkxNiwJezB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWV9IH0sCi17IDB4OGQ4NCwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGZlLCAweDhkLCAweDgyfSB9LAoteyAweDhkOTQsCTE2LAl7MHg4YywgMHg4MywgMHhhMywgMHhlMCwgMHg2MCwgMHgwZCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHg0NCwgMHg0MH0gfSwKLXsgMHg4ZGE0LAkxNiwJezB4ZjAsIDB4ODAsIDB4MGIsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGRiNCwJMSwJezB4MjJ9IH0sCi17IDB4OGRiNSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGFmfSB9LAoteyAweDhkYzUsCTE2LAl7MHgwNiwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0MiwgMHgzZSwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4ZGQ1LAkxLAl7MHgyMn0gfSwKLXsgMHg4ZGQ2LAk0LAl7MHg4ZSwgMHg1NywgMHg4ZiwgMHg1OH0gfSwKLXsgMHg4ZGRhLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NWMsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NTksIDB4ZDN9IH0sCi17IDB4OGRlYSwJMTYsCXsweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGU1LCAweDU5LCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLCAweDFmfSB9LAoteyAweDhkZmEsCTE2LAl7MHgxNCwgMHg2MCwgMHgyOCwgMHgyNCwgMHgwMywgMHg3MCwgMHgyZSwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHg1YSwgMHg3ZSwgMHg3NSwgMHg1Yn0gfSwKLXsgMHg4ZTBhLAkxNiwJezB4ODAsIDB4ODAsIDB4MjIsIDB4N2UsIDB4N2UsIDB4N2YsIDB4MDAsIDB4NzUsIDB4NWEsIDB4N2UsIDB4NzUsIDB4NWIsIDB4MDAsIDB4ODAsIDB4MTYsIDB4N2V9IH0sCi17IDB4OGUxYSwJMTYsCXsweDdkLCAweDdmLCAweDgwLCAweDc1LCAweDVhLCAweDdkLCAweDc1LCAweDViLCAweDgwLCAweDgwLCAweDBhLCAweDdlLCAweDdkLCAweDdmLCAweDAwLCAweDc1fSB9LAoteyAweDhlMmEsCTE2LAl7MHg1YSwgMHg3ZCwgMHg3NSwgMHg1YiwgMHgwMCwgMHhlNSwgMHg1YywgMHg3MCwgMHgxYiwgMHg4NSwgMHg1YiwgMHg4MiwgMHg4NSwgMHg1YSwgMHg4MywgMHg3NH0gfSwKLXsgMHg4ZTNhLAkxNiwJezB4ZmYsIDB4ZjAsIDB4ZTUsIDB4NTksIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzR9IH0sCi17IDB4OGU0YSwJMTYsCXsweDAxLCAweGYwLCAweDgwLCAweDQ4LCAweGU1LCAweDU4LCAweDI0LCAweDAyLCAweGZmLCAweGU0LCAweDM1LCAweDU3LCAweGZlLCAweGU1LCAweDVjLCAweDYwfSB9LAoteyAweDhlNWEsCTE2LAl7MHgyMywgMHgwZiwgMHhlZiwgMHhhYywgMHgwNiwgMHg3MCwgMHgwMSwgMHgwZSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHhmZCwgMHgwNX0gfSwKLXsgMHg4ZTZhLAkxNiwJezB4NWIsIDB4ZTUsIDB4NWIsIDB4YWEsIDB4NWEsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NWEsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZWQsIDB4ZjB9IH0sCi17IDB4OGU3YSwJMTYsCXsweDE1LCAweDVjLCAweDgwLCAweGQ5LCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweGU1LCAweDU5LCAweDI1fSB9LAoteyAweDhlOGEsCTE0LAl7MHhlMCwgMHgyNCwgMHhiNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4ZTk4LAkxLAl7MHgyMn0gfSwKLXsgMHg4ZTk5LAkxNiwJezB4ZWYsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4NTgsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4NTcsIDB4OTAsIDB4MDEsIDB4MzUsIDB4NzQsIDB4MDcsIDB4ZjAsIDB4OTB9IH0sCi17IDB4OGVhOSwJMTYsCXsweDAxLCAweDdhLCAweDc0LCAweDAxLCAweGYwLCAweGEzLCAweDc0LCAweDM2LCAweGYwLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzfSB9LAoteyAweDhlYjksCTE2LAl7MHhhMywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHg4ZSwgMHg1OSwgMHhmNSwgMHg1YSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4M30gfSwKLXsgMHg4ZWM5LAkxNiwJezB4ZTAsIDB4MjQsIDB4OWUsIDB4NjAsIDB4NjEsIDB4MjQsIDB4ZjksIDB4NjAsIDB4MGUsIDB4MjQsIDB4ZjEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OGYsIDB4N2F9IH0sCi17IDB4OGVkOSwJMTYsCXsweDI0LCAweDE0LCAweDYwLCAweDAzLCAweDAyLCAweDhmLCAweGM4LCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlfSB9LAoteyAweDhlZTksCTE2LAl7MHhhMywgMHhlMCwgMHhmZiwgMHhjMywgMHhlNCwgMHg5ZiwgMHhmNSwgMHg1YywgMHg3NCwgMHgwMSwgMHg5ZSwgMHhmNSwgMHg1YiwgMHhkMywgMHhlNSwgMHg1Y30gfSwKLXsgMHg4ZWY5LAkxNiwJezB4OTQsIDB4M2YsIDB4ZTUsIDB4NWIsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIDB4NzUsIDB4NWIsIDB4MDAsIDB4NzUsIDB4NWMsIDB4M2YsIDB4ZDMsIDB4ZTV9IH0sCi17IDB4OGYwOSwJMTYsCXsweDVhLCAweDk1LCAweDVjLCAweGU1LCAweDU5LCAweDk1LCAweDViLCAweDUwLCAweDAzLCAweDAyLCAweDhmLCAweGNiLCAweGFlLCAweDViLCAweGFmLCAweDVjfSB9LAoteyAweDhmMTksCTE2LAl7MHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlZSwgMHhmMCwgMHhmZSwgMHhhMywgMHhlZiwgMHhmMCwgMHg4ZX0gfSwKLXsgMHg4ZjI5LAkxNiwJezB4NTksIDB4ZjUsIDB4NWEsIDB4MDIsIDB4OGYsIDB4Y2IsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTN9IH0sCi17IDB4OGYzOSwJMTYsCXsweGUwLCAweGZmLCAweGMzLCAweDc0LCAweDMwLCAweDlmLCAweGY1LCAweDVjLCAweGU0LCAweDllLCAweGY1LCAweDViLCAweGQzLCAweGU1LCAweDVjLCAweDk0fSB9LAoteyAweDhmNDksCTE2LAl7MHgxMCwgMHhlNSwgMHg1YiwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNiwgMHg3NSwgMHg1YiwgMHgwMCwgMHg3NSwgMHg1YywgMHgxMCwgMHhkMywgMHhlNSwgMHg1YX0gfSwKLXsgMHg4ZjU5LAkxNiwJezB4OTUsIDB4NWMsIDB4ZTUsIDB4NTksIDB4OTUsIDB4NWIsIDB4NDAsIDB4NmEsIDB4YWUsIDB4NWIsIDB4YWYsIDB4NWMsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODV9IH0sCi17IDB4OGY2OSwJMTYsCXsweDU3LCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGVlLCAweGYwLCAweGZlLCAweGEzLCAweGVmLCAweGYwLCAweDhlLCAweDU5LCAweGY1LCAweDVhLCAweDgwfSB9LAoteyAweDhmNzksCTE2LAl7MHg1MSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhjMywgMHhlNCwgMHg5Zn0gfSwKLXsgMHg4Zjg5LAkxNiwJezB4ZjUsIDB4NWMsIDB4ZTQsIDB4OWUsIDB4ZjUsIDB4NWIsIDB4NDUsIDB4NWMsIDB4NjAsIDB4MGIsIDB4ZDMsIDB4ZTUsIDB4NWMsIDB4OTQsIDB4M2YsIDB4ZTV9IH0sCi17IDB4OGY5OSwJMTYsCXsweDViLCAweDk0LCAweDAwLCAweDQwLCAweDA2LCAweDc1LCAweDViLCAweDAwLCAweDc1LCAweDVjLCAweDNmLCAweGQzLCAweGU1LCAweDVhLCAweDk1LCAweDVjfSB9LAoteyAweDhmYTksCTE2LAl7MHhlNSwgMHg1OSwgMHg5NSwgMHg1YiwgMHg0MCwgMHgxYywgMHhhZSwgMHg1YiwgMHhhZiwgMHg1YywgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4M30gfSwKLXsgMHg4ZmI5LAkxNiwJezB4YTMsIDB4YTMsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4ZmUsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OGUsIDB4NTksIDB4ZjUsIDB4NWEsIDB4ODAsIDB4MDMsIDB4N2Z9IH0sCi17IDB4OGZjOSwJMTYsCXsweDAxLCAweDIyLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGUwLCAweDI0LCAweDllLCAweDcwLCAweDAzLCAweDAyLCAweDkwLCAweDhifSB9LAoteyAweDhmZDksCTE2LAl7MHgyNCwgMHhmOSwgMHg2MCwgMHg1OCwgMHgyNCwgMHhmMSwgMHg3MCwgMHgwMywgMHgwMiwgMHg5MCwgMHhkYiwgMHgyNCwgMHgxNCwgMHg2MCwgMHgwMywgMHgwMn0gfSwKLXsgMHg4ZmU5LAkxNiwJezB4OTEsIDB4MWYsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTR9IH0sCi17IDB4OGZmOSwJMTYsCXsweGZmLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDkxLCAweDFmLCAweDkwLCAweDAxLCAweDc1LCAweGVmLCAweGYwLCAweGU1LCAweDVhfSB9LAoteyAweDkwMDksCTE2LAl7MHgxNSwgMHg1YSwgMHhhZSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OSwgMHg0ZSwgMHg3MCwgMHgwMywgMHgwMiwgMHg5MSwgMHgxZiwgMHg5MCwgMHgwMX0gfSwKLXsgMHg5MDE5LAkxNiwJezB4NzUsIDB4ZTAsIDB4ZmYsIDB4MDQsIDB4ZjAsIDB4YTgsIDB4MDcsIDB4ZTYsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4N2EsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDF9IH0sCi17IDB4OTAyOSwJMTYsCXsweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDgwLCAweGQyLCAweDg1LCAweDU4LCAweDgyLCAweDg1fSB9LAoteyAweDkwMzksCTE2LAl7MHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhjMywgMHg5NCwgMHg4MCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwM30gfSwKLXsgMHg5MDQ5LAkxNiwJezB4MDIsIDB4OTEsIDB4MWYsIDB4ZDMsIDB4ZWYsIDB4OTQsIDB4ZmYsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4OTB9IH0sCi17IDB4OTA1OSwJMTYsCXsweDAxLCAweDc2LCAweGVmLCAweGYwLCAweGU1LCAweDVhLCAweDE1LCAweDVhLCAweGFlLCAweDU5LCAweDcwLCAweDAyLCAweDE1LCAweDU5LCAweDRlLCAweDcwfSB9LAoteyAweDkwNjksCTE2LAl7MHgwMywgMHgwMiwgMHg5MSwgMHgxZiwgMHg5MCwgMHgwMSwgMHg3NiwgMHhlMCwgMHhmZiwgMHgwNCwgMHhmMCwgMHhhOCwgMHgwNywgMHhlNiwgMHhmZiwgMHg5MH0gfSwKLXsgMHg5MDc5LAkxNiwJezB4MDEsIDB4N2EsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjB9IH0sCi17IDB4OTA4OSwJMTYsCXsweDgwLCAweGQyLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGMzLCAweDk0fSB9LAoteyAweDkwOTksCTE2LAl7MHgyMCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwMywgMHgwMiwgMHg5MSwgMHgxZiwgMHhkMywgMHhlZiwgMHg5NCwgMHgyZiwgMHhlZSwgMHg5NCwgMHgwMH0gfSwKLXsgMHg5MGE5LAkxNiwJezB4NTAsIDB4NzQsIDB4OTAsIDB4MDEsIDB4NzcsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4MTUsIDB4NWEsIDB4YWUsIDB4NTksIDB4NzAsIDB4MDIsIDB4MTV9IH0sCi17IDB4OTBiOSwJMTYsCXsweDU5LCAweDRlLCAweDYwLCAweDYyLCAweDkwLCAweDAxLCAweDc3LCAweGUwLCAweGZmLCAweDA0LCAweGYwLCAweGE4LCAweDA3LCAweGU2LCAweGZmLCAweDkwfSB9LAoteyAweDkwYzksCTE2LAl7MHgwMSwgMHg3YSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMH0gfSwKLXsgMHg5MGQ5LAkxNiwJezB4ODAsIDB4ZDUsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4YTMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4Nzh9IH0sCi17IDB4OTBlOSwJMTYsCXsweGNmLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweGU1LCAweDVhLCAweDE1LCAweDVhLCAweGFlLCAweDU5LCAweDcwLCAweDAyLCAweDE1LCAweDU5LCAweDRlfSB9LAoteyAweDkwZjksCTE2LAl7MHg2MCwgMHgyNCwgMHg5MCwgMHgwMSwgMHg3OCwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNX0gfSwKLXsgMHg5MTA5LAkxNiwJezB4ODMsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4N2EsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODJ9IH0sCi17IDB4OTExOSwJMTYsCXsweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDgwLCAweGNmLCAweDdlLCAweDAxLCAweDdmLCAweDM1LCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzfSB9LAoteyAweDkxMjksCTEzLAl7MHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHgwNCwgMHhmZCwgMHgxMiwgMHg5MSwgMHg2YSwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg5MTM2LAkxLAl7MHgyMn0gfSwKLXsgMHg5MTM3LAkxNiwJezB4OGUsIDB4NjIsIDB4OGYsIDB4NjMsIDB4OGMsIDB4NjQsIDB4OGQsIDB4NjUsIDB4YWYsIDB4MDMsIDB4MWIsIDB4ZWYsIDB4NjAsIDB4MjQsIDB4MDUsIDB4NjN9IH0sCi17IDB4OTE0NywJMTYsCXsweGU1LCAweDYzLCAweGFlLCAweDYyLCAweDcwLCAweDAyLCAweDA1LCAweDYyLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZmLCAweDA1fSB9LAoteyAweDkxNTcsCTE2LAl7MHg2NSwgMHhlNSwgMHg2NSwgMHhhYywgMHg2NCwgMHg3MCwgMHgwMiwgMHgwNSwgMHg2NCwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMH0gfSwKLXsgMHg5MTY3LAkzLAl7MHg4MCwgMHhkNiwgMHgyMn0gfSwKLXsgMHg5MTZhLAk2LAl7MHg4ZCwgMHg1ZCwgMHhhYiwgMHgwNywgMHhhYSwgMHgwNn0gfSwKLXsgMHg5MTcwLAkxNiwJezB4NzUsIDB4NjEsIDB4NDAsIDB4NzUsIDB4NjAsIDB4MGQsIDB4NzUsIDB4NWYsIDB4MDMsIDB4NzUsIDB4NWUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTB9IH0sCi17IDB4OTE4MCwJMTYsCXsweDIwLCAweGUxLCAweGY5LCAweGFmLCAweDYxLCAweGFlLCAweDYwLCAweGFkLCAweDVmLCAweGFjLCAweDVlLCAweGVjLCAweDRkLCAweDRlLCAweDRmLCAweDcwfSB9LAoteyAweDkxOTAsCTE2LAl7MHgwOCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHhkNywgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxNn0gfSwKLXsgMHg5MWEwLAkxNiwJezB4YWYsIDB4MDMsIDB4YWUsIDB4MDIsIDB4N2MsIDB4N2IsIDB4N2QsIDB4ODAsIDB4YWIsIDB4NWQsIDB4MTIsIDB4OTEsIDB4MzcsIDB4OTAsIDB4N2YsIDB4YzN9IH0sCi17IDB4OTFiMCwJOCwJezB4ZTUsIDB4NWQsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4MjIsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTFiOCwJMSwJezB4MjJ9IH0sCi17IDB4OTFiOSwJMTYsCXsweDkwLCAweDAxLCAweDg0LCAweDc0LCAweDBiLCAweGYwLCAweGEzLCAweGU1LCAweDMzLCAweGYwLCAweDkwLCAweDBhLCAweGY1LCAweGU0LCAweDkzLCAweDkwfSB9LAoteyAweDkxYzksCTE2LAl7MHgwMSwgMHg4NiwgMHhmMCwgMHg5MCwgMHgwYSwgMHhmNiwgMHhlNCwgMHg5MywgMHg5MCwgMHgwMSwgMHg4NywgMHhmMCwgMHhlNCwgMHg5MCwgMHgwMSwgMHg3Y30gfSwKLXsgMHg5MWQ5LAkxNiwJezB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDF9IH0sCi17IDB4OTFlOSwJMTYsCXsweGYwLCAweGEzLCAweDc0LCAweDg4LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDdjLCAweDEyLCAweDE5LCAweGMxLCAweDdlLCAweDAxLCAweDdmLCAweDg0fSB9LAoteyAweDkxZjksCTcsCXsweDdkLCAweDE0LCAweDEyLCAweDkxLCAweDZhLCAweDdmLCAweDAwfSB9LAoteyAweDkyMDAsCTEsCXsweDIyfSB9LAoteyAweDkyMDEsCTE2LAl7MHg3ZSwgMHg3YiwgMHg3ZiwgMHg0MCwgMHg3NSwgMHg0ZSwgMHg3YiwgMHg3NSwgMHg0ZiwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhlMCwgMHhmZiwgMHg4NX0gfSwKLXsgMHg5MjExLAkxNiwJezB4NGUsIDB4NTEsIDB4ODUsIDB4NGYsIDB4NTIsIDB4ZTUsIDB4NTIsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4NTYsIDB4ZTQsIDB4MzUsIDB4NTEsIDB4ZjUsIDB4NTV9IH0sCi17IDB4OTIyMSwJMTYsCXsweGU0LCAweGY1LCAweDUwLCAweDg1LCAweDUyLCAweDgyLCAweDg1LCAweDUxLCAweDgzLCAweGUwLCAweGZlLCAweDE0LCAweGI0LCAweDBjLCAweDAwLCAweDUwfSB9LAoteyAweDkyMzEsCTE2LAl7MHg1YiwgMHg5MCwgMHg5MiwgMHgzOSwgMHhmOCwgMHgyOCwgMHgyOCwgMHg3MywgMHgwMiwgMHg5MiwgMHg1ZCwgMHgwMiwgMHg5MiwgMHg1ZCwgMHgwMiwgMHg5Mn0gfSwKLXsgMHg5MjQxLAkxNiwJezB4NjcsIDB4MDIsIDB4OTIsIDB4NzEsIDB4MDIsIDB4OTIsIDB4NzEsIDB4MDIsIDB4OTIsIDB4NzEsIDB4MDIsIDB4OTIsIDB4ODUsIDB4MDIsIDB4OTIsIDB4NWR9IH0sCi17IDB4OTI1MSwJMTYsCXsweDAyLCAweDkyLCAweDdiLCAweDAyLCAweDkyLCAweDVkLCAweDAyLCAweDkyLCAweDhkLCAweDAyLCAweDkyLCAweDVkLCAweGVmLCAweDY0LCAweDAyLCAweDYwfSB9LAoteyAweDkyNjEsCTE2LAl7MHgyYiwgMHg3NSwgMHg1MCwgMHhmZiwgMHg4MCwgMHgyNiwgMHhlZiwgMHg2NCwgMHgwZSwgMHg2MCwgMHgyMSwgMHg3NSwgMHg1MCwgMHhmZiwgMHg4MCwgMHgxY30gfSwKLXsgMHg5MjcxLAkxNiwJezB4ZWYsIDB4NjQsIDB4MDMsIDB4NjAsIDB4MTcsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ODAsIDB4MTIsIDB4ZWYsIDB4NjQsIDB4MDMsIDB4NjAsIDB4MGQsIDB4NzV9IH0sCi17IDB4OTI4MSwJMTYsCXsweDUwLCAweGZmLCAweDgwLCAweDA4LCAweGVmLCAweDY0LCAweDA2LCAweDYwLCAweDAzLCAweDc1LCAweDUwLCAweGZmLCAweGU1LCAweDUwLCAweDYwLCAweDE1fSB9LAoteyAweDkyOTEsCTE2LAl7MHg5MCwgMHgwMSwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHhhMywgMHhlZSwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHg5OCwgMHg3ZCwgMHgwMiwgMHgxMn0gfSwKLXsgMHg5MmExLAkxNiwJezB4OTEsIDB4NmEsIDB4YWYsIDB4NTAsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4NTAsIDB4ODUsIDB4NTIsIDB4ODIsIDB4ODUsIDB4NTEsIDB4ODMsIDB4ZTAsIDB4MTR9IH0sCi17IDB4OTJiMSwJMTYsCXsweGI0LCAweDBmLCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDkzLCAweGNmLCAweDkwLCAweDkyLCAweGMwLCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyfSB9LAoteyAweDkyYzEsCTE2LAl7MHg5MiwgMHhlZCwgMHgwMiwgMHg5MiwgMHhmOSwgMHgwMiwgMHg5MywgMHgwNSwgMHgwMiwgMHg5MywgMHg1MywgMHgwMiwgMHg5MywgMHg1ZSwgMHgwMiwgMHg5M30gfSwKLXsgMHg5MmQxLAkxNiwJezB4NjksIDB4MDIsIDB4OTMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4N2YsIDB4MDIsIDB4OTMsIDB4OGEsIDB4MDIsIDB4OTMsIDB4OTUsIDB4MDIsIDB4OTMsIDB4YTB9IH0sCi17IDB4OTJlMSwJMTYsCXsweDAyLCAweDkzLCAweGE3LCAweDAyLCAweDkzLCAweGNmLCAweDAyLCAweDkzLCAweGIyLCAweDAyLCAweDkzLCAweGJkLCAweGFmLCAweDU2LCAweGFlLCAweDU1fSB9LAoteyAweDkyZjEsCTE2LAl7MHgxMiwgMHg4NCwgMHg0MSwgMHg4ZiwgMHg1MCwgMHgwMiwgMHg5MywgMHhkMiwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4NSwgMHg2MSwgMHg4Zn0gfSwKLXsgMHg5MzAxLAkxNiwJezB4NTAsIDB4MDIsIDB4OTMsIDB4ZDIsIDB4ODUsIDB4NTUsIDB4NTMsIDB4ODUsIDB4NTYsIDB4NTQsIDB4ZTUsIDB4NTQsIDB4MjQsIDB4MDEsIDB4ZmYsIDB4ZTR9IH0sCi17IDB4OTMxMSwJMTYsCXsweDM1LCAweDUzLCAweGZlLCAweDEyLCAweDg2LCAweGJlLCAweGFmLCAweDU0LCAweGFlLCAweDUzLCAweDEyLCAweDg3LCAweDUxLCAweDhmLCAweDUwLCAweGVmfSB9LAoteyAweDkzMjEsCTE2LAl7MHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHg5MywgMHhkMiwgMHhhZiwgMHg1NCwgMHhhZSwgMHg1MywgMHgxMiwgMHg4NywgMHhhNiwgMHg4ZiwgMHg1MH0gfSwKLXsgMHg5MzMxLAkxNiwJezB4ZTUsIDB4NTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OTMsIDB4ZDIsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTMsIDB4ODMsIDB4ZTAsIDB4NzUsIDB4ZjB9IH0sCi17IDB4OTM0MSwJMTYsCXsweDBkLCAweGE0LCAweDI0LCAweGY0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGFmLCAweDgyLCAweGZlLCAweDEyLCAweDg3LCAweGE2LCAweDAyfSB9LAoteyAweDkzNTEsCTE2LAl7MHg5MywgMHhkMiwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4YywgMHhhNiwgMHg4ZiwgMHg1MCwgMHg4MCwgMHg3NCwgMHhhZiwgMHg1NiwgMHhhZX0gfSwKLXsgMHg5MzYxLAkxNiwJezB4NTUsIDB4MTIsIDB4OGQsIDB4MjcsIDB4OGYsIDB4NTAsIDB4ODAsIDB4NjksIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4OGQsIDB4NzAsIDB4OGZ9IH0sCi17IDB4OTM3MSwJMTYsCXsweDUwLCAweDgwLCAweDVlLCAweGFmLCAweDRmLCAweGFlLCAweDRlLCAweDEyLCAweDhlLCAweDk5LCAweDhmLCAweDUwLCAweDgwLCAweDUzLCAweGFmLCAweDU2fSB9LAoteyAweDkzODEsCTE2LAl7MHhhZSwgMHg1NSwgMHgxMiwgMHg4YiwgMHhiZCwgMHg4ZiwgMHg1MCwgMHg4MCwgMHg0OCwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4NiwgMHgyZH0gfSwKLXsgMHg5MzkxLAkxNiwJezB4OGYsIDB4NTAsIDB4ODAsIDB4M2QsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4OGMsIDB4NjIsIDB4OGYsIDB4NTAsIDB4ODAsIDB4MzIsIDB4MTJ9IH0sCi17IDB4OTNhMSwJMTYsCXsweDkxLCAweGI5LCAweDhmLCAweDUwLCAweDgwLCAweDJiLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhkLCAweGI1LCAweDhmLCAweDUwLCAweDgwfSB9LAoteyAweDkzYjEsCTE2LAl7MHgyMCwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4ZCwgMHhkNiwgMHg4ZiwgMHg1MCwgMHg4MCwgMHgxNSwgMHhhZiwgMHg0ZiwgMHhhZSwgMHg0ZX0gfSwKLXsgMHg5M2MxLAkxNiwJezB4N2MsIDB4MDIsIDB4N2QsIDB4YWYsIDB4N2IsIDB4NDAsIDB4MTIsIDB4OTEsIDB4MzcsIDB4ZTQsIDB4ZjUsIDB4NTAsIDB4ODAsIDB4MDMsIDB4NzUsIDB4NTB9IH0sCi17IDB4OTNkMSwJMTYsCXsweGZmLCAweGU1LCAweDUwLCAweDYwLCAweDFkLCAweDkwLCAweDAxLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDg1LCAweDUyLCAweDgyLCAweDg1LCAweDUxfSB9LAoteyAweDkzZTEsCTE2LAl7MHg4MywgMHhlMCwgMHg5MCwgMHgwMSwgMHg5OSwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHg5OCwgMHg3ZCwgMHgwMiwgMHgxMiwgMHg5MSwgMHg2YSwgMHhhZn0gfSwKLXsgMHg5M2YxLAkxNiwJezB4NTAsIDB4MjIsIDB4ODUsIDB4NTIsIDB4ODIsIDB4ODUsIDB4NTEsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTQsIDB4MjQsIDB4ZmEsIDB4NTAsIDB4MDQsIDB4MjR9IH0sCi17IDB4OTQwMSwJMTYsCXsweGZlLCAweDcwLCAweDFmLCAweDkwLCAweDAxLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDg1LCAweDU2LCAweDgyLCAweDg1fSB9LAoteyAweDk0MTEsCTE2LAl7MHg1NSwgMHg4MywgMHhlMCwgMHg5MCwgMHgwMSwgMHg5YSwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHg5OCwgMHg3ZCwgMHgwMywgMHgxMiwgMHg5MSwgMHg2YX0gfSwKLXsgMHg5NDIxLAk0LAl7MHg4ZiwgMHg1MCwgMHhhZiwgMHg1MH0gfSwKLXsgMHg5NDI1LAkxLAl7MHgyMn0gfSwKLXsgMHg5NDI2LAk4LAl7MHg4ZiwgMHg1MSwgMHg4ZSwgMHg1MCwgMHg4ZCwgMHg0ZiwgMHg4YywgMHg0ZX0gfSwKLXsgMHg5NDJlLAkxNiwJezB4NzUsIDB4NTgsIDB4MDEsIDB4NzUsIDB4NTksIDB4OWMsIDB4ZTQsIDB4ZjUsIDB4NTcsIDB4YWYsIDB4NTMsIDB4MTUsIDB4NTMsIDB4ZWYsIDB4NzAsIDB4MDN9IH0sCi17IDB4OTQzZSwJMTYsCXsweDAyLCAweDk0LCAweGM0LCAweGFmLCAweDUyLCAweGU0LCAweGZjLCAweGZkLCAweGZlLCAweGY4LCAweGY5LCAweGZhLCAweGFiLCAweDA3LCAweGFmLCAweDUxfSB9LAoteyAweDk0NGUsCTE2LAl7MHhhZSwgMHg1MCwgMHhhZCwgMHg0ZiwgMHhhYywgMHg0ZSwgMHgxMiwgMHhhMywgMHgyMSwgMHhhZiwgMHgwMywgMHg4ZiwgMHg1NiwgMHhhZiwgMHg1MSwgMHhhZX0gfSwKLXsgMHg5NDVlLAkxNiwJezB4NTAsIDB4YWQsIDB4NGYsIDB4YWMsIDB4NGUsIDB4YzAsIDB4MDQsIDB4YzAsIDB4MDUsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4YWYsIDB4NTIsIDB4ZTR9IH0sCi17IDB4OTQ2ZSwJMTYsCXsweGZjLCAweGZkLCAweGZlLCAweGY4LCAweGY5LCAweGZhLCAweGFiLCAweDA3LCAweGQwLCAweDA3LCAweGQwLCAweDA2LCAweGQwLCAweDA1LCAweGQwLCAweDA0fSB9LAoteyAweDk0N2UsCTE2LAl7MHgxMiwgMHhhMywgMHgyMSwgMHg4ZiwgMHg1MSwgMHg4ZSwgMHg1MCwgMHg4ZCwgMHg0ZiwgMHg4YywgMHg0ZSwgMHhlNSwgMHg1NiwgMHgyNCwgMHgzMCwgMHhmNX0gfSwKLXsgMHg5NDhlLAkxNiwJezB4NTYsIDB4ZDMsIDB4OTQsIDB4MzksIDB4NDAsIDB4MDYsIDB4NzQsIDB4MDcsIDB4MjUsIDB4NTYsIDB4ZjUsIDB4NTYsIDB4MDUsIDB4NTksIDB4ZTUsIDB4NTl9IH0sCi17IDB4OTQ5ZSwJMTYsCXsweGFlLCAweDU4LCAweDcwLCAweDAyLCAweDA1LCAweDU4LCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU0LCAweGYwLCAweDA1LCAweDU5LCAweGU1fSB9LAoteyAweDk0YWUsCTE2LAl7MHg1OSwgMHhhZSwgMHg1OCwgMHg3MCwgMHgwMiwgMHgwNSwgMHg1OCwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHg1NiwgMHhmMCwgMHgwNX0gfSwKLXsgMHg5NGJlLAkxNiwJezB4NTcsIDB4MDUsIDB4NTcsIDB4MDIsIDB4OTQsIDB4MzcsIDB4ZTUsIDB4NTksIDB4MTUsIDB4NTksIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTgsIDB4YWYsIDB4NTd9IH0sCi17IDB4OTRjZSwJMTYsCXsweDE1LCAweDU3LCAweGVmLCAweDYwLCAweDIzLCAweGU1LCAweDU5LCAweDE1LCAweDU5LCAweGFlLCAweDU4LCAweDcwLCAweDAyLCAweDE1LCAweDU4LCAweGY1fSB9LAoteyAweDk0ZGUsCTE2LAl7MHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmZiwgMHgwNSwgMHg1NSwgMHhlNSwgMHg1NSwgMHhhYywgMHg1NCwgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NCwgMHgxNH0gfSwKLXsgMHg5NGVlLAk4LAl7MHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg4MCwgMHhkNn0gfSwKLXsgMHg5NGY2LAkxLAl7MHgyMn0gfSwKLXsgMHg5NGY3LAkxNiwJezB4ZTQsIDB4OTAsIDB4MDEsIDB4YzksIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4Y2EsIDB4OTAsIDB4MDEsIDB4YmUsIDB4ZWUsIDB4ZjAsIDB4YTMsIDB4ZWZ9IH0sCi17IDB4OTUwNywJMTAsCXsweGYwLCAweDkwLCAweDAxLCAweGMyLCAweGVlLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDIyfSB9LAoteyAweDk1MTEsCTE2LAl7MHhhYSwgMHgwNywgMHhhOSwgMHgwNSwgMHg5MCwgMHgwMSwgMHhjOSwgMHhlMCwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2MSwgMHhhYywgMHgwMiwgMHg3NH0gfSwKLXsgMHg5NTIxLAkxNiwJezB4MDEsIDB4N2UsIDB4MDAsIDB4YTgsIDB4MDQsIDB4MDgsIDB4ODAsIDB4MDUsIDB4YzMsIDB4MzMsIDB4Y2UsIDB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmZ9IH0sCi17IDB4OTUzMSwJMTYsCXsweGU0LCAweGVmLCAweDU1LCAweDM0LCAweDYwLCAweDQ1LCAweGVhLCAweDA0LCAweGZmLCAweDkwLCAweDAxLCAweGMyLCAweGUwLCAweGZjLCAweGEzLCAweGUwfSB9LAoteyAweDk1NDEsCTE2LAl7MHhmZCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHhhMywgMHhlOSwgMHhmMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhhM30gfSwKLXsgMHg5NTUxLAkxNiwJezB4ZWIsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzIsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDMsIDB4MTIsIDB4YTIsIDB4ODEsIDB4ZmMsIDB4ZDMsIDB4ZTUsIDB4ZjB9IH0sCi17IDB4OTU2MSwJMTYsCXsweDk0LCAweDg3LCAweGVjLCAweDk0LCAweDAyLCAweDQwLCAweDBhLCAweDkwLCAweDAxLCAweGMyLCAweDc0LCAweDAxLCAweGYwLCAweGEzLCAweDc0LCAweGNhfSB9LAoteyAweDk1NzEsCTE2LAl7MHhmMCwgMHhjMiwgMHhhZiwgMHg5MCwgMHgwMSwgMHhjOSwgMHhlMCwgMHgwNCwgMHhmMCwgMHhkMiwgMHhhZiwgMHg3ZiwgMHgwMSwgMHgyMiwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg5NTgxLAkxLAl7MHgyMn0gfSwKLXsgMHg5NTgyLAkxNiwJezB4OTAsIDB4MDEsIDB4YzksIDB4ZTAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4NTUsIDB4OTAsIDB4MDEsIDB4YmUsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTB9IH0sCi17IDB4OTU5MiwJMTYsCXsweGFhLCAweDA0LCAweGY5LCAweDdiLCAweDAxLCAweGMwLCAweDAzLCAweGMwLCAweDAyLCAweGMwLCAweDAxLCAweGFhLCAweDA2LCAweGE5LCAweDA3LCAweGE4fSB9LAoteyAweDk1YTIsCTE2LAl7MHgwMSwgMHhhYywgMHgwMiwgMHhhZCwgMHgwMywgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMywgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwMywgMHgxMn0gfSwKLXsgMHg5NWIyLAkxNiwJezB4YTIsIDB4MTIsIDB4OTAsIDB4MDEsIDB4YmUsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDMsIDB4MTIsIDB4YTIsIDB4ODEsIDB4ZmMsIDB4ZDMsIDB4ZTUsIDB4ZjB9IH0sCi17IDB4OTVjMiwJMTYsCXsweDk0LCAweDg3LCAweGVjLCAweDk0LCAweDAyLCAweDQwLCAweDBhLCAweDkwLCAweDAxLCAweGJlLCAweDc0LCAweDAxLCAweGYwLCAweGEzLCAweDc0LCAweGNhfSB9LAoteyAweDk1ZDIsCTE2LAl7MHhmMCwgMHhjMiwgMHhhZiwgMHg5MCwgMHgwMSwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmMCwgMHhkMiwgMHhhZiwgMHg3ZiwgMHgwMSwgMHgyMiwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg5NWUyLAkxLAl7MHgyMn0gfSwKLXsgMHg5NWUzLAkxNiwJezB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NzMsIDB4N2UsIDB4N2IsIDB4N2YsIDB4ODAsIDB4NzUsIDB4NTMsIDB4N2IsIDB4NzUsIDB4NTR9IH0sCi17IDB4OTVmMywJMTYsCXsweDgwLCAweGU1LCAweDU0LCAweDI0LCAweDAxLCAweGZmLCAweGU0LCAweDM1LCAweDUzLCAweGE5LCAweDA3LCAweDdiLCAweDAxLCAweDhiLCAweDU1LCAweGY1fSB9LAoteyAweDk2MDMsCTE2LAl7MHg1NiwgMHg4OSwgMHg1NywgMHhmZSwgMHgxMiwgMHg5NSwgMHg4MiwgMHhlZiwgMHg2MCwgMHg1MCwgMHhhYiwgMHg1NSwgMHhhYSwgMHg1NiwgMHhhOSwgMHg1N30gfSwKLXsgMHg5NjEzLAkxNiwJezB4MTIsIDB4YTIsIDB4M2IsIDB4MTQsIDB4ZmYsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4NTQsIDB4YjQsIDB4MDIsIDB4MTYsIDB4YzIsIDB4YWZ9IH0sCi17IDB4OTYyMywJMTYsCXsweGVmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAxLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweDQ0fSB9LAoteyAweDk2MzMsCTE2LAl7MHgwNCwgMHhmMCwgMHhkMiwgMHhhZiwgMHg3NCwgMHgwMSwgMHg3ZSwgMHgwMCwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZX0gfSwKLXsgMHg5NjQzLAkxNiwJezB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZTQsIDB4ZWYsIDB4NTUsIDB4MzQsIDB4NjAsIDB4MGYsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTN9IH0sCi17IDB4OTY1MywJMTAsCXsweDgzLCAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA0LCAweGYwfSB9LAoteyAweDk2NWQsCTEsCXsweDIyfSB9LAoteyAweDk2NWUsCTE2LAl7MHgxMiwgMHg5NSwgMHhlMywgMHhlNCwgMHhmNSwgMHg0ZSwgMHg3NCwgMHgzYSwgMHgyNSwgMHg0ZSwgMHhmOCwgMHhlNiwgMHg1NCwgMHhmMCwgMHhmNSwgMHg0Zn0gfSwKLXsgMHg5NjZlLAkxNiwJezB4NzQsIDB4YzUsIDB4MjUsIDB4NGUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjUsIDB4NGYsIDB4ZmYsIDB4YzR9IH0sCi17IDB4OTY3ZSwJMTYsCXsweDU0LCAweDBmLCAweGY1LCAweDUwLCAweDYwLCAweDIyLCAweDc0LCAweGM1LCAweDI1LCAweDRlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAxLCAweGY1fSB9LAoteyAweDk2OGUsCTE2LAl7MHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMSwgMHhlNSwgMHg0ZiwgMHg0NSwgMHg1MCwgMHhmYiwgMHgxMiwgMHg5NSwgMHgxMX0gfSwKLXsgMHg5NjllLAkxNiwJezB4ZWYsIDB4NzAsIDB4MDUsIDB4MTIsIDB4OTUsIDB4ZTMsIDB4ODAsIDB4ZWMsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDB9IH0sCi17IDB4OTZhZSwJMTYsCXsweGI1LCAweDEyLCAweDk1LCAweGUzLCAweGU1LCAweDNlLCAweDYwLCAweDQ4LCAweGU0LCAweGY1LCAweDRlLCAweGFmLCAweDRlLCAweDc0LCAweDAxLCAweGE4fSB9LAoteyAweDk2YmUsCTE2LAl7MHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNSwgMHg0ZiwgMHg1NSwgMHgzZSwgMHg2MCwgMHgyOSwgMHhlNSwgMHg0ZX0gfSwKLXsgMHg5NmNlLAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTZ9IH0sCi17IDB4OTZkZSwJMTYsCXsweDE2LCAweGFmLCAweDRlLCAweDdkLCAweDA0LCAweDdiLCAweDgwLCAweDEyLCAweDk1LCAweDExLCAweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzfSB9LAoteyAweDk2ZWUsCTE2LAl7MHg4MCwgMHhlZiwgMHhlNSwgMHg0ZiwgMHhmNCwgMHg1MiwgMHgzZSwgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHhiYn0gfSwKLXsgMHg5NmZlLAkxNiwJezB4OTAsIDB4MDMsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OTcsIDB4ZGYsIDB4NzQsIDB4MTksIDB4ZjAsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTR9IH0sCi17IDB4OTcwZSwJMTYsCXsweDAxLCAweDQwLCAweDBkLCAweDkwLCAweDIwLCAweDc4LCAweGUwLCAweDU0LCAweDBmLCAweDc1LCAweDUxLCAweDAwLCAweGY1LCAweDUyLCAweDgwLCAweDA5fSB9LAoteyAweDk3MWUsCTE2LAl7MHg3ZiwgMHgwMiwgMHgxMiwgMHgxMSwgMHgyNywgMHg4ZSwgMHg1MSwgMHg4ZiwgMHg1MiwgMHhjMywgMHhlNSwgMHg1MSwgMHg2NCwgMHg4MCwgMHg5NCwgMHg4MH0gfSwKLXsgMHg5NzJlLAkxNiwJezB4NDAsIDB4ZGEsIDB4OTAsIDB4MDEsIDB4YmMsIDB4ZTAsIDB4NjUsIDB4NTIsIDB4ZjAsIDB4NjAsIDB4MzcsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4YWYsIDB4NGV9IH0sCi17IDB4OTczZSwJMTYsCXsweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY1LCAweDRmLCAweDkwLCAweDAxLCAweGJjfSB9LAoteyAweDk3NGUsCTE2LAl7MHhlMCwgMHg1NSwgMHg0ZiwgMHg2MCwgMHgxNCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwOCwgMHhlNSwgMHg0ZiwgMHg1NSwgMHg1MiwgMHhmYiwgMHgxMiwgMHg5NX0gfSwKLXsgMHg5NzVlLAkxNiwJezB4MTEsIDB4ZWYsIDB4NzAsIDB4MDUsIDB4MTIsIDB4OTUsIDB4ZTMsIDB4ODAsIDB4ZWMsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4YzMsIDB4OTQsIDB4MDR9IH0sCi17IDB4OTc2ZSwJMTYsCXsweDQwLCAweGNjLCAweDkwLCAweDAxLCAweGJjLCAweGU1LCAweDUyLCAweGYwLCAweGU0LCAweGY1LCAweDRlLCAweGMyLCAweGFmLCAweDc0LCAweDM2LCAweDI1fSB9LAoteyAweDk3N2UsCTE2LAl7MHg0ZSwgMHhmOCwgMHhlNiwgMHhmNSwgMHg0ZiwgMHhlNCwgMHhmNiwgMHhkMiwgMHhhZiwgMHg1MywgMHg0ZiwgMHgxZSwgMHhlNSwgMHg0ZiwgMHg2MCwgMHgxMX0gfSwKLXsgMHg5NzhlLAkxNiwJezB4YWYsIDB4NGUsIDB4N2QsIDB4MDIsIDB4YWIsIDB4NGYsIDB4MTIsIDB4OTUsIDB4MTEsIDB4ZWYsIDB4NzAsIDB4MDUsIDB4MTIsIDB4OTUsIDB4ZTMsIDB4ODB9IH0sCi17IDB4OTc5ZSwJMTYsCXsweGVmLCAweDc0LCAweDJkLCAweDI1LCAweDRlLCAweGY4LCAweGU2LCAweGY1LCAweDRmLCAweDc0LCAweGZjLCAweDI1LCAweDRlLCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDk3YWUsCTE2LAl7MHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlMCwgMHg2NSwgMHg0ZiwgMHg2MCwgMHgxMSwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwNCwgMHhhYiwgMHg0ZiwgMHgxMn0gfSwKLXsgMHg5N2JlLAkxNiwJezB4OTUsIDB4MTEsIDB4ZWYsIDB4NzAsIDB4MDUsIDB4MTIsIDB4OTUsIDB4ZTMsIDB4ODAsIDB4ZWYsIDB4NzQsIDB4ZmMsIDB4MjUsIDB4NGUsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OTdjZSwJMTYsCXsweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGU1LCAweDRmLCAweGYwLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGMzLCAweDk0LCAweDA0LCAweDQwfSB9LAoteyAweDk3ZGUsCTQsCXsweDlhLCAweDEyLCAweDk1LCAweGUzfSB9LAoteyAweDk3ZTIsCTEsCXsweDIyfSB9LAoteyAweDk3ZTMsCTEyLAl7MHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg2NywgMHgwMiwgMHg5OCwgMHgyYX0gfSwKLXsgMHg5N2VmLAkxNiwJezB4MDIsIDB4MDUsIDB4YWQsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjJ9IH0sCi17IDB4OTdmZiwJMTYsCXsweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzfSB9LAoteyAweDk4MGYsCTE2LAl7MHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZn0gfSwKLXsgMHg5ODFmLAkxNiwJezB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4OTgsIDB4NmYsIDB4ZTQsIDB4N2V9IH0sCi17IDB4OTgyZiwJMTYsCXsweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzfSB9LAoteyAweDk4M2YsCTE2LAl7MHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhM30gfSwKLXsgMHg5ODRmLAkxNiwJezB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2F9IH0sCi17IDB4OTg1ZiwJMTYsCXsweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlfSB9LAoteyAweDk4NmYsCTE2LAl7MHg2MCwgMHgyNCwgMHgwMiwgMHg4YSwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg4MSwgMHg4MiwgMHg4NCwgMHg4OH0gfSwKLXsgMHg5ODdmLAkxNiwJezB4OTAsIDB4YTAsIDB4YzAsIDB4YzEsIDB4YzIsIDB4YzQsIDB4YzgsIDB4ZDAsIDB4ZTAsIDB4ZTEsIDB4ZTIsIDB4ZTQsIDB4ZTgsIDB4ZjAsIDB4ZjEsIDB4ZjJ9IH0sCi17IDB4OTg4ZiwJOCwJezB4ZjQsIDB4ZjgsIDB4ZjksIDB4ZmEsIDB4ZmMsIDB4ZmQsIDB4ZmUsIDB4ZmZ9IH0sCi17IDB4OTg5NywJMSwJezB4MDB9IH0sCi17IDB4OTg5OCwJOCwJezB4OGIsIDB4NTksIDB4OGEsIDB4NWEsIDB4ODksIDB4NWIsIDB4OGQsIDB4NWN9IH0sCi17IDB4OThhMCwJMTYsCXsweGU0LCAweGY1LCAweDVkLCAweGY1LCAweDVlLCAweGFmLCAweDVjLCAweDE1LCAweDVjLCAweGVmLCAweDYwLCAweDM2LCAweGFiLCAweDU5LCAweDA1LCAweDVifSB9LAoteyAweDk4YjAsCTE2LAl7MHhlNSwgMHg1YiwgMHhhYSwgMHg1YSwgMHg3MCwgMHgwMiwgMHgwNSwgMHg1YSwgMHgxNCwgMHhmOSwgMHgxMiwgMHhhMiwgMHgzYiwgMHhmZiwgMHhlNSwgMHg1ZH0gfSwKLXsgMHg5OGMwLAkxNiwJezB4ZTUsIDB4NWUsIDB4NmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4NzQsIDB4OTUsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZWUsIDB4MzR9IH0sCi17IDB4OThkMCwJMTYsCXsweDllLCAweGY1LCAweDgzLCAweGU1LCAweDVkLCAweGZmLCAweGU0LCAweDkzLCAweGY1LCAweDVkLCAweDc0LCAweDAxLCAweDkzLCAweDZmLCAweGY1LCAweDVlfSB9LAoteyAweDk4ZTAsCTYsCXsweDgwLCAweGMzLCAweGFlLCAweDVkLCAweGFmLCAweDVlfSB9LAoteyAweDk4ZTYsCTEsCXsweDIyfSB9LAoteyAweDk4ZTcsCTExLAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgxOH0gfSwKLXsgMHg5OGYyLAkxNiwJezB4OTAsIDB4MjAsIDB4NjAsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4ZmUsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4OTAsIDB4MjAsIDB4MDIsIDB4ZTAsIDB4ZmYsIDB4ZWV9IH0sCi17IDB4OTkwMiwJMTYsCXsweDMwLCAweGUxLCAweDA1LCAweDkwLCAweDIwLCAweDBhLCAweGUwLCAweGZmLCAweGVlLCAweDMwLCAweGUyLCAweDA1LCAweDkwLCAweDIwLCAweDEyLCAweGUwfSB9LAoteyAweDk5MTIsCTE2LAl7MHhmZiwgMHhlZSwgMHgzMCwgMHhlMywgMHgwNSwgMHg5MCwgMHgyMCwgMHgxYSwgMHhlMCwgMHhmZiwgMHg5MCwgMHgwMSwgMHhjNCwgMHhlMCwgMHhiNSwgMHgxZX0gfSwKLXsgMHg5OTIyLAkxMCwJezB4MDQsIDB4ZTQsIDB4ZjAsIDB4ODAsIDB4MDUsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZWUsIDB4ZjB9IH0sCi17IDB4OTkyYywJOSwJezB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4OTkzNSwJMiwJezB4YTksIDB4MDN9IH0sCi17IDB4OTkzNywJMTYsCXsweGVmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFiLCAweDgyLCAweGZhLCAweGU1fSB9LAoteyAweDk5NDcsCTE2LAl7MHg1YywgMHg0NSwgMHg1ZCwgMHhmNSwgMHg1ZSwgMHhlOSwgMHg2MCwgMHgxNCwgMHg4YSwgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg5OTU3LAkxNiwJezB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NGQsIDB4ZjAsIDB4ZTQsIDB4ZmUsIDB4ODAsIDB4MTMsIDB4ZWIsIDB4MjQsIDB4MDQsIDB4ZjV9IH0sCi17IDB4OTk2NywJMTYsCXsweDgyLCAweGU0LCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGVkLCAweGY0LCAweGZjLCAweGVmLCAweDVjLCAweGYwLCAweGFlLCAweDVlLCAweGVifSB9LAoteyAweDk5NzcsCTE2LAl7MHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NSwgMHg1ZSwgMHhmYywgMHhiNSwgMHgwNiwgMHgwMywgMHhhZn0gfSwKLXsgMHg5OTg3LAkxNiwJezB4MDUsIDB4MjIsIDB4ZTUsIDB4NWMsIDB4NWMsIDB4ZmUsIDB4ZTUsIDB4NWQsIDB4NWMsIDB4ZmQsIDB4ZTksIDB4NjAsIDB4MTYsIDB4ZWUsIDB4NzAsIDB4MDR9IH0sCi17IDB4OTk5NywJMTYsCXsweDdmLCAweDAxLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweGFlLCAweDA3LCAweGVkLCAweDcwLCAweDA0LCAweDdmLCAweDAxLCAweDgwLCAweDAyLCAweDdmfSB9LAoteyAweDk5YTcsCTE2LAl7MHgwMCwgMHhhZCwgMHgwNywgMHhlZSwgMHg2MCwgMHgwMywgMHhhZiwgMHg1YywgMHgyMiwgMHhlZCwgMHg2MCwgMHgwMywgMHhhZiwgMHg1ZCwgMHgyMiwgMHg3Zn0gfSwKLXsgMHg5OWI3LAkxLAl7MHgwMH0gfSwKLXsgMHg5OWI4LAkxLAl7MHgyMn0gfSwKLXsgMHg5OWI5LAkxNiwJezB4NzUsIDB4NTUsIDB4MDIsIDB4NzUsIDB4NTYsIDB4YjAsIDB4OTAsIDB4MDMsIDB4MzUsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4ODUsIDB4NTYsIDB4ODIsIDB4ODV9IH0sCi17IDB4OTljOSwJMTYsCXsweDU1LCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweDkwLCAweDAzLCAweDM3LCAweGYwLCAweDg1LCAweDU2LCAweDgyLCAweDg1LCAweDU1LCAweDgzLCAweGUwfSB9LAoteyAweDk5ZDksCTE2LAl7MHg5MCwgMHgwMywgMHgzNiwgMHhmMCwgMHg5MCwgMHgwMywgMHgzOCwgMHg3NCwgMHhmZiwgMHhmMCwgMHg3NSwgMHg1NywgMHgwMywgMHg3NSwgMHg1OCwgMHgzOX0gfSwKLXsgMHg5OWU5LAkxNiwJezB4ZWYsIDB4MTQsIDB4YjQsIDB4MGIsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4OWUsIDB4NWQsIDB4OTAsIDB4OTksIDB4ZmEsIDB4ZjgsIDB4MjgsIDB4Mjh9IH0sCi17IDB4OTlmOSwJMTYsCXsweDczLCAweDAyLCAweDlhLCAweDFiLCAweDAyLCAweDlhLCAweGJhLCAweDAyLCAweDliLCAweGJmLCAweDAyLCAweDliLCAweGRlLCAweDAyLCAweDliLCAweGRlfSB9LAoteyAweDlhMDksCTE2LAl7MHgwMiwgMHg5YywgMHg5NCwgMHgwMiwgMHg5YywgMHhjZiwgMHgwMiwgMHg5YywgMHhmNCwgMHgwMiwgMHg5ZCwgMHhiMiwgMHgwMiwgMHg5ZCwgMHhlMiwgMHgwMn0gfSwKLXsgMHg5YTE5LAkxNiwJezB4OWUsIDB4MGUsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4OWEyOSwJMTYsCXsweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGY1LCAweDUzLCAweDhmLCAweDU0LCAweGU0LCAweGZmLCAweGU0LCAweGZlLCAweGVmLCAweDYwLCAweDEwLCAweDc0fSB9LAoteyAweDlhMzksCTE2LAl7MHg4YSwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNCwgMHhmNSwgMHg0ZiwgMHg4MCwgMHgwZCwgMHg3NH0gfSwKLXsgMHg5YTQ5LAkxNiwJezB4OGEsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NGYsIDB4ZTUsIDB4NTQsIDB4MjQsIDB4MDd9IH0sCi17IDB4OWE1OSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDUzLCAweGY1LCAweDgzLCAweGU1LCAweDRmLCAweGYwLCAweGUwLCAweGY1LCAweDUwLCAweDY1LCAweDRmLCAweDYwfSB9LAoteyAweDlhNjksCTE2LAl7MHgzOCwgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHhlNSwgMHg0ZSwgMHgwNCwgMHhmZCwgMHgwNSwgMHg1OCwgMHhlNSwgMHg1OCwgMHhhYSwgMHg1N30gfSwKLXsgMHg5YTc5LAkxNiwJezB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZWQsIDB4ZjAsIDB4MDUsIDB4NTgsIDB4ZTUsIDB4NTgsIDB4YWN9IH0sCi17IDB4OWE4OSwJMTYsCXsweDU3LCAweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGU1LCAweDRmLCAweGYwLCAweDg1LCAweDU4LCAweDgyfSB9LAoteyAweDlhOTksCTE2LAl7MHg4NSwgMHg1NywgMHg4MywgMHhlNSwgMHg1MCwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHgwZSwgMHhiZSwgMHgyNCwgMHg4ZiwgMHgwZiwgMHhlZiwgMHg2NH0gfSwKLXsgMHg5YWE5LAkxNiwJezB4MDIsIDB4NzAsIDB4ODcsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4NjQsIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OWEsIDB4MWUsIDB4MDIsIDB4OWV9IH0sCi17IDB4OWFiOSwJMTYsCXsweDYzLCAweGU0LCAweGY1LCAweDRlLCAweGFmLCAweDRlLCAweGU0LCAweGZkLCAweDEyLCAweDgzLCAweDVhLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGQzfSB9LAoteyAweDlhYzksCTE2LAl7MHg5NCwgMHgwMywgMHg0MCwgMHhmMCwgMHg5MCwgMHgwMCwgMHgwNCwgMHg3NCwgMHg5OCwgMHhmMCwgMHhhMywgMHg3NCwgMHhlNywgMHhmMCwgMHhlNCwgMHhmNX0gfSwKLXsgMHg5YWQ5LAkxNiwJezB4NTAsIDB4N2UsIDB4MjAsIDB4N2YsIDB4MDAsIDB4NzUsIDB4NTMsIDB4MjAsIDB4NzUsIDB4NTQsIDB4MDAsIDB4ZjUsIDB4NGUsIDB4YWYsIDB4NGUsIDB4NzR9IH0sCi17IDB4OWFlOSwJMTYsCXsweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY1LCAweDRmLCAweDkwLCAweDAxLCAweGM0LCAweGYwfSB9LAoteyAweDlhZjksCTE2LAl7MHg5MCwgMHgwMSwgMHhjMCwgMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwYSwgMHhmMCwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1MywgMHg4MywgMHhhM30gfSwKLXsgMHg5YjA5LAkxNiwJezB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZTAsIDB4YjUsIDB4NGYsIDB4MzQsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTAsIDB4NzAsIDB4MDJ9IH0sCi17IDB4OWIxOSwJMTYsCXsweGEzLCAweGUwLCAweDcwLCAweGVmLCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweGU1LCAweDRlLCAweDA0LCAweGZmLCAweDA1LCAweDU4LCAweGU1LCAweDU4fSB9LAoteyAweDliMjksCTE2LAl7MHhhYywgMHg1NywgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg4NSwgMHg1OCwgMHg4Mn0gfSwKLXsgMHg5YjM5LAkxNiwJezB4ODUsIDB4NTcsIDB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZjAsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4OTAsIDB4MDF9IH0sCi17IDB4OWI0OSwJMTYsCXsweGM0LCAweGUwLCAweGZmLCAweDYwLCAweDM3LCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweGU1LCAweDRlLCAweDA0LCAweGZlLCAweDA1LCAweDU4fSB9LAoteyAweDliNTksCTE2LAl7MHhlNSwgMHg1OCwgMHhhYywgMHg1NywgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZSwgMHhmMCwgMHgwNX0gfSwKLXsgMHg5YjY5LAkxNiwJezB4NTgsIDB4ZTUsIDB4NTgsIDB4YWMsIDB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjB9IH0sCi17IDB4OWI3OSwJMTYsCXsweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGU1LCAweDRmLCAweGYwLCAweDc1LCAweDUwLCAweGZmLCAweGU1LCAweDUwLCAweDcwLCAweDE2fSB9LAoteyAweDliODksCTE2LAl7MHg3NCwgMHgwOCwgMHgyNSwgMHg1NCwgMHhmNSwgMHg1NCwgMHhlNCwgMHgzNSwgMHg1MywgMHhmNSwgMHg1MywgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHg2NH0gfSwKLXsgMHg5Yjk5LAkxNiwJezB4MDQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OWEsIDB4ZTYsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4ODMsIDB4NWF9IH0sCi17IDB4OWJhOSwJMTYsCXsweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGQzLCAweDk0LCAweDAzLCAweDQwLCAweGYwLCAweDkwLCAweDAwLCAweDA0LCAweDc0LCAweDEzLCAweGYwLCAweGEzfSB9LAoteyAweDliYjksCTE2LAl7MHg3NCwgMHgxMiwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NSwgMHg1NSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmZiwgMHg3NH0gfSwKLXsgMHg5YmM5LAkxNiwJezB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4OTAsIDB4MDIsIDB4ZjcsIDB4ZjAsIDB4OTAsIDB4MDF9IH0sCi17IDB4OWJkOSwJMTYsCXsweGM0LCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweDkwLCAweDAxLCAweGMwLCAweDc0LCAweDAzLCAweGYwLCAweGEzLCAweDc0LCAweGU4LCAweGYwLCAweGU0fSB9LAoteyAweDliZTksCTE2LAl7MHhmNSwgMHg1MCwgMHg5MCwgMHgwMiwgMHhmNywgMHhlMCwgMHhmZiwgMHg5MCwgMHgwMSwgMHhjNCwgMHhlMCwgMHhiNSwgMHgwNywgMHgxOSwgMHg5MCwgMHgwMX0gfSwKLXsgMHg5YmY5LAkxNiwJezB4YzAsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NzAsIDB4ZWEsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODV9IH0sCi17IDB4OWMwOSwJMTYsCXsweDU3LCAweDgzLCAweDc0LCAweGZmLCAweGYwLCAweGY1LCAweDUwLCAweGU1LCAweDUwLCAweDYwLCAweDAzLCAweDAyLCAweDllLCAweDYzLCAweDkwLCAweDAxfSB9LAoteyAweDljMTksCTE2LAl7MHhjMCwgMHhmMCwgMHhhMywgMHg3NCwgMHg5NiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg3MCwgMHhmNn0gfSwKLXsgMHg5YzI5LAkxNiwJezB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MGQsIDB4OTAsIDB4MjAsIDB4NzgsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4NzUsIDB4NTEsIDB4MDB9IH0sCi17IDB4OWMzOSwJMTYsCXsweGY1LCAweDUyLCAweDgwLCAweDA5LCAweDdmLCAweDAyLCAweDEyLCAweDExLCAweDI3LCAweDhlLCAweDUxLCAweDhmLCAweDUyLCAweGMzLCAweGU1LCAweDUxfSB9LAoteyAweDljNDksCTE2LAl7MHg2NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHg0MCwgMHhkYSwgMHhlNSwgMHg1MiwgMHg1NCwgMHgwZiwgMHhmNSwgMHg1MCwgMHg5MCwgMHgwMiwgMHhmNywgMHhlMH0gfSwKLXsgMHg5YzU5LAkxNiwJezB4NTUsIDB4NTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4OGYsIDB4NGYsIDB4ODUsIDB4NTYsIDB4ODIsIDB4ODV9IH0sCi17IDB4OWM2OSwJMTYsCXsweDU1LCAweDgzLCAweGEzLCAweGUwLCAweGI0LCAweDA1LCAweDBjLCAweGU1LCAweDRmLCAweDcwLCAweDA0LCAweDdmLCAweDAxLCAweDgwLCAweDAyLCAweDdmfSB9LAoteyAweDljNzksCTE2LAl7MHgwMCwgMHg4ZiwgMHg0ZiwgMHhlNSwgMHg0ZiwgMHg3MCwgMHgwMywgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHg4NX0gfSwKLXsgMHg5Yzg5LAkxNiwJezB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4ZTUsIDB4NTAsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4ZTQsIDB4ZmYsIDB4ZmQsIDB4MTIsIDB4ODN9IH0sCi17IDB4OWM5OSwJMTYsCXsweDVhLCAweDdlLCAweDIwLCAweDdmLCAweDAwLCAweDc1LCAweDUzLCAweDIwLCAweDc1LCAweDU0LCAweDAwLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzfSB9LAoteyAweDljYTksCTE2LAl7MHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1MywgMHg4MywgMHg3NCwgMHgwMX0gfSwKLXsgMHg5Y2I5LAkxNiwJezB4ZjAsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTMsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4N2Z9IH0sCi17IDB4OWNjOSwJMTYsCXsweGYwLCAweGQyLCAweDA0LCAweDAyLCAweDllLCAweDYzLCAweGMyLCAweDA0LCAweDdlLCAweDIwLCAweDdmLCAweDAwLCAweDc1LCAweDUzLCAweDIwLCAweDc1fSB9LAoteyAweDljZDksCTE2LAl7MHg1NCwgMHgwMCwgMHhlNSwgMHg1NCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1MywgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNn0gfSwKLXsgMHg5Y2U5LAkxNiwJezB4ZjEsIDB4ZTQsIDB4ZmYsIDB4N2QsIDB4MDEsIDB4MTIsIDB4ODMsIDB4NWEsIDB4MDIsIDB4OWUsIDB4NjMsIDB4ZTQsIDB4ZjUsIDB4NTAsIDB4ZjUsIDB4NGV9IH0sCi17IDB4OWNmOSwJMTYsCXsweGFmLCAweDRlLCAweGU0LCAweGZkLCAweDEyLCAweDgzLCAweDVhLCAweGU1LCAweDRlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1fSB9LAoteyAweDlkMDksCTE2LAl7MHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmNSwgMHg1MywgMHg4ZiwgMHg1NCwgMHhmNSwgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNH0gfSwKLXsgMHg5ZDE5LAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmMsIDB4ZjAsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDEsIDB4N2J9IH0sCi17IDB4OWQyOSwJMTYsCXsweDAxLCAweDc1LCAweDVjLCAweDgwLCAweDc1LCAweDVkLCAweDQwLCAweDEyLCAweDk5LCAweDM1LCAweDhmLCAweDUwLCAweGU1LCAweDUwLCAweDcwLCAweDExfSB9LAoteyAweDlkMzksCTE2LAl7MHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMiwgMHg3YiwgMHgwMSwgMHg3NSwgMHg1YywgMHgxMCwgMHg3NSwgMHg1ZCwgMHgyMCwgMHgxMiwgMHg5OSwgMHgzNSwgMHg4Zn0gfSwKLXsgMHg5ZDQ5LAkxNiwJezB4NTAsIDB4ZTUsIDB4NTAsIDB4NzAsIDB4MTAsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDEsIDB4ZmIsIDB4NzUsIDB4NWMsIDB4ODAsIDB4NzUsIDB4NWQsIDB4NDB9IH0sCi17IDB4OWQ1OSwJMTYsCXsweDEyLCAweDk5LCAweDM1LCAweDhmLCAweDUwLCAweGU1LCAweDUwLCAweDcwLCAweDEwLCAweGFmLCAweDRlLCAweDdkLCAweDAyLCAweGZiLCAweDc1LCAweDVjfSB9LAoteyAweDlkNjksCTE2LAl7MHgxMCwgMHg3NSwgMHg1ZCwgMHgyMCwgMHgxMiwgMHg5OSwgMHgzNSwgMHg4ZiwgMHg1MCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YX0gfSwKLXsgMHg5ZDc5LAkxNiwJezB4ZTUsIDB4NTAsIDB4NjAsIDB4MjYsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4MDQsIDB4ZmYsIDB4MDUsIDB4NTgsIDB4ZTV9IH0sCi17IDB4OWQ4OSwJMTYsCXsweDU4LCAweGFjLCAweDU3LCAweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDg1LCAweDU4fSB9LAoteyAweDlkOTksCTE2LAl7MHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhlNSwgMHg1MCwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhkMywgMHg5NH0gfSwKLXsgMHg5ZGE5LAkxNiwJezB4MDMsIDB4NTAsIDB4MDMsIDB4MDIsIDB4OWMsIDB4ZjksIDB4MDIsIDB4OWUsIDB4NjMsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4NTksIDB4ZjAsIDB4YTMsIDB4ZjB9IH0sCi17IDB4OWRiOSwJMTYsCXsweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEwLCAweGYwLCAweGEzLCAweDc0LCAweDllLCAweGYwLCAweGEzLCAweDc0fSB9LAoteyAweDlkYzksCTE2LAl7MHg4NSwgMHhmMCwgMHg3ZSwgMHgwMywgMHg3ZiwgMHg1OSwgMHgxMiwgMHg4MSwgMHhkOSwgMHhlZiwgMHg2NCwgMHgwOCwgMHg3MCwgMHgwMywgMHgwMiwgMHg5ZX0gfSwKLXsgMHg5ZGQ5LAkxNiwJezB4NjMsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4NTksIDB4ZjAsIDB4YTMsIDB4ZjB9IH0sCi17IDB4OWRlOSwJMTYsCXsweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEwLCAweGYwLCAweGEzLCAweGU1LCAweDU3LCAweGYwLCAweGEzLCAweGU1fSB9LAoteyAweDlkZjksCTE2LAl7MHg1OCwgMHhmMCwgMHg3ZSwgMHgwMywgMHg3ZiwgMHg1OSwgMHgxMiwgMHgxOSwgMHhjMSwgMHhlZiwgMHg2NCwgMHgwOCwgMHg2MCwgMHg1YywgMHhlNCwgMHg5MH0gfSwKLXsgMHg5ZTA5LAkxNiwJezB4MDMsIDB4MzgsIDB4ZjAsIDB4ODAsIDB4NTUsIDB4ZTUsIDB4NTYsIDB4MjQsIDB4MDIsIDB4ZmYsIDB4ZTQsIDB4MzUsIDB4NTUsIDB4ZmEsIDB4YTksIDB4MDd9IH0sCi17IDB4OWUxOSwJMTYsCXsweDdiLCAweDAxLCAweDdkLCAweDEwLCAweDEyLCAweDk4LCAweDk4LCAweGVmLCAweDRlLCAweDcwLCAweDMyLCAweDkwLCAweDAzLCAweDU5LCAweGYwLCAweGEzfSB9LAoteyAweDllMjksCTE2LAl7MHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNSwgMHg1NiwgMHgyNCwgMHgwMiwgMHg5MH0gfSwKLXsgMHg5ZTM5LAkxNiwJezB4MDMsIDB4NjAsIDB4ZjAsIDB4ZTQsIDB4MzUsIDB4NTUsIDB4OTAsIDB4MDMsIDB4NWYsIDB4ZjAsIDB4N2UsIDB4MDMsIDB4N2YsIDB4NTksIDB4MTIsIDB4ODF9IH0sCi17IDB4OWU0OSwJMTYsCXsweGQ5LCAweGVmLCAweDY0LCAweDA4LCAweDYwLCAweDE0LCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweDgwLCAweDBkLCAweGU0LCAweDkwLCAweDAzfSB9LAoteyAweDllNTksCTE2LAl7MHgzOCwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHgwMywgMHgzOCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlNCwgMHhmMCwgMHhhM30gfSwKLXsgMHg5ZTY5LAkxNiwJezB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NzAsIDB4ZjYsIDB4N2UsIDB4MDMsIDB4N2Z9IH0sCi17IDB4OWU3OSwJMTEsCXsweDM1LCAweDdkLCAweDI0LCAweDEyLCAweDkxLCAweDZhLCAweGU0LCAweDkwLCAweDAyLCAweGFmLCAweGYwfSB9LAoteyAweDllODQsCTEsCXsweDIyfSB9LAoteyAweDllODUsCTE2LAl7MHhmZiwgMHhmZSwgMHhmYywgMHhmOCwgMHhmMCwgMHhlMCwgMHhjMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHgwMywgMHgwNywgMHgwZiwgMHgxZiwgMHgzZiwgMHg3Zn0gfSwKLXsgMHg5ZTk1LAkxNiwJezB4MDAsIDB4MDAsIDB4YzAsIDB4YzEsIDB4YzEsIDB4ODEsIDB4MDEsIDB4NDAsIDB4YzMsIDB4MDEsIDB4MDMsIDB4YzAsIDB4MDIsIDB4ODAsIDB4YzIsIDB4NDF9IH0sCi17IDB4OWVhNSwJMTYsCXsweGM2LCAweDAxLCAweDA2LCAweGMwLCAweDA3LCAweDgwLCAweGM3LCAweDQxLCAweDA1LCAweDAwLCAweGM1LCAweGMxLCAweGM0LCAweDgxLCAweDA0LCAweDQwfSB9LAoteyAweDllYjUsCTE2LAl7MHhjYywgMHgwMSwgMHgwYywgMHhjMCwgMHgwZCwgMHg4MCwgMHhjZCwgMHg0MSwgMHgwZiwgMHgwMCwgMHhjZiwgMHhjMSwgMHhjZSwgMHg4MSwgMHgwZSwgMHg0MH0gfSwKLXsgMHg5ZWM1LAkxNiwJezB4MGEsIDB4MDAsIDB4Y2EsIDB4YzEsIDB4Y2IsIDB4ODEsIDB4MGIsIDB4NDAsIDB4YzksIDB4MDEsIDB4MDksIDB4YzAsIDB4MDgsIDB4ODAsIDB4YzgsIDB4NDF9IH0sCi17IDB4OWVkNSwJMTYsCXsweGQ4LCAweDAxLCAweDE4LCAweGMwLCAweDE5LCAweDgwLCAweGQ5LCAweDQxLCAweDFiLCAweDAwLCAweGRiLCAweGMxLCAweGRhLCAweDgxLCAweDFhLCAweDQwfSB9LAoteyAweDllZTUsCTE2LAl7MHgxZSwgMHgwMCwgMHhkZSwgMHhjMSwgMHhkZiwgMHg4MSwgMHgxZiwgMHg0MCwgMHhkZCwgMHgwMSwgMHgxZCwgMHhjMCwgMHgxYywgMHg4MCwgMHhkYywgMHg0MX0gfSwKLXsgMHg5ZWY1LAkxNiwJezB4MTQsIDB4MDAsIDB4ZDQsIDB4YzEsIDB4ZDUsIDB4ODEsIDB4MTUsIDB4NDAsIDB4ZDcsIDB4MDEsIDB4MTcsIDB4YzAsIDB4MTYsIDB4ODAsIDB4ZDYsIDB4NDF9IH0sCi17IDB4OWYwNSwJMTYsCXsweGQyLCAweDAxLCAweDEyLCAweGMwLCAweDEzLCAweDgwLCAweGQzLCAweDQxLCAweDExLCAweDAwLCAweGQxLCAweGMxLCAweGQwLCAweDgxLCAweDEwLCAweDQwfSB9LAoteyAweDlmMTUsCTE2LAl7MHhmMCwgMHgwMSwgMHgzMCwgMHhjMCwgMHgzMSwgMHg4MCwgMHhmMSwgMHg0MSwgMHgzMywgMHgwMCwgMHhmMywgMHhjMSwgMHhmMiwgMHg4MSwgMHgzMiwgMHg0MH0gfSwKLXsgMHg5ZjI1LAkxNiwJezB4MzYsIDB4MDAsIDB4ZjYsIDB4YzEsIDB4ZjcsIDB4ODEsIDB4MzcsIDB4NDAsIDB4ZjUsIDB4MDEsIDB4MzUsIDB4YzAsIDB4MzQsIDB4ODAsIDB4ZjQsIDB4NDF9IH0sCi17IDB4OWYzNSwJMTYsCXsweDNjLCAweDAwLCAweGZjLCAweGMxLCAweGZkLCAweDgxLCAweDNkLCAweDQwLCAweGZmLCAweDAxLCAweDNmLCAweGMwLCAweDNlLCAweDgwLCAweGZlLCAweDQxfSB9LAoteyAweDlmNDUsCTE2LAl7MHhmYSwgMHgwMSwgMHgzYSwgMHhjMCwgMHgzYiwgMHg4MCwgMHhmYiwgMHg0MSwgMHgzOSwgMHgwMCwgMHhmOSwgMHhjMSwgMHhmOCwgMHg4MSwgMHgzOCwgMHg0MH0gfSwKLXsgMHg5ZjU1LAkxNiwJezB4MjgsIDB4MDAsIDB4ZTgsIDB4YzEsIDB4ZTksIDB4ODEsIDB4MjksIDB4NDAsIDB4ZWIsIDB4MDEsIDB4MmIsIDB4YzAsIDB4MmEsIDB4ODAsIDB4ZWEsIDB4NDF9IH0sCi17IDB4OWY2NSwJMTYsCXsweGVlLCAweDAxLCAweDJlLCAweGMwLCAweDJmLCAweDgwLCAweGVmLCAweDQxLCAweDJkLCAweDAwLCAweGVkLCAweGMxLCAweGVjLCAweDgxLCAweDJjLCAweDQwfSB9LAoteyAweDlmNzUsCTE2LAl7MHhlNCwgMHgwMSwgMHgyNCwgMHhjMCwgMHgyNSwgMHg4MCwgMHhlNSwgMHg0MSwgMHgyNywgMHgwMCwgMHhlNywgMHhjMSwgMHhlNiwgMHg4MSwgMHgyNiwgMHg0MH0gfSwKLXsgMHg5Zjg1LAkxNiwJezB4MjIsIDB4MDAsIDB4ZTIsIDB4YzEsIDB4ZTMsIDB4ODEsIDB4MjMsIDB4NDAsIDB4ZTEsIDB4MDEsIDB4MjEsIDB4YzAsIDB4MjAsIDB4ODAsIDB4ZTAsIDB4NDF9IH0sCi17IDB4OWY5NSwJMTYsCXsweGEwLCAweDAxLCAweDYwLCAweGMwLCAweDYxLCAweDgwLCAweGExLCAweDQxLCAweDYzLCAweDAwLCAweGEzLCAweGMxLCAweGEyLCAweDgxLCAweDYyLCAweDQwfSB9LAoteyAweDlmYTUsCTE2LAl7MHg2NiwgMHgwMCwgMHhhNiwgMHhjMSwgMHhhNywgMHg4MSwgMHg2NywgMHg0MCwgMHhhNSwgMHgwMSwgMHg2NSwgMHhjMCwgMHg2NCwgMHg4MCwgMHhhNCwgMHg0MX0gfSwKLXsgMHg5ZmI1LAkxNiwJezB4NmMsIDB4MDAsIDB4YWMsIDB4YzEsIDB4YWQsIDB4ODEsIDB4NmQsIDB4NDAsIDB4YWYsIDB4MDEsIDB4NmYsIDB4YzAsIDB4NmUsIDB4ODAsIDB4YWUsIDB4NDF9IH0sCi17IDB4OWZjNSwJMTYsCXsweGFhLCAweDAxLCAweDZhLCAweGMwLCAweDZiLCAweDgwLCAweGFiLCAweDQxLCAweDY5LCAweDAwLCAweGE5LCAweGMxLCAweGE4LCAweDgxLCAweDY4LCAweDQwfSB9LAoteyAweDlmZDUsCTE2LAl7MHg3OCwgMHgwMCwgMHhiOCwgMHhjMSwgMHhiOSwgMHg4MSwgMHg3OSwgMHg0MCwgMHhiYiwgMHgwMSwgMHg3YiwgMHhjMCwgMHg3YSwgMHg4MCwgMHhiYSwgMHg0MX0gfSwKLXsgMHg5ZmU1LAkxNiwJezB4YmUsIDB4MDEsIDB4N2UsIDB4YzAsIDB4N2YsIDB4ODAsIDB4YmYsIDB4NDEsIDB4N2QsIDB4MDAsIDB4YmQsIDB4YzEsIDB4YmMsIDB4ODEsIDB4N2MsIDB4NDB9IH0sCi17IDB4OWZmNSwJMTYsCXsweGI0LCAweDAxLCAweDc0LCAweGMwLCAweDc1LCAweDgwLCAweGI1LCAweDQxLCAweDc3LCAweDAwLCAweGI3LCAweGMxLCAweGI2LCAweDgxLCAweDc2LCAweDQwfSB9LAoteyAweGEwMDUsCTE2LAl7MHg3MiwgMHgwMCwgMHhiMiwgMHhjMSwgMHhiMywgMHg4MSwgMHg3MywgMHg0MCwgMHhiMSwgMHgwMSwgMHg3MSwgMHhjMCwgMHg3MCwgMHg4MCwgMHhiMCwgMHg0MX0gfSwKLXsgMHhhMDE1LAkxNiwJezB4NTAsIDB4MDAsIDB4OTAsIDB4YzEsIDB4OTEsIDB4ODEsIDB4NTEsIDB4NDAsIDB4OTMsIDB4MDEsIDB4NTMsIDB4YzAsIDB4NTIsIDB4ODAsIDB4OTIsIDB4NDF9IH0sCi17IDB4YTAyNSwJMTYsCXsweDk2LCAweDAxLCAweDU2LCAweGMwLCAweDU3LCAweDgwLCAweDk3LCAweDQxLCAweDU1LCAweDAwLCAweDk1LCAweGMxLCAweDk0LCAweDgxLCAweDU0LCAweDQwfSB9LAoteyAweGEwMzUsCTE2LAl7MHg5YywgMHgwMSwgMHg1YywgMHhjMCwgMHg1ZCwgMHg4MCwgMHg5ZCwgMHg0MSwgMHg1ZiwgMHgwMCwgMHg5ZiwgMHhjMSwgMHg5ZSwgMHg4MSwgMHg1ZSwgMHg0MH0gfSwKLXsgMHhhMDQ1LAkxNiwJezB4NWEsIDB4MDAsIDB4OWEsIDB4YzEsIDB4OWIsIDB4ODEsIDB4NWIsIDB4NDAsIDB4OTksIDB4MDEsIDB4NTksIDB4YzAsIDB4NTgsIDB4ODAsIDB4OTgsIDB4NDF9IH0sCi17IDB4YTA1NSwJMTYsCXsweDg4LCAweDAxLCAweDQ4LCAweGMwLCAweDQ5LCAweDgwLCAweDg5LCAweDQxLCAweDRiLCAweDAwLCAweDhiLCAweGMxLCAweDhhLCAweDgxLCAweDRhLCAweDQwfSB9LAoteyAweGEwNjUsCTE2LAl7MHg0ZSwgMHgwMCwgMHg4ZSwgMHhjMSwgMHg4ZiwgMHg4MSwgMHg0ZiwgMHg0MCwgMHg4ZCwgMHgwMSwgMHg0ZCwgMHhjMCwgMHg0YywgMHg4MCwgMHg4YywgMHg0MX0gfSwKLXsgMHhhMDc1LAkxNiwJezB4NDQsIDB4MDAsIDB4ODQsIDB4YzEsIDB4ODUsIDB4ODEsIDB4NDUsIDB4NDAsIDB4ODcsIDB4MDEsIDB4NDcsIDB4YzAsIDB4NDYsIDB4ODAsIDB4ODYsIDB4NDF9IH0sCi17IDB4YTA4NSwJMTYsCXsweDgyLCAweDAxLCAweDQyLCAweGMwLCAweDQzLCAweDgwLCAweDgzLCAweDQxLCAweDQxLCAweDAwLCAweDgxLCAweGMxLCAweDgwLCAweDgxLCAweDQwLCAweDQwfSB9LAoteyAweGEwOTUsCTE2LAl7MHhlNCwgMHhmZiwgMHg3NCwgMHhmOCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMn0gfSwKLXsgMHhhMGE1LAkxNiwJezB4YTEsIDB4MzgsIDB4NzQsIDB4M2EsIDB4MmYsIDB4ZjgsIDB4ZTYsIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MDIsIDB4YTEsIDB4MzgsIDB4ZWYsIDB4NzUsIDB4ZjB9IH0sCi17IDB4YTBiNSwJMTYsCXsweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFkLCAweDgyLCAweGZjLCAweGY1LCAweDgzLCAweGU1LCAweDgyfSB9LAoteyAweGEwYzUsCTE2LAl7MHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg2MCwgMHg2NCwgMHg2MCwgMHg3MCwgMHg2M30gfSwKLXsgMHhhMGQ1LAkxNiwJezB4ZWYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4ZWYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDF9IH0sCi17IDB4YTBlNSwJMTYsCXsweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1LCAweDgzLCAweGUwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGYwLCAweDc0LCAweGY4fSB9LAoteyAweGEwZjUsCTE2LAl7MHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmMCwgMHg3MCwgMHgzNiwgMHhlZiwgMHgyNSwgMHhlMH0gfSwKLXsgMHhhMTA1LAkxNiwJezB4MjQsIDB4YzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZWYsIDB4MjUsIDB4ZTAsIDB4ZmUsIDB4YzN9IH0sCi17IDB4YTExNSwJMTYsCXsweDc0LCAweDBjLCAweDllLCAweDc1LCAweGYwLCAweDQwLCAweGE0LCAweDI0LCAweDQwLCAweGY1LCAweDgyLCAweGU1LCAweGYwLCAweDM0LCAweDdiLCAweGFkfSB9LAoteyAweGExMjUsCTE2LAl7MHg4MiwgMHhmYywgMHhlZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhlZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMH0gfSwKLXsgMHhhMTM1LAkxMiwJezB4YTMsIDB4ZWQsIDB4ZjAsIDB4MGYsIDB4ZWYsIDB4NjQsIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4YTAsIDB4OTd9IH0sCi17IDB4YTE0MSwJMSwJezB4MjJ9IH0sCi17IDB4YTE0MiwJMTYsCXsweGU3LCAweDA5LCAweGY2LCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDQ2LCAweGU3LCAweDA5LCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDNlfSB9LAoteyAweGExNTIsCTE2LAl7MHg4OCwgMHg4MiwgMHg4YywgMHg4MywgMHhlNywgMHgwOSwgMHhmMCwgMHhhMywgMHhkZiwgMHhmYSwgMHg4MCwgMHgzMiwgMHhlMywgMHgwOSwgMHhmNiwgMHgwOH0gfSwKLXsgMHhhMTYyLAkxNiwJezB4ZGYsIDB4ZmEsIDB4ODAsIDB4NzgsIDB4ZTMsIDB4MDksIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NzAsIDB4ODgsIDB4ODIsIDB4OGMsIDB4ODN9IH0sCi17IDB4YTE3MiwJMTYsCXsweGUzLCAweDA5LCAweGYwLCAweGEzLCAweGRmLCAweGZhLCAweDgwLCAweDY0LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweGEzLCAweGY2LCAweDA4fSB9LAoteyAweGExODIsCTE2LAl7MHhkZiwgMHhmYSwgMHg4MCwgMHg1OCwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhhMywgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg0Y30gfSwKLXsgMHhhMTkyLAkxNiwJezB4ODAsIDB4ZDIsIDB4ODAsIDB4ZmEsIDB4ODAsIDB4YzYsIDB4ODAsIDB4ZDQsIDB4ODAsIDB4NjksIDB4ODAsIDB4ZjIsIDB4ODAsIDB4MzMsIDB4ODAsIDB4MTB9IH0sCi17IDB4YTFhMiwJMTYsCXsweDgwLCAweGE2LCAweDgwLCAweGVhLCAweDgwLCAweDlhLCAweDgwLCAweGE4LCAweDgwLCAweGRhLCAweDgwLCAweGUyLCAweDgwLCAweGNhLCAweDgwLCAweDMzfSB9LAoteyAweGExYjIsCTE2LAl7MHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlYywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4M30gfSwKLXsgMHhhMWMyLAkxNiwJezB4Y2MsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODMsIDB4Y2MsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODB9IH0sCi17IDB4YTFkMiwJMTYsCXsweDBkLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweGEzLCAweGY2LCAweDA4LCAweGRmLCAweGY5LCAweGVjLCAweGZhLCAweGE5LCAweGYwfSB9LAoteyAweGExZTIsCTE2LAl7MHhlZCwgMHhmYiwgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlYywgMHhmYSwgMHhlMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjY30gfSwKLXsgMHhhMWYyLAkxNiwJezB4YzUsIDB4ODMsIDB4Y2MsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODMsIDB4Y2MsIDB4ZGYsIDB4ZWEsIDB4ZGV9IH0sCi17IDB4YTIwMiwJMTYsCXsweGU4LCAweDgwLCAweGRiLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweGEzLCAweGYyLCAweDA4LCAweGRmLCAweGY5LCAweDgwLCAweGNjfSB9LAoteyAweGEyMTIsCTE2LAl7MHg4OCwgMHhmMCwgMHhlZCwgMHgyNCwgMHgwMiwgMHhiNCwgMHgwNCwgMHgwMCwgMHg1MCwgMHhjMiwgMHhmNSwgMHg4MiwgMHhlYiwgMHgyNCwgMHgwMiwgMHhiNH0gfSwKLXsgMHhhMjIyLAkxNiwJezB4MDQsIDB4MDAsIDB4NTAsIDB4YjgsIDB4MjMsIDB4MjMsIDB4NDUsIDB4ODIsIDB4ZjUsIDB4ODIsIDB4ZWYsIDB4NGUsIDB4NjAsIDB4YWUsIDB4ZWYsIDB4NjB9IH0sCi17IDB4YTIzMiwJOSwJezB4MDEsIDB4MGUsIDB4ZTUsIDB4ODIsIDB4MjMsIDB4OTAsIDB4YTEsIDB4OTIsIDB4NzN9IH0sCi17IDB4YTIzYiwJMTYsCXsweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyfSB9LAoteyAweGEyNGIsCTksCXsweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyfSB9LAoteyAweGEyNTQsCTE2LAl7MHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MH0gfSwKLXsgMHhhMjY0LAkxNiwJezB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjJ9IH0sCi17IDB4YTI3NCwJMTMsCXsweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyfSB9LAoteyAweGEyODEsCTE2LAl7MHhjNSwgMHhmMCwgMHhmOCwgMHhhMywgMHhlMCwgMHgyOCwgMHhmMCwgMHhjNSwgMHhmMCwgMHhmOCwgMHhlNSwgMHg4MiwgMHgxNSwgMHg4MiwgMHg3MCwgMHgwMn0gfSwKLXsgMHhhMjkxLAk2LAl7MHgxNSwgMHg4MywgMHhlMCwgMHgzOCwgMHhmMCwgMHgyMn0gfSwKLXsgMHhhMjk3LAkxNiwJezB4YTMsIDB4ZjgsIDB4ZTAsIDB4YzUsIDB4ZjAsIDB4MjUsIDB4ZjAsIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4MTUsIDB4ODIsIDB4NzAsIDB4MDIsIDB4MTUsIDB4ODN9IH0sCi17IDB4YTJhNywJNiwJezB4ZTAsIDB4YzgsIDB4MzgsIDB4ZjAsIDB4ZTgsIDB4MjJ9IH0sCi17IDB4YTJhZCwJMTYsCXsweGJiLCAweDAxLCAweDEwLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGYwfSB9LAoteyAweGEyYmQsCTE2LAl7MHhhMywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHg4NiwgMHhmMCwgMHgwOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZX0gfSwKLXsgMHhhMmNkLAkxNiwJezB4MGEsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4ZjUsIDB4ZjAsIDB4MDgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODMsIDB4MmEsIDB4ZjUsIDB4ODN9IH0sCi17IDB4YTJkZCwJOCwJezB4ZTksIDB4OTMsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4OTMsIDB4MjJ9IH0sCi17IDB4YTJlNSwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweDc1LCAweDgyLCAweDAwLCAweGVmLCAweDJmLCAweGZmLCAweGVlLCAweDMzLCAweGZlLCAweGNkLCAweDMzLCAweGNkLCAweGNjfSB9LAoteyAweGEyZjUsCTE2LAl7MHgzMywgMHhjYywgMHhjNSwgMHg4MiwgMHgzMywgMHhjNSwgMHg4MiwgMHg5YiwgMHhlZCwgMHg5YSwgMHhlYywgMHg5OSwgMHhlNSwgMHg4MiwgMHg5OCwgMHg0MH0gfSwKLXsgMHhhMzA1LAkxNiwJezB4MGMsIDB4ZjUsIDB4ODIsIDB4ZWUsIDB4OWIsIDB4ZmUsIDB4ZWQsIDB4OWEsIDB4ZmQsIDB4ZWMsIDB4OTksIDB4ZmMsIDB4MGYsIDB4ZDUsIDB4ZjAsIDB4ZDZ9IH0sCi17IDB4YTMxNSwJMTYsCXsweGU0LCAweGNlLCAweGZiLCAweGU0LCAweGNkLCAweGZhLCAweGU0LCAweGNjLCAweGY5LCAweGE4LCAweDgyLCAweDIyLCAweGI4LCAweDAwLCAweGMxLCAweGI5fSB9LAoteyAweGEzMjUsCTE2LAl7MHgwMCwgMHg1OSwgMHhiYSwgMHgwMCwgMHgyZCwgMHhlYywgMHg4YiwgMHhmMCwgMHg4NCwgMHhjZiwgMHhjZSwgMHhjZCwgMHhmYywgMHhlNSwgMHhmMCwgMHhjYn0gfSwKLXsgMHhhMzM1LAkxNiwJezB4ZjksIDB4NzgsIDB4MTgsIDB4ZWYsIDB4MmYsIDB4ZmYsIDB4ZWUsIDB4MzMsIDB4ZmUsIDB4ZWQsIDB4MzMsIDB4ZmQsIDB4ZWMsIDB4MzMsIDB4ZmMsIDB4ZWJ9IH0sCi17IDB4YTM0NSwJMTYsCXsweDMzLCAweGZiLCAweDEwLCAweGQ3LCAweDAzLCAweDk5LCAweDQwLCAweDA0LCAweGViLCAweDk5LCAweGZiLCAweDBmLCAweGQ4LCAweGU1LCAweGU0LCAweGY5fSB9LAoteyAweGEzNTUsCTE2LAl7MHhmYSwgMHgyMiwgMHg3OCwgMHgxOCwgMHhlZiwgMHgyZiwgMHhmZiwgMHhlZSwgMHgzMywgMHhmZSwgMHhlZCwgMHgzMywgMHhmZCwgMHhlYywgMHgzMywgMHhmY30gfSwKLXsgMHhhMzY1LAkxNiwJezB4YzksIDB4MzMsIDB4YzksIDB4MTAsIDB4ZDcsIDB4MDUsIDB4OWIsIDB4ZTksIDB4OWEsIDB4NDAsIDB4MDcsIDB4ZWMsIDB4OWIsIDB4ZmMsIDB4ZTksIDB4OWF9IH0sCi17IDB4YTM3NSwJMTYsCXsweGY5LCAweDBmLCAweGQ4LCAweGUwLCAweGU0LCAweGM5LCAweGZhLCAweGU0LCAweGNjLCAweGZiLCAweDIyLCAweDc1LCAweGYwLCAweDEwLCAweGVmLCAweDJmfSB9LAoteyAweGEzODUsCTE2LAl7MHhmZiwgMHhlZSwgMHgzMywgMHhmZSwgMHhlZCwgMHgzMywgMHhmZCwgMHhjYywgMHgzMywgMHhjYywgMHhjOCwgMHgzMywgMHhjOCwgMHgxMCwgMHhkNywgMHgwN30gfSwKLXsgMHhhMzk1LAkxNiwJezB4OWIsIDB4ZWMsIDB4OWEsIDB4ZTgsIDB4OTksIDB4NDAsIDB4MGEsIDB4ZWQsIDB4OWIsIDB4ZmQsIDB4ZWMsIDB4OWEsIDB4ZmMsIDB4ZTgsIDB4OTksIDB4Zjh9IH0sCi17IDB4YTNhNSwJMTQsCXsweDBmLCAweGQ1LCAweGYwLCAweGRhLCAweGU0LCAweGNkLCAweGZiLCAweGU0LCAweGNjLCAweGZhLCAweGU0LCAweGM4LCAweGY5LCAweDIyfSB9LAoteyAweGEzYjMsCTE2LAl7MHhlYiwgMHg5ZiwgMHhmNSwgMHhmMCwgMHhlYSwgMHg5ZSwgMHg0MiwgMHhmMCwgMHhlOSwgMHg5ZCwgMHg0MiwgMHhmMCwgMHhlOCwgMHg5YywgMHg0NSwgMHhmMH0gfSwKLXsgMHhhM2MzLAkxLAl7MHgyMn0gfSwKLXsgMHhhM2M0LAkxNiwJezB4ZTgsIDB4NjAsIDB4MGYsIDB4ZWMsIDB4YzMsIDB4MTMsIDB4ZmMsIDB4ZWQsIDB4MTMsIDB4ZmQsIDB4ZWUsIDB4MTMsIDB4ZmUsIDB4ZWYsIDB4MTMsIDB4ZmZ9IH0sCi17IDB4YTNkNCwJMywJezB4ZDgsIDB4ZjEsIDB4MjJ9IH0sCi17IDB4YTNkNywJMTYsCXsweDA4LCAweDA4LCAweDA4LCAweGU2LCAweGNmLCAweDJmLCAweGY2LCAweDE4LCAweGU2LCAweGNlLCAweDNlLCAweGY2LCAweDE4LCAweGU2LCAweGNkLCAweDNkfSB9LAoteyAweGEzZTcsCTcsCXsweGY2LCAweDE4LCAweGU2LCAweGNjLCAweDNjLCAweGY2LCAweDIyfSB9LAoteyAweGEzZWUsCTEyLAl7MHhlYywgMHhmMCwgMHhhMywgMHhlZCwgMHhmMCwgMHhhMywgMHhlZSwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHgyMn0gfSwKLXsgMHhhM2ZhLAkxNiwJezB4YTgsIDB4ODIsIDB4ODUsIDB4ODMsIDB4ZjAsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4MTIsIDB4YTQsIDB4MTEsIDB4MTIsIDB4YTQsIDB4MTEsIDB4MTJ9IH0sCi17IDB4YTQwYSwJMTYsCXsweGE0LCAweDExLCAweDEyLCAweGE0LCAweDExLCAweGU0LCAweDczLCAweGU0LCAweDkzLCAweGEzLCAweGM1LCAweDgzLCAweGM1LCAweGYwLCAweGM1LCAweDgzfSB9LAoteyAweGE0MWEsCTE2LAl7MHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhmMCwgMHhhMywgMHhjNSwgMHg4MywgMHhjNSwgMHhmMCwgMHhjNSwgMHg4MywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOH0gfSwKLXsgMHhhNDJhLAkxLAl7MHgyMn0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKLQotI2lmZGVmIERFQlVHCi1zdGF0aWMgY29uc3Qgc3RydWN0IHdoaXRlaGVhdF9oZXhfcmVjb3JkIHdoaXRlaGVhdF9sb2FkZXJbXSA9IHsKLXsgMHgwMDAwLAkzLAl7MHgwMiwgMHgwOSwgMHg4ZH0gfSwKLXsgMHgwMDMzLAkzLAl7MHgwMiwgMHgwZSwgMHg3MH0gfSwKLXsgMHgwMDQzLAkzLAl7MHgwMiwgMHgwYiwgMHgwMH0gfSwKLXsgMHgwMDRiLAkzLAl7MHgwMiwgMHgwNSwgMHhiM30gfSwKLXsgMHgwMTAwLAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NTQsIDB4MTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4NTAsIDB4ZjUsIDB4MGYsIDB4MTMsIDB4ZTR9IH0sCi17IDB4MDExMCwJMTYsCXsweDMzLCAweGY1LCAweDExLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDI0LCAweDVlLCAweGI0LCAweDA3LCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDAzfSB9LAoteyAweDAxMjAsCTE2LAl7MHg3YywgMHg5MCwgMHgwMSwgMHgyOCwgMHhmOCwgMHgyOCwgMHgyOCwgMHg3MywgMHgwMiwgMHgwMSwgMHhiYywgMHgwMiwgMHgwMSwgMHhiYywgMHgwMiwgMHgwMX0gfSwKLXsgMHgwMTMwLAkxNiwJezB4OTEsIDB4MDIsIDB4MDEsIDB4M2QsIDB4MDIsIDB4MDEsIDB4NTMsIDB4MDIsIDB4MDEsIDB4NmYsIDB4MDIsIDB4MDEsIDB4OWEsIDB4OTAsIDB4N2YsIDB4MDB9IH0sCi17IDB4MDE0MCwJMTYsCXsweGU1LCAweDExLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwfSB9LAoteyAweDAxNTAsCTE2LAl7MHgwMiwgMHgwMywgMHg3YywgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwMTYwLAkxNiwJezB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDMsIDB4N2MsIDB4MTJ9IH0sCi17IDB4MDE3MCwJMTYsCXsweDBhLCAweDg5LCAweDUwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweDgwLCAweDA2LCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDBmfSB9LAoteyAweDAxODAsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwM30gfSwKLXsgMHgwMTkwLAkxNiwJezB4N2MsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MGYsIDB4MDIsIDB4MDMsIDB4N2MsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDcsIDB4ZjB9IH0sCi17IDB4MDFhMCwJMTYsCXsweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGU4LCAweDdlfSB9LAoteyAweDAxYjAsCTE2LAl7MHgwMywgMHgxMiwgMHgwZCwgMHhkNSwgMHhkMiwgMHgwNiwgMHgxMiwgMHgwZCwgMHgwZCwgMHgwMiwgMHgwMywgMHg3YywgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMH0gfSwKLXsgMHgwMWMwLAkxNiwJezB4NzUsIDB4MjksIDB4MDAsIDB4ZjUsIDB4MmEsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4ZTQsIDB4ZWUsIDB4NDIsIDB4MjksIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTB9IH0sCi17IDB4MDFkMCwJMTYsCXsweDc1LCAweDJiLCAweDAwLCAweGY1LCAweDJjLCAweGEzLCAweGUwLCAweGZlLCAweGU0LCAweGVlLCAweDQyLCAweDJiLCAweDkwLCAweDdmLCAweGU4LCAweGUwfSB9LAoteyAweDAxZTAsCTE2LAl7MHg2NCwgMHhjMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwMiwgMHhjOSwgMHhlNSwgMHgyYywgMHg0NSwgMHgyYiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMywgMHg3Y30gfSwKLXsgMHgwMWYwLAkxNiwJezB4YzMsIDB4ZTUsIDB4MmMsIDB4OTQsIDB4NDAsIDB4ZTUsIDB4MmIsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDgsIDB4ODUsIDB4MmIsIDB4MmQsIDB4ODUsIDB4MmN9IH0sCi17IDB4MDIwMCwJMTYsCXsweDJlLCAweDgwLCAweDA2LCAweDc1LCAweDJkLCAweDAwLCAweDc1LCAweDJlLCAweDQwLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDY0LCAweGEzLCAweDcwfSB9LAoteyAweDAyMTAsCTE2LAl7MHgzNCwgMHhmNSwgMHgzMSwgMHhmNSwgMHgzMiwgMHhjMywgMHhlNSwgMHgzMiwgMHg5NSwgMHgyZSwgMHhlNSwgMHgzMSwgMHg5NSwgMHgyZCwgMHg1MCwgMHg1Y30gfSwKLXsgMHgwMjIwLAkxNiwJezB4ZTUsIDB4MmEsIDB4MjUsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzEsIDB4MzUsIDB4MjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4MDB9IH0sCi17IDB4MDIzMCwJMTYsCXsweDI1LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDMyLCAweGU1LCAweDMyLCAweDcwfSB9LAoteyAweDAyNDAsCTE2LAl7MHgwMiwgMHgwNSwgMHgzMSwgMHg4MCwgMHhkMCwgMHhlNCwgMHhmNSwgMHgzMSwgMHhmNSwgMHgzMiwgMHhjMywgMHhlNSwgMHgzMiwgMHg5NSwgMHgyZSwgMHhlNX0gfSwKLXsgMHgwMjUwLAkxNiwJezB4MzEsIDB4OTUsIDB4MmQsIDB4NTAsIDB4MTgsIDB4NzQsIDB4MDAsIDB4MjUsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MDI2MCwJMTYsCXsweDc0LCAweGNkLCAweGYwLCAweDA1LCAweDMyLCAweGU1LCAweDMyLCAweDcwLCAweDAyLCAweDA1LCAweDMxLCAweDgwLCAweGRkLCAweGFmLCAweDJhLCAweGFlfSB9LAoteyAweDAyNzAsCTE2LAl7MHgyOSwgMHhhZCwgMHgyZSwgMHg3YSwgMHg3ZiwgMHg3OSwgMHgwMCwgMHg3YiwgMHgwMCwgMHgxMiwgMHgwYiwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhlNX0gfSwKLXsgMHgwMjgwLAkxNiwJezB4MmUsIDB4ZjAsIDB4ZTUsIDB4MmUsIDB4MjUsIDB4MmEsIDB4ZjUsIDB4MmEsIDB4ZTUsIDB4MmQsIDB4MzUsIDB4MjksIDB4ZjUsIDB4MjksIDB4YzMsIDB4ZTV9IH0sCi17IDB4MDI5MCwJMTYsCXsweDJjLCAweDk1LCAweDJlLCAweGY1LCAweDJjLCAweGU1LCAweDJiLCAweDk1LCAweDJkLCAweGY1LCAweDJiLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmfSB9LAoteyAweDAyYTAsCTE2LAl7MHhjNCwgMHg1NCwgMHgwZiwgMHg3NSwgMHgyZiwgMHgwMCwgMHhmNSwgMHgzMCwgMHhkMywgMHg5NCwgMHgwMCwgMHhlNSwgMHgyZiwgMHg5NCwgMHgwMCwgMHg1MH0gfSwKLXsgMHgwMmIwLAkxNiwJezB4MGMsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZTcsIDB4ODAsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4YjR9IH0sCi17IDB4MDJjMCwJMTYsCXsweGUwLCAweDIwLCAweGUyLCAweDAzLCAweDAyLCAweDAxLCAweGU3LCAweDgwLCAweGY0LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDY0LCAweDQwLCAweDYwfSB9LAoteyAweDAyZDAsCTE2LAl7MHgwMywgMHgwMiwgMHgwMywgMHg3YywgMHhlNSwgMHgyYywgMHg0NSwgMHgyYiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMywgMHg3YywgMHhlNCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMmUwLAkxNiwJezB4YzUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NzUsIDB4MmYsIDB4MDAsIDB4ZjUsIDB4MzAsIDB4ZDN9IH0sCi17IDB4MDJmMCwJMTYsCXsweDk0LCAweDAwLCAweGU1LCAweDJmLCAweDk0LCAweDAwLCAweDUwLCAweDA5LCAweDkwLCAweDdmLCAweGM0LCAweGUwLCAweDMwLCAweGUxLCAweDA5LCAweDgwfSB9LAoteyAweDAzMDAsCTE2LAl7MHhmNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHgyMCwgMHhlMywgMHhmOSwgMHg5MCwgMHg3ZiwgMHhjNSwgMHhlMCwgMHg3NSwgMHgyZCwgMHgwMCwgMHhmNX0gfSwKLXsgMHgwMzEwLAkxNiwJezB4MmUsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NjQsIDB4YTMsIDB4NzAsIDB4MzgsIDB4OTAsIDB4MjAsIDB4NmIsIDB4ZjAsIDB4ZjUsIDB4MzEsIDB4ZjV9IH0sCi17IDB4MDMyMCwJMTYsCXsweDMyLCAweGMzLCAweGU1LCAweDMyLCAweDk1LCAweDJlLCAweGU1LCAweDMxLCAweDk1LCAweDJkLCAweDUwLCAweDM0LCAweDc0LCAweGMwLCAweDI1LCAweDMyfSB9LAoteyAweDAzMzAsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgyYSwgMHgyNSwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNX0gfSwKLXsgMHgwMzQwLAkxNiwJezB4MzEsIDB4MzUsIDB4MjksIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzIsIDB4ZTUsIDB4MzIsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzEsIDB4ODB9IH0sCi17IDB4MDM1MCwJMTYsCXsweGQwLCAweGFmLCAweDJhLCAweGFlLCAweDI5LCAweGFkLCAweDJlLCAweDdhLCAweDdlLCAweDc5LCAweGMwLCAweDdiLCAweGMwLCAweDEyLCAweDBjLCAweDgwfSB9LAoteyAweDAzNjAsCTE2LAl7MHhlNSwgMHgyZSwgMHgyNSwgMHgyYSwgMHhmNSwgMHgyYSwgMHhlNSwgMHgyZCwgMHgzNSwgMHgyOSwgMHhmNSwgMHgyOSwgMHhjMywgMHhlNSwgMHgyYywgMHg5NX0gfSwKLXsgMHgwMzcwLAkxMywJezB4MmUsIDB4ZjUsIDB4MmMsIDB4ZTUsIDB4MmIsIDB4OTUsIDB4MmQsIDB4ZjUsIDB4MmIsIDB4MDIsIDB4MDIsIDB4ZDQsIDB4YzN9IH0sCi17IDB4MDM3ZCwJMSwJezB4MjJ9IH0sCi17IDB4MDM3ZSwJMTYsCXsweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDU2LCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweGQyLCAweDI0fSB9LAoteyAweDAzOGUsCTE2LAl7MHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg0NiwgMHgyNCwgMHhmYiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg1MCwgMHgxNCwgMHg3MCwgMHgwM30gfSwKLXsgMHgwMzllLAkxNiwJezB4MDIsIDB4MDQsIDB4NGEsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4M2UsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDQsIDB4MjR9IH0sCi17IDB4MDNhZSwJMTYsCXsweDA1LCAweDYwLCAweDAzLCAweDAyLCAweDA1LCAweDlhLCAweDEyLCAweDBlLCAweDdiLCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmfSB9LAoteyAweDAzYmUsCTE2LAl7MHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwgMHg0MCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg2OSwgMHg3NCwgMHgxMSwgMHg5MH0gfSwKLXsgMHgwM2NlLAkxNiwJezB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDNkZSwJMTYsCXsweGZmLCAweDEyLCAweDBiLCAweDU4LCAweDhiLCAweDI2LCAweDhhLCAweDI3LCAweDg5LCAweDI4LCAweGVhLCAweDQ5LCAweDYwLCAweDExLCAweGFlLCAweDAyfSB9LAoteyAweDAzZWUsCTE2LAl7MHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MH0gfSwKLXsgMHgwM2ZlLAkxNiwJezB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGN9IH0sCi17IDB4MDQwZSwJMTYsCXsweDNmLCAweDhiLCAweDI2LCAweDhhLCAweDI3LCAweDg5LCAweDI4LCAweGVhLCAweDQ5LCAweDYwLCAweDExLCAweGFlLCAweDAyLCAweGVlLCAweDkwLCAweDdmfSB9LAoteyAweDA0MWUsCTE2LAl7MHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMH0gfSwKLXsgMHgwNDJlLAkxNiwJezB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWJ9IH0sCi17IDB4MDQzZSwJMTYsCXsweDEyLCAweDBlLCAweDUyLCAweDAyLCAweDA1LCAweGFiLCAweDEyLCAweDBlLCAweDYwLCAweDAyLCAweDA1LCAweGFiLCAweDEyLCAweDBhLCAweGY3LCAweDAyfSB9LAoteyAweDA0NGUsCTE2LAl7MHgwNSwgMHhhYiwgMHgxMiwgMHgwOCwgMHhmMSwgMHgwMiwgMHgwNSwgMHhhYiwgMHgxMiwgMHgwZSwgMHg3ZCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhYn0gfSwKLXsgMHgwNDVlLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTJ9IH0sCi17IDB4MDQ2ZSwJMTYsCXsweDAwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDAyLCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwfSB9LAoteyAweDA0N2UsCTE2LAl7MHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwNDhlLAkxNiwJezB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTB9IH0sCi17IDB4MDQ5ZSwJMTYsCXsweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0fSB9LAoteyAweDA0YWUsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhM30gfSwKLXsgMHgwNGJlLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDF9IH0sCi17IDB4MDRjZSwJMTYsCXsweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDEyLCAweDBlLCAweDdmLCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGU4LCAweGUwfSB9LAoteyAweDA0ZGUsCTE2LAl7MHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNH0gfSwKLXsgMHgwNGVlLAkxNiwJezB4MDEsIDB4MDUsIDB4YzIsIDB4MDAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDV9IH0sCi17IDB4MDRmZSwJMTYsCXsweGFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0fSB9LAoteyAweDA1MGUsCTE2LAl7MHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3Zn0gfSwKLXsgMHgwNTFlLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWZ9IH0sCi17IDB4MDUyZSwJMTYsCXsweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDZlLCAweDkwfSB9LAoteyAweDA1M2UsCTE2LAl7MHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg2NSwgMHgxMiwgMHgwZSwgMHg4MSwgMHg1MCwgMHg2MCwgMHg5MCwgMHg3ZiwgMHhlOH0gfSwKLXsgMHgwNTRlLAkxNiwJezB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NTQsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDR9IH0sCi17IDB4MDU1ZSwJMTYsCXsweGQyLCAweDAwLCAweDgwLCAweDQ5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDQwLCAweDkwLCAweDdmLCAweGVhfSB9LAoteyAweDA1NmUsCTE2LAl7MHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMH0gfSwKLXsgMHgwNTdlLAkxNiwJezB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDF9IH0sCi17IDB4MDU4ZSwJMTYsCXsweGYwLCAweDgwLCAweDFhLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDExLCAweGU0LCAweDkwLCAweDIwLCAweDZhfSB9LAoteyAweDA1OWUsCTE2LAl7MHhmMCwgMHgxMiwgMHgwMSwgMHgwMCwgMHg1MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNH0gfSwKLXsgMHgwNWFlLAk0LAl7MHhlMCwgMHg0NCwgMHgwMiwgMHhmMH0gfSwKLXsgMHgwNWIyLAkxLAl7MHgyMn0gfSwKLXsgMHgwNWIzLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MDVjMywJMTYsCXsweGQwLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLCAweDAyLCAweGMwLCAweDAzLCAweGMwLCAweDA2LCAweGMwLCAweDA3LCAweDkwLCAweDdmLCAweGE1fSB9LAoteyAweDA1ZDMsCTE2LAl7MHhlMCwgMHgzMCwgMHhlMiwgMHgwNiwgMHg3NSwgMHgwZCwgMHgwNiwgMHgwMiwgMHgwNiwgMHg3ZiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHgyMCwgMHhlMX0gfSwKLXsgMHgwNWUzLAkxNiwJezB4MGMsIDB4ZTUsIDB4MGQsIDB4NjQsIDB4MDIsIDB4NjAsIDB4MDYsIDB4NzUsIDB4MGQsIDB4MDcsIDB4MDIsIDB4MDYsIDB4N2YsIDB4YWYsIDB4MGQsIDB4ZWZ9IH0sCi17IDB4MDVmMywJMTYsCXsweDI0LCAweGZlLCAweDYwLCAweDQ4LCAweDE0LCAweDYwLCAweDJjLCAweDI0LCAweGZlLCAweDYwLCAweDc3LCAweDI0LCAweDA0LCAweDYwLCAweDAzLCAweDAyfSB9LAoteyAweDA2MDMsCTE2LAl7MHgwNiwgMHg3ZiwgMHhhYiwgMHgwOSwgMHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZiwgMHgwYywgMHgwNSwgMHgwYywgMHg4ZiwgMHg4MiwgMHg3NSwgMHg4M30gfSwKLXsgMHgwNjEzLAkxNiwJezB4MDAsIDB4MTIsIDB4MDcsIDB4ODUsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4ZTUsIDB4MGMsIDB4NjUsIDB4MDgsIDB4NzAsIDB4NWUsIDB4NzUsIDB4MGR9IH0sCi17IDB4MDYyMywJMTYsCXsweDA1LCAweDgwLCAweDU5LCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGFiLCAweDA5LCAweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFlLCAweDBjLCAweDhlfSB9LAoteyAweDA2MzMsCTE2LAl7MHg4MiwgMHg3NSwgMHg4MywgMHgwMCwgMHgxMiwgMHgwNywgMHhiMiwgMHg3NSwgMHgwZCwgMHgwMiwgMHg4MCwgMHg0MCwgMHhlNSwgMHgwOCwgMHgyNCwgMHhmZX0gfSwKLXsgMHgwNjQzLAkxNiwJezB4YjUsIDB4MGMsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ZTUsIDB4MDgsIDB4MTQsIDB4YjUsIDB4MGMsIDB4MGF9IH0sCi17IDB4MDY1MywJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU0LCAweGY1LCAweDBkLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGFiLCAweDA5fSB9LAoteyAweDA2NjMsCTE2LAl7MHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZSwgMHgwYywgMHg4ZSwgMHg4MiwgMHg3NSwgMHg4MywgMHgwMCwgMHgxMiwgMHgwNywgMHhiMiwgMHgwNSwgMHgwY30gfSwKLXsgMHgwNjczLAkxNiwJezB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4NTMsIDB4OTEsIDB4ZGYsIDB4ZDB9IH0sCi17IDB4MDY4MywJMTYsCXsweDA3LCAweGQwLCAweDA2LCAweGQwLCAweDAzLCAweGQwLCAweDAyLCAweGQwLCAweDAxLCAweGQwLCAweDAwLCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwfSB9LAoteyAweDA2OTMsCTEwLAl7MHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwNjlkLAkxNiwJezB4YzIsIDB4MDQsIDB4ZDIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MjUsIDB4YzIsIDB4MDMsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDIsIDB4YzIsIDB4MDEsIDB4MTJ9IH0sCi17IDB4MDZhZCwJMTYsCXsweDBlLCAweDc0LCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5fSB9LAoteyAweDA2YmQsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHhjMCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwNmNkLAkxNiwJezB4N2YsIDB4OTMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4MTIsIDB4MGEsIDB4MTksIDB4NzUsIDB4MjQsIDB4NDgsIDB4NzUsIDB4MjMsIDB4OTIsIDB4NzUsIDB4MjJ9IH0sCi17IDB4MDZkZCwJMTYsCXsweDAwLCAweDc1LCAweDIxLCAweDAwLCAweGU0LCAweGZmLCAweGZlLCAweDdlLCAweDA1LCAweDkwLCAweDIwLCAweDY4LCAweDc0LCAweDAxLCAweGYwLCAweGEzfSB9LAoteyAweDA2ZWQsCTE2LAl7MHhkZSwgMHhmYywgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZX0gfSwKLXsgMHgwNmZkLAkxNiwJezB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4MTIsIDB4MGUsIDB4NjgsIDB4MzAsIDB4MDEsIDB4MGEsIDB4ZTQsIDB4OTAsIDB4MjAsIDB4Njl9IH0sCi17IDB4MDcwZCwJMTYsCXsweGYwLCAweDEyLCAweDAzLCAweDdlLCAweGMyLCAweDAxLCAweDMwLCAweDA0LCAweDFhLCAweDEyLCAweDBlLCAweDc3LCAweDUwLCAweDEzLCAweDEyLCAweDA5fSB9LAoteyAweDA3MWQsCTE2LAl7MHgwMCwgMHgzMCwgMHgwMCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHhmMywgMHgxMiwgMHgwZCwgMHg4YiwgMHgxMiwgMHgwZX0gfSwKLXsgMHgwNzJkLAkxNiwJezB4NzksIDB4YzIsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4N2UsIDB4ZmYsIDB4N2QsIDB4ZmYsIDB4N2MsIDB4ZmYsIDB4NzgsIDB4MjEsIDB4MTIsIDB4MDgsIDB4MWR9IH0sCi17IDB4MDczZCwJMTYsCXsweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweGMzLCAweDEyLCAweDA4LCAweDBjLCAweDcwLCAweDFiLCAweDc1LCAweDI0fSB9LAoteyAweDA3NGQsCTE2LAl7MHg0OCwgMHg3NSwgMHgyMywgMHg5MiwgMHhmNSwgMHgyMiwgMHhmNSwgMHgyMSwgMHg2MywgMHgyNSwgMHhmZiwgMHg5MCwgMHgyMCwgMHg2OCwgMHhlNSwgMHgyNX0gfSwKLXsgMHgwNzVkLAkxNCwJezB4ZjAsIDB4YTMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4MTIsIDB4MDgsIDB4ZmYsIDB4ODAsIDB4OWJ9IH0sCi17IDB4MDc2YiwJMSwJezB4MjJ9IH0sCi17IDB4MDc2YywJMTYsCXsweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyfSB9LAoteyAweDA3N2MsCTksCXsweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyfSB9LAoteyAweDA3ODUsCTE2LAl7MHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MH0gfSwKLXsgMHgwNzk1LAkxNiwJezB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjJ9IH0sCi17IDB4MDdhNSwJMTMsCXsweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyfSB9LAoteyAweDA3YjIsCTE2LAl7MHhmOCwgMHhiYiwgMHgwMSwgMHgwZCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlOCwgMHhmMH0gfSwKLXsgMHgwN2MyLAkxNiwJezB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4YzgsIDB4ZjYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDUsIDB4ZTksIDB4MjUsIDB4ODIsIDB4Yzh9IH0sCi17IDB4MDdkMiwJMiwJezB4ZjIsIDB4MjJ9IH0sCi17IDB4MDdkNCwJMTYsCXsweGJiLCAweDAxLCAweDEwLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGYwfSB9LAoteyAweDA3ZTQsCTE2LAl7MHhhMywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHg4NiwgMHhmMCwgMHgwOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZX0gfSwKLXsgMHgwN2Y0LAkxNiwJezB4MGEsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4ZjUsIDB4ZjAsIDB4MDgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODMsIDB4MmEsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MDgwNCwJOCwJezB4ZTksIDB4OTMsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDgwYywJMTYsCXsweGViLCAweDlmLCAweGY1LCAweGYwLCAweGVhLCAweDllLCAweDQyLCAweGYwLCAweGU5LCAweDlkLCAweDQyLCAweGYwLCAweGU4LCAweDljLCAweDQ1LCAweGYwfSB9LAoteyAweDA4MWMsCTEsCXsweDIyfSB9LAoteyAweDA4MWQsCTE2LAl7MHgwOCwgMHgwOCwgMHgwOCwgMHhlNiwgMHgyZiwgMHhmZiwgMHhmNiwgMHgxOCwgMHhlNiwgMHgzZSwgMHhmZSwgMHhmNiwgMHgxOCwgMHhlNiwgMHgzZCwgMHhmZH0gfSwKLXsgMHgwODJkLAk3LAl7MHhmNiwgMHgxOCwgMHhlNiwgMHgzYywgMHhmYywgMHhmNiwgMHgyMn0gfSwKLXsgMHgwODM0LAk0LAl7MHg4YywgMHgzNCwgMHg4ZCwgMHgzNX0gfSwKLXsgMHgwODM4LAkxNiwJezB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZjUsIDB4MzcsIDB4YzMsIDB4ZTUsIDB4MzcsIDB4OTV9IH0sCi17IDB4MDg0OCwJMTYsCXsweDM1LCAweGU1LCAweDM2LCAweDk1LCAweDM0LCAweDUwLCAweDY5LCAweGVmLCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU1LCAweDM2LCAweDNlLCAweGY1fSB9LAoteyAweDA4NTgsCTE2LAl7MHg4MywgMHg3NCwgMHhmZiwgMHhmMCwgMHhmNCwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNn0gfSwKLXsgMHgwODY4LAkxNiwJezB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzZ9IH0sCi17IDB4MDg3OCwJMTYsCXsweDNlLCAweGY1LCAweDgzLCAweDc0LCAweGFhLCAweGYwLCAweDY0LCAweGFhLCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM3LCAweGY1fSB9LAoteyAweDA4ODgsCTE2LAl7MHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHg1NSwgMHhmMCwgMHg2NCwgMHg1NSwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhhZH0gfSwKLXsgMHgwODk4LAkxNiwJezB4MzcsIDB4ZTUsIDB4MzcsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzYsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZWQsIDB4ZjAsIDB4ZmMsIDB4YWMsIDB4MDV9IH0sCi17IDB4MDhhOCwJMTYsCXsweGVkLCAweDZjLCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweDA1LCAweDM3LCAweGU1LCAweDM3LCAweDcwLCAweDAyLCAweDA1LCAweDM2LCAweDgwLCAweDhjfSB9LAoteyAweDA4YjgsCTE2LAl7MHhlNCwgMHhmNSwgMHgzNiwgMHhmNSwgMHgzNywgMHhjMywgMHhlNSwgMHgzNywgMHg5NSwgMHgzNSwgMHhlNSwgMHgzNiwgMHg5NSwgMHgzNCwgMHg1MCwgMHgyN30gfSwKLXsgMHgwOGM4LAkxNiwJezB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzYsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjUsIDB4MzcsIDB4NjAsIDB4MDIsIDB4YzN9IH0sCi17IDB4MDhkOCwJMTYsCXsweDIyLCAweGVmLCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU1LCAweDM2LCAweDNlLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDA1LCAweDM3LCAweGU1fSB9LAoteyAweDA4ZTgsCTgsCXsweDM3LCAweDcwLCAweDAyLCAweDA1LCAweDM2LCAweDgwLCAweGNlLCAweGQzfSB9LAoteyAweDA4ZjAsCTEsCXsweDIyfSB9LAoteyAweDA4ZjEsCTE0LAl7MHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgxMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwOGZmLAkxLAl7MHgyMn0gfSwKLXsgMHgwOTAwLAk5LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHg3NH0gfSwKLXsgMHgwOTdkLAkxNiwJezB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjJ9IH0sCi17IDB4MDk4ZCwJMTIsCXsweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDNhLCAweDAyLCAweDA5LCAweGQ0fSB9LAoteyAweDA5OTksCTE2LAl7MHgwMiwgMHgwNiwgMHg5ZCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMn0gfSwKLXsgMHgwOWE5LAkxNiwJezB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzN9IH0sCi17IDB4MDliOSwJMTYsCXsweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmfSB9LAoteyAweDA5YzksCTE2LAl7MHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgwZSwgMHgyZCwgMHhlNCwgMHg3ZX0gfSwKLXsgMHgwOWQ5LAkxNiwJezB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTN9IH0sCi17IDB4MDllOSwJMTYsCXsweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzfSB9LAoteyAweDA5ZjksCTE2LAl7MHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYX0gfSwKLXsgMHgwYTA5LAkxNiwJezB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmV9IH0sCi17IDB4MGExOSwJMTYsCXsweGU0LCAweDkwLCAweDdmLCAweDljLCAweGYwLCAweDdmLCAweDBhLCAweGZlLCAweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDg5fSB9LAoteyAweDBhMjksCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhjZiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwYTM5LAkxNiwJezB4OTYsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9IH0sCi17IDB4MGE0OSwJMTYsCXsweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDdmLCAweDA1fSB9LAoteyAweDBhNTksCTE2LAl7MHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwYTY5LAkxNiwJezB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4N2YsIDB4MzIsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGR9IH0sCi17IDB4MGE3OSwJMTYsCXsweGQ1LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweGQ1LCAweDIyfSB9LAoteyAweDBhODksCTE2LAl7MHg3NSwgMHgzMywgMHgwMSwgMHhlNSwgMHgzMywgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgwZSwgMHgxOCwgMHg3ZiwgMHgwMCwgMHg3ZSwgMHgwZX0gfSwKLXsgMHgwYTk5LAkxNiwJezB4N2QsIDB4MDAsIDB4N2MsIDB4MDEsIDB4MTIsIDB4MDgsIDB4MzQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzMsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTJ9IH0sCi17IDB4MGFhOSwJMTYsCXsweDBlLCAweDE4LCAweGU1LCAweDMzLCAweDYwLCAweDFiLCAweDdmLCAweDAyLCAweDEyLCAweDBlLCAweDE4LCAweDdmLCAweDAwLCAweDdlLCAweDgwLCAweDdkfSB9LAoteyAweDBhYjksCTE2LAl7MHgwMCwgMHg3YywgMHg4MCwgMHgxMiwgMHgwOCwgMHgzNCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMywgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMiwgMHgwZX0gfSwKLXsgMHgwYWM5LAkxNiwJezB4MTgsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDMsIDB4MTIsIDB4MGUsIDB4MTgsIDB4N2YsIDB4MDAsIDB4N2UsIDB4MjAsIDB4N2QsIDB4NDB9IH0sCi17IDB4MGFkOSwJMTYsCXsweDdjLCAweDViLCAweDEyLCAweDA4LCAweDM0LCAweGU0LCAweDMzLCAweGY1LCAweDMzLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyLCAweDBlLCAweDE4fSB9LAoteyAweDBhZTksCTEzLAl7MHhlNSwgMHgzMywgMHg2MCwgMHgwNSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgwZSwgMHgxOCwgMHhlNSwgMHgzMywgMHgyNCwgMHhmZn0gfSwKLXsgMHgwYWY2LAkxLAl7MHgyMn0gfSwKLXsgMHgwYWY3LAk4LAl7MHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwYWZmLAkxLAl7MHgzMn0gfSwKLXsgMHgwYjAwLAkxNiwJezB4MDIsIDB4MGQsIDB4YTUsIDB4MDAsIDB4MDIsIDB4MGQsIDB4ZWMsIDB4MDAsIDB4MDIsIDB4MGQsIDB4NzAsIDB4MDAsIDB4MDIsIDB4MGQsIDB4YmQsIDB4MDB9IH0sCi17IDB4MGIxMCwJMTYsCXsweDAyLCAweDBlLCAweDAyLCAweDAwLCAweDAyLCAweDBhLCAweGZmLCAweDAwLCAweDAyLCAweDBlLCAweDgzLCAweDAwLCAweDAyLCAweDBlLCAweDg0LCAweDAwfSB9LAoteyAweDBiMjAsCTE2LAl7MHgwMiwgMHgwZSwgMHg4NSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4NiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4NywgMHgwMCwgMHgwMiwgMHgwZSwgMHg4OCwgMHgwMH0gfSwKLXsgMHgwYjMwLAkxNiwJezB4MDIsIDB4MGUsIDB4ODksIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGEsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGIsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGMsIDB4MDB9IH0sCi17IDB4MGI0MCwJMTYsCXsweDAyLCAweDBlLCAweDhkLCAweDAwLCAweDAyLCAweDBlLCAweDhlLCAweDAwLCAweDAyLCAweDBlLCAweDhmLCAweDAwLCAweDAyLCAweDBlLCAweDkwLCAweDAwfSB9LAoteyAweDBiNTAsCTgsCXsweDAyLCAweDBlLCAweDkxLCAweDAwLCAweDAyLCAweDBlLCAweDkyLCAweDAwfSB9LAoteyAweDBiNTgsCTE2LAl7MHhlNCwgMHhmZSwgMHg3NSwgMHgyYiwgMHhmZiwgMHg3NSwgMHgyYywgMHgxMSwgMHg3NSwgMHgyZCwgMHgxMiwgMHhhYiwgMHgyYiwgMHhhYSwgMHgyYywgMHhhOX0gfSwKLXsgMHgwYjY4LAkxNiwJezB4MmQsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MDcsIDB4ODUsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MmQsIDB4YWQsIDB4MDYsIDB4MGUsIDB4ZWQsIDB4YjV9IH0sCi17IDB4MGI3OCwJMTYsCXsweDA3LCAweDAxLCAweDIyLCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweDA3LCAweGQ0LCAweDg1LCAweGYwLCAweDI5LCAweGY1LCAweDJhLCAweDYyLCAweDI5fSB9LAoteyAweDBiODgsCTE2LAl7MHhlNSwgMHgyOSwgMHg2MiwgMHgyYSwgMHhlNSwgMHgyYSwgMHg2MiwgMHgyOSwgMHgyOSwgMHhmZCwgMHhlNSwgMHgyOSwgMHgzYSwgMHhhOSwgMHgwNSwgMHg3NX0gfSwKLXsgMHgwYjk4LAkxNCwJezB4MmIsIDB4ZmYsIDB4ZjUsIDB4MmMsIDB4ODksIDB4MmQsIDB4ODAsIDB4YzMsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MGJhNiwJMSwJezB4MjJ9IH0sCi17IDB4MGJhNywJNiwJezB4YWIsIDB4MDcsIDB4YWEsIDB4MDYsIDB4YWMsIDB4MDV9IH0sCi17IDB4MGJhZCwJMTYsCXsweGU0LCAweGZkLCAweGU1LCAweDExLCAweDYwLCAweDExLCAweGVhLCAweGZmLCAweGFlLCAweDA1LCAweDBkLCAweGVlLCAweDI0LCAweDEwLCAweGY1LCAweDgyfSB9LAoteyAweDBiYmQsCTE2LAl7MHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlYiwgMHhhZSwgMHgwNSwgMHgwZCwgMHg3NCwgMHgxMCwgMHgyZSwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgwYmNkLAkxNiwJezB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWIsIDB4ZjAsIDB4YWYsIDB4MDUsIDB4MGQsIDB4NzQsIDB4MTAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4MGJkZCwJMTYsCXsweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweGFmLCAweDBmLCAweDdhLCAweDBmLCAweDdiLCAweDEwLCAweDEyLCAweDBkLCAweDUxLCAweDdmfSB9LAoteyAweDBiZWQsCTYsCXsweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweGQ1fSB9LAoteyAweDBiZjMsCTEsCXsweDIyfSB9LAoteyAweDBiZjQsCTEwLAl7MHg4ZSwgMHgzMywgMHg4ZiwgMHgzNCwgMHg4ZCwgMHgzNSwgMHg4YSwgMHgzNiwgMHg4YiwgMHgzN30gfSwKLXsgMHgwYmZlLAkxNiwJezB4ZTQsIDB4ZmQsIDB4ZjUsIDB4MzgsIDB4ZTUsIDB4MTEsIDB4NjAsIDB4MTIsIDB4ZTUsIDB4MzMsIDB4ZmYsIDB4YWUsIDB4MDUsIDB4MGQsIDB4ZWUsIDB4MjR9IH0sCi17IDB4MGMwZSwJMTYsCXsweDEzLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDM0LCAweGFlLCAweDA1LCAweDBkLCAweDc0fSB9LAoteyAweDBjMWUsCTE2LAl7MHgxMywgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlNSwgMHgzNCwgMHhmMCwgMHhhZiwgMHgwZiwgMHg3YSwgMHgwZn0gfSwKLXsgMHgwYzJlLAkxNiwJezB4N2IsIDB4MTMsIDB4MTIsIDB4MGQsIDB4NTEsIDB4YWYsIDB4MGYsIDB4YWQsIDB4MzUsIDB4YWIsIDB4MzcsIDB4YWEsIDB4MzYsIDB4MTIsIDB4MGQsIDB4MzJ9IH0sCi17IDB4MGMzZSwJMSwJezB4MjJ9IH0sCi17IDB4MGMzZiwJMiwJezB4OGYsIDB4Mjl9IH0sCi17IDB4MGM0MSwJMTYsCXsweGU0LCAweGY1LCAweDJhLCAweDc1LCAweDJiLCAweGZmLCAweDc1LCAweDJjLCAweDExLCAweDc1LCAweDJkLCAweDMyLCAweGFiLCAweDJiLCAweGFhLCAweDJjfSB9LAoteyAweDBjNTEsCTE2LAl7MHhhOSwgMHgyZCwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwNywgMHg4NSwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgyYSwgMHgwNSwgMHgyYSwgMHhlZn0gfSwKLXsgMHgwYzYxLAkxNiwJezB4YjUsIDB4MjksIDB4MDEsIDB4MjIsIDB4MTIsIDB4MDcsIDB4NmMsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzV9IH0sCi17IDB4MGM3MSwJMTQsCXsweDJiLCAweGZmLCAweGY1LCAweDJjLCAweDg5LCAweDJkLCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDBjN2YsCTEsCXsweDIyfSB9LAoteyAweDBjODAsCTEwLAl7MHg4ZSwgMHgzMywgMHg4ZiwgMHgzNCwgMHg4ZCwgMHgzNSwgMHg4YSwgMHgzNiwgMHg4YiwgMHgzN30gfSwKLXsgMHgwYzhhLAkxNiwJezB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZTUsIDB4MzgsIDB4YzMsIDB4OTUsIDB4MzUsIDB4NTAsIDB4MjAsIDB4MDUsIDB4MzQsIDB4ZTUsIDB4MzQsIDB4YWUsIDB4MzN9IH0sCi17IDB4MGM5YSwJMTYsCXsweDcwLCAweDAyLCAweDA1LCAweDMzLCAweDE0LCAweGZmLCAweGU1LCAweDM3LCAweDI1LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDM2LCAweGY1fSB9LAoteyAweDBjYWEsCTEwLAl7MHg4MywgMHhlMCwgMHhmZCwgMHgxMiwgMHgwYiwgMHhhNywgMHgwNSwgMHgzOCwgMHg4MCwgMHhkOX0gfSwKLXsgMHgwY2I0LAkxLAl7MHgyMn0gfSwKLXsgMHgwY2I1LAkxNiwJezB4YTksIDB4MDcsIDB4ZTUsIDB4MGQsIDB4NzAsIDB4MjUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTksIDB4MjUsIDB4ZTB9IH0sCi17IDB4MGNjNSwJMTYsCXsweDQ0LCAweDAxLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDhkLCAweDA4LCAweGFmLCAweDAzLCAweGE5LCAweDA3LCAweDc1LCAweDA5LCAweDAxLCAweDhhfSB9LAoteyAweDBjZDUsCTEzLAl7MHgwYSwgMHg4OSwgMHgwYiwgMHhlNCwgMHhmNSwgMHgwYywgMHg3NSwgMHgwZCwgMHgwMywgMHhkMywgMHgyMiwgMHhjMywgMHgyMn0gfSwKLXsgMHgwY2UyLAkxNiwJezB4YTksIDB4MDcsIDB4ZTUsIDB4MGQsIDB4NzAsIDB4MjMsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTksIDB4MjUsIDB4ZTB9IH0sCi17IDB4MGNmMiwJMTYsCXsweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDhkLCAweDA4LCAweGFmLCAweDAzLCAweGE5LCAweDA3LCAweDc1LCAweDA5LCAweDAxLCAweDhhLCAweDBhLCAweDg5fSB9LAoteyAweDBkMDIsCTExLAl7MHgwYiwgMHhlNCwgMHhmNSwgMHgwYywgMHg3NSwgMHgwZCwgMHgwMSwgMHhkMywgMHgyMiwgMHhjMywgMHgyMn0gfSwKLXsgMHgwZDBkLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MDYsIDB4MDQsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MGQxZCwJMTYsCXsweDAyLCAweGYwLCAweDdmLCAweGQwLCAweDdlLCAweDA3LCAweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwfSB9LAoteyAweDBkMmQsCTUsCXsweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyfSB9LAoteyAweDBkMzIsCTE2LAl7MHgxMiwgMHgwYywgMHhiNSwgMHhlNSwgMHgwZCwgMHgyNCwgMHhmYSwgMHg2MCwgMHgxMCwgMHgxNCwgMHg2MCwgMHgwNywgMHgyNCwgMHgwNywgMHg3MCwgMHhmM30gfSwKLXsgMHgwZDQyLAkxNSwJezB4N2YsIDB4MDgsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDYsIDB4MjJ9IH0sCi17IDB4MGQ1MSwJMTYsCXsweDEyLCAweDBjLCAweGUyLCAweGU1LCAweDBkLCAweDI0LCAweGZhLCAweDYwLCAweDEwLCAweDE0LCAweDYwLCAweDA3LCAweDI0LCAweDA3LCAweDcwLCAweGYzfSB9LAoteyAweDBkNjEsCTE1LAl7MHg3ZiwgMHgwOCwgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNywgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNiwgMHgyMn0gfSwKLXsgMHgwZDcwLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGQ4MCwJMTEsCXsweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkOGIsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgxMiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgxNCwgMHg3ZSwgMHgwMCwgMHgxMn0gfSwKLXsgMHgwZDliLAkxMCwJezB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MGRhNSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGQyLCAweDAxLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxfSB9LAoteyAweDBkYjUsCTgsCXsweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkYmQsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhkMiwgMHgwMywgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOH0gfSwKLXsgMHgwZGNkLAk4LAl7MHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGQ1LAkxNiwJezB4OGUsIDB4MzksIDB4OGYsIDB4M2EsIDB4ZTUsIDB4M2EsIDB4MTUsIDB4M2EsIDB4YWUsIDB4MzksIDB4NzAsIDB4MDIsIDB4MTUsIDB4MzksIDB4NGUsIDB4NjB9IH0sCi17IDB4MGRlNSwJNywJezB4MDUsIDB4MTIsIDB4MGUsIDB4NDEsIDB4ODAsIDB4ZWUsIDB4MjJ9IH0sCi17IDB4MGRlYywJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAyLCAweGYwLCAweGQwfSB9LAoteyAweDBkZmMsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBlMDIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgxMCwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwZTEyLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZTE4LAkxNiwJezB4YWUsIDB4MDcsIDB4N2YsIDB4MjEsIDB4N2QsIDB4MDEsIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4YWIsIDB4ODJ9IH0sCi17IDB4MGUyOCwJNSwJezB4ZmEsIDB4MTIsIDB4MGQsIDB4NTEsIDB4MjJ9IH0sCi17IDB4MGUyZCwJMTYsCXsweDUwLCAweDBmLCAweDAwLCAweGMwLCAweGY5LCAweGE0LCAweGIwLCAweDk5LCAweDkyLCAweDgyLCAweGY4LCAweDgwLCAweDk4LCAweDg4LCAweDgzLCAweGM2fSB9LAoteyAweDBlM2QsCTMsCXsweGExLCAweDg2LCAweDhlfSB9LAoteyAweDBlNDAsCTEsCXsweDAwfSB9LAoteyAweDBlNDEsCTE2LAl7MHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOX0gfSwKLXsgMHgwZTUxLAkxLAl7MHgyMn0gfSwKLXsgMHgwZTUyLAkxNCwJezB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU2MCwJOCwJezB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MGUsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU2OCwJOCwJezB4ZTQsIDB4ZjUsIDB4MGQsIDB4ZDIsIDB4ZTksIDB4ZDIsIDB4YWYsIDB4MjJ9IH0sCi17IDB4MGU3MCwJNCwJezB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9IH0sCi17IDB4MGU3NCwJMywJezB4ZDIsIDB4MDAsIDB4MjJ9IH0sCi17IDB4MGU3NywJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU3OSwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU3YiwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU3ZCwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU3ZiwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU4MSwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU4MywJMSwJezB4MzJ9IH0sCi17IDB4MGU4NCwJMSwJezB4MzJ9IH0sCi17IDB4MGU4NSwJMSwJezB4MzJ9IH0sCi17IDB4MGU4NiwJMSwJezB4MzJ9IH0sCi17IDB4MGU4NywJMSwJezB4MzJ9IH0sCi17IDB4MGU4OCwJMSwJezB4MzJ9IH0sCi17IDB4MGU4OSwJMSwJezB4MzJ9IH0sCi17IDB4MGU4YSwJMSwJezB4MzJ9IH0sCi17IDB4MGU4YiwJMSwJezB4MzJ9IH0sCi17IDB4MGU4YywJMSwJezB4MzJ9IH0sCi17IDB4MGU4ZCwJMSwJezB4MzJ9IH0sCi17IDB4MGU4ZSwJMSwJezB4MzJ9IH0sCi17IDB4MGU4ZiwJMSwJezB4MzJ9IH0sCi17IDB4MGU5MCwJMSwJezB4MzJ9IH0sCi17IDB4MGU5MSwJMSwJezB4MzJ9IH0sCi17IDB4MGU5MiwJMSwJezB4MzJ9IH0sCi17IDB4MTEwMCwJMTYsCXsweDEyLCAweDAxLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDQwLCAweDQ3LCAweDA1LCAweDEwLCAweDI3LCAweDAxLCAweDAwLCAweDAxLCAweDAyfSB9LAoteyAweDExMTAsCTE2LAl7MHgwMCwgMHgwMSwgMHgwOSwgMHgwMiwgMHgyMCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMywgMHhhMCwgMHgwMCwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMn0gfSwKLXsgMHgxMTIwLAkxNiwJezB4ZmYsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDB9IH0sCi17IDB4MTEzMCwJMTYsCXsweDAwLCAweDAwLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDI2LCAweDAzLCAweDQxLCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDY4LCAweDAwfSB9LAoteyAweDExNDAsCTE2LAl7MHg2ZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MywgMHgwMCwgMHg2OCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3MywgMHgwMH0gfSwKLXsgMHgxMTUwLAkxNiwJezB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MjgsIDB4MDMsIDB4NDYsIDB4MDB9IH0sCi17IDB4MTE2MCwJMTYsCXsweDY5LCAweDAwLCAweDcyLCAweDAwLCAweDZkLCAweDAwLCAweDc3LCAweDAwLCAweDYxLCAweDAwLCAweDcyLCAweDAwLCAweDY1LCAweDAwLCAweDIwLCAweDAwfSB9LAoteyAweDExNzAsCTE2LAl7MHg0NiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg1NywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3MiwgMHgwMH0gfSwKLXsgMHgxMTgwLAkxNiwJezB4NmIsIDB4MDAsIDB4NzMsIDB4MDAsIDB4MmEsIDB4MDMsIDB4NDMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjYsIDB4MDAsIDB4NjksIDB4MDB9IH0sCi17IDB4MTE5MCwJMTYsCXsweDY3LCAweDAwLCAweDc1LCAweDAwLCAweDcyLCAweDAwLCAweDYxLCAweDAwLCAweDc0LCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwfSB9LAoteyAweDExYTAsCTE2LAl7MHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMCwgMHgyMiwgMHgwM30gfSwKLXsgMHgxMWIwLAkxNiwJezB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjYsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjMsIDB4MDB9IH0sCi17IDB4MTFjMCwJMTYsCXsweDY1LCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwfSB9LAoteyAweDExZDAsCTIsCXsweDAwLCAweDAwfSB9LAoteyAweGZmZmYsCTAsCXsweDAwfSB9Ci19OwotCi0jZWxzZQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IHdoaXRlaGVhdF9oZXhfcmVjb3JkIHdoaXRlaGVhdF9sb2FkZXJbXSA9IHsKLXsgMHgwMDAwLAkzLAl7MHgwMiwgMHgwOSwgMHg4ZH0gfSwKLXsgMHgwMDMzLAkzLAl7MHgwMiwgMHgwOCwgMHhmYn0gfSwKLXsgMHgwMDQzLAkzLAl7MHgwMiwgMHgwYiwgMHgwMH0gfSwKLXsgMHgwMDRiLAkzLAl7MHgwMiwgMHgwNSwgMHhhYX0gfSwKLXsgMHgwMTAwLAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NTQsIDB4MTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4NTAsIDB4ZjUsIDB4MGYsIDB4MTMsIDB4ZTR9IH0sCi17IDB4MDExMCwJMTYsCXsweDMzLCAweGY1LCAweDExLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDI0LCAweDVlLCAweGI0LCAweDA3LCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDAzfSB9LAoteyAweDAxMjAsCTE2LAl7MHg3OCwgMHg5MCwgMHgwMSwgMHgyOCwgMHhmOCwgMHgyOCwgMHgyOCwgMHg3MywgMHgwMiwgMHgwMSwgMHhiYywgMHgwMiwgMHgwMSwgMHhiYywgMHgwMiwgMHgwMX0gfSwKLXsgMHgwMTMwLAkxNiwJezB4OTEsIDB4MDIsIDB4MDEsIDB4M2QsIDB4MDIsIDB4MDEsIDB4NTMsIDB4MDIsIDB4MDEsIDB4NmYsIDB4MDIsIDB4MDEsIDB4OWEsIDB4OTAsIDB4N2YsIDB4MDB9IH0sCi17IDB4MDE0MCwJMTYsCXsweGU1LCAweDExLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwfSB9LAoteyAweDAxNTAsCTE2LAl7MHgwMiwgMHgwMywgMHg3OCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwMTYwLAkxNiwJezB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDMsIDB4NzgsIDB4MTJ9IH0sCi17IDB4MDE3MCwJMTYsCXsweDBhLCAweDg5LCAweDUwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweDgwLCAweDA2LCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDBmfSB9LAoteyAweDAxODAsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwM30gfSwKLXsgMHgwMTkwLAkxNiwJezB4NzgsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MGYsIDB4MDIsIDB4MDMsIDB4NzgsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDcsIDB4ZjB9IH0sCi17IDB4MDFhMCwJMTYsCXsweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGU4LCAweDdlfSB9LAoteyAweDAxYjAsCTE2LAl7MHgwMywgMHgxMiwgMHgwZCwgMHg5NCwgMHhkMiwgMHgwNiwgMHgxMiwgMHgwYywgMHhjYywgMHgwMiwgMHgwMywgMHg3OCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMH0gfSwKLXsgMHgwMWMwLAkxNiwJezB4NzUsIDB4MjgsIDB4MDAsIDB4ZjUsIDB4MjksIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4ZTQsIDB4ZWUsIDB4NDIsIDB4MjgsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTB9IH0sCi17IDB4MDFkMCwJMTYsCXsweDc1LCAweDJhLCAweDAwLCAweGY1LCAweDJiLCAweGEzLCAweGUwLCAweGZlLCAweGU0LCAweGVlLCAweDQyLCAweDJhLCAweDkwLCAweDdmLCAweGU4LCAweGUwfSB9LAoteyAweDAxZTAsCTE2LAl7MHg2NCwgMHhjMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwMiwgMHhjOSwgMHhlNSwgMHgyYiwgMHg0NSwgMHgyYSwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMywgMHg3OH0gfSwKLXsgMHgwMWYwLAkxNiwJezB4YzMsIDB4ZTUsIDB4MmIsIDB4OTQsIDB4NDAsIDB4ZTUsIDB4MmEsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDgsIDB4ODUsIDB4MmEsIDB4MmMsIDB4ODUsIDB4MmJ9IH0sCi17IDB4MDIwMCwJMTYsCXsweDJkLCAweDgwLCAweDA2LCAweDc1LCAweDJjLCAweDAwLCAweDc1LCAweDJkLCAweDQwLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDY0LCAweGEzLCAweDcwfSB9LAoteyAweDAyMTAsCTE2LAl7MHgzNCwgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhjMywgMHhlNSwgMHgzMSwgMHg5NSwgMHgyZCwgMHhlNSwgMHgzMCwgMHg5NSwgMHgyYywgMHg1MCwgMHg1Y30gfSwKLXsgMHgwMjIwLAkxNiwJezB4ZTUsIDB4MjksIDB4MjUsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzAsIDB4MzUsIDB4MjgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4MDB9IH0sCi17IDB4MDIzMCwJMTYsCXsweDI1LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDMxLCAweGU1LCAweDMxLCAweDcwfSB9LAoteyAweDAyNDAsCTE2LAl7MHgwMiwgMHgwNSwgMHgzMCwgMHg4MCwgMHhkMCwgMHhlNCwgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhjMywgMHhlNSwgMHgzMSwgMHg5NSwgMHgyZCwgMHhlNX0gfSwKLXsgMHgwMjUwLAkxNiwJezB4MzAsIDB4OTUsIDB4MmMsIDB4NTAsIDB4MTgsIDB4NzQsIDB4MDAsIDB4MjUsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MDI2MCwJMTYsCXsweDc0LCAweGNkLCAweGYwLCAweDA1LCAweDMxLCAweGU1LCAweDMxLCAweDcwLCAweDAyLCAweDA1LCAweDMwLCAweDgwLCAweGRkLCAweGFmLCAweDI5LCAweGFlfSB9LAoteyAweDAyNzAsCTE2LAl7MHgyOCwgMHhhZCwgMHgyZCwgMHg3YSwgMHg3ZiwgMHg3OSwgMHgwMCwgMHg3YiwgMHgwMCwgMHgxMiwgMHgwYiwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhlNX0gfSwKLXsgMHgwMjgwLAkxNiwJezB4MmQsIDB4ZjAsIDB4ZTUsIDB4MmQsIDB4MjUsIDB4MjksIDB4ZjUsIDB4MjksIDB4ZTUsIDB4MmMsIDB4MzUsIDB4MjgsIDB4ZjUsIDB4MjgsIDB4YzMsIDB4ZTV9IH0sCi17IDB4MDI5MCwJMTYsCXsweDJiLCAweDk1LCAweDJkLCAweGY1LCAweDJiLCAweGU1LCAweDJhLCAweDk1LCAweDJjLCAweGY1LCAweDJhLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmfSB9LAoteyAweDAyYTAsCTE2LAl7MHhjNCwgMHg1NCwgMHgwZiwgMHg3NSwgMHgyZSwgMHgwMCwgMHhmNSwgMHgyZiwgMHhkMywgMHg5NCwgMHgwMCwgMHhlNSwgMHgyZSwgMHg5NCwgMHgwMCwgMHg1MH0gfSwKLXsgMHgwMmIwLAkxNiwJezB4MGMsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZTcsIDB4ODAsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4YjR9IH0sCi17IDB4MDJjMCwJMTYsCXsweGUwLCAweDIwLCAweGUyLCAweDAzLCAweDAyLCAweDAxLCAweGU3LCAweDgwLCAweGY0LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDY0LCAweDQwLCAweDYwfSB9LAoteyAweDAyZDAsCTE2LAl7MHgwMywgMHgwMiwgMHgwMywgMHg3OCwgMHhlNSwgMHgyYiwgMHg0NSwgMHgyYSwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMywgMHg3OCwgMHhlNCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMmUwLAkxNiwJezB4YzUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NzUsIDB4MmUsIDB4MDAsIDB4ZjUsIDB4MmYsIDB4ZDN9IH0sCi17IDB4MDJmMCwJMTYsCXsweDk0LCAweDAwLCAweGU1LCAweDJlLCAweDk0LCAweDAwLCAweDUwLCAweDA5LCAweDkwLCAweDdmLCAweGM0LCAweGUwLCAweDMwLCAweGUxLCAweDA5LCAweDgwfSB9LAoteyAweDAzMDAsCTE2LAl7MHhmNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHgyMCwgMHhlMywgMHhmOSwgMHg5MCwgMHg3ZiwgMHhjNSwgMHhlMCwgMHg3NSwgMHgyYywgMHgwMCwgMHhmNX0gfSwKLXsgMHgwMzEwLAkxNiwJezB4MmQsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NjQsIDB4YTMsIDB4NzAsIDB4MzQsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4YzMsIDB4ZTUsIDB4MzF9IH0sCi17IDB4MDMyMCwJMTYsCXsweDk1LCAweDJkLCAweGU1LCAweDMwLCAweDk1LCAweDJjLCAweDUwLCAweDM0LCAweDc0LCAweGMwLCAweDI1LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM0fSB9LAoteyAweDAzMzAsCTEsCXsweDdlfSB9LAoteyAweDAzMzEsCTE2LAl7MHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgyOSwgMHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzMCwgMHgzNSwgMHgyOCwgMHhmNSwgMHg4M30gfSwKLXsgMHgwMzQxLAkxNiwJezB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzEsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzAsIDB4ODAsIDB4ZDAsIDB4YWYsIDB4MjksIDB4YWUsIDB4Mjh9IH0sCi17IDB4MDM1MSwJMTYsCXsweGFkLCAweDJkLCAweDdhLCAweDdlLCAweDc5LCAweGMwLCAweDdiLCAweGMwLCAweDEyLCAweDBjLCAweDNmLCAweGU1LCAweDJkLCAweDI1LCAweDI5LCAweGY1fSB9LAoteyAweDAzNjEsCTE2LAl7MHgyOSwgMHhlNSwgMHgyYywgMHgzNSwgMHgyOCwgMHhmNSwgMHgyOCwgMHhjMywgMHhlNSwgMHgyYiwgMHg5NSwgMHgyZCwgMHhmNSwgMHgyYiwgMHhlNSwgMHgyYX0gfSwKLXsgMHgwMzcxLAk5LAl7MHg5NSwgMHgyYywgMHhmNSwgMHgyYSwgMHgwMiwgMHgwMiwgMHhkNCwgMHhjMywgMHgyMn0gfSwKLXsgMHgwMzdhLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NTIsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4Y2UsIDB4MjR9IH0sCi17IDB4MDM4YSwJMTYsCXsweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDA1LCAweDQyLCAweDI0LCAweGZiLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDRjLCAweDE0LCAweDcwLCAweDAzfSB9LAoteyAweDAzOWEsCTE2LAl7MHgwMiwgMHgwNCwgMHg0NiwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzYSwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHgyNH0gfSwKLXsgMHgwM2FhLAkxNiwJezB4MDUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4OTYsIDB4MTIsIDB4MGUsIDB4NDQsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDNiYSwJMTYsCXsweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLCAweDQwLCAweDI0LCAweDAyLCAweDcwLCAweDY5LCAweDc0LCAweDExLCAweDkwfSB9LAoteyAweDAzY2EsCTE2LAl7MHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMH0gfSwKLXsgMHgwM2RhLAkxNiwJezB4ZmYsIDB4MTIsIDB4MGIsIDB4NTgsIDB4OGIsIDB4MjUsIDB4OGEsIDB4MjYsIDB4ODksIDB4MjcsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDJ9IH0sCi17IDB4MDNlYSwJMTYsCXsweGVlLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGFmLCAweDAxLCAweGVmLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwfSB9LAoteyAweDAzZmEsCTE2LAl7MHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwOH0gfSwKLXsgMHgwNDBhLAkxNiwJezB4YmEsIDB4OGIsIDB4MjUsIDB4OGEsIDB4MjYsIDB4ODksIDB4MjcsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDQxYSwJMTYsCXsweGQ0LCAweGYwLCAweGFmLCAweDAxLCAweGVmLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGI0LCAweGUwfSB9LAoteyAweDA0MmEsCTE2LAl7MHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMn0gfSwKLXsgMHgwNDNhLAkxNiwJezB4MTIsIDB4MGUsIDB4MWYsIDB4MDIsIDB4MDUsIDB4YTIsIDB4MTIsIDB4MGUsIDB4MmQsIDB4MDIsIDB4MDUsIDB4YTIsIDB4MTIsIDB4MGEsIDB4ZjcsIDB4MDJ9IH0sCi17IDB4MDQ0YSwJMTYsCXsweDA1LCAweGEyLCAweDEyLCAweDBlLCAweDExLCAweDAyLCAweDA1LCAweGEyLCAweDEyLCAweDBlLCAweDQ2LCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGEyfSB9LAoteyAweDA0NWEsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMn0gfSwKLXsgMHgwNDZhLAkxNiwJezB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDIsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjB9IH0sCi17IDB4MDQ3YSwJMTYsCXsweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweGU0LCAweDkwLCAweDdmLCAweDAwfSB9LAoteyAweDA0OGEsCTE2LAl7MHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMH0gfSwKLXsgMHgwNDlhLAkxNiwJezB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjR9IH0sCi17IDB4MDRhYSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzfSB9LAoteyAweDA0YmEsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMX0gfSwKLXsgMHgwNGNhLAkxNiwJezB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4MTIsIDB4MGUsIDB4NDgsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTB9IH0sCi17IDB4MDRkYSwJMTYsCXsweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0fSB9LAoteyAweDA0ZWEsCTE2LAl7MHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNX0gfSwKLXsgMHgwNGZhLAkxNiwJezB4YTIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzR9IH0sCi17IDB4MDUwYSwJMTYsCXsweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmfSB9LAoteyAweDA1MWEsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZn0gfSwKLXsgMHgwNTJhLAkxNiwJezB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NjksIDB4OTB9IH0sCi17IDB4MDUzYSwJMTYsCXsweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDYwLCAweDEyLCAweDBlLCAweDRhLCAweDUwLCAweDViLCAweDkwLCAweDdmLCAweGU4fSB9LAoteyAweDA1NGEsCTE2LAl7MHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0ZiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNH0gfSwKLXsgMHgwNTVhLAkxNiwJezB4ZDIsIDB4MDAsIDB4ODAsIDB4NDQsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4M2IsIDB4OTAsIDB4N2YsIDB4ZWF9IH0sCi17IDB4MDU2YSwJMTYsCXsweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwfSB9LAoteyAweDA1N2EsCTE2LAl7MHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMX0gfSwKLXsgMHgwNThhLAkxNiwJezB4ZjAsIDB4ODAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MGMsIDB4MTIsIDB4MDEsIDB4MDAsIDB4NTB9IH0sCi17IDB4MDU5YSwJMTYsCXsweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyfSB9LAoteyAweDA1YWEsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMH0gfSwKLXsgMHgwNWJhLAkxNiwJezB4ZDAsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YTV9IH0sCi17IDB4MDVjYSwJMTYsCXsweGUwLCAweDMwLCAweGUyLCAweDA2LCAweDc1LCAweDBkLCAweDA2LCAweDAyLCAweDA2LCAweDc2LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDIwLCAweGUxfSB9LAoteyAweDA1ZGEsCTE2LAl7MHgwYywgMHhlNSwgMHgwZCwgMHg2NCwgMHgwMiwgMHg2MCwgMHgwNiwgMHg3NSwgMHgwZCwgMHgwNywgMHgwMiwgMHgwNiwgMHg3NiwgMHhhZiwgMHgwZCwgMHhlZn0gfSwKLXsgMHgwNWVhLAkxNiwJezB4MjQsIDB4ZmUsIDB4NjAsIDB4NDgsIDB4MTQsIDB4NjAsIDB4MmMsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4NzcsIDB4MjQsIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDJ9IH0sCi17IDB4MDVmYSwJMTYsCXsweDA2LCAweDc2LCAweGFiLCAweDA5LCAweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFmLCAweDBjLCAweDA1LCAweDBjLCAweDhmLCAweDgyLCAweDc1LCAweDgzfSB9LAoteyAweDA2MGEsCTE2LAl7MHgwMCwgMHgxMiwgMHgwOCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHhlNSwgMHgwYywgMHg2NSwgMHgwOCwgMHg3MCwgMHg1ZSwgMHg3NSwgMHgwZH0gfSwKLXsgMHgwNjFhLAkxNiwJezB4MDUsIDB4ODAsIDB4NTksIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4YWIsIDB4MDksIDB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWUsIDB4MGMsIDB4OGV9IH0sCi17IDB4MDYyYSwJMTYsCXsweDgyLCAweDc1LCAweDgzLCAweDAwLCAweDEyLCAweDA4LCAweDRmLCAweDc1LCAweDBkLCAweDAyLCAweDgwLCAweDQwLCAweGU1LCAweDA4LCAweDI0LCAweGZlfSB9LAoteyAweDA2M2EsCTE2LAl7MHhiNSwgMHgwYywgMHgwNywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHhlNSwgMHgwOCwgMHgxNCwgMHhiNSwgMHgwYywgMHgwYX0gfSwKLXsgMHgwNjRhLAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4YWIsIDB4MDl9IH0sCi17IDB4MDY1YSwJMTYsCXsweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFlLCAweDBjLCAweDhlLCAweDgyLCAweDc1LCAweDgzLCAweDAwLCAweDEyLCAweDA4LCAweDRmLCAweDA1LCAweDBjfSB9LAoteyAweDA2NmEsCTE2LAl7MHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgwZCwgMHg1MywgMHg5MSwgMHhkZiwgMHhkMH0gfSwKLXsgMHgwNjdhLAkxNiwJezB4MDcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDMsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDB9IH0sCi17IDB4MDY4YSwJMTAsCXsweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDA2OTQsCTE2LAl7MHg4YywgMHgzMywgMHg4ZCwgMHgzNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHhjMCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgzNSwgMHhmNSwgMHgzNn0gfSwKLXsgMHgwNmE0LAkxNiwJezB4YzMsIDB4ZTUsIDB4MzYsIDB4OTUsIDB4MzQsIDB4ZTUsIDB4MzUsIDB4OTUsIDB4MzMsIDB4NTAsIDB4NjksIDB4ZWYsIDB4MjUsIDB4MzYsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MDZiNCwJMTYsCXsweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweDc0LCAweGZmLCAweGYwLCAweGY0LCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM2fSB9LAoteyAweDA2YzQsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNn0gfSwKLXsgMHgwNmQ0LAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4YWEsIDB4ZjAsIDB4NjQsIDB4YWEsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MDZlNCwJMTYsCXsweGVmLCAweDI1LCAweDM2LCAweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweDc0LCAweDU1LCAweGYwLCAweDY0LCAweDU1LCAweDYwfSB9LAoteyAweDA2ZjQsCTE2LAl7MHgwMiwgMHhjMywgMHgyMiwgMHhhZCwgMHgzNiwgMHhlNSwgMHgzNiwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHhlZH0gfSwKLXsgMHgwNzA0LAkxNiwJezB4ZjAsIDB4ZmMsIDB4YWMsIDB4MDUsIDB4ZWQsIDB4NmMsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4MDUsIDB4MzYsIDB4ZTUsIDB4MzYsIDB4NzAsIDB4MDJ9IH0sCi17IDB4MDcxNCwJMTYsCXsweDA1LCAweDM1LCAweDgwLCAweDhjLCAweGU0LCAweGY1LCAweDM1LCAweGY1LCAweDM2LCAweGMzLCAweGU1LCAweDM2LCAweDk1LCAweDM0LCAweGU1LCAweDM1fSB9LAoteyAweDA3MjQsCTE2LAl7MHg5NSwgMHgzMywgMHg1MCwgMHgyNywgMHhlZiwgMHgyNSwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHhlMCwgMHg2NX0gfSwKLXsgMHgwNzM0LAkxNiwJezB4MzYsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTR9IH0sCi17IDB4MDc0NCwJMTMsCXsweGYwLCAweDA1LCAweDM2LCAweGU1LCAweDM2LCAweDcwLCAweDAyLCAweDA1LCAweDM1LCAweDgwLCAweGNlLCAweGQzLCAweDIyfSB9LAoteyAweDA3NTEsCTE2LAl7MHhjMiwgMHgwNCwgMHhkMiwgMHgwNSwgMHhjMiwgMHgwMywgMHhjMiwgMHgwMCwgMHhjMiwgMHgwMiwgMHhjMiwgMHgwMSwgMHgxMiwgMHgwZSwgMHgzZCwgMHhkMn0gfSwKLXsgMHgwNzYxLAkxNiwJezB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDc3MSwJMTYsCXsweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDkzLCAweDc0fSB9LAoteyAweDA3ODEsCTE2LAl7MHgzMCwgMHhmMCwgMHgxMiwgMHgwYSwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMH0gfSwKLXsgMHgwNzkxLAkxNiwJezB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4MTIsIDB4MGUsIDB4MzUsIDB4MjAsIDB4MDEsIDB4NDIsIDB4NzUsIDB4MjQsIDB4MDAsIDB4NzUsIDB4MjN9IH0sCi17IDB4MDdhMSwJMTYsCXsweDAwLCAweDc1LCAweDIyLCAweDAwLCAweDc1LCAweDIxLCAweDAwLCAweDdmLCAweDQ4LCAweDdlLCAweDkyLCAweDdkLCAweDAwLCAweDdjLCAweDAwLCAweGFifSB9LAoteyAweDA3YjEsCTE2LAl7MHgyNCwgMHhhYSwgMHgyMywgMHhhOSwgMHgyMiwgMHhhOCwgMHgyMSwgMHhjMywgMHgxMiwgMHgwOCwgMHhhOSwgMHg1MCwgMHhkYiwgMHgyMCwgMHgwMSwgMHhkOH0gfSwKLXsgMHgwN2MxLAkxNiwJezB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzgsIDB4MDAsIDB4ZTUsIDB4MjQsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4MjQsIDB4ZWEsIDB4MzUsIDB4MjMsIDB4ZjV9IH0sCi17IDB4MDdkMSwJMTYsCXsweDIzLCAweGU5LCAweDM1LCAweDIyLCAweGY1LCAweDIyLCAweGU4LCAweDM1LCAweDIxLCAweGY1LCAweDIxLCAweDgwLCAweGNhLCAweDMwLCAweDAxLCAweDA1fSB9LAoteyAweDA3ZTEsCTE2LAl7MHgxMiwgMHgwMywgMHg3YSwgMHhjMiwgMHgwMSwgMHgzMCwgMHgwNCwgMHgxYSwgMHgxMiwgMHgwZSwgMHg0MCwgMHg1MCwgMHgxMywgMHgxMiwgMHgwOSwgMHgwMH0gfSwKLXsgMHgwN2YxLAkxNiwJezB4MzAsIDB4MDAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4ZjMsIDB4MTIsIDB4MGQsIDB4NGEsIDB4MTIsIDB4MGUsIDB4NDJ9IH0sCi17IDB4MDgwMSwJOCwJezB4YzIsIDB4MDMsIDB4MTIsIDB4MDgsIDB4ZmYsIDB4ODAsIDB4ZDYsIDB4MjJ9IH0sCi17IDB4MDgwOSwJMTYsCXsweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyfSB9LAoteyAweDA4MTksCTksCXsweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyfSB9LAoteyAweDA4MjIsCTE2LAl7MHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MH0gfSwKLXsgMHgwODMyLAkxNiwJezB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjJ9IH0sCi17IDB4MDg0MiwJMTMsCXsweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyfSB9LAoteyAweDA4NGYsCTE2LAl7MHhmOCwgMHhiYiwgMHgwMSwgMHgwZCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlOCwgMHhmMH0gfSwKLXsgMHgwODVmLAkxNiwJezB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4YzgsIDB4ZjYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDUsIDB4ZTksIDB4MjUsIDB4ODIsIDB4Yzh9IH0sCi17IDB4MDg2ZiwJMiwJezB4ZjIsIDB4MjJ9IH0sCi17IDB4MDg3MSwJMTYsCXsweGJiLCAweDAxLCAweDEwLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGYwfSB9LAoteyAweDA4ODEsCTE2LAl7MHhhMywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHg4NiwgMHhmMCwgMHgwOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZX0gfSwKLXsgMHgwODkxLAkxNiwJezB4MGEsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4ZjUsIDB4ZjAsIDB4MDgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODMsIDB4MmEsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MDhhMSwJOCwJezB4ZTksIDB4OTMsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDhhOSwJMTYsCXsweGViLCAweDlmLCAweGY1LCAweGYwLCAweGVhLCAweDllLCAweDQyLCAweGYwLCAweGU5LCAweDlkLCAweDQyLCAweGYwLCAweGU4LCAweDljLCAweDQ1LCAweGYwfSB9LAoteyAweDA4YjksCTEsCXsweDIyfSB9LAoteyAweDA4YmEsCTIsCXsweDhmLCAweDI4fSB9LAoteyAweDA4YmMsCTE2LAl7MHhlNCwgMHhmNSwgMHgyOSwgMHg3NSwgMHgyYSwgMHhmZiwgMHg3NSwgMHgyYiwgMHgxMSwgMHg3NSwgMHgyYywgMHgzMiwgMHhhYiwgMHgyYSwgMHhhYSwgMHgyYn0gfSwKLXsgMHgwOGNjLAkxNiwJezB4YTksIDB4MmMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MDgsIDB4MjIsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MjksIDB4MDUsIDB4MjksIDB4ZWZ9IH0sCi17IDB4MDhkYywJMTYsCXsweGI1LCAweDI4LCAweDAxLCAweDIyLCAweDEyLCAweDA4LCAweDA5LCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1fSB9LAoteyAweDA4ZWMsCTE0LAl7MHgyYSwgMHhmZiwgMHhmNSwgMHgyYiwgMHg4OSwgMHgyYywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwOGZhLAkxLAl7MHgyMn0gfSwKLXsgMHgwOGZiLAk0LAl7MHg1MywgMHhkOCwgMHhlZiwgMHgzMn0gfSwKLXsgMHgwOGZmLAkxLAl7MHgyMn0gfSwKLXsgMHgwOTAwLAk5LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHg3NH0gfSwKLXsgMHgwOTdkLAkxNiwJezB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjJ9IH0sCi17IDB4MDk4ZCwJMTIsCXsweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDM5LCAweDAyLCAweDA5LCAweGQ0fSB9LAoteyAweDA5OTksCTE2LAl7MHgwMiwgMHgwNywgMHg1MSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMn0gfSwKLXsgMHgwOWE5LAkxNiwJezB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzN9IH0sCi17IDB4MDliOSwJMTYsCXsweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmfSB9LAoteyAweDA5YzksCTE2LAl7MHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgwZCwgMHhlYywgMHhlNCwgMHg3ZX0gfSwKLXsgMHgwOWQ5LAkxNiwJezB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTN9IH0sCi17IDB4MDllOSwJMTYsCXsweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzfSB9LAoteyAweDA5ZjksCTE2LAl7MHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYX0gfSwKLXsgMHgwYTA5LAkxNiwJezB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmV9IH0sCi17IDB4MGExOSwJMTYsCXsweGU0LCAweDkwLCAweDdmLCAweDljLCAweGYwLCAweDdmLCAweDBhLCAweGZlLCAweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDg5fSB9LAoteyAweDBhMjksCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhjZiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwYTM5LAkxNiwJezB4OTYsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4OTQsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9IH0sCi17IDB4MGE0OSwJMTYsCXsweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDdmLCAweDA1fSB9LAoteyAweDBhNTksCTE2LAl7MHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwYTY5LAkxNiwJezB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4N2YsIDB4MzIsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGR9IH0sCi17IDB4MGE3OSwJMTYsCXsweDk0LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweDk0LCAweDIyfSB9LAoteyAweDBhODksCTE2LAl7MHg3NSwgMHgzMiwgMHgwMSwgMHhlNSwgMHgzMiwgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgwZCwgMHhkNywgMHg3ZiwgMHgwMCwgMHg3ZSwgMHgwZX0gfSwKLXsgMHgwYTk5LAkxNiwJezB4N2QsIDB4MDAsIDB4N2MsIDB4MDEsIDB4MTIsIDB4MDYsIDB4OTQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTJ9IH0sCi17IDB4MGFhOSwJMTYsCXsweDBkLCAweGQ3LCAweGU1LCAweDMyLCAweDYwLCAweDFiLCAweDdmLCAweDAyLCAweDEyLCAweDBkLCAweGQ3LCAweDdmLCAweDAwLCAweDdlLCAweDgwLCAweDdkfSB9LAoteyAweDBhYjksCTE2LAl7MHgwMCwgMHg3YywgMHg4MCwgMHgxMiwgMHgwNiwgMHg5NCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMiwgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMiwgMHgwZH0gfSwKLXsgMHgwYWM5LAkxNiwJezB4ZDcsIDB4ZTUsIDB4MzIsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDMsIDB4MTIsIDB4MGQsIDB4ZDcsIDB4N2YsIDB4MDAsIDB4N2UsIDB4MjAsIDB4N2QsIDB4NDB9IH0sCi17IDB4MGFkOSwJMTYsCXsweDdjLCAweDViLCAweDEyLCAweDA2LCAweDk0LCAweGU0LCAweDMzLCAweGY1LCAweDMyLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyLCAweDBkLCAweGQ3fSB9LAoteyAweDBhZTksCTE0LAl7MHhlNSwgMHgzMiwgMHg2MCwgMHgwNSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgwZCwgMHhkNywgMHhlNSwgMHgzMiwgMHgyNCwgMHhmZiwgMHgyMn0gfSwKLXsgMHgwYWY3LAk4LAl7MHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwYWZmLAkxLAl7MHgzMn0gfSwKLXsgMHgwYjAwLAkxNiwJezB4MDIsIDB4MGQsIDB4NjQsIDB4MDAsIDB4MDIsIDB4MGQsIDB4YWIsIDB4MDAsIDB4MDIsIDB4MGQsIDB4MmYsIDB4MDAsIDB4MDIsIDB4MGQsIDB4N2MsIDB4MDB9IH0sCi17IDB4MGIxMCwJMTYsCXsweDAyLCAweDBkLCAweGMxLCAweDAwLCAweDAyLCAweDBhLCAweGZmLCAweDAwLCAweDAyLCAweDBlLCAweDRjLCAweDAwLCAweDAyLCAweDBlLCAweDRkLCAweDAwfSB9LAoteyAweDBiMjAsCTE2LAl7MHgwMiwgMHgwZSwgMHg0ZSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg0ZiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1MCwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1MSwgMHgwMH0gfSwKLXsgMHgwYjMwLAkxNiwJezB4MDIsIDB4MGUsIDB4NTIsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTQsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTUsIDB4MDB9IH0sCi17IDB4MGI0MCwJMTYsCXsweDAyLCAweDBlLCAweDU2LCAweDAwLCAweDAyLCAweDBlLCAweDU3LCAweDAwLCAweDAyLCAweDBlLCAweDU4LCAweDAwLCAweDAyLCAweDBlLCAweDU5LCAweDAwfSB9LAoteyAweDBiNTAsCTgsCXsweDAyLCAweDBlLCAweDVhLCAweDAwLCAweDAyLCAweDBlLCAweDViLCAweDAwfSB9LAoteyAweDBiNTgsCTE2LAl7MHhlNCwgMHhmZSwgMHg3NSwgMHgyYSwgMHhmZiwgMHg3NSwgMHgyYiwgMHgxMSwgMHg3NSwgMHgyYywgMHgxMiwgMHhhYiwgMHgyYSwgMHhhYSwgMHgyYiwgMHhhOX0gfSwKLXsgMHgwYjY4LAkxNiwJezB4MmMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MDgsIDB4MjIsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MmQsIDB4YWQsIDB4MDYsIDB4MGUsIDB4ZWQsIDB4YjV9IH0sCi17IDB4MGI3OCwJMTYsCXsweDA3LCAweDAxLCAweDIyLCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweDA4LCAweDcxLCAweDg1LCAweGYwLCAweDI4LCAweGY1LCAweDI5LCAweDYyLCAweDI4fSB9LAoteyAweDBiODgsCTE2LAl7MHhlNSwgMHgyOCwgMHg2MiwgMHgyOSwgMHhlNSwgMHgyOSwgMHg2MiwgMHgyOCwgMHgyOSwgMHhmZCwgMHhlNSwgMHgyOCwgMHgzYSwgMHhhOSwgMHgwNSwgMHg3NX0gfSwKLXsgMHgwYjk4LAkxNCwJezB4MmEsIDB4ZmYsIDB4ZjUsIDB4MmIsIDB4ODksIDB4MmMsIDB4ODAsIDB4YzMsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MGJhNiwJMSwJezB4MjJ9IH0sCi17IDB4MGJhNywJMTYsCXsweGFiLCAweDA3LCAweGFhLCAweDA2LCAweGFjLCAweDA1LCAweGU0LCAweGZkLCAweGU1LCAweDExLCAweDYwLCAweDExLCAweGVhLCAweGZmLCAweGFlLCAweDA1fSB9LAoteyAweDBiYjcsCTE2LAl7MHgwZCwgMHhlZSwgMHgyNCwgMHgxMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlYiwgMHhhZSwgMHgwNX0gfSwKLXsgMHgwYmM3LAkxNiwJezB4MGQsIDB4NzQsIDB4MTAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWIsIDB4ZjAsIDB4YWYsIDB4MDUsIDB4MGR9IH0sCi17IDB4MGJkNywJMTYsCXsweDc0LCAweDEwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweGFmLCAweDBmLCAweDdhLCAweDBmfSB9LAoteyAweDBiZTcsCTEzLAl7MHg3YiwgMHgxMCwgMHgxMiwgMHgwZCwgMHgxMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHg5NCwgMHgyMn0gfSwKLXsgMHgwYmY0LAkxNiwJezB4OGUsIDB4MzIsIDB4OGYsIDB4MzMsIDB4OGQsIDB4MzQsIDB4OGEsIDB4MzUsIDB4OGIsIDB4MzYsIDB4ZTQsIDB4ZmQsIDB4ZjUsIDB4MzcsIDB4ZTUsIDB4MTF9IH0sCi17IDB4MGMwNCwJMTYsCXsweDYwLCAweDEyLCAweGU1LCAweDMyLCAweGZmLCAweGFlLCAweDA1LCAweDBkLCAweGVlLCAweDI0LCAweDEzLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmfSB9LAoteyAweDBjMTQsCTE2LAl7MHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgzMywgMHhhZSwgMHgwNSwgMHgwZCwgMHg3NCwgMHgxMywgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHgwYzI0LAkxNiwJezB4MGYsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4MzMsIDB4ZjAsIDB4YWYsIDB4MGYsIDB4N2EsIDB4MGYsIDB4N2IsIDB4MTMsIDB4MTIsIDB4MGQsIDB4MTAsIDB4YWZ9IH0sCi17IDB4MGMzNCwJMTEsCXsweDBmLCAweGFkLCAweDM0LCAweGFiLCAweDM2LCAweGFhLCAweDM1LCAweDEyLCAweDBjLCAweGYxLCAweDIyfSB9LAoteyAweDBjM2YsCTE2LAl7MHg4ZSwgMHgzMiwgMHg4ZiwgMHgzMywgMHg4ZCwgMHgzNCwgMHg4YSwgMHgzNSwgMHg4YiwgMHgzNiwgMHhlNCwgMHhmNSwgMHgzNywgMHhlNSwgMHgzNywgMHhjM30gfSwKLXsgMHgwYzRmLAkxNiwJezB4OTUsIDB4MzQsIDB4NTAsIDB4MjAsIDB4MDUsIDB4MzMsIDB4ZTUsIDB4MzMsIDB4YWUsIDB4MzIsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzIsIDB4MTQsIDB4ZmZ9IH0sCi17IDB4MGM1ZiwJMTYsCXsweGU1LCAweDM2LCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDM1LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweDEyLCAweDBiLCAweGE3fSB9LAoteyAweDBjNmYsCTUsCXsweDA1LCAweDM3LCAweDgwLCAweGQ5LCAweDIyfSB9LAoteyAweDBjNzQsCTE2LAl7MHhhOSwgMHgwNywgMHhlNSwgMHgwZCwgMHg3MCwgMHgyNSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlOSwgMHgyNSwgMHhlMH0gfSwKLXsgMHgwYzg0LAkxNiwJezB4NDQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4OGQsIDB4MDgsIDB4YWYsIDB4MDMsIDB4YTksIDB4MDcsIDB4NzUsIDB4MDksIDB4MDEsIDB4OGF9IH0sCi17IDB4MGM5NCwJMTMsCXsweDBhLCAweDg5LCAweDBiLCAweGU0LCAweGY1LCAweDBjLCAweDc1LCAweDBkLCAweDAzLCAweGQzLCAweDIyLCAweGMzLCAweDIyfSB9LAoteyAweDBjYTEsCTE2LAl7MHhhOSwgMHgwNywgMHhlNSwgMHgwZCwgMHg3MCwgMHgyMywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlOSwgMHgyNSwgMHhlMH0gfSwKLXsgMHgwY2IxLAkxNiwJezB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4OGQsIDB4MDgsIDB4YWYsIDB4MDMsIDB4YTksIDB4MDcsIDB4NzUsIDB4MDksIDB4MDEsIDB4OGEsIDB4MGEsIDB4ODl9IH0sCi17IDB4MGNjMSwJMTEsCXsweDBiLCAweGU0LCAweGY1LCAweDBjLCAweDc1LCAweDBkLCAweDAxLCAweGQzLCAweDIyLCAweGMzLCAweDIyfSB9LAoteyAweDBjY2MsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgwNiwgMHgwNCwgMHhlMCwgMHg0NH0gfSwKLXsgMHgwY2RjLAkxNiwJezB4MDIsIDB4ZjAsIDB4N2YsIDB4ZDAsIDB4N2UsIDB4MDcsIDB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjB9IH0sCi17IDB4MGNlYywJNSwJezB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MGNmMSwJMTYsCXsweDEyLCAweDBjLCAweDc0LCAweGU1LCAweDBkLCAweDI0LCAweGZhLCAweDYwLCAweDEwLCAweDE0LCAweDYwLCAweDA3LCAweDI0LCAweDA3LCAweDcwLCAweGYzfSB9LAoteyAweDBkMDEsCTE1LAl7MHg3ZiwgMHgwOCwgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNywgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNiwgMHgyMn0gfSwKLXsgMHgwZDEwLAkxNiwJezB4MTIsIDB4MGMsIDB4YTEsIDB4ZTUsIDB4MGQsIDB4MjQsIDB4ZmEsIDB4NjAsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MDcsIDB4MjQsIDB4MDcsIDB4NzAsIDB4ZjN9IH0sCi17IDB4MGQyMCwJMTUsCXsweDdmLCAweDA4LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA3LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA2LCAweDIyfSB9LAoteyAweDBkMmYsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwZDNmLAkxMSwJezB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ0YSwJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDEyLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDE0LCAweDdlLCAweDAwLCAweDEyfSB9LAoteyAweDBkNWEsCTEwLAl7MHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwZDY0LAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDF9IH0sCi17IDB4MGQ3NCwJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ3YywJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGQyLCAweDAzLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4fSB9LAoteyAweDBkOGMsCTgsCXsweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkOTQsCTE2LAl7MHg4ZSwgMHgzOCwgMHg4ZiwgMHgzOSwgMHhlNSwgMHgzOSwgMHgxNSwgMHgzOSwgMHhhZSwgMHgzOCwgMHg3MCwgMHgwMiwgMHgxNSwgMHgzOCwgMHg0ZSwgMHg2MH0gfSwKLXsgMHgwZGE0LAk3LAl7MHgwNSwgMHgxMiwgMHgwZSwgMHgwMCwgMHg4MCwgMHhlZSwgMHgyMn0gfSwKLXsgMHgwZGFiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGRiYiwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRjMSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDEwLCAweGYwLCAweGQwfSB9LAoteyAweDBkZDEsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkZDcsCTE2LAl7MHhhZSwgMHgwNywgMHg3ZiwgMHgyMSwgMHg3ZCwgMHgwMSwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhhYiwgMHg4Mn0gfSwKLXsgMHgwZGU3LAk1LAl7MHhmYSwgMHgxMiwgMHgwZCwgMHgxMCwgMHgyMn0gfSwKLXsgMHgwZGVjLAkxNiwJezB4NTAsIDB4MGYsIDB4MDAsIDB4YzAsIDB4ZjksIDB4YTQsIDB4YjAsIDB4OTksIDB4OTIsIDB4ODIsIDB4ZjgsIDB4ODAsIDB4OTgsIDB4ODgsIDB4ODMsIDB4YzZ9IH0sCi17IDB4MGRmYywJMywJezB4YTEsIDB4ODYsIDB4OGV9IH0sCi17IDB4MGRmZiwJMSwJezB4MDB9IH0sCi17IDB4MGUwMCwJMTYsCXsweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5fSB9LAoteyAweDBlMTAsCTEsCXsweDIyfSB9LAoteyAweDBlMTEsCTE0LAl7MHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgxMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTFmLAkxNCwJezB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGUyZCwJOCwJezB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MGUsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGUzNSwJOCwJezB4ZTQsIDB4ZjUsIDB4MGQsIDB4ZDIsIDB4ZTksIDB4ZDIsIDB4YWYsIDB4MjJ9IH0sCi17IDB4MGUzZCwJMywJezB4ZDIsIDB4MDAsIDB4MjJ9IH0sCi17IDB4MGU0MCwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU0MiwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU0NCwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU0NiwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU0OCwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU0YSwJMiwJezB4ZDMsIDB4MjJ9IH0sCi17IDB4MGU0YywJMSwJezB4MzJ9IH0sCi17IDB4MGU0ZCwJMSwJezB4MzJ9IH0sCi17IDB4MGU0ZSwJMSwJezB4MzJ9IH0sCi17IDB4MGU0ZiwJMSwJezB4MzJ9IH0sCi17IDB4MGU1MCwJMSwJezB4MzJ9IH0sCi17IDB4MGU1MSwJMSwJezB4MzJ9IH0sCi17IDB4MGU1MiwJMSwJezB4MzJ9IH0sCi17IDB4MGU1MywJMSwJezB4MzJ9IH0sCi17IDB4MGU1NCwJMSwJezB4MzJ9IH0sCi17IDB4MGU1NSwJMSwJezB4MzJ9IH0sCi17IDB4MGU1NiwJMSwJezB4MzJ9IH0sCi17IDB4MGU1NywJMSwJezB4MzJ9IH0sCi17IDB4MGU1OCwJMSwJezB4MzJ9IH0sCi17IDB4MGU1OSwJMSwJezB4MzJ9IH0sCi17IDB4MGU1YSwJMSwJezB4MzJ9IH0sCi17IDB4MGU1YiwJMSwJezB4MzJ9IH0sCi17IDB4MTEwMCwJMTYsCXsweDEyLCAweDAxLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDQwLCAweDQ3LCAweDA1LCAweDEwLCAweDI3LCAweDAxLCAweDAwLCAweDAxLCAweDAyfSB9LAoteyAweDExMTAsCTE2LAl7MHgwMCwgMHgwMSwgMHgwOSwgMHgwMiwgMHgyMCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMywgMHhhMCwgMHgwMCwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMn0gfSwKLXsgMHgxMTIwLAkxNiwJezB4ZmYsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDB9IH0sCi17IDB4MTEzMCwJMTYsCXsweDAwLCAweDAwLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDI2LCAweDAzLCAweDQxLCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDY4LCAweDAwfSB9LAoteyAweDExNDAsCTE2LAl7MHg2ZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MywgMHgwMCwgMHg2OCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3MywgMHgwMH0gfSwKLXsgMHgxMTUwLAkxNiwJezB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MjgsIDB4MDMsIDB4NDYsIDB4MDB9IH0sCi17IDB4MTE2MCwJMTYsCXsweDY5LCAweDAwLCAweDcyLCAweDAwLCAweDZkLCAweDAwLCAweDc3LCAweDAwLCAweDYxLCAweDAwLCAweDcyLCAweDAwLCAweDY1LCAweDAwLCAweDIwLCAweDAwfSB9LAoteyAweDExNzAsCTE2LAl7MHg0NiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg1NywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3MiwgMHgwMH0gfSwKLXsgMHgxMTgwLAkxNiwJezB4NmIsIDB4MDAsIDB4NzMsIDB4MDAsIDB4MmEsIDB4MDMsIDB4NDMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjYsIDB4MDAsIDB4NjksIDB4MDB9IH0sCi17IDB4MTE5MCwJMTYsCXsweDY3LCAweDAwLCAweDc1LCAweDAwLCAweDcyLCAweDAwLCAweDYxLCAweDAwLCAweDc0LCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwfSB9LAoteyAweDExYTAsCTE2LAl7MHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMCwgMHgyMiwgMHgwM30gfSwKLXsgMHgxMWIwLAkxNiwJezB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjYsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjMsIDB4MDB9IH0sCi17IDB4MTFjMCwJMTYsCXsweDY1LCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwfSB9LAoteyAweDExZDAsCTIsCXsweDAwLCAweDAwfSB9LAoteyAweGZmZmYsCTAsCXsweDAwfSB9Ci19OwotI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwveGlyY29tX3Bnc19mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL3hpcmNvbV9wZ3NfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZmNzRhNi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwveGlyY29tX3Bnc19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLS8qCi0gKiBVU0IgWGlyY29tIFBHUyBGaXJtd2FyZQotICoKLSAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCBCcmlhbiBXYXJuZXIgICAgICAgIDx3YXJuZXJAbG90aGFyLmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAwMSBDcmlzdGlhbiBNLiBDcmFjaXVuZXNjdQk8Y3Jpc3RpQGRudC5ybz4KLSAqCi0gKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiAgICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAgICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogR2VuZXJhdGVkIGZyb20geGlyY29tX3Bncy5TIGJ5IGV6dXNiX2NvbnZlcnRfeC5wbAotICovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCB4aXJjb21fcGdzX2Zpcm13YXJlW10gPSB7Ci17IDB4MDAwMCwJMywJezB4MDIsIDB4MDIsIDB4MDB9IH0sCi17IDB4MDAyMywJNCwJezB4MDIsIDB4MDUsIDB4OWIsIDB4MDB9IH0sCi17IDB4MDAzMCwJNSwJezB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDA0MywJNCwJezB4MDIsIDB4MDEsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDEwMCwJMTYsCXsweDAyLCAweDAyLCAweGJhLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAxMTAsCTE2LAl7MHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTIwLAkxNiwJezB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDQsIDB4ODUsIDB4MDAsIDB4MDIsIDB4MDQsIDB4YjksIDB4MDB9IH0sCi17IDB4MDIwMCwJMTYsCXsweDc1LCAweDgxLCAweDVlLCAweGU0LCAweGY1LCAweDMyLCAweGY1LCAweDMzLCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGY1LCAweDM0LCAweGMyLCAweDAwfSB9LAoteyAweDAyMTAsCTE2LAl7MHhjMiwgMHgwMSwgMHhhOSwgMHgwMCwgMHg3NCwgMHhmZSwgMHg5MCwgMHgxMCwgMHgwMCwgMHhmMCwgMHhhMywgMHhkOSwgMHhmYywgMHg3NCwgMHhmZCwgMHg5MH0gfSwKLXsgMHgwMjIwLAkxNiwJezB4MTEsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZDksIDB4ZmMsIDB4OTAsIDB4N2YsIDB4OTQsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzR9IH0sCi17IDB4MDIzMCwJMTYsCXsweGVmLCAweGYwLCAweDc0LCAweDEwLCAweDkwLCAweDdmLCAweDllLCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDc0LCAweDQwfSB9LAoteyAweDAyNDAsCTE2LAl7MHg5MCwgMHg3ZiwgMHg5ZCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg3NCwgMHg4MiwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhmMH0gfSwKLXsgMHgwMjUwLAkxNiwJezB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4ZDIsIDB4ZTAsIDB4ZjAsIDB4NzQsIDB4MDEsIDB4OTB9IH0sCi17IDB4MDI2MCwJMTYsCXsweDdmLCAweGFiLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweDc0LCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGFkfSB9LAoteyAweDAyNzAsCTE2LAl7MHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg3NCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhhZiwgMHhmMCwgMHg3NCwgMHgyMCwgMHg5MH0gfSwKLXsgMHgwMjgwLAkxNiwJezB4N2YsIDB4OWMsIDB4ZjAsIDB4NzQsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4NzQsIDB4NTMsIDB4ZjUsIDB4OTgsIDB4NzUsIDB4YzgsIDB4MzB9IH0sCi17IDB4MDI5MCwJMTYsCXsweDdiLCAweDA1LCAweDkxLCAweDQ0LCAweGQyLCAweGNhLCAweDc1LCAweDk4LCAweDUwLCAweGQyLCAweGU4LCAweGQyLCAweGFmLCAweGQyLCAweGFjLCAweDc0fSB9LAoteyAweDAyYTAsCTE2LAl7MHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3OSwgMHgyZSwgMHg3YSwgMHgwMCwgMHg3YiwgMHgwMCwgMHhkYn0gfSwKLXsgMHgwMmIwLAkxNiwJezB4ZmUsIDB4ZGEsIDB4ZmEsIDB4ZDksIDB4ZjYsIDB4NzQsIDB4MDYsIDB4ZjAsIDB4ODAsIDB4ZmUsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODN9IH0sCi17IDB4MDJjMCwJMTYsCXsweGMwLCAweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweGU1LCAweDkxLCAweGMyLCAweGU0LCAweGY1LCAweDkxLCAweDkwLCAweDdmLCAweGFiLCAweDc0fSB9LAoteyAweDAyZDAsCTE2LAl7MHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHhhMywgMHhlMCwgMHhmYiwgMHhhMywgMHhlMCwgMHhmY30gfSwKLXsgMHgwMmUwLAkxNiwJezB4ZTksIDB4NTQsIDB4NjAsIDB4YjQsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4NWQsIDB4YjQsIDB4NDAsIDB4NmUsIDB4YmEsIDB4MDAsIDB4MGIsIDB4MTJ9IH0sCi17IDB4MDJmMCwJMTYsCXsweDA0LCAweDQ0LCAweDQwLCAweDAzLCAweDAyLCAweDA0LCAweDI2LCAweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweDJlfSB9LAoteyAweDAzMDAsCTE2LAl7MHhiYSwgMHgwMiwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwMywgMHgwMywgMHgwMiwgMHgwNCwgMHg2OCwgMHhiYSwgMHgwNCwgMHgxZSwgMHhiYn0gfSwKLXsgMHgwMzEwLAkxNiwJezB4MDAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTB9IH0sCi17IDB4MDMyMCwJMTYsCXsweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweGJhLCAweDA1LCAweDAzfSB9LAoteyAweDAzMzAsCTE2LAl7MHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwNiwgMHgxOSwgMHhiYiwgMHgwMCwgMHgwOCwgMHhlNSwgMHgzMywgMHhkMywgMHg5NSwgMHgzMiwgMHgwMiwgMHgwNH0gfSwKLXsgMHgwMzQwLAkxNiwJezB4MDIsIDB4YmIsIDB4MDEsIDB4MDgsIDB4ZTUsIDB4MzIsIDB4YzMsIDB4OTUsIDB4MzMsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmF9IH0sCi17IDB4MDM1MCwJMTYsCXsweDA3LCAweDA1LCAweDhiLCAweDM0LCAweDAyLCAweDA0LCAweDI2LCAweDAyLCAweDA0LCAweDJlLCAweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDAwLCAweDIwfSB9LAoteyAweDAzNjAsCTE2LAl7MHhiOSwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMH0gfSwKLXsgMHgwMzcwLAkxNiwJezB4MDIsIDB4MDQsIDB4MjYsIDB4YjksIDB4ODIsIDB4MDIsIDB4ODAsIDB4ZWIsIDB4YjksIDB4ODEsIDB4MDIsIDB4ODAsIDB4ZTYsIDB4MDIsIDB4MDQsIDB4MmV9IH0sCi17IDB4MDM4MCwJMTYsCXsweGJhLCAweDAxLCAweDBmLCAweGJiLCAweDAwLCAweDAzLCAweDAyLCAweDA0LCAweDJlLCAweGJiLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweDI2LCAweDAyfSB9LAoteyAweDAzOTAsCTE2LAl7MHgwNCwgMHgyZSwgMHhiYSwgMHgwMywgMHgwZiwgMHhiYiwgMHgwMCwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYiwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNH0gfSwKLXsgMHgwM2EwLAkxNiwJezB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDYsIDB4NTYsIDB4YmMsIDB4MDEsIDB4MGYsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4NzQsIDB4MDYsIDB4ZjB9IH0sCi17IDB4MDNiMCwJMTYsCXsweDkwLCAweDdmLCAweGQ1LCAweDc0LCAweDVhLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweGJjLCAweDAyLCAweDEyLCAweGJiLCAweDAwLCAweDZmLCAweDkwfSB9LAoteyAweDAzYzAsCTE2LAl7MHg3ZiwgMHhkNCwgMHg3NCwgMHgwNiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHg3NCwgMHg2YywgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYywgMHgwM30gfSwKLXsgMHgwM2QwLAkxNiwJezB4MjksIDB4NzQsIDB4MDQsIDB4YzMsIDB4OWIsIDB4NDAsIDB4NTcsIDB4NjAsIDB4NTUsIDB4ZWIsIDB4MmIsIDB4OTAsIDB4MDYsIDB4OGMsIDB4MjUsIDB4ODJ9IH0sCi17IDB4MDNlMCwJMTYsCXsweGY1LCAweDgyLCAweDc0LCAweDAwLCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweDkwLCAweDdmLCAweGQ0fSB9LAoteyAweDAzZjAsCTE2LAl7MHhlOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhlYSwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwOCwgMHgwZn0gfSwKLXsgMHgwNDAwLAkxNiwJezB4NzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4NzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmF9IH0sCi17IDB4MDQxMCwJMTYsCXsweDA5LCAweDAzLCAweDAyLCAweDA0LCAweDI2LCAweGJhLCAweDBhLCAweDA1LCAweDc0LCAweDAwLCAweDAyLCAweDA0LCAweDAyLCAweGJhLCAweDBiLCAweDAzfSB9LAoteyAweDA0MjAsCTE2LAl7MHgwMiwgMHgwNCwgMHgyNiwgMHgwMiwgMHgwNCwgMHgyZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwOSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNDMwLAkxNiwJezB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDB9IH0sCi17IDB4MDQ0MCwJMTYsCXsweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGViLCAweDIwLCAweGU3LCAweDFlLCAweGMzLCAweDk0LCAweDBhLCAweDUwLCAweDE5LCAweGViLCAweDIzLCAweDI0fSB9LAoteyAweDA0NTAsCTE2LAl7MHg0NiwgMHhmNSwgMHg4MiwgMHg3NCwgMHgwNiwgMHgzNCwgMHgwMCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhjYiwgMHhmNSwgMHhjZCwgMHhhMywgMHhlMH0gfSwKLXsgMHgwNDYwLAkxNiwJezB4ZjUsIDB4Y2EsIDB4ZjUsIDB4Y2MsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIDB4YjksIDB4NDEsIDB4MTEsIDB4ZWIsIDB4NjQsIDB4ZmYsIDB4NTQsIDB4ODB9IH0sCi17IDB4MDQ3MCwJMTYsCXsweGZiLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweDdmLCAweDRiLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweDkwLCAweDdmLCAweDliLCAweGUwfSB9LAoteyAweDA0ODAsCTE2LAl7MHg2NCwgMHhmZiwgMHgwMiwgMHgwNCwgMHgwMiwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NSwgMHhjMH0gfSwKLXsgMHgwNDkwLAkxNiwJezB4ZTAsIDB4ZTUsIDB4OTEsIDB4YzIsIDB4ZTQsIDB4ZjUsIDB4OTEsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MjAsIDB4OTB9IH0sCi17IDB4MDRhMCwJMTYsCXsweDdmLCAweDljLCAweGYwLCAweDEyLCAweDA1LCAweGRjLCAweDc0LCAweDIwLCAweDkwLCAweDdmLCAweDljLCAweGYwLCAweGQwLCAweGUwLCAweGQwLCAweDg1fSB9LAoteyAweDA0YjAsCTE2LAl7MHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMH0gfSwKLXsgMHgwNGMwLAkxNiwJezB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4NzQsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4ZTUsIDB4OTEsIDB4YzIsIDB4ZTQsIDB4ZjV9IH0sCi17IDB4MDRkMCwJMTYsCXsweDkxLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY5LCAweGU0LCAweGY1LCAweDg2LCAweDkwfSB9LAoteyAweDA0ZTAsCTE2LAl7MHg3ZCwgMHhjMCwgMHg3NSwgMHg4NSwgMHgxMCwgMHg4NSwgMHgzMiwgMHg4NCwgMHhlMCwgMHgwNSwgMHg4NiwgMHgwNSwgMHg4NCwgMHhmMCwgMHhlNSwgMHg4NH0gfSwKLXsgMHgwNGYwLAkxNiwJezB4YjUsIDB4MzMsIDB4MDIsIDB4ODAsIDB4MDksIDB4MDUsIDB4MzIsIDB4MDUsIDB4ODYsIDB4YTMsIDB4ZDksIDB4ZWMsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDUwMCwJMTYsCXsweGM5LCAweGYwLCAweGIxLCAweDZkLCAweDc0LCAweDIwLCAweDkwLCAweDdmLCAweDljLCAweGYwLCAweGQwLCAweGUwLCAweGQwLCAweDg1LCAweGQwLCAweDg0fSB9LAoteyAweDA1MTAsCTE2LAl7MHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMX0gfSwKLXsgMHgwNTIwLAkxNiwJezB4NGIsIDB4OTAsIDB4N2QsIDB4MDAsIDB4ZTUsIDB4MzIsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4MzMsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4MzAsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MDUzMCwJMTYsCXsweGU1LCAweDMxLCAweGYwLCAweGEzLCAweGU0LCAweDMwLCAweDAwLCAweDAxLCAweDA0LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDkwLCAweDEwLCAweDAwfSB9LAoteyAweDA1NDAsCTE2LAl7MHg3OSwgMHgxMCwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkOSwgMHhmNiwgMHgwNSwgMHg4NiwgMHg3NCwgMHhmY30gfSwKLXsgMHgwNTUwLAkxNiwJezB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MTEsIDB4MDAsIDB4NzksIDB4MTAsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDV9IH0sCi17IDB4MDU2MCwJMTYsCXsweDg2LCAweGQ5LCAweGY2LCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdmLCAweGJkLCAweDc0LCAweDI2LCAweGYwLCAweDIyLCAweDIwLCAweDAwLCAweDEzfSB9LAoteyAweDA1NzAsCTE2LAl7MHhlNSwgMHgzMiwgMHhiNSwgMHgzMywgMHgwMSwgMHgyMiwgMHgwNSwgMHgzMywgMHg3NSwgMHg4MywgMHgxMCwgMHg4NSwgMHgzMywgMHg4MiwgMHhlMCwgMHhmNX0gfSwKLXsgMHgwNTgwLAkxNiwJezB4OTksIDB4ZDIsIDB4MDAsIDB4NzQsIDB4MDAsIDB4YjUsIDB4MzQsIDB4MDEsIDB4MjIsIDB4ZTUsIDB4MzMsIDB4ZDMsIDB4OTUsIDB4MzIsIDB4YzMsIDB4OTV9IH0sCi17IDB4MDU5MCwJMTYsCXsweDM0LCAweDQwLCAweGY1LCAweDc1LCAweDM0LCAweDAwLCAweGQyLCAweDAxLCAweDAyLCAweDA1LCAweGRjLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwfSB9LAoteyAweDA1YTAsCTE2LAl7MHg4MywgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHgzMCwgMHg5OSwgMHgwNywgMHhjMiwgMHg5OSwgMHhjMiwgMHgwMCwgMHgxMiwgMHgwNX0gfSwKLXsgMHgwNWIwLAkxNiwJezB4NzAsIDB4MzAsIDB4OTgsIDB4MDUsIDB4MTIsIDB4MDUsIDB4YzYsIDB4YzIsIDB4OTgsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODQsIDB4ZDB9IH0sCi17IDB4MDVjMCwJMTYsCXsweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweDc1LCAweDgzLCAweDExLCAweDg1LCAweDMwLCAweDgyLCAweDA1LCAweDgyLCAweGU1LCAweDk5fSB9LAoteyAweDA1ZDAsCTE2LAl7MHhmMCwgMHhlNSwgMHg4MiwgMHhiNSwgMHgzMSwgMHgwMSwgMHgyMiwgMHgwNSwgMHgzMCwgMHhiMSwgMHhkYywgMHgyMiwgMHg3NCwgMHgxMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNWUwLAkxNiwJezB4OWMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4M2UsIDB4MjAsIDB4MDEsIDB4M2MsIDB4ZTUsIDB4MzAsIDB4YjUsIDB4MzF9IH0sCi17IDB4MDVmMCwJMTYsCXsweDAxLCAweDIyLCAweGU0LCAweGY1LCAweDg2LCAweDc1LCAweDgzLCAweDExLCAweDA1LCAweDg2LCAweDkwLCAweDdlLCAweDAwLCAweGYwLCAweGEzLCAweDA1fSB9LAoteyAweDA2MDAsCTE2LAl7MHg4NiwgMHg3OSwgMHgwMSwgMHhlNSwgMHgzMCwgMHhiNSwgMHgzMSwgMHgwMiwgMHg4MCwgMHgxMCwgMHgwNSwgMHgzMSwgMHg4NSwgMHgzMSwgMHg4MiwgMHhlMH0gfSwKLXsgMHgwNjEwLAkxNiwJezB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4MDksIDB4YjksIDB4NDAsIDB4ZTksIDB4NzQsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjB9IH0sCi17IDB4MDYyMCwJMTYsCXsweDkwLCAweDdmLCAweGI5LCAweGU5LCAweDYwLCAweDAxLCAweGYwLCAweDIyLCAweGMyLCAweDAxLCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdlLCAweDAwfSB9LAoteyAweDA2MzAsCTE2LAl7MHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhmMCwgMHgyMiwgMHhjMiwgMHg5OSwgMHhmNSwgMHg5OX0gfSwKLXsgMHgwNjQwLAkxNiwJezB4MzAsIDB4OTksIDB4ZmQsIDB4YzIsIDB4OTksIDB4MjIsIDB4ZTUsIDB4NWUsIDB4ZjYsIDB4M2MsIDB4ZmQsIDB4OGYsIDB4ZmUsIDB4YzgsIDB4ZmYsIDB4NjR9IH0sCi17IDB4MDY1MCwJMTYsCXsweGZmLCAweGIyLCAweGZmLCAweGQ5LCAweGZmLCAweGVkLCAweGZmLCAweGYzLCAweGZmLCAweGZhLCAweDEyLCAweDAxLCAweDAwLCAweDAxLCAweGZmLCAweGZmfSB9LAoteyAweDA2NjAsCTE2LAl7MHhmZiwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwNCwgMHgwMSwgMHg4OSwgMHhhYiwgMHgwMSwgMHgwMiwgMHgwMywgMHgwMSwgMHgwOSwgMHgwMiwgMHgyMCwgMHgwMH0gfSwKLXsgMHgwNjcwLAkxNiwJezB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDcsIDB4MDV9IH0sCi17IDB4MDY4MCwJMTYsCXsweDgyLCAweDAzLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA2LCAweDk0LCAweDA2LCAweDk4fSB9LAoteyAweDA2OTAsCTE2LAl7MHgwNiwgMHhiYSwgMHgwNiwgMHhlOCwgMHgwNCwgMHgwMywgMHgwMCwgMHgwMCwgMHgyMiwgMHgwMywgMHg0MSwgMHgwMCwgMHg0MywgMHgwMCwgMHg0ZCwgMHgwMH0gfSwKLXsgMHgwNmEwLAkxNiwJezB4NDUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NjksIDB4MDB9IH0sCi17IDB4MDZiMCwJMTYsCXsweDY0LCAweDAwLCAweDY3LCAweDAwLCAweDY1LCAweDAwLCAweDc0LCAweDAwLCAweDczLCAweDAwLCAweDJlLCAweDAzLCAweDQxLCAweDAwLCAweDQzLCAweDAwfSB9LAoteyAweDA2YzAsCTE2LAl7MHg0ZCwgMHgwMCwgMHg0NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3MywgMHgwMH0gfSwKLXsgMHgwNmQwLAkxNiwJezB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NjksIDB4MDB9IH0sCi17IDB4MDZlMCwJMTQsCXsweDY0LCAweDAwLCAweDY3LCAweDAwLCAweDY1LCAweDAwLCAweDc0LCAweDAwLCAweDA2LCAweDAzLCAweDM0LCAweDAwLCAweDM3LCAweDAwfSB9LAoteyAweGZmZmYsCTAsCXsweDAwfSB9Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9LY29uZmlnIGIvZHJpdmVycy92aWRlby9LY29uZmlnCmluZGV4IGUwYzVmOTYuLjliODg3ZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vS2NvbmZpZworKysgYi9kcml2ZXJzL3ZpZGVvL0tjb25maWcKQEAgLTcsNyArNyw3IEBACiAKIHNvdXJjZSAiZHJpdmVycy9jaGFyL2FncC9LY29uZmlnIgogCi1zb3VyY2UgImRyaXZlcnMvY2hhci9kcm0vS2NvbmZpZyIKK3NvdXJjZSAiZHJpdmVycy9ncHUvZHJtL0tjb25maWciCiAKIGNvbmZpZyBWR0FTVEFURQogICAgICAgIHRyaXN0YXRlCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9LY29uZmlnIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvS2NvbmZpZwppbmRleCBkY2Q4MDczLi4zMGJmN2YyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9LY29uZmlnCisrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWcKQEAgLTExMiwzICsxMTIsMTAgQEAKIAloZWxwCiAJICBJZiB5b3UgaGF2ZSBhIEludGVsIExFODA1NzggKENhcmlsbG8gUmFuY2gpIHNheSBZIHRvIGVuYWJsZSB0aGUKIAkgIGJhY2tsaWdodCBkcml2ZXIuCisKK2NvbmZpZyBCQUNLTElHSFRfUFdNCisJdHJpc3RhdGUgIkdlbmVyaWMgUFdNIGJhc2VkIEJhY2tsaWdodCBEcml2ZXIiCisJZGVwZW5kcyBvbiBCQUNLTElHSFRfQ0xBU1NfREVWSUNFICYmIEhBVkVfUFdNCisJaGVscAorCSAgSWYgeW91IGhhdmUgYSBMQ0QgYmFja2xpZ2h0IGFkanVzdGFibGUgYnkgUFdNLCBzYXkgWSB0byBlbmFibGUKKwkgIHRoaXMgZHJpdmVyLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvTWFrZWZpbGUgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9NYWtlZmlsZQppbmRleCAzM2Y2YzdjLi5iNTFhN2NkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9NYWtlZmlsZQpAQCAtMTAsMyArMTAsNCBAQAogb2JqLSQoQ09ORklHX0JBQ0tMSUdIVF9PTUFQMSkJKz0gb21hcDFfYmwubwogb2JqLSQoQ09ORklHX0JBQ0tMSUdIVF9QUk9HRUFSKSArPSBwcm9nZWFyX2JsLm8KIG9iai0kKENPTkZJR19CQUNLTElHSFRfQ0FSSUxMT19SQU5DSCkgKz0gY3JfYmxsY2Qubworb2JqLSQoQ09ORklHX0JBQ0tMSUdIVF9QV00pCSs9IHB3bV9ibC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMzhkMGUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYwpAQCAtMCwwICsxLDE4NSBAQAorLyoKKyAqIGxpbnV4L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jCisgKgorICogc2ltcGxlIFBXTSBiYXNlZCBiYWNrbGlnaHQgY29udHJvbCwgYm9hcmQgY29kZSBoYXMgdG8gc2V0dXAKKyAqIDEpIHBpbiBjb25maWd1cmF0aW9uIHNvIFBXTSB3YXZlZm9ybXMgY2FuIG91dHB1dAorICogMikgcGxhdGZvcm1fZGF0YSBjYXN0cyB0byB0aGUgUFdNIGlkICgwLzEvMi8zIG9uIFBYQSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZmIuaD4KKyNpbmNsdWRlIDxsaW51eC9iYWNrbGlnaHQuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9wd20uaD4KKyNpbmNsdWRlIDxsaW51eC9wd21fYmFja2xpZ2h0Lmg+CisKK3N0cnVjdCBwd21fYmxfZGF0YSB7CisJc3RydWN0IHB3bV9kZXZpY2UJKnB3bTsKKwl1bnNpZ25lZCBpbnQJCXBlcmlvZDsKKwlpbnQJCQkoKm5vdGlmeSkoaW50IGJyaWdodG5lc3MpOworfTsKKworc3RhdGljIGludCBwd21fYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQoreworCXN0cnVjdCBwd21fYmxfZGF0YSAqcGIgPSBkZXZfZ2V0X2RydmRhdGEoJmJsLT5kZXYpOworCWludCBicmlnaHRuZXNzID0gYmwtPnByb3BzLmJyaWdodG5lc3M7CisJaW50IG1heCA9IGJsLT5wcm9wcy5tYXhfYnJpZ2h0bmVzczsKKworCWlmIChibC0+cHJvcHMucG93ZXIgIT0gRkJfQkxBTktfVU5CTEFOSykKKwkJYnJpZ2h0bmVzcyA9IDA7CisKKwlpZiAoYmwtPnByb3BzLmZiX2JsYW5rICE9IEZCX0JMQU5LX1VOQkxBTkspCisJCWJyaWdodG5lc3MgPSAwOworCisJaWYgKHBiLT5ub3RpZnkpCisJCWJyaWdodG5lc3MgPSBwYi0+bm90aWZ5KGJyaWdodG5lc3MpOworCisJaWYgKGJyaWdodG5lc3MgPT0gMCkgeworCQlwd21fY29uZmlnKHBiLT5wd20sIDAsIHBiLT5wZXJpb2QpOworCQlwd21fZGlzYWJsZShwYi0+cHdtKTsKKwl9IGVsc2UgeworCQlwd21fY29uZmlnKHBiLT5wd20sIGJyaWdodG5lc3MgKiBwYi0+cGVyaW9kIC8gbWF4LCBwYi0+cGVyaW9kKTsKKwkJcHdtX2VuYWJsZShwYi0+cHdtKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF9nZXRfYnJpZ2h0bmVzcyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwpCit7CisJcmV0dXJuIGJsLT5wcm9wcy5icmlnaHRuZXNzOworfQorCitzdGF0aWMgc3RydWN0IGJhY2tsaWdodF9vcHMgcHdtX2JhY2tsaWdodF9vcHMgPSB7CisJLnVwZGF0ZV9zdGF0dXMJPSBwd21fYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMsCisJLmdldF9icmlnaHRuZXNzCT0gcHdtX2JhY2tsaWdodF9nZXRfYnJpZ2h0bmVzcywKK307CisKK3N0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBwbGF0Zm9ybV9wd21fYmFja2xpZ2h0X2RhdGEgKmRhdGEgPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKKwlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmw7CisJc3RydWN0IHB3bV9ibF9kYXRhICpwYjsKKwlpbnQgcmV0OworCisJaWYgKCFkYXRhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChkYXRhLT5pbml0KSB7CisJCXJldCA9IGRhdGEtPmluaXQoJnBkZXYtPmRldik7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlwYiA9IGt6YWxsb2Moc2l6ZW9mKCpwYiksIEdGUF9LRVJORUwpOworCWlmICghcGIpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfYWxsb2M7CisJfQorCisJcGItPnBlcmlvZCA9IGRhdGEtPnB3bV9wZXJpb2RfbnM7CisJcGItPm5vdGlmeSA9IGRhdGEtPm5vdGlmeTsKKworCXBiLT5wd20gPSBwd21fcmVxdWVzdChkYXRhLT5wd21faWQsICJiYWNrbGlnaHQiKTsKKwlpZiAoSVNfRVJSKHBiLT5wd20pKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgInVuYWJsZSB0byByZXF1ZXN0IFBXTSBmb3IgYmFja2xpZ2h0XG4iKTsKKwkJcmV0ID0gUFRSX0VSUihwYi0+cHdtKTsKKwkJZ290byBlcnJfcHdtOworCX0KKworCWJsID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihwZGV2LT5uYW1lLCAmcGRldi0+ZGV2LAorCQkJcGIsICZwd21fYmFja2xpZ2h0X29wcyk7CisJaWYgKElTX0VSUihibCkpIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodFxuIik7CisJCXJldCA9IFBUUl9FUlIoYmwpOworCQlnb3RvIGVycl9ibDsKKwl9CisKKwlibC0+cHJvcHMubWF4X2JyaWdodG5lc3MgPSBkYXRhLT5tYXhfYnJpZ2h0bmVzczsKKwlibC0+cHJvcHMuYnJpZ2h0bmVzcyA9IGRhdGEtPmRmdF9icmlnaHRuZXNzOworCWJhY2tsaWdodF91cGRhdGVfc3RhdHVzKGJsKTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGJsKTsKKwlyZXR1cm4gMDsKKworZXJyX2JsOgorCXB3bV9mcmVlKHBiLT5wd20pOworZXJyX3B3bToKKwlrZnJlZShwYik7CitlcnJfYWxsb2M6CisJaWYgKGRhdGEtPmV4aXQpCisJCWRhdGEtPmV4aXQoJnBkZXYtPmRldik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwd21fYmFja2xpZ2h0X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBwbGF0Zm9ybV9wd21fYmFja2xpZ2h0X2RhdGEgKmRhdGEgPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKKwlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgcHdtX2JsX2RhdGEgKnBiID0gZGV2X2dldF9kcnZkYXRhKCZibC0+ZGV2KTsKKworCWJhY2tsaWdodF9kZXZpY2VfdW5yZWdpc3RlcihibCk7CisJcHdtX2NvbmZpZyhwYi0+cHdtLCAwLCBwYi0+cGVyaW9kKTsKKwlwd21fZGlzYWJsZShwYi0+cHdtKTsKKwlwd21fZnJlZShwYi0+cHdtKTsKKwlrZnJlZShwYik7CisJaWYgKGRhdGEtPmV4aXQpCisJCWRhdGEtPmV4aXQoJnBkZXYtPmRldik7CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkJIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgcHdtX2JsX2RhdGEgKnBiID0gZGV2X2dldF9kcnZkYXRhKCZibC0+ZGV2KTsKKworCXB3bV9jb25maWcocGItPnB3bSwgMCwgcGItPnBlcmlvZCk7CisJcHdtX2Rpc2FibGUocGItPnB3bSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCWJhY2tsaWdodF91cGRhdGVfc3RhdHVzKGJsKTsKKwlyZXR1cm4gMDsKK30KKyNlbHNlCisjZGVmaW5lIHB3bV9iYWNrbGlnaHRfc3VzcGVuZAlOVUxMCisjZGVmaW5lIHB3bV9iYWNrbGlnaHRfcmVzdW1lCU5VTEwKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBwd21fYmFja2xpZ2h0X2RyaXZlciA9IHsKKwkuZHJpdmVyCQk9IHsKKwkJLm5hbWUJPSAicHdtLWJhY2tsaWdodCIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0sCisJLnByb2JlCQk9IHB3bV9iYWNrbGlnaHRfcHJvYmUsCisJLnJlbW92ZQkJPSBwd21fYmFja2xpZ2h0X3JlbW92ZSwKKwkuc3VzcGVuZAk9IHB3bV9iYWNrbGlnaHRfc3VzcGVuZCwKKwkucmVzdW1lCQk9IHB3bV9iYWNrbGlnaHRfcmVzdW1lLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcHdtX2JhY2tsaWdodF9pbml0KHZvaWQpCit7CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHdtX2JhY2tsaWdodF9kcml2ZXIpOworfQorbW9kdWxlX2luaXQocHdtX2JhY2tsaWdodF9pbml0KTsKKworc3RhdGljIHZvaWQgX19leGl0IHB3bV9iYWNrbGlnaHRfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZwd21fYmFja2xpZ2h0X2RyaXZlcik7Cit9Cittb2R1bGVfZXhpdChwd21fYmFja2xpZ2h0X2V4aXQpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIlBXTSBiYXNlZCBCYWNrbGlnaHQgRHJpdmVyIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiX2RkYy5jIGIvZHJpdmVycy92aWRlby9mYl9kZGMuYwppbmRleCBhMGRmNjMyLi4wY2Y5NmViIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiX2RkYy5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJfZGRjLmMKQEAgLTEwNiw2ICsxMDYsNyBAQAogCWFsZ29fZGF0YS0+c2V0c2RhKGFsZ29fZGF0YS0+ZGF0YSwgMSk7CiAJYWxnb19kYXRhLT5zZXRzY2woYWxnb19kYXRhLT5kYXRhLCAxKTsKIAorCWFkYXB0ZXItPmNsYXNzIHw9IEkyQ19DTEFTU19EREM7CiAJcmV0dXJuIGVkaWQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJfZGVmaW8uYyBiL2RyaXZlcnMvdmlkZW8vZmJfZGVmaW8uYwppbmRleCAyNDg0M2ZkLi41OWRmMTMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMKKysrIGIvZHJpdmVycy92aWRlby9mYl9kZWZpby5jCkBAIC03NCw2ICs3NCw3IEBACiB7CiAJc3RydWN0IGZiX2luZm8gKmluZm8gPSB2bWEtPnZtX3ByaXZhdGVfZGF0YTsKIAlzdHJ1Y3QgZmJfZGVmZXJyZWRfaW8gKmZiZGVmaW8gPSBpbmZvLT5mYmRlZmlvOworCXN0cnVjdCBwYWdlICpjdXI7CiAKIAkvKiB0aGlzIGlzIGEgY2FsbGJhY2sgd2UgZ2V0IHdoZW4gdXNlcnNwYWNlIGZpcnN0IHRyaWVzIHRvCiAJd3JpdGUgdG8gdGhlIHBhZ2UuIHdlIHNjaGVkdWxlIGEgd29ya3F1ZXVlLiB0aGF0IHdvcmtxdWV1ZQpAQCAtODMsNyArODQsMjQgQEAKIAogCS8qIHByb3RlY3QgYWdhaW5zdCB0aGUgd29ya3F1ZXVlIGNoYW5naW5nIHRoZSBwYWdlIGxpc3QgKi8KIAltdXRleF9sb2NrKCZmYmRlZmlvLT5sb2NrKTsKLQlsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmZmJkZWZpby0+cGFnZWxpc3QpOworCisJLyogd2UgbG9vcCB0aHJvdWdoIHRoZSBwYWdlbGlzdCBiZWZvcmUgYWRkaW5nIGluIG9yZGVyCisJdG8ga2VlcCB0aGUgcGFnZWxpc3Qgc29ydGVkICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeShjdXIsICZmYmRlZmlvLT5wYWdlbGlzdCwgbHJ1KSB7CisJCS8qIHRoaXMgY2hlY2sgaXMgdG8gY2F0Y2ggdGhlIGNhc2Ugd2hlcmUgYSBuZXcKKwkJcHJvY2VzcyBjb3VsZCBzdGFydCB3cml0aW5nIHRvIHRoZSBzYW1lIHBhZ2UKKwkJdGhyb3VnaCBhIG5ldyBwdGUuIHRoaXMgbmV3IGFjY2VzcyBjYW4gY2F1c2UgdGhlCisJCW1rd3JpdGUgZXZlbiB3aGVuIHRoZSBvcmlnaW5hbCBwcydzIHB0ZSBpcyBtYXJrZWQKKwkJd3JpdGFibGUgKi8KKwkJaWYgKHVubGlrZWx5KGN1ciA9PSBwYWdlKSkKKwkJCWdvdG8gcGFnZV9hbHJlYWR5X2FkZGVkOworCQllbHNlIGlmIChjdXItPmluZGV4ID4gcGFnZS0+aW5kZXgpCisJCQlicmVhazsKKwl9CisKKwlsaXN0X2FkZF90YWlsKCZwYWdlLT5scnUsICZjdXItPmxydSk7CisKK3BhZ2VfYWxyZWFkeV9hZGRlZDoKIAltdXRleF91bmxvY2soJmZiZGVmaW8tPmxvY2spOwogCiAJLyogY29tZSBiYWNrIGFmdGVyIGRlbGF5IHRvIHByb2Nlc3MgdGhlIGRlZmVycmVkIElPICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZibWVtLmMgYi9kcml2ZXJzL3ZpZGVvL2ZibWVtLmMKaW5kZXggNzc2ZjdmYy4uMzNlYmRiMSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYm1lbS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJtZW0uYwpAQCAtMTMyNiwyMCArMTMyNiwyNyBAQAogCiAJaWYgKGZiaWR4ID49IEZCX01BWCkKIAkJcmV0dXJuIC1FTk9ERVY7CisJbG9ja19rZXJuZWwoKTsKICNpZmRlZiBDT05GSUdfS01PRAogCWlmICghKGluZm8gPSByZWdpc3RlcmVkX2ZiW2ZiaWR4XSkpCiAJCXRyeV90b19sb2FkKGZiaWR4KTsKICNlbmRpZiAvKiBDT05GSUdfS01PRCAqLwotCWlmICghKGluZm8gPSByZWdpc3RlcmVkX2ZiW2ZiaWR4XSkpCi0JCXJldHVybiAtRU5PREVWOwotCWlmICghdHJ5X21vZHVsZV9nZXQoaW5mby0+ZmJvcHMtPm93bmVyKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKCEoaW5mbyA9IHJlZ2lzdGVyZWRfZmJbZmJpZHhdKSkgeworCQlyZXMgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CisJaWYgKCF0cnlfbW9kdWxlX2dldChpbmZvLT5mYm9wcy0+b3duZXIpKSB7CisJCXJlcyA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBpbmZvOwogCWlmIChpbmZvLT5mYm9wcy0+ZmJfb3BlbikgewogCQlyZXMgPSBpbmZvLT5mYm9wcy0+ZmJfb3BlbihpbmZvLDEpOwogCQlpZiAocmVzKQogCQkJbW9kdWxlX3B1dChpbmZvLT5mYm9wcy0+b3duZXIpOwogCX0KK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJlczsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mc2wtZGl1LWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZzbC1kaXUtZmIuYwppbmRleCA3MTJkYWJjLi4wOWQ3ZTIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZzbC1kaXUtZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZzbC1kaXUtZmIuYwpAQCAtMTMyNCw3ICsxMzI0LDcgQEAKIHsKIAlzdHJ1Y3QgZnNsX2RpdV9kYXRhICptYWNoaW5lX2RhdGE7CiAKLQltYWNoaW5lX2RhdGEgPSBkZXZfZ2V0X2RydmRhdGEoJmRldi0+ZGV2KTsKKwltYWNoaW5lX2RhdGEgPSBkZXZfZ2V0X2RydmRhdGEoJm9mZGV2LT5kZXYpOwogCWRpc2FibGVfbGNkYyhtYWNoaW5lX2RhdGEtPmZzbF9kaXVfaW5mb1swXSk7CiAKIAlyZXR1cm4gMDsKQEAgLTEzMzQsNyArMTMzNCw3IEBACiB7CiAJc3RydWN0IGZzbF9kaXVfZGF0YSAqbWFjaGluZV9kYXRhOwogCi0JbWFjaGluZV9kYXRhID0gZGV2X2dldF9kcnZkYXRhKCZkZXYtPmRldik7CisJbWFjaGluZV9kYXRhID0gZGV2X2dldF9kcnZkYXRhKCZvZmRldi0+ZGV2KTsKIAllbmFibGVfbGNkYyhtYWNoaW5lX2RhdGEtPmZzbF9kaXVfaW5mb1swXSk7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiX2kyYy5jIGIvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJfaTJjLmMKaW5kZXggY2E5NWYwOS4uZmNmOWZhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJfaTJjLmMKKysrIGIvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJfaTJjLmMKQEAgLTEwMCw3ICsxMDAsOCBAQAogCiBzdGF0aWMgaW50IGludGVsZmJfc2V0dXBfaTJjX2J1cyhzdHJ1Y3QgaW50ZWxmYl9pbmZvICpkaW5mbywKIAkJCQkgc3RydWN0IGludGVsZmJfaTJjX2NoYW4gKmNoYW4sCi0JCQkJIGNvbnN0IHUzMiByZWcsIGNvbnN0IGNoYXIgKm5hbWUpCisJCQkJIGNvbnN0IHUzMiByZWcsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJIGludCBjbGFzcykKIHsKIAlpbnQgcmM7CiAKQEAgLTEwOCw2ICsxMDksNyBAQAogCWNoYW4tPnJlZwkJCT0gcmVnOwogCXNucHJpbnRmKGNoYW4tPmFkYXB0ZXIubmFtZSwgc2l6ZW9mKGNoYW4tPmFkYXB0ZXIubmFtZSksCiAJCSAiaW50ZWxmYiAlcyIsIG5hbWUpOworCWNoYW4tPmFkYXB0ZXIuY2xhc3MJCT0gY2xhc3M7CiAJY2hhbi0+YWRhcHRlci5vd25lcgkJPSBUSElTX01PRFVMRTsKIAljaGFuLT5hZGFwdGVyLmlkCQk9IEkyQ19IV19CX0lOVEVMRkI7CiAJY2hhbi0+YWRhcHRlci5hbGdvX2RhdGEJCT0gJmNoYW4tPmFsZ287CkBAIC0xNDUsNyArMTQ3LDcgQEAKIAogCS8qIHNldHVwIHRoZSBEREMgYnVzIGZvciBhbmFsb2cgb3V0cHV0ICovCiAJaW50ZWxmYl9zZXR1cF9pMmNfYnVzKGRpbmZvLCAmZGluZm8tPm91dHB1dFtpXS5kZGNfYnVzLCBHUElPQSwKLQkJCSAgICAgICJDUlRERENfQSIpOworCQkJICAgICAgIkNSVEREQ19BIiwgSTJDX0NMQVNTX0REQyk7CiAJaSsrOwogCiAJLyogbmVlZCB0byBhZGQgdGhlIG91dHB1dCBidXNzZXMgZm9yIGVhY2ggZGV2aWNlCkBAIC0xNTksOSArMTYxLDkgQEAKIAljYXNlIElOVEVMXzg2NUc6CiAJCWRpbmZvLT5vdXRwdXRbaV0udHlwZSA9IElOVEVMRkJfT1VUUFVUX0RWTzsKIAkJaW50ZWxmYl9zZXR1cF9pMmNfYnVzKGRpbmZvLCAmZGluZm8tPm91dHB1dFtpXS5kZGNfYnVzLAotCQkJCSAgICAgIEdQSU9ELCAiRFZPRERDX0QiKTsKKwkJCQkgICAgICBHUElPRCwgIkRWT0REQ19EIiwgSTJDX0NMQVNTX0REQyk7CiAJCWludGVsZmJfc2V0dXBfaTJjX2J1cyhkaW5mbywgJmRpbmZvLT5vdXRwdXRbaV0uaTJjX2J1cywKLQkJCQkgICAgICBHUElPRSwgIkRWT0kyQ19FIik7CisJCQkJICAgICAgR1BJT0UsICJEVk9JMkNfRSIsIDApOwogCQlpKys7CiAJCWJyZWFrOwogCWNhc2UgSU5URUxfOTE1RzoKQEAgLTE3NCw3ICsxNzYsNyBAQAogCQkvKiBTRFZPIHBvcnRzIGhhdmUgYSBzaW5nbGUgY29udHJvbCBidXMgLSAyIGRldmljZXMgKi8KIAkJZGluZm8tPm91dHB1dFtpXS50eXBlID0gSU5URUxGQl9PVVRQVVRfU0RWTzsKIAkJaW50ZWxmYl9zZXR1cF9pMmNfYnVzKGRpbmZvLCAmZGluZm8tPm91dHB1dFtpXS5pMmNfYnVzLAotCQkJCSAgICAgIEdQSU9FLCAiU0RWT0NUUkxfRSIpOworCQkJCSAgICAgIEdQSU9FLCAiU0RWT0NUUkxfRSIsIDApOwogCQkvKiBUT0RPOiBpbml0aWFsaXplIHRoZSBTRFZPICovCiAJCS8qIEk4MzBTRFZPSW5pdChwU2NybiwgaSwgRFZPQik7ICovCiAJCWkrKzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vbWF0cm94L2kyYy1tYXRyb3hmYi5jIGIvZHJpdmVycy92aWRlby9tYXRyb3gvaTJjLW1hdHJveGZiLmMKaW5kZXggNGJhYWI3Yi4uNzVlZTVhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9tYXRyb3gvaTJjLW1hdHJveGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9tYXRyb3gvaTJjLW1hdHJveGZiLmMKQEAgLTEwNCw3ICsxMDQsOSBAQAogfTsKIAogc3RhdGljIGludCBpMmNfYnVzX3JlZyhzdHJ1Y3QgaTJjX2JpdF9hZGFwdGVyKiBiLCBzdHJ1Y3QgbWF0cm94X2ZiX2luZm8qIG1pbmZvLCAKLQkJdW5zaWduZWQgaW50IGRhdGEsIHVuc2lnbmVkIGludCBjbG9jaywgY29uc3QgY2hhciogbmFtZSkgeworCQl1bnNpZ25lZCBpbnQgZGF0YSwgdW5zaWduZWQgaW50IGNsb2NrLCBjb25zdCBjaGFyICpuYW1lLAorCQlpbnQgY2xhc3MpCit7CiAJaW50IGVycjsKIAogCWItPm1pbmZvID0gbWluZm87CkBAIC0xMTQsNiArMTE2LDcgQEAKIAlzbnByaW50ZihiLT5hZGFwdGVyLm5hbWUsIHNpemVvZihiLT5hZGFwdGVyLm5hbWUpLCBuYW1lLAogCQltaW5mby0+ZmJjb24ubm9kZSk7CiAJaTJjX3NldF9hZGFwZGF0YSgmYi0+YWRhcHRlciwgYik7CisJYi0+YWRhcHRlci5jbGFzcyA9IGNsYXNzOwogCWItPmFkYXB0ZXIuYWxnb19kYXRhID0gJmItPmJhYzsKIAliLT5hZGFwdGVyLmRldi5wYXJlbnQgPSAmQUNDRVNTX0ZCSU5GTyhwY2lkZXYpLT5kZXY7CiAJYi0+YmFjID0gbWF0cm94X2kyY19hbGdvX3RlbXBsYXRlOwpAQCAtMTU5LDIyICsxNjIsMjkgQEAKIAlzd2l0Y2ggKEFDQ0VTU19GQklORk8oY2hpcCkpIHsKIAkJY2FzZSBNR0FfMjA2NDoKIAkJY2FzZSBNR0FfMjE2NDoKLQkJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzEsIG1pbmZvLCBEREMxQl9EQVRBLCBEREMxQl9DTEssICJEREM6ZmIldSAjMCIpOworCQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMSwgbWluZm8sCisJCQkJCSAgRERDMUJfREFUQSwgRERDMUJfQ0xLLAorCQkJCQkgICJEREM6ZmIldSAjMCIsIEkyQ19DTEFTU19EREMpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0JCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMxLCBtaW5mbywgRERDMV9EQVRBLCBEREMxX0NMSywgIkREQzpmYiV1ICMwIik7CisJCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMxLCBtaW5mbywKKwkJCQkJICBEREMxX0RBVEEsIEREQzFfQ0xLLAorCQkJCQkgICJEREM6ZmIldSAjMCIsIEkyQ19DTEFTU19EREMpOwogCQkJYnJlYWs7CiAJfQogCWlmIChlcnIpCiAJCWdvdG8gZmFpbF9kZGMxOwogCWlmIChBQ0NFU1NfRkJJTkZPKGRldmZsYWdzLmR1YWxoZWFkKSkgewotCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMyLCBtaW5mbywgRERDMl9EQVRBLCBEREMyX0NMSywgIkREQzpmYiV1ICMxIik7CisJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzIsIG1pbmZvLAorCQkJCSAgRERDMl9EQVRBLCBEREMyX0NMSywKKwkJCQkgICJEREM6ZmIldSAjMSIsIEkyQ19DTEFTU19EREMpOwogCQlpZiAoZXJyID09IC1FTk9ERVYpIHsKIAkJCXByaW50ayhLRVJOX0lORk8gImkyYy1tYXRyb3hmYjogVkdBLT5UViBwbHVnIGRldGVjdGVkLCBEREMgdW5hdmFpbGFibGUuXG4iKTsKIAkJfSBlbHNlIGlmIChlcnIpCiAJCQlwcmludGsoS0VSTl9JTkZPICJpMmMtbWF0cm94ZmI6IENvdWxkIG5vdCByZWdpc3RlciBzZWNvbmRhcnkgb3V0cHV0IGkyYyBidXMuIENvbnRpbnVpbmcgYW55d2F5LlxuIik7CiAJCS8qIFJlZ2lzdGVyIG1hdmVuIGJ1cyBldmVuIG9uIEc0NTAvRzU1MCAqLwotCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5tYXZlbiwgbWluZm8sIE1BVF9EQVRBLCBNQVRfQ0xLLCAiTUFWRU46ZmIldSIpOworCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5tYXZlbiwgbWluZm8sCisJCQkJICBNQVRfREFUQSwgTUFUX0NMSywgIk1BVkVOOmZiJXUiLCAwKTsKIAkJaWYgKGVycikKIAkJCXByaW50ayhLRVJOX0lORk8gImkyYy1tYXRyb3hmYjogQ291bGQgbm90IHJlZ2lzdGVyIE1hdmVuIGkyYyBidXMuIENvbnRpbnVpbmcgYW55d2F5LlxuIik7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9weGFmYi5jIGIvZHJpdmVycy92aWRlby9weGFmYi5jCmluZGV4IGZhZmU3ZGIuLmQwNzQ2MjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vcHhhZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL3B4YWZiLmMKQEAgLTE3OTIsMTEgKzE3OTIsNDkgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IF9fZGV2ZXhpdCBweGFmYl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBweGFmYl9pbmZvICpmYmkgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwlpbnQgaXJxOworCXN0cnVjdCBmYl9pbmZvICppbmZvOworCisJaWYgKCFmYmkpCisJCXJldHVybiAwOworCisJaW5mbyA9ICZmYmktPmZiOworCisJdW5yZWdpc3Rlcl9mcmFtZWJ1ZmZlcihpbmZvKTsKKworCXB4YWZiX2Rpc2FibGVfY29udHJvbGxlcihmYmkpOworCisJaWYgKGZiaS0+ZmIuY21hcC5sZW4pCisJCWZiX2RlYWxsb2NfY21hcCgmZmJpLT5mYi5jbWFwKTsKKworCWlycSA9IHBsYXRmb3JtX2dldF9pcnEoZGV2LCAwKTsKKwlmcmVlX2lycShpcnEsIGZiaSk7CisKKwlkbWFfZnJlZV93cml0ZWNvbWJpbmUoJmRldi0+ZGV2LCBmYmktPm1hcF9zaXplLAorCQkJCQlmYmktPm1hcF9jcHUsIGZiaS0+bWFwX2RtYSk7CisKKwlpb3VubWFwKGZiaS0+bW1pb19iYXNlKTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UoZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJcmVsZWFzZV9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworCisJY2xrX3B1dChmYmktPmNsayk7CisJa2ZyZWUoZmJpKTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBweGFmYl9kcml2ZXIgPSB7CiAJLnByb2JlCQk9IHB4YWZiX3Byb2JlLAorCS5yZW1vdmUgCT0gcHhhZmJfcmVtb3ZlLAogCS5zdXNwZW5kCT0gcHhhZmJfc3VzcGVuZCwKIAkucmVzdW1lCQk9IHB4YWZiX3Jlc3VtZSwKIAkuZHJpdmVyCQk9IHsKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCiAJCS5uYW1lCT0gInB4YTJ4eC1mYiIsCiAJfSwKIH07CkBAIC0xODA5LDcgKzE4NDcsMTMgQEAKIAlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZweGFmYl9kcml2ZXIpOwogfQogCitzdGF0aWMgdm9pZCBfX2V4aXQgcHhhZmJfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZweGFmYl9kcml2ZXIpOworfQorCiBtb2R1bGVfaW5pdChweGFmYl9pbml0KTsKK21vZHVsZV9leGl0KHB4YWZiX2V4aXQpOwogCiBNT0RVTEVfREVTQ1JJUFRJT04oImxvYWRhYmxlIGZyYW1lYnVmZmVyIGRyaXZlciBmb3IgUFhBIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL3NnaXZ3ZmIuYyBiL2RyaXZlcnMvdmlkZW8vc2dpdndmYi5jCmluZGV4IDRmYjE2MjQuLmY1MjUyYzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vc2dpdndmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vc2dpdndmYi5jCkBAIC0yMSw4ICsyMSw3IEBACiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vbXRyci5oPgotCi0jaW5jbHVkZSA8c2V0dXBfYXJjaC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9zZ2l2dy5oPgogCiAjZGVmaW5lIElOQ0xVREVfVElNSU5HX1RBQkxFX0RBVEEKICNkZWZpbmUgREJFX1JFR19CQVNFIHBhci0+cmVncwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby94ZW4tZmJmcm9udC5jIGIvZHJpdmVycy92aWRlby94ZW4tZmJmcm9udC5jCmluZGV4IDYxOWE2ZjguLjQ3ZWQzOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8veGVuLWZiZnJvbnQuYworKysgYi9kcml2ZXJzL3ZpZGVvL3hlbi1mYmZyb250LmMKQEAgLTE4LDYgKzE4LDcgQEAKICAqIGZyYW1lIGJ1ZmZlci4KICAqLwogCisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvZmIuaD4KQEAgLTQyLDM3ICs0Myw2OCBAQAogCXN0cnVjdCB4ZW5mYl9wYWdlCSpwYWdlOwogCXVuc2lnbmVkIGxvbmcgCQkqbWZuczsKIAlpbnQJCQl1cGRhdGVfd2FudGVkOyAvKiBYRU5GQl9UWVBFX1VQREFURSB3YW50ZWQgKi8KKwlpbnQJCQlmZWF0dXJlX3Jlc2l6ZTsgLyogWEVORkJfVFlQRV9SRVNJWkUgb2sgKi8KKwlzdHJ1Y3QgeGVuZmJfcmVzaXplCXJlc2l6ZTsJCS8qIHByb3RlY3RlZCBieSByZXNpemVfbG9jayAqLworCWludAkJCXJlc2l6ZV9kcHk7CS8qIGRpdHRvICovCisJc3BpbmxvY2tfdAkJcmVzaXplX2xvY2s7CiAKIAlzdHJ1Y3QgeGVuYnVzX2RldmljZQkqeGJkZXY7CiB9OwogCi1zdGF0aWMgdTMyIHhlbmZiX21lbV9sZW4gPSBYRU5GQl9XSURUSCAqIFhFTkZCX0hFSUdIVCAqIFhFTkZCX0RFUFRIIC8gODsKKyNkZWZpbmUgWEVORkJfREVGQVVMVF9GQl9MRU4gKFhFTkZCX1dJRFRIICogWEVORkJfSEVJR0hUICogWEVORkJfREVQVEggLyA4KQogCitlbnVtIHsgS1BBUkFNX01FTSwgS1BBUkFNX1dJRFRILCBLUEFSQU1fSEVJR0hULCBLUEFSQU1fQ05UIH07CitzdGF0aWMgaW50IHZpZGVvW0tQQVJBTV9DTlRdID0geyAyLCBYRU5GQl9XSURUSCwgWEVORkJfSEVJR0hUIH07Cittb2R1bGVfcGFyYW1fYXJyYXkodmlkZW8sIGludCwgTlVMTCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKHZpZGVvLAorCSJWaWRlbyBtZW1vcnkgc2l6ZSBpbiBNQiwgd2lkdGgsIGhlaWdodCBpbiBwaXhlbHMgKGRlZmF1bHQgMiw4MDAsNjAwKSIpOworCitzdGF0aWMgdm9pZCB4ZW5mYl9tYWtlX3ByZWZlcnJlZF9jb25zb2xlKHZvaWQpOwogc3RhdGljIGludCB4ZW5mYl9yZW1vdmUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKik7Ci1zdGF0aWMgdm9pZCB4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKHN0cnVjdCB4ZW5mYl9pbmZvICopOworc3RhdGljIHZvaWQgeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShzdHJ1Y3QgeGVuZmJfaW5mbyAqLCBzdHJ1Y3QgZmJfaW5mbyAqKTsKIHN0YXRpYyBpbnQgeGVuZmJfY29ubmVjdF9iYWNrZW5kKHN0cnVjdCB4ZW5idXNfZGV2aWNlICosIHN0cnVjdCB4ZW5mYl9pbmZvICopOwogc3RhdGljIHZvaWQgeGVuZmJfZGlzY29ubmVjdF9iYWNrZW5kKHN0cnVjdCB4ZW5mYl9pbmZvICopOwogCitzdGF0aWMgdm9pZCB4ZW5mYl9zZW5kX2V2ZW50KHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvLAorCQkJICAgICB1bmlvbiB4ZW5mYl9vdXRfZXZlbnQgKmV2ZW50KQoreworCXUzMiBwcm9kOworCisJcHJvZCA9IGluZm8tPnBhZ2UtPm91dF9wcm9kOworCS8qIGNhbGxlciBlbnN1cmVzICF4ZW5mYl9xdWV1ZV9mdWxsKCkgKi8KKwltYigpOwkJCS8qIGVuc3VyZSByaW5nIHNwYWNlIGF2YWlsYWJsZSAqLworCVhFTkZCX09VVF9SSU5HX1JFRihpbmZvLT5wYWdlLCBwcm9kKSA9ICpldmVudDsKKwl3bWIoKTsJCQkvKiBlbnN1cmUgcmluZyBjb250ZW50cyB2aXNpYmxlICovCisJaW5mby0+cGFnZS0+b3V0X3Byb2QgPSBwcm9kICsgMTsKKworCW5vdGlmeV9yZW1vdGVfdmlhX2lycShpbmZvLT5pcnEpOworfQorCiBzdGF0aWMgdm9pZCB4ZW5mYl9kb191cGRhdGUoc3RydWN0IHhlbmZiX2luZm8gKmluZm8sCiAJCQkgICAgaW50IHgsIGludCB5LCBpbnQgdywgaW50IGgpCiB7CiAJdW5pb24geGVuZmJfb3V0X2V2ZW50IGV2ZW50OwotCXUzMiBwcm9kOwogCisJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mKGV2ZW50KSk7CiAJZXZlbnQudHlwZSA9IFhFTkZCX1RZUEVfVVBEQVRFOwogCWV2ZW50LnVwZGF0ZS54ID0geDsKIAlldmVudC51cGRhdGUueSA9IHk7CiAJZXZlbnQudXBkYXRlLndpZHRoID0gdzsKIAlldmVudC51cGRhdGUuaGVpZ2h0ID0gaDsKIAotCXByb2QgPSBpbmZvLT5wYWdlLT5vdXRfcHJvZDsKIAkvKiBjYWxsZXIgZW5zdXJlcyAheGVuZmJfcXVldWVfZnVsbCgpICovCi0JbWIoKTsJCQkvKiBlbnN1cmUgcmluZyBzcGFjZSBhdmFpbGFibGUgKi8KLQlYRU5GQl9PVVRfUklOR19SRUYoaW5mby0+cGFnZSwgcHJvZCkgPSBldmVudDsKLQl3bWIoKTsJCQkvKiBlbnN1cmUgcmluZyBjb250ZW50cyB2aXNpYmxlICovCi0JaW5mby0+cGFnZS0+b3V0X3Byb2QgPSBwcm9kICsgMTsKKwl4ZW5mYl9zZW5kX2V2ZW50KGluZm8sICZldmVudCk7Cit9CiAKLQlub3RpZnlfcmVtb3RlX3ZpYV9pcnEoaW5mby0+aXJxKTsKK3N0YXRpYyB2b2lkIHhlbmZiX2RvX3Jlc2l6ZShzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbykKK3sKKwl1bmlvbiB4ZW5mYl9vdXRfZXZlbnQgZXZlbnQ7CisKKwltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YoZXZlbnQpKTsKKwlldmVudC5yZXNpemUgPSBpbmZvLT5yZXNpemU7CisKKwkvKiBjYWxsZXIgZW5zdXJlcyAheGVuZmJfcXVldWVfZnVsbCgpICovCisJeGVuZmJfc2VuZF9ldmVudChpbmZvLCAmZXZlbnQpOwogfQogCiBzdGF0aWMgaW50IHhlbmZiX3F1ZXVlX2Z1bGwoc3RydWN0IHhlbmZiX2luZm8gKmluZm8pCkBAIC04NCwxMiArMTE2LDI4IEBACiAJcmV0dXJuIHByb2QgLSBjb25zID09IFhFTkZCX09VVF9SSU5HX0xFTjsKIH0KIAorc3RhdGljIHZvaWQgeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkoc3RydWN0IHhlbmZiX2luZm8gKmluZm8pCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpbmZvLT5yZXNpemVfbG9jaywgZmxhZ3MpOworCWlmIChpbmZvLT5yZXNpemVfZHB5KSB7CisJCWlmICgheGVuZmJfcXVldWVfZnVsbChpbmZvKSkgeworCQkJaW5mby0+cmVzaXplX2RweSA9IDA7CisJCQl4ZW5mYl9kb19yZXNpemUoaW5mbyk7CisJCX0KKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW5mby0+cmVzaXplX2xvY2ssIGZsYWdzKTsKK30KKwogc3RhdGljIHZvaWQgeGVuZmJfcmVmcmVzaChzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbywKIAkJCSAgaW50IHgxLCBpbnQgeTEsIGludCB3LCBpbnQgaCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCB5MiA9IHkxICsgaCAtIDE7CiAJaW50IHgyID0geDEgKyB3IC0gMTsKKwlpbnQgeTIgPSB5MSArIGggLSAxOworCisJeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkoaW5mbyk7CiAKIAlpZiAoIWluZm8tPnVwZGF0ZV93YW50ZWQpCiAJCXJldHVybjsKQEAgLTIyMiw2ICsyNzAsNTcgQEAKIAlyZXR1cm4gcmVzOwogfQogCitzdGF0aWMgaW50Cit4ZW5mYl9jaGVja192YXIoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsIHN0cnVjdCBmYl9pbmZvICppbmZvKQoreworCXN0cnVjdCB4ZW5mYl9pbmZvICp4ZW5mYl9pbmZvOworCWludCByZXF1aXJlZF9tZW1fbGVuOworCisJeGVuZmJfaW5mbyA9IGluZm8tPnBhcjsKKworCWlmICgheGVuZmJfaW5mby0+ZmVhdHVyZV9yZXNpemUpIHsKKwkJaWYgKHZhci0+eHJlcyA9PSB2aWRlb1tLUEFSQU1fV0lEVEhdICYmCisJCSAgICB2YXItPnlyZXMgPT0gdmlkZW9bS1BBUkFNX0hFSUdIVF0gJiYKKwkJICAgIHZhci0+Yml0c19wZXJfcGl4ZWwgPT0geGVuZmJfaW5mby0+cGFnZS0+ZGVwdGgpIHsKKwkJCXJldHVybiAwOworCQl9CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIENhbid0IHJlc2l6ZSBwYXN0IGluaXRpYWwgd2lkdGggYW5kIGhlaWdodCAqLworCWlmICh2YXItPnhyZXMgPiB2aWRlb1tLUEFSQU1fV0lEVEhdIHx8IHZhci0+eXJlcyA+IHZpZGVvW0tQQVJBTV9IRUlHSFRdKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJlcXVpcmVkX21lbV9sZW4gPSB2YXItPnhyZXMgKiB2YXItPnlyZXMgKiB4ZW5mYl9pbmZvLT5wYWdlLT5kZXB0aCAvIDg7CisJaWYgKHZhci0+Yml0c19wZXJfcGl4ZWwgPT0geGVuZmJfaW5mby0+cGFnZS0+ZGVwdGggJiYKKwkgICAgdmFyLT54cmVzIDw9IGluZm8tPmZpeC5saW5lX2xlbmd0aCAvIChYRU5GQl9ERVBUSCAvIDgpICYmCisJICAgIHJlcXVpcmVkX21lbV9sZW4gPD0gaW5mby0+Zml4LnNtZW1fbGVuKSB7CisJCXZhci0+eHJlc192aXJ0dWFsID0gdmFyLT54cmVzOworCQl2YXItPnlyZXNfdmlydHVhbCA9IHZhci0+eXJlczsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IHhlbmZiX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCit7CisJc3RydWN0IHhlbmZiX2luZm8gKnhlbmZiX2luZm87CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXhlbmZiX2luZm8gPSBpbmZvLT5wYXI7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmeGVuZmJfaW5mby0+cmVzaXplX2xvY2ssIGZsYWdzKTsKKwl4ZW5mYl9pbmZvLT5yZXNpemUudHlwZSA9IFhFTkZCX1RZUEVfUkVTSVpFOworCXhlbmZiX2luZm8tPnJlc2l6ZS53aWR0aCA9IGluZm8tPnZhci54cmVzOworCXhlbmZiX2luZm8tPnJlc2l6ZS5oZWlnaHQgPSBpbmZvLT52YXIueXJlczsKKwl4ZW5mYl9pbmZvLT5yZXNpemUuc3RyaWRlID0gaW5mby0+Zml4LmxpbmVfbGVuZ3RoOworCXhlbmZiX2luZm8tPnJlc2l6ZS5kZXB0aCA9IGluZm8tPnZhci5iaXRzX3Blcl9waXhlbDsKKwl4ZW5mYl9pbmZvLT5yZXNpemUub2Zmc2V0ID0gMDsKKwl4ZW5mYl9pbmZvLT5yZXNpemVfZHB5ID0gMTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ4ZW5mYl9pbmZvLT5yZXNpemVfbG9jaywgZmxhZ3MpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgc3RydWN0IGZiX29wcyB4ZW5mYl9mYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkCT0gZmJfc3lzX3JlYWQsCkBAIC0yMzAsNiArMzI5LDggQEAKIAkuZmJfZmlsbHJlY3QJPSB4ZW5mYl9maWxscmVjdCwKIAkuZmJfY29weWFyZWEJPSB4ZW5mYl9jb3B5YXJlYSwKIAkuZmJfaW1hZ2VibGl0CT0geGVuZmJfaW1hZ2VibGl0LAorCS5mYl9jaGVja192YXIJPSB4ZW5mYl9jaGVja192YXIsCisJLmZiX3NldF9wYXIgICAgID0geGVuZmJfc2V0X3BhciwKIH07CiAKIHN0YXRpYyBpcnFyZXR1cm5fdCB4ZW5mYl9ldmVudF9oYW5kbGVyKGludCBycSwgdm9pZCAqZGV2X2lkKQpAQCAtMjU4LDYgKzM1OSw4IEBACiB7CiAJc3RydWN0IHhlbmZiX2luZm8gKmluZm87CiAJc3RydWN0IGZiX2luZm8gKmZiX2luZm87CisJaW50IGZiX3NpemU7CisJaW50IHZhbDsKIAlpbnQgcmV0OwogCiAJaW5mbyA9IGt6YWxsb2Moc2l6ZW9mKCppbmZvKSwgR0ZQX0tFUk5FTCk7CkBAIC0yNjUsMTggKzM2OCwzNSBAQAogCQl4ZW5idXNfZGV2X2ZhdGFsKGRldiwgLUVOT01FTSwgImFsbG9jYXRpbmcgaW5mbyBzdHJ1Y3R1cmUiKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQorCisJLyogTGltaXQga2VybmVsIHBhcmFtIHZpZGVvcmFtIGFtb3VudCB0byB3aGF0IGlzIGluIHhlbnN0b3JlICovCisJaWYgKHhlbmJ1c19zY2FuZihYQlRfTklMLCBkZXYtPm90aGVyZW5kLCAidmlkZW9yYW0iLCAiJWQiLCAmdmFsKSA9PSAxKSB7CisJCWlmICh2YWwgPCB2aWRlb1tLUEFSQU1fTUVNXSkKKwkJCXZpZGVvW0tQQVJBTV9NRU1dID0gdmFsOworCX0KKworCS8qIElmIHJlcXVlc3RlZCByZXMgZG9lcyBub3QgZml0IGluIGF2YWlsYWJsZSBtZW1vcnksIHVzZSBkZWZhdWx0ICovCisJZmJfc2l6ZSA9IHZpZGVvW0tQQVJBTV9NRU1dICogMTAyNCAqIDEwMjQ7CisJaWYgKHZpZGVvW0tQQVJBTV9XSURUSF0gKiB2aWRlb1tLUEFSQU1fSEVJR0hUXSAqIFhFTkZCX0RFUFRIIC8gOAorCSAgICA+IGZiX3NpemUpIHsKKwkJdmlkZW9bS1BBUkFNX1dJRFRIXSA9IFhFTkZCX1dJRFRIOworCQl2aWRlb1tLUEFSQU1fSEVJR0hUXSA9IFhFTkZCX0hFSUdIVDsKKwkJZmJfc2l6ZSA9IFhFTkZCX0RFRkFVTFRfRkJfTEVOOworCX0KKwogCWRldi0+ZGV2LmRyaXZlcl9kYXRhID0gaW5mbzsKIAlpbmZvLT54YmRldiA9IGRldjsKIAlpbmZvLT5pcnEgPSAtMTsKIAlpbmZvLT54MSA9IGluZm8tPnkxID0gSU5UX01BWDsKIAlzcGluX2xvY2tfaW5pdCgmaW5mby0+ZGlydHlfbG9jayk7CisJc3Bpbl9sb2NrX2luaXQoJmluZm8tPnJlc2l6ZV9sb2NrKTsKIAotCWluZm8tPmZiID0gdm1hbGxvYyh4ZW5mYl9tZW1fbGVuKTsKKwlpbmZvLT5mYiA9IHZtYWxsb2MoZmJfc2l6ZSk7CiAJaWYgKGluZm8tPmZiID09IE5VTEwpCiAJCWdvdG8gZXJyb3Jfbm9tZW07Ci0JbWVtc2V0KGluZm8tPmZiLCAwLCB4ZW5mYl9tZW1fbGVuKTsKKwltZW1zZXQoaW5mby0+ZmIsIDAsIGZiX3NpemUpOwogCi0JaW5mby0+bnJfcGFnZXMgPSAoeGVuZmJfbWVtX2xlbiArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisJaW5mby0+bnJfcGFnZXMgPSAoZmJfc2l6ZSArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CiAKIAlpbmZvLT5tZm5zID0gdm1hbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBpbmZvLT5ucl9wYWdlcyk7CiAJaWYgKCFpbmZvLT5tZm5zKQpAQCAtMjg3LDggKzQwNyw2IEBACiAJaWYgKCFpbmZvLT5wYWdlKQogCQlnb3RvIGVycm9yX25vbWVtOwogCi0JeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShpbmZvKTsKLQogCS8qIGFidXNpbmcgZnJhbWVidWZmZXJfYWxsb2MoKSB0byBhbGxvY2F0ZSBwc2V1ZG9fcGFsZXR0ZSAqLwogCWZiX2luZm8gPSBmcmFtZWJ1ZmZlcl9hbGxvYyhzaXplb2YodTMyKSAqIDI1NiwgTlVMTCk7CiAJaWYgKGZiX2luZm8gPT0gTlVMTCkKQEAgLTMwMSw5ICs0MTksOSBAQAogCWZiX2luZm8tPnNjcmVlbl9iYXNlID0gaW5mby0+ZmI7CiAKIAlmYl9pbmZvLT5mYm9wcyA9ICZ4ZW5mYl9mYl9vcHM7Ci0JZmJfaW5mby0+dmFyLnhyZXNfdmlydHVhbCA9IGZiX2luZm8tPnZhci54cmVzID0gaW5mby0+cGFnZS0+d2lkdGg7Ci0JZmJfaW5mby0+dmFyLnlyZXNfdmlydHVhbCA9IGZiX2luZm8tPnZhci55cmVzID0gaW5mby0+cGFnZS0+aGVpZ2h0OwotCWZiX2luZm8tPnZhci5iaXRzX3Blcl9waXhlbCA9IGluZm8tPnBhZ2UtPmRlcHRoOworCWZiX2luZm8tPnZhci54cmVzX3ZpcnR1YWwgPSBmYl9pbmZvLT52YXIueHJlcyA9IHZpZGVvW0tQQVJBTV9XSURUSF07CisJZmJfaW5mby0+dmFyLnlyZXNfdmlydHVhbCA9IGZiX2luZm8tPnZhci55cmVzID0gdmlkZW9bS1BBUkFNX0hFSUdIVF07CisJZmJfaW5mby0+dmFyLmJpdHNfcGVyX3BpeGVsID0gWEVORkJfREVQVEg7CiAKIAlmYl9pbmZvLT52YXIucmVkID0gKHN0cnVjdCBmYl9iaXRmaWVsZCl7MTYsIDgsIDB9OwogCWZiX2luZm8tPnZhci5ncmVlbiA9IChzdHJ1Y3QgZmJfYml0ZmllbGQpezgsIDgsIDB9OwpAQCAtMzE1LDkgKzQzMyw5IEBACiAJZmJfaW5mby0+dmFyLnZtb2RlID0gRkJfVk1PREVfTk9OSU5URVJMQUNFRDsKIAogCWZiX2luZm8tPmZpeC52aXN1YWwgPSBGQl9WSVNVQUxfVFJVRUNPTE9SOwotCWZiX2luZm8tPmZpeC5saW5lX2xlbmd0aCA9IGluZm8tPnBhZ2UtPmxpbmVfbGVuZ3RoOworCWZiX2luZm8tPmZpeC5saW5lX2xlbmd0aCA9IGZiX2luZm8tPnZhci54cmVzICogWEVORkJfREVQVEggLyA4OwogCWZiX2luZm8tPmZpeC5zbWVtX3N0YXJ0ID0gMDsKLQlmYl9pbmZvLT5maXguc21lbV9sZW4gPSB4ZW5mYl9tZW1fbGVuOworCWZiX2luZm8tPmZpeC5zbWVtX2xlbiA9IGZiX3NpemU7CiAJc3RyY3B5KGZiX2luZm8tPmZpeC5pZCwgInhlbiIpOwogCWZiX2luZm8tPmZpeC50eXBlID0gRkJfVFlQRV9QQUNLRURfUElYRUxTOwogCWZiX2luZm8tPmZpeC5hY2NlbCA9IEZCX0FDQ0VMX05PTkU7CkBAIC0zMzQsNiArNDUyLDggQEAKIAlmYl9pbmZvLT5mYmRlZmlvID0gJnhlbmZiX2RlZmlvOwogCWZiX2RlZmVycmVkX2lvX2luaXQoZmJfaW5mbyk7CiAKKwl4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKGluZm8sIGZiX2luZm8pOworCiAJcmV0ID0gcmVnaXN0ZXJfZnJhbWVidWZmZXIoZmJfaW5mbyk7CiAJaWYgKHJldCkgewogCQlmYl9kZWZlcnJlZF9pb19jbGVhbnVwKGZiX2luZm8pOwpAQCAtMzQ4LDYgKzQ2OCw3IEBACiAJaWYgKHJldCA8IDApCiAJCWdvdG8gZXJyb3I7CiAKKwl4ZW5mYl9tYWtlX3ByZWZlcnJlZF9jb25zb2xlKCk7CiAJcmV0dXJuIDA7CiAKICBlcnJvcl9ub21lbToKQEAgLTM1OCwxMiArNDc5LDM0IEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIF9fZGV2aW5pdCB2b2lkCit4ZW5mYl9tYWtlX3ByZWZlcnJlZF9jb25zb2xlKHZvaWQpCit7CisJc3RydWN0IGNvbnNvbGUgKmM7CisKKwlpZiAoY29uc29sZV9zZXRfb25fY21kbGluZSkKKwkJcmV0dXJuOworCisJYWNxdWlyZV9jb25zb2xlX3NlbSgpOworCWZvciAoYyA9IGNvbnNvbGVfZHJpdmVyczsgYzsgYyA9IGMtPm5leHQpIHsKKwkJaWYgKCFzdHJjbXAoYy0+bmFtZSwgInR0eSIpICYmIGMtPmluZGV4ID09IDApCisJCQlicmVhazsKKwl9CisJcmVsZWFzZV9jb25zb2xlX3NlbSgpOworCWlmIChjKSB7CisJCXVucmVnaXN0ZXJfY29uc29sZShjKTsKKwkJYy0+ZmxhZ3MgfD0gQ09OX0NPTlNERVY7CisJCWMtPmZsYWdzICY9IH5DT05fUFJJTlRCVUZGRVI7IC8qIGRvbid0IHByaW50IGFnYWluICovCisJCXJlZ2lzdGVyX2NvbnNvbGUoYyk7CisJfQorfQorCiBzdGF0aWMgaW50IHhlbmZiX3Jlc3VtZShzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2KQogewogCXN0cnVjdCB4ZW5mYl9pbmZvICppbmZvID0gZGV2LT5kZXYuZHJpdmVyX2RhdGE7CiAKIAl4ZW5mYl9kaXNjb25uZWN0X2JhY2tlbmQoaW5mbyk7Ci0JeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShpbmZvKTsKKwl4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKGluZm8sIGluZm8tPmZiX2luZm8pOwogCXJldHVybiB4ZW5mYl9jb25uZWN0X2JhY2tlbmQoZGV2LCBpbmZvKTsKIH0KIApAQCAtMzkxLDIwICs1MzQsMjMgQEAKIAlyZXR1cm4gcGZuX3RvX21mbih2bWFsbG9jX3RvX3BmbihhZGRyZXNzKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHhlbmZiX2luaXRfc2hhcmVkX3BhZ2Uoc3RydWN0IHhlbmZiX2luZm8gKmluZm8pCitzdGF0aWMgdm9pZCB4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvLAorCQkJCSAgIHN0cnVjdCBmYl9pbmZvICpmYl9pbmZvKQogewogCWludCBpOworCWludCBlcGQgPSBQQUdFX1NJWkUgLyBzaXplb2YoaW5mby0+bWZuc1swXSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgaW5mby0+bnJfcGFnZXM7IGkrKykKIAkJaW5mby0+bWZuc1tpXSA9IHZtYWxsb2NfdG9fbWZuKGluZm8tPmZiICsgaSAqIFBBR0VfU0laRSk7CiAKLQlpbmZvLT5wYWdlLT5wZFswXSA9IHZtYWxsb2NfdG9fbWZuKGluZm8tPm1mbnMpOwotCWluZm8tPnBhZ2UtPnBkWzFdID0gMDsKLQlpbmZvLT5wYWdlLT53aWR0aCA9IFhFTkZCX1dJRFRIOwotCWluZm8tPnBhZ2UtPmhlaWdodCA9IFhFTkZCX0hFSUdIVDsKLQlpbmZvLT5wYWdlLT5kZXB0aCA9IFhFTkZCX0RFUFRIOwotCWluZm8tPnBhZ2UtPmxpbmVfbGVuZ3RoID0gKGluZm8tPnBhZ2UtPmRlcHRoIC8gOCkgKiBpbmZvLT5wYWdlLT53aWR0aDsKLQlpbmZvLT5wYWdlLT5tZW1fbGVuZ3RoID0geGVuZmJfbWVtX2xlbjsKKwlmb3IgKGkgPSAwOyBpICogZXBkIDwgaW5mby0+bnJfcGFnZXM7IGkrKykKKwkJaW5mby0+cGFnZS0+cGRbaV0gPSB2bWFsbG9jX3RvX21mbigmaW5mby0+bWZuc1tpICogZXBkXSk7CisKKwlpbmZvLT5wYWdlLT53aWR0aCA9IGZiX2luZm8tPnZhci54cmVzOworCWluZm8tPnBhZ2UtPmhlaWdodCA9IGZiX2luZm8tPnZhci55cmVzOworCWluZm8tPnBhZ2UtPmRlcHRoID0gZmJfaW5mby0+dmFyLmJpdHNfcGVyX3BpeGVsOworCWluZm8tPnBhZ2UtPmxpbmVfbGVuZ3RoID0gZmJfaW5mby0+Zml4LmxpbmVfbGVuZ3RoOworCWluZm8tPnBhZ2UtPm1lbV9sZW5ndGggPSBmYl9pbmZvLT5maXguc21lbV9sZW47CiAJaW5mby0+cGFnZS0+aW5fY29ucyA9IGluZm8tPnBhZ2UtPmluX3Byb2QgPSAwOwogCWluZm8tPnBhZ2UtPm91dF9jb25zID0gaW5mby0+cGFnZS0+b3V0X3Byb2QgPSAwOwogfQpAQCAtNTA0LDYgKzY1MCwxMSBAQAogCQkJdmFsID0gMDsKIAkJaWYgKHZhbCkKIAkJCWluZm8tPnVwZGF0ZV93YW50ZWQgPSAxOworCisJCWlmICh4ZW5idXNfc2NhbmYoWEJUX05JTCwgZGV2LT5vdGhlcmVuZCwKKwkJCQkgImZlYXR1cmUtcmVzaXplIiwgIiVkIiwgJnZhbCkgPCAwKQorCQkJdmFsID0gMDsKKwkJaW5mby0+ZmVhdHVyZV9yZXNpemUgPSB2YWw7CiAJCWJyZWFrOwogCiAJY2FzZSBYZW5idXNTdGF0ZUNsb3Npbmc6CkBAIC01NDcsNCArNjk4LDYgQEAKIG1vZHVsZV9pbml0KHhlbmZiX2luaXQpOwogbW9kdWxlX2V4aXQoeGVuZmJfY2xlYW51cCk7CiAKK01PRFVMRV9ERVNDUklQVElPTigiWGVuIHZpcnR1YWwgZnJhbWVidWZmZXIgZGV2aWNlIGZyb250ZW5kIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfQUxJQVMoInhlbjp2ZmIiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvd2F0Y2hkb2cvYm9va2Vfd2R0LmMgYi9kcml2ZXJzL3dhdGNoZG9nL2Jvb2tlX3dkdC5jCmluZGV4IGMxYmEwZGIuLjc3MDgyNDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvd2F0Y2hkb2cvYm9va2Vfd2R0LmMKKysrIGIvZHJpdmVycy93YXRjaGRvZy9ib29rZV93ZHQuYwpAQCAtNTUsNyArNTUsNyBAQAogCiBzdGF0aWMgdm9pZCBib29rZV93ZHRfcGluZyh2b2lkKQogewotCW9uX2VhY2hfY3B1KF9fYm9va2Vfd2R0X3BpbmcsIE5VTEwsIDAsIDApOworCW9uX2VhY2hfY3B1KF9fYm9va2Vfd2R0X3BpbmcsIE5VTEwsIDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2Jvb2tlX3dkdF9lbmFibGUodm9pZCAqZGF0YSkKQEAgLTEzMSw3ICsxMzEsNyBAQAogCXNwaW5fbG9jaygmYm9va2Vfd2R0X2xvY2spOwogCWlmIChib29rZV93ZHRfZW5hYmxlZCA9PSAwKSB7CiAJCWJvb2tlX3dkdF9lbmFibGVkID0gMTsKLQkJb25fZWFjaF9jcHUoX19ib29rZV93ZHRfZW5hYmxlLCBOVUxMLCAwLCAwKTsKKwkJb25fZWFjaF9jcHUoX19ib29rZV93ZHRfZW5hYmxlLCBOVUxMLCAwKTsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiUG93ZXJQQyBCb29rLUUgV2F0Y2hkb2cgVGltZXIgRW5hYmxlZCAiCiAJCQkJIih3ZHRfcGVyaW9kPSVkKVxuIiwgYm9va2Vfd2R0X3BlcmlvZCk7CiAJfQpAQCAtMTc3LDcgKzE3Nyw3IEBACiAJaWYgKGJvb2tlX3dkdF9lbmFibGVkID09IDEpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiUG93ZXJQQyBCb29rLUUgV2F0Y2hkb2cgVGltZXIgRW5hYmxlZCAiCiAJCQkJIih3ZHRfcGVyaW9kPSVkKVxuIiwgYm9va2Vfd2R0X3BlcmlvZCk7Ci0JCW9uX2VhY2hfY3B1KF9fYm9va2Vfd2R0X2VuYWJsZSwgTlVMTCwgMCwgMCk7CisJCW9uX2VhY2hfY3B1KF9fYm9va2Vfd2R0X2VuYWJsZSwgTlVMTCwgMCk7CiAJfQogCXNwaW5fdW5sb2NrKCZib29rZV93ZHRfbG9jayk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL01ha2VmaWxlIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUKaW5kZXggMzdhZjA0Zi4uMzYzMjg2YyAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vTWFrZWZpbGUKKysrIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUKQEAgLTEsNCArMSw0IEBACi1vYmoteQkrPSBncmFudC10YWJsZS5vIGZlYXR1cmVzLm8gZXZlbnRzLm8KK29iai15CSs9IGdyYW50LXRhYmxlLm8gZmVhdHVyZXMubyBldmVudHMubyBtYW5hZ2Uubwogb2JqLXkJKz0geGVuYnVzLwogb2JqLSQoQ09ORklHX1hFTl9YRU5DT01NKQkrPSB4ZW5jb21tLm8KIG9iai0kKENPTkZJR19YRU5fQkFMTE9PTikJKz0gYmFsbG9vbi5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9iYWxsb29uLmMgYi9kcml2ZXJzL3hlbi9iYWxsb29uLmMKaW5kZXggYWIyNWJhNi4uNTkxYmMyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vYmFsbG9vbi5jCisrKyBiL2RyaXZlcnMveGVuL2JhbGxvb24uYwpAQCAtMjI1LDcgKzIyNSw3IEBACiAJCXBhZ2UgPSBiYWxsb29uX25leHRfcGFnZShwYWdlKTsKIAl9CiAKLQlyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQgPSAodW5zaWduZWQgbG9uZylmcmFtZV9saXN0OworCXNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlc2VydmF0aW9uLmV4dGVudF9zdGFydCwgZnJhbWVfbGlzdCk7CiAJcmVzZXJ2YXRpb24ubnJfZXh0ZW50cyAgID0gbnJfcGFnZXM7CiAJcmMgPSBIWVBFUlZJU09SX21lbW9yeV9vcCgKIAkJWEVOTUVNX3BvcHVsYXRlX3BoeXNtYXAsICZyZXNlcnZhdGlvbik7CkBAIC0zMjEsNyArMzIxLDcgQEAKIAkJYmFsbG9vbl9hcHBlbmQocGZuX3RvX3BhZ2UocGZuKSk7CiAJfQogCi0JcmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpZnJhbWVfbGlzdDsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQsIGZyYW1lX2xpc3QpOwogCXJlc2VydmF0aW9uLm5yX2V4dGVudHMgICA9IG5yX3BhZ2VzOwogCXJldCA9IEhZUEVSVklTT1JfbWVtb3J5X29wKFhFTk1FTV9kZWNyZWFzZV9yZXNlcnZhdGlvbiwgJnJlc2VydmF0aW9uKTsKIAlCVUdfT04ocmV0ICE9IG5yX3BhZ2VzKTsKQEAgLTM2OCw3ICszNjgsNyBAQAogfQogCiAvKiBSZXNldHMgdGhlIFhlbiBsaW1pdCwgc2V0cyBuZXcgdGFyZ2V0LCBhbmQga2lja3Mgb2ZmIHByb2Nlc3NpbmcuICovCi12b2lkIGJhbGxvb25fc2V0X25ld190YXJnZXQodW5zaWduZWQgbG9uZyB0YXJnZXQpCitzdGF0aWMgdm9pZCBiYWxsb29uX3NldF9uZXdfdGFyZ2V0KHVuc2lnbmVkIGxvbmcgdGFyZ2V0KQogewogCS8qIE5vIG5lZWQgZm9yIGxvY2suIE5vdCByZWFkLW1vZGlmeS13cml0ZSB1cGRhdGVzLiAqLwogCWJhbGxvb25fc3RhdHMuaGFyZF9saW1pdCAgID0gfjBVTDsKQEAgLTQ4Myw3ICs0ODMsNyBAQAogCQkuZXh0ZW50X29yZGVyID0gMCwKIAkJLmRvbWlkICAgICAgICA9IERPTUlEX1NFTEYKIAl9OwotCXJlc2VydmF0aW9uLmV4dGVudF9zdGFydCA9ICh1bnNpZ25lZCBsb25nKSZtZm47CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUocmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0LCAmbWZuKTsKIAlzZXRfcHRlX2F0KCZpbml0X21tLCBhZGRyLCBwdGUsIF9fcHRlX21hKDB1bGwpKTsKIAlzZXRfcGh5c190b19tYWNoaW5lKF9fcGEoYWRkcikgPj4gUEFHRV9TSElGVCwgSU5WQUxJRF9QMk1fRU5UUlkpOwogCXJldCA9IEhZUEVSVklTT1JfbWVtb3J5X29wKFhFTk1FTV9kZWNyZWFzZV9yZXNlcnZhdGlvbiwgJnJlc2VydmF0aW9uKTsKQEAgLTUxOSw3ICs1MTksNyBAQAogCQkJCS5leHRlbnRfb3JkZXIgPSAwLAogCQkJCS5kb21pZCAgICAgICAgPSBET01JRF9TRUxGCiAJCQl9OwotCQkJcmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpJmdtZm47CisJCQlzZXRfeGVuX2d1ZXN0X2hhbmRsZShyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQsICZnbWZuKTsKIAkJCXJldCA9IEhZUEVSVklTT1JfbWVtb3J5X29wKFhFTk1FTV9kZWNyZWFzZV9yZXNlcnZhdGlvbiwKIAkJCQkJCSAgICZyZXNlcnZhdGlvbik7CiAJCQlpZiAocmV0ID09IDEpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9ldmVudHMuYyBiL2RyaXZlcnMveGVuL2V2ZW50cy5jCmluZGV4IDc2ZTViNzMuLjMzMmRkNjM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9ldmVudHMuYworKysgYi9kcml2ZXJzL3hlbi9ldmVudHMuYwpAQCAtMzU1LDcgKzM1NSw3IEBACiAKIAlzcGluX2xvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsKIAotCWlmIChWQUxJRF9FVlRDSE4oZXZ0Y2huKSAmJiAoLS1pcnFfYmluZGNvdW50W2lycV0gPT0gMCkpIHsKKwlpZiAoKC0taXJxX2JpbmRjb3VudFtpcnFdID09IDApICYmIFZBTElEX0VWVENITihldnRjaG4pKSB7CiAJCWNsb3NlLnBvcnQgPSBldnRjaG47CiAJCWlmIChIWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxfb3AoRVZUQ0hOT1BfY2xvc2UsICZjbG9zZSkgIT0gMCkKIAkJCUJVRygpOwpAQCAtMzc1LDcgKzM3NSw3IEBACiAJCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IC0xOwogCQlpcnFfaW5mb1tpcnFdID0gSVJRX1VOQk9VTkQ7CiAKLQkJZHluYW1pY19pcnFfaW5pdChpcnEpOworCQlkeW5hbWljX2lycV9jbGVhbnVwKGlycSk7CiAJfQogCiAJc3Bpbl91bmxvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsKQEAgLTU1Nyw2ICs1NTcsMzMgQEAKIAlwdXRfY3B1KCk7CiB9CiAKKy8qIFJlYmluZCBhIG5ldyBldmVudCBjaGFubmVsIHRvIGFuIGV4aXN0aW5nIGlycS4gKi8KK3ZvaWQgcmViaW5kX2V2dGNobl9pcnEoaW50IGV2dGNobiwgaW50IGlycSkKK3sKKwkvKiBNYWtlIHN1cmUgdGhlIGlycSBpcyBtYXNrZWQsIHNpbmNlIHRoZSBuZXcgZXZlbnQgY2hhbm5lbAorCSAgIHdpbGwgYWxzbyBiZSBtYXNrZWQuICovCisJZGlzYWJsZV9pcnEoaXJxKTsKKworCXNwaW5fbG9jaygmaXJxX21hcHBpbmdfdXBkYXRlX2xvY2spOworCisJLyogQWZ0ZXIgcmVzdW1lIHRoZSBpcnE8LT5ldnRjaG4gbWFwcGluZ3MgYXJlIGFsbCBjbGVhcmVkIG91dCAqLworCUJVR19PTihldnRjaG5fdG9faXJxW2V2dGNobl0gIT0gLTEpOworCS8qIEV4cGVjdCBpcnEgdG8gaGF2ZSBiZWVuIGJvdW5kIGJlZm9yZSwKKwkgICBzbyB0aGUgYmluZGNvdW50IHNob3VsZCBiZSBub24tMCAqLworCUJVR19PTihpcnFfYmluZGNvdW50W2lycV0gPT0gMCk7CisKKwlldnRjaG5fdG9faXJxW2V2dGNobl0gPSBpcnE7CisJaXJxX2luZm9baXJxXSA9IG1rX2lycV9pbmZvKElSUVRfRVZUQ0hOLCAwLCBldnRjaG4pOworCisJc3Bpbl91bmxvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsKKworCS8qIG5ldyBldmVudCBjaGFubmVscyBhcmUgYWx3YXlzIGJvdW5kIHRvIGNwdSAwICovCisJaXJxX3NldF9hZmZpbml0eShpcnEsIGNwdW1hc2tfb2ZfY3B1KDApKTsKKworCS8qIFVubWFzayB0aGUgZXZlbnQgY2hhbm5lbC4gKi8KKwllbmFibGVfaXJxKGlycSk7Cit9CisKIC8qIFJlYmluZCBhbiBldnRjaG4gc28gdGhhdCBpdCBnZXRzIGRlbGl2ZXJlZCB0byBhIHNwZWNpZmljIGNwdSAqLwogc3RhdGljIHZvaWQgcmViaW5kX2lycV90b19jcHUodW5zaWduZWQgaXJxLCB1bnNpZ25lZCB0Y3B1KQogewpAQCAtNjQ3LDYgKzY3NCw4OSBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB2b2lkIHJlc3RvcmVfY3B1X3ZpcnFzKHVuc2lnbmVkIGludCBjcHUpCit7CisJc3RydWN0IGV2dGNobl9iaW5kX3ZpcnEgYmluZF92aXJxOworCWludCB2aXJxLCBpcnEsIGV2dGNobjsKKworCWZvciAodmlycSA9IDA7IHZpcnEgPCBOUl9WSVJRUzsgdmlycSsrKSB7CisJCWlmICgoaXJxID0gcGVyX2NwdSh2aXJxX3RvX2lycSwgY3B1KVt2aXJxXSkgPT0gLTEpCisJCQljb250aW51ZTsKKworCQlCVUdfT04oaXJxX2luZm9baXJxXS50eXBlICE9IElSUVRfVklSUSk7CisJCUJVR19PTihpcnFfaW5mb1tpcnFdLmluZGV4ICE9IHZpcnEpOworCisJCS8qIEdldCBhIG5ldyBiaW5kaW5nIGZyb20gWGVuLiAqLworCQliaW5kX3ZpcnEudmlycSA9IHZpcnE7CisJCWJpbmRfdmlycS52Y3B1ID0gY3B1OworCQlpZiAoSFlQRVJWSVNPUl9ldmVudF9jaGFubmVsX29wKEVWVENITk9QX2JpbmRfdmlycSwKKwkJCQkJCSZiaW5kX3ZpcnEpICE9IDApCisJCQlCVUcoKTsKKwkJZXZ0Y2huID0gYmluZF92aXJxLnBvcnQ7CisKKwkJLyogUmVjb3JkIHRoZSBuZXcgbWFwcGluZy4gKi8KKwkJZXZ0Y2huX3RvX2lycVtldnRjaG5dID0gaXJxOworCQlpcnFfaW5mb1tpcnFdID0gbWtfaXJxX2luZm8oSVJRVF9WSVJRLCB2aXJxLCBldnRjaG4pOworCQliaW5kX2V2dGNobl90b19jcHUoZXZ0Y2huLCBjcHUpOworCisJCS8qIFJlYWR5IGZvciB1c2UuICovCisJCXVubWFza19ldnRjaG4oZXZ0Y2huKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHJlc3RvcmVfY3B1X2lwaXModW5zaWduZWQgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgZXZ0Y2huX2JpbmRfaXBpIGJpbmRfaXBpOworCWludCBpcGksIGlycSwgZXZ0Y2huOworCisJZm9yIChpcGkgPSAwOyBpcGkgPCBYRU5fTlJfSVBJUzsgaXBpKyspIHsKKwkJaWYgKChpcnEgPSBwZXJfY3B1KGlwaV90b19pcnEsIGNwdSlbaXBpXSkgPT0gLTEpCisJCQljb250aW51ZTsKKworCQlCVUdfT04oaXJxX2luZm9baXJxXS50eXBlICE9IElSUVRfSVBJKTsKKwkJQlVHX09OKGlycV9pbmZvW2lycV0uaW5kZXggIT0gaXBpKTsKKworCQkvKiBHZXQgYSBuZXcgYmluZGluZyBmcm9tIFhlbi4gKi8KKwkJYmluZF9pcGkudmNwdSA9IGNwdTsKKwkJaWYgKEhZUEVSVklTT1JfZXZlbnRfY2hhbm5lbF9vcChFVlRDSE5PUF9iaW5kX2lwaSwKKwkJCQkJCSZiaW5kX2lwaSkgIT0gMCkKKwkJCUJVRygpOworCQlldnRjaG4gPSBiaW5kX2lwaS5wb3J0OworCisJCS8qIFJlY29yZCB0aGUgbmV3IG1hcHBpbmcuICovCisJCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IGlycTsKKwkJaXJxX2luZm9baXJxXSA9IG1rX2lycV9pbmZvKElSUVRfSVBJLCBpcGksIGV2dGNobik7CisJCWJpbmRfZXZ0Y2huX3RvX2NwdShldnRjaG4sIGNwdSk7CisKKwkJLyogUmVhZHkgZm9yIHVzZS4gKi8KKwkJdW5tYXNrX2V2dGNobihldnRjaG4pOworCisJfQorfQorCit2b2lkIHhlbl9pcnFfcmVzdW1lKHZvaWQpCit7CisJdW5zaWduZWQgaW50IGNwdSwgaXJxLCBldnRjaG47CisKKwlpbml0X2V2dGNobl9jcHVfYmluZGluZ3MoKTsKKworCS8qIE5ldyBldmVudC1jaGFubmVsIHNwYWNlIGlzIG5vdCAnbGl2ZScgeWV0LiAqLworCWZvciAoZXZ0Y2huID0gMDsgZXZ0Y2huIDwgTlJfRVZFTlRfQ0hBTk5FTFM7IGV2dGNobisrKQorCQltYXNrX2V2dGNobihldnRjaG4pOworCisJLyogTm8gSVJRIDwtPiBldmVudC1jaGFubmVsIG1hcHBpbmdzLiAqLworCWZvciAoaXJxID0gMDsgaXJxIDwgTlJfSVJRUzsgaXJxKyspCisJCWlycV9pbmZvW2lycV0uZXZ0Y2huID0gMDsgLyogemFwIGV2ZW50LWNoYW5uZWwgYmluZGluZyAqLworCisJZm9yIChldnRjaG4gPSAwOyBldnRjaG4gPCBOUl9FVkVOVF9DSEFOTkVMUzsgZXZ0Y2huKyspCisJCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IC0xOworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlyZXN0b3JlX2NwdV92aXJxcyhjcHUpOworCQlyZXN0b3JlX2NwdV9pcGlzKGNwdSk7CisJfQorfQorCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIHhlbl9keW5hbWljX2NoaXAgX19yZWFkX21vc3RseSA9IHsKIAkubmFtZQkJPSAieGVuLWR5biIsCiAJLm1hc2sJCT0gZGlzYWJsZV9keW5pcnEsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jIGIvZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYwppbmRleCA1MmI2YjQxLi5lOWUxMTE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jCisrKyBiL2RyaXZlcnMveGVuL2dyYW50LXRhYmxlLmMKQEAgLTQ3MSwxNCArNDcxLDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ250dGFiX3Jlc3VtZSh2b2lkKQoraW50IGdudHRhYl9yZXN1bWUodm9pZCkKIHsKIAlpZiAobWF4X25yX2dyYW50X2ZyYW1lcygpIDwgbnJfZ3JhbnRfZnJhbWVzKQogCQlyZXR1cm4gLUVOT1NZUzsKIAlyZXR1cm4gZ250dGFiX21hcCgwLCBucl9ncmFudF9mcmFtZXMgLSAxKTsKIH0KIAotc3RhdGljIGludCBnbnR0YWJfc3VzcGVuZCh2b2lkKQoraW50IGdudHRhYl9zdXNwZW5kKHZvaWQpCiB7CiAJYXJjaF9nbnR0YWJfdW5tYXBfc2hhcmVkKHNoYXJlZCwgbnJfZ3JhbnRfZnJhbWVzKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL21hbmFnZS5jIGIvZHJpdmVycy94ZW4vbWFuYWdlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI1NDZlMwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMveGVuL21hbmFnZS5jCkBAIC0wLDAgKzEsMjUyIEBACisvKgorICogSGFuZGxlIGV4dGVybiByZXF1ZXN0cyBmb3Igc2h1dGRvd24sIHJlYm9vdCBhbmQgc3lzcnEKKyAqLworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c3JxLmg+CisjaW5jbHVkZSA8bGludXgvc3RvcF9tYWNoaW5lLmg+CisjaW5jbHVkZSA8bGludXgvZnJlZXplci5oPgorCisjaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgorI2luY2x1ZGUgPHhlbi9ncmFudF90YWJsZS5oPgorI2luY2x1ZGUgPHhlbi9ldmVudHMuaD4KKyNpbmNsdWRlIDx4ZW4vaHZjLWNvbnNvbGUuaD4KKyNpbmNsdWRlIDx4ZW4veGVuLW9wcy5oPgorCisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcmNhbGwuaD4KKyNpbmNsdWRlIDxhc20veGVuL3BhZ2UuaD4KKworZW51bSBzaHV0ZG93bl9zdGF0ZSB7CisJU0hVVERPV05fSU5WQUxJRCA9IC0xLAorCVNIVVRET1dOX1BPV0VST0ZGID0gMCwKKwlTSFVURE9XTl9TVVNQRU5EID0gMiwKKwkvKiBDb2RlIDMgaXMgU0hVVERPV05fQ1JBU0gsIHdoaWNoIHdlIGRvbid0IHVzZSBiZWNhdXNlIHRoZSBkb21haW4gY2FuIG9ubHkKKwkgICByZXBvcnQgYSBjcmFzaCwgbm90IGJlIGluc3RydWN0ZWQgdG8gY3Jhc2ghCisJICAgSEFMVCBpcyB0aGUgc2FtZSBhcyBQT1dFUk9GRiwgYXMgZmFyIGFzIHdlJ3JlIGNvbmNlcm5lZC4gIFRoZSB0b29scyB1c2UKKwkgICB0aGUgZGlzdGluY3Rpb24gd2hlbiB3ZSByZXR1cm4gdGhlIHJlYXNvbiBjb2RlIHRvIHRoZW0uICAqLworCSBTSFVURE9XTl9IQUxUID0gNCwKK307CisKKy8qIElnbm9yZSBtdWx0aXBsZSBzaHV0ZG93biByZXF1ZXN0cy4gKi8KK3N0YXRpYyBlbnVtIHNodXRkb3duX3N0YXRlIHNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOworCisjaWZkZWYgQ09ORklHX1BNX1NMRUVQCitzdGF0aWMgaW50IHhlbl9zdXNwZW5kKHZvaWQgKmRhdGEpCit7CisJaW50ICpjYW5jZWxsZWQgPSBkYXRhOworCWludCBlcnI7CisKKwlCVUdfT04oIWlycXNfZGlzYWJsZWQoKSk7CisKKwlsb2FkX2NyMyhzd2FwcGVyX3BnX2Rpcik7CisKKwllcnIgPSBkZXZpY2VfcG93ZXJfZG93bihQTVNHX1NVU1BFTkQpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ4ZW5fc3VzcGVuZDogZGV2aWNlX3Bvd2VyX2Rvd24gZmFpbGVkOiAlZFxuIiwKKwkJICAgICAgIGVycik7CisJCXJldHVybiBlcnI7CisJfQorCisJeGVuX21tX3Bpbl9hbGwoKTsKKwlnbnR0YWJfc3VzcGVuZCgpOworCXhlbl9wcmVfc3VzcGVuZCgpOworCisJLyoKKwkgKiBUaGlzIGh5cGVyY2FsbCByZXR1cm5zIDEgaWYgc3VzcGVuZCB3YXMgY2FuY2VsbGVkCisJICogb3IgdGhlIGRvbWFpbiB3YXMgbWVyZWx5IGNoZWNrcG9pbnRlZCwgYW5kIDAgaWYgaXQKKwkgKiBpcyByZXN1bWluZyBpbiBhIG5ldyBkb21haW4uCisJICovCisJKmNhbmNlbGxlZCA9IEhZUEVSVklTT1Jfc3VzcGVuZCh2aXJ0X3RvX21mbih4ZW5fc3RhcnRfaW5mbykpOworCisJeGVuX3Bvc3Rfc3VzcGVuZCgqY2FuY2VsbGVkKTsKKwlnbnR0YWJfcmVzdW1lKCk7CisJeGVuX21tX3VucGluX2FsbCgpOworCisJZGV2aWNlX3Bvd2VyX3VwKCk7CisKKwlpZiAoISpjYW5jZWxsZWQpIHsKKwkJeGVuX2lycV9yZXN1bWUoKTsKKwkJeGVuX2NvbnNvbGVfcmVzdW1lKCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3N1c3BlbmQodm9pZCkKK3sKKwlpbnQgZXJyOworCWludCBjYW5jZWxsZWQgPSAxOworCisJc2h1dHRpbmdfZG93biA9IFNIVVRET1dOX1NVU1BFTkQ7CisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVAorCS8qIElmIHRoZSBrZXJuZWwgaXMgcHJlZW1wdGlibGUsIHdlIG5lZWQgdG8gZnJlZXplIGFsbCB0aGUgcHJvY2Vzc2VzCisJICAgdG8gcHJldmVudCB0aGVtIGZyb20gYmVpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIHBhZ2V0YWJsZSB1cGRhdGUKKwkgICBkdXJpbmcgc3VzcGVuZC4gKi8KKwllcnIgPSBmcmVlemVfcHJvY2Vzc2VzKCk7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgInhlbiBzdXNwZW5kOiBmcmVlemUgZmFpbGVkICVkXG4iLCBlcnIpOworCQlyZXR1cm47CisJfQorI2VuZGlmCisKKwllcnIgPSBkZXZpY2Vfc3VzcGVuZChQTVNHX1NVU1BFTkQpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ4ZW4gc3VzcGVuZDogZGV2aWNlX3N1c3BlbmQgJWRcbiIsIGVycik7CisJCWdvdG8gb3V0OworCX0KKworCXByaW50aygic3VzcGVuZGluZyB4ZW5idXMuLi5cbiIpOworCS8qIFhYWCB1c2Ugbm9ybWFsIGRldmljZSB0cmVlPyAqLworCXhlbmJ1c19zdXNwZW5kKCk7CisKKwllcnIgPSBzdG9wX21hY2hpbmVfcnVuKHhlbl9zdXNwZW5kLCAmY2FuY2VsbGVkLCAwKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIHN0YXJ0IHhlbl9zdXNwZW5kOiAlZFxuIiwgZXJyKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKCFjYW5jZWxsZWQpCisJCXhlbmJ1c19yZXN1bWUoKTsKKwllbHNlCisJCXhlbmJ1c19zdXNwZW5kX2NhbmNlbCgpOworCisJZGV2aWNlX3Jlc3VtZSgpOworCisJLyogTWFrZSBzdXJlIHRpbWVyIGV2ZW50cyBnZXQgcmV0cmlnZ2VyZWQgb24gYWxsIENQVXMgKi8KKwljbG9ja193YXNfc2V0KCk7CitvdXQ6CisjaWZkZWYgQ09ORklHX1BSRUVNUFQKKwl0aGF3X3Byb2Nlc3NlcygpOworI2VuZGlmCisJc2h1dHRpbmdfZG93biA9IFNIVVRET1dOX0lOVkFMSUQ7Cit9CisjZW5kaWYJLyogQ09ORklHX1BNX1NMRUVQICovCisKK3N0YXRpYyB2b2lkIHNodXRkb3duX2hhbmRsZXIoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsCisJCQkgICAgIGNvbnN0IGNoYXIgKip2ZWMsIHVuc2lnbmVkIGludCBsZW4pCit7CisJY2hhciAqc3RyOworCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0OworCWludCBlcnI7CisKKwlpZiAoc2h1dHRpbmdfZG93biAhPSBTSFVURE9XTl9JTlZBTElEKQorCQlyZXR1cm47CisKKyBhZ2FpbjoKKwllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7CisJaWYgKGVycikKKwkJcmV0dXJuOworCisJc3RyID0gKGNoYXIgKil4ZW5idXNfcmVhZCh4YnQsICJjb250cm9sIiwgInNodXRkb3duIiwgTlVMTCk7CisJLyogSWdub3JlIHJlYWQgZXJyb3JzIGFuZCBlbXB0eSByZWFkcy4gKi8KKwlpZiAoWEVOQlVTX0lTX0VSUl9SRUFEKHN0cikpIHsKKwkJeGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDEpOworCQlyZXR1cm47CisJfQorCisJeGVuYnVzX3dyaXRlKHhidCwgImNvbnRyb2wiLCAic2h1dGRvd24iLCAiIik7CisKKwllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMCk7CisJaWYgKGVyciA9PSAtRUFHQUlOKSB7CisJCWtmcmVlKHN0cik7CisJCWdvdG8gYWdhaW47CisJfQorCisJaWYgKHN0cmNtcChzdHIsICJwb3dlcm9mZiIpID09IDAgfHwKKwkgICAgc3RyY21wKHN0ciwgImhhbHQiKSA9PSAwKSB7CisJCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9QT1dFUk9GRjsKKwkJb3JkZXJseV9wb3dlcm9mZihmYWxzZSk7CisJfSBlbHNlIGlmIChzdHJjbXAoc3RyLCAicmVib290IikgPT0gMCkgeworCQlzaHV0dGluZ19kb3duID0gU0hVVERPV05fUE9XRVJPRkY7IC8qID8gKi8KKwkJY3RybF9hbHRfZGVsKCk7CisjaWZkZWYgQ09ORklHX1BNX1NMRUVQCisJfSBlbHNlIGlmIChzdHJjbXAoc3RyLCAic3VzcGVuZCIpID09IDApIHsKKwkJZG9fc3VzcGVuZCgpOworI2VuZGlmCisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiSWdub3Jpbmcgc2h1dGRvd24gcmVxdWVzdDogJXNcbiIsIHN0cik7CisJCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOworCX0KKworCWtmcmVlKHN0cik7Cit9CisKK3N0YXRpYyB2b2lkIHN5c3JxX2hhbmRsZXIoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsIGNvbnN0IGNoYXIgKip2ZWMsCisJCQkgIHVuc2lnbmVkIGludCBsZW4pCit7CisJY2hhciBzeXNycV9rZXkgPSAnXDAnOworCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0OworCWludCBlcnI7CisKKyBhZ2FpbjoKKwllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7CisJaWYgKGVycikKKwkJcmV0dXJuOworCWlmICgheGVuYnVzX3NjYW5mKHhidCwgImNvbnRyb2wiLCAic3lzcnEiLCAiJWMiLCAmc3lzcnFfa2V5KSkgeworCQlwcmludGsoS0VSTl9FUlIgIlVuYWJsZSB0byByZWFkIHN5c3JxIGNvZGUgaW4gIgorCQkgICAgICAgImNvbnRyb2wvc3lzcnFcbiIpOworCQl4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMSk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoc3lzcnFfa2V5ICE9ICdcMCcpCisJCXhlbmJ1c19wcmludGYoeGJ0LCAiY29udHJvbCIsICJzeXNycSIsICIlYyIsICdcMCcpOworCisJZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDApOworCWlmIChlcnIgPT0gLUVBR0FJTikKKwkJZ290byBhZ2FpbjsKKworCWlmIChzeXNycV9rZXkgIT0gJ1wwJykKKwkJaGFuZGxlX3N5c3JxKHN5c3JxX2tleSwgTlVMTCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHNodXRkb3duX3dhdGNoID0geworCS5ub2RlID0gImNvbnRyb2wvc2h1dGRvd24iLAorCS5jYWxsYmFjayA9IHNodXRkb3duX2hhbmRsZXIKK307CisKK3N0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHN5c3JxX3dhdGNoID0geworCS5ub2RlID0gImNvbnRyb2wvc3lzcnEiLAorCS5jYWxsYmFjayA9IHN5c3JxX2hhbmRsZXIKK307CisKK3N0YXRpYyBpbnQgc2V0dXBfc2h1dGRvd25fd2F0Y2hlcih2b2lkKQoreworCWludCBlcnI7CisKKwllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnNodXRkb3duX3dhdGNoKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzaHV0ZG93biB3YXRjaGVyXG4iKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnN5c3JxX3dhdGNoKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzeXNycSB3YXRjaGVyXG4iKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzaHV0ZG93bl9ldmVudChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5vdGlmaWVyLAorCQkJICB1bnNpZ25lZCBsb25nIGV2ZW50LAorCQkJICB2b2lkICpkYXRhKQoreworCXNldHVwX3NodXRkb3duX3dhdGNoZXIoKTsKKwlyZXR1cm4gTk9USUZZX0RPTkU7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHNldHVwX3NodXRkb3duX2V2ZW50KHZvaWQpCit7CisJc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4ZW5zdG9yZV9ub3RpZmllciA9IHsKKwkJLm5vdGlmaWVyX2NhbGwgPSBzaHV0ZG93bl9ldmVudAorCX07CisJcmVnaXN0ZXJfeGVuc3RvcmVfbm90aWZpZXIoJnhlbnN0b3JlX25vdGlmaWVyKTsKKworCXJldHVybiAwOworfQorCitzdWJzeXNfaW5pdGNhbGwoc2V0dXBfc2h1dGRvd25fZXZlbnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMKaW5kZXggMGY4NmIwZi4uOTY3OGIzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYworKysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5jCkBAIC0xMTcsNyArMTE3LDcgQEAKIAljaGFyICpwYXRoOwogCiAJdmFfc3RhcnQoYXAsIHBhdGhmbXQpOwotCXBhdGggPSBrdmFzcHJpbnRmKEdGUF9LRVJORUwsIHBhdGhmbXQsIGFwKTsKKwlwYXRoID0ga3Zhc3ByaW50ZihHRlBfTk9JTyB8IF9fR0ZQX0hJR0gsIHBhdGhmbXQsIGFwKTsKIAl2YV9lbmQoYXApOwogCiAJaWYgKCFwYXRoKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NvbW1zLmMgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NvbW1zLmMKaW5kZXggNmVmYmUzZi4uMDkwYzYxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jb21tcy5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY29tbXMuYwpAQCAtMjAzLDcgKzIwMyw2IEBACiBpbnQgeGJfaW5pdF9jb21tcyh2b2lkKQogewogCXN0cnVjdCB4ZW5zdG9yZV9kb21haW5faW50ZXJmYWNlICppbnRmID0geGVuX3N0b3JlX2ludGVyZmFjZTsKLQlpbnQgZXJyOwogCiAJaWYgKGludGYtPnJlcV9wcm9kICE9IGludGYtPnJlcV9jb25zKQogCQlwcmludGsoS0VSTl9FUlIgIlhFTkJVUyByZXF1ZXN0IHJpbmcgaXMgbm90IHF1aWVzY2VudCAiCkBAIC0yMTYsMTggKzIxNSwyMCBAQAogCQlpbnRmLT5yc3BfY29ucyA9IGludGYtPnJzcF9wcm9kOwogCX0KIAotCWlmICh4ZW5idXNfaXJxKQotCQl1bmJpbmRfZnJvbV9pcnFoYW5kbGVyKHhlbmJ1c19pcnEsICZ4Yl93YWl0cSk7CisJaWYgKHhlbmJ1c19pcnEpIHsKKwkJLyogQWxyZWFkeSBoYXZlIGFuIGlycTsgYXNzdW1lIHdlJ3JlIHJlc3VtaW5nICovCisJCXJlYmluZF9ldnRjaG5faXJxKHhlbl9zdG9yZV9ldnRjaG4sIHhlbmJ1c19pcnEpOworCX0gZWxzZSB7CisJCWludCBlcnI7CisJCWVyciA9IGJpbmRfZXZ0Y2huX3RvX2lycWhhbmRsZXIoeGVuX3N0b3JlX2V2dGNobiwgd2FrZV93YWl0aW5nLAorCQkJCQkJMCwgInhlbmJ1cyIsICZ4Yl93YWl0cSk7CisJCWlmIChlcnIgPD0gMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJYRU5CVVMgcmVxdWVzdCBpcnEgZmFpbGVkICVpXG4iLCBlcnIpOworCQkJcmV0dXJuIGVycjsKKwkJfQogCi0JZXJyID0gYmluZF9ldnRjaG5fdG9faXJxaGFuZGxlcigKLQkJeGVuX3N0b3JlX2V2dGNobiwgd2FrZV93YWl0aW5nLAotCQkwLCAieGVuYnVzIiwgJnhiX3dhaXRxKTsKLQlpZiAoZXJyIDw9IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJYRU5CVVMgcmVxdWVzdCBpcnEgZmFpbGVkICVpXG4iLCBlcnIpOwotCQlyZXR1cm4gZXJyOworCQl4ZW5idXNfaXJxID0gZXJyOwogCX0KIAotCXhlbmJ1c19pcnEgPSBlcnI7Ci0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwppbmRleCAyMjdkNTNiLi43ZjJmOTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hzLmMKKysrIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c194cy5jCkBAIC0yODMsOSArMjgzLDkgQEAKIAljaGFyICpidWZmZXI7CiAKIAlpZiAoc3RybGVuKG5hbWUpID09IDApCi0JCWJ1ZmZlciA9IGthc3ByaW50ZihHRlBfS0VSTkVMLCAiJXMiLCBkaXIpOworCQlidWZmZXIgPSBrYXNwcmludGYoR0ZQX05PSU8gfCBfX0dGUF9ISUdILCAiJXMiLCBkaXIpOwogCWVsc2UKLQkJYnVmZmVyID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsICIlcy8lcyIsIGRpciwgbmFtZSk7CisJCWJ1ZmZlciA9IGthc3ByaW50ZihHRlBfTk9JTyB8IF9fR0ZQX0hJR0gsICIlcy8lcyIsIGRpciwgbmFtZSk7CiAJcmV0dXJuICghYnVmZmVyKSA/IEVSUl9QVFIoLUVOT01FTSkgOiBidWZmZXI7CiB9CiAKQEAgLTI5Nyw3ICsyOTcsNyBAQAogCSpudW0gPSBjb3VudF9zdHJpbmdzKHN0cmluZ3MsIGxlbik7CiAKIAkvKiBUcmFuc2ZlciB0byBvbmUgYmlnIGFsbG9jIGZvciBlYXN5IGZyZWVpbmcuICovCi0JcmV0ID0ga21hbGxvYygqbnVtICogc2l6ZW9mKGNoYXIgKikgKyBsZW4sIEdGUF9LRVJORUwpOworCXJldCA9IGttYWxsb2MoKm51bSAqIHNpemVvZihjaGFyICopICsgbGVuLCBHRlBfTk9JTyB8IF9fR0ZQX0hJR0gpOwogCWlmICghcmV0KSB7CiAJCWtmcmVlKHN0cmluZ3MpOwogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKQEAgLTc1MSw3ICs3NTEsNyBAQAogCX0KIAogCi0JbXNnID0ga21hbGxvYyhzaXplb2YoKm1zZyksIEdGUF9LRVJORUwpOworCW1zZyA9IGttYWxsb2Moc2l6ZW9mKCptc2cpLCBHRlBfTk9JTyB8IF9fR0ZQX0hJR0gpOwogCWlmIChtc2cgPT0gTlVMTCkgewogCQllcnIgPSAtRU5PTUVNOwogCQlnb3RvIG91dDsKQEAgLTc2Myw3ICs3NjMsNyBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlib2R5ID0ga21hbGxvYyhtc2ctPmhkci5sZW4gKyAxLCBHRlBfS0VSTkVMKTsKKwlib2R5ID0ga21hbGxvYyhtc2ctPmhkci5sZW4gKyAxLCBHRlBfTk9JTyB8IF9fR0ZQX0hJR0gpOwogCWlmIChib2R5ID09IE5VTEwpIHsKIAkJa2ZyZWUobXNnKTsKIAkJZXJyID0gLUVOT01FTTsKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL01ha2VmaWxlIGIvZmlybXdhcmUvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRmMmZiMwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL01ha2VmaWxlCkBAIC0wLDAgKzEsMTc1IEBACisjCisjIGtidWlsZCBmaWxlIGZvciBmaXJtd2FyZS8KKyMKKworIyBDcmVhdGUgJChmd2FicykgZnJvbSAkKENPTkZJR19FWFRSQV9GSVJNV0FSRV9ESVIpIC0tIGlmIGl0IGRvZXNuJ3QgaGF2ZSBhCisjIGxlYWRpbmcgLywgaXQncyByZWxhdGl2ZSB0byAkKHNyY3RyZWUpLgorZndkaXIgOj0gJChzdWJzdCAiLCwkKENPTkZJR19FWFRSQV9GSVJNV0FSRV9ESVIpKQorZndhYnMgOj0gJChhZGRwcmVmaXggJChzcmN0cmVlKS8sJChmaWx0ZXItb3V0IC8lLCQoZndkaXIpKSkkKGZpbHRlciAvJSwkKGZ3ZGlyKSkKKworZnctZXh0ZXJuYWwteSA6PSAkKHN1YnN0ICIsLCQoQ09ORklHX0VYVFJBX0ZJUk1XQVJFKSkKKworIyBUaGVyZSBhcmUgdGhyZWUgY2FzZXMgdG8gY2FyZSBhYm91dDoKKyMgMS4gQnVpbGRpbmcga2VybmVsIHdpdGggQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTD15IC0tICQoZnctc2hpcHBlZC15KSBzaG91bGQKKyMgICAgaW5jbHVkZSB0aGUgZmlybXdhcmUgZmlsZXMgdG8gaW5jbHVkZSwgYWNjb3JkaW5nIHRvIC5jb25maWcKKyMgMi4gJ21ha2UgbW9kdWxlc19pbnN0YWxsJywgd2hpY2ggd2lsbCBpbnN0YWxsIGZpcm13YXJlIGZvciBtb2R1bGVzLCBhbmQgCisjICAgIF9hbHNvXyBmb3IgdGhlIGluLWtlcm5lbCBkcml2ZXJzIHdoZW4gQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTD1uCisjIDMuICdtYWtlIGZpcm13YXJlX2luc3RhbGwnLCB3aGljaCBpbnN0YWxscyBhbGwgZmlybXdhcmUsIHVuY29uZGl0aW9uYWxseS4KKworIyBGb3IgdGhlIGZvcm1lciB0d28gY2FzZXMgd2Ugd2FudCAkKGZ3LXNoaXBwZWQteSkgYW5kICQoZnctc2hpcHBlZC1tKSB0byBiZQorIyBhY2N1cmF0ZS4gSW4gdGhlIGxhdHRlciBjYXNlIGl0IGRvZXNuJ3QgbWF0dGVyIC0tIGl0J2xsIHVzZSAkKGZ3LXNoaXBwZWQtYWxsKS4KKyMgQnV0IGJlIGF3YXJlIHRoYXQgdGhlIGNvbmZpZyBmaWxlIG1pZ2h0IG5vdCBiZSBpbmNsdWRlZCBhdCBhbGwuCisKK2Z3LXNoaXBwZWQtJChDT05GSUdfQVRBUklfRFNQNTZLKSArPSBkc3A1NmsvYm9vdHN0cmFwLmJpbgorZnctc2hpcHBlZC0kKENPTkZJR19BVE1fQU1CQVNTQURPUikgKz0gYXRtc2FyMTEuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfQ09NUFVUT05FKSArPSBpbnRlbGxpcG9ydDIuYmluCitmdy1zaGlwcGVkLSQoQ09ORklHX0RWQl9UVFVTQl9CVURHRVQpICs9IHR0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfU01DVFIpICs9IHRyX3NtY3RyLmJpbgorZnctc2hpcHBlZC0kKENPTkZJR19TTkRfS09SRzEyMTIpICs9IGtvcmcvazEyMTIuZHNwCitmdy1zaGlwcGVkLSQoQ09ORklHX1NORF9NQUVTVFJPMykgKz0gZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3IFwKKwkJCQkgICAgIGVzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfU05EX1NCMTZfQ1NQKSArPSBzYjE2L211bGF3X21haW4uY3NwIHNiMTYvYWxhd19tYWluLmNzcCBcCisJCQkJICAgICBzYjE2L2ltYV9hZHBjbV9pbml0LmNzcCBcCisJCQkJICAgICBzYjE2L2ltYV9hZHBjbV9wbGF5YmFjay5jc3AgXAorCQkJCSAgICAgc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AKK2Z3LXNoaXBwZWQtJChDT05GSUdfU05EX1lNRlBDSSkgKz0geWFtYWhhL2RzMV9jdHJsLmZ3IHlhbWFoYS9kczFfZHNwLmZ3IFwKKwkJCQkgICB5YW1haGEvZHMxZV9jdHJsLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9EQUJVU0IpICs9IGRhYnVzYi9maXJtd2FyZS5mdyBkYWJ1c2IvYml0c3RyZWFtLmJpbgorZnctc2hpcHBlZC0kKENPTkZJR19VU0JfRU1JMjYpICs9IGVtaTI2L2xvYWRlci5mdyBlbWkyNi9maXJtd2FyZS5mdyBcCisJCQkJICBlbWkyNi9iaXRzdHJlYW0uZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX0VNSTYyKSArPSBlbWk2Mi9sb2FkZXIuZncgZW1pNjIvYml0c3RyZWFtLmZ3IFwKKwkJCQkgIGVtaTYyL3NwZGlmLmZ3IGVtaTYyL21pZGkuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX0tBV0VUSCkgKz0ga2F3ZXRoL25ld19jb2RlLmJpbiBrYXdldGgvdHJpZ2dlcl9jb2RlLmJpbiBcCisJCQkJICAga2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4gXAorCQkJCSAgIGthd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbgoraWZkZWYgQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTAorZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fTVBSKSArPSBrZXlzcGFuL21wci5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMThYKSArPSBrZXlzcGFuL3VzYTE4eC5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTkpICs9IGtleXNwYW4vdXNhMTkuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UUkpICs9IGtleXNwYW4vdXNhMTlxaS5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlRVykgKz0ga2V5c3Bhbi91c2ExOXF3LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVcpICs9IGtleXNwYW4vdXNhMTl3LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOCkgKz0ga2V5c3Bhbi91c2EyOC5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQSkgKz0ga2V5c3Bhbi91c2EyOHhhLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhCKSArPSBrZXlzcGFuL3VzYTI4eGIuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WCkgKz0ga2V5c3Bhbi91c2EyOHguZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5VykgKz0ga2V5c3Bhbi91c2E0OXcuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5V0xDKSArPSBrZXlzcGFuL3VzYTQ5d2xjLmZ3CitlbHNlCitmdy1zaGlwcGVkLSA6PSBrZXlzcGFuL21wci5mdyBrZXlzcGFuL3VzYTE4eC5mdyBrZXlzcGFuL3VzYTE5LmZ3CVwKKwlrZXlzcGFuL3VzYTE5cWkuZncga2V5c3Bhbi91c2ExOXF3LmZ3IGtleXNwYW4vdXNhMTl3LmZ3CQlcCisJa2V5c3Bhbi91c2EyOC5mdyBrZXlzcGFuL3VzYTI4eGEuZncga2V5c3Bhbi91c2EyOHhiLmZ3CQlcCisJa2V5c3Bhbi91c2EyOHguZncga2V5c3Bhbi91c2E0OXcuZncga2V5c3Bhbi91c2E0OXdsYy5mdworZW5kaWYKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9USSkgKz0gdGlfMzQxMC5mdyB0aV81MDUyLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfRURHRVBPUlQpICs9IGVkZ2Vwb3J0L2Jvb3QuZncgZWRnZXBvcnQvYm9vdDIuZncgXAorCQkJCQkgICAgZWRnZXBvcnQvZG93bi5mdyBlZGdlcG9ydC9kb3duMi5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0VER0VQT1JUX1RJKSArPSBlZGdlcG9ydC9kb3duMy5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9XSElURUhFQVQpICs9IHdoaXRlaGVhdF9sb2FkZXIuZncgd2hpdGVoZWF0LmZ3IFwKKwkJCQkJICAgIyB3aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9QREEpICs9IGtleXNwYW5fcGRhL2tleXNwYW5fcGRhLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfWElSQ09NKSArPSBrZXlzcGFuX3BkYS94aXJjb21fcGdzLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9WSUNBTSkgKz0gdmljYW0vZmlybXdhcmUuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVklERU9fQ1BJQTIpICs9IGNwaWEyL3N0djA2NzJfdnA0LmJpbgorCitmdy1zaGlwcGVkLWFsbCA6PSAkKGZ3LXNoaXBwZWQteSkgJChmdy1zaGlwcGVkLW0pICQoZnctc2hpcHBlZC0pCisKKyMgRGlyZWN0b3JpZXMgd2hpY2ggd2UgX21pZ2h0XyBuZWVkIHRvIGNyZWF0ZSwgc28gd2UgaGF2ZSBhIHJ1bGUgZm9yIHRoZW0uCitmaXJtd2FyZS1kaXJzIDo9ICQoc29ydCAkKHBhdHN1YnN0ICUsJChvYmp0cmVlKS8kKG9iaikvJS8sJChkaXIgJChmdy1leHRlcm5hbC15KSAkKGZ3LXNoaXBwZWQtYWxsKSkpKQorCitxdWlldF9jbWRfbWtkaXIgPSBNS0RJUiAgICQocGF0c3Vic3QgJChvYmp0cmVlKS8lLCUsJEApCisgICAgICBjbWRfbWtkaXIgPSBta2RpciAtcCAkQAorCitxdWlldF9jbWRfaWhleCAgPSBJSEVYICAgICRACisgICAgICBjbWRfaWhleCAgPSAkKE9CSkNPUFkpIC1JaWhleCAtT2JpbmFyeSAkPCAkQAorCitxdWlldF9jbWRfaWhleDJmdyAgPSBJSEVYMkZXICRACisgICAgICBjbWRfaWhleDJmdyAgPSAkKG9ianRyZWUpLyQob2JqKS9paGV4MmZ3ICQ8ICRACisKK3F1aWV0X2NtZF9oMTZ0b2Z3ICA9IEgxNlRPRlcgJEAKKyAgICAgIGNtZF9oMTZ0b2Z3ICA9ICQob2JqdHJlZSkvJChvYmopL2loZXgyZncgLXcgJDwgJEAKKworcXVpZXRfY21kX2Z3YmluID0gTUtfRlcgICAkQAorICAgICAgY21kX2Z3YmluID0gRldOQU1FPSIkKHBhdHN1YnN0IGZpcm13YXJlLyUuZ2VuLlMsJSwkQCkiOwkJICAgICBcCisJCSAgRldTVFI9IiQoc3Vic3QgLyxfLCQoc3Vic3QgLixfLCQoc3Vic3QgLSxfLCQocGF0c3Vic3QJICAgICBcCisJCQkJZmlybXdhcmUvJS5nZW4uUywlLCRAKSkpKSI7CQkgICAgIFwKKwkJICBBU01fV09SRD0kKGlmICQoQ09ORklHXzY0QklUKSwucXVhZCwubG9uZyk7CQkgICAgIFwKKwkJICBBU01fQUxJR049JChpZiAkKENPTkZJR182NEJJVCksMywyKTsJCQkgICAgIFwKKwkJICBQUk9HQklUUz0kKGlmICQoQ09ORklHX0FSTSksJSxAKXByb2diaXRzOwkJICAgICBcCisJCSAgZWNobyAiLyogR2VuZXJhdGVkIGJ5IGZpcm13YXJlL01ha2VmaWxlICovIgkJPiAkQDtcCisJCSAgZWNobyAiICAgIC5zZWN0aW9uIC5yb2RhdGEiCQkJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAucDJhbGlnbiAkJHtBU01fQUxJR059IgkJCT4+JEA7XAorCQkgIGVjaG8gIl9md18kJHtGV1NUUn1fYmluOiIJCQkJPj4kQDtcCisJCSAgZWNobyAiICAgIC5pbmNiaW4gXCIkKDIpXCIiCQkJCT4+JEA7XAorCQkgIGVjaG8gIl9md19lbmQ6IgkJCQkJPj4kQDtcCisJCSAgZWNobyAiICAgLnNlY3Rpb24gLnJvZGF0YS5zdHIsXCJhTVNcIiwkJHtQUk9HQklUU30sMSIJPj4kQDtcCisJCSAgZWNobyAiICAgIC5wMmFsaWduICQke0FTTV9BTElHTn0iCQkJPj4kQDtcCisJCSAgZWNobyAiX2Z3XyQke0ZXU1RSfV9uYW1lOiIJCQkJPj4kQDtcCisJCSAgZWNobyAiICAgIC5zdHJpbmcgXCIkJEZXTkFNRVwiIgkJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAuc2VjdGlvbiAuYnVpbHRpbl9mdyxcImFcIiwkJHtQUk9HQklUU30iCT4+JEA7XAorCQkgIGVjaG8gIiAgICAucDJhbGlnbiAkJHtBU01fQUxJR059IgkJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAkJHtBU01fV09SRH0gX2Z3XyQke0ZXU1RSfV9uYW1lIgkJPj4kQDtcCisJCSAgZWNobyAiICAgICQke0FTTV9XT1JEfSBfZndfJCR7RldTVFJ9X2JpbiIJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAkJHtBU01fV09SRH0gX2Z3X2VuZCAtIF9md18kJHtGV1NUUn1fYmluIgk+PiRAOworCisjIE9uZSBvZiB0aGVzZSBmaWxlcyB3aWxsIGNoYW5nZSwgb3IgY29tZSBpbnRvIGV4aXN0ZW5jZSwgd2hlbmV2ZXIKKyMgdGhlIGNvbmZpZ3VyYXRpb24gY2hhbmdlcyBiZXR3ZWVuIDMyLWJpdCBhbmQgNjQtYml0LiBUaGUgLlMgZmlsZXMKKyMgbmVlZCB0byBjaGFuZ2Ugd2hlbiB0aGF0IGhhcHBlbnMuCit3b3Jkc2l6ZV9kZXBzIDo9ICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvNjRiaXQuaCBpbmNsdWRlL2NvbmZpZy8zMmJpdC5oIFwKKwkJaW5jbHVkZS9jb25maWcvcHBjMzIuaCBpbmNsdWRlL2NvbmZpZy9wcGM2NC5oIFwKKwkJaW5jbHVkZS9jb25maWcvc3VwZXJoMzIuaCBpbmNsdWRlL2NvbmZpZy9zdXBlcmg2NC5oIFwKKwkJaW5jbHVkZS9jb25maWcveDg2XzMyLmggaW5jbHVkZS9jb25maWcveDg2XzY0LmgpCisKKyMgV29ya2Fyb3VuZCBmb3IgbWFrZSA8IDMuODEsIHdoZXJlIC5TRUNPTkRFWFBBTlNJT04gZG9lc24ndCB3b3JrLgorIyBJdCdsbCBlbmQgdXAgZGVwZW5kaW5nIG9uIHRoZXNlIHRhcmdldHMsIHNvIG1ha2UgdGhlbSBhIFBIT05ZIHJ1bGUgd2hpY2gKKyMgZGVwZW5kcyBvbiBfYWxsXyB0aGUgZGlyZWN0b3JpZXMgaW4gJChmaXJtd2FyZS1kaXJzKSwgYW5kIGl0J2xsIHdvcmsgb3V0IE9LLgorUEhPTlkgKz0gJChvYmp0cmVlKS8kJCglKSAkKG9ianRyZWUpLyQob2JqKS8kJCglKQorJChvYmp0cmVlKS8kJCglKSAkKG9ianRyZWUpLyQob2JqKS8kJCglKTogJChmaXJtd2FyZS1kaXJzKQorCUB0cnVlCisKKyMgRm9yIHRoZSAkJChkaXIgJSkgdHJpY2ssIHdoZXJlIHdlIG5lZWQgJSB0byBiZSBleHBhbmRlZCBmaXJzdC4KKy5TRUNPTkRFWFBBTlNJT046CisKKyQocGF0c3Vic3QgJSwkKG9iaikvJS5nZW4uUywgJChmdy1zaGlwcGVkLXkpKTogJTogJCh3b3Jkc2l6ZV9kZXBzKSBcCisJCXwgJChvYmp0cmVlKS8kJChkaXIgJSkKKwkkKGNhbGwgY21kLGZ3YmluLCQocGF0c3Vic3QgJS5nZW4uUywlLCRAKSkKKyQocGF0c3Vic3QgJSwkKG9iaikvJS5nZW4uUywgJChmdy1leHRlcm5hbC15KSk6ICU6ICQod29yZHNpemVfZGVwcykgXAorCQlpbmNsdWRlL2NvbmZpZy9leHRyYS9maXJtd2FyZS9kaXIuaCB8ICQob2JqdHJlZSkvJCQoZGlyICUpCisJJChjYWxsIGNtZCxmd2JpbiwkKGZ3YWJzKS8kKHBhdHN1YnN0ICQob2JqKS8lLmdlbi5TLCUsJEApKQorCisjIFRoZSAubyBmaWxlcyBkZXBlbmQgb24gdGhlIGJpbmFyaWVzIGRpcmVjdGx5OyB0aGUgLlMgZmlsZXMgZG9uJ3QuCiskKHBhdHN1YnN0ICUsJChvYmopLyUuZ2VuLm8sICQoZnctc2hpcHBlZC15KSk6ICUuZ2VuLm86ICUKKyQocGF0c3Vic3QgJSwkKG9iaikvJS5nZW4ubywgJChmdy1leHRlcm5hbC15KSk6ICQob2JqKS8lLmdlbi5vOiAkKGZ3ZGlyKS8lCisKKyMgLmloZXggaXMgdXNlZCBqdXN0IGFzIGEgc2ltcGxlIHdheSB0byBob2xkIGJpbmFyeSBmaWxlcyBpbiBhIHNvdXJjZSB0cmVlCisjIHdoZXJlIGJpbmFyaWVzIGFyZSBmcm93bmVkIHVwb24uIFRoZXkgYXJlIGRpcmVjdGx5IGNvbnZlcnRlZCB3aXRoIG9iamNvcHkuCiskKG9iaikvJTogJChvYmopLyUuaWhleCB8ICQob2JqdHJlZSkvJChvYmopLyQkKGRpciAlKQorCSQoY2FsbCBjbWQsaWhleCkKKworIyAuSEVYIGlzIGFsc28gSW50ZWwgSEVYLCBidXQgd2hlcmUgdGhlIG9mZnNldCBhbmQgbGVuZ3RoIGluIGVhY2ggcmVjb3JkCisjIGlzIGFjdHVhbGx5IG1lYW5pbmdmdWwsIGJlY2F1c2UgdGhlIGZpcm13YXJlIGhhcyB0byBiZSBsb2FkZWQgaW4gYSBjZXJ0YWluCisjIG9yZGVyIHJhdGhlciB0aGFuIGFzIGEgc2luZ2xlIGJpbmFyeSBibG9iLiBUaHVzLCB3ZSBjb252ZXJ0IHRoZW0gaW50byBvdXIKKyMgbW9yZSBjb21wYWN0IGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBpaGV4IHJlY29yZHMgKDxsaW51eC9paGV4Lmg+KQorJChvYmopLyUuZnc6ICQob2JqKS8lLkhFWCAkKG9iaikvaWhleDJmdyB8ICQob2JqdHJlZSkvJChvYmopLyQkKGRpciAlKQorCSQoY2FsbCBjbWQsaWhleDJmdykKKworIyAuSDE2IGlzIG91ciBvd24gbW9kaWZpZWQgZm9ybSBvZiBJbnRlbCBIRVgsIHdpdGggMTYtYml0IGxlbmd0aCBmb3IgcmVjb3Jkcy4KKyQob2JqKS8lLmZ3OiAkKG9iaikvJS5IMTYgJChvYmopL2loZXgyZncgfCAkKG9ianRyZWUpLyQob2JqKS8kJChkaXIgJSkKKwkkKGNhbGwgY21kLGgxNnRvZncpCisKKyQoZmlybXdhcmUtZGlycyk6CisJJChjYWxsIGNtZCxta2RpcikKKworb2JqLXkJCQkJICs9ICQocGF0c3Vic3QgJSwlLmdlbi5vLCAkKGZ3LWV4dGVybmFsLXkpKQorb2JqLSQoQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTCkgKz0gJChwYXRzdWJzdCAlLCUuZ2VuLm8sICQoZnctc2hpcHBlZC15KSkKKworIyBSZW1vdmUgLlMgZmlsZXMgYW5kIGJpbmFyaWVzIGNyZWF0ZWQgZnJvbSBpaGV4CisjIChkdXJpbmcgJ21ha2UgY2xlYW4nIC5jb25maWcgaXNuJ3QgaW5jbHVkZWQgc28gdGhleSdyZSBhbGwgaW4gJChmdy1zaGlwcGVkLSkpCit0YXJnZXRzIDo9ICQoZnctc2hpcHBlZC0pICQocGF0c3Vic3QgJChvYmopLyUsJSwgXAorCQkJCSQoc2hlbGwgZmluZCAkKG9iaikgLW5hbWUgXCouZ2VuLlMgMj4vZGV2L251bGwpKQorCisjIFdpdGhvdXQgdGhpcywgYnVpbHQtaW4ubyB3b24ndCBiZSBjcmVhdGVkIHdoZW4gaXQncyBlbXB0eSwgYW5kIHRoZQorIyBmaW5hbCB2bWxpbnV4IGxpbmsgd2lsbCBmYWlsLgorb2JqLW4gOj0gZHVtbXkKKworaG9zdHByb2dzLXkgOj0gaWhleDJmdwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvV0hFTkNFIGIvZmlybXdhcmUvV0hFTkNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2YzUxYjIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9XSEVOQ0UKQEAgLTAsMCArMSwzNDEgQEAKKyAgICAgICAgICAgICAqKioqKioqKioqCisgICAgICAgICAgICAgKiBXSEVOQ0UgKgorICAgICAgICAgICAgICoqKioqKioqKioKKworVGhpcyBmaWxlIGF0dGVtcHRzIHRvIGRvY3VtZW50IHRoZSBvcmlnaW4gYW5kIGxpY2Vuc2luZyBpbmZvcm1hdGlvbiwKK2lmIGtub3duLCBmb3IgZWFjaCBwaWVjZSBvZiBmaXJtd2FyZSBkaXN0cmlidXRlZCBmb3IgdXNlIHdpdGggdGhlIExpbnV4CitrZXJuZWwuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjoga29yZzEyMTIgLS0gS29yZyAxMjEyIElPIGF1ZGlvIGRldmljZQorCitGaWxlOiBrb3JnL2sxMjEyLmRzcAorCitMaWNlbmNlOiBVbmtub3duCisKK0ZvdW5kIGluIGFsc2EtZmlybXdhcmUgcGFja2FnZSBpbiBoZXggZm9ybTsgbm8gbGljZW5zaW5nIGluZm9ybWF0aW9uLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IG1hZXN0cm8zIC0tIEVTUyBBbGxlZ3JvIE1hZXN0cm8zIGF1ZGlvIGRldmljZQorCitGaWxlOiBlc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZncKK0ZpbGU6IGVzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZncKKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBhbHNhLWZpcm13YXJlIHBhY2thZ2UgaW4gaGV4IGZvcm0gd2l0aCBhIGNvbW1lbnQgY2xhaW1pbmcgdG8KK2JlIEdQTHYyKywgYnV0IHdpdGhvdXQgc291cmNlIC0tIGFuZCB3aXRoIGFub3RoZXIgY29tbWVudCBzYXlpbmcgIkVTUworZHJvcHMgYmluYXJ5IGRzcCBjb2RlIGltYWdlcyBvbiBvdXIgaGVhZHMsIGJ1dCB3ZSBkb24ndCBnZXQgdG8gc2VlCitzcGVjcyBvbiB0aGUgZHNwLiIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiB5bWZwY2kgLS0gWWFtYWhhIFlNRjcyNC83NDAvNzQ0Lzc1NCBhdWRpbyBkZXZpY2VzCisKK0ZpbGU6IHlhbWFoYS9kczFfY3RybC5mdworRmlsZTogeWFtYWhhL2RzMV9kc3AuZncKK0ZpbGU6IHlhbWFoYS9kczFlX2N0cmwuZncKKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBhbHNhLWZpcm13YXJlIHBhY2thZ2UgaW4gaGV4IGZvcm0sIHdpdGggdGhlIGZvbGxvd2luZyBjb21tZW50OgorICAgQ29weXJpZ2h0IChjKSAxOTk3LTE5OTkgWWFtYWhhIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IHNtY3RyIC0tIFNNQyBJU0EvTUNBIFRva2VuIFJpbmcgYWRhcHRlcgorCitGaWxlOiB0cl9zbWN0ci5iaW4KK0luZm86IE1DVC5CSU4gdjYuM0MxIDAzLzAxLzk1CisKK09yaWdpbmFsIGxpY2VuY2UgaW5mbzoKKworICogVGhpcyBmaXJtd2FyZSBpcyBsaWNlbnNlZCB0byB5b3Ugc3RyaWN0bHkgZm9yIHVzZSBpbiBjb25qdW5jdGlvbgorICogd2l0aCB0aGUgdXNlIG9mIFNNQyBUb2tlblJpbmcgYWRhcHRlcnMuIFRoZXJlIGlzIG5vIHdhcmFudHkKKyAqIGV4cHJlc3NlZCBvciBpbXBsaWVkIGFib3V0IGl0cyBmaXRuZXNzIGZvciBhbnkgcHVycG9zZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBrYXdldGggLS0gVVNCIEtMU0kgS0w1VVNCMTAxLWJhc2VkIEV0aGVybmV0IGRldmljZQorCitGaWxlOiBrYXdldGgvbmV3X2NvZGUuYmluCitGaWxlOiBrYXdldGgvbmV3X2NvZGVfZml4LmJpbgorRmlsZToga2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4KK0ZpbGU6IGthd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbgorCitMaWNlbmNlOiBVbmtub3duCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIHRoZSBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IHR0dXNiLWJ1ZGdldCAtLSBUZWNobm90cmVuZC9IYXVwcGF1Z2UgTm92YS1VU0IgZGV2aWNlcworCitGaWxlOiB0dHVzYi1idWRnZXQvZHNwYm9vdGNvZGUuYmluCisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgaW4gaGV4IGZvcm0gaW4gdGhlIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjoga2V5c3BhbiAtLSBVU0IgS2V5c3BhbiBVU0EteHh4IHNlcmlhbCBkZXZpY2UKKworRmlsZToga2V5c3Bhbi9tcHIuZncKK0ZpbGU6IGtleXNwYW4vdXNhMTh4LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTE5LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTE5cWkuZncKK0ZpbGU6IGtleXNwYW4vdXNhMTlxdy5mdworRmlsZToga2V5c3Bhbi91c2ExOXcuZncKK0ZpbGU6IGtleXNwYW4vdXNhMjguZncKK0ZpbGU6IGtleXNwYW4vdXNhMjh4YS5mdworRmlsZToga2V5c3Bhbi91c2EyOHhiLmZ3CitGaWxlOiBrZXlzcGFuL3VzYTI4eC5mdworRmlsZToga2V5c3Bhbi91c2E0OXcuZncKK0ZpbGU6IGtleXNwYW4vdXNhNDl3bGMuZncKKworQ29udmVydGVkIGZyb20gSW50ZWwgSEVYIGZpbGVzLCB1c2VkIGluIG91ciBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleC4KKworT3JpZ2luYWwgbGljZW5jZSBpbmZvcm1hdGlvbjoKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjoga2V5c3Bhbl9wZGEgLS0gVVNCIEtleXNwYW4gUERBIHNpbmdsZS1wb3J0IHNlcmlhbCBkZXZpY2UKKworRmlsZToga2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuZncKK1NvdXJjZToga2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuUworCitGaWxlOiBrZXlzcGFuX3BkYS94aXJjb21fcGdzLmZ3CitTb3VyY2U6IGtleXNwYW5fcGRhL3hpcmNvbV9wZ3MuUworCitMaWNlbmNlOiBHUEx2MisKKworQ29tcGlsZWQgZnJvbSBvcmlnaW5hbCA4MDUxIHNvdXJjZSBpbnRvIEludGVsIEhFWCwgdXNlZCBpbiBvdXIgYmluYXJ5IGloZXggZm9ybS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBlbWkyNiAtLSBFTUkgMnw2IFVTQiBBdWRpbyBpbnRlcmZhY2UKKworRmlsZTogZW1pMjYvYml0c3RyZWFtLmZ3CitJbmZvOiBWRVJTSU9OPTEuMS4xLjEzMSBEQVRFPTIwMDFkZWMwNgorCitGaWxlOiBlbWkyNi9maXJtd2FyZS5mdworSW5mbzogVkVSU0lPTj0xLjAuMi45MTYgREFURT0xMi4wMi4yMDAyCisKK0ZpbGU6IGVtaTI2L2xvYWRlci5mdworCitDb252ZXJ0ZWQgZnJvbSBJbnRlbCBIRVggZmlsZXMsIHVzZWQgaW4gb3VyIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBpaGV4LgorCitPcmlnaW5hbCBsaWNlbmNlIGluZm9ybWF0aW9uOgorLyoKKyAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKKyAqCisgKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKKyAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAorICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKKyAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KKyAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKyAqIGltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorICogaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKyAqCisgKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKKyAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKKyAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKKyAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCisgKi8KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBlbWk2MiAtLSBFTUkgNnwybSBVU0IgQXVkaW8gaW50ZXJmYWNlCisKK0ZpbGU6IGVtaTYyL2JpdHN0cmVhbS5mdworSW5mbzogVkVSU0lPTj0xLjAuMC4xOTEgREFURT0gMjAwMm9jdDI4CisKK0ZpbGU6IGVtaTYyL2xvYWRlci5mdworU291cmNlOiBFTUlMT0FELkhFWAorSW5mbzogVkVSU0lPTj0xLjAuMi4wMDIgREFURT0xMC4wMS4yMDAyCisKK0ZpbGU6IGVtaTYyL21pZGkuZncKK1NvdXJjZTogRU1JNjJNRlcuSEVYCitJbmZvOiBWRVJTSU9OPTEuMDQuMDYyIERBVEU9MTYuMTAuMjAwMgorCitGaWxlOiBlbWk2Mi9zcGRpZi5mdworU291cmNlOiBFTUk2MlNGVy5IRVgKK0luZm86IFZFUlNJT049MS4wNC4wNjIgREFURT0xNi4xMC4yMDAyCisKK0NvbnZlcnRlZCBmcm9tIEludGVsIEhFWCBmaWxlcywgdXNlZCBpbiBvdXIgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGloZXguCisKK09yaWdpbmFsIGxpY2VuY2UgaW5mb3JtYXRpb246IE5vbmUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiB0dV91c2JfMzQxMF81MDUyIC0tIFVTQiBUSSAzNDEwLzUwNTIgc2VyaWFsIGRldmljZQorCitGaWxlOiB0aV8zNDEwLmZ3CitJbmZvOiBmaXJtd2FyZSA5LzEwLzA0IEZXMzQxMF9TcGVjaWFsX1N0YXJ0V2RvZ09uU3RhcnRQb3J0CisKK0ZpbGU6IHRpXzUwNTIuZncKK0luZm86IGZpcm13YXJlIDkvMTgvMDQKKworTGljZW5jZTogQWxsZWdlZGx5IEdQTHYyKywgYnV0IG5vIHNvdXJjZSB2aXNpYmxlLiBNYXJrZWQ6CisJIENvcHlyaWdodCAoQykgMjAwNCBUZXhhcyBJbnN0cnVtZW50cworCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IHdoaXRlaGVhdCAtLSBVU0IgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIHNlcmlhbCBkZXZpY2UKKworRmlsZTogd2hpdGVoZWF0LmZ3CitWZXJzaW9uOiA0LjA2CisKK0ZpbGU6IHdoaXRlaGVhdF9sb2FkZXIuZncKK0ZpbGU6IHdoaXRlaGVhdF9sb2FkZXJfZGVidWcuZncKKworTGljZW5jZTogQWxsZWdlZGx5IEdQTHYyLCBidXQgbm8gc291cmNlIHZpc2libGUuIE1hcmtlZDoKKwkgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYworCitEZWJ1ZyBsb2FkZXIgY2xhaW1zIHRoZSBmb2xsb3dpbmcgYmVoYXZpb3VyOgorCVBvcnQgMSBMRUQgZmxhc2hlcyB3aGVuIHRoZSB2ZW5kX2F4IHByb2dyYW0gaXMgcnVubmluZworCVBvcnQgMiBMRUQgZmxhc2hlcyB3aGVuIGFueSBTRVRVUCBjb21tYW5kIGFycml2ZXMKKwlQb3J0IDMgTEVEIGZsYXNoZXMgd2hlbiBhbnkgdmFsaWQgVkVORE9SIHJlcXVlc3Qgb2NjdXJzCisJUG9ydCA0IExFRCBmbGFzaGVzIHdoZW4gdGhlIEVYVEVSTkFMIFJBTSBET1dOTE9BRCByZXF1ZXN0IG9jY3VycworCitDb252ZXJ0ZWQgZnJvbSBJbnRlbCBIRVggZmlsZXMsIHVzZWQgaW4gb3VyIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBpaGV4LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGlwMiAtLSBDb21wdXRvbmUgSW50ZWxsaVBvcnQgUGx1cyBzZXJpYWwgZGV2aWNlCisKK0ZpbGU6IGludGVsbGlwb3J0Mi5iaW4KKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IENQaUEyIC0tIGNhbWVyYXMgYmFzZWQgb24gVmlzaW9uJ3MgQ1BpQTIKKworRmlsZTogY3BpYTIvc3R2MDY3Ml92cDQuYmluCisKK0xpY2VuY2U6IEFsbGVnZWRseSBHUEx2MissIGJ1dCBubyBzb3VyY2UgdmlzaWJsZS4gTWFya2VkOgorCUNvcHlyaWdodCAoQykgMjAwMSBTVE1pY3JvZWxlY3Ryb25pY3MsIEluYy4KKwlDb250YWN0OiAgc3RldmUubWlsbGVyQHN0LmNvbQorCURlc2NyaXB0aW9uOiBUaGlzIGZpbGUgY29udGFpbnMgcGF0Y2ggZGF0YSBmb3IgdGhlIENQaUEyIChzdHYwNjcyKSBWUDQuCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogREFCVVNCIC0tIERpZ2l0YWwgQXVkaW8gQnJvYWRjYXN0aW5nIChEQUIpIFJlY2VpdmVyIGZvciBVU0IgYW5kIExpbnV4CisKK0ZpbGU6IGRhYnVzYi9maXJtd2FyZS5mdworRmlsZTogZGFidXNiL2JpdHN0cmVhbS5iaW4KKworTGljZW5jZTogRGlzdHJpYnV0YWJsZQorCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgQmF5Q29tIEdtYkgKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UKKyAqIGNvZGUgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIGNvbW1lbnQgd2l0aG91dAorICogbW9kaWZpY2F0aW9uLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IFVTQl9WSUNBTSAtLSBVU0IgM2NvbSBIb21lQ29ubmVjdCAoYWthIHZpY2FtKQorCitGaWxlOiB2aWNhbS9maXJtd2FyZS5mdworCitMaWNlbmNlOiBVbmtub3duCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogVVNCX1NFUklBTF9FREdFUE9SVCAtIFVTQiBJbnNpZGUgT3V0IEVkZ2Vwb3J0IFNlcmlhbCBEcml2ZXIKKworRmlsZTogZWRnZXBvcnQvYm9vdC5mdworRmlsZTogZWRnZXBvcnQvYm9vdDIuZncKK0ZpbGU6IGVkZ2Vwb3J0L2Rvd24uZncKK0ZpbGU6IGVkZ2Vwb3J0L2Rvd24yLmZ3CisKK0xpY2VuY2U6IEFsbGVnZWRseSBHUEx2MissIGJ1dCBubyBzb3VyY2UgdmlzaWJsZS4gTWFya2VkOgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCisvLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2CisvLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogVVNCX1NFUklBTF9FREdFUE9SVF9USSAtIFVTQiBJbnNpZGUgT3V0IEVkZ2Vwb3J0IFNlcmlhbCBEcml2ZXIKKyhUSSBEZXZpY2VzKQorCitGaWxlOiBlZGdlcG9ydC9kb3duMy5iaW4KKworTGljZW5jZToKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydCBCaW5hcnkgSW1hZ2UgKGZvciBUSSBiYXNlZCBwcm9kdWN0cykKKy8vKiBHZW5lcmF0ZWQgYnkgVElCaW4yQyB2Mi4wMCAod2F0Y2hwb3J0KQorLy8qIENvcHlyaWdodCAoQykgMjAwMSBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IEFUQVJJX0RTUDU2SyAtIEF0YXJpIERTUDU2ayBzdXBwb3J0CisKK0ZpbGU6IGRzcDU2ay9ib290c3RyYXAuYmluCitTb3VyY2U6IGRzcDU2ay9ib290c3RyYXAuYXNtCisKK0xpY2VuY2U6IEdQTHYyIG9yIGxhdGVyCisKK0RTUDU2MDAxIGFzc2VtYmxlciwgcG9zc2libHkgYnVpbGRhYmxlIHdpdGggYTU2IGZyb20gCitodHRwOi8vd3d3Lnpkb21haW4uY29tL2E1Ni5odG1sCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogU05EX1NCMTZfQ1NQIC0gU291bmQgQmxhc3RlciAxNi9BV0UgQ1NQIHN1cHBvcnQKKworRmlsZTogc2IxNi9tdWxhd19tYWluLmNzcAorRmlsZTogc2IxNi9hbGF3X21haW4uY3NwCitGaWxlOiBzYjE2L2ltYV9hZHBjbV9pbml0LmNzcAorRmlsZTogc2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwCitGaWxlOiBzYjE2L2ltYV9hZHBjbV9jYXB0dXJlLmNzcAorCitMaWNlbmNlOiBBbGxlZ2VkbHkgR1BMdjIrLCBidXQgbm8gc291cmNlIHZpc2libGUuIE1hcmtlZDoKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2F0bXNhcjExLkhFWCBiL2Zpcm13YXJlL2F0bXNhcjExLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmRkYzE5Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvYXRtc2FyMTEuSEVYCkBAIC0wLDAgKzEsMjA0IEBACis6MDQwMDAwMDBBMEQwRjAwMDlDCis6MkMwMDgwMDA0MDFBNjgwMDAwMDAwMDAwMzM1QjAwN0MxMzYwMDAwNTMzNUIxMDAwM0MxQUEwQzAzNzVBMDE4MDAzNDAwMDA4MDAwMDAwMDAxNzYwRkZGQjMzNUI0MDAwMjAKKzoyQzAwQUMwMDQwMUE3MDAwMTM2MDAwMDMyNDFCMEZDMEFGOUI0NTAwMjUwODAwMDgwMzQwMDAwODQyMDAwMDEwOEY4MTBDOTAzMjIyMDAwMjEwNDAwMDAzM0MwM0EwRDE3NAorOjJDMDBEODAwMjQ2M0Y4MTAwMDYwRjgwOTI0MjEwMDAxMTAwMDAwMUFBRjgxMEM5MDgyMDIwMDExQUY5MDBDNDgwNDQxMDAwQTM0NDIwMDgwOTY3RDAwMDI5NjAyMDAxMkE0Cis6MkMwMTA0MDAwMDAwMDAwMDEwNUQwMDExMDAwMDAwMDAwNDExMDE2MUE2NjIwMDAyMTAwMDAwMERBRTYyMDAwQzM0ODQ4MDAwQTIwMjAwMTE0RDAxRkZGRjAwMDAwMDAwNUUKKzoyQzAxMzAwMDhGODM0QzAwMDAwMDAwMDBBRjgzMEZFQzAwRTBGODA5MDNFMDM4MjEwMDA0MTQwMDA0NDBGRkY3MDAwMDAwMDBBRjgwNDYwQzhFMTAwMDA4NEQwMUZGRkYzNgorOjJDMDE1QzAwMDAwMDAwMDA4RjgzNEMwMDQ5MDAwMDFEQUY4MzBGRUM4RjgyMENCQzhGOUQwQzRDMjQ0MjAwMDE5N0JFMDAwMEFGODIwQ0JDMTNDMDAwMDlBQ0EyMDBEODcyCis6MkMwMTg4MDBBN0EwMDAwMDNDMDEwMEQxMDAzRTA4MjU5NDIyMDAyQzA0MTEwMTNGQTQyMjAwMDJBQzIyMDAwQ0FDMjAwMDEwOEY5RTBDNTQyN0JEMDAwMjE3QkUwMDAyOEMKKzoyQzAxQjQwMDhDQTIwMEMwOEY5RDBDNTA4Rjk3MEZDOEFGOUQwQzRDMTJFMjAwMDU4NzgwNDAwMjNDMDJBMEQxMjQ0MkY5NEMwMDQwRjgwOTAwMDAwMDAwMDBFMEY4MDk0QQorOjJDMDFFMDAwMDNFMDM4MjE0NTAwRkZEQzhFMTEwMDBDM0MxMzAwRDEwMDExMTEwMjJDNDMwNDAwMTA2MEZGQjkwMDAyMTE4MDAyNjI5ODIxOEU3NjAwM0MzMjIyMDAwOEMxCis6MkMwMjBDMDAxNDQwRkZCNzhFNzcwMDM0OEU3NTAwMzAzQzAzQ0ZCMDE2QzAwMDAzMDJENTEwMkIwNDExMDBCRTAwMDAwMDAwMTA0MEZGQTYwMDcwMTgyNjREMDFGRkZGRTUKKzoyQzAyMzgwMDAwMDAwMDAwOEY4MjRDMDBBRjk3NEMwMEFGODIwRkVDQUM3NjAwMTAwMjYwOTAyMTMyMjIwMDAyMTA0MDAwMDc4Rjk0NEEwMDk2MDIwMDNBMzQ4NDAwMDQ5MgorOjJDMDI2NDAwMTQ0MDAwMDNBRjgyMEZCQzNDMDI5MDAwQUY4MjBGQkM4RTEwMDAwODMyOTQzRjAwOEUxMTAwMEMyNjk0RkYwMDEyODAwMDczM0MxMzAwRDE0OTAxMDA3MTYyCis6MkMwMjkwMDAzMjM3MDAwODE2RTAwMDZGMDAxMTExMDIyQzQzMDQwMDEwNjAwMDZDMDAwMkI5ODAwMDA0MTc0MDA0NDAwMDNBMDI3Nzk4MjExMjcyMDAyMzI2RDYwMDMwRTAKKzoyQzAyQkMwMEFFNTYwMDNDOEU3NjAwM0M4RTc3MDAzNDhFNzUwMDMwM0MwM0NGQjAxNkMwMDAwMzAyRDUxMDJCMDQxMTAwOTEwMDAwMDAwMDEwNDAwMDYwMkU4MjEwMDA2QgorOjJDMDJFODAwMTQ0MDAwMDkwMDcwMTgyNjREMDFGRkZGMDAwMDAwMDA4RjgyNEMwMEFGOTc0QzAwQUM3NjAwMTBBRTQyMDAzNDEwMDBGRkQwQUY4MDQ2MEMwMEUwRjgwOTBECis6MkMwMzE0MDAwM0UwMzgyMTNDMDNDRkIwMDA3MDE4MjZBRTQ2MDAzNDREMDFGRkZGMDAwMDAwMDA4RjgyNEMwMEFGOTc0QzAwQUY4MjBGRUNBQzc2MDAxMDEwMDBGRkMzODIKKzoyQzAzNDAwMEFGODA0NjBDMDJENTEwMkIxMDQwMDA0MjNDMTdDRkIwMkU4MjEwMDAxNDQwMDAwNjAyRjBCODI2NEQwMUZGRkYwMDAwMDAwMEFFRjYwMDEwMTAwMEZGQjhFOQorOjJDMDM2QzAwQUY4MDQ2MEMwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYwMDAwMDAwMDhGODI0QzAwQUY4NjRDMDBBRUY2MDAxMEFGODIwRkVDMTAwMEZGQUVBRjgwNDYwQzdGCis6MkMwMzk4MDAzMDg0RkZGQjhFNTcwMDM4MzI0MkZGQzAwMDAyMTE4MkE3ODIwRkI4QUY5NzBGQjQ4NjVEMDAyQTg2NUUwMDA4QTc5RDBGQkEyNzlEMEYxODMzREUwMDYwNEIKKzoyQzAzQzQwMDAzQkVFODIxMDAxRUYwQzIwM0JFRTgyMThGOTcwQzU4NEQwMUZGRkYwMDAwMDAwMDhGODM0QzAwOEZBMjAwMUMxMkUzMDAwMzNDMDMwQzQwM0MxRUMwMDA4QgorOjJDMDNGMDAwQUY5RTBGQkNBQzYyMEZCNDhGQTMwMDE4MjQ0MjAwMEMxNDQzMDAwMkFGODA0NjBDOEZBMjAwMTRBRTQwMDAzQ0FGQTIwMDFDOEU3NjAwM0M4RTc3MDAzNDBECis6MkMwNDFDMDA4RTc1MDAzMDNDMDNDRkIwMTZDMDAwMDMwMkQ1MTAyQjA0MTEwMDNDMDAwMDAwMDAwMDcwMTgyNjREMDFGRkZGMDAwMDAwMDBBQ0E1MDBFNDEwNDAwMDMyRDYKKzoyQzA0NDgwMEFGOTc0QzAwMTAwMEZGN0ZBQzc2MDAxMDAwMDQxNzQwMDQ0MDAwMDcyNkQ2MDAzMEFFNTYwMDNDMDBFMEY4MDkwM0UwMzgyMUFGODA0NjBDMTAwMEZGMzkzRQorOjJDMDQ3NDAwQUU0NjAwMzQ4RTU3MDAzODMyNDJGRkMwMDAwMjExODJBNzgyMEZCOEFGOTcwRkI0OEY5NzBDNTgwMEUwRjgwOTAzRTAzODIxMTJFNjAwMDMzQzAzMEM0MDI5Cis6MkMwNEEwMDAzQzAyQzAwMEFGODIwRkJDODY1RDAwMkE4NjVFMDAwOEE3OUQwRkJBMjc5RDBGMTgzM0RFMDA2MDAzQkVFODIxMDAxRUYwQzIwM0JFRTgyMThGQTIwMDFDMjMKKzoyQzA0Q0MwMDREMDFGRkZGMDAwMDAwMDA4Rjk3NEMwMEFDNjIwRkI0MzA4NEZGRkI4RkEzMDAxODI0NDIwMDBDMTQ0MzAwMDJBRjgwNDYwQzhGQTIwMDE0QUU0MDAwM0NDMgorOjJDMDRGODAwQUZBMjAwMUM0RDAxRkZGRjAwMDAwMDAwQUNBNTAwRTQxMDAwRkYxM0FGOTc0QzAwMDBFMEY4MDkwM0UwMzgyMTEwMDBGRjBGMDAwMDAwMDAxMDQwMDA1QjUwCis6MkMwNTI0MDA4NjdFMDAwODI3OUQwRjE4MzNERTAwNjAwM0JFRTgyMTAwMUUxMEMyMDNBMkU4MjE4RkI3MDAwODhGQTIwMDBDOEVGNjAwMDQxMkUyMDAyODg2NjIwMDA4QkMKKzoyQzA1NTAwMDgyMDMwMDEwMDAwMjE3NDAwNDQxMDAxOTI0NjMwMDAxMTA2MDAwMTczQzAyRDFCMDAwNTAxMDI2NEQwMUZGRkYwMDAwMDAwMDhGOUU0QzAwQUM1NjAwMTAwOAorOjJDMDU3QzAwMjZENkZGRkU4NjAyMDAxMDNDMDNDRkIwMzQ2MzIwMDBBNjYyMDAyQThFRTIwMDAwMjZGNzAwMDhBRTYyMDAzODhGQTIwMDIwQUZCNzAwMDgyNDE3RkZGRjQ2Cis6MkMwNUE4MDAwMkMyQTgyMTREMDFGRkZGMDAwMDAwMDBBRjlFNEMwMDAzRTAwMDA4QUU3NTAwMzA4RUUyMDAwMDI2RjcwMDA4QUU2MjAwMzg4RkEyMDAyMEFGQjcwMDA4REIKKzoyQzA1RDQwMDI0MTdGRkZGQTY3NzAwMkEwMkMyQTgyMTNDMDNDRkIwMDNFMDAwMDhBRTc1MDAzMDAwMUUxOEMyMDA2NTE4MjE4QzYzMDBDODhGQTIwMDEwMDAwMDAwMDA2NAorOjJDMDYwMDAwMDA2MkIwMjMxRUMwMDAwMzhGQTEwMDA0MTJDMDAwMUIwMDIyQjAyMzJFQzMwMDQxMTQ2MDAwMDIzQzE1MDA0MDI0MTYwMDQwMDAxNjFFODAwMDAzMTg4MjlFCis6MkMwNjJDMDAwMDc1MTgyNTREMDFGRkZGMDAwMDAwMDA4Rjk1NEMwMDAwMUVCODQwMDA3NzE4MjFBQzYyNEQwMDAwNTYxMDIxMTQ0MTAwMDIyNzgzMEQwMDhGQTIwMDAwNEQKKzoyQzA2NTgwMDAyRTNCODIxQUZBMjAwMTAwMkQ3MTgyMUFGQTMwMDBDNEQwMUZGRkYwMDAwMDAwMDhFRjYwMDA0MTAwMEZGQjVBRjk1NEMwMDNDMTZERUFEQUU3NjAwM0M4MgorOjJDMDY4NDAwQUU2MDAwMzgyNkQ1RkZGRjAwMDAxMDIxMDNFMDAwMDhBRTc1MDAzMDJDNDMwQUIyMTA2MDAwMDUyQzQzMjRCMjEwMDAwMDA0MjQwMjBBQjIxMDAwMDAwMkFGCis6MkMwNkIwMDAyNDAyMjRCMTEwNjBGRkZEMzA0MzAxRkYwMDAzMTg0MDNDMURBMEQxMjdCREQ2Q0MwMDdEMTgyMTk0NjMwMDAwMDAwMkVBNDIwMDAzMUMwMDI3QkRGRkZCQzEKKzoyQzA2REMwMDAzRTAwMDA4MDNBMzEwMDYyNDAzMEZDMEFGODM0NTAwMTAwMDAwMDIwMTIwNjAyMTNDMENDRkIwMTFFMDAwNTYwMTg5NjAyNjg1RkUwMDAwMDAwMDAwMDA4OQorOjJDMDcwODAwMTNDMDAwNDczQzAyQ0ZCMDA3QzAwMDJEMDAxRTFGODAwNDYxMDAzNDAwMUUxRkMwMDQ2MDAwMDkzQzAyRDNCMDAwRTBGODA5MDNFMDM4MjE0RDAxRkZGRjEwCis6MkMwNzM0MDAwMDAwMDAwMDhGODY0QzAwOEY5OTBGRUMxMDAwMDAwQkFGOTk0QzAwMDFFMjc4MjYwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYwMDAwMDAwMDhGODY0QzAwMUIKKzoyQzA3NjAwMEFGOTk0QzAwQURFRjIwMTAzQzAyRDNCMDAxRTI3ODI2OEY4MjBGQzA4RjgzMEZDNEFGODI0RDAwOERFMjAwMDRBNUUwMDAwMEFDNjIwMDAwOEM2MjAwMDA5NAorOjJDMDc4QzAwMjQwMjAzODBBRjgyNEQwMDhGODI0RDAwOEY4MjBGMTQyNDYzMDAwNDE0NjIwMDAyMjQxOUZGRkY4RjgzMEYxMEFDQTUwMEU0QUY4MzBGQzQ0RDAxRkZGRjkzCis6MkMwN0I4MDAwMDAwMDAwMDhGODI0QzgwMTAwMDAwMUZBREUyMDAzQzAwRTBGODA5MDNFMDM4MjE0RDAxRkZGRjAwMDAwMDAwQTVFMDAwMDA4Rjg2NEMwMDE1ODAwMDIyMzgKKzoyQzA3RTQwMEFGOEY0NTQwMTAwMDAwMTcwMUUyNzgyNjAwRTBGODA5MDNFMDM4MjE0RDAxRkZGRjAwMDAwMDAwOEY4NjRDMDBBRjk5NEMwMEFERUYyMDEwM0MwMkNGQjA5NworOjJDMDgxMDAwMDFFMjc4MjZBNUUwMDAwMDREMDFGRkZGMDAwMDAwMDAxMDAwMDAwNzhGOTk0QzAwMDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDA4Rjg2NEMwMDE1Cis6MkMwODNDMDA4Rjk5MEZFQzE1ODAwMDBBQUY4RjQ1MDAwMDAwNzgyMTEwMDAwMDE0QUYxOTAwMTQwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYwMDAwMDAwMDExODBGRkY4QzEKKzoyQzA4NjgwMDhGODY0QzAwODUyMjAwMDAwMTIwNzgyMTA0NDAwMDBBOEQyOTAwMDgxMzBCMDAwNDAwMEMxNjAyQUYxOTAwMTQ4RDc5MDAxNDAxNjBDMDIxQUY5OTRDMDA4NAorOjJDMDg5NDAwQUQ4RTQwMTAzMDQyMDAzRjAxQzI3MDIxMDAwNDE3ODAwNDQwMDE4QjhGODI0QTAwMzA4MTgwMDAzMDQyMDAwNDE0NDBGRjhEOEQ0QjAwMDAxMDIwMDAwQzQ3Cis6MkMwOEMwMDAzMDg0N0ZGRjhGODIwQzQ4MDEyMEYwMjEyNDQzMDAzNDhDNUQwMDBDMjQ0MjAwMDRBRkREMDAwQzE0NjJGRkZDMjdERTAwMDRBNTIxMDAwMDEwMDBGRjgyRTAKKzoyQzA4RUMwMDI1MDgwMDA4MTE2MDAwNTgwMDAwMDAwMDg1N0QwMDA4OEQ2MzAwMEM5NTYyMDAwQThENDEwMDA0MDdBMTAwMjYwMDYyMTgyMUE1NjMwMDBBMDAwMzFDMDI2RAorOjJDMDkxODAwMDQxMTAxQTAwMDAzMThDMDAwMUQxNkMwMDQ0MTAwMUYyN0EyMDA4MDAwMDIxQ0MwMDQ2MTAwMEUwMDQwRTgyMTI3QkQwMDgwOTU2MjAwMDA5NTYzMDAwMjkzCis6MkMwOTQ0MDAzNDQyMDAwQ0FEMjIwMDBDMjQwMjAxMDBBNTIyMDAxMDk1NjIwMDJDQTUyMzAwMTRBNTIyMDAxMkE1MjAwMDE2MzQwMjgwMDBBNTIyMDAwMEE1N0QwMDA4RDIKKzoyQzA5NzAwMDA3QTAwMDBDOEY4MjBDNEM4RjgzMEM1MDI0NDFGRkU4MDAyM0YwMkIxM0MwMDAwMjAwMjAxMDIxMjQ0MjA0MDA5NDVFMDAwMDI0NDFGRkZFMTdDMEZGRjk5NAorOjJDMDk5QzAwQUQ2MjAwMTBBNDRCMDAwMDE0MkIwMDFDQUQ0MDAwMDBBRDQwMDAwNDI1NEEwMDA4MzE0MjAwN0YxNDQwMDAwRTAwMDQxNzgwMDQ0MTAwMDM4RjgyMEZFMDNBCis6MkMwOUM4MDAxMDAwMDAwNjM0ODQwMDAxMzQ4NDAwMDIyNDQyMDAwODM0NDIxMDAwMzg0MjEwMDBBRjgyMEZFMDM1NEEwMTAwMzk0QTAxMDAzOTQyMDA4MEFGODIwRkU0QjkKKzoyQzA5RjQwMDAwMUQxNEMwMDQ0MTAwMDMzM0EyRUZGRjEwMDBGRjNDQTU2MjAwMDgwN0EwMDA5RjMzQTJGRkZFMTAwMDAwMjFBNTYyMDAwODhENjIwMDI0MDAxRDFDQzAxRAorOjJDMEEyMDAwMDQ2MTAwMDRBRDQyMDAwMDMzQTNFRkZGMTAwMEZGMzFBNTYzMDAwODA3QTAwMDA1MzNBM0ZGRkVBNTYzMDAwODhENEIwMDAwMTAwMEZGQUEwMDAwMDAwMDFFCis6MkMwQTRDMDAxMDAwMDA4RTI1MDgwMDA4MjU0QTAwMDgzMTQyMDA3RjE0NDAwMDBFMDAwNDE3ODAwNDQxMDAwMzhGODIwRkUwMTAwMDAwMDYzNDg0MDAwMTM0ODQwMDAyNzQKKzoyQzBBNzgwMDI0NDIwMDA4MzQ0MjEwMDAzODQyMTAwMEFGODIwRkUwMzU0QTAxMDAzOTRBMDEwMDM5NDIwMDgwQUY4MjBGRTQxMTAwMDAwMzhENEIwMDAwMTAwMEZGOTMwMworOjJDMEFBNDAwMjUwOEZGRjg4RjgyMEZEODhGODMwRkRDOEY4MTBGRDQxMDYyMDAxRDI0NjIwMDA4NEQwMUZGRkYwMDAwMDAwMDhGOEM0QzAwODQ3RjAwMDAzQzFFMDBEMTFDCis6MkMwQUQwMDAzM0ZEMDNGRjAwMUQ1OTgwMDE3RTU4MjE4NTdFMDAwODAwMURFOTAwMDAxRTBGMDAwM0UxRjgyNTA3RTAwMDAzQUY4MjBGREM4NzlFMENBMDI3OEIwQzk4NkUKKzoyQzBBRkMwMDA3QzEwMDQyM0MwMjA4NDAzQzAxRjdCMDhENjIwMDIwMDAyMzA4MjZBQzIyMDAwMDhDNjIwMDA0OTQ2MzAwMDIyNDQyRkZGODAwNDMxMDIxMTAwMDAwNEUxMgorOjJDMEIyODAwQUQ2MjAwMjA4RjgyMEZEMDg3ODMwQ0EwMTQyMjAwMDcyNzhCMEM5ODQxMDAwMDUxM0MwMTgwMDBBQ0ExMDBFMDhDQTEwMEM0MDAwMDAwMDAxMDIyMDA0QzRFCis6MkMwQjU0MDAwMDIyRTgyMzhGOUYwRjBDMDdBMTAwMDJBRjgxMEZENDAzRTJFODIzMkZBMzAwNDExNDYwMDAwMjNDMUUwMDQwMjQxRDAwNDAwMDFEMUU4MDAwMDMxODgyNTYKKzoyQzBCODAwMDAwN0UxODI1NEQwMUZGRkYwMDAwMDAwMDhGOEM0QzAwQUM2MjRDQzAwMDVEMTAyMTE0NUYwMDAyMjc4MzBDQzA4RjgyMEYwODAzQTNGMDIxQUY4MjBGRDA1OQorOjJDMEJBQzAwQUY5RTBGRDg0RDAxRkZGRjAwMDAwMDAwMTAwMEZGQzMyNDYyMDAwODhENjMwMDBDOEQ3RDAwMTBBNTYzMDAwQTEzQTAwMDAyMDAwMzFDMDJBN0EwMDAwMEY4Cis6MkMwQkQ4MDAwMDAzMThDMDA0MTEwMEVGMDA2ODE4MjE0RDAxRkZGRjAwMDAwMDAwOEY4MjBDNDQ4RjgzMEM0MEFENjIwMDEwQTU2MzAwMDRBNTYzMDAwNjEwMDAwMDIxRkMKKzoyQzBDMDQwMEFGOEM0QzAwQTU3RDAwMDA4QzdEMDAwNDk0NjMwMDAyQUM1RDRDNDAyN0EyMDAwOEFENjIwMDE4MDNBM0U4MjEyN0JERkZGNEFEN0QwMDFDMjdCRDAwMDRENAorOjJDMEMzMDAwQUQ3RDAwMjAzN0MxODAwMTAwMUUxN0MwMDQ0MUZGRTBBNTYxMDAwODREMDFGRkZGMDAwMDAwMDA4RjgyMEM0NDhGODMwQzQwQUQ2MjAwMTBBNTYzMDAwNDc4Cis6MkMwQzVDMDBBNTYzMDAwNjhGODIwRkQ4OEY4MzBGREM0RDAxRkZGRjAwMDAwMDAwMTQ2MkZGOTUyNDYyMDAwOEFGOEM0QzAwODc4MzBDQTAyNzhCMEM5ODA0NjFGRTk3RjgKKzoyQzBDODgwMDAwMDQxNzAwMDQ0MDAwMDU5NTYyMDAwMDExNzgwMDA2MDAwMDAwMDBBRjBFMDAxMEE3MEQwMDA0MzA4NEZGRjc5NTZEMDAwNDhENkUwMDEwMjVBREZGRDA3NQorOjJDMENCNDAwMDVBMUZFOEZBRDIyMDAwQzNDMENGRkIwMDE4OTYwMjYwMDBEMTgyMjI1QUQwMDMwOEQ3RTAwMTg4RDYxMDAxQzREMDFGRkZGMDAwMDAwMDAxMDNFMDAzNkI5Cis6MkMwQ0UwMDA4RjlENEMwMDNDMDEwODQwQUMzRTRDNDAyN0RFMDAwODExQTAwMDE3QUQ3RTAwMTgwMDBERjYwMDAxOUU2MDI1NEQwMUZGRkYwMDAwMDAwMEFEOEU0MDEwNUYKKzoyQzBEMEMwMDhGOEQwQzQwOTU3RTAwMDY4RjhFMEM0NDAzQ0RGMDIxQTU3RTAwMDYwMDBDRjc4MjAwMEMwRTAyMDNDMUYwMjEwMDFFMEY4MDAwMEM2MjAwMDAwQzYyMDJDMgorOjJDMEQzODAwMDE4MTYwMjUzM0RFMDAzQzAxOUU2MDIxMzQwMTAwMDExMDAwMDAwOEE1MjEwMDAwOTU3RTAwMDY0RDAxRkZGRjAwMDAwMDAwOEY4RDBDNDA4RjhFMEM0NENECis6MkMwRDY0MDAwM0NERjAyMUE1N0UwMDA2NEQwMUZGRkYwMDAwMDAwMDAxQTNGMDJCMTdDMDAwMDgwMDAzRjYwMDAxQTM2ODIzMDE5RTYwMjUwMTg5NjAyNjREMDFGRkY3Q0YKKzoyQzBEOTAwMDAwMDAwMDAwMTAwMEZFNThBRjlENEMwMDhEN0UwMDE4OEQ2MTAwMUMwMDAwMDAwMDE0M0VGRkNFMDA2RDE4MjM0RDAxRkZGRjAwMDAwMDAwMkM2MTAwMDg2NAorOjJDMERCQzAwMTAyMDAwMTc5NTYxMDAwODAwMDAwMDAwMDAwMUZGODAwN0UwMDAwQjM0MjEwMDAyMDA2RDE4MjEwMDAzMUUwMDAxODM2MDI1MDE4OTYwMjYyNDBEMDAyQ0MwCis6MkMwREU4MDBBNTYxMDAwODREMDFGRkZGMDAwMDAwMDAxMDAwRkU0MEFGOUQ0QzAwM0MxRjBDNDBBRkZFNEZBODMwMjFGRkZEQTU2MTAwMDgzQzBDRDNDRjM1OENFMDAwNkUKKzoyQzBFMTQwMDEwMDAwMDA4MzQwMzAwMDIzQzFGMEM0MEFGRkU0RkE4MTFBMEZGRjkwMDBERjYwMDM0MDMwMDAzMDE5RTYwMjUwMTg5NjAyNjM0ODQwMDA4MzQ0MjAwMDJDNAorOjJDMEU0MDAwQUQyMjAwMEM5NTYyMDAwNkE1MjMwMDAwQUQyMjAwMzg0RDAxRkZGRjAwMDAwMDAwODU3RTAwMDg4RjgyMEZBODk3ODMwRkFDQUQyMjAwMDQzM0MxN0ZGRkE2Cis6MkMwRTZDMDBBRDYwMDAxMEE1NjEwMDA4MTA2MEZFMjBBRjlENEMwMEE1N0UwMDA4MDAwMzE5MDAzMDYzM0ZGMEE1NjMwMDAwOEY4MjBGQjAzQzAzMDg0MEFDNjI0QzQwMDcKKzoyQzBFOTgwMDI0NDMwMDA4QUQ2MzAwMTg5NzgzMEZBRTI0NDJGRkY0MDA2MjE4MjFBRDYzMDAxQzREMDFGRkZGMDAwMDAwMDA4RjhEMEM0MDhGODMwQzQ0QTU2RDAwMDQ3NAorOjJDMEVDNDAwQTU2RDAwMDZBRDYzMDAxMDEwMDBGRTBBQUY5RDRDMDA4RjgyMEZFMDAwMDQwRkMwOEM0MzAwMDAwNDIxMDAxQjhGOUYwRkU0OEM1RDAwMDRBQzQwMDAwNDNBCis6MkMwRUYwMDAxMDYwMDAwRUFDNDAwMDAwMDAwMDAwMDA5NDYyMDAyODAwMDAwMDAwMDA1RjEwMjA4QzQxMDAwNDAwMDAwMDAwMTAyMDAwMDNBQzQzMDAwNDEwMDAwMDAyQjYKKzoyQzBGMUMwMEFDMjMwMDI0QUM0MzAwMDAxN0EzRkZGNDhDNjMwMDI0OEY4MjBGRTAzQkZGMDA4MDI0NDIwMDA4MzQ0MjEwMDAzODQyMTAwMEFGODIwRkUwQUY5RjBGRTQ2RQorOjJDMEY0ODAwMTAwMEZFNTczMDg0RkZGRTEwNjAwMDEwMDAwMDAwMDA5NDdEMDAyODAwMDAwMDAwMDNCRkU4MjA4RkExMDAwNEFGQTMwMDA0MTAyMDAwMDM4QzVFMDAwNDM5Cis6MkMwRjc0MDAxMDAwMDAwMkFDMjMwMDI0QUZBMzAwMDA4QzYxMDAyNDE3QzNGRTQ4QUM0MTAwMDBBQzQwMDAwNEFDNDAwMDAwMTAwMEZFNDQzMDg0RkZGRDJDNjIwMTAwNkYKKzoyQzBGQTAwMDE0NDAwMDBFMDA2QTEwMjEzMTQzMDA3RjAxNDMxODIzMDA0MzE4MjMzMDYyMDA3RkE1NjIwMDI4MDA2MjE4MjMwMDAzMTkwMjhGODIwRkUwMjQ2M0ZGRjhCRgorOjJDMEZDQzAwMDA2MjE4MjEzNDYzMTAwMDEwMDAwMDAzMzg2MzEwMDAzNDQzMDEwMDM4NjMwMTAwOEM2MjAwMDQwMDAwMDAwMDEwNDAwMDAzQUM2QjAwMDQwM0UwMDAwODlBCis6MEMwRkY4MDBBQzRCMDAyNDAzRTAwMDA4QUM2QjAwMDBEMAorOjAyMDAwMDA0QTBEMDhBCis6MkNENTAwMDAwMDAwMDAwMkEwRDBFMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDA2MDAwMDAwMDgwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDJBMEQwRDY0ODAwMDAwMDAwRjcKKzoyQ0Q1MkMwMDAwMDAwODg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNDMxMzIwMDI0MzEzMjAwMjQzMTMyMDAwMDAwMDAwMDI0NEQ0MzUyMjQyMDQzNkZCMgorOjJDRDU1ODAwNzA3OTcyNjk2NzY4NzQyMDI4NjMyOTIwNEQ2MTY0Njc2NTIwNEU2NTc0Nzc2RjcyNkI3MzIwNEM3NDY0MjAzMTM5MzkzNTJFMjA0MTZDNkMyMDcyNjk2NzRDCis6MkNENTg0MDA2ODc0NzMyMDcyNjU3MzY1NzI3NjY1NjQyRTAwNEQ2MTY0Njc2NTIwNDE2RDYyNjE3MzczNjE2NDZGNzIyMDc2MzEyRTMwMzEwMDAwMDAwMDAwMDAwMDAxMkMKKzoyQ0Q1QjAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjJDRDVEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MkNENjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzowQ0Q2MzQwMDAwMDAwMDAwRkZGMDQwMDAwMDAwMDAwMEJCCis6MkNGMDAwMDAwQzM0M0UyRDAwMDAwMDAwM0MxQ0EwRDEyNzlDNTYzODNDMURBMEQxMjdCRERGRDAzQzA4QTBEMTI1MDhERkQwQUY4NzgwMDgwQzM0M0MxMzAwMDAwMDAwRTQKKzoyQ0YwMkMwMDI0MDQwMDAzMDA5NzAwMEQzQzA4QkZDMDM1MDgwMjMwOEQwODAwMDAwMDAwMDAwMDAxMDAwMDA4MDAwMDAwMDAyN0JERkZEMEFGQkYwMDFDQUZCMTAwMTg2NAorOjJDRjA1ODAwQUZCMDAwMTQzQzExRkZGMDAwMDA4MDIxM0MxODAwNTYzNzE4M0I3OTI2MTkwMjAwMTcyMDAwMDIwMzE5MDAxQTAwMDcwMDBEMjQwMUZGRkYxNzIxMDAwNTZCCis6MkNGMDg0MDAwMDAwMDAwMDNDMDE4MDAwMTcwMTAwMDIwMDAwMDAwMDAwMDYwMDBEMDAwMDEwMTIwMDEwMTg0MDNDMDVBMEQxMjRBNUQ2Q0MwMEEzMjAyMUE0ODIwMDAwQzUKKzoyQ0YwQjAwMDI2MTAwMDAxMkEwMTAyMDAxNDIwRkZFQTAwMDAwMDAwM0MwNkEwRDEyNEM2RjlFNDNDMDdBMEQxMjRFN0Q2NDhBQ0U2MDAwMDNDMDhBMEQxMjUwOEZCMTREOQorOjJDRjBEQzAwQUNFODAwMDQzQzA5QTBEMTI1MjlGQzk0QUNFOTAwMDgzQzBBQTBEMTI1NEFGQ0Q0QUNFQTAwMEMzQzBCQTBEMTI1NkJGQkE4QUNFQjAwMTAzQzBDQTBEMTVDCis6MkNGMTA4MDAyNThDRkJDNEFDRUMwMDE0M0MwREEwRDEyNUFERkJFMEFDRUQwMDE4M0MwRUEwRDEyNUNFRkJGQ0FDRUUwMDFDM0MwRkEwRDEyNUVGRkMxOEFDRUYwMDIwQUQKKzoyQ0YxMzQwMDNDMThBMEQxMjcxOEZDMzRBQ0Y4MDAyNDNDMTlBMEQxMjczOUZDNTBBQ0Y5MDAyODNDMDJBMEQxMjQ0MkZDNjBBQ0UyMDAyQzNDMDNBMEQxMjQ2M0ZDNzBBNgorOjJDRjE2MDAwQUNFMzAwMzAzQzA0QTBEMTI0ODRGQzgwQUNFNDAwMzQzQzA1QTBEMTI0QTVGQ0I0QUNFNTAwMzgzQzA2QTBEMTI0QzZGRTA4QUNFNjAwM0MzQzA4QTBEMTExCis6MkNGMThDMDAyNTA4RkU5MEFDRTgwMDQwM0MwOUEwRDEyNTI5RkEzOEFDRTkwMDQ0M0MwQUEwRDEyNTRBRkE3NEFDRUEwMDQ4MjQxMDAwMTMzQzBCQTBEMTI1NkJGOUQ4RTcKKzoyQ0YxQjgwMDAwMTA2MDgwM0MwRUEwRDEyNUNFRDY0ODAxQ0M2ODIxQURBQjAwMDAyNjEwMDAwMTJBMDEwMDIwMTQyMEZGRjYwMDAwMDAwMDhGOTg4MDAwMDAwMDAwMDA2RgorOjJDRjFFNDAwQUYwMDAxMDA4RjgyODAwMDI0MTkwM0ZGQTQ1OTAyMDIwMDAwODAyMThGODY4MDAwMjQwMzBGRkYwMDEwMjA0MDI0QzcwMzgwMDBFNDI4MjFBNEEzMDAwMEMxCis6MkNGMjEwMDAyNjEwMDAwMTJBMDEwMDA4MTQyMEZGRjcwMDAwMDAwMDhGODk4MDAwMzQwODlDNDBBRDI4MDNBMDhGOEI4MDAwM0MwQTAwRkYzNTRBRkZGRkFENkEwM0E0RkMKKzoyQ0YyM0MwMDAwMDA4MDIxOEY4RjgwMDAyNDBDMEZGRjAwMTA2ODQwMjVGODAzMDAwMzBENzAyMUE1Q0MwMDAwMjYxMDAwMDEyQTAxMDAwODE0MjBGRkY3MDAwMDAwMDBBQgorOjJDRjI2ODAwOEY4MjgwMDAzNDE5OUM0MEFDNTkwMzIwOEY4NDgwMDAzQzAzMDBGRjM0NjNGRkZGQUM4MzAzMjQ4Rjg2ODAwMDI0MDUwMkZGQTRDNTAyMDIzQzA4QTBDMDBDCis6MkNGMjk0MDAzNTA4MDE4MDNDMDlBMEQxMjUyOUQ1QjgyNTBBMDAyODhEMEIwMDAwOEQwQzAwMDRBRDJCMDAwMEFEMkMwMDA0MjUwODAwMDgxNTBBRkZGQTI1MjkwMDA4MUIKKzoyQ0YyQzAwMDQwMDI2MDAwMDAwMDAwMDBBRkEyMDAyODI0MDMwMDIyM0MwNEEwRTAzNDg0MDAxNEFDODMwMDAwOEZBNTAwMjgwMDAwMDAwMDM0QTYxMDAxMDBDMDEwMjFDQgorOjJDRjJFQzAwQUZBNjAwMjgzQzA3RkZCRjM0RTdGRkZGMDBDNzM4MjQwMEUwMTAyMUFGQTcwMDI4NDA4NzYwMDAwMDAwMDAwMDNDMDgwMDAyMzUwOEQ4OTAzQzA5RkZGRTU5Cis6MkNGMzE4MDAzNTI5MDEzMEFEMjgwMDAwOEZBQTAwMjgzQzBCRjAwMDAxNEI1ODI1MDE2MDEwMjFBRkFCMDAyODAxNjA2MDIxNDA4QzYwMDAwMDAwMDAwMDAwMDA4MDIxNDEKKzoyQ0YzNDQwMDAwMTA3MDgwMDIyRTc4MjFBREUwMDAwMDI2MTAwMDAxMkEwMTA0MDAxNDIwRkZGQTAwMDAwMDAwMjQxODAwMDEzQzE5QTBFOEFGMzgwMDAwMjQwMjAwMTE3QworOjJDRjM3MDAwM0MwM0EwRjAzNDYzMDAxN0EwNjIwMDAwM0MwNEYwRUIzNDg0MDA3MDNDMDVGRkYwMzRBNTRBMDBBQ0E0MDAwMDNDMDZGQ0VCMzRDNjAwNzBBQ0E2MDAwMDI3Cis6MkNGMzlDMDAzQzA3RkZGMDM0RTc0NzAwQUNFMDAwMDAwMDAwODAyMTNDMDhGRkYwMzUwODBGQzAzQzA5RkZGMDM1Mjk0NTAwQUQyODAwMDAyNjEwMDAwMTJBMDEwMDA0MzMKKzoyQ0YzQzgwMDE0MjBGRkY4MDAwMDAwMDAwMDAwODAyMTNDMEFERUFEMDAxMDU5ODAzQzAxMDBEMTAwMkIwODIxQUMyQTAwM0MzQzAxMDBEMTAwMkIwODIxQUMyMDAwMzBDMQorOjJDRjNGNDAwM0MwMTAwRDEwMDJCMDgyMUFDMjAwMDM4MjQwREZGRkYzQzAxMDBEMTAwMkIwODIxQUMyRDAwMTQwMDEwNzEwMDNDMDEwMEQxMDAyQjA4MjFBNDJFMDAwMDU0Cis6MkNGNDIwMDAzQzAxMDBEMTAwMkIwODIxQTQyMDAwMDQyNDE4MDAyMDNDMDEwMEQxMDAyQjA4MjFBNDM4MDAwODNDMDEwMEQxMDAyQjA4MjFBQzIwMDAxMDI2MTAwMDAxN0YKKzoyQ0Y0NEMwMDJBMDEwNDAwMTQyMEZGRTAwMDAwMDAwMDAwMDA4MDIxMDAxMDE4QzAzQzA1QTBEMTI0QTVFMDAwMDBBMzIwMjFBQzgwMDAwMDNDMDdBMEQxMjRFN0UwMDBCRgorOjJDRjQ3ODAwMjRFODAwMDQwMTAzMzAyMUFDQzAwMDAwMjYxMDAwMDEyQTAxMDAwOTE0MjBGRkYzMDAwMDAwMDAyNDA5MDM4MDNDMEFGRkYwMzU0QTREMDBBRDQ5MDAwMDVGCis6MkNGNEE0MDAzQzBDQTA4MDM1OEMwMDlDQUQ4MDAwMDAzQzBEQTA4MDM1QUQwMEEwQURBMDAwMDAzQzBFMTEwMDNDMEZBMDgwMzVFRjAwQThBREVFMDAwMDQxMDEwMDAzQTAKKzoyQ0Y0RDAwMDAwMDAwMDAwNDEwMEZGRkYwMDAwMDAwMDNDMThBMDgwMzcxODAwRTA4RjE5MDAwMDNDMDFBMEQxQUMzOUQ2QzgwQzM0M0Q0MzAzMjAyMDIxOEZCMDAwMTRERQorOjJDRjRGQzAwOEZCRjAwMUM4RkIxMDAxODAzRTAwMDA4MjdCRDAwMzAwMDgwQjgyMTNDMUNGRkYwQTM4MDBDODRBMzgwMEM4ODhGOTA0NDAwMDAwMDIwMjFBRjgwMENCQzdFCis6MkNGNTI4MDAyNDAyMDBBODI3ODMwRjAwMkM1RDAwNDAxN0EwMDAwQzNDMURGRkIwMDNBM0U4MjZBRkI3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDREMDFGRkZGRjYKKzoyQ0Y1NTQwMDAwMDAwMDAwMjQ0MkZGQzAyNDYzMDA0MDEwMDBGRkYzMjZGNzAwNDAxMDQwMDAwRDAwMDAwMDAwMDAwMkVFMDAzQzAxMDA0MDAzQTFFODI1M0MwMUZGRjA5OQorOjJDRjU4MDAwMDNBMUU4MjYwM0EzRTgyNkFGQjc0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQwMUZGRkYwMDAwMDAwMDNDMDVBMDgwOEY4MjBGMDgwMDAwMDAwMDdFCis6MkNGNUFDMDBBRjgyMEZENEFGODIwRkQwQUNBMjAwQzQ4RjgyMEYxMDAwMDAwMDAwMDAwMjFEODJBRjgzMEZDMDAwMDMxRDgwMDA0MzEwMjMzQzAxQTA4MDAwNDExMDI1NDIKKzoyQ0Y1RDgwMEFGODIwRkM0QUY4MjBGMTA4RjgyMEYxNDAwMDAwMDAwMDA0MzEwMjMzQzAxQTA4MDAwNDExMDI1QUY4MjBGMTQyNDAzMDAwMzI3OUQwRjE4MjRCRTAwQzgyMworOjJDRjYwNDAwMjc4MTBEMDA4RkEyMDAwMDAwMDAwMDAwQUZBMjAwMTBBRkMyMDAwMEFGQTEwMDA4QUZBMTAwMEM4RkEyMDAxNDAwMDAwMDAwQUZBMjAwMUMyN0JEMDAyNEI0Cis6MkNGNjMwMDAyN0RFMDAwNDI0MjEwMDQwMTQ2MEZGRjMyNDYzRkZGRjhGODIwRjAwMDAwMDAwMDBBRjgyMEZDOEFDQTIwMEMwMjc4MjA4MDAyNDAzMDAwRkFDNDAwMDAwMkMKKzoyQ0Y2NUMwMDI0NDIwMDA0MTQ2MEZGRkQyNDYzRkZGRjhGODMwRkMwMDAwMDAwMDBBRjgzNEQwMDhGODM0RDAwOEY4MzBGMTQ4RjgyMEYxMDI0NjNGRkZDQUM0MDAwMDA5MQorOjJDRjY4ODAwMTQ0M0ZGRkUyNDQyMDAwNDI0MDIwMzgwQUY4MjREMDAyNzlEMEYxODI3QTEwMDkwOEZBMjAwMTQ4RkEzMDAxODAwMDAwMDAwMDA2MjE4MjMyQzdGMDA0MDE3Cis6MkNGNkI0MDAxN0UwMDAwOTNDMUYwMDQwMzdGRjA4MDAwM0EwRjAyMTREMDFGRkZGMDAwMDAwMDBBRkUyMDAwMDI0NDIwMDQwMTAwMEZGRjYyNDYzRkZDMDEwNjAwMDA2NTkKKzoyQ0Y2RTAwMDM3RkYwODAwMDAwMzFFMDAwM0UzRjgyNTREMDFGRkZGMDAwMDAwMDBBRkUyMDAwMDI3QkQwMDI0MTdBMUZGRTgwMDAwMDAwMDAwMDAzODIxOEZDMjAwMTQ1QQorOjJDRjcwQzAwOEZDMzAwMTgwMDAwMDAwMDAwNjIxODIzMkM3RjAwNDAxM0UwMDAwNDNDMUYwMDQwMDAwMzBFMDAxMDAwMDAwMjAzRTFGODI1MjQwMzAwNDAzN0ZGMDgwMDg0Cis6MkNGNzM4MDAyNDFFMDNFNzAwMDAwODIxNEQwMUZGRkYwMDAwMDAwMEFGRTIwMDAwMDAyMzA4MjE0OTAwRkZGQjAwMDAwMDAwODc4MDQwMDIxN0MwRkZGODI3REVGRkZGQ0EKKzoyQ0Y3NjQwMDE0RTAwMDA0MzRFNzQwMDAwM0U3RjgyNTEwMDBGRkYwQUY4MTBDNjBBRjgxMEM1QzNDMDFBMEQxOEMyMkQ2QzgwMDAwMDAwMDNDMDFBMDgwQUMyMjAwRTBFNworOjJDRjc5MDAwM0MwMUEwODA4QzIwMDBFMEFGODAwRkI0QTc4MDBGQjhBNzgwMEZCQUE3ODAwRkJDQTc4MDBGQkUyNzgyMENDMEFGODIwRkRDQUY4MjBGRDgzQzAyQTBEMTU2Cis6MkNGN0JDMDAyNDQyREFDQ0FGODIwQzRDQUY4MjBDNTAyNDQyMDQwMEFGODIwQzU0MjQwMjAwMUUzQzAzRkZGMDI0N0QwMDQwQUM3RDAwMDgwM0EwMTgyMTE0NDBGRkZDNTUKKzoyQ0Y3RTgwMDI0NDJGRkZGM0MxREZGRjBBQzdEMDAwODNDMDJDNzA0MzQ0MkREN0JBRjgyMEM1ODNDMDcwMDAwMjRFNzAxNTgwODM0M0ZBOTAwMDAwMDAwOEU2MjAwMzhCOQorOjJDRjgxNDAwMDAwMDAwMDAxNDQwMDAwNThGODMwQzk0MTJBMDAwMjIyNDYzMDAwMTEwMDAwMDIwQUY4MzBDOTRBRjgyMEZCNDMyNjJGRkMwMDAwMjExODI4NjYzMDAyQTcwCis6MkNGODQwMDBBNzgyMEZCODNDMDJBMDAwQUY4MjBGQkNBNzgzMEZCQTg2N0UwMDA4Mjc5RDBGMTgzM0RFMDA2MDAzQkVFODIxMDAxRUYwQzIwM0JFRTgyMThGQTIwMDFDQzYKKzoyQ0Y4NkMwMDNDMDMwQzQwNEQwMUZGRkYwMDAwMDAwMDhGOTc0QzAwQUM2MjBGQjQ4RkEzMDAxODI0NDIwMDBDMTQ0MzAwMDMwMDAwMDAwMDhGQTIwMDE0MDAwMDAwMDBGQgorOjJDRjg5ODAwQUZBMjAwMUM0RDAxRkZGRjAwMDAwMDAwQUNBNTAwRTRBRjk3NEMwMDAzRTAwMDA4QUU2MDAwM0MzQzBEQTBEMTI1QURENTAwMTFBMDAwMjEwMDAwMDAwMDVDCis6MkNGOEM0MDA4REE5MDAwMDAwMDAwMDAwMTEyMDAwMUQwMDAwMDAwMDhEQUEwMDA0OERBQjAwMDg4REFDMDAwQzAwMDk0NzQwMDUwMTAwMDQwMDAwMDAwMDNDMDhBMEQxODUKKzoyQ0Y4RjAwMDI1MDhENjM4MDE0ODUwMjEwMDA5NDc4MDA1MDEwMDA3MDAwMDAwMDAxMTgwMDAwRDAwMDAwMDAwQUQ0MDAwMDAyNTRBMDAwNDEwMDBGRkZCMjU4Q0ZGRkM2NgorOjJDRjkxQzAwMTE4MDAwMDcwMDAwMDAwMDhENkUwMDAwMjU2QjAwMDRBRDRFMDAwMDI1NEEwMDA0MTAwMEZGRjkyNThDRkZGQzEwMDBGRkUxMjVBRDAwMTAwM0UwMDAwOEI5Cis6MkNGOTQ4MDAwMDAwMDAwMDNDMDIxMDQwQUM1NzRGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDREMDFGRkZGMDAwMDAwMDA4RjgyMEZGQzAwMDAwMDAwNUIKKzoyQ0Y5NzQwMDMwNDIwMDFGMDAwMjEwODAzQzE3QTBEMTAyRTJCODIxMjZGN0Q2NDg4RUY3MDAwMDAwMDAwMDAwMDJFMDAwMDgwMDAwMDAwMDI0MDJGRkZGQUY4MjBGRkNCOQorOjJDRjlBMDAwOEY5NzBGQzgzQzAyMTA0MEFDNTcwRkYwOEY4MjBGMDQyNkY3MDAxMDE2RTIwMDA0QUY5NzBGQzg4Rjk3MEYwMDAwMDAwMDAwQUY5NzBGQzg0RDAxRkZGRkE2Cis6MkNGOUNDMDAwMDAwMDAwMDAzRTAwMDA4MDAwMDAwMDAzQzFGQTBEMTI3RkZGMDJDMTAwMEZGRUQ4Rjk3MEZGMDNDMDIwMEQxMzJGNzAzRkYwMDE3Qjk4MDAyRTJCODI1QUEKKzoyQ0Y5RjgwMEFFRTAwMDNDMjQwMkZGRkZBRUUyMDAzMEFFRTIwMDE0OTc4MzBGRjQ5NzgyMEZGODNDMUQwMDAwMjdCRDA2OThBNkUzMDAwOEE2RTIwMDAyQUY5RjBGRTgxOQorOjJDRkEyNDAwMDNBMEY4MDlBNkUyMDAyQzhGOUYwRkU4MTAwMEZGRDlBRUUyMDAwQzhGOTcwRkYwM0MwMjAwRDEzMkY3MDNGRjAwMTdCOTgwMDJFMkI4MjU5NzgyMEZGNDI5Cis6MkNGQTUwMDAzQzAzMDAwMDI0NjMwNjk4QTZFMjAwMDJBRjlGMEZFODAwNjBGODA5QTZFMjAwMkM4RjlGMEZFODEwMDBGRkNBQUVFMjAwMEM4Rjk3MEZGMDNDMDIwMEQxNzQKKzoyQ0ZBN0MwMDMyRjcwM0ZGMDAxN0I5ODAwMkUyQjgyNTk3ODIwRkY0MDAwMDAwMDA5NkUzMDAwOEE2RTIwMDA4MDA0MzEwMjYzMDQyMDA2MDEwNDBGRkJEOEVFMjAwM0NGMgorOjJDRkFBODAwQUVFMDAwM0MxMDQwRkZCQTNDMDI4ODAwQUY4MjBGQkM4RUUyMDAzOEFFRTAwMDM4MzA2MzAwNjAyNzlEMEYxODAzQTNFODIxMDAwMzE4QzIwM0EzRTgyMTE2Cis6MkNGQUQ0MDA4RkEzMDAxQzEwNDBGRkFGQUY4MjBGQjQzQzAyMEM0MEFDNDMwRkI0OEZBMjAwMTgyNDYzMDAwQzE0NDMwMDAzMDAwMDAwMDA4RkEzMDAxNDAwMDAwMDAwMEUKKzoyQ0ZCMDAwMEFGQTMwMDFDNEQwMUZGRkYwMDAwMDAwMDEwMDBGRkEyMDAwMDAwMDA4Rjk3MEZGMDNDMDIwMEQxQTc5NzBGQjgwMDE3Qjk4MDMyRjdGRkMwMDJFMkI4MjE0MAorOjJDRkIyQzAwQUVFMDAwMzAzQzAyREVBRDhFRTMwMDNDQUVFMjAwM0M4RUUyMDAzODEwNjBGRjk1QUVFMDAwMzgzQzAzODgwMEFGODMwRkJDODZFMzAwMDgyNzk3MEYxODIxCis6MkNGQjU4MDAzMDYzMDA2MDAyRTNCODIxMDAwMzE4QzIwMkUzQjgyMThFRTMwMDFDMTA0MEZGOEFBRjgyMEZCNDNDMDIwQzQwQUM0MzBGQjQ4RUUyMDAxODI0NjMwMDBDODQKKzoyQ0ZCODQwMDE0NDMwMDAzMDAwMDAwMDA4RUUzMDAxNDAwMDAwMDAwQUVFMzAwMUM0RDAxRkZGRjAwMDAwMDAwMTAwMEZGN0QwMDAwMDAwMDhGODIwRkYwOEY5NzBGRjRCOAorOjJDRkJCMDAwOTA0MTAwMDAwMDAwMDAwMDAwMzcwODI1MTAwMEZGNzZBMDQxMDAwMDhGODIwRkYwOEY5NzBGRjQ5NDQxMDAwMDAwMDAwMDAwMDAzNzA4MjUxMDAwRkY2RjlFCis6MkNGQkRDMDBBNDQxMDAwMDhGODIwRkYwOEY5NzBGRjQ4QzQxMDAwMDAwMDAwMDAwMDAzNzA4MjUxMDAwRkY2OEFDNDEwMDAwOEY4MjBGRjA4Rjk3MEZGNDkwNDEwMDAwNDAKKzoyQ0ZDMDgwMDAyRTBCODI3MDAzNzA4MjQxMDAwRkY2MUEwNDEwMDAwOEY4MjBGRjA4Rjk3MEZGNDk0NDEwMDAwMDJFMEI4MjcwMDM3MDgyNDEwMDBGRjVBQTQ0MTAwMDBEQgorOjJDRkMzNDAwOEY4MjBGRjA4Rjk3MEZGNDhDNDEwMDAwMDJFMEI4MjcwMDM3MDgyNDEwMDBGRjUzQUM0MTAwMDA4RjgyMEZGMDhGOTcwRkY0MTAwMEZGNEZBMDU3MDAwMDlECis6MkNGQzYwMDA4RjgyMEZGMDhGOTcwRkY0MTAwMEZGNEJBNDU3MDAwMDhGODIwRkYwOEY5NzBGRjQxMDAwRkY0N0FDNTcwMDAwOEY4MjBGRjAwMDAwMDAwMDhDNDIwMDAwN0EKKzoyQ0ZDOEMwMDEwMDBGRjQyQUY4MjBGRjQzQzAxQTBDMjhDMjJDMDAwMDAwMDAwMDBBRjgyMEZGMDNDMDFBMEMyOEMyMkMwMDQxMDAwRkYzQUFGODIwRkY0M0MwMUEwRDE0RQorOjJDRkNCODAwOEMyMkQ1QUMwMDAwMDAwMEFGODIwRkYwM0MwMUEwRDE4QzIyRDVCMDEwMDBGRjMyQUY4MjBGRjQzQzAyQTBGMEFDNDAwMDAwOTA1NzAxNTMwMDAwMDAwMDc2Cis6MkNGQ0U0MDBBMzk3MEM4MDkwNTcwMTU3MDAwMDAwMDBBMzk3MEM4MTkwNTcwMTVCMDAwMDAwMDBBMzk3MEM4NzkwNTcwMTVGMDAwMDAwMDBBMzk3MEM4NjkwNTcwMTYzQkEKKzoyQ0ZEMTAwMDAwMDAwMDAwMzJGNzAwMDdBMzk3MEM4NTkwNTcwMTkzMDAwMDAwMDBBMzk3MEM4QjkwNTcwMTk3MDAwMDAwMDBBMzk3MEM4QTkwNTcwMTlCMDAwMDAwMDBBRQorOjJDRkQzQzAwMzJGNzAwMDdBMzk3MEM4OTkwNTcwMDBCMDAwMDAwMDAzMkY3MDBFMDAwMTcwOTQyOTA1NzAwNDcwMDAwMDAwMDMyRjcwMDc4MDAzNzA4MjU5MDU3MDA2N0JFCis6MkNGRDY4MDAwMDAwMDAwMDMyRjcwMDBGMDAxN0I5QzAwMDM3MDgyNTkwNTcwMEM3MDAwMDAwMDAzMkY3MDAyRjAwMTdCQUMwMDAzNzA4MjU5MDU3MDE0NzAwMDAwMDAwMTkKKzoyQ0ZEOTQwMDMyRjcwMDFFMDAxN0JDMDAwMDM3MDgyNTkwNTcwMTgzMDAwMDAwMDAzMkY3MDA2MDAwMTdCQzAwMDAzNzA4MjVBRjgxMEM4QzNDMDIxODQwOEY5NzBGQzgzRgorOjJDRkRDMDAwMDAwMDAwMDA4Rjk3MEZGMDAwMDAwMDAwQUM1NzBDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RDAxRkZGRjE3Cis6MkNGREVDMDAwMDAwMDAwMDNDMDJBMEQxMjQ0MkY5OThBRjgwMEM5MEFGODAwQzk0MDA0MDAwMDgwMDAwMDAwMDg3OTcwRkYwM0MxMzAwRDFBNjc3MDAwODNDMDMwMDAwQzIKKzoyQ0ZFMTgwMDI0NjMwNTIwQUY5RjBGRTgwMDYwRjgwOTI0MDIwMDAxOEY5RjBGRTgxMDQwRkVEQTk3OTcwRkYwMjc4MzBGMTgwMDc3MTgyMTAwMTdCOEMyMDJFM0I4MjFGQgorOjJDRkU0NDAwM0MwMjg4MDBBRjgyMEZCQzhFNjIwMDM4QTc4MDBGQjhBRjgyMEZCNDhFRTMwMDFDM0MwMjBDNDBBQzQzMEZCNDhFRTIwMDE4MjQ2MzAwMEMxNDQzMDAwNDg3Cis6MkNGRTcwMDBBRUUzMDAxQzhFRTMwMDE0MDAwMDAwMDBBRUUzMDAxQzREMDFGRkZGMDAwMDAwMDAxMDAwRkZERjAwMDAwMDAwOEY4MjBDNUM4RjgzMEM2MEFGODIwRkYwMjYKKzoyQ0ZFOUMwMDEwMDBGRUJFQUY4MzBGRjQyMzg5MDgwMDAxMjAxODIxMjQwMjAwMEYyMDZDMDA0MEFDNkMwMDA4MDE4MDE4MjExNDQwRkZGQzIwNDJGRkZGQUM2OTAwMDg4NAorOjJDRkVDODAwMjc4QjBDOThBNTYwMDAwMDI0MDNGRkZGQUQ2MzAwMTQzNDAyMDAwMTM0NDIwMDIwQTU2MjAwMDgyNzhBMEUwMDAxNDAxMDIxMDAwMDE4MjFBQzQwMDAwMDM4Cis6MkNGRUY0MDAyNDYzMDAwNDJDNkMwMTAwMTU4MEZGRkMyNDQyMDAwNDNDMDJBMEQxMjQ0MkUwMDBBRjgyMEZFMDNDMTgwMEQxMDEyMDYwMjEwMDAwNjgyMTAwMDA3ODIxQzYKKzoyOEZGMjAwMDAwMDA1ODIxMDAwMDQwMjE0MDAyNjAwMDAwMDAwMDAwMzQ0MjQwMDE0MDgyNjAwMDNDMDIwMDAwMjQ0MjA2RjgwMDQwMDAwODAwMDAwMDAwN0EKKzowMDAwMDAwMUZGCisvKgorICBNYWRnZSBBbWJhc3NhZG9yIEFUTSBBZGFwdGVyIG1pY3JvY29kZS4KKyAgQ29weXJpZ2h0IChDKSAxOTk1LTE5OTkgIE1hZGdlIE5ldHdvcmtzIEx0ZC4KKworICBUaGlzIG1pY3JvY29kZSBkYXRhIGlzIHBsYWNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsCisgIFB1YmxpYyBMaWNlbnNlLiBUaGUgR1BMIGlzIGNvbnRhaW5lZCBpbiAvdXNyL2RvYy9jb3B5cmlnaHQvR1BMIG9uIGEKKyAgRGViaWFuIHN5c3RlbSBhbmQgaW4gdGhlIGZpbGUgQ09QWUlORyBpbiB0aGUgTGludXgga2VybmVsIHNvdXJjZS4KKworICBXZSB3b3VsZCBwcmVmZXIgeW91IG5vdCB0byBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIHdpdGhvdXQKKyAgY29uc3VsdGF0aW9uIGFuZCBub3QgdG8gYXNrIGZvciBhc3NlbWJseS9vdGhlciBtaWNyb2NvZGUgc291cmNlLgorKi8KKworRmlyc3QgcmVjb3JkIGlzIHN0YXJ0IGFkZHJlc3MgaW4gYSBfX2JlMzIuCmRpZmYgLS1naXQgYS9maXJtd2FyZS9jcGlhMi9zdHYwNjcyX3ZwNC5iaW4uaWhleCBiL2Zpcm13YXJlL2NwaWEyL3N0djA2NzJfdnA0LmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkMGI5Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9jcGlhMi9zdHYwNjcyX3ZwNC5iaW4uaWhleApAQCAtMCwwICsxLDczIEBACis6MTAwMDAwMDAwMUJDRTMwMkUzMDNFMzA0RTMwNUUzMDZFMzA3OTM0NEVGCis6MTAwMDEwMDA1NkQ0OTM0RTU2NTE5MzRFNTFENjkzNEU0RjU0OTM0RUMxCis6MTAwMDIwMDA5MjRGOTJBNDkzMDU5MkY0OTMxQjkyOTI5MUU2OTIzNjhBCis6MTAwMDMwMDA5Mjc0OTI0QTkyOEM5MjhFQzhEMDBCNDIwMkEwQ0E5MkJECis6MTAwMDQwMDAwOTAyQzkxMDBBMEEwQTgxRTNCOEUzQjBFM0E4RTNBMEYxCis6MTAwMDUwMDBFMzk4RTM5MEUxMDBDRkQ3MEExMkNDOTUwOEIyMEExOEQyCis6MTAwMDYwMDBFMTAwMDFFRTBDMDg0QTEyQzgxOEYwOUFDMDIyRjMxQ0Y1Cis6MTAwMDcwMDA0QTEzRjMxNEM4QTBGMjE0RjIxQ0VCMTNEM0EyNjMxNkI0Cis6MTAwMDgwMDA0ODlFRjAxOEE0MDNGMzkzQzA1OEY3MTM1MTlDRTkyMDNECis6MTAwMDkwMDBDRkVGNjNGOTkyMkVEMzVGNjNGQTkyMkVEMzY3NjNGQjlGCis6MTAwMEEwMDA5MjJFRDM2RkU5MUE2MzE2NDhBN0YwMjBBNDA2RjM5NEEyCis6MTAwMEIwMDBDMDI3RjcxNEY1MTM1MTlERjYxMzYzMThDNDIwQ0JFRjM2Cis6MTAwMEMwMDA2M0ZDOTIyRUQzNzc2M0ZEOTIyRUQzN0Y2M0ZFOTIyRTM0Cis6MTAwMEQwMDBEMzg3NjNGRjkyMkVEMzhGNjQzODkyMkVEMzk3NjQzOURGCis6MTAwMEUwMDA5MjJFRDM5RkUxMDBGNTNBRjQzQkY3QkZGMkJDRjIzRDBDCis6MTAwMEYwMDBFMTAwODA4NzkwODA1MUQ1MDIyMjAyMzI0QkQzRjcxMTY0Cis6MTAwMTAwMDAwQkRBRTEwMDBFMDIwMjQwMERCNUUzMDI0ODU1RTUxMjlDCis6MTAwMTEwMDBBNDAxRTgxQkUzOTBGMDE4QTQwMUU4QkY4REI4NEJEMTBGCis6MTAwMTIwMDA0QkQ4MEJDQjBCQzJFMTAwRTMwMkUzMDM1MkQzNjA1OTdGCis6MTAwMTMwMDBFNjkzMEQyMjUyRDRFNjkzMEQyQUUzOThFMzkwRTEwMDcyCis6MTAwMTQwMDAwMjVEMDI2M0UzMDJDODEyMDJDQUM4NTIwMkMyODI2ODk4Cis6MTAwMTUwMDBFMzAyQzgxNDAyQ0FDODkwMDJDMjBBRDBDOTkzMEFEQURDCis6MTAwMTYwMDBDQ0QyMEFFMjYzMTIwMkRBMEE5ODBBQTAwQUE4RTM5MDQzCis6MTAwMTcwMDBFMTAwRTMwMjBBRDBDOTkzMEFEQUNDRDIwQUUyNjMxMkEwCis6MTAwMTgwMDAwMkRBMEE5ODBBQTAwQUE4NDk5MUU1NkFBNDA0QzgxMkVBCis6MTAwMTkwMDAwMkNBQzg1MjgyODlDODE0MDJDQUM4OTAwMkMyRTM5MDM3Cis6MTAwMUEwMDBFMTAwMDg2MEUxMDA0ODUzRTg5NzA4NUFFMTAwRTMwMkUzCis6MTAwMUIwMDBFMzAzNTREMzYwNTlFNjkzMEQ1MkUzOThFMzkwRTEwMEQyCis6MTAwMUMwMDAwMjlDRTMwMjU1MTM5MzE3NTUxMzkzMTdFMzkwRTEwMDM0Cis6MTAwMUQwMDA3NTMwRTMwMkUzMDM1NTU1NjA1OUU2OTMwREIyRTM5ODk5Cis6MTAwMUUwMDBFMzkwRTEwMDAyQUVFNzkyRTkxOEVBOUFFODk4RTgxMDk1Cis6MTAwMUYwMDBFODExRTg1MUQyREFEMkYzRTgxM0QyRkFFODUwRDJFQUExCis6MTAwMjAwMDBFOEQwRThEMUQzMEEwMzA5NDgyM0U1MkNBMDAzNDgyNDA5Cis6MTAwMjEwMDBFQTFDMDMwOEQyRTNEMzAzRDMxM0UxMDAwMkNCMDU5MzE2Cis6MTAwMjIwMDA1NzkzRjA5QUFDMEJFMzA3OTJFQUUyOUZFNTA2RTNCMDNFCis6MTAwMjMwMDBBMDAyRUIxRTgyRDdFQTFFRTIzQjg1OUJFOTFFQzg5MDE2Cis6MTAwMjQwMDA4NTk0MDJERTA1ODA1NzkzRjBCQUFDMDY5MkVBRTJCRkNECis6MTAwMjUwMDBFNTA2QTAwMUVCQkY4NTg4RTkzRUM4OTA4NTgxRTkzRUFGCis6MTAwMjYwMDBGMEJBRjMzOUYwM0E2MDE3RjAzQUMwOTBGMEJBRTEwMDEyCis6MTAwMjcwMDAwMDNGRTMwMkUzMDM1ODEwNjA1OUU2OTMwREEyNTgxMkMxCis6MTAwMjgwMDBFNjkzMERBQUUzOThFMzkwRTEwMDAzMDFFMTAwMDMwMzg0Cis6MTAwMjkwMDA5QjdEOEI4QkUzMDJFMzAzNTg1NjYwNTlFNjkzMERCQUJFCis6MTAwMkEwMDBFMzk4RTM5MEUxMDAwMzBGOTMxMUUxMDBFMzAyNEExMUE4Cis6MTAwMkIwMDAwQjQyOTFBRkUzOTBFMTAwRjI5MUYwOTFBM0ZFRTEwMEQ3Cis6MTAwMkMwMDA2MDkyQzA1RkYwMTNGMDEzNTk1QkUyMTNGMDExNUExOUZBCis6MTAwMkQwMDBFMjEzRTEwMDAwMDAwMzI3Njg2MTc2NjE2RTYxMDAwNkE5Cis6MTAwMkUwMDAwMzJDRTMwMkUzMDNFOTM4NTkxNTU5NUFGMjlBQkMwQjdGCis6MTAwMkYwMDBBNDBBNTkxRUYzMTFGMDFBRTJCQjU5MTVGMDExMTkyQTdDCis6MTAwMzAwMDBFNTAyQTQwMUVCQkZFMzk4RTM5MEUxMDAwMzQyMTkyODYyCis6MTAwMzEwMDBFMTAwRTkzMDYwNzlFMTAwRTMwM0UzMDc2MDc5OTM0RTlGCis6MTAwMzIwMDBFM0I4RTM5OEUxMDBFOTFBRjAxRkUyMzNGMDkxRTI5MkJBCis6MDgwMzMwMDBFMDMyRjAzMUUxMDAwMDAwQjEKKzowMDAwMDAwMUZGCisKKyAgQ29weXJpZ2h0IDIwMDEsIFNUTWljcm9sZWN0cm9uaWNzLCBJbmMuCisgIENvbnRhY3Q6ICBzdGV2ZS5taWxsZXJAc3QuY29tCisKKyAgRGVzY3JpcHRpb246CisgICAgIFRoaXMgZmlsZSBjb250YWlucyBwYXRjaCBkYXRhIGZvciB0aGUgQ1BpQTIgKHN0djA2NzIpIFZQNC4KKworICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCmRpZmYgLS1naXQgYS9maXJtd2FyZS9kYWJ1c2IvYml0c3RyZWFtLmJpbi5paGV4IGIvZmlybXdhcmUvZGFidXNiL2JpdHN0cmVhbS5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDIxYTRiCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZGFidXNiL2JpdHN0cmVhbS5iaW4uaWhleApAQCAtMCwwICsxLDc2MSBAQAorOjEwMDAwMDAwMDAwOTBGRjAwRkYwMEZGMDBGRjAwMDAwMDE2MTAwMEQ3QworOjEwMDAxMDAwNjQ2MTYyNzU3MzYyNzQ3MjJFNkU2MzY0MDA2MjAwMEJCOQorOjEwMDAyMDAwNzMzMTMwNzg2Qzc2NzEzMTMwMzAwMDYzMDAwQjMxMzlDOAorOjEwMDAzMDAwMzkzOTJGMzAzOTJGMzIzNDAwNjQwMDA5MzEzMDNBMzRFNQorOjEwMDA0MDAwMzIzQTM0MzYwMDY1MDAwMDJFQzBGRjIwMTc1RjlGNUJGOAorOjEwMDA1MDAwRkVGQkJCQjdCQkJCRkJCRkFGRUZGQkRGQjdGQkZCN0Y2MQorOjEwMDA2MDAwQkZCN0VGRjJGRkZCRkVGRkZGRUZGRkZFRkZCRkZGRkY5QgorOjEwMDA3MDAwRkZGRkFGRkZGQUZGRkZGRkM5RkZGRkZGREZGRkZGRkYzQgorOjEwMDA4MDAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZCRkZBM0ZGRkJFNAorOjEwMDA5MDAwRkVGRkJGRUZFM0ZFRkZCRkUzRkVGRkJGNkZGQkY2RkYxOAorOjEwMDBBMDAwQkZGRjQ3RkZGRjlGRUVGOUZFQ0Y5RkVGRkJDRjlCRUUxOQorOjEwMDBCMDAwRjhGRUVGOEZFRUZCRkUwQkZGRkZGRkZGRkZGRkZGRkZFMgorOjEwMDBDMDAwRkZGRkJGRkZGRkZCRkZGRkJGRkZGRkZDMTdGRkZGRkZBRgorOjEwMDBEMDAwRkZGRkZGN0ZGRkZGRkY3RkZGRkZGQkZGRkY3RkZGRkZCNAorOjEwMDBFMDAwRkMzRkZGRkZGRkZGRkZGRkZGRkZGRkZCRkZGRkZGRkZFNworOjEwMDBGMDAwRkZGRkZGRkZGRkZFNUZGRkZGRkRGRkZGREJGRkZERkZEOQorOjEwMDEwMDAwNzdGRkZERkZGRkRGRkVGREZGRkZGMkZGRkZGRkZGRkZCOQorOjEwMDExMDAwRkZGREZGRkZGRkZERkZGRkZGRkZGRkZGRkZGRkZGRTExMQorOjEwMDEyMDAwN0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYzRkZGRkYxRgorOjEwMDEzMDAwRkZGRkZGRkZFM0ZGRkZGRkZGRkZGRkZGRkZGRkZGQkYyQgorOjEwMDE0MDAwRkZGRUZGRkZGRkZGRkZGRkZGNjdGRkZGRkZGRkZGRkY1OAorOjEwMDE1MDAwN0ZGRkZGRkY3RkZGRkZGRkZGRkZERkZGRkZGRjJGRkY5RgorOjEwMDE2MDAwRjNGREZGN0ZERUY3RkRGRjdGRjc3REZGN0ZERkY3QkQ0QworOjEwMDE3MDAwRkY3RkZGMUZGRkVGRkJGRUZGQkZFRkZCRkVGRkVGRkI2RAorOjEwMDE4MDAwRkVGRkJGRUZGQkZFRkZGRjNGRkU3RjlGRTdGOUZFN0YxNQorOjEwMDE5MDAwOUZFN0ZBN0Y5RkU3RjlGRTdGOUZFN0ZGRkM3RkJGQkZFNgorOjEwMDFBMDAwRUZGQkZFRkZCRkVGRkJCN0JGRUZGQkZFRkZCRkVGRkJCOQorOjEwMDFCMDAwRkZFMEZERjlGRTdGOUZFN0Y5RkU3RjlERjlGRTdEOUQ0MworOjEwMDFDMDAwRTdGOUZFN0Y5RkVERURGRkZERkY3RkRGRjdGREZGN0Y4RQorOjEwMDFEMDAwREZGREZGN0ZERkY3RkRGRjdGREZGRjlCRkZFRkZCRkUxNAorOjEwMDFFMDAwRkJCRkVGQkJGRUZGQUZCQkJFRkZCRkVGRkJGRUZGRkZFMgorOjEwMDFGMDAwQjdCRkRCRjZCREJGNkJEQkY2RjlCRjVCRDZGOUJGNkZGMAorOjEwMDIwMDAwREJGNkZEQkZGRjBFRkZGRkZGRkY1RkZGRjdGRkZGN0Y4NgorOjEwMDIxMDAwRjdCREZGRkZGRkZGRkZGRkZGREY5RkZGRkZGRkZFRkZCOQorOjEwMDIyMDAwRkZFRkZFRkVGRkZGNzdGRkZCRkJGRkZGRkZGRkY4M0Y0NworOjEwMDIzMDAwRkZGREZGRkZGRkZERkZGRkZGRkZGRkZGRkZGRkZGRkZEMgorOjEwMDI0MDAwRkZGRkZGRjQ3RkZGRkVGREJFRkZERkZFRkZGRkVGN0YzRQorOjEwMDI1MDAwRkZDRkZGQ0ZGRkZGRkZERkU2RkZGRjdGREZGN0REN0Y5MQorOjEwMDI2MDAwN0ZERkY3RkY3RkRGRDdGREZGN0ZERkY3RkZDREZGRjJGNworOjEwMDI3MDAwRkZGRjRGN0ZGNEZGRkZGRkU3RUZGRkZGRkZGRkZGRkZGMQorOjEwMDI4MDAwRkZGRkJCRkZFRkZGRkVGRkZGRkZFRkZGRkZFRkZGRkJGNworOjEwMDI5MDAwRkZGRkZGRkZGRkZGRkY2NUVGRkZGRjdGRkZGREVGRkZBQQorOjEwMDJBMDAwRkZGRkZFRkZGRkZGRkZGRkZGRkZGRkZFQ0ZERkZFRkZCMQorOjEwMDJCMDAwRkZGQkZGRkZGRkZGRjNGRkZGRkZGRkZGRkZGRkZGRkY1RQorOjEwMDJDMDAwRkVERkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkY1RgorOjEwMDJEMDAwRkZGRkZGRkZGRkZFQkZGRkZGRkZFMzdGRkZGRkZGRkYwQgorOjEwMDJFMDAwRkZGRkVGRUJGRkZFQkZGRkVCRkZGQzdGRkZGRkZGRUUyQgorOjEwMDJGMDAwRkZGRkZGRkZGRkZGRERGRkQ2RkZGREJGRkZGQkZGRkVBMAorOjEwMDMwMDAwRkRGRkZGRkRFRkZGRkZGRkZGRkZGRkRFRkZGRkZGRkYzMgorOjEwMDMxMDAwRkZGRkJGRkZGREZGN0ZCRkZGNUZERkZGRkZCRjc3RkY3NworOjEwMDMyMDAwRkZGRjdGRDdGRkZGRkZGRkZGQzNGRkZGRkZGRkRGRUZGMQorOjEwMDMzMDAwRkZGRkZFRkJGRkZGREZCRkZGRkZGRkZGRURGRkI3RkY4QworOjEwMDM0MDAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZCRAorOjEwMDM1MDAwRkZGRkZGQUY3RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkY3RAorOjEwMDM2MDAwRkZGRkZGRkZGRkZGRkZGRkRGQkZERkYzRkRGQkZGNUJEMworOjEwMDM3MDAwRkRGRkJGRUZGN0ZGRkY3REZGRkZGRkZGRjgzQkZGQkY3NAorOjEwMDM4MDAwNkZGRkZFRkZCRkZGRUI3REZGRUZGQkZFRkZGRkZGRkZGOQorOjEwMDM5MDAwRkZGMjdGRkNGRjNGREZFREZFRkZGRkZGRkZFRjVGRjdBOAorOjEwMDNBMDAwQjVGRkVGRkZGRkZGRTAzRjlGOUVGRkZGRUZGRkRGRkY4NworOjEwMDNCMDAwQkY1RkJGQ0ZGM0ZGRkZGRkZGRkZGRjY5QUYzM0ZERkY1RAorOjEwMDNDMDAwRkJGRkZGRkZGRkZDRkY3RkQ5RkZERkZGRkZGRkZGRjUxNAorOjEwMDNEMDAwQTNERjZFREVGRkZGQkRGRkZGRkVGRkZGRkZGRUU3RkRCOQorOjEwMDNFMDAwRkZGRkZGRjlFRkM2RkVCN0FERTVGOUZGRkZGRkNGRkY1NworOjEwMDNGMDAwRkZGRkNERkI3RkZGRkZGRkY5RjYwRkRGRUNDRjdGRkZBNQorOjEwMDQwMDAwRkI3RkZGRkZGRkZERkZGRUY5RkQ3RkZGN0ZGRkY5NUIzNQorOjEwMDQxMDAwRkY3M0RDRkQ3QkRGRkZGRkZGN0JGRkZGRjc1M0Q2RkZBMgorOjEwMDQyMDAwRkZGRkZGRDg5RkZFRkZFRjdGRUVGRkZGRkZGQkVERUQyRAorOjEwMDQzMDAwRkRGRkZFRkZGRkZCN0ZGRkUyN0ZGRjZGRDg1N0Y3RkY1NworOjEwMDQ0MDAwRkZGRkRGRkZFOEZGRkZGREZGRkZGQzdGRkZFNEZGRkI5NworOjEwMDQ1MDAwRUZGQkZFREZCN0VERkZGRURGN0ZGRkZFN0ZCN0ZGRkZBNQorOjEwMDQ2MDAwRkZGRjg5RkZGRkNGRjNGRTdGRkZFRkZGRkU3RTdGRkJFNQorOjEwMDQ3MDAwRkZGRkZGRkZGRkZGRkZGMUZGRUI3QUQ1QkY2RkRCQkU5MgorOjEwMDQ4MDAwRkRCN0Q4RjZFNUJGNkZGQkZFRjVCRDdFMDZGRkRGRjdEMworOjEwMDQ5MDAwRkJGNkZGM0ZGRkRCRkZGRjZGRkJGN0ZGRkZGRkZCRkVGRQorOjEwMDRBMDAwRjdBRkZGQjdFREVGRjdGRUZGRkZERkZGRkVGRkVGRkY1OAorOjEwMDRCMDAwRkZGRkZGQkZGN0ZDMUZFRUZCRkVCREZGN0Y1RkQ3RkQxOQorOjEwMDRDMDAwRkI0M0ZGRkZGREZGNUZGRkY3RkZGOTNGRkZDRkYzRkRBQQorOjEwMDREMDAwRjc3RUVGQTdGOUZFOEZBN0U5RjM3RTlGRkJGOEZGRkZGQQorOjEwMDRFMDAwM0ZGRDdGNUZERkZERkZGRjVGRkZGRDVGRkZGRjdGRkRFNAorOjEwMDRGMDAwN0ZGRDlGRkZFMEZGRkFGOEJFNkY5RkU2RjhCRTNGOUFEMAorOjEwMDUwMDAwRjlCRTZGOUZFMkY5RkU2RjlGRjlGRkY1RkQ3RkNGREYyOAorOjEwMDUxMDAwRkRGRDdGRkZGNUZGRkZGRkY3RjVGRDBGREJGRkQzRkZDRAorOjEwMDUyMDAwRUJGQUZGRkZCRkZGRkFGRkZGQ0JGQkZFRkZGRkVCRkE4QgorOjEwMDUzMDAwRkVGRkZGQjdGRkZGRkZGRkJGRkZERkY1RkZGRkQ3RkZBNgorOjEwMDU0MDAwRkZGRkRGRDdGNUZGN0ZGRTRGRkZGREZGN0Y3RkZGQUQ5MgorOjEwMDU1MDAwRUJGQkZGQURGRkZGRkZGRkFGRUJGQkZGRkMwREZGRkY3MgorOjEwMDU2MDAwREZEMkZERkZGRkZERjZGRkZGN0ZGRkZGMUZGRkZGRkY1NQorOjEwMDU3MDAwRkZGQjNGN0RFQjMyRkVCRjJGRUJGQUFFQkRFMEZBN0UxNAorOjEwMDU4MDAwQkZBREVCRkFGRUJGRjU3RkZGREVGRUUzRkJGRkZGRkYzMworOjEwMDU5MDAwREZFRjRGREZGRjdGREZGRkY3RkZGRkY4N0ZGRkZGRUZBQQorOjEwMDVBMDAwRkJGRkZGRkZFRkZGRkZERkVERkJERkZGQkZGRkZGRkYwNQorOjEwMDVCMDAwODFGRkZGRkZGRjNGRkZGRkZGRkZGRURERkVFRkZERkZCRgorOjEwMDVDMDAwRkZGQkZFRjdGRjkzRkRGQjdFRkZGRTg3RTlGRjdGQjM5NgorOjEwMDVEMDAwOUZGRUZFRkZBRkZERkU3RTNGRkU2N0ZGRkZGN0ZGRkZDMgorOjEwMDVFMDAwRkNGN0RGRkRGRjdGRkZGRjdGNkRGRkZGRkVGRkZGMkZBQgorOjEwMDVGMDAwRkZCRkZGRkZFRUZGQkVGRkZGRkVGRkVGRkZGRkZFRkZBRgorOjEwMDYwMDAwRUZGRkZGRkE1RkZGRkZGQkZGRkZFRkZGRkJGRUZERkZDQQorOjEwMDYxMDAwRkVGRkZCRkZGRkZGN0ZGRkZFQkZERkZGRkJGRkZGRjdEQworOjEwMDYyMDAwRkNGREZGRkZGRkZGRkY3RkZGRkZGRkZGRkZGMjdGRkZFQworOjEwMDYzMDAwRkZGRkZGN0ZGRkZGRkZGRkYzRkZGRkZGRUZGQkZGRkY2QQorOjEwMDY0MDAwRkZERkUyRkZGRkZCRkZGRkZGRkZGRkZGRkJFN0ZGRkQxOQorOjEwMDY1MDAwRkZGRkZGQkZGRkZGRkZFREVGRkRGRkZGREZEN0Y1RkQ2MgorOjEwMDY2MDAwN0Y1REZERkY3RkRGOTdGNEZEN0I1RkZGQzlGRkZCRkUzMgorOjEwMDY3MDAwRkZCRkZGNUZGRkZGRjdGRkVGRkRGRkVGRkZGRkZGRkY5NAorOjEwMDY4MDAwRkZGN0ZGRDdGRDdEN0ZGRkZGRkZGRkVGREZGN0ZERkZFOAorOjEwMDY5MDAwQkJGRkZGN0ZGRkZFRTNGRkY5RkU3RkJGRUZGQkZFRkYyNworOjEwMDZBMDAwQkZGOUZFRkY5RkVGRjlGRUZGQkZGM0RBRkYzN0NERjM4RgorOjEwMDZCMDAwN0NERjM3Q0RGMzdGMzdDREYzN0NERjM3Q0NGMzdGNUE0OAorOjEwMDZDMDAwQkRGNkZEQkY2RkRCRjZGREJGNkZERUZEQkY2RkRCRjY3NgorOjEwMDZEMDAwRkRCRjZGRkVGMTZGRUI3QURFQjdBREVCN0FERUI3QUY0MQorOjEwMDZFMDAwN0FERUI3QURFQjdBREVCN0ZGN0VGRkZFQ0RCMzZDREIxMworOjEwMDZGMDAwMzZDREIzNkNERUNEQjM2Q0RCMzZDREIzNkNERkM5QkZBQQorOjEwMDcwMDAwRjdCREVGN0E5RUE3QTlFQTdBQjdCREVBN0JERUE3QkQ1RgorOjEwMDcxMDAwQ0E3MjhEOTFGRkVGRkJGRUZGQkZFRkZCRkVGN0VGRkIxMQorOjEwMDcyMDAwRkVGRkJGRUZGQkZFRkZGRTg3RkZGNkZEQkY2RkRCRjZCMAorOjEwMDczMDAwRkRCRjZGRjZGREJGNkZEQkY2RkRCRjZGRkU0RkZGQkY2NgorOjEwMDc0MDAwRUZCQkVFRkJCRUVGQkJFRkJFRUZCQkVFRkJCRUVGQkIwNgorOjEwMDc1MDAwRUZGQzVGRkZGRkZGM0ZDRkYzRkNGRjNGQ0ZGQ0ZGM0YwRQorOjEwMDc2MDAwQ0ZGM0ZDRkYzRkNGRkQ5RkZFQkZBRkVCRkFGRUJGQUY2NQorOjEwMDc3MDAwRUJGRUJGQUZFQkZBRkVCRkFGRUJGRkUxNkZGREZGN0YxQworOjEwMDc4MDAwREZGN0ZERkY3RkRGRkRGRjdGREZGN0ZERkY3RkRGRkY4RgorOjEwMDc5MDAwN0FCRkZCRkVERkI3RURGQjdFREZCN0ZCN0VERkI3RUQ5OQorOjEwMDdBMDAwRkI3RURGQjdGRkM5RkZGRkJGRUZGQkZFRkZCRkVGRkIyNQorOjEwMDdCMDAwRkZCRkVGRkJGRUZGQkZFRUZCRkVCQkZGRkVGRkJGRUY4OQorOjEwMDdDMDAwRkJGRUZGQkZFRkZFRkZCRkVGRkJGRUZGM0ZDRkZGRTdFQworOjEwMDdEMDAwRkVGRkY1RkQ3NzVERDczNURENzdEN0Y1Q0Q3QjVERDdBRQorOjEwMDdFMDAwRjVERDc3RkUyN0ZGRkY4QkUyRjhCRTJGOEJFMkY5QUYzNgorOjEwMDdGMDAwOEJFMkY4QkUyRjhCRTJGOUZFMUZGRjVGRDdGNUZEN0Y3RQorOjEwMDgwMDAwNUZEN0Y1RkY1RkQ3RjVGRDdGNUZEN0Y1RkZGQTNGRkVCNgorOjEwMDgxMDAwQkZBRkVCRkFGRUJGQUZFQkVDQkZBRkVCRkFGRUJGQUY4MworOjEwMDgyMDAwRUJGRkZFN0ZGRDdGRkZGRkZGRkZGRkZGRkZGRkZGRkZFRgorOjEwMDgzMDAwRkZGRkZGRkZGRkZGRkZFNkZGRkFERkY3RkRGRjdGREZCMAorOjEwMDg0MDAwRjdGQ0ZGREZGN0ZERkY3RkRGRjdGREZGRjVGRkZGRkZBMQorOjEwMDg1MDAwRkZGRkZGRkZGRkZGRkJGRkZGRkZGRkZGRkZGRkZGRkZBQworOjEwMDg2MDAwRkYwMkZGRkVCRkFCRUJGQUJFQkYyM0VCREUxRkFGRUExQQorOjEwMDg3MDAwRkFGRUFGQUZFQkZEOTdGRkYzRkM3QjFGQ0ZGMUZDN0ZFMAorOjEwMDg4MDAwMUZGMUZDNzcxRkNERjFGQ0ZGMUZGRTg3RkZBRkVGRkFEMgorOjEwMDg5MDAwRkVGRkFGRUZGQUZEQkYyQkZCN0VCRkJGRUJGQkZCRkIwOQorOjEwMDhBMDAwREZGRkZCRjdGRkZGN0ZGN0Y3RkZGRERGRkVGQ0RGRkY1QQorOjEwMDhCMDAwREZGRkZERkZEQUJGRkZCQkVGRkJGOUZGQkVFRkZCRkI4NgorOjEwMDhDMDAwQkZFRkZCRkVGRkJGRUZGQkZGRjc3RkZERDdGRkZGN0YxMworOjEwMDhEMDAwRkZGRkZGRkVGN0ZGRkVGRkY3RkZGRjdGRkZGRkVDRkZDRAorOjEwMDhFMDAwRkZGRURGQkZGRkZCRkVGRkJCNjhBRTFGQUVGQkZCRkZFMworOjEwMDhGMDAwRkZCRkZGRDVGRjdGRkZGRkY3RkVGRUZGQkZFRjlGRkRBRQorOjEwMDkwMDAwN0ZGRkNCRkZGRkRGRkZGRkJCRjdCRkZGRkZGRkZGREY3NworOjEwMDkxMDAwRkZCRkZCRkZGRkZGREUzRkZGRkZGRkZGRkZBN0ZGRkY2NAorOjEwMDkyMDAwRkZGRkVGRkY3RkZCRkRGQjdGRkZGRkZGRkZDRkYzN0NCMAorOjEwMDkzMDAwRkY3RjhEN0ZGRkZGRkZGRkZCRkZGN0ZCRkVGREZGRkY0QworOjEwMDk0MDAwRkZGRkY3RkRGRjdGRkQxRkZERkZGRkZGRkZCRkRGRkY4NQorOjEwMDk1MDAwRkZGRTVDRkY2REZGN0ZBQkU3RjFGRkZEOUZGRkZGQUQ4QgorOjEwMDk2MDAwRUI3QTNGMUZGRkZGRkVCRkFGRjNERUY1RkY4RkZCREYyQworOjEwMDk3MDAwRTY3RkZGREZGM0ZERkY3RUZGRkZGRkZGRkZGREY3RjNFNQorOjEwMDk4MDAwN0ZERkY3RUZGRkY2M0Y5RkRGRkZGRkVFRkZGRkVGRkI5RAorOjEwMDk5MDAwRkZGRkY5RkJGRTRGQkZFRkJCRkY2OUFGQUZGQ0ZGM0ZBRgorOjEwMDlBMDAwRERGRkZDQkY4RkZGRkRGM0JGRUQ5RUZDQkY2RkY1RDNGNgorOjEwMDlCMDAwREZGRkRCRDZGNUVGRkRGRUZGQjlGRjFGRDJBOUFGRkZDQQorOjEwMDlDMDAwREJGN0JGRUY0NkZGRkZBREVCN0FERkVGRjdGRjdGRjcxNworOjEwMDlEMDAwOUZFREZGN0ZGRkFERUI3RkY1NkZGRkZERkJENkY0RjdEQgorOjEwMDlFMDAwRkJGOTdFN0ZGRjVGQzJGRUJGRkRGQjMzREZGOTVCRkZEQworOjEwMDlGMDAwRkZERDY3N0RDRkVGREJFQ0ZGNzdEREY3RkRGRkZGREU4RgorOjEwMEEwMDAwQTdCRkQ0OUZGRkZGQkZFRkZFRkZERkVGQkJGRkZGRUZFRQorOjEwMEExMDAwRUJGQUZGRUZCREZCRkZFMjdGRkZERkRGRjdGREJGQkJDMAorOjEwMEEyMDAwNzNGN0ZEN0ZERkRFRjdCRkVBREJGNkZGRDZGRkZGNjY3OQorOjEwMEEzMDAwRkZCRUZGQkY2QkQ5RjZERkZGRkI3RTdGQjc3RUZGRkVGOQorOjEwMEE0MDAwRkZDREZGRkU3RkZGRkNGRDNGRkJGQkY3RkZGRkZCRjY0QgorOjEwMEE1MDAwN0RGRTdGRkZGQ0ZGQjlGRkY5RkFGRUJGQUY1QkQ2RUQ2RAorOjEwMEE2MDAwQUQ3QkY2RjlCRkVGRjhGQUZFQkZGRUU2RkZGRkY3RkQzQworOjEwMEE3MDAwRkY3RkJGRUZGM0ZGRkY2RkY3RkVGRkZGRjdGREZFRjcwRQorOjEwMEE4MDAwRUZGRkZCRUZGQjdFREVGRUZGQkZGRkZFRkZGRkZCRkY4NgorOjEwMEE5MDAwRkZFRkZCNkZGQzFGRkVFN0ZGRkZGRkVGRkZEM0I0QkJEMQorOjEwMEFBMDAwRkZGRkZEQkY2RkUzRkVGRkJGRkNCRkY3Q0ZGN0ZERkYwQQorOjEwMEFCMDAwMkZERkFCRUFGRkRGRTdFQTlBQUZFRkZCRkVGRkY1M0Y4MAorOjEwMEFDMDAwRkQ3RUZGRDdGNUZCRkZGREY3RkY3RkZFRjdGREZGRDdBQworOjEwMEFEMDAwRkZENzdGRUU3RkZBNzlGRTJGOEJFNkY5RkUzRjlFRjk3NgorOjEwMEFFMDAwQkUyRjBCRTdGOUZFMkY5RkZERkZGRTdEN0Y1RkQ3RkYzNworOjEwMEFGMDAwRkY3RkZGRkRGRjdGNUY5N0ZGRkQ3RjVGRkZFM0ZGRkY0RQorOjEwMEIwMDAwRkFGRUJGQUZGQkZCRkZGRkNGRUJGRUJGQUZGRkZBRkU2RQorOjEwMEIxMDAwQkZGRjg3RkZGRkY1RkZGRkZGRkZGREZGN0ZGRkZGRkYyOQorOjEwMEIyMDAwRkJGRkZGRjVGRkZGRkUwRkZGRkRFQkZGRkZGN0ZGRUYwMgorOjEwMEIzMDAwN0JERkZFRkZGRkRGRjdGREVCN0ZERkZGNUZGRkZGRkZFOAorOjEwMEI0MDAwRkZGREJGRkY3RUZBQkZDN0RCRjdCRDNGRkJGRkY2RkYzMAorOjEwMEI1MDAwRkFBRkZGRUJGQUZFM0YyRkVBRkEzRUFEQzlCQUY2QURBNworOjEwMEI2MDAwQUZFQkZBRjZCRkZFN0ZGRkZGRkRGRkYxN0YzRkNGRjE1NgorOjEwMEI3MDAwRUZGRjdGRkZCQ0RGREZGN0RERkZFMDdGRkZGRkZFRkY2MgorOjEwMEI4MDAwRkFFQ0JCN0Y1RkZGRkJFQ0ZGRUZCN0ZGRjdGRkZGQjVCMgorOjEwMEI5MDAwRkZGRjdGRkZGRkZGRUVERjVGREZERUZGQUVFNzc3RkZFOAorOjEwMEJBMDAwRkZERkY3RkZFM0ZGRkFCQkZFRkZBRkZERkJGRUJGQUJDRQorOjEwMEJCMDAwRjlGRUZGQkY3RkJGRkVCREZFRDdGRjlGRkRGRkJFRUY2QgorOjEwMEJDMDAwRkZFRUZEQkI1QkVGRkY3RkVGRkZFRkZGN0ZGRjRGRkYxMAorOjEwMEJEMDAwRUZGQkJDRkNGRkZGRkZGRUZFRkRGQUZFRkJGRkZERjM5QgorOjEwMEJFMDAwRkJGRkY4NUZGRkZGRDdGNUZEREZFRkZGRjNEQzVGQ0UyNAorOjEwMEJGMDAwRjVCREZGRkZEN0ZGRkZGOTNGRkZERkY3RkZGRUZGRkQ2QQorOjEwMEMwMDAwRkZGQkZGRjdCOTdERkVERkZGRkZGRkZGRjk3RkZGRkU3MAorOjEwMEMxMDAwRkZGRjdGRkZGRUZGRkZGN0Y2RkZCRkYxRjhGRkZGRkZDQgorOjEwMEMyMDAwRkZFMEZGRkZGRkZGRjlGRkZGRkZGRkZGRUZFRkZGRkYxOQorOjEwMEMzMDAwOUJGQjdGRkZGRkZGQzFGRkRGRkYzRjVGRDdCRkVGQkIyNgorOjEwMEM0MDAwREVFRUZGN0ZERkZGRkVGNTdGREZGRjk5RkZGRkZBRkY5QworOjEwMEM1MDAwQkZGREVCN0FGRkI3RkVGRUZGRkZFRkZGRkZGREJGRkYxQgorOjEwMEM2MDAwOTdGRkZERjdGRjdGRjdGRkZGRkQ1RkZFRjNGOURGREY4MworOjEwMEM3MDAwRkZGRkZDRkZGRjgzRkZGRkZFRkY5RUVDRkJFRUZGOUZFRAorOjEwMEM4MDAwQkZFRkZGRkVFRDdCRkZGRkZGRjE1QUZGRkZGREZGN0M5MworOjEwMEM5MDAwNjkzQkRGRkY3RjFGREZGRkZEQkFGRkZGRkJGRjVCQkQ4RgorOjEwMENBMDAwRkZGRkZGRkZEN0I2RURFOUZGRDZCRDZGNUZGQkZGRUY5QworOjEwMENCMDAwRkY1RkZFRjY2RkZGRkZGRkZGRjdFQjdBREZGRjlGN0YxRgorOjEwMENDMDAwN0ZGRkI3RkZGRkZFREZGRjZDRkZGQkZGQkI2RkVCRkU5RAorOjEwMENEMDAwQ0NGN0E1RkE1Q0Y1NzVCQkI3REZGRTZGNUZDNUJGRkQ0RQorOjEwMENFMDAwN0JGRUZGOTVFNzI5Q0Y0RkY1OTFFRTZCREZFRkZENTRDQgorOjEwMENGMDAwRjVCREIxRkZFRkVFRkJCRUJGQUZGRURFQkQ2RkRBRjJCQQorOjEwMEQwMDAwRkZBRkJFRkZGRkZEN0VBN0ZGRjdGRkJGRUY3QkY2RkQ0NgorOjEwMEQxMDAwQkQ0QUYyODU4NUJGNUJGRUI1RkRGQUZGNEZGRkZFREZFMgorOjEwMEQyMDAwRkZFREZGQkZGRkJGN0ZGRUZGQjc2REZGRjdCRkJGRUY1OAorOjEwMEQzMDAwRkQxRkZGRkU3REZGNjdGRkZGRkYzRjdGRkVCRkZGRTc1OQorOjEwMEQ0MDAwREZFN0ZGRUY2QkZDMUZGRkJGRUZGQkZFREVCRkFGRkE3RAorOjEwMEQ1MDAwRkZCNkVGRjlGRUZGOEZFRkRCRUZBQjZGRkJGRUZGRkZBMAorOjEwMEQ2MDAwRUZGREZGN0ZGRkZGREVGRkZGRUZGRkZGRkYzRkZGNkNBOQorOjEwMEQ3MDAwRkZCRkZCRkZGRUZGRkJGRURGRkZGRkVGRkZGRkJGRkYzRAorOjEwMEQ4MDAwRkZGRUZCRkZENTdGRkZGRkVGRkJGRkZGQkZFRjQzQjU4QworOjEwMEQ5MDAwRkQ2RkNGRDZCRTNGN0ZEQkZFQzNGRkZERkZBRkVCRkI5QQorOjEwMERBMDAwRkNGRjNFRUZFOEZBQkRDREFBRkVGRTdEQ0ZGRkI3RkYwOAorOjEwMERCMDAwRjdGRkZGRkZGREZGNzVDRDUyRDdGREZCRjdEREZCRUYyMgorOjEwMERDMDAwRUJGRkZGNEZGRkJGOUZFN0Y5RkM3RjhCQzNGOUFGOEZBRQorOjEwMEREMDAwRTdFOUJFN0Y5RkU2RjlGQzVGRkZGRkY3RkRGRjdBNUY2MworOjEwMERFMDAwRDdFREZGRkZEN0ZGREQ3RkU3RkZGQ0ZGRkMzRkZGRkZGNQorOjEwMERGMDAwRkZGQkZGRkVCRkFGRkZGREZGRUZGRkVCRkZGRkZGRkZCRQorOjEwMEUwMDAwRkZGNzdGRkY3RkRGRkZGREZEN0ZGRUY3RkQ3RkRGRkY0OQorOjEwMEUxMDAwRkRGRkZGREZGQkZGRUVGRkZCRkZGN0ZERkY3QURGRjVENgorOjEwMEUyMDAwRkRGQURGRjdGQ0ZGN0ZERkJGRURGRkM5RkZERkZGQkY4QworOjEwMEUzMDAwMkZGQkZGQkNBREZGRjdGRkZGRUZEM0ZGN0RCRjZGRkZDMQorOjEwMEU0MDAwRkFGRkZFQkZBRUVBRkFCRUFEQTVFQkNFQkZBN0VCNUFFNgorOjEwMEU1MDAwREVCREFGNkJGRDU3RkZGRkY0N0YxRjdGRkRGRjdGMzZDOQorOjEwMEU2MDAwRjBERjc5RkZGRkZGRjdGREJGRkY4N0ZGRkJGM0ZDRkYxQworOjEwMEU3MDAwRkZGRkZGN0VGRkJGREZGRkZGRkZGRkZGRkRCRkY4OUYwQworOjEwMEU4MDAwRkZGRkZGRkZCRkZGRkZGREY3RkNCREZGRkVGRkZGRkYwMgorOjEwMEU5MDAwRkZGRkZCRjlCRkZGRkZFQkUyRkVGRkJGRUZBOUJBMkY5OQorOjEwMEVBMDAwRUJGOUZFNzdERkY3RkZGRkY5N0ZGRkZGN0ZFRkQ3RkY1QgorOjEwMEVCMDAwRkRGRkZCRjVGRkJGNkZERkZGRkZGREZGRkZGMEZGRkY1MworOjEwMEVDMDAwRkYzRkNGRkZCQUVFOUJCRkVFRDdGRUNERUZGRkRGQkZGOAorOjEwMEVEMDAwRkZGRkM1RkZGRkZEN0Y0RkZERjZEOUZGNEZENkZEQkZEQQorOjEwMEVFMDAwNkVGRkZGRjQ3RkZGN0Y4QkZGRkZGRkZGRjdGRkY5RkUzMQorOjEwMEVGMDAwMzdGRkQ5RkJGNUFGRkRGRkZGRkJGRkZGMDdGRkZGRkY0QworOjEwMEYwMDAwRkJGN0ZGRkRGRjdDRkE3RTRGRkNERjFEQzdGRkZGRkZGNQorOjEwMEYxMDAwRkZBRUZGRkZGRkZGRkRGQkZGRkZGRUZFRkNGRjdGN0YzRAorOjEwMEYyMDAwQkZFRkZFRkZGRkZGNUZGREZGRkZGRkZENkY1QUQ3N0JBNworOjEwMEYzMDAwQkU1RkZFMzlGRkY3RkZGN0ZERkVBQTFGRkZGRkZGRkZCMQorOjEwMEY0MDAwRkVGRUFCQUZGREZFQkZGRkY3RkY3RkZFOEZFM0ZCRUVDNAorOjEwMEY1MDAwN0ZGRkZGRkZGRkVCRkJGRkZEQkZFRkRGRkZGRkZGRkZBQgorOjEwMEY2MDAwRkZGRkZGRkJFNDNGRkZERkZGRkZGRkZGRjNFRkJCRkJGNAorOjEwMEY3MDAwQkZFRkJCRkZEN0JGRkZGRkZGMjlBRkY3RkZGRkZCRkZBRgorOjEwMEY4MDAwRkJFNkZGMEZGQjNGREYwRkZGQUZGRkZGRkZGNUMzREYwOAorOjEwMEY5MDAwNUZGRkZGRkZGRTZCQ0FCRUJDRkY5RkYyQkZGRkZFRkEwMgorOjEwMEZBMDAwRkZGRkVGMTZGRkZGRkZGRkZGRkNERjk3RkQ3OUZGMzcyNQorOjEwMEZCMDAwRTc3RkZGRkZCNUZGRkZGNjJGRkZGREZCRkVGRkZGRkQwNQorOjEwMEZDMDAwNUY1NzVGRkZEQjUyREZGRkZEQkZGRkZGRkNEQkZGN0JGNworOjEwMEZEMDAwQjVGRDdGRkY3MTlDNkVGRkY2MzVBNTlCRkZGRkZERkYwMgorOjEwMEZFMDAwRkZEQjlFN0ZGRUVGRkJGRkZGQkRFRkZGREVCN0Y5NEJBMAorOjEwMEZGMDAwRkZGNUVGRkZGRkZGRTg3RUZGRUFERkY3RkZGRDY5NUIyQworOjEwMTAwMDAwRkM5RkVGNzhENkZGRUJFRkZGRkZGRkU4RkZGRkVERkY2MAorOjEwMTAxMDAwRkZGRkZGRTNGOUY2QkZGRkZGRkVERkZGN0ZGRkZGRkZFQworOjEwMTAyMDAwRDFGRkZGRTdGRkZGRkZGRkU3RjlGRkJGN0ZEOUZGRkQxQworOjEwMTAzMDAwRkU3RkZGRkVGRkY5RkZGQkQ2REZCRkVGNUJENkZGQkZGMgorOjEwMTA0MDAwRkJGNkZGQkZFRkY4RjZEREJFRkUxNkZGQkZFRkZGRkVCQgorOjEwMTA1MDAwRkZCRkVGRkZGRkZGNkZGQkZGRkZGRjZGRjNGRkY3RUYzOAorOjEwMTA2MDAwRkJGRkJGRkZFRkZFRkZCRkZGRkZGRkJFQkZGRkVGRkZCNgorOjEwMTA3MDAwN0ZFRkZGRkQxN0ZCN0JGRkZGRkQ3RkRCRjZGNDdGRkFDMQorOjEwMTA4MDAwRkVGNUJGRUJFM0Y3RkZGRkU5QkZGRkFGRjdGREYzN0UzMAorOjEwMTA5MDAwOEZBM0VBRkZDQkYzRUVGRkJGRUZGN0Y5RkZGRTdGRkY3MQorOjEwMTBBMDAwRkZGRkZGRjVGQkY2RkZGNTJGRkVGQkQ3QkZGRkJFREYwRgorOjEwMTBCMDAwOUZGRkYwRkZGRkY5RkU3RjhGQTNGOEZFNkY5RkY5RjYwOQorOjEwMTBDMDAwMkY5RkU3RjlGRTJGOUZFMUZGRkZGRjdGREZGN0Y1RkQ4MQorOjEwMTBEMDAwN0Y3RkY1RkY5RjVGRkJGRUZGN0ZGRkZGQ0JGRkZGRkJFNworOjEwMTBFMDAwRkVGRkJGQUZGQkZFRkZERkZFRkVCRkY3RkZGRkZGRkYxMAorOjEwMTBGMDAwRkZDN0ZGRkZGREZGN0ZEREY3RkRGRkZGRDdGRkZEN0Y5MAorOjEwMTEwMDAwRkZGQkZERkZGRkZFRUY3RkZERUZGQkZFRkJGREZGN0YyMworOjEwMTExMDAwREZGREZGN0FERkY3RkRGRkZGRkZGRjFGRkZGRkQzRjdDNAorOjEwMTEyMDAwRkZGRjZGREJGRkZGRUZDQkY0RkZGRkZGRkZGRkZGRkVEMworOjEwMTEzMDAwMjlGRkU4REE3NjlGQUY2QURBRkUzNUVCREFENkJGQUI4NQorOjEwMTE0MDAwRUI3QURFQkZENzdGRkZGRUZGQkZFRkZEREY3N0JGRkQ4RQorOjEwMTE1MDAwMzdFRkZGRUZGRjNGRkZGRkZGRkU3RkZGRkZGRkY3N0U1MQorOjEwMTE2MDAwREZGRkZGRkZGQUI3N0ZGRkZGRkVGRkZGRkZGRjg5RkZGMworOjEwMTE3MDAwRkZGRkZGRkZGRkZGRkZGRkZGOUZGQkZGRkZGRkU3RkZGQgorOjEwMTE4MDAwRkZGRkZGQUFGRkFCRkJGQUVGQkZGRkRGRkE3QkI5RkU2MQorOjEwMTE5MDAwRkVGRkZERkZGN0ZFM0ZGRkI3RkZGN0VFRkY3RkVGRkYxQworOjEwMTFBMDAwRkY3RkZGMUZGQkZGQkZGQkZFRkZCREZGRkYyRkZGQkY0QQorOjEwMTFCMDAwRkY3RkRGRkFGRkZGRkNFRUY1RjNCRUZCMEZFRkYzQkVBMAorOjEwMTFDMDAwRUZGQzVGRkY1QUZGRjdERkZGRkZGRUQ1RkM1RkZCRjI4RQorOjEwMTFEMDAwRkZGRjJGQkJGM0ZGRkZCRkZGRUZGRkVGRkZGRkZGRkY5RgorOjEwMTFFMDAwQkZGRkZGRkQ3QkZGREZCOUZGRkJGRkQ4N0ZGRkZGRkZFNgorOjEwMTFGMDAwRkJGRkZDN0YxRkJGRTBERkY3RUZGRkZEN0ZGRURGRkZBMAorOjEwMTIwMDAwRTBGRkZGRkRFRkZCRkZGRUY3REZGRkVCNUZGRkY3RkYwOAorOjEwMTIxMDAwRkZGRkZGQkZGRkZERkZGREZGRkZGRkY3RkRGRjNCREMxMworOjEwMTIyMDAwRkQ2RDdCNUY1N0Y1RkQ3RjVGRkZCMUZGRUJGRkZGRkZCQworOjEwMTIzMDAwRkJGQkZFRkZCRkZCQkVGRkJGRUZGQkZFRkZBRkZFRjdGQQorOjEwMTI0MDAwREZERkZGRkZGRjdGQ0ZGM0Y4RkZEN0ZCRkY1RkJGRjdDNQorOjEwMTI1MDAwRkJGRjdGRkUyM0ZGRkZGRTdGRjNGRkZCRkVGRkZGRjM5RAorOjEwMTI2MDAwRkZGRkY1RjlGRjNGRkZGRkYwOUFGRkJFN0ZGRkZDRjk5QworOjEwMTI3MDAwRkZGREFGRUJGRUJGRkZDRkYzRkU3RkZGRkY1QkJERkZDOAorOjEwMTI4MDAwQkNFQkZGRDdENEFGQUZGREZGQ0ZGN0ZERkY3RkRGRjc5QworOjEwMTI5MDAwRkRGRUZGNkZGRkZCRkZGRkZGRkQ3RjVFRkRCRkRCRjY4NworOjEwMTJBMDAwRkRCRjZGRkJFRUZERkY3QUZGRkFGQkZGM0ZGQkI3NUY3MQorOjEwMTJCMDAwRDZGNzFGNzFEQzc3MURDNzMxREM3N0RGRjlCRkY1NUIyRgorOjEwMTJDMDAwRjRENzlEQUVGRkJGRkRCRkRCRjZGREJGNkZEQkY2RkVDMworOjEwMTJEMDAwM0Q4MUZGRUJGRUZFRkVGRkVCN0FERjdENzc3REY1Nzk0QQorOjEwMTJFMDAwREY1N0RERjU3RDdFRTZGRkQ2M0ZCRjdGRkZENEY1M0ZCQworOjEwMTJGMDAwQkZGQkJFRUZCM0VFRkI5RUVGQkJGRThCRkZGRURGQjc4NworOjEwMTMwMDAwRURGRkY3RkRGRUZGRUZCQkVFRkZCRUVGQkJFRUVCRkMyQworOjEwMTMxMDAwMUZGRkZGRkRGRkU3RkZGN0ZERkZFRkZFRkZCRkVGRkI0NgorOjEwMTMyMDAwRkVGRkJGRUJGQTFGRkZCN0VGNUJGRUZGQUZFQkRERTdBMgorOjEwMTMzMDAwREU3NzlERTc3OURFNzc5REJGRTY2RkZGRkVGRkJGRUZBQgorOjEwMTM0MDAwRkJGRUZEQkY2RkY2RkRCRjZGREJGNkZEQkZGRjdFRkY0RgorOjEwMTM1MDAwRkZGQkZFRkVGRkVGRkJGREVGN0VGN0JERUY3QkRFRjc1MQorOjEwMTM2MDAwQkRFRkZGRDVGRkJGRkZFRkZFRkZGQzNGMEZFN0ZFN0ZBNgorOjEwMTM3MDAwOUZFN0Y5RkU3RjlGRTdGRUYzRkZGRURGQURERjY3RUUzRAorOjEwMTM4MDAwRkJCRkVGRkVGRkJGRUZGQkZFRkZCRkVGRkYyM0ZGRkY0MworOjEwMTM5MDAwRkZGRjdGRkZGM0JDREJGRUZCRkZGQkJFRjdGQkZGN0YyNgorOjEwMTNBMDAwREZGRkNGRkJGRjlGRTNGOUJFM0Y4RkU3NzlGRjlERTdBQworOjEwMTNCMDAwRjlGRTdGOUZFN0Y5RkU1RkZGQ0ZGN0ZGRkZGRkRGRjc0MworOjEwMTNDMDAwRkU3RkU3RjlGRTdGRkZGRkZCRkVGRkZGQkZGRkJGQkYxMgorOjEwMTNEMDAwRkZGRUZGQkZFRkZGRkRGRkZGRkZGRkZGRkZGN0ZERkY3QQorOjEwMTNFMDAwRkYzRkZGQkZGRkY3RkZGRjdGREZGRkZGRkZGRkZGRkZCNQorOjEwMTNGMDAwRkZGRkZGRkZGRkU4RUZGRjVGRjdCRkY5RkVERkI3RkQ3RAorOjEwMTQwMDAwRkZERkY3RkRGRjdGREZGN0ZERkZEREZGRjJGRkJGRkYyRgorOjEwMTQxMDAwRkZCRkZGRkYyRkYyRkZCRjJGN0JEMkY3QkYyRkZGQkIxNgorOjEwMTQyMDAwRkZFRThGQUZFQkZBRkUzRkE3NjlDRThGQTRFQUZBRUU4QworOjEwMTQzMDAwQjdBRUVCRkRDN0ZGRjdGN0ZGRkZGRkZGRkY3RjNFRjMwMAorOjEwMTQ0MDAwNzRGRjNGNEZGRkU3RkYzRkZFQTdGRkZGREZGN0I3RkY0OAorOjEwMTQ1MDAwRjdGRkJBRUYzN0VCRkJGRUJGRkJGRUYzRkZGOURGRkY1MQorOjEwMTQ2MDAwQkZGRkZGRkZCRkZGRkZGRkZEREZGRkZERkZGRkZCRkUzNQorOjEwMTQ3MDAwRkRGRkZCQkZGRTNGRURGRkRGQkUzREE3RkJGQTNGRTZGMgorOjEwMTQ4MDAwRTFGRUZFM0ZFRkUzREZGNTdGRkVGRjdFRkZGRkZGRkZBNAorOjEwMTQ5MDAwRUY2RkY2RkY3REVGRDdERUZGN0RFRkZGRjJGRkZGRkY3RgorOjEwMTRBMDAwRkZGRkZGN0JERUZCRTZFRUVGMzc2RUYzN0VFQjM3RUYwMQorOjEwMTRCMDAwRkZDMUZGRkVGRkY3RUZGRkZGRkZCRjNGRDJERkJGMkZGMAorOjEwMTRDMDAwN0JFMkZGRkUzQkJEREJGRkZFRkZGRkZGRkZGRkVGRkUwQQorOjEwMTREMDAwRkZGQkZGRkZCRkZGRkJERkZGQkZGRkI3RkZGRkJGRUY1QworOjEwMTRFMDAwRkZGRkZGRkZGRkZGMEZGRjdGRkYxRkVGRjFGREZGRjY4NQorOjEwMTRGMDAwQUZGRkZGRkZGRkZGRUZGRkZGRkZGRTlGRkZGRkZGNzc0NQorOjEwMTUwMDAwRUZGN0ZCRkZGRTVGRkZGRkJGQ0ZGQkY3RERGN0Y1RkY1OAorOjEwMTUxMDAwNUZENUY1RkQ3RjVGRDdGNUZGRkIwRkZGRkZBOUVBN0FFNworOjEwMTUyMDAwRkZBRjhGRkVERkFGRUZGQkZFRkZCRkVGRkJERkU1NUYzRgorOjEwMTUzMDAwRkZGRkZGRkZGRkJENTdGRkZGNkY3N0JGRjdGQkZGN0Y4OQorOjEwMTU0MDAwQkZGN0ZGRkNCRkZGOUZGRkZGRUZGRkZFRkZGRkZGMUY4NworOjEwMTU1MDAwQ0ZGRkZDRkZGRkZGRkZGQjY1QUZGMzdDRkYzRkRGRkYyQgorOjEwMTU2MDAwRkRFOUZFN0ZFN0ZGRkU3RkZGRkZGRkZGRkRFM0RGRkJGRgorOjEwMTU3MDAwREJGNkZERUY1QkZCRkZERkZDRkYzRkRGRjNGREZGN0ZGMworOjEwMTU4MDAwREZFRjY2RkZERkFERUI3QURFRjdGN0U3RDlGRDlGNjdBOAorOjEwMTU5MDAwRDlGNjdEOUZFN0RGRjU0N0ZENjU1QkQ2RjRGRUZGRUZFQgorOjEwMTVBMDAwRkY2REY2RERCNzZEREI3NkRDQjc3REZBOUJGNjZEOURFMgorOjEwMTVCMDAwNjc1OURGRjdEREZGRUJGRUJGQUZFQkZBRkVCRkFGRTMyRQorOjEwMTVDMDAwRDE5RkZGQkRCRkVGRkVGN0JGQkZGN0Q3N0ZEREY3OUQxMAorOjEwMTVEMDAwREY3RkRGRjdGRkUwN0ZGREMxREZGN0ZEQzc3RjdGRkIyOAorOjEwMTVFMDAwRkZCQkVDRkIzRUZGQkZFQ0ZCRkZEODdGQkY2Q0ZGQkUzOQorOjEwMTVGMDAwRkZCRkVERkZFRkZFRkJCRkVGRkJGRUZGQkZFRUZGQzU0MgorOjEwMTYwMDAwRkZBRjZGRkZGQ0ZEM0ZFN0ZGRkVGRkVGRkJGRUZGQkZGRAorOjEwMTYxMDAwRUZGQkZFQkY4OUZFRkFCQUZFQkZBRkZCRjZGNUQ5N0Q0MAorOjEwMTYyMDAwOTc2NUQ5NzQ1RDk3NjVEM0ZFRDZGRkJGRjdGREZGN0Y0MQorOjEwMTYzMDAwQkZDRkZCRkVGRkVGRkJGRUZGQkZFRkZCRkZGNjhGRkIxNQorOjEwMTY0MDAwRkZFRkZCN0VEQkZFRkZCRUVGRUVGQkJFRUZCQkVFRkI3NAorOjEwMTY1MDAwQkVGRkZGREZGRjQzRkZGRkZCRUY1RkI3RkU3RkU3Rjk1MgorOjEwMTY2MDAwRkU3RjlGRTdGOUZFN0ZGOUJGRkVBRjc3RkRGRjJGQUY0QgorOjEwMTY3MDAwQTdGRUZGRUZGQkZFRkZCRkVGRkJGRUZGRjE3RkVGREZGQgorOjEwMTY4MDAwRkY5N0Y1RUZGRkRGRkZGRkJGRkZCRkZGRkZGRUZGRkY4RAorOjEwMTY5MDAwRkZFMEZGRkZGOUZFMkY4QkUzRjhCRTc3OUZGOURBNzdDMworOjEwMTZBMDAwOURFNzc5REU3NzlGRERGRkZERkQ3RjVGRDdGREZGN0Y0MworOjEwMTZCMDAwRTdGRTdGOTdFN0ZCRkVGRkJGRUZGRkFCRkZFRkZBRkUxMgorOjEwMTZDMDAwQkZBRkZGRkFGRkZGREZGRkZCRkZGN0ZERkY3RkRGRkY4RAorOjEwMTZEMDAwNjdGRkY3RjVGRkZGRkZERkZERkZGRkZGRkZGRkZGRkZFNgorOjEwMTZFMDAwRkZGRkZGRkZGRkVGRkZCREVCRkZGRkY3QURFQkZGREZGRQorOjEwMTZGMDAwRkRGRjNGREZGN0ZERkY3RkRGRkY1RkZGRjdGRkZGRkQzMAorOjEwMTcwMDAwQkZGRkNCRjRGRjdGRDNGN0ZEM0Y3RkQzRjdGRkZDM0Y1NQorOjEwMTcxMDAwRkZFQUZBQkVBRkFCRUJCQUY0OTU2QjUyRDRBRDJGNEFFOQorOjEwMTcyMDAwRDJGNkJGRDI3RkY3M0ZGRkZGRjM3RkZGRkZGN0ZGQkE4RAorOjEwMTczMDAwREZGQkZERkZCRkZGRkJGRkY4N0ZFQUZGRkVGRURGRkZFMQorOjEwMTc0MDAwRjdGRjdGQkJGRkZGQkZERkZCRkZGRkJGRkZCMTdGRkZFNworOjEwMTc1MDAwRkJFRkZGRkZGRkZGRkZCRkNGRkVGRkZGRUZGRkY3RkYzNgorOjEwMTc2MDAwRkZGRkYxRkY2OUJFRkFCRkFGRTJGRkZFRkRBRkYzRkU4MAorOjEwMTc3MDAwRkZCRkVGRkJGQ0ZGRkYwN0ZEOTVEQkRGN0ZERkFGRkY2OAorOjEwMTc4MDAwRjdBRjM2RkVCRjY1RUJGNkZFOUY2RkZFMDdGRkNGRkY5QworOjEwMTc5MDAwRjhGRUZGQ0ZGRkY2RkFFN0ZCRkVGRkJCRURGOUZGRkYxOAorOjEwMTdBMDAwRkY1RkZGRkZGRjc1RkZFRjdFRkRFMEU4NUVEM0U1RjkyOQorOjEwMTdCMDAwM0U1RkQ3RjdGRkZBMkZGQkZGRkZGRkZGRkVGRkZGN0YyNAorOjEwMTdDMDAwN0ZEN0Y1N0Q1RjU3RDVGNUVGRkZGMzdGRkM3RkZGQzczMAorOjEwMTdEMDAwRjFGRkZGMUZDRkIwRkYzRkNGRjNGQ0ZGM0ZDRUZGRTQ5MQorOjEwMTdFMDAwRkZERjdGRkVGN0JCRkZGRkRGRUZFRUZGQkZFRkZCRkU4QworOjEwMTdGMDAwQkZCRkVGRkZEMUZGRkZGRkZERkJGRkZERkZGQjlGRTkzOQorOjEwMTgwMDAwRkU3RjlGRTdGOUZFN0ZCRkZGQjNGRkZGRjdGRkZGQUY0QworOjEwMTgxMDAwRjdGRkI2M0ZFQkZBRkVCRkFGRUJGQUZFQkZGRUE3RkY0NgorOjEwMTgyMDAwRkZGRkZGRkZGN0ZGRkZGRkZFOUZGN0Y5RkY3RjlGRTczNworOjEwMTgzMDAwRkZGRkZFQUY2RkZGRkZGRjlGRkZERkZGN0Q1RkRERkY1RAorOjEwMTg0MDAwRkJCRkU3QkJGRkZCREY2RDVGN0VGRkZGRkZGRkZGRkYxRgorOjEwMTg1MDAwRUJGN0ZGRTdFRkY3RkZGRjdGRkZGN0ZGRkM4RkZGRUZFRgorOjEwMTg2MDAwRkRGRUZGQkVGNEYyN0REN0NGRkYzRkZGRkZGRkZGRkY3RQorOjEwMTg3MDAwRkZDRjZCRkZCRjNGRkJGMkZDN0ZFQkZGOUZGQUZGRkY0OQorOjEwMTg4MDAwM0ZGRkYzRkZGRkZENzBGN0ZGRkZCRkZGRkJEN0ZFRjU0NAorOjEwMTg5MDAwNzdGRjE1REQ3N0ZERkY3RkRGRjdGQkNEQkZGRkZERkY5NgorOjEwMThBMDAwRkZERjM3Q0RGOUVDRkVFRkJCRjRGQjNGNEZCM0ZGRkQ5RAorOjEwMThCMDAwQ0JGRkU5N0U1NDlGRTU0QkI3RkZERDdEQzc3MURENzczOAorOjEwMThDMDAwNURENzc1Q0Q3RkQ2RkZEM0Y2RjkzRjZEOTVBRjdGRkUxRgorOjEwMThEMDAwRkZFRkZCRkVGRkJGRUZGQkZFRjZDN0ZGQUQ3QkNBRkZDRQorOjEwMThFMDAwQkZCRkVGRkRFM0RGQjdFREZCN0VERjM3RURFM0ZCREZFRgorOjEwMThGMDAwRkY1MjVDMTVGRENGN0ZERkZFRUZFRkZCRkVGRkJGRUM3RAorOjEwMTkwMDAwN0JGRUZGRkUzRTdGREFGN0ZERkY3RkZGRkZGQkVGQkJCNQorOjEwMTkxMDAwNkZGQkZFRkZCRkVGRkJGRkY3N0RGRkQ4RkZGREJGN0YzMworOjEwMTkyMDAwRkJGRkZGOUZGQkZFN0Y5RkU3RjlGRTdGOUZFQTdGRjZBRAorOjEwMTkzMDAwQkZCRDZBNUFGNkU1QkY3NzVGNkRERDc3NURENzc1RERCMAorOjEwMTk0MDAwNzdGRkE1QkZDRkZCRkZGRkJGQ0ZGQkZERkZCRkYzRkVDMAorOjEwMTk1MDAwRkZCRkVGRkJGRUZGRkRBQkZGQkZCRkZGRkJGRjdGRUY1NgorOjEwMTk2MDAwRkZCRUZCRUVGQkJFRUZCQkVFRkJCRkZGQjVGRkQwQkM4NworOjEwMTk3MDAwRkQyRjRCRjdGRkZGOUZGOUZFN0Y5RkU3RjlGRTdGOUY0QgorOjEwMTk4MDAwRkE4RkZEQUJGQURBQkZBRkIzRkRGRkJGRkJGRUZGQkZCRgorOjEwMTk5MDAwRUZGQkZFRjdCRkZGOUZGRjc3RjdCREZENzdERkZGN0UxMQorOjEwMTlBMDAwREZFREJCRkVGRkJFRUZGQkZFRkZGQTNGRkZCRTZGOEYxQQorOjEwMTlCMDAwRTZGOUZFN0Y5RkM3RkU3RjlGRTdGOUZFN0Y5RkU3RkI2QgorOjEwMTlDMDAwN0ZGRjdGQ0ZGRkZERkZGRkRGRkJBRkJGRUZGRkZFRkYxRQorOjEwMTlEMDAwOUZFRkZCRkZGQ0ZGRkJGRUZGRkZGRkZGRkVGRkZGRjc5QworOjEwMTlFMDAwRkZGRkZGRkZGRkZGRkZGRkZGRjVGRkZGRkYzRkRGRjdGOQorOjEwMTlGMDAwRkZGRjdGRUZGRUZGQkZGRkZCRkZGRkJGRUZGRkIzN0ZFOAorOjEwMUEwMDAwRkY3QjVFRjdGREZGN0I3RkY3RkY3RkRGRjdGREZGN0Y0QgorOjEwMUExMDAwREZGN0ZGMTdGRkZGRkY3RkZGRkZEREY2RkNCRkNCRjIxNQorOjEwMUEyMDAwQkNCRjJGQ0JGMkZDQkZGRThGRkZGQTdFQkZBN0VCREE2NQorOjEwMUEzMDAwRkNCRkFGN0FGRUJGQUZFQUZBRkVCRkFGRjRERkZFRkYzNgorOjEwMUE0MDAwRjMzQzdGM0VGRkNGRjhCRjhGRTNGOEZFM0Y4RkU3RTgyMAorOjEwMUE1MDAwRkZGQzlGRkZGRkNGRUJCM0U3RkI3QkYzRkVGRkNGREI4QQorOjEwMUE2MDAwRkJGQkJGNkY2RkRGRUM3RkZGRkZGN0ZERkRGRkZGRkZBRAorOjEwMUE3MDAwRkZCMkJGRkZERUZEQkRFRkZCRjZERkVBRTdEQkZFQkIzQgorOjEwMUE4MDAwRkZFQkZCQkY5RjhGRThGRTNGOEZBM0Y4RkUzRjhGRkY2QQorOjEwMUE5MDAwRjg3RUZERkQ3RkZGRkJDREZGRkRGRjVGRUZGREZGRkY0QworOjEwMUFBMDAwREZGN0ZERkZCRTkwRkZGRkVFRkYzRkJGRjNCQkZFQjdDQQorOjEwMUFCMDAwQUJGQUZFQUZBREVBRkFERUFCRkY2M0ZGRkVGMkZGQjNCNworOjEwMUFDMDAwRkZERkVFN0RGRjAzRjFGNDNGMUZDM0YxRUM3RkZFNkZGQworOjEwMUFEMDAwRkZGQkZCRkY5RkZGQkZGRjdCNUZGREZGREZGN0ZERkQxMAorOjEwMUFFMDAwN0Y3RkRGRkVDRkZCRkZGRkFGRkJGRjFGRUZBNUZEQkYzQgorOjEwMUFGMDAwREZGQjdERkZCRkRGRkJGRkZEM0JGRkZGRkZGRkZGRkRDOAorOjEwMUIwMDAwQUZGM0ZGRkI3RkJGRDdGQkJGN0ZCQkY3RkZGODdGRkZDNAorOjEwMUIxMDAwRkE1RkQ3RkZERjdGRUZGRkZGN0ZEQkY3RkRGRjdGREZBMAorOjEwMUIyMDAwQjdGQkVDRkZGRkY3QkZFRkZERkNGQkZGRUZGMEZFM0Y2NQorOjEwMUIzMDAwOEZFM0Y4RkUzRjhGRUY4REZGRkZFRjdGQkZGRkZCRkZDRgorOjEwMUI0MDAwREJCRkZGRkZGRkZGRkZGRkZGRkZGRkVGRDhGRjJFN0Y5MQorOjEwMUI1MDAwQkVFRkZFNkVGRkJGRjlGRkZGRjNGRkZGRkZGRkZGRkZDQQorOjEwMUI2MDAwRkM2NkJFNDdGMzdGREZGRTg3OUZGRkZGRkZGRkU3RkZCNworOjEwMUI3MDAwRkZGRkZGRkZGRkQ2NkY3Q0ZCNEZEMkZGRkQyQkZFRkY2OQorOjEwMUI4MDAwRkZGRDVGRDdENUY1N0RGRkZGRkZCRjlCRkZGRkRGQjdGMQorOjEwMUI5MDAwRkZGRkRGRkYzRkNGRkU3RkJGRUZGQkZDRkYzRkZGRDkyMworOjEwMUJBMDAwQkZGRTk3RUM4RkI3RkU5QjdERkRCN0RENzcxREM3NzEzQworOjEwMUJCMDAwREQ3NzVERDdGMzZGRkQzRjczRERBRkZEN0FGRkZGQUZEQworOjEwMUJDMDAwRkVGREJGRUZGQkZFRkZCRkVGNjY3RkZGRkZCRkJGRkY2NgorOjEwMUJEMDAwRkJGRkY3REZGREZCN0RERkI3Q0RGMzdDNUYzRjkxM0Y4MAorOjEwMUJFMDAwRkYzREVGN0JGRkZDRkZDQUVGRkVGRkJERUZGQjFFRTdGMworOjEwMUJGMDAwQkJFQzdGQjNGRkZEOUZGRkZGRkVGRkZGN0ZCRkZCRkU0MAorOjEwMUMwMDAwRkZCRkVGRkJFRUZCQkZERjY3RkZGRkJGRUZEQkZGQkNGQworOjEwMUMxMDAwRkU3RkZCRkY5RkVGRjlGRTdGOUZFN0Y5RkU4N0ZGRUU1OAorOjEwMUMyMDAwRkJCRUU1QkZFRkY5RDc2NUY3RERFNzdEREY3NzVERDc3MQorOjEwMUMzMDAwN0ZGODlCRkVGRkJGRUZGQkZGRkZCRkVGRkJGRjdGQ0ZGOAorOjEwMUM0MDAwRjNGQ0ZGQkZFRkZGREIzRkVGRkJGRUZGREZGRkZFRkIyMQorOjEwMUM1MDAwQkJFRkJGRUZCQkVFRkJCRUVGQkJGRkZDN0ZGRDNCNUIxMworOjEwMUM2MDAwRDZFNUZENEZDM0ZCRkZCRkVGRkJGRUZGQkZFRkZCRkY2MgorOjEwMUM3MDAwQjRGRkZBQkM4RkIyRTlEMjJFQ0ZGQkZGQkZFRkZCRkU2MQorOjEwMUM4MDAwRkZCRkVGRkJGRkVDRkZGREZEN0ZERkY3RTRERjVGRkY1MgorOjEwMUM5MDAwRkZGQkZGRkZGRkZGRkZGRkZGRkZDM0ZGRUZFNkY4RkVDNQorOjEwMUNBMDAwM0Y4QjgzRjlGRTdGRTdGOUZFN0Y5RkU3RjlGRTdGMTcwMQorOjEwMUNCMDAwRkRGRkZGRkY3RjVGRjcyQ0ZGRkZGRkZFN0ZGRkU3RjlEMAorOjEwMUNDMDAwRkU3RjlGRkUyRkZGRkZFRkZGRkVCRkVGQURGRkZGN0YwOQorOjEwMUNEMDAwRkZGRkZGRkZGRkZGRkZGRkZFREZGRkRGRkZGREZEN0ZEOQorOjEwMUNFMDAwREZGN0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQTNGRkVGMgorOjEwMUNGMDAwRjdGREVGN0FGRkIxQkRGRjdGRjdGREZGN0ZERkY3RkQ1NworOjEwMUQwMDAwRkY3RkYzMjdGRkRGRkZEREZGRkM5QkZGQ0JGQ0JGMkYzNworOjEwMUQxMDAwQ0JGMkZDQkYyRkM5RkZERUZGREZBRkVCREFGRUJCQUZCQworOjEwMUQyMDAwRUJGOEY3QUZFOEZBRkVCRkFGRUJGMkZGRkRGRkZGRUYxNgorOjEwMUQzMDAwQkREN0JGRkZGRkRFOEZCOERFMzc4REEzNzhEQTNGOEZDOAorOjEwMUQ0MDAwRkZBMUZGRkZGQkZCRkZGRkZGRkZBN0JERkI3NkZEQkY3MgorOjEwMUQ1MDAwRUZEQkZFQkJCRkZFMjc3RkZGRkVGRUZERjVGRkVGRjVDRAorOjEwMUQ2MDAwREYxRkU3RkRGRjdGREZGN0ZERkZGRkNERkRBRUZGRkFEMQorOjEwMUQ3MDAwM0UzRkFCRkRGODdFOEZFM0Y4RkUzRThGRTNGOEZGRkVCQgorOjEwMUQ4MDAwMUZFRkRGQkZGRURFREZEOUZGREZCQ0ZGRkY3RkZGRUYwRQorOjEwMUQ5MDAwRkQ3RkRGRjdGOTNGRkVGRkZGNkZGRURFQkZGN0VERUFFNQorOjEwMURBMDAwRkQ4RjgzRjhFQTNGOEZFRkZGRjQ3RkZGRUZFRjdCRjNDOAorOjEwMURCMDAwRjE1RkZGRkZGMTNCN0ZERkY3RkRGRkZGRkZGRkUwRkY3QworOjEwMURDMDAwRkZGRkY3RkY2RkZGN0ZGRkZGRjdERUY3QkZFRkZCRjdDOAorOjEwMUREMDAwRkRGRkZGRjVGQUZGRkZGQkU3RkZGM0Y4N0ZGM0RGRkZGRgorOjEwMURFMDAwRkZGRkZGRkZGRkZGMUZFRkJCRkZGRkZGRkZGRkZGRkQzOQorOjEwMURGMDAwRkY3RkZGOUZGRkZGRkZGRkZGRkZGRkNGRkYzN0ZGRkZDQgorOjEwMUUwMDAwN0ZERjc3NURFN0ZDRkZCRkY3RjVGQkZGRkZEN0Y1RkI1MworOjEwMUUxMDAwRkZGRjQ1RkQ3RkVBRkRCRUJGREZGN0ZGRkZEQkZCRkVGNworOjEwMUUyMDAwRkZCRkVGRkZGRkZGRkI1RjdGRkZGRUZGRkZGRkZGRkYzNworOjEwMUUzMDAwRkZGRUZGRUZGREZGN0ZERkZGRUZGQkY4MEZGM0ZGRjk4MgorOjEwMUU0MDAwMkVGQkZFRkNGM0VGRkZGRkJGRkZGQkU3RkZGRTdFRkY3NQorOjEwMUU1MDAwQzA2QkNGRkYzNERGRjFGREZGRUZGRkZGRkZERkY3RkRDQQorOjEwMUU2MDAwQ0Y3RjlDRkRGRDZDRjdGRkY2RkRFQjJCOUZGRkZDRkU4QgorOjEwMUU3MDAwN0VGRkZGRkZGRkQ3RjNGN0ZGRkJFMUJGRkZFQjdBREU0QgorOjEwMUU4MDAwRDdGQkZGRjlGRUZGRkZGM0RFN0ZGREU3N0ZGRkZEQkIyMgorOjEwMUU5MDAwRkZGRjdFQ0NGNkFGNUY3RkZFRjQ3REY3RkRCQjZFREIxMAorOjEwMUVBMDAwQjdGRkY3REY2NkZGRkZGNzNEQ0ZERUJERkZGRkRFREJFRAorOjEwMUVCMDAwOERGNzdFREZCN0VGN0ZGRkY2ODdGRkZGRUZGRURFQkYxOAorOjEwMUVDMDAwRkZGRkZGQkJFRkZERkY3QkRFRjczRkZGQkZGQkRCRkY0RAorOjEwMUVEMDAwRjJCNkZEQkQ3RkU3RkZGRkZGNkZGN0ZGRkZGRkZFNzc2NQorOjEwMUVFMDAwRkZCRkY4QUZGRkRGQkZGRkJGN0ZGQkZGRkZGRkRCRkVFMgorOjEwMUVGMDAwRkZCRkZGRkFGRkZERkZGNjdGRkY5RkZGRkYzRkVGRjhGOQorOjEwMUYwMDAwRUU3RTlGQkFGRUJGOEZFRkZFRkVGOUZGRkE3RkZFN0VFOAorOjEwMUYxMDAwQkZBRkZCOTZGRDlGRUY1RTY1QkVFRjVCQjZGRkJFRTMxNgorOjEwMUYyMDAwRkZCNUJGRkZGREZGN0ZGRkVGREZGRUZGQkZGQkZFRkY0MworOjEwMUYzMDAwQkZDRkZGRkZGRkZEOUJGRkZFRkJGRURGRkY3RkZGRjczNQorOjEwMUY0MDAwRkVGRkRGRkJGQkZFRkZGRkZGRkZGRkI3RkVGQUZGQUI2RAorOjEwMUY1MDAwRUZGRkZEQjU3QjdGRkJGN0ZERkZGRkRERkZFRjhGRkZBMQorOjEwMUY2MDAwMkZGRkZCN0NGRjNGREY3M0VCRkUzRkZGRUZGQkZFRkYyRQorOjEwMUY3MDAwRUZGREZGQkZGRDBGRkZGRkZGRjVGOUZGN0ZEN0ZERkY2RgorOjEwMUY4MDAwREZGRkY3RkJGRjdGQkZGRkZGRjA5RkZGRkU3RjhCRTNDRAorOjEwMUY5MDAwRjlERTI3OUJFNkJFN0Y5QkMzRjhERTdGOURFN0ZFN0ZEMQorOjEwMUZBMDAwRkZGRjVGRDdGRkZGRkY0RkZCRkZGRjdGRkZBRkZGOUZFRAorOjEwMUZCMDAwN0ZGQkZGRThGRkZGRkVCRkFGRkZGRkZFQkZFRkY3RkZCNgorOjEwMUZDMDAwQkZGRkZGRkZGRkZGRjdGRkZDRkZGRkZEN0ZGRkZGRkZFRQorOjEwMUZEMDAwRkQzRkNGRkZGRkZGRkZGN0ZGRkQ3RkZGRkY5M0ZGRkZGOQorOjEwMUZFMDAwN0FERkY3RkZGRjdCN0ZCN0VGRkZGRkZEQkZGREZCRkY1MgorOjEwMUZGMDAwRjdGRkQ3RkZGRkZGRkM5RjZGQ0JGRkY0QkJERkQ2RkRFMgorOjEwMjAwMDAwQkYyRkQzRjdGRkRGRkZDRkZGRkFCRUJEQUY2QURBQkU0NworOjEwMjAxMDAwQkJBQjNBQkUyREFFRUJEQUY2M0ZBREY1RERGRkNGRjE0RgorOjEwMjAyMDAwRkZGOTdGRkY3M0ZFRkZDRkMzRjRGNzJGRjNGRkZDRkYzMQorOjEwMjAzMDAwN0MxRkZGM0Y0RkZGN0VGRkVGQkRGNkZFRkYyQkVGREM2NworOjEwMjA0MDAwRkJGREZGRkJGRkVBN0JGRkZGRkZGRkZGRkJGN0RGRkY2RgorOjEwMjA1MDAwRTM3REZGQjdGRkJGRkZGRkRGRkZGOEZGQkZGRkJGRUI3MQorOjEwMjA2MDAwRTdGQUZFM0RCRkU5RkNCRkZGRkFGQkZFRkZGRkZGRDkyOQorOjEwMjA3MDAwRkZGRkZGRjY3RkZGRjY3REZGREZDRkZEQkZGQkVGN0VBQgorOjEwMjA4MDAwRkY3RkZGRkZEM0ZGRkRGQkZGRkJGRkZGRkZFRkZGQkY2NgorOjEwMjA5MDAwRkVGRkY3RUZGRkZGRkZGQkZGODdGRkZERkZGRkZGRkZFNworOjEwMjBBMDAwN0JGRUZGRkUzQkY3RjdGRjNGRkZGRkZGRkZGRjBGRkY0QQorOjEwMjBCMDAwRkZGRkZGRkJGRkZGRkZGN0ZGRkZBREZGRkVGN0ZGRkY5NworOjEwMjBDMDAwNUZGRkZGREZGRkZERkZGNUZGREZGRkJERkZFOUZGQzc5QworOjEwMjBEMDAwRjNGRkZGRjdGRkYzRkZGODNCRkZGRjdCREZCRkZCRUZGMworOjEwMjBFMDAwRkJGRkZCRjdGN0JCRkZGRkZGRkZGQkZGRkU3RkYzN0Y2RAorOjEwMjBGMDAwNUVCN0JGRkQ3RkZGRjk3RkZCRkZFQkZEN0Y3RkZGRUY0QgorOjEwMjEwMDAwRkJFMDNGRkVCRkJGREZGRjdFRkZGN0ZGRkZGRUJGRkYyRAorOjEwMjExMDAwREI3OEZGRkZGRkVFQTFCRkY1REVGQkY3RkZGQkZGRkY2NAorOjEwMjEyMDAwRkZGRkZCRkZGRkQ3RkZGRkZGRkZFRkYwRkZGRkZGRjMxNgorOjEwMjEzMDAwRjdGRkVGRkZFN0NGRkZGQkZGRUZGRkZGOUY5RkVGRkNGNgorOjEwMjE0MDAwMTZCRkZFRjNFNEZGRkZDNkZGRTdGRkZGRkRGRkJGRkY4MworOjEwMjE1MDAwRkYzRkZGQkZENkFGN0ZGRTZCN0U3RkZGQUZGRkZGQkZBRQorOjEwMjE2MDAwRkY1RkZGRkVGRkZGRkVGRkZGQkREQkZGRkU1RkYyRkYzNQorOjEwMjE3MDAwRkY1RkZGRkZGRkZGRkZGRkVGN0ZGRkZGRkZGRkRFQkYwMAorOjEwMjE4MDAwRkZGRkVGRkI3N0ZFQkQ3RjVGRkZGRkZGREY2RkVERkYyMAorOjEwMjE5MDAwRkRGRjdGRkQ2RkZGRkY3N0RBQ0ZGRDVGRkZCRkZGRkYyMgorOjEwMjFBMDAwREY3RkZGRkJGRkZGRkZGRjY2N0ZGRkZFQkZFN0JGRkE5QQorOjEwMjFCMDAwRkZGRUZGRkZGRkRGRkY1OUVGRkZFRkZCN0Y4OUZGRkYxMAorOjEwMjFDMDAwRTlGRjZGRkZGNUZGRkZGRkZGRkY3RkYyRjdGRkZGRUY3NAorOjEwMjFEMDAwRjg3RkZCRkZGREZGRkZEOUZGRUZCQkZGRkZGRkJGRUY2NgorOjEwMjFFMDAwREVGRkZGOUY3RkRGRkZGN0ZGRkZGRkZGREZGRkZGQUY5OAorOjEwMjFGMDAwRkZGRkY3M0ZFQjlGRkU3RjlFN0Y5RkZFODdGRkVEREI5QworOjEwMjIwMDAwNTZGRkJGQUYwQkQyRkZFRkRCNkU3REJENkZGOEZFM0YxOQorOjEwMjIxMDAwRkE1QkZGRkRCRkVGRkZCRjZGREJFNkZGRkYzRkZGREZCNgorOjEwMjIyMDAwRkVGRkZGRkZGRkRBM0ZGRkZCRkVGRUZGRkZERkY3QkQxNAorOjEwMjIzMDAwRkZGREZGRkVGRkZCRkZGRkZGRkZGMTVGRkQ5RkRGRkRFNworOjEwMjI0MDAwRkZGRDdGRkZGRkZGRkY3NkZBRkZGRjdGRTNGOEZGQUVBMgorOjEwMjI1MDAwRkZGQjdFOUQ3M0ZGRkE3RkRGRkZGRjdGRkZGQkNERkY1QworOjEwMjI2MDAwN0ZFRkZCRkZGREZGRjc3RjdGRUZGRkVERkZGRkZGQjU4OAorOjEwMjI3MDAwRkZCRkZGQkZGREVGREJGN0ZGOTNGRkVGRTJGOUJFN0Y4QworOjEwMjI4MDAwOEJFN0Y5RkU2QkU3RjlGRTdGOUZFN0Y5RkU3RjQ3RkZEQgorOjEwMjI5MDAwRkZGREZGOUZGRkQ3RkZGRkZGRkZGNUZGOUZGRkY3RkU0QgorOjEwMjJBMDAwRkZCRkZFNkZGRkZGRkJGRkZGRkZBRkZGRkZGRjdGRkJFNworOjEwMjJCMDAwRkZGRUZGRkZGRkZGRkZGRERGRkZGRkY3RkZGRkZGREY3OQorOjEwMjJDMDAwRkZGRkZGNUZGRkZGRkZGRjVGRkJGRUZGRjgzN0ZGRkYzMgorOjEwMjJEMDAwRUZGRjdGRkVCRkZGRkZGRUJGRkZGRjdGRkZCRkZERkZFMgorOjEwMjJFMDAwN0ZGQTdGRkZGRjZGRkZGRjdERkZDRkZGRkZGRjRGRkZGNQorOjEwMjJGMDAwRjJGRkZGRkZGRkZGRkFCRkZGQUVFQkZBRkVCQkFERUI1NQorOjEwMjMwMDAwRkFGN0FGNkJGQUY2QkYyNUU5RjI3RjQ1RkZGRkZERjc1RAorOjEwMjMxMDAwRjdCRkZGREZGRkZGQkZGQkZGREZGM0ZGRjczRkNGRkY5RAorOjEwMjMyMDAwQTFGRkZGQkZFN0ZGRkY3RkZGM0RGRkZGRkZGN0ZGMkY4RAorOjEwMjMzMDAwRkZGQkY1N0ZGRTU3RkZGRkZGRkZGRkZGRkZGRkZGRjdFQworOjEwMjM0MDAwM0ZGRkZFRkZGRkZGRkRGRUY3RUVBRkZFRUVFN0ZBRkZGOQorOjEwMjM1MDAwRkU5REY5NUVGRUZGRUJGRkZGREZBN0ZGRkZGRkZDREI0QgorOjEwMjM2MDAwRkZGRkZGN0VGQkZGRkZFRkZCRkRGRkRCRkZGRkZGRUY0QworOjEwMjM3MDAwRkZGRkZGRkRCRkZFQkZGRjZGN0ZGRkY3RkZGRkY5RkYwRQorOjEwMjM4MDAwRjdGRkJGREVGN0ZGRkZGRkZBN0ZGREJGNUZGRkZGQkY3NQorOjEwMjM5MDAwRkZFREZGRjdCRkZGRkZFRkZGREZGRkZGRkZFNkZGRkJGNAorOjEwMjNBMDAwN0ZGRkZGRkZGRkZGRjdGRkZGRkZGRkZGRkZGRkVCRkZEOQorOjEwMjNCMDAwRkRGRkY1RkZGNjdGREZCRENGRkZGRkZGRkZERkZGRkY3NAorOjEwMjNDMDAwRkZGOUZGRkZGRkZGRkZFM0ZGRUVCRkZGN0RFRkZFRkYyMworOjEwMjNEMDAwRkZGRkJGRkZGRkZGRkZGRUZGRkZGRkZGRTdGRkI1QUUwMQorOjEwMjNFMDAwRkZGRkI2RkVCRkZGRkZCRkZGRkZGRkZGRkZGRkZGRkZDNworOjEwMjNGMDAwRkYyN0ZGRUZGRTdGREZGRjdFRkZGRkZGRkZGRkZGRkZGNworOjEwMjQwMDAwRkZGRkZERkZGN0Y5OUZGRjVGRkZGRkZGRkZGRkZGN0Y2QworOjEwMjQxMDAwRkZGRkZFRkZGRkZGRkZGRkZGRkZGRjBGRkZFN0JGRkUxNgorOjEwMjQyMDAwRkZCRkZGRkZGRkZGRkNCRkZGRkZGRUZGRkZGRkZGQzQ3QgorOjEwMjQzMDAwNkJGRjI5MUZGQkFGRkZGRkZGRkZGRkVGMUJGRUZGRkM0MgorOjEwMjQ0MDAwNkZGRkZGRkQ2QUY3RDdGNUJGRkZGRUZGRkZGRkZGRkYzRQorOjEwMjQ1MDAwRkVCRkZGRkZGQUZGRkZGN0ZCRERCRkZGRTdGRkZGRkY1OAorOjEwMjQ2MDAwRkZGRkZGRkZGRkZEN0ZGRkZGRjVGRkZGRjdGREIzRUY2RQorOjEwMjQ3MDAwRkQ3RTVERkZGREZGRkZGRkZEN0ZEMkY1RkI3RUNCQjc0RAorOjEwMjQ4MDAwRkZGRkZGQzZGRkZERUU2M0ZGRkZGRkZGRkZGNkZENjVFOQorOjEwMjQ5MDAwNUJERkZGRDVGRkZGRkZGNkU3QkZGN0E5RkZGRkVERkYwQgorOjEwMjRBMDAwRkZGRkZGRkZFQkZGRkZGRkFGRkZGRkZGRjgxQkZGRTNBNworOjEwMjRCMDAwRDBCRkZGRTFGRkZGRkZGRkZGRDdGRkZGRkY1RkZGRkY4MQorOjEwMjRDMDAwRkZGRkFGRkZEQjc2QkZGRjdGRkZCRkVGRkVGRkJGRUY3QQorOjEwMjREMDAwRkJGRUZGRkZGRkJGRjI3RkZGOUZGRUJERkU3RkZGRkYwMgorOjEwMjRFMDAwRkZGRkZGRkZGRkZGRkZGRkZGRjczRkVDN0ZGNjk1QkIwRQorOjEwMjRGMDAwRUZGOEZFRkNCRjJGREFGQ0JGMkZDQkYyRkNCRkVGRkZFMworOjEwMjUwMDAwQTlCRkNGRkJGRkZGRkZGRUREQjc2REY2RDlCNjZEOUIxMAorOjEwMjUxMDAwNzZEOUJGRkJGREEzRkZCRkVGRkZFRkZGRkZGRjdGREYxQworOjEwMjUyMDAwRkRFRjdCREVGN0ZERUY3RkZGRkYwNUZGRkFGRTdGRUY5QworOjEwMjUzMDAwRTNGRkZGRkQ3RkZGRkZGRkZGNUZGRkZGRkQ3RkZCQUZCRgorOjEwMjU0MDAwRkY2M0M4RkZCRkVGRkZGRkZBN0ZGRkZGRkZGRTlGRjdBQworOjEwMjU1MDAwRkZGQUJGRkU5RkZCN0ZGRkZGRUZEN0ZGRkZGNUZGRkZGNworOjEwMjU2MDAwRkZGRkZEN0ZGRkZGQkZGRkY5QkZGRkJFMjc5RkU3RjkxQQorOjEwMjU3MDAwRkU3RjhCRTdGRTdGOUZFMkY5RkU3RjlGRTdGMTdGRkYwMworOjEwMjU4MDAwRkZGRkZCRkVGRkZGRkZEN0ZGRkZGRkZGRjVGRkZGRkY5MgorOjEwMjU5MDAwRDdGRkZBRkZGRUZGRkZGRkZERkZGRkZGQUZGN0ZGRkZEMworOjEwMjVBMDAwRkZFQkZGRkZGRkFGRkZDNEZGRjdGRkZGRUZGRkZGRkZGMgorOjEwMjVCMDAwRkY1RkZGRkZGRkZGRDdGRkZGRkZGRkZGRUJGRkZCN0E5MAorOjEwMjVDMDAwREZGN0ZERkZGRkZFQkZGRkZGN0ZGRkFGRkZGRkZGRjc1RQorOjEwMjVEMDAwRUZFM0ZGREREMkZGREZGRkZGRjJGQ0JGQ0JGNkZEQkY3NQorOjEwMjVFMDAwMkZDQkZGN0ZERkRFQUZGRkRBRUVCRkFGRTlGQUY0QkQzRQorOjEwMjVGMDAwQUY1QUFFQkJBQjZCREFERUJGQURENzVFRkZGRkJGRkM0MQorOjEwMjYwMDAwRkZERkZERkZGRkZGRkZERkY3RkZGRkZGRkZGREZGRkEyQgorOjEwMjYxMDAwMUZGRkZFRkJFRkJGRkRGRkZEQkQ3N0ZGRkZGRkZGOUQyRgorOjEwMjYyMDAwRUZGRkZGRkZFRjdERkZGQkZFRUZGRkZGRkZGRkZGRjc3OQorOjEwMjYzMDAwRkZGRkZGRkZGRkZGRkZFRUJGRTRGQkZGRkUzRkZFRkZEQworOjEwMjY0MDAwRkZGRkZGQUZFQUZFQkZBRkVCRkFGRUZGRkZGRjU1RjY1RAorOjEwMjY1MDAwRkZGRUY3RkY3RkZGRUJGNzVGQzVGRDdGNUZEN0Y1RkY1RAorOjEwMjY2MDAwNkZGQkZGOEFGRkZGRkZGRkVCRkZGRkZGRkZGQkJGQkYxQgorOjEwMjY3MDAwRUZGQkZGRkZGRkZGRkJGRjc3REZGQkZGRkQ3RkVGRkZDMAorOjEwMjY4MDAwRkZGRkJGN0ZGRkRGQkZGRkZCRkZGRkZGRkVFRkRGRkZBRgorOjEwMjY5MDAwRkVGRjlGRUY3REZGRjdGRjdGRkZGRkRGRjdGREZGRUZGRgorOjEwMjZBMDAwREZGRkRGRkZGRkZGRkZGRkZGRkZGRkZGRkRGRkZGRkI4MAorOjEwMjZCMDAwRkRGRkJGREZEMUZGRjgzQkZGRkZGRkZGRkZGRkZGRkY4NQorOjEwMjZDMDAwN0VEQkZERkY3N0RCQjc3REJGRkJGRkY4N0ZFRDdCNUUzOQorOjEwMjZEMDAwRkZGRUZGRkY0RkQ3RkQ3RkRGRDdGNUZGN0ZGRkZGRkYzNworOjEwMjZFMDAwRjIzRkZFRkZCRkZGRkZGRkZGQkZFRkZFRkYzQkVFRkYyRQorOjEwMjZGMDAwRkNFRkZGRkZGRjg1RkZGREZFRkZGNUZGRkZGRUZGREZBNQorOjEwMjcwMDAwRkJGRjVGQkZGRkZERkZGRkZGRkZBOEZGRkY5RjlFRkZENworOjEwMjcxMDAwRkZGRjdGRjNGRkZGQ0ZGRkY3RkRGRjdGRkZGRkZDMTZGQgorOjEwMjcyMDAwQkZDRkEzRTVFRjdGRkZGM0U0RkZDRjkzRkNGRjNGQ0ZFNQorOjEwMjczMDAwRkZGRkZGRDYwRjdEQkY2RUZCRjRGQ0FGNkREQjc3QjdGRAorOjEwMjc0MDAwNkREQkY2RkRCRkZGRkZGRkJGOUJGQURFQjdCN0VERjkwQworOjEwMjc1MDAwN0VCN0FDRUJENkIzQURFQjdBREZGRkZGRkZEOEJGRkZBMAorOjEwMjc2MDAwQjdFRDlGNkZEREY3NjhEQjM3QjM2Q0RCMzZDREIzN0YzQQorOjEwMjc3MDAwRkY3RkY1NkZGREVGNzkzREY3OTNFNDdBOUVBREVBN0EzRQorOjEwMjc4MDAwOUVGN0JERUZGRkZGRkY3NjdGRkJDNkZGQkJFRkRBRkVENAorOjEwMjc5MDAwRkRCRkZCRkVGRkJGRUZGQkZGRkZGQkZGQTVGRkZEQUI5OAorOjEwMjdBMDAwNkY3OERFMTc4Rjc5REZGREZGN0ZERkY3RkRGRkZGRkIxRgorOjEwMjdCMDAwRkZGQkZGRUZGQkVGRkJGRUZGQkJEQUYzRUYzQkNFRjNEQworOjEwMjdDMDAwQkNFRjNGQ0ZERkZGQjdGRkZGRkZDRjczRkZCRkVGRkZEMAorOjEwMjdEMDAwRjNGRjNGQ0ZGM0ZDRkYzRENGOUZGRTA3RkZBRkVCRkVDNAorOjEwMjdFMDAwRkRCRkVGRUJGQUZGQUZFQkZBRkVCRkFGRkJGRTNGRkIyNworOjEwMjdGMDAwOUJGRjdGREZGRkYzRkVGRkRFRjdCRjdCREVGN0JERUY2MgorOjEwMjgwMDAwN0JGRUZGRkZERjNGRkVGRkI3RkZFRkY3RkZCRkVERkVGMQorOjEwMjgxMDAwREZCN0VERkI3RURGRkZGRkZGRkQ1RkVGRUJGQUZFRjVCRAorOjEwMjgyMDAwQkY2RkZGRkZGRkZGRkZGRkZGRkZGRkZFRjhGRkE4RkZFNworOjEwMjgzMDAwRkZCRkVGRkI2QUZCQjdFRkZCRkZCRkVGRkJGRUZGQkY4NgorOjEwMjg0MDAwRUZGQkZGRTBGRkZGRkQ3RjVDRDc3RERGRjM1Q0Y1Q0RBNQorOjEwMjg1MDAwNzM1RUQ3QjVGRDdGRUZGRkRCRkZGRkUyRjhCRTJGOEY4MgorOjEwMjg2MDAwRTdGOEJFNkJFMkY4QkUyRjhCRTJGOUZFN0ZFN0ZGRDdGOQorOjEwMjg3MDAwRjVGRDdGRkZGN0Y1RkQ3RkQ3RjVGRDdGNUZEN0Y1RkYwRQorOjEwMjg4MDAwRkZGRjhGRkZBRkVCRkFGRkZGQkZFQkZBRkYyRkVCRkE3MworOjEwMjg5MDAwRkVCRkFGRUJGRkZGRkU1RkZGNUZGRkZGRkRGRkZGRDc1OAorOjEwMjhBMDAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQkZGRUI3RkRDMworOjEwMjhCMDAwRkY3RURGRjdBREZGN0ZGN0ZERkY3RkRGRjdGREZGN0ZENworOjEwMjhDMDAwRjY3RkZGRkZGRkRCRjZGQ0FGRkZGRkZGRkZGN0ZGRkYyOQorOjEwMjhEMDAwRkZGRkZGRkZGRkVDQkZGRkFGRUJGQUY2QUI4RkVCRkFBQQorOjEwMjhFMDAwRjdBNUVCRkFCRUJGQUZFQkZBRkY2REZGRkY3RkRGMzM1QgorOjEwMjhGMDAwRERGRjdGRkVGN0ZDN0ZGQkZGRkZGRkZGRkZGRkZGQTk3MAorOjEwMjkwMDAwRkZGREZGRkZGRUZGRkZERkZGRkZFRkVGRkRGRjdGRkY5QworOjEwMjkxMDAwRkZGRkZGRkVBN0ZGRkZGRjc3REZGN0ZEOUY3RkZFNzczQgorOjEwMjkyMDAwRUZGRkZGRkZGRkZGRkZGRkZGQUZCRkFGRkZGOUJFQkYyRQorOjEwMjkzMDAwOEZGQkZFRkVFRkZCRkVGRkJGRUZGQkZGRkZGRERGNkYzOAorOjEwMjk0MDAwRUZGRjdGRkZCRkJGREZGRkZDRkZERkY3RkRFRjdGREZBNAorOjEwMjk1MDAwRkZGRkZGM0ZGNkZGQ0ZGRkRCRkJGN0ZGRUI3QUZGRkY0OQorOjEwMjk2MDAwRkZCRkVGRkJGRkZGRkZGRTZERkRGRjVGRkJGRkZGRjcwQworOjEwMjk3MDAwRkY1RkY1RkZGRkZGRkZGRkZGRkZGRkZGRjhGRkZCRkYxQworOjEwMjk4MDAwRkZGREZGRkZGRkZGRTdGNkJGRkZGRkZGRkZGQkZGRkZCRQorOjEwMjk5MDAwRkZDOUZGRkZGRkJERkZCRkFGRUZFRjNGRDFGQzdGRkJFNAorOjEwMjlBMDAwQzdGRkZGRkZGRkZGRTNGRkZGRkZGRkZERkZGRjc3RkYxNQorOjEwMjlCMDAwREZCN0ZERjdGREY3RkZGRkZGRkZGRjU3RkZGN0E1RkRBRgorOjEwMjlDMDAwM0ZERkJGQkZGRTdGRkZGRkZGREZGQUZERkZGRkZGRkUyMAorOjEwMjlEMDAwODdGRkU5RkZGRUVGQkZFRkZFRkVGRkVGRkZGRkZGRkYwOAorOjEwMjlFMDAwRkZGRkZGRkZGQTlGRkYzRkZGRkRGRDU3REZGREYzRkZGNgorOjEwMjlGMDAwREZGREZGNUZERkY1RkRGRkZGRjk4RkZGRkZGRkVFN0ZEQworOjEwMkEwMDAwRkZGRkJGNUVGRUVDRkIzRjdGOUZFRkY5RkZGRkNENkI0QgorOjEwMkExMDAwRkZGRkZGQzVGM0ZDRkEzOEZGQUYzRkVFN0Y5RkZGRDkwMgorOjEwMkEyMDAwRkZGRkZEN0FGN0ZGRjNGRkFGNkZEQkYyQjlFOUZCRkZDMgorOjEwMkEzMDAwRkZGRkZFRkZGRkVGRkZGQkM1QkZGRkVGRkY1RUI3QUQ4MAorOjEwMkE0MDAwQ0Q3OTdDRkZGRkZGRkZGRkZGRkZGRkZGRkQ5M0ZGRUY0RgorOjEwMkE1MDAwRUFGRUJGRUY1QkQyQ0RGNTZENzdERkY3RkRGRjdGREZERAorOjEwMkE2MDAwRkZGRjY2RkZENTY1N0Q1Rjc1OUQ2NTdGRDZGQjRGRkZEOAorOjEwMkE3MDAwRkZGRkZGRkZGRkZGRjZDN0ZGQkZFRkZBRkVGRkJGRUI1MQorOjEwMkE4MDAwRkZERkZGN0VGRkZGRUZGRDdFRDdGRjc4REZGRjVGREYxOQorOjEwMkE5MDAwRjVCRjdGREZDNUZGM0ZGNjdFRkYwRkVGRjIzRUJGRkZDMgorOjEwMkFBMDAwRkIzRkZGRkI3RkZGQjNGRUZCRjZGREZGREFGN0ZERkYwOQorOjEwMkFCMDAwN0ZERkY3QkZGRkZBN0ZGRkZGRkZGRjlGRkZGM0RDRjkyOAorOjEwMkFDMDAwQkZDRUU3RjlGRTdGOUZFN0ZGRkZFMjdGRkVGRkJGRUY4QworOjEwMkFEMDAwRUJGQUZGOUY2NzFFRkY4RkU3RjhGRTdGOEZFRkZGQkRDQQorOjEwMkFFMDAwQkZGRkZCRkZGRkRGRjdGRkZDRkZCRkZGRkZGRkZGRkZBNQorOjEwMkFGMDAwRkZGRkZGRkRCM0ZGRkZFRkZGRkZCRkVERkZGQkVFRkVBQworOjEwMkIwMDAwRkZGRkVGRkZGRUZGRkZGRkZGQjVGRkI3RkRGRDZFRkYwRAorOjEwMkIxMDAwRkZGRUZEMkZEOEZFQkY4RkVCRjlGRTNGRkZGQUNGRkY4MAorOjEwMkIyMDAwRTdEOUZBQkZERjc3RkNGQjNGQUJGRUZGQkZFRkZCRkU1MQorOjEwMkIzMDAwRkZGRkVFMUZGRkRGRjdGRkZGRkY1Rjk3MzVCRjVFRkU3MgorOjEwMkI0MDAwQkZFRkZGRjdGREZGRkZGQUJGRkZCRTZGOUZFN0Y4QkVDNQorOjEwMkI1MDAwMkY4QjY2OTQ3RDlERTdGOUZFN0Y5RkU3RjE3RkZGRkY1NgorOjEwMkI2MDAwRkZGN0Y1RkQ3RjVGRkJGRDlFRkZGQkZFRkZGRkVGRkYyNQorOjEwMkI3MDAwRkZBMEZGRkZGRkJGRUZFQkZBRkVCRkI3RjdGN0ZGRkZDNgorOjEwMkI4MDAwRkRGRkZGRkZGRkZGRERGRkZERkZGRkZGRDdGRkZGRkZBMworOjEwMkI5MDAwN0ZGNUZGRkZFRkZGRkZGRkJGRkZGRkFCRkVGQkZFRkY3OQorOjEwMkJBMDAwRjdBRkZGRkZERUY3RUI1RkRGRjdGREZGN0ZERkZGRkYzNAorOjEwMkJCMDAwQjNGRkM5RkVGRkZGRkZGRkQ2RkZGRkNCRkZGRkRGRkYyNQorOjEwMkJDMDAwRkZGRkZGRkZGQzhGRkZCQUJFQkZBRkVCNzhGRUI3QURENAorOjEwMkJEMDAwM0FGRUI3QUZFQjdBRkVCRkFGRkY5RkZGRkZERkZDRkYxMAorOjEwMkJFMDAwRkZGRUMzRkVGRkZGMzNGQ0ZGQkZERkYzRkZGRkJCOUYxMgorOjEwMkJGMDAwRkZGRkZGRUJERkZGRkZBRkY3NkZGOUJGRUZGREZGRkY1OQorOjEwMkMwMDAwRkZGRkZGRTM3RkZGRkZGRkZCRkZGRkJGRkRGQkY3RkZDMgorOjEwMkMxMDAwREZGN0ZGRkVFRjVGQkRGRkZBRkZGOEZGQkZBRkZCRkU4MAorOjEwMkMyMDAwRkUzRkVGRThGRkRGRjNGREZGRkZGRkZGRkZFREZGRkJFMAorOjEwMkMzMDAwRkRGRkFGRkZGRkZFRkVCRkRCRkZGRkZGQkZGRkRGRkZCQworOjEwMkM0MDAwRkRGRkNCRkZGRkZGRkZGRkJGNkZGRjdGQjdCM0ZGRkZBRQorOjEwMkM1MDAwREZGRkZCRUZGRkZGRkYwN0ZGRkJGRkZGRkZFREZGRjVEMAorOjEwMkM2MDAwN0NGRjdGRkVGRkZGRUZDRkZGRkJGRkZGMkZGRkZGRkY4QworOjEwMkM3MDAwRkZGM0ZGRkJGRkZFRkZGRkZGRkZGRkZGQkZGRkZGRkZCNQorOjEwMkM4MDAwRkQxQkZGRkZGRkZGRkZGRkZGRkZGRTdDRkZGRkZGRkZCRQorOjEwMkM5MDAwRUZGRkZGRkZGRkZCQkY3RkZERkZGRkZGRkZGRkZGRkYxQQorOjEwMkNBMDAwREJGRkZGRkZGRkZGRkZGREZGRkZGMDdGRkZGRkZGRkZFOQorOjEwMkNCMDAwRkZGRkZGRkZGRkZCRkZERkZGRkZGRkZGRkZGREJGRkU4QgorOjEwMkNDMDAwN0ZGRkZGRkZGRkZGRkZGRkZGRUZGRUZGQkZGRkZGRkZFNQorOjEwMkNEMDAwRkZGRkVGRkFCNUZGRkZGRkY3RjdGRkZGRkZGRkRGRkI5NworOjEwMkNFMDAwRkNGRkZGRkVGRjdGREZCRkZGQ0JCRkY5RkU3RjlGRTc0QgorOjEwMkNGMDAwRjlGRTdGOTdFMUZFNzk5RkU3RkRGRTdGREZGRTM3RkY1QworOjEwMkQwMDAwRkJERURFQkRFRkYzRkVGQkFGRUJGRUZGRkZDRkZGRkUxMgorOjEwMkQxMDAwRkZCRkZGOEZGRkVGRkJGRUZGQkZFN0Y5NUU3RkVGRkIxQgorOjEwMkQyMDAwREFGRkJGRUZGQkZFRkZGRDFGRkZGRkZGRkZGRkZGREYyRgorOjEwMkQzMDAwRkZGRjdGRkZGRkY3RkI3RkZGRkZGRkZGRkMzRkZGQkZCMgorOjEwMkQ0MDAwRUZGQkZFRkZCRkVGN0I3RkJGRUZGQkZFRkZCNUVGRkJBRgorOjEwMkQ1MDAwQkZGQTdGRkNGRjNGQ0ZGM0ZDRkYzRkNGQkNGRjNGRUY0RAorOjEwMkQ2MDAwRjNGQ0ZFM0ZDRkZGRUVFRkZCRkVGRkJGRUZGQjZBRDdBQQorOjEwMkQ3MDAwQjdGQkY4RkZCN0VGQkFGRUZGQkY3RkU5RkZGOTdFNUY1MQorOjEwMkQ4MDAwOTdFNUY5RkU3RkJGRjk3RTVGOUZFNUZCRkU1RkI3RkYyQQorOjEwMkQ5MDAwQTNGRkY3RkRGRjdGREZGN0ZERkY1RUY3N0RGRjc3REYyNgorOjEwMkRBMDAwRjdGREZGN0ZGRkQ3RkZGRkZGRkZGRkZGRkRERkZCN0Y4QgorOjEwMkRCMDAwRkZGRkVGRkZGRUZCRkZGRkJGRkU4RkZGREZGN0ZERkQxNQorOjEwMkRDMDAwN0ZERkY3RkQzRURGRjVCREZGN0ZERkY3RkRGN0ZGOUZGQworOjEwMkREMDAwRkZGRkZGRkZGRkZGRkZGRkZGRkRGRkJFRkZGRkZGRkY0NgorOjEwMkRFMDAwRkZGRkZGRkQzRkZGREZGN0ZERkY3RkRGRjdGREZGQ0ZCOQorOjEwMkRGMDAwNzdGQ0ZGNUZERkY3RkRGRkY0N0ZGRkZGRkZGRkZGRkZDMworOjEwMkUwMDAwRkZGRkZGRkZGRkZGRkZGRkZGRkRGRkZGRkZFRUZGRkZFNQorOjEwMkUxMDAwRkZGRkZGRkZGRkZGRkZGRkVERkJGRkZGQkZGRkZGRkYxOAorOjEwMkUyMDAwRkZGRkU5RkZGRkZGRkZGRkZGRkJGRkZGRkZEM0ZGRkZGOAorOjEwMkUzMDAwQkYzRkZCRkZGRkZGRkJGM0ZGRkZGRkZGRkZGRkZGRkZCNgorOjEwMkU0MDAwRkZGRkZGRkZGRkZFRkZGN0ZGRkZGRkZGMTdGRkZGRkY4MworOjEwMkU1MDAwREZGRkZERkZGRkZGRkZGRkRGREZGRkZERkZGRkRGRjcwRQorOjEwMkU2MDAwRkY0RkZGRkZGRkZGRkZGRkZGRkZGRkZFRkZGRkZGRkQyNQorOjEwMkU3MDAwRkZGRkZGRkZGRUZGOUZGRkZGRkZGRkZGRkZGRkZGRkZDMworOjEwMkU4MDAwRkRGRkZGRkZGRkZGN0ZGRkZGRkY3QTNGRkZGRkZGRkYxOQorOjEwMkU5MDAwRkZGRkZGN0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRjJDRgorOjEwMkVBMDAwN0ZGRkZCRkVGRkJGRUZGOEZFRkZCRkZCRkVGRjhGRUNENworOjEwMkVCMDAwRkJGRUZGQkZGOEY3RkVGRkJGRUZGQkZFRkRCRkNGRUM1MQorOjEwMkVDMDAwRkYzRkVGREJGOEZGQkZDRkZGRjlGRkZGQkZGRkZCRkZDNworOjEwMkVEMDAwRkZGRkVGRkJERkZGRkZGRkZGRkZCRkZGRkZGRkJCRkZCQQorOjEwMkVFMDAwRUZGQkZFRUZCRkVFRUJGQkZFRkZFRkZFRUVCRkZFRUJGOAorOjEwMkVGMDAwRkZFRkZGMTdGRjdFRUJCQkZFQkZCRUZCRUY1QkY3QkQzNworOjBBMkYwMDAwRkJDRkJGQkZCQkZCN0VDQ0VGRkY5MQorOjAwMDAwMDAxRkYKKworICogQ29weXJpZ2h0IChDKSAxOTk5IEJheUNvbSBHbWJICisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCByZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlCisgKiBjb2RlIHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBjb21tZW50IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbi4KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2RhYnVzYi9maXJtd2FyZS5IRVggYi9maXJtd2FyZS9kYWJ1c2IvZmlybXdhcmUuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMjU4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9kYWJ1c2IvZmlybXdhcmUuSEVYCkBAIC0wLDAgKzEsNjQ5IEBACis6MDIwMDAwMDAyMTU3ODYKKzowMzAwMDMwMDAyMDE2NjkxCis6MDMwMDBCMDAwMjAxNjY4OQorOjAzMDAxMzAwMDIwMTY2ODEKKzowMzAwMUIwMDAyMDE2Njc5Cis6MDMwMDIzMDAwMjAxNjY3MQorOjAzMDAyQjAwMDIwMTY2NjkKKzowMzAwMzMwMDAyMDMwRkI2Cis6MDMwMDNCMDAwMjAxNjY1OQorOjAzMDA0MzAwMDIwMTAwQjcKKzowMzAwNEIwMDAyMDE2NjQ5Cis6MDMwMDUzMDAwMjAxNjY0MQorOjAzMDA1QjAwMDIwNEJEREYKKzowMzAwNjMwMDAyMDE2NzMwCis6MDMwMTAwMDAwMjBDNUE5NAorOjAzMDEwNDAwMDIwMUVEMDgKKzowMzAxMDgwMDAyMDI1MTlGCis6MDMwMTBDMDAwMjAyN0M3MAorOjAzMDExMDAwMDIwMkU0MDQKKzowMTAxMTQwMDMyQjgKKzowMTAxMTgwMDMyQjQKKzowMzAxMUMwMDAyMDVGRERDCis6MDMwMTIwMDAwMjAwMDBEQQorOjAzMDEyNDAwMDIwMDAwRDYKKzowMzAxMjgwMDAyMDQzQzkyCis6MDMwMTJDMDAwMjA0NkE2MAorOjAzMDEzMDAwMDIwMDAwQ0EKKzowMzAxMzQwMDAyMDAwMEM2Cis6MDMwMTM4MDAwMjAwMDBDMgorOjAzMDEzQzAwMDIwMDAwQkUKKzowMzAxNDAwMDAyMDAwMEJBCis6MDMwMTQ0MDAwMjAwMDBCNgorOjAzMDE0ODAwMDIwMDAwQjIKKzowMzAxNEMwMDAyMDAwMEFFCis6MDMwMTUwMDAwMjAwMDBBQQorOjAzMDE1NDAwMDIwMDAwQTYKKzowQTAxNTcwMDc1ODE3RkU1ODI2MDAzMDIwMTYxRkIKKzowNTAxNjEwMDEyMDc2RjIxNjQ4QworOjAxMDE2NjAwMzI2NgorOjBFMDE2NzAwQzBEMEMwODZDMDgyQzA4M0MwRTA5MDdGOTdFMDA5Cis6MEUwMTc1MDA0NDgwRjA5MDdGNjlGMEYwRjBGMEYwRjBGMEYwRDAKKzowRTAxODMwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjA0RQorOjBFMDE5MTAwRjBGMEYwRjBGMEYwRjBGMEYwRjA5MDdGOTdFMDdBCis6MDMwMTlGMDA1NTdGRjA5OQorOjBFMDFBMjAwOTA3RjlBRTAzMEU0MjM5MDdGNjhGMEYwRjBGMDU4Cis6MEUwMUIwMDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwMjEKKzowRTAxQkUwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjAxMworOjBFMDFDQzAwRTVEOEMyRTNGNUQ4RDBFMEQwODNEMDgyRDA4NjRCCis6MDMwMURBMDBEMEQwMzI1MAorOjA4MDFERDAwNzU4NjAwOTBGRkMzN0MwNTRDCis6MDcwMUU1MDBBM0U1ODI0NTgzNzBGOUQ4Cis6MDEwMUVDMDAyMkYwCis6MEUwMUVEMDBDMEUwQzBGMEMwODJDMDgzQzAwMkMwMDNDMEQwMUEKKzowRTAxRkIwMDc1RDAwMEMwODY3NTg2MDBFNTkxQzJFNEY1OTFDRQorOjBEMDIwOTAwOTA4ODAwRTBGNTQxOTA3RkFCNzQwMkYwOTAwQQorOjA5MDIxNjAwN0ZBQjc0MDJGMEU1MzI2MDIxQjcKKzowNDAyMUYwMDdBMDA3QjAwRTYKKzowQjAyMjMwMEMzRUE5NDE4RUI2NDgwOTQ4MDUwMTIzMgorOjBFMDIyRTAwOTA3RjY5RjBGMEYwRjBGMEYwRjBGMDBBQkEwMDA2Cis6MDIwMjNDMDAwMTBCQjQKKzowMjAyM0UwMDgwRTM1QgorOjAyMDI0MDAwRDA4NjY2Cis6MEUwMjQyMDBEMEQwRDAwM0QwMDJEMDgzRDA4MkQwRjBEMEUwNTQKKzowMTAyNTAwMDMyN0IKKzowRTAyNTEwMEMwRTBDMEYwQzA4MkMwODNDMEQwNzVEMDAwQzAzNQorOjBFMDI1RjAwODY3NTg2MDBFNTkxQzJFNEY1OTE5MDdGQUI3NDQwCis6MDQwMjZEMDAwNEYwRDA4NjQzCis6MEIwMjcxMDBEMEQwRDA4M0QwODJEMEYwRDBFMDMyOUIKKzowRTAyN0MwMEMwRTBDMEYwQzA4MkMwODNDMDAyQzAwM0MwMDQ1NgorOjBFMDI4QTAwQzAwNUMwMDZDMDA3QzAwMEMwMDFDMEQwNzVEMEJFCis6MEQwMjk4MDAwMEMwODY3NTg2MDBFNTkxQzJFNEY1OTE5MEU2Cis6MEMwMkE1MDA3RkFCNzQwOEYwNzU2RTAwNzU2RjAyMTJEQworOjA2MDJCMTAwMTE0NDc1NzAzOTc1NUYKKzowNjAyQjcwMDcxMEM3NTcyMDIxMkM5Cis6MEMwMkJEMDAxMTc1OTA3RkQ2RTRGMDc1RDgyMEQwODYzMworOjBFMDJDOTAwRDBEMEQwMDFEMDAwRDAwN0QwMDZEMDA1RDAwNDkwCis6MEQwMkQ3MDBEMDAzRDAwMkQwODNEMDgyRDBGMEQwRTAzMjJFCis6MEUwMkU0MDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwQTIKKzowRTAyRjIwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkFCNzRBRAorOjA0MDMwMDAwMTBGMEQwODZBMworOjBCMDMwNDAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMjA3Cis6MEUwMzBGMDBDMEUwQzBGMEMwODJDMDgzQzAwMkMwMDNDMDA0QzIKKzowRTAzMUQwMEMwMDVDMDA2QzAwN0MwMDBDMDAxQzBEMDc1RDAyQQorOjBDMDMyQjAwMDBDMDg2NzU4NjAwNzU2RTAwNzU2RjAyQkMKKzowNzAzMzcwMDEyMTE0NDc1NzA0MDc1QkUKKzowNjAzM0UwMDcxMEM3NTcyMDIxMjQxCis6MEUwMzQ0MDAxMTc1OTA3RkQ2NzQwMkYwOTA3RkQ2NzQwNkYwOEIKKzowNTAzNTIwMDc1RDgxMEQwODZGMworOjBFMDM1NzAwRDBEMEQwMDFEMDAwRDAwN0QwMDZEMDA1RDAwNDAxCis6MEQwMzY1MDBEMDAzRDAwMkQwODNEMDgyRDBGMEQwRTAzMjlGCis6MEQwMzcyMDA5MDdGQTU3NDgwRjA5MDdGQTY3NDlBRjAxMjIxCis6MEMwMzdGMDAxMDFCOTA3RkE2RTU0MkYwMTIxMDFCOTBBRQorOjBEMDM4QjAwN0ZBNkU1NDNGMDEyMTAxQjkwN0ZBNTc0NDA4MworOjAxMDM5ODAwRjA3NAorOjAxMDM5OTAwMjI0MQorOjBEMDM5QTAwOTA3RkE1NzQ4MEYwOTA3RkE2NzQ5QUYwMTJGOQorOjBDMDNBNzAwMTAxQjkwN0ZBNkU1NDRGMDEyMTAxQjkwODQKKzowQzAzQjMwMDdGQTZFNTQ1RjAxMjEwMUI5MDdGQTZFNTI4Cis6MEIwM0JGMDA0NkYwMTIxMDFCOTA3RkE1NzQ0MEYwNjgKKzowMTAzQ0EwMDIyMTAKKzowQTAzQ0IwMDc1NDQwMjc1NDUwMDc1NDYwMDEyRTYKKzowOTAzRDUwMDAzOUE3NTQyMDM3NTQzMDAxMkZFCis6MDIwM0RFMDAwMzcyQTgKKzowMTAzRTAwMDIyRkEKKzowQzAzRTEwMDkwODgwMEU1MzZGMDkwODgwMDc0MTAyNTJDCis6MDkwM0VEMDAzNkYwMTIwMURENzU0MjAxNzVDNAorOjA5MDNGNjAwNDMxODEyMDM3Mjc1NDQwMjc1RUMKKzowOTAzRkYwMDQ1MDA3NTQ2MDAxMjAzOUE3NUQxCis6MDgwNDA4MDA0MjAzNzU0MzQ0MTIwMzcyMjQKKzowMTA0MTAwMDIyQzkKKzowRTA0MTEwMEMwRTBDMEYwQzA4MkMwODNDMEQwNzVEMDAwQzA3MworOjBFMDQxRjAwODY3NTg2MDBFNTkxQzJFNEY1OTE5MDdGQUE3NDdGCis6MDQwNDJEMDAwMkYwRDA4NjgzCis6MEIwNDMxMDBEMEQwRDA4M0QwODJEMEYwRDBFMDMyRDkKKzowRTA0M0MwMEMwRTBDMEYwQzA4MkMwODNDMEQwNzVEMDAwQzA0OAorOjBFMDQ0QTAwODY3NTg2MDBFNTkxQzJFNEY1OTE5MDdGQTk3NDU1Cis6MDcwNDU4MDAwNEYwNzUzMDAxRDA4NkFECis6MEIwNDVGMDBEMEQwRDA4M0QwODJEMEYwRDBFMDMyQUIKKzowRTA0NkEwMEMwRTBDMEYwQzA4MkMwODNDMEQwNzVEMDAwQzAxQQorOjBFMDQ3ODAwODY3NTg2MDBFNTkxQzJFNEY1OTE5MDdGQUE3NDI2Cis6MDcwNDg2MDAwNEYwNzUzMTAxRDA4NjdFCis6MEIwNDhEMDBEMEQwRDA4M0QwODJEMEYwRDBFMDMyN0QKKzowRTA0OTgwMEMwRTBDMEYwQzA4MkMwODNDMEQwNzVEMDAwQzBFQworOjBDMDRBNjAwODY3NTg2MDBFNTkxQzJFNUY1OTFEMDg2RDAKKzowQjA0QjIwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzI1OAorOjBFMDRCRDAwQzBFMEMwRjBDMDgyQzA4M0MwRDA3NUQwMDBDMEM3Cis6MEMwNENCMDA4Njc1ODYwMEU1OTFDMkU3RjU5MUQwODZBOQorOjBCMDRENzAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMjMzCis6MEMwNEUyMDA5MDdGRUFFMEZBOEEyMDkwN0Y5NkU0RjAxOAorOjAxMDRFRTAwMjJFQgorOjA3MDRFRjAwOTA3RkVBRTBGQThBMjE4OAorOjAxMDRGNjAwMjJFMworOjBFMDRGNzAwOTAxNzEzRTBGQTkwMTcxNUUwRkI3NDgwMkFGQUI0Cis6MEUwNTA1MDA3NDgwMkJGQkVBMDMwMzU0M0ZGQ0VBQzQyMzU0MkEKKzowRTA1MTMwMDFGRkEyQ0ZBRUIwMzAzNTQzRkZDRUJDNDIzNTRGNQorOjBCMDUyMTAwMUZGQjJDRkI5MDE3MEFFMEZDNjAwMjlGCis6MDIwNTJDMDA3QTAwNTMKKzowNzA1MkUwMDkwMTcwQ0UwRkM2MDAyRDUKKzowMjA1MzUwMDdCMDA0OQorOjBCMDUzNzAwRUEyQkZDQzMxM0Y1M0E3NTQ0MDI4QjVECis6MDcwNTQyMDA0NThBNDYxMjAzOUE3NTc5Cis6MDkwNTQ5MDA2RTA4NzU2RjAwMTIxMTQ0NzU3MworOjA0MDU1MjAwNzA0Nzc1NzEwOAorOjA4MDU1NjAwMEM3NTcyMDIxMjExNzU4NThCCis6MDUwNTVFMDAzQTczMTIxMUEwMjgKKzowMTA1NjMwMDIyNzUKKzowRTA1NjQwMDkwN0Y5NkUwRkE5MDdGOTY3NDgwNjUwMkYwOTA4QQorOjBFMDU3MjAwN0ZFQkUwRkE5MDdGRUFFMEZCOTA3RkVGRTBGQzg5Cis6MEUwNTgwMDAzMzk1RTBGRDhDMDU3QzAwOTA3RkVFRTBGRTMzQUQKKzowRTA1OEUwMDk1RTBGRkVDMkVGQ0VEM0ZGRDkwN0ZFOUUwRkVENgorOjA1MDU5QzAwQkUwMTAyODAwMzE2Cis6MDMwNUExMDAwMjA1Rjk1NworOjA2MDVBNDAwQkMwMTIxQkQwMDFFOTgKKzowRTA1QUEwMEVBQzQwMzU0RjhGQ0VCMjVFMEZEMkMyNDAwRkMxMQorOjBFMDVCODAwRTQzNDE3RkQ5MDdFQzBFMEZFOEM4MjhEODNGMDRGCis6MDIwNUM2MDA4MDMxODIKKzowRTA1QzgwMEVBQzQwMzU0RjhGQUVCMjVFMEZCMkFGQTI0MDBGQgorOjBFMDVENjAwRkJFNDM0MTdGQzkwN0VDMEUwRkQ4QjgyOEM4MzJBCis6MEUwNUU0MDBGMDc0MDEyQTI0MDBGQUU0MzQxN0ZCOTA3RUMxNjMKKzowNzA1RjIwMEUwRkM4QTgyOEI4M0YwMUMKKzowMzA1RjkwMDc1MzgwMTUxCis6MDEwNUZDMDAyMkRDCis6MEUwNUZEMDBDMEUwQzBGMEMwODJDMDgzQzAwMkMwMDNDMDA0RDIKKzowRTA2MEIwMEMwMDVDMDA2QzAwN0MwMDBDMDAxQzBEMDc1RDAzOQorOjBEMDYxOTAwMDBDMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA2MQorOjBEMDYyNjAwN0ZBQTc0MDFGMDEyMDU2NDc1MzcwMEQwODZCQworOjBFMDYzMzAwRDBEMEQwMDFEMDAwRDAwN0QwMDZEMDA1RDAwNDIyCis6MEQwNjQxMDBEMDAzRDAwMkQwODNEMDgyRDBGMEQwRTAzMkMwCis6MEUwNjRFMDA5MDdGRUJFMEZBOTA3RkVBRTBGQjkwN0ZFRUUwMTkKKzowRTA2NUMwMEZDMzM5NUUwRkQ5MDdGOTZFMEZFOTA3Rjk2NzQ1MworOjBFMDY2QTAwODA2NTA2RjA5MDdGMDA3NDAxRjBFQUM0MDM1NDJFCis6MEUwNjc4MDBGOEZFRUIyNUUwRkIyRUZFMjQwMEZCRTQzNDE3MTkKKzowRTA2ODYwMEZGOEI4MjhGODNFMEZCNzQwMTJFMjQwMEZFRTRDNAorOjBFMDY5NDAwMzQxN0ZGOEU4MjhGODNFMEZFOTA3RkU5RTBGRjM3Cis6MDMwNkEyMDBCRjgxMEEwQgorOjBBMDZBNTAwOTA3RjAwRUJGMDkwN0YwMUVFRjA3MworOjA4MDZBRjAwOTA3RkU5RTBGQkJCODIxQTE5Cis6MDMwNkI3MDBCQTAxMEM3OQorOjBDMDZCQTAwOTA3RjAwRTRGMDkwN0YwMUU0RjA4MDBCRTIKKzowQjA2QzYwMDkwN0YwMEU0RjA5MDdGMDE3NEI1RjAxRAorOjA4MDZEMTAwOTA3RkU5RTBGQkJCODMxQkY1Cis6MDMwNkQ5MDBCQTAxMEQ1NgorOjBEMDZEQzAwOTA3RjAwNzQwMUYwOTA3RjAxRTRGMDgwMEIyRQorOjBCMDZFOTAwOTA3RjAwRTRGMDkwN0YwMTc0MTJGMDlECis6MDgwNkY0MDA5MDdGRTlFMEZCQkI4NDFDRDAKKzowMzA2RkMwMEJBMDEwRDMzCis6MEQwNkZGMDA5MDdGMDA3NDAxRjA5MDdGMDFFNEYwODAwQzBBCis6MEMwNzBDMDA5MDdGMDA3NDgwRjA5MDdGMDE3NDAxRjA3OQorOjA1MDcxODAwOTA3RkI1RUNGMDNDCis6MDEwNzFEMDAyMkI5Cis6MEMwNzFFMDA3NTM2MEQ5MDg4MDA3NDFERjA3NTZCODAxRQorOjBBMDcyQTAwNzU2QzNDMTIxMEUyNzU2QjgwNzVDRgorOjA5MDczNDAwNkMwRjEyMTBFMjc1NkI4MDc1NjgKKzowOTA3M0QwMDZDMDYxMjEwRTI3NTZCODA3NTY4Cis6MDcwNzQ2MDA2QzAxMTIxMEUyN0EwMEMxCis6MDMwNzREMDBCQUZGMDBGMAorOjAyMDc1MDAwNTAwQTRECis6MEEwNzUyMDBDMDAyMTIwMURERDAwMjBBODBGMTlFCis6MEEwNzVDMDA3NTZCODA3NTZDM0MxMjEwRTI3NTlECis6MDgwNzY2MDA2QjgwNzU2QzBGMTIxMEUyQUMKKzowMTA3NkUwMDIyNjgKKzowRTA3NkYwMDkwN0ZBMUU0RjA5MDdGQUY3NDAxRjA5MDdGOTIzNAorOjBFMDc3RDAwNzQwMkYwNzU4RTMxNzU4OTIxNzU4ODAwNzVDODdCCis6MEUwNzhCMDAwMDc1OEQ0MDc1OTg0MDc1QzA0MDc1ODcwMDc1RUIKKzowOTA3OTkwMDIwMDA3NTIxMDA3NTIyMDA3NTk1Cis6MDUwN0EyMDAyMzAwNzU0NzAwNzMKKzowNzA3QTcwMEMzRTU0Nzk0MjA1MDExNDcKKzowRDA3QUUwMEU1NDcyNDAwRjU4MkU0MzQxN0Y1ODNFNEYwRkMKKzowNDA3QkIwMDA1NDc4MEU4ODYKKzowOTA3QkYwMEU0RjU0MEY1M0ZFNEY1M0NGNURBCis6MDcwN0M4MDAzQkU0RjUzRUY1M0Q3NTMxCis6MEIwN0NGMDAzMjAwNzUzNzAwNzUzOTAwOTA3RjkzRjEKKzowRTA3REEwMDc0M0NGMDkwN0Y5Qzc0RkZGMDkwN0Y5Njc0ODBDQQorOjBFMDdFODAwRjA5MDdGOTQ3NDcwRjA5MDdGOUQ3NDhGRjA5MDZECis6MEUwN0Y2MDA3Rjk3RTRGMDkwN0Y5NTc0QzJGMDkwN0Y5ODc0MjYKKzowRTA4MDQwMDI4RjA5MDdGOUU3NDI4RjA5MDdGRjBFNEYwOTAzMgorOjBFMDgxMjAwN0ZGMUU0RjA5MDdGRjJFNEYwOTA3RkYzRTRGMEU5Cis6MEUwODIwMDA5MDdGRjRFNEYwOTA3RkY1RTRGMDkwN0ZGNkU0MzIKKzowRTA4MkUwMEYwOTA3RkY3RTRGMDkwN0ZGOEU0RjA5MDdGRjkwRgorOjBFMDgzQzAwNzQzOEYwOTA3RkZBNzRBMEYwOTA3RkZCNzRBMEU3Cis6MEUwODRBMDBGMDkwN0ZGQzc0QTBGMDkwN0ZGRDc0QTBGMDkwMDEKKzowRTA4NTgwMDdGRkU3NEEwRjA5MDdGRkY3NEEwRjA5MDdGRTAxMAorOjBFMDg2NjAwNzQwM0YwOTA3RkUxNzQwMUYwOTA3RkRENzQ4MEU4Cis6MEIwODc0MDBGMDEyMTI0MzEyMDcxRTdBMDA3QjAwRjYKKzowOTA4N0YwMEMzRUE5NDFFRUI5NDAwNTAxNzJCCis6MEMwODg4MDA5MDg4MDBFMEY1NDc5MDg4MEJFMEY1NDdGMQorOjA5MDg5NDAwOTA3RjY4RjAwQUJBMDAwMTBCMjQKKzowMjA4OUQwMDgwRTBGOQorOjBDMDg5RjAwMTIwM0UxOTA3RkQ2RTRGMDdBMDA3QjAwQTkKKzowRDA4QUIwMDhBMDQ4QjA1QzNFQTk0RTBFQjk0MkU1MDFBRUEKKzowRTA4QjgwMEMwMDJDMDAzQzAwNEMwMDUxMjAxREREMDA1RDA4RgorOjBBMDhDNjAwMDREMDAzRDAwMjBBQkEwMDAxMEJBRgorOjAyMDhEMDAwODBEOUNECis6MEQwOEQyMDA5MDdGRDY3NDAyRjA5MDdGRDY3NDA2RjA5MEVGCis6MEUwOERGMDA3RkRFNzQwNUYwOTA3RkRGNzQwNUYwOTA3RkFDMzMKKzowRTA4RUQwMEU0RjA5MDdGQUQ3NDA1RjA3NUE4ODA3NUY4MTBFQQorOjBEMDhGQjAwOTA3RkFFNzQwQkYwOTA3RkUyNzQ4OEYwOTA1NworOjBDMDkwODAwN0ZBQjc0MDhGMDc1RTgxMTc1MzIwMTc1QzIKKzowQzA5MTQwMDMxMDA3NTMwMDBDMDA0QzAwNTEyMDRGNzZCCis6MEEwOTIwMDBEMDA1RDAwNDc1MzQwMDc1MzUwMUQwCis6MEQwOTJBMDA5MDdGQUU3NDAzRjA4QzAyQkEwMDAyODAwM0NGCis6MDMwOTM3MDAwMjBBM0Y3MgorOjBDMDkzQTAwODUzMzM0OTA3RjlENzQ4RkYwOTA3Rjk3ODAKKzowRTA5NDYwMDc0MDhGMDkwN0Y5RDc0ODhGMDkwN0Y5QUUwRkExQworOjBDMDk1NDAwNzQwNTVBRjUzMzkwN0Y5RDc0OEZGMDkwNkQKKzowRDA5NjAwMDdGOTc3NDAyRjA5MDdGOUQ3NDgyRjBFNTMzNjQKKzowRDA5NkQwMDI1RTBGQTkwN0Y5QUUwNTQwNUZCNEFGNTMzMkYKKzowMjA5N0EwMDYwMEMwRgorOjBDMDk3QzAwOTA3Rjk2RTBGQTkwN0Y5Njc0ODA0QUYwMUQKKzowQjA5ODgwMDc1NkUwMDc1NkYwMEMwMDRDMDA1MTIwMgorOjBFMDk5MzAwMTE0NEQwMDVEMDA0OTAxNzEzRTBGQTc0ODAyQUE2Cis6MDYwOUExMDBGQUU1MzNCNDA0Mjk1RAorOjAzMDlBNzAwQkFBMDAwRjMKKzowMjA5QUEwMDUwMjRENworOjBEMDlBQzAwOTAxNzEzRTAwNEZCMEI5MDE3MTNFQkYwOTA3NQorOjBFMDlCOTAwMTcxM0UwRkI5MDE3MTVGMEMwMDJDMDA0QzAwNTM0Cis6MDkwOUM3MDAxMjA0RjdEMDA1RDAwNEQwMDI5RgorOjA1MDlEMDAwRTUzM0I0MDIyNjJFCis6MDYwOUQ1MDBDMzc0MDQ5QTUwMjBENworOjBEMDlEQjAwOTAxNzEzRTBGQTFBMUE5MDE3MTNFQUYwOTAyMworOjBEMDlFODAwMTcxM0UwRkE5MDE3MTVGMEMwMDRDMDA1MTJCNworOjA2MDlGNTAwMDRGN0QwMDVEMDA0NTgKKzowNTA5RkIwMEU1MzNCNDA4MUQwNgorOjA0MEEwMDAwRTUzNDcwMTk1MAorOjBBMEEwNDAwNzQwMTI1MzU1NDBGRjUzNTg1MzVEMgorOjBDMEEwRTAwNzU3NTc2MDBDMDA0QzAwNTEyMTNGRUQwMDAKKzowMzBBMUEwMDA1RDAwNDAwCis6MDUwQTFEMDBFNTMzQjQwMTFERUEKKzowNDBBMjIwMEU1MzQ3MDE5MkUKKzowQTBBMjYwMEU1MzUyNEZGNTQwRkY1MzU4NTM1NDIKKzowQzBBMzAwMDc1NzU3NjAwQzAwNEMwMDUxMjEzRkVEMERFCis6MDMwQTNDMDAwNUQwMDRERQorOjBFMEEzRjAwQzAwNEMwMDUxMjAxREREMDA1RDAwNDkwN0Y5NkUyCis6MEUwQTREMDBFMEZBOTA3Rjk2NzQ3RjVBRjA5MDdGOTc3NDA4QkQKKzowQTBBNUIwMEYwQzNFQzk0MDBFRDk0MDI0MDA4OTMKKzowODBBNjUwMDkwN0Y5NkUwRkEyMEU2MDhGQworOjA4MEE2RDAwQzNFNDlDNzQwODlENTAxM0MyCis6MEUwQTc1MDA5MDdGOTZFMEZBOTA3Rjk2NzQ0MDY1MDJGMDdDQzgKKzowNTBBODMwMDAwN0QwMDgwMDU2QworOjA1MEE4ODAwMENCQzAwMDEwRDkzCis6MDUwQThEMDBFNTM4QjQwMTBFODQKKzowRDBBOTIwMEMwMDRDMDA1MTIwNEY3RDAwNUQwMDQ3NTM4NkIKKzowMTBBOUYwMDAwNTYKKzowNzBBQTAwMEU1MzE3MDAzMDIwOTJBOTEKKzowQTBBQTcwMDkwN0ZDOUUwRkE3MDAzMDIwQzJERTUKKzowRTBBQjEwMDkwN0Y5NkUwRkE5MDdGOTY3NDgwNjUwMkYwOTAzOAorOjA5MEFCRjAwN0RDMEUwRkFCQTJDMDI4MDAzQUMKKzowMzBBQzgwMDAyMEIzNkU4Cis6MDUwQUNCMDA3NTMyMDA3QjAwMDQKKzowMzBBRDAwMEJCNjQwMDA0Cis6MDIwQUQzMDA1MDFDQjUKKzowRTBBRDUwMEMwMDJDMDAzQzAwNEMwMDUxMjAxREREMDA1RDA3MAorOjBEMEFFMzAwMDREMDAzRDAwMjkwODgwRkUwRjU0NzBCODA4RgorOjAxMEFGMDAwREYyNgorOjBEMEFGMTAwQzAwMkMwMDRDMDA1MTIwNzFFMTIwM0UxMTI2RQorOjBDMEFGRTAwMDRGN0QwMDVEMDA0RDAwMjc1NkUwMDc1MUUKKzowRDBCMEEwMDZGMDFDMDAyQzAwNEMwMDUxMjExNDREMDA1RTcKKzowOTBCMTcwMEQwMDREMDAyNzU3MDRENzU3MTE3Cis6MEIwQjIwMDAwQzc1NzIwMkMwMDJDMDA0QzAwNTEyNzgKKzowQjBCMkIwMDExNzVEMDA1RDAwNEQwMDIwMjBDMkQ4MworOjAzMEIzNjAwQkEyQTNCOUQKKzowRDBCMzkwMDkwN0Y5ODc0MjBGMEMwMDJDMDA0QzAwNTEyMjcKKzowRTBCNDYwMDAxREREMDA1RDAwNEQwMDI5MDdGOTg3NDI4RjAxNQorOjAyMEI1NDAwN0IwMDI0Cis6MDMwQjU2MDBCQjBBMDBENworOjA1MEI1OTAwNDAwMzAyMEMyRDE5Cis6MEUwQjVFMDBDMDAyQzAwM0MwMDRDMDA1MTIwMURERDAwNUQwRTYKKzowODBCNkMwMDA0RDAwM0QwMDIwQjgwRTI2QgorOjAzMEI3NDAwQkEyQjFBN0YKKzowODBCNzcwMDkwN0ZDOUUwRkJCQjQwMTJCNgorOjBFMEI3RjAwQzAwMkMwMDRDMDA1MTIxMjA1RDAwNUQwMDREMDdCCis6MDQwQjhEMDAwMjAyMEMyRDI3Cis6MDMwQjkxMDBCQTEwMUY3OAorOjBFMEI5NDAwOTA3Rjk2RTBGQjkwN0Y5Njc0ODA2NTAzRjBDMDIyCis6MEUwQkEyMDAwMkMwMDRDMDA1MTIxMDNERDAwNUQwMDREMDAyRTAKKzowMzBCQjAwMDAyMEMyRDA3Cis6MDMwQkIzMDBCQTExMTI2MgorOjBFMEJCNjAwQzAwMkMwMDRDMDA1MTIxMDZBRDAwNUQwMDREMEUxCis6MDQwQkM0MDAwMjAyMEMyREYwCis6MDMwQkM4MDBCQTEyMTI0QworOjBFMEJDQjAwQzAwMkMwMDRDMDA1MTIxMDhGRDAwNUQwMDREMEE3Cis6MDQwQkQ5MDAwMjAyMEMyRERCCis6MDMwQkREMDBCQTEzMEIzRAorOjBCMEJFMDAwOTA3REMxRTBGQjkwODgwMEYwODA0Mjk3Cis6MDMwQkVCMDBCQTE0MTEyOAorOjBFMEJFRTAwQzAwMkMwMDRDMDA1MTIxMURERDAwNUQwMDREMDM1Cis6MDMwQkZDMDAwMjgwMkU0NgorOjAzMEJGRjAwQkExNTFEMDcKKzowQzBDMDIwMDkwN0RDMUUwRjU3NTkwN0RDMkUwRjU3NkI0Cis6MEUwQzBFMDBDMDAyQzAwNEMwMDUxMjEzRkVEMDA1RDAwNEQwRjEKKzowMzBDMUMwMDAyODAwRTQ1Cis6MDMwQzFGMDBCQTE2MEJGNworOjBCMEMyMjAwQzAwNEMwMDUxMjEzQTNEMDA1RDAwNENECis6MEIwQzJEMDA5MDdGQzlFNEYwNzUzMTAwMDIwOTJBMzUKKzowMTBDMzgwMDIyOTkKKzowNzBDMzkwMDUzNTU1MDQ1NEU0NDAwRTUKKzowNzBDNDAwMDUyNDU1MzU1NEQ0NTAwREMKKzowNjBDNDcwMDIwNTY2RjZDMjAwMDM2Cis6MEQwQzREMDA0NDQxNDI1NTUzNDIyMDc2MzEyRTMwMzAwMDk0Cis6MEUwQzVBMDBDMEUwQzBGMEMwODJDMDgzQzAwMkMwMDNDMDA0NkUKKzowRTBDNjgwMEMwMDVDMDA2QzAwN0MwMDBDMDAxQzBEMDc1RDBENgorOjBEMEM3NjAwMDBDMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTBGRQorOjBFMEM4MzAwN0ZBQjc0MDFGMDkwN0ZFOEUwRkE5MDdGRTlFMDJCCis6MDYwQzkxMDBGQkJCMDAwMjgwMDMyMgorOjAzMEM5NzAwMDIwRDM4MTMKKzowMzBDOUEwMEJBODAxNDA5Cis6MEUwQzlEMDA5MDdGMDA3NDAxRjA5MDdGMDFFNEYwOTA3RkI1MkQKKzowNjBDQUIwMDc0MDJGMDAyMEVDRDAwCis6MDUwQ0IxMDBCQTgyMDI4MDAzN0QKKzowMzBDQjYwMDAyMEQxRDBGCis6MDgwQ0I5MDA5MDdGRUNFMEZDQkMwMTAwOUYKKzowMjBDQzEwMDQwMjFEMAorOjA2MENDMzAwQzM3NDA3OUM0MDFCRjYKKzowRTBDQzkwMEVDMjRGRjI1RTBGRDI0QzZGNTgyRTQzNDdGRjUxRgorOjBEMENENzAwODNFMEZENTMwNTAxOTA3RjAwRURGMDgwMkJDMAorOjAzMENFNDAwQkM4MTAwRDAKKzowMjBDRTcwMDQwMjFBQQorOjA2MENFOTAwQzM3NDg3OUM0MDFCNTAKKzowRTBDRUYwMEVDMjQ3RjI1RTBGQzI0QjZGNTgyRTQzNDdGRjU4QQorOjBEMENGRDAwODNFMEZDNTMwNDAxOTA3RjAwRUNGMDgwMDVDMworOjA1MEQwQTAwOTA3RjAwRTRGMDAxCis6MEUwRDBGMDA5MDdGMDFFNEYwOTA3RkI1NzQwMkYwMDIwRUNERUIKKzowNTBEMUQwMEJBODEwMjgwMDMxMQorOjAzMEQyMjAwMDIwRUM1RjkKKzowRTBEMjUwMDkwN0YwMEU0RjA5MDdGMDFFNEYwOTA3RkI1NzRDMQorOjA1MEQzMzAwMDJGMDAyMEVDREVDCis6MDMwRDM4MDBCQjAxMkRDRgorOjA2MEQzQjAwQkEwMDAzMDIwRUNEMTgKKzowMzBENDEwMEJBMDIxMUUyCis6MEQwRDQ0MDA3NTU5MDBDMDAyQzAwMzEyMEVGMEQwMDNEMDlDCis6MDQwRDUxMDAwMjAyMEVDREJGCis6MDUwRDU1MDBCQTIxMDI4MDAzMzkKKzowMzBENUEwMDAyMEVDREI5Cis6MEIwRDVEMDA3NTM3MDE5MDdGQzVFNEYwMDIwRUNENTkKKzowMzBENjgwMEJCMDMxRkFCCis6MDYwRDZCMDBCQTAwMDMwMjBFQ0RFOAorOjA1MEQ3MTAwQkEwMjAyODAwMzNDCis6MDMwRDc2MDAwMjBFQ0Q5RAorOjBEMEQ3OTAwNzU1OTAxQzAwMkMwMDMxMjBFRjBEMDAzRDA2NgorOjA0MEQ4NjAwMDIwMjBFQ0Q4QQorOjAzMEQ4QTAwQkIwNjU0NTEKKzowNTBEOEQwMEJBODAwMjgwMDNBMgorOjAzMEQ5MjAwMDIwRUM1ODkKKzowODBEOTUwMDkwN0ZFQkUwRkNCQzAxMTVBRQorOjBDMEQ5RDAwN0NGQjdEMEY4RDA2N0YwMDkwN0ZENEVFNjQKKzowOTBEQTkwMEYwOTA3RkQ1RUNGMDAyMEVDREI0Cis6MEEwREIyMDA5MDdGRUJFMEZDQkMwMjAyODAwMzFFCis6MDMwREJDMDAwMjBFQzU1RgorOjBBMERCRjAwOTA3RkVBRTBGQ0JDMDAwMjgwMDMxNAorOjAzMERDOTAwMDIwRUM1NTIKKzowQzBEQ0MwMDdDM0I3RDBGOEQwNjdGMDA5MDdGRDRFRUY1Cis6MDkwREQ4MDBGMDkwN0ZENUVDRjAwMjBFQ0Q4NQorOjA2MERFMTAwQkIwNzAzMDIwRUM1NzIKKzowMzBERTcwMEJCMDgxMDM2Cis6MEQwREVBMDBBQzQ4OTA3RjAwRUNGMDkwN0ZCNTc0MDFGMEY0Cis6MDMwREY3MDAwMjBFQ0QxQworOjAzMERGQTAwQkIwOTMxMDEKKzowNTBERkQwMEJBMDAwMjgwMDNCMgorOjAzMEUwMjAwMDIwRUM1MTgKKzowRTBFMDUwMDkwN0ZFQUUwRkNDMzc0MDE5QzUwMDMwMjBFQzUwRQorOjA4MEUxMzAwOTA3RkVBRTBGQ0JDMDAwQTNDCis6MEEwRTFCMDA5MDE3MjFFNEYwOTAxNzIyRTRGMDk0Cis6MDkwRTI1MDA5MDdGRUFFMEY1NDgwMjBFQ0REMQorOjAzMEUyRTAwQkIwQTI3RDUKKzowNTBFMzEwMEJBODEwMjgwMDNGQworOjAzMEUzNjAwMDIwRUM1RTQKKzowRTBFMzkwMDkwN0ZFQ0UwRkEyNDIwRkFFNDM0MTdGQzhBODI2MQorOjBFMEU0NzAwOEM4M0UwRkE5MDdGMDBGMDkwN0ZCNTc0MDFGMDhDCis6MDMwRTU1MDAwMjBFQ0RCRAorOjA1MEU1ODAwQkIwQjAyODAwMzRBCis6MDMwRTVEMDAwMjBFQTlEOQorOjBEMEU2MDAwOTAxNzIwRTRGMDkwN0ZFQ0UwRkFCQTAxMUE0MAorOjA4MEU2RDAwOTA3RkVERTBGQUJBMDAxMkRCCis6MEUwRTc1MDA5MDdGRUFFMEZBOTAxNzIxRjBDMDAzMTIwNEUyMjkKKzowNDBFODMwMEQwMDM4MDQ2RDIKKzowODBFODcwMDkwN0ZFQ0UwRkFCQTAyM0U5NAorOjA4MEU4RjAwOTA3RkVERTBGQUJBMDAzNjk1Cis6MEQwRTk3MDBDMDAzMTIwNEVGRDAwMzkwN0ZFQUUwRkE5MDUwCis6MDUwRUE0MDAxNzIyRjA4MDI0N0MKKzowNTBFQTkwMEJCMTIwMjgwMTdERQorOjA1MEVBRTAwQkI4MTAyODAwRDc0Cis6MDUwRUIzMDBCQjgzMDI4MDA4NzIKKzowNTBFQjgwMEJCODIwMjgwMDM3MworOjAzMEVCRDAwQkI4NDA1RUUKKzowNTBFQzAwMDEyMDY0RTgwMDgzRgorOjA4MEVDNTAwOTA3RkI0NzQwM0YwODAwNjc1Cis6MDYwRUNEMDA5MDdGQjQ3NDAyRjBGNgorOjAyMEVEMzAwRDA4NkM3Cis6MEUwRUQ1MDBEMEQwRDAwMUQwMDBEMDA3RDAwNkQwMDVEMDA0NzgKKzowRDBFRTMwMEQwMDNEMDAyRDA4M0QwODJEMEYwRDBFMDMyMTYKKzowQjBFRjAwMDkwN0ZFQ0UwRjU1QUMzOTQwMTQwMUQxOAorOjA3MEVGQjAwQzM3NDA3OTU1QTQwMTY2RAorOjBEMEYwMjAwRTU1QTI0RkYyNUUwRkEyNEM2RjU4MkU0MzQwOAorOjA5MEYwRjAwN0ZGNTgzQUE1OUVBRjA4MDIyNjMKKzowNzBGMTgwMEMzRTU1QTk0ODE0MDFCNjAKKzowNzBGMUYwMEMzNzQ4Nzk1NUE0MDE0Q0EKKzowRDBGMjYwMEU1NUEyNEZGMjVFMEZBMjRCNkY1ODJFNDM0RjQKKzowNzBGMzMwMDdGRjU4M0FBNTlFQUYwRTMKKzowMTBGM0EwMDIyOTQKKzowRTBGM0IwMDA5MDJCQTAwMDMwMTAwNDAwMDA5MDQwMDAwMDA5MgorOjBFMEY0OTAwMDEwMTAwMDAwOTI0MDEwMDAxM0QwMDAxMDEwQzFFCis6MEUwRjU3MDAyNDAyMDExMDA3MDAwMjAzMDAwMDAwMEQyNDA2MTIKKzowRTBGNjUwMDAzMDEwMjE1MDAwMzAwMDMwMDAwMDkyNDAzMDIyQgorOjBFMEY3MzAwMDEwMTAwMDEwMDA5MjQwMzA0MDIwMzAwMDMwMDMxCis6MEUwRjgxMDAwOTI0MDMwNTAzMDYwMDAxMDAwOTA0MDEwMDAwMTUKKzowRTBGOEYwMDAxMDIwMDAwMDkwNDAxMDEwMTAxMDIwMDAwMDczNworOjBFMEY5RDAwMjQwMTAyMDEwMTAwMEIyNDAyMDEwMjAyMTAwMUQ2Cis6MEUwRkFCMDA4MEJCMDAwOTA1ODgwNTAwMDEwMTAwMDAwNzI1MzQKKzowRTBGQjkwMDAxMDAwMDAwMDAwOTA0MDIwMDAyMDAwMDAwMDAxOAorOjBFMEZDNzAwMDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwMDAwMEZDCis6MEUwRkQ1MDAwOTA0MDIwMTAzMDAwMDAwMDAwNzA1ODIwMjQwMkIKKzowRTBGRTMwMDAwMDAwNzA1MDIwMjQwMDAwMDA5MDU4OTA1QTA3NAorOjBBMEZGMTAwMDEwMTAwMDAwMEZGRkZGRkZGMDBGOAorOjBFMEZGQjAwMTIwMTAwMDEwMDAwMDA0MDQ3MDU5OTk5MDAwMTE1Cis6MEUxMDA5MDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDkwMkJBMTMKKzowNDEwMTcwMDAwMDMwMTAwRDEKKzowMjEwMUIwMDdBMDA1OQorOjAzMTAxRDAwQkEwNTAwMTEKKzowMjEwMjAwMDUwMTc2NworOjA4MTAyMjAwOTA3RkE1RTBGQjMwRTAwNTIyCis6MDUxMDJBMDA5MDAwMDE4MDBEQTMKKzowQTEwMkYwMEMwMDIxMjAxREREMDAyMEE4MEU0QzUKKzowMzEwMzkwMDkwMDAwMTIzCis6MDExMDNDMDAyMjkxCis6MEUxMDNEMDA5MDdEQzFFMEY5QTNFMEZBQTNFMEZCN0MwMDdEMEEKKzowNDEwNEIwMDdFRUI2MDEyQzYKKzowRTEwNEYwMDg5ODI4QTgzRTBBM0E5ODJBQTgzOEM4MjhEODM4MgorOjA0MTA1RDAwRjAwQ0RCRUVDQQorOjA4MTA2MTAwOTA3REMzRTA5MDdGQjlGMDFGCis6MDExMDY5MDAyMjY0Cis6MEUxMDZBMDA5MDdEQzFFMEY5QTNFMEZBQTNFMEZCN0NDNDdEMTkKKzowNDEwNzgwMDdERUI2MEU1QzcKKzowRTEwN0MwMDhDODI4RDgzRTAwQzg5ODI4QTgzRjBBM0E5ODI4NgorOjA0MTA4QTAwQUE4M0RCRUU2QworOjAxMTA4RTAwMjIzRgorOjBFMTA4RjAwOTA3RkE1NzQ4MEYwMDU4NjkwN0RDMUUwMDU4NkY3Cis6MEUxMDlEMDBBM0YwMTIxMDFCOTA3RkE2MDU4NkEzQTNFMEY5MTYKKzowNTEwQUIwMDYwMTZBMzA1ODY5QworOjBEMTBCMDAwOTA3RkE2MDU4NkUwQTMwNTg2RjBDMDAxMTIyMgorOjA2MTBCRDAwMTAxQkQwMDFEOUVENkIKKzowNjEwQzMwMDkwN0ZBNTc0NDBGMENGCis6MDExMEM5MDAyMjA0Cis6MDgxMENBMDA5MDg4MDI3NDAxRjA3QTAwMjUKKzowMzEwRDIwMEJBRkYwMDYyCis6MDIxMEQ1MDA1MDBBQkYKKzowQTEwRDcwMEMwMDIxMjAxREREMDAyMEE4MEYxMTAKKzowMTEwRTEwMDIyRUMKKzowNTEwRTIwMEU1NkJCNEMwMDgzRAorOjA4MTBFNzAwOTA4ODAzRTU2Q0YwODAwNjFGCis6MDYxMEVGMDA5MDg4MDJFNTZDRjBBMAorOjA0MTBGNTAwN0EwMDdCMDAwMgorOjBCMTBGOTAwQzNFQTk0MzJFQjY0ODA5NDgwNTAwNzNGCis6MDUxMTA0MDAwQUJBMDAwMTBCMTYKKzowMjExMDkwMDgwRUU3NgorOjAxMTEwQjAwMjJDMQorOjBBMTEwQzAwOTA4ODAzRTU2REYwMDUzOTdBMDBDNAorOjAzMTExNjAwQkEyODAwRjQKKzowMjExMTkwMDUwMDM4MQorOjAzMTExQjAwMEE4MEY4NEYKKzowNTExMUUwMEU1MzlCNDEwMDhFMgorOjA4MTEyMzAwOTA4ODAyNzRDMEYwODAwRUY4Cis6MDUxMTJCMDBFNTM5QjQyMDA5QzQKKzowOTExMzAwMDkwODgwMjc0ODBGMDc1MzkwMDBBCis6MDIxMTM5MDA3QTAwM0EKKzowMzExM0IwMEJBMjgwMENGCis6MDIxMTNFMDA1MDAzNUMKKzowMzExNDAwMDBBODBGODJBCis6MDExMTQzMDAyMjg5Cis6MDQxMTQ0MDBFNTZGNjAwMkYxCis6MDIxMTQ4MDA4MDA3MUUKKzowNzExNEEwMDdBMDA3NTM5MDA4MDA1RjEKKzowNTExNTEwMDdBNDA3NTM5MTAyMQorOjA5MTE1NjAwRTU2RTJBRkFFNTZFMjUzOUY1NzMKKzowQTExNUYwMDM5OTA4ODAyNzQ4MDJBRjA3QTAwQUIKKzowODExNjkwMEMzRUE2NDgwOTRBODUwMDM1RQorOjAzMTE3MTAwMEE4MEY1RkMKKzowMTExNzQwMDIyNTgKKzowNjExNzUwMEFBNzBBQjcxQUM3MjIwCis6MEMxMTdCMDA4QTgyOEI4MzhDRjAxMjE0RUVGRDYwMTg0OQorOjBEMTE4NzAwOEQ2REMwMDJDMDAzQzAwNDEyMTEwQ0QwMDQxNQorOjA5MTE5NDAwRDAwM0QwMDIwQUJBMDAwMTBCREQKKzowMjExOUQwMDgwRENGNAorOjAxMTE5RjAwMjIyRAorOjBEMTFBMDAwRTU3M0M0NTQwRkZBNTMwMjBGQzM3NDA5OUE4QgorOjAyMTFBRDAwNTAwNkVBCis6MDYxMUFGMDA3NDM3MkFGQjgwMDRFNgorOjA0MTFCNTAwNzQzMDJBRkI2RAorOjBDMTFCOTAwOEI2REMwMDMxMjExMENEMDAzQUE3MzUzRkQKKzowODExQzUwMDAyMEZDMzc0MDk5QTUwMDZFMQorOjA2MTFDRDAwNzQzNzJBRkI4MDA0QzgKKzowNDExRDMwMDc0MzAyQUZCNEYKKzowNTExRDcwMDhCNkQxMjExMENFQworOjAxMTFEQzAwMjJGMAorOjA3MTFERDAwOTA3REMzRTBGQTYwMEZGMgorOjBDMTFFNDAwOTA3REMxRTBGNTZFOTA3REMyRTBGNTZGREIKKzowMzExRjAwMDEyMTE0NDk1Cis6MEMxMUYzMDA5MDdERkZFNEYwNzU3MEM0NzU3MTdENzU4RgorOjA1MTFGRjAwNzIwMTEyMTE3NUUwCis6MDExMjA0MDAyMkM3Cis6MDIxMjA1MDA3QTA0NjkKKzowMzEyMDcwMEJBNDAwMEVBCis6MDIxMjBBMDA1MDM2NUMKKzowRTEyMEMwMEVBMjRDMEY1ODJFNDM0N0RGNTgzRTBGQjdDMDAyQgorOjAzMTIxQTAwQkMwODAwMEQKKzowMjEyMUQwMDUwMjA1RgorOjA2MTIxRjAwOEIwNUVEMzBFNzBCMkEKKzowQjEyMjUwMDkwN0Y5Njc0NDJGMDc0QzNGMDgwMDhDNAorOjA4MTIzMDAwOTA3Rjk2RTRGMDc0ODFGMDU4Cis6MDcxMjM4MDBFQjI1RTBGQjBDODBEQjVECis6MDMxMjNGMDAwQTgwQzU1RAorOjAxMTI0MjAwMjI4OQorOjA0MTI0MzAwN0EwMDdCRUZDMworOjAzMTI0NzAwQkExMDAwREEKKzowMjEyNEEwMDUwMjAzMgorOjBFMTI0QzAwNzQxMTJCRkIyNDAwRkNFNDM0MThGRDhDODI4RDAxCis6MEUxMjVBMDA4M0U0RjBFQTI0MDBGNTgyRTQzNDE5RjU4M0U0MUQKKzowNDEyNjgwMEYwMEE4MERCMkQKKzowMTEyNkMwMDIyNUYKKzowRTEyNkQwMDc0RjgyNDAwRjU4Mjc0MDMzNDg0RjU4M0U0RjBGMQorOjBFMTI3QjAwNzRGOTI0MDBGNTgyNzQwMzM0ODRGNTgzRTRGMEUyCis6MEUxMjg5MDA3NEZBMjQwMEY1ODI3NDAzMzQ4NEY1ODNFNEYwRDMKKzowRTEyOTcwMDc0RkIyNDAwRjU4Mjc0MDMzNDg0RjU4M0U0RjBDNAorOjBFMTJBNTAwNzRGRjI0MDBGNTgyNzQwMzM0ODRGNTgzRTRGMEIyCis6MDExMkIzMDAyMjE4Cis6MEUxMkI0MDAxMjAzQ0IxMjEyNkQ3QUMwN0I4NzdDMDE3NDAxOEQKKzowRTEyQzIwMDJBRkRFNDNCRkU4QzA3OEE4MjhCODM4Q0YwNzQzRAorOjBFMTJEMDAwMDExMjE0QkYyREZBRTQzRUZCOEYwNDhEODI4RUI2Cis6MEUxMkRFMDA4MzhGRjA3NDA2MTIxNEJGNzQwMTJBRkRFNDNCRTYKKzowRTEyRUMwMEZFOEMwNzhBODI4QjgzOENGMEU0MTIxNEJGNzQ5MAorOjBFMTJGQTAwMDEyREZBRTQzRUZCOEYwNDhEODI4RTgzOEZGMDZGCis6MEUxMzA4MDA3NDBCMTIxNEJGNzQwMTJBRkRFNDNCRkU4QzA3MjcKKzowRTEzMTYwMDhBODI4QjgzOENGMDc0MDgxMjE0QkY3NDAxMkQzMAorOjBFMTMyNDAwRkFFNDNFRkI4RjA0OEQ4MjhFODM4RkYwNzQwMUZECis6MEUxMzMyMDAxMjE0QkYyQUZERTQzQkZFOEMwNzhBODI4QjgzRDcKKzowRTEzNDAwMDhDRjBFNDEyMTRCRjc0MDEyREZBRTQzRUZCOEYxMgorOjBFMTM0RTAwMDQ4RDgyOEU4MzhGRjA3NDAzMTIxNEJGN0QwMDE1Cis6MDMxMzVDMDBCRDA2MDBDQgorOjAyMTM1RjAwNTAxMjJBCis6MEIxMzYxMDA4QTgyOEI4MzhDRjAwQUJBMDAwMTBCMUIKKzowNzEzNkMwMEU0MTIxNEJGMEQ4MEU5M0IKKzowRDEzNzMwMDhBODI4QjgzOENGMEU1NzQxMjE0QkY3NEY5MkMKKzowRTEzODAwMDI0MDBGNTgyNzQwMzM0ODRGNTgzNzQwRkYwNzQzNgorOjBFMTM4RTAwRkUyNDAwRjU4Mjc0MDMzNDg0RjU4Mzc0MDFGMEFDCis6MDYxMzlDMDAxMjAzRTExMjA0Rjc0OAorOjAxMTNBMjAwMjIyOAorOjBEMTNBMzAwOTA3REMxRTBGQTI0MDBGQkU0MzQxOUZDOTBCOQorOjBFMTNCMDAwN0RDMkUwRkQ4QjgyOEM4M0YwNzVGMDExRUFBNDAzCis6MDMxM0JFMDBGQTdCMDBCNworOjAzMTNDMTAwQkIxMDAwNUUKKzowMjEzQzQwMDUwMjRCMworOjBFMTNDNjAwRUEyNDAwRkNFNDM0MThGREVCMkNGQ0U0M0RGREIxCis6MEUxM0Q0MDA3NDA0MkIyNEMwRjU4MkU0MzQ3REY1ODNFMEZFMjIKKzowODEzRTIwMDhDODI4RDgzRjAwQjgwRDc5MworOjBFMTNFQTAwRUEyNDAwRkFFNDM0MThGQjc0MTAyQUY1ODJFNEI5Cis6MDUxM0Y4MDAzQkY1ODNFNEYwNjkKKzowMTEzRkQwMDIyQ0QKKzowNDEzRkUwMEU1NzY2MDAyMkUKKzowMjE0MDIwMDgwMTY1MgorOjBDMTQwNDAwNzQwRjU1NzVGQThBNzUyNDAwRjU4MkU0MTcKKzowQTE0MTAwMDM0MTlGNTgzRTBGNTc0MTIxMkI0RUMKKzowQTE0MUEwMDEyMTBDQTc1NkUwMDc1NkYwMDEyMDMKKzowNjE0MjQwMDExNDQ3NTcwQjk3NTVBCis6MDYxNDJBMDA3MTE0NzU3MjAyMTIzQworOjBCMTQzMDAwMTE3NUU1NzZCNDAyMDQ3NDAxODAwMTIwCis6MDExNDNCMDBFNENDCis6MDMxNDNDMDBGQTcwMEYzNAorOjBDMTQzRjAwNzQwMTI1NzVGNTczQzAwMjEyMTFBMEQwRDUKKzowMzE0NEIwMDAyODAwQTEyCis6MEExNDRFMDA4NTc1NzNDMDAyMTIxMUEwRDAwMkQwCis6MEMxNDU4MDA3NTZFMDA3NTZGMDFDMDAyMTIxMTQ0RDBDNworOjA0MTQ2NDAwMDJFQTcwMUEwRQorOjBEMTQ2ODAwNzVGMDExRTU3NUE0RkEyNDAwRkFFNDM0MThCQgorOjA5MTQ3NTAwRkI4QTcwOEI3MTc1NzIwMTEyODMKKzowNDE0N0UwMDExNzU4MDM2MkUKKzowMjE0ODIwMDdBMDBFRQorOjAzMTQ4NDAwQkExMDAwOUIKKzowMjE0ODcwMDUwMkZFNAorOjBEMTQ4OTAwRUEyNDAwRjU4MkU0MzQxOUY1ODNFMEZCRTU2OAorOjA0MTQ5NjAwNzVCNTAzMUIwQQorOjBFMTQ5QTAwNzVGMDExRUFBNEZCMjQwMEZCRTQzNDE4RkM4QjZGCis6MDkxNEE4MDA3MDhDNzE3NTcyMDFDMDAyMTIxMgorOjA0MTRCMTAwMTE3NUQwMDJERgorOjAzMTRCNTAwMEE4MENDREUKKzowMTE0QjgwMDIyMTEKKzowNjE0QjkwMDUwNzI2RjY3MjAwMDc1Cis6MEUxNEJGMDBDOEMwRTBDOEMwRTBFNUYwNjAwQjE0NjAwRjE0NzgKKzowNzE0Q0QwMDYwMTExNDYwMTI4MDE1OEMKKzowNzE0RDQwMEQwRTBBODgyRjY4MDBFQjMKKzowNTE0REIwMEQwRTBGMDgwMDlFMworOjA0MTRFMDAwRDBFMDgwMDVEMworOjA1MTRFNDAwRDBFMEE4ODJGMjM3Cis6MDQxNEU5MDBDOEQwRTBDOEJGCis6MDExNEVEMDAyMkRDCis6MEUxNEVFMDBDOEMwRTBFNUYwNjAwRDE0NjAwRjE0NjAwRjE0MkMKKzowNjE0RkMwMDYwMTA3NEZGODAwRjc4Cis6MDUxNTAyMDBBODgyRTY4MDBBNEEKKzowMzE1MDcwMEUwODAwNzdBCis6MDQxNTBBMDBFNDkzODAwM0UzCis6MDMxNTBFMDBBODgyRTJDRQorOjA0MTUxMTAwRjhEMEUwQzg2NgorOjAxMTUxNTAwMjJCMworOjAwMDAwMDAxRkYKKworICogQ29weXJpZ2h0IChDKSAxOTk5IEJheUNvbSBHbWJICisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCByZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlCisgKiBjb2RlIHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBjb21tZW50IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbi4KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYXNtIGIvZmlybXdhcmUvZHNwNTZrL2Jvb3RzdHJhcC5hc20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBkODkxOQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYXNtCkBAIC0wLDAgKzEsOTggQEAKKzsgQXV0aG9yOiBGcmVkZXJpayBOb3JpbmcgPG5vcmluZ0Bub2NyZXcub3JnPgorOworOyBUaGlzIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworOyBMaWNlbnNlLiAgU2VlIHRoZSBmaWxlIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgYXJjaGl2ZQorOyBmb3IgbW9yZSBkZXRhaWxzLgorCis7IERTUDU2ayBsb2FkZXIKKworOyBIb3N0IEludGVyZmFjZQorTV9CQ1IgICBFUVUgICAgICRGRkZFICAgICAgICAgICA7IFBvcnQgQSBCdXMgQ29udHJvbCBSZWdpc3RlcgorTV9QQkMgICBFUVUgICAgICRGRkUwICAgICAgICAgICA7IFBvcnQgQiBDb250cm9sIFJlZ2lzdGVyCitNX1BCRERSIEVRVSAgICAgJEZGRTIgICAgICAgICAgIDsgUG9ydCBCIERhdGEgRGlyZWN0aW9uIFJlZ2lzdGVyCitNX1BCRCAgIEVRVSAgICAgJEZGRTQgICAgICAgICAgIDsgUG9ydCBCIERhdGEgUmVnaXN0ZXIKK01fUENDICAgRVFVICAgICAkRkZFMSAgICAgICAgICAgOyBQb3J0IEMgQ29udHJvbCBSZWdpc3RlcgorTV9QQ0REUiBFUVUgICAgICRGRkUzICAgICAgICAgICA7IFBvcnQgQyBEYXRhIERpcmVjdGlvbiBSZWdpc3RlcgorTV9QQ0QgICBFUVUgICAgICRGRkU1ICAgICAgICAgICA7IFBvcnQgQyBEYXRhIFJlZ2lzdGVyCisKK01fSENSICAgRVFVICAgICAkRkZFOCAgICAgICAgICAgOyBIb3N0IENvbnRyb2wgUmVnaXN0ZXIKK01fSFNSICAgRVFVICAgICAkRkZFOSAgICAgICAgICAgOyBIb3N0IFN0YXR1cyBSZWdpc3RlcgorTV9IUlggICBFUVUgICAgICRGRkVCICAgICAgICAgICA7IEhvc3QgUmVjZWl2ZSBEYXRhIFJlZ2lzdGVyCitNX0hUWCAgIEVRVSAgICAgJEZGRUIgICAgICAgICAgIDsgSG9zdCBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyCisKKzsgU1NJLCBTeW5jaHJvbm91cyBTZXJpYWwgSW50ZXJmYWNlCitNX1JYICAgIEVRVSAgICAgJEZGRUYgICAgICAgICAgIDsgU2VyaWFsIFJlY2VpdmUgRGF0YSBSZWdpc3RlcgorTV9UWCAgICBFUVUgICAgICRGRkVGICAgICAgICAgICA7IFNlcmlhbCBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyCitNX0NSQSAgIEVRVSAgICAgJEZGRUMgICAgICAgICAgIDsgU1NJIENvbnRyb2wgUmVnaXN0ZXIgQQorTV9DUkIgICBFUVUgICAgICRGRkVEICAgICAgICAgICA7IFNTSSBDb250cm9sIFJlZ2lzdGVyIEIKK01fU1IgICAgRVFVICAgICAkRkZFRSAgICAgICAgICAgOyBTU0kgU3RhdHVzIFJlZ2lzdGVyCitNX1RTUiAgIEVRVSAgICAgJEZGRUUgICAgICAgICAgIDsgU1NJIFRpbWUgU2xvdCBSZWdpc3RlcgorCis7IEV4Y2VwdGlvbiBQcm9jZXNzaW5nCitNX0lQUiAgIEVRVSAgICAgJEZGRkYgICAgICAgICAgIDsgSW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyCisKKyAgICAgICAgb3JnICAgICBQOiQwCitzdGFydCAgIGptcCAgICAgPCQ0MAorCisgICAgICAgIG9yZyAgICAgUDokNDAKKzsgICAgICAgOyBaZXJvIDE2Mzg0IERTUCBYIGFuZCBZIHdvcmRzCis7ICAgICAgIGNsciAgICAgQSAjMCxyMAorOyAgICAgICBjbHIgICAgIEIgIzAscjQKKzsgICAgICAgZG8gICAgICAjNjQsPF9ibG9jazEKKzsgICAgICAgcmVwICAgICAjMjU2Cis7ICAgICAgIG1vdmUgICAgQSxYOihyMCkrIEIsWToocjQpKworO19ibG9jazEgICAgICAgIDsgWmVybyAoMzI3NjgtNTEyKSBQcm9ncmFtIHdvcmRzCis7ICAgICAgIGNsciAgICAgQSAjNTEyLHIwCis7ICAgICAgIGRvICAgICAgIzEyNiw8X2Jsb2NrMgorOyAgICAgICByZXAgICAgICMyNTYKKzsgICAgICAgbW92ZSAgICBBLFA6KHIwKSsKKztfYmxvY2syCisKKyAgICAgICAgOyBDb3B5IERTUCBwcm9ncmFtIGNvbnRyb2wKKyAgICAgICAgbW92ZSAgICAjcmVhbCxyMAorICAgICAgICBtb3ZlICAgICN1cGxvYWQscjEKKyAgICAgICAgZG8gICAgICAjdXBsb2FkX2VuZC11cGxvYWQsPF9jb3B5CisgICAgICAgIG1vdmUgICAgUDoocjApKyx4MAorICAgICAgICBtb3ZlICAgIHgwLFA6KHIxKSsKK19jb3B5ICAgbW92ZXAgICAjPjQsWDo8PE1fSENSCisgICAgICAgIG1vdmVwICAgIz4kYzAwLFg6PDxNX0lQUgorICAgICAgICBhbmQgICAgICM8JGZlLG1yCisgICAgICAgIGptcCAgICAgdXBsb2FkCisKK3JlYWwKKyAgICAgICAgb3JnICAgICBQOiQ3ZWE5Cit1cGxvYWQKKyAgICAgICAgbW92ZXAgICAjPjEsWDo8PE1fUEJDCisgICAgICAgIG1vdmVwICAgIz4wLFg6PDxNX0JDUgorCituZXh0ICAgIGpjbHIgICAgIzAsWDo8PE1fSFNSLCoKKyAgICAgICAgbW92ZXAgICBYOjw8TV9IUlgsQQorICAgICAgICBtb3ZlICAgICM+Myx4MAorICAgICAgICBjbXAgICAgIHgwLEEgIz4xLHgwCisgICAgICAgIGplcSAgICAgPCQwCitfZ2V0X2FkZHJlc3MKKyAgICAgICAgamNsciAgICAjMCxYOjw8TV9IU1IsX2dldF9hZGRyZXNzCisgICAgICAgIG1vdmVwICAgWDo8PE1fSFJYLHIwCitfZ2V0X2xlbmd0aAorICAgICAgICBqY2xyICAgICMwLFg6PDxNX0hTUixfZ2V0X2xlbmd0aAorICAgICAgICBtb3ZlcCAgIFg6PDxNX0hSWCx5MAorICAgICAgICBjbXAgICAgIHgwLEEgIz4yLHgwCisgICAgICAgIGplcSAgICAgbG9hZF9YCisgICAgICAgIGNtcCAgICAgeDAsQQorICAgICAgICBqZXEgICAgIGxvYWRfWQorCitsb2FkX1AgIGRvICAgICAgeTAsX2xvYWQKKyAgICAgICAgamNsciAgICAjMCxYOjw8TV9IU1IsKgorICAgICAgICBtb3ZlcCAgIFg6PDxNX0hSWCxQOihyMCkrCitfbG9hZCAgIGptcCAgICAgbmV4dAorbG9hZF9YICBkbyAgICAgIHkwLF9sb2FkCisgICAgICAgIGpjbHIgICAgIzAsWDo8PE1fSFNSLCoKKyAgICAgICAgbW92ZXAgICBYOjw8TV9IUlgsWDoocjApKworX2xvYWQgICBqbXAgICAgIG5leHQKK2xvYWRfWSAgZG8gICAgICB5MCxfbG9hZAorICAgICAgICBqY2xyICAgICMwLFg6PDxNX0hTUiwqCisgICAgICAgIG1vdmVwICAgWDo8PE1fSFJYLFk6KHIwKSsKK19sb2FkICAgam1wICAgICBuZXh0CisKK3VwbG9hZF9lbmQKKyAgICAgICAgZW5kCmRpZmYgLS1naXQgYS9maXJtd2FyZS9kc3A1NmsvYm9vdHN0cmFwLmJpbi5paGV4IGIvZmlybXdhcmUvZHNwNTZrL2Jvb3RzdHJhcC5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzNmMjFmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZHNwNTZrL2Jvb3RzdHJhcC5iaW4uaWhleApAQCAtMCwwICsxLDI2IEBACis6MTAwMDAwMDAwQzAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTAwMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTAwMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCis6MTAwMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAwMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAwMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAwMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAwMEMwMDA2MEY0MDAwMDAwNEY2MUY0MDAwMDdFQTkwNjJFODAwMDVECis6MTAwMEQwMDAwMDQ3MDdEODg0MDc1OTg0MDhGNEE4MDAwMDA0MDhGNEVFCis6MTAwMEUwMDBCRjAwMEMwMDAwRkVCODBBRjA4MDAwN0VBOTA4RjRBMDUyCis6MTAwMEYwMDAwMDAwMDEwOEY0QkUwMDAwMDAwQUE5ODAwMDdFQUQwOERGCis6MTAwMTAwMDA0RTJCNDRGNDAwMDAwMDAzNDRGNDQ1MDAwMDAxMEVBMDBGCis6MTAwMTEwMDAwMDBBQTk4MDAwN0VCNTA4NTAyQjBBQTk4MDAwN0VCODhECis6MTAwMTIwMDAwODQ2MkI0NEY0NDUwMDAwMDIwQUYwQUEwMDdFQzkyMENDCis6MTAwMTMwMDAwMDQ1MEFGMEFBMDA3RUQwMDZDNjAwMDA3RUM2MEFBOUM1Cis6MTAwMTQwMDA4MDAwN0VDNDA4NTg2QjBBRjA4MDAwN0VBRDA2QzYwMEIxCis6MTAwMTUwMDAwMDdFQ0QwQUE5ODAwMDdFQ0IwODU4QUIwQUYwODAwMDUzCis6MTAwMTYwMDA3RUFEMDZDNjAwMDA3RUQ0MEFBOTgwMDA3RUQyMDg1ODYzCis6MDcwMTcwMDBFQjBBRjA4MDAwN0VBREY4Cis6MDAwMDAwMDFGRgorLyogRFNQNTYwMDEgYm9vdHN0cmFwIGNvZGUgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VkZ2Vwb3J0L2Jvb3QuSDE2IGIvZmlybXdhcmUvZWRnZXBvcnQvYm9vdC5IMTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJmOGU5MQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Jvb3QuSDE2CkBAIC0wLDAgKzEsMjkgQEAKKzowMDA0MDAwMDAwMDEwQzAwMDJFRAorOjAwMDIwMDAwMDQwMEZGRkIKKzowMDA2MDAwMDAwMDIwMDgwMDIwMDAzNzMKKzowMDAzMDAwQjAwMDIwMDBCRTUKKzowMDAzMDAxMzAwMDIwMUI4MkYKKzowMDAzMDAxQjAwMDIwMDFCQzUKKzowMDAzMDAyMzAwMDIwMDIzQjUKKzowMDAzMDAyQjAwMDIwMDJCQTUKKzowMDAzMDAzMzAwMDIwMDMzOTUKKzowMDAzMDAzQjAwMDIwMDNCODUKKzowMDAzMDA0MzAwMDIwMUJERkEKKzowMDAzMDA0QjAwMDIwMUQwREYKKzowMDAzMDA1MzAwMDIwMTIxODYKKzowMDAzMDA3QjAwMDIwMDdCMDUKKzowMTY2MDA4MDAwN0VCMDAwN0FCMzNGRjI3RUY4MDAyMzdFMDAwMTdFMTAwMDEyMDc1RjY5MjAwMDBBQkUyNDAwMDA3ODA1NzU5MDBEODAwMzc1OTAxREQyQjU3RTAwMDBBNUQ4RkQ3NUE4MDA3NUIxMDBBOUQ1ODdDQTI5MTIwOUNDMTIwOUEwRjUwOTdBQTEyMDEyMDFFNkRBMjlBOUQwQzc3RTAwMDU3QTAxRjE3NUUxMTBBOUQ3RjRBOUQ3RTRBNUQ4RjE3NUYxMDA3NUUxM0Y3NUEyMDM3NUEzMDA3NUMwMDA3NUMxMDBBOUQxQjFBOUQwQjFBOUQ1RDNEMkFGRTQ3RTA0MjgwMDhERUYxQjA0NzhGQTA0QTkzNEQzMDMzMEUwRUVCRTI0MDAwMDc4MDU2MzkwMzA4MEUzQjI5NTgwREZCRUIwMDIyMkMwRDBBOTIwREYwRkE5MzFERjAzMDIwMUI1NzUwODAxMTIwODMzODBGRTc1MDhGRTEyMDgzMzc1QTgwMDdFQjMzRkYyMzBFMDRCMzAwMTQ2QzI5MjdFMjQ4MDAwN0UxMTA5NzQwODE5QjIwMDEwNzQwRTE5QjIwMDA0MkUyNDAxMDBBNUQ5RUQ3RTI0ODAwMDdFMTEwOUU0RDVFMEZEMDlCMjAwMDgyMEUwMEEwOUIyMDAwMDA5QjIwMDE4ODBFQjJFMjQwMTAwQTVEOUU0NDM5MDMwRDJBQTgwMDVEMkFBNDM5MDM0RDJBRkE5RDE4NzAwMDAwMDAwMDBBOTExREYwM0E5RDJERjc1MDhGRjEyMDgzM0MwRDFDQTAyRkZDQTA2ODMwMDMyRDBEMDMyQzI4QkMyQUEzMjc1MDgwODEyMDgzM0E5QzBCMUE5QzVEM0E5QzZEM0E5RDJCMTMyQ0FCODc1MDgwMjEyMDgzM0U1QzA1NDAzNjgwNTEyMDFFRTgwRjVEQUI4MzJBRQorOjAwMDExQkNBMDAwMDFBCis6MDY0RDAxRTYwMEU0N0FCMzNGRjEwMjAyNjNDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUJDMEYxN0VCMzAxMkJCNDAwMDI4MDE5QjQwMTE2MzBDMDA4NzVGMTAwMTIwMjREODAxRjMwQzExQzc1RjEwMDEyMDJERTgwMTQzMEMxMDg3NUYxMDAxMjAyREU4MDA5MzBDMDA2NzVGMTAwMTIwMjRERDBGMURBRUJEQTdCREE2QkRBNUJEQTRCREEzQkRBMkJEQTFCREEwQjIyQzJDMDdFQjMwMTJCQjQwMjA3MTIwMjZGMDIwMjYzMjJCNDAxRkMwMjAyQTk3RTAwMDA3QTAzMDEyQjdBMDMwMTJDMjI3RUIzMDEyMzU0NjA2MDA1QjQ0MDE1ODAxMzdFQjMwMTI0QjQwNTBDNzUwODcxMTIwODMzN0VCMzAxMjZGNThGMjI3NUY2MDAyMkJFNTcwMTI5MjgwNDdFNTcwMTI5N0EwRjAxMkU3QTU3MDEzMjAyMDJBOTdFRUYwMTJFN0VGNzAxMzI3RTA3MDEzMjREMDA2ODIxN0UwMDAwN0VFQkIwRjVGM0EzQTUwODFCRjQ2ODA0QTVCODA4RjA3QUVGMDEyRTdBRjcwMTMyNzUwODA2MTIwODMzN0EwMUY2MjJDMkMxNzUwODAzMTIwODMzQTkzNkUyMTZFNUY1NTRDMDY4MDdBOUQ3RjRBOTI3RjRGQzUzRTEzRjQzRjI4ODAyMDM1NTdFQjMwMTJDQjQwMjBGQTlENEU0N0VCMDAwN0FCMzAxMkM3QUIzMDEyQjIyQjQwMTM5N0UyMUU2N0MzMjdFMTMwMTJEMkMyMTdBMjMwMTJEN0UwMDAwMkUwNDAxMzRFNUUzN0EwOUIwMEIwNEE1REJGNkE5RDRFNDc1MDg3MDEyMDgzMzdFQjMwMTJEN0VBMzAxMkFCQ0FCNzgwMzEyMDNFQzIyMDIwNzU1RTVFNkI0MDg2NUE5QzRFMjdFMDFFMzdFMTFFMzdFMzFFMzdFMjFFMzdFNTFFMzdFNDFFMzdFNzFFMzdFNjFFMzdBMEYwMTIzN0ExRjAxMjc3NTA4MDQxMjA4MzM3QTAxMDgxMjA4MzM3QTExMDgxMjA4MzM3QTIxMDgxMjA4MzM3QTMxMDgxMjA4MzM3QTQxMDgxMjA4MzM3QTUxMDgxMjA4MzM3QTYxMDgxMjA4MzM3QTcxMDgxMjA4MzNBOUQ0RTRBOUQ3RjRBOUM2RTIxMjAzQzAyMjZEMDA3RTE0MDEwMjdBMDcwMTMyN0EwMzAxMkQ3RUIzMDEyMzIwRTcwRjdBMjMwMTJDN0EzMzAxMkJCRTA3MDEyOTY4MDkyMjdBMzMwMTJDN0EyMzAxMkI3RUIzMDEyMzU0RTMyMzIzMzBFMDAyRDJFNTMwRTcwMkQyRTQzMEU1MDYzMEU0MDMwMjA3NTU1NDNFRjVGMDAzNTQxRkMzMjVGMDkwMDQxODc1ODRGRjczMDIwNTZDMDIwNDYwMDIwNjA5MDIwNjI0MDIwNTA1MDIwNEM2MDIwNjNEMDIwNjNEMDIwNjQwMDIwNjQwMDIwNjQwMDIwNjQwMDIwNjQwMDIwNjQwMDIwNjQwMDIwNjQwMDIwNjQ2MDIwNkZBMDIwNjQzMDIwNjQzMDIwNjQzMDIwNjQzMDIwNjQzMDIwNjQzN0VCMzAxMjRCNDA2MkE3RUIzMDEyNTYwNTY3QzBCN0UxMzAxMjY3RTE3MDEyNzc1MDg3MjEyMDgzMzdBMDEwODEyMDgzMzdBMTEwODEyMDgzMzEyMDc1RjQwMzUwMjAyOTRCNDA4MTA3NTA4NzQxMjA4MzM3RUIzM0ZGMUY1RjM3NUY2MDEyMkI0MDAxQzc1MDg3NTEyMDgzMzdFQjMzRkYyMzBFMDA1NzVGMzAyODAwMzc1RjMwMDc1RjMwMDc1RjYwMjIyMDIwNzU1N0VCMzAxMjRCNDAwMzU3NTA4NzYxMjA4MzM3RUIzMDEyODU0MEZGNUYxN0VCMzAxMjgyMEU3MDlFNUUxMzBFNzBENzQwMTgwMEJFNUUxMzBFNjA0NzQwMTgwMDI3NDAwNTNGMTgwRjVGMzc1RjMwMDc1RjYwMjIyMDIwNzU1QzBGMTdFQjMwMTI4NTQwRjQyRjE3RUIzMDEyNkI0MDA0NTdFQjMwMTI0QjQwMTI0NzUwODc3MTIwODMzN0VCMzAxMjg1NDBGNzgwNTUzRTEzRjgwMzc3RUIzMDEyODIwRTcwNTUzRTE3RjgwMkI1M0UxQkY4MDI2QjQwMzE3NzUwODc4MTIwODMzN0VCMzAxMjgyMEU3MDU0M0UxODA4MDExNDNFMTQwODAwQzQzRTFDMEQwRjE3NTA4MDcxMjA4MzMyMkQwRjEwMjAyOTA3RUIzMDEyNEI0MDkyMzc1MDg3OTEyMDgzMzdFQjMwMTI2QkVCMzNGRjE2ODExQ0FCOEMwRjExMjAxMUREMEYxREFCODUwNzY3QUIzM0ZGMTgwNkRCNDA1MDg3NTA4N0ExMjA4MzM4MDYyQjQwMzE5NzUwODdCMTIwODMzN0VCMzAxMjZCNDAxNTU3RUIzM0ZGMjQ0MDE3QUIzM0ZGMjgwNDZCNDAxMTk3NTA4N0MxMjA4MzM3RUIzMDEyNkI0MDEzOTdFQjMzRkYyNTRGRTdBQjMzRkYyODAyQUI0MDcyQTdFQjMwMTI1NjAyNDdDMEI3RTEzMDEyNjdFMTcwMTI3NzUwODczMTIwODMzN0EwMTA4MTIwODMzN0ExMTA4MTIwODMzMTIwNzhCNDAwMzAyMDI5MDAyMDc1NTdFQjMwMTI0QjQwQkY2NzUwODdEMTIwODMzN0VCMzAxMjY3RUEzMDEyODRDQUI3OEU0ODBERjdFQjMwMTI0QjQwQURCNzUwODdFMTIwODMzN0VCMzAxMjY3MENGRjVGMzc1RjYwMTIyMDIwNzU1MDIwNzU1MDIwNzU1N0VCMzAxMjRCNDA0MjA3NTA4QzMxMjA4MzM3RTA0MDAwMTdFMTcwMTI1N0UxODAxMzQ3QTFDMDAwMDdFNDcwMTI5MTIwODNGMDIwNkY0QjQwNjNBNzUwOEMxMTIwODMzN0U1ODAwMDA3QTVDMDBGRTdEQ0E3RUQ3MDEyNTdFNzgwMTM0N0E3QzAwMDA3RTc3MDEyOTc1MDhDMTEyMDgzM0MwQThDMDg3QzJBRkE5RDU4NzEyMDhENkQwODdEMEE4NDA0RjgwNEFCNDAwMUNDMkFGQTlENTg3MTIwMjkwRTQ4REVGOERFRjhERUZENUUwRjdDMEQxQ0EwMkZGQ0EwNjAwMDAzMkI0MDkxMjdFNTcwMTI1NEQ1NTY4MDVBOUQyQjE4MDAzQTlDMkIxODAxNkI0MDcxNkMyQUY3RTA3MDEyNzdFMTcwMTI1QzBEMUNBMThDQTM4Q0EyODMyMDIwMjkwMDIwNzU1N0VCMzAxMjRCNDAzMTU3NTA4QzIxMjA4MzM3RTA0MDAwMTdFMTcwMTI1N0U1NzAxMjkwMjAyOTRCNDA1Mzk3NTA4QzAxMjA4MzNDMEE4QzA4N0MyQUZBOUQ1ODc3RTA4MDEzNDdBMEMwMDAwN0UyNDAwRkU3RTM3MDEyNTdFNDcwMTI5MTIwODNGRDA4N0QwQTg3RTA4MDEzNDdBMEMwMDAwN0U1NzAxMjkwMjAyOTQwMjA3NTU3NTA4MDcxMjA4MzM0M0UxQzAyMkMwQThDMDg3QzJBRkE5RDU4NzEyMDdDQTQwMTk3RTA4MDEzNDdBMEMwMDAwQ0EwQkNBNDkxMjA4M0ZEQTU5REEwQkQwODdEMEE4QzMyMkQwODdEMEE4MjJDMEE4QzA4N0MyQUZBOUQ1ODcxMjA3Q0E0MDJCN0U1ODAwMDA3QTVDMDBGRTdGNjE3RTc4MDEzNDdBN0MwMDAwN0U3NzAxMjlCRDc0NzgxMTc1MDhDMTEyMDgzMzEyMDhENjQwMDZEMDg3RDBBOEMzMjJEMDg3RDBBOEQzMjI3RTI0MDBGRTdFMzQ3RkNBMEIxQTUwQzVGMDdENjI3RDc1N0Q4NzdFMzQ3RjAzN0UxQkIwQkMwQjUwNDkzRTAwM0UwMDBBNTAyRDc1MEIzQTMwNjk1MzAwMDJCRDM4NTAwMjJEMzhCQzFCNTAzMDNFMTAzRTEwMEE1MTJEMzU2OTQxMDAwMjBCMUEzMEJEMzg1MDAyMkQzOEJFNDRGRkZGNzgwNTdFMUI5MDBBNDk0RDQ0NjgwQ0JFNDQwMEZGMjgwNDdFNDQwMEZGQzMyMkQzMjIzNAorOjAwNDA3RkMwMDA0MDAxMDIwMENBMUIwMTBDMDIwMDAwN0MwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjE3RjAwMDAwMDAwMDAwMDVECis6MTM5NzA4MzMwMENBMDg3RTAxMDg3QTAzM0ZGMERBMDgyMjgwNTAwQjFBNjAwQjM1MEIxQTcwMEIzNTBCMUE4MDBCMzUwQjFBOTAwQjM1MEIxQUEwMEIzNTBCMUFCMDBCMzUwQjFBQzAwQjM1MEIxQUQwMEIzNTFCMEE2MDBCMTUxQjBBNzAwQjE1MUIwQTgwMEIxNTFCMEE5MDBCMTUxQjBBQTAwQjE1MUIwQUIwMEIxNTFCMEFDMDBCMTUxQjBBRDAwQjE1OUU0NDAwMTA1MEFBMkU0NDAwMTA2ODBFN0UxQkMwN0EwQkMwMEIxNDBCMzQxQjQ0NzhGMjIyN0Y2RjdGRjAxQkZDN0M1NDdEMzI4MDA4Q0ExQkNBMUJDQTFCQ0ExQjlFNDQwMDEwNTBGMjJFNDQwMDEwNjgwNkNBNDgxQjQ0NzhGQTdGRjY4OUU0Q0E2QjVFRDQwMDNGNjgyMDdFODQwMDQwOUQ4RERBNkJCRDg3MzgxNkNBNzk3RDc4MTIwOTAwREE3OTQwMDg5RDc4NjgwMjgwMDVDMkQ3MjJEQTZCNDM5MDMwNzRBQTM5QjU1NTU1NzQ1NTM5QjUyQUFBNzRBMDM5QjU1NTU1N0UwNDAwNDA5RDcwNTAwNjJENzA3RDA3NkQ3NzdDMzE3RTdCMDA3QTZCMDAwQjdDMEI2Q0E1RDlGMzdGMTYxQjFDN0U1NDI3MTA3RTFCMTBCQzEwNjgwNjFCNTQ3OEY1ODAyQzZEMDA3QzIwN0YxNjlGMTA3RjI3OUYyMDdFMkIwMDdFMUIxMEJDMDE3ODE2MEIyQzBCMUNBNURCRUY3Q0I2MjBFMDAzNjM5MDMwNEQ3Nzc4OTNDMkQ3MjJEMkQ3MjIwMDA0MDAwNDAwMDAwNjA0MDIwNDAwMDIwMTA0MDEwMjAwMDAwMDAwMDAwMDAwMDAwMjAyMDIwMjAyMDQwMDA4MTAwMjEwMDQwMjA4MDAwMTAxMDg3RTE4N0ZCRDdBMUMwMEZGMEIxQTAwQkUxMDE0MzgxQTBBNTEyMzdFMTgwOTc2N0ExQzAwRkYyRDM1MEIxQTUwNjAwOEE1QjgwMjAzNEVBMDA4MjI4MEZFN0VFODdGQkY3QUVDMDBGRkUwRjUyMjU0QzA2ODE2N0VFODdGQkU3QUVDMDBGRkUwNjAwQzEyMDlBMEY1MDk3QUExMjAwMjBGMEEyMkMyOTVEMjk0MTIxOUZCNTM5MENGMTIxOUZCODBGMTBEMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwRDBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBNDU2NDY3NjU3MDZGNzI3NDJGMzQyMDJEMjA0ODYxNzI2NDc3NjE3MjY1MjA0NDY5NjE2NzZFNkY3Mzc0Njk2MzczMkMyMDUyNjU3NjIwMzEyRTMwMzAzQjIwNDM2RjcwNzk3MjY5Njc2ODc0MjAzMTM5MzkzODIwNDk2RTczNjk2NDY1MjA0Rjc1NzQyMDRFNjU3NDc3NkY3MjZCNzMwRDBBMDA1MDYxNzM3MzAwNDY0MTQ5NEMyMDIxMjEwMDUwNjE3MzczMjAyMDIwMjAwMDQ2NDE0OTRDMjAyMTIxMjAwMDBEMEE0NDY1NzQ2NTYzNzQyMDUyNjE2RDNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTUyNjE2RDIwNTQ2NTczNzQzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNDE2NDY0NzI2NTczNzMyMDYyNjk3NDIwMzAyRDMxMzQyMDc0NjU3Mzc0M0EyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1NzcyNkY3NDY1MjA0MTY0NjQ3MjY1NzM3MzNBMjAzMDMwM0EwMDIwMjA3NzY5NzQ2ODIwNjQ2MTc0NjEzQTIwMDAyQzIwNjE2RTY0MjA3MjY1NjE2NDNBMjAwMDBEMEE0RjZFNjUyMDZGNzIyMDYyNkY3NDY4MjA2RjY2MjA3NDY4NjUyMDY2NkY2QzZDNkY3NzY5NkU2NzIwNDE2NDY0NzI2NTczNzMyMDYyNjk3NDczMjA2QzY5NzM3NDY1NjQyMDYxNzI2NTIwNzM2ODZGNzI3NDY1NjQwRDBBNzQ2RjIwNzM2RjZENjU3NDY4Njk2RTY3M0EyMDAwMjA2MTZFNjQyMDAwMEQwQTQ0NjU3NDY1NjM3NDIwNTU2MTcyNzQzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNTM2MzcyNjE3NDYzNjgyMDUwNjE2NDJDNDY2OTQ2NkYyMDQ1NkU2MTYyNkM2NTIwMjYyMDUyNTM1NDNBMjAwMDBEMEEwQTIwMjAyMDU1NjE3Mjc0MjA1NDY1NzM3NDczMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDUwNkY3Mjc0MzEyMDIwMjA1MDZGNzI3NDMyMjAyMDIwNTA2RjcyNzQzMzIwMjAyMDUwNkY3Mjc0MzQwRDBBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDAwMEQwQTUwNkY3Mjc0MjA0NDY1NjM2RjY0NjU3MjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTQ0Njk2NzY5NzQ2MTZDMjA0QzZGNkY3MDYyNjE2MzZCM0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTQxNkU2MTZDNkY2NzIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTUyNTg0NDJDNTQ1ODQ0MjA3NDZGMjA1MjU0NTMyQzQzNTQ1MzJDNTI0OTIwNTM2ODZGNzI3NDNBMjAyMDIwMjAyMDAwMEQwQTUyNTg0NDJDNTQ1ODQ0MjA3NDZGMjA0NDU0NTIyQzQ0NTM1MjJDNDM0NDIwNTM2ODZGNzI3NDNBMjAyMDIwMjAyMDAwMEQwQTUyNTQ1MzVCNDM1NDUzMkM1MjQ5NUQyMDc0NkYyMDQ0NTQ1MjJDNDQ1MzUyMkM0MzQ0MjA1MzY4NkY3Mjc0M0EyMDAwMEQwQTUyNTQ1MzVCNDM1NDUzMkM0MzQ0NUQyMDc0NkYyMDQ0NTM1MjJDNTI0OTIwNTM2ODZGNzI3NDNBMjAyMDIwMjAyMDAwMEQwQTQ0NTQ1MjVCNDQ1MzUyMkM0MzQ0NUQyMDc0NkYyMDUyNTQ1MzJDNDM1NDUzMkM1MjQ5MjA1MzY4NkY3Mjc0M0EyMDAwMEQwQTQ0NTQ1MjIwNzQ2RjIwNDM1NDUzMkM0MzQ0MjA1MzY4NkY3Mjc0M0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTUyNTQ1MzIwNzQ2RjIwNDM1NDUzMkM1MjQ5MjA0QzZGNkY3MDYyNjE2MzZCM0EyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTUyNTQ1MzIwNzQ2RjIwNDM1NDUzMkM0MzQ0MjA0QzZGNkY3MDYyNjE2MzZCM0EyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTQ0NTQ1MjIwNzQ2RjIwNDQ1MzUyMkM0MzQ0MjA0QzZGNkY3MDYyNjE2MzZCM0EyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTBBMjAyMDIwNDUyMDUyMjA1MjIwNEYyMDUyMjAyMTIxMjEyQzIwNDUyMDUyMjA1MjIwNEYyMDUyMjAyMTIxMjEyMDJDMjA0NTIwNTIyMDUyMjA0RjIwNTIyMDIxMjEyMTBEMEEwQTQ0Njk2MTY3NkU2RjczNzQ2OTYzNzMyMDZFNkY3NzIwNzc2OTZDNkMyMDY1NkU3NDY1NzIyMDYxMjA2NDY1NjI3NTY3MjA2QzZGNkY3MDIwNkY2NjIwNzQ2ODY1MjA2NjY5NzI3Mzc0MjA2NDY1NzQ2NTYzNzQ2NTY0MjA2NTcyNzI2RjcyMkUwMDBEMEEwQTRFNkYyMDQ4NjE3MjY0Nzc2MTcyNjUyMDY1NzI3MjZGNzI3MzIwNjQ2NTc0NjU2Mzc0NjU2NDJFMEQwQTAwNDM2RjcwNzk2OTZFNjcyMDYzNkY2NDY1MjA2NjcyNkY2RDIwNEQ2MTczNzQ2NTcyMjA3NDZGMjA1MzZDNjE3NjY1Mjc3MzIwNDU0NTcwNzI2RjZEMjAyRTJFMkUwMDQ0NkY2RTY1MEQwQTBBMkQzRTIwNTQ3NTcyNkUyMDc1NkU2OTc0MjA2RjY2NjYyQzIwNjQ2OTczNjM2RjZFNkU2NTYzNzQyMDYzNjE2MjZDNjUyMDYxNkU2NDIwNzI3NTZFMjA3Mzc0NjE2RTY0NjE2QzZGNkU2NTIwNjQ2OTYxNjc2RTZGNzM3NDY5NjM3MzJFMDBDMkFGQzIwOUMyMEE3NTkwMEQyMDE3MDJEMkI1NDM5MDMwNkMwMDdFMTAwMzEyMEYzODdFNjgwQTAxN0E2QzAwRkYxMjFBOTMwQjAwMzBCNDAyODAyNDAyMUIzQzIwMDkxREMyOTREMjk1MTIxOUZCNTM5MENGMTIxOUZCQzI5NUQyOTQxMjE5RkJBNUQ5RTY0MzkwMzAxMjE5RkIyMjdFNjgwQTk0N0E2QzAwRkYxMjFBOTM3RUU0MTAwMDdFNDA1NTdBRTk0MDBCRTQ3RTUwQUE3QUU5NTAxQkU0QkVFOTQwNjgxOTdFNjgwQTdBN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MTM3QUU5NDA3RUU5MTA4MEY4N0U2ODBBNzU3QTZDMDBGRjEyMUE5MzBCMDA3RTY4MEFEODdBNkMwMEZGMTIxQTkzN0U3ODAwMDA3RTcwMEU3RUE0RkZGRjdFQjRCRkZGN0RDQjBFQzQ3RERDNUREQjZDQkI3REZBNUVGNDdGRkY3QTdCQjAwQkIwN0RGQjVFRjQ3RkZGN0E3QkIwMEJCMDdERkM1RUY0N0ZGRjdBN0JCMDBCQjA3REZENUVGNDdGRkY3QTdCQjA2Q0JCN0RGQTVFRjQ3RkZGQkU3QkIwNzg0MTBCQjA3REZCNUVGNDdGRkZCRTdCQjA3ODM0MEJCMDdERkM1RUY0N0ZGRkJFN0JCMDc4MjcwQkIwN0RGRDVFRjQ3RkZGQkU3QkIwNzgxQTBCQjBCRUM0RkZGRTc4OTIwRUI0QTVERjhCN0U2ODBBODI3QTZDMDBGRjEyMUE5MzgwNzdDQTVCQ0E2QjdFNjgwQThCN0E2QzAwRkYxMjFBOTM3RTY4MEIyQTdBNkMwMEZGMTIxQTkzMEE0NzEyMUFDOTdFNjgwQjc5N0E2QzAwRkYxMjFBOTM2Qzc3REE2QkNBNkIwQjcwMEVDNEJFQzRGRkZGNzhGNjFCNzAwQTQ3MTIxQUM5MTIxQTA4MzAwOTMwREE2QkRBNUI2Q0JCN0U3ODAwMDA3REZBNUVGNDdGRkY3QTdCQjA3REZCNUVGNDdGRkY3QTdCQjA3REZDNUVGNDdGRkY3QTdCQjA3REZENUVGNDdGRkY3QTdCQjA4MEQ0N0U2ODBBQjY3QTZDMDBGRjEyMUE5MzMwMTcwRTdFNzgwNDIwN0E3QzAwMDA3RTQ0N0JFMDgwMEM3RTc4MDAwMDdBN0MwMDAxN0U0NDgwMDAwQjAwN0U0MDNBN0M1NDdGNTc3RDg0NkM2NjdBNUI1MDBCNUMwQjUwQTVERTAyMEI1MDFCODQ3OEYwN0M1NDdGNTc3RDg0NkM2NkJFNUI1MDc4MUEwQjVDMEI1MEE1REUwMjBCNTAxQjg0NzhFRTdFNjgwQTc1N0E2QzAwRkYxMjFBOTM4MDRCN0Y0NTdFNjgwQTdBN0E2QzAwRkYxMjFBOTM3RTY4MEFGQTdBNkMwMEZGMTIxQTkzN0Q0QjEyMUFDOTdFNjgwQjBGN0E2QzAwRkYxMjFBOTM2Qzg4N0M5NTEyMUFDOTdFNjgwQjFEN0E2QzAwRkYxMjFBOTM3RTRCOTAxMjFBQzkxMjFBMDgzMDA5MDU3RTRCOTA4MEZCN0U2ODBCN0Y3QTZDMDBGRjEyMUE5MzBCMDBEMjkyN0UyNDgwMDAwOUIyMDAwOEJFQjAwMTc4MEIwOUIyMDAxNEJFQjA2MDc4MDI4MDE3N0U2ODBBN0E3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkxMTA5QjIwMDA4ODBGQTdFNjgwQTc1N0E2QzAwRkYxMjFBOTM3RTY4MEJBMTdBNkMwMEZGMTIxQTkzMEIwMEMyOTIxMjE5RUU3RTI0ODAwMDdFQTA1NTE5QTIwMDFDN0VCMDAxMTlCMjAwMDgwOUIyMDAxQ0JDQUI3ODM3MDlCMjAwMDg1RUIwQzBCRUIwQzA3ODJCN0VBMEFBMTlBMjAwMUM2Q0JCMTlCMjAwMDgwOUIyMDAxQ0JDQUI3ODE2MDlCMjAwMDg1RUIwQzA3ODBEN0U2ODBBNzU3QTZDMDBGRjEyMUE5MzgwMUI3RTY4MEE3QTdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTBBMTlBMjAwMUMwOUIyMDAxQzgwRjY3RTY4MEJDMzdBNkMwMEZGMTIxQTkzN0U2ODBDNDU3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5N0VCMDAxMTlCMjAwMUMyRTI0MDEwMDBCQjBBNUQ5RjM3RTI0ODAwMDdFMTEwOTdFQjAwMTBCMDAwOUEyMDAxQ0JDQUI3ODE2N0U2ODBBODI3QTZDMDBGRjEyMUE5MzJFMjQwMTAwMEJCMEE1RDlFMjgwMjU3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOUU0N0UyNDgwMDA3RTExMDkwOUEyMDAxQzJFMjQwMTAwQTVEOUY1ODBFQzdFNjgwQzY5N0E2QzAwRkYxMjFBOTMxMjEzOEE3RTI0ODAwMDdFMTEwOTBCMDA3NDEwMTlCMjAwMTAxMjEzMDMyRTI0MDEwMEE1RDlFRTdFNjgwQzhEN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDBFNDE5QjIwMDEwMTIxMzAzMkUyNDAxMDBBNUQ5RUYzMDAwMDMwMjE4QjcwMjEzQkI3NDA3MTlCMjAwMDgxMjE5RkIwOUIyMDAwMDA5QjIwMDE0MDlCMjAwMDAwOUIyMDAxNDA5QjIwMDAwMDlCMjAwMTQwOUIyMDAwMDA5QjIwMDE0QzIwQjdFQjA1NTEyMTM2NDdFQjBBQTEyMTM2NDdFQjAwMDEyMTM2NDdFQjBGRjEyMTM2NDMwMEIwRjdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgyMjdFNjgwQTgyN0E2QzAwRkYxMjFBOTMyMjE5QjIwMDAwMTIxOUVFMDlBMjAwMDBCQ0FCNzgwMTIyMjAwOTAzRDIwQjIyMTIxQTA4MTlCMjAwMDAxMjE5RUUwOUEyMDAwMDgwRjNEMjkyMTIxOUVFQzI5MjEyMTlFRTdFMjQ4MDAwN0UxMTA5NzQ4MDE5QjIwMDBDN0U1NDAwMDIxOUEyMDAwNDE5QjIwMDAwNzQwMzE5QjIwMDBDMkUyNDAxMDBBNUQ5RTEyMjdFNjgwQ0IxN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDAxMjE5RUUwOUIyMDAxODdFQTA1NTE5QTIwMDAwMTIxOUVFMDlCMjAwMTg1RUIwMDU3ODBEN0U2ODBBODI3QTZDMDBGRjEyMUE5MzgwMUE3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTA5MTlBMjAwMDAxMjE5RUU4MEY3MkUyNDAxMDBBNUQ5QjY3RTY4MENENTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwMTIxOUVFMDlCMjAwMTg3RUEwNTUxOUEyMDAwMDEyMTlFRTA5QjIwMDE4NUVCMDBBNzgwRDdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDFBN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwOTE5QTIwMDAwMTIxOUVFODBGNzJFMjQwMTAwQTVEOUI2MzAwNDAzMDIxNjhDN0U2ODBDRjk3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwQTc4M0M3RUEwMDExOUEyMDAxMDEyMTlFRTA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDBBNzgxNDdFNjgwQTgyN0E2QzAwRkYxMjFBOTMyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOUU2N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODBENDE3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwNTc4M0M3RUEwMDIxOUEyMDAxMDEyMTlFRTA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDIxOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDA1NzgxNDdFNjgwQTgyN0E2QzAwRkYxMjFBOTMyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOUU2N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODBEODk3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDdFQTAwMjE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwNTBCRUIwNTA3ODFGNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwNTA3ODBEN0U2ODBBODI3QTZDMDBGRjEyMUE5MzgwMjA3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTBGN0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5QTI3RTY4MEREMTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwMDlCMjAwMTg3RUEwMDExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMEEwQkVCMEEwNzgxRjZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMEEwNzgwRDdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwRjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOTlFMDIxODJCN0U2ODBEMUQ3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwNjc4M0M3RUEwMDExOUEyMDAxMDEyMTlFRTA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDA2NzgxNDdFNjgwQTgyN0E2QzAwRkYxMjFBOTMyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOUU2N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODBENjU3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwOTc4M0M3RUEwMDIxOUEyMDAxMDEyMTlFRTA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDIxOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDA5NzgxNDdFNjgwQTgyN0E2QzAwRkYxMjFBOTMyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOUU2N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODBEQUQ3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDdFQTAwMjE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwOTBCRUIwOTA3ODFGNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwOTA3ODBEN0U2ODBBODI3QTZDMDBGRjEyMUE5MzgwMjA3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTBGN0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5QTIwMjE4QjczMDE3MDMwMjE5M0JDMjhBMTIxOTIyN0UyNDgwMDA3RTExMDk2Q0FBMTlBMjAwMDQxMjE5RUUwQjAwN0VBMDA4MTlBMjAwMTAxMjE5RUUyMDhCM0UyMDg5M0I3RUEwMDgxOUEyMDAwNDA5QTIwMDEwNEVBMDAyMTlBMjAwMTAxMjE5RUUzMDhCMjMzMDg5MjAwOUEyMDAxMDVFQTBGRDE5QTIwMDEwMTIxOUVFN0VBMDAwMTlBMjAwMDQxMjE5RUUyMDhCMDUyMDg5MDI4MDFBMTIxQTA4MzAwOTE0N0VBMDAyMTlBMjAwMTAwMDAwNUVBMEZEMTlBMjAwMTAwMDAwODBFQzJFMjQwMTAwQTVEOTg5MDIxOTNCMjAxN0ZBMTIxMzhBMTIxOTIyN0UyNDgwMDA3RTExMDkwQjAwMjA4OTI2N0VBMEZGMTlBMjAwMDQxMjE5RUU3RUIwNTUxOUIyMDAwMDEyMTlFRTMwODkwRjdFQTAwMDE5QTIwMDA0MTIxOUVFMjA4OTAyODAyNjEyMUEwODMwMDkyMDdFQTBGRjE5QTIwMDA0MTIxOUVFN0VCMDU1MTlCMjAwMDAxMjE5RUU3RUEwMDAxOUEyMDAwNDEyMTlFRTgwRTAyRTI0MDEwMEE1RDlBODAyMTkzQjdFMjQ4MDAwN0UxMTA5N0VBMDA4MTlBMjAwMTAxMjE5RUUyRTI0MDEwMEE1RDlFRjIyMzAwQTE5N0U2ODBERjU3QTZDMDBGRjEyMUE5M0QyMDkxMjE5RUUxMjE5RUUxMjE5RUUwMjBGMTAzMDE3MUM3RTY4MEU2RjdBNkMwMEZGMTIxQTkzN0U2ODBFOTE3QTZDMDBGRjEyMUE5MzEyMUIzQzAyMTlFNjBCMDA3RTc4MTlBMDdBN0MwMEZGN0Y2NzdBNkMwMDAwN0U3MDNFN0U3QkIwN0E2QkIwMEI3QzBCNkNBNURGRjM3RTc4MTlBMDdBN0MwMDAwODk3ODdFNzgwMDAwN0E3QzAwRkU3RTY4N0ZCRjdBNkMwMEZFNzRBQTM5Qjc1NTU1NzQ1NTM5QjcyQUFBNzRBMDM5Qjc1NTU1NkM5OTdBNkI5MDdFNTQyNzEwN0U2QjgwQkM4OTY4MDgxQjU0NzhGNThBRkYxOURFOEFGRjE5RTYxMjFBMDg3RTZCODA4MEZCN0UxMEZGMTIxQTg1ODBGOENBRjk3RUY0MDBGRjFCRjQ3OEZDREFGOTIyQ0FGOTdFRjQwMDAwMUJGNDc4RkNEQUY5MjIyMDA5MTlEMjBBMTIxOUZCQzI5NUQyOTQxMjE5RkIxMjE5RkIxMjE5RkIxMjE5RkI0MzkwMzAyMkNBMEI3RTEwMDM3QzMwNkMyMjBCMjA5RTMwMEE1MEY5MkUzMDBCMUIyMDY4MTgxMjE5RkIxMjE5RkI1MzkwQ0YxMjE5RkIxMjE5RkIxMjE5RkI0MzkwMzBBNURBRTgxMjE5RkIxMjE5RkIxQjMwNjgxOTEyMTlGQjEyMTlGQkMyOTVEMjk0MTIxOUZCMTIxOUZCMTIxOUZCNDM5MDMwQTVEQkU3N0UyMDBBMTIxOUZCQTVEQUZBQTVEOUE3REEwQjIyMjAwOTBBMTIxOUZCQjI5NDEyMTlGQkIyOTQyMjMwMTczMjIwMDkyRkNBMkJDQTdCN0U3ODgwMDA3QTdDMDBGRTEyMUIxQzdFNkJBMDVDQUE2ODEwMjlCNzAwMTQ1NDYwNjhGODM5QTcwMDAwMEI2QzgwRTkxMjE5RUVEMkI1REE3QkRBMkIyMjEyMUFENDdFNjgwMDBCMTIxQTkzMjJDQTU5Q0E1QjdFQjQwMDBCN0NCOEM0MTIxQjA0N0NCODEyMUIwNDdDQjlDNDEyMUIwNDdDQjkxMjFCMDQ3RUIwNjg3QUI5QjAwQkI0NkNCQjdBQjlCMERBNTlEQTVCMjI1RUIwMEY3Q0FCOUVBMDBBNDAwNTJFQjAzNzgwMDMyRUIwMzA3QUI5QjAwQkI0MjJDMkI1QzI5MjEyMTlFRTc0ODAzOUI3MDAwQzdFNTQwMDA2MzlBNzAwMDQzOUI3MDAwMDc0MDMzOUI3MDAwQzIyN0U3ODAwMDA3QTdDMDBGRjdFNTgwMDAwN0E1QzAwMDE3RjY1N0U3NDIwMDAxMjA4RDY0MDU0N0U3ODdDMDA3QTdDMDBGRjdFNTgwMDAwN0E1QzAwMDE3RTY4N0MwMDdBNkMwMDAxN0U3NDA0MDAxMjA4RDY0MDMzNzQ4MDEyMUJCMTQwMkM1MzkwQ0ZEMjA4N0UwNDAwMDg3RTE0MDAwMDg0QTVEQkZDQTVEQUY5QTVEOUY2NzQ0MDEyMUJCMTQwMEU3RTY4MEVDMDdBNkMwMEZGMTIxQTkzMDIxOUU2QzI5NUQyOTQ4MEZFRjUwQTdFNzgwMDBBN0E3QzAwMDA3RTY4N0ZCRjdBNkMwMDAxN0U3NDAwMDEwMjA4RDZEMgorOjAwMDAwMDAwMDFGRgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCisvLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2CisvLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisvLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VkZ2Vwb3J0L2Jvb3QyLkgxNiBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Jvb3QyLkgxNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjE0Mjk1Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZWRnZXBvcnQvYm9vdDIuSDE2CkBAIC0wLDAgKzEsMjggQEAKKzowMDA0MDAwMDAwMDIwMDAwMDNGNworOjAwMDIwMDAwMDQwMEZGRkIKKzowMDA2MDAwMDAwMDIwMDgwMDIwMDAzNzMKKzowMDAzMDAwQjAwMDIwMDBCRTUKKzowMDAzMDAxMzAwMDIwMjU2OTAKKzowMDAzMDAxQjAwMDIwMDFCQzUKKzowMDAzMDAyMzAwMDIwMDIzQjUKKzowMDAzMDAyQjAwMDIwMDJCQTUKKzowMDAzMDAzMzAwMDIwMDMzOTUKKzowMDAzMDAzQjAwMDIwMDNCODUKKzowMDAzMDA0MzAwMDIwMDQzNzUKKzowMDAzMDA0QjAwMDIwMDRCNjUKKzowMDAzMDA1MzAwMDIwMUY1QjIKKzowMDAzMDA3QjAwMDIwMDdCMDUKKzowMjE2MDA4MDAwN0VCMzkxMDEyMEUzMEM3RUIzM0ZGMjU0RkU3QUIzM0ZGMjgwMEE3RUIzM0ZGMjQ0MDE3QUIzM0ZGMjc0MDA3QUIzOTEwMDc0MDE3QUIzOTExMjdFRjgwMDI0N0UwMDAxN0UxMDAwMTIwOUQwNjkyMDAwMEE1RTQwMUZCRTI0MDAwMDc4MDk3RTAwMDM3QTAzOTAwMDgwMDc3RTAwMDI3QTAzOTAwMDc1QjBERjdFMDAwMTdBMDM5NDAwN0EwMzAxMjQ3RTAwMDE3QTAzOTMwMDdFMDAwMEE1RDhGRDc1QTgwMDc1QjEwMENBMjkxMjBDNjYxMjBDMzdGNTIxN0FBMTIwMjAwOTA4MjAwQTBBN0VCMDBDODAwODdFQjAwMDgwMDM3RUIwMDg3QUIzOTIwMDEyMDI5NkRBMjk3NDEwN0FCMzkxMDE3RTIwMDQ3Q0IyQzJENzEzMTMxMzEzN0FCMzkxMDA3NDAwN0FCMzkxMTA3NDYwN0FCMzkxMUM3NDAyN0FCMzkxMTJBNURBREY3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDEwN0FCMzkxMDY3NDEwN0FCMzkxMDc3NDM0N0FCMzkxMTM3NDNGN0FCMzkxMTQ3NDAyN0FCMzkxMDY3NDAxN0FCMzkxMDc3NDAzN0FCMzkxMDY3NDQ0N0FCMzkxMDc3NEVGN0FCMzkxMDQ3NDA3N0FCMzkxMDY3RUIzOTEwNzdBQjEwQTc1MDkwMUQyQUFEMkFGRTQ3RTYwMDI0RDIyNzgwMzdFNjAwMzdDNzY3RTA0MjgwMDhERUYxQjA0NzhGQTA0N0UyMDA3N0EyMzkxMDY3RTIzOTEwNzdFMzEwQUJDMzI2ODIyN0EyMTBBN0UyMTA5NjgxN0NBQjg3NDAzN0FCMzkxMDY3RUIzOTEwNzQ0MDI3QUIzOTEwN0RBQjg3NTA5MDAzMEUwQzE2QzY3N0E2MzkwMDA4MEI5QkVCMDAyMjJDMEQwNzUwOEZFMTIwQUMwNzQwMjdBQjM5MTA2NzQwMDdBQjM5MTA3NzQwMzdBQjM5MTA2NzQwMDdBQjM5MTA3NzQwMjdBQjM5MTA0N0VCMzNGRjIzMEUwMDg3NDE4N0FCMzkxMDE4MDA2NzQxMDdBQjM5MTAxNzQxMDdBQjM5MTA0MDIwMjM2NzUwOEZGMTIwQUMwNzQwMTdBQjM5MTA0NzQwMzdBQjM5MTA2N0VCMzkxMDc1NEZDN0FCMzkxMDczMkNBQjg3NTA4MDIxMjBBQzA3RUIzOTEwMzIwRTUwODMwRTAyQjEyMDI5RTgwRjE3RUIzOTEwNDMwRTAwNURBQjgwMjAyMzkzMEUxMDVEQUI4MDIwMUY1MzBFNjA1MTIwNDAzODBENTMwRTIwNURBQjgwMjAwODA4MENCREFCODMyNkQKKzowODJBMDI5NjAwRTQ3QUIzM0ZGMTAyMDM0MUNBMEJDQTFCQ0EyQkNBM0JDQTRCQ0E1QkNBNkJDQTdCQ0FFQjc0MDA3QUIzOTEwMDdFQjMwMTJFQjQwMDAyODAxQ0I0MDExOTdFQjM5MTE0NTQxNDY4MDUxMjAzMDU4MDIzN0VCMzkxMTQzMEU1MUMxMjA0NDM4MDE3N0VCMzkxMTQzMEU1MDUxMjA0NDM4MDBCN0VCMzkxMTQ1NDE0NjgwMzEyMDMwNURBRUJEQTdCREE2QkRBNUJEQTRCREEzQkRBMkJEQTFCREEwQjIyMjBFNDE5NzUwODBBMTIwQUMwN0VCMzAxMkQ3MDBBN0VCMzAxMkVCNDAxMUYwMjAzOUQwMjA5OEI3NTA4MEIxMjBBQzA3NDE0N0FCMzkxMTQ3RUIzMDEyRUI0MDIwQzEyMDM0RDAyMDM0MTc0MDQ3QUIzOTExNDIyN0UwMDAwN0EwMzAxMkU3QTAzMDEyRjIyN0VCMzAxMjU1NDYwNjAwNUI0NDAxRTgwMUM3RUIzMDEyNkI0MDUxNTc1MDg3MTEyMEFDMDdFQjMwMTI4N0VBMDAxN0FBMzkxMDY3QUIzOTEwNzIyNzQwMDdBQjM5MTAwNzQxMDdBQjM5MTEyMjJCRTU3MDEyQjI4MDQ3RTU3MDEyQjdBMEYwMTMxN0E1NzAxMzU3NDEwN0FCMzkxMTIyMjc0MDA3QUIzOTEwMDdFQjM5MTFBNzA1MzdFQjM5MTE0MjBFNDRDN0VFRjAxMzE3RUY3MDEzNTdFMDcwMTM1NEQwMDY4MjE3RTAwMDBFMDdBQjM5MTE3QTNBNTA4MUJGNDY4MDZBNUI4MTBGMDgwMTk3RUIwMDA3QUIzMDEyRUJFMDAxMDY4MEQ3RUIwMDA3QUIzMDEyRTc0ODA3QUIzOTExRTdBRUYwMTMxN0FGNzAxMzU3NTA4MDYxMjBBQzA3NDA0N0FCMzkxMTQyMkNBMEJDQTFCQ0EyQkNBM0JDQTRCQ0E1QkNBNkJDQTdCQ0FFQjc1MDgwMzEyMEFDMDc0MDA3QUIzMDEyRDc0MDA3QUIzOTEwMDc0MDE3QUIzOTExMjEyMDRCMkRBRUJEQTdCREE2QkRBNUJEQTRCREEzQkRBMkJEQTFCREEwQjIyNzUwODAzMTIwQUMwN0VCMzAxMkZCNDAyMTE3NDAwN0FCMzAxMkY3QUIzMDEyRTc0MjA3QUIzOTExNDIyQjQwMTQ2N0VCMzkxMDQyMEU2NDI3RTIzOTExQTdDMzI3RTEzMDEzMDJDMjE3QTIzMDEzMDdFMDAwMDJFMDQwMTM3N0VCMzkxMTY3QTA5QjAwQjA0QTVEQkY0NzQyMDdBQjM5MTE0NzUwODcwMTIwQUMwN0VCMzAxMzA3RUEzMDEyQ0JDQUI3ODAzMTIwNTUyMjIwMjA5OEJEQTU5MDIwNDE1NzRFMDdBQjM5MTAwN0UwMzkxMTA3RTEzOTExMTdFMzM5MTEyN0UyMzkxMTM3RTUzOTExNDdFNDM5MTE1N0U3MzkxMTY3RTYzOTExNzdBMEYwMTI1N0ExRjAxMjk3NTA4MDQxMjBBQzA3QTAxMDgxMjBBQzA3QTExMDgxMjBBQzA3QTIxMDgxMjBBQzA3QTMxMDgxMjBBQzA3QTQxMDgxMjBBQzA3QTUxMDgxMjBBQzA3QTYxMDgxMjBBQzA3QTcxMDgxMjBBQzA3NDAwN0FCMzkxMDA3NDQwN0FCMzkxMDQxMjA1MjYyMjZEMDA3RTE0MDEwMjdBMDcwMTM1N0EwMzAxMzA3RUIzMDEyNTIwRTcwRjdBMjMwMTJGN0EzMzAxMkVCRTA3MDEyQjY4MDkyMjdBMzMwMTJGN0EyMzAxMkU3RUIzMDEyNTU0RTMyMzIzMzBFMDAyRDJFNTMwRTcwMkQyRTQzMEU1MDYzMEU0MDMwMjA5OEI1NDNFRjVGMDAzNTQxRkMzMjVGMDkwMDU3RTc1ODRGRjczMDIwNzM5MDIwNUM2MDIwN0QyMDIwN0VEMDIwNkQwMDIwNjVCMDIwODFFMDIwODFFMDIwODIxMDIwODIxMDIwODIxMDIwODIxMDIwODIxMDIwODIxMDIwODIxMDIwODIxMDIwODI3MDIwOEY5MDIwODI0MDIwODI0MDIwODI0MDIwODI0MDIwODI0MDIwODI0NzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDN0VCMzAxMjZCNDA2MkE3RUIzMDEyNzYwNzk3QzBCN0UxMzAxMjg3RTE3MDEyOTc1MDg3MjEyMEFDMDdBMDEwODEyMEFDMDdBMTEwODEyMEFDMDEyMDlEMDQwNTgwMjAzODRCNDA4MUM3NTA4NzQxMjBBQzA3RUIzM0ZGMTdFMDgwMTM3N0EwQzAwMDA3QTBCQjA3RTU0MDAwMTAyMDM4NEI0MDAzMzc1MDg3NTEyMEFDMDdFMDgwMTM3N0EwQzAwMDBDQTBCN0VCMzNGRjIzMEUwMDc3NDAyN0EwQkIwODAwNTc0MDA3QTBCQjAwQjE0NzQwMDdBMEJCMDdFNTQwMDAyREEwQjAyMDM4NDAyMDk4Qjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMwMTI2QjQwMDVGNzUwODc2MTIwQUMwN0VCMzAxMkE1NDBGQjQwMjA1N0VCMDYwODAxN0I0MDAwNTdFQjAwMDgwMEY3RUIzMDEyQTIwRTcwNTdFQjA0MDgwMDM3RUIwMjA3QUIzOTEwMDdFQjM5MTExMzBFMDA0NzQwMTgwMDI3NDAwN0UwODAxMzc3QTBDMDAwMENBMEI3QTBCQjAwQjE0NzQwMDdBMEJCMDc0MDA3QUIzOTEwMDdFNTQwMDAyREEwQjAyMDM4NDAyMDk4QjdFQjMwMTJBNTQwRkI0MDIwNTdFQjA2MDgwMTdCNDAwMDU3RUIwMDA4MDBGN0VCMzAxMkEyMEU3MDU3RUIwNDA4MDAzN0VCMDIwN0FCMzkxMDA3RUIzMDEyOEI0MDAyNjdFQjMwMTI2QjQwMTBFNzUwODc3MTIwQUMwNzQwMTdBQjM5MTEyODAxQkI0MDMwRTc1MDg3ODEyMEFDMDc0MDE3QUIzOTExMTgwMEE3NDAwN0FCMzkxMDAxMjA5OEIyMjc0MDA3QUIzOTEwMDAyMDM3NzdFQjMwMTI2QjQwOTFGNzUwODc5MTIwQUMwN0VCMzAxMjhCRUIzM0ZGMTY4MERDQUI4MTIwMUYxREFCODUwNzY3QUIzM0ZGMTgwNkRCNDA1MDg3NTA4N0ExMjBBQzA4MDYyQjQwMzE5NzUwODdCMTIwQUMwN0VCMzAxMjhCNDAxNTU3RUIzM0ZGMjQ0MDE3QUIzM0ZGMjgwNDZCNDAxMTk3NTA4N0MxMjBBQzA3RUIzMDEyOEI0MDEzOTdFQjMzRkYyNTRGRTdBQjMzRkYyODAyQUI0MDcyQTdFQjMwMTI3NjAyNDdDMEI3RTEzMDEyODdFMTcwMTI5NzUwODczMTIwQUMwN0EwMTA4MTIwQUMwN0ExMTA4MTIwQUMwMTIwQTBBNDAwMzAyMDM3NzAyMDk4QjdFQjMwMTI2QjQwQkY2NzUwODdEMTIwQUMwN0VCMzAxMjg3RUEzMDEyQTRDQUI3OEU0ODBERjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMwMTI2QjQwQUNGNzUwODdFMTIwQUMwN0VCMzAxMjg3MEMzN0UwODAxMzc3QTBDMDAwMDdBMEJCMDdFNTQwMDAxMDIwMzg0MDIwOThCMDIwOThCMDIwOThCN0VCMzAxMjZCNDA0MjA3NTA4QzMxMjBBQzA3RTA0MDAwMTdFMTcwMTI3N0UxODAxMzc3QTFDMDAwMDdFNDcwMTJCMTIwQUNDMDIwOEYzQjQwNjQyNzUwOEMxMTIwQUMwN0U1ODAwMDA3QTVDMDBGRTdEQ0E3RUQ3MDEyNzdFNzgwMTM3N0E3QzAwMDA3RTc3MDEyQjc1MDhDMTEyMEFDMEMwQThDMkFGN0U0MDAxN0E0Mzk0MDAxMjBCNjM3RTQzMDEyNDdBNDM5NDAwRDBBODQwNjU4MDYwQjQwMDI0QzJBRjdFQjAwMTdBQjM5NDAwN0FCMzAxMjQxMjAzNzdFNDhERUY4REVGOERFRkQ1RTBGN0MwRDFDQTAyRkZDQTA2MDAwMDMyQjQwOTIwNzQwMzdBQjM5MTA2N0UyMzkxMDc3RTU3MDEyNzRENTU2ODA1NEUyMDAyODAwMzVFMjBGRDdBMjM5MTA3ODAxNkI0MDcxNkMyQUY3RTA3MDEyOTdFMTcwMTI3QzBEMUNBMThDQTM4Q0EyODMyMDIwMzc3MDIwOThCNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDN0VCMzAxMjZCNDAzMTU3NTA4QzIxMjBBQzA3RTA0MDAwMTdFMTcwMTI3N0U1NzAxMkIwMjAzODRCNDA1NDE3NTA4QzAxMjBBQzBDMEE4QzJBRjdFNDAwMTdBNDM5NDAwN0UwODAxMzc3QTBDMDAwMDdFMjQwMEZFN0UzNzAxMjc3RTQ3MDEyQjEyMEFDQzdFNDMwMTI0N0E0Mzk0MDBEMEE4N0UwODAxMzc3QTBDMDAwMDdFNTcwMTJCMDIwMzg0QjQwMTIwN0UwMDAwN0UxMDAxNzUwODcyMTIwQUMwN0EwMTA4MTIwQUMwN0ExMTA4MTIwQUMwMTIwOUQwNDAwMzAyMDM4NDAyMDk4Qjc1MDgwNzEyMEFDMDdFQjAwMjdBQjM5MDAwNzQwMDdBQjM5MTAwNzQ0MDdBQjM5MTE1NzQwMTdBQjM5MTExN0VCMzkxMTU1NDYwQkVCMDQwNjgwODc0MjA3QUIzOTExNTgwRUQ3NDAxN0FCMzkxMTI3NDA0N0FCMzkxMTQ3NEZGN0FCMzAxMkQyMkMwQThDMkFGN0U0MDAxN0E0Mzk0MDAxMjBBNTc0MDFGN0UwODAxMzc3QTBDMDAwMENBMEJDQTQ5MTIwQUNDREE1OURBMEI3RTQzMDEyNDdBNDM5NDAwRDBBOEMzMjI3RTQzMDEyNDdBNDM5NDAwRDBBODIyQzBBOEMyQUY3RTQwMDE3QTQzOTQwMDEyMEE1NzQwMzE3RTU4MDAwMDdBNUMwMEZFN0Y2MTdFNzgwMTM3N0E3QzAwMDA3RTc3MDEyQkJENzQ3ODE3NzUwOEMxMTIwQUMwMTIwQjYzNDAwQzdFNDMwMTI0N0E0Mzk0MDBEMEE4QzMyMjdFNDMwMTI0N0E0Mzk0MDBEMEE4RDMyMjdFMjQwMEZFN0UzNDdGQ0EwQjFBNTBDNUYwN0Q2MjdENzU3RDg3N0UzNDdGMDM3RTFCQjBCQzBCNTA0OTNFMDAzRTAwMEE1MDJENzUwQjNBMzA2OTUzMDAwMkJEMzg1MDAyMkQzOEJDMUI1MDMwM0UxMDNFMTAwQTUxMkQzNTY5NDEwMDAyMEIxQTMwQkQzODUwMDIyRDM4QkU0NEZGRkY3ODA1N0UxQjkwMEE0OTRENDQ2ODBDQkU0NDAwRkYyODA0N0U0NDAwRkZDMzIyRDMyMjQ4Cis6MDA0MDdGQzAwMDQwMDEwMjAwRDczMTAyMDAwMzAwMDA3QzAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMTdGMDAwMDAwMDAwMDAwNDQKKzoxMDQzMEFDMDAwQ0EwODdFMDEwODdBMDMzRkYwREEwODIyODA1MDBCMUE2MDBCMzUwQjFBNzAwQjM1MEIxQTgwMEIzNTBCMUE5MDBCMzUwQjFBQTAwQjM1MEIxQUIwMEIzNTBCMUFDMDBCMzUwQjFBRDAwQjM1MUIwQTYwMEIxNTFCMEE3MDBCMTUxQjBBODAwQjE1MUIwQTkwMEIxNTFCMEFBMDBCMTUxQjBBQjAwQjE1MUIwQUMwMEIxNTFCMEFEMDBCMTU5RTQ0MDAxMDUwQUEyRTQ0MDAxMDY4MEU3RTFCQzA3QTBCQzAwQjE0MEIzNDFCNDQ3OEYyMjI3RjZGN0ZGMDFCRkM3QzU0N0QzMjgwMDhDQTFCQ0ExQkNBMUJDQTFCOUU0NDAwMTA1MEYyMkU0NDAwMTA2ODA2Q0E0ODFCNDQ3OEZBN0ZGNjg5RTRDQTZCNUVENDAwM0Y2ODIwN0U4NDAwNDA5RDhEREE2QkJEODczODE2Q0E3OTdENzgxMjBCOEREQTc5NDAwODlENzg2ODAyODAwNUMyRDcyMkRBNkI3RUMwMDM3RUQwMDA3QUQzOTAwMDc0QUEzOUI1NTU1NTc0NTUzOUI1MkFBQTc0QTAzOUI1NTU1NTdFMDQwMDQwOUQ3MDUwMDYyRDcwN0QwNzZENzc3QzMxN0U3QjAwN0E2QjAwMEI3QzBCNkNBNUQ5RjM3RjE2MUIxQzdFNTQyNzEwN0UxQjEwQkMxMDY4MDYxQjU0NzhGNTgwMkY2RDAwN0MyMDdGMTY5RjEwN0YyNzlGMjA3RTJCMDA3RTFCMTBCQzAxNzgxOTBCMkMwQjFDQTVEQkVGN0NCNjIwRTAwNjZDREM3QUQzOTAwMDRENzc3ODkwQzJENzIyRDJENzIyMDAwNDAwMDQwMDAwMDYwNDAyMDQwMDAyMDEwNDAxMDIwMDAwMDAwMDAwMDAwMDAwMDIwMjAyMDIwMjA0MDAwODEwMDIxMDA0MDIwODAwMDEwMTA4N0UxODdGQkQ3QTFDMDBGRjBCMUEwMDVFMTAxRkJFMTAxNDM4MUEwQTUxMjM3RTE4MEMwRDdBMUMwMEZGMkQzNTBCMUE1MDYwMDhBNUI4MDIwMzRFQTAwODIyODBGRTdFRTg3RkJGN0FFQzAwRkZFMEY1MjM1NEMwNjgzODdFRTg3RkJFN0FFQzAwRkZFMDYwMkUxMjBDMzdGNTIxN0FBMTIwMjAwOTBDMjAwQTEyN0VCMDBFN0FCMzkyMDA4MDEwN0VCMDAyN0FCMzkyMDA4MDA3N0VCMDBBN0FCMzkyMDA3QUIxMEQwMjBDQzQyMjdFQjAwMjdBQjM5MDAwMTIxOTBDN0VCMDAzN0FCMzkwMDAxMjE5MEM4MEVBQzJBRkMyMTFDMjEyNzVCMERGN0UwMDAxN0EwMzkzMDA3RTAwMDA3QTAzOTAwMDZDMDA3RTEwMDMxMjBDRjU3RTY4MkM2NjdBNkMwMEZGMTIxOUM0MEIwMDgwMzIwMjFBNkUyMDExMkI3RUIwMDE3QUIzOTAwMDEyMTkwQzdFQjAwMzdBQjM5MDAwMTIxOTBDN0VCMDAyN0FCMzkwMDAxMjE5MENBNUQ5REM3RUIwMDA3QUIzOTAwMDEyMTkwQzIyN0U2ODJDRjk3QTZDMDBGRjEyMTlDNDdFRTQxMDAwN0U0MDU1N0FFOTQwMEJFNDdFNTBBQTdBRTk1MDFCRTRCRUU5NDA2ODE5N0U2ODJDREY3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTExMzdBRTk0MDdFRTkxMDgwRjg3RTY4MkNEQTdBNkMwMEZGMTIxOUM0MEIwMDdFNjgyRDNEN0E2QzAwRkYxMjE5QzQ3RTc4MDAwMDdFNzAwRTdFQTRGRkZGN0VCNEJGRkY3RENCMEVDNDdEREM1RERCNkNCQjdERkE1RUY0N0ZGRjdBN0JCMDBCQjA3REZCNUVGNDdGRkY3QTdCQjAwQkIwN0RGQzVFRjQ3RkZGN0E3QkIwMEJCMDdERkQ1RUY0N0ZGRjdBN0JCMDZDQkI3REZBNUVGNDdGRkZCRTdCQjA3ODQxMEJCMDdERkI1RUY0N0ZGRkJFN0JCMDc4MzQwQkIwN0RGQzVFRjQ3RkZGQkU3QkIwNzgyNzBCQjA3REZENUVGNDdGRkZCRTdCQjA3ODFBMEJCMEJFQzRGRkZFNzg5MjBFQjRBNURGOEI3RTY4MkNFNzdBNkMwMEZGMTIxOUM0ODA3N0NBNUJDQTZCN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDdFNjgyRDhGN0E2QzAwRkYxMjE5QzQwQTQ3MTIxOUZBN0U2ODJEREU3QTZDMDBGRjEyMTlDNDZDNzdEQTZCQ0E2QjBCNzAwRUM0QkVDNEZGRkY3OEY2MUI3MDBBNDcxMjE5RkExMjE5MTkzMDExMzBEQTZCREE1QjZDQkI3RTc4MDAwMDdERkE1RUY0N0ZGRjdBN0JCMDdERkI1RUY0N0ZGRjdBN0JCMDdERkM1RUY0N0ZGRjdBN0JCMDdERkQ1RUY0N0ZGRjdBN0JCMDgwRDQ3RTY4MkQxQjdBNkMwMEZGMTIxOUM0MzAxRjBFN0U3ODA0MjA3QTdDMDAwMDdFNDQ3QkUwODAwQzdFNzgwMDAwN0E3QzAwMDE3RTQ0ODAwMDBCMDA3RTQwM0E3QzU0N0Y1NzdEODQ2QzY2N0E1QjUwMEI1QzBCNTBBNURFMDIwQjUwMUI4NDc4RjA3QzU0N0Y1NzdEODQ2QzY2QkU1QjUwNzgxQTBCNUMwQjUwQTVERTAyMEI1MDFCODQ3OEVFN0U2ODJDREE3QTZDMDBGRjEyMTlDNDgwNEI3RjQ1N0U2ODJDREY3QTZDMDBGRjEyMTlDNDdFNjgyRDVGN0E2QzAwRkYxMjE5QzQ3RDRCMTIxOUZBN0U2ODJENzQ3QTZDMDBGRjEyMTlDNDZDODg3Qzk1MTIxOUZBN0U2ODJEODI3QTZDMDBGRjEyMTlDNDdFNEI5MDEyMTlGQTEyMTkxOTMwMTEwNTdFNEI5MDgwRkI3RTY4MkUyODdBNkMwMEZGMTIxOUM0MEIwMDdFQjA4MDdBQjM5MTAwN0VBMDU1N0FBMzkxMTA3RUIzOTEwNzdFQjM5MTEwQkNBQjc4MjA3RUEwQUE3QUEzOTExMDdFQjM5MTA3N0VCMzkxMTBCQ0FCNzgwRDdFNjgyQ0RBN0E2QzAwRkYxMjE5QzQ4MDFCN0U2ODJDREY3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwQTdBQTM5MTEwN0VCMzkxMTA4MEY2N0U2ODJFNEE3QTZDMDBGRjEyMTlDNDEyMTIzMTBCMDA3RUU0MTAwMDdFQTBBNUNBQTg3QUU5QTA3RUIwMzA3QUIzOTUwMDdFRTlBMDdFQjAwMDdBQjM5NTAwMTIxOTBDMEJFNTdFQjAyMDdBQjM5NTAwN0VFOUIwN0VCMDAwN0FCMzk1MDA3RUU5QjBEQUE4QkNBQjc4MEQ3RTY4MkNEQTdBNkMwMEZGMTIxOUM0ODAxRDdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEM3RUIwMzg3QUIzOTUwMDdFRTlCMDgwRkI4MDAwN0U2ODJERTQ3QTZDMDBGRjEyMTlDNDBCMDA3NUIwREY3RTI0ODAwMDA5QjIwMDA4QkVCMDAxNzgwQjA5QjIwMDE0QkVCMDYwNzgwMjgwMTc3RTY4MkNERjdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTExMDlCMjAwMDg4MEZBN0U2ODJDREE3QTZDMDBGRjEyMTlDNDdFNjgyRTA2N0E2QzAwRkYxMjE5QzQwQjAwNzVCMEVGMTIxOEZGN0UyNDgwMDA3RUEwNTUxOUEyMDAxQzdFQjAwMTE5QjIwMDA4MDlCMjAwMUNCQ0FCNzgzNzA5QjIwMDA4NUVCMEMwQkVCMEMwNzgyQjdFQTBBQTE5QTIwMDFDNkNCQjE5QjIwMDA4MDlCMjAwMUNCQ0FCNzgxNjA5QjIwMDA4NUVCMEMwNzgwRDdFNjgyQ0RBN0E2QzAwRkYxMjE5QzQ4MDFCN0U2ODJDREY3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwQTE5QTIwMDFDMDlCMjAwMUM4MEY2N0U2ODJFNkM3QTZDMDBGRjEyMTlDNDdFNjgyRUVFN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTdFQjAwMTE5QjIwMDFDMkUyNDAxMDAwQkIwQTVEOUYzN0UyNDgwMDA3RTExMjE3RUIwMDEwQjAwMDlBMjAwMUNCQ0FCNzgxNjdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQyRTI0MDEwMDBCQjBBNUQ5RTI4MDI1N0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTFFNDdFMjQ4MDAwN0UxMTIxMDlBMjAwMUMyRTI0MDEwMEE1RDlGNTgwRUM3RTY4MkYxMjdBNkMwMEZGMTIxOUM0MTIxMjMxN0UyNDgwMDA3RTExMjEwQjAwNzQxMDE5QjIwMDEwMTIxMUFBMkUyNDAxMDBBNUQ5RUU3RTY4MkYzNjdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwRTQxOUIyMDAxMDEyMTFBQTJFMjQwMTAwQTVEOUVGMzAwMDAzMDIxNzNCMDIxMjZBNzQwNzE5QjIwMDA4MTIxOTBDMDlCMjAwMDAwOUIyMDAxNDA5QjIwMDAwMDlCMjAwMTQwOUIyMDAwMDA5QjIwMDE0MDlCMjAwMDAwOUIyMDAxNEMyMTM3RUIwNTUxMjEyMEI3RUIwQUExMjEyMEI3RUIwMDAxMjEyMEI3RUIwRkYxMjEyMEIzMDEzMEY3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MjI3RTY4MkNFNzdBNkMwMEZGMTIxOUM0MjIxOUIyMDAwMDEyMThGRjA5QTIwMDAwQkNBQjc4MDEyMjIwMTEwM0QyMTMyMjEyMTkxOTE5QjIwMDAwMTIxOEZGMDlBMjAwMDA4MEYzNzVCMERGMTIxOEZGNzVCMEVGMTIxOEZGN0UyNDgwMDA3RTExMjE3NDgwMTlCMjAwMEM3RTU0MDAwMjE5QTIwMDA0MTlCMjAwMDA3NDAzMTlCMjAwMEM3NDA2MTlCMjAwMDgyRTI0MDEwMEE1RDlEQjIyN0U2ODJGNUE3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDEyMThGRjA5QjIwMDE4N0VBMDU1MTlBMjAwMDAxMjE4RkYwOUIyMDAxODVFQjAwNTc4MEQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0ODAxQTdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMDkxOUEyMDAwMDEyMThGRjgwRjcyRTI0MDEwMEE1RDlCNjdFNjgyRjdFN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDAxMjE4RkYwOUIyMDAxODdFQTA1NTE5QTIwMDAwMTIxOEZGMDlCMjAwMTg1RUIwMEE3ODBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMUE3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTA5MTlBMjAwMDAxMjE4RkY4MEY3MkUyNDAxMDBBNUQ5QjYzMDA0MDMwMjE1OUY3RTY4MkZBMjdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDBBNzgzQzdFQTAwMTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMEE3ODE0N0U2ODJDRTc3QTZDMDBGRjEyMTlDNDJFMjQwMTAwQTVEOTlFODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExRTY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MkZFQTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA1NzgzQzdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMDU3ODE0N0U2ODJDRTc3QTZDMDBGRjEyMTlDNDJFMjQwMTAwQTVEOTlFODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExRTY3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MzAzMjdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwN0VBMDAyMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjA1MEJFQjA1MDc4MUY2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjA1MDc4MEQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0ODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDlBMjdFNjgzMDdBN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDAwOUIyMDAxODdFQTAwMTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwQTBCRUIwQTA3ODFGNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwQTA3ODBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBGN0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5OUU3RTY4MzA5RTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwMjBCMTI2N0VBMDAyMTlBMjAwMTAxMjE4RkYzMEIxMTk2Q0FBMTlBMjAwMTAxMjE4RkYyMEIxMEQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0ODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDlBRTAyMTczQjdFNjgyRkM2N0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMDY3ODNDN0VBMDAxMTlBMjAwMTAxMjE4RkYwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAxMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwNjc4MTQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0MkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTFFNjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgzMDBFN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMDk3ODNDN0VBMDAyMTlBMjAwMTAxMjE4RkYwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAyMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwOTc4MTQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0MkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTFFNjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgzMDU2N0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDA3RUEwMDIxOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDkwQkVCMDkwNzgxRjZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDkwNzgwRDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwRjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOUEyMjAxRjY4MTIxMjMxMTIxN0E5N0UyNDgwMDA3RTExMjEwQjAwMjA4OTI2N0VBMEZGMTlBMjAwMDQxMjE4RkY3RUIwNTUxOUIyMDAwMDEyMThGRjMwODkwRjdFQTAwMDE5QTIwMDA0MTIxOEZGMjA4OTAyODAyNjEyMTkxOTMwMTEyMDdFQTBGRjE5QTIwMDA0MTIxOEZGN0VCMDU1MTlCMjAwMDAxMjE4RkY3RUEwMDAxOUEyMDAwNDEyMThGRjgwRTAyRTI0MDEwMEE1RDlBODAyMTdDMjAyMTg0QzdFMjQ4MDAwN0UxMTIxN0VBMDA4MTlBMjAwMTAxMjE4RkYyRTI0MDEwMEE1RDlFRjIyMzAxRjAzMDIxODRDQzI4QTEyMTdBOTBCMDAxMjE4MTYyMDhCMjQ3NDAzN0FCMzkxMDY3NDAyN0FCMzkxMDc3NDBDN0FCMzkxMDY3NDAwN0FCMzkxMDcxMjE5MEMzMDhCMDYxMjE4MTYzMDhCQUQxMjE5MTkzMDExQTcxMjE4MTY3NDAzN0FCMzkxMDY3NDAyN0FCMzkxMDcxMjE5MEMxMjE4MTY4MEU5N0VBMDAwNzQwMjdBQjM5MTA2N0FBMzkxMDc3NDAzN0FCMzkxMDY3QUEzOTEwNzEyMThGRjc0RUY3QUIzOTEwNDc0ODA3QUIzOTEwMzc0MEM3QUIzOTEwNjc0MDg3QUIzOTEwNzEyMTkwQzIyMzAxMjE5N0U2ODMwQzI3QTZDMDBGRjEyMTlDNEQyMTExMjE4RkYxMjE4RkYxMjE4RkYwMjBDQ0EzMDFGMUM3RTY4MzEzQzdBNkMwMEZGMTIxOUM0N0U2ODMxNUU3QTZDMDBGRjEyMTlDNDEyMUE2RTAyMThGNzBCMDA3RTc4MThCMTdBN0MwMEZGN0Y2NzdBNkMwMDAwN0U3MDNFN0U3QkIwN0E2QkIwMEI3QzBCNkNBNURGRjM3RTc4MThCMTdBN0MwMDAwODk3ODdFNzgwMDAwN0E3QzAwRkU3RTY4N0ZCRjdBNkMwMEZFNzRBQTM5Qjc1NTU1NzQ1NTM5QjcyQUFBNzRBMDM5Qjc1NTU1NkM5OTdBNkI5MDdFNTQyNzEwN0U2QjgwQkM4OTY4MDgxQjU0NzhGNThBRkYxOEVGOEFGRjE4RjcxMjE5MTk3RTZCODA4MEZCN0UxMEZGMTIxOUFDODBGOENBRjk3RUY0MDBGRjFCRjQ3OEZDREFGOTIyQ0FGOTdFRjQwMDAwMUJGNDc4RkNEQUY5MjIyMDExMjBEMjEyMTIxOTBDN0VCMDAyN0FCMzkwMDAxMjE5MEMxMjE5MEMxMjE5MEMxMjE5MEM3RUIwMDA3QUIzOTAwMDIyQ0EwQjdFMTAwMzdDMzA2QzIyMEIyMDlFMzAwQTUwRjkyRTMwMEIxQjIwNjgyMDEyMTkwQzEyMTkwQzdFQjAwMzdBQjM5MDAwMTIxOTBDMTIxOTBDMTIxOTBDN0VCMDAwN0FCMzkwMDBBNURBRTAxMjE5MEMxMjE5MEMxQjMwNjgyMDEyMTkwQzEyMTkwQzdFQjAwMjdBQjM5MDAwMTIxOTBDMTIxOTBDMTIxOTBDN0VCMDAwN0FCMzkwMDBBNURCRTA3RTIwMEExMjE5MENBNURBRkFBNUQ5OThEQTBCMjIyMDExMTQxMjE5MEM3RUIwMDE3QUIzOTAwMDEyMTkwQzdFQjAwMDdBQjM5MDAwMjIzMDFGMzIyMDExMkZDQTJCQ0E3QjdFNzg4MDAwN0E3QzAwRkUxMjFBNEQ3RTZCQTA1Q0FBNjgxMDI5QjcwMDE0NTQ2MDY4RjgzOUE3MDAwMDBCNkM4MEU5MTIxOEZGRDJCNURBN0JEQTJCMjIxMjFBMDU3RTY4MDAwQzEyMTlDNDIyQ0E1OUNBNUI3RUI0MDAwQzdDQjhDNDEyMUEzNTdDQjgxMjFBMzU3Q0I5QzQxMjFBMzU3Q0I5MTIxQTM1N0VCMDY4N0FCOUIwMEJCNDZDQkI3QUI5QjBEQTU5REE1QjIyNUVCMDBGN0NBQjlFQTAwQTQwMDUyRUIwMzc4MDAzMkVCMDMwN0FCOUIwMEJCNDIyQzJCNTc1QjBFRjEyMThGRjc0ODAzOUI3MDAwQzdFNTQwMDA2MzlBNzAwMDQzOUI3MDAwMDc0MDMzOUI3MDAwQzIyN0U3ODAwMDA3QTdDMDBGRjdFNTgwMDAwN0E1QzAwMDE3RjY1N0U3NDIwMDAxMjBCNjM0MDU4N0U3ODdDMDA3QTdDMDBGRjdFNTgwMDAwN0E1QzAwMDE3RTY4N0MwMDdBNkMwMDAxN0U3NDA0MDAxMjBCNjM0MDM3NzQ4MDEyMUFFQTQwMzA3RTAwMDM3QTAzOTAwMEQyMTA3RTA0MDAwODdFMTQwMDAwODRBNURCRkNBNURBRjlBNUQ5RjY3NDQwMTIxQUVBNDAwRTdFNjgzMThEN0E2QzAwRkYxMjE5QzQwMjE4Rjc3RUIwMDI3QUIzOTAwMDgwRkVGNTBCN0U3ODAwMEI3QTdDMDAwMDdFNjg3RkJGN0E2QzAwMDE3RTc0MDAwMTAyMEI2Mzc0Cis6MDAwMDAwMDAwMUZGCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKKy8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKKy8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZWRnZXBvcnQvZG93bi5IMTYgYi9maXJtd2FyZS9lZGdlcG9ydC9kb3duLkgxNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTM2ZmUxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bi5IMTYKQEAgLTAsMCArMSwyOSBAQAorOjAwMDQwMDAwMDAwMTEwMDAwNEU3Cis6MDAwMjAwMDAwNDAwRkZGQgorOjAwMDYwMDAwMDAwMjAwODAwMjQ0QjA4MgorOjAwMDMwMDBCMDAwMjQ0NzIzQQorOjAwMDMwMDEzMDAwMjAwMTNENQorOjAwMDMwMDFCMDAwMjAwMUJDNQorOjAwMDMwMDIzMDAwMjAwMjNCNQorOjAwMDMwMDJCMDAwMjAwMkJBNQorOjAwMDMwMDMzMDAwMjAwMzM5NQorOjAwMDMwMDNCMDAwMjAwM0I4NQorOjAwMDMwMDQzMDAwMjAwNDM3NQorOjAwMDMwMDRCMDAwMjZFQzQ3RQorOjAwMDMwMDUzMDAwMjc1OERBNgorOjAwMDMwMDdCMDAwMjAwN0IwNQorOjAwMDcwMDgwMDA3RTE0MDAwMDAyNDA1MTU0Cis6MDg4MjMwMDAwMDEyMzcyODEyMzAzRTEyMzA1NDEyMzBFNTEyMzE2ODEyMzUyMDEyMzg1ODEyMzExNTEyMzE0MDEyMzBBMDgwRTBFNTIzNjAxOTdFMTQwMDAwMDlCMTAxQ0ZCNDAwMDI4MDA1MTQxOUIxMDFDRkE1MEJCRTMxMkY3OEVCMjJDMkFGN0VCMzNGRjFCNDAxMEFDMEYxNzVGMTAyMTI3MEVGRDBGMUQyQUYyMkMyQUZFNTIyNjA0MzdFMDcwMUUxQkUwNDAzODAzODM5N0UwNDgwMDA3RTIwMDAxMzUwMjEwOUEwMDAwNDRFQTAwNTE5QTAwMDA0MEEzMjA5NTM2NzhFNUU1MTI3NjgwQjA5QTAwMDEwNEVBMDAxMTlBMDAwMTAyRTA0MDEwMEE1MEFCRTIxMkY3OEQxNzUyMjAwRDJBRjIyQzJBRjdFMjAwMDdFMzAwMTdDQjIyMzBBMkI0OTMyMDE4RkJFMzQwMDAwNjgxMjdFQjEyMUE1NEI3QUIxMjFDQTE5NDkyMjMwRDU5OTI0REExOTNFMzBBNTBBQkUyMTJGNzhENkQyQUYyMjQ2MEY0OTY3NENCRjUwMTc1MzZGNTZDNzVBMUY1RDc3QzJBRkU1MzI2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzEwMkRBQjhBNTBBQkUyMTJGNzhFRkQyQUYyMkNBMjgxMjY3QUJEQTI4NDAwOTBBMjIwOUIyNjc4RUY0NTIzMjIyQzJBRkU1MzQ2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzEzMkRBQjhBNTBBQkUyMTJGNzhFRkQyQUYyMkNBMjgwQTIyMDk0MjAwM0UxMjY5QzJEQTI4MjJDMkFGRTUzNTYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzMTVEREFCOEE1MEFCRTIxMkY3OEVGRDJBRjIyQ0EyODdFNDAwMDEyNkM1QkRBMjgyMkMyQUZFNTIzNjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxODVEQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjI3Q0IyMjMwQTJCNDkyMjMxOTA4OTI0MzFBMDMyMTAzMjgwMzJGMDMzNjAzM0QwMzQ0MDM0QjA3RTI3MDE4RkJFMjQwMDAwNzgyNDdFMjQ4MDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNDkzMDdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTlGNjgwRDdBMjcwMTlGN0U2MDlDN0E2MzAxQ0Y4MDJFN0U2MzAxQ0ZBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjE4NkMwMDdBMDMwMUNGQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTkxQkUyNDAwMDA3ODI0N0UyNDgxMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0Qzg4N0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQTE2ODBEN0EyNzAxQTE3RTYwOUM3QTYzMDFEMDgwMkU3RTYzMDFEMEE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMTk2QzAwN0EwMzAxRDBDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOTNCRTI0MDAwMDc4MjQ3RTI0ODIwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjRGRTA3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBMzY4MEQ3QTI3MDFBMzdFNjA5QzdBNjMwMUQxODAyRTdFNjMwMUQxQTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxQTZDMDA3QTAzMDFEMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5NUJFMjQwMDAwNzgyNDdFMjQ4MzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTMzODdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUE1NjgwRDdBMjcwMUE1N0U2MDlDN0E2MzAxRDI4MDJFN0U2MzAxRDJBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjFCNkMwMDdBMDMwMUQyQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTk3QkUyNDAwMDA3ODI0N0UyNDg0MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1NjkwN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQTc2ODBEN0EyNzAxQTc3RTYwOUM3QTYzMDFEMzgwMkU3RTYzMDFEM0E1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMUM2QzAwN0EwMzAxRDNDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOTlCRTI0MDAwMDc4MjQ3RTI0ODUwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjU5RTg3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBOTY4MEQ3QTI3MDFBOTdFNjA5QzdBNjMwMUQ0ODAyRTdFNjMwMUQ0QTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxRDZDMDA3QTAzMDFENEMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5QkJFMjQwMDAwNzgyNDdFMjQ4NjAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNUQ0MDdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUFCNjgwRDdBMjcwMUFCN0U2MDlDN0E2MzAxRDU4MDJFN0U2MzAxRDVBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjFFNkMwMDdBMDMwMUQ1QzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTlEQkUyNDAwMDA3ODI0N0UyNDg3MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI2MDk4N0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQUQ2ODBEN0EyNzAxQUQ3RTYwOUM3QTYzMDFENjgwMkU3RTYzMDFENkE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMUY2QzAwN0EwMzAxRDZDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyQzJBRkU1MjQ2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzUzRERBQjhBNTBBQkUyMTJGNzhFRkQyQUYyMjdDQjIyMzBBMkI0OTIyMzU0ODg5MjQzNTU4MzU5MjM1Q0MzNjA2MzY0MDM2N0EzNkI0MzZFRTdFMjQ4MDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNDkzMDdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjBDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDgxMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0Qzg4N0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODIwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjRGRTA3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjIyQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4MzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTMzODdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjNDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg0MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1NjkwN0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyNEMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODUwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjU5RTg3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjI1QzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NjAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNUQ0MDdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjZDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg3MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI2MDk4N0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyN0MwRjE3NUYxMDExMjZGRDlEMEYxMjJDMkFGRTUzMzYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzNzQ1REFCOEE1MEFCRTIxMkY3OEVGRDJBRjIyN0NCMjIzMEEyQjQ5MjIzNzUwODkyNDM3NjAzNzdGMzc5RTM3QkQzN0RDMzdGQjM4MUEzODM5N0UyNDgwMDBDQTE5N0QxMjEyNDgxQkRBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODEwMENBMTk3RDEyMTI0QjczREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4MjAwQ0ExOTdEMTIxMjRFQ0JEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDgzMDBDQTE5N0QxMjEyNTIyM0RBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODQwMENBMTk3RDEyMTI1NTdCREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NTAwQ0ExOTdEMTIxMjU4RDNEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg2MDBDQTE5N0QxMjEyNUMyQkRBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODcwMENBMTk3RDEyMTI1RjgzREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMkMyQUZDMEYxNzVGMTAxQTkzMkYyMUE3RTA3MDFFMUJFMDQwMDAwNzgxMEU1RjUzMzgyRTc0MDA5ODUzMTMxMTI3QzE1NzVGNjAwRDBGMUQyQUYyMjQ3Cis6M0MxNTQwMDAwMDdFMDQwMDAxN0UxNDdGRjg3RTI0MDBGRTdEMzEwQjFBNTAxQjBBNTA3RTE0NDAxQjAyNDA2QTdFRjgwMDZGRDIwNEMyOTREMjk1N0VGNDQwMkMwMjQwN0MxMjdEMzBGNTJGN0FBMTMwN0ExMTZFMTI3NUNBMTI0MERDN0VCMzNGRjE2MDAzMTI0M0Q0NzVGMTAwMTI3NjZGRDJBRjAyMzAwMDdFMDQwMEZGN0UxODQwNUY3QTFDMDAwMTg5MThBOTI1ODcwM0E5RDU4N0QyOTM4OTA4N0UwNDAwRkY3RTE4NDA3ODdBMUMwMDAxODkxOEMyOTM4OTA4N0UwODAwMjA3RTQ0MDQwMDdFNDAwMDdFRTQ0MDhFMDI3QzMwN0UwODAxNkY3RTQ0Mjg3QzdFNDAwMDdFRTQ0MEEwMDI3QzMwN0UwODAwNkY3RTQ0MDEwMDdFNDA1MzdFRTQ0MEIyMDI3QzMwNzU2RDIwNzU2QzMwN0UwNDAwMDg3NTZBNTg3NTZCMDg3NTY3MDg3NTY5MDE3NTg5MDE3NThBMDE3NThDMDBEMjhDN0UwNDAwMDI3QTA1NTg4OUY0NzVCNzdGNzVCODdGNzVCMzA3NzVCMjA3RDJBOTIyRDI5MkU0RDVFMEZEQzI5MjdFMjQ4MDAwN0UxMTJGN0VBMDA4MTlBMjAwMTAyRTI0MDEwMEE1RDlGMjdFMjAwMDEyNDE3RTBCMjBCRTIxMkY3OEY2MjI3RTA0ODAwMDRDMDI3NEJGMTlCMDAwMEM3NDEwMTlCMDAwMDg3NDgwMTlCMDAwMEM3RTU0MDAwMjE5QTAwMDA0MTlCMDAwMDA3NDAzMTlCMDAwMEM3NDA3QTkyMDMwMEJBOTM1MzAwNUJFMjAwMTI4MDI3NDBGMTlCMDAwMDRBOTMzMzAxODc0QkYxOUIwMDAwQzc0MjhBOTIwMzAwMjc0MjAxOUIwMDAwNDc0MDMxOUIwMDAwQzc0QTcxOUIwMDAwODc0MEMxOUIwMDAxMDIyN0UwNDgwMDA0QzAyRTQxOUIwMDAwNDA5QjAwMDEwNTQwODE5QjAwMDEwNzRBNzE5QjAwMDA4MjI3Q0IyMjMwQTJCNDkyMjQxQTU4OTI0NDFCNTQxRDQ0MUYzNDIxMjQyMzE0MjUwNDI2RjQyOEVDMjEwQzIxOEMyMjBDMjA4N0UwNDA5RTM3QTA3MDE2RjdBMDcwMTdGNkQwMDdBMDcwMThGN0EwNzAxOUYyMkMyMTFDMjE5QzIyMUMyMDk3RTA0MERFMzdBMDcwMTcxN0EwNzAxODE2RDAwN0EwNzAxOTE3QTA3MDFBMTIyQzIxMkMyMUFDMjIyQzIwQTdFMDQxMUUzN0EwNzAxNzM3QTA3MDE4MzZEMDA3QTA3MDE5MzdBMDcwMUEzMjJDMjEzQzIxQkMyMjNDMjBCN0UwNDE1RTM3QTA3MDE3NTdBMDcwMTg1NkQwMDdBMDcwMTk1N0EwNzAxQTUyMkMyMTRDMjFDQzIyNEMyMEM3RTA0MTlFMzdBMDcwMTc3N0EwNzAxODc2RDAwN0EwNzAxOTc3QTA3MDFBNzIyQzIxNUMyMURDMjI1QzIwRDdFMDQxREUzN0EwNzAxNzk3QTA3MDE4OTZEMDA3QTA3MDE5OTdBMDcwMUE5MjJDMjE2QzIxRUMyMjZDMjBFN0UwNDIxRTM3QTA3MDE3QjdBMDcwMThCNkQwMDdBMDcwMTlCN0EwNzAxQUIyMkMyMTdDMjFGQzIyN0MyMEY3RTA0MjVFMzdBMDcwMTdEN0EwNzAxOEQ2RDAwN0EwNzAxOUQ3QTA3MDFBRDIyN0NCMjIzMEEyQjQ5MjI0MkI4ODkyNDQyQzg0MkU5NDMwQTQzMkI0MzRDNDM2RDQzOEU0M0FGMzA1MDA3MjA2ODA0QzIyODgwMTYzMDQwMDcyMDYwMDRDMjI4ODAwQzMwNDgwNzIwNTgwNEMyMjg4MDAyRDIyODIyMzA1MTA3MjA2OTA0QzIyOTgwMTYzMDQxMDcyMDYxMDRDMjI5ODAwQzMwNDkwNzIwNTkwNEMyMjk4MDAyRDIyOTIyMzA1MjA3MjA2QTA0QzIyQTgwMTYzMDQyMDcyMDYyMDRDMjJBODAwQzMwNEEwNzIwNUEwNEMyMkE4MDAyRDIyQTIyMzA1MzA3MjA2QjA0QzIyQjgwMTYzMDQzMDcyMDYzMDRDMjJCODAwQzMwNEIwNzIwNUIwNEMyMkI4MDAyRDIyQjIyMzA1NDA3MjA2QzA0QzIyQzgwMTYzMDQ0MDcyMDY0MDRDMjJDODAwQzMwNEMwNzIwNUMwNEMyMkM4MDAyRDIyQzIyMzA1NTA3MjA2RDA0QzIyRDgwMTYzMDQ1MDcyMDY1MDRDMjJEODAwQzMwNEQwNzIwNUQwNEMyMkQ4MDAyRDIyRDIyMzA1NjA3MjA2RTA0QzIyRTgwMTYzMDQ2MDcyMDY2MDRDMjJFODAwQzMwNEUwNzIwNUUwNEMyMkU4MDAyRDIyRTIyMzA1NzA3MjA2RjA0QzIyRjgwMTYzMDQ3MDcyMDY3MDRDMjJGODAwQzMwNEYwNzIwNUYwNEMyMkY4MDAyRDIyRjIyNDQzODQzRTVCRUIwMDI0MDAxMjIyMzBBNUI0OTU1NDNEMDk5NTREMzIyQTlDNTg3MTI0NDQzN0UwNDA1RTM3QTA3MDFENzdBMDcwMUQ5N0UwNDAxRTM3QTA3MDFERDdBMDcwMURGN0UwNDc0QUQ3QTA1NjE3NUYxMDE3NUUxMUY3NUU0MDQ3NUY0MDQ3NUYxMDI3NUUxMDM3NUU0MDQ3NUY0MDQ0M0EyMUMxMjQwRUI3RTIwMDAxMjQxOUEwQjIwQkUyMTJGNzhGNkQyQTgyMkE5RDU4NzEyNDQ0M0QyOTJDMkE4MjI3NUEzMDA1M0EyMDM3NUMxMDA1M0MwMDM3RTAwMDU3QTAxRjE0M0Y0ODA0M0U0ODBFNUYyNTQ3RjQ0MDhGNUYyRTVFMjU0N0Y0NDA4RjVFMjc1RTExMEE1RDhFMTIyQ0EwOTEyMzAyMDEwMDExMkQ1NjcxRTYzNjkwMTdFMDA2QTJFMDE2OUE1RTZGNTY3ODAxMjIwMDIxRTc1NjkwMDg1NkE2N0QyMDI3NDAwODAwRDMwMDIwRkMyMDI3RTAwNkMyRTAxNjlBNUU2NTM5MENGNDI5MERBMDkzMkMwRDBDMEQxQzBFMEMwRjBDQTBCQ0ExQkNBMkJEMjAxNzUzMTg5MTI3QzE1N0UxNDgwMDAwOUIxMDAwODIwRTAwMzAyNDU0RjIwNzg1QUE1MEEwOUIxMDAwODIwRTAwMzAyNDU2NzIwNzk0QkE1MEEwOUIxMDAwODIwRTAwMzAyNDU3RkE1MEEwOUIxMDAwODIwRTAwMzAyNDU5NzIwN0EzMEE1MEEwOUIxMDAwODIwRTAwMzAyNDVBRkE1MEEwOUIxMDAwODIwRTAwMzAyNDVDN0E1MEEwOUIxMDAwODIwRTAwMzAyNDVERkE1MEEwOUIxMDAwODIwRTAwMzAyNDVGNzMwMDQwQ0MyMDRDMEYxNzVGMTAxMTI2RkQ5RDBGMURBMkJEQTFCREEwQkQwRjBEMEUwRDBEMUQwRDAzMjc1MzE4MDEyN0MxNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjMyQkNBMDZDNjQ0ODk1NDc1MzE4MTEyN0MxNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjM2QkNBMDZDNjQ0ODk1NDc1MzE4MjEyN0MxNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjNBQkNBMDZDNjQ0ODk1NDc1MzE4MzEyN0MxNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjNFQkNBMDZDNjQ0ODk1NDc1MzE4NDEyN0MxNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjQyQkNBMDZDNjQ0ODk1NDc1MzE4NTEyN0MxNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjQ2QkNBMDZDNjQ0ODk1NDc1MzE4NjEyN0MxNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjRBQkNBMDZDNjQ0ODk1NDc1MzE4NzEyN0MxNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjRFQkNBMDZDNjQ0ODk1NDEwMDgwMTIyMjAyODAzRDIwODIyNzUzMUEwMTI3QzE1N0UxNDgwMDA4MDA2MjAyODAzRDIwODIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjQ5MzAyMEU2MDNEMjA4MjIzMDMwNDlEMjcwN0UzNzAxOEY3RTI3MDFBRjlEMzI0MDMxN0QwMjJFMDU0ODdBMDU0ODdBMzcwMThGN0UzNzAxNkY3RDQzMkQ0MkJFNDQwREUyMzg2ODdBNDcwMTZGNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3MEM0MjJDMjcwMkQyMzY4Nzg2RDMzODAxQTdFMjcwMThGQkUyNDAwMDA2ODZBQkUyNzAxQUYyODA0N0UyNzAxQUY3RTM3MDE4RjlEMzI3RDAyMkUwNTQ4N0EwNTQ4N0EzNzAxOEY3RTM3MDE2RjdENDMyRDQyQkU0NDBERTIzODEzN0E0NzAxNkY3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MERFMzlEMjQxMjY1MkI3RTM0MDlFMzdEMjQyRDQzN0E0NzAxNkYxMjY1MkJCRTI1MjA3ODAzMDI0NjdGMjJEMjA4N0UwNDA5RTM3QTA3MDE2RjdBMDcwMTdGNzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFCRjJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwMDAwMkUyNzAxQkYxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzODBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEwMjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDAwMDAyRTY3MDFCRjlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDA3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI0N0UzNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM4MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTAyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjQ3RTNEQUI4MDI0OTMwMDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2ODgwMDJDMjY4QTVGRDVFNTAyMDY4MDREMjYwODAwMkMyNjBBNUZENUU1MDgwNjgwNEQyNTg4MDAyQzI1ODEyNDJDODAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjQ4MzU3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwOTAxMjIyMDI5MDNEMjA5MjI3NTMxQTExMjdDMTU3RTE0ODEwMDgwMDYyMDI5MDNEMjA5MjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNEM4ODIwRTYwM0QyMDkyMjMwMzE0OUQyNzE3RTM3MDE5MTdFMjcwMUIxOUQzMjQwMzE3RDAyMkUwNTRBN0EwNTRBN0EzNzAxOTE3RTM3MDE3MTdENDMyRDQyQkU0NDExRTIzODY4N0E0NzAxNzE3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDcxQzQyMkMyNzEyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOTFCRTI0MDAwMDY4NkFCRTI3MDFCMTI4MDQ3RTI3MDFCMTdFMzcwMTkxOUQzMjdEMDIyRTA1NEE3QTA1NEE3QTM3MDE5MTdFMzcwMTcxN0Q0MzJENDJCRTQ0MTFFMjM4MTM3QTQ3MDE3MTc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQxMUUzOUQyNDEyNjUyQjdFMzQwREUzN0QyNDJENDM3QTQ3MDE3MTEyNjUyQkJFMjUyMDc4MDMwMjQ5RDcyMkQyMDk3RTA0MERFMzdBMDcwMTcxN0EwNzAxODE3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUMxMkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDAxMDAyRTI3MDFDMTFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM5MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTEyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDEwMDJFNjcwMUMxOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMTdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjRCM0I3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzkwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMTIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNEIzQkRBQjgwMjRDODgwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjY5ODAwMkMyNjlBNUZENUU1MDIwNjgwNEQyNjE4MDAyQzI2MUE1RkQ1RTUwODA2ODA0RDI1OTgwMDJDMjU5MTI0MkU5MDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNEI4RDc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDBBMDEyMjIwMkEwM0QyMEEyMjc1MzFBMjEyN0MxNTdFMTQ4MjAwODAwNjIwMkEwM0QyMEEyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI0RkUwMjBFNjAzRDIwQTIyMzAzMjQ5RDI3MjdFMzcwMTkzN0UyNzAxQjM5RDMyNDAzMTdEMDIyRTA1NEM3QTA1NEM3QTM3MDE5MzdFMzcwMTczN0Q0MzJENDJCRTQ0MTVFMjM4Njg3QTQ3MDE3Mzc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzJDNDIyQzI3MjJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5M0JFMjQwMDAwNjg2QUJFMjcwMUIzMjgwNDdFMjcwMUIzN0UzNzAxOTM5RDMyN0QwMjJFMDU0QzdBMDU0QzdBMzcwMTkzN0UzNzAxNzM3RDQzMkQ0MkJFNDQxNUUyMzgxMzdBNDcwMTczNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDE1RTM5RDI0MTI2NTJCN0UzNDExRTM3RDI0MkQ0MzdBNDcwMTczMTI2NTJCQkUyNTIwNzgwMzAyNEQyRjIyRDIwQTdFMDQxMUUzN0EwNzAxNzM3QTA3MDE4Mzc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQzMyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDIwMDJFMjcwMUMzMUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0EwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMjIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwMjAwMkU2NzAxQzM5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAyN0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNEU5Mzc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEyMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI0RTkzREFCODAyNEZFMDA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNkE4MDAyQzI2QUE1RkQ1RTUwMjA2ODA0RDI2MjgwMDJDMjYyQTVGRDVFNTA4MDY4MDREMjVBODAwMkMyNUExMjQzMEEwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI0RUU1NzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMEIwMTIyMjAyQjAzRDIwQjIyNzUzMUEzMTI3QzE1N0UxNDgzMDA4MDA2MjAyQjAzRDIwQjIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjUzMzgyMEU2MDNEMjBCMjIzMDMzNDlEMjczN0UzNzAxOTU3RTI3MDFCNTlEMzI0MDMxN0QwMjJFMDU0RTdBMDU0RTdBMzcwMTk1N0UzNzAxNzU3RDQzMkQ0MkJFNDQxOUUyMzg2ODdBNDcwMTc1NzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3M0M0MjJDMjczMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTk1QkUyNDAwMDA2ODZBQkUyNzAxQjUyODA0N0UyNzAxQjU3RTM3MDE5NTlEMzI3RDAyMkUwNTRFN0EwNTRFN0EzNzAxOTU3RTM3MDE3NTdENDMyRDQyQkU0NDE5RTIzODEzN0E0NzAxNzU3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MTlFMzlEMjQxMjY1MkI3RTM0MTVFMzdEMjQyRDQzN0E0NzAxNzUxMjY1MkJCRTI1MjA3ODAzMDI1MDg3MjJEMjBCN0UwNDE1RTM3QTA3MDE3NTdBMDcwMTg1NzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDNTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwMzAwMkUyNzAxQzUxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEzMjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDAzMDAyRTY3MDFDNTlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDM3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1MUVCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNCMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTMyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjUxRUJEQUI4MDI1MzM4MDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2QjgwMDJDMjZCQTVGRDVFNTAyMDY4MDREMjYzODAwMkMyNjNBNUZENUU1MDgwNjgwNEQyNUI4MDAyQzI1QjEyNDMyQjAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjUyM0Q3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwQzAxMjIyMDJDMDNEMjBDMjI3NTMxQTQxMjdDMTU3RTE0ODQwMDgwMDYyMDJDMDNEMjBDMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNTY5MDIwRTYwM0QyMEMyMjMwMzQ0OUQyNzQ3RTM3MDE5NzdFMjcwMUI3OUQzMjQwMzE3RDAyMkUwNTUwN0EwNTUwN0EzNzAxOTc3RTM3MDE3NzdENDMyRDQyQkU0NDFERTIzODY4N0E0NzAxNzc3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDc0QzQyMkMyNzQyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOTdCRTI0MDAwMDY4NkFCRTI3MDFCNzI4MDQ3RTI3MDFCNzdFMzcwMTk3OUQzMjdEMDIyRTA1NTA3QTA1NTA3QTM3MDE5NzdFMzcwMTc3N0Q0MzJENDJCRTQ0MURFMjM4MTM3QTQ3MDE3Nzc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQxREUzOUQyNDEyNjUyQjdFMzQxOUUzN0QyNDJENDM3QTQ3MDE3NzEyNjUyQkJFMjUyMDc4MDMwMjUzREYyMkQyMEM3RTA0MTlFMzdBMDcwMTc3N0EwNzAxODc3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUM3MkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDA0MDAyRTI3MDFDNzFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNDMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTQyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDQwMDJFNjcwMUM3OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNDdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjU1NDM3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0MwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNDIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTU0M0RBQjgwMjU2OTAwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjZDODAwMkMyNkNBNUZENUU1MDIwNjgwNEQyNjQ4MDAyQzI2NEE1RkQ1RTUwODA2ODA0RDI1QzgwMDJDMjVDMTI0MzRDMDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNTU5NTc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDBEMDEyMjIwMkQwM0QyMEQyMjc1MzFBNTEyN0MxNTdFMTQ4NTAwODAwNjIwMkQwM0QyMEQyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1OUU4MjBFNjAzRDIwRDIyMzAzNTQ5RDI3NTdFMzcwMTk5N0UyNzAxQjk5RDMyNDAzMTdEMDIyRTA1NTI3QTA1NTI3QTM3MDE5OTdFMzcwMTc5N0Q0MzJENDJCRTQ0MjFFMjM4Njg3QTQ3MDE3OTc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzVDNDIyQzI3NTJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5OUJFMjQwMDAwNjg2QUJFMjcwMUI5MjgwNDdFMjcwMUI5N0UzNzAxOTk5RDMyN0QwMjJFMDU1MjdBMDU1MjdBMzcwMTk5N0UzNzAxNzk3RDQzMkQ0MkJFNDQyMUUyMzgxMzdBNDcwMTc5NzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDIxRTM5RDI0MTI2NTJCN0UzNDFERTM3RDI0MkQ0MzdBNDcwMTc5MTI2NTJCQkUyNTIwNzgwMzAyNTczNzIyRDIwRDdFMDQxREUzN0EwNzAxNzk3QTA3MDE4OTc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQzkyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDUwMDJFMjcwMUM5MUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0QwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNTIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwNTAwMkU2NzAxQzk5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA1N0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNTg5Qjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRDBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE1MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1ODlCREFCODAyNTlFODA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNkQ4MDAyQzI2REE1RkQ1RTUwMjA2ODA0RDI2NTgwMDJDMjY1QTVGRDVFNTA4MDY4MDREMjVEODAwMkMyNUQxMjQzNkQwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI1OEVENzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMEUwMTIyMjAyRTAzRDIwRTIyNzUzMUE2MTI3QzE1N0UxNDg2MDA4MDA2MjAyRTAzRDIwRTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjVENDAyMEU2MDNEMjBFMjIzMDM2NDlEMjc2N0UzNzAxOUI3RTI3MDFCQjlEMzI0MDMxN0QwMjJFMDU1NDdBMDU1NDdBMzcwMTlCN0UzNzAxN0I3RDQzMkQ0MkJFNDQyNUUyMzg2ODdBNDcwMTdCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3NkM0MjJDMjc2MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTlCQkUyNDAwMDA2ODZBQkUyNzAxQkIyODA0N0UyNzAxQkI3RTM3MDE5QjlEMzI3RDAyMkUwNTU0N0EwNTU0N0EzNzAxOUI3RTM3MDE3QjdENDMyRDQyQkU0NDI1RTIzODEzN0E0NzAxN0I3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MjVFMzlEMjQxMjY1MkI3RTM0MjFFMzdEMjQyRDQzN0E0NzAxN0IxMjY1MkJCRTI1MjA3ODAzMDI1QThGMjJEMjBFN0UwNDIxRTM3QTA3MDE3QjdBMDcwMThCNzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDQjJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwNjAwMkUyNzAxQ0IxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE2MjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDA2MDAyRTY3MDFDQjlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDY3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1QkYzNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNFMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTYyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjVCRjNEQUI4MDI1RDQwMDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2RTgwMDJDMjZFQTVGRDVFNTAyMDY4MDREMjY2ODAwMkMyNjZBNUZENUU1MDgwNjgwNEQyNUU4MDAyQzI1RTEyNDM4RTAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjVDNDU3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwRjAxMjIyMDJGMDNEMjBGMjI3NTMxQTcxMjdDMTU3RTE0ODcwMDgwMDYyMDJGMDNEMjBGMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNjA5ODIwRTYwM0QyMEYyMjMwMzc0OUQyNzc3RTM3MDE5RDdFMjcwMUJEOUQzMjQwMzE3RDAyMkUwNTU2N0EwNTU2N0EzNzAxOUQ3RTM3MDE3RDdENDMyRDQyQkU0NDI5RTIzODY4N0E0NzAxN0Q3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDc3QzQyMkMyNzcyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOURCRTI0MDAwMDY4NkFCRTI3MDFCRDI4MDQ3RTI3MDFCRDdFMzcwMTlEOUQzMjdEMDIyRTA1NTY3QTA1NTY3QTM3MDE5RDdFMzcwMTdEN0Q0MzJENDJCRTQ0MjlFMjM4MTM3QTQ3MDE3RDc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQyOUUzOUQyNDEyNjUyQjdFMzQyNUUzN0QyNDJENDM3QTQ3MDE3RDEyNjUyQkJFMjUyMDc4MDMwMjVERTcyMkQyMEY3RTA0MjVFMzdBMDcwMTdEN0EwNzAxOEQ3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUNEMkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDA3MDAyRTI3MDFDRDFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNGMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTcyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDcwMDJFNjcwMUNEOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNzdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjVGNEI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0YwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNzIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNUY0QkRBQjgwMjYwOTgwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjZGODAwMkMyNkZBNUZENUU1MDIwNjgwNEQyNjc4MDAyQzI2N0E1RkQ1RTUwODA2ODA0RDI1RjgwMDJDMjVGMTI0M0FGMDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNUY5RDc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjI3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDEwNjgwNEQyNjg4MDAyQzI2OEE1RkQ1RTUwMjA2ODA0RDI2MDgwMDJDMjYwQTVGRDVFNTA4MDY4MDREMjU4ODAwMkMyNTgwMjYyN0Y3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDEwNjgwNEQyNjk4MDAyQzI2OUE1RkQ1RTUwMjA2ODA0RDI2MTgwMDJDMjYxQTVGRDVFNTA4MDY4MDREMjU5ODAwMkMyNTkwMjYyN0Y3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDEwNjgwNEQyNkE4MDAyQzI2QUE1RkQ1RTUwMjA2ODA0RDI2MjgwMDJDMjYyQTVGRDVFNTA4MDY4MDREMjVBODAwMkMyNUEwMjYyN0Y3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDEwNjgwNEQyNkI4MDAyQzI2QkE1RkQ1RTUwMjA2ODA0RDI2MzgwMDJDMjYzQTVGRDVFNTA4MDY4MDREMjVCODAwMkMyNUIwMjYyN0Y3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDEwNjgwNEQyNkM4MDAyQzI2Q0E1RkQ1RTUwMjA2ODA0RDI2NDgwMDJDMjY0QTVGRDVFNTA4MDY4MDREMjVDODAwMkMyNUMwMjYyN0Y3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDEwNjgwNEQyNkQ4MDAyQzI2REE1RkQ1RTUwMjA2ODA0RDI2NTgwMDJDMjY1QTVGRDVFNTA4MDY4MDREMjVEODAwMkMyNUQwMjYyN0Y3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDEwNjgwNEQyNkU4MDAyQzI2RUE1RkQ1RTUwMjA2ODA0RDI2NjgwMDJDMjY2QTVGRDVFNTA4MDY4MDREMjVFODAwMkMyNUUwMjYyN0Y3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDEwNjgwNEQyNkY4MDAyQzI2RkE1RkQ1RTUwMjA2ODA0RDI2NzgwMDJDMjY3QTVGRDVFNTA4MDY4MDREMjVGODAwMkMyNUYwMjYyN0Y1NEYwQzRBNUZGQzRBNTRGNzUzMTkwMTI3QzE1RjUzMTEyN0MxNTIyQ0ExOTVFMjAwNzRDQTI3RTc0MjlFM0NBNzk3QTc5QTAwQjc0N0E3OUIwMEI3NERBNzk3RTMwMDI3RTY0MDAwMjAyNjJERUNBMTk1RTIwMDc0Q0EyN0U3NDI5RTNDQTc5N0E3OUEwMEI3NDdBNzlCMDBCNzQ3QTc5NjAwQjc0REE3OTdFMzAwMzdFNjQwMDAzMDI2MkRFRDIwNDdFMjcwMUUxMkQyNkJFMjQwNDAwMzgyRTdFMDcwMURGN0U0NDA1RTM3RTc5QTA3QTA5QTAwQjA0MEI3NEJEMDQ2ODIzQTVEQkVGN0EyNzAxRTE3RTI1NDYyRDI2N0EyNTQ2N0EwNzAxREZEQTE5QzJENzIyNzUzMTlBMTI3QzE1REExOUQyRDcyMjdFMDQwMUUzODBENzQ4QjY0NjI1NDcxQzQ5MTU0NEM2NDRDNjQ4MUI0NEM2NDk1OTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0OTYwNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NEMwRTQ5N0Q0QTc0NEM2RDQ0QzY0NEM2NEI3MzQ0QzY0Q0IxNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjRDQjg0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0RjY2NENENTREQ0M0RkM1NDRDNjQ0QzY0RUNCNDRDNjUwMDk0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NTAxMDQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjUyQkU1MDJENTEyNDUzMUQ0NEM2NDRDNjUyMjM0NEM2NTM2MTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1MzY4NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NTYxNjUzODU1NDdDNTY3NTQ0QzY0NEM2NTU3QjQ0QzY1NkI5NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjU2QzA0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1OTZFNTZERDU3RDQ1OUNENDRDNjQ0QzY1OEQzNDRDNjVBMTE0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NUExODQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjVDQzY1QTM1NUIyQzVEMjU0NEM2NDRDNjVDMkI0NEM2NUQ2OTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1RDcwNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NjAxRTVEOEQ1RTg0NjA3RDQ0QzY0NEM2NUY4MzQ0QzY2MEMxNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjYwQzg0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzZDQTI5MUU1MDQwMEQ3RTU0MEIxMDlDQjVBNDJFNTQ2NTQ4ODk1NDdFMzkwMDdBMTkwMDBCMzQ4MEU5MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNURBMjkyMjFFNTA0MDBEN0U1NDBCMUM5Q0I1QTQyRTU0NjYxNjg5NTQ3RTE5MDA3QTM5MDAwQjM0ODBFOTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzUyMjY3OTY2OTYzNjk3QjZBNDk2QUU0NkI4RTZCQTk2QzNCNkJDNDZDMDU2OTk2NjlBQTdDQjNCRUIwMEIyODE0NzUzMTA5MTI3QzE1NzU2RDEwQzBGMTc1RjEwMTQzRTFDMEQwRjEyMkMwQThDMkFGMjM2Q0FBMkU1NDY3NEIwQjU4NTA4OTU0MDEwMjA0MDgxMDIwNDA4MDc1MzFCMDEyN0MxNTBBMzIwOUIzNjc4RTQyMzIxOTQzMDAzNkQwQTgyMjdDQjIyMzBBM0I0OTMzNjdDQjBBMjIwOTMyMDAzNjA5QjI2NzhFQTVCQjAwMDVGNDUyMzM4MDAyNDIzMzg5MzQ2N0RCNjgwOTY4Mzc2ODY1Njg5MzY4QzE2OEVGNjkxRDEyNDFCNUQyMjhEMjA4QzI0MEMyNDhDMjM4QzIzMDZEMDA3QTAzMDFDRjdFMDQwMDIwN0EwNzAxQUY3RTA0MDAzODdBMDcwMUJGMTI0MTE2MTI2MENGMDI2OTRCMTI0MUQ0RDIyOUQyMDlDMjQxQzI0OUMyMzlDMjMxNkQwMDdBMDMwMUQwN0UwNDAwMjA3QTA3MDFCMTdFMDQwMDM4N0EwNzAxQzExMjQxMTYxMjYxMDUwMjY5NEIxMjQxRjNEMjJBRDIwQUMyNDJDMjRBQzIzQUMyMzI2RDAwN0EwMzAxRDE3RTA0MDAyMDdBMDcwMUIzN0UwNDAwMzg3QTA3MDFDMzEyNDExNjEyNjEzQjAyNjk0QjEyNDIxMkQyMkJEMjBCQzI0M0MyNEJDMjNCQzIzMzZEMDA3QTAzMDFEMjdFMDQwMDIwN0EwNzAxQjU3RTA0MDAzODdBMDcwMUM1MTI0MTE2MTI2MTcxMDI2OTRCMTI0MjMxRDIyQ0QyMENDMjQ0QzI0Q0MyM0NDMjM0NkQwMDdBMDMwMUQzN0UwNDAwMjA3QTA3MDFCNzdFMDQwMDM4N0EwNzAxQzcxMjQxMTYxMjYxQTcwMjY5NEIxMjQyNTBEMjJERDIwREMyNDVDMjREQzIzREMyMzU2RDAwN0EwMzAxRDQ3RTA0MDAyMDdBMDcwMUI5N0UwNDAwMzg3QTA3MDFDOTEyNDExNjEyNjFERDAyNjk0QjEyNDI2RkQyMkVEMjBFQzI0NkMyNEVDMjNFQzIzNjZEMDA3QTAzMDFENTdFMDQwMDIwN0EwNzAxQkI3RTA0MDAzODdBMDcwMUNCMTI0MTE2MTI2MjEzMDI2OTRCMTI0MjhFRDIyRkQyMEZDMjQ3QzI0RkMyM0ZDMjM3NkQwMDdBMDMwMUQ2N0UwNDAwMjA3QTA3MDFCRDdFMDQwMDM4N0EwNzAxQ0QxMjQxMTYxMjYyNDkwMjY5NEI3RUEwRDA3RTYwMEYxMjYyQjY0MDBDQzBGMTc1RjEwMTEyNkZEOUQwRjFDMkQ3MjI3NTMxQjExMjdDMTUwQTUyMjM2RDAwNTkwNTAwNDgxMjQxN0UxMjQxOUFEMEE4MjI3NTMxQjIxMjdDMTUwQTIyMDlCMjY3OEU0MjIzN0VCMDlDMTlCMjAxQ0YxMjMxODVEMEE4MjI3NTMxQjcxMjdDMTUwQTIyMDlCMjY3OEU0MjI0MTIzNTNERDBBODIyNzUzMUI5MTI3QzE1MEEzMjA5QjM2NzhFNDIzNDE5NDMwMDNFMTI2OUMyRDBBODIyN0NCMjIzMEEwQjdDQjQyMEUwMDQ2RDMzODAwNDQ5MzAwMThGN0VBMEQ4QTVFRkNBMEJDQTI5MTI2MkI2REEyOURBMEI0MDYyNzUzMUJBMTI3QzE1N0NCNDMwRTAxRTZEMzM1OTMwMDE4RjdFMzQwOUUzMEE4MjdFOTQwNDAwQUQ4OTJEMzk1OTMwMDE2RjU5MzAwMTdGN0NCNDMwRTExMDdFMDQ4MDAwNEMwMjA5QjAwMDA4NDQwNDE5QjAwMDA4MEEwMjA5QjA2NzhFNDIyMUY0NTIzNDdDQjIyMzBBMEJDQTE5NDkwMDMwRDU5OTA0REExOUMwRjE3NUYxMDExMjZGRDlEMEYxQzJENzIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwODE5MzAwMDBDN0M3NDVFNzAwMTY4MTI0NDQwQ0FCODA5QjAwMDEwNDQwMjE5QjAwMDEwREFCODgwMDI1NEJGN0M3NDVFNzAwODY4MDQ0NDA4ODAwMjU0RjcwOTMwMDAwQ0NBQjg3NEJGMTlCMDAwMENEQUI4MTlCMDAwMDgxOTMwMDAwQzBBNjIwOUI2Njc4RTNFMjAwQTYyN0M3NDVFNzAwMjY4MjA0MjI3Q0FCODc0NjExOUIwMDAwODdFNDQwMDEwNTk0NjAxQkYwOUIwMDAxMDQ0MDExOUIwMDAxMERBQjg4MDExRjQ1MjI3NzRBMTE5QjAwMDA4N0U0NDAwMzg1OTQ2MDFCRkQwQTgyMjdDNzQ3RTA0ODAwMDRDMDIwQTYyMDlCNjY3OEVBNUZERjRBNUZFQ0EyODNFMjAwQTYyQTVFRTUyMjY3RTQ0MDAyMDU5NDYwMUFGREEyODA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDg3Qzc0NUU3MDAxNjgwQzQ0ODBDQUI4QTVFRDQyMkFEQUI4ODAwQTU0N0ZDQUI4QTVFRTUyMkFEQUI4N0M3NDVFNzAwODY4MDQ0NDAyODAwMjU0RkQxOUIwMDAwODE5MzAwMDBDN0M3NDVFNzAwMjY4MTBBNUVENDIyODQyMjY3RTQ0MDAwODU5NDYwMUFGODAwNEE1RUU1MjI4N0M3NDVFNzAwNDY4MTBBNUVENDIyOTQyMjY3RTQ0MDAwODU5NDYwMUFGODAwQkE1RUU1MjI5N0M3NDVFNzAwMjc4MDAxMjQyQUREMEE4MjI3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzE5NDAwMDEwMTkzMDAwMENEMEE4MjI3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzE5NDAwMDE4MTkzMDAwMENEMEE4MjI3NTMxQjUxMjdDMTU3RTA0ODAwMDRDMDIwOUIwMDAwQzQ0NDAxOUIwMDAwQ0U1NkVCNDA3MjMwOUIwMDAxMDRFQjAwMjE5QjAwMDEwMDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwNDU0RjcxOUIwMDAwNDE5MzAwMDBDRDBBODIyNzUzMUI2MTI3QzE1N0UwNDgwMDA0QzAyRTU2RUI0MDcxODA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDQ0NDA4MTlCMDAwMDQxOTMwMDAwQzA5QjAwMDBDNTRCRjE5QjAwMDBDRDBBODIyNzUzMUI0MTI3QzE1N0EyMTMxMTI3QzE1N0E0MTMxMTI3QzE1MEEzMjA5QjM2NzhFNDIzNTEyNkM1QkQwQTgyMjdFQjAwMTdFQTBDODdDNjQxMjYyQjY0MDEzMEEzMjA5QjM2NzhFRjQ1MjM1QzBGMTc1RjEwMTEyNkZEOUQwRjEyMjZDOEM2Q0QzNkQxQTZENjE2REE4NkRFRjZFMzY2RTdENzUzMTU1MTI3QzE1NzUzMTAwMTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxN0Y3RTI3MDE4RjJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQwREUyMzgwRjFCMzQ3OEVDN0ExNzAxN0Y3QTI3MDE4RjAyNDYwRjdFMTQwOUUzODBFQjc1MzE1NTEyN0MxNTc1MzEwMTEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMTgxN0UyNzAxOTEyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MTFFMjM4MEYxQjM0NzhFQzdBMTcwMTgxN0EyNzAxOTEwMjQ5Njc3RTE0MERFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDIxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4MzdFMjcwMTkzMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDE1RTIzODBGMUIzNDc4RUM3QTE3MDE4MzdBMjcwMTkzMDI0Q0JGN0UxNDExRTM4MEVCNzUzMTU1MTI3QzE1NzUzMTAzMTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxODU3RTI3MDE5NTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxOUUyMzgwRjFCMzQ3OEVDN0ExNzAxODU3QTI3MDE5NTAyNTAxNzdFMTQxNUUzODBFQjc1MzE1NTEyN0MxNTc1MzEwNDEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMTg3N0UyNzAxOTcyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MURFMjM4MEYxQjM0NzhFQzdBMTcwMTg3N0EyNzAxOTcwMjUzNkY3RTE0MTlFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDUxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4OTdFMjcwMTk5MkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDIxRTIzODBGMUIzNDc4RUM3QTE3MDE4OTdBMjcwMTk5MDI1NkM3N0UxNDFERTM4MEVCNzUzMTU1MTI3QzE1NzUzMTA2MTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxOEI3RTI3MDE5QjJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQyNUUyMzgwRjFCMzQ3OEVDN0ExNzAxOEI3QTI3MDE5QjAyNUExRjdFMTQyMUUzODBFQjc1MzE1NTEyN0MxNTc1MzEwNzEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMThEN0UyNzAxOUQyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MjlFMjM4MEYxQjM0NzhFQzdBMTcwMThEN0EyNzAxOUQwMjVENzc3RTE0MjVFMzgwRUJDQUI4QzBGMTc1MzEwMjEyN0MxNUU1QzA1NDAzNjgwNTEyNzVDRDgwRjUzMEMyMDg3NUYxMDExMjZGRDk4MDE0MzBDMzA4NzVGMTAxMTI2RUZEODAwOTMwQzQwNjc1RjEwMjEyNzBFOUQwRjFEQUI4MzI3NTMxMTAxMjdDMTVDQTBCQ0EzOUNBNTlDMkMzQTkyMUUyNUNFNUU1NTRDMDY4NEZFNUU2NkNBQTdFMzcwMURCMkQzNUJFMzQwNDAwMzg0QTdBMzcwMURCN0UzNzAxRDk3RDQzMkQ0NUJFNDQwOUUyMzg0MDdBNDcwMUQ5NzUzMTExMTI3QzE1N0FCMTMxMTI3QzE1MTI3MUI4QTkyMUU1MUZBOUQ0RTRBOTI0RTRGQ0MyQzNBOTIxRTIzQkU1RTU1NEMwNzhCNDEyNzQ1QURBNTlEQTM5REEwQjIyODAyOTgwNTg3NTMxMTYxMjdDMTU4MEVENzUzMTEyMTI3QzE1N0FCMTMxMTI3QzE1OUU0NDA5RTM5RDU0MTI3MUI4N0UzNDA1RTM3RDU0MkQ0MzgwQTFFNUU1NTQwMzc4MTI3NTMxMTMxMjdDMTU3RTBGMjlGRjBCMEM3QTBGMjlGRjgwQTc3NTMxMTQxMjdDMTU3RTBGMkEwMzBCMEM3QTBGMkEwM0E5RDdFNEE5MjdFNEZDODA5RDc1MzExNTEyN0MxNTdFMEYyQTA3MEIwQzdBMEYyQTA3ODBFNTc1MzExODEyN0MxNUNBMDlDQTM5Q0EyQkMyQzJBOTIxRjI1MkU1RjUzMzgyRTc0MDQ0N0UzNzAxRTE3RTU0MDA0MDlEMzU0MDQzN0EzNzAxRTE3RTM3MDFERDdENDMyRDQ1QkU0NDA1RTIzODUyN0E0NzAxREQ3RDQ1MTI3MzE2QTkyMEY1MjI3NTMxMTkxMjdDMTU3QTkxMzExMjdDMTU3QTgxRjc3QTkxRjZFNUY1MzM4MkU3NTBCQ0RBMkJEQTM5REEwOTIyODA0MTgwNjQyRDUzNkQzMzcwQjc3RTA0MDFFMzdBMDcwMURGN0EwNzAxRERBOTMyRjJERjg1MzAzMTEyN0MxNTc1RjYwMDgwRDRDQTU5OUU0NDA1RTM5RDU0MTI3MzE2N0UzNDAxRTM3RDU0MkQ0MzdBNDcwMUREMTI3MzE2REE0OTgwOTlFNUY1NTQwMzc4MUY3RTBGMjlFRjBCMEM3QTBGMjlFRjgwOUQ3RTBGMjlGNzBCMEM3QTBGMjlGN0E5RDdGNEE5MjdGNEZDODA4QTdFMEYyOUYzMEIwQzdBMEYyOUYzODBFQkU1RjU1NDAzNzgxRjdFMkYyQTBGMEIyQzdBMkYyQTBGODAzNDdFMkYyQTE3MEIyQzdBMkYyQTE3QTlEN0Y0QTkyN0Y0RkM4MDIxN0UyRjJBMTMwQjJDN0EyRjJBMTM4MEVCREEyQkRBMUJEQTBCMjI3NTMxMjgxMjdDMTVDQTBCQ0ExQkNBMkJDMkM0QTkyMUYyQjZFNUY1MzM3MkU3NDBFMDdFMEQ0NjdFMUQ0QTdFMkQ0RTdFM0Q1MjdFODU1NjdEOTA0RDkxNEQ5MjREOTM0RDk0NEQ5NTREOTY0RDk3NEQ5ODY4NzI3QTExRjM3QTAxRjM3QTMxRjM3QTIxRjM3QTUxRjM3QTQxRjM3QTcxRjM3QTYxRjM3QTkxRjM3QTgxRjMzMDdCMUE3QUIxRjM3QUExRjM3QUQxRjM3QUMxRjM3QUYxRjM3QUUxRjM3RDc4N0FGMUYzN0FFMUYzQTkzMEY1MDMwMjcwRDY3NTMxMjkxMjdDMTUyMDdCMEI3NTMxMEExMjdDMTU3NUY2MEE4MDA5NzUzMTEyMTI3QzE1NzVGNjEyNkQwMDdEMTA3QTBENDY3QTBENEE3QTBENEU3QTBENTI3QTA1NTZEQTJCREExQkRBMEIyMjFFQjA0MDBDN0VBMDBBQTQ3RTA0NzJGQjlEMDU4OTA0N0VBMUUzN0EzOUEwMEIzNDgwRUFCNDQwRTM3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1MjIxRUIwNDAwQzdFQTAwQUE0N0UwNDc0NTk5RDA1ODkwNDdFMzlBMDdBQTFGMzBCMzQ4MEVBQjQ0MEUzMEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTIyQzJBRjdFMzcwMURCNEQzMzY4M0I3RTA3MDFENzdFNTQwOUUzOUQ1MEJEMzU0MDAyN0QzNUNBMzk3RTY1NjE5OTY0REEzOTdFMDcwMURCOUQwMzdBMDcwMURCMkUzNzAxRDc3QTM3MDFEN0JFMzQwOUUyMjhDNzdFMzQwNUUzN0EzNzAxRDc4MEJERDJBRjIyNzUzMTUzMTI3QzE1N0UxNTYzODAxMTc1MzE1MTEyN0MxNTBCMDgxMDBCMDU5RTM0MDAwMjI4NEQ3Q0IyMjBFNzI3NTQwNzIzMEEyQjQ5MjI2QzdDN0NCMjU0NzgwMzAzMDM3QzJCOUQxMzQwMUE2ODEyN0ExNTYzN0EyNTY1N0U2NDc1Mzc3QTY1NjE4OTI0MDI3NTQ1N0U2NDc0QUQ4MEYyMkQxMzlEMzFDQTM5N0QzMTJEMTBDQTE5Q0EyOTk5MjREQTI5REEwOURBMzk4MEEyN0ExNTYzN0U2NDc1MjM0RDMzNzgwOTdDQjIyMEU3MkE3RTY0NzRBMjdBNjU2MTIyNzUzMTUyMTI3QzE1N0UyMTYzN0UwOTMwMEIwNDFCMzQ3ODg5ODBENDc1MzE1NDEyN0MxNTdFMTU2MzdFMjU2NTgwOTA1RTIwMDc1NDc4N0U0NDc1QzEzMEU2MTY0RDMzNjgyNjFCMzQ3RTA5NDAwQjA0N0U0NDY3NjMyMEUzMDQ3RTQ0NzVDOUNBMDlDQTM5OTk0NERBMzlEQTA5N0U2NDc0QUQ0RDMzNjhBNjg5NjQ3QTE1NjNGNTY1N0U2NDc1ODY4MDk5N0UxNTYzRTU2NTgwQzRDMEQwQzBEMUMwRTBDQTE5QTkyMERGMTJBOTIxREYxQjc1MzEwMTEyN0MxNTUzREZGNzEyNDBEQzgwMEQ3NTMxRkUxMjdDMTU3RTE0MDA1MzAyNDA1MURBMTlEMEUwRDBEMUQwRDAzMjAzQTVDQjE5QjE4MDAwMjIyMjAyNzY0MkNBMEJDQTFCQ0EyQkNBM0JDQTRCQ0E1QkNBNkJDQTdCQ0FFQkMwRjE3RUIzMkEzM0I0MDAwMjgwMTlCNDAxMTYzMEMwMDg3NUYxMDAxMjc2MkM4MDFGMzBDMTFDNzVGMTAwMTI3NkJEODAxNDMwQzEwODc1RjEwMDEyNzZCRDgwMDkzMEMwMDY3NUYxMDAxMjc2MkNEMEYxREFFQkRBN0JEQTZCREE1QkRBNEJEQTNCREEyQkRBMUJEQTBCMjJDMkMwN0VCMzJBMzNCNDAyMDcxMjc2NEUwMjc2NDIyMkI0MDFGQzAyNzY4ODdFMDAwMDdBMDMyQTMzN0EwMzJBMzQyMjdFQjMyQTJCNTQ2MDYwMDVCNDQwMTU4MDEzN0VCMzJBMkNCNDA1MEM3NTMxNzExMjdDMTU3RUIzMkEyRUY1OEYyMjc1RjYwMDIyQkU1NzJBMzEyODA0N0U1NzJBMzE3QTBGMkEzNjdBNTcyQTNBMDI3Njg4N0VFRjJBMzY3RUY3MkEzQTdFMDcyQTNBNEQwMDY4MjE3RTAwMDA3RUVCQjBGNUYzQTNBNTA4MUJGNDY4MDRBNUI4MDhGMDdBRUYyQTM2N0FGNzJBM0E3NTMxMDYxMjdDMTU3QTAxRjYyMkMyQzE3NTMxMDMxMjdDMTVBOTM2RTIxNkU1RjU1NEMwNjgwN0E5RDdGNEE5MjdGNEZDNTNFMTNGNDNGMjg4MDI3NzI5N0VCMzJBMzRCNDAyMDRBOUQ0RTQyMkI0MDEzOTdFMjFFNjdDMzI3RTEzMkEzNTJDMjE3QTIzMkEzNTdFMDAwMDJFMDQyQTNDRTVFMzdBMDlCMDBCMDRBNURCRjZBOUQ0RTQ3NTMxNzAxMjdDMTU3RUIzMkEzNTdFQTMyQTMyQkNBQjc4MDMxMjc3QzAyMjAyN0IyOUU1RTZCNDA4NjVBOUM0RTI3RTAxRTM3RTExRTM3RTMxRTM3RTIxRTM3RTUxRTM3RTQxRTM3RTcxRTM3RTYxRTM3QTBGMkEyQjdBMUYyQTJGNzUzMTA0MTI3QzE1N0EwMTMxMTI3QzE1N0ExMTMxMTI3QzE1N0EyMTMxMTI3QzE1N0EzMTMxMTI3QzE1N0E0MTMxMTI3QzE1N0E1MTMxMTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1QTlENEU0QTlEN0Y0QTlDNkUyMTI3Nzk0MjI2RDAwN0UxNDAxMDI3QTA3MkEzQTdBMDMyQTM1N0VCMzJBMkIyMEU3MEY3QTIzMkEzNDdBMzMyQTMzQkUwNzJBMzE2ODA5MjI3QTMzMkEzNDdBMjMyQTMzN0VCMzJBMkI1NEUzMjMyMzMwRTAwMkQyRTUzMEU3MDJEMkU0MzBFNTA2MzBFNDAzMDI3QjI5NTQzRUY1RjAwMzU0MUZDMzI1RjA5MDc3RUM3NTg0RkY3MzAyNzk0MDAyNzgzNDAyNzlERDAyNzlGODAyNzhEOTAyNzg5QTAyN0ExMTAyN0ExMTAyN0ExNDAyN0ExNDAyN0ExNDAyN0ExNDAyN0ExNDAyN0ExNDAyN0ExNDAyN0ExNDAyN0ExQTAyN0FDRTAyN0ExNzAyN0ExNzAyN0ExNzAyN0ExNzAyN0ExNzAyN0ExNzdFQjMyQTJDQjQwNjJBN0VCMzJBMkQ2MDU2N0MwQjdFMTMyQTJFN0UxNzJBMkY3NTMxNzIxMjdDMTU3QTAxMzExMjdDMTU3QTExMzExMjdDMTUxMjdCMzM0MDM1MDI3NjczQjQwODEwNzUzMTc0MTI3QzE1N0VCMzNGRjFGNUYzNzVGNjAxMjJCNDAwMUM3NTMxNzUxMjdDMTU3RUIzM0ZGMjMwRTAwNTc1RjMwMjgwMDM3NUYzMDA3NUYzMDA3NUY2MDIyMjAyN0IyOTdFQjMyQTJDQjQwMDM1NzUzMTc2MTI3QzE1N0VCMzJBMzA1NDBGRjVGMTdFQjMyQTMwMjBFNzA5RTVFMTMwRTcwRDc0MDE4MDBCRTVFMTMwRTYwNDc0MDE4MDAyNzQwMDUzRjE4MEY1RjM3NUYzMDA3NUY2MDIyMjAyN0IyOUMwRjE3RUIzMkEzMDU0MEY0MkYxN0VCMzJBMkVCNDAwNDU3RUIzMkEyQ0I0MDEyNDc1MzE3NzEyN0MxNTdFQjMyQTMwNTQwRjc4MDU1M0UxM0Y4MDM3N0VCMzJBMzAyMEU3MDU1M0UxN0Y4MDJCNTNFMUJGODAyNkI0MDMxNzc1MzE3ODEyN0MxNTdFQjMyQTMwMjBFNzA1NDNFMTgwODAxMTQzRTE0MDgwMEM0M0UxQzBEMEYxNzUzMTA3MTI3QzE1MjJEMEYxMDI3NjZGN0VCMzJBMkNCNDA5MjM3NTMxNzkxMjdDMTU3RUIzMkEyRUJFQjMzRkYxNjgxMUNBQjhDMEYxMTI0M0Q0RDBGMURBQjg1MDc2N0FCMzNGRjE4MDZEQjQwNTA4NzUzMTdBMTI3QzE1ODA2MkI0MDMxOTc1MzE3QjEyN0MxNTdFQjMyQTJFQjQwMTU1N0VCMzNGRjI0NDAxN0FCMzNGRjI4MDQ2QjQwMTE5NzUzMTdDMTI3QzE1N0VCMzJBMkVCNDAxMzk3RUIzM0ZGMjU0RkU3QUIzM0ZGMjgwMkFCNDA3MkE3RUIzMkEyRDYwMjQ3QzBCN0UxMzJBMkU3RTE3MkEyRjc1MzE3MzEyN0MxNTdBMDEzMTEyN0MxNTdBMTEzMTEyN0MxNTEyN0I1RjQwMDMwMjc2NkYwMjdCMjk3RUIzMkEyQ0I0MEJGNjc1MzE3RDEyN0MxNTdFQjMyQTJFN0VBMzJBMzA0Q0FCNzhFNDgwREY3RUIzMkEyQ0I0MEFEQjc1MzE3RTEyN0MxNTdFQjMyQTJFNzBDRkY1RjM3NUY2MDEyMjAyN0IyOTAyN0IyOTAyN0IyOTdFQjMyQTJDQjQwNDIwNzUzMUMzMTI3QzE1N0UwNDAwMDE3RTE3MkEyRDdFMTgyQTNDN0ExQzAwMDA3RTQ3MkEzMTEyN0MyMTAyN0FDOEI0MDYzQTc1MzFDMTEyN0MxNTdFNTgwMDAwN0E1QzAwRkU3RENBN0VENzJBMkQ3RTc4MkEzQzdBN0MwMDAwN0U3NzJBMzE3NTMxQzExMjdDMTVDMEE4QzA4N0MyQUZBOUQ1ODcxMjdDNUFEMDg3RDBBODQwNEY4MDRBQjQwMDFDQzJBRkE5RDU4NzEyNzY2RkU0OERFRjhERUY4REVGRDVFMEY3QzBEMUNBMDJGRkNBMDYwMDAwMzJCNDA5MTI3RTU3MkEyRDRENTU2ODA1QTlEMkIxODAwM0E5QzJCMTgwMTZCNDA3MTZDMkFGN0UwNzJBMkY3RTE3MkEyREMwRDFDQTE4Q0EzOENBMjgzMjAyNzY2RjAyN0IyOTdFQjMyQTJDQjQwMzE1NzUzMUMyMTI3QzE1N0UwNDAwMDE3RTE3MkEyRDdFNTcyQTMxMDI3NjczQjQwNTM5NzUzMUMwMTI3QzE1QzBBOEMwODdDMkFGQTlENTg3N0UwODJBM0M3QTBDMDAwMDdFMjQwMEZFN0UzNzJBMkQ3RTQ3MkEzMTEyN0MyMUQwODdEMEE4N0UwODJBM0M3QTBDMDAwMDdFNTcyQTMxMDI3NjczMDI3QjI5NzUzMTA3MTI3QzE1NDNFMUMwMjJDMEE4QzA4N0MyQUZBOUQ1ODcxMjdCOUU0MDE5N0UwODJBM0M3QTBDMDAwMENBMEJDQTQ5MTI3QzIxREE1OURBMEJEMDg3RDBBOEMzMjJEMDg3RDBBODIyQzBBOEMwODdDMkFGQTlENTg3MTI3QjlFNDAyQjdFNTgwMDAwN0E1QzAwRkU3RjYxN0U3ODJBM0M3QTdDMDAwMDdFNzcyQTMxQkQ3NDc4MTE3NTMxQzExMjdDMTUxMjdDNUE0MDA2RDA4N0QwQThDMzIyRDA4N0QwQThEMzIyN0UyNDAwRkU3RTM0N0ZDQTBCMUE1MEM1RjA3RDYyN0Q3NTdEODc3RTM0N0ZDMjdFMUJCMDdFMzQ3RjAzQjQwMTA0N0UzNDdGQ0M3RTFCQjBCQzBCNTA0OTNFMDAzRTAwMEE1MDJENzUwQjNBMzA2OTUzMDAwMkJEMzg1MDAyMkQzOEJDMUI1MDMwM0UxMDNFMTAwQTUxMkQzNTY5NDEwMDAyMEIxQTMwQkQzODUwMDIyRDM4QkU0NEZGRkY3ODA1N0UxQjkwMEE0OTRENDQ2ODBDQkU0NDAwRkYyODA0N0U0NDAwRkZDMzIyRDMyMkZBCis6MDAwNDdGQzYwMDAxMTAwNDAwQTIKKzowMTRBN0MxNTAwQ0EwODdFMDEzMTdBMDMzRkYwREEwODIyN0UxQkMwN0EwQkMwMEIxNDBCMzQxQjQ0NzhGMjIyN0Y2RjdGRjAxQkZDN0M1NDdEMzI4MDA4Q0ExQkNBMUJDQTFCQ0ExQjlFNDQwMDEwNTBGMjJFNDQwMDEwNjgwNkNBNDgxQjQ0NzhGQTdGRjY4OUU0Q0E2QjVFRDQwMDNGNjgyMDdFODQwMDQwOUQ4RERBNkJCRDg3MzgxNkNBNzk3RDc4MTI3Qzg0REE3OTQwMDg5RDc4NjgwMjgwMDVDMkQ3MjJEQTZCNDM5MDMwNzRBQTM5QjU1NTU1NzQ1NTM5QjUyQUFBNzRBMDM5QjU1NTU1N0UwNDAwNDA5RDcwNTAwNjJENzA3RDA3NkQ3NzdDMzE3RTdCMDA3QTZCMDAwQjdDMEI2Q0E1RDlGMzdGMTYxQjFDN0U1NDI3MTA3RTFCMTBCQzEwNjgwNjFCNTQ3OEY1ODAyQzZEMDA3QzIwN0YxNjlGMTA3RjI3OUYyMDdFMkIwMDdFMUIxMEJDMDE3ODE2MEIyQzBCMUNBNURCRUY3Q0I2MjBFMDAzNjM5MDMwNEQ3Nzc4OTNDMkQ3MjJEMkQ3MjIwMDA0MDAwNDQyMDgwNjA0MDIwNDAwMDIwMTA0MDEwMjgyMDgwMDAwMDAwMDAwMDAwMjAyMDIwMjAyMDQwMjA4MTAwMjEwMDQwMjA4MDAwMTAxMDgwMDAxMDAwMjAwMDIwMjA4MDIwNDIwMDQ3RTE4N0ZCRDdBMUMwMEZFMEIxQTAwNUUxMDFGQkUxMDFBMzgxQTBBNTEyMzdFMTg3Q0ZBN0ExQzAwRkYyRDM1MEIxQTUwNjAwOEE1QjgwMjAzNEVBMDA4MjI4MEZFNzMKKzowMDAwMDAwMDAxRkYKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQorLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgorLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisvLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lZGdlcG9ydC9kb3duMi5IMTYgYi9maXJtd2FyZS9lZGdlcG9ydC9kb3duMi5IMTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY0YjRmZgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24yLkgxNgpAQCAtMCwwICsxLDI5IEBACis6MDAwNDAwMDAwMDAyMDAwMDAzRjcKKzowMDAyMDAwMDA0MDBGRkZCCis6MDAwNjAwMDAwMDAyMDA4MDAyNDUxNDFECis6MDAwMzAwMEIwMDAyNDRBNTA3Cis6MDAwMzAwMTMwMDAyNjNBQkRBCis6MDAwMzAwMUIwMDAyMDAxQkM1Cis6MDAwMzAwMjMwMDAyMDAyM0I1Cis6MDAwMzAwMkIwMDAyMDAyQkE1Cis6MDAwMzAwMzMwMDAyMDAzMzk1Cis6MDAwMzAwM0IwMDAyMDAzQjg1Cis6MDAwMzAwNDMwMDAyMDA0Mzc1Cis6MDAwMzAwNEIwMDAyMDA0QjY1Cis6MDAwMzAwNTMwMDAyNjc1RkUyCis6MDAwMzAwN0IwMDAyMDA3QjA1Cis6MDAwNzAwODAwMDdFMTQwMDAwMDI0MDUyNTMKKzowQjY2MzAwMDAwMTIzMDY0MTIzMEZGMTIzMTJGMTIzMEIwODBGMkU1MjM2MDE5N0UxNDAwMDAwOUIxMDFCOUI0MDAwMjgwMDUxNDE5QjEwMUI5QTUwQUJFMjEyRTc4RUIyMkMyQUY3RUIzM0ZGMUI0MDEwMzEyNjU2N0QyQUYyMkMyQUY3RUIzM0ZGMUI0MDExRDc0NDA3QUIzOTEwMDdFQjM5MTFBNkNBQTYwMEZDQTBCQ0EzOUNBNTkxMjY0MjREQTU5REEzOURBMEJEMkFGMjJDMkFGRTUyMjYwNDM3RTA3MDFDQkJFMDQwMzgwMzgzOTdFMDQ4MDAwN0UyMDAwMTM1MDIxMDlBMDAwMDQ0RUEwMDUxOUEwMDAwNDBBMzIwOTUzMzUzMzVFNTEyNzY4MEIwOUEwMDAxMDRFQTAwMTE5QTAwMDEwMkUwNDAxMDBBNTBBQkUyMTJFNzhEMTc1MjIwMEQyQUYyMkMyQUZFNTI2NjAzNjdFMjAwMDdFMzAwMUU1MjZBNTVCNjgyMTdDQjIyMzBBMkI0OTMyMDE3OUJFMzQwMDAwNjgxMjdFQjEyMUE1NEI3QUIxMjFDQTE5NDkyMjMwRUY5OTI0REExOTNFMzBBNTBBQkUyMTJFNzhEMEQyQUYyMjQ2NEY0OTdDNENBOTRGRDY1MzAzNTYzMDU5NUQ1QzhBQzJBRkU1MjQ2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzExQ0RBQjhBNTBBQkUyMTJFNzhFRkQyQUYyMkNBMjgxMjM1NENEQTI4NDAwOTBBMjIwOUIyMzUzM0Y0NTIyNDIyQzJBRkU1MjM2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzE0Q0RBQjhBNTBBQkUyMTJFNzhFRkQyQUYyMjdDQjIyMzBBMkI0OTIyMzE1Nzg5MjQzMTY3MzFEMDMyMzkzMkEyMzMwQjMzNzQzM0REMzQ0NjdFMjcwMTc5QkUyNDAwMDA3ODI0N0UyNDgwMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0OTQ1N0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxODk2ODBEN0EyNzAxODk3RTYwOUM3QTYzMDFCOTgwMjc3RTYzMDFCOUE1QkUwMDFGN0U2MDAxN0VCMDAwN0VBMEM4MTI2MTM2NDAxMTc1MkZCMzEyNzMzNUMyMTg2QzAwN0EwMzAxQjkxMjY0ODYyMjdFMjcwMTdCQkUyNDAwMDA3ODI0N0UyNDgxMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0QzcyN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxOEI2ODBEN0EyNzAxOEI3RTYwOUM3QTYzMDFCQTgwMjc3RTYzMDFCQUE1QkUwMDFGN0U2MDAxN0VCMDAwN0VBMEM4MTI2MTM2NDAxMTc1MkZCMzEyNzMzNUMyMTk2QzAwN0EwMzAxQkExMjY0ODYyMjdFMjcwMTdEQkUyNDAwMDA3ODI0N0UyNDgyMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0RjlGN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxOEQ2ODBEN0EyNzAxOEQ3RTYwOUM3QTYzMDFCQjgwMjc3RTYzMDFCQkE1QkUwMDFGN0U2MDAxN0VCMDAwN0VBMEM4MTI2MTM2NDAxMTc1MkZCMzEyNzMzNUMyMUE2QzAwN0EwMzAxQkIxMjY0ODYyMjdFMjcwMTdGQkUyNDAwMDA3ODI0N0UyNDgzMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1MkNDN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxOEY2ODBEN0EyNzAxOEY3RTYwOUM3QTYzMDFCQzgwMjc3RTYzMDFCQ0E1QkUwMDFGN0U2MDAxN0VCMDAwN0VBMEM4MTI2MTM2NDAxMTc1MkZCMzEyNzMzNUMyMUI2QzAwN0EwMzAxQkMxMjY0ODYyMjdFMjcwMTgxQkUyNDAwMDA3ODI0N0UyNDg0MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1NUY5N0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxOTE2ODBEN0EyNzAxOTE3RTYwOUM3QTYzMDFCRDgwMjc3RTYzMDFCREE1QkUwMDFGN0U2MDAxN0VCMDAwN0VBMEM4MTI2MTM2NDAxMTc1MkZCMzEyNzMzNUMyMUM2QzAwN0EwMzAxQkQxMjY0ODYyMjdFMjcwMTgzQkUyNDAwMDA3ODI0N0UyNDg1MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1OTI2N0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxOTM2ODBEN0EyNzAxOTM3RTYwOUM3QTYzMDFCRTgwMjc3RTYzMDFCRUE1QkUwMDFGN0U2MDAxN0VCMDAwN0VBMEM4MTI2MTM2NDAxMTc1MkZCMzEyNzMzNUMyMUQ2QzAwN0EwMzAxQkUxMjY0ODYyMjdFMjcwMTg1QkUyNDAwMDA3ODI0N0UyNDg2MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1QzUzN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxOTU2ODBEN0EyNzAxOTU3RTYwOUM3QTYzMDFCRjgwMjc3RTYzMDFCRkE1QkUwMDFGN0U2MDAxN0VCMDAwN0VBMEM4MTI2MTM2NDAxMTc1MkZCMzEyNzMzNUMyMUU2QzAwN0EwMzAxQkYxMjY0ODYyMjdFMjcwMTg3QkUyNDAwMDA3ODI0N0UyNDg3MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1RjgwN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxOTc2ODBEN0EyNzAxOTc3RTYwOUM3QTYzMDFDMDgwMjc3RTYzMDFDMEE1QkUwMDFGN0U2MDAxN0VCMDAwN0VBMEM4MTI2MTM2NDAxMTc1MkZCMzEyNzMzNUMyMUY2QzAwN0EwMzAxQzAxMjY0ODYyMkMyQUY3RTA3MDFDQkJFMDQwMDAwNzgyODc0MjA3QUIzOTEwMDdFQjM5MTE1MzBFNTFCN0VCMzkxMUFCRUIwM0YzODBDODUzMTJGMTI3MzM1NzQ4MDdBQjM5MTFFNzQyMDdBQjM5MTE1RDJBRjIyMzUzQjM2RTgzNzAwMzcxQjM3QjYzODRFMzg2OTM4RkIzODg0MzhDNTdDQjNCRUIwMDkyODIyNzUyRjA5MTI3MzM1NzU1NzAyNzQyMDdBQjM5MTAwNzQwMTdBQjM5MTExNzQ0MDdBQjM5MTAwNzQwMTdBQjM5MTExMjJDMEE4QzJBRjIzNkNBQTJFNTQzNEU2MEI1ODUwODk1NDAxMDIwNDA4MTAyMDQwODA3NTJGQjAxMjczMzUwQTIyMDlCMjM1MzM0MjI0RDBBODIyN0NCMjIzMEEzQjQ5MzMzNTU3ODkzNDM1NjczNTk1MzVDMzM1RjEzNjFGMzY0RDM2N0IzNkE5MTI0MUJBRDIyOEQyMDhDMjQwQzI0OEMyMzhDMjMwNkQwMDdBMDMwMUI5N0UwNDAwMjA3QTA3MDE5OTdFMDQwMDM4N0EwNzAxQTkxMjQxMjcxMjVGQjcwMjM2RDcxMjQxRDdEMjI5RDIwOUMyNDFDMjQ5QzIzOUMyMzE2RDAwN0EwMzAxQkE3RTA0MDAyMDdBMDcwMTlCN0UwNDAwMzg3QTA3MDFBQjEyNDEyNzEyNUZFMDAyMzZENzEyNDFGNEQyMkFEMjBBQzI0MkMyNEFDMjNBQzIzMjZEMDA3QTAzMDFCQjdFMDQwMDIwN0EwNzAxOUQ3RTA0MDAzODdBMDcwMUFEMTI0MTI3MTI2MDA5MDIzNkQ3MTI0MjExRDIyQkQyMEJDMjQzQzI0QkMyM0JDMjMzNkQwMDdBMDMwMUJDN0UwNDAwMjA3QTA3MDE5RjdFMDQwMDM4N0EwNzAxQUYxMjQxMjcxMjYwMzIwMjM2RDcxMjQyMkVEMjJDRDIwQ0MyNDRDMjRDQzIzQ0MyMzQ2RDAwN0EwMzAxQkQ3RTA0MDAyMDdBMDcwMUExN0UwNDAwMzg3QTA3MDFCMTEyNDEyNzEyNjA1QjAyMzZENzEyNDI0QkQyMkREMjBEQzI0NUMyNERDMjNEQzIzNTZEMDA3QTAzMDFCRTdFMDQwMDIwN0EwNzAxQTM3RTA0MDAzODdBMDcwMUIzMTI0MTI3MTI2MDg0MDIzNkQ3MTI0MjY4RDIyRUQyMEVDMjQ2QzI0RUMyM0VDMjM2NkQwMDdBMDMwMUJGN0UwNDAwMjA3QTA3MDFBNTdFMDQwMDM4N0EwNzAxQjUxMjQxMjcxMjYwQUQwMjM2RDcxMjQyODVEMjJGRDIwRkMyNDdDMjRGQzIzRkMyMzc2RDAwN0EwMzAxQzA3RTA0MDAyMDdBMDcwMUE3N0UwNDAwMzg3QTA3MDFCNzEyNDEyNzEyNjBENjAyMzZENzdFQTBEMDdFNjAwRjEyNjEzNjQwMDUxMjY0ODZDMkQ3MjI3NTJGQjExMjczMzUwQTUyMjM2RDAwNTkwNTAwMzIxMjQxODMxMjQxOUZEMEE4MjI3NTJGQjIxMjczMzUwQTIyMDlCMjM1MzM0MjIzN0VCMDlDMTlCMjAxQjkxMjMxNENEMEE4MjI3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA4MTkzMDAwMEM3Qzc0NUU3MDAxNjgxMjQ0NDBDQUI4MDlCMDAwMTA0NDAyMTlCMDAwMTBEQUI4ODAwMjU0QkY3Qzc0NUU3MDA4NjgwNDQ0MDg4MDAyNTRGNzA5MzAwMDBDQ0FCODc0QkYxOUIwMDAwQ0RBQjgxOUIwMDAwODE5MzAwMDBDMEE2MjA5QjYzNTMzM0UyMDBBNjI3Qzc0NUU3MDAyNjgyMDQyMjdDQUI4NzQ2MTE5QjAwMDA4N0U0NDAwMTA1OTQ2MDFBOTA5QjAwMDEwNDQwMTE5QjAwMDEwREFCODgwMTFGNDUyMjc3NEExMTlCMDAwMDg3RTQ0MDAzODU5NDYwMUE5RDBBODIyN0M3NDdFMDQ4MDAwNEMwMjA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDg3Qzc0NUU3MDAxNjgwNDQ0ODA4MDAyNTQ3RjdDNzQ1RTcwMDg2ODA0NDQwMjgwMDI1NEZEMTlCMDAwMDgxOTMwMDAwQzBBNjIwOUI2MzUzM0E1RkRGNEE1RkVDQTI4M0UyMDBBNjJEQTI4N0M3NDVFNzAwMjY4MTBBNUVENDIyODQyMjY3RTQ0MDAwODU5NDYwMTk5ODAwNEE1RUU1MjI4N0M3NDVFNzAwNDY4MTBBNUVENDIyOTQyMjY3RTQ0MDAwODU5NDYwMTk5ODAxNUE1RUU1MjI5N0M3NDVFNzAwMjc4MEE1MjI2N0U0NDAwMjA1OTQ2MDE5OTEyNDJBMkQwQTgyMjdFMDQ4MDAwNEMwMjA5MzAwMDBDNzRCRjE5QjAwMDBDMTk0MDAwMTAxOTMwMDAwQ0QwQTgyMjdFMDQ4MDAwNEMwMjA5MzAwMDBDNzRCRjE5QjAwMDBDMTk0MDAwMTgxOTMwMDAwQ0QwQTgyMjc1MkZCNTEyNzMzNTdFMDQ4MDAwNEMwMjA5QjAwMDBDNDQ0MDE5QjAwMDBDRTU1OEI0MDcyMzA5QjAwMDEwNEVCMDAyMTlCMDAwMTAwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA0NTRGNzE5QjAwMDA0MTkzMDAwMENEMEE4MjI3NTJGQjYxMjczMzU3RTA0ODAwMDRDMDJFNTU4QjQwNzE4MDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwNDQ0MDgxOUIwMDAwNDE5MzAwMDBDMDlCMDAwMEM1NEJGMTlCMDAwMENEMEE4MjI3NTJGQjQxMjczMzU3QTIxMkYxMjczMzU3QTQxMkYxMjczMzU3RUIwMDE3RUEwQzg3QzY0MTI2MTM2MTI2NDg2RDBBODIyMzkyRTM5NzUzOUJDM0EwMzNBNEEzQTkxM0FEODNCMUY3NTJGNTUxMjczMzU3NTJGMDAxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE2OTdFMjcwMTc5MkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDA4MkMzODBGMUIzNDc4RUM3QTE3MDE2OTdBMjcwMTc5MDI0NjRGN0UxNDA0MkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjAxMTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNkI3RTI3MDE3QjJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQwQzJDMzgwRjFCMzQ3OEVDN0ExNzAxNkI3QTI3MDE3QjAyNDk3QzdFMTQwODJEODBFQjc1MkY1NTEyNzMzNTc1MkYwMjEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTZEN0UyNzAxN0QyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MTAyQzM4MEYxQjM0NzhFQzdBMTcwMTZEN0EyNzAxN0QwMjRDQTk3RTE0MEMyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDMxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE2RjdFMjcwMTdGMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDE0MkMzODBGMUIzNDc4RUM3QTE3MDE2RjdBMjcwMTdGMDI0RkQ2N0UxNDEwMkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjA0MTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNzE3RTI3MDE4MTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxODJDMzgwRjFCMzQ3OEVDN0ExNzAxNzE3QTI3MDE4MTAyNTMwMzdFMTQxNDJEODBFQjc1MkY1NTEyNzMzNTc1MkYwNTEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTczN0UyNzAxODMyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MUMyQzM4MEYxQjM0NzhFQzdBMTcwMTczN0EyNzAxODMwMjU2MzA3RTE0MTgyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDYxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE3NTdFMjcwMTg1MkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDIwMkMzODBGMUIzNDc4RUM3QTE3MDE3NTdBMjcwMTg1MDI1OTVEN0UxNDFDMkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjA3MTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNzc3RTI3MDE4NzJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQyNDJDMzgwRjFCMzQ3OEVDN0ExNzAxNzc3QTI3MDE4NzAyNUM4QTdFMTQyMDJEODBFQjY0Cis6MzMzNTQwMDAwMDdFMDQwMDAxN0UxNDdGRjg3RTI0MDBGRTdEMzEwQjFBNTAxQjBBNTA3RTE0NDAxQjAyNDA3NDdFRjgwMDU5NzVCMERGN0VCMDAxN0FCMzkwMDA3RUY0NDAzMDAyNDA4QjEyNzQ0RUY1MkU3QUExMkQ3QTExNTgxMjZCMDIxMjQwRUI3RUIzM0ZGMTYwMDMxMjQzNzkxMjZCREVEMkFGMDIzMDAwN0UwNDAwRkY3RTE4NDA2MDdBMUMwMDAxODkxODdFQjAwMTdBQjM5NDAwN0FCMzJDMzU3RUIwMDE3QUIzOTMwMDg5MDg3RTA0MDBGRjdFMTg0MDgyN0ExQzAwMDE4OTE4N0VCMDAwN0FCMzkzMDA4OTA4N0UwODAwMjA3RTQ0MDQwMDdFNDAwMDdFRTQ0MDlEMDI3MzUwN0UwODAxNTk3RTQ0MkFERDdFNDAwMDdFRTQ0MEFGMDI3MzUwN0UwODAwNTk3RTQ0MDEwMDdFNDA1MzdFRTQ0MEMxMDI3MzUwNzU1NzAxNzU1NjAwN0UwNDAwMDg3NTU0NTg3NTU1MDg3NTUxMDg3NTUzMDE3NTg5MDE3NThBMDE3NThDMDBEMjhDN0UwNDAwMDI3QTA1NDI4OUY0NzVCNzdGNzVCODdGNzVCMzAxNzVCMjAxRDJBOTIyNzVCMERGRTRENUUwRkQ3NUIwRUY3RTI0ODAwMDdFMTEyRTdFQTAwODE5QTIwMDEwMkUyNDAxMDBBNUQ5RjI3RTIwMDAxMjQxODMwQjIwQkUyMTJFNzhGNjIyN0UwNDgwMDA0QzAyNzRCRjE5QjAwMDBDNzQxMDE5QjAwMDA4NzQ4MDE5QjAwMDBDN0U1NDAwMDIxOUEwMDAwNDE5QjAwMDAwNzQwMzE5QjAwMDBDNzQwNzIwNjgwMjc0MEYxOUIwMDAwNDMwNkIxNzc0QkYxOUIwMDAwQzc0MjgyMDY4MDI3NDIwMTlCMDAwMDQ3NDAzMTlCMDAwMEM3NEE3MTlCMDAwMDg3NDBDMTlCMDAwMTAyMjdFMDQ4MDAwNEMwMkU0MTlCMDAwMDQwOUIwMDAxMDU0MDgxOUIwMDAxMDc0QTcxOUIwMDAwODIyN0NCMjIzMEEyQjQ5MjI0MUFBODkyNDQxQkE0MUQ3NDFGNDQyMTE0MjJFNDI0QjQyNjg0Mjg1QzIxMEMyMThDMjA4N0UwNDA0MkQ3QTA3MDE1OTdBMDcwMTY5NkQwMDdBMDcwMTc5N0EwNzAxODkyMkMyMTFDMjE5QzIwOTdFMDQwODJEN0EwNzAxNUI3QTA3MDE2QjZEMDA3QTA3MDE3QjdBMDcwMThCMjJDMjEyQzIxQUMyMEE3RTA0MEMyRDdBMDcwMTVEN0EwNzAxNkQ2RDAwN0EwNzAxN0Q3QTA3MDE4RDIyQzIxM0MyMUJDMjBCN0UwNDEwMkQ3QTA3MDE1RjdBMDcwMTZGNkQwMDdBMDcwMTdGN0EwNzAxOEYyMkMyMTRDMjFDQzIwQzdFMDQxNDJEN0EwNzAxNjE3QTA3MDE3MTZEMDA3QTA3MDE4MTdBMDcwMTkxMjJDMjE1QzIxREMyMEQ3RTA0MTgyRDdBMDcwMTYzN0EwNzAxNzM2RDAwN0EwNzAxODM3QTA3MDE5MzIyQzIxNkMyMUVDMjBFN0UwNDFDMkQ3QTA3MDE2NTdBMDcwMTc1NkQwMDdBMDcwMTg1N0EwNzAxOTUyMkMyMTdDMjFGQzIwRjdFMDQyMDJEN0EwNzAxNjc3QTA3MDE3NzZEMDA3QTA3MDE4NzdBMDcwMTk3MjI3Q0IyMjMwQTJCNDkyMjQyQUQ4OTI0NDJCRDQyRDQ0MkVCNDMwMjQzMTk0MzMwNDM0NzQzNUUzMDQwMDcyMDU4MDRDMjI4ODAwQzMwNDgwNzIwNTAwNEMyMjg4MDAyRDIyODIyMzA0MTA3MjA1OTA0QzIyOTgwMEMzMDQ5MDcyMDUxMDRDMjI5ODAwMkQyMjkyMjMwNDIwNzIwNUEwNEMyMkE4MDBDMzA0QTA3MjA1MjA0QzIyQTgwMDJEMjJBMjIzMDQzMDcyMDVCMDRDMjJCODAwQzMwNEIwNzIwNTMwNEMyMkI4MDAyRDIyQjIyMzA0NDA3MjA1QzA0QzIyQzgwMEMzMDRDMDcyMDU0MDRDMjJDODAwMkQyMkMyMjMwNDUwNzIwNUQwNEMyMkQ4MDBDMzA0RDA3MjA1NTA0QzIyRDgwMDJEMjJEMjIzMDQ2MDcyMDVFMDRDMjJFODAwQzMwNEUwNzIwNTYwNEMyMkU4MDAyRDIyRTIyMzA0NzA3MjA1RjA0QzIyRjgwMEMzMDRGMDcyMDU3MDRDMjJGODAwMkQyMkYyMjQ0NjY0MzhBQkVCMDAyNDAwMTIyMjMwQTVCNDk1NTQzNzU5OTU0RDMyMjdFQjAwMDdBQjM5NDAwN0FCMzJDMzUxMjQ0N0E3RTA0MjgyRDdBMDcwMUMxN0EwNzAxQzM3RTA0MjQyRDdBMDcwMUM3N0EwNzAxQzk3RTA0NjY3RjdBMDU0Qjc0MjA3QUIzOTEwMDc0NjA3QUIzOTExQzc0MTI3QUIzOTEwNjc0NDA3QUIzOTEwNzc0MUU3QUIzOTExMDc0NDg3QUIzOTExMjc0MTA3QUIzOTExMzc0M0Y3QUIzOTExNDc0NDA3QUIzOTEwMDc0NjA3QUIzOTExQzc0MTQ3QUIzOTEwNjc0NDA3QUIzOTEwNzc0MTY3QUIzOTExMDc0MDg3QUIzOTExMTc0MjA3QUIzOTExMzc0M0Y3QUIzOTExNDc0NjA3QUIzOTEwMDc0NjA3QUIzOTExQzc0MTY3QUIzOTEwNjc0MjA3QUIzOTEwNzc0MkY3QUIzOTExMDc0NDg3QUIzOTExMjc0MTA3QUIzOTExMzc0M0Y3QUIzOTExNDc0MDI3QUIzOTEwNjc0MEY3QUIzOTEwNzEyNDBGQTdFMjAwMDEyNDE5RjBCMjBCRTIxMkU3OEY2RDJBODIyN0VCMDAxN0FCMzk0MDA3QUIzMkMzNTEyNDQ3QTc1QjBERkMyQTgyMjc0MDI3QUIzOTEwNjc0MDE3QUIzOTEwNzdFMjAwNDdDQjJDMkQ3MTMxMzEzMTM3QUIzOTEwMDc0NjA3QUIzOTExQzc0MDI3QUIzOTExMkE1REFFNTIyQ0EwOTEyMzAwRTEwMDEzNEQ1NTE0MDc0MDA3QUIzOTEwMDc0MDI3QUIzOTEwNjdFQjM5MTA3NzQwMzdBQjM5MTA2N0VCMzkxMDc3RUIzOTExNDdFQjM5MTA0NjM1MzAxN0UwMDU0MkUwMTUzQTVFNkY1NTE4MDEyMjAwMjFENzU1MzAwODU1NDUxRDIwMjc0MDM4MDBEMzAwMjBFQzIwMjdFMDA1NjJFMDE1M0E1RTY3QUIzOTAwMERBMDkzMjQ1NkY0NThCNDVBNzQ1QzM0NURGNDVGQjQ2MTc0NjMzQzBEMEMwRDFDMEUwQzBGMENBMEJDQTFCQ0EyQkQyMDE3NTJGODkxMjczMzU3RUIzOTAwMDYwMjg3RTE0ODAwMDdFMDAwMDEzNTAxM0NBMEJDQTU5N0NCMDIzMEEyQjQ5MjI0NTA0OTkyNERBNTlEQTBCQTUwQUE1MDhCRTAxMkU3OEUxODBEMjMwMDQwNUMyMDQxMjY0ODZEQTJCREExQkRBMEJEMEYwRDBFMEQwRDFEMEQwMzIwOUIxMDAwODIwRTAxNDc1MkY4MDEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjFBQjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjgxMTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MUVCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODIxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYyMkI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4MzEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjI2Qjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjg0MTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MkFCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODUxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYyRUI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4NjEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjMyQjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjg3MTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MzZCODk1NDIyMTAwODAxMjIyMDI4MDNEMjA4MjI3NTJGQTAxMjczMzU3RTE0ODAwMDgwMDYyMDI4MDNEMjA4MjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNDk0NTMwMzAwNjIwRTY0RkQyMDgyMjMwRTYwMkQyNjA3RTM3MDE3OTdFMjcwMTk5OUQzMjQwMzE3RDAyMkUwNTMyN0EwNTMyN0EzNzAxNzk3RTM3MDE1OTdENDMyRDQyQkU0NDA4MkMzODY4N0E0NzAxNTk3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUxMjY5RjAxMDYwQzQyMkMyNjAyRDIzNjg3ODZEMzM4MDFBN0UyNzAxNzlCRTI0MDAwMDY4NkFCRTI3MDE5OTI4MDQ3RTI3MDE5OTdFMzcwMTc5OUQzMjdEMDIyRTA1MzI3QTA1MzI3QTM3MDE3OTdFMzcwMTU5N0Q0MzJENDJCRTQ0MDgyQzM4MTM3QTQ3MDE1OTc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTAyNjlGMDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTlFNDQwODJEOUQyNDEyNjlGMDdFMzQwNDJEN0QyNDJENDM3QTQ3MDE1OTEyNjlGMEJFMjUyMDc4MDMwMjQ2QzIyMkQyMDg3RTA0MDQyRDdBMDcwMTU5N0EwNzAxNjk3NTJGOTQxMjczMzU3NTJGMDAxMjczMzUyMjc1MkY5MjEyNzMzNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4Njg3RTM3MDFDQjdFMjcwMUE5MkUyNDAwMDIyRDMyQkUzNDA0MDAzODM0N0QwMjJFMDUzMDdBMDUzMDdBMzcwMUNCN0UzNzAxQzk3RDQzMkQ0MkJFNDQyODJDMzgzQzdBNDcwMUM5N0UyNDAwMDAyRTI3MDFBOTFCMzgyMDBCMzU3QTUxMkYxMjczMzUwMjZBNjM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzgwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMDIyODA3RjdBNTEyRjEyNzMzNTlFNDQyODJEOUQyNDdFNjQwMDAwMkU2NzAxQTk5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2QTYzN0UzNDI0MkQ3RDI0MkQ0MzdBNDcwMUM5MDI2QTYzN0EzOUMwN0UzNDI0MkQ3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAwN0E2OUIwN0E3OTcwMEIzNTc1MkY5MzEyNzMzNTdBNzEyRjEyNzMzNUJEMDQ2ODJCN0EwNzAxQzk3RTQ3MDFDQjJENDM3QTQ3MDFDQjJFMzUzMDdBMzUzMDIyRDIwNDA5QjEwMDE0MjBFMDEzMjI3RTA0MjQyRDgwMjg3RTA0MjQyRDgwMkE3RTA0MjQyRDgwQ0Y3RTA3MDFDQjdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFDOTdFNDQyODJEN0Q2MDBCMDRCRDA0NjhEMjdENzAwQjA0QkQwNDY4RDA3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNDgxRTc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzODBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEwMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI0ODFFREFCODAyNDk0NTA5QjEwMDE4N0VBMDg4NzUyRjkwMTI3MzM1RjUyRjEyNzMzNUE1RkQ1RTUwMEE2ODFEQTVGRDVFNTAyMDY4MDREMjU4ODAwMkMyNThBNUZENUU1MDgwNjgwNEQyNTA4MDAyQzI1MDEyNDJCRDAyNjExMzc1MkY5MTEyNzMzNTA5QjEwMDE0N0FCMTJGMTI3MzM1MjBFMDA4RDIwNDdFQTA4MDAyNjExM0QyMDQzMEUxMDY3RUEwODAxMjYxMTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjEzNjA5QjEwMDE0MjBFMERCMjIwMjQ4NzI3NTJGOTUxMjczMzUyMjc1MkY5NjEyNzMzNTIyMTAwOTAxMjIyMDI5MDNEMjA5MjI3NTJGQTExMjczMzU3RTE0ODEwMDgwMDYyMDI5MDNEMjA5MjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNEM3MjMwMzEwNjIwRTY0RkQyMDkyMjMwRTYwMkQyNjE3RTM3MDE3QjdFMjcwMTlCOUQzMjQwMzE3RDAyMkUwNTM0N0EwNTM0N0EzNzAxN0I3RTM3MDE1QjdENDMyRDQyQkU0NDBDMkMzODY4N0E0NzAxNUI3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUxMjY5RjAxMDYxQzQyMkMyNjEyRDIzNjg3ODZEMzM4MDFBN0UyNzAxN0JCRTI0MDAwMDY4NkFCRTI3MDE5QjI4MDQ3RTI3MDE5QjdFMzcwMTdCOUQzMjdEMDIyRTA1MzQ3QTA1MzQ3QTM3MDE3QjdFMzcwMTVCN0Q0MzJENDJCRTQ0MEMyQzM4MTM3QTQ3MDE1Qjc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTAyNjlGMDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTlFNDQwQzJEOUQyNDEyNjlGMDdFMzQwODJEN0QyNDJENDM3QTQ3MDE1QjEyNjlGMEJFMjUyMDc4MDMwMjQ5RUYyMkQyMDk3RTA0MDgyRDdBMDcwMTVCN0EwNzAxNkI3NTJGOTQxMjczMzU3NTJGMDAxMjczMzUyMjc1MkY5MjEyNzMzNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4Njg3RTM3MDFDQjdFMjcwMUFCMkUyNDAwMDIyRDMyQkUzNDA0MDAzODM0N0QwMjJFMDUzMDdBMDUzMDdBMzcwMUNCN0UzNzAxQzk3RDQzMkQ0MkJFNDQyODJDMzgzQzdBNDcwMUM5N0UyNDAxMDAyRTI3MDFBQjFCMzgyMDBCMzU3QTUxMkYxMjczMzUwMjZBNjM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzkwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMTIyODA3RjdBNTEyRjEyNzMzNTlFNDQyODJEOUQyNDdFNjQwMTAwMkU2NzAxQUI5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2QTYzN0UzNDI0MkQ3RDI0MkQ0MzdBNDcwMUM5MDI2QTYzN0EzOUMwN0UzNDI0MkQ3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAxN0E2OUIwN0E3OTcwMEIzNTc1MkY5MzEyNzMzNTdBNzEyRjEyNzMzNUJEMDQ2ODJCN0EwNzAxQzk3RTQ3MDFDQjJENDM3QTQ3MDFDQjJFMzUzMDdBMzUzMDIyRDIwNDA5QjEwMDE0MjBFMDEzMjI3RTA0MjQyRDgwMjg3RTA0MjQyRDgwMkE3RTA0MjQyRDgwQ0Y3RTA3MDFDQjdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFDOTdFNDQyODJEN0Q2MDBCMDRCRDA0NjhEMjdENzAwQjA0QkQwNDY4RDA3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNEI0Qjc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzOTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjExMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI0QjRCREFCODAyNEM3MjA5QjEwMDE4N0VBMDg4NzUyRjkwMTI3MzM1RjUyRjEyNzMzNUE1RkQ1RTUwMEE2ODFEQTVGRDVFNTAyMDY4MDREMjU5ODAwMkMyNTlBNUZENUU1MDgwNjgwNEQyNTE4MDAyQzI1MTEyNDJENDAyNjExMzc1MkY5MTEyNzMzNTA5QjEwMDE0N0FCMTJGMTI3MzM1MjBFMDA4RDIwNDdFQTA4MDAyNjExM0QyMDQzMEUxMDY3RUEwODAxMjYxMTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjEzNjA5QjEwMDE0MjBFMERCMjIwMjRCOUY3NTJGOTUxMjczMzUyMjc1MkY5NjEyNzMzNTIyMTAwQTAxMjIyMDJBMDNEMjBBMjI3NTJGQTIxMjczMzU3RTE0ODIwMDgwMDYyMDJBMDNEMjBBMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNEY5RjMwMzIwNjIwRTY0RkQyMEEyMjMwRTYwMkQyNjI3RTM3MDE3RDdFMjcwMTlEOUQzMjQwMzE3RDAyMkUwNTM2N0EwNTM2N0EzNzAxN0Q3RTM3MDE1RDdENDMyRDQyQkU0NDEwMkMzODY4N0E0NzAxNUQ3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUxMjY5RjAxMDYyQzQyMkMyNjIyRDIzNjg3ODZEMzM4MDFBN0UyNzAxN0RCRTI0MDAwMDY4NkFCRTI3MDE5RDI4MDQ3RTI3MDE5RDdFMzcwMTdEOUQzMjdEMDIyRTA1MzY3QTA1MzY3QTM3MDE3RDdFMzcwMTVEN0Q0MzJENDJCRTQ0MTAyQzM4MTM3QTQ3MDE1RDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTAyNjlGMDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTlFNDQxMDJEOUQyNDEyNjlGMDdFMzQwQzJEN0QyNDJENDM3QTQ3MDE1RDEyNjlGMEJFMjUyMDc4MDMwMjREMUMyMkQyMEE3RTA0MEMyRDdBMDcwMTVEN0EwNzAxNkQ3NTJGOTQxMjczMzU3NTJGMDAxMjczMzUyMjc1MkY5MjEyNzMzNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4Njg3RTM3MDFDQjdFMjcwMUFEMkUyNDAwMDIyRDMyQkUzNDA0MDAzODM0N0QwMjJFMDUzMDdBMDUzMDdBMzcwMUNCN0UzNzAxQzk3RDQzMkQ0MkJFNDQyODJDMzgzQzdBNDcwMUM5N0UyNDAyMDAyRTI3MDFBRDFCMzgyMDBCMzU3QTUxMkYxMjczMzUwMjZBNjM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0EwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMjIyODA3RjdBNTEyRjEyNzMzNTlFNDQyODJEOUQyNDdFNjQwMjAwMkU2NzAxQUQ5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2QTYzN0UzNDI0MkQ3RDI0MkQ0MzdBNDcwMUM5MDI2QTYzN0EzOUMwN0UzNDI0MkQ3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAyN0E2OUIwN0E3OTcwMEIzNTc1MkY5MzEyNzMzNTdBNzEyRjEyNzMzNUJEMDQ2ODJCN0EwNzAxQzk3RTQ3MDFDQjJENDM3QTQ3MDFDQjJFMzUzMDdBMzUzMDIyRDIwNDA5QjEwMDE0MjBFMDEzMjI3RTA0MjQyRDgwMjg3RTA0MjQyRDgwMkE3RTA0MjQyRDgwQ0Y3RTA3MDFDQjdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFDOTdFNDQyODJEN0Q2MDBCMDRCRDA0NjhEMjdENzAwQjA0QkQwNDY4RDA3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNEU3ODc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEyMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI0RTc4REFCODAyNEY5RjA5QjEwMDE4N0VBMDg4NzUyRjkwMTI3MzM1RjUyRjEyNzMzNUE1RkQ1RTUwMEE2ODFEQTVGRDVFNTAyMDY4MDREMjVBODAwMkMyNUFBNUZENUU1MDgwNjgwNEQyNTI4MDAyQzI1MjEyNDJFQjAyNjExMzc1MkY5MTEyNzMzNTA5QjEwMDE0N0FCMTJGMTI3MzM1MjBFMDA4RDIwNDdFQTA4MDAyNjExM0QyMDQzMEUxMDY3RUEwODAxMjYxMTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjEzNjA5QjEwMDE0MjBFMERCMjIwMjRFQ0M3NTJGOTUxMjczMzUyMjc1MkY5NjEyNzMzNTIyMTAwQjAxMjIyMDJCMDNEMjBCMjI3NTJGQTMxMjczMzU3RTE0ODMwMDgwMDYyMDJCMDNEMjBCMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNTJDQzMwMzMwNjIwRTY0RkQyMEIyMjMwRTYwMkQyNjM3RTM3MDE3RjdFMjcwMTlGOUQzMjQwMzE3RDAyMkUwNTM4N0EwNTM4N0EzNzAxN0Y3RTM3MDE1RjdENDMyRDQyQkU0NDE0MkMzODY4N0E0NzAxNUY3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUxMjY5RjAxMDYzQzQyMkMyNjMyRDIzNjg3ODZEMzM4MDFBN0UyNzAxN0ZCRTI0MDAwMDY4NkFCRTI3MDE5RjI4MDQ3RTI3MDE5RjdFMzcwMTdGOUQzMjdEMDIyRTA1Mzg3QTA1Mzg3QTM3MDE3RjdFMzcwMTVGN0Q0MzJENDJCRTQ0MTQyQzM4MTM3QTQ3MDE1Rjc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTAyNjlGMDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTlFNDQxNDJEOUQyNDEyNjlGMDdFMzQxMDJEN0QyNDJENDM3QTQ3MDE1RjEyNjlGMEJFMjUyMDc4MDMwMjUwNDkyMkQyMEI3RTA0MTAyRDdBMDcwMTVGN0EwNzAxNkY3NTJGOTQxMjczMzU3NTJGMDAxMjczMzUyMjc1MkY5MjEyNzMzNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4Njg3RTM3MDFDQjdFMjcwMUFGMkUyNDAwMDIyRDMyQkUzNDA0MDAzODM0N0QwMjJFMDUzMDdBMDUzMDdBMzcwMUNCN0UzNzAxQzk3RDQzMkQ0MkJFNDQyODJDMzgzQzdBNDcwMUM5N0UyNDAzMDAyRTI3MDFBRjFCMzgyMDBCMzU3QTUxMkYxMjczMzUwMjZBNjM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0IwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMzIyODA3RjdBNTEyRjEyNzMzNTlFNDQyODJEOUQyNDdFNjQwMzAwMkU2NzAxQUY5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2QTYzN0UzNDI0MkQ3RDI0MkQ0MzdBNDcwMUM5MDI2QTYzN0EzOUMwN0UzNDI0MkQ3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAzN0E2OUIwN0E3OTcwMEIzNTc1MkY5MzEyNzMzNTdBNzEyRjEyNzMzNUJEMDQ2ODJCN0EwNzAxQzk3RTQ3MDFDQjJENDM3QTQ3MDFDQjJFMzUzMDdBMzUzMDIyRDIwNDA5QjEwMDE0MjBFMDEzMjI3RTA0MjQyRDgwMjg3RTA0MjQyRDgwMkE3RTA0MjQyRDgwQ0Y3RTA3MDFDQjdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFDOTdFNDQyODJEN0Q2MDBCMDRCRDA0NjhEMjdENzAwQjA0QkQwNDY4RDA3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNTFBNTc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEzMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1MUE1REFCODAyNTJDQzA5QjEwMDE4N0VBMDg4NzUyRjkwMTI3MzM1RjUyRjEyNzMzNUE1RkQ1RTUwMEE2ODFEQTVGRDVFNTAyMDY4MDREMjVCODAwMkMyNUJBNUZENUU1MDgwNjgwNEQyNTM4MDAyQzI1MzEyNDMwMjAyNjExMzc1MkY5MTEyNzMzNTA5QjEwMDE0N0FCMTJGMTI3MzM1MjBFMDA4RDIwNDdFQTA4MDAyNjExM0QyMDQzMEUxMDY3RUEwODAxMjYxMTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjEzNjA5QjEwMDE0MjBFMERCMjIwMjUxRjk3NTJGOTUxMjczMzUyMjc1MkY5NjEyNzMzNTIyMTAwQzAxMjIyMDJDMDNEMjBDMjI3NTJGQTQxMjczMzU3RTE0ODQwMDgwMDYyMDJDMDNEMjBDMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNTVGOTMwMzQwNjIwRTY0RkQyMEMyMjMwRTYwMkQyNjQ3RTM3MDE4MTdFMjcwMUExOUQzMjQwMzE3RDAyMkUwNTNBN0EwNTNBN0EzNzAxODE3RTM3MDE2MTdENDMyRDQyQkU0NDE4MkMzODY4N0E0NzAxNjE3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUxMjY5RjAxMDY0QzQyMkMyNjQyRDIzNjg3ODZEMzM4MDFBN0UyNzAxODFCRTI0MDAwMDY4NkFCRTI3MDFBMTI4MDQ3RTI3MDFBMTdFMzcwMTgxOUQzMjdEMDIyRTA1M0E3QTA1M0E3QTM3MDE4MTdFMzcwMTYxN0Q0MzJENDJCRTQ0MTgyQzM4MTM3QTQ3MDE2MTc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTAyNjlGMDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTlFNDQxODJEOUQyNDEyNjlGMDdFMzQxNDJEN0QyNDJENDM3QTQ3MDE2MTEyNjlGMEJFMjUyMDc4MDMwMjUzNzYyMkQyMEM3RTA0MTQyRDdBMDcwMTYxN0EwNzAxNzE3NTJGOTQxMjczMzU3NTJGMDAxMjczMzUyMjc1MkY5MjEyNzMzNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4Njg3RTM3MDFDQjdFMjcwMUIxMkUyNDAwMDIyRDMyQkUzNDA0MDAzODM0N0QwMjJFMDUzMDdBMDUzMDdBMzcwMUNCN0UzNzAxQzk3RDQzMkQ0MkJFNDQyODJDMzgzQzdBNDcwMUM5N0UyNDA0MDAyRTI3MDFCMTFCMzgyMDBCMzU3QTUxMkYxMjczMzUwMjZBNjM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0MwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNDIyODA3RjdBNTEyRjEyNzMzNTlFNDQyODJEOUQyNDdFNjQwNDAwMkU2NzAxQjE5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2QTYzN0UzNDI0MkQ3RDI0MkQ0MzdBNDcwMUM5MDI2QTYzN0EzOUMwN0UzNDI0MkQ3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA0N0E2OUIwN0E3OTcwMEIzNTc1MkY5MzEyNzMzNTdBNzEyRjEyNzMzNUJEMDQ2ODJCN0EwNzAxQzk3RTQ3MDFDQjJENDM3QTQ3MDFDQjJFMzUzMDdBMzUzMDIyRDIwNDA5QjEwMDE0MjBFMDEzMjI3RTA0MjQyRDgwMjg3RTA0MjQyRDgwMkE3RTA0MjQyRDgwQ0Y3RTA3MDFDQjdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFDOTdFNDQyODJEN0Q2MDBCMDRCRDA0NjhEMjdENzAwQjA0QkQwNDY4RDA3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNTREMjc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQzBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE0MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1NEQyREFCODAyNTVGOTA5QjEwMDE4N0VBMDg4NzUyRjkwMTI3MzM1RjUyRjEyNzMzNUE1RkQ1RTUwMEE2ODFEQTVGRDVFNTAyMDY4MDREMjVDODAwMkMyNUNBNUZENUU1MDgwNjgwNEQyNTQ4MDAyQzI1NDEyNDMxOTAyNjExMzc1MkY5MTEyNzMzNTA5QjEwMDE0N0FCMTJGMTI3MzM1MjBFMDA4RDIwNDdFQTA4MDAyNjExM0QyMDQzMEUxMDY3RUEwODAxMjYxMTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjEzNjA5QjEwMDE0MjBFMERCMjIwMjU1MjY3NTJGOTUxMjczMzUyMjc1MkY5NjEyNzMzNTIyMTAwRDAxMjIyMDJEMDNEMjBEMjI3NTJGQTUxMjczMzU3RTE0ODUwMDgwMDYyMDJEMDNEMjBEMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNTkyNjMwMzUwNjIwRTY0RkQyMEQyMjMwRTYwMkQyNjU3RTM3MDE4MzdFMjcwMUEzOUQzMjQwMzE3RDAyMkUwNTNDN0EwNTNDN0EzNzAxODM3RTM3MDE2MzdENDMyRDQyQkU0NDFDMkMzODY4N0E0NzAxNjM3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUxMjY5RjAxMDY1QzQyMkMyNjUyRDIzNjg3ODZEMzM4MDFBN0UyNzAxODNCRTI0MDAwMDY4NkFCRTI3MDFBMzI4MDQ3RTI3MDFBMzdFMzcwMTgzOUQzMjdEMDIyRTA1M0M3QTA1M0M3QTM3MDE4MzdFMzcwMTYzN0Q0MzJENDJCRTQ0MUMyQzM4MTM3QTQ3MDE2Mzc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTAyNjlGMDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTlFNDQxQzJEOUQyNDEyNjlGMDdFMzQxODJEN0QyNDJENDM3QTQ3MDE2MzEyNjlGMEJFMjUyMDc4MDMwMjU2QTMyMkQyMEQ3RTA0MTgyRDdBMDcwMTYzN0EwNzAxNzM3NTJGOTQxMjczMzU3NTJGMDAxMjczMzUyMjc1MkY5MjEyNzMzNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4Njg3RTM3MDFDQjdFMjcwMUIzMkUyNDAwMDIyRDMyQkUzNDA0MDAzODM0N0QwMjJFMDUzMDdBMDUzMDdBMzcwMUNCN0UzNzAxQzk3RDQzMkQ0MkJFNDQyODJDMzgzQzdBNDcwMUM5N0UyNDA1MDAyRTI3MDFCMzFCMzgyMDBCMzU3QTUxMkYxMjczMzUwMjZBNjM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0QwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNTIyODA3RjdBNTEyRjEyNzMzNTlFNDQyODJEOUQyNDdFNjQwNTAwMkU2NzAxQjM5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2QTYzN0UzNDI0MkQ3RDI0MkQ0MzdBNDcwMUM5MDI2QTYzN0EzOUMwN0UzNDI0MkQ3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA1N0E2OUIwN0E3OTcwMEIzNTc1MkY5MzEyNzMzNTdBNzEyRjEyNzMzNUJEMDQ2ODJCN0EwNzAxQzk3RTQ3MDFDQjJENDM3QTQ3MDFDQjJFMzUzMDdBMzUzMDIyRDIwNDA5QjEwMDE0MjBFMDEzMjI3RTA0MjQyRDgwMjg3RTA0MjQyRDgwMkE3RTA0MjQyRDgwQ0Y3RTA3MDFDQjdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFDOTdFNDQyODJEN0Q2MDBCMDRCRDA0NjhEMjdENzAwQjA0QkQwNDY4RDA3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNTdGRjc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRDBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE1MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1N0ZGREFCODAyNTkyNjA5QjEwMDE4N0VBMDg4NzUyRjkwMTI3MzM1RjUyRjEyNzMzNUE1RkQ1RTUwMEE2ODFEQTVGRDVFNTAyMDY4MDREMjVEODAwMkMyNURBNUZENUU1MDgwNjgwNEQyNTU4MDAyQzI1NTEyNDMzMDAyNjExMzc1MkY5MTEyNzMzNTA5QjEwMDE0N0FCMTJGMTI3MzM1MjBFMDA4RDIwNDdFQTA4MDAyNjExM0QyMDQzMEUxMDY3RUEwODAxMjYxMTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjEzNjA5QjEwMDE0MjBFMERCMjIwMjU4NTM3NTJGOTUxMjczMzUyMjc1MkY5NjEyNzMzNTIyMTAwRTAxMjIyMDJFMDNEMjBFMjI3NTJGQTYxMjczMzU3RTE0ODYwMDgwMDYyMDJFMDNEMjBFMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNUM1MzMwMzYwNjIwRTY0RkQyMEUyMjMwRTYwMkQyNjY3RTM3MDE4NTdFMjcwMUE1OUQzMjQwMzE3RDAyMkUwNTNFN0EwNTNFN0EzNzAxODU3RTM3MDE2NTdENDMyRDQyQkU0NDIwMkMzODY4N0E0NzAxNjU3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUxMjY5RjAxMDY2QzQyMkMyNjYyRDIzNjg3ODZEMzM4MDFBN0UyNzAxODVCRTI0MDAwMDY4NkFCRTI3MDFBNTI4MDQ3RTI3MDFBNTdFMzcwMTg1OUQzMjdEMDIyRTA1M0U3QTA1M0U3QTM3MDE4NTdFMzcwMTY1N0Q0MzJENDJCRTQ0MjAyQzM4MTM3QTQ3MDE2NTc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTAyNjlGMDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTlFNDQyMDJEOUQyNDEyNjlGMDdFMzQxQzJEN0QyNDJENDM3QTQ3MDE2NTEyNjlGMEJFMjUyMDc4MDMwMjU5RDAyMkQyMEU3RTA0MUMyRDdBMDcwMTY1N0EwNzAxNzU3NTJGOTQxMjczMzU3NTJGMDAxMjczMzUyMjc1MkY5MjEyNzMzNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4Njg3RTM3MDFDQjdFMjcwMUI1MkUyNDAwMDIyRDMyQkUzNDA0MDAzODM0N0QwMjJFMDUzMDdBMDUzMDdBMzcwMUNCN0UzNzAxQzk3RDQzMkQ0MkJFNDQyODJDMzgzQzdBNDcwMUM5N0UyNDA2MDAyRTI3MDFCNTFCMzgyMDBCMzU3QTUxMkYxMjczMzUwMjZBNjM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0UwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNjIyODA3RjdBNTEyRjEyNzMzNTlFNDQyODJEOUQyNDdFNjQwNjAwMkU2NzAxQjU5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2QTYzN0UzNDI0MkQ3RDI0MkQ0MzdBNDcwMUM5MDI2QTYzN0EzOUMwN0UzNDI0MkQ3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA2N0E2OUIwN0E3OTcwMEIzNTc1MkY5MzEyNzMzNTdBNzEyRjEyNzMzNUJEMDQ2ODJCN0EwNzAxQzk3RTQ3MDFDQjJENDM3QTQ3MDFDQjJFMzUzMDdBMzUzMDIyRDIwNDA5QjEwMDE0MjBFMDEzMjI3RTA0MjQyRDgwMjg3RTA0MjQyRDgwMkE3RTA0MjQyRDgwQ0Y3RTA3MDFDQjdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFDOTdFNDQyODJEN0Q2MDBCMDRCRDA0NjhEMjdENzAwQjA0QkQwNDY4RDA3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNUIyQzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE2MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1QjJDREFCODAyNUM1MzA5QjEwMDE4N0VBMDg4NzUyRjkwMTI3MzM1RjUyRjEyNzMzNUE1RkQ1RTUwMEE2ODFEQTVGRDVFNTAyMDY4MDREMjVFODAwMkMyNUVBNUZENUU1MDgwNjgwNEQyNTY4MDAyQzI1NjEyNDM0NzAyNjExMzc1MkY5MTEyNzMzNTA5QjEwMDE0N0FCMTJGMTI3MzM1MjBFMDA4RDIwNDdFQTA4MDAyNjExM0QyMDQzMEUxMDY3RUEwODAxMjYxMTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjEzNjA5QjEwMDE0MjBFMERCMjIwMjVCODA3NTJGOTUxMjczMzUyMjc1MkY5NjEyNzMzNTIyMTAwRjAxMjIyMDJGMDNEMjBGMjI3NTJGQTcxMjczMzU3RTE0ODcwMDgwMDYyMDJGMDNEMjBGMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNUY4MDMwMzcwNjIwRTY0RkQyMEYyMjMwRTYwMkQyNjc3RTM3MDE4NzdFMjcwMUE3OUQzMjQwMzE3RDAyMkUwNTQwN0EwNTQwN0EzNzAxODc3RTM3MDE2NzdENDMyRDQyQkU0NDI0MkMzODY4N0E0NzAxNjc3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUxMjY5RjAxMDY3QzQyMkMyNjcyRDIzNjg3ODZEMzM4MDFBN0UyNzAxODdCRTI0MDAwMDY4NkFCRTI3MDFBNzI4MDQ3RTI3MDFBNzdFMzcwMTg3OUQzMjdEMDIyRTA1NDA3QTA1NDA3QTM3MDE4NzdFMzcwMTY3N0Q0MzJENDJCRTQ0MjQyQzM4MTM3QTQ3MDE2Nzc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTAyNjlGMDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTlFNDQyNDJEOUQyNDEyNjlGMDdFMzQyMDJEN0QyNDJENDM3QTQ3MDE2NzEyNjlGMEJFMjUyMDc4MDMwMjVDRkQyMkQyMEY3RTA0MjAyRDdBMDcwMTY3N0EwNzAxNzc3NTJGOTQxMjczMzU3NTJGMDAxMjczMzUyMjc1MkY5MjEyNzMzNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4Njg3RTM3MDFDQjdFMjcwMUI3MkUyNDAwMDIyRDMyQkUzNDA0MDAzODM0N0QwMjJFMDUzMDdBMDUzMDdBMzcwMUNCN0UzNzAxQzk3RDQzMkQ0MkJFNDQyODJDMzgzQzdBNDcwMUM5N0UyNDA3MDAyRTI3MDFCNzFCMzgyMDBCMzU3QTUxMkYxMjczMzUwMjZBNjM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0YwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNzIyODA3RjdBNTEyRjEyNzMzNTlFNDQyODJEOUQyNDdFNjQwNzAwMkU2NzAxQjc5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2QTYzN0UzNDI0MkQ3RDI0MkQ0MzdBNDcwMUM5MDI2QTYzN0EzOUMwN0UzNDI0MkQ3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA3N0E2OUIwN0E3OTcwMEIzNTc1MkY5MzEyNzMzNTdBNzEyRjEyNzMzNUJEMDQ2ODJCN0EwNzAxQzk3RTQ3MDFDQjJENDM3QTQ3MDFDQjJFMzUzMDdBMzUzMDIyRDIwNDA5QjEwMDE0MjBFMDEzMjI3RTA0MjQyRDgwMjg3RTA0MjQyRDgwMkE3RTA0MjQyRDgwQ0Y3RTA3MDFDQjdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFDOTdFNDQyODJEN0Q2MDBCMDRCRDA0NjhEMjdENzAwQjA0QkQwNDY4RDA3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNUU1OTc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE3MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1RTU5REFCODAyNUY4MDA5QjEwMDE4N0VBMDg4NzUyRjkwMTI3MzM1RjUyRjEyNzMzNUE1RkQ1RTUwMEE2ODFEQTVGRDVFNTAyMDY4MDREMjVGODAwMkMyNUZBNUZENUU1MDgwNjgwNEQyNTc4MDAyQzI1NzEyNDM1RTAyNjExMzc1MkY5MTEyNzMzNTA5QjEwMDE0N0FCMTJGMTI3MzM1MjBFMDA4RDIwNDdFQTA4MDAyNjExM0QyMDQzMEUxMDY3RUEwODAxMjYxMTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjEzNjA5QjEwMDE0MjBFMERCMjIwMjVFQUQ3NTJGOTUxMjczMzUyMjc1MkY5NjEyNzMzNTIyN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjU4ODAwMkMyNThBNUZENUU1MDgwNjgwNEQyNTA4MDAyQzI1MDAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1OTgwMDJDMjU5QTVGRDVFNTA4MDY4MDREMjUxODAwMkMyNTEwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNUE4MDAyQzI1QUE1RkQ1RTUwODA2ODA0RDI1MjgwMDJDMjUyMDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjVCODAwMkMyNUJBNUZENUU1MDgwNjgwNEQyNTM4MDAyQzI1MzAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1QzgwMDJDMjVDQTVGRDVFNTA4MDY4MDREMjU0ODAwMkMyNTQwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNUQ4MDAyQzI1REE1RkQ1RTUwODA2ODA0RDI1NTgwMDJDMjU1MDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjVFODAwMkMyNUVBNUZENUU1MDgwNjgwNEQyNTY4MDAyQzI1NjAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1RjgwMDJDMjVGQTVGRDVFNTA4MDY4MDREMjU3ODAwMkMyNTcwMjYwRkY1NEYwQzRBNUZGQzRBNTRGNzUyRjkwMTI3MzM1RjUyRjEyNzMzNTIyQ0ExOTVFMjAwNzRDQTI3RTc0MkMyRENBNzk3QTc5QTAwQjc0N0E3OUIwMEI3NERBNzk3RTMwMDI3RTY0MDAwMjAyNjE1RUNBMTk1RTIwMDc0Q0EyN0U3NDJDMkRDQTc5N0E3OUEwMEI3NDdBNzlCMDBCNzQ3QTc5NjAwQjc0REE3OTdFMzAwMzdFNjQwMDAzMDI2MTVFRDIwNDdFMjcwMUNCMkQyNkJFMjQwNDAwMzgyRTdFMDcwMUM5N0U0NDI4MkQ3RTc5QTA3QTA5QTAwQjA0MEI3NEJEMDQ2ODIzQTVEQkVGN0EyNzAxQ0I3RTI1MzAyRDI2N0EyNTMwN0EwNzAxQzlEQTE5QzJENzIyNzUyRjlBMTI3MzM1REExOUQyRDcyMjdFMDQyNDJEODBENzQ4RjE0NjY1NDc1RjQ5MkE0NTJBNDUyQTQ4NTY0NTJBNDk2RTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0OTc1NDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNEMxRTQ5OTI0QThDNEM1NzQ1MkE0NTJBNEI4MzQ1MkE0QzlCNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTRDQTI0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0RjRCNENCRjREQjk0Rjg0NDUyQTQ1MkE0RUIwNDUyQTRGQzg0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNEZDRjQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTUyNzg0RkVDNTBFNjUyQjE0NTJBNDUyQTUxREQ0NTJBNTJGNTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1MkZDNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNTVBNTUzMTk1NDEzNTVERTQ1MkE0NTJBNTUwQTQ1MkE1NjIyNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTU2Mjk0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1OEQyNTY0NjU3NDA1OTBCNDUyQTQ1MkE1ODM3NDUyQTU5NEY0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNTk1NjQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTVCRkY1OTczNUE2RDVDMzg0NTJBNDUyQTVCNjQ0NTJBNUM3QzQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1QzgzNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNUYyQzVDQTA1RDlBNUY2NTQ1MkE0NTJBNUU5MTQ1MkE1RkE5NDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTVGQjA0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkFDQUI4NzUyRjAyMTI3MzM1N0VCMzkxMDMyMEU1MjAzMEUwMDUxMjZCMDU4MDMwMzBFMTA1MTI2NDg2ODAyODMwRTIwNTEyNjNGNTgwMjAzMEUzMUQxMjY1NjE4MDE4N0VCMzkxMDQzMEUxMDMwMjY3NUYzMEU2MDUxMjZDNkE4MDA2MjBFMjAzMDIwMDgwREFCODMyNzUyRjEwMTI3MzM1Q0EwQkNBMzlDQTU5NzQ0MDdBQjM5MTAwN0VCMzkxMUE2Q0FBQkVCMDQwMjgwQTEyNjQyNERBNTlEQTM5REEwQjIyNzQyMDdBQjM5MTE0ODBGMTdFMzcwMUM1MkQzNUJFMzQwNDAwMzgyRjdBMzcwMUM1N0UzNzAxQzM3RDQzMkQ0NUJFNDQyQzJDMzgyNTdBNDcwMUMzNzUyRjExMTI3MzM1N0FCMTJGMTI3MzM1MTI2NzlGNzQyMDdBQjM5MTE0MTI2NjMwMjI3NTJGMTYxMjczMzU4MEY0NzUyRjEyMTI3MzM1N0FCMTJGMTI3MzM1OUU0NDJDMkQ5RDU0MTI2NzlGN0UzNDI4MkQ3RDU0MkQ0MzgwQkM3NTJGMTgxMjczMzVDQTA5Q0EzOUNBMkI3NDIwN0FCMzkxMDA3RTYzOTExQTc0MTA3QUIzOTExNDdFQjA4MDlDQjY2MDM4NkNBQTdFMzcwMUNCOUQzNTQwMzc3QTM3MDFDQjdFMzcwMUM3N0Q0MzJENDVCRTQ0MjgyQzM4M0I3QTQ3MDFDNzdENDUxMjY4RDQ3RUIzOTExRTIwRTUxMzc1MkYxOTEyNzMzNTdBOTEyRjEyNzMzNURBMkJEQTM5REEwOTIyODAzNDJENTM2RDMzNjAwMjgwQzE3RTA0MjQyRDdBMDcwMUM5N0EwNzAxQzc4MEUxQ0E1OTlFNDQyODJEOUQ1NDEyNjhENDdFMzQyNDJEN0Q1NDJENDM3QTQ3MDFDNzEyNjhENERBNDk4MEIwN0UwRjJDM0UwQjBDN0EwRjJDM0U3NDIwN0FCMzkxMUU3NDYwN0FCMzkxMUM3NDAyN0FCMzkxMTI4MEE1N0UyRjJDNUUwQjJDN0EyRjJDNUU3NDIwN0FCMzkxMUU3NDYwN0FCMzkxMUM3NDAyN0FCMzkxMTI4MDFGREEyQkRBMUJEQTBCMjI3NTJGMjgxMjczMzVDQTBCQ0ExQkNBMkI3NDYwN0FCMzkxMDA3NDEwN0FCMzkxMTQ3RUIzOTExQTcwREI3RTBEMzA3RTFEMzQ3RTJEMzg3RTNEM0M3RTg1NDA3RDkwNEQ5MTREOTI0RDkzNEQ5NDREOTU0RDk2NEQ5NzREOTg2OEI4N0ExMzkxMTc3QTAzOTExNzdBMzM5MTE3N0EyMzkxMTc3QTUzOTExNzdBNDM5MTE3N0E3MzkxMTc3QTYzOTExNzdBOTM5MTE3N0E4MzkxMTczMDczMjI3QUIzOTExNzdBQTM5MTE3N0FEMzkxMTc3QUMzOTExNzdBRjM5MTE3N0FFMzkxMTc3RDc4N0FGMzkxMTc3QUUzOTExNzdFQjM5MTFFMzBFNTAzMDI2NTNDNzUyRjI5MTI3MzM1MjA3MzA4NzUyRjBBMTI3MzM1ODAwNjc1MkYxMjEyNzMzNTc0ODA3QUIzOTExRTZEMDA3RDEwN0EwRDMwN0EwRDM0N0EwRDM4N0EwRDNDN0EwNTQwREEyQkRBMUJEQTBCMjI3RTM3MDFDNTREMzM2ODNCN0UwNzAxQzE3RTU0MkMyRDlENTBCRDM1NDAwMjdEMzVDQTM5N0U2NTRCOTk2NERBMzk3RTA3MDFDNTlEMDM3QTA3MDFDNTJFMzcwMUMxN0EzNzAxQzFCRTM0MkMyQzI4Qzc3RTM0MjgyRDdBMzcwMUMxODBCRDIyNzUyRjUzMTI3MzM1N0UxNTREODAxMTc1MkY1MTEyNzMzNTBCMDgxMDBCMDU5RTM0MDAwMjI4NEQ3Q0IyMjBFNzI3NTQwNzIzMEEyQjQ5MjIzOTFFN0NCMjU0NzgwMzAzMDM3QzJCOUQxMzQwMUE2ODEyN0ExNTREN0EyNTRGN0U2NDY3MDk3QTY1NEI4OTI0MDI2NzE3N0U2NDY2N0Y4MEYyMkQxMzlEMzFDQTM5N0QzMTJEMTBDQTE5Q0EyOTk5MjREQTI5REEwOURBMzk4MEEyN0ExNTREN0U2NDY2RjU0RDMzNzgwOTdDQjIyMEU3MkE3RTY0NjY3NDdBNjU0QjIyNzUyRjUyMTI3MzM1N0UyMTREN0UwOTMwMEIwNDFCMzQ3ODg5ODBENDc1MkY1NDEyNzMzNTdFMTU0RDdFMjU0RjgwOTA1RTIwMDc1NDc4N0U0NDY3N0QzMEU2MTY0RDMzNjgyNjFCMzQ3RTA5NDAwQjA0N0U0NDM0RkEyMEUzMDQ3RTQ0Njc4NUNBMDlDQTM5OTk0NERBMzlEQTA5N0U2NDY2N0Y0RDMzNjhBNjg5NjQ3QTE1NERGNTRGN0U2NDY3NTg4MDk5N0UxNTRERTU0RjgwQzRDMEQwQzBEMUMwRTBDQTE5NzUyRkZFMTI3MzM1N0UxNDAwNTMwMjQwNTJEQTE5RDBFMEQwRDFEMEQwMzIwM0E1Q0IxOUIxODAwMDIyMjI3RTI0MDAwMDdGRTE3RUEwMDJBNDdFMDQ2OEIxOUQwNTdFQjAyODdBQjM5NTAwODkwNENBMjlCNDgwRTI3RTI0MDAwMDdGRTE3RTAwMjg3QTAzOTUwMEUwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzN0UwMDAwN0EwMzk1MDBEQTI5MjI3RTI0MDAwMDdGRTE3RUEwMDJBNDdFMDQ2OUU2OUQwNTdFQjAzODdBQjM5NTAwODkwNENBMjlCNDgwRTI3RTI0MDAwMDdGRTE3RTAwMzg3QTAzOTUwMEUwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzN0UwMDAwN0EwMzk1MDBEQTI5MjJDQTI5Q0ExOUNBNTg3RTI0MDAwMDdGRTFEQTU4N0U1NDAyMjA5Q0I1QTQ3RTUwMzA1RTIwMDcyQzUyN0E1Mzk1MDAyRTU0NkExNzg5NTRFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBMzdFMDAwMDdBMDM5NTAwREExOURBMjkyMkNBMTlDQTU4N0UyNDAwMDA3RkUxREE1ODdFNTQwMjM4OUNCNUE0N0U1MDIwNUUyMDA3MkM1MjdBNTM5NTAwMkU1NDZBODg4OTU0RTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTM3RTAwMDA3QTAzOTUwMERBMTkyMjAyNkJBOENBMEJDQTFCQ0EyQkNBM0JDQTRCQ0E1QkNBNkJDQTdCQ0FFQjc0MDA3QUIzOTEwMDdFQjMyQzdGQjQwMDAyODAxQ0I0MDExOTdFQjM5MTE0NTQxNDY4MDUxMjZCNkM4MDIzN0VCMzkxMTQzMEU1MUMxMjZDQUE4MDE3N0VCMzkxMTQzMEU1MDUxMjZDQUE4MDBCN0VCMzkxMTQ1NDE0NjgwMzEyNkI2Q0RBRUJEQTdCREE2QkRBNUJEQTRCREEzQkRBMkJEQTFCREEwQjIyMjBFNDE5NzUyRjBBMTI3MzM1N0VCMzJDN0U3MDBBN0VCMzJDN0ZCNDAxMUYwMjZDMDQwMjcxRjI3NTJGMEIxMjczMzU3NDE0N0FCMzkxMTQ3RUIzMkM3RkI0MDIwQzEyNkJCNDAyNkJBODc0MDQ3QUIzOTExNDIyN0UwMDAwN0EwMzJDN0Y3QTAzMkM4MDIyN0VCMzJDNzY1NDYwNjAwNUI0NDAxRTgwMUM3RUIzMkM3N0I0MDUxNTc1MkY3MTEyNzMzNTdFQjMyQzc5N0VBMDAxN0FBMzkxMDY3QUIzOTEwNzIyNzQwMDdBQjM5MTAwNzQxMDdBQjM5MTEyMjJCRTU3MkM3QzI4MDQ3RTU3MkM3QzdBMEYyQzgyN0E1NzJDODY3NDEwN0FCMzkxMTIyMjc0MDA3QUIzOTEwMDdFQjM5MTFBNzA1MzdFQjM5MTE0MjBFNDRDN0VFRjJDODI3RUY3MkM4NjdFMDcyQzg2NEQwMDY4MjE3RTAwMDBFMDdBQjM5MTE3QTNBNTA4MUJGNDY4MDZBNUI4MTBGMDgwMTk3RUIwMDA3QUIzMkM3RkJFMDAxMDY4MEQ3RUIwMDA3QUIzMkM3Rjc0ODA3QUIzOTExRTdBRUYyQzgyN0FGNzJDODY3NTJGMDYxMjczMzU3NDA0N0FCMzkxMTQyMkNBMEJDQTFCQ0EyQkNBM0JDQTRCQ0E1QkNBNkJDQTdCQ0FFQjc1MkYwMzEyNzMzNTc0MDA3QUIzMkM3RTc0MDA3QUIzOTEwMDc0MDE3QUIzOTExMjEyNkQxOURBRUJEQTdCREE2QkRBNUJEQTRCREEzQkRBMkJEQTFCREEwQjIyNzUyRjAzMTI3MzM1N0VCMzJDODBCNDAyMTE3NDAwN0FCMzJDODA3QUIzMkM3Rjc0MjA3QUIzOTExNDIyQjQwMTQ2N0VCMzkxMDQyMEU2NDI3RTIzOTExQTdDMzI3RTEzMkM4MTJDMjE3QTIzMkM4MTdFMDAwMDJFMDQyQzg4N0VCMzkxMTY3QTA5QjAwQjA0QTVEQkY0NzQyMDdBQjM5MTE0NzUyRjcwMTI3MzM1N0VCMzJDODE3RUEzMkM3REJDQUI3ODAzMTI2REI5MjIwMjcxRjJEQTU5MDI2QzdDNzRFMDdBQjM5MTAwN0UwMzkxMTA3RTEzOTExMTdFMzM5MTEyN0UyMzkxMTM3RTUzOTExNDdFNDM5MTE1N0U3MzkxMTY3RTYzOTExNzdBMEYyQzc2N0ExRjJDN0E3NTJGMDQxMjczMzU3QTAxMkYxMjczMzU3QTExMkYxMjczMzU3QTIxMkYxMjczMzU3QTMxMkYxMjczMzU3QTQxMkYxMjczMzU3QTUxMkYxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3NDAwN0FCMzkxMDA3NDQwN0FCMzkxMDQxMjZEOEQyMjZEMDA3RTE0MDEwMjdBMDcyQzg2N0EwMzJDODE3RUIzMkM3NjIwRTcwRjdBMjMyQzgwN0EzMzJDN0ZCRTA3MkM3QzY4MDkyMjdBMzMyQzgwN0EyMzJDN0Y3RUIzMkM3NjU0RTMyMzIzMzBFMDAyRDJFNTMwRTcwMkQyRTQzMEU1MDYzMEU0MDMwMjcxRjI1NDNFRjVGMDAzNTQxRkMzMjVGMDkwNkRFNTc1ODRGRjczMDI2RkEwMDI2RTJEMDI3MDM5MDI3MDU0MDI2RjM3MDI2RUMyMDI3MDg1MDI3MDg1MDI3MDg4MDI3MDg4MDI3MDg4MDI3MDg4MDI3MDg4MDI3MDg4MDI3MDg4MDI3MDg4MDI3MDhFMDI3MTYwMDI3MDhCMDI3MDhCMDI3MDhCMDI3MDhCMDI3MDhCMDI3MDhCNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDN0VCMzJDNzdCNDA2MkE3RUIzMkM3ODYwNzk3QzBCN0UxMzJDNzk3RTE3MkM3QTc1MkY3MjEyNzMzNTdBMDEyRjEyNzMzNTdBMTEyRjEyNzMzNTEyNzIzNzQwNTgwMjZCRUJCNDA4MUM3NTJGNzQxMjczMzU3RUIzM0ZGMTdFMDgyQzg4N0EwQzAwMDA3QTBCQjA3RTU0MDAwMTAyNkJFQkI0MDAzMzc1MkY3NTEyNzMzNTdFMDgyQzg4N0EwQzAwMDBDQTBCN0VCMzNGRjIzMEUwMDc3NDAyN0EwQkIwODAwNTc0MDA3QTBCQjAwQjE0NzQwMDdBMEJCMDdFNTQwMDAyREEwQjAyNkJFQjAyNzFGMjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMyQzc3QjQwMDVGNzUyRjc2MTI3MzM1N0VCMzJDN0I1NDBGQjQwMjA1N0VCMDYwODAxN0I0MDAwNTdFQjAwMDgwMEY3RUIzMkM3QjIwRTcwNTdFQjA0MDgwMDM3RUIwMjA3QUIzOTEwMDdFQjM5MTExMzBFMDA0NzQwMTgwMDI3NDAwN0UwODJDODg3QTBDMDAwMENBMEI3QTBCQjAwQjE0NzQwMDdBMEJCMDc0MDA3QUIzOTEwMDdFNTQwMDAyREEwQjAyNkJFQjAyNzFGMjdFQjMyQzdCNTQwRkI0MDIwNTdFQjA2MDgwMTdCNDAwMDU3RUIwMDA4MDBGN0VCMzJDN0IyMEU3MDU3RUIwNDA4MDAzN0VCMDIwN0FCMzkxMDA3RUIzMkM3OUI0MDAyNjdFQjMyQzc3QjQwMTBFNzUyRjc3MTI3MzM1NzQwMTdBQjM5MTEyODAxQkI0MDMwRTc1MkY3ODEyNzMzNTc0MDE3QUIzOTExMTgwMEE3NDAwN0FCMzkxMDAxMjcxRjIyMjc0MDA3QUIzOTEwMDAyNkJERTdFQjMyQzc3QjQwOTFGNzUyRjc5MTI3MzM1N0VCMzJDNzlCRUIzM0ZGMTY4MERDQUI4MTI0Mzc5REFCODUwNzY3QUIzM0ZGMTgwNkRCNDA1MDg3NTJGN0ExMjczMzU4MDYyQjQwMzE5NzUyRjdCMTI3MzM1N0VCMzJDNzlCNDAxNTU3RUIzM0ZGMjQ0MDE3QUIzM0ZGMjgwNDZCNDAxMTk3NTJGN0MxMjczMzU3RUIzMkM3OUI0MDEzOTdFQjMzRkYyNTRGRTdBQjMzRkYyODAyQUI0MDcyQTdFQjMyQzc4NjAyNDdDMEI3RTEzMkM3OTdFMTcyQzdBNzUyRjczMTI3MzM1N0EwMTJGMTI3MzM1N0ExMTJGMTI3MzM1MTI3MjcxNDAwMzAyNkJERTAyNzFGMjdFQjMyQzc3QjQwQkY2NzUyRjdEMTI3MzM1N0VCMzJDNzk3RUEzMkM3QjRDQUI3OEU0ODBERjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMyQzc3QjQwQUNGNzUyRjdFMTI3MzM1N0VCMzJDNzk3MEMzN0UwODJDODg3QTBDMDAwMDdBMEJCMDdFNTQwMDAxMDI2QkVCMDI3MUYyMDI3MUYyMDI3MUYyN0VCMzJDNzdCNDA0MjA3NTJGQzMxMjczMzU3RTA0MDAwMTdFMTcyQzc4N0UxODJDODg3QTFDMDAwMDdFNDcyQzdDMTI3MzQxMDI3MTVBQjQwNjQyNzUyRkMxMTI3MzM1N0U1ODAwMDA3QTVDMDBGRTdEQ0E3RUQ3MkM3ODdFNzgyQzg4N0E3QzAwMDA3RTc3MkM3Qzc1MkZDMTEyNzMzNUMwQThDMkFGN0U0MDAxN0E0Mzk0MDAxMjczN0E3RTQzMkMzNTdBNDM5NDAwRDBBODQwNjU4MDYwQjQwMDI0QzJBRjdFQjAwMTdBQjM5NDAwN0FCMzJDMzUxMjZCREVFNDhERUY4REVGOERFRkQ1RTBGN0MwRDFDQTAyRkZDQTA2MDAwMDMyQjQwOTIwNzQwMzdBQjM5MTA2N0UyMzkxMDc3RTU3MkM3ODRENTU2ODA1NEUyMDAyODAwMzVFMjBGRDdBMjM5MTA3ODAxNkI0MDcxNkMyQUY3RTA3MkM3QTdFMTcyQzc4QzBEMUNBMThDQTM4Q0EyODMyMDI2QkRFMDI3MUYyNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDN0VCMzJDNzdCNDAzMTU3NTJGQzIxMjczMzU3RTA0MDAwMTdFMTcyQzc4N0U1NzJDN0MwMjZCRUJCNDA1NDE3NTJGQzAxMjczMzVDMEE4QzJBRjdFNDAwMTdBNDM5NDAwN0UwODJDODg3QTBDMDAwMDdFMjQwMEZFN0UzNzJDNzg3RTQ3MkM3QzEyNzM0MTdFNDMyQzM1N0E0Mzk0MDBEMEE4N0UwODJDODg3QTBDMDAwMDdFNTcyQzdDMDI2QkVCQjQwMTIwN0UwMDAwN0UxMDAxNzUyRjcyMTI3MzM1N0EwMTJGMTI3MzM1N0ExMTJGMTI3MzM1MTI3MjM3NDAwMzAyNkJFQjAyNzFGMjc1MkYwNzEyNzMzNTdFQjAwMjdBQjM5MDAwNzQwMDdBQjM5MTAwNzQ0MDdBQjM5MTE1NzQwMTdBQjM5MTExN0VCMzkxMTU1NDYwQkVCMDQwNjgwODc0MjA3QUIzOTExNTgwRUQ3NDAxN0FCMzkxMTI3NDA0N0FCMzkxMTQ3NEZGN0FCMzJDN0UyMkMwQThDMkFGN0U0MDAxN0E0Mzk0MDAxMjcyQkU0MDFGN0UwODJDODg3QTBDMDAwMENBMEJDQTQ5MTI3MzQxREE1OURBMEI3RTQzMkMzNTdBNDM5NDAwRDBBOEMzMjI3RTQzMkMzNTdBNDM5NDAwRDBBODIyQzBBOEMyQUY3RTQwMDE3QTQzOTQwMDEyNzJCRTQwMzE3RTU4MDAwMDdBNUMwMEZFN0Y2MTdFNzgyQzg4N0E3QzAwMDA3RTc3MkM3Q0JENzQ3ODE3NzUyRkMxMTI3MzM1MTI3MzdBNDAwQzdFNDMyQzM1N0E0Mzk0MDBEMEE4QzMyMjdFNDMyQzM1N0E0Mzk0MDBEMEE4RDMyMjdFMjQwMEZFN0UzNDdGQ0EwQjFBNTBDNUYwN0Q2MjdENzU3RDg3N0UzNDdGQzI3RTFCQjA3RTM0N0YwM0I0MDEwNDdFMzQ3RkNDN0UxQkIwQkMwQjUwNDkzRTAwM0UwMDBBNTAyRDc1MEIzQTMwNjk1MzAwMDJCRDM4NTAwMjJEMzhCQzFCNTAzMDNFMTAzRTEwMEE1MTJEMzU2OTQxMDAwMjBCMUEzMEJEMzg1MDAyMkQzOEJFNDRGRkZGNzgwNTdFMUI5MDBBNDk0RDQ0NjgwQ0JFNDQwMEZGMjgwNDdFNDQwMEZGQzMyMkQzMjI3NAorOjAwMDQ3RkM2MDAwMjAwMDMwMEIyCis6MDE0ODczMzUwMENBMDg3RTAxMkY3QTAzM0ZGMERBMDgyMjdFMUJDMDdBMEJDMDBCMTQwQjM0MUI0NDc4RjIyMjdGNkY3RkYwMUJGQzdDNTQ3RDMyODAwOENBMUJDQTFCQ0ExQkNBMUI5RTQ0MDAxMDUwRjIyRTQ0MDAxMDY4MDZDQTQ4MUI0NDc4RkE3RkY2ODlFNENBNkI1RUQ0MDAzRjY4MjA3RTg0MDA0MDlEOEREQTZCQkQ4NzM4MTZDQTc5N0Q3ODEyNzNBNERBNzk0MDA4OUQ3ODY4MDI4MDA1QzJENzIyREE2QjdFQzAwMzdFRDAwMDdBRDM5MDAwNzRBQTM5QjU1NTU1NzQ1NTM5QjUyQUFBNzRBMDM5QjU1NTU1N0UwNDAwNDA5RDcwNTAwNjJENzA3RDA3NkQ3NzdDMzE3RTdCMDA3QTZCMDAwQjdDMEI2Q0E1RDlGMzdGMTYxQjFDN0U1NDI3MTA3RTFCMTBCQzEwNjgwNjFCNTQ3OEY1ODAyRjZEMDA3QzIwN0YxNjlGMTA3RjI3OUYyMDdFMkIwMDdFMUIxMEJDMDE3ODE5MEIyQzBCMUNBNURCRUY3Q0I2MjBFMDA2NkNEQzdBRDM5MDAwNEQ3Nzc4OTBDMkQ3MjJEMkQ3MjIwMDA0MDAwNDAwMDAwNjA0MDIwNDAwMDIwMTA0MDEwMjAwMDAwMDAwMDAwMDAwMDAwMjAyMDIwMjAyMDQwMDA4MTAwMjEwMDQwMjA4MDAwMTAxMDg3RTE4N0ZCRDdBMUMwMEZFMEIxQTAwNUUxMDFGQkUxMDE0MzgxQTBBNTEyMzdFMTg3NDI0N0ExQzAwRkYyRDM1MEIxQTUwNjAwOEE1QjgwMjAzNEVBMDA4MjI4MEZFQ0IKKzowMDAwMDAwMDAxRkYKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQorLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgorLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisvLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lZGdlcG9ydC9kb3duMy5iaW4uaWhleCBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24zLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5MzVlNTIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lZGdlcG9ydC9kb3duMy5iaW4uaWhleApAQCAtMCwwICsxLDgxNSBAQAorOjEwMDAwMDAwMDQ1MDAwMDA4NzMyOUEwMjI3QkYwMjIxQjIwMDAwMDA4QworOjEwMDAxMDAwMDAwMDAyMDAxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMDAyMDAwMDAwMDAyMDExQTg1M0Y4Qzg1NDA4QUMwRTBDMEQwQzAyNAorOjEwMDAzMDAwRjBDMDgyQzA4M0MwMDBDMDAxQzAwMkMwMDNDMDA0QzBDMQorOjEwMDA0MDAwMDVDMDA2QzAwN0U1M0UyNDA4RjhFNjYwMkJFNTNFMjQxRgorOjEwMDA1MDAwMTBGOEE2ODFFNTNFNzVGMDIxQTQyNDA1RjU4MkU0MzQ2QworOjEwMDA2MDAwRjhGNTgzNzg4Q0U1ODEwNEMzOThGOTk0MjI0MDAzMDI2MworOjEwMDA3MDAwMTFEQ0U2RjAwOEEzRDlGQTc0MDgyNTNFRjgwNTNFMDgxRAorOjEwMDA4MDAwRTY1NDgwNzAwQ0U1M0VCNDA3RjM3ODA4NzUzRTAwODBCNgorOjEwMDA5MDAwRUZFNTNFMjQxMEY4ODY4MUU1M0U3NUYwMjFBNDI0MDVBNQorOjEwMDBBMDAwRjU4MkU0MzRGOEY1ODM3ODhDRTU4MTA0QzM5OEY5RTBBRgorOjEwMDBCMDAwRjYwOEEzRDlGQUQwMDdEMDA2RDAwNUQwMDREMDAzRDBEMworOjEwMDBDMDAwMDJEMDAxRDAwMEQwODNEMDgyRDBGMEQwRDBEMEUwMzJBNgorOjEwMDBEMDAwMzAwMTREMzBCNDQ4MTAwMDQ1OTBGRjA4RTA1NDIwRjgzRQorOjEwMDBFMDAwOTBGRjQ4RTA1NDIwRjk5MEZGMTBFMDU0MjBGQTkwRkY3MAorOjEwMDBGMDAwNTBFMDU0MjBGQjc0MDBGNTgyNzRGOEY1ODNFMEM4RjBGQQorOjEwMDEwMDAwNjg2MDAyN0UwNEEzRTBDOUYwNjk2MDAyN0UwNEEzRTA5NworOjEwMDExMDAwQ0FGMDZBNjAwMjdFMDRBM0UwQ0JGMDZCNjAwMjdFMDQ0QQorOjEwMDEyMDAwMjJDMEUwQzBEMEMwRjBDMDgyQzA4M0MwMDBDMDAxQzAwNworOjEwMDEzMDAwMDJDMDAzQzAwNEMwMDVDMDA2QzAwNzc0MTVGNTgyNzQ3MAorOjEwMDE0MDAwRjlGNTgzRTA2MDIzNzQ2NkY1ODI3NEY5RjU4M0UwMTRCMQorOjEwMDE1MDAwRjA3MDE2NzRGRkYwNzQxQ0Y1ODI3NEY5RjU4M0UwNjA5QQorOjEwMDE2MDAwMDQxNEYwNzAwNEMyOTA4MEZDOTBGRjkzNzQ4MUYwRTU1OQorOjEwMDE3MDAwODE5NEZENDAwMzAyMTFEQzg1NDE4RDg1NDI4Qjc0QjI3MAorOjEwMDE4MDAwRjU4Mjc0RkFGNTgzRTBCNDAxMUJDMDgyQzA4MzkwRkY0RQorOjEwMDE5MDAwNEFFMDMwRTcyQzkwRkY0RUUwMzBFNzI1RDA4M0QwODI1NAorOjEwMDFBMDAwNzQwMkYwODAyMEI0MDIxREMwODJDMDgzOTBGRjdBRTAwOAorOjEwMDFCMDAwMzBFNzA1MTIyODRFODAwOUQwODNEMDgyNzQwM0YwODA4NgorOjEwMDFDMDAwMDREMDgzRDA4MkEzRTBCNDAxMUJDMDgyQzA4MzkwRkYxRgorOjEwMDFEMDAwNTJFMDMwRTcyQzkwRkY1NkUwMzBFNzI1RDA4M0QwODIwNAorOjEwMDFFMDAwNzQwMkYwODAyNUI0MDIyMkMwODJDMDgzOTBGRjdBRTBCRQorOjEwMDFGMDAwMzBFNzA1MTIyODRFODAwOUQwODNEMDgyNzQwM0YwODA0NgorOjEwMDIwMDAwMDlEMDgzRDA4MjgwMDMwMjAyOTA3NDE2RjU4Mjc0RjlCQgorOjEwMDIxMDAwRjU4M0UwMjAwNEYxMjAwMjAzMzAwMUVCNzQxOUY1ODIyQworOjEwMDIyMDAwNzRGOUY1ODNFMDE0RkNGMEEzRTBGREEzRTBGRTY0MDRBMAorOjEwMDIzMDAwNzAwRkVDNzA2MjdFMDExMjAwQzk3QzBBN0RGQTAyMDIyNgorOjEwMDI0MDAwNjExMjAwQzlFRTY0MDQ2MDFERUM3MDRCN0MwQUVEMTQ3MQorOjEwMDI1MDAwRkQ3MDE1RUU2NDAyNjAwNzdFMDI3RDMyMDIwMjYxN0U0RgorOjEwMDI2MDAwMDE3REZBMDIwMjYxN0MwQTc0MTlGNTgyNzRGOUY1ODM0MgorOjEwMDI3MDAwRUNGMEEzRURGMEEzRUVGMDE0NjAxODIwRTEwRjIwMDFFNAorOjEwMDI4MDAwMDZEMkIxQzJCMDgwMTBDMkIxRDJCMDgwMEFDMkIxQzIyRgorOjEwMDI5MDAwQjA4MDA0RDJCMEQyQjE3ODE5NzkwOTdBMDdFNzcwMDQzNgorOjEwMDJBMDAwQTYwMDgwMEJFNjYwMDgxNkU2NzAwNEU3NDQ4MEY3MDhCNQorOjEwMDJCMDAwMDlEQUVBRTUzRDYwMTMxNEY1M0Q3MDBFRTUzRTI0MDhDOQorOjEwMDJDMDAwRjg3NjAwMTIxMTU3RDI4Q0QyOEREMDA3RDAwNkQwMDUwNworOjEwMDJEMDAwRDAwNEQwMDNEMDAyRDAwMUQwMDBEMDgzRDA4MkQwRjA5RgorOjEwMDJFMDAwRDBEMEQwRTAzMjkwRkYwNEUwOTBGQUI5RjA5MEZGMDY1MQorOjEwMDJGMDAwRTBGQ0EzRTBGQUVDRkZFQUZFRUZDMzk0MDhFRTk0MDEwMQorOjEwMDMwMDAwNTAwMjgwMDQ3RTAxN0YwODhFM0I4RjNDOTBGRjAyRTAwQworOjEwMDMxMDAwRkNBM0UwRkFFQ0ZGRUE5MEZBQkRGMEVGQTNGMDEyMUNBOAorOjEwMDMyMDAwRTBFNEY1NERFNTREQzM5NDAyNTAwRjEyMUNDMUU0MTJGOAorOjEwMDMzMDAwMUFFODA1NEQwNDEyMUNCMjgwRUExMjFDRTA5MEZGMDA3RQorOjEwMDM0MDAwRTBGRjU0NjAyNEMwNzAwMzAyMDhGMzI0NDA2MDAzMDJGRAorOjEwMDM1MDAwMEY2RTkwRkFCOUUwRkU1NDBGRjU0REVFMzBFNzAzRDM3RgorOjEwMDM2MDAwODAwMUMzOTIwQTkwRkYwMUUwMTIxQkZDMDM4NDAwMDQ4OQorOjEwMDM3MDAwNTcwMTA1NkEwMzA2MzEwNTA2NzMwNjA3RDUwODA4MURFRgorOjEwMDM4MDAwMDkwODc5MEEwOEI5MEIwMDAwMEY2RUU1MzUyMEU3MDM2QworOjEwMDM5MDAwMDIwRjZFOTBGQUJERTA3MDAyQTNFMDYwMDMwMjBGNkVFMAorOjEwMDNBMDAwRTUzQzY0MDI0NTNCNjAwMzAyMEY2RUVGNTQxRjE0NjA4RQorOjEwMDNCMDAwMkIxNDYwNDcyNDAyNjAwMzAyMEY2RUVFNjAwMzAyMEZFRAorOjEwMDNDMDAwNkUxMjFDQzE3NDAxMTIxQUU4Nzg2N0U2MzBFMDA4MTI1OAorOjEwMDNEMDAwMUNDMTc0MDIxMjFBRTg3RjAyMDIzMjZFRTUzNTIwRTE3OAorOjEwMDNFMDAwMDk5MEZBQjlFMDYwMDMwMjBGNkU5MEZBQjlFMEQzOTQ3NQorOjEwMDNGMDAwMDE0MDAzMDIwRjZFN0YwMjAyMzI2RUU1MzUyMEUxMEVFRQorOjEwMDQwMDAwOTBGQUI5RTBGRjYwMDc2NDgwNjAwMzAyMEY2RTEyMEY3QworOjEwMDQxMDAwRkE0MDAzMDIwRjZFRTU0RDcwMTkzMDBBMEI5MEZGODAxMQorOjEwMDQyMDAwMTIxQ0JFMTIxQUU4ODAyNDkwRkY4MjEyMUNCRTEyMUFGRgorOjEwMDQzMDAwRTg4MDE5MTU0RDMwMEEwQjEyMUQ1NTEyMUNCQzEyMUFGQQorOjEwMDQ0MDAwRTg4MDA5MTIxRDYzMTIxQ0JDMTIxQUU4MTIxQ0MxMTJBQQorOjEwMDQ1MDAwMUFBMjYwMDU3NDAxMTIxQUU4N0YwMjAyMzI2RUU1MzVCNQorOjEwMDQ2MDAwMzBFNzAzMDIwRjZFRTUzQzQ1M0I2MDAzMDIwRjZFMTI1RQorOjEwMDQ3MDAwMUQ3OTE0NjAyRDE0NjA1OTI0MDI2MDAzMDIwRjZFOTBFMAorOjEwMDQ4MDAwRkFCREUwNzAwNEEzRTA2NDAxNjAwMzAyMEY2RTkwRkEwRAorOjEwMDQ5MDAwQjlFMDYwMDMwMjBGNkU3ODY3RTY1NEZFRjZFNEZGMDJFRgorOjEwMDRBMDAwMzI2RUU1MzUyMEUxMDYyMEUwMDMwMjBGNkVFNTM1MzBCRgorOjEwMDRCMDAwRTAwOTkwRkFCOUUwNjAwMzAyMEY2RUU1MzUzMEUxMEMxNworOjEwMDRDMDAwOTBGQUI5RTBEMzk0MDE0MDAzMDIwRjZFRTRGRjAyMzJDOAorOjEwMDREMDAwNkU5MEZBQkRFMDcwMDJBM0UwNjAwMzAyMEY2RTEyMEY4RgorOjEwMDRFMDAwRkE0MDAzMDIwRjZFRTUzNTIwRTEwNjIwRTAwMzAyMEYxQgorOjEwMDRGMDAwNkVFNTM1MzBFMDA3RTU0RDYwMDMwMjBGNkVFNTRENzBBNworOjEwMDUwMDAwMEY5MEZGODJFMDU0RjdGMDkwRkY4MEUwNTRGN0YwMjI2NAorOjEwMDUxMDAwRTU0RDI0RkU2MDIwMjRGQjYwMzQyNDA2NzAzNTMwMEE0QgorOjEwMDUyMDAwMENBMjBBRTQzM0ZEN0YwMzEyMkU3OTgwMjZFNEZEN0ZCRQorOjEwMDUzMDAwMDMxMjJFNzk4MDFEMzAwQTBDQTIwQUU0MzNGRDdGMDREOQorOjEwMDU0MDAwMTIyRTc5ODAwRUU0RkQ3RjA0MTIyRTc5ODAwNTdGODdCQworOjEwMDU1MDAwMTIzMUVGMTU0RDMwMEEwQjEyMUQ1NUY1ODNFMDU0Rjc5QgorOjEwMDU2MDAwRjA4MDA5MTIxRDYzRjU4M0UwNTRGN0YwRTRGRjAyMzJENgorOjEwMDU3MDAwNkVFNTM1MzBFNzAzMDIwRjZFRTUzQzQ1M0I2MDAzMDI1NAorOjEwMDU4MDAwMEY2RTEyMUQ3OTE0NjAyRDE0NjA1NTI0MDI2MDAzMDI1MQorOjEwMDU5MDAwMEY2RTkwRkFCREUwNzAwNEEzRTA2NDAxNjAwMzAyMEZFNworOjEwMDVBMDAwNkU5MEZBQjlFMDYwMDMwMjBGNkU3ODY3RTY0NDAxRjZEOAorOjEwMDVCMDAwRTRGRjAyMzI2RUU1MzUyMEUxMDYyMEUwMDMwMjBGNkUxMworOjEwMDVDMDAwRTUzNTMwRTAwN0U1NEQ2MDAzMDIwRjZFRTUzNTMwRTFCQgorOjEwMDVEMDAwMEFFNTRERDM5NDAxNDAwMzAyMEY2RUU0RkYwMjMyNkUzMAorOjEwMDVFMDAwOTBGQUJERTA3MDAyQTNFMDYwMDMwMjBGNkU5MEZBQjlDQQorOjEwMDVGMDAwRTBGRjEyMzIzRjQwMDMwMjBGNkVFNTM1MjBFMTA2MjA5NgorOjEwMDYwMDAwRTAwMzAyMEY2RUU1NEQ3MDA5MzAwQTAzMDIxRTE0MDI2QQorOjEwMDYxMDAwMURERkU1MzUyMEUxMDMwMjBGNkUxNTREMzAwQTBCMTI4OAorOjEwMDYyMDAwMUQ1NUY1ODNFMDQ0MDhGMDgwMDkxMjFENjNGNTgzRTA1MQorOjEwMDYzMDAwNDQwOEYwRTRGRjAyMzI2RUU1MzUzMEU3MDMwMjBGNkU0NgorOjEwMDY0MDAwRTUzQzQ1M0I2MDAzMDIwRjZFOTBGQUI5RTA2MDAzMDI5RgorOjEwMDY1MDAwMEY2RTEyMUQ3OTYwMDMwMjBGNkVFNTM1MzBFMTAzMDI2MworOjEwMDY2MDAwMEY2RTkwRkFCRUUwOTBGRkZGRjBFMDYwMDU0MzM1MDFBOQorOjEwMDY3MDAwODAwMzUzMzVGRUU0RkYwMjMyNkVFNTM1MjBFNzAzMDJDNgorOjEwMDY4MDAwMEY2RUU1M0M0NTNCNzAwMzAyMEY2RTEyMUQ3OTYwMDM0RgorOjEwMDY5MDAwMDIwRjZFOTBGQUJERTBGQ0EzRTBGREVDMjRGRTYwM0E5MAorOjEwMDZBMDAwMTQ2MDc1MjQwMjYwMDMwMjBGNkVFRDYwMDMwMjBGNkU4QQorOjEwMDZCMDAwMTIxQ0UwMTIxRTBEN0QwMzEyMEZCNTYwMDMwMjBGNkVCNworOjEwMDZDMDAwMTIwRjcyOTBGQUI2RTBGREEzMTIxRDJCMTIwRkQxNTAzQgorOjEwMDZEMDAwMDI4MDA0QUUzQkFGM0MwMjEwMDIxMjFDRTA5MEY5MTZGRgorOjEwMDZFMDAwRTAzMEU0MEQxMjFFMEQ3RDE0MTIwRkI1NjAxMDAyMEZFNAorOjEwMDZGMDAwNkUxMjFFMEQ3RDA0MTIxMDA5NjAwMzAyMEY2RTEyMEZBMAorOjEwMDcwMDAwNzI5MEZBQjZFMEZEQTMxMjFEMkIxMjBGRDE1MDAyODA5OQorOjEwMDcxMDAwMDRBRTNCQUYzQzAyMTAwMjEyMUUwRDdEMDUxMjEwMDkwMworOjEwMDcyMDAwNjAwMzAyMEY2RTdCMDE3QUZBNzlCNjEyMUQyODdEMDFGMworOjEwMDczMDAwMTIyNjk4OTBGQUI3RTQ3NUYwMDMxMjFCMUM5MEZBQkVDQgorOjEwMDc0MDAwRTA5MEZBQjVGMEU0RjU0QzkwRkFCNUUwRkZFNTRDQzM2MworOjEwMDc1MDAwOUY1MDI0MTIxRDIyMTIxMDE0RkZGRDkwRkFCN0U0OEQ1MQorOjEwMDc2MDAwRjAxMjFCMUM5MEZBQjZFMEMzOUZGMEQzOTQwMDUwMDMyNAorOjEwMDc3MDAwMDIwRjZFMDU0QzgwRDExMjFEMjIxMjEwMTQyNEZFRkZCMAorOjEwMDc4MDAwOTBGQUI2RjBGREEzRTQ3NUYwMDIxMjFCMUM3QUY5NzkxOQorOjEwMDc5MDAwNzI3QjAxOEIzNjhBMzc4OTM4RTkyNDAyRjlFNDNBRkEwOAorOjEwMDdBMDAwMTIxRDI4MTIyNjk4OEY0QzA1NEMwNTRDMTIxQ0MxRTVEMQorOjEwMDdCMDAwNEMxMjFBRTgxMjFDQzE5MDAwMDE3NDAzMTIxQUZBQUYwRAorOjEwMDdDMDAwNEM3RTAwQzNFRjk1M0NFRTk1M0I1MDAyODAwNEFFM0I1RgorOjEwMDdEMDAwQUYzQzhFMzk4RjNBMDIyQ0Q4MDIwRjZFRTUzNTIwRTdGOAorOjEwMDdFMDAwMDMwMjBGNkVFNTNDNjQwMTQ1M0I2MDAzMDIwRjZFOTAwRgorOjEwMDdGMDAwRkFCOUUwNjAwMzAyMEY2RTkwRkFCREUwNzAwMkEzRTA2OAorOjEwMDgwMDAwNjAwMzAyMEY2RTEyMUQ3OTYwMDMwMjBGNkVFNTM1MjA0MgorOjEwMDgxMDAwRTAwNjIwRTEwMzAyMEY2RTc1MzYwMDc1MzcwMDc1Mzg2QgorOjEwMDgyMDAwMzIwMjBGRjFFNTM1MzBFNzAzMDIwRjZFRTUzQzQ1M0I0MAorOjEwMDgzMDAwNjAwMzAyMEY2RTkwRkFCOUUwNjAwMzAyMEY2RUQzOTA2RQorOjEwMDg0MDAwRkFCRUUwOTQwMTkwRkFCREUwOTQwMDQwMDMwMjBGNkVGRQorOjEwMDg1MDAwMTIxRDc5NjAwMzAyMEY2RUU1MzUyMEUwMDYyMEUxMDNFQQorOjEwMDg2MDAwMDIwRjZFOTBGQUJFRTBGNTMyRTUzMjcwMDg0MzM1MDFCMgorOjEwMDg3MDAwNTMzNUZEODAwNjUzMzVGRTQzMzUwMkU0RkYwMjMyNkVFOAorOjEwMDg4MDAwRTUzNTIwRTcwMzAyMEY2RUU1M0M2NDAxNDUzQjYwMDM1QworOjEwMDg5MDAwMDIwRjZFOTBGQUI5RTA2MDAzMDIwRjZFOTBGQUJERTBBRAorOjEwMDhBMDAwNzAwMkEzRTA2MDAzMDIwRjZFMTIxRDc5NjQwMTYwMDMwMQorOjEwMDhCMDAwMDIwRjZFRTUzNTIwRTEwMzAyMEY2RTdGMDEwMjMyNkVGQQorOjEwMDhDMDAwRTUzNTMwRTcwMzAyMEY2RUU1M0M0NTNCNjAwMzAyMEY2MAorOjEwMDhEMDAwNkVEMzkwRkFCRUUwOTQwMDkwRkFCREUwOTQwMDQwMDMxRAorOjEwMDhFMDAwMDIwRjZFMTIxRDc5NjQwMTYwMDMwMjBGNkVFNTM1MjA2MAorOjEwMDhGMDAwRTEwMzAyMEY2RUU0RkYwMjMyNkU5MEZGMDExMjFFMjQyQworOjEwMDkwMDAwRUYxMjFBRTg5MEZBQjkxMjFFMjQ5MDAwMDFFRjEyMUFBMQorOjEwMDkxMDAwRkE5MDAwMDJFNDEyMUFGQTc0MDMxMjFDQjI5MEZBQkRBMworOjEwMDkyMDAwRTBGRkEzRTA4NTM4ODI4NTM3ODNDRkYwQTNFRkYwOTAxNgorOjEwMDkzMDAwRkYwMUUwMTIxQkZDMDk3QjAyMDk5RDA0MDlCRjA1MDlBOAorOjEwMDk0MDAwRUIwNjBBMDkwNzBBMjcwODBBNDUwOTBBNjMwQjBCMTg3MAorOjEwMDk1MDAwODAwREI3ODEwREU4ODIwQjVGODMwQkE4ODQwQkM3ODVFMAorOjEwMDk2MDAwMEMwQzg2MEM1Nzg3MENFODg4MEQ3Mzg5MEE4MTkyMEE1MworOjEwMDk3MDAwODE5MzBEQTBCMDBFOUJDMDBFQzdDMTBFRDhDMjAwMDA1RgorOjEwMDk4MDAwMEY1REU1MzUyMEU3MDU3RjA1MDIzMUE5MTIxRDcxNjA3NQorOjEwMDk5MDAwMDMwNDcwMDlFRkZEN0MwMDdGMDcwMjExNUVFNEZEN0YxOAorOjEwMDlBMDAwMDcwMjJGQjRFNTM1MjBFNzA1N0YwNTAyMzFBOTEyMURBNgorOjEwMDlCMDAwNzE2MDAzMDQ3MDA5RUZGRDdDMDA3RjBDMDIxMTVFRTQ5RQorOjEwMDlDMDAwRkQ3RjA3MDIyRkI0RTUzNTMwRTcwMzAyMEY3MTEyMUVEOQorOjEwMDlEMDAwNDI1MDA2RTUzQzQ1M0I3MDA1N0YwMjAyMzFBOTkwRkE4MgorOjEwMDlFMDAwQjlFMDI0RkUyNEZENTAwMjgwMDMwMjMyMkM3RjA3MDI2RQorOjEwMDlGMDAwMzFBOUU1MzUzMEU3MDMwMjBGNzExMjFENzE2MDAzMDQ2MAorOjEwMEEwMDAwNzAwOUVGRkQ3QzAwN0YwODAyMTE1RTdGMDcwMjMxQTlBQgorOjEwMEExMDAwRTUzNTMwRTcwMzAyMEY3MTEyMUQ3MTYwMDMwNDcwMDlBMAorOjEwMEEyMDAwRUZGRDdDMDA3RjA5MDIxMTVFN0YwNzAyMzFBOUU1MzVFOQorOjEwMEEzMDAwMzBFNzAzMDIwRjcxMTIxRDcxNjAwMzA0NzAwOUVGRkRBRQorOjEwMEE0MDAwN0MwMDdGMEEwMjExNUU3RjA3MDIzMUE5RTUzNTMwRTc5RAorOjEwMEE1MDAwMDMwMjBGNzExMjFENzE2MDAzMDQ3MDA5RUZGRDdDMDAyOQorOjEwMEE2MDAwN0YwQjAyMTE1RTdGMDcwMjMxQTlFNTM1MzBFNzAzMDJGMworOjEwMEE3MDAwMEY3MTEyMUQ3MTYwMDMwNDcwMDlFRkZEN0MwMDdGMEU4MQorOjEwMEE4MDAwMDIxMTVFN0YwNzAyMzFBOUU1MzUzMEU3NTYxMjFENzk2NAorOjEwMEE5MDAwNzA0QTkwRkYwMkUwRjU0Q0U1NENCNDgyMDU3NTRDNjE1QworOjEwMEFBMDAwODAxMkU1NENCNDgzMDU3NTRDNjI4MDA4RTU0Q0M0NTQ1MworOjEwMEFCMDAwRjAwNEY1NEMxMjFDMjIxMjFFM0IxMjI1RkExMjFEODk1RAorOjEwMEFDMDAwMTIxQUJCNjAwNTEyMzI3QTgwMDY4NTMzMzk4NTM0M0FCMgorOjEwMEFEMDAwNzUzNjAxNzUzN0Y5NzUzODc1MDIyQ0Q4RTRGRDdGMDUzOAorOjEwMEFFMDAwMDIyRkI0MTIxRDc5NjAwNTdGMDUwMjMxQTkxMjFFNDI0MgorOjEwMEFGMDAwNDAwNTdGMDMwMjMxQTk5MEZGMDJFMEY1NENFNTRDQjRCQworOjEwMEIwMDAwODIwNTc1NEM2MTgwMTJFNTRDQjQ4MzA1NzU0QzYyODA5QQorOjEwMEIxMDAwMDhFNTRDQzQ1NEYwMDRGNTRDMTIxQzIyMDIzMjJDMTI4RAorOjEwMEIyMDAwMUU0QzEyMkFDNzEyMUQzM0UwNTQ3RkYwMDAwMDAwRTA3MworOjEwMEIzMDAwOTBGQUJBRjA3ODY4MTIxQkQ4OTAwMDAyMTIxQUJCMzBGMworOjEwMEI0MDAwRTdGMjkwMDAwMkU0MTIxQUZBOTBGQUJBRTA0NDgwRkY0OQorOjEwMEI1MDAwRjA3ODdDRTZGQzA4RTY4QzgzMTIxRDNCRUZGMDEyMzI0NQorOjEwMEI2MDAwODRFNEZGMDIzMUE5OTBGQUI5RTA2NDAxNzAxRjkwRkFBMQorOjEwMEI3MDAwQkRFMEZGN0UwMDcwMDZBM0UwRjU5MDgwMkRDMkFGRUZEMAorOjEwMEI4MDAwRjQ1MjkwOTBGQUJFRTA0MjkwRDJBRjgwMUQ5MEZBQkQzMAorOjEwMEI5MDAwRTBGRjdFMDA3MDA2QTNFMEY1QjA4MDBFQzJBRkVGRjQ3OAorOjEwMEJBMDAwNTJCMDkwRkFCRUUwNDJCMEQyQUZFNEZGMDIzMUE5MTJENworOjEwMEJCMDAwMUNFMDkwRkFCOUUwQjQwMTBBMTIxQ0MxRTU5MDEyMUFDNworOjEwMEJDMDAwRTg4MDA4MTIxQ0MxRTVCMDEyMUFFODAyMEZGMTkwRkE5MQorOjEwMEJEMDAwQjlFMEZGMjQxMzEyMUNGMTIwRTEzMzEyMUQ4MEVGMjQzMQorOjEwMEJFMDAwRkM2MDE4MDQ3MDI4OTBGQUJBRTA2MDA5OTBGRkE0RTA1NQorOjEwMEJGMDAwNDQxMEYwODAxOTEyMUU1NkYwODAxMzkwRkFCQUUwNjA4QgorOjEwMEMwMDAwMDk5MEZGQjRFMDQ0MTBGMDgwMDQxMjFFNURGMEU0RkY5MAorOjEwMEMxMDAwMDIzMUE5OTBGQUI5RTBGRjI0MTMxMjFDRjEyMEUxMzk0NgorOjEwMEMyMDAwMTIxRDgwRUYyNEZDNjAxQjA0NzAyRTkwRkFCQUUwNjA2NQorOjEwMEMzMDAwMDk5MEZGQTRFMDQ0MjBGMDgwMUY5MEZGQTRFMDU0REY1RgorOjEwMEM0MDAwRjA4MDE2OTBGQUJBRTA2MDA5OTBGRkI0RTA0NDIwRjAxQQorOjEwMEM1MDAwODAwNzkwRkZCNEUwNTRERkYwRTRGRjAyMzFBOTEyMUREOQorOjEwMEM2MDAwODAxMjFENzE2MDREMDQ2MDAzMDIwQ0UzOTBGQUJBRTAzQgorOjEwMEM3MDAwNjAwRjkwRkZBNDEyMUNFQTMwRTE2RjEyMUUyQzAyMENEMAorOjEwMEM4MDAwRTM5MEZGQTRFMDU0RkIxMjFDRURGRTMwRTE1QzMwRTI4NworOjEwMEM5MDAwMTEzMEI0MDUxMjFFMkM4MDUxOTBGRkE0RTA1NEZERjBEOQorOjEwMENBMDAwODA0ODMwOTUwNTEyMUUyQzgwNDA5MEZGQTRFMDU0RkQzMgorOjEwMENCMDAwRjA4MDM3OTBGQUJBRTA2MDEyOTBGRkI0MTIxQ0VBMzA2QworOjEwMENDMDAwRTEyODkwRkZCNEUwNDQwMkYwODAxRjkwRkZCNEUwNTRBQworOjEwMENEMDAwRkIxMjFDRUQzMEUxMTMzMDkzMDk5MEZGQjRFMDQ0MDJBNQorOjEwMENFMDAwRjA4MDA3OTBGRkI0RTA1NEZERjBFNEZGMDIzMUE5MTI1OAorOjEwMENGMDAwMUQ4MDkwRkFCOUUwMjRGQzYwNDAwNDcwNzg5MEZBQkE0NAorOjEwMEQwMDAwRTA2MDFEOTBGRkEyRTA0NDQwRjBBM0UwRkYzMEU3NjUwMworOjEwMEQxMDAwRDIwM0EzRTA1NERGRjA5MEZGQTNFRjU0N0ZGMDgwNTU5RgorOjEwMEQyMDAwMzAwMzBFOTBGRkEzRTA0NDgwRjBDMjAzQTNFMDQ0MjAxMAorOjEwMEQzMDAwRjA5MEZGQTJFMDU0QkZGMDgwM0I5MEZBQkFFMDYwMUQ1MworOjEwMEQ0MDAwOTBGRkIyRTA0NDQwRjBBM0UwRkYzMEU3MjhEMjA0QTNENAorOjEwMEQ1MDAwRTA1NERGRjA5MEZGQjNFRjU0N0ZGMDgwMTgzMDA0MEVDMgorOjEwMEQ2MDAwOTBGRkIzRTA0NDgwRjBDMjA0QTNFMDQ0MjBGMDkwRkY4MQorOjEwMEQ3MDAwQjJFMDU0QkZGMEU0RkYwMjMxQTkxMjFDRTA5MEZBQjlDRQorOjEwMEQ4MDAwRTAyNEZDNjAwRjA0NzAxNjkwRkZBNkUwMTIxQ0MxMTI1NAorOjEwMEQ5MDAwMUFFODgwMEE5MEZGQjZFMDEyMUNDMTEyMUFFODc1MzlGMQorOjEwMERBMDAwMDA3NTNBMDEwMjJDRDg5MEY5MTU3NDAxRjA5MEY5MUNFNQorOjEwMERCMDAwNzQxOUYwOTBGOTY2NzRGRkYwRTRGRjAyMzFBOUU0RkZDMgorOjEwMERDMDAwMTIzMUE5MTIxREU3N0YwMzEyMTI2MTkwRjkxNkUwMzA2QgorOjEwMEREMDAwRTQwODkwRkY5Mzc0ODBGMDgwMTA5MEZGRkNFMDU0N0Y1MworOjEwMERFMDAwRjA3RkZGN0UwMDEyMzBEM0MyOTBDMkFGMDA4MEZERTRERQorOjEwMERGMDAwRjU0RUY1NEY5MEZBQkY3NDNFRjBBM0U0RjA5MEZBQjdDOQorOjEwMEUwMDAwRjBBMzc0MTVGMEUwNTQzRkZGQzM3NDQwOUY5MEZBQkMwOAorOjEwMEUxMDAwRjBEMzk0MDBFNDk0M0U0MDA4OTBGQUMwRTA5MEZBQkMwRAorOjEwMEUyMDAwRjAxMjBGOThFNTMxNDUzMDcwNzMxMjFDRkE5MEZBQkYzQQorOjEwMEUzMDAwMTIxRTA2NjAyN0QzRUY5NDQwRUU5NDAwNDAwODkwRkEwQgorOjEwMEU0MDAwQkM3NDQwRjA4MDA4OTBGQUMwRTA5MEZBQkNGMDEyMEYzOQorOjEwMEU1MDAwOThFNTMxNDUzMDcwNDYxMjFDRkE4MEQxNzU0QzAyOTBFRAorOjEwMEU2MDAwRkFCRkU0RjBBMzA0RjA5MEZBQjdFNEYwQTM3NDBGRjAzMworOjEwMEU3MDAwN0IwMDdBMDA3OTRDOTBGQUMwRTBGNTRBN0QwRjdDMDA0NworOjEwMEU4MDAwMTIyOTYwNzUzMDAwOEYzMTdCMDA3QTAwNzk0Q0U0RjVDRgorOjEwMEU5MDAwMkRGNTJFN0QwMTEyMjY5OEU0RjUzMEY1MzFBRjMxMDJBMworOjEwMEVBMDAwMzFBOTEyMUQ4MDMwRTcxMEUwNTQwRjkwRjk2N0YwRDM5QworOjEwMEVCMDAwOTQwMDQwMTVDMjk1ODAxMTkwRkFCQUUwNTQwRjkwRjk1MQorOjEwMEVDMDAwNjVGMEQzOTQwMDQwMDJDMjk0RTRGRjAyMzFBOTEyMUVERgorOjEwMEVEMDAwNENCRjAxMDREMjkzODAwMkMyOTNFNEZGMDIzMUE5MTJGNQorOjEwMEVFMDAwMUQ4MDU0MDMxNDYwMEExNDYwMEYxNDYwMDgyNDAzNzBGQQorOjEwMEVGMDAwMkJEMjkxODAyN0MyOTE4MDIzMTIxRTU2MTIwRkMwNjAwMAorOjEwMEYwMDAwMDREMjkxODAxNzkwRkZBNEUwNDQxMDEyMEZDMEZGQkZERAorOjEwMEYxMDAwQTAwNEMyOTE4MDAyRDI5MTEyMUU1NkYwOTBGQUJBRTA1QgorOjEwMEYyMDAwNTQwQ0ZGMTMxMzU0M0YxNDYwMEExNDYwMEYxNDYwMDgyQworOjEwMEYzMDAwMjQwMzcwMkJEMjkyODAyN0MyOTI4MDIzMTIxRTVEMTI0RQorOjEwMEY0MDAwMEZFMDYwMDREMjkyODAxNzkwRkZCNEUwNDQxMDEyMEZCQgorOjEwMEY1MDAwRTBGRkJGQTAwNEMyOTI4MDAyRDI5MjEyMUU1REYwRTRCNAorOjEwMEY2MDAwRkYwMjMxQTlFNTM1MzBFNzA3RTRGRDdGMDUwMjJGQjQyNAorOjEwMEY3MDAwN0YwNTAyMzFBOTEyMzI3QTIyN0IwMTdBRkE3OUI2OTA4MgorOjEwMEY4MDAwRkFCN0UwRjUyREEzRTBGNTJFN0QwMTEyMjY5ODkwRkEzMAorOjEwMEY5MDAwQjdFNDc1RjAwMzEyMUIxQ0FCMzZBQTM3QTkzODIyQUE5NgorOjEwMEZBMDAwNEVBOTRGN0JGRjkwRkFCN0UwRkNBM0UwRkQ5MEZBQkM5RQorOjEwMEZCMDAwRTBGNTRBMTIyOTYwNzUzMDAwOEYzMTIyMTIyMzYxN0VEQworOjEwMEZDMDAwMDA4RTMwOEYzMUVGMjJGMDdGMDExMjEyNjE5MEZGQTY2OAorOjEwMEZEMDAwRTA5MEZBQkJGMDU0QTAyMjEyMjY5ODhGNEM3RTAwQzNGQQorOjEwMEZFMDAwRUY5NTNDRUU5NTNCMjJGMDdGMDExMjEyNjE5MEZGQjYyNworOjEwMEZGMDAwRTA5MEZBQkJGMDU0QTAyMjc1MzkwMDc1M0EwMTAyMkMzQQorOjEwMTAwMDAwRDg5MEZBQjlFMEZGMDIzMjNGOEUzOThGM0EwMjJDRDhERAorOjEwMTAxMDAwMTIyMzYxN0UwMDhFMzA4RjMxRUYyMjdEMDExMjI2OThERgorOjEwMTAyMDAwOTBGQUI0RTAyMkVGOTBGODA0RjAyMkMwQThDMkFGRUUyQworOjEwMTAzMDAwNjAwQUMwMDU3RDdGRERGRURFRkFEMDA1RUZDMzk0MTVBMgorOjEwMTA0MDAwNTAwM0QwQTgyMjEzNzAwM0QwQTgyMkZGRDUwN0ZERDBFQgorOjEwMTA1MDAwQTgyMkMwMDBDMDAxQzAwMkMwMDRDMDA1RTUzRTI0MDhBQgorOjEwMTA2MDAwRjg4NjA1NTMwNTdGN0NGRjEyMTBDMDdGMDA3RTAwRTVFNworOjEwMTA3MDAwNDM2MDQ2RkM5MEY5MURFMDU0N0Y2RDcwMEZDMDgzQzA0MworOjEwMTA4MDAwODJBM0UwRkVBM0UwRkZBMzE1NDM4MDA3QTNBM0EzREM5NAorOjEwMTA5MDAwRTY4MDI2REMwNkQwODJEMDgzODAxRUUwRjhBM0UwRjk0QgorOjEwMTBBMDAwQTNFMEZBRDA4MkQwODNFOEYwQTNFOUYwQTNFQUYwQTNBQQorOjEwMTBCMDAwQzA4M0MwODJBM0EzQTM4MERBMTIxMTU3RDAwNUQwMDQ0NQorOjEwMTBDMDAwRDAwMkQwMDFEMDAwMjI4NUE4NDQ3NUE4ODhFQzcwMDIxNworOjEwMTBEMDAwN0MzRjhDM0QyMkU1M0UyNDA4Rjg3NjAwMTIxMUFFODA1QworOjEwMTBFMDAwRkJDMDAwQzAwMUMwMDJDMDA0QzAwNjdDRkYxMjEwQzBEQgorOjEwMTBGMDAwRTU0MzYwNDJGRTkwRjkxREUwNTQ3RjZGNzAwQkMwODNBMgorOjEwMTEwMDAwQzA4MkEzQTNBMzE1NDM4MDA3QTNBM0EzREVFQTgwMjY3RQorOjEwMTExMDAwREUwNkQwODJEMDgzODBEOEUwRjhBM0UwRjlBM0UwRkExRAorOjEwMTEyMDAwRDA4MkQwODNFOEYwQTNFOUYwQTNFQUYwQTNDMDgzQzBBMworOjEwMTEzMDAwODJBM0EzQTM4MERBNzgwODA4NzkxODA5N0MwMUU2NTQxMQorOjEwMTE0MDAwN0Y2RjcwMDY3NjAwNzcwMDgwMDYwODA5MENCQzA4RUVGOQorOjEwMTE1MDAwMTIxMTU3RDAwNkQwMDREMDAyRDAwMUQwMDAyMjc1M0QyNAorOjEwMTE2MDAwMDA4NTQ0QTgyMkMwRjBDMDgyQzA4M0MzRTU0MzI0RThDMAorOjEwMTE3MDAwNTAwNTEyMTFBRTgwRjRFRjYwMzE5MDMxMTFFNDkzQzM0OQorOjEwMTE4MDAwOUY0MDJGQzAwNDdDRkYxMjEwQzBEMDA0NDMwNzgwRTVBRAorOjEwMTE5MDAwNDM3NUYwMDNBNDI0MURGNTgyRTQzNEY5RjU4M0VGRjBFMAorOjEwMTFBMDAwRUNBM0YwRURBM0YwMDU0MzEyMTE1N0QwODNEMDgyRDAwOQorOjEwMTFCMDAwRjAyMjAyMTFEQ0MwMDQ3QzIwRDI4Q0QyOERENTA0RkQzQgorOjEwMTFDMDAwRDAwNDIyNzVBODAwNzU4ODAwNzVCODAwNzVGMDAwNzUwOAorOjEwMTFEMDAwRDAwMEU0Rjg5MEY4MDRGMDkwMDAwMEY2MDhCODAwRkJBNgorOjEwMTFFMDAwMDIwMDAwQzJBRkU0OTBGRjQ4RjA5MEZGNTBGMDkwRkY4MworOjEwMTFGMDAwMDhGMDkwRkYxMEYwOTBGRjgwRjBBM0EzRjBEMkIxQzJFRQorOjEwMTIwMDAwQjA3RUZGN0ZGRjEyMTAyNDdFRkY3RkZGMTIxMDI0N0UyRQorOjEwMTIxMDAwRkY3RkZGMTIxMDI0RDJCMEQyQjE3RUZGN0ZGRjEyMTBFOQorOjEwMTIyMDAwMjQ3RUZGN0ZGRjEyMTAyNDdFRkY3RkZGMTIxMDI0ODA5OAorOjEwMTIzMDAwQ0NDM0VFOTQwMjUwMDQ3RTAzN0ZFOEVGRjRGRkVFRjQ5QgorOjEwMTI0MDAwRkUwRkJGMDAwMTBFOEY0MjhFNDEyMkMzRUY5NEJDRUUxMQorOjEwMTI1MDAwOTQwMjUwMDQ3RTA3N0ZEMEVGRjRGRkVFRjRGRTBGQkY0MAorOjEwMTI2MDAwMDAwMTBFOEY0MDhFM0YyMkVGNzAwMTIyQzAwMEMwQTgwNworOjEwMTI3MDAwQzJBRkU1M0UyNDE4RjhBNjA3RTUzRTI0MDhGOEM2NTQ5OAorOjEwMTI4MDAwN0ZGNkQwQThFNjMwRTcwM0QwMDAyMjEyMTFBRTgwRjQzQQorOjEwMTI5MDAwQzAwMDdGMDFFRjI0MDhGOEU2NjAwOTBGQkYwOEY1MTJDRgorOjEwMTJBMDAwMTFBRTgwRUVEMDAwMjJDMEYwQzA4MkMwODNDMDAwQzA2QQorOjEwMTJCMDAwMDZDMDA0RUQyNDEwRjg3NjlBRUQ3NUYwMjFBNDI0MDVGQgorOjEwMTJDMDAwRjU4MkU0MzRGOEY1ODNDMDgyQzA4M0EzQTNFNDc4MERFQgorOjEwMTJEMDAwRjBBM0Q4RkNFRjU0N0Y3NUYwMDJBNDI0RjNGNTgyRTU2NworOjEwMTJFMDAwRjAzNDMwRjU4M0U0OTNGRTc0MDE5M0ZDRDA4M0QwODIxNAorOjEwMTJGMDAwRUNGMEEzRUVGMEVEMjQwOEY4RUY0NDgwRjZEMDA0RDAzMworOjEwMTMwMDAwMDZEMDAwRDA4M0QwODJEMEYwMjI3NTNFMDA3NTQzMDAxNQorOjEwMTMxMDAwN0EwODc5MTg3ODA4NzYwMDc3MDAwODA5REFGODkwRjhFMgorOjEwMTMyMDAwMDRFMEZDOTAzMTExRTQ5M0MzOUM1MDA1RTQ5MEY4MDQ3MAorOjEwMTMzMDAwRjA3ODA4NzQ4MDQ0N0ZGNjc0MDE0NDEwRjU4OTc1QjgxQworOjEwMTM0MDAwMDBEMkFCRDJBOTIyNzU4MThCRDI4RUQyOENEMkFGRTVERQorOjEwMTM1MDAwNDM2MDM2RkY5MEY5MURFMDU0ODA2MDI4NzgwODc5MDhEMgorOjEwMTM2MDAwRTA1NDdGRkE3QjAwRTY1NDdGQjUwMjAyN0JGRjA4RDk4OAorOjEwMTM3MDAwRjVFQjcwMTBFQUYwQzAwNzEyMTI4OUFEMDdBRjAyMTI0OAorOjEwMTM4MDAwMTJBMEQwMDdBM0EzQTNERkNFMTIxMUFFODBDMThGMjQ3OQorOjEwMTM5MDAwMTIyQUM3MTIyMkI1QTNBM0UwQTMzMEU3Mjg3ODdFMTI1MQorOjEwMTNBMDAwMjI5OUUwNDQwMUYwMTIyMkZBMTIyMjlERTAyMEUwRjY5OAorOjEwMTNCMDAwMTIyMzUwNzQwMkYwMTIyMkRBRTBBMzMwRTUwNzEyMjM2MAorOjEwMTNDMDAwNTBFMDQ0MDFGMDc4ODBFNkZFMDhFNkZGOEU4MzI0MDhCMgorOjEwMTNEMDAwMTIyMkExRTBGRDEyMjMzOThBODMyNDBBMTIyMkExRURGMAorOjEwMTNFMDAwRjAxMjIzMDYyNDA3MTIyMkExRTBGRjEyMjM1QTI0MDkzNworOjEwMTNGMDAwMTIyMkExRUZGMDkwRjkxNkUwMzBFNDIwMDgxMjIyQjc5MworOjEwMTQwMDAwQzA4M0MwODJBM0UwMjVFMEZGMDU4MkQ1ODIwMjE1ODM1OAorOjEwMTQxMDAwMTU4MkUwMzNEMDgyRDA4M0YwQTNFRkYwMTIyMkI1RTA0MgorOjEwMTQyMDAwRkNBM0UwRkRFQ0ZGMTIyMzM5OEE4MzI0MDgxMjIyQTFEOQorOjEwMTQzMDAwRUZGMEVEMTIyMzVBMjQwNzEyMjJBMUVERjAxMjIyQTk5NworOjEwMTQ0MDAwRTAzMEU2MEExMjIzNDEyNDA5MTIyMkExRTRGMDEyMjIxQworOjEwMTQ1MDAwQTlFMEZGMzBFNzFCMTIyMzFFMjQwOTEyMjJBMUUwNjAzRAorOjEwMTQ2MDAwMDkxMjIyQTlFRjQ0MDJGMDgwMDcxMjIyQTlFRjU0RkRDRAorOjEwMTQ3MDAwRjA3ODdFMTIyMkI3QTNBM0UwRkY1MzA3QzcwOEU2RkM2QgorOjEwMTQ4MDAwMDhFNkZEMTIyMkUwQTNFMDMwRTMxMjhEODI4QzgzRTVCMgorOjEwMTQ5MDAwODIyNDA1MTIyMkExRTA5MDMyNTE5MzQyMDc1MzA3RkJBOAorOjEwMTRBMDAwMTIyMzFFMjQwNjEyMjJBMUUwNjAwMzQzMDcwNDUzMDdGRgorOjEwMTRCMDAwRkM3ODgwMTIyMzI5MjQwNDEyMjJBMUUwNDIwNzQzMDc2QQorOjEwMTRDMDAwODAxMjIzMzlGNTgyOEE4M0EzQTNFRkYwMTIyMzVBMjREMgorOjEwMTREMDAwMDQxMjIyQTFFMEZGOEQ4MjhDODNBM0EzRTBGQ0EzRTA5MQorOjEwMTRFMDAwRkQzMEUxMDU1MzA3REY4MDAzNDMwNzIwRUMzMEU0MDVCRQorOjEwMTRGMDAwNTMwN0VGODAwMzQzMDcxMDEyMjJBOUUwRkU1NDAzNjA1NAorOjEwMTUwMDAwNzM1MzA3REZFRTMwRTE2OTEyMjMxRTI0MDkxMjIyQTE3MgorOjEwMTUxMDAwRTAxMjFCRkMxNTJDMDAxNTYwMDExNTY1MDMxNTYwMDUxNAorOjEwMTUyMDAwMTU2NTA3MTU2MDA5MTU2NTBCMTU2MDBEMTU2NTBGMDAyQworOjEwMTUzMDAwMDAxNTZERTUyNDY0MDM3MDIxOTBGOTE2RTAzMEUyMEQ4QQorOjEwMTU0MDAwMzBCNDA1NDMwNzAyODAyQzUzMDdGRDgwMjczMDk1MDVGMgorOjEwMTU1MDAwNDMwNzAyODAxRjUzMDdGRDgwMUEzMDkzMDU0MzA3MDI5QgorOjEwMTU2MDAwODAxMjUzMDdGRDgwMEQ0MzA3MDI4MDA4NTMwN0ZEODA1QQorOjEwMTU3MDAwMDM1MzA3RkQxMjIzMjcyNDA0MTIyMkExRUZGMDhEODJDQQorOjEwMTU4MDAwOEM4M0EzQTNBM0UwRkYxMjIyQTlFMEZFNTQwMzcwMDNGRgorOjEwMTU5MDAwMDIxNjYwRUUyMEUxMDMwMjE2NUQwODEyMjMyMDI0MDlFMgorOjEwMTVBMDAwMTIyMkExRTAxMjFCRkMxNUJGMDAxNUY1MDExNUY1MDM3MQorOjEwMTVCMDAwMTYyOTA1MTYyOTA3MTYwRjA5MTYwRjBCMTY0MzBEMTZDNworOjEwMTVDMDAwNDMwRjAwMDAxNjYwRTUyNDY0MDM3MDIzOTBGOTE2RTBEMQorOjEwMTVEMDAwMzBFMjBGMzBCMTA2NTMwNzdGMDIxNjYwNDMwNzgwMDJFNgorOjEwMTVFMDAwMTY2MDMwOTQwNTUzMDc3RjgwN0Q0MzA3ODA4MDc4MzBGNAorOjEwMTVGMDAwOTIwNTUzMDc3RjgwNzA0MzA3ODA4MDZCRTUyNEI0MDMxNgorOjEwMTYwMDAwMDk5MEZGOUVFMDU0RUZGMDgwMDc5MEZGOUVFMDU0REZDQQorOjEwMTYxMDAwRjA1MzA3N0Y4MDUxRTUyNEI0MDMwOTkwRkY5RUUwNDQxNgorOjEwMTYyMDAwMTBGMDgwMDc5MEZGOUVFMDQ0MjBGMDUzMDc3RjgwMzc0MgorOjEwMTYzMDAwRTUyNEI0MDMwOTkwRkY5RUUwNTRFRkYwODAwNzkwRkY4QgorOjEwMTY0MDAwOUVFMDU0REZGMDQzMDc4MDgwMURFNTI0QjQwMzA5OTAzOQorOjEwMTY1MDAwRkY5RUUwNDQxMEYwODAwNzkwRkY5RUUwNDQyMEYwNDM5RQorOjEwMTY2MDAwMDc4MDgwMDM1MzA3N0YxMjIyREFFMEZDQTNFMEZEMzBGRAorOjEwMTY3MDAwRTAwNTQzMDcyMDgwMDM1MzA3REZFQzMwRTMwNTQzMDcxMQorOjEwMTY4MDAwNDA4MDAzNTMwN0JGRUMzMEUwMDU0MzA3MTA4MDAzNTM0RAorOjEwMTY5MDAwMDdFRkVEMzBFNDA1NDMwNzA4ODAwMzUzMDdGN0VEMzAwQgorOjEwMTZBMDAwRTUwNTQzMDcwNDgwMDM1MzA3RkJFRDMwRTYwNTQzMDdEOAorOjEwMTZCMDAwMDE4MDAzNTMwN0ZFRUQzMEU3MDU0MzA3MDI4MDAzNTMyMworOjEwMTZDMDAwMDdGRDc4N0UxMjIyRENBM0VGRjAxMjMyODQ3RjAwMjIyNQorOjEwMTZEMDAwOTBGRkZBNzQwOEYwQTM3NDE2RjA5MEZGRjk3NDAyRjAwQQorOjEwMTZFMDAwN0IwMTdBRkE3OUNGRTRGRDEyMjM2MTkwRkFDRkU0NzU5OQorOjEwMTZGMDAwRjAwMzEyMUIxQzEyMTk5MkU1MjMzMEU3MDJEMjAyN0I4MQorOjEwMTcwMDAwMDA3QTAwNzkyNDkwRkFDRkUwRjUyREEzRTBGNTJFN0Q0NAorOjEwMTcxMDAwMDExMjI2OTg5MEZBQ0ZFNEYwQTM3NDBCRjA3QjAwN0FDNAorOjEwMTcyMDAwMDA3OTIzNzUyRDAwRjUyRTdEMDExMjI2OThFNTIzMjRERQorOjEwMTczMDAwODA5MEZGRjhGMEU1MjM2NDA3NjAxRUU1MjM2NDA2NjBFRgorOjEwMTc0MDAwMThFNTIzNjQxNDYwMTJFNTIzNjQ0MTYwMENFNTIzNjQwQQorOjEwMTc1MDAwMUE3MDQ2RTUyNDY0MDI3MDQwRTUyM0I0MDcxNkQyOTQ1QgorOjEwMTc2MDAwRDI5NUQyOTJEMjkzOTBGOTE2RTA0NDAyRjBBM0UwNDRDRAorOjEwMTc3MDAwMDJGMDgwMUVFNTIzQjQ0MTEyOTBGOTE2RTA0NDA2RjAxMQorOjEwMTc4MDAwQTNFMDQ0MDZGMEQyQjFEMkI0ODAwNzkwRjkxNkUwNDQ0OQorOjEwMTc5MDAwMDFGMDkwRjkxN0UwNDQwMUYwRTUyMzY0NDI2MDBDRTVBNAorOjEwMTdBMDAwMjM2NDQzNjAwNkU1MjM2NDQ0NzAyRTkwRjkxNkUwRkYzRAorOjEwMTdCMDAwRTUyM0I0NDQwNDdFNDA4MDAyN0UwMEVFMjQ4MDRGOTBGNgorOjEwMTdDMDAwRjkxNkYwQTNFMEZGRTUyM0I0NDQwNDdFNDA4MDAyN0VENgorOjEwMTdEMDAwMDBFRTI0ODA0RjkwRjkxN0YwOTBGQUNGRTRGMEEzNzQ1NAorOjEwMTdFMDAwMERGMDEyMTk5MjkwRkZGNUU1MjNGMEU0RjUzNUY1MzM4RAorOjEwMTdGMDAwRjUzNEY1MzIxMjFFMzQxMjFDRTAxMjFFM0I5MEY5NkFDOQorOjEwMTgwMDAwMTIxQkYzOTBGOTZGMTIxQkYzOTBGRkZGRTRGMDkwRkZBRgorOjEwMTgxMDAwODNFMEU0RjA5MEZGODE3NDgwRjBBMzc0ODRGMDkwRkY4MworOjEwMTgyMDAwODBGMEU0RjUyM0U1MjMxMjFENTdGNTgzRTRGMEU1MjM2QQorOjEwMTgzMDAwMTIxRDY1RjU4M0U0RjAwNTIzRTUyM0I0MDdFNzc4N0EwNAorOjEwMTg0MDAwNzZGRTA4NzZGMDkwMzIwQUU0OTNGRjc4NzhGNkZEQURFNAorOjEwMTg1MDAwMDc5MDMyMTdFNDkzRkYwOEY2RkZFRDU0MEZGRDEyMURCOQorOjEwMTg2MDAwNDc3NDg0RjBFRDc1RjAwOEE0MjQ0N0Y1ODJFNDM0RkY1MgorOjEwMTg3MDAwRjU4M0VGRjBDMzc0RjA5Rjc4N0JGNjc0RkU5NDAwMTg0NAorOjEwMTg4MDAwMTIxQ0Q4Q0VDMzEzQ0UxM0Q4RjlGRkVEMTIxREE4RUY0QQorOjEwMTg5MDAwRjBFRDEyMURDRUU0RjUyM0U1MjM5MDMyMDQ5M0ZGNzg5QQorOjEwMThBMDAwNzhGNkZERTUyMzI1RTAyNDBCRjU4MkU0MzQzMkY1ODM1OAorOjEwMThCMDAwRTQ5MzA4RjZFRDMwRTc1MzE4RTY1NDBGRjkxMjFENDc4QworOjEwMThDMDAwMTIxREI2MjQ0N0Y1ODJFNDM0RkYxMjFDQzhDRUMzMTNBMAorOjEwMThEMDAwQ0UxM0Q4RjlGRkU5MTIxREE4RUZGMDEyMUNDRkNFQzMyQQorOjEwMThFMDAwMTNDRTEzRDhGOTEyMURCQjI0NDVGNTgyRTQzNEZGRjU1RAorOjEwMThGMDAwODNFRkYwRTkxMjFEQ0VFOTc1RjAwOEE0MjQ0NkY1ODJDNQorOjEwMTkwMDAwRTQzNEZGRjU4Mzc0ODBGMDAyMTk2Nzc4NzhFNjU0MEZBOQorOjEwMTkxMDAwRjkxMjFEOUExMjFEQjYyNDA3RjU4MkU0MzRGRjEyMUMzOQorOjEwMTkyMDAwQzhDRUMzMTNDRTEzRDhGOTEyMURCQjI0MDFGNTgyRTQyRgorOjEwMTkzMDAwMzRGRkY1ODNFRkYwMTIxQ0NGQ0VDMzEzQ0UxM0Q4RjlDQQorOjEwMTk0MDAwMTIxREJCMjQwNUY1ODJFNDM0RkZGNTgzRUZGMEU5NzU0MQorOjEwMTk1MDAwRjAwOEE0MjQwMkY1ODJFNDM0RkZGNTgzRTRGMEU5NzU4RAorOjEwMTk2MDAwRjAwOEE0MjQwNkY1ODJFNDM0RkZGNTgzRTRGMDA1MjNBRgorOjEwMTk3MDAwRTUyMzY0MDQ2MDAzMDIxODkxOTAzMjA5RTQ5M0ZGNzgzMAorOjEwMTk4MDAwNzhGNjEyMUQ5OEU0RjA5MDMyMDg5M0ZGRjYxMjFENDU4OAorOjEwMTk5MDAwRTRGMDkwRkZGRDc0MDVGMDIyN0IwMDdBMDA3OTIzOTAzQgorOjEwMTlBMDAwRkFDRkU0NzVGMDAxMTIxQjMyODVGMDJFRjUyRDdEMDE4MgorOjEwMTlCMDAwMDIyNjk4RTcwOUY2MDhERkZBODA0NkU3MDlGMjA4REYxMQorOjEwMTlDMDAwRkE4MDNFODg4MjhDODNFNzA5RjBBM0RGRkE4MDMyRTM1NQorOjEwMTlEMDAwMDlGNjA4REZGQTgwNzhFMzA5RjIwOERGRkE4MDcwODhGOAorOjEwMTlFMDAwODI4QzgzRTMwOUYwQTNERkZBODA2NDg5ODI4QTgzRTAzMgorOjEwMTlGMDAwQTNGNjA4REZGQTgwNTg4OTgyOEE4M0UwQTNGMjA4REYyMQorOjEwMUEwMDAwRkE4MDRDODBEMjgwRkE4MEM2ODBENDgwNjk4MEYyODBDRgorOjEwMUExMDAwMzM4MDEwODBBNjgwRUE4MDlBODBBODgwREE4MEUyODBGNQorOjEwMUEyMDAwQ0E4MDMzODk4MjhBODNFQ0ZBRTQ5M0EzQzhDNTgyQzg0QQorOjEwMUEzMDAwQ0NDNTgzQ0NGMEEzQzhDNTgyQzhDQ0M1ODNDQ0RGRTlCNAorOjEwMUE0MDAwREVFNzgwMEQ4OTgyOEE4M0U0OTNBM0Y2MDhERkY5RUM1MAorOjEwMUE1MDAwRkFBOUYwRURGQjIyODk4MjhBODNFQ0ZBRTBBM0M4QzVEQgorOjEwMUE2MDAwODJDOENDQzU4M0NDRjBBM0M4QzU4MkM4Q0NDNTgzQ0MwMgorOjEwMUE3MDAwREZFQURFRTg4MERCODk4MjhBODNFNDkzQTNGMjA4REY3MQorOjEwMUE4MDAwRjk4MENDODhGMEVGNjAwMTBFNEU2MEMzODhGMEVEMjQ0MQorOjEwMUE5MDAwMDJCNDA0MDA1MEI5RjU4MkVCMjQwMkI0MDQwMDUwQUY0NAorOjEwMUFBMDAwMjMyMzQ1ODIyMzkwMTlGQzczQkIwMTA2ODk4MjhBODMxNAorOjEwMUFCMDAwRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQwRAorOjEwMUFDMDAwOTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTA5OAorOjEwMUFEMDAwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhCNworOjEwMUFFMDAwRTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkI3RAorOjEwMUFGMDAwMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjM5RAorOjEwMUIwMDAwMjJGOEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzRThFOQorOjEwMUIxMDAwRjAyMjUwMDZFOTI1ODJDOEY2MjJCQkZFMDVFOTI1ODI5RgorOjEwMUIyMDAwQzhGMjIyQzVGMEY4QTNFMDI4RjBDNUYwRjhFNTgyMTU2OAorOjEwMUIzMDAwODI3MDAyMTU4M0UwMzhGMDIyQTNGOEUwQzVGMDI1RjBBQQorOjEwMUI0MDAwRjBFNTgyMTU4MjcwMDIxNTgzRTBDODM4RjBFODIyQkIwOAorOjEwMUI1MDAwMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwQTNFQgorOjEwMUI2MDAwRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFMEE0OQorOjEwMUI3MDAwRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzRTkxNworOjEwMUI4MDAwOTNGNUYwQTNFOTkzMjJCQjAxMEE4OTgyOEE4M0YwRTVFOQorOjEwMUI5MDAwRjBBM0YwMjI1MDA2RjcwOUE3RjAxOTIyQkJGRTA2RjNDNgorOjEwMUJBMDAwRTVGMDA5RjMxOTIyRjhCQjAxMTFFNTgyMjlGNTgyRTU3OAorOjEwMUJCMDAwODMzQUY1ODNFOEYwRTVGMEEzRjAyMjUwMDlFOTI1ODJBNQorOjEwMUJDMDAwQzhGNjA4QTZGMDIyQkJGRTA5RTkyNTgyQzhGMkU1RjBCNgorOjEwMUJEMDAwMDhGMjIyQTQyNTgyRjU4MkU1RjAzNTgzRjU4MzIyRTYxQQorOjEwMUJFMDAwRkIwOEU2RkEwOEU2RjkyMkVCRjYwOEVBRjYwOEU5RjY1OQorOjEwMUJGMDAwMjJFMEZCQTNFMEZBQTNFMEY5MjJFQkYwQTNFQUYwQTNEMgorOjEwMUMwMDAwRTlGMDIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzBDQgorOjEwMUMxMDAwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI4RgorOjEwMUMyMDAwOTM2ODYwRUZBM0EzQTM4MERGQUIzNkFBMzdBOTM4RTU5QQorOjEwMUMzMDAwNEMxMjFBRTg3NDAxMjUzOEY1MzhFNDM1MzdGNTM3QUIxRQorOjEwMUM0MDAwMzZGQUE5Mzg3NDExMTIxQUU4NzQwMTI1MzhGNTM4RTQwNworOjEwMUM1MDAwMzUzN0Y1Mzc5MEZGMDZFMEFCMzZBQTM3QTkzODEyMUFBOAorOjEwMUM2MDAwRTg3NDAxMjUzOEY1MzhFNDM1MzdGNTM3QUIzNkZBQTk4RAorOjEwMUM3MDAwMzhFNDEyMUFFODA0MjUzOEY1MzhFNDM1MzdGNTM3QUI3RgorOjEwMUM4MDAwMzZGQUE5MzhFNDEyMUFFODA0MjUzOEY1MzhFNDM1Mzc2RAorOjEwMUM5MDAwRjUzNzkwRkYwNEUwQUIzNkFBMzdBOTM4MTIxQUU4NzQ3QQorOjEwMUNBMDAwMDEyNTM4RjUzOEU0MzUzN0Y1Mzc5MEZGMDVFMEFCMzZEOAorOjEwMUNCMDAwQUEzN0E5MzgxMjFBRTg3NDAxMjUzOEY1MzhFNDM1MzdGRgorOjEwMUNDMDAwRjUzNzIyRjU4M0UwNTQwOEFCMzZBQTM3QTkzODIyRjU1OAorOjEwMUNEMDAwODNFRkYwRkQ3QzAwQzM3ODdCRTY5REY2MThFNjlDRjY2QQorOjEwMUNFMDAwRTZGRTA4RTY3ODAzMjI3NTM2MDE3NTM3Rjk3NTM4NzIxNQorOjEwMUNGMDAwMjJFMDQ0MDRGMDc0MTMyRkY1ODJFNDM0RjlGNTgzRTAxNAorOjEwMUQwMDAwMjI5MEZBQkNFMEZGN0UwMEMzOTBGQUMwRTA5RkYwOTAwMgorOjEwMUQxMDAwRkFCRkUwOUVGMDkwRkFCN0VFOEZGMDEyMUIxQ0VGMjU5MQorOjEwMUQyMDAwNEZGNTRGRUUzNTRFRjU0RTIyN0IwMTdBRkE3OUI0OTA5RAorOjEwMUQzMDAwRkFCN0UwRjUyREEzRTBGNTJFMjI3ODdDRTZGRTA4RTY2MgorOjEwMUQ0MDAwOEU4MzI0MDRGNTgyRTQzNTgzRjU4MzIyNTQwRjc1RjBFNQorOjEwMUQ1MDAwMDhBNDI0NDBGNTgyRTQzNEZGRjU4MzIyRTU0RDc1RjBCNAorOjEwMUQ2MDAwMDhBNDI0NDhGNTgyRTQzNEZGMjJFNTRENzVGMDA4QTQ2OAorOjEwMUQ3MDAwMjQwOEY1ODJFNDM0RkYyMjkwRkFCOUUwRkYyNEZDMjIyMworOjEwMUQ4MDAwOTBGRjAwRTA1NDFGMjI5MEZBQkVFMDkwRkFCQUYwMjJEMQorOjEwMUQ5MDAwNzUzMzAwOEYzNDkwRjk2RjEyMUJFQTkwMDAwMjIyNTRDMQorOjEwMURBMDAwMEY3NUYwMDhBNDI0MDBGNTgyRTQzNEZGRjU4MzIyNzU1MgorOjEwMURCMDAwRjAwOEE0MjQ0MUY1ODJFNDM0RkZGNTgzMjI3NDgwRjAxNgorOjEwMURDMDAwMDhFNkZGRTk3NUYwMDhBNDIyNzRCMjI1MjJGNTgyRTQ0MgorOjEwMUREMDAwMzRGQUY1ODMyMjc1RjAwOEE0MjQ0MkY1ODJFNDM0RkYzNgorOjEwMURFMDAwRjU4Mzc0ODBGMDIyOTBGRjgyRTA0NDA4RjAyMjkwRkY5NworOjEwMURGMDAwRkVFMDQ0MDNGMDkwRkZGQ0UwNTRGREYwMjI3ODY3RTYzQgorOjEwMUUwMDAwNTRGREY2OTBGRkZENzQ2NUYwMjIxMjFCQ0NFMEZFQTM5QQorOjEwMUUxMDAwRTBGRjRFMjI3QjAxN0FGQTc5QjcyMjkwRkY4MEUwNDRGRQorOjEwMUUyMDAwMDhGMDIyOTBGRjgzRTA1NDdGRjAyMkUwRkY5MEY5NkFFRgorOjEwMUUzMDAwMDIxQkVBOTBGRkE0RTA0NDAyRjAyMjc1MzkwMTc1M0FEMgorOjEwMUU0MDAwMDkyMjdCMDE3QUY5Nzk3MjIyRDNFNTNDOTQwOEU1M0JCQgorOjEwMUU1MDAwOTQwMTIyOTBGQUJFRTBGRjkwRkFCQUYwMjI5MEZGQTQxQgorOjEwMUU2MDAwRTA1NEVGMjI5MEZGQjRFMDU0RUYyMjEyMTA0Qjc4ODgzOAorOjEwMUU3MDAwRUZGNjEyMkFDNzEyMjJGQThFODMyNDA5MTIyMkExRTA1OQorOjEwMUU4MDAwRkQxMjIyRTg5MDAwMEExMjIzMDIyNDBBMTIyMkExRTA4NQorOjEwMUU5MDAwOTAwMDBCMTIxQUZBMTIyMkZBRjU4MjhFODNBM0EzQTNFMgorOjEwMUVBMDAwRTBGNTUzMTIyMzA2MjQwNDEyMjJBMUUwRjU1NDhGODI5OAorOjEwMUVCMDAwOEU4M0EzQTNFMEY1NTVFNTUzQzQxMzEzMTM1NDAxNzg5RgorOjEwMUVDMDAwODhGNkQzOTQwMDQwMDZFNTU0MzBFMTAxMDY3ODg4RTZCMAorOjEwMUVEMDAwMTIyMkU3OTAwMDBDRUYxMjFBRkExMjIyQjVBM0EzRTAyNworOjEwMUVFMDAwRkVBM0UwRkY1MzA3MEM1MzA2RTZFNTUzMzBFNTAzNDMzQQorOjEwMUVGMDAwMDcwMUU1NTQyMEU1MEVFNTUzNTQ3RjcwMDhFNTUzMjBCMworOjEwMUYwMDAwRTcwMzQzMDcwMkU1NTMzMEUzMDM0MzA3MTBFNTUzMzA4QgorOjEwMUYxMDAwRTIwMzQzMDcyMEU1NTM1NDAzNjAwMzQzMDc0MEU1NTNCRQorOjEwMUYyMDAwMzBFMTAzNDMwNzgwRTU1MzMwRTQwMzQzMDYwMUU1NTMwMgorOjEwMUYzMDAwMzBFNjAzNDMwNjA4RTU1NDIwRTQwRUU1NTM1NDdGNzA3MQorOjEwMUY0MDAwMDhFNTUzMjBFNzAzNDMwNjEwNTMwN0ZCNTMwNjc5OTAzNworOjEwMUY1MDAwMDAwNUVFOEZGMDEyMUI5RkU1NTUzMEUzMTI1NDMwRkY2MQorOjEwMUY2MDAwQzQ1NDBGMTIyMkU3OTAwMDA4RUYxMjFBRkE4MDBBMTJFNgorOjEwMUY3MDAwMjJFODkwMDAwOEU0MTIxQUZBRTU1NTU0MDMxMjIyRTcwOQorOjEwMUY4MDAwOTAwMDA3RUYxMjFBRkFFNTU1NTQwNEZGQzMxMzkwMDBBRQorOjEwMUY5MDAwMDkxMjFBRkE5MDAwMDcxMjFBQkI3MDEzMTIyMkU4RTkwQworOjEwMUZBMDAwMjQwOUY5RTQzQUZBMTIxQUEyRkZDMzEzMTIxQUU4MTIyQQorOjEwMUZCMDAwMjMyNzI0MDgxMjIyQTFFMEZFOEQ4MjhDODNFNTgyMjQ0RgorOjEwMUZDMDAwMDcxMjIyQTFFMEZERUVFRDEyMjJFNzkwMDAwM0VFOEY1MgorOjEwMUZEMDAwRjAxMjFCOUYxMjMyODQ3RDBBRTRGRjEyMkZCNDAyMTAwQworOjEwMUZFMDAwQ0U5MEZBRTZFMEI0MDMwNjdFMDA3RjQwODAwNDdFMDBENworOjEwMUZGMDAwN0YwODkwRkFEQUVFRjBBM0VGRjA5MDAwMDUxMjFBQkIxQQorOjEwMjAwMDAwRkY3RTAwOTBGQUQ2RUVGMEEzRUZGMDcwMDM3RjA4MjI3NworOjEwMjAxMDAwOTAwMDA4MTIxQjQ4RkY5MEZBRDhFNUYwRjBBM0VGRjAwQgorOjEwMjAyMDAwQUUwMkFGMDE4RTUwOEY1MTc0MEEyNTUxRjU1MUU0MzUzRgorOjEwMjAzMDAwNTBGNTUwOTBGQURCRTBGRjE0RkU5MEZBRDlFMDVFRkUxNgorOjEwMjA0MDAwQzNFRjlFRkY5MEZBRERGMEMzOTBGQUQ3RTA5RjkwRkFCRAorOjEwMjA1MDAwRDZFMDk0MDA1MDA2QTNFMDkwRkFEREYwMTIyMEE5NjBDQgorOjEwMjA2MDAwMDNFMEZGMjIxMjJFMkI5MEZBRDZFMEZFQTNFMEZGNEVGMworOjEwMjA3MDAwNjAyQjkwRkFEQUUwRkNBM0UwRkREM0VGOURFRTlDNDBFQworOjEwMjA4MDAwMDdFMDkwRkFEREYwODAwODkwRkFEN0UwOTBGQURERjBGMgorOjEwMjA5MDAwMTIyMEE5NjAwM0UwRkYyMjEyMkUyQjgwQ0E3QjAwN0E1NworOjEwMjBBMDAwMDA3OTUyRTRGNTJERjUyRTdEMDExMjI2OTg3RjAwMjI0RAorOjEwMjBCMDAwQUE1MEE5NTE3QjAxOTBGQUQ4RTBGQ0EzRTBGRDkwRkE2OAorOjEwMjBDMDAwRERFMEY1NEExMjI5NjA5MEZBRENFRkYwMjJFRjI0QUU1MQorOjEwMjBEMDAwNjA1MjI0RkU2MDJFMjRGRTcwMDMwMjIxNjkyNDA2NjBGMworOjEwMjBFMDAwMDMwMjIxQjE3ODcxRTY1NEZCRjY5MEZGQTVFMEY1MjJEQQorOjEwMjBGMDAwNDQwRkYwNzQzMzkwRkE5NEYwRTUyMkEzRjA5MEZBQjIxMgorOjEwMjEwMDAwNzQwMUYwMjI3ODcyRTY1NEZCRjY5MEZGQjVFMEY1MjJGOAorOjEwMjExMDAwNDQwRkYwNzQ0MzkwRkE5NkYwRTUyMkEzRjA5MEZBQjNERQorOjEwMjEyMDAwNzQwMUYwMjI5MEZBQTBFMEEzMjBFNTAzMDIyMUIxOTAwRgorOjEwMjEzMDAwRkZBNkUwOTBGQUNERjBBM0YwOTBGQUNERTBGRjU0MEZBNworOjEwMjE0MDAwRkU2MDEwOTBGRkE2MTIyMzBEOTBGRkE2RTA5MEZBQ0QzRQorOjEwMjE1MDAwRjA4MEU2OTBGQUNFRTBGRjc0MzRGRTEyMkQ4NUVGNzAyOQorOjEwMjE2MDAwNTc5MEZBQ0VFMEZGNzQzNDkwRkE5OEYwRUZBM0YwMjI4MworOjEwMjE3MDAwOTBGQUFBRTBBMzMwRTU0MDkwRkZCNkUwOTBGQUNERjBFNworOjEwMjE4MDAwQTNGMDkwRkFDREUwRkY1NDBGRkU2MDEwOTBGRkI2MTI1RQorOjEwMjE5MDAwMjMwRDkwRkZCNkUwOTBGQUNERjA4MEU2OTBGQUNFRTAwNQorOjEwMjFBMDAwRkY3NDQ0RkUxMjJEODVFRjcwMEU5MEZBQ0VFMEZGNzQ5RQorOjEwMjFCMDAwNDQ5MEZBOUFGMEVGQTNGMDIyQzBFMEMwRjBDMDgzQzBEMAorOjEwMjFDMDAwODJDMEQwNzVEMDAwQzAwMEMwMDFDMDAyQzAwM0MwMDRFRQorOjEwMjFEMDAwQzAwNUMwMDZDMDA3OTBGRjkyRTBGRjkwRkFDQ0YwOTBENworOjEwMjFFMDAwRkY5MkU0RjBFRjEyMUJGQzIyNjkyNjIyNjkyRTIyMENEQQorOjEwMjFGMDAwMzAyMjBDMzIyMjFBMzgyMjJDM0EyMjVFM0UyMjQ5NDRFNgorOjEwMjIwMDAwMjIzRTQ2MjI1NDUwMjI1NDUyMjI1NDU0MjI1NDU2MDAwNAorOjEwMjIxMDAwMDAyMjZFOTBGQUNDRTBGRDdDMDA3RjAxMTIxMTVFODBGRQorOjEwMjIyMDAwNjI3QzAwN0QwMTdGMDMxMjExNUU5MEZGRkVFMDQ0MjA3RQorOjEwMjIzMDAwRjA4MDUwN0MwMDdEMDE3RjAyMTIxMTVFOTBGRkZFRTA3NQorOjEwMjI0MDAwNDQ0MEYwODAzRTdDMDA3RDAxN0YwNTEyMTE1RTgwMzNBQQorOjEwMjI1MDAwN0MwMDdEMDE3RjA2MTIxMTVFODAyODkwRkFDQ0UwRkZBMQorOjEwMjI2MDAwMTIyMEM2ODAxRTdDMDA3RDAxN0YwNDEyMTE1RTgwMTM0NworOjEwMjI3MDAwMTIyODRFODAwRTkwRkFDQ0UwMjQwMEZGRTQzNEZGRkVEQQorOjEwMjI4MDAwMTIyRDg1RDAwN0QwMDZEMDA1RDAwNEQwMDNEMDAyRDBCRgorOjEwMjI5MDAwMDFEMDAwRDBEMEQwODJEMDgzRDBGMEQwRTAzMjc4N0M5MgorOjEwMjJBMDAwRTZGRTA4RTYyNDA0OEU4M0Y1ODJFNDM1ODNGNTgzMjI3NgorOjEwMjJCMDAwNzQxMzI1MjRGNTgyRTQzNEY5RjU4MzIyNzg4MEU2RkU1MAorOjEwMjJDMDAwMDhFNkY1ODI4RTgzMjI3ODgwRTZGRTA4RTZBQTA2RjgwNAorOjEwMjJEMDAwQUMwMjdEMDE3QkZGN0EzMjc5NTY3RTAwN0YwQTAyMUFCQQorOjEwMjJFMDAwN0M3ODgwRTZGQzA4RTZGNTgyOEM4M0EzQTMyMkZGOTAyRAorOjEwMjJGMDAwRjk2RjAyMUJFQTkwRjk2QTEyMUJFQTkwMDAwNDAyMUFCNQorOjEwMjMwMDAwQkI3ODdFRTZGRTA4RTZGRjIyRUQxMjFBRkE4RjgyOEU3NworOjEwMjMxMDAwODNFNTgyMjJFRkYwOTBGQUNFRTA1NDBGNEVGRUYwRUYwQworOjEwMjMyMDAwNTRGMDRFRjAyMjc4ODBFNkZDMDhFNjhDODMyMjc4N0UxQQorOjEwMjMzMDAwRTZGQzA4RTZGRDhDODMyMkE2MDdFNjI0NkVGOEU2MjI3QQorOjEwMjM0MDAwNzg3RUU2RkEwOEU2RkIyMjA4RTZGRTA4RTY4RTgzMjI5RgorOjEwMjM1MDAwMjZGNjE4RUUzNkY2MjJFRjI0MEJGNTgyRTQzRUY1ODNERQorOjEwMjM2MDAwMjI4QjgyOEE4M0U1ODIyMjhCMjU4QTI2ODkyNzhEMjhFMworOjEwMjM3MDAwOTBGQUQyRTRGMEEzNzQwMkYwN0IwMTdBRkE3OUQxOTA1QQorOjEwMjM4MDAwRkFEMkUwRjUyREEzRTBGNTJFN0QwMTEyMjY5ODkwRkEwMQorOjEwMjM5MDAwRDFFMDY1Mjg2MDQ2QTNFMEZGQTNFMEEzQ0ZGMEEzRUY2MAorOjEwMjNBMDAwRjAxMjIzRjA5MEZBRDFFMEZGOTBGQUQ0RTQ4RkYwMTIwQgorOjEwMjNCMDAwMUIxQzEyMjNGMDkwRkFENEUwRkZBM0UwOTBGQUQyQ0ZENgorOjEwMjNDMDAwRjBBM0VGRjA5MEZBRDFFMEEzNzVGMDAwMTIxQjFDOTA3RgorOjEwMjNEMDAwRkFEMkU0NzVGMDA0MTIxQjFDMDIyMzcyOTBGQUQzRTBDNworOjEwMjNFMDAwMjQwMUZGOTBGQUQyRTAzNDAwQUIyNUFBMjZBOTI3OEY1QQorOjEwMjNGMDAwRjAxMjFCODA3RjAwMjI3QjAxN0FGQTc5RDE5MEZBRDIwOQorOjEwMjQwMDAwRTQ3NUYwMDExMjFCMUM4NUYwMkVGNTJEN0QwMTAyMjZDRQorOjEwMjQxMDAwOTg4RjYyMTIyQUM3MTIyMkZBOEU4MzI0MEIxMjIyQTFFRAorOjEwMjQyMDAwRTA1NEZCRjA0NDAyRjAwODEyMjJEQ0UwQTMzMEU1MEM5QgorOjEwMjQzMDAwMTIyMzA2MjQwQjEyMjJBMUUwNDQwMUYwNzg3Q0U2RkU3MAorOjEwMjQ0MDAwMDhFNkZGRjU4MjhFODNFMDU0QjhGREYwRTU2MjI0RkVENQorOjEwMjQ1MDAwNDQyMEZDNERGMEU1ODIyNDA0MTIyMkExRTA1NEI4RjA5RgorOjEwMjQ2MDAwNENGMDhGODI4RTgzQTM3NDAzRjAxOEU2RkUwOEU2RkYxQgorOjEwMjQ3MDAwOEU4MzI0MDUxMjIyQTFDMDgzQzA4MkUwRkQ3NDk5MjVCOQorOjEwMjQ4MDAwNjJGNTgyRTQzNEZBRjU4M0UwNTRGQzQ0MDNGQ0VENEMzRAorOjEwMjQ5MDAwRDA4MkQwODNGMDhGODI4RTgzRTA0NDgwRjBFNTgyMjQ2NgorOjEwMjRBMDAwMDQxMjIyQTFFMDQ0ODBGMDEyMzI4NDc0NkUyNTYyRjg5NgorOjEwMjRCMDAwNzQwNDQ2RjY3RjAwMjIxMjEwNEI3RjAyMTIxMjYxNzhEQworOjEwMjRDMDAwNjdFNjQ0MDJGNkQyQjBEMkIxOTBGOTE2RTAzMEU3MDdFMQorOjEwMjREMDAwOTBGRjlFRTRGMDgwMzZEMkIzOTBGRkE0RTA5MEZBN0VBNQorOjEwMjRFMDAwRjA5MEZGQjRFMDkwRkE3RkYwOTBGRkEyRTA5MEZBN0NDOQorOjEwMjRGMDAwRjA5MEZGQjJFMDkwRkE3REYwOTBGRkE0NzQzMEYwOTA3RAorOjEwMjUwMDAwRkZCNEYwOTBGRkEyNzQ0MEYwOTBGRkIyRjA5MEZBRTdCMQorOjEwMjUxMDAwRTVBOEYwNzVBODgxOTBGRjkyRTA2MDA0RTRGMDgwRjZGMQorOjEwMjUyMDAwOTBGRkZENzQzQUYwNDM4NzAxMDAwMDAwOTBGQTdFRTBDRQorOjEwMjUzMDAwOTBGRkE0RjA5MEZBN0ZFMDkwRkZCNEYwOTBGQTdDRTA3NgorOjEwMjU0MDAwOTBGRkEyRjA5MEZBN0RFMDkwRkZCMkYwOTBGOTE4RTBEMQorOjEwMjU1MDAwNjAwMkMyQjM5MEZBRTdFMEY1QTgwMjEwQ0U4QjVDOEE2NQorOjEwMjU2MDAwNUQ4OTVFMTIyRTBEOTBGQUMzMTIxQkYzQUE1REE5NUU1RgorOjEwMjU3MDAwOTBGQUM2MTIxQkYzOTBGQUM3RTQ3NUYwMEExMjFCMUNGRQorOjEwMjU4MDAwOTBGQUM2MTIxQkVBRTkyNDAxRjlFNDNBRkE5MEZBQzk3MgorOjEwMjU5MDAwMTIxQkYzQUI1Q0FBNURBOTVFMTIyRTE5RTBGRkMzMTNGOAorOjEwMjVBMDAwRjBFNDc4ODJGNjkwRkFDMUUwRkY3ODgyRTZDMzlGNTBBQgorOjEwMjVCMDAwNEE5MEZBQzMxMjJERUVGRjc4ODNGNjkwRkFDNjEyMkREOAorOjEwMjVDMDAwRUVGRUY0NUZGRjc4ODNGNjEyMkRFQjVFNEZGRjc4ODMwQgorOjEwMjVEMDAwRjYxMjJERjQ3NUYwMDIxMjFCMUM5MEZBQzdFNDc1RjA4OAorOjEwMjVFMDAwMDIxMjFCMUNBQjVDQUE1REE5NUU5MDAwMDQxMjFBQkIxMAorOjEwMjVGMDAwMzBFNDAzMTIyRTAzNzg4MjA2ODBBQUU0OTBGQUMyRjAzNworOjEwMjYwMDAwMjI4QjU2OEE1Nzg5NTg5MEZBQzI3NDA2RjBFNDkwRkFFMQorOjEwMjYxMDAwQzFGMDEyMUFBMjI0NkU2MDI2MTQ3MDcwMTIyRERBNjBCNgorOjEwMjYyMDAwMDkyNDMwNzAxMjEyMjU1NjgwNjIxMjJFMjQxMjFGREFFRAorOjEwMjYzMDAwOTBGQUMyRUZGMDgwNTU5MEZBQzI3NDgxRjA4MDREMTI4QQorOjEwMjY0MDAwMkREQTYwMDkyNDMwNzAzRTEyMkQzMDgwM0ZFNTU4MjQ4OQorOjEwMjY1MDAwMDNGOUU0MzU1N0ZBN0IwMUMwMDNDMDAyQzAwMTEyMkUxMgorOjEwMjY2MDAwMjQ5MDAwMDUxMjFBQkJGRDkwMDAwODEyMUI0OEY1MkU5RAorOjEwMjY3MDAwODVGMDJERDAwMUQwMDJEMDAzMTIyNjk4OTBGQUMxRUYzOAorOjEwMjY4MDAwRjBFNEEzRjA4MDA2OTBGQUMyNzQ4MUYwOTBGQUMyRTAwMAorOjEwMjY5MDAwMTIyRTI0OTAwMDAyMTIxQUZBOTBGQUMxRTBGRjIyOEI0NworOjEwMjZBMDAwMjk4QTJBODkyQjhEMkNFNTJDNzAwM0FGMkMyMjEyMkUxRgorOjEwMjZCMDAwNTM3MDE2MTIyRTcyRTUyRDkwRkZGMUYwMTIzMUQ4NTBBMgorOjEwMjZDMDAwRjIxMjI3MjU0MDBCN0YwMDIyMTIyRTcyMTIyNzI1NTA2RQorOjEwMjZEMDAwRjg5MEZGRjM3NEExRjBFNTJDQjQwMTA3OTBGRkYwRTA0RgorOjEwMjZFMDAwNDQwMkYwOTBGRkYxRTRGMEY1MkZFNTJDMTRGRkU1MkYwNAorOjEwMjZGMDAwQzM5RjUwMkExMjMxQzE0MDAzQUYyRjIyQzNFNTJDOTU0RQorOjEwMjcwMDAwMkZGRkJGMDIwNzkwRkZGMEUwNDQwMkYwMTIyRTY1MDU5NAorOjEwMjcxMDAwMkY3NDAxMjUyQkY1MkJFNDM1MkFGNTJBODBDQzEyMzFCNAorOjEwMjcyMDAwQzE0MDAzN0YxODIyMTIyRTY1QUYyQzIyOTBGRkYxRTVFNQorOjEwMjczMDAwMkVGMDAyMzFEODEyMTA0Qjc4ODQxMjIzMzEzMEUxMDg4OAorOjEwMjc0MDAwN0YxMzEyMzFBOTAyMjdCQzc4ODRFNkY5MjQxMzEyMjJFMAorOjEwMjc1MDAwQURFMEZGMzBFNzQwNTQwMzYwMUVFOUI0MDMwRDkwRkY4NQorOjEwMjc2MDAwOUVFMDU0RkVGMEUwNDQwNEYwODA0NjkwRkY5RUUwNTQ2QQorOjEwMjc3MDAwRkRGMEUwNDQwOEYwODAzOUU5QjQwMzBEOTBGRjlFRTBERAorOjEwMjc4MDAwNTRGQkYwRTA0NDAxRjA4MDI4OTBGRjlFRTA1NEY3RjAwNQorOjEwMjc5MDAwRTA0NDAyRjA4MDFCRUY1NDAzNjAxNEU5QjQwMzA5OTA5NQorOjEwMjdBMDAwRkZBNEUwNTRERkYwODAwNzkwRkZCNEUwNTRERkYwQzJGNAorOjEwMjdCMDAwQjM5MEY5MThFMDA0RjBBRjAxMTIyMkVFRkQxMjJGRTVGQworOjEwMjdDMDAwMTIzMUE5MDIxMENFNzVBODQwNzg3RkU0RjZEOEZENzVDNQorOjEwMjdEMDAwODE4QjAyMjgwOTAyMzE4Q0U0OTNBM0Y4RTQ5M0EzNDA4RgorOjEwMjdFMDAwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDc4QworOjEwMjdGMDAwMjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4NworOjEwMjgwMDAwODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODBCRQorOjEwMjgxMDAwOTAyQkE5RTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDlFRgorOjEwMjgyMDAwNTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQThCRQorOjEwMjgzMDAwNDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODI1MQorOjEwMjg0MDAwQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZCRgorOjEwMjg1MDAwRTlERUU3ODBCRUU0RjUyMjEyMURDMkUwQjQwNDBERTUxNgorOjEwMjg2MDAwMjIyNDAzRkYxMjMwMTMxMjFEQzJFNEYwMDUyMkU1MjJEOAorOjEwMjg3MDAwQzM5NDAyNDBFM0U0RjUyMjc1RjAwMkU1MjI5MEZBOTQ1NQorOjEwMjg4MDAwMTIxRTAzNjAyQzEyMkQ4NUVGNjA1Mjc1RjAwMkU1MjJCNgorOjEwMjg5MDAwOTBGQTk0MTIxQkNDRTRGMEEzRjA3NUYwMEFFNTIyOTBCNAorOjEwMjhBMDAwRkFBMDEyMUJDQ0UwQTMzMEU2MzMxMjFEQzI3NDA0RjA3MAorOjEwMjhCMDAwMjI3NUYwMDJFNTIyOTBGQTk4MTIxRTAzNjAxNjEyMkQ3RQorOjEwMjhDMDAwODVFRjYwMTk3NUYwMDJFNTIyOTBGQTk4MTIxQkNDRTRBRQorOjEwMjhEMDAwRjBBM0YwMjIwNTIyRTUyMkMzOTQwMjQwOUIyMkU0RkZFQworOjEwMjhFMDAwOTBGRjgzRTA1NDBGRkVFRkMzOUU1MDE3NzRGMDJGRjU1NgorOjEwMjhGMDAwODJFNDM0RkVGNTgzRTAxMjFDQzExMjFBRTgwRjEyMUNBOAorOjEwMjkwMDAwQjA4MERERUZGREMzRTUzQTlERjUzQUU1Mzk5NDAwRjU3OQorOjEwMjkxMDAwMzlEM0U1M0E5NDAwRTUzOTk0MDA0MDA2RTQ5MEZGODMwQQorOjEwMjkyMDAwRjAyMjEyMURERjEyMUUzNDEyMUUyNjEyMUFBMjI0NkU2RAorOjEwMjkzMDAwNjAxRTE0NjAxQjI0OEU3MDJEOTAwMDAxMTIxQUJCRkZDNAorOjEwMjk0MDAwMjRGQzYwMDMwNDcwMUZFRkZEN0MwMDdGMEQwMjExNUUwQworOjEwMjk1MDAwMTIxRTNCMTIyNUZBMTIxRDg5MTIxQUJCNjAwMzAyMzJBNQorOjEwMjk2MDAwN0FFNEZGMTIzMjZFMjI4QjQ1OEE0Njg5NDc4QzQ4OEQ2NQorOjEwMjk3MDAwNDlEMjAwMTIyRTUzNzAxNjEyMkU3MkU1NDg5MEZGRjFDNAorOjEwMjk4MDAwRjAxMjMxRDg1MEYyMTIyOUQ1NDAwQjdGMTgyMjEyMkVBNgorOjEwMjk5MDAwNzIxMjI5RDU1MEY4RTRGNTRCRTU0QTE0RkZFNTRCQzMxNAorOjEwMjlBMDAwOUY1MDE3MTIyOUM1NDAwMzdGMTgyMjA1NEI3NDAxMjUzQgorOjEwMjlCMDAwNDdGNTQ3RTQzNTQ2RjU0NjgwREY5MEZGRjBFMDQ0MDFGNworOjEwMjlDMDAwRjAxMjI5QzU0MDAzN0YxODIyN0YwMDIyQUI0NUFBNDY5QQorOjEwMjlEMDAwQTk0NzEyMUFBMjkwRkZGMUYwMDIzMUQ4OTBGRkYxRTU1OQorOjEwMjlFMDAwNDlGMDAyMzFEODdCMDE3QUZBNzlDRkU0RkQxMjIzNjFGNAorOjEwMjlGMDAwOTBGQUNGRTQ3NUYwMDkxMjFCMUM3QjAwN0EwMDc5MjM1MgorOjEwMkEwMDAwOTBGQUNGRTQ3NUYwMDExMjFCMzI4NUYwMkVGNTJEN0Q4MgorOjEwMkExMDAwMDExMjI2OTg5MEZGRjdFNTIzMTIyQTM5OTBGRkY2RTU3OAorOjEwMkEyMDAwMjNGMDkwRkFDRkU0RjBBMzc0MDYxMjJBMzlFNTIzMzA5QworOjEwMkEzMDAwRTAwNzkwRkZGQzc0OTRGMDIyOTBGRkZDNzQ5MEYwMjI2OQorOjEwMkE0MDAwRjA3QjAwN0EwMDc5MjM5MEZBQ0ZFNDc1RjAwMTEyMUIzNQorOjEwMkE1MDAwMzI4NUYwMkVGNTJEN0QwMTAyMjY5ODkwRkY5Mzc0ODEyQQorOjEwMkE2MDAwRjA5MEZGRkZFMDYwMDY5MEZGRkM3NDEwRjA5MEZGOTE4MworOjEwMkE3MDAwRTA0NDkwRjBFNDkwRjkxNkYwQTNGMDEyMkIzOTEyMTYwRQorOjEwMkE4MDAwQzkxMjMwNjk3RTA3N0ZEMDEyMTIyQTdFMEY3RkEwMTJGMgorOjEwMkE5MDAwMTI0NEU0Nzg3N0Y2Nzg3N0U2RkZDMzk0MDY1MDBCNzQxNworOjEwMkFBMDAwNkUyRkY4RTRGNjc4NzcwNjgwRUM3RjAzMTIzMEIyOTA1MAorOjEwMkFCMDAwRjkxNkUwMjBFNDA1N0YwNDEyMzBCMjkwRkY5QkU0RjBBOQorOjEwMkFDMDAwOTBGRjlBRjA5MEZGRThFMDU0MUZGMEQyQTgyMjE1NjUxRAorOjEwMkFEMDAwQTg2NUE2MDczMDA4MDUxMjExQUU4MEY4RDIwOEE4NjVDRgorOjEwMkFFMDAwRTZGRkI0MDMwRjc4N0M3NkZGMDg3NkUwMDg3NkZGMDhFRgorOjEwMkFGMDAwNzZBMDgwMEQ3ODdDNzZGRjA4NzZFMjA4NzZGRjA4NzY2RgorOjEwMkIwMDAwQjA3ODgwNzZGQTA4NzY5RUVGMjRGRDc1RjAwQUE0QUVDMAorOjEwMkIxMDAwRjAxMjIzNDk3QjAxN0FGRjc5NDg3ODY4MTIxQkUxQThGQgorOjEwMkIyMDAwNjVFNjI0RkQ3NUYwMDhBNEZGQUVGMDc4NkExMjIzNDkyQgorOjEwMkIzMDAwNzkwODc4NkIxMjFCRTE3ODZERUYxMjIzNDkwNTY1MjI0NQorOjEwMkI0MDAwOTBGRkYwRTA1NEFCRjBFMDQ0MjBGMDkwRkFFNjc0MDIxRAorOjEwMkI1MDAwRjA3QjAxN0FGQTc5Q0ZFNEY1MkRGNTJFN0QwMTEyMjY2RQorOjEwMkI2MDAwOTg3RTAwOTBGQUU0RUVGMEEzRUZGMDY0MDE3MDEwOTAwQworOjEwMkI3MDAwRkFDRkUwQjQ1MjA5OTBGOTE2RTA1NEVGRjA4MDI5OTBCMgorOjEwMkI4MDAwRkFFNEUwNzAwNEEzRTA2NDAxNzAxMDkwRkFDRkUwQjRCRQorOjEwMkI5MDAwMTAwOTkwRjkxNkUwNDQxMEYwODAwRDkwRkFFNjc0MDNFNQorOjEwMkJBMDAwRjA5MEY5MTZFMDU0RUZGMDkwRkZGMEUwNDQyMEYwMjJBRQorOjEwMkJCMDAwMDM2ODAxRkY0ODAzNkIwMUZGMDgwMjY2MDAwMDQ0RkE0NgorOjEwMkJDMDAwOTgwMDAwMDAwMDQ0RkE5NDAwMDAwMDAwNDJGQUIyMDBBRAorOjEwMkJEMDAwMDA0MkZBN0UwMDAwNDJGQTdDMDAwMDQyRjk2REZGRkZERAorOjEwMkJFMDAwNDJGQTdBMDAwMDQxRjk2NkZGNDFGOTFDMTk0MUY5MTVEMgorOjEwMkJGMDAwMDA0M0Y5MTkwQTMyMDI0MUY5NjgyMDQxRjk2OTIwNDE3QworOjEwMkMwMDAwRjk2NTAwNDFGOTY3MDA0NEY4MDAwMDAwMDAwMDQyRjk0RQorOjEwMkMxMDAwMTYwMDAwNDFGOTE4MDAwMTIwMDA0MUY4MDQwMDAwMTJEQworOjEwMkMyMDAwMTA0Qjc4OEFFRkY2MTIyQUM3MTIyMkVFMzBFMDI5Nzg4QworOjEwMkMzMDAwN0MxMjIyQjdFMDU0N0ZGMDc4NkIxMjFCRDg5MDAwMDIxMAorOjEwMkM0MDAwMTIxQUJCMzBFNzA5OTAwMDAyRTQxMjFBRkE4MEU5NzgwMAorOjEwMkM1MDAwN0MxMjIyQjdFMDQ0ODBGMDEyMjJFRTMwRTExRTEyMjJGNAorOjEwMkM2MDAwOTdFMDU0N0ZGMDEyMzIxOTc4NjgxMjFCRDg5MDAwMDI1NgorOjEwMkM3MDAwNzQ4MDEyMUFGQTEyMjI5N0UwNDQ4MEYwMTIzMjg0RTQyRgorOjEwMkM4MDAwRkYxMjMxQTkwMjEwQ0UxMjEwNEI3ODg1RUZGNjEyMzFFNworOjEwMkM5MDAwNTAxMjMxQTk3ODg1RTZGRjI0MTMxMjIyQURFMEZFMzBGMAorOjEwMkNBMDAwRTcxNkVGQjQwMzA5OTBGRjlFRTA1NEZBRjA4MDIyOTBGQgorOjEwMkNCMDAwRkY5RUUwNTRGNUYwODAxOUVFNTQwMzYwMTRFRkI0MDM2NgorOjEwMkNDMDAwMDk5MEZGQTRFMDQ0MjBGMDgwMDc5MEZGQjRFMDQ0MjA4NgorOjEwMkNEMDAwRjA5MEY5MThFMDE0RjBFMDcwMDJEMkIzMDIxMENFMTJCNgorOjEwMkNFMDAwMUUxQ0U1M0E2NDA5NzAwNEU1Mzk2NDAxNjA0OEMzRTVENworOjEwMkNGMDAwM0E5NDA4RTUzOTk0MDA0MDExN0YwOEVGRTUzQTk0MDhDQQorOjEwMkQwMDAwRjUzQUU1Mzk5NDAwRjUzOTgwMDVBRjNBMTIxRTM0RTRGRQorOjEwMkQxMDAwRkVFRUMzOUY1MDE5MTIxQ0MxMTIxQUEyRkQ3NEY4MkVBOAorOjEwMkQyMDAwRjU4MkU0MzRGRUY1ODNFREYwMEUxMjFDQjA4MEUyRUY4NAorOjEwMkQzMDAwNTQ3RjkwRkY4MUYwMjI4QjU5OEE1QTg5NUIxMjJFMTk5OQorOjEwMkQ0MDAwNzAwNUEzNzQwOEYwMjJBQjU5QUE1QUE5NUIxMjJFMEQ4NAorOjEwMkQ1MDAwOTBGQUM5MTIxQkYzRTU1QjI0MDNGOUU0MzU1QUZBOTBBMworOjEwMkQ2MDAwRkFDMzEyMUJGM0U0OTBGQUMyRjA3ODhCRjY5MEZBQzEyMgorOjEwMkQ3MDAwRTBGRjc4OEJFNkMzOUY1MDEyMTIyREVCRkYxMjJERjQ2QgorOjEwMkQ4MDAwMTIyRTA3Nzg4QjA2MTIyRTAzODBFMjIyQUQwN0FDMDZDNgorOjEwMkQ5MDAwOTAzMjBBRTQ5M0ZGNzg3NEY2NTQwRjEyMURBOEUwMDhFRAorOjEwMkRBMDAwNzYwMDA4RjYxODEyMUNEOUMzMzNDRTMzQ0VEOEY5RkZGQgorOjEwMkRCMDAwNzg3NUVFRjYwOEVGRjZFRTQ0RjgxOEY2RUYwOEY2OTBBMAorOjEwMkRDMDAwRkY3QUUwMjBFNzAzN0YwMDIyNzg3NUU2RkUwOEU2RjU0QgorOjEwMkREMDAwODI4RTgzRUNGMEEzRURGMDkwRkY3QTc0MDJGMDdGMDExNQorOjEwMkRFMDAwMjJBQjU2QUE1N0E5NTg5MDAwMDMxMjFBQkI1NEYwMjREQworOjEwMkRGMDAwQTAyMjkwRkFDOTEyMUJFQTAyMUFBMjkwRkFDMzEyMUI2RgorOjEwMkUwMDAwRUFFRjEyMUFFODkwRkFDQUU0MjI5MEZBQzRFNDc1RjBFNAorOjEwMkUxMDAwMDEwMjFCMUM5MDAwMDgxMjFCNDhBQUYwRjk3QjAxMjIzQQorOjEwMkUyMDAwOTAwMDA1MTIxQUJCOTBGQUMxRjAyMkFCNTZBQTU3QTkxRQorOjEwMkUzMDAwNTgyMjkwRkFEREUwRkY3RTAwQzM5MEZBRDdFMDlGRjBDMQorOjEwMkU0MDAwOTBGQUQ2RTA5RUYwOTBGQUQ4RUU4RkYwMTIxQjFDRUZBRAorOjEwMkU1MDAwMjU1MUY1NTFFRTM1NTBGNTUwMjI5MEZGRjBFMDU0RkUyQgorOjEwMkU2MDAwRjBFMDU0RkRGMDkwRkFFNkUwNjQwMzIyOTBGRkYyRTAxNworOjEwMkU3MDAwQUIyOUFBMkFBOTJCMDIxQUU4OTBGRkYzNzRBMEYwMjIyQQorOjEwMkU4MDAwOEY2NEVENzAwRkU1NjRCNDAzMDU3RjAxMDIzMUVGN0ZCRAorOjEwMkU5MDAwMDIwMjMxRUZBRjY0MTIyQUM3NzQ2RTI1NjRGOEU2MzA3RgorOjEwMkVBMDAwRTIwQkQyMDkxMjFEMzNFMDU0N0ZGMDgwMDJDMjA5RTUyMworOjEwMkVCMDAwNjRCNDAzMDc3RjgxMTIzMUVGODAwNTdGODIxMjMxRUYwNgorOjEwMkVDMDAwMzAwOTA3MTIxRDMzRTA0NDgwRjAxMjMyODQyMjEyMTBDMAorOjEwMkVEMDAwNEI5MEZGRkRFMDQ0NjBGMEQyMDE5MEZGRkNFMDQ0MDIyMworOjEwMkVFMDAwRjA5MEZGMDBFMDMwRTcxMzkwRkY4M0UwNDQ4MEYwNDM3MAorOjEwMkVGMDAwMzU4MDkwRkZGQ0UwNDQwMUYwODAwRDEyMURERjUzMzU1QQorOjEwMkYwMDAwN0Y5MEZGRkNFMDU0RkVGMDkwRkY4MUUwNDQ4MEYwMTJERgorOjEwMkYxMDAwMDJERTEyMURFNzAyMTBDRTEyMTA0Qjc4ODlFRkY2RDJCNgorOjEwMkYyMDAwMDAxMjJBQzc5MEY5NkExMjFCRUFFOTI0MDNGOUU0M0E2RAorOjEwMkYzMDAwRkFDMDAyNzg4MEU2RkUwOEU2QUEwNkY4QUMwMjdEMDEzNworOjEwMkY0MDAwRDAwMjEyMjJEMzEyMzI4NDc4ODlFNkZGMTIxMzg3MTIzQworOjEwMkY1MDAwMzFBOTAyMTBDRThGNjMxMjJBQzc3ODdDMTIyMkI3RTAwMworOjEwMkY2MDAwNTQzRkYwRTU4MjI0MDQxMjIyQTFFMDU0M0ZGMDEyMjNFMgorOjEwMkY3MDAwNDEyNDBCMTIyMkExRTA1NEY4RjAxMjMyODQ3NDZFMjUyMQorOjEwMkY4MDAwNjNGODc0RkI1NkY2N0YwMDIyMTIxMDRCMTIyQUM3MTIwOAorOjEwMkY5MDAwMjJGQTI0MDYxMjIyOUZFMEZEMTIyMkU4OTAwMDAzMTI3QQorOjEwMkZBMDAwMjMwMjI0MDUxMjIyQTFFMDkwMDAwNDEyMUFGQTEyMzIyMAorOjEwMkZCMDAwODQ3RDAyRTRGRjEyMkZCNDAyMTBDRUFFMDUxMjFEOEVFNgorOjEwMkZDMDAwRUYxMjFBRkEwRTBFMEVFRUQzOTUzQ0U0OTUzQjQwMDIzQQorOjEwMkZEMDAwQUUzQ0VFRDM5NDA4NzQ4MDk0ODE0MDBBN0UwMzkwMDA0NgorOjEwMkZFMDAwMDI3NDAyMTIxQUZBQUYwNjEyMzI2RTIyQUUwN0VENTRDNAorOjEwMkZGMDAwMDM2NDAxNjAwMzdGMTAyMkVENTQ3Q0MzOTQwNDUwMDNFQQorOjEwMzAwMDAwN0YwQjIyNzQ2RTJFRjg3NDAyNDZGNjc0OTkyRUY1ODJBOAorOjEwMzAxMDAwRTQzNEZBRjU4M0VERjA3RjAwMjJCRjAzMDY3Q0ZGN0RFOAorOjEwMzAyMDAwRTA4MDA0N0NGRjdERTI4RDgyOEM4M0UwNDQ4MEYwRTVDQgorOjEwMzAzMDAwODIyNDA0MTIyMkExRTA0NDgwRjA3NDZFMkZGODc0MDRGQworOjEwMzA0MDAwNDZGNjdGMDAyMjEyMTA0QkU1M0E2NDA5NzAwNEU1MzkxOAorOjEwMzA1MDAwNjQwMTYwMTY5MEZGODNFMDU0MEZGRkMzRTUzQTlGRTVEQgorOjEwMzA2MDAwMzk5NDAwNDAwNTEyMjhENzgwMDMxMjMyN0EwMjEwQ0UxQworOjEwMzA3MDAwOTBGRkZDRTAyMEU3MUZDMkFGN0RGRkFDMDUxREVDNjBCOAorOjEwMzA4MDAwMTU3RTA0N0YwMEVGMUZBQTA2NzAwMTFFNEE2MEVDOTBCNworOjEwMzA5MDAwRkY5MkU0RjA4MEVGMjIxMjEwNEI3ODY2RTZGRTA4RTYxRAorOjEwMzBBMDAwRkYzMEUwMTIzMEUxMEY5MEZGRkNFMDQ0MjBGMDdGMDQ5RAorOjEwMzBCMDAwMTIxMjYxMTIxREY2MDIxMENFOEYyM0MyMDgxMjJBQzcwNworOjEwMzBDMDAwMTIyMkMwNzg3RTEyMjM0MjI0MEIxMjIyQTFFMDU0Rjg2RgorOjEwMzBEMDAwRjAxMjMyODRBRjIzMTIxMzg3MjI4RTVGOEY2MEU1NjA3NworOjEwMzBFMDAwMTU2MEFFNUY3MDAyMTU1RkQzOTQwMEVFOTQwMDQwMDk0NgorOjEwMzBGMDAwN0UwNzdGRDAxMjEwMjQ4MEU1MjIxMURDMkVDNzI0QjA3OQorOjEwMzEwMDAwMzI2MDMwOTAzMDNFMzE2RjJGODIyNzJFMkM4MDMxMTI2QQorOjEwMzExMDAwMzEzMTFFNjQyRjExMkMxODBFMTIxMDRCNzg4NjEyMjM5OQorOjEwMzEyMDAwMzEyMEUxMDc3RjEyMTIzMUE5ODAwQTc4ODZFNkZGMTI2QQorOjEwMzEzMDAwMjQwQTEyMzFBOTAyMTBDRTEyMTA0Qjc4ODcxMjIzMzFDMworOjEwMzE0MDAwMjBFMjA3N0YxMTEyMzFBOTgwMEE3ODg3RTZGRjEyMkY0QgorOjEwMzE1MDAwNEUxMjMxQTkwMjEwQ0U4RjYxMTIyRjRFQUY2MTEyMkE4QQorOjEwMzE2MDAwQzcxMjIyQzAxMjMyODQ3NDZFMjU2MUY4NzRGRDU2RjZCRgorOjEwMzE3MDAwQUY2MTEyMTM4NzIyMTIxMDRCRTUzQTY0MDk3MDA0RTUxRgorOjEwMzE4MDAwMzk2NDAxNjAwNTEyMkNEODgwMDYxMjFFMTQxMjFFMUMxMAorOjEwMzE5MDAwMDIxMENFMTIyQTU0MTIxMzAzOTBGODA0RTBGRjYwMDVDNworOjEwMzFBMDAwN0QwMTEyMTJBMDEyMjlERTEyMTMzRjEyMTFCQzgwRTMxRQorOjEwMzFCMDAwMTIxRDhFRUYxMjFBRkFFNEY1MzNGNTM0RUY2MDAzMDJCNAorOjEwMzFDMDAwMzI3QUU0RkYxMjMyNkUyMjkwRkZGMEUwRkY1NEEwNjBFQQorOjEwMzFEMDAwRjdFRjMwRTUwODkwRkZGMDQ0MjBGMEMzMjJEMzIyOTBBRgorOjEwMzFFMDAwRkZGMEUwRkY1NDI4NjBGN0VGMzBFNTA4OTBGRkYwNDQ2RgorOjEwMzFGMDAwMjBGMEMzMjJEMzIyRUYzMEU3MDgxMjFENDVFMDU0REY1MAorOjEwMzIwMDAwRjAyMkVGMTIxRDk4RTA1NERGRjAyMjgxMDE4MjAyODM0OAorOjEwMzIxMDAwMDM4NzQwMDA0MDAwNDAwMDQwMDA0MDAwNDAwMDA4MDA5QworOjEwMzIyMDAwNzg3RTEyMjJCN0EzQTNFMEZGMzBFNzA2NTQ3RkYwNDQ3NAorOjEwMzIzMDAwODBGMDIyODUzQjM5ODUzQzNBOTBGRjgyRTA1NEY3RjBEQworOjEwMzI0MDAwQTNFMDU0N0ZGMDIyRTRGRUVFOTAzMjA0OTNCNTA3MDIyRgorOjEwMzI1MDAwRDMyMjBFQkUwN0YyQzMyMjAwMDgxODI4MzgwMTgxOTAzRAorOjEwMzI2MDAwMEEwMjAwMDAxMTEzMDAxMjEwNEI3RjAyMTIxMERBMTIzMgorOjEwMzI3MDAwMURGNjAyMTBDRTc1MzkwMDhGM0ExMjFDRTAxMjJDRDhDMAorOjBFMzI4MDAwMjIxMjFFMUMxMjFEREYxMjFFMTQyMkMyMDgyMjcyCis6MDAwMDAwMDFGRgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8qIEVkZ2Vwb3J0IEJpbmFyeSBJbWFnZSAoZm9yIFRJIGJhc2VkIHByb2R1Y3RzKQorLy8qIEdlbmVyYXRlZCBieSBUSUJpbjJDIHYyLjAwICh3YXRjaHBvcnQpCisvLyogQ29weXJpZ2h0IChDKSAyMDAxIEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWkyNi9iaXRzdHJlYW0uSEVYIGIvZmlybXdhcmUvZW1pMjYvYml0c3RyZWFtLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDRkM2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pMjYvYml0c3RyZWFtLkhFWApAQCAtMCwwICsxLDQzOTEgQEAKKzoxMDgwMTAwMEZGRkZGRkZGQUE5OTU1NjYzMDAwODAwMTAwMDAwMDA3QUUKKzoxMDgwMjAwMDMwMDE2MDAxMDAwMDAwMEIzMDAxMjAwMTAwODAzRjJENzUKKzoxMDgwMzAwMDMwMDBDMDAxMDAwMDAwMDAzMDAwODAwMTAwMDAwMDA5OTUKKzoxMDgwNDAwMDMwMDAyMDAxMDAwMDAwMDAzMDAwODAwMTAwMDAwMDAxMkQKKzoxMDgwNTAwMDMwMDA0MDAwNTAwMDNFMDQwODEyMTAwMDAwMDAwMDAwRjQKKzoxMDgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDgwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDA0QkMKKzoxMDgwODAwMDgwMDAwMDAwMDAwMDAwMDAwMDEyMTAwMDAwMDAwMDAwNEUKKzoxMDgwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDgwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDg0MEMKKzoxMDgwQjAwMDgwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwM0UKKzoxMDgwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDgwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwOTgKKzoxMDgwRTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwQ0UKKzoxMDgwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDgxMTAwMDgwMDAwMDAwMDAwMDAwMDAwMDEyMDAwMDAwMDAwMDAwQ0QKKzoxMDgxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDgxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0M0IKKzoxMDgxNDAwMDgwMDAwMDAwMDAwMDAwMDAwODEzMDAwMDAwMDAwMDAwOTQKKzoxMDgxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDgxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDgxNzAwMDkwMDAwMDAwMDAwMDAwMDAwMDEyMDAwMDAwMDAwMDAwNUQKKzoxMDgxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDgxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NUIKKzoxMDgxQTAwMDkwMDAwMDAwMDAwMDAwMDBGNzEwMDExNDAwMjUwMDA1RjkKKzoxMDgxQjAwMDQwMDE1MDAwOTQwMDE1MDAwNzQwMDFEMDAwOTQwMDI1QjQKKzoxMDgxQzAwMDgwMDE2MDAyRDgwMEY2MDAyRjgwMDJFMDA0RDgzNzQ0MTYKKzoxMDgxRDAwMDkwMDAwMDAwMDAwMDAwMDBDMDA1RjIwMENDOTAzOTIwQTMKKzoxMDgxRTAwMDBEOTgwM0QyMDBFNzgwMzcwNDBFRjE4MzdFMDBERjkwMDQKKzoxMDgxRjAwMDMxRTQ4Rjc5MDM3QzIwREYyMjMzQzAwQ0YwMjIzMDAwODEKKzoxMDgyMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwNjIwMDgwMjQyMjIwMjYKKzoxMDgyMTAwMDA4OTgxMkUyMDA4QjgxMjA5NDA4NzQwMjJFMDA4QTAxRDMKKzoxMDgyMjAwMDIyQzgwODkyMDIzRDgwOEI2MDIyODAwOEIwMDIyMDA0QTAKKzoxMDgyMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzgwMEEwMDAyMDAwRjkKKzoxMDgyNDAwMDBCMTAwMkMwMDBBMTAwMjQwOTRBMzIwMjQ4MDBCMTAwMEMKKzoxMDgyNTAwMDYyQzAwOUEwNDZDQzI0OTM0OTJBODA0ODMwMjI2MjAxOUEKKzoxMDgyNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgxMkE4MDAyMjAwNDUKKzoxMDgyNzAwMDA4OTAwMkUwMDA4OTgwMjI0NDA4QjAxMkE4MDBBOTQwQkEKKzoxMDgyODAwMDIyQzAwODkwODJBQzAwOUIwNDJBQzQwOEIwMDI3MDA0OEIKKzoxMDgyOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE0ODQwMEU5ODBCMjY0NjcKKzoxMDgyQTAwMDREQTAwM0VBMjBFOUMwMzY0MDBFQjAwMzQ0MDBGQjkwMjUKKzoxMDgyQjAwMEIyODgwREJDMDNFQzA4NUIwMDM4NjAyQ0IwNjM0MDA0NEUKKzoxMDgyQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQyNkREOTAzNzQwOUYKKzoxMDgyRDAwMDRGRTAxM0YyODBGRDAwM0RBMDBENzAwMzc1MDA1RTAwQkQKKzoxMDgyRTAwMDNGQTQwREY5MDM1QzEwRUIwMDM3MjAwRjMwMDNCODAwRkEKKzoxMDgyRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEU5ODAzMjQwNDcKKzoxMDgzMDAwMDBDQTE4M0U4MDBFOTAwMzI0MjBFQjAwM0FDNDhFOTAwNUEKKzoxMDgzMTAwMDNBODAwRUE0MDNFQzAwRUIwMEIyMDMwRUIwMEIxMDA0ODUKKzoxMDgzMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkU4MDg5RDEyMDQwRjgKKzoxMDgzMzAwMDA4QTAwMkMwMDA4MTgwMjI1ODA4RjUwMjJGNDA4QjAwNUYKKzoxMDgzNDAwMDIwQzAwODMwNDM3QzAwODcwMDIyNDAwOEYwMDIzMjAwNDEKKzoxMDgzNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDIwMTlBNDQyOEEyMEQKKzoxMDgzNjAwMDA4MTgwMkMwODBBMTgwQTAwMDA4MzAwMjhFMDBBQjAwNzcKKzoxMDgzNzAwMDJDNDAwQTMwMDIwQzAwQTMwMDIwNDQwQTMwMDIzODAwQ0UKKzoxMDgzODAwMDUwMDAwMDAwMDAwMDAwMDA2MDAxMzIwMDk2ODIyQkEyMjUKKzoxMDgzOTAwMDg4NUEwMkYyMDAwNTgwMjlBMDA4Nzg0MkJFMDA4RTg0MjcKKzoxMDgzQTAwMDJGNjEwQUQ4MDI0RTEwQTc4MDIwMjgwODc4MDIxODAwRjIKKzoxMDgzQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEYyMjQzODgwNTcKKzoxMDgzQzAwMDJDMUEwM0M0MDBFMDU4QTA4MDJFMzAwMzg4NDFFMzAyMzkKKzoxMDgzRDAwMDNDNDAwNjIwMDM4QzAwRTMwMDEwMDAwRTMxNDMxMjAyRTMKKzoxMDgzRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOTgwMEVFMDEzNzg0RUUKKzoxMDgzRjAwMDlGRDkwM0YwNDhGRDEwMzdDMDA3QjAwMzVDMDBGNjEwQUEKKzoxMDg0MDAwMDMzQzAwREUxMDNFRDIwREYxMDNGNDgwRkYwMjNEMDA2MEQKKzoxMDg0MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMkNCODAzMEMwMkUKKzoxMDg0MjAwMDBDQTAwM0UyMDJDOTAwM0E0MDBEQjYwMzY0MDBFQjAwNjEKKzoxMDg0MzAwMDNFQzAwRkIwMDNFRDAwRkIwMTNFRTAwQ0IwMDJFQTAwQ0QKKzoxMDg0NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMDg3MDAyMUMwNjcKKzoxMDg0NTAwMDI4NjAwMkQwMDA4NTAwMkQ4MDQ4RjA4MjFDMDBCNzAwMDMKKzoxMDg0NjAwMDJEMDAwQjUwMDJEQzAwQjdBMDJGODAyODdBMDJEMjA0MjYKKzoxMDg0NzAwMDYwMDAwMDAwMDAwMDAwMDBDMTAwQkUwMDg3ODAyMUUwMTUKKzoxMDg0ODAwMDI4NjgwMkQ3MDA4NDgwMkRFMDQ5NzkwNjUzMDlCNTgwMTkKKzoxMDg0OTAwMDJERTIwQjc4MDJERTgwQjc5MDJEQjAwODc5MDJGMDAwNTMKKzoxMDg0QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MxMDgzMDEyOEM4MDAKKzoxMDg0QjAwMDA4MjAwMkMyMDY4MTAwMkNDODg4MzA2MjBFMjFCM0EwQjkKKzoxMDg0QzAwMDJDQzEwQkI2MDJDQzAwQjMwMDJDRTAwODMwMDJEMjA0NjEKKzoxMDg0RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMENBNDBCMDgwOEQKKzoxMDg0RTAwMDBDMkMwMkY4MDBDNjIwM0Y5MDBEQTAwMzdCMDFFRUUwQUIKKzoxMDg0RjAwMDNGQjQwRkVDMDNFODAwRkEwMDNGQTAwQ0EwMDNGQTA0MUQKKzoxMDg1MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTMwMEY4MDkyNjAwQjkKKzoxMDg1MTAwMDBGQzE4M0UwMTBGODQwM0MwMDBGODAwM0UwMDFGODAwMzkKKzoxMDg1MjAwMDNFMDAwRjgxMDNFMDA0RjgwMDNFMTAwRjgwMDNEMjAwRUMKKzoxMDg1MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMkM5MDAzRTQwQzYKKzoxMDg1NDAwMDRGOTA2MzI2ODQzOTAyQjI0MDBDOTEwMzI0MDBGOTAwNTUKKzoxMDg1NTAwMDNFNDAwRjkwMDMyNDAwRjEwMDNBNDQwRjkwMDNDMjA0MDAKKzoxMDg1NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NDUwMDg5NDAyRTQwREIKKzoxMDg1NzAwMDA4OTIwQTI0MDBCOTMxMjI2MDg4OTQ4QTI0MjBCOTAwMjQKKzoxMDg1ODAwMDJFNDAwQjkwMDIyNDAwQjkwMDIyNjgwQjkwMDJFMDAwRkMKKzoxMDg1OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjRBMDhEODQyRjQwNkEKKzoxMDg1QTAwMDBCRDEwMjI0MDBCOTAwMjI0QTA4MTAwMjJDNDBCOTAwNjUKKzoxMDg1QjAwMDJFNDAwQjkwMDIyNDAwQjkwMDJBNDAwQjkwMDJDNjAwMDYKKzoxMDg1QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQwMDg1ODAyRDQwRDkKKzoxMDg1RDAwMDA4NTAwMjA0MENCOTAwQTA1MDA4MTQyMjA0MDBCMTAwOTUKKzoxMDg1RTAwMDJDNDAwQjEwMDIwNDAwQjEyODIwNEEwQjEzMDJDMjAxRDgKKzoxMDg1RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEMwNTAzRTgwODgKKzoxMDg2MDAwMDBGQzA0MzIwMDBGODAwMzAwMDJDODAyMzIwMDBGODUxRDgKKzoxMDg2MTAwMDNFMTQ4Rjg1MEIyMTQwRjg3MDNBMDgwRjg0ODNFRTAzRDcKKzoxMDg2MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFEQzQwMEY5MDQzRTQwMDYKKzoxMDg2MzAwMDBGOTAyM0Q0MDBGRDAwM0Y1MDBGOTQwM0Y0MDRGRDAwN0QKKzoxMDg2NDAwMDNGNDE4RkQwNDNFNTBDRjkwMjNGNEEwRjkyMDNFNjAyMDcKKzoxMDg2NTAwMDcwMDAwMDAwMDAwMDAwMDA4ODA1RDQwMUZEMDAzRDQwQ0UKKzoxMDg2NjAwMDBDRDAxM0Y0MDBENTAwMzM2QTFDREM4MzM0MDBEMTA0MzEKKzoxMDg2NzAwMDNFNTAwQzkxMDNFNkMwRERCMDMzNkEyQzlDODNFNjAwQ0IKKzoxMDg2ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwOUY4ODAyRTAwQTMKKzoxMDg2OTAwMDg4ODAwMEU4MDBCQTAwMjJCMDA4OEUwMjI4MDA4OEE4NkUKKzoxMDg2QTAwMDI2MjgwODhBMjJFMjAwODhFNDIyMzAwODhDMDJDRTA0QzAKKzoxMDg2QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMjgyRTQwNzIKKzoxMDg2QzAwMDA4MTAwMkM0MDA5OTAwMjA0MjQ4MTAwMjY0MDE5MTgwMDEKKzoxMDg2RDAwMDJDNDgwODEwMDJDNEMwODE0MDIwNEEwODEyMDJDMjAxN0UKKzoxMDg2RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQ5NEE5MDIyRTQwOUMKKzoxMDg2RjAwMDBBOTAwMjY0MDBCOTAwODI2MDA4OTAwMjY2MDA4OTEwNDYKKzoxMDg3MDAwMDI0NjIwODkwMDJFNDAwODkwMjIyNDAxODkwMDJDNjA0MDQKKzoxMDg3MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTYwMEI5MDQzRTQwMjMKKzoxMDg3MjAwMDBDOTAxM0U0MDBEMUMwMTI1MDI4OTAwMzQ0MDBEOTAwRUIKKzoxMDg3MzAwMDNFNDAyODkyMDNFNDAyRDkwMDMyNDI4QzkwMTJFODA0QjEKKzoxMDg3NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTYyMEY5MDAzRTQxNTIKKzoxMDg3NTAwMDJEOTAwM0U0MDBGOTIwM0U0MDRGOTAwMUE0MDBGOTAwNjEKKzoxMDg3NjAwMDM2NDA4RjkyMDdFNDAwRjEwMEJFNDAwRjkwMDNDQTAwMkMKKzoxMDg3NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4MDAzRTIwOUIKKzoxMDg3ODAwMDBDODAwM0UwNDBGODAwMzYxMjJDMDAwM0UwQzBGODAwMzMKKzoxMDg3OTAwMDMyMTAwRDg0MDNBMDAwRjgwMjNFMDgwRjgwMDBDQTA0QzYKKzoxMDg3QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1M0E5MDhFMDAyREEwNTcKKzoxMDg3QjAwMDgwRTgwMkZBMDBCRTQwMjM4MDA4RTgwMkZBMDA4QTAwM0UKKzoxMDg3QzAwMDM2ODAwOEEwMDJFODAwQkEwMDJGODAwQkEwMDM4QTAwQzAKKzoxMDg3RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDYwMjgzMDAyQzgwQjUKKzoxMDg3RTAwMDA4MjI0MkM2ODBCMTYwMkVGNDA4MzgyMkNFMDBBMzAwRDEKKzoxMDg3RjAwMDIwQzAwODMwMDJBQzAwQjEwMDJFNDAwQjMwMDJDQTAwOEQKKzoxMDg4MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMjg1MDEyREMyRTIKKzoxMDg4MTAwMEE4NDQwMkQ0MDBCRDAxMjk0MDE4NjhEMkRDMDA4RjgwMzIKKzoxMDg4MjAwMDI1Q0MyODczNDJEQzgwQjUzMDJEQzAxQjcyMDJFODAwRDUKKzoxMDg4MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwNEM2ODIzREUwQzEKKzoxMDg4NDAwMDBDNDgxMkQ2MTBGNTgwM0NBMDBDNzAwM0RFMDBFNzkwQjcKKzoxMDg4NTAwMDIzRUEwNDdBMDM5RTAwRjU4MDNERTAwRjdBMDNFQTAyRTIKKzoxMDg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwODBEQUMwMDlDMDAzRUMwQUQKKzoxMDg4NzAwMDBGODAwM0U0MTBGOTAwMzYwMTBGQTAwM0MwMDBFQjAwRTUKKzoxMDg4ODAwMDNFRDg0RUIwODNFQzAwRjkwMDNFQzAwRkI0NDM4MjA2RTAKKzoxMDg4OTAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1REUwMENGODQzMUUwNzEKKzoxMDg4QTAwMDBFQzg0M0Q2MDBDRDgwMzNFMENERDkwMzNBMDBGRjg4MEYKKzoxMDg4QjAwMDMzRTAwRkY5MTNGRTI0RkQ4MDNGMjAwQ0Y2ODMxMDAwRjcKKzoxMDg4QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg1MDAyMUM0NzkKKzoxMDg4RDAwMDI4NDA4MkQwMDBENTAwMjM4MDQ4QzkwMjFDMDBCNzAwODAKKzoxMDg4RTAwMDIxQzAwQjcxMDJERTgwQjUxMDJEQzAyOEYwMDIyQTA0RDEKKzoxMDg4RjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOUMwMDk2MDAyMUMwRjUKKzoxMDg5MDAwMDBBNDEwMkY1NDA4RDAwMjE0MDA5NTIwMjk4MjBCNzAwMkIKKzoxMDg5MTAwMDIxQzAwQjcwMDZEQzgwQjUwMDJEQzAwODcwMDIwNDAwNzkKKzoxMDg5MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0MxMDk4MDAwMEMwN0YKKzoxMDg5MzAwMDg4MDQ4MkMwMDA5MTA0MjAwMzA5MDAwMjhBMDBCMzBBNUYKKzoxMDg5NDAwMDIwQzQ4QjM0MDJDQzAwQjkwMDJDQzAwMDMwMDIxODA0QzMKKzoxMDg5NTAwMDMwMDAwMDAwMDAwMDAwMDBGODE1QUMwMERCMDBCMEMwRTMKKzoxMDg5NjAwMDBFOUMwMkM1MDBDMTEwQjJDMDBEQjAwQkE3MDhGRjAwREQKKzoxMDg5NzAwMEIzQzAwRkZBMDNGQzAwRkQwMDNFRDQwQ0YwMEIyRTA0MzQKKzoxMDg5ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwNEVEMDAzRTQwQUMKKzoxMDg5OTAwMDBGODQwM0U1NDBGOTQwM0U2MENFQjQ0MzY0MDBGQjgwQTEKKzoxMDg5QTAwMDNFQzIwRkIwMTNFQzAwRjkwMjNFQzA0RkIwMDNFMTAwMkQKKzoxMDg5QjAwMDMwMDAwMDAwMDAwMDAwMDA5MDEwRkYwMENFMDAzM0MwMjcKKzoxMDg5QzAwMDBFQzAwNzc0MDRFQzAwMTE4MDBDQ0EwM0ZFNjBGRjAwQTcKKzoxMDg5RDAwMDNGQzAwRkYwODMzQzAwREQwMEIzNTAyQ0YwMDMyMDA0QjcKKzoxMDg5RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNEMwNDhCMEIyMjcwNUUKKzoxMDg5RjAwMDA4MDgwMzY3MjA4QTg4QTIwMDI4ODQwMkU3MDBCQjAwRDkKKzoxMDhBMDAwMDNFQzAwQkIwMDIyQzAwQjkwMDIyNjEwOEIwMDM2MDQwRTgKKzoxMDhBMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMjAyMkUyRTYKKzoxMDhBMjAwMDBBOEMwMjI2MDBBOTgwMkFDMDA4QjQ0MkVEMDBCQjAwQ0YKKzoxMDhBMzAwMDJFQzAwQjMwMDIyQzAwQjkwMDIwODAwODMwMDI2MDAwRUMKKzoxMDhBNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEUwMTgxMDBBMEMwRUEKKzoxMDhBNTAwMDA4ODEwMjQ0MDA4MTAwMjg4MTA4MzIwMkNDMDBCMzAwNjIKKzoxMDhBNjAwMDI4QzAwQjMwMDIwQzgwQjEwMDIwQzAwODMwMTI0MjAxMzcKKzoxMDhBNzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEMyMDEzMkMwNDgKKzoxMDhBODAwMDJFODAxNjJDMDhFOTAwM0E0MDBDODAwM0VDMDBGNzAwMTkKKzoxMDhBOTAwMDJGQzAwRkYwMEIyQzAwRDkwMDMwNDAwQ0YwMDM2MDAzMDYKKzoxMDhBQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDBERjgwOEZGMDAzRkMwQ0IKKzoxMDhBQjAwMDBGQzIxN0ZDMDBGNzAwMzcwMDBGODQwM0ZDMDBGRjAwMTMKKzoxMDhBQzAwMDNGQzAwRkYwMDNFRDAwRkQwMDNGNDAwRkYwMDNFODA2NEMKKzoxMDhBRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMENGMzAxNzQ4MDcKKzoxMDhBRTAwMDBDNTkwM0I5MDBERjI4MzUyNDBEODJBMzdDODBGRjAwRDgKKzoxMDhBRjAwMDNGQzgwRkYyMDNFNEEwRUY4MDNGRTE4Q0Q4NDMzMDAwODEKKzoxMDhCMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUQ0ODg5MzRBMzcwNjAKKzoxMDhCMTAwMDI4QjAyMzYwMDA4QkMwMjI0MDA4QjQ4MjJGNDBCRkQxMTAKKzoxMDhCMjAwMDZGRjQ4RUJEMDJFNzAwQkI4MDNBRTAwODk4MEEyODA0ODMKKzoxMDhCMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzRCMDkxMDBBODUwN0IKKzoxMDhCNDAwMDA4QjIwMkM4ODQ5MzAwMjQ0OTBCMDIwMjRDMDBCMzA0MEIKKzoxMDhCNTAwMDJDQzAwQjMwNDI4NDAwQjMwMDJFMDAwQUIwMTIyMjAxNTgKKzoxMDhCNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQUMwMjk5MTgyQTQ0RjcKKzoxMDhCNzAwMDA4Qjg4MkEyMDFCQjAwMjg2MDBBQTAxMjZDMDBCQjAwRUEKKzoxMDhCODAwMDZFQzAwQUIwMDJFNDAwQkIwMDJBMDAyQUIwMDIzODA0MUEKKzoxMDhCOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRTQwOERBQzAzQTYwMDQKKzoxMDhCQTAwMDBDMTgwQUVCMDREQjAwMzZFMDA3ODU4MzZDMDBGQjAwNDEKKzoxMDhCQjAwMDJFQzAwRkIwNDNFNDAwRUIwMDNFODgwRTE4MDMxMDA0RjMKKzoxMDhCQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDQxOUMxMEU5MDAzNzYwRTgKKzoxMDhCRDAwMDg3RjAxNzcwMDBDRjAxMzdDMDRDOTgwM0JDMDBGQjAwMzIKKzoxMDhCRTAwMDNGQzIwRkYwMDNFNDAwRkY0MDNGRTQwREQ5MDNGMDAwNjMKKzoxMDhCRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMEY0MDAzMDQwQkQKKzoxMDhDMDAwMDBGQjQwMzk5MDBGQjAwM0VDMDBEMDQyMzJDMDhGQjg4MjEKKzoxMDhDMTAwMDMyQzAwRkIwMDNFNjAwREIxMDNFMDIwRkIwODNEMDA0NzkKKzoxMDhDMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEI5NTBBMjQ4MzgKKzoxMDhDMzAwMDhCQjAwMzIwMDBENzgwMkVEODAwODAwMjNDMDBCRjgwN0MKKzoxMDhDNDAwMDIzRTg4QkYwMDJGNDQwOEI0MDBDNDIwM0I2MDJGMjAwQTIKKzoxMDhDNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIyNDQwMEM4RTUKKzoxMDhDNjAwMDBCMzAxMjhDMDBBMzgwMjRDODBCMDAwQUNDMDBCMzQ0NDQKKzoxMDhDNzAwMDA0QzAxQjM2MDJDNTAxODMwQzJDQTAwQjMwMDJGODAwODcKKzoxMDhDODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwOEI3OTAyMTY0ODEKKzoxMDhDOTAwMDBCRjgwMjRBMDQ5NzgxMkZFNDBBNzgwMjlFMDBCNzgwRkQKKzoxMDhDQTAwMDIxRTA4Qjc4ODJENjg2ODc4NDJEQTAwQjc4MDJDMDAwQzUKKzoxMDhDQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDQwMEYyMDAzMEMwM0UKKzoxMDhDQzAwMDBGMzAwMzhDMDBFMzBBM0NDMDBGMTgwMzhDMDBGMzAyNDIKKzoxMDhDRDAwMDMwQzAxRjMwMDFDNjgwQzMwMDNDQzAwRjEyMDNEQTAyNEYKKzoxMDhDRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDBEQkMwMEZGMDAzRjQxRkMKKzoxMDhDRjAwMDBGRjAwM0I4MDhGRjA4M0ZDMDBERjAwMzNDMjBGRjA4NDkKKzoxMDhEMDAwMDNCRDIwRkYwMDNGNDQwRUYwMDNGQzQwRkQwMDNEMDA2NzYKKzoxMDhEMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMEZFMDAzMkMyNzAKKzoxMDhEMjAwMDBDMzAwQjI2MDBGQjgwMzZDMDBEQTAwM0VDMDBGQkUwRUUKKzoxMDhEMzAwMDMyRDAwRkI4NDM2NDQ0REIwNDNFODAwRkIwMDNFMjAwM0UKKzoxMDhENDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MDBBMUMwQTYKKzoxMDhENTAwMDg4NzAwMzEwMDBCNzIwMjFDMDA4NzAwMkRDODBCMzMwOTcKKzoxMDhENjAwMDMxQzgwQjc0MDIxNDAwODc0MDJEQzA0QjcwMDJEMjAwMzIKKzoxMDhENzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOTYyMEI2ODAyMEUwRTcKKzoxMDhEODAwMDI4RjgwMjk0MTBCNzgxMjdFMjA5NzgwMkRFMDBCN0EwMjQKKzoxMDhEOTAwMEE5RTgwQjM4MDI3NjAwODc4MDJEQTAwQjU4MDJGMDAwNUUKKzoxMDhEQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0UxMEIzMDAyMEM0RDIKKzoxMDhEQjAwMDA4MjAwMjgwMTBCMzAwMjJDODA4QjAwMkNDMTFCMzAyMTAKKzoxMDhEQzAwMDI4QzAwQjMwMDIwNDAwOTM4MDJDRDIwQjEwMDJEMjA0NzYKKzoxMDhERDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZFNDAzMkEwQUUKKzoxMDhERTAwMDBDRTQwMzk4ODBGQTAwMzdBMDBERTA4M0U4MDBGRTAwNTEKKzoxMDhERjAwMDNBODAwQkEwMDM2ODAwRDhBMDNGOTAwRkEwMDNGQTA0QUMKKzoxMDhFMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwOEY4MDgzRTAwOTQKKzoxMDhFMTAwMDBGODAwMzIwMDBGODQwM0UwMDBGODAwM0UwMDBGODA0QkMKKzoxMDhFMjAwMDMwMTAwRjgwMDNFMDAyRTgwMDNFMDAwRjgwMDNEMjAwMDQKKzoxMDhFMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEYxMDAzMjQwQTMKKzoxMDhFNDAwMDBFOTA4M0E0MDBDOTgwM0U0MDBFOTAwM0E0MDBGOTAwNTgKKzoxMDhFNTAwMDNFNDAwQzkwMDNFNDAwQzgwMDNFNDA4RjkwMDMwMjA0QTMKKzoxMDhFNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDBBMDYyRUYKKzoxMDhFNzAwMDA4MTAwMjI0MTA4OTAwMkU0MDA4OTAwMjI0MDBCOTAwMzYKKzoxMDhFODAwMDJFNTIwODk0MDJDNDAwODk0MDJFNDAwQjEwMDM2MDEwM0IKKzoxMDhFOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MTgyMjQ0NEEKKzoxMDhFQTAwMDBBOTAwMkFDMDA4OTEwMkVDMDBBOTAwMkE0MDBCOTgwN0EKKzoxMDhFQjAwMDJFNjAwODk4MDJFNjAyODkwODJFNDAwQjkwMDIwNjAwRjgKKzoxMDhFQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MEIxMjBBMDQ4MTkKKzoxMDhFRDAwMDA4OTAwMjI0MDg4MTIzMkM1MDA4MTAwMjA0ODBCMTIwM0QKKzoxMDhFRTAwMDJDNDgyODEyMDJFNDgwODEyMDJDNDAwQjk4MDI0MjA1NzUKKzoxMDhFRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTAzMjAwOTIKKzoxMDhGMDAwMDBFODUwM0ExRTBDQTAwM0UwMDBFODUwM0EwMDBGODAwMTQKKzoxMDhGMTAwMDJFMDA5Q0EwMDNFMDAwQzgyODNFMDAwRjgwMDMyRTAxMTUKKzoxMDhGMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY1MTAzRjQ0ODAKKzoxMDhGMzAwMDBGRDAwM0Y0MDBGMTEwM0Q0MDhGRDQwM0U0NTBGOTEwM0EKKzoxMDhGNDAwMDNFNDUwRjkxMDNENDQwRkMwMDNGQzA4RkQwMjNFNjA0ODAKKzoxMDhGNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMENEQTgzMzQwOTYKKzoxMDhGNjAwMDhERDAwMzI2ODBDRDAwM0Q1MDBDOUEwMzY0MDBGOUEwRkIKKzoxMDhGNzAwMDdBNkEwRjlBNjNFNjgwQzk4MDNFNDAwRjkwMDMwNjAwMkMKKzoxMDhGODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwMDg4RTAzNjAwQUEKKzoxMDhGOTAwMDA4ODAwQTIxNDJDODAwMkUyOTBDQTQ0MjIwMDBCODQwQjMKKzoxMDhGQTAwMDJFMDAwQjgxMDJFMTAwODgwMjNBMDEwQkMwMDIwRTA0ODAKKzoxMDhGQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMjgxMDgyNDQwQzEKKzoxMDhGQzAwMDA5MTAwMjA0MDA5MTAwMkM0MDRCMTQwMjQ0MDBCNTEwMUIKKzoxMDhGRDAwMDI5NDAwQjUwMDJGNTAwQjUwMDJENDAwQkQwMDIwMjAxRDQKKzoxMDhGRTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTYwMTg5MDAyNjQwNTIKKzoxMDhGRjAwMDA4OTQwMjI0MDE4OTAwMkU0MDFBOTAwMjZDMDBCRjAyREUKKzoxMDkwMDAwMDJGNDAwQkQwMDJGNDAyQkQ4MDJCNDA4QkQ4M0EwNjA0Q0YKKzoxMDkwMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDUzNjQxMTIKKzoxMDkwMjAwMDBEMUMwMzI0MDBEOTAwM0U0MjJGOTQwMzY0MDBGOTAwNzQKKzoxMDkwMzAwMDNBNDAwRjkwMDNDNDAwRjkwMDNFNzAwRjEwMDMyODA0NUIKKzoxMDkwNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQwOEY5MjQzRTQwNjAKKzoxMDkwNTAwMDBGOTEwM0U0MDBGOTAwM0U0MTBEMTAwM0E0MDBGOTAwNTQKKzoxMDkwNjAwMDNFNDAwRjkwMDNFNDAwQzkwMDNFNjQwRjkwMDNDQTAwMjUKKzoxMDkwNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwOEM4ODAzMjAyMzQKKzoxMDkwODAwMDBGODAwMzAwMDBDODA4M0ExMENFODQwM0UwMDBGQzAwMDMKKzoxMDkwOTAwMDNGMDA4RkMwMDNGMDgwRkMwMDNGMTgwRkMwNDNDQTA0OUMKKzoxMDkwQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFMDBBMTgwOUMKKzoxMDkwQjAwMDBCRTAwMjI4MDBERUMyMjM5MDAwQTAwMkU4MDBCQTAwMDQKKzoxMDkwQzAwMDJFODAwQkEwMDJFODAwRkEwMDJFODAwQkEwMDJDQTAwM0UKKzoxMDkwRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDk5ODE2MEMwOUQKKzoxMDkwRTAwMDBCMTAwMjBDMDA5MDEwMkFGQzBCMzAwMkNDMDBCMzAwRDUKKzoxMDkwRjAwMDJDQzAwQjMwMDJDQzAwQjMwMDJDQzAwQjMwMDJDQTAwRDUKKzoxMDkxMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUM4Mjk1NDAyMUMwMUEKKzoxMDkxMTAwMDBCNTAwMjFDODA5MDgwMjMwMTA5NzIxMkRDMDBCNjAwMDMKKzoxMDkxMjAwMDJEMDAwQjQwMDJEMDAwQjQwOTJEMDA0QjQwODJFODAwMTYKKzoxMDkxMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0U4MEREODBCMUUwOTMKKzoxMDkxNDAwMDBGREEwMzBGODBENDgwMzlFMDBCN0EwM0RFMDBGNTgwNUMKKzoxMDkxNTAwMDNEMjAwRjQ4MDNENjEwRjY4MTNERTA4RjY4MDNFQTAyRjgKKzoxMDkxNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEVEMDAzRTAwMDMKKzoxMDkxNzAwMDBGOTEwQkVDMTBGODAwM0UwMDBFQjAwM0VDMDBGODAwNkQKKzoxMDkxODAwMDNFQzA0RkIwMDNFODAwRTkwMTNFMDAwRjkwMDNDMjA2NjUKKzoxMDkxOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUyMEJGODEzM0E0MzUKKzoxMDkxQTAwMDhDMTkwMzNFMDBDRDgwM0ZFMDBGRjg4MzNFMDBFRjgwMzYKKzoxMDkxQjAwMDNGRTAwRkY5MTNGQTEwRkQ4MDNGQTQwRkQ4MDNDMDAwNjEKKzoxMDkxQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJGMjAzMUMyMDgKKzoxMDkxRDAwMDA4NUEwMjNDMDI4NzAwMkQ5NDBCNzAwQTFDNDA4NjEwMkUKKzoxMDkxRTAwMDJEMDAwQjQwMDJENDAwRjYwMDJENDA0QjYwMDJFQTA0MzMKKzoxMDkxRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDEyMzgwMTgKKzoxMDkyMDAwMDI4NTAwMjFDMDA4NDAwMkRDMDBCMzAwMjFDMDBCNTAwNDkKKzoxMDkyMTAwMDJEMDAwQjQwMDZEMDQwQjQwODJEODAwQjQ4MDJDMDAwNDIKKzoxMDkyMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEIzMDhBMDIwQTMKKzoxMDkyMzAwMDA4MTE4QTBFMDA4MDAwMkM5MDBCMzcwMjBDMDA5MDAwNjEKKzoxMDkyNDAwMDJDQzAwQjMwNDJDQzA0QTM4MDJDNTAwQjMwMDJDODA0M0QKKzoxMDkyNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEY5ODAzMjYwNUEKKzoxMDkyNjAwMDBDRDQwMzNDODA4ODAwM0VEMDBGRjgwMzI4MDBGQTAwOUQKKzoxMDkyNzAwMDNFQzAwRkIwMDdFQzAxQkI4MDNFNTQwRkIwMDZFQTA0QkQKKzoxMDkyODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUUwOEY5ODAzQUMwOTUKKzoxMDkyOTAwMDBGOTAwM0VDMDBGODQwM0U1ODBGQjA0M0U5MDBFQjQ0NTgKKzoxMDkyQTAwMDNFMDAwRjgwMDNFMDBERjgwMDNFODAwRjgwMDNFMDAwRDkKKzoxMDkyQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMENGMDAzMzQwNEYKKzoxMDkyQzAwMDBDRDAwMzNDMzBDQzAwM0JDMDJERjAwM0Q4MDJDQzAwQzYKKzoxMDkyRDAwMDNEMDAwQ0MwMDNGNDAwRUUwMjM3NDAwQ0UwMDNDMDQ0MzQKKzoxMDkyRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMxODgzODQyMDAwMUUKKzoxMDkyRjAwMDRBMTAwMjBDMDBBODQ4MkU2MDA4QjAwMkU5MDA4OTQwMUMKKzoxMDkzMDAwMDJFQzAwOEIwMDJFODEwQjEwMTIwODAwQTkwMDNBMDQwRUUKKzoxMDkzMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCODIyMjA4NTUKKzoxMDkzMjAwMDA4OTAwMjJDMTQ4ODA0MkMwODA4QjAxMkU4MDA4QTAwNjcKKzoxMDkzMzAwMDJFQzAwQUIwMDJFODAxQjkwMDI2MDQwODkwMDJFMDAwM0QKKzoxMDkzNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzODBBMkMwNjAKKzoxMDkzNTAwMDBBOTIwMjJDMDBBMjAwMkMwMDA4MzQwMkM4MDA4MzAwRUMKKzoxMDkzNjAwMDJDMDAyODAwMDJDNDAxQkEwMDIyQzAwMjIwMDZDMjAxNUIKKzoxMDkzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENBMDBCMjAwRjgKKzoxMDkzODAwMDBDOTIwQjJDMDRDODA0M0EwMDBDQjQwM0U4MDBDODAwOEIKKzoxMDkzOTAwMDJFMDAwQzgwMzNFMTQwRTgwMDM2MDAwQzgwMDNDMDAzNEYKKzoxMDkzQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRDAwNzgKKzoxMDkzQjAwMDBGRDEwQkZDMDFGQzAwM0YwMDBGRjAwM0Q4MDBGRDAwQjMKKzoxMDkzQzAwMDNGQzAwRkYwMDNGQzgwRkYwMDNGQzAwRkYwMDdBODA2NkUKKzoxMDkzRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1RjMwMENGODAzNTYwNzEKKzoxMDkzRTAwMDRFNjg0MzVDMDBFNzgwMzlDMDBDQzEwMzdFMDBDRjM0NzcKKzoxMDkzRjAwMDM1RTE0REYyMDM3QzAwREYzODNGQzgwRkY4MDNGMDAwODEKKzoxMDk0MDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE4QzgwMERCODQyMjYwNkIKKzoxMDk0MTAwMDA4QUMwQTJDMDA4QjgwMjIzMDA4OTEyMjJDOTAyNzYxMDYKKzoxMDk0MjAwMDIyQ0E4OEZDMjJCRjAwOEI2MjJGRDAwOUI4MDNCMDA0ODcKKzoxMDk0MzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1RTI4MEE5MDIyNDQwQkUKKzoxMDk0NDAwMDgyMzQ0MjA0MDBBOTAwMjhDNTQ4MzIwMjRDMjA4MzMwRUYKKzoxMDk0NTAwMDIwQzAwODMxMDIwRDAwQjMyMDJDQzQwQjMwMDJGMjAxRjEKKzoxMDk0NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QUEwMkI5MDQyMjYwREMKKzoxMDk0NzAwMDI4QjIwMjI2MDA4OTg4MDJDMDA4MzExMkVDMDA4QjAwNTUKKzoxMDk0ODAwMDJBRDAwOEIwMDJBQzAwMkIwMDJFQzAwQkIwMDJCMDA0RjIKKzoxMDk0OTAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1RTIwMEUzMDAzNjIwOEMKKzoxMDk0QTAwMDBFQTQ2MzZFMDBFMUMwMUFDMTBDODAwMzY4NzBDQjAwOEIKKzoxMDk0QjAwMDM2ODAwREIwMDM0QzAwRkIwNDNFQzEwRkIwMDNEMDA0NTYKKzoxMDk0QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwNERGMDAzRjAwNzEKKzoxMDk0RDAwMDBGRTgwM0ZDMDBGRDAwM0YwMDJCOTgwMzNBMDA3NzAwRTMKKzoxMDk0RTAwMDI3RTQwRkYwMDNGQzAwREYwMDNFQzAwREYwNDNGODAwNUUKKzoxMDk0RjAwMDYwMDAwMDAwMDAwMDAwMDA1MDAwQTQ2OENCMjAzQTkwRkIKKzoxMDk1MDAwMDBGMjRBM0FDMDBFOTUwM0FDMDBFQjQ4MzJDMDhFQjAwNDIKKzoxMDk1MTAwMDNBOTAwRUIwOEJFQzgwRkIwMDNFQzAwRUIwMDM5MDA0N0UKKzoxMDk1MjAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMEEwMDhCQTAyMDgwN0QKKzoxMDk1MzAwMDBEQTgwMjJDMDQ4OTQwMjhFODA4QjIwMjJDMDBBRjAwRDQKKzoxMDk1NDAwMDAyODAwODdDMDMzRDgwM0YwMDJGQzAwOEIwMDIzNjAwMzcKKzoxMDk1NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDkwMDAzNDAyOEMwNzIKKzoxMDk1NjAwMDJCMjg0QTI4MDBBMTAwNjhEMjBBMjA0MkE0MDFBMzAwQTcKKzoxMDk1NzAwMDAyNDAwQTM0MDIwRDAwMzMwMDJDQzAwQTMwMDBCODAwNEIKKzoxMDk1ODAwMDUwMDAwMDAwMDAwMDAwMDBCODAxMUEwMDg3OTAyMUU0OUMKKzoxMDk1OTAwMDJCQzgxMjNBMDA4NUMwMkIyMTI4NjgwMkI2MDBBNzg0ODgKKzoxMDk1QTAwMDIzNjAwODM4ODAxRTAwQjc4MDJERTAwODc4MDIyRTAwNjYKKzoxMDk1QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEMxMDAzODU0QzYKKzoxMDk1QzAwMDBGMjY4MzgwMDBFMDM0MjhDODBFMkMwQjhDMDBFMzAwQUIKKzoxMDk1RDAwMDc4NDUwRTMwMDM4RTgwRjMwMDNDQzgwRTMwMDM5MjAyQjMKKzoxMDk1RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjgwMEY1MDIzRjQ0RUMKKzoxMDk1RjAwMDBEOTAwM0Y4MDBCRDE0MUZDMDBGRTEyMzVDNDQ5RjQyOEYKKzoxMDk2MDAwMDNGQzAwRkY0ODI3RDQwRkYxMDNGQzA0RjcwMDdEMDA2NkYKKzoxMDk2MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMkNCMDAzOEMwOTAKKzoxMDk2MjAwMDNDQTAwM0VDMDBFOTAwM0VDMDBDQjAwMzIwMDRGQjIxODkKKzoxMDk2MzAwMDNFODA0RkI0MDNDRjAwQ0IwMDNFQ0M0RkIwNDNFQTAwOTYKKzoxMDk2NDAwMDcwMDAwMDAwMDAwMDAwMDBDODkxOTgwMDg3MDAyMUMwNTEKKzoxMDk2NTAwMDA4NDAwMkRDMDRCNTAwMkQwMDJENzAwMjFDMUNCNzAyNkUKKzoxMDk2NjAwMDJEQzAwQjcyMDJEQzAwODc0MDJEQ0E4QjcwMDJGMjA0MDEKKzoxMDk2NzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQkEwMDg3ODgyQkUwMzYKKzoxMDk2ODAwMDE4NzgyMkQ2MTFBNDgyMkZFMDA4NzgwMjEyMDBCNzk0MkQKKzoxMDk2OTAwMDZENjA0QjdBMDJERTQwQjdBMDJERTAwQjc4MDZFMDAwNEIKKzoxMDk2QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0QzkxMjgzODIyOEQ0NjIKKzoxMDk2QjAwMDk4MDAwNkVGMDVCMTkwMkNDMTA5QjQwMjBDMDRCMzAxNjcKKzoxMDk2QzAwMDZDRjAwQjMwMDJDQzAwQkIwMDJFQzAwQjMwMDJEMjA0NzkKKzoxMDk2RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg0MENBODAzQkEwNDAKKzoxMDk2RTAwMDRDRTUwMkY4ODBFRTAwM0Q4MDJDRTAwRjM4ODBGQTAwNTcKKzoxMDk2RjAwMDNGQTkwRkEwMDNFODAwQkEwMjNFODA4QkEwMDNGQTA0NDIKKzoxMDk3MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMEY4MDAyNjAyQTEKKzoxMDk3MTAwMDBGODQwM0UwMjRGODAwM0UwMDRGODBBM0UwMzBGODAwRkYKKzoxMDk3MjAwMDM2MDIwRjgwMjNFMDA0MDgwMDNFMDAwRjgwMDNEMjAwQzEKKzoxMDk3MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEQ5MDBCNjQxMkQKKzoxMDk3NDAwMDRFOTkwQkE0MDA2OTEwM0U0MDBDOTAwM0E0MTBDOTAwNzAKKzoxMDk3NTAwMDNFNDAwRDkyMDNFNjAwRjkwMDNBNDAwRTkwMDNDMjA0MjkKKzoxMDk3NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDgxMDAyMDQyRkUKKzoxMDk3NzAwMDA4MTQ5QTI0MDA4OTAwNkU1MDAwOTAwMjI0MTBEOTAyMjcKKzoxMDk3ODAwMDZFNDAwQjk0MDNBNzAwQjkwMDIyNDAwODkwMDNFMDAwNEMKKzoxMDk3OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MDYwMDk5MDBBNjQxMTYKKzoxMDk3QTAwMDBBOTAwNjJDMDBBOTA5NkU1MDA4OTEwMjg0MDQ4OTAwRDEKKzoxMDk3QjAwMDBFNDAwQjk0MDJFNTQ5QjkwMDBBNDAwQTkwMDJDNjAwMjcKKzoxMDk3QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDYwMDgxMDAyMjQwNjQKKzoxMDk3RDAwMDA4MTIyMjA0ODFBMTAwMkM0MDA4MTYwMjA0MDA5MTIwRTYKKzoxMDk3RTAwMDJDNDAwQjEyNDI4NDg5QjEyMDIwNDgwODEwMDJDMjAxOEIKKzoxMDk3RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4MDAzNjAwRjUKKzoxMDk4MDAwMDBBODAwM0ExNDBFODAwMkUwMDBDMDAyM0ExNDBDODUwQUMKKzoxMDk4MTAwMDJFMTQwRDgwMDNFMDAwRjg1MDNBMDAwRTgwMDNFRTAzOTIKKzoxMDk4MjAwMDUwMDAwMDAwMDAwMDAwMDA4ODFERDQwMEY1MDBCRjQwN0IKKzoxMDk4MzAwMDBGRDEwM0Y0NDRERDAyM0Q1MDJCRDEyM0Y0MDBGOTEwODUKKzoxMDk4NDAwMDNGNDAwRDkxMDNBNDQ4RjkxMjNFNEUxRjkwMDNBNjAyMUIKKzoxMDk4NTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RjQwMEM1MDQzQjQwMzMKKzoxMDk4NjAwMDBGRDgwM0E3ODBGRDAwQjM2ODBERDg0M0E1MTBDOUEwODkKKzoxMDk4NzAwMDMyNTE0RjVBNDMzNjAwQzlBMDdBNjgwQkQwMDNDNjAxNTMKKzoxMDk4ODAwMDcwMDAwMDAwMDAwMDAwMDA3ODE4Q0E4ODg4MDIwMjAwRkEKKzoxMDk4OTAwMDhEODQyMjIzNDJGODAwMjIwNDI4OEFBMkFBOTQ4OEU5MEYKKzoxMDk4QTAwMDIwQTgwQTgwMEEyMTQwODBFMjJFMjgwQjgwMDJDRTA0RTQKKzoxMDk4QjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzQyMEExMDRBOEMwM0EKKzoxMDk4QzAwMDBCMUMyQTI0MDAzOTA0MjA0MDJBMUUwMkU0ODBCMTEwMTcKKzoxMDk4RDAwMDJBNDgwOTE0NDYwNDAwODEzODJDNUIwQjEwMDJEMjAwODAKKzoxMDk4RTAwMDMwMDAwMDAwMDAwMDAwMDAxODA1QTQxMkE5MjQyMjQwNDYKKzoxMDk4RjAwMDI5OTAwMjI0MDAzOTAwMDI1ODA4MTgxMEU2MDFCOTAwMjYKKzoxMDk5MDAwMEFBNDQwODkwMDIyNDAwODkwMDBFNDEwQjkwMDJDNjA0NkMKKzoxMDk5MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTQwMEUxMDEyQTY0RUUKKzoxMDk5MjAwMDJGOTQxMzI0MDI3MTYwMTI2MDREOTAwMEM1MDJGOTAwNUIKKzoxMDk5MzAwMDNBNDAwRjkwMjMyNDAyQzkwMjNBNDAwRjkwMDJFODA0RjMKKzoxMDk5NDAwMDUwMDAwMDAwMDAwMDAwMDA2ODAxQTQwMEQ5MDAzRTYwNDMKKzoxMDk5NTAwMEFGOTA4MzY0ODhGOTIwM0U2MjAzOTA4M0E0MDBDOTAwMUQKKzoxMDk5NjAwMDM2NjAwRjEwMDNDNDAwRjkwMDdFNDAwRjkwMDNEQTAwNDgKKzoxMDk5NzAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTEwMEM4ODIzMjAwNDIKKzoxMDk5ODAwMDZGMDAwM0EwMDBEODQwMzAwMDBFODAwMzYwMDRGODAxOEYKKzoxMDk5OTAwMDNFMTA0RjgwOEIyMjAwRjgwMDMyMDEwRTgwMDNDQTA0NzMKKzoxMDk5QTAwMDIwMDAwMDAwMDAwMDAwMDAyODAxMzgwMDBFMDBBOTkwRUYKKzoxMDk5QjAwMDJGRTYyMDg4MDA5RTgwMjM4MDBBRTgwMzI4MDBCQTAwNTIKKzoxMDk5QzAwMDE4ODAwREVDMDIzODgwQkEwMEEyODAwOEEwMDM4QTAwM0IKKzoxMDk5RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMjgzODAyMEM4QzEKKzoxMDk5RTAwMDBCMjAwMjBDMDE5MjEwNjhDMDNBM0MwMkNDMTAzQjAyRTIKKzoxMDk5RjAwMDBDQzAyODNDMDI0RTAwQjMwMDI4QzAyODMwMDJDQTAwMjgKKzoxMDlBMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMDg3NDIyQkMwOUQKKzoxMDlBMTAwMDI5NzAyMjlDMDBCNjAwMkJDMjBBNjA4NjFDMDBCNzIxNjgKKzoxMDlBMjAwMDI5QzAwMDc0MDI1QzAwMzc5MTAxRTAwODc0MDJBODAwQUMKKzoxMDlBMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEM3ODAyMUUwRDAKKzoxMDlBNDAwMDJGNzgwMjlFMDA5NjgwMzlFMDJFRjgwM0RFMzBGN0QwQTIKKzoxMDlBNTAwMDJERjIwMDc4MDM1MjAwRjdBMjNCRTAwRTc4MDdFQTAyRUQKKzoxMDlBNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQjQwMEZCMDAwQ0MwNTYKKzoxMDlBNzAwMDBGMzAwM0VDMTBEMzAwQjRDMDJGODAwMzZDNDhGQjAwMDAKKzoxMDlBODAwMDNFQzg0RDkwMDNBNDAwRkIyMDFFQzAwRkIwMDNDMjA2QzkKKzoxMDlBOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMENDODAyQjJDQzAKKzoxMDlBQTAwMDJGRjgwMzdFMDA2RTgwM0JBMTBERDg0MzNFMDBGRjkwNEYKKzoxMDlBQjAwMDMzRTAwRkU5MzNGRTAwQ0ZDMDNGRTIwRkQ4MDNDMDAwMTAKKzoxMDlBQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExQjQ0MDg3MDAyMTA0Q0QKKzoxMDlBRDAwMDA4NzgwMjFDMDA4NjAwMjFDMDI4OTAwMkRDMDBCNzEwMjQKKzoxMDlBRTAwMDIxQzAwRjczMDJDQzAwODcwMDJEQzAwQjUwMDJFQTAwOEEKKzoxMDlBRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUQwMEE0MDAyOTQ4NTQKKzoxMDlCMDAwMDZBRjA4MjRDMDBBRTAwQTFDNDI5NzQwMjVDNDBBMzEwMkMKKzoxMDlCMTAwMDYxQzIwQjYwMDZDODAwODcwMDJEQzAwQjUwMDJDMDA0NTQKKzoxMDlCMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RTYwMUEzMDIyMDQwRjUKKzoxMDlCMzAwMDI4M0MwMjBDMDA4MzQyMjBDODA4MTAwMkNEMDBCMzAwNkMKKzoxMDlCNDAwMDI4RjAwQjMwMDJDQzAxODMwNDJDQzA4MzEwMDJDODA0MUYKKzoxMDlCNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUE4MEVCMDAzOEMwMEIKKzoxMDlCNjAwMDBBOTAwMzdDMjJBMjQwMzI0ODBEQjAwQjNFMDBGRjAwNTkKKzoxMDlCNzAwMDMzRjQwRjkwMDNFQzAwOEYwMjNGQzAwRjkwMDNFQTA0MTAKKzoxMDlCODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTAwMEQ5MDIzRUMwM0MKKzoxMDlCOTAwMDBFQjYwM0VDMDBGQTIwM0VDMDRGMjQyM0FDNjBGQjAwNUQKKzoxMDlCQTAwMEE2QzAwRTkwMDNFNDAwRkIwMDNDQzEwRjkwMDNFMDAwNTAKKzoxMDlCQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjgwMkNGMDAzM0UwODgKKzoxMDlCQzAwMDJDRjAxM0JDMDAyRTEwQjE2NDJFRjAwMjNDMDBGRjAyRkEKKzoxMDlCRDAwMDNGQzE0REVDNjNGRTAwQjcwMDNCQzAwQ0Q4MDNDMDQ0NEUKKzoxMDlCRTAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMyODgxODEyMkUwMjkKKzoxMDlCRjAwMDBBMzgwMjNDMDRCQUM5MzJFMDIwODQwMjJDMDBCQjAwQkYKKzoxMDlDMDAwMDJFQzAwQjlDMDJFNzgxQkIwNDIyQzAwQTk5MDJFMDAwMkYKKzoxMDlDMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1Mjg0MDg4ODAyMjg4OTUKKzoxMDlDMjAwMDI4QkM0MkFDMDBCQTAwMkE4MDA4ODQwMkFDMDBCQjAwMDkKKzoxMDlDMzAwMDJFQzAwQkIwODJFODkwQUIwMDYyQzAwOEIwMTJFMDAwMEEKKzoxMDlDNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDg5MDAyQTgwOTUKKzoxMDlDNTAwMDI4QjIwMjBDMDBCQTAwMjBDMDA4MDAwMjhDMDBCMzAwMzkKKzoxMDlDNjAwMDJDQzAwQjMwMjA0QzE0QjMwMDIwQzAwODMwMDJDMjAxQkQKKzoxMDlDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjgwMEM4MDBCMkMwMzUKKzoxMDlDODAwMDJDQjIwM0FDMDBGQTAwM0FDMDRFQTUwM0JDMDBGRjAwQTIKKzoxMDlDOTAwMDNGQzAwOUEwMDNFOTA0RUYwMEJBQzAwQ0IwMDFDMDAxNDUKKzoxMDlDQTAwMDEwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEY1MDAzNUMwMDUKKzoxMDlDQjAwMEFGMzQwM0ZDMDBGNDAwMzlDMDBGQzIwMzdDMDBGRjAxODUKKzoxMDlDQzAwMDNGQzAwRkYwMDNGQ0EwRkYwMDNGQzAwRkYwMDNFODA1MEEKKzoxMDlDRDAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMEZGMjkzRDIwREUKKzoxMDlDRTAwMDhFQzEwMzMyNDhEQzgwMjMyNTBFRjIwMzNDQzBERjg0QTIKKzoxMDlDRjAwMDMzQzkwRkYyMDNGQzAwQ0Y4MDMzNDAwQ0YyMDMzMDAwNzUKKzoxMDlEMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUNDMEJCNjAyRTA4NTYKKzoxMDlEMTAwMDA4ODEwMjIwMDQ4ODIwMjA0ODA4RjE4MjJEQzA4MzAwOTkKKzoxMDlEMjAwMDIyRDQwOUY1MDJGQzA4OEIwMTIyNDAyOEI0MDIyMDA0NDkKKzoxMDlEMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MyMEIzMDkyQzgyMTAKKzoxMDlENDAwMDA4MTAxNkEwMTA5MDA4Mjg0ODBBMzIwMjBDMDBCQjAwMjgKKzoxMDlENTAwMDJDQzAwQjMwMDJDQzAyOTMwMTIwMDA4QTMxMjJFMjAxOTgKKzoxMDlENjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwNEJCMDAyQzgwOTcKKzoxMDlENzAwMDA4ODYwMkEwMjBBMDAwMkE2MDBBQjAxMDJDMDBBQjBDQkMKKzoxMDlEODAwMDZFQzAwOUIwMDJDQzAwOUIwMDIyNjAwQUIwMDJGMDA0NTEKKzoxMDlEOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RUMwMEJCMDAzRTM0MzUKKzoxMDlEQTAwMDA4QTAwQjgzMDBEOTAyM0FFMDJFQjAwQjJDMDBGODgwRkIKKzoxMDlEQjAwMDNFQzA0RkIwMDNFQzAwQ0E0MEIyNzIwRUIwMEJDMDA0RkMKKzoxMDlEQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMxMEZCMDAzRjAwM0MKKzoxMDlERDAwMDBERjgxMzcwNDhERDQwMzdDMjhERjAwM0RDMDBEREM4OUMKKzoxMDlERTAwMDEzQzAwRkYwMDNGQzAwRUU0MDdGNDAwRDcwMDMzODAwRkQKKzoxMDlERjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDEzMkMwMTkKKzoxMDlFMDAwMDA0MTAwMzIwNDBFODEwM0FDMDBEQjAwM0FDMDhGODQwM0QKKzoxMDlFMTAwMEIyQzAyQ0IwMzNBNDgyREE0MEJBNDAwRkIwMDNEMDA0RjEKKzoxMDlFMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwOEJGODAyMkM4RDgKKzoxMDlFMzAwMDA4QjcwMDIzNDQ4OEQwMjJEMDA4NzA4MkZDMDBCMkUwMkEKKzoxMDlFNDAwMDAzRjQwOEY1MDIzNzA0OEJEMTIyNjA0QkZEMDJGMjAwQzcKKzoxMDlFNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIzMTBBNDQwRUEKKzoxMDlFNjAwMDA4MDAwMjQ4MDBBMDQyMkFEMDAxMzAwMjhDMDBCMzgwRDIKKzoxMDlFNzAwMDJDQzAwOTMxMDJDQzAwODkwMDIyRTgwMzM4MDJGODAwMjYKKzoxMDlFODAwMDUwMDAwMDAwMDAwMDAwMDA2MDAxMUUwMEI3ODAyNzY0NDEKKzoxMDlFOTAwMDY4NEEwMjUyMDA4QzgwMjFFMDA4NzgwMkRFMDBCNzgwMTgKKzoxMDlFQTAwMDJERTIxOTM5MDI1RTMwODU5ODIxRTQwQjc5MDJEODAwNDEKKzoxMDlFQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYzMjAzNDAwQkYKKzoxMDlFQzAwMDBDQjgwMzQ4ODBFMjIyMzhDMDBEMzAwMzhDMDBGMzAwNDgKKzoxMDlFRDAwMDNFQzAwRDMxMDNFQzAwQ0IwMDM4MDYwRjMwODNEMjAyQjgKKzoxMDlFRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEZGMDAzQjAxMUUKKzoxMDlFRjAwMDBGRDAwMzkwMDBGNjAwM0ZDMDBGRjQwMUZDMDBGRjAxRkIKKzoxMDlGMDAwMDMzQzIwRUY1MTNCQzAwRUQwMDNGQzQwRkYwMDNEMDA2QzIKKzoxMDlGMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwMEZCMDAzQ0MwNTEKKzoxMDlGMjAwMDBFQTAwMTY0MDFEODAwMzJFMDJDQjUwMzJDMDBGMjAwMzEKKzoxMDlGMzAwMDdBQzAwREI0MDMyRDgwQzkwMjMyQzAwQ0IwMDMyQTAwRDAKKzoxMDlGNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUM4MEI3MDAyREMwODgKKzoxMDlGNTAwMDBENjAwMkQwMDE4NDAwMjFDMDA4MzAwMjFEMDBCNzAwNEUKKzoxMDlGNjAwMDIxQzgwQkY0MDMxRUMwODYwMDIxQzAwODdDMDM1MjA0RTQKKzoxMDlGNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUVDMEI3OTAyREUwMEYKKzoxMDlGODAwMDA4NzgwNkQ2MDFCNDgyMjFFMDA4NzgwQTFFMDBCNUMwMjAKKzoxMDlGOTAwMDI5RTgwOTc4MDIzNkMxOTc4MDI4QjAwQTdBMDIzMDAwOTEKKzoxMDlGQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEJCMDAyQ0UwQTIKKzoxMDlGQjAwMDA5MzU4MkMwQzFBMDUxMjBFNDA4MzAwMjhDMDBCQkM0MjYKKzoxMDlGQzAwMDIwQzAwQjMwMDIwNjAwOTMxOEFBQjAyQTMwMEE1MjA0QUYKKzoxMDlGRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZBMDEzREFDQzgKKzoxMDlGRTAwMDRDRUMxMzc4MTBGNjgwQjM5MDBDQTAwMzI4MDBGRTAwMTAKKzoxMDlGRjAwMDNBODEwREEwMEYyQTgwREUwNDNCQTAwRUEwMDMzQTA0OTQKKzoxMEEwMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDAzRTAwOTIKKzoxMEEwMTAwMDBEODAwMkUxMDBEODQ4M0UxMjBGODAxMzYwMDBGODYwMDYKKzoxMEEwMjAwMDNFMDAwNzgwMDNBMDAyRTgwNDI2MDgwNTgwMDM5MjAwOTIKKzoxMEEwMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5MDQzQTQwN0QKKzoxMEEwNDAwMDBDMTIwMzI0ODJDOTAwMzY0NDBGMTAwMzI0MDBGOTAwQzcKKzoxMEEwNTAwMDM2NDAwNDkwMDMwNDAwQzkwMDEyNDAwQzkwMDMwMjA0MkYKKzoxMEEwNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5ODEyMjQwM0MKKzoxMEEwNzAwMDA4OTAxQTI0MDA4OTAwMjI2ODBCOTkwMjI0MDBCOTAwNzQKKzoxMEEwODAwMDIyNDA2ODkwMEEyNDAwODkwMEEyNDAwODkwMEEyMDAwMUIKKzoxMEEwOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MTAyMkUwQTQKKzoxMEEwQTAwMDA4OTQwMDA0MDQ4QjA4MjZDMDBCOTAwMjI0MDRCOTBDMDkKKzoxMEEwQjAwMDI0NDAwQTEwMDIyNDAwMjMwMjJBNDBBODEwMDIwNjAwQUQKKzoxMEEwQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MEIxMjAyMjQwN0QKKzoxMEEwRDAwMDA4MTIwMjBDMTA4MTAyQTA1MDBCMTIwMjA0ODBCMTA1N0MKKzoxMEEwRTAwMDAwNDgwQTEwMDIwNEEwQTEwMDI4NEEwODEyMDAwMjAxMzgKKzoxMEEwRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTBCQTE0RTQKKzoxMEExMDAwMDBDODUwMzAxNDJDODUwMzQwMDBGODUwMzIxNDBGODAwM0MKKzoxMEExMTAwMDM2MDAwRTgwMTMyMDgwRTAwMDFBMDgwQzAwMDMyRTAzODYKKzoxMEExMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0NEY5MTAzRjQwN0EKKzoxMEExMzAwMDJGRDExM0Y0MDRGNTAwM0Y0MDBGOTEwQkU0NDBGRjI4QUEKKzoxMEExNDAwMEJFNEUwRDk2ODNENEEyREQyODM3NEEwRjkzODNFNjA2RDAKKzoxMEExNTAwMDcwMDAwMDAwMDAwMDAwMDA5ODA1RTQxMENEMDAzRjQwQjIKKzoxMEExNjAwMDBGRDAwMzM1MDI1RDAxMzE0NDBGRDAwMzI0MDBGOTAwMDQKKzoxMEExNzAwMDMyNjAwQzk4ODNFNjQwRDkwMDM2NkEwQzlFODMyNjAxMzMKKzoxMEExODAwMDYwMDAwMDAwMDAwMDAwMDAzODEwRTAwMDg4MDAyRTAwOTEKKzoxMEExOTAwMDBCODA0MjAyODA4QTAwMjIyMDg4ODAwMzIwMDhCODgyMzcKKzoxMEExQTAwMDIyMjEwODg4ODJFMjQyODhBODIyMjAwOENFMDIwRTA0REEKKzoxMEExQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMjgxMDA2ODQwNzMKKzoxMEExQzAwMDBCMTAwMjg0MDFCOTAwMjA0MDQ5MTAwQTA0MDBCNTA4QjAKKzoxMEExRDAwMDIxNDYwODUwMDJENDAwOEQyMDI1NEEwQjUwMDI0MjAxMkUKKzoxMEExRTAwMDMwMDAwMDAwMDAwMDAwMDAxODExQTQwMDg5MDQ2RTU0MjMKKzoxMEExRjAwMDBCMTAxMkE0MDFBOTAwQTI0MDE4OTAxNjI0MDBCOTAwNjcKKzoxMEEyMDAwMDIzNDAxOEQwMDJGNDAwOEQ0MDIxNEEwQkQwMDI0NjA0QUUKKzoxMEEyMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDAzQTUwRjIKKzoxMEEyMjAwMDhGOTYwQjg0MDJGMTAxMzA0ODhEOTAwMzI0MTBGOTAwQzEKKzoxMEEyMzAwMEIyNDAyQzkwMDNFNjQwRDFDMDM2NTAyRjkwMEI2ODA0RkEKKzoxMEEyNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzRTYwM0EKKzoxMEEyNTAwMDBGOTlDMzY0MDBEOTI4M0U0MDBEOTAwM0E0MDBGOTQwMzMKKzoxMEEyNjAwMDNFNDAwRjkwMDNFNDIwRjk0MDNFNDAwQzkwMDM4QTAwRUEKKzoxMEEyNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MDEzNjAwNzcKKzoxMEEyODAwMDhGODAwM0UwMDJGODA0MzIwMDBEODA0MzIwMDJDQzAwRUUKKzoxMEEyOTAwMDNGMDAwRkMwMTM5MDAyREM0MDNGMTA0Q0MwMjMwQTA0NjMKKzoxMEEyQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJBMDAyMjgwREQKKzoxMEEyQjAwMDBCRTgyMEY4MDA0RUMwMjNBMDA4QTAwMzY4MDA4QTAwMjUKKzoxMEEyQzAwMDJFODAxRkEwMDIyQTA2OEEwMDJFQTAwMjYwMDMwQTAwMjgKKzoxMEEyRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMEIzMDAyMEMwMTIKKzoxMEEyRTAwMDBCM0QwMkMwMDMyMzAwMjBFMDAxQjAwNjRDMDA4QjAwQjAKKzoxMEEyRjAwMDJFQzA0QjMwMDI4RTA4ODM4MDJDQzQwMDM0OEU0QTAwNUUKKzoxMEEzMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUM4MEI1ODA2MUMwNkEKKzoxMEEzMTAwMDBCNDAwMkQ0MDA4NDA4MjNDMjA4NTAwMjVFQzA4NDAxQUUKKzoxMEEzMjAwMDJEMDA4QTA4MDIxMDI0ODQwODZEMDAwQTAzMTIyODAwRjgKKzoxMEEzMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY1ODIyMTYwMTcKKzoxMEEzNDAwMDBGNzgwM0Q2MDRBRTgwMzFFMDBENTgyMzdFMDBDNjgwMUUKKzoxMEEzNTAwMDJERTAwQjc4MDM4RTAwRDc4MjNERjAwQzdBMDM2QTAyNjEKKzoxMEEzNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEYxMDBCQUQ4OTkKKzoxMEEzNzAwMDBGODAwM0U0MTJGODAwQkU4MDBFMTAwM0VDMDBGOTAwMTkKKzoxMEEzODAwMDNFMDA1RjgwMDNFMDA4RjgwNDNDMDAwRjgwMDNDMjA2MzMKKzoxMEEzOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUyMEZGODAzRkYwNEMKKzoxMEEzQTAwMDBGRjgwM0QyMDBFRjg0QjM2MTBDQjkwM0ZFMDBGRjgwMDUKKzoxMEEzQjAwMDMzRTAwQ0Y4MTMyMjExQ0Q5MDNGNjAwQ0U4MDMxMDAwM0QKKzoxMEEzQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEY1MDAyREMwRTYKKzoxMEEzRDAwMDBCMDAwMkQ0MDQ4NDIwMjM0MDA4NUEwMkRDMDBCNDAwOUQKKzoxMEEzRTAwMDIxMDAyOEMyMDIxRTA0ODYwNDJEODgwOEQwMDIyQTA0RjcKKzoxMEEzRjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOUMwMEI1MDAyRDQwMkYKKzoxMEE0MDAwMDBCNzAwMkY0MjBBNzA0MjFDMDBBNTAwMkRDMDBCRTAwMzkKKzoxMEE0MTAwMDIxQzAwODcwMTIwMDAwODUwMDJENDA4ODY4MEEwNDAwRTEKKzoxMEE0MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0MwMEExMDAyRUMwM0QKKzoxMEE0MzAwMDFCMDgwNkM0MjA4MDAwMjA5ODFBMTAwMkNDMDBCMTA4MjYKKzoxMEE0NDAwMDIwMDAwODAwMDIwQzAxODJDMDJDQUMyODkwMjIxODA0QzUKKzoxMEE0NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEIzMDAzRTQwMjIKKzoxMEE0NjAwMDBGQkEwM0U1MDJFOTA0MzI5MEFFQjAwM0ZDMTBGQjQwRTIKKzoxMEE0NzAwMEIyMDAwQzgwMEIyQzAyODIxODNGQTAwQ0QwMDMyRTA0REIKKzoxMEE0ODAwMDYwMDAwMDAwMDAwMDAwMDA5MDAwRUMwNEZCMDEzRTQwNzIKKzoxMEE0OTAwMDBGQjY0M0U0MDBGODAwM0U4MDAxOTAwM0VDMDBGODgxMjEKKzoxMEE0QTAwMDNFRDAwREI0NTNFMDAwRjk0MDNFNDAwRkEwMDNFMDAwNjEKKzoxMEE0QjAwMDMwMDAwMDAwMDAwMDAwMDA4MDEwREMwMkNEODAzMzYwMUUKKzoxMEE0QzAwMDJDREEwM0ZDMDBFQzAwMzM0MDBGRjIwMzdDMDRGRTAwQTYKKzoxMEE0RDAwMDMyMDAwQ0M4MDMzQzAwQ0UwMDMxODAwQ0QxMDMyNDA0QjAKKzoxMEE0RTAwMDMwMDAwMDAwMDAwMDAwMDA5MTA0NkMwMDA5MDAyQTY0QTQKKzoxMEE0RjAwMDA4OEUwMkMyMTBBMDEwM0UxMDBCOTgwMkVDMDBCOTAwQUEKKzoxMEE1MDAwMDAyRDgwOEJFMjIyMDAwODkwMDIyNTAwOEEwMDIyMDQwNjQKKzoxMEE1MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDBCMjAyMjQwRUQKKzoxMEE1MjAwMDA4QTAwMkU1NDJBQjA0MjIxODBCQjAwMjZDMDBCMzAwOTUKKzoxMEE1MzAwMDIwMDQwODAxMDIwMDA0QTg0MDIyMTAwODgwMDIyMDAwMjQKKzoxMEE1NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwODgzMDAyODQwQzAKKzoxMEE1NTAwMDA4MDQwMkM0MDJBODAwMkMwMDBCMTIwMkNDMDBCMDAwQjgKKzoxMEE1NjAwMDIwQzA0MDMwMDIwQzAwOEIwMEE4QzAwODMwMDIwMjExNEQKKzoxMEE1NzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEM5MDAzMzQwQTYKKzoxMEE1ODAwMDBDQjAwM0VDMDJFQjAwMzI0MDBGQjAwMzZDMDBGQTAwOTkKKzoxMEE1OTAwMDMyMDAwQzgwMDMyMDgwQzgwMDMwMDAwQzgwMDMyMDAzQjAKKzoxMEE1QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEZEMDAzRjQwMkEKKzoxMEE1QjAwMDBGQzIxM0YwMDBGNDAwM0YwMDRGRDQwM0ZDMDBGNTAwN0QKKzoxMEE1QzAwMDNGQzA4RkYwMDNGQzQwRkYwMDM3QzAyRkYwMDNFODA2QzgKKzoxMEE1RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjAwMENDMDAzMzAwNTcKKzoxMEE1RTAwMDBFRDAwQjMzMDBDQzAwMzNFMDBGQzA4MzdDMDBDRjIwQjMKKzoxMEE1RjAwMDdCMDk4Q0Y4MDNGRTUwQ0YzODNGRTEwREMyMDNGMDAwMTkKKzoxMEE2MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTIwMDk4MDgyMDgwMjgKKzoxMEE2MTAwMDA4OTgwMjIwMDA4OEQwMjJFMDBFQjQyMjdEMTk5RjY5OUMKKzoxMEE2MjAwMDJFOTAwODMwOTIyODgxREI2NDJFRTE4ODE2QTJFMDA0ODcKKzoxMEE2MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzgwMDkwMjQyMDAxQzAKKzoxMEE2NDAwMDA4MTAxNjAwODI4MzAxMjhDMTBCMDI4MjBDRTBBMzEwQkYKKzoxMEE2NTAwMDI4MEUxQjkyMDI4NDg0OTMyMDJFQzAwODMxMDJFMjAxNEUKKzoxMEE2NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgxMDk4MDAyMjgwQjMKKzoxMEE2NzAwMDA4OTAwMjAwNjA4QTEwMkFDMDBBMjAwMjZDMThCQjAwRjEKKzoxMEE2ODAwMDZFNjAyQjkwMDI0NjIwOEIwMDJFQzIwOEIxODJGMDA0MkYKKzoxMEE2OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRTQwMkNCMDBCMjQwNjYKKzoxMEE2QTAwMDJDOTIwMzI3MDA4ODAwQkFDMDBGODgwMzJDMDBFQjA0MEIKKzoxMEE2QjAwMDNBQTBDRjJDQTNFRDAwOUIwMDNDRjAyRDhDMzNEMDA0QUUKKzoxMEE2QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwNEVGMDAzRkMwOTMKKzoxMEE2RDAwMDBENTEwM0YwMDBGMTgxMzdDMDBFRjQwMzlDMTBDRjAwNDAKKzoxMEE2RTAwMDNEODAwQ0VDMDdCODA4RkYwMjFGQzQwRkM4MDNGODAwMzgKKzoxMEE2RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwOUUwMEMzMDAzODQwRDEKKzoxMEE3MDAwMDBDOTIwM0E0ODBGQjIwM0FDMDBEOTQwMzJDNDBGQjAwNjQKKzoxMEE3MTAwMDNFMDEwRjgwMDNFNTAwRUIwMDNBQzAwRDg0MEIxMDA0RUUKKzoxMEE3MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwODhCMDIyMkMwOTkKKzoxMEE3MzAwMDA4OTIwMzIxMDA4QjQ4MjJDMDBCQjcwMjNENDAzRjAxMjUKKzoxMEE3NDAwMDIyNzQwQjkwMDIyODA0QkYwMEIyQzAwQjg1MDIzMjAwQjUKKzoxMEE3NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDAwMTgwMDAyODAwRUIKKzoxMEE3NjAwMDA4MkMxMjg4NDBCMDQwMDhDMDBCMTgwMjBFMDBCMzAwM0QKKzoxMEE3NzAwMDI4MjAxMTMwMDIwQzAwQjMwMDI0MDAwOTAwMDYzODAwMjQKKzoxMEE3ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTIwMDg0ODAyMUEwODEKKzoxMEE3OTAwMDI4NjgxMjNBMDA4NDgwMjVFMDhCNTgwMjFFNDBCNzgyNTgKKzoxMEE3QTAwMDIxQTYwQjc4MDIxQTAwQjc4MDIxMjAwQjU4MDIwODAwNUUKKzoxMEE3QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEM4MjEzODA5RDcKKzoxMEE3QzAwMDBDMjgwMzgwMDFGMTAwMzhDMDBEODUwMjBDMDBGQjAwNEQKKzoxMEE3RDAwMDM4ODUwRjEwMDM4QzAwRUIxMDNDQzgwRDMwMDMxMjAyQkIKKzoxMEE3RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOTgwMEZDMDEzRjgwQjgKKzoxMEE3RjAwMDBGNjgwM0QwNDBGQzAwM0JDMDBEQzAwM0ZDMjBGRjAwRUQKKzoxMEE4MDAwMDNCQzUwRkYwMEJCNDQwRkYxODNGMDAwRkYxMDNEMDA2MUIKKzoxMEE4MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMEVCMDBCMDQxNkIKKzoxMEE4MjAwMDBDQTAwM0UwMDRDQTA0QjBFMDBFQjAwM0VDODBDQjIwMUYKKzoxMEE4MzAwMDMyODEwQ0EwMDNFRTAwREIwMDNFMDAwRUIwMDMyQTAwQzQKKzoxMEE4NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwNDg3MDAyMUMwM0YKKzoxMEE4NTAwMDQ4NjAwMkYwMDA4NzAwMjFDMDA4NzAwMkZDQTA4MzI4MzUKKzoxMEE4NjAwMEEzODAwODYwMDJEQzAwODcyMDJEQzAwQjcwMDIxMjA0NTgKKzoxMEE4NzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUMwMkEzODAyMTYwNzYKKzoxMEE4ODAwMDA4NjgwMkQyMDA4NzgwMjFFMDI5NzgwMkRFODA4NzkwNjQKKzoxMEE4OTAwMDIxQTAxOTQ4MDJGRTAwOTc4MDJERTAwQTM4ODIzMDAwN0UKKzoxMEE4QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMTgzODAyMEMwN0MKKzoxMEE4QjAwMDA4MjA0MkMwMzA4MzcwQTBDMDg5MzQwMkNDMDI4MzAwREIKKzoxMEE4QzAwMDYwQzAyOTAwMDJDRTAwODMwMDJDQzgwQkJDMDIxMjA0MTkKKzoxMEE4RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTkwMEVBRTIzMjkwMTQKKzoxMEE4RTAwMDJDRTAwM0ZCMDJDRUMwMzI4MDBGRTQwM0U4MDA4QTAwQjQKKzoxMEE4RjAwMDMzODgwRDY0QzNGQTAwREEwMDNEOTAwRUUwMEIzQTA0OTEKKzoxMEE5MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzAyNEY4MDgzRTEyNkIKKzoxMEE5MTAwMDBGQzAwM0UwNDhGMDAwM0UwMDBFODA5M0MwMDBGODAwMzYKKzoxMEE5MjAwMDdFMDEwRTgwQzJFMDQwRjgwMDdFMDA4Rjg0MDNEMjAwREEKKzoxMEE5MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTUwMEMxMDEzMjQ4QUUKKzoxMEE5NDAwMDBDOTgwM0U2NDBDOTAwMzI0MDBGOTAwMzY2MDBDOTAwMkUKKzoxMEE5NTAwMDE4NjEwQzkwMDM2NDIwRjkwNTNFNDAwQzkwODMwMjA0QkEKKzoxMEE5NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjYyMDg5MDAyMDUyQjIKKzoxMEE5NzAwMDI4MTBDMjI2MDJBOTAwMjI0MDBCOTAwQTI3MDBBOTAwMzUKKzoxMEE5ODAwMDIyNzAwODkwMDIyNDA4QjkwMDJFNDAwQTkwMEEyMDAwODQKKzoxMEE5OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMjhEMDAyMzQwNzQKKzoxMEE5QTAwMDA4RDEwMjg0MjA4OTAwMjI2MDBCMTFGMjI0QjA4MTAwQkEKKzoxMEE5QjAwMDJBNDYwODkwNDI2NDA4QjkwMDJFNDAwODkyMDIwNjAwMTgKKzoxMEE5QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQ4MDg1MjAyMzQ4OTcKKzoxMEE5RDAwMDA4NTIwMjg0MDg4MTAwMjA0MDBCMTIwMjA0ODBBMTIwNEEKKzoxMEE5RTAwMDI4NDkyODkwMDIwNDAwMzEyMDJFNDAwODMyMDIwMjAxM0EKKzoxMEE5RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEM4NTBCMjE0NTQKKzoxMEFBMDAwMDBDQzAwM0ExNDBDODAwQjIwMDA3ODUwMzIxNDBDODUwMTQKKzoxMEFBMTAwMDNBMTUwQzg1MDM2MTQwRjg1MTNFMDAyQzg1MDMyRTAzNDYKKzoxMEFBMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFEQzQ0OEY5MTAzRTQ0OEEKKzoxMEFBMzAwMDRGOTEwMzc0MDBGNTQ0M0U0MDBGRDEwM0U0NDBGOTEwRjgKKzoxMEFBNDAwMDM3NDQwRkQwMDNENDAwRjkxMDNGQzAwRkQxMDNFNjA2RkUKKzoxMEFBNTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RjZBMEREOEMzMzc4QUYKKzoxMEFBNjAwMDBFREEwMzM1MDBDREEwMzM0MDBERjgwQjM2ODFFOTgwQjYKKzoxMEFBNzAwMDMzNzAwQzkxMDNFNDQwRjlDMDNFQzAwRkRDMDNDNjAwMDQKKzoxMEFBODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwNEI4NDAyMDNDRDUKKzoxMEFBOTAwMDBDODUwMjAyODQ4QTQwMjIwMDA4OEY4MjIzMDBCOEU4RDUKKzoxMEFBQTAwMDIyMjAwODg4MDJFMjAwQjhEMDJFMDAwQjhDMDJDRTA0Q0YKKzoxMEFBQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDkxMDA2MDQ4NUMKKzoxMEFBQzAwMDRCMTAwMjA0OEE4MTQwNjA0MDQ5MTAwMjhEQTBBMTQxRDAKKzoxMEFBRDAwMDIwNTAwOTEyMjJDNDgwQjEyMDJDNDA0QjNFMDJDMjAxRkEKKzoxMEFBRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwOEI5MDRBMDQwODAKKzoxMEFBRjAwMDQ4QjAwMjI0MDA4OTAwODI0MDA4OTBBNkE0MDBCOTA0NEUKKzoxMEFCMDAwMDIyNTQyOTk1MDJFNTQwQjkwMDZFNDAwQjkyMDJDNjA0MUEKKzoxMEFCMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTQwMDkxMDAzMjQwNDkKKzoxMEFCMjAwMDBGOTAwOTI0MDA4OTkwMzI0MDBEOTQwM0E0MDBFOTAyOUIKKzoxMEFCMzAwMDcyNjAwRDk0MDNFNDAxRjkwMTNFNjAwRjkwMDNFODA0OTQKKzoxMEFCNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQ0MEY5MDAzRTQwMTEKKzoxMEFCNTAwMDRGOTAwM0U3MTBGOTgwM0U0MDBGMTAxMzY0MDBGMTAwOUUKKzoxMEFCNjAwMEJFNDAwRTkwMDNFNjA4RjkwMTNFNjQwRjkwMDNDQTAwNTAKKzoxMEFCNzAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTAwMEY4MDAzMjA4N0IKKzoxMEFCODAwMDBDMDEwQjIwNDBDODQwMzIwMDBFODQ4MzIwMDBGODA0RTIKKzoxMEFCOTAwMDNFMDQwRjgwMDMyMTAwRTgwMDNFMTAwRjg4MDNDQTA0MjIKKzoxMEFCQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMDNFMDQyMzgwM0IKKzoxMEFCQjAwMDA4RUMxMjM5NDRBNjAwMjg4MTA4RTAwMDM4MDhCQTAwRTEKKzoxMEFCQzAwMDNGODAwQkEwMDJBODAwOEEwMjJFODAwQkUwMDJDQTAwODAKKzoxMEFCRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDgwMDMxMDAyNEQwOUIKKzoxMEFCRTAwMDA4M0UxMkFFMDg4MUEwMkNDMDBBMzgwMDRDMDBCMzAwMDkKKzoxMEFCRjAwMDZFQzAwQTMwMDIwQzAwQTMwMDZDQzAwQjMwMDJDQTAwMDkKKzoxMEFDMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTgwMEI1MTAyNUMwOTEKKzoxMEFDMTAwMDI4NjAxMjkwMTBBNTA4MkRDMjA4NjQyMjU4MThCNzAwQTkKKzoxMEFDMjAwMDJEODAwQjc5MDJCRUMwODcwMTZEQzAwQjYwMDJFODAwNjkKKzoxMEFDMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY1ODQzNTIwMzgKKzoxMEFDNDAwMDhDMTgwMjkyMTBDNTgwM0Q2MDBFQzgwQjVBMDg3N0YzMkQKKzoxMEFDNTAwMDNEQTAwRkY4MDMxRUIwRTc4NTNERTAwRjc4MDNFQTAyNDAKKzoxMEFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEYxMDRCQTAxNjMKKzoxMEFDNzAwMDBGQTA0MzYwMDlFMTAwMzg0MDBFQTAwM0E4MTRGQjIwOTgKKzoxMEFDODAwMDNBODAwRkI0MUI0QzgwRkIyOTNFQzAwRkIwMjNDMjA2OTQKKzoxMEFDOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMENEODAzQkUwRUQKKzoxMEFDQTAwMDRFRjgwM0YyMDJENDgxM0JFMDhFOTgwNzNFNDRFRjkxQzgKKzoxMEFDQjAwMDNGRTA0RkZDMDdFRUQwQ0Y5ODMzRTQwRkY4MDNDMDAwMUQKKzoxMEFDQzAwMDcwMDAwMDAwMDAwMDAwMDBBODAxOTgwMDg1MTAyREM0NEQKKzoxMEFDRDAwMDBEMTEwMkYwMDA4NTIwMzFDNDBCN0IwMDM4NDBENzEwRTUKKzoxMEFDRTAwMDJEODAwQjcwNjJGRUUxODcxNDM5QzAwQjYwMDJFQTA0MEMKKzoxMEFDRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDEwQkM0MEE1MDAyOTQwREEKKzoxMEFEMDAwMDBCNTA4MkRDNDA4NDA0MkRDMDBCMTAwNjU4NDRBNzEwNjEKKzoxMEFEMTAwMDJEODAwQjcxMDJEQzAwODcwNDIxQzIwQjUwMDJDMDEwOTEKKzoxMEFEMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwQUExMDEyQzQwRUIKKzoxMEFEMzAwMDg5MTgwMkMxMDBBMTA4MjBDMDBCMzQwNjQwMDA5MzA1MDkKKzoxMEFENDAwMDJDMTQwQjNDODZDRTEwODMwMTI4RjEwQjE0MDJDODA0OEUKKzoxMEFENTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTAwMEVEMDAzQUMwN0YKKzoxMEFENjAwMDA3QkM2M0VEMDA4MTQwM0VDMDBFODgwMzY0MDBFRjAwMjUKKzoxMEFENzAwMDdFNTAwRkYwMDJGRDQyQ0YwMDcyQzAxRkI0MDNFQTA0MDAKKzoxMEFEODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTgwMDk5MDAzRUUwNDQKKzoxMEFEOTAwMDRGQjQ4M0VEOTAwOTQwM0VDMDBGQTE4M0E4MDFFQjAxQTEKKzoxMEFEQTAwMDNFMDAwRkIxMTNFQzBDRkIwMDNBQzA1RjIwMjNFMDAwMjMKKzoxMEFEQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjgwMEZEMDQzRkIwNkEKKzoxMEFEQzAwMDBENjAwMzNFMDBDRDAwMzNGMDBGRjIwMUYwMDBGRjAzRjEKKzoxMEFERDAwMDNGMDMwRkYwMDFGQzAwRkIwMjMzQzIwRkYwRTMwMDQ0MUQKKzoxMEFERTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkEwMEI5MDIyRUEwQkIKKzoxMEFERjAwMDRBQUMwMjBFODBGOUMwMzZFMTBCQTAwMjJBMDhCQjAwNjMKKzoxMEFFMDAwMDJFMjAwRUIwMDJFQzAwRUIwMDIyQzA4QkIwMDIyMDQwREUKKzoxMEFFMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMjMwMEE5MDAyOEMwRUQKKzoxMEFFMjAwMDA5QjIyMjZDNDA4OTg5MkFDMDBCMTQwNjI2MDBBQjAyQTUKKzoxMEFFMzAwMDZFRTAwOUIwMDY2QzAwQjMwMjIyQzAwQkIwMDIyMDAwMjUKKzoxMEFFNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDgwMEIxMDAyQ0MwMTEKKzoxMEFFNTAwMDBBMzAwMjJDMDBCQjAwNjRDMDBCMzIwQTA4MDAzMzAwMjkKKzoxMEFFNjAwMDZDODAwMjMwNDZDQzE4QTMwMDIwQzAwQjI4MDIwMjExQ0YKKzoxMEFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NjgwMEU5MDAzOEMxODMKKzoxMEFFODAwMDBEQjEwQjJDMDA4OTAwM0FDMDBCOTAwMzYwMDBGRjAyNEIKKzoxMEFFOTAwMDNFODAwRkYwMDNGQzgwRkYwMDMyQzA4RjgwMEIwMDAzNjgKKzoxMEFFQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDExRDgwMEZEMDQzRkMwQzkKKzoxMEFFQjAwMDJGRjIwM0ZDMTFFRjAwM0ZDMDBGRjQ0MzcwMDBGRjAwQkUKKzoxMEFFQzAwMDNGMDA0NkYwMDNGRDAwRUYwMDNGQzAwRkMwMDNFODA2NUYKKzoxMEFFRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkUwMEZGODAzREUwQTMKKzoxMEFFRTAwMDBDRjkxM0RFMDA3RjgwQjNFMDBGRkMwM0JFNDBDRjgwN0YKKzoxMEFFRjAwMDMzRjAwRkY4MDM3QzA0Q0M4MDMzQTAwQ0YwMEIzMDAxNEUKKzoxMEFGMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTAyMDg4MDAyRTIwNkIKKzoxMEFGMTAwMDA4ODIxMkUwODBBODgxMjIwMjBCODAwMjIwODBBODgwOTMKKzoxMEFGMjAwMDIyMDgwQjgwMDIyQzAyODgwNEFBMjAwOEIwMDIyMDA0MDgKKzoxMEFGMzAwMDIwMDAwMDAwMDAwMDAwMDA4ODA1RUMwMEEzMDgyQzgwMjEKKzoxMEFGNDAwMDA4MzIwMkM0MjBBMzAwMjg0MDBCOTIwMjg0MDBBOTAxMDkKKzoxMEFGNTAwMDI4QzgxQjEyODJDQzQwQTgwMDI0RTAwQTMwNDIyMjAxRkIKKzoxMEFGNjAwMDMwMDAwMDAwMDAwMDAwMDBDMDExQTg4MEE4MDIyRTQwQTAKKzoxMEFGNzAwMDY4ODAxMEM4MDBCODQwMkE5MDBCQTAwMDI4MDBBQTA4REEKKzoxMEFGODAwMDJBMDIwMzIwMDI4QzAwQTg4ODJFMjAwQUIwMDIzMDA0NzYKKzoxMEFGOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTgwNEZBMDAzQzQwOUEKKzoxMEFGQTAwMDBDQTAwM0U4MDBFQjAwM0FDMDBGMjA1M0E4MDBFMzQwRDgKKzoxMEFGQjAwMDJBNDAwRkEwMDM2QzAwQTg4MDM0MjAxRUIwMDMxMDA0QTgKKzoxMEFGQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwMDlEOTEzRjgwOEYKKzoxMEFGRDAwMDBGREEyM0Y0MDBDQzIwMzcwMDA3RDAxMzc0MDBCQzAwMzQKKzoxMEFGRTAwMEI3ODAwQkQwNDM3QzAwREMwNDNCMDA2REYwMDNGODAwMUQKKzoxMEFGRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTgwMEZBODAzQTAwNDUKKzoxMEIwMDAwMDJDQTAwQjIwMDJDQjYyM0U1MDBFODgwMzIwMDBEOTEwRUEKKzoxMEIwMTAwMDNFNzA4QzgwMzNFQzgwRDg0MDNBMDIwREIwMDMxMDA0QUYKKzoxMEIwMjAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMEMwMDM5ODAyMkMwOTAKKzoxMEIwMzAwMDBDOUQ4MjJDMTBEMDQwMkVBMDA4QjgwMzRFMDI4QTQwRUUKKzoxMEIwNDAwMDBFQTAwREIwMDMzRDAwRDA5MDM2MTAwQkYwMDJCMjAwMDAKKzoxMEIwNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIxMDA2MEMwQUUKKzoxMEIwNjAwMDhBMTgwMjhDMDg4MDQwMENBMDAyMzAwMkNFMDA4MjQ4NzAKKzoxMEIwNzAwMDJDODAyQjMwMDY4QzAwODEwMjIwOTAwOUIwMDIzODAwMTEKKzoxMEIwODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTIwMEI2OTBBMzMwMjQKKzoxMEIwOTAwMDA4RTgyMkIyMTQ4NzgwMkQ2MDA4NDkxMjEyNjE5NTkwNDkKKzoxMEIwQTAwMDJENjEwQTQ4MTYxRTgwOTU4MDI1MjAwQjc4MDI4ODAwQTUKKzoxMEIwQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYxMDAyODhDNEYKKzoxMEIwQzAwMDhFMTAwMzg0ODA4MDAwMkMwMjBBOUEwMkU0MDBEMDAwRDMKKzoxMEIwRDAwMDNFODAwQjkxMDM4RTgwQzIwODM4ODAwREIwMDMxMjAyQUYKKzoxMEIwRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjAwMEY2MDAzRjQ0REEKKzoxMEIwRjAwMDBGMjExMzc4MDBGRjAwM0RDMDBGRTAwMzc4MDBFRjA0M0MKKzoxMEIxMDAwMDNGNDA4REU4MDNEQzA0RjYwMDNGMDAwRkYwODNEMDA2REIKKzoxMEIxMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMEU4ODAzMjQwNjAKKzoxMEIxMjAwMDBGODgwQjI4MDA3ODAyM0U4MDBFMjgwMzI4MDBDQTgwNzIKKzoxMEIxMzAwMDMyMDAwRkEwMDNFQzAwQzk4MDMyODAwRkIwMDMyQTAwNTgKKzoxMEIxNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOEMwMDhGMDBBMTgwRkEKKzoxMEIxNTAwMDBCNzA0MjE0MDBCNzAwMkQ0MTBCNTA0MjE0MDBBNTAwQTMKKzoxMEIxNjAwMEExQzAwQjUwMDJGQzgwQTUwMDIxMDAwQkYyMDIxMjA0Q0EKKzoxMEIxNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwQkEwMEE0ODAyOTMwNzgKKzoxMEIxODAwMDRCNDgwNjUyMDhCNDgwMkQyMDBCNDg0MjMyMDA4NDgwODAKKzoxMEIxOTAwMDIxMjAwQjQ4MTJERTQwODY4MTI5QTAwQjc4MEEzMDAwNUUKKzoxMEIxQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDUyMEUwQ0YKKzoxMEIxQjAwMDBCMzQwMjZDMTBCMzAwMkNDMDBCMzY0QTBEMERBMzAwRUIKKzoxMEIxQzAwMDIwQzAwQjM0ODJDQzAyQTIwMDI4MDAwQjMwMDIxMjA0RjMKKzoxMEIxRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTkyMEVBNDAzMEEwN0YKKzoxMEIxRTAwMDA3QTA0MzY5NDBGQTAwM0M4MDBGQTAwMzA4NDBDQTAwNTIKKzoxMEIxRjAwMDMwQTAwRkE0MDNFODAwQ0UwMDNCOTgwRkEwMDMzQTA0NTAKKzoxMEIyMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRDIwMEZDMDgzRjAwODEKKzoxMEIyMTAwMDBCQzIwM0IwMDBGQzAwM0YwMDBGQzAwM0YwMDBGQzAwQjUKKzoxMEIyMjAwMDNGMDQwRkMwMDNFMDAwRjgwMEI2MDIwRjgwMDNEMjAwMTUKKzoxMEIyMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEQ5MDAzRTY4NjMKKzoxMEIyNDAwMDRDOTEwMUU0MDhDOTAwM0U0MDJDOTIwM0U0MDJDOUEwREQKKzoxMEIyNTAwMDNFNzAwRTkwMDNDNjQyQzkwMDNFNDAwRjEwMDMwMjA0MjgKKzoxMEIyNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5ODYwRTYwNDkKKzoxMEIyNzAwMDA4OTgwMkU0MDg4OTEwMkU2MDA4OTAwMkU0MDA4OTBDMDYKKzoxMEIyODAwMDJFNjAwODkwMDJFNjg4ODkwMDJFNDAwQjkwMDJBMDAwRjQKKzoxMEIyOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDlEMTAyRjQwNDEKKzoxMEIyQTAwMDI4RDAwNkY0MDJBRDAwMkY2MDA4RDAwMkY0MDA4RDAwMTMKKzoxMEIyQjAwMDJGNDAwQUQwMDJFNDAwODkwMDJFNjAwQjkwMDIwNjAwQTUKKzoxMEIyQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MzQwMDg1MDAyRDQwMEMKKzoxMEIyRDAwMDA4NTgwMkQ0MDBBNTAyMkQ0MDA4NTAwMEQ0MDA4NTAwNzMKKzoxMEIyRTAwMDJENDAwODU0MDJDNDgwODEwMDJDNjAwQjE0MDI4MjAxOUUKKzoxMEIyRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4NTIzRTAwODAKKzoxMEIzMDAwMDBDMDUwM0UxNDBFODA0M0UxNDBDODUwM0UxNDBDODAwNEQKKzoxMEIzMTAwMDNFMTQwRUMwMDNFMDAwQzAwMjNFMDA0RjgwMjMyRTAzMDcKKzoxMEIzMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQwMEY5MDEzRTQwQUMKKzoxMEIzMzAwMDRGOTAxM0U0MDBEOTAwMUU0MDBGOTAwM0M0MTBGMTAwOTkKKzoxMEIzNDAwMDFFNDAwRjkwMDNFNEUwRkQyODNGNDAwRjk0MDNFNjA2MDMKKzoxMEIzNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1QTQwMEZEMDAzRjQwNDAKKzoxMEIzNjAwMDRENTAwMkU0MDA5NTA0MzM0MDI4RDAwM0Y0MDBGRDAwNjIKKzoxMEIzNzAwMDMzNDAwRjkxMDMzNDAwQ0Q0MDMzNDAwRjk4ODEwNjAwRDUKKzoxMEIzODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAxMEI4MDAyRTAwMkYKKzoxMEIzOTAwMDBCODAwMkUwMTBCODAwMjIwMDA4ODAwMkUwMDBCODAwMzQKKzoxMEIzQTAwMDIyMDAwQjg4MDNDMjgwODg4MDIyMDAwQjhDMDIwRTA0Q0UKKzoxMEIzQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA0QzQwMEIxMDAyQ0MwRjAKKzoxMEIzQzAwMDBCMTAwMkM0MDBCQjAwMjI0MDA4MTAwMkM0MDFCOTAwRTcKKzoxMEIzRDAwMDIwNDAxQjkwMDIwNDIyODkwMDIwNjAwQjEyODIwMjAxOEYKKzoxMEIzRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQ0NEI5MDAyRUMwMzEKKzoxMEIzRjAwMDRCOTAwMkU0MTBCOTAyMDI0MDA4OTE0MkU0MDBCOTgwODcKKzoxMEI0MDAwMDIyNDAwQjkyMDJDNDAwOTk0MDIyNDA0QjkwMTIwNjA0NDUKKzoxMEI0MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTYwMEI5MDEzRTU4RTEKKzoxMEI0MjAwMDBEOTAwM0U2MDBEMTAwMzI2MDBDOTgwMkU2NDBGOTAwNkUKKzoxMEI0MzAwMEIyNDAwRjE4MDMyNDAwQzk4MDMyNTAwRjkwMjMyODA0MTMKKzoxMEI0NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzRTQyNDYKKzoxMEI0NTAwMDBCOTAwM0U3MDhGOTAwQkU0ODBGOTAwM0U0MDBGOTAwRTEKKzoxMEI0NjAwMDNFNDAwRjk4MDNBNDAwRTlBMEJFNDAwRjEwMEI0QTAwMTUKKzoxMEI0NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDEzRTAwN0QKKzoxMEI0ODAwMDBGODA4QjIwMDBGODIwM0UwMTBGODEwM0UwMDBGODA4QjgKKzoxMEI0OTAwMDNBMDAwQzgwMDNFMDAwRDg0MDMyMDAwRjgwMTMwQTA0MDkKKzoxMEI0QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhBODAyRjkxNUQKKzoxMEI0QjAwMDBCRUUwMjI4MDFCRTAwMjA4MDBCQTAwMkVBODBCNjQ4RjUKKzoxMEI0QzAwMDIyODAwREEwMDJGQTAyODY0MUEzQTYwQkEwMDMwQTAwNjcKKzoxMEI0RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzODAyQ0MwQjQKKzoxMEI0RTAwMDBCMzAwMjBDMTBCMzAwMjhDMDBCMzgwMkNDMDBCMzAwQTQKKzoxMEI0RjAwMDI4QzAwOTMwMDJDNjAxODM2MDIwNzAwQjMwMEE0QTAwNjAKKzoxMEI1MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMkU4ODg1MDgyRDgwNUEKKzoxMEI1MTAwMDRCRjgwNjFDODBCNzAwMjFDMDBCNTAwMkQ0MDBCNjAwQzcKKzoxMEI1MjAwMDI5NjAwOTcwMDJEMEEwOEQwMDIxNDAwQjMyMDIyODAwNTIKKzoxMEI1MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEQ1ODAzREUwOEIKKzoxMEI1NDAwMDhGNzgwMzFFODRCNzgyM0Q2MDBGNTkwM0RFMDBGNzgwQjkKKzoxMEI1NTAwMDI5NjAxNTc4MDNERTAwQzc4MDMxNjAwRjdDMDM2QTAyMjIKKzoxMEI1NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUM0MEU5MDAzRTgwMjMKKzoxMEI1NzAwMDBGQTAwM0VEMzBGQjAwMzZDMTBGOTYwM0U0MDBCMzAwQ0IKKzoxMEI1ODAwMDM0NDAwRkI3ODNFQzQwMjEwMDNFNDAwRkIwMDNDMjA2QTkKKzoxMEI1OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGODEzM0UwQjUKKzoxMEI1QTAwMDBGRjkwM0RFMjBDRjgxM0ZFMDA3NzgwMzNFMDBGRjgwRTQKKzoxMEI1QjAwMDNGRTAwNEY4MTNGRTAyREU4MDMzNjAwRkY4MDMwMDAwNjIKKzoxMEI1QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEI3MDAyMUM0MUEKKzoxMEI1RDAwMDBCNUEwMkRDNDg4NjUwMkRDMDBCMzEwMjk0NjBCNDE4MUYKKzoxMEI1RTAwMDJENDA0ODcwMDJFODAwQTUxMDIxNDAwQjcxMDIyQTA0OEEKKzoxMEI1RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEJEMDAyMTQyMkYKKzoxMEI2MDAwMDBCNzAwMkZDMDI4NTAwMjU0MDBCNTAwMjlDMDBCNzAwMjUKKzoxMEI2MTAwMDJGNDAyODcxMDJEQzAwQTYwMDIxQzAwQjcwMDIwMDAwNDAKKzoxMEI2MjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0NkQ4MEIxMjBBMDUwMTgKKzoxMEI2MzAwMDBCQjIwNkNFMDBBMDM0MkVGMDBCMTgwMjg1MjBCMzRBQzAKKzoxMEI2NDAwMDJDNTQ4ODM4MDJDQzEwQTEwMDIwQjAwQjMwMDIwODA0MjIKKzoxMEI2NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkU4MEYzMDgxMDU0NjAKKzoxMEI2NjAwMDBCODgxM0ZGMDBDMDgwM0U2NDBGQjQ4MzA3MDBGOUMwNEQKKzoxMEI2NzAwMDNFRjAwQ0ZDMTNGNDAwRUEwMDMyNzAwRkYwMEIyQTA0QzkKKzoxMEI2ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEY5MDAzRTEwQTcKKzoxMEI2OTAwMDA3OTEwM0VDQzA1ODAwM0U0NDBGOTIwM0U0MDBGOTAwMDgKKzoxMEI2QTAwMDNFQzA4RkIzMDNFMDAwQkIwMEJFNDQwRkIwMDNFMDAwMTgKKzoxMEI2QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMkNEMDQzM0UwNjcKKzoxMEI2QzAwMDBDQzAwMzNDMDhGRTAwMzM2MDJDRDAwMkI0ODBDRjAwRDUKKzoxMEI2RDAwMDNGNTIwN0YwMTNGQzAwQ0UxMDMzNDIwQ0IwMDNDMDQ0QkQKKzoxMEI2RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMDg5MDAyQUIwRDYKKzoxMEI2RjAwMDA4ODgwMjJDMDBCQTAwMzY0NDA4OTAwMDI2MDBEQkMwRkYKKzoxMEI3MDAwMDJFNDAwQkIwMDJFQzAwODNDMDI4NDAwQUIwMDJFMDQwOUIKKzoxMEI3MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDAyMjA4QjMKKzoxMEI3MjAwMDFBQTIwMjJDMTBCOTIwMjI0MDA4MzAwMjJDMDRBQTU0N0MKKzoxMEI3MzAwMDJFQzAwQkIwMTJDQzAwOEIwODIyNDAwOEIwMDJFMDAwRjMKKzoxMEI3NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDQyQTAwRjAKKzoxMEI3NTAwMDBBMDg4MjBDMDBCODAwNjQ0MDA4MzAwMkE0MDBCMDAwNUYKKzoxMEI3NjAwMDJDQzA4QjMwMTBDODAyOEIwMDJBNDAwQTMwMDJDMjAxNjQKKzoxMEI3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEM5MDAzMjAwNTUKKzoxMEI3ODAwMDFBODIwMzNDMDBGOTAwMzI0MDBDRDEwM0FDMDBFQjAwRkMKKzoxMEI3OTAwMDNFNDAwRkYwMDNFRDAwQzMwMDMyQzA4Q0IwMDNDMDAzODUKKzoxMEI3QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEY1MDAzRjAwNjAKKzoxMEI3QjAwMDBEODA0QkZDMDA3QzAwM0Y0MDBGRDIwQjc0MDBERjAwN0IKKzoxMEI3QzAwMDFENDA4RkYwMDNGQ0EwRkYwMDNGODAwRkYwMDNFODA2NTAKKzoxMEI3RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMERGODQzQkUwQkEKKzoxMEI3RTAwMDBGRjgwQjNFMDBFQzgwMzNFMTBDMzAwMzNDODBDRjQ4NzcKKzoxMEI3RjAwMDM3QzAwRTQwMDNFMEMwQzc5MUIzMDQwQ0YwMDMzMDAwMjMKKzoxMEI4MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUYwNDhCODAyMjQxRDcKKzoxMEI4MTAwMDBCQjA4MjJFMDA4ODgwQTJFMDBBQTI5MkFEODA4NzQyRkYKKzoxMEI4MjAwMDIzRDg4QUFEMDJFMEMwOEIwMDIwNEM0OEE0MDIyMDA0M0IKKzoxMEI4MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0M1OEJCMDAyODgwQzQKKzoxMEI4NDAwMDBCQjI0MjI0MDBBODAwMkFDMDBBMTAwMjA0NjBBMzIwMDAKKzoxMEI4NTAwMDI0RDIwODAwNDI4QzgzOUIwMTIwNDkwODMzQzIyMjAxNzQKKzoxMEI4NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwMEFCODgyMkEwRjIKKzoxMEI4NzAwMDBCQjgwMjI2MENBODAwMkFDMDBBOTIwMkE0MDBBQjA2NEMKKzoxMEI4ODAwMDIyQzAwQUIwMDJFODAwOUIwMDAyNDAwOEEwNDIzMDA0MzcKKzoxMEI4OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEQzODAzQUUwOUEKKzoxMEI4QTAwMDBGMTgwMTA2MDBFODMwMzg2NjBFQjgwMzJBNDBFQjAwOTYKKzoxMEI4QjAwMDM2QzEwRTk2MDNFMjgwREEwODMyODAyQ0JCMDMxMDA0RjYKKzoxMEI4QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMERGMDAzRkMwQUQKKzoxMEI4RDAwMDBGRDAwM0Y0MDBEQzgwMzc2MDBGRTgwM0ZBMDBERjAxQ0IKKzoxMEI4RTAwMDNGQzAwRkMwNDNFNjRDRUZBMDNGNDQwRkEwMDNGODAwNTkKKzoxMEI4RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUM0MERCMDAzNjgwMUIKKzoxMEI5MDAwMDBDOTgwMzI2MDBGODAwM0VDMDBFMTgwMzg0MDJFMzAxRTEKKzoxMEI5MTAwMDM4QzEwRUI0MDNBQzgwQ0ExODNBRDAyQzMwMDMxMDA0REUKKzoxMEI5MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0Y0MEI5ODgyRTgwQkMKKzoxMEI5MzAwMDA4QkMwMkEzMDBCMDAwMEVDMDA4QjAwNjIwMDA4RjA0QUYKKzoxMEI5NDAwMDIzQzEwOEI5MTIyRjAwODM4MDM2NDAwOEFEMDIzMjAwQUYKKzoxMEI5NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIyMDAyQ0MwRDgKKzoxMEI5NjAwMDA5MzIwMjg0MDAzMzAwMkNCMjBBMzYxMjhDMDg5MzA1ODcKKzoxMEI5NzAwMDIwQzAwQjE4MDJFRDAwOTE4MDZBMDAwODEwMDIzODAwMDgKKzoxMEI5ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3ODAyREUwRTQKKzoxMEI5OTAwMDA5NzgwMjk3NDBCNDgwMkZBMDA4RTgwMjBFNDA5NzgyRjEKKzoxMEI5QTAwMDIxRTA5ODY4ODIxQTE4OUQ5MDJEQTExODU4MDIwODAwNkQKKzoxMEI5QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MENDMEYzMDAzRUMwM0EKKzoxMEI5QzAwMDBEQjA0Mzg0NDBGMDAwM0M4MjBFMzgxMjhDNDRGMzMwQkEKKzoxMEI5RDAwMEJBQzExRTEwNDc4RTIyRDExMDM4MTgwQzMwODMxMjAyQzMKKzoxMEI5RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkM0MEZGMDAzRkMwMDAKKzoxMEI5RjAwMDBFRTAwM0Y0NDBGQzAwM0RDNDBGRDAwMUY0NDFFRjE4MDkKKzoxMEJBMDAwMDNGQzQxRkYwMDNGODQ4RUYxNDMzODAwRkMxMDNEMDA2ODIKKzoxMEJBMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkM0MEZCMDAzRUMwRTQKKzoxMEJBMjAwMDBGOTgwMzI0MDBDQjAwM0U0MDBGQjAwM0E4MDBEQjI4OTIKKzoxMEJBMzAwMDNFQzQxRjkwMjNFQzAwQ0EwMDMyRTAwQzkwMDNFQTAwRTEKKzoxMEJBNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUM4MEI3MDAyREMwNkQKKzoxMEJBNTAwMDRCNTA1MjE0MDBENDAxMkQ4MDBCNjAwMkQ4MDBBNzIwNTcKKzoxMEJBNjAwMDJEQzUwQjQwMTZEQzAwODQwMDIzQzAwODQwMDJEMjA0MjAKKzoxMEJBNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUU4MEI3ODAyREUwNDQKKzoxMEJBODAwMDBCNzgwQTk2MDA5NDgwMkQ2MDFCNzgwNkQyMDBBNzgwNjAKKzoxMEJBOTAwMDJERTAwQjc4MjJERTAwODc4MjIxRTAwODU4MDJGMDAwQkEKKzoxMEJBQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzRTQyQ0MwQ0IKKzoxMEJBQjAwMDFCMjEwMjgxMDA5MDAwMkNDODBCMzkwMkNFMDBBMzAwOEMKKzoxMEJBQzAwMDJDQzAwQjMwMDJDRDAwOEIyMDIwRjAwOEIyMDJEMjA0MzMKKzoxMEJBRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZFQTAzRjgyMzIKKzoxMEJBRTAwMDBGRTgwMzk4MzBENjAwM0ZBMDBGRTAwM0JBQzBGQTAwNzkKKzoxMEJBRjAwMDNFODAwRkVDMzNGODAyQ0UwMEIzQjgyQ0VDODNGQTA0OEUKKzoxMEJCMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxOEY4NDAzRTAwMUYKKzoxMEJCMTAwMDBGODAwMjYwODRGODA1MkUwNDhGODA0MUUwMDA3ODAyRDcKKzoxMEJCMjAwMDNFMDAwRjgxODNFMDIwRjgwMEJFMDIwRjgwMDNEMjAwQTgKKzoxMEJCMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTYxOEY5MjAzRTQwMjgKKzoxMEJCNDAwMDBGOUMwM0U0NDBDOTAwMzI2MTBDOTAxM0M0MDhDOTAxODIKKzoxMEJCNTAwMDNFNDEwRjE4MDMyNDAwQzlBMDMyNDAwRjk4NDMwMjA0NEQKKzoxMEJCNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjUwMEIxQzAyMjQwRTkKKzoxMEJCNzAwMDBCOUMwMkU3MTA4OTAwMjg0NDA4OTQyMkU0MTA4OTAwRjUKKzoxMEJCODAwMDJFNDAwQjlGMjIyNjYwODk4MDIyNDAwQjkxMEEyMDAwQzQKKzoxMEJCOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQ4MEI5MDAyRUMwMkQKKzoxMEJCQTAwMDRCQjQwMkU0MjA4OTIwMjI0MDA4OTQwMkVDMDA4OTAwNzIKKzoxMEJCQjAwMDJFNDEwQjkwMDIwNDAwODk0MDIyNDAwQjkwMDIwNjAwQTcKKzoxMEJCQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMDQyMDQwMTAKKzoxMEJCRDAwMDhCMTAwMkU0MDU4MTAwMjg0MDI4MTIxMkM0ODI4MTIwQzMKKzoxMEJCRTAwMDJDNDgwQjEyMEEwNDgyODEwMDIwNDgwQjEyMDIwMjAxMjkKKzoxMEJCRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjhBMEZBMDIzRTE0MkEKKzoxMEJDMDAwMDBGODUwM0UwMDBDODAwMzIwMDBDODUwM0MxNDBDODUzMTMKKzoxMEJDMTAwMDNFMTQwRjgwMDMwMTQ4QzA1MEIyMTQwRjg1MDMyRTAzNTkKKzoxMEJDMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQwMEZEMDBCRjQwMkYKKzoxMEJDMzAwMDBGNTAxM0Q0MDJGRDAwMkZDMDBGRDEwM0Y0NDBGOTEwQjAKKzoxMEJDNDAwMDNFNDQwRkQxMDNGNDQwRkYwMEJGNDQwRkQxMDNFNjA2OEEKKzoxMEJDNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTZBMEZEMDEzRTQ0NTEKKzoxMEJDNjAwMDBGRDEwM0Q0MDBDNTAwMzM0MTBGREIwMzI3MjBEOUUwRjcKKzoxMEJDNzAwMEIyNzAwRERBODNGNjQwQ0YxMDMyNzgyRERBMDMwNjAwNjkKKzoxMEJDODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwMEI4MDAyRTI4MEQKKzoxMEJDOTAwMDBCODg0MkUwMTBEODAwMjIwMDBCOEMwQTIzMDA4OEMwRDkKKzoxMEJDQTAwMDIyMjgwODg0MDJDMjgwODBBMDIyMzA0OEFBODIwRTA0ODIKKzoxMEJDQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNjYKKzoxMEJDQzAwMDhCMTIwMkM0MDA5OTAyMjg0MDhCMTYwMjg0ODE5MTMwQTUKKzoxMEJDRDAwMDIwNTgwOTEwMDJDNTAwODEwMDY0NEQwODM0MDIwMjAxOTkKKzoxMEJDRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QUMwQ0I5MDQyRTQ4Q0MKKzoxMEJDRjAwMDBCOTQwNkU0MDA5OTQwQUE0MDBCOTIyMkE0MDA4OTAwMEMKKzoxMEJEMDAwMDYwNDAwODk0MDJFNDAwODk4MEE2NTAwODkyMDIwNjA0NkMKKzoxMEJEMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5OTgzRTQ4MTMKKzoxMEJEMjAwMDBGOTgwM0U1MjBEOTAwM0E2NDBGOTQ4M0E0QzBEOTAyODgKKzoxMEJEMzAwMDcyNDA0RDkwNDJFNDgyQzk0MDM2NDAwQzkwMEIyODA0N0EKKzoxMEJENDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQUMyOEY5ODgzRTQwODcKKzoxMEJENTAwMDBGOTkxM0U3MDBGOUMwMzY2MDBGOTAwMzY2MDBGMTAwRjkKKzoxMEJENjAwMDdFNDAwRjk5MDdFNDYwRjkwMDM4NDAwRjk4MDNDQTAwM0QKKzoxMEJENzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MTAzMjAwNTEKKzoxMEJEODAwMDBGODIwQjIxMDBFODAwMzYwNDBDODYwM0UxMDBEODAwODYKKzoxMEJEOTAwMDMyMDAwRjgwMDM2MTAwQzgwMDMyMDAwRjAwMDMwQTA0NjQKKzoxMEJEQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgyMEJFMDAyMjgwOUUKKzoxMEJEQjAwMDI4RUMwMjE5MDQ4MjAwMDM4MDBERTQ4MkU4MDA4QTAxNjUKKzoxMEJEQzAwMEFBODA4QkVEODIzQjgwOEU5MDM2ODAwQkUwMDM0QTAwODgKKzoxMEJERDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDIwMEIzODAyMEMwQTEKKzoxMEJERTAwMDZCMzQxNjQwQzA4MzEwMjQ3Mjg4QjAwMkVDMDA4MzAwQ0MKKzoxMEJERjAwMDI0QzAwQjA0MDI2RjA5OUIwMDI0QzAwQjMwMDIwQTAwMTAKKzoxMEJFMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMEI3ODAyM0U0RUYKKzoxMEJFMTAwMDI4Nzg4Mjc0MTQ4RjAwNjFFMDA5NTAxMkRDMDQ4NzIyQjQKKzoxMEJFMjAwMDI1QzgxQjc4MDIxNDAwOTQ0MEE1QzAwQjYwMjI2ODAwNEUKKzoxMEJFMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MTIyMEI3ODBCMUUwMTgKKzoxMEJFNDAwMDhGRjgwMzEyMDJFNzgwMzVFMDBDNjgwNkNGQzJDRkIwNEUKKzoxMEJFNTAwMDI1RjQwRjU4MDM1QTAyRDU4MDc1RkE0RkY4MDMyQTAyQzkKKzoxMEJFNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTU5MEYzMDAzREMwODgKKzoxMEJFNzAwMDRGQjAxM0E4MDRGQjAwM0NDMDBGODA0M0VDODBFQjYwODQKKzoxMEJFODAwMDNBQzkwRjMwMDNFQzAwRTkwMDNFQzgwRkEwMDNDMjA2MTgKKzoxMEJFOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RjYwMEVFODAzRkUwQkEKKzoxMEJFQTAwMDBEODkwM0QyNDBFNTgxMzlFMDNDRjkwN0ZFMDBDRjg4RDcKKzoxMEJFQjAwMDNGRTAwRkU4MDNGMjA4Q0U4MDMzRTAwQ0Y4MDMwMDAwMDcKKzoxMEJFQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTQ0NEM2MDAyRkMwQkMKKzoxMEJFRDAwMDA4NTgwMkQwQzQ4NTI0MjE5MDA4NTQxMkRDODIwNzAwM0YKKzoxMEJFRTAwMDJEQzAwQjcwMDZENDAwOEU0ODIxQzAwQTYwMDIyQTA0QkYKKzoxMEJFRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEE3NDAyREMwNzIKKzoxMEJGMDAwMDA4NDIwMkQwMDBBRDAwMjlDMDA4NzAyMkRDMjg4NzAwNUEKKzoxMEJGMTAwMDJEQzAwQjQwMDI5ODAwOTcwMEEwQzQwODcwMDIwMDAwREEKKzoxMEJGMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwODkzMDAyQ0UwNEEKKzoxMEJGMzAwMDA4M0MyMkMxMDA4MTAwMjA4MDg4MTUwMkNFMzA4MzAwOTkKKzoxMEJGNDAwMDJDQzAwQjNDMDJDQzA0OTNDMDIwRjQ0QTBDODIwODA0QTEKKzoxMEJGNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTAwMEUzQzAxRkUwQjIKKzoxMEJGNjAwMDZDMTA4M0UwMDRFQjAwM0E1MjRDQjQwM0ZFMDJDRjAwQTUKKzoxMEJGNzAwMDNGQzAwRjg0NDNFMTAyRDhDMjMzQzAwQzg0MEIyQTA0QjMKKzoxMEJGODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTkwMEVCMTAzRUM0RUIKKzoxMEJGOTAwMDBFOTQwM0U0MDBGQjE4M0VDMjBGQjYwM0VDMDBGQjAxNTUKKzoxMEJGQTAwMDNFQzAwRjM1MDNDNDI4RUE0MjNFQzAwRjgxMDNFMDAwQzMKKzoxMEJGQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkM0MEZGMDAzM0MwMTIKKzoxMEJGQzAwMDBDQzBBMzMwMjhDREEwMzNDMDBDRTgwMzBDMDBFRjA1NTMKKzoxMEJGRDAwMDNEQzAwQ0NBODMzQzAwQ0QwODNGQzIwQ0EwMDNDMDQ0NDYKKzoxMEJGRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjcwMEJCODAyMEMwMUEKKzoxMEJGRjAwMDA4QUEwMjA4MDBBMTAxMzREMTA4QTQxMjJDMDA4QjAwNjkKKzoxMEMwMDAwMDZFQzA4OEIyMDIyQzA4ODk4MDJFQzAwQUE4MDNBMDQwMDYKKzoxMEMwMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEJBODBBMkMwQzMKKzoxMEMwMjAwMDA4QTgwQUEwMDA4QjAwQTJDMDQ4MTEwMkFDMDQ4QjAwMzMKKzoxMEMwMzAwMDJFQzAwMDgwMTIyQTA4OEIxNDJDQzAwODg4MDJFMDAwNTEKKzoxMEMwNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIyMDAyMkMwMDQKKzoxMEMwNTAwMDA4QjIxMjgwMDBBQjAxMjRDMDA4MDAwMjBDMDQ4MzAwNjcKKzoxMEMwNjAwMDJDQzAwODMwMDIwNzAwODIwMDI0QzAwODA4MDI4MjAxQTgKKzoxMEMwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEZCMDAzMkMwNUEKKzoxMEMwODAwMDBDQTIwM0EwMDBDOTAwMzJDMDI0OTQwMzNDMDJDRjAwREMKKzoxMEMwOTAwMDJGQzAwNDgwMEIwOTAyQ0IwMTNGQzAyQ0EwMDNDMDAzQkEKKzoxMEMwQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5REMwMEZEMDIzRkMwQUQKKzoxMEMwQjAwMDRGRTQxMzcwMDBGRDAwM0ZDMDBGQzI4M0ZDMDBGRjAwN0YKKzoxMEMwQzAwMDNGQzAwRkYwMDNGQzAwRkYwMDNGQzAwRkMwMDNBODA2RjUKKzoxMEMwRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMyMEVGMzAzRjA0QUQKKzoxMEMwRTAwMDZDODgwMzNBNDJFNDkxM0YwRDBENDgwMzNDQzBGRjAyQzcKKzoxMEMwRjAwMDMzNDQwQ0Y0MDNGQzgyREYzMDMzNjAwREYxMDMzMDAwNzUKKzoxMEMxMDAwMDcwMDAwMDAwMDAwMDAwMDBBMDEwRUQwMDhCNzAyRTE4RTEKKzoxMEMxMTAwMDg4MjI0QTJDODJFQTI2MkUwQzBCQjg0MjNEODBCRjkwMjIKKzoxMEMxMjAwMDJBNTQyOEI0MDJDRDAwREI0MDJBNEE0ODMwMDJBMDA0MzkKKzoxMEMxMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0NCMEEzMDA2QzEwQTcKKzoxMEMxNDAwMDA5MDA4MjIwODJBMDIwMkM4ODRCODAwMDBDNDBCMzAxODMKKzoxMEMxNTAwMDIwNDgwQjM2MDI4Q0UwODM2NDI0NDAyODMyMDIyMjAxRkUKKzoxMEMxNjAwMDcwMDAwMDAwMDAwMDAwMDBFMDExQUMwMDhCMDAyRTAwMDkKKzoxMEMxNzAwMDA5ODA4MEE2MDBCQTExMkU4ODBCQjAwMDJDMDBCQjAyRUIKKzoxMEMxODAwMDAyNDAwOUIwMDJFQzAwOEIwMDJDQzgwOEI4ODJCMDA0NTEKKzoxMEMxOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEVCMDAzRTkyNDMKKzoxMEMxQTAwMDBEODAwMzBBMjBFOTAwM0U1MDQ1ODAwMTJDMDRGMzAwNzUKKzoxMEMxQjAwMDkwNjAwOUIwMDNFQzAwOEIwMjI2NTA4REJDMDMxMDA0ODQKKzoxMEMxQzAwMDcwMDAwMDAwMDAwMDAwMDBDMDAxQkMwMEZGMDIzRjgwQzIKKzoxMEMxRDAwMDBFRjkwMjdDMjJBRjAwM0Y2MDAzQzAwQkZDMTBGRjAwOTEKKzoxMEMxRTAwMDNGNEE0RUYwMDNGQzAwRjcwMDJCNjAwRjcwMDNGODAwOEQKKzoxMEMxRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDBCMDAwMzgKKzoxMEMyMDAwMDBGODIwQkE5MDBDOTAwMzJEMjBGQTA4M0FDMDBDQjEwNjMKKzoxMEMyMTAwMDNFNDAwQ0IwMDNFQzAwREIwMDMyNTAyQzk1MDMxMDA0QzAKKzoxMEMyMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwNEJGMDIyMjgwN0UKKzoxMEMyMzAwMDBCOTgwMDI5MDBDQjQwMjJDMDBCMjQwMjNDMDg4RjUwRjEKKzoxMEMyNDAwMDJFNTAwREYwMDJGRDQyOEY1ODIyRTA0OEI1MDIzMjAwMTgKKzoxMEMyNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NkMwMEIzMDAyNDQwMzYKKzoxMEMyNjAwMDRCOTQwMDQ5MDA5MDgwMDQzMDA5MDAwRTRDMDA4MzgwRkMKKzoxMEMyNzAwMDJDQzAwOTMwMjI2RTQyODM4MDIwNDgwODM4MDIzODAwRTIKKzoxMEMyODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3ODA2NTIwNjMKKzoxMEMyOTAwMDBCNzg4MjdBMDg4Q0MwMjVBMzRCNzgwMjVFMDQ4Nzg0RDEKKzoxMEMyQTAwMDJENjE4OTc4MDJERTA0ODc4MEU5NjIwODc4MDIwODAwM0YKKzoxMEMyQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEZCMDAzNDQ4NkIKKzoxMEMyQzAwMDBGM0IwMzQ4MDA5MzQ4MzQ1MDBEMDAwMzZDMDBDMzEwMkIKKzoxMEMyRDAwMDFDQzIwNTMwMDNDQzQwQ0IwMDMyNDAwQzIwMDMxMjAyQkMKKzoxMEMyRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMyMEZGMDEwMzQwRDIKKzoxMEMyRjAwMDBGRjAyMzFDMDBGRjAwM0I4MDBGQjAyMzNDMDJGRjUwRDcKKzoxMEMzMDAwMDNEQzQwRkYxMDNFQzAwRUYwMEI3QzAwRkUxMDNEMDA2MEUKKzoxMEMzMTAwMDYwMDAwMDAwMDAwMDAwMDA4ODA1RUMwMEZCMDIzRUUwMjkKKzoxMEMzMjAwMDBDODAwMzQ4MDJDODgxMzIwMDBGOTA0MkVDQTBGQjEwNDEKKzoxMEMzMzAwMDNFRTAwQ0IxMDNFQzQwRkIxMDMyNDAxRkYwMDMyQTAwM0EKKzoxMEMzNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MjQyRDgwMDAKKzoxMEMzNTAwMDA4NzA0MkQ4MTA4QzAyMjE0MDBCNTAwMkREMDBFNzIwMEIKKzoxMEMzNjAwMDJGNDAwODcwMDJEQzA1QjcwMDIxQzAwQkYwMDIxMjA0NTgKKzoxMEMzNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3OTAyRjQwNDkKKzoxMEMzODAwMDBBNjgwMjdBMDA5NzgwMjFFMDBCNzgwMkRFMDBCNzgwMEQKKzoxMEMzOTAwMDJERTAwODc4MDZERTAwQjdBMDIxNjAwQjc4NDIzMDAwNUYKKzoxMEMzQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzMDAyQ0MwQTYKKzoxMEMzQjAwMDBBMzQwMkM4MDA4MzRBMjBGODBCMzEwMkNDMDBBMzAwRTMKKzoxMEMzQzAwMDJDQzAwODMwMDJDQzAwQjMwMDIwQjIwQjIwNDIxMjA0NzMKKzoxMEMzRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEJBMDAzRjg4MDcKKzoxMEMzRTAwMDJFRTA0MzU5ODhERTAwMzNCMDBGNkMwM0U4MDBGQTAwRkEKKzoxMEMzRjAwMDNFODAyQ0EwMDNFODA0RkEwMDIzQjgwRkUwOEIzQTA0MzcKKzoxMEM0MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwNEY4MDEzRTAwNjkKKzoxMEM0MTAwMDA5ODIyMUUwMDBGODQwQkUxNDBGODQ4MUUwMDBFODAwQUEKKzoxMEM0MjAwMDNFMDAxRjgwMDNFMDAwRjgwMEJFMDAwRjg4MDNEMjAwMkEKKzoxMEM0MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEUxMDAzMjQwN0QKKzoxMEM0NDAwMDBDOTA0M0U0MjBEOTAwM0M0NDA4OTAwMzI0MDBGOTAxRjcKKzoxMEM0NTAwMDNFNDgwRjEwNDMyNTAwQzkwMEIyNDAwQzkwMDMwMjA0NkYKKzoxMEM0NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5MDBBMDQwMUIKKzoxMEM0NzAwMDA4OTgwMkU2MDhBOTYwMkU0OTA4OTQwMjI0MDBCOTAwMzEKKzoxMEM0ODAwMDJFNzAwQjkwMDIyNjAyODkwMEEwNDAwQTkwMEEyMDAwMUMKKzoxMEM0OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MDAyMjQwMzAKKzoxMEM0QTAwMDA4OTgwNEU2MDA5OTgwMkU0MDBBQjEwMjI0MDBCOTAwRTEKKzoxMEM0QjAwMDBFNDAwQjkwMEEwNDAwODEwMTIyQzAwODEwMDIwNjAwMDEKKzoxMEM0QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MEIxMjAyMjQ4NjEKKzoxMEM0RDAwMDA4MTgwNkM0MDBBMTAwMkM0ODJBMzAwMjA0ODBCMTIyQUEKKzoxMEM0RTAwMDJDNDgwQjEyMDIwNTgwODE2MDIyNTAwQTE0MDIwMjAxQkUKKzoxMEM0RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTAzMjE0NDgKKzoxMEM1MDAwMDBDODUwM0UxNDBEODUwM0UxNDBFODAwQjIxNDBGQTAwMDgKKzoxMEM1MTAwMDNFOTQwRjg1MDMyMDAwQzAwMDMyMDAwQzgwMDMyRTAzRTAKKzoxMEM1MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0MUY5MTAzRDQ1NTYKKzoxMEM1MzAwMDBGRDAwM0Y0MDBGRjAwM0Y0NTBERDAwM0U0NDBGOTEwOTUKKzoxMEM1NDAwMDNGNDQwRjkxMDNFNDQyRjkxMDNGNDAwRkQ0MDNFNjA2NDUKKzoxMEM1NTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTQwMEY5MDAzRTQwRjMKKzoxMEM1NjAwMDBDRDAwM0Y0MDg4RDAyM0Y0MDBGRDAwM0U0MDBDRDAwNEYKKzoxMEM1NzAwMDMzNDAwQzkwMDMyNDAwRjkwMDMyNDA0Qzk4MjMwNjAwMEQKKzoxMEM1ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEU4MDAyRTAwRkQKKzoxMEM1OTAwMDQ4ODAwMkU4MDBEMDAwMkU4MDBCODAxMkUwMDI4ODAwNjQKKzoxMEM1QTAwMEEyMDAwQTgwMTIyMjAwQjg4MTIyMjgwOENGMDIwRTA0QkQKKzoxMEM1QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNUQKKzoxMEM1QzAwMDI4MTAwMkM0MDA4MTAwMkM0MDBCMTAwMkM0MDA5MTAwMEUKKzoxMEM1RDAwMDI2NDAwOTEwMDI1NEEwQjUyQ0E1NDIwODUwODIwMjAxNDEKKzoxMEM1RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMEE5MDAyRTUwRTMKKzoxMEM1RjAwMDU4OTAwMkU0ODA5QjAwMkU0NThCOTIwMkU0MDA5OTAwNDMKKzoxMEM2MDAwMDI2NDQwQjkwMDI2NDA4QjUwMDI1NEEwODUxMDIwNjA0MkUKKzoxMEM2MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MDAzRTU0OTYKKzoxMEM2MjAwMDBDOTA0M0M0MDBDOTkwM0U3MDBGOTgwM0U0MDBEOTAwRjkKKzoxMEM2MzAwMDM0NjA0RDkwMEE2NDAwRjkwMDM2NDAyQzlFMDMyODA0QjMKKzoxMEM2NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzQzQwMzgKKzoxMEM2NTAwMDBGOUMwM0U2MzBGOTAwM0U2MjBGOTAwM0U0MDBFOTAwMEUKKzoxMEM2NjAwMDNBNDA0RTkwMDNBNDAwNzkwQzNBNDAwRjkwMUJDQTAwNDgKKzoxMEM2NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MDAzRTAwNEMKKzoxMEM2ODAwMDBDODExM0UxMDhDODQ4MzIwMDNDODAwM0MwMDBGMDEwNjAKKzoxMEM2OTAwMDNFMDYwQzgwMDNGMDA4Q0MwMDMzMDQwQ0MwMDMwQTA0RUYKKzoxMEM2QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJBMDAyRTgwQUQKKzoxMEM2QjAwMDA4RUM0MkZBMjA4RTAwMjNBMDA4RTg0MkU4MDBCRTgwODEKKzoxMEM2QzAwMDJGODAwOEEwMDJFODAwREEwMDIyODA0OEUwMDIwQTAwNzkKKzoxMEM2RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzMDAyQ0MwMDIKKzoxMEM2RTAwMDA5MzQ4MkM5MDA4MzgwMjBGMDA4MzA4MkNDMDBCMzgwRjYKKzoxMEM2RjAwMDJDRjAwOEIwMDJDMTIwODAwMEEwMzIwODAwMDIwQTAwMUQKKzoxMEM3MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUNDMEI3MDEyRkM4QUQKKzoxMEM3MTAwMDg5NTAwMkQ4MDI4N0M0MjFFMjQ4NzA4MkRDMDBCNzAwNDkKKzoxMEM3MjAwMDJDNDAwODcyMDJDRTAwOTcwODIzQzAwODcwMDIyODAwMkYKKzoxMEM3MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY3RTEzREU4RUUKKzoxMEM3NDAwMDJENjgwM0YyMDBDNzgwQjBFMDA4NjgwM0RGODBGNjgwNDAKKzoxMEM3NTAwMDNERTA4QzdFMDNEQTAwQ0M4MDMxMjAwQ0M4MEIyQTAyMkQKKzoxMEM3NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwOEZCMDAzQ0MwRjkKKzoxMEM3NzAwMDBFODAwM0UwMDhGOTAwM0U0MDBGQjAwMkVDMDBGQTAwMjIKKzoxMEM3ODAwMDNFNDAyRkIwMDNFNDAwRkIwMDNDQzAyRkIwMDNDMjA2QzQKKzoxMEM3OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGOTI3RkVBM0MKKzoxMEM3QTAwMDBDRjgwM0ZFMDBDQ0EwM0YyMDBERjkwMzNFMDBDRjgwMjMKKzoxMEM3QjAwMDMzNjAwRkY4MDNGNjAwRUY4NDMzRTAyQ0M4MDMwMDAwNjkKKzoxMEM3QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEI3MDAyRkM4RjYKKzoxMEM3RDAwMDA4NTQwMkQ4MDBENjA0MkQwMTA4NjkwMjFDMDA4NTAwMDcKKzoxMEM3RTAwMDIxNDMwQjcwMDM5QUMwOEMwMEEzMDIwOEYxMDIyQTA0QjMKKzoxMEM3RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDEyRENDOEMKKzoxMEM4MDAwMDA4NzAwMkQ0MDA5NDI4MkRDMjA4QzIwMjVDMDA4NjAwODEKKzoxMEM4MTAwMDIxODAwQjcxMDJEQzAwQTcxMDIxQzAwODQ4MDI0MDAwRjMKKzoxMEM4MjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwOEIzMDAyQ0YwMTEKKzoxMEM4MzAwMDA4MDUwMkMwMjA5MDgwMkUwMDA4MDA4MjRDMDI4MDAwNzMKKzoxMEM4NDAwMEEwNjEwQjMwMDJBMDAwODAwMEEwMzA4OEIxMEE0ODA0MkIKKzoxMEM4NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEZGMDAyREM4M0IKKzoxMEM4NjAwMDBDM0QwM0U0MDBEQjAyM0VGMDJDOTA0QjdDMDBDMTAwNDkKKzoxMEM4NzAwMDMyMjA0RkYwMTNFMDAwRTgwMTMyMDA4Q0FDMDM2QTA0NzAKKzoxMEM4ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDQzRUMyREQKKzoxMEM4OTAwMDRGQjAwM0UwMDRGQTQwM0VDMjRFOTgyM0FDMTBGODAwQkIKKzoxMEM4QTAwMDNFNTAwN0IwMTNBQzAwRkIwMDNFQzIwRjkyMDNBMDAwNDUKKzoxMEM4QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMENGMDAzRkMwOEQKKzoxMEM4QzAwMDBDQzgyMzM2ODJDRjgwM0Y4MDBDRTAwM0VDMDBGOTIwQjcKKzoxMEM4RDAwMDMzQzAwRUYwMDNGODEwREMwMDMzMDA0Q0U4MjEwMDQ0QjQKKzoxMEM4RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMEFCMDAyRUMwOEUKKzoxMEM4RjAwMDRBOEQ0MjIxMDA4QjQyMkVEMjA4QjAwM0VDMDBCODg4NEEKKzoxMEM5MDAwMDM0NjIwREIwMDJFNDAwOEIwMDIyQzAwODkwMEEyMDQwN0YKKzoxMEM5MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDAyRUMwREQKKzoxMEM5MjAwMDA4QTAwMjBEMDA4OTEwMkUwODI4OTIwMkVDMDRCQjAwMUEKKzoxMEM5MzAwMDIyQTAwOEIwMDI2NDAyQjMwMjIwQzAwOEEyMDJBMDAwMzQKKzoxMEM5NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEEzMDAyRUMwRkUKKzoxMEM5NTAwMDBBOTAyMjBDMTA4MDAwMkMwMDE4MDI4MkNDMDBCMDAwM0IKKzoxMEM5NjAwMDI2NDAwOTMwMDJDODIwODAwMDIwMDAwODEwMDY4MjAxRkQKKzoxMEM5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENCMDAyRUMwODUKKzoxMEM5ODAwMDBDQTEwMjI0MDA4ODAwM0MwMDBDODAwM0VDMDBGQjAwOUEKKzoxMEM5OTAwMDMyODAwRUIwMDNDQzgwREIwMDMyQzAwQ0EwMDM4MDAzRDkKKzoxMEM5QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRkMwODAKKzoxMEM5QjAwMDRGQzIxM0Q0MTBGQzAwM0YwMDBGMDAwM0JDMDBGQzAwNkEKKzoxMEM5QzAwMDNGNDAwRkYwMjNFMDEyRkMwMUJGMDAwRkQwMDM2ODAyQ0MKKzoxMEM5RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMEM3ODAzM0MwRUMKKzoxMEM5RTAwMDhCQjQwM0IwQzBDRjJFMUYwQzRGQzMwMzMwODBGRjAxQTgKKzoxMEM5RjAwMDNGMDgwRkYwMDA3QzAwRkYyMTMzRTQwQ0UwMDMzMDAwMUYKKzoxMENBMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUUwMDhCODIyM0YwMTgKKzoxMENBMTAwMDBCQjUxMjBEODg4OEMwMEU5ODBCODYwMjIxMDBCQkMwOTIKKzoxMENBMjAwMDJFRTQ0QkY3ODMyRjQ0QkY5MDIyQzg0OEE2ODIyMDA0RUYKKzoxMENBMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwOThBMDAyMDUwNkEKKzoxMENBNDAwMDRCQjIwQTgwQ0M4MzAxMEM4QzBCMjMwQTA0NjBCMzE0MTQKKzoxMENBNTAwMDI0NDA0QjMwMDJDQzEwQjMwMDIwQzhFOTExMDY2MjAxMUIKKzoxMENBNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwMThBODBBMjQ0RTQKKzoxMENBNzAwMDBCQjAwMkExMDQ4ODQwMkVBMDBCMjAwMjI4MjBCQjQwNEUKKzoxMENBODAwMDJFNDAwQkIwMDIyQzA4QkIwMDIyQzAwOUIwMDI3MDA0N0IKKzoxMENBOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEMzODMzMkUwOUQKKzoxMENBQTAwMDhGMDAwM0EwMDJDQkM0M0UyODA3OEIwMzIxMDBGOUMwRUUKKzoxMENBQjAwMDNFMTAwRkIwMDNFQzAwN0IwMDMyQzAwREEwMDM1MDA0MDkKKzoxMENBQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMkZGMDAzRkUwNTkKKzoxMENBRDAwMDBGRjQ0MzVFODBGQzk0M0YwMDBGQzAyQkYyNTBGRDIxMDkKKzoxMENBRTAwMDdFODQ4RkYwMDM2QzBDRkYwMDNGQzAwRTYyMDNCODAwMjEKKzoxMENBRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEVCMDAzMjQwN0QKKzoxMENCMDAwMDJDODAwMzY5MDBDQjMwQjIwMDRGQjM0M0U1MDBDQjQwMkIKKzoxMENCMTAwMDcyMTgyQ0IwMDNFQzI4QzMyMTNBQzEwRjk0MDMxMDA0RkYKKzoxMENCMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwMDhCMjAyMjUwQkYKKzoxMENCMzAwMDA4QjAwMjI4MDA4OEMwMkEwMDhCQjQwMkU4MDBEQjAwOUQKKzoxMENCNDAwMDYyMzAwOEYwMDJGQzAwOEY4MDIyQzAwQjk1NDczMjAwNTMKKzoxMENCNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIxMDAyMEMyRDEKKzoxMENCNjAwMDQ4MzAwMjQ5ODA4MzQyNjAxMjBCMzAwMkM4MDA4MjAyQzIKKzoxMENCNzAwMDJDMzAwOUIwMDJDRjAxODM1MDJBQzAwQjIwMDJCODAwMkMKKzoxMENCODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMDlEODBBMEUwNzkKKzoxMENCOTAwMDA4NzkyMjVFNjA4NzkwMjlBMDBCNzgwMkM2MDA5MjgxRjYKKzoxMENCQTAwMDA1RTAwOTc4MDJERTQwODc4MDIxRTAwQjI5MDIwODAwQjkKKzoxMENCQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM0MEYyMDAzMEMwQjcKKzoxMENCQzAwMDA4M0EwMzQ0MDRDMzE0MzBDMDBGMjIwM0NDODBDMjAwQ0YKKzoxMENCRDAwMEE0RDIwRDMwMTNDQzIwQzMwMDM4QzQ0RjA0NDMxMjAyM0EKKzoxMENCRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOUMwMEVFMDAzRkUwM0YKKzoxMENCRjAwMDBGNzAwM0I0MDJGNDEwM0ZDMDhGQTAwM0ZDMDA3RTAwNEUKKzoxMENDMDAwMDNCQzAwRUYwODNFQzAwRjcwMDNGQzAwRkMwMDNEMDA2MUUKKzoxMENDMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkMwMEY5MDAzRUMwMTQKKzoxMENDMjAwMDBGQTAwM0FBMTJDQjAxMzI4MDBGQjAxMzI4MTRGOTgwOTEKKzoxMENDMzAwMDNBNDAwM0I0MDNFQzQyQ0IxODNFQzAwRkIwMDMyQTAwQzUKKzoxMENDNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUQwMEI1MDAyREM0RDgKKzoxMENDNTAwMDBCNzA0QjdDMDA4NDAwMjE4MDBCNzAwMjk0MTBCMjAwOUEKKzoxMENDNjAwMDI5QzAwQjcyODJEQzAwODcyMDJEQzEwRTcwMDIxMjA0RDUKKzoxMENDNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyREUwQjIKKzoxMENDODAwMDBCNjgwMjlFMDA4MzgwMjFFMDVCMzgwMjFFMDBCNEMwNjYKKzoxMENDOTAwMDI1RTAwOTc4MzJDRTAwOTc4MDJERTAwQjVDNEUzMDAwMDUKKzoxMENDQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzNDQyQ0MwNTkKKzoxMENDQjAwMDBCM0MwMkNDNDA5MzA4MjBFMDBCMzAwMjhDMTBCM0MwMzgKKzoxMENDQzAwMDI4RDgxQjMwMDJDQzA4OTMwMTZDQzAwQUI4ODIxMjA0MjkKKzoxMENDRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEY2MTAzRTgwQkIKKzoxMENDRTAwMDRCRUQ4M0I4MDBDRUU0QjNBMzBGRTAwMzM4MDBGRTAwQTEKKzoxMENDRjAwMDNCODAwREEwMDJFODAwREEwMDNFODAwRkU4MDIzQTA0MTMKKzoxMENEMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMEY4NDAzRTAwMTUKKzoxMENEMTAwMDBGODAxMzYwMDBFMDAwM0UwMDQzMDgwM0UwMDBGODA4QzUKKzoxMENEMjAwMDNBMDAwRjgwMDNFMDAwRTg0MDNFMDAwRTgwMjNEMjAwNkUKKzoxMENEMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQzQwMEQ5QzBCRTQwNTAKKzoxMENENDAwMDBGOTAwM0U2MDBGOTAwMzI0MDAxOUEwMzI0MDBGOTAwMzUKKzoxMENENTAwMDNFNDAwRjkwMDNDNDQwMDkxMDBFNDAwRjlBMDMwMjA0OTYKKzoxMENENjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNDg5MDRBMjYwMTgKKzoxMENENzAwMDhCOUQ4MEE2MDBCOTgwMjI0MDQ4OTgwMjI0MDBCOTAwMEIKKzoxMENEODAwMDJFNDA4QjkwMDJFNDk0ODk2MDJFNDAwQjk0MEIyMDAwN0YKKzoxMENEOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDk5MDhBRTQ4QUIKKzoxMENEQTAwMDRCMTAwMkU1ODFCOTEwMjA0NDFCOTQwMjI0MTBCOTAwRjUKKzoxMENEQjAwMDZFNjAwQjkwMDJFNDAwODkwMDJFNDAwQjk0MDIwNjAwODYKKzoxMENEQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MDg5MDBBMDY4MDIKKzoxMENERDAwMDBCMTIwMjg0ODlCMTIwMjA0ODFBMTIxMjA0ODBCMTIyNTkKKzoxMENERTAwMDBDNDgwQjEyMDJDNDgxQTEyMDJDNDAwQjEyMDIwMjAxM0MKKzoxMENERjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEQ4MDBCRTAwNzgKKzoxMENFMDAwMDBGMDUwQkUxNDBGODAwMzIxNDBGODUwMzIxNDBGODAwQjQKKzoxMENFMTAwMDJFODAwRjg1MTNFMDAyQzgwMDNFMTQwRjA1MDEyRTAzN0IKKzoxMENFMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0MEZEMDBCRjQ0RDkKKzoxMENFMzAwMDBGRDEwM0Y0NDA3RDEwQkY0NDQ1RjEyQkY0NDBGRDEwQTkKKzoxMENFNDAwMDNGNDQwRjkxMDNFNDQwRDkxMDNFNDAwRkQxMDNBNjA2QTIKKzoxMENFNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYwMEZEMDAxRjYyRDEKKzoxMENFNjAwMDBGRDg4MjM2MDBCREEwM0I2ODBDREM4MzI2QzhEOUEwNTEKKzoxMENFNzAwMDMzNjAwRDk5ODM1NjIwRDVBODJFNDQwQ0Q4ODM4NjA0QTAKKzoxMENFODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTE0OEI4MDAyRTAwREIKKzoxMENFOTAwMDBCMEE4MjIyMjBCODUwMjJCQTA4OEEyMjIyODA4ODAwRjcKKzoxMENFQTAwMDIyMDEwODBDMDIyMDAwODgwMDJFMjg4ODg4MDJDRTA0NjcKKzoxMENFQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNTQKKzoxMENFQzAwMDFCMTAwQTg0NDBCMTAwMjg1ODBBMzIwMjA1MDA5OTQwMUMKKzoxMENFRDAwMDIwNjUwOTEwNDJDNDAwOTEwMDJDNDAwQTMwODJDMjAxMzIKKzoxMENFRTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQwMEI5MDAyRTQwREUKKzoxMENFRjAwMDFCOTAwMkE1ODBCOTEwMjI0ODA4MTA0MjA0MTAwOTAwQjYKKzoxMENGMDAwMDIyNDAwODkwMDJFNDAwOUIwMDJDNDAwQTk0MjJDNjA0QjAKKzoxMENGMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MjAzRTQwODEKKzoxMENGMjAwMDBGOTAxM0E3MTBGOTYwQkE1MDJFOUMwQTI1ODREMUYwRjcKKzoxMENGMzAwMEIyNjAwRDkwMDNFNDAwRDkwMDNFNDAwRTkwMDNBODAwQkIKKzoxMENGNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwQ0Y5OTAzRTZBNjcKKzoxMENGNTAwMDhGOTAyMzY2MDBGMTA4M0M0MDBGOUM0M0U0NDBGOTgwMjkKKzoxMENGNjAwMDNBNDQwRjkwMDMyNDA0RTkwMjNFNDAyRDkxMTNDQTAwNzUKKzoxMENGNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEU4MjAzRTAxMzIKKzoxMENGODAwMDBDMDAwM0ExMjBFODUwMzIxMDJDOEMwMzIxMDBFODAwOTMKKzoxMENGOTAwMDMyMDIwRjAwMTMyMDg4QzgwODMyMDAwRjhDMDNDQTAwMjkKKzoxMENGQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgyMDhFRTMyRjkwQkMKKzoxMENGQjAwMDBBRTAwNjNCMDBFRTA0MjM5MDA4RTAwMjI4MDg4QTAyRkIKKzoxMENGQzAwMDc1OTA4QkEwNDE1ODkwOEU4MDJBODEwQkUwMDM4QTEwQzcKKzoxMENGRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEUwMEEzMDA2QzYwMjcKKzoxMENGRTAwMDA4MzgxQThFNDBBMDgwMjBDQzA5MzAwMjBDMDVBMzA0MUEKKzoxMENGRjAwMDI4QzQwQjMwMDIwRDAxODNDMDIwQzAwQjMwMDJDQTAwRDAKKzoxMEQwMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwODg3MDAyRDYyRjMKKzoxMEQwMTAwMDBCNzA5MjFDMDhBMDAwNjFDMDA5NjAwNjFDODBBNzAwNkMKKzoxMEQwMjAwMDIxQzAwQjcyMDI1ODAxODc4ODI5QzAwQjYwMTJBODAwMkEKKzoxMEQwMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEU2ODAzRDYwREYKKzoxMEQwNDAwMDBDNzg0Mjk2MDBFNDgwQTM2MDBENzgwMzNGMDBFMzgwRjMKKzoxMEQwNTAwMDIxRTAwRjdCMDMxNjA4Qzc4MDMxRTI0Rjc4NDNFQTAyRDQKKzoxMEQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEOEMwMUY4MDAzQzQwOUEKKzoxMEQwNzAwMDBFQjAwMkVDMDBGODAxM0U0MDRFMzAzM0VEMjBEQjAxRjMKKzoxMEQwODAwMEJFQzAwRkI0MDNFQzAwRkIwMDNFRDgwRkEwMDNDMjA2RTUKKzoxMEQwOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEM3ODQyMzYwNUYKKzoxMEQwQTAwMDBDNzgwQkJFMDBGRDgwM0ZFMDBGRUIwMzNFMDBDRjgwMEQKKzoxMEQwQjAwMDNCMjUwQ0Y4ODM3RTQwQ0Q4MDMzRTIwQkY5MDMwMDAwNjIKKzoxMEQwQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMjg3MDAxNTQ4QjUKKzoxMEQwRDAwMDA4NzAwMjE0MjBCNjAwMzU5QTQ5QzgwMzlDODRBNzAwNDIKKzoxMEQwRTAwMDM5RDAwQTcwMDIxQTA4QTQwMDIxQzAwOTYxNDIyQTA0M0EKKzoxMEQwRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg3MDAyMTQwNEMKKzoxMEQxMDAwMDA4NzEwMjk0MDBCNTAwMkQ0MDBCRjEyMjVDMDIwNzA4NjMKKzoxMEQxMTAwMDJDNTAwODcwMDI1MDAwODcwMDJEQzQwQjUwNDIwMDAwQjQKKzoxMEQxMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMDgzMDIyNDQwRjYKKzoxMEQxMzAwMDE4M0QwQTAxMDBCMDU4MjQyMDA5MzAwMjhGNDA4M0UwRDYKKzoxMEQxNDAwMDJDQzEwQTMwNDIwODAwQjMwMTZDQzAwOTA4MTYwODA0NUIKKzoxMEQxNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1OEMwMDhCMDAzMjQwNTkKKzoxMEQxNjAwMDBDMjUwM0E4NDhGODgxM0U4MDBGODA2MzdDMDBDQjgwQUIKKzoxMEQxNzAwMDNBQzAwQ0YwMDM2QzAwQ0EwMkJGQzAwRjk4OEIyQTA0OUYKKzoxMEQxODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEY5MDAzRTUwNEMKKzoxMEQxOTAwMDJGQTQwQkM4MDBGMDQwM0VEMDBGQTAzM0VDMjBGQjA0QkUKKzoxMEQxQTAwMDdBRTAwRkIwMDNFRDA4RTkwMzMyQzAwRDkwMDNFMDAwMTAKKzoxMEQxQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRUM0MEVFMDAzRUMwMTYKKzoxMEQxQzAwMDBDREEwMzcwMDRDQzAyQjFBMDBFRjAyM0VDMDBGRjAwRDcKKzoxMEQxRDAwMDM3MjBDREIwNzNFQzg4RkI4MDNGQzAwRjMwMDMwMDQ0OTQKKzoxMEQxRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkUwMDg4ODAyQ0UxMDcKKzoxMEQxRjAwMDA4OTQwQUE5MDI4ODQwMjJEMDA4Qjk0MkVDMDRCQjAwNzYKKzoxMEQyMDAwMDJDRDQwREIwMDJFRDIwQkJEMDJFQzAwQkIwMDJBMDQwM0MKKzoxMEQyMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjQwMEFCODAyRUYwMEMKKzoxMEQyMjAwMDI5QTA4MjZEMDA4ODA4MjIwNDA4OTA0MkVDMDBCQjAwMEYKKzoxMEQyMzAwMDJBODEwOEIwMDJFNDA5QkEwNDJFQzE0Qjk4ODIyMDAwNkEKKzoxMEQyNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgzMDAyQ0MwMUYKKzoxMEQyNTAwMDBBMjEwMjg0MTA4MjAwRTAwMDE4MEExMkNDMDBCMzAwRjgKKzoxMEQyNjAwMDBDQzAwOTMwMDJDQzkwQjAwMDJDQzAwQjEwMDI4MjAxMUYKKzoxMEQyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjQwMEVCMDAzRTAwMTQKKzoxMEQyODAwMDJDQjQwMzY0MDg4ODAwQjIwMDBDQjI0M0ZDMDBGQjAwMUQKKzoxMEQyOTAwMDU2MDAwQ0YwMDFFNDAwRkIwMDNGQzAwRjgwMEIwMDAzQzAKKzoxMEQyQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMEZGMDAzRjQwRkYKKzoxMEQyQjAwMDJERjA2MUYwMDBGNDAwMjcwMTBEQjExMUZDMDBGRjAyMTgKKzoxMEQyQzAwMDA3QzAwRkYwMDNFQzQwRkYwMDNGQzAwRkMwMDM2ODA2MkIKKzoxMEQyRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjYwMEVGOTAzRDRDMUIKKzoxMEQyRTAwMDJDQzAxM0Y0MDhGRDIwMzc0QzhFODI4Mzc0ODREQ0MyN0EKKzoxMEQyRjAwMDNGRDgwREYyMDNFQ0MwRkY4MTNGMDAwQ0Y4MDNGMDAwQjMKKzoxMEQzMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTYwMDhCMjQyRTVDRkUKKzoxMEQzMTAwMDA4OEQwMkZGNDhCOTkwMkY1NDBCODQ4MjNFNDBBMDgwQjQKKzoxMEQzMjAwMDJFQzQwQUZDNDJFRDgwQjk4MDJFNjAwQTk4MTJFMDA0RjcKKzoxMEQzMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1RTQwMUEzMDAyODQ4MzgKKzoxMEQzNDAwMDBBMDA0MkM0MDBCMTAwMkM0OTBCMEE0MjA0QTI5MTIxRjgKKzoxMEQzNTAwMDJDQzkwODMxMDI4Q0MxQTMwMDJDNDAwODE4MDJBMjAxN0MKKzoxMEQzNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTAyMDhCODIyRTQ0MzkKKzoxMEQzNzAwMDU4ODAwMkU0MDBCQjEwMkU0MDBCQTExMjBDMDE4OTEwNTIKKzoxMEQzODAwMDJFQzAwQUIwMDJFQzAxQjg4MDJFRTIwQUExMDJGMDA0MUQKKzoxMEQzOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUI0MEVCNDAzRTYwRTQKKzoxMEQzQTAwMDBFODczM0U0MDBCOUExMzZDMDBFQTgwQjI2MDBEQUMwMDAKKzoxMEQzQjAwMDNFQzA4REIwMDNFQzAwRkI4NTNFRTEwOEI4MDM5MDA1NEMKKzoxMEQzQzAwMDIwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZGMDIyRjYwMTQKKzoxMEQzRDAwMDAzRTg4M0ZDMTBGRDgwMUY0MDFGRDAxM0JFNDBFRTA0MDUKKzoxMEQzRTAwMDNGQzAwRkYwNDNGQzA4RkQwMDNDQzAwRkQwMTFGODAwMTcKKzoxMEQzRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMERCMDBCMjQwMEMKKzoxMEQ0MDAwMDBFOTQwMzI0MDBEOTAwQkFDMDBDMjAwM0U0OTBGQjAwNjIKKzoxMEQ0MTAwMDNBQzAwQ0IwMDNFQzAxRkEwMDNFRDAyQzk4MDM5MDA0MDMKKzoxMEQ0MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MDMwMDhCMDAyMjQ4MTcKKzoxMEQ0MzAwMDA4ODQyMjJDMDBCOTAwMjJDMDA4QTAwMkVEMDA4QkEwQjUKKzoxMEQ0NDAwMDIxQzAwOEYwMDJGQzAwQjk4MDJFQzAwOEEwMDIzMjAwMDIKKzoxMEQ0NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDUyMDkzMDAyMkY4OTUKKzoxMEQ0NjAwMDBCMzAwQTg0NDBCMjAwMjA0MDA4MTAwMkM0MDA4MDgwQzMKKzoxMEQ0NzAwMDI4QzAyODM5MDI0QzAwQjEwMDJDQzAwODMwMDJCODAwODYKKzoxMEQ0ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMzYwMDlGODAyMTYwNTUKKzoxMEQ0OTAwMDA5MzgwMjlFMDBCMkMwMjA2MDQ4NDgxMkQ2QzY4NkQwMjUKKzoxMEQ0QTAwMDIxRTAwODc4MDBERTgwQjc4MjJERTAwOEY4MDIwODAwNEQKKzoxMEQ0QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMyMEQzMTAzMEM4RDUKKzoxMEQ0QzAwMDBGMzAwMzg0MDBGMTAwMzA0MDI0MTkwM0U0QzBFMDQwMzEKKzoxMEQ0RDAwMDNBQzAwQzMyMDNDRTgwQjEyODNDQzAwQzMwMTM5MjAyMEIKKzoxMEQ0RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOUMwMEU2MDA3RkMwMUUKKzoxMEQ0RjAwMDBFRjAyMzc0NDBGRjEwM0Y0MDRGRDAwM0ZDRDJDRTA0MDcKKzoxMEQ1MDAwMDNGQzAwRkY0MDNGQzAwRkUwMDNGQzAwRjcxMDNEMDEyQjgKKzoxMEQ1MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUUwMENCMDAxNkMwNkYKKzoxMEQ1MjAwMDBEODAwMzI3MjBDQjAwM0VDMjBBQjA1M0U0MjhDMTgxRkUKKzoxMEQ1MzAwMDMyQzEwRUI5MDMyQzAwRjE4MDM1RTAwQ0I4MDMyQTA0ODcKKzoxMEQ1NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMjg3MTAyRDQwNzAKKzoxMEQ1NTAwMDA4NzAwMzVDMDBBNzAwMkQ0MDI4NzAwMkQ0MDQ4NzA0RTMKKzoxMEQ1NjAwMEExRDAwQjcyMDIxRDAwRjcwMDIxQzAwRDUwMDIxMjA0NjEKKzoxMEQ1NzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg1ODAyNUUwRTMKKzoxMEQ1ODAwMDA5NzgwMjM3MDM4NzgwMkZFMDA4NzgxMkM2MTA4RDgwNTMKKzoxMEQ1OTAwMDI1RTgwQjM4MDIxRTgwQkM4NDI1RTAwODU4MDI3MDAwODQKKzoxMEQ1QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0Q4MDgzODgyQ0MwQkIKKzoxMEQ1QjAwMDA4M0MwMjRFMDFBM0QyMkVDNDA4QjEwMkNDMDA4MzgwRTUKKzoxMEQ1QzAwMDI0QzEwQjMwMDIwQzAwQjM0MEEwRDIwOTMwMTI1MjAwMkIKKzoxMEQ1RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkEwMENBQzAzNjgwMjQKKzoxMEQ1RTAwMDBENjcxMzI4MDBDRTAwM0VBMDBDRUQwM0U4MDBDRUUwNEUKKzoxMEQ1RjAwMDM2ODAxRUEwMEIyODA0RkUwMEI3QjIwQ0UwMEI3QTAwQTgKKzoxMEQ2MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTA0MEY4MTAyRTEwMEMKKzoxMEQ2MTAwMDBGODAwM0UwMDFEODBBM0UwMDBGODAwM0MwMDJGODA4MjMKKzoxMEQ2MjAwMDNBMDAwRjgwMDNFMDEwRTgyMEJFMDAwRjgwMTM5MjAwNDQKKzoxMEQ2MzAwMDIwMDAwMDAwMDAwMDAwMDAwODEwRTUwMEZCMDAzRTQwNTQKKzoxMEQ2NDAwMDBDOTEwMzI2MDA2MTgwMzI0MDBDOTAwMzI0MDBDOTAwMzUKKzoxMEQ2NTAwMDFFNDAwQzlDMDNFNDAxRjkwMDNFNDAwRjkwMDNDMjAwMDEKKzoxMEQ2NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjcwMEI5MDAyQzQwN0EKKzoxMEQ2NzAwMDAwOUMwMkE2MDA3OTAwMjI0MDI4OTAwMjI0MDA4OTAwMjQKKzoxMEQ2ODAwMDJDNDQwODk4MDJFNDAwQjk4MDJFNDAwQjkwMDJFMDAxN0YKKzoxMEQ2OTAwMDAwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEJCMDAyNjUwMUMKKzoxMEQ2QTAwMDI4OTA4MjI0ODQ5OTIwMjI0MDQ5OTAwMjI0MDA4OTAwRjUKKzoxMEQ2QjAwMDJFNDAwODkwMDJFNDAwQjk2MDJFNDAwQjkwMDJDNjA0OTAKKzoxMEQ2QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDYwMEIxMDAyRTQ4RTEKKzoxMEQ2RDAwMDA4MTIwMjg0ODBCMTIwQTA0ODA5MTIwQTA0ODA4MTAwNDcKKzoxMEQ2RTAwMDJDNDgyODEyNDJDNDg4MzEwMDJDNDAwQjE4MDJDMjAxNzkKKzoxMEQ2RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEY4NTAzNjE0NzMKKzoxMEQ3MDAwMDBDODAwMzIwMDBFODAwMzIxNDBDODUwMzIxNDBDODUwMkYKKzoxMEQ3MTAwMDNFMTQwQzgwMDNFMTQwMzgwMDNFMDA4RjgwMDNFRTAzOEUKKzoxMEQ3MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERDQwMEZCMDQzRDQ0QTAKKzoxMEQ3MzAwMDBGNTEyM0Q0NDhFRDEwM0Q0NDRFRDEyM0Y0NDJGRDAwNTcKKzoxMEQ3NDAwMDNFNDQ4RjkxMDNFNDU4RkQwMDNGNTAwRjUwMDNFNjA2MUUKKzoxMEQ3NTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjQwMEY5MDAzRDQwRDIKKzoxMEQ3NjAwMDBDRDAwM0Y0MDBERDAyM0U0MDBDOTAwM0U0NDBDOTEwRUQKKzoxMEQ3NzAwMDM3NDAwN0QwMDcyNDAwRTUwMDJGNkEwRjcwMDMwNjAwMkEKKzoxMEQ3ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEI4MDAzQTAwMEYKKzoxMEQ3OTAwMDgwODAwMkUwMDA4ODAwMkUwMDBBODA1M0EyODAyQ0EwMjYKKzoxMEQ3QTAwMDIyMDAwQjgwMEEyMDAwQjgwMDJFMTAwOTgwMDMwRTA0MEUKKzoxMEQ3QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDA2QzQwMEIKKzoxMEQ3QzAwMDJBMTAwMjg0MDE4MTgwMkU0MDA5MTAwMkY0MDA4RDA0ODkKKzoxMEQ3RDAwMDIwNDAwQjEwMDI4NDAwQjEwMDJDNDAwQjk4MDI0MjAxNDMKKzoxMEQ3RTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQyMEI5MDAyQTQwQjkKKzoxMEQ3RjAwMDg4QjQwMkU2MDFBOTIwMkU0ODBBOTAwMEE0NDBBRDQwNUEKKzoxMEQ4MDAwMDIyNDAwQjkwMTJBNDA0QjkwMTJFNDEwQjkwMDIwNjA0OTEKKzoxMEQ4MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5QzAzRTYwQjgKKzoxMEQ4MjAwMDBDOTQxM0E2MDJEOTQyMUM2MDBDOUUwMUM2MDRDMTAwRDAKKzoxMEQ4MzAwMEIyNDAxRjkwMDJBNDAwRTkwODNFNjg0Rjk4MEI2ODA0QUMKKzoxMEQ4NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTY0MEY5MjAzODcwOTgKKzoxMEQ4NTAwMDBGOTEwM0U0MDBEOTgwM0U0MDBGOUMxM0E0MDBGOTAwMEYKKzoxMEQ4NjAwMDNFNDAwRjEwMDM2NDEwRjkwQTNFNTAwRDlBMDNDQTAwOUYKKzoxMEQ4NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTEwMEQ4MDQzRTAwNTUKKzoxMEQ4ODAwMDBDODExM0MwMDJEODIwM0UwMDJEODQwM0UwMDBDQzA4OTgKKzoxMEQ4OTAwMDNBMDAwRjgwNDNFMDAwRjg0MTMyMDAwNzgxOEIwQTA0MTAKKzoxMEQ4QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1M0E2MDhBMDAyRkE4MzAKKzoxMEQ4QjAwMDBBRTAyMkU4MDI3RTQ4MkU4MDA4QTA0MkU4MDQ4RTAwOUEKKzoxMEQ4QzAwMDIzQTgwQkE4ODJFODAwRUUwMEEyODA0QjYwMDIwQTAwQTkKKzoxMEQ4RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzMDA2Q0MwRDAKKzoxMEQ4RTAwMDA4MzAwMkNDMDAxMzgxMkNDMDA4MzAwMkNFNDA4MjQwQTgKKzoxMEQ4RjAwMDI4RTAwQjM4MDJDQzAwQjMxMDI0QzA4QjM4MDIwQTAwOTkKKzoxMEQ5MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMDg3MjAyRkMwNzIKKzoxMEQ5MTAwMDBBNzAwMkRDMEFCNjAwMkNDODg4NzIwNkQ4MDA4NjAwOUQKKzoxMEQ5MjAwMDIxQzAwQjcwMDJEQzg0QUY4MEE1QzAwQkQwMDIyODAwQTAKKzoxMEQ5MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEQ3ODAzREEwQTUKKzoxMEQ5NDAwMDFDNzgxM0Q2MDJENzgwM0RFQzA4N0UyM0ZFMDBDRTgwRTMKKzoxMEQ5NTAwMDM5NjAwRjc4MDNERjAwRjY4MDc1RTAwRjc4MDMyQTAyNDQKKzoxMEQ5NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEOEMwMEZCMTAzRTgwM0QKKzoxMEQ5NzAwMDFGQTAyMUNDMDBGQTAwM0VDMDBFQjAwM0U4MDJGQTAwNUUKKzoxMEQ5ODAwMDNFNDAwRkIwMTNFQzAwRUEwMTNBQzAwRjkwMDNDMjA2MEMKKzoxMEQ5OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkMwMEZGODAzRjYwMDgKKzoxMEQ5QTAwMDA4OTkwNzdFMDBERDgwM0ZFMjBDRjgwM0Y2MDJERjgwNzUKKzoxMEQ5QjAwMEIzRTAwQ0Y4MDMzRTQxQ0M4MDMzRTQwRkY4MDNDMDAwMjEKKzoxMEQ5QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM0MEI3MDAyREMwQUUKKzoxMEQ5RDAwMDBENUEyMkRDODA3NTAwMkRDMDA4NzEwMkYwMjA4NzAwRUUKKzoxMEQ5RTAwMDIxQzAwQTcwMDIxQzAwRDQyODIxQzAwQjcyMDJFQTA0NzQKKzoxMEQ5RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUM0MEI3MDAyRDAwMDcKKzoxMERBMDAwMDA4NzIyMkY0MDA4NzAwMkRDMjA4NzAwMkQ0MDA4NzgwQkIKKzoxMERBMTAwMDI1NDAwOTMwMDI1QzAxQUQwMDI5RDA0QjcwMDJDMDAwRTYKKzoxMERBMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEJCQzgyQ0EwODcKKzoxMERBMzAwMDA5MjAwMkNFMDBBMzAwMkNFMEE4M0Q0MkMyMDA4QjgwNEEKKzoxMERBNDAwMDI0NDAwQjMwMEE2QzA4QTM0MEE4RTAwQjM0MDJDODA0NDEKKzoxMERBNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUQwMEZGNDgzQzI4ODEKKzoxMERBNjAwMDBDQTkyMzZDODA4QjAwM0ZDMDBDRkMwM0VDMDBEODgwMTkKKzoxMERBNzAwMDM0NDAwRDMwMDM3QzAyQTM0MDM4NjgwRjI0MDNFQTA0Q0QKKzoxMERBODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUQ4OEZCMDAzRTUwQjgKKzoxMERBOTAwMDBGQTEwM0VDMDQzQUMwM0VDMDBGQjA4M0U4MDJGODEwQjcKKzoxMERBQTAwMDNBNDEwRTkwMDNBQzAwOUIwOEI2NDAwRjgxMDNFMDAwQTIKKzoxMERBQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDBCMzIwNTcKKzoxMERBQzAwMDBDNTAxMzFDMDlDRDgzMzNDMDgzNzAwMDNDMDBEQzEwNjQKKzoxMERBRDAwMDMyNjAwRUYxNDMyQzAwQ0UwNDNCNzAwQ0YwODMwMDQ0MDYKKzoxMERBRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0Njc4MEJCMDE2MjIxNUIKKzoxMERBRjAwMDhBODkyMDJDMDA4MEUwMjJDMDBCQjAwM0Q4MTA4QzA0NEYKKzoxMERCMDAwMDIyNDAwNTkwMDJBQzAwRDg4MDM2NDAwQTkwMDIyMDQwQTYKKzoxMERCMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjYwMEJCMDAyMjA2NjcKKzoxMERCMjAwMDA4ODAwMjJFMDA4ODIwMjJDMDA5QjAwMkE0MDA5OTAwQkIKKzoxMERCMzAwMDYyQzQwOEIwMDYyQzAwODg4MDIyNDEwOEEwMDIyMDAwQTAKKzoxMERCNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIzMDAyMDQwNkEKKzoxMERCNTAwMDBBMDA4MjBDMDA4MDAwMjBDMDBCMzAyMkEwMDA4MTAwNEYKKzoxMERCNjAwMEEwQzAwOTMwMDI4QzAwOTAwMDI0NDAwQTI4MDIwMjAxNjMKKzoxMERCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjAwMEZCMDIyMDAwMUIKKzoxMERCODAwMDJDOTIwMzJDMDI4ODAwMzFDMDBCQjUwMkE0MDBEMTA0RjIKKzoxMERCOTAwMDMyNDAwRTkwMDMyQzQwQzkwMDNBNDA4Q0EwMDMwMDAzOTEKKzoxMERCQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMEZGMDAyRjAwNDYKKzoxMERCQjAwMDBGQzAwM0RDMDBGQzAwM0ZDMTBGRjA0M0YwMDBGRDAwOEMKKzoxMERCQzAwMDNGNDA0RkQwMDNGQzAwRjUwMDNGNDAwRkUwMDNFODA2NjQKKzoxMERCRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RDg4MENDMDBCNzA0MzEKKzoxMERCRTAwMDRFRTEwMzNDMjBERjEwMzE4MDA2RjAwMzdGMDBGRkMwRDAKKzoxMERCRjAwMDNCQzAwRUYyMDM1RTAwRUYxMDMzRDAyQ0YyMDMzMDAwNzYKKzoxMERDMDAwMDcwMDAwMDAwMDAwMDAwMDBDMDEwRTkwMDg4QzYyMDVDMjEKKzoxMERDMTAwMDA4QTQ1NzY1MDA4RjUyMkFGMDA5RkMwMjA0MDBCQjAwREIKKzoxMERDMjAwMDJERDkwOTc0ODM2NDI4ODM0NDIyODQ4ODA2ODIzMDA0QjEKKzoxMERDMzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1QzkwMDgwMTAyMDA4NjYKKzoxMERDNDAwMDA4MzExMjA0QjJBMzAwMjA4NDFCMzQwMjBDODBCMzIwREMKKzoxMERDNTAwMDJDQzcwOTM2MDI4QzgwOTM0MEFDQzgwODMxMjgzMjAxQTkKKzoxMERDNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTkwMDg4MDBBMjUwNEMKKzoxMERDNzAwMDA4MzUwMjI0MDA4QjA0MkVDMTA5QjAwMjI0OTRCQjAwOTUKKzoxMERDODAwMDJFQzAwQkIwMDJDQzYwOEIwMDJFODAwODgwMDAzMDA0QzgKKzoxMERDOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTcwMkNCMThCMjgwMTEKKzoxMERDQTAwMDJDQUMwQTJFMDhFQjAwMzIxMjRFQjAwMzJCODBGQjAwODYKKzoxMERDQjAwMDNBQzAwQUIwMDNBQjA4RUIwNDJFNDgwQ0I4ODMwMDA0NEEKKzoxMERDQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjY4MEZGODAzOUNBNEIKKzoxMERDRDAwMDBERTgwM0Q2NDBFNzA0M0I2NjRFNzAwM0I4MDBGRjAxMzEKKzoxMERDRTAwMDNGQzA2Q0YwMDM3MDA2RTcwMDMxMDQwRkMxNDNGODAwMzkKKzoxMERDRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwODUwMENCNDAzMjkwMjIKKzoxMEREMDAwMDJGQjAwQjY0ODBGQjA4QkExMDBEQjBBNzJEMDBGQjA0RTgKKzoxMEREMTAwMDNFQzA4RUIwMDM2RDAwREIwMTMyNDA4QzMzMDM5MDA0QjMKKzoxMEREMjAwMDIwMDAwMDAwMDAwMDAwMDBDMDA1MjQwMDgzRTBBMkQwMTUKKzoxMEREMzAwMDQwQjAwMjI1MDRCRjgwQTA1MDA4RjgwMjIwMDA4QjAyRUEKKzoxMERENDAwMDJGRDAwOEYwMDIyNDAwOEY4MDM2MDEwODg0NDIzNjAwNkMKKzoxMERENTAwMDQwMDAwMDAwMDAwMDAwMDBFODA1NDQwMDgzNDgyMEM0QTMKKzoxMERENjAwMDA5MDAwMjQ2MDBCMzAxQTg5MDE5MzAxMjhDMDBBMzA0RTgKKzoxMERENzAwMDJFRTIwQUIwMDIwQzAwODM0OTI4QzAwOTNDMDIzODAwOTgKKzoxMEREODAwMDUwMDAwMDAwMDAwMDAwMDBGMDAxMzYwNDgzODAyMUUxMTMKKzoxMEREOTAwMDA4MzgxMjFFMjhCMzk4MjFBMDE5Mzg4Mjk2MDA4NzgzNkMKKzoxMEREQTAwMDJERTIwODc4MjIzNjhDODc4MDJERTAwOTc5MDIzRTAwMkEKKzoxMEREQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDQwMEMzMzAzMEM4RTQKKzoxMEREQzAwMDREMDAwQjRDODBGMzEyMzhDMDBEM0EwMjhDODBGMzAwRUEKKzoxMERERDAwMDNDQzAwRTMwMEIwRTAwQzMwQzNBQzAwRDMwMDMxMjAyRDMKKzoxMERERTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQwNkZGMTAzRkMwMEUKKzoxMERERjAwMDBGQjAxM0JDMDBGRjEwN0ZDMDBFRjFBMzdDMDBGRjEyMTgKKzoxMERFMDAwMDNGQzIwRkY1MjNCQzQxRUYxODM3ODBBRUMwMDM1MDA2NjgKKzoxMERFMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMERCMDAzRURBMUUKKzoxMERFMjAwMDBDODAwMzY2MTA4QjAwMzI4MDhDQjYwMzRBMDA0QjgwNTYKKzoxMERFMzAwMDMyQzgwQ0I0MDMwQTEwREIwMDNFQzEwQ0IwNDMyQTAwMDgKKzoxMERFNDAwMDcwMDAwMDAwMDAwMDAwMDBDODExQjQwMDg3MDQyQ0MwNUUKKzoxMERFNTAwMDBENzAwMzFDMDg4NzQ4MjA4MTBENzI4MjVDMDBENzAwN0EKKzoxMERFNjAwMDIxQ0MyOEYwMDIxQzEwODcyMDJDMDAwODQwMEEzMjA0MjQKKzoxMERFNzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOTYwMEI3ODEyREUwRTcKKzoxMERFODAwMDA4NDgwMjBFMDQ4NzgwMjFFMDA4NzgwMjNFMDE4NzgwNUUKKzoxMERFOTAwMDIxRTAxODc5MDIzQTAxOTdBMDJENjAwODM4MDIyMDAwOEQKKzoxMERFQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0QzYwMEEzQzYyQ0MwREIKKzoxMERFQjAwMDA5MzAwMjBDMDE4MzAwMjBFMDA5MzAwMjRFMDA5MzAwN0IKKzoxMERFQzAwMDIwQzA0OTMwMjIwRjY0ODMwMjZDRDQyODMwMDIxMjA0MkYKKzoxMERFRDAwMDMwMDAwMDAwMDAwMDAwMDBFODExQUI4MEZBRTAzQzg4NTAKKzoxMERFRTAwMDBDRTAwMjI4MDJDQTAwQjNBOTBDQTAwMzNCMTBDQTAwMzAKKzoxMERFRjAwMEEyODAwQ0EwMEIzODAwREEwMDNGQjAwQ0U2MDMzQTA0MTUKKzoxMERGMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzAyMDk4MDgzRTAwQUIKKzoxMERGMTAwMDBGODAwQkUxMDBGODAxM0MxMDRGMDAwM0EwNDBGODAwMTcKKzoxMERGMjAwMDNFMTAwRTgwMDNFMDAwRjgwMDNDMDIyRjA0OTNEMjAwNjQKKzoxMERGMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEMxQzEzMjQwQzEKKzoxMERGNDAwMDBDOTgwMzI2NDBGOTAwMzI0MDBDOTgwMzI0MjRGOTAwNzEKKzoxMERGNTAwMDNDNjAwQzEwMDNBNDAwRjk4MjMyNDAwQzkwMDMwMjA0RDAKKzoxMERGNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5MDAyMjUwOUUKKzoxMERGNzAwMDBEOTgwMjI1ODBCOTAwMjI1MjBEOUMwMjI0MDBCOTAwQTAKKzoxMERGODAwMDJFNjAwODkwNDIyNDAwQjk0MDM2NDAwODkwMEEyMDAwRDQKKzoxMERGOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDhEMDAyMzQwNDAKKzoxMERGQTAwMDA4MTIwMjI0MDBBMTEwQTI2MDA4OTI4QTI0MDBCOTAxN0MKKzoxMERGQjAwMDJFNDYwODkwMDJBNDAwQjE1MDIyNDAyODkwODIwNjAwMEMKKzoxMERGQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4NDg1MjBBMUQ4NUYKKzoxMERGRDAwMDA5MTAwMjA0ODBCMzIwMjA0MDI5MTIwNjA0MDBCMTAxNzgKKzoxMERGRTAwMDJDNDgyODEyMDIwNDAwQjEyMDI0NDgwODEyMDIwMjAxMjEKKzoxMERGRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MjhBMDBCMzAwN0MKKzoxMEUwMDAwMDBDMDUwMzIxNDBFMDUwQjIwMDJDODAwMjIxNDBGMDUwNkEKKzoxMEUwMTAwMDNDMTQwQzg1MTNBMTUwRjg1MDMyMTQwQzg1MjMyRTAzQTgKKzoxMEUwMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY5MTAzRTQ0MkMKKzoxMEUwMzAwMDBGRDQwQkY0NDRGOTEwM0Y1MDRGMTEwM0Y0MDBGOTAwRDIKKzoxMEUwNDAwMDNFNDQwRjkxNTNGNDE0RjkxMDNGNDQwRkQxMDNFNjAyRkMKKzoxMEUwNTAwMDcwMDAwMDAwMDAwMDAwMDA5ODA1RTZBMEREODhCMzY2QUYKKzoxMEUwNjAwMDBDREM4MzM2ODhCREEwMzc2QTBDREEwQjI1MDJDOTQwNjgKKzoxMEUwNzAwMDNGNzg0Rjk4QjNFNTA0Q0RBMDcyNzgwQ0Q4OEIyNjE0NjYKKzoxMEUwODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTMwMDg4NDIyMjMxRDgKKzoxMEUwOTAwMDA4MEEwMjIyQTBCOEY5MjIxMDBEODQxMjZBODA4ODgwMzIKKzoxMEUwQTAwMDJFMjAwQjA4MDJFMjgwQThBOEEyMzg0OEE4MDIwRTAwODEKKzoxMEUwQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzRBMjgxMDAyMDQ4OTQKKzoxMEUwQzAwMDA4MTI0MjQ1MDBCMTAwMjQ0MDA5MTQwMjI0MDA4MTIwQjYKKzoxMEUwRDAwMDJDNTgwQjEwODJDNDA0OTE0MDY0NkMwODMwODIxMjA1RTUKKzoxMEUwRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMDg5MDAyMjQxMDMKKzoxMEUwRjAwMDA4OTA4QTY0ODBCOTAwMjI1MDA5OTAwNjY0MDg5OTAwNEIKKzoxMEUxMDAwMDJFNDAwQjkwMDZDNDAxQjkwMjI2NjE4ODkwMDIwNjA0RDUKKzoxMEUxMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDAyMjQwREIKKzoxMEUxMjAwMDJDOTQyMzY0MDBCOTAwMzY0MDA5OTAxMzA1MDBDOTAwRkYKKzoxMEUxMzAwMDNFNDA0RjkwMTNFNUMwRDkwMDI2NDAyQzk0MDMyODAwQTAKKzoxMEUxNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODAxQTQwMkU5MDgzQzQwRTMKKzoxMEUxNTAwMDBGOTAwQkE0MDBGMTAwM0U0MTBGOTA0M0E0ODhFOTA0MDYKKzoxMEUxNjAwMDNFNDAwRjkwMDNFNjAwRTEwMDNBNDA5RjkyNjNEQTAwRTAKKzoxMEUxNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwODAxMEUwMDEzMjAwNjQKKzoxMEUxODAwMDhGODAwMzIwMDBEODA4MzAwMThDMDAwM0UxMDJDODA0MEUKKzoxMEUxOTAwMDNFMDAwQzgwMEIyMTAwQzgwMDc4MDAwRjg2MDMwQTAwQTcKKzoxMEUxQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFNDAyQjgyN0YKKzoxMEUxQjAwMDBCQTAwMjNBMDA4RTgwMjM4MjA4RTIwMjI4MTA4QTAwMTcKKzoxMEUxQzAwMDJGOTgyOEEwMTIyODAwOEUyMDJFODA0QkU0MDIwQTAwRUYKKzoxMEUxRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMkEyNDAyMDgwMDIKKzoxMEUxRTAwMDBCQjAwMjRFNDA5M0MwQTAyMDA4MzYwMjhDMDA5MzAwNzIKKzoxMEUxRjAwMDJDRTIwODMwMDY0QzEyOTMwODI4QzAwQkIwMDIwQTAwMkIKKzoxMEUyMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwODgyNDAyOTQwQ0UKKzoxMEUyMTAwMDBCNzAwMjVFMDg4NDA4MjM0MDA4NzAwNjFDODA4NzAwOEIKKzoxMEUyMjAwMDJEMjAwODc5MTI1QzAwOTQwMDJEQzAwQjMwNDIyODAwOEMKKzoxMEUyMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UwMEU0ODAzMUExN0EKKzoxMEUyNDAwMDBGNTgxMzc2MDBEMDgwMzFDMDBDMzgwM0JFODBENzgxQzAKKzoxMEUyNTAwMDNGMjA4Qzc5MDM3RjAxRDY4MDM5RTg0RjY4MDMyQTAwN0MKKzoxMEUyNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQkUwMEZBMDAzRTAwOTMKKzoxMEUyNzAwMDhGOTYwQkE0MDBFQTAwM0NDMDBGOTAwM0FDMjBGQjQwM0IKKzoxMEUyODAwMDJFMDAwRkIyMDNBREEwRUEwMDNFQzAwRkEwMUJDMjA0RDcKKzoxMEUyOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwOERFODEzM0E0OUQKKzoxMEUyQTAwMDBFRkMxMzNFMDBGQzgwMTMyMDBDNjgwMzNFMjBGRkM4QzgKKzoxMEUyQjAwMDNGNjAxREY4MDM3RTAwQzc4MDMzRTIwQ0Q4MDMxMDAwRDYKKzoxMEUyQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg2NDEzMUM0Q0QKKzoxMEUyRDAwMDA4Nzk0MjlDMDBCQzEwMjE0MDg1MzUwMzVDMDBCNzAwRTIKKzoxMEUyRTAwMDJEQzAwODcyMDIyQzAwQTcwMTM3QzAwODUxNDIyQTAwMzUKKzoxMEUyRjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOEM0MDgyMDAyNDgxQkIKKzoxMEUzMDAwMDA4RDgwMjE0MjBCNTAwMjA0MDA5NjAwMjFDNDBCNzAwNjQKKzoxMEUzMTAwMDJDNDAwQjMwMjJEQzAwOTcwMDIxQzQwODQwMDI0NDAwNEUKKzoxMEUzMjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0RUMwMDkyMDYyMDkwMjUKKzoxMEUzMzAwMDM4MTUwMjg2MDBCODAwNjA1MDA5MzAwMjRFMDFCQjAwNUIKKzoxMEUzNDAwMDJFNDAwQjMwMDJDRTIwQjMwMDI0RjA0ODAyMEE1ODA0QkQKKzoxMEUzNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMENBMDBBNjk0MTAKKzoxMEUzNjAwMDJDOTAwMzJFMDBGQjA1QjI4NTBEOTAwMzNGOTBGRjAwMUIKKzoxMEUzNzAwMDdFODAxRkYwNDNGQzIxOUEwMDMzQzgzQ0IyMDM2QTA0M0MKKzoxMEUzODAwMDYwMDAwMDAwMDAwMDAwMDA5MDAwRUMwMkVBNDAzRDgwQzgKKzoxMEUzOTAwMDBGMTA5M0VEMDBGQjQwM0U5MDhGMzAwM0VDODBGQjAwQUMKKzoxMEUzQTAwMDNFOTExQ0IwMDMyQzEwRTgwMDNFQzgxRjkwMDNBNTEwM0UKKzoxMEUzQjAwMDMwMDAwMDAwMDAwMDAwMDA4MDEwRkMwMkU0MDA3M0EwQTgKKzoxMEUzQzAwMDBDRkMwMzdDMDJGRjEwMTNDNDFDQzAwMzNDMDBGRjAwQzQKKzoxMEUzRDAwMDM3RTAwREYwMDNGQzAwRUQ4MDMxQzAwQzMyNjMyMDA0MDcKKzoxMEUzRTAwMDMwMDAwMDAwMDAwMDAwMDA4NDAwNkMwMDhBQzAyMkIxRjAKKzoxMEUzRjAwMDhBQjg0MzRBMTBEQjIwMjBGMDBBOTQwMzZDMDBCQjA3NjQKKzoxMEU0MDAwMDIyQjgwOEIwMDJFQzExRThDMEIyQzAyQTkyMUEyMDAwNkIKKzoxMEU0MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMkMwMEFBODAyMjk4NUIKKzoxMEU0MjAwMDA4OTAwMjJGMDNCQjAxMkE4MzA4QjI0RTJDMDRBQjAyRDIKKzoxMEU0MzAwMDIyQzQyOEIwMjJFQzA5QjM1MDYyQzAwOEIwMDIyMDAwMDgKKzoxMEU0NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMTgzMDA2MDgwMTAKKzoxMEU0NTAwMDA4MTIwQTQ0MDA5MzAwMkE4MDRBMzAwMjBDMDBCMzAwREMKKzoxMEU0NjAwMDYwQzAwODMwMDJDQzAwQjMwMjYwQzAwODAwNDYwMjAxNjAKKzoxMEU0NzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEU4MDIyMjgwMTcKKzoxMEU0ODAwMDJDRjI0MzJDMDBGQjAwQkFDMDA4QTUwMjNDMDBFRjAwQjAKKzoxMEU0OTAwMDM2QzA0REYwMTNGRDUxRkIwMDMyQzAwQ0IwMDMyMDAxMUIKKzoxMEU0QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMDdFMDQzRjgwMjIKKzoxMEU0QjAwMDBGMzE0M0YwMDJGRjAwMzdDMDBGRjAwM0ZDMDhGRjAwRUMKKzoxMEU0QzAwMDNGQzAwRkYwMDNGQzAwRUYwMDNCQzAwRkMwMDNFODE2OTUKKzoxMEU0RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjI0MEZDODAzRjI0RjYKKzoxMEU0RTAwMDBERDg1M0Q2MDRERjMyM0ZDQzRDQzA0M0ZDMDBERjYwNzQKKzoxMEU0RjAwMDM3QzAwRkM0MDM3Q0QwREYyMDMzRDgwREY4NDNGMDAwQzEKKzoxMEU1MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDE4RTg4MEIwMDEyRTA4QjQKKzoxMEU1MTAwMDg4OTAwMkVDMjA4QjcwMkZDQzA4QjM4MkZERTBCRjQwQzYKKzoxMEU1MjAwMDIyRDgwQjkzMDJGREMwQUYxMDI4RjAwOEJDMTJGMDA0RjMKKzoxMEU1MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQwMEIwMDAyRTAxN0IKKzoxMEU1NDAwMDBBMTI4MkVDODBCMzAwMkNDODBBMDAzMjhDMDBBMzMwN0YKKzoxMEU1NTAwMDIwRDIwOTAwMDI4QzgwODMwMDI4RDgwQjM0MTJGMjAxRUIKKzoxMEU1NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QUMwMUI4MDIyRTAwRTEKKzoxMEU1NzAwMDBBOTAxMkVDMTA4QjAwMkVDMDBBQjAwMEVDMDBCMzAwMjEKKzoxMEU1ODAwMDIyQzEwQjkyMDJDQzAxQUIwMDJBQzAwMkIwMDJGMDA0RkYKKzoxMEU1OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTAwMEZBMEMzRUMwRTIKKzoxMEU1QTAwMDBGQTAxM0VFMjBEQjAwM0VDMDJFODg1M0VDMDBGQjAwRDIKKzoxMEU1QjAwMEIyQzA4RkFDODNBQzA4REIwMDFBQzA0RkIwMDNDMDA0RkMKKzoxMEU1QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZFMDAzRkMwNDUKKzoxMEU1RDAwMDJERTAwM0ZFODA3RjAwM0ZDMDBERDIwM0ZDMDBCRjAxOTEKKzoxMEU1RTAwMDNFQzAwREM4MDNGQzBDRkYwMDNGQzAwOUYwMjNGODAwM0IKKzoxMEU1RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMEZBNDAzMkMxOUEKKzoxMEU2MDAwMDBGQTAwMzI5MDhEQjAwM0VDMDBFODUwM0VDMjBDQjAwRTEKKzoxMEU2MTAwMDNBQzAwRUE0MDNFQzAwRkIwMDNBQzIwRUIwMDMxMDA0OTMKKzoxMEU2MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJBNjAyMEMwRDcKKzoxMEU2MzAwMDBCQTAwMjA4MDBBRjAwMkZEMDBCQjUwMkZFMDI4RjAwMjYKKzoxMEU2NDAwMDJGQzAwRDgwMEEzQzAwQjcwMDIzQzIwNUYwMjIzNjAwMUYKKzoxMEU2NTAwMDQwMDAwMDAwMDAwMDAwMDBDMDA0NDAwMEIxODgyMDAwMUQKKzoxMEU2NjAwMDBCMTAwMjBDMDA4MzAwMkVDODBCMDgwNjRENDA4MzAwREYKKzoxMEU2NzAwMDIwQzAwODMwMDYwQzA4OTMyMDBBRTA0QTMwMDIzODAwMTcKKzoxMEU2ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDEwNUEwMEI1OTAyMTIwMkEKKzoxMEU2OTAwMDBCNTg0MjNFMDBBNzgwMkRFMDBCNjkwMkRFNDA4NzkyQjYKKzoxMEU2QTAwMDJERTAwOTE4MDI5RTAxQjc4MDI5RTAwMzcwMDIzRTAwQTgKKzoxMEU2QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4NDQwMEYxMDEzMDAwNjQKKzoxMEU2QzAwMDVGMTgwMzBDMTA4MzAwM0NDNDBFMDQwM0VDMDA4MzAwQUQKKzoxMEU2RDAwMDMwQzQwQzMxMDM4QzAwRjMwMDM4QzgwRTMxMDMxMjAyMzEKKzoxMEU2RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDE1QkMwMEZEMDRCRjA0NTUKKzoxMEU2RjAwMDRGNTgwM0Y4MDhFRjA4M0ZDMDBGRjAwMUZDMDBGRjRDMzMKKzoxMEU3MDAwMDNGQzEwRkQwMDMzQzAwRjcwMDM3QzIwRDcyMDNEMDA2QTMKKzoxMEU3MTAwMDYwMDAwMDAwMDAwMDAwMDAwODA1RTIwMERCMDAzMkMwREQKKzoxMEU3MjAwMDREQTgwMzJDMDhGQjAwN0VDODhGQjAwQjZGNDVFQkMyRDEKKzoxMEU3MzAwMDM2QzAwN0EwMDNFRjIwQ0I1MEIyQzAwQzc5MDMyQTAwRUIKKzoxMEU3NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODE5OTgwMDhGMDAyMUMwRjAKKzoxMEU3NTAwMDBCNjAwMzVDMDAzNzAwMkREMjBCMzAwMjBDQTg4NzI0MUQKKzoxMEU3NjAwMDIxRDAwOTcwMDJERDg4ODcyQTIzRTgwODcwMDIzMjA0NkMKKzoxMEU3NzAwMDYwMDAwMDAwMDAwMDAwMDAyMDAwQjYwMDk3ODAyMUUwNEIKKzoxMEU3ODAwMDBCNjgwMjFFMDBCNzgwMkRFODhCNDg4MjFFODBBMzg0OTAKKzoxMEU3OTAwMDI1RTgwQjY4MDJDRTAyODc4MDIxRTAwODdBMDIyMDAwN0IKKzoxMEU3QTAwMDIwMDAwMDAwMDAwMDAwMDA2ODA0Q0MwODgzODIyMEUwMDQKKzoxMEU3QjAwMDhCMkEwMjQ4NDBCMzAwMkNDMDBCMzA4MjBDMDA4MzAwMkYKKzoxMEU3QzAwMDAwQzEwOTMxMDJDQzAwODMwMDIwQzAwODMwMEExMjA0QzUKKzoxMEU3RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1RTgwMERBQTAzMkE4RDAKKzoxMEU3RTAwMDhEQTgwMzNCMDBGQTAwM0U4MDBGRTQwMzY4MDBFQTAyQjQKKzoxMEU3RjAwMDM2ODAwRkU0MDNFODAwQ0EwMDMyODAyQ0EwMDMzQTA0RkMKKzoxMEU4MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAxQTAxMEY4MDBCRTIwRDkKKzoxMEU4MTAwMDhGQzEwM0UwMjRGODAwM0UxMDBGODQwM0UwMDBGODAxRUMKKzoxMEU4MjAwMDNFMDAwRjgwMDNFMDAwRjgwMUJFMTAwRjgwMDNEMjAwMEQKKzoxMEU4MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQTQwMEY5NDAzMjQwNDEKKzoxMEU4NDAwMENGOTAwM0U0MDBDOTAwMEU1MDBGMUEwMzI2MDBGOTAwMTAKKzoxMEU4NTAwMDNFNDAwRjkwODFFNDAwRjk4MDMyNDAwQzkwMDNDMjA0RTYKKzoxMEU4NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNEIxMDQyMjQwNzUKKzoxMEU4NzAwMDBCOTAwMkU0MDBBOTAwMkU1MzBCOTIwQTI2NDhCOTA0MUIKKzoxMEU4ODAwMDJFNDAwQjkwMDJFNDAwQjk4MDAyNTAwODkwMDJFMDAwOTQKKzoxMEU4OTAwMDEwMDAwMDAwMDAwMDAwMDAzODA1MjQwMEJEMDAyMzQwRTcKKzoxMEU4QTAwMDBCRDAxMkM0MDA4OTAyMkU0MDBCOTAyMjI0MDBCOTAwMjQKKzoxMEU4QjAwMDJFNDAwQjkwMDJFNDAwQjEyMDIwNDA2ODkwMjJDNjAwNTgKKzoxMEU4QzAwMDQwMDAwMDAwMDAwMDAwMDAyODE0MTQwMEJGMTJBMTQwMDYKKzoxMEU4RDAwMDBCNTAwMkM0MDBBMTIwMkM0ODBCMTIwMjA0MTBCMTExRUQKKzoxMEU4RTAwMDJDNDgwQjEzMjJDNDAwQjE0MDIwNUEwODEwMDJDMjAxNjgKKzoxMEU4RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NDAzMjE0MzQKKzoxMEU5MDAwMDBGNDUwM0UxNDBDODUwM0UxNThGODUwMzIxRThGODY4QTQKKzoxMEU5MTAwMDNFMTQwRjg0MDNFMUUwRjAyODMyQThDQzgwMjNFRTAzRkMKKzoxMEU5MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODE1QzQxMEY5MjAzRTQwN0YKKzoxMEU5MzAwMDBGOTAwM0Y0MDBGOTEwM0U0NDBGRDEwM0U0MDBGOTIwRDYKKzoxMEU5NDAwMDNFNDQwRkQzMDNFNDAwRjkwMEJFNDAwRjk0MDNFNjA2RjMKKzoxMEU5NTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RTQwMEZEMTAzMzQwQjYKKzoxMEU5NjAwMDBDRDAwMzI0MDBEOTAwM0Y0MDRDRDAwM0Y2MDBGRDkwQUEKKzoxMEU5NzAwMDNBNDAwQzkwMDNFNkEwRkRBODM3NjgwQ0Q4ODMyNjAwMjcKKzoxMEU5ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwOEM4QTAyMjAwNUQKKzoxMEU5OTAwMDA4ODAwMjIwMDA4ODAwMkUwMDBDODAxMkUwMDBCODgwNjEKKzoxMEU5QTAwMDIyMDAwRDBBMDJFMzgwQjBDMDIwMzQwODg0MDM0RTA0MjQKKzoxMEU5QjAwMDMwMDAwMDAwMDAwMDAwMDA0ODAwODQwOUExMDAyMDQxNTAKKzoxMEU5QzAwMDA4OTAwMjI0MDA5MTAwMkM0MDA4MTAwMkM1MDBCMTYwOUMKKzoxMEU5RDAwMDIwNDAwODEwQTJDNDIwQjEyODI0NEEwODEwMDI1MjAxODUKKzoxMEU5RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE0QTQwMTgxMDBBMjQwODMKKzoxMEU5RjAwMEE4OTAwMDI1NDA4OTAxMkM0MDA4OTQwMkU0MDBCOTAwNDkKKzoxMEVBMDAwMDJBNDAwOTkwMDJFNDAxQjkwNDIyNDE0ODkwMDI0NjA0RDgKKzoxMEVBMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTUyMEU5MDAzMjQwQzIKKzoxMEVBMjAwMDRDMTAwQjI2MDBEOTAwM0U0MDJDOTgwM0U0MDBGOTAwNUUKKzoxMEVBMzAwMEIyNDAwQzkwMDNFNDAwRjkwMDM2NDAyQzkwMDM2ODA0QzcKKzoxMEVBNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODAxQTQwMEU5MDAzRTQwMDIKKzoxMEVBNTAwMDBGOTAwM0U2MDBGOTAwM0U0MDBFOUEwM0U0MDBGOTAwMkYKKzoxMEVBNjAwMDM2NDAwRjkwMDNFNDAwRjkwMDNDNDAwRjkwMDNEQTAwQjkKKzoxMEVBNzAwMDYwMDAwMDAwMDAwMDAwMDAwODEwQTEwMEY4MDAzMjAwNTMKKzoxMEVBODAwMDBGODAxM0EwMDBDODAwMzIwNDhDODAwM0EwQzBGODAwREYKKzoxMEVBOTAwMDNBMDAwRjgwMDMyMDAwQzAwOTMyMDA0QzgwMDEwQTA0QjQKKzoxMEVBQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJFMDAyMDgwOTMKKzoxMEVBQjAwMDBCRTAwMjg4MDBBQTAwMDNBMDBBRTYwMkZBMDA4QTAwMUUKKzoxMEVBQzAwMDMyODAwQkEwMDIyODAwOEU4MEEzODAyODIwMDI4QTAwQkEKKzoxMEVBRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMEIzNDgyMDQwMDIKKzoxMEVBRTAwMDBCMTAwMjBDMDA4MzAwMjBDMDA4MzQ4MjhFMDQ5OTAwQjEKKzoxMEVBRjAwMDBBQzAxQjMwMDIwQzAyOTA1MDIwNjAwODMwMDIwQTAwNEQKKzoxMEVCMDAwMDUwMDAwMDAwMDAwMDAwMDA4MDExMUM4MEJEMEEyMTQ4NTgKKzoxMEVCMTAwMDBCNTIwMjlDNDBBM0EwMjA4MDBBNjAwMkNFMDA4NTIwRjgKKzoxMEVCMjAwMDIxQzQwQjdBMDYxRTgwOTUyMDIxOTAwODcwMDIyODAwQ0YKKzoxMEVCMzAwMDQwMDAwMDAwMDAwMDAwMDA4ODA4MUU4MEY3ODBCMTc5QzYKKzoxMEVCNDAwMDBGREIwMjNFMjBDN0EwQjE2MENDNzgxMzk2MDBGMUYwMzUKKzoxMEVCNTAwMDM5RTIwRjdCMTMwRjAwRDRBMDMxNjAyQzcwMDMyQTAyMUUKKzoxMEVCNjAwMDAwMDAwMDAwMDAwMDAwMDAwODE1QUMwMEY3MDAzRTQwNjcKKzoxMEVCNzAwMDBGOTAwM0VEODBGQjEwM0U0MDBCQjAyM0VDMDBGOTIwMUEKKzoxMEVCODAwMDNBRDgwRkIwMEJFRDgxRUQxMDNFODAwRjMwMDNDMjA2NzYKKzoxMEVCOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA0QkUyMEVFODAzMzYwMzIKKzoxMEVCQTAwMDBDRDg4MzFFMDA2RjgwMzNFMDBGQjgxMTMyMDRGNTgwNUIKKzoxMEVCQjAwMDMzRTAwRkY4ODMyRjQwRkU4MEIzRTAwQ0Y4MDMxMDAwMjEKKzoxMEVCQzAwMDcwMDAwMDAwMDAwMDAwMDBBODE4OUMwMEJDMDBBMTQ0RDgKKzoxMEVCRDAwMDA4MTAwMzVDMDA4RjAwMjE4MDBCRUEyMjFDODBCNTAxMjUKKzoxMEVCRTAwMDIxQzAwQkYwMDIxRTgwQkUwMDIzODAyQTcwMDIyQTA0N0UKKzoxMEVCRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMyMEE3MDAyMzQwRUYKKzoxMEVDMDAwMDBCNTAwQTNDMDBBNzAwMjVDMDBBNDMwMjEwMDBCNTAwQzMKKzoxMEVDMTAwMDIxQzAwQjcwODIxQzgwQjQwMDIxQzAwODcwMDIwNDAwNjcKKzoxMEVDMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDA0OEUwNEIzMDAyMjQwRjkKKzoxMEVDMzAwMDA5MTQwMjRDMDA4MzAwMjBDMDBCMjQ4MjA0MDBCMTAwQTAKKzoxMEVDNDAwMDIwQzA4QjNBMDIyQzAxQjAwMDIwODAwQTMwMDIxQTA0NDYKKzoxMEVDNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1OUUwMEVCMDQzMzQwQzcKKzoxMEVDNjAwMDJEREMwMzFENjBFRjAwMzIwMENGOUEwMzI4MDBGRDAwNjkKKzoxMEVDNzAwMDMzQzE4QkZDMEIzQzAwRkMwMDMyODAwQzkwMDMyQTA0NTcKKzoxMEVDODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQUMxMEY4MDAzRTQwNzIKKzoxMEVDOTAwMDBFOTgyM0FDMDRGQjAwM0MwMDBGODQyMEVEMDBGOTAwMkIKKzoxMEVDQTAwMDNFQzA0RkIwMDNFQzAwRkQwMDNFODAwRjkwMDNFNDAwMzcKKzoxMEVDQjAwMDMwMDAwMDAwMDAwMDAwMDAyMTEwRkMwMENGODAzMzQwMzUKKzoxMEVDQzAwMDBDRDA4M0ZDMDBFRjAwM0Y0MDBDRjE0MTMwMTBDRDAwMzAKKzoxMEVDRDAwMDNGQzAwMDcwMTMzQzAwRTQwMEIxRDAwQzEwMDMyMDA0Q0UKKzoxMEVDRTAwMDMwMDAwMDAwMDAwMDAwMDBBMTA0MkMwMDhBRTQyQTQwNEIKKzoxMEVDRjAwMDI4OTAwMkVDMDA4QjAwM0UwMjBBODAwMjJDODI4OTA0REMKKzoxMEVEMDAwMDJFQzEwQUIwMEEyQzAwODkwMjIyRjIyQTk4MDIyMDAwQTEKKzoxMEVEMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMjgwMTQyQTQwMzIKKzoxMEVEMjAwMDA4OTAwMkVDMDhBQjA0MkU4NDA4MTA4MjgwMTA4OTAzM0UKKzoxMEVEMzAwMDJDQzA0QUIwMjIyQzAwQUEwMDIyODAwODkxMDIyMDAwOTgKKzoxMEVENDAwMDQwMDAwMDAwMDAwMDAwMDAwODE0MkMwMDgwMDAyODQwNTMKKzoxMEVENTAwMDA4MTEwMkVDMDA4MzAwMkM4MTBBMDA1QTg4MDAwMTAwOEYKKzoxMEVENjAwMDJDQzAwQTMwMDIwQzAwODIwMDIwODAwQTEwMDIwMjAxMkUKKzoxMEVENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEM5MDAzQTQwRDcKKzoxMEVEODAwMDBDRDQwM0ZDMDBFQjAwM0U0MDBDOTIwM0EwMDA0RDAwQUQKKzoxMEVEOTAwMDNGQzAwRUYwMzMzQzgwRTgwMDMyQzAwQzkwMDMyMDAzRUIKKzoxMEVEQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDExRkMwMEZDMDAzRDQwRUQKKzoxMEVEQjAwMDBGNTAwM0ZDMDIzRjA0M0IwMTRGQzQxMzcwMDBGRDAwRTEKKzoxMEVEQzAwMDNGQzAxRkYwMDFGQzQwRkMwMDNGQzAwRkQwMTNFODA2MUQKKzoxMEVERDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjhFMEZGODAzREMwQUEKKzoxMEVERTAwMDBERjM4MkYwODBGRjQwMzFDQjBDRjMwM0ZEMDRFRkMxNDMKKzoxMEVERjAwMDMzRTAwRjc5MDNGRTAwQ0Y0MjMzRjA0Q0Y4MDMzMDAwQ0MKKzoxMEVFMDAwMDcwMDAwMDAwMDAwMDAwMDBFMDEwRTkwOEI5ODEyRkYwNTgKKzoxMEVFMTAwMDA4RjQ1MkU5MjBCRjQwMjNGMDBBRjMwMkZEMDg4QjAwRkEKKzoxMEVFMjAwMDM2RTAwQjgwMjJFODgwOEY0MDIyQzAwOEIwODIzMDA0OTgKKzoxMEVFMzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1Q0MwMEIxODAyQ0M1RTcKKzoxMEVFNDAwMDA5MzI0MkM4QzBCMzMxMjBDMTA4MzIwMkNDRDRCQjIwNDEKKzoxMEVFNTAwMDY4QzAwQjMwMDJDQzIwOTM2MDIwODgwODMyMDIzMjAxNTcKKzoxMEVFNjAwMDcwMDAwMDAwMDAwMDAwMDBFMDE1QTAwMEJCODAyRUMwNzQKKzoxMEVFNzAwMDA4QjAwMkVBMDBCQjAwNjJDMTBBQjAwMkNDMDBBQjAwREQKKzoxMEVFODAwMDJFQzAwQkEwMDBFODAwODMwMDIyQzEwODMwMDIzMDA0MkQKKzoxMEVFOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTg5MEZCODAzRUMwMEMKKzoxMEVFQTAwMDBEQjAwM0UyMTBGQjAwMzJDMDRDQjAxM0VDMDBFOTU0OEIKKzoxMEVFQjAwMDNBQzAwRkIwMDNFNjAwQ0IwMEIyNDAwQ0IwMDMwNDA0MkMKKzoxMEVFQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZGMDAzRkMwM0IKKzoxMEVFRDAwMDhGRjAwM0YwMDBGNzAyQkZDMTBGRjAyM0ZDMDBERjA2NDQKKzoxMEVFRTAwMDM3QzA4RkM5MDdGQTkyRkYwNDNGNTAyRkYwMDNGODAwOTQKKzoxMEVFRjAwMDYwMDAwMDAwMDAwMDAwMDA1MDEwQUMwMEM5MDAzRUMyREQKKzoxMEVGMDAwMDBFQjAyM0U0MDBFQjAwM0FDODBFQjAwM0VDMDBGOTAwQTkKKzoxMEVGMTAwMDNFQzAwRkI0MDNBNDAwRkIwMDNFODAwRkIwODNEMDA0QkEKKzoxMEVGMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MjgwMDhCNzQyREMwRTAKKzoxMEVGMzAwMDA4RjAwMkU0MDA4RjAwMjFGMDA4RjAwMkZDMTBEMzAwN0EKKzoxMEVGNDAwMDJFQzAwQjkwMTIyQzAwRUYwMDJFQzAwQkI2MDJGNjAwNjQKKzoxMEVGNTAwMDQwMDAwMDAwMDAwMDAwMDBFODA1NDgwMEEzMDAyQ0M0QTkKKzoxMEVGNjAwMDBBMzAwMkMwMDBBMzAwNjhGMDBBMzAxMkNDMDRBMjAwRUMKKzoxMEVGNzAwMDJDQzAwQjMwMDJFQzAwQjMwMTJFQzAwQjM0MDJGODAwQTEKKzoxMEVGODAwMDUwMDAwMDAwMDAwMDAwMDBCMDAxMEMwMDg3ODAyREU4NTgKKzoxMEVGOTAwMDA4Nzg0MkRBMDA4NzgwMjVFMDA4NzkwMkNFMDA5NjgwNjIKKzoxMEVGQTAwMDJERTAwQkQ5MDJERTAwQTc4MDJERTAwQjc4MDJGQzAwREIKKzoxMEVGQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM0MEUzMTAzQ0MwODYKKzoxMEVGQzAwMDBBMzgwM0U4MDBFQjAwMzhDMjBBMzAwM0NDMDBFMzQwMDMKKzoxMEVGRDAwMDNDQzAwRjM0MDNDRDAwRjMyMDNDODgwRjMwMDNEMjAyMzUKKzoxMEVGRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQ4MEZGMDQzRkM4ODYKKzoxMEVGRjAwMDBGRjA4M0Y4NDBGRjE4M0JDMDBGRjQ4M0ZDMDBFRTAyRDMKKzoxMEYwMDAwMDNGQzAwRkYwMDMzQzAwRUYwODNGODAwRkYwMTNEMDA2MjUKKzoxMEYwMTAwMDYwMDAwMDAwMDAwMDAwMDA4ODA1RTgwMENCMDAzRUYyMjAKKzoxMEYwMjAwMDREQjIxM0U4MDRDQjAxMzJGODREQjIxMzZEMjBGODAwNTUKKzoxMEYwMzAwMDNFQzAwRjMwMDMyNDAwRkIwMDNFNDA4RkI4MDMyQTAwN0YKKzoxMEYwNDAwMDcwMDAwMDAwMDAwMDAwMDBDODExOEMwMDg2MDAyQ0MwNzkKKzoxMEYwNTAwMDA4NzMwMkQ4MTI4NzMwMjBDQjA4RjIwMjFEMDVCNTAwRDQKKzoxMEYwNjAwMDJEQzAwQjYwMDM1MDEwQjcwOTJEQzAwQkYwMDIzMjA0MDUKKzoxMEYwNzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOUUwMDg3ODAyREU0RkEKKzoxMEYwODAwMDA5N0EwMkNFMDE4NzgwMjFFQzA5NzgwMjVFODBCN0MwNDAKKzoxMEYwOTAwMDJERTAwQkY4MDIxRTAwQjdBMDJENjAwQjc4MDIyMDAwQjcKKzoxMEYwQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUUwMDgyODAyQ0MwMDgKKzoxMEYwQjAwMDA4MzAwMkVDMDA4MzAwQTBDMDA4MzAwMjBDMDBCMzgwQ0UKKzoxMEYwQzAwMDJDQzEwQjMwMDI0RTAwQjMwMDJDRjEwQjMwMEExMjA0OUQKKzoxMEYwRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkE4MEM2MDAzRTgwNDUKKzoxMEYwRTAwMDBEQTAwM0Y4NDBDQTAwMzI4MDBEQTAxMzY4MDBGRTAyOTQKKzoxMEYwRjAwMDdFODAwRkVEODMzOTEwRkEwMDNGOEMwRkEwMDMzQTA0OTUKKzoxMEYxMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMkY4OTAzRTAwOUYKKzoxMEYxMTAwMDBGODAwM0UwMDBGODA1M0UwMDBFMDAwM0UwMDBGODgwRDkKKzoxMEYxMjAwMDNFMDAwRjgwMDNFMDYwRjgwMDdFMDAwRjgwMDNEMjAwRjUKKzoxMEYxMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEM5ODAzMjY0QzQKKzoxMEYxNDAwMDBGOTA0M0U0MDZDMTA0M0E0MDBGOTAwM0U0MDBFOTAwNDUKKzoxMEYxNTAwMDMyNDAwRjkwMDMyNDAwQzEwMTMyNDAwQzkwMDNDMjA0REUKKzoxMEYxNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5QzAyMjQwREMKKzoxMEYxNzAwMDBCOTAwMjI0MDA4OTAwMjI1MDFCOTAyMjI0MDA4MTAwNjEKKzoxMEYxODAwMDIyNDAwQjkwMjIyNDA4QzkwMDIwNDAwODk0MDJFMDAwOEQKKzoxMEYxOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDk5MjAyMjQwMDMKKzoxMEYxQTAwMDBCMTAwMkE0MDA4OTAwMkE1ODBCOTAwMjg0MDBBOTAwQzkKKzoxMEYxQjAwMDIyNDAwQjEwMEEwNDAwOTkwMjIyQzEwODkwODJDNjAwNjYKKzoxMEYxQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDkxMDJBMEM4RjQKKzoxMEYxRDAwMDBCMTIwMjA0ODA4MTIyMjA0ODlCMTIwMjA0OTA4OTAxQjQKKzoxMEYxRTAwMDIwNDAwQjEwMDIwNDAyODEyMjIyNDAwODEwMDJDMjAxQkEKKzoxMEYxRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MkRBMDEzMjAxOTkKKzoxMEYyMDAwMDBGODUwM0ExNDBDMDUwM0EwMThCODUyM0ExNDRFODUwRUIKKzoxMEYyMTAwMEIyMDAwRjg1MDMyMTQ4RDg1MTMyMTQyQzg1MDNFRTAzMjgKKzoxMEYyMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjUwMEVEMDIzRTQ0NzMKKzoxMEYyMzAwMDBGOTEwM0Y0NDBGOTEwM0U0NDBGOTEwM0U0NDBGRDAwQTgKKzoxMEYyNDAwMDNFNDAwRkQwMDNGNDAwRTkxMEJGNDAwRjkwMDM2NjA2NjQKKzoxMEYyNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMUM1MDAzMzY4QkEKKzoxMEYyNjAwMDBGOUEwMzZGODhDOUMwMzM2ODBDOUUwMzI3ODBEOTQwNkEKKzoxMEYyNzAwMDNFNDAwRjkwMDNDNTEwRDlFODM2NTAwQ0QwMDNFNjAwOEQKKzoxMEYyODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwODg4MDA4MjAwRDMKKzoxMEYyOTAwMDBCOEU4MkVCQzg4OEUwMjIwMDI4ODg0MkEyODA4QTgwRjgKKzoxMEYyQTAwMDIyMDAwQkFBMDJFMjAwODhDMDIyQTkwODhBMDM4RTA0NjkKKzoxMEYyQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzQwMDgxMDAyMEQwOUMKKzoxMEYyQzAwMDBCMTEzMjg0ODQ4MTYwNjA1MDA4MTYwNjA1MDA5MTIwN0QKKzoxMEYyRDAwMDIwNDAwQjEwODJFNDA5OTEyMDI0NDAwODEwQzJEMjAxODIKKzoxMEYyRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwNDg5MDQyMjQwRUEKKzoxMEYyRjAwMDBCOTAwMkM0MDBBOTAwMjI0MTAwOTAwMkE0MDA4MTAwRUEKKzoxMEYzMDAwMDIyNDAwQjkyMjJFNTgwOTkwMTIyNjEwODkwMDI4NjA0MzYKKzoxMEYzMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTU4MjgxOTAzMjQwMkYKKzoxMEYzMjAwMDBGOTAxMzY3MDJDOTAwMzI0MDBDOTAyMzI0MDREOUMwMDcKKzoxMEYzMzAwMEIyNDAwRjlDMDNFNjAwRDkwMDM2NTAwQzkwMDNFODA0NUQKKzoxMEYzNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODAwQTY4MEY5MDAzRTQwNDgKKzoxMEYzNTAwMDBGOTAwM0U3MDBEOTAwQkM0MjBGOTA1M0U0MDRGOTEwNkEKKzoxMEYzNjAwMDNFNDAwRjk4MDNFNjA0RTEwMDNFNDAyRjkwMDNEQTAwOTAKKzoxMEYzNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwODExMDQ4MTAzMjA4RDIKKzoxMEYzODAwMDBDODAwRjIxMDJDODAwM0EwNDBGODAwNzYwMDBGODQwOEIKKzoxMEYzOTAwMEIyMDAwRjg0MEIyMDAwRDgwMDM2MTAwQzgwMDNDQTA0ODIKKzoxMEYzQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA0MjgwNDhFODAyMzgwMzQKKzoxMEYzQjAwMDA4QTA0MjI4MDA4QTAwMjNBMDRCQTAwMkU4MDBCQTAwNUYKKzoxMEYzQzAwMDc2ODAwQkEwMDIwODAwOEEwMDMyODAwOEUwMDNDQTAwQTEKKzoxMEYzRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDgyMDAyMEQwMDIKKzoxMEYzRTAwMDA4MzAwMjBDMDA5QjAwMjhDMDFBQjAwMjZDMDBCMzAyNjcKKzoxMEYzRjAwMDIwQzAwQjMwMDIwQzAwQTMwMDIyQzAyODM0ODJDQTAwQjcKKzoxMEY0MDAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUMwMDg3MDAyMEUwRTgKKzoxMEY0MTAwMDA4NzgwMjBDMDA5NzIwMjVDMDBCNzEwMkRDODFCNzIwMTAKKzoxMEY0MjAwMDIxQzAwQjdBNDIzQzgwODcyMDIxQzAwODcwMDJFODAwOEUKKzoxMEY0MzAwMDQwMDAwMDAwMDAwMDAwMDAyODA4MEU4MkM3ODBCMUUwRjQKKzoxMEY0NDAwMDJDRkEwNjFFMDhEM0IxMzk2MDRFNzgxMjVFQTBGRkYwODgKKzoxMEY0NTAwMDIxRTAwRkY4MDMxRjA4RTNBMDMzRTAwQzY4MDNFQTAyODEKKzoxMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUM0MEZCMDAzRUMwOTIKKzoxMEY0NzAwMDBGQjIwM0VEQThFQjEwM0E4MDBGQjBDM0VDNDBGQjAwRDUKKzoxMEY0ODAwMDNFQzAwRkIwODNFQzgwRUI3MEJFQzQwRkIwMDM4MjA2QTkKKzoxMEY0OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwMENFODBCMzYwNjgKKzoxMEY0QTAwMDBGRkM4MzdFMjBFRkIwM0JFMDBGQjgwMzNFMDBDRjgxMUUKKzoxMEY0QjAwMDNGRTA4RkY4ODNFRjQwRkZDMjMzRTEwQ0Y4MDNEMDAwNDgKKzoxMEY0QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM4Mjg3MTgyMTgwQjUKKzoxMEY0RDAwMDBCMzAwMjFDNjBENzEwMjFEMDBCN0IwMjNDMDBENzAwMDAKKzoxMEY0RTAwMDJEQzAwQjcwMDJERTAwQkYwMEEzQzQwODcwMDNBQTA0ODUKKzoxMEY0RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwQkMxMTg3MDAyMUMwNzcKKzoxMEY1MDAwMDBCMzAwMjFDMDA5MzIwNjlDMDBCNzAwMjFDMDA4NzAwQTYKKzoxMEY1MTAwMDJEQzAwQjcxMDJEQzIwQjcxMDIxQzAwODYwMDI4NDAwRUUKKzoxMEY1MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0QwMDgzNDAyMEMwRDcKKzoxMEY1MzAwMDRCMzAwMjBDMDE4MzAwMjBDMDBCMzAwMjBDMDA5MzgwODIKKzoxMEY1NDAwMDJDQzAwQjMwMDJDQzAxQjMwMDIwQzAwODMwMjI5ODA0M0MKKzoxMEY1NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkYyMENBQzAzMjgwQTMKKzoxMEY1NjAwMDBGRjAwMzNFMDA5RjAwM0E4MDBGRjAwQjNDMDBDRjk4NTUKKzoxMEY1NzAwMDNFQzAwRkY2MDNGRjAwRkYwMDMxRTAyQ0IwMDNBRTA0RTUKKzoxMEY1ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQ0M4MEZCMDAzRTUwQzYKKzoxMEY1OTAwMDBGQjAwM0FDMDJGQjAwN0U1MDBGQjAwM0VDMDBGQjAwODkKKzoxMEY1QTAwMDNFQzAwRkIyMDNFQzIwRjMwMDNFQzYwRjkwMDNBMDAwNTQKKzoxMEY1QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMkNGOTg3M0M4NkEKKzoxMEY1QzAwMDBGNzAwMzNDMDBGRjAwMzMyODBGQjAwMjFDMDA0RjAwRjcKKzoxMEY1RDAwMDNGQzAwRkYwMDNGQzAwRkYwMTMzQzAwQ0U0MDNFNDA0NjAKKzoxMEY1RTAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMwMDgzODBBMkY4NUUKKzoxMEY1RjAwMDBCQjA0MjJDMDBCQjAwMzIxMDBGQjAwMzZDMDRBQjAwMDgKKzoxMEY2MDAwMDJFQzAwQkIwMTJFQzA0RUIwMDIyQzA0QTk0ODJFMDAwNDIKKzoxMEY2MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1NkMwMDhBMDAyMjAwM0QKKzoxMEY2MjAwMDBCQjAwMjJDMDBCMzAwQTJDMDBCMzAwMkFDMDBBQjA0NDQKKzoxMEY2MzAwMDJFQzAwQkIwNDJFQzAwQkIwMDIyQzAwOEIwMjJFMDAwOUMKKzoxMEY2NDAwMDQwMDAwMDAwMDAwMDAwMDAwODAwMEMwMDhCMDEyMDAwQkEKKzoxMEY2NTAwMDBCMzAwNjBDMDBCMzAwMjBDMDBBMzIwQUNDMDBBMzAwMTUKKzoxMEY2NjAwMDJDQzAwQjMwMDJDQzAwQTMwMDIyQzA0QTAwMTJDMjAxMDEKKzoxMEY2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NkMwMDhCMDQyMkMwQTUKKzoxMEY2ODAwMDBGRjEwMzFDMDBGRjA0MzJDMDBCRjIwM0JDMDBFRjAwQkIKKzoxMEY2OTAwMDNFQzAwN0YwMDNGQzgwRkYwMEIyQzAwQ0EwMDNFMDAzRjMKKzoxMEY2QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5REMwMEY1MDAzRkMwODEKKzoxMEY2QjAwMDBGRjAwM0ZDMDFGRjAyM0JDMDBGRjEwMzdDMDBGRjAwRDEKKzoxMEY2QzAwMDNGQzAwRkYwMTNGQzQwRUYwMDNGQzAwRkMwMDNFODA2M0YKKzoxMEY2RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1RjI0MENDODAzNzIwMTAKKzoxMEY2RTAwMDBDRDgwM0IwNDRGQzA4M0YwRTBGQzEwM0ZDMDBDQzk0QkYKKzoxMEY2RjAwMDNGMEEyRUM0MDM3RDgwQ0YxMDNGQzAwRkMwODMzMDAwNkYKKzoxMEY3MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDA4RTA5MDg4MDIyMjgxNjQKKzoxMEY3MTAwMDA4OTIxM0E0NDAzQjYwMjIxODBCODEwMkZDRDQ4MTAwQTQKKzoxMEY3MjAwMDNBQjAwQTk0MDIzRDQwQUY2MzJGREYwQjk4MDAyMDA0RUIKKzoxMEY3MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1RTAwMDg4MDAyMDQwNDQKKzoxMEY3NDAwMDg4MzA4MkMwMDBCMDA4Mjg4MDBBMTAwMkNDMjA4MDAxRDYKKzoxMEY3NTAwMDJDNDAxQjA2MDI4QzkwOTM2MDY4QzA0QTAwNDIyMjAxMzQKKzoxMEY3NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QTAwMjg4MDAyMkMwNTgKKzoxMEY3NzAwMDA4QjAwMkU0MjBCQjg4MjY5ODBCODA0MkNDMTg4QTAwOEYKKzoxMEY3ODAwMDJFQzIxQjk4MDJBQzAwQUIwMDJFQzAwQjk4ODIzMDA0MzYKKzoxMEY3OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDExRTNDMENCMDIzMjAwNTYKKzoxMEY3QTAwMDJDODAwM0FFMDhCOTAwM0U3MDBGQjkwM0VDMDI0ODQ4NDQKKzoxMEY3QjAwMDNDQzAwRjhDOTNFQzAwREIwMDFBQzAwRUFDMDMxMDA0QUQKKzoxMEY3QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjIwMEZGMDBCQjgwRkMKKzoxMEY3RDAwMDBGQzA0M0I2NDBCRDAwM0I2MDBGRTgwM0ZDMDBGRjk0NDAKKzoxMEY3RTAwMDNCRTQwRTYwMEY2QzA4RUYwMTNGQzAwRjYwMDNGODAwQjAKKzoxMEY3RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTEwMEZCMDAzRTYwMUYKKzoxMEY4MDAwMDBGQTAwM0VEMDBGOTQwM0EwMDBGOTAwM0VDMDJDOTA0ODkKKzoxMEY4MTAwMDMyRDAwRjkwMDMyQzA4REIwMEI2QzAwREI0MDNEMDA0MjcKKzoxMEY4MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MDAwMEIzODkyRUUwQTEKKzoxMEY4MzAwMDBCQTQwM0E0MDFCOTAwMkUwMTBCOTA0MkZDMTA4OTUwQzcKKzoxMEY4NDAwMEEyQzA4REI0MDIzQzQ0OEYwMDIzQzAwOEIwMDJGMjAwNzUKKzoxMEY4NTAwMDQwMDAwMDAwMDAwMDAwMDBDMDA0MEMwMEIwODAyRTAwM0EKKzoxMEY4NjAwMDBCMTIwMkM4MDBCQTAwMkNDMDBCMjAwMkNDMDBBMjAwNzAKKzoxMEY4NzAwMDIwMDAyQjJEOUEyRTQyODMwMDI4QzAwODIwMDJGODAwNzkKKzoxMEY4ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAwMUUwNEI0ODAyREEwRTUKKzoxMEY4OTAwMDBCNTgwMjkyMDBCNjgwMkRFMDBCNjgwMkRFNDBBNjgwNzUKKzoxMEY4QTAwMDIxMjQyOTQ4MDIxRTgwODc4MDY5RTAwODYxMDJDODAwN0YKKzoxMEY4QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODE4MEMwMEYwMzAzQzRDRjQKKzoxMEY4QzAwMDBGMzIwM0M4ODBCMjAwMzg4MDBGMUIwM0VDMDBFMDMwMTkKKzoxMEY4RDAwMDMwMDQwRkIxMDMwRTg1Q0IwMDNBQzAwQzMxMDNEMjAyQzUKKzoxMEY4RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFDQkMwMEZDMTEzRkM0RjAKKzoxMEY4RjAwMDBGQjgxM0IwMDRGRTAyM0Y4MDBGQzAwM0ZEMDBERjEyRkIKKzoxMEY5MDAwMDFEMDQwRkQwNDNCQzAxRUYxMDMzQzQwRUYzMDNEMDA2MjcKKzoxMEY5MTAwMDYwMDAwMDAwMDAwMDAwMDAwODA1RUUwMENCMDAzRTAwODMKKzoxMEY5MjAwMDBGODAwMzI4MDBGODAwM0U0MDNEQjAwM0VGMDhDOTAwRjcKKzoxMEY5MzAwMDNBMDAwQ0EwMDNFQzk4RkIyMDMyRDIwQ0E4MDMyQTAyNTgKKzoxMEY5NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMDg3MDEyRDgwMUQKKzoxMEY5NTAwMDBCNDA0MjFDMDQzNzAwQTE0MDA4NjAwMkNDODA4NzAwQTUKKzoxMEY5NjAwMDJEODAyRTcwMDJEQ0E5QjcyODIxRDAwODcwMDIxMjAwNjkKKzoxMEY5NzAwMDYwMDAwMDAwMDAwMDAwMDAyMDAwQkUwMjg3ODAyRDYwQjMKKzoxMEY5ODAwMDRCRTgwMjVBMDFCNDg4MjhFMDg4NzhDMkRFNTI4NkMwNkIKKzoxMEY5OTAwMDI5NjAwODY4MDJERTQwQjM5MkUxRTgyODI4MDI3MDAwN0UKKzoxMEY5QTAwMDIwMDAwMDAwMDAwMDAwMDA2ODE0Q0MwMDhCODAyRUMwRjYKKzoxMEY5QjAwMDBCMjAwMjREODA5QjIwMjBFMDA4MzgwMkNDMDA4MzgwODEKKzoxMEY5QzAwMDJDQzAwQUIwMDJDQzA4QjMwMDIwQzAwODMxMDI1MjA0OTcKKzoxMEY5RDAwMDMwMDAwMDAwMDAwMDAwMDBFODA1QTgwMENBRTAzRTgwRkEKKzoxMEY5RTAwMDFGQTQwQjc5MDBGRTAwM0Y4MjFERTAwM0U4MDBDRTQwMUIKKzoxMEY5RjAwMDNCODgyQ0U0MDNFODAxRkEwMDMyODAwQ0U4MDM3QTA0MjcKKzoxMEZBMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODExQTAwMEY4MDkzRTAwNUUKKzoxMEZBMTAwMDhGQzA4M0EwMThGODAwM0MyMDBGODgwM0UwMDBGODA4OEUKKzoxMEZBMjAwMDNFMjAwRTgwODNFMTAxRjAwMDNDMDAwRjgwMEI5MjAwMkQKKzoxMEZBMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQTQwMEY5NDIzMjQwMkQKKzoxMEZBNDAwMDRDOTgwMzA0MDBDOTAwM0E0MDBGOTAyMzI0MDBCOTgxNjgKKzoxMEZBNTAwMDNDNDAwQzkyMDMyNDAwRjkwNTMyNDA2QzkwQzNDMjA0NzAKKzoxMEZBNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0MjQxNEI5MDBBMjU0RkIKKzoxMEZBNzAwMDA4OUIxQTI0MDI4OTAwMjI0MDI4OTAwMkE0MDBCOTkwMTEKKzoxMEZBODAwMDJFNDAyODlDODIyNTA0QjkwMDIyNDAwODk4MTJFMDAwRUMKKzoxMEZBOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEFEMDAyMzQwMDUKKzoxMEZBQTAwMDA4NTAwMjY0MDA4OTAwMkE0MDA4MTAwMjY0MDBCOTAwNkUKKzoxMEZBQjAwMDZFNDAwODkwMDIyNTAwQTkwMDIyNDAwODkxMDZDNjAwNjkKKzoxMEZBQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQwMEI1MTBBMTQ0MkMKKzoxMEZBRDAwMDI4NTAwMjQ0ODA4MTMwMjA0ODA4MTIwMjg0NDBCMTgwQkUKKzoxMEZBRTAwMDZDQzgwODEyMDIwNDgwQjEzNDIwNDgwODEyMDJDMjAxMTYKKzoxMEZBRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEU4NDAzMjkwQjYKKzoxMEZCMDAwMDBDQzUwMzYxNDBDMDQwM0ExNDBGODUwMzIxQjBGODUwODIKKzoxMEZCMTAwMDNFMDAwQzg1MDMyMTQwRjg0MEIwMTQwQzgwMDNFRTAxMzgKKzoxMEZCMjAwMDUwMDAwMDAwMDAwMDAwMDBCODFEQzQwNEY5MjIwRTQ4NzcKKzoxMEZCMzAwMDBGMTAxM0I0NDBGRDMwM0Y0NDRGRDEwMEU0ODRGRjAxNjcKKzoxMEZCNDAwMDNENDQwRkQxMEJFNDQwRjkzMDNFNDQwRkQxMDNFNjA0QUQKKzoxMEZCNTAwMDcwMDAwMDAwMDAwMDAwMDAzODA1RTQwMERENDAzRjUwNjgKKzoxMEZCNjAwMDBDRDAwMzJDMDBDOTAwMzY0MDBGOTAxMzI3MDRGNTAxNzgKKzoxMEZCNzAwMDM3NDAwQ0YwMDNGNjIwRjlBODMyNjgwQ0QwMDNDNjAwMTkKKzoxMEZCODAwMDcwMDAwMDAwMDAwMDAwMDAxODAwRTAwMDg4QTAyRTI4OEYKKzoxMEZCOTAwMDI4ODAwMjIwMDA4OEEwMjIwMDBCODAwQTYyODBCODAwMjIKKzoxMEZCQTAwMDIyMDAwODgwMDJFMTAwQjhFMDIyM0EwOEEwMDJDRTA0NTgKKzoxMEZCQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODAwODQwMjgxMDAyRTQwNTgKKzoxMEZCQzAwMDA4MTAwQTQ0MDI4MTA4MjQ0MDBBMTAwMjQ1ODBCOTAwNDYKKzoxMEZCRDAwMDI0NDAyOTEwMDJDNDAwQjEwODI0NDQwODEwMDJDMjAxQzQKKzoxMEZCRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE0QTQwNDg5MDEyRTUwQzkKKzoxMEZCRjAwMDQ4QjIwMjY0MDA5MTAwMjI0NjBCOTAwMjY0MDBCOTAxRjEKKzoxMEZDMDAwMDI2QzAwOUIwMTJFNDAwQjEwMDI2NDAwODkwMDJDNjA0RTQKKzoxMEZDMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA0RTQwMEM5MDAzQzQwQjcKKzoxMEZDMjAwMDBDOTAwMzY0MDBDOTAyMzY1MDBFOTMwMzI0MDBGOTkwMkYKKzoxMEZDMzAwMDM2NDgwRDk0ODNFNDA4RjkwMEI2NDAwQzk0MDNFODA0QjgKKzoxMEZDNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODEwQTQwMEU5MDAzRTQwQzEKKzoxMEZDNTAwMDBGOTAxM0E0MDBFOTAyMkU2MTA1OTAwM0E0MDBGOTAwOUYKKzoxMEZDNjAwMDNBNDAwRTkwNDNFNDEwRjkwMDM4NDAyRjkwMDNDQTAwNDgKKzoxMEZDNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDEzMjA0M0QKKzoxMEZDODAwMDBGODA0M0MwMDFDODAwQjIwMTBDODAwMzIwMDBDODQwQUYKKzoxMEZDOTAwMDMwMDA4Qzg0ODNFMDAwQzgwMDMyMDA2Qzg0MDNDQTA0MDYKKzoxMEZDQTAwMDIwMDAwMDAwMDAwMDAwMDAwODA0MjgwMEJBMDAyMzgwQTMKKzoxMEZDQjAwMDBCRUEwMkU4MDBBQTAwMjI4MDA4QTAwMjI4MDA4NjIwQTEKKzoxMEZDQzAwMDM3QTA4REU0MDJGODAwREEwMDIyODAwOEEwMDJDQTAwMDIKKzoxMEZDRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA1NkMwMEIzMDAyMEMwRDgKKzoxMEZDRTAwMDBCQjgwMjRDMDQ4MzAwMjBDMDA4QjAwMjBDMDI4MzAwNTEKKzoxMEZDRjAwMDIwNDAyODM0MDJDRTkwODMwMEEwQzAwODMwMDJDQTAwMDEKKzoxMEZEMDAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUNDMEI1ODgyMTQwMDgKKzoxMEZEMTAwMDBCNzAwMkRDODBBMzIwMjFFMDQ4MzI0MjBFOTA4RTAxNUQKKzoxMEZEMjAwMDY1NTAwOTcwMDJERTIwOTMyMTIxQzAwODcwMDJFODAwQUUKKzoxMEZEMzAwMDQwMDAwMDAwMDAwMDAwMDAyODE4MUUwMEZGODBCMUEwNTUKKzoxMEZENDAwMDBGNDgwMjdFMDA4N0EwMzNFMDI4N0EwQjFGMDBDNDgwOTIKKzoxMEZENTAwMDMxNjA4QzU4MDNGRTAwQzdDODMzRTgwQzU4MDNFQTAyMzAKKzoxMEZENjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEZGMDAzRTAwODUKKzoxMEZENzAwMDBGOTAyM0VDQTBGQjQwM0VDMDhGQjUwM0VEODBGODAwNTAKKzoxMEZEODAwMDNDNDAwRkIwMDNFODAwRkIwMjNFRDAwRjkwMDNDMjA2RDgKKzoxMEZEOTAwMDYwMDAwMDAwMDAwMDAwMDA2MDA0QkUwMEZGODAzRkUwNDMKKzoxMEZEQTAwMDBGRDkwM0ZFMjBDRkM4MzNFQThGRkMwMzNGMDBGRDgwNEMKKzoxMEZEQjAwMDNGNjAwRUU4MDNGMjAwQ0Y4MDJGRkUwQzc4MDMwMDAwQjYKKzoxMEZEQzAwMDcwMDAwMDAwMDAwMDAwMDBBODAwOUMwMEI1MDIyREMwREIKKzoxMEZERDAwMDBCNTg0MkRDODBDRjAwMjFDMTBCMzAxMjFDNDBCNDAyMTIKKzoxMEZERTAwMDJENDYwODcxMTJDODAwRTcwMDJEQzQwODcwMDM2QTA0OEMKKzoxMEZERjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDAyRDAyMjEKKzoxMEZFMDAwMDBCNDYwMkRDMDg5NzAwMjFDOTBBMzAyMjFDMDBCNDAwMEUKKzoxMEZFMTAwMDJENDAwQTUwODJDNDAwQjcwMDJDQzgyODUwMDI0MDEwNjAKKzoxMEZFMjAwMDIwMDAwMDAwMDAwMDAwMDA0MDE0OEMxOEIzMDAyRTIwQjkKKzoxMEZFMzAwMDBCMTgwMkNGNEE4M0MyMjBDMTBCMzQyMjBDMDRCODU4REQKKzoxMEZFNDAwMDJDNDAwQjI4MDJDODAwQTMwMDJDQzAwODE0MDI0ODA0NTAKKzoxMEZFNTAwMDMwMDAwMDAwMDAwMDAwMDBBODA1QkMwMEZCMDAzRTgwNTAKKzoxMEZFNjAwMDBGQTAwMkZDMDBERkEwQjNDMDBFRjAwQjNDMDBGQkMwRjMKKzoxMEZFNzAwMDNDQTAwRUJEMDNFQzAwRkYwMDNGQzAwQzMwMDM2QTA0NDEKKzoxMEZFODAwMDYwMDAwMDAwMDAwMDAwMDBBMDEwRUMwMEY5MDAzRTAxM0UKKzoxMEZFOTAwMDhGQjE0M0VDMDBGMzAwM0VDMDRGQjAxM0VDMDBGQjAwMDkKKzoxMEZFQTAwMDNFODAwQzg0MDNFMTAwNzMwMDNFQzEwRkIyNDNFMDAwQ0EKKzoxMEZFQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTUwRkMxMEZGODAzN0MwM0YKKzoxMEZFQzAwMDBDRTAwM0ZDMjBGRjA4MzNDMDBGRjA4M0JDMDBGRjAwRjAKKzoxMEZFRDAwMDMzQzAyRTQwMDMxQzAxQ0YwMDExQzA0Q0QwMDMwMDQ0OUUKKzoxMEZFRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwNEIzMDIyMjcyQTQKKzoxMEZFRjAwMDA4QTExNkVDMDBCQjA0MjJDMDBCQjA0MkVDMDBCQTE5RkEKKzoxMEZGMDAwMEI2RDAwODlDNEEyNjgwREIwMDIyQzAwODkwMDM2MDQwREYKKzoxMEZGMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEI5MTA2MjIwRDUKKzoxMEZGMjAwMDQ4QTAwMkVDMDBCQjAwMjJDMDBCQjAwMkVDMTBCQjAwRUEKKzoxMEZGMzAwMDY2MDgwQUE4MTIyNjEwOUIwMDJBQzAyOEIwMjYyMDAwQjYKKzoxMEZGNDAwMDQwMDAwMDAwMDAwMDAwMDAwODAwMEMwMEI5MDAyMDAwODQKKzoxMEZGNTAwMDA4MzIwMkNDMDRCMzAwMjBDMDRCMzAwMkNDMDBCMzAwMDYKKzoxMEZGNjAwMDIwMDAwODAwMDIwMTAwOTMwMDI4QzAwODMwMDY0MjExNUEKKzoxMEZGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDNkMwMEY5MDBCMjQwMEUKKzoxMEZGODAwMDBDODIwMkRDMDFGRjAwQjJDMDBCRjEwM0JDMDBGOTAwREYKKzoxMEZGOTAwMDI2NDAyRTgwMDMyMTA0Q0YwMEJCQzAwQzkwMDMwMDAzMzkKKzoxMEZGQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZEMDAzRjQwQ0MKKzoxMEZGQjAwMDBGODEwM0ZDMDBGRjAwM0ZDMDBGRjAyM0ZDMDBGQzAwOUEKKzoxMEZGQzAwMDJENDAyRkMwMDNGMDg4RkYwMDM3QzA4RkQwMDNFODAyMTgKKzoxMEZGRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkU0MEZGODAzM0MyM0EKKzoxMEZGRTAwMDBDRjgwMzdDQTBGRjkwM0ZDNDJDQjQwM0JDODBDRjQwMkUKKzoxMEZGRjAwMDM3RTAwRkYxOTM2RTQ0QkYzMDNGMjAyQ0Y4NjNGMDA0REMKKzoxMDgwMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUMwMEVCMjAyM0YwNTYKKzoxMDgwMjAwMDA4Qjg1MjNEMDBCMzAwMkVEQzA4RjQ0MjFDNDI4QjQwREQKKzoxMDgwMzAwMDIyQzgwQkY2MDM2Qzg4QkIzMDJFMDAwOEIyMDJFMDA0QTUKKzoxMDgwNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwMEJCMDgyMEMwMDQKKzoxMDgwNTAwMDA4MzAwMjRDQTBCMzIwMjY4MDg4MzYwMkNDQTA5MzYwNjIKKzoxMDgwNjAwMEE0QzIwQTMyNDI0QzkwQjMyMDJDMEI4ODMwODJFMjAxMjkKKzoxMDgwNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwOEJCMjJBMkMwQzgKKzoxMDgwODAwMDA4QjAwMjJDMDBCQjAwMkU5MDA4QjAwMkVDMDA5QjAwNTAKKzoxMDgwOTAwMDIyQzAwQkIwMDI2QzAwQkIwMjJFMjAwOEIwMDJGMDAwMjAKKzoxMDgwQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEIxODMzMkMwMDkKKzoxMDgwQjAwMDBDMUEwMzZDMTBGQjAwMzRDMDBDQjAwM0VDMDhEQTAwOUYKKzoxMDgwQzAwMDM2QzAwRUIwMEI2QzAwRkIwMDNFMjgwQ0IwMDJEMDAwOTYKKzoxMDgwRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEVEODAzRkMwMjcKKzoxMDgwRTAwMDBGRDQwM0VDMDBGRjAwM0ZDODBGQjAwMzNDMDBFRTQwOEMKKzoxMDgwRjAwMDNGQzAwRjcwMDNGQzAwRkYwMDNGODAwRkYwMDNGODAwNEIKKzoxMDgxMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMjBCMEMwODgKKzoxMDgxMTAwMDBGQjQwM0FDMDJDQjAwMzI5MDBFQjAwMzZDMDBFQjAwNDYKKzoxMDgxMjAwMDNBQzAwQ0IwMDJFQzAwRkIwMDNFOTEwRkIwMDM5MDAwOEYKKzoxMDgxMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJCODAyM0Q3RjEKKzoxMDgxNDAwMDBCOTAwMjNDMTQ4QjAwNkEwODI4RjAwMEJDMDA4MzAwRUUKKzoxMDgxNTAwMEJFQzA4OEYwMTMyQzAwRUYwMDJFODAwQkIwMDdCMjAwRDkKKzoxMDgxNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIzNDAyMEQwQkIKKzoxMDgxNzAwMDBCMjgwMjhDMDA4MzAxMjBDMDFBQjgwMDZDMTBBMTAwRUIKKzoxMDgxODAwMDY4QzAyQTMwMDI4QzAwQjMwMjJFMDA0QjMwMDJGODA0ODMKKzoxMDgxOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3QTAyMUUwRjgKKzoxMDgxQTAwMDBCRUNDMjFFMDQ4NzgwMjlFNDA4Nzk4MjlFNDBBRjkwQzAKKzoxMDgxQjAwMDI5RTAwQTM4MDAxRTAwQTc5MDJEMjQwQjc4MDI4ODAwQzEKKzoxMDgxQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM1MEZCMDkzMEMwQ0YKKzoxMDgxRDAwMDBGMjAwMjhDNDBDMzAwMjBDMDBBMzgwMzRDNDRFMTAwNDkKKzoxMDgxRTAwMEFBQzAwRTMxNDM4RTAwRjMwMDNDMDAwRjMwMDNEMjAyRDAKKzoxMDgxRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDREQkMwMEZGMjAzRkQwMDgKKzoxMDgyMDAwMDRGNzAwM0ZDMDBGRjAwM0RDMDBGRjM0M0ZDNDBENzAwNUMKKzoxMDgyMTAwMEJGQzAwREY0QzNGQzQwRkYwMDNGNDAwRkYwMDNEMDA2ODkKKzoxMDgyMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwMEZCMDAzMkQwNTgKKzoxMDgyMzAwMDBEOTAwMUVEQzBGQjAwM0VDMDFGQkEwM0FDQzBDODAwRUEKKzoxMDgyNDAwMDMyRTA4REI0NDNFQzAwRkIwMDM2QTAwQ0IwMDM2QTAwQjIKKzoxMDgyNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MDAyMUM4MTkKKzoxMDgyNjAwMDA4NjAwMkRDMjBCNzAwMkRDMDBGNzRBMjFDMjhENjAwQzUKKzoxMDgyNzAwMDM1QzAwODcyMDI1QzA4Qjc0NEExODA0ODcwMDIxMjAwNDEKKzoxMDgyODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyMEU0RjUKKzoxMDgyOTAwMDA5NzgyNkRFMDBCNzgwMkRFMjBBNzAxMjhDODg4MTgwNzIKKzoxMDgyQTAwMDIxRTAwOTc4MDJERTAwQjNBMDI1QTAyODc4MDI3MDA0M0UKKzoxMDgyQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMUJCODAyMEMwNUEKKzoxMDgyQzAwMDA4MzA0MkVDMDBCMzAwMkNDMDBBMzAyMjBDMDA5MzAwQUUKKzoxMDgyRDAwMDI0QzEwODMwMDJDQzAwQjMwMDIwRTAwOEIwMDIxMjA0MzAKKzoxMDgyRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZBMDhCMjgwODUKKzoxMDgyRjAwMDBERTIwM0U4MDBGQTAwM0Y4MDBBQTAwM0E4MDBDRTUwNzgKKzoxMDgzMDAwMDMyODAwNUEwMDNFODAwRkEwMDM3QTgwQ0EwMDM3QTA0MjUKKzoxMDgzMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwNjAwOEY4MDAzQzAwMTkKKzoxMDgzMjAwMDBGODgwMUUwMDBGODA0M0MwMDRGMDAxM0MwMDBGODAwODMKKzoxMDgzMzAwMDNFMDAwRjgwMDM2MDAwRjgwMjNFMDEwRjgwMDNEMjAwNzAKKzoxMDgzNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5OTAxMjQwMjYKKzoxMDgzNTAwMDBDOTAwM0E0MDBDOTAwM0U3MDBFOTQzMzI0MDhDOTAwOTkKKzoxMDgzNjAwMDJBNDAwQjkwMDNFNDAwRjkwMDNBNDAwRjkwMDMwMjA0MDYKKzoxMDgzNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDIyMjYwNjgKKzoxMDgzODAwMDA4MTAwMjI0MDA4OTAzMkU0MDA4OTAwMkE0MDE4MTA0RjEKKzoxMDgzOTAwMDNFNDAwQjkwMDJFNDAwQjkwMjIyNDAwRTkwMDIyMDAwMDEKKzoxMDgzQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5NDAyQTRBMEYKKzoxMDgzQjAwMDA4OTEwMkE0MDA4OTAwMkU0MDFBOTAwQTI0MDQ4OTAwMjIKKzoxMDgzQzAwMDJBNDAwQjkwMDJFNDAwQjEwMDJBNDAwQjkwMDIwNjAwMDQKKzoxMDgzRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMDFBODQ4QUIKKzoxMDgzRTAwMDg4OTAwMjA0ODA4MTQwMkM1MDE4MTQwQTg0MTA4OTQwMUYKKzoxMDgzRjAwMDJDNDAwQjEwMDJDNDAwMzEyMDIwNDAwQTEwMEEwMjAxNTgKKzoxMDg0MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEYwNTAzQTAwOEMKKzoxMDg0MTAwMDJDQTAwMkExNDJDODAwM0UwMERFMDAyMzIxNDI4ODAwQjkKKzoxMDg0MjAwMDM4MTQwRjg1MDNFMTQwRjg1MDM4MTQwRjA1MDMyRTAxNkUKKzoxMDg0MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQwOEZEMDAzNjQ0RDQKKzoxMDg0NDAwMDBGRDAwMzY0NDBGOTAwM0Q1MDBGOTQwM0U1MDA3RDQwRDgKKzoxMDg0NTAwMDNFNDAwRjk0MDNFNDAwRjkxMDNGNDAwRTkwMDNFNjA0MDEKKzoxMDg0NjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTQwMEZENDAzMzY4QzMKKzoxMDg0NzAwMDBDRDAwM0U3ODFGOTAwMzM3ODBERDgxMzI2QTBDREEwRTYKKzoxMDg0ODAwMDMyNDAwRDlCMDMyNDAwRjlBMDNDNDQyQzkwMDc4NjAwNDkKKzoxMDg0OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEI4QTBBMjEwM0EKKzoxMDg0QTAwMDE4ODAwMzgyODRCODgwMzYyQzJFMEYwMkEzQTBEOEUwNTcKKzoxMDg0QjAwMDM2MjI4QjA4MDM0MkEwRjhFMDJFMjgwODg4MDJDRTA0NUEKKzoxMDg0QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDBBMDUwMEEKKzoxMDg0RDAwMDI4MzAwMkM1ODBCMTA4MjA0MDA5MTBBMjQ0MDg4MTQ4MTQKKzoxMDg0RTAwMDIwNDAwQjE0MDIwNDgwQjEzODJDNDgwODEyODI4MjAxMEIKKzoxMDg0RjAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQwMEIxMDAyMjQwMkMKKzoxMDg1MDAwMDA4OTIwMkU0MDBCOTAyMjY1ODRBOTAwMkU0MDg5OTQwMTEKKzoxMDg1MTAwMDI2NDAwQjkwMDI2NDA4QjkwMTJDNDgwODkwMTJDNjA0NEEKKzoxMDg1MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5ODAzMjQwNjcKKzoxMDg1MzAwMDA4OTg4M0U0MDRCOTAxMzA0MDBEOTAwQjY0MDJDOTAwMkYKKzoxMDg1NDAwMDMyNDAwRjkwMDMyNDAwRjkwMDFFNTgwQzkwMDNBODA0MzkKKzoxMDg1NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MjAzQzQwNDkKKzoxMDg1NjAwMDBGOTgwM0E0MDBCOTAwM0U0MjhFMTA0Qjg0MDRGOTAwMUEKKzoxMDg1NzAwMDNFNDA4RjkwMDNFNDAwRTkwMDNFNDAwRjkwMDNDQTAwQTQKKzoxMDg1ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDAzMjA4QTEKKzoxMDg1OTAwMDBGODQ4M0EwMDRDODA0M0UwMDgzODAwMTIwMDBDMDAwMzMKKzoxMDg1QTAwMDMyMDAwRjAwMDNBMDAwQzgwMDMyMTA0RTgwMTNDQTA0MkUKKzoxMDg1QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFOTBBMzgwMDUKKzoxMDg1QzAwMDBCRTQwMjI4MDBDQTAwMkY4MDRBQTAxM0E4MDBBQTAwQ0EKKzoxMDg1RDAwMDM2ODEwQkEwMDIyODAwOEEwMDIyODAwOEEwMDM4QTAwQUUKKzoxMDg1RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzQzAyMEQwOEYKKzoxMDg1RjAwMDBCMzQwMjhDMDA4QjAwMkNGMDhCMTgwMjRDMDA4MzAwOTMKKzoxMDg2MDAwMDYwQzAwQjMwMDI4QzAyODMwMDI4QzEwQTMwMDJDQTAwMEQKKzoxMDg2MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMEI0MEI2OUMwNjMKKzoxMDg2MjAwMDA5NTgwNjFFODA5NzEwMkZDMjQ4NzA4MjlDODBBNzA4QTgKKzoxMDg2MzAwMDI1Q0MwQjcwMDIxRTgxODdBMkFCQzQwODczMDJFODAwMzAKKzoxMDg2NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UxMERDODQyMUUwOEIKKzoxMDg2NTAwMDBGNzg0MjlGMDJDNzg4M0RFMDJGNzEwMzRFMDBDRjgwMDQKKzoxMDg2NjAwMDIxRTIwRjc4ODM5RTQ5Q0ZEMDM5RTgwRTc4MDNFQTAyRTEKKzoxMDg2NzAwMDAwMDAwMDAwMDAwMDAwMDAwODREQUM0MENBMDAzNjAwQjkKKzoxMDg2ODAwMDhGMzAyM0VDQThFQjQwM0NDMDBGOTY0M0VEODBGQjAwRkQKKzoxMDg2OTAwMDNFRDg4RkIxNDNFRDgwRkIyMDM2Q0EwRkIwQTM4MjA2Q0YKKzoxMDg2QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkU4MEZDODAzMUUwNUEKKzoxMDg2QjAwMDA1QUExMEZFNDRGRjkwM0ZFMUNGRjkxNzNGMjBENzgwNzUKKzoxMDg2QzAwMDhCRTQwRkY4MDMzRTMwRkY4MDM3RTAwRkY4MDA0MDAwRTYKKzoxMDg2RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJEMTAyMUMwMjcKKzoxMDg2RTAwMDA4NEEwMkRDQzBCNzAwMkRDMjBDRDMwMjFDODA4NzAwRjAKKzoxMDg2RjAwMDI5QzA0QjcyMDIxQzAwQjcwMTIxQzAwQkYwMTIyQTA0RTIKKzoxMDg3MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUM5MDM0MDAyMTgwMDgKKzoxMDg3MTAwMDA5NzAwMDVDMENCNzAwMkRDNDA4NTAxQTBDMDA5NzAwQkIKKzoxMDg3MjAwMDIxQzA0QjMwMDIxQzAwQjcwMDI1QzAwQjcwMDI0MDAwNzYKKzoxMDg3MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEIwMDA2MDAwMDkKKzoxMDg3NDAwMDA4M0UwMkNDMDBCMzAyMENFMDJCQjAwMjBDMDA5MzAwRjgKKzoxMDg3NTAwMDI4QzAwQkIwMDIyQzEwQjMwMDIwRDYwMzMwMDIwODA0NEUKKzoxMDg3NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEZCMDBCMjAwQjMKKzoxMDg3NzAwMDA1QkUwMzdDMDBGRjAwM0UyMDBDQjAwMzNDMDBEOTgwMDYKKzoxMDg3ODAwMDMzQzA4QkYwMDMzQzAwRkYwMDM3RTAwRkYwMDM2QTA0QjYKKzoxMDg3OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDQzRTAwRDAKKzoxMDg3QTAwMDBGQTQyM0NDMDBGQjAwM0U4MTA4OTAwM0VDMDBFOTE0RTkKKzoxMDg3QjAwMDNFQzAwRkIwMDNFQzEwRkIwMDNFQzAwRkIwMDNFMDAwNjIKKzoxMDg3QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDAzNzgwQjYKKzoxMDg3RDAwMDBGRkEwM0ZDMDBDRjAwM0Y5MDA2REMyMzNDMDBGRDEwQTUKKzoxMDg3RTAwMDMzQzAwRkYwMEIzQzAwNDMwMDMzQzAwRkYwMDNDMDQ0MTQKKzoxMDg3RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNkMwOUJCMTkyMjMyMkIKKzoxMDg4MDAwMDBCQkUwMzZDMDA4QjAwMkM5MDBEQjgwMkFDMDBCMTAwQzUKKzoxMDg4MTAwMEYyQzAwQkIwMTJBQzAwOEIwMDIyQzAwQkIwMDNBMDQwMjIKKzoxMDg4MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMxMEIzMDAyNjIwN0UKKzoxMDg4MzAwMDBCOTAxMkVDMDE4QjAwMkFDMjBBOTAwMjJDMDBCQjAwQTQKKzoxMDg4NDAwMEEyQzAwQkIwMDIyQzAwQUIwMDJBQzAwQkIwMDJFMDAwQUIKKzoxMDg4NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMUIzMDAyMDAwRUMKKzoxMDg4NjAwMDBCMDAwMjhDMDA4MzAwMkVDMDBCMzQwMjhDMDBCQjAwNzYKKzoxMDg4NzAwMDIwQzAwQjMwMDIwRDAwQTMwMEEwQzAwQjMwMDI4MjAxMEIKKzoxMDg4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEJCMDQzNjgwRkEKKzoxMDg4OTAwMDBGQjIwMkZDMDJDRjAyMzhDMDBFRjAwMzNDMDBGQjAwMTYKKzoxMDg4QTAwMDIzQzAwRkYwMDMzRDAyRUYwMDMzQzAwRkYwNDNDMDAzQkQKKzoxMDg4QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRjAwNzEKKzoxMDg4QzAwMDBGRjQyMzdDMDBGRjAwM0ZDMDBERDAwM0ZDMDBGRjAwMkQKKzoxMDg4RDAwMDNCQzAwRkYwMDNGQzg4REYwMDNGQzAwRkYwMDNBODA2ODkKKzoxMDg4RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjA1MENFMTIzM0QwMzAKKzoxMDg4RjAwMDRDODY4MzMwODA1RjY4MzNDNDBGRjM4MzNDQzBDQzM4MzAKKzoxMDg5MDAwMEIzMDgwQ0M2MDNGMUEwRkYwMDMzMjQwQ0MyMDNGMDAwMkYKKzoxMDg5MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUM4MEQyMjAyM0Q4RkUKKzoxMDg5MjAwMDBEOTYwMjg4NjBBRjQwMjNEQzBCRjYwMjNDQzI4ODYwRTMKKzoxMDg5MzAwMDIyNTIwODkxMjJFMTAwQjcyNEEyNDg4QTg0ODI2MDA0NkUKKzoxMDg5NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQwMDgxMDBFMEM0ODEKKzoxMDg5NTAwMDBBMDAwMjA0ODBBMzIwQThDMDFCMzAwQTBDMDBBMDAwNUIKKzoxMDg5NjAwMDI4MEMwOTAyMDJDNDgwQjMxQzIyMDgxOTAzMDJFMjExNzgKKzoxMDg5NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTQwMDk5ODA2MkMwRDMKKzoxMDg5ODAwMDBCQTAzMkE0NTFBQjAwMkFDMDhCQjAwMDBDMDBBOUMwRDAKKzoxMDg5OTAwMDJBMjEwOEI4MjJFMjAwQkIwMDIyODQxQkE4NDI3MDA0RUUKKzoxMDg5QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTIwMENCQzkzMkMwQUEKKzoxMDg5QjAwMDBFOEIxMzIyMTBEQjAxMzJDMDBGQjAwQjJDMDA2ODgxMkMKKzoxMDg5QzAwMDNBMjIyQzg4MjNFMzAwRkIwMDMwMzA4RDlDODNEMDA0QjYKKzoxMDg5RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkE0MEY3MDQzRUMyNTEKKzoxMDg5RTAwMDBERDgyM0Q4MDA3QjAwMzdDMDBGNzAzM0ZDMTBEMjAwQTUKKzoxMDg5RjAwMDM1QzA4RkMwMDNGNDAwRjcwMjNGRTAwRTgwMDNGODAwOUIKKzoxMDhBMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwODEyMEM4MDgzMEMwNTUKKzoxMDhBMTAwMDBDMDA4MzI0NDBDMzg5M0FDMDBFQjAwQjJDMDhDOTQ4MEYKKzoxMDhBMjAwMDcyNTQwRjkxMDNFRDAyRUI4QTNBNjI4QzgwMEIxMDA0QjIKKzoxMDhBMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkIwNDg4NDBBM0MyRUQKKzoxMDhBNDAwMDAyQUUxMjI3NDI4RjQ0MjNDMjBCRjQwMjNEMDAwQTQwQkIKKzoxMDhBNTAwMDIyRTAwQkI1MDJFQzIwOEY0NEEyNDA4REJEMjMzMjAwRjIKKzoxMDhBNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDk0MDgzODEyNEMxNkYKKzoxMDhBNzAwMDA4MjgwMjAxMDA5MzAwQTBFODBBMzA4MjhGNjBCMzkwQkEKKzoxMDhBODAwMDYwQjgwQjI4MTI0QTAwOTMwMDIwOTAwOTIwMDI3ODAwNTkKKzoxMDhBOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMjg3QTgyNUUwMTEKKzoxMDhBQTAwMDBBN0IwMjFBMDQ4NzgwMjFFNDBCNzg4MjhFMDI5NjkxNTkKKzoxMDhBQjAwMDIxMjEwQjY5NDBEQjQwOTc5MjIzQTA4OTU4ODIwODAwNEUKKzoxMDhBQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MjU4MkMzMDAzNEMwQjgKKzoxMDhBRDAwMDBDOUI0MzA4RDBEMzIwMzhDMDBFQjAwMzhDMDBCMzAwRTkKKzoxMDhBRTAwMDIwODAwNzEwMDNFMDAwRDMxMDM4MTgwRDMwMDM1MjAyMjUKKzoxMDhBRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQwMDdGMjAxQkQwREIKKzoxMDhCMDAwMDBGRjEwM0Y4NDBFRjAwM0ZDMDBGQjQwMzdDMjBDRjA0MDcKKzoxMDhCMTAwMEJGNDAwRkYwMDNFNDEwRUYxODNEQzAwRkUwMDNEMDA2OTQKKzoxMDhCMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMEUzMDBCMkM0RjcKKzoxMDhCMzAwMDBDQTAwMzI0MDBEQjY4MzJDODBDQjQwM0VDODBDODgwQUUKKzoxMDhCNDAwMEI2RTAwQ0EwMDMyRTAwQ0JFMEIyNjAwQ0I4MEIyQTAwRkMKKzoxMDhCNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMjg3MDBBMUM4QkUKKzoxMDhCNjAwMDA4NzAwMjFDMDg5NzAyMjFENDA4NzQwMkRDQzAwNzAwQjgKKzoxMDhCNzAwMDIxQzA4ODcwMDIxODAwODMwODIxQzAwODUwMDIxMjA0MjYKKzoxMDhCODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUyMEFEODAyOUUwRDEKKzoxMDhCOTAwMDA4NTgwMjFFMDA5N0IwMjFFODA4NzgwMkRFMTAxNTgwMDAKKzoxMDhCQTAwMDIxQTEwODQ4MDI1RTAwODdBNDY1QTAwODc4MDIzMDAwNzEKKzoxMDhCQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0YxMDgxNzBBOEMwMDEKKzoxMDhCQzAwMDM4MzAwQTBEMDA5MzAwQTBDMTI4MzAwMkNDMDI4Mzg4RkYKKzoxMDhCRDAwMDIwRTAzODM0MEE0RDcyODMwMDI0RTgyODM0ODIxMjA0REQKKzoxMDhCRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkE0MEVFQzBCQTgwNzYKKzoxMDhCRjAwMDBDRTAwMzM5MTBEQTAwMzI4MDBDQTAwM0U4MDBERUM4NzQKKzoxMDhDMDAwMDMzQTAwQ0UwMDM3QjAwQ0EwMDM3QjEwQ0U0MjMzQTA0MjQKKzoxMDhDMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzEwMEY4MDAzNjAwQkQKKzoxMDhDMjAwMDBGODAwM0MwMjAzODAwM0UwMDBGMDAwM0UwMDBGODAyNzAKKzoxMDhDMzAwMDNBMjQwRjgwODNBMDAxRjgwNDNBMDQwRDgwMTNEMjAwNzcKKzoxMDhDNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQ0NEMxMDAzMjQwODEKKzoxMDhDNTAwMDBDOTAzMjI0MENDMTA2Mzg0MDBEOTAwOTA0MDBEOTAwNTQKKzoxMDhDNjAwMDNFNDAwRjE4MDMyNDAwRjkwMTNFNDAwRjkwMDNDMjA0NTgKKzoxMDhDNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNjg5MDAyQTUwRDMKKzoxMDhDODAwMDA4OTQwQTI0MDA4OTQyMjI1MDBBOTAxMjI1MDA4OTAwODMKKzoxMDhDOTAwMDJFNTAwQjlDMEEyNTEwQjkwMDJFNTAwQjkwMDJFMDAwQkMKKzoxMDhDQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQyMDg5MDAyMDQyNjgKKzoxMDhDQjAwMDA4MTBDMkFDMTA4OTA4MkE0MjA5OTAwMjI0MjA5OTAwQTkKKzoxMDhDQzAwMDJFNDIwQUIxODIyQzIwQjkwMDZFNDIwQjkwMDJDNjAwREYKKzoxMDhDRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgzMDAyODQ4NTEKKzoxMDhDRTAwMDA4MTI2MjhDODA4MTAwMjA0MDAyMTAwMjg0ODA4MTIwNjIKKzoxMDhDRjAwMDJDNDkwQjEyMDYwNDg0QjMwMjZDNDAwQjEyMDJDMjAxMTEKKzoxMDhEMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENDFFMEM4NzgzMDE0RjkKKzoxMDhEMTAwMDRDMDUxM0ExNDJDMDc4MzgxRTBEODc4MzAxNDBEMDUwMDYKKzoxMDhEMjAwMDNDMTQwRTA1MDMwMTQwRjg3ODNDMTQwRjA1MDNFRTAzRDQKKzoxMDhEMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERkMwMEZGMDAwRTQ0RTEKKzoxMDhENDAwMDJGRjEwMzc0NDBGOTAwM0U0MDBEOTAwMzY0NDBGRDEwODQKKzoxMDhENTAwMDNGNDQwRkQxMDFGNDQwRjkwMTNGQzAwRkQxMDNFNjA2QjMKKzoxMDhENjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMkU5ODhCMjQwMEIKKzoxMDhENzAwMDBGOTAwMzI0MTZDOThDMzY3QjhGOUM4M0E3OTBDOTAwNjMKKzoxMDhEODAwMDNFNTAwNDk0MTMyNDUwQzlFMDNFNTAwRjkwMDMwNjAwNTcKKzoxMDhEOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTI4MDg4QTAyMjI4NDcKKzoxMDhEQTAwMDBCOEEwMjJBODA4OEE0MjIzMDA4OEUwQTIyMDI4OEEwMTgKKzoxMDhEQjAwMDJFMjg4OEFBMTIyMjkwODhGNDJFMjAwQkM4MDIwRTA0QjYKKzoxMDhEQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1RDQyMEE1MDgyMTQyNjIKKzoxMDhERDAwMDBCNTA4MjE0MzE4NTA4MjU0MDBBNTAyMjk0NDA4NTA4QTIKKzoxMDhERTAwMDZENDAwODUwMDI1NDAyOTUwMDJENDgwQjUwODI0MjAxRkMKKzoxMDhERjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1ODQwMDhEMTAyMzQwNTIKKzoxMDhFMDAwMDBCRDAwMDM0MDE4RDAwMjM0MTU4RDAwMjM0MDA4RDA4NkUKKzoxMDhFMTAwMDJGNTAwOEQyMDI3NDgwOUQwMDJGNDgwQkRDMDI0NjA0QkMKKzoxMDhFMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTc0MEU5QzAzMjQwRUIKKzoxMDhFMzAwMDBGOTAwOTI2MDBDOTA0MzY0MDFGOTAyM0E0MDhDOTQwOUEKKzoxMDhFNDAwMDNFNDAwQzk0MEI2NDIwRDkwMjNFNDEwRjk0MDM2ODA0MDkKKzoxMDhFNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5ODAzRTQwREUKKzoxMDhFNjAwMDBGMTQwM0M1MDhGOTAwM0U0MDFGOTAyM0U0MDBGOTAwRTkKKzoxMDhFNzAwMDNDNDBBRjk4MDM4NjAwRTkwMDNFNDAwRjEwMEI4QTAwOEIKKzoxMDhFODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQjAwMERDNDBCMzAwQ0IKKzoxMDhFOTAwMDBGQzAwMzMxMDJDNDA0QjEwMDNDNDAwMzEwMDBGQzQwODkKKzoxMDhFQTAwMDMzMDAwQ0M0MDNCMTAwQ0MwMEIzMDAwQ0M0MDNDQTA0RUIKKzoxMDhFQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhBODAyMkEwNzEKKzoxMDhFQzAwMDBCQTAwMjJBMDA4QTg0MjJBMTA4QTAwMjI4MDhCQTAxNjUKKzoxMDhFRDAwMDIyODAwOEEwMkIyODAwOEE4MDJBODAwOEUwMDJDQTAwOEQKKzoxMDhFRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMjlCODEyMEUwQUIKKzoxMDhFRjAwMDhCMzgwNkNFMDA5MzgwMjBDMDA4MzgwMjBDMDBCMzgwNjcKKzoxMDhGMDAwMDZDRTAwQUIwMDI0QzAwOTMwMDIwRTAwODMwMDJDQTAwNzYKKzoxMDhGMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTAwNDgwMDgyMTAyQTEKKzoxMDhGMjAwMDRCNDQwNkQwMjA5MDA4MjEwMjgwNDQwMjEwMDBCNEMwQjcKKzoxMDhGMzAwMDJEMTA0ODQwMDIwMDAwOTQ4OTI5MzAwODQwMDJFODAwQzIKKzoxMDhGNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MzIwMEQ2ODAzMUEwRDgKKzoxMDhGNTAwMDBGRTgwQkNBMDBENjgwMjNBMDA0RjgwQjFBMDBGRjgwOEMKKzoxMDhGNjAwMEJGQTAyRUM4MTNEQTAyNUU4MDczQTAyQzc4MDNFQTAyMzkKKzoxMDhGNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEY5MDAzRTQwQTkKKzoxMDhGODAwMDBGOTAwMzI0MDBFOTAwM0U0MDBFODAwM0U0MDBGODAwNDcKKzoxMDhGOTAwMDMyNDAwRkIwMDNFNDAxRTkwNDM2NDAwRjgwMDNDMjA2RkIKKzoxMDhGQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMENEODAzMzYwN0UKKzoxMDhGQjAwMDBDRDg0MzM2MDBDRDgwMzM2MDBDRDkyM0JFMDA0RDgwRTEKKzoxMDhGQzAwMDMzNjAwOEY4MEIzRTAwRkQ4NDNGNjAwRkY5MDNDMDAwREEKKzoxMDhGRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTAwNERFMDAyMzgwNTMKKzoxMDhGRTAwMDA4NjAwMkI4MjA4RTA0MjM4MDA4NjgwMjEwMDA4RTIwREEKKzoxMDhGRjAwMDIzODIwODQwMDIxMjAwRjYwMDJEODAwQjQxQTBFQTA0RjMKKzoxMDkwMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTAwMDg0MDAyMTAwQ0IKKzoxMDkwMTAwMDA4NDEwMjUwNDA5NDAwMjEwMDBBNTIwMkQ4MDA4NTAyMDMKKzoxMDkwMjAwMDI1MDQwODQwMjIxODA4QjQwMDJEMTAwQjc4NDBDMDAwMTkKKzoxMDkwMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RUUyMjkzMDAyMEMwNTkKKzoxMDkwNDAwMDA4MzgwMkVDMDA5MzAwMjBDMTJBMjAwMjY0MDI4MjEwM0EKKzoxMDkwNTAwMDI0RjAwQTNDNDIyNDI4QjMwMDJDRTAwQjg4ODJDODA0ODgKKzoxMDkwNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUQwMENCMDBCMkMwMjkKKzoxMDkwNzAwMEFDQkUwMzZFMDJEQjAwQjJDMDFFQTAwM0U0MDBDQTExNDYKKzoxMDkwODAwMEI2RDBBQ0JDMDMyNDAwRkIwMDNFQzBDRjg0MDNFQTA0OEUKKzoxMDkwOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTA0MEY4MDAzQzAwOUMKKzoxMDkwQTAwMDJGODIwM0EwMDBFODAwM0UwMDFEOTAxM0E4MDBGOTAwRTUKKzoxMDkwQjAwMDNBMDA4MTgzNDNFODAwRTgwMzNFMDQwRkIwMDNFMDAwNzgKKzoxMDkwQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRTAwMEQ2MDAzNzgwRjIKKzoxMDkwRDAwMDBDQTAwM0Y4MDBDRTAwMzM4MDBEQTAxMzIwMDhDRTAwQjIKKzoxMDkwRTAwMDMzODIwQzQwNzMzMDE4Q0UwMDFGODA0RkMxNDMwMDQ0QzAKKzoxMDkwRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0N0MwMDhEMDAyMzQwNEYKKzoxMDkxMDAwMDBBRDAwMkY0MDA4RDAwMjM0MDA4RDQ4MDNFNDI4RDQwRjYKKzoxMDkxMTAwMDIzNDAwOEYwMDIzRTQwOEQwMDBGNDAwQkY0MDIyMDQwMzcKKzoxMDkxMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDk5MDBBNjQwRkYKKzoxMDkxMzAwMDA4OTAwNkU0MDA5MTAwMjA0MDg4MDAwMjI0MDg4MDQwNDYKKzoxMDkxNDAwMDIwNDAwQUIwMDIyNDAwODkwMDBFNDAwQjg0MDIyMDAwNTcKKzoxMDkxNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDgyMDAyMDgwQTEKKzoxMDkxNjAwMDBBMjEwNkM4MDE4MjAwMjA4MDA4MzI4MjA4MDg4MzAwOTQKKzoxMDkxNzAwMDYwODAwQTAwMTIwODgwODIwMDJDODAwQjMwMEEwMjAxRjUKKzoxMDkxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjAwMEQ4MDAzNjAwNjQKKzoxMDkxOTAwMDBDODQyM0UwMDBDODAwMzIwMDBEODIwQjIwMDJDODAwQkUKKzoxMDkxQTAwMDMyMDAwRTAwMDMyMDAyQzgwMDNFMDAwRjgwMDMwMDAzQkYKKzoxMDkxQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEJGMDAzRkMwRTgKKzoxMDkxQzAwMDBGRjAwM0ZDMDBGRjAwQkZDMDhGQjAwM0ZDMDhGRjAyREMKKzoxMDkxRDAwMDNGQzAwREYwMDNFRDAwRkYwMjNGQzAwRkYwMDNFODA2QjMKKzoxMDkxRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDAxRjA4Q0ZGMDAzRDYwMzYKKzoxMDkxRjAwMDJDQjI4MzdDOTBERjM4MzFFMDBGRjgwMzNDMDBGRjIwNzUKKzoxMDkyMDAwMDNGQzQwRUY0MDM3QzAwRjQ4MDMzMDAwREY4MDNGMDAwM0IKKzoxMDkyMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTEyMEJCNjIyRTQyQzAKKzoxMDkyMjAwMDI4RjQ0MjNFNDA4RjQ0MjJFMDBCQjA4MzdGNDRCRkMxMEMKKzoxMDkyMzAwMDJEREMyQUY2MDIzRjQ1Qjg4MDIyNjE4OEI4MDJFMDA0OUUKKzoxMDkyNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzU4MEIyMTgyRUM4NUMKKzoxMDkyNTAwMDI5MzAzMjBDMDhCMzIwMjBDMDRCOTIwMjBDMDBCMzQwREUKKzoxMDkyNjAwMDJDQzA4OTM0MTI0QzAwQjAwMDI0QzE0OTMwMDJFMjAxMDQKKzoxMDkyNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQTQwMEJBMEMyRUUwMzUKKzoxMDkyODAwMEE5QjAwNjJDMDA4QjAwQTJDMDBCOTAwMDZDMDBCQjAwQTQKKzoxMDkyOTAwMDJFQzAwQjMwMDI2QzAwQkE4MDI2RjAwOEIwMDJGMDA0MzkKKzoxMDkyQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRUUwMEZCQzQzRTc4QUEKKzoxMDkyQjAwMDJEQjAwMzZDMDhGQjAwMzJDMDhCMjQ4MzJDMDBGQjAwMTQKKzoxMDkyQzAwMDNFQzA4RkIwMEI2QzA4QjJFMDE2NjA4REIwMjNEMDA0QTYKKzoxMDkyRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkU5OEZGNDAzRkMwQTkKKzoxMDkyRTAwMDBFNzAwM0RDMDBGRjAwM0ZDMDBGRTAwM0ZDMDBGRjAwMzYKKzoxMDkyRjAwMDNGQzAwRUYwMDNBQzAwRkUwMEI5QzAwRkYwMDNGODAwNTEKKzoxMDkzMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUQwMEZBNDAzRUQwQjgKKzoxMDkzMTAwMDBFQjIwM0VDMDBDMzAwM0VDMDBDQTAwMzJDMDFGQjAwMDYKKzoxMDkzMjAwMDNDQzAwRUI4MDNFQzAwREEwMDNBRDA0RkIwMjNEMDA0QjIKKzoxMDkzMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJBMDAyQ0MwNkUKKzoxMDkzNDAwMDA4RjQwN0JDMTRERjAwM0VDMDFBQTA1MkJDMDBCRjA0RTIKKzoxMDkzNTAwMDNGQzA4QUYwMDNCQzAwRkEwMDIyQzgwRkIwMDNGMjAwM0QKKzoxMDkzNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDgwMUIxMDA2Q0MyQjAKKzoxMDkzNzAwMDBBMzA0MkNDMDA4MzA1MkNDMDA4MzAwMjhDMDFCMzA0QjMKKzoxMDkzODAwMDJDQzAwQTMwMjI4QzAwODA4MDI4QzAwQjMwMjJGODAwQ0MKKzoxMDkzOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwOEI3ODA2RkUwQjAKKzoxMDkzQTAwMDE4NzgwMjhFNDBCNzgwMkRFMDBBNzgwMjlFMDBCNzgwQzAKKzoxMDkzQjAwMDI5RTEwQTc4MDI5RTAxQkM4MDI5RTQwQjc4MDJDODAwRUEKKzoxMDkzQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDk0MEYxMjAzQ0M0QjMKKzoxMDkzRDAwMDBFMzkwMkNDMDBDMzAwMkNDNDA4OTIwMzhDODhCMzEwNTEKKzoxMDkzRTAwMDJDQzQwRUIwMDc4QzAwQzIwODM4QzAwRjMwNDNEMjAyMjQKKzoxMDkzRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMxMEZDMDA3RkMwMDkKKzoxMDk0MDAwMDBGRjA4M0ZDMjFERjA4M0JDMDhGOTAwMUZDMjFGRjBDOTMKKzoxMDk0MTAwMDNGQzIwRkYxMDNFQzAwRUYwMDc3QzAxRUYwMDM5MDA2OEYKKzoxMDk0MjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMUY5MDAzMkMwNUIKKzoxMDk0MzAwMDBGQjIwM0VFOTBEQkUxM0FDMDREMzgxMzJEMzBGQjAwNDQKKzoxMDk0NDAwMDNFRTA0RkJBNDMyQzQwRkEwMDNGQzA4Q0IwMDNFQTAwMjQKKzoxMDk0NTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEIxMDAyMUMwMTUKKzoxMDk0NjAwMDBCNzEwMkNDMjBBNzI4MjFDMDBCNzAxMzVDMDhCNzEwMjkKKzoxMDk0NzAwMDJEQzQ0QjM0ODMxQ0MxQjcwMjJEQzAxQTcwMDJEMjA0MTQKKzoxMDk0ODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEyMEI0QzQyNUEyQzMKKzoxMDk0OTAwMDBCNzgwNkRFMDA4MzgwMjlFMDFCRjgwMjVFODBBN0EwMUYKKzoxMDk0QTAwMDJEQzgwQTcyMDIxRTAwQTY4MDI4RTAwODc4MDJGMDAwOEIKKzoxMDk0QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUQwMEIzNDAyNEMzNjkKKzoxMDk0QzAwMDBCMzA0MkNDMDBBMzAwMjBDMDFCMzQwMjRDMDBCMzAwODAKKzoxMDk0RDAwMDJDQzA0QjMwMDIwQzAwQjM4ODJDRDQwQTMwMDJEMjA0Q0EKKzoxMDk0RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QjgwMEZFNDBCN0EwMDIKKzoxMDk0RjAwMDBGQTAwM0U4MDBEQTAwM0E4MDBGRTIwMzY4MDBGQTAwRTgKKzoxMDk1MDAwMDNFODAwRkEwMEIyODAwRUVFMDNGQjAwNEEwMDNGQTA0NTkKKzoxMDk1MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwNEYwMDgzQTEwN0QKKzoxMDk1MjAwMDBGODQwM0UwMTBGODAwM0UwMDRGODA4M0UwMDBGODAwNTUKKzoxMDk1MzAwMDNDMDAwRjgwMDM4MDAwRjg0MDNFMDkwRjgwMDNEMjAwRkEKKzoxMDk1NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQyMEU5MDAzMjQ0NzAKKzoxMDk1NTAwMDBDOTAwMzI0MDBGOTAwM0U0MDBGOTAxM0U0MDBCOTAwODIKKzoxMDk1NjAwMDFFNDAwQzEwMDMyNDAwQzlBMDNDNjQwQzkwMDM4MjA0MkMKKzoxMDk1NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5MDAyMjY4QzAKKzoxMDk1ODAwMDA4MTMwMjI0MDhGOTAwMkU0ODFCOTAwMkU0MDBCOTAwRDkKKzoxMDk1OTAwMDNFNDAwQzkwMDIyNDA4Rjk0MDJFNjAwQTkwMDZFMDAwM0MKKzoxMDk1QTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEE5MDAyMDQwNjUKKzoxMDk1QjAwMDA4OTAwMjI0MDBCOTAxMkU0MDBCOTAwMkU0MDBCOTAwOEIKKzoxMDk1QzAwMDJFNDAwODkyMjIyNDAwODkwMDJFNDAwODkwMDJDNjAwRjYKKzoxMDk1RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MDgxMjFFMDUwRTkKKzoxMDk1RTAwMDI4MTYwQTA0ODBBMTQwMkM0MDRCMTQyMkM0MDBCMTAwNkMKKzoxMDk1RjAwMDJDNTAwOTE0MDIwNDA0QjEwMDJDNDAwQTEwMDJDMjAxQ0MKKzoxMDk2MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEU4NTAzMjAwOEEKKzoxMDk2MTAwMDhDODAwMjIwMDBCODAwM0UwMDBCODAzM0UwMTBGODAwODAKKzoxMDk2MjAwMDNFMDAwQzgwMDMyMDA4Q0EwMDNFMDAwQzgwMDNBRTAzRkQKKzoxMDk2MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERkM0MEZEMTAyRjQxNkMKKzoxMDk2NDAwMDRGOTEwM0U0NDBGOTQwM0U0MDRGRDA2M0U1MDBGOTQwQkMKKzoxMDk2NTAwMDNBNTAyRTk0MDM2NTAwRUQwMDNGNTAwRjkwMDNFNjA2NEMKKzoxMDk2NjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RTYwMEY5RTAzMzUwMUIKKzoxMDk2NzAwMDBDREEwM0E2MDBEOTgwM0Y0MDBGOTEwM0E2MDBGOTg4QjkKKzoxMDk2ODAwMDNFNjgwQ0RFMDM2NjAwRUQwMDNCNjkwQzkwMDNDNjAwRUIKKzoxMDk2OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwOEI4RTAyMDIwNTEKKzoxMDk2QTAwMDE4OEUyNkUxMDA4MEEwMkUwMDRCODg0MkUxNTBCODQwODEKKzoxMDk2QjAwMDJFMkEwRDBBMDIyMDA4QjgwMDJFMTQwRDgwMDJDRTA0QjYKKzoxMDk2QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzUwMEIxNjAyMDQwMjcKKzoxMDk2RDAwMDA4MzFBMkM1MDA5MTQ4MkM0MDFCMTIwMjg0MDBCMTAwNDEKKzoxMDk2RTAwMDJDNTAwOTE2MDIwNTAwQTMwNDI4NDAwODEwMDJDMjAxRUMKKzoxMDk2RjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1QTQwMEI5MDgyMDcwRTgKKzoxMDk3MDAwMDI4OTAwMkU0MDA4OTAwMkU0MDBCOTAwMkU0MDhCOTAzN0YKKzoxMDk3MTAwMDJDNDAyOTkwMDI2NDAwQjkwMDJFNjIwOTkwMDJDNjA0MTAKKzoxMDk3MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTUwMEY5RDBCMjcwNjQKKzoxMDk3MzAwMDA4OTAwM0U0MDBEOTA0M0U0MDBGOTAwM0E0MTBGOTAyRkUKKzoxMDk3NDAwMDNFNDAwRDkwMkI2NDAwRTk4RDNBNjAwQzkwMDNFODA0RDQKKzoxMDk3NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5ODAzRTQyRDMKKzoxMDk3NjAwMDBGOTAwM0U0MDBGOTAwM0U0MDBGOUEwM0U0MDBGOTAwNzMKKzoxMDk3NzAwMDNFNDAyRjEwMDNBNDAwRjkyMjNDNDA0RjkwMDNDQTAwNDIKKzoxMDk3ODAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTAwMEYwNDAzMjAwNEYKKzoxMDk3OTAwMDBDODAwM0MwMDBGODAwMzIyMDFGODAwM0UwMDBDODAwRTYKKzoxMDk3QTAwMDMyMDAwQzgwMDIyMDAwQzhDMDNFMDAwQzgwMDNDQTA0QjYKKzoxMDk3QjAwMDIwMDAwMDAwMDAwMDAwMDAyODE1MjgxMEJBMDAyM0EwOTcKKzoxMDk3QzAwMDBBRTQwMkU4MDBCQTAwMkJBMTBCQTAwMkU4MDBBQTAwRkMKKzoxMDk3RDAwMDJBODEwQUEwMDNFODA4REUwMDJFODAwQUEwMDJDQTAwM0YKKzoxMDk3RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzMDRBMEIxQjgKKzoxMDk3RjAwMDA4MzYyMkNDMDBCMzAwMjBFNDBCMzAwMkNDMDA4MzAwRkEKKzoxMDk4MDAwMDIwQzAwODE4MDIwQzAwOTEwMTJDQzAwODMwMDZDQTAwQzQKKzoxMDk4MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUNDOEIzMjEyMUMyQkMKKzoxMDk4MjAwMDJBNzAwMkRDMDBCN0EwMjlDMDBCNzIwMkNFMDBBNzgxMEIKKzoxMDk4MzAwMDI5QzA0QTc0MDJGRTAwOTcwMTJDQzAwQTcwMTJFODAwODkKKzoxMDk4NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUU4MEY3QzAzMUUwQzIKKzoxMDk4NTAwMDBDNDgwM0RFMTFGNzgwMjFFMDBCN0EwM0RFMDBDMzgwQTEKKzoxMDk4NjAwMDMzRDg2Qzc4MDMzRTAwRDY4MDNERTAwQzc4MDNFQTAyRTIKKzoxMDk4NzAwMDAwMDAwMDAwMDAwMDAwMDAwODBEQUMwOEZCODAzRUMwQTYKKzoxMDk4ODAwMDBGRDAwM0VDMDRGQjNDM0VDMDBGQjYwNzZDMDFGQjAwOUQKKzoxMDk4OTAwMDNFRDAwRjk0MDdFQzAxRUEwMDNFQzAwRkIwMDNDMjA2QjEKKzoxMDk4QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDAxRkUwMENGQTQzQjYwNEIKKzoxMDk4QjAwMDA4RDkwMzdFMDBDRjgwM0YyNTRGRkM4N0JFMDBDRjgwQjQKKzoxMDk4QzAwMDdGRkMwQ0ZDMDM3QzAwRjY5MDMzRTAwRkY4MDNDMDAwMzMKKzoxMDk4RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwODhGMjgyMTQwQTMKKzoxMDk4RTAwMDA4RDAwMjFDNDBBNzIwMzEwNDFCNzgwMkRDODBENzAwN0UKKzoxMDk4RjAwMDJGQzQxQUQwMDIxRTQ4QjYwMDYxQzAwQjcwMDZFQTA0REQKKzoxMDk5MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMDg3MzA2OTQ0MDcKKzoxMDk5MTAwMDA4NTAyMjBDMDA4NzAxMkQ0NDhCNzAwNjhDMTA4NzAwQTQKKzoxMDk5MjAwMDI5QzkwODUwMDIxQzQ0QTYwMDYxQzAwQjcwMDJDMDAwODcKKzoxMDk5MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0QwMDgzODg2MDQwNUIKKzoxMDk5NDAwMDAwMTAwMjRDMDAyQjAwMkM0MTFCMzAwMkNDMDA5MzAwNzUKKzoxMDk5NTAwMDJDQzAwQTMwNDIwQzAwQjI0MDIwRjEwQjMwMDJDODA0ODcKKzoxMDk5NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkQ0MUNGQzBCQUYwRDMKKzoxMDk5NzAwMDI4OTAxQjZDMDhDRjAwMkNDMDBGRjAwM0FDMDA4QjAwQUMKKzoxMDk5ODAwMDNGQzA2Q0IwNEIyQzAxRkI0MDIyQzgwRkIwMDNFQTA0NkYKKzoxMDk5OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwNEZCMDQzRkQ0RTUKKzoxMDk5QTAwMDBGMTAwM0FDMDBGQjAwMzJDMDVGQjAwM0VDMDBGQjA0RkYKKzoxMDk5QjAwMDNFQzA0RjEwMTNFQzAwRkI4ODNFQzA0RkIwMDNFMDAwRTgKKzoxMDk5QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMEM3MDAzMzYyMUUKKzoxMDk5RDAwMDBDQzAwQjNDMDBFRjAwMzNFMDFDRjAxMzNDMDhGNzAwMTgKKzoxMDk5RTAwMDMxQzAwRUQ4MDNCQzAwRkUwMDNEQzYwQ0YwMDNDMDQ0REQKKzoxMDk5RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMENCMDMyMjQ3MEYKKzoxMDlBMDAwMDA4OTg0MjJDMDA5QjAwMkFDMDBBQjAwMjJDMDBCQjA0MUMKKzoxMDlBMTAwMDJBQzAwQUIwMDJBQzA4RkEwMDJFNjAwOEIwMDJFMDQwOEEKKzoxMDlBMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDlCMDAyMDQwN0EKKzoxMDlBMzAwMDA4OTgwMjJDMDBCQjAwMjI4ODA4MzAwMjJDMDBCQjAwRDIKKzoxMDlBNDAwMDIyQzA4QTkyMDJBQzAwQUE4MDJFQzAwOEIwMDZFMDAwQjQKKzoxMDlBNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDBBMDQwNEIKKzoxMDlBNjAwMDA4MTAwMjBDMDBCMzAwMjg4MDBBMzIxMjBDMDBCMzA0NjQKKzoxMDlBNzAwMDI4QzAwQTMwMjI4QzIwQjIwMDJDQzAwODMwMDJDMjAxNUIKKzoxMDlBODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMkNCMDAzMDQwMjAKKzoxMDlBOTAwMDFDOTQwMzJDMDBFRjAwMzJDMDg4RjA4QjJDMDBGQjAwREMKKzoxMDlBQTAwMDMzQzBBRUYwMDNBQzgwRUEwMTNFQzAyQ0IwMDNDMDAzNkIKKzoxMDlBQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAyRjQwMkYKKzoxMDlBQzAwMDA3RDI4M0ZDMDBERjA0M0ZDMDBGQjAwM0ZDMDBGRjAwOUYKKzoxMDlBRDAwMDNGQzAwRkQwMEJFQzAwRUUwMDNGNDAwRkYwMDNFODA2NTQKKzoxMDlBRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjUwMENGMDgzRjQ4RUUKKzoxMDlBRjAwMDBGQzM5MzcwRDBEQzMwM0ZEODBDQjIwMzNDQzBGRjQwQTIKKzoxMDlCMDAwMDMzQzQyQ0YxMDM2MjUwRkMzNDMzMDAwRjVDMDNGMDAwQ0IKKzoxMDlCMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwQzQ4MDhCMDAyRjVBRUQKKzoxMDlCMjAwMDBCQTYxMjIxQzA4OTcwMkZEQzA4RjJDMjNERDBCRjQwQzUKKzoxMDlCMzAwMDM3REM4OEY1MEEyMDgwRTgxMDJBMTYwQjkwMDJFMDA0MzIKKzoxMDlCNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzAwMDgzMDgyQzQ0OUQKKzoxMDlCNTAwMDBCMDIwMjBDMDA4MDAwMkNDODA4MzM0MjhDOTBCMzMwRkEKKzoxMDlCNjAwMDI4Qzg0QTMyMTI4MDBDQjBBMDI4MjgwQjEyMDJFMjAxNDkKKzoxMDlCNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTIwMDhCMDAyRTQ4RkQKKzoxMDlCODAwMDBCQTAyMjIwMjA4ODgwMkVDMDI4QjAwQUFDMDBCQjAwODkKKzoxMDlCOTAwMDJFQzAwQUIwMDJBMDAwQUI4MjJBQTAwQkIyMDJGMDA0RDEKKzoxMDlCQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTcwMENCMDAzRUMwNTAKKzoxMDlCQjAwMENGOUMwQjIxMDBEODg4M0VDMDBDQjAwM0FDMDBGQjAwNEEKKzoxMDlCQzAwMDNBQzAwRUIwNDNFODQwRjg4MDNBNjAwRjk4MDNEMDA0RTIKKzoxMDlCRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwMEZGMDAwRkUwOTIKKzoxMDlCRTAwMDA3QTEwM0U4MDJGQjAwM0ZDMDBGNzAyMzdDMDBGRjAyQzcKKzoxMDlCRjAwMDM1QzA0REIwMDM3NDIwRkMwMTNGMDAwRkY4MDNGODAwOUUKKzoxMDlDMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTUwMENCMDBCQTQwM0EKKzoxMDlDMTAwMDBDMTQwQjJGMjJDOTQwMzJDMDhFQjAwM0FDMDBGQjAwRTUKKzoxMDlDMjAwMDNFQzAwRUIwMDNFNDAwQzkwMDMyMDAyQzkwMDMxMDA0QzMKKzoxMDlDMzAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMjQwMDhGMDAyMjQwMjYKKzoxMDlDNDAwMDJDQTU0MjI5MDA4QjA0QTNDMTBERjAwQTNDMDBCRjAwRTMKKzoxMDlDNTAwMDNGQzAwOEYwMDE2OTAwREEwNTIyRDAwODk0MDM3MjAwQzEKKzoxMDlDNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NjA0MDgzMDEyMEMwQ0IKKzoxMDlDNzAwMDA5MDAwMjIwMDA4MjYwMjJDMDA4MzA0MjRDMTBCQjAyNjIKKzoxMDlDODAwMDJDQzAwOEIwMTIwNTAwOUIwMDIwODIwOTMyMDIzODAwNjcKKzoxMDlDOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTY5MDg3ODAyMEUwQTYKKzoxMDlDQTAwMDA4NTgwMjE2MTQ4NDgxMjFFMDI5MzkwMjVFMDBCNzgwMjkKKzoxMDlDQjAwMDI4RTAwODc4MDI3QTgwOTY4MTIxRTAwOUY4MDI0ODAwQkQKKzoxMDlDQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwOThCMTAzODQ0REMKKzoxMDlDRDAwMDREMjUxMjBDMDBDMjEwMjJDODBBMzgwM0NDMDBGMzEwMjQKKzoxMDlDRTAwMDJDQzAwQzMwMDM4QUMwRDkxMDMyNDAyRDEwMDMxMjAyNTAKKzoxMDlDRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkM4MEZGMDAzRjQwNEQKKzoxMDlEMDAwMDBGRjAwM0Y0NDBFRDAwM0ZDMDBFRjMwM0JDMDRGRjAwNkUKKzoxMDlEMTAwMDNGQzIwRkYwMEJENDAwRkYxMEJGODAwRUYwMDNEMDA2M0YKKzoxMDlEMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkEwMENCMDIzRUMwNjEKKzoxMDlEMzAwMDBGOTAwM0EwMDBDQjAwM0FDQTBDQjMxM0FGMjRDQjQ4NUEKKzoxMDlENDAwMDFFQzgwRkI2MDMyQzAwRkEwMDNFQzAwRjkwMDNFQTAwQjUKKzoxMDlENTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwODg3MjAyREM0RkUKKzoxMDlENjAwMDBCNTAxMkRDMDQ4NzAwMkNDMDA4NzBBMjFEMDBBNzQwMTUKKzoxMDlENzAwMDI1Q0I4Qjc0ODIxQzAwQjcwMDJEQzEwQjcwMDJEMjA0NUUKKzoxMDlEODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEwMTg3OTAyREUwRjQKKzoxMDlEOTAwMDBCNzgwMkNFMDA4NjgwMkRFNDI5N0EwMjlFODA4N0EwNkYKKzoxMDlEQTAwMDZERTgwQjc4MDIxRTAwQjU4MDJENjAwQjc4MDJGMDAwODQKKzoxMDlEQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0QwMDgzMDIyQ0UwQzkKKzoxMDlEQzAwMDBCMzAwMkNDMDA4M0UwMkNDMDA4MzAwMjBDMDBBMzAwNTIKKzoxMDlERDAwMDI0QzAwQkIwMDIwRTIwQjMwODJDQzAwQjMwMDJEMjA0RkEKKzoxMDlERTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg4MkNBMDAzRUE4NUMKKzoxMDlERjAwMDBGRTAwM0Y4MDI4RTgwM0U4MDBEQTA1QkE4MDBDQTAwMzEKKzoxMDlFMDAwMDNFODAwRkEwMDMzQjgwRkU0MjJGODAwRkE4MDNGQTA0ODAKKzoxMDlFMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAyMEY4MDAzRTAwNjQKKzoxMDlFMjAwMDBGMDYwM0MwMDBGODExM0UwMDBGMDAwM0UwMDBGODAwMjkKKzoxMDlFMzAwMDM2MDAwRjgwMEJFMDAwRjgwNDNFMjAwRjgxMDNEMjAwQjMKKzoxMDlFNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5MDAzRTQwNkYKKzoxMDlFNTAwMDBDOUEwMzI0NDBDOUMwM0U0MDRDOTAwMzI0MDBGOTAwRjIKKzoxMDlFNjAwMDM2NDAwNzkwMDMyNDAwQzkwNDMyNjAwRjkwMDNDMjA0RjcKKzoxMDlFNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5MDIyRTQwQTEKKzoxMDlFODAwMDBBOTIwMjI1MDI4OUUwMkU0MDk4OTAwMjI0MDBCOTAwMkYKKzoxMDlFOTAwMDIyNDAwOTkwMDIwNDAwRDkwMDIyNDQwQjlDMDJFMDAwRjkKKzoxMDlFQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MkMwMEI5MDAyQzQwMzQKKzoxMDlFQjAwMDA4OTAwMjI0Mjg4OTAwMkM0MDY4OTA0MjI0MENCMTA0QTgKKzoxMDlFQzAwMDI2NDAwQjkwMEEyQzgwODEwMDIyNDBDQjkyODJDNjAwNTMKKzoxMDlFRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMjAyQzQ4RUQKKzoxMDlFRTAwMDBBMTIwMjA0ODA4MTIxMkM0QzA4MTEwMjA0MDhCMTEwQ0UKKzoxMDlFRjAwMDIwNEMwOTEyMDIyNDAxOTEyMEEwNDgwQjEwMDJDMjAxM0IKKzoxMDlGMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENDFFMEY4NTAzRTE0RDEKKzoxMDlGMTAwMDBDODUwMzIxNDBDODUwM0UxMDA4MDY4MzAxRjBGODY4MDQKKzoxMDlGMjAwMDM2MTAwRjA1MDMyOTQwQzg1MDMyOTQwRjg1MDNFRTAzMDUKKzoxMDlGMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQwMEY5MTAzRjQ0OUMKKzoxMDlGNDAwMDBGRDEwQkY0NDBGRDEyMkU0QzAzOTIwQkU0MDBGOTIwQ0MKKzoxMDlGNTAwMDNFNEMwRjkxMDNGQzAwRkQxMDNGNDQwRkQwMDNFNjA2N0EKKzoxMDlGNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYyMEM5MDEzRTQwMDYKKzoxMDlGNzAwMDBGRDAwMzNDMDBCRDAwMzI2MzBDOUU0MzI3MDBFOUMwQjQKKzoxMDlGODAwMDNFNjgwQzk4MDMzNDAwRjkxMDNGNDAwRkQwMDNDNjAwMjAKKzoxMDlGOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwQzIyMEQ4MDAyRTAwMjEKKzoxMDlGQTAwMDBCODA1MjI4MDRCODAwMjIzODA4ODgwMzYyMDA4OEYwMjkKKzoxMDlGQjAwMDJFM0E0ODhGMEEyMDAwQjA4MDJFMDAwQjgwMDJDRTA0N0IKKzoxMDlGQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQ4MDgxMDAyQzQwMjMKKzoxMDlGRDAwMDBCMTAwMjA0MDBCMTAwMjA0MjQ4MTQ0MjA1ODBBMTIwNjkKKzoxMDlGRTAwMDJDNDQwODEwODIwNDAwQjEyMDJDNDAwQjEwMDJDMjAxNDYKKzoxMDlGRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTUwMTk5MDAyRTQwMTcKKzoxMEEwMDAwMDBCOTAwMjI0NDBCQjAxMjI0MTA4OTAxMjI0MDBBOTAwQjkKKzoxMEEwMTAwMDJDNDAwODEwNDAyNDA4Qjk0MDZFNTAwQjkyMDJDNjA0MzAKKzoxMEEwMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTcxNEM5MDUzRTQxRDMKKzoxMEEwMzAwMDBGOTAwQjI0MDRGOTA4QjI0MDJDOTAwQTI0MDBFOTAwODgKKzoxMEEwNDAwMDNFNDAyQzkwMDMyNzAwRjk4MDNFNjAwRjkwMDNFODA0MDcKKzoxMEEwNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQ4OEY5MDAzRTQ4REMKKzoxMEEwNjAwMDBGOTkwM0U2MDBGOTAyM0M0MEFGMTAwM0U0MTJEOTA0NTMKKzoxMEEwNzAwMDNFNDAwRjkwMDNFNTAwRjlDMDNFNjQwRjkwODNDQTAwOTQKKzoxMEEwODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTEwMEM4MDAzRTAwOTEKKzoxMEEwOTAwMDBGODAwMzIxMDBDODQwQjIwMDBDODAwMzIwMTBDODAwQ0MKKzoxMEEwQTAwMDMyMDAwQzgwMDNFMDgwRjgwNDMyMDAyQzgwMEIwQTA0OUMKKzoxMEEwQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMENBMDAyRTgwQjMKKzoxMEEwQzAwMDBCRTgwQTM4MTA4RUMwMjI4MDBEQTAwMjI4MDAwQTA0NzYKKzoxMEEwRDAwMDAyODAyOEEwMDJGQjAwQkEwMDM3QjA0OEVBMDIwQTAwNUEKKzoxMEEwRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzMDEyQ0MwMzcKKzoxMEEwRjAwMDhCQjA0MjBDOTA5QjIwMjBDMDQ4MzA0MjJDMDA4MzAwNDMKKzoxMEExMDAwMDIwQzAwODMwMDJDRDQwQjMwMDI0QzgwODM4MDIwQTAwM0QKKzoxMEExMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMDg3MDAyREMwQzYKKzoxMEExMjAwMDBCMjQwNjE2MDA5MzA4MjFDODA5MzEwMjBDODA4N0EwNzEKKzoxMEExMzAwMDIxQzAxODcyMDJEQzAwQjdCNDI0RTMwODc4MDIyODAwQkEKKzoxMEExNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMjk3QTAzREYwOUIKKzoxMEExNTAwMDBGNDgwMzNFMDBENjgwMzBFMDJDN0EwMjFFODJDM0YwMDYKKzoxMEExNjAwMDMzRUMwQzdDMDNENjAwRjc4MDM1RTAwQ0Q4MDMyQTAyRDAKKzoxMEExNzAwMDAwMDAwMDAwMDAwMDAwMDAwODE5QTVBMEZCMDAzRUNBNzYKKzoxMEExODAwMDBGODAwM0VDMDJFQTAwM0VDNjBGQjQwQkVENDBGQjAwNkIKKzoxMEExOTAwMEJFQzAwRkI2NDNFMDAwRkIwMjNFODAwRjkwMDNDMjA2MzQKKzoxMEExQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMkNGODgzRkUwRDQKKzoxMEExQjAwMDBDQjkwM0ZFMDBERDgxMzNFMDhDRkMwMzNGMDRDRjgwNEIKKzoxMEExQzAwMDMzRTI0RkZDMDMzRTAwQ0ZDMDMzNjQwQ0Y4MDNDMDAwMDEKKzoxMEExRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTQ0MDg3MDAyRkMxMEIKKzoxMEExRTAwMDBENjlBMkQwNDBCQzAwMjNDMDA4RjAwMjlDMDA4NzAwOEIKKzoxMEExRjAwMDIxQzAwQjcwMEEzQzA0ODcxMDIxNEMwODYwMDJFQTA0NUQKKzoxMEEyMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUUwMDg3MDAyREMwREMKKzoxMEEyMTAwMDA5NjIwMkQ4MDA5NzAwMjFDNDA4NzAwMjBDNDA5NzAwMjAKKzoxMEEyMjAwMDIxQzQwQjMwMDI1ODAwQTcwODIxODAwODYwODJDMDAwQkEKKzoxMEEyMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RTQyNTgzMDAyQ0MwNTIKKzoxMEEyNDAwMDA5MjIwMkNDMjBCMjAwMjBDMDI4QjAwMjhDMDA5MzAwNkEKKzoxMEEyNTAwMDIwQzAwQjMwNDI2QzIwODMwODIwRTIwOEI4MDJDODA0RkEKKzoxMEEyNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTQwMENGMDAzRkMwOEYKKzoxMEEyNzAwMDBEOUMwM0U4MDBEQjgwMzNDMDBDRjAwQjNDMDZERjAwRDQKKzoxMEEyODAwMEIzQzAwQkYwMDc2ODAwRUY0MDMyQTgwQ0E4MDNFQTA0NDMKKzoxMEEyOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDAyRUMwMDkKKzoxMEEyQTAwMDBGOTQwM0M1NDBGQTMwM0VDMDBGQjAwMzZDMDBFQjAwQzIKKzoxMEEyQjAwMDNFQzAwRjMwMTNBRDQwRkIwMjNFRDAwRkI0MDNFMDAwQjAKKzoxMEEyQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRTQwMEM3MDAzMUMxQjAKKzoxMEEyRDAwMDhDRDAwMzM0MDBDRDAwM0RDMDBDRjAwMTdDMDBEQjAxQ0MKKzoxMEEyRTAwMDNEQzA0Q0YwMEIzMDAyQzMwMDMyMDAwRkQwMDMwMDQ0REQKKzoxMEEyRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkU0MDhCMDAyQUMwODYKKzoxMEEzMDAwMDI4ODQ0MjIyODA4ODgwM0FDMDBEQjAwMkFDMDg4QjAwQkQKKzoxMEEzMTAwMDJFQzAwOEIwMDIyMzIwOEIwMDIyMzA4QjhDMDIyMDQwRkMKKzoxMEEzMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjQwMDhCMDAyMkMwMDcKKzoxMEEzMzAwMDA4Mzg4NjJBMDA4OTgwMkFDMDA4QjAwMkNDMDA5QjAwMTkKKzoxMEEzNDAwMDJFQzAwOEIwNDIyNjAwOEIwMDIyNzEwQjhDMDIyMDAwMjgKKzoxMEEzNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDAyOEMwM0EKKzoxMEEzNjAwMDA4MzI0MjAwMDA4MTAwMjhDMDA5MzA1MjhDMDg4MzAwNjYKKzoxMEEzNzAwMDJDQzAxODMwMDYwMDAwODMwMEEwMDAwQjAwMDIwMjAxNzAKKzoxMEEzODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENzQwMjhCMDAzM0MwQ0MKKzoxMEEzOTAwMDBDOTIwQjIwMDJDODAwM0JDMDBDRjUwM0ZDMDBERjAxNEYKKzoxMEEzQTAwMDNGQzEwNEYwMzMyMTQwQ0YwMDMyMDAwRjgwMEIwMDAzODcKKzoxMEEzQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEZGMDAzRkMwOUEKKzoxMEEzQzAwMDBGQzQwM0YwMDA5QzAwM0JDMDBGRjAwM0ZDMDBGRjAwMzMKKzoxMEEzRDAwMDJGQzAwRkYwMDNGMDgwRkYwMDNGMDAwRkMwMDNFODA2MUUKKzoxMEEzRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDMEZGQTAzMTI0OTQKKzoxMEEzRjAwMDBFRjA2MzEwMDRFRjY0M0ZDMDRDRjMwMzFDODBERjA4RDEKKzoxMEE0MDAwMDM3QzAwRkYwMDNGMEEwRkMwMDMxMDgyQ0QyMDNGMDAwOUQKKzoxMEE0MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTEwMEJCQzEyMjQ4NzUKKzoxMEE0MjAwMDA4RkQwMjJFMDA5NzAwMkZDMjQ4NzEyMzdFNDBCRjAwMTYKKzoxMEE0MzAwMDIxQzU0QkY1MDJFRjAwQkI0MDM2RTAwOEE4MDJFMDA0NUUKKzoxMEE0NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzU4NEIzMTFBMkM5RDcKKzoxMEE0NTAwMDBBMzAwMjAwMDFCMzMwMjhDNDA4MzI0MjBDMDBBMzA4QkQKKzoxMEE0NjAwMEEwQ0EwQTMyODI4MDEwQjA0MTI0MTEwODMxMDJFMjAxRjAKKzoxMEE0NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTUwMEJCMDAyMkUxMzQKKzoxMEE0ODAwMDI4QjAwMjJDODA5QjAwMkVDMDA4QjAwMjZDMDBCMzAwRTQKKzoxMEE0OTAwMDIyQzAwQkIwMDBFQzIwQkIwMDI2QzAwODgwMDJGMDA0RjQKKzoxMEE0QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTM0MEY3MDQzMkMwRTcKKzoxMEE0QjAwMDRFQjAyMzJFMjBFQjAwMUVDMDBDQjAwMTJDMDBGQjAwODAKKzoxMEE0QzAwMDM2QzAxRkIwMDNFMTQwRkIwMDM2OTgwQzkwMDNEMDA0NjcKKzoxMEE0RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjYwNEZGMDIzRkMwNzEKKzoxMEE0RTAwMDBGRjAwM0ZFMDBFRjAyM0RDMDBGRjAyM0ZDMDBGRjAwNjEKKzoxMEE0RjAwMDNGQzA0RkYwMDNGQzAwRjQwMDNCNDAwRkEwMTNGODAwRjYKKzoxMEE1MDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUEyMEVCMTAzNkMwRTAKKzoxMEE1MTAwMDBEQjAwN0VDMjBEQjAwMzJDMDBDQjAwMjZDMjBFQjAwNjkKKzoxMEE1MjAwMDNFQzEwREIwMDNFMDIwREJBMDMyOTA0Q0IwMEIxMDA0MTQKKzoxMEE1MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkQwMDhGODAyMEMxMTEKKzoxMEE1NDAwMDA4NzAxMkNGMDA4RjAwQTNDMDBERjAwMjNDMDA4RjAwRjYKKzoxMEE1NTAwMDM3QzA4OEYwMDJFQzAwODgwMDIwNDAwODgwMDIzMjAwRkEKKzoxMEE1NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEEzODAyNDgxQjIKKzoxMEE1NzAwMDA5MzAwNkNDNDA5MzAwMjhDMTA4QjAwMkNGNDBBMzAwQTgKKzoxMEE1ODAwMDJDQzAwOTMwMDJDRDAwOTA0MDYwNDAyODEwMDIzODAwRjUKKzoxMEE1OTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMEUwMDg3ODAyM0UwMzIKKzoxMEE1QTAwMDQ4NzkwMkRFNDE5NzgwMjlFMDE5NzgwNjlFMDA4NzgwNkQKKzoxMEE1QjAwMDI1RTAwODc4MDJEMjAzODM4MDIxQTAwODY4MDIwODAwMDEKKzoxMEE1QzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEEzMDAzNEMwNTgKKzoxMEE1RDAwMDBEMzA0MkNDMDFEMzEwM0FDNTBDMzkwM0NDMDBFMzA0NTIKKzoxMEE1RTAwMDNDQzQwRDMwMDNDRTAwRDAwMDMwNDAwQzMwMDMxMjAyQ0EKKzoxMEE1RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEY3MDAzRkMwNEMKKzoxMEE2MDAwMDFGRjA1M0ZDMDBFRjA4MzdEMTBGRjA4MzdDMDBGNzQwQjgKKzoxMEE2MTAwMDNGQzEwRkYxMDNEMDAwRkYwMEJGODQwRkM4MDNEMDA2NzUKKzoxMEE2MjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTAwMEZCMDAzRUUwMjQKKzoxMEE2MzAwMDJDQkU4M0VDMDBFQjQwM0VDMDBGQjQwM0VEMjBGQjEwQkEKKzoxMEE2NDAwMEI2RDIwRkI0ODNFQzAwREI4MDM2QzEwQzkwMjEyQTAwMTcKKzoxMEE2NTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMEI3MDAyRkMwRjcKKzoxMEE2NjAwMDA4MzYwMjBDMDg4NzMwMkREOThCNzI4NkREMDBCMzIwQTYKKzoxMEE2NzAwMDIxQzgwQjc0MDJEMDAyODQwMEEwMDAyODIwMDIxMjA0MUEKKzoxMEE2ODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEwMEI3ODAyREUwQ0MKKzoxMEE2OTAwMDA4N0EwMjlEMDBBN0EwMkRFMDBCNzgwMjlFODBBNzgwN0IKKzoxMEE2QTAwMDIxRTQwODdBMjY5RTE4ODMwNDIxRTAwODc4MEE3MDAwQzUKKzoxMEE2QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzMDAyQ0UwOTMKKzoxMEE2QzAwMDU4MzAxMjBFODI4MzAwMkNDMDBCMzAwMkNDMDFCMzAwMzQKKzoxMEE2RDAwMDIwQzEwQjMwMDJDMDA4ODhEMjIwMjAwODAwMDI1MjA0OUEKKzoxMEE2RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg2MEZBMDAzRjgyNkEKKzoxMEE2RjAwMDBDQTAwM0ZBMDBBQTAwMUU4MDhGQTAwM0U4MDBGMjAwNUQKKzoxMEE3MDAwMDMyODAxRkEwMDNFODAwREEwMDM2ODhBQ0UwMDM3QTA0NDgKKzoxMEE3MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTEwMEY4MDAzRTIwNUEKKzoxMEE3MjAwMDRGODAwM0UxMDBGMDAwM0MwMDBCODAwM0UwMDBGODAyRTIKKzoxMEE3MzAwMDNBMDAwRjgwNDNGMTAwRkMwQTNEMDAwRkMwMDM5MjAwNzUKKzoxMEE3NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTYwMEM5OTAzRTQwMDQKKzoxMEE3NTAwMDBGOTIwM0U0MDBEOTAwMzI0MDA0OTAwN0U3MDBGOTEwOUIKKzoxMEE3NjAwMDMwNDAwQzkwNDNFNDA5RDk4MDIyNDAyQzEwMEIwMjA0QTUKKzoxMEE3NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQ2MDg5QzAyRTQwQUEKKzoxMEE3ODAwMDBCOTgyNkM1ODA4OTAwMjI0MDI4OTAxMkU3MTBCOTAwNTYKKzoxMEE3OTAwMDM2NDAyODkwMTJDNTgzQzk4MEI2NDAwODkwMDIyMDAwMzgKKzoxMEE3QTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MDQwMDg5NDAyRTQxNDAKKzoxMEE3QjAwMDRCOTAwMkU0MDA5OTAwQTI0MDBBOTAwMkU1MDBCOTAwMjMKKzoxMEE3QzAwMEUyNDEwODkwNDJFNDAwOUQ1MEFCNEEwOEQwMjYwNjAwQzIKKzoxMEE3RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MjgxMjAyQzUwOEEKKzoxMEE3RTAwMDBCMTAwMkU0MDA4MTQwMjA1MDRBMTQzMkM0MDBCMTQwRjIKKzoxMEE3RjAwMDI0NTExODE0MTJENDAwODU0MDJENDAwODUwMDYwMjAxM0YKKzoxMEE4MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEM4MDAzRTAwREMKKzoxMEE4MTAwMDBGODAwMkUwMDBEODAwMzIwMDBBODAwMkUwMTBGODAwNDkKKzoxMEE4MjAwMDMyMDAwNDgwMDNFMDAwRDgwMDNBMDAwQ0MwMDMyRTAzN0QKKzoxMEE4MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY5MTAzRjQxNTYKKzoxMEE4NDAwMDBGOTQwM0Y1MDBGOTQwM0U1MDBEOTQwM0U1MTBGOTQwRDQKKzoxMEE4NTAwMDNFNTA0Rjk0MDNDNTAwRTk0MTM2NTAwRjk0MDNFNjA2N0QKKzoxMEE4NjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYwMEZEQTgzQTQwNDYKKzoxMEE4NzAwMDBDRDgyMzM2MDBFOUEwM0U3ODBGOUUwM0I2ODBDREUyQzcKKzoxMEE4ODAwMDMyNjgwQzlCMDMzNjgyNERBMDM3Njg4Qzk4MDMwNjAwMTMKKzoxMEE4OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRUJBMEI4NDAyMDIwM0QKKzoxMEE4QTAwMDA4ODUwMjIxNTE4OEMwMkUyOTBCOEUwMkUxMDBEOEUwRDQKKzoxMEE4QjAwMDIyMzIwRDhEMjM2MTQ4OThENEEyMTAyODg0MDIwRTA0MDAKKzoxMEE4QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzUwMEIzMDAyQTRBNUYKKzoxMEE4RDAwMDI4MTA0RUE0MDhBMTY4Mjg0NDBCMTQwMkM1MDA4MTQwMkEKKzoxMEE4RTAwMEEwNTAwODEwMDIwNDAyOTEyQTIwNDQyODE0NEEwMjAxQjAKKzoxMEE4RjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QUM4MEI5MDAyMjQwNzQKKzoxMEE5MDAwMDQ4OTAwNkE0MDBBOTAwMkU0MDBCOTAyMkU0MDA5OTAwNzQKKzoxMEE5MTAwMDIyNDAwOTEwMDI2NDAyOTkwMDIyNDAwODkwMDIwNjA0QjUKKzoxMEE5MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MDAzODU4QTUKKzoxMEE5MzAwMDBDOTA1Mzg0MTRBOTA0M0U0MDBGOTAwM0U0MDBDOTAwMTYKKzoxMEE5NDAwMDMyNDAwQzkwMDMyNDA0RDkwMEI2NDA0QzkwMEIyODA0RUMKKzoxMEE5NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDIzRTQ5MzgKKzoxMEE5NjAwMDBGMTA0MzY0MDBEOTAwM0U0MDBGOTAwM0M0MDBGMTAyNzEKKzoxMEE5NzAwMDNFNDAwRjkwMDNDNDAyRTkwNDNDNDAwRjFDMDNDQTAwOTAKKzoxMEE5ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTE4MEM4MjAzRTAwRTgKKzoxMEE5OTAwMDhDODAwQjIwMDBFODAyM0UwMDBGODAwM0EwODJDODAwREMKKzoxMEE5QTAwMDZDMDAwRjgwMDMyMDEwQzgwMDMyMDIwQzgwMDMwQTA0RTAKKzoxMEE5QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMDg2MDAyRTgwREUKKzoxMEE5QzAwMDY4QTg4MDNBMDA4QTAwMkU4MDBCQTAwMkY4MDA4QTAwNTYKKzoxMEE5RDAwMDJFODAwQkEwMEEzQTAwOEUxMDIzODAwOEEwMDMwQTAwRTQKKzoxMEE5RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEQwMDgzMDAyQ0MwM0UKKzoxMEE5RjAwMDA4MzgwMDBDNjAyMzAwMkNDMDBCMzAwMkNDNDA4MzAwRDAKKzoxMEFBMDAwMDJDQzAwQjMwMDIwQzAyOEE4MEEwRTAyODMwMEE0QTAwRDkKKzoxMEFBMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTYyMDg3MDIyREMxOTgKKzoxMEFBMjAwMDQ4NzAxMjdDMDBBNzIwMkRDOTBCNzIwMERDMDA4NzA4M0IKKzoxMEFBMzAwMDJEQzQxQjMyMDIxRDAxODc0MjIxQzIwODcwMDIyODAwNkEKKzoxMEFBNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UwMkM3ODAzREVDNjYKKzoxMEFBNTAwMDBDNTgwMzFFMDBFNzgwM0RFQzBGN0YwMzk2MDBDNzgwNzMKKzoxMEFBNjAwMDJERTIwNzc5MDMwQTA2QzM4MDMwMjA4QzM4MDM2QTAyN0UKKzoxMEFBNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEZCMDAzRUMwMEMKKzoxMEFBODAwMDBGMTA0MzhDMDBEQjM4M0VEODBGQjAwM0NDMDRGQjQ0REUKKzoxMEFBOTAwMDNFQzA4RkI2MTNFQzAyRkYwMjNFMDAwRkIwMDNDMjA2QTkKKzoxMEFBQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMEZGODAzMUUzQjQKKzoxMEFBQjAwMDBFRjgyM0ZFMDJERjgwQjdFMjBFRjgwMzdFMDA2REQwQjEKKzoxMEFBQzAwMDMzRTAwQ0Y4OUI3NkMwREY4NEIzRTAwNEY4MDNDMDAwRTkKKzoxMEFBRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTA0MEI3MDIyMUM0REYKKzoxMEFBRTAwMDA4N0I0MkRDMDA4NzAwMjFDNDBCMzAwMDEwODA4RDAwMDEKKzoxMEFBRjAwMDIzQzAwREYyMDIwNDQyOEYwMDI5QzgyODcwMDJFQTA0MjQKKzoxMEFCMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTQwMEI2MDAyM0MwQjgKKzoxMEFCMTAwMDBBNzIwMjhDMDA4NzAwMjFDMDBBMzAwMjA0MDFBNzAyRDkKKzoxMEFCMjAwMDIxQzAwODcwNDIwMDhBODcwMDIxQzAyODcwMDJDMDAwM0UKKzoxMEFCMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzUwMEIwMDBBMEQwREMKKzoxMEFCNDAwMDA4QjAwMkM5NDI4QjAwMjBDMDBCMzAyMjA0MDA4MzAwRjEKKzoxMEFCNTAwMEEwQzA0OTMwMDI0NTQwOTNDMEE4RDQwMDM1MDJDODA0QzMKKzoxMEFCNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEJCMDAzMUMwQTAKKzoxMEFCNzAwMDBFQjAyM0NEMDBERjAwMzdDMDBFRjAwMTY4MDBFMzAwMDcKKzoxMEFCODAwMDMzQzAxQ0YwMDM0NTAwREFDODkyRDQyQ0I0MDNFQTA0QTUKKzoxMEFCOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTUyMEZCMDAzRUMwRDcKKzoxMEFCQTAwMDBGQjAwM0VDMDBGQjAwM0VDMDRGQjAwM0FEMDBGQjAwNTQKKzoxMEFCQjAwMDdFQzAxRjMwMDNBNDgwRTkyMDNDQzAwRjMyMDNFMDAwQjgKKzoxMEFCQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMEM3MDAzM0MyQUMKKzoxMEFCRDAwMDJDRjAwMzNFMjBEQjAwMTNDMDBDNzAwMzNDODBFRjA0MUMKKzoxMEFCRTAwMDczQzEwRkYwMjIzMDAwQzYwMEIyQzAwQ0YwMDMwMDQ0NjUKKzoxMEFCRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNjkwMDhCNDRBMkMxMDkKKzoxMEFDMDAwMDg4QjAwMzZDMDA4QjAwMjJDMDI4QjAwQTJEMDBCQjAwNjYKKzoxMEFDMTAwMDYyQzAwQkIwMDIyNjAyOEI4MDIyQzAwOEIwMDMyMDQwMjUKKzoxMEFDMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjgwMThBMDgyMkMwRjIKKzoxMEFDMzAwMDA4QjIwMjZDNDA5QjAwMjhDMDQ4QjAxNjI5MDRCOTAxMzQKKzoxMEFDNDAwMDIyQzA0OUIwMDZBRTA5OEI4MDIyRTA0OEIwMDIyMDAwNDUKKzoxMEFDNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMjgyMDAyMkMwNDIKKzoxMEFDNjAwMDg4QjAwMjQ0MDA4MzAwMjhDMDA4MzAwMjA4MDBCMTAwMDgKKzoxMEFDNzAwMDIwQzAwQjMwMDI4QzAwODM4MDIwRTAwODMwMEEwMjAxRTMKKzoxMEFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjQwMENBMDAzM0MwOTYKKzoxMEFDOTAwMDBDQjIwMzJDMDBERjAwM0JDMDRDRjUxMzJDMDRFRjAwN0EKKzoxMEFDQTAwMEEzQzAwREYwMDNBODQwQ0IwMEIyMDAyQ0IwMDMwMDAzRkEKKzoxMEFDQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjAwMEY0MDAzRkMwQTQKKzoxMEFDQzAwMDBGQjEwM0YwMDBGRjAwMzdDMDBGRjAwM0ZDMDBGRjAwREUKKzoxMEFDRDAwMDNGQzAwN0YwMEI3QzA4RkYwMTNGMDAwRkYwMDNBODA2MDAKKzoxMEFDRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDNUVEMzMzQkNDNTMKKzoxMEFDRjAwMDBDRjAwMzMwNDBGRjI1M0ZDQzBDRjM4MzNDRDBERjQ4MDEKKzoxMEFEMDAwMDM3MzA0Q0YzMDNGRDgwQ0YyODMzRDgwQ0YxMDMzMDAwRUIKKzoxMEFEMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUNEMEJCMzEyMENDOUYKKzoxMEFEMjAwMDg4RjM0MjIwNTBCRjkwMkZDNDBBRjYwMjdEQzA4RjQwQTYKKzoxMEFEMzAwMDI2NDA4RkY2MDJGRDAwRkYwODM5QzgwOEY2MDJBMDA0N0QKKzoxMEFENDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQ4MEExMjAyOEM5NTAKKzoxMEFENTAwMDA4MzA5QTAwMDlCMzAwMkNDMDIwMzAwMjRDOTA4MzIwQTgKKzoxMEFENjAwMDAyMDgwQjMzMTJDRDgwOTMyMDI0RDgwODM0MjIyMjAxMEMKKzoxMEFENzAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQUUwMEJCMTAyMkMwMzcKKzoxMEFEODAwMDA4QjAwMjI2MDEzQjAxNkVDMDA4QjAwMjRDMDg4QjAwREYKKzoxMEFEOTAwMEEyODkwQkIwMDJFQzAwQUIwMDZBQzEyOEIwMDJCMDA0N0IKKzoxMEFEQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1NkUwMEU4QzEzQUMwREQKKzoxMEFEQjAwMDJDQjA0MzI2MDBGQjA2M0VDMTBDQjAwQjJDMDJDQjAwOEUKKzoxMEFEQzAwMDM0MjI5RkIwNDNFQzAwOUIwMjM2QzE4Q0IwMDMxMDA0QzgKKzoxMEFERDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEZDODAzREQwREQKKzoxMEFERTAwMDJGRjAwM0ZDMDBGQjAwM0RDMDA3MzAwM0JDMDBFRjA0NjQKKzoxMEFERjAwMDNGRTA1RUIwMDFGQzAwRkYwMDFCQzAwRkYwMDNGODAwNTUKKzoxMEFFMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMENCMDEzRUM5MTMKKzoxMEFFMTAwMDBDQjAxNzIwODRFQjAwQjJDMTBEQjAwMzZDMDBDMzAwNkUKKzoxMEFFMjAwMDMyNTAwRkIwMDMwQzQwQzMwMDdFQzAwQzMwMDMxMDA0M0UKKzoxMEFFMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMDhBNTgyRUUwMDkKKzoxMEFFNDAwMDQ4RjAwMjJEMDBFRjAxMjNDMDA4RjAyMjNDMDQ4RjYwN0YKKzoxMEFFNTAwMDM2NTQwQkYwMEEzRDQwOEYwMDJGQzAwOEYwMDM3MjAwRkIKKzoxMEFFNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDAwMDg5ODAyQzEwMzgKKzoxMEFFNzAwMDA4QjAwMjQ5MDBBM0EwMjRDMDA5MzAwMjRDMDA4M0M5RDUKKzoxMEFFODAwMDIwOTA0MjMwMTI0RDAwODMwMDZBQzAwOTMwMDIzODAwMjEKKzoxMEFFOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMDg1ODA2RDYyNTcKKzoxMEFFQTAwMDA4N0UwMjU2NDAyNzgwMjVFMDE5NzgwNjBFMDA4MzgwMzAKKzoxMEFFQjAwMDYxQTAwQjc4MDI0RTAwODc4MjZERTAwOTc5MDI0ODAwOUMKKzoxMEFFQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MkMwMkMzNjEzQzg4REMKKzoxMEFFRDAwMDJDQkExMjQ5MTBFMzJDMzZDMDBEMzA1MzRDNDRDMzAwMzkKKzoxMEFFRTAwMDIwMDEwRjMxMDM0QzAwQzMwMTNDQzAyREIxMDMxMjAyRkQKKzoxMEFFRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEZGMDAzRjAwRkIKKzoxMEFGMDAwMDRGRjEwOUIwMDBGRjAwM0JDMDBFRjQwMUZEMjRGRjQwRUIKKzoxMEFGMTAwMEJGQzAwN0YwMDNCQzAwNkYxMDNGQzQxRUYxODNEMDA2MTIKKzoxMEFGMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1QzQwMEU4MDQzMjAwMzIKKzoxMEFGMzAwMDBDQjYwM0U4MDJDQjAwMzZDQTBGQjUwM0FEMDBGQjIwMDgKKzoxMEFGNDAwMDNFNDAwRkIzMDNFQzgwRkJBODMyQzY4Q0I2MDMyQTAwNDgKKzoxMEFGNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMkU2MDAyMDAwOEMKKzoxMEFGNjAwMDA4NzMwMkRDMDA4NzcwMkREMDBCRjAwMjFDODRCNzIwMjAKKzoxMEFGNzAwMDJEQzAwQjcwODJERDI0Qjc0MDM0QzkyODcyODI5MjA0NDAKKzoxMEFGODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwQkUwMkFDODBBMTIwRjQKKzoxMEFGOTAwMDA4NzkwMENFMDQ4NzgwNjVFMDBCN0EwMjlFMDBCNzkwQTYKKzoxMEFGQTAwMDZEQTAwQjc4MDJERTAwQjc4MDIxRTAwODc4MDIzMDAwNDcKKzoxMEFGQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUQ4MkFCRTAyMEU0MTcKKzoxMEFGQzAwMDA4MzAwMkVFMDQ4MzAwMkNDMTFCMzAwMjBDMDhCMzAwRDEKKzoxMEFGRDAwMDY0RjYwQkIwMDJDQzA0QjMwMDI2QzAwODMwMDI5MjA0MjEKKzoxMEFGRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkI4MEVFNDkzMUEwRjEKKzoxMEFGRjAwMDJDQTAwM0ZBMDBDQTAyMzY4MDBGQTAwM0E4MDBGQTAyQjAKKzoxMEIwMDAwMDNGOTAwRkEwNjNFODAwRkEwMDMyODAwQ0EwMjMzQTA0QkUKKzoxMEIwMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwQUU4MDAzRTA4NzAKKzoxMEIwMjAwMDBGODAwM0UzNTBGMDAwM0UwMDBGODAxM0UwMDBGODAwQjMKKzoxMEIwMzAwMDNFMDAwRjgwMDNFMDAxRjgwMTdFMDAwRjgwMDNEMjAwODQKKzoxMEIwNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQ0MEM5QTEzMjQwQjgKKzoxMEIwNTAwMDIwMTEwMUE2NDBDOTg0MzY0MDBEOTAwMzQ0MDA0MTAwRjAKKzoxMEIwNjAwMDMyNDAwRjkwMEIyNDAwRjkwMDNFNDA0QzEwMDMwMjA0QzQKKzoxMEIwNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5ODJBMjQwQ0IKKzoxMEIwODAwMDA4OUMwMjI1MDA4OUM4MjI0MDA4OTA0MjI0MDA4OTIwOUIKKzoxMEIwOTAwMDIyNjAwQjkwMDIyNDEwQjkwMDJFNDAwODkwMDM2MDAwM0IKKzoxMEIwQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDg5MDQyMkNBRDYKKzoxMEIwQjAwMDBBOTAwQTI1MDI4OTIwMjA0MDI4MTAwMjY0MDFBOTAwNzQKKzoxMEIwQzAwMDIyNEIwQjkwMDIyNDAxQjkwMDJFNDEyODkwMDIwNjAwNjkKKzoxMEIwRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MDgxQTAyMDQ4MDcKKzoxMEIwRTAwMDBBMzIwMjA0ODA4MTAwMjA0NDA4MTEwMjA0RDBBMTIwMDkKKzoxMEIwRjAwMDIwNDAwQjExMDIwNjAwQjEzMTJDNDgwODE0MDI0MjAxMTUKKzoxMEIxMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MkM4NTQzMjE0NzUKKzoxMEIxMTAwMDBFODUwMzIxNDRDODI4QjIxQTRDODY5MzYxMTRFODUwNjYKKzoxMEIxMjAwMDIyMTQwRjg2ODMyMTQwRjA0MDFFMTQwQzAwMDMyRTAzQ0UKKzoxMEIxMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFENzQ0NEY1MTAzRjQ0Q0EKKzoxMEIxNDAwMDBEOTEwMzc0NDBGOTAwM0U0ODBCOTIwM0U0QzJEOTEwRkMKKzoxMEIxNTAwMEJGNDAwRjkyMDNFNTA0RjkzMDNFNDQwRjk0NDNFNjA2RTYKKzoxMEIxNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYyMkNEQTEzMzYxMzgKKzoxMEIxNzAwMDBDRDhEMzM0MTBDREE4M0U2MDhFOUM5M0E3MDhDRDgwMDgKKzoxMEIxODAwMDMzNDAwRTlBRDMzNkEwQzk4MDMyNjAwQzk5MDMwNjAwNzIKKzoxMEIxOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTM4ODhBQTAyMDI4MUEKKzoxMEIxQTAwMDA4ODAyMjIwMTI4ODQwMkMyODA4OEEwMjIyMDA4ODAwNjkKKzoxMEIxQjAwMDIyMDAwQjhDMDMyMTAwODhEMEEyM0UyODhEMDIwRTA0QjEKKzoxMEIxQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1Q0UyMEExNDgyMDUyRjkKKzoxMEIxRDAwMDI5MTAwMjI0MDM4MTAwMkM1MjBBMTAxMjg1MTA5MTQwN0MKKzoxMEIxRTAwMEE0NDAwQTEyODI0NDAwOTEyODI0NDAyODEyMDIwMjAxM0QKKzoxMEIxRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMEE5MTQyMjQwRUYKKzoxMEIyMDAwMDA5OTAwMkE0MDE4OTA0MkM0MDA4OTAwMjI0MDA5OTAwQUUKKzoxMEIyMTAwMDIyNDQ0QjEwNDIyNDE0OTkwMDI2NDAwODEwMDIwNjA0RDAKKzoxMEIyMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQ0MEU5NDBCMjc4OTIKKzoxMEIyMzAwMDBEOTAwQjI0MjJDOTAzM0U0MTBFOTAwM0E0MDJEOTAwQjUKKzoxMEIyNDAwMDE2NTgwNjkwMEI2NDAyRDkwMDM2NDAwQzkwMEIyODA0NjcKKzoxMEIyNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQwMEQ5ODAzRTRBRjAKKzoxMEIyNjAwMDBFOTAwMzY0MjBGOTA4M0U0MTBGOTAwM0U0MDBFMTA4Q0EKKzoxMEIyNzAwMDNFNDAwRjkwMDNDNDAwRTEwMDM4NDAwRjkwMDNDQTAwMjUKKzoxMEIyODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwOUYwNDBCMDEwOEQKKzoxMEIyOTAwMDRDMDAwQjIwMDBGODAwM0EwMDFDMDAwM0UwMDBDODAwM0UKKzoxMEIyQTAwMDM2MDAwQzgwMDMyMDAwQzgwMDMyMDAwRjgwMDMwQTA0MUYKKzoxMEIyQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDNFODgyM0EyOEUKKzoxMEIyQzAwMDQ4RTAwMDE5ODBCRTg4MkU4MDBEQTA0MkU4MDA4RTAwNjQKKzoxMEIyRDAwMDIzOTAwOEEwMEEzQTAwREEwMDM2ODAwQkEwMEEwQTAwODAKKzoxMEIyRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzODAyMEUwNzIKKzoxMEIyRjAwMDI4MzBDMjBGMTBCMzQwMjhDMDBCMzAwMkVDMTE4MzQwM0QKKzoxMEIzMDAwMDI4RDIwQTMwMDIwQ0MwODMwMDIwQzAwQjMwMDIwQTAwOTEKKzoxMEIzMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMEI2MDAyMUMwODkKKzoxMEIzMjAwMDA4MjBDMjFDMTBCNTAwMkRDODBBNzIwMkRDNDA4NTA4MzYKKzoxMEIzMzAwMDI5QTIxQTcyMjIwQzAwOTMzMDA1QzQwQjMyMjIyODAwNzUKKzoxMEIzNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MTYwMEIyODAzMTIwNzQKKzoxMEIzNTAwMDBDNTgwMzFFMDBGNzgwMzlGODBCN0MyMkNFNDBDRjgwQkEKKzoxMEIzNjAwMDlCNjAyRTNCMDMxQTAwQzdBODExRTAwRjc4MDMyQTAyNDYKKzoxMEIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTQwMEZBMDAzRUMwMEMKKzoxMEIzODAwMDBGOTAyM0U4MDBGQjAwM0VEMDJEQjYwM0VEMDJGOTAwM0MKKzoxMEIzOTAwMDMyNDAwREIwMDdFQzAwRkI2MDNFQzgwRkI1MDNDMjA2OUIKKzoxMEIzQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGODAzM0EwRTgKKzoxMEIzQjAwMDBDRjgwQjMyNDBDRTgxMzdGMDBDQkMwM0ZFMDBGRjg0NEEKKzoxMEIzQzAwMDMzRTAyQ0Y4ODNFNjAyQ0Y4NTMzRjAwQ0ZDMDMwMDE0NDUKKzoxMEIzRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJFMDAzNUM2RUYKKzoxMEIzRTAwMDI4MzAwMjMwNDA4NzAwMjNDMDA4N0EwMkRDMDBCRTAwMEIKKzoxMEIzRjAwMDIzQzAwODcwMTJGRTAwODcwMDIxQzAwOEYwMDIyQTA0NTIKKzoxMEI0MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTUyMEI2MDAyMDgwRDEKKzoxMEI0MTAwMDA4MzEwMjVDMDE4NzAwMjVDMDA4NzIwMkRDMDBCNjAwMUEKKzoxMEI0MjAwMDIxRDAwOTcwMDJENDA4OTMwMDIwQzAwODcwMDIwMDAwRTcKKzoxMEI0MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzQwMEIwRTAyNDYwRTAKKzoxMEI0NDAwMDA4MjAwNjQ4MDE4MDAwMjBDMDA4MzAwMkNDMDRCMzAwNjgKKzoxMEI0NTAwMDIwODQwQjMwMDJFODAwOUIwMDIwQzAwODMwMDIwODA0NjIKKzoxMEI0NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEI5RTAzMjgwRjgKKzoxMEI0NzAwMDZDQjAyMzZGMDBDMzAwMzdDMTNDRjAwM0ZDMDBGQTAwM0UKKzoxMEI0ODAwMEIwQzAwOUYwMDNFQzEwREYwMDczQzAwQ0YwMEIyQTAwMTEKKzoxMEI0OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMxMEY4MDAzRTQyNTgKKzoxMEI0QTAwMDBGMjQwM0E4NjBGODAwM0NDMTBGQjAwM0VDMDBGOTQwODIKKzoxMEI0QjAwMDNFODAwNEIwMjNFMTAwRUIwMDNFQzAwRkIwMDNFMDAwOEIKKzoxMEI0QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjQwMEVFMDAzRDMwRUMKKzoxMEI0RDAwMDBDQzAwMzE0MDBDQ0EwQjNDMDRDNzAwMzVDMTBERjAwQTAKKzoxMEI0RTAwMDNGMDAwQ0YwMDNGODAwQ0YwMDIzQzAwQ0YwMDMwMDQwMzUKKzoxMEI0RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjQwMEJBODEyRTU4NzIKKzoxMEI1MDAwMDA4ODgwMjI3ODA4OTIwMjJDMDI4QjAwMjJDMDA4ODgzNjYKKzoxMEI1MTAwMDJFMjAwNUIwNjJFMzAwOEIwMDJBQzAwOEIwMDM2MDQwMTMKKzoxMEI1MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjYwMEI5ODEyRTQwQjgKKzoxMEI1MzAwMDA4OEMwNjI2MDA4ODAwMjJDMDA4QjAxNjZDMDA5ODg4ODcKKzoxMEI1NDAwMDJFMjAwOEIwMDRFMzAxMEIwMDI4QzAwODMwMDIyMDAwQzAKKzoxMEI1NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIwMDAyQ0MwRkYKKzoxMEI1NjAwMDI4MDAwRTAwMTA4MDAwMjBDMDA4MzIwMjBDMDA4MDA0NjkKKzoxMEI1NzAwMDJFMjAwOTMwMDJDNDEyODMwMDI4QzAwODMwMDI0MjAxODQKKzoxMEI1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEZBMDAzRTAwMEEKKzoxMEI1OTAwMDJDOTEwMzIwMDA4QTAwMzNDMDBDRjAwMzdDMDBEODAwRkIKKzoxMEI1QTAwMDJFNDAwQ0YwMDNFMDgwQ0YwMDNCQzAwQ0YwMDMwMDAzMDIKKzoxMEI1QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZDMDEzRjQwMDYKKzoxMEI1QzAwMDBGQzAxM0YwMDBGNDAwM0ZDMTBGRjQyM0ZDMDhGQzAwOEYKKzoxMEI1RDAwMDNGMDAwRkYwMDNGMDQwRkYwMDNGQzAwRkYwMDNFODA2MEMKKzoxMEI1RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMyMENEMTAzOUM4MkMKKzoxMEI1RjAwMDBEQzEwMzNDODBFRjkwMjNEODBGRjgwMEZFMDBDRjgwRjAKKzoxMEI2MDAwMDFGRDAwRkY5MDNGRjAwRTdDMDMzQzQwRkYwMDNCMDAwRjEKKzoxMEI2MTAwMDcwMDAwMDAwMDAwMDAwMDBDMDEwRkUwMjg5NDAyM0YwMEUKKzoxMEI2MjAwMDA4ODUxMDNDMDA4QjAwQTNEQzRCQjI4MkVDMjA4QjAwMjEKKzoxMEI2MzAwMDI2QzA0QkIwMDJFQzEwQjkwNDJBQzkwQkI1ODBGMDA0NDcKKzoxMEI2NDAwMDMwMDAwMDAwMDAwMDAwMDBDODA1Q0MwMDgxNjQyOEM0NjAKKzoxMEI2NTAwMDA5QjIwQTBDRjBBMzIwMjBDODBCMzIwMkVDMDI4MzA4QzYKKzoxMEI2NjAwMDJDQzgwOTMyMDJDQzgwQUJBMDIwQzgwQjMyMDBCMjAxM0EKKzoxMEI2NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMxMDg5MDAyMkMwNUUKKzoxMEI2ODAwMDA4QjIxMjJDMDIwQjAwMjJDMDBCQjgwMkVDMDA4QjAwOTcKKzoxMEI2OTAwMDI2QzA0QkIwNDZFQzAwQjkwMDBBQzAwQkIwMDJGMDA0NjMKKzoxMEI2QTAwMDYwMDAwMDAwMDAwMDAwMDBEMDE1RUMxMEM5RTAzQUMwQjYKKzoxMEI2QjAwMDBEMjgwMzJDMDBFQjEwMzJDMDBGODIwM0M0MDBDQjAwMTYKKzoxMEI2QzAwMDNFQzEwRkIwMDZFQzA4RTkwMEIyQzAwRkIwMTM5MDA0MDEKKzoxMEI2RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMEY1QTAzRkMwRTkKKzoxMEI2RTAwMDBGRTgwM0ZDMDhGRjAwM0ZDMDhGQzAwM0ZDMDBGRjAwMTEKKzoxMEI2RjAwMDM3QzAwRkYwMDNGQzAwRkYwNDNFQzAwRkYwMDNGODAwNUEKKzoxMEI3MDAwMDYwMDAwMDAwMDAwMDAwMDA1MDEwQUMwMEY5NDAzNEMwQTAKKzoxMEI3MTAwMDBEQjQwMzJDMDBEQjQwM0VDMDJDODAwMzY0MDhGQjEwRkEKKzoxMEI3MjAwMDNFQzY4RkIwMDNFQzAwRjk4MDMyQzAwQ0IwMEIxNDA0OUQKKzoxMEI3MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0UyMEU5QzgzN0Q0MDIKKzoxMEI3NDAwMDQ4QUEyMjFDMDA4QjAwNkZFMDA4ODU4MkVENDBCQjg0NzQKKzoxMEI3NTAwMDJGQzA0QkI4MDNBRDQwQjMwMDIzRDQwOEY3MDIzMjAwMkEKKzoxMEI3NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDAxNEMwMEIxNjRBNEMwRjMKKzoxMEI3NzAwMDA5MjAwQTBDMDRCODAwNkNDMDA4MzgwMkM4NDBCMzgwMjUKKzoxMEI3ODAwMDJDRDEwQjMwMDJDQzA0QjMwMDI4QzAwODMwMDIzQTAwQTAKKzoxMEI3OTAwMDUwMDAwMDAwMDAwMDAwMDBCMDAxMUUwMEE1ODAyNUUwNjAKKzoxMEI3QTAwMDg4M0ExMjFFMDBBNjkwMkRFMjA4NzkwMkRBMDBCNzgyQ0MKKzoxMEI3QjAwMDJERTAwMzc4ODI5RTAwQkNDMTI5RTAwODc4MDIyQzEwOUQKKzoxMEI3QzAwMDQwMDAwMDAwMDAwMDAwMDA0OTA4MEMwMEYzMDAzNEMwRjUKKzoxMEI3RDAwMDBEM0UwMzBDMDBGMDQwMkVDMDBDMzA0M0M4MDBGMzAwQjcKKzoxMEI3RTAwMDNDQzAwNzMwMDNDQzgwRjIwMDM4QzAwQzMwMDMxMjAyOUEKKzoxMEI3RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDE5QkQyMEY3MDAzRkMyMUIKKzoxMEI4MDAwMDBGRjEwQkRDMjBERTA0M0ZEMjA3RjAxM0Y4NDBGRjAwRkQKKzoxMEI4MTAwMDNGQzAwN0YwMDNGQzAwRkQwMDM3QzAwRjcwMDNEMDA2RTcKKzoxMEI4MjAwMDYwMDAwMDAwMDAwMDAwMDBBQTA1Q0YwMERDMDAzRUNBNTYKKzoxMEI4MzAwMDBGQTAwMEFDOTJDOTAwMzJDMDBGQjAxMUE0MDhGQjAwRTkKKzoxMEI4NDAwMDJFQzA0RkIwMjNFQzAwRjkwMDNFQzQwRkIwMDNFQTAwNTUKKzoxMEI4NTAwMDcwMDAwMDAwMDAwMDAwMDBDODkxOUMwMDg0MDAwMUMwM0UKKzoxMEI4NjAwMDRCNzAyMjFDQzA4NzAwMjFDMDRCNzAwMjFDMDBCNzAxMjYKKzoxMEI4NzAwMDI1RDgwQjcwMjJEQzAwQjYwMDJEQzAwQjcyMjJGMjA0MUEKKzoxMEI4ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOUU4MDk3ODBBOUUwMUEKKzoxMEI4OTAwMDBCRjgwMkNFMDg4NTgwMjlFODBCRkMwMjE3MDBCNzgwNjAKKzoxMEI4QTAwMDJERTA4Qjc4MDJERTAwQjRDMDJERTgwQjc5MDJFMDAwQjkKKzoxMEI4QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDhBMEMwNTUKKzoxMEI4QzAwMDhCM0MwMjRDMDA4MzAwQTBDMDFCM0MwQTBGMjlCMzAwMzQKKzoxMEI4RDAwMDI0QzAwQjMwMDJDQzAwQjM4MDJDQzAwQjMwMDJEMjA0NDkKKzoxMEI4RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMERFMDAzQTgwRUIKKzoxMEI4RjAwMDBGRUEwMkU4MDBDRTAwM0E4MDBGRTAwMzM4MDBGQTAwQjkKKzoxMEI5MDAwMDNFODAwRkEwMDNFODAwRkUwMDNFODAwQkEwMDNGQTA0NzcKKzoxMEI5MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDRCQTAxRTgKKzoxMEI5MjAwMDBGODIwQjgwMDRGODgwM0UwMDBGODYwMzYwMDBGODAwNTEKKzoxMEI5MzAwMDM2MDAwRjgwMjNFMTAwRjgwMDNFMDAwRjgwMDNEMjAwQTQKKzoxMEI5NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMUY5MDAzMjQwNUYKKzoxMEI5NTAwMDBGOTAwM0U0MDA0OTAwMzI0MDBCOTAwMzI0MDA0OTAwOUIKKzoxMEI5NjAwMDNDNDAwRDkwMDNFNDA4QzkwMDNFNjAwQzkwMDMwMjA0QzMKKzoxMEI5NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDBBMjY0QjAKKzoxMEI5ODAwMDBCMTgwMjI1MDBEMTUwMzY1MDRFOTAwQTI0MDI4OTQwRUYKKzoxMEI5OTAwMDNBNTEwODk0MDJFNTIyODk0NDJFNjAyODkwMEEyMDAwM0EKKzoxMEI5QTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEIxMDgyMjQwMkYKKzoxMEI5QjAwMDRCOTI4MkE1MDBBOTA4MjI1MDBBMTAwMjBDMDBBOTQwNEYKKzoxMEI5QzAwMDZFNTAwQjk0MDJDNDA0ODk0NDZDNDg4ODEwMDI0NjAwRUYKKzoxMEI5RDAwMDQwMDAwMDAwMDAwMDAwMDAwMDA0MDQwMEIxNDBFMDQwMEUKKzoxMEI5RTAwMDFCMTQwQTA0MDBCOTAwMjQ0MDFBMTAyMjA0MDBBMTAwMEMKKzoxMEI5RjAwMDI4NDAwQTEwMTJDNDAwODEwMjZDNDAwODEyMDI0MjAxNjEKKzoxMEJBMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwOEIwMDAzMjAwMjcKKzoxMEJBMTAwMDRGODAwMkExNTBFMDUwMzIxNDBFQTUyMzIxNDBFODUwN0YKKzoxMEJBMjAwMDNFMTQwRjg1MDNFMTQwQzg1MDFFMTQwQzg1NDM2RTAzN0QKKzoxMEJBMzAwMDUwMDAwMDAwMDAwMDAwMDBEODE5RTUwMEZENDAzRTUwMTUKKzoxMEJBNDAwMDBGNzQwM0E1MDA1RDAwM0U1MDBBNTAxM0Y0MDBEOTAwQTYKKzoxMEJBNTAwMDNBNTAwRDkwMTNFNDAwRkYwMDNFNTAwRjkxMDNBNjA2RUMKKzoxMEJBNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjY5MEJERTgyMzZCOTAKKzoxMEJBNzAwMDBCREEwQjM2ODBDOTAwMzI2ODQ2OTA0M0U0MDA0OTAwNzcKKzoxMEJBODAwMDMyNjgwQzkwMDMyNDQwRjkwMDMyNjAwQzlDMDNDNjAxMUMKKzoxMEJBOTAwMDYwMDAwMDAwMDAwMDAwMDA3ODEwRTEwMEI4RTBBMjExOTIKKzoxMEJBQTAwMDBCOEUwQTIzMjI4ODgwMkEzMTI4ODgwMjYyMDA4ODgwMkYKKzoxMEJBQjAwMEEyMzAyODg4OEEyMjAwQjhBOEEyMzkwOENBMDJDRTA0NzcKKzoxMEJBQzAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzUwODIxMDAwMDQwQ0IKKzoxMEJBRDAwMDAzMTQ4Mjg1ODBBRDA4MjE1Mjk4NTA4MjM0MjM4NTA4NTIKKzoxMEJBRTAwMDIxNTIwODUwMDY1NDAwQjUyMDIxNUEwOTU0MDJEMjAxQUYKKzoxMEJBRjAwMDMwMDAwMDAwMDAwMDAwMDAxODExQTQwMEI5NjEyMjQwQ0QKKzoxMEJCMDAwMDBCOTAwNjA0MDBBRDAwNjk0MDA4RDAwMjc0MDA4NTAwNjcKKzoxMEJCMTAwMDAxNDAwMDcwMDY3NDA0QjUwMDIzNDAwOUQwMDJDNjA0MzkKKzoxMEJCMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTQwMEU5MDAzMjQwMDIKKzoxMEJCMzAwMDRGOTUwQkE0MDBFOTAwMzI0MDhDOTAwMzI0MDBDOTAwMEIKKzoxMEJCNDAwMDMyNDAwQzkwMDM2NDA4RjkwMDMyNDAzRDkwMDNFODA0NTEKKzoxMEJCNTAwMDcwMDAwMDAwMDAwMDAwMDA2ODAxQTQwOEY5MDAzRTQwRTkKKzoxMEJCNjAwMDRGOTA4QkU0MDREOTAxM0U0MDBEOTAwMzY0MDBEOTAxNEQKKzoxMEJCNzAwMDNFNDAwRjkwMDNBNDAwRjkwMDNDNDAwRTkwMDNEQTAwMTEKKzoxMEJCODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4NDAzNjIwRUYKKzoxMEJCOTAwMDE3ODQwMzIwMjFDODAwN0UwMjJDODA0MzIwMDBFODAyODUKKzoxMEJCQTAwMDNFMDEwRjgwMDNFMDAwQzg0MDFFMDAwRjgwMDNDQTA0NUUKKzoxMEJCQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MkE4OEI2MDIyM0EwMEIKKzoxMEJCQzAwMDBCRUM0MjJCMDBEMjgwNkVCMTA4QTAyMjA4MDBFQTA0RTAKKzoxMEJCRDAwMDNBODA5RkEwMDNBODAwOEEwNDJFODAwQkE4MDJDQTAwMDYKKzoxMEJCRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIyMDBBNEUxNjUKKzoxMEJCRjAwMDhCQjQzMjQ3NDU4MzkwMkNGNDRCMzgxMjBFNDRBMzAxOEEKKzoxMEJDMDAwMDJDQzA0QjMwMDJDRTAwOTMwMDZDQzAwQjM4MDJDQTAwMkYKKzoxMEJDMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMEI3NDQyMUMyMzkKKzoxMEJDMjAwMDBCNTQwMjU0MDU4NzAwMkM0MDlCNkMwMjE4MTBBNzA0OEIKKzoxMEJDMzAwMDI5QzAwQTcwMDI5QjAwOTcwNDBEODAwQjYwODJFODAwMDcKKzoxMEJDNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEYzODAzNUUwNUUKKzoxMEJDNTAwMDBCMzgwMjUyMTA4NDgwMkRBMDBGRjgwQjFFMDBFNjgwRDYKKzoxMEJDNjAwMDFEQTAwQjY4MDNGRTAyRDY4MDNERTAwRjc4MDNFQTAyQjgKKzoxMEJDNzAwMDAwMDAwMDAwMDAwMDAwMDAwQTFEQUMwMEZCMDAzRUMxRjcKKzoxMEJDODAwMDhCOTAwQjgwMEFCODAxMkUwMDBDQjAwM0U4MDBGQTAwN0MKKzoxMEJDOTAwMDNFQzAwRkEwNDNFQzAwRUIwMDNFODAwRkE2MjNDMjAyODMKKzoxMEJDQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZFODAzMzIwNjAKKzoxMEJDQjAwMDRFQzkxMkY2NTBFRjkwM0ZFMDBDMTkwMEI2NDJDRjIxNkEKKzoxMEJDQzAwMDNGRTAwRUY5MDJFNkMwRkY4MDNGRTA0Q0RDMDM0MDAwOUQKKzoxMEJDRDAwMDcwMDAwMDAwMDAwMDAwMDBBQTExOTQwMEI3MDA4MTQwMkQKKzoxMEJDRTAwMDA4MDMwMjE0QzQ4NzAxMkRDODA4NkExMjM4NDA4NzAyNkQKKzoxMEJDRjAwMDJEQzAwODcxMTJEMjgwQjcwMDJEODAwODYwMDIyQTA0N0UKKzoxMEJEMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MTAyMTgwQ0YKKzoxMEJEMTAwMDA4RjQxMjk0MDRBNjAwMkNDMDE4RDIwMjE0NDg4NjEwMEQKKzoxMEJEMjAwMDJEODAwQTYxMzJENDAwQjYxODJEQzQwODU4MDIwMDEwQzQKKzoxMEJEMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzQwMEIzMDAyMEMwNTgKKzoxMEJENDAwMDQwQjAyMjA0MDA4MjgxMENDMDA4MzAwQTBBMDA4QTAwMzgKKzoxMEJENTAwMDJFQzAwOEEwMDJDNDAwQkIwMDJFODAwODIwMDIwODA0RTgKKzoxMEJENjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEZCMDBBMEMwREYKKzoxMEJENzAwMDI0OTQyM0FDMTBFQkEwMEVDMDBDQjAwMjJFMjBDOTAwRkUKKzoxMEJEODAwMDJFNDAwRTkwMDNFQzAwRjk4MDNFNDA2Q0EwMEIyQTA0N0MKKzoxMEJEOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQ0MwMEZCMDAzRUMwRkUKKzoxMEJEQTAwMDg5OTAwMzJDMDBGQjAyM0U0MDRGQTAwMzZEMDFGQjQxMzQKKzoxMEJEQjAwMDNFQzA4RkI0MDNFODAwRkIyMDNFNTAwRkE0MDNFMDAwMTgKKzoxMEJEQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEMzMjBCMkMwRTEKKzoxMEJERDAwMDBERDAwMzM4MDBDRDAwM0Y4MDBERjAwM0ZDMDBGRDAyQzQKKzoxMEJERTAwMDM2MDAwQ0QwMDMzRjA4RkMwNDEyQzAwQ0EwMDNDMDQ0NzIKKzoxMEJERjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMwMjhCQzgyMkMwRUMKKzoxMEJFMDAwMDA4OTgwQTJBNDA4OTIwMkUwMThFQjAxMkVDODBCQkYwREYKKzoxMEJFMTAwMDIyRTUwOEJEMDIyRTAwQkI5MDIyRUQwOEEyMDJFMDAwNDAKKzoxMEJFMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDEyMjAwQTMKKzoxMEJFMzAwMDQ5QTgxRTA0MDA4QjAxMkVDMDQ5OTAwMkU0MDBCOTAwRkQKKzoxMEJFNDAwMDIyNDAwQTkwMDIyQzAwQjkwMDJBNDAwODgwMDJFMDAwM0IKKzoxMEJFNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgxMDAyMDQwQjEKKzoxMEJFNjAwMDA4MjAwMjA0MDA4MzAwMkNDMDBBMjA0MkNDMDBCMzAwNEEKKzoxMEJFNzAwMDIwQzAwMjMwMDIwODg0QjMwNDA4NDAwODIwMDJDMjExMjYKKzoxMEJFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMDhCMDBCMjgwN0MKKzoxMEJFOTAwMDBEQjEwMzI0MDJDQjAxM0VDMDREOTA0M0U0MDBGOTAwRjQKKzoxMEJFQTAwMEIyMDAyRTkwMEIyQzgwRjgwMEJBQzAyQzgwMDNDMDAzODcKKzoxMEJFQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMDdEMDAzRkMwMDUKKzoxMEJFQzAwMDBGNzIwM0Q0MDBGRjAwM0ZDMDBFRjE0N0ZDMDBGRjAwREIKKzoxMEJFRDAwMDNCQzAwREYwMTNGQzUwRkYwMDM3QzAwRkUwMDNFODA2MzUKKzoxMEJFRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDNENDMzMzRjA0MjcKKzoxMEJFRjAwMDJDRjYwMzM4NjBDQzkwQjMyMDBGRjEyM0YwNjBGRjAxRTMKKzoxMEJGMDAwMDIzQzgwQ0YyOEEzQzgxREYzMDNGNjQwQ0Q4MDMzMDA0MzQKKzoxMEJGMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTBDMjhBMzAyRTE4N0YKKzoxMEJGMjAwMDA4RjUzMEE1OTQ1ODIyMjIyMTRCRjMwMkUxMDA5RjcwQkUKKzoxMEJGMzAwMDJCRTQwQUY0MTIxRDQwQUY3MjJDNDkyRjMwODJBMDA2NjgKKzoxMEJGNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQ4MDgwQTAyQzk4MEMKKzoxMEJGNTAwMDA4MzIyMjA4MDA4MjAwMjgwMDAzMzIwMkMwODRCMzBDOTkKKzoxMEJGNjAwMDIwQzA1ODMyOTI4QzMwQTMyMDJFQzA0ODEyNDI2MjAxNjkKKzoxMEJGNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgwMDhCMDAyRTIwRkIKKzoxMEJGODAwMDA4QjAwQTIwMDE5ODAwMkEyMjBCQjAwMkU2MDA5QjAwQUMKKzoxMEJGOTAwMDIyQzAwQUIwMTJBQzA0QUIwMDJFQzAwM0IwMDJGMDAwMDUKKzoxMEJGQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTUwMEM4MDAzRUIwODEKKzoxMEJGQjAwMDBDQjAwMzI5MDBDODAwM0EyMDRGQjAwM0UyMjBGQjAxNzcKKzoxMEJGQzAwMEIwQzAwQ0IwMDMyQzAwRkIwMjNDNDEwQzkwNDM0ODA0NzEKKzoxMEJGRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQTI4MEZFNDAzRTAwNzIKKzoxMEJGRTAwMDBGRjA2M0VDMDBCRkM0MTc0MjBGRjAwM0VDMDBGRjAwM0EKKzoxMEJGRjAwMDFGQzEwRkIwMDM1QzAwRkIwMDNGNDA0RkYwMDBCODAwRDIKKzoxMEMwMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTUwMkM4MDAzRTkwNDMKKzoxMEMwMTAwMDJDQjAwQjAxMDZDQjAxM0U1MDVGQjAxMzIxMTBDQjAwQkEKKzoxMEMwMjAwMDdFQzAwQ0IwMEIyQzAwQ0IwMDMyQzAwQzkwMDMxMDA0NkYKKzoxMEMwMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MjgwMThCRDAyQzM0MkYKKzoxMEMwNDAwMDQ4RkYwMjMwMDBBQTA0MkU2OTBGRjAwMzY4MTBERjAwRDkKKzoxMEMwNTAwMDJGRDQwREYwMDIzRTAwNUYwNEI2QzAwOEIwMDM3MjAwOUEKKzoxMEMwNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1Njk5MDgxODAyQzAwODUKKzoxMEMwNzAwMDQ4QjgwMjA4MDk5OTAwNENCMDBCMzAwMjBDMDA4QjAwNDQKKzoxMEMwODAwMDJDQzAwOUIwNDAwQzQwODMwMDAwNDAwQTkwMDIzMDAwRjAKKzoxMEMwOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMDg0ODgyREU0RkMKKzoxMEMwQTAwMDQ4MzkwMjE2MDBCNDgwMkRFMDBBN0IwNjVFMDA5NzgwQjYKKzoxMEMwQjAwMDJERTIwOTc4MDIxRTkwOTc4MDI1NjQ4QTc4MDI0ODAwNTQKKzoxMEMwQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEQwMDgxMTAyQzk2ODAKKzoxMEMwRDAwMDA4MzEyMzBDMDA5MDIwM0NDNDFCQjgwMjA4NDBDMzAwNjgKKzoxMEMwRTAwMDJDQzQwRDMwMDMwRTQwQzMxMDMwQzA0RTEwMDcxQTEyN0UKKzoxMEMwRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMDdEMDUzRkM1QTEKKzoxMEMxMDAwMDBGQjEwQkY0MDBFRjAwMUY0NTBGRjA0M0ZDMDFGRjQwOUYKKzoxMEMxMTAwMDNEQzQxRkYwMDZGQzEwRkYwMDNCQzEyREYxMDNEMDA2MEIKKzoxMEMxMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwNENCMDQzRUEwNjUKKzoxMEMxMzAwMDQ0QjYwMzI4MDRDQjgwMzI4MDBGQjM5MzYwMDhGQjIwMDEKKzoxMEMxNDAwMDNFRDIxRkIzMDMyRDgwRkI2MTdFNDA4Qzk4MDMyQTAwRjIKKzoxMEMxNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExODQwQzg2MDUyREMwMEUKKzoxMEMxNjAwMDA4RjQ4MjhDOTA4NTAwQTFDMDBCRjAwMjVDMDAzNzAwQkYKKzoxMEMxNzAwMDJERDAwQjcxMDIxQ0M4Qjc0ODJENDAwQTcwMDIxMjA0NjIKKzoxMEMxODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg3ODAyREExMUMKKzoxMEMxOTAwMDYwNzg0QTE2RDBBNzgwMjlFMDBCNzg1Mjk2MDFCNzkwQjQKKzoxMEMxQTAwMDJERTgwQjdBMjI1RTQwQjdBMDJGRTE0ODUwMjIzMDAwRTQKKzoxMEMxQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MxMDgzODQyQ0MwMzQKKzoxMEMxQzAwMDA4MzAwMkE0MTA4M0NCMjhFMDBCMzAyQTRGNDA5MzAwQTQKKzoxMEMxRDAwMDJDQzAwQjMwMDI0QzEwQjMwMjJDQzBBQTMwMDIxMjA0NDcKKzoxMEMxRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QjgwMENFQTAzRjgwM0QKKzoxMEMxRjAwMDRDQTAyQjNBMDBDRTQwM0JCODBGQTAwM0I5MDBCQTAwQzgKKzoxMEMyMDAwMDNFODAwRkEwMDM2ODAwRkEwMDdFODAxQ0EwMEIzQTA0NTkKKzoxMEMyMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMkY4MDAzRTA0NUEKKzoxMEMyMjAwMDhGMDAwM0UwNEFGODEwMjYxODBGODAwM0EwODBGODAyNjAKKzoxMEMyMzAwMDNFMDA4RjAwMEJBMDAwRjgwMjNFMDAwRjgwMTNEMjAwREEKKzoxMEMyNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQyMEM5MDAzMjQwNjcKKzoxMEMyNTAwMDREOTkwMzI0MDBDOTAyM0U2ODBGOTAwMjI0MDBFOTAwQjIKKzoxMEMyNjAwMDMwNDA4QzkwMDMwNDQwQzkwMDNFNDAwQzkwMDMwMjA0MEYKKzoxMEMyNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQyMDg5MDYyMjUwODUKKzoxMEMyODAwMDhCOUNDMjI0MDBEOTAxMkU0MDBCOTA0MjI0MDhCOTAxOTYKKzoxMEMyOTAwMDIyNDYwRDkwMEEyNjAyODkwMDJDNDAwQTEwMDIyMDAwMzYKKzoxMEMyQTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMDYwMDkxNDA0MjcwREMKKzoxMEMyQjAwMDBCOTAxMjJDMDI4QjAwMkU0MDBCMTAyMkU0MTBCMTAwQzgKKzoxMEMyQzAwMEEyNDA0ODkwMTIyNDA4OTkwMjJFNDAwODkwMDIwNjAwQ0QKKzoxMEMyRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MjkxMjBFMDQ4QTMKKzoxMEMyRTAwMDBCMTIwMjA0MDI5MTEwMkNDMDBCMTAwNjg0QzBCMTEwNzYKKzoxMEMyRjAwMDIwNDg4OTExMDIwNTgwOTE0MDJFNDQyQTk0MDIwMjAxQUYKKzoxMEMzMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4NTAzMDE0NUIKKzoxMEMzMTAwMDBGODUwQjIxRTA4MDQwM0UwMDBGODc4QkUxMENGODZDMEQKKzoxMEMzMjAwMDMyMDA4NDA2ODMyMDA0RDgyODNFMTAwQzAwMDMyRTAzMUMKKzoxMEMzMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEFEMTAzRjQ1ODMKKzoxMEMzNDAwMDBGOTEwM0ZDMTg3RDIwMUY0MTBGOTAwMzc0QzBGOTIxNDkKKzoxMEMzNTAwMDNFNDQwRjkyMDFFNDQwRTkwMDNENDg0RkQwMDNFNjA2MTkKKzoxMEMzNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1Rjc4MEZERTAzMzcwNDkKKzoxMEMzNzAwMDBDREEwMzI2MjBDOTQwMzE0MDBFOUEwMzI0MDBGOTgwQ0MKKzoxMEMzODAwMDNCNjAwRjlDODMzNkEwRjlBMUIwNDAwRjkxMDNDNjAwMUIKKzoxMEMzOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTI5MEI4QTAyMjI4RDEKKzoxMEMzQTAwMDI4ODgwQTIyMDI4OEEwMjIwMDA4ODgwMkMyODBCODg4NTEKKzoxMEMzQjAwMDIyMDQwQjhFMDMyMjgwQjhEMDJBMjAwQjg4MDJDRTA0RTAKKzoxMEMzQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzU4MEIxNjEwMDU4ODEKKzoxMEMzRDAwMDQ4MTY4QTA0QTA4OTAxMjI0MDFBMTQ4ODA0MjBCMTQwMUEKKzoxMEMzRTAwMDI4NDAwQjEwMEEwNDIwQjEyQzIwNEEwQjEyMDJDMjAxNzMKKzoxMEMzRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTU5MEJCNDAyMDQwMTAKKzoxMEM0MDAwMDA4OTAwMjI0NDA4OTQyNjI1ODA4MTAwMkU1MDBCOTAzRUUKKzoxMEM0MTAwMDIyQzAwQjkwMDJBNDE0MzEwMDJBNDQwQjkwMDJDNjA0REYKKzoxMEM0MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDEwQTUwMEY5MDEzMjQwRUIKKzoxMEM0MzAwMDhDOTAwMzI3MDBDMTk0MzA0MDBFOTAwMzI0MDBGOTAwMzMKKzoxMEM0NDAwMDNBNDAwRjkwMDMyNDAwRjkwMDMyNjAwNzkwMjdFODA1NzYKKzoxMEM0NTAwMDIwMDAwMDAwMDAwMDAwMDAyODAwQTQxOEY5MDBCRTQ0REQKKzoxMEM0NjAwMDBGOTAwM0M0MDBGOTAwQkU2MThGOTAwM0E0MDBGMTAwOTcKKzoxMEM0NzAwMDFFNDAwRjEwMDMyNDA4RjkwMDdFNDAwRjkwMDNDQTAwRUQKKzoxMEM0ODAwMDIwMDAwMDAwMDAwMDAwMDAyODEwQTE4MUY4MDAzMjA0MDQKKzoxMEM0OTAwMDBDMDBEMzIxMDBEODA0M0ExNDlDODAwMzIxMDFDODAwNjkKKzoxMEM0QTAwMDM2MDAwQzgwMTMyMDEwQzgwMDMyMDAyQzgwMDNDQTA0MTAKKzoxMEM0QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA0M0EwMEJFODQyMzg1MEMKKzoxMEM0QzAwMDA4RUM4MzY4MDQ4QTAwMkY5MDREQTAwMjI4MDFEQTAwNEUKKzoxMEM0RDAwMDIzQjAwQUEwMDIyQTA4REEwMTIyODAwRkEwMDJDQTAwQjMKKzoxMEM0RTAwMDAwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEJCRjAyMEMwNDgKKzoxMEM0RjAwMDA4M0MwQTBDMDA5MzAxMjhDODg5MzAwNjRDMDA4MzAyQ0UKKzoxMEM1MDAwMDJDRjYwODMwMDIwNDAwQTMwMDIwQzAwQTMwMDJDQTAwNDIKKzoxMEM1MTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUQxMUIzMDBBMEMwNjkKKzoxMEM1MjAwMDA4NTAwMjVDMTA4NzAxNkQ4MTQ5MzI1MjFFQzM4NzAwOUEKKzoxMEM1MzAwMDI4RTAwQTMyMjYxRjAwMzcwMDIzRTAwQjcyMDJDODAwRjEKKzoxMEM1NDAwMDQwMDAwMDAwMDAwMDAwMDAyODA4MTIwMEI3ODIzMTIwREYKKzoxMEM1NTAwMDA4MDgzNzBGMDhEN0UwMzk2MDE5N0EwQjVFMEM4M0IyRjAKKzoxMEM1NjAwMDdERTAwQzdBMEIzRTAyQUZBMEIxRTAwRTdBMDNDQTAyNjYKKzoxMEM1NzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTAxMEZCMDAzRUMwRUQKKzoxMEM1ODAwMDZGQjA0M0VDMTFGQjAwM0U0MDBGQjUwM0VDMjBGQjUwQjUKKzoxMEM1OTAwMDM2MDAwRkI1NDNFNUExREI3ODNFQzAwRkI0MDNDMjA2RjkKKzoxMEM1QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwMEZGQTAzRkEwNkEKKzoxMEM1QjAwMDBEQzkxMzNFMDBDRkQwM0RFODAyRkYxMzNFMDBDRjgyRUQKKzoxMEM1QzAwMDNGNjAwQ0ZDMjMzRTEwRUY4MDMzRjIwQ0ZDODMxMDAwMjQKKzoxMEM1RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM0MEI1MDEyREQwQTMKKzoxMEM1RTAwMDA4NTgwMjFDNDA1NzEwMkQ1QTI4MzEwMkJDMDE5NzEwRTAKKzoxMEM1RjAwMDJEMDAwQTcwMDI4NDA0Q0YwMDI5QzAwQUYwMDIyQTA0MjgKKzoxMEM2MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTAwMEI3MkEyRDgyQUEKKzoxMEM2MTAwMDA4NDIyMjNDMDA4NzExMERDQzg4MzIwMjFEMDA5NzAwOTEKKzoxMEM2MjAwMDJDQzQwODMwMDIxNDAwQTcwMDIzQzAwOTcwODIwMDAwNDcKKzoxMEM2MzAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0QzAyMEIwMjAyQzUwM0EKKzoxMEM2NDAwMDA4MTAwMjJEQzA5M0UyMkMyMTA4MzAwMjBFMDg5MzAwM0UKKzoxMEM2NTAwMDJDNDAwQTMwMDI4QzAwOTMwMDJBQzAwQjMwMDIxODA0RDAKKzoxMEM2NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEY4QzAzRTgwQkIKKzoxMEM2NzAwMDJDQTAwQjNGMDBDNzYwM0VEMDBDRjAwQjNDMDBDRjAwNUQKKzoxMEM2ODAwMDNFODAwQ0YwMEIyQzAwRUYwMDMzQzEwREYwMEIyQTA0QTAKKzoxMEM2OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUM0MEYzNDAzRTUwQ0QKKzoxMEM2QTAwMDhFQjQwM0VDMTBGQjAwM0UwOTBGQjAxM0VDNDJFQjAwMUMKKzoxMEM2QjAwMDNDMDA4RkIwMTNDNDExRTMwMDNFQzAwRUIwMDNFMDAwOTUKKzoxMEM2QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZDODAzMTIyNUUKKzoxMEM2RDAwMDBDQTgwMzNDMDBDRjAwMzNBMDBFRjAwM0RDMDBDRjAwMTkKKzoxMEM2RTAwMDFGRjAwQ0YwMDNGNDAwQ0YwMjMzQzAwQ0YwMDIwMDU0MzIKKzoxMEM2RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkYwMEJCQzAyMjcwMDkKKzoxMEM3MDAwMDBBQjk0MjJDMTA4QjAwNzYxMTgzQjAwMkVDMTBBQjAwRkEKKzoxMEM3MTAwMDJFQjAwQUIwMDNFQzA0OEIwMEEyQzAyOEIwMDIyMDQwNjcKKzoxMEM3MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1NjU0MEI4MjAyMjQ0OTEKKzoxMEM3MzAwMDU4MzQwQTJDMDA4QjAwMjI4NDRCQjAwMkVDMDA4QjAwOTIKKzoxMEM3NDAwMDZFQzAwOEIwNDJFNjA0OEIwMDAyQzAwODMwMDJBMDAxQUYKKzoxMEM3NTAwMDQwMDAwMDAwMDAwMDAwMDAwQzAwMDAwMEIxMDAyMEMwRkMKKzoxMEM3NjAwMDBBMzAwQTBDMDA4QjAzMjQ4MDBCMzAwMkNDMDBBMzAwOUIKKzoxMEM3NzAwMDZDMDAwQTMwMDI4RDAwODMwMDIwQzAxODMwMDI4MjAwNTUKKzoxMEM3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NjQwMEY4MDAzMDAwMTUKKzoxMEM3OTAwMDRDQTAwQjJDMDJDRjAwMjI0MDBFRjUwM0ZDMDBDRjAxNzEKKzoxMEM3QTAwMDNFMDAwQ0YwMTJERDAyQ0YwMjMzQzA0Q0YwMEI4MDAzRDAKKzoxMEM3QjAwMDEwMDAwMDAwMDAwMDAwMDBBNDE5RjAwMEZDMDAzRjQwNDEKKzoxMEM3QzAwMDBGQjEwM0RDMDBCRjAxM0YwMDBGRjIyM0ZDMTBGRjAwOUMKKzoxMEM3RDAwMDNGMDAwRkYwMDFGNDg0RkYwMDNEQzA0RkYwMTM2ODA2RTYKKzoxMEM3RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkU0MERGODAzM0M4N0MKKzoxMEM3RjAwMDBDRjgwMzNDMEE5RkMwM0ZGMDA4QjgwMjNFMDBGRjgwREYKKzoxMEM4MDAwMDNGRDgwQ0Y5NjEyRTQwNkY5MDNGRTQ4RkYxODMzMDAwRTgKKzoxMEM4MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUMwNDhCODAyM0YwMEEKKzoxMEM4MjAwMDA4QjgwMjNENDBBQjAwMEUwODQ4MjI4MjZDMjBCQjAwRDUKKzoxMEM4MzAwMDJGRDA0OEIwMDIyQzAwQkIwMDJFQzEwQkIwMDIzMDA0MzgKKzoxMEM4NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwMjgzMDFBMEM1NzQKKzoxMEM4NTAwMDA4QjA0QTRDQTA4MDI0MjhDODA5MzIwMjRDMDBCMzA4MTIKKzoxMEM4NjAwMDJFRDEyOUIyM0EwQzg0QTMyMTJDQzg0QkIyMEEzMjAxMzIKKzoxMEM4NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwODhCMDAyMkMwNTIKKzoxMEM4ODAwMDA4QjAwMjRDMDA4ODIxMjQyMTA5QjA0NjZDMDBCQjA2ODgKKzoxMEM4OTAwMDJFQzAwOUIwMDIyQzEwQkIwMDJFQzAwQkIwMDIzMDA0MTkKKzoxMEM4QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMENCMDAzMkMwMkEKKzoxMEM4QjAwMDBDQjkwMjZDMDBDQkM4M0FDMDJEOTAwQjJDMDhGQjAwQzEKKzoxMEM4QzAwMDNFQzAwRDMwNDIyQzAwRUIwMDNFQzAwRkIwMTMwMDA0MDAKKzoxMEM4RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEVGMDAzREMwNUYKKzoxMEM4RTAwMDBGRjAwM0JDMDZFRjgyM0Y0MDRFQzk4M0JDMDBGRjAwM0YKKzoxMEM4RjAwMDdGQzAxQ0YwMTM3QzAwRkYwNDNGQzAwRkYwMDNGODAwNjIKKzoxMEM5MDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDIzRUMwRDAKKzoxMEM5MTAwMDBFQjAwM0FDMjBEODQwM0VDMDhDOTAwQjJDMDBGQjAwMjYKKzoxMEM5MjAwMDNFQzkwREIwMzNFQzA4RkIwMjNFQzAwRkIwMEI1NDA0RkYKKzoxMEM5MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEIzMDAyRkMwM0MKKzoxMEM5NDAwMDBCMzAxMkZDMDA4OEEwMkU0MDI4OTQwMjJDMTBCQjA0NEYKKzoxMEM5NTAwMDJEQzAyOEIwMDJFQzAwQkIwMDJFQzAwQjcyMDYzMjAwQzYKKzoxMEM5NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NkMwMEIzMDAyQ0UwNzcKKzoxMEM5NzAwMDBBMTAwMkNEMDA5MzAwMkNDMDA4QjAwMjRDMDBCMzAwOTYKKzoxMEM5ODAwMDI4QzAwODMwMDJDQzAwQjMwMDJDQzAwQjMwMDIzQTAwQTMKKzoxMEM5OTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUU0MEI3ODAyREUyODIKKzoxMEM5QTAwMDBCNTgwMkRFMDI5NzgxMkZBMDA4NjgwMjVFMDBCNzgxNTMKKzoxMEM5QjAwMDJGRTAwODc5MDJERTAwQjc4MTJERTAwQjc4MDIzQzAwMDEKKzoxMEM5QzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYzMDAzQ0MwREMKKzoxMEM5RDAwMDBFMzIwM0NDODBEMzAwM0NDNDBDMzkwMzRDMDhGMzFBNEMKKzoxMEM5RTAwMDNDQzYwRDMwMDNDRTIwRjMwODNDQzAwRjMwMDM1MjAyOEEKKzoxMEM5RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQUMwMEZCMDAyRUMwNDUKKzoxMENBMDAwMDBCQjAwM0NDMjBFQjAwM0M4MDBGQjA0MUFDMDBGQjAwMkUKKzoxMENBMTAwMDNDQzIwRkIwMDNFQzQwRkIwMDNFQzAwRjMwMDNEMDA2MTkKKzoxMENBMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUUwMkMzODAzMENFQzgKKzoxMENBMzAwMDBEOTgwM0FDQTBDMzgwQjJDMDBGQjAwM0VDMDBGQjAwQTQKKzoxMENBNDAwMDNFRDI0RkIwMDkyRTA4NEIwMTNFQzAyNEIwMDNFQTAwOEQKKzoxMENBNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMDg3MDEyMUMwMDgKKzoxMENBNjAwMDQ4NTAxMjRDMDA4NzAwMzVDMDRCNjAwMkRDMDRCNzAxMEYKKzoxMENBNzAwMDJEQzAwQjcwMDIxQzAwODcwMDJEQzEwQzcyMDJGMjA0NDUKKzoxMENBODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg3ODAyM0UwREUKKzoxMENBOTAwMDA4RjgwMkRFODA4RjgxMjFFMDRCNzgxMkRFMDQzNzgwQjcKKzoxMENBQTAwMDJERTgwQkY4MDIzRTE4ODc4MDJGRTAwOTc5MDJFMDAwOUMKKzoxMENBQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDBBMEMwNEIKKzoxMENBQzAwMDI4MzA0MjRDMDA4MzAwMjRDMDBCMzgwNkNDMDRCMzAwNEQKKzoxMENBRDAwMDJDQzAwQjMwMDIwQzAyODMwMDJDQzAwODMwMDJEMjA0QTAKKzoxMENBRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMENBMDAzMTgwRjYKKzoxMENBRjAwMDA4RTAwMjk4MDJDRTAwMzM4NDBCRUEwM0U4MDBCQTAwOTMKKzoxMENCMDAwMDNGODEwRkEwMDMyODAwQ0EwMDNFODAwREUwMDNGQTA0MTUKKzoxMENCMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDAzRTAwNTcKKzoxMENCMjAwMDBFODQyM0EwMDBGODAwM0ExMDBGODAwM0UwMDBGODAwMDQKKzoxMENCMzAwMDNFMTAwRjgwMTNFMDAwRjgwMDNFMDAwRDgwMDNEMjAwOEQKKzoxMENCNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMUY5MDAzRTQwNDEKKzoxMENCNTAwMDBDOUExM0U0MDBDOTAwM0U0MDBDOTgyM0U0ODBGOTAwQ0QKKzoxMENCNjAwMDNFNDAyQzk4MDM2NDAwRjkwMDNFNDAwQzkwMDNDMjA0NDAKKzoxMENCNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNEI5MDAyRTQwNzIKKzoxMENCODAwMDY4OUMyMkU0MDI4OTAxN0M1MDhEOTgyMkU0ODBCOTIwQkYKKzoxMENCOTAwMDJFNTA0ODEwMEIyNTAwQjk0NDJDNDAyODkwMDBFMDAwOEUKKzoxMENCQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MDAyRTUwRkQKKzoxMENCQjAwMDA4OTAwMkU0MDQ4OTAwMkU1MDBBOTIwMkU0MDBCOTAwQjEKKzoxMENCQzAwMDJDNDAwODkxMDIyNDAwQjkwMDJFNDAwODkwMDJDNjAwQjMKKzoxMENCRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDUwMEIxMDEyQzQwRTYKKzoxMENCRTAwMDQ4MzAwMkU0MDA4MTAwMkE0MDRCMTAwMkM0MDBCMTAwMkEKKzoxMENCRjAwMDBDQzAwODkwMDIwQzAwQjMwMDJFNDA0ODEyMDJDMjAxODMKKzoxMENDMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEI4MDEzRTAwMDgKKzoxMENDMTAwMDFDODAwN0UxNTBDODUwMkUxNDFFODUwM0UxNDFGODUwRDYKKzoxMENDMjAwMDNFMTQwQzg1MTMyMTQ4Rjg1MDNFMTQwQzg1NDNFRTAzNDYKKzoxMENDMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODE5QzQwMEY5MDAzRTUxQTcKKzoxMENDNDAwMDBGNTAwM0U1MDBGRDAwM0Y0MDFERDAwM0Y0MTBGOTAwMzQKKzoxMENDNTAwMDNFNTAwRjUwMDA5NDAwRjkwMDNENDAwRjkxMDNFNjA2NEUKKzoxMENDNjAwMDcwMDAwMDAwMDAwMDAwMDAxODAxRTQ1MENEMDAzMTYwQTkKKzoxMENDNzAwMDA0RDAwMzM2ODBDMTQyMkU1MDFGOTQwM0U1MDBFOTAyMjAKKzoxMENDODAwMDJFNzIwQTkwMjIwNTA4RTk0MDNFNTA0MDlDMDMyNjAwN0YKKzoxMENDOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwQzI4Mjg4MDAyMjE1RDkKKzoxMENDQTAwMDA4ODAwMjIzNTg4OEEwMkUyODBCQUE0MkUyODI4ODgwOUUKKzoxMENDQjAwMDJFMzgyODg4MDIyMjgwQjhBMDNBMjgwOENEMDIwRTA0MTcKKzoxMENDQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDgxMDBBNjQwRkMKKzoxMENDRDAwMDI4MTAwQTI0MjY5NTAwMEQ0MDBCNTAwMjc0MDA4NTA4ODgKKzoxMENDRTAwMDJGNDA3OUQyQUExNDAwQTUwMTJGNDAzODUwMDIxMjAxMUEKKzoxMENDRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwNDg5MDAyNjQwMDAKKzoxMENEMDAwMDA4OTEwMjI0MTA5RDA4MkY0MDBCRDAwMkY0MDA4RDAyRTAKKzoxMENEMTAwMDJGNDAwOUQwMDAzNDAwQkQwMDBCNDAxODcwMDIwNjA0RkIKKzoxMENEMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1QzQwMEM5MDUzNjQxRTUKKzoxMENEMzAwMDRDOTA2MzI0MDBEOTAwM0U0MDBCOTAwMzQ0MDhDOTAwODYKKzoxMENENDAwMDNFNDAxNTEwMDMyNDAwRTkwMDNDNDAwQzkwMDMyODA0RTkKKzoxMENENTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwNEY5MDAzQTQwMUYKKzoxMENENjAwMDRGOTgwM0U0MDBFOTk5M0U0MDRGOTAwM0U0MjBGOTBBMEMKKzoxMENENzAwMDNFNDAwRTkwNDM2NDI0RjkwODNBNDIwRjkwOEJEQTAwNEIKKzoxMENEODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4MDAxMjAwOTEKKzoxMENEOTAwMDBDODA0M0UwMDBDODQwMzIwMDBGODQ1M0UwMTBGODAwREMKKzoxMENEQTAwMDNFMDAwRDgwMjMyMDAwRDgwMDNFMDAwRjgwMDMwQTA0QkYKKzoxMENEQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMjgyMDBBMTg4NDEKKzoxMENEQzAwMDA4NjAyMkM4MDA4QTQwMzZBMTBCQTAwMkU5MTBCQTQ0Q0MKKzoxMENERDAwMDJDODAwQ0E0MTIyOTAyOEE0NDJFOTgwQkE0MDIwQTAwNkIKKzoxMENERTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMxMDgzMDAyMEUwRjcKKzoxMENERjAwMDE4MzA5MkM0MDg5MzQwMjBFMDBCMzAwMkNEMDBCMzQwQkQKKzoxMENFMDAwMDJDQzAwQjNBNDJDRDAwODM0MDJDRDAwQjM4MDI0QTAwOTQKKzoxMENFMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDQxMUMwMDg3MDAyMUMwNUQKKzoxMENFMjAwMDI4NzAwMkQxMDA5RDgwMjVDMjRCNjAwMkRDMDhCNzAyNDkKKzoxMENFMzAwMDJDQzAwQTc0MDJGRTAwODcwMDJEQzAwQjM0MDI2ODAwNkIKKzoxMENFNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEM3ODQzMUUwNzgKKzoxMENFNTAwMDBDNjgwM0Q2MDA5NzgwMzFBMDBGNTgxM0RFMDhGNzgyQzQKKzoxMENFNjAwMDNEQTAwRkY4MEJERTAwQzc4MDNERTAwRjc4OEI2QTAyMTMKKzoxMENFNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUQ4MEYzMDAzRUMxNkUKKzoxMENFODAwMDBGQTAyM0MwMDJFOTAwM0U4MTBGODAwM0VDMDBGQjAwRUQKKzoxMENFOTAwMDNFQzAwREIwMTMyQzAwRUIwMDNFQzAwRkIwMDM4MjAyNjkKKzoxMENFQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkYzMkM3ODAzMzYwMTIKKzoxMENFQjAwMDBGNzgwMzNFQzg0RTgwMjM2NDBDRjgwMzNBMDBDRTgwRkUKKzoxMENFQzAwMDEzRUMwNkQ4MDMzQTAwREU4MDMzQTQwQ0M4MDNEMDAwNkMKKzoxMENFRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg3MTAwMUMwMzUKKzoxMENFRTAwMDBCNzAwMjE4NTA4NDAwMkI0NDA4NjAxMjk4MDA4NjEzQkYKKzoxMENFRjAwMDIxQzQ4ODUwMDIxODgwODYwMDIxODAwODYxMDJFQTA0NUIKKzoxMENGMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg3MDAyMTQwM0QKKzoxMENGMTAwMDBCRjEwMjVDODAwNjAwMjEwMDg4RDAwMjVDMDA4NzAwRDMKKzoxMENGMjAwMDIwODk4QUYxMDIxQzA4ODcxMDIxODE4ODQ4MDJDNjAwRTYKKzoxMENGMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MxMDgzMDRBMEMxRDkKKzoxMENGNDAwMDBCMzAwQTQ4MEM4ODA2NjAzODA4MDQ0MkVDMDE4QjA0NTgKKzoxMENGNTAwMDIyQzEwODMwMEEyQzAwOEIwMDIyODAwMDIwMDJEODA0NTUKKzoxMENGNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEMzMDAyMjgwQjMKKzoxMENGNzAwMDhGOTAwMzY0MEFDQjAyQjJGMjIwMzUxMjY0MEFDOTAwMTIKKzoxMENGODAwMEIyNDAwRUEwMDMyNDBBQzkwMEEyNDAyQ0EwMDNFRTA0NjQKKzoxMENGOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDAzQzgwMEUKKzoxMENGQTAwMDBGOTAwM0E1MDBEQjQwM0VEMDREQjQxM0E0MDhGQjAxNTUKKzoxMENGQjAwMDNFQzAxQ0EwMDM2QzAwRkIwNDNFNTA0RkE0MDNFMDAwRTUKKzoxMENGQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDAzM0MwMzIKKzoxMENGRDAwMDBDRTg0MzI2MDBERjgwQjNFMDBGRjgwMzdDMDBDRDAwQUYKKzoxMENGRTAwMDMzMDQwQ0UwMjMzNDQwQ0QwMDIzNDAwQ0UwMDNFMDA0ODQKKzoxMENGRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMxMEJCMDBBMkQyRDEKKzoxMEQwMDAwMDA4MjgwMjA0NjA4QjE5MjJDNjBFQjE4QTJFNDA4QjkwMkMKKzoxMEQwMTAwMDIyQzEwOEE0ODIyQzAwOEI5MDIyNjQ0OEE0MDJFMDAwNjQKKzoxMEQwMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEJCMDAyMjAwNjIKKzoxMEQwMzAwMDA4OTEyRTI0MDA5QjAwMjJDMDhCQjAxMjIwMDQ4ODAwOEYKKzoxMEQwNDAwMDIyNDAwODEwMjIyMDAwODgwMTJBRDAwODgwNDJFMDAwRjcKKzoxMEQwNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIzMDQyMDgwMjEKKzoxMEQwNjAwMDA4MTAwNjA0MTA4MzAwMjBDMDhCQjAxMjAwMDA4MjAwNUMKKzoxMEQwNzAwMDIwQzAyODEwNDIwOTA2ODIwMDI4QzAwODIwMDJDMjAxRjAKKzoxMEQwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEN0MwMEJCMDAzMjQwRUEKKzoxMEQwOTAwMDJDQjAwMzI0MDBEMzAwMzJDMDVGQjUwMzBDMDJDMTAwRTIKKzoxMEQwQTAwMEIyMDAwQ0IwMEIwNTAwQzEwMEI4QzAyQzgwMTNFMDAzMjcKKzoxMEQwQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFEREMwMEZGMDAxRkMwQTkKKzoxMEQwQzAwMDg3RjAwMUY0MDBGRjAwM0ZDMDBFNzA0M0ZDMTA3RjAwQUEKKzoxMEQwRDAwMDNGQzAwRjcwMDNGQzAwRkYwMDM3QzAwRkUwMDNFODA2RkQKKzoxMEQwRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjE4NEZFNjEzMUQ4MkUKKzoxMEQwRjAwMDBDQjJDM0ZDRTBDQzgwN0JDMDBFRjEwMzdDRTBDQzgzOUYKKzoxMEQxMDAwMDNGMjAwRkYwQ0IzMjQ0REM4NDNGMjU0Q0YyNDMzMDAwMEIKKzoxMEQxMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTQ0OEIwMTAyMkRDMjUKKzoxMEQxMjAwMDA4QjYwMkZEOTI4ODg1MjNGNDQwRjEwMkVEMDA4ODJEQjcKKzoxMEQxMzAwMDBFNjAwQkJDMTIyQzEwQTg4MjJFMDAwQUZDMjJBMDA0NDgKKzoxMEQxNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzA4MEIzMjIyOEMwMjUKKzoxMEQxNTAwMDA4MzA4MkNDMDE4ODAwMkNDMDRBMzIwMkNDMDAwMTAxODgKKzoxMEQxNjAwMDI4MDA0QkIwMDJBMDAwODAwMDJDMDkwODM0MDI2MjAxQTQKKzoxMEQxNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwNEIyMTAyQUMxMEQKKzoxMEQxODAwMDA4QjAwMkVDMTA4OTgwMjJDMDA4QjAwMkVDMDg4ODAwQzgKKzoxMEQxOTAwMDJFNDA4M0IwMDJBMDQwQjk4MDJDMjEwQUIwMDJGMDA0RDYKKzoxMEQxQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEZBMDBCQUMwNkEKKzoxMEQxQjAwMDJDQjA0M0VDMDBDMDgwM0VDMDhFQjAwMzRDMENDODEwQjUKKzoxMEQxQzAwMDNFODA4RkIwMDM4MjEwRDg4MjNFMjgwQ0IwMEI1MDA0RjIKKzoxMEQxRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjY4MEZEMDIzN0MxRDEKKzoxMEQxRTAwMDBGQjAwM0ZDMDBGRDAwM0VDMDBGQjA1M0ZDMDJGRjAxNzYKKzoxMEQxRjAwMDJGQTQ4QkYwODM3QzAwQUQwMjJGNDAwMzcwMDNCODAwOTYKKzoxMEQyMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDQzMkMwRDEKKzoxMEQyMTAwMDRDQjAyMzJDMDBGODQwM0VDMjBDQjAwMzJDMDBGQjQxNjQKKzoxMEQyMjAwMDMyQzIwRkIwNDMyRDAwQzg1MDNFNDAwQ0IwMEIxMDA0NkEKKzoxMEQyMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkY5MEI5NTAwM0MwNzYKKzoxMEQyNDAwMDE4RjAxQTNDMDBCOTMyMkRFMDM4RjA2MDNDMDRGOTAwQzcKKzoxMEQyNTAwMDNFRjAwQjdDODAyQzAwRDlDMDJFNDAwREYwMDIzMjAwMzUKKzoxMEQyNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEIyNEIyMTAwMkMxQTUKKzoxMEQyNzAwMDI4MzAwMjZDMDRCMkMxMkNDMDA4MzAwMDBDMDBCMjAwOEYKKzoxMEQyODAwMDI4MjQwMzNDMEEwMDAwODJDODJDQTAwODMwMDIzODAwODEKKzoxMEQyOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMEI0ODAyMUU0Q0UKKzoxMEQyQTAwMDQ4N0IwMjVFMDBCNjgwNkRFMjQ4NzkyMjFFNDBBQzg0NjUKKzoxMEQyQjAwMDJERTAwQkZBMDA1MjQwOTY4MDJERTgxOTM4MDIwODAwNDQKKzoxMEQyQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDg0MEYzMTBCMEM0MEYKKzoxMEQyRDAwMDA4M0EwMjRDOTBGMzEwM0NDQzA4MzEwMzBDNDlCMDQwQTIKKzoxMEQyRTAwMDMwMDUwRjMwMDcyMTQwNDMwMTNFQzIxQzMwNDMxMjAyN0IKKzoxMEQyRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDBEQkMxMEZDMTAzRkM1MDUKKzoxMEQzMDAwMDBGRjEwMUJDMDRGRjA0M0ZDNDBGQjE0QkZDNjRGNzAwRjQKKzoxMEQzMTAwMDM3QzAwRjcyNTNBQzQ0RkYwMTNGQzkwRkY0MDNEMDA2NkUKKzoxMEQzMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwOEZBMDAzRUUwRTQKKzoxMEQzMzAwMDBDQjAwMzJDMDBDQjAyM0VDQTBGQjIwNzJFMDBEQjAyNUEKKzoxMEQzNDAwMDMyMDgwRjMxMDMyQzAwQ0IwNDNFODAwQzM1MDMyQTAwMzkKKzoxMEQzNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMEI1MDAyREM4QzYKKzoxMEQzNjAwMDA4NzAwQTFDMjI4NzAwMkRDOTBCRjI4MjlDODBBNjAwM0YKKzoxMEQzNzAwMDA5OEIwQjcwMEExQzAyODUwMDJENDAwODcwMDI5MjA0NzQKKzoxMEQzODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyQ0VDOTAKKzoxMEQzOTAwMDA4N0IwMjVFNDA4NTg5MkRFQzhCN0IwMjRFODQ4RjgwNUEKKzoxMEQzQTAwMDI1NjQwQkZBMDIxMjA4OTc4MDZGRTEwODdBMDIzMDAwQjgKKzoxMEQzQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MyMEIzNjQyQ0MwMDIKKzoxMEQzQzAwMDA4MzAwNjBDMTA4MzhBNkNDMDVCMzA0MkNDMDBBQjEwNzYKKzoxMEQzRDAwMDJDRjIwQjMwMDIwRDAwOTMwNDJDRDUwODMwMEE5MjA0NzUKKzoxMEQzRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkIwMEZFQzAzRTgwRDkKKzoxMEQzRjAwMDJDQTAwMzY4MDBDNjQwM0Y4MDBGQTAwMjY4MDBDRTQ0MDYKKzoxMEQ0MDAwMDM2OTA0RjYwMDMxQjcwREVEODNGQTAwQzIwMDMzQTA0MTcKKzoxMEQ0MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTA0MEY4MTAzRTAwRkUKKzoxMEQ0MjAwMDBGODAwM0EwMTBGODQyM0UxMDFGODAwM0EwMDBFODBDRkMKKzoxMEQ0MzAwMDNBMDQxRjgwMDNFMDAwRTg0NTdFMDIyRjgwMDNEMjAwRkIKKzoxMEQ0NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwNjQwMEU5ODAzMjQwNTUKKzoxMEQ0NTAwMDBGOTAwQjA0MDhEOTgwMzY0MDBGMTAxMzI0MDhGOTAwRjAKKzoxMEQ0NjAwMDcyNzAwRjkxMTMyNDEwQzkxMDNFNjkwQzkwMDMwMjA0Q0UKKzoxMEQ0NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwOEI5ODAyMjQwRjEKKzoxMEQ0ODAwMDBCMTAwMjI0MDA4OUM0MjI1MjBCOTA0MjI0MDBCOTAwRTAKKzoxMEQ0OTAwMDIyRTAwQjkwMTIyNDA0RDk0QTJFNjAwODkwMDM2MDAwMDkKKzoxMEQ0QTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEIxMTgyMjQwMDAKKzoxMEQ0QjAwMDBCOTAwMjI0MDA4QjIwMjY0OTBCOTAwMjY0MDBCOTAwRDcKKzoxMEQ0QzAwMEEyNDAwQjkwOEEyNDAwOEIwMDJDNDBBODkwMDIwNjAwRkEKKzoxMEQ0RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4NEIxMjBBMDQ4QkYKKzoxMEQ0RTAwMDBCMTEwNjA0MDA4MzAwMDA0MDRCMTEwMjA0NDlCMTEwRTcKKzoxMEQ0RjAwMDI4NDAwQjEwMDIyNDQxOTEwMDJDNTAwODEwMDI0MjAxRDgKKzoxMEQ1MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjk0MEU4NTAzMjE0MkYKKzoxMEQ1MTAwMDBGODY5MzIxRTJDODAwMzYwQTBCODY4QjYxQThGODQwN0IKKzoxMEQ1MjAwMDIyODAwRjgyQTMyMTA4QzgwMjNFMDAwQzgwNDMyRTAzRjQKKzoxMEQ1MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0OEZEMTIzRTQ0MTkKKzoxMEQ1NDAwMDBGMTIwM0M0MDA3RDAxMUU0MDBCOTIwM0U0ODBGNTIwRkUKKzoxMEQ1NTAwMDM2NDAwRjkwMDNENDkwN0QwMDNENDAwRjk0MDNFNjA2QzMKKzoxMEQ1NjAwMDcwMDAwMDAwMDAwMDAwMDAxODAxRjZDMUREODgzMjcyNzIKKzoxMEQ1NzAwMDBDOTgwMzI2MjJERDAwM0Y2MjJDOTk4MzQ2QTBDOTQwMDcKKzoxMEQ1ODAwMEIyNDAwRkQ4MDMyNDAwRkQwMDMzNTEyQ0Q4ODMwNjAwOEQKKzoxMEQ1OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTNDMjg4QzAyMjMwOTQKKzoxMEQ1QTAwMDA4OEM0MjIyMTE4QTAxMkUwMDA4ODg1MjIzMDA4MEEzOTEKKzoxMEQ1QjAwMDJBMDA0QjgwNDIyMkEwQjgwMDIyMjgwODg0MDI4RTA0NTAKKzoxMEQ1QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDgxMkQyMDQ4NDQKKzoxMEQ1RDAwMDY4MTQ4MDA0MjA4MTAwMkU0MDBCMTIxMjA0MjQ4MTIwNDQKKzoxMEQ1RTAwMDIwNDAwQjk0MzIwNDkwQjkwMDIwNDA0ODEwNEEwMjAxQjgKKzoxMEQ1RjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMDg5MjAyMjQwREYKKzoxMEQ2MDAwMDA4OTAxMjI0MDA4OTAwMkU0MDA4OTAwMjI0MDg4OTQwQzYKKzoxMEQ2MTAwMDIyNTAwQkIwMDIyNDIwQjkwOUEyNDQwODkwMDI4NjA0Q0IKKzoxMEQ2MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEQ5MDhCMjQwMkUKKzoxMEQ2MzAwMDRDMTAyMzA0MDREOUMxM0U0MDhGOTAwQjA0MDhDMTQwMTQKKzoxMEQ2NDAwMDEyNDAwRjkwNDMyNDA0RjE0MTMwNzgwQzkwMDMyODA0RDkKKzoxMEQ2NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODY2NEY5ODAzRTQwNTAKKzoxMEQ2NjAwMDBGOTAwQkU0MDBGOTk4M0U0MDJGMTAwM0E0MDJGOTEwMkMKKzoxMEQ2NzAwMDNFNDAwRjkwMEJFNjQwRjk5MDNFNjAwRjkwMDNDQTAwQzkKKzoxMEQ2ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4NDEzMjAwMjcKKzoxMEQ2OTAwMDBDODAwNzIwMTBDODEwM0UwQzBFODAwM0UwMDRDODAwNjgKKzoxMEQ2QTAwMEJBMDAwRjgxNDMyMDAwRjg3MDNFMDAwRjAwMEIwQTA0RkYKKzoxMEQ2QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzkwMjhFMjBBMzgwMTEKKzoxMEQ2QzAwMDI4RTAwQTM4MTBBRTA0M0RBMThFRTAwMkY4MDA4RTAwN0EKKzoxMEQ2RDAwMDc2ODAwQjYwMDM3ODAwQkU0MDJGODIwQkEwMDNDQTAwNDcKKzoxMEQ2RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEQwMDhCODgyMkMwOEIKKzoxMEQ2RjAwMDE4MzAwMjBDMDA4MzQ0MkNEMDFCMzAxMkNDMDY4MzAwNUYKKzoxMEQ3MDAwMDIwQzEwQjMwODIwQzAxQjMwMDJDNDAwQjMwMDIwQTAwMDgKKzoxMEQ3MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMDg1MDAyMENDOEIKKzoxMEQ3MjAwMDA4NzAwNjFDODRBNzAxMjlDMDBCNzIyMkRDODA4NzM0OTQKKzoxMEQ3MzAwMDYxODAwQjEwMDI1QzAwQjcwMDJEQzAwQjcwMDJFODAwODYKKzoxMEQ3NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MEUwMDhDODAzMUUwQkUKKzoxMEQ3NTAwMDBDRkUwMjNGMDBDNTgwMkRFMDBFNzgwM0RGQTBDN0EwQkQKKzoxMEQ3NjAwMDIxNjAwRjc4MDMxRTgwRjc4MDNERTAwRjc4MDMyQTAyQzYKKzoxMEQ3NzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEY5MDAzRUMwRTEKKzoxMEQ3ODAwMDBGQjAwM0VDMDBGQTAwM0VDMDA2QjAwM0VDODBGQjI4QUIKKzoxMEQ3OTAwMDM2RDg0RkEwMDNFQzEwRkEwMDNFNTAwRjMwMDNDMjA2RkIKKzoxMEQ3QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMENDODBCM0UwM0IKKzoxMEQ3QjAwMDBGRjgwMzNFMDBDRjkwM0Y2MDRGRjhDMzNFMDBFRjgwNkMKKzoxMEQ3QzAwMDMzRjAwQzdBMDMzRTcwQzU5MDMzRjEwQzc4MDMwMDAwRkYKKzoxMEQ3RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExQjgwMDg3MDAyMUMwMDAKKzoxMEQ3RTAwMDBCNzA0QTFDMDA4NzEwMkRDMDRCNzEwQTNDNDQ4RjEyRUQKKzoxMEQ3RjAwMDIxODYwRDcyMDIxRTAwODcwMDIzNDAwODcwMEEyQTA0NDkKKzoxMEQ4MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg0MDAyNUMwQjMKKzoxMEQ4MTAwMDBCNzEwQTBDMDBBNzEyMkQ4NDBCNzAwQTFDMDBCNzA4QUMKKzoxMEQ4MjAwMDIzNDAwOUYzMUE1Qzg2OTcwODI1NDAwODcwMDIwMDAwMUYKKzoxMEQ4MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MyMDgxMjAyNkMwMjEKKzoxMEQ4NDAwMDBCMzAwMjJDMDA4MjQyMkM4MDBCMzAyMjBDMDg5QjgwNzMKKzoxMEQ4NTAwMDIwRTAwOTIwMDI0RDA4OTIwMDI0RTUwODMwMEEwODA0NUYKKzoxMEQ4NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUU4MkNBRTBCN0MwN0EKKzoxMEQ4NzAwMDBGRjAxMzNDMEFDOUM4M0U0MDBGRjAwMzNDMDRGRjg0N0MKKzoxMEQ4ODAwMDMyQzAwRDkwMTM3QzAwRDkwMEY2QzAyQzEwMDMyQTA0N0UKKzoxMEQ4OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTQwMEYzMDAzQUMxRDYKKzoxMEQ4QTAwMDRGQjAwM0VDMDBGOTA4M0MwMDBGMzAxM0VDMDBFQjA0MjAKKzoxMEQ4QjAwMEJFMTgwRjkwMjNBQzYwRTkwMjNBNDA0RjkwMDNFMDAwOUQKKzoxMEQ4QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMENBMDAzM0MwNUUKKzoxMEQ4RDAwMDBDRjAwM0ZDMDBDRDAyN0Y0MDBDRjA0MjNDMDBDRjA4NkUKKzoxMEQ4RTAwMDM3MTAwRkQwMDNGQzEwQ0QwODNGNjYyQ0Q5MDMwMDQ0M0QKKzoxMEQ4RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjM4MDhCRTAyMkMwNDMKKzoxMEQ5MDAwMDA4QjAyMkVDMDBEODgwNkUyMDY4QjAxQTJDMDFGQjAwMTEKKzoxMEQ5MTAwMDIyMTgwQjg4NDM0QzAwODhBMDJDQzAxRDkwMDIyMDQwODgKKzoxMEQ5MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMDg4MDhCMjAyMkMwNTEKKzoxMEQ5MzAwMDA4QjAyMkVDMDA4ODg4MkU2MjQ4QjAxQUNDMDA4QjAwMTgKKzoxMEQ5NDAwMDI2QzA0QTg4MDJFQzAwMDg4NDJFNDAwOTkwMDIyMDAwN0MKKzoxMEQ5NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDgzMDA2MEMwRDgKKzoxMEQ5NjAwMDA4MzAwMkNDMDA5MDA2NkMwMDA4MzAwMjhDMDBBMzA0NDIKKzoxMEQ5NzAwMDIwMDA4QjAwMDY0QzIxODAwMDZDQzA0OTEwMEEwMjAxNzcKKzoxMEQ5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENBMDBCMkMxRTEKKzoxMEQ5OTAwMDg4QjQwM0VDMTBDODAwMkUwMDBDQjAwQkJDMDg4RjAwM0MKKzoxMEQ5QTAwMDM2MDAwNjgwMDNFQzgwQzgwMjNGQzEwQzkwMDMwMDAzRTAKKzoxMEQ5QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjAwMEZGMDAzRkMwNkMKKzoxMEQ5QzAwMDBGNzI4M0ZDMThGQzAzM0YwMDhGNzAwMzdDMDBGRjAwODQKKzoxMEQ5RDAwMDNEMDAwRkMwMjM4QzA2RkMwMDNGNDAwRUQwMDNFODA2M0MKKzoxMEQ5RTAwMDcwMDAwMDAwMDAwMDAwMDAwMEM1NDEwMzcwNDBEQzEwMjIKKzoxMEQ5RjAwMDM3MDQwREMxMDM3MDQwREMxMDM3MDQwREMxMDE3MDQwQzUKKzoxMERBMDAwMDlDMTAxNzE0MDVDMTAzNzA0MERDMTAxNzA0MERDMDMxQzEKKzoxMERBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDQwNTcxMDE1QzQwRUEKKzoxMERBMjAwMDU3MTAxNUM0MDUyMTAxNUM0MDU3MTAxNUM0MDE3MTAxNDAKKzoxMERBMzAwMDVDNDAxNzEwMDVDNDA1NzEwNTVDNDE1NzEwMTVDMDExRjUKKzoxMERBNDAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDIwMTIwODA0ODIwRkIKKzoxMERBNTAwMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwREMKKzoxMERBNjAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MDIwRTcKKzoxMERBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDYwMDA1ODAwNkUKKzoxMERBODAwMDE2MDAwNTgwMDE2MDAwNTgwMDE2MDAwNTgwMDU2MDAwNDIKKzoxMERBOTAwMDU4MDAxNjE4MDE4MDAxNjAwMDU4MDA1NjAwMDU4MDIwQ0IKKzoxMERBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDgwNTIyMDExQzgwQTUKKzoxMERBQjAwMDQ3MjAxMUM4MDQ3MjAxNUM4MDU3MjAxMUM4MDQ3MjQxQ0MKKzoxMERBQzAwMDVDODA1NzIwMTFDODA0NzIwMTFDODA0NzIwMTVDMDMxQUEKKzoxMERBRDAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMDYwMDAxODAwNzkKKzoxMERBRTAwMDA2MDAwMTgwMDA2MDAwMTgwMDA2MDAwMTgwMDA2MDAwNTAKKzoxMERBRjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDMxNTcKKzoxMERCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDgwNDIyMDEwODgwNTkKKzoxMERCMTAwMDQyMjAxMDg4MDQyMjAxMDg4MDQyMjAxMDgwMDQyMzAxNDIKKzoxMERCMjAwMDA4ODA0MjIwMTA4ODA0MjIwMTA4MDA0MjIwMTA4MDIxMzEKKzoxMERCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NEEwNTQyODE1MEEwMUUKKzoxMERCNDAwMDQ0MkMxMTBCMDQ0MjgxMTBFMDU0MjgxMTAyMDA0MjgxNDAKKzoxMERCNTAwMDEwQTA0NDM4MTEwQjA1NDI4MTEwMjExNDI4MTUwMDMxMDIKKzoxMERCNjAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMEMwMTU3MDA1NEMwNkQKKzoxMERCNzAwMDE1MzAwNDRDMDExMzAwNTRDMDE1NzAwNTRDMDE1MzAwQkUKKzoxMERCODAwMDU0QzAxNTMwODU0QzAxMTMwMDU0QzAxNTMwMDU0MDIxOTgKKzoxMERCOTAwMDQwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDQwMDAxMDAwNzUKKzoxMERCQTAwMDA0MDAwMDQwMDAxMDAwMTA2MjA0MDAwMTA4MDQ0MTAwNUQKKzoxMERCQjAwMDEwMDA0NDE4MTEwMDAwMTAwMDEwODAwNDAwMDEwMTIwMjIKKzoxMERCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NjAwMjA4MDA4MjAwMjQKKzoxMERCRDAwMDIwODAwODYwMDIxODAwODIwMDIwODAwODIwMDAwODIwQjEKKzoxMERCRTAwMDgyMDAwMDgwODAyMDAyMTgwMDgyMDAyMDgwMDgwMTMxMUQKKzoxMERCRjAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDAwNTY0MDE1ODAwMEUKKzoxMERDMDAwMDU2MDAxNTgwMDU2MDAxNTgwMDU2NDAxNTgwMDU2MDAxREEKKzoxMERDMTAwMDU4MDA1NjAwMTU4MDA1NjAwMTU4MDA3NjAwMTU4MDMxQzcKKzoxMERDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMzYwMDBEODAwQjQKKzoxMERDMzAwMDM2MDAwRDgwMDM2MDAwOTgwMDM2MDAxRDg4MDU2MDAwRTYKKzoxMERDNDAwMEQ4MDAxNjAwMEQ4MDAzNjAwMEQ4ODA0NjAwMEQ4MDMxOUEKKzoxMERDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNDMwODEwQzIwREMKKzoxMERDNjAwMDQzMDgxMEMyMDQzMDgxMEMyMjQxMDgxOEMyMDQzMDg5RDQKKzoxMERDNzAwMDBDMjAwMzA4MTBDMjA0MzA4MTBDMjA0MzA4MTBDMDEwOEYKKzoxMERDODAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDMwMDAwQzAwODgKKzoxMERDOTAwMDAzMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEMwMDAzMDAwOTIKKzoxMERDQTAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAxQTUKKzoxMERDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDIwMTMwODA0QzIwQzUKKzoxMERDQzAwMDEzMDgwNEMyMDEzMDgwNEMyMDEzMDgwNEMzMDEzMDgwQzMKKzoxMERDRDAwMDRDMjAxMzA4MDRDMjAxMzA4MDRDMzAxMzA4MDRDMDIxQ0EKKzoxMERDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNTYwODE1ODIwQ0YKKzoxMERDRjAwMDU2MDgxMTgyMDU2MDgxNTgyMDU2MDgxMTgzMDA2MDgxMDIKKzoxMEREMDAwMDU4MjA0NjA4MTE4MjA0NjA4MTE4MzA1NjA4MTU4MDMwNkEKKzoxMEREMTAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDIwMDIwODAwODIwRTQKKzoxMEREMjAwMDAyMDgwMDgyMDAyMDgwMDgyMDAyMDgwMDgyMDAzMDgwNjMKKzoxMEREMzAwMDA4MjAwMjAwMDA4MjAwMjA4MDA4MjAwMzA4MDA4MDMxQjMKKzoxMERENDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNDYwODExODIwQUYKKzoxMERENTAwMDQ2NDgxMTkyMDQ2MDgxMTkyMDQ2MjgxMTgyMDAzNDgxQkUKKzoxMERENjAwMDE4MjA0NjQ4MTE5MjA0NjA4MTE4MjA0MzA4MTE4MDExNDAKKzoxMERENzAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NjAwNDU4MDE1NjAwQ0IKKzoxMEREODAwMDU1ODAxNTYwMDQ1ODAxMTYwMDU1ODAwMTYwMDQxODAxODMKKzoxMEREOTAwMDU2MDA0NTgwMTE2MDA0NTgwMTE2MDA0MTgwMTE0MDMxNDEKKzoxMEREQTAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDYwMTQxODA1MDYwMkIKKzoxMEREQjAwMDE0MTgwNTA2MDE0MTgwNTA2MDA0MTgwNTA2MDA0MTgwRDIKKzoxMEREQzAwMDEwNjAxNDE4MDUwNjAxNDE4MDUwNjAxNDE4MDUwMDIwRTkKKzoxMERERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTAwODA0MDIwNjAKKzoxMERERTAwMDEwNDgwNDEyMDEwMDgwNDEyMDEwMDgwNDAyMDEwNDgwNDAKKzoxMERERjAwMDQwMjA1MDQ4MDQxMjAxMDA4NDQwMjAxMDA4MDQwMDIwRjQKKzoxMERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDYwMzUxODBENDYwRkYKKzoxMERFMTAwMDMwMTgwRDQ2MDM1MTgwRDU2MDM1MTgwRDQ2MDMwNTgwMzYKKzoxMERFMjAwMEQ0NjAxNTE4MEQ0NjAzMTE4MEQ0NjAzNTE4MEQ0MDMxQUIKKzoxMERFMzAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDYwNTcxODA1QzYwRDUKKzoxMERFNDAwMDk3MTgxNUM2MDU3MTgxNUMyMDU3MTgxNUM2MDM3MDgxOTcKKzoxMERFNTAwMDVDNjA1NzE4MTFDNjA1MzE4MTVDNjA3NzE4MTVDMDMxQjgKKzoxMERFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDYwMzcxODBEQzYwRjcKKzoxMERFNzAwMDM3MTgwREM2MDM3MTgwREQ2MDM3MTgwNUM2MDE3NTgxM0UKKzoxMERFODAwMERDNjAzNzE4MERDNjAzNzE4NDVDNjAxNzE4MTlDMDExNjcKKzoxMERFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDYwNTcxODE1QzYwNDQKKzoxMERFQTAwMDU3MTgxNDg2MDU3MTgxNUM2MDU3MTgwNUM2MDQzMTgxQzYKKzoxMERFQjAwMDVDNjA1NzE4MTVDNjA1NzE4MDVDNjA0MzE4MTVDMDExNjkKKzoxMERFQzAwMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTIwODA0ODIwRjcKKzoxMERFRDAwMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDE3MDgwMDgKKzoxMERFRTAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxNzA4MDQ4MDAwN0UKKzoxMERFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMTYxODA1ODYwODIKKzoxMERGMDAwMDE2MTg0MTg2MDE2MTgwMTg2MDA2M0MwNTg2MDQ2MTgwMTAKKzoxMERGMTAwMDE4NjAxNjE4MDE4NjAwNjE4MDU4NjA1NjE4MTU4MDEwMjgKKzoxMERGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDAwNTcwMDE1QzAwOUEKKzoxMERGMzAwMDU3MDAxNUMwMDQ3MDAxNUMwMDU3MDAxMEMwMDQ3MDAwNDkKKzoxMERGNDAwMDFDMDA0NzAwMTFDMDA0NzAwMTVDMDA0NzAwMDFDMDExQjMKKzoxMERGNTAwMDUwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwMDYwODAxODIwRDIKKzoxMERGNjAwMDA2MDgwMTgyMDA2MDgwMTgyMDA2MDgwMDgyMDA2MDgwOTgKKzoxMERGNzAwMDE4MjAwNjA4MDE4MjAwNjA4MDE4MjAwNjA4MDE4MDExMjAKKzoxMERGODAwMDQwMDAwMDAwMDAwMDAwMDAwMDA1NDIwNDIwODEwODIwM0QKKzoxMERGOTAwMDQyMDgxMDgyMDQyMDgxMDgyMDQyMDgxMTgyMDQyMDgwNTcKKzoxMERGQTAwMDA4MjA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4MDA4MDExQzUKKzoxMERGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwNTQwODE1MDIwQTQKKzoxMERGQzAwMDU0MDgxNTAyMDU0MDgxMTAyMDU0MEMxNTQyMDA0MDgxNzAKKzoxMERGRDAwMDUwMjA0NDA4MTEwMjA1NDA4MTEwMjAxNDA4MDUwMDExNEEKKzoxMERGRTAwMDUwMDAwMDAwMDAwMDAwMDAwMDAxMDMwMTUwQzA1NDMwNDgKKzoxMERGRjAwMDE1MDgwNTQyMDE1MEMwNTQzMDE1MEMwNTQzMDE1MEMwQUUKKzoxMEUwMDAwMDU0MzAxNTBDMDU0MjAxNTBDMDU0MzAxNTBDMDU0MDEwMTkKKzoxMEUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDQyMDAxMDgwMjYKKzoxMEUwMjAwMDA0MjAwMTg4MDA2MjAwMTA4MDA0MDAxMTA4MDA0MjAwRjIKKzoxMEUwMzAwMDEwODAwNDIwMDEwODAwNDIwMTEwODAwNDIwMDEwMDAwMkIKKzoxMEUwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwMjAwODA4MDIwMjcKKzoxMEUwNTAwMDIwMDgwODAyMDIyMDgwODAyMDIwMjgwMDAyMDIwMDgwODAKKzoxMEUwNjAwMDgwMjAyMDBBMDgwMjAyMDA4MDAwMjAyMDA4MDgwMDExRjkKKzoxMEUwNzAwMDUwMDAwMDAwMDAwMDAwMDAwMDQ1NDAwNTYwMDE1ODAwMEQKKzoxMEUwODAwMDU2MDAwNTgwMDU2MDAxNTgwODU2MDAxNTgwMDc2MDAyOUIKKzoxMEUwOTAwMDU4MDA1NjQwMTU4MDA1NjAwMzE4MDA3NjAwMTU4MDExNjEKKzoxMEUwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMzYwMDBEODAwMzAKKzoxMEUwQjAwMDM2MDAwRDgwMDE2MDAwRDgwQTM2MDAwRDgwMDU3MDA5MTkKKzoxMEUwQzAwMEQ4MDEzNjAwMEQ4MDAzNjAwMEQ4MDA1NzAwMEQ4MDAwOTUKKzoxMEUwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMwMDEwQzAwRkYKKzoxMEUwRTAwMDQzMDAxMEMwMDAzMDAxMEMwMDQzMjAxMEMwMDQ2MDAxNDgKKzoxMEUwRjAwMDBDMDA0MzQwNTBDMTA0MzAwMTBDMDA0NjAwMTBDMDAwMjkKKzoxMEUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDAwQzAwRDMKKzoxMEUxMTAwMDAxMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEQwMDAyMDAwMEYKKzoxMEUxMjAwMDBDMDAwMzQwMDBDMDAwMzAwMDBEMDAwMjAwMDBDMDAwRTEKKzoxMEUxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwMTMxNDA0QzUwQ0MKKzoxMEUxNDAwMDEzMTAwNEM0MDEzMTQwNEM1MDEzMTQwNEM1MTEzMTQxNjMKKzoxMEUxNTAwMDRDNTAxMzE0MDRDNTAxMzE0MDRDNTAxMzE0MDRDMDAwM0EKKzoxMEUxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMwNTY4QzE1QTMwRDQKKzoxMEUxNzAwMDU2OEMxMUEzMDQ2OEMxMUEzMDU2OEMxMUEzMDU2OEMwQ0YKKzoxMEUxODAwMDVBMzA0NjhDMTFBMzA0NjhDMTVBMzAxNjhDMTU4MDAwOTEKKzoxMEUxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwODAwNTcKKzoxMEUxQTAwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMjAwMDkwMDAyMDAwRjMKKzoxMEUxQjAwMDA4MDAwMjQwMDA4MDAwMjAwMDA5MDAwMjAwMDA4MDAwRUEKKzoxMEUxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NDYyMDExODg0MDQKKzoxMEUxRDAwMDQ2MjExMTg4NDQ2MjExMTg4NDQ2MDExMTg4NDQ2MjEwNTYKKzoxMEUxRTAwMDE4ODQ0NjIxMTE4ODQ0NjIxMTE4ODQwNjIxMTE4MDAwODgKKzoxMEUxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTUwMTE1NDA0MjEKKzoxMEUyMDAwMDU1MDExMTQwNDU1MDExMTQwMDQ1MDExMTQwNDQ1MDAwODIKKzoxMEUyMTAwMDE0MDQ0NTAwMTU0MDQ0NTAxMTE0MDQ1NTAxMTE0MDAwRTgKKzoxMEUyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyMTQyMDg1MDgyQTkKKzoxMEUyMzAwMDE0MjA4NTA4MjE0MjA4NTA4MjA0MjA4NTA4MjE0MjA4QzQKKzoxMEUyNDAwMDUwODIxNDIwMDUwODIxNDIwODUwODIxNDIwODUwMDAwQzUKKzoxMEUyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwMTAyODA0MEEwNTEKKzoxMEUyNjAwMDEwMjgwNDBBMDEwMjgwNDBBMDEwMjg0MDBBMDEwMjgwMDAKKzoxMEUyNzAwMDQwQTAxMDI4NDQwQTAxMDI4MDQwQTAxMDI4MDQwMDAwOTkKKzoxMEUyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwMzUzMDBENEMwOTgKKzoxMEUyOTAwMDM1MzAwRDRDMDE1MzAwRDRDMDM1MTAwQzRDMDM1MzAwRTUKKzoxMEUyQTAwMEQ0QzAzNTMwMEQ0QzAzNTMwMEQ0QzAzNTMwMEQ0MDAwODAKKzoxMEUyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNTcyMDE1QzgwMDIKKzoxMEUyQzAwMDE3MjAwNUM4MDY3MjAxNUM4MDU3MjAxNUM4MDI3MjAxMkMKKzoxMEUyRDAwMDVDODA1NzIwMTVDODA1NzIwMTVDODAzNzIwMTFDMDAwOTIKKzoxMEUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMxODQwQzYxMjMxQUEKKzoxMEUyRjAwMDg0OEMyMTIzMDg0OEM2MTIzMDg0MEM2MTIzMTA0OEMyNDQKKzoxMEUzMDAwMDEyMzE4NDhDMDEyMzA4NDhDNjEyMzEwNDhDNjEwMDAwNEMKKzoxMEUzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRjRGRkZEM0ZGOUYKKzoxMEUzMjAwMEY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGMjMKKzoxMEUzMzAwMEQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQwMDAwQ0QKKzoxMEUzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMEUzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMEUzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMEUzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkNEQjBGQjZDMkNENDIKKzoxMEUzODAwMEIwQjM2QzJDREIwQjM2QzJERkIwQjM2QzJDREIwQjdFNzYKKzoxMEUzOTAwMEMyQ0RCMEI3RkQyQ0RCMEIzNkMyQ0RCMEIzNkMwMDAwRTQKKzoxMEUzQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMzQzRGQ0YxMzMzOUEKKzoxMEUzQjAwMEM0Q0NGMTMzM0M0Q0NGMTMzRkM0Q0NGMTMzM0M0Q0ZGQzUKKzoxMEUzQzAwMDEzMzNDNENGRkQzMzNDNENDRjEzMzNDNENDRjEwMDAwMjYKKzoxMEUzRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0I3RTRFREY5M0I3MEQKKzoxMEUzRTAwMEU0RUM3OTNCMUU0RURGOTNCRkU0OERGOTNCNzg0RUZGQTIKKzoxMEUzRjAwMDkzQjdFNEVERkQzQjFFNEVERjkzQjc4NEVERjkwMDAwQ0IKKzoxMEU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjcwNDA5QzEwQUQKKzoxMEU0MTAwMDI3MUMwOUMxMDEzMDQwMUMxMDY3MDQwOUMxMDI3MDQxNkEKKzoxMEU0MjAwMDlDMTEwNzE0MDFDMTAyNzA0MDlDNTAwNzFDMDFDMDAwRTAKKzoxMEU0MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwNTcxMDE1QzQwQzUKKzoxMEU0NDAwMDU3MTA1NUM0MDEzMTAwNUM0MDU3MTAxNUM0MDU3MTAxQzcKKzoxMEU0NTAwMERDNDAxNzE4MURDNDA1NzEwNTVDNDA1NzEwMURDMDAwMzUKKzoxMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTIwODA0ODIwQTEKKzoxMEU0NzAwMDEyMDAwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwQkEKKzoxMEU0ODAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4NjAxMjA4MDQ4MDAwOUQKKzoxMEU0OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMDAxODAwMDQKKzoxMEU0QTAwMDA2MDA0MTgwMDA2MDAwMTgwMDQ2MDAwMTgwMDA2MDAwMDYKKzoxMEU0QjAwMDEwMDAwNjEwMDE4MDAwNjAwMDE4MjA0NjEwMDE4MDAwNDYKKzoxMEU0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDcyMDExQzgwMzEKKzoxMEU0RDAwMDQ3MjAxMUM4MDQ3MjAxMUM4MDA3MjAxMUM4MDQ3MzAwNzIKKzoxMEU0RTAwMDFDODA0NzIwMTFDQzA0NzIwMTFDODA0NzIwMTFDMDAwMDEKKzoxMEU0RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMDAxODAwQTQKKzoxMEU1MDAwMDA2MDAwMTg0MDA2MDAwMTgwMDA2MDAwMTgwMDA2MDQwRTEKKzoxMEU1MTAwMDE4MDAwNjA0MDE4MTAwNjAwMDE4MDAwNjE0MDE4MDAwNDQKKzoxMEU1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDIyMDEwODgwMzQKKzoxMEU1MzAwMDQyNzAxMDhDMDQyMjAxMDhDMDAyMjAxMDg4MDQyMjAwQkUKKzoxMEU1NDAwMDA4ODA0MjUwMTAwODA0MjIwMTA5MDA0MjQwMTA4MDAwNTcKKzoxMEU1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUwNDRBODExMkEwMEMKKzoxMEU1NjAwMDQ0QTgxMTJBMDQ0QTgxMTJBMDA0QTgxMTJBMDQ0QjgwNEQKKzoxMEU1NzAwMDEyQTA0NDg4MDEyRTA0NEE4MTEyMjAwNDk4MDEwMDAwNTAKKzoxMEU1ODAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMEUwMDUzMDAxNEMwOEUKKzoxMEU1OTAwMDA1MzAwMTRDMDA1MzAwMTRFMDA1MzAwMTRDMDA1MzAwREQKKzoxMEU1QTAwMDA0QzAwNTMwMDA0QzAwMDMwMDE0QzAwNTMwMDA0MDEwQ0EKKzoxMEU1QjAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMDQwMDQwMDAxMDAwM0YKKzoxMEU1QzAwMDA0NTgwMTA0MDA0MDAwMTAwMDA0MDAwMTAwMDA0MTAwNTQKKzoxMEU1RDAwMDA0MDA0NDU4MTA0NDAwMDAwMDExODAwNDUwMTA0MDMwRTIKKzoxMEU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwNDAwMjAwMDA4MDAwQTEKKzoxMEU1RjAwMDIwMDAwODAwNDAwMDAwMDAwMDIwMDAwODAwMDIwMDAwODkKKzoxMEU2MDAwMDg0MDAwMDAwMDg0MDAyMDAwMDgwMDAyMDAwMDg0MDMwMjQKKzoxMEU2MTAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwNDAwMDYwMDExODAwNzkKKzoxMEU2MjAwMDQ2MDAwMTgwMDY2MDAxOTgwMDQ2MDAxMTgwMDQ2MDAxRTgKKzoxMEU2MzAwMDE4MDA0NjAwMTE4MDA0MjAwMTE4MDA2NjAwMTE4MDMwODcKKzoxMEU2NDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAxNDAwMDYwMDA5ODAwODEKKzoxMEU2NTAwMDI2MDAwOTgwMDI2MDAxOTgwMDA2MDAwQzgwMDI2MDAwMUMKKzoxMEU2NjAwMDE4MDAwNjAwMDE4MDAyNjAwMDk4ODAwNjAwMDE4MjAwMDgKKzoxMEU2NzAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwMDMwODEwQzIwRjYKKzoxMEU2ODAwMDQzMDgxMEMyMjQzMDgxOEMyMDAzMDgxMEMyMDQyMDgwNkIKKzoxMEU2OTAwMDBDMjAwMzA4MThDMjA0MzA4MTBDMjA0MzA4MThDMDExNTQKKzoxMEU2QTAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDMwMDAwQzAwOUUKKzoxMEU2QjAwMDAzMDAwMEMwNDAzMDAwMEMwMDAzMDAwMDgwMDAzMDAwNjgKKzoxMEU2QzAwMDBDMDAwMzIwMDBDMDAwMzAwMDBDMDAwMzIwMDBDMDAwM0MKKzoxMEU2RDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxMDIxMDMwODAwQzIwMEIKKzoxMEU2RTAwMDAzMDgwMEMyMDAzMDgwMEMyMDAzMDgwMEMyMDEyMDgwMTMKKzoxMEU2RjAwMDBDMjAwMzJDMDBDMjAwMzA4MDBDMzA0MzJDMDBDMDAwRTIKKzoxMEU3MDAwMDQwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwNDYwODExODIwRTUKKzoxMEU3MTAwMDQ2MDgxMTgyMDQ2MDgwMTgyMDQ2MDgxMTgyMDQ2MDgxMzYKKzoxMEU3MjAwMDE4MjA0NjBDMTFDMjA0NjA4MTE4MzA0NjBDMTFDMDExMkIKKzoxMEU3MzAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxNDIwMDIwODAwODIwM0UKKzoxMEU3NDAwMDAyMjgwMDgyMDAyMDgwMDgyMDAyMDgwMDgyMDAyMDgwMjkKKzoxMEU3NTAwMDA4MjAwMjA4MDE4MjAwMjA4MDA4MjAwMzA4MDE4MDAwQjAKKzoxMEU3NjAwMDAwMDAwMDAwMDAwMDAwMDA1MDAxNDIwNDYwODExODIwRjkKKzoxMEU3NzAwMDQ2MjgxMTgyMDQ2MDgwMTgyMDQ2MDgxMTgyMDQ2MDgxQjYKKzoxMEU3ODAwMDE4MjA0NjA4MTA4MjA0NjA4MTE4MjA0MzA4MTA4MDAwNzkKKzoxMEU3OTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDAwNDUwMDExNDAwNEIKKzoxMEU3QTAwMDQ1MDAxMTQwMjUwMDAwMTQwMDQ1MDAxMTQwMDQ1MDAxQUYKKzoxMEU3QjAwMDE0MDA0NTAwMDA0MDA0NTAwMTQwMDAwMTAwMDA0MjExRDcKKzoxMEU3QzAwMDUwMDAwMDAwMDAwMDAwMDA0ODAwMDYwMDQxODAxMDYwN0EKKzoxMEU3RDAwMDA0MTgwMTA2MDA0MTgwMTA2MDA0MTgwMTA2MDA0MTgwMDEKKzoxMEU3RTAwMDEwNjAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDEwMDAwNDgKKzoxMEU3RjAwMDAwMDAwMDAwMDAwMDAwMDA0ODAwMDIwNTAwODA0MDIxRTkKKzoxMEU4MDAwMDEwMDgwNDAwMDEwMDgwNDAyMDEwMDgwNDAyMDEwMDgwNkMKKzoxMEU4MTAwMDQwMjA1MDA4MTQwMjExMDA4NDQwMjAxMDA4MTQwMDAwMDkKKzoxMEU4MjAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDYwMTUxODBENDYwMTcKKzoxMEU4MzAwMDM1MTgwRDQ2MDM1MTgwRDQ2MDE1MTgwRDQ2MDM1MTgwREMKKzoxMEU4NDAwMDU0NjAxNTE4MEQ0NjAzNTE4MEQ0NjAzNTE4MEQ0MDExRTEKKzoxMEU4NTAwMDUwMDAwMDAwMDAwMDAwMDAwMDAxNDYwNDcxODExQzYwQUYKKzoxMEU4NjAwMDQ1MTgxMUQ2MDQ3MTgxMUM2MDY3MTgxMUM2MDQ3MTgxQTYKKzoxMEU4NzAwMDlDNjA0NzE4MTFDNjA0NzE4MTFDNjA2NzE4MTFDMDAwQTQKKzoxMEU4ODAwMDAwMDAwMDAwMDAwMDAwMDA0MDA1NDYwMjcxODA5QzYwMEUKKzoxMEU4OTAwMDI3MTgwOUM2MDA3MTgwOUM2MDY3MTgwOUM2MDI3MTgwM0MKKzoxMEU4QTAwMDlDNjEyNzE4MDFDNjAyNzE4MDlDNjAwNzE4MDFDMDAwOTYKKzoxMEU4QjAwMDAwMDAwMDAwMDAwMDAwMDA1MDQ1NDYwNTcxODE1QzYwQ0EKKzoxMEU4QzAwMDU3MTg1NUQ2MDE3MTgxNUM2MDU3MTgxNUM2MDU3MTgxQkUKKzoxMEU4RDAwMDVDNjA1NzE4MThDNjA1NzE4MTVDNjA0MzE4MTg4MjExNzYKKzoxMEU4RTAwMDUwMDAwMDAwMDAwMDAwMDA0MDA0NTIwMTIwODA0ODIwMzkKKzoxMEU4RjAwMDEyNDgwNDkwMDEyMDgwNDkyMDEyMDgwNDgyMDEyNDgwREIKKzoxMEU5MDAwMDQ4MjAxMjQ4MDA5MjAxMjA4MDQ4MjAxNzQ4MDQ4MDAxQzYKKzoxMEU5MTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDYwMDYxODAxODYwNTgKKzoxMEU5MjAwMDA2M0MwMTg2MDA2MTgwMTg2MDQ2MTgwMTg2MDA2MTgwRkYKKzoxMEU5MzAwMDE4NjAwNjE4MDE4NjAwNjE4MDE4NjA0NjE4MDE4MDAxODEKKzoxMEU5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxNjAwNDc4MDExRTAwOEIKKzoxMEU5NTAwMDQ3ODAxMUUwMjQ3ODAxMUUwMDA3ODAxMUUwMDQ3ODAxNEYKKzoxMEU5NjAwMDFFMDA0NzgwMTFFMDA0MzgwMTFFMDA0NzgwMTFDMDExQ0QKKzoxMEU5NzAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMTIwMDYwODAxODIwREMKKzoxMEU5ODAwMDA2NDgwMTkyMDA2MDgwMTkyMDA2MDgwMTgyMDA2NDgwMTgKKzoxMEU5OTAwMDE4MjAwNjQ4MDE5MzAwMjA4MDE4MjAwNjQ4MDE4MDAwQjYKKzoxMEU5QTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDIwNDIwODEwODIwMTcKKzoxMEU5QjAwMDQyMDgxMDgyMDQyMDgxMDgyMDAyMDgxMDgyMDQyMDgxNkQKKzoxMEU5QzAwMDA4MjA0MjA4MTA4QTA0NjA4MTA4MjA0MjA4MTA4MDAwNTQKKzoxMEU5RDAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwNDQwODExMDIwN0IKKzoxMEU5RTAwMDQ0MDgxMTAyMDQ0MDgxMTAyMDA0MDgxMTAyMDQ0MDgxRUYKKzoxMEU5RjAwMDEwMjE0NDA4MDEwMjA0NTA4MTEwMjAwNDA4MDEwMDExNzQKKzoxMEVBMDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDMwMDUwQzAxNDMwMUYKKzoxMEVBMTAwMDA1MEMwMTQzMDA1MEMwMTQzMDA1MEMwMTQzMDA1MDgwMjgKKzoxMEVBMjAwMDE0MzAwNTA4MDE0QTAwNTBDMDE0MzAwNTA4MDE0MDAwQTgKKzoxMEVBMzAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDgwMDQyMDAxMDgwQkMKKzoxMEVBNDAwMDA0MjAwMTA4MDA0MjAwMTA4MDA0MjAwMTA4MDA0MjAwNTgKKzoxMEVBNTAwMDEwODAwNDIwMTEwMDAwNDIwMDEwODAwNDIwMTEwMDEwREEKKzoxMEVBNjAwMDQwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwMjAwODA4MDIwN0QKKzoxMEVBNzAwMDIwMDgwODAyMDAwMDgwODAyMDIwMDgwODAyMDIwMDgwOTAKKzoxMEVBODAwMDgwMjAyMDA4MDgwMjAyMDA4MDgwMjAyMDA4MDgwMDExNTEKKzoxMEVBOTAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxNDAwMDYwMDExODAwMkMKKzoxMEVBQTAwMDQ2MDAxMTgwMDY2MDAxMTgwMDQ2MDAxMTgwMDQ2MDAxRDQKKzoxMEVBQjAwMDE4MDA0NjAwMTE4MDA0NjAwMTE4MDA2NjAwMTE4MDEwRTMKKzoxMEVBQzAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDAwMjY0MDA5ODAwQzcKKzoxMEVBRDAwMDI2MDAwOTkwMDY2MDAxOTgwMDI2NDAwOTgwMDI2MDAwMjcKKzoxMEVBRTAwMDk4MDAyNjAwMDA5MDAyNjAwMDk4MDAwNzAwMDE4MDAwNTYKKzoxMEVBRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NjAwNDM4MDUwRTAwRTIKKzoxMEVCMDAwMDQzODAxMEUwNDQzODAxMEUwMDQzODAxMEUwMDQzODAxRDcKKzoxMEVCMTAwMDBFMDA0MzgwMThBMDA0MzgwMTBFMDA0NjgwMTg4MDExQjIKKzoxMEVCMjAwMDUwMDAwMDAwMDAwMDAwMDA1MDAwMDEwMDMwNDAwQzEwQjgKKzoxMEVCMzAwMDAzMDQwMEM1MDAzMDQwMEMxMDAzMTQwMEMxMDAzMDQwMzUKKzoxMEVCNDAwMDBDMTAwMzA0MDA4NzQwMzA0MDBDMTAwMjA0MDA4MDAwQzkKKzoxMEVCNTAwMDAwMDAwMDAwMDAwMDAwMDA0MDA0MDUwMDM1NDAwQzUwOUIKKzoxMEVCNjAwMDAzMTQwMEQ1MDQzMTQxMEM1MDAzNUMwMEM1MDAzMTAwOTIKKzoxMEVCNzAwMDBDNTAwMzEwMDA5NDAwMzE0MDBDNTA0MzEwMDBDMjAwQjAKKzoxMEVCODAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDMwNTIwQzExODMwOEYKKzoxMEVCOTAwMDQ2MEMxMTk3MDA2MEMwMTgzMDQ2MUMxMTgzMDQ2MEMxRjgKKzoxMEVCQTAwMDE4MzA1MjBDMTE4NzA0NjBDMTE4MzA0NjBDMTE4MDExQzYKKzoxMEVCQjAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMDAwMDIxNDAwODAwNUIKKzoxMEVCQzAwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMDAwRjkKKzoxMEVCRDAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMDEKKzoxMEVCRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDg0NDIyMDExODg0OTkKKzoxMEVCRjAwMDQ2MjExMTk4MDA2MjEwMTg4NDQ0MjAxMTg4NDQ2MjExNDMKKzoxMEVDMDAwMDE4ODQ0MjIxMTE4MDQ0NjIxMTE4ODQ0NjIxMTE4MDAwMjkKKzoxMEVDMTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDAwNDUwMTExNDA0QjIKKzoxMEVDMjAwMDQ1MDAxMTQxMDA1MDEwMTQwMDQ1MDExMTQwNDQ1MDExOUQKKzoxMEVDMzAwMDE0MDQ0NTAxMDE0MDQ0NTAxMTE0MDQwNTAxMDE0MDExMjAKKzoxMEVDNDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDgyMDQyMDgxMDgyMzAKKzoxMEVDNTAwMDA0MjAwMTA4MjA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4NzQKKzoxMEVDNjAwMDEwODIwNDIyODEwODIwNTIwODEwOEEwNDIyODEwMDAwQTgKKzoxMEVDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MEEwMTAyODQ0MEExMUUKKzoxMEVDODAwMDEwMjgwMDBBMDEwMjgwNDBBMDEwMjgwNDBBMDEwMjgwMTYKKzoxMEVDOTAwMDQwQTAxMDJDMTQwQTAwMDI4MDQwQjAxMDJDMTQwMDAwNzgKKzoxMEVDQTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NEQwMzUzNDBENEQwNTgKKzoxMEVDQjAwMDM1MzAwQzREMDM1MzQwRDREMDM1MzQwRDREMDM1MzQwMDMKKzoxMEVDQzAwMEQ0RDAzNTM0MEQ0RDAyMTM0MEQ0RDAzNTM0MEQ0MDExMUQKKzoxMEVDRDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMDgwNDcyMDExQzgwODgKKzoxMEVDRTAwMDQ3MjAxNUM4MDQ3MjAxMUM4MDQ3MjAxMUM4MDQ3MjExMDYKKzoxMEVDRjAwMDFDODA0NzI2MTFDODQ0NzIwMTFDOTA2NzI2MTFDMDAwNzEKKzoxMEVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMwODQwQzYxMjMxOEYKKzoxMEVEMTAwMDg0OEMwMTAzMDg0OEM2MTIzMDg0MEM2MTIzMTg0OEMyNTEKKzoxMEVEMjAwMDEyMzE4NDhDMDEwMzA4NDhDNjEyMzEwNDhDMDEwMDAwQTIKKzoxMEVEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRjRGRkZEM0ZGNzUKKzoxMEVENDAwMEY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRjkKKzoxMEVENTAwMEQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQwMDAwQTMKKzoxMEVENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMEVENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMEVEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMEVEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkRGQjBGQjZDMkNERjcKKzoxMEVEQTAwMEIwQjdGRDNGRkIwQjM2QzJERkIwRkI2QzJDREIwQjdFM0MKKzoxMEVEQjAwMEMyQ0RCMEI3RkQzRkZCMEIzNkMyQ0RGNEI3RkQwMDAwQUUKKzoxMEVEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzNGQzRGQ0YxMzMzQjAKKzoxMEVERDAwMEM0Q0ZGRDNGRkM0Q0NGMTMzRkM0RkNGMTMzM0M0Q0ZGOTAKKzoxMEVERTAwMDEzMzNDNENGRkQzRkZDNENDRjEzMzNGNENGRkQwMDAwRjEKKzoxMEVERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0I3RTRFREY5M0I3RTMKKzoxMEVFMDAwMEU0RURGOTNGRkU0RURGOTNCN0U0RURGOTNCN0U0RUM3RUMKKzoxMEVFMTAwMDkzQjdFNEVDNjEyMzFFNEVERjkzQjc4NEVDNjEwMDAwRUUKKzoxMEVFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTI0QTE0QTI0RUEKKzoxMEVFMzAwMDYzMDExNDAyNDQwMDgxMEIyODcxMDIxMDgyNDAzODExRDIKKzoxMEVFNDAwMDQxMDQ1MDA4MTg4Mjg3MzgzMUMzMkM1MjBBMTAwMDAwNDAKKzoxMEVFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NTEyODE0NDgwMEUKKzoxMEVFNjAwMDcxMjExQzBBMDcxQTgxMDJBMDUyMjAxNDQ4MDcxMjgxM0UKKzoxMEVFNzAwMEM2ODA2MDIwMDg4ODQ3MDIwMTRBODA3MDIwMTAwMDAwODgKKzoxMEVFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDNTJDMDE0QTAwNDQKKzoxMEVFOTAwMDUyMDkxQzgwMDcyNDIxMDgwODcxMDIxMDgwNDUyMEExMTYKKzoxMEVFQTAwMDQ5Mjg1MjAxMTRDMDQ1MDA5MUM0MDA3MjAyMTAwMDAwQUMKKzoxMEVFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwNzIwMDFDMTAwNjcKKzoxMEVFQzAwMDcxMDkxMDgwMDcwMDAxMDEwMDcwMDgxODgwMDcwMDAxMTcKKzoxMEVFRDAwMDg5MjA1MjAxMEM4MDQ2MzA4MTQ1MDQ2MDAwMTAwMDAwRkEKKzoxMEVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMjAyMjAwMDg4QUUKKzoxMEVFRjAwMDIwMjIwMDA4QzIyMjgwNDA4ODAyMjIwMDA4ODIwQUEwNDQKKzoxMEVGMDAwMDBDQTgwMjIyMDAwODgwMEEwMDgwOEMwMjIyMDAwMDAwNjcKKzoxMEVGMTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDI0MzAwMDA0MDIwNDQKKzoxMEVGMjAwMDMwMDgwNDQwNDEzMDEwQzgwMDAwMDAwMDAyMDMwMDEwMDcKKzoxMEVGMzAwMEMwMDAxMTA4MDBDMjQzMTA4MEMwMjAwMTA4MDAwMjAwNzgKKzoxMEVGNDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDhDMzBBMjBDMThDNzcKKzoxMEVGNTAwMDEyMjIwNDg4MDEzNjIwQzMwODEyMjgwNDA4MDEwNDAwODQKKzoxMEVGNjAwMDRBQTgyMjAxMDRDODQxMjYzMEMwODgwMjIxMDAwMjAwQkMKKzoxMEVGNzAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwMDBBMTBDMTgwMjYKKzoxMEVGODAwMDMyMjEwQzg4NDMwMjgwNDQ4MDEyMjkwNDA4NDIwQTkwRUUKKzoxMEVGOTAwMDhBODAwMDIwMDQ0ODAzMEExMDgyODAwMDIwMDAwMjAwQkEKKzoxMEVGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4NzAyQTE4MEFDMDEKKzoxMEVGQjAwMDQzMjkxNDhBODQwMkExMDBBQzQxMjAxMDA4MDYyNjMxOUUKKzoxMEVGQzAwMDgwQTQ2MDIwMTQ0QTQ0MzI4MTgxQUM2MDJBMTgwMjAwNzcKKzoxMEVGRDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwNzIyMDFDNTgwQjIKKzoxMEVGRTAwMDczMjExQ0M4MDcyQTAxMEM4MDcyMjAxMDQ4NDcyNjExODMKKzoxMEVGRjAwMEM1ODA3MzIwMUM4ODA3MkExMTQ5ODA3MDIwMTQwMjAwRTQKKzoxMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDA0NTEwMzFDOTBDOUQKKzoxMEYwMTAwMDczMDIxQ0MwNDcwNDAxMEEwQzUxMEExMDgyNDcyMDMxQjgKKzoxMEYwMjAwMEM4MDA3MjAyMUM0MDA1MzAxMUM0MDA3MjAxMTgwMjAwQjEKKzoxMEYwMzAwMDAwMDAwMDAwMDAwMDAwMDAwODEwMTAwNjI0MDE0NTA0MzQKKzoxMEYwNDAwMDUxODExODkwNDcxNDAxMDQwNDcxODgxMDEyMDUzNDAxOEQKKzoxMEYwNTAwMDQ0MDQ1MTQwMThEMDA3MzgwMUM0MDQ1MjAxMTRDMjA0QkEKKzoxMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NzAwMjE4OTBDNjMKKzoxMEYwNzAwMDYwMDExQ0QwNDUyNDAxQzEwQzQyMDEwMDAwQzUyMDMxQjMKKzoxMEYwODAwMDQxMDg0MDAwMTg4MDQ1MDAyMTQxMEM3MDQyMUNDMjAwMUMKKzoxMEYwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTFDODBDNDIwRUQKKzoxMEYwQTAwMDMxMDgxMDQyNDIwODgwQzYyMDMxMDkwMDIwMDMxQzkwMUMKKzoxMEYwQjAwMEM0MjAwMTQ5MEM0MjQzMTA4MDQ0MjAzMTA4MTAwMDAwNTQKKzoxMEYwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzA4MzIwMzA0ODBDRTkKKzoxMEYwRDAwMDMyNDAxMDkwODEyNDIwQzgwNDMyNDAxMDIwQzMyMDgwODgKKzoxMEYwRTAwMEM4MDAwMjRBMENBMDAxMjQxMEM4MDgzMjQxMTAwMDAwRDgKKzoxMEYwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwOTAwMzAwMDBDOTA0QTAKKzoxMEYxMDAwMDMwNDAwMDkwMDAyMDAwODAwMDEwNDAxMDAwNDAyMDEwOEYKKzoxMEYxMTAwMEMyMDAwMDgwMDgyMDQzMDgxMDgxMDAzMjQwMENDMDA0NjcKKzoxMEYxMjAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDQwMDAwMDAwNEYKKzoxMEYxMzAwMDEwMDAwMEYwMTAyMDAwMDAwMDEwMDAwMEYwMTA4MDQwQ0YKKzoxMEYxNDAwMDAwMDAwMDQwMDBGMDEwOTA4MDAwMDAwMDAwMDBDMDAwQUYKKzoxMEYxNTAwMDAwMDAwMDAwMDAwMDAwMDAzQzNDMTA4MDkwNDAwMDAwRDcKKzoxMEYxNjAwMDAwODAxMDkwQTA5MDAwMDAwMDAwMDAxMDkwODA4MDAwQUYKKzoxMEYxNzAwMDAwMDAwMDAwMTA5MDgwOTAwMDAwMDAwMDQwMTA4RjBGRjEKKzoxMEYxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjRDNkJBMDZDMDFDRjkKKzoxMEYxOTAwMDQ5Mjg2MTE0MkIxQzBFNDAzRkQ5QkZEOUFBQkMxQTVGNjUKKzoxMEYxQTAwMDAwMTBBNjUwM0I2MUIzMjVCQzQwMTlCRkZGRTk4MDAwQTkKKzoxMEYxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA5MjE0OTQ4MDBDNzkKKzoxMEYxQzAwMDA3M0YyQjk0ODYxNDg0ODAyODAwMDA0OTE0MDQ4NjEyN0IKKzoxMEYxRDAwMDgwMDA0MTI3MzREMDkwODQ5MjAwMkQ4QTIxMUU4MDAwMjcKKzoxMEYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEEyNzUKKzoxMEYxRjAwMEIxMDEwMTAwMDAwMDAwMDg4NEIxNzgyODAwMDAwMDAwN0YKKzoxMEYyMDAwMDA4QjEzMjE0MTQwMDAwMDAwMDA4QTgyMzU0MjE0MDAwNjMKKzoxMEYyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwRjIKKzoxMEYyMjAwMDAwMDAwMDJGRkZGRUY3QzAwMDAwMDAwMDJGRDdGRUVGMDgKKzoxMEYyMzAwMEMwMDAwMDAwMDAzRkZGN0ZGRkMwMDAwMDAwMDAwMDAwOTIKKzoxMEYyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwQzIKKzoxMEYyNTAwMDAwMDAwMDBGRUY3N0ZGQzAwMDAwMDAwMDNFRkZGRUVGNTAKKzoxMEYyNjAwMDQwMDAwMDAwMDAzRkZGQkZGRjQwMDAwMDAwMDAwMDAwMjIKKzoxMEYyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwOTIKKzoxMEYyODAwMDAwMDAwMDNGRkZERkZGQzAwMDAwMDAwMDNGRkZGRkZGNjYKKzoxMEYyOTAwMEMwMDAwMDAwMDAzRjdGMkZGRkMwMDAwMDAwMDAwMDAwMDIKKzoxMEYyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwNjIKKzoxMEYyQjAwMDAwMDAwMDFGRkZGRkVGQzAwMDAwMDAwMDFGRUZFRkVGOTYKKzoxMEYyQzAwMEMwMDAwMDAwMDAyRkZGRkZGRkMwMDAwMDAwMDAwMDAwOTIKKzoxMEYyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMzIKKzoxMEYyRTAwMDAwMDAwMDNGRkZFRkZGQzAwMDAwMDAwMDJGQUZERkZGNzYKKzoxMEYyRjAwMEMwMDAwMDAwMDAzRkVGRkZGN0MwMDAwMDAwMDAwMDAwNkEKKzoxMEYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDEKKzoxMEYzMTAwMDAwMDAwMDNGREZERkZGQzAwMDAwMDAwMDNGRkZGRkZGRjUKKzoxMEYzMjAwMEMwMDAwMDAwMDAxRkZGREZGRkMwMDAwMDAwMDAwMDAwNjEKKzoxMEYzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDNDI0QTEwMDJDMTYKKzoxMEYzNDAwMDUyMEIxOEMyODYyQ0ExODAzODYyMEEwODQwQzQyQ0ExMzYKKzoxMEYzNTAwMDA4Mjg0MjBCMTQwMDg1MTRBMTA4Mjg0MzBBMTAwMDAwNTUKKzoxMEYzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDEyMDEwMzgwRkIKKzoxMEYzNzAwMDYxMjAxMDA4MDcxMjQxNDI4MDcwMjAxQzA4MDQxQTAxMDUKKzoxMEYzODAwMDg0ODE0MDIwMTgwODQ2MzY4MTA1ODA2MzIwMTAwMDAxRTIKKzoxMEYzOTAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDI0MjEwMDBDMTgKKzoxMEYzQTAwMDUyMDIxNDAwODcyODIxODEwODcyMDYxQzgyODQyMDIxQzEKKzoxMEYzQjAwMDQ4MTg0MjAzNTQ4MDQ1MzAyNTRBMTg1MzAyMTAwMDAxNzIKKzoxMEYzQzAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDIyMDEwMTgwNkQKKzoxMEYzRDAwMDQyMjAxOEM4NDQyMjAxODA4NDQyMjAxQzg4MDQyMjAxNTMKKzoxMEYzRTAwMDAwODA0MDIwMTA4ODQ0MzYwMTQwODA0MTAwMTAwMDAwMTkKKzoxMEYzRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMDA4MjAwMDBDMTkKKzoxMEY0MDAwMDIyMDMwNDQwODEwMDIwODQwODAzMDAwMDgwQzIwMDIwMDEKKzoxMEY0MTAwMEM0MDgwMDAzMDg4ODgyMTZBMDQwODgzMjIyODAwMDAwQjkKKzoxMEY0MjAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDIwMTAwODAwNDIwMkQKKzoxMEY0MzAwMDEwMDgwQ0MyMTIxMDg0QzgyMjEyMDgwNDAyMDMwMDg4QUIKKzoxMEY0NDAwMDAwMjEwMDBDMEM0MDQxMzAwMDg0MjAxMDA4MDAwMjAwMTQKKzoxMEY0NTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDg4MjA2MjAwODhDNjAKKzoxMEY0NjAwMDMyMjIwQzg4ODEyNjIwNEQ4ODIzMjI4MDg4ODMwNjIwMjIKKzoxMEY0NzAwMDA4ODgwMDIzMDQ4QTgxMzYyMDRCODgzMjIyMDAwMDAwNEQKKzoxMEY0ODAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwMjAyMDAwOTgwREYKKzoxMEY0OTAwMDMyMjAwNDg4NjAyMjAwODk4NDAwMjAwODk4MDAwMjAwM0QKKzoxMEY0QTAwMDAwODAwMDIwMDAwODAyM0E4MDQ4ODAzMDIwMDAwMjAwREUKKzoxMEY0QjAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMEFDNDFBQTE4MEE4OTMKKzoxMEY0QzAwMDQxMkExMENBQzcxQUExMDRBRDcxMkExODRBRDQwNkIxM0MKKzoxMEY0RDAwMDAwQTg3MTJBMTAwODg0MjYyOTA2QUM1MjJBMTAwMjAwQkUKKzoxMEY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwNDJBMDE0MTgwMUMKKzoxMEY0RjAwMDQyMjAxQzAwMDQwQTAxMDk4NDUxMjAxQzg4NDQwMjAxOTYKKzoxMEY1MDAwMDA4ODA0MDIwMTA0QTQ3MDIwMTQ4ODA2MzIwMTAwMjAwMTIKKzoxMEY1MTAwMDgwMDAwMDAwMDAwMDAwMDAwODAwMDBDNDEwMjE4MTBDRTEKKzoxMEY1MjAwMDQxMDIwQzAwQzAyMDYxMEQwRTcyMDIxQzQwQzQwODMxNjMKKzoxMEY1MzAwMDA0MTg0MjAyMTA4MDg3MjBCMUM0MEM1MzAyMTAwMDAwNEUKKzoxMEY1NDAwMDAwMDAwMDAwMDAwMDAwMDAwODEwMjAwNzI0MDFDQzAwOEIKKzoxMEY1NTAwMDcyNDAxNDAwMDQyNDAxMDgwMDczNDExMEMwMDczMDExRTgKKzoxMEY1NjAwMENDMDA3MTAxMTAwMjA0MjA4MTQ2MTA0MjQwMTAwMjA0QjgKKzoxMEY1NzAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDBDNTEwMjEwMDA4ODUKKzoxMEY1ODAwMDYyMDIxQzkwQzUyNDIxMDAwQzcwODIxQzEwQzQyMDMxMjIKKzoxMEY1OTAwMDg4MDI0MDA2MUMwMDg1MDBBMTAwMEM0MDQyMDAwMjAwQzkKKzoxMEY1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIwNTE0ODAwMTIwN0YKKzoxMEY1QjAwMDMwMDgwQzQyMDYwMDgwMDEyNDUxMDgwQzAyNDEwMDgwRjIKKzoxMEY1QzAwMDRDMjAwMDA4MEMzMDQyMDQwMDA0MjAwMDA4MDAwMDAwMTkKKzoxMEY1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTBDNjI0MjAwMDBDMDUKKzoxMEY1RTAwMDMyQzIwNDgwQzczMDIwMDAwQzUzQzIwNDEwQzIyODcwRkQKKzoxMEY1RjAwMDBDMDkwMjAyNEM4MDgxMDQzMDA5MEMwMjQyMTAwMDAwMDgKKzoxMEY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwODAwMTM4MDAwMjAwMkYKKzoxMEY2MTAwMDEyNDAwQzIwMDczNDA0MDIwMDYzMDEwODEwMDAyNDEwN0IKKzoxMEY2MjAwMDA0MDAwMjAxMDQ4MjAxMDg4MDA5MTAwMjQwMTAwMDA0NTUKKzoxMEY2MzAwMDMwMDAwMDAwMDAwMDAwMDAwMDAwMzAyMDEwODAwMDAwQkEKKzoxMEY2NDAwMDIwODAwMEYwMjAxMDgwMDAwMDIwODAwMEQwODAwMDAwOEEKKzoxMEY2NTAwMDQwMDAwMDAwMDAzMDEwMDA4MDAwMDAwMDAwMDBDQzQwOUUKKzoxMEY2NjAwMDAwMDAwMDAwMDAwMDAwMDAzQzNDMTA4MDgwMDAwMDAwMTIKKzoxMEY2NzAwMDAwMDAxMDkwODA4MDAwMDAwMDAwMDAxMDkwODAwMDkwM0EKKzoxMEY2ODAwMDgwMDAxMDAwMDAxMEEwODAwMDAwMDAyMDAwMTA4QzA4RjYKKzoxMEY2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQxQUJFMTc4MDAwQzcKKzoxMEY2QTAwMDNFNDAyNjZGQkFFMzI0ODAwMDE2NTlCRDgyODE4MkQ4N0QKKzoxMEY2QjAwMDgwMDAwMDE5OTk4NjgwNjQ4MEMwM0ZEOTk5ODAwMDAxM0MKKzoxMEY2QzAwMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDYxNjAyOTQwMDE2ODIKKzoxMEY2RDAwMEMwMTY5NDgyOTAxNjEwODAyMTE4MjgyODAyMEEwMjA4NjkKKzoxMEY2RTAwMDgwMDAwMDAwMDAwMjgyODAxNDAwMDExNDExQTA0MDAwN0MKKzoxMEY2RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODg0N0UKKzoxMEY3MDAwMDAyODRBODgwMDAwMDAwMDg5MTIyODQ0MUEyMDgyNDAxRkMKKzoxMEY3MTAwMDMwMDAwMDAwMDAwMDAwMDAwMDA4ODQwMTQ0MDEwMDAwRTcKKzoxMEY3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwREQKKzoxMEY3MzAwMDAwMDAwMDNFRjdGRkY3QzAwMDAwMDAwMDJGRTdCN0ZGMTIKKzoxMEY3NDAwMEMwMDAwMDAwMDAyRkZFN0ZGN0MwMDAwMDAwMDAwMDAwOTYKKzoxMEY3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwQUQKKzoxMEY3NjAwMDAwMDAwMDM2QkZGRURGQzAwMDAwMDAwMDBGRjdERkZGMjMKKzoxMEY3NzAwMEMwMDAwMDAwMDAzREI3QjdFRkMwMDAwMDAwMDAwMDAwNkYKKzoxMEY3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwN0QKKzoxMEY3OTAwMDAwMDAwMDFGREZERkZGQzAwMDAwMDAwMDBGREZERkZGMDEKKzoxMEY3QTAwMEMwMDAwMDAwMDAzRkVGRkZGRkMwMDAwMDAwMDAwMDAwQUQKKzoxMEY3QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwNEQKKzoxMEY3QzAwMDAwMDAwMDNGQkY3RkZGQzAwMDAwMDAwMDNGRkY3RkY3NDkKKzoxMEY3RDAwMEMwMDAwMDAwMDAzRkRGRkZGRkMwMDAwMDAwMDAwMDAwOEQKKzoxMEY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMUQKKzoxMEY3RjAwMDAwMDAwMDNGN0VGRkZGNDAwMDAwMDAwMDNGRkVGRkZGRDMKKzoxMEY4MDAwMEMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAwMDAwM0MKKzoxMEY4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwRUMKKzoxMEY4MjAwMDAwMDAwMDM3RkY2RkZGQzAwMDAwMDAwMDNGRkZGRkZGMzgKKzoxMEY4MzAwMEMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAwMDAwMEMKKzoxMEY4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgKKzoxMEY4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzoxMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTgKKzoxMEY4NzAwMDAwMDAwMDAwMDAwMDAwMDAzMDAwMjAwMTAyMDAwMDAwMzUKKzoxMEY4ODAwMDMwMDA0MzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjkKKzoxMEY4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzoxMEY4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTgKKzoxMEY4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDgKKzoxMEY4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzgKKzoxMEY4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzoxMEY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgKKzoxMEY4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwMDAwMDAwMDMwRTgKKzoxMEY5MDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMEY5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzoxMEY5MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDcKKzoxMEY5MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzcKKzoxMEY5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjcKKzoxMEY5NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDAwQzcKKzoxMEY5NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTcKKzoxMEY5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcKKzoxMEY5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMEY5OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzoxMEY5QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTcKKzoxMEY5QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMzBDMDMwNDcKKzoxMEY5QzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMEY5RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzoxMEY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcKKzoxMEY5RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcKKzoxMEZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzoxMEZBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwMDAwMDAwMDBGQzgKKzoxMEZBMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYKKzoxMEZBMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzYKKzoxMEZBNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMEZBNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzoxMEZBNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTYKKzoxMEZBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGNDgKKzoxMEZBODAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMEZBOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzoxMEZBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYKKzoxMEZBQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDYKKzoxMEZBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzYKKzoxMEZBRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzMEMwMzBDMDBGMjgKKzoxMEZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYKKzoxMEZBRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMEZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMEZCMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMEZCMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDUKKzoxMEZCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzNkIwMEMwMDBDRjJDOEMKKzoxMEZCNDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMEZCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzoxMEZCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMEZCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMEZCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMEZCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDAwNDcKKzoxMEZCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMEZCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMEZCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMEZCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMEZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMEZCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwRjAwMEYwMDMwQzcKKzoxMEZDMDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMEZDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMEZDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMEZDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMEZDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMEZDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwM0ZDMDAwQTYKKzoxMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMEZDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMEZDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMEZDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMEZDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMEZDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzRkMwM0ZDMDMwMjYKKzoxMEZDQzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMEZDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMEZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMEZDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMEZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMEZEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMEYwMDBGQTcKKzoxMEZEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMEZEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMEZENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMEZENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMEZENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMEZENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwRjAwMEYwMDNGMjcKKzoxMEZEODAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMEZEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMEZEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMEZEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMEZEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMEZERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzRkMwM0ZDMDBGMDcKKzoxMEZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMEZERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMEZFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMEZFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMEZFMzAwMDAwMDAwMDAwMDAwMDAwMDAwNjMzNUQ4MEMwMDBGREFDNDMKKzoxMEZFNDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMEZFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMEZFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMEZFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMEZFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMEZFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMEZFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMEZFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMEZFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMEZFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMEZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMEZFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwMDAwMDAwMDMwRTIKKzoxMEZGMDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMEZGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMEZGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzoxMEZGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMEZGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMEZGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDAwQzEKKzoxMEZGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMEZGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMEZGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMEZGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMEZGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMEZGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMzBDMDMwNDEKKzoxMEZGQzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMEZGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMEZGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMEZGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDgwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDgwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwMDAwMDAwMDBGMzIKKzoxMDgwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDgwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDgwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDgwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDgwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGQjIKKzoxMDgwOTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDgwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDgwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDgwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDgwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDgwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzMEMwMzBDMDBGOTIKKzoxMDgwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDgxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDgxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDgxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDgxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzNzRDMEMwMDBGMEVDNEMKKzoxMDgxNTAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDgxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDgxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDgxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDgxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDgxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDAwQjEKKzoxMDgxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDgxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDgxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDgxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDgxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwRjAwMEYwMDMwMzAKKzoxMDgyMTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDgyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDgyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDgyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDgyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDgyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwM0ZDMDAwMTAKKzoxMDgyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDgyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDgyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDgyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDgyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDgyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5ODYxMDgwMzA4MjNEOTAKKzoxMDgyRDAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDgyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDgyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDgzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDgzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMEYwMDBGMTEKKzoxMDgzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDgzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDgzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDgzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDgzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDgzODAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwRjAwMEYwMDNGOTEKKzoxMDgzOTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDgzQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDgzQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDgzQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDgzRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDgzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzRkMwM0ZDMDBGNzEKKzoxMDgzRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDg0MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDg0MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDg0NDAwMDAwMDAwMDAwMDAwMDAwMDAzNzY1MjVFNDgwMDBCMDg4Q0YKKzoxMDg0NTAwMEFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDg0NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDg0ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzoxMDg0OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREMKKzoxMDg0QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0MKKzoxMDg0QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDg0QzAwMDAwMDAwMDAwMzAwMDIwMDEwMjAyMDAwMDMwMDA0MzAwRTQKKzoxMDg0RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDg0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDg0RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkIKKzoxMDg1MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUIKKzoxMDg1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEIKKzoxMDg1MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0IKKzoxMDg1NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzoxMDg1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUIKKzoxMDg1NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIKKzoxMDg1NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkIKKzoxMDg1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzoxMDg1OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREIKKzoxMDg1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0IKKzoxMDg1QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkIKKzoxMDg1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzoxMDg1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUIKKzoxMDg1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEIKKzoxMDg1RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0IKKzoxMDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDg2MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDg2MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDg2MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDg2NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkEKKzoxMDg2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDg2NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEKKzoxMDg2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkEKKzoxMDg2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUEKKzoxMDg2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREEKKzoxMDg2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0EKKzoxMDg2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkEKKzoxMDg2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUEKKzoxMDg2RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUEKKzoxMDg2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEEKKzoxMDg2RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0EKKzoxMDg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjkKKzoxMDg3MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTkKKzoxMDg3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDkKKzoxMDg3MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzkKKzoxMDg3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjkKKzoxMDg3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkKKzoxMDg3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkKKzoxMDg3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjkKKzoxMDg3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTkKKzoxMDg3OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDkKKzoxMDg3QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzkKKzoxMDg3QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjkKKzoxMDg3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTkKKzoxMDg3RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTkKKzoxMDg3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODkKKzoxMDg3RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzkKKzoxMDg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzoxMDg4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTgKKzoxMDg4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDgKKzoxMDg4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzgKKzoxMDg4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzoxMDg4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgKKzoxMDg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgKKzoxMDg4NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjgKKzoxMDg4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTgKKzoxMDg4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDgKKzoxMDg4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzgKKzoxMDg4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgKKzoxMDg4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzoxMDg4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTgKKzoxMDg4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODgKKzoxMDg4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzgKKzoxMDg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzoxMDg5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTcKKzoxMDg5MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDcKKzoxMDg5MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMDg5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzoxMDg5NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcKKzoxMDg5NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcKKzoxMDg5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjcKKzoxMDg5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzoxMDg5OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDcKKzoxMDg5QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzcKKzoxMDg5QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjcKKzoxMDg5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTcKKzoxMDg5RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTcKKzoxMDg5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcKKzoxMDg5RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMDhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzoxMDhBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYKKzoxMDhBMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDYKKzoxMDhBMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzYKKzoxMDhBNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzoxMDhBNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYKKzoxMDhBNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMDhBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzoxMDhBODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzoxMDhBOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYKKzoxMDhBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzYKKzoxMDhBQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMDhBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzoxMDhBRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTYKKzoxMDhBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODYKKzoxMDhBRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzYKKzoxMDhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDhCMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDhCMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDhCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDhCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDhCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDhCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDhCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDhCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDhCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDUKKzoxMDhCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzUKKzoxMDhCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjUKKzoxMDhCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzoxMDhCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDhCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDhCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDhDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDhDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDhDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDhDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDhDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDhDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDhDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDhDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDhDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDhDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDhDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDhDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDhDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDhDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDhDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDhEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDhEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDhEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDhENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDhENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDhENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDhENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDhEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDhEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDhEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDhEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDhEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDhERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDhERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDhERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDhFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDhFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDhFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMDhFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMDhFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMDhFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIKKzoxMDhFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMDhFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMDhFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDhFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDhFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDhFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDhFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDhFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDhFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDhGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDhGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDhGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDhGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDhGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDhGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDhGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDhGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDhGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzoxMDhGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMDhGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMDhGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTEKKzoxMDhGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDhGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDhGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDkwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDkwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDkwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDkwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDkwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDkwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDkwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDkwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDkwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDkwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDkwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDkwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDkwRDAwMDMwMDAwMDAxMDAwMDQ0NzIzMDAwODAwMTAwMDAwMDAzRjUKKzoxMDkwRTAwMDMwMDA0MDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDkwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDkxMTAwMDAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwNTMwMDBBMDAxQzgKKzoxMDkxMjAwMDAwMDAwMDAwMzAwMDAwMDEwMDAwRTE1QTAwMDAwMDAwRDMKKzowQzkxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MDAwMDAwMDFGRgorLyoKKyAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKKyAqCisgKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKKyAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAorICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKKyAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KKyAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKyAqIGltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorICogaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKyAqCisgKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKKyAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKKyAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKKyAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCisgKgorLy8vIFZFUlNJT049MS4xLjEuMTMxCisvLyBEQVRFPTIwMDFkZWMwNgorLy8gUFJPRFVDVD1FTUkgMnw2CmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWkyNi9maXJtd2FyZS5IRVggYi9maXJtd2FyZS9lbWkyNi9maXJtd2FyZS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNhNDAwZQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTI2L2Zpcm13YXJlLkhFWApAQCAtMCwwICsxLDEyNjEgQEAKKzowMzAwMDAwMDAyNDM1NjYyCis6MDMwMDAzMDAwMjRCQ0RFMAorOjAzMDAwQjAwMDI0QkQyRDMKKzowMzAwMTMwMDAyNEI5MjBCCis6MDMwMDFCMDAwMjRCRDVDMAorOjAzMDAyMzAwMDIxQjM5ODQKKzowMzAwMkIwMDAyNDNFMkFCCis6MDMwMDMzMDAwMjNGRjM5NgorOjAzMDAzQjAwMDI0QkMwQjUKKzowMzAwNDMwMDAyNDcwMDcxCis6MDMwMDRCMDAwMjNGRkM3NQorOjAzMDA1MzAwMDIzN0ZBNzcKKzowMzAwNUIwMDAyNEJDNzhFCis6MDMwMDYzMDAwMjQ2RkM1NgorOjEwMDUwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgwMTAxMDAwMTAxMDIwRgorOjEwMDUxMDAwMDAwMTA5MDJCODAxMDMwMTAwODBBMDA5MDQwMDAwMDBFNQorOjEwMDUyMDAwMDEwMTAwMDAwQTI0MDEwMDAxNTYwMDAyMDEwMjBDMjQwRQorOjEwMDUzMDAwMDIwMTAxMDEwMDA2MDAwMDAwMDAxNTI0MDYwNTAxMDI2OQorOjEwMDU0MDAwMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk5RgorOjEwMDU1MDAwMjQwMzAyMDQwMzAwMDUwMDBDMjQwMjAzMDEwMjAwMDIyQworOjEwMDU2MDAwMDAwMDAwMDAwRDI0MDYwNjAzMDIwMzAwMDAwMDAwMDA0NgorOjEwMDU3MDAwMDAwOTI0MDMwNDAxMDEwMDA2MDAwOTA0MDEwMDAwMDEzMAorOjEwMDU4MDAwMDIwMDAwMDkwNDAxMDEwMjAxMDIwMDAwMDcyNDAxMDEyOAorOjEwMDU5MDAwMDAwMTAwMTEyNDAyMDEwMjAyMTAwMzQ0QUMwMDgwQkJFMAorOjEwMDVBMDAwMDAwMDc3MDEwOTA1MEEwNTg0MDEwMTAwOEYwNzI1MDE3NAorOjEwMDVCMDAwMDEwMDAwMDAwOTA1OEYwMTAzMDAwMTA2MDAwOTA0MDE4NAorOjEwMDVDMDAwMDIwMjAxMDIwMDAwMDcyNDAxMDEwMDAxMDAwRTI0MDJDMgorOjEwMDVEMDAwMDEwNjAyMTAwMjQ0QUMwMDgwQkIwMDA5MDUwQTA1NEM2QworOjEwMDVFMDAwMDIwMTAwOEYwNzI1MDEwMTAwMDAwMDA5MDU4RjAxMDNBQQorOjEwMDVGMDAwMDAwMTA2MDAwOTA0MDEwMzAyMDEwMjAwMDAwNzI0MDFCMgorOjEwMDYwMDAwMDEwMDAxMDAwRTI0MDIwMTA2MDMxODAyNDRBQzAwODAyMAorOjEwMDYxMDAwQkIwMDA5MDUwQTA1NzIwMzAxMDA4RjA3MjUwMTAxMDBDRgorOjEwMDYyMDAwMDAwMDA5MDU4RjAxMDMwMDAxMDYwMDA5MDQwMTA0MDIwRQorOjEwMDYzMDAwMDEwMjAwMDAwNzI0MDEwMTAwMDEwMDBCMjQwMjAxMDI1NQorOjEwMDY0MDAwMDMxODAxMDA3NzAxMDkwNTBBMDU0NjAyMDEwMDhGMDcxQQorOjEwMDY1MDAwMjUwMTAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNjAwMDlDMgorOjEwMDY2MDAwMDQwMjAwMDAwMTAyMDAwMDA5MDQwMjAxMDEwMTAyMDA2RAorOjEwMDY3MDAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMDIwMjEwMDNGQQorOjEwMDY4MDAwNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMDU4NDAxMDFBMgorOjEwMDY5MDAwMDAwMDA3MjUwMTAxMDIwMDAwMDkwNDAyMDIwMTAxMDIxNQorOjEwMDZBMDAwMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyMDEwMjAzMThDNAorOjEwMDZCMDAwMDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1OEMwNTQ2MDJBRAorOjEwMDZDMDAwMDEwMDAwMDcyNTAxMDEwMjAwMDAwNTBDMDkwMUExMDEzQworOjEwMDZEMDAwMDUwQzA5RTkwNTBDMDlFQTE1MDAyNTAxOTUwMjc1MDFDQgorOjEwMDZFMDAwODE0Mjk1MDE3NTA2ODEwMTA1MEMwOTAwMDUwQzA5MDA4MAorOjEwMDZGMDAwMTUwMDI1MDE5NTAyNzUwMTkxMDY5NTAxNzUwNjkxMDM3NgorOjEwMDcwMDAwQzAwNDAzMDkwNDE4MDM0NTAwNEQwMDQxMDA0NzAwNDk5NworOjEwMDcxMDAwMDA0MzAwMjAwMDQ3MDA2RDAwNjIwMDQ4MDAxRTAzNDVCMgorOjEwMDcyMDAwMDA2RDAwNjEwMDY3MDA2OTAwNjMwMDIwMDA0NTAwNEQxNgorOjEwMDczMDAwMDA0OTAwMjAwMDMyMDA3QzAwMzYwMDJBMDM0MzAwNkY4RAorOjEwMDc0MDAwMDA2RTAwNjYwMDY5MDA2NzAwNzUwMDcyMDA2MTAwNzQ0OQorOjEwMDc1MDAwMDA2OTAwNkYwMDZFMDAyMDAwNTMwMDc0MDA3MjAwNjk5MQorOjEwMDc2MDAwMDA2RTAwNjcwMDIyMDM0OTAwNkUwMDc0MDA2NTAwNzI4RAorOjEwMDc3MDAwMDA2NjAwNjEwMDYzMDA2NTAwMjAwMDUzMDA3NDAwNzI5MQorOjA5MDc4MDAwMDA2OTAwNkUwMDY3MDAwMDAwMzIKKzoxMDA3ODkwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5ODMKKzowMTA3OTkwMDIyM0QKKzoxMDA3OUEwMDkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRTkKKzoxMDA3QUEwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwRTUKKzoxMDA3QkEwMDhDRTBDMEUwQzA4MkMwODMwNTg2QzA4NEMwODVFNTE4OEQKKzoxMDA3Q0EwMEI0MDIwMzAyMDdEOUI0MDEwMzAyMDdERTAyMDdGQTdENjUKKzoxMDA3REEwMDAxMDIwODE2RTUxOTE0RjUxOUMzQjUxMzAzMDIwN0Y1NDIKKzoxMDA3RUEwMDUwMDlCNDAwRUE3NTE5MEEwMjA3RDk3RDAwMDIwODE2RjEKKzoxMDA3RkEwMEU1MTkxNEY1MTlDM0I1MTQwMzAyMDgxMTUwMDlCNDAwMTgKKzoxMDA4MEEwMENFNzUxOTBBMDIwN0Q5N0QwMjAyMDgxNjdDMDU5MDdGNjcKKzoxMDA4MUEwMDk5RTA1NDQwREMwMzAyMDg0M0I0MDAxRDkwN0ZFMzc0NUUKKzoxMDA4MkEwMDdCRjBBMzc0ODBGMDkwN0ZFMjc0NDBGMDkwN0ZFNUYwNTMKKzoxMDA4M0EwMDkwN0ZFMjc0MDBGMDAyMDgxODA1ODY5MDdGRTI3NDgwQzcKKzoxMDA4NEEwMEYwOTA3OTY1RTBCNDAxMDMwMjA4OUVCNDAyMDMwMjA4M0QKKzoxMDA4NUEwMDk2QjQwMzAzMDIwODhFQjQwNDAzMDIwODg2QjQwNTAzOUYKKzoxMDA4NkEwMDAyMDg3RUI0MDYwMzAyMDg3NjAyMDhGNDA1ODY5MDdGMjEKKzoxMDA4N0EwMDZDMDIwOEU5MDU4NjkwN0Y2QzAyMDhERDA1ODY5MDdGODgKKzoxMDA4OEEwMDZDMDIwOENGMDU4NjkwN0Y2QzAyMDhDMDA1ODY5MDdGQUYKKzoxMDA4OUEwMDZDMDIwOEIyMDU4NjkwN0Y2Q0YwMDBGMDAwRjAwMEYwNjAKKzoxMDA4QUEwMDBERURCNDJERjQwMjA4RjRGMEYwRjBGMEYwRjAwREVERDcKKzoxMDA4QkEwMEI0MkRGNTAyMDhGNEYwMDBGMDAwRjAwMEYwMERFREI0RUMKKzoxMDA4Q0EwMDMxRjQwMjA4RjRGMEYwRjBGMEYwRjAwREVEQjQzMUY1ODcKKzoxMDA4REEwMDAyMDhGNEYwRjBGMEYwMERFREI0NjFGNzAyMDhGNEYwNUMKKzoxMDA4RUEwMEYwRjBGMEYwRjAwREVEQjQ2MUY1OTA3RkUyNzQwMEYwRjUKKzoxMDA4RkEwMEQwODVEMDg0MDU4NkQwODNEMDgyRDBFMEZDRDBFMEZEQkMKKzowNTA5MEEwMEQwRTBGRUQwRTA4QQorOjA2MDkwRjAwRkZEMEUwRDBEMDIyNzEKKzoxMDA5MTUwMEMwRDBDMEUwQzA4MkMwODM5MDdGNkZFNTBDRjBFNTBEQ0MKKzowRDA5MjUwMEYwRTUwRUYwRDA4M0QwODJEMEUwRDBEMDIyREIKKzoxMDA5MzIwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMEMwODJDMDgzRTMKKzoxMDA5NDIwMDA1ODZDMDg0QzA4NTkwNzk3MEUwRkZCRjAwMDMwMjBBNkIKKzoxMDA5NTIwMEI4OTA3Rjk2RTA0NDgwRjA5MDdGRTI3NDgwRjA5MDdGQzAKKzoxMDA5NjIwMDYyRTAwNTg2OTA3RkUyNzQwMEYwOTA3Rjk2RTA1NDdGMEIKKzoxMDA5NzIwMEYwOTA3RkUyNzQ4MEYwOTA3OTg4RTBCNDAxMDMwMjA5N0MKKzoxMDA5ODIwMEJFQjQwMjAzMDIwOUMzQjQwMzAzMDIwOUFDQjQwNDAzRjQKKzoxMDA5OTIwMDAyMDk5QTA1ODYwMjBBQjJFRjU0MDNGRUVGMDMwMzU0REEKKzoxMDA5QTIwMDNGRkY5MDdGNjMwNTg2MDIwOUM5RUY1NDAzRkVFRjAzMDAKKzoxMDA5QjIwMDAzNTQzRkZGOTA3RjYzMDU4NjAyMEEzNjA1ODYwMjBBQ0EKKzoxMDA5QzIwMEE1MDU4NjAyMEE4RUUwRTBFMEUwRTBFMDA1ODZFMEUwRDAKKzoxMDA5RDIwMEUwMDU4NkUwRTBFMEUwRTBFMDA1ODZFMEUwRTAwNTg2QjQKKzoxMDA5RTIwMEUwRTBFMEUwRTBFMDA1ODZFMEUwRTAwNTg2RTBFMEUwNkYKKzoxMDA5RjIwMEUwRTBFMDA1ODZFMEUwRTAwNTg2REZDQUVFQjQwMDAzNTEKKzoxMDBBMDIwMDAyMEFCMkI0MDEwMzAyMEEyNUUwRTBFMEUwRTBFMDA1RjgKKzoxMDBBMTIwMDg2RTBFMEUwMDU4NkUwRTBFMEUwRTBFMDA1ODZFMEUwOTgKKzoxMDBBMjIwMEUwMDU4NkUwRTBFMEUwRTBFMDA1ODZFMEUwRTAwNTg2NjMKKzoxMDBBMzIwMDAyMEFCMkUwRTBFMEUwMDU4NkUwRTAwNTg2RTBFMEUwMDAKKzowRDBBNDIwMEUwMDU4NkUwRTAwNTg2RTBFMEUwRTAwNTg2RTYKKzoxMDBBNEYwMEUwRTAwNTg2RTBFMEUwRTAwNTg2RTBFMDA1ODZERkQ2NDEKKzoxMDBBNUYwMEVFQjQwMDAzMDIwQUIyQjQwMTAzMDIwQTgwRTBFMEUwNDAKKzoxMDBBNkYwMEUwMDU4NkUwRTAwNTg2RTBFMEUwRTAwNTg2RTBFMDA1RjEKKzoxMDBBN0YwMDg2RTBFMEUwRTAwNTg2RTBFMDA1ODYwMjBBQjJFMEUwMEQKKzoxMDBBOEYwMEUwRTBFMEUwRTBFMEUwRTBFMEUwRTBFMEUwRTBFMEUwNTcKKzoxMDBBOUYwMERGRUMwMjBBQjJFMEUwRTBFMEUwRTBFMEUwRTBFMEUwMUUKKzoxMDBBQUYwMEUwREZGMjkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NkQwMkQKKzowRTBBQkYwMDgzRDA4MkQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4NQorOjEwMEFDRDAwQzA4MkMwODNDMEUwRThDMEUwNzhEMUU4MTRGODcwRkJDNAorOjBBMEFERDAwRDBFMEY4RDBFMEQwODNEMDgyMjJGMAorOjEwMEFFNzAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwOERFMEMwRTBBNQorOjEwMEFGNzAwOENFMEMwRTA3NTg2MDBDMDgyQzA4MzA1ODZDMDg0QzBENAorOjEwMEIwNzAwODU3RTAwOTA3OThFRTBCNDAwMTY3NDAxRjA5MDA2Q0FENQorOjEwMEIxNzAwQTNBM0EzQTNBM0EzQTNFMEZGOTA3OThERjAwMjBCMzlBRQorOjEwMEIyNzAwOTA3OThERTBGRjkwNzk4RkUwRkQ5MDc5OTBFMEZDMDI1RAorOjEwMEIzNzAwMEI0NjkwMDZDQTA1ODY5MDdGMDAwNTg2MDIwQjUxOERFRAorOjEwMEI0NzAwODQ4Qzg1MDU4NjkwN0YwMDA1ODZFMEEzMDU4NkYwQTM0MworOjEwMEI1NzAwMEVFRUI0NDAwMzAyMEI2QzA1ODZERkVFOTA3OThFNzRCRgorOjEwMEI2NzAwMDBGMDAyMEI4MjA1ODZBRDg0QUM4NTkwNzk4RkVERjA5RAorOjEwMEI3NzAwOTA3OTkwRUNGMDkwNzk4RDFGRUZGMDkwN0ZCNUVFRjBDMworOjEwMEI4NzAwRDA4NUQwODQwNTg2RDA4M0QwODJEMEUwRkNEMEUwRkQyQworOjBCMEI5NzAwRDBFMEZFRDBFMEZGRDBFMEQwRDAyMjg0Cis6MTAwQkEyMDBDMEQwQzBFMEMwODJDMDgzOTA3RkFFRTA1NEUwRjA5MDNECis6MTAwQkIyMDA3Rjk2RTA0NDA4NTRGQkYwOTA3Rjk3RTA1NEJGRjA5MDlBCis6MTAwQkMyMDA3RkUzNzQ3QkYwOTA3RkU0NzQ0MEYwOTA3OTc4RTA5MDVBCis6MTAwQkQyMDA3QjQwRjA5MDdGRTI3NDQ4RjA5MDdGRTVFMDkwN0ZFMjA2Cis6MTAwQkUyMDA3NDAwRjA5MDdGOTZFMDU0Rjc0NDA0RjA5MDdGRTM3NDMxCis6MTAwQkYyMDA3QkYwOTA3RkU0NzQ0MEYwOTA3OTc5RTA5MDdCNDBGMDU0Cis6MTAwQzAyMDA5MDdGRTI3NDQ4RjA5MDdGRTVFMDkwN0ZFMjc0MDBGMDFDCis6MTAwQzEyMDA5MDdGOTZFMDU0RjNGMDkwN0ZBRUUwNDQxRkYwRDA4M0QzCis6MDcwQzIyMDBEMDgyRDBFMEQwRDAyMjA3Cis6MTAwQzI5MDBDMEQwQzBFMEMwODNDMDgyOTA3OTJGRTA2NEZGQzMyNEE0Cis6MEIwQzM5MDAwMUYwRDA4MkQwODNEMEUwRDBEMDIyQTgKKzoxMDBDNDQwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyQUUKKzowOTBDNTQwMEUzMjI4OTgyOEE4M0U0OTMyMkUxCis6MTAwQzVEMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDRDCis6MTAwQzZEMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjk2Cis6MEQwQzdEMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkIwCis6MTAwQzhBMDBCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMTQ5Cis6MDIwQzlBMDBGMzIyNDMKKzoxMDBDOUMwMEY4QkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODNFOEYwOEUKKzoxMDBDQUMwMDIyNTAwNkU5MjU4MkM4RjYyMkJCRkUwNUU5MjU4MkM4M0EKKzowMjBDQkMwMEYyMjIyMgorOjEwMENCRTAwQzJENUVDMzBFNzA5QjJENUU0QzM5REZERTQ5Q0ZDRUU1MQorOjEwMENDRTAwMzBFNzE1QjJENUU0QzM5RkZGRTQ5RUZFMTIwRTQwQzM3QgorOjEwMENERTAwRTQ5REZERTQ5Q0ZDODAwMzEyMEU0MDMwRDUwN0MzRTQ3NgorOjA2MENFRTAwOUZGRkU0OUVGRTIyQzAKKzoxMDBDRjQwMEM1RjBGOEEzRTAyOEYwQzVGMEY4RTU4MjE1ODI3MDAyOEIKKzowNjBEMDQwMDE1ODNFMDM4RjAyMjI3Cis6MTAwRDBBMDBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMDI3Cis6MTAwRDFBMDBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRTA0Cis6MTAwRDJBMDAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4MzRBCis6MDgwRDNBMDBFOTkzRjVGMEEzRTk5MzIyMEYKKzoxMDBENDIwMEU4OEZGMEE0Q0M4QkYwQTQyQ0ZDRTk4RUYwQTQyQ0ZDNTAKKzoxMDBENTIwMDhBRjBFREE0MkNGQ0VBOEVGMEE0Q0RBOEYwOEJGMEE0Q0UKKzoxMDBENjIwMDJEQ0MzODI1RjBGREU5OEZGMEE0MkNDRDM1RjBGQ0VCMkQKKzoxMDBENzIwMDhFRjBBNEZFQTlGMEVCOEZGMEE0Q0ZDNUYwMkVDRDM5RjIKKzowRjBEODIwMEZFRTQzQ0ZDRUFBNDJEQ0UzNUYwRkRFNDNDRkMyMjVGCis6MTAwRDkxMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMEI4Cis6MDEwREExMDAyMjJGCis6MTAwREEyMDBCQjAxMERFNTgyMjlGNTgyRTU4MzNBRjU4MzAyMEVBMUE2Cis6MTAwREIyMDA1MDA3RTkyNTgyRjgwMjBFOTVCQkZFMDdFOTI1ODJGODY1Cis6MTAwREMyMDAwMjBFQURFNTgyMjlGNTgyRTU4MzNBRjU4MzAyMEVCOTdBCis6MTAwREQyMDBCQjAxMERFNTgyMjlGNTgyRTU4MzNBRjU4MzAyMEVENTQyCis6MTAwREUyMDA1MDA3RTkyNTgyRjgwMjBFQzlCQkZFMDdFOTI1ODJGODAxCis6MDQwREYyMDAwMjBFRTEyMkVBCis6MTAwREY2MDBCQjAxMERFNTgyMjlGNTgyRTU4MzNBRjU4MzAyMEYwNkVDCis6MTAwRTA2MDA1MDA3RTkyNTgyRjgwMjBFRURCQkZFMDdFOTI1ODJGOEI4Cis6MDQwRTE2MDAwMjBGMzcyMjZFCis6MTAwRTFBMDBEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzY3Cis6MTAwRTJBMDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MDdCCis6MDYwRTNBMDBFRkEzQTNBMzgwREY3QgorOjEwMEU0MDAwQkMwMDBCQkUwMDI5RUY4REYwODRGRkFERjAyMkU0Q0M5NgorOjEwMEU1MDAwRjg3NUYwMDhFRjJGRkZFRTMzRkVFQzMzRkNFRTlERUM1RgorOjEwMEU2MDAwOTg0MDA1RkNFRTlERkUwRkQ1RjBFOUU0Q0VGRDIyRURBNQorOjEwMEU3MDAwRjhGNUYwRUU4NDIwRDIxQ0ZFQURGMDc1RjAwOEVGMkZFRgorOjEwMEU4MDAwRkZFRDMzRkQ0MDA3OTg1MDA2RDVGMEYyMjJDMzk4RkRFMAorOjA1MEU5MDAwMEZENUYwRUEyMjdECis6MEMwRTk1MDBFNkZDMDhFNkZEMDhFNkZFMDhFNkZGMjI4OQorOjBDMEVBMTAwRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjIyQzQKKzowQzBFQUQwMEUyRkMwOEUyRkQwOEUyRkUwOEUyRkYyMjgxCis6MTAwRUI5MDBFNDkzRkNBM0U0OTNGREEzRTQ5M0ZFQTNFNDkzRkYyMjRDCis6MEMwRUM5MDBFQ0Y2MDhFREY2MDhFRUY2MDhFRkY2MjI1NQorOjBDMEVENTAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyOTAKKzowQzBFRTEwMEVDRjIwOEVERjIwOEVFRjIwOEVGRjIyMjRECis6MTAwRUVEMDBEMDgzRDA4MkU0OTNGNjA4NzQwMTkzRjYwODc0MDI5M0NDCis6MDkwRUZEMDBGNjA4NzQwMzkzRjY3NDA0NzMwMworOjEwMEYwNjAwQTg4Mjg1ODNGMEQwODNEMDgyMTIwRjFEMTIwRjFEMTI4NgorOjEwMEYxNjAwMEYxRDEyMEYxREU0NzNFNDkzQTNDNTgzQzVGMEM1ODNBQgorOjEwMEYyNjAwQzhDNTgyQzhGMEEzQzU4M0M1RjBDNTgzQzhDNTgyQzgzNQorOjAxMEYzNjAwMjI5OAorOjEwMEYzNzAwRDA4M0QwODJFNDkzRjIwODc0MDE5M0YyMDg3NDAyOTM4OQorOjA5MEY0NzAwRjIwODc0MDM5M0YyNzQwNDczQzAKKzoxMDBGNTAwMEMyQUZEMjJDOTA3RjkzNzQzMEYwOTA3RjlDNzRCRkYwMUUKKzoxMDBGNjAwMDkwN0Y5NkUwNTQzMEYwOTA3Rjk0NzQzMEYwOTA3RjlEQTUKKzoxMDBGNzAwMDc0Q0ZGMDkwN0Y5Nzc0QTBGMDkwN0Y5NTc0Q0NGMEU0REMKKzoxMDBGODAwMDkwN0Y5RUYwQzIyREMyMkFDMjJCQzIyRTkwNzk3NDA0OEIKKzoxMDBGOTAwMEYwMTIyRTk0MTI0OUUyMTI0QkU2MTIzMjBEMTIzQjBENjIKKzoxMDBGQTAwMDEyNDFGRDEyM0U5OUU1MUY3MDE4NzUxRjAxMTIxN0ZGQkYKKzoxMDBGQjAwMDEyMkZGRjEyNDlDODEyNEJEODEyNEJEQTEyNDk2RjEyODYKKzoxMDBGQzAwMDFCNDAxMjM5OEQ5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwN0UKKzoxMDBGRDAwMDQ0MUZGMDkwN0ZBQzc0RkZGMDkwN0ZBREYwOTA3RkRFMDcKKzoxMDBGRTAwMEYwOTA3RkRGRjA5MDdGQUJGMDkwN0ZBOUYwOTA3RkFBMjgKKzoxMDBGRjAwMEYwNTM5MUVGNDNEODIwRDJFODQzRDgyMDQzQTg4MDIyNzEKKzoxMDEwMDAwMDkwNzk2M0UwMTQ2MDQ0MTQ3MDAyMjFEMDE0NzAwMjQxOUUKKzoxMDEwMTAwMEQ5MTQ3MDAyNjFENzI0MDQ2MDAyODE1NkU0OTA3OTc4NzMKKzoxMDEwMjAwMEYwOTA3OTdCRTA5MDc5NzlGMDQ0MDFGMDU0RkRGMDkwRjQKKzoxMDEwMzAwMDc5N0JGMEU0OTA3OTg4RjBBMkFGMzNGNTEyQzJBRjEyNTkKKzoxMDEwNDAwMDBCQTJFNTEyNzAwMjgxNTZEMkFGMjI5MDc5MkRFMDY0OTYKKzoxMDEwNTAwMDAxNzA3OTkwN0ZGMkYwOTA3RkYzNzQzMEYwOTA3RkZGMTEKKzoxMDEwNjAwMDc0RkNGMEU0OTA3OTc4RjA5MDc5N0JFMDkwNzk3OUYwRjUKKzoxMDEwNzAwMDQ0MDFGMDQ0MDJGMDkwNzk3QkYwQTJBRkU0MzNGNTEyMjIKKzoxMDEwODAwMEMyQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDc5ODRFMDkwNEMKKzoxMDEwOTAwMDc5NzlGMDkwNzk3RkUwQjQwMTA5OTA3OTc5RTA1NEZFOTQKKzoxMDEwQTAwMEYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5RTA1NEZEN0YKKzoxMDEwQjAwMEYwNTRGQkYwOTA3OTg0RjAxMjBCQTI5MDc5ODI3NDA0QzIKKzoxMDEwQzAwMEYwOTA3OTg4MTRGMEU1MTI2MDAyRDJBRjkwNzkyREUwQUIKKzoxMDEwRDAwMDY0MDI3MDc5OTA3RkYyRjA5MDdGRjM3NDM0RjA5MDdGMjcKKzoxMDEwRTAwMEZGNzRGQ0YwRTQ5MDc5NzhGMDkwNzk3QkUwOTA3OTc5NjYKKzoxMDEwRjAwMEYwNDQwMUYwNDQwMkYwOTA3OTdCRjBBMkFGRTQzM0Y1QzQKKzoxMDExMDAwMDEyQzJBRjEyMEJBMjkwNzk3ODc0MDJGMDkwNzk4NEUwNDkKKzoxMDExMTAwMDkwNzk3OUYwOTA3OTdGRTBCNDAxMDk5MDc5NzlFMDU0ODEKKzoxMDExMjAwMEZFRjA4MDA3OTA3OTc5RTA0NDAxRjA5MDc5NzlFMDQ0MEQKKzoxMDExMzAwMDAyRjA1NEZCRjA5MDc5ODRGMDEyMEJBMjkwNzk4Mjc0NDMKKzoxMDExNDAwMDA0RjA5MDc5ODgxNEYwRTUxMjYwMDJEMkFGOTA3OTJEMDYKKzoxMDExNTAwMEUwNjQwMzYwMDI4MTU2OTA3RkYyRjA5MDdGRjM3NDY0NDQKKzoxMDExNjAwMEYwOTA3RkZGNzRGQ0YwRTQ5MDc5NzhGMDkwNzk3QkUwNjgKKzoxMDExNzAwMDkwNzk3OUYwNDQwMUYwNDQwMkYwOTA3OTdCRjBBMkFGQ0QKKzoxMDExODAwMEU0MzNGNTEyQzJBRjEyMEJBMjkwNzk3ODc0MDJGMDkwOUEKKzoxMDExOTAwMDc5ODRFMDkwNzk3OUYwOTA3OTdGRTBCNDAxMDk5MDc5RDEKKzoxMDExQTAwMDc5RTA1NEZFRjA4MDA3OTA3OTc5RTA0NDAxRjA5MDc5N0QKKzoxMDExQjAwMDc5RTA0NDA0RjA5MDc5ODRGMDEyMEJBMjkwNzk4Mjc0NjMKKzoxMDExQzAwMDA0RjA5MDc5ODgxNEYwRTUxMjcwMDI4MTU2RDJBRjIyQjMKKzoxMDExRDAwMDkwNzkyREUwNjQwMTcwN0E5MDdGRjJGMDkwN0ZGMzc0NDMKKzoxMDExRTAwMDg4RjA5MDdGRkY3NEZDRjBFNDkwNzk3OEYwOTA3OTdCNDAKKzoxMDExRjAwMEUwOTA3OTc5RjA0NDAxRjA1NEZERjA5MDc5N0JGMEEyMTEKKzoxMDEyMDAwMEFGRTQzM0Y1MTJDMkFGMTIwQkEyOTA3OTc4NzQwMkYwRkEKKzoxMDEyMTAwMDkwNzk4NEUwOTA3OTc5RjA5MDc5N0ZFMEI0MDEwOTkwMzkKKzoxMDEyMjAwMDc5NzlFMDU0RkVGMDgwMDc5MDc5NzlFMDQ0MDFGMDkwRkMKKzoxMDEyMzAwMDc5NzlFMDU0RkRGMDU0RkJGMDkwNzk4NEYwMTIwQkEyMjAKKzoxMDEyNDAwMDkwNzk4Mjc0MENGMDkwNzk4ODc0MDFGMEU1MTI2MDAyNTQKKzoxMDEyNTAwMEQyQUY5MDc5MkRFMDY0MDI2MDAyODE1NjkwN0ZGMkYwNjcKKzoxMDEyNjAwMDkwN0ZGMzc0OTRGMDkwN0ZGRjc0RkNGMEU0OTA3OTc4QjEKKzoxMDEyNzAwMEYwOTA3OTdCRTA5MDc5NzlGMDQ0MDFGMDU0RkRGMDkwQTIKKzoxMDEyODAwMDc5N0JGMEEyQUZFNDMzRjUxMkMyQUYxMjBCQTI5MDc5RDIKKzoxMDEyOTAwMDc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGMDkwNzk3RkUwMjkKKzoxMDEyQTAwMEI0MDEwOTkwNzk3OUUwNTRGRUYwODAwNzkwNzk3OUUwRjMKKzoxMDEyQjAwMDQ0MDFGMDkwNzk3OUUwNDQwMkYwNTRGQkYwOTA3OTg0OTUKKzoxMDEyQzAwMEYwMTIwQkEyOTA3OTgyNzQwQ0YwOTA3OTg4NzQwMUYwN0UKKzoxMDEyRDAwMEU1MTI3MDAyODE1NkQyQUYyMjkwNzkyREUwNjQwMTcwNDAKKzoxMDEyRTAwMDc3OTA3RkYyRjA5MDdGRjM3NENDRjA5MDdGRkY3NEZDRTYKKzoxMDEyRjAwMEYwRTQ5MDc5NzhGMDkwNzk3QkUwOTA3OTc5RjA1NEZDODMKKzoxMDEzMDAwMEYwOTA3OTdCRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQkEyREEKKzoxMDEzMTAwMDkwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RjA5MDc5RkUKKzoxMDEzMjAwMDdGRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwMDc5MDc5NkMKKzoxMDEzMzAwMDc5RTA0NDAxRjA5MDc5NzlFMDU0RkRGMDU0RkJGMDkwQUQKKzoxMDEzNDAwMDc5ODRGMDEyMEJBMjkwNzk4Mjc0MTJGMDkwNzk4ODc0RUIKKzoxMDEzNTAwMDAyRjBFNTEyNjAwMkQyQUY5MDc5MkRFMDY0MDI3MDc3NUUKKzoxMDEzNjAwMDkwN0ZGMkYwOTA3RkYzNzRFMEYwOTA3RkZGNzRGQ0YwRDgKKzoxMDEzNzAwMEU0OTA3OTc4RjA5MDc5N0JFMDkwNzk3OUYwNTRGQ0YwMDIKKzoxMDEzODAwMDkwNzk3QkYwQTJBRkU0MzNGNTEyQzJBRjEyMEJBMjkwQkEKKzoxMDEzOTAwMDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzk3OUYwOTA3OTdGOEYKKzoxMDEzQTAwMEUwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDA3OTA3OTc5RjIKKzoxMDEzQjAwMEUwNDQwMUYwOTA3OTc5RTA0NDAyRjA1NEZCRjA5MDc5MzgKKzoxMDEzQzAwMDg0RjAxMjBCQTI5MDc5ODI3NDEyRjA5MDc5ODg3NDAyRTIKKzoxMDEzRDAwMEYwRTUxMjYwMDJEMkFGOTA3OTJERTA2NDAzNzA3NzkwNEYKKzoxMDEzRTAwMDdGRjJGMDkwN0ZGMzc0OTRGMDkwN0ZGRjc0RkNGMEU0NTAKKzoxMDEzRjAwMDkwNzk3OEYwOTA3OTdCRTA5MDc5NzlGMDU0RkVGMDQ0MjAKKzoxMDE0MDAwMDAyRjA5MDc5N0JGMEEyQUZFNDMzRjUxMkMyQUYxMjBCNzkKKzoxMDE0MTAwMEEyOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGMDkwRDQKKzoxMDE0MjAwMDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTRGRUYwODAwNzkwNkIKKzoxMDE0MzAwMDc5NzlFMDQ0MDFGMDkwNzk3OUUwNDQwNEYwOTA3OTg0N0UKKzoxMDE0NDAwMEYwMTIwQkEyOTA3OTgyNzQwNkYwOTA3OTg4NzQwNEYwRkYKKzowNzE0NTAwMEU1MTI2MDAyRDJBRjIyOTkKKzoxMDE0NTcwMEMyMjhDMjI5OTA3RkU4RTAxMjBFMUExNDg0MDAxNEUwMTMKKzoxMDE0NjcwMDAxMTRGNjAyMTY3QzIxMTZCRTIyMTU5MTgwMTVEMTgxMzIKKzoxMDE0NzcwMDE2MkU4MjE2Q0ZBMTE3MDVBMjAwMDAxNzBBOTA3RkU5NDIKKzoxMDE0ODcwMEUwMTQ2MDExMjRGRTYwMjgyNEZFNjAzQjI0RkM3MDQwQjkKKzoxMDE0OTcwMDEyNEEyQUUxMTYxMjRCRTA0MDAyRTExNjkwN0ZFQUUwNzkKKzoxMDE0QTcwMEI0MDEwNEMyMkFFMTE2OTA3RkI0RTA0NDAxRjBFMTE2Q0EKKzoxMDE0QjcwMDEyNEJFMjkwN0ZFQUUwQjQwMTA0RDIyQUUxMTY5MDdGNTIKKzoxMDE0QzcwMEI0RTA0NDAxRjBFMTE2OTA3RkI0RTA0NDAxRjBFMTE2ODYKKzoxMDE0RDcwMDkwN0ZCNEUwNDQwMUYwRTExNjkwN0ZFOUUwMjRGNTcwRDUKKzoxMDE0RTcwMDA1MTI0NzlDRTExNjkwN0ZCNEUwNDQwMUYwRTExNjkwQTUKKzoxMDE0RjcwMDdGRTlFMDI0RkQ2MDU0MjQwMjYwMDJBMTg4MTI0QkUwREEKKzoxMDE1MDcwMDQwMDJFMTE2OTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0RjcKKzoxMDE1MTcwMDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyNjEKKzoxMDE1MjcwMEU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzRkQKKzoxMDE1MzcwMDEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwQUIKKzoxMDE1NDcwMEUxMTY5MDdGQjRFMDQ0MDFGMEUxMTYxMjRCRTI0MDAyNEQKKzoxMDE1NTcwMEUxMTY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGODIKKzoxMDE1NjcwMEM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0NzgKKzoxMDE1NzcwMDdGRjU4Mzc0MDFGMEUxMTY5MDdGQjRFMDQ0MDFGMEUxNTgKKzoxMDE1ODcwMDE2OTA3RkI0RTA0NDAxRjBFMTE2OTA3RkU5RTA2MDEyMjUKKzoxMDE1OTcwMDI0Rjg2MDA5MjQwMjcwMjkxMjE3MUVFMTE2MTI0QkEwQzUKKzoxMDE1QTcwMEUxMTYxMjRCREVBMjJBRTQzM0ZGMjVFMEZGQTIyQkU0NkIKKzoxMDE1QjcwMDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMEUxMjEKKzoxMDE1QzcwMDE2OTA3RkI0RTA0NDAxRjBFMTE2OTA3RkU5RTA2MDM3QzAKKzoxMDE1RDcwMDI0RjY2MDJFMjQwNDcwNDE5MDdGRUJFMDI0REU2MDBFMzkKKzoxMDE1RTcwMDA0NzAxNkQyMjk5MDdGQjRFMDQ0MDFGMEUxMTZEMjI5QTUKKzoxMDE1RjcwMDkwN0ZCNEUwNDQwMUYwRTExNjkwN0ZCNEUwNDQwMUYwM0QKKzoxMDE2MDcwMEUxMTYxMjQ0NjNFMTE2MTI0QkRFRTQ5MDdGMDBGMEEzNkIKKzoxMDE2MTcwMEYwOTA3RkI1NzQwMkYwRTExNjIwMjkwNzkwN0ZCNEUwQkYKKzoxMDE2MjcwMDQ0MDFGMEMyMjlFMTE2OTA3RkU5RTAyNEY0NjAzNDI0RjQKKzoxMDE2MzcwMDBDNzAzOTEyNEJERTkwN0ZFQ0UwRjQ1NDgwRkZDNDU0RjkKKzoxMDE2NDcwMDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1M0IKKzoxMDE2NTcwMDgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyMUYKKzoxMDE2NjcwMEYwRTExNjkwN0ZCNEUwNDQwMUYwRTExNjkwN0ZCNEUwMUEKKzoxMDE2NzcwMDQ0MDFGMEUxMTY5MDdGRTlFMDI0RjY2MDEyMTQ2MDFBNDUKKzoxMDE2ODcwMDI0MDI3MDFERDIyODkwN0ZCNEUwNDQwMUYwODAxMkQyNkEKKzoxMDE2OTcwMDI4OTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRDQKKzoxMDE2QTcwMEYwMjAyODBGOTA3OTg1NzQwMUYwMTI0OTZGOTA3RkM1NUIKKzoxMDE2QjcwMDc0MDJGMEMyMjg4MDU4OTA3OTg2NzQwMUYwMTI0OTZGM0QKKzoxMDE2QzcwMDkwN0ZDNTc0MDJGMDgwNDc5MDdGRTlFMDI0RkU2MDEyQTYKKzoxMDE2RDcwMDE0NjAxQTI0MDI3MDFERDIyODkwN0ZCNEUwNDQwMUYwRjAKKzoxMDE2RTcwMDgwMTJEMjI4OTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0NDUKKzoxMDE2RjcwMEUwNDQwMUYwMjAyODAzMTIxQTdCQzIyODgwMTExMjJDMjMKKzoxMDE3MDcwMDJCODAwQzEyNEJFNDUwMDc5MDdGQjRFMDQ0MDFGMDkwMUIKKzowNzE3MTcwMDdGQjRFMDQ0MDJGMDIyNjAKKzoxMDE3MUUwMDEyNEJEQzQwMDJFMUUzOTA3RkVCRTAyNEZFNjAxRTE0RUUKKzoxMDE3MkUwMDYwNDYxNDYwNkUxNDcwMDJFMUQ0MjQwNDYwMDJFMURDQTEKKzoxMDE3M0UwMDc0MDU5MDdGRDRGMDc0MDA5MDdGRDVGMDIyOTA3RkVBRUMKKzoxMDE3NEUwMEUwRkYxMjNGQTI4QjMzOEEzNDg5MzVFQTQ5NjAxMUNFMEQKKzoxMDE3NUUwMEVBQ0VFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTYKKzoxMDE3NkUwMDkwN0ZCNEUwNDQwMUYwMjI5MDdGRUFFMEZGMTI0ODAwM0YKKzoxMDE3N0UwMDhCMzM4QTM0ODkzNUVBNDk2MDExQ0VFQUNFRUU5MDdGRkEKKzoxMDE3OEUwMEQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGQjRFMDQ0MzQKKzoxMDE3OUUwMDAxRjAyMjkwN0ZFQUUwRkY5MDdFQzBFMEZEQTNFMEZCMjcKKzoxMDE3QUUwMDEyNDREMjhCMzM4QTM0ODkzNUVBNDk2MDExQ0VFQUNFOUYKKzoxMDE3QkUwMEVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGREYKKzoxMDE3Q0UwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMTcKKzowNTE3REUwMEI0RTA0NDAxRjAzRAorOjAxMTdFMzAwMjJFMworOjEwMTdFNDAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0Y0NworOjBCMTdGNDAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMjUwCis6MDExN0ZGMDAyMkM3Cis6MTAxODAwMDBFNDkwNzgxNUYwN0IwMTkwNzgxMjA0RjBBMzc0NzhGMERFCis6MTAxODEwMDBBMzc0NThGMDkwNzgxMkUwRkJBM0UwRkFBM0UwRjk5MEVCCis6MTAxODIwMDAwMDAxMTIwQzVERkY5MDc5OUFFMDZGNjAxODkwNzgxNUI2Cis6MTAxODMwMDBFMEMzOTQwNjUwMEZFMDA0RjA5MDc4MTNFNDc1RjAwRkM1Cis6MTAxODQwMDAxMjBDRjQ4MENGOTA3ODE1RTBCNDA2MDg5MDdGQjRFMEQ1Cis6MTAxODUwMDA0NDAxRjAyMjkwNzgxMkUwRkJBM0UwRkFBM0UwRjkxMjMxCis6MTAxODYwMDAwQzQ0RkYyNEJGNzAwMjQxN0EyNEUwNzAwMjQxNEMyNEYyCis6MTAxODcwMDAyMTYwMDI0MTczOTA3OTk3RTAyNEZFNzAwMjIxOUExNDRFCis6MTAxODgwMDA3MDAyMjFFRjI0MDI2MDAyNDE0NDkwNzkyREUwQTNGMDIwCis6MTAxODkwMDA5MDc5MjNFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIwRERDCis6MTAxOEEwMDA0MkM4RUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwNzkyMkM5Cis6MTAxOEIwMDBFMEZFRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGOEVBCis6MTAxOEMwMDA5MDc5MjFFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGRENCCis6MTAxOEQwMDBFQzM4RkM5MDc4MTJFMEZCQTNFMEZBQTNFMEY5OTAwMDZBCis6MTAxOEUwMDAwMjEyMEREMjkwMDAwMjEyMERBMjdCNDQ3QUFDNzkwMDU0Cis6MTAxOEYwMDA3ODAwQzMxMjBEOTE3MDA1OTA3OTJEMDRGMDkwNzgxMjQ0Cis6MTAxOTAwMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDAyMTIwREEyN0I4MEI1Cis6MTAxOTEwMDA3QUJCNzkwMDc4MDBDMzEyMEQ5MTcwMDY5MDc5MkQ3NDBFCis6MTAxOTIwMDAwMkYwOTA3ODEyRTBGQkEzRTBGQUEzRTBGOTkwMDAwMjQ1Cis6MTAxOTMwMDAxMjBEQTI3QjAwN0E3Nzc5MDE3ODAwQzMxMjBEOTE3MEE1Cis6MTAxOTQwMDAwNjkwNzkyRDc0MDNGMDkwNzkyREUwRkZCNDAxMDk3NUFDCis6MTAxOTUwMDAwQzY3NzUwRDA2NzUwRTBCRUZCNDAyMDhFNEY1MENGNTc3Cis6MTAxOTYwMDAwRDc1MEUwQ0VGQjQwMzA4RTRGNTBDRjUwRDc1MEUxOEFCCis6MTAxOTcwMDBFRkI0MDMwRDkwNzkyRUUwNjQwMzYwMDVEMjJGMTIzRDgxCis6MTAxOTgwMDA3OTkwNzkyREUwNjQwMzYwMEFBM0UwQjQwMzA1QzIyRkM3Cis6MTAxOTkwMDAxMjNENzkxMjEwMDAxMjI4MDEyMjkwNzkyM0UwRkZFNDExCis6MTAxOUEwMDBGQ0ZERkVGQkZBNzkwMUY4MTIwRDQyQzhFQ0M4QzlFRDQ2Cis6MTAxOUIwMDBDOUNBRUVDQUNCRUZDQjkwNzkyMkUwRkVFNEZDRkQyQjQ2Cis6MTAxOUMwMDBGQkVBM0VGQUVEMzlGOUVDMzhGODkwNzkyMUUwRkZFNEQyCis6MTAxOUQwMDBGRUVCMkZGRkVFM0FGRUVEMzlGREVDMzhGQzkwNzgxMjZECis6MTAxOUUwMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDA2MTIwREQyMjI5MEVBCis6MTAxOUYwMDA3OTIzRTBGRkU0RkNGREZFRkJGQTc5MDFGODEyMEQ0MkM5Cis6MTAxQTAwMDBDOEVDQzhDOUVEQzlDQUVFQ0FDQkVGQ0I5MDc5MjJFMEM5Cis6MTAxQTEwMDBGRUU0RkNGRDJCRkJFQTNFRkFFRDM5RjlFQzM4Rjg5MEQ4Cis6MTAxQTIwMDA3OTIxRTBGRkU0RkVFQjJGRkZFRTNBRkVFRDM5RkRFQzBECis6MTAxQTMwMDAzOEZDOTA3ODEyRTBGQkEzRTBGQUEzRTBGOTkwMDAwQUVBCis6MTAxQTQwMDAxMjBERDIyMjkwN0ZCNEUwNDQwMUYwMjI5MDc5OTdFMDA5Cis6MTAxQTUwMDAxNDcwMTg5MDc5MjFFMEZGOTA3ODEyRTBGQkEzRTBGQTZGCis6MTAxQTYwMDBBM0UwRjk5MDAwMEVFRjEyMEM5QzIyOTA3RkI0RTA0NEFBCis6MEExQTcwMDAwMUYwMjI5MDdGQjRFMDQ0MDFGMDgxCis6MDExQTdBMDAyMjQ5Cis6MTAxQTdCMDBFNEZGRkU3QjAxOTA3ODBGMDRGMEEzNzQ3OEYwQTM3NDVECis6MTAxQThCMDAyQkYwOTA3ODBGRTBGQkEzRTBGQUEzRTBGOTkwMDAwMkIzCis6MTAxQTlCMDAxMjBDNURGRDkwN0ZFQ0UwNkQ2MDEzRUZDMzk0MDU1MDZECis6MTAxQUFCMDAwRDBGOTA3ODEwRTQ3NUYwMDMxMjBDRjQ4MEQ0OEQzMzg1Cis6MTAxQUJCMDA5MDc4MEZFMEZCQTNFMEZBQTNFMEY5OTAwMDAxMTIwQzgxCis6MTAxQUNCMDA1REZEOTA3RkVERTA2RDYwMTNFRUMzOTQwQjUwMEQwRTNBCis6MTAxQURCMDA5MDc4MTBFNDc1RjAwMzEyMENGNDgwRDQ5MDdGRURFMDU1Cis6MTAxQUVCMDBGNTM0RUY2NDA1NjAwM0JFMEIwODkwN0ZCNEUwNDQwMTRFCis6MTAxQUZCMDBGMDIyOTA3ODBGRTBGQkEzRTBGQUEzRTBGOTEyMEM0NDdDCis6MTAxQjBCMDBGRjI0RjA2MDA4MjQwRjcwMEUxMjQ5MkEyMjEyNEI4MzE3Cis6MEUxQjFCMDA5MDc5MjBFNTM0RjAyMjkwN0ZCNEUwNDQwMUYwOTAKKzowMTFCMjkwMDIyOTkKKzowRjFCMkEwMDkwN0ZFQUUwQjRGRjA0MTIzNDE2MjIxMjM4MDAyMjMyCis6MDcxQjM5MDA1Mzk4RkU1Mzk4RkQzMkEyCis6MTAxQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTAxQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTAxQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTAxQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTAxQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTAxQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTAxQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTAxQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTAxQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTAxQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTAxQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTAxQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTAxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAxQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTAxQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTAxQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTAxQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTAxQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTAxQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTAxQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTAxQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTAxQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTAxQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTAxQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTAxRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTAxRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTAxRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTAxRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTAxRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTAxRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTAxRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTAxREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTAxREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTAxREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTAxREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTAxREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTAxREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTAxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTAxRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTAxRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTAxRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTAxRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTAxRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTAxRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTAxRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTAxRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTAxRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTAxRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MEUxRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDFFQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDFFQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDFFREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDFFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDFFRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDFGMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDFGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDFGMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzowMjFGM0UwMDAwMDBBMQorOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjBFMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMzdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMzhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMzlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyM0FFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyM0JFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyM0NFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyM0RFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyM0VFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyM0ZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyNDBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyNDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyNDJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyNDNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyNDRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyNDVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyNDZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyNDdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyNDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyNDlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyNEFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyNEJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyNENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyNERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyNEVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyNEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyNTBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyNTFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyNTJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyNTNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyNTRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyNTVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyNTZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyNTdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyNThFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyNTlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyNUFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyNUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyNUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyNURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyNUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MTAyNUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyNjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTAyNjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCis6MTAyNjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTAyNjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTAyNjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTAyNjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTAyNjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTAyNjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTAyNjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTAyNjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6MTAyNkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCis6MTAyNkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTAyNkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTAyNkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MEUyNkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDI2RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDI3MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDI3MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDI3MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDI3M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDI3NEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDI3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDI3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDI3N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDI3OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDI3OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDI3QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDI3QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDI3Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDI3REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDI3RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzowNTI3RkMwMDAwMDAwMDAwMjJCNgorOjEwMjgwMTAwOTA3OTY0RTAxNDYwNDYxNDcwMDI0MTNDMjQwMjYwMDIzNQorOjEwMjgxMTAwODEyQTkwN0ZGQzc0Q0NGMDkwN0ZGRjc0RkNGMDkwNzk1QQorOjEwMjgyMTAwNzg3NDAxRjA5MDc5N0NFMDkwNzk3OUYwNTRGREYwNDQ2RQorOjEwMjgzMTAwMDFGMDkwNzk3Q0YwQTJBRkU0MzNGNTEyQzJBRjEyMEIzNAorOjEwMjg0MTAwQTJFNTEyNjAwMkQyQUZFNDkwNzk3QUYwMjI5MDc5MkQ1QworOjEwMjg1MTAwRTA2NDAxNjAwMjAxRjE5MDdGRkM3NENDRjA5MDdGRkY5NQorOjEwMjg2MTAwNzRGQ0YwOTA3OTc4NzQwMUYwOTA3OTdDRTA5MDc5NzkzQQorOjEwMjg3MTAwRjA0NDAxRjA0NDAyRjA5MDc5N0VFMEI0MDEwOTkwNzlDRQorOjEwMjg4MTAwNzlFMDQ0MDRGMDgwMDc5MDc5NzlFMDU0RkJGMDkwNzk4NQorOjEwMjg5MTAwNzlFMDkwNzk3Q0YwQTJBRkU0MzNGNTEyQzJBRjEyMEI2QworOjEwMjhBMTAwQTI5MDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzk3OUYwOTAyRgorOjEwMjhCMTAwNzk3RkUwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDA3OTBDNgorOjEwMjhDMTAwNzk3OUUwNDQwMUYwOTA3OTc5RTA1NEZERjA1NEZCRjAxRQorOjEwMjhEMTAwOTA3OTg0RjAxMjBCQTI5MDc5N0E3NDAxRjA5MDc5NjU2NQorOjEwMjhFMTAwRjBFNTEyNjAwMkQyQUZFNDkwNzk4Q0YwOTA3OThCRjAzMAorOjEwMjhGMTAwOTA3OTJERTA2NDAyNjAwMjIxOTY5MDdGRkM3NEM4RjAwQgorOjEwMjkwMTAwOTA3RkZGNzRGQ0YwOTA3OTc4NzQwMUYwOTA3OTdDRTAwRAorOjEwMjkxMTAwOTA3OTc5RjA0NDAxRjA0NDAyRjA5MDc5N0VFMEI0MDFCRAorOjEwMjkyMTAwMDk5MDc5NzlFMDQ0MDRGMDgwMDc5MDc5NzlFMDU0RkJDQgorOjEwMjkzMTAwRjA5MDc5NzlFMDkwNzk3Q0YwQTJBRkU0MzNGNTEyQzI5RQorOjEwMjk0MTAwQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzlCQgorOjEwMjk1MTAwNzlGMDkwNzk3RkUwQjQwMTA5OTA3OTc5RTA1NEZFRjA0MworOjEwMjk2MTAwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5RTA0NDAyRjBCMAorOjEwMjk3MTAwNTRGQkYwOTA3OTg0RjAxMjBCQTI5MDc5N0E3NDAxRjBGMworOjEwMjk4MTAwOTA3OTY1NzQwM0YwRTUxMjYwMDJEMkFGRTQ5MDc5OEMxRQorOjEwMjk5MTAwRjA5MDc5OEJGMDkwNzkyREUwNjQwMzYwMDI4MTJBOTBBOAorOjEwMjlBMTAwN0ZGQzc0OThGMDkwN0ZGRjc0RkNGMDkwNzk3ODc0MDE0QgorOjEwMjlCMTAwRjA5MDc5N0NFMDkwNzk3OUYwNDQwMUYwNDQwMkYwOTA1NAorOjEwMjlDMTAwNzk3RUUwQjQwMTA5OTA3OTc5RTA0NDA0RjA4MDA3OTBDMAorOjEwMjlEMTAwNzk3OUUwNTRGQkYwOTA3OTc5RTA5MDc5N0NGMEEyQUZCRAorOjEwMjlFMTAwRTQzM0Y1MTJDMkFGMTIwQkEyOTA3OTc4NzQwMkYwOTAyMQorOjEwMjlGMTAwNzk4NEUwOTA3OTc5RjA5MDc5N0ZFMEI0MDEwOTkwNzk1OAorOjEwMkEwMTAwNzlFMDU0RkVGMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzkwMworOjEwMkExMTAwNzlFMDU0RkRGMDQ0MDRGMDkwNzk4NEYwMTIwQkEyOTAxNworOjEwMkEyMTAwNzk3QTc0MDFGMDkwNzk2NTc0MDVGMEU1MTI2MDAyRDI0QgorOjEwMkEzMTAwQUZFNDkwNzk4Q0YwOTA3OThCRjAyMjkwNzkyREUwNjQ1RAorOjEwMkE0MTAwMDE2MDAyNDFFMDkwN0ZGQzc0QjRGMDkwN0ZGRjc0RkM2MAorOjEwMkE1MTAwRjA5MDc5Nzg3NDAxRjA5MDc5N0NFMDkwNzk3OUYwNTQ3NAorOjEwMkE2MTAwRkVGMDQ0MDJGMDkwNzk3RUUwQjQwMTA5OTA3OTc5RTBCQQorOjEwMkE3MTAwNDQwNEYwODAwNzkwNzk3OUUwNTRGQkYwOTA3OTc5RTA5MworOjEwMkE4MTAwOTA3OTdDRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQkEyOTBBMQorOjEwMkE5MTAwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RjA5MDc5N0Y3NworOjEwMkFBMTAwRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwMDc5MDc5NzlEQQorOjEwMkFCMTAwRTA0NDAxRjA5MDc5NzlFMDU0RkRGMDU0RkJGMDkwNzkxNQorOjEwMkFDMTAwODRGMDEyMEJBMjkwNzk3QTc0MDFGMDkwNzk2NTA0RjA4OAorOjEwMkFEMTAwRTUxMjYwMDJEMkFGRTQ5MDc5OENGMDkwNzk4QkYwOTA5RQorOjEwMkFFMTAwNzkyREUwNjQwMjYwMDI2MTg1OTA3RkZDNzRCMEYwOTAwMgorOjEwMkFGMTAwN0ZGRjc0RkNGMDkwNzk3ODc0MDFGMDkwNzk3Q0UwOTAxQworOjEwMkIwMTAwNzk3OUYwNTRGRUYwNDQwMkYwOTA3OTdFRTBCNDAxMDk0NQorOjEwMkIxMTAwOTA3OTc5RTA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCRjBGMgorOjEwMkIyMTAwOTA3OTc5RTA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyQUZFRAorOjEwMkIzMTAwMTIwQkEyOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGRgorOjEwMkI0MTAwRjA5MDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTRGRUYwODA0QQorOjEwMkI1MTAwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3OUUwNDQwMkYwNTRFQQorOjEwMkI2MTAwRkJGMDkwNzk4NEYwMTIwQkEyOTA3OTdBNzQwMUYwOTBDNQorOjEwMkI3MTAwNzk2NTc0MDRGMEU1MTI2MDAyRDJBRkU0OTA3OThDRjBDQgorOjEwMkI4MTAwOTA3OThCRjA5MDc5MkRFMDY0MDM2MDAyODEyQTkwN0YyNworOjEwMkI5MTAwRkM3NDY4RjA5MDdGRkY3NEZDRjA5MDc5Nzg3NDAxRjAxOAorOjEwMkJBMTAwOTA3OTdDRTA5MDc5NzlGMDU0RkVGMDQ0MDJGMDkwNzlDQworOjEwMkJCMTAwN0VFMEI0MDEwOTkwNzk3OUUwNDQwNEYwODAwNzkwNzlDRQorOjEwMkJDMTAwNzlFMDU0RkJGMDkwNzk3OUUwOTA3OTdDRjBBMkFGRTQ2MAorOjEwMkJEMTAwMzNGNTEyQzJBRjEyMEJBMjkwNzk3ODc0MDJGMDkwNzk5QQorOjEwMkJFMTAwODRFMDkwNzk3OUYwOTA3OTdGRTBCNDAxMDk5MDc5Nzk2NgorOjEwMkJGMTAwRTA1NEZFRjA4MDA3OTA3OTc5RTA0NDAxRjA5MDc5NzkxMgorOjEwMkMwMTAwRTA1NEZERjA0NDA0RjA5MDc5ODRGMDEyMEJBMjkwNzkyNQorOjEwMkMxMTAwN0E3NDAxRjA5MDc5NjU3NDA2RjBFNTEyNjAwMkQyQUYyMgorOjBBMkMyMTAwRTQ5MDc5OENGMDkwNzk4QkYwMjI5QQorOjEwMkMyQjAwRTRGRjdCMDE5MDc4MTYwNEYwQTM3NDc4RjBBMzc0NTgzQQorOjEwMkMzQjAwRjA5MDc4MTZFMEZCQTNFMEZBQTNFMEY5OTAwMDAxMTIwNAorOjEwMkM0QjAwMEM1REZFOTA3RkVDRTA2RTYwMTNFRkMzOTQwNjUwMERBRAorOjEwMkM1QjAwMEY5MDc4MTdFNDc1RjAwRjEyMENGNDgwRDRCRjA2MDhCMAorOjEwMkM2QjAwOTA3RkI0RTA0NDAxRjAyMjkwNzgxNkUwRkJBM0UwRkFFOQorOjEwMkM3QjAwQTNFMEY5MTIwQzQ0RkYyNDlGNzAwMkMxNjYyNDIxNjA2QgorOjEwMkM4QjAwMDJDMThDOTA3RkU5RTAyNDdFNzAwMkExMzAxNDcwMDJBNworOjEwMkM5QjAwQTFDODI0MDI2MDAyQzE1RTkwMDAwMjEyMERBMjdCNDQwNworOjEwMkNBQjAwN0FBQzc5MDA3ODAwQzMxMjBEOTE3MDEzOTA3RjAwNzQ4OQorOjEwMkNCQjAwNDRGMEEzNzRBQ0YwRTRBM0YwOTA3RkI1NzQwM0YwOTBGMAorOjEwMkNDQjAwNzgxNkUwRkJBM0UwRkFBM0UwRjk5MDAwMDIxMjBEQTI0NAorOjEwMkNEQjAwN0I4MDdBQkI3OTAwNzgwMEMzMTIwRDkxNzAxMzkwN0ZDMworOjEwMkNFQjAwMDA3NDgwRjBBMzc0QkJGMEU0QTNGMDkwN0ZCNTc0MDM4MQorOjEwMkNGQjAwRjA5MDc4MTZFMEZCQTNFMEZBQTNFMEY5OTAwMDAyMTI0MworOjEwMkQwQjAwMERBMjdCMDA3QTc3NzkwMTc4MDBDMzEyMEQ5MTYwMDJENgorOjEwMkQxQjAwQzE5MzkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0ZDMAorOjEwMkQyQjAwQjU3NDAzRjAyMjkwNzgxNkUwRkJBM0UwRkFBM0UwRjk2OAorOjEwMkQzQjAwOTAwMDA2MTIwREEyN0I0NDdBQUM3OTAwNzgwMEMzMTI4NgorOjEwMkQ0QjAwMEQ5MTcwMTM5MDdGMDA3NDQ0RjBBMzc0QUNGMEU0QTM2NgorOjEwMkQ1QjAwRjA5MDdGQjU3NDAzRjA5MDc4MTZFMEZCQTNFMEZBQTMzNAorOjEwMkQ2QjAwRTBGOTkwMDAwNjEyMERBMjdCODA3QUJCNzkwMDc4MDAwNworOjEwMkQ3QjAwQzMxMjBEOTE3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjA5RAorOjEwMkQ4QjAwRTRBM0YwOTA3RkI1NzQwM0YwOTA3ODE2RTBGQkEzRTAxQQorOjEwMkQ5QjAwRkFBM0UwRjk5MDAwMDYxMjBEQTI3QjAwN0E3Nzc5MDE3NQorOjEwMkRBQjAwNzgwMEMzMTIwRDkxNjAwMkMxOTM5MDdGMDBGMEEzNzQ2MQorOjEwMkRCQjAwNzdGMEEzNzQwMUYwOTA3RkI1NzQwM0YwMjI5MDc4MTYyRQorOjEwMkRDQjAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwQTEyMERBMjdCNDQwQQorOjEwMkREQjAwN0FBQzc5MDA3ODAwQzMxMjBEOTE3MDEzOTA3RjAwNzQ1OAorOjEwMkRFQjAwNDRGMEEzNzRBQ0YwRTRBM0YwOTA3RkI1NzQwM0YwOTBCRgorOjEwMkRGQjAwNzgxNkUwRkJBM0UwRkFBM0UwRjk5MDAwMEExMjBEQTIwQgorOjEwMkUwQjAwN0I4MDdBQkI3OTAwNzgwMEMzMTIwRDkxNzAxMzkwN0Y5MQorOjEwMkUxQjAwMDA3NDgwRjBBMzc0QkJGMEU0QTNGMDkwN0ZCNTc0MDM0RgorOjEwMkUyQjAwRjA5MDc4MTZFMEZCQTNFMEZBQTNFMEY5OTAwMDBBMTIwOQorOjEwMkUzQjAwMERBMjdCMDA3QTc3NzkwMTc4MDBDMzEyMEQ5MTcwNDg0RgorOjEwMkU0QjAwOTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTA3RkI1NzRCQQorOjEwMkU1QjAwMDNGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZFOUUwMjQ1QworOjEwMkU2QjAwN0Y3MDE2OTA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDBEMAorOjEwMkU3QjAwMEUxMjBDNUQ5MDdGMDBGMDIyOTA3RkI0RTA0NDAxRjBDNQorOjA4MkU4QjAwMjI5MDdGQjRFMDQ0MDFGMDQ1Cis6MDEyRTkzMDAyMjFDCis6MTAyRTk0MDA3NTM2MjU3NTM3MjQ5MDc5NzRFMDY0MDE3MDU0RjBGNTIzCis6MTAyRUE0MDAzNTc1MjIwMUU1MjI2NDAxNzA0ODkwN0ZBNUUwNDQ4MEQ1Cis6MTAyRUI0MDBGMDkwN0ZBNkU1MzZGMDEyNDZDMDc0NEYyNTM1RjU4MkIyCis6MTAyRUM0MDBFNDM0NzlGNTgzRTA5MDdGQTZGMDEyNDZDMDc0MzUyNThBCis6MTAyRUQ0MDAzNUY1ODJFNDM0NzlGNTgzRTA5MDdGQTZGMDEyNDZDMDlDCis6MTAyRUU0MDA5MDdGQTU3NDQwRjAxMjBBQ0QwNTM1RTUzNUMzOTQwREU1Cis6MTAyRUY0MDA0MEIyOTA3OTc1RTA2NDAxNjAwMkUxREVGMDkwNzkyMERGCis6MTAyRjA0MDBFMDY0MDU2MDAyRTE4RDdCMDE5MDc5NUMwNEYwQTM3NEI4Cis6MTAyRjE0MDA3OEYwQTM3NEIyRjA3NTMzMDc5MDc5NUNFMEZCQTNFMDFBCis6MTAyRjI0MDBGQUEzRTBGOTkwMDAwMTEyMEM1RDcwMEY5MDAwMDQxMkY2Cis6MTAyRjM0MDAwQzVEOTA3OTJGRjAxMjBDMjk4MDA2OTA3OTJGNzRGRjg0Cis6MTAyRjQ0MDBGMEU0RjUzNTc1MjIwMTc1MzQwMkU1MjI2NDAxNzAzOTI3Cis6MTAyRjU0MDA5MDdGQTVFMDQ0ODBGMDkwN0ZBNkU1MzZGMDEyNDZDMDRECis6MTAyRjY0MDBBRjM0MDUzNDkwN0ZBNkVGRjAxMjQ2QzA5MDc5MkZFMDdECis6MTAyRjc0MDA5MDdGQTZGMDEyNDZDMDkwN0ZBNTc0NDBGMDEyMEFDRDRGCis6MTAyRjg0MDAwNTM1RTUzNUMzOTQwNjQwQzE5MDc5MjBFMDY0MDY3MEE4Cis6MTAyRjk0MDA0OTdCMDE5MDc5NUYwNEYwQTM3NDc4RjBBMzc0RkZGMDg3Cis6MTAyRkE0MDA3NTMzMDM5MDc5NUZFMEZCQTNFMEZBQTNFMEY5OTAwMEE2Cis6MTAyRkI0MDAwMTEyMEM1RDcwMUM5MDAwMDQxMjBDNUQ5MDc5MzNGMENBCis6MTAyRkM0MDA3MDAzNzRGRkYwOTA3OTMzRTA1NDdGRkZGMDI1RTBGMDU0Cis6MEEyRkQ0MDA4MDA1RTQ5MDc5MzNGMDEyNDdERjI2Cis6MDEyRkRFMDAyMkQwCis6MTAyRkRGMDA5MDc5Nzg3NDAzRjA5MDc5ODNFMDkwNzk3OUYwQTJBRkNCCis6MTAyRkVGMDBFNDMzRjUxMkMyQUYxMjBCQTJFNTEyNjAwMkQyQUYyMjg4Cis6MDEyRkZGMDAyMkFGCis6MTAzMDAwMDBFNEZFOTA3OTIwRTBGREI0MDUxMTkwNzgyNTc0MDFGMDdDCis6MTAzMDEwMDBBMzc0NzhGMEEzNzRCMkYwNzUzNTA3RURCNDA2MTE5MDdGCis6MTAzMDIwMDA3ODI1NzQwMUYwQTM3NDc4RjBBMzc0RkZGMDc1MzUwMzZDCis6MTAzMDMwMDA5MDdGRUJFMDE0NjAxMTE0NjA1QjI0MDI2MDAyNDEwNTk0Cis6MTAzMDQwMDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkU5RTAyNDdGNzAzRDVFCis6MTAzMDUwMDBFNEZGRUZDMzk1MzU1MDJGOTA3ODI1RTBGQkEzRTBGQTBECis6MTAzMDYwMDBBM0UwRjk5MDAwMDExMjBDNURGRENDRUVDQzBFNzQwMEQzCis6MTAzMDcwMDAyQ0Y1ODJFNDM0N0ZGNTgzRURGMDkwNzgyNkU0NzVGMDRBCis6MTAzMDgwMDAwQjEyMENGNDBGODBDQjkwN0ZCNUVFRjAyMjkwN0ZCNDQyCis6MTAzMDkwMDBFMDQ0MDFGMDIyOTA3RkU5RTAyNDdFNjA2NDE0NzAwMjM1Cis6MTAzMEEwMDAyMTU1MTQ3MDAyMjFBOTI0MDM2MDAyMjFGREU0RkZFRkUxCis6MTAzMEIwMDBDMzk1MzU1MDQ2OTA3ODI1RTBGQkEzRTBGQUEzRTBGOUVDCis6MTAzMEMwMDA5MDAwMDMxMjBDNURGRENDRUVDQzBFNzQwMDJDRjU4MjRBCis6MTAzMEQwMDBFNDM0N0ZGNTgzRURGMDkwMDAwNDEyMEM1REZEQ0NFRTNFCis6MTAzMEUwMDBDQzBFNzQwMDJDRjU4MkU0MzQ3RkY1ODNFREYwOTA3OEZCCis6MTAzMEYwMDAyNkU0NzVGMDBCMTIwQ0Y0MEY4MEI0OTA3RkI1RUVGMDVGCis6MTAzMTAwMDAyMkU0RkZFRkMzOTUzNTUwNDY5MDc4MjVFMEZCQTNFMDFECis6MTAzMTEwMDBGQUEzRTBGOTkwMDAwNTEyMEM1REZEQ0NFRUNDMEU3NDI0Cis6MTAzMTIwMDAwMDJDRjU4MkU0MzQ3RkY1ODNFREYwOTAwMDA2MTIwQzVDCis6MTAzMTMwMDA1REZEQ0NFRUNDMEU3NDAwMkNGNTgyRTQzNDdGRjU4MzdCCis6MTAzMTQwMDBFREYwOTA3ODI2RTQ3NUYwMEIxMjBDRjQwRjgwQjQ5MDNCCis6MTAzMTUwMDA3RkI1RUVGMDIyRTRGRkVGQzM5NTM1NTA0NjkwNzgyNTE5Cis6MTAzMTYwMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDA3MTIwQzVERkRDQ0IwCis6MTAzMTcwMDBFRUNDMEU3NDAwMkNGNTgyRTQzNDdGRjU4M0VERjA5MEY0Cis6MTAzMTgwMDAwMDA4MTIwQzVERkRDQ0VFQ0MwRTc0MDAyQ0Y1ODJFNDMwCis6MTAzMTkwMDAzNDdGRjU4M0VERjA5MDc4MjZFNDc1RjAwQjEyMENGNDkzCis6MTAzMUEwMDAwRjgwQjQ5MDdGQjVFRUYwMjJFNEZGRUZDMzk1MzU1MDY5Cis6MTAzMUIwMDA0NjkwNzgyNUUwRkJBM0UwRkFBM0UwRjk5MDAwMDkxMjFECis6MTAzMUMwMDAwQzVERkRDQ0VFQ0MwRTc0MDAyQ0Y1ODJFNDM0N0ZGNTYyCis6MTAzMUQwMDA4M0VERjA5MDAwMEExMjBDNURGRENDRUVDQzBFNzQwMDc1Cis6MTAzMUUwMDAyQ0Y1ODJFNDM0N0ZGNTgzRURGMDkwNzgyNkU0NzVGMEQ5Cis6MTAzMUYwMDAwQjEyMENGNDBGODBCNDkwN0ZCNUVFRjAyMjkwN0ZCNEU4Cis6MEMzMjAwMDBFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjBCMworOjAxMzIwQzAwMjI5RgorOjEwMzIwRDAwN0IwMTdBNzg3OTJCOTA3ODAwRUJGMEEzRUFGMEEzRTlCMworOjEwMzIxRDAwRjA3NDAxMTIwQzhBOTA3ODAwRTBGQkEzRTBGQUEzRTBCMQorOjEwMzIyRDAwRjk5MDAwMDE3NDAxMTIwQzlDOTAwMDAyRTQxMjBDOUNBOAorOjEwMzIzRDAwOTA3ODAxRTQ3NUYwMDMxMjBDRjQ5MDc4MDBFMEZCQTM5NAorOjEwMzI0RDAwRTBGQUEzRTBGOTc0MTAxMjBDOEE5MDc4MDBFMEZCQTM2OQorOjEwMzI1RDAwRTBGQUEzRTBGOTkwMDAwMTc0MDUxMjBDOUM5MDAwMDJCNQorOjEwMzI2RDAwRTQxMjBDOUM5MDc4MDFFNDc1RjAwMzEyMENGNDkwNzg0NAorOjEwMzI3RDAwMDBFMEZCQTNFMEZBQTNFMEY5NzQwMjEyMEM4QTkwNzg0NworOjEwMzI4RDAwMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDAxNzQwMjEyMEMzOAorOjEwMzI5RDAwOUM5MDAwMDJFNDEyMEM5QzkwNzgwMUU0NzVGMDAzMTJFRQorOjEwMzJBRDAwMENGNDkwNzgwMEUwRkJBM0UwRkFBM0UwRjk3NDAxMTJBRQorOjEwMzJCRDAwMEM4QTkwNzgwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDFGRQorOjEwMzJDRDAwNzQwMzEyMEM5QzkwMDAwMkU0MTIwQzlDOTA3ODAxRTRBMworOjEwMzJERDAwNzVGMDAzMTIwQ0Y0OTA3ODAwRTBGQkEzRTBGQUEzRTA4NAorOjEwMzJFRDAwRjk3NDEwMTIwQzhBOTA3ODAwRTBGQkEzRTBGQUEzRTBDOQorOjEwMzJGRDAwRjk5MDAwMDE3NDA2MTIwQzlDOTAwMDAyRTQxMjBDOUNEMworOjEwMzMwRDAwOTA3ODAxRTQ3NUYwMDMxMjBDRjQ5MDc4MDBFMEZCQTNDMworOjEwMzMxRDAwRTBGQUEzRTBGOTc0MDIxMjBDOEE5MDc4MDBFMEZCQTNBNgorOjEwMzMyRDAwRTBGQUEzRTBGOTkwMDAwMTc0MDQxMjBDOUM5MDAwMDJFNQorOjEwMzMzRDAwRTQxMjBDOUM5MDc4MDFFNDc1RjAwMzEyMENGNDkwNzg3MworOjEwMzM0RDAwMDBFMEZCQTNFMEZBQTNFMEY5NzQwMjEyMEM4QTkwNzg3NgorOjEwMzM1RDAwMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDAxNzQwNDEyMEM2NQorOjEwMzM2RDAwOUM5MDAwMDI3NDA0MTIwQzlDOTA3ODAxRTQ3NUYwMDM5QgorOjEwMzM3RDAwMTIwQ0Y0OTA3ODAwRTBGQkEzRTBGQUEzRTBGOTc0MDJEQworOjEwMzM4RDAwMTIwQzhBOTA3ODAwRTBGQkEzRTBGQUEzRTBGOTkwMDAxQworOjEwMzM5RDAwMDE3NDAzMTIwQzlDOTAwMDAyNzQwNDEyMEM5QzkwNzgyMgorOjEwMzNBRDAwMDFFNDc1RjAwMzEyMENGNDkwNzgwMEUwRkJBM0UwRkE1MQorOjEwMzNCRDAwQTNFMEY5NzQwMjEyMEM4QTkwNzgwMEUwRkJBM0UwRkEwNgorOjEwMzNDRDAwQTNFMEY5OTAwMDAxNzQwMjEyMEM5QzkwMDAwMjc0MDRBOQorOjEwMzNERDAwMTIwQzlDOTA3ODAxRTQ3NUYwMDMxMjBDRjQ5MDc4MDBCNworOjEwMzNFRDAwRTBGQkEzRTBGQUEzRTBGOTc0MDIxMjBDOEE5MDc4MDBENgorOjEwMzNGRDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0MDExMjBDOUMyQworOjA4MzQwRDAwOTAwMDAyNzQwNDEyMEM5Q0YzCis6MDEzNDE1MDAyMjk0Cis6MTAzNDE2MDBFNEZFOTA3OTIwRTBGREI0MDUxMTkwNzgxRjc0MDFGMDY4Cis6MTAzNDI2MDBBMzc0NzhGMEEzNzRCMkYwNzUzNTA3RURCNDA2MTE5MDY1Cis6MTAzNDM2MDA3ODFGNzQwMUYwQTM3NDc4RjBBMzc0RkZGMDc1MzUwMzU4Cis6MTAzNDQ2MDA5MDc5OTlFMDE0NjAxMTE0NjA1QjI0MDI2MDAyQzEwNjUxCis6MTAzNDU2MDA5MDdGQjRFMDQ0MDFGMDIyOTA3OTk3RTAxNDcwM0VFNDQ2Cis6MTAzNDY2MDBGRkVGQzM5NTM1NTAyRkNERUVDRDBFNzQyMTJERjU4MjhECis6MTAzNDc2MDBFNDM0NzlGNTgzRTBGRDkwNzgxRkUwRkJBM0UwRkFBMzNFCis6MTAzNDg2MDBFMEY5OTAwMDAxRUQxMjBDOUM5MDc4MjBFNDc1RjAwQkE5Cis6MTAzNDk2MDAxMjBDRjQwRjgwQ0I5MDc5NzU3NDAxRjAyMjkwN0ZCNEYyCis6MTAzNEE2MDBFMDQ0MDFGMDIyOTA3OTk3RTAyNEZFNjA2MzE0NzAwMkY0Cis6MTAzNEI2MDBBMTY0MTQ3MDAyQTFCMjI0MDM2MDAyQTFGRUU0RkZFRjJFCis6MTAzNEM2MDBDMzk1MzU1MDQ0Q0RFRUNEMEU3NDIxMkRGNTgyRTQzNEVFCis6MTAzNEQ2MDA3OUY1ODNFMEZEOTA3ODFGRTBGQkEzRTBGQUEzRTBGOTFECis6MTAzNEU2MDA5MDAwMDNFRDEyMEM5Q0NERUVDRDBFNzQyMTJERjU4MkNECis6MTAzNEY2MDBFNDM0NzlGNTgzRTA5MDAwMDQxMjBDOUM5MDc4MjBFNDgzCis6MTAzNTA2MDA3NUYwMEIxMjBDRjQwRjgwQjY5MDc5NzU3NDAxRjAyMkU5Cis6MTAzNTE2MDBFNEZGRUZDMzk1MzU0MDAyQzEwRENERUVDRDBFNzQyMTBCCis6MTAzNTI2MDAyREY1ODJFNDM0NzlGNTgzRTBGRDkwNzgxRkUwRkJBMzY2Cis6MTAzNTM2MDBFMEZBQTNFMEY5OTAwMDA1RUQxMjBDOUNDREVFQ0QwRTVECis6MTAzNTQ2MDA3NDIxMkRGNTgyRTQzNDc5RjU4M0UwOTAwMDA2MTIwQzlGCis6MTAzNTU2MDA5QzkwNzgyMEU0NzVGMDBCMTIwQ0Y0MEY4MEI0RTRGRjE1Cis6MTAzNTY2MDBFRkMzOTUzNTQwMDJDMTBEQ0RFRUNEMEU3NDIxMkRGNTdDCis6MTAzNTc2MDA4MkU0MzQ3OUY1ODNFMEZEOTA3ODFGRTBGQkEzRTBGQTVFCis6MTAzNTg2MDBBM0UwRjk5MDAwMDdFRDEyMEM5Q0NERUVDRDBFNzQyMTUwCis6MTAzNTk2MDAyREY1ODJFNDM0NzlGNTgzRTA5MDAwMDgxMjBDOUM5MEI2Cis6MTAzNUE2MDA3ODIwRTQ3NUYwMEIxMjBDRjQwRjgwQjRFNEZGRUZDMzNGCis6MTAzNUI2MDA5NTM1NTA1M0NERUVDRDBFNzQyMTJERjU4MkU0MzQ3OTM4Cis6MTAzNUM2MDBGNTgzRTBGRDkwNzgxRkUwRkJBM0UwRkFBM0UwRjk5MDE1Cis6MTAzNUQ2MDAwMDA5RUQxMjBDOUNDREVFQ0QwRTc0MjEyREY1ODJFNDgyCis6MTAzNUU2MDAzNDc5RjU4M0UwOTAwMDBBMTIwQzlDOTA3ODIwRTQ3NUZCCis6MTAzNUY2MDBGMDBCMTIwQ0Y0MEY4MEI2OTA3RkI0RTA0NDAxRjAyMjc5Cis6MDczNjA2MDA5MDdGQjRFMDQ0MDFGMEU1Cis6MDEzNjBEMDAyMjlBCis6MTAzNjBFMDBFNEZFOTA3OTIwRTBGREI0MDUxMDkwNzgyODc0MDFGMDY2Cis6MTAzNjFFMDBBMzc0NzhGMEEzNzRCMkYwN0YwN0VEQjQwNjEwOTA3ODFGCis6MTAzNjJFMDAyODc0MDFGMEEzNzQ3OEYwQTM3NEZGRjA3RjAzOTA3OEYwCis6MTAzNjNFMDAyOEUwRkJBM0UwRkFBM0UwRjkxMjBDNDRGRDkwN0ZFQTI4Cis6MTAzNjRFMDBFMDZENjAxMkVFQzM5RjUwMEQ5MDc4MjlFNDc1RjAwQjdCCis6MTAzNjVFMDAxMjBDRjQwRTgwRDg5MDdGRUJFMDE0NjAxMTE0NjA0NkNCCis6MTAzNjZFMDAyNDAyNjAwMkUxOUE5MDdGQjRFMDQ0MDFGMDIyOTA3RjQwCis6MTAzNjdFMDBFOUUwMjQ3RjcwMjhFRTZGNzAwODkwN0ZCNEUwNDQwMTdCCis6MTAzNjhFMDBGMDIyOTA3ODI4RTBGQkEzRTBGQUEzRTBGOTkwMDAwMTg1Cis6MTAzNjlFMDAxMjBDNUQ5MDdGMDBGMDkwN0ZCNTc0MDFGMDIyOTA3RjQ4Cis6MTAzNkFFMDBCNEUwNDQwMUYwMjI5MDdGRTlFMDI0N0U2MDQwMTQ2MDkzCis6MTAzNkJFMDA2RjE0NzAwMkUxNjAyNDAzNjAwMkUxOTJFRTZGNzAwOEY1Cis6MTAzNkNFMDA5MDdGQjRFMDQ0MDFGMDIyOTA3ODI4RTBGQkEzRTBGQTZBCis6MTAzNkRFMDBBM0UwRjk5MDAwMDMxMjBDNUQ5MDdGMDBGMDkwMDAwNEJGCis6MTAzNkVFMDAxMjBDNUQ5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyRUU2RkE4Cis6MTAzNkZFMDA3MDA4OTA3RkI0RTA0NDAxRjAyMjkwNzgyOEUwRkJBMzlDCis6MTAzNzBFMDBFMEZBQTNFMEY5OTAwMDA1MTIwQzVEOTA3RjAwRjA5MEI2Cis6MTAzNzFFMDAwMDA2MTIwQzVEOTA3RjAxRjA5MDdGQjU3NDAyRjAyMkNFCis6MTAzNzJFMDBFRTZGNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDc4MjhFMEFDCis6MTAzNzNFMDBGQkEzRTBGQUEzRTBGOTkwMDAwNzEyMEM1RDkwN0YwMDY2Cis6MTAzNzRFMDBGMDkwMDAwODEyMEM1RDkwN0YwMUYwOTA3RkI1NzQwMjJFCis6MTAzNzVFMDBGMDIyRUU2RjcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3ODcyCis6MTAzNzZFMDAyOEUwRkJBM0UwRkFBM0UwRjk5MDAwMDkxMjBDNUQ5MEFCCis6MTAzNzdFMDA3RjAwRjA5MDAwMEExMjBDNUQ5MDdGMDFGMDkwN0ZCNUYzCis6MTAzNzhFMDA3NDAyRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDA2Cis6MDMzNzlFMDA0NDAxRjBGMworOjAxMzdBMTAwMjIwNQorOjEwMzdBMjAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTBBMQorOjEwMzdCMjAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUY1QworOjEwMzdDMjAwQzBFMDUzOTFFRjkwN0ZBQjc0MTBGMDkwNzk4M0UwNTQ5NgorOjEwMzdEMjAwRkRGMDEyMkZERkQwRTBGRkQwRTBGRUQwRTBGREQwRTAyMAorOjEwMzdFMjAwRkNEMEUwRkJEMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDBDNQorOjA4MzdGMjAwODJEMDgzRDBGMEQwRTAzMjU4Cis6MDYzN0ZBMDA1MzkxQkZEMjI2MzJGQworOjEwMzgwMDAwRTRGRTkwNzkyMEUwRkRCNDA1MTA5MDc4MjI3NDAxRjA3OAorOjEwMzgxMDAwQTM3NDc4RjBBMzc0QjJGMDdGMDdFREI0MDYxMDkwNzgyQgorOjEwMzgyMDAwMjI3NDAxRjBBMzc0NzhGMEEzNzRGRkYwN0YwMzkwNzgwMgorOjEwMzgzMDAwMjJFMEZCQTNFMEZBQTNFMEY5MTIwQzQ0RkQ5MDc5OTg5MgorOjEwMzg0MDAwRTA2RDYwMTJFRUMzOUY1MDBEOTA3ODIzRTQ3NUYwMEI4RAorOjEwMzg1MDAwMTIwQ0Y0MEU4MEQ4OTA3OTk5RTAxNDYwMTExNDYwNDgyRAorOjEwMzg2MDAwMjQwMjYwMDIyMTg1OTA3RkI0RTA0NDAxRjAyMjkwNzkyNworOjEwMzg3MDAwOTdFMDE0NzAyQkVFNkY3MDA5OTA3RkI0RTA0NDAxRjA3NAorOjEwMzg4MDAwODAxNzkwNzkyMUUwRkQ5MDc4MjJFMEZCQTNFMEZBQTM3NQorOjEwMzg5MDAwRTBGOTkwMDAwMUVEMTIwQzlDOTA3OTc1NzQwMUYwMjIxMgorOjEwMzhBMDAwOTA3RkI0RTA0NDAxRjAyMjkwNzk5N0UwMjRGRTYwNDNEOQorOjEwMzhCMDAwMTQ2MDZFMTQ3MDAyMjE0RjI0MDM2MDAyMjE3REVFNkZBQworOjEwMzhDMDAwNzAwOTkwN0ZCNEUwNDQwMUYwODAyMTkwNzkyMUUwRkRGRgorOjEwMzhEMDAwOTA3ODIyRTBGQkEzRTBGQUEzRTBGOTkwMDAwM0VEMTI1OAorOjEwMzhFMDAwMEM5QzkwNzkyMkUwOTAwMDA0MTIwQzlDOTA3OTc1NzRFNQorOjEwMzhGMDAwMDFGMDIyRUU2RjcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA1NgorOjEwMzkwMDAwNzkyMUUwRkQ5MDc4MjJFMEZCQTNFMEZBQTNFMEY5OTBCMgorOjEwMzkxMDAwMDAwNUVEMTIwQzlDOTA3OTIyRTA5MDAwMDYxMjBDOUNBMAorOjEwMzkyMDAwMjJFRTZGNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDc5MjE3QworOjEwMzkzMDAwRTBGRDkwNzgyMkUwRkJBM0UwRkFBM0UwRjk5MDAwMDcxNQorOjEwMzk0MDAwRUQxMjBDOUM5MDc5MjJFMDkwMDAwODEyMEM5QzIyRUU2MworOjEwMzk1MDAwNkY3MDA4OTA3RkI0RTA0NDAxRjAyMjkwNzkyMUUwRkU3RQorOjEwMzk2MDAwOTA3ODIyRTBGQkEzRTBGQUEzRTBGOTkwMDAwOUVFMTJDMAorOjEwMzk3MDAwMEM5QzkwNzkyMkUwOTAwMDBBMTIwQzlDMjI5MDdGQjQ1QgorOjBDMzk4MDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMkMKKzowMTM5OEMwMDIyMTgKKzoxMDM5OEQwMEEyQUZFNDMzRjUxMkU0OTA3OTgzRjAxMjJGREY5MDdGMkMKKzoxMDM5OUQwMEUwNzQ5MEYwOTA3RkUxNzQwNEYwRTQ5MDdGRERGMDkwOUUKKzoxMDM5QUQwMDdGQTFGMDUzOEVGODc1ODgwNTc1QjgyMDc1RjgwMTQzMjEKKzoxMDM5QkQwMDhFMzBGNUM4NzVDQTdGNzVDQkY4NDNBODIwOTA3OTc0MDEKKzoxMDM5Q0QwMDA0RjBDMjIyRTRGNTBGOTA3OTc4RjBBM0YwOTA3OTYyQkIKKzoxMDM5REQwMEYwQTNGMEEzRjA5MDc5NjZGMEEzRjA5MDc5N0JGMEEzQkIKKzoxMDM5RUQwMEYwOTA3OTg0RjA5MDc5N0RGMDkwNzk3NUYwQTNGMEEzNDMKKzoxMDM5RkQwMEYwQzIyM0MyMjRDMjI1QzIyNkMyMjA5MDdGOUJFMEY1Q0YKKzoxMDNBMEQwMDBBNTQyMEY1MEE3MDA2OTA3OTdFRjA4MDA2OTA3OTdFMzIKKzoxMDNBMUQwMDc0MDFGMDkwN0Y5QkUwRjUwQTU0MDJGNTBBNzAwNjkwNTAKKzoxMDNBMkQwMDc5N0ZGMDgwMDY5MDc5N0Y3NDAxRjA5MDc5Nzg3NDAyMzcKKzoxMDNBM0QwMEYwOTA3OTg0RTA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5ODQKKzoxMDNBNEQwMDkwNzk3OUUwNTRGRUYwODAwNzkwNzk3OUUwNDQwMUYwQTcKKzoxMDNBNUQwMDkwNzk3OUUwOTA3OTg0RjAxMjBCQTI5MDc5Nzg3NDAxQzUKKzoxMDNBNkQwMEYwOTA3OTdDRTA5MDc5NzlGMDkwNzk3RUUwQjQwMTA5NUQKKzoxMDNBN0QwMDkwNzk3OUUwNDQwNEYwODAwNzkwNzk3OUUwNTRGQkYwNzcKKzoxMDNBOEQwMDkwNzk3OUUwOTA3OTdDRjAxMjBCQTJFNDkwNzk3OEYwM0UKKzoxMDNBOUQwMEEzMDRGMEU0OTA3OTg4RjAxMjBCQTI5MDdGRkM3NEREMDIKKzoxMDNBQUQwMEYwOTA3RkZGNzRGRkYwOTA3OTc4NzQwMUYwQTNGMDEyMUQKKzoxMDNBQkQwMDBCQTJFNDkwNzk3QUYwOTA3OTgzMDRGMDEyMkZERkU0NzEKKzoxMDNBQ0QwMDkwNzkzMEYwOTA3OTg1RjBBM0YwQTNGMDEyMkU5NDkwQjgKKzoxMDNBREQwMDc5MkQ3NDAyRjA5MDc5ODgxNEYwQzIyRkU0OTA3OTY4RjIKKzoxMDNBRUQwMEYwOTA3OThBRjA5MDc5NkFGMEEzRjA3NTEzMDg3NTE0NDcKKzoxMDNBRkQwMDA4RjUxNkY1MTVGNTE3OTA3OThDRjA5MDc5OEJGMDIyNjUKKzoxMDNCMEQwMDdCMDE3QTc4Nzk1ODkwNzgwM0VCRjBBM0VBRjBBM0U5N0EKKzoxMDNCMUQwMEYwNzQ0MDEyMEM4QTkwNzgwM0UwRkJBM0UwRkFBM0UwNjYKKzoxMDNCMkQwMEY5OTAwMDAxNzQwQTEyMEM5QzkwMDAwMjEyMERGNjAwMUYKKzoxMDNCM0QwMDAwQkI4MDkwMDAwNjEyMERGNjAwMDBBQzQ0OTAwMDBBMDgKKzoxMDNCNEQwMDEyMERGNjAwMDE3NzAwOTA3ODA0RTQ3NUYwMEYxMjBDNTkKKzoxMDNCNUQwMEY0OTA3ODAzRTBGQkEzRTBGQUEzRTBGOTc0NDAxMjBDQjMKKzoxMDNCNkQwMDhBOTA3ODAzRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0REEKKzoxMDNCN0QwMDhDMTIwQzlDOTAwMDAyMTIwREY2MDAwMEJCODA5MDAwODAKKzoxMDNCOEQwMDA2MTIwREY2MDAwMEFDNDQ5MDAwMEExMjBERjYwMDAxNkQKKzoxMDNCOUQwMDc3MDA5MDc4MDRFNDc1RjAwRjEyMENGNDkwNzgwM0UwNDAKKzoxMDNCQUQwMEZCQTNFMEZBQTNFMEY5NzQ0MDEyMEM4QTkwNzgwM0UwQ0QKKzoxMDNCQkQwMEZCQTNFMEZBQTNFMEY5OTAwMDAxNzQ4RjEyMEM5QzkwMjYKKzoxMDNCQ0QwMDc4MDRFNDc1RjAwRjEyMENGNDkwNzgwM0UwRkJBM0UwOTkKKzoxMDNCREQwMEZBQTNFMEY5NzQ0MTEyMEM4QTkwNzgwM0UwRkJBM0UwOUMKKzoxMDNCRUQwMEZBQTNFMEY5OTAwMDAxNzQ4NDEyMEM5QzkwNzgwNEU0MUYKKzoxMDNCRkQwMDc1RjAwRjEyMENGNDkwNzgwM0UwRkJBM0UwRkFBM0UwNEMKKzoxMDNDMEQwMEY5NzQ2MTEyMEM4QTkwNzgwM0UwRkJBM0UwRkFBM0UwNEIKKzoxMDNDMUQwMEY5OTAwMDAxNzQ4MTEyMEM5QzkwNzgwNEU0NzVGMDBGRkEKKzoxMDNDMkQwMDEyMENGNDkwNzgwM0UwRkJBM0UwRkFBM0UwRjk3NDYxQzEKKzoxMDNDM0QwMDEyMEM4QTkwNzgwM0UwRkJBM0UwRkFBM0UwRjk5MDAwNjAKKzowNjNDNEQwMDAxNzQwMTEyMEM5QzQxCis6MDEzQzUzMDAyMjRFCis6MTAzQzU0MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEVBCis6MTAzQzY0MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkE1Cis6MDIzQzc0MDBDMEUwQUUKKzoxMDNDNzYwMDkwN0ZBMkUwRjUwQjkwN0Y3NEUwOTA3OTcwRjA5MDdGRDIKKzoxMDNDODYwMDc1RTA5MDc5NzFGMDkwNzk4M0UwRkZGRTU0MDJGRTcwNDIKKzoxMDNDOTYwMDBERUY0NDAyRjAxMjJGREY5MDc5NzQ3NDAxRjBFNTBCRkEKKzoxMDNDQTYwMDIwRTIyODkwNzk3MEUwRkVBM0UwN0MwMDI0MDBGNTExNjQKKzoxMDNDQjYwMEVDM0VGNTEwOTA3OTgyRTBGREFFMTBBRjExMTIwQ0JFMEQKKzoxMDNDQzYwMDkwNzk3MEVGRjA5MDc5ODk3NDAxRjAxMjQ4NDMxMjQ4QTgKKzoxMDNDRDYwMDc2OTA3OTg5RTA2NDAxNzAzMjEyNDEwODkwNzk4OUU0MUUKKzoxMDNDRTYwMEYwOTA3Rjk4RTA0NDQwRjA5MDdGOUVFMDQ0NDBGMDkwNTIKKzoxMDNDRjYwMDdGOTU3NDgwRjA3NUU4MDExMjA5MzI3NUU4MEQ5MDdGQTIKKzoxMDNEMDYwMDk1NzRDMEYwNzVFODBERDIyMDgwMDU3NUU4MDFDMjIwRDMKKzoxMDNEMTYwMDIwMjAyQjkwNzkyREUwRkZCNDAxMDk3NTBDNjc3NTBERjUKKzoxMDNEMjYwMDA2NzUwRTBCRUZCNDAyMDk3NTBDMDA3NTBEMDA3NTBFQzUKKzoxMDNEMzYwMDBDRUZCNDAzMDk3NTBDMDA3NTBEMDA3NTBFMTg3NUNBRTUKKzoxMDNENDYwMDZGNzVDQkZFRDJDQTUzOTFFRjkwN0ZBQjc0MDJGMEYwNDEKKzoxMDNENTYwMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwMkMKKzoxMDNENjYwMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDA4MkQwODNEMEYwMUQKKzowMzNENzYwMEQwRTAzMjY4Cis6MTAzRDc5MDA3NTMzMjU3NTM0MjQ5MDc5NUM3NDAxRjBBMzc0NzhGMDU3Cis6MTAzRDg5MDBBMzc0QjJGMDIwMkYwMkMxMTdFNEY1MzU3NTIyMDE5MDEyCis6MTAzRDk5MDA3OTVDRTBGQkEzRTBGQUEzRTBGOTkwMDAwNDEyMEM1RDYyCis6MTAzREE5MDBGNTM2NzUzNTA2NzQ0MjI1MzVGNTgyRTQzNDc5RjU4MzlGCis6MTAzREI5MDBFNTM2RjAwNTM1RTUzNUI0MENFQkU1MzVDMzk0MEQ0MDMyCis6MTAzREM5MDAwMkMxOThFNTIyNjQwMTYwMDJDMTk4OTA3RkE1RTA0NDkwCis6MTAzREQ5MDA4MEYwOTA3RkE2RTUzM0YwMTI0NkMwNzQ0RjI1MzVGNTgzCis6MTAzREU5MDA4MkU0MzQ3OUY1ODNFMDkwN0ZBNkYwMTI0NkMwNzQ0MkVDCis6MTAzREY5MDAyNTM1RjU4MkU0MzQ3OUY1ODNFMDkwN0ZBNkYwMTI0NjAzCis6MTAzRTA5MDBDMDkwN0ZBNTc0NDBGMDEyMEFDRDA1MzU4MEFDRTRGNTY5Cis6MTAzRTE5MDAzNTc1MjIwMTkwNzk1Q0UwRkJBM0UwRkFBM0UwRjk5MDAzCis6MTAzRTI5MDAwMDA0MTIwQzVERjUzNjc1MzUwNjc0MzUyNTM1RjU4MkI1Cis6MTAzRTM5MDBFNDM0NzlGNTgzRTUzNkYwMDUzNUU1MzVCNDBDRUJFNTgxCis6MTAzRTQ5MDAzNUMzOTQwRDUwNDlFNTIyNjQwMTcwNDM5MDdGQTVFMDg0Cis6MTAzRTU5MDA0NDgwRjA5MDdGQTZFNTMzRjAxMjQ2QzA3NDRGMjUzNUIzCis6MTAzRTY5MDBGNTgyRTQzNDc5RjU4M0UwOTA3RkE2RjAxMjQ2QzA3NEI4Cis6MTAzRTc5MDAzNTI1MzVGNTgyRTQzNDc5RjU4M0UwOTA3RkE2RjAxMjkzCis6MEYzRTg5MDA0NkMwOTA3RkE1NzQ0MEYwMTIwQUNEMDUzNTgwQjA3OQorOjAxM0U5ODAwMjIwNworOjEwM0U5OTAwOTA3ODA5NzQwMUYwQTM3NDc4RjBBMzc0QjJGMEU0RkY4OAorOjEwM0VBOTAwRkU5MDc4MDlFMEZCQTNFMEZBQTNFMEY5RUYxMjBDOEE4RgorOjEwM0VCOTAwOTA3ODA5RTBGQkEzRTBGQUEzRTBGOTkwMDAwMUU0MTI4RAorOjEwM0VDOTAwMEM5QzkwMDAwMjc0MTUxMjBDOUM5MDAwMDNFNDEyMENENworOjEwM0VEOTAwOUM5MDAwMDQ3NEZGMTIwQzlDOTAwMDA1RTQxMjBDOUM0OQorOjEwM0VFOTAwOTAwMDA2NzRDMzEyMEM5QzkwMDAwN0U0MTIwQzlDOTA3RAorOjEwM0VGOTAwMDAwOEU0MTIwQzlDOTAwMDA5RTQxMjBDOUM5MDAwMEE0MgorOjEwM0YwOTAwNzQwMTEyMEM5QzkwNzgwQUU0NzVGMDBCMTIwQ0Y0MEZGMgorOjEwM0YxOTAwMEVCRTA3OEQ5MDc4MDk3NDAxRjBBMzc0NzhGMEEzNzQyQworOjEwM0YyOTAwRkZGMEU0RkZGRTkwNzgwOUUwRkJBM0UwRkFBM0UwRjlEMworOjEwM0YzOTAwRUYxMjBDOEE5MDc4MDlFMEZCQTNFMEZBQTNFMEY5OTA2QworOjEwM0Y0OTAwMDAwMUU0MTIwQzlDOTAwMDAyNzQxNTEyMEM5QzkwMDA2NAorOjEwM0Y1OTAwMDNFNDEyMEM5QzkwMDAwNDc0ODAxMjBDOUM5MDAwMDVFMAorOjEwM0Y2OTAwRTQxMjBDOUM5MDAwMDY3NEMzMTIwQzlDOTAwMDA3RTRBOAorOjEwM0Y3OTAwMTIwQzlDOTAwMDA4RTQxMjBDOUM5MDAwMDlFNDEyMENBRAorOjEwM0Y4OTAwOUM5MDAwMEE3NDAxMTIwQzlDOTA3ODBBRTQ3NUYwMEI1RAorOjA4M0Y5OTAwMTIwQ0Y0MEYwRUJFMDM4REEzCis6MDEzRkExMDAyMkZECis6MTAzRkEyMDBFNEZFNzUzREZGNzUzRTA1NzUzRjEyQUIzREFBM0VBOTg1Cis6MTAzRkIyMDAzRjkwMDAwMTEyMEM1RDY0MDI3MDJGQ0RFRUNEMEVFRDJDCis6MTAzRkMyMDA2RjcwMDEyMjkwMDAwMjEyMEQwQTg1RjAzQkY1M0M2MkVGCis6MTAzRkQyMDAzQkU1M0I2MjNDRTUzQzYyM0IyOUZERTUzQjNBQzlFREYyCis6MTAzRkUyMDBDOTc1M0RGRkY1M0U4OTNGODBDMTdCMDA3QTAwNzkwMEFCCis6MDEzRkYyMDAyMkFDCis6MDkzRkYzMDA1M0Q4RUY0M0Q4MjBDMjJEMzI0RgorOjA0M0ZGQzAwNTM5MURGMzJDQworOjEwNDAwMDAwOTA3OTg3RTBCNDAxMUQ5MDc5ODVFMEI0MDEwMzEyNDJGNAorOjEwNDAxMDAwQUE5MDc5ODZFMEI0MDEwMzEyMTgwMEU0OTA3OTg1RjA0MworOjEwNDAyMDAwQTNGMEEzRjAxMjJFOTQ5MDdGOUJFMEY1MEE1NDAyRjVDMgorOjEwNDAzMDAwMEE3MDA0OTA3OTdGRjA5MDdGOUJFMEY1MEE1NDAyRkZBQworOjEwNDA0MDAwRjUwQUJGMDIwNjkwNzk3Rjc0MDFGMDkwN0Y5QkUwRjUzRQorOjEwNDA1MDAwMEE1NDIwRjUwQTcwMDQ5MDc5N0VGMDkwN0Y5QkUwRjU3OQorOjEwNDA2MDAwMEE1NDIwRkZGNTBBQkYyMDA2OTA3OTdFNzQwMUYwOTA3MworOjEwNDA3MDAwNzk3RkUwRkY5MDc5ODFFMDZGNjAzODkwNzk3ODc0MDIwMQorOjEwNDA4MDAwRjA5MDc5ODRFMDkwNzk3OUYwRUZCNDAxMDZFMDU0RkU4NQorOjEwNDA5MDAwRjA4MDA3OTA3OTc5RTA0NDAxRjA5MDc5NzlFMDkwNzlBNworOjEwNDBBMDAwODRGMEEyQUZFNDMzRjUxMkMyQUYxMjBCQTJFNTEyNjBBNgorOjEwNDBCMDAwMDJEMkFGOTA3OTdFRTBGRjkwNzk4MEUwNkY2MDM4OTAxNworOjEwNDBDMDAwNzk3ODc0MDFGMDkwNzk3Q0UwOTA3OTc5RjBFRkI0MDExRgorOjEwNDBEMDAwMDZFMDQ0MDRGMDgwMDc5MDc5NzlFMDU0RkJGMDkwNzk5MQorOjEwNDBFMDAwNzlFMDkwNzk3Q0YwQTJBRkU0MzNGNTEyQzJBRjEyMEIwNQorOjEwNDBGMDAwQTJFNTEyNjAwMkQyQUY5MDc5N0ZFMDkwNzk4MUYwOTBEMgorOjA4NDEwMDAwNzk3RUUwOTA3OTgwRjAyMjQ1Cis6MTA0MTA4MDA5MDc5MkRFMDY0MDE3MDM1OTA3OTcwRTBGRkQzOTQyRDlCCis6MTA0MTE4MDA0MDJCOTA3OTY5NzQwMUYwOTA3OTY4RTAwNEYwRTBEMzVECis6MTA0MTI4MDA5NDBGNDAxOUU0RjBFRkQzOTQzMTQwMDg5MDc5MkQ3NDNFCis6MTA0MTM4MDAwM0YwODAwNjkwNzkyRDc0MDJGMDEyMTAwMDkwNzkyRDBBCis6MTA0MTQ4MDBFMEI0MDIyQzkwNzk3MEUwRkZDMzk0MkY1MDIyRUZEMzkzCis6MTA0MTU4MDA5NDJBNDAxQzkwNzk2OTc0MDFGMDkwNzk2OEUwMDRGMDIxCis6MTA0MTY4MDBFMEQzOTQwRjQwMEFFNEYwOTA3OTJEMDRGMDEyMTAwMDg3Cis6MTA0MTc4MDA5MDc5MkRFMEI0MDIyNjkwNzk3MEUwRDM5NDMxNDAxREY3Cis6MTA0MTg4MDA5MDc5Njk3NDAxRjA5MDc5NjhFMDA0RjBFMEQzOTQwRkI1Cis6MTA0MTk4MDA0MDBCRTRGMDkwNzkyRDc0MDNGMDEyMTAwMDkwNzkyRDAzCis6MTA0MUE4MDBFMDY0MDM3MDNGOTA3OTcwRTBGRkMzOTQ1RjUwMzU5MEVFCis6MTA0MUI4MDA3OTY5NzQwMUYwOTA3OTY4RTAwNEYwRTBEMzk0MEY0MEQ1Cis6MTA0MUM4MDAyM0U0RjBFRkMzOTQyRjUwMENFRkQzOTQyQTQwMDY5MEM5Cis6MTA0MUQ4MDA3OTJENzQwMUYwRUZEMzk0MkY0MDA2OTA3OTJENzQwMjU1Cis6MTA0MUU4MDBGMDEyMTAwMDkwNzk2OUUwNzAwNTkwNzk2OEYwMjJFNDg3Cis6MDU0MUY4MDA5MDc5NjlGMDIyM0UKKzoxMDQxRkQwMDdCMDE3QTc4Nzk0QzkwNzgwNkVCRjBBM0VBRjBBM0U5OEQKKzoxMDQyMEQwMEYwRTQxMjBDOEE5MDc4MDZFMEZCQTNFMEZBQTNFMEY5NDMKKzoxMDQyMUQwMDkwMDAwMTc0MDExMjBDOUM5MDc4MDdFNDc1RjAwMzEyNjQKKzoxMDQyMkQwMDBDRjQ5MDc4MDZFMEZCQTNFMEZBQTNFMEY5RTQxMjBDOUQKKzoxMDQyM0QwMDhBOTA3ODA2RTBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0MDAKKzoxMDQyNEQwMDAyMTIwQzlDOTA3ODA3RTQ3NUYwMDMxMjBDRjQ5MDc4MzAKKzoxMDQyNUQwMDA2RTBGQkEzRTBGQUEzRTBGOUU0MTIwQzhBOTA3ODA2REQKKzoxMDQyNkQwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NDAzMTIwQzlDQUIKKzoxMDQyN0QwMDkwNzgwN0U0NzVGMDAzMTIwQ0Y0OTA3ODA2RTBGQkEzMzgKKzoxMDQyOEQwMEUwRkFBM0UwRjlFNDEyMEM4QTkwNzgwNkUwRkJBM0UwRDMKKzowQzQyOUQwMEZBQTNFMEY5OTAwMDAxNzQwNDEyMEM5Q0RDCis6MDE0MkE5MDAyMkYyCis6MTA0MkFBMDBFNEZGRkU3QjAxOTA3ODBDMDRGMEEzNzQ3OEYwQTM3NDA5Cis6MTA0MkJBMDAyQkYwOTA3ODBDRTBGQkEzRTBGQUEzRTBGOTkwMDAwMjVGCis6MTA0MkNBMDAxMjBDNURGRDkwNzk5QUUwNkQ2MDEzRUZDMzk0MDU1MDZFCis6MTA0MkRBMDAwRDBGOTA3ODBERTQ3NUYwMDMxMjBDRjQ4MEQ0OEQzMzMxCis6MTA0MkVBMDA5MDc4MENFMEZCQTNFMEZBQTNFMEY5OTAwMDAxMTIwQzJECis6MTA0MkZBMDA1REZEOTA3OTlCRTBGQzZENjAxM0VFQzM5NDBCNTAwRDRECis6MTA0MzBBMDAwRTkwNzgwREU0NzVGMDAzMTIwQ0Y0ODBEMzhDMzRFRjIwCis6MTA0MzFBMDA2NDA1NjAwM0JFMEIwODkwN0ZCNEUwNDQwMUYwMjI5MDZDCis6MTA0MzJBMDA3ODBDRTBGQkEzRTBGQUEzRTBGOTEyMEM0NEZGMjRGMEI2Cis6MTA0MzNBMDA2MDA4MjQwRTcwMEUxMjQ5NEQyMjkwNzkyMEU1MzRGMDVGCis6MEI0MzRBMDAxMjFCMkEyMjkwN0ZCNEUwNDQwMUYwMTcKKzowMTQzNTUwMDIyNDUKKzowQzQzNTYwMDc4N0ZFNEY2RDhGRDc1ODEzRjAyNDM5RDlFCis6MTA0MzYyMDAwMjQ4QTlFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjgwCis6MTA0MzcyMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzVDCis6MTA0MzgyMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjJCCis6MTA0MzkyMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTA0NjYxRTQ3RTE0Cis6MTA0M0EyMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzIwCis6MTA0M0IyMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0U3Cis6MTA0M0MyMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTEyCis6MTA0M0QyMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUNBCis6MTA0M0UyMDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMDU1Cis6MTA0M0YyMDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRjEwCis6MTA0NDAyMDBDMEUwQzJDQUMyQ0Y5MDc5N0FFMEI0MDExRjEyNEJBRUFCCis6MTA0NDEyMDAxMjQ3NTg1M0E4QTA5MDdGQUVFNEYwMTIwN0FBMTI0QjlECis6MTA0NDIyMDBCNzkwN0ZBRTc0MUZGMDQzQTgwNTgwMDM1M0E4QTA1MzMyCis6MTA0NDMyMDBBOEZBNzVFODAxMTIwOTE1NzVFODBENDNBODA1RDBFMDQwCis6MTA0NDQyMDBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwRTBGQTBGCis6MTA0NDUyMDBEMEUwRjlEMEUwRjhEMEQwRDA4MkQwODNEMEYwRDBFMDU0Cis6MDE0NDYyMDAzMjI3Cis6MTA0NDYzMDA5MDdGRUNFMEY1MDkxNDYwMUQxNDYwMkExNDYwMzcxNDgyCis6MTA0NDczMDA2MDQ0MjQwNDcwNTA5MDc5NjJFMDkwN0YwMEYwOTA3RjU0Cis6MTA0NDgzMDBCNTc0MDFGMDgwNDc5MDc5NjNFMDkwN0YwMEYwOTA3RkVFCis6MTA0NDkzMDBCNTc0MDFGMDgwMzc5MDc5NjRFMDkwN0YwMEYwOTA3RkVECis6MTA0NEEzMDBCNTc0MDFGMDgwMjc5MDc5NjZFMDkwN0YwMEYwOTA3RkVCCis6MTA0NEIzMDBCNTc0MDFGMDgwMTc5MDc5NjdFMDkwN0YwMEYwOTA3RkVBCis6MEY0NEMzMDBCNTc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMEQzMjI3QworOjA0NDREMjAwOEQzNjhCMzc2MQorOjEwNDRENjAwMTIzRkEyRUE0OTYwNTcxMjBDNDQ3RTAwMjlGRkVFM0FDOQorOjEwNDRFNjAwQzlFRkM5NzUzOEZGRjUzOTg5M0FBQjM4QUEzOUE5M0FGRgorOjEwNDRGNjAwOTAwMDAxMTIwQzVERkY2NDA0NjAwNUVGNjQwNTcwMkVFOAorOjEwNDUwNjAwRUZCNDA0MTU5MDAwMDIxMjBDNUQ2NTM2NzAwQjkwMDAzNgorOjEwNDUxNjAwMDMxMjBDNUQ2NTM3NzAwMTIyMTIwQzQ0N0UwMDI5RkZFMAorOjEwNDUyNjAwRUUzQUM5RUZDOTc1MzhGRkY1Mzk4OTNBODBCQzdCMDA4OAorOjA0NDUzNjAwN0EwMDc5MDA4RQorOjAxNDUzQTAwMjI1RQorOjEwNDUzQjAwRTRGRjdCMDE5MDc4MUMwNEYwQTM3NDc4RjBBMzc0NEMxNworOjEwNDU0QjAwRjA5MDc4MUNFMEZCQTNFMEZBQTNFMEY5OTAwMDAyMTJENAorOjEwNDU1QjAwMEM1REZFOTA3RkVDRTA2RTYwMTNFRkMzOTQwNDUwMEQ4NgorOjEwNDU2QjAwOTA3ODFERTQ3NUYwMDMxMjBDRjQwRjgwRDRCRjA0MDk4RQorOjEwNDU3QjAwOTA3RkI0RTA0NDAxRjA4MDE0OTA3OTIxRTBGRjkwNzhCMworOjEwNDU4QjAwMUNFMEZCQTNFMEZBQTNFMEY5RUYxMjBDOEE5MDdGQzVDNQorOjAzNDU5QjAwNzQwMUYwQjgKKzowMTQ1OUUwMDIyRkEKKzowRTQ1OUYwMEMwRTBDMDgzQzA4MkMwRDBFRUMwRTBFRkMwRTAzQworOjEwNDVBRDAwOTA3OTg1RTA2NDAxNjAwNUEzRTBCNDAxMkQ5MDc5ODdEMQorOjEwNDVCRDAwNzQwMUYwRTRGRjkwN0ZDNUUwRkVFRkMzOUU1MDFCNzRDNQorOjEwNDVDRDAwQzAyRkY1ODJFNDM0N0VGNTgzRTBGRTc0MjEyRkY1ODI1MQorOjEwNDVERDAwRTQzNDc5RjU4M0VFRjAwRjgwREI1MzkxRUY5MDdGQUFGMQorOjA0NDVFRDAwRTA0NDAxRjBCNQorOjBGNDVGMTAwRDBFMEZGRDBFMEZFRDBEMEQwODJEMDgzRDBFMDMyMzcKKzoxMDQ2MDAwMEU0RkY3QjAxOTA3ODE5MDRGMEEzNzQ3OEYwQTM3NDRDNTQKKzoxMDQ2MTAwMEYwOTA3ODE5RTBGQkEzRTBGQUEzRTBGOTkwMDAwMjEyMTEKKzoxMDQ2MjAwMDBDNURGRTkwN0ZFQ0UwNkU2MDEzRUZDMzk0MDQ1MDBEQzAKKzoxMDQ2MzAwMDkwNzgxQUU0NzVGMDAzMTIwQ0Y0MEY4MEQ0QkYwNDA4Q0MKKzoxMDQ2NDAwMDkwN0ZCNEUwNDQwMUYwMjI5MDc4MTlFMEZCQTNFMEZBRjcKKzoxMDQ2NTAwMEEzRTBGOTEyMEM0NDkwN0YwMEYwOTA3RkI1NzQwMUYwNTQKKzowMTQ2NjAwMDIyMzcKKzoxMDQ2NjEwMDAxMTgwMjAxMTkwQTAxMUMwMEMxMjhDMTI5MDExRjAxRjkKKzowRjQ2NzEwMDQ0Nzk5RjAwMDAwMDAwNDE3OUEzMDA0MTc5QTQwMDIzCis6MDQ0NjgwMDA0MTc5ODkwMEYzCis6MTA0Njg0MDAwMTIyMDE0MTc5MzFGRjQxNzkzNDAwNEQ3OTM1M0YzRkIxCis6MTA0Njk0MDAwMDA4MDAwMTAwMDAwMDAwMDAwMDE1NEQ3OTQyM0YzRjcyCis6MTA0NkE0MDAwNjA4MDQwNzAwMDAwMDAwMDAwMDE1NEQ3OTRGMEEwQUFGCis6MEI0NkI0MDAwOTAwMDEwOTAyMDMwNDA1MDYwNzA4QzUKKzowMTQ2QkYwMDAwRkEKKzoxMDQ2QzAwMDEyMEFDRDkwN0ZBNUUwRjUyMUU1MjE1NDAxRjUyMTY0ODIKKzoxMDQ2RDAwMDAxNjAyOEU1MjI2NDAxNzAyMjkwN0ZBNUUwRjUyMTU0NTUKKzoxMDQ2RTAwMDAyRjUyMTcwMDM3NTIyMDE5MDdGQTVFMEY1MjE1NDA0QTUKKzowQzQ2RjAwMEZGRjUyMUJGMDREMzc1MjIwMTgwQ0UyMjBCCis6MDQ0NkZDMDA1M0Q4RjczMjY2Cis6MTA0NzAwMDAwMjQ5RkEwMDAyM0M1NDAwMDIxN0U0MDAwMjRBMTIwMDc3Cis6MTA0NzEwMDAwMjM3QTIwMDAyNDdGRjAwMDI0QTQxMDAwMjQ1OUYwMDAzCis6MTA0NzIwMDAwMjQ5OEUwMDAyNDlBQjAwMDI0QTU4MDAwMjRBNkYwMDVCCis6MTA0NzMwMDAwMjRBODYwMDAyNEE5RDAwMDI0QUI0MDAwMjRBQ0IwMEE3Cis6MTA0NzQwMDAwMjRBRTIwMDAyNEFGOTAwMDI0QjEwMDAwMjRCMjcwMDI1Cis6MDg0NzUwMDAwMjRCM0UwMDAyNEI1NTAwMzQKKzoxMDQ3NTgwMEU1MTg3MDE0OTA3OThDRTAwNEYwOTA3OThCRTBDMzk0OUMKKzoxMDQ3NjgwMDAwNDAxNUUwMTRGMDgwMTA5MDc5OEJFMDA0RjBBM0UwOEQKKzoxMDQ3NzgwMEMzOTQwMDQwMDNFMDE0RjA5MDc5OEJFMEQzOTQxNDQwODQKKzoxMDQ3ODgwMDA0RTRGNTE4RjA5MDc5OENFMEQzOTQxNDQwMDU3NTE4N0EKKzowNDQ3OTgwMDAxRTRGMDIyMjYKKzoxMDQ3OUMwMDkwN0ZEN0UwRjUzMzkwN0ZFQ0UwRjUwOTE0NjAxMTE0QUQKKzoxMDQ3QUMwMDYwMUIyNDAyNzAyNDkwN0ZFQUUwOTA3OTYyRjA4MDIxRjMKKzoxMDQ3QkMwMDkwN0ZFQUUwOTA3OTYzRjAxMjEwMDA4MDE0OTA3RkVBMDkKKzoxMDQ3Q0MwMEUwOTA3OTY0RjAxMjI4MDE4MDA3OTA3RkI0RTA0NDAxRjYKKzowMjQ3REMwMEYwRDMxOAorOjAxNDdERTAwMjJCOAorOjEwNDdERjAwOTA3OTc4NzQwNEYwOTA3OTMzRTA5MDc5NzlGMEEyQUYwMgorOjEwNDdFRjAwRTQzM0Y1MTJDMkFGMTIwQkEyRTUxMjYwMDJEMkFGMjI3MAorOjAxNDdGRjAwMzI4NworOjAyNDgwMDAwOEYzNkYxCis6MTA0ODAyMDBFNEY1Mzc3NTM4RkY3NTM5MDc3NTNBMDFBQjM4QUEzOUJGCis6MTA0ODEyMDBBOTNBOTAwMDAxMTIwQzVEQjQwMzFGQUYzNzA1MzdFRkMwCis6MTA0ODIyMDA2NTM2NzAwMTIyMTIwQzQ0N0UwMDI5RkZFRTNBQzlFRjcwCis6MTA0ODMyMDBDOTc1MzhGRkY1Mzk4OTNBODBEMjdCMDA3QTAwNzkwMDUwCis6MDE0ODQyMDAyMjUzCis6MTA0ODQzMDAzMDI2MkZDMjI2OTA3OTJERTBGRkI0MDEwOUU0RjUwQzQwCis6MTA0ODUzMDA3NTBERjg3NTBFMEFFRkI0MDIwOUU0RjUwQzc1MERGMDQ5Cis6MTA0ODYzMDA3NTBFMEJFRkI0MDMwOUU0RjUwQzc1MERGODc1MEUxNzBGCis6MDM0ODczMDBEMjIyMjIyQworOjEwNDg3NjAwMzAyNTJGQzIyNTkwNzkyREUwRkZCNDAxMDk3NTBDQzBCMworOjEwNDg4NjAwNzUwRDE0NzUwRTBCRUZCNDAyMDlFNEY1MEM3NTBEMTBEOQorOjEwNDg5NjAwNzUwRTBDRUZCNDAzMDlFNEY1MEM3NTBEMTg3NTBFMThCQQorOjAzNDhBNjAwRDIyMjIyRjkKKzoxMDQ4QTkwMEU0RjUzMjEyMEY1MDIwMkUxMEU1MzJDMzk0MDI1MDA5NUMKKzoxMDQ4QjkwMDA1MzJEMjMwMTI0OTA1ODBFRDMwMkUwNTEyMTQ1N0MyNDcKKzowRjQ4QzkwMDJFMzAyRDA2MTIwNzlBMTI0OEQ5MTI0MDAwODBFQUFECis6MDE0OEQ4MDAyMkJECis6MTA0OEQ5MDA5MDdGRDZFMEY1MUQ1NDgwRjUxRDY0ODA3MDFEQzJBRjMwCis6MTA0OEU5MDBFMDQ0ODBGMEUwNDQwMUYwN0YwQzdFMDAxMjRCNkM5MEI0Cis6MEM0OEY5MDA3RkQ2RTA1NEZFRjA1Mzg3RkVEMkFGMjJDMQorOjEwNDkwNTAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMzAwNEUwNDRGQQorOjEwNDkxNTAwMDJGMDdGREM3RTA1MTI0QjZDOTA3RkQ2RTA1NEY3RjBGOQorOjA1NDkyNTAwRTA0NDA0RjAyMjUzCis6MTA0OTJBMDA5MDdGRUJFMDE0NzAxNDkwN0ZFOUUwMjQ3RjcwMDQxMjBBCis6MTA0OTNBMDA0NjAwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDI0Cis6MDM0OTRBMDAwMUYwMjI1NworOjEwNDk0RDAwOTA3RkVCRTAxNDcwMTM5MDdGRTlFMDE0NzAwNDEyNDUzMgorOjEwNDk1RDAwM0IyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDEwQgorOjAyNDk2RDAwRjAyMjM2Cis6MTA0OTZGMDBFNEZGNzRFODJGRjU4MkU0MzQ3RkY1ODNFMEZFNzQ5NjVDCis6MEU0OTdGMDAyRkY1ODJFNDM0NzlGNTgzRUVGMDBGQkYwOEU0RTMKKzowMTQ5OEQwMDIyMDcKKzoxMDQ5OEUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMkYwNTMKKzowRDQ5OUUwMDkwN0ZCNzc0MDNGMEQwODJEMDgzRDBFMDMyNTgKKzoxMDQ5QUIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMkYwMzUKKzowRDQ5QkIwMDkwN0ZDNzc0MDNGMEQwODJEMDgzRDBFMDMyMkIKKzoxMDQ5QzgwMDkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjE0N0UwMDEyQjkKKzowQTQ5RDgwMDRCNkM5MDdGRDZFMDU0RkVGMDIyRjUKKzoxMDQ5RTIwMEU0RjUxQTc1MUIwMTkwNzk5MTA0RjBBM0YwRTRBM0YwQTkKKzowODQ5RjIwMEEzNzQwQUYwRTRBM0YwMjIxMworOjEwNDlGQTAwQzBFMEMwODNDMDgyRDIyRTUzOTFFRjkwN0ZBQjc0MDE4NgorOjA4NEEwQTAwRjBEMDgyRDA4M0QwRTAzMjJECis6MTA0QTEyMDBDMEUwQzA4M0MwODJEMjJENTM5MUVGOTA3RkFCNzQwODY3Cis6MDg0QTIyMDBGMEQwODJEMDgzRDBFMDMyMTUKKzoxMDRBMkEwMDkwN0ZFQUUwRjUwOEU0OTA3OTYyRjBBM0YwQTNGMDkwQjEKKzowNzRBM0EwMDc5NjZGMEEzRjBEMzIyMUUKKzoxMDRBNDEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMUYwQTAKKzowNzRBNTEwMEQwODJEMDgzRDBFMDMyRDcKKzoxMDRBNTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwNEYwODYKKzowNzRBNjgwMEQwODJEMDgzRDBFMDMyQzAKKzoxMDRBNkYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwNEYwNkUKKzowNzRBN0YwMEQwODJEMDgzRDBFMDMyQTkKKzoxMDRBODYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwOEYwNTQKKzowNzRBOTYwMEQwODJEMDgzRDBFMDMyOTIKKzoxMDRBOUQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwOEYwM0MKKzowNzRBQUQwMEQwODJEMDgzRDBFMDMyN0IKKzoxMDRBQjQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQxMEYwMUUKKzowNzRBQzQwMEQwODJEMDgzRDBFMDMyNjQKKzoxMDRBQ0IwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQxMEYwMDYKKzowNzRBREIwMEQwODJEMDgzRDBFMDMyNEQKKzoxMDRBRTIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQyMEYwRTAKKzowNzRBRjIwMEQwODJEMDgzRDBFMDMyMzYKKzoxMDRBRjkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQyMEYwQzgKKzowNzRCMDkwMEQwODJEMDgzRDBFMDMyMUUKKzoxMDRCMTAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ0MEYwOTEKKzowNzRCMjAwMEQwODJEMDgzRDBFMDMyMDcKKzoxMDRCMjcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ0MEYwNzkKKzowNzRCMzcwMEQwODJEMDgzRDBFMDMyRjAKKzoxMDRCM0UwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ4MEYwMjMKKzowNzRCNEUwMEQwODJEMDgzRDBFMDMyRDkKKzoxMDRCNTUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ4MEYwMEIKKzowNzRCNjUwMEQwODJEMDgzRDBFMDMyQzIKKzoxMDRCNkMwMDhFMzM4RjM0RTUzNDE1MzRBRTMzNzAwMjE1MzM0RTYwMEEKKzowNzRCN0MwMDA1MTIwNzg5ODBFRTIyRkIKKzowRjRCODMwMDkwN0ZFQUUwQjRGRjA0MTIzMDAwMjIxMjM2MEUyMkI3Cis6MEU0QjkyMDBDMEUwQzI4QkQyMjQzMDIzMDJDMjIzRDBFMDMyMTYKKzowRTRCQTAwMDkwN0YwMEU1MDhGMDkwN0ZCNTc0MDFGMEQzMjJGRAorOjA5NEJBRTAwMzAyNDA1QzIyNDc1MTgwMTIyMEYKKzowOTRCQjcwMDMwMjMwNUMyMjNFNEY1MTgyMkE1Cis6MDc0QkMwMDA1M0MwRkU1M0MwRkQzMjlCCis6MDY0QkM3MDA1MzkxN0ZEMjI1MzI1QworOjA1NEJDRDAwQzI4OUQyMjMzMjcxCis6MDM0QkQyMDBDMjhEMzI1RgorOjAzNEJENTAwQzI4RjMyNUEKKzowMjRCRDgwMEQzMjJFNgorOjAyNEJEQTAwRDMyMkU0Cis6MDI0QkRDMDBEMzIyRTIKKzowMjRCREUwMEQzMjJFMAorOjAyNEJFMDAwRDMyMkRFCis6MDI0QkUyMDBEMzIyREMKKzowMjRCRTQwMEMzMjJFQQorOjAxNEJFNjAwMjJBQworOjAwMDAwMDAxRkYKKy8qCisgKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCisgKgorICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCisgKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKKyAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCisgKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCisgKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCisgKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCisgKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCisgKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgorICovCisvKgorVkVSU0lPTj0xLjAuMi45MTYKK0RBVEU9MTIuMDIuMjAwMgorKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTI2L2xvYWRlci5IRVggYi9maXJtd2FyZS9lbWkyNi9sb2FkZXIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3YzQzOWYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWkyNi9sb2FkZXIuSEVYCkBAIC0wLDAgKzEsMTE2IEBACis6MDMwMDAwMDAwMjAzMUNEQworOjAzMDA0MzAwMDIwNDAwQjQKKzoxMDAxMDAwMDkwN0ZFOUUwMjQ1QjYwNjAyNDAyNjAwMzAyMDFCRTkwRkUKKzoxMDAxMTAwMDdGRUFFMDc1MEEwMEY1MEJBM0UwRkVFNEVFNDIwQTkwRTgKKzoxMDAxMjAwMDdGRUVFMDc1MTUwMEY1MTZBM0UwRkVFNEVFNDIxNUU1NUUKKzoxMDAxMzAwMDE2NDUxNTcwMDMwMjAxQkVFNDkwN0ZDNUYwOTA3RkI0QjAKKzoxMDAxNDAwMEUwMjBFM0Y5OTA3RkM1RTBGNTBDMTIwMjc3QUYwQzdFNUEKKzoxMDAxNTAwMDAwRUYyNTBCRjUwQkVFMzUwQUY1MEFDM0U1MTY5RkY1MDIKKzoxMDAxNjAwMDE2RTUxNTlFRjUxNTgwQzc5MDdGRUFFMDc1MEEwMEY1NDMKKzoxMDAxNzAwMDBCQTNFMEZFRTRFRTQyMEE5MDdGRUVFMDc1MTUwMEY1NzkKKzoxMDAxODAwMDE2QTNFMEZFRTRFRTQyMTVFNTE2NDUxNTYwMzBFNDkwNTYKKzoxMDAxOTAwMDdGQzVGMDkwN0ZCNEUwMjBFM0Y5OTA3RkM1RTBGNTBDRDcKKzoxMDAxQTAwMDEyMDI4RkFGMEM3RTAwRUYyNTBCRjUwQkVFMzUwQUY1MzIKKzowRjAxQjAwMDBBQzNFNTE2OUZGNTE2RTUxNTlFRjUxNTgwQ0FDMzFGCis6MDEwMUJGMDAyMjFECis6MTAwMUMwMDBDMjIwRDJFODQzRDgyMDkwN0ZBQjc0RkZGMDkwN0ZBOTgzCis6MTAwMUQwMDBGMDkwN0ZBQUYwNTM5MUVGOTA3Rjk1RTA0NEMwRjA5MEFCCis6MTAwMUUwMDA3Rjk4RTA0NEMwRjA5MDdGOUVFMDQ0QzBGMEU0OTA3RkIwCis6MTAwMUYwMDA5NEYwOTA3RjlERTA0NDBGRjA5MDdGOTdFMDU0RjBGMEYyCis6MTAwMjAwMDA5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRkJDCis6MTAwMjEwMDA5MDdGOTdFMDU0RjBGMDIwMjA0Mjc1MTQwMDc1MTMwMDkxCis6MTAwMjIwMDA3NTEyMDA3NTExMDA3RjQ4N0U5MjdEMDA3QzAwQUIxNDMyCis6MTAwMjMwMDBBQTEzQTkxMkE4MTFDMzEyMDQ5QTUwREIyMDIwRDg3QTVECis6MTAwMjQwMDAwMDc5MDA3ODAwRTUxNDI0MDFGNTE0RUEzNTEzRjUxMzVDCis6MTAwMjUwMDBFOTM1MTJGNTEyRTgzNTExRjUxMTgwQ0EzMDIwRkQxMjhBCis6MTAwMjYwMDAwMTAwNTAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDc3Cis6MDYwMjcwMDAwMkYwQzIyMDgwRTY0RQorOjAxMDI3NjAwMjI2NQorOjEwMDI3NzAwRTUwQ0ZGRTUwQkY1ODJFNTBBRjU4Mzc1OTI3RTc0QzAwMAorOjA4MDI4NzAwRjhFMjA4RjBBM0RGRkEyMkZGCis6MTAwMjhGMDA5MDdGOTY4NTgzOTJBODgyNzkwMjkwMDAwMEUwQjQwMDU3Cis6MTAwMjlGMDAzNzc0MDFGMDkwN0Y5M0UwNTRGQ0YwOTA3Rjk2RTA1NDE4Cis6MTAwMkFGMDBGQ0YwOTA3RjlDRTA0NDAzRjA5MDdGOTRFMDU0N0ZGMDRCCis6MTAwMkJGMDA5MDdGOTdFMDQ0ODBGMDkwN0Y5REUwNDQ4MEYwOTA3RkE2Cis6MTAwMkNGMDA5N0UwNTQ3RkYwNDQ4MEYwRTUwQ0ZGOTA3RUMwRTBGNTlFCis6MTAwMkRGMDAyOEU0QTI0NzMzRjI2OUYyRTRBMjQ2MzNGMjY5RjJFNDZBCis6MTAwMkVGMDBBMjQ1MzNGMjY5RjJFNEEyNDQzM0YyNjlGMkU0QTI0Mzg1Cis6MTAwMkZGMDAzM0YyNjlGMkU0QTI0MjMzRjI2OUYyRTRBMjQxMzNGMjNCCis6MEQwMzBGMDA2OUYyRTRBMjQwMzNGMjY5RjJBM0RGQzIyMkRBCis6MEMwMzFDMDA3ODdGRTRGNkQ4RkQ3NTgxMjkwMjAzNjNBOAorOjEwMDMyODAwMDIwMUMwRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIyQQorOjEwMDMzODAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNENgorOjEwMDM0ODAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZBNQorOjEwMDM1ODAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMDQ4NEU0N0VBRAorOjEwMDM2ODAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTM5QQorOjEwMDM3ODAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTM2MQorOjEwMDM4ODAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0E4QworOjEwMDM5ODAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkU0NAorOjEwMDNBODAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0Y5NworOjBCMDNCODAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMkEwCis6MTAwM0MzMDBDMEUwQzA4M0MwODJEMjIwNTM5MUVGOTA3RkFCNzQwMTExCis6MDgwM0QzMDBGMEQwODJEMDgzRDBFMDMyQUIKKzoxMDAzREIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDJGMEQwMkEKKzowNjAzRUIwMDgyRDA4M0QwRTAzMjU1Cis6MDEwM0YxMDAzMkQ5Cis6MDEwM0YyMDAzMkQ4Cis6MDEwM0YzMDAzMkQ3Cis6MDEwM0Y0MDAzMkQ2Cis6MDEwM0Y1MDAzMkQ1Cis6MDEwM0Y2MDAzMkQ0Cis6MDEwM0Y3MDAzMkQzCis6MDEwM0Y4MDAzMkQyCis6MDEwM0Y5MDAzMkQxCis6MDEwM0ZBMDAzMkQwCis6MDEwM0ZCMDAzMkNGCis6MDEwM0ZDMDAzMkNFCis6MDEwM0ZEMDAzMkNECis6MDEwM0ZFMDAzMkNDCis6MDEwM0ZGMDAzMkNCCis6MTAwNDAwMDAwMjAzQzMwMDAyMDNEQjAwMDIwM0E4MDAwMjA0NkUwMDIzCis6MTAwNDEwMDAwMjA0NTgwMDAyMDNGMTAwMDIwM0YyMDAwMjAzRjMwMDk5Cis6MTAwNDIwMDAwMjAzRjQwMDAyMDNGNTAwMDIwM0Y2MDAwMjAzRjcwMEUyCis6MTAwNDMwMDAwMjAzRjgwMDAyMDNGOTAwMDIwM0ZBMDAwMjAzRkIwMEMyCis6MTAwNDQwMDAwMjAzRkMwMDAyMDNGRDAwMDIwM0ZFMDAwMjAzRkYwMEEyCis6MDgwNDUwMDAwMjA0QUIwMDAyMDRBQzAwNDEKKzoxMDA0NTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwOUUKKzowNjA0NjgwMDgyRDA4M0QwRTAzMkQ3Cis6MTAwNDZFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA4RjBEMDkwCis6MDYwNDdFMDA4MkQwODNEMEUwMzJDMQorOjEwMDQ4NDAwMDIwQTAwMEYwMTBDMTEwNDBEMDAwMDAwMDA0MTAwMDBERAorOjAxMDQ5NDAwMDA2NworOjA0MDQ5NTAwMDIxNzAwMDA0QQorOjAxMDQ5OTAwMDA2MgorOjEwMDQ5QTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjBCOAorOjAxMDRBQTAwMjIyRgorOjAxMDRBQjAwMzIxRQorOjAxMDRBQzAwMzIxRAorOjEwMTEwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgwMTAxMDAwMTAxMDIwMworOjEwMTExMDAwMDAwMTA5MDIyMDAwMDEwMTAzQTAwMDA5MDQwMDAwMDJFRgorOjEwMTEyMDAwRkYwMDAwMDQwNzA1ODIwMjQwMDAwMDA3MDUwMjAyNDA5QworOjEwMTEzMDAwMDAwMDA0MDMwOTA0MjYwMzQxMDA2RTAwNjMwMDY4MDBGOAorOjEwMTE0MDAwNkYwMDcyMDAyMDAwNDMwMDY4MDA2OTAwNzAwMDczMDBBNworOjEwMTE1MDAwMkMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjgwMzQ2MDA4QQorOjEwMTE2MDAwNjkwMDcyMDA2RDAwNzcwMDYxMDA3MjAwNjUwMDIwMDA2OAorOjEwMTE3MDAwNDYwMDcyMDA2MTAwNkQwMDY1MDA1NzAwNkYwMDcyMDA0QworOjEwMTE4MDAwNkIwMDczMDAyQTAzNDMwMDZGMDA2RTAwNjYwMDY5MDA2NQorOjEwMTE5MDAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwNkYwMDZFMDBFNgorOjEwMTFBMDAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIyMDM4MworOjEwMTFCMDAwNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNjEwMDYzMDAwMworOjEwMTFDMDAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMworOjAyMTFEMDAwMDAwMDFECis6MDAwMDAwMDFGRgorLyoKKyAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKKyAqCisgKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKKyAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAorICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKKyAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KKyAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKKyAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKKyAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKKyAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTYyL2JpdHN0cmVhbS5IRVggYi9maXJtd2FyZS9lbWk2Mi9iaXRzdHJlYW0uSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjNmVjYzMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWk2Mi9iaXRzdHJlYW0uSEVYCkBAIC0wLDAgKzEsNDM3MiBAQAorOjEwODAxMDAwRkZGRkZGRkZBQTk5NTU2NjMwMDA4MDAxMDAwMDAwMDdBRQorOjEwODAyMDAwMzAwMTYwMDEwMDAwMDAwQjMwMDEyMDAxMDA4MDNGMkQ3NQorOjEwODAzMDAwMzAwMEMwMDEwMDAwMDAwMDMwMDA4MDAxMDAwMDAwMDk5NQorOjEwODA0MDAwMzAwMDIwMDEwMDAwMDAwMDMwMDA4MDAxMDAwMDAwMDEyRAorOjEwODA1MDAwMzAwMDQwMDA1MDAwM0UwNDA4MTIxMDAwMDAwMDAwMDBGNAorOjEwODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwODA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDRCQworOjEwODA4MDAwODAwMDAwMDAwMDAwMDAwMDAwMTIxMDAwMDAwMDAwMDA0RQorOjEwODA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwODBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwODQwQworOjEwODBCMDAwODAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAzRQorOjEwODBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwODBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDA5OAorOjEwODBFMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDBDRQorOjEwODBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwODExMDAwODAwMDAwMDAwMDAwMDAwMDAwMTIwMDAwMDAwMDAwMDBDRAorOjEwODEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwODEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzQgorOjEwODE0MDAwODAwMDAwMDAwMDAwMDAwMDA4MTMwMDAwMDAwMDAwMDA5NAorOjEwODE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwODE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwODE3MDAwOTAwMDAwMDAwMDAwMDAwMDAwMTIwMDAwMDAwMDAwMDA1RAorOjEwODE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwODE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQ1QgorOjEwODFBMDAwOTAwMDAwMDAwMDAwMDAwMEY3MTAwMTE0MDAyNTAwMDVGOQorOjEwODFCMDAwNDAwMTUwMDA5NDAwMTUwMDA3NDAwMUQwMDA5NDAwMjVCNAorOjEwODFDMDAwODAwMTYwMDJEODAwRjYwMDJGODAwMkUwMDREODM3NDQxNgorOjEwODFEMDAwOTAwMDAwMDAwMDAwMDAwMEMwMDVGMjAwQ0M5MDM5MjBBMworOjEwODFFMDAwMEQ5ODAzRDIwMEU3ODAzNzA0MEVGMTgzN0UwMERGOTAwNAorOjEwODFGMDAwMzFFNDhGNzkwMzdDMjBERjIyMzNDMDBDRjAyMjMwMDA4MQorOjEwODIwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTA2MjAwODAyNDIyMjAyNgorOjEwODIxMDAwMDg5ODEyRTIwMDhCODEyMDk0MDg3NDAyMkUwMDhBMDFEMworOjEwODIyMDAwMjJDODA4OTIwMjNEODA4QjYwMjI4MDA4QjAwMjIwMDRBMAorOjEwODIzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDODAwQTAwMDIwMDBGOQorOjEwODI0MDAwMEIxMDAyQzAwMEExMDAyNDA5NEEzMjAyNDgwMEIxMDAwQworOjEwODI1MDAwNjJDMDA5QTA0NkNDMjQ5MzQ5MkE4MDQ4MzAyMjYyMDE5QQorOjEwODI2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBODEyQTgwMDIyMDA0NQorOjEwODI3MDAwMDg5MDAyRTAwMDg5ODAyMjQ0MDhCMDEyQTgwMEE5NDBCQQorOjEwODI4MDAwMjJDMDA4OTA4MkFDMDA5QjA0MkFDNDA4QjAwMjcwMDQ4QgorOjEwODI5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTQ4NDAwRTk4MEIyNjQ2NworOjEwODJBMDAwNERBMDAzRUEyMEU5QzAzNjQwMEVCMDAzNDQwMEZCOTAyNQorOjEwODJCMDAwQjI4ODBEQkMwM0VDMDg1QjAwMzg2MDJDQjA2MzQwMDQ0RQorOjEwODJDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNDI2REQ5MDM3NDA5RgorOjEwODJEMDAwNEZFMDEzRjI4MEZEMDAzREEwMEQ3MDAzNzUwMDVFMDBCRAorOjEwODJFMDAwM0ZBNDBERjkwMzVDMTBFQjAwMzcyMDBGMzAwM0I4MDBGQQorOjEwODJGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRTk4MDMyNDA0NworOjEwODMwMDAwMENBMTgzRTgwMEU5MDAzMjQyMEVCMDAzQUM0OEU5MDA1QQorOjEwODMxMDAwM0E4MDBFQTQwM0VDMDBFQjAwQjIwMzBFQjAwQjEwMDQ4NQorOjEwODMyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyRTgwODlEMTIwNDBGOAorOjEwODMzMDAwMDhBMDAyQzAwMDgxODAyMjU4MDhGNTAyMkY0MDhCMDA1RgorOjEwODM0MDAwMjBDMDA4MzA0MzdDMDA4NzAwMjI0MDA4RjAwMjMyMDA0MQorOjEwODM1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0MjAxOUE0NDI4QTIwRAorOjEwODM2MDAwMDgxODAyQzA4MEExODBBMDAwMDgzMDAyOEUwMEFCMDA3NworOjEwODM3MDAwMkM0MDBBMzAwMjBDMDBBMzAwMjA0NDBBMzAwMjM4MDBDRQorOjEwODM4MDAwNTAwMDAwMDAwMDAwMDAwMDYwMDEzMjAwOTY4MjJCQTIyNQorOjEwODM5MDAwODg1QTAyRjIwMDA1ODAyOUEwMDg3ODQyQkUwMDhFODQyNworOjEwODNBMDAwMkY2MTBBRDgwMjRFMTBBNzgwMjAyODA4NzgwMjE4MDBGMgorOjEwODNCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODAwRjIyNDM4ODA1NworOjEwODNDMDAwMkMxQTAzQzQwMEUwNThBMDgwMkUzMDAzODg0MUUzMDIzOQorOjEwODNEMDAwM0M0MDA2MjAwMzhDMDBFMzAwMTAwMDBFMzE0MzEyMDJFMworOjEwODNFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUQ5ODAwRUUwMTM3ODRFRQorOjEwODNGMDAwOUZEOTAzRjA0OEZEMTAzN0MwMDdCMDAzNUMwMEY2MTBBQQorOjEwODQwMDAwMzNDMDBERTEwM0VEMjBERjEwM0Y0ODBGRjAyM0QwMDYwRAorOjEwODQxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFNDAyQ0I4MDMwQzAyRQorOjEwODQyMDAwMENBMDAzRTIwMkM5MDAzQTQwMERCNjAzNjQwMEVCMDA2MQorOjEwODQzMDAwM0VDMDBGQjAwM0VEMDBGQjAxM0VFMDBDQjAwMkVBMDBDRAorOjEwODQ0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDAwODcwMDIxQzA2NworOjEwODQ1MDAwMjg2MDAyRDAwMDg1MDAyRDgwNDhGMDgyMUMwMEI3MDAwMworOjEwODQ2MDAwMkQwMDBCNTAwMkRDMDBCN0EwMkY4MDI4N0EwMkQyMDQyNgorOjEwODQ3MDAwNjAwMDAwMDAwMDAwMDAwMEMxMDBCRTAwODc4MDIxRTAxNQorOjEwODQ4MDAwMjg2ODAyRDcwMDg0ODAyREUwNDk3OTA2NTMwOUI1ODAxOQorOjEwODQ5MDAwMkRFMjBCNzgwMkRFODBCNzkwMkRCMDA4NzkwMkYwMDA1MworOjEwODRBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzEwODMwMTI4QzgwMAorOjEwODRCMDAwMDgyMDAyQzIwNjgxMDAyQ0M4ODgzMDYyMEUyMUIzQTBCOQorOjEwODRDMDAwMkNDMTBCQjYwMkNDMDBCMzAwMkNFMDA4MzAwMkQyMDQ2MQorOjEwODREMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwQ0E0MEIwODA4RAorOjEwODRFMDAwMEMyQzAyRjgwMEM2MjAzRjkwMERBMDAzN0IwMUVFRTBBQgorOjEwODRGMDAwM0ZCNDBGRUMwM0U4MDBGQTAwM0ZBMDBDQTAwM0ZBMDQxRAorOjEwODUwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMzAwRjgwOTI2MDBCOQorOjEwODUxMDAwMEZDMTgzRTAxMEY4NDAzQzAwMEY4MDAzRTAwMUY4MDAzOQorOjEwODUyMDAwM0UwMDBGODEwM0UwMDRGODAwM0UxMDBGODAwM0QyMDBFQworOjEwODUzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAyQzkwMDNFNDBDNgorOjEwODU0MDAwNEY5MDYzMjY4NDM5MDJCMjQwMEM5MTAzMjQwMEY5MDA1NQorOjEwODU1MDAwM0U0MDBGOTAwMzI0MDBGMTAwM0E0NDBGOTAwM0MyMDQwMAorOjEwODU2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ0NTAwODk0MDJFNDBEQgorOjEwODU3MDAwMDg5MjBBMjQwMEI5MzEyMjYwODg5NDhBMjQyMEI5MDAyNAorOjEwODU4MDAwMkU0MDBCOTAwMjI0MDBCOTAwMjI2ODBCOTAwMkUwMDBGQworOjEwODU5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNEEwOEQ4NDJGNDA2QQorOjEwODVBMDAwMEJEMTAyMjQwMEI5MDAyMjRBMDgxMDAyMkM0MEI5MDA2NQorOjEwODVCMDAwMkU0MDBCOTAwMjI0MDBCOTAwMkE0MDBCOTAwMkM2MDAwNgorOjEwODVDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQxNDAwODU4MDJENDBEOQorOjEwODVEMDAwMDg1MDAyMDQwQ0I5MDBBMDUwMDgxNDIyMDQwMEIxMDA5NQorOjEwODVFMDAwMkM0MDBCMTAwMjA0MDBCMTI4MjA0QTBCMTMwMkMyMDFEOAorOjEwODVGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwQzA1MDNFODA4OAorOjEwODYwMDAwMEZDMDQzMjAwMEY4MDAzMDAwMkM4MDIzMjAwMEY4NTFEOAorOjEwODYxMDAwM0UxNDhGODUwQjIxNDBGODcwM0EwODBGODQ4M0VFMDNENworOjEwODYyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURDNDAwRjkwNDNFNDAwNgorOjEwODYzMDAwMEY5MDIzRDQwMEZEMDAzRjUwMEY5NDAzRjQwNEZEMDA3RAorOjEwODY0MDAwM0Y0MThGRDA0M0U1MENGOTAyM0Y0QTBGOTIwM0U2MDIwNworOjEwODY1MDAwNzAwMDAwMDAwMDAwMDAwMDg4MDVENDAxRkQwMDNENDBDRQorOjEwODY2MDAwMENEMDEzRjQwMEQ1MDAzMzZBMUNEQzgzMzQwMEQxMDQzMQorOjEwODY3MDAwM0U1MDBDOTEwM0U2QzBEREIwMzM2QTJDOUM4M0U2MDBDQgorOjEwODY4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDA5Rjg4MDJFMDBBMworOjEwODY5MDAwODg4MDAwRTgwMEJBMDAyMkIwMDg4RTAyMjgwMDg4QTg2RQorOjEwODZBMDAwMjYyODA4OEEyMkUyMDA4OEU0MjIzMDA4OEMwMkNFMDRDMAorOjEwODZCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEyODJFNDA3MgorOjEwODZDMDAwMDgxMDAyQzQwMDk5MDAyMDQyNDgxMDAyNjQwMTkxODAwMQorOjEwODZEMDAwMkM0ODA4MTAwMkM0QzA4MTQwMjA0QTA4MTIwMkMyMDE3RQorOjEwODZFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDk0QTkwMjJFNDA5QworOjEwODZGMDAwMEE5MDAyNjQwMEI5MDA4MjYwMDg5MDAyNjYwMDg5MTA0NgorOjEwODcwMDAwMjQ2MjA4OTAwMkU0MDA4OTAyMjI0MDE4OTAwMkM2MDQwNAorOjEwODcxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNjAwQjkwNDNFNDAyMworOjEwODcyMDAwMEM5MDEzRTQwMEQxQzAxMjUwMjg5MDAzNDQwMEQ5MDBFQgorOjEwODczMDAwM0U0MDI4OTIwM0U0MDJEOTAwMzI0MjhDOTAxMkU4MDRCMQorOjEwODc0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNjIwRjkwMDNFNDE1MgorOjEwODc1MDAwMkQ5MDAzRTQwMEY5MjAzRTQwNEY5MDAxQTQwMEY5MDA2MQorOjEwODc2MDAwMzY0MDhGOTIwN0U0MDBGMTAwQkU0MDBGOTAwM0NBMDAyQworOjEwODc3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwQzgwMDNFMjA5QgorOjEwODc4MDAwMEM4MDAzRTA0MEY4MDAzNjEyMkMwMDAzRTBDMEY4MDAzMworOjEwODc5MDAwMzIxMDBEODQwM0EwMDBGODAyM0UwODBGODAwMENBMDRDNgorOjEwODdBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzQTkwOEUwMDJEQTA1NworOjEwODdCMDAwODBFODAyRkEwMEJFNDAyMzgwMDhFODAyRkEwMDhBMDAzRQorOjEwODdDMDAwMzY4MDA4QTAwMkU4MDBCQTAwMkY4MDBCQTAwMzhBMDBDMAorOjEwODdEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0NjAyODMwMDJDODBCNQorOjEwODdFMDAwMDgyMjQyQzY4MEIxNjAyRUY0MDgzODIyQ0UwMEEzMDBEMQorOjEwODdGMDAwMjBDMDA4MzAwMkFDMDBCMTAwMkU0MDBCMzAwMkNBMDA4RAorOjEwODgwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExRTAyODUwMTJEQzJFMgorOjEwODgxMDAwQTg0NDAyRDQwMEJEMDEyOTQwMTg2OEQyREMwMDhGODAzMgorOjEwODgyMDAwMjVDQzI4NzM0MkRDODBCNTMwMkRDMDFCNzIwMkU4MDBENQorOjEwODgzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTA0QzY4MjNERTBDMQorOjEwODg0MDAwMEM0ODEyRDYxMEY1ODAzQ0EwMEM3MDAzREUwMEU3OTBCNworOjEwODg1MDAwMjNFQTA0N0EwMzlFMDBGNTgwM0RFMDBGN0EwM0VBMDJFMgorOjEwODg2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MERBQzAwOUMwMDNFQzBBRAorOjEwODg3MDAwMEY4MDAzRTQxMEY5MDAzNjAxMEZBMDAzQzAwMEVCMDBFNQorOjEwODg4MDAwM0VEODRFQjA4M0VDMDBGOTAwM0VDMDBGQjQ0MzgyMDZFMAorOjEwODg5MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDVERTAwQ0Y4NDMxRTA3MQorOjEwODhBMDAwMEVDODQzRDYwMENEODAzM0UwQ0REOTAzM0EwMEZGODgwRgorOjEwODhCMDAwMzNFMDBGRjkxM0ZFMjRGRDgwM0YyMDBDRjY4MzEwMDBGNworOjEwODhDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwODUwMDIxQzQ3OQorOjEwODhEMDAwMjg0MDgyRDAwMEQ1MDAyMzgwNDhDOTAyMUMwMEI3MDA4MAorOjEwODhFMDAwMjFDMDBCNzEwMkRFODBCNTEwMkRDMDI4RjAwMjJBMDREMQorOjEwODhGMDAwNjAwMDAwMDAwMDAwMDAwMDEwMDA5QzAwOTYwMDIxQzBGNQorOjEwODkwMDAwMEE0MTAyRjU0MDhEMDAyMTQwMDk1MjAyOTgyMEI3MDAyQgorOjEwODkxMDAwMjFDMDBCNzAwNkRDODBCNTAwMkRDMDA4NzAwMjA0MDA3OQorOjEwODkyMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRDQzEwOTgwMDAwQzA3RgorOjEwODkzMDAwODgwNDgyQzAwMDkxMDQyMDAzMDkwMDAyOEEwMEIzMEE1RgorOjEwODk0MDAwMjBDNDhCMzQwMkNDMDBCOTAwMkNDMDAwMzAwMjE4MDRDMworOjEwODk1MDAwMzAwMDAwMDAwMDAwMDAwMEY4MTVBQzAwREIwMEIwQzBFMworOjEwODk2MDAwMEU5QzAyQzUwMEMxMTBCMkMwMERCMDBCQTcwOEZGMDBERAorOjEwODk3MDAwQjNDMDBGRkEwM0ZDMDBGRDAwM0VENDBDRjAwQjJFMDQzNAorOjEwODk4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzA0RUQwMDNFNDBBQworOjEwODk5MDAwMEY4NDAzRTU0MEY5NDAzRTYwQ0VCNDQzNjQwMEZCODBBMQorOjEwODlBMDAwM0VDMjBGQjAxM0VDMDBGOTAyM0VDMDRGQjAwM0UxMDAyRAorOjEwODlCMDAwMzAwMDAwMDAwMDAwMDAwMDkwMTBGRjAwQ0UwMDMzQzAyNworOjEwODlDMDAwMEVDMDA3NzQwNEVDMDAxMTgwMENDQTAzRkU2MEZGMDBBNworOjEwODlEMDAwM0ZDMDBGRjA4MzNDMDBERDAwQjM1MDJDRjAwMzIwMDRCNworOjEwODlFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDA0QzA0OEIwQjIyNzA1RQorOjEwODlGMDAwMDgwODAzNjcyMDhBODhBMjAwMjg4NDAyRTcwMEJCMDBEOQorOjEwOEEwMDAwM0VDMDBCQjAwMjJDMDBCOTAwMjI2MTA4QjAwMzYwNDBFOAorOjEwOEExMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEIyMDIyRTJFNgorOjEwOEEyMDAwMEE4QzAyMjYwMEE5ODAyQUMwMDhCNDQyRUQwMEJCMDBDRgorOjEwOEEzMDAwMkVDMDBCMzAwMjJDMDBCOTAwMjA4MDA4MzAwMjYwMDBFQworOjEwOEE0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwRTAxODEwMEEwQzBFQQorOjEwOEE1MDAwMDg4MTAyNDQwMDgxMDAyODgxMDgzMjAyQ0MwMEIzMDA2MgorOjEwOEE2MDAwMjhDMDBCMzAwMjBDODBCMTAwMjBDMDA4MzAxMjQyMDEzNworOjEwOEE3MDAwMDAwMDAwMDAwMDAwMDAwMDgwMEQ2QzAwQzIwMTMyQzA0OAorOjEwOEE4MDAwMkU4MDE2MkMwOEU5MDAzQTQwMEM4MDAzRUMwMEY3MDAxOQorOjEwOEE5MDAwMkZDMDBGRjAwQjJDMDBEOTAwMzA0MDBDRjAwMzYwMDMwNgorOjEwOEFBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMERGODA4RkYwMDNGQzBDQgorOjEwOEFCMDAwMEZDMjE3RkMwMEY3MDAzNzAwMEY4NDAzRkMwMEZGMDAxMworOjEwOEFDMDAwM0ZDMDBGRjAwM0VEMDBGRDAwM0Y0MDBGRjAwM0U4MDY0QworOjEwOEFEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzAwQ0YzMDE3NDgwNworOjEwOEFFMDAwMEM1OTAzQjkwMERGMjgzNTI0MEQ4MkEzN0M4MEZGMDBEOAorOjEwOEFGMDAwM0ZDODBGRjIwM0U0QTBFRjgwM0ZFMThDRDg0MzMwMDA4MQorOjEwOEIwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFRDQ4ODkzNEEzNzA2MAorOjEwOEIxMDAwMjhCMDIzNjAwMDhCQzAyMjQwMDhCNDgyMkY0MEJGRDExMAorOjEwOEIyMDAwNkZGNDhFQkQwMkU3MDBCQjgwM0FFMDA4OTgwQTI4MDQ4MworOjEwOEIzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNEIwOTEwMEE4NTA3QgorOjEwOEI0MDAwMDhCMjAyQzg4NDkzMDAyNDQ5MEIwMjAyNEMwMEIzMDQwQgorOjEwOEI1MDAwMkNDMDBCMzA0Mjg0MDBCMzAwMkUwMDBBQjAxMjIyMDE1OAorOjEwOEI2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTFBQzAyOTkxODJBNDRGNworOjEwOEI3MDAwMDhCODgyQTIwMUJCMDAyODYwMEFBMDEyNkMwMEJCMDBFQQorOjEwOEI4MDAwNkVDMDBBQjAwMkU0MDBCQjAwMkEwMDJBQjAwMjM4MDQxQQorOjEwOEI5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTFFNDA4REFDMDNBNjAwNAorOjEwOEJBMDAwMEMxODBBRUIwNERCMDAzNkUwMDc4NTgzNkMwMEZCMDA0MQorOjEwOEJCMDAwMkVDMDBGQjA0M0U0MDBFQjAwM0U4ODBFMTgwMzEwMDRGMworOjEwOEJDMDAwNzAwMDAwMDAwMDAwMDAwMEUwNDE5QzEwRTkwMDM3NjBFOAorOjEwOEJEMDAwODdGMDE3NzAwMENGMDEzN0MwNEM5ODAzQkMwMEZCMDAzMgorOjEwOEJFMDAwM0ZDMjBGRjAwM0U0MDBGRjQwM0ZFNDBERDkwM0YwMDA2MworOjEwOEJGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNDAwRjQwMDMwNDBCRAorOjEwOEMwMDAwMEZCNDAzOTkwMEZCMDAzRUMwMEQwNDIzMkMwOEZCODgyMQorOjEwOEMxMDAwMzJDMDBGQjAwM0U2MDBEQjEwM0UwMjBGQjA4M0QwMDQ3OQorOjEwOEMyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQjk1MEEyNDgzOAorOjEwOEMzMDAwOEJCMDAzMjAwMEQ3ODAyRUQ4MDA4MDAyM0MwMEJGODA3QworOjEwOEM0MDAwMjNFODhCRjAwMkY0NDA4QjQwMEM0MjAzQjYwMkYyMDBBMgorOjEwOEM1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjI0NDAwQzhFNQorOjEwOEM2MDAwMEIzMDEyOEMwMEEzODAyNEM4MEIwMDBBQ0MwMEIzNDQ0NAorOjEwOEM3MDAwMDRDMDFCMzYwMkM1MDE4MzBDMkNBMDBCMzAwMkY4MDA4NworOjEwOEM4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTA4Qjc5MDIxNjQ4MQorOjEwOEM5MDAwMEJGODAyNEEwNDk3ODEyRkU0MEE3ODAyOUUwMEI3ODBGRAorOjEwOENBMDAwMjFFMDhCNzg4MkQ2ODY4Nzg0MkRBMDBCNzgwMkMwMDBDNQorOjEwOENCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwNDAwRjIwMDMwQzAzRQorOjEwOENDMDAwMEYzMDAzOEMwMEUzMEEzQ0MwMEYxODAzOEMwMEYzMDI0MgorOjEwOENEMDAwMzBDMDFGMzAwMUM2ODBDMzAwM0NDMDBGMTIwM0RBMDI0RgorOjEwOENFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMERCQzAwRkYwMDNGNDFGQworOjEwOENGMDAwMEZGMDAzQjgwOEZGMDgzRkMwMERGMDAzM0MyMEZGMDg0OQorOjEwOEQwMDAwM0JEMjBGRjAwM0Y0NDBFRjAwM0ZDNDBGRDAwM0QwMDY3NgorOjEwOEQxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFNDAwRkUwMDMyQzI3MAorOjEwOEQyMDAwMEMzMDBCMjYwMEZCODAzNkMwMERBMDAzRUMwMEZCRTBFRQorOjEwOEQzMDAwMzJEMDBGQjg0MzY0NDREQjA0M0U4MDBGQjAwM0UyMDAzRQorOjEwOEQ0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwQjcwMEExQzBBNgorOjEwOEQ1MDAwODg3MDAzMTAwMEI3MjAyMUMwMDg3MDAyREM4MEIzMzA5NworOjEwOEQ2MDAwMzFDODBCNzQwMjE0MDA4NzQwMkRDMDRCNzAwMkQyMDAzMgorOjEwOEQ3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5NjIwQjY4MDIwRTBFNworOjEwOEQ4MDAwMjhGODAyOTQxMEI3ODEyN0UyMDk3ODAyREUwMEI3QTAyNAorOjEwOEQ5MDAwQTlFODBCMzgwMjc2MDA4NzgwMkRBMDBCNTgwMkYwMDA1RQorOjEwOERBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDRTEwQjMwMDIwQzREMgorOjEwOERCMDAwMDgyMDAyODAxMEIzMDAyMkM4MDhCMDAyQ0MxMUIzMDIxMAorOjEwOERDMDAwMjhDMDBCMzAwMjA0MDA5MzgwMkNEMjBCMTAwMkQyMDQ3NgorOjEwOEREMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRkU0MDMyQTBBRQorOjEwOERFMDAwMENFNDAzOTg4MEZBMDAzN0EwMERFMDgzRTgwMEZFMDA1MQorOjEwOERGMDAwM0E4MDBCQTAwMzY4MDBEOEEwM0Y5MDBGQTAwM0ZBMDRBQworOjEwOEUwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDA4RjgwODNFMDA5NAorOjEwOEUxMDAwMEY4MDAzMjAwMEY4NDAzRTAwMEY4MDAzRTAwMEY4MDRCQworOjEwOEUyMDAwMzAxMDBGODAwM0UwMDJFODAwM0UwMDBGODAwM0QyMDAwNAorOjEwOEUzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRjEwMDMyNDBBMworOjEwOEU0MDAwMEU5MDgzQTQwMEM5ODAzRTQwMEU5MDAzQTQwMEY5MDA1OAorOjEwOEU1MDAwM0U0MDBDOTAwM0U0MDBDODAwM0U0MDhGOTAwMzAyMDRBMworOjEwOEU2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjk0MEEwNjJFRgorOjEwOEU3MDAwMDgxMDAyMjQxMDg5MDAyRTQwMDg5MDAyMjQwMEI5MDAzNgorOjEwOEU4MDAwMkU1MjA4OTQwMkM0MDA4OTQwMkU0MDBCMTAwMzYwMTAzQgorOjEwOEU5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjkxODIyNDQ0QQorOjEwOEVBMDAwMEE5MDAyQUMwMDg5MTAyRUMwMEE5MDAyQTQwMEI5ODA3QQorOjEwOEVCMDAwMkU2MDA4OTgwMkU2MDI4OTA4MkU0MDBCOTAwMjA2MDBGOAorOjEwOEVDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgwQjEyMEEwNDgxOQorOjEwOEVEMDAwMDg5MDAyMjQwODgxMjMyQzUwMDgxMDAyMDQ4MEIxMjAzRAorOjEwOEVFMDAwMkM0ODI4MTIwMkU0ODA4MTIwMkM0MDBCOTgwMjQyMDU3NQorOjEwOEVGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjg1MDMyMDA5MgorOjEwOEYwMDAwMEU4NTAzQTFFMENBMDAzRTAwMEU4NTAzQTAwMEY4MDAxNAorOjEwOEYxMDAwMkUwMDlDQTAwM0UwMDBDODI4M0UwMDBGODAwMzJFMDExNQorOjEwOEYyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQwRjUxMDNGNDQ4MAorOjEwOEYzMDAwMEZEMDAzRjQwMEYxMTAzRDQwOEZENDAzRTQ1MEY5MTAzQQorOjEwOEY0MDAwM0U0NTBGOTEwM0Q0NDBGQzAwM0ZDMDhGRDAyM0U2MDQ4MAorOjEwOEY1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNjIwQ0RBODMzNDA5NgorOjEwOEY2MDAwOEREMDAzMjY4MENEMDAzRDUwMEM5QTAzNjQwMEY5QTBGQgorOjEwOEY3MDAwN0E2QTBGOUE2M0U2ODBDOTgwM0U0MDBGOTAwMzA2MDAyQworOjEwOEY4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTAwODhFMDM2MDBBQQorOjEwOEY5MDAwMDg4MDBBMjE0MkM4MDAyRTI5MENBNDQyMjAwMEI4NDBCMworOjEwOEZBMDAwMkUwMDBCODEwMkUxMDA4ODAyM0EwMTBCQzAwMjBFMDQ4MAorOjEwOEZCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAyODEwODI0NDBDMQorOjEwOEZDMDAwMDkxMDAyMDQwMDkxMDAyQzQwNEIxNDAyNDQwMEI1MTAxQgorOjEwOEZEMDAwMjk0MDBCNTAwMkY1MDBCNTAwMkQ0MDBCRDAwMjAyMDFENAorOjEwOEZFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTFBNjAxODkwMDI2NDA1MgorOjEwOEZGMDAwMDg5NDAyMjQwMTg5MDAyRTQwMUE5MDAyNkMwMEJGMDJERQorOjEwOTAwMDAwMkY0MDBCRDAwMkY0MDJCRDgwMkI0MDhCRDgzQTA2MDRDRgorOjEwOTAxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwQzkwNTM2NDExMgorOjEwOTAyMDAwMEQxQzAzMjQwMEQ5MDAzRTQyMkY5NDAzNjQwMEY5MDA3NAorOjEwOTAzMDAwM0E0MDBGOTAwM0M0MDBGOTAwM0U3MDBGMTAwMzI4MDQ1QgorOjEwOTA0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDE4NDA4RjkyNDNFNDA2MAorOjEwOTA1MDAwMEY5MTAzRTQwMEY5MDAzRTQxMEQxMDAzQTQwMEY5MDA1NAorOjEwOTA2MDAwM0U0MDBGOTAwM0U0MDBDOTAwM0U2NDBGOTAwM0NBMDAyNQorOjEwOTA3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDA4Qzg4MDMyMDIzNAorOjEwOTA4MDAwMEY4MDAzMDAwMEM4MDgzQTEwQ0U4NDAzRTAwMEZDMDAwMworOjEwOTA5MDAwM0YwMDhGQzAwM0YwODBGQzAwM0YxODBGQzA0M0NBMDQ5QworOjEwOTBBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEUwMEExODA5QworOjEwOTBCMDAwMEJFMDAyMjgwMERFQzIyMzkwMDBBMDAyRTgwMEJBMDAwNAorOjEwOTBDMDAwMkU4MDBCQTAwMkU4MDBGQTAwMkU4MDBCQTAwMkNBMDAzRQorOjEwOTBEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTk4MTYwQzA5RAorOjEwOTBFMDAwMEIxMDAyMEMwMDkwMTAyQUZDMEIzMDAyQ0MwMEIzMDBENQorOjEwOTBGMDAwMkNDMDBCMzAwMkNDMDBCMzAwMkNDMDBCMzAwMkNBMDBENQorOjEwOTEwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzgyOTU0MDIxQzAxQQorOjEwOTExMDAwMEI1MDAyMUM4MDkwODAyMzAxMDk3MjEyREMwMEI2MDAwMworOjEwOTEyMDAwMkQwMDBCNDAwMkQwMDBCNDA5MkQwMDRCNDA4MkU4MDAxNgorOjEwOTEzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzRTgwREQ4MEIxRTA5MworOjEwOTE0MDAwMEZEQTAzMEY4MEQ0ODAzOUUwMEI3QTAzREUwMEY1ODA1QworOjEwOTE1MDAwM0QyMDBGNDgwM0Q2MTBGNjgxM0RFMDhGNjgwM0VBMDJGOAorOjEwOTE2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRUQwMDNFMDAwMworOjEwOTE3MDAwMEY5MTBCRUMxMEY4MDAzRTAwMEVCMDAzRUMwMEY4MDA2RAorOjEwOTE4MDAwM0VDMDRGQjAwM0U4MDBFOTAxM0UwMDBGOTAwM0MyMDY2NQorOjEwOTE5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTIwQkY4MTMzQTQzNQorOjEwOTFBMDAwOEMxOTAzM0UwMENEODAzRkUwMEZGODgzM0UwMEVGODAzNgorOjEwOTFCMDAwM0ZFMDBGRjkxM0ZBMTBGRDgwM0ZBNDBGRDgwM0MwMDA2MQorOjEwOTFDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQkYyMDMxQzIwOAorOjEwOTFEMDAwMDg1QTAyM0MwMjg3MDAyRDk0MEI3MDBBMUM0MDg2MTAyRQorOjEwOTFFMDAwMkQwMDBCNDAwMkQ0MDBGNjAwMkQ0MDRCNjAwMkVBMDQzMworOjEwOTFGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQjcwMTIzODAxOAorOjEwOTIwMDAwMjg1MDAyMUMwMDg0MDAyREMwMEIzMDAyMUMwMEI1MDA0OQorOjEwOTIxMDAwMkQwMDBCNDAwNkQwNDBCNDA4MkQ4MDBCNDgwMkMwMDA0MgorOjEwOTIyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzAwQjMwOEEwMjBBMworOjEwOTIzMDAwMDgxMThBMEUwMDgwMDAyQzkwMEIzNzAyMEMwMDkwMDA2MQorOjEwOTI0MDAwMkNDMDBCMzA0MkNDMDRBMzgwMkM1MDBCMzAwMkM4MDQzRAorOjEwOTI1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwRjk4MDMyNjA1QQorOjEwOTI2MDAwMENENDAzM0M4MDg4MDAzRUQwMEZGODAzMjgwMEZBMDA5RAorOjEwOTI3MDAwM0VDMDBGQjAwN0VDMDFCQjgwM0U1NDBGQjAwNkVBMDRCRAorOjEwOTI4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFRTA4Rjk4MDNBQzA5NQorOjEwOTI5MDAwMEY5MDAzRUMwMEY4NDAzRTU4MEZCMDQzRTkwMEVCNDQ1OAorOjEwOTJBMDAwM0UwMDBGODAwM0UwMERGODAwM0U4MDBGODAwM0UwMDBEOQorOjEwOTJCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBEQzAwQ0YwMDMzNDA0RgorOjEwOTJDMDAwMENEMDAzM0MzMENDMDAzQkMwMkRGMDAzRDgwMkNDMDBDNgorOjEwOTJEMDAwM0QwMDBDQzAwM0Y0MDBFRTAyMzc0MDBDRTAwM0MwNDQzNAorOjEwOTJFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzE4ODM4NDIwMDAxRQorOjEwOTJGMDAwNEExMDAyMEMwMEE4NDgyRTYwMDhCMDAyRTkwMDg5NDAxQworOjEwOTMwMDAwMkVDMDA4QjAwMkU4MTBCMTAxMjA4MDBBOTAwM0EwNDBFRQorOjEwOTMxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEI4MjIyMDg1NQorOjEwOTMyMDAwMDg5MDAyMkMxNDg4MDQyQzA4MDhCMDEyRTgwMDhBMDA2NworOjEwOTMzMDAwMkVDMDBBQjAwMkU4MDFCOTAwMjYwNDA4OTAwMkUwMDAzRAorOjEwOTM0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwODM4MEEyQzA2MAorOjEwOTM1MDAwMEE5MjAyMkMwMEEyMDAyQzAwMDgzNDAyQzgwMDgzMDBFQworOjEwOTM2MDAwMkMwMDI4MDAwMkM0MDFCQTAwMjJDMDAyMjAwNkMyMDE1QgorOjEwOTM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQ0EwMEIyMDBGOAorOjEwOTM4MDAwMEM5MjBCMkMwNEM4MDQzQTAwMENCNDAzRTgwMEM4MDA4QgorOjEwOTM5MDAwMkUwMDBDODAzM0UxNDBFODAwMzYwMDBDODAwM0MwMDM0RgorOjEwOTNBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkYwMDNEMDA3OAorOjEwOTNCMDAwMEZEMTBCRkMwMUZDMDAzRjAwMEZGMDAzRDgwMEZEMDBCMworOjEwOTNDMDAwM0ZDMDBGRjAwM0ZDODBGRjAwM0ZDMDBGRjAwN0E4MDY2RQorOjEwOTNEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVGMzAwQ0Y4MDM1NjA3MQorOjEwOTNFMDAwNEU2ODQzNUMwMEU3ODAzOUMwMENDMTAzN0UwMENGMzQ3NworOjEwOTNGMDAwMzVFMTRERjIwMzdDMDBERjM4M0ZDODBGRjgwM0YwMDA4MQorOjEwOTQwMDAwNzAwMDAwMDAwMDAwMDAwMEMwMThDODAwREI4NDIyNjA2QgorOjEwOTQxMDAwMDhBQzBBMkMwMDhCODAyMjMwMDg5MTIyMkM5MDI3NjEwNgorOjEwOTQyMDAwMjJDQTg4RkMyMkJGMDA4QjYyMkZEMDA5QjgwM0IwMDQ4NworOjEwOTQzMDAwMzAwMDAwMDAwMDAwMDAwMEM4MDVFMjgwQTkwMjI0NDBCRQorOjEwOTQ0MDAwODIzNDQyMDQwMEE5MDAyOEM1NDgzMjAyNEMyMDgzMzBFRgorOjEwOTQ1MDAwMjBDMDA4MzEwMjBEMDBCMzIwMkNDNDBCMzAwMkYyMDFGMQorOjEwOTQ2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVBQTAyQjkwNDIyNjBEQworOjEwOTQ3MDAwMjhCMjAyMjYwMDg5ODgwMkMwMDgzMTEyRUMwMDhCMDA1NQorOjEwOTQ4MDAwMkFEMDA4QjAwMkFDMDAyQjAwMkVDMDBCQjAwMkIwMDRGMgorOjEwOTQ5MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDVFMjAwRTMwMDM2MjA4QworOjEwOTRBMDAwMEVBNDYzNkUwMEUxQzAxQUMxMEM4MDAzNjg3MENCMDA4QgorOjEwOTRCMDAwMzY4MDBEQjAwMzRDMDBGQjA0M0VDMTBGQjAwM0QwMDQ1NgorOjEwOTRDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCODA0REYwMDNGMDA3MQorOjEwOTREMDAwMEZFODAzRkMwMEZEMDAzRjAwMkI5ODAzM0EwMDc3MDBFMworOjEwOTRFMDAwMjdFNDBGRjAwM0ZDMDBERjAwM0VDMDBERjA0M0Y4MDA1RQorOjEwOTRGMDAwNjAwMDAwMDAwMDAwMDAwMDUwMDBBNDY4Q0IyMDNBOTBGQgorOjEwOTUwMDAwMEYyNEEzQUMwMEU5NTAzQUMwMEVCNDgzMkMwOEVCMDA0MgorOjEwOTUxMDAwM0E5MDBFQjA4QkVDODBGQjAwM0VDMDBFQjAwMzkwMDQ3RQorOjEwOTUyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDEwQTAwOEJBMDIwODA3RAorOjEwOTUzMDAwMERBODAyMkMwNDg5NDAyOEU4MDhCMjAyMkMwMEFGMDBENAorOjEwOTU0MDAwMDI4MDA4N0MwMzNEODAzRjAwMkZDMDA4QjAwMjM2MDAzNworOjEwOTU1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0OTAwMDM0MDI4QzA3MgorOjEwOTU2MDAwMkIyODRBMjgwMEExMDA2OEQyMEEyMDQyQTQwMUEzMDBBNworOjEwOTU3MDAwMDI0MDBBMzQwMjBEMDAzMzAwMkNDMDBBMzAwMEI4MDA0QgorOjEwOTU4MDAwNTAwMDAwMDAwMDAwMDAwMEI4MDExQTAwODc5MDIxRTQ5QworOjEwOTU5MDAwMkJDODEyM0EwMDg1QzAyQjIxMjg2ODAyQjYwMEE3ODQ4OAorOjEwOTVBMDAwMjM2MDA4Mzg4MDFFMDBCNzgwMkRFMDA4NzgwMjJFMDA2NgorOjEwOTVCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODAwQzEwMDM4NTRDNgorOjEwOTVDMDAwMEYyNjgzODAwMEUwMzQyOEM4MEUyQzBCOEMwMEUzMDBBQgorOjEwOTVEMDAwNzg0NTBFMzAwMzhFODBGMzAwM0NDODBFMzAwMzkyMDJCMworOjEwOTVFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCODAwRjUwMjNGNDRFQworOjEwOTVGMDAwMEQ5MDAzRjgwMEJEMTQxRkMwMEZFMTIzNUM0NDlGNDI4RgorOjEwOTYwMDAwM0ZDMDBGRjQ4MjdENDBGRjEwM0ZDMDRGNzAwN0QwMDY2RgorOjEwOTYxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFODAyQ0IwMDM4QzA5MAorOjEwOTYyMDAwM0NBMDAzRUMwMEU5MDAzRUMwMENCMDAzMjAwNEZCMjE4OQorOjEwOTYzMDAwM0U4MDRGQjQwM0NGMDBDQjAwM0VDQzRGQjA0M0VBMDA5NgorOjEwOTY0MDAwNzAwMDAwMDAwMDAwMDAwMEM4OTE5ODAwODcwMDIxQzA1MQorOjEwOTY1MDAwMDg0MDAyREMwNEI1MDAyRDAwMkQ3MDAyMUMxQ0I3MDI2RQorOjEwOTY2MDAwMkRDMDBCNzIwMkRDMDA4NzQwMkRDQThCNzAwMkYyMDQwMQorOjEwOTY3MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBCQTAwODc4ODJCRTAzNgorOjEwOTY4MDAwMTg3ODIyRDYxMUE0ODIyRkUwMDg3ODAyMTIwMEI3OTQyRAorOjEwOTY5MDAwNkQ2MDRCN0EwMkRFNDBCN0EwMkRFMDBCNzgwNkUwMDA0QgorOjEwOTZBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDOTEyODM4MjI4RDQ2MgorOjEwOTZCMDAwOTgwMDA2RUYwNUIxOTAyQ0MxMDlCNDAyMEMwNEIzMDE2NworOjEwOTZDMDAwNkNGMDBCMzAwMkNDMDBCQjAwMkVDMDBCMzAwMkQyMDQ3OQorOjEwOTZEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODQwQ0E4MDNCQTA0MAorOjEwOTZFMDAwNENFNTAyRjg4MEVFMDAzRDgwMkNFMDBGMzg4MEZBMDA1NworOjEwOTZGMDAwM0ZBOTBGQTAwM0U4MDBCQTAyM0U4MDhCQTAwM0ZBMDQ0MgorOjEwOTcwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDEwRjgwMDI2MDJBMQorOjEwOTcxMDAwMEY4NDAzRTAyNEY4MDAzRTAwNEY4MEEzRTAzMEY4MDBGRgorOjEwOTcyMDAwMzYwMjBGODAyM0UwMDQwODAwM0UwMDBGODAwM0QyMDBDMQorOjEwOTczMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRDkwMEI2NDEyRAorOjEwOTc0MDAwNEU5OTBCQTQwMDY5MTAzRTQwMEM5MDAzQTQxMEM5MDA3MAorOjEwOTc1MDAwM0U0MDBEOTIwM0U2MDBGOTAwM0E0MDBFOTAwM0MyMDQyOQorOjEwOTc2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODEwMDIwNDJGRQorOjEwOTc3MDAwMDgxNDlBMjQwMDg5MDA2RTUwMDA5MDAyMjQxMEQ5MDIyNworOjEwOTc4MDAwNkU0MDBCOTQwM0E3MDBCOTAwMjI0MDA4OTAwM0UwMDA0QworOjEwOTc5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUwNjAwOTkwMEE2NDExNgorOjEwOTdBMDAwMEE5MDA2MkMwMEE5MDk2RTUwMDg5MTAyODQwNDg5MDBEMQorOjEwOTdCMDAwMEU0MDBCOTQwMkU1NDlCOTAwMEE0MDBBOTAwMkM2MDAyNworOjEwOTdDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNjAwODEwMDIyNDA2NAorOjEwOTdEMDAwMDgxMjIyMDQ4MUExMDAyQzQwMDgxNjAyMDQwMDkxMjBFNgorOjEwOTdFMDAwMkM0MDBCMTI0Mjg0ODlCMTIwMjA0ODA4MTAwMkMyMDE4QgorOjEwOTdGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRDgwMDM2MDBGNQorOjEwOTgwMDAwMEE4MDAzQTE0MEU4MDAyRTAwMEMwMDIzQTE0MEM4NTBBQworOjEwOTgxMDAwMkUxNDBEODAwM0UwMDBGODUwM0EwMDBFODAwM0VFMDM5MgorOjEwOTgyMDAwNTAwMDAwMDAwMDAwMDAwMDg4MURENDAwRjUwMEJGNDA3QgorOjEwOTgzMDAwMEZEMTAzRjQ0NEREMDIzRDUwMkJEMTIzRjQwMEY5MTA4NQorOjEwOTg0MDAwM0Y0MDBEOTEwM0E0NDhGOTEyM0U0RTFGOTAwM0E2MDIxQgorOjEwOTg1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVGNDAwQzUwNDNCNDAzMworOjEwOTg2MDAwMEZEODAzQTc4MEZEMDBCMzY4MEREODQzQTUxMEM5QTA4OQorOjEwOTg3MDAwMzI1MTRGNUE0MzM2MDBDOUEwN0E2ODBCRDAwM0M2MDE1MworOjEwOTg4MDAwNzAwMDAwMDAwMDAwMDAwMDc4MThDQTg4ODgwMjAyMDBGQQorOjEwOTg5MDAwOEQ4NDIyMjM0MkY4MDAyMjA0Mjg4QUEyQUE5NDg4RTkwRgorOjEwOThBMDAwMjBBODBBODAwQTIxNDA4MEUyMkUyODBCODAwMkNFMDRFNAorOjEwOThCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDVDNDIwQTEwNEE4QzAzQQorOjEwOThDMDAwMEIxQzJBMjQwMDM5MDQyMDQwMkExRTAyRTQ4MEIxMTAxNworOjEwOThEMDAwMkE0ODA5MTQ0NjA0MDA4MTM4MkM1QjBCMTAwMkQyMDA4MAorOjEwOThFMDAwMzAwMDAwMDAwMDAwMDAwMDE4MDVBNDEyQTkyNDIyNDA0NgorOjEwOThGMDAwMjk5MDAyMjQwMDM5MDAwMjU4MDgxODEwRTYwMUI5MDAyNgorOjEwOTkwMDAwQUE0NDA4OTAwMjI0MDA4OTAwMEU0MTBCOTAwMkM2MDQ2QworOjEwOTkxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMDVFNDAwRTEwMTJBNjRFRQorOjEwOTkyMDAwMkY5NDEzMjQwMjcxNjAxMjYwNEQ5MDAwQzUwMkY5MDA1QgorOjEwOTkzMDAwM0E0MDBGOTAyMzI0MDJDOTAyM0E0MDBGOTAwMkU4MDRGMworOjEwOTk0MDAwNTAwMDAwMDAwMDAwMDAwMDY4MDFBNDAwRDkwMDNFNjA0MworOjEwOTk1MDAwQUY5MDgzNjQ4OEY5MjAzRTYyMDM5MDgzQTQwMEM5MDAxRAorOjEwOTk2MDAwMzY2MDBGMTAwM0M0MDBGOTAwN0U0MDBGOTAwM0RBMDA0OAorOjEwOTk3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MDBBMTAwQzg4MjMyMDA0MgorOjEwOTk4MDAwNkYwMDAzQTAwMEQ4NDAzMDAwMEU4MDAzNjAwNEY4MDE4RgorOjEwOTk5MDAwM0UxMDRGODA4QjIyMDBGODAwMzIwMTBFODAwM0NBMDQ3MworOjEwOTlBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDEzODAwMEUwMEE5OTBFRgorOjEwOTlCMDAwMkZFNjIwODgwMDlFODAyMzgwMEFFODAzMjgwMEJBMDA1MgorOjEwOTlDMDAwMTg4MDBERUMwMjM4ODBCQTAwQTI4MDA4QTAwMzhBMDAzQgorOjEwOTlEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU2QzAyODM4MDIwQzhDMQorOjEwOTlFMDAwMEIyMDAyMEMwMTkyMTA2OEMwM0EzQzAyQ0MxMDNCMDJFMgorOjEwOTlGMDAwMENDMDI4M0MwMjRFMDBCMzAwMjhDMDI4MzAwMkNBMDAyOAorOjEwOUEwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExNDAwODc0MjJCQzA5RAorOjEwOUExMDAwMjk3MDIyOUMwMEI2MDAyQkMyMEE2MDg2MUMwMEI3MjE2OAorOjEwOUEyMDAwMjlDMDAwNzQwMjVDMDAzNzkxMDFFMDA4NzQwMkE4MDBBQworOjEwOUEzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwQzc4MDIxRTBEMAorOjEwOUE0MDAwMkY3ODAyOUUwMDk2ODAzOUUwMkVGODAzREUzMEY3RDBBMgorOjEwOUE1MDAwMkRGMjAwNzgwMzUyMDBGN0EyM0JFMDBFNzgwN0VBMDJFRAorOjEwOUE2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURCNDAwRkIwMDBDQzA1NgorOjEwOUE3MDAwMEYzMDAzRUMxMEQzMDBCNEMwMkY4MDAzNkM0OEZCMDAwMAorOjEwOUE4MDAwM0VDODREOTAwM0E0MDBGQjIwMUVDMDBGQjAwM0MyMDZDOQorOjEwOUE5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwQ0M4MDJCMkNDMAorOjEwOUFBMDAwMkZGODAzN0UwMDZFODAzQkExMEREODQzM0UwMEZGOTA0RgorOjEwOUFCMDAwMzNFMDBGRTkzM0ZFMDBDRkMwM0ZFMjBGRDgwM0MwMDAxMAorOjEwOUFDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTFCNDQwODcwMDIxMDRDRAorOjEwOUFEMDAwMDg3ODAyMUMwMDg2MDAyMUMwMjg5MDAyREMwMEI3MTAyNAorOjEwOUFFMDAwMjFDMDBGNzMwMkNDMDA4NzAwMkRDMDBCNTAwMkVBMDA4QQorOjEwOUFGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5RDAwQTQwMDI5NDg1NAorOjEwOUIwMDAwNkFGMDgyNEMwMEFFMDBBMUM0Mjk3NDAyNUM0MEEzMTAyQworOjEwOUIxMDAwNjFDMjBCNjAwNkM4MDA4NzAwMkRDMDBCNTAwMkMwMDQ1NAorOjEwOUIyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRFNjAxQTMwMjIwNDBGNQorOjEwOUIzMDAwMjgzQzAyMEMwMDgzNDIyMEM4MDgxMDAyQ0QwMEIzMDA2QworOjEwOUI0MDAwMjhGMDBCMzAwMkNDMDE4MzA0MkNDMDgzMTAwMkM4MDQxRgorOjEwOUI1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQTgwRUIwMDM4QzAwQgorOjEwOUI2MDAwMEE5MDAzN0MyMkEyNDAzMjQ4MERCMDBCM0UwMEZGMDA1OQorOjEwOUI3MDAwMzNGNDBGOTAwM0VDMDA4RjAyM0ZDMDBGOTAwM0VBMDQxMAorOjEwOUI4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFMDAwRDkwMjNFQzAzQworOjEwOUI5MDAwMEVCNjAzRUMwMEZBMjAzRUMwNEYyNDIzQUM2MEZCMDA1RAorOjEwOUJBMDAwQTZDMDBFOTAwM0U0MDBGQjAwM0NDMTBGOTAwM0UwMDA1MAorOjEwOUJCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGODAyQ0YwMDMzRTA4OAorOjEwOUJDMDAwMkNGMDEzQkMwMDJFMTBCMTY0MkVGMDAyM0MwMEZGMDJGQQorOjEwOUJEMDAwM0ZDMTRERUM2M0ZFMDBCNzAwM0JDMDBDRDgwM0MwNDQ0RQorOjEwOUJFMDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2QzI4ODE4MTIyRTAyOQorOjEwOUJGMDAwMEEzODAyM0MwNEJBQzkzMkUwMjA4NDAyMkMwMEJCMDBCRgorOjEwOUMwMDAwMkVDMDBCOUMwMkU3ODFCQjA0MjJDMDBBOTkwMkUwMDAyRgorOjEwOUMxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyODQwODg4MDIyODg5NQorOjEwOUMyMDAwMjhCQzQyQUMwMEJBMDAyQTgwMDg4NDAyQUMwMEJCMDAwOQorOjEwOUMzMDAwMkVDMDBCQjA4MkU4OTBBQjAwNjJDMDA4QjAxMkUwMDAwQQorOjEwOUM0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwMDAwODkwMDJBODA5NQorOjEwOUM1MDAwMjhCMjAyMEMwMEJBMDAyMEMwMDgwMDAyOEMwMEIzMDAzOQorOjEwOUM2MDAwMkNDMDBCMzAyMDRDMTRCMzAwMjBDMDA4MzAwMkMyMDFCRAorOjEwOUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2ODAwQzgwMEIyQzAzNQorOjEwOUM4MDAwMkNCMjAzQUMwMEZBMDAzQUMwNEVBNTAzQkMwMEZGMDBBMgorOjEwOUM5MDAwM0ZDMDA5QTAwM0U5MDRFRjAwQkFDMDBDQjAwMUMwMDE0NQorOjEwOUNBMDAwMTAwMDAwMDAwMDAwMDAwMEEwMTlGQzAwRjUwMDM1QzAwNQorOjEwOUNCMDAwQUYzNDAzRkMwMEY0MDAzOUMwMEZDMjAzN0MwMEZGMDE4NQorOjEwOUNDMDAwM0ZDMDBGRjAwM0ZDQTBGRjAwM0ZDMDBGRjAwM0U4MDUwQQorOjEwOUNEMDAwNjAwMDAwMDAwMDAwMDAwMEMwMDVGQzAwRkYyOTNEMjBERQorOjEwOUNFMDAwOEVDMTAzMzI0OERDODAyMzI1MEVGMjAzM0NDMERGODRBMgorOjEwOUNGMDAwMzNDOTBGRjIwM0ZDMDBDRjgwMzM0MDBDRjIwMzMwMDA3NQorOjEwOUQwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQ0MwQkI2MDJFMDg1NgorOjEwOUQxMDAwMDg4MTAyMjAwNDg4MjAyMDQ4MDhGMTgyMkRDMDgzMDA5OQorOjEwOUQyMDAwMjJENDA5RjUwMkZDMDg4QjAxMjI0MDI4QjQwMjIwMDQ0OQorOjEwOUQzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzIwQjMwOTJDODIxMAorOjEwOUQ0MDAwMDgxMDE2QTAxMDkwMDgyODQ4MEEzMjAyMEMwMEJCMDAyOAorOjEwOUQ1MDAwMkNDMDBCMzAwMkNDMDI5MzAxMjAwMDhBMzEyMkUyMDE5OAorOjEwOUQ2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzA0QkIwMDJDODA5NworOjEwOUQ3MDAwMDg4NjAyQTAyMEEwMDAyQTYwMEFCMDEwMkMwMEFCMENCQworOjEwOUQ4MDAwNkVDMDA5QjAwMkNDMDA5QjAwMjI2MDBBQjAwMkYwMDQ1MQorOjEwOUQ5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTVFQzAwQkIwMDNFMzQzNQorOjEwOURBMDAwMDhBMDBCODMwMEQ5MDIzQUUwMkVCMDBCMkMwMEY4ODBGQgorOjEwOURCMDAwM0VDMDRGQjAwM0VDMDBDQTQwQjI3MjBFQjAwQkMwMDRGQworOjEwOURDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQzEwRkIwMDNGMDAzQworOjEwOUREMDAwMERGODEzNzA0OERENDAzN0MyOERGMDAzREMwMEREQzg5QworOjEwOURFMDAwMTNDMDBGRjAwM0ZDMDBFRTQwN0Y0MDBENzAwMzM4MDBGRAorOjEwOURGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIwMTMyQzAxOQorOjEwOUUwMDAwMDQxMDAzMjA0MEU4MTAzQUMwMERCMDAzQUMwOEY4NDAzRAorOjEwOUUxMDAwQjJDMDJDQjAzM0E0ODJEQTQwQkE0MDBGQjAwM0QwMDRGMQorOjEwOUUyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzQzA4QkY4MDIyQzhEOAorOjEwOUUzMDAwMDhCNzAwMjM0NDg4RDAyMkQwMDg3MDgyRkMwMEIyRTAyQQorOjEwOUU0MDAwMDNGNDA4RjUwMjM3MDQ4QkQxMjI2MDRCRkQwMkYyMDBDNworOjEwOUU1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjMxMEE0NDBFQQorOjEwOUU2MDAwMDgwMDAyNDgwMEEwNDIyQUQwMDEzMDAyOEMwMEIzODBEMgorOjEwOUU3MDAwMkNDMDA5MzEwMkNDMDA4OTAwMjJFODAzMzgwMkY4MDAyNgorOjEwOUU4MDAwNTAwMDAwMDAwMDAwMDAwMDYwMDExRTAwQjc4MDI3NjQ0MQorOjEwOUU5MDAwNjg0QTAyNTIwMDhDODAyMUUwMDg3ODAyREUwMEI3ODAxOAorOjEwOUVBMDAwMkRFMjE5MzkwMjVFMzA4NTk4MjFFNDBCNzkwMkQ4MDA0MQorOjEwOUVCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwRjMyMDM0MDBCRgorOjEwOUVDMDAwMENCODAzNDg4MEUyMjIzOEMwMEQzMDAzOEMwMEYzMDA0OAorOjEwOUVEMDAwM0VDMDBEMzEwM0VDMDBDQjAwMzgwNjBGMzA4M0QyMDJCOAorOjEwOUVFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzAwRkYwMDNCMDExRQorOjEwOUVGMDAwMEZEMDAzOTAwMEY2MDAzRkMwMEZGNDAxRkMwMEZGMDFGQgorOjEwOUYwMDAwMzNDMjBFRjUxM0JDMDBFRDAwM0ZDNDBGRjAwM0QwMDZDMgorOjEwOUYxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFQzAwRkIwMDNDQzA1MQorOjEwOUYyMDAwMEVBMDAxNjQwMUQ4MDAzMkUwMkNCNTAzMkMwMEYyMDAzMQorOjEwOUYzMDAwN0FDMDBEQjQwMzJEODBDOTAyMzJDMDBDQjAwMzJBMDBEMAorOjEwOUY0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzgwQjcwMDJEQzA4OAorOjEwOUY1MDAwMEQ2MDAyRDAwMTg0MDAyMUMwMDgzMDAyMUQwMEI3MDA0RQorOjEwOUY2MDAwMjFDODBCRjQwMzFFQzA4NjAwMjFDMDA4N0MwMzUyMDRFNAorOjEwOUY3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RUMwQjc5MDJERTAwRgorOjEwOUY4MDAwMDg3ODA2RDYwMUI0ODIyMUUwMDg3ODBBMUUwMEI1QzAyMAorOjEwOUY5MDAwMjlFODA5NzgwMjM2QzE5NzgwMjhCMDBBN0EwMjMwMDA5MQorOjEwOUZBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQkIwMDJDRTBBMgorOjEwOUZCMDAwMDkzNTgyQzBDMUEwNTEyMEU0MDgzMDAyOEMwMEJCQzQyNgorOjEwOUZDMDAwMjBDMDBCMzAwMjA2MDA5MzE4QUFCMDJBMzAwQTUyMDRBRgorOjEwOUZEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRkEwMTNEQUNDOAorOjEwOUZFMDAwNENFQzEzNzgxMEY2ODBCMzkwMENBMDAzMjgwMEZFMDAxMAorOjEwOUZGMDAwM0E4MTBEQTAwRjJBODBERTA0M0JBMDBFQTAwMzNBMDQ5NAorOjEwQTAwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDAwRjgwMDNFMDA5MgorOjEwQTAxMDAwMEQ4MDAyRTEwMEQ4NDgzRTEyMEY4MDEzNjAwMEY4NjAwNgorOjEwQTAyMDAwM0UwMDA3ODAwM0EwMDJFODA0MjYwODA1ODAwMzkyMDA5MgorOjEwQTAzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRjkwNDNBNDA3RAorOjEwQTA0MDAwMEMxMjAzMjQ4MkM5MDAzNjQ0MEYxMDAzMjQwMEY5MDBDNworOjEwQTA1MDAwMzY0MDA0OTAwMzA0MDBDOTAwMTI0MDBDOTAwMzAyMDQyRgorOjEwQTA2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjk4MTIyNDAzQworOjEwQTA3MDAwMDg5MDFBMjQwMDg5MDAyMjY4MEI5OTAyMjQwMEI5MDA3NAorOjEwQTA4MDAwMjI0MDY4OTAwQTI0MDA4OTAwQTI0MDA4OTAwQTIwMDAxQgorOjEwQTA5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjkxMDIyRTBBNAorOjEwQTBBMDAwMDg5NDAwMDQwNDhCMDgyNkMwMEI5MDAyMjQwNEI5MEMwOQorOjEwQTBCMDAwMjQ0MDBBMTAwMjI0MDAyMzAyMkE0MEE4MTAwMjA2MDBBRAorOjEwQTBDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDkwQjEyMDIyNDA3RAorOjEwQTBEMDAwMDgxMjAyMEMxMDgxMDJBMDUwMEIxMjAyMDQ4MEIxMDU3QworOjEwQTBFMDAwMDA0ODBBMTAwMjA0QTBBMTAwMjg0QTA4MTIwMDAyMDEzOAorOjEwQTBGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjg1MEJBMTRFNAorOjEwQTEwMDAwMEM4NTAzMDE0MkM4NTAzNDAwMEY4NTAzMjE0MEY4MDAzQworOjEwQTExMDAwMzYwMDBFODAxMzIwODBFMDAwMUEwODBDMDAwMzJFMDM4NgorOjEwQTEyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDQ0RjkxMDNGNDA3QQorOjEwQTEzMDAwMkZEMTEzRjQwNEY1MDAzRjQwMEY5MTBCRTQ0MEZGMjhBQQorOjEwQTE0MDAwQkU0RTBEOTY4M0Q0QTJERDI4Mzc0QTBGOTM4M0U2MDZEMAorOjEwQTE1MDAwNzAwMDAwMDAwMDAwMDAwMDk4MDVFNDEwQ0QwMDNGNDBCMgorOjEwQTE2MDAwMEZEMDAzMzUwMjVEMDEzMTQ0MEZEMDAzMjQwMEY5MDAwNAorOjEwQTE3MDAwMzI2MDBDOTg4M0U2NDBEOTAwMzY2QTBDOUU4MzI2MDEzMworOjEwQTE4MDAwNjAwMDAwMDAwMDAwMDAwMDM4MTBFMDAwODgwMDJFMDA5MQorOjEwQTE5MDAwMEI4MDQyMDI4MDhBMDAyMjIwODg4MDAzMjAwOEI4ODIzNworOjEwQTFBMDAwMjIyMTA4ODg4MkUyNDI4OEE4MjIyMDA4Q0UwMjBFMDREQQorOjEwQTFCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAyODEwMDY4NDA3MworOjEwQTFDMDAwMEIxMDAyODQwMUI5MDAyMDQwNDkxMDBBMDQwMEI1MDhCMAorOjEwQTFEMDAwMjE0NjA4NTAwMkQ0MDA4RDIwMjU0QTBCNTAwMjQyMDEyRQorOjEwQTFFMDAwMzAwMDAwMDAwMDAwMDAwMDE4MTFBNDAwODkwNDZFNTQyMworOjEwQTFGMDAwMEIxMDEyQTQwMUE5MDBBMjQwMTg5MDE2MjQwMEI5MDA2NworOjEwQTIwMDAwMjM0MDE4RDAwMkY0MDA4RDQwMjE0QTBCRDAwMjQ2MDRBRQorOjEwQTIxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwQzkwMDNBNTBGMgorOjEwQTIyMDAwOEY5NjBCODQwMkYxMDEzMDQ4OEQ5MDAzMjQxMEY5MDBDMQorOjEwQTIzMDAwQjI0MDJDOTAwM0U2NDBEMUMwMzY1MDJGOTAwQjY4MDRGQQorOjEwQTI0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkwMDNFNjAzQQorOjEwQTI1MDAwMEY5OUMzNjQwMEQ5MjgzRTQwMEQ5MDAzQTQwMEY5NDAzMworOjEwQTI2MDAwM0U0MDBGOTAwM0U0MjBGOTQwM0U0MDBDOTAwMzhBMDBFQQorOjEwQTI3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRjgwMTM2MDA3NworOjEwQTI4MDAwOEY4MDAzRTAwMkY4MDQzMjAwMEQ4MDQzMjAwMkNDMDBFRQorOjEwQTI5MDAwM0YwMDBGQzAxMzkwMDJEQzQwM0YxMDRDQzAyMzBBMDQ2MworOjEwQTJBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwQkEwMDIyODBERAorOjEwQTJCMDAwMEJFODIwRjgwMDRFQzAyM0EwMDhBMDAzNjgwMDhBMDAyNQorOjEwQTJDMDAwMkU4MDFGQTAwMjJBMDY4QTAwMkVBMDAyNjAwMzBBMDAyOAorOjEwQTJEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU2QzAwQjMwMDIwQzAxMgorOjEwQTJFMDAwMEIzRDAyQzAwMzIzMDAyMEUwMDFCMDA2NEMwMDhCMDBCMAorOjEwQTJGMDAwMkVDMDRCMzAwMjhFMDg4MzgwMkNDNDAwMzQ4RTRBMDA1RQorOjEwQTMwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzgwQjU4MDYxQzA2QQorOjEwQTMxMDAwMEI0MDAyRDQwMDg0MDgyM0MyMDg1MDAyNUVDMDg0MDFBRQorOjEwQTMyMDAwMkQwMDhBMDgwMjEwMjQ4NDA4NkQwMDBBMDMxMjI4MDBGOAorOjEwQTMzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRjU4MjIxNjAxNworOjEwQTM0MDAwMEY3ODAzRDYwNEFFODAzMUUwMEQ1ODIzN0UwMEM2ODAxRQorOjEwQTM1MDAwMkRFMDBCNzgwMzhFMDBENzgyM0RGMDBDN0EwMzZBMDI2MQorOjEwQTM2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRjEwMEJBRDg5OQorOjEwQTM3MDAwMEY4MDAzRTQxMkY4MDBCRTgwMEUxMDAzRUMwMEY5MDAxOQorOjEwQTM4MDAwM0UwMDVGODAwM0UwMDhGODA0M0MwMDBGODAwM0MyMDYzMworOjEwQTM5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMDVGRTIwRkY4MDNGRjA0QworOjEwQTNBMDAwMEZGODAzRDIwMEVGODRCMzYxMENCOTAzRkUwMEZGODAwNQorOjEwQTNCMDAwMzNFMDBDRjgxMzIyMTFDRDkwM0Y2MDBDRTgwMzEwMDAzRAorOjEwQTNDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwRjUwMDJEQzBFNgorOjEwQTNEMDAwMEIwMDAyRDQwNDg0MjAyMzQwMDg1QTAyREMwMEI0MDA5RAorOjEwQTNFMDAwMjEwMDI4QzIwMjFFMDQ4NjA0MkQ4ODA4RDAwMjJBMDRGNworOjEwQTNGMDAwNjAwMDAwMDAwMDAwMDAwMDEwMDA5QzAwQjUwMDJENDAyRgorOjEwQTQwMDAwMEI3MDAyRjQyMEE3MDQyMUMwMEE1MDAyREMwMEJFMDAzOQorOjEwQTQxMDAwMjFDMDA4NzAxMjAwMDA4NTAwMkQ0MDg4NjgwQTA0MDBFMQorOjEwQTQyMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRDQzAwQTEwMDJFQzAzRAorOjEwQTQzMDAwMUIwODA2QzQyMDgwMDAyMDk4MUExMDAyQ0MwMEIxMDgyNgorOjEwQTQ0MDAwMjAwMDA4MDAwMjBDMDE4MkMwMkNBQzI4OTAyMjE4MDRDNQorOjEwQTQ1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwQjMwMDNFNDAyMgorOjEwQTQ2MDAwMEZCQTAzRTUwMkU5MDQzMjkwQUVCMDAzRkMxMEZCNDBFMgorOjEwQTQ3MDAwQjIwMDBDODAwQjJDMDI4MjE4M0ZBMDBDRDAwMzJFMDREQgorOjEwQTQ4MDAwNjAwMDAwMDAwMDAwMDAwMDkwMDBFQzA0RkIwMTNFNDA3MgorOjEwQTQ5MDAwMEZCNjQzRTQwMEY4MDAzRTgwMDE5MDAzRUMwMEY4ODEyMQorOjEwQTRBMDAwM0VEMDBEQjQ1M0UwMDBGOTQwM0U0MDBGQTAwM0UwMDA2MQorOjEwQTRCMDAwMzAwMDAwMDAwMDAwMDAwMDgwMTBEQzAyQ0Q4MDMzNjAxRQorOjEwQTRDMDAwMkNEQTAzRkMwMEVDMDAzMzQwMEZGMjAzN0MwNEZFMDBBNgorOjEwQTREMDAwMzIwMDBDQzgwMzNDMDBDRTAwMzE4MDBDRDEwMzI0MDRCMAorOjEwQTRFMDAwMzAwMDAwMDAwMDAwMDAwMDkxMDQ2QzAwMDkwMDJBNjRBNAorOjEwQTRGMDAwMDg4RTAyQzIxMEEwMTAzRTEwMEI5ODAyRUMwMEI5MDBBQQorOjEwQTUwMDAwMDJEODA4QkUyMjIwMDA4OTAwMjI1MDA4QTAwMjIwNDA2NAorOjEwQTUxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwMEIyMDIyNDBFRAorOjEwQTUyMDAwMDhBMDAyRTU0MkFCMDQyMjE4MEJCMDAyNkMwMEIzMDA5NQorOjEwQTUzMDAwMjAwNDA4MDEwMjAwMDRBODQwMjIxMDA4ODAwMjIwMDAyNAorOjEwQTU0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzA4ODMwMDI4NDBDMAorOjEwQTU1MDAwMDgwNDAyQzQwMkE4MDAyQzAwMEIxMjAyQ0MwMEIwMDBCOAorOjEwQTU2MDAwMjBDMDQwMzAwMjBDMDA4QjAwQThDMDA4MzAwMjAyMTE0RAorOjEwQTU3MDAwMDAwMDAwMDAwMDAwMDAwMDgwMEQ2QzAwQzkwMDMzNDBBNgorOjEwQTU4MDAwMENCMDAzRUMwMkVCMDAzMjQwMEZCMDAzNkMwMEZBMDA5OQorOjEwQTU5MDAwMzIwMDBDODAwMzIwODBDODAwMzAwMDBDODAwMzIwMDNCMAorOjEwQTVBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlGQzAwRkQwMDNGNDAyQQorOjEwQTVCMDAwMEZDMjEzRjAwMEY0MDAzRjAwNEZENDAzRkMwMEY1MDA3RAorOjEwQTVDMDAwM0ZDMDhGRjAwM0ZDNDBGRjAwMzdDMDJGRjAwM0U4MDZDOAorOjEwQTVEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMDAwQ0MwMDMzMDA1NworOjEwQTVFMDAwMEVEMDBCMzMwMENDMDAzM0UwMEZDMDgzN0MwMENGMjBCMworOjEwQTVGMDAwN0IwOThDRjgwM0ZFNTBDRjM4M0ZFMTBEQzIwM0YwMDAxOQorOjEwQTYwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMjAwOTgwODIwODAyOAorOjEwQTYxMDAwMDg5ODAyMjAwMDg4RDAyMkUwMEVCNDIyN0QxOTlGNjk5QworOjEwQTYyMDAwMkU5MDA4MzA5MjI4ODFEQjY0MkVFMTg4MTZBMkUwMDQ4NworOjEwQTYzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDODAwOTAyNDIwMDFDMAorOjEwQTY0MDAwMDgxMDE2MDA4MjgzMDEyOEMxMEIwMjgyMENFMEEzMTBCRgorOjEwQTY1MDAwMjgwRTFCOTIwMjg0ODQ5MzIwMkVDMDA4MzEwMkUyMDE0RQorOjEwQTY2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBODEwOTgwMDIyODBCMworOjEwQTY3MDAwMDg5MDAyMDA2MDhBMTAyQUMwMEEyMDAyNkMxOEJCMDBGMQorOjEwQTY4MDAwNkU2MDJCOTAwMjQ2MjA4QjAwMkVDMjA4QjE4MkYwMDQyRgorOjEwQTY5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTFFNDAyQ0IwMEIyNDA2NgorOjEwQTZBMDAwMkM5MjAzMjcwMDg4MDBCQUMwMEY4ODAzMkMwMEVCMDQwQgorOjEwQTZCMDAwM0FBMENGMkNBM0VEMDA5QjAwM0NGMDJEOEMzM0QwMDRBRQorOjEwQTZDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNDA0RUYwMDNGQzA5MworOjEwQTZEMDAwMEQ1MTAzRjAwMEYxODEzN0MwMEVGNDAzOUMxMENGMDA0MAorOjEwQTZFMDAwM0Q4MDBDRUMwN0I4MDhGRjAyMUZDNDBGQzgwM0Y4MDAzOAorOjEwQTZGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTA5RTAwQzMwMDM4NDBEMQorOjEwQTcwMDAwMEM5MjAzQTQ4MEZCMjAzQUMwMEQ5NDAzMkM0MEZCMDA2NAorOjEwQTcxMDAwM0UwMTBGODAwM0U1MDBFQjAwM0FDMDBEODQwQjEwMDRFRQorOjEwQTcyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzA4OEIwMjIyQzA5OQorOjEwQTczMDAwMDg5MjAzMjEwMDhCNDgyMkMwMEJCNzAyM0Q0MDNGMDEyNQorOjEwQTc0MDAwMjI3NDBCOTAwMjI4MDRCRjAwQjJDMDBCODUwMjMyMDBCNQorOjEwQTc1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0MDAxODAwMDI4MDBFQgorOjEwQTc2MDAwMDgyQzEyODg0MEIwNDAwOEMwMEIxODAyMEUwMEIzMDAzRAorOjEwQTc3MDAwMjgyMDExMzAwMjBDMDBCMzAwMjQwMDA5MDAwNjM4MDAyNAorOjEwQTc4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExMjAwODQ4MDIxQTA4MQorOjEwQTc5MDAwMjg2ODEyM0EwMDg0ODAyNUUwOEI1ODAyMUU0MEI3ODI1OAorOjEwQTdBMDAwMjFBNjBCNzgwMjFBMDBCNzgwMjEyMDBCNTgwMjA4MDA1RQorOjEwQTdCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODAwQzgyMTM4MDlENworOjEwQTdDMDAwMEMyODAzODAwMUYxMDAzOEMwMEQ4NTAyMEMwMEZCMDA0RAorOjEwQTdEMDAwMzg4NTBGMTAwMzhDMDBFQjEwM0NDODBEMzAwMzEyMDJCQgorOjEwQTdFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUQ5ODAwRkMwMTNGODBCOAorOjEwQTdGMDAwMEY2ODAzRDA0MEZDMDAzQkMwMERDMDAzRkMyMEZGMDBFRAorOjEwQTgwMDAwM0JDNTBGRjAwQkI0NDBGRjE4M0YwMDBGRjEwM0QwMDYxQgorOjEwQTgxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFNDAwRUIwMEIwNDE2QgorOjEwQTgyMDAwMENBMDAzRTAwNENBMDRCMEUwMEVCMDAzRUM4MENCMjAxRgorOjEwQTgzMDAwMzI4MTBDQTAwM0VFMDBEQjAwM0UwMDBFQjAwMzJBMDBDNAorOjEwQTg0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDA0ODcwMDIxQzAzRgorOjEwQTg1MDAwNDg2MDAyRjAwMDg3MDAyMUMwMDg3MDAyRkNBMDgzMjgzNQorOjEwQTg2MDAwQTM4MDA4NjAwMkRDMDA4NzIwMkRDMDBCNzAwMjEyMDQ1OAorOjEwQTg3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5QzAyQTM4MDIxNjA3NgorOjEwQTg4MDAwMDg2ODAyRDIwMDg3ODAyMUUwMjk3ODAyREU4MDg3OTA2NAorOjEwQTg5MDAwMjFBMDE5NDgwMkZFMDA5NzgwMkRFMDBBMzg4MjMwMDA3RQorOjEwQThBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAxODM4MDIwQzA3QworOjEwQThCMDAwMDgyMDQyQzAzMDgzNzBBMEMwODkzNDAyQ0MwMjgzMDBEQgorOjEwQThDMDAwNjBDMDI5MDAwMkNFMDA4MzAwMkNDODBCQkMwMjEyMDQxOQorOjEwQThEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBOTAwRUFFMjMyOTAxNAorOjEwQThFMDAwMkNFMDAzRkIwMkNFQzAzMjgwMEZFNDAzRTgwMDhBMDBCNAorOjEwQThGMDAwMzM4ODBENjRDM0ZBMDBEQTAwM0Q5MDBFRTAwQjNBMDQ5MQorOjEwQTkwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBDMDI0RjgwODNFMTI2QgorOjEwQTkxMDAwMEZDMDAzRTA0OEYwMDAzRTAwMEU4MDkzQzAwMEY4MDAzNgorOjEwQTkyMDAwN0UwMTBFODBDMkUwNDBGODAwN0UwMDhGODQwM0QyMDBEQQorOjEwQTkzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNTAwQzEwMTMyNDhBRQorOjEwQTk0MDAwMEM5ODAzRTY0MEM5MDAzMjQwMEY5MDAzNjYwMEM5MDAyRQorOjEwQTk1MDAwMTg2MTBDOTAwMzY0MjBGOTA1M0U0MDBDOTA4MzAyMDRCQQorOjEwQTk2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NjIwODkwMDIwNTJCMgorOjEwQTk3MDAwMjgxMEMyMjYwMkE5MDAyMjQwMEI5MDBBMjcwMEE5MDAzNQorOjEwQTk4MDAwMjI3MDA4OTAwMjI0MDhCOTAwMkU0MDBBOTAwQTIwMDA4NAorOjEwQTk5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAyOEQwMDIzNDA3NAorOjEwQTlBMDAwMDhEMTAyODQyMDg5MDAyMjYwMEIxMUYyMjRCMDgxMDBCQQorOjEwQTlCMDAwMkE0NjA4OTA0MjY0MDhCOTAwMkU0MDA4OTIwMjA2MDAxOAorOjEwQTlDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQxNDgwODUyMDIzNDg5NworOjEwQTlEMDAwMDg1MjAyODQwODgxMDAyMDQwMEIxMjAyMDQ4MEExMjA0QQorOjEwQTlFMDAwMjg0OTI4OTAwMjA0MDAzMTIwMkU0MDA4MzIwMjAyMDEzQQorOjEwQTlGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwQzg1MEIyMTQ1NAorOjEwQUEwMDAwMENDMDAzQTE0MEM4MDBCMjAwMDc4NTAzMjE0MEM4NTAxNAorOjEwQUExMDAwM0ExNTBDODUwMzYxNDBGODUxM0UwMDJDODUwMzJFMDM0NgorOjEwQUEyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURDNDQ4RjkxMDNFNDQ4QQorOjEwQUEzMDAwNEY5MTAzNzQwMEY1NDQzRTQwMEZEMTAzRTQ0MEY5MTBGOAorOjEwQUE0MDAwMzc0NDBGRDAwM0Q0MDBGOTEwM0ZDMDBGRDEwM0U2MDZGRQorOjEwQUE1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVGNkEwREQ4QzMzNzhBRgorOjEwQUE2MDAwMEVEQTAzMzUwMENEQTAzMzQwMERGODBCMzY4MUU5ODBCNgorOjEwQUE3MDAwMzM3MDBDOTEwM0U0NDBGOUMwM0VDMDBGREMwM0M2MDAwNAorOjEwQUE4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTA0Qjg0MDIwM0NENQorOjEwQUE5MDAwMEM4NTAyMDI4NDhBNDAyMjAwMDg4RjgyMjMwMEI4RThENQorOjEwQUFBMDAwMjIyMDA4ODgwMkUyMDBCOEQwMkUwMDBCOEMwMkNFMDRDRgorOjEwQUFCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwOTEwMDYwNDg1QworOjEwQUFDMDAwNEIxMDAyMDQ4QTgxNDA2MDQwNDkxMDAyOERBMEExNDFEMAorOjEwQUFEMDAwMjA1MDA5MTIyMkM0ODBCMTIwMkM0MDRCM0UwMkMyMDFGQQorOjEwQUFFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDA4QjkwNEEwNDA4MAorOjEwQUFGMDAwNDhCMDAyMjQwMDg5MDA4MjQwMDg5MEE2QTQwMEI5MDQ0RQorOjEwQUIwMDAwMjI1NDI5OTUwMkU1NDBCOTAwNkU0MDBCOTIwMkM2MDQxQQorOjEwQUIxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMDVFNDAwOTEwMDMyNDA0OQorOjEwQUIyMDAwMEY5MDA5MjQwMDg5OTAzMjQwMEQ5NDAzQTQwMEU5MDI5QgorOjEwQUIzMDAwNzI2MDBEOTQwM0U0MDFGOTAxM0U2MDBGOTAwM0U4MDQ5NAorOjEwQUI0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDQwRjkwMDNFNDAxMQorOjEwQUI1MDAwNEY5MDAzRTcxMEY5ODAzRTQwMEYxMDEzNjQwMEYxMDA5RQorOjEwQUI2MDAwQkU0MDBFOTAwM0U2MDhGOTAxM0U2NDBGOTAwM0NBMDA1MAorOjEwQUI3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MDBBMDAwRjgwMDMyMDg3QgorOjEwQUI4MDAwMEMwMTBCMjA0MEM4NDAzMjAwMEU4NDgzMjAwMEY4MDRFMgorOjEwQUI5MDAwM0UwNDBGODAwMzIxMDBFODAwM0UxMDBGODgwM0NBMDQyMgorOjEwQUJBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzODAwM0UwNDIzODAzQgorOjEwQUJCMDAwMDhFQzEyMzk0NEE2MDAyODgxMDhFMDAwMzgwOEJBMDBFMQorOjEwQUJDMDAwM0Y4MDBCQTAwMkE4MDA4QTAyMkU4MDBCRTAwMkNBMDA4MAorOjEwQUJEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0ODAwMzEwMDI0RDA5QgorOjEwQUJFMDAwMDgzRTEyQUUwODgxQTAyQ0MwMEEzODAwNEMwMEIzMDAwOQorOjEwQUJGMDAwNkVDMDBBMzAwMjBDMDBBMzAwNkNDMDBCMzAwMkNBMDAwOQorOjEwQUMwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExODAwQjUxMDI1QzA5MQorOjEwQUMxMDAwMjg2MDEyOTAxMEE1MDgyREMyMDg2NDIyNTgxOEI3MDBBOQorOjEwQUMyMDAwMkQ4MDBCNzkwMkJFQzA4NzAxNkRDMDBCNjAwMkU4MDA2OQorOjEwQUMzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRjU4NDM1MjAzOAorOjEwQUM0MDAwOEMxODAyOTIxMEM1ODAzRDYwMEVDODBCNUEwODc3RjMyRAorOjEwQUM1MDAwM0RBMDBGRjgwMzFFQjBFNzg1M0RFMDBGNzgwM0VBMDI0MAorOjEwQUM2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRjEwNEJBMDE2MworOjEwQUM3MDAwMEZBMDQzNjAwOUUxMDAzODQwMEVBMDAzQTgxNEZCMjA5OAorOjEwQUM4MDAwM0E4MDBGQjQxQjRDODBGQjI5M0VDMDBGQjAyM0MyMDY5NAorOjEwQUM5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGQTAwQ0Q4MDNCRTBFRAorOjEwQUNBMDAwNEVGODAzRjIwMkQ0ODEzQkUwOEU5ODA3M0U0NEVGOTFDOAorOjEwQUNCMDAwM0ZFMDRGRkMwN0VFRDBDRjk4MzNFNDBGRjgwM0MwMDAxRAorOjEwQUNDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MDE5ODAwODUxMDJEQzQ0RAorOjEwQUNEMDAwMEQxMTAyRjAwMDg1MjAzMUM0MEI3QjAwMzg0MEQ3MTBFNQorOjEwQUNFMDAwMkQ4MDBCNzA2MkZFRTE4NzE0MzlDMDBCNjAwMkVBMDQwQworOjEwQUNGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMTBCQzQwQTUwMDI5NDBEQQorOjEwQUQwMDAwMEI1MDgyREM0MDg0MDQyREMwMEIxMDA2NTg0NEE3MTA2MQorOjEwQUQxMDAwMkQ4MDBCNzEwMkRDMDA4NzA0MjFDMjBCNTAwMkMwMTA5MQorOjEwQUQyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzBBQTEwMTJDNDBFQgorOjEwQUQzMDAwODkxODAyQzEwMEExMDgyMEMwMEIzNDA2NDAwMDkzMDUwOQorOjEwQUQ0MDAwMkMxNDBCM0M4NkNFMTA4MzAxMjhGMTBCMTQwMkM4MDQ4RQorOjEwQUQ1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBMDAwRUQwMDNBQzA3RgorOjEwQUQ2MDAwMDdCQzYzRUQwMDgxNDAzRUMwMEU4ODAzNjQwMEVGMDAyNQorOjEwQUQ3MDAwN0U1MDBGRjAwMkZENDJDRjAwNzJDMDFGQjQwM0VBMDQwMAorOjEwQUQ4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFODAwOTkwMDNFRTA0NAorOjEwQUQ5MDAwNEZCNDgzRUQ5MDA5NDAzRUMwMEZBMTgzQTgwMUVCMDFBMQorOjEwQURBMDAwM0UwMDBGQjExM0VDMENGQjAwM0FDMDVGMjAyM0UwMDAyMworOjEwQURCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGODAwRkQwNDNGQjA2QQorOjEwQURDMDAwMEQ2MDAzM0UwMENEMDAzM0YwMEZGMjAxRjAwMEZGMDNGMQorOjEwQUREMDAwM0YwMzBGRjAwMUZDMDBGQjAyMzNDMjBGRjBFMzAwNDQxRAorOjEwQURFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QTAwQjkwMjJFQTBCQgorOjEwQURGMDAwNEFBQzAyMEU4MEY5QzAzNkUxMEJBMDAyMkEwOEJCMDA2MworOjEwQUUwMDAwMkUyMDBFQjAwMkVDMDBFQjAwMjJDMDhCQjAwMjIwNDBERQorOjEwQUUxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDEyMzAwQTkwMDI4QzBFRAorOjEwQUUyMDAwMDlCMjIyNkM0MDg5ODkyQUMwMEIxNDA2MjYwMEFCMDJBNQorOjEwQUUzMDAwNkVFMDA5QjAwNjZDMDBCMzAyMjJDMDBCQjAwMjIwMDAyNQorOjEwQUU0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwODAwQjEwMDJDQzAxMQorOjEwQUU1MDAwMEEzMDAyMkMwMEJCMDA2NEMwMEIzMjBBMDgwMDMzMDAyOQorOjEwQUU2MDAwNkM4MDAyMzA0NkNDMThBMzAwMjBDMDBCMjgwMjAyMTFDRgorOjEwQUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2ODAwRTkwMDM4QzE4MworOjEwQUU4MDAwMERCMTBCMkMwMDg5MDAzQUMwMEI5MDAzNjAwMEZGMDI0QgorOjEwQUU5MDAwM0U4MDBGRjAwM0ZDODBGRjAwMzJDMDhGODAwQjAwMDM2OAorOjEwQUVBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTFEODAwRkQwNDNGQzBDOQorOjEwQUVCMDAwMkZGMjAzRkMxMUVGMDAzRkMwMEZGNDQzNzAwMEZGMDBCRQorOjEwQUVDMDAwM0YwMDQ2RjAwM0ZEMDBFRjAwM0ZDMDBGQzAwM0U4MDY1RgorOjEwQUVEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGRTAwRkY4MDNERTBBMworOjEwQUVFMDAwMENGOTEzREUwMDdGODBCM0UwMEZGQzAzQkU0MENGODA3RgorOjEwQUVGMDAwMzNGMDBGRjgwMzdDMDRDQzgwMzNBMDBDRjAwQjMwMDE0RQorOjEwQUYwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMDIwODgwMDJFMjA2QgorOjEwQUYxMDAwMDg4MjEyRTA4MEE4ODEyMjAyMEI4MDAyMjA4MEE4ODA5MworOjEwQUYyMDAwMjIwODBCODAwMjJDMDI4ODA0QUEyMDA4QjAwMjIwMDQwOAorOjEwQUYzMDAwMjAwMDAwMDAwMDAwMDAwMDg4MDVFQzAwQTMwODJDODAyMQorOjEwQUY0MDAwMDgzMjAyQzQyMEEzMDAyODQwMEI5MjAyODQwMEE5MDEwOQorOjEwQUY1MDAwMjhDODFCMTI4MkNDNDBBODAwMjRFMDBBMzA0MjIyMDFGQgorOjEwQUY2MDAwMzAwMDAwMDAwMDAwMDAwMEMwMTFBODgwQTgwMjJFNDBBMAorOjEwQUY3MDAwNjg4MDEwQzgwMEI4NDAyQTkwMEJBMDAwMjgwMEFBMDhEQQorOjEwQUY4MDAwMkEwMjAzMjAwMjhDMDBBODg4MkUyMDBBQjAwMjMwMDQ3NgorOjEwQUY5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFODA0RkEwMDNDNDA5QQorOjEwQUZBMDAwMENBMDAzRTgwMEVCMDAzQUMwMEYyMDUzQTgwMEUzNDBEOAorOjEwQUZCMDAwMkE0MDBGQTAwMzZDMDBBODgwMzQyMDFFQjAwMzEwMDRBOAorOjEwQUZDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNDAwOUQ5MTNGODA4RgorOjEwQUZEMDAwMEZEQTIzRjQwMENDMjAzNzAwMDdEMDEzNzQwMEJDMDAzNAorOjEwQUZFMDAwQjc4MDBCRDA0MzdDMDBEQzA0M0IwMDZERjAwM0Y4MDAxRAorOjEwQUZGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBODAwRkE4MDNBMDA0NQorOjEwQjAwMDAwMkNBMDBCMjAwMkNCNjIzRTUwMEU4ODAzMjAwMEQ5MTBFQQorOjEwQjAxMDAwM0U3MDhDODAzM0VDODBEODQwM0EwMjBEQjAwMzEwMDRBRgorOjEwQjAyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDEwQzAwMzk4MDIyQzA5MAorOjEwQjAzMDAwMEM5RDgyMkMxMEQwNDAyRUEwMDhCODAzNEUwMjhBNDBFRQorOjEwQjA0MDAwMEVBMDBEQjAwMzNEMDBEMDkwMzYxMDBCRjAwMkIyMDAwMAorOjEwQjA1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjEwMDYwQzBBRQorOjEwQjA2MDAwOEExODAyOEMwODgwNDAwQ0EwMDIzMDAyQ0UwMDgyNDg3MAorOjEwQjA3MDAwMkM4MDJCMzAwNjhDMDA4MTAyMjA5MDA5QjAwMjM4MDAxMQorOjEwQjA4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExMjAwQjY5MEEzMzAyNAorOjEwQjA5MDAwMDhFODIyQjIxNDg3ODAyRDYwMDg0OTEyMTI2MTk1OTA0OQorOjEwQjBBMDAwMkQ2MTBBNDgxNjFFODA5NTgwMjUyMDBCNzgwMjg4MDBBNQorOjEwQjBCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwRjEwMDI4OEM0RgorOjEwQjBDMDAwOEUxMDAzODQ4MDgwMDAyQzAyMEE5QTAyRTQwMEQwMDBEMworOjEwQjBEMDAwM0U4MDBCOTEwMzhFODBDMjA4Mzg4MDBEQjAwMzEyMDJBRgorOjEwQjBFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCMDAwRjYwMDNGNDREQQorOjEwQjBGMDAwMEYyMTEzNzgwMEZGMDAzREMwMEZFMDAzNzgwMEVGMDQzQworOjEwQjEwMDAwM0Y0MDhERTgwM0RDMDRGNjAwM0YwMDBGRjA4M0QwMDZEQgorOjEwQjExMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFODAwRTg4MDMyNDA2MAorOjEwQjEyMDAwMEY4ODBCMjgwMDc4MDIzRTgwMEUyODAzMjgwMENBODA3MgorOjEwQjEzMDAwMzIwMDBGQTAwM0VDMDBDOTgwMzI4MDBGQjAwMzJBMDA1OAorOjEwQjE0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE4QzAwOEYwMEExODBGQQorOjEwQjE1MDAwMEI3MDQyMTQwMEI3MDAyRDQxMEI1MDQyMTQwMEE1MDBBMworOjEwQjE2MDAwQTFDMDBCNTAwMkZDODBBNTAwMjEwMDBCRjIwMjEyMDRDQQorOjEwQjE3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDBCQTAwQTQ4MDI5MzA3OAorOjEwQjE4MDAwNEI0ODA2NTIwOEI0ODAyRDIwMEI0ODQyMzIwMDg0ODA4MAorOjEwQjE5MDAwMjEyMDBCNDgxMkRFNDA4NjgxMjlBMDBCNzgwQTMwMDA1RQorOjEwQjFBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwODMwNTIwRTBDRgorOjEwQjFCMDAwMEIzNDAyNkMxMEIzMDAyQ0MwMEIzNjRBMEQwREEzMDBFQgorOjEwQjFDMDAwMjBDMDBCMzQ4MkNDMDJBMjAwMjgwMDBCMzAwMjEyMDRGMworOjEwQjFEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBOTIwRUE0MDMwQTA3RgorOjEwQjFFMDAwMDdBMDQzNjk0MEZBMDAzQzgwMEZBMDAzMDg0MENBMDA1MgorOjEwQjFGMDAwMzBBMDBGQTQwM0U4MDBDRTAwM0I5ODBGQTAwMzNBMDQ1MAorOjEwQjIwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBEMjAwRkMwODNGMDA4MQorOjEwQjIxMDAwMEJDMjAzQjAwMEZDMDAzRjAwMEZDMDAzRjAwMEZDMDBCNQorOjEwQjIyMDAwM0YwNDBGQzAwM0UwMDBGODAwQjYwMjBGODAwM0QyMDAxNQorOjEwQjIzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRDkwMDNFNjg2MworOjEwQjI0MDAwNEM5MTAxRTQwOEM5MDAzRTQwMkM5MjAzRTQwMkM5QTBERAorOjEwQjI1MDAwM0U3MDBFOTAwM0M2NDJDOTAwM0U0MDBGMTAwMzAyMDQyOAorOjEwQjI2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODk4NjBFNjA0OQorOjEwQjI3MDAwMDg5ODAyRTQwODg5MTAyRTYwMDg5MDAyRTQwMDg5MEMwNgorOjEwQjI4MDAwMkU2MDA4OTAwMkU2ODg4OTAwMkU0MDBCOTAwMkEwMDBGNAorOjEwQjI5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwOUQxMDJGNDA0MQorOjEwQjJBMDAwMjhEMDA2RjQwMkFEMDAyRjYwMDhEMDAyRjQwMDhEMDAxMworOjEwQjJCMDAwMkY0MDBBRDAwMkU0MDA4OTAwMkU2MDBCOTAwMjA2MDBBNQorOjEwQjJDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQzNDAwODUwMDJENDAwQworOjEwQjJEMDAwMDg1ODAyRDQwMEE1MDIyRDQwMDg1MDAwRDQwMDg1MDA3MworOjEwQjJFMDAwMkQ0MDA4NTQwMkM0ODA4MTAwMkM2MDBCMTQwMjgyMDE5RQorOjEwQjJGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRDg1MjNFMDA4MAorOjEwQjMwMDAwMEMwNTAzRTE0MEU4MDQzRTE0MEM4NTAzRTE0MEM4MDA0RAorOjEwQjMxMDAwM0UxNDBFQzAwM0UwMDBDMDAyM0UwMDRGODAyMzJFMDMwNworOjEwQjMyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDAwRjkwMTNFNDBBQworOjEwQjMzMDAwNEY5MDEzRTQwMEQ5MDAxRTQwMEY5MDAzQzQxMEYxMDA5OQorOjEwQjM0MDAwMUU0MDBGOTAwM0U0RTBGRDI4M0Y0MDBGOTQwM0U2MDYwMworOjEwQjM1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVBNDAwRkQwMDNGNDA0MAorOjEwQjM2MDAwNEQ1MDAyRTQwMDk1MDQzMzQwMjhEMDAzRjQwMEZEMDA2MgorOjEwQjM3MDAwMzM0MDBGOTEwMzM0MDBDRDQwMzM0MDBGOTg4MTA2MDBENQorOjEwQjM4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDEwQjgwMDJFMDAyRgorOjEwQjM5MDAwMEI4MDAyRTAxMEI4MDAyMjAwMDg4MDAyRTAwMEI4MDAzNAorOjEwQjNBMDAwMjIwMDBCODgwM0MyODA4ODgwMjIwMDBCOEMwMjBFMDRDRQorOjEwQjNCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDRDNDAwQjEwMDJDQzBGMAorOjEwQjNDMDAwMEIxMDAyQzQwMEJCMDAyMjQwMDgxMDAyQzQwMUI5MDBFNworOjEwQjNEMDAwMjA0MDFCOTAwMjA0MjI4OTAwMjA2MDBCMTI4MjAyMDE4RgorOjEwQjNFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDQ0QjkwMDJFQzAzMQorOjEwQjNGMDAwNEI5MDAyRTQxMEI5MDIwMjQwMDg5MTQyRTQwMEI5ODA4NworOjEwQjQwMDAwMjI0MDBCOTIwMkM0MDA5OTQwMjI0MDRCOTAxMjA2MDQ0NQorOjEwQjQxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNjAwQjkwMTNFNThFMQorOjEwQjQyMDAwMEQ5MDAzRTYwMEQxMDAzMjYwMEM5ODAyRTY0MEY5MDA2RQorOjEwQjQzMDAwQjI0MDBGMTgwMzI0MDBDOTgwMzI1MDBGOTAyMzI4MDQxMworOjEwQjQ0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkwMDNFNDI0NgorOjEwQjQ1MDAwMEI5MDAzRTcwOEY5MDBCRTQ4MEY5MDAzRTQwMEY5MDBFMQorOjEwQjQ2MDAwM0U0MDBGOTgwM0E0MDBFOUEwQkU0MDBGMTAwQjRBMDAxNQorOjEwQjQ3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRDgwMTNFMDA3RAorOjEwQjQ4MDAwMEY4MDhCMjAwMEY4MjAzRTAxMEY4MTAzRTAwMEY4MDhCOAorOjEwQjQ5MDAwM0EwMDBDODAwM0UwMDBEODQwMzIwMDBGODAxMzBBMDQwOQorOjEwQjRBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEE4MDJGOTE1RAorOjEwQjRCMDAwMEJFRTAyMjgwMUJFMDAyMDgwMEJBMDAyRUE4MEI2NDhGNQorOjEwQjRDMDAwMjI4MDBEQTAwMkZBMDI4NjQxQTNBNjBCQTAwMzBBMDA2NworOjEwQjREMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTM4MDJDQzBCNAorOjEwQjRFMDAwMEIzMDAyMEMxMEIzMDAyOEMwMEIzODAyQ0MwMEIzMDBBNAorOjEwQjRGMDAwMjhDMDA5MzAwMkM2MDE4MzYwMjA3MDBCMzAwQTRBMDA2MAorOjEwQjUwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDEyRTg4ODUwODJEODA1QQorOjEwQjUxMDAwNEJGODA2MUM4MEI3MDAyMUMwMEI1MDAyRDQwMEI2MDBDNworOjEwQjUyMDAwMjk2MDA5NzAwMkQwQTA4RDAwMjE0MDBCMzIwMjI4MDA1MgorOjEwQjUzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRDU4MDNERTA4QgorOjEwQjU0MDAwOEY3ODAzMUU4NEI3ODIzRDYwMEY1OTAzREUwMEY3ODBCOQorOjEwQjU1MDAwMjk2MDE1NzgwM0RFMDBDNzgwMzE2MDBGN0MwMzZBMDIyMgorOjEwQjU2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzQwRTkwMDNFODAyMworOjEwQjU3MDAwMEZBMDAzRUQzMEZCMDAzNkMxMEY5NjAzRTQwMEIzMDBDQgorOjEwQjU4MDAwMzQ0MDBGQjc4M0VDNDAyMTAwM0U0MDBGQjAwM0MyMDZBOQorOjEwQjU5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwRkY4MTMzRTBCNQorOjEwQjVBMDAwMEZGOTAzREUyMENGODEzRkUwMDc3ODAzM0UwMEZGODBFNAorOjEwQjVCMDAwM0ZFMDA0RjgxM0ZFMDJERTgwMzM2MDBGRjgwMzAwMDA2MgorOjEwQjVDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQjcwMDIxQzQxQQorOjEwQjVEMDAwMEI1QTAyREM0ODg2NTAyREMwMEIzMTAyOTQ2MEI0MTgxRgorOjEwQjVFMDAwMkQ0MDQ4NzAwMkU4MDBBNTEwMjE0MDBCNzEwMjJBMDQ4QQorOjEwQjVGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQkQwMDIxNDIyRgorOjEwQjYwMDAwMEI3MDAyRkMwMjg1MDAyNTQwMEI1MDAyOUMwMEI3MDAyNQorOjEwQjYxMDAwMkY0MDI4NzEwMkRDMDBBNjAwMjFDMDBCNzAwMjAwMDA0MAorOjEwQjYyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTQ2RDgwQjEyMEEwNTAxOAorOjEwQjYzMDAwMEJCMjA2Q0UwMEEwMzQyRUYwMEIxODAyODUyMEIzNEFDMAorOjEwQjY0MDAwMkM1NDg4MzgwMkNDMTBBMTAwMjBCMDBCMzAwMjA4MDQyMgorOjEwQjY1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCRTgwRjMwODEwNTQ2MAorOjEwQjY2MDAwMEI4ODEzRkYwMEMwODAzRTY0MEZCNDgzMDcwMEY5QzA0RAorOjEwQjY3MDAwM0VGMDBDRkMxM0Y0MDBFQTAwMzI3MDBGRjAwQjJBMDRDOQorOjEwQjY4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRjkwMDNFMTBBNworOjEwQjY5MDAwMDc5MTAzRUNDMDU4MDAzRTQ0MEY5MjAzRTQwMEY5MDAwOAorOjEwQjZBMDAwM0VDMDhGQjMwM0UwMDBCQjAwQkU0NDBGQjAwM0UwMDAxOAorOjEwQjZCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAyQ0QwNDMzRTA2NworOjEwQjZDMDAwMENDMDAzM0MwOEZFMDAzMzYwMkNEMDAyQjQ4MENGMDBENQorOjEwQjZEMDAwM0Y1MjA3RjAxM0ZDMDBDRTEwMzM0MjBDQjAwM0MwNDRCRAorOjEwQjZFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzAwODkwMDJBQjBENgorOjEwQjZGMDAwMDg4ODAyMkMwMEJBMDAzNjQ0MDg5MDAwMjYwMERCQzBGRgorOjEwQjcwMDAwMkU0MDBCQjAwMkVDMDA4M0MwMjg0MDBBQjAwMkUwNDA5QgorOjEwQjcxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEIwMDIyMDhCMworOjEwQjcyMDAwMUFBMjAyMkMxMEI5MjAyMjQwMDgzMDAyMkMwNEFBNTQ3QworOjEwQjczMDAwMkVDMDBCQjAxMkNDMDA4QjA4MjI0MDA4QjAwMkUwMDBGMworOjEwQjc0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwODMwNDJBMDBGMAorOjEwQjc1MDAwMEEwODgyMEMwMEI4MDA2NDQwMDgzMDAyQTQwMEIwMDA1RgorOjEwQjc2MDAwMkNDMDhCMzAxMEM4MDI4QjAwMkE0MDBBMzAwMkMyMDE2NAorOjEwQjc3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQzkwMDMyMDA1NQorOjEwQjc4MDAwMUE4MjAzM0MwMEY5MDAzMjQwMENEMTAzQUMwMEVCMDBGQworOjEwQjc5MDAwM0U0MDBGRjAwM0VEMDBDMzAwMzJDMDhDQjAwM0MwMDM4NQorOjEwQjdBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlGQzAwRjUwMDNGMDA2MAorOjEwQjdCMDAwMEQ4MDRCRkMwMDdDMDAzRjQwMEZEMjBCNzQwMERGMDA3QgorOjEwQjdDMDAwMUQ0MDhGRjAwM0ZDQTBGRjAwM0Y4MDBGRjAwM0U4MDY1MAorOjEwQjdEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzAwREY4NDNCRTBCQQorOjEwQjdFMDAwMEZGODBCM0UwMEVDODAzM0UxMEMzMDAzM0M4MENGNDg3NworOjEwQjdGMDAwMzdDMDBFNDAwM0UwQzBDNzkxQjMwNDBDRjAwMzMwMDAyMworOjEwQjgwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFRjA0OEI4MDIyNDFENworOjEwQjgxMDAwMEJCMDgyMkUwMDg4ODBBMkUwMEFBMjkyQUQ4MDg3NDJGRgorOjEwQjgyMDAwMjNEODhBQUQwMkUwQzA4QjAwMjA0QzQ4QTQwMjIwMDQzQgorOjEwQjgzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzU4QkIwMDI4ODBDNAorOjEwQjg0MDAwMEJCMjQyMjQwMEE4MDAyQUMwMEExMDAyMDQ2MEEzMjAwMAorOjEwQjg1MDAwMjREMjA4MDA0MjhDODM5QjAxMjA0OTA4MzNDMjIyMDE3NAorOjEwQjg2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzAwQUI4ODIyQTBGMgorOjEwQjg3MDAwMEJCODAyMjYwQ0E4MDAyQUMwMEE5MjAyQTQwMEFCMDY0QworOjEwQjg4MDAwMjJDMDBBQjAwMkU4MDA5QjAwMDI0MDA4QTA0MjMwMDQzNworOjEwQjg5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwRDM4MDNBRTA5QQorOjEwQjhBMDAwMEYxODAxMDYwMEU4MzAzODY2MEVCODAzMkE0MEVCMDA5NgorOjEwQjhCMDAwMzZDMTBFOTYwM0UyODBEQTA4MzI4MDJDQkIwMzEwMDRGNgorOjEwQjhDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDE5QzAwREYwMDNGQzBBRAorOjEwQjhEMDAwMEZEMDAzRjQwMERDODAzNzYwMEZFODAzRkEwMERGMDFDQgorOjEwQjhFMDAwM0ZDMDBGQzA0M0U2NENFRkEwM0Y0NDBGQTAwM0Y4MDA1OQorOjEwQjhGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzQwREIwMDM2ODAxQgorOjEwQjkwMDAwMEM5ODAzMjYwMEY4MDAzRUMwMEUxODAzODQwMkUzMDFFMQorOjEwQjkxMDAwMzhDMTBFQjQwM0FDODBDQTE4M0FEMDJDMzAwMzEwMDRERQorOjEwQjkyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzRjQwQjk4ODJFODBCQworOjEwQjkzMDAwMDhCQzAyQTMwMEIwMDAwRUMwMDhCMDA2MjAwMDhGMDRBRgorOjEwQjk0MDAwMjNDMTA4QjkxMjJGMDA4MzgwMzY0MDA4QUQwMjMyMDBBRgorOjEwQjk1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjIwMDJDQzBEOAorOjEwQjk2MDAwMDkzMjAyODQwMDMzMDAyQ0IyMEEzNjEyOEMwODkzMDU4NworOjEwQjk3MDAwMjBDMDBCMTgwMkVEMDA5MTgwNkEwMDA4MTAwMjM4MDAwOAorOjEwQjk4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAwQjc4MDJERTBFNAorOjEwQjk5MDAwMDk3ODAyOTc0MEI0ODAyRkEwMDhFODAyMEU0MDk3ODJGMQorOjEwQjlBMDAwMjFFMDk4Njg4MjFBMTg5RDkwMkRBMTE4NTgwMjA4MDA2RAorOjEwQjlCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQ0MwRjMwMDNFQzAzQQorOjEwQjlDMDAwMERCMDQzODQ0MEYwMDAzQzgyMEUzODEyOEM0NEYzMzBCQQorOjEwQjlEMDAwQkFDMTFFMTA0NzhFMjJEMTEwMzgxODBDMzA4MzEyMDJDMworOjEwQjlFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzQwRkYwMDNGQzAwMAorOjEwQjlGMDAwMEVFMDAzRjQ0MEZDMDAzREM0MEZEMDAxRjQ0MUVGMTgwOQorOjEwQkEwMDAwM0ZDNDFGRjAwM0Y4NDhFRjE0MzM4MDBGQzEwM0QwMDY4MgorOjEwQkExMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVGQzQwRkIwMDNFQzBFNAorOjEwQkEyMDAwMEY5ODAzMjQwMENCMDAzRTQwMEZCMDAzQTgwMERCMjg5MgorOjEwQkEzMDAwM0VDNDFGOTAyM0VDMDBDQTAwMzJFMDBDOTAwM0VBMDBFMQorOjEwQkE0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzgwQjcwMDJEQzA2RAorOjEwQkE1MDAwNEI1MDUyMTQwMEQ0MDEyRDgwMEI2MDAyRDgwMEE3MjA1NworOjEwQkE2MDAwMkRDNTBCNDAxNkRDMDA4NDAwMjNDMDA4NDAwMkQyMDQyMAorOjEwQkE3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTgwQjc4MDJERTA0NAorOjEwQkE4MDAwMEI3ODBBOTYwMDk0ODAyRDYwMUI3ODA2RDIwMEE3ODA2MAorOjEwQkE5MDAwMkRFMDBCNzgyMkRFMDA4NzgyMjFFMDA4NTgwMkYwMDBCQQorOjEwQkFBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQjNFNDJDQzBDQgorOjEwQkFCMDAwMUIyMTAyODEwMDkwMDAyQ0M4MEIzOTAyQ0UwMEEzMDA4QworOjEwQkFDMDAwMkNDMDBCMzAwMkNEMDA4QjIwMjBGMDA4QjIwMkQyMDQzMworOjEwQkFEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRkVBMDNGODIzMgorOjEwQkFFMDAwMEZFODAzOTgzMEQ2MDAzRkEwMEZFMDAzQkFDMEZBMDA3OQorOjEwQkFGMDAwM0U4MDBGRUMzM0Y4MDJDRTAwQjNCODJDRUM4M0ZBMDQ4RQorOjEwQkIwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDE4Rjg0MDNFMDAxRgorOjEwQkIxMDAwMEY4MDAyNjA4NEY4MDUyRTA0OEY4MDQxRTAwMDc4MDJENworOjEwQkIyMDAwM0UwMDBGODE4M0UwMjBGODAwQkUwMjBGODAwM0QyMDBBOAorOjEwQkIzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNjE4RjkyMDNFNDAyOAorOjEwQkI0MDAwMEY5QzAzRTQ0MEM5MDAzMjYxMEM5MDEzQzQwOEM5MDE4MgorOjEwQkI1MDAwM0U0MTBGMTgwMzI0MDBDOUEwMzI0MDBGOTg0MzAyMDQ0RAorOjEwQkI2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NTAwQjFDMDIyNDBFOQorOjEwQkI3MDAwMEI5QzAyRTcxMDg5MDAyODQ0MDg5NDIyRTQxMDg5MDBGNQorOjEwQkI4MDAwMkU0MDBCOUYyMjI2NjA4OTgwMjI0MDBCOTEwQTIwMDBDNAorOjEwQkI5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDgwQjkwMDJFQzAyRAorOjEwQkJBMDAwNEJCNDAyRTQyMDg5MjAyMjQwMDg5NDAyRUMwMDg5MDA3MgorOjEwQkJCMDAwMkU0MTBCOTAwMjA0MDA4OTQwMjI0MDBCOTAwMjA2MDBBNworOjEwQkJDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwQjEwNDIwNDAxMAorOjEwQkJEMDAwOEIxMDAyRTQwNTgxMDAyODQwMjgxMjEyQzQ4MjgxMjBDMworOjEwQkJFMDAwMkM0ODBCMTIwQTA0ODI4MTAwMjA0ODBCMTIwMjAyMDEyOQorOjEwQkJGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2OEEwRkEwMjNFMTQyQQorOjEwQkMwMDAwMEY4NTAzRTAwMEM4MDAzMjAwMEM4NTAzQzE0MEM4NTMxMworOjEwQkMxMDAwM0UxNDBGODAwMzAxNDhDMDUwQjIxNDBGODUwMzJFMDM1OQorOjEwQkMyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDAwRkQwMEJGNDAyRgorOjEwQkMzMDAwMEY1MDEzRDQwMkZEMDAyRkMwMEZEMTAzRjQ0MEY5MTBCMAorOjEwQkM0MDAwM0U0NDBGRDEwM0Y0NDBGRjAwQkY0NDBGRDEwM0U2MDY4QQorOjEwQkM1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNkEwRkQwMTNFNDQ1MQorOjEwQkM2MDAwMEZEMTAzRDQwMEM1MDAzMzQxMEZEQjAzMjcyMEQ5RTBGNworOjEwQkM3MDAwQjI3MDBEREE4M0Y2NDBDRjEwMzI3ODJEREEwMzA2MDA2OQorOjEwQkM4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTAwQjgwMDJFMjgwRAorOjEwQkM5MDAwMEI4ODQyRTAxMEQ4MDAyMjAwMEI4QzBBMjMwMDg4QzBEOQorOjEwQkNBMDAwMjIyODA4ODQwMkMyODA4MEEwMjIzMDQ4QUE4MjBFMDQ4MgorOjEwQkNCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMDJDNDA2NgorOjEwQkNDMDAwOEIxMjAyQzQwMDk5MDIyODQwOEIxNjAyODQ4MTkxMzBBNQorOjEwQkNEMDAwMjA1ODA5MTAwMkM1MDA4MTAwNjQ0RDA4MzQwMjAyMDE5OQorOjEwQkNFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBQzBDQjkwNDJFNDhDQworOjEwQkNGMDAwMEI5NDA2RTQwMDk5NDBBQTQwMEI5MjIyQTQwMDg5MDAwQworOjEwQkQwMDAwNjA0MDA4OTQwMkU0MDA4OTgwQTY1MDA4OTIwMjA2MDQ2QworOjEwQkQxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjk5ODNFNDgxMworOjEwQkQyMDAwMEY5ODAzRTUyMEQ5MDAzQTY0MEY5NDgzQTRDMEQ5MDI4OAorOjEwQkQzMDAwNzI0MDREOTA0MkU0ODJDOTQwMzY0MDBDOTAwQjI4MDQ3QQorOjEwQkQ0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBQzI4Rjk4ODNFNDA4NworOjEwQkQ1MDAwMEY5OTEzRTcwMEY5QzAzNjYwMEY5MDAzNjYwMEYxMDBGOQorOjEwQkQ2MDAwN0U0MDBGOTkwN0U0NjBGOTAwMzg0MDBGOTgwM0NBMDAzRAorOjEwQkQ3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRjgxMDMyMDA1MQorOjEwQkQ4MDAwMEY4MjBCMjEwMEU4MDAzNjA0MEM4NjAzRTEwMEQ4MDA4NgorOjEwQkQ5MDAwMzIwMDBGODAwMzYxMDBDODAwMzIwMDBGMDAwMzBBMDQ2NAorOjEwQkRBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODIwQkUwMDIyODA5RQorOjEwQkRCMDAwMjhFQzAyMTkwNDgyMDAwMzgwMERFNDgyRTgwMDhBMDE2NQorOjEwQkRDMDAwQUE4MDhCRUQ4MjNCODA4RTkwMzY4MDBCRTAwMzRBMDA4OAorOjEwQkREMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0MjAwQjM4MDIwQzBBMQorOjEwQkRFMDAwNkIzNDE2NDBDMDgzMTAyNDcyODhCMDAyRUMwMDgzMDBDQworOjEwQkRGMDAwMjRDMDBCMDQwMjZGMDk5QjAwMjRDMDBCMzAwMjBBMDAxMAorOjEwQkUwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExNDAwQjc4MDIzRTRFRgorOjEwQkUxMDAwMjg3ODgyNzQxNDhGMDA2MUUwMDk1MDEyREMwNDg3MjJCNAorOjEwQkUyMDAwMjVDODFCNzgwMjE0MDA5NDQwQTVDMDBCNjAyMjY4MDA0RQorOjEwQkUzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxMjIwQjc4MEIxRTAxOAorOjEwQkU0MDAwOEZGODAzMTIwMkU3ODAzNUUwMEM2ODA2Q0ZDMkNGQjA0RQorOjEwQkU1MDAwMjVGNDBGNTgwMzVBMDJENTgwNzVGQTRGRjgwMzJBMDJDOQorOjEwQkU2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBNTkwRjMwMDNEQzA4OAorOjEwQkU3MDAwNEZCMDEzQTgwNEZCMDAzQ0MwMEY4MDQzRUM4MEVCNjA4NAorOjEwQkU4MDAwM0FDOTBGMzAwM0VDMDBFOTAwM0VDODBGQTAwM0MyMDYxOAorOjEwQkU5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGNjAwRUU4MDNGRTBCQQorOjEwQkVBMDAwMEQ4OTAzRDI0MEU1ODEzOUUwM0NGOTA3RkUwMENGODhENworOjEwQkVCMDAwM0ZFMDBGRTgwM0YyMDhDRTgwMzNFMDBDRjgwMzAwMDAwNworOjEwQkVDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5NDQ0QzYwMDJGQzBCQworOjEwQkVEMDAwMDg1ODAyRDBDNDg1MjQyMTkwMDg1NDEyREM4MjA3MDAzRgorOjEwQkVFMDAwMkRDMDBCNzAwNkQ0MDA4RTQ4MjFDMDBBNjAwMjJBMDRCRgorOjEwQkVGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQTc0MDJEQzA3MgorOjEwQkYwMDAwMDg0MjAyRDAwMEFEMDAyOUMwMDg3MDIyREMyODg3MDA1QQorOjEwQkYxMDAwMkRDMDBCNDAwMjk4MDA5NzAwQTBDNDA4NzAwMjAwMDBEQQorOjEwQkYyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzA4OTMwMDJDRTA0QQorOjEwQkYzMDAwMDgzQzIyQzEwMDgxMDAyMDgwODgxNTAyQ0UzMDgzMDA5OQorOjEwQkY0MDAwMkNDMDBCM0MwMkNDMDQ5M0MwMjBGNDRBMEM4MjA4MDRBMQorOjEwQkY1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBMDAwRTNDMDFGRTBCMgorOjEwQkY2MDAwNkMxMDgzRTAwNEVCMDAzQTUyNENCNDAzRkUwMkNGMDBBNQorOjEwQkY3MDAwM0ZDMDBGODQ0M0UxMDJEOEMyMzNDMDBDODQwQjJBMDRCMworOjEwQkY4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFOTAwRUIxMDNFQzRFQgorOjEwQkY5MDAwMEU5NDAzRTQwMEZCMTgzRUMyMEZCNjAzRUMwMEZCMDE1NQorOjEwQkZBMDAwM0VDMDBGMzUwM0M0MjhFQTQyM0VDMDBGODEwM0UwMDBDMworOjEwQkZCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzQwRkYwMDMzQzAxMgorOjEwQkZDMDAwMENDMEEzMzAyOENEQTAzM0MwMENFODAzMEMwMEVGMDU1MworOjEwQkZEMDAwM0RDMDBDQ0E4MzNDMDBDRDA4M0ZDMjBDQTAwM0MwNDQ0NgorOjEwQkZFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2NzAwQkI4MDIwQzAxQQorOjEwQkZGMDAwMDhBQTAyMDgwMEExMDEzNEQxMDhBNDEyMkMwMDhCMDA2OQorOjEwQzAwMDAwNkVDMDg4QjIwMjJDMDg4OTgwMkVDMDBBQTgwM0EwNDAwNgorOjEwQzAxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwQkE4MEEyQzBDMworOjEwQzAyMDAwMDhBODBBQTAwMDhCMDBBMkMwNDgxMTAyQUMwNDhCMDAzMworOjEwQzAzMDAwMkVDMDAwODAxMjJBMDg4QjE0MkNDMDA4ODgwMkUwMDA1MQorOjEwQzA0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwQjIwMDIyQzAwNAorOjEwQzA1MDAwMDhCMjEyODAwMEFCMDEyNEMwMDgwMDAyMEMwNDgzMDA2NworOjEwQzA2MDAwMkNDMDA4MzAwMjA3MDA4MjAwMjRDMDA4MDgwMjgyMDFBOAorOjEwQzA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwRkIwMDMyQzA1QQorOjEwQzA4MDAwMENBMjAzQTAwMEM5MDAzMkMwMjQ5NDAzM0MwMkNGMDBEQworOjEwQzA5MDAwMkZDMDA0ODAwQjA5MDJDQjAxM0ZDMDJDQTAwM0MwMDNCQQorOjEwQzBBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlEQzAwRkQwMjNGQzBBRAorOjEwQzBCMDAwNEZFNDEzNzAwMEZEMDAzRkMwMEZDMjgzRkMwMEZGMDA3RgorOjEwQzBDMDAwM0ZDMDBGRjAwM0ZDMDBGRjAwM0ZDMDBGQzAwM0E4MDZGNQorOjEwQzBEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzIwRUYzMDNGMDRBRAorOjEwQzBFMDAwNkM4ODAzM0E0MkU0OTEzRjBEMEQ0ODAzM0NDMEZGMDJDNworOjEwQzBGMDAwMzM0NDBDRjQwM0ZDODJERjMwMzM2MDBERjEwMzMwMDA3NQorOjEwQzEwMDAwNzAwMDAwMDAwMDAwMDAwMEEwMTBFRDAwOEI3MDJFMThFMQorOjEwQzExMDAwODgyMjRBMkM4MkVBMjYyRTBDMEJCODQyM0Q4MEJGOTAyMgorOjEwQzEyMDAwMkE1NDI4QjQwMkNEMDBEQjQwMkE0QTQ4MzAwMkEwMDQzOQorOjEwQzEzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQ0IwQTMwMDZDMTBBNworOjEwQzE0MDAwMDkwMDgyMjA4MkEwMjAyQzg4NEI4MDAwMEM0MEIzMDE4MworOjEwQzE1MDAwMjA0ODBCMzYwMjhDRTA4MzY0MjQ0MDI4MzIwMjIyMDFGRQorOjEwQzE2MDAwNzAwMDAwMDAwMDAwMDAwMEUwMTFBQzAwOEIwMDJFMDAwOQorOjEwQzE3MDAwMDk4MDgwQTYwMEJBMTEyRTg4MEJCMDAwMkMwMEJCMDJFQgorOjEwQzE4MDAwMDI0MDA5QjAwMkVDMDA4QjAwMkNDODA4Qjg4MkIwMDQ1MQorOjEwQzE5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwRUIwMDNFOTI0MworOjEwQzFBMDAwMEQ4MDAzMEEyMEU5MDAzRTUwNDU4MDAxMkMwNEYzMDA3NQorOjEwQzFCMDAwOTA2MDA5QjAwM0VDMDA4QjAyMjY1MDhEQkMwMzEwMDQ4NAorOjEwQzFDMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDFCQzAwRkYwMjNGODBDMgorOjEwQzFEMDAwMEVGOTAyN0MyMkFGMDAzRjYwMDNDMDBCRkMxMEZGMDA5MQorOjEwQzFFMDAwM0Y0QTRFRjAwM0ZDMDBGNzAwMkI2MDBGNzAwM0Y4MDA4RAorOjEwQzFGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIwMEIwMDAzOAorOjEwQzIwMDAwMEY4MjBCQTkwMEM5MDAzMkQyMEZBMDgzQUMwMENCMTA2MworOjEwQzIxMDAwM0U0MDBDQjAwM0VDMDBEQjAwMzI1MDJDOTUwMzEwMDRDMAorOjEwQzIyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzQzA0QkYwMjIyODA3RQorOjEwQzIzMDAwMEI5ODAwMjkwMENCNDAyMkMwMEIyNDAyM0MwODhGNTBGMQorOjEwQzI0MDAwMkU1MDBERjAwMkZENDI4RjU4MjJFMDQ4QjUwMjMyMDAxOAorOjEwQzI1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU2QzAwQjMwMDI0NDAzNgorOjEwQzI2MDAwNEI5NDAwNDkwMDkwODAwNDMwMDkwMDBFNEMwMDgzODBGQworOjEwQzI3MDAwMkNDMDA5MzAyMjZFNDI4MzgwMjA0ODA4MzgwMjM4MDBFMgorOjEwQzI4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAwQjc4MDY1MjA2MworOjEwQzI5MDAwMEI3ODgyN0EwODhDQzAyNUEzNEI3ODAyNUUwNDg3ODREMQorOjEwQzJBMDAwMkQ2MTg5NzgwMkRFMDQ4NzgwRTk2MjA4NzgwMjA4MDAzRgorOjEwQzJCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwRkIwMDM0NDg2QgorOjEwQzJDMDAwMEYzQjAzNDgwMDkzNDgzNDUwMEQwMDAzNkMwMEMzMTAyQgorOjEwQzJEMDAwMUNDMjA1MzAwM0NDNDBDQjAwMzI0MDBDMjAwMzEyMDJCQworOjEwQzJFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzIwRkYwMTAzNDBEMgorOjEwQzJGMDAwMEZGMDIzMUMwMEZGMDAzQjgwMEZCMDIzM0MwMkZGNTBENworOjEwQzMwMDAwM0RDNDBGRjEwM0VDMDBFRjAwQjdDMDBGRTEwM0QwMDYwRQorOjEwQzMxMDAwNjAwMDAwMDAwMDAwMDAwMDg4MDVFQzAwRkIwMjNFRTAyOQorOjEwQzMyMDAwMEM4MDAzNDgwMkM4ODEzMjAwMEY5MDQyRUNBMEZCMTA0MQorOjEwQzMzMDAwM0VFMDBDQjEwM0VDNDBGQjEwMzI0MDFGRjAwMzJBMDAzQQorOjEwQzM0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwQjcyNDJEODAwMAorOjEwQzM1MDAwMDg3MDQyRDgxMDhDMDIyMTQwMEI1MDAyREQwMEU3MjAwQgorOjEwQzM2MDAwMkY0MDA4NzAwMkRDMDVCNzAwMjFDMDBCRjAwMjEyMDQ1OAorOjEwQzM3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwQjc5MDJGNDA0OQorOjEwQzM4MDAwMEE2ODAyN0EwMDk3ODAyMUUwMEI3ODAyREUwMEI3ODAwRAorOjEwQzM5MDAwMkRFMDA4NzgwNkRFMDBCN0EwMjE2MDBCNzg0MjMwMDA1RgorOjEwQzNBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQjMwMDJDQzBBNgorOjEwQzNCMDAwMEEzNDAyQzgwMDgzNEEyMEY4MEIzMTAyQ0MwMEEzMDBFMworOjEwQzNDMDAwMkNDMDA4MzAwMkNDMDBCMzAwMjBCMjBCMjA0MjEyMDQ3MworOjEwQzNEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwQkEwMDNGODgwNworOjEwQzNFMDAwMkVFMDQzNTk4OERFMDAzM0IwMEY2QzAzRTgwMEZBMDBGQQorOjEwQzNGMDAwM0U4MDJDQTAwM0U4MDRGQTAwMjNCODBGRTA4QjNBMDQzNworOjEwQzQwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDA0RjgwMTNFMDA2OQorOjEwQzQxMDAwMDk4MjIxRTAwMEY4NDBCRTE0MEY4NDgxRTAwMEU4MDBBQQorOjEwQzQyMDAwM0UwMDFGODAwM0UwMDBGODAwQkUwMDBGODgwM0QyMDAyQQorOjEwQzQzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRTEwMDMyNDA3RAorOjEwQzQ0MDAwMEM5MDQzRTQyMEQ5MDAzQzQ0MDg5MDAzMjQwMEY5MDFGNworOjEwQzQ1MDAwM0U0ODBGMTA0MzI1MDBDOTAwQjI0MDBDOTAwMzAyMDQ2RgorOjEwQzQ2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjkwMEEwNDAxQgorOjEwQzQ3MDAwMDg5ODAyRTYwOEE5NjAyRTQ5MDg5NDAyMjQwMEI5MDAzMQorOjEwQzQ4MDAwMkU3MDBCOTAwMjI2MDI4OTAwQTA0MDBBOTAwQTIwMDAxQworOjEwQzQ5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjkwMDIyNDAzMAorOjEwQzRBMDAwMDg5ODA0RTYwMDk5ODAyRTQwMEFCMTAyMjQwMEI5MDBFMQorOjEwQzRCMDAwMEU0MDBCOTAwQTA0MDA4MTAxMjJDMDA4MTAwMjA2MDAwMQorOjEwQzRDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgwQjEyMDIyNDg2MQorOjEwQzREMDAwMDgxODA2QzQwMEExMDAyQzQ4MkEzMDAyMDQ4MEIxMjJBQQorOjEwQzRFMDAwMkM0ODBCMTIwMjA1ODA4MTYwMjI1MDBBMTQwMjAyMDFCRQorOjEwQzRGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjg1MDMyMTQ0OAorOjEwQzUwMDAwMEM4NTAzRTE0MEQ4NTAzRTE0MEU4MDBCMjE0MEZBMDAwOAorOjEwQzUxMDAwM0U5NDBGODUwMzIwMDBDMDAwMzIwMDBDODAwMzJFMDNFMAorOjEwQzUyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDQxRjkxMDNENDU1NgorOjEwQzUzMDAwMEZEMDAzRjQwMEZGMDAzRjQ1MEREMDAzRTQ0MEY5MTA5NQorOjEwQzU0MDAwM0Y0NDBGOTEwM0U0NDJGOTEwM0Y0MDBGRDQwM0U2MDY0NQorOjEwQzU1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNDAwRjkwMDNFNDBGMworOjEwQzU2MDAwMENEMDAzRjQwODhEMDIzRjQwMEZEMDAzRTQwMENEMDA0RgorOjEwQzU3MDAwMzM0MDBDOTAwMzI0MDBGOTAwMzI0MDRDOTgyMzA2MDAwRAorOjEwQzU4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDAwRTgwMDJFMDBGRAorOjEwQzU5MDAwNDg4MDAyRTgwMEQwMDAyRTgwMEI4MDEyRTAwMjg4MDA2NAorOjEwQzVBMDAwQTIwMDBBODAxMjIyMDBCODgxMjIyODA4Q0YwMjBFMDRCRAorOjEwQzVCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMDJDNDA1RAorOjEwQzVDMDAwMjgxMDAyQzQwMDgxMDAyQzQwMEIxMDAyQzQwMDkxMDAwRQorOjEwQzVEMDAwMjY0MDA5MTAwMjU0QTBCNTJDQTU0MjA4NTA4MjAyMDE0MQorOjEwQzVFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDAwQTkwMDJFNTBFMworOjEwQzVGMDAwNTg5MDAyRTQ4MDlCMDAyRTQ1OEI5MjAyRTQwMDk5MDA0MworOjEwQzYwMDAwMjY0NDBCOTAwMjY0MDhCNTAwMjU0QTA4NTEwMjA2MDQyRQorOjEwQzYxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjkwMDNFNTQ5NgorOjEwQzYyMDAwMEM5MDQzQzQwMEM5OTAzRTcwMEY5ODAzRTQwMEQ5MDBGOQorOjEwQzYzMDAwMzQ2MDREOTAwQTY0MDBGOTAwMzY0MDJDOUUwMzI4MDRCMworOjEwQzY0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkwMDNDNDAzOAorOjEwQzY1MDAwMEY5QzAzRTYzMEY5MDAzRTYyMEY5MDAzRTQwMEU5MDAwRQorOjEwQzY2MDAwM0E0MDRFOTAwM0E0MDA3OTBDM0E0MDBGOTAxQkNBMDA0OAorOjEwQzY3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRjgwMDNFMDA0QworOjEwQzY4MDAwMEM4MTEzRTEwOEM4NDgzMjAwM0M4MDAzQzAwMEYwMTA2MAorOjEwQzY5MDAwM0UwNjBDODAwM0YwMDhDQzAwMzMwNDBDQzAwMzBBMDRFRgorOjEwQzZBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwQkEwMDJFODBBRAorOjEwQzZCMDAwMDhFQzQyRkEyMDhFMDAyM0EwMDhFODQyRTgwMEJFODA4MQorOjEwQzZDMDAwMkY4MDA4QTAwMkU4MDBEQTAwMjI4MDQ4RTAwMjBBMDA3OQorOjEwQzZEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQjMwMDJDQzAwMgorOjEwQzZFMDAwMDkzNDgyQzkwMDgzODAyMEYwMDgzMDgyQ0MwMEIzODBGNgorOjEwQzZGMDAwMkNGMDA4QjAwMkMxMjA4MDAwQTAzMjA4MDAwMjBBMDAxRAorOjEwQzcwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQ0MwQjcwMTJGQzhBRAorOjEwQzcxMDAwODk1MDAyRDgwMjg3QzQyMUUyNDg3MDgyREMwMEI3MDA0OQorOjEwQzcyMDAwMkM0MDA4NzIwMkNFMDA5NzA4MjNDMDA4NzAwMjI4MDAyRgorOjEwQzczMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRjdFMTNERThFRQorOjEwQzc0MDAwMkQ2ODAzRjIwMEM3ODBCMEUwMDg2ODAzREY4MEY2ODA0MAorOjEwQzc1MDAwM0RFMDhDN0UwM0RBMDBDQzgwMzEyMDBDQzgwQjJBMDIyRAorOjEwQzc2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzA4RkIwMDNDQzBGOQorOjEwQzc3MDAwMEU4MDAzRTAwOEY5MDAzRTQwMEZCMDAyRUMwMEZBMDAyMgorOjEwQzc4MDAwM0U0MDJGQjAwM0U0MDBGQjAwM0NDMDJGQjAwM0MyMDZDNAorOjEwQzc5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwRkY5MjdGRUEzQworOjEwQzdBMDAwMENGODAzRkUwMENDQTAzRjIwMERGOTAzM0UwMENGODAyMworOjEwQzdCMDAwMzM2MDBGRjgwM0Y2MDBFRjg0MzNFMDJDQzgwMzAwMDA2OQorOjEwQzdDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQjcwMDJGQzhGNgorOjEwQzdEMDAwMDg1NDAyRDgwMEQ2MDQyRDAxMDg2OTAyMUMwMDg1MDAwNworOjEwQzdFMDAwMjE0MzBCNzAwMzlBQzA4QzAwQTMwMjA4RjEwMjJBMDRCMworOjEwQzdGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQjcwMTJEQ0M4QworOjEwQzgwMDAwMDg3MDAyRDQwMDk0MjgyREMyMDhDMjAyNUMwMDg2MDA4MQorOjEwQzgxMDAwMjE4MDBCNzEwMkRDMDBBNzEwMjFDMDA4NDgwMjQwMDBGMworOjEwQzgyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzA4QjMwMDJDRjAxMQorOjEwQzgzMDAwMDgwNTAyQzAyMDkwODAyRTAwMDgwMDgyNEMwMjgwMDA3MworOjEwQzg0MDAwQTA2MTBCMzAwMkEwMDA4MDAwQTAzMDg4QjEwQTQ4MDQyQgorOjEwQzg1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwRkYwMDJEQzgzQgorOjEwQzg2MDAwMEMzRDAzRTQwMERCMDIzRUYwMkM5MDRCN0MwMEMxMDA0OQorOjEwQzg3MDAwMzIyMDRGRjAxM0UwMDBFODAxMzIwMDhDQUMwMzZBMDQ3MAorOjEwQzg4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRkIwNDNFQzJERAorOjEwQzg5MDAwNEZCMDAzRTAwNEZBNDAzRUMyNEU5ODIzQUMxMEY4MDBCQgorOjEwQzhBMDAwM0U1MDA3QjAxM0FDMDBGQjAwM0VDMjBGOTIwM0EwMDA0NQorOjEwQzhCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBEQzAwQ0YwMDNGQzA4RAorOjEwQzhDMDAwMENDODIzMzY4MkNGODAzRjgwMENFMDAzRUMwMEY5MjBCNworOjEwQzhEMDAwMzNDMDBFRjAwM0Y4MTBEQzAwMzMwMDRDRTgyMTAwNDRCNAorOjEwQzhFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzAwQUIwMDJFQzA4RQorOjEwQzhGMDAwNEE4RDQyMjEwMDhCNDIyRUQyMDhCMDAzRUMwMEI4ODg0QQorOjEwQzkwMDAwMzQ2MjBEQjAwMkU0MDA4QjAwMjJDMDA4OTAwQTIwNDA3RgorOjEwQzkxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEIwMDJFQzBERAorOjEwQzkyMDAwMDhBMDAyMEQwMDg5MTAyRTA4Mjg5MjAyRUMwNEJCMDAxQQorOjEwQzkzMDAwMjJBMDA4QjAwMjY0MDJCMzAyMjBDMDA4QTIwMkEwMDAzNAorOjEwQzk0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwQTMwMDJFQzBGRQorOjEwQzk1MDAwMEE5MDIyMEMxMDgwMDAyQzAwMTgwMjgyQ0MwMEIwMDAzQgorOjEwQzk2MDAwMjY0MDA5MzAwMkM4MjA4MDAwMjAwMDA4MTAwNjgyMDFGRAorOjEwQzk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQ0IwMDJFQzA4NQorOjEwQzk4MDAwMENBMTAyMjQwMDg4MDAzQzAwMEM4MDAzRUMwMEZCMDA5QQorOjEwQzk5MDAwMzI4MDBFQjAwM0NDODBEQjAwMzJDMDBDQTAwMzgwMDNEOQorOjEwQzlBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkYwMDNGQzA4MAorOjEwQzlCMDAwNEZDMjEzRDQxMEZDMDAzRjAwMEYwMDAzQkMwMEZDMDA2QQorOjEwQzlDMDAwM0Y0MDBGRjAyM0UwMTJGQzAxQkYwMDBGRDAwMzY4MDJDQworOjEwQzlEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzAwQzc4MDMzQzBFQworOjEwQzlFMDAwOEJCNDAzQjBDMENGMkUxRjBDNEZDMzAzMzA4MEZGMDFBOAorOjEwQzlGMDAwM0YwODBGRjAwMDdDMDBGRjIxMzNFNDBDRTAwMzMwMDAxRgorOjEwQ0EwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFRTAwOEI4MjIzRjAxOAorOjEwQ0ExMDAwMEJCNTEyMEQ4ODg4QzAwRTk4MEI4NjAyMjEwMEJCQzA5MgorOjEwQ0EyMDAwMkVFNDRCRjc4MzJGNDRCRjkwMjJDODQ4QTY4MjIwMDRFRgorOjEwQ0EzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzA5OEEwMDIwNTA2QQorOjEwQ0E0MDAwNEJCMjBBODBDQzgzMDEwQzhDMEIyMzBBMDQ2MEIzMTQxNAorOjEwQ0E1MDAwMjQ0MDRCMzAwMkNDMTBCMzAwMjBDOEU5MTEwNjYyMDExQgorOjEwQ0E2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzAxOEE4MEEyNDRFNAorOjEwQ0E3MDAwMEJCMDAyQTEwNDg4NDAyRUEwMEIyMDAyMjgyMEJCNDA0RQorOjEwQ0E4MDAwMkU0MDBCQjAwMjJDMDhCQjAwMjJDMDA5QjAwMjcwMDQ3QgorOjEwQ0E5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwQzM4MzMyRTA5RAorOjEwQ0FBMDAwOEYwMDAzQTAwMkNCQzQzRTI4MDc4QjAzMjEwMEY5QzBFRQorOjEwQ0FCMDAwM0UxMDBGQjAwM0VDMDA3QjAwMzJDMDBEQTAwMzUwMDQwOQorOjEwQ0FDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDE5QzAyRkYwMDNGRTA1OQorOjEwQ0FEMDAwMEZGNDQzNUU4MEZDOTQzRjAwMEZDMDJCRjI1MEZEMjEwOQorOjEwQ0FFMDAwN0U4NDhGRjAwMzZDMENGRjAwM0ZDMDBFNjIwM0I4MDAyMQorOjEwQ0FGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRUIwMDMyNDA3RAorOjEwQ0IwMDAwMkM4MDAzNjkwMENCMzBCMjAwNEZCMzQzRTUwMENCNDAyQgorOjEwQ0IxMDAwNzIxODJDQjAwM0VDMjhDMzIxM0FDMTBGOTQwMzEwMDRGRgorOjEwQ0IyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzQzAwOEIyMDIyNTBCRgorOjEwQ0IzMDAwMDhCMDAyMjgwMDg4QzAyQTAwOEJCNDAyRTgwMERCMDA5RAorOjEwQ0I0MDAwNjIzMDA4RjAwMkZDMDA4RjgwMjJDMDBCOTU0NzMyMDA1MworOjEwQ0I1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjEwMDIwQzJEMQorOjEwQ0I2MDAwNDgzMDAyNDk4MDgzNDI2MDEyMEIzMDAyQzgwMDgyMDJDMgorOjEwQ0I3MDAwMkMzMDA5QjAwMkNGMDE4MzUwMkFDMDBCMjAwMkI4MDAyQworOjEwQ0I4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAwOUQ4MEEwRTA3OQorOjEwQ0I5MDAwMDg3OTIyNUU2MDg3OTAyOUEwMEI3ODAyQzYwMDkyODFGNgorOjEwQ0JBMDAwMDVFMDA5NzgwMkRFNDA4NzgwMjFFMDBCMjkwMjA4MDBCOQorOjEwQ0JCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzQwRjIwMDMwQzBCNworOjEwQ0JDMDAwMDgzQTAzNDQwNEMzMTQzMEMwMEYyMjAzQ0M4MEMyMDBDRgorOjEwQ0JEMDAwQTREMjBEMzAxM0NDMjBDMzAwMzhDNDRGMDQ0MzEyMDIzQQorOjEwQ0JFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUQ5QzAwRUUwMDNGRTAzRgorOjEwQ0JGMDAwMEY3MDAzQjQwMkY0MTAzRkMwOEZBMDAzRkMwMDdFMDA0RQorOjEwQ0MwMDAwM0JDMDBFRjA4M0VDMDBGNzAwM0ZDMDBGQzAwM0QwMDYxRQorOjEwQ0MxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVGQzAwRjkwMDNFQzAxNAorOjEwQ0MyMDAwMEZBMDAzQUExMkNCMDEzMjgwMEZCMDEzMjgxNEY5ODA5MQorOjEwQ0MzMDAwM0E0MDAzQjQwM0VDNDJDQjE4M0VDMDBGQjAwMzJBMDBDNQorOjEwQ0M0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5RDAwQjUwMDJEQzREOAorOjEwQ0M1MDAwMEI3MDRCN0MwMDg0MDAyMTgwMEI3MDAyOTQxMEIyMDA5QQorOjEwQ0M2MDAwMjlDMDBCNzI4MkRDMDA4NzIwMkRDMTBFNzAwMjEyMDRENQorOjEwQ0M3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwQjc4MDJERTBCMgorOjEwQ0M4MDAwMEI2ODAyOUUwMDgzODAyMUUwNUIzODAyMUUwMEI0QzA2NgorOjEwQ0M5MDAwMjVFMDA5NzgzMkNFMDA5NzgwMkRFMDBCNUM0RTMwMDAwNQorOjEwQ0NBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQjM0NDJDQzA1OQorOjEwQ0NCMDAwMEIzQzAyQ0M0MDkzMDgyMEUwMEIzMDAyOEMxMEIzQzAzOAorOjEwQ0NDMDAwMjhEODFCMzAwMkNDMDg5MzAxNkNDMDBBQjg4MjEyMDQyOQorOjEwQ0NEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRjYxMDNFODBCQgorOjEwQ0NFMDAwNEJFRDgzQjgwMENFRTRCM0EzMEZFMDAzMzgwMEZFMDBBMQorOjEwQ0NGMDAwM0I4MDBEQTAwMkU4MDBEQTAwM0U4MDBGRTgwMjNBMDQxMworOjEwQ0QwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDEwRjg0MDNFMDAxNQorOjEwQ0QxMDAwMEY4MDEzNjAwMEUwMDAzRTAwNDMwODAzRTAwMEY4MDhDNQorOjEwQ0QyMDAwM0EwMDBGODAwM0UwMDBFODQwM0UwMDBFODAyM0QyMDA2RQorOjEwQ0QzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBDNDAwRDlDMEJFNDA1MAorOjEwQ0Q0MDAwMEY5MDAzRTYwMEY5MDAzMjQwMDE5QTAzMjQwMEY5MDAzNQorOjEwQ0Q1MDAwM0U0MDBGOTAwM0M0NDAwOTEwMEU0MDBGOUEwMzAyMDQ5NgorOjEwQ0Q2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA0ODkwNEEyNjAxOAorOjEwQ0Q3MDAwOEI5RDgwQTYwMEI5ODAyMjQwNDg5ODAyMjQwMEI5MDAwQgorOjEwQ0Q4MDAwMkU0MDhCOTAwMkU0OTQ4OTYwMkU0MDBCOTQwQjIwMDA3RgorOjEwQ0Q5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwOTkwOEFFNDhBQgorOjEwQ0RBMDAwNEIxMDAyRTU4MUI5MTAyMDQ0MUI5NDAyMjQxMEI5MDBGNQorOjEwQ0RCMDAwNkU2MDBCOTAwMkU0MDA4OTAwMkU0MDBCOTQwMjA2MDA4NgorOjEwQ0RDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgwODkwMEEwNjgwMgorOjEwQ0REMDAwMEIxMjAyODQ4OUIxMjAyMDQ4MUExMjEyMDQ4MEIxMjI1OQorOjEwQ0RFMDAwMEM0ODBCMTIwMkM0ODFBMTIwMkM0MDBCMTIwMjAyMDEzQworOjEwQ0RGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwRDgwMEJFMDA3OAorOjEwQ0UwMDAwMEYwNTBCRTE0MEY4MDAzMjE0MEY4NTAzMjE0MEY4MDBCNAorOjEwQ0UxMDAwMkU4MDBGODUxM0UwMDJDODAwM0UxNDBGMDUwMTJFMDM3QgorOjEwQ0UyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDQwRkQwMEJGNDREOQorOjEwQ0UzMDAwMEZEMTAzRjQ0MDdEMTBCRjQ0NDVGMTJCRjQ0MEZEMTBBOQorOjEwQ0U0MDAwM0Y0NDBGOTEwM0U0NDBEOTEwM0U0MDBGRDEwM0E2MDZBMgorOjEwQ0U1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjAwRkQwMDFGNjJEMQorOjEwQ0U2MDAwMEZEODgyMzYwMEJEQTAzQjY4MENEQzgzMjZDOEQ5QTA1MQorOjEwQ0U3MDAwMzM2MDBEOTk4MzU2MjBENUE4MkU0NDBDRDg4Mzg2MDRBMAorOjEwQ0U4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTQ4QjgwMDJFMDBEQgorOjEwQ0U5MDAwMEIwQTgyMjIyMEI4NTAyMkJBMDg4QTIyMjI4MDg4MDBGNworOjEwQ0VBMDAwMjIwMTA4MEMwMjIwMDA4ODAwMkUyODg4ODgwMkNFMDQ2NworOjEwQ0VCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMDJDNDA1NAorOjEwQ0VDMDAwMUIxMDBBODQ0MEIxMDAyODU4MEEzMjAyMDUwMDk5NDAxQworOjEwQ0VEMDAwMjA2NTA5MTA0MkM0MDA5MTAwMkM0MDBBMzA4MkMyMDEzMgorOjEwQ0VFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTFBNDAwQjkwMDJFNDBERQorOjEwQ0VGMDAwMUI5MDAyQTU4MEI5MTAyMjQ4MDgxMDQyMDQxMDA5MDBCNgorOjEwQ0YwMDAwMjI0MDA4OTAwMkU0MDA5QjAwMkM0MDBBOTQyMkM2MDRCMAorOjEwQ0YxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjkyMDNFNDA4MQorOjEwQ0YyMDAwMEY5MDEzQTcxMEY5NjBCQTUwMkU5QzBBMjU4NEQxRjBGNworOjEwQ0YzMDAwQjI2MDBEOTAwM0U0MDBEOTAwM0U0MDBFOTAwM0E4MDBCQgorOjEwQ0Y0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDBDRjk5MDNFNkE2NworOjEwQ0Y1MDAwOEY5MDIzNjYwMEYxMDgzQzQwMEY5QzQzRTQ0MEY5ODAyOQorOjEwQ0Y2MDAwM0E0NDBGOTAwMzI0MDRFOTAyM0U0MDJEOTExM0NBMDA3NQorOjEwQ0Y3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRTgyMDNFMDEzMgorOjEwQ0Y4MDAwMEMwMDAzQTEyMEU4NTAzMjEwMkM4QzAzMjEwMEU4MDA5MworOjEwQ0Y5MDAwMzIwMjBGMDAxMzIwODhDODA4MzIwMDBGOEMwM0NBMDAyOQorOjEwQ0ZBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODIwOEVFMzJGOTBCQworOjEwQ0ZCMDAwMEFFMDA2M0IwMEVFMDQyMzkwMDhFMDAyMjgwODhBMDJGQgorOjEwQ0ZDMDAwNzU5MDhCQTA0MTU4OTA4RTgwMkE4MTBCRTAwMzhBMTBDNworOjEwQ0ZEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0RTAwQTMwMDZDNjAyNworOjEwQ0ZFMDAwMDgzODFBOEU0MEEwODAyMENDMDkzMDAyMEMwNUEzMDQxQQorOjEwQ0ZGMDAwMjhDNDBCMzAwMjBEMDE4M0MwMjBDMDBCMzAwMkNBMDBEMAorOjEwRDAwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExRTA4ODcwMDJENjJGMworOjEwRDAxMDAwMEI3MDkyMUMwOEEwMDA2MUMwMDk2MDA2MUM4MEE3MDA2QworOjEwRDAyMDAwMjFDMDBCNzIwMjU4MDE4Nzg4MjlDMDBCNjAxMkE4MDAyQQorOjEwRDAzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRTY4MDNENjBERgorOjEwRDA0MDAwMEM3ODQyOTYwMEU0ODBBMzYwMEQ3ODAzM0YwMEUzODBGMworOjEwRDA1MDAwMjFFMDBGN0IwMzE2MDhDNzgwMzFFMjRGNzg0M0VBMDJENAorOjEwRDA2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MUQ4QzAxRjgwMDNDNDA5QQorOjEwRDA3MDAwMEVCMDAyRUMwMEY4MDEzRTQwNEUzMDMzRUQyMERCMDFGMworOjEwRDA4MDAwQkVDMDBGQjQwM0VDMDBGQjAwM0VEODBGQTAwM0MyMDZFNQorOjEwRDA5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwQzc4NDIzNjA1RgorOjEwRDBBMDAwMEM3ODBCQkUwMEZEODAzRkUwMEZFQjAzM0UwMENGODAwRAorOjEwRDBCMDAwM0IyNTBDRjg4MzdFNDBDRDgwMzNFMjBCRjkwMzAwMDA2MgorOjEwRDBDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAyODcwMDE1NDhCNQorOjEwRDBEMDAwMDg3MDAyMTQyMEI2MDAzNTlBNDlDODAzOUM4NEE3MDA0MgorOjEwRDBFMDAwMzlEMDBBNzAwMjFBMDhBNDAwMjFDMDA5NjE0MjJBMDQzQQorOjEwRDBGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwODcwMDIxNDA0QworOjEwRDEwMDAwMDg3MTAyOTQwMEI1MDAyRDQwMEJGMTIyNUMwMjA3MDg2MworOjEwRDExMDAwMkM1MDA4NzAwMjUwMDA4NzAwMkRDNDBCNTA0MjAwMDBCNAorOjEwRDEyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzAwODMwMjI0NDBGNgorOjEwRDEzMDAwMTgzRDBBMDEwMEIwNTgyNDIwMDkzMDAyOEY0MDgzRTBENgorOjEwRDE0MDAwMkNDMTBBMzA0MjA4MDBCMzAxNkNDMDA5MDgxNjA4MDQ1QgorOjEwRDE1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTU4QzAwOEIwMDMyNDA1OQorOjEwRDE2MDAwMEMyNTAzQTg0OEY4ODEzRTgwMEY4MDYzN0MwMENCODBBQgorOjEwRDE3MDAwM0FDMDBDRjAwMzZDMDBDQTAyQkZDMDBGOTg4QjJBMDQ5RgorOjEwRDE4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRjkwMDNFNTA0QworOjEwRDE5MDAwMkZBNDBCQzgwMEYwNDAzRUQwMEZBMDMzRUMyMEZCMDRCRQorOjEwRDFBMDAwN0FFMDBGQjAwM0VEMDhFOTAzMzJDMDBEOTAwM0UwMDAxMAorOjEwRDFCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBFQzQwRUUwMDNFQzAxNgorOjEwRDFDMDAwMENEQTAzNzAwNENDMDJCMUEwMEVGMDIzRUMwMEZGMDBENworOjEwRDFEMDAwMzcyMENEQjA3M0VDODhGQjgwM0ZDMDBGMzAwMzAwNDQ5NAorOjEwRDFFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2RTAwODg4MDJDRTEwNworOjEwRDFGMDAwMDg5NDBBQTkwMjg4NDAyMkQwMDhCOTQyRUMwNEJCMDA3NgorOjEwRDIwMDAwMkNENDBEQjAwMkVEMjBCQkQwMkVDMDBCQjAwMkEwNDAzQworOjEwRDIxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyNDAwQUI4MDJFRjAwQworOjEwRDIyMDAwMjlBMDgyNkQwMDg4MDgyMjA0MDg5MDQyRUMwMEJCMDAwRgorOjEwRDIzMDAwMkE4MTA4QjAwMkU0MDlCQTA0MkVDMTRCOTg4MjIwMDA2QQorOjEwRDI0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwODMwMDJDQzAxRgorOjEwRDI1MDAwMEEyMTAyODQxMDgyMDBFMDAwMTgwQTEyQ0MwMEIzMDBGOAorOjEwRDI2MDAwMENDMDA5MzAwMkNDOTBCMDAwMkNDMDBCMTAwMjgyMDExRgorOjEwRDI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2NDAwRUIwMDNFMDAxNAorOjEwRDI4MDAwMkNCNDAzNjQwODg4MDBCMjAwMENCMjQzRkMwMEZCMDAxRAorOjEwRDI5MDAwNTYwMDBDRjAwMUU0MDBGQjAwM0ZDMDBGODAwQjAwMDNDMAorOjEwRDJBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGNDAwRkYwMDNGNDBGRgorOjEwRDJCMDAwMkRGMDYxRjAwMEY0MDAyNzAxMERCMTExRkMwMEZGMDIxOAorOjEwRDJDMDAwMDdDMDBGRjAwM0VDNDBGRjAwM0ZDMDBGQzAwMzY4MDYyQgorOjEwRDJEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGNjAwRUY5MDNENEMxQgorOjEwRDJFMDAwMkNDMDEzRjQwOEZEMjAzNzRDOEU4MjgzNzQ4NERDQzI3QQorOjEwRDJGMDAwM0ZEODBERjIwM0VDQzBGRjgxM0YwMDBDRjgwM0YwMDBCMworOjEwRDMwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFNjAwOEIyNDJFNUNGRQorOjEwRDMxMDAwMDg4RDAyRkY0OEI5OTAyRjU0MEI4NDgyM0U0MEEwODBCNAorOjEwRDMyMDAwMkVDNDBBRkM0MkVEODBCOTgwMkU2MDBBOTgxMkUwMDRGNworOjEwRDMzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVFNDAxQTMwMDI4NDgzOAorOjEwRDM0MDAwMEEwMDQyQzQwMEIxMDAyQzQ5MEIwQTQyMDRBMjkxMjFGOAorOjEwRDM1MDAwMkNDOTA4MzEwMjhDQzFBMzAwMkM0MDA4MTgwMkEyMDE3QworOjEwRDM2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBMDIwOEI4MjJFNDQzOQorOjEwRDM3MDAwNTg4MDAyRTQwMEJCMTAyRTQwMEJBMTEyMEMwMTg5MTA1MgorOjEwRDM4MDAwMkVDMDBBQjAwMkVDMDFCODgwMkVFMjBBQTEwMkYwMDQxRAorOjEwRDM5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQjQwRUI0MDNFNjBFNAorOjEwRDNBMDAwMEU4NzMzRTQwMEI5QTEzNkMwMEVBODBCMjYwMERBQzAwMAorOjEwRDNCMDAwM0VDMDhEQjAwM0VDMDBGQjg1M0VFMTA4QjgwMzkwMDU0QworOjEwRDNDMDAwMjAwMDAwMDAwMDAwMDAwMEUwMDFCODAwRkYwMjJGNjAxNAorOjEwRDNEMDAwMDNFODgzRkMxMEZEODAxRjQwMUZEMDEzQkU0MEVFMDQwNQorOjEwRDNFMDAwM0ZDMDBGRjA0M0ZDMDhGRDAwM0NDMDBGRDAxMUY4MDAxNworOjEwRDNGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNDAwREIwMEIyNDAwQworOjEwRDQwMDAwMEU5NDAzMjQwMEQ5MDBCQUMwMEMyMDAzRTQ5MEZCMDA2MgorOjEwRDQxMDAwM0FDMDBDQjAwM0VDMDFGQTAwM0VEMDJDOTgwMzkwMDQwMworOjEwRDQyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUwMzAwOEIwMDIyNDgxNworOjEwRDQzMDAwMDg4NDIyMkMwMEI5MDAyMkMwMDhBMDAyRUQwMDhCQTBCNQorOjEwRDQ0MDAwMjFDMDA4RjAwMkZDMDBCOTgwMkVDMDA4QTAwMjMyMDAwMgorOjEwRDQ1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0NTIwOTMwMDIyRjg5NQorOjEwRDQ2MDAwMEIzMDBBODQ0MEIyMDAyMDQwMDgxMDAyQzQwMDgwODBDMworOjEwRDQ3MDAwMjhDMDI4MzkwMjRDMDBCMTAwMkNDMDA4MzAwMkI4MDA4NgorOjEwRDQ4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDEzNjAwOUY4MDIxNjA1NQorOjEwRDQ5MDAwMDkzODAyOUUwMEIyQzAyMDYwNDg0ODEyRDZDNjg2RDAyNQorOjEwRDRBMDAwMjFFMDA4NzgwMERFODBCNzgyMkRFMDA4RjgwMjA4MDA0RAorOjEwRDRCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzIwRDMxMDMwQzhENQorOjEwRDRDMDAwMEYzMDAzODQwMEYxMDAzMDQwMjQxOTAzRTRDMEUwNDAzMQorOjEwRDREMDAwM0FDMDBDMzIwM0NFODBCMTI4M0NDMDBDMzAxMzkyMDIwQgorOjEwRDRFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUQ5QzAwRTYwMDdGQzAxRQorOjEwRDRGMDAwMEVGMDIzNzQ0MEZGMTAzRjQwNEZEMDAzRkNEMkNFMDQwNworOjEwRDUwMDAwM0ZDMDBGRjQwM0ZDMDBGRTAwM0ZDMDBGNzEwM0QwMTJCOAorOjEwRDUxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFRTAwQ0IwMDE2QzA2RgorOjEwRDUyMDAwMEQ4MDAzMjcyMENCMDAzRUMyMEFCMDUzRTQyOEMxODFGRQorOjEwRDUzMDAwMzJDMTBFQjkwMzJDMDBGMTgwMzVFMDBDQjgwMzJBMDQ4NworOjEwRDU0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAyODcxMDJENDA3MAorOjEwRDU1MDAwMDg3MDAzNUMwMEE3MDAyRDQwMjg3MDAyRDQwNDg3MDRFMworOjEwRDU2MDAwQTFEMDBCNzIwMjFEMDBGNzAwMjFDMDBENTAwMjEyMDQ2MQorOjEwRDU3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwODU4MDI1RTBFMworOjEwRDU4MDAwMDk3ODAyMzcwMzg3ODAyRkUwMDg3ODEyQzYxMDhEODA1MworOjEwRDU5MDAwMjVFODBCMzgwMjFFODBCQzg0MjVFMDA4NTgwMjcwMDA4NAorOjEwRDVBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDRDgwODM4ODJDQzBCQgorOjEwRDVCMDAwMDgzQzAyNEUwMUEzRDIyRUM0MDhCMTAyQ0MwMDgzODBFNQorOjEwRDVDMDAwMjRDMTBCMzAwMjBDMDBCMzQwQTBEMjA5MzAxMjUyMDAyQgorOjEwRDVEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQTAwQ0FDMDM2ODAyNAorOjEwRDVFMDAwMEQ2NzEzMjgwMENFMDAzRUEwMENFRDAzRTgwMENFRTA0RQorOjEwRDVGMDAwMzY4MDFFQTAwQjI4MDRGRTAwQjdCMjBDRTAwQjdBMDBBOAorOjEwRDYwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDQwRjgxMDJFMTAwQworOjEwRDYxMDAwMEY4MDAzRTAwMUQ4MEEzRTAwMEY4MDAzQzAwMkY4MDgyMworOjEwRDYyMDAwM0EwMDBGODAwM0UwMTBFODIwQkUwMDBGODAxMzkyMDA0NAorOjEwRDYzMDAwMjAwMDAwMDAwMDAwMDAwMDA4MTBFNTAwRkIwMDNFNDA1NAorOjEwRDY0MDAwMEM5MTAzMjYwMDYxODAzMjQwMEM5MDAzMjQwMEM5MDAzNQorOjEwRDY1MDAwMUU0MDBDOUMwM0U0MDFGOTAwM0U0MDBGOTAwM0MyMDAwMQorOjEwRDY2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NzAwQjkwMDJDNDA3QQorOjEwRDY3MDAwMDA5QzAyQTYwMDc5MDAyMjQwMjg5MDAyMjQwMDg5MDAyNAorOjEwRDY4MDAwMkM0NDA4OTgwMkU0MDBCOTgwMkU0MDBCOTAwMkUwMDE3RgorOjEwRDY5MDAwMDAwMDAwMDAwMDAwMDAwMDE4MDEyNDAwQkIwMDI2NTAxQworOjEwRDZBMDAwMjg5MDgyMjQ4NDk5MjAyMjQwNDk5MDAyMjQwMDg5MDBGNQorOjEwRDZCMDAwMkU0MDA4OTAwMkU0MDBCOTYwMkU0MDBCOTAwMkM2MDQ5MAorOjEwRDZDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNjAwQjEwMDJFNDhFMQorOjEwRDZEMDAwMDgxMjAyODQ4MEIxMjBBMDQ4MDkxMjBBMDQ4MDgxMDA0NworOjEwRDZFMDAwMkM0ODI4MTI0MkM0ODgzMTAwMkM0MDBCMTgwMkMyMDE3OQorOjEwRDZGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwRjg1MDM2MTQ3MworOjEwRDcwMDAwMEM4MDAzMjAwMEU4MDAzMjE0MEM4NTAzMjE0MEM4NTAyRgorOjEwRDcxMDAwM0UxNDBDODAwM0UxNDAzODAwM0UwMDhGODAwM0VFMDM4RQorOjEwRDcyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURENDAwRkIwNDNENDRBMAorOjEwRDczMDAwMEY1MTIzRDQ0OEVEMTAzRDQ0NEVEMTIzRjQ0MkZEMDA1NworOjEwRDc0MDAwM0U0NDhGOTEwM0U0NThGRDAwM0Y1MDBGNTAwM0U2MDYxRQorOjEwRDc1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNDAwRjkwMDNENDBEMgorOjEwRDc2MDAwMENEMDAzRjQwMEREMDIzRTQwMEM5MDAzRTQ0MEM5MTBFRAorOjEwRDc3MDAwMzc0MDA3RDAwNzI0MDBFNTAwMkY2QTBGNzAwMzA2MDAyQQorOjEwRDc4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDAwQjgwMDNBMDAwRgorOjEwRDc5MDAwODA4MDAyRTAwMDg4MDAyRTAwMEE4MDUzQTI4MDJDQTAyNgorOjEwRDdBMDAwMjIwMDBCODAwQTIwMDBCODAwMkUxMDA5ODAwMzBFMDQwRQorOjEwRDdCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMDZDNDAwQgorOjEwRDdDMDAwMkExMDAyODQwMTgxODAyRTQwMDkxMDAyRjQwMDhEMDQ4OQorOjEwRDdEMDAwMjA0MDBCMTAwMjg0MDBCMTAwMkM0MDBCOTgwMjQyMDE0MworOjEwRDdFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTFBNDIwQjkwMDJBNDBCOQorOjEwRDdGMDAwODhCNDAyRTYwMUE5MjAyRTQ4MEE5MDAwQTQ0MEFENDA1QQorOjEwRDgwMDAwMjI0MDBCOTAxMkE0MDRCOTAxMkU0MTBCOTAwMjA2MDQ5MQorOjEwRDgxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjlDMDNFNjBCOAorOjEwRDgyMDAwMEM5NDEzQTYwMkQ5NDIxQzYwMEM5RTAxQzYwNEMxMDBEMAorOjEwRDgzMDAwQjI0MDFGOTAwMkE0MDBFOTA4M0U2ODRGOTgwQjY4MDRBQworOjEwRDg0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNjQwRjkyMDM4NzA5OAorOjEwRDg1MDAwMEY5MTAzRTQwMEQ5ODAzRTQwMEY5QzEzQTQwMEY5MDAwRgorOjEwRDg2MDAwM0U0MDBGMTAwMzY0MTBGOTBBM0U1MDBEOUEwM0NBMDA5RgorOjEwRDg3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMTAwRDgwNDNFMDA1NQorOjEwRDg4MDAwMEM4MTEzQzAwMkQ4MjAzRTAwMkQ4NDAzRTAwMENDMDg5OAorOjEwRDg5MDAwM0EwMDBGODA0M0UwMDBGODQxMzIwMDA3ODE4QjBBMDQxMAorOjEwRDhBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzQTYwOEEwMDJGQTgzMAorOjEwRDhCMDAwMEFFMDIyRTgwMjdFNDgyRTgwMDhBMDQyRTgwNDhFMDA5QQorOjEwRDhDMDAwMjNBODBCQTg4MkU4MDBFRTAwQTI4MDRCNjAwMjBBMDBBOQorOjEwRDhEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTMwMDZDQzBEMAorOjEwRDhFMDAwMDgzMDAyQ0MwMDEzODEyQ0MwMDgzMDAyQ0U0MDgyNDBBOAorOjEwRDhGMDAwMjhFMDBCMzgwMkNDMDBCMzEwMjRDMDhCMzgwMjBBMDA5OQorOjEwRDkwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExRTAwODcyMDJGQzA3MgorOjEwRDkxMDAwMEE3MDAyREMwQUI2MDAyQ0M4ODg3MjA2RDgwMDg2MDA5RAorOjEwRDkyMDAwMjFDMDBCNzAwMkRDODRBRjgwQTVDMDBCRDAwMjI4MDBBMAorOjEwRDkzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRDc4MDNEQTBBNQorOjEwRDk0MDAwMUM3ODEzRDYwMkQ3ODAzREVDMDg3RTIzRkUwMENFODBFMworOjEwRDk1MDAwMzk2MDBGNzgwM0RGMDBGNjgwNzVFMDBGNzgwMzJBMDI0NAorOjEwRDk2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MUQ4QzAwRkIxMDNFODAzRAorOjEwRDk3MDAwMUZBMDIxQ0MwMEZBMDAzRUMwMEVCMDAzRTgwMkZBMDA1RQorOjEwRDk4MDAwM0U0MDBGQjAxM0VDMDBFQTAxM0FDMDBGOTAwM0MyMDYwQworOjEwRDk5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGQzAwRkY4MDNGNjAwOAorOjEwRDlBMDAwMDg5OTA3N0UwMEREODAzRkUyMENGODAzRjYwMkRGODA3NQorOjEwRDlCMDAwQjNFMDBDRjgwMzNFNDFDQzgwMzNFNDBGRjgwM0MwMDAyMQorOjEwRDlDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzQwQjcwMDJEQzBBRQorOjEwRDlEMDAwMEQ1QTIyREM4MDc1MDAyREMwMDg3MTAyRjAyMDg3MDBFRQorOjEwRDlFMDAwMjFDMDBBNzAwMjFDMDBENDI4MjFDMDBCNzIwMkVBMDQ3NAorOjEwRDlGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzQwQjcwMDJEMDAwNworOjEwREEwMDAwMDg3MjIyRjQwMDg3MDAyREMyMDg3MDAyRDQwMDg3ODBCQgorOjEwREExMDAwMjU0MDA5MzAwMjVDMDFBRDAwMjlEMDRCNzAwMkMwMDBFNgorOjEwREEyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzAwQkJDODJDQTA4NworOjEwREEzMDAwMDkyMDAyQ0UwMEEzMDAyQ0UwQTgzRDQyQzIwMDhCODA0QQorOjEwREE0MDAwMjQ0MDBCMzAwQTZDMDhBMzQwQThFMDBCMzQwMkM4MDQ0MQorOjEwREE1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBRDAwRkY0ODNDMjg4MQorOjEwREE2MDAwMENBOTIzNkM4MDhCMDAzRkMwMENGQzAzRUMwMEQ4ODAxOQorOjEwREE3MDAwMzQ0MDBEMzAwMzdDMDJBMzQwMzg2ODBGMjQwM0VBMDRDRAorOjEwREE4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFRDg4RkIwMDNFNTBCOAorOjEwREE5MDAwMEZBMTAzRUMwNDNBQzAzRUMwMEZCMDgzRTgwMkY4MTBCNworOjEwREFBMDAwM0E0MTBFOTAwM0FDMDA5QjA4QjY0MDBGODEwM0UwMDBBMgorOjEwREFCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwRkYwMEIzMjA1NworOjEwREFDMDAwMEM1MDEzMUMwOUNEODMzM0MwODM3MDAwM0MwMERDMTA2NAorOjEwREFEMDAwMzI2MDBFRjE0MzJDMDBDRTA0M0I3MDBDRjA4MzAwNDQwNgorOjEwREFFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2NzgwQkIwMTYyMjE1QgorOjEwREFGMDAwOEE4OTIwMkMwMDgwRTAyMkMwMEJCMDAzRDgxMDhDMDQ0RgorOjEwREIwMDAwMjI0MDA1OTAwMkFDMDBEODgwMzY0MDBBOTAwMjIwNDBBNgorOjEwREIxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyNjAwQkIwMDIyMDY2NworOjEwREIyMDAwMDg4MDAyMkUwMDg4MjAyMkMwMDlCMDAyQTQwMDk5MDBCQgorOjEwREIzMDAwNjJDNDA4QjAwNjJDMDA4ODgwMjI0MTA4QTAwMjIwMDBBMAorOjEwREI0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwQjMwMDIwNDA2QQorOjEwREI1MDAwMEEwMDgyMEMwMDgwMDAyMEMwMEIzMDIyQTAwMDgxMDA0RgorOjEwREI2MDAwQTBDMDA5MzAwMjhDMDA5MDAwMjQ0MDBBMjgwMjAyMDE2MworOjEwREI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2MDAwRkIwMjIwMDAxQgorOjEwREI4MDAwMkM5MjAzMkMwMjg4MDAzMUMwMEJCNTAyQTQwMEQxMDRGMgorOjEwREI5MDAwMzI0MDBFOTAwMzJDNDBDOTAwM0E0MDhDQTAwMzAwMDM5MQorOjEwREJBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGNDAwRkYwMDJGMDA0NgorOjEwREJCMDAwMEZDMDAzREMwMEZDMDAzRkMxMEZGMDQzRjAwMEZEMDA4QworOjEwREJDMDAwM0Y0MDRGRDAwM0ZDMDBGNTAwM0Y0MDBGRTAwM0U4MDY2NAorOjEwREJEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVEODgwQ0MwMEI3MDQzMQorOjEwREJFMDAwNEVFMTAzM0MyMERGMTAzMTgwMDZGMDAzN0YwMEZGQzBEMAorOjEwREJGMDAwM0JDMDBFRjIwMzVFMDBFRjEwMzNEMDJDRjIwMzMwMDA3NgorOjEwREMwMDAwNzAwMDAwMDAwMDAwMDAwMEMwMTBFOTAwODhDNjIwNUMyMQorOjEwREMxMDAwMDhBNDU3NjUwMDhGNTIyQUYwMDlGQzAyMDQwMEJCMDBEQgorOjEwREMyMDAwMkREOTA5NzQ4MzY0Mjg4MzQ0MjI4NDg4MDY4MjMwMDRCMQorOjEwREMzMDAwMzAwMDAwMDAwMDAwMDAwMEM4MDVDOTAwODAxMDIwMDg2NgorOjEwREM0MDAwMDgzMTEyMDRCMkEzMDAyMDg0MUIzNDAyMEM4MEIzMjBEQworOjEwREM1MDAwMkNDNzA5MzYwMjhDODA5MzQwQUNDODA4MzEyODMyMDFBOQorOjEwREM2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBOTAwODgwMEEyNTA0QworOjEwREM3MDAwMDgzNTAyMjQwMDhCMDQyRUMxMDlCMDAyMjQ5NEJCMDA5NQorOjEwREM4MDAwMkVDMDBCQjAwMkNDNjA4QjAwMkU4MDA4ODAwMDMwMDRDOAorOjEwREM5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTVFNzAyQ0IxOEIyODAxMQorOjEwRENBMDAwMkNBQzBBMkUwOEVCMDAzMjEyNEVCMDAzMkI4MEZCMDA4NgorOjEwRENCMDAwM0FDMDBBQjAwM0FCMDhFQjA0MkU0ODBDQjg4MzAwMDQ0QQorOjEwRENDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNjgwRkY4MDM5Q0E0QgorOjEwRENEMDAwMERFODAzRDY0MEU3MDQzQjY2NEU3MDAzQjgwMEZGMDEzMQorOjEwRENFMDAwM0ZDMDZDRjAwMzcwMDZFNzAwMzEwNDBGQzE0M0Y4MDAzOQorOjEwRENGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTA4NTAwQ0I0MDMyOTAyMgorOjEwREQwMDAwMkZCMDBCNjQ4MEZCMDhCQTEwMERCMEE3MkQwMEZCMDRFOAorOjEwREQxMDAwM0VDMDhFQjAwMzZEMDBEQjAxMzI0MDhDMzMwMzkwMDRCMworOjEwREQyMDAwMjAwMDAwMDAwMDAwMDAwMEMwMDUyNDAwODNFMEEyRDAxNQorOjEwREQzMDAwNDBCMDAyMjUwNEJGODBBMDUwMDhGODAyMjAwMDhCMDJFQQorOjEwREQ0MDAwMkZEMDA4RjAwMjI0MDA4RjgwMzYwMTA4ODQ0MjM2MDA2QworOjEwREQ1MDAwNDAwMDAwMDAwMDAwMDAwMEU4MDU0NDAwODM0ODIwQzRBMworOjEwREQ2MDAwMDkwMDAyNDYwMEIzMDFBODkwMTkzMDEyOEMwMEEzMDRFOAorOjEwREQ3MDAwMkVFMjBBQjAwMjBDMDA4MzQ5MjhDMDA5M0MwMjM4MDA5OAorOjEwREQ4MDAwNTAwMDAwMDAwMDAwMDAwMEYwMDEzNjA0ODM4MDIxRTExMworOjEwREQ5MDAwMDgzODEyMUUyOEIzOTgyMUEwMTkzODgyOTYwMDg3ODM2QworOjEwRERBMDAwMkRFMjA4NzgyMjM2OEM4NzgwMkRFMDA5NzkwMjNFMDAyQQorOjEwRERCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwNDAwQzMzMDMwQzhFNAorOjEwRERDMDAwNEQwMDBCNEM4MEYzMTIzOEMwMEQzQTAyOEM4MEYzMDBFQQorOjEwREREMDAwM0NDMDBFMzAwQjBFMDBDMzBDM0FDMDBEMzAwMzEyMDJEMworOjEwRERFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCNDA2RkYxMDNGQzAwRQorOjEwRERGMDAwMEZCMDEzQkMwMEZGMTA3RkMwMEVGMUEzN0MwMEZGMTIxOAorOjEwREUwMDAwM0ZDMjBGRjUyM0JDNDFFRjE4Mzc4MEFFQzAwMzUwMDY2OAorOjEwREUxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFNDAwREIwMDNFREExRQorOjEwREUyMDAwMEM4MDAzNjYxMDhCMDAzMjgwOENCNjAzNEEwMDRCODA1NgorOjEwREUzMDAwMzJDODBDQjQwMzBBMTBEQjAwM0VDMTBDQjA0MzJBMDAwOAorOjEwREU0MDAwNzAwMDAwMDAwMDAwMDAwMEM4MTFCNDAwODcwNDJDQzA1RQorOjEwREU1MDAwMEQ3MDAzMUMwODg3NDgyMDgxMEQ3MjgyNUMwMEQ3MDA3QQorOjEwREU2MDAwMjFDQzI4RjAwMjFDMTA4NzIwMkMwMDA4NDAwQTMyMDQyNAorOjEwREU3MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDA5NjAwQjc4MTJERTBFNworOjEwREU4MDAwMDg0ODAyMEUwNDg3ODAyMUUwMDg3ODAyM0UwMTg3ODA1RQorOjEwREU5MDAwMjFFMDE4NzkwMjNBMDE5N0EwMkQ2MDA4MzgwMjIwMDA4RAorOjEwREVBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDNjAwQTNDNjJDQzBEQgorOjEwREVCMDAwMDkzMDAyMEMwMTgzMDAyMEUwMDkzMDAyNEUwMDkzMDA3QgorOjEwREVDMDAwMjBDMDQ5MzAyMjBGNjQ4MzAyNkNENDI4MzAwMjEyMDQyRgorOjEwREVEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTFBQjgwRkFFMDNDODg1MAorOjEwREVFMDAwMENFMDAyMjgwMkNBMDBCM0E5MENBMDAzM0IxMENBMDAzMAorOjEwREVGMDAwQTI4MDBDQTAwQjM4MDBEQTAwM0ZCMDBDRTYwMzNBMDQxNQorOjEwREYwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBDMDIwOTgwODNFMDBBQgorOjEwREYxMDAwMEY4MDBCRTEwMEY4MDEzQzEwNEYwMDAzQTA0MEY4MDAxNworOjEwREYyMDAwM0UxMDBFODAwM0UwMDBGODAwM0MwMjJGMDQ5M0QyMDA2NAorOjEwREYzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwQzFDMTMyNDBDMQorOjEwREY0MDAwMEM5ODAzMjY0MEY5MDAzMjQwMEM5ODAzMjQyNEY5MDA3MQorOjEwREY1MDAwM0M2MDBDMTAwM0E0MDBGOTgyMzI0MDBDOTAwMzAyMDREMAorOjEwREY2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODkwMDIyNTA5RQorOjEwREY3MDAwMEQ5ODAyMjU4MEI5MDAyMjUyMEQ5QzAyMjQwMEI5MDBBMAorOjEwREY4MDAwMkU2MDA4OTA0MjI0MDBCOTQwMzY0MDA4OTAwQTIwMDBENAorOjEwREY5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwOEQwMDIzNDA0MAorOjEwREZBMDAwMDgxMjAyMjQwMEExMTBBMjYwMDg5MjhBMjQwMEI5MDE3QworOjEwREZCMDAwMkU0NjA4OTAwMkE0MDBCMTUwMjI0MDI4OTA4MjA2MDAwQworOjEwREZDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDg0ODUyMEExRDg1RgorOjEwREZEMDAwMDkxMDAyMDQ4MEIzMjAyMDQwMjkxMjA2MDQwMEIxMDE3OAorOjEwREZFMDAwMkM0ODI4MTIwMjA0MDBCMTIwMjQ0ODA4MTIwMjAyMDEyMQorOjEwREZGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQyOEEwMEIzMDA3QworOjEwRTAwMDAwMEMwNTAzMjE0MEUwNTBCMjAwMkM4MDAyMjE0MEYwNTA2QQorOjEwRTAxMDAwM0MxNDBDODUxM0ExNTBGODUwMzIxNDBDODUyMzJFMDNBOAorOjEwRTAyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQwRjkxMDNFNDQyQworOjEwRTAzMDAwMEZENDBCRjQ0NEY5MTAzRjUwNEYxMTAzRjQwMEY5MDBEMgorOjEwRTA0MDAwM0U0NDBGOTE1M0Y0MTRGOTEwM0Y0NDBGRDEwM0U2MDJGQworOjEwRTA1MDAwNzAwMDAwMDAwMDAwMDAwMDk4MDVFNkEwREQ4OEIzNjZBRgorOjEwRTA2MDAwMENEQzgzMzY4OEJEQTAzNzZBMENEQTBCMjUwMkM5NDA2OAorOjEwRTA3MDAwM0Y3ODRGOThCM0U1MDRDREEwNzI3ODBDRDg4QjI2MTQ2NgorOjEwRTA4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMzAwODg0MjIyMzFEOAorOjEwRTA5MDAwMDgwQTAyMjJBMEI4RjkyMjEwMEQ4NDEyNkE4MDg4ODAzMgorOjEwRTBBMDAwMkUyMDBCMDgwMkUyODBBOEE4QTIzODQ4QTgwMjBFMDA4MQorOjEwRTBCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDVDNEEyODEwMDIwNDg5NAorOjEwRTBDMDAwMDgxMjQyNDUwMEIxMDAyNDQwMDkxNDAyMjQwMDgxMjBCNgorOjEwRTBEMDAwMkM1ODBCMTA4MkM0MDQ5MTQwNjQ2QzA4MzA4MjEyMDVFNQorOjEwRTBFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDAwODkwMDIyNDEwMworOjEwRTBGMDAwMDg5MDhBNjQ4MEI5MDAyMjUwMDk5MDA2NjQwODk5MDA0QgorOjEwRTEwMDAwMkU0MDBCOTAwNkM0MDFCOTAyMjY2MTg4OTAwMjA2MDRENQorOjEwRTExMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwQzkwMDIyNDBEQgorOjEwRTEyMDAwMkM5NDIzNjQwMEI5MDAzNjQwMDk5MDEzMDUwMEM5MDBGRgorOjEwRTEzMDAwM0U0MDRGOTAxM0U1QzBEOTAwMjY0MDJDOTQwMzI4MDBBMAorOjEwRTE0MDAwNzAwMDAwMDAwMDAwMDAwMDY4MDFBNDAyRTkwODNDNDBFMworOjEwRTE1MDAwMEY5MDBCQTQwMEYxMDAzRTQxMEY5MDQzQTQ4OEU5MDQwNgorOjEwRTE2MDAwM0U0MDBGOTAwM0U2MDBFMTAwM0E0MDlGOTI2M0RBMDBFMAorOjEwRTE3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTA4MDEwRTAwMTMyMDA2NAorOjEwRTE4MDAwOEY4MDAzMjAwMEQ4MDgzMDAxOEMwMDAzRTEwMkM4MDQwRQorOjEwRTE5MDAwM0UwMDBDODAwQjIxMDBDODAwNzgwMDBGODYwMzBBMDBBNworOjEwRTFBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEU0MDJCODI3RgorOjEwRTFCMDAwMEJBMDAyM0EwMDhFODAyMzgyMDhFMjAyMjgxMDhBMDAxNworOjEwRTFDMDAwMkY5ODI4QTAxMjI4MDA4RTIwMkU4MDRCRTQwMjBBMDBFRgorOjEwRTFEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAyQTI0MDIwODAwMgorOjEwRTFFMDAwMEJCMDAyNEU0MDkzQzBBMDIwMDgzNjAyOEMwMDkzMDA3MgorOjEwRTFGMDAwMkNFMjA4MzAwNjRDMTI5MzA4MjhDMDBCQjAwMjBBMDAyQgorOjEwRTIwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzA4ODI0MDI5NDBDRQorOjEwRTIxMDAwMEI3MDAyNUUwODg0MDgyMzQwMDg3MDA2MUM4MDg3MDA4QgorOjEwRTIyMDAwMkQyMDA4NzkxMjVDMDA5NDAwMkRDMDBCMzA0MjI4MDA4QworOjEwRTIzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzRTAwRTQ4MDMxQTE3QQorOjEwRTI0MDAwMEY1ODEzNzYwMEQwODAzMUMwMEMzODAzQkU4MEQ3ODFDMAorOjEwRTI1MDAwM0YyMDhDNzkwMzdGMDFENjgwMzlFODRGNjgwMzJBMDA3QworOjEwRTI2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURCRTAwRkEwMDNFMDA5MworOjEwRTI3MDAwOEY5NjBCQTQwMEVBMDAzQ0MwMEY5MDAzQUMyMEZCNDAzQgorOjEwRTI4MDAwMkUwMDBGQjIwM0FEQTBFQTAwM0VDMDBGQTAxQkMyMDRENworOjEwRTI5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMDVGRTA4REU4MTMzQTQ5RAorOjEwRTJBMDAwMEVGQzEzM0UwMEZDODAxMzIwMEM2ODAzM0UyMEZGQzhDOAorOjEwRTJCMDAwM0Y2MDFERjgwMzdFMDBDNzgwMzNFMjBDRDgwMzEwMDBENgorOjEwRTJDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwODY0MTMxQzRDRAorOjEwRTJEMDAwMDg3OTQyOUMwMEJDMTAyMTQwODUzNTAzNUMwMEI3MDBFMgorOjEwRTJFMDAwMkRDMDA4NzIwMjJDMDBBNzAxMzdDMDA4NTE0MjJBMDAzNQorOjEwRTJGMDAwNjAwMDAwMDAwMDAwMDAwMDEwMDA4QzQwODIwMDI0ODFCQgorOjEwRTMwMDAwMDhEODAyMTQyMEI1MDAyMDQwMDk2MDAyMUM0MEI3MDA2NAorOjEwRTMxMDAwMkM0MDBCMzAyMkRDMDA5NzAwMjFDNDA4NDAwMjQ0MDA0RQorOjEwRTMyMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRFQzAwOTIwNjIwOTAyNQorOjEwRTMzMDAwMzgxNTAyODYwMEI4MDA2MDUwMDkzMDAyNEUwMUJCMDA1QgorOjEwRTM0MDAwMkU0MDBCMzAwMkNFMjBCMzAwMjRGMDQ4MDIwQTU4MDRCRAorOjEwRTM1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwQ0EwMEE2OTQxMAorOjEwRTM2MDAwMkM5MDAzMkUwMEZCMDVCMjg1MEQ5MDAzM0Y5MEZGMDAxQgorOjEwRTM3MDAwN0U4MDFGRjA0M0ZDMjE5QTAwMzNDODNDQjIwMzZBMDQzQworOjEwRTM4MDAwNjAwMDAwMDAwMDAwMDAwMDkwMDBFQzAyRUE0MDNEODBDOAorOjEwRTM5MDAwMEYxMDkzRUQwMEZCNDAzRTkwOEYzMDAzRUM4MEZCMDBBQworOjEwRTNBMDAwM0U5MTFDQjAwMzJDMTBFODAwM0VDODFGOTAwM0E1MTAzRQorOjEwRTNCMDAwMzAwMDAwMDAwMDAwMDAwMDgwMTBGQzAyRTQwMDczQTBBOAorOjEwRTNDMDAwMENGQzAzN0MwMkZGMTAxM0M0MUNDMDAzM0MwMEZGMDBDNAorOjEwRTNEMDAwMzdFMDBERjAwM0ZDMDBFRDgwMzFDMDBDMzI2MzIwMDQwNworOjEwRTNFMDAwMzAwMDAwMDAwMDAwMDAwMDg0MDA2QzAwOEFDMDIyQjFGMAorOjEwRTNGMDAwOEFCODQzNEExMERCMjAyMEYwMEE5NDAzNkMwMEJCMDc2NAorOjEwRTQwMDAwMjJCODA4QjAwMkVDMTFFOEMwQjJDMDJBOTIxQTIwMDA2QgorOjEwRTQxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDEyQzAwQUE4MDIyOTg1QgorOjEwRTQyMDAwMDg5MDAyMkYwM0JCMDEyQTgzMDhCMjRFMkMwNEFCMDJEMgorOjEwRTQzMDAwMjJDNDI4QjAyMkVDMDlCMzUwNjJDMDA4QjAwMjIwMDAwOAorOjEwRTQ0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAxODMwMDYwODAxMAorOjEwRTQ1MDAwMDgxMjBBNDQwMDkzMDAyQTgwNEEzMDAyMEMwMEIzMDBEQworOjEwRTQ2MDAwNjBDMDA4MzAwMkNDMDBCMzAyNjBDMDA4MDA0NjAyMDE2MAorOjEwRTQ3MDAwMDAwMDAwMDAwMDAwMDAwMDgwMEQ2QzAwRTgwMjIyODAxNworOjEwRTQ4MDAwMkNGMjQzMkMwMEZCMDBCQUMwMDhBNTAyM0MwMEVGMDBCMAorOjEwRTQ5MDAwMzZDMDRERjAxM0ZENTFGQjAwMzJDMDBDQjAwMzIwMDExQgorOjEwRTRBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwN0UwNDNGODAyMgorOjEwRTRCMDAwMEYzMTQzRjAwMkZGMDAzN0MwMEZGMDAzRkMwOEZGMDBFQworOjEwRTRDMDAwM0ZDMDBGRjAwM0ZDMDBFRjAwM0JDMDBGQzAwM0U4MTY5NQorOjEwRTREMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMjQwRkM4MDNGMjRGNgorOjEwRTRFMDAwMEREODUzRDYwNERGMzIzRkNDNENDMDQzRkMwMERGNjA3NAorOjEwRTRGMDAwMzdDMDBGQzQwMzdDRDBERjIwMzNEODBERjg0M0YwMDBDMQorOjEwRTUwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMThFODgwQjAwMTJFMDhCNAorOjEwRTUxMDAwODg5MDAyRUMyMDhCNzAyRkNDMDhCMzgyRkRFMEJGNDBDNgorOjEwRTUyMDAwMjJEODBCOTMwMkZEQzBBRjEwMjhGMDA4QkMxMkYwMDRGMworOjEwRTUzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNDAwQjAwMDJFMDE3QgorOjEwRTU0MDAwMEExMjgyRUM4MEIzMDAyQ0M4MEEwMDMyOEMwMEEzMzA3RgorOjEwRTU1MDAwMjBEMjA5MDAwMjhDODA4MzAwMjhEODBCMzQxMkYyMDFFQgorOjEwRTU2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVBQzAxQjgwMjJFMDBFMQorOjEwRTU3MDAwMEE5MDEyRUMxMDhCMDAyRUMwMEFCMDAwRUMwMEIzMDAyMQorOjEwRTU4MDAwMjJDMTBCOTIwMkNDMDFBQjAwMkFDMDAyQjAwMkYwMDRGRgorOjEwRTU5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFMDAwRkEwQzNFQzBFMgorOjEwRTVBMDAwMEZBMDEzRUUyMERCMDAzRUMwMkU4ODUzRUMwMEZCMDBEMgorOjEwRTVCMDAwQjJDMDhGQUM4M0FDMDhEQjAwMUFDMDRGQjAwM0MwMDRGQworOjEwRTVDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCODAwRkUwMDNGQzA0NQorOjEwRTVEMDAwMkRFMDAzRkU4MDdGMDAzRkMwMEREMjAzRkMwMEJGMDE5MQorOjEwRTVFMDAwM0VDMDBEQzgwM0ZDMENGRjAwM0ZDMDA5RjAyM0Y4MDAzQgorOjEwRTVGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNDAwRkE0MDMyQzE5QQorOjEwRTYwMDAwMEZBMDAzMjkwOERCMDAzRUMwMEU4NTAzRUMyMENCMDBFMQorOjEwRTYxMDAwM0FDMDBFQTQwM0VDMDBGQjAwM0FDMjBFQjAwMzEwMDQ5MworOjEwRTYyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQkE2MDIwQzBENworOjEwRTYzMDAwMEJBMDAyMDgwMEFGMDAyRkQwMEJCNTAyRkUwMjhGMDAyNgorOjEwRTY0MDAwMkZDMDBEODAwQTNDMDBCNzAwMjNDMjA1RjAyMjM2MDAxRgorOjEwRTY1MDAwNDAwMDAwMDAwMDAwMDAwMEMwMDQ0MDAwQjE4ODIwMDAxRAorOjEwRTY2MDAwMEIxMDAyMEMwMDgzMDAyRUM4MEIwODA2NEQ0MDgzMDBERgorOjEwRTY3MDAwMjBDMDA4MzAwNjBDMDg5MzIwMEFFMDRBMzAwMjM4MDAxNworOjEwRTY4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMTA1QTAwQjU5MDIxMjAyQQorOjEwRTY5MDAwMEI1ODQyM0UwMEE3ODAyREUwMEI2OTAyREU0MDg3OTJCNgorOjEwRTZBMDAwMkRFMDA5MTgwMjlFMDFCNzgwMjlFMDAzNzAwMjNFMDBBOAorOjEwRTZCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDg0NDAwRjEwMTMwMDA2NAorOjEwRTZDMDAwNUYxODAzMEMxMDgzMDAzQ0M0MEUwNDAzRUMwMDgzMDBBRAorOjEwRTZEMDAwMzBDNDBDMzEwMzhDMDBGMzAwMzhDODBFMzEwMzEyMDIzMQorOjEwRTZFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMTVCQzAwRkQwNEJGMDQ1NQorOjEwRTZGMDAwNEY1ODAzRjgwOEVGMDgzRkMwMEZGMDAxRkMwMEZGNEMzMworOjEwRTcwMDAwM0ZDMTBGRDAwMzNDMDBGNzAwMzdDMjBENzIwM0QwMDZBMworOjEwRTcxMDAwNjAwMDAwMDAwMDAwMDAwMDA4MDVFMjAwREIwMDMyQzBERAorOjEwRTcyMDAwNERBODAzMkMwOEZCMDA3RUM4OEZCMDBCNkY0NUVCQzJEMQorOjEwRTczMDAwMzZDMDA3QTAwM0VGMjBDQjUwQjJDMDBDNzkwMzJBMDBFQgorOjEwRTc0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTk5ODAwOEYwMDIxQzBGMAorOjEwRTc1MDAwMEI2MDAzNUMwMDM3MDAyREQyMEIzMDAyMENBODg3MjQxRAorOjEwRTc2MDAwMjFEMDA5NzAwMkREODg4NzJBMjNFODA4NzAwMjMyMDQ2QworOjEwRTc3MDAwNjAwMDAwMDAwMDAwMDAwMDIwMDBCNjAwOTc4MDIxRTA0QgorOjEwRTc4MDAwMEI2ODAyMUUwMEI3ODAyREU4OEI0ODgyMUU4MEEzODQ5MAorOjEwRTc5MDAwMjVFODBCNjgwMkNFMDI4NzgwMjFFMDA4N0EwMjIwMDA3QgorOjEwRTdBMDAwMjAwMDAwMDAwMDAwMDAwMDY4MDRDQzA4ODM4MjIwRTAwNAorOjEwRTdCMDAwOEIyQTAyNDg0MEIzMDAyQ0MwMEIzMDgyMEMwMDgzMDAyRgorOjEwRTdDMDAwMDBDMTA5MzEwMkNDMDA4MzAwMjBDMDA4MzAwQTEyMDRDNQorOjEwRTdEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVFODAwREFBMDMyQThEMAorOjEwRTdFMDAwOERBODAzM0IwMEZBMDAzRTgwMEZFNDAzNjgwMEVBMDJCNAorOjEwRTdGMDAwMzY4MDBGRTQwM0U4MDBDQTAwMzI4MDJDQTAwMzNBMDRGQworOjEwRTgwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDFBMDEwRjgwMEJFMjBEOQorOjEwRTgxMDAwOEZDMTAzRTAyNEY4MDAzRTEwMEY4NDAzRTAwMEY4MDFFQworOjEwRTgyMDAwM0UwMDBGODAwM0UwMDBGODAxQkUxMDBGODAwM0QyMDAwRAorOjEwRTgzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBBNDAwRjk0MDMyNDA0MQorOjEwRTg0MDAwQ0Y5MDAzRTQwMEM5MDAwRTUwMEYxQTAzMjYwMEY5MDAxMAorOjEwRTg1MDAwM0U0MDBGOTA4MUU0MDBGOTgwMzI0MDBDOTAwM0MyMDRFNgorOjEwRTg2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA0QjEwNDIyNDA3NQorOjEwRTg3MDAwMEI5MDAyRTQwMEE5MDAyRTUzMEI5MjBBMjY0OEI5MDQxQgorOjEwRTg4MDAwMkU0MDBCOTAwMkU0MDBCOTgwMDI1MDA4OTAwMkUwMDA5NAorOjEwRTg5MDAwMTAwMDAwMDAwMDAwMDAwMDM4MDUyNDAwQkQwMDIzNDBFNworOjEwRThBMDAwMEJEMDEyQzQwMDg5MDIyRTQwMEI5MDIyMjQwMEI5MDAyNAorOjEwRThCMDAwMkU0MDBCOTAwMkU0MDBCMTIwMjA0MDY4OTAyMkM2MDA1OAorOjEwRThDMDAwNDAwMDAwMDAwMDAwMDAwMDI4MTQxNDAwQkYxMkExNDAwNgorOjEwRThEMDAwMEI1MDAyQzQwMEExMjAyQzQ4MEIxMjAyMDQxMEIxMTFFRAorOjEwRThFMDAwMkM0ODBCMTMyMkM0MDBCMTQwMjA1QTA4MTAwMkMyMDE2OAorOjEwRThGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjg0MDMyMTQzNAorOjEwRTkwMDAwMEY0NTAzRTE0MEM4NTAzRTE1OEY4NTAzMjFFOEY4NjhBNAorOjEwRTkxMDAwM0UxNDBGODQwM0UxRTBGMDI4MzJBOENDODAyM0VFMDNGQworOjEwRTkyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MTVDNDEwRjkyMDNFNDA3RgorOjEwRTkzMDAwMEY5MDAzRjQwMEY5MTAzRTQ0MEZEMTAzRTQwMEY5MjBENgorOjEwRTk0MDAwM0U0NDBGRDMwM0U0MDBGOTAwQkU0MDBGOTQwM0U2MDZGMworOjEwRTk1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVFNDAwRkQxMDMzNDBCNgorOjEwRTk2MDAwMENEMDAzMjQwMEQ5MDAzRjQwNENEMDAzRjYwMEZEOTBBQQorOjEwRTk3MDAwM0E0MDBDOTAwM0U2QTBGREE4Mzc2ODBDRDg4MzI2MDAyNworOjEwRTk4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDA4QzhBMDIyMDA1RAorOjEwRTk5MDAwMDg4MDAyMjAwMDg4MDAyRTAwMEM4MDEyRTAwMEI4ODA2MQorOjEwRTlBMDAwMjIwMDBEMEEwMkUzODBCMEMwMjAzNDA4ODQwMzRFMDQyNAorOjEwRTlCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDA4NDA5QTEwMDIwNDE1MAorOjEwRTlDMDAwMDg5MDAyMjQwMDkxMDAyQzQwMDgxMDAyQzUwMEIxNjA5QworOjEwRTlEMDAwMjA0MDA4MTBBMkM0MjBCMTI4MjQ0QTA4MTAwMjUyMDE4NQorOjEwRTlFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTRBNDAxODEwMEEyNDA4MworOjEwRTlGMDAwQTg5MDAwMjU0MDg5MDEyQzQwMDg5NDAyRTQwMEI5MDA0OQorOjEwRUEwMDAwMkE0MDA5OTAwMkU0MDFCOTA0MjI0MTQ4OTAwMjQ2MDREOAorOjEwRUExMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTRBNTIwRTkwMDMyNDBDMgorOjEwRUEyMDAwNEMxMDBCMjYwMEQ5MDAzRTQwMkM5ODAzRTQwMEY5MDA1RQorOjEwRUEzMDAwQjI0MDBDOTAwM0U0MDBGOTAwMzY0MDJDOTAwMzY4MDRDNworOjEwRUE0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MDFBNDAwRTkwMDNFNDAwMgorOjEwRUE1MDAwMEY5MDAzRTYwMEY5MDAzRTQwMEU5QTAzRTQwMEY5MDAyRgorOjEwRUE2MDAwMzY0MDBGOTAwM0U0MDBGOTAwM0M0MDBGOTAwM0RBMDBCOQorOjEwRUE3MDAwNjAwMDAwMDAwMDAwMDAwMDA4MTBBMTAwRjgwMDMyMDA1MworOjEwRUE4MDAwMEY4MDEzQTAwMEM4MDAzMjA0OEM4MDAzQTBDMEY4MDBERgorOjEwRUE5MDAwM0EwMDBGODAwMzIwMDBDMDA5MzIwMDRDODAwMTBBMDRCNAorOjEwRUFBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwQkUwMDIwODA5MworOjEwRUFCMDAwMEJFMDAyODgwMEFBMDAwM0EwMEFFNjAyRkEwMDhBMDAxRQorOjEwRUFDMDAwMzI4MDBCQTAwMjI4MDA4RTgwQTM4MDI4MjAwMjhBMDBCQQorOjEwRUFEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU2QzAwQjM0ODIwNDAwMgorOjEwRUFFMDAwMEIxMDAyMEMwMDgzMDAyMEMwMDgzNDgyOEUwNDk5MDBCMQorOjEwRUFGMDAwMEFDMDFCMzAwMjBDMDI5MDUwMjA2MDA4MzAwMjBBMDA0RAorOjEwRUIwMDAwNTAwMDAwMDAwMDAwMDAwMDgwMTExQzgwQkQwQTIxNDg1OAorOjEwRUIxMDAwMEI1MjAyOUM0MEEzQTAyMDgwMEE2MDAyQ0UwMDg1MjBGOAorOjEwRUIyMDAwMjFDNDBCN0EwNjFFODA5NTIwMjE5MDA4NzAwMjI4MDBDRgorOjEwRUIzMDAwNDAwMDAwMDAwMDAwMDAwMDg4MDgxRTgwRjc4MEIxNzlDNgorOjEwRUI0MDAwMEZEQjAyM0UyMEM3QTBCMTYwQ0M3ODEzOTYwMEYxRjAzNQorOjEwRUI1MDAwMzlFMjBGN0IxMzBGMDBENEEwMzE2MDJDNzAwMzJBMDIxRQorOjEwRUI2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MTVBQzAwRjcwMDNFNDA2NworOjEwRUI3MDAwMEY5MDAzRUQ4MEZCMTAzRTQwMEJCMDIzRUMwMEY5MjAxQQorOjEwRUI4MDAwM0FEODBGQjAwQkVEODFFRDEwM0U4MDBGMzAwM0MyMDY3NgorOjEwRUI5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDRCRTIwRUU4MDMzNjAzMgorOjEwRUJBMDAwMENEODgzMUUwMDZGODAzM0UwMEZCODExMzIwNEY1ODA1QgorOjEwRUJCMDAwMzNFMDBGRjg4MzJGNDBGRTgwQjNFMDBDRjgwMzEwMDAyMQorOjEwRUJDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTg5QzAwQkMwMEExNDREOAorOjEwRUJEMDAwMDgxMDAzNUMwMDhGMDAyMTgwMEJFQTIyMUM4MEI1MDEyNQorOjEwRUJFMDAwMjFDMDBCRjAwMjFFODBCRTAwMjM4MDJBNzAwMjJBMDQ3RQorOjEwRUJGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzIwQTcwMDIzNDBFRgorOjEwRUMwMDAwMEI1MDBBM0MwMEE3MDAyNUMwMEE0MzAyMTAwMEI1MDBDMworOjEwRUMxMDAwMjFDMDBCNzA4MjFDODBCNDAwMjFDMDA4NzAwMjA0MDA2NworOjEwRUMyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMDQ4RTA0QjMwMDIyNDBGOQorOjEwRUMzMDAwMDkxNDAyNEMwMDgzMDAyMEMwMEIyNDgyMDQwMEIxMDBBMAorOjEwRUM0MDAwMjBDMDhCM0EwMjJDMDFCMDAwMjA4MDBBMzAwMjFBMDQ0NgorOjEwRUM1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTU5RTAwRUIwNDMzNDBDNworOjEwRUM2MDAwMkREQzAzMUQ2MEVGMDAzMjAwQ0Y5QTAzMjgwMEZEMDA2OQorOjEwRUM3MDAwMzNDMThCRkMwQjNDMDBGQzAwMzI4MDBDOTAwMzJBMDQ1NworOjEwRUM4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBBQzEwRjgwMDNFNDA3MgorOjEwRUM5MDAwMEU5ODIzQUMwNEZCMDAzQzAwMEY4NDIwRUQwMEY5MDAyQgorOjEwRUNBMDAwM0VDMDRGQjAwM0VDMDBGRDAwM0U4MDBGOTAwM0U0MDAzNworOjEwRUNCMDAwMzAwMDAwMDAwMDAwMDAwMDIxMTBGQzAwQ0Y4MDMzNDAzNQorOjEwRUNDMDAwMENEMDgzRkMwMEVGMDAzRjQwMENGMTQxMzAxMENEMDAzMAorOjEwRUNEMDAwM0ZDMDAwNzAxMzNDMDBFNDAwQjFEMDBDMTAwMzIwMDRDRQorOjEwRUNFMDAwMzAwMDAwMDAwMDAwMDAwMEExMDQyQzAwOEFFNDJBNDA0QgorOjEwRUNGMDAwMjg5MDAyRUMwMDhCMDAzRTAyMEE4MDAyMkM4Mjg5MDREQworOjEwRUQwMDAwMkVDMTBBQjAwQTJDMDA4OTAyMjJGMjJBOTgwMjIwMDBBMQorOjEwRUQxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAyODAxNDJBNDAzMgorOjEwRUQyMDAwMDg5MDAyRUMwOEFCMDQyRTg0MDgxMDgyODAxMDg5MDMzRQorOjEwRUQzMDAwMkNDMDRBQjAyMjJDMDBBQTAwMjI4MDA4OTEwMjIwMDA5OAorOjEwRUQ0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MTQyQzAwODAwMDI4NDA1MworOjEwRUQ1MDAwMDgxMTAyRUMwMDgzMDAyQzgxMEEwMDVBODgwMDAxMDA4RgorOjEwRUQ2MDAwMkNDMDBBMzAwMjBDMDA4MjAwMjA4MDBBMTAwMjAyMDEyRQorOjEwRUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQzkwMDNBNDBENworOjEwRUQ4MDAwMENENDAzRkMwMEVCMDAzRTQwMEM5MjAzQTAwMDREMDBBRAorOjEwRUQ5MDAwM0ZDMDBFRjAzMzNDODBFODAwMzJDMDBDOTAwMzIwMDNFQgorOjEwRURBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTFGQzAwRkMwMDNENDBFRAorOjEwRURCMDAwMEY1MDAzRkMwMjNGMDQzQjAxNEZDNDEzNzAwMEZEMDBFMQorOjEwRURDMDAwM0ZDMDFGRjAwMUZDNDBGQzAwM0ZDMDBGRDAxM0U4MDYxRAorOjEwRUREMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGOEUwRkY4MDNEQzBBQQorOjEwRURFMDAwMERGMzgyRjA4MEZGNDAzMUNCMENGMzAzRkQwNEVGQzE0MworOjEwRURGMDAwMzNFMDBGNzkwM0ZFMDBDRjQyMzNGMDRDRjgwMzMwMDBDQworOjEwRUUwMDAwNzAwMDAwMDAwMDAwMDAwMEUwMTBFOTA4Qjk4MTJGRjA1OAorOjEwRUUxMDAwMDhGNDUyRTkyMEJGNDAyM0YwMEFGMzAyRkQwODhCMDBGQQorOjEwRUUyMDAwMzZFMDBCODAyMkU4ODA4RjQwMjJDMDA4QjA4MjMwMDQ5OAorOjEwRUUzMDAwMzAwMDAwMDAwMDAwMDAwMEM4MDVDQzAwQjE4MDJDQzVFNworOjEwRUU0MDAwMDkzMjQyQzhDMEIzMzEyMEMxMDgzMjAyQ0NENEJCMjA0MQorOjEwRUU1MDAwNjhDMDBCMzAwMkNDMjA5MzYwMjA4ODA4MzIwMjMyMDE1NworOjEwRUU2MDAwNzAwMDAwMDAwMDAwMDAwMEUwMTVBMDAwQkI4MDJFQzA3NAorOjEwRUU3MDAwMDhCMDAyRUEwMEJCMDA2MkMxMEFCMDAyQ0MwMEFCMDBERAorOjEwRUU4MDAwMkVDMDBCQTAwMEU4MDA4MzAwMjJDMTA4MzAwMjMwMDQyRAorOjEwRUU5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTVFODkwRkI4MDNFQzAwQworOjEwRUVBMDAwMERCMDAzRTIxMEZCMDAzMkMwNENCMDEzRUMwMEU5NTQ4QgorOjEwRUVCMDAwM0FDMDBGQjAwM0U2MDBDQjAwQjI0MDBDQjAwMzA0MDQyQworOjEwRUVDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCODAwRkYwMDNGQzAzQgorOjEwRUVEMDAwOEZGMDAzRjAwMEY3MDJCRkMxMEZGMDIzRkMwMERGMDY0NAorOjEwRUVFMDAwMzdDMDhGQzkwN0ZBOTJGRjA0M0Y1MDJGRjAwM0Y4MDA5NAorOjEwRUVGMDAwNjAwMDAwMDAwMDAwMDAwMDUwMTBBQzAwQzkwMDNFQzJERAorOjEwRUYwMDAwMEVCMDIzRTQwMEVCMDAzQUM4MEVCMDAzRUMwMEY5MDBBOQorOjEwRUYxMDAwM0VDMDBGQjQwM0E0MDBGQjAwM0U4MDBGQjA4M0QwMDRCQQorOjEwRUYyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyODAwOEI3NDJEQzBFMAorOjEwRUYzMDAwMDhGMDAyRTQwMDhGMDAyMUYwMDhGMDAyRkMxMEQzMDA3QQorOjEwRUY0MDAwMkVDMDBCOTAxMjJDMDBFRjAwMkVDMDBCQjYwMkY2MDA2NAorOjEwRUY1MDAwNDAwMDAwMDAwMDAwMDAwMEU4MDU0ODAwQTMwMDJDQzRBOQorOjEwRUY2MDAwMEEzMDAyQzAwMEEzMDA2OEYwMEEzMDEyQ0MwNEEyMDBFQworOjEwRUY3MDAwMkNDMDBCMzAwMkVDMDBCMzAxMkVDMDBCMzQwMkY4MDBBMQorOjEwRUY4MDAwNTAwMDAwMDAwMDAwMDAwMEIwMDEwQzAwODc4MDJERTg1OAorOjEwRUY5MDAwMDg3ODQyREEwMDg3ODAyNUUwMDg3OTAyQ0UwMDk2ODA2MgorOjEwRUZBMDAwMkRFMDBCRDkwMkRFMDBBNzgwMkRFMDBCNzgwMkZDMDBEQgorOjEwRUZCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzQwRTMxMDNDQzA4NgorOjEwRUZDMDAwMEEzODAzRTgwMEVCMDAzOEMyMEEzMDAzQ0MwMEUzNDAwMworOjEwRUZEMDAwM0NDMDBGMzQwM0NEMDBGMzIwM0M4ODBGMzAwM0QyMDIzNQorOjEwRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCNDgwRkYwNDNGQzg4NgorOjEwRUZGMDAwMEZGMDgzRjg0MEZGMTgzQkMwMEZGNDgzRkMwMEVFMDJEMworOjEwRjAwMDAwM0ZDMDBGRjAwMzNDMDBFRjA4M0Y4MDBGRjAxM0QwMDYyNQorOjEwRjAxMDAwNjAwMDAwMDAwMDAwMDAwMDg4MDVFODAwQ0IwMDNFRjIyMAorOjEwRjAyMDAwNERCMjEzRTgwNENCMDEzMkY4NERCMjEzNkQyMEY4MDA1NQorOjEwRjAzMDAwM0VDMDBGMzAwMzI0MDBGQjAwM0U0MDhGQjgwMzJBMDA3RgorOjEwRjA0MDAwNzAwMDAwMDAwMDAwMDAwMEM4MTE4QzAwODYwMDJDQzA3OQorOjEwRjA1MDAwMDg3MzAyRDgxMjg3MzAyMENCMDhGMjAyMUQwNUI1MDBENAorOjEwRjA2MDAwMkRDMDBCNjAwMzUwMTBCNzA5MkRDMDBCRjAwMjMyMDQwNQorOjEwRjA3MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDA5RTAwODc4MDJERTRGQQorOjEwRjA4MDAwMDk3QTAyQ0UwMTg3ODAyMUVDMDk3ODAyNUU4MEI3QzA0MAorOjEwRjA5MDAwMkRFMDBCRjgwMjFFMDBCN0EwMkQ2MDBCNzgwMjIwMDBCNworOjEwRjBBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRFRTAwODI4MDJDQzAwOAorOjEwRjBCMDAwMDgzMDAyRUMwMDgzMDBBMEMwMDgzMDAyMEMwMEIzODBDRQorOjEwRjBDMDAwMkNDMTBCMzAwMjRFMDBCMzAwMkNGMTBCMzAwQTEyMDQ5RAorOjEwRjBEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQTgwQzYwMDNFODA0NQorOjEwRjBFMDAwMERBMDAzRjg0MENBMDAzMjgwMERBMDEzNjgwMEZFMDI5NAorOjEwRjBGMDAwN0U4MDBGRUQ4MzM5MTBGQTAwM0Y4QzBGQTAwMzNBMDQ5NQorOjEwRjEwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDEyRjg5MDNFMDA5RgorOjEwRjExMDAwMEY4MDAzRTAwMEY4MDUzRTAwMEUwMDAzRTAwMEY4ODBEOQorOjEwRjEyMDAwM0UwMDBGODAwM0UwNjBGODAwN0UwMDBGODAwM0QyMDBGNQorOjEwRjEzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwQzk4MDMyNjRDNAorOjEwRjE0MDAwMEY5MDQzRTQwNkMxMDQzQTQwMEY5MDAzRTQwMEU5MDA0NQorOjEwRjE1MDAwMzI0MDBGOTAwMzI0MDBDMTAxMzI0MDBDOTAwM0MyMDRERQorOjEwRjE2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODlDMDIyNDBEQworOjEwRjE3MDAwMEI5MDAyMjQwMDg5MDAyMjUwMUI5MDIyMjQwMDgxMDA2MQorOjEwRjE4MDAwMjI0MDBCOTAyMjI0MDhDOTAwMjA0MDA4OTQwMkUwMDA4RAorOjEwRjE5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwOTkyMDIyNDAwMworOjEwRjFBMDAwMEIxMDAyQTQwMDg5MDAyQTU4MEI5MDAyODQwMEE5MDBDOQorOjEwRjFCMDAwMjI0MDBCMTAwQTA0MDA5OTAyMjJDMTA4OTA4MkM2MDA2NgorOjEwRjFDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwOTEwMkEwQzhGNAorOjEwRjFEMDAwMEIxMjAyMDQ4MDgxMjIyMDQ4OUIxMjAyMDQ5MDg5MDFCNAorOjEwRjFFMDAwMjA0MDBCMTAwMjA0MDI4MTIyMjI0MDA4MTAwMkMyMDFCQQorOjEwRjFGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQyREEwMTMyMDE5OQorOjEwRjIwMDAwMEY4NTAzQTE0MEMwNTAzQTAxOEI4NTIzQTE0NEU4NTBFQgorOjEwRjIxMDAwQjIwMDBGODUwMzIxNDhEODUxMzIxNDJDODUwM0VFMDMyOAorOjEwRjIyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNTAwRUQwMjNFNDQ3MworOjEwRjIzMDAwMEY5MTAzRjQ0MEY5MTAzRTQ0MEY5MTAzRTQ0MEZEMDBBOAorOjEwRjI0MDAwM0U0MDBGRDAwM0Y0MDBFOTEwQkY0MDBGOTAwMzY2MDY2NAorOjEwRjI1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNjIxQzUwMDMzNjhCQQorOjEwRjI2MDAwMEY5QTAzNkY4OEM5QzAzMzY4MEM5RTAzMjc4MEQ5NDA2QQorOjEwRjI3MDAwM0U0MDBGOTAwM0M1MTBEOUU4MzY1MDBDRDAwM0U2MDA4RAorOjEwRjI4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTA4ODgwMDgyMDBEMworOjEwRjI5MDAwMEI4RTgyRUJDODg4RTAyMjAwMjg4ODQyQTI4MDhBODBGOAorOjEwRjJBMDAwMjIwMDBCQUEwMkUyMDA4OEMwMjJBOTA4OEEwMzhFMDQ2OQorOjEwRjJCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDVDNDAwODEwMDIwRDA5QworOjEwRjJDMDAwMEIxMTMyODQ4NDgxNjA2MDUwMDgxNjA2MDUwMDkxMjA3RAorOjEwRjJEMDAwMjA0MDBCMTA4MkU0MDk5MTIwMjQ0MDA4MTBDMkQyMDE4MgorOjEwRjJFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDA0ODkwNDIyNDBFQQorOjEwRjJGMDAwMEI5MDAyQzQwMEE5MDAyMjQxMDA5MDAyQTQwMDgxMDBFQQorOjEwRjMwMDAwMjI0MDBCOTIyMkU1ODA5OTAxMjI2MTA4OTAwMjg2MDQzNgorOjEwRjMxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTRBNTgyODE5MDMyNDAyRgorOjEwRjMyMDAwMEY5MDEzNjcwMkM5MDAzMjQwMEM5MDIzMjQwNEQ5QzAwNworOjEwRjMzMDAwQjI0MDBGOUMwM0U2MDBEOTAwMzY1MDBDOTAwM0U4MDQ1RAorOjEwRjM0MDAwNzAwMDAwMDAwMDAwMDAwMDY4MDBBNjgwRjkwMDNFNDA0OAorOjEwRjM1MDAwMEY5MDAzRTcwMEQ5MDBCQzQyMEY5MDUzRTQwNEY5MTA2QQorOjEwRjM2MDAwM0U0MDBGOTgwM0U2MDRFMTAwM0U0MDJGOTAwM0RBMDA5MAorOjEwRjM3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTA4MTEwNDgxMDMyMDhEMgorOjEwRjM4MDAwMEM4MDBGMjEwMkM4MDAzQTA0MEY4MDA3NjAwMEY4NDA4QgorOjEwRjM5MDAwQjIwMDBGODQwQjIwMDBEODAwMzYxMDBDODAwM0NBMDQ4MgorOjEwRjNBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDQyODA0OEU4MDIzODAzNAorOjEwRjNCMDAwMDhBMDQyMjgwMDhBMDAyM0EwNEJBMDAyRTgwMEJBMDA1RgorOjEwRjNDMDAwNzY4MDBCQTAwMjA4MDA4QTAwMzI4MDA4RTAwM0NBMDBBMQorOjEwRjNEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwODIwMDIwRDAwMgorOjEwRjNFMDAwMDgzMDAyMEMwMDlCMDAyOEMwMUFCMDAyNkMwMEIzMDI2NworOjEwRjNGMDAwMjBDMDBCMzAwMjBDMDBBMzAwMjJDMDI4MzQ4MkNBMDBCNworOjEwRjQwMDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExQzAwODcwMDIwRTBFOAorOjEwRjQxMDAwMDg3ODAyMEMwMDk3MjAyNUMwMEI3MTAyREM4MUI3MjAxMAorOjEwRjQyMDAwMjFDMDBCN0E0MjNDODA4NzIwMjFDMDA4NzAwMkU4MDA4RQorOjEwRjQzMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDgwRTgyQzc4MEIxRTBGNAorOjEwRjQ0MDAwMkNGQTA2MUUwOEQzQjEzOTYwNEU3ODEyNUVBMEZGRjA4OAorOjEwRjQ1MDAwMjFFMDBGRjgwMzFGMDhFM0EwMzNFMDBDNjgwM0VBMDI4MQorOjEwRjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzQwRkIwMDNFQzA5MgorOjEwRjQ3MDAwMEZCMjAzRURBOEVCMTAzQTgwMEZCMEMzRUM0MEZCMDBENQorOjEwRjQ4MDAwM0VDMDBGQjA4M0VDODBFQjcwQkVDNDBGQjAwMzgyMDZBOQorOjEwRjQ5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMDVGRTAwQ0U4MEIzNjA2OAorOjEwRjRBMDAwMEZGQzgzN0UyMEVGQjAzQkUwMEZCODAzM0UwMENGODExRQorOjEwRjRCMDAwM0ZFMDhGRjg4M0VGNDBGRkMyMzNFMTBDRjgwM0QwMDA0OAorOjEwRjRDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzgyODcxODIxODBCNQorOjEwRjREMDAwMEIzMDAyMUM2MEQ3MTAyMUQwMEI3QjAyM0MwMEQ3MDAwMAorOjEwRjRFMDAwMkRDMDBCNzAwMkRFMDBCRjAwQTNDNDA4NzAwM0FBMDQ4NQorOjEwRjRGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDBCQzExODcwMDIxQzA3NworOjEwRjUwMDAwMEIzMDAyMUMwMDkzMjA2OUMwMEI3MDAyMUMwMDg3MDBBNgorOjEwRjUxMDAwMkRDMDBCNzEwMkRDMjBCNzEwMjFDMDA4NjAwMjg0MDBFRQorOjEwRjUyMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRDRDAwODM0MDIwQzBENworOjEwRjUzMDAwNEIzMDAyMEMwMTgzMDAyMEMwMEIzMDAyMEMwMDkzODA4MgorOjEwRjU0MDAwMkNDMDBCMzAwMkNDMDFCMzAwMjBDMDA4MzAyMjk4MDQzQworOjEwRjU1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCRjIwQ0FDMDMyODBBMworOjEwRjU2MDAwMEZGMDAzM0UwMDlGMDAzQTgwMEZGMDBCM0MwMENGOTg1NQorOjEwRjU3MDAwM0VDMDBGRjYwM0ZGMDBGRjAwMzFFMDJDQjAwM0FFMDRFNQorOjEwRjU4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBDQzgwRkIwMDNFNTBDNgorOjEwRjU5MDAwMEZCMDAzQUMwMkZCMDA3RTUwMEZCMDAzRUMwMEZCMDA4OQorOjEwRjVBMDAwM0VDMDBGQjIwM0VDMjBGMzAwM0VDNjBGOTAwM0EwMDA1NAorOjEwRjVCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAyQ0Y5ODczQzg2QQorOjEwRjVDMDAwMEY3MDAzM0MwMEZGMDAzMzI4MEZCMDAyMUMwMDRGMDBGNworOjEwRjVEMDAwM0ZDMDBGRjAwM0ZDMDBGRjAxMzNDMDBDRTQwM0U0MDQ2MAorOjEwRjVFMDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2QzAwODM4MEEyRjg1RQorOjEwRjVGMDAwMEJCMDQyMkMwMEJCMDAzMjEwMEZCMDAzNkMwNEFCMDAwOAorOjEwRjYwMDAwMkVDMDBCQjAxMkVDMDRFQjAwMjJDMDRBOTQ4MkUwMDA0MgorOjEwRjYxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDU2QzAwOEEwMDIyMDAzRAorOjEwRjYyMDAwMEJCMDAyMkMwMEIzMDBBMkMwMEIzMDAyQUMwMEFCMDQ0NAorOjEwRjYzMDAwMkVDMDBCQjA0MkVDMDBCQjAwMjJDMDA4QjAyMkUwMDA5QworOjEwRjY0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDAwQzAwOEIwMTIwMDBCQQorOjEwRjY1MDAwMEIzMDA2MEMwMEIzMDAyMEMwMEEzMjBBQ0MwMEEzMDAxNQorOjEwRjY2MDAwMkNDMDBCMzAwMkNDMDBBMzAwMjJDMDRBMDAxMkMyMDEwMQorOjEwRjY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2QzAwOEIwNDIyQzBBNQorOjEwRjY4MDAwMEZGMTAzMUMwMEZGMDQzMkMwMEJGMjAzQkMwMEVGMDBCQgorOjEwRjY5MDAwM0VDMDA3RjAwM0ZDODBGRjAwQjJDMDBDQTAwM0UwMDNGMworOjEwRjZBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlEQzAwRjUwMDNGQzA4MQorOjEwRjZCMDAwMEZGMDAzRkMwMUZGMDIzQkMwMEZGMTAzN0MwMEZGMDBEMQorOjEwRjZDMDAwM0ZDMDBGRjAxM0ZDNDBFRjAwM0ZDMDBGQzAwM0U4MDYzRgorOjEwRjZEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVGMjQwQ0M4MDM3MjAxMAorOjEwRjZFMDAwMENEODAzQjA0NEZDMDgzRjBFMEZDMTAzRkMwMENDOTRCRgorOjEwRjZGMDAwM0YwQTJFQzQwMzdEODBDRjEwM0ZDMDBGQzA4MzMwMDA2RgorOjEwRjcwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMDhFMDkwODgwMjIyODE2NAorOjEwRjcxMDAwMDg5MjEzQTQ0MDNCNjAyMjE4MEI4MTAyRkNENDgxMDBBNAorOjEwRjcyMDAwM0FCMDBBOTQwMjNENDBBRjYzMkZERjBCOTgwMDIwMDRFQgorOjEwRjczMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVFMDAwODgwMDIwNDA0NAorOjEwRjc0MDAwODgzMDgyQzAwMEIwMDgyODgwMEExMDAyQ0MyMDgwMDFENgorOjEwRjc1MDAwMkM0MDFCMDYwMjhDOTA5MzYwNjhDMDRBMDA0MjIyMDEzNAorOjEwRjc2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVBMDAyODgwMDIyQzA1OAorOjEwRjc3MDAwMDhCMDAyRTQyMEJCODgyNjk4MEI4MDQyQ0MxODhBMDA4RgorOjEwRjc4MDAwMkVDMjFCOTgwMkFDMDBBQjAwMkVDMDBCOTg4MjMwMDQzNgorOjEwRjc5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTFFM0MwQ0IwMjMyMDA1NgorOjEwRjdBMDAwMkM4MDAzQUUwOEI5MDAzRTcwMEZCOTAzRUMwMjQ4NDg0NAorOjEwRjdCMDAwM0NDMDBGOEM5M0VDMDBEQjAwMUFDMDBFQUMwMzEwMDRBRAorOjEwRjdDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCMjAwRkYwMEJCODBGQworOjEwRjdEMDAwMEZDMDQzQjY0MEJEMDAzQjYwMEZFODAzRkMwMEZGOTQ0MAorOjEwRjdFMDAwM0JFNDBFNjAwRjZDMDhFRjAxM0ZDMDBGNjAwM0Y4MDBCMAorOjEwRjdGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBMTAwRkIwMDNFNjAxRgorOjEwRjgwMDAwMEZBMDAzRUQwMEY5NDAzQTAwMEY5MDAzRUMwMkM5MDQ4OQorOjEwRjgxMDAwMzJEMDBGOTAwMzJDMDhEQjAwQjZDMDBEQjQwM0QwMDQyNworOjEwRjgyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUwMDAwQjM4OTJFRTBBMQorOjEwRjgzMDAwMEJBNDAzQTQwMUI5MDAyRTAxMEI5MDQyRkMxMDg5NTBDNworOjEwRjg0MDAwQTJDMDhEQjQwMjNDNDQ4RjAwMjNDMDA4QjAwMkYyMDA3NQorOjEwRjg1MDAwNDAwMDAwMDAwMDAwMDAwMEMwMDQwQzAwQjA4MDJFMDAzQQorOjEwRjg2MDAwMEIxMjAyQzgwMEJBMDAyQ0MwMEIyMDAyQ0MwMEEyMDA3MAorOjEwRjg3MDAwMjAwMDJCMkQ5QTJFNDI4MzAwMjhDMDA4MjAwMkY4MDA3OQorOjEwRjg4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDAxRTA0QjQ4MDJEQTBFNQorOjEwRjg5MDAwMEI1ODAyOTIwMEI2ODAyREUwMEI2ODAyREU0MEE2ODA3NQorOjEwRjhBMDAwMjEyNDI5NDgwMjFFODA4NzgwNjlFMDA4NjEwMkM4MDA3RgorOjEwRjhCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MTgwQzAwRjAzMDNDNENGNAorOjEwRjhDMDAwMEYzMjAzQzg4MEIyMDAzODgwMEYxQjAzRUMwMEUwMzAxOQorOjEwRjhEMDAwMzAwNDBGQjEwMzBFODVDQjAwM0FDMDBDMzEwM0QyMDJDNQorOjEwRjhFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUNCQzAwRkMxMTNGQzRGMAorOjEwRjhGMDAwMEZCODEzQjAwNEZFMDIzRjgwMEZDMDAzRkQwMERGMTJGQgorOjEwRjkwMDAwMUQwNDBGRDA0M0JDMDFFRjEwMzNDNDBFRjMwM0QwMDYyNworOjEwRjkxMDAwNjAwMDAwMDAwMDAwMDAwMDA4MDVFRTAwQ0IwMDNFMDA4MworOjEwRjkyMDAwMEY4MDAzMjgwMEY4MDAzRTQwM0RCMDAzRUYwOEM5MDBGNworOjEwRjkzMDAwM0EwMDBDQTAwM0VDOThGQjIwMzJEMjBDQTgwMzJBMDI1OAorOjEwRjk0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwODcwMTJEODAxRAorOjEwRjk1MDAwMEI0MDQyMUMwNDM3MDBBMTQwMDg2MDAyQ0M4MDg3MDBBNQorOjEwRjk2MDAwMkQ4MDJFNzAwMkRDQTlCNzI4MjFEMDA4NzAwMjEyMDA2OQorOjEwRjk3MDAwNjAwMDAwMDAwMDAwMDAwMDIwMDBCRTAyODc4MDJENjBCMworOjEwRjk4MDAwNEJFODAyNUEwMUI0ODgyOEUwODg3OEMyREU1Mjg2QzA2QgorOjEwRjk5MDAwMjk2MDA4NjgwMkRFNDBCMzkyRTFFODI4MjgwMjcwMDA3RQorOjEwRjlBMDAwMjAwMDAwMDAwMDAwMDAwMDY4MTRDQzAwOEI4MDJFQzBGNgorOjEwRjlCMDAwMEIyMDAyNEQ4MDlCMjAyMEUwMDgzODAyQ0MwMDgzODA4MQorOjEwRjlDMDAwMkNDMDBBQjAwMkNDMDhCMzAwMjBDMDA4MzEwMjUyMDQ5NworOjEwRjlEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MDVBODAwQ0FFMDNFODBGQQorOjEwRjlFMDAwMUZBNDBCNzkwMEZFMDAzRjgyMURFMDAzRTgwMENFNDAxQgorOjEwRjlGMDAwM0I4ODJDRTQwM0U4MDFGQTAwMzI4MDBDRTgwMzdBMDQyNworOjEwRkEwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MTFBMDAwRjgwOTNFMDA1RQorOjEwRkExMDAwOEZDMDgzQTAxOEY4MDAzQzIwMEY4ODAzRTAwMEY4MDg4RQorOjEwRkEyMDAwM0UyMDBFODA4M0UxMDFGMDAwM0MwMDBGODAwQjkyMDAyRAorOjEwRkEzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBBNDAwRjk0MjMyNDAyRAorOjEwRkE0MDAwNEM5ODAzMDQwMEM5MDAzQTQwMEY5MDIzMjQwMEI5ODE2OAorOjEwRkE1MDAwM0M0MDBDOTIwMzI0MDBGOTA1MzI0MDZDOTBDM0MyMDQ3MAorOjEwRkE2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQyNDE0QjkwMEEyNTRGQgorOjEwRkE3MDAwMDg5QjFBMjQwMjg5MDAyMjQwMjg5MDAyQTQwMEI5OTAxMQorOjEwRkE4MDAwMkU0MDI4OUM4MjI1MDRCOTAwMjI0MDA4OTgxMkUwMDBFQworOjEwRkE5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQUQwMDIzNDAwNQorOjEwRkFBMDAwMDg1MDAyNjQwMDg5MDAyQTQwMDgxMDAyNjQwMEI5MDA2RQorOjEwRkFCMDAwNkU0MDA4OTAwMjI1MDBBOTAwMjI0MDA4OTEwNkM2MDA2OQorOjEwRkFDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQxNDAwQjUxMEExNDQyQworOjEwRkFEMDAwMjg1MDAyNDQ4MDgxMzAyMDQ4MDgxMjAyODQ0MEIxODBCRQorOjEwRkFFMDAwNkNDODA4MTIwMjA0ODBCMTM0MjA0ODA4MTIwMkMyMDExNgorOjEwRkFGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRTg0MDMyOTBCNgorOjEwRkIwMDAwMENDNTAzNjE0MEMwNDAzQTE0MEY4NTAzMjFCMEY4NTA4MgorOjEwRkIxMDAwM0UwMDBDODUwMzIxNDBGODQwQjAxNDBDODAwM0VFMDEzOAorOjEwRkIyMDAwNTAwMDAwMDAwMDAwMDAwMEI4MURDNDA0RjkyMjBFNDg3NworOjEwRkIzMDAwMEYxMDEzQjQ0MEZEMzAzRjQ0NEZEMTAwRTQ4NEZGMDE2NworOjEwRkI0MDAwM0Q0NDBGRDEwQkU0NDBGOTMwM0U0NDBGRDEwM0U2MDRBRAorOjEwRkI1MDAwNzAwMDAwMDAwMDAwMDAwMDM4MDVFNDAwREQ0MDNGNTA2OAorOjEwRkI2MDAwMENEMDAzMkMwMEM5MDAzNjQwMEY5MDEzMjcwNEY1MDE3OAorOjEwRkI3MDAwMzc0MDBDRjAwM0Y2MjBGOUE4MzI2ODBDRDAwM0M2MDAxOQorOjEwRkI4MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDBFMDAwODhBMDJFMjg4RgorOjEwRkI5MDAwMjg4MDAyMjAwMDg4QTAyMjAwMEI4MDBBNjI4MEI4MDAyMgorOjEwRkJBMDAwMjIwMDA4ODAwMkUxMDBCOEUwMjIzQTA4QTAwMkNFMDQ1OAorOjEwRkJCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDA4NDAyODEwMDJFNDA1OAorOjEwRkJDMDAwMDgxMDBBNDQwMjgxMDgyNDQwMEExMDAyNDU4MEI5MDA0NgorOjEwRkJEMDAwMjQ0MDI5MTAwMkM0MDBCMTA4MjQ0NDA4MTAwMkMyMDFDNAorOjEwRkJFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTRBNDA0ODkwMTJFNTBDOQorOjEwRkJGMDAwNDhCMjAyNjQwMDkxMDAyMjQ2MEI5MDAyNjQwMEI5MDFGMQorOjEwRkMwMDAwMjZDMDA5QjAxMkU0MDBCMTAwMjY0MDA4OTAwMkM2MDRFNAorOjEwRkMxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMDRFNDAwQzkwMDNDNDBCNworOjEwRkMyMDAwMEM5MDAzNjQwMEM5MDIzNjUwMEU5MzAzMjQwMEY5OTAyRgorOjEwRkMzMDAwMzY0ODBEOTQ4M0U0MDhGOTAwQjY0MDBDOTQwM0U4MDRCOAorOjEwRkM0MDAwNzAwMDAwMDAwMDAwMDAwMDY4MTBBNDAwRTkwMDNFNDBDMQorOjEwRkM1MDAwMEY5MDEzQTQwMEU5MDIyRTYxMDU5MDAzQTQwMEY5MDA5RgorOjEwRkM2MDAwM0E0MDBFOTA0M0U0MTBGOTAwMzg0MDJGOTAwM0NBMDA0OAorOjEwRkM3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRDgwMTMyMDQzRAorOjEwRkM4MDAwMEY4MDQzQzAwMUM4MDBCMjAxMEM4MDAzMjAwMEM4NDBBRgorOjEwRkM5MDAwMzAwMDhDODQ4M0UwMDBDODAwMzIwMDZDODQwM0NBMDQwNgorOjEwRkNBMDAwMjAwMDAwMDAwMDAwMDAwMDA4MDQyODAwQkEwMDIzODBBMworOjEwRkNCMDAwMEJFQTAyRTgwMEFBMDAyMjgwMDhBMDAyMjgwMDg2MjBBMQorOjEwRkNDMDAwMzdBMDhERTQwMkY4MDBEQTAwMjI4MDA4QTAwMkNBMDAwMgorOjEwRkNEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDU2QzAwQjMwMDIwQzBEOAorOjEwRkNFMDAwMEJCODAyNEMwNDgzMDAyMEMwMDhCMDAyMEMwMjgzMDA1MQorOjEwRkNGMDAwMjA0MDI4MzQwMkNFOTA4MzAwQTBDMDA4MzAwMkNBMDAwMQorOjEwRkQwMDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExQ0MwQjU4ODIxNDAwOAorOjEwRkQxMDAwMEI3MDAyREM4MEEzMjAyMUUwNDgzMjQyMEU5MDhFMDE1RAorOjEwRkQyMDAwNjU1MDA5NzAwMkRFMjA5MzIxMjFDMDA4NzAwMkU4MDBBRQorOjEwRkQzMDAwNDAwMDAwMDAwMDAwMDAwMDI4MTgxRTAwRkY4MEIxQTA1NQorOjEwRkQ0MDAwMEY0ODAyN0UwMDg3QTAzM0UwMjg3QTBCMUYwMEM0ODA5MgorOjEwRkQ1MDAwMzE2MDhDNTgwM0ZFMDBDN0M4MzNFODBDNTgwM0VBMDIzMAorOjEwRkQ2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRkYwMDNFMDA4NQorOjEwRkQ3MDAwMEY5MDIzRUNBMEZCNDAzRUMwOEZCNTAzRUQ4MEY4MDA1MAorOjEwRkQ4MDAwM0M0MDBGQjAwM0U4MDBGQjAyM0VEMDBGOTAwM0MyMDZEOAorOjEwRkQ5MDAwNjAwMDAwMDAwMDAwMDAwMDYwMDRCRTAwRkY4MDNGRTA0MworOjEwRkRBMDAwMEZEOTAzRkUyMENGQzgzM0VBOEZGQzAzM0YwMEZEODA0QworOjEwRkRCMDAwM0Y2MDBFRTgwM0YyMDBDRjgwMkZGRTBDNzgwMzAwMDBCNgorOjEwRkRDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MDA5QzAwQjUwMjJEQzBEQgorOjEwRkREMDAwMEI1ODQyREM4MENGMDAyMUMxMEIzMDEyMUM0MEI0MDIxMgorOjEwRkRFMDAwMkQ0NjA4NzExMkM4MDBFNzAwMkRDNDA4NzAwMzZBMDQ4QworOjEwRkRGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQjcwMDJEMDIyMQorOjEwRkUwMDAwMEI0NjAyREMwODk3MDAyMUM5MEEzMDIyMUMwMEI0MDAwRQorOjEwRkUxMDAwMkQ0MDBBNTA4MkM0MDBCNzAwMkNDODI4NTAwMjQwMTA2MAorOjEwRkUyMDAwMjAwMDAwMDAwMDAwMDAwMDQwMTQ4QzE4QjMwMDJFMjBCOQorOjEwRkUzMDAwMEIxODAyQ0Y0QTgzQzIyMEMxMEIzNDIyMEMwNEI4NThERAorOjEwRkU0MDAwMkM0MDBCMjgwMkM4MDBBMzAwMkNDMDA4MTQwMjQ4MDQ1MAorOjEwRkU1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MDVCQzAwRkIwMDNFODA1MAorOjEwRkU2MDAwMEZBMDAyRkMwMERGQTBCM0MwMEVGMDBCM0MwMEZCQzBGMworOjEwRkU3MDAwM0NBMDBFQkQwM0VDMDBGRjAwM0ZDMDBDMzAwMzZBMDQ0MQorOjEwRkU4MDAwNjAwMDAwMDAwMDAwMDAwMEEwMTBFQzAwRjkwMDNFMDEzRQorOjEwRkU5MDAwOEZCMTQzRUMwMEYzMDAzRUMwNEZCMDEzRUMwMEZCMDAwOQorOjEwRkVBMDAwM0U4MDBDODQwM0UxMDA3MzAwM0VDMTBGQjI0M0UwMDBDQQorOjEwRkVCMDAwMzAwMDAwMDAwMDAwMDAwMDAxNTBGQzEwRkY4MDM3QzAzRgorOjEwRkVDMDAwMENFMDAzRkMyMEZGMDgzM0MwMEZGMDgzQkMwMEZGMDBGMAorOjEwRkVEMDAwMzNDMDJFNDAwMzFDMDFDRjAwMTFDMDRDRDAwMzAwNDQ5RQorOjEwRkVFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzA0QjMwMjIyNzJBNAorOjEwRkVGMDAwMDhBMTE2RUMwMEJCMDQyMkMwMEJCMDQyRUMwMEJBMTlGQQorOjEwRkYwMDAwQjZEMDA4OUM0QTI2ODBEQjAwMjJDMDA4OTAwMzYwNDBERgorOjEwRkYxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwQjkxMDYyMjBENQorOjEwRkYyMDAwNDhBMDAyRUMwMEJCMDAyMkMwMEJCMDAyRUMxMEJCMDBFQQorOjEwRkYzMDAwNjYwODBBQTgxMjI2MTA5QjAwMkFDMDI4QjAyNjIwMDBCNgorOjEwRkY0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDAwQzAwQjkwMDIwMDA4NAorOjEwRkY1MDAwMDgzMjAyQ0MwNEIzMDAyMEMwNEIzMDAyQ0MwMEIzMDAwNgorOjEwRkY2MDAwMjAwMDA4MDAwMjAxMDA5MzAwMjhDMDA4MzAwNjQyMTE1QQorOjEwRkY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMUM2QzAwRjkwMEIyNDAwRQorOjEwRkY4MDAwMEM4MjAyREMwMUZGMDBCMkMwMEJGMTAzQkMwMEY5MDBERgorOjEwRkY5MDAwMjY0MDJFODAwMzIxMDRDRjAwQkJDMDBDOTAwMzAwMDMzOQorOjEwRkZBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkQwMDNGNDBDQworOjEwRkZCMDAwMEY4MTAzRkMwMEZGMDAzRkMwMEZGMDIzRkMwMEZDMDA5QQorOjEwRkZDMDAwMkQ0MDJGQzAwM0YwODhGRjAwMzdDMDhGRDAwM0U4MDIxOAorOjEwRkZEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGRTQwRkY4MDMzQzIzQQorOjEwRkZFMDAwMENGODAzN0NBMEZGOTAzRkM0MkNCNDAzQkM4MENGNDAyRQorOjEwRkZGMDAwMzdFMDBGRjE5MzZFNDRCRjMwM0YyMDJDRjg2M0YwMDREQworOjEwODAxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQzAwRUIyMDIzRjA1NgorOjEwODAyMDAwMDhCODUyM0QwMEIzMDAyRURDMDhGNDQyMUM0MjhCNDBERAorOjEwODAzMDAwMjJDODBCRjYwMzZDODhCQjMwMkUwMDA4QjIwMkUwMDRBNQorOjEwODA0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzAwQkIwODIwQzAwNAorOjEwODA1MDAwMDgzMDAyNENBMEIzMjAyNjgwODgzNjAyQ0NBMDkzNjA2MgorOjEwODA2MDAwQTRDMjBBMzI0MjRDOTBCMzIwMkMwQjg4MzA4MkUyMDEyOQorOjEwODA3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzA4QkIyMkEyQzBDOAorOjEwODA4MDAwMDhCMDAyMkMwMEJCMDAyRTkwMDhCMDAyRUMwMDlCMDA1MAorOjEwODA5MDAwMjJDMDBCQjAwMjZDMDBCQjAyMkUyMDA4QjAwMkYwMDAyMAorOjEwODBBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwQjE4MzMyQzAwOQorOjEwODBCMDAwMEMxQTAzNkMxMEZCMDAzNEMwMENCMDAzRUMwOERBMDA5RgorOjEwODBDMDAwMzZDMDBFQjAwQjZDMDBGQjAwM0UyODBDQjAwMkQwMDA5NgorOjEwODBEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQzAwRUQ4MDNGQzAyNworOjEwODBFMDAwMEZENDAzRUMwMEZGMDAzRkM4MEZCMDAzM0MwMEVFNDA4QworOjEwODBGMDAwM0ZDMDBGNzAwM0ZDMDBGRjAwM0Y4MDBGRjAwM0Y4MDA0QgorOjEwODEwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIyMEIwQzA4OAorOjEwODExMDAwMEZCNDAzQUMwMkNCMDAzMjkwMEVCMDAzNkMwMEVCMDA0NgorOjEwODEyMDAwM0FDMDBDQjAwMkVDMDBGQjAwM0U5MTBGQjAwMzkwMDA4RgorOjEwODEzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQkI4MDIzRDdGMQorOjEwODE0MDAwMEI5MDAyM0MxNDhCMDA2QTA4MjhGMDAwQkMwMDgzMDBFRQorOjEwODE1MDAwQkVDMDg4RjAxMzJDMDBFRjAwMkU4MDBCQjAwN0IyMDBEOQorOjEwODE2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjM0MDIwRDBCQgorOjEwODE3MDAwMEIyODAyOEMwMDgzMDEyMEMwMUFCODAwNkMxMEExMDBFQgorOjEwODE4MDAwNjhDMDJBMzAwMjhDMDBCMzAyMkUwMDRCMzAwMkY4MDQ4MworOjEwODE5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAwQjdBMDIxRTBGOAorOjEwODFBMDAwMEJFQ0MyMUUwNDg3ODAyOUU0MDg3OTgyOUU0MEFGOTBDMAorOjEwODFCMDAwMjlFMDBBMzgwMDFFMDBBNzkwMkQyNDBCNzgwMjg4MDBDMQorOjEwODFDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzUwRkIwOTMwQzBDRgorOjEwODFEMDAwMEYyMDAyOEM0MEMzMDAyMEMwMEEzODAzNEM0NEUxMDA0OQorOjEwODFFMDAwQUFDMDBFMzE0MzhFMDBGMzAwM0MwMDBGMzAwM0QyMDJEMAorOjEwODFGMDAwMDAwMDAwMDAwMDAwMDAwMDQwNERCQzAwRkYyMDNGRDAwOAorOjEwODIwMDAwNEY3MDAzRkMwMEZGMDAzREMwMEZGMzQzRkM0MEQ3MDA1QworOjEwODIxMDAwQkZDMDBERjRDM0ZDNDBGRjAwM0Y0MDBGRjAwM0QwMDY4OQorOjEwODIyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFQzAwRkIwMDMyRDA1OAorOjEwODIzMDAwMEQ5MDAxRURDMEZCMDAzRUMwMUZCQTAzQUNDMEM4MDBFQQorOjEwODI0MDAwMzJFMDhEQjQ0M0VDMDBGQjAwMzZBMDBDQjAwMzZBMDBCMgorOjEwODI1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwQjcwMDIxQzgxOQorOjEwODI2MDAwMDg2MDAyREMyMEI3MDAyREMwMEY3NEEyMUMyOEQ2MDBDNQorOjEwODI3MDAwMzVDMDA4NzIwMjVDMDhCNzQ0QTE4MDQ4NzAwMjEyMDA0MQorOjEwODI4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwQjc4MDIwRTRGNQorOjEwODI5MDAwMDk3ODI2REUwMEI3ODAyREUyMEE3MDEyOEM4ODgxODA3MgorOjEwODJBMDAwMjFFMDA5NzgwMkRFMDBCM0EwMjVBMDI4NzgwMjcwMDQzRQorOjEwODJCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAxQkI4MDIwQzA1QQorOjEwODJDMDAwMDgzMDQyRUMwMEIzMDAyQ0MwMEEzMDIyMEMwMDkzMDBBRQorOjEwODJEMDAwMjRDMTA4MzAwMkNDMDBCMzAwMjBFMDA4QjAwMjEyMDQzMAorOjEwODJFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRkEwOEIyODA4NQorOjEwODJGMDAwMERFMjAzRTgwMEZBMDAzRjgwMEFBMDAzQTgwMENFNTA3OAorOjEwODMwMDAwMzI4MDA1QTAwM0U4MDBGQTAwMzdBODBDQTAwMzdBMDQyNQorOjEwODMxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDA2MDA4RjgwMDNDMDAxOQorOjEwODMyMDAwMEY4ODAxRTAwMEY4MDQzQzAwNEYwMDEzQzAwMEY4MDA4MworOjEwODMzMDAwM0UwMDBGODAwMzYwMDBGODAyM0UwMTBGODAwM0QyMDA3MAorOjEwODM0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRjk5MDEyNDAyNgorOjEwODM1MDAwMEM5MDAzQTQwMEM5MDAzRTcwMEU5NDMzMjQwOEM5MDA5OQorOjEwODM2MDAwMkE0MDBCOTAwM0U0MDBGOTAwM0E0MDBGOTAwMzAyMDQwNgorOjEwODM3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjk0MjIyNjA2OAorOjEwODM4MDAwMDgxMDAyMjQwMDg5MDMyRTQwMDg5MDAyQTQwMTgxMDRGMQorOjEwODM5MDAwM0U0MDBCOTAwMkU0MDBCOTAyMjI0MDBFOTAwMjIwMDAwMQorOjEwODNBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjk0MDJBNEEwRgorOjEwODNCMDAwMDg5MTAyQTQwMDg5MDAyRTQwMUE5MDBBMjQwNDg5MDAyMgorOjEwODNDMDAwMkE0MDBCOTAwMkU0MDBCMTAwMkE0MDBCOTAwMjA2MDAwNAorOjEwODNEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwQjEwMUE4NDhBQgorOjEwODNFMDAwODg5MDAyMDQ4MDgxNDAyQzUwMTgxNDBBODQxMDg5NDAxRgorOjEwODNGMDAwMkM0MDBCMTAwMkM0MDAzMTIwMjA0MDBBMTAwQTAyMDE1OAorOjEwODQwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjA1MDNBMDA4QworOjEwODQxMDAwMkNBMDAyQTE0MkM4MDAzRTAwREUwMDIzMjE0Mjg4MDBCOQorOjEwODQyMDAwMzgxNDBGODUwM0UxNDBGODUwMzgxNDBGMDUwMzJFMDE2RQorOjEwODQzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDA4RkQwMDM2NDRENAorOjEwODQ0MDAwMEZEMDAzNjQ0MEY5MDAzRDUwMEY5NDAzRTUwMDdENDBEOAorOjEwODQ1MDAwM0U0MDBGOTQwM0U0MDBGOTEwM0Y0MDBFOTAwM0U2MDQwMQorOjEwODQ2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNDAwRkQ0MDMzNjhDMworOjEwODQ3MDAwMENEMDAzRTc4MUY5MDAzMzc4MEREODEzMjZBMENEQTBFNgorOjEwODQ4MDAwMzI0MDBEOUIwMzI0MDBGOUEwM0M0NDJDOTAwNzg2MDA0OQorOjEwODQ5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDAwQjhBMEEyMTAzQQorOjEwODRBMDAwMTg4MDAzODI4NEI4ODAzNjJDMkUwRjAyQTNBMEQ4RTA1NworOjEwODRCMDAwMzYyMjhCMDgwMzQyQTBGOEUwMkUyODA4ODgwMkNFMDQ1QQorOjEwODRDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMEEwNTAwQQorOjEwODREMDAwMjgzMDAyQzU4MEIxMDgyMDQwMDkxMEEyNDQwODgxNDgxNAorOjEwODRFMDAwMjA0MDBCMTQwMjA0ODBCMTM4MkM0ODA4MTI4MjgyMDEwQgorOjEwODRGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTFBNDAwQjEwMDIyNDAyQworOjEwODUwMDAwMDg5MjAyRTQwMEI5MDIyNjU4NEE5MDAyRTQwODk5NDAxMQorOjEwODUxMDAwMjY0MDBCOTAwMjY0MDhCOTAxMkM0ODA4OTAxMkM2MDQ0QQorOjEwODUyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjk4MDMyNDA2NworOjEwODUzMDAwMDg5ODgzRTQwNEI5MDEzMDQwMEQ5MDBCNjQwMkM5MDAyRgorOjEwODU0MDAwMzI0MDBGOTAwMzI0MDBGOTAwMUU1ODBDOTAwM0E4MDQzOQorOjEwODU1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkyMDNDNDA0OQorOjEwODU2MDAwMEY5ODAzQTQwMEI5MDAzRTQyOEUxMDRCODQwNEY5MDAxQQorOjEwODU3MDAwM0U0MDhGOTAwM0U0MDBFOTAwM0U0MDBGOTAwM0NBMDBBNAorOjEwODU4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRDgwMDMyMDhBMQorOjEwODU5MDAwMEY4NDgzQTAwNEM4MDQzRTAwODM4MDAxMjAwMEMwMDAzMworOjEwODVBMDAwMzIwMDBGMDAwM0EwMDBDODAwMzIxMDRFODAxM0NBMDQyRQorOjEwODVCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEU5MEEzODAwNQorOjEwODVDMDAwMEJFNDAyMjgwMENBMDAyRjgwNEFBMDEzQTgwMEFBMDBDQQorOjEwODVEMDAwMzY4MTBCQTAwMjI4MDA4QTAwMjI4MDA4QTAwMzhBMDBBRQorOjEwODVFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTNDMDIwRDA4RgorOjEwODVGMDAwMEIzNDAyOEMwMDhCMDAyQ0YwOEIxODAyNEMwMDgzMDA5MworOjEwODYwMDAwNjBDMDBCMzAwMjhDMDI4MzAwMjhDMTBBMzAwMkNBMDAwRAorOjEwODYxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExRTAwQjQwQjY5QzA2MworOjEwODYyMDAwMDk1ODA2MUU4MDk3MTAyRkMyNDg3MDgyOUM4MEE3MDhBOAorOjEwODYzMDAwMjVDQzBCNzAwMjFFODE4N0EyQUJDNDA4NzMwMkU4MDAzMAorOjEwODY0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzRTEwREM4NDIxRTA4QgorOjEwODY1MDAwMEY3ODQyOUYwMkM3ODgzREUwMkY3MTAzNEUwMENGODAwNAorOjEwODY2MDAwMjFFMjBGNzg4MzlFNDlDRkQwMzlFODBFNzgwM0VBMDJFMQorOjEwODY3MDAwMDAwMDAwMDAwMDAwMDAwMDA4NERBQzQwQ0EwMDM2MDBCOQorOjEwODY4MDAwOEYzMDIzRUNBOEVCNDAzQ0MwMEY5NjQzRUQ4MEZCMDBGRAorOjEwODY5MDAwM0VEODhGQjE0M0VEODBGQjIwMzZDQTBGQjBBMzgyMDZDRgorOjEwODZBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTgwRkM4MDMxRTA1QQorOjEwODZCMDAwMDVBQTEwRkU0NEZGOTAzRkUxQ0ZGOTE3M0YyMEQ3ODA3NQorOjEwODZDMDAwOEJFNDBGRjgwMzNFMzBGRjgwMzdFMDBGRjgwMDQwMDBFNgorOjEwODZEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQkQxMDIxQzAyNworOjEwODZFMDAwMDg0QTAyRENDMEI3MDAyREMyMENEMzAyMUM4MDg3MDBGMAorOjEwODZGMDAwMjlDMDRCNzIwMjFDMDBCNzAxMjFDMDBCRjAxMjJBMDRFMgorOjEwODcwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzkwMzQwMDIxODAwOAorOjEwODcxMDAwMDk3MDAwNUMwQ0I3MDAyREM0MDg1MDFBMEMwMDk3MDBCQgorOjEwODcyMDAwMjFDMDRCMzAwMjFDMDBCNzAwMjVDMDBCNzAwMjQwMDA3NgorOjEwODczMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzAwQjAwMDYwMDAwOQorOjEwODc0MDAwMDgzRTAyQ0MwMEIzMDIwQ0UwMkJCMDAyMEMwMDkzMDBGOAorOjEwODc1MDAwMjhDMDBCQjAwMjJDMTBCMzAwMjBENjAzMzAwMjA4MDQ0RQorOjEwODc2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwRkIwMEIyMDBCMworOjEwODc3MDAwMDVCRTAzN0MwMEZGMDAzRTIwMENCMDAzM0MwMEQ5ODAwNgorOjEwODc4MDAwMzNDMDhCRjAwMzNDMDBGRjAwMzdFMDBGRjAwMzZBMDRCNgorOjEwODc5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRkIwNDNFMDBEMAorOjEwODdBMDAwMEZBNDIzQ0MwMEZCMDAzRTgxMDg5MDAzRUMwMEU5MTRFOQorOjEwODdCMDAwM0VDMDBGQjAwM0VDMTBGQjAwM0VDMDBGQjAwM0UwMDA2MgorOjEwODdDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwRkYwMDM3ODBCNgorOjEwODdEMDAwMEZGQTAzRkMwMENGMDAzRjkwMDZEQzIzM0MwMEZEMTBBNQorOjEwODdFMDAwMzNDMDBGRjAwQjNDMDA0MzAwMzNDMDBGRjAwM0MwNDQxNAorOjEwODdGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDA2QzA5QkIxOTIyMzIyQgorOjEwODgwMDAwMEJCRTAzNkMwMDhCMDAyQzkwMERCODAyQUMwMEIxMDBDNQorOjEwODgxMDAwRjJDMDBCQjAxMkFDMDA4QjAwMjJDMDBCQjAwM0EwNDAyMgorOjEwODgyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzEwQjMwMDI2MjA3RQorOjEwODgzMDAwMEI5MDEyRUMwMThCMDAyQUMyMEE5MDAyMkMwMEJCMDBBNAorOjEwODg0MDAwQTJDMDBCQjAwMjJDMDBBQjAwMkFDMDBCQjAwMkUwMDBBQgorOjEwODg1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAxQjMwMDIwMDBFQworOjEwODg2MDAwMEIwMDAyOEMwMDgzMDAyRUMwMEIzNDAyOEMwMEJCMDA3NgorOjEwODg3MDAwMjBDMDBCMzAwMjBEMDBBMzAwQTBDMDBCMzAwMjgyMDEwQgorOjEwODg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQkIwNDM2ODBGQQorOjEwODg5MDAwMEZCMjAyRkMwMkNGMDIzOEMwMEVGMDAzM0MwMEZCMDAxNgorOjEwODhBMDAwMjNDMDBGRjAwMzNEMDJFRjAwMzNDMDBGRjA0M0MwMDNCRAorOjEwODhCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkYwMDNGMDA3MQorOjEwODhDMDAwMEZGNDIzN0MwMEZGMDAzRkMwMEREMDAzRkMwMEZGMDAyRAorOjEwODhEMDAwM0JDMDBGRjAwM0ZDODhERjAwM0ZDMDBGRjAwM0E4MDY4OQorOjEwODhFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMDUwQ0UxMjMzRDAzMAorOjEwODhGMDAwNEM4NjgzMzA4MDVGNjgzM0M0MEZGMzgzM0NDMENDMzgzMAorOjEwODkwMDAwQjMwODBDQzYwM0YxQTBGRjAwMzMyNDBDQzIwM0YwMDAyRgorOjEwODkxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQzgwRDIyMDIzRDhGRQorOjEwODkyMDAwMEQ5NjAyODg2MEFGNDAyM0RDMEJGNjAyM0NDMjg4NjBFMworOjEwODkzMDAwMjI1MjA4OTEyMkUxMDBCNzI0QTI0ODhBODQ4MjYwMDQ2RQorOjEwODk0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNDAwODEwMEUwQzQ4MQorOjEwODk1MDAwMEEwMDAyMDQ4MEEzMjBBOEMwMUIzMDBBMEMwMEEwMDA1QgorOjEwODk2MDAwMjgwQzA5MDIwMkM0ODBCMzFDMjIwODE5MDMwMkUyMTE3OAorOjEwODk3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBNDAwOTk4MDYyQzBEMworOjEwODk4MDAwMEJBMDMyQTQ1MUFCMDAyQUMwOEJCMDAwMEMwMEE5QzBEMAorOjEwODk5MDAwMkEyMTA4QjgyMkUyMDBCQjAwMjI4NDFCQTg0MjcwMDRFRQorOjEwODlBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFMjAwQ0JDOTMyQzBBQQorOjEwODlCMDAwMEU4QjEzMjIxMERCMDEzMkMwMEZCMDBCMkMwMDY4ODEyQworOjEwODlDMDAwM0EyMjJDODgyM0UzMDBGQjAwMzAzMDhEOUM4M0QwMDRCNgorOjEwODlEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQTQwRjcwNDNFQzI1MQorOjEwODlFMDAwMEREODIzRDgwMDdCMDAzN0MwMEY3MDMzRkMxMEQyMDBBNQorOjEwODlGMDAwMzVDMDhGQzAwM0Y0MDBGNzAyM0ZFMDBFODAwM0Y4MDA5QgorOjEwOEEwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTA4MTIwQzgwODMwQzA1NQorOjEwOEExMDAwMEMwMDgzMjQ0MEMzODkzQUMwMEVCMDBCMkMwOEM5NDgwRgorOjEwOEEyMDAwNzI1NDBGOTEwM0VEMDJFQjhBM0E2MjhDODAwQjEwMDRCMgorOjEwOEEzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQjA0ODg0MEEzQzJFRAorOjEwOEE0MDAwMDJBRTEyMjc0MjhGNDQyM0MyMEJGNDAyM0QwMDBBNDBCQgorOjEwOEE1MDAwMjJFMDBCQjUwMkVDMjA4RjQ0QTI0MDhEQkQyMzMyMDBGMgorOjEwOEE2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0OTQwODM4MTI0QzE2RgorOjEwOEE3MDAwMDgyODAyMDEwMDkzMDBBMEU4MEEzMDgyOEY2MEIzOTBCQQorOjEwOEE4MDAwNjBCODBCMjgxMjRBMDA5MzAwMjA5MDA5MjAwMjc4MDA1OQorOjEwOEE5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAyODdBODI1RTAxMQorOjEwOEFBMDAwMEE3QjAyMUEwNDg3ODAyMUU0MEI3ODgyOEUwMjk2OTE1OQorOjEwOEFCMDAwMjEyMTBCNjk0MERCNDA5NzkyMjNBMDg5NTg4MjA4MDA0RQorOjEwOEFDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgyNTgyQzMwMDM0QzBCOAorOjEwOEFEMDAwMEM5QjQzMDhEMEQzMjAzOEMwMEVCMDAzOEMwMEIzMDBFOQorOjEwOEFFMDAwMjA4MDA3MTAwM0UwMDBEMzEwMzgxODBEMzAwMzUyMDIyNQorOjEwOEFGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCNDAwN0YyMDFCRDBEQgorOjEwOEIwMDAwMEZGMTAzRjg0MEVGMDAzRkMwMEZCNDAzN0MyMENGMDQwNworOjEwOEIxMDAwQkY0MDBGRjAwM0U0MTBFRjE4M0RDMDBGRTAwM0QwMDY5NAorOjEwOEIyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFODAwRTMwMEIyQzRGNworOjEwOEIzMDAwMENBMDAzMjQwMERCNjgzMkM4MENCNDAzRUM4MEM4ODBBRQorOjEwOEI0MDAwQjZFMDBDQTAwMzJFMDBDQkUwQjI2MDBDQjgwQjJBMDBGQworOjEwOEI1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAyODcwMEExQzhCRQorOjEwOEI2MDAwMDg3MDAyMUMwODk3MDIyMUQ0MDg3NDAyRENDMDA3MDBCOAorOjEwOEI3MDAwMjFDMDg4NzAwMjE4MDA4MzA4MjFDMDA4NTAwMjEyMDQyNgorOjEwOEI4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTIwQUQ4MDI5RTBEMQorOjEwOEI5MDAwMDg1ODAyMUUwMDk3QjAyMUU4MDg3ODAyREUxMDE1ODAwMAorOjEwOEJBMDAwMjFBMTA4NDgwMjVFMDA4N0E0NjVBMDA4NzgwMjMwMDA3MQorOjEwOEJCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDRjEwODE3MEE4QzAwMQorOjEwOEJDMDAwMzgzMDBBMEQwMDkzMDBBMEMxMjgzMDAyQ0MwMjgzODhGRgorOjEwOEJEMDAwMjBFMDM4MzQwQTRENzI4MzAwMjRFODI4MzQ4MjEyMDRERAorOjEwOEJFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQTQwRUVDMEJBODA3NgorOjEwOEJGMDAwMENFMDAzMzkxMERBMDAzMjgwMENBMDAzRTgwMERFQzg3NAorOjEwOEMwMDAwMzNBMDBDRTAwMzdCMDBDQTAwMzdCMTBDRTQyMzNBMDQyNAorOjEwOEMxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBDMTAwRjgwMDM2MDBCRAorOjEwOEMyMDAwMEY4MDAzQzAyMDM4MDAzRTAwMEYwMDAzRTAwMEY4MDI3MAorOjEwOEMzMDAwM0EyNDBGODA4M0EwMDFGODA0M0EwNDBEODAxM0QyMDA3NworOjEwOEM0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDQ0QzEwMDMyNDA4MQorOjEwOEM1MDAwMEM5MDMyMjQwQ0MxMDYzODQwMEQ5MDA5MDQwMEQ5MDA1NAorOjEwOEM2MDAwM0U0MDBGMTgwMzI0MDBGOTAxM0U0MDBGOTAwM0MyMDQ1OAorOjEwOEM3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA2ODkwMDJBNTBEMworOjEwOEM4MDAwMDg5NDBBMjQwMDg5NDIyMjUwMEE5MDEyMjUwMDg5MDA4MworOjEwOEM5MDAwMkU1MDBCOUMwQTI1MTBCOTAwMkU1MDBCOTAwMkUwMDBCQworOjEwOENBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDIwODkwMDIwNDI2OAorOjEwOENCMDAwMDgxMEMyQUMxMDg5MDgyQTQyMDk5MDAyMjQyMDk5MDBBOQorOjEwOENDMDAwMkU0MjBBQjE4MjJDMjBCOTAwNkU0MjBCOTAwMkM2MDBERgorOjEwOENEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwODMwMDI4NDg1MQorOjEwOENFMDAwMDgxMjYyOEM4MDgxMDAyMDQwMDIxMDAyODQ4MDgxMjA2MgorOjEwOENGMDAwMkM0OTBCMTIwNjA0ODRCMzAyNkM0MDBCMTIwMkMyMDExMQorOjEwOEQwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ0MUUwQzg3ODMwMTRGOQorOjEwOEQxMDAwNEMwNTEzQTE0MkMwNzgzODFFMEQ4NzgzMDE0MEQwNTAwNgorOjEwOEQyMDAwM0MxNDBFMDUwMzAxNDBGODc4M0MxNDBGMDUwM0VFMDNENAorOjEwOEQzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGQzAwRkYwMDBFNDRFMQorOjEwOEQ0MDAwMkZGMTAzNzQ0MEY5MDAzRTQwMEQ5MDAzNjQ0MEZEMTA4NAorOjEwOEQ1MDAwM0Y0NDBGRDEwMUY0NDBGOTAxM0ZDMDBGRDEwM0U2MDZCMworOjEwOEQ2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNjIyRTk4OEIyNDAwQgorOjEwOEQ3MDAwMEY5MDAzMjQxNkM5OEMzNjdCOEY5QzgzQTc5MEM5MDA2MworOjEwOEQ4MDAwM0U1MDA0OTQxMzI0NTBDOUUwM0U1MDBGOTAwMzA2MDA1NworOjEwOEQ5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMjgwODhBMDIyMjg0NworOjEwOERBMDAwMEI4QTAyMkE4MDg4QTQyMjMwMDg4RTBBMjIwMjg4QTAxOAorOjEwOERCMDAwMkUyODg4QUExMjIyOTA4OEY0MkUyMDBCQzgwMjBFMDRCNgorOjEwOERDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVENDIwQTUwODIxNDI2MgorOjEwOEREMDAwMEI1MDgyMTQzMTg1MDgyNTQwMEE1MDIyOTQ0MDg1MDhBMgorOjEwOERFMDAwNkQ0MDA4NTAwMjU0MDI5NTAwMkQ0ODBCNTA4MjQyMDFGQworOjEwOERGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTU4NDAwOEQxMDIzNDA1MgorOjEwOEUwMDAwMEJEMDAwMzQwMThEMDAyMzQxNThEMDAyMzQwMDhEMDg2RQorOjEwOEUxMDAwMkY1MDA4RDIwMjc0ODA5RDAwMkY0ODBCREMwMjQ2MDRCQworOjEwOEUyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNzQwRTlDMDMyNDBFQgorOjEwOEUzMDAwMEY5MDA5MjYwMEM5MDQzNjQwMUY5MDIzQTQwOEM5NDA5QQorOjEwOEU0MDAwM0U0MDBDOTQwQjY0MjBEOTAyM0U0MTBGOTQwMzY4MDQwOQorOjEwOEU1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjk4MDNFNDBERQorOjEwOEU2MDAwMEYxNDAzQzUwOEY5MDAzRTQwMUY5MDIzRTQwMEY5MDBFOQorOjEwOEU3MDAwM0M0MEFGOTgwMzg2MDBFOTAwM0U0MDBGMTAwQjhBMDA4QgorOjEwOEU4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBCMDAwREM0MEIzMDBDQgorOjEwOEU5MDAwMEZDMDAzMzEwMkM0MDRCMTAwM0M0MDAzMTAwMEZDNDA4OQorOjEwOEVBMDAwMzMwMDBDQzQwM0IxMDBDQzAwQjMwMDBDQzQwM0NBMDRFQgorOjEwOEVCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEE4MDIyQTA3MQorOjEwOEVDMDAwMEJBMDAyMkEwMDhBODQyMkExMDhBMDAyMjgwOEJBMDE2NQorOjEwOEVEMDAwMjI4MDA4QTAyQjI4MDA4QTgwMkE4MDA4RTAwMkNBMDA4RAorOjEwOEVFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAyOUI4MTIwRTBBQgorOjEwOEVGMDAwOEIzODA2Q0UwMDkzODAyMEMwMDgzODAyMEMwMEIzODA2NworOjEwOEYwMDAwNkNFMDBBQjAwMjRDMDA5MzAwMjBFMDA4MzAwMkNBMDA3NgorOjEwOEYxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExMDA0ODAwODIxMDJBMQorOjEwOEYyMDAwNEI0NDA2RDAyMDkwMDgyMTAyODA0NDAyMTAwMEI0QzBCNworOjEwOEYzMDAwMkQxMDQ4NDAwMjAwMDA5NDg5MjkzMDA4NDAwMkU4MDBDMgorOjEwOEY0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzMjAwRDY4MDMxQTBEOAorOjEwOEY1MDAwMEZFODBCQ0EwMEQ2ODAyM0EwMDRGODBCMUEwMEZGODA4QworOjEwOEY2MDAwQkZBMDJFQzgxM0RBMDI1RTgwNzNBMDJDNzgwM0VBMDIzOQorOjEwOEY3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRjkwMDNFNDBBOQorOjEwOEY4MDAwMEY5MDAzMjQwMEU5MDAzRTQwMEU4MDAzRTQwMEY4MDA0NworOjEwOEY5MDAwMzI0MDBGQjAwM0U0MDFFOTA0MzY0MDBGODAwM0MyMDZGQgorOjEwOEZBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwQ0Q4MDMzNjA3RQorOjEwOEZCMDAwMENEODQzMzYwMENEODAzMzYwMENEOTIzQkUwMDREODBFMQorOjEwOEZDMDAwMzM2MDA4RjgwQjNFMDBGRDg0M0Y2MDBGRjkwM0MwMDBEQQorOjEwOEZEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5MDA0REUwMDIzODA1MworOjEwOEZFMDAwMDg2MDAyQjgyMDhFMDQyMzgwMDg2ODAyMTAwMDhFMjBEQQorOjEwOEZGMDAwMjM4MjA4NDAwMjEyMDBGNjAwMkQ4MDBCNDFBMEVBMDRGMworOjEwOTAwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5MDAwODQwMDIxMDBDQgorOjEwOTAxMDAwMDg0MTAyNTA0MDk0MDAyMTAwMEE1MjAyRDgwMDg1MDIwMworOjEwOTAyMDAwMjUwNDA4NDAyMjE4MDhCNDAwMkQxMDBCNzg0MEMwMDAxOQorOjEwOTAzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRFRTIyOTMwMDIwQzA1OQorOjEwOTA0MDAwMDgzODAyRUMwMDkzMDAyMEMxMkEyMDAyNjQwMjgyMTAzQQorOjEwOTA1MDAwMjRGMDBBM0M0MjI0MjhCMzAwMkNFMDBCODg4MkM4MDQ4OAorOjEwOTA2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBRDAwQ0IwMEIyQzAyOQorOjEwOTA3MDAwQUNCRTAzNkUwMkRCMDBCMkMwMUVBMDAzRTQwMENBMTE0NgorOjEwOTA4MDAwQjZEMEFDQkMwMzI0MDBGQjAwM0VDMENGODQwM0VBMDQ4RQorOjEwOTA5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFMDQwRjgwMDNDMDA5QworOjEwOTBBMDAwMkY4MjAzQTAwMEU4MDAzRTAwMUQ5MDEzQTgwMEY5MDBFNQorOjEwOTBCMDAwM0EwMDgxODM0M0U4MDBFODAzM0UwNDBGQjAwM0UwMDA3OAorOjEwOTBDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBFMDAwRDYwMDM3ODBGMgorOjEwOTBEMDAwMENBMDAzRjgwMENFMDAzMzgwMERBMDEzMjAwOENFMDBCMgorOjEwOTBFMDAwMzM4MjBDNDA3MzMwMThDRTAwMUY4MDRGQzE0MzAwNDRDMAorOjEwOTBGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ3QzAwOEQwMDIzNDA0RgorOjEwOTEwMDAwMEFEMDAyRjQwMDhEMDAyMzQwMDhENDgwM0U0MjhENDBGNgorOjEwOTExMDAwMjM0MDA4RjAwMjNFNDA4RDAwMEY0MDBCRjQwMjIwNDAzNworOjEwOTEyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOTkwMEE2NDBGRgorOjEwOTEzMDAwMDg5MDA2RTQwMDkxMDAyMDQwODgwMDAyMjQwODgwNDA0NgorOjEwOTE0MDAwMjA0MDBBQjAwMjI0MDA4OTAwMEU0MDBCODQwMjIwMDA1NworOjEwOTE1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwMDAwODIwMDIwODBBMQorOjEwOTE2MDAwMEEyMTA2QzgwMTgyMDAyMDgwMDgzMjgyMDgwODgzMDA5NAorOjEwOTE3MDAwNjA4MDBBMDAxMjA4ODA4MjAwMkM4MDBCMzAwQTAyMDFGNQorOjEwOTE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2MDAwRDgwMDM2MDA2NAorOjEwOTE5MDAwMEM4NDIzRTAwMEM4MDAzMjAwMEQ4MjBCMjAwMkM4MDBCRQorOjEwOTFBMDAwMzIwMDBFMDAwMzIwMDJDODAwM0UwMDBGODAwMzAwMDNCRgorOjEwOTFCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwQkYwMDNGQzBFOAorOjEwOTFDMDAwMEZGMDAzRkMwMEZGMDBCRkMwOEZCMDAzRkMwOEZGMDJEQworOjEwOTFEMDAwM0ZDMDBERjAwM0VEMDBGRjAyM0ZDMDBGRjAwM0U4MDZCMworOjEwOTFFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDFGMDhDRkYwMDNENjAzNgorOjEwOTFGMDAwMkNCMjgzN0M5MERGMzgzMUUwMEZGODAzM0MwMEZGMjA3NQorOjEwOTIwMDAwM0ZDNDBFRjQwMzdDMDBGNDgwMzMwMDBERjgwM0YwMDAzQgorOjEwOTIxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMTIwQkI2MjJFNDJDMAorOjEwOTIyMDAwMjhGNDQyM0U0MDhGNDQyMkUwMEJCMDgzN0Y0NEJGQzEwQworOjEwOTIzMDAwMkREQzJBRjYwMjNGNDVCODgwMjI2MTg4QjgwMkUwMDQ5RQorOjEwOTI0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNTgwQjIxODJFQzg1QworOjEwOTI1MDAwMjkzMDMyMEMwOEIzMjAyMEMwNEI5MjAyMEMwMEIzNDBERQorOjEwOTI2MDAwMkNDMDg5MzQxMjRDMDBCMDAwMjRDMTQ5MzAwMkUyMDEwNAorOjEwOTI3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTFBNDAwQkEwQzJFRTAzNQorOjEwOTI4MDAwQTlCMDA2MkMwMDhCMDBBMkMwMEI5MDAwNkMwMEJCMDBBNAorOjEwOTI5MDAwMkVDMDBCMzAwMjZDMDBCQTgwMjZGMDA4QjAwMkYwMDQzOQorOjEwOTJBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTFFRTAwRkJDNDNFNzhBQQorOjEwOTJCMDAwMkRCMDAzNkMwOEZCMDAzMkMwOEIyNDgzMkMwMEZCMDAxNAorOjEwOTJDMDAwM0VDMDhGQjAwQjZDMDhCMkUwMTY2MDhEQjAyM0QwMDRBNgorOjEwOTJEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCRTk4RkY0MDNGQzBBOQorOjEwOTJFMDAwMEU3MDAzREMwMEZGMDAzRkMwMEZFMDAzRkMwMEZGMDAzNgorOjEwOTJGMDAwM0ZDMDBFRjAwM0FDMDBGRTAwQjlDMDBGRjAwM0Y4MDA1MQorOjEwOTMwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBRDAwRkE0MDNFRDBCOAorOjEwOTMxMDAwMEVCMjAzRUMwMEMzMDAzRUMwMENBMDAzMkMwMUZCMDAwNgorOjEwOTMyMDAwM0NDMDBFQjgwM0VDMDBEQTAwM0FEMDRGQjAyM0QwMDRCMgorOjEwOTMzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQkEwMDJDQzA2RQorOjEwOTM0MDAwMDhGNDA3QkMxNERGMDAzRUMwMUFBMDUyQkMwMEJGMDRFMgorOjEwOTM1MDAwM0ZDMDhBRjAwM0JDMDBGQTAwMjJDODBGQjAwM0YyMDAzRAorOjEwOTM2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0ODAxQjEwMDZDQzJCMAorOjEwOTM3MDAwMEEzMDQyQ0MwMDgzMDUyQ0MwMDgzMDAyOEMwMUIzMDRCMworOjEwOTM4MDAwMkNDMDBBMzAyMjhDMDA4MDgwMjhDMDBCMzAyMkY4MDBDQworOjEwOTM5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTA4Qjc4MDZGRTBCMAorOjEwOTNBMDAwMTg3ODAyOEU0MEI3ODAyREUwMEE3ODAyOUUwMEI3ODBDMAorOjEwOTNCMDAwMjlFMTBBNzgwMjlFMDFCQzgwMjlFNDBCNzgwMkM4MDBFQQorOjEwOTNDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwOTQwRjEyMDNDQzRCMworOjEwOTNEMDAwMEUzOTAyQ0MwMEMzMDAyQ0M0MDg5MjAzOEM4OEIzMTA1MQorOjEwOTNFMDAwMkNDNDBFQjAwNzhDMDBDMjA4MzhDMDBGMzA0M0QyMDIyNAorOjEwOTNGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzEwRkMwMDdGQzAwOQorOjEwOTQwMDAwMEZGMDgzRkMyMURGMDgzQkMwOEY5MDAxRkMyMUZGMEM5MworOjEwOTQxMDAwM0ZDMjBGRjEwM0VDMDBFRjAwNzdDMDFFRjAwMzkwMDY4RgorOjEwOTQyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFODAxRjkwMDMyQzA1QgorOjEwOTQzMDAwMEZCMjAzRUU5MERCRTEzQUMwNEQzODEzMkQzMEZCMDA0NAorOjEwOTQ0MDAwM0VFMDRGQkE0MzJDNDBGQTAwM0ZDMDhDQjAwM0VBMDAyNAorOjEwOTQ1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwQjEwMDIxQzAxNQorOjEwOTQ2MDAwMEI3MTAyQ0MyMEE3MjgyMUMwMEI3MDEzNUMwOEI3MTAyOQorOjEwOTQ3MDAwMkRDNDRCMzQ4MzFDQzFCNzAyMkRDMDFBNzAwMkQyMDQxNAorOjEwOTQ4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5QTIwQjRDNDI1QTJDMworOjEwOTQ5MDAwMEI3ODA2REUwMDgzODAyOUUwMUJGODAyNUU4MEE3QTAxRgorOjEwOTRBMDAwMkRDODBBNzIwMjFFMDBBNjgwMjhFMDA4NzgwMkYwMDA4QgorOjEwOTRCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRFRDAwQjM0MDI0QzM2OQorOjEwOTRDMDAwMEIzMDQyQ0MwMEEzMDAyMEMwMUIzNDAyNEMwMEIzMDA4MAorOjEwOTREMDAwMkNDMDRCMzAwMjBDMDBCMzg4MkNENDBBMzAwMkQyMDRDQQorOjEwOTRFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODAwRkU0MEI3QTAwMgorOjEwOTRGMDAwMEZBMDAzRTgwMERBMDAzQTgwMEZFMjAzNjgwMEZBMDBFOAorOjEwOTUwMDAwM0U4MDBGQTAwQjI4MDBFRUUwM0ZCMDA0QTAwM0ZBMDQ1OQorOjEwOTUxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDA0RjAwODNBMTA3RAorOjEwOTUyMDAwMEY4NDAzRTAxMEY4MDAzRTAwNEY4MDgzRTAwMEY4MDA1NQorOjEwOTUzMDAwM0MwMDBGODAwMzgwMDBGODQwM0UwOTBGODAwM0QyMDBGQQorOjEwOTU0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDIwRTkwMDMyNDQ3MAorOjEwOTU1MDAwMEM5MDAzMjQwMEY5MDAzRTQwMEY5MDEzRTQwMEI5MDA4MgorOjEwOTU2MDAwMUU0MDBDMTAwMzI0MDBDOUEwM0M2NDBDOTAwMzgyMDQyQworOjEwOTU3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODkwMDIyNjhDMAorOjEwOTU4MDAwMDgxMzAyMjQwOEY5MDAyRTQ4MUI5MDAyRTQwMEI5MDBEOQorOjEwOTU5MDAwM0U0MDBDOTAwMjI0MDhGOTQwMkU2MDBBOTAwNkUwMDAzQworOjEwOTVBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDEyNDAwQTkwMDIwNDA2NQorOjEwOTVCMDAwMDg5MDAyMjQwMEI5MDEyRTQwMEI5MDAyRTQwMEI5MDA4QgorOjEwOTVDMDAwMkU0MDA4OTIyMjI0MDA4OTAwMkU0MDA4OTAwMkM2MDBGNgorOjEwOTVEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgwODEyMUUwNTBFOQorOjEwOTVFMDAwMjgxNjBBMDQ4MEExNDAyQzQwNEIxNDIyQzQwMEIxMDA2QworOjEwOTVGMDAwMkM1MDA5MTQwMjA0MDRCMTAwMkM0MDBBMTAwMkMyMDFDQworOjEwOTYwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRTg1MDMyMDA4QQorOjEwOTYxMDAwOEM4MDAyMjAwMEI4MDAzRTAwMEI4MDMzRTAxMEY4MDA4MAorOjEwOTYyMDAwM0UwMDBDODAwMzIwMDhDQTAwM0UwMDBDODAwM0FFMDNGRAorOjEwOTYzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGQzQwRkQxMDJGNDE2QworOjEwOTY0MDAwNEY5MTAzRTQ0MEY5NDAzRTQwNEZEMDYzRTUwMEY5NDBCQworOjEwOTY1MDAwM0E1MDJFOTQwMzY1MDBFRDAwM0Y1MDBGOTAwM0U2MDY0QworOjEwOTY2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVFNjAwRjlFMDMzNTAxQgorOjEwOTY3MDAwMENEQTAzQTYwMEQ5ODAzRjQwMEY5MTAzQTYwMEY5ODhCOQorOjEwOTY4MDAwM0U2ODBDREUwMzY2MDBFRDAwM0I2OTBDOTAwM0M2MDBFQgorOjEwOTY5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTA4QjhFMDIwMjA1MQorOjEwOTZBMDAwMTg4RTI2RTEwMDgwQTAyRTAwNEI4ODQyRTE1MEI4NDA4MQorOjEwOTZCMDAwMkUyQTBEMEEwMjIwMDhCODAwMkUxNDBEODAwMkNFMDRCNgorOjEwOTZDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNTAwQjE2MDIwNDAyNworOjEwOTZEMDAwMDgzMUEyQzUwMDkxNDgyQzQwMUIxMjAyODQwMEIxMDA0MQorOjEwOTZFMDAwMkM1MDA5MTYwMjA1MDBBMzA0Mjg0MDA4MTAwMkMyMDFFQworOjEwOTZGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVBNDAwQjkwODIwNzBFOAorOjEwOTcwMDAwMjg5MDAyRTQwMDg5MDAyRTQwMEI5MDAyRTQwOEI5MDM3RgorOjEwOTcxMDAwMkM0MDI5OTAwMjY0MDBCOTAwMkU2MjA5OTAwMkM2MDQxMAorOjEwOTcyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMDVFNTAwRjlEMEIyNzA2NAorOjEwOTczMDAwMDg5MDAzRTQwMEQ5MDQzRTQwMEY5MDAzQTQxMEY5MDJGRQorOjEwOTc0MDAwM0U0MDBEOTAyQjY0MDBFOThEM0E2MDBDOTAwM0U4MDRENAorOjEwOTc1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjk4MDNFNDJEMworOjEwOTc2MDAwMEY5MDAzRTQwMEY5MDAzRTQwMEY5QTAzRTQwMEY5MDA3MworOjEwOTc3MDAwM0U0MDJGMTAwM0E0MDBGOTIyM0M0MDRGOTAwM0NBMDA0MgorOjEwOTc4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MDBBMDAwRjA0MDMyMDA0RgorOjEwOTc5MDAwMEM4MDAzQzAwMEY4MDAzMjIwMUY4MDAzRTAwMEM4MDBFNgorOjEwOTdBMDAwMzIwMDBDODAwMjIwMDBDOEMwM0UwMDBDODAwM0NBMDRCNgorOjEwOTdCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MTUyODEwQkEwMDIzQTA5NworOjEwOTdDMDAwMEFFNDAyRTgwMEJBMDAyQkExMEJBMDAyRTgwMEFBMDBGQworOjEwOTdEMDAwMkE4MTBBQTAwM0U4MDhERTAwMkU4MDBBQTAwMkNBMDAzRgorOjEwOTdFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQjMwNEEwQjFCOAorOjEwOTdGMDAwMDgzNjIyQ0MwMEIzMDAyMEU0MEIzMDAyQ0MwMDgzMDBGQQorOjEwOTgwMDAwMjBDMDA4MTgwMjBDMDA5MTAxMkNDMDA4MzAwNkNBMDBDNAorOjEwOTgxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQ0M4QjMyMTIxQzJCQworOjEwOTgyMDAwMkE3MDAyREMwMEI3QTAyOUMwMEI3MjAyQ0UwMEE3ODEwQgorOjEwOTgzMDAwMjlDMDRBNzQwMkZFMDA5NzAxMkNDMDBBNzAxMkU4MDA4OQorOjEwOTg0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTgwRjdDMDMxRTBDMgorOjEwOTg1MDAwMEM0ODAzREUxMUY3ODAyMUUwMEI3QTAzREUwMEMzODBBMQorOjEwOTg2MDAwMzNEODZDNzgwMzNFMDBENjgwM0RFMDBDNzgwM0VBMDJFMgorOjEwOTg3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MERBQzA4RkI4MDNFQzBBNgorOjEwOTg4MDAwMEZEMDAzRUMwNEZCM0MzRUMwMEZCNjA3NkMwMUZCMDA5RAorOjEwOTg5MDAwM0VEMDBGOTQwN0VDMDFFQTAwM0VDMDBGQjAwM0MyMDZCMQorOjEwOThBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDFGRTAwQ0ZBNDNCNjA0QgorOjEwOThCMDAwMDhEOTAzN0UwMENGODAzRjI1NEZGQzg3QkUwMENGODBCNAorOjEwOThDMDAwN0ZGQzBDRkMwMzdDMDBGNjkwMzNFMDBGRjgwM0MwMDAzMworOjEwOThEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzA4OEYyODIxNDBBMworOjEwOThFMDAwMDhEMDAyMUM0MEE3MjAzMTA0MUI3ODAyREM4MEQ3MDA3RQorOjEwOThGMDAwMkZDNDFBRDAwMjFFNDhCNjAwNjFDMDBCNzAwNkVBMDRERAorOjEwOTkwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA4QzAwODczMDY5NDQwNworOjEwOTkxMDAwMDg1MDIyMEMwMDg3MDEyRDQ0OEI3MDA2OEMxMDg3MDBBNAorOjEwOTkyMDAwMjlDOTA4NTAwMjFDNDRBNjAwNjFDMDBCNzAwMkMwMDA4NworOjEwOTkzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDRDAwODM4ODYwNDA1QgorOjEwOTk0MDAwMDAxMDAyNEMwMDJCMDAyQzQxMUIzMDAyQ0MwMDkzMDA3NQorOjEwOTk1MDAwMkNDMDBBMzA0MjBDMDBCMjQwMjBGMTBCMzAwMkM4MDQ4NworOjEwOTk2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCRDQxQ0ZDMEJBRjBEMworOjEwOTk3MDAwMjg5MDFCNkMwOENGMDAyQ0MwMEZGMDAzQUMwMDhCMDBBQworOjEwOTk4MDAwM0ZDMDZDQjA0QjJDMDFGQjQwMjJDODBGQjAwM0VBMDQ2RgorOjEwOTk5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzA0RkIwNDNGRDRFNQorOjEwOTlBMDAwMEYxMDAzQUMwMEZCMDAzMkMwNUZCMDAzRUMwMEZCMDRGRgorOjEwOTlCMDAwM0VDMDRGMTAxM0VDMDBGQjg4M0VDMDRGQjAwM0UwMDBFOAorOjEwOTlDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBEQzAwQzcwMDMzNjIxRQorOjEwOTlEMDAwMENDMDBCM0MwMEVGMDAzM0UwMUNGMDEzM0MwOEY3MDAxOAorOjEwOTlFMDAwMzFDMDBFRDgwM0JDMDBGRTAwM0RDNjBDRjAwM0MwNDRERAorOjEwOTlGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzAwQ0IwMzIyNDcwRgorOjEwOUEwMDAwMDg5ODQyMkMwMDlCMDAyQUMwMEFCMDAyMkMwMEJCMDQxQworOjEwOUExMDAwMkFDMDBBQjAwMkFDMDhGQTAwMkU2MDA4QjAwMkUwNDA4QQorOjEwOUEyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOUIwMDIwNDA3QQorOjEwOUEzMDAwMDg5ODAyMkMwMEJCMDAyMjg4MDgzMDAyMkMwMEJCMDBEMgorOjEwOUE0MDAwMjJDMDhBOTIwMkFDMDBBQTgwMkVDMDA4QjAwNkUwMDBCNAorOjEwOUE1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwODMwMEEwNDA0QgorOjEwOUE2MDAwMDgxMDAyMEMwMEIzMDAyODgwMEEzMjEyMEMwMEIzMDQ2NAorOjEwOUE3MDAwMjhDMDBBMzAyMjhDMjBCMjAwMkNDMDA4MzAwMkMyMDE1QgorOjEwOUE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAyQ0IwMDMwNDAyMAorOjEwOUE5MDAwMUM5NDAzMkMwMEVGMDAzMkMwODhGMDhCMkMwMEZCMDBEQworOjEwOUFBMDAwMzNDMEFFRjAwM0FDODBFQTAxM0VDMDJDQjAwM0MwMDM2QgorOjEwOUFCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkYwMDJGNDAyRgorOjEwOUFDMDAwMDdEMjgzRkMwMERGMDQzRkMwMEZCMDAzRkMwMEZGMDA5RgorOjEwOUFEMDAwM0ZDMDBGRDAwQkVDMDBFRTAwM0Y0MDBGRjAwM0U4MDY1NAorOjEwOUFFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGNTAwQ0YwODNGNDhFRQorOjEwOUFGMDAwMEZDMzkzNzBEMERDMzAzRkQ4MENCMjAzM0NDMEZGNDBBMgorOjEwOUIwMDAwMzNDNDJDRjEwMzYyNTBGQzM0MzMwMDBGNUMwM0YwMDBDQgorOjEwOUIxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBDNDgwOEIwMDJGNUFFRAorOjEwOUIyMDAwMEJBNjEyMjFDMDg5NzAyRkRDMDhGMkMyM0REMEJGNDBDNQorOjEwOUIzMDAwMzdEQzg4RjUwQTIwODBFODEwMkExNjBCOTAwMkUwMDQzMgorOjEwOUI0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDMDAwODMwODJDNDQ5RAorOjEwOUI1MDAwMEIwMjAyMEMwMDgwMDAyQ0M4MDgzMzQyOEM5MEIzMzBGQQorOjEwOUI2MDAwMjhDODRBMzIxMjgwMENCMEEwMjgyODBCMTIwMkUyMDE0OQorOjEwOUI3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBMjAwOEIwMDJFNDhGRAorOjEwOUI4MDAwMEJBMDIyMjAyMDg4ODAyRUMwMjhCMDBBQUMwMEJCMDA4OQorOjEwOUI5MDAwMkVDMDBBQjAwMkEwMDBBQjgyMkFBMDBCQjIwMkYwMDREMQorOjEwOUJBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFNzAwQ0IwMDNFQzA1MAorOjEwOUJCMDAwQ0Y5QzBCMjEwMEQ4ODgzRUMwMENCMDAzQUMwMEZCMDA0QQorOjEwOUJDMDAwM0FDMDBFQjA0M0U4NDBGODgwM0E2MDBGOTgwM0QwMDRFMgorOjEwOUJEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNDAwRkYwMDBGRTA5MgorOjEwOUJFMDAwMDdBMTAzRTgwMkZCMDAzRkMwMEY3MDIzN0MwMEZGMDJDNworOjEwOUJGMDAwMzVDMDREQjAwMzc0MjBGQzAxM0YwMDBGRjgwM0Y4MDA5RQorOjEwOUMwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNTAwQ0IwMEJBNDAzQQorOjEwOUMxMDAwMEMxNDBCMkYyMkM5NDAzMkMwOEVCMDAzQUMwMEZCMDBFNQorOjEwOUMyMDAwM0VDMDBFQjAwM0U0MDBDOTAwMzIwMDJDOTAwMzEwMDRDMworOjEwOUMzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDEyNDAwOEYwMDIyNDAyNgorOjEwOUM0MDAwMkNBNTQyMjkwMDhCMDRBM0MxMERGMDBBM0MwMEJGMDBFMworOjEwOUM1MDAwM0ZDMDA4RjAwMTY5MDBEQTA1MjJEMDA4OTQwMzcyMDBDMQorOjEwOUM2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU2MDQwODMwMTIwQzBDQgorOjEwOUM3MDAwMDkwMDAyMjAwMDgyNjAyMkMwMDgzMDQyNEMxMEJCMDI2MgorOjEwOUM4MDAwMkNDMDA4QjAxMjA1MDA5QjAwMjA4MjA5MzIwMjM4MDA2NworOjEwOUM5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExNjkwODc4MDIwRTBBNgorOjEwOUNBMDAwMDg1ODAyMTYxNDg0ODEyMUUwMjkzOTAyNUUwMEI3ODAyOQorOjEwOUNCMDAwMjhFMDA4NzgwMjdBODA5NjgxMjFFMDA5RjgwMjQ4MDBCRAorOjEwOUNDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODA5OEIxMDM4NDREQworOjEwOUNEMDAwNEQyNTEyMEMwMEMyMTAyMkM4MEEzODAzQ0MwMEYzMTAyNAorOjEwOUNFMDAwMkNDMDBDMzAwMzhBQzBEOTEwMzI0MDJEMTAwMzEyMDI1MAorOjEwOUNGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzgwRkYwMDNGNDA0RAorOjEwOUQwMDAwMEZGMDAzRjQ0MEVEMDAzRkMwMEVGMzAzQkMwNEZGMDA2RQorOjEwOUQxMDAwM0ZDMjBGRjAwQkQ0MDBGRjEwQkY4MDBFRjAwM0QwMDYzRgorOjEwOUQyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVGQTAwQ0IwMjNFQzA2MQorOjEwOUQzMDAwMEY5MDAzQTAwMENCMDAzQUNBMENCMzEzQUYyNENCNDg1QQorOjEwOUQ0MDAwMUVDODBGQjYwMzJDMDBGQTAwM0VDMDBGOTAwM0VBMDBCNQorOjEwOUQ1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzA4ODcyMDJEQzRGRQorOjEwOUQ2MDAwMEI1MDEyREMwNDg3MDAyQ0MwMDg3MEEyMUQwMEE3NDAxNQorOjEwOUQ3MDAwMjVDQjhCNzQ4MjFDMDBCNzAwMkRDMTBCNzAwMkQyMDQ1RQorOjEwOUQ4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5QTAxODc5MDJERTBGNAorOjEwOUQ5MDAwMEI3ODAyQ0UwMDg2ODAyREU0Mjk3QTAyOUU4MDg3QTA2RgorOjEwOURBMDAwNkRFODBCNzgwMjFFMDBCNTgwMkQ2MDBCNzgwMkYwMDA4NAorOjEwOURCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDRDAwODMwMjJDRTBDOQorOjEwOURDMDAwMEIzMDAyQ0MwMDgzRTAyQ0MwMDgzMDAyMEMwMEEzMDA1MgorOjEwOUREMDAwMjRDMDBCQjAwMjBFMjBCMzA4MkNDMDBCMzAwMkQyMDRGQQorOjEwOURFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODgyQ0EwMDNFQTg1QworOjEwOURGMDAwMEZFMDAzRjgwMjhFODAzRTgwMERBMDVCQTgwMENBMDAzMQorOjEwOUUwMDAwM0U4MDBGQTAwMzNCODBGRTQyMkY4MDBGQTgwM0ZBMDQ4MAorOjEwOUUxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDIwRjgwMDNFMDA2NAorOjEwOUUyMDAwMEYwNjAzQzAwMEY4MTEzRTAwMEYwMDAzRTAwMEY4MDAyOQorOjEwOUUzMDAwMzYwMDBGODAwQkUwMDBGODA0M0UyMDBGODEwM0QyMDBCMworOjEwOUU0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRjkwMDNFNDA2RgorOjEwOUU1MDAwMEM5QTAzMjQ0MEM5QzAzRTQwNEM5MDAzMjQwMEY5MDBGMgorOjEwOUU2MDAwMzY0MDA3OTAwMzI0MDBDOTA0MzI2MDBGOTAwM0MyMDRGNworOjEwOUU3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjkwMjJFNDBBMQorOjEwOUU4MDAwMEE5MjAyMjUwMjg5RTAyRTQwOTg5MDAyMjQwMEI5MDAyRgorOjEwOUU5MDAwMjI0MDA5OTAwMjA0MDBEOTAwMjI0NDBCOUMwMkUwMDBGOQorOjEwOUVBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyQzAwQjkwMDJDNDAzNAorOjEwOUVCMDAwMDg5MDAyMjQyODg5MDAyQzQwNjg5MDQyMjQwQ0IxMDRBOAorOjEwOUVDMDAwMjY0MDBCOTAwQTJDODA4MTAwMjI0MENCOTI4MkM2MDA1MworOjEwOUVEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwQjEyMDJDNDhFRAorOjEwOUVFMDAwMEExMjAyMDQ4MDgxMjEyQzRDMDgxMTAyMDQwOEIxMTBDRQorOjEwOUVGMDAwMjA0QzA5MTIwMjI0MDE5MTIwQTA0ODBCMTAwMkMyMDEzQgorOjEwOUYwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ0MUUwRjg1MDNFMTREMQorOjEwOUYxMDAwMEM4NTAzMjE0MEM4NTAzRTEwMDgwNjgzMDFGMEY4NjgwNAorOjEwOUYyMDAwMzYxMDBGMDUwMzI5NDBDODUwMzI5NDBGODUwM0VFMDMwNQorOjEwOUYzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDAwRjkxMDNGNDQ5QworOjEwOUY0MDAwMEZEMTBCRjQ0MEZEMTIyRTRDMDM5MjBCRTQwMEY5MjBDQworOjEwOUY1MDAwM0U0QzBGOTEwM0ZDMDBGRDEwM0Y0NDBGRDAwM0U2MDY3QQorOjEwOUY2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjIwQzkwMTNFNDAwNgorOjEwOUY3MDAwMEZEMDAzM0MwMEJEMDAzMjYzMEM5RTQzMjcwMEU5QzBCNAorOjEwOUY4MDAwM0U2ODBDOTgwMzM0MDBGOTEwM0Y0MDBGRDAwM0M2MDAyMAorOjEwOUY5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBDMjIwRDgwMDJFMDAyMQorOjEwOUZBMDAwMEI4MDUyMjgwNEI4MDAyMjM4MDg4ODAzNjIwMDg4RjAyOQorOjEwOUZCMDAwMkUzQTQ4OEYwQTIwMDBCMDgwMkUwMDBCODAwMkNFMDQ3QgorOjEwOUZDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDgwODEwMDJDNDAyMworOjEwOUZEMDAwMEIxMDAyMDQwMEIxMDAyMDQyNDgxNDQyMDU4MEExMjA2OQorOjEwOUZFMDAwMkM0NDA4MTA4MjA0MDBCMTIwMkM0MDBCMTAwMkMyMDE0NgorOjEwOUZGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNTAxOTkwMDJFNDAxNworOjEwQTAwMDAwMEI5MDAyMjQ0MEJCMDEyMjQxMDg5MDEyMjQwMEE5MDBCOQorOjEwQTAxMDAwMkM0MDA4MTA0MDI0MDhCOTQwNkU1MDBCOTIwMkM2MDQzMAorOjEwQTAyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNzE0QzkwNTNFNDFEMworOjEwQTAzMDAwMEY5MDBCMjQwNEY5MDhCMjQwMkM5MDBBMjQwMEU5MDA4OAorOjEwQTA0MDAwM0U0MDJDOTAwMzI3MDBGOTgwM0U2MDBGOTAwM0U4MDQwNworOjEwQTA1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDE4NDg4RjkwMDNFNDhEQworOjEwQTA2MDAwMEY5OTAzRTYwMEY5MDIzQzQwQUYxMDAzRTQxMkQ5MDQ1MworOjEwQTA3MDAwM0U0MDBGOTAwM0U1MDBGOUMwM0U2NDBGOTA4M0NBMDA5NAorOjEwQTA4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMTAwQzgwMDNFMDA5MQorOjEwQTA5MDAwMEY4MDAzMjEwMEM4NDBCMjAwMEM4MDAzMjAxMEM4MDBDQworOjEwQTBBMDAwMzIwMDBDODAwM0UwODBGODA0MzIwMDJDODAwQjBBMDQ5QworOjEwQTBCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwQ0EwMDJFODBCMworOjEwQTBDMDAwMEJFODBBMzgxMDhFQzAyMjgwMERBMDAyMjgwMDBBMDQ3NgorOjEwQTBEMDAwMDI4MDI4QTAwMkZCMDBCQTAwMzdCMDQ4RUEwMjBBMDA1QQorOjEwQTBFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTMwMTJDQzAzNworOjEwQTBGMDAwOEJCMDQyMEM5MDlCMjAyMEMwNDgzMDQyMkMwMDgzMDA0MworOjEwQTEwMDAwMjBDMDA4MzAwMkNENDBCMzAwMjRDODA4MzgwMjBBMDAzRAorOjEwQTExMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExNDAwODcwMDJEQzBDNgorOjEwQTEyMDAwMEIyNDA2MTYwMDkzMDgyMUM4MDkzMTAyMEM4MDg3QTA3MQorOjEwQTEzMDAwMjFDMDE4NzIwMkRDMDBCN0I0MjRFMzA4NzgwMjI4MDBCQQorOjEwQTE0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAyOTdBMDNERjA5QgorOjEwQTE1MDAwMEY0ODAzM0UwMEQ2ODAzMEUwMkM3QTAyMUU4MkMzRjAwNgorOjEwQTE2MDAwMzNFQzBDN0MwM0Q2MDBGNzgwMzVFMDBDRDgwMzJBMDJEMAorOjEwQTE3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MTlBNUEwRkIwMDNFQ0E3NgorOjEwQTE4MDAwMEY4MDAzRUMwMkVBMDAzRUM2MEZCNDBCRUQ0MEZCMDA2QgorOjEwQTE5MDAwQkVDMDBGQjY0M0UwMDBGQjAyM0U4MDBGOTAwM0MyMDYzNAorOjEwQTFBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAyQ0Y4ODNGRTBENAorOjEwQTFCMDAwMENCOTAzRkUwMEREODEzM0UwOENGQzAzM0YwNENGODA0QgorOjEwQTFDMDAwMzNFMjRGRkMwMzNFMDBDRkMwMzM2NDBDRjgwM0MwMDAwMQorOjEwQTFEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5NDQwODcwMDJGQzEwQgorOjEwQTFFMDAwMEQ2OUEyRDA0MEJDMDAyM0MwMDhGMDAyOUMwMDg3MDA4QgorOjEwQTFGMDAwMjFDMDBCNzAwQTNDMDQ4NzEwMjE0QzA4NjAwMkVBMDQ1RAorOjEwQTIwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5RTAwODcwMDJEQzBEQworOjEwQTIxMDAwMDk2MjAyRDgwMDk3MDAyMUM0MDg3MDAyMEM0MDk3MDAyMAorOjEwQTIyMDAwMjFDNDBCMzAwMjU4MDBBNzA4MjE4MDA4NjA4MkMwMDBCQQorOjEwQTIzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRFNDI1ODMwMDJDQzA1MgorOjEwQTI0MDAwMDkyMjAyQ0MyMEIyMDAyMEMwMjhCMDAyOEMwMDkzMDA2QQorOjEwQTI1MDAwMjBDMDBCMzA0MjZDMjA4MzA4MjBFMjA4QjgwMkM4MDRGQQorOjEwQTI2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBNDAwQ0YwMDNGQzA4RgorOjEwQTI3MDAwMEQ5QzAzRTgwMERCODAzM0MwMENGMDBCM0MwNkRGMDBENAorOjEwQTI4MDAwQjNDMDBCRjAwNzY4MDBFRjQwMzJBODBDQTgwM0VBMDQ0MworOjEwQTI5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRkIwMDJFQzAwOQorOjEwQTJBMDAwMEY5NDAzQzU0MEZBMzAzRUMwMEZCMDAzNkMwMEVCMDBDMgorOjEwQTJCMDAwM0VDMDBGMzAxM0FENDBGQjAyM0VEMDBGQjQwM0UwMDBCMAorOjEwQTJDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBFNDAwQzcwMDMxQzFCMAorOjEwQTJEMDAwOENEMDAzMzQwMENEMDAzREMwMENGMDAxN0MwMERCMDFDQworOjEwQTJFMDAwM0RDMDRDRjAwQjMwMDJDMzAwMzIwMDBGRDAwMzAwNDRERAorOjEwQTJGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2RTQwOEIwMDJBQzA4NgorOjEwQTMwMDAwMjg4NDQyMjI4MDg4ODAzQUMwMERCMDAyQUMwODhCMDBCRAorOjEwQTMxMDAwMkVDMDA4QjAwMjIzMjA4QjAwMjIzMDhCOEMwMjIwNDBGQworOjEwQTMyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyNDAwOEIwMDIyQzAwNworOjEwQTMzMDAwMDgzODg2MkEwMDg5ODAyQUMwMDhCMDAyQ0MwMDlCMDAxOQorOjEwQTM0MDAwMkVDMDA4QjA0MjI2MDA4QjAwMjI3MTBCOEMwMjIwMDAyOAorOjEwQTM1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwODMwMDI4QzAzQQorOjEwQTM2MDAwMDgzMjQyMDAwMDgxMDAyOEMwMDkzMDUyOEMwODgzMDA2NgorOjEwQTM3MDAwMkNDMDE4MzAwNjAwMDA4MzAwQTAwMDBCMDAwMjAyMDE3MAorOjEwQTM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3NDAyOEIwMDMzQzBDQworOjEwQTM5MDAwMEM5MjBCMjAwMkM4MDAzQkMwMENGNTAzRkMwMERGMDE0RgorOjEwQTNBMDAwM0ZDMTA0RjAzMzIxNDBDRjAwMzIwMDBGODAwQjAwMDM4NworOjEwQTNCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlGQzAwRkYwMDNGQzA5QQorOjEwQTNDMDAwMEZDNDAzRjAwMDlDMDAzQkMwMEZGMDAzRkMwMEZGMDAzMworOjEwQTNEMDAwMkZDMDBGRjAwM0YwODBGRjAwM0YwMDBGQzAwM0U4MDYxRQorOjEwQTNFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMEMwRkZBMDMxMjQ5NAorOjEwQTNGMDAwMEVGMDYzMTAwNEVGNjQzRkMwNENGMzAzMUM4MERGMDhEMQorOjEwQTQwMDAwMzdDMDBGRjAwM0YwQTBGQzAwMzEwODJDRDIwM0YwMDA5RAorOjEwQTQxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMTAwQkJDMTIyNDg3NQorOjEwQTQyMDAwMDhGRDAyMkUwMDk3MDAyRkMyNDg3MTIzN0U0MEJGMDAxNgorOjEwQTQzMDAwMjFDNTRCRjUwMkVGMDBCQjQwMzZFMDA4QTgwMkUwMDQ1RQorOjEwQTQ0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNTg0QjMxMUEyQzlENworOjEwQTQ1MDAwMEEzMDAyMDAwMUIzMzAyOEM0MDgzMjQyMEMwMEEzMDhCRAorOjEwQTQ2MDAwQTBDQTBBMzI4MjgwMTBCMDQxMjQxMTA4MzEwMkUyMDFGMAorOjEwQTQ3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBNTAwQkIwMDIyRTEzNAorOjEwQTQ4MDAwMjhCMDAyMkM4MDlCMDAyRUMwMDhCMDAyNkMwMEIzMDBFNAorOjEwQTQ5MDAwMjJDMDBCQjAwMEVDMjBCQjAwMjZDMDA4ODAwMkYwMDRGNAorOjEwQTRBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFMzQwRjcwNDMyQzBFNworOjEwQTRCMDAwNEVCMDIzMkUyMEVCMDAxRUMwMENCMDAxMkMwMEZCMDA4MAorOjEwQTRDMDAwMzZDMDFGQjAwM0UxNDBGQjAwMzY5ODBDOTAwM0QwMDQ2NworOjEwQTREMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNjA0RkYwMjNGQzA3MQorOjEwQTRFMDAwMEZGMDAzRkUwMEVGMDIzREMwMEZGMDIzRkMwMEZGMDA2MQorOjEwQTRGMDAwM0ZDMDRGRjAwM0ZDMDBGNDAwM0I0MDBGQTAxM0Y4MDBGNgorOjEwQTUwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQTIwRUIxMDM2QzBFMAorOjEwQTUxMDAwMERCMDA3RUMyMERCMDAzMkMwMENCMDAyNkMyMEVCMDA2OQorOjEwQTUyMDAwM0VDMTBEQjAwM0UwMjBEQkEwMzI5MDRDQjAwQjEwMDQxNAorOjEwQTUzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyRDAwOEY4MDIwQzExMQorOjEwQTU0MDAwMDg3MDEyQ0YwMDhGMDBBM0MwMERGMDAyM0MwMDhGMDBGNgorOjEwQTU1MDAwMzdDMDg4RjAwMkVDMDA4ODAwMjA0MDA4ODAwMjMyMDBGQQorOjEwQTU2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQTM4MDI0ODFCMgorOjEwQTU3MDAwMDkzMDA2Q0M0MDkzMDAyOEMxMDhCMDAyQ0Y0MEEzMDBBOAorOjEwQTU4MDAwMkNDMDA5MzAwMkNEMDA5MDQwNjA0MDI4MTAwMjM4MDBGNQorOjEwQTU5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDEwRTAwODc4MDIzRTAzMgorOjEwQTVBMDAwNDg3OTAyREU0MTk3ODAyOUUwMTk3ODA2OUUwMDg3ODA2RAorOjEwQTVCMDAwMjVFMDA4NzgwMkQyMDM4MzgwMjFBMDA4NjgwMjA4MDAwMQorOjEwQTVDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwQTMwMDM0QzA1OAorOjEwQTVEMDAwMEQzMDQyQ0MwMUQzMTAzQUM1MEMzOTAzQ0MwMEUzMDQ1MgorOjEwQTVFMDAwM0NDNDBEMzAwM0NFMDBEMDAwMzA0MDBDMzAwMzEyMDJDQQorOjEwQTVGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzAwRjcwMDNGQzA0QworOjEwQTYwMDAwMUZGMDUzRkMwMEVGMDgzN0QxMEZGMDgzN0MwMEY3NDBCOAorOjEwQTYxMDAwM0ZDMTBGRjEwM0QwMDBGRjAwQkY4NDBGQzgwM0QwMDY3NQorOjEwQTYyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFMDAwRkIwMDNFRTAyNAorOjEwQTYzMDAwMkNCRTgzRUMwMEVCNDAzRUMwMEZCNDAzRUQyMEZCMTBCQQorOjEwQTY0MDAwQjZEMjBGQjQ4M0VDMDBEQjgwMzZDMTBDOTAyMTJBMDAxNworOjEwQTY1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDAwQjcwMDJGQzBGNworOjEwQTY2MDAwMDgzNjAyMEMwODg3MzAyREQ5OEI3Mjg2REQwMEIzMjBBNgorOjEwQTY3MDAwMjFDODBCNzQwMkQwMDI4NDAwQTAwMDI4MjAwMjEyMDQxQQorOjEwQTY4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5QTAwQjc4MDJERTBDQworOjEwQTY5MDAwMDg3QTAyOUQwMEE3QTAyREUwMEI3ODAyOUU4MEE3ODA3QgorOjEwQTZBMDAwMjFFNDA4N0EyNjlFMTg4MzA0MjFFMDA4NzgwQTcwMDBDNQorOjEwQTZCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQjMwMDJDRTA5MworOjEwQTZDMDAwNTgzMDEyMEU4MjgzMDAyQ0MwMEIzMDAyQ0MwMUIzMDAzNAorOjEwQTZEMDAwMjBDMTBCMzAwMkMwMDg4OEQyMjAyMDA4MDAwMjUyMDQ5QQorOjEwQTZFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODYwRkEwMDNGODI2QQorOjEwQTZGMDAwMENBMDAzRkEwMEFBMDAxRTgwOEZBMDAzRTgwMEYyMDA1RAorOjEwQTcwMDAwMzI4MDFGQTAwM0U4MDBEQTAwMzY4OEFDRTAwMzdBMDQ0OAorOjEwQTcxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMTAwRjgwMDNFMjA1QQorOjEwQTcyMDAwNEY4MDAzRTEwMEYwMDAzQzAwMEI4MDAzRTAwMEY4MDJFMgorOjEwQTczMDAwM0EwMDBGODA0M0YxMDBGQzBBM0QwMDBGQzAwMzkyMDA3NQorOjEwQTc0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNjAwQzk5MDNFNDAwNAorOjEwQTc1MDAwMEY5MjAzRTQwMEQ5MDAzMjQwMDQ5MDA3RTcwMEY5MTA5QgorOjEwQTc2MDAwMzA0MDBDOTA0M0U0MDlEOTgwMjI0MDJDMTAwQjAyMDRBNQorOjEwQTc3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDYwODlDMDJFNDBBQQorOjEwQTc4MDAwMEI5ODI2QzU4MDg5MDAyMjQwMjg5MDEyRTcxMEI5MDA1NgorOjEwQTc5MDAwMzY0MDI4OTAxMkM1ODNDOTgwQjY0MDA4OTAwMjIwMDAzOAorOjEwQTdBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUwNDAwODk0MDJFNDE0MAorOjEwQTdCMDAwNEI5MDAyRTQwMDk5MDBBMjQwMEE5MDAyRTUwMEI5MDAyMworOjEwQTdDMDAwRTI0MTA4OTA0MkU0MDA5RDUwQUI0QTA4RDAyNjA2MDBDMgorOjEwQTdEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgyODEyMDJDNTA4QQorOjEwQTdFMDAwMEIxMDAyRTQwMDgxNDAyMDUwNEExNDMyQzQwMEIxNDBGMgorOjEwQTdGMDAwMjQ1MTE4MTQxMkQ0MDA4NTQwMkQ0MDA4NTAwNjAyMDEzRgorOjEwQTgwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwQzgwMDNFMDBEQworOjEwQTgxMDAwMEY4MDAyRTAwMEQ4MDAzMjAwMEE4MDAyRTAxMEY4MDA0OQorOjEwQTgyMDAwMzIwMDA0ODAwM0UwMDBEODAwM0EwMDBDQzAwMzJFMDM3RAorOjEwQTgzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQwRjkxMDNGNDE1NgorOjEwQTg0MDAwMEY5NDAzRjUwMEY5NDAzRTUwMEQ5NDAzRTUxMEY5NDBENAorOjEwQTg1MDAwM0U1MDRGOTQwM0M1MDBFOTQxMzY1MDBGOTQwM0U2MDY3RAorOjEwQTg2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjAwRkRBODNBNDA0NgorOjEwQTg3MDAwMENEODIzMzYwMEU5QTAzRTc4MEY5RTAzQjY4MENERTJDNworOjEwQTg4MDAwMzI2ODBDOUIwMzM2ODI0REEwMzc2ODhDOTgwMzA2MDAxMworOjEwQTg5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFQkEwQjg0MDIwMjAzRAorOjEwQThBMDAwMDg4NTAyMjE1MTg4QzAyRTI5MEI4RTAyRTEwMEQ4RTBENAorOjEwQThCMDAwMjIzMjBEOEQyMzYxNDg5OEQ0QTIxMDI4ODQwMjBFMDQwMAorOjEwQThDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNTAwQjMwMDJBNEE1RgorOjEwQThEMDAwMjgxMDRFQTQwOEExNjgyODQ0MEIxNDAyQzUwMDgxNDAyQQorOjEwQThFMDAwQTA1MDA4MTAwMjA0MDI5MTJBMjA0NDI4MTQ0QTAyMDFCMAorOjEwQThGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBQzgwQjkwMDIyNDA3NAorOjEwQTkwMDAwNDg5MDA2QTQwMEE5MDAyRTQwMEI5MDIyRTQwMDk5MDA3NAorOjEwQTkxMDAwMjI0MDA5MTAwMjY0MDI5OTAwMjI0MDA4OTAwMjA2MDRCNQorOjEwQTkyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjkwMDM4NThBNQorOjEwQTkzMDAwMEM5MDUzODQxNEE5MDQzRTQwMEY5MDAzRTQwMEM5MDAxNgorOjEwQTk0MDAwMzI0MDBDOTAwMzI0MDREOTAwQjY0MDRDOTAwQjI4MDRFQworOjEwQTk1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkwMjNFNDkzOAorOjEwQTk2MDAwMEYxMDQzNjQwMEQ5MDAzRTQwMEY5MDAzQzQwMEYxMDI3MQorOjEwQTk3MDAwM0U0MDBGOTAwM0M0MDJFOTA0M0M0MDBGMUMwM0NBMDA5MAorOjEwQTk4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMTgwQzgyMDNFMDBFOAorOjEwQTk5MDAwOEM4MDBCMjAwMEU4MDIzRTAwMEY4MDAzQTA4MkM4MDBEQworOjEwQTlBMDAwNkMwMDBGODAwMzIwMTBDODAwMzIwMjBDODAwMzBBMDRFMAorOjEwQTlCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzODAwODYwMDJFODBERQorOjEwQTlDMDAwNjhBODgwM0EwMDhBMDAyRTgwMEJBMDAyRjgwMDhBMDA1NgorOjEwQTlEMDAwMkU4MDBCQTAwQTNBMDA4RTEwMjM4MDA4QTAwMzBBMDBFNAorOjEwQTlFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0RDAwODMwMDJDQzAzRQorOjEwQTlGMDAwMDgzODAwMEM2MDIzMDAyQ0MwMEIzMDAyQ0M0MDgzMDBEMAorOjEwQUEwMDAwMkNDMDBCMzAwMjBDMDI4QTgwQTBFMDI4MzAwQTRBMDBEOQorOjEwQUExMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExNjIwODcwMjJEQzE5OAorOjEwQUEyMDAwNDg3MDEyN0MwMEE3MjAyREM5MEI3MjAwREMwMDg3MDgzQgorOjEwQUEzMDAwMkRDNDFCMzIwMjFEMDE4NzQyMjFDMjA4NzAwMjI4MDA2QQorOjEwQUE0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzRTAyQzc4MDNERUM2NgorOjEwQUE1MDAwMEM1ODAzMUUwMEU3ODAzREVDMEY3RjAzOTYwMEM3ODA3MworOjEwQUE2MDAwMkRFMjA3NzkwMzBBMDZDMzgwMzAyMDhDMzgwMzZBMDI3RQorOjEwQUE3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRkIwMDNFQzAwQworOjEwQUE4MDAwMEYxMDQzOEMwMERCMzgzRUQ4MEZCMDAzQ0MwNEZCNDRERQorOjEwQUE5MDAwM0VDMDhGQjYxM0VDMDJGRjAyM0UwMDBGQjAwM0MyMDZBOQorOjEwQUFBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGQTAwRkY4MDMxRTNCNAorOjEwQUFCMDAwMEVGODIzRkUwMkRGODBCN0UyMEVGODAzN0UwMDZERDBCMQorOjEwQUFDMDAwMzNFMDBDRjg5Qjc2QzBERjg0QjNFMDA0RjgwM0MwMDBFOQorOjEwQUFEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5MDQwQjcwMjIxQzRERgorOjEwQUFFMDAwMDg3QjQyREMwMDg3MDAyMUM0MEIzMDAwMTA4MDhEMDAwMQorOjEwQUFGMDAwMjNDMDBERjIwMjA0NDI4RjAwMjlDODI4NzAwMkVBMDQyNAorOjEwQUIwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5NDAwQjYwMDIzQzBCOAorOjEwQUIxMDAwMEE3MjAyOEMwMDg3MDAyMUMwMEEzMDAyMDQwMUE3MDJEOQorOjEwQUIyMDAwMjFDMDA4NzA0MjAwOEE4NzAwMjFDMDI4NzAwMkMwMDAzRQorOjEwQUIzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDNTAwQjAwMEEwRDBEQworOjEwQUI0MDAwMDhCMDAyQzk0MjhCMDAyMEMwMEIzMDIyMDQwMDgzMDBGMQorOjEwQUI1MDAwQTBDMDQ5MzAwMjQ1NDA5M0MwQThENDAwMzUwMkM4MDRDMworOjEwQUI2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQzAwQkIwMDMxQzBBMAorOjEwQUI3MDAwMEVCMDIzQ0QwMERGMDAzN0MwMEVGMDAxNjgwMEUzMDAwNworOjEwQUI4MDAwMzNDMDFDRjAwMzQ1MDBEQUM4OTJENDJDQjQwM0VBMDRBNQorOjEwQUI5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFNTIwRkIwMDNFQzBENworOjEwQUJBMDAwMEZCMDAzRUMwMEZCMDAzRUMwNEZCMDAzQUQwMEZCMDA1NAorOjEwQUJCMDAwN0VDMDFGMzAwM0E0ODBFOTIwM0NDMDBGMzIwM0UwMDBCOAorOjEwQUJDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBEQzAwQzcwMDMzQzJBQworOjEwQUJEMDAwMkNGMDAzM0UyMERCMDAxM0MwMEM3MDAzM0M4MEVGMDQxQworOjEwQUJFMDAwNzNDMTBGRjAyMjMwMDBDNjAwQjJDMDBDRjAwMzAwNDQ2NQorOjEwQUJGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDA2OTAwOEI0NEEyQzEwOQorOjEwQUMwMDAwODhCMDAzNkMwMDhCMDAyMkMwMjhCMDBBMkQwMEJCMDA2NgorOjEwQUMxMDAwNjJDMDBCQjAwMjI2MDI4QjgwMjJDMDA4QjAwMzIwNDAyNQorOjEwQUMyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyODAxOEEwODIyQzBGMgorOjEwQUMzMDAwMDhCMjAyNkM0MDlCMDAyOEMwNDhCMDE2MjkwNEI5MDEzNAorOjEwQUM0MDAwMjJDMDQ5QjAwNkFFMDk4QjgwMjJFMDQ4QjAwMjIwMDA0NQorOjEwQUM1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwMDAyODIwMDIyQzA0MgorOjEwQUM2MDAwODhCMDAyNDQwMDgzMDAyOEMwMDgzMDAyMDgwMEIxMDAwOAorOjEwQUM3MDAwMjBDMDBCMzAwMjhDMDA4MzgwMjBFMDA4MzAwQTAyMDFFMworOjEwQUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2NDAwQ0EwMDMzQzA5NgorOjEwQUM5MDAwMENCMjAzMkMwMERGMDAzQkMwNENGNTEzMkMwNEVGMDA3QQorOjEwQUNBMDAwQTNDMDBERjAwM0E4NDBDQjAwQjIwMDJDQjAwMzAwMDNGQQorOjEwQUNCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGMDAwRjQwMDNGQzBBNAorOjEwQUNDMDAwMEZCMTAzRjAwMEZGMDAzN0MwMEZGMDAzRkMwMEZGMDBERQorOjEwQUNEMDAwM0ZDMDA3RjAwQjdDMDhGRjAxM0YwMDBGRjAwM0E4MDYwMAorOjEwQUNFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMEM1RUQzMzNCQ0M1MworOjEwQUNGMDAwMENGMDAzMzA0MEZGMjUzRkNDMENGMzgzM0NEMERGNDgwMQorOjEwQUQwMDAwMzczMDRDRjMwM0ZEODBDRjI4MzNEODBDRjEwMzMwMDBFQgorOjEwQUQxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQ0QwQkIzMTIwQ0M5RgorOjEwQUQyMDAwODhGMzQyMjA1MEJGOTAyRkM0MEFGNjAyN0RDMDhGNDBBNgorOjEwQUQzMDAwMjY0MDhGRjYwMkZEMDBGRjA4MzlDODA4RjYwMkEwMDQ3RAorOjEwQUQ0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNDgwQTEyMDI4Qzk1MAorOjEwQUQ1MDAwMDgzMDlBMDAwOUIzMDAyQ0MwMjAzMDAyNEM5MDgzMjBBOAorOjEwQUQ2MDAwMDIwODBCMzMxMkNEODA5MzIwMjREODA4MzQyMjIyMDEwQworOjEwQUQ3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTFBRTAwQkIxMDIyQzAzNworOjEwQUQ4MDAwMDhCMDAyMjYwMTNCMDE2RUMwMDhCMDAyNEMwODhCMDBERgorOjEwQUQ5MDAwQTI4OTBCQjAwMkVDMDBBQjAwNkFDMTI4QjAwMkIwMDQ3QgorOjEwQURBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTU2RTAwRThDMTNBQzBERAorOjEwQURCMDAwMkNCMDQzMjYwMEZCMDYzRUMxMENCMDBCMkMwMkNCMDA4RQorOjEwQURDMDAwMzQyMjlGQjA0M0VDMDA5QjAyMzZDMThDQjAwMzEwMDRDOAorOjEwQUREMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQzAwRkM4MDNERDBERAorOjEwQURFMDAwMkZGMDAzRkMwMEZCMDAzREMwMDczMDAzQkMwMEVGMDQ2NAorOjEwQURGMDAwM0ZFMDVFQjAwMUZDMDBGRjAwMUJDMDBGRjAwM0Y4MDA1NQorOjEwQUUwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwQ0IwMTNFQzkxMworOjEwQUUxMDAwMENCMDE3MjA4NEVCMDBCMkMxMERCMDAzNkMwMEMzMDA2RQorOjEwQUUyMDAwMzI1MDBGQjAwMzBDNDBDMzAwN0VDMDBDMzAwMzEwMDQzRQorOjEwQUUzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwOEE1ODJFRTAwOQorOjEwQUU0MDAwNDhGMDAyMkQwMEVGMDEyM0MwMDhGMDIyM0MwNDhGNjA3RgorOjEwQUU1MDAwMzY1NDBCRjAwQTNENDA4RjAwMkZDMDA4RjAwMzcyMDBGQgorOjEwQUU2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0MDAwODk4MDJDMTAzOAorOjEwQUU3MDAwMDhCMDAyNDkwMEEzQTAyNEMwMDkzMDAyNEMwMDgzQzlENQorOjEwQUU4MDAwMjA5MDQyMzAxMjREMDA4MzAwNkFDMDA5MzAwMjM4MDAyMQorOjEwQUU5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExNjAwODU4MDZENjI1NworOjEwQUVBMDAwMDg3RTAyNTY0MDI3ODAyNUUwMTk3ODA2MEUwMDgzODAzMAorOjEwQUVCMDAwNjFBMDBCNzgwMjRFMDA4NzgyNkRFMDA5NzkwMjQ4MDA5QworOjEwQUVDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgyQzAyQzM2MTNDODhEQworOjEwQUVEMDAwMkNCQTEyNDkxMEUzMkMzNkMwMEQzMDUzNEM0NEMzMDAzOQorOjEwQUVFMDAwMjAwMTBGMzEwMzRDMDBDMzAxM0NDMDJEQjEwMzEyMDJGRAorOjEwQUVGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzAwRkYwMDNGMDBGQgorOjEwQUYwMDAwNEZGMTA5QjAwMEZGMDAzQkMwMEVGNDAxRkQyNEZGNDBFQgorOjEwQUYxMDAwQkZDMDA3RjAwM0JDMDA2RjEwM0ZDNDFFRjE4M0QwMDYxMgorOjEwQUYyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVDNDAwRTgwNDMyMDAzMgorOjEwQUYzMDAwMENCNjAzRTgwMkNCMDAzNkNBMEZCNTAzQUQwMEZCMjAwOAorOjEwQUY0MDAwM0U0MDBGQjMwM0VDODBGQkE4MzJDNjhDQjYwMzJBMDA0OAorOjEwQUY1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDAyRTYwMDIwMDA4QworOjEwQUY2MDAwMDg3MzAyREMwMDg3NzAyREQwMEJGMDAyMUM4NEI3MjAyMAorOjEwQUY3MDAwMkRDMDBCNzA4MkREMjRCNzQwMzRDOTI4NzI4MjkyMDQ0MAorOjEwQUY4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDBCRTAyQUM4MEExMjBGNAorOjEwQUY5MDAwMDg3OTAwQ0UwNDg3ODA2NUUwMEI3QTAyOUUwMEI3OTBBNgorOjEwQUZBMDAwNkRBMDBCNzgwMkRFMDBCNzgwMjFFMDA4NzgwMjMwMDA0NworOjEwQUZCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRFRDgyQUJFMDIwRTQxNworOjEwQUZDMDAwMDgzMDAyRUUwNDgzMDAyQ0MxMUIzMDAyMEMwOEIzMDBEMQorOjEwQUZEMDAwNjRGNjBCQjAwMkNDMDRCMzAwMjZDMDA4MzAwMjkyMDQyMQorOjEwQUZFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQjgwRUU0OTMxQTBGMQorOjEwQUZGMDAwMkNBMDAzRkEwMENBMDIzNjgwMEZBMDAzQTgwMEZBMDJCMAorOjEwQjAwMDAwM0Y5MDBGQTA2M0U4MDBGQTAwMzI4MDBDQTAyMzNBMDRCRQorOjEwQjAxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDBBRTgwMDNFMDg3MAorOjEwQjAyMDAwMEY4MDAzRTM1MEYwMDAzRTAwMEY4MDEzRTAwMEY4MDBCMworOjEwQjAzMDAwM0UwMDBGODAwM0UwMDFGODAxN0UwMDBGODAwM0QyMDA4NAorOjEwQjA0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDQwQzlBMTMyNDBCOAorOjEwQjA1MDAwMjAxMTAxQTY0MEM5ODQzNjQwMEQ5MDAzNDQwMDQxMDBGMAorOjEwQjA2MDAwMzI0MDBGOTAwQjI0MDBGOTAwM0U0MDRDMTAwMzAyMDRDNAorOjEwQjA3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODk4MkEyNDBDQgorOjEwQjA4MDAwMDg5QzAyMjUwMDg5QzgyMjQwMDg5MDQyMjQwMDg5MjA5QgorOjEwQjA5MDAwMjI2MDBCOTAwMjI0MTBCOTAwMkU0MDA4OTAwMzYwMDAzQgorOjEwQjBBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwODkwNDIyQ0FENgorOjEwQjBCMDAwMEE5MDBBMjUwMjg5MjAyMDQwMjgxMDAyNjQwMUE5MDA3NAorOjEwQjBDMDAwMjI0QjBCOTAwMjI0MDFCOTAwMkU0MTI4OTAwMjA2MDA2OQorOjEwQjBEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDkwODFBMDIwNDgwNworOjEwQjBFMDAwMEEzMjAyMDQ4MDgxMDAyMDQ0MDgxMTAyMDREMEExMjAwOQorOjEwQjBGMDAwMjA0MDBCMTEwMjA2MDBCMTMxMkM0ODA4MTQwMjQyMDExNQorOjEwQjEwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQyQzg1NDMyMTQ3NQorOjEwQjExMDAwMEU4NTAzMjE0NEM4MjhCMjFBNEM4NjkzNjExNEU4NTA2NgorOjEwQjEyMDAwMjIxNDBGODY4MzIxNDBGMDQwMUUxNDBDMDAwMzJFMDNDRQorOjEwQjEzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MUQ3NDQ0RjUxMDNGNDRDQQorOjEwQjE0MDAwMEQ5MTAzNzQ0MEY5MDAzRTQ4MEI5MjAzRTRDMkQ5MTBGQworOjEwQjE1MDAwQkY0MDBGOTIwM0U1MDRGOTMwM0U0NDBGOTQ0M0U2MDZFNgorOjEwQjE2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjIyQ0RBMTMzNjEzOAorOjEwQjE3MDAwMENEOEQzMzQxMENEQTgzRTYwOEU5QzkzQTcwOENEODAwOAorOjEwQjE4MDAwMzM0MDBFOUFEMzM2QTBDOTgwMzI2MDBDOTkwMzA2MDA3MgorOjEwQjE5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMzg4OEFBMDIwMjgxQQorOjEwQjFBMDAwMDg4MDIyMjAxMjg4NDAyQzI4MDg4QTAyMjIwMDg4MDA2OQorOjEwQjFCMDAwMjIwMDBCOEMwMzIxMDA4OEQwQTIzRTI4OEQwMjBFMDRCMQorOjEwQjFDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDRTIwQTE0ODIwNTJGOQorOjEwQjFEMDAwMjkxMDAyMjQwMzgxMDAyQzUyMEExMDEyODUxMDkxNDA3QworOjEwQjFFMDAwQTQ0MDBBMTI4MjQ0MDA5MTI4MjQ0MDI4MTIwMjAyMDEzRAorOjEwQjFGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDAwQTkxNDIyNDBFRgorOjEwQjIwMDAwMDk5MDAyQTQwMTg5MDQyQzQwMDg5MDAyMjQwMDk5MDBBRQorOjEwQjIxMDAwMjI0NDRCMTA0MjI0MTQ5OTAwMjY0MDA4MTAwMjA2MDREMAorOjEwQjIyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDQwRTk0MEIyNzg5MgorOjEwQjIzMDAwMEQ5MDBCMjQyMkM5MDMzRTQxMEU5MDAzQTQwMkQ5MDBCNQorOjEwQjI0MDAwMTY1ODA2OTAwQjY0MDJEOTAwMzY0MDBDOTAwQjI4MDQ2NworOjEwQjI1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDE4NDAwRDk4MDNFNEFGMAorOjEwQjI2MDAwMEU5MDAzNjQyMEY5MDgzRTQxMEY5MDAzRTQwMEUxMDhDQQorOjEwQjI3MDAwM0U0MDBGOTAwM0M0MDBFMTAwMzg0MDBGOTAwM0NBMDAyNQorOjEwQjI4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDA5RjA0MEIwMTA4RAorOjEwQjI5MDAwNEMwMDBCMjAwMEY4MDAzQTAwMUMwMDAzRTAwMEM4MDAzRQorOjEwQjJBMDAwMzYwMDBDODAwMzIwMDBDODAwMzIwMDBGODAwMzBBMDQxRgorOjEwQjJCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwM0U4ODIzQTI4RQorOjEwQjJDMDAwNDhFMDAwMTk4MEJFODgyRTgwMERBMDQyRTgwMDhFMDA2NAorOjEwQjJEMDAwMjM5MDA4QTAwQTNBMDBEQTAwMzY4MDBCQTAwQTBBMDA4MAorOjEwQjJFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQjM4MDIwRTA3MgorOjEwQjJGMDAwMjgzMEMyMEYxMEIzNDAyOEMwMEIzMDAyRUMxMTgzNDAzRAorOjEwQjMwMDAwMjhEMjBBMzAwMjBDQzA4MzAwMjBDMDBCMzAwMjBBMDA5MQorOjEwQjMxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzAwQjYwMDIxQzA4OQorOjEwQjMyMDAwMDgyMEMyMUMxMEI1MDAyREM4MEE3MjAyREM0MDg1MDgzNgorOjEwQjMzMDAwMjlBMjFBNzIyMjBDMDA5MzMwMDVDNDBCMzIyMjI4MDA3NQorOjEwQjM0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxNjAwQjI4MDMxMjA3NAorOjEwQjM1MDAwMEM1ODAzMUUwMEY3ODAzOUY4MEI3QzIyQ0U0MENGODBCQQorOjEwQjM2MDAwOUI2MDJFM0IwMzFBMDBDN0E4MTFFMDBGNzgwMzJBMDI0NgorOjEwQjM3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBNDAwRkEwMDNFQzAwQworOjEwQjM4MDAwMEY5MDIzRTgwMEZCMDAzRUQwMkRCNjAzRUQwMkY5MDAzQworOjEwQjM5MDAwMzI0MDBEQjAwN0VDMDBGQjYwM0VDODBGQjUwM0MyMDY5QgorOjEwQjNBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwRkY4MDMzQTBFOAorOjEwQjNCMDAwMENGODBCMzI0MENFODEzN0YwMENCQzAzRkUwMEZGODQ0QQorOjEwQjNDMDAwMzNFMDJDRjg4M0U2MDJDRjg1MzNGMDBDRkMwMzAwMTQ0NQorOjEwQjNEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQkUwMDM1QzZFRgorOjEwQjNFMDAwMjgzMDAyMzA0MDg3MDAyM0MwMDg3QTAyREMwMEJFMDAwQgorOjEwQjNGMDAwMjNDMDA4NzAxMkZFMDA4NzAwMjFDMDA4RjAwMjJBMDQ1MgorOjEwQjQwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5NTIwQjYwMDIwODBEMQorOjEwQjQxMDAwMDgzMTAyNUMwMTg3MDAyNUMwMDg3MjAyREMwMEI2MDAxQQorOjEwQjQyMDAwMjFEMDA5NzAwMkQ0MDg5MzAwMjBDMDA4NzAwMjAwMDBFNworOjEwQjQzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDNDAwQjBFMDI0NjBFMAorOjEwQjQ0MDAwMDgyMDA2NDgwMTgwMDAyMEMwMDgzMDAyQ0MwNEIzMDA2OAorOjEwQjQ1MDAwMjA4NDBCMzAwMkU4MDA5QjAwMjBDMDA4MzAwMjA4MDQ2MgorOjEwQjQ2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQzAwQjlFMDMyODBGOAorOjEwQjQ3MDAwNkNCMDIzNkYwMEMzMDAzN0MxM0NGMDAzRkMwMEZBMDAzRQorOjEwQjQ4MDAwQjBDMDA5RjAwM0VDMTBERjAwNzNDMDBDRjAwQjJBMDAxMQorOjEwQjQ5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzEwRjgwMDNFNDI1OAorOjEwQjRBMDAwMEYyNDAzQTg2MEY4MDAzQ0MxMEZCMDAzRUMwMEY5NDA4MgorOjEwQjRCMDAwM0U4MDA0QjAyM0UxMDBFQjAwM0VDMDBGQjAwM0UwMDA4QgorOjEwQjRDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGNDAwRUUwMDNEMzBFQworOjEwQjREMDAwMENDMDAzMTQwMENDQTBCM0MwNEM3MDAzNUMxMERGMDBBMAorOjEwQjRFMDAwM0YwMDBDRjAwM0Y4MDBDRjAwMjNDMDBDRjAwMzAwNDAzNQorOjEwQjRGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2NDAwQkE4MTJFNTg3MgorOjEwQjUwMDAwMDg4ODAyMjc4MDg5MjAyMkMwMjhCMDAyMkMwMDg4ODM2NgorOjEwQjUxMDAwMkUyMDA1QjA2MkUzMDA4QjAwMkFDMDA4QjAwMzYwNDAxMworOjEwQjUyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyNjAwQjk4MTJFNDBCOAorOjEwQjUzMDAwMDg4QzA2MjYwMDg4MDAyMkMwMDhCMDE2NkMwMDk4ODg4NworOjEwQjU0MDAwMkUyMDA4QjAwNEUzMDEwQjAwMjhDMDA4MzAwMjIwMDBDMAorOjEwQjU1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwQjAwMDJDQzBGRgorOjEwQjU2MDAwMjgwMDBFMDAxMDgwMDAyMEMwMDgzMjAyMEMwMDgwMDQ2OQorOjEwQjU3MDAwMkUyMDA5MzAwMkM0MTI4MzAwMjhDMDA4MzAwMjQyMDE4NAorOjEwQjU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwRkEwMDNFMDAwQQorOjEwQjU5MDAwMkM5MTAzMjAwMDhBMDAzM0MwMENGMDAzN0MwMEQ4MDBGQgorOjEwQjVBMDAwMkU0MDBDRjAwM0UwODBDRjAwM0JDMDBDRjAwMzAwMDMwMgorOjEwQjVCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkMwMTNGNDAwNgorOjEwQjVDMDAwMEZDMDEzRjAwMEY0MDAzRkMxMEZGNDIzRkMwOEZDMDA4RgorOjEwQjVEMDAwM0YwMDBGRjAwM0YwNDBGRjAwM0ZDMDBGRjAwM0U4MDYwQworOjEwQjVFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzIwQ0QxMDM5QzgyQworOjEwQjVGMDAwMERDMTAzM0M4MEVGOTAyM0Q4MEZGODAwRkUwMENGODBGMAorOjEwQjYwMDAwMUZEMDBGRjkwM0ZGMDBFN0MwMzNDNDBGRjAwM0IwMDBGMQorOjEwQjYxMDAwNzAwMDAwMDAwMDAwMDAwMEMwMTBGRTAyODk0MDIzRjAwRQorOjEwQjYyMDAwMDg4NTEwM0MwMDhCMDBBM0RDNEJCMjgyRUMyMDhCMDAyMQorOjEwQjYzMDAwMjZDMDRCQjAwMkVDMTBCOTA0MkFDOTBCQjU4MEYwMDQ0NworOjEwQjY0MDAwMzAwMDAwMDAwMDAwMDAwMEM4MDVDQzAwODE2NDI4QzQ2MAorOjEwQjY1MDAwMDlCMjBBMENGMEEzMjAyMEM4MEIzMjAyRUMwMjgzMDhDNgorOjEwQjY2MDAwMkNDODA5MzIwMkNDODBBQkEwMjBDODBCMzIwMEIyMDEzQQorOjEwQjY3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzEwODkwMDIyQzA1RQorOjEwQjY4MDAwMDhCMjEyMkMwMjBCMDAyMkMwMEJCODAyRUMwMDhCMDA5NworOjEwQjY5MDAwMjZDMDRCQjA0NkVDMDBCOTAwMEFDMDBCQjAwMkYwMDQ2MworOjEwQjZBMDAwNjAwMDAwMDAwMDAwMDAwMEQwMTVFQzEwQzlFMDNBQzBCNgorOjEwQjZCMDAwMEQyODAzMkMwMEVCMTAzMkMwMEY4MjAzQzQwMENCMDAxNgorOjEwQjZDMDAwM0VDMTBGQjAwNkVDMDhFOTAwQjJDMDBGQjAxMzkwMDQwMQorOjEwQjZEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDE5QzAwRjVBMDNGQzBFOQorOjEwQjZFMDAwMEZFODAzRkMwOEZGMDAzRkMwOEZDMDAzRkMwMEZGMDAxMQorOjEwQjZGMDAwMzdDMDBGRjAwM0ZDMDBGRjA0M0VDMDBGRjAwM0Y4MDA1QQorOjEwQjcwMDAwNjAwMDAwMDAwMDAwMDAwMDUwMTBBQzAwRjk0MDM0QzBBMAorOjEwQjcxMDAwMERCNDAzMkMwMERCNDAzRUMwMkM4MDAzNjQwOEZCMTBGQQorOjEwQjcyMDAwM0VDNjhGQjAwM0VDMDBGOTgwMzJDMDBDQjAwQjE0MDQ5RAorOjEwQjczMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzRTIwRTlDODM3RDQwMgorOjEwQjc0MDAwNDhBQTIyMUMwMDhCMDA2RkUwMDg4NTgyRUQ0MEJCODQ3NAorOjEwQjc1MDAwMkZDMDRCQjgwM0FENDBCMzAwMjNENDA4RjcwMjMyMDAyQQorOjEwQjc2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDE0QzAwQjE2NEE0QzBGMworOjEwQjc3MDAwMDkyMDBBMEMwNEI4MDA2Q0MwMDgzODAyQzg0MEIzODAyNQorOjEwQjc4MDAwMkNEMTBCMzAwMkNDMDRCMzAwMjhDMDA4MzAwMjNBMDBBMAorOjEwQjc5MDAwNTAwMDAwMDAwMDAwMDAwMEIwMDExRTAwQTU4MDI1RTA2MAorOjEwQjdBMDAwODgzQTEyMUUwMEE2OTAyREUyMDg3OTAyREEwMEI3ODJDQworOjEwQjdCMDAwMkRFMDAzNzg4MjlFMDBCQ0MxMjlFMDA4NzgwMjJDMTA5RAorOjEwQjdDMDAwNDAwMDAwMDAwMDAwMDAwMDQ5MDgwQzAwRjMwMDM0QzBGNQorOjEwQjdEMDAwMEQzRTAzMEMwMEYwNDAyRUMwMEMzMDQzQzgwMEYzMDBCNworOjEwQjdFMDAwM0NDMDA3MzAwM0NDODBGMjAwMzhDMDBDMzAwMzEyMDI5QQorOjEwQjdGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMTlCRDIwRjcwMDNGQzIxQgorOjEwQjgwMDAwMEZGMTBCREMyMERFMDQzRkQyMDdGMDEzRjg0MEZGMDBGRAorOjEwQjgxMDAwM0ZDMDA3RjAwM0ZDMDBGRDAwMzdDMDBGNzAwM0QwMDZFNworOjEwQjgyMDAwNjAwMDAwMDAwMDAwMDAwMEFBMDVDRjAwREMwMDNFQ0E1NgorOjEwQjgzMDAwMEZBMDAwQUM5MkM5MDAzMkMwMEZCMDExQTQwOEZCMDBFOQorOjEwQjg0MDAwMkVDMDRGQjAyM0VDMDBGOTAwM0VDNDBGQjAwM0VBMDA1NQorOjEwQjg1MDAwNzAwMDAwMDAwMDAwMDAwMEM4OTE5QzAwODQwMDAxQzAzRQorOjEwQjg2MDAwNEI3MDIyMUNDMDg3MDAyMUMwNEI3MDAyMUMwMEI3MDEyNgorOjEwQjg3MDAwMjVEODBCNzAyMkRDMDBCNjAwMkRDMDBCNzIyMkYyMDQxQQorOjEwQjg4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDA5RTgwOTc4MEE5RTAxQQorOjEwQjg5MDAwMEJGODAyQ0UwODg1ODAyOUU4MEJGQzAyMTcwMEI3ODA2MAorOjEwQjhBMDAwMkRFMDhCNzgwMkRFMDBCNEMwMkRFODBCNzkwMkUwMDBCOQorOjEwQjhCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwODMwOEEwQzA1NQorOjEwQjhDMDAwOEIzQzAyNEMwMDgzMDBBMEMwMUIzQzBBMEYyOUIzMDAzNAorOjEwQjhEMDAwMjRDMDBCMzAwMkNDMDBCMzgwMkNDMDBCMzAwMkQyMDQ0OQorOjEwQjhFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwREUwMDNBODBFQgorOjEwQjhGMDAwMEZFQTAyRTgwMENFMDAzQTgwMEZFMDAzMzgwMEZBMDBCOQorOjEwQjkwMDAwM0U4MDBGQTAwM0U4MDBGRTAwM0U4MDBCQTAwM0ZBMDQ3NworOjEwQjkxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDAwRjgwNEJBMDFFOAorOjEwQjkyMDAwMEY4MjBCODAwNEY4ODAzRTAwMEY4NjAzNjAwMEY4MDA1MQorOjEwQjkzMDAwMzYwMDBGODAyM0UxMDBGODAwM0UwMDBGODAwM0QyMDBBNAorOjEwQjk0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAxRjkwMDMyNDA1RgorOjEwQjk1MDAwMEY5MDAzRTQwMDQ5MDAzMjQwMEI5MDAzMjQwMDQ5MDA5QgorOjEwQjk2MDAwM0M0MDBEOTAwM0U0MDhDOTAwM0U2MDBDOTAwMzAyMDRDMworOjEwQjk3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjk0MEEyNjRCMAorOjEwQjk4MDAwMEIxODAyMjUwMEQxNTAzNjUwNEU5MDBBMjQwMjg5NDBFRgorOjEwQjk5MDAwM0E1MTA4OTQwMkU1MjI4OTQ0MkU2MDI4OTAwQTIwMDAzQQorOjEwQjlBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDEyNDAwQjEwODIyNDAyRgorOjEwQjlCMDAwNEI5MjgyQTUwMEE5MDgyMjUwMEExMDAyMEMwMEE5NDA0RgorOjEwQjlDMDAwNkU1MDBCOTQwMkM0MDQ4OTQ0NkM0ODg4MTAwMjQ2MDBFRgorOjEwQjlEMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDQwNDAwQjE0MEUwNDAwRQorOjEwQjlFMDAwMUIxNDBBMDQwMEI5MDAyNDQwMUExMDIyMDQwMEExMDAwQworOjEwQjlGMDAwMjg0MDBBMTAxMkM0MDA4MTAyNkM0MDA4MTIwMjQyMDE2MQorOjEwQkEwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDA4QjAwMDMyMDAyNworOjEwQkExMDAwNEY4MDAyQTE1MEUwNTAzMjE0MEVBNTIzMjE0MEU4NTA3RgorOjEwQkEyMDAwM0UxNDBGODUwM0UxNDBDODUwMUUxNDBDODU0MzZFMDM3RAorOjEwQkEzMDAwNTAwMDAwMDAwMDAwMDAwMEQ4MTlFNTAwRkQ0MDNFNTAxNQorOjEwQkE0MDAwMEY3NDAzQTUwMDVEMDAzRTUwMEE1MDEzRjQwMEQ5MDBBNgorOjEwQkE1MDAwM0E1MDBEOTAxM0U0MDBGRjAwM0U1MDBGOTEwM0E2MDZFQworOjEwQkE2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjkwQkRFODIzNkI5MAorOjEwQkE3MDAwMEJEQTBCMzY4MEM5MDAzMjY4NDY5MDQzRTQwMDQ5MDA3NworOjEwQkE4MDAwMzI2ODBDOTAwMzI0NDBGOTAwMzI2MDBDOUMwM0M2MDExQworOjEwQkE5MDAwNjAwMDAwMDAwMDAwMDAwMDc4MTBFMTAwQjhFMEEyMTE5MgorOjEwQkFBMDAwMEI4RTBBMjMyMjg4ODAyQTMxMjg4ODAyNjIwMDg4ODAyRgorOjEwQkFCMDAwQTIzMDI4ODg4QTIyMDBCOEE4QTIzOTA4Q0EwMkNFMDQ3NworOjEwQkFDMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDVDNTA4MjEwMDAwNDBDQgorOjEwQkFEMDAwMDMxNDgyODU4MEFEMDgyMTUyOTg1MDgyMzQyMzg1MDg1MgorOjEwQkFFMDAwMjE1MjA4NTAwNjU0MDBCNTIwMjE1QTA5NTQwMkQyMDFBRgorOjEwQkFGMDAwMzAwMDAwMDAwMDAwMDAwMDE4MTFBNDAwQjk2MTIyNDBDRAorOjEwQkIwMDAwMEI5MDA2MDQwMEFEMDA2OTQwMDhEMDAyNzQwMDg1MDA2NworOjEwQkIxMDAwMDE0MDAwNzAwNjc0MDRCNTAwMjM0MDA5RDAwMkM2MDQzOQorOjEwQkIyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTRBNDAwRTkwMDMyNDAwMgorOjEwQkIzMDAwNEY5NTBCQTQwMEU5MDAzMjQwOEM5MDAzMjQwMEM5MDAwQgorOjEwQkI0MDAwMzI0MDBDOTAwMzY0MDhGOTAwMzI0MDNEOTAwM0U4MDQ1MQorOjEwQkI1MDAwNzAwMDAwMDAwMDAwMDAwMDY4MDFBNDA4RjkwMDNFNDBFOQorOjEwQkI2MDAwNEY5MDhCRTQwNEQ5MDEzRTQwMEQ5MDAzNjQwMEQ5MDE0RAorOjEwQkI3MDAwM0U0MDBGOTAwM0E0MDBGOTAwM0M0MDBFOTAwM0RBMDAxMQorOjEwQkI4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRjg0MDM2MjBFRgorOjEwQkI5MDAwMTc4NDAzMjAyMUM4MDA3RTAyMkM4MDQzMjAwMEU4MDI4NQorOjEwQkJBMDAwM0UwMTBGODAwM0UwMDBDODQwMUUwMDBGODAwM0NBMDQ1RQorOjEwQkJCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyQTg4QjYwMjIzQTAwQgorOjEwQkJDMDAwMEJFQzQyMkIwMEQyODA2RUIxMDhBMDIyMDgwMEVBMDRFMAorOjEwQkJEMDAwM0E4MDlGQTAwM0E4MDA4QTA0MkU4MDBCQTgwMkNBMDAwNgorOjEwQkJFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQjIwMEE0RTE2NQorOjEwQkJGMDAwOEJCNDMyNDc0NTgzOTAyQ0Y0NEIzODEyMEU0NEEzMDE4QQorOjEwQkMwMDAwMkNDMDRCMzAwMkNFMDA5MzAwNkNDMDBCMzgwMkNBMDAyRgorOjEwQkMxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzAwQjc0NDIxQzIzOQorOjEwQkMyMDAwMEI1NDAyNTQwNTg3MDAyQzQwOUI2QzAyMTgxMEE3MDQ4QgorOjEwQkMzMDAwMjlDMDBBNzAwMjlCMDA5NzA0MEQ4MDBCNjA4MkU4MDAwNworOjEwQkM0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRjM4MDM1RTA1RQorOjEwQkM1MDAwMEIzODAyNTIxMDg0ODAyREEwMEZGODBCMUUwMEU2ODBENgorOjEwQkM2MDAwMURBMDBCNjgwM0ZFMDJENjgwM0RFMDBGNzgwM0VBMDJCOAorOjEwQkM3MDAwMDAwMDAwMDAwMDAwMDAwMDBBMURBQzAwRkIwMDNFQzFGNworOjEwQkM4MDAwOEI5MDBCODAwQUI4MDEyRTAwMENCMDAzRTgwMEZBMDA3QworOjEwQkM5MDAwM0VDMDBGQTA0M0VDMDBFQjAwM0U4MDBGQTYyM0MyMDI4MworOjEwQkNBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwRkU4MDMzMjA2MAorOjEwQkNCMDAwNEVDOTEyRjY1MEVGOTAzRkUwMEMxOTAwQjY0MkNGMjE2QQorOjEwQkNDMDAwM0ZFMDBFRjkwMkU2QzBGRjgwM0ZFMDRDREMwMzQwMDA5RAorOjEwQkNEMDAwNzAwMDAwMDAwMDAwMDAwMEFBMTE5NDAwQjcwMDgxNDAyRAorOjEwQkNFMDAwMDgwMzAyMTRDNDg3MDEyREM4MDg2QTEyMzg0MDg3MDI2RAorOjEwQkNGMDAwMkRDMDA4NzExMkQyODBCNzAwMkQ4MDA4NjAwMjJBMDQ3RQorOjEwQkQwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQjcxMDIxODBDRgorOjEwQkQxMDAwMDhGNDEyOTQwNEE2MDAyQ0MwMThEMjAyMTQ0ODg2MTAwRAorOjEwQkQyMDAwMkQ4MDBBNjEzMkQ0MDBCNjE4MkRDNDA4NTgwMjAwMTBDNAorOjEwQkQzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDNDAwQjMwMDIwQzA1OAorOjEwQkQ0MDAwNDBCMDIyMDQwMDgyODEwQ0MwMDgzMDBBMEEwMDhBMDAzOAorOjEwQkQ1MDAwMkVDMDA4QTAwMkM0MDBCQjAwMkU4MDA4MjAwMjA4MDRFOAorOjEwQkQ2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQzAwRkIwMEEwQzBERgorOjEwQkQ3MDAwMjQ5NDIzQUMxMEVCQTAwRUMwMENCMDAyMkUyMEM5MDBGRQorOjEwQkQ4MDAwMkU0MDBFOTAwM0VDMDBGOTgwM0U0MDZDQTAwQjJBMDQ3QworOjEwQkQ5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBDQzAwRkIwMDNFQzBGRQorOjEwQkRBMDAwODk5MDAzMkMwMEZCMDIzRTQwNEZBMDAzNkQwMUZCNDEzNAorOjEwQkRCMDAwM0VDMDhGQjQwM0U4MDBGQjIwM0U1MDBGQTQwM0UwMDAxOAorOjEwQkRDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwQzMyMEIyQzBFMQorOjEwQkREMDAwMEREMDAzMzgwMENEMDAzRjgwMERGMDAzRkMwMEZEMDJDNAorOjEwQkRFMDAwMzYwMDBDRDAwMzNGMDhGQzA0MTJDMDBDQTAwM0MwNDQ3MgorOjEwQkRGMDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2QzAyOEJDODIyQzBFQworOjEwQkUwMDAwMDg5ODBBMkE0MDg5MjAyRTAxOEVCMDEyRUM4MEJCRjBERgorOjEwQkUxMDAwMjJFNTA4QkQwMjJFMDBCQjkwMjJFRDA4QTIwMkUwMDA0MAorOjEwQkUyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEIwMTIyMDBBMworOjEwQkUzMDAwNDlBODFFMDQwMDhCMDEyRUMwNDk5MDAyRTQwMEI5MDBGRAorOjEwQkU0MDAwMjI0MDBBOTAwMjJDMDBCOTAwMkE0MDA4ODAwMkUwMDAzQgorOjEwQkU1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwODEwMDIwNDBCMQorOjEwQkU2MDAwMDgyMDAyMDQwMDgzMDAyQ0MwMEEyMDQyQ0MwMEIzMDA0QQorOjEwQkU3MDAwMjBDMDAyMzAwMjA4ODRCMzA0MDg0MDA4MjAwMkMyMTEyNgorOjEwQkU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwOEIwMEIyODA3QworOjEwQkU5MDAwMERCMTAzMjQwMkNCMDEzRUMwNEQ5MDQzRTQwMEY5MDBGNAorOjEwQkVBMDAwQjIwMDJFOTAwQjJDODBGODAwQkFDMDJDODAwM0MwMDM4NworOjEwQkVCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGNDAwN0QwMDNGQzAwNQorOjEwQkVDMDAwMEY3MjAzRDQwMEZGMDAzRkMwMEVGMTQ3RkMwMEZGMDBEQgorOjEwQkVEMDAwM0JDMDBERjAxM0ZDNTBGRjAwMzdDMDBGRTAwM0U4MDYzNQorOjEwQkVFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMEM0Q0MzMzNGMDQyNworOjEwQkVGMDAwMkNGNjAzMzg2MENDOTBCMzIwMEZGMTIzRjA2MEZGMDFFMworOjEwQkYwMDAwMjNDODBDRjI4QTNDODFERjMwM0Y2NDBDRDgwMzMwMDQzNAorOjEwQkYxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMEMyOEEzMDJFMTg3RgorOjEwQkYyMDAwMDhGNTMwQTU5NDU4MjIyMjIxNEJGMzAyRTEwMDlGNzBCRQorOjEwQkYzMDAwMkJFNDBBRjQxMjFENDBBRjcyMkM0OTJGMzA4MkEwMDY2OAorOjEwQkY0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNDgwODBBMDJDOTgwQworOjEwQkY1MDAwMDgzMjIyMDgwMDgyMDAyODAwMDMzMjAyQzA4NEIzMEM5OQorOjEwQkY2MDAwMjBDMDU4MzI5MjhDMzBBMzIwMkVDMDQ4MTI0MjYyMDE2OQorOjEwQkY3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBODAwOEIwMDJFMjBGQgorOjEwQkY4MDAwMDhCMDBBMjAwMTk4MDAyQTIyMEJCMDAyRTYwMDlCMDBBQworOjEwQkY5MDAwMjJDMDBBQjAxMkFDMDRBQjAwMkVDMDAzQjAwMkYwMDAwNQorOjEwQkZBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMTVFNTAwQzgwMDNFQjA4MQorOjEwQkZCMDAwMENCMDAzMjkwMEM4MDAzQTIwNEZCMDAzRTIyMEZCMDE3NworOjEwQkZDMDAwQjBDMDBDQjAwMzJDMDBGQjAyM0M0MTBDOTA0MzQ4MDQ3MQorOjEwQkZEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFBMjgwRkU0MDNFMDA3MgorOjEwQkZFMDAwMEZGMDYzRUMwMEJGQzQxNzQyMEZGMDAzRUMwMEZGMDAzQQorOjEwQkZGMDAwMUZDMTBGQjAwMzVDMDBGQjAwM0Y0MDRGRjAwMEI4MDBEMgorOjEwQzAwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNTAyQzgwMDNFOTA0MworOjEwQzAxMDAwMkNCMDBCMDEwNkNCMDEzRTUwNUZCMDEzMjExMENCMDBCQQorOjEwQzAyMDAwN0VDMDBDQjAwQjJDMDBDQjAwMzJDMDBDOTAwMzEwMDQ2RgorOjEwQzAzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyODAxOEJEMDJDMzQyRgorOjEwQzA0MDAwNDhGRjAyMzAwMEFBMDQyRTY5MEZGMDAzNjgxMERGMDBEOQorOjEwQzA1MDAwMkZENDBERjAwMjNFMDA1RjA0QjZDMDA4QjAwMzcyMDA5QQorOjEwQzA2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU2OTkwODE4MDJDMDA4NQorOjEwQzA3MDAwNDhCODAyMDgwOTk5MDA0Q0IwMEIzMDAyMEMwMDhCMDA0NAorOjEwQzA4MDAwMkNDMDA5QjA0MDBDNDA4MzAwMDA0MDBBOTAwMjMwMDBGMAorOjEwQzA5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExNjAwODQ4ODJERTRGQworOjEwQzBBMDAwNDgzOTAyMTYwMEI0ODAyREUwMEE3QjA2NUUwMDk3ODBCNgorOjEwQzBCMDAwMkRFMjA5NzgwMjFFOTA5NzgwMjU2NDhBNzgwMjQ4MDA1NAorOjEwQzBDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwRDAwODExMDJDOTY4MAorOjEwQzBEMDAwMDgzMTIzMEMwMDkwMjAzQ0M0MUJCODAyMDg0MEMzMDA2OAorOjEwQzBFMDAwMkNDNDBEMzAwMzBFNDBDMzEwMzBDMDRFMTAwNzFBMTI3RQorOjEwQzBGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzAwN0QwNTNGQzVBMQorOjEwQzEwMDAwMEZCMTBCRjQwMEVGMDAxRjQ1MEZGMDQzRkMwMUZGNDA5RgorOjEwQzExMDAwM0RDNDFGRjAwNkZDMTBGRjAwM0JDMTJERjEwM0QwMDYwQgorOjEwQzEyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFQzA0Q0IwNDNFQTA2NQorOjEwQzEzMDAwNDRCNjAzMjgwNENCODAzMjgwMEZCMzkzNjAwOEZCMjAwMQorOjEwQzE0MDAwM0VEMjFGQjMwMzJEODBGQjYxN0U0MDhDOTgwMzJBMDBGMgorOjEwQzE1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE4NDBDODYwNTJEQzAwRQorOjEwQzE2MDAwMDhGNDgyOEM5MDg1MDBBMUMwMEJGMDAyNUMwMDM3MDBCRgorOjEwQzE3MDAwMkREMDBCNzEwMjFDQzhCNzQ4MkQ0MDBBNzAwMjEyMDQ2MgorOjEwQzE4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwODc4MDJEQTExQworOjEwQzE5MDAwNjA3ODRBMTZEMEE3ODAyOUUwMEI3ODUyOTYwMUI3OTBCNAorOjEwQzFBMDAwMkRFODBCN0EyMjVFNDBCN0EwMkZFMTQ4NTAyMjMwMDBFNAorOjEwQzFCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzEwODM4NDJDQzAzNAorOjEwQzFDMDAwMDgzMDAyQTQxMDgzQ0IyOEUwMEIzMDJBNEY0MDkzMDBBNAorOjEwQzFEMDAwMkNDMDBCMzAwMjRDMTBCMzAyMkNDMEFBMzAwMjEyMDQ0NworOjEwQzFFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODAwQ0VBMDNGODAzRAorOjEwQzFGMDAwNENBMDJCM0EwMENFNDAzQkI4MEZBMDAzQjkwMEJBMDBDOAorOjEwQzIwMDAwM0U4MDBGQTAwMzY4MDBGQTAwN0U4MDFDQTAwQjNBMDQ1OQorOjEwQzIxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDAyRjgwMDNFMDQ1QQorOjEwQzIyMDAwOEYwMDAzRTA0QUY4MTAyNjE4MEY4MDAzQTA4MEY4MDI2MAorOjEwQzIzMDAwM0UwMDhGMDAwQkEwMDBGODAyM0UwMDBGODAxM0QyMDBEQQorOjEwQzI0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDIwQzkwMDMyNDA2NworOjEwQzI1MDAwNEQ5OTAzMjQwMEM5MDIzRTY4MEY5MDAyMjQwMEU5MDBCMgorOjEwQzI2MDAwMzA0MDhDOTAwMzA0NDBDOTAwM0U0MDBDOTAwMzAyMDQwRgorOjEwQzI3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDIwODkwNjIyNTA4NQorOjEwQzI4MDAwOEI5Q0MyMjQwMEQ5MDEyRTQwMEI5MDQyMjQwOEI5MDE5NgorOjEwQzI5MDAwMjI0NjBEOTAwQTI2MDI4OTAwMkM0MDBBMTAwMjIwMDAzNgorOjEwQzJBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDEwNjAwOTE0MDQyNzBEQworOjEwQzJCMDAwMEI5MDEyMkMwMjhCMDAyRTQwMEIxMDIyRTQxMEIxMDBDOAorOjEwQzJDMDAwQTI0MDQ4OTAxMjI0MDg5OTAyMkU0MDA4OTAwMjA2MDBDRAorOjEwQzJEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDkyOTEyMEUwNDhBMworOjEwQzJFMDAwMEIxMjAyMDQwMjkxMTAyQ0MwMEIxMDA2ODRDMEIxMTA3NgorOjEwQzJGMDAwMjA0ODg5MTEwMjA1ODA5MTQwMkU0NDJBOTQwMjAyMDFBRgorOjEwQzMwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRDg1MDMwMTQ1QgorOjEwQzMxMDAwMEY4NTBCMjFFMDgwNDAzRTAwMEY4NzhCRTEwQ0Y4NkMwRAorOjEwQzMyMDAwMzIwMDg0MDY4MzIwMDREODI4M0UxMDBDMDAwMzJFMDMxQworOjEwQzMzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQwQUQxMDNGNDU4MworOjEwQzM0MDAwMEY5MTAzRkMxODdEMjAxRjQxMEY5MDAzNzRDMEY5MjE0OQorOjEwQzM1MDAwM0U0NDBGOTIwMUU0NDBFOTAwM0Q0ODRGRDAwM0U2MDYxOQorOjEwQzM2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNzgwRkRFMDMzNzA0OQorOjEwQzM3MDAwMENEQTAzMjYyMEM5NDAzMTQwMEU5QTAzMjQwMEY5ODBDQworOjEwQzM4MDAwM0I2MDBGOUM4MzM2QTBGOUExQjA0MDBGOTEwM0M2MDAxQgorOjEwQzM5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMjkwQjhBMDIyMjhEMQorOjEwQzNBMDAwMjg4ODBBMjIwMjg4QTAyMjAwMDg4ODAyQzI4MEI4ODg1MQorOjEwQzNCMDAwMjIwNDBCOEUwMzIyODBCOEQwMkEyMDBCODgwMkNFMDRFMAorOjEwQzNDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNTgwQjE2MTAwNTg4MQorOjEwQzNEMDAwNDgxNjhBMDRBMDg5MDEyMjQwMUExNDg4MDQyMEIxNDAxQQorOjEwQzNFMDAwMjg0MDBCMTAwQTA0MjBCMTJDMjA0QTBCMTIwMkMyMDE3MworOjEwQzNGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNTkwQkI0MDIwNDAxMAorOjEwQzQwMDAwMDg5MDAyMjQ0MDg5NDI2MjU4MDgxMDAyRTUwMEI5MDNFRQorOjEwQzQxMDAwMjJDMDBCOTAwMkE0MTQzMTAwMkE0NDBCOTAwMkM2MDRERgorOjEwQzQyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTBBNTAwRjkwMTMyNDBFQgorOjEwQzQzMDAwOEM5MDAzMjcwMEMxOTQzMDQwMEU5MDAzMjQwMEY5MDAzMworOjEwQzQ0MDAwM0E0MDBGOTAwMzI0MDBGOTAwMzI2MDA3OTAyN0U4MDU3NgorOjEwQzQ1MDAwMjAwMDAwMDAwMDAwMDAwMDI4MDBBNDE4RjkwMEJFNDRERAorOjEwQzQ2MDAwMEY5MDAzQzQwMEY5MDBCRTYxOEY5MDAzQTQwMEYxMDA5NworOjEwQzQ3MDAwMUU0MDBGMTAwMzI0MDhGOTAwN0U0MDBGOTAwM0NBMDBFRAorOjEwQzQ4MDAwMjAwMDAwMDAwMDAwMDAwMDI4MTBBMTgxRjgwMDMyMDQwNAorOjEwQzQ5MDAwMEMwMEQzMjEwMEQ4MDQzQTE0OUM4MDAzMjEwMUM4MDA2OQorOjEwQzRBMDAwMzYwMDBDODAxMzIwMTBDODAwMzIwMDJDODAwM0NBMDQxMAorOjEwQzRCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDQzQTAwQkU4NDIzODUwQworOjEwQzRDMDAwMDhFQzgzNjgwNDhBMDAyRjkwNERBMDAyMjgwMURBMDA0RQorOjEwQzREMDAwMjNCMDBBQTAwMjJBMDhEQTAxMjI4MDBGQTAwMkNBMDBCMworOjEwQzRFMDAwMDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQkJGMDIwQzA0OAorOjEwQzRGMDAwMDgzQzBBMEMwMDkzMDEyOEM4ODkzMDA2NEMwMDgzMDJDRQorOjEwQzUwMDAwMkNGNjA4MzAwMjA0MDBBMzAwMjBDMDBBMzAwMkNBMDA0MgorOjEwQzUxMDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRDExQjMwMEEwQzA2OQorOjEwQzUyMDAwMDg1MDAyNUMxMDg3MDE2RDgxNDkzMjUyMUVDMzg3MDA5QQorOjEwQzUzMDAwMjhFMDBBMzIyNjFGMDAzNzAwMjNFMDBCNzIwMkM4MDBGMQorOjEwQzU0MDAwNDAwMDAwMDAwMDAwMDAwMDI4MDgxMjAwQjc4MjMxMjBERgorOjEwQzU1MDAwMDgwODM3MEYwOEQ3RTAzOTYwMTk3QTBCNUUwQzgzQjJGMAorOjEwQzU2MDAwN0RFMDBDN0EwQjNFMDJBRkEwQjFFMDBFN0EwM0NBMDI2NgorOjEwQzU3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBMDEwRkIwMDNFQzBFRAorOjEwQzU4MDAwNkZCMDQzRUMxMUZCMDAzRTQwMEZCNTAzRUMyMEZCNTBCNQorOjEwQzU5MDAwMzYwMDBGQjU0M0U1QTFEQjc4M0VDMDBGQjQwM0MyMDZGOQorOjEwQzVBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMDVGRTAwRkZBMDNGQTA2QQorOjEwQzVCMDAwMERDOTEzM0UwMENGRDAzREU4MDJGRjEzM0UwMENGODJFRAorOjEwQzVDMDAwM0Y2MDBDRkMyMzNFMTBFRjgwMzNGMjBDRkM4MzEwMDAyNAorOjEwQzVEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzQwQjUwMTJERDBBMworOjEwQzVFMDAwMDg1ODAyMUM0MDU3MTAyRDVBMjgzMTAyQkMwMTk3MTBFMAorOjEwQzVGMDAwMkQwMDBBNzAwMjg0MDRDRjAwMjlDMDBBRjAwMjJBMDQyOAorOjEwQzYwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5MDAwQjcyQTJEODJBQQorOjEwQzYxMDAwMDg0MjIyM0MwMDg3MTEwRENDODgzMjAyMUQwMDk3MDA5MQorOjEwQzYyMDAwMkNDNDA4MzAwMjE0MDBBNzAwMjNDMDA5NzA4MjAwMDA0NworOjEwQzYzMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRDMDIwQjAyMDJDNTAzQQorOjEwQzY0MDAwMDgxMDAyMkRDMDkzRTIyQzIxMDgzMDAyMEUwODkzMDAzRQorOjEwQzY1MDAwMkM0MDBBMzAwMjhDMDA5MzAwMkFDMDBCMzAwMjE4MDREMAorOjEwQzY2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQzAwRjhDMDNFODBCQgorOjEwQzY3MDAwMkNBMDBCM0YwMEM3NjAzRUQwMENGMDBCM0MwMENGMDA1RAorOjEwQzY4MDAwM0U4MDBDRjAwQjJDMDBFRjAwMzNDMTBERjAwQjJBMDRBMAorOjEwQzY5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzQwRjM0MDNFNTBDRAorOjEwQzZBMDAwOEVCNDAzRUMxMEZCMDAzRTA5MEZCMDEzRUM0MkVCMDAxQworOjEwQzZCMDAwM0MwMDhGQjAxM0M0MTFFMzAwM0VDMDBFQjAwM0UwMDA5NQorOjEwQzZDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwRkM4MDMxMjI1RQorOjEwQzZEMDAwMENBODAzM0MwMENGMDAzM0EwMEVGMDAzREMwMENGMDAxOQorOjEwQzZFMDAwMUZGMDBDRjAwM0Y0MDBDRjAyMzNDMDBDRjAwMjAwNTQzMgorOjEwQzZGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2RjAwQkJDMDIyNzAwOQorOjEwQzcwMDAwMEFCOTQyMkMxMDhCMDA3NjExODNCMDAyRUMxMEFCMDBGQQorOjEwQzcxMDAwMkVCMDBBQjAwM0VDMDQ4QjAwQTJDMDI4QjAwMjIwNDA2NworOjEwQzcyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDU2NTQwQjgyMDIyNDQ5MQorOjEwQzczMDAwNTgzNDBBMkMwMDhCMDAyMjg0NEJCMDAyRUMwMDhCMDA5MgorOjEwQzc0MDAwNkVDMDA4QjA0MkU2MDQ4QjAwMDJDMDA4MzAwMkEwMDFBRgorOjEwQzc1MDAwNDAwMDAwMDAwMDAwMDAwMDBDMDAwMDAwQjEwMDIwQzBGQworOjEwQzc2MDAwMEEzMDBBMEMwMDhCMDMyNDgwMEIzMDAyQ0MwMEEzMDA5QgorOjEwQzc3MDAwNkMwMDBBMzAwMjhEMDA4MzAwMjBDMDE4MzAwMjgyMDA1NQorOjEwQzc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2NDAwRjgwMDMwMDAxNQorOjEwQzc5MDAwNENBMDBCMkMwMkNGMDAyMjQwMEVGNTAzRkMwMENGMDE3MQorOjEwQzdBMDAwM0UwMDBDRjAxMkREMDJDRjAyMzNDMDRDRjAwQjgwMDNEMAorOjEwQzdCMDAwMTAwMDAwMDAwMDAwMDAwMEE0MTlGMDAwRkMwMDNGNDA0MQorOjEwQzdDMDAwMEZCMTAzREMwMEJGMDEzRjAwMEZGMjIzRkMxMEZGMDA5QworOjEwQzdEMDAwM0YwMDBGRjAwMUY0ODRGRjAwM0RDMDRGRjAxMzY4MDZFNgorOjEwQzdFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGRTQwREY4MDMzQzg3QworOjEwQzdGMDAwMENGODAzM0MwQTlGQzAzRkYwMDhCODAyM0UwMEZGODBERgorOjEwQzgwMDAwM0ZEODBDRjk2MTJFNDA2RjkwM0ZFNDhGRjE4MzMwMDBFOAorOjEwQzgxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQzA0OEI4MDIzRjAwQQorOjEwQzgyMDAwMDhCODAyM0Q0MEFCMDAwRTA4NDgyMjgyNkMyMEJCMDBENQorOjEwQzgzMDAwMkZEMDQ4QjAwMjJDMDBCQjAwMkVDMTBCQjAwMjMwMDQzOAorOjEwQzg0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzAyODMwMUEwQzU3NAorOjEwQzg1MDAwMDhCMDRBNENBMDgwMjQyOEM4MDkzMjAyNEMwMEIzMDgxMgorOjEwQzg2MDAwMkVEMTI5QjIzQTBDODRBMzIxMkNDODRCQjIwQTMyMDEzMgorOjEwQzg3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzA4OEIwMDIyQzA1MgorOjEwQzg4MDAwMDhCMDAyNEMwMDg4MjEyNDIxMDlCMDQ2NkMwMEJCMDY4OAorOjEwQzg5MDAwMkVDMDA5QjAwMjJDMTBCQjAwMkVDMDBCQjAwMjMwMDQxOQorOjEwQzhBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwQ0IwMDMyQzAyQQorOjEwQzhCMDAwMENCOTAyNkMwMENCQzgzQUMwMkQ5MDBCMkMwOEZCMDBDMQorOjEwQzhDMDAwM0VDMDBEMzA0MjJDMDBFQjAwM0VDMDBGQjAxMzAwMDQwMAorOjEwQzhEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQzAwRUYwMDNEQzA1RgorOjEwQzhFMDAwMEZGMDAzQkMwNkVGODIzRjQwNEVDOTgzQkMwMEZGMDAzRgorOjEwQzhGMDAwN0ZDMDFDRjAxMzdDMDBGRjA0M0ZDMDBGRjAwM0Y4MDA2MgorOjEwQzkwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIwMjNFQzBEMAorOjEwQzkxMDAwMEVCMDAzQUMyMEQ4NDAzRUMwOEM5MDBCMkMwMEZCMDAyNgorOjEwQzkyMDAwM0VDOTBEQjAzM0VDMDhGQjAyM0VDMDBGQjAwQjU0MDRGRgorOjEwQzkzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQjMwMDJGQzAzQworOjEwQzk0MDAwMEIzMDEyRkMwMDg4QTAyRTQwMjg5NDAyMkMxMEJCMDQ0RgorOjEwQzk1MDAwMkRDMDI4QjAwMkVDMDBCQjAwMkVDMDBCNzIwNjMyMDBDNgorOjEwQzk2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU2QzAwQjMwMDJDRTA3NworOjEwQzk3MDAwMEExMDAyQ0QwMDkzMDAyQ0MwMDhCMDAyNEMwMEIzMDA5NgorOjEwQzk4MDAwMjhDMDA4MzAwMkNDMDBCMzAwMkNDMDBCMzAwMjNBMDBBMworOjEwQzk5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTQwQjc4MDJERTI4MgorOjEwQzlBMDAwMEI1ODAyREUwMjk3ODEyRkEwMDg2ODAyNUUwMEI3ODE1MworOjEwQzlCMDAwMkZFMDA4NzkwMkRFMDBCNzgxMkRFMDBCNzgwMjNDMDAwMQorOjEwQzlDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwRjMwMDNDQzBEQworOjEwQzlEMDAwMEUzMjAzQ0M4MEQzMDAzQ0M0MEMzOTAzNEMwOEYzMUE0QworOjEwQzlFMDAwM0NDNjBEMzAwM0NFMjBGMzA4M0NDMDBGMzAwMzUyMDI4QQorOjEwQzlGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURBQzAwRkIwMDJFQzA0NQorOjEwQ0EwMDAwMEJCMDAzQ0MyMEVCMDAzQzgwMEZCMDQxQUMwMEZCMDAyRQorOjEwQ0ExMDAwM0NDMjBGQjAwM0VDNDBGQjAwM0VDMDBGMzAwM0QwMDYxOQorOjEwQ0EyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFRTAyQzM4MDMwQ0VDOAorOjEwQ0EzMDAwMEQ5ODAzQUNBMEMzODBCMkMwMEZCMDAzRUMwMEZCMDBBNAorOjEwQ0E0MDAwM0VEMjRGQjAwOTJFMDg0QjAxM0VDMDI0QjAwM0VBMDA4RAorOjEwQ0E1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwODcwMTIxQzAwOAorOjEwQ0E2MDAwNDg1MDEyNEMwMDg3MDAzNUMwNEI2MDAyREMwNEI3MDEwRgorOjEwQ0E3MDAwMkRDMDBCNzAwMjFDMDA4NzAwMkRDMTBDNzIwMkYyMDQ0NQorOjEwQ0E4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwODc4MDIzRTBERQorOjEwQ0E5MDAwMDhGODAyREU4MDhGODEyMUUwNEI3ODEyREUwNDM3ODBCNworOjEwQ0FBMDAwMkRFODBCRjgwMjNFMTg4NzgwMkZFMDA5NzkwMkUwMDA5QworOjEwQ0FCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwODMwMEEwQzA0QgorOjEwQ0FDMDAwMjgzMDQyNEMwMDgzMDAyNEMwMEIzODA2Q0MwNEIzMDA0RAorOjEwQ0FEMDAwMkNDMDBCMzAwMjBDMDI4MzAwMkNDMDA4MzAwMkQyMDRBMAorOjEwQ0FFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwQ0EwMDMxODBGNgorOjEwQ0FGMDAwMDhFMDAyOTgwMkNFMDAzMzg0MEJFQTAzRTgwMEJBMDA5MworOjEwQ0IwMDAwM0Y4MTBGQTAwMzI4MDBDQTAwM0U4MDBERTAwM0ZBMDQxNQorOjEwQ0IxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDAwRjgwMDNFMDA1NworOjEwQ0IyMDAwMEU4NDIzQTAwMEY4MDAzQTEwMEY4MDAzRTAwMEY4MDAwNAorOjEwQ0IzMDAwM0UxMDBGODAxM0UwMDBGODAwM0UwMDBEODAwM0QyMDA4RAorOjEwQ0I0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAxRjkwMDNFNDA0MQorOjEwQ0I1MDAwMEM5QTEzRTQwMEM5MDAzRTQwMEM5ODIzRTQ4MEY5MDBDRAorOjEwQ0I2MDAwM0U0MDJDOTgwMzY0MDBGOTAwM0U0MDBDOTAwM0MyMDQ0MAorOjEwQ0I3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA0QjkwMDJFNDA3MgorOjEwQ0I4MDAwNjg5QzIyRTQwMjg5MDE3QzUwOEQ5ODIyRTQ4MEI5MjBCRgorOjEwQ0I5MDAwMkU1MDQ4MTAwQjI1MDBCOTQ0MkM0MDI4OTAwMEUwMDA4RQorOjEwQ0JBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjkwMDJFNTBGRAorOjEwQ0JCMDAwMDg5MDAyRTQwNDg5MDAyRTUwMEE5MjAyRTQwMEI5MDBCMQorOjEwQ0JDMDAwMkM0MDA4OTEwMjI0MDBCOTAwMkU0MDA4OTAwMkM2MDBCMworOjEwQ0JEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNTAwQjEwMTJDNDBFNgorOjEwQ0JFMDAwNDgzMDAyRTQwMDgxMDAyQTQwNEIxMDAyQzQwMEIxMDAyQQorOjEwQ0JGMDAwMENDMDA4OTAwMjBDMDBCMzAwMkU0MDQ4MTIwMkMyMDE4MworOjEwQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwQjgwMTNFMDAwOAorOjEwQ0MxMDAwMUM4MDA3RTE1MEM4NTAyRTE0MUU4NTAzRTE0MUY4NTBENgorOjEwQ0MyMDAwM0UxNDBDODUxMzIxNDhGODUwM0UxNDBDODU0M0VFMDM0NgorOjEwQ0MzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MTlDNDAwRjkwMDNFNTFBNworOjEwQ0M0MDAwMEY1MDAzRTUwMEZEMDAzRjQwMUREMDAzRjQxMEY5MDAzNAorOjEwQ0M1MDAwM0U1MDBGNTAwMDk0MDBGOTAwM0Q0MDBGOTEwM0U2MDY0RQorOjEwQ0M2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDFFNDUwQ0QwMDMxNjBBOQorOjEwQ0M3MDAwMDREMDAzMzY4MEMxNDIyRTUwMUY5NDAzRTUwMEU5MDIyMAorOjEwQ0M4MDAwMkU3MjBBOTAyMjA1MDhFOTQwM0U1MDQwOUMwMzI2MDA3RgorOjEwQ0M5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBDMjgyODgwMDIyMTVEOQorOjEwQ0NBMDAwMDg4MDAyMjM1ODg4QTAyRTI4MEJBQTQyRTI4Mjg4ODA5RQorOjEwQ0NCMDAwMkUzODI4ODgwMjIyODBCOEEwM0EyODA4Q0QwMjBFMDQxNworOjEwQ0NDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwODEwMEE2NDBGQworOjEwQ0NEMDAwMjgxMDBBMjQyNjk1MDAwRDQwMEI1MDAyNzQwMDg1MDg4OAorOjEwQ0NFMDAwMkY0MDc5RDJBQTE0MDBBNTAxMkY0MDM4NTAwMjEyMDExQQorOjEwQ0NGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDA0ODkwMDI2NDAwMAorOjEwQ0QwMDAwMDg5MTAyMjQxMDlEMDgyRjQwMEJEMDAyRjQwMDhEMDJFMAorOjEwQ0QxMDAwMkY0MDA5RDAwMDM0MDBCRDAwMEI0MDE4NzAwMjA2MDRGQgorOjEwQ0QyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVDNDAwQzkwNTM2NDFFNQorOjEwQ0QzMDAwNEM5MDYzMjQwMEQ5MDAzRTQwMEI5MDAzNDQwOEM5MDA4NgorOjEwQ0Q0MDAwM0U0MDE1MTAwMzI0MDBFOTAwM0M0MDBDOTAwMzI4MDRFOQorOjEwQ0Q1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDA0RjkwMDNBNDAxRgorOjEwQ0Q2MDAwNEY5ODAzRTQwMEU5OTkzRTQwNEY5MDAzRTQyMEY5MEEwQworOjEwQ0Q3MDAwM0U0MDBFOTA0MzY0MjRGOTA4M0E0MjBGOTA4QkRBMDA0QgorOjEwQ0Q4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwQzgwMDEyMDA5MQorOjEwQ0Q5MDAwMEM4MDQzRTAwMEM4NDAzMjAwMEY4NDUzRTAxMEY4MDBEQworOjEwQ0RBMDAwM0UwMDBEODAyMzIwMDBEODAwM0UwMDBGODAwMzBBMDRCRgorOjEwQ0RCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzODAyODIwMEExODg0MQorOjEwQ0RDMDAwMDg2MDIyQzgwMDhBNDAzNkExMEJBMDAyRTkxMEJBNDRDQworOjEwQ0REMDAwMkM4MDBDQTQxMjI5MDI4QTQ0MkU5ODBCQTQwMjBBMDA2QgorOjEwQ0RFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzEwODMwMDIwRTBGNworOjEwQ0RGMDAwMTgzMDkyQzQwODkzNDAyMEUwMEIzMDAyQ0QwMEIzNDBCRAorOjEwQ0UwMDAwMkNDMDBCM0E0MkNEMDA4MzQwMkNEMDBCMzgwMjRBMDA5NAorOjEwQ0UxMDAwNTAwMDAwMDAwMDAwMDAwMEEwNDExQzAwODcwMDIxQzA1RAorOjEwQ0UyMDAwMjg3MDAyRDEwMDlEODAyNUMyNEI2MDAyREMwOEI3MDI0OQorOjEwQ0UzMDAwMkNDMDBBNzQwMkZFMDA4NzAwMkRDMDBCMzQwMjY4MDA2QgorOjEwQ0U0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwQzc4NDMxRTA3OAorOjEwQ0U1MDAwMEM2ODAzRDYwMDk3ODAzMUEwMEY1ODEzREUwOEY3ODJDNAorOjEwQ0U2MDAwM0RBMDBGRjgwQkRFMDBDNzgwM0RFMDBGNzg4QjZBMDIxMworOjEwQ0U3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBRDgwRjMwMDNFQzE2RQorOjEwQ0U4MDAwMEZBMDIzQzAwMkU5MDAzRTgxMEY4MDAzRUMwMEZCMDBFRAorOjEwQ0U5MDAwM0VDMDBEQjAxMzJDMDBFQjAwM0VDMDBGQjAwMzgyMDI2OQorOjEwQ0VBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRjMyQzc4MDMzNjAxMgorOjEwQ0VCMDAwMEY3ODAzM0VDODRFODAyMzY0MENGODAzM0EwMENFODBGRQorOjEwQ0VDMDAwMTNFQzA2RDgwMzNBMDBERTgwMzNBNDBDQzgwM0QwMDA2QworOjEwQ0VEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwODcxMDAxQzAzNQorOjEwQ0VFMDAwMEI3MDAyMTg1MDg0MDAyQjQ0MDg2MDEyOTgwMDg2MTNCRgorOjEwQ0VGMDAwMjFDNDg4NTAwMjE4ODA4NjAwMjE4MDA4NjEwMkVBMDQ1QgorOjEwQ0YwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwODcwMDIxNDAzRAorOjEwQ0YxMDAwMEJGMTAyNUM4MDA2MDAyMTAwODhEMDAyNUMwMDg3MDBEMworOjEwQ0YyMDAwMjA4OThBRjEwMjFDMDg4NzEwMjE4MTg4NDgwMkM2MDBFNgorOjEwQ0YzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzEwODMwNEEwQzFEOQorOjEwQ0Y0MDAwMEIzMDBBNDgwQzg4MDY2MDM4MDgwNDQyRUMwMThCMDQ1OAorOjEwQ0Y1MDAwMjJDMTA4MzAwQTJDMDA4QjAwMjI4MDAwMjAwMkQ4MDQ1NQorOjEwQ0Y2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwQzMwMDIyODBCMworOjEwQ0Y3MDAwOEY5MDAzNjQwQUNCMDJCMkYyMjAzNTEyNjQwQUM5MDAxMgorOjEwQ0Y4MDAwQjI0MDBFQTAwMzI0MEFDOTAwQTI0MDJDQTAwM0VFMDQ2NAorOjEwQ0Y5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRkIwMDNDODAwRQorOjEwQ0ZBMDAwMEY5MDAzQTUwMERCNDAzRUQwNERCNDEzQTQwOEZCMDE1NQorOjEwQ0ZCMDAwM0VDMDFDQTAwMzZDMDBGQjA0M0U1MDRGQTQwM0UwMDBFNQorOjEwQ0ZDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwRkYwMDMzQzAzMgorOjEwQ0ZEMDAwMENFODQzMjYwMERGODBCM0UwMEZGODAzN0MwMENEMDBBRgorOjEwQ0ZFMDAwMzMwNDBDRTAyMzM0NDBDRDAwMjM0MDBDRTAwM0UwMDQ4NAorOjEwQ0ZGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzEwQkIwMEEyRDJEMQorOjEwRDAwMDAwMDgyODAyMDQ2MDhCMTkyMkM2MEVCMThBMkU0MDhCOTAyQworOjEwRDAxMDAwMjJDMTA4QTQ4MjJDMDA4QjkwMjI2NDQ4QTQwMkUwMDA2NAorOjEwRDAyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwQkIwMDIyMDA2MgorOjEwRDAzMDAwMDg5MTJFMjQwMDlCMDAyMkMwOEJCMDEyMjAwNDg4MDA4RgorOjEwRDA0MDAwMjI0MDA4MTAyMjIwMDA4ODAxMkFEMDA4ODA0MkUwMDBGNworOjEwRDA1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwQjMwNDIwODAyMQorOjEwRDA2MDAwMDgxMDA2MDQxMDgzMDAyMEMwOEJCMDEyMDAwMDgyMDA1QworOjEwRDA3MDAwMjBDMDI4MTA0MjA5MDY4MjAwMjhDMDA4MjAwMkMyMDFGMAorOjEwRDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3QzAwQkIwMDMyNDBFQQorOjEwRDA5MDAwMkNCMDAzMjQwMEQzMDAzMkMwNUZCNTAzMEMwMkMxMDBFMgorOjEwRDBBMDAwQjIwMDBDQjAwQjA1MDBDMTAwQjhDMDJDODAxM0UwMDMyNworOjEwRDBCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMUREQzAwRkYwMDFGQzBBOQorOjEwRDBDMDAwODdGMDAxRjQwMEZGMDAzRkMwMEU3MDQzRkMxMDdGMDBBQQorOjEwRDBEMDAwM0ZDMDBGNzAwM0ZDMDBGRjAwMzdDMDBGRTAwM0U4MDZGRAorOjEwRDBFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMTg0RkU2MTMxRDgyRQorOjEwRDBGMDAwMENCMkMzRkNFMENDODA3QkMwMEVGMTAzN0NFMENDODM5RgorOjEwRDEwMDAwM0YyMDBGRjBDQjMyNDREQzg0M0YyNTRDRjI0MzMwMDAwQgorOjEwRDExMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFNDQ4QjAxMDIyREMyNQorOjEwRDEyMDAwMDhCNjAyRkQ5Mjg4ODUyM0Y0NDBGMTAyRUQwMDg4MkRCNworOjEwRDEzMDAwMEU2MDBCQkMxMjJDMTBBODgyMkUwMDBBRkMyMkEwMDQ0OAorOjEwRDE0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDMDgwQjMyMjI4QzAyNQorOjEwRDE1MDAwMDgzMDgyQ0MwMTg4MDAyQ0MwNEEzMjAyQ0MwMDAxMDE4OAorOjEwRDE2MDAwMjgwMDRCQjAwMkEwMDA4MDAwMkMwOTA4MzQwMjYyMDFBNAorOjEwRDE3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzA0QjIxMDJBQzEwRAorOjEwRDE4MDAwMDhCMDAyRUMxMDg5ODAyMkMwMDhCMDAyRUMwODg4MDBDOAorOjEwRDE5MDAwMkU0MDgzQjAwMkEwNDBCOTgwMkMyMTBBQjAwMkYwMDRENgorOjEwRDFBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwRkEwMEJBQzA2QQorOjEwRDFCMDAwMkNCMDQzRUMwMEMwODAzRUMwOEVCMDAzNEMwQ0M4MTBCNQorOjEwRDFDMDAwM0U4MDhGQjAwMzgyMTBEODgyM0UyODBDQjAwQjUwMDRGMgorOjEwRDFEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNjgwRkQwMjM3QzFEMQorOjEwRDFFMDAwMEZCMDAzRkMwMEZEMDAzRUMwMEZCMDUzRkMwMkZGMDE3NgorOjEwRDFGMDAwMkZBNDhCRjA4MzdDMDBBRDAyMkY0MDAzNzAwM0I4MDA5NgorOjEwRDIwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIwNDMyQzBEMQorOjEwRDIxMDAwNENCMDIzMkMwMEY4NDAzRUMyMENCMDAzMkMwMEZCNDE2NAorOjEwRDIyMDAwMzJDMjBGQjA0MzJEMDBDODUwM0U0MDBDQjAwQjEwMDQ2QQorOjEwRDIzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyRjkwQjk1MDAzQzA3NgorOjEwRDI0MDAwMThGMDFBM0MwMEI5MzIyREUwMzhGMDYwM0MwNEY5MDBDNworOjEwRDI1MDAwM0VGMDBCN0M4MDJDMDBEOUMwMkU0MDBERjAwMjMyMDAzNQorOjEwRDI2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QjI0QjIxMDAyQzFBNQorOjEwRDI3MDAwMjgzMDAyNkMwNEIyQzEyQ0MwMDgzMDAwMEMwMEIyMDA4RgorOjEwRDI4MDAwMjgyNDAzM0MwQTAwMDA4MkM4MkNBMDA4MzAwMjM4MDA4MQorOjEwRDI5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExNjAwQjQ4MDIxRTRDRQorOjEwRDJBMDAwNDg3QjAyNUUwMEI2ODA2REUyNDg3OTIyMUU0MEFDODQ2NQorOjEwRDJCMDAwMkRFMDBCRkEwMDUyNDA5NjgwMkRFODE5MzgwMjA4MDA0NAorOjEwRDJDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODQwRjMxMEIwQzQwRgorOjEwRDJEMDAwMDgzQTAyNEM5MEYzMTAzQ0NDMDgzMTAzMEM0OUIwNDBBMgorOjEwRDJFMDAwMzAwNTBGMzAwNzIxNDA0MzAxM0VDMjFDMzA0MzEyMDI3QgorOjEwRDJGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMERCQzEwRkMxMDNGQzUwNQorOjEwRDMwMDAwMEZGMTAxQkMwNEZGMDQzRkM0MEZCMTRCRkM2NEY3MDBGNAorOjEwRDMxMDAwMzdDMDBGNzI1M0FDNDRGRjAxM0ZDOTBGRjQwM0QwMDY2RQorOjEwRDMyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFQzA4RkEwMDNFRTBFNAorOjEwRDMzMDAwMENCMDAzMkMwMENCMDIzRUNBMEZCMjA3MkUwMERCMDI1QQorOjEwRDM0MDAwMzIwODBGMzEwMzJDMDBDQjA0M0U4MDBDMzUwMzJBMDAzOQorOjEwRDM1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDAwQjUwMDJEQzhDNgorOjEwRDM2MDAwMDg3MDBBMUMyMjg3MDAyREM5MEJGMjgyOUM4MEE2MDAzRgorOjEwRDM3MDAwMDk4QjBCNzAwQTFDMDI4NTAwMkQ0MDA4NzAwMjkyMDQ3NAorOjEwRDM4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwQjc4MDJDRUM5MAorOjEwRDM5MDAwMDg3QjAyNUU0MDg1ODkyREVDOEI3QjAyNEU4NDhGODA1QQorOjEwRDNBMDAwMjU2NDBCRkEwMjEyMDg5NzgwNkZFMTA4N0EwMjMwMDBCOAorOjEwRDNCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzIwQjM2NDJDQzAwMgorOjEwRDNDMDAwMDgzMDA2MEMxMDgzOEE2Q0MwNUIzMDQyQ0MwMEFCMTA3NgorOjEwRDNEMDAwMkNGMjBCMzAwMjBEMDA5MzA0MkNENTA4MzAwQTkyMDQ3NQorOjEwRDNFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQjAwRkVDMDNFODBEOQorOjEwRDNGMDAwMkNBMDAzNjgwMEM2NDAzRjgwMEZBMDAyNjgwMENFNDQwNgorOjEwRDQwMDAwMzY5MDRGNjAwMzFCNzBERUQ4M0ZBMDBDMjAwMzNBMDQxNworOjEwRDQxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDQwRjgxMDNFMDBGRQorOjEwRDQyMDAwMEY4MDAzQTAxMEY4NDIzRTEwMUY4MDAzQTAwMEU4MENGQworOjEwRDQzMDAwM0EwNDFGODAwM0UwMDBFODQ1N0UwMjJGODAwM0QyMDBGQgorOjEwRDQ0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTA2NDAwRTk4MDMyNDA1NQorOjEwRDQ1MDAwMEY5MDBCMDQwOEQ5ODAzNjQwMEYxMDEzMjQwOEY5MDBGMAorOjEwRDQ2MDAwNzI3MDBGOTExMzI0MTBDOTEwM0U2OTBDOTAwMzAyMDRDRQorOjEwRDQ3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA4Qjk4MDIyNDBGMQorOjEwRDQ4MDAwMEIxMDAyMjQwMDg5QzQyMjUyMEI5MDQyMjQwMEI5MDBFMAorOjEwRDQ5MDAwMjJFMDBCOTAxMjI0MDREOTRBMkU2MDA4OTAwMzYwMDAwOQorOjEwRDRBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjExODIyNDAwMAorOjEwRDRCMDAwMEI5MDAyMjQwMDhCMjAyNjQ5MEI5MDAyNjQwMEI5MDBENworOjEwRDRDMDAwQTI0MDBCOTA4QTI0MDA4QjAwMkM0MEE4OTAwMjA2MDBGQQorOjEwRDREMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDg0QjEyMEEwNDhCRgorOjEwRDRFMDAwMEIxMTA2MDQwMDgzMDAwMDQwNEIxMTAyMDQ0OUIxMTBFNworOjEwRDRGMDAwMjg0MDBCMTAwMjI0NDE5MTAwMkM1MDA4MTAwMjQyMDFEOAorOjEwRDUwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2OTQwRTg1MDMyMTQyRgorOjEwRDUxMDAwMEY4NjkzMjFFMkM4MDAzNjBBMEI4NjhCNjFBOEY4NDA3QgorOjEwRDUyMDAwMjI4MDBGODJBMzIxMDhDODAyM0UwMDBDODA0MzJFMDNGNAorOjEwRDUzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQ4RkQxMjNFNDQxOQorOjEwRDU0MDAwMEYxMjAzQzQwMDdEMDExRTQwMEI5MjAzRTQ4MEY1MjBGRQorOjEwRDU1MDAwMzY0MDBGOTAwM0Q0OTA3RDAwM0Q0MDBGOTQwM0U2MDZDMworOjEwRDU2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDFGNkMxREQ4ODMyNzI3MgorOjEwRDU3MDAwMEM5ODAzMjYyMkREMDAzRjYyMkM5OTgzNDZBMEM5NDAwNworOjEwRDU4MDAwQjI0MDBGRDgwMzI0MDBGRDAwMzM1MTJDRDg4MzA2MDA4RAorOjEwRDU5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFM0MyODhDMDIyMzA5NAorOjEwRDVBMDAwMDg4QzQyMjIxMThBMDEyRTAwMDg4ODUyMjMwMDgwQTM5MQorOjEwRDVCMDAwMkEwMDRCODA0MjIyQTBCODAwMjIyODA4ODQwMjhFMDQ1MAorOjEwRDVDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwODEyRDIwNDg0NAorOjEwRDVEMDAwNjgxNDgwMDQyMDgxMDAyRTQwMEIxMjEyMDQyNDgxMjA0NAorOjEwRDVFMDAwMjA0MDBCOTQzMjA0OTBCOTAwMjA0MDQ4MTA0QTAyMDFCOAorOjEwRDVGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDAwODkyMDIyNDBERgorOjEwRDYwMDAwMDg5MDEyMjQwMDg5MDAyRTQwMDg5MDAyMjQwODg5NDBDNgorOjEwRDYxMDAwMjI1MDBCQjAwMjI0MjBCOTA5QTI0NDA4OTAwMjg2MDRDQgorOjEwRDYyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRDkwOEIyNDAyRQorOjEwRDYzMDAwNEMxMDIzMDQwNEQ5QzEzRTQwOEY5MDBCMDQwOEMxNDAxNAorOjEwRDY0MDAwMTI0MDBGOTA0MzI0MDRGMTQxMzA3ODBDOTAwMzI4MDREOQorOjEwRDY1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDE4NjY0Rjk4MDNFNDA1MAorOjEwRDY2MDAwMEY5MDBCRTQwMEY5OTgzRTQwMkYxMDAzQTQwMkY5MTAyQworOjEwRDY3MDAwM0U0MDBGOTAwQkU2NDBGOTkwM0U2MDBGOTAwM0NBMDBDOQorOjEwRDY4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwQzg0MTMyMDAyNworOjEwRDY5MDAwMEM4MDA3MjAxMEM4MTAzRTBDMEU4MDAzRTAwNEM4MDA2OAorOjEwRDZBMDAwQkEwMDBGODE0MzIwMDBGODcwM0UwMDBGMDAwQjBBMDRGRgorOjEwRDZCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzOTAyOEUyMEEzODAxMQorOjEwRDZDMDAwMjhFMDBBMzgxMEFFMDQzREExOEVFMDAyRjgwMDhFMDA3QQorOjEwRDZEMDAwNzY4MDBCNjAwMzc4MDBCRTQwMkY4MjBCQTAwM0NBMDA0NworOjEwRDZFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0RDAwOEI4ODIyQzA4QgorOjEwRDZGMDAwMTgzMDAyMEMwMDgzNDQyQ0QwMUIzMDEyQ0MwNjgzMDA1RgorOjEwRDcwMDAwMjBDMTBCMzA4MjBDMDFCMzAwMkM0MDBCMzAwMjBBMDAwOAorOjEwRDcxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzAwODUwMDIwQ0M4QgorOjEwRDcyMDAwMDg3MDA2MUM4NEE3MDEyOUMwMEI3MjIyREM4MDg3MzQ5NAorOjEwRDczMDAwNjE4MDBCMTAwMjVDMDBCNzAwMkRDMDBCNzAwMkU4MDA4NgorOjEwRDc0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgwRTAwOEM4MDMxRTBCRQorOjEwRDc1MDAwMENGRTAyM0YwMEM1ODAyREUwMEU3ODAzREZBMEM3QTBCRAorOjEwRDc2MDAwMjE2MDBGNzgwMzFFODBGNzgwM0RFMDBGNzgwMzJBMDJDNgorOjEwRDc3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRjkwMDNFQzBFMQorOjEwRDc4MDAwMEZCMDAzRUMwMEZBMDAzRUMwMDZCMDAzRUM4MEZCMjhBQgorOjEwRDc5MDAwMzZEODRGQTAwM0VDMTBGQTAwM0U1MDBGMzAwM0MyMDZGQgorOjEwRDdBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGQTAwQ0M4MEIzRTAzQgorOjEwRDdCMDAwMEZGODAzM0UwMENGOTAzRjYwNEZGOEMzM0UwMEVGODA2QworOjEwRDdDMDAwMzNGMDBDN0EwMzNFNzBDNTkwMzNGMTBDNzgwMzAwMDBGRgorOjEwRDdEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTFCODAwODcwMDIxQzAwMAorOjEwRDdFMDAwMEI3MDRBMUMwMDg3MTAyREMwNEI3MTBBM0M0NDhGMTJFRAorOjEwRDdGMDAwMjE4NjBENzIwMjFFMDA4NzAwMjM0MDA4NzAwQTJBMDQ0OQorOjEwRDgwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwODQwMDI1QzBCMworOjEwRDgxMDAwMEI3MTBBMEMwMEE3MTIyRDg0MEI3MDBBMUMwMEI3MDhBQworOjEwRDgyMDAwMjM0MDA5RjMxQTVDODY5NzA4MjU0MDA4NzAwMjAwMDAxRgorOjEwRDgzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzIwODEyMDI2QzAyMQorOjEwRDg0MDAwMEIzMDAyMkMwMDgyNDIyQzgwMEIzMDIyMEMwODlCODA3MworOjEwRDg1MDAwMjBFMDA5MjAwMjREMDg5MjAwMjRFNTA4MzAwQTA4MDQ1RgorOjEwRDg2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBRTgyQ0FFMEI3QzA3QQorOjEwRDg3MDAwMEZGMDEzM0MwQUM5QzgzRTQwMEZGMDAzM0MwNEZGODQ3QworOjEwRDg4MDAwMzJDMDBEOTAxMzdDMDBEOTAwRjZDMDJDMTAwMzJBMDQ3RQorOjEwRDg5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFNDAwRjMwMDNBQzFENgorOjEwRDhBMDAwNEZCMDAzRUMwMEY5MDgzQzAwMEYzMDEzRUMwMEVCMDQyMAorOjEwRDhCMDAwQkUxODBGOTAyM0FDNjBFOTAyM0E0MDRGOTAwM0UwMDA5RAorOjEwRDhDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwQ0EwMDMzQzA1RQorOjEwRDhEMDAwMENGMDAzRkMwMENEMDI3RjQwMENGMDQyM0MwMENGMDg2RQorOjEwRDhFMDAwMzcxMDBGRDAwM0ZDMTBDRDA4M0Y2NjJDRDkwMzAwNDQzRAorOjEwRDhGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2MzgwOEJFMDIyQzA0MworOjEwRDkwMDAwMDhCMDIyRUMwMEQ4ODA2RTIwNjhCMDFBMkMwMUZCMDAxMQorOjEwRDkxMDAwMjIxODBCODg0MzRDMDA4OEEwMkNDMDFEOTAwMjIwNDA4OAorOjEwRDkyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDEwODgwOEIyMDIyQzA1MQorOjEwRDkzMDAwMDhCMDIyRUMwMDg4ODgyRTYyNDhCMDFBQ0MwMDhCMDAxOAorOjEwRDk0MDAwMjZDMDRBODgwMkVDMDAwODg0MkU0MDA5OTAwMjIwMDA3QworOjEwRDk1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwMDAwODMwMDYwQzBEOAorOjEwRDk2MDAwMDgzMDAyQ0MwMDkwMDY2QzAwMDgzMDAyOEMwMEEzMDQ0MgorOjEwRDk3MDAwMjAwMDhCMDAwNjRDMjE4MDAwNkNDMDQ5MTAwQTAyMDE3NworOjEwRDk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQ0EwMEIyQzFFMQorOjEwRDk5MDAwODhCNDAzRUMxMEM4MDAyRTAwMENCMDBCQkMwODhGMDAzQworOjEwRDlBMDAwMzYwMDA2ODAwM0VDODBDODAyM0ZDMTBDOTAwMzAwMDNFMAorOjEwRDlCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGMDAwRkYwMDNGQzA2QworOjEwRDlDMDAwMEY3MjgzRkMxOEZDMDMzRjAwOEY3MDAzN0MwMEZGMDA4NAorOjEwRDlEMDAwM0QwMDBGQzAyMzhDMDZGQzAwM0Y0MDBFRDAwM0U4MDYzQworOjEwRDlFMDAwNzAwMDAwMDAwMDAwMDAwMDAwQzU0MTAzNzA0MERDMTAyMgorOjEwRDlGMDAwMzcwNDBEQzEwMzcwNDBEQzEwMzcwNDBEQzEwMTcwNDBDNQorOjEwREEwMDAwOUMxMDE3MTQwNUMxMDM3MDQwREMxMDE3MDQwREMwMzFDMQorOjEwREExMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0NDA1NzEwMTVDNDBFQQorOjEwREEyMDAwNTcxMDE1QzQwNTIxMDE1QzQwNTcxMDE1QzQwMTcxMDE0MAorOjEwREEzMDAwNUM0MDE3MTAwNUM0MDU3MTA1NUM0MTU3MTAxNUMwMTFGNQorOjEwREE0MDAwNTAwMDAwMDAwMDAwMDAwMDAwODAwMjAxMjA4MDQ4MjBGQgorOjEwREE1MDAwMTIwODA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTIwODBEQworOjEwREE2MDAwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwNDgwMjBFNworOjEwREE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDAwNjAwMDU4MDA2RQorOjEwREE4MDAwMTYwMDA1ODAwMTYwMDA1ODAwMTYwMDA1ODAwNTYwMDA0MgorOjEwREE5MDAwNTgwMDE2MTgwMTgwMDE2MDAwNTgwMDU2MDAwNTgwMjBDQgorOjEwREFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0ODA1MjIwMTFDODBBNQorOjEwREFCMDAwNDcyMDExQzgwNDcyMDE1QzgwNTcyMDExQzgwNDcyNDFDQworOjEwREFDMDAwNUM4MDU3MjAxMUM4MDQ3MjAxMUM4MDQ3MjAxNUMwMzFBQQorOjEwREFEMDAwNTAwMDAwMDAwMDAwMDAwMDAwQzU0MDAwNjAwMDE4MDA3OQorOjEwREFFMDAwMDYwMDAxODAwMDYwMDAxODAwMDYwMDAxODAwMDYwMDA1MAorOjEwREFGMDAwMTgwMDA2MDAwMTgwMDA2MDAwMTgwMDA2MDAwMTgwMzE1NworOjEwREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0ODA0MjIwMTA4ODA1OQorOjEwREIxMDAwNDIyMDEwODgwNDIyMDEwODgwNDIyMDEwODAwNDIzMDE0MgorOjEwREIyMDAwMDg4MDQyMjAxMDg4MDQyMjAxMDgwMDQyMjAxMDgwMjEzMQorOjEwREIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0QTA1NDI4MTUwQTAxRQorOjEwREI0MDAwNDQyQzExMEIwNDQyODExMEUwNTQyODExMDIwMDQyODE0MAorOjEwREI1MDAwMTBBMDQ0MzgxMTBCMDU0MjgxMTAyMTE0MjgxNTAwMzEwMgorOjEwREI2MDAwNTAwMDAwMDAwMDAwMDAwMDAwODAwQzAxNTcwMDU0QzA2RAorOjEwREI3MDAwMTUzMDA0NEMwMTEzMDA1NEMwMTU3MDA1NEMwMTUzMDBCRQorOjEwREI4MDAwNTRDMDE1MzA4NTRDMDExMzAwNTRDMDE1MzAwNTQwMjE5OAorOjEwREI5MDAwNDAwMDAwMDAwMDAwMDAwMDAwODAwMDAwNDAwMDEwMDA3NQorOjEwREJBMDAwMDQwMDAwNDAwMDEwMDAxMDYyMDQwMDAxMDgwNDQxMDA1RAorOjEwREJCMDAwMTAwMDQ0MTgxMTAwMDAxMDAwMTA4MDA0MDAwMTAxMjAyMgorOjEwREJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2MDAyMDgwMDgyMDAyNAorOjEwREJEMDAwMjA4MDA4NjAwMjE4MDA4MjAwMjA4MDA4MjAwMDA4MjBCMQorOjEwREJFMDAwODIwMDAwODA4MDIwMDIxODAwODIwMDIwODAwODAxMzExRAorOjEwREJGMDAwNTAwMDAwMDAwMDAwMDAwMDAwQzU0MDA1NjQwMTU4MDAwRQorOjEwREMwMDAwNTYwMDE1ODAwNTYwMDE1ODAwNTY0MDE1ODAwNTYwMDFEQQorOjEwREMxMDAwNTgwMDU2MDAxNTgwMDU2MDAxNTgwMDc2MDAxNTgwMzFDNworOjEwREMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MDAzNjAwMEQ4MDBCNAorOjEwREMzMDAwMzYwMDBEODAwMzYwMDA5ODAwMzYwMDFEODgwNTYwMDBFNgorOjEwREM0MDAwRDgwMDE2MDAwRDgwMDM2MDAwRDg4MDQ2MDAwRDgwMzE5QQorOjEwREM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MjA0MzA4MTBDMjBEQworOjEwREM2MDAwNDMwODEwQzIwNDMwODEwQzIyNDEwODE4QzIwNDMwODlENAorOjEwREM3MDAwMEMyMDAzMDgxMEMyMDQzMDgxMEMyMDQzMDgxMEMwMTA4RgorOjEwREM4MDAwNTAwMDAwMDAwMDAwMDAwMDAwODAwMDAwMzAwMDBDMDA4OAorOjEwREM5MDAwMDMwMDAwQzAwMDMwMDAwQzAwMDMwMDAwQzAwMDMwMDA5MgorOjEwRENBMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEMwMDFBNQorOjEwRENCMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMjAxMzA4MDRDMjBDNQorOjEwRENDMDAwMTMwODA0QzIwMTMwODA0QzIwMTMwODA0QzMwMTMwODBDMworOjEwRENEMDAwNEMyMDEzMDgwNEMyMDEzMDgwNEMzMDEzMDgwNEMwMjFDQQorOjEwRENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MjA1NjA4MTU4MjBDRgorOjEwRENGMDAwNTYwODExODIwNTYwODE1ODIwNTYwODExODMwMDYwODEwMgorOjEwREQwMDAwNTgyMDQ2MDgxMTgyMDQ2MDgxMTgzMDU2MDgxNTgwMzA2QQorOjEwREQxMDAwNTAwMDAwMDAwMDAwMDAwMDAwQzU0MjAwMjA4MDA4MjBFNAorOjEwREQyMDAwMDIwODAwODIwMDIwODAwODIwMDIwODAwODIwMDMwODA2MworOjEwREQzMDAwMDgyMDAyMDAwMDgyMDAyMDgwMDgyMDAzMDgwMDgwMzFCMworOjEwREQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MjA0NjA4MTE4MjBBRgorOjEwREQ1MDAwNDY0ODExOTIwNDYwODExOTIwNDYyODExODIwMDM0ODFCRQorOjEwREQ2MDAwMTgyMDQ2NDgxMTkyMDQ2MDgxMTgyMDQzMDgxMTgwMTE0MAorOjEwREQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU2MDA0NTgwMTU2MDBDQgorOjEwREQ4MDAwNTU4MDE1NjAwNDU4MDExNjAwNTU4MDAxNjAwNDE4MDE4MworOjEwREQ5MDAwNTYwMDQ1ODAxMTYwMDQ1ODAxMTYwMDQxODAxMTQwMzE0MQorOjEwRERBMDAwNTAwMDAwMDAwMDAwMDAwMDAwODAwNjAxNDE4MDUwNjAyQgorOjEwRERCMDAwMTQxODA1MDYwMTQxODA1MDYwMDQxODA1MDYwMDQxODBEMgorOjEwRERDMDAwMTA2MDE0MTgwNTA2MDE0MTgwNTA2MDE0MTgwNTAwMjBFOQorOjEwREREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAxMDA4MDQwMjA2MAorOjEwRERFMDAwMTA0ODA0MTIwMTAwODA0MTIwMTAwODA0MDIwMTA0ODA0MAorOjEwRERGMDAwNDAyMDUwNDgwNDEyMDEwMDg0NDAyMDEwMDgwNDAwMjBGNAorOjEwREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0NjAzNTE4MEQ0NjBGRgorOjEwREUxMDAwMzAxODBENDYwMzUxODBENTYwMzUxODBENDYwMzA1ODAzNgorOjEwREUyMDAwRDQ2MDE1MTgwRDQ2MDMxMTgwRDQ2MDM1MTgwRDQwMzFBQgorOjEwREUzMDAwNTAwMDAwMDAwMDAwMDAwMDAwQzU0NjA1NzE4MDVDNjBENQorOjEwREU0MDAwOTcxODE1QzYwNTcxODE1QzIwNTcxODE1QzYwMzcwODE5NworOjEwREU1MDAwNUM2MDU3MTgxMUM2MDUzMTgxNUM2MDc3MTgxNUMwMzFCOAorOjEwREU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0NjAzNzE4MERDNjBGNworOjEwREU3MDAwMzcxODBEQzYwMzcxODBERDYwMzcxODA1QzYwMTc1ODEzRQorOjEwREU4MDAwREM2MDM3MTgwREM2MDM3MTg0NUM2MDE3MTgxOUMwMTE2NworOjEwREU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0NjA1NzE4MTVDNjA0NAorOjEwREVBMDAwNTcxODE0ODYwNTcxODE1QzYwNTcxODA1QzYwNDMxODFDNgorOjEwREVCMDAwNUM2MDU3MTgxNUM2MDU3MTgwNUM2MDQzMTgxNUMwMTE2OQorOjEwREVDMDAwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMjAxMjA4MDQ4MjBGNworOjEwREVEMDAwMTIwODA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTcwODAwOAorOjEwREVFMDAwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDE3MDgwNDgwMDA3RQorOjEwREVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAxNjE4MDU4NjA4MgorOjEwREYwMDAwMTYxODQxODYwMTYxODAxODYwMDYzQzA1ODYwNDYxODAxMAorOjEwREYxMDAwMTg2MDE2MTgwMTg2MDA2MTgwNTg2MDU2MTgxNTgwMTAyOAorOjEwREYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0MDA1NzAwMTVDMDA5QQorOjEwREYzMDAwNTcwMDE1QzAwNDcwMDE1QzAwNTcwMDEwQzAwNDcwMDA0OQorOjEwREY0MDAwMUMwMDQ3MDAxMUMwMDQ3MDAxNUMwMDQ3MDAwMUMwMTFCMworOjEwREY1MDAwNTAwMDAwMDAwMDAwMDAwMDAwNDU0MjAwNjA4MDE4MjBEMgorOjEwREY2MDAwMDYwODAxODIwMDYwODAxODIwMDYwODAwODIwMDYwODA5OAorOjEwREY3MDAwMTgyMDA2MDgwMTgyMDA2MDgwMTgyMDA2MDgwMTgwMTEyMAorOjEwREY4MDAwNDAwMDAwMDAwMDAwMDAwMDAwMDU0MjA0MjA4MTA4MjAzRAorOjEwREY5MDAwNDIwODEwODIwNDIwODEwODIwNDIwODExODIwNDIwODA1NworOjEwREZBMDAwMDgyMDQyMDgxMDgyMDQyMDgxMDgyMDQyMDgwMDgwMTFDNQorOjEwREZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0MjA1NDA4MTUwMjBBNAorOjEwREZDMDAwNTQwODE1MDIwNTQwODExMDIwNTQwQzE1NDIwMDQwODE3MAorOjEwREZEMDAwNTAyMDQ0MDgxMTAyMDU0MDgxMTAyMDE0MDgwNTAwMTE0QQorOjEwREZFMDAwNTAwMDAwMDAwMDAwMDAwMDAwMDEwMzAxNTBDMDU0MzA0OAorOjEwREZGMDAwMTUwODA1NDIwMTUwQzA1NDMwMTUwQzA1NDMwMTUwQzBBRQorOjEwRTAwMDAwNTQzMDE1MEMwNTQyMDE1MEMwNTQzMDE1MEMwNTQwMTAxOQorOjEwRTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwNDIwMDEwODAyNgorOjEwRTAyMDAwMDQyMDAxODgwMDYyMDAxMDgwMDQwMDExMDgwMDQyMDBGMgorOjEwRTAzMDAwMTA4MDA0MjAwMTA4MDA0MjAxMTA4MDA0MjAwMTAwMDAyQgorOjEwRTA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0MjAyMDA4MDgwMjAyNworOjEwRTA1MDAwMjAwODA4MDIwMjIwODA4MDIwMjAyODAwMDIwMjAwODA4MAorOjEwRTA2MDAwODAyMDIwMEEwODAyMDIwMDgwMDAyMDIwMDgwODAwMTFGOQorOjEwRTA3MDAwNTAwMDAwMDAwMDAwMDAwMDAwNDU0MDA1NjAwMTU4MDAwRAorOjEwRTA4MDAwNTYwMDA1ODAwNTYwMDE1ODA4NTYwMDE1ODAwNzYwMDI5QgorOjEwRTA5MDAwNTgwMDU2NDAxNTgwMDU2MDAzMTgwMDc2MDAxNTgwMTE2MQorOjEwRTBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MDAzNjAwMEQ4MDAzMAorOjEwRTBCMDAwMzYwMDBEODAwMTYwMDBEODBBMzYwMDBEODAwNTcwMDkxOQorOjEwRTBDMDAwRDgwMTM2MDAwRDgwMDM2MDAwRDgwMDU3MDAwRDgwMDA5NQorOjEwRTBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MzAwMTBDMDBGRgorOjEwRTBFMDAwNDMwMDEwQzAwMDMwMDEwQzAwNDMyMDEwQzAwNDYwMDE0OAorOjEwRTBGMDAwMEMwMDQzNDA1MEMxMDQzMDAxMEMwMDQ2MDAxMEMwMDAyOQorOjEwRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDBDMDBEMworOjEwRTExMDAwMDEwMDAwQzAwMDMwMDAwQzAwMDMwMDAwRDAwMDIwMDAwRgorOjEwRTEyMDAwMEMwMDAzNDAwMEMwMDAzMDAwMEQwMDAyMDAwMEMwMDBFMQorOjEwRTEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAxMzE0MDRDNTBDQworOjEwRTE0MDAwMTMxMDA0QzQwMTMxNDA0QzUwMTMxNDA0QzUxMTMxNDE2MworOjEwRTE1MDAwNEM1MDEzMTQwNEM1MDEzMTQwNEM1MDEzMTQwNEMwMDAzQQorOjEwRTE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMzA1NjhDMTVBMzBENAorOjEwRTE3MDAwNTY4QzExQTMwNDY4QzExQTMwNTY4QzExQTMwNTY4QzBDRgorOjEwRTE4MDAwNUEzMDQ2OEMxMUEzMDQ2OEMxNUEzMDE2OEMxNTgwMDA5MQorOjEwRTE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDA4MDA1NworOjEwRTFBMDAwMDIwMDAwODAwMDIwMDAwODAwMDIyMDAwOTAwMDIwMDBGMworOjEwRTFCMDAwMDgwMDAyNDAwMDgwMDAyMDAwMDkwMDAyMDAwMDgwMDBFQQorOjEwRTFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQ0NjIwMTE4ODQwNAorOjEwRTFEMDAwNDYyMTExODg0NDYyMTExODg0NDYwMTExODg0NDYyMTA1NgorOjEwRTFFMDAwMTg4NDQ2MjExMTg4NDQ2MjExMTg4NDA2MjExMTgwMDA4OAorOjEwRTFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NTAxMTU0MDQyMQorOjEwRTIwMDAwNTUwMTExNDA0NTUwMTExNDAwNDUwMTExNDA0NDUwMDA4MgorOjEwRTIxMDAwMTQwNDQ1MDAxNTQwNDQ1MDExMTQwNDU1MDExMTQwMDBFOAorOjEwRTIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIxNDIwODUwODJBOQorOjEwRTIzMDAwMTQyMDg1MDgyMTQyMDg1MDgyMDQyMDg1MDgyMTQyMDhDNAorOjEwRTI0MDAwNTA4MjE0MjAwNTA4MjE0MjA4NTA4MjE0MjA4NTAwMDBDNQorOjEwRTI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAxMDI4MDQwQTA1MQorOjEwRTI2MDAwMTAyODA0MEEwMTAyODA0MEEwMTAyODQwMEEwMTAyODAwMAorOjEwRTI3MDAwNDBBMDEwMjg0NDBBMDEwMjgwNDBBMDEwMjgwNDAwMDA5OQorOjEwRTI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAzNTMwMEQ0QzA5OAorOjEwRTI5MDAwMzUzMDBENEMwMTUzMDBENEMwMzUxMDBDNEMwMzUzMDBFNQorOjEwRTJBMDAwRDRDMDM1MzAwRDRDMDM1MzAwRDRDMDM1MzAwRDQwMDA4MAorOjEwRTJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA1NzIwMTVDODAwMgorOjEwRTJDMDAwMTcyMDA1QzgwNjcyMDE1QzgwNTcyMDE1QzgwMjcyMDEyQworOjEwRTJEMDAwNUM4MDU3MjAxNUM4MDU3MjAxNUM4MDM3MjAxMUMwMDA5MgorOjEwRTJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMzE4NDBDNjEyMzFBQQorOjEwRTJGMDAwODQ4QzIxMjMwODQ4QzYxMjMwODQwQzYxMjMxMDQ4QzI0NAorOjEwRTMwMDAwMTIzMTg0OEMwMTIzMDg0OEM2MTIzMTA0OEM2MTAwMDA0QworOjEwRTMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGNEZGRkQzRkY5RgorOjEwRTMyMDAwRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkYyMworOjEwRTMzMDAwRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDAwMDBDRAorOjEwRTM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwRTM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwRTM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwRTM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQ0RCMEZCNkMyQ0Q0MgorOjEwRTM4MDAwQjBCMzZDMkNEQjBCMzZDMkRGQjBCMzZDMkNEQjBCN0U3NgorOjEwRTM5MDAwQzJDREIwQjdGRDJDREIwQjM2QzJDREIwQjM2QzAwMDBFNAorOjEwRTNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMzNDNEZDRjEzMzM5QQorOjEwRTNCMDAwQzRDQ0YxMzMzQzRDQ0YxMzNGQzRDQ0YxMzMzQzRDRkZDNQorOjEwRTNDMDAwMTMzM0M0Q0ZGRDMzM0M0Q0NGMTMzM0M0Q0NGMTAwMDAyNgorOjEwRTNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQjdFNEVERjkzQjcwRAorOjEwRTNFMDAwRTRFQzc5M0IxRTRFREY5M0JGRTQ4REY5M0I3ODRFRkZBMgorOjEwRTNGMDAwOTNCN0U0RURGRDNCMUU0RURGOTNCNzg0RURGOTAwMDBDQgorOjEwRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyNzA0MDlDMTBBRAorOjEwRTQxMDAwMjcxQzA5QzEwMTMwNDAxQzEwNjcwNDA5QzEwMjcwNDE2QQorOjEwRTQyMDAwOUMxMTA3MTQwMUMxMDI3MDQwOUM1MDA3MUMwMUMwMDBFMAorOjEwRTQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDA1NzEwMTVDNDBDNQorOjEwRTQ0MDAwNTcxMDU1QzQwMTMxMDA1QzQwNTcxMDE1QzQwNTcxMDFDNworOjEwRTQ1MDAwREM0MDE3MTgxREM0MDU3MTA1NUM0MDU3MTAxREMwMDAzNQorOjEwRTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAxMjA4MDQ4MjBBMQorOjEwRTQ3MDAwMTIwMDA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTIwODBCQQorOjEwRTQ4MDAwNDgyMDEyMDgwNDgyMDEyMDgwNDg2MDEyMDgwNDgwMDA5RAorOjEwRTQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAwMDE4MDAwNAorOjEwRTRBMDAwMDYwMDQxODAwMDYwMDAxODAwNDYwMDAxODAwMDYwMDAwNgorOjEwRTRCMDAwMTAwMDA2MTAwMTgwMDA2MDAwMTgyMDQ2MTAwMTgwMDA0NgorOjEwRTRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA0NzIwMTFDODAzMQorOjEwRTREMDAwNDcyMDExQzgwNDcyMDExQzgwMDcyMDExQzgwNDczMDA3MgorOjEwRTRFMDAwMUM4MDQ3MjAxMUNDMDQ3MjAxMUM4MDQ3MjAxMUMwMDAwMQorOjEwRTRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAwMDE4MDBBNAorOjEwRTUwMDAwMDYwMDAxODQwMDYwMDAxODAwMDYwMDAxODAwMDYwNDBFMQorOjEwRTUxMDAwMTgwMDA2MDQwMTgxMDA2MDAwMTgwMDA2MTQwMTgwMDA0NAorOjEwRTUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA0MjIwMTA4ODAzNAorOjEwRTUzMDAwNDI3MDEwOEMwNDIyMDEwOEMwMDIyMDEwODgwNDIyMDBCRQorOjEwRTU0MDAwMDg4MDQyNTAxMDA4MDQyMjAxMDkwMDQyNDAxMDgwMDA1NworOjEwRTU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRTA0NEE4MTEyQTAwQworOjEwRTU2MDAwNDRBODExMkEwNDRBODExMkEwMDRBODExMkEwNDRCODA0RAorOjEwRTU3MDAwMTJBMDQ0ODgwMTJFMDQ0QTgxMTIyMDA0OTgwMTAwMDA1MAorOjEwRTU4MDAwMDAwMDAwMDAwMDAwMDAwMDA4QzAwRTAwNTMwMDE0QzA4RQorOjEwRTU5MDAwMDUzMDAxNEMwMDUzMDAxNEUwMDUzMDAxNEMwMDUzMDBERAorOjEwRTVBMDAwMDRDMDA1MzAwMDRDMDAwMzAwMTRDMDA1MzAwMDQwMTBDQQorOjEwRTVCMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzAwNDAwNDAwMDEwMDAzRgorOjEwRTVDMDAwMDQ1ODAxMDQwMDQwMDAxMDAwMDQwMDAxMDAwMDQxMDA1NAorOjEwRTVEMDAwMDQwMDQ0NTgxMDQ0MDAwMDAwMTE4MDA0NTAxMDQwMzBFMgorOjEwRTVFMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzA0MDAyMDAwMDgwMDBBMQorOjEwRTVGMDAwMjAwMDA4MDA0MDAwMDAwMDAwMjAwMDA4MDAwMjAwMDA4OQorOjEwRTYwMDAwODQwMDAwMDAwODQwMDIwMDAwODAwMDIwMDAwODQwMzAyNAorOjEwRTYxMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzA0MDAwNjAwMTE4MDA3OQorOjEwRTYyMDAwNDYwMDAxODAwNjYwMDE5ODAwNDYwMDExODAwNDYwMDFFOAorOjEwRTYzMDAwMTgwMDQ2MDAxMTgwMDQyMDAxMTgwMDY2MDAxMTgwMzA4NworOjEwRTY0MDAwMDAwMDAwMDAwMDAwMDAwMDEwMDE0MDAwNjAwMDk4MDA4MQorOjEwRTY1MDAwMjYwMDA5ODAwMjYwMDE5ODAwMDYwMDBDODAwMjYwMDAxQworOjEwRTY2MDAwMTgwMDA2MDAwMTgwMDI2MDAwOTg4MDA2MDAwMTgyMDAwOAorOjEwRTY3MDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MjAwMzA4MTBDMjBGNgorOjEwRTY4MDAwNDMwODEwQzIyNDMwODE4QzIwMDMwODEwQzIwNDIwODA2QgorOjEwRTY5MDAwMEMyMDAzMDgxOEMyMDQzMDgxMEMyMDQzMDgxOEMwMTE1NAorOjEwRTZBMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMzAwMDBDMDA5RQorOjEwRTZCMDAwMDMwMDAwQzA0MDMwMDAwQzAwMDMwMDAwODAwMDMwMDA2OAorOjEwRTZDMDAwMEMwMDAzMjAwMEMwMDAzMDAwMEMwMDAzMjAwMEMwMDAzQworOjEwRTZEMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDEwMjEwMzA4MDBDMjAwQgorOjEwRTZFMDAwMDMwODAwQzIwMDMwODAwQzIwMDMwODAwQzIwMTIwODAxMworOjEwRTZGMDAwMEMyMDAzMkMwMEMyMDAzMDgwMEMzMDQzMkMwMEMwMDBFMgorOjEwRTcwMDAwNDAwMDAwMDAwMDAwMDAwMDQwNDU0MjA0NjA4MTE4MjBFNQorOjEwRTcxMDAwNDYwODExODIwNDYwODAxODIwNDYwODExODIwNDYwODEzNgorOjEwRTcyMDAwMTgyMDQ2MEMxMUMyMDQ2MDgxMTgzMDQ2MEMxMUMwMTEyQgorOjEwRTczMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDE0MjAwMjA4MDA4MjAzRQorOjEwRTc0MDAwMDIyODAwODIwMDIwODAwODIwMDIwODAwODIwMDIwODAyOQorOjEwRTc1MDAwMDgyMDAyMDgwMTgyMDAyMDgwMDgyMDAzMDgwMTgwMDBCMAorOjEwRTc2MDAwMDAwMDAwMDAwMDAwMDAwMDUwMDE0MjA0NjA4MTE4MjBGOQorOjEwRTc3MDAwNDYyODExODIwNDYwODAxODIwNDYwODExODIwNDYwODFCNgorOjEwRTc4MDAwMTgyMDQ2MDgxMDgyMDQ2MDgxMTgyMDQzMDgxMDgwMDA3OQorOjEwRTc5MDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MDA0NTAwMTE0MDA0QgorOjEwRTdBMDAwNDUwMDExNDAyNTAwMDAxNDAwNDUwMDExNDAwNDUwMDFBRgorOjEwRTdCMDAwMTQwMDQ1MDAwMDQwMDQ1MDAxNDAwMDAxMDAwMDQyMTFENworOjEwRTdDMDAwNTAwMDAwMDAwMDAwMDAwMDQ4MDAwNjAwNDE4MDEwNjA3QQorOjEwRTdEMDAwMDQxODAxMDYwMDQxODAxMDYwMDQxODAxMDYwMDQxODAwMQorOjEwRTdFMDAwMTA2MDA0MTgwMTA2MDA0MTgwMTA2MDA0MTgwMTAwMDA0OAorOjEwRTdGMDAwMDAwMDAwMDAwMDAwMDAwMDQ4MDAwMjA1MDA4MDQwMjFFOQorOjEwRTgwMDAwMTAwODA0MDAwMTAwODA0MDIwMTAwODA0MDIwMTAwODA2QworOjEwRTgxMDAwNDAyMDUwMDgxNDAyMTEwMDg0NDAyMDEwMDgxNDAwMDAwOQorOjEwRTgyMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0NjAxNTE4MEQ0NjAxNworOjEwRTgzMDAwMzUxODBENDYwMzUxODBENDYwMTUxODBENDYwMzUxODBEQworOjEwRTg0MDAwNTQ2MDE1MTgwRDQ2MDM1MTgwRDQ2MDM1MTgwRDQwMTFFMQorOjEwRTg1MDAwNTAwMDAwMDAwMDAwMDAwMDAwMDE0NjA0NzE4MTFDNjBBRgorOjEwRTg2MDAwNDUxODExRDYwNDcxODExQzYwNjcxODExQzYwNDcxODFBNgorOjEwRTg3MDAwOUM2MDQ3MTgxMUM2MDQ3MTgxMUM2MDY3MTgxMUMwMDBBNAorOjEwRTg4MDAwMDAwMDAwMDAwMDAwMDAwMDQwMDU0NjAyNzE4MDlDNjAwRQorOjEwRTg5MDAwMjcxODA5QzYwMDcxODA5QzYwNjcxODA5QzYwMjcxODAzQworOjEwRThBMDAwOUM2MTI3MTgwMUM2MDI3MTgwOUM2MDA3MTgwMUMwMDA5NgorOjEwRThCMDAwMDAwMDAwMDAwMDAwMDAwMDUwNDU0NjA1NzE4MTVDNjBDQQorOjEwRThDMDAwNTcxODU1RDYwMTcxODE1QzYwNTcxODE1QzYwNTcxODFCRQorOjEwRThEMDAwNUM2MDU3MTgxOEM2MDU3MTgxNUM2MDQzMTgxODgyMTE3NgorOjEwRThFMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDQ1MjAxMjA4MDQ4MjAzOQorOjEwRThGMDAwMTI0ODA0OTAwMTIwODA0OTIwMTIwODA0ODIwMTI0ODBEQgorOjEwRTkwMDAwNDgyMDEyNDgwMDkyMDEyMDgwNDgyMDE3NDgwNDgwMDFDNgorOjEwRTkxMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDAwNjAwNjE4MDE4NjA1OAorOjEwRTkyMDAwMDYzQzAxODYwMDYxODAxODYwNDYxODAxODYwMDYxODBGRgorOjEwRTkzMDAwMTg2MDA2MTgwMTg2MDA2MTgwMTg2MDQ2MTgwMTgwMDE4MQorOjEwRTk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDE2MDA0NzgwMTFFMDA4QgorOjEwRTk1MDAwNDc4MDExRTAyNDc4MDExRTAwMDc4MDExRTAwNDc4MDE0RgorOjEwRTk2MDAwMUUwMDQ3ODAxMUUwMDQzODAxMUUwMDQ3ODAxMUMwMTFDRAorOjEwRTk3MDAwNTAwMDAwMDAwMDAwMDAwMDQwMDExMjAwNjA4MDE4MjBEQworOjEwRTk4MDAwMDY0ODAxOTIwMDYwODAxOTIwMDYwODAxODIwMDY0ODAxOAorOjEwRTk5MDAwMTgyMDA2NDgwMTkzMDAyMDgwMTgyMDA2NDgwMTgwMDBCNgorOjEwRTlBMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDE0MjA0MjA4MTA4MjAxNworOjEwRTlCMDAwNDIwODEwODIwNDIwODEwODIwMDIwODEwODIwNDIwODE2RAorOjEwRTlDMDAwMDgyMDQyMDgxMDhBMDQ2MDgxMDgyMDQyMDgxMDgwMDA1NAorOjEwRTlEMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MjA0NDA4MTEwMjA3QgorOjEwRTlFMDAwNDQwODExMDIwNDQwODExMDIwMDQwODExMDIwNDQwODFFRgorOjEwRTlGMDAwMTAyMTQ0MDgwMTAyMDQ1MDgxMTAyMDA0MDgwMTAwMTE3NAorOjEwRUEwMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDAwMzAwNTBDMDE0MzAxRgorOjEwRUExMDAwMDUwQzAxNDMwMDUwQzAxNDMwMDUwQzAxNDMwMDUwODAyOAorOjEwRUEyMDAwMTQzMDA1MDgwMTRBMDA1MEMwMTQzMDA1MDgwMTQwMDBBOAorOjEwRUEzMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDAwODAwNDIwMDEwODBCQworOjEwRUE0MDAwMDQyMDAxMDgwMDQyMDAxMDgwMDQyMDAxMDgwMDQyMDA1OAorOjEwRUE1MDAwMTA4MDA0MjAxMTAwMDA0MjAwMTA4MDA0MjAxMTAwMTBEQQorOjEwRUE2MDAwNDAwMDAwMDAwMDAwMDAwMDQwNDU0MjAyMDA4MDgwMjA3RAorOjEwRUE3MDAwMjAwODA4MDIwMDAwODA4MDIwMjAwODA4MDIwMjAwODA5MAorOjEwRUE4MDAwODAyMDIwMDgwODAyMDIwMDgwODAyMDIwMDgwODAwMTE1MQorOjEwRUE5MDAwNTAwMDAwMDAwMDAwMDAwMDQwMDE0MDAwNjAwMTE4MDAyQworOjEwRUFBMDAwNDYwMDExODAwNjYwMDExODAwNDYwMDExODAwNDYwMDFENAorOjEwRUFCMDAwMTgwMDQ2MDAxMTgwMDQ2MDAxMTgwMDY2MDAxMTgwMTBFMworOjEwRUFDMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDE0MDAyNjQwMDk4MDBDNworOjEwRUFEMDAwMjYwMDA5OTAwNjYwMDE5ODAwMjY0MDA5ODAwMjYwMDAyNworOjEwRUFFMDAwOTgwMDI2MDAwMDkwMDI2MDAwOTgwMDA3MDAwMTgwMDA1NgorOjEwRUFGMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU2MDA0MzgwNTBFMDBFMgorOjEwRUIwMDAwNDM4MDEwRTA0NDM4MDEwRTAwNDM4MDEwRTAwNDM4MDFENworOjEwRUIxMDAwMEUwMDQzODAxOEEwMDQzODAxMEUwMDQ2ODAxODgwMTFCMgorOjEwRUIyMDAwNTAwMDAwMDAwMDAwMDAwMDUwMDAwMTAwMzA0MDBDMTBCOAorOjEwRUIzMDAwMDMwNDAwQzUwMDMwNDAwQzEwMDMxNDAwQzEwMDMwNDAzNQorOjEwRUI0MDAwMEMxMDAzMDQwMDg3NDAzMDQwMEMxMDAyMDQwMDgwMDBDOQorOjEwRUI1MDAwMDAwMDAwMDAwMDAwMDAwMDQwMDQwNTAwMzU0MDBDNTA5QgorOjEwRUI2MDAwMDMxNDAwRDUwNDMxNDEwQzUwMDM1QzAwQzUwMDMxMDA5MgorOjEwRUI3MDAwMEM1MDAzMTAwMDk0MDAzMTQwMEM1MDQzMTAwMEMyMDBCMAorOjEwRUI4MDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MzA1MjBDMTE4MzA4RgorOjEwRUI5MDAwNDYwQzExOTcwMDYwQzAxODMwNDYxQzExODMwNDYwQzFGOAorOjEwRUJBMDAwMTgzMDUyMEMxMTg3MDQ2MEMxMTgzMDQ2MEMxMTgwMTFDNgorOjEwRUJCMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDEwMDAwMjE0MDA4MDA1QgorOjEwRUJDMDAwMDIwMDAwODAwMDIwMDAwODAwMDIwMDAwODAwMDIwMDBGOQorOjEwRUJEMDAwMDgwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMDAwMDgwMDAwMQorOjEwRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDE0ODQ0MjIwMTE4ODQ5OQorOjEwRUJGMDAwNDYyMTExOTgwMDYyMTAxODg0NDQyMDExODg0NDYyMTE0MworOjEwRUMwMDAwMTg4NDQyMjExMTgwNDQ2MjExMTg4NDQ2MjExMTgwMDAyOQorOjEwRUMxMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MDA0NTAxMTE0MDRCMgorOjEwRUMyMDAwNDUwMDExNDEwMDUwMTAxNDAwNDUwMTExNDA0NDUwMTE5RAorOjEwRUMzMDAwMTQwNDQ1MDEwMTQwNDQ1MDExMTQwNDA1MDEwMTQwMTEyMAorOjEwRUM0MDAwNTAwMDAwMDAwMDAwMDAwMDQwMDAwODIwNDIwODEwODIzMAorOjEwRUM1MDAwMDQyMDAxMDgyMDQyMDgxMDgyMDQyMDgxMDgyMDQyMDg3NAorOjEwRUM2MDAwMTA4MjA0MjI4MTA4MjA1MjA4MTA4QTA0MjI4MTAwMDBBOAorOjEwRUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwQTAxMDI4NDQwQTExRQorOjEwRUM4MDAwMTAyODAwMEEwMTAyODA0MEEwMTAyODA0MEEwMTAyODAxNgorOjEwRUM5MDAwNDBBMDEwMkMxNDBBMDAwMjgwNDBCMDEwMkMxNDAwMDA3OAorOjEwRUNBMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0RDAzNTM0MEQ0RDA1OAorOjEwRUNCMDAwMzUzMDBDNEQwMzUzNDBENEQwMzUzNDBENEQwMzUzNDAwMworOjEwRUNDMDAwRDREMDM1MzQwRDREMDIxMzQwRDREMDM1MzQwRDQwMTExRAorOjEwRUNEMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDEwODA0NzIwMTFDODA4OAorOjEwRUNFMDAwNDcyMDE1QzgwNDcyMDExQzgwNDcyMDExQzgwNDcyMTEwNgorOjEwRUNGMDAwMUM4MDQ3MjYxMUM4NDQ3MjAxMUM5MDY3MjYxMUMwMDA3MQorOjEwRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMzA4NDBDNjEyMzE4RgorOjEwRUQxMDAwODQ4QzAxMDMwODQ4QzYxMjMwODQwQzYxMjMxODQ4QzI1MQorOjEwRUQyMDAwMTIzMTg0OEMwMTAzMDg0OEM2MTIzMTA0OEMwMTAwMDBBMgorOjEwRUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGNEZGRkQzRkY3NQorOjEwRUQ0MDAwRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZGOQorOjEwRUQ1MDAwRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDAwMDBBMworOjEwRUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwRUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwRUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwRUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyREZCMEZCNkMyQ0RGNworOjEwRURBMDAwQjBCN0ZEM0ZGQjBCMzZDMkRGQjBGQjZDMkNEQjBCN0UzQworOjEwRURCMDAwQzJDREIwQjdGRDNGRkIwQjM2QzJDREY0QjdGRDAwMDBBRQorOjEwRURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzM0ZDNEZDRjEzMzNCMAorOjEwRUREMDAwQzRDRkZEM0ZGQzRDQ0YxMzNGQzRGQ0YxMzMzQzRDRkY5MAorOjEwRURFMDAwMTMzM0M0Q0ZGRDNGRkM0Q0NGMTMzM0Y0Q0ZGRDAwMDBGMQorOjEwRURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQjdFNEVERjkzQjdFMworOjEwRUUwMDAwRTRFREY5M0ZGRTRFREY5M0I3RTRFREY5M0I3RTRFQzdFQworOjEwRUUxMDAwOTNCN0U0RUM2MTIzMUU0RURGOTNCNzg0RUM2MTAwMDBFRQorOjEwRUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1MjRBMTRBMjRFQQorOjEwRUUzMDAwNjMwMTE0MDI0NDAwODEwQjI4NzEwMjEwODI0MDM4MTFEMgorOjEwRUU0MDAwNDEwNDUwMDgxODgyODczODMxQzMyQzUyMEExMDAwMDA0MAorOjEwRUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQ1MTI4MTQ0ODAwRQorOjEwRUU2MDAwNzEyMTFDMEEwNzFBODEwMkEwNTIyMDE0NDgwNzEyODEzRQorOjEwRUU3MDAwQzY4MDYwMjAwODg4NDcwMjAxNEE4MDcwMjAxMDAwMDA4OAorOjEwRUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkM1MkMwMTRBMDA0NAorOjEwRUU5MDAwNTIwOTFDODAwNzI0MjEwODA4NzEwMjEwODA0NTIwQTExNgorOjEwRUVBMDAwNDkyODUyMDExNEMwNDUwMDkxQzQwMDcyMDIxMDAwMDBBQworOjEwRUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjA3MjAwMUMxMDA2NworOjEwRUVDMDAwNzEwOTEwODAwNzAwMDEwMTAwNzAwODE4ODAwNzAwMDExNworOjEwRUVEMDAwODkyMDUyMDEwQzgwNDYzMDgxNDUwNDYwMDAxMDAwMDBGQQorOjEwRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMyMDIyMDAwODhBRQorOjEwRUVGMDAwMjAyMjAwMDhDMjIyODA0MDg4MDIyMjAwMDg4MjBBQTA0NAorOjEwRUYwMDAwMENBODAyMjIwMDA4ODAwQTAwODA4QzAyMjIwMDAwMDA2NworOjEwRUYxMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMjQzMDAwMDQwMjA0NAorOjEwRUYyMDAwMzAwODA0NDA0MTMwMTBDODAwMDAwMDAwMDIwMzAwMTAwNworOjEwRUYzMDAwQzAwMDExMDgwMEMyNDMxMDgwQzAyMDAxMDgwMDAyMDA3OAorOjEwRUY0MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwOEMzMEEyMEMxOEM3NworOjEwRUY1MDAwMTIyMjA0ODgwMTM2MjBDMzA4MTIyODA0MDgwMTA0MDA4NAorOjEwRUY2MDAwNEFBODIyMDEwNEM4NDEyNjMwQzA4ODAyMjEwMDAyMDBCQworOjEwRUY3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODAwMEExMEMxODAyNgorOjEwRUY4MDAwMzIyMTBDODg0MzAyODA0NDgwMTIyOTA0MDg0MjBBOTBFRQorOjEwRUY5MDAwOEE4MDAwMjAwNDQ4MDMwQTEwODI4MDAwMjAwMDAyMDBCQQorOjEwRUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTg3MDJBMTgwQUMwMQorOjEwRUZCMDAwNDMyOTE0OEE4NDAyQTEwMEFDNDEyMDEwMDgwNjI2MzE5RQorOjEwRUZDMDAwODBBNDYwMjAxNDRBNDQzMjgxODFBQzYwMkExODAyMDA3NworOjEwRUZEMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODA3MjIwMUM1ODBCMgorOjEwRUZFMDAwNzMyMTFDQzgwNzJBMDEwQzgwNzIyMDEwNDg0NzI2MTE4MworOjEwRUZGMDAwQzU4MDczMjAxQzg4MDcyQTExNDk4MDcwMjAxNDAyMDBFNAorOjEwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDQ1MTAzMUM5MEM5RAorOjEwRjAxMDAwNzMwMjFDQzA0NzA0MDEwQTBDNTEwQTEwODI0NzIwMzFCOAorOjEwRjAyMDAwQzgwMDcyMDIxQzQwMDUzMDExQzQwMDcyMDExODAyMDBCMQorOjEwRjAzMDAwMDAwMDAwMDAwMDAwMDAwMDA4MTAxMDA2MjQwMTQ1MDQzNAorOjEwRjA0MDAwNTE4MTE4OTA0NzE0MDEwNDA0NzE4ODEwMTIwNTM0MDE4RAorOjEwRjA1MDAwNDQwNDUxNDAxOEQwMDczODAxQzQwNDUyMDExNEMyMDRCQQorOjEwRjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3MDAyMTg5MEM2MworOjEwRjA3MDAwNjAwMTFDRDA0NTI0MDFDMTBDNDIwMTAwMDBDNTIwMzFCMworOjEwRjA4MDAwNDEwODQwMDAxODgwNDUwMDIxNDEwQzcwNDIxQ0MyMDAxQworOjEwRjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAxMUM4MEM0MjBFRAorOjEwRjBBMDAwMzEwODEwNDI0MjA4ODBDNjIwMzEwOTAwMjAwMzFDOTAxQworOjEwRjBCMDAwQzQyMDAxNDkwQzQyNDMxMDgwNDQyMDMxMDgxMDAwMDA1NAorOjEwRjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMDgzMjAzMDQ4MENFOQorOjEwRjBEMDAwMzI0MDEwOTA4MTI0MjBDODA0MzI0MDEwMjBDMzIwODA4OAorOjEwRjBFMDAwQzgwMDAyNEEwQ0EwMDEyNDEwQzgwODMyNDExMDAwMDBEOAorOjEwRjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA5MDAzMDAwMEM5MDRBMAorOjEwRjEwMDAwMzA0MDAwOTAwMDIwMDA4MDAwMTA0MDEwMDA0MDIwMTA4RgorOjEwRjExMDAwQzIwMDAwODAwODIwNDMwODEwODEwMDMyNDAwQ0MwMDQ2NworOjEwRjEyMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAzMDAwNDAwMDAwMDA0RgorOjEwRjEzMDAwMTAwMDAwRjAxMDIwMDAwMDAwMTAwMDAwRjAxMDgwNDBDRgorOjEwRjE0MDAwMDAwMDAwNDAwMEYwMTA5MDgwMDAwMDAwMDAwMEMwMDBBRgorOjEwRjE1MDAwMDAwMDAwMDAwMDAwMDAwMDNDM0MxMDgwOTA0MDAwMDBENworOjEwRjE2MDAwMDA4MDEwOTBBMDkwMDAwMDAwMDAwMDEwOTA4MDgwMDBBRgorOjEwRjE3MDAwMDAwMDAwMDAxMDkwODA5MDAwMDAwMDAwNDAxMDhGMEZGMQorOjEwRjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNEM2QkEwNkMwMUNGOQorOjEwRjE5MDAwNDkyODYxMTQyQjFDMEU0MDNGRDlCRkQ5QUFCQzFBNUY2NQorOjEwRjFBMDAwMDAxMEE2NTAzQjYxQjMyNUJDNDAxOUJGRkZFOTgwMDBBOQorOjEwRjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDkyMTQ5NDgwMEM3OQorOjEwRjFDMDAwMDczRjJCOTQ4NjE0ODQ4MDI4MDAwMDQ5MTQwNDg2MTI3QgorOjEwRjFEMDAwODAwMDQxMjczNEQwOTA4NDkyMDAyRDhBMjExRTgwMDAyNworOjEwRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QTI3NQorOjEwRjFGMDAwQjEwMTAxMDAwMDAwMDAwODg0QjE3ODI4MDAwMDAwMDA3RgorOjEwRjIwMDAwMDhCMTMyMTQxNDAwMDAwMDAwMDhBODIzNTQyMTQwMDA2MworOjEwRjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBGMgorOjEwRjIyMDAwMDAwMDAwMkZGRkZFRjdDMDAwMDAwMDAwMkZEN0ZFRUYwOAorOjEwRjIzMDAwQzAwMDAwMDAwMDNGRkY3RkZGQzAwMDAwMDAwMDAwMDA5MgorOjEwRjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBDMgorOjEwRjI1MDAwMDAwMDAwMEZFRjc3RkZDMDAwMDAwMDAwM0VGRkZFRUY1MAorOjEwRjI2MDAwNDAwMDAwMDAwMDNGRkZCRkZGNDAwMDAwMDAwMDAwMDAyMgorOjEwRjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDA5MgorOjEwRjI4MDAwMDAwMDAwM0ZGRkRGRkZDMDAwMDAwMDAwM0ZGRkZGRkY2NgorOjEwRjI5MDAwQzAwMDAwMDAwMDNGN0YyRkZGQzAwMDAwMDAwMDAwMDAwMgorOjEwRjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDA2MgorOjEwRjJCMDAwMDAwMDAwMUZGRkZGRUZDMDAwMDAwMDAwMUZFRkVGRUY5NgorOjEwRjJDMDAwQzAwMDAwMDAwMDJGRkZGRkZGQzAwMDAwMDAwMDAwMDA5MgorOjEwRjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDAzMgorOjEwRjJFMDAwMDAwMDAwM0ZGRkVGRkZDMDAwMDAwMDAwMkZBRkRGRkY3NgorOjEwRjJGMDAwQzAwMDAwMDAwMDNGRUZGRkY3QzAwMDAwMDAwMDAwMDA2QQorOjEwRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMQorOjEwRjMxMDAwMDAwMDAwM0ZERkRGRkZDMDAwMDAwMDAwM0ZGRkZGRkZGNQorOjEwRjMyMDAwQzAwMDAwMDAwMDFGRkZERkZGQzAwMDAwMDAwMDAwMDA2MQorOjEwRjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkM0MjRBMTAwMkMxNgorOjEwRjM0MDAwNTIwQjE4QzI4NjJDQTE4MDM4NjIwQTA4NDBDNDJDQTEzNgorOjEwRjM1MDAwMDgyODQyMEIxNDAwODUxNEExMDgyODQzMEExMDAwMDA1NQorOjEwRjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA0MTIwMTAzODBGQgorOjEwRjM3MDAwNjEyMDEwMDgwNzEyNDE0MjgwNzAyMDFDMDgwNDFBMDEwNQorOjEwRjM4MDAwODQ4MTQwMjAxODA4NDYzNjgxMDU4MDYzMjAxMDAwMDFFMgorOjEwRjM5MDAwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0MjQyMTAwMEMxOAorOjEwRjNBMDAwNTIwMjE0MDA4NzI4MjE4MTA4NzIwNjFDODI4NDIwMjFDMQorOjEwRjNCMDAwNDgxODQyMDM1NDgwNDUzMDI1NEExODUzMDIxMDAwMDE3MgorOjEwRjNDMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwODA0MjIwMTAxODA2RAorOjEwRjNEMDAwNDIyMDE4Qzg0NDIyMDE4MDg0NDIyMDFDODgwNDIyMDE1MworOjEwRjNFMDAwMDA4MDQwMjAxMDg4NDQzNjAxNDA4MDQxMDAxMDAwMDAxOQorOjEwRjNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwMDgyMDAwMEMxOQorOjEwRjQwMDAwMjIwMzA0NDA4MTAwMjA4NDA4MDMwMDAwODBDMjAwMjAwMQorOjEwRjQxMDAwQzQwODAwMDMwODg4ODIxNkEwNDA4ODMyMjI4MDAwMDBCOQorOjEwRjQyMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMjAxMDA4MDA0MjAyRAorOjEwRjQzMDAwMTAwODBDQzIxMjEwODRDODIyMTIwODA0MDIwMzAwODhBQgorOjEwRjQ0MDAwMDAyMTAwMEMwQzQwNDEzMDAwODQyMDEwMDgwMDAyMDAxNAorOjEwRjQ1MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODgyMDYyMDA4OEM2MAorOjEwRjQ2MDAwMzIyMjBDODg4MTI2MjA0RDg4MjMyMjgwODg4MzA2MjAyMgorOjEwRjQ3MDAwMDg4ODAwMjMwNDhBODEzNjIwNEI4ODMyMjIwMDAwMDA0RAorOjEwRjQ4MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODAyMDIwMDA5ODBERgorOjEwRjQ5MDAwMzIyMDA0ODg2MDIyMDA4OTg0MDAyMDA4OTgwMDAyMDAzRAorOjEwRjRBMDAwMDA4MDAwMjAwMDA4MDIzQTgwNDg4MDMwMjAwMDAyMDBERQorOjEwRjRCMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwQUM0MUFBMTgwQTg5MworOjEwRjRDMDAwNDEyQTEwQ0FDNzFBQTEwNEFENzEyQTE4NEFENDA2QjEzQworOjEwRjREMDAwMDBBODcxMkExMDA4ODQyNjI5MDZBQzUyMkExMDAyMDBCRQorOjEwRjRFMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODA0MkEwMTQxODAxQworOjEwRjRGMDAwNDIyMDFDMDAwNDBBMDEwOTg0NTEyMDFDODg0NDAyMDE5NgorOjEwRjUwMDAwMDg4MDQwMjAxMDRBNDcwMjAxNDg4MDYzMjAxMDAyMDAxMgorOjEwRjUxMDAwODAwMDAwMDAwMDAwMDAwMDA4MDAwMEM0MTAyMTgxMENFMQorOjEwRjUyMDAwNDEwMjBDMDBDMDIwNjEwRDBFNzIwMjFDNDBDNDA4MzE2MworOjEwRjUzMDAwMDQxODQyMDIxMDgwODcyMEIxQzQwQzUzMDIxMDAwMDA0RQorOjEwRjU0MDAwMDAwMDAwMDAwMDAwMDAwMDA4MTAyMDA3MjQwMUNDMDA4QgorOjEwRjU1MDAwNzI0MDE0MDAwNDI0MDEwODAwNzM0MTEwQzAwNzMwMTFFOAorOjEwRjU2MDAwQ0MwMDcxMDExMDAyMDQyMDgxNDYxMDQyNDAxMDAyMDRCOAorOjEwRjU3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMEM1MTAyMTAwMDg4NQorOjEwRjU4MDAwNjIwMjFDOTBDNTI0MjEwMDBDNzA4MjFDMTBDNDIwMzEyMgorOjEwRjU5MDAwODgwMjQwMDYxQzAwODUwMEExMDAwQzQwNDIwMDAyMDBDOQorOjEwRjVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjA1MTQ4MDAxMjA3RgorOjEwRjVCMDAwMzAwODBDNDIwNjAwODAwMTI0NTEwODBDMDI0MTAwODBGMgorOjEwRjVDMDAwNEMyMDAwMDgwQzMwNDIwNDAwMDQyMDAwMDgwMDAwMDAxOQorOjEwRjVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMEM2MjQyMDAwMEMwNQorOjEwRjVFMDAwMzJDMjA0ODBDNzMwMjAwMDBDNTNDMjA0MTBDMjI4NzBGRAorOjEwRjVGMDAwMEMwOTAyMDI0QzgwODEwNDMwMDkwQzAyNDIxMDAwMDAwOAorOjEwRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA4MDAxMzgwMDAyMDAyRgorOjEwRjYxMDAwMTI0MDBDMjAwNzM0MDQwMjAwNjMwMTA4MTAwMDI0MTA3QgorOjEwRjYyMDAwMDQwMDAyMDEwNDgyMDEwODgwMDkxMDAyNDAxMDAwMDQ1NQorOjEwRjYzMDAwMzAwMDAwMDAwMDAwMDAwMDAwMDAzMDIwMTA4MDAwMDBCQQorOjEwRjY0MDAwMjA4MDAwRjAyMDEwODAwMDAwMjA4MDAwRDA4MDAwMDA4QQorOjEwRjY1MDAwNDAwMDAwMDAwMDMwMTAwMDgwMDAwMDAwMDAwMENDNDA5RQorOjEwRjY2MDAwMDAwMDAwMDAwMDAwMDAwMDNDM0MxMDgwODAwMDAwMDAxMgorOjEwRjY3MDAwMDAwMDEwOTA4MDgwMDAwMDAwMDAwMDEwOTA4MDAwOTAzQQorOjEwRjY4MDAwODAwMDEwMDAwMDEwQTA4MDAwMDAwMDIwMDAxMDhDMDhGNgorOjEwRjY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNDFBQkUxNzgwMDBDNworOjEwRjZBMDAwM0U0MDI2NkZCQUUzMjQ4MDAwMTY1OUJEODI4MTgyRDg3RAorOjEwRjZCMDAwODAwMDAwMTk5OTg2ODA2NDgwQzAzRkQ5OTk4MDAwMDEzQworOjEwRjZDMDAwRjAwMDAwMDAwMDAwMDAwMDAwMDAwNjE2MDI5NDAwMTY4MgorOjEwRjZEMDAwQzAxNjk0ODI5MDE2MTA4MDIxMTgyODI4MDIwQTAyMDg2OQorOjEwRjZFMDAwODAwMDAwMDAwMDAyODI4MDE0MDAwMTE0MTFBMDQwMDA3QworOjEwRjZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODQ3RQorOjEwRjcwMDAwMDI4NEE4ODAwMDAwMDAwODkxMjI4NDQxQTIwODI0MDFGQworOjEwRjcxMDAwMzAwMDAwMDAwMDAwMDAwMDAwMDg4NDAxNDQwMTAwMDBFNworOjEwRjcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBERAorOjEwRjczMDAwMDAwMDAwM0VGN0ZGRjdDMDAwMDAwMDAwMkZFN0I3RkYxMgorOjEwRjc0MDAwQzAwMDAwMDAwMDJGRkU3RkY3QzAwMDAwMDAwMDAwMDA5NgorOjEwRjc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBBRAorOjEwRjc2MDAwMDAwMDAwMzZCRkZFREZDMDAwMDAwMDAwMEZGN0RGRkYyMworOjEwRjc3MDAwQzAwMDAwMDAwMDNEQjdCN0VGQzAwMDAwMDAwMDAwMDA2RgorOjEwRjc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDA3RAorOjEwRjc5MDAwMDAwMDAwMUZERkRGRkZDMDAwMDAwMDAwMEZERkRGRkYwMQorOjEwRjdBMDAwQzAwMDAwMDAwMDNGRUZGRkZGQzAwMDAwMDAwMDAwMDBBRAorOjEwRjdCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDA0RAorOjEwRjdDMDAwMDAwMDAwM0ZCRjdGRkZDMDAwMDAwMDAwM0ZGRjdGRjc0OQorOjEwRjdEMDAwQzAwMDAwMDAwMDNGREZGRkZGQzAwMDAwMDAwMDAwMDA4RAorOjEwRjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDAxRAorOjEwRjdGMDAwMDAwMDAwM0Y3RUZGRkY0MDAwMDAwMDAwM0ZGRUZGRkZEMworOjEwRjgwMDAwQzAwMDAwMDAwMDNGRkZGRkZGQzAwMDAwMDAwMDAwMDAzQworOjEwRjgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBFQworOjEwRjgyMDAwMDAwMDAwMzdGRjZGRkZDMDAwMDAwMDAwM0ZGRkZGRkYzOAorOjEwRjgzMDAwQzAwMDAwMDAwMDNGRkZGRkZGQzAwMDAwMDAwMDAwMDAwQworOjEwRjg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOAorOjEwRjg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjEwRjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OAorOjEwRjg3MDAwMDAwMDAwMDAwMDAwMDAwMDMwMDAyMDAxMDIwMDAwMDAzNQorOjEwRjg4MDAwMzAwMDQzMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOQorOjEwRjg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjEwRjhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OAorOjEwRjhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OAorOjEwRjhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOAorOjEwRjhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjEwRjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOAorOjEwRjhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDAwMDAwMDAwMzBFOAorOjEwRjkwMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNworOjEwRjkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjEwRjkyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENworOjEwRjkzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNworOjEwRjk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNworOjEwRjk1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMDBDNworOjEwRjk2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NworOjEwRjk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NworOjEwRjk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwRjk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjEwRjlBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NworOjEwRjlCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAzMEMwMzA0NworOjEwRjlDMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwRjlEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjEwRjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNworOjEwRjlGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNworOjEwRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjEwRkExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDAwMDAwMDAwMEZDOAorOjEwRkEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENgorOjEwRkEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNgorOjEwRkE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwRkE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjEwRkE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NgorOjEwRkE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDAwMDAwMDAwM0Y0OAorOjEwRkE4MDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwRkE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjEwRkFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NgorOjEwRkFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NgorOjEwRkFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNgorOjEwRkFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDMwQzAzMEMwMEYyOAorOjEwRkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNgorOjEwRkFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwRkIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwRkIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENQorOjEwRkIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTM2QjAwQzAwMENGMkM4QworOjEwRkI0MDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwRkI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjEwRkI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwRkI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwRkI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwRkI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMDA0NworOjEwRkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwRkJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwRkJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwRkJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwRkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwRkJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDBGMDAwRjAwMzBDNworOjEwRkMwMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwRkMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwRkMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwRkMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwRkM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwRkM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAzRkMwMDBBNgorOjEwRkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwRkM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwRkM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwRkM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwRkNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwRkNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDNGQzAzRkMwMzAyNgorOjEwRkNDMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwRkNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwRkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwRkNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwRkQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwRjAwMEZBNworOjEwRkQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwRkQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwRkQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwRkQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwRkQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwRkQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDBGMDAwRjAwM0YyNworOjEwRkQ4MDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwRkQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwRkRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwRkRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwRkRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwRkREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDNGQzAzRkMwMEYwNworOjEwRkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwRkRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwRkUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwRkUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwRkUzMDAwMDAwMDAwMDAwMDAwMDAwMDA2MzM1RDgwQzAwMEZEQUM0MworOjEwRkU0MDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwRkU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwRkU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwRkU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwRkU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwRkU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwRkVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwRkVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwRkVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwRkVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwRkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwRkVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDAwMDAwMDAwMzBFMgorOjEwRkYwMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwRkYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwRkYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjEwRkYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwRkY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwRkY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMDBDMQorOjEwRkY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwRkY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwRkY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwRkY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwRkZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwRkZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAzMEMwMzA0MQorOjEwRkZDMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwRkZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwRkZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwRkZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwODAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwODAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDAwMDAwMDAwMEYzMgorOjEwODAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwODA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwODA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwODA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwODA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDAwMDAwMDAwM0ZCMgorOjEwODA5MDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwODBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwODBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwODBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwODBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwODBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDMwQzAzMEMwMEY5MgorOjEwODBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwODExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwODEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwODEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwODE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTM3NEMwQzAwMEYwRUM0QworOjEwODE1MDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwODE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwODE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwODE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwODE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwODFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMDBCMQorOjEwODFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwODFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwODFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwODFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwODFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDBGMDAwRjAwMzAzMAorOjEwODIxMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwODIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwODIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwODI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwODI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwODI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAzRkMwMDAxMAorOjEwODI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwODI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwODI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwODJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwODJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwODJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk4NjEwODAzMDgyM0Q5MAorOjEwODJEMDAwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwODJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwODJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwODMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwODMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwRjAwMEYxMQorOjEwODMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwODM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwODM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwODM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwODM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwODM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDBGMDAwRjAwM0Y5MQorOjEwODM5MDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwODNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwODNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwODNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwODNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwODNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDNGQzAzRkMwMEY3MQorOjEwODNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwODQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwODQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwODQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwODQ0MDAwMDAwMDAwMDAwMDAwMDAwMDM3NjUyNUU0ODAwMEIwODhDRgorOjEwODQ1MDAwQUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwODQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwODQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjEwODQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQworOjEwODRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQworOjEwODRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwODRDMDAwMDAwMDAwMDAzMDAwMjAwMTAyMDIwMDAwMzAwMDQzMDBFNAorOjEwODREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwODRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwODRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjEwODUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QgorOjEwODUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QgorOjEwODUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQgorOjEwODU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjEwODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQgorOjEwODU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQgorOjEwODU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQgorOjEwODU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjEwODU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQgorOjEwODVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQgorOjEwODVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQgorOjEwODVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjEwODVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QgorOjEwODVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QgorOjEwODVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QgorOjEwODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjEwODYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QQorOjEwODYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QQorOjEwODYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQQorOjEwODY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjEwODY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQQorOjEwODY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQQorOjEwODY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQQorOjEwODY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjEwODY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQQorOjEwODZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQQorOjEwODZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQQorOjEwODZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjEwODZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QQorOjEwODZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QQorOjEwODZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QQorOjEwODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjEwODcxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OQorOjEwODcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OQorOjEwODczMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOQorOjEwODc0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjEwODc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOQorOjEwODc2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOQorOjEwODc3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOQorOjEwODc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjEwODc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOQorOjEwODdBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOQorOjEwODdCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOQorOjEwODdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjEwODdEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OQorOjEwODdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OQorOjEwODdGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OQorOjEwODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjEwODgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OAorOjEwODgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OAorOjEwODgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOAorOjEwODg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjEwODg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOAorOjEwODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOAorOjEwODg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOAorOjEwODg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjEwODg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOAorOjEwODhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOAorOjEwODhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOAorOjEwODhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjEwODhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OAorOjEwODhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OAorOjEwODhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OAorOjEwODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjEwODkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NworOjEwODkyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NworOjEwODkzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNworOjEwODk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjEwODk1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNworOjEwODk2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNworOjEwODk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNworOjEwODk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjEwODk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENworOjEwODlBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNworOjEwODlCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNworOjEwODlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjEwODlEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NworOjEwODlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NworOjEwODlGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjEwOEExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NgorOjEwOEEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NgorOjEwOEEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNgorOjEwOEE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjEwOEE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNgorOjEwOEE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwOEE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjEwOEE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjEwOEE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENgorOjEwOEFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNgorOjEwOEFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwOEFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjEwOEFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NgorOjEwOEFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NgorOjEwOEFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NgorOjEwOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwOEIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwOEIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwOEIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwOEI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwOEI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwOEI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwOEI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwOEI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwOEI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENQorOjEwOEJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNQorOjEwOEJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNQorOjEwOEJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjEwOEJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwOEJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwOEJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwOEMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwOEMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwOEMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwOEM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwOEM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwOEM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwOEM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwOEM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwOENBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwOENCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwOENDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwOENEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwOENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwOENGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwOEQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwOEQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwOEQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwOEQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwOEQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwOEQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwOEQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwOEQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwOEQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwOERBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwOERCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwOERDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwOEREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwOERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwOERGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwOEUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwOEUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwOEUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwOEU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwOEU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwOEU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwOEU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwOEU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwOEU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwOEVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwOEVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwOEVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwOEVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwOEVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwOEVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwOEYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwOEYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwOEYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwOEY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwOEY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwOEY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwOEY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwOEY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwOEY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjEwOEZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwOEZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwOEZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwOEZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwOEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwOEZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwOTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwOTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwOTAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwOTA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwOTA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwOTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwOTA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwOTA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwOTA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwOTBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwOTBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwOTBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwOTBEMDAwMzAwMDAwMDEwMDAwNDQ3MjMwMDA4MDAxMDAwMDAwMDNGNQorOjEwOTBFMDAwMzAwMDQwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwOTBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwOTExMDAwMDAwMDAwMDAzMDAwODAwMTAwMDAwMDA1MzAwMEEwMDFDOAorOjEwOTEyMDAwMDAwMDAwMDAzMDAwMDAwMTAwMDBFMTVBMDAwMDAwMDBEMworOjBDOTEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzowMDAwMDAwMUZGCisvLyBWRVJTSU9OPSAxLjAuMC4xOTEKKy8vIERBVEU9IDIwMDJvY3QyOApkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pNjIvbG9hZGVyLkhFWCBiL2Zpcm13YXJlL2VtaTYyL2xvYWRlci5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGVkYjJkYwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTYyL2xvYWRlci5IRVgKQEAgLTAsMCArMSwxMDcgQEAKKzowMzAwMDAwMDAyMDI4NzcyCis6MDMwMDQzMDAwMjA0MDBCNAorOjEwMDEwMDAwRTRGRkZFQzIyMEQyRTg0M0Q4MjA5MDdGQUI3NEZGRjAxQQorOjEwMDExMDAwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0Y5NTc0QzBFMworOjEwMDEyMDAwRjA5MDdGOUVGMDkwN0Y5OEYwRTQ5MDdGOTRGMDkwN0YyNQorOjEwMDEzMDAwOUQ3NEZGRjA5MDdGOTc3NEEwRjA5MDdGOTNFMDU0RkM0MworOjEwMDE0MDAwRjA5MDdGOUM3NDAzRjBFNDkwN0Y5NkYwOTA3RkFGRTA5NgorOjEwMDE1MDAwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGMEZCRjAwMDEzQworOjEwMDE2MDAwMEVCRTA3RjhCRjA4RjUyMDIwNDI3NTE0MDA3NTEzMDA3NQorOjEwMDE3MDAwNzUxMjAwNzUxMTAwN0Y0ODdFOTI3RDAwN0MwMEFCMTRFMworOjEwMDE4MDAwQUExM0E5MTJBODExQzMxMjAzRUQ1MERCMjAyMEQ4N0FCQworOjEwMDE5MDAwMDA3OTAwNzgwMEU1MTQyNDAxRjUxNEVBMzUxM0Y1MTMwRAorOjEwMDFBMDAwRTkzNTEyRjUxMkU4MzUxMUY1MTE4MENBMzAyMEZEMTIzQgorOjEwMDFCMDAwMDFDNzUwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQ2MQorOjA2MDFDMDAwMDJGMEMyMjA4MEU2RkYKKzowMTAxQzYwMDIyMTYKKzoxMDAxQzcwMDkwN0ZFOUUwMjQ1QjYwNjAyNDAyNjAwMzAyMDI4NTkwNkYKKzoxMDAxRDcwMDdGRUFFMDc1MEEwMEY1MEJBM0UwRkVFNEVFNDIwQTkwMjEKKzoxMDAxRTcwMDdGRUVFMDc1MTUwMEY1MTZBM0UwRkVFNEVFNDIxNUU1OTcKKzoxMDAxRjcwMDE2NDUxNTcwMDMwMjAyODVFNDkwN0ZDNUYwOTA3RkI0MjEKKzoxMDAyMDcwMEUwMjBFM0Y5OTA3RkM1RTBGNTBDMTIwMzEzQUYwQzdFRjUKKzoxMDAyMTcwMDAwRUYyNTBCRjUwQkVFMzUwQUY1MEFDM0U1MTY5RkY1M0EKKzoxMDAyMjcwMDE2RTUxNTlFRjUxNTgwQzc5MDdGRUFFMDc1MEEwMEY1N0IKKzoxMDAyMzcwMDBCQTNFMEZFRTRFRTQyMEE5MDdGRUVFMDc1MTUwMEY1QjEKKzoxMDAyNDcwMDE2QTNFMEZFRTRFRTQyMTVFNTE2NDUxNTYwMzBFNDkwOEUKKzoxMDAyNTcwMDdGQzVGMDkwN0ZCNEUwMjBFM0Y5OTA3RkM1RTBGNTBDMEYKKzoxMDAyNjcwMDEyMDMyQkFGMEM3RTAwRUYyNTBCRjUwQkVFMzUwQUY1Q0QKKzowRjAyNzcwMDBBQzNFNTE2OUZGNTE2RTUxNTlFRjUxNTgwQ0FDMzU3Cis6MDEwMjg2MDAyMjU1Cis6MEMwMjg3MDA3ODdGRTRGNkQ4RkQ3NTgxMjkwMjAyQ0VENAorOjEwMDI5MzAwMDIwMTAwRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI4MAorOjEwMDJBMzAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM2QworOjEwMDJCMzAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYzQgorOjEwMDJDMzAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMDQ2RUU0N0U1OQorOjEwMDJEMzAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMzMAorOjEwMDJFMzAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGNworOjEwMDJGMzAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0EyMgorOjEwMDMwMzAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVEOQorOjEwMDMxMzAwRTUwQ0ZGRTUwQkY1ODJFNTBBRjU4Mzc1OTI3RTc0QzA2MworOjA4MDMyMzAwRjhFMjA4RjBBM0RGRkEyMjYyCis6MTAwMzJCMDA5MDdGOTY4NTgzOTJBODgyNzkwMjkwMDAwMEUwQjQwMEJBCis6MTAwMzNCMDAwRDc0MDFGMDkwN0Y5N0UwNTQ3RkYwNDQ4MEYwRTUwQzUyCis6MTAwMzRCMDBGRjkwN0VDMEUwRjUyOEU0QTI0NzMzRjI2OUYyRTRBMjA1Cis6MTAwMzVCMDA0NjMzRjI2OUYyRTRBMjQ1MzNGMjY5RjJFNEEyNDQzMzg0Cis6MTAwMzZCMDBGMjY5RjJFNEEyNDMzM0YyNjlGMkU0QTI0MjMzRjI2OTk2Cis6MTAwMzdCMDBGMkU0QTI0MTMzRjI2OUYyRTRBMjQwMzNGMjY5RjJBMzUwCis6MDMwMzhCMDBERkMyMjJBQworOjEwMDM4RTAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0ZCMQorOjBCMDM5RTAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMkJBCis6MTAwM0E5MDBDMEUwQzA4M0MwODJEMjIwNTM5MUVGOTA3RkFCNzQwMTJCCis6MDgwM0I5MDBGMEQwODJEMDgzRDBFMDMyQzUKKzoxMDAzQzEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDJGMEQwNDQKKzowNjAzRDEwMDgyRDA4M0QwRTAzMjZGCis6MTAwM0Q3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjBEMDIwCis6MDYwM0U3MDA4MkQwODNEMEUwMzI1OQorOjEwMDNFRDAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA2NgorOjAxMDNGRDAwMjJERAorOjAxMDNGRTAwMzJDQworOjAxMDNGRjAwMzJDQgorOjEwMDQwMDAwMDIwM0E5MDAwMjAzQzEwMDAyMDM4RTAwMDIwNDU4MDA4NworOjEwMDQxMDAwMDIwM0Q3MDAwMjAzRkUwMDAyMDNGRjAwMDIwNDg0MDA2RgorOjEwMDQyMDAwMDIwNDg1MDAwMjA0ODYwMDAyMDQ4NzAwMDIwNDg4MDA5QQorOjEwMDQzMDAwMDIwNDg5MDAwMjA0OEEwMDAyMDQ4QjAwMDIwNDhDMDA3QQorOjEwMDQ0MDAwMDIwNDhEMDAwMjA0OEUwMDAyMDQ4RjAwMDIwNDkwMDA1QQorOjA4MDQ1MDAwMDIwNDkxMDAwMjA0OTIwMDc1Cis6MTAwNDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA4RjBEMEE2Cis6MDYwNDY4MDA4MkQwODNEMEUwMzJENworOjEwMDQ2RTAwMDIwQTAwMEYwMTBDMTEwNDBEMDAwMDAwMDA0MTAwMDBGMworOjAxMDQ3RTAwMDA3RAorOjA0MDQ3RjAwMDIxNzAwMDA2MAorOjAxMDQ4MzAwMDA3OAorOjAxMDQ4NDAwMzI0NQorOjAxMDQ4NTAwMzI0NAorOjAxMDQ4NjAwMzI0MworOjAxMDQ4NzAwMzI0MgorOjAxMDQ4ODAwMzI0MQorOjAxMDQ4OTAwMzI0MAorOjAxMDQ4QTAwMzIzRgorOjAxMDQ4QjAwMzIzRQorOjAxMDQ4QzAwMzIzRAorOjAxMDQ4RDAwMzIzQworOjAxMDQ4RTAwMzIzQgorOjAxMDQ4RjAwMzIzQQorOjAxMDQ5MDAwMzIzOQorOjAxMDQ5MTAwMzIzOAorOjAxMDQ5MjAwMzIzNworOjEwMTEwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgwMTAxMDAwMTAxMDIwMworOjEwMTExMDAwMDAwMTA5MDIyMDAwMDEwMTAzQTAwMDA5MDQwMDAwMDJFRgorOjEwMTEyMDAwRkYwMDAwMDQwNzA1ODIwMjQwMDAwMDA3MDUwMjAyNDA5QworOjEwMTEzMDAwMDAwMDA0MDMwOTA0MjYwMzQxMDA2RTAwNjMwMDY4MDBGOAorOjEwMTE0MDAwNkYwMDcyMDAyMDAwNDMwMDY4MDA2OTAwNzAwMDczMDBBNworOjEwMTE1MDAwMkMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjgwMzQ2MDA4QQorOjEwMTE2MDAwNjkwMDcyMDA2RDAwNzcwMDYxMDA3MjAwNjUwMDIwMDA2OAorOjEwMTE3MDAwNDYwMDcyMDA2MTAwNkQwMDY1MDA1NzAwNkYwMDcyMDA0QworOjEwMTE4MDAwNkIwMDczMDAyQTAzNDMwMDZGMDA2RTAwNjYwMDY5MDA2NQorOjEwMTE5MDAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwNkYwMDZFMDBFNgorOjEwMTFBMDAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIyMDM4MworOjEwMTFCMDAwNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNjEwMDYzMDAwMworOjEwMTFDMDAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMworOjAyMTFEMDAwMDAwMDFECis6MDAwMDAwMDFGRgorLyoKK1NvdXJjZTogRU1JTE9BRC5IRVgKK1ZFUlNJT049MS4wLjIuMDAyCitEQVRFPTEwLjAxLjIwMDIKK0VNSTI2XzYyCisqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pNjIvbWlkaS5IRVggYi9maXJtd2FyZS9lbWk2Mi9taWRpLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMmEwZDY1Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pNjIvbWlkaS5IRVgKQEAgLTAsMCArMSwxMjY2IEBACis6MDMwMDAwMDAwMjQ2QjlGQworOjAzMDAwMzAwMDIwRkZERUMKKzowMzAwMEIwMDAyNEUwRjkzCis6MDMwMDEzMDAwMjE3RkRENAorOjAzMDAxQjAwMDI0RTEyODAKKzowMzAwMjMwMDAyNERFRjlDCis6MDMwMDJCMDAwMjQ4MDA4OAorOjAzMDAzMzAwMDI0REU2OTUKKzowMzAwM0IwMDAyNERGNjdECis6MDMwMDQzMDAwMjQ5MDA2RgorOjAzMDA0QjAwMDI0RTAzNUYKKzowMzAwNTMwMDAyNDhGQTY2Cis6MDMwMDVCMDAwMjRERkQ1NgorOjAzMDA2MzAwMDI0RTA3NDMKKzoxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MTEwMTAwMDEwMTAyRkYKKzoxMDA1MTAwMDAwMDEwOTAyMDgwMjA1MDEwMDgwMzIwOTA0MDAwMDAwMDAKKzoxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKKzoxMDA1MzAwMDAyMDEwMTAxMDAwMjAwMDAwMDAwMEQyNDA2MDUwMTAyNzUKKzoxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDkyNDAzMDIwNDAzMDAwNTAwNkEKKzoxMDA1NTAwMDBDMjQwMjAzMDUwMjAwMDYwMDAwMDAwMDE1MjQwNjA2MTQKKzoxMDA1NjAwMDAzMDIwMDAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwNzQKKzoxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKKzoxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKKzoxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKKzoxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKKzoxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNTAwMDkwNDAxODUKKzoxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMTEyNDAyQkYKKzoxMDA1RDAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NDkKKzoxMDA1RTAwMDBBMDU0NjAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1RTgKKzoxMDA1RjAwMDhGMDEwMzAwMDEwNTAwMDkwNDAyMDAwMDAxMDIwMDAwNTAKKzoxMDA2MDAwMDA5MDQwMjAxMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwQTUKKzoxMDA2MTAwMDBFMjQwMjAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1NTIKKzoxMDA2MjAwMDhDMDU0QzAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0QUUKKzoxMDA2MzAwMDAyMDIwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAwRTI0NEYKKzoxMDA2NDAwMDAyMDEwNjAzMTgwMjQ0QUMwMDgwQkIwMDA5MDU4QzA1QkEKKzoxMDA2NTAwMDcyMDMwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMjAzRTMKKzoxMDA2NjAwMDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMUQKKzoxMDA2NzAwMDAyMDIxMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMjYKKzoxMDA2ODAwMDA1ODQwMTAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyQTEKKzoxMDA2OTAwMDA0MDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyRUEKKzoxMDA2QTAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NzgKKzoxMDA2QjAwMDhDMDU0NjAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MjQKKzoxMDA2QzAwMDAzMDAwMDAxMDEwMDAwMDkyNDAxMDAwMTA5MDAwMTA0RTgKKzoxMDA2RDAwMDA5MDQwNDAwMDIwMTAzMDAwMDA3MjQwMTAwMDEyNDAwQjIKKzoxMDA2RTAwMDA2MjQwMjAxMDcwMDA5MjQwMzAyMDgwMTA3MDEwMDA2OEQKKzoxMDA2RjAwMDI0MDIwMjA5MDAwOTI0MDMwMTBBMDEwOTAxMDAwOTA1NzUKKzoxMDA3MDAwMDAxMDIwNDAwMDAwMDAwMDUyNTAxMDEwNzA5MDU4MTAyMUUKKzoxMDA3MTAwMDA0MDAwMDAwMDAwNTI1MDEwMTBBMDQwMzA5MDQxODAzNzAKKzoxMDA3MjAwMDQ1MDA2RDAwNjEwMDY3MDA2OTAwNjMwMDIwMDA0NzAwMUMKKzoxMDA3MzAwMDZEMDA2MjAwNDgwMDIyMDM0NTAwNkQwMDYxMDA2NzAwMDMKKzoxMDA3NDAwMDY5MDA2MzAwMjAwMDQ1MDA0RDAwNDkwMDIwMDAzNjAwOEMKKzoxMDA3NTAwMDdDMDAzMjAwMjAwMDZEMDAyQTAzNDMwMDZGMDA2RTAwMTEKKzoxMDA3NjAwMDY2MDA2OTAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwMkUKKzoxMDA3NzAwMDZGMDA2RTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNkMKKzoxMDA3ODAwMDY3MDAyMjAzNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNzUKKzoxMDA3OTAwMDYxMDA2MzAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUKKzowNjA3QTAwMDZFMDA2NzAwMDAwMDdFCis6MTAwN0E2MDBFNDkwNzY2NkYwMTI0NEFEMjAyNjEzOTA3NjY2RTBDMzk4Cis6MTAwN0I2MDA5NDAyNTAwQUUwMDRGMEQyNDIxMjRCN0Y4MEVBMzAyNkJGCis6MTAwN0M2MDAwNTEyMjgwMUMyMjYzMDI1MkI5MDc2OTZFMDU0RkNGMEJGCis6MTAwN0Q2MDA5MDgwMDNGMDEyMTQ5NjkwNzY5NkUwNDQwM0YwOTA4MDkxCis6MTAwN0U2MDAwM0YwRTQ5MDc2NjdGMDkwNzY2N0UwMDRGMEUwQjQ0QkFGCis6MEEwN0Y2MDBGNjEyNDdGQTEyNDExQjgwQzUyMkRCCis6MTAwODAwMDBFNDkwNzYzMUYwOTA3NjMxRTBGRjc1RjAwM0E0MjQwRjg4Cis6MTAwODEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDRBCis6MTAwODIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjMxRTAwNEYwODBENTUxCis6MTAwODMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0IxCis6MTAwODQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjMzRjAyNDI5Cis6MTAwODUwMDBGMDYwMEEyNDBFNjAwMjgxODcxMjRCQzcyMjkwN0ZFRDYwCis6MTAwODYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM3NzQwMTQ1Cis6MTAwODcwMDBGMDkwNzYzOTc0MDNGMDkwNzYyMUYwRTQ5MDc2MjBGMEQxCis6MTAwODgwMDA5MDdGRUFFMEY0NjAyRjkwNzYyMEUwRkY3NUYwMEFBNEY0Cis6MTAwODkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDVBCis6MTAwOEEwMDBFRTZENjAxMjkwNzYyMUUwRkVFRkMzOUU1MDA4OTA3NkM4Cis6MTAwOEIwMDAyMEUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkU1Cis6MTAwOEMwMDAxODc0MDZGMDkwNzYzNzc0MDRGMDkwNzYzOTc0MEFGMDU0Cis6MTAwOEQwMDA5MDc2MjFGMDkwNzYyMDc0MDNGMDkwN0ZFQUUwRjQ2MDQ3Cis6MTAwOEUwMDAyRjkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDY0Cis6MTAwOEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3Njg0Cis6MTAwOTAwMDAyMUUwRkVFRkMzOUU1MDA4OTA3NjIwRTAwNEYwODBEMUY1Cis6MTAwOTEwMDA5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUVECis6MTAwOTIwMDBGNTgzRTA5MDcyMjlGMEU0OTA3NjNCRjA5MDc2MjFFMDM4Cis6MTAwOTMwMDBGRUVGNkU3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkYwCis6MTAwOTQwMDBFMDE0NjAxMzE0NzAwMjIxRTIyNDAyNjAwMjgxN0Y5MDlGCis6MTAwOTUwMDA3RkI0RTA0NDAxRjAyMjkwN0ZFOUUwMTQ3MDdDOTA3RjQ2Cis6MTAwOTYwMDBFQUUwRjQ3MDQ4OTA3NjM3RTA5MDc2MjBGMDkwNzYzOTlGCis6MTAwOTcwMDBFMEZFOTA3NjIwRTBGREMzOUU1MDJCOTA3NjNCRTBGRTlCCis6MTAwOTgwMDAwNEYwNzRDMDJFRjU4MkU0MzQ3RUY1ODNFMEZFRUQ3NTRDCis6MTAwOTkwMDBGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFRUYwOTA3NjhBCis6MTAwOUEwMDAyMEUwMDRGMDgwQzc5MDc2M0Y3NDAxRjAyMjkwN0VDMDcyCis6MTAwOUIwMDBFMEZFRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4MzBDCis6MTAwOUMwMDBFRUYwRTBCNDAxMDg5MDc2M0U3NDAxRjA4MDA1RTQ5MDBBCis6MTAwOUQwMDA3NjNFRjA5MDc2M0Y3NDAxRjAyMjkwN0ZCNEUwNDQwMUJGCis6MTAwOUUwMDBGMDIyOTA3RkU5RTAyNEZFNzAwMjQxQTMxNDcwMDI2MUJFCis6MTAwOUYwMDAzRjE0NzAwMjYxREIyNDAzNjAwMjgxNzc5MDdGRUFFMDlDCis6MTAwQTAwMDBGNDcwNkI5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRkM2Cis6MTAwQTEwMDA5MDc2MjBFMEZFQzM5RjUwNEU5MDc2M0JFMEZGMDRGMEJFCis6MTAwQTIwMDA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUEyCis6MTAwQTMwMDBBNDI0QUNGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JFMEM2Cis6MTAwQTQwMDBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRUZFCis6MTAwQTUwMDA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MEM3Cis6MTAwQTYwMDA3NjIwRTAwNEYwODBBNDkwNzY0MDc0MDFGMDIyOTA3RTFECis6MTAwQTcwMDBDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFDRjU4Mjc5Cis6MTAwQTgwMDBFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQTc3Cis6MTAwQTkwMDBBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MDc2NDE3NENCCis6MTAwQUEwMDAwMUYwMjI5MDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjZECis6MTAwQUIwMDAyMEYwOTA3NjM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjYwCis6MTAwQUMwMDA4MThFOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDExCis6MTAwQUQwMDA3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUVGNTgyRTQzNERGCis6MTAwQUUwMDA3NUY1ODNFRkYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNUNFCis6MTAwQUYwMDA4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUZGNUJFCis6MTAwQjAwMDA4MkU0MzQ3NUY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjYzCis6MTAwQjEwMDA5MDdFQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBRTNGCis6MTAwQjIwMDBGNTgyRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NTU5Cis6MTAwQjMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDM3Cis6MTAwQjQwMDA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjU5Cis6MTAwQjUwMDAzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NkMwCis6MTAwQjYwMDAzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEFGCis6MTAwQjcwMDBGRkVFNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFRjM2Cis6MTAwQjgwMDBGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUYxCis6MTAwQjkwMDBGNTgzRTBGRkVFNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NTI0Cis6MTAwQkEwMDBGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMDI0Cis6MTAwQkIwMDBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QjBGNTgyRTQzNEJDCis6MTAwQkMwMDA3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNDg2Cis6MTAwQkQwMDBCMUY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkVBRTBGNDFBCis6MTAwQkUwMDA3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkY5MDRFCis6MTAwQkYwMDA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzYzQkUwRkYwNEFBCis6MTAwQzAwMDBGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMERBCis6MTAwQzEwMDAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkI0Cis6MTAwQzIwMDBFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRjJBCis6MTAwQzMwMDBFRTc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTgzRUZGMDgxCis6MTAwQzQwMDA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTBGRjkwNzYyMEI1Cis6MTAwQzUwMDBFMEZFNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRjYyCis6MTAwQzYwMDBGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjRCM0Y1ODJFNEIzCis6MTAwQzcwMDAzNDc1RjU4M0VGRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MEM4Cis6MEYwQzgwMDA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjIwMQorOjEwMEM4RjAwNDE3NjY4MDE0MTc2NkEwMjQxNzY2QjBBQzEyMEMxMjEyMworOjAyMEM5RjAwQzEyRjYzCis6MDQwQ0ExMDA0MTc2MjMwMDc1Cis6MTAwQ0E1MDA0MTcyMDEwMTQ1NzIwNTAwMDJDOTAwMDA0NTcyMEEwMDQyCis6MTAwQ0I1MDAwMTAyMDMwNDRENzIwRkQxMDBEMTAwMDAwMDAwMDAwMEI1Cis6MTAwQ0M1MDAyODI4MDkwMDRENzIxQzAxMDAwMTAyMDMwNDA1MDYwN0NFCis6MTAwQ0Q1MDAwODA5MEEwQjQxNzIyRTIyNDE3MjJGMjM0MTcyMzAyMERFCis6MTAwQ0U1MDA0MTcyMzEyMTYyRDI3MjNBMDAwMDAwMDAwMDAwMDAwMDFBCis6MTAwQ0Y1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAwRDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAwRDE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAwRDI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAwRDM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAwRDQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAwRDU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAwRDY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAwRDc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDEwMTAxMDEwMTY4Cis6MTAwRDg1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTRFCis6MTAwRDk1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTNFCis6MTAwREE1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTJFCis6MTAwREI1MDAwMTAxMDEwMTAxMDEwMTAxMDIwMjAyMDIwMjAyMDIwMjE2Cis6MTAwREM1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkZFCis6MTAwREQ1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkVFCis6MTAwREU1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkRFCis6MTAwREY1MDAwMjAyMDIwMjAyMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0MzCis6MTAwRTA1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0FECis6MTAwRTE1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzlECis6MTAwRTI1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzhECis6MTAwRTM1MDAwMzAzMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDZGCis6MTAwRTQ1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDVECis6MTAwRTU1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDRECis6MTAwRTY1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDNECis6MTAwRTc1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTFECis6MTAwRTg1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTBECis6MTAwRTk1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNUZECis6MTAwRUE1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDYwNkVCCis6MTAwRUI1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkNECis6MTAwRUM1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkJECis6MTAwRUQ1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkFECis6MTAwRUU1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDcwNzA3MDgwODk2Cis6MTAwRUY1MDAwODA5MDkwOTBBMEEwQTBCMEIwQjBDMEMwQzBEMEQwRDQwCis6MTAwRjA1MDAwRTBFMEUwRjBGMEYxMDEwMTAxMTExMTExMjEyMTIxM0Q5Cis6MTAwRjE1MDAxMzEzMTQxNDE0MTUxNTE1MTYxNjE2MTcxNzE3MTgxODc0Cis6MTAwRjI1MDAxODE5MTkxOTE5MUExQTFBMUExQjFCMUIxQjFDMUMxQzE4Cis6MTAwRjM1MDAxQzFEMUQxRDFEMUUxRTFFMUUxRjFGMUYxRjIwMjAyMEM4Cis6MTAwRjQ1MDAyMTIxMjEyMjIyMjIyMzIzMjQyNDI1MjUyNjI2MjcyNzYxCis6MTAwRjU1MDAyODI4MjkyOTJBMkEyQjJCMkMyQzJEMkQyRTJFMkYyRkQ0Cis6MTAwRjY1MDAzMDMwMzEzMTMyMzIzMzMzMzQzNDM1MzUzNjM2MzczNzQ0Cis6MTAwRjc1MDAzODM4MzkzOTNBM0EzQjNDM0QzRTNGNDA0MTQyNDM0NDlCCis6MTAwRjg1MDA0NTQ2NDc0ODQ5NDk0QTRCNEI0QzRENEU0RjUwNTE1MkE3Cis6MTAwRjk1MDA1MzU0NTU1NTU2NTY1NzU3NTg1QTVCNUQ1RTVGNjE2MkI3Cis6MTAwRkE1MDA2MzY0NjU2NjY3Njg2OTZBNkI2QzZENkY3MTcyNzM3NDhCCis6MTAwRkI1MDA3NTc2Nzc3ODc5N0E3QjdDN0U4MDAxMzcwMTAxMzgwMEY4Cis6MDEwRkM1MDAwMDJCCis6MTAwRkM2MDBFNEZGNzQ0NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyMDYwCis6MTAwRkQ2MDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NEUyRkY1ODJFNDJCCis6MTAwRkU2MDAzNDc2RjU4M0UwRkU3NDMwMkZGNTgyRTQzNDgwRjU4M0ExCis6MDYwRkY2MDBFRUYwMEZCRjA4Q0M3NQorOjAxMEZGQzAwMjJEMgorOjAzMEZGRDAwQzI4OTMyNzQKKzoxMDEwMDAwMEU0OTA3NjJDRjA5MDc2MkNFMEZGNzVGMDAzQTQyNDBGOEEKKzoxMDEwMTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENDIKKzoxMDEwMjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MkNFMDA0RjA4MEQ1NEUKKzoxMDEwMzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQTkKKzoxMDEwNDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MkVGMDI0MjYKKzoxMDEwNTAwMEYwNjAwQTI0MEY2MDAyODE3RDEyNEJBNDIyOTA3RkVEODQKKzoxMDEwNjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzg3NDAxM0MKKzoxMDEwNzAwMEYwOTA3NjNBNzQwM0YwOTA3NjFDRjBFNDkwNzYxQkYwRDIKKzoxMDEwODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjFCRTBGRjc1RjAwQUE0RjEKKzoxMDEwOTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENTIKKzoxMDEwQTAwMEVFNkQ2MDEyOTA3NjFDRTBGRUVGQzM5RTUwMDg5MDc2QzUKKzoxMDEwQjAwMDFCRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTIKKzoxMDEwQzAwMDE4NzQwNkYwOTA3NjM4NzQwNEYwOTA3NjNBNzQwQUYwNEEKKzoxMDEwRDAwMDkwNzYxQ0YwOTA3NjFCNzQwM0YwOTA3RkVBRTBGNDYwNDkKKzoxMDEwRTAwMDJGOTA3NjFCRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjEKKzoxMDEwRjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2N0MKKzoxMDExMDAwMDFDRTBGRUVGQzM5RTUwMDg5MDc2MUJFMDA0RjA4MEQxRjcKKzoxMDExMTAwMEU0OTA3NjFFRjA5MDc2MUNFMEZGOTA3NjFCRTBGRTZGNjgKKzoxMDExMjAwMDcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRTAxNDYwRkYKKzoxMDExMzAwMDEzMTQ3MDAyMjFCRjI0MDI2MDAyODE3NTkwN0ZCNEUwMTUKKzoxMDExNDAwMDQ0MDFGMDIyOTA3RkU5RTAyNDdGNzA2QjkwN0ZFQUUwMTkKKzoxMDExNTAwMEY0NzA0QTkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTMKKzoxMDExNjAwMDkwNzYxQkUwRkRDMzlGNTAyQkVENzVGMDBBQTQyNEFCRDUKKzoxMDExNzAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkQwNEYwMUYKKzoxMDExODAwMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwNTgKKzoxMDExOTAwMDA0RjA4MEM3OTA3NjFFRTA5MDdGQjVGMDIyRUU3NUYwRTcKKzoxMDExQTAwMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwNjcKKzoxMDExQjAwMDkwN0ZCNTc0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwNUEKKzoxMDExQzAwMDdGRTlFMDI0N0U3MDAyNDE3RTE0NzAwMjYxMjMxNDcwNzYKKzoxMDExRDAwMDAyNjFDODI0MDM2MDAyODE2RDkwN0ZFQUUwRjQ3MDZEQzMKKzoxMDExRTAwMDkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCOTAKKzoxMDExRjAwMEUwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEFDRjU4MkU0RjEKKzoxMDEyMDAwMDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJENDkKKzoxMDEyMTAwMEY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEFEOTcKKzoxMDEyMjAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNkQKKzoxMDEyMzAwMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwQTYKKzoxMDEyNDAwMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCOEIKKzoxMDEyNTAwMEUwRkY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwNzAKKzoxMDEyNjAwMDkwN0YwMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1QTgKKzoxMDEyNzAwMEY1ODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQkIKKzoxMDEyODAwMEVBRTBGNDcwNkQ5MDc2MzhFMDkwNzYxQkYwOTA3NjNBNTQKKzoxMDEyOTAwMEUwRkY5MDc2MUJFMEMzOUY1MDRGRTBGRjc1RjAwQUE0N0IKKzoxMDEyQTAwMDI0QUVGNTgyRTQzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMTEKKzoxMDEyQjAwMDA0RjA3NDAwMkRGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RDEKKzoxMDEyQzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0UwRkY5MDc2NEMKKzoxMDEyRDAwMDFFRTBGRTA0RjA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGMDcKKzoxMDEyRTAwMEYwOTA3NjFCRTAwNEYwODBBNDkwNzYxRUUwOTA3RkI1MkQKKzoxMDEyRjAwMEYwMjI5MDc2MUJFMEZGNzVGMDBBQTQyNEFFRjU4MkU0OUMKKzoxMDEzMDAwMDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVGMDBBQTQyNEFGMDgKKzoxMDEzMTAwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MzkKKzoxMDEzMjAwMDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2REIKKzoxMDEzMzAwMDFCRjA5MDc2M0FFMEZGOTA3NjFCRTBDMzlGNTA0RkUwQTEKKzoxMDEzNDAwMEZGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFMEZFNUQKKzoxMDEzNTAwMDkwNzYxRUUwRkQwNEYwNzQwMDJERjU4MkU0MzQ3RkY1RjQKKzoxMDEzNjAwMDgzRUVGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1NEMKKzoxMDEzNzAwMDgzRTBGRjkwNzYxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MTgKKzoxMDEzODAwMDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MzQKKzoxMDEzOTAwMDFFRTA5MDdGQjVGMDIyOTA3NjFCRTBGRjc1RjAwQUE0NjYKKzoxMDEzQTAwMDI0QjBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjBFRjc1QUEKKzoxMDEzQjAwMEYwMEFBNDI0QjFGNTgyRTQzNDc1RjU4M0UwOTA3RjAxNEUKKzoxMDEzQzAwMEYwOTA3RkI1NzQwMkYwMjI5MDdGRUFFMEY0NzA2RDkwQTcKKzoxMDEzRDAwMDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQkUwNEUKKzoxMDEzRTAwMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0QTUKKzoxMDEzRjAwMDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyREY1OTcKKzoxMDE0MDAwMDgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRCM0Y1OUYKKzoxMDE0MTAwMDgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDc0RkMKKzoxMDE0MjAwMDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDA0MjQKKzoxMDE0MzAwMEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQkUwQkQKKzoxMDE0NDAwMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFMDkwQzgKKzoxMDE0NTAwMDdGMDBGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1NEIKKzoxMDE0NjAwMDgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkI0MEEKKzoxMDE0NzAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0NzgKKzowNTE0ODAwMEUwNDQwMUYwMjIzMAorOjEwMTQ4NTAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjk3QQorOjAxMTQ5NTAwMjIzNAorOjEwMTQ5NjAwOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJFMAorOjEwMTRBNjAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwOERFMEMwRTBEQworOjEwMTRCNjAwOENFMEMwRTBDMDgyQzA4MzA1ODZDMDg0QzA4NTdEMDAwNAorOjEwMTRDNjAwOTA3RkUzNzQ3QkYwQTM3NDgwRjA3QzExOTA3Rjk5RTBBOQorOjEwMTRENjAwNTQ0MERDMDMwMjE0RjNCNDAwMTM5MDdGRTI3NDQwRjAyRQorOjEwMTRFNjAwOTA3RkU1RjA5MDdGRTI3NDAwRjAwMjE0RDI5MDc2OTAzRgorOjEwMTRGNjAwRTBCNDAxMTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjBDQgorOjEwMTUwNjAwOTA3RjZDMDIxNTU3QjQwMjEyOTA3NjhGRTAyREZEOTBGNQorOjEwMTUxNjAwN0ZFMjc0ODBGMDkwN0Y2QzAyMTU5NkI0MDMxMjkwNzY4OQorOjEwMTUyNjAwOEZFMDJERkQ5MDdGRTI3NDgwRjA5MDdGNkMwMjE1RTFENAorOjEwMTUzNjAwQjQwNDEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwOTBENworOjEwMTU0NjAwN0Y2QzAyMTYxMDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTYxQQorOjEwMTU1NjAwNDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREYyN0RCOQorOjEwMTU2NjAwMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjRGRAorOjEwMTU3NjAwMDAwNTA1ODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjAyRAorOjEwMTU4NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERDQwMjE2NDBGQworOjEwMTU5NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjA0NQorOjEwMTVBNjAwRjBGMERERUM3RDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0YxRQorOjEwMTVCNjAwOUJFMDU0MDRCNDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ1MQorOjEwMTVDNjAwODBGMDA1ODZGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEQQorOjA2MTVENjAwRjBGMEYwRjBGMEYwNkYKKzoxMDE1REMwMEREQ0UwMjE2NDBGMEYwRjBGMERERkE3RDAyMDU4NjkwQ0IKKzoxMDE1RUMwMDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNTg2MDQKKzoxMDE1RkMwMDAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEREOEEKKzoxMDE2MEMwMERDMDIxNjQwRjBGMEYwRjBGMEYwRERGODdEMDIwNTg2MUIKKzoxMDE2MUMwMDkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1QzkKKzoxMDE2MkMwMDg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwQjAKKzoxMDE2M0MwMEYwRjBERERBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2N0UKKzoxMDE2NEMwMEQwODNEMDgyRDBFMEZDRDBFMEZERDBFMEZFRDBFMEZGMzMKKzowNTE2NUMwMEQwRTBEMEQwMjIxNworOjEwMTY2MTAwQzBEMEMwRTBDMDgyQzA4MzkwNzY3Q0UwOTA3RjZGRjBGNAorOjEwMTY3MTAwOTA3NjdERTA5MDdGNkZGMDkwNzY3RUUwOTA3RjZGRjBDNgorOjA5MTY4MTAwRDA4M0QwODJEMEUwRDBEMDIyNDkKKzoxMDE2OEEwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMEMwODJDMDgzN0UKKzoxMDE2OUEwMDA1ODZDMDg0QzA4NTkwNzY4N0UwRkZCRjAwMDMwMjE3RTUKKzoxMDE2QUEwMDAxOTA3Rjk2RTA0NDgwRjA5MDdGRTI3NDgwRjA5MDdGMTIKKzoxMDE2QkEwMDYyRTAwNTg2OTA3RkUyNzQwMEYwOTA3Rjk2RTA1NDdGQTYKKzoxMDE2Q0EwMEYwOTA3RkUyNzQ4MEYwOTA3NjhFRTBCNDAxMDUwNTg2OTIKKzoxMDE2REEwMDAyMTZGNkI0MDIwNTA1ODYwMjE2RUIwNTg2MDIxNkZCMEIKKzoxMDE2RUEwMEUwRTBFMEUwRTBFMERGRjgwMjE2RkJFMEUwRTBFMERGNjcKKzoxMDE2RkEwMEZBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2RDA4M0QwM0EKKzowQzE3MEEwMDgyRDBFMEZFRDBFMEZGRDBFMEQwRDAyMjgyCis6MTAxNzE2MDBDMDgyQzA4M0MwRTBFOEMwRTA3OEQxRTgxNEY4NzBGQjZFCis6MEExNzI2MDBEMEUwRjhEMEUwRDA4M0QwODIyMjlBCis6MTAxNzMwMDBDMDgyQzA4M0MwRTBFOEMwRTA3ODc4RTgxNEY4NzBGQkFECis6MEExNzQwMDBEMEUwRjhEMEUwRDA4M0QwODIyMjgwCis6MDcxNzRBMDA5MDdGQzU3NDAyRjAyMjNDCis6MTAxNzUxMDA5MDdFQzBFMDkwNzY0NUYwOTA3RUMxRTA5MDc2NDRGMEI2Cis6MTAxNzYxMDA5MDdFQzJFMDkwNzY0M0YwQjQwMDAzMDIxNzc4OTA3NjQxCis6MTAxNzcxMDAxOTc0MDNGMDAyMTc4RTkwNzY0NEUwQjRCQjA5OTA3Njk5Cis6MTAxNzgxMDAxOTc0MDJGMDAyMTc4RTkwNzYxOTc0MDFGMDkwNzY0MjY2Cis6MDMxNzkxMDBFNEYwMjI1RgorOjA0MTc5NDAwOEQyOThCMkFFNgorOjEwMTc5ODAwMTI0QTU1RUE0OTYwNTcxMjM2OTI3RTAwMjlGRkVFM0FGRQorOjEwMTdBODAwQzlFRkM5NzUyQkZGRjUyQzg5MkRBQjJCQUEyQ0E5MkRCOAorOjEwMTdCODAwOTAwMDAxMTIzNkFCRkY2NDA0NjAwNUVGNjQwNTcwMkVEQgorOjEwMTdDODAwRUZCNDA0MTU5MDAwMDIxMjM2QUI2NTI5NzAwQjkwMDAzNworOjEwMTdEODAwMDMxMjM2QUI2NTJBNzAwMTIyMTIzNjkyN0UwMDI5RkY2OQorOjEwMTdFODAwRUUzQUM5RUZDOTc1MkJGRkY1MkM4OTJEODBCQzdCMDAxQgorOjA0MTdGODAwN0EwMDc5MDBGQQorOjAxMTdGQzAwMjJDQQorOjAzMTdGRDAwQzI4QjMyNkEKKzoxMDE4MDAwMDkwNzY5MEUwMTQ2MDM3MTQ3MDAyMDFEODE0NzAwMjIxQjEKKzoxMDE4MTAwMDcyMTQ3MDAyNDEzQjI0MDQ2MDAyNjEwMzkwN0ZGQzc0RTcKKzoxMDE4MjAwMENDRjA5MDdGRkY3NEZDRjA5MDc2OTVFMDQ0MDFGMDU0OEEKKzoxMDE4MzAwMDA1RjA5MDgwMDFGMEU0OTA3NjFBRjBDMjJFMjI5MDc2QTYKKzoxMDE4NDAwMDk1RTA0NDAxRjA0NDAyRjAzMDNFMDZFMDQ0MDRGMDgwQUMKKzoxMDE4NTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwN0EKKzoxMDE4NjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyMjkwMjcKKzoxMDE4NzAwMDdGRkM3NDc0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCNzMKKzoxMDE4ODAwMEYwOTA3Njk3RTA1NEZERjBFNDkwNzY4MUYwOTA3NjgwQzkKKzoxMDE4OTAwMEYwRUZCNDAyMjI5MDdGRkM3NDY4RjA5MDdGRkY3NEZDM0MKKzoxMDE4QTAwMEYwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRjBFNDkwRjkKKzoxMDE4QjAwMDc2ODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFODQKKzoxMDE4QzAwMEYwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA1NEZCMjMKKzoxMDE4RDAwMEYwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0RkVGMDQ0RjMKKzoxMDE4RTAwMDAyRjAzMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0MjQKKzoxMDE4RjAwMEZCRjA5MDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxQjQKKzoxMDE5MDAwMEYwOTA3NjE5RTBGRkI0MDEyMjkwN0ZGQzc0MzBGMDkwRTMKKzoxMDE5MTAwMDdGRkY3NEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RjQKKzoxMDE5MjAwMEZERjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyMjkwQTIKKzoxMDE5MzAwMDdGRkM3NDFDRjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGMDYKKzoxMDE5NDAwMEYwOTA3Njk3RTA0NDAyRjBFNDkwNzY4MUYwOTA3NjgwMTMKKzoxMDE5NTAwMEYwMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3M0MKKzoxMDE5NjAwMEUwNDQwMUYwOTA3Njk3RTA1NEZCRjA5MDgwMDJGMEQyRDIKKzoxMDE5NzAwMDJFMjI5MDc2OTVFMDQ0MDFGMDQ0MDJGMDQ0MDhGMDMwQzUKKzoxMDE5ODAwMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwMkEKKzoxMDE5OTAwMDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxRjA5MDc2OTgKKzoxMDE5QTAwMDE5RTBGRkI0MDEyNTkwN0ZGQzc0Q0NGMDkwN0ZGRjc0QTgKKzoxMDE5QjAwMEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RkRGMDU0MDUKKzoxMDE5QzAwMEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyNTkwMDEKKzoxMDE5RDAwMDdGRkM3NEM4RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGQkEKKzoxMDE5RTAwMEYwOTA3Njk3RTA0NDAyRjA1NEZCRjBFNDkwNzY4MUYwQkEKKzoxMDE5RjAwMDkwNzY4MEYwRUZCNDAzMjU5MDdGRkM3NDk4RjA5MDdGOTAKKzoxMDFBMDAwMEZGNzRGQ0YwOTA3NjhGNzQ1RkYwOTA3Njk3RTA1NEZENTEKKzoxMDFBMTAwMEYwNDQwNEYwRTQ5MDc2ODFGMDkwNzY4MEYwMzAzRjA5NTUKKzoxMDFBMjAwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwQkUKKzoxMDFBMzAwMDkwNzY5N0UwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0MzYKKzoxMDFBNDAwMEZFRjA0NDAyRjA0NDA4RjAzMDNFMDZFMDQ0MDRGMDgwMkEKKzoxMDFBNTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwNzgKKzoxMDFBNjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyNTkwMjIKKzoxMDFBNzAwMDdGRkM3NEI0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCMzEKKzoxMDFBODAwMEYwOTA3Njk3RTA1NEZERjA1NEZCRjBFNDkwNzY4MUYwMEUKKzoxMDFBOTAwMDkwNzY4MEYwRUZCNDAyMjU5MDdGRkM3NEIwRjA5MDdGRDgKKzoxMDFBQTAwMEZGNzRGQ0YwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRUMKKzoxMDFBQjAwMEYwNTRGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAzODAKKzoxMDFBQzAwMDI1OTA3RkZDNzQ2OEYwOTA3RkZGNzRGQ0YwOTA3NjhGMTcKKzoxMDFBRDAwMDc0NUZGMDkwNzY5N0UwNTRGREYwNDQwNEYwRTQ5MDc2NjMKKzoxMDFBRTAwMDgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwRDgKKzoxMDFBRjAwMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyMUUKKzowNDFCMDAwMEYwRDIyRTIyQ0YKKzoxMDFCMDQwMDMwMkMzOEMyMkM5MDc2MTlFMEZGQjQwMTBFOTA3NjdDMEMKKzoxMDFCMTQwMDc0QzBGMEEzNzQxNEYwQTM3NDBCRjBFRkI0MDIwREU0REEKKzoxMDFCMjQwMDkwNzY3Q0YwQTM3NDEwRjBBMzc0MENGMEVGQjQwMzBCNjQKKzowQzFCMzQwMEU0OTA3NjdDRjBBMzc0MThGMEEzRjAyMjdCCis6MTAxQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTAxQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTAxQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTAxQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTAxQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTAxQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTAxQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTAxQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTAxQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTAxQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTAxQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTAxQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTAxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAxQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTAxQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTAxQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTAxQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTAxQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTAxQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTAxQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTAxQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTAxQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTAxQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTAxQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTAxRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTAxRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTAxRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTAxRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTAxRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTAxRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTAxRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTAxREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTAxREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTAxREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTAxREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTAxREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTAxREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTAxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTAxRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTAxRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTAxRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTAxRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTAxRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTAxRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTAxRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTAxRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTAxRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTAxRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MEUxRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDFFQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDFFQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDFFREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDFFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDFFRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDFGMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDFGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDFGMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzowMjFGM0UwMDAwMDBBMQorOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjBFMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMzdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMzhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMzlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyM0FFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyM0JFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyM0NFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyM0RFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyM0VFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyM0ZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyNDBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyNDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyNDJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyNDNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyNDRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyNDVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyNDZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyNDdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyNDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyNDlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyNEFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyNEJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyNENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyNERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyNEVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyNEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyNTBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyNTFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyNTJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyNTNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyNTRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyNTVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyNTZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyNTdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyNThFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyNTlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyNUFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyNUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyNUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyNURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyNUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MTAyNUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyNjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTAyNjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCis6MTAyNjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTAyNjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTAyNjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTAyNjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTAyNjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTAyNjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTAyNjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTAyNjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6MTAyNkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCis6MTAyNkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTAyNkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTAyNkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MEUyNkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDI2RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDI3MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDI3MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDI3MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDI3M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDI3NEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDI3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDI3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDI3N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDI3OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDI3OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDI3QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDI3QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDI3Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDI3REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDI3RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzowNTI3RkMwMDAwMDAwMDAwMjJCNgorOjEwMjgwMTAwQzIyMEMyMjFDMjJBOTA3RkU4RTAxMjM3RjkyODMwMDBBNQorOjEwMjgxMTAwMjg4QzAxMjhBMjAyMkExRjIxMkE2QTIyMjkzRDgwMjkwNworOjEwMjgyMTAwN0Q4MTI5RDE4MjJBODRBMTJBQkFBMjAwMDAyQUJGOTBERgorOjEwMjgzMTAwN0ZFOUUwMTQ2MDExMjRGRTYwMjgyNEZFNjAzQjI0RkM0MworOjEwMjg0MTAwNzA0MDEyM0ZFNTQxQ0IxMjRFMUQ0MDAyNDFDQjkwN0ZCQgorOjEwMjg1MTAwRUFFMEI0MDEwNEMyMjI0MUNCOTA3RkI0RTA0NDAxRjAyQworOjEwMjg2MTAwNDFDQjEyNEUxRjkwN0ZFQUUwQjQwMTA0RDIyMjQxQ0I0QQorOjEwMjg3MTAwOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA5QgorOjEwMjg4MTAwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwMjQ1QgorOjEwMjg5MTAwRjU3MDA1MTI0ODYzNDFDQjkwN0ZCNEUwNDQwMUYwNDFFQgorOjEwMjhBMTAwQ0I5MDdGRTlFMDI0RkQ2MDU0MjQwMjYwMDIyMTM0MTJDMAorOjEwMjhCMTAwNEUxRDQwMDI0MUNCOTA3RkVBRTA3MDM4OTA3RkVDRTAwMgorOjEwMjhDMTAwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjREMworOjEwMjhEMTAwRjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkZFRgorOjEwMjhFMTAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDREOAorOjEwMjhGMTAwMjBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0IxMjRFMUY1OAorOjEwMjkwMTAwNDAwMjQxQ0I5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTRFQworOjEwMjkxMTAwODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODI1MworOjEwMjkyMTAwRTQzNDdGRjU4Mzc0MDFGMDQxQ0I5MDdGQjRFMDQ0MDEzRQorOjEwMjkzMTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTBERQorOjEwMjk0MTAwNjAxMjI0Rjg2MDA5MjQwMjcwMjkxMjQzRTc0MUNCMTI3NgorOjEwMjk1MTAwNERDQTQxQ0IxMjRFMUJBMjIyRTQzM0ZGMjVFMEZGQTI1OAorOjEwMjk2MTAwMjNFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDIyRAorOjEwMjk3MTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTA5RQorOjEwMjk4MTAwNjAzMzI0RjY2MDJBMjQwNDcwM0Q5MDdGRUJFMDI0REU1RQorOjEwMjk5MTAwNjAwQzA0NzAxMjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y1MQorOjEwMjlBMTAwQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I2RAorOjEwMjlCMTAwMTI0NzQ1NDFDQjEyNEUxQkU0OTA3RjAwRjBBM0YwOTBFQgorOjEwMjlDMTAwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I3QworOjEwMjlEMTAwOTA3RkU5RTAyNEY0NjAzNDI0MEM3MDM5MTI0RTFCOTA4RQorOjEwMjlFMTAwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjUxRgorOjEwMjlGMTAwRTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDA1OAorOjEwMkEwMTAwRjBFNEEzRjA5MDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA4NQorOjEwMkExMTAwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y4MQorOjEwMkEyMTAwRTlFMDI0RjY2MDEyMTQ2MDFBMjQwMjcwMUREMjIwOTA4RAorOjEwMkEzMTAwN0ZCNEUwNDQwMUYwODAxMkQyMjA5MDdGQjRFMDQ0MDFFMQorOjEwMkE0MTAwRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDIwMTg5MDdGRUVFMQorOjEwMkE1MTAwRTA3MDA0QTNFMDYwMEJEMjI5RDIyNzEyMTc0QUQyMkFEMAorOjEwMkE2MTAwODAwMzEyMDgwMEMyMjA4MDYxOTA3RkVFRTA3MDA0QTMxMQorOjEwMkE3MTAwRTA2MDBCRDIyOUQyMjgxMjE3NEFEMjJBODA0QzEyMzg5MAorOjEwMkE4MTAwNzQ4MDQ3OTA3RkU5RTAyNEZFNjAxMjE0NjAxQTI0MDJFQQorOjEwMkE5MTAwNzAxREQyMjE5MDdGQjRFMDQ0MDFGMDgwMTJEMjIxOTBDOAorOjEwMkFBMTAwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwMjA1RQorOjEwMkFCMTAwMjEwMzEyMTAwMEMyMjE4MDExMTIyQUQ2ODAwQzEyNEU1RAorOjEwMkFDMTAwMjE1MDA3OTA3RkI0RTA0NDAxRjAyMDJBMDc5MDdGQjRBMQorOjA1MkFEMTAwRTA0NDAyRjAyMkM4Cis6MTAyQUQ2MDBFNDkwNzYyN0YwOTA3NjI3RTBGRjc1RjAwRkE0MjQ0MjY1Cis6MTAyQUU2MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDUzCis6MTAyQUY2MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI3RTAwNEYwODBENTY4Cis6MTAyQjA2MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRkIxCis6MTAyQjE2MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjI4RjAyNDA4Cis6MTAyQjI2MDA5RjcwMDJBMTc0MjQyMTYwMDJBMUExOTA3RkU5RTAyNDk0Cis6MTAyQjM2MDA3RTcwMDI2MUZDMTQ3MDAyODFCNTI0MDI2MDAyQTE2Q0YxCis6MTAyQjQ2MDBFRjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0I5Cis6MTAyQjU2MDBBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5MDA3ODE2Cis6MTAyQjY2MDAwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzNzRBQ0FCCis6MTAyQjc2MDBGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDRCCis6MTAyQjg2MDAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGRDRECis6MTAyQjk2MDBBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQzMxMjM2Cis6MTAyQkE2MDAzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwRTRBMzdFCis6MTAyQkI2MDBGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNEFCCis6MTAyQkM2MDA0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRTYzCis6MTAyQkQ2MDBBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QUI2MEY4Cis6MTAyQkU2MDAwMkExQTg5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGCis6MTAyQkY2MDA3RkI1NzQwM0YwMjI5MDc2MjdFMDc1RjAwRkE0MjQ0NzgyCis6MTAyQzA2MDBGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0MyCis6MTAyQzE2MDBFMEZGN0I0NDdBQUM3OTAwNzgwMEMzMTIzN0FCNzAxM0JGCis6MTAyQzI2MDA5MDdGMDA3NDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNUY5Cis6MTAyQzM2MDA3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDNDCis6MTAyQzQ2MDAzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjgzCis6MTAyQzU2MDA4MDdBQkI3OTAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDdGCis6MTAyQzY2MDA3NDgwRjBBMzc0QkJGMEU0QTNGMDkwN0ZCNTc0MDNGMDE2Cis6MTAyQzc2MDA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDM0NzVGNUM1Cis6MTAyQzg2MDA4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjAwN0E3N0YwCis6MTAyQzk2MDA3OTAxNzgwMEMzMTIzN0FCNjAwMkExQTg5MDdGMDBGMERCCis6MTAyQ0E2MDBBMzc0NzdGMEEzNzQwMUYwOTA3RkI1NzQwM0YwMjI5MEJCCis6MTAyQ0I2MDA3NjI3RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4MzhFCis6MTAyQ0M2MDBFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTQxCis6MTAyQ0Q2MDAwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBM0UyCis6MTAyQ0U2MDA3NEFDRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDFGCis6MTAyQ0Y2MDA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBMzRDCis6MTAyRDA2MDBFMEZEQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEJDCis6MTAyRDE2MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEJFCis6MTAyRDI2MDBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRjdBCis6MTAyRDM2MDBBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0ZGCis6MTAyRDQ2MDBFMEZFQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0IzCis6MTAyRDU2MDBBQjcwNEY5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MEVFCis6MTAyRDY2MDA3RkI1NzQwM0YwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3Rjk3Cis6MTAyRDc2MDBFOUUwMjQ3RjcwMUU5MDc2MjdFMDc1RjAwRkE0MjQ0RkJCCis6MTAyRDg2MDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDdGQjU3NEFBCis6MTAyRDk2MDAwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NEY2Cis6MDMyREE2MDAwMUYwMjIxNworOjEwMkRBOTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MgorOjEwMkRCOTAwMzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJERgorOjEwMkRDOTAwRTQzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDEwRjU2QworOjEwMkREOTAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkZBMAorOjEwMkRFOTAwNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBBQworOjEwMkRGOTAwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDVBNworOjEwMkUwOTAwRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzRTQzQQorOjEwMkUxOTAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU5NworOjEwMkUyOTAwODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEY3RQorOjEwMkUzOTAwRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQ4OAorOjEwMkU0OTAwMTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjAwOQorOjEwMkU1OTAwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQ1QworOjEwMkU2OTAwMDFGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODNCRQorOjEwMkU3OTAwNzQwM0YwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjVCQQorOjEwMkU4OTAwODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjRDMworOjEwMkU5OTAwMEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEVGNzVGMDAzQTQzMAorOjEwMkVBOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwNkYwRUY3NUYwMDNBOQorOjEwMkVCOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTBDNQorOjEwMkVDOTAwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjVFRgorOjEwMkVEOTAwODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVDRQorOjEwMkVFOTAwRjU4Mzc0MDRGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQzQgorOjEwMkVGOTAwNzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNCMQorOjEwMkYwOTAwQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjBBQworOjEwMkYxOTAwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDhGMEVGNzU4MgorOjEwMkYyOTAwRjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwOTA1OQorOjEwMkYzOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MAorOjEwMkY0OTAwMzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODI0QworOjEwMkY1OTAwRTQzNDc1RjU4Mzc0MEFGMEVGNzVGMDAzQTQyNDEwRjVEMQorOjEwMkY2OTAwODJFNDM0NzVGNTgzNzQwNEYwOTA3NjM2RTAwNEYwRTA3OQorOjEwMkY3OTAwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDIxOQorOjEwMkY4OTAwRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQyQQorOjEwMkY5OTAwMDlGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM4NAorOjEwMkZBOTAwNzQwNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQ5MQorOjEwMkZCOTAwMEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQxRAorOjEwMkZDOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwN0YwRUY3NUYwMDM4NworOjBFMkZEOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMjBDCis6MTAyRkU3MDBDMEUwQzA4M0MwODJEMjI2NTM5MUVGOTA3RkFCNzQwMUJCCis6MDgyRkY3MDBGMEQwODJEMDgzRDBFMDMyNUIKKzowMTJGRkYwMDMyOUYKKzoxMDMwMDAwMDkwN0ZCNkUwMjBFMTAyQzIzREQyMzYyMDM2MDI0MTZFMEEKKzoxMDMwMTAwMDMwM0QwMjQxNkU5MDgwMDdFMDYwMDREMjM2ODAwMkMyRUIKKzoxMDMwMjAwMDM2MjAzNjAyNDEyRUQyMzVFNEY1MUE5MDgwMDRFMEY1QzAKKzoxMDMwMzAwMDE5NzQwODI1MEVGOEE2MTk4NTE5MThFNTE4MjBFNzA0NTMKKzoxMDMwNDAwMEQyMzg4MDAyQzIzODMwMzgwMjIxRDRFNEY1MTZFNTE5QUUKKzoxMDMwNTAwMEI0RjAwQ0QyMzk3NTA4MDQ3NTA5RjAwNTBFODAwMjA1MkMKKzoxMDMwNjAwMDE2RTUxOTY0Rjc3MDNEQzIzOUU1MEUyNEZFNjAxNzE0QTkKKzoxMDMwNzAwMDYwMjIyNDAzNzAyOTc1MDgwNTc1MDlGN0U0RjUwQUY1M0YKKzoxMDMwODAwMDBCNzUwRTA0ODAyMDc1MDgwNjc1MEFGN0U0RjUwQjc1QkMKKzoxMDMwOTAwMDBFMDQ4MDEyNzUwODA3NzUwQkY3NzUwRTA0ODAwNzEyNzEKKzoxMDMwQTAwMDREREE4MDAyMDUxNkU1MTk1NEY4NjRGODcwM0JDMjM1MTQKKzoxMDMwQjAwMEU1MTkyNDA3NjAwQzI0RkM2MDA4MjQwNTI0Rjg1MDA2NTgKKzoxMDMwQzAwMDgwMDhEMjNBODAwNkMyM0E4MDAyRDIzQTc1MUEwMTIwQUMKKzoxMDMwRDAwMDNBMTk5MDdFODA3NDBGRjBBM0U1MTlGMEU0QTNGMEEzRjEKKzoxMDMwRTAwMEYwOTA3RkI3NzQwNEYwODAwMjA1MTYyMDM5NkRFNTE5NjEKKzoxMDMwRjAwMDY0Rjc2MDY3RTUxQTcwNjNFNTE4NTRGMDY0RjA3MDU5N0UKKzoxMDMxMDAwMDg1MTgxOUY1MEVFNTE5MjQwRjYwMUIyNEZFNjAxNzI0OUQKKzoxMDMxMTAwMEZENjAyMjE0NjAxRjI0MDU3MDJGNzUwODAzMDUwRTg1QkQKKzoxMDMxMjAwMDE4MDlEMjM3ODAyODc1MDgwMjA1MEU4NTE4MDk3NTE0MEMKKzoxMDMxMzAwMDAxRDIzNzgwMTk3NTA4MDUwNTBFODUxODA5RTRGNTBBQ0UKKzoxMDMxNDAwMEY1MEI3NTBFMDNEMjM3ODAwNTEyNEREQUMyMzUzMDM1RDYKKzoxMDMxNTAwMDBBODUwODEzODUxODEyODAwMjA1MTY4NTE4MTlFNTE2QzgKKzoxMDMxNjAwMDY0MDQ3MDYyRjUwRUU1MTk1NEYwRjUxOUY1MTU4NTE4MkIKKzoxMDMxNzAwMDE5RTUxNTI0NzA2MDE4MjRGMDYwMTQyNEYwNjAxMDI0MDAKKzoxMDMxODAwMEYwNjAxRTI0RjA2MDFBMjRGMDYwMDQyNDYwNzAyN0U1Q0IKKzoxMDMxOTAwMDE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5RDIzNzgwQTYKKzoxMDMxQTAwMDFBRTUxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOTc1QUIKKzoxMDMxQjAwMDE0MDFEMjM3ODAwNTEyNEREQUMyMzUzMDM1MEE4NTE5MkYKKzoxMDMxQzAwMDEzODUxODEyODAwMjA1MTZFNTE2RDM5NDA1NDA1NzEyOTAKKzoxMDMxRDAwMDREREE4MDUyMzAzOTE3RTUwRTcwMEE4NTA4MDk3NTA4RjYKKzoxMDMxRTAwMDA0MDUwRTgwNDE3NDA4MjUwRUY4QTYxOTgwMzgyMDM3OTIKKzoxMDMxRjAwMDJBRTUwRUI0MDEwRjg1MDgwQTg1MDkwQjg1MTMwODg1OTkKKzoxMDMyMDAwMDEyMDk3NTBFMDRFNTE0QjQwMTFDODUwODBBRTRGNTBCRDcKKzoxMDMyMTAwMDg1MTMwODg1MTIwOTc1MEUwNDgwMEJFNTE0QjQwMTA2QTgKKzoxMDMyMjAwMEU0RjUwQjc1MEUwNEU0RjUxQTMwMzUwMjA1MEVFNTBFRDMKKzoxMDMyMzAwMEQzOTQwMzUwMDIwMTBCQzIzN0U0RjUwRUY1MTBDMjM2RTkKKzoxMDMyNDAwMEQyM0RGNTE0NzQwODI1MTBGOEU2RkY3NDgwMjUxMEY1QkEKKzoxMDMyNTAwMDgyRTQzNDdFRjU4M0VGRjA3NDA4MjUxMEY4RTRGNjA1NzcKKzowRjMyNjAwMDEwRTUxMEI0MDRERTkwN0ZCNzc0MDRGMDAxMEIyMjY4Cis6MTAzMjZGMDA5MDc2MThFMEZGNjQwNTcwNDI5MDc1QUJFMEI0MDExOUQ5Cis6MTAzMjdGMDA5MDcyMzc3NDAxRjBFNDkwODAyMEYwOTA4MDMxRjA5MERDCis6MTAzMjhGMDA4MDI4RjA5MDgwMzlGMDgwMjJFNDkwNzIzN0YwOTA3NUFBCis6MTAzMjlGMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDcxCis6MTAzMkFGMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjUyCis6MTAzMkJGMDA4MTk5OTA3MjM5NzQwNEYwOTA3MjM5RTBGRjI0RkU5MDc2Cis6MTAzMkNGMDA3MjA0RjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNUJGCis6MTAzMkRGMDA4M0UwNjQwMTcwNTQ5MDcyMzYwNEYwOTA3MjA0RTBGRjQyCis6MTAzMkVGMDAyNEZENjAyODI0RkU2MDI0MjQwMzI0RkI1MDA0NjAxQzZBCis6MTAzMkZGMDA4MThDNzQyMDJGRjU4MkU0MzQ4MEY1ODNFNEYwNzQyOEY4Cis6MTAzMzBGMDAyRkY1ODJFNDM0ODBGNTgzRTRGMDgxOEM5MDcyMDRFMDMxCis6MTAzMzFGMDBGRjI0MzBGNTgyRTQzNDgwRjU4M0U0RjA3NDM4MkZGNTIwCis6MTAzMzJGMDA4MkU0MzQ4MEY1ODNFNEYwODE4Q0U0OTA3MjM2RjA5MDdGCis6MTAzMzNGMDA3MjM5RTA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzkzCis6MTAzMzRGMDBFMEZGN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjI4Cis6MTAzMzVGMDAwMjc0M0JGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MEFBCis6MTAzMzZGMDAwNDkwNzIwMkYwRUY0RTcwMDI4MTM1RUY2NDgwNEU3MDYwCis6MTAzMzdGMDAwMjgxMzVFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjA5MDQwCis6MTAzMzhGMDA3MjM0RTA3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4MzQ5Cis6MTAzMzlGMDBFMEZGOTA3MjAyRjA5MDc1MERFMDJGRjA5MDc1MENFMDQ5Cis6MTAzM0FGMDAzNDAwRjBFMEZFQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOTQ0Cis6MTAzM0JGMDBGOEQzMTIzNzk1NDAwQTkwNzUwQzc0QTVGMEEzNzRENjA0Cis6MTAzM0NGMDBGMDkwNzUwREUwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMDdGCis6MTAzM0RGMDBGRUEzRTA3ODA1Q0VBMkU3MTNDRTEzRDhGOEZGOTA3NUMxCis6MTAzM0VGMDAwQ0VFRjBBM0VGRjA5MDcyMkNFRUYwQTNFRkYwRDM5NDZECis6MTAzM0ZGMDBEMkVFNjQ4MDk0ODI0MDBBOTA3MjJDNzQwMkYwQTM3NDBGCis6MTAzNDBGMDBEMkYwQzM5MDcyMkNFMDY0ODA5NDgwNTAwNEU0RjBBMzU3Cis6MTAzNDFGMDBGMDkwNzIyQ0UwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNUMwCis6MTAzNDJGMDA4M0UwOTA3MjAyRjA5MDcyMDRFMEZGMjRGRDYwMkQyNDdGCis6MTAzNDNGMDBGRTYwMjkyNDAzMjRGQjUwMDQ2MDIxODA0MDkwNzIwMjE3Cis6MTAzNDRGMDBFMEZFNzQyMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQyOENCCis6MTAzNDVGMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDgwMjE5MDcyMDJFMDQ0Cis6MTAzNDZGMDBGRjkwNzIwNEUwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkEwCis6MTAzNDdGMDBGMDc0MzgyRUY1ODJFNDM0ODBGNTgzRUZGMDkwNzIzOUQyCis6MEIzNDhGMDBFMDA0RjBFMDY0MEE2MDAyNDFDNzIyODQKKzoxMDM0OUEwMDkwNzYxOEUwRkZCNDA1MjM5MDcyMzdFMDcwMUQ5MDc1OUUKKzoxMDM0QUEwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNjQKKzoxMDM0QkEwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNDUKKzoxMDM0Q0EwMEMxOTE5MDcyMzZFMDYwMDJDMTkxOTA3NjQwRTA3MDMxMEQKKzoxMDM0REEwMDkwNzIwMzc0MDNGMDkwNzIwM0UwRkY3NUYwMEFBNDI0NUIKKzoxMDM0RUEwMEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3MjI5RTBGREVFRDgKKzoxMDM0RkEwMDZENjAwRUVGQzM5NDBBNTAwODkwNzIwM0UwMDRGMDgwRTYKKzoxMDM1MEEwMEQ1OTA3MjM5NzQwNEYwOTA3NjQwRTA3MDA4OTA3MjAzOTYKKzoxMDM1MUEwMEUwOTA3MjM5RjA5MDcyMzlFMEZEMjRGRTkwNzIyQUYwNDAKKzoxMDM1MkEwMEVENzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFMEZGNjUKKzoxMDM1M0EwMDdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIwMjc0QTQKKzoxMDM1NEEwMDgwRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzAwNDkwNUEKKzoxMDM1NUEwMDcyMDJGMEVGNEU3MDAyQzExQkVGNjQ4MDRFNzAwMkMxMUUKKzoxMDM1NkEwMDFCRUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwRUQ3NUYwMkUKKzoxMDM1N0EwMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMEZGOTA3MjAyNjQKKzoxMDM1OEEwMEYwOTA3NTBERTAyRkYwOTA3NTBDRTAzNDAwRjBFMEZFM0QKKzoxMDM1OUEwMEEzRTBGRkU0RkNGRDdCRDY3QUE1RjlGOEQzMTIzNzk1QjAKKzoxMDM1QUEwMDQwMEE5MDc1MEM3NEE1RjBBMzc0RDZGMDkwNzUwREUwREUKKzoxMDM1QkEwMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTBGRUEzRTA3ODA1NzYKKzoxMDM1Q0EwMENFQTJFNzEzQ0UxM0Q4RjhGRjkwNzUwQ0VFRjBBM0VGNTYKKzoxMDM1REEwMEYwOTA3MjJDRUVGMEEzRUZGMEQzOTREMkVFNjQ4MDk0QzQKKzoxMDM1RUEwMDgyNDAwQTkwNzIyQzc0MDJGMEEzNzREMkYwQzM5MDcyRDMKKzoxMDM1RkEwMDJDRTA2NDgwOTQ4MDUwMDRFNEYwQTNGMDkwNzIyQ0UwRjQKKzoxMDM2MEEwMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjU4M0UwOTA3MjAyNkEKKzoxMDM2MUEwMEYwOTA3MjJBRTBGRjI0RkQ2MDJEMjRGRTYwMjkyNDAzMjUKKzoxMDM2MkEwMDI0RkI1MDA0NjAyMTgwNDA5MDcyMDJFMEZFNzQyMDJGMzcKKzoxMDM2M0EwMEY1ODJFNDM0ODBGNTgzRUVGMDc0MjgyRkY1ODJFNDM0QzEKKzoxMDM2NEEwMDgwRjU4M0VFRjA4MDIxOTA3MjAyRTBGRjkwNzIyQUUwMEEKKzoxMDM2NUEwMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZGMDc0MzgyRUY1RDkKKzoxMDM2NkEwMDgyRTQzNDgwRjU4M0VGRjA5MDc2NDBFMDcwMDY5MDcyNDEKKzoxMDM2N0EwMDM5NzQwQUYwOTA3MjM5RTAwNEYwRTBDMzk0MEE1MDAyRjcKKzowODM2OEEwMEExMTFFNDkwNzY0MEYwMjI0QQorOjEwMzY5MjAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDIzNgorOjA5MzZBMjAwRTMyMjg5ODI4QTgzRTQ5MzIyNjkKKzoxMDM2QUIwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwRDQKKzoxMDM2QkIwMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyMUUKKzowRDM2Q0IwMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyMzgKKzoxMDM2RDgwMEMyRDVFQzMwRTcwOUIyRDVFNEMzOURGREU0OUNGQ0VFMEQKKzoxMDM2RTgwMDMwRTcxNUIyRDVFNEMzOUZGRkU0OUVGRTEyMzgxRkMzMkUKKzoxMDM2RjgwMEU0OURGREU0OUNGQzgwMDMxMjM4MUYzMEQ1MDdDM0U0MjkKKzowNjM3MDgwMDlGRkZFNDlFRkUyMjdCCis6MTAzNzBFMDBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEY5Cis6MTAzNzFFMDBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRUQ2Cis6MTAzNzJFMDAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4MzFDCis6MDgzNzNFMDBFOTkzRjVGMEEzRTk5MzIyRTEKKzoxMDM3NDYwMEU4OEZGMEE0Q0M4QkYwQTQyQ0ZDRTk4RUYwQTQyQ0ZDMjIKKzoxMDM3NTYwMDhBRjBFREE0MkNGQ0VBOEVGMEE0Q0RBOEYwOEJGMEE0QTAKKzoxMDM3NjYwMDJEQ0MzODI1RjBGREU5OEZGMEE0MkNDRDM1RjBGQ0VCRkYKKzoxMDM3NzYwMDhFRjBBNEZFQTlGMEVCOEZGMEE0Q0ZDNUYwMkVDRDM5QzQKKzowRjM3ODYwMEZFRTQzQ0ZDRUFBNDJEQ0UzNUYwRkRFNDNDRkMyMjMxCis6MTAzNzk1MDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFQzY0ODBDOEFCCis6MDYzN0E1MDA2NDgwOTg0NUYwMjI0QgorOjEwMzdBQjAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA3NAorOjAxMzdCQjAwMjJFQgorOjBDMzdCQzAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyODAKKzoxMDM3QzgwMEE4ODI4NTgzRjBEMDgzRDA4MjEyMzdERjEyMzdERjEyQzgKKzoxMDM3RDgwMDM3REYxMjM3REZFNDczRTQ5M0EzQzU4M0M1RjBDNTgzRUQKKzoxMDM3RTgwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4NEIKKzowMTM3RjgwMDIyQUUKKzoxMDM3RjkwMEQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzNUYKKzoxMDM4MDkwMDkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwNzIKKzowNjM4MTkwMEVGQTNBM0EzODBERjcyCis6MTAzODFGMDBCQzAwMEJCRTAwMjlFRjhERjA4NEZGQURGMDIyRTRDQzhECis6MTAzODJGMDBGODc1RjAwOEVGMkZGRkVFMzNGRUVDMzNGQ0VFOURFQzU2Cis6MTAzODNGMDA5ODQwMDVGQ0VFOURGRTBGRDVGMEU5RTRDRUZEMjJFRDlDCis6MTAzODRGMDBGOEY1RjBFRTg0MjBEMjFDRkVBREYwNzVGMDA4RUYyRkU2Cis6MTAzODVGMDBGRkVEMzNGRDQwMDc5ODUwMDZENUYwRjIyMkMzOThGREQ3Cis6MDUzODZGMDAwRkQ1RjBFQTIyNzQKKzoxMDM4NzQwMEU0OTA3NjI5RjA5MDc2MjlFMEZGNzVGMDBGQTQyNDQyQjUKKzoxMDM4ODQwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQTcKKzoxMDM4OTQwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjlFMDA0RjA4MEQ1QkEKKzoxMDM4QTQwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGMDYKKzoxMDM4QjQwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MkFGMDI0NUIKKzoxMDM4QzQwMEJGNzAwMjQxNDEyNEUwNzAwMjQxMTIyNDIxNjAwMjQxOTAKKzoxMDM4RDQwMDNBOTA3RkU5RTAyNEZFNjA3RDE0NzAwMjIxQjIyNDAyNTQKKzoxMDM4RTQwMDYwMDI0MTBBMTIxNzUxOTA3NjQyRTBGQ0EzRTBGREEzNjYKKzoxMDM4RjQwMEUwRkVBM0UwRkY5MDc2MjlFMDc1RjAwRkE0MjQ0M0Y1RTEKKzoxMDM5MDQwMDgyRTQzNDc1RjU4MzEyMzdCQzkwNzYxOUUwRkZCNDAxNzQKKzoxMDM5MTQwMDEyOTA3NjdDNzQ2N0YwOTA3NjdENzQwNkYwOTA3NjdFRDMKKzoxMDM5MjQwMDc0MEJGMEVGQjQwMjBGRTQ5MDc2N0NGMDkwNzY3REYwQTcKKzoxMDM5MzQwMDkwNzY3RTc0MENGMEVGQjQwMzBGRTQ5MDc2N0NGMDkwRjQKKzoxMDM5NDQwMDc2N0RGMDkwNzY3RTc0MThGMDkwNzYxQTc0MDFGMDEyRjkKKzoxMDM5NTQwMDNFOUYxMjE4MDAyMjkwN0VDMkUwRkZFNEZDRkRGRUZCQjUKKzoxMDM5NjQwMEZBNzkwMUY4MTIzNzQ2QzhFQ0M4QzlFREM5Q0FFRUNBREIKKzoxMDM5NzQwMENCRUZDQjkwN0VDMUUwRkVFNEZDRkQyQkZCRUEzRUZBRUMKKzoxMDM5ODQwMEVEMzlGOUVDMzhGODkwN0VDMEUwRkZFNEZFRUIyRkZGNTAKKzoxMDM5OTQwMEVFM0FGRUVEMzlGREVDMzhGQzkwNzYyOUUwNzVGMDBGMzcKKzoxMDM5QTQwMEE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0JDMjI5MDdFNTMKKzoxMDM5QjQwMEMyRTBGRkU0RkNGREZFRkJGQTc5MDFGODEyMzc0NkM4QzkKKzoxMDM5QzQwMEVDQzhDOUVEQzlDQUVFQ0FDQkVGQ0I5MDdFQzFFMEZFMEMKKzoxMDM5RDQwMEU0RkNGRDJCRkJFQTNFRkFFRDM5RjlFQzM4Rjg5MDdFNzUKKzoxMDM5RTQwMEMwRTBGRkU0RkVFQjJGRkZFRTNBRkVFRDM5RkRFQzM4Q0MKKzoxMDM5RjQwMEZDOTA3NjI5RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1MkQKKzoxMDNBMDQwMEY1ODMxMjM3QkMyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMEEKKzoxMDNBMTQwMEU5RTAxNDcwMTk5MDdFQzBFMEZGOTA3NjI5RTA3NUYwMUIKKzoxMDNBMjQwMDBGQTQyNDRGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRTAKKzowRTNBMzQwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5RgorOjEwM0E0MjAwRTQ5MDc2MzVGMDkwNzYzNUUwRkZDMzk0MDM0MDAyNDE2RQorOjEwM0E1MjAwRkZFRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNTgzRUYyQQorOjEwM0E2MjAwRjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTQzMworOjEwM0E3MjAwRjBFRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNzQ5MgorOjEwM0E4MjAwRjBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODMwNQorOjEwM0E5MjAwNzRGRkYwRUY3NUYwMEFBNDI0QUVGNTgyRTQzNDc1RjVGNAorOjEwM0FBMjAwODNFNEYwRUY3NUYwMEFBNDI0QUZGNTgyRTQzNDc1RjVFRgorOjEwM0FCMjAwODM3NDgwRjBFRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVDMworOjEwM0FDMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVDRAorOjEwM0FEMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVCQworOjEwM0FFMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVBQgorOjEwM0FGMjAwRjU4Mzc0MDFGMDkwNzYzNUUwMDRGMDQxNDc5MDc2M0MwRQorOjEwM0IwMjAwNzQwQUYwRTRBM0YwOTA3NjM1NzQwM0YwOTA3NjNDRTAwQQorOjEwM0IxMjAwRkY5MDc2MzVFMEZFQzM5RjQwMDI2MUQyOTA3NjNERTA5MQorOjEwM0IyMjAwRkYwNEYwRUU3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjVEOAorOjEwM0IzMjAwODNFRkYwRUU3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU1OAorOjEwM0I0MjAwODNFNEYwRUU3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU1MgorOjEwM0I1MjAwODM3NDVFRjBFRTc1RjAwQUE0MjRBREY1ODJFNDM0NzU0OAorOjEwM0I2MjAwRjU4Mzc0QkFGMEVFNzVGMDBBQTQyNEFFRjU4MkU0MzQ1QgorOjEwM0I3MjAwNzVGNTgzNzQwNUYwRUU3NUYwMEFBNDI0QUZGNTgyRTRCRQorOjEwM0I4MjAwMzQ3NUY1ODM3NDgwRjBFRTc1RjAwQUE0MjRCMEY1ODJFMgorOjEwM0I5MjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMUY1ODJGRAorOjEwM0JBMjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMkY1ODJFQworOjEwM0JCMjAwRTQzNDc1RjU4Mzc0MTVGMEVFNzVGMDBBQTQyNEIzRjVCOAorOjEwM0JDMjAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNUUwMDRGMDYxMEUxQQorOjAxM0JEMjAwMjJEMAorOjEwM0JEMzAwRTQ5MDc2MzZGMEUwRkI3NUYwMEZBNDI0NDFGNTgyRTQxRgorOjEwM0JFMzAwMzQ3NUY1ODM3NDQwRjBFQjc1RjAwRkE0MjQ0MkY1ODIyRAorOjEwM0JGMzAwRTQzNDc1RjU4Mzc0MEFGMEVCNzVGMDBGQTQyNDQzRjVGMAorOjEwM0MwMzAwODJFNDM0NzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjBEOQorOjEwM0MxMzAwMEZBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDBGNgorOjEwM0MyMzAwQUM0NEVCNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNCMworOjEwM0MzMzAwMTIzN0M4MDAwMTc3MDA5MDc2MzZFMDA0RjBFMEZCNzU5OAorOjEwM0M0MzAwRjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MEYwRUI1RQorOjEwM0M1MzAwNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDhDRjA3NworOjEwM0M2MzAwRUI3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4MzEyMzcyMgorOjEwM0M3MzAwQzgwMDAwQUM0NEVCNzVGMDBGQTQyNDQ3RjU4MkU0MzQ4QworOjEwM0M4MzAwNzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjAwRkE0MjQxQworOjEwM0M5MzAwNEJGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDE3NzAwOTA0MQorOjEwM0NBMzAwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTREQQorOjEwM0NCMzAwMzQ3NUY1ODM3NDQwRjBFRjc1RjAwRkE0MjQ0MkY1ODI1OAorOjEwM0NDMzAwRTQzNDc1RjU4Mzc0OEZGMDkwNzYzNkUwMDRGMEUwRkYwQQorOjEwM0NEMzAwNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQxRjA0MworOjEwM0NFMzAwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0ODRGMAorOjEwM0NGMzAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU3MAorOjEwM0QwMzAwODJFNDM0NzVGNTgzNzQ2MUYwRUY3NUYwMEZBNDI0NDJGNworOjEwM0QxMzAwRjU4MkU0MzQ3NUY1ODM3NDgxRjA5MDc2MzZFMDA0RjAyRgorOjEwM0QyMzAwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0NAorOjEwM0QzMzAwNjFGMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM0NgorOjA0M0Q0MzAwNzQwMUYwMjJGNQorOjEwM0Q0NzAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTBGNgorOjEwM0Q1NzAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZCMQorOjEwM0Q2NzAwQzBFMDkwN0ZBMkUwOTA3NjdGRjA5MDdGNzRFMDkwNzYzRAorOjEwM0Q3NzAwODdGMDkwN0Y3NUUwOTA3Njg4RjA5MDdGOThFMDQ0MDIxNgorOjEwM0Q4NzAwRjA5MDc2OTZFMEZGMjBFMTBDNDQwMkYwOTA4MDAzRjA3QgorOjEwM0Q5NzAwRDIzMjEyNEIyODkwNzY3RkUwMjBFMjUwOTA3Njg3RTA2RgorOjEwM0RBNzAwRkVBM0UwN0MwMDI0MDBGNTM0RUMzRUY1MzM5MDc2OThEMgorOjEwM0RCNzAwRTBGREFFMzNBRjM0MTIzNkQ4OTA3Njg3RUZGMEQyMkZDRQorOjEwM0RDNzAwMzAzMTI5MjAzRjI2QzIzMTkwN0Y5NEUwNTRDRkYwOTBDNAorOjEwM0RENzAwN0Y5QUUwMzBFNDA0RDIyREMyMkM5MDdGOUFFMDIwRTU1MAorOjEwM0RFNzAwMDRDMjJERDIyQzkwN0Y5NEUwNDQzMEYwMTI0OEJEMTJDQgorOjEwM0RGNzAwMUIwNDMwMkYxMjEyNDIxRkMyMkY3NUU4MDExMjE2OEFCOAorOjEwM0UwNzAwNzVFODBERDIyQjgwMDU3NUU4MDFDMjJCMjAyQjM0OTA2NQorOjEwM0UxNzAwNzYxOUUwRkZCNDAxMEU5MDc2N0M3NDY3RjBBMzc0MDYwMAorOjEwM0UyNzAwRjBBMzc0MEJGMEVGQjQwMjBCOTA3NjdDRTRGMEEzRjBGMAorOjEwM0UzNzAwQTM3NDBDRjBFRkI0MDMwQjkwNzY3Q0U0RjBBM0YwQTMyQgorOjEwM0U0NzAwNzQxOEYwNzVDQUQzNzVDQkZFRDJDQTMwMzQwNEMyMzRBNQorOjEwM0U1NzAwODAwMkQyMzQzMDM0MEQ5MDc2ODlFMEMzOTQwMzQwMDQ1NQorOjEwM0U2NzAwRTAyNEZERjA1MzkxRUY5MDdGQUI3NDAyRjBGMDkwN0Y2OAorOjEwM0U3NzAwOThFMDU0RkRGMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBDOAorOjEwM0U4NzAwRkNEMEUwRkJEMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDAxOQorOjA4M0U5NzAwODJEMDgzRDBGMEQwRTAzMkFDCis6MTAzRTlGMDA5MDc2OTJFMDE0NjAxRDE0NzAwMkUxNTQyNDAyNjAwMkM3Cis6MTAzRUFGMDBFMUU0OTA3Njk0NzQwMUYwOTA4MDAwRjBFNDkwNzY4RUM3Cis6MTAzRUJGMDBGMEQyMzEyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0ZGMjJCCis6MTAzRUNGMDBGMDkwN0ZGMzc0MzBGMDkwN0ZGRjc0RkNGMDkwNzY5NzUyCis6MTAzRURGMDBFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJGMERFCis6MTAzRUVGMDA5MDdGRjM3NDM0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDNFCis6MTAzRUZGMDA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjA5MDFCCis6MTAzRjBGMDA3RkYzNzQ2NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTA0NDM5Cis6MTAzRjFGMDAwNEYwOTA3Njk0RTA0NDAxRjA5MDgwMDBGMDMwM0YwOTc3Cis6MTAzRjJGMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDhBCis6MTAzRjNGMDA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNEYwOTA3NkU3Cis6MTAzRjRGMDA4RTc0MDFGMDIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RjhDCis6MTAzRjVGMDBGMkYwOTA3RkYzNzQ0NEYwOTA3RkZGNzRGQ0YwOTA3NjUyCis6MTAzRjZGMDA5N0UwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkE2Cis6MTAzRjdGMDBGMDkwN0ZGMzc0NENGMDkwN0ZGRjc0RkNGMDkwNzY5Nzg1Cis6MTAzRjhGMDBFMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDNBCis6MTAzRjlGMDA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDJECis6MTAzRkFGMDA0NDA0RjA5MDc2OTRFMDU0RkVGMDkwODAwMEYwMzAzRjlGCis6MTAzRkJGMDAwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUUxCis6MTAzRkNGMDBGMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA2RjA5MERCCis6MDYzRkRGMDA3NjhFNzQwMkYwMjI1MAorOjEwM0ZFNTAwOTA3RkVBRTA5MDc2ODJGMEU0OTA3NjkxRjA5MDc2OTI3OAorOjBCM0ZGNTAwRjA5MDc2OTBGMDkwNzY5M0YwRDMyMkNECis6MTA0MDAwMDBFNTExRDM5NDAwNTAwMjIxMDY5MDc2ODlFMEMzOTQwODBDCis6MTA0MDEwMDA0MDAyMjEwNjc0NDAyNTBGRjU4MkU0MzQ3RUY1ODNFMEVBCis6MTA0MDIwMDBGNTE3RTUwRDYwMEU5MDgwMDVFNTE3RjA5MDc2ODlFMEI0Cis6MTA0MDMwMDAwNEYwMDFEQUU1MTcxMjM3Rjk0MEMxMDI0MDY3MDU0MDg0Cis6MTA0MDQwMDA3QTA2NDA5ODA3NDBDMTBDNDBDMTBENDBDNzBGNDBDQkQ1Cis6MTA0MDUwMDBGNjQwQ0JGODQwQ0JGQTQwQ0JGQjQwQ0JGQzQwQ0JGRTRDCis6MTA0MDYwMDA0MENCRkYwMDAwNDBEQTkwN0U0MUUwOTA4MDA1RjA5MDY4Cis6MTA0MDcwMDA3Njg5RTAwNEYwNzUxMTAxODA2MDkwN0U0MUUwOTA4MEM3Cis6MTA0MDgwMDAwNUYwOTA3RTQyRTA5MDgwMDVGMDkwNzY4OUUwMDRGMEEzCis6MTA0MDkwMDBFMDA0RjA3NTExMDE4MDQyOTA3RTQxRTA5MDgwMDVGMENGCis6MTA0MEEwMDA5MDdFNDJFMDkwODAwNUYwOTA3RTQzRTA5MDgwMDVGMEE1Cis6MTA0MEIwMDA5MDc2ODlFMDA0RjBFMDA0RjBFMDA0RjA3NTExMDE4MEVFCis6MTA0MEMwMDAxOUQyM0JEMjNDODAxM0QyM0I4MDBGOTA4MDA1RTUxNzdDCis6MTA0MEQwMDBGMDkwNzY4OUUwMDRGMDc1MTEwMTIwM0IwNDA1MEQ4MDE1Cis6MTA0MEUwMDAxRjMwM0MxQzkwN0U0MUUwOTA4MDA1RjA5MDdFNDJFMEM1Cis6MTA0MEYwMDA5MDgwMDVGMDkwNzY4OUUwMDRGMEUwMDRGMDc1MTEwMUZECis6MTA0MTAwMDAwNTBGMTUxMTAxMDBFNTExNzAxMEMyMzNGNTBERjUwRjAzCis6MEI0MTEwMDA5MDdGQzc3NDA0RjBDMjNCQzIzQzIyNDkKKzoxMDQxMUIwMDkwNzY4REUwNjQwMTcwMjczMDI3MDhDMjI3MTIwODAwQzMKKzoxMDQxMkIwMDEyMTc0QTMwMjgwOEMyMjgxMjM4NzQxMjE3NEEzMDJBM0MKKzoxMDQxM0IwMDBFRTQ5MDc2OERGMEMyMkE5MDdGQjRFMDQ0MDJGMDkwQUEKKzoxMDQxNEIwMDc2M0ZFMEI0MDEwNUU0RjAxMjMyNkY5MDc2NDFFMEI0QjMKKzoxMDQxNUIwMDAxMDVFNEYwMTIzNDlBOTA3NjQwRTBCNDAxMDMxMjM0NzYKKzoxMDQxNkIwMDlBMTIzMDAwMzAzMzAzMTI0MDAwOTA3RjlCRTAyMEU0MjIKKzoxMDQxN0IwMDAyQzIzRjkwN0Y5QkUwMzBFNDAyRDIzRjkwN0Y5QkUwRjYKKzoxMDQxOEIwMDIwRTUwMkMyM0U5MDdGOUJFMDMwRTUwMkQyM0VBMjQxODkKKzoxMDQxOUIwMDMwM0YwMUIzNTAxRkEyM0Y5MjQxMzAzRjA5OTA3Njk3QjkKKzoxMDQxQUIwMEUwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3MEMKKzoxMDQxQkIwMEUwOTA4MDAyRjAzMDNGMzQ5MDc2MTlFMEZGQjQwMTBFQUUKKzoxMDQxQ0IwMDkwNzY3Qzc0NjdGMEEzNzQwNkYwQTM3NDBCRjBFRkI0RDUKKzoxMDQxREIwMDAyMEJFNDkwNzY3Q0YwQTNGMEEzNzQwQ0YwRUZCNDAzMjUKKzoxMDQxRUIwMDBCRTQ5MDc2N0NGMEEzRjBBMzc0MThGMEEyNDAzMDNFNjEKKzoxMDQxRkIwMDAxQjM1MDFGQTIzRTkyNDAzMDNFMDk5MDc2OTVFMDQ0QTkKKzoxMDQyMEIwMDA0RjA4MDA3OTA3Njk1RTA1NEZCRjA5MDc2OTVFMDkwNjMKKzowNDQyMUIwMDgwMDFGMDIyMEMKKzoxMDQyMUYwMDkwNzYxOUUwNjQwMTcwMzU5MDc2ODdFMEZGRDM5NDJEODYKKzoxMDQyMkYwMDQwMkI5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzMTEKKzoxMDQyM0YwMDk0MEY0MDE5RTRGMEVGRDM5NDMxNDAwODkwNzYxOTc0M0QKKzoxMDQyNEYwMDAzRjA4MDA2OTA3NjE5NzQwMkYwMTIzRTlGOTA3NjE5NTMKKzoxMDQyNUYwMEUwQjQwMjJDOTA3Njg3RTBGRkMzOTQyRjUwMjJFRkQzNjcKKzoxMDQyNkYwMDk0MkE0MDFDOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRDUKKzoxMDQyN0YwMEUwRDM5NDBGNDAwQUU0RjA5MDc2MTkwNEYwMTIzRTlGQjkKKzoxMDQyOEYwMDkwNzYxOUUwQjQwMjI2OTA3Njg3RTBEMzk0MzE0MDFERTIKKzoxMDQyOUYwMDkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNjkKKzoxMDQyQUYwMDQwMEJFNEYwOTA3NjE5NzQwM0YwMTIzRTlGOTA3NjE5NEMKKzoxMDQyQkYwMEUwNjQwMzcwM0Y5MDc2ODdFMEZGQzM5NDVGNTAzNTkwQzIKKzoxMDQyQ0YwMDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjQwODkKKzoxMDQyREYwMDIzRTRGMEVGQzM5NDJGNTAwQ0VGRDM5NDJBNDAwNjkwQjEKKzoxMDQyRUYwMDc2MTk3NDAxRjBFRkQzOTQyRjQwMDY5MDc2MTk3NDAyNkIKKzoxMDQyRkYwMEYwMTIzRTlGOTA3Njg2RTA3MDA1OTA3Njg1RjAyMkU0NkUKKzowNTQzMEYwMDkwNzY4NkYwMjIwQgorOjEwNDMxNDAwRTQ5MDc2OTZGMDkwODAwM0YwOTA3RkUwNzQ5MEYwOTBCMworOjEwNDMyNDAwN0ZFMTc0MDRGMEU0OTA3RkRERjA5MDdGQTFGMDUzOEU4MAorOjEwNDMzNDAwRjg3NTg4MDU3NUI4MjA3NUY4MDE0MzhFMzBGNUM4NzU5MQorOjEwNDM0NDAwQ0E3Rjc1Q0JGODQzQTgyMDEyNDU2NUMyMkNDMjJEQzI4MgorOjEwNDM1NDAwMkJDMjJGOTA3RkZDNzREREYwOTA3RkZGNzRGRkYwOTBGMAorOjEwNDM2NDAwN0Y5N0UwNDQwMUYwOTA3NjE5NzQwMUYwRTQ5MDc2ODUyQgorOjEwNDM3NDAwRjBBM0YwOTA3NjgxRjA5MDc2ODBGMDEyNDlBRTEyMEY5RgorOjEwNDM4NDAwQzYxMjRBRjE5MDdGOTdFMDQ0MDhGMEUwNTRCOUYwRDJBNQorOjEwNDM5NDAwMzAyMDMwMTgxMjRBQTYxMjMwMDAxMjQwMDAxMjQyMUY3OAorOjEwNDNBNDAwMTI0OEJEMTIxQjA0MTIxNjYxMTI0MjFGMTI0QUE2QzIwMQorOjEwNDNCNDAwMkZDMjMxQzIzMkMyMzRDMjMzQzIyOUMyMjdDMjI4RTQ1NgorOjEwNDNDNDAwRjUxMTkwNzY4OUYwOTA3NjNGRjA5MDc2NDFGMDkwNzZGMgorOjEwNDNENDAwNDBGMDkwNzY4QUYwQTNGMEEzMDRGMEU0QTNGMDkwNzY4MgorOjAzNDNFNDAwOTlGMDIyMkIKKzoxMDQzRTcwMDEyNEUxOTQwMDI4MUFDOTA3RkVCRTAyNEZFNjAxRTE0NTAKKzoxMDQzRjcwMDYwNDYxNDYwNkUxNDcwMDI4MTlEMjQwNDYwMDI4MUE1REEKKzoxMDQ0MDcwMDc0MDU5MDdGRDRGMDc0MDA5MDdGRDVGMDIyOTA3RkVBRjYKKzoxMDQ0MTcwMEUwRkYxMjRBNTU4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFOTIKKzoxMDQ0MjcwMEVBQ0VFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyQTAKKzoxMDQ0MzcwMDkwN0ZCNEUwNDQwMUYwMjI5MDdGRUFFMEZGMTI0N0I3OTMKKzoxMDQ0NDcwMDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFRUU5MDdGM0QKKzoxMDQ0NTcwMEQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGQjRFMDQ0M0UKKzoxMDQ0NjcwMDAxRjAyMjkwN0ZFQUUwRkY5MDdFQzBFMEZEQTNFMEZCMzEKKzoxMDQ0NzcwMDEyMTc5NDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFNEQKKzoxMDQ0ODcwMEVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGRTkKKzoxMDQ0OTcwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMjEKKzowNTQ0QTcwMEI0RTA0NDAxRjA0NworOjAxNDRBQzAwMjJFRAorOjEwNDRBRDAwQzJBRkQyMjQ5MDdGOTM3NDMwRjA5MDdGOUM3NEJCRjA5OAorOjEwNDRCRDAwOTA3Rjk2RTA0NDMwRjBFMDU0MzBGMDkwN0Y5NDc0MzA2QgorOjEwNDRDRDAwRjA5MDdGOUQ3NENGRjA5MDdGOTc3NEEwRjA5MDdGOTVDMgorOjEwNDRERDAwNzRDMEYwOTA3RjlFNzQwM0YwOTA3Rjk5RTAzMEUyMDlGNAorOjEwNDRFRDAwOTAwNTE5NzRBMEYwRTRBM0YwQzIyNUMyMjJDMjIzQzIyNAorOjEwNDRGRDAwMjYxMjRCMjgxMjJEQTkxMjNCRDMxMjQ2MTkxMjNBNDJGRAorOjEwNDUwRDAwOTA3NjY4NzQwMUYwNzAwRjEyNEMyOTEyNEUxNTEyNEVGMAorOjEwNDUxRDAwMTcxMjFCNDAxMjE0OTYxMjQzMTQ5MDdGQUZFMDQ0MDEwMgorOjEwNDUyRDAwRjA5MDdGQUVFMDQ0MUZGMDkwN0ZBQzc0RkZGMDkwN0Y3MQorOjEwNDUzRDAwQURGMDkwN0ZERUYwOTA3RkRGRjA5MDdGQUJGMDkwN0Y1RAorOjEwNDU0RDAwQTlGMDkwN0ZBQUYwNTM5MUVGNDNEODIwRDJFODQzRDgzOQorOjA4NDU1RDAwMjA1M0E4QTA0M0E4ODAyMjBFCis6MTA0NTY1MDA5MDc2OUE3NDAyRjBFNDkwNzY5MUYwQTNGMDkwNzY5MEFDCis6MTA0NTc1MDBGMDkwNzY5M0YwOTA3Njk2NzQwM0YwOTA4MDAzRjBFNEQzCis6MTA0NTg1MDA5MDc2OTdGMDkwODAwMkYwOTA3Njk0MDRGMDkwODAwMEY5Cis6MTA0NTk1MDBGMEU0OTA3NjhFRjA5MDc2MUFGMDkwNzY5NTA0RjBDMjVECis6MTA0NUE1MDAyRTkwN0Y5QkUwRkY1NDEwRkY3MDAyQzIzRjkwN0Y5QkNGCis6MTA0NUI1MDBFMEZGNTQxMEZFRkZCRTEwMDJEMjNGOTA3RjlCRTBGRjRDCis6MTA0NUM1MDA1NDIwRkY3MDAyQzIzRTkwN0Y5QkUwRkY1NDIwRkVGRjA3Cis6MTA0NUQ1MDBCRTIwMDJEMjNFMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDJGCis6MTA0NUU1MDAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMDhFCis6MTA0NUY1MDAzMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMDhBCis6MTA0NjA1MDA1NEZCRjA5MDc2OTVFMDkwODAwMUYwQTIzRTkyNDBBMjk2Cis6MDM0NjE1MDAzRjkyNDE5MAorOjAxNDYxODAwMjI3RgorOjEwNDYxOTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRFNQorOjEwNDYyOTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTRERgorOjEwNDYzOTAwMzQ3NUY1ODM3NDAxRjA5MDc2MzZFMDA0RjBFMEZGNzU4NworOjEwNDY0OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzVDMAorOjEwNDY1OTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwMkYwOTBGMQorOjEwNDY2OTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTQyNQorOjEwNDY3OTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTQ4RgorOjEwNDY4OTAwMzQ3NUY1ODM3NDAzRjA5MDc2MzZFMDA0RjBFMEZGNzUzNQorOjEwNDY5OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzU3MAorOjEwNDZBOTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwNEYwMjIwRAorOjBDNDZCOTAwNzg3RkU0RjZEOEZENzU4MTM4MDI0NzAwRDgKKzoxMDQ2QzUwMDAyMDdBNkU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyNUUKKzoxMDQ2RDUwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzRjYKKzoxMDQ2RTUwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGQzUKKzoxMDQ2RjUwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDOEZFNDdFQkEKKzoxMDQ3MDUwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQjkKKzoxMDQ3MTUwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzODAKKzoxMDQ3MjUwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBQUIKKzoxMDQ3MzUwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFNjMKKzoxMDQ3NDUwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxRDE0NjAyQTE0RUQKKzoxMDQ3NTUwMDYwMzcxNDYwNDQyNDA0NzA1MDkwNzY5MUUwOTA3RjAwOTcKKzoxMDQ3NjUwMEYwOTA3RkI1NzQwMUYwODA0NzkwNzY5MkUwOTA3RjAwREQKKzoxMDQ3NzUwMEYwOTA3RkI1NzQwMUYwODAzNzkwNzY5MEUwOTA3RjAwREYKKzoxMDQ3ODUwMEYwOTA3RkI1NzQwMUYwODAyNzkwNzY4NEUwOTA3RjAwRUIKKzoxMDQ3OTUwMEYwOTA3RkI1NzQwMUYwODAxNzkwNzY5M0UwOTA3RjAwREMKKzoxMDQ3QTUwMEYwOTA3RkI1NzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOEMKKzowMjQ3QjUwMEQzMjIwRAorOjAyNDdCNzAwOEYyRTQzCis6MTA0N0I5MDBFNEY1MkY3NTMwRkY3NTMxMDc3NTMyMUFBQjMwQUEzMTIwCis6MTA0N0M5MDBBOTMyOTAwMDAxMTIzNkFCQjQwMzFGQUYyRjA1MkZFRkFBCis6MTA0N0Q5MDA2NTJFNzAwMTIyMTIzNjkyN0UwMDI5RkZFRTNBQzlFRjRBCis6MTA0N0U5MDBDOTc1MzBGRkY1MzE4OTMyODBEMjdCMDA3QTAwNzkwMEIyCis6MDE0N0Y5MDAyMjlECis6MDY0N0ZBMDAxMjRCMjhDMjMxMjIxRgorOjEwNDgwMDAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTAzMgorOjEwNDgxMDAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZFRAorOjEwNDgyMDAwQzBFMEMyQ0FDMkNGOTA3Rjk4RTA0NDAxRjAzMDJFMDNBRQorOjEwNDgzMDAwMTIxNEE2OTA3Rjk4RTA1NEZFRjA1M0E4RkExMjE2NjE2NQorOjEwNDg0MDAwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDAzNworOjEwNDg1MDAwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDgyRDA4M0QwRjAyOAorOjAzNDg2MDAwRDBFMDMyNzMKKzoxMDQ4NjMwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxNzE0NjAyMTE0REQKKzoxMDQ4NzMwMDYwMkIxNDYwMzIyNDA0NzAzODkwN0ZFQUUwOTA3NjkxQzQKKzoxMDQ4ODMwMEYwODAzNTkwN0ZFQUUwOTA3NjkyRjAxMjNFOUY4MDI4ODgKKzoxMDQ4OTMwMDkwN0ZFQUUwOTA3NjkwRjAxMjE4MDA4MDFCOTA3RkVBRjgKKzoxMDQ4QTMwMEUwOTA3Njg0RjA4MDExOTA3RkVBRTA5MDc2OTNGMDgwMzgKKzowQTQ4QjMwMDA3OTA3RkI0RTA0NDAxRjBEMzIyMjcKKzoxMDQ4QkQwMDMwMkQzOUMyMkQ5MDc2MTlFMEZGQjQwMTBERTQ5MDc2QkMKKzoxMDQ4Q0QwMDdDRjBBMzc0RjhGMEEzNzQwQUYwRUZCNDAyMERFNDkwMzkKKzoxMDQ4REQwMDc2N0NGMEEzNzRGMEYwQTM3NDBCRjBFRkI0MDMwREU0NDkKKzowRDQ4RUQwMDkwNzY3Q0YwQTM3NEY4RjBBMzc0MTdGMDIyMEQKKzowNjQ4RkEwMDUzOTFCRkQyMkQzMkU0Cis6MTA0OTAwMDAwMjJGRTcwMDAyM0Q0NzAwMDI0REI0MDAwMjRDNDMwMDc1Cis6MTA0OTEwMDAwMjRCRTkwMDAyMkZGRjAwMDI0QzVCMDAwMjRDMEEwMDMwCis6MTA0OTIwMDAwMjRDNzIwMDAyNEI1QTAwMDI0Qzg5MDAwMjRDQTAwMDVCCis6MTA0OTMwMDAwMjRDQjcwMDAyNENDRTAwMDI0Q0U1MDAwMjRDRkMwMEQ5Cis6MTA0OTQwMDAwMjREMTMwMDAyNEQyQTAwMDI0RDQxMDAwMjRENTgwMDU1Cis6MDg0OTUwMDAwMjRENkYwMDAyNEQ4NjAwQ0MKKzoxMDQ5NTgwMEU0OTA3NjI2RjA5MDc2MjZFMEZGNzVGMDAzQTQyNDM0RTAKKzoxMDQ5NjgwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQjIKKzoxMDQ5NzgwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjZFMDA0RjA4MEQ1Q0EKKzoxMDQ5ODgwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzMUYKKzoxMDQ5OTgwMEE0MjQzMkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwMkEKKzowNjQ5QTgwMDdGQjU3NDAxRjAyMjRFCis6MTA0OUFFMDA5MDc2NDY3NDgwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0Y2Cis6MTA0OUJFMDBGMEEzRjBBM0YwQTNGMEEzNzQ4MEYwRTRBM0YwQTNGMEFGCis6MTA0OUNFMDBBM0YwQTNGMEEzRjBBM0YwQTM3NDQwRjBFNEEzRjBBMzJDCis6MTA0OURFMDA3NDQwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0YwQTNGMENGCis6MTA0OUVFMDBBMzc0NDBGMEU0QTNGMEEzNzQ0MEYwRTRBM0YwQTNGMEFBCis6MDU0OUZFMDBBM0YwQTNGMDIyNkMKKzoxMDRBMDMwMEU0OTA3NjI1RjA5MDc2MjVFMEZGNzVGMDAzQTQyNDM0MzYKKzoxMDRBMTMwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEMDYKKzoxMDRBMjMwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjVFMDA0RjA4MEQ1MUYKKzoxMDRBMzMwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMjkwN0VDMEUwMUMKKzoxMDRBNDMwMEZFRUY3NUYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0VFQUEKKzowMjRBNTMwMEYwMjI0RgorOjEwNEE1NTAwRTRGRTc1MURGRjc1MUUwNTc1MUYxMkFCMURBQTFFQTk2NworOjEwNEE2NTAwMUY5MDAwMDExMjM2QUI2NDAyNzAyRkNERUVDRDBFRUQxNgorOjEwNEE3NTAwNkY3MDAxMjI5MDAwMDIxMjM3MEU4NUYwMUJGNTFDNjI0MworOjEwNEE4NTAwMUJFNTFCNjIxQ0U1MUM2MjFCMjlGREU1MUIzQUM5RURGNAorOjEwNEE5NTAwQzk3NTFERkZGNTFFODkxRjgwQzE3QjAwN0EwMDc5MDA0RAorOjAxNEFBNTAwMjJFRQorOjEwNEFBNjAwRTQ5MDc2OUJGMDkwNzY5QkUwRkYwNEYwRUY2MDA4RTBFMAorOjEwNEFCNjAwMjQwOEY4RTRGNjgwRUU5MDc2OTZFMDQ0MDRGMDQ0MDg4NAorOjEwNEFDNjAwRjA5MDgwMDNGMEU0RjUxOEQyMzVGNTBFRjUxMEQyMzZFNQorOjEwNEFENjAwNzUxMjExNzUxMzIyQzIzN0MyMzlDMjM4RjUxNkY1MTQ4QworOjBCNEFFNjAwRjUxQUY1MERDMjNCQzIzQ0MyM0QyMjk4Cis6MTA0QUYxMDBFNEZGNzQ1NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyOEUyCis6MTA0QjAxMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NUUyRkY1ODJFNEI0Cis6MTA0QjExMDAzNDc2RjU4M0UwRkU3NDM4MkZGNTgyRTQzNDgwRjU4MzMyCis6MDY0QjIxMDBFRUYwMEZCRjA4Q0MwRQorOjAxNEIyNzAwMjI2QgorOjEwNEIyODAwRTQ5MDcyMzZGMEEzRjA5MDdGOTdFMDU0RkJGMEU0OTBBNQorOjEwNEIzODAwNzIzM0YwOTA3MjMyRjA5MDcyMDEwNEYwRTQ5MDcyMzNBNAorOjEwNEI0ODAwRjA5MDcyMzJGMDkwNzIwMTA0RjA5MDdGOTdFMDQ0MDQ4NAorOjAyNEI1ODAwRjAyMjQ5Cis6MTA0QjVBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDJGMDg0Cis6MTA0QjZBMDA5MDdGQzdFMEY1MTE3NTBGMDA3NTBEMDBEMjMzRDA4MjIyCis6MDU0QjdBMDBEMDgzRDBFMDMyMDEKKzoxMDRCN0YwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDQyMDRFMDQ0NkMKKzoxMDRCOEYwMDAyRjA3RkRDN0UwNTEyNEQ5RDkwN0ZENkUwNTRGN0YwNEEKKzowNTRCOUYwMEUwNDQwNEYwMjJENworOjEwNEJBNDAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTI4RQorOjEwNEJCNDAwNDk1ODIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQ0RAorOjAzNEJDNDAwMDFGMDIyREIKKzoxMDRCQzcwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjRBQjEKKzoxMDRCRDcwMDAzMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxQzcKKzowMjRCRTcwMEYwMjJCQQorOjEwNEJFOTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwOTAwNgorOjEwNEJGOTAwNzY5NkUwNTRGREYwOTA4MDAzRjBEMDgyRDA4M0QwRTAyNworOjAxNEMwOTAwMzI3OAorOjEwNEMwQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAxRjBENAorOjBGNEMxQTAwQzIyOTkwNzY4RDc0MDFGMEQwODJEMDgzRDBFMDMyMjEKKzoxMDRDMjkwMDkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjE0N0UwMDEyNTUKKzowQTRDMzkwMDREOUQ5MDdGRDZFMDU0RkVGMDIyNUUKKzoxMDRDNDMwMEMwRTBDMDgzQzA4MkQyMjU1MzkxRUY5MDdGQUI3NDA4M0MKKzowODRDNTMwMEYwRDA4MkQwODNEMEUwMzJFMgorOjEwNEM1QjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAxRjA4NAorOjA3NEM2QjAwRDA4MkQwODNEMEUwMzJCQgorOjEwNEM3MjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAyRjA2QworOjA3NEM4MjAwRDA4MkQwODNEMEUwMzJBNAorOjEwNEM4OTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA0RjA1MworOjA3NEM5OTAwRDA4MkQwODNEMEUwMzI4RAorOjEwNENBMDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA0RjAzQgorOjA3NENCMDAwRDA4MkQwODNEMEUwMzI3NgorOjEwNENCNzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA4RjAyMQorOjA3NENDNzAwRDA4MkQwODNEMEUwMzI1RgorOjEwNENDRTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA4RjAwOQorOjA3NENERTAwRDA4MkQwODNEMEUwMzI0OAorOjEwNENFNTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDEwRjBFQgorOjA3NENGNTAwRDA4MkQwODNEMEUwMzIzMQorOjEwNENGQzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDEwRjBEMworOjA3NEQwQzAwRDA4MkQwODNEMEUwMzIxOQorOjEwNEQxMzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDIwRjBBQworOjA3NEQyMzAwRDA4MkQwODNEMEUwMzIwMgorOjEwNEQyQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDIwRjA5NAorOjA3NEQzQTAwRDA4MkQwODNEMEUwMzJFQgorOjEwNEQ0MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDQwRjA1RQorOjA3NEQ1MTAwRDA4MkQwODNEMEUwMzJENAorOjEwNEQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDQwRjA0NgorOjA3NEQ2ODAwRDA4MkQwODNEMEUwMzJCRAorOjEwNEQ2RjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDgwRjBGMAorOjA3NEQ3RjAwRDA4MkQwODNEMEUwMzJBNgorOjEwNEQ4NjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDgwRjBEOAorOjA3NEQ5NjAwRDA4MkQwODNEMEUwMzI4RgorOjEwNEQ5RDAwOEUzNThGMzZFNTM2MTUzNkFFMzU3MDAyMTUzNTRFNjBDQgorOjA3NERBRDAwMDUxMjE0ODU4MEVFMjJCRgorOjEwNERCNDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwNEYwRDAwNQorOjA2NERDNDAwODJEMDgzRDBFMDMyMzIKKzoxMDREQ0EwMDkwNzY4MkUwOTA3RjAwRjA5MDdGQjU3NDAxRjBEMzIyNTQKKzowQzREREEwMEMyMzdFNEY1MEVGNTEwQzIzNkY1MTQyMkM1Cis6MDk0REU2MDBDMjI1NTNEOEVGNDNEODIwMzI1NgorOjA3NERFRjAwNTM5OEZFNTM5OEZEMzJCQQorOjA3NERGNjAwNTNDMEZFNTNDMEZEMzI2MworOjA2NERGRDAwNTM5MTdGRDIyQzMyMUQKKzowNDRFMDMwMDUzOTFERjMyQjYKKzowNDRFMDcwMDUzRDhGNzMyNTMKKzowNDRFMEIwMDEyMTczMDIyMjgKKzowMzRFMEYwMEMyOEQzMjFGCis6MDM0RTEyMDBDMjhGMzIxQQorOjAyNEUxNTAwRDMyMkE2Cis6MDI0RTE3MDBEMzIyQTQKKzowMjRFMTkwMEQzMjJBMgorOjAyNEUxQjAwRDMyMkEwCis6MDI0RTFEMDBEMzIyOUUKKzowMjRFMUYwMEQzMjI5QworOjAyNEUyMTAwQzMyMkFBCis6MDAwMDAwMDFGRgorLyoKK1NvdXJjZTogRU1JNjJNRlcuSEVYCitWRVJTSU9OPTEuMDQuMDYyCitEQVRFPTE2LjEwLjIwMDIKKyovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWk2Mi9zcGRpZi5IRVggYi9maXJtd2FyZS9lbWk2Mi9zcGRpZi5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzIyZDUwYwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTYyL3NwZGlmLkhFWApAQCAtMCwwICsxLDEyNTcgQEAKKzowMzAwMDAwMDAyNDVGOUJECis6MDMwMDAzMDAwMjBGRkRFQworOjAzMDAwQjAwMDI0RDlCMDgKKzowMzAwMTMwMDAyMTdGREQ0Cis6MDMwMDFCMDAwMjREOUVGNQorOjAzMDAyMzAwMDI0RDc1MTYKKzowMzAwMkIwMDAyNDZGNzkzCis6MDMwMDMzMDAwMjRENkMwRgorOjAzMDAzQjAwMDI0RDdDRjcKKzowMzAwNDMwMDAyNDkwMDZGCis6MDMwMDRCMDAwMjREOEZENAorOjAzMDA1MzAwMDI0RDgzRDgKKzowMzAwNUIwMDAyNEQ4OUNBCis6MDMwMDYzMDAwMjREOTNCOAorOjEwMDUwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgxMTAxMDAwMTAxMDJGRgorOjEwMDUxMDAwMDAwMTA5MDJBQzAxMDMwMTAwODAzMjA5MDQwMDAwMDA1RgorOjEwMDUyMDAwMDEwMTAwMDAwQTI0MDEwMDAxNTYwMDAyMDEwMjBDMjQwRQorOjEwMDUzMDAwMDIwMTAxMDEwMDAyMDAwMDAwMDAwRDI0MDYwNTAxMDI3NQorOjEwMDU0MDAwMDMwMDAwMDAwMDAwMDAwOTI0MDMwMjA0MDMwMDA1MDA2QQorOjEwMDU1MDAwMEMyNDAyMDMwNTAyMDAwNjAwMDAwMDAwMTUyNDA2MDYxNAorOjEwMDU2MDAwMDMwMjAwMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAzMDA3NAorOjEwMDU3MDAwMDAwOTI0MDMwNDAxMDEwMDA2MDAwOTA0MDEwMDAwMDEzMAorOjEwMDU4MDAwMDIwMDAwMDkwNDAxMDEwMjAxMDIwMDAwMDcyNDAxMDEyOAorOjEwMDU5MDAwMDAwMTAwMTEyNDAyMDEwMjAyMTAwMzQ0QUMwMDgwQkJFMAorOjEwMDVBMDAwMDAwMDc3MDEwOTA1MEEwNTg0MDEwMTAwOEYwNzI1MDE3NAorOjEwMDVCMDAwMDEwMDAwMDAwOTA1OEYwMTAzMDAwMTA1MDAwOTA0MDE4NQorOjEwMDVDMDAwMDIwMjAxMDIwMDAwMDcyNDAxMDEwMDAxMDAxMTI0MDJCRgorOjEwMDVEMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU0OQorOjEwMDVFMDAwMEEwNTQ2MDIwMTAwOEYwNzI1MDEwMTAwMDAwMDA5MDVFOAorOjEwMDVGMDAwOEYwMTAzMDAwMTA1MDAwOTA0MDIwMDAwMDEwMjAwMDA1MAorOjEwMDYwMDAwMDkwNDAyMDEwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDBBNQorOjEwMDYxMDAwMEUyNDAyMDEwNjAyMTAwMjQ0QUMwMDgwQkIwMDA5MDU1MgorOjEwMDYyMDAwOEMwNTRDMDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDRBRQorOjEwMDYzMDAwMDIwMjAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDBFMjQ0RgorOjEwMDY0MDAwMDIwMTA2MDMxODAyNDRBQzAwODBCQjAwMDkwNThDMDVCQQorOjEwMDY1MDAwNzIwMzAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyMDNFMworOjEwMDY2MDAwMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyMDExRAorOjEwMDY3MDAwMDIwMjEwMDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1OEMyNgorOjEwMDY4MDAwMDU4NDAxMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDJBMQorOjEwMDY5MDAwMDQwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDJFQQorOjEwMDZBMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU3OAorOjEwMDZCMDAwOEMwNTQ2MDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA0MDMyQQorOjEwMDZDMDAwMDkwNDE4MDM0NTAwNkQwMDYxMDA2NzAwNjkwMDYzMDBCQworOjEwMDZEMDAwMjAwMDQ3MDA2RDAwNjIwMDQ4MDAyMjAzNDUwMDZEMDBDNQorOjEwMDZFMDAwNjEwMDY3MDA2OTAwNjMwMDIwMDA0NTAwNEQwMDQ5MDA3QgorOjEwMDZGMDAwMjAwMDM2MDA3QzAwMzIwMDIwMDA2RDAwMkEwMzQzMDBGOQorOjEwMDcwMDAwNkYwMDZFMDA2NjAwNjkwMDY3MDA3NTAwNzIwMDYxMDA4RQorOjEwMDcxMDAwNzQwMDY5MDA2RjAwNkUwMDIwMDA1MzAwNzQwMDcyMDBDNgorOjEwMDcyMDAwNjkwMDZFMDA2NzAwMjIwMzQ5MDA2RTAwNzQwMDY1MDBENgorOjEwMDczMDAwNzIwMDY2MDA2MTAwNjMwMDY1MDAyMDAwNTMwMDc0MDBEMQorOjBBMDc0MDAwNzIwMDY5MDA2RTAwNjcwMDAwMDBGRgorOjEwMDc0QTAwOTA3NjlBNzQwMkYwRTQ5MDc2OTFGMEEzRjA5MDc2OTAwNQorOjEwMDc1QTAwRjA5MDc2OTNGMDkwNzY5Njc0MDNGMDkwODAwM0YwRTQyQworOjEwMDc2QTAwOTA3Njk3RjA5MDgwMDJGMDkwNzY5NDA0RjA5MDgwMDA1MgorOjEwMDc3QTAwRjBFNDkwNzY4RUYwOTA3NjFBRjA5MDc2OTUwNEYwQzJCNgorOjEwMDc4QTAwMkU5MDdGOUJFMEZGNTQxMEZGNzAwMkMyM0Y5MDdGOUIyOAorOjEwMDc5QTAwRTBGRjU0MTBGRUZGQkUxMDAyRDIzRjkwN0Y5QkUwRkZBNQorOjEwMDdBQTAwNTQyMEZGNzAwMkMyM0U5MDdGOUJFMEZGNTQyMEZFRkY2MAorOjEwMDdCQTAwQkUyMDAyRDIzRTMwM0YwOTkwNzY5N0UwNTRGRUYwODA4OAorOjEwMDdDQTAwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjBFNworOjEwMDdEQTAwMzAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTBFMworOjEwMDdFQTAwNTRGQkYwOTA3Njk1RTA5MDgwMDFGMEEyM0U5MjQwQTJGMAorOjAzMDdGQTAwM0Y5MjQxRUEKKzowMTA3RkQwMDIyRDkKKzowMjA3RkUwMEQzMjIwNAorOjEwMDgwMDAwRTQ5MDc2MzFGMDkwNzYzMUUwRkY3NUYwMDNBNDI0MEY4OAorOjEwMDgxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0QQorOjEwMDgyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYzMUUwMDRGMDgwRDU1MQorOjEwMDgzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNCMQorOjEwMDg0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYzM0YwMjQyOQorOjEwMDg1MDAwRjA2MDBBMjQwRTYwMDI4MTg3MTI0QjNFMjI5MDdGRURFOQorOjEwMDg2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzNzc0MDE0NQorOjEwMDg3MDAwRjA5MDc2Mzk3NDAzRjA5MDc2MjFGMEU0OTA3NjIwRjBEMQorOjEwMDg4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MjBFMEZGNzVGMDBBQTRGNAorOjEwMDg5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1QQorOjEwMDhBMDAwRUU2RDYwMTI5MDc2MjFFMEZFRUZDMzlFNTAwODkwNzZDOAorOjEwMDhCMDAwMjBFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFNQorOjEwMDhDMDAwMTg3NDA2RjA5MDc2Mzc3NDA0RjA5MDc2Mzk3NDBBRjA1NAorOjEwMDhEMDAwOTA3NjIxRjA5MDc2MjA3NDAzRjA5MDdGRUFFMEY0NjA0NworOjEwMDhFMDAwMkY5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2NAorOjEwMDhGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY4NAorOjEwMDkwMDAwMjFFMEZFRUZDMzlFNTAwODkwNzYyMEUwMDRGMDgwRDFGNQorOjEwMDkxMDAwOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVFRAorOjEwMDkyMDAwRjU4M0UwOTA3MjI5RjBFNDkwNzYzQkYwOTA3NjIxRTAzOAorOjEwMDkzMDAwRkVFRjZFNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJGMAorOjEwMDk0MDAwRTAxNDYwMTMxNDcwMDIyMUUyMjQwMjYwMDI4MTdGOTA5RgorOjEwMDk1MDAwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDE0NzA3QzkwN0Y0NgorOjEwMDk2MDAwRUFFMEY0NzA0ODkwNzYzN0UwOTA3NjIwRjA5MDc2Mzk5RgorOjEwMDk3MDAwRTBGRTkwNzYyMEUwRkRDMzlFNTAyQjkwNzYzQkUwRkU5QgorOjEwMDk4MDAwMDRGMDc0QzAyRUY1ODJFNDM0N0VGNTgzRTBGRUVENzU0QworOjEwMDk5MDAwRjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRUVGMDkwNzY4QQorOjEwMDlBMDAwMjBFMDA0RjA4MEM3OTA3NjNGNzQwMUYwMjI5MDdFQzA3MgorOjEwMDlCMDAwRTBGRUVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODMwQworOjEwMDlDMDAwRUVGMEUwQjQwMTA4OTA3NjNFNzQwMUYwODAwNUU0OTAwQQorOjEwMDlEMDAwNzYzRUYwOTA3NjNGNzQwMUYwMjI5MDdGQjRFMDQ0MDFCRgorOjEwMDlFMDAwRjAyMjkwN0ZFOUUwMjRGRTcwMDI0MUEzMTQ3MDAyNjFCRQorOjEwMDlGMDAwM0YxNDcwMDI2MURCMjQwMzYwMDI4MTc3OTA3RkVBRTA5QworOjEwMEEwMDAwRjQ3MDZCOTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkZDNgorOjEwMEExMDAwOTA3NjIwRTBGRUMzOUY1MDRFOTA3NjNCRTBGRjA0RjBCRQorOjEwMEEyMDAwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBMgorOjEwMEEzMDAwQTQyNEFDRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCRTBDNgorOjEwMEE0MDAwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUVGRQorOjEwMEE1MDAwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTBDNworOjEwMEE2MDAwNzYyMEUwMDRGMDgwQTQ5MDc2NDA3NDAxRjAyMjkwN0UxRAorOjEwMEE3MDAwQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBQ0Y1ODI3OQorOjEwMEE4MDAwRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEE3NworOjEwMEE5MDAwQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjQxNzRDQgorOjEwMEFBMDAwMDFGMDIyOTA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzY2RAorOjEwMEFCMDAwMjBGMDkwNzYzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI2MAorOjEwMEFDMDAwODE4RTkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQxMQorOjEwMEFEMDAwN0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFFRjU4MkU0MzRERgorOjEwMEFFMDAwNzVGNTgzRUZGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjVDRQorOjEwMEFGMDAwODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFGRjVCRQorOjEwMEIwMDAwODJFNDM0NzVGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI2MworOjEwMEIxMDAwOTA3RUMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUUzRgorOjEwMEIyMDAwRjU4MkU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzU1OQorOjEwMEIzMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRUZGMDIyOTAzNworOjEwMEI0MDAwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzY1OQorOjEwMEI1MDAwMzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzZDMAorOjEwMEI2MDAwM0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBBRgorOjEwMEI3MDAwRkZFRTc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRUYzNgorOjEwMEI4MDAwRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGMQorOjEwMEI5MDAwRjU4M0UwRkZFRTc1RjAwQUE0MjRCMUY1ODJFNDM0NzUyNAorOjEwMEJBMDAwRjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTAyNAorOjEwMEJCMDAwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEIwRjU4MkU0MzRCQworOjEwMEJDMDAwNzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjQ4NgorOjEwMEJEMDAwQjFGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFQUUwRjQxQQorOjEwMEJFMDAwNzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGOTA0RQorOjEwMEJGMDAwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2M0JFMEZGMDRBQQorOjEwMEMwMDAwRjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjBEQQorOjEwMEMxMDAwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JCNAorOjEwMEMyMDAwRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkYyQQorOjEwMEMzMDAwRUU3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU4M0VGRjA4MQorOjEwMEM0MDAwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwRkY5MDc2MjBCNQorOjEwMEM1MDAwRTBGRTc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUY2MgorOjEwMEM2MDAwRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0QjNGNTgyRTRCMworOjEwMEM3MDAwMzQ3NUY1ODNFRkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTBDOAorOjBGMEM4MDAwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyMDEKKzoxMDBDOEYwMDQxNzY2ODAxNDE3NjZBMDI0MTc2NkIwQUMxMjBDMTIxMjMKKzowMjBDOUYwMEMxMkY2MworOjA0MENBMTAwNDE3NjIzMDA3NQorOjEwMENBNTAwNDE3MjAxMDE0NTcyMDUwMDAyQzkwMDAwNDU3MjBBMDA0MgorOjEwMENCNTAwMDEwMjAzMDQ0RDcyMEZEMTAwRDEwMDAwMDAwMDAwMDBCNQorOjEwMENDNTAwMjgyODA5MDA0RDcyMUMwMTAwMDEwMjAzMDQwNTA2MDdDRQorOjEwMENENTAwMDgwOTBBMEI0MTcyMkUyMjQxNzIyRjIzNDE3MjMwMjBERQorOjEwMENFNTAwNDE3MjMxMjE2MkQyNzIzQTAwMDAwMDAwMDAwMDAwMDAxQQorOjEwMENGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMEQwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMEQxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMEQyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMEQzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMEQ0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMEQ1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMEQ2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMEQ3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAxMDEwMTAxMDE2OAorOjEwMEQ4NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE0RQorOjEwMEQ5NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEzRQorOjEwMERBNTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEyRQorOjEwMERCNTAwMDEwMTAxMDEwMTAxMDEwMTAyMDIwMjAyMDIwMjAyMDIxNgorOjEwMERDNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJGRQorOjEwMERENTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJFRQorOjEwMERFNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJERQorOjEwMERGNTAwMDIwMjAyMDIwMjAzMDMwMzAzMDMwMzAzMDMwMzAzMDNDMworOjEwMEUwNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDNBRAorOjEwMEUxNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM5RAorOjEwMEUyNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM4RAorOjEwMEUzNTAwMDMwMzA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ2RgorOjEwMEU0NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ1RAorOjEwMEU1NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ0RAorOjEwMEU2NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQzRAorOjEwMEU3NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUxRAorOjEwMEU4NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwRAorOjEwMEU5NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDVGRAorOjEwMEVBNTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA2MDZFQgorOjEwMEVCNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZDRAorOjEwMEVDNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZCRAorOjEwMEVENTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZBRAorOjEwMEVFNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA3MDcwNzA4MDg5NgorOjEwMEVGNTAwMDgwOTA5MDkwQTBBMEEwQjBCMEIwQzBDMEMwRDBEMEQ0MAorOjEwMEYwNTAwMEUwRTBFMEYwRjBGMTAxMDEwMTExMTExMTIxMjEyMTNEOQorOjEwMEYxNTAwMTMxMzE0MTQxNDE1MTUxNTE2MTYxNjE3MTcxNzE4MTg3NAorOjEwMEYyNTAwMTgxOTE5MTkxOTFBMUExQTFBMUIxQjFCMUIxQzFDMUMxOAorOjEwMEYzNTAwMUMxRDFEMUQxRDFFMUUxRTFFMUYxRjFGMUYyMDIwMjBDOAorOjEwMEY0NTAwMjEyMTIxMjIyMjIyMjMyMzI0MjQyNTI1MjYyNjI3Mjc2MQorOjEwMEY1NTAwMjgyODI5MjkyQTJBMkIyQjJDMkMyRDJEMkUyRTJGMkZENAorOjEwMEY2NTAwMzAzMDMxMzEzMjMyMzMzMzM0MzQzNTM1MzYzNjM3Mzc0NAorOjEwMEY3NTAwMzgzODM5MzkzQTNBM0IzQzNEM0UzRjQwNDE0MjQzNDQ5QgorOjEwMEY4NTAwNDU0NjQ3NDg0OTQ5NEE0QjRCNEM0RDRFNEY1MDUxNTJBNworOjEwMEY5NTAwNTM1NDU1NTU1NjU2NTc1NzU4NUE1QjVENUU1RjYxNjJCNworOjEwMEZBNTAwNjM2NDY1NjY2NzY4Njk2QTZCNkM2RDZGNzE3MjczNzQ4QgorOjEwMEZCNTAwNzU3Njc3Nzg3OTdBN0I3QzdFODAwMTM3MDEwMTM4MDBGOAorOjAxMEZDNTAwMDAyQgorOjEwMEZDNjAwRTRGRjc0NDYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjA2MAorOjEwMEZENjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDRFMkZGNTgyRTQyQgorOjEwMEZFNjAwMzQ3NkY1ODNFMEZFNzQzMDJGRjU4MkU0MzQ4MEY1ODNBMQorOjA2MEZGNjAwRUVGMDBGQkYwOENDNzUKKzowMTBGRkMwMDIyRDIKKzowMzBGRkQwMEMyODkzMjc0Cis6MTAxMDAwMDBFNDkwNzYyQ0YwOTA3NjJDRTBGRjc1RjAwM0E0MjQwRjhBCis6MTAxMDEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDQyCis6MTAxMDIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjJDRTAwNEYwODBENTRFCis6MTAxMDMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0E5Cis6MTAxMDQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjJFRjAyNDI2Cis6MTAxMDUwMDBGMDYwMEEyNDBGNjAwMjgxN0QxMjRCMUIyMjkwN0ZFRDBECis6MTAxMDYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM4NzQwMTNDCis6MTAxMDcwMDBGMDkwNzYzQTc0MDNGMDkwNzYxQ0YwRTQ5MDc2MUJGMEQyCis6MTAxMDgwMDA5MDdGRUFFMEY0NjAyRjkwNzYxQkUwRkY3NUYwMEFBNEYxCis6MTAxMDkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDUyCis6MTAxMEEwMDBFRTZENjAxMjkwNzYxQ0UwRkVFRkMzOUU1MDA4OTA3NkM1Cis6MTAxMEIwMDAxQkUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkUyCis6MTAxMEMwMDAxODc0MDZGMDkwNzYzODc0MDRGMDkwNzYzQTc0MEFGMDRBCis6MTAxMEQwMDA5MDc2MUNGMDkwNzYxQjc0MDNGMDkwN0ZFQUUwRjQ2MDQ5Cis6MTAxMEUwMDAyRjkwNzYxQkUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDYxCis6MTAxMEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3NjdDCis6MTAxMTAwMDAxQ0UwRkVFRkMzOUU1MDA4OTA3NjFCRTAwNEYwODBEMUY3Cis6MTAxMTEwMDBFNDkwNzYxRUYwOTA3NjFDRTBGRjkwNzYxQkUwRkU2RjY4Cis6MTAxMTIwMDA3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkUwMTQ2MEZGCis6MTAxMTMwMDAxMzE0NzAwMjIxQkYyNDAyNjAwMjgxNzU5MDdGQjRFMDE1Cis6MTAxMTQwMDA0NDAxRjAyMjkwN0ZFOUUwMjQ3RjcwNkI5MDdGRUFFMDE5Cis6MTAxMTUwMDBGNDcwNEE5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkzCis6MTAxMTYwMDA5MDc2MUJFMEZEQzM5RjUwMkJFRDc1RjAwQUE0MjRBQkQ1Cis6MTAxMTcwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZEMDRGMDFGCis6MTAxMTgwMDA3NDAwMkRGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDU4Cis6MTAxMTkwMDAwNEYwODBDNzkwNzYxRUUwOTA3RkI1RjAyMkVFNzVGMEU3Cis6MTAxMUEwMDAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDY3Cis6MTAxMUIwMDA5MDdGQjU3NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDVBCis6MTAxMUMwMDA3RkU5RTAyNDdFNzAwMjQxN0UxNDcwMDI2MTIzMTQ3MDc2Cis6MTAxMUQwMDAwMjYxQzgyNDAzNjAwMjgxNkQ5MDdGRUFFMEY0NzA2REMzCis6MTAxMUUwMDA5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQjkwCis6MTAxMUYwMDBFMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNEYxCis6MTAxMjAwMDAzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyRDQ5Cis6MTAxMjEwMDBGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRBRDk3Cis6MTAxMjIwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDZECis6MTAxMjMwMDA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMEE2Cis6MTAxMjQwMDAwNEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQjhCCis6MTAxMjUwMDBFMEZGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMDcwCis6MTAxMjYwMDA5MDdGMDBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUE4Cis6MTAxMjcwMDBGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkJCCis6MTAxMjgwMDBFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2MUJGMDkwNzYzQTU0Cis6MTAxMjkwMDBFMEZGOTA3NjFCRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDdCCis6MTAxMkEwMDAyNEFFRjU4MkU0MzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDExCis6MTAxMkIwMDAwNEYwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUQxCis6MTAxMkMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjRDCis6MTAxMkQwMDAxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRjA3Cis6MTAxMkUwMDBGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNTJECis6MTAxMkYwMDBGMDIyOTA3NjFCRTBGRjc1RjAwQUE0MjRBRUY1ODJFNDlDCis6MTAxMzAwMDAzNDc1RjU4M0UwOTA3RjAwRjBFRjc1RjAwQUE0MjRBRjA4Cis6MTAxMzEwMDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAxRjA5MDdGQjU3NDM5Cis6MTAxMzIwMDAwMkYwMjI5MDdGRUFFMEY0NzA2RDkwNzYzOEUwOTA3NkRCCis6MTAxMzMwMDAxQkYwOTA3NjNBRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEExCis6MTAxMzQwMDBGRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRTBGRTVECis6MTAxMzUwMDA5MDc2MUVFMEZEMDRGMDc0MDAyREY1ODJFNDM0N0ZGNUY0Cis6MTAxMzYwMDA4M0VFRjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVGNTRDCis6MTAxMzcwMDA4M0UwRkY5MDc2MUVFMEZFMDRGMDc0MDAyRUY1ODJFNDE4Cis6MTAxMzgwMDAzNDdGRjU4M0VGRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjM0Cis6MTAxMzkwMDAxRUUwOTA3RkI1RjAyMjkwNzYxQkUwRkY3NUYwMEFBNDY2Cis6MTAxM0EwMDAyNEIwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUFBCis6MTAxM0IwMDBGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMTRFCis6MTAxM0MwMDBGMDkwN0ZCNTc0MDJGMDIyOTA3RkVBRTBGNDcwNkQ5MEE3Cis6MTAxM0QwMDA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUJFMDRFCis6MTAxM0UwMDBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNEE1Cis6MTAxM0YwMDA3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTk3Cis6MTAxNDAwMDA4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QjNGNTlGCis6MTAxNDEwMDA4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA3NEZDCis6MTAxNDIwMDAwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTAwNDI0Cis6MTAxNDMwMDBGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEJECis6MTAxNDQwMDBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRTA5MEM4Cis6MTAxNDUwMDA3RjAwRjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTRCCis6MTAxNDYwMDA4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCNDBBCis6MTAxNDcwMDBFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNDc4Cis6MDUxNDgwMDBFMDQ0MDFGMDIyMzAKKzoxMDE0ODUwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5N0EKKzowMTE0OTUwMDIyMzQKKzoxMDE0OTYwMDkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRTAKKzoxMDE0QTYwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwREMKKzoxMDE0QjYwMDhDRTBDMEUwQzA4MkMwODMwNTg2QzA4NEMwODU3RDAwMDQKKzoxMDE0QzYwMDkwN0ZFMzc0N0JGMEEzNzQ4MEYwN0MxMTkwN0Y5OUUwQTkKKzoxMDE0RDYwMDU0NDBEQzAzMDIxNEYzQjQwMDEzOTA3RkUyNzQ0MEYwMkUKKzoxMDE0RTYwMDkwN0ZFNUYwOTA3RkUyNzQwMEYwMDIxNEQyOTA3NjkwM0YKKzoxMDE0RjYwMEUwQjQwMTEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwQ0IKKzoxMDE1MDYwMDkwN0Y2QzAyMTU1N0I0MDIxMjkwNzY4RkUwMkRGRDkwRjUKKzoxMDE1MTYwMDdGRTI3NDgwRjA5MDdGNkMwMjE1OTZCNDAzMTI5MDc2ODkKKzoxMDE1MjYwMDhGRTAyREZEOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNUUxRDQKKzoxMDE1MzYwMEI0MDQxMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwRDcKKzoxMDE1NDYwMDdGNkMwMjE2MTA5MDdGRTI3NDgwRjA5MDdGNkMwMjE2MUEKKzoxMDE1NTYwMDQwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERGMjdEQjkKKzoxMDE1NjYwMDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0RkQKKzoxMDE1NzYwMDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwMkQKKzoxMDE1ODYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREQ0MDIxNjQwRkMKKzoxMDE1OTYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwNDUKKzoxMDE1QTYwMEYwRjBEREVDN0QwMjA1ODY5MDdGRTI3NDAwRjA5MDdGMUUKKzoxMDE1QjYwMDlCRTA1NDA0QjQwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0NTEKKzoxMDE1QzYwMDgwRjAwNTg2RjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwREEKKzowNjE1RDYwMEYwRjBGMEYwRjBGMDZGCis6MTAxNURDMDBERENFMDIxNjQwRjBGMEYwRjBEREZBN0QwMjA1ODY5MENCCis6MTAxNUVDMDA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDU4NjA0Cis6MTAxNUZDMDAwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBERDhBCis6MTAxNjBDMDBEQzAyMTY0MEYwRjBGMEYwRjBGMERERjg3RDAyMDU4NjFCCis6MTAxNjFDMDA5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNUM5Cis6MTAxNjJDMDA4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEIwCis6MTAxNjNDMDBGMEYwREREQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NjdFCis6MTAxNjRDMDBEMDgzRDA4MkQwRTBGQ0QwRTBGREQwRTBGRUQwRTBGRjMzCis6MDUxNjVDMDBEMEUwRDBEMDIyMTcKKzoxMDE2NjEwMEMwRDBDMEUwQzA4MkMwODM5MDc2N0NFMDkwN0Y2RkYwRjQKKzoxMDE2NzEwMDkwNzY3REUwOTA3RjZGRjA5MDc2N0VFMDkwN0Y2RkYwQzYKKzowOTE2ODEwMEQwODNEMDgyRDBFMEQwRDAyMjQ5Cis6MTAxNjhBMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTBDMDgyQzA4MzdFCis6MTAxNjlBMDAwNTg2QzA4NEMwODU5MDc2ODdFMEZGQkYwMDAzMDIxN0U1Cis6MTAxNkFBMDAwMTkwN0Y5NkUwNDQ4MEYwOTA3RkUyNzQ4MEYwOTA3RjEyCis6MTAxNkJBMDA2MkUwMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5NkUwNTQ3RkE2Cis6MTAxNkNBMDBGMDkwN0ZFMjc0ODBGMDkwNzY4RUUwQjQwMTA1MDU4NjkyCis6MTAxNkRBMDAwMjE2RjZCNDAyMDUwNTg2MDIxNkVCMDU4NjAyMTZGQjBCCis6MTAxNkVBMDBFMEUwRTBFMEUwRTBERkY4MDIxNkZCRTBFMEUwRTBERjY3Cis6MTAxNkZBMDBGQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NkQwODNEMDNBCis6MEMxNzBBMDA4MkQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4MgorOjEwMTcxNjAwQzA4MkMwODNDMEUwRThDMEUwNzhEMUU4MTRGODcwRkI2RQorOjBBMTcyNjAwRDBFMEY4RDBFMEQwODNEMDgyMjI5QQorOjEwMTczMDAwQzA4MkMwODNDMEUwRThDMEUwNzg3OEU4MTRGODcwRkJBRAorOjBBMTc0MDAwRDBFMEY4RDBFMEQwODNEMDgyMjI4MAorOjA3MTc0QTAwOTA3RkM1NzQwMkYwMjIzQworOjEwMTc1MTAwOTA3RUMwRTA5MDc2NDVGMDkwN0VDMUUwOTA3NjQ0RjBCNgorOjEwMTc2MTAwOTA3RUMyRTA5MDc2NDNGMEI0MDAwMzAyMTc3ODkwNzY0MQorOjEwMTc3MTAwMTk3NDAzRjAwMjE3OEU5MDc2NDRFMEI0QkIwOTkwNzY5OQorOjEwMTc4MTAwMTk3NDAyRjAwMjE3OEU5MDc2MTk3NDAxRjA5MDc2NDI2NgorOjAzMTc5MTAwRTRGMDIyNUYKKzowNDE3OTQwMDhEMjk4QjJBRTYKKzoxMDE3OTgwMDEyNDlGRkVBNDk2MDU3MTIzNjkyN0UwMDI5RkZFRTNBNTUKKzoxMDE3QTgwMEM5RUZDOTc1MkJGRkY1MkM4OTJEQUIyQkFBMkNBOTJEQjgKKzoxMDE3QjgwMDkwMDAwMTEyMzZBQkZGNjQwNDYwMDVFRjY0MDU3MDJFREIKKzoxMDE3QzgwMEVGQjQwNDE1OTAwMDAyMTIzNkFCNjUyOTcwMEI5MDAwMzcKKzoxMDE3RDgwMDAzMTIzNkFCNjUyQTcwMDEyMjEyMzY5MjdFMDAyOUZGNjkKKzoxMDE3RTgwMEVFM0FDOUVGQzk3NTJCRkZGNTJDODkyRDgwQkM3QjAwMUIKKzowNDE3RjgwMDdBMDA3OTAwRkEKKzowMTE3RkMwMDIyQ0EKKzowMzE3RkQwMEMyOEIzMjZBCis6MTAxODAwMDA5MDc2OTBFMDE0NjAzNzE0NzAwMjAxRDgxNDcwMDIyMUIxCis6MTAxODEwMDA3MjE0NzAwMjQxM0IyNDA0NjAwMjYxMDM5MDdGRkM3NEU3Cis6MTAxODIwMDBDQ0YwOTA3RkZGNzRGQ0YwOTA3Njk1RTA0NDAxRjA1NDhBCis6MTAxODMwMDAwNUYwOTA4MDAxRjBFNDkwNzYxQUYwQzIyRTIyOTA3NkE2Cis6MTAxODQwMDA5NUUwNDQwMUYwNDQwMkYwMzAzRTA2RTA0NDA0RjA4MEFDCis6MTAxODUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDdBCis6MTAxODYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjI5MDI3Cis6MTAxODcwMDA3RkZDNzQ3NEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjczCis6MTAxODgwMDBGMDkwNzY5N0UwNTRGREYwRTQ5MDc2ODFGMDkwNzY4MEM5Cis6MTAxODkwMDBGMEVGQjQwMjIyOTA3RkZDNzQ2OEYwOTA3RkZGNzRGQzNDCis6MTAxOEEwMDBGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkYwRTQ5MEY5Cis6MTAxOEIwMDA3NjgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRTg0Cis6MTAxOEMwMDBGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwNTRGQjIzCis6MTAxOEQwMDBGMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NEZFRjA0NEYzCis6MTAxOEUwMDAwMkYwMzAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDI0Cis6MTAxOEYwMDBGQkYwOTA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUI0Cis6MTAxOTAwMDBGMDkwNzYxOUUwRkZCNDAxMjI5MDdGRkM3NDMwRjA5MEUzCis6MTAxOTEwMDA3RkZGNzRGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEY0Cis6MTAxOTIwMDBGREYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjI5MEEyCis6MTAxOTMwMDA3RkZDNzQxQ0YwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRjA2Cis6MTAxOTQwMDBGMDkwNzY5N0UwNDQwMkYwRTQ5MDc2ODFGMDkwNzY4MDEzCis6MTAxOTUwMDBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5NzNDCis6MTAxOTYwMDBFMDQ0MDFGMDkwNzY5N0UwNTRGQkYwOTA4MDAyRjBEMkQyCis6MTAxOTcwMDAyRTIyOTA3Njk1RTA0NDAxRjA0NDAyRjA0NDA4RjAzMEM1Cis6MTAxOTgwMDAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NEZCRjA5MDJBCis6MTAxOTkwMDA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUYwOTA3Njk4Cis6MTAxOUEwMDAxOUUwRkZCNDAxMjU5MDdGRkM3NENDRjA5MDdGRkY3NEE4Cis6MTAxOUIwMDBGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEZERjA1NDA1Cis6MTAxOUMwMDBGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjU5MDAxCis6MTAxOUQwMDA3RkZDNzRDOEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRkJBCis6MTAxOUUwMDBGMDkwNzY5N0UwNDQwMkYwNTRGQkYwRTQ5MDc2ODFGMEJBCis6MTAxOUYwMDA5MDc2ODBGMEVGQjQwMzI1OTA3RkZDNzQ5OEYwOTA3RjkwCis6MTAxQTAwMDBGRjc0RkNGMDkwNzY4Rjc0NUZGMDkwNzY5N0UwNTRGRDUxCis6MTAxQTEwMDBGMDQ0MDRGMEU0OTA3NjgxRjA5MDc2ODBGMDMwM0YwOTU1Cis6MTAxQTIwMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMEJFCis6MTAxQTMwMDA5MDc2OTdFMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NDM2Cis6MTAxQTQwMDBGRUYwNDQwMkYwNDQwOEYwMzAzRTA2RTA0NDA0RjA4MDJBCis6MTAxQTUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDc4Cis6MTAxQTYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjU5MDIyCis6MTAxQTcwMDA3RkZDNzRCNEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjMxCis6MTAxQTgwMDBGMDkwNzY5N0UwNTRGREYwNTRGQkYwRTQ5MDc2ODFGMDBFCis6MTAxQTkwMDA5MDc2ODBGMEVGQjQwMjI1OTA3RkZDNzRCMEYwOTA3RkQ4Cis6MTAxQUEwMDBGRjc0RkNGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkVDCis6MTAxQUIwMDBGMDU0RkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMzgwCis6MTAxQUMwMDAyNTkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkNGMDkwNzY4RjE3Cis6MTAxQUQwMDA3NDVGRjA5MDc2OTdFMDU0RkRGMDQ0MDRGMEU0OTA3NjYzCis6MTAxQUUwMDA4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMEQ4Cis6MTAxQUYwMDA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMjFFCis6MDQxQjAwMDBGMEQyMkUyMkNGCis6MTAxQjA0MDAzMDJDMzhDMjJDOTA3NjE5RTBGRkI0MDEwRTkwNzY3QzBDCis6MTAxQjE0MDA3NEMwRjBBMzc0MTRGMEEzNzQwQkYwRUZCNDAyMERFNERBCis6MTAxQjI0MDA5MDc2N0NGMEEzNzQxMEYwQTM3NDBDRjBFRkI0MDMwQjY0Cis6MEMxQjM0MDBFNDkwNzY3Q0YwQTM3NDE4RjBBM0YwMjI3QgorOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MDIxRjNFMDAwMDAwQTEKKzoxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKKzoxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MDUyN0ZDMDAwMDAwMDAwMDIyQjYKKzoxMDI4MDEwMEMyMjBDMjIxQzIyQTkwN0ZFOEUwMTIzN0Y5MjgzMDAwQTUKKzoxMDI4MTEwMDI4OEMwMTI4QTIwMjJBMUYyMTJBNkEyMjI5M0Q4MDI5MDcKKzoxMDI4MjEwMDdEODEyOUQxODIyQTg0QTEyQUJBQTIwMDAwMkFCRjkwREYKKzoxMDI4MzEwMDdGRTlFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNDMKKzoxMDI4NDEwMDcwNDAxMjRCQTA0MUNCMTI0REE3NDAwMjQxQ0I5MDdGNkIKKzoxMDI4NTEwMEVBRTBCNDAxMDRDMjIyNDFDQjkwN0ZCNEUwNDQwMUYwMkMKKzoxMDI4NjEwMDQxQ0IxMjREQTk5MDdGRUFFMEI0MDEwNEQyMjI0MUNCQzEKKzoxMDI4NzEwMDkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwOUIKKzoxMDI4ODEwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDI0NUIKKzoxMDI4OTEwMEY1NzAwNTEyNDgwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxNEUKKzoxMDI4QTEwMENCOTA3RkU5RTAyNEZENjA1NDI0MDI2MDAyMjEzNDEyQzAKKzoxMDI4QjEwMDREQTc0MDAyNDFDQjkwN0ZFQUUwNzAzODkwN0ZFQ0UwNzkKKzoxMDI4QzEwMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RDMKKzoxMDI4RDEwMEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGRUYKKzoxMDI4RTEwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0RDgKKzoxMDI4RjEwMDIwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCMTI0REE5Q0YKKzoxMDI5MDEwMDQwMDI0MUNCOTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0RUMKKzoxMDI5MTEwMDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyNTMKKzoxMDI5MjEwMEU0MzQ3RkY1ODM3NDAxRjA0MUNCOTA3RkI0RTA0NDAxM0UKKzoxMDI5MzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwREUKKzoxMDI5NDEwMDYwMTIyNEY4NjAwOTI0MDI3MDI5MTI0M0RCNDFDQjEyODIKKzoxMDI5NTEwMDRENUM0MUNCMTI0REE1QTIyMkU0MzNGRjI1RTBGRkEyM0QKKzoxMDI5NjEwMDIzRTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyMkQKKzoxMDI5NzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwOUUKKzoxMDI5ODEwMDYwMzMyNEY2NjAyQTI0MDQ3MDNEOTA3RkVCRTAyNERFNUUKKzoxMDI5OTEwMDYwMEMwNDcwMTI5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGNTEKKzoxMDI5QTEwMEI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCNkQKKzoxMDI5QjEwMDEyNDY4NTQxQ0IxMjREQTVFNDkwN0YwMEYwQTNGMDkwMjMKKzoxMDI5QzEwMDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCN0MKKzoxMDI5RDEwMDkwN0ZFOUUwMjRGNDYwMzQyNDBDNzAzOTEyNERBNTkwMDUKKzoxMDI5RTEwMDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1MUYKKzoxMDI5RjEwMEUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwNTgKKzoxMDJBMDEwMEYwRTRBM0YwOTA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwODUKKzoxMDJBMTEwMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGODEKKzoxMDJBMjEwMEU5RTAyNEY2NjAxMjE0NjAxQTI0MDI3MDFERDIyMDkwOEQKKzoxMDJBMzEwMDdGQjRFMDQ0MDFGMDgwMTJEMjIwOTA3RkI0RTA0NDAxRTEKKzoxMDJBNDEwMEYwODAwNzkwN0ZCNEUwNDQwMUYwMjAyMDE4OTA3RkVFRTEKKzoxMDJBNTEwMEUwNzAwNEEzRTA2MDBCRDIyOUQyMjcxMjE3NEFEMjJBRDAKKzoxMDJBNjEwMDgwMDMxMjA4MDBDMjIwODA2MTkwN0ZFRUUwNzAwNEEzMTEKKzoxMDJBNzEwMEUwNjAwQkQyMjlEMjI4MTIxNzRBRDIyQTgwNEMxMjM4OTAKKzoxMDJBODEwMDc0ODA0NzkwN0ZFOUUwMjRGRTYwMTIxNDYwMUEyNDAyRUEKKzoxMDJBOTEwMDcwMUREMjIxOTA3RkI0RTA0NDAxRjA4MDEyRDIyMTkwQzgKKzoxMDJBQTEwMDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwNUUKKzoxMDJBQjEwMDIxMDMxMjEwMDBDMjIxODAxMTEyMkFENjgwMEMxMjRENUUKKzoxMDJBQzEwMEFCNTAwNzkwN0ZCNEUwNDQwMUYwMjAyQTA3OTA3RkI0MTcKKzowNTJBRDEwMEUwNDQwMkYwMjJDOAorOjEwMkFENjAwRTQ5MDc2MjdGMDkwNzYyN0UwRkY3NUYwMEZBNDI0NDI2NQorOjEwMkFFNjAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1MworOjEwMkFGNjAwNjAwRUVGQzM5NDA2NTAwODkwNzYyN0UwMDRGMDgwRDU2OAorOjEwMkIwNjAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEZCMQorOjEwMkIxNjAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyOEYwMjQwOAorOjEwMkIyNjAwOUY3MDAyQTE3NDI0MjE2MDAyQTFBMTkwN0ZFOUUwMjQ5NAorOjEwMkIzNjAwN0U3MDAyNjFGQzE0NzAwMjgxQjUyNDAyNjAwMkExNkNGMQorOjEwMkI0NjAwRUY3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNCOQorOjEwMkI1NjAwQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTAwNzgxNgorOjEwMkI2NjAwMDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBMzc0QUNBQgorOjEwMkI3NjAwRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjA0QgorOjEwMkI4NjAwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkQ0RAorOjEwMkI5NjAwQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEMzMTIzNgorOjEwMkJBNjAwMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEU0QTM3RQorOjEwMkJCNjAwRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjRBQgorOjEwMkJDNjAwNDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkU2MworOjEwMkJENjAwQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0FCNjBGOAorOjEwMkJFNjAwMDJBMUE4OTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTA3RgorOjEwMkJGNjAwN0ZCNTc0MDNGMDIyOTA3NjI3RTA3NUYwMEZBNDI0NDc4MgorOjEwMkMwNjAwRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNDMgorOjEwMkMxNjAwRTBGRjdCNDQ3QUFDNzkwMDc4MDBDMzEyMzdBQjcwMTNCRgorOjEwMkMyNjAwOTA3RjAwNzQ0NEYwQTM3NEFDRjBFNEEzRjA5MDdGQjVGOQorOjEwMkMzNjAwNzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzQworOjEwMkM0NjAwMzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I4MworOjEwMkM1NjAwODA3QUJCNzkwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3RgorOjEwMkM2NjAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzRjAxNgorOjEwMkM3NjAwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzNDc1RjVDNQorOjEwMkM4NjAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0IwMDdBNzdGMAorOjEwMkM5NjAwNzkwMTc4MDBDMzEyMzdBQjYwMDJBMUE4OTA3RjAwRjBEQgorOjEwMkNBNjAwQTM3NDc3RjBBMzc0MDFGMDkwN0ZCNTc0MDNGMDIyOTBCQgorOjEwMkNCNjAwNzYyN0UwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODM4RQorOjEwMkNDNjAwRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzk0MQorOjEwMkNENjAwMDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTNFMgorOjEwMkNFNjAwNzRBQ0YwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTAxRgorOjEwMkNGNjAwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTM0QworOjEwMkQwNjAwRTBGREEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBCQworOjEwMkQxNjAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBCRQorOjEwMkQyNjAwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEY3QQorOjEwMkQzNjAwQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNGRgorOjEwMkQ0NjAwRTBGRUEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdCMworOjEwMkQ1NjAwQUI3MDRGOTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTBFRQorOjEwMkQ2NjAwN0ZCNTc0MDNGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0Y5NworOjEwMkQ3NjAwRTlFMDI0N0Y3MDFFOTA3NjI3RTA3NUYwMEZBNDI0NEZCQgorOjEwMkQ4NjAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTA3RkI1NzRBQQorOjEwMkQ5NjAwMDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDRGNgorOjAzMkRBNjAwMDFGMDIyMTcKKzoxMDJEQTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTIKKzoxMDJEQjkwMDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MEZGNTgyREYKKzoxMDJEQzkwMEU0MzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQxMEY1NkMKKzoxMDJERDkwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGQTAKKzoxMDJERTkwMDc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQxMEYwQUMKKzoxMDJERjkwMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA1QTcKKzoxMDJFMDkwMEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4M0U0M0EKKzoxMDJFMTkwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1OTcKKzoxMDJFMjkwMDgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGN0UKKzoxMDJFMzkwMEY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0ODgKKzoxMDJFNDkwMDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwMDkKKzoxMDJFNTkwMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0NUMKKzoxMDJFNjkwMDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzQkUKKzoxMDJFNzkwMDc0MDNGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1QkEKKzoxMDJFODkwMDgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0QzMKKzoxMDJFOTkwMDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBFRjc1RjAwM0E0MzAKKzoxMDJFQTkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDZGMEVGNzVGMDAzQTkKKzoxMDJFQjkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwQzUKKzoxMDJFQzkwMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1RUYKKzoxMDJFRDkwMDgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1Q0UKKzoxMDJFRTkwMEY1ODM3NDA0RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0M0IKKzoxMDJFRjkwMDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQjEKKzoxMDJGMDkwMEE0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwQUMKKzoxMDJGMTkwMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA4RjBFRjc1ODIKKzoxMDJGMjkwMEYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDkwNTkKKzoxMDJGMzkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTAKKzoxMDJGNDkwMDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyNEMKKzoxMDJGNTkwMEU0MzQ3NUY1ODM3NDBBRjBFRjc1RjAwM0E0MjQxMEY1RDEKKzoxMDJGNjkwMDgyRTQzNDc1RjU4Mzc0MDRGMDkwNzYzNkUwMDRGMEUwNzkKKzoxMDJGNzkwMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyMTkKKzoxMDJGODkwMEYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MkEKKzoxMDJGOTkwMDA5RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzODQKKzoxMDJGQTkwMDc0MDRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0OTEKKzoxMDJGQjkwMDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MUQKKzoxMDJGQzkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDdGMEVGNzVGMDAzODcKKzowRTJGRDkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwMjIwQworOjEwMkZFNzAwQzBFMEMwODNDMDgyRDIyNjUzOTFFRjkwN0ZBQjc0MDFCQgorOjA4MkZGNzAwRjBEMDgyRDA4M0QwRTAzMjVCCis6MDEyRkZGMDAzMjlGCis6MTAzMDAwMDA5MDdGQjZFMDIwRTEwMkMyM0REMjM2MjAzNjAyNDE2RTBBCis6MTAzMDEwMDAzMDNEMDI0MTZFOTA4MDA3RTA2MDA0RDIzNjgwMDJDMkVCCis6MTAzMDIwMDAzNjIwMzYwMjQxMkVEMjM1RTRGNTFBOTA4MDA0RTBGNUMwCis6MTAzMDMwMDAxOTc0MDgyNTBFRjhBNjE5ODUxOTE4RTUxODIwRTcwNDUzCis6MTAzMDQwMDBEMjM4ODAwMkMyMzgzMDM4MDIyMUQ0RTRGNTE2RTUxOUFFCis6MTAzMDUwMDBCNEYwMENEMjM5NzUwODA0NzUwOUYwMDUwRTgwMDIwNTJDCis6MTAzMDYwMDAxNkU1MTk2NEY3NzAzREMyMzlFNTBFMjRGRTYwMTcxNEE5Cis6MTAzMDcwMDA2MDIyMjQwMzcwMjk3NTA4MDU3NTA5RjdFNEY1MEFGNTNGCis6MTAzMDgwMDAwQjc1MEUwNDgwMjA3NTA4MDY3NTBBRjdFNEY1MEI3NUJDCis6MTAzMDkwMDAwRTA0ODAxMjc1MDgwNzc1MEJGNzc1MEUwNDgwMDcxMjcxCis6MTAzMEEwMDA0OEYzODAwMjA1MTZFNTE5NTRGODY0Rjg3MDNCQzIzNTAwCis6MTAzMEIwMDBFNTE5MjQwNzYwMEMyNEZDNjAwODI0MDUyNEY4NTAwNjU4Cis6MTAzMEMwMDA4MDA4RDIzQTgwMDZDMjNBODAwMkQyM0E3NTFBMDEyMEFDCis6MTAzMEQwMDAzQTE5OTA3RTgwNzQwRkYwQTNFNTE5RjBFNEEzRjBBM0YxCis6MTAzMEUwMDBGMDkwN0ZCNzc0MDRGMDgwMDIwNTE2MjAzOTZERTUxOTYxCis6MTAzMEYwMDA2NEY3NjA2N0U1MUE3MDYzRTUxODU0RjA2NEYwNzA1OTdFCis6MTAzMTAwMDA4NTE4MTlGNTBFRTUxOTI0MEY2MDFCMjRGRTYwMTcyNDlECis6MTAzMTEwMDBGRDYwMjIxNDYwMUYyNDA1NzAyRjc1MDgwMzA1MEU4NUJECis6MTAzMTIwMDAxODA5RDIzNzgwMjg3NTA4MDIwNTBFODUxODA5NzUxNDBDCis6MTAzMTMwMDAwMUQyMzc4MDE5NzUwODA1MDUwRTg1MTgwOUU0RjUwQUNFCis6MTAzMTQwMDBGNTBCNzUwRTAzRDIzNzgwMDUxMjQ4RjNDMjM1MzAzNUMyCis6MTAzMTUwMDAwQTg1MDgxMzg1MTgxMjgwMDIwNTE2ODUxODE5RTUxNkM4Cis6MTAzMTYwMDA2NDA0NzA2MkY1MEVFNTE5NTRGMEY1MTlGNTE1ODUxODJCCis6MTAzMTcwMDAxOUU1MTUyNDcwNjAxODI0RjA2MDE0MjRGMDYwMTAyNDAwCis6MTAzMTgwMDBGMDYwMUUyNEYwNjAxQTI0RjA2MDA0MjQ2MDcwMjdFNUNCCis6MTAzMTkwMDAxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOUQyMzc4MEE2Cis6MTAzMUEwMDAxQUU1MTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDk3NUFCCis6MTAzMUIwMDAxNDAxRDIzNzgwMDUxMjQ4RjNDMjM1MzAzNTBBODUxOTFCCis6MTAzMUMwMDAxMzg1MTgxMjgwMDIwNTE2RTUxNkQzOTQwNTQwNTcxMjkwCis6MTAzMUQwMDA0OEYzODA1MjMwMzkxN0U1MEU3MDBBODUwODA5NzUwOEUyCis6MTAzMUUwMDAwNDA1MEU4MDQxNzQwODI1MEVGOEE2MTk4MDM4MjAzNzkyCis6MTAzMUYwMDAyQUU1MEVCNDAxMEY4NTA4MEE4NTA5MEI4NTEzMDg4NTk5Cis6MTAzMjAwMDAxMjA5NzUwRTA0RTUxNEI0MDExQzg1MDgwQUU0RjUwQkQ3Cis6MTAzMjEwMDA4NTEzMDg4NTEyMDk3NTBFMDQ4MDBCRTUxNEI0MDEwNkE4Cis6MTAzMjIwMDBFNEY1MEI3NTBFMDRFNEY1MUEzMDM1MDIwNTBFRTUwRUQzCis6MTAzMjMwMDBEMzk0MDM1MDAyMDEwQkMyMzdFNEY1MEVGNTEwQzIzNkU5Cis6MTAzMjQwMDBEMjNERjUxNDc0MDgyNTEwRjhFNkZGNzQ4MDI1MTBGNUJBCis6MTAzMjUwMDA4MkU0MzQ3RUY1ODNFRkYwNzQwODI1MTBGOEU0RjYwNTc3Cis6MEYzMjYwMDAxMEU1MTBCNDA0REU5MDdGQjc3NDA0RjAwMTBCMjI2OAorOjEwMzI2RjAwOTA3NjE4RTBGRjY0MDU3MDQyOTA3NUFCRTBCNDAxMTlEOQorOjEwMzI3RjAwOTA3MjM3NzQwMUYwRTQ5MDgwMjBGMDkwODAzMUYwOTBEQworOjEwMzI4RjAwODAyOEYwOTA4MDM5RjA4MDIyRTQ5MDcyMzdGMDkwNzVBQQorOjEwMzI5RjAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA3MQorOjEwMzJBRjAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI1MgorOjEwMzJCRjAwODE5OTkwNzIzOTc0MDRGMDkwNzIzOUUwRkYyNEZFOTA3NgorOjEwMzJDRjAwNzIwNEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjVCRgorOjEwMzJERjAwODNFMDY0MDE3MDU0OTA3MjM2MDRGMDkwNzIwNEUwRkY0MgorOjEwMzJFRjAwMjRGRDYwMjgyNEZFNjAyNDI0MDMyNEZCNTAwNDYwMUM2QQorOjEwMzJGRjAwODE4Qzc0MjAyRkY1ODJFNDM0ODBGNTgzRTRGMDc0MjhGOAorOjEwMzMwRjAwMkZGNTgyRTQzNDgwRjU4M0U0RjA4MThDOTA3MjA0RTAzMQorOjEwMzMxRjAwRkYyNDMwRjU4MkU0MzQ4MEY1ODNFNEYwNzQzODJGRjUyMAorOjEwMzMyRjAwODJFNDM0ODBGNTgzRTRGMDgxOENFNDkwNzIzNkYwOTA3RgorOjEwMzMzRjAwNzIzOUUwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODM5MworOjEwMzM0RjAwRTBGRjdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIyOAorOjEwMzM1RjAwMDI3NDNCRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzBBQQorOjEwMzM2RjAwMDQ5MDcyMDJGMEVGNEU3MDAyODEzNUVGNjQ4MDRFNzA2MAorOjEwMzM3RjAwMDI4MTM1RUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwOTA0MAorOjEwMzM4RjAwNzIzNEUwNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM0OQorOjEwMzM5RjAwRTBGRjkwNzIwMkYwOTA3NTBERTAyRkYwOTA3NTBDRTA0OQorOjEwMzNBRjAwMzQwMEYwRTBGRUEzRTBGRkU0RkNGRDdCRDY3QUE1Rjk0NAorOjEwMzNCRjAwRjhEMzEyMzc5NTQwMEE5MDc1MEM3NEE1RjBBMzc0RDYwNAorOjEwMzNDRjAwRjA5MDc1MERFMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTA3RgorOjEwMzNERjAwRkVBM0UwNzgwNUNFQTJFNzEzQ0UxM0Q4RjhGRjkwNzVDMQorOjEwMzNFRjAwMENFRUYwQTNFRkYwOTA3MjJDRUVGMEEzRUZGMEQzOTQ2RAorOjEwMzNGRjAwRDJFRTY0ODA5NDgyNDAwQTkwNzIyQzc0MDJGMEEzNzQwRgorOjEwMzQwRjAwRDJGMEMzOTA3MjJDRTA2NDgwOTQ4MDUwMDRFNEYwQTM1NworOjEwMzQxRjAwRjA5MDcyMkNFMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjVDMAorOjEwMzQyRjAwODNFMDkwNzIwMkYwOTA3MjA0RTBGRjI0RkQ2MDJEMjQ3RgorOjEwMzQzRjAwRkU2MDI5MjQwMzI0RkI1MDA0NjAyMTgwNDA5MDcyMDIxNworOjEwMzQ0RjAwRTBGRTc0MjAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0MjhDQgorOjEwMzQ1RjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA4MDIxOTA3MjAyRTA0NAorOjEwMzQ2RjAwRkY5MDcyMDRFMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZBMAorOjEwMzQ3RjAwRjA3NDM4MkVGNTgyRTQzNDgwRjU4M0VGRjA5MDcyMzlEMgorOjBCMzQ4RjAwRTAwNEYwRTA2NDBBNjAwMjQxQzcyMjg0Cis6MTAzNDlBMDA5MDc2MThFMEZGQjQwNTIzOTA3MjM3RTA3MDFEOTA3NTlFCis6MTAzNEFBMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDY0Cis6MTAzNEJBMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjQ1Cis6MTAzNENBMDBDMTkxOTA3MjM2RTA2MDAyQzE5MTkwNzY0MEUwNzAzMTBECis6MTAzNERBMDA5MDcyMDM3NDAzRjA5MDcyMDNFMEZGNzVGMDBBQTQyNDVCCis6MTAzNEVBMDBBQUY1ODJFNDM0NzVGNTgzRTBGRTkwNzIyOUUwRkRFRUQ4Cis6MTAzNEZBMDA2RDYwMEVFRkMzOTQwQTUwMDg5MDcyMDNFMDA0RjA4MEU2Cis6MTAzNTBBMDBENTkwNzIzOTc0MDRGMDkwNzY0MEUwNzAwODkwNzIwMzk2Cis6MTAzNTFBMDBFMDkwNzIzOUYwOTA3MjM5RTBGRDI0RkU5MDcyMkFGMDQwCis6MTAzNTJBMDBFRDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRTBGRjY1Cis6MTAzNTNBMDA3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMDI3NEE0Cis6MTAzNTRBMDA4MEYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwMDQ5MDVBCis6MTAzNTVBMDA3MjAyRjBFRjRFNzAwMkMxMUJFRjY0ODA0RTcwMDJDMTFFCis6MTAzNTZBMDAxQkVGRjhFNDkwNzUwREYwRTg5MDc1MENGMEVENzVGMDJFCis6MTAzNTdBMDAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTBGRjkwNzIwMjY0Cis6MTAzNThBMDBGMDkwNzUwREUwMkZGMDkwNzUwQ0UwMzQwMEYwRTBGRTNECis6MTAzNTlBMDBBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5RjhEMzEyMzc5NUIwCis6MTAzNUFBMDA0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2RjA5MDc1MERFMERFCis6MTAzNUJBMDAyNDJBRjA5MDc1MENFMDM0NUFGMEUwRkVBM0UwNzgwNTc2Cis6MTAzNUNBMDBDRUEyRTcxM0NFMTNEOEY4RkY5MDc1MENFRUYwQTNFRjU2Cis6MTAzNURBMDBGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0RDJFRTY0ODA5NEM0Cis6MTAzNUVBMDA4MjQwMEE5MDcyMkM3NDAyRjBBMzc0RDJGMEMzOTA3MkQzCis6MTAzNUZBMDAyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzRjA5MDcyMkNFMEY0Cis6MTAzNjBBMDBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1ODNFMDkwNzIwMjZBCis6MTAzNjFBMDBGMDkwNzIyQUUwRkYyNEZENjAyRDI0RkU2MDI5MjQwMzI1Cis6MTAzNjJBMDAyNEZCNTAwNDYwMjE4MDQwOTA3MjAyRTBGRTc0MjAyRjM3Cis6MTAzNjNBMDBGNTgyRTQzNDgwRjU4M0VFRjA3NDI4MkZGNTgyRTQzNEMxCis6MTAzNjRBMDA4MEY1ODNFRUYwODAyMTkwNzIwMkUwRkY5MDcyMkFFMDBBCis6MTAzNjVBMDBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGRjA3NDM4MkVGNUQ5Cis6MTAzNjZBMDA4MkU0MzQ4MEY1ODNFRkYwOTA3NjQwRTA3MDA2OTA3MjQxCis6MTAzNjdBMDAzOTc0MEFGMDkwNzIzOUUwMDRGMEUwQzM5NDBBNTAwMkY3Cis6MDgzNjhBMDBBMTExRTQ5MDc2NDBGMDIyNEEKKzoxMDM2OTIwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMzYKKzowOTM2QTIwMEUzMjI4OTgyOEE4M0U0OTMyMjY5Cis6MTAzNkFCMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEQ0Cis6MTAzNkJCMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjFFCis6MEQzNkNCMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjM4Cis6MTAzNkQ4MDBDMkQ1RUMzMEU3MDlCMkQ1RTRDMzlERkRFNDlDRkNFRTBECis6MTAzNkU4MDAzMEU3MTVCMkQ1RTRDMzlGRkZFNDlFRkUxMjM4MUZDMzJFCis6MTAzNkY4MDBFNDlERkRFNDlDRkM4MDAzMTIzODFGMzBENTA3QzNFNDI5Cis6MDYzNzA4MDA5RkZGRTQ5RUZFMjI3QgorOjEwMzcwRTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBGOQorOjEwMzcxRTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVENgorOjEwMzcyRTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODMxQworOjA4MzczRTAwRTk5M0Y1RjBBM0U5OTMyMkUxCis6MTAzNzQ2MDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzIyCis6MTAzNzU2MDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNEEwCis6MTAzNzY2MDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQkZGCis6MTAzNzc2MDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUM0Cis6MEYzNzg2MDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjIzMQorOjEwMzc5NTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRUM2NDgwQzhBQgorOjA2MzdBNTAwNjQ4MDk4NDVGMDIyNEIKKzoxMDM3QUIwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNzQKKzowMTM3QkIwMDIyRUIKKzowQzM3QkMwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjgwCis6MTAzN0M4MDBBODgyODU4M0YwRDA4M0QwODIxMjM3REYxMjM3REYxMkM4Cis6MTAzN0Q4MDAzN0RGMTIzN0RGRTQ3M0U0OTNBM0M1ODNDNUYwQzU4M0VECis6MTAzN0U4MDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDODRCCis6MDEzN0Y4MDAyMkFFCis6MTAzN0Y5MDBEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzVGCis6MTAzODA5MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MDcyCis6MDYzODE5MDBFRkEzQTNBMzgwREY3MgorOjEwMzgxRjAwQkMwMDBCQkUwMDI5RUY4REYwODRGRkFERjAyMkU0Q0M4RAorOjEwMzgyRjAwRjg3NUYwMDhFRjJGRkZFRTMzRkVFQzMzRkNFRTlERUM1NgorOjEwMzgzRjAwOTg0MDA1RkNFRTlERkUwRkQ1RjBFOUU0Q0VGRDIyRUQ5QworOjEwMzg0RjAwRjhGNUYwRUU4NDIwRDIxQ0ZFQURGMDc1RjAwOEVGMkZFNgorOjEwMzg1RjAwRkZFRDMzRkQ0MDA3OTg1MDA2RDVGMEYyMjJDMzk4RkRENworOjA1Mzg2RjAwMEZENUYwRUEyMjc0Cis6MTAzODc0MDBFNDkwNzYyOUYwOTA3NjI5RTBGRjc1RjAwRkE0MjQ0MkI1Cis6MTAzODg0MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REE3Cis6MTAzODk0MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI5RTAwNEYwODBENUJBCis6MTAzOEE0MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRjA2Cis6MTAzOEI0MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjJBRjAyNDVCCis6MTAzOEM0MDBCRjcwMDI0MTQxMjRFMDcwMDI0MTEyMjQyMTYwMDI0MTkwCis6MTAzOEQ0MDAzQTkwN0ZFOUUwMjRGRTYwN0QxNDcwMDIyMUIyMjQwMjU0Cis6MTAzOEU0MDA2MDAyNDEwQTEyMTc1MTkwNzY0MkUwRkNBM0UwRkRBMzY2Cis6MTAzOEY0MDBFMEZFQTNFMEZGOTA3NjI5RTA3NUYwMEZBNDI0NDNGNUUxCis6MTAzOTA0MDA4MkU0MzQ3NUY1ODMxMjM3QkM5MDc2MTlFMEZGQjQwMTc0Cis6MTAzOTE0MDAxMjkwNzY3Qzc0NjdGMDkwNzY3RDc0MDZGMDkwNzY3RUQzCis6MTAzOTI0MDA3NDBCRjBFRkI0MDIwRkU0OTA3NjdDRjA5MDc2N0RGMEE3Cis6MTAzOTM0MDA5MDc2N0U3NDBDRjBFRkI0MDMwRkU0OTA3NjdDRjA5MEY0Cis6MTAzOTQ0MDA3NjdERjA5MDc2N0U3NDE4RjA5MDc2MUE3NDAxRjAxMkY5Cis6MTAzOTU0MDAzRThGMTIxODAwMjI5MDdFQzJFMEZGRTRGQ0ZERkVGQkM1Cis6MTAzOTY0MDBGQTc5MDFGODEyMzc0NkM4RUNDOEM5RURDOUNBRUVDQURCCis6MTAzOTc0MDBDQkVGQ0I5MDdFQzFFMEZFRTRGQ0ZEMkJGQkVBM0VGQUVDCis6MTAzOTg0MDBFRDM5RjlFQzM4Rjg5MDdFQzBFMEZGRTRGRUVCMkZGRjUwCis6MTAzOTk0MDBFRTNBRkVFRDM5RkRFQzM4RkM5MDc2MjlFMDc1RjAwRjM3Cis6MTAzOUE0MDBBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdCQzIyOTA3RTUzCis6MTAzOUI0MDBDMkUwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjM3NDZDOEM5Cis6MTAzOUM0MDBFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3RUMxRTBGRTBDCis6MTAzOUQ0MDBFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4OTA3RTc1Cis6MTAzOUU0MDBDMEUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZERUMzOENDCis6MTAzOUY0MDBGQzkwNzYyOUUwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NTJECis6MTAzQTA0MDBGNTgzMTIzN0JDMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjBBCis6MTAzQTE0MDBFOUUwMTQ3MDE5OTA3RUMwRTBGRjkwNzYyOUUwNzVGMDFCCis6MTAzQTI0MDAwRkE0MjQ0RkY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkUwCis6MEUzQTM0MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOUYKKzoxMDNBNDIwMEU0OTA3NjM1RjA5MDc2MzVFMEZGQzM5NDAzNDAwMjQxNkUKKzoxMDNBNTIwMEZGRUY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjU4M0VGMkEKKzoxMDNBNjIwMEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0U0MzMKKzoxMDNBNzIwMEYwRUY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4Mzc0OTIKKzoxMDNBODIwMEYwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzMDUKKzoxMDNBOTIwMDc0RkZGMEVGNzVGMDBBQTQyNEFFRjU4MkU0MzQ3NUY1RjQKKzoxMDNBQTIwMDgzRTRGMEVGNzVGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1RUYKKzoxMDNBQjIwMDgzNzQ4MEYwRUY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1QzMKKzoxMDNBQzIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1Q0QKKzoxMDNBRDIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1QkMKKzoxMDNBRTIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1QUIKKzoxMDNBRjIwMEY1ODM3NDAxRjA5MDc2MzVFMDA0RjA0MTQ3OTA3NjNDMEUKKzoxMDNCMDIwMDc0MEFGMEU0QTNGMDkwNzYzNTc0MDNGMDkwNzYzQ0UwMEEKKzoxMDNCMTIwMEZGOTA3NjM1RTBGRUMzOUY0MDAyNjFEMjkwNzYzREUwOTEKKzoxMDNCMjIwMEZGMDRGMEVFNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1RDgKKzoxMDNCMzIwMDgzRUZGMEVFNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1NTgKKzoxMDNCNDIwMDgzRTRGMEVFNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1NTIKKzoxMDNCNTIwMDgzNzQ1RUYwRUU3NUYwMEFBNDI0QURGNTgyRTQzNDc1NDgKKzoxMDNCNjIwMEY1ODM3NEJBRjBFRTc1RjAwQUE0MjRBRUY1ODJFNDM0NUIKKzoxMDNCNzIwMDc1RjU4Mzc0MDVGMEVFNzVGMDBBQTQyNEFGRjU4MkU0QkUKKzoxMDNCODIwMDM0NzVGNTgzNzQ4MEYwRUU3NUYwMEFBNDI0QjBGNTgyRTIKKzoxMDNCOTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjFGNTgyRkQKKzoxMDNCQTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjJGNTgyRUMKKzoxMDNCQjIwMEU0MzQ3NUY1ODM3NDE1RjBFRTc1RjAwQUE0MjRCM0Y1QjgKKzoxMDNCQzIwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzVFMDA0RjA2MTBFMUEKKzowMTNCRDIwMDIyRDAKKzoxMDNCRDMwMEU0OTA3NjM2RjBFMEZCNzVGMDBGQTQyNDQxRjU4MkU0MUYKKzoxMDNCRTMwMDM0NzVGNTgzNzQ0MEYwRUI3NUYwMEZBNDI0NDJGNTgyMkQKKzoxMDNCRjMwMEU0MzQ3NUY1ODM3NDBBRjBFQjc1RjAwRkE0MjQ0M0Y1RjAKKzoxMDNDMDMwMDgyRTQzNDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwRDkKKzoxMDNDMTMwMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwRjYKKzoxMDNDMjMwMEFDNDRFQjc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzQjMKKzoxMDNDMzMwMDEyMzdDODAwMDE3NzAwOTA3NjM2RTAwNEYwRTBGQjc1OTgKKzoxMDNDNDMwMEYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDBGMEVCNUUKKzoxMDNDNTMwMDc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4Q0YwNzcKKzoxMDNDNjMwMEVCNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODMxMjM3MjIKKzoxMDNDNzMwMEM4MDAwMEFDNDRFQjc1RjAwRkE0MjQ0N0Y1ODJFNDM0OEMKKzoxMDNDODMwMDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwMEZBNDI0MUMKKzoxMDNDOTMwMDRCRjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAxNzcwMDkwNDEKKzoxMDNDQTMwMDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0REEKKzoxMDNDQjMwMDM0NzVGNTgzNzQ0MEYwRUY3NUYwMEZBNDI0NDJGNTgyNTgKKzoxMDNDQzMwMEU0MzQ3NUY1ODM3NDhGRjA5MDc2MzZFMDA0RjBFMEZGMEEKKzoxMDNDRDMwMDc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MUYwNDMKKzoxMDNDRTMwMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDg0RjAKKzoxMDNDRjMwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1NzAKKzoxMDNEMDMwMDgyRTQzNDc1RjU4Mzc0NjFGMEVGNzVGMDBGQTQyNDQyRjcKKzoxMDNEMTMwMEY1ODJFNDM0NzVGNTgzNzQ4MUYwOTA3NjM2RTAwNEYwMkYKKzoxMDNEMjMwMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDQKKzoxMDNEMzMwMDYxRjBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNDYKKzowNDNENDMwMDc0MDFGMDIyRjUKKzoxMDNENDcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwRjYKKzoxMDNENTcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGQjEKKzoxMDNENjcwMEMwRTA5MDdGQTJFMDkwNzY3RkYwOTA3Rjc0RTA5MDc2M0QKKzoxMDNENzcwMDg3RjA5MDdGNzVFMDkwNzY4OEYwOTA3Rjk4RTA0NDAyMTYKKzoxMDNEODcwMEYwOTA3Njk2RTBGRjIwRTEwQzQ0MDJGMDkwODAwM0YwN0IKKzoxMDNEOTcwMEQyMzIxMjRBQzQ5MDc2N0ZFMDIwRTI1MDkwNzY4N0UwRDQKKzoxMDNEQTcwMEZFQTNFMDdDMDAyNDAwRjUzNEVDM0VGNTMzOTA3Njk4RDIKKzoxMDNEQjcwMEUwRkRBRTMzQUYzNDEyMzZEODkwNzY4N0VGRjBEMjJGQ0UKKzoxMDNEQzcwMDMwMzEyOTIwM0YyNkMyMzE5MDdGOTRFMDU0Q0ZGMDkwQzQKKzoxMDNERDcwMDdGOUFFMDMwRTQwNEQyMkRDMjJDOTA3RjlBRTAyMEU1NTAKKzoxMDNERTcwMDA0QzIyREQyMkM5MDdGOTRFMDQ0MzBGMDEyNEE1MDEyMzYKKzoxMDNERjcwMDFCMDQzMDJGMTIxMjQyMTZDMjJGNzVFODAxMTIxNjhBQzEKKzoxMDNFMDcwMDc1RTgwREQyMkI4MDA1NzVFODAxQzIyQjIwMkIzNDkwNjUKKzoxMDNFMTcwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2MDAKKzoxMDNFMjcwMEYwQTM3NDBCRjBFRkI0MDIwQjkwNzY3Q0U0RjBBM0YwRjAKKzoxMDNFMzcwMEEzNzQwQ0YwRUZCNDAzMEI5MDc2N0NFNEYwQTNGMEEzMkIKKzoxMDNFNDcwMDc0MThGMDc1Q0FEMzc1Q0JGRUQyQ0EzMDM0MDRDMjM0QTUKKzoxMDNFNTcwMDgwMDJEMjM0NTM5MUVGOTA3RkFCNzQwMkYwRjA5MDdGRTEKKzoxMDNFNjcwMDk4RTA1NEZERjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRDgKKzoxMDNFNzcwMEZDRDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwMjkKKzowODNFODcwMDgyRDA4M0QwRjBEMEUwMzJCQworOjEwM0U4RjAwOTA3NjkyRTAxNDYwMUQxNDcwMDJFMTQ0MjQwMjYwMDJFNworOjEwM0U5RjAwRTFENDkwNzY5NDc0MDFGMDkwODAwMEYwRTQ5MDc2OEVFNworOjEwM0VBRjAwRjBEMjMxMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGRjIzQgorOjEwM0VCRjAwRjA5MDdGRjM3NDMwRjA5MDdGRkY3NEZDRjA5MDc2OTc2MgorOjEwM0VDRjAwRTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyRjBFRQorOjEwM0VERjAwOTA3RkYzNzQzNEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTA0RQorOjEwM0VFRjAwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwOTAyQgorOjEwM0VGRjAwN0ZGMzc0NjRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNDQ0QQorOjEwM0YwRjAwMDRGMDkwNzY5NEUwNDQwMUYwOTA4MDAwRjAzMDNGMDk4NworOjEwM0YxRjAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA5QQorOjEwM0YyRjAwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDRGMDkwNzZGNworOjEwM0YzRjAwOEU3NDAxRjAyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0Y5QworOjEwM0Y0RjAwRjJGMDkwN0ZGMzc0NDRGMDkwN0ZGRjc0RkNGMDkwNzY2MgorOjEwM0Y1RjAwOTdFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJCNgorOjEwM0Y2RjAwRjA5MDdGRjM3NDRDRjA5MDdGRkY3NEZDRjA5MDc2OTc5NQorOjEwM0Y3RjAwRTA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjA0QQorOjEwM0Y4RjAwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAzRAorOjEwM0Y5RjAwNDQwNEYwOTA3Njk0RTA1NEZFRjA5MDgwMDBGMDMwM0ZBRgorOjEwM0ZBRjAwMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMQorOjEwM0ZCRjAwRjA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNkYwOTBFQgorOjA2M0ZDRjAwNzY4RTc0MDJGMDIyNjAKKzoxMDNGRDUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMkYwMTUKKzoxMDNGRTUwMDkwN0ZDN0UwRjUxMTc1MEYwMDc1MEQwMEQyMzNEMDgyQjMKKzowNTNGRjUwMEQwODNEMEUwMzI5MgorOjA2M0ZGQTAwMTI0QUM0QzIzMTIyOEMKKzoxMDQwMDAwMEU1MTFEMzk0MDA1MDAyMjEwNjkwNzY4OUUwQzM5NDA4MEMKKzoxMDQwMTAwMDQwMDIyMTA2NzQ0MDI1MEZGNTgyRTQzNDdFRjU4M0UwRUEKKzoxMDQwMjAwMEY1MTdFNTBENjAwRTkwODAwNUU1MTdGMDkwNzY4OUUwQjQKKzoxMDQwMzAwMDA0RjAwMURBRTUxNzEyMzdGOTQwQzEwMjQwNjcwNTQwODQKKzoxMDQwNDAwMDdBMDY0MDk4MDc0MEMxMEM0MEMxMEQ0MEM3MEY0MENCRDUKKzoxMDQwNTAwMEY2NDBDQkY4NDBDQkZBNDBDQkZCNDBDQkZDNDBDQkZFNEMKKzoxMDQwNjAwMDQwQ0JGRjAwMDA0MERBOTA3RTQxRTA5MDgwMDVGMDkwNjgKKzoxMDQwNzAwMDc2ODlFMDA0RjA3NTExMDE4MDYwOTA3RTQxRTA5MDgwQzcKKzoxMDQwODAwMDA1RjA5MDdFNDJFMDkwODAwNUYwOTA3Njg5RTAwNEYwQTMKKzoxMDQwOTAwMEUwMDRGMDc1MTEwMTgwNDI5MDdFNDFFMDkwODAwNUYwQ0YKKzoxMDQwQTAwMDkwN0U0MkUwOTA4MDA1RjA5MDdFNDNFMDkwODAwNUYwQTUKKzoxMDQwQjAwMDkwNzY4OUUwMDRGMEUwMDRGMEUwMDRGMDc1MTEwMTgwRUUKKzoxMDQwQzAwMDE5RDIzQkQyM0M4MDEzRDIzQjgwMEY5MDgwMDVFNTE3N0MKKzoxMDQwRDAwMEYwOTA3Njg5RTAwNEYwNzUxMTAxMjAzQjA0MDUwRDgwMTUKKzoxMDQwRTAwMDFGMzAzQzFDOTA3RTQxRTA5MDgwMDVGMDkwN0U0MkUwQzUKKzoxMDQwRjAwMDkwODAwNUYwOTA3Njg5RTAwNEYwRTAwNEYwNzUxMTAxRkQKKzoxMDQxMDAwMDA1MEYxNTExMDEwMEU1MTE3MDEwQzIzM0Y1MERGNTBGMDMKKzowQjQxMTAwMDkwN0ZDNzc0MDRGMEMyM0JDMjNDMjI0OQorOjEwNDExQjAwOTA3NjhERTA2NDAxNzAyNzMwMjcwOEMyMjcxMjA4MDBDMworOjEwNDEyQjAwMTIxNzRBMzAyODA4QzIyODEyMzg3NDEyMTc0QTMwMkEzQworOjEwNDEzQjAwMEVFNDkwNzY4REYwQzIyQTkwN0ZCNEUwNDQwMkYwOTBBQQorOjEwNDE0QjAwNzYzRkUwQjQwMTA1RTRGMDEyMzI2RjkwNzY0MUUwQjRCMworOjEwNDE1QjAwMDEwNUU0RjAxMjM0OUE5MDc2NDBFMEI0MDEwMzEyMzQ3NgorOjEwNDE2QjAwOUE5MDdGOUJFMDIwRTQwMkMyM0Y5MDdGOUJFMDMwRTQ3QgorOjEwNDE3QjAwMDJEMjNGOTA3RjlCRTAyMEU1MDJDMjNFOTA3RjlCRTAwNgorOjEwNDE4QjAwMzBFNTAyRDIzRUEyNDEzMDNGMDFCMzUwMUZBMjNGOTIxNQorOjEwNDE5QjAwNDEzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTc3OAorOjEwNDFBQjAwRTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwMzAzRjM0OTAzRAorOjEwNDFCQjAwNzYxOUUwRkZCNDAxMEU5MDc2N0M3NDY3RjBBMzc0MDY1OQorOjEwNDFDQjAwRjBBMzc0MEJGMEVGQjQwMjBCRTQ5MDc2N0NGMEEzRjA0OQorOjEwNDFEQjAwQTM3NDBDRjBFRkI0MDMwQkU0OTA3NjdDRjBBM0YwQTM4NAorOjEwNDFFQjAwNzQxOEYwQTI0MDMwM0UwMUIzNTAxRkEyM0U5MjQwMzBGMworOjEwNDFGQjAwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwNTQ2NAorOjBCNDIwQjAwRkJGMDkwNzY5NUUwOTA4MDAxRjAyMjFGCis6MTA0MjE2MDA5MDc2MTlFMDY0MDE3MDM1OTA3Njg3RTBGRkQzOTQyRDhGCis6MTA0MjI2MDA0MDJCOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzFBCis6MTA0MjM2MDA5NDBGNDAxOUU0RjBFRkQzOTQzMTQwMDg5MDc2MTk3NDQ2Cis6MTA0MjQ2MDAwM0YwODAwNjkwNzYxOTc0MDJGMDEyM0U4RjkwNzYxOTZDCis6MTA0MjU2MDBFMEI0MDIyQzkwNzY4N0UwRkZDMzk0MkY1MDIyRUZEMzcwCis6MTA0MjY2MDA5NDJBNDAxQzkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMERFCis6MTA0Mjc2MDBFMEQzOTQwRjQwMEFFNEYwOTA3NjE5MDRGMDEyM0U4RkQyCis6MTA0Mjg2MDA5MDc2MTlFMEI0MDIyNjkwNzY4N0UwRDM5NDMxNDAxREVCCis6MTA0Mjk2MDA5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjcyCis6MTA0MkE2MDA0MDBCRTRGMDkwNzYxOTc0MDNGMDEyM0U4RjkwNzYxOTY1Cis6MTA0MkI2MDBFMDY0MDM3MDNGOTA3Njg3RTBGRkMzOTQ1RjUwMzU5MENCCis6MTA0MkM2MDA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY0MDkyCis6MTA0MkQ2MDAyM0U0RjBFRkMzOTQyRjUwMENFRkQzOTQyQTQwMDY5MEJBCis6MTA0MkU2MDA3NjE5NzQwMUYwRUZEMzk0MkY0MDA2OTA3NjE5NzQwMjc0Cis6MTA0MkY2MDBGMDEyM0U4RjkwNzY4NkUwNzAwNTkwNzY4NUYwMjJFNDg3Cis6MDU0MzA2MDA5MDc2ODZGMDIyMTQKKzoxMDQzMEIwMEU0OTA3Njk2RjA5MDgwMDNGMDkwN0ZFMDc0OTBGMDkwQkMKKzoxMDQzMUIwMDdGRTE3NDA0RjBFNDkwN0ZEREYwOTA3RkExRjA1MzhFODkKKzoxMDQzMkIwMEY4NzU4ODA1NzVCODIwNzVGODAxNDM4RTMwRjVDODc1OUEKKzoxMDQzM0IwMENBN0Y3NUNCRjg0M0E4MjAxMjA3NEFDMjJDQzIyREMyRTQKKzoxMDQzNEIwMDJCQzIyRjkwN0ZGQzc0RERGMDkwN0ZGRjc0RkZGMDkwRjkKKzoxMDQzNUIwMDdGOTdFMDQ0MDFGMDkwNzYxOTc0MDFGMEU0OTA3Njg1MzQKKzoxMDQzNkIwMEYwQTNGMDkwNzY4MUYwOTA3NjgwRjAxMjQ5NTgxMjBGRkUKKzoxMDQzN0IwMEM2MTI0QThEOTA3Rjk3RTA0NDA4RjBFMDU0QjlGMEQyMTIKKzoxMDQzOEIwMDMwMjAzMDE4MTI0N0I0MTIzMDAwMTI0MDAwMTI0MjE2N0YKKzoxMDQzOUIwMDEyNEE1MDEyMUIwNDEyMTY2MTEyNDIxNkMyMkZDMjMxNUUKKzoxMDQzQUIwMEMyMzJDMjM0QzIzM0MyMjlDMjI3QzIyOEU0RjUxMTkwRUIKKzoxMDQzQkIwMDc2ODlGMDkwNzYzRkYwOTA3NjQxRjA5MDc2NDBGMDkwRDEKKzoxMDQzQ0IwMDc2OEFGMEEzRjBBMzA0RjBFNEEzRjA5MDc2OTlGMDIyQTAKKzoxMDQzREIwMDEyNERBMzQwMDI4MUEwOTA3RkVCRTAyNEZFNjAxRTE0REYKKzoxMDQzRUIwMDYwNDYxNDYwNkUxNDcwMDI4MTkxMjQwNDYwMDI4MTk5RkUKKzoxMDQzRkIwMDc0MDU5MDdGRDRGMDc0MDA5MDdGRDVGMDIyOTA3RkVBMDMKKzoxMDQ0MEIwMEUwRkYxMjQ5RkY4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRjUKKzoxMDQ0MUIwMEVBQ0VFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyQUMKKzoxMDQ0MkIwMDkwN0ZCNEUwNDQwMUYwMjI5MDdGRUFFMEZGMTI0OEIwQTUKKzoxMDQ0M0IwMDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFRUU5MDdGNDkKKzoxMDQ0NEIwMEQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGQjRFMDQ0NEEKKzoxMDQ0NUIwMDAxRjAyMjkwN0ZFQUUwRkY5MDdFQzBFMEZEQTNFMEZCM0QKKzoxMDQ0NkIwMDEyMTc5NDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFNTkKKzoxMDQ0N0IwMEVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGRjUKKzoxMDQ0OEIwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMkQKKzowNTQ0OUIwMEI0RTA0NDAxRjA1MworOjAxNDRBMDAwMjJGOQorOjEwNDRBMTAwQzJBRkQyMjQ5MDdGOTM3NDMwRjA5MDdGOUM3NEJCRjBBNAorOjEwNDRCMTAwOTA3Rjk2RTA0NDMwRjBFMDU0MzBGMDkwN0Y5NDc0MzA3NworOjEwNDRDMTAwRjA5MDdGOUQ3NENGRjA5MDdGOTc3NEEwRjA5MDdGOTVDRQorOjEwNDREMTAwNzRDMEYwOTA3RjlFNzQwM0YwOTA3Rjk5RTAzMEUyMDkwMAorOjEwNDRFMTAwOTAwNTE5NzRBMEYwRTRBM0YwQzIyNUMyMjJDMjIzQzIzMAorOjEwNDRGMTAwMjYxMjRBQzQxMjJEQTkxMjNCRDMxMjQ1NTkxMjNBNDIyRgorOjEwNDUwMTAwOTA3NjY4NzQwMUYwNzAwRjEyNEJCQjEyMDdGRTEyNERDQQorOjEwNDUxMTAwQTExMjFCNDAxMjE0OTYxMjQzMEI5MDdGQUZFMDQ0MDE4RAorOjEwNDUyMTAwRjA5MDdGQUVFMDQ0MUZGMDkwN0ZBQzc0RkZGMDkwN0Y3RAorOjEwNDUzMTAwQURGMDkwN0ZERUYwOTA3RkRGRjA5MDdGQUJGMDkwN0Y2OQorOjEwNDU0MTAwQTlGMDkwN0ZBQUYwNTM5MUVGNDNEODIwRDJFODQzRDg0NQorOjA4NDU1MTAwMjA1M0E4QTA0M0E4ODAyMjFBCis6MTA0NTU5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNEE2Cis6MTA0NTY5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNEEwCis6MTA0NTc5MDAzNDc1RjU4Mzc0MDFGMDkwNzYzNkUwMDRGMEUwRkY3NTQ4Cis6MTA0NTg5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NTgxCis6MTA0NTk5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDAyRjA5MEIyCis6MTA0NUE5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNEU2Cis6MTA0NUI5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNDUwCis6MTA0NUM5MDAzNDc1RjU4Mzc0MDNGMDkwNzYzNkUwMDRGMEUwRkY3NUY2Cis6MTA0NUQ5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NTMxCis6MTA0NUU5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMkNFCis6MEM0NUY5MDA3ODdGRTRGNkQ4RkQ3NTgxMzgwMjQ2NDA1QQorOjEwNDYwNTAwMDI0NzVBRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIyQQorOjEwNDYxNTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNCNgorOjEwNDYyNTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REY4NQorOjEwNDYzNTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMEM4RkU0N0U3QQorOjEwNDY0NTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTM3QQorOjEwNDY1NTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTM0MQorOjEwNDY2NTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0E2QworOjEwNDY3NTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkUyNAorOjEwNDY4NTAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDFEMTQ2MDJBMTRBRQorOjEwNDY5NTAwNjAzNzE0NjA0NDI0MDQ3MDUwOTA3NjkxRTA5MDdGMDA1OAorOjEwNDZBNTAwRjA5MDdGQjU3NDAxRjA4MDQ3OTA3NjkyRTA5MDdGMDA5RQorOjEwNDZCNTAwRjA5MDdGQjU3NDAxRjA4MDM3OTA3NjkwRTA5MDdGMDBBMAorOjEwNDZDNTAwRjA5MDdGQjU3NDAxRjA4MDI3OTA3Njg0RTA5MDdGMDBBQworOjEwNDZENTAwRjA5MDdGQjU3NDAxRjA4MDE3OTA3NjkzRTA5MDdGMDA5RAorOjEwNDZFNTAwRjA5MDdGQjU3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA0RAorOjAyNDZGNTAwRDMyMkNFCis6MTA0NkY3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMDNECis6MTA0NzA3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkY3Cis6MTA0NzE3MDBDMEUwQzJDQUMyQ0Y5MDdGOThFMDQ0MDFGMDMwMkUwM0I4Cis6MTA0NzI3MDAxMjE0QTY5MDdGOThFMDU0RkVGMDUzQThGQTEyMTY2MTZGCis6MTA0NzM3MDBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMDQxCis6MTA0NzQ3MDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMDMyCis6MDM0NzU3MDBEMEUwMzI3RAorOjEwNDc1QTAwRTQ5MDc2NjZGMDEyNDRBMTIwMjYxMzkwNzY2NkUwQzNCMAorOjEwNDc2QTAwOTQwMjUwMEFFMDA0RjBEMjQyMTI0QUY2ODBFQTMwMjY1NQorOjEwNDc3QTAwMDUxMjI4MDFDMjI2MzAyNTJCOTA3Njk2RTA1NEZDRjBDQgorOjEwNDc4QTAwOTA4MDAzRjAxMjE0OTY5MDc2OTZFMDQ0MDNGMDkwODA5RAorOjEwNDc5QTAwMDNGMEU0OTA3NjY3RjA5MDc2NjdFMDA0RjBFMEI0NEJCQgorOjBBNDdBQTAwRjYxMjNGRkExMjQxMUI4MEM1MjJFRgorOjEwNDdCNDAwRTQ5MDc2OUJGMDkwNzY5QkUwRkYwNEYwRUY2MDA4RTBENQorOjEwNDdDNDAwMjQwOEY4RTRGNjgwRUU5MDc2OTZFMDU0RkJGMDU0Rjc3MworOjEwNDdENDAwRjA5MDgwMDNGMEU0RjUxOEQyMzVGNTBFRjUxMEQyMzZEQQorOjEwNDdFNDAwNzUxMjExNzUxMzIyQzIzN0MyMzlDMjM4RjUxNkY1MTQ4MQorOjBCNDdGNDAwRjUxQUY1MERDMjNCQzIzQ0MyM0QyMjhECis6MTA0ODAwMDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMTcxNDYwMjExNDQwCis6MTA0ODEwMDA2MDJCMTQ2MDMyMjQwNDcwMzg5MDdGRUFFMDkwNzY5MTI3Cis6MTA0ODIwMDBGMDgwMzU5MDdGRUFFMDkwNzY5MkYwMTIzRThGODAyOEZCCis6MTA0ODMwMDA5MDdGRUFFMDkwNzY5MEYwMTIxODAwODAxQjkwN0ZFQTVCCis6MTA0ODQwMDBFMDkwNzY4NEYwODAxMTkwN0ZFQUUwOTA3NjkzRjA4MDlCCis6MEE0ODUwMDAwNzkwN0ZCNEUwNDQwMUYwRDMyMjhBCis6MTA0ODVBMDBFNDkwNzYyNkYwOTA3NjI2RTBGRjc1RjAwM0E0MjQzNERGCis6MTA0ODZBMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REIxCis6MTA0ODdBMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI2RTAwNEYwODBENUM5Cis6MTA0ODhBMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwMzFFCis6MTA0ODlBMDBBNDI0MzJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDI5Cis6MDY0OEFBMDA3RkI1NzQwMUYwMjI0RAorOjAyNDhCMDAwOEYyRTQ5Cis6MTA0OEIyMDBFNEY1MkY3NTMwRkY3NTMxMDY3NTMyQkVBQjMwQUEzMTgzCis6MTA0OEMyMDBBOTMyOTAwMDAxMTIzNkFCQjQwMzFGQUYyRjA1MkZFRkIwCis6MTA0OEQyMDA2NTJFNzAwMTIyMTIzNjkyN0UwMDI5RkZFRTNBQzlFRjUwCis6MTA0OEUyMDBDOTc1MzBGRkY1MzE4OTMyODBEMjdCMDA3QTAwNzkwMEI4Cis6MDE0OEYyMDAyMkEzCis6MEM0OEYzMDBDMjM3RTRGNTBFRjUxMEMyMzZGNTE0MjJCMQorOjEwNDkwMDAwMDIyRkU3MDAwMjNENDcwMDAyNEQ0NjAwMDI0QkQ1MDA1MgorOjEwNDkxMDAwMDI0QjYwMDAwMjJGRkYwMDAyNEJFRDAwMDI0QjgxMDBCMgorOjEwNDkyMDAwMDI0QzA0MDAwMjNGRDUwMDAyNEMxQjAwMDI0QzMyMDAzNgorOjEwNDkzMDAwMDI0QzQ5MDAwMjRDNjAwMDAyNEM3NzAwMDI0QzhFMDA5MQorOjEwNDk0MDAwMDI0Q0E1MDAwMjRDQkMwMDAyNENEMzAwMDI0Q0VBMDAxMQorOjA4NDk1MDAwMDI0RDAxMDAwMjREMTgwMEE4Cis6MTA0OTU4MDA5MDc2NDY3NDgwRjBFNEEzRjBBM0YwQTNGMEEzRjBBMzRDCis6MTA0OTY4MDBGMEEzRjBBM0YwQTNGMEEzNzQ4MEYwRTRBM0YwQTNGMDA1Cis6MTA0OTc4MDBBM0YwQTNGMEEzRjBBM0YwQTM3NDQwRjBFNEEzRjBBMzgyCis6MTA0OTg4MDA3NDQwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0YwQTNGMDI1Cis6MTA0OTk4MDBBMzc0NDBGMEU0QTNGMEEzNzQ0MEYwRTRBM0YwQTNGMDAwCis6MDU0OUE4MDBBM0YwQTNGMDIyQzIKKzoxMDQ5QUQwMEU0OTA3NjI1RjA5MDc2MjVFMEZGNzVGMDAzQTQyNDM0OEQKKzoxMDQ5QkQwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENUQKKzoxMDQ5Q0QwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjVFMDA0RjA4MEQ1NzYKKzoxMDQ5REQwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMjkwN0VDMEUwNzMKKzoxMDQ5RUQwMEZFRUY3NUYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0VFMDEKKzowMjQ5RkQwMEYwMjJBNgorOjEwNDlGRjAwRTRGRTc1MURGRjc1MUUwNTc1MUYxMkFCMURBQTFFQTlCRQorOjEwNEEwRjAwMUY5MDAwMDExMjM2QUI2NDAyNzAyRkNERUVDRDBFRUQ2QworOjEwNEExRjAwNkY3MDAxMjI5MDAwMDIxMjM3MEU4NUYwMUJGNTFDNjI5OQorOjEwNEEyRjAwMUJFNTFCNjIxQ0U1MUM2MjFCMjlGREU1MUIzQUM5RUQ0QQorOjEwNEEzRjAwQzk3NTFERkZGNTFFODkxRjgwQzE3QjAwN0EwMDc5MDBBMworOjAxNEE0RjAwMjI0NAorOjEwNEE1MDAwMzAyRDM5QzIyRDkwNzYxOUUwRkZCNDAxMERFNDkwNzYyNworOjEwNEE2MDAwN0NGMEEzNzRGOEYwQTM3NDBBRjBFRkI0MDIwREU0OTBBNAorOjEwNEE3MDAwNzY3Q0YwQTM3NEYwRjBBMzc0MEJGMEVGQjQwMzBERTRCNAorOjBENEE4MDAwOTA3NjdDRjBBMzc0RjhGMEEzNzQxN0YwMjI3OAorOjEwNEE4RDAwRTRGRjc0NTYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0Mjg0NgorOjEwNEE5RDAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDVFMkZGNTgyRTQxOQorOjEwNEFBRDAwMzQ3NkY1ODNFMEZFNzQzODJGRjU4MkU0MzQ4MEY1ODM5NworOjA2NEFCRDAwRUVGMDBGQkYwOENDNzMKKzowMTRBQzMwMDIyRDAKKzoxMDRBQzQwMEU0OTA3MjM2RjBBM0YwOTA3Rjk3RTA1NEZCRjBFNDkwMEEKKzoxMDRBRDQwMDcyMzNGMDkwNzIzMkYwOTA3MjAxMDRGMEU0OTA3MjMzMDkKKzoxMDRBRTQwMEYwOTA3MjMyRjA5MDcyMDEwNEYwOTA3Rjk3RTA0NDA0RTkKKzowMjRBRjQwMEYwMjJBRQorOjEwNEFGNjAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwNDIwNEUwNDRGNgorOjEwNEIwNjAwMDJGMDdGREM3RTA1MTI0RDJGOTA3RkQ2RTA1NEY3RjA0MQorOjA1NEIxNjAwRTA0NDA0RjAyMjYwCis6MTA0QjFCMDA5MDdGRUJFMDE0NzAxNDkwN0ZFOUUwMjQ3RjcwMDQxMjE3Cis6MTA0QjJCMDA0ODVBMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NEQ1Cis6MDM0QjNCMDAwMUYwMjI2NAorOjEwNEIzRTAwOTA3RkVCRTAxNDcwMTM5MDdGRTlFMDE0NzAwNDEyNDkzQgorOjEwNEI0RTAwQUQyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFBNgorOjAyNEI1RTAwRjAyMjQzCis6MTA0QjYwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjA5MDhGCis6MTA0QjcwMDA3Njk2RTA1NEZERjA5MDgwMDNGMEQwODJEMDgzRDBFMEIwCis6MDE0QjgwMDAzMjAyCis6MTA0QjgxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDFGMDVFCis6MEY0QjkxMDBDMjI5OTA3NjhENzQwMUYwRDA4MkQwODNEMEUwMzJBQgorOjEwNEJBMDAwOTA3RkVBRTA5MDc2ODJGMEU0OTA3NjkxRjA5MDc2OTJCMQorOjBCNEJCMDAwRjA5MDc2OTBGMDkwNzY5M0YwRDMyMjA2Cis6MTA0QkJCMDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMkM0Cis6MEE0QkNCMDA0RDJGOTA3RkQ2RTA1NEZFRjAyMjNCCis6MTA0QkQ1MDBDMEUwQzA4M0MwODJEMjI1NTM5MUVGOTA3RkFCNzQwOEFCCis6MDg0QkU1MDBGMEQwODJEMDgzRDBFMDMyNTEKKzoxMDRCRUQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMUYwRjMKKzowNzRCRkQwMEQwODJEMDgzRDBFMDMyMkEKKzoxMDRDMDQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMkYwREEKKzowNzRDMTQwMEQwODJEMDgzRDBFMDMyMTIKKzoxMDRDMUIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwNEYwQzEKKzowNzRDMkIwMEQwODJEMDgzRDBFMDMyRkIKKzoxMDRDMzIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwNEYwQTkKKzowNzRDNDIwMEQwODJEMDgzRDBFMDMyRTQKKzoxMDRDNDkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwOEYwOEYKKzowNzRDNTkwMEQwODJEMDgzRDBFMDMyQ0QKKzoxMDRDNjAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwOEYwNzcKKzowNzRDNzAwMEQwODJEMDgzRDBFMDMyQjYKKzoxMDRDNzcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQxMEYwNTkKKzowNzRDODcwMEQwODJEMDgzRDBFMDMyOUYKKzoxMDRDOEUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQxMEYwNDEKKzowNzRDOUUwMEQwODJEMDgzRDBFMDMyODgKKzoxMDRDQTUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQyMEYwMUIKKzowNzRDQjUwMEQwODJEMDgzRDBFMDMyNzEKKzoxMDRDQkMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQyMEYwMDMKKzowNzRDQ0MwMEQwODJEMDgzRDBFMDMyNUEKKzoxMDRDRDMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ0MEYwQ0QKKzowNzRDRTMwMEQwODJEMDgzRDBFMDMyNDMKKzoxMDRDRUEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ0MEYwQjUKKzowNzRDRkEwMEQwODJEMDgzRDBFMDMyMkMKKzoxMDREMDEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ4MEYwNUUKKzowNzREMTEwMEQwODJEMDgzRDBFMDMyMTQKKzoxMDREMTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ4MEYwNDYKKzowNzREMjgwMEQwODJEMDgzRDBFMDMyRkQKKzoxMDREMkYwMDhFMzU4RjM2RTUzNjE1MzZBRTM1NzAwMjE1MzU0RTYwMzkKKzowNzREM0YwMDA1MTIxNDg1ODBFRTIyMkQKKzoxMDRENDYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDRGMEQwNzMKKzowNjRENTYwMDgyRDA4M0QwRTAzMkEwCis6MTA0RDVDMDA5MDc2ODJFMDkwN0YwMEYwOTA3RkI1NzQwMUYwRDMyMkMyCis6MDk0RDZDMDBDMjI1NTNEOEVGNDNEODIwMzJEMAorOjA3NEQ3NTAwNTM5OEZFNTM5OEZEMzIzNAorOjA3NEQ3QzAwNTNDMEZFNTNDMEZEMzJERAorOjA2NEQ4MzAwNTM5MUJGRDIyRDMyNTYKKzowNjREODkwMDUzOTE3RkQyMkMzMjkxCis6MDQ0RDhGMDA1MzkxREYzMjJCCis6MDQ0RDkzMDA1M0Q4RjczMkM4Cis6MDQ0RDk3MDAxMjE3MzAyMjlECis6MDM0RDlCMDBDMjhEMzI5NAorOjAzNEQ5RTAwQzI4RjMyOEYKKzowMjREQTEwMEQzMjIxQgorOjAyNERBMzAwRDMyMjE5Cis6MDI0REE1MDBEMzIyMTcKKzowMjREQTcwMEQzMjIxNQorOjAyNERBOTAwRDMyMjEzCis6MDI0REFCMDBDMzIyMjEKKzowMDAwMDAwMUZGCisvKgorU291cmNlOiBFTUk2MlNGVy5IRVgKK1ZFUlNJT049MS4wNC4wNjIKK0RBVEU9MTYuMTAuMjAwMgorKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdy5paGV4IGIvZmlybXdhcmUvZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3LmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMzYzRjMwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdy5paGV4CkBAIC0wLDAgKzEsMTIwIEBACis6MTAwMDAwMDA4MDc5MzAwMDgwNzlCNDAzODA3OUI0MDM4MDc5RkIwMDczCis6MTAwMDEwMDA4MDc5REQwMDgwNzlCNDAzODA3OTMyMDM4MDc5ODcwMkFBCis6MTAwMDIwMDA4MDc5QjQwMzgwNzlCNDAzODA3OUI0MDM4MDc5QjQwMzEwCis6MTAwMDMwMDA4MDc5MUEwMzgwNzlCNDAzODA3OTJGMDI4MDc5QjQwMzIwCis6MTAwMDQwMDA4MDc5QjQwMzgwNzlCNDAzODA3OUI0MDM4MDc5QjQwM0YwCis6MTAwMDUwMDA4MDc5NjMwMDgwNzk2QjAwODA3OUI0MDM4MDc5QjQwMzgwCis6MTAwMDYwMDA4MEJGN0MyQzA2ODgwNDg4NDBCRTIwQkMwOUFFMDAxMEVFCis6MTAwMDcwMDAwQUFFMDEwMDM4NjkwOEVCNTMwMDVBNjkwOEVCRDYwMDU0Cis6MTAwMDgwMDAwOTAwODg4QjgwNjk4OEUzMzYwMDMwQkUyMEJDMDk2OThFCis6MTAwMDkwMDAwMUI4MDk5MDQxQkU0MUJFMjg2OTg4RUI3ODAwNDFCRTk1Cis6MTAwMEEwMDA0MEJFODA3OTM4MDA0MUJFNDFCRTNBOTAzODY5MDhFM0NECis6MTAwMEIwMDA1NjAwM0E5MDQxQkU0MEJFMDBFRjNBOTAzOTY5MDhFM0RECis6MTAwMEMwMDA1RTAwM0E5MDAwRUYwQjY5MEM2NjhDRUYwQTY5MEM2NkQzCis6MTAwMEQwMDAwQjYyMDk2NjAwRUYxMDY5MEY2NjA0RUY4OEUzNzUwMDk0Cis6MTAwMEUwMDAwRTY5MEY2NjEwNjIwRDY2MDBFRjBFNjkwRDY2MDBFRjc3Cis6MTAwMEYwMDA3MEFFMDEwMDIwQkMyN0FFMDEwMDM5NjkwOEVCNUQwMDNECis6MTAwMTAwMDAyNjY5MDFCODI2OTAyNjAwODg4QjgwNjk4OEUzQ0IwMDk5Cis6MTAwMTEwMDAyODkwMjgwRDExNDIwMEUxN0EwMDExNDcwMEUxQTAwMDZCCis6MTAwMTIwMDA4MDdBNjMwMDExQjgwQTY2MDk2MjA0RTM3QTAwMEIwQzU2Cis6MTAwMTMwMDAwNTQwMEExMDAxQkExMjkwMTIwQzAyNDA4MDc5QUYwMEZCCis6MTAwMTQwMDA4MDdBNkIwMDAyQkUwRTYyMEQ2NjEwQkE0NEUzN0EwMDNDCis6MTAwMTUwMDAxMDBDMDU0MDBFMTAwMUJBMTI5MDEyMEMwMjQwMDMxMDUwCis6MTAwMTYwMDAwMkJBMTI5MDEyMEMwMDQwMDMxMDg4RTNCQTAwMDQxMDg3Cis6MTAwMTcwMDA4MDc5QkMwMDA0MTAwMUJBMTI5MDEyMEMwMTQwMDUwQ0U5Cis6MTAwMTgwMDAwMzQwMDYwQzA0NDAxMTEwQjBCRkZGMDExMjkwMTIwQzg2Cis6MTAwMTkwMDAwNjQwMjBCQzAwRUYyNkFFMjgxMDcwNjlEMEJGMDEwMEQ5Cis6MTAwMUEwMDA3MDkwODhFMzdBMDAyOEFFMDAwMDAwRUY3MEFFMDAwMzg0Cis6MTAwMUIwMDA3MDBDMENCMDVBQUUwMDAwMDBFRjgwN0E4QTAzN0Y2OUExCis6MTAwMUMwMDAwMUI4N0Y5MDU2MDA4ODhCQTAwQzA4QjA3MUFGMDBCMENBCis6MTAwMUQwMDA3MTRFMDBFMkYzMDA1NkFFNTcxMDU2MDBBMDBDMDhCMDY2Cis6MTAwMUUwMDA1NjgwODA3OUExMDMxMDA4QTBCRjU5MTAwNEUzQTEwMzMxCis6MTAwMUYwMDA1NjgwODA3OUExMDM4MDdBOEEwMzAxQkY0M0JFNTlCRTJECis6MTAwMjAwMDA3QzkwMzc2OTg4RTMwRDAxMDFCQTA4RTMwQzAxNzFBRUY3Cis6MTAwMjEwMDAwNDAwNzEwQzAwNTAzNjY5Mzc5MDBBQkY5RTEwOEE4QjFCCis6MTAwMjIwMDA4MEFGMTQ4MDgwNEMwQUJGNjAwNTAwRjUwQUJGMjAwNTJFCis6MTAwMjMwMDAwMEI5MTdCQkEwOTAxNzY5ODhFMzQ4MDExNzBEMDBFMUNBCis6MTAwMjQwMDAyNzAxMENCRjc4MDUwREJGN0MwNTgwNzkyQjAxMENCRjAxCis6MTAwMjUwMDAzODA1MERCRjNDMDUwMDY5MDhFMzM1MDE4QzhCNTlCRTlDCis6MTAwMjYwMDAwN0JCQTA5MDIwQkM4MDc5NTcwMTBDMDM4QjhCMDNCOThFCis6MTAwMjcwMDAwOTg4QzZCRTNFMDFBQzY5QUI5MEFENjlBQjkwMTMwODZFCis6MTAwMjgwMDAwQTY2NDRFMzQ0MDEwOTAzMEM4MzIwQkM4MDc5NTcwMUNBCis6MTAwMjkwMDA1NTY5ODhFMzU3MDEzODdDMEJCRjc4MDUwMEY1MEJCRjIzCis6MTAwMkEwMDAzODA1MDdCOTA5ODhDNkJFNTYwMUFCMTBBQTkwNzQ2OTEzCis6MTAwMkIwMDA4OEUzNjMwMTcyQUU0MDA1MDBGNTcyQUUwMDA1NjFBRUUxCis6MTAwMkMwMDAzQjEwODA3QUY2MDI3ODY5ODhFMzgyMDE4QzhCMENCRjQwCis6MTAwMkQwMDA2MDA1MDBFNTQwN0MxNDA4MjBCQTEyODgzRDczODA3QURFCis6MTAwMkUwMDA4MDAzM0U3MzgwN0E4MDAzOEM4QjBDQkY2QzA1MDBFNTI1Cis6MTAwMkYwMDA0MDdDMTQwODJDQkExMjg4M0Y3MzgwN0E4MDAzNDA3M0M0Cis6MTAwMzAwMDA4MDdBODAwMzc1Njk4OEUzOEUwMTcyQUU0ODA1MDBGNTM2Cis6MTAwMzEwMDA3MkFFMDgwNTYxQUU0MTEwODA3QUY2MDI3OTY5ODhFMzExCis6MTAwMzIwMDBBRDAxOEM4QjBDQkY2MDA1MDBFNTQwN0MxNDA4MThCQTQ5Cis6MTAwMzMwMDAxMjg4NDM3MzgwN0E4MDAzNDQ3MzgwN0E4MDAzOEM4QkE1Cis6MTAwMzQwMDAwQ0JGNkMwNTAwRTU0MDdDMTQwODI0QkExMjg4NDU3Mzg0Cis6MTAwMzUwMDA4MDdBODAwMzQ2NzM4MDdBODAwMzc2Njk4OEUzQjkwMUU2Cis6MTAwMzYwMDA3MkFFNTgwNTAwRjU3MkFFMTgwNTYxQUU0NzEwODA3QTdFCis6MTAwMzcwMDBGNjAyN0E2OTg4RTNEODAxOEM4QjBDQkY2MDA1MDBFNTMyCis6MTAwMzgwMDA0MDdDMTQwODA4QkExMjg4NDk3MzgwN0E4MDAzNEE3MzQzCis6MTAwMzkwMDA4MDdBODAwMzhDOEIwQ0JGNkMwNTAwRTU0MDdDMTQwOEQwCis6MTAwM0EwMDAxNEJBMTI4ODRCNzM4MDdBODAwMzRDNzM4MDdBODAwMzZFCis6MTAwM0IwMDAyMUJDMUNBRTkwMTA4QThCMEFCRjYwMDUwMEU1NDA3QzEyCis6MTAwM0MwMDAxMjA4MDRCODEzODg4RDhCMERCRjZDMDUwMEU1NDA3Q0M2Cis6MTAwM0QwMDAxNTA4MDRCODExODg4MDdBNEEwMzhBOEIwQUJGNjAwNTIxCis6MTAwM0UwMDAwMEU1NDA3QzFGNzMwM0I5MDk4OEM2QkVGOTAxOEE1NDMxCis6MTAwM0YwMDAwM0JFQTA5ODIwNzMwM0I5MDk4OEM2QkUwMTAyOEE1NEJGCis6MTAwNDAwMDAwM0JFQTA5ODIwMUYxRjJGMjY5ODIwQkMzNTY5ODhFM0MzCis6MTAwNDEwMDBBMTAzMzM2OTAxQjgzMzkwQTBCRkVFMDIwOEUzQTEwMzQyCis6MTAwNDIwMDAzMzkwMDBCRjUxNjk4OEUzMUYwMjM0NzM4MEJFNjA1NzY4Cis6MTAwNDMwMDAwM0JFN0U5RjU5QkUzNDkwN0U2OTUxMEQxMzkwMjBCQzNGCis6MTAwNDQwMDA1QzY5ODhFM0ExMDM1RTczODBCRTYwNTcwM0JFN0U5RjM0Cis6MTAwNDUwMDA1OUJFNUU5MDdFNjk1QzBEMTM5MDgwNzlBMTAzODA3QTBECis6MTAwNDYwMDA4QTAzMDFCRjQzQkU3NzY5ODhFMzRFMDI2MUFFNEQxMDM3Cis6MTAwNDcwMDA2MTAwODg4QjgwNjk4OEUzNEUwMjcxOTA3MTBEMEIwMERBCis6MTAwNDgwMDBBMEFGMTA4MEEwQUYxMDgwMTAwODBBNjYwOEUzNDkwMkYwCis6MTAwNDkwMDAwOTAwMTAwODBDNjY4OEUzNEUwMjBCODAyMEJDN0I2OUMzCis6MTAwNEEwMDA4OEUzQTEwMzBBQkY5RTEwOEE4QjgwQUYxNDgwODA0QzIyCis6MTAwNEIwMDAwMEUxNjYwMjdDNjk5MEJGNjAwNTcyOTA3MjAzN0M2OUZFCis6MTAwNEMwMDA5MEJGNjQwNTczOTA3MzA0ODA3OTcwMDI3QzY5OTBCRjVCCis6MTAwNEQwMDAyMDA1NzI5MDcyMDM3QzY5OTBCRjI0MDU3MzkwNzMwNEE5Cis6MTAwNEUwMDA3QzY5MDFCODdDOTAwQUJGRkQxMDhBOEI4MEFGMTA4MEI4Cis6MTAwNEYwMDA0RjczOEE1NDAzQkU4MDk4MjFCQzI2NzM4QjU0MDNCRTZECis6MTAwNTAwMDA4QjYxOEM5ODAzQkU4MDYxODA5ODgwNzlBMTAzODA3QThBCis6MTAwNTEwMDA4QTAzMjgwRDExNDcwMEUxQkUwMjEyQUYwNjQwMTI2OTlFCis6MTAwNTIwMDBCMEJGMDAwQzg4RTNCNjAyQTBCRjAwMDg4OEUzQjIwMkE3Cis6MTAwNTMwMDAxMjY5QjBCRjAwMENBMEJGMDAwNDg4RTNBMzAyMDk2OUUwCis6MTAwNTQwMDAwQjkwODA3OUE1MDIwQkFGMDU0MDAxNjkwNTkwMDI2OTA3Cis6MTAwNTUwMDAwNjkwMTE0MzAwRTFFRDAyMTE2OUMwQkYwMDIwMTE5MDI3Cis6MTAwNTYwMDA4MDc5RUQwMjA5NjkwQjkwODA3OUI4MDIwQkFGMDU0MEU0Cis6MTAwNTcwMDAwNUFGMDM0MDA2QUYwNDQwODA3OUVEMDIxMkFGMDY0MDlDCis6MTAwNTgwMDAxMjY5QjBCRjAwMEM4OEUzRTcwMkEwQkYwMDA4ODhFMzRGCis6MTAwNTkwMDBFMzAyMTI2OUIwQkYwMDBDQTBCRjAwMDQ4OEUzRDQwMkRDCis6MTAwNUEwMDAwRDY5MTA5MDgwNzlENjAyMTBBRjA1NDAwMTY5MDU5MDYxCis6MTAwNUIwMDAwMjY5MDY5MDExNDMwMEUxRUQwMjExNjlDMEJGMDAyMEZECis6MTAwNUMwMDAxMTkwODA3OUVEMDIwRDY5MTA5MDgwNzlFOTAyMTBBRkU5Cis6MTAwNUQwMDAwNTQwMDVBRjAzNDAwNkFGMDQ0MDIwQkM3MDY5NzE5MDMwCis6MTAwNUUwMDA4MDdBNzgwMDcxNjk3MDkwODA3OUExMDMyMEJDNjEwM0UyCis6MTAwNUYwMDA4QjhCODA2OTg4RUY3MjAyNzIwMzA0Nzg3MTkwNzEwREExCis6MTAwNjAwMDA4QThCMEIwMDAzQjkwOTg4QzZCRTA5MDNBODY5QUI5MEExCis6MTAwNjEwMDBBODY5QUE5MDEwMDgwQTY2NDRFMzBGMDMwOTAwMTAwOEFECis6MTAwNjIwMDAwQzY2ODhFMzE0MDMwQjgwMjBCQzYxNjkwMUI4NjE5MEZCCis6MTAwNjMwMDA4MDc5RjcwMjgwN0E4QTAzMzU1RDAxMDAzNDY5MDFCODU4Cis6MTAwNjQwMDAzNDkwMEFCRjlFMTA4QThCODBBRjE0ODA4MDQ4NzJBRUFGCis6MTAwNjUwMDA1MDA1MDBGNTcyQUUxMDA1NjFBRTUxMTA4MDdBRjYwMkI5Cis6MTAwNjYwMDA4MDc5QTEwMzgwN0E4QTAzMzU1RDAyMDA1RTY5MDFCODUyCis6MTAwNjcwMDA1RTkwMEFCRjlFMTA4QThCODBBRjE0ODA4MDQ3NzJBRTU2Cis6MTAwNjgwMDA1ODA1MDBGNTcyQUUxODA1NjFBRTVDMTA4MDdBRjYwMjZFCis6MTAwNjkwMDA4MDc5QTEwMzFDMDA4ODhCODA2OTg4RUYxRDkwMUQwRDU3Cis6MTAwNkEwMDAwRjEwMTA2NjhDRTM1ODAzMEU2OTEwNjYwRjYyMEQ2NjFBCis6MTAwNkIwMDAwRkJBMDFFMzdBMDMxMDA0OEE4QjAzQjkwOTg4QzZCRTE2Cis6MTAwNkMwMDA2QzAzOEM2QUFBNjFBQjk4OEM2QUFCNjFBRDk4OEM2QTNBCis6MTAwNkQwMDBBRDYxQTk5ODhDNkFBOTYxQUE5ODA0N0M4QjhCMDQ3QzczCis6MTAwNkUwMDA4RDhCMDQ3Qzg5OEIwNDdDMTQwODBFNjYwOEUzNzkwM0U3Cis6MTAwNkYwMDAwRDA0MTA4NDIxQkMxQzY5MDFCODFDOTA4MDc5NEEwMzQ4Cis6MTAwNzAwMDAwM0I5MDk4ODhBOEJDNkJFODgwM0FDNTQwM0JFOEM2MUNBCis6MTAwNzEwMDBBQTk4MDBFRjIwQkM0NkJFMDkwODZCOTAwQTA4NkM5MEFFCis6MTAwNzIwMDAwQjA4NkQ5MDFBMDg2MjkwMUIwODYzOTAxRTA4NjQ5MDc1Cis6MTAwNzMwMDA1OUJFMUU4ODY1ODA2NjgxNjc4MjY4ODM2OTg0NkE4NTgwCis6MTAwNzQwMDAwMEVGMjBCQzZCNjkwOTg4NkM2OTBBODg2RDY5MEI4OEE5Cis6MTAwNzUwMDA2MjY5MUE4ODYzNjkxQjg4NjQ2OTFFODg2NTAwNjYwMTdFCis6MEEwNzYwMDA2NzAyNjgwMzY5MDQ2QTA1M0FCRUU3Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdy5paGV4IGIvZmlybXdhcmUvZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyYzAwMzEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3LmloZXgKQEAgLTAsMCArMSw1MSBAQAorOjEwMDAwMDAwODBCRjFFMTA2RTkwNkUwMDg4OEI4MDY5ODhFRjZGOTBBNQorOjEwMDAxMDAwNkYwRDAwNjkwOEVCMTIwNDIwQkM2RTY5MDFCODZFOTA4OAorOjEwMDAyMDAwODA3OTAzMDQwRUI5MDc4ODQzQkUwMUJGNDdCRTQxQkVCNQorOjEwMDAzMDAwODA3QTJBMDA0MEJFMjkzMENDRUY0MUJFODA3QTI4MDA2OQorOjEwMDA0MDAwNDBCRTI4MzBDQ0VGMDc2OTA4RTMyQTA0MDk2OTJDOTBFOAorOjEwMDA1MDAwODA3OTJDMDQwRDY5MkM5MDA5MTAxQTg4MEExMDAxQkFCNQorOjEwMDA2MDAwMUI4ODBEMTAxQzg4MEUxMDAxQkExRDg4ODBCRkVEMDA4MgorOjEwMDA3MDAwMUU4ODBDMDUyNDAxMDRCOTI3OTAxODY5MDhFM0IzMDQwRAorOjEwMDA4MDAwMkQ5MDEzNjlBMEJGOTg3NTA0RjcyREFFRkYwMDhEOEJERQorOjEwMDA5MDAwMTk2OTA4RTM2MzA0MUE2OTA4RTM1NjA0MDdCOTA5ODg3MworOjEwMDBBMDAwQzZCRTUzMDRBOTEwQUQ5MDgwNzk3QzA0MDNCOTA5ODhCOQorOjEwMDBCMDAwQzZCRTYwMDQ4OTE4MjI2Q0FEOTBBOTEwMjM2RTIyNkMxNAorOjEwMDBDMDAwQUQ5MDgwNzk3QzA0MUExMDA4RTM2RjA0MDNCOTA5ODhBNQorOjEwMDBEMDAwQzZCRTZDMDRBOTEwQTA5MEFEOTA4MDc5N0MwNDAxQjlEMworOjEwMDBFMDAwMDk4OEM2QkU3QjA0ODkxODIyNkNBMDkwQUQ5MEE5MTAyNworOjEwMDBGMDAwMjM2RTIyNkNBMDkwQUQ5MDJENjkwOEUzOUMwNDI0MDEyRQorOjEwMDEwMDAwMDNCNzAyQjkxODg4ODk4QjJDMDI4QTEwMDQ3Q0EwOTA0RQorOjEwMDExMDAwMkI2OTFGODg4MDdFNUIwNTJBNjkwOTg4ODk4QkEwOTlENQorOjEwMDEyMDAwOEExMEEwOTAyQjY5MUY4ODgwN0U1QjA1MkE2OTA5ODg0OAorOjEwMDEzMDAwODk4QkFGOTk5OTdCODQwNDI0MDEwRjA2MUIxMDEzMjAyRgorOjEwMDE0MDAwMUI5MEEwQkZGRjdGNDRFM0FDMDQxQjkwODk4QjgwN0E5NworOjEwMDE1MDAwMUEwNTI3NjkwMUJBMjc5MDgwN0EyMzA1Mjc2OTA4RTNFMQorOjEwMDE2MDAwOUUwNDgwNzkwRjA1MjQwNjI2MTAxMzIwMjY5MEEwQkYzOAorOjEwMDE3MDAwRkY3RjA0RTNDMDA0OEQ4QjgwN0ExQTA1ODA3OUI0MDQ3NAorOjEwMDE4MDAwMjY5MDEzMTAyNjMwMUI5MDhEOEI4MDdBMUEwNTgwN0E2QQorOjEwMDE5MDAwMjMwNTI3MTAwMUJBMjc5MDA4RTNCNDA0MjQwMTBGMDZCMQorOjEwMDFBMDAwODk4QjFBNjkwOEUzRUEwNDE5Njk4OEUzRTAwNDAzQjk1MgorOjEwMDFCMDAwMDk4OEM2QkVERDA0QTAxRkFFMkZBOTk4ODA3OTBGMDU1RgorOjEwMDFDMDAwMDFCOTE4ODgwN0I5MDk4OEM2QkVFNzA0RUUxMEE5OTBERQorOjEwMDFEMDAwODA3OTBGMDUxOTY5MDhFM0ZFMDQwM0I5MDk4ODQ2QkU1MgorOjEwMDFFMDAwQzZCRUZBMDRBMDE3MUVCRUFFMUZCRkJGMDBGRjEzQkVERgorOjEwMDFGMDAwREZCRjgwODBBOTk5NDdCRTgwNzkwRjA1MDFCOTA5ODhDMgorOjEwMDIwMDAwQzZCRTBFMDVBMDE2QTAyNkI3QkYwMEZGMUVCRUEwMUVDQworOjEwMDIxMDAwQUUyRUJGQkYwMEZGMTNCRURGQkY4MDgwQTk5OTBDODU0MworOjEwMDIyMDAwMEY4NjA3Njk4OEUzMTYwNTA3MEQxMDg1NTlCRTFFODhERAorOjEwMDIzMDAwNEFCRTAwRUYxRTEwMUM5MDFGMTAxRDkwQTAxMDFFOTBCMworOjEwMDI0MDAwQTAxMDFGOTAwMEVGMUUxMDFDMzAyMDkwMUI3MzIwNTQzNAorOjEwMDI1MDAwMDNCRTI1OTgyNTEwMUMyMDI1OTAyNTczMTQ1NDAzQkUzOQorOjEwMDI2MDAwOEU4QjgwOTgyRjY5ODhFMzM5MDU1OUJFMDdCQjgwNjE2MgorOjEwMDI3MDAwODA5OEEwOEIxRjEwMUQzMDIxOTAxQjczMjE1NDAzQkU0QQorOjEwMDI4MDAwMkU5ODJFMTAxRDIwMkU5MDJFNzMxNTU0MDNCRTgwOTg4QworOjEwMDI5MDAwMkY2OTg4RTM0RjA1NTlCRTA3QkI4MDYxODA5OEEwOEIwQQorOjEwMDJBMDAwMTg2OTA4RUYyNTczMTY1NDAzQkVBMDk4MkU3MzE3NTRDRgorOjEwMDJCMDAwMDNCRUEwOTgwMEVGQTA4QkM2QkU2QjA1NTlCRTA0QkI2MQorOjEwMDJDMDAwOTBBQTA0QkUxRUJFRTA5OUUwOEJBMDY5RDA5MEEwNjkwMAorOjEwMDJEMDAwRDA5MDFGMDgwNUI4MUY4ODkwOEJBMDY5RDA5MEEwNjlBNgorOjEwMDJFMDAwOTA5MEQwOEJEODhCMUZCRTAwRUYwMDAwMDAwMDAwMDA2NAorOjEwMDJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjAyMDMxMDAwMDAwMEVCCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvaWhleDJmdy5jIGIvZmlybXdhcmUvaWhleDJmdy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2MGIxOTEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9paGV4MmZ3LmMKQEAgLTAsMCArMSwyNjggQEAKKy8qCisgKiBQYXJzZXIvbG9hZGVyIGZvciBJSEVYIGZvcm1hdHRlZCBkYXRhLgorICoKKyAqIENvcHlyaWdodCDCqSAyMDA4IERhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAaW5mcmFkZWFkLm9yZz4KKyAqIENvcHlyaWdodCDCqSAyMDA1IEphbiBIYXJrZXMgPGphaGFya2VzQGNzLmNtdS5lZHU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2RlZmluZSBfR05VX1NPVVJDRQorI2luY2x1ZGUgPGdldG9wdC5oPgorCisKK3N0cnVjdCBpaGV4X2JpbnJlYyB7CisJc3RydWN0IGloZXhfYmlucmVjICpuZXh0OyAvKiBub3QgcGFydCBvZiB0aGUgcmVhbCBkYXRhIHN0cnVjdHVyZSAqLworICAgICAgICB1aW50MzJfdCBhZGRyOworICAgICAgICB1aW50MTZfdCBsZW47CisgICAgICAgIHVpbnQ4X3QgZGF0YVtdOworfTsKKworLyoqCisgKiBueWJibGUvaGV4IGFyZSBsaXR0bGUgaGVscGVycyB0byBwYXJzZSBoZXhhZGVjaW1hbCBudW1iZXJzIHRvIGEgYnl0ZSB2YWx1ZQorICoqLworc3RhdGljIHVpbnQ4X3QgbnliYmxlKGNvbnN0IHVpbnQ4X3QgbikKK3sKKyAgICAgICBpZiAgICAgIChuID49ICcwJyAmJiBuIDw9ICc5JykgcmV0dXJuIG4gLSAnMCc7CisgICAgICAgZWxzZSBpZiAobiA+PSAnQScgJiYgbiA8PSAnRicpIHJldHVybiBuIC0gKCdBJyAtIDEwKTsKKyAgICAgICBlbHNlIGlmIChuID49ICdhJyAmJiBuIDw9ICdmJykgcmV0dXJuIG4gLSAoJ2EnIC0gMTApOworICAgICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdWludDhfdCBoZXgoY29uc3QgdWludDhfdCAqZGF0YSwgdWludDhfdCAqY3JjKQoreworICAgICAgIHVpbnQ4X3QgdmFsID0gKG55YmJsZShkYXRhWzBdKSA8PCA0KSB8IG55YmJsZShkYXRhWzFdKTsKKyAgICAgICAqY3JjICs9IHZhbDsKKyAgICAgICByZXR1cm4gdmFsOworfQorCitzdGF0aWMgaW50IHByb2Nlc3NfaWhleCh1aW50OF90ICpkYXRhLCBzc2l6ZV90IHNpemUpOworc3RhdGljIHZvaWQgZmlsZV9yZWNvcmQoc3RydWN0IGloZXhfYmlucmVjICpyZWNvcmQpOworc3RhdGljIGludCBvdXRwdXRfcmVjb3JkcyhpbnQgb3V0ZmQpOworCitzdGF0aWMgaW50IHNvcnRfcmVjb3JkcyA9IDA7CitzdGF0aWMgaW50IHdpZGVfcmVjb3JkcyA9IDA7CisKK2ludCB1c2FnZSh2b2lkKQoreworCWZwcmludGYoc3RkZXJyLCAiaWhleDJmdzogQ29udmVydCBpaGV4IGZpbGVzIGludG8gYmluYXJ5ICIKKwkJInJlcHJlc2VudGF0aW9uIGZvciB1c2UgYnkgTGludXgga2VybmVsXG4iKTsKKwlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiBpaGV4MmZ3IFs8b3B0aW9ucz5dIDxzcmMuSEVYPiA8ZHN0LmZ3PlxuIik7CisJZnByaW50ZihzdGRlcnIsICIgICAgICAgLXc6IHdpZGUgcmVjb3JkcyAoMTYtYml0IGxlbmd0aClcbiIpOworCWZwcmludGYoc3RkZXJyLCAiICAgICAgIC1zOiBzb3J0IHJlY29yZHMgYnkgYWRkcmVzc1xuIik7CisJcmV0dXJuIDE7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgaW5mZCwgb3V0ZmQ7CisJc3RydWN0IHN0YXQgc3Q7CisJdWludDhfdCAqZGF0YTsKKwlpbnQgb3B0OworCisJd2hpbGUgKChvcHQgPSBnZXRvcHQoYXJnYywgYXJndiwgIndzIikpICE9IC0xKSB7CisJCXN3aXRjaCAob3B0KSB7CisJCWNhc2UgJ3cnOgorCQkJd2lkZV9yZWNvcmRzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNvcnRfcmVjb3JkcyA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiB1c2FnZSgpOworCQl9CisJfQorCisJaWYgKG9wdGluZCArIDIgIT0gYXJnYykKKwkJcmV0dXJuIHVzYWdlKCk7CisKKwlpZiAoIXN0cmNtcChhcmd2W29wdGluZF0sICItIikpCisJICAgIGluZmQgPSAwOworCWVsc2UKKwkJaW5mZCA9IG9wZW4oYXJndltvcHRpbmRdLCBPX1JET05MWSk7CisJaWYgKGluZmQgPT0gLTEpIHsKKwkJZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gb3BlbiBzb3VyY2UgZmlsZTogJXMiLAorCQkJc3RyZXJyb3IoZXJybm8pKTsKKwkJcmV0dXJuIHVzYWdlKCk7CisJfQorCWlmIChmc3RhdChpbmZkLCAmc3QpKSB7CisJCXBlcnJvcigic3RhdCIpOworCQlyZXR1cm4gMTsKKwl9CisJZGF0YSA9IG1tYXAoTlVMTCwgc3Quc3Rfc2l6ZSwgUFJPVF9SRUFELCBNQVBfU0hBUkVELCBpbmZkLCAwKTsKKwlpZiAoZGF0YSA9PSBNQVBfRkFJTEVEKSB7CisJCXBlcnJvcigibW1hcCIpOworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoIXN0cmNtcChhcmd2W29wdGluZCsxXSwgIi0iKSkKKwkgICAgb3V0ZmQgPSAxOworCWVsc2UKKwkJb3V0ZmQgPSBvcGVuKGFyZ3Zbb3B0aW5kKzFdLCBPX1RSVU5DfE9fQ1JFQVR8T19XUk9OTFksIDA2NDQpOworCWlmIChvdXRmZCA9PSAtMSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBvcGVuIGRlc3RpbmF0aW9uIGZpbGU6ICVzIiwKKwkJCXN0cmVycm9yKGVycm5vKSk7CisJCXJldHVybiB1c2FnZSgpOworCX0KKwlpZiAocHJvY2Vzc19paGV4KGRhdGEsIHN0LnN0X3NpemUpKQorCQlyZXR1cm4gMTsKKworCW91dHB1dF9yZWNvcmRzKG91dGZkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9jZXNzX2loZXgodWludDhfdCAqZGF0YSwgc3NpemVfdCBzaXplKQoreworCXN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkOworCXVpbnQzMl90IG9mZnNldCA9IDA7CisJdWludDhfdCB0eXBlLCBjcmMgPSAwLCBjcmNieXRlID0gMDsKKwlpbnQgaSwgajsKKwlpbnQgbGluZSA9IDE7CisJaW50IGxlbjsKKworCWkgPSAwOworbmV4dF9yZWNvcmQ6CisJLyogc2VhcmNoIGZvciB0aGUgc3RhcnQgb2YgcmVjb3JkIGNoYXJhY3RlciAqLworCXdoaWxlIChpIDwgc2l6ZSkgeworCQlpZiAoZGF0YVtpXSA9PSAnXG4nKSBsaW5lKys7CisJCWlmIChkYXRhW2krK10gPT0gJzonKSBicmVhazsKKwl9CisKKwkvKiBNaW5pbXVtIHJlY29yZCBsZW5ndGggd291bGQgYmUgYWJvdXQgMTAgY2hhcmFjdGVycyAqLworCWlmIChpICsgMTAgPiBzaXplKSB7CisJCWZwcmludGYoc3RkZXJyLCAiQ2FuJ3QgZmluZCB2YWxpZCByZWNvcmQgYXQgbGluZSAlZFxuIiwgbGluZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWxlbiA9IGhleChkYXRhICsgaSwgJmNyYyk7IGkgKz0gMjsKKwlpZiAod2lkZV9yZWNvcmRzKSB7CisJCWxlbiA8PD0gODsKKwkJbGVuICs9IGhleChkYXRhICsgaSwgJmNyYyk7IGkgKz0gMjsKKwl9CisJcmVjb3JkID0gbWFsbG9jKChzaXplb2YgKCpyZWNvcmQpICsgbGVuICsgMykgJiB+Myk7CisJaWYgKCFyZWNvcmQpIHsKKwkJZnByaW50ZihzdGRlcnIsICJvdXQgb2YgbWVtb3J5IGZvciByZWNvcmRzXG4iKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCW1lbXNldChyZWNvcmQsIDAsIChzaXplb2YoKnJlY29yZCkgKyBsZW4gKyAzKSAmIH4zKTsKKwlyZWNvcmQtPmxlbiA9IGxlbjsKKworCS8qIG5vdyBjaGVjayBpZiB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHJlYWQgZXZlcnl0aGluZyAqLworCWlmIChpICsgOCArIChyZWNvcmQtPmxlbiAqIDIpID4gc2l6ZSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIk5vdCBlbm91Z2ggZGF0YSB0byByZWFkIGNvbXBsZXRlIHJlY29yZCBhdCBsaW5lICVkXG4iLAorCQkJbGluZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJlY29yZC0+YWRkciAgPSBoZXgoZGF0YSArIGksICZjcmMpIDw8IDg7IGkgKz0gMjsKKwlyZWNvcmQtPmFkZHIgfD0gaGV4KGRhdGEgKyBpLCAmY3JjKTsgaSArPSAyOworCXR5cGUgPSBoZXgoZGF0YSArIGksICZjcmMpOyBpICs9IDI7CisKKwlmb3IgKGogPSAwOyBqIDwgcmVjb3JkLT5sZW47IGorKywgaSArPSAyKQorCQlyZWNvcmQtPmRhdGFbal0gPSBoZXgoZGF0YSArIGksICZjcmMpOworCisJLyogY2hlY2sgQ1JDICovCisJY3JjYnl0ZSA9IGhleChkYXRhICsgaSwgJmNyYyk7IGkgKz0gMjsKKwlpZiAoY3JjICE9IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJDUkMgZmFpbHVyZSBhdCBsaW5lICVkOiBnb3QgMHglWCwgZXhwZWN0ZWQgMHglWFxuIiwKKwkJCWxpbmUsIGNyY2J5dGUsICh1bnNpZ25lZCBjaGFyKShjcmNieXRlLWNyYykpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBEb25lIHJlYWRpbmcgdGhlIHJlY29yZCAqLworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgMDoKKwkJLyogb2xkIHN0eWxlIEVPRiByZWNvcmQ/ICovCisJCWlmICghcmVjb3JkLT5sZW4pCisJCQlicmVhazsKKworCQlyZWNvcmQtPmFkZHIgKz0gb2Zmc2V0OworCQlmaWxlX3JlY29yZChyZWNvcmQpOworCQlnb3RvIG5leHRfcmVjb3JkOworCisJY2FzZSAxOiAvKiBFbmQtT2YtRmlsZSBSZWNvcmQgKi8KKwkJaWYgKHJlY29yZC0+YWRkciB8fCByZWNvcmQtPmxlbikgeworCQkJZnByaW50ZihzdGRlcnIsICJCYWQgRU9GIHJlY29yZCAodHlwZSAwMSkgZm9ybWF0IGF0IGxpbmUgJWQiLAorCQkJCWxpbmUpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwkJYnJlYWs7CisKKwljYXNlIDI6IC8qIEV4dGVuZGVkIFNlZ21lbnQgQWRkcmVzcyBSZWNvcmQgKEhFWDg2KSAqLworCWNhc2UgNDogLyogRXh0ZW5kZWQgTGluZWFyIEFkZHJlc3MgUmVjb3JkIChIRVgzODYpICovCisJCWlmIChyZWNvcmQtPmFkZHIgfHwgcmVjb3JkLT5sZW4gIT0gMikgeworCQkJZnByaW50ZihzdGRlcnIsICJCYWQgSEVYODYvSEVYMzg2IHJlY29yZCAodHlwZSAlMDJYKSBhdCBsaW5lICVkXG4iLAorCQkJCXR5cGUsIGxpbmUpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCQkvKiBXZSBzaG91bGRuJ3QgcmVhbGx5IGJlIHVzaW5nIHRoZSBvZmZzZXQgZm9yIEhFWDg2IGJlY2F1c2UKKwkJICogdGhlIHdyYXBhcm91bmQgY2FzZSBpcyBzcGVjaWZpZWQgcXVpdGUgZGlmZmVyZW50bHkuICovCisJCW9mZnNldCA9IHJlY29yZC0+ZGF0YVswXSA8PCA4IHwgcmVjb3JkLT5kYXRhWzFdOworCQlvZmZzZXQgPDw9ICh0eXBlID09IDIgPyA0IDogMTYpOworCQlnb3RvIG5leHRfcmVjb3JkOworCisJY2FzZSAzOiAvKiBTdGFydCBTZWdtZW50IEFkZHJlc3MgUmVjb3JkICovCisJY2FzZSA1OiAvKiBTdGFydCBMaW5lYXIgQWRkcmVzcyBSZWNvcmQgKi8KKwkJaWYgKHJlY29yZC0+YWRkciB8fCByZWNvcmQtPmxlbiAhPSA0KSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIkJhZCBTdGFydCBBZGRyZXNzIHJlY29yZCAodHlwZSAlMDJYKSBhdCBsaW5lICVkXG4iLAorCQkJCXR5cGUsIGxpbmUpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCQkvKiBUaGVzZSByZWNvcmRzIGNvbnRhaW4gdGhlIENTL0lQIG9yIEVJUCB3aGVyZSBleGVjdXRpb24KKwkJICogc3RhcnRzLiBEb24ndCByZWFsbHkga25vdyB3aGF0IHRvIGRvIHdpdGggdGhlbS4gKi8KKwkJZ290byBuZXh0X3JlY29yZDsKKworCWRlZmF1bHQ6CisJCWZwcmludGYoc3RkZXJyLCAiVW5rbm93biByZWNvcmQgKHR5cGUgJTAyWClcbiIsIHR5cGUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkczsKKworc3RhdGljIHZvaWQgZmlsZV9yZWNvcmQoc3RydWN0IGloZXhfYmlucmVjICpyZWNvcmQpCit7CisJc3RydWN0IGloZXhfYmlucmVjICoqcCA9ICZyZWNvcmRzOworCisJd2hpbGUgKCgqcCkgJiYgKCFzb3J0X3JlY29yZHMgfHwgKCpwKS0+YWRkciA8IHJlY29yZC0+YWRkcikpCisJCXAgPSAmKCgqcCktPm5leHQpOworCisJcmVjb3JkLT5uZXh0ID0gKnA7CisJKnAgPSByZWNvcmQ7Cit9CisKK3N0YXRpYyBpbnQgb3V0cHV0X3JlY29yZHMoaW50IG91dGZkKQoreworCXVuc2lnbmVkIGNoYXIgemVyb2VzWzVdID0gezAsIDAsIDAsIDAsIDB9OworCXN0cnVjdCBpaGV4X2JpbnJlYyAqcCA9IHJlY29yZHM7CisKKwl3aGlsZSAocCkgeworCQl1aW50MTZfdCB3cml0ZWxlbiA9IChwLT5sZW4gKyA5KSAmIH4zOworCisJCXAtPmFkZHIgPSBodG9ubChwLT5hZGRyKTsKKwkJcC0+bGVuID0gaHRvbmwocC0+bGVuKTsKKwkJd3JpdGUob3V0ZmQsICZwLT5hZGRyLCB3cml0ZWxlbik7CisJCXAgPSBwLT5uZXh0OworCX0KKwkvKiBFT0YgcmVjb3JkIGlzIHplcm8gbGVuZ3RoLCBzaW5jZSB3ZSBkb24ndCBib3RoZXIgdG8gcmVwcmVzZW50CisJICAgdGhlIHR5cGUgZmllbGQgaW4gdGhlIGJpbmFyeSB2ZXJzaW9uICovCisJd3JpdGUob3V0ZmQsIHplcm9lcywgNSk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9maXJtd2FyZS9pbnRlbGxpcG9ydDIuYmluLmloZXggYi9maXJtd2FyZS9pbnRlbGxpcG9ydDIuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTljZmU4YwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2ludGVsbGlwb3J0Mi5iaW4uaWhleApAQCAtMCwwICsxLDIxNDcgQEAKKzoxMDAwMDAwMDNDNDIzNzE4MDIwMTAzMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDAwMTAwMDU3NjU2NDIwNDQ2NTYzMjAzMDMxMjAzMTMyM0EzMjM0RjAKKzoxMDAwMjAwMDNBMzMzMDIwMzEzOTM5MzkwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMDAwMzAwMEU5NkMwRjQyNjU0NzY5NEU2RTQ5NkU0NzIwNkY0NjIwNTYKKzoxMDAwNDAwMDYzNEY2NDQ1Q0MxMzVBMTVFODE2NzYxODA0MUE5MjFCQjAKKzoxMDAwNTAwMDIwMURBRTFFM0MyMENBMjE1ODIzRTYyNDc0MjYwMjI4MDcKKzoxMDAwNjAwMDkwMjkxRTJCQUMyQzNBMkVDODJGNTYzMUU0MzI3MjM0MTQKKzoxMDAwNzAwMDAwMzY4RTM3MUMzOUFBM0EzODNDQzYzRDU0M0ZFMjQwMjAKKzoxMDAwODAwMDcwNDJGRTQzOEM0NTFBNDdBODQ4MzY0QUM0NEI1MjREMkQKKzoxMDAwOTAwMEUwNEU2RTUwRkM1MThBNTMxODU1QTY1NjM0NThDMjU5M0EKKzoxMDAwQTAwMDUwNUJERTVDNkM1RUZBNUY4ODYxMTY2M0E0NjQzMjY2NDYKKzoxMDAwQjAwMEMwNjc0RTY5REM2QTZBNkNGODZEODY2RjE0NzFBMjcyNTMKKzoxMDAwQzAwMDMwNzRCRTc1NEM3NzZDNzc4Qzc3QUM3NzMzREI4QURDMTkKKzoxMDAwRDAwMDUzMzNEQjI1MDcwMDc1MEE4QTFFMDgwMTgzRTMwQ0VCMDYKKzoxMDAwRTAwMDIwOTAzQzAxNzUwQThBMUUwODAxODBFM0MwRUIxMjkwNDMKKzoxMDAwRjAwMDhBMUUwRDAxM0MwMjc1MDY4MEUzMENFQjA0OTA4MEUzNDAKKzoxMDAxMDAwMEMwNTM1MDhCMUVCQTEzOEVEQkU4NkE2NTU1OEJFQzUzRDcKKzoxMDAxMTAwMDFFMkJDMDhFRDg4QjVFMDRDMUUzMDQwMzVFMDZEMUUzQzAKKzoxMDAxMjAwMDJFOEI5RjQ0MDA4RDQ3MkExRTVBMUY1QjVEQzM1NThCNDMKKzoxMDAxMzAwMEVDNTMxRTJCQzA4RUQ4OEI1RTA0QzFFMzA0MDM1RTA2MTUKKzoxMDAxNDAwMEQxRTMyRThCOUY0NDAwOEQ0NzM0MUU1QTFGNUI1REMzNDUKKzoxMDAxNTAwMEZCNTU4QkVDNTM1MTUyNTY1NzFFMDYxRTA3MzNDMDhFNkIKKzoxMDAxNjAwMEQ4OEI1RTA0MjY4QTQ3NTkyNTAzMDA4QkYwRDFFNjJFRjIKKzoxMDAxNzAwMDhCQjRDNDAwQzFFMDA0MjYwMjQ3MUFEMUUwOEJFODJFRkMKKzoxMDAxODAwMDhCQUU0NDAwODkyQzI2OEE0NzFDODg0NDBGMjY4QTQ3NTgKKzoxMDAxOTAwMDFEODg0NDEwMjY4QTQ3MUU4ODQ0MTEyNjhBNDcxRjg4RDYKKzoxMDAxQTAwMDQ0MTIyNjhBNDcyMDg4NDQxMzI2OEE0NzIzODg0NDE0MDkKKzoxMDAxQjAwMDI2OEE0NzI0ODg0NDE1MjY4QTQ3NUE4ODQ0MEUzM0MwMjUKKzoxMDAxQzAwMDg5NDQwNjg5NDQwODg4NDQwQjg4NDQwQUIwMjFCNDY0RjEKKzoxMDAxRDAwMDg5NDQwNDg5NDQwMkIwNTU4ODQ0MEQ4ODQ0MENFODZBNzcKKzoxMDAxRTAwMDAwNzI1QkU4QzkwMEU4QzExMDg5NDQwODgwN0MwRjAxRjcKKzoxMDAxRjAwMDc0MjlFODJCMDJFODdGMDI4MDdDMEYwMzc0MURFOEE5QjQKKzoxMDAyMDAwMDEwOEJGODJCNDQwODNEQTAwRjcyMTA4OTdDMDgzM0MwNzYKKzoxMDAyMTAwMDg3NDQwNjg1QzA3NTA0QzY0NDBBRkY4QTQ0MEE4NEMwMjAKKzoxMDAyMjAwMDc1MEJCODA4MDBFODZBNEFFOEE5MDE3M0JGRTg0RjAxRjYKKzoxMDAyMzAwMDgxNjY0ODdGRkY4MzY2N0FCRkIwMDJFODA0MEU4QTQ0NzUKKzoxMDAyNDAwMDBBOTgwNzFGNUY1RTVBNTk1QjVEQzM4MTRFNDg4MDAwNjQKKzoxMDAyNTAwMEIwNDBFODNENEFFODg5NDA3MzJBRTg0RDEwOEJEOEIwOTkKKzoxMDAyNjAwMDA1RTgyRTRBRjY0NjI3MDI3NTFBRTgzRDEwMkJDMzNERDUKKzoxMDAyNzAwMDU4MUI3MkVCODE2NjQ4N0ZGRkIwMDJFOEM0MERDNjQ0OEMKKzoxMDAyODAwMDBBMDFGOUMzODM0RTdBNDBGOEMzRkJCMDAxRTgwMjRBODEKKzoxMDAyOTAwMEZBRTg5OTFFRTQwQTg0QzA3NUYwQjA0RUU2MEFGQkIwOTUKKzoxMDAyQTAwMDAxRThFRTQ5RkFFODg1MUVFNDBBODRDMDc1RjBDM0ZBNTUKKzoxMDAyQjAwMEU4N0ExRUU0RUM4ODQ0MTZFNEU0ODg0NDE3RTRGODg4RkQKKzoxMDAyQzAwMDQ0MThFNEYwODg0NDE5RTQxMDg4NDQxQUU0MTI4ODQ0N0QKKzoxMDAyRDAwMDFCRTQxNDg4NDQxQ0U0MzQ4ODQ0MURFNDM2ODg0NDFFMUUKKzoxMDAyRTAwMEU0RDgyNDAxOEFFMEU0REEyNDAyMEFDNDg4NDQxRjhBOUMKKzoxMDAyRjAwMDQ0MTBFOENEMUY4QTQ0MTFFODM1MjE4QTQ0MTJFODg5NjgKKzoxMDAzMDAwMDIxOEE0NDEzRTg0MzIxQzY4NkExMDAwMEU0MTQyNDEwODYKKzoxMDAzMTAwMEU2MTRFNDEyMjQzREU2MTI4QTQ0MTUzQzAxNzIxRTc3NkQKKzoxMDAzMjAwMDE2QjAxMUU2MzRCMDEzRTYzNkU0MTQwQzEwRTYxNEU0MEIKKzoxMDAzMzAwMDEyMEM0MEU2MTJFQjA2RTQxMjBDMDJFNjEyOEE0NDBGOUQKKzoxMDAzNDAwMDNDMDE3NDA2M0MwMjc0MEFFQjBFRTQxMjBDMDhFNjEyM0YKKzoxMDAzNTAwMEVCMDZFNDEyMEMxMEU2MTJFODJGRkY4QTQ0MTQzQzAyNkMKKzoxMDAzNjAwMDc1MDhCMDU1ODg0NDBDODg0NDBEQjAyMUI0NjQ4OTQ0QTQKKzoxMDAzNzAwMDA0ODk0NDAyRTQwQzBDMTBFNjBDRThFRDM5RkJDM0U4RjgKKzoxMDAzODAwMDVGM0Y3MzA4RkJCMDBBRTgwODQ5RUJGM0ZBRTg5RDFERUMKKzoxMDAzOTAwMDhBNjQxNjhBNDQxNzg5ODY5NDAwRTZFNDhBQzRFNkVDRTcKKzoxMDAzQTAwMDhBNjQxODhBNDQxOTg5ODY5NjAwRTZGMDhBQzRFNkY4QjkKKzoxMDAzQjAwMDhBNDQxQUU2MTA4QTQ0MUJFNjEyOEE0NDFDRTYxNDhBMTAKKzoxMDAzQzAwMDQ0MURFNjM0OEE0NDFFRTYzNjhBNDQxRkU2RDhFNkRBM0YKKzoxMDAzRDAwMEU5QjdGRTkwRkE4QTQ0MEVFNkZFRTQwMkE4MDE3NTA1MkMKKzoxMDAzRTAwMDMzQzBGQkY4QzMzM0MwRTQwMEZCRjlDMzhBNjQxNDgwNTQKKzoxMDAzRjAwMEZDMDI3NDJCRkVDMEZFQzc4MEZGNEU3MjFDNzQwOTgwODUKKzoxMDA0MDAwMEZGNTA3MzA4QjAwQUVCMTdCMDBERUIxMzAyREMzMkZGOUMKKzoxMDA0MTAwMDgwRkI3RjdDMDJCMzIxOEFDMzNDN0Y3QzAyQjAyMUMzNzYKKzoxMDA0MjAwMEZBODA3QzBCMDQ3NjAyRkJDMzhCNDYyNDNEMDgwMDcyRTUKKzoxMDA0MzAwMEY2OEU0NjAyOEI3RTIyOEE0NDBDOEI1QzAyQUFFOEFCQzUKKzoxMDA0NDAwMEZGQUFFOEE3RkZBQUU4QTNGRkFBRTg5RkZGODg0NDBDMzkKKzoxMDA0NTAwMDg5NUMwMjgwNDQwQjA0ODk3RTIyODM2RTI0MDQ4MzQ2RDcKKzoxMDA0NjAwMDFBMDQ4MDdFMjYwMjc0MDY4MDY2MjZGREZCQzM2MEIwRjcKKzoxMDA0NzAwMEZERTgwMjNGNjFGQkMzRkE4MDdDMEYwMzc1MDlDNjQ0QTcKKzoxMDA0ODAwMDBCMDBFOEU1MzhGQkMzQzQ3RTE0OEI0RTNBODVDOTc1NzIKKzoxMDA0OTAwMDM1MjY4QjBENDc0N0UzRUEzQjdFMDQ3NjIyQjgwMjAwRkYKKzoxMDA0QTAwMDM5NDYyRTc3MDdDNzQ2MkUwMDAwRUIxMzhCNUUyQzg5NEEKKzoxMDA0QjAwMDVFMDQyNkM3MDcwMDAwNDM0Mzg5NUUyQzI5NDYyRTg1MkIKKzoxMDA0QzAwMEM5NzhDRTg5NEUzQThBNDQwRDhCNUMwNDI2OEEyNTQ3MkEKKzoxMDA0RDAwMDNBQzQ3NTE2RkU0QzBCRkY0NDA2RTgwRkZGRTJFRDg4QTgKKzoxMDA0RTAwMDQ0MEQ4OTVDMDQ4OTRFM0FFQkE3QzY0NDBBRkVFODc5QkMKKzoxMDA0RjAwMDM4RkJDMzkwRThCMzBEOEFFODhBMEVDQjEzQjMwNzhBQTIKKzoxMDA1MDAwMEMxRUVFQjAwRUMzQUMxNzUwOTAyQ0RGRUNCNzVGMEVCMDQKKzoxMDA1MTAwMDBDOTA4ODBFQ0IxMzhBRThCQkZGRkZGOUMzODgwRUNCODMKKzoxMDA1MjAwMDEzRjhDMzkwQkIzRjNGOEE4RTlFMDBCQUZFMDBFQzhBNTAKKzoxMDA1MzAwMEU4MzJDMTIyQzM3NTAyRjhDM0Y5QzM5MEU4RTVGRjczM0UKKzoxMDA1NDAwMDAxQzNCQUQwMDBCQjAzMDM4QThFOUYwMEVDOEFFODMyNTUKKzoxMDA1NTAwMEMxMjJDMzc1MDJGOEMzRjlDMzkwMzNDMDhFRDg4RUMwRDAKKzoxMDA1NjAwMDgwM0VDODEzMDA3NTA3QjAwQUU4MjY0N0VCRjJGQjMzNUMKKzoxMDA1NzAwMERCOEExRUM5MTM0MzQzODNGQjdFNzYwNzMzREJCMDAyNUQKKzoxMDA1ODAwMEU4MEY0NzJFOEJBRjQ0MDA4MzdFMDgwMDc0RTc4ODFFNzcKKzoxMDA1OTAwMEM5MTNCMDAyRThGQjQ2RkFGNzQ2Mzg0MDAwNzQxNEU4ODUKKzoxMDA1QTAwMDk2MUJFODdGRkY3MjFDMzNEMjhBOTY5RjAwODNDMjBFOEYKKzoxMDA1QjAwMEVCMEM5MEU4NzcxQkU4ODNGRjcyMDhCQTQ4MDBFODMzMzkKKzoxMDA1QzAwMEZGNzNBQjIzQ0I4OThFOUEwMDg5OTY5QzAwRkU4NkI1N0IKKzoxMDA1RDAwMDAwQzYwNkM4MTMwMEIwMEFFODY3MEFGQkVCODkxMDE4Q0EKKzoxMDA1RTAwMDA4MjgzM0MwQTAwNTAxOEFDODI0NDA3NTI0QzcwNjdDQUEKKzoxMDA1RjAwMDEyOEU0NUM3MDY0MjEyMDEwMEM2MDY1NDEyMDJCMDA4MDgKKzoxMDA2MDAwMEY2QzEwMTc0MDJCMDA0QTM0NjEyQTI0QzEyQTI5NDEyQzUKKzoxMDA2MTAwMEMzQzcwNjdDMTJCNjQ1QTAwRjAxODRDMDc1MEU2QTAwRTAKKzoxMDA2MjAwMDFGQzYwNjkzMTIxRTlDMEVFOEIxMEM5MEM3MDY0NDEyMUEKKzoxMDA2MzAwMDAxMDBBMzQyMTI4QkQ4QzFFMzA0ODgxRTk0MTJCRUUyQ0IKKzoxMDA2NDAwMDA1MkJGMDhCQzgzM0RCOEJGQjJFQUM4ODg1NDgxMjhBRDgKKzoxMDA2NTAwMEQ4MEMwNUU2RkU4QUUwRUIwMEU0RkUzMkM0QTgzRjc0NDUKKzoxMDA2NjAwMDAzRTk5RTAwRTQwMDg4ODU1MDEyOEFFMDI0MzBCQTEwMjUKKzoxMDA2NzAwMEZGM0MzMDc0MTI4MEZDMDQ3NDBBQkEwNDAzRjYwNjA4QzYKKzoxMDA2ODAwMDAxRkU3NDAzQkEwODBGODg5NTRDMTIwMkZBMzJDMEY2QzQKKzoxMDA2OTAwMEM0MDg3NDAyQjAwMTg4ODU1ODEyOEFDNDNDMzU3NDVCNjIKKzoxMDA2QTAwMDNDMzY3NDU3M0MzNDc0NTMzQzA0NzQ0RjNDMTQ3NDRCQzQKKzoxMDA2QjAwMDNDMTU3NDQ3QTg0MDc0MjVDNjg1NTQxMjA0RDFFN0I0OEMKKzoxMDA2QzAwMDAzOEFDMzg5ODU1QzEyOEFDMzhBRTM4MENDMDE4OTg1NDkKKzoxMDA2RDAwMDY0MTJEMUVGNDdFMjAzRUIxQTkwRTk2Q0ZGQzY4NTU0MzAKKzoxMDA2RTAwMDEyMDJEMUU3OEFFNjhBQzMwQzA0ODk4NTVDMTJEMUVGMzUKKzoxMDA2RjAwMDQ3RTJFNzMzQzA4QUM3QTM0NjEyQzNDNjg1NTQxMjA2MzEKKzoxMDA3MDAwMEVCQkJDNjg1NTQxMjAwMzNDMDg4ODU1MDEyODg4NTRDRDcKKzoxMDA3MTAwMDEyODg4NTU4MTJFQkE2Qzc0NjI2MDIxMjhCNDYxRTg5MDAKKzoxMDA3MjAwMDQ2MDA4OTQ2MjI4QjQ2MjA4OTQ2MjRDNzQ2MUEwMDAwODcKKzoxMDA3MzAwMEMzQzc0NjNDODAwMEM3NDYzODAxMDAxRTU2OEI3NjMwNDIKKzoxMDA3NDAwMDg5NzYwNDg5NzYxNDhFNUUwNjMzQzA4OTA0NDY0Njg5MEMKKzoxMDA3NTAwMDc2MkM4OTQ2M0E4QjQ2MzI0ODQ4ODk0NjJFNUUxRkMzMUUKKzoxMDA3NjAwMDMzQzA4OTQ2NDg4OTQ2NEFDNzQ2NDZBRTAxODk0NjRFNDcKKzoxMDA3NzAwMDhCNDY0NDg5NDY1MDhCNDY0Mjg5NDY0MDg5NDYwOEMzODkKKzoxMDA3ODAwMDMzQzA4OTQ2NzY4OTQ2NzhDNzQ2N0ExMDAwNTYxRThCNTQKKzoxMDA3OTAwMDc2NzA4OTc2MTA4OTc2MEM4RTVFMTJDNzA0MDAwMDhCMDUKKzoxMDA3QTAwMDQ2NzI4OTQ2NzQxRjVFQzM4OTU2MTg4OTU2MDI4OTU2NTcKKzoxMDA3QjAwMDA2ODk1NjBBODk1NjBFODk1NjEyODk1NjE2OEJEODRCQzkKKzoxMDA3QzAwMDRCQzFFMzAyQkYwMjAwODk3RTFFMDNGQjg5N0UzMDAzMUEKKzoxMDA3RDAwMEZCODk3RTQyMDNGQjg5N0U3MDgzRUIwODg5NUUyMDg5NUEKKzoxMDA3RTAwMDVFMzI4OTVFNDQ4OTVFNzI1MEU4MkJGRkU4NzFGRkU4NTMKKzoxMDA3RjAwMDNGRkZFODhCRkY1OEMzQjgzMDc1QzFFODA0MEU1QjAzQjgKKzoxMDA4MDAwMEMzQTNCQTEzODMzRTQyMTIwMDc0MDc4MDNFOTQxMjAwQzEKKzoxMDA4MTAwMDc1MEU2QTAwMUZDNjA2OTMxMjFFOUMwRUU4QkQwQTkwNTQKKzoxMDA4MjAwMEI4MzA3QUMxRTgwNDQwQTNDMDEzMkIwNjEyMDFGN0Q4RjAKKzoxMDA4MzAwMDMzRDI4QkNBOEEwRTk0MTJGN0YxM0Q4MDAwNzcwRTZBOEMKKzoxMDA4NDAwMDAwMUZDNjA2OTMxMjI1OUMwRUU4OTAwQTkwNDgzREZGQjMKKzoxMDA4NTAwMDA3NzIwM0I4RkYwN0EzQzIxMzMzQzk4QTBFOTQxMjMzNzkKKzoxMDA4NjAwMEY2QjgwMDA5MkU4QkFDNDQwMDg5NDY0QzQwNDY0NkUyNUYKKzoxMDA4NzAwMEYzOEEwRTk0MTIzM0Y2OEIxNkMwMTNBMUMyMTMyRThCN0IKKzoxMDA4ODAwMEFDNDQwMEU4MjJGRjAzRDA0NjQ2RTJGMkMzMzNDMDJFNTgKKzoxMDA4OTAwMDhCQUQ0NDAwODk0NjA4NDc0N0UyRjRDMzUxMzNDMDBBOTAKKzoxMDA4QTAwMEMyMkU4QkFENDQwMDg5ODY5RTAwODE0RTM4MDAyMDQ3QzEKKzoxMDA4QjAwMDQ3RkVDNDgwRkMwNDcyMDQzMkU0RkVDMEUyRTM1OTgzQzQKKzoxMDA4QzAwMEU5MTA3NDA1RjdEOUU4QzRGRkMzNTEzM0MwMEFDMjJFM0EKKzoxMDA4RDAwMDhCQUQ0NDAwODk4NjlFMDA4MzRFMzg0MDQ3NDc4MEM0RDQKKzoxMDA4RTAwMDEwNzkwNDMyRTRGRUMwRTJFNjU5ODNFOTEwNzQwNUY3OUEKKzoxMDA4RjAwMEQ5RTg5OUZGQzNFOEQyRkZDMzhEMDg5QzA4Q0EwOEY1NjAKKzoxMDA5MDAwMDA4OEIwRTQyMTIzM0Y2NTE1NjMzREI4QkNCOEE5NDQ4NTgKKzoxMDA5MTAwMDEyOEE4QzRDMTI4QTlDNTQxMjhCRkVDMUU3MDU4NURCMkYKKzoxMDA5MjAwMDc1MDJCMTEwMkVGRjk3RjkwODVFNTk0NkUyRDlDMzAxNEUKKzoxMDA5MzAwMENDMDNEMDAwRTgwMkQwMDBFODAxRDAwMEU4MDBEMDAwRUQKKzoxMDA5NDAwMEU4MDREMEE4REEwMERDMDBERTAxRDgwM0NDMDNDQzAzMzUKKzoxMDA5NTAwMENDMDREMEE4REEyMERDMDBERTAzQ0MwM0NDMDNDQzAwMkUKKzoxMDA5NjAwMEQ4MDNDQzAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzMDMKKzoxMDA5NzAwMENDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzRkYKKzoxMDA5ODAwMENDMDREMDAwREEyMERDMDNERTAxRDgwM0NDMDNDQzAzOTYKKzoxMDA5OTAwMENDMDNDQzAwRDgwMENDMDBEMDAwMDA1NjUyMUUwRTFGNTUKKzoxMDA5QTAwMEJFMkYwOTMzRDJGQ0FEODVDMDc0MEQ4QUQ0RUVBRDg1NUYKKzoxMDA5QjAwMEMwNzQwNThBRDRFRUVCRUUxRjVBNUVDM0U0ODA4NEMwOTcKKzoxMDA5QzAwMDc0MTY3ODE0QjAyN0U2RkNCMDExRTYzNEU0RkMzQzI3M0EKKzoxMDA5RDAwMDc1MDZFNDExNzUwMkY4QzNGOUMzODNDMjA2QjBCRkVFMTEKKzoxMDA5RTAwMDgzRUEwMkIwMTBFRTg4ODZBRjAwQjAxMTgzQzIwNEVFMzUKKzoxMDA5RjAwMDgzQzIwMkVFQjAxMzgzQzIwMkVFODNDMjAyRUUyRUExQzYKKzoxMDBBMDAwMDRDMkQ4OTg2OTQwMDgzRUEwRUVFODNDMjAyOEFDNEVFREUKKzoxMDBBMTAwMDgzQzIwNEIwMDNFRTg4ODZBODAwODNFQTA0MzJDMEVFRTUKKzoxMDBBMjAwMDgzQzIwMkIwODlFRTg4ODZBNjAwMEMwNkVFQjA0MEI0MDAKKzoxMDBBMzAwMDM4ODk0NjFDQzc0NjM2MzgwMDgzQzIwNDMyQzBFRTg4NjcKKzoxMDBBNDAwMDg2QTcwMEMzODNDMjA2QjBCRkVFODNFQTAyRUMzQTg2RjMKKzoxMDBBNTAwMEFGMDA3NTI0ODNDMjA0RUMzQzExNzUxQzgzQzIwNkVDMDQKKzoxMDBBNjAwMDNDMTM3NTE0ODNFQTA4OEE4NkE4MDBFRTgzRUEwMkVDMzgKKzoxMDBBNzAwMDI0QzAzQ0MwNzUwMkY4QzNGOUMzMzNDOThCRDE4QkYxRDQKKzoxMDBBODAwMDhBMEU5NDEyQzFFOTAyMkU4QkFDNDQwMEY3NDYzODAwNUUKKzoxMDBBOTAwMDIwNzQwRThBODY5RTAwRTZGRTMyQzBFNjgwNDJFOEZBQTYKKzoxMDBBQTAwMEZFODNDNjA4RTJFMTg1RDI3NDAzRTgwNTA4QzMzM0M5QjIKKzoxMDBBQjAwMDhCRjE4QTBFOTQxMjJFOEJBQzQ0MDBGNzQ2Mzg0MDAwMUUKKzoxMDBBQzAwMDc0MDZFODczMTZFODEyRkY0NjQ2RTJFQUMzMzNDOThCQTAKKzoxMDBBRDAwMEYxOEEwRTk0MTJDMUU5MDIyRThCQUM0NDAwRjc0NjM4MUQKKzoxMDBBRTAwMDAwMjA3NDE2RTg0NjE2RThEMkZFNzMwRTZBMDAxRkM2OTAKKzoxMDBBRjAwMDA2OTMxMjFDOUMwRUU4RTMwNzkwODNDNjA4RTJEOUMzNTQKKzoxMDBCMDAwMDMzQzk4QkYxOEEwRTk0MTIyRThCQUM0NDAwRjc0NjM4MTEKKzoxMDBCMTAwMDQwMDA3NDE2RTgyMTE2RTgyQUZGNzMwRTZBMDAxRkM2MEIKKzoxMDBCMjAwMDA2OTMxMjFDOUMwRUU4QjMwNzkwNDY0NkUyREFDMzBDMEIKKzoxMDBCMzAwMDAwMDAxMDAwMTMxMjAwMDAxNDAwMjgzQzAwMUIzRTAwQUYKKzoxMDBCNDAwMDAwMkEwMDAwMkMwMDAwNDIwMDE0RDgwMDAwREEwMDAwNDcKKzoxMDBCNTAwMDM0MDAxMTM2MDAxMzM4MDAxMTNBMDAxMzAwMDA1NjUwQ0IKKzoxMDBCNjAwMDUyQkUyRjBCMkVBRDg1QzA3NDA2OTIyRUFDRUVFQkY0NjgKKzoxMDBCNzAwMDVBNTg1RUMzNTMyRUExNjAyMkU2RTRFNkYwOEFDNEU2MkEKKzoxMDBCODAwMEVDRTZGOEU4RDhGRkIwNEJFNjEwQjA1MEU2MTJCMDM4MEIKKzoxMDBCOTAwMEU2MTRFOEFFMTVCMDQ2RTYwQUU4QTcxNUIwMUFFNjBBNkMKKzoxMDBCQTAwMEU4QTAxNUIwMjJFNjBBRTg5OTE1RThGRDA2OEJEOEU0MUUKKzoxMDBCQjAwMDE2QTgwNDc1MThFOEYyMDYyQkMzM0QzMjAwNzJGMDZBREQKKzoxMDBCQzAwMDAwMUZDNjA2OTMxMjIzOUMwRUU4MTAwNzkwRThEQTA2NzEKKzoxMDBCRDAwMDJCQzMzRDI0MDA3NzFCQjAzMUU2RkM1NjUxNTVCOTEwQUMKKzoxMDBCRTAwMDAwMkU4QkFDNDQwMDgxNEUzODgwMDA0NjQ2RTJGMjVEMTgKKzoxMDBCRjAwMDU5NUVFODY5RkZFODRCMTVCMDQ2RTYwQUU4NDQxNTVCMjQKKzoxMDBDMDAwMEMzMzNGNjhCMEU0MjEyMkU4QkFDNDQwMEY3NDYzODAwRUQKKzoxMDBDMTAwMDIwNzQwNkU4MTcxNUU4NUJGRjgzQzYyMEUyRTlDMzhCNjIKKzoxMDBDMjAwMEMyMDUwNDAwODk0NjI4MkVBMTRDMkQ4OTg2OEUwMDg5OTQKKzoxMDBDMzAwMDg2OTAwMDg5ODY5MjAwQzY4NkEzMDAwQUM2ODZDMzAwRjUKKzoxMDBDNDAwMDAzNTI4M0MyMDQ4QTg2QTYwMDBDMDZFRTVBODNDMjAyQUYKKzoxMDBDNTAwMEIwMDVFRTg4ODZBNTAwQzNFODAzRkZFOEU1MTRCMDQyQkUKKzoxMDBDNjAwMEU2MEFGNzQ2Mzg4MDAwNzQwNjJFQTE5QzIyRUIwNDJFN0IKKzoxMDBDNzAwMEExNkMyMkM3NDYxQzBDMDA4OTg2OTQwMDg5ODY5NjAwQzgKKzoxMDBDODAwMDg5ODY4RTAwODk4NjkwMDA4OTg2OTIwMEU2RjBFNkU0RTcKKzoxMDBDOTAwMDhBQzRFNkY4RTZFQ0M2ODZDMzAwMDNFOEE1MTRCMDFBRDkKKzoxMDBDQTAwMEU2MEFCMDEwODg4NkE1MDBFNjBDQzMzM0M5OEJGMThBMkEKKzoxMDBDQjAwMDBFOTQxMjJFOEJBQzQ0MDBGNzQ2Mzg0MDAwNzQwNkU4QzAKKzoxMDBDQzAwMDc2MTRFODVBRkY0NjQ2RTJFQUMzMzNDOThCRjE4QTBFMkUKKzoxMDBDRDAwMDk0MTIyRThCQUM0NDAwRjc0NjM4MDAyMDc0MDZFODRDODIKKzoxMDBDRTAwMDE0RTg3NEZGNDY0NkUyRUFDMzkwODMzRTQ0MTIwMDc1NUUKKzoxMDBDRjAwMDE0QjAwMUJBMDYwMUVFMkFDMEVFQjAwMkVFQjAwNEVFNjYKKzoxMDBEMDAwMEI4MDAwMkVCMEZCQTA2MDFCMDQwRUVCODAxMDA4QTBFM0YKKzoxMDBEMTAwMDBFMDFEM0UwQTM4ODEyQzNBMTg4MTJBMzg0MTIyRDIwNTAKKzoxMDBEMjAwMDAwQTM4QTEyMkQyMDAwQTM4MjEyQzcwNjg2MTIyMDAwN0IKKzoxMDBEMzAwMEM3MDY4MDEyMzIwMEMzODMzRTQ0MTIwMDc0NzY4QjBFQzUKKzoxMDBENDAwMDQyMTIzM0Y2OEFBNDU0MTI4NEU0NzQ1RjhBODQ0ODEyRUYKKzoxMDBENTAwMDBDMDRFNkZFRjZDNDA0NzQyNUIwMUJCQTAwMDBFRUVCRUEKKzoxMDBENjAwMDAwMkFDMEJBMDIwMEVFRUIwMEIwMDNFRUVCMDAzMkMwODYKKzoxMDBENzAwMEJBMDIwMEVFRUIwMEJBMDAwMEIwMDBFRUVCMkRCMDFGOUYKKzoxMDBEODAwMEJBMDAwMEVFRUIwMDJBQzBCQTAyMDBFRUVCMDBCMDAzOUUKKzoxMDBEOTAwMEVFRUIwMEQxRTY4QTg0NUQxMkQxRUVGNkQwQkEwMjAwMDUKKzoxMDBEQTAwMEVFRUIwMEJBMDAwMEIwMEFFRUVCMDBFNDA0RUIwMEU0NjYKKzoxMDBEQjAwMDA0NDZFMjkwQzM5MEI4MTQwMEJBM0VGRkVGQjgwNjAwQjQKKzoxMDBEQzAwMEJBMzJGRkVGQjgwRjAwQkEzNEZGRUZCQTM2RkZFRjgzNDUKKzoxMDBERDAwMDNFNDQxMjAwNzUxNkI4MTEwMEJBMzhGRkVGQjgxMjAwODEKKzoxMDBERTAwMEJBM0FGRkVGQjgxQjAwQkEzQ0ZGRUZDM0I4MTEwMEJBMjQKKzoxMDBERjAwMDM4RkZFRkI4MTIwMEJBM0FGRkVGQjgxQjAwQkEzQ0ZGNTkKKzoxMDBFMDAwMEVGQzNCOEZDMDBCQTI4RkZFRkZCODMzRTQ0MTIwMDc0MjYKKzoxMDBFMTAwMDA3QjhDQzAwQkEyOEZGRUZDMzAwRkZGRjIwMjQyOEZGNEIKKzoxMDBFMjAwMDJDRkZGRjMwMzQzOEZGRkYzQzkwM0MwRjc3MEVCQjE5OEUKKzoxMDBFMzAwMDBFMkVENzNDRkY3NDA1OEFEOEY4QzM5MDJBREJGOUMzN0QKKzoxMDBFNDAwMDgzM0U0NDEyMDA3NDI3QTAwNjAxODAyNjA2MDEzMDgwRUMKKzoxMDBFNTAwMDNFMDYwMTMwNzUxOEI5MDIwMEJGQzQxM0JBMDYwMUVDOTIKKzoxMDBFNjAwMEE4MjA3NUY4QkEwNDAxRURBQkUyRjFFQjE2OTBCOTA0RDUKKzoxMDBFNzAwMDAwQkZDNDEzQkEwNjAxRUNBODIwNzVGOEJBMDQwMUVDNEYKKzoxMDBFODAwMEFBRTJGMUZBOTBCRUM0MTNBRDgwRTQzRjgwRkMwMjc0ODQKKzoxMDBFOTAwMDBFNkEwMDFGQzYwNjkzMTIwQTlDMEVFODNFMDQ5MEFEMkYKKzoxMDBFQTAwMDNDMEY3NUVEOEFDNEU4ODFGRjcyRTY4ODFFMUEwMUM2MDAKKzoxMDBFQjAwMDA2OEUxMjAwQjAwMDBBMDYxQTAxQkEwMDAxRUVDNjA2M0MKKzoxMDBFQzAwMDhGMTI0MDgzM0U0NDEyMDA3NTA2QjgwQzAwRUIwNDkwNkMKKzoxMDBFRDAwMEI4NEMwMEJBMjhGRkVGQzM4MzNFNDQxMjAwNzUwMUMzMkIKKzoxMDBFRTAwMEExNTAxMjBCMDY1MjEyMEFDNEE4MDg3NEYyQTAwRjAxRjYKKzoxMDBFRjAwMDJBRTQ1MEZGMzZCQTEzMUZFODUwNTY4M0M0MDI2QTAwMzIKKzoxMDBGMDAwMDFGMzNDMEEzQkMxM0EwMEYwMUEzQkUxMzhCMUVCQzEzQzEKKzoxMDBGMTAwMDhBODc1MDEyRjY4NzUwMTIwODc0MEQyNDA3OEFFMEJFQTMKKzoxMDBGMjAwMENDMDBBMEJDMTNFODk0M0RGRjA2QkMxM0ZGMEVCRTEzMUIKKzoxMDBGMzAwMDc1REFDMzkwMUUzM0MwOEVEOEIwMDFFODU0M0QxRkMzOEMKKzoxMDBGNDAwMDMzQzk4QkYxOEEwRTk0MTIyRThCQUM0NDAwQzc0NjYyRDMKKzoxMDBGNTAwMDM4NDRDNzQ2N0NGQzNCQzc0NjdFRTIzQkM3ODY4MDAwRTAKKzoxMDBGNjAwMEVDM0NFOEFCMTZDNjg2QzAwMDExODM3RTA4MDA3NDA3MEYKKzoxMDBGNzAwMDUxNTZFODMzMzM1RTU5NDY0NkUyQ0RDMzMzQzk4QkYxNEYKKzoxMDBGODAwMDhCRjk4QTBFOTQxMkMxRTkwMkUzMTMyRThCQUM0NDAwNTQKKzoxMDBGOTAwMDhBODY5RTAwODg4NTZDMTI4M0M2MDg0N0UyRURDM0ZBRjQKKzoxMDBGQTAwMEZDQjBDMEJBMDAwMUVFMzNDMDhFRDg4RUMwOEVEMEJGNjgKKzoxMDBGQjAwMDE2MDFCOUNDNzcyQkNGRDFFOUYzQUJCQzQwMTJFOEQ5RkQKKzoxMDBGQzAwMDAyRTg3MDNDQkVDQzBGRThGMjNDRjQ5MDMzQzA4RUQ4RkYKKzoxMDBGRDAwMDhFQzA4RUQwRjYwNjBBMDE4MDc0MEJCRTM1NTVFOERCNTQKKzoxMDBGRTAwMDNDQjAwMUU4QUMzQ0U4QjMwMEU4RjZGNUU4MDhGOEU4MDYKKzoxMDBGRjAwMDBGRjlFODg1RkFFOEI2RkFFOEVGRkNFOEMyMTBFODAzNzIKKzoxMDEwMDAwMDNDRThCMkZERTgzMEZERTg1NDAyQzYwNjhGMTJDMEU4QTUKKzoxMDEwMTAwMEJCRkFFOEVCRkFFOEU5RkJFOEFGRkNFODhERkNFODFGNzcKKzoxMDEwMjAwMEZGRTg1OEZGRThEQkZERTgxNkZFMzNDMEJFNUEwNUU4Q0UKKzoxMDEwMzAwMDhBM0NFOEEzRkVFOEUwRkNGQkJFQTQ0NEU4N0QzQ0U5NzIKKzoxMDEwNDAwMENBMkQ1Njk4OEJGMDhCNDI1Mjg1QzA3NTI3Qzc0MjUyRTUKKzoxMDEwNTAwMDAxMDA1MzM2OEI5QzJDMDFGNkMzMDE3NTBDMzY4OTY4NTAKKzoxMDEwNjAwMDUyMzY4OUFDMkMwMTVCNUVDMzM2ODlBQzJDMDEzNjg5QzMKKzoxMDEwNzAwMEFDMUMwMTVCNUVDMzU2OTg4QkYwMzNFRDM2OEI4NDFDNDEKKzoxMDEwODAwMDAxQTgwMTc1MTU4QkU4MzNDMDg3NDI1MjM2ODk4NDFDNEMKKzoxMDEwOTAwMDAxQTgwMTc0MDUzNjg5ODQyQzAxNUVDMzU2NTEzM0Y2Q0MKKzoxMDEwQTAwMEI4MDEwMEI5MDgwMDg5ODQxQzAxODk4NDJDMDE0NjQ2RDYKKzoxMDEwQjAwMEUyRjQ1OTVFQzM5MEJCMDEwMDhCRThGRjRFNkU3NDBBRTgKKzoxMDEwQzAwMDhCREQ4QjQ2NThBODAxNzRGMEMzOEI0NjQ4QTkwODAwRjUKKzoxMDEwRDAwMDc0NDVGNzQ2Mzg0MDAwNzQyN0U4NUMxMDgwQzIwNjhBRTEKKzoxMDEwRTAwMDg2QTgwMDI0QkY4ODg2QTgwMEVFNjBCMEZFRTg4NjMyOUQKKzoxMDEwRjAwMDYxQjAwMkU4NENGRjhCNDY0ODI0Rjc4OTQ2NDhFQjE3NUQKKzoxMDExMDAwMEU4MkExMDgxNEUyNjAwNDA4QTg2QTUwMDBDMDI4ODg2QjcKKzoxMDExMTAwMEE1MDBFNjBDOEI0NjQ4QTkwNDAwNzQxNEIwMDJFODIxMkYKKzoxMDExMjAwMEZGOEI0NjQ4MjRGQjg5NDY0ODYwQjBERkU4NDczMjYxQzAKKzoxMDExMzAwMDMzQzA4NzQ2NThGNkMzMDE3NTBCMzY4OTQ3NThBODAxNTYKKzoxMDExNDAwMDc1MERFOTc0RkZBMzIyMDFBODAxNzUwM0U5NkFGRjg5RkYKKzoxMDExNTAwMDFFMzIwMUMzQkIwMTAwOEJFOEY3NDYzODQwMDA3NDE1MEUKKzoxMDExNjAwMEU4RDUwRjgwQzIwQUVDQTg0MDc1MEE4QkREOEI0NjU2ODUKKzoxMDExNzAwMEE4MDE3NEUzQzM4QjQ2MjY4MEU0RkU4MENDMDI4OTQ2MzYKKzoxMDExODAwMDI2QjAwMkU4QkNGRTMzQzA4NzQ2NTZGNkMzMDE3NTBBOTYKKzoxMDExOTAwMDM2ODk0NzU2QTgwMTc1MEJFQkJEQTMyMDAxQTgwMTc1NDAKKzoxMDExQTAwMDAyRUJCNDg5MUUzMDAxQzM2MDFFMDYyQkMwOEVEOEEwOEUKKzoxMDExQjAwMDkwMTI4NEMwNzU0OUExMjIwMUE4MDE3NTAzRThGNkZFQ0EKKzoxMDExQzAwMEExMjAwMUE4MDE3NTAzRTg4QUZGQTFBQzEzNDg3ODA1QTYKKzoxMDExRDAwMDc0NDVBM0FDMTNBMUFFMTM0ODc4MDU3NDUxQTNBRTEzQTQKKzoxMDExRTAwMEExQjAxMzQ4NzgwNTc0NjNBM0IwMTNBMTdFMTI0MDc4QjAKKzoxMDExRjAwMDAzQTM3RTEyQjgwMDgwQkEyMkZGRUYwNzFGNjFDRkEwQzEKKzoxMDEyMDAwMDkxMTI0MDNDMDI3MjBCMzNDMEEyOTExMkZGMTY3QzEyNjUKKzoxMDEyMTAwMEVCQTRBMjkxMTJFQjlGQTA4RTEyMzIwNjhGMTJBMjhFMjcKKzoxMDEyMjAwMDEyMEEwNjFBMDFCQTAwMDFFRUI4MkMwMUVCQTQ4MzNFQTMKKzoxMDEyMzAwMDg0MTIxMDcyMTFCQTI4RkZFRDBDODFFRkU4NTMzN0JBMEYKKzoxMDEyNDAwMDI4RkZFRDI0N0VFRkI4MDQwMEVCOTJDNjA2OEQxMjAxNTQKKzoxMDEyNTAwMEU4M0YzN0M2MDY4RDEyMDBBMUIyMTNFQjhCOTA4QTFFQjEKKzoxMDEyNjAwMDBCMDEyQUZGNkJDMzE5QkE2MkZGRUZCODBBMDBCQTYwMUMKKzoxMDEyNzAwMEZGRUZCODAxRTBCQTY2RkZFRkI4RkZGRkJBNTJGRkVGMjkKKzoxMDEyODAwMEI4MDlDMEJBNTZGRkVGQzcwNkFDMTMyQzAxQzcwNkFFQUIKKzoxMDEyOTAwMDEzMDQwMEM2MDY5MTEyMDBDMzkwOEExRTBCMDEyQUZGOTgKKzoxMDEyQTAwMDZCQzMwNUQxRThBMzE4MDFDMzkwNTJCQTUwRkZFRDVBQTEKKzoxMDEyQjAwMEMzOTA1MzUxOEIxRTE4MDFCOTMyMDU5MEUyRkU0Qjc1NTUKKzoxMDEyQzAwMEY3NTk1QkMzQjA4MEJBMDAwMTBBMDYxQTAxRUVDMzkwNTkKKzoxMDEyRDAwMEIwNDBFQkYyQjBDMEVCRUVCMDAwRUJFQUZBNjAwNjFFRjUKKzoxMDEyRTAwMDE2MkJEQjhFREIyRUExQkE0QzJFQTM5MjRDQTA5MzEyQjAKKzoxMDEyRjAwMDk4OEJFODg5MjYyRDdBODAzRUNBMTMwMDc0MDNFOTZCMjcKKzoxMDEzMDAwMDQyRThDMEZGRThBQkZGRThBOEZGQjAyMEM2MDY5MDEyOTUKKzoxMDEzMTAwMDAwRkYxNjdDMTI4QkZEODNGRjBBNzIxMUU4QjlGRkU4MEIKKzoxMDEzMjAwMDkwRkZFOEFCRkZFODhBRkY4M0VGMEFFQkVBMEJGRjc0NUMKKzoxMDEzMzAwMDBGRThBNEZGRTg3QkZGRTg5QUZGRTg3NUZGNEY3NUYxMUYKKzoxMDEzNDAwMEU4OTVGRkU4NkNGRkVCQjk4QTg2QTUwMDI0RkRFRTg4REUKKzoxMDEzNTAwMDg2QTUwMEMzOEE4NkE2MDAwQzAyRUVDMzhCNzYzOEY3RkEKKzoxMDEzNjAwMEM2MDEwMDc0RUY4QjRFMzY4QjQ2MkUzQkMxNzMwMjhCNDkKKzoxMDEzNzAwMEM4MkJDMTg5NDYyRTAxNEUzNEM0N0UwNDI2MDEwRDhCMzQKKzoxMDEzODAwMDdFMkM4M0VBMDRGMzZDOEVDMTg5N0UyQzNCNDYzQzcyMzIKKzoxMDEzOTAwMDEyRjdDNjIwMDA3NTBCODNDRTIwODk3NjM4QjAwMEU4OUUKKzoxMDEzQTAwMEEwRkNDM0Y3QzYwNDAwNzQxQjhCRDg4M0NFMTA4OTc2Q0IKKzoxMDEzQjAwMDM4OEE4NkE3MDAyNEZFODg4NkE3MDA4M0MyMDhFRTgzQTkKKzoxMDEzQzAwMEVBMDg4QkMzM0Q0MDAwNzIwMUMzODE0RTM4MDAwNDgzOUMKKzoxMDEzRDAwMEMyMDI4QTg2QTUwMDI0RkE4ODg2QTUwMEVFQzM4QTg2MDIKKzoxMDEzRTAwMEE2MDAwQzAyRUVDM0Y3NDYzODAxMDA3NEYxOEI0RTJFQjYKKzoxMDEzRjAwMDMyREI4QUJFQTMwMDgzQzIwNkM0NzYwNDhCN0UyQzgzQjQKKzoxMDE0MDAwMEY5MDg3MjJDRUNBODAxNzQxNjhBRTA4M0VBMEFFQzgzQ0UKKzoxMDE0MTAwMEMyMEE4NEU3NzU1MUFBRkVDMzQ5ODNGOTA4NzNFNTMyMEQKKzoxMDE0MjAwMEZGMjYwMTFDMDE1RTM0ODk3NjA0ODk0RTJFODk3RTJDQUMKKzoxMDE0MzAwMDNCNEUzQzcyMTFGNjQ2MzgyMDc0MDFDMzgzNEUzODIwNkYKKzoxMDE0NDAwMEIwMDBFOEZERkJDM0Y2NDYzODA0NzQxNTgzNEUzODEwMkYKKzoxMDE0NTAwMDhBODZBNzAwMjRGRTg4ODZBNzAwODNFQTAyRUU4M0MyNUMKKzoxMDE0NjAwMDAyM0Q0MDAwNzI1REMzMzJGRjI2MDMxQzg1REI3NDA5MTgKKzoxMDE0NzAwMDI2ODkxQzhCRjc0NzQ3NDk0OTgwRTQxRTgwQ0NDMDI2NEIKKzoxMDE0ODAwMDg5MDRGNkM0MTA3NDI3OEI3NjM4RjdDNjAwMTA3NDBCRTUKKzoxMDE0OTAwMDUwRkU4NkIyMDBCMDBBRThBOEZCNThGN0M2MDAwMTc0RjcKKzoxMDE0QTAwMDBERTg4MjI2OEI3NjM4OEI0RTJFOEI3RTA0QUI4QkY3MjUKKzoxMDE0QjAwMDMzQzBBQjMyREI4QUJFQTMwMDQ5NDk4M0Y5MDg3MjE3RjcKKzoxMDE0QzAwMEU5NDFGRjgxNEUzODAwMDQ4M0MyRjg4QTg2QTUwMDI0RDIKKzoxMDE0RDAwMEZBODg4NkE1MDBFRUMzRTk0NUZGODNDMjA4RUM4ODg2M0EKKzoxMDE0RTAwMEFBMDBDMEU4MDQ4QUUwOEFDODg2ODZBOTAwMzJFMDhCOTgKKzoxMDE0RjAwMDVFM0U4NEUzNzQ0RjhBQzE4QjRFMjZGNkM1MDQ3NDBDOUQKKzoxMDE1MDAwMEE4MDg3NDA1ODBFMUJGRUIwMzgwQzk0MEY2QzUwODc0RTQKKzoxMDE1MTAwMDBDQTgwMjc0MDU4MEUxN0ZFQjAzODBDOTgwODg0RTI2MDkKKzoxMDE1MjAwMDhCRjA4QTg2QTUwMDg0Qzk3NDA4QTgwMjc0MTUyNEZENkUKKzoxMDE1MzAwMEVCMDZBODAyNzUwRDBDMDI4ODg2QTUwMDgzRUEwQUVFNjgKKzoxMDE1NDAwMDgzQzIwQThCQzY4NEU3NzUwMUMzQzY4NkJBMDAwMUIwQTAKKzoxMDE1NTAwMDBFRThFRUZBRjc0NjM4MDAwMjc0RUU4MzdFMkUwNjcyMkQKKzoxMDE1NjAwMEU4OEFBNkFBMDBDNDVFMDQ4QjdFMkNCMEZGQUFCMDAyNTMKKzoxMDE1NzAwMEFCMjY4MzA3MDM4MzZFMkUwMzg5N0UyQ0Y2NDYzODIwMjQKKzoxMDE1ODAwMDc0MDFDMzgzNEUzODIwQjAwMEU4QjZGQUMzOTA4M0VBRjIKKzoxMDE1OTAwMDA4RTlCNEZEODNDMjA2OEI1RTI2RjZDM0MwNzVFRjhCRTcKKzoxMDE1QTAwMDRFMUNFQzg4ODZBNDAwODNFQTBBQTgyMDc1MDI4QUNEMjYKKzoxMDE1QjAwMDMyRUQ4QjQ2MUEzQkM4NzMxODAxNEUyQTJCQzE4OTQ2NUYKKzoxMDE1QzAwMDFBQzU3NjAwRjM2RThFRDk4OTc2MDAzRDIwMDA3MjMwMDAKKzoxMDE1RDAwMEMzODVDMDc0MzE4QkM4MDE0NjJBQzU3NjAwRjM2RThFNzAKKzoxMDE1RTAwMEQ5ODBDQjAyODk1RTI2RTgzMkYxRjZDNzAxNzUxNjgzRjEKKzoxMDE1RjAwMEMyMDJFODUzRkRGNkM3MTA3NTBCQjAwMkU4NDNGQUMzMDgKKzoxMDE2MDAwMEY2QzcwMTc0RjBDMzgwQ0IwMjg5NUUyNkY2QzcwMTc0NjkKKzoxMDE2MTAwMERFODNDMjAyRTgzMUZERjY4NkE0MDA0MDc0MEI4MEU3NDkKKzoxMDE2MjAwMEZFODBDRjAyODk1RTI2RUJDQ0IwMDRFODE0RkFDM0MwN0EKKzoxMDE2MzAwMEMyQzhDQUM0QzZDQ0NFRDBEMkQ4REFENEQ2RENERTkwRUEKKzoxMDE2NDAwMEU5MEUwMUU0QzQ4QUUwRTRDNDhCRDA4M0Y5MDg3MkYwQTcKKzoxMDE2NTAwMDI2ODMzRjAwNzQwNDhCREY0OTQ5OEJGQjhBREU4M0UzREEKKzoxMDE2NjAwMDBGMkU4QUE3MkYxNkFCRjZDNDEwNzQyNEY3QzYwMDEwRUQKKzoxMDE2NzAwMDc0MEI1MEZFODZCMjAwQjAwQUU4QzZGOTU4RjdDNjAwRUYKKzoxMDE2ODAwMDAxNzQwREU4QTAyNDhCNzYzODhCNEUyRThCN0UwNEFCMzQKKzoxMDE2OTAwMDg5N0UwNDMzQzBBQjQ5NDk4OTRFMkU4OTdFMkM4QkMxOEIKKzoxMDE2QTAwMEVCNEU5MEVCOUU5MEU0RDY4NEMwNzk2M0U2RDA4QUM4NzYKKzoxMDE2QjAwMDI1MDMwMDAzRDhEMUUzMkU4QkFGNDQwMDg4OEVBRTAwMDMKKzoxMDE2QzAwMDhCNEUyRUM0NUUwNDhCN0UyQzhCNzYzOEU0ODYyNDA3RUEKKzoxMDE2RDAwMDNDMDM3NUNGRTQxQzkxM0JDMTczMDI4QkM4MkJDMTg5QkQKKzoxMDE2RTAwMDQ2MkUwMTRFMzQyNjAxMEZCQUM0MDBGMzZDODk3RTJDQkQKKzoxMDE2RjAwMDNCNDYzQzcyMUNGN0M2MjAwMDc1MEI4M0NFMjA4OTc2RDIKKzoxMDE3MDAwMDM4QjAwMEU4M0NGOThBODZBRTAwMjQzRkU2RDZDM0Y5M0IKKzoxMDE3MTAwMEMzRjdDNjBBMDA3NDM1RjdDNjEwMDA3NTJGODNDRTEwQzQKKzoxMDE3MjAwMDg5NzYzOEY3QzYwMjAwNzQwRTUwRTREODI0RkVFNkQ4NTUKKzoxMDE3MzAwMDU4RjdDNjA4MDA3NDE1NTA1MUI5RTgwM0U0MEE4NEMwOEMKKzoxMDE3NDAwMEUwRkE4NEMwNzUwNEIwMjRFNjBBNTk1ODNENDAwMDczOUQKKzoxMDE3NTAwMEI1OEE4NkE1MDAyNEVGODg4NkE1MDBFNjBDODFDRTEwMDgKKzoxMDE3NjAwMDA0ODk3NjM4RUJBMDAwMDgwNDBDMDEwOTA1MEQwMjBBNzMKKzoxMDE3NzAwMDA2MEUwMzBCMDcwRjAwNDA4MEMwMjA2MEEwRTAxMDUwNTEKKzoxMDE3ODAwMDkwRDAzMDcwQjBGMEU0RDJFNkQwOEFDODI1MDMwMDAzRDAKKzoxMDE3OTAwMEQ4RDFFMzJFOEJBRjQ0MDA4ODhFQUUwMEU0RDhDMEU4RTkKKzoxMDE3QTAwMDA0OEJEODJFOEE4NzY2MTc4QUUwOEFDODg2ODZBOTAwQTUKKzoxMDE3QjAwMDMyRTBFNDk4OEI1RTNFODRFMzc0NTQ4QUMxOEI0RTI2RkIKKzoxMDE3QzAwMEY2QzUwNDc0MENBODA4NzQwNTgwRTFCRkVCMDM4MEM5NUEKKzoxMDE3RDAwMDQwRjZDNTA4NzQwQ0E4MDI3NDA1ODBFMTdGRUIwMzgwMTUKKzoxMDE3RTAwMEM5ODA4ODRFMjY4QkYwOEE4NkE1MDBGNkMxRkQ3NDA4NTQKKzoxMDE3RjAwMEE4MDY3NDE5MjRGOUVCMEZBODA2NzUxMUY2QzUwMTc1MzIKKzoxMDE4MDAwMDA0MEMwNEVCMDIwQzAyODg4NkE1MDBFNjBDOEJDNjg0NEYKKzoxMDE4MTAwMEU3NzUwOThBODZBRTAwMjQzRkU2RDJDM0M2ODZCQTAwQzEKKzoxMDE4MjAwMDAxQjAwRUU4MUNGOEY3NDYzODAwMDI3NEU2ODM3RTJFRkQKKzoxMDE4MzAwMDA2NzJFMDhBODZBOTAwOEFFMDg2ODZBQTAwOEFDODMyRjMKKzoxMDE4NDAwMEM0ODBDOTBCMjJDMUMwRTQwNDBBRTBDNDVFMDQ4QjdFREMKKzoxMDE4NTAwMDJDQjBGRkFBQjAwMkFCMjY4MzA3MDM4MzZFMkUwMzg5NDgKKzoxMDE4NjAwMDdFMkNGNjQ2MzgyMDc1QUI4MzRFMzgyMEIwMDBFOEQxODgKKzoxMDE4NzAwMEY3RUJBMDkwRTQxMjI0REZFNjEyODFFM0ZFOUY4OTVFN0QKKzoxMDE4ODAwMDI2ODM2NjQ4RjdFQjczOTBGNkM3MjA3NUU3RTQxMjBDRTEKKzoxMDE4OTAwMDIwRTYxMjMyQzBFNkM2QjA4M0U2QzY4MENGMjA4OTVFNUQKKzoxMDE4QTAwMDI2OEE4NkE1MDAwQzAyODg4NkE1MDBFNjBDRUI3NDkwQkIKKzoxMDE4QjAwMEY2Qzc0MDc1RDNFNDEyMEMyMEU2MTIzMkMwRTZDNkIwN0IKKzoxMDE4QzAwMDgxRTZDNjgwRTdERjgwQ0IwMTg5NUUyNkIwMDZFODcxM0QKKzoxMDE4RDAwMEY3OTA4QTg2QTUwMDI0RjlFNjBDODg4NkE1MDBFQjQzREMKKzoxMDE4RTAwMEU0RDRFNkQwOEJGODI1MDMwMDAzRDhEMUUzMkU4QkFGRTgKKzoxMDE4RjAwMDQ0MDA4QjVFMjZGNkM3NjA3NUI2RjZDM0MwNzVEM0JBRDIKKzoxMDE5MDAwMEM2MDA4QjRFMUM4QjQ2MUEzQkM4NzMxRTAxNEUyQTJCRjkKKzoxMDE5MTAwMEMxODk0NjFBQzU3NjAwRjM2RThFRDk4OTc2MDAzRDIwQkUKKzoxMDE5MjAwMDAwNzIzRDhCQzcyNDNGRTZENEMzODVDMDc0Mzk4QkM4OTEKKzoxMDE5MzAwMDAxNDYyQUM1NzYwMEYzNkU4RUQ5ODNDQjAyODk1RTI2RDYKKzoxMDE5NDAwMEU4RDlFREY2QzcwMTc1Mzk4QTg2QTUwMDI0RjlFNjBDQjkKKzoxMDE5NTAwMDg4ODZBNTAwRjZDNzEwNzVDQUIwMDJFOEU0RjZFQkMzQTYKKzoxMDE5NjAwMEY2QzcwMTc0RUZFQkJDRjZDNzAxNzREQzhBODZBNTAwRUMKKzoxMDE5NzAwMEE4MDI3NDExODFFM0ZGRkU4MUNCMDAwMjg5NUUyNkVCOTEKKzoxMDE5ODAwMEM3OEE4NkE1MDAyNEZCMEMwMkU2MEM4ODg2QTUwMEVCMUUKKzoxMDE5OTAwMDkyOTBGREY3REY3RkZFRkJFRkJGMDAwNDAwMDQwNTA0MUIKKzoxMDE5QTAwMDA1MDQwMTA0MDAwNDA1MDQwNTA0MDYwNDA2MDQwNTA0RjYKKzoxMDE5QjAwMDA1MDQwNjA0MDYwNDA1MDQwNTA0MDIwNDAwMDQwNTA0RTUKKzoxMDE5QzAwMDA1MDQwMTA0MDAwNDA1MDQwNTA0MDYwNDA2MDQwNTA0RDYKKzoxMDE5RDAwMDA1MDQwNjA0MDYwNDA1MDQwNTA0MDcwNDA3MDQwNTA0QjkKKzoxMDE5RTAwMDA1MDQwNzA0MDcwNDA1MDQwNTA0MDYwNDA2MDQwNTA0QTkKKzoxMDE5RjAwMDA1MDQwNjA0MDYwNDA1MDQwNTA0MDcwNDA3MDQwNTA0OTkKKzoxMDFBMDAwMDA1MDQwNzA0MDcwNDA1MDQwNTA0MDYwNDA2MDQwNTA0ODgKKzoxMDFBMTAwMDA1MDQwNjA0MDYwNDA1MDQwNTA0MDMwNDAwMDQwNTA0ODMKKzoxMDFBMjAwMDA1MDQwMTA0MDAwNDA1MDQwNTA0MDYwNDA2MDQwNTA0NzUKKzoxMDFBMzAwMDA1MDQwNjA0MDYwNDA1MDQwNTA0MDIwNDAwMDQwNTA0NjQKKzoxMDFBNDAwMDA1MDQwMTA0MDAwNDA1MDQwNTA0MDYwNDA2MDQwNTA0NTUKKzoxMDFBNTAwMDA1MDQwNjA0MDYwNDA1MDQwNTA0MDcwNDA3MDQwNTA0MzgKKzoxMDFBNjAwMDA1MDQwNzA0MDcwNDA1MDQwNTA0MDYwNDA2MDQwNTA0MjgKKzoxMDFBNzAwMDA1MDQwNjA0MDYwNDA1MDQwNTA0MDcwNDA3MDQwNTA0MTgKKzoxMDFBODAwMDA1MDQwNzA0MDcwNDA1MDQwNTA0MDYwNDA2MDQwNTA0MDgKKzoxMDFBOTAwMDA1MDQwNjA0MDYwNDA1MDQwNTA0MzNEQjhBRDg4QTg3OTYKKzoxMDFBQTAwMDZDMTJFNkZFQzFFMzAyRTRDRUE4MDQ3NTA5QTgwMjc0MzQKKzoxMDFBQjAwMDAzRTkyQ0ZFRjlDMzUwNTNFOENCRkM1QjU4QTgwMjc0MzEKKzoxMDFBQzAwMDAzRTkxQ0ZFRjhDMzMzREI4QUQ4OEE4NzZDMTJFNkZFNzIKKzoxMDFBRDAwMEMxRTMwMkU5RDBGQjlBMUFDNjFBMDAwMDAyMDAwNDAwMTIKKzoxMDFBRTAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMDgwMDAyMDAwNDAwRDgKKzoxMDFBRjAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMEEwMDAyMDAwNDAwQzYKKzoxMDFCMDAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMDgwMDAyMDAwNDAwQjcKKzoxMDFCMTAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMEMwMDAyMDAwNDAwQTMKKzoxMDFCMjAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMDgwMDAyMDAwNDAwOTcKKzoxMDFCMzAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMEEwMDAyMDAwNDAwODUKKzoxMDFCNDAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMDgwMDAyMDAwNDAwNzcKKzoxMDFCNTAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMEUwMDAyMDAwNDAwNjEKKzoxMDFCNjAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMDgwMDAyMDAwNDAwNTcKKzoxMDFCNzAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMEEwMDAyMDAwNDAwNDUKKzoxMDFCODAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMDgwMDAyMDAwNDAwMzcKKzoxMDFCOTAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMEMwMDAyMDAwNDAwMjMKKzoxMDFCQTAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMDgwMDAyMDAwNDAwMTcKKzoxMDFCQjAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMEEwMDAyMDAwNDAwMDUKKzoxMDFCQzAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwMDgwMDAyMDAwNDAwRjcKKzoxMDFCRDAwMDAyMDAwNjAwMDIwMDA0MDAwMjAwQzM5MERBMTQ5NDE1MEIKKzoxMDFCRTAwMDVDMTNFNjEzREExQkRBMUJFNjEzREExQjhCOTQ2NDEyMjAKKzoxMDFCRjAwMEMxRTYwNEE4MDE3NDM1NTAzM0MwOEFDMkU2RkVFNEEwRjEKKzoxMDFDMDAwMDg1QzA3NDI3OEJEODJFOEE5RkRBMUE1MjU2MkU4QkE4M0QKKzoxMDFDMTAwMDQ0MDA4QjU2MjhFQ0E4MDE3NTBEODg4NkFEMDAyNDBFNzMKKzoxMDFDMjAwMDhBRDgyRUZGOTdEQzFCNUU1QUVCQ0Q1OEE4MDI3NDM2N0IKKzoxMDFDMzAwMDgzQzYxMDMzQzA4QUM2RTZGRUU0QTA4NUMwNzQyNzhCMzUKKzoxMDFDNDAwMEQ4MkU4QTlGREExQTUyNTYyRThCQTg0NDAwOEI1NjI4MUIKKzoxMDFDNTAwMEVDQTgwMTc1MEQ4ODg2QUQwMDI0MEU4QUQ4MkVGRjk3NUEKKzoxMDFDNjAwMERDMUI1RTVBRUJDREMzOTAzMkU0OEJEODhCRDAyRThBMkUKKzoxMDFDNzAwMDlGOUExOTJFMjI5NzkyMTk1NjUyOEFDMzI0MDMwM0M2OUIKKzoxMDFDODAwMDgwRTMwNEQwRUIyRUZGOTdENjFBNTg1RUE5NTUwMDc1NTUKKzoxMDFDOTAwMEQ5QzM2MDFFMDYyQkMwOEVEOEExNUMxMkU2RkVFNDAwRkMKKzoxMDFDQTAwMDIyQzQ3NDA4MzNGNkU4QkZGRkVCRUU5MEU0MDQwN0U0QzcKKzoxMDFDQjAwMDA0MUZCODAwODBCQTIyRkZFRjYxQ0Y5MDYwMUUwNjJCOTAKKzoxMDFDQzAwMEMwOEVEOEExNUUxMkU2RkVFNDAwMjJDNDc0MDhCRTA0RjEKKzoxMDFDRDAwMDAwRTg5NEZGRUJFREU0MDQwN0U0MDQxRkI4MDA4MEJBQzkKKzoxMDFDRTAwMDIyRkZFRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE1QzEyNDAKKzoxMDFDRjAwMEU2RkVFNDAwMjJDNDc0MTgzM0Y2RTg2QkZGQTE2MDEyMUMKKzoxMDFEMDAwMEU2RkVFNDAwMjJDNDc0RTVCRTA4MDBFODVBRkZFQkRERkQKKzoxMDFEMTAwMEExNjAxMkU2RkVFNDAwMjJDNDc1RURFNDA0MDdFNDA0QzkKKzoxMDFEMjAwMEExNUMxMkU2RkVFNDA0MUZFNDA0QjgwMDgwQkEyMkZGQkUKKzoxMDFEMzAwMEVGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMTVFMTJFNkZFMkEKKzoxMDFENDAwMEU0MDAyMkM0NzQxOUJFMDQwMEU4MUNGRkExNjIxMkU2N0MKKzoxMDFENTAwMEZFRTQwMDIyQzQ3NEU0QkUwQzAwRTgwQkZGRUJEQ0ExM0YKKzoxMDFENjAwMDYyMTJFNkZFRTQwMDIyQzQ3NUVERTQwNDA3RTQwNEExNzcKKzoxMDFENzAwMDVFMTJFNkZFRTQwNDFGRTQwNEI4MDA4MEJBMjJGRkVGMUUKKzoxMDFEODAwMDYxQ0Y2MDFFMDYyQkMwOEVEOEExNUMxMkU2RkVFNDgwRjcKKzoxMDFEOTAwMDg0QzQ3NDA4MzNGNkU4NTNGRUVCRUU5MEI4MDA4MEJBQzIKKzoxMDFEQTAwMDIyRkZFRjA3MUY2MUNGOTA2MDFFMDYyQkMwOEVEOEExQzcKKzoxMDFEQjAwMDVFMTJFNkZFRTQ4MDg0QzQ3NDA4QkUwMjAwRTgyQ0ZFRDUKKzoxMDFEQzAwMEVCRURCODAwODBCQTIyRkZFRjA3MUY2MUNGOTA2MDFFRDUKKzoxMDFERDAwMDA2MkJDMDhFRDhBMTYwMTJFNkZFRTQ4MDg0QzQ3NDA4OEQKKzoxMDFERTAwMEJFMDQwMEU4MDZGRUVCRURCODAwODBCQTIyRkZFRjA3NjQKKzoxMDFERjAwMDFGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMTYyMTJFNkZFMzYKKzoxMDFFMDAwMEU0ODA4NEM0NzQwOEJFMDYwMEU4RTBGREVCRURCODAwOTEKKzoxMDFFMTAwMDgwQkEyMkZGRUYwNzFGNjFDRjkwNjAxRTA2MkJDMDhFOTUKKzoxMDFFMjAwMEQ4QTE1QzEyRTZGRUU0MDAyMkM0NzQxODMzRjZFODM3NDkKKzoxMDFFMzAwMEZFQTE2MDEyRTZGRUU0ODA4NEM0NzRFNUJFMDQwMEU4RkUKKzoxMDFFNDAwMEFBRkRFQkREQTE2MDEyRTZGRUU0ODA4NEM0NzVFREExN0QKKzoxMDFFNTAwMDVDMTJFNkZFRTQwNDA3RTQwNDFGQjgwMDgwQkEyMkZGMjcKKzoxMDFFNjAwMEVGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMTVFMTJFNkZFRjkKKzoxMDFFNzAwMEU0MDAyMkM0NzQxOUJFMDQwMEU4RUNGREExNjIxMkU2N0QKKzoxMDFFODAwMEZFRTQ4MDg0QzQ3NEU0QkUwNjAwRTg1RkZERUJEQ0ExRTAKKzoxMDFFOTAwMDYyMTJFNkZFRTQ4MDg0QzQ3NUVEQTE1RTEyRTZGRUU0MDMKKzoxMDFFQTAwMDA0MDdFNDA0MUZCODAwODBCQTIyRkZFRjYxQ0Y2MDFFNzAKKzoxMDFFQjAwMDA2MkJDMDhFRDhBMTVDMTJFNkZFRTQ4MDg0QzQ3NDE4QTAKKzoxMDFFQzAwMDMzRjZFODI3RkRBMTYwMTJFNkZFRTQwMDIyQzQ3NEU1QzMKKzoxMDFFRDAwMEJFMDgwMEU4OTJGREVCRERBMTYwMTJFNkZFRTQwMDIyMDAKKzoxMDFFRTAwMEM0NzVFREU0MDQwN0U0MDQxRkI4MDA4MEJBMjJGRkVGRDQKKzoxMDFFRjAwMDYxQ0Y2MDFFMDYyQkMwOEVEOEExNUUxMkU2RkVFNDgwODQKKzoxMDFGMDAwMDg0QzQ3NDE5QkUwMjAwRThFMkZDQTE2MjEyRTZGRUU0OTkKKzoxMDFGMTAwMDAwMjJDNDc0RTRCRTBDMDBFODRERkRFQkRDQTE2MjEyQUIKKzoxMDFGMjAwMEU2RkVFNDAwMjJDNDc1RURFNDA0MDdFNDA0MUZCODAwRjMKKzoxMDFGMzAwMDgwQkEyMkZGRUY2MUNGOTA2MDFFMDYyQkMwOEVEOEExMjEKKzoxMDFGNDAwMDVDMTJFNkZFRTQ4MDg0QzQ3NDE4MzNGNkU4OURGQ0ExQkMKKzoxMDFGNTAwMDYwMTJFNkZFRTQ4MDg0QzQ3NEU1QkUwNDAwRTg4Q0ZDRjQKKzoxMDFGNjAwMEVCRERBMTYwMTJFNkZFRTQ4MDg0QzQ3NUVEMDcxRkI4QzYKKzoxMDFGNzAwMDAwODBCQTIyRkZFRjYxQ0Y2MDFFMDYyQkMwOEVEOEExNzEKKzoxMDFGODAwMDVFMTJFNkZFRTQ4MDg0QzQ3NDE5QkUwMjAwRTg1Q0ZDQzQKKzoxMDFGOTAwMEExNjIxMkU2RkVFNDgwODRDNDc0RTRCRTA2MDBFODRCNEQKKzoxMDFGQTAwMEZDRUJEQ0ExNjIxMkU2RkVFNDgwODRDNDc1RUQwNzFGNDEKKzoxMDFGQjAwMEI4MDA4MEJBMjJGRkVGNjFDRjkwNjAxRTA2MkJDMDhFNjIKKzoxMDFGQzAwMEQ4OTAyQUMwRTZGRUU0Q0VBODAxNzQxNDMzREJFOEQ1MkQKKzoxMDFGRDAwMEY2RUJFRjkwQjgwMDgwQkEyMkZGRUYwNzFGNjFDRjkwQjkKKzoxMDFGRTAwMEY2MDYwNTAxMDE3NUVEQjAwMUU2RkVFNENFQTgwMTc0MjgKKzoxMDFGRjAwMEUzQkIwNDAwRThBRkY2RUJDOTkwNjAxRTA2MkJDMDhFNzEKKzoxMDIwMDAwMEQ4OTBGQjkwRkEyQUMwRTZGRUU0Q0VBODAyNzQxMzMzRkYKKzoxMDIwMTAwMERCRThDQ0Y4RUJFQ0I4MDA4MEJBMjJGRkVGMDcxRjYxRDkKKzoxMDIwMjAwMENGOTBBODA0NzRGMDMzREJFODVCRjdFQkQ1OTA2MDFFMkIKKzoxMDIwMzAwMDA2MkJDMDhFRDg5MEZCOTBGQUIwMDFFNkZFRTRDRUE4NDUKKzoxMDIwNDAwMDAyNzQxNUJCMDQwMEU4OTdGOEVCRUI5MEI4MDA4MEJBNzcKKzoxMDIwNTAwMDIyRkZFRjA3MUY2MUNGOTBBODA0NzRGMEJCMDQwMEU4RDMKKzoxMDIwNjAwMDI0RjdFQkQyNkEwMDFGQzYwNjkzMTIwOTlDMEVFODZCOTgKKzoxMDIwNzAwMEYyOTA2QTAwMUZDNjA2OTMxMjI5OUMwRUU4NURGMjkwNEEKKzoxMDIwODAwMDcyMjA3MjIwNzIyMENFMUQ5MjFDRTYxQzFBMUU3MjIwMzUKKzoxMDIwOTAwMDgyMURBRTFFMzgxRjcyMjA4MjFENzIyMDcyMjAzODFGRDIKKzoxMDIwQTAwMDcyMjA3MjIwNzIyMEY0MURCQzFDMzQxRDY0MUU3MjIwMkMKKzoxMDIwQjAwMEE4MURGMjFFNzgxRjcyMjBBODFENzIyMDcyMjA3ODFGQTIKKzoxMDIwQzAwMEZDQjk0MDAwOENDQkI4NjQyMDJCRkZBQjkzQUI5M0UyMDAKKzoxMDIwRDAwMEZBQzcwNjRDMDBBODExODMzRTQ0MTIwMDc1MjBDNzA2QkIKKzoxMDIwRTAwMDNDMDAwODRCQzcwNjMwMDBCQTFGQzcwNjM0MDBGQTFGNzEKKzoxMDIwRjAwMEY2MDYwNTAxMDE3NTA2QzcwNjM4MDAyRTIwQzNDNzA2N0YKKzoxMDIxMDAwMDNDMDA1NjRCMzNEQjhBMUU1NDEyQzFFMzAyMDIxRTU2QkEKKzoxMDIxMTAwMDEyMkU4Qjg3ODAyMEEzMzAwMDhBMUU1NTEyQzFFMzAyNDUKKzoxMDIxMjAwMDAyMUU1NzEyMkU4Qjg3QTAyMEEzMzQwMEMzOEI4NjlFREQKKzoxMDIxMzAwMDAwRTZGRTg2QzRFNkQwQzM4Qjg2OUUwMEU2RkUzM0QyNjAKKzoxMDIxNDAwMDhBRDRDMzUxQjkxMDI3RTQwQTkwOTA4NEMwNzQwNUUyODAKKzoxMDIxNTAwMEY2NTlGOUMzNTlGOEMzODRDMDc4MUU1MThBRTg4QUM4NzEKKzoxMDIxNjAwMEI4MDEwMEQzRTAwOTg2OTgwMDNBQUVBMDAwNTk3NTEwNzYKKzoxMDIxNzAwMEU4QTlFNTgzNEUyNjAyRjlDMzk4ODk4Njk4MDBFQkYwMUEKKzoxMDIxODAwMEY4QzM4NEMwNzgxMjUxOEFFMDhBQzhCODAxMDBEM0UwNEQKKzoxMDIxOTAwMDU5RjdEMDIxODY5ODAwQzNDNzg2OTgwMDAwMDBDMzgzRjIKKzoxMDIxQTAwMEMyMDQ4QTg2QTYwMDBDMDRFRTgzRUEwNEMzRTg5M0ZGMDcKKzoxMDIxQjAwMDcyMDRCMDgyRTYwQUMzOEI0NjI2QThGRDc0MTE4QTg2OTMKKzoxMDIxQzAwMEE1MDBBODA2NzQwODI0Rjk4ODg2QTUwMEU2MENDM0Y2QzUKKzoxMDIxRDAwMEM0MDE3NDBBOEE4NkE1MDAyNEZCMEMwMkVCMENBODAyMzkKKzoxMDIxRTAwMDc1MEY4QTg2QTUwMDI0RkQwQzA0M0E4NkE1MDA3NUQ4RDMKKzoxMDIxRjAwMEMzOEE4NkE1MDBFQkNGRTREODMzREI4QUQ4QzBFQjA0RDIKKzoxMDIyMDAwMDJFOEE5RjY2MTc4ODlFQTkwMDhCNUUyNjgwRTMzRkY2ODQKKzoxMDIyMTAwMEM3MDQ3NDA3QTgxMDc1MDM4MENCNDBGNkM3MDg3NDA3N0QKKzoxMDIyMjAwMEE4ODA3NTAzODBDQjQwODg1RTI2OEE4NkE1MDBGNkMzMDkKKzoxMDIyMzAwMEZENzQwREE4MDY3NDA4MjRGOTg4ODZBNTAwRTYwQ0MzNzEKKzoxMDIyNDAwMEY2QzcwMTc0MDQwQzAyRUJGMEY2QzMwMjc1RTkwQzA0NDYKKzoxMDIyNTAwMEVCRTdDNDA0QzQwNDg1MDQ1OTA0NDgwNDQxMDRDMzAzREYKKzoxMDIyNjAwMDgyMDM0MTAzODIwMjU3MDI0MTAyODIwMTQxMDE4MjAwM0UKKzoxMDIyNzAwMDQxMDA0RTAyQUQwMTU3MDEyRDAwMkIwMDI3MDAyMTAwMjcKKzoxMDIyODAwMDE2MDBGNDA0RjQwNEEzMDQ2RjA0NUIwNDUxMDRGNDAzODMKKzoxMDIyOTAwMEEzMDM1MTAzQTMwMjZEMDI1MTAyQTMwMTUxMDFBMzAwNDQKKzoxMDIyQTAwMDUxMDA2MjAyRDkwMTZEMDEzODAwMzYwMDMxMDAyOTAwNjkKKzoxMDIyQjAwMDFCMDA1MTU3QkYwMjAwRUIwRjkwNTE1NkJGMDEwMEVCQkUKKzoxMDIyQzAwMDA3OTA1MTU2QkYwMzAwOTAzQzE5NzYwMkIwMTc5ODhCQzcKKzoxMDIyRDAwMEYwOEE4MkM0MDAyQUU0OEJGMDgzRkUxODczNDZEMUU2QUMKKzoxMDIyRTAwMDJFOEI4QzUyMjJGNzQ2Mzg4MDAwNzQwNTJFOEI4QzgyMDAKKzoxMDIyRjAwMDIyRjdDNzAyMDA3NDEyM0I4RTk0MDA3NDBDODk4RTk0RUUKKzoxMDIzMDAwMDAwOEFDNUU2RUM4QUMxRTZFNEY3QzcwMTAwNzQxMjNCMTcKKzoxMDIzMTAwMDhFOTYwMDc0MEM4OThFOTYwMDhBQzVFNkY4OEFDMUU2MEUKKzoxMDIzMjAwMEYwNUU1OUMzNzcwNjhCOEU4RTAwRUJDNThCOEU5MDAwQzYKKzoxMDIzMzAwMEVCQkZENTAzRjYwMDNFMDAxMDAwMDQwMENBMDQzMzAxRDEKKzoxMDIzNDAwMDREMDAxNDAwMDUwMDAxMDMwNTA3MDkwMDAxMDIwMzA0MDQKKzoxMDIzNTAwMDgwODQxRTAwQTAyNTI2MDAwMDAwNjA4QkYwMzNGRjJFMzUKKzoxMDIzNjAwMEExNTAyMzJFOEIxNjUyMjNCQjMyMjNGNzQ2Mzg4MDAwMTAKKzoxMDIzNzAwMDc0MEMyRUExNTQyMzJFOEIxNjU2MjNCQjNDMjNCOTA1NzcKKzoxMDIzODAwMDAwMkUzQjMxNzMwQTQ3NDdFMkY3QjhGRkZGRUIxRDkwODEKKzoxMDIzOTAwMEQxRUYyRThBOEQ0NjIzMkFFREQxRUFEMUQ4RTJGQUY3ODEKKzoxMDIzQTAwMEY2MDUwMjAwQzFFODAyMkU4QUE1NEIyMzJFQTM1ODIzNkUKKzoxMDIzQjAwMDYxMkVBMTU4MjNDMzA4MDAyMDAwODAwMDAwMDI2MDA5OUMKKzoxMDIzQzAwMDA4MDAyMDAwODAwMDAwMDIwMDA4MDAwMDAxMDAwMjAwNTgKKzoxMDIzRDAwMDAzMDAwNDAwNTI1NjU3ODVDMDc0MDUzRDAxMDk3NjAzNzkKKzoxMDIzRTAwMEI4MDEwOUJGNUIwMUY3NDYzODgwMDA3NDAzQkZCMjAxMzIKKzoxMDIzRjAwMDMzRjYyRTNCODRCNjIzNzYwNDQ2NDZFQkY1RjdFNzJFRkMKKzoxMDI0MDAwMDhCQkNDMDIzMDNDNzgzRDIwMEQxRTdGN0Y3MkU4QUE0ODEKKzoxMDI0MTAwMENBMjM1RjVFNUFDM0U0M0U4MEJFQzMwMDAzNzUwQ0Y3NTcKKzoxMDI0MjAwMDQ2N0EyMDAwNzQwNTBDODBFNjNFQzMyNDdGRTYzRUMzNTYKKzoxMDI0MzAwMDI0MDM4ODg2QzMwMDhBRTBFNDEwMjRGQzBBQzRFNjEwNjIKKzoxMDI0NDAwMDgwOEVBMTAwNDJFOENFRkZDMzkwNTY4QkYwODNFNjA3NTIKKzoxMDI0NTAwMEQxRTYyRUZGQTQ1ODI0OTA2ODI0NkMyNDcwMjQ3NDI0QTAKKzoxMDI0NjAwMDc4MjQ4NzI0ODcyNDg3MjRCNDAwRUIwRUI0QzBFQjBBQjkKKzoxMDI0NzAwMEI0NDBFQjA2QjQyMEVCMDJCNEEwRTQxMDI0MUYwQUM0NUQKKzoxMDI0ODAwMEU2MTA4MDhFQTEwMDQyNUVDMzkwM0MwMjc3MTI4QUUwODMKKzoxMDI0OTAwMEU0MTAyNEYzQzBFNDAyMEFDNEU2MTA4MDhFQTEwMDQyRDYKKzoxMDI0QTAwMEMzOTA4QjVFMzg4NEMwNzQxRjNDMDI3NDIwODNDQjA4QjkKKzoxMDI0QjAwMDhCNDYyRTNCNDYzQzc3MENFODg4RkM3MjA3QjAyNEU2M0UKKzoxMDI0QzAwMDBBODNDQjEwODk1RTM4QzM4M0UzRjdFQkY3RjdDMzEwQjkKKzoxMDI0RDAwMDAwNzRGNUU4NkRGQzcyRUM4QTg2QzAwMEU2MzhCMDIzMjMKKzoxMDI0RTAwMEU2MEFFQkUwOEI1RTM4OEI0NjJFM0I0NjNDRTREODc3MjEKKzoxMDI0RjAwMDBCMjRGRTgwQ0IxMkU2RDg4OTVFMzhDMzBDMDE4MENCNUEKKzoxMDI1MDAwMDAyRUJGMzUwMzNEQkMxRTgwNDI1MEYwRjhBRDgyRThBODMKKzoxMDI1MTAwMDg3NjYxNzhBREMyRThBQTc2NjE3MDk0NjNFNThDMzUwN0QKKzoxMDI1MjAwMDMzREJDMUU4MDQyNTBGMEY4QUQ4MkU4QTg3NjYxNzhBMDUKKzoxMDI1MzAwMERDMkU4QUE3NjYxN0Y3RDAyMTQ2M0U1OEMzOEI0NjNFNEQKKzoxMDI1NDAwMDMzREI4QUQ4MEFEQzJFOEE4Nzc2MTdFNjJDOEFFMEU0MDkKKzoxMDI1NTAwMDJBMjQwRjBBQzRFNjJBOEE4NkE1MDA4NEU0NzUwREE4RjkKKzoxMDI1NjAwMDgwNzQxMTI0N0Y4ODg2QTUwMEU2MENDM0E4ODA3NTA0QkEKKzoxMDI1NzAwMDBDODBFQkYxQzMxRTYwMzNDOTMzRDIzM0Y2OEVEOThEOTQKKzoxMDI1ODAwMEJFRkQwMDU3OEIwNTg0QzA3NDE2OEJEMTQyOEJGRTRGNjUKKzoxMDI1OTAwMDc4MDkzOEEzRTQwMDc0MDg0Rjc5Rjc4OEEyRTQwMDQ2NkMKKzoxMDI1QTAwMDVGODNDNzA5NDE4M0Y5MTA3MkQ5ODlCNjg2MDA4OTk2N0QKKzoxMDI1QjAwMDg0MDA2MTFGQzM1M0M3NDY2NjAwMDA4QjQ2NjRBOTQwNzAKKzoxMDI1QzAwMDAwNzQwREIzMDBBOTgwMDA3NDAyQjM3Rjg4OUVDMTAwMUYKKzoxMDI1RDAwMDMyREJBOTAyMDA3NDAzODBDQjQwQTkwMDQwNzQwMzgwNjEKKzoxMDI1RTAwMENCMDJBOTAwODA3NDAzODBDQjAxQTkzMDFFNzQwMzgwNDQKKzoxMDI1RjAwMENCQkNBOTAwMjA3NDAzODBDQjA4QTkwNDAxNzQwMzgwMUMKKzoxMDI2MDAwMENCMTBBOTA4MDA3NDAzODBDQjIwODg5RUMyMDA1QkMzNTYKKzoxMDI2MTAwMDA2NTE1NzUwMTYwNzhEQkVDNDAwQjkxRjAwMzNDMEFBMUIKKzoxMDI2MjAwMDQwRTJGQzhCODY5MjAwODk4NjhFMDA4OTg2OTAwMDU4NTUKKzoxMDI2MzAwMDVGNTkwN0MzRTREOEMwRTgwNDUzMjUwRjAwOEJEODJFOTgKKzoxMDI2NDAwMDhBODc2NjE3ODg4NkE5MDA1QUMzMDg4NkFDMDBDNjg2QTIKKzoxMDI2NTAwMEJBMDAwMUIwMEVFOEVBRTlDM0FEMzZBM0I0MTNBRDM2NTMKKzoxMDI2NjAwMEEzQjYxM0FEMzZBM0I4MTM4M0U5MDYzNkY3MDZCNjEzM0YKKzoxMDI2NzAwMDBGMDBDMzhBNDYyNkY3NDY0ODgwMDA3NDAyMEMxMDg4NzMKKzoxMDI2ODAwMDg2QkQwMDMyQzA4MzdFMUEwMDc1MEU4QjVFNDA0MzgwOEIKKzoxMDI2OTAwMEUzRkUzQjVFMDg3NTAyMEMwMTgzN0UzQTAwNzUwRDFFNTkKKzoxMDI2QTAwMEM1NUUxNDhCMUYxRjg1REI3NTAyMEMwMkY3NDYzODEwQzAKKzoxMDI2QjAwMDAwNzQwMjBDMDQ4QjVFN0FGN0MzMDIwMDc0MDIwQzA4RUIKKzoxMDI2QzAwMEY3QzMwNDAwNzQwMjBDMTBGN0MzMDgwMDc0MDIwQzIwNTYKKzoxMDI2RDAwMEY3QzM0MDAwNzQwMjBDNDA4ODg2QkYwMEMzOTA2QTAwQjQKKzoxMDI2RTAwMDFGQzYwNjkzMTIwRDlDMEVFOEYxRUI5MEIwMDJFNkRBREQKKzoxMDI2RjAwMEY4QzMzM0MwRTZEQUY4QzNCMDAxRTZEOEY4QzMzM0MwOTQKKzoxMDI3MDAwMEU2RDhGOEMzQjBGRkU4NEVGQUU4QTFGQUY4QzNBQzQ5M0UKKzoxMDI3MTAwMEU4QUZGQkY4QzM5MEFDNDlFODE1RkRGOEMzOTBBQzQ5QUQKKzoxMDI3MjAwMEU4NjdGREY4QzM5MEFDNDlFODFGRkRGOEMzOTBBQzQ5RDkKKzoxMDI3MzAwMEU2MzRGOEMzQUM0OUU2MzZGOEMzQUM0OTNDMDI3NzFGMkYKKzoxMDI3NDAwMDg0QzA3NTFERTQxNDI0RUZFNjE0RTQxMjI0M0ZFNjEyNUQKKzoxMDI3NTAwMEU0MTZBODA0NzQwOUU4RUFGOTcyMDRCMDE4RTYwQUY4NjUKKzoxMDI3NjAwMEMzOEFFMEU0MTQwQzEwRTYxNEU0MTIwQ0MwRjZDNDAxQjEKKzoxMDI3NzAwMDc0MDIyNDdGRTYxMkY4QzNBQzQ5RTgyNUZERjhDMzkwNDMKKzoxMDI3ODAwMEI4MDA0MEU4N0RGREU4QjRGREU4QThGRUIwMDFFOEI5NzYKKzoxMDI3OTAwMEZFRjhDMzkwQjgwMDQwRTg4NUZERThBMEZERjhDMzkwQkUKKzoxMDI3QTAwMEI4MDAxMEU4NURGREU4OTRGREU4ODhGRUIwMDhFODk5RkYKKzoxMDI3QjAwMEZFRjhDMzkwQjgwMDEwRTg2NUZERTg4MEZERjhDMzkwMEUKKzoxMDI3QzAwMEI4MDA4MEU4M0RGREU4NzRGREU4NjhGRUIwMDJFODc5RjUKKzoxMDI3RDAwMEZFRjhDMzkwQjgwMDgwRTg0NUZERTg2MEZERjhDMzkwQkUKKzoxMDI3RTAwMEI4MDAyMEU4MURGREU4NTRGREU4NDhGRUIwMDRFODU5QjMKKzoxMDI3RjAwMEZFRjhDMzkwQjgwMDIwRTgyNUZERTg0MEZERjhDMzkwM0UKKzoxMDI4MDAwMEFDNDlFODQ4MTRFNDNDMjRFNzBBQzRFNjNDRjhDMzkwMjkKKzoxMDI4MTAwMEI4RkMzQjg5NDY3Q0U0M0MwQzE4RTYzQ0Y4QzNFNDEyNjcKKzoxMDI4MjAwMDBDMDJFNjEyRjhDM0U0MTIyNEZERUJGNkU4QjVGQ0Y4NUUKKzoxMDI4MzAwMEMzOTA4MzY2MzhGREY4QzNBQzQ5QTgwMTc0MDY4MzRFODMKKzoxMDI4NDAwMDdBMjBFQjA0ODM2NjdBREZFOENCRkJGOEMzOTA4QTg2QjQKKzoxMDI4NTAwMEE1MDAwQzAyMjRGQjg4ODZBNTAwRTYwQzgxNEUyNjAxMEIKKzoxMDI4NjAwMDIwQUM0OTMyRTQ4OTQ2NkU4MzRFNDgwODQ5NDZGOUMzOTQKKzoxMDI4NzAwMDhBODZBNTAwMEMwMjI0RkI4ODg2QTUwMEU2MEM4MTRFMDIKKzoxMDI4ODAwMDI2MDEyMEFDQjQwQUY2RTRFQkQ4RThGQTEzRTQzQzI0QzEKKzoxMDI4OTAwMEY4MEFDNEU2M0NGOEMzOTBBRDQ5NDk4OTQ2NjRBOTAxRTkKKzoxMDI4QTAwMDAwNzQxQjhCRDg4M0UzRkE3NTFBQTkwNDAwNzQwRkU0MzMKKzoxMDI4QjAwMDNFMEMwMkU2M0VCODM4NDQ4OTQ2NjJGOEMzOTBFNDNFRDYKKzoxMDI4QzAwMDI0RkNFQkVGRTQzRTI0RkNFNjNFRThFOEZDQjhBQTQwM0EKKzoxMDI4RDAwMEVCRTZFODZFRjg3MjA1QjAxOEU2MEFGOEMzOTBBQzQ5NkEKKzoxMDI4RTAwMEU4Q0ZGOUY4QzM5MEFDNDlFOENGRjlGOEMzOTBFODY4QUQKKzoxMDI4RjAwMEZENzUwNjMyQzBFNkRBRjhDM0IwMDJFNkRBMzZBMEI0RjcKKzoxMDI5MDAwMDEzMjQxMDM0MTBFODE2MDEzNkExQjQxM0E5MDEwMDc0ODEKKzoxMDI5MTAwMDA1RThGQ0ZFRUIwRUE5MDIwMDc0MDQzMkMwRUIwMkIwMjUKKzoxMDI5MjAwMDAxRThERUZFMzZBMUI0MTNFOEI1MTNFNDNDMjRGODBBNEUKKzoxMDI5MzAwMEM0RTYzQzM2QTFCNDEzQzFFODA1MjUwMTAwRThGQUZFNUYKKzoxMDI5NDAwMDM2QTBCNTEzMjQxMEU4NTlGQjMyQzAzNjhBMjZCNTEzRDkKKzoxMDI5NTAwMEY2QzQwNDc0MDlGRUMwRjZDNDA4NzQwMkZFQzBFOERCQzUKKzoxMDI5NjAwMEZEMzZBMUI2MTMyNTBGMDBFODU3RjkzNkExQjYxM0MxRkQKKzoxMDI5NzAwMEU4MDQyNTAzMDBFOEI4RkEzNkExQjYxM0MxRTgwNTI1MzYKKzoxMDI5ODAwMDAyMDBFODA1RkIzNkExQjYxM0Y2QzQwMTc1MDQzMkMwOTcKKzoxMDI5OTAwMEVCMDk4MEU0MDJEMEVDQjAwMjJBQzRFOEFDRkEzNkY2QzcKKzoxMDI5QTAwMDA2QjcxMzQwNzQwNUU4ODNGRUVCMDNFODg0RkUzNkY2QjEKKzoxMDI5QjAwMDA2QjcxMzIwNzQwNUU4NjVGRUVCMDNFODY4RkVGOEMzNkMKKzoxMDI5QzAwMEU0MTIwQzAxRTYxMkY4QzNFNDEyMjRGRUVCRjZFNDE0NjAKKzoxMDI5RDAwMDI0RjAwQzA1RTYxNEU0MkEyNEYwMEMwNkU2MkFGOEMzRDkKKzoxMDI5RTAwMEU0MkEyNEYwRTYyQUU0MTQyNEYwMEMwN0U2MTRGOEMzRTEKKzoxMDI5RjAwMEFENDk0OUU4NjRGOTg5ODY4RTAwRjhDM0FENDk0OUU4RDQKKzoxMDJBMDAwMDU4Rjk4OTg2OTAwMEY4QzM4MzRFMjYwNEU4QThGN0Y4QTEKKzoxMDJBMTAwMEMzOTA4MzY2MjZGQkU4OUVGN0Y4QzM5MEFDNDk4NEMwNTgKKzoxMDJBMjAwMDc1MERFNDEwMjRFRkU2MTA4MDhFQTEwMDQyRjhDM0U0OTcKKzoxMDJBMzAwMDEwMEMxMEVCRjE5MEFDNDkzQzAyNzYwMjMyQzBDMEUwQzEKKzoxMDJBNDAwMDA0QTgyMDc0MDIwQzA4MjQxODhBRTBFNDEyMjRFNzBBN0YKKzoxMDJBNTAwMEM0RTYxMjgwOEVBMTAwNDRGOEMzQUM0OTg4ODZDMDAwNDkKKzoxMDJBNjAwMEY4QzNBQzQ5RTYzQUY4QzNBQzQ5ODRDMDc0MDhFNDEyMzAKKzoxMDJBNzAwMDBDMDRFNjEyRjhDM0U0MTIyNEZCRUJGNkFDNDlFOEQ2RUEKKzoxMDJBODAwMEY2NzMwM0U4MjdGN0Y4QzNFNDEyQTgwMjc0MDQyNEZERTAKKzoxMDJBOTAwMEU2MTJCOEYwMDBFODg3RkE4MTY2MjZGRkYzRTg1N0Y3RjgKKzoxMDJBQTAwMEU4OUFGQUY4QzM5MEI4ODAwMEU4NTdGQTgwNEUyNzA4RjEKKzoxMDJBQjAwMEU4NDRGN0U4ODdGQUY4QzNCODgwMDBFODYxRkE4MTY2NkQKKzoxMDJBQzAwMDI2RkZGN0U4MzFGN0U4NzRGQUY4QzM5MEI4MTAwMEU4ODkKKzoxMDJBRDAwMDMxRkE4MDRFMjcwNEU4MUVGN0U4NjFGQUY4QzNCODEwMEYKKzoxMDJBRTAwMDAwRTgzQkZBODE2NjI2RkZGQkU4MEJGN0U4NEVGQUY4QjAKKzoxMDJBRjAwMEMzOTAzM0MwQUM0OTNDMDE3MzA0QjAwMUVCMDYzQzBDRkQKKzoxMDJCMDAwMDc2MDJCMDBDODk0NjFDRjhDMzkwODE0RTI2MDAyMDhBQkMKKzoxMDJCMTAwMDg2QTUwMDBDMDIyNEZCODg4NkE1MDBFNjBDODM0RTI2QzEKKzoxMDJCMjAwMDAxRjhDMzkwODE0RTI2MDA0MDhBODZBNTAwMEMwMjg4RDkKKzoxMDJCMzAwMDg2QTUwMEU2MENGOEMzOTBBQzQ5NTBFODA1RjY1ODcyM0IKKzoxMDJCNDAwMDA4RTYzOEIwMjNFNjBBRjhDM0Y5QzM5MEFDNTBBREU4MDQKKzoxMDJCNTAwMDgyRjg1QUY2QzIwMTc0MTIzOTg2OTYwMDc0MEM4OTg2N0UKKzoxMDJCNjAwMDk2MDBFNkYwODZFMEU2Rjg4NkUwRjZDMjAyNzQxMDM5RDgKKzoxMDJCNzAwMDg2OTQwMDc0MEE4OTg2OTQwMEU2RTQ4NkUwRTZFQzgzOTUKKzoxMDJCODAwMEU5MDNDMzkwRTQxNjg4ODZCQzAwRThFNkZBMzNEQkU0ODgKKzoxMDJCOTAwMDBDQTgwNjc0MDM4MENCMDFBODEwNzQwMzgwQ0IwMkE4OTQKKzoxMDJCQTAwMDgwNzQwMzgwQ0IwNEU0MTI4QUUwMjQxODBBRDhFNERBQTMKKzoxMDJCQjAwMEY2QzQwMjc0MDdBODQwNzUwMzgwQ0IyMEE4MDI3NTA5RUIKKzoxMDJCQzAwMEU0MkFBODBGNzQwMzgwQ0I0MEY3NDYzODAyMDA3NDA5NEEKKzoxMDJCRDAwMEU0RDhBODAxNzUwMzgwQ0I4MDg4OUVCRTAwRkU4NkI0MzEKKzoxMDJCRTAwMDAwQjAwQUU4NUNFNEY4QzNBQzQ5M0MwMjc0NDE3NzFGQ0EKKzoxMDJCRjAwMDUwRTg0RkY1NTg3MjBDODRDMDc0MEFCMDEyRTYwQTgwOEYKKzoxMDJDMDAwMDRFMzgwMUY4QzNCMDExRTYwQTgwNjYzOEZFRjhDMzhCNkYKKzoxMDJDMTAwMDQ2MzgyNUZGRjc4OTQ2MzhBOTAwMDQ3NUU2OEE4NkE1NTcKKzoxMDJDMjAwMDAwQTgxMDc1REUwQzEwODg4NkE1MDBFNjBDRjhDMzgxOUMKKzoxMDJDMzAwMDRFMzgwMDA4OEE4NkE1MDBBODEwNzRDNzI0RUZFQkU3NzkKKzoxMDJDNDAwMEFENDk0OTNDMDE3MjExM0MwQzc3MEQ1MDhBRTBFNDE0MDcKKzoxMDJDNTAwMDI1RjAwRjBBQzRFNjE0NTg4QUM0ODRDMDc0MDJFNjQyMDAKKzoxMDJDNjAwMEY4QzNFOENGRjlGRTg2QjkwMEIwMEVFOEQ0RTNGOEMzQTQKKzoxMDJDNzAwMDNBODZBRjAwNzQxRjg4ODZBRjAwOEFFMDgwQzIwNkIwMzMKKzoxMDJDODAwMEJGRUU4MEVBMDI4QUM0RUU4QTg2QTgwMDgwQzIwMkVFMDUKKzoxMDJDOTAwMDgwRUEwNjhBQzRDMzhCNDYzRTg1QzA4QTg2QTUwMDc0MzYKKzoxMDJDQTAwMDEyQTgwODc1MEQwQzA4ODg4NkE1MDA4MEMyMDJFRTgwNjcKKzoxMDJDQjAwMEVBMDJDM0E4MDg3NEZCMjRGN0VCRUM4QjQ2MjY4NEMwMTkKKzoxMDJDQzAwMDc0MTY4QTg2QTUwMEE4MDI3NDBEMjRGRDg4ODZBNTAwQzYKKzoxMDJDRDAwMDgzQzIwMkVFODNFQTAyQzM4QTg2QTUwMEE4MDI3NUY3QzIKKzoxMDJDRTAwMDBDMDJFQkU4NTI4M0MyMENFQ0MwRTgwNDg4ODZBOTAwMTEKKzoxMDJDRjAwMDhCNUUyNjgwRTMzRkY2QzcwNDc0MDdBODA4NzUwMzgwM0YKKzoxMDJEMDAwMENCNDBGNkM3MDg3NDA3QTgwMjc1MDM4MENCODA4ODVFQTUKKzoxMDJEMTAwMDI2OEE4NkE1MDA4NERCNzQxMEE4MDI3NDBBMjRGRDg4MjQKKzoxMDJEMjAwMDg2QTUwMDgzRUEwQUVFNUFDM0E4MDI3NUZBMEMwMkVCRTQKKzoxMDJEMzAwMEVFOTBGRkZGMDA0ODAwMzBCQTIwQzQxQTAwMTgwMDEyQkQKKzoxMDJENDAwMDAwMEMwMDA2MDAwMzAwMDI4MDAxQzAwMDYwMDAzMDAwOUIKKzoxMDJENTAwMDE4MDBDRDAxMDAwMTgwMDAxMDAwMTAwMDBFMDAwQzAwRDIKKzoxMDJENjAwMDA4MDAwMDAwMDAwMDA2MDAwNDAwMDMwMDAyMDAwMTAwNEIKKzoxMDJENzAwMDUyNTE1NjNDMUU3NzQ3OTg4QkYwOEE4MkM0MDAzMkU0NDkKKzoxMDJEODAwMDgzRkUxODc0M0Q4M0ZFMTk3NDNFODNGRTFFNzcyRkQxOTcKKzoxMDJEOTAwMEU2MkU4QjhDMzIyRDNCOEU5NDAwNzQyMjg5OEU5NDAwMEIKKzoxMDJEQTAwMDgzQzIwNjhBODZBODAwOEFFMDBDODBFRTgzRUEwNjhBM0YKKzoxMDJEQjAwMEMxRUU4M0MyMDI4QUM1RUU4M0MyMDQ4QUM0RUU1RTU5QTQKKzoxMDJEQzAwMDVBQzM4QjhFOEUwMEVCQ0U4QjhFOTAwMEVCQzg1MjUxODcKKzoxMDJERDAwMDNEMDUwMDc3MDNCODA1MDA4QkM4QkEwMjAwQjgwMEQwRTMKKzoxMDJERTAwMEY3RjEwNTAxMDBEMUU4NTk1QUMzOEI0NjdBQTgyMDc0M0YKKzoxMDJERjAwMDBCODBCRUMzMDAwMzc1MDQwQzAxRUIwMjI0RkU4OTQ2NjAKKzoxMDJFMDAwMDdBQzMyNDAzODg4NkMzMDA4QUE2QTgwMDhBREM4MEU0RUIKKzoxMDJFMTAwMEZDMEFDNDNBQzM3NDBCODg4NkE4MDA4M0MyMDZFRTgzRkEKKzoxMDJFMjAwMEVBMDZFOEM1RkZDMzAwMDgxODM4Mjg5MDNDMDQ3NzIzNTkKKzoxMDJFMzAwMDMyRTQ4QkQ4MkU4QTg3MjYyRThBQTZBODAwOEFEQzgwQzgKKzoxMDJFNDAwMEU0QzcwQUM0M0FDMzc0MEI4ODg2QTgwMDgzQzIwNkVFOUUKKzoxMDJFNTAwMDgzRUEwNkMzODRDMDc0MDJCMDA0OEFBNkE4MDA4QURDOTAKKzoxMDJFNjAwMDgwRTRGQjBBQzQzQUMzNzQwQjg4ODZBODAwODNDMjA2QjgKKzoxMDJFNzAwMEVFODNFQTA2QzM5MDhCNUUzODg0QzA3NDM0M0MwMjc0REYKKzoxMDJFODAwMDNCOEE4NkFGMDAwQzA0RThFNkZEOEI0NjJFM0I0NjNDQjEKKzoxMDJFOTAwMDc3MUJGN0MzMDAwNDc1MTU4MUNCMDAwNDgzQzIwMjhBMzcKKzoxMDJFQTAwMDg2QTUwMDI0RkE4ODg2QTUwMEVFODNFQTAyODk1RTM4QUEKKzoxMDJFQjAwMEMzOEE4NkFGMDAyNEZCRThCNkZERUJGMUY3QzMxMDAwMzAKKzoxMDJFQzAwMDc0RUZFQkVEODNDMjBDRUM4M0VBMENDMEU4MDQ4ODg2NTcKKzoxMDJFRDAwMEE5MDBDMzkwOEE4NkE3MDAwQzAxODg4NkE3MDA4QkRBMTgKKzoxMDJFRTAwMDgwQzIwOEVFOEJEM0Y4QzM4QTg2QTcwMDI0RkVFQkVBRTMKKzoxMDJFRjAwMDhBODZBNzAwMEMwMkVCRTI4QTg2QTcwMDI0RkRFQkRBQTMKKzoxMDJGMDAwMEIwRkZFODUyRjJFODk3RjJGOEMzQUM0OUU4NjFGRUY4ODYKKzoxMDJGMTAwMEMzOTBBQzQ5RThFQkZFRjhDMzkwQUM0OUU4MzVGRkY4NDQKKzoxMDJGMjAwMEMzOTBBQzQ5RTgwNUZGRjhDMzkwNTI4M0MyMDZCMEJGMTYKKzoxMDJGMzAwMEVFNTI4M0MyMDJBQzQ5RUU1QThBODZBODAwRUU1QUY4RDUKKzoxMDJGNDAwMEMzOTA1MjgzQzIwNkIwQkZFRTUyODNDMjA2RUJFNjkwMzYKKzoxMDJGNTAwMEFDNDkzQzAyNzcwRDg0QzA3NTBCOEE4NkFGMDAyNEZEMTYKKzoxMDJGNjAwMEU4MERGREY4QzM1MDhBODZBRjAwMEMwMkU4MDFGRDVCNTYKKzoxMDJGNzAwMDgzQzIwODhBODZBNzAwRjZDMzAxNzQwQzI0REY4ODg2MDIKKzoxMDJGODAwMEE3MDBFRTgzRUEwOEY4QzMwQzIwRUJGMkFDNDlFOEU1QjEKKzoxMDJGOTAwMEZFRjhDMzkwQjgwMDQwRTg2OUY1RThGOUZDRTgyNEZGQzIKKzoxMDJGQTAwMEIwMDFFOEE1RjZGOEMzOTBCODAwNDBFODcxRjVFOEU1OEYKKzoxMDJGQjAwMEZDRjhDMzkwQjgwMDEwRTg0OUY1RThEOUZDRTgwNEZGMzQKKzoxMDJGQzAwMEIwMDhFODg1RjZGOEMzOTBCODAwMTBFODUxRjVFOEM1RjgKKzoxMDJGRDAwMEZDRjhDMzkwQjgwMDgwRTgyOUY1RThCOUZDRThFNEZFMDUKKzoxMDJGRTAwMEIwMDJFODY1RjZGOEMzOTBCODAwODBFODMxRjVFOEE1Q0UKKzoxMDJGRjAwMEZDRjhDMzkwQjgwMDIwRTgwOUY1RTg5OUZDRThDNEZFQTUKKzoxMDMwMDAwMEIwMDRFODQ1RjZGOEMzOTBCODAwMjBFODExRjVFODg1NkIKKzoxMDMwMTAwMEZDRjhDMzkwQUM0OUU4MzQwQ0Y4QzM5MEI4RkMzQjg5ODkKKzoxMDMwMjAwMDQ2N0NGOEMzOEE4NkFGMDAwQzgwRTg0M0ZDRjhDMzkwNjYKKzoxMDMwMzAwMDhBODZBRjAwMjQ3RkVCRjI4QTg2QUYwMDBDNDBFODJGMkYKKzoxMDMwNDAwMEZDRjhDMzkwOEE4NkFGMDAyNEJGRUJGMkFDNDlBODAxMUMKKzoxMDMwNTAwMDc0MDc4MzRFN0EyMEVCMDU5MDgzNjY3QURGRTg4QUZENTkKKzoxMDMwNjAwMEY4QzM4M0MyMDY4QTg2QTgwMDBDNDA4ODg2QTgwMEVFQjIKKzoxMDMwNzAwMDgzRUEwNkFDNDkzMkU0ODk0NjZFODM0RTI2MDE4MzRFQ0MKKzoxMDMwODAwMDQ4MDhCMDA2RThCQkRGNDk0NkY5QzM5MDgzQzIwNjhBMDgKKzoxMDMwOTAwMDg2QTgwMDBDNDA4ODg2QTgwMEVFODNFQTA2QUNCNDBBMzUKKzoxMDMwQTAwMEY2RTRFQkQwRThFMDBCRjhDMzkwQUQ0OTQ5ODk0NjY0RkIKKzoxMDMwQjAwMEE5MDEwMDc0MTk4QkQ4ODNFM0ZBNzUwQUE5MDQwMDc0NzYKKzoxMDMwQzAwMDBEQjhFMjNGRUIwQkU4RUNGNEI4QUE0MEVCMDNCODM4REMKKzoxMDMwRDAwMDQ0ODk0NjYyRjhDMzhBODZBRjAwQTgwMjc0MEEyNEZEQjgKKzoxMDMwRTAwMEU4OERGQjBDMDJFODg4RkJGOEMzQUM0OUU4ODFGQ0Y4RUEKKzoxMDMwRjAwMEMzOTBBQzQ5RTg3OUZDRjhDMzkwRTg1Q0Y1NzUwNUU4NDUKKzoxMDMxMDAwMEU2RkRGOEMzRThDREZEMzZBMEI0MTMyNDEwMzQxMEU4NzIKKzoxMDMxMTAwMDI2MDEzNkExQjQxM0E5MDEwMDc0MDVFOEZFRkVFQjBFRUEKKzoxMDMxMjAwMEE5MDIwMDc0MDQzMkMwRUIwMkIwMDFFOEU4RkUzNkExNDcKKzoxMDMxMzAwMEI0MTNFOEFCMEIzNkExQjQxM0MxRTgwNTI1MDEwMEU4RDAKKzoxMDMxNDAwMDBDRkYzNkEwQjUxMzI0MTBFODJCRkQzMkMwMzY4QTI2QkEKKzoxMDMxNTAwMEI1MTNGNkM0MDQ3NDA5RkVDMEY2QzQwODc0MDJGRUMwQjgKKzoxMDMxNjAwMEU4RUZGRDM2QTFCNjEzMjUwRjAwRTgwM0ZDMzZBMUI2NDMKKzoxMDMxNzAwMDEzQzFFODA0MjUwMzAwRTg4OEZDMzZBMUI2MTNDMUU4QjIKKzoxMDMxODAwMDA1MjUwMjAwRThDREZDMzZBMUI2MTNGNkM0MDE3NTA0OEUKKzoxMDMxOTAwMDMyQzBFQjA5ODBFNDAyRDBFQ0IwMDIyQUM0RTg4Q0ZDMTcKKzoxMDMxQTAwMDM2RjYwNkI3MTM0MDc0MDVFODhERkVFQjAzRTg5NEZFOEYKKzoxMDMxQjAwMDM2RjYwNkI3MTMyMDc0MDVFODY5RkVFQjAzRTg3MEZFRTcKKzoxMDMxQzAwMEY4QzNGOEMzOEI0NjM4QTkwNDAwNzUyMzBEMDQwMDg5QTEKKzoxMDMxRDAwMDQ2Mzg4M0MyMDg4QjQ2MkUzQjQ2M0M3MzE0ODM0RTM4RDgKKzoxMDMxRTAwMDEwOEE4NkE3MDAyNEZFODg4NkE3MDBFRTgzRUEwOEY4RTYKKzoxMDMxRjAwMEMzOEE4NkE3MDAwQzAxRUJFRTkwOEI0NjM4QTkwNDAwMjkKKzoxMDMyMDAwMDc0MDYyNUZCRkY4OTQ2MzhGOEMzQUQ0OTQ5RThCRUZCODMKKzoxMDMyMTAwMDg5ODY4RTAwRjhDM0FENDk0OUU4QjJGQjg5ODY5MDAwRTMKKzoxMDMyMjAwMEY4QzM4MzRFMjYwNEU4OTJGQUY4QzM5MDgzNjYyNkZCMUYKKzoxMDMyMzAwMEU4ODhGQUY4QzM5MEFDNDk4NEMwNzUwNzgwOEVBMzAwNzMKKzoxMDMyNDAwMDA0RjhDMzgwQTZBMzAwRkJGOEMzQUM0OTgzQzIwODNDQzIKKzoxMDMyNTAwMDAyNzYwMjMyQzAzQzAxNzQxMjc3MEI4QTg2QTcwMDI0RTIKKzoxMDMyNjAwMEVGODg4NkE3MDBFRTgzRUEwOEY4QzM4QTg2QTcwMDBDRDkKKzoxMDMyNzAwMDEwRUJFRTkwNTI4M0MyMDZCMEJGRUU1MjgzQzIwNEFDOTQKKzoxMDMyODAwMDQ5RUU1QThBODZBODAwRUU1QUY4QzM5MDUyODNDMjA2QzUKKzoxMDMyOTAwMEIwQkZFRTUyODNDMjA4RUJFNjkwQUM0OUY4QzNBQzQ5MkMKKzoxMDMyQTAwMEU4QjRFRTczMDNFOEY3RUVGOEMzOEE4NkFGMDAyNDdGMzQKKzoxMDMyQjAwMEU4QkRGOUI4RjAwMEU4NjZGMjgxNjYyNkZGRjNFODIzN0UKKzoxMDMyQzAwMEZBRThEMkY5RjhDM0I4ODAwMEU4MzdGMjgwNEUyNzA4NTAKKzoxMDMyRDAwMEU4MTFGQUU4QzBGOUY4QzNCODgwMDBFODQxRjI4MTY2NjUKKzoxMDMyRTAwMDI2RkZGN0U4RkVGOUU4QURGOUY4QzM5MEI4MTAwMEU4NUEKKzoxMDMyRjAwMDExRjI4MDRFMjcwNEU4RUJGOUU4OUFGOUY4QzNCODEwMDgKKzoxMDMzMDAwMDAwRThGRkYxODE2NjI2RkZGQkU4RDhGOUY4QzNBQzQ5NzUKKzoxMDMzMTAwMEY4QzM4M0MyMDY4QTg2QTgwMDBDNDA4ODg2QTgwMEVFRkYKKzoxMDMzMjAwMDgzRUEwNkY4QzM5MDgzQzIwNjhBODZBODAwMjRCRkVCMEUKKzoxMDMzMzAwMEVBOTBBQzQ5OEFFMDgwQzIwQUVDODBFQTBBQTgyMDc0Q0MKKzoxMDMzNDAwMDA1OEFDNEVFRjhDMzA2NTE1NzhCNEUyNEUzMzQ0OTg5RUQKKzoxMDMzNTAwMDRFMjRGRjQ2MUE4RTQ2MDI4QjdFMjI4QUM0QUE4OTdFOUMKKzoxMDMzNjAwMDIyOEI0NjI2MjRGRDg5NDYyNjc1Mjk4QTg2QTUwMEE4MzMKKzoxMDMzNzAwMDAyNzUyMTgwQzIwMjBDMDI4ODg2QTUwMEVFODBFQTAyNTYKKzoxMDMzODAwMEVCMTJDNDdFMDAzQjdFMUU3NjBBNEYyNjg4MjU4OTdFN0UKKzoxMDMzOTAwMDAwRkY0NjFBNUY1OTA3RjhDMzkwQUNBRDgzRTkwMzg1NzcKKzoxMDMzQTAwMEMwNzQwNTNEMDAyMDcyMDVCOEZGRkZFQjAzQzFFMDAzQzgKKzoxMDMzQjAwMDNCODY5NDAwNzQyNjg5ODY5NDAwOEJEODUyODNDMjA2N0IKKzoxMDMzQzAwMDhBODZBODAwOEFFMDBDODBFRTgzRUEwNjhBQzNFRTgzMzAKKzoxMDMzRDAwMEMyMDI4QUM3RUU4M0MyMDQ4QUM0RUU1QUY4QzNCMDg4MTgKKzoxMDMzRTAwMDg4ODZCQzAwRTg4Q0YyMzNEQjhBODZBNTAwQTgwMjc0Q0MKKzoxMDMzRjAwMDAzODBDQjAxQTgwNTc0MDM4MENCMDJBODA4NzQwMzgwNjYKKzoxMDM0MDAwMENCMDRGNjg2QTcwMDEwNzQwMzgwQ0IxMDhBODZBOTAwMkYKKzoxMDM0MTAwMEY2QzMwNDc1MEE4M0MyMENFQzgzRUEwQ0MwRTgwNDhBODQKKzoxMDM0MjAwMEUwOEE4NkFGMDBBODgwNzQwOEY2QzQwMTc1MDM4MENCREIKKzoxMDM0MzAwMDIwRjY4NkE3MDAwMjc1MEFGNzQ2MzgwNDAwNzQwMzgwNTgKKzoxMDM0NDAwMENCNDA4ODlFQkUwMEZFODZCNDAwQjAwQUU4RjNEQkY4RUQKKzoxMDM0NTAwMEMzRkU4NkI0MDBCMDBBRThFOERCRjhDM0FDNDkzQzAyMUUKKzoxMDM0NjAwMDc0Mzc3NzEwODRDMDc0MDY4MDRFMzgwMUY4QzM4MDY2QzQKKzoxMDM0NzAwMDM4RkVGOEMzOEI0NjM4MjVGRkY3ODk0NjM4QTkwMDA0ODMKKzoxMDM0ODAwMDc1RUE4QTg2QTUwMEE4MDE3NUUyMEMwNTgzQzIwMjg4NDgKKzoxMDM0OTAwMDg2QTUwMEVFODNFQTAyRjhDMzgxNEUzODAwMDg4QTg2Q0EKKzoxMDM0QTAwMEE1MDBBODAxNzRDNjI0RkFFQkUyQUQ0OTQ5RjhDMzkwMUYKKzoxMDM0QjAwMEU4MTFGQUZFODZCOTAwQjAwRUU4ODZEQkY4QzNCMEZGNkIKKzoxMDM0QzAwMEU4QkZFQ0Y4QzM5MDgzNjY3QUZCQjAwMEU4NzNEQkY4RTIKKzoxMDM0RDAwMEMzOTBBQzQ5RTg1M0Q5NzIxMTM2ODgxRTFBMDEzNkEwNDAKKzoxMDM0RTAwMDhFMTIwQUMzNTJCQTAwMDFFRTVBRjhDM0FDNDkzMkU0NTQKKzoxMDM0RjAwMDM2QTM4NjEyMDUwNjAwMzY4QjFFODgxMjJCRDgzNjg5MTUKKzoxMDM1MDAwMDFFOEExMkY4QzM5MEFEOEJEOEFEODNFOTA0MDNDMzJCOTgKKzoxMDM1MTAwMDQ2NzY4OTQ2NzhGNzQ2N0EwMjAwNzQwQTgzNjY3QUZEMTEKKzoxMDM1MjAwMEI4MDAwMEU4MUNEQkY4QzMwNjE2MDdBQzQ5MjUwRjAwRkQKKzoxMDM1MzAwMDZCQzAwOThEQkVGRDAwMDNGOEFDNDkyNTBGMDBBQTg1QkMKKzoxMDM1NDAwMEMwNzQwODJCQzg1MThCQzhGM0E0NTlFODI3RjBFODQ0OEQKKzoxMDM1NTAwMDAzMDdGOEMzMzNDMEFDNDkzNkEzQjIxMzM2QTNCMDEzODQKKzoxMDM1NjAwMEY4QzM4MzY2N0FFRkU4MkMwM0Y4QzM5MDgzNEU3QTEwOTEKKzoxMDM1NzAwMEVCRjRFODlCRjBGOEMzOTBBRDNDMTk3NzBFM0MxOTc3NUIKKzoxMDM1ODAwMDBBOEJGODgxRTdGRjAwODhBNkM0MDBGOEMzOTA4MzRFMzkKKzoxMDM1OTAwMDI2MjBBQzQ5MzJFNEQxRTA4QkQ4QzFFMzAyMDNDMzg5RDEKKzoxMDM1QTAwMDQ2NkU4MzRFNDgwNEIwMDZFODk3REE0OTQ2RjlDMzkwNjAKKzoxMDM1QjAwMEZFODZCMzAwQjAwQUU4ODlEQUY4QzM5MDMzQzBBQzQ5OUMKKzoxMDM1QzAwMDZCQzAwQTg5ODY4QTAwRjhDMzkwQUM0OTMyRTQzRDBBOTAKKzoxMDM1RDAwMDAwNzcwNUI4MEEwMEVCMDgzRDVBMDA3MjAzQjg1QTAwOUMKKzoxMDM1RTAwMDUxRjdEODA1NjQwMDhCQzg4QjQ2NDRGN0UxQjk2NDAwRjUKKzoxMDM1RjAwMEY3RjE4OTQ2NDY1OUY4QzNBQzQ5RTg4NUVCRjhDMzkwMjIKKzoxMDM2MDAwMEFDNDk4NEMwNzUwNzgxNjYzOEZGRkRGOEMzODE0RTM4MjgKKzoxMDM2MTAwMDAwMDJGNzQ2Mzg0MDAwNzUwODhBODZBOTAwODg4NkFBMDUKKzoxMDM2MjAwMDAwRjhDMzkwNTE1NkU4N0YwQzVFNTlGOEMzOTBGRTg2QUYKKzoxMDM2MzAwMEI2MDBCMDBBRTgwQkRBRjhDMzkwRkU4NkI3MDBCMDBBMEQKKzoxMDM2NDAwMEU4RkZEOUY4QzM5MEZFODZCODAwQjAwQUU4RjNEOUY4Q0QKKzoxMDM2NTAwMEMzOTAwMDkwNTE1NUFDMkVBMjUyMzYzM0M5QUQ4QkY5QjAKKzoxMDM2NjAwMEMxRTcwNUE5MDEwMDc0MjMyRThCQUQ0NDAwODM3RTA4QjkKKzoxMDM2NzAwMDAwNzQxODJFODAzRTUyMzYwMTc0MDk2MEIwMDRFOEJCMTUKKzoxMDM2ODAwMDBDNjFFQjA3NjBCMEZCRThFQzBDNjE0NzQ3RDFFODc1RDMKKzoxMDM2OTAwMEQyNDE4M0Y5MDQ3MkM2NUQ1OTgzRTkwNUY3NDYzODQwODMKKzoxMDM2QTAwMDAwNzQwNUU4ODdFQUY4QzNFODhERUFGOEMzOTAzNkM2RTcKKzoxMDM2QjAwMDA2QzgxMzAxRjhDMzMzQzBBQzQ5MzZBMzgwMTJBQzQ5MjUKKzoxMDM2QzAwMDM2MkIwNjg4MTJGN0Q4MzZBMzgyMTJGOEMzOTBERTI2NkUKKzoxMDM2RDAwMERFMjZFQzI2RjIyNkY4MjZGRTI2MDQyNzBFMjcxNjI3REQKKzoxMDM2RTAwMDFFMjcyNjI3MkUyNzM0MjdCRTM0QzYzNEQyMzQzQTI3NDUKKzoxMDM2RjAwMDc4Mjc4MDI3OTQyN0EwMjdCNDI3QzAyN0Q0MjdFMDI3M0UKKzoxMDM3MDAwMEY0MjcwMDI4MTAyOEVDMzRERTI2MUUyODI2MjgyQzI4MzIKKzoxMDM3MTAwMDMyMjgzODI4NEUyODhBMjgwNjM1MjgzNTk4MjhCRTI4ODkKKzoxMDM3MjAwMEQyMjhERTI4RTYyODU0MzU2MjM1NkMzNUVFMjhDMDI5Q0IKKzoxMDM3MzAwMEM4MjlDRTI5RTAyOTcyMzU3ODM1RjAyOUZDMjk4RTM1NDMKKzoxMDM3NDAwMDA4MkExMjJBMUMyQUIwMzUzNjJBQkMzNTVBMkE2MjJBN0YKKzoxMDM3NTAwMDY4MkFDQTM1N0MyQUY4MzU4ODJBQTYyQUI4MkFDQzJBQUIKKzoxMDM3NjAwMERFMkFGMjJBMDAzNjBBMkIyNDJCMjQzNjM4MkI0QzJCNDcKKzoxMDM3NzAwMDg0MkIyRTM2M0EzNjQ2MzY1NDM2RTgyQkFFMzY0MDJDNUQKKzoxMDM3ODAwMDYyMkNCNjM2NzAyOERFMjZERTI2RDQyRUU4MkVGMDJFRTkKKzoxMDM3OTAwMEY4MkUwMDJGMEEyRjEyMkYxQTJGMjIyRjJBMkY0MjJGRjYKKzoxMDM3QTAwMEJFMzRDNjM0RDIzNDUwMkY4QzJGOTQyRkE4MkZCNDJGNzAKKzoxMDM3QjAwMEM4MkZENDJGRTgyRkY0MkYwODMwMTQzMDFDMzBFQzM0RUQKKzoxMDM3QzAwMERFMjYyNDMwMzAzMDM4MzA0NDMwNEMzMDYyMzBBNDMwODMKKzoxMDM3RDAwMDA2MzUyODM1QUEzMENFMzBENjMwRUEzMEYyMzA1NDM1QUUKKzoxMDM3RTAwMDYyMzU2QzM1RkEzMEMyMzFDMjMxQzQzMUZBMzE3MjM1Q0EKKzoxMDM3RjAwMDc4MzUwQTMyMTYzMjhFMzUyMjMyMkMzMjM2MzJCMDM1RDYKKzoxMDM4MDAwMDRBMzJCQzM1NzQzMjhDMzI5QTMyQ0EzNTlFMzJGODM1MUYKKzoxMDM4MTAwMEFBMzJDNjMyRDgzMkVDMzJGRTMyMEUzMzAwMzYxMjMzQzAKKzoxMDM4MjAwMDI2MzMyNDM2MzIzMzlBMzNERTMzMkUzNjNBMzY0NjM2NTIKKzoxMDM4MzAwMDU0MzY1QzM0QUUzNkFBMzRCMDM0QjYzNjhDMzBFMzI4MTUKKzoxMDM4NDAwMEY3NDYzODQwMDA3NTMyRThFM0U4MzNDMEFDNDkzRDVCRTkKKzoxMDM4NTAwMDAwNzcxOThCRDhEMUUzMkVGRjk3Q0UzNjcyMEI4NUM5MkUKKzoxMDM4NjAwMDc1RTg4QjQ2NDhFODFBMENDMzRFNDFDMzZBMDAxRkM2NzAKKzoxMDM4NzAwMDA2OTMxMjBDOUMwRUU4NjNEQUU4QkNFODMzQzBBQzQ5NEUKKzoxMDM4ODAwMDNENUIwMDc3RTc4QkQ4RDFFMzJFRkY5Nzg2Mzc3MkQ5NUYKKzoxMDM4OTAwMDg1Qzk3NUU4QzNGNzQ2N0ExMDAwNzUwRjgzQkU4NDAwQUEKKzoxMDM4QTAwMDAwNzQwOEI4NDgzQTg5ODY4MDAwQzM4MUJFODAwMEVDNjUKKzoxMDM4QjAwMDNDNzRGNzgzQkU4ODAwMDA3NTA1QjhFQzNDRUJFN0Y3NzUKKzoxMDM4QzAwMDQ2N0EwODAwNzU0MDFFNjA4QjhFODgwMDNCNEU3NDc3RTgKKzoxMDM4RDAwMDMzM0I0RTc4NzcyRUM0N0UxMDhCREYyNjAzM0Q0NzQ3NUYKKzoxMDM4RTAwMDMzQzA4RUQ4OERCNkY0MDA4QkMxRjc0NjdBMDEwMDc1Q0YKKzoxMDM4RjAwMDFERjNBNDI2MDEwNzI5NDY3ODAxNDY3NjI5NDY3NEIwQUYKKzoxMDM5MDAwMDBDRTgzRUQ3NjExRkM3ODY4ODAwMDAwMEVCQUNFM0UzRkMKKzoxMDM5MTAwMDUwOTBBQzI0N0ZBQUUyRkE1OEVCRDg5MDhCOEU4ODAwQTYKKzoxMDM5MjAwMEUzNDY4QjlFOEEwMDg1REI3NDNFQkE1MEZGRUQyQjg2MDIKKzoxMDM5MzAwMDgyMDAzQkMzNzIzNzhEQjZGNDAwQzQ3RTEwOEJERjI2NDUKKzoxMDM5NDAwMDAzM0Q0NzQ3OEJDMTE2MUZGNzQ2N0EwMTAwNzUyNEYzRTQKKzoxMDM5NTAwMEE0MjYwMTA3Mjk0Njc4MDE0Njc2Mjk0Njc0Qzc4Njg4MzkKKzoxMDM5NjAwMDAwMDAwMEIwMENFOERBRDY4MzY2N0FGN0MzQjAwMEU4NEUKKzoxMDM5NzAwMEQwRDZDM0UzREM1MEFDMjQ3RkFBRTJGQTU4RUJEMjkwNTUKKzoxMDM5ODAwMDFFNjAzM0MwOEVEODhEQjZGRDAwOEI4Njg4MDA4Qjk2NjYKKzoxMDM5OTAwMDg0MDAzQTA0NzUxMDhCREU0NjhCQzg4REJFRjQwMEYzQUMKKzoxMDM5QTAwMEE2NzQ2NjhCRjM5MDgzQzYwOTRBNzVFNjhEQjZGRDAwNTIKKzoxMDM5QjAwMDhCOTY4NDAwM0EwNDczMTA4QkRFNDY4QkM4OERCRUY0NjAKKzoxMDM5QzAwMDAwRjNBNjc0NzY4QkYzOTA4M0M2MDk0QTc1RTY4REI2MkMKKzoxMDM5RDAwMEY0MDBBQ0Y3NDY3QTAxMDA3NDAyMjQ3RjFFQzU1RTEwMjUKKzoxMDM5RTAwMDhCMzc4ODQwMDI0Njg5MzdGRjRFNzhGRjQ2NzZGRjRFNzgKKzoxMDM5RjAwMDc0MUY4QjhFODgwMDQ5ODk4RTg4MDBFMzQzOERCNkY0NEUKKzoxMDNBMDAwMDAwOEJGRTQ2RjNBNEU5N0RGRkM1NzYxMDhCMUM4NURCOTkKKzoxMDNBMTAwMDc0MDgwM0YzODNDNjAzODNFNkZFOEI4Njg0MDAyQkMyRkYKKzoxMDNBMjAwMEI0ODA4OTA0NDY0NkM3MDQwMDAwODk3NjEwODM0RTdBMjQKKzoxMDNBMzAwMDA0Qzc4Njg4MDAwMDAwNjExRkY5QzMzM0MwNjExRkMzM0IKKzoxMDNBNDAwMEIwODA4NEMwNjExRkMzOTA4QjRFNzgyQjhFODgwMDc2MjcKKzoxMDNBNTAwMDI3ODlCNjhDMDA4QjVFNzQzQkNCNzIwMjhCQ0IzQkM4NDQKKzoxMDNBNjAwMDcyMDI4QkM4OEJDMUUzNDQzM0QyOEVDMjhCRDE4M0JFMkEKKzoxMDNBNzAwMDg4MDAwMDc0MDZFOThFMDAzM0MwQzM4QjVFMTAwMzFGRkMKKzoxMDNBODAwMDQzNDM1MkY3NDY3QTAxMDA3NTJBQUM4REJFRTQwMDhCQTEKKzoxMDNBOTAwMDhFODYwMEYyQUU3NDM0ODgwNzQzNEE3NUVENTg4QjVFMEIKKzoxMDNBQTAwMDEwMDEwNzI5NDY3ODAxNDY3NjI5NDY3NDhCQzYyQjg2NzUKKzoxMDNBQjAwMDhDMDBDMzkwQUM4REJFRTQwMDhCOEU4NjAwRjJBRTc0OTkKKzoxMDNBQzAwMDBBMjQ3Rjg4MDc0MzRBNzVFQkVCRDI4ODg2RjQwMEM3NDcKKzoxMDNBRDAwMDg2ODgwMDAxMDA1ODJCQzI3NDBFOEI1RTEwMDEwNzI5RTYKKzoxMDNBRTAwMDQ2NzgwMTQ2NzYyOTQ2NzQ0MEU4OTRGRTcyQkU0QTc1Q0YKKzoxMDNBRjAwMDE1ODNCRThBMDAwMDc0QjRCQTUwRkZFRDg5ODY4MjAwMzcKKzoxMDNCMDAwMDgzNEU3QTA4RUJBNjhEQkVGNDAwMDNCRTg4MDBBNEZGQTYKKzoxMDNCMTAwMDg2ODgwMEU4NkFGRTcyOTQ3OTA2NEE3NDhGRTk1QkZGMzIKKzoxMDNCMjAwMDRBNzRDRUVCRTE5MDUwRTgxMUNDOEI0Njc0Mzk0NjcyNjIKKzoxMDNCMzAwMDc0MjcxRTU2NTEzM0M5QzU3NjBDQUQ3NDEwNzgwOTAzMkQKKzoxMDNCNDAwMEM4MDUwMTAwMjRGRTAzRjAzQjc2MTA3NkVEMjk0RTc2ODEKKzoxMDNCNTAwMDAxNEU3OEU4MzdDQzU5NUUxRjU4QzM5MEM0N0UxMDI2QkEKKzoxMDNCNjAwMDhCMUQ4M0MzMDMyNjg5MUQ0QjAzRkJBQjkxQUFCODAzQUUKKzoxMDNCNzAwMDAwMjk0Njc4MDE0Njc2Mjk0Njc0QzM5MEM0N0UxMDI2RjMKKzoxMDNCODAwMDhCMUQ0MzI2ODkxRDQzMDNGQkFBRkY0RTc4RkY0Njc2MTMKKzoxMDNCOTAwMEZGNEU3NEMzRThFNUZGQzM4MDgxODQ4NTgyODM4Njg3RjYKKzoxMDNCQTAwMDUwNTM4QURDODNFMzBFRDFFQjJFOEE4Nzk4M0IwODg2M0MKKzoxMDNCQjAwMEIwMDBGRTg2QjEwMEIwMEFFODg3RDQ1QjU4QzM1MDhBRDMKKzoxMDNCQzAwMEM4QjhGRjAwRTg5NUZGNThDMzkwOEE4NkJCMDBFOEFCRjEKKzoxMDNCRDAwMEZGQzNFOENCRkZFOEYyRkZDMzkwRThDM0ZGRThCNEZGMDAKKzoxMDNCRTAwMEMzOTAzM0MwRTg5NUZGQzNCOEZGMDAzM0M5RTg2Q0ZGNEEKKzoxMDNCRjAwMEMzOTBCOEZGMDFCMTEwRTg2MkZGQzM5MEMzRkMzQkUyODEKKzoxMDNDMDAwMDNCRjIzQkYyM0JGQzNCRTIzQkU4M0JFODNCRkMzQkUyNkMKKzoxMDNDMTAwMDNCRTgzQkU4M0JGQzNCRTIzQkUyM0JFMjNCMDAxMDAwODUKKzoxMDNDMjAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMTAwMDAwMDAxMDAwNTQKKzoxMDNDMzAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMTAwMDAwMDAwODAwNEMKKzoxMDNDNDAwMDAwMDAwODAwMDAwMDA4MDAwMDAwMDgwMDAwNTE1MzhCMkQKKzoxMDNDNTAwMDRFMzg4MUUxRkZFRUE4MDQ3NDA0ODFDOTAwMDE4QUUwQjYKKzoxMDNDNjAwMDgwRTQwMzI0MThEMEU0MEFDNDMzREI4QUQ4MkU4Qjg3N0YKKzoxMDNDNzAwMEZEM0I4OTQ2N0MyRTBCOEYxRDNDODk0RTM4RDFFQjJFQTcKKzoxMDNDODAwMDhBQTczRDNDNUI1OUMzQUM0OTNDMDE3MjFENzQyMDNDODIKKzoxMDNDOTAwMDAzNzIyMzc0MjgzQzA4NzIyQjc0MzAzQzIwNzIzNzc0RjIKKzoxMDNDQTAwMDNBQkJEQTNCMzJFNDg5NUU3RUMzQkJBMDNCRUJGNUJCOUIKKzoxMDNDQjAwMDk0M0JCNDAxRUJGMEJCRkMzQkI0MDJFQkU5QkJFMjNCNTEKKzoxMDNDQzAwMEI0MDNFQkUyQkJCRTNCQjQwNEVCREJCQkNBM0JBQzQ5ODkKKzoxMDNDRDAwMDg4ODZCQjAwRUJDRUJCRDIzQkVCRjNCQkZDM0JFQkM0MUIKKzoxMDNDRTAwMEE5MDQwMDc1RDFBOTA4MDA3NURBRUJEMThCNUU3NDhCM0QKKzoxMDNDRjAwMDRFNzgzQkNCNzIwMjhCQ0IzQkM4NzIwMjhCQzg4QkMxMTgKKzoxMDNEMDAwMEUzMkNDNDdFMTA4QkRGMjYwMzNENDc0N0Y3NDY3QTAxM0MKKzoxMDNEMTAwMDAwNzUxQ0Y3QzcwMTAwNzQwMjQ5QTREMUU5RjNBNTczMkIKKzoxMDNEMjAwMDAxQTQyNjAxMDcyOTQ2NzgwMTQ2NzYyOTQ2NzRDMzUwMjYKKzoxMDNEMzAwMDUzQkI3RjdGRjdDNzAxMDA3NDA1NDlBQzIyQzNBQUQxRUEKKzoxMDNENDAwMEU5RTMxRDlDQUQyM0MzQUI0OTc0MTRBRDIzQzNBQjQ5NTgKKzoxMDNENTAwMDc0MERBRDIzQzNBQjQ5NzQwNkFEMjNDM0FCRTJFNTlEM0YKKzoxMDNENjAwMDczMDRBQzIyQzNBQjVCNThFQkI4RThDRUM5OEI1RTM4QUEKKzoxMDNENzAwMEY3QzMxMDA0NzUwMUMzRjdDMzQwMDA3NDA1RThCOEUzNDYKKzoxMDNEODAwMEVCMDNFOEE4RTM4MTY2MzhFRkZCRjZDMzEwNzQzQ0Y2NUEKKzoxMDNEOTAwMEMzMDI3NDA2RTREODBDMDFFNkQ4RjZDMzA0NzQxMTgzOTgKKzoxMDNEQTAwMEMyMDg4QTg2QTcwMDBDMDFFRTg4ODZBNzAwODNFQTA4NkQKKzoxMDNEQjAwMEY2QzMwODc0MEZFODhCRTM3MjBBOEE4NkMwMDBFNjM4RkYKKzoxMDNEQzAwMEIwMjNFNjBBRjdDMzAwMDQ3NTAxQzNGN0MzMDAwODc1MDIKKzoxMDNERDAwMEY5OEE4NkE1MDBGNkMzNDA3NTBEQTgxMDc1RUMwQzEwODUKKzoxMDNERTAwMDg4ODZBNTAwRTYwQ0MzQTgwMTc1REY4M0MyMDIwQzA1MTYKKzoxMDNERjAwMEVFODg4NkE1MDBDM0IwMDBFODQ3RDJFQjBGQjAwMkU4MUEKKzoxMDNFMDAwMDkwMEVFQjA4ODM2NjM4REY4MzRFN0EwMjMzQzA4RUQ4N0IKKzoxMDNFMTAwMEZBQTA5MjEyNDBBMjkyMTIzQzA1NzIxRUM2MDY5MjEyOUQKKzoxMDNFMjAwMDAwRkJCMDAxRTg2QjBFRkFBMTI2MDEyMzA2MkEwMUE4QzcKKzoxMDNFMzAwMDAxNzUwN0U4RTIwN0U4NjEwOTkwQjAwMEU4MzdEMkZCQjYKKzoxMDNFNDAwMDg1RUQ3NEI5RkFGNzQ2N0E0NjAwNzVDMDhCNDY3ODNEMjEKKzoxMDNFNTAwMDBBMDA3MkIwOEI0RTc0ODNGOTUwNzI5QTgzNjYzOERGMTEKKzoxMDNFNjAwMEM1NzYxNDhCNDYzQTg1QzA3NTU4QUQ4NUMwNzUwRkU4ODgKKzoxMDNFNzAwMEY4RkVGNzQ2N0EwODAwNzQ5M0U4QTBGQUVCOEUzQjc2REEKKzoxMDNFODAwMDA0NzYyMUI5MDIwMDM5NEUyRTc3MDVDNzQ2MkUwMDAwNzAKKzoxMDNFOTAwMDU2OEI3NjJDODk3NjA0QzcwNDAwMDA0NjQ2ODk3NjJDMUEKKzoxMDNFQTAwMDI5NEUyRTVFODVDMDc5MTdGNkM0MTA3NDA1RkY1NjdDMjYKKzoxMDNFQjAwMEVCMDNGRjU2N0U4OTc2MTRCMDBDRTg4NUQxRUI4Njg5M0EKKzoxMDNFQzAwMDQ2M0FGRjk2ODAwMDI5NDYzQTg5NzYxNEIwMENFODcxOEMKKzoxMDNFRDAwMEQxRTk3MUZGMDAwMDAwMDAwMDAwMDAwMDA4MDQxMDAyOUEKKzoxMDNFRTAwMDAxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMDNFRjAwMDAwMDAwMDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwQzIKKzoxMDNGMDAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwQjEKKzoxMDNGMTAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwQTEKKzoxMDNGMjAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwOTEKKzoxMDNGMzAwMDgwODA4MDgwODBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzEKKzoxMDNGNDAwMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMDgwQjEKKzoxMDNGNTAwMDgwODA4MDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwRTEKKzoxMDNGNjAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwNTEKKzoxMDNGNzAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwNDEKKzoxMDNGODAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwMzEKKzoxMDNGOTAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwMjEKKzoxMDNGQTAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwMTEKKzoxMDNGQjAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwMDEKKzoxMDNGQzAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwRjEKKzoxMDNGRDAwMDgwODA4MDgwNEU0MTc4NDFEMDQxRjQ0MTA2NDIxODQyQjEKKzoxMDNGRTAwMEMzOTA4RTQ2MDI4QjdFMjI4OTdFNkM4MDY2MjdGRDhCNzUKKzoxMDNGRjAwMDU2MjQ4M0ZBMDQ3MkU5ODNFQTAyOEJEOTNCQ0E3NjAyMUIKKzoxMDQwMDAwMDhCQ0FCMDBBNTc1MThCRkVGMkFFOEJDMTU5NUY3NTFFMzkKKzoxMDQwMTAwMDUwNDAyQkM4NzQwNjJCRDEyQkQ5RjNBNDU5NEI0QTRBRDQKKzoxMDQwMjAwMEIwMERBQUE0M0JDQTc2MDI4QkNBRTMxM0VCRDQyQkQ5RkEKKzoxMDQwMzAwMEY3QzYwMTAwNzQwMkE0NDlEMUU5RjNBNTczMDFBNDg5NkMKKzoxMDQwNDAwMDdFMjIyQjdFNkMyOTdFMjQwMTdFMUE4QkNCODA3RTI2REQKKzoxMDQwNTAwMDAyNzQwNTgwNjYyNkZEQzM2MEIwRkRFODE4MDM2MUMzRTUKKzoxMDQwNjAwMEMzOTBFODdDMDI3MkY5OTA4MzRFMjYyMDhCNDY2QTg5QzEKKzoxMDQwNzAwMDQ2NkU4QjQ2NDgwRDA0MDAyNUJGRkY4OTQ2NDhCMDA2QjIKKzoxMDQwODAwMEU4QkZDRkMzODk3RTIyMkI3RTZDMDE3RTFBMjk3RTI0NTUKKzoxMDQwOTAwMDgwN0UyNjAyNzQwNTgzNjYyNkZEQzM2MEIwRkRFOEQ1RTgKKzoxMDQwQTAwMDAyNjFDMzkwOEFCRUMyMDBFQjI0Rjc0NjQ4NDAwMDc1MDcKKzoxMDQwQjAwMEIxOEU0NjAyOEI3RTIyODk3RTZDOEI1NjI0ODNFQTBBNUYKKzoxMDQwQzAwMDc4OUUwM0Q3ODA2NjI3RkQzM0MwOEFCRUMyMDBFM0I0NjIKKzoxMDQwRDAwMDNCRkE3N0IwQUM0OTkzMkU4QTg3RDQzRTkzMjJERjc1QTIKKzoxMDQwRTAwMDE3QUFFM0EwM0JGQTc3OUNBQzQ5OTMyRThBODdENDNFNkIKKzoxMDQwRjAwMDkzMjJERjc1MDNBQUVCRDZGNkMzN0Y3NTA1RkY0NjY2RUMKKzoxMDQxMDAwMEVCREZGNkMzNDA3NTBDOEJEODgzRUIwOEQxRTMyRUZGQjEKKzoxMDQxMTAwMEE3RDQzRkZGNDY2NjJDMjBFQkM3ODVDMDc0MkM4OTQ2ODgKKzoxMDQxMjAwMDZBODM0RTQ4NDA4OTdFMjIyQjdFNkMwMTdFMUEyOTdFNEUKKzoxMDQxMzAwMDI0ODA3RTI2MDI3NDA4ODM2NjI2RkRFOEEzMDFDMzYwRkUKKzoxMDQxNDAwMEIwRkRFODMxMDI2MUU4OTgwMUMzRTk1N0ZGOTA4QjVFNEEKKzoxMDQxNTAwMDY2NEI3ODAzODk1RTY2QUE4QjVFNjRGN0MzMDAyMDc1QTAKKzoxMDQxNjAwMDAzRTk0MEZGRjdDMzQwMDA3NDA4OEE4NkMxMDBBQUU5NEEKKzoxMDQxNzAwMDMyRkZCODMyMDBFQkEzOTA4QjVFNjY4OTVFNjg4M0MzMjIKKzoxMDQxODAwMDA4ODBFM0Y4ODk1RTY2OEI1RTY0ODFFMzAwMTg4MUZCM0EKKzoxMDQxOTAwMDAwMTg3NDJEQUE4NURCNzQyNUY3NDY2NDQwMDA3NTE4NTUKKzoxMDQxQTAwMDgxRkIwMDEwNzQwQzhCNDY2NjJCNDY2OEMxRTAwNEU5NjUKKzoxMDQxQjAwMDY4RkZCODY0MDBFOTYyRkY4QTg2QzEwMEFBQUFFOUUzNDEKKzoxMDQxQzAwMEZFNTE4QjRFNjYyQjRFNjhCMDIwRjNBQTU5RTlENEZFRkYKKzoxMDQxRDAwMDhCNUU2Njg5NUU2ODhCNUU2NEY3QzMyNDAwNzQxMEM3Q0IKKzoxMDQxRTAwMDQ2NjYwMDAwRjdDMzA0MDA3NDA1QjAwREFBQjAwQUFBMjEKKzoxMDQxRjAwMEVCNDg5MDkwQUFGNzQ2NjQwMDQwNzQwNkI4RDAwN0U5RUYKKzoxMDQyMDAwMDE4RkZFOTlGRkU5MEFBRjc0NjY0MDA4MDc0MDZCOEQwQjQKKzoxMDQyMTAwMDA3RTkwNkZGRTk4REZFOTA4QjVFNjY4OTVFNjg4NURCQTcKKzoxMDQyMjAwMDc1MEM4QjVFNjRGN0MzMTAwMDc0MDZFOTc2RkU4QjVFMzYKKzoxMDQyMzAwMDY0RjdDMzA4MDA3NDI3QjAwQUFBRjdDMzIwMDA3NTFGRUIKKzoxMDQyNDAwMEY3QzMwMDAxNzUwM0U5NUJGRUY3QzM0MDAwNzUwNkI4Q0MKKzoxMDQyNTAwMDY0MDBFOUM1RkU4QTg2QzEwMEFBQUFFOTQ2RkVBQUM3OEIKKzoxMDQyNjAwMDQ2NjYwMDAwRjdDMzAwMDY3NEYxRjdDMzQwMDA3NDE5RjYKKzoxMDQyNzAwMDhBODZDMTAwODFFMzAwMDY4MUZCMDAwNDcyMDY3NjAyOTMKKzoxMDQyODAwMEFBQUFBQUFBQUFBQUU5MUJGRTgxRTMwMDA2ODFGQjAwNEEKKzoxMDQyOTAwMDA0NzIwRTc2MDZCODk2MDBFOTdGRkVCODY0MDBFOTc5RUMKKzoxMDQyQTAwMEZFOEI0NjY4RTk3M0ZFOTAzNjhCMEVEQTEyODNGOTMyODQKKzoxMDQyQjAwMDczMUQxRTA2MzNDMDhFRDg4RUMwOEQ3NjRDQkZEQzEyQTcKKzoxMDQyQzAwMDAzRjlBNUE1QTU4M0MxMDY4OTBFREExMjA3MUZDM0IwOUQKKzoxMDQyRDAwMDA4RTg2RUNEQzM5MDgzNjY0OEZFRTg5M0M0RThDOEZGNDMKKzoxMDQyRTAwMEMzRjY0NjI3MDI3NTBGOUNGQTgzN0UxQTAwNzQwOTgwNzQKKzoxMDQyRjAwMDRFMjcwMTlERjlDM0Y4QzM1MDUyRjc0NjM4NDAwMDc0NjkKKzoxMDQzMDAwMDFERTgzNERFODNDMjBBRUNBODQwNzUyNzgzRUEwODhBRDgKKzoxMDQzMTAwMDg2QTUwMDBDMDI4ODg2QTUwMEVFNUE1OEVCRDFFODBDNjEKKzoxMDQzMjAwMERFOEE4NkE1MDAyNEZCMEMwMjg4ODZBNTAwRTYwQzVBQ0UKKzoxMDQzMzAwMDU4RUJCQzgwNEUyNzAyNUE1ODlERjhDMzA4NDYyNjlDNkQKKzoxMDQzNDAwMEZBOEE4RUE1MDBGNzQ2Mzg0MDAwNzUxNEY2QzEwNjc0NDcKKzoxMDQzNTAwMDIzRThEOUREOEFDMTI0Rjk4ODg2QTUwMEU2MEM5REMzMkYKKzoxMDQzNjAwMEY2QzEwMjc0MEZFOEQwREQ4M0MyMDI4QUMxMjRGRDg4NDEKKzoxMDQzNzAwMDg2QTUwMEVFOURDMzhCNUUyNjIyQzM4ODQ2MjY3NDAxNjcKKzoxMDQzODAwMEMzODA2NjI3RkQ5Q0ZBOEE4RUE1MDBGNzQ2Mzg0MDAwNTgKKzoxMDQzOTAwMDc1MTZGNkMxMDQ3NTBGRTg5M0REOEFDMTI0RkQwQzA0N0YKKzoxMDQzQTAwMDg4ODZBNTAwRTYwQzlEQzNGNkMxMDI3NUY5RTg4OEREOTQKKzoxMDQzQjAwMDgzQzIwQUVDQTgyMDc1MEU4M0VBMDg4QUMxMEMwMjg4MjEKKzoxMDQzQzAwMDg2QTUwMEVFOURDMzgzRUEwQTMzQzk4QTRFMUM4QjQ2M0MKKzoxMDQzRDAwMDFBM0JDODczMUIwMTRFMkEyQkMxODk0NjFBMUVDNTc2OEIKKzoxMDQzRTAwMDAwRjM2RTFGODk3NjAwODNDMjAyOEE4NkE1MDBFQkNEOUEKKzoxMDQzRjAwMDg1QzA3NDEyMDE0NjJBOEJDODFFQzU3NjAwRjM2RTFGNTUKKzoxMDQ0MDAwMDg5NzYwMDg5NEUxQUY2QzcwMTc1MjM4MENCMDI4OTVFMzIKKzoxMDQ0MTAwMDI2RTgwOEMzODNDMjAyOEE4NkE1MDAyNEZERUU4ODg2QUEKKzoxMDQ0MjAwMEE1MDBGNkM3MTA3NTA1QjAwMkU4MTZDQzlEQzM4M0MyN0YKKzoxMDQ0MzAwMDAyOEE4NkE1MDBFQjg2OTA4QkQxOEI0NjI0M0JDODc2RkEKKzoxMDQ0NDAwMDAyOEJDODJCRDEyQkMxOEJEOUUzMjI4MDY2MjdGRDhFMkUKKzoxMDQ0NTAwMDQ2MDI4QjdFMjJGN0M2MDEwMDc0MDJBNDQ5RDFFOUYzMUIKKzoxMDQ0NjAwMEE1NzMwMUE0ODk3RTIyODk0NjI0MDE1RTFBOEJDQTgwMjUKKzoxMDQ0NzAwMDdFMjYwMjc0MDU4MDY2MjZGREMzNjBCMEZERThGNkZFNjgKKzoxMDQ0ODAwMDYxQzM1MEU0MEE4NEMwNzUwQTg2ODZBMTAwODRDMDc0QTIKKzoxMDQ0OTAwMDBBRTYwQTU4MEMyMDg5NDY0OEY5QzM1ODI0REY4OTQ2QTEKKzoxMDQ0QTAwMDQ4RjhDMzkwRkJCMDAyRThFODA3RkFFODJFMDFGQkIwMzkKKzoxMDQ0QjAwMDAxRThERTA3RkFCMDAyRThCQ0NCRkI4NUVENzRFNUZBNTMKKzoxMDQ0QzAwMDhFNUUwQUZCOTBGQThCNDY0ODhCNzY0MEE4OEM3NURFOTAKKzoxMDQ0RDAwMEE4MjA3NDFBNTBFODU1REM1OEU4QTZGRjczMTBCMDAyMDMKKzoxMDQ0RTAwMEU4NUZDQkVCQzk5MDI1RkYwMDhCQzhFQjM2OTBBODAxQTUKKzoxMDQ0RjAwMDc1MjI0NjgzRTZGRTNCNzYwODc0NzlBRDhBRkNCM0YwRkMKKzoxMDQ1MDAwMDIyRkIzQUZCNzRFMDNBQkVBMDAwNzQyRUU4RDJGRDczQTEKKzoxMDQ1MTAwMDc3RUI5QjkwOEFFMDI0RkM4ODQ2NDg4QjRFNEFGNkM0OTEKKzoxMDQ1MjAwMDAyNzQxREU4QkJGRDcyODZFODEzRjM4OTc2NDBFMzkzQkQKKzoxMDQ1MzAwMDgzNEU0ODAzODk0RTRBRTk3NEZGMjVGRjBGOEJDODkwQ0MKKzoxMDQ1NDAwMDhCODY5ODAwODVDMDc0MUE1MThBOEVBMDAwQzBFOTA0MzkKKzoxMDQ1NTAwMEJBMDEwMEQzRTI1OTIzQzI3NDA4MDNGMTg5NzY0MEU5MTUKKzoxMDQ1NjAwMDYxRkZGRjU2NjJFM0Y1ODM0RTQ4MDE4OTRFNEE4OTc2MjIKKzoxMDQ1NzAwMDQwRTkzQUZGODE0RTI2MDAxMDhCNDY1MDNCNDY0Njc3NzUKKzoxMDQ1ODAwMDAzRTg1MkZERTkyN0ZGOTA4OEJFQTAwMEVCQUMwQTA2QzUKKzoxMDQ1OTAwMDkwMTI4QUUwQkEwNjAxQjAwNEVFRUM4NEMwNzUxMkIwNDUKKzoxMDQ1QTAwMDA0RUU4QUM0RUUzMkU0QTg4MDc0MDZDNzA2ODQxMjAwQzIKKzoxMDQ1QjAwMDAwODgyNjkwMTJDMzBBMDY5MDEyOEFFMEJBMDYwMUVDMUYKKzoxMDQ1QzAwMEE4MDE3NUVEQkEwODAxOEFDNEVFMzJFNEE4ODA3NEUxNEUKKzoxMDQ1RDAwMEM3MDY4NDEyMDAwMDg4MjY5MDEyQzM5MDM2RjcwNjI0N0UKKzoxMDQ1RTAwMDAxMDEwMDc1MzAzNjhCMEVEQTEyODBGOTM2NzMyNjMzRUUKKzoxMDQ1RjAwMEMwOEVDMDhFRDhCRkRDMTIwM0Y5QjAwOEU4NzdDQTg1MzgKKzoxMDQ2MDAwMEVENzQwRThENzY0Q0E1QTVBNTgwQzEwNjgwRjkzNjcyOTUKKzoxMDQ2MTAwMEU5ODkwRURBMTJDM0MzOTBGNzA2MjYwMTAxMDA3NUY2ODgKKzoxMDQ2MjAwMDhCMEUyMDEzODVDOTc1RUUzM0MwOEVDMDhFRDhCRjI0ODMKKzoxMDQ2MzAwMDEzQjkzNjAwQjAwQUU4M0RDQTg1RUQ3NTA2RTkxMjAxRTYKKzoxMDQ2NDAwMEU5MEEwMTMzREI4QTQ2NEM4QUE2QjMwMEZFQ0M3ODBFMTkKKzoxMDQ2NTAwMDg4QTZCMzAwMEFEQ0I0MEFBQjgzRTkwMjc2RTI4QUE2MzQKKzoxMDQ2NjAwMEIyMDBGRUNDNzgwRTg4QTZCMjAwMEFEQ0I0MDhBQjgzOTgKKzoxMDQ2NzAwMEU5MDI3NkNDOEFBNkIxMDBGRUNDNzgxODhBQkVCMDAwREEKKzoxMDQ2ODAwMDc1MDQ4OEE2QjAwMDg4QTZCMTAwMEFEQzhBRTdBQjgzNkYKKzoxMDQ2OTAwMEU5MDI3NkFDOEFBNkI0MDBGRUNDNzgxRjg4QTZCNDAwRTYKKzoxMDQ2QTAwMDBBRENCNDBCQUI4QTg2QkMwMDhBQTZCRDAwQUI4Qjg2NDUKKzoxMDQ2QjAwMEJFMDBBQjgzRTkwNjc2ODg4QTQ2NEM4QUE2QjYwMEZFMjEKKzoxMDQ2QzAwMENDNzgxOTg4QTZCNjAwMEFEQ0I0MENBQkU4REJDQkFCMUYKKzoxMDQ2RDAwMDhCNDYyQUFCODNFOTA2NzY3NDhBNDY0QzhBQTZCNzAwRDUKKzoxMDQ2RTAwMEZFQ0M3ODE5ODhBNkI3MDAwQURDQjQwREFCRThCQUNCQ0IKKzoxMDQ2RjAwMEFCOEI0NjM0QUI4M0U5MDY3NjUzOEE0NjRDOEFBNkI4MjAKKzoxMDQ3MDAwMDAwRkVDQzc4MTk4OEE2QjgwMDBBRENCNDBFQUJBMTUwMjQKKzoxMDQ3MTAwMDEyQUJBMTUyMTJBQjgzRTkwNjc2MzI4QTQ2NEM4QUE2QzYKKzoxMDQ3MjAwMEI1MDBGRUNDNzgxODg4QTZCNTAwMEFEQ0I0MEZBQjhCQjgKKzoxMDQ3MzAwMDg2OUEwMEFCOEI4NjlDMDBBQjgzRTkwNjc2MEY4NERCMDAKKzoxMDQ3NDAwMDc1MDNFOUVGRkVCMDBBRThGOEM4RTlFN0ZFQjAwQUU4NDkKKzoxMDQ3NTAwMEYwQzhGN0Q5ODNDMTM2OEJDMTBEODAwMDg2QzRBMzIyNkYKKzoxMDQ3NjAwMDEzNDE0MTg5MEUyMDEzQzNBMTg0MTIyQkMxNzIxMUEzREUKKzoxMDQ3NzAwMDg0MTJCRTIyMTNEMUU5RjM2RjkwODkwRTIwMTNGOEMzN0YKKzoxMDQ3ODAwMEY5QzNDMzgxRUY2QTEzNzRGOThCQzcwRDgwMDA4NkM0MjcKKzoxMDQ3OTAwMEEzNjgxMzQ3NDc4OTNFNjYxM0MzRjcwNjJBMDEwMTAwNDEKKzoxMDQ3QTAwMDc1RTA4QjBFNjYxM0UzMDc4MEY5MjA3N0Q1NDk0OTMzMEUKKzoxMDQ3QjAwMEMwOEVDMDhFRDhCRjZBMTM4QkY3MDNGOTgzQzYzNDNCMTMKKzoxMDQ3QzAwMEZFNzdDMEIwMEVFOEFFQzg4NUVENzRCNzhBNDY0QzhBNTUKKzoxMDQ3RDAwMEI2QjkwMEZFQ0U3ODE1ODhCNkI5MDA4QUE2QTkwMDgwQzEKKzoxMDQ3RTAwMENDQzBBQjg0RjY3NDA1QjAwRUU4NTZDODhBQjZCQTAwRTEKKzoxMDQ3RjAwMEZFQ0U3OENCOEE5RUE5MDA4QUJFQUIwMDhBNTYzRjhBM0QKKzoxMDQ4MDAwMEYzMzJGNzBBQjZBQzAwQzY4NkFDMDAwMDIyRjI3NDRCNTUKKzoxMDQ4MTAwMEY2QzYwODc0MEZCNDAyRjZDMzA4NzUwMkI0MDNBQjgwODEKKzoxMDQ4MjAwMEU2Rjc3NDM3RjZDNjAxNzQwRkI0MDBGNkMzMDE3NTAyREIKKzoxMDQ4MzAwMEI0MDFBQjgwRTZGRTc0MjNGNkM2MDI3NDBGQjQwNEY2MkUKKzoxMDQ4NDAwMEMzMDI3NTAyQjQwNUFCODBFNkZENzQwRkY2QzYwNDc0QUUKKzoxMDQ4NTAwMDBBQjQwNkY2QzMwNDc1MDJCNDA3QUJDNjg2QkEwMDAwRjQKKzoxMDQ4NjAwMDg4OUVBQjAwRTk1OEZGOTBBMTg0MTIyQkMxNzIxMUEzNUUKKzoxMDQ4NzAwMDg0MTJCRTY4MTNEMUU5RjM2RjkwODkwRTY2MTNGOEMzRjIKKzoxMDQ4ODAwMEY5QzNBMTg0MTI0MTQxMkJDMTcyMjNBMzg0MTI4QkMxQUQKKzoxMDQ4OTAwMDQ4NDgzMkU0MEM4MDg2QzRFRjkwOTA5MDkwOTBCRURDNDMKKzoxMDQ4QTAwMDEyNDk0OUQxRTlGMzZGOTA4OTBFREExMkY4QzNGOUMzQkUKKzoxMDQ4QjAwMDhBQzg4QTQ2NENCNDAxODNFQjA2RUY5MDkwOTA5MDkwQTIKKzoxMDQ4QzAwMEI4MDEwMEVGOTA5MDkwOTA5MDhBQzFFRjkwOTA5MDkwRjYKKzoxMDQ4RDAwMDkwRTk5NzAwRTlBQzAwMzNDMDhFRDg4OTFFODQxMkMzREEKKzoxMDQ4RTAwMDM2OEIxRTg0MTJGQjkwRkFCMDBDRTg4OUM3ODVFRDc0RjQKKzoxMDQ4RjAwMEU2QzU3NjBDODNGQjE0NzJEQkZCOTBGQUFEODVDMDc4QkQKKzoxMDQ5MDAwMEFGNzRFMjhCRkUwM0Y4MzY4QjBFODYxMjNCQzE3NzAyNDIKKzoxMDQ5MTAwMDhCQzg4M0VCMDQzQkQ5NzcwMjhCQ0IzM0MwOEE0NjRDRTAKKzoxMDQ5MjAwMEVGOTA5MDkwOTA5MDhCQzFFRjkwOTA5MDkwOTA0MTgwRkMKKzoxMDQ5MzAwMEUxRkUyQkQ5NTFEMUU5RjM2RjkwNTk4QkM3NDAyNEZFOEEKKzoxMDQ5NDAwMDNCQzY3NDI3MkJGRTRFNEU1MzhCNUUxMDNCRjM3MjEzMDcKKzoxMDQ5NTAwMDAzMUY4M0MzMDM4MEUzRkVDNzA3MDAwMDgzNkU3NDAyNTYKKzoxMDQ5NjAwMDg5NUUxMDVCODkzQzg5NzYwQ0VCODk4OTc2MEMzOTc2RjcKKzoxMDQ5NzAwMDEwNzc4MTcyMDg4MzNDMDA3NDAzRTk3N0ZGRTgwREJFNkQKKzoxMDQ5ODAwMEU5NjJGRjM2ODkxRTg0MTJCMDBDRThCNUM2MzNDMDhFQ0EKKzoxMDQ5OTAwMEQ4QzNBMTg0MTIzRDEwMDA3Mjc3QkEwNDAxM0IwNjg4ODcKKzoxMDQ5QTAwMDEyNzUwNkM3MDY3RTEyMDAwMDhCMEVEQTEyRTMwQkU4QzIKKzoxMDQ5QjAwMEQwRkU3MjU3QzcwNjdFMTJGRjdGOEIwRTIwMTNFMzBCQ0IKKzoxMDQ5QzAwMEU4QTVGRDcyNDZDNzA2N0UxMkZGN0Y4QjBFNjYxM0UzRDUKKzoxMDQ5RDAwMDBCRTg5NEZFNzIzNUM3MDY3RTEyRkY3RkExMjgwMUE5NUQKKzoxMDQ5RTAwMDAxMDA3NTAzRThGOUZFODAzRThEMTIwMDc1MURBMTg0NUIKKzoxMDQ5RjAwMDEyM0QyMDAwNzYxNTNCMDY4MjEyNzYwOUExN0UxMjNCRkQKKzoxMDRBMDAwMDA2ODAxMjcyMEM4MDBFOTAxMjgwQzNCMDgwRkYxNjdDNUMKKzoxMDRBMTAwMDEyQzM4MDBFOTAxMjQwQzM2QTAwMUZDNjA2OTMxMjE3N0QKKzoxMDRBMjAwMDlDMEVFOEI3Qzg2QTAwMUZDNjA2OTMxMjIwOUMwRUU4QzkKKzoxMDRBMzAwMEFBQzg2QTAwMUZDNjA2OTMxMjE2OUMwRUU4OURDODkwNkQKKzoxMDRBNDAwMEJBMDYwMUVDQTgyMDc1Q0FGQjkwRkFCQTA0MDFFRDkwRjEKKzoxMDRBNTAwMDkwOTA5MDkwM0EwNjk0MTI3N0JFMzNEQjhBRDhEMUUzRDcKKzoxMDRBNjAwMDJFOEJBRjQ0MDBDNDdFMDg4NUZGNzRCOUY2QzRDMDc1QjAKKzoxMDRBNzAwMDU1MzJDMEMxRTAwMjgwRTRGMDhCRjBFRDkwOTA5MDkwNTAKKzoxMDRBODAwMDkwODVDMDc0QkI4QkM4NDE4MEUxRkUwQkM2OEI1RTUwMjUKKzoxMDRBOTAwMDRCNEIyQkQ5Nzg5Q0FCOEJDMTQwNDAwMTQ2NEVEMUU5QTIKKzoxMDRBQTAwMEYzNkQ5MDg5NUU1MDg5N0UwODhCNDYyNjgwRTRFRjg5RkQKKzoxMDRBQjAwMDQ2MjZGNkM0MDE3NTBDRjc0NjQ4MEMwMDc1MDVCMDAyOTEKKzoxMDRBQzAwMEU4N0ZDNUU5N0FGRjg2QzQ4QkM4ODNFMTNGNDE4MEUxNzYKKzoxMDRBRDAwMEZFRTMwQTNDODA3MjA5MjQzRkI0RjBFQkIwRTk2MEZGQ0EKKzoxMDRBRTAwMDI1M0YwMDMzRkY4RUM3QkY5NjEyOEJGN0QxRTlGMzZERDgKKzoxMDRBRjAwMDkwOEJDOEU4NDhFREU5NDdGRjkwNkEwMDFGQzYwNjkzMEYKKzoxMDRCMDAwMDEyMUI5QzBFRThENUM3OTA2MDFFMDYzM0MwOEVEODhFNEYKKzoxMDRCMTAwMEMwQkEwNjAxRUNBODA0NzRFMUIwMDZFRUVDQTI4QzEyNTcKKzoxMDRCMjAwMEE4NDA3NDExQTE4ODEyQTM4NDEyQzYwNjhEMTIwMEU4NTEKKzoxMDRCMzAwMDYwRkVBMDhDMTJBODgwNzQwM0U4MDRGRkI4MDA4MEJBNUQKKzoxMDRCNDAwMDIyRkZFRjA3MUY2MUNGOTA2QTAwMUZDNjA2OTMxMjFCNUEKKzoxMDRCNTAwMDlDMEVFODg3Qzc5MDYwMUUwNjMzQzA4RUQ4OEVDMEJBMDAKKzoxMDRCNjAwMDA2MDFFQ0E4MDQ3NEUxQkEwODAxRUNBMjhDMTJBODQwN0EKKzoxMDRCNzAwMDc0MTFBMTg4MTJBMzg0MTJDNjA2OEQxMjAwRTgxMkZFRDkKKzoxMDRCODAwMEEwOEMxMkE4ODA3NDAzRThCNkZFQjgwMDgwQkEyMkZGOTkKKzoxMDRCOTAwMEVGMDcxRjYxQ0Y5MEVFODZFMEVFODZFMEVDODZFMEVDNUEKKzoxMDRCQTAwMDg2RTA4MEUxRkVGMzZDOTA4MEUxRkVGMzZFOTAwNTAwRkMKKzoxMDRCQjAwMDc1NDdBODRCMDUwMDc1NDhBODRCMDUwMEEzNDhBODRCQUUKKzoxMDRCQzAwMDA1MDAzNTQ5QTg0QjA2MDA5ODQ4OTY0QjA2MDBCQTQ4QTAKKzoxMDRCRDAwMDk2NEIwNjAwQzM0ODk2NEIwNjAwQ0I0ODk2NEIwNjAwMDIKKzoxMDRCRTAwMDIwNDk5NjRCMDYwMDI4NDk5NjRCMDYwMDRFNEE5QzRCOUUKKzoxMDRCRjAwMDA2MDA3QjRBOUM0QjA1MDA5RTRBQTI0QjA1MDBFQzRBRUUKKzoxMDRDMDAwMEEyNEIwMDAwMUUwNjgzM0U0NDEyMDA3NDA5QTAwNjAxNTgKKzoxMDRDMTAwMDI0MzAzQzMwNzQxQThDQzg4RUQ4OEVDMEJCQUU0QjhCRkYKKzoxMDRDMjAwMDBGRTMwRDhCN0YwMjhCNzcwNEYzQTQ4M0MzMDZFQkVGQjYKKzoxMDRDMzAwMDA3MUZDMzkwMzNDMEEzM0UwMUI5MEMwMUJFNDAwMThCRDYKKzoxMDRDNDAwMEZFODFDNkI0MEY4OTA0OEJDNjJCRjEzQkM3NzdGNkEzNTAKKzoxMDRDNTAwMDNDMDFDMzkwMUUwNjYwMzY4QjJFM0UwMThCNUUwMDNCRUUKKzoxMDRDNjAwMEVCNzQyQjhCNzYwMjg5MUM4OTc3MDIzNkExM0MwMTg5NzMKKzoxMDRDNzAwMDQ2MDAzNjg5MkUzQzAxOEJFQkZGNEUwNjc0MDg4QjZFODYKKzoxMDRDODAwMDAwRkY0RTA2NzVGODM2ODkyRTNFMDE4QjY2MDQ2MTA3REIKKzoxMDRDOTAwMDFGQzMxRTA2NjAzNjhCMkUzRTAxOTg4OTQ2MDY4OTY2MjQKKzoxMDRDQTAwMDA0M0I2RTAwNzQxMDhCNkUwMEZGNEUwNjc1RjgzNjg5NUIKKzoxMDRDQjAwMDJFM0UwMThCNjYwNDYxMDcxRkMzQzM5MDFFMDY2MDlDRDUKKzoxMDRDQzAwMEZBMzNFRDhFREQ4QjJFM0MwMTg1RUQ3NDNEOEI0RTAwNkQKKzoxMDRDRDAwMDg5MEUzQzAxOEJDQzhEQTYwQTAxNTYxRTA2NjA4OTY2QTIKKzoxMDRDRTAwMDA0Qzc0NjA4MEYxQUM3NDYwNjAxMDA4QjFFM0UwMTg1MDEKKzoxMDRDRjAwMERCNzQxRDhCQzU4NzA3ODk0NjAwODk1RTAyOEJEODg5QzYKKzoxMDREMDAwMDZGMDI4QkUxOUQ2MTA3MUZGOEMzOUQ2MTA3MUZGOUMzMDcKKzoxMDREMTAwMDg5MkUzRTAxODk2RTAwODk2RTAyODdFMTlEOEJFMUVCNTEKKzoxMDREMjAwMEU0MDAwRDBBNTQ2NTcyNkQ2OTZFNjE2QzczMjA3Mzc1RDEKKzoxMDREMzAwMDcwNzA2RjcyNzQ2NTY0M0EwRDBBMzEyOTIwNDE0RTUzQzgKKzoxMDRENDAwMDQ5MjA2MzZGNkQ3MDYxNzQ2OTYyNkM2NTBEMEEzMjI5NjgKKzoxMDRENTAwMDIwNTc3OTczNjUyMDMzMzAwRDBBNTA2QzY1NjE3MzY1OTcKKzoxMDRENjAwMDIwNzM2NTZDNjU2Mzc0M0EyMDAwMEQwQTYzNkY2NDY1OTcKKzoxMDRENzAwMDIwNzM2NTY3NkQ2NTZFNzQzRDAwMEQwQTRENkY2RTY5MzkKKzoxMDREODAwMDc0NkY3MjIwNzYzMjJFMzUwQTBEMEEzRTAwMEQwQTUwREQKKzoxMDREOTAwMDYxNzI2NDZGNkUzRjAwMEQwQTRFNkYyMDYxNjQ2NDcyMzEKKzoxMDREQTAwMDY1NzM3MzIwNzM3MDY1NjM2OTY2Njk2NTY0MDAwRDBBRDUKKzoxMDREQjAwMDNBMDAwRDBBMDA0QzZGNjMzRDAwMEQwQTQ2NDE1NDQxMTQKKzoxMDREQzAwMDRDMjA0NTUyNTI0RjUyM0QwMDBEMEE0RDZGNkU2OTc0OTIKKzoxMDRERDAwMDZGNzIyMDYzNkY2RDZENjE2RTY0NzMzQTJEMEQwQTIwRTIKKzoxMDRERTAwMDIwMjA0NDJDNjQ1QjVCNzg3ODc4NzgzQTVENzg3ODc4MUEKKzoxMDRERjAwMDc4NUQyMDJEMjA2NDc1NkQ3MDIwNkQ2NTZENkY3Mjc5MDIKKzoxMDRFMDAwMDBEMEEyMDIwMjA0QzJDNkM1QjVCNzg3ODc4NzgzQTVEMUEKKzoxMDRFMTAwMDc4Nzg3ODc4NUQyMDJEMjA2NDc1NkQ3MDIwNzM2OTZFQzgKKzoxMDRFMjAwMDY3NkM2NTIwNkM2OTZFNjUwRDBBMjAyMDIwNDUyQzY1MzUKKzoxMDRFMzAwMDVCNUI3ODc4Nzg3ODNBNUQ3ODc4Nzg3ODVEMjAyRDIwOUIKKzoxMDRFNDAwMDY1NjQ2OTc0MjA2RDY1NkQ2RjcyNzkwRDBBMjAyMDIwOEMKKzoxMDRFNTAwMDQ2MkM2NjVCNUI3ODc4Nzg3ODIwNUQ3ODc4Nzg3ODVEMkEKKzoxMDRFNjAwMDIwMkQyMDY2Njk2QzZDMjA2RDY1NkQ2RjcyNzkyMDcwRTUKKzoxMDRFNzAwMDYxNzI2MTY3NzI2MTcwNjg3MzBEMEEyMDIwMjA0OTVCNUUKKzoxMDRFODAwMDc4Nzg3ODc4NUQyMDIwMjAyMDIwMjAyMDIwMjAyMDJENzgKKzoxMDRFOTAwMDIwNzc2RjcyNjQyMDY5NkU3MDc1NzQyMDY2NzI2RjZEMTIKKzoxMDRFQTAwMDIwNzA2RjcyNzQwRDBBMjAyMDIwNjk1Qjc4Nzg3ODc4MDIKKzoxMDRFQjAwMDVEMjAyMDIwMjAyMDIwMjAyMDIwMjAyRDIwNjI3OTc0QjkKKzoxMDRFQzAwMDY1MjA2OTZFNzA3NTc0MjA2NjcyNkY2RDIwNzA2RjcyRTgKKzoxMDRFRDAwMDc0MEQwQTIwMjAyMDRGNzg3ODc4NzgyMDc4NzgyMDIwNjgKKzoxMDRFRTAwMDIwMjAyMDIwMjAyMDIwMkQyMDZGNzU3NDcwNzU3NDIwQzQKKzoxMDRFRjAwMDc3NkY3MjY0MjA3NDZGMjA3MDZGNzI3NDBEMEEyMDIwQjcKKzoxMDRGMDAwMDIwNkY3ODc4Nzg3ODIwNzg3ODIwMjAyMDIwMjAyMDIwNDIKKzoxMDRGMTAwMDIwMjAyRDIwNkY3NTc0NzA3NTc0MjA2Mjc5NzQ2NTIwNUYKKzoxMDRGMjAwMDc0NkYyMDcwNkY3Mjc0MEQwQTIwMjAyMDQ3NUI1Qjc4Q0QKKzoxMDRGMzAwMDc4Nzg3ODNBNUQ3ODc4Nzg3ODVEMjAyMDIwMkQyMDY3MjEKKzoxMDRGNDAwMDZGNzQ2RjIwNjE2NDY0NzI2NTczNzMwRDBBMjAyMDIwOTIKKzoxMDRGNTAwMDU3NUI1Qjc4Nzg3ODc4M0E1RDc4Nzg3ODc4NUQyMDIwNTAKKzoxMDRGNjAwMDIwMkQyMDc3NjE3NDYzNjgyMDYxMjA3NzZGNzI2NDBENTMKKzoxMDRGNzAwMDBBMjAyMDIwNDMyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjQKKzoxMDRGODAwMDIwMjAyMDIwMjAyRDIwNjk2RTc0NjU3MjcyNzU3MDc0NDcKKzoxMDRGOTAwMDczMjA2RjY2NjYwRDBBMjAyMDIwNTMyMDIwMjAyMDIwRDkKKzoxMDRGQTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRDIwNjk2RTc0MDkKKzoxMDRGQjAwMDY1NzI3Mjc1NzA3NDczMjA2RjZFMEQwQTIwMjAyMDczRjUKKzoxMDRGQzAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwRTEKKzoxMDRGRDAwMDJEMjA3MzY5NkU2NzZDNjUyMDczNzQ2NTcwMEQwQTIwRUYKKzoxMDRGRTAwMDIwMjA0Mjc4Nzg3ODc4MjAyMDIwMjAyMDIwMjAyMDIwM0YKKzoxMDRGRjAwMDIwMjAyMDJEMjA2MjcyNjU2MTZCNzA2RjY5NkU3NDIwQjUKKzoxMDUwMDAwMDczNjU3NDBEMEEyMDIwMjA2MjIwMjAyMDIwMjAyMDIwOUIKKzoxMDUwMTAwMDIwMjAyMDIwMjAyMDIwMjAyMDJEMjA2MjcyNjU2MTZCMUUKKzoxMDUwMjAwMDcwNkY2OTZFNzQyMDYzNkM2NTYxNzIwRDBBMjAyMDIwQjgKKzoxMDUwMzAwMDUyMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwM0UKKzoxMDUwNDAwMDIwMkQyMDcyNjU3Mzc0NjE3Mjc0MjA2MjcyNjU2MTZCQzkKKzoxMDUwNTAwMDcwNkY2OTZFNzQwRDBBMjAyMDIwNzIyMDIwMjAyMDIwOUQKKzoxMDUwNjAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRDIwNzI2NTY3NTUKKzoxMDUwNzAwMDY5NzM3NDY1NzI3MzIwNjE3NDIwNjI3MjZCNzA3NDBENTEKKzoxMDUwODAwMDBBMjAyMDIwNTgyQzc4MjA2RTIwMjAyMDIwMjAyMDIwNEMKKzoxMDUwOTAwMDIwMjAyMDIwMjAyRDIwNjU3ODYxNkQ2OTZFNjUyMDYzQjkKKzoxMDUwQTAwMDY4NjE2RTZFNjU2QzIwNkUwRDBBMjAyMDIwNDgyQzNGRDIKKzoxMDUwQjAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRDIwRTMKKzoxMDUwQzAwMDc0Njg2OTczMjA2RDY1NzM3MzYxNjc2NTAwMUI1QjMyN0IKKzoxMDUwRDAwMDRBMUI1QjMxM0IzMTQ4NDE0RTUzNDkyMDU0NjU3MjZENDgKKzoxMDUwRTAwMDY5NkU2MTZDMEQwQTBBMDAxQjVCNEIwMDFCNUI0QTAwN0EKKzoxMDUwRjAwMDFCNUIzMjRBMUI1QjMxM0IzMTQ4MDAxQjVCNDQyMDFCNkUKKzoxMDUxMDAwMDVCNDQwMDFCNUIzMTNCMzczMjQ4MDAxQjVCMDAzQjAwQkMKKzoxMDUxMTAwMDQ4MDAxQjVCNzMwMDFCNUI3NTAwMUI3QTJCMEI3RjFCMEUKKzoxMDUxMjAwMDdBMkUwQzdGMUI3QTJEMDg3RjFCN0EyQzBBN0YxQjdBMjQKKzoxMDUxMzAwMDIyMDg3RjFBNTc3OTczNjUyMDMzMzAyMDU0NjU3MjZEQzkKKzoxMDUxNDAwMDY5NkU2MTZDMEQwQTAwMUI1NDAwMUI1OTAwMUEwMDFFODkKKzoxMDUxNTAwMDAwMDgyMDA4MDAwMDFCM0QwMDAwMDAxQjQ2MDAwRDAwNTkKKzoxMDUxNjAwMDNGNDQ2NDQ1NjU0NjY2NDc2NzQ4Njg0OTY5NEY2RjQzRjEKKzoxMDUxNzAwMDYzNTM3MzQyNjI1MjcyNTc3NzU4Nzg0QzZDM0M2MEQ0RDgKKzoxMDUxODAwMDU3RDQ1NzUwNTg1MDU4RDY1OUQ2NTlCNDU5QjQ1OTNDOTkKKzoxMDUxOTAwMDYwM0M2MDZDNTc0ODU3MjY1NzA2NTc5MDU3OTA1Nzk4NzEKKzoxMDUxQTAwMDU3NDg1RjBDNUY1ODVGMzM1RjQwNUZBMDU3QTA1N0ZFQzIKKzoxMDUxQjAwMDU5RkU1OURDNTdEQzU3ODg2MTk4NjFDMDYxQ0M2MUQ4RDEKKzoxMDUxQzAwMDYxRjY2MTAyNjIyMjYyRjg1NjRBNjI1ODYyNjA1OTIwQjIKKzoxMDUxRDAwMDIwNjY2QzYxNjc3MzNEMDAyMDIwNjE3ODNEMDAyMDIwQ0YKKzoxMDUxRTAwMDYyNzgzRDAwMjAyMDYzNzgzRDAwMjAyMDY0NzgzRDAwRjcKKzoxMDUxRjAwMDIwMjA2MzczM0QwMDIwMjA2NDczM0QwMDIwMjA2NTczRjAKKzoxMDUyMDAwMDNEMDAyMDIwNzM3MzNEMDAyMDIwNjQ2OTNEMDAyMDIwNzQKKzoxMDUyMTAwMDczNjkzRDAwMjAyMDYyNzAzRDAwMjAyMDczNzAzRDAwQzYKKzoxMDUyMjAwMDIwMjA2OTcwM0QwMDIwNjM2ODYxNkU2NTZDM0QwMDIwNDAKKzoxMDUyMzAwMDIwMjAyMDczNjU2NzNEMDAyMDc0Njk1RjczNzQ3MjNEQTAKKzoxMDUyNDAwMDAwMjA3NDY5NUY3NDZGNzMzRDAwMjA3NDY5NUY2RDYxNDUKKzoxMDUyNTAwMDc4M0QwMDIwNzQ2OTVGNjI2MTczM0QwMDIwNzQ2OTVGNkUKKzoxMDUyNjAwMDczNjk3QTNEMDAyMDc0Njk1RjczNzQ2NjNEMDAyMDc0MzEKKzoxMDUyNzAwMDY5NUY3MjZGNkYzRDAwMjA3NDY5NUY2NjZDNjczRDAwMDcKKzoxMDUyODAwMDIwNzQ2OTVGNzQ2Rjc0M0QwMDIwNzI2OTVGNzA2MzZFOTMKKzoxMDUyOTAwMDNEMDAyMDcyNjk1RjczNzQ3MjNEMDAyMDcyNjk1RjczMTQKKzoxMDUyQTAwMDc0NjYzRDAwMjA3MjY5NUY3MjZGNkYzRDAwMjA3MjY5MDUKKzoxMDUyQjAwMDVGNjI2MTczM0QwMDIwNzI2OTVGNzM2OTdBM0QwMDIwMEYKKzoxMDUyQzAwMDcyNjk1Rjc0NkY3NDNEMDAyMDcyNjk1RjZENjk2RTNEMzUKKzoxMDUyRDAwMDAwMjA3MjY5NUY2NjZDNjczRDAwMjA3MjY5NUY3NDZGQzEKKzoxMDUyRTAwMDczM0QwMDIwNzI2OTVGNzQ2ODcyM0QwMDIwNzQ2ODVGQ0UKKzoxMDUyRjAwMDczNzQ2NjNEMDAyMDc0Njg1RjczNzQ3MjNEMDAyMDc0OUYKKzoxMDUzMDAwMDY4NUY2MjYxNzMzRDAwMjA3NDY4NUY3MzY5N0EzRDAwNzUKKzoxMDUzMTAwMDIwNzQ2ODVGNzQ3MjY3M0QwMDIwNzQ2ODVGNjY2QzY3MTQKKzoxMDUzMjAwMDNEMDAyMDc0Njg1RjYzNkU3NDNEMDAyMDcyNjg1RjczOTcKKzoxMDUzMzAwMDc0NzIzRDAwMjA3MjY4NUY3Mzc0NjYzRDAwMjA3MjY4NkQKKzoxMDUzNDAwMDVGNjI2MTczM0QwMDIwNzI2ODVGNzM2OTdBM0QwMDIwN0YKKzoxMDUzNTAwMDcyNjg1RjczNzA2MTNEMDAyMDcyNjg1RjYxNzM2RjNEQkEKKzoxMDUzNjAwMDAwMjA3MjY4NUY3MjZGNkYzRDAwMjA3MjY4NUY2NjZDMkMKKzoxMDUzNzAwMDY3M0QwMDIwNkQ1RjYzNjE3MjY1M0QwMDIwNzA3NDVGNjIKKzoxMDUzODAwMDY2NkM2RjNEMDAyMDYxNzM1RjY2NkM2RjNEMDAyMDcyM0MKKzoxMDUzOTAwMDZENUY2NjZDNkYzRDAwMjAyMDIwNzE1RjY5NkUzRDAwN0YKKzoxMDUzQTAwMDIwMjA3MTVGNkY3NTc0M0QwMDIwNzE1RjY0NzI2MTZFQzMKKzoxMDUzQjAwMDNEMDAyMDIwNzE1Rjc0Njk2RDNEMDAyMDIwMjA3MTVGRTkKKzoxMDUzQzAwMDY2NjMzRDAwMjA3MTVGNzM3NDYxNzQzRDAwMjA3MTVGRkUKKzoxMDUzRDAwMDY0NjE3NDYxM0QwMDIwNzE1RjZENkY2NDZEM0QwMDIwRkMKKzoxMDUzRTAwMDY4NjE2RTY0NUY2RjNEMDAyMDY4NjE2RTY0NUY2MjNENUUKKzoxMDUzRjAwMDAwMjA2ODYxNkU2NDVGNjUzRDAwMjA2ODYxNkU2NDVGRDcKKzoxMDU0MDAwMDY5M0QwMDIwMjA2RjcwNkY3Mzc0M0QwMDIwMjA3NDY5MjcKKzoxMDU0MTAwMDZENjU2RjNEMDAyMDYzNzU3Mzc0NkQzMTNEMDAyMDYzRDEKKzoxMDU0MjAwMDc1NzM3NDZEMzIzRDAwMjA2Mzc1NzM3NDZENjQzRDAwNTcKKzoxMDU0MzAwMDIwNzQ3ODcyNjE3NDY1M0QwMDIwNzI3ODcyNjE3NDY1QzEKKzoxMDU0NDAwMDNEMDAyMDIwNjM1RjZENjE3MDNEMDAyMDYzNUY2MTY0RkIKKzoxMDU0NTAwMDY0NzIzRDAwMjA2MzVGNjE2OTczNzIzRDAwMjA2MzVGODkKKzoxMDU0NjAwMDc4NzQ2MTY3M0QwMDIwNjM1RjY0NjU2NjcyM0QwMDIwNkIKKzoxMDU0NzAwMDYzNUY2NjZDNzM2ODNEMDAyMDc0Nzg2RDYxNzg3MzNEN0UKKzoxMDU0ODAwMDAwMjA3MjY5NUY2NTZENzMzRDAwMjAyMDYzNUY2QzczNUYKKzoxMDU0OTAwMDcyM0QwMDIwMjA2MzVGNjk2NTcyM0QwMDIwMjA2MzVGREMKKzoxMDU0QTAwMDY2NjM3MjNEMDAyMDIwNjM1RjZENjM3MjNEMDAyMDIwQzMKKzoxMDU0QjAwMDYzNUY2QzYzNzIzRDAwMjAyMDYzNUY2NDczNzMzRDAwMjMKKzoxMDU0QzAwMDIwNjM1RjY0NzM3MzY5M0QwMDIwNjM1RjY0NzM3MzcyNkMKKzoxMDU0RDAwMDNEMDAyMDIwNjM1RjY5NzM3MjNEMDAyMDIwNjM1RjYzOUQKKzoxMDU0RTAwMDYxNzIzRDAwMjAyMDYzNUY2NTY2NzIzRDAwMjA2MzVGNEUKKzoxMDU0RjAwMDY1NzI3Mzc0M0QwMDIwNjM1RjY1NjM2RTc0M0QwMDIwQzgKKzoxMDU1MDAwMDYzNUY2MjcyNkI2MzNEMDAyMDYzNUY2MjZGNkI2MzNEM0MKKzoxMDU1MTAwMDAwMjA2MzVGNzI2NTcwNkMzRDAwMjA2MzVGNjM2MzczOUUKKzoxMDU1MjAwMDcyM0QwMDIwNjM1RjczNzQ3NDMxM0QwMDIwNjM1RjczQ0MKKzoxMDU1MzAwMDc0NzQzMjNEMDAyQkMwOEVEODhFQzBFOEMyMDBFOEU1RkUKKzoxMDU1NDAwMDAwRkFCRjg0MDBDNzA1REM1NjhDNEQwMkJGMEMwMEM3QjMKKzoxMDU1NTAwMDA1NkU1RThDNEQwMkJGMDQwMEM3MDVCQTVFOEM0RDAyMUQKKzoxMDU1NjAwMEU4RjEwMDkwRTg0OTAxRTgxNjAwRjQ5MEU4RTUwMEJFOTMKKzoxMDU1NzAwMEJBNERFODA5MENBMDkzMTJFODVEMENFOEMyMDlFQkU0MEYKKzoxMDU1ODAwMEU4RDUwQ0U4QzQwQzBBQzA3NEY2OEIxRUY4NzkzQzBEMDMKKzoxMDU1OTAwMDc0MkUzQzA4NzQxNzNDN0Y3NDEzODNGQjIwN0ZFMTg4RDIKKzoxMDU1QTAwMDg3RDY3OTQzODkxRUY4NzlFODc3MENFQkQzMEJEQjc0NDcKKzoxMDU1QjAwMENGNEI4OTFFRjg3OThCMzYxNjdBRThDMTBCRUJDMTkwNzgKKzoxMDU1QzAwMEU4MDIwMEVCQkJDNjg3RDY3OTAwMEJEQjc0MUVBMEQ2QzEKKzoxMDU1RDAwMDc5QkY2MDUxQjkxRDAwOEJEOTA2MEUwN0YyQUUwNzc1NzEKKzoxMDU1RTAwMDE3NDEyQkQ5RDFFMzJFRkY5NzdENTE5MDMzQzBBM0Y4RkIKKzoxMDU1RjAwMDc5QkU4OTRERTg4NzBCQzNCRThENERFODgwMEJFQkVDN0YKKzoxMDU2MDAwMEJBMDAwMkIwOTNFRUIwNTVFRUJBMTAwMkIwOTNFRUIwMEQKKzoxMDU2MTAwMEFBRUVCQTAwMDJFQzNDNTU3NTA4QkExMDAyRUMzQ0FBOUUKKzoxMDU2MjAwMDc0MDNFODJGRjZDM0JBMDQwMkIwMUFFRUIwMjBFRUIwNEQKKzoxMDU2MzAwMDMwRUVCMDQwRUVCMDgwRUVCQTAwMDJCMDEzRUVCMDA3MkMKKzoxMDU2NDAwMEVFQkEwODAyQjA4MEVFQkEwMjAyQjBCQkVFQkEwNDAyQjMKKzoxMDU2NTAwMEIwMDVFRUMzQzYwNkNBMTMwMUM3MDZGODc5MDAwMEM2MzYKKzoxMDU2NjAwMDA2RjY3OTAxQzcwNkQwNzkwMDAwQzcwNkQyNzkwMDAwOTYKKzoxMDU2NzAwMEM3MDZENDc5MDAwMEM3MDZGQTc5MDAwMEM3MDZGQzc5OEUKKzoxMDU2ODAwMDAwMDBDNzA2RkU3OTAwMDBDNzA2MDA3QTAwMDBDNzA2QzIKKzoxMDU2OTAwMDAyN0FDRTU5OEMwRTA0N0FDNzA2MDY3QTAwMDBDNzA2MzUKKzoxMDU2QTAwMDI3N0EwMDAwQzYwNjI5N0EwMEM2MDYyQTdBMDBDMzkwMjcKKzoxMDU2QjAwMEJFMjI0REU4QzgwQUU4M0YwMDJDMzEzQzAxNzdGN0U4RUMKKzoxMDU2QzAwMDgxMDk4QjM2MEM3QUU4QjUwQUJFNkE0REU4QUYwQTBFM0UKKzoxMDU2RDAwMDU4RThGODBBQkU3QTRERThBNDBBQzM5MDYwRDFFMzgzODMKKzoxMDU2RTAwMEZCMTg3MzExMUVCQTAwMDA4RURBMkVGRjk3Qjc1MThCOEMKKzoxMDU2RjAwMEVDODk0NjEwMUY2MUNGOTBFODRGMEIwQUMwNzUwNUU4OTIKKzoxMDU3MDAwMDU2MEJFQkY0QzM5MDgzM0VGODc5MDE3NDE2QkVENzc5M0IKKzoxMDU3MTAwMEU4MzEwQThCRDBBQzNDMkM3NDA0M0MyMDc1MDVFODIzOUUKKzoxMDU3MjAwMDBBRUVDM0U5RDJGRTgzM0VGODc5MDE3NEY2QkVENzc5NUEKKzoxMDU3MzAwMEU4MTEwQThCRDBBQzNDMkM3NDA4M0MyMDc0MDRFOUI3MDcKKzoxMDU3NDAwMEZFOTBFOEZGMDlFRkMzOTA4QjE2MDY3QTgzM0VGODc5NDYKKzoxMDU3NTAwMDAxNzQwQkJFRDc3OUU4RUIwOThCRDBBMzA2N0FCMDIwOTEKKzoxMDU3NjAwMEU4NTcwQjhCMTYwNjdBRUNFODZGMEJDMzhCMTYwNjdBOUMKKzoxMDU3NzAwMDgzM0VGODc5MDE3NDBCQkVENzc5RThDNzA5OEJEMEEzQjMKKzoxMDU3ODAwMDA2N0FCMDIwRTgzMzBCOEIxNjA2N0FFREU4NjcwQkMzNzgKKzoxMDU3OTAwMEZBQzYwNkY2NzkwMEMzOTBDNjA2RjY3OTAxRkJDMzkwRjcKKzoxMDU3QTAwMDA2RTg1ODA5QjAyMEU4MTEwQjI2OEIwNUU4NDcwQkIwMzYKKzoxMDU3QjAwMDA4RTgwNjBCRTgwMzBCRTgwMDBCRThGRDBBQjgwMTAwNTcKKzoxMDU3QzAwMEU4Q0ZGNEJBMDIwMkVDMjQwMTc1MDJFQkRDQkEwNjAyNUYKKzoxMDU3RDAwMEVDMDdDMzkwQzcwNjA4N0ExMDAwRUIwNkM3MDYwODdBRTQKKzoxMDU3RTAwMDAxMDAwNjhFMDZGQzc5OEIzRUZBNzlFODBFMDlFODBCN0IKKzoxMDU3RjAwMDAwODkzRUZBNzk4QzA2RkM3OTA3QzM5MEJFQjI0REU4NjkKKzoxMDU4MDAwMDdDMDk4QjE2MDg3QTUyRTgyQTA5RTgwRjBBRTgwQzBBODQKKzoxMDU4MTAwMDMzREJCOTEwMDA5MDI2OEEwMUU4QkMwOUU4RkQwOTQzOTIKKzoxMDU4MjAwMEUyRjRFOEY3MDlFOEY0MDkzM0RCQjkxMDAwOTAyNjhBQkUKKzoxMDU4MzAwMDAxM0MyMDcyMDUzQzdFNzYwMzkwQjAyRUU4RTMwOTQzREMKKzoxMDU4NDAwMEUyRUNCRUIyNERFODM2MDk4M0M3MTA1QTRBNzVCN0MzQjkKKzoxMDU4NTAwMDA2OEUwNjAwN0E4QjNFRkU3OUU4QTAwODg5M0VGRTc5MjYKKzoxMDU4NjAwMDhDMDYwMDdBNTc4QjM2MEU3QUU4MTIwOUM3MDYwODdBM0EKKzoxMDU4NzAwMDEwMDBCQTAwMDJFOEU4MDBFODgxRkY1RkJBMDAwMEU4MjMKKzoxMDU4ODAwMERFMDBCRUI1NERFOEY2MDg4Q0MwRTgzRjA5QjAzQUU4NDYKKzoxMDU4OTAwMDkwMDk4QkM3RTgzNTA5RTg3RTA4RThDMzAwOTBFOEI3QUYKKzoxMDU4QTAwMDA5RThBNjA5MEFDMDc0RjYzQzBCNzUwNjgzRUYxMEVCRjUKKzoxMDU4QjAwMDE5OTAzQzBBNzUwNjgzQzcxMEVCMEY5MDNDMEM3NTA0RDkKKzoxMDU4QzAwMDQ3RUIwNzkwM0MwODc1MjQ0RjkwOEIzNkZFNzk4QkM3QzkKKzoxMDU4RDAwMDJCQzYzRDAwMDE3MkE1M0QxMDAxNzIwNDgzRUUyMDkwOUQKKzoxMDU4RTAwMDgzQzYxMDg5MzZGRTc5NTc4QkZFRUI4MDNDMkU3NTA4RjcKKzoxMDU4RjAwMEJBMDExM0U4NkEwMDA3QzNDNjA2MEE3QTAyMzJDOTkwRTEKKzoxMDU5MDAwMDNDMzA3MjRDM0MzOTc2MEMyNDVGM0M0MTcyNDIzQzQ2NDAKKzoxMDU5MTAwMDc3M0UyQzA3MkMzMDUwRThDQzA4NTgwMkM4RkUwRTBBRkYKKzoxMDU5MjAwMDdBNzQwRkMwRTEwNEU4MkYwOUU4MUUwOTBBQzA3NEY2NzIKKzoxMDU5MzAwMEVCQ0UyNjg4MERFOEUwMDc4QUQwRTgyMzAwOEFDMTNDMzgKKzoxMDU5NDAwMDIwNzIwNTNDN0U3NjAzOTBCMDJFRThENTA4RTk3MEZGMDIKKzoxMDU5NTAwMEU4QzUwN0U4MEEwMDI2OEEwNUU4N0MwOEU5MURGRjkwRUIKKzoxMDU5NjAwMEY2MDYyNjdBMDI3NTAyODZGMjUyOEIzNjFBN0FFODBEMEUKKzoxMDU5NzAwMDA4NUE1MjhBQzYwMjA2MjQ3QUY2MDYyNjdBMDE3NTA2NjUKKzoxMDU5ODAwMEU4OUYwOEVCMEQ5MDMyRTRFODBEMDg4QjM2MUM3QUU4QUUKKzoxMDU5OTAwMEVDMDc1QThBQzIwMjA2MjU3QUY2MDYyNjdBMDE3NTA2QUYKKzoxMDU5QTAwMEU4N0YwOEVCMDY5MDMyRTRFOEVEMDc4QjM2MUU3QUU4RDQKKzoxMDU5QjAwMENDMDdDMzkwMDY4RTA2MDQ3QThCM0UwMjdBRTgzQzA3MzkKKzoxMDU5QzAwMDg5M0UwMjdBOEMwNjA0N0EwN0ZGMUUwMjdBQzNCRTk3Q0MKKzoxMDU5RDAwMDRERThBQTA3Q0I5MDA2NTdCRUQ3NzlFODY2MDc4QkQ4NjMKKzoxMDU5RTAwMEU4NjEwNzhCQzgyQkNCNzgxMThFQzNCRjAwMDBCOEZGQ0UKKzoxMDU5RjAwMEZGNTFCOTA4MDBGM0FCNTlFMkY3NUYwN0MzOTAwNkJFNDkKKzoxMDVBMDAwMEQ3NzlFODNGMDc4QkQ4RDFFMzJFOEI5RjQ0MDBCRTI2ODEKKzoxMDVBMTAwMDUyRThGMTA4OEJDM0U4REQwOEI4MDEwMEU4NzNGMkU4NEEKKzoxMDVBMjAwMEUwMDhCRTJGNTJFOEREMDg4QjQ3MThFOEM4MDhCRTc3QUIKKzoxMDVBMzAwMDUyRThEMTA4OEI0NzI2RThCQzA4QkU1MzUyRThDNTA4OTcKKzoxMDVBNDAwMDhCNDcxRUU4QjAwOEJFNUM1MkU4QjkwODhCNDcyMEU4RDcKKzoxMDVBNTAwMEE0MDhCRTZFNTJFOEFEMDg4QjQ3MjRFODk4MDhCRTgwQzMKKzoxMDVBNjAwMDUyRThBMTA4OEI0NzJBRTg4QzA4RTg5NTA4QkUzODUyMEUKKzoxMDVBNzAwMEU4OTIwODhCMDdFODdFMDhCRTQxNTJFODg3MDg4QjQ3MEEKKzoxMDVBODAwMDFBRTg3MjA4QkU0QTUyRTg3QjA4OEI0NzFDRTg2NjA4OTEKKzoxMDVBOTAwMEJFNjU1MkU4NkYwODhCNDcyMkU4NUEwOEU4NjMwOEJFRTMKKzoxMDVBQTAwMEQxNTJFODYwMDg4QjQ3MzhFODRCMDhCRUFENTJFODU0NDUKKzoxMDVBQjAwMDA4OEI0NzMwRTgzRjA4QkVCNjUyRTg0ODA4OEI0NzMyQUIKKzoxMDVBQzAwMEU4MzMwOEJFQTQ1MkU4M0MwODhCNDcyRUU4MjcwOEJFRkUKKzoxMDVBRDAwMEJGNTJFODMwMDg4QjQ3MzRFODFCMDhFODI0MDhCRTg5MjkKKzoxMDVBRTAwMDUyRTgyMTA4OEI0NzA0RTgwQzA4QkU5MjUyRTgxNTA4REEKKzoxMDVBRjAwMDhCNDcxNEU4MDAwOEJFOUI1MkU4MDkwODhCNDcyQ0U4NDYKKzoxMDVCMDAwMEY0MDdCRUM4NTJFOEZEMDc4QjQ3MzZFOEU4MDdCRURBNUYKKzoxMDVCMTAwMDUyRThGMTA3OEI0NzNBRThEQzA3QkVFMzUyRThFNTA3QjUKKzoxMDVCMjAwMDhCNDczQ0U4RDAwN0U4RDkwN0JFMTk1M0U4RDYwNzhCNjYKKzoxMDVCMzAwMDQ3NDhFOEMxMDdCRUZFNTJFOENBMDc4QjQ3NDJFOEI1QUUKKzoxMDVCNDAwMDA3QkUwNzUzRThCRTA3OEI0NzQ0RThBOTA3QkU3QzUzNEUKKzoxMDVCNTAwMEU4QjIwNzhCNDc0Q0U4OUQwN0JFODU1M0U4QTYwNzhCNDQKKzoxMDVCNjAwMDQ3NEVFODkxMDdCRThFNTNFODlBMDc4QjQ3NTBFODg1NjkKKzoxMDVCNzAwMDA3RTg4RTA3QkUyMjUzRTg4QjA3OEI0NzRBRTg3NjA3NzMKKzoxMDVCODAwMEJFRUM1MkU4N0YwNzhCNDcwOEU4NkEwN0JFRjU1MkU4OEIKKzoxMDVCOTAwMDczMDc4QjQ3NDBFODVFMDdCRTEwNTNFODY3MDc4QjQ3RTMKKzoxMDVCQTAwMDQ2RTg1MjA3RTg1QjA3QkU2QTUzRTg1ODA3OEI0NzdBMTYKKzoxMDVCQjAwMEU4NDMwN0JFM0Q1M0U4NEMwNzhCNDc3MEU4MzcwN0JFMDQKKzoxMDVCQzAwMDQ2NTNFODQwMDc4QjQ3NzJFODJCMDdCRTRGNTNFODM0MzMKKzoxMDVCRDAwMDA3OEI0Nzc0RTgxRjA3RTgyODA3QkUyQjUzRTgyNTA3MDMKKzoxMDVCRTAwMDhCNDcwQ0U4MTAwN0JFMzQ1M0U4MTkwNzhCNDcxMEU4QzEKKzoxMDVCRjAwMDA0MDdCRTU4NTNFODBEMDc4QjQ3NzZFOEY4MDZCRTYxRTgKKzoxMDVDMDAwMDUzRTgwMTA3OEI0Nzc4RThFQzA2QkU3MzUzRThGNTA2QzYKKzoxMDVDMTAwMDhCNDczRUU4RTAwNkU4RTkwNkJFOTc1M0U4RTYwNjhCQzgKKzoxMDVDMjAwMDQ3NTJFOEQxMDZCRUEwNTNFOERBMDY4QjQ3NTRFOEM1RDAKKzoxMDVDMzAwMDA2QkVBOTUzRThDRTA2OEI0NzU2RThCOTA2QkVCMjUzNTYKKzoxMDVDNDAwMEU4QzIwNjhCNDc1OEU4QUQwNkJFQkI1M0U4QjYwNjhCRTQKKzoxMDVDNTAwMDQ3NUFFOEExMDZCRUM0NTNFOEFBMDY4QjQ3NUNFODk1RkMKKzoxMDVDNjAwMDA2RTg5RTA2QkVDRDUzRTg5QjA2OEI0NzVFRTg4NjA2OTcKKzoxMDVDNzAwMEJFRDY1M0U4OEYwNjhCNDc2MEU4N0EwNkJFREY1M0U4NEUKKzoxMDVDODAwMDgzMDY4QjQ3NjJFODZFMDZCRUU4NTNFODc3MDY4QjQ3Q0IKKzoxMDVDOTAwMDdDRTg2MjA2QkVGMTUzRTg2QjA2OEI0NzdFRTg1NjA2NDkKKzoxMDVDQTAwMEJFRkE1M0U4NUYwNjhCODc4MDAwRTg0OTA2RTg1MjA2OTMKKzoxMDVDQjAwMEJFNDI1NEU4NEYwNjhCODc5RTAwRTgzOTA2QkUwMzU0NjcKKzoxMDVDQzAwMEU4NDIwNjhCNDc2NEU4MkQwNkJFMEM1NEU4MzYwNjhCODYKKzoxMDVDRDAwMDQ3NkVFODIxMDZCRTE1NTRFODJBMDY4Qjg3OEUwMEU4MzkKKzoxMDVDRTAwMDE0MDZCRTFFNTRFODFEMDY4Qjg3OTAwMEU4MDcwNkJFMEEKKzoxMDVDRjAwMDI3NTRFODEwMDY4Qjg3OTIwMEU4RkEwNUU4MDMwNkJFRjEKKzoxMDVEMDAwMDMwNTRFODAwMDY4Qjg3OTQwMEU4RUEwNUJFMzk1NEU4NzEKKzoxMDVEMTAwMEYzMDU4Qjg3OTYwMEU4REQwNUJFNkY1NEU4RTYwNThCM0EKKzoxMDVEMjAwMDg3OTgwMEU4RDAwNUJFNUQ1NEU4RDkwNThBODdBMDAwQjEKKzoxMDVEMzAwMEU4QTcwNUJFNTQ1NEU4Q0MwNThBNDcyOEU4OUIwNUJFNzEKKzoxMDVENDAwMDY2NTRFOEMwMDU4QTg3QTEwMEU4OEUwNUU4QjMwNUJFNjEKKzoxMDVENTAwMDc4NTRFOEIwMDU4QTg3QTIwMEU4N0UwNUJFODE1NEU4NDEKKzoxMDVENjAwMEEzMDU4QTg3QTMwMEU4NzEwNUJFOEE1NEU4OTYwNThBRDAKKzoxMDVENzAwMDg3QTQwMEU4NjQwNUJFOTM1NEU4ODkwNThBODdBNTAwRDYKKzoxMDVEODAwMEU4NTcwNUJFOUM1NEU4N0MwNThBODdBNjAwRTg0QTA1Q0EKKzoxMDVEOTAwMEJFQTU1NEU4NkYwNThBODdBNzAwRTgzRDA1QkVBRTU0NEUKKzoxMDVEQTAwMEU4NjIwNThBODdBODAwRTgzMDA1RTg1NTA1QkVCNzU0QzMKKzoxMDVEQjAwMEU4NTIwNThBODdBOTAwRTgyMDA1QkVDMDU0RTg0NTA1RDkKKzoxMDVEQzAwMDhBODdBQTAwRTgxMzA1QkVDOTU0RTgzODA1OEE4N0FCNUMKKzoxMDVERDAwMDAwRTgwNjA1QkVEMjU0RTgyQjA1OEE4N0FEMDBFOEY5MzUKKzoxMDVERTAwMDA0QkVEQjU0RTgxRTA1OEE4N0FFMDBFOEVDMDRCRUU0N0UKKzoxMDVERjAwMDU0RTgxMTA1OEE4N0FGMDBFOERGMDRCRUVENTRFODA0REIKKzoxMDVFMDAwMDA1OEE4N0IwMDBFOEQyMDRFOEY3MDRCRUY2NTRFOEY0NDcKKzoxMDVFMTAwMDA0OEE4N0IxMDBFOEMyMDRCRUZGNTRFOEU3MDQ4QTg3MTkKKzoxMDVFMjAwMEIyMDBFOEI1MDRCRTA4NTVFOERBMDQ4QTg3QjMwMEU4OTIKKzoxMDVFMzAwMEE4MDRCRTExNTVFOENEMDQ4QTg3QkIwMEU4OUIwNEU4OUUKKzoxMDVFNDAwMEMwMDRCRTFBNTVFOEJEMDQ4QTg3QkMwMEU4OEIwNEJFQjYKKzoxMDVFNTAwMDIzNTVFOEIwMDQ4QTg3QkUwMEU4N0UwNEJFMkM1NUU4Q0UKKzoxMDVFNjAwMEEzMDQ4QTg3QkYwMEU4NzEwNEU4OTYwNDA3QzM2MDA2QUMKKzoxMDVFNzAwMDFFMTY4QkVDRkY0RTE2Rjc0NjFBMDAwMjc0MDFGQkI4OTMKKzoxMDVFODAwMDAwMDA4RUQ4OEVDMDg5MkUyRDdBRThDQjAwODE2NjFBNEMKKzoxMDVFOTAwMEZGRkVDNjA2MkE3QTAwRThEODAwQjgwMDVGQTMyQjdBNzYKKzoxMDVFQTAwMEU4NUQwMDgwM0UyQTdBMDA3NDBBODE0RTFBMDAwMUM2MUQKKzoxMDVFQjAwMDA2MkE3QTAwMTcxRjA3NjFDRjkwNjAwNjFFMTY4QkVDMkEKKzoxMDVFQzAwMEY3NDYxQTAwMDI3NDAxRkJCODAwMDA4RUQ4OEVDMDg5MTQKKzoxMDVFRDAwMDJFMkQ3QTgxNjYxQUZGRkVDNjA2MkE3QTAwRTg5MjAwMDUKKzoxMDVFRTAwMEI4MDA1RkEzMkI3QUU4MTcwMDgwM0UyQTdBMDA3NDBBNzQKKzoxMDVFRjAwMDgxNEUxQTAwMDFDNjA2MkE3QTAwMTcxRjA3NjFDRjkwNEIKKzoxMDVGMDAwMEI4RjAwMEU4OENFREZGMjYyQjdBQzM5MDA2NTM1NjgwM0MKKzoxMDVGMTAwMDNFMjk3QTAwNzQwM0U4M0YwMEJFRDc3OUU4MjUwMjhCNUEKKzoxMDVGMjAwMEQ4QTMyNzdBMkU4QTA3QTIyOTdBQjBDQzJFODgwNzVFQkEKKzoxMDVGMzAwMDVCMDdDM0M2MDYyQTdBMDBCODBBNUZBMzJCN0FDMzkwMTAKKzoxMDVGNDAwMDhCMkUyRDdBRTgyQjAwQzNDNjA2MkE3QTAxRTgwODAwQkEKKzoxMDVGNTAwMEI4MEE1RkEzMkI3QUMzOTA1NzgwM0UyOTdBMDA3NDBGNEEKKzoxMDVGNjAwMDhCM0UyNzdBQTAyOTdBMkU4ODA1QzYwNjI5N0EwMDVGRkIKKzoxMDVGNzAwMEMzOTBCRUIyNERFODA2MDJCRUQ4NTFFODAwMDJGRjc2REIKKzoxMDVGODAwMDE0NThFODQ3MDJCRURFNTFFOEYzMDFGRjc2MEU1OEU4RTgKKzoxMDVGOTAwMDNBMDJCRUU0NTFFOEU2MDFGRjc2MTI1OEU4MkQwMkJFNEYKKzoxMDVGQTAwMEVBNTFFOEQ5MDFGRjc2MTA1OEU4MjAwMkJFMTQ1MkU4MDEKKzoxMDVGQjAwMENDMDFGRjc2MEE1OEU4MTMwMkJFMUE1MkU4QkYwMUZGNkYKKzoxMDVGQzAwMDc2MEM1OEU4MDYwMkJFQ0Y1MUU4QjIwMUZGNzYxQTU4QTcKKzoxMDVGRDAwMEU4RjkwMUJFQjI0REU4QTUwMUJFRjA1MUU4OUYwMUZGMEUKKzoxMDVGRTAwMDc2MTg1OEU4RTYwMUJFRjY1MUU4OTIwMUZGNzYwMjU4QUQKKzoxMDVGRjAwMEU4RDkwMUJFRkM1MUU4ODUwMUZGNzYwNDU4RThDQzAxRTAKKzoxMDYwMDAwMEJFMDI1MkU4NzgwMUZGNzYwMDU4RThCRjAxQkUwODUyOTAKKzoxMDYwMTAwMEU4NkIwMUZGNzYwNjU4RThCMjAxQkUwRTUyRTg1RTAxNTkKKzoxMDYwMjAwMEZGNzYwODU4RThBNTAxQkUyMDUyRTg1MTAxRkY3NjE2MTgKKzoxMDYwMzAwMDU4RTg5ODAxQkU4OTRERTg0NDAxQzM5MEJFQzk0REU4QjcKKzoxMDYwNDAwMDNDMDFDMzNDMDA3NDA1M0MwMTc0NTlDM0M3MDYwQzdBN0IKKzoxMDYwNTAwMENENTBDNzA2MEU3QUYwNTBDNzA2MTA3QUU4NTBDNzA2MzIKKzoxMDYwNjAwMDEyN0FFQzUwQzcwNjE0N0FGNDUwQzcwNjE2N0FGQjUwMjEKKzoxMDYwNzAwMEM3MDYxODdBMDM1MUM3MDYxQTdBMEI1MUM3MDYxQzdBNEQKKzoxMDYwODAwMDBFNTFDNzA2MUU3QTEwNTFDNzA2MjA3QTEyNTFDNzA2NTQKKzoxMDYwOTAwMDIyN0ExNjUxQzYwNjI0N0EwMUM2MDYyNTdBMDFDNjA2NUEKKzoxMDYwQTAwMDI2N0EwM0MzQzcwNjBDN0ExQTUxQzcwNjBFN0E0RDUxRDkKKzoxMDYwQjAwMEM3MDYxMDdBNDc1MUM3MDYxMjdBNEE1MUM3MDYxNDdBQTIKKzoxMDYwQzAwMDRGNTFDNzA2MTY3QTUxNTFDNzA2MTg3QTU1NTFDNzA2NUYKKzoxMDYwRDAwMDFBN0E1NjUxQzcwNjFDN0E1OTUxQzcwNjFFN0E1QTUxNjgKKzoxMDYwRTAwMEM3MDYyMDdBNUI1MUM3MDYyMjdBNUU1MUM2MDYyNDdBMUIKKzoxMDYwRjAwMDIwQzYwNjI1N0EyMEM2MDYyNjdBMDJDM0ExRjg3OTQ4NkEKKzoxMDYxMDAwMDc0MTRCRUQ3NzlFODNDMDA4QkY4QUMzQzNBNzUwNzhFMjYKKzoxMDYxMTAwMEM3RTgzMDAwOEJGOEMzOTA4QkM3MkIwNkZFNzk4QUYwNTYKKzoxMDYxMjAwMDI0MEY4QUQwMDJEMDAyRDA4MEMyMEJDMEVFMDQ4MEM2RjkKKzoxMDYxMzAwMDAzMDQzREMzOENDMEU4OTMwMEIwM0FFOEU0MDA4QkM3ODkKKzoxMDYxNDAwMEU4ODkwMEMzNTEzM0M5OTBBQzNDMjA3NEZCOTAwQUMwNkQKKzoxMDYxNTAwMDc0MjYyQzMwNzIyMjNDMDk3NjE0M0MxMTcyMUEyQzA3REEKKzoxMDYxNjAwMDNDMEY3NjBBM0MyQTcyMTAyQzIwM0MwRjc3MEE5OEMxMEIKKzoxMDYxNzAwMEUxMDQwM0M4QUNFQkQ3OTA0RThCQzE1OUMzOTAwNjhDOTkKKzoxMDYxODAwMEM4OEVDMEU4MDIwMDA3QzMyNjhBMDQ0NjBBQzA3NDA2MDcKKzoxMDYxOTAwMEU4OEYwMEVCRjM5MEMzOTAwQkMwNzQ3QTUxMzNEMkI5RkYKKzoxMDYxQTAwMEU4MDNGN0YxOEJDQUU4MDMwMDhCQzE1OUJBNjQwMEY2MjMKKzoxMDYxQjAwMEYyRTgwQzAwOEFDNDk4QjIwQUY2RjJFODAyMDA4QUM0MzcKKzoxMDYxQzAwMDUwMEFGMDc0MDUwNDMwRTg1ODAwNThDMzg2QzRFODA3NDQKKzoxMDYxRDAwMDAwODZDNEU4MDIwMEMzOTBDMUM4MDRFODA4MDBDMUMwM0EKKzoxMDYxRTAwMDA0RTgwMjAwQzM5MDUzNTAyNDBGQkJDQTYyMkVEN0U4QzQKKzoxMDYxRjAwMDMwMDA1ODVCQzM5MDg2QzRFODA3MDA4NkM0RTgwMjAwRkMKKzoxMDYyMDAwMEMzOTA1MEI5MDgwMDhBRTAzMkMwRDFDMDA0MzBFODExMTAKKzoxMDYyMTAwMDAwRTJGNTU4QzM5MEIwMzBFODA3MDBDM0IwMjBFODAxQjEKKzoxMDYyMjAwMDAwQzM1NjhCMzZEMDc5ODg4NEQwNzc0NjgxRTZGRjAxNEIKKzoxMDYyMzAwMEZGMDZENDc5ODkzNkQwNzk4MTNFRDQ3OUZFMDE3NTA4N0MKKzoxMDYyNDAwMDU2RTgxNDAwNUVFQkYxOTA1RUMzQkEwMjAyRUMyNDAxNDIKKzoxMDYyNTAwMDc0MDRCQTA2MDJFQ0MzOTA4MDNFRjY3OTAwNzQwOTYwQkIKKzoxMDYyNjAwMEI4MDEwMEU4MkNFQTYxOTBCQTAyMDJFQ0E4MDQ3NDI4OTQKKzoxMDYyNzAwMDhCMzZEMjc5ODMzRUQ0NzkwMDc0MUQ4QTg0RDA3NzQ2RDgKKzoxMDYyODAwMDgxRTZGRjAxODkzNkQyNzlGRjBFRDQ3OUJBMDYwMkVFOTMKKzoxMDYyOTAwMEJBMDIwMkVDQTgwNDc1RENBMUQ0NzlDMzUyQkEwNjAyOTIKKzoxMDYyQTAwMEVFNUFDMzkwNTI1MEJBMDIwMkVDQTgwNDc0MDg1ODVBMkQKKzoxMDYyQjAwMEU4RTlGRkY5QzM5MDU4NUFGOEMzNTI1MEJBMDIwMkVDMDkKKzoxMDYyQzAwMEE4MDQ3NEZCNTg1QUU4RDNGRkMzMzAzMTMyMzMzNDM1NTUKKzoxMDYyRDAwMDM2MzczODM5NDE0MjQzNDQ0NTQ2NTM1MDhBRTA4MEU0REEKKzoxMDYyRTAwMDBGQkJDQTYyQzBFODA0MkVEN0U4Q0VGRjhBQzQyRUQ3RkYKKzoxMDYyRjAwMEU4QzdGRjU4NUJDMzg2RTBFOERGRkY4NkUwRThEQUZGMjcKKzoxMDYzMDAwMEMzOTBCRUIyNEQ1MDJFQUMzQzAwNzQwNUU4QUJGRkVCMjEKKzoxMDYzMTAwMEY1NThDMzkwQzgwODAwMDA1NjU3OEI3NjA0QkYwNDAwOTgKKzoxMDYzMjAwMEM3NDZGQzAwMDBDNzQ2RkEwMDAwQzc0NkY4MDAwMDgzRDUKKzoxMDYzMzAwMDdFMDYwMDc1MEU1NkU4QjYwRTU5MEJDMDc1MDU4QkM3NjQKKzoxMDYzNDAwMEU5NUIwMThCNDZGQzg5NDZGRTBCRkY3NTA1QjgwMTAwMzEKKzoxMDYzNTAwMEVCMDIzM0MwNTA1NkU4QTQwRDU5NTlCNDAwODk0NkZDRUQKKzoxMDYzNjAwMDhCNUVGQzgzRkIwODc2MDNFOTJCMDFEMUUzMkVGRkE3QUMKKzoxMDYzNzAwMEIyNjRCODAzMDBFOTI2MDE4MzdFRkEwMDc0MTRDNzQ2QUMKKzoxMDYzODAwMEZBMDAwMDhBNDQ1ODk4NTA4QTQ0NTk5ODUwRThDMjBGM0QKKzoxMDYzOTAwMDU5NTk4MzdFRjgwMDc0MEFDNzQ2RjgwMDAwNTZFODlCRjYKKzoxMDYzQTAwMDA4NTk4MzdFMDYwMDc1MDU4QkM3RTlGMTAwODNGRjA0NTkKKzoxMDYzQjAwMDc1MDNFOUU2MDA4QkM3RTlFNDAwODM3RUZFMDA3NTAzMDAKKzoxMDYzQzAwMEJGMDIwMEU5RDUwMDgzN0VGRTAwNzUwM0JGMDEwMEU5MkUKKzoxMDYzRDAwMEM5MDA4QjVFRkU4M0ZCMDc3NjAzRTk4NjAwRDFFMzJFQkUKKzoxMDYzRTAwMEZGQTdBMjY0MzNGRkU5N0YwMEJGMDQwMDgwN0M1ODBGNDEKKzoxMDYzRjAwMDc0MjI4MzdFRjgwMDc1MUNGRTQ0NTg2QTA4NTZFODdFQjUKKzoxMDY0MDAwMDBDNTk1OThBNDQ1ODA0ODA1MDU2RTg3MjBDNTk1OUM3OUYKKzoxMDY0MTAwMDQ2RkEwMTAwODM3RUY4MDA3NDBBQzc0NkY4MDAwMDU2NjkKKzoxMDY0MjAwMEU4MTkwODU5RUI0MkJGMDQwMDgwN0M1ODAwNzQyMjgzQUQKKzoxMDY0MzAwMDdFRjgwMDc1MUNGRTRDNTg2QTA4NTZFODQxMEM1OTU5MDQKKzoxMDY0NDAwMDhBNDQ1ODA0ODA1MDU2RTgzNTBDNTk1OUM3NDZGQTAxMTkKKzoxMDY0NTAwMDAwODM3RUY4MDA3NDBBQzc0NkY4MDAwMDU2RThEQzA3OUYKKzoxMDY0NjAwMDU5RUIwNUJGMDQwMEVCMDBFQjMxQkYwNDAwRUIyQ0M3NzgKKzoxMDY0NzAwMDQ2RjgwMTAwNkEwODU2RTgwNTBDNTk1OTgwN0M1ODA5MEQKKzoxMDY0ODAwMDdEMDRCMDBGRUIwMkIwMDAwNDgwNTA1NkU4RjAwQjU5QzkKKzoxMDY0OTAwMDU5QkYwNDAwRUIwNUJGMDQwMEVCMDBFOUE1RkU1RjVFRjkKKzoxMDY0QTAwMEM5QzNFNDYzNjM2NDYzNjQ2MzY0NjM2NEU5NjMyNjY0MjcKKzoxMDY0QjAwMDUxNjQ3ODYzQkE2M0M2NjM5NjY0RDI2MzZBNjQ2QTY0M0IKKzoxMDY0QzAwMDZGNjQ3MjYzQzgwODAwMDA1NjU3OEI3NjA0OEI3RTA4OTEKKzoxMDY0RDAwMDZBMDE1NkU4QTkwQjU5NTk4QTQ2MDZDMEUwMDYwNDgwQUQKKzoxMDY0RTAwMDUwNTZFODlBMEI1OTU5Qzc0NkZFMDAwMDg5N0VGOEVCRDIKKzoxMDY0RjAwMDAzRkY0NkZFOEI1RUY4RkY0NkY4ODAzRjAwNzVGMjgzOEYKKzoxMDY1MDAwMDdFRkUxMDdEMjVCODEwMDAyQjQ2RkVEMUY4ODk0NkZDOTIKKzoxMDY1MTAwMEM3NDZGQTAwMDBFQjBCNkEyMDU2RTg2MjBCNTk1OUZGOTgKKzoxMDY1MjAwMDQ2RkE4QjQ2RkEzQjQ2RkM3Q0VERUIwQzhCREY0NzhBNDgKKzoxMDY1MzAwMDA3NTA1NkU4NDkwQjU5NTk4MDNEMDA3NUVGNkEwMjU2REQKKzoxMDY1NDAwMEU4M0MwQjU5NTlFQjAwNUY1RUM5QzNDODA0MDAwMDU2MTQKKzoxMDY1NTAwMDU3OEI3RTA0Qzc0NkZFMDAwMEJFMTQwMEU5MDkwMThCN0MKKzoxMDY1NjAwMDVFRkU4M0MzMDQyQkRGOEE4N0FDMEI4ODQ0NUFDNjQ0ODMKKzoxMDY1NzAwMDU4MDg4QTQ2RkU4ODQ0NTlDNzQ0MDYwMDAwQzY0NDE5OTQKKzoxMDY1ODAwMDAwQzY0NDFBMDBDNjQ0MUIwMEM2NDQxRDBEQzY0NDFFNjYKKzoxMDY1OTAwMDAzQzY0NDFGMDBDNjQ0MjAwMEM2NDQyMTAwQzY0NDVCMTUKKzoxMDY1QTAwMDAwQzY0NDVEMDBDNjQ0NUUwMEM2NDQ1RjAwQzY0NDYwNDkKKzoxMDY1QjAwMDAwQzc0NkZDMDAwMEVCMEQ4QjVFRkNEMUUzQzc0MDMwMEEKKzoxMDY1QzAwMDAwMDBGRjQ2RkM4MzdFRkMxMDdDRURDNzQ2RkMwMDAwMEIKKzoxMDY1RDAwMEVCMEE4QjVFRkNDNjQwNTAwMEZGNDZGQzgzN0VGQzA0NDkKKzoxMDY1RTAwMDdDRjBDNzQ0NTQwMDAwQzc0NDU2MDAwMDhBNDQ1QTk4QkYKKzoxMDY1RjAwMEJBRjgwMDIzRDBCODA1MDAwQkMyODk0NkZDOUNGQThBODEKKzoxMDY2MDAwMDQ2RkNCQUZFMDBFRUJBMDAwMEVDOUQyNDA4ODg0NkZDNjkKKzoxMDY2MTAwMDgzN0VGQzAwNzUwMkVCNEFGRjc2RkVFODdBMEM1OTY4MkYKKzoxMDY2MjAwMDM1MDI1NkU4MzIwQTU5NTkwQkMwNzUzNDY4MzgwMjU2OUIKKzoxMDY2MzAwMEU4MjUwQTU5NTkwQkMwNzUyNzY4NDIwMjU2RTgxODBBMUUKKzoxMDY2NDAwMDU5NTkwQkMwNzUxQTY4NEMwMjU2RTgwQjBBNTk1OTBCNzgKKzoxMDY2NTAwMEMwNzUwRDY4NTYwMjU2RThGRTA5NTk1OTBCQzA3NDAyMDAKKzoxMDY2NjAwMEVCMDBGRjQ2RkU4M0M2NjIzOTdFRkU3RDAzRTlFRkZFNDYKKzoxMDY2NzAwMEVCMDA1RjVFQzlDM0M4MDgwMDAwNTY1NzhCNDYwNEJBREEKKzoxMDY2ODAwMDYyMDBGN0VBMDUxNDAwOEJGMDgzN0UwNjAwNzQwNUI4RkIKKzoxMDY2OTAwMDEwMDBFQjAzQjgwODAwODk0NDA0OEE0NjA4ODg0NDVDNkIKKzoxMDY2QTAwMDU2RTg1OTA0NTk4QkY4OEJDNzg5NDQ1Njg5NDQ1NDhBNTMKKzoxMDY2QjAwMDQ0NUQ4ODQ0MkYwQkZGNzUxRDY4QzIwRjZBMDE1NkU4QzAKKzoxMDY2QzAwMDAyRkU4M0M0MDZFQjAwNkEwMTU2RTg0N0ZDNTk1OTBCRTkKKzoxMDY2RDAwMEMwNzVGNEJGMDEwMDg5N0VGQUI5MDUwMEJCRTk2QTJFRDYKKzoxMDY2RTAwMDhCMDczQjQ2RkE3NDA3NDM0M0UyRjRFOUE0MDMyRUZGMDkKKzoxMDY2RjAwMDY3MEFDNzQ0MDYwMjAwQzc0NDA4RjQwODhCNUUwNEQxNDkKKzoxMDY3MDAwMEUzOEI4N0ZDMDg4OTQ0MEEzM0MwOEJGODg5NDQ1NEU5MzkKKzoxMDY3MTAwMDgwMDM1NkU4QkIwNTU5QkYwMTAwOEE0NDVEODg0NDYwODgKKzoxMDY3MjAwMEU5NkYwMzgzN0MwNDA4NzUzMDgwN0M1QzAxNzUxNThBRjEKKzoxMDY3MzAwMDQ0NURCNDAwRDFFMDhCRDhGRkI3RTQwODU2RThGNzA4MTEKKzoxMDY3NDAwMDU5NTlFQjEzOEE0NDVEQjQwMEQxRTA4QkQ4RkZCN0M0MkMKKzoxMDY3NTAwMDA4NTZFOEUyMDg1OTU5RUIyRTgwN0M1QzAxNzUxNThBRDEKKzoxMDY3NjAwMDQ0NURCNDAwRDFFMDhCRDhGRkI3RDQwODU2RThDNzA4MjEKKzoxMDY3NzAwMDU5NTlFQjEzOEE0NDVEQjQwMEQxRTA4QkQ4RkZCN0I0MEMKKzoxMDY3ODAwMDA4NTZFOEIyMDg1OTU5NkEwMTU2RTg4N0ZCNTk1OThCRUYKKzoxMDY3OTAwMEQ4ODNGQjAzNzcyQUQxRTMyRUZGQTdFMTZBQkYwMTAwNkMKKzoxMDY3QTAwMDhBNDQ1RDg4NDQ1RUVCMTg4QTQ0NUQwNEZGMjQwNzg4QjAKKzoxMDY3QjAwMDQ0NURFQjBDOEE0NDVERkVDMDI0MDc4ODQ0NURFQjAwMTkKKzoxMDY3QzAwMEU5Q0YwMjhBNDQ1REI0MDBEMUUwOEJEOEZGQjdGRDAyNjcKKzoxMDY3RDAwMDU2RTg2MzA4NTk1OTY4MUQwMzU2RTg1QTA4NTk1OTZBMUEKKzoxMDY3RTAwMDAxNTZFODJGRkI1OTU5OEJEODgzRkIwMzc3MzZEMUUzNDkKKzoxMDY3RjAwMDJFRkZBN0Q5NkFCRjAxMDA4QTQ0NUQ4ODQ0NUZFQjI0NUQKKzoxMDY4MDAwMDhBNDQ1RDA0RkY4QTU0MDQ4MEMyRkYyMkMyODg0NDVEMkEKKzoxMDY4MTAwMEVCMTI4QTQ0NURGRUMwOEE1NDA0ODBDMkZGMjJDMjg4MDMKKzoxMDY4MjAwMDQ0NURFQjAwRTk2QjAyOEI1QzA2ODNDM0ZFRDFFMzhCMTYKKzoxMDY4MzAwMDQwMDg4OTA0OEIxQ0ZGNzcwNjZBMDA1NkU4ODVGQzgzQjQKKzoxMDY4NDAwMEM0MDY4QjVDMDY0QkQxRTM4QjQwMDg4OTQ0MDI4QjVDMDkKKzoxMDY4NTAwMDAyRkY3NzA2NkEwMTU2RTg2QUZDODNDNDA2NkEwMTU2OUQKKzoxMDY4NjAwMEU4QjFGQTU5NTk4QkQ4ODNGQjAzNzYwM0U5MUYwMkQxQUIKKzoxMDY4NzAwMEUzMkVGRkE3RDE2QThCNUMwMjhCNDcwNDg5NDQwMjhCMEQKKzoxMDY4ODAwMDVDMDI4MDNGNDQ3NTBEOEI1QzAyOEE0NzAxQjQwMDNCN0IKKzoxMDY4OTAwMDQ0MDQ3REUyOEI0NjA0RDFFMDhCMUMwM0Q4OEI0NDAyNzgKKzoxMDY4QTAwMDg5NDcwODhCNUMwNjRCRDFFMzhCNDQwMjg5NDAwOEU5OTkKKzoxMDY4QjAwMERFMDE4QjVDMDI4QjQ3MDI4OTQ0MDI4QjVDMDI4MDNGQzUKKzoxMDY4QzAwMDQ0NzUwRDhCNUMwMjhBNDcwMUI0MDAzQjQ0MDQ3REUyQjEKKzoxMDY4RDAwMDhCNDYwNEQxRTA4QjFDMDNEODhCNDQwMjg5NDcwODhCN0MKKzoxMDY4RTAwMDVDMDY0QkQxRTM4QjQ0MDI4OTQwMDhFOUEyMDFCRjAxNTkKKzoxMDY4RjAwMDAwRTk5QzAxOEI1QzAyOEEwN0I0MDA4OTQ2RjhCOTBDNTgKKzoxMDY5MDAwMDAwQkJBMTZBMkU4QjA3M0I0NkY4NzQwNzQzNDNFMkY0QjEKKzoxMDY5MTAwMEU5NzcwMTJFRkY2NzE4OEI0NjA0RDFFMDhCNUMwMjAzRjgKKzoxMDY5MjAwMEQ4OEI0NzA4OEI1QzA2RkY0NDA2RDFFMzg5NDAwODhCNkYKKzoxMDY5MzAwMDFDODA3RjAxMDA3NDEyOEI1QzAyOEE0NzAxOEIxQzhBQzkKKzoxMDY5NDAwMDU3MDFCNjAwOEJEQTg4NDAxOEU5NDAwMUZGNEMwNkU5OTAKKzoxMDY5NTAwMDNBMDE4QjVDMDI4QTQ3MDE4QjFDOEE1NzAxQjYwMDhCNzcKKzoxMDY5NjAwMERBODg0MDE4RTkyNTAxOEI1QzAyOEE0NzAxOEIxQzhBNzIKKzoxMDY5NzAwMDU3MDFCNjAwOEJEQTg4NDAxOEZGNEMwNkU5MEQwMThCRjEKKzoxMDY5ODAwMDVDMDI4QTQ3MDE4QjFDOEE1NzAxQjYwMDhCREEzMDQwQzMKKzoxMDY5OTAwMDE4RTlGODAwQjhGMDEwOEJGODg5NDQ1NDhBNDQ1Rjg4RUQKKzoxMDY5QTAwMDQ0NURFOUU3MDA4QTQ0MUM5ODNEMDIwMDc0MDczRDAzRkEKKzoxMDY5QjAwMDAwNzQwMkVCMDdDNzQ2RkUwMDAwRUIyQjhBNDQxQzk4Q0MKKzoxMDY5QzAwMEQxRTA4QkQ4RkZCNzY5MDI1NkU4NkIwNjU5NTk2QTAxQzYKKzoxMDY5RDAwMDU2RTg0MEY5NTk1OTg5NDZGRTgzN0VGRTAwNzQwNjgzQzUKKzoxMDY5RTAwMDdFRkUwMzc1RTlFQjAwODM3RUZFMDM3NDYyOEE0NDFDMUQKKzoxMDY5RjAwMDk4RDFFMDhCRDhGRkI3NkQwMjU2RTgzQTA2NTk1OTU2NDAKKzoxMDZBMDAwMEU4NEQ5NzU5ODk0NkZDOEI1RUZDODNFQkZFODNGQjAzQzQKKzoxMDZBMTAwMDc3MzNEMUUzMkVGRkE3OTk2QTY4QUMwMjU2RTgxNzA2RDAKKzoxMDZBMjAwMDU5NTlFQjIzNjg4RjAyNTZFODBDMDY1OTU5RUIxODY4NDAKKzoxMDZBMzAwMDc1MDI1NkU4MDEwNjU5NTlFQjBENjhDNjAyNTZFOEY2OEMKKzoxMDZBNDAwMDA1NTk1OUVCMDJFQjAwNkEwMTU2RThDN0Y4NTk1OUJGREUKKzoxMDZBNTAwMDAxMDBFQjM4NjhERDAyNTZFOERDMDU1OTU5NkEwMTU2MzkKKzoxMDZBNjAwMEU4QjFGODU5NTlCRjAxMDBFQjIyQjhEMDMwOEJGODg5NTIKKzoxMDZBNzAwMDQ0NTQ4QTQ0NjA4ODQ0NURFQjEyQjhFMDIwOEJGODg5NjYKKzoxMDZBODAwMDQ0NTQ4QTQ0NUU4ODQ0NURFQjAyRUIwMEVCMDJFQjAwNjkKKzoxMDZBOTAwMEVCMDBFOTQxRkM1RjVFQzlDMzE5NkEyNDZBMkY2QTNBQjgKKzoxMDZBQTAwMDZBMDAwMDAxMDAwMjAwMDQwMDQxMDA0MjAwNDMwMDQ0NkIKKzoxMDZBQjAwMDAwODAwMDgxMDA4MjAwRkYwMDE3Njk1NDZBN0E2QUE1OEQKKzoxMDZBQzAwMDY5NTI2OTk0Njk2QTZBNjc2OTUyNjk3RjY5Njc2OTRDNDIKKzoxMDZBRDAwMDY5RjQ2ODc2NjhCMjY4RUU2OEY1NjcwMDY4MTI2OEY1NzAKKzoxMDZBRTAwMDY3OUQ2N0E4NjdCNDY3OUQ2NzAwMDAwMTAwRjAxMEUwMkMKKzoxMDZBRjAwMDIwRDAzMDI3NjhGMjY2QzM2NzIzNjcxMjY3QzgwNDAwOTYKKzoxMDZCMDAwMDAwNTY1NzhCNzYwNDhBNDQ1OTk4ODk0NkZDNkEwOThCNEIKKzoxMDZCMTAwMDQ2RkMwNTg0MDE1MEU4OTMwODU5NTk4QkY4OEJDNzI1MkEKKzoxMDZCMjAwMDAwRjAzRDAwMTA3NTU1OEJDNzI1RjAwMDNERjAwMDc1NTUKKzoxMDZCMzAwMDRCOEJDNzI1MDAwRkMxRjgwODg5NDZGRThCNDQwNDNCRTgKKzoxMDZCNDAwMDQ2RkU3RDA1MzNDMEU5RUYwMDhCQzcyNTBGMDBCQTBGNjUKKzoxMDZCNTAwMDAwMkJEMDNCNTZGRTc0MDUzM0MwRTlEQjAwQzc0NDAyNkUKKzoxMDZCNjAwMDA0MDk4QTQ2RkU4ODQ0NUY4ODQ0NUQ4QjVFRkNEMUUzNUQKKzoxMDZCNzAwMEM3ODdGQzA4MDQwOUI4RjAxMEU5QkMwMDhCQzcyNTAwRTIKKzoxMDZCODAwMEYwM0QwMDIwNzU1MjhCQzcyNUYwMDAzREUwMDA3NTQ4QjAKKzoxMDZCOTAwMDhCQzcyNTAwMEZDMUY4MDg4OTQ2RkU4MzdFRkUwODdFNUMKKzoxMDZCQTAwMDA1MzNDMEU5OTIwMDhCQzcyNTBGMDBCQTBGMDAyQkQwMjgKKzoxMDZCQjAwMDNCNTZGRTc0MDUzM0MwRUI3RjkwQzc0NDAyMEMwOThBMzQKKzoxMDZCQzAwMDQ2RkU4ODQ0NUU4ODQ0NUQ4QjVFRkNEMUUzQzc4N0ZDNEIKKzoxMDZCRDAwMDA4MEMwOUI4RTAyMEVCNjA4QkM3MjUwMEYwM0QwMDMwQzEKKzoxMDZCRTAwMDc1NTI4QkM3MjVGMDAwM0REMDAwNzU0ODhCQzcyNTAwMzYKKzoxMDZCRjAwMDBGQzFGODA4ODk0NkZFOEI0NDA0M0I0NkZFN0QwNDMzRjIKKzoxMDZDMDAwMEMwRUIzNThCQzcyNTBGMDBCQTBGMDAyQkQwM0I1NkZFQ0IKKzoxMDZDMTAwMDc0MDQzM0MwRUIyMkM3NDQwMjE0MDk4QTQ2RkU4ODQ0MzgKKzoxMDZDMjAwMDYwODg0NDVEOEI1RUZDRDFFM0M3ODdGQzA4MTQwOUI4MUIKKzoxMDZDMzAwMEQwMzBFQjA0MzNDMEVCMDA1RjVFQzlDM0M4MDYwMDAwNzAKKzoxMDZDNDAwMDU2OEI3NjA0NkEwODU2RTgzNTA0NTk1OThBNDQ1ODA0MjQKKzoxMDZDNTAwMDgwNTA1NkU4MjkwNDU5NTk4QjQ0NTQzQjQ0NTY3NTBBRDAKKzoxMDZDNjAwMDhBNDQ1RDNBNDQyRjc1MDJFQjY0OEI0NDU0ODk0NDU2NDAKKzoxMDZDNzAwMDhCNUMwMjhBNDcwMTg4NDQyRjhBNDQ1REI0MDBDMUUwREUKKzoxMDZDODAwMDA4OEI1NDU0MEJEMDhBNDQ1REI0MDBCQjBGMDAyQkQ4NDIKKzoxMDZDOTAwMDBCRDM4OTU2RkU2QTEwOEE0NDU5OTgwNTA0MDA5OTA1NTkKKzoxMDZDQTAwMDQwMDE4M0QyMDA1MjUwRTg1NDA4ODNDNDA2ODk1NkZDNDAKKzoxMDZDQjAwMDg5NDZGQThCNDZGRTA5NDZGQTgzNEVGQzAwNkExOUZGQTQKKzoxMDZDQzAwMDc2RkNGRjc2RkFFODczMDc4M0M0MDZFOEZFMDc1RUM5MjAKKzoxMDZDRDAwMEMzQzgxQzAwMDA1NjU3OEI1RTA0OEE0NzU5OTg4QkYwMzYKKzoxMDZDRTAwMDhCNUUwNDhBNDc1REI0MDA4OTQ2RTY4MzdFRTYwMDdEQkMKKzoxMDZDRjAwMDBBOEI1RTA0OEI0NzA0NDg4OTQ2RTY4QjVFMDQ4QjQ3MEIKKzoxMDZEMDAwMDA0M0I0NkU2N0YwNUM3NDZFNjAwMDA4QjVFMDQ4QTQ2RTQKKzoxMDZEMTAwMEU2ODg0NzVEOEJERUQxRTM4QjlGNTkwMkM2NDcwMjIwOTAKKzoxMDZEMjAwMDhCREVEMUUzOEI5RjU5MDJDNjQ3MDMzMDhCREVEMUUzNjQKKzoxMDZEMzAwMDhCOUY2MTAyQzY0NzAyMjA4QkRFRDFFMzhCOUY2MTAyRUQKKzoxMDZENDAwMEM2NDcwMzMwOEI0NkU2ODk0NkZBODM3RUZBMDA3NDE4RkMKKzoxMDZENTAwMDhCNDZGQUJCMEEwMDMzRDJGN0YzODBDMjMwOEJERUQxMDgKKzoxMDZENjAwMEUzOEI5RjU5MDI4ODU3MDNCQjBBMDA4QjQ2RkEzM0QyNDQKKzoxMDZENzAwMEY3RjM4OTQ2RkE4MzdFRkEwMDc0MTg4QjQ2RkFCQjBBNDkKKzoxMDZEODAwMDAwMzNEMkY3RjM4MEMyMzA4QkRFRDFFMzhCOUY1OTAyMDAKKzoxMDZEOTAwMDg4NTcwMjhCNDZFNjg5NDZGQTgzN0VGQTAwNzQxODhCODAKKzoxMDZEQTAwMDQ2RkFCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMUUzNjAKKzoxMDZEQjAwMDhCOUY2MTAyODg1NzAzQkIwQTAwOEI0NkZBMzNEMkY3RDgKKzoxMDZEQzAwMEYzODk0NkZBODM3RUZBMDA3NDE4OEI0NkZBQkIwQTAwRjAKKzoxMDZERDAwMDMzRDJGN0YzODBDMjMwOEJERUQxRTM4QjlGNjEwMjg4MjAKKzoxMDZERTAwMDU3MDI4QjVFRTZEMUUzRkZCNzEyMDI2QTAwRkY3NjA0MUEKKzoxMDZERjAwMEU4RDFGNjgzQzQwNjY4RDMwRjZBMDFGRjc2MDRFOEMzQkUKKzoxMDZFMDAwMEY2ODNDNDA2RkY3NkU2NTZFODAxOTM1OTU5ODk1NkYyOEYKKzoxMDZFMTAwMDg5NDZGMEZGNzZFNjU2RTgxNDkzNTk1OTg5NTZFRTg5NkIKKzoxMDZFMjAwMDQ2RUM5Q0ZBQzQ1RUYwMjY4QjA3ODk0NkVBQzQ1RUVDMDkKKzoxMDZFMzAwMDI2OEIwNzg5NDZFOEJBNTBGRkVEODk0NkZFOURDNzQ2NzYKKzoxMDZFNDAwMEU0MDEwMEU4RUVBMEJBNTBGRkVEODk0NkZDOEI0NkZDNTkKKzoxMDZFNTAwMDJCNDZGRTNERTgwMzczMDNFOTgwMDE5Q0ZBQkE1MEZGMUMKKzoxMDZFNjAwMEVEODk0NkZDOEI0NkZDMkI0NkZFODk0NkY4QzQ1RUYwNTUKKzoxMDZFNzAwMDI2OEIwNzJCNDZFQTg5NDZGNkM0NUVGMDI2OEIwNzg5RTcKKzoxMDZFODAwMDQ2RUFDNDVFRUMyNjhCMDcyQjQ2RTg4OTQ2RjRDNDVFQ0UKKzoxMDZFOTAwMEVDMjY4QjA3ODk0NkU4QkE1MEZGRUQ4OTQ2RkU5RDgxQjYKKzoxMDZFQTAwMDdFRjhFODAzNzYxQ0ZGNzZGOEZGNzZGNkU4NzYwMTU5NUYKKzoxMDZFQjAwMDU5ODk0NkY2RkY3NkY4RkY3NkY0RTg2ODAxNTk1OTg5NTIKKzoxMDZFQzAwMDQ2RjRCRjBFMDBFQjE3OEJERUQxRTM4QjlGNTkwMkM2NTEKKzoxMDZFRDAwMDAxMjA4QkRFRDFFMzhCOUY2MTAyQzYwMTIwNDc4M0ZGMzcKKzoxMDZFRTAwMDExNzZFNDhCREVEMUUzOEI5RjU5MDJDNjQ3MEQzMDhCQzAKKzoxMDZFRjAwMERFRDFFMzhCOUY2MTAyQzY0NzBEMzA4MzdFRjYwOTc3QjIKKzoxMDZGMDAwMDA1QjgwRDAwRUIyNjgzN0VGNjYzNzcwNUI4MEUwMEVCMUYKKzoxMDZGMTAwMDFCODE3RUY2RTcwMzc3MDVCODBGMDBFQjBGODE3RUY2NDUKKzoxMDZGMjAwMDBGMjc3NzA1QjgxMDAwRUIwM0I4MTEwMDhCRjhFQjI1OUQKKzoxMDZGMzAwMDhCNDZGNkJCMEEwMDMzRDJGN0YzODBDMjMwOEJERUQxMkEKKzoxMDZGNDAwMEUzOEI5RjU5MDI4ODExNEZCQjBBMDA4QjQ2RjYzM0QyNjAKKzoxMDZGNTAwMEY3RjM4OTQ2RjY4MzdFRjYwMDc1RDU4MzdFRjQwOTc3Q0MKKzoxMDZGNjAwMDA1QjgwRDAwRUIyNjgzN0VGNDYzNzcwNUI4MEUwMEVCQzEKKzoxMDZGNzAwMDFCODE3RUY0RTcwMzc3MDVCODBGMDBFQjBGODE3RUY0RTkKKzoxMDZGODAwMDBGMjc3NzA1QjgxMDAwRUIwM0I4MTEwMDhCRjhFQjI1M0QKKzoxMDZGOTAwMDhCNDZGNEJCMEEwMDMzRDJGN0YzODBDMjMwOEJERUQxQ0MKKzoxMDZGQTAwMEUzOEI5RjYxMDI4ODExNEZCQjBBMDA4QjQ2RjQzM0QyRkEKKzoxMDZGQjAwMEY3RjM4OTQ2RjQ4MzdFRjQwMDc1RDU4QkRFRDFFM0ZGQzkKKzoxMDZGQzAwMEI3NTkwMkZGNzYwNEU4NkUwMDU5NTk4QkRFRDFFM0ZGMTIKKzoxMDZGRDAwMEI3NjEwMkZGNzYwNEU4NUUwMDU5NTk2QTAwRkY3NjA0NDMKKzoxMDZGRTAwMEU4MzFGMzU5NTk4QkQ4ODNGQjA0NzcxRkQxRTMyRUZGODcKKzoxMDZGRjAwMEE3MUI3MEVCMjJDNzQ2RTQwMDAwRkY0RUU2RUIwQ0M3NzAKKzoxMDcwMDAwMDQ2RTQwMDAwRkY0NkU2RUIwMkVCMDA4MzdFRTQwMDc0RkEKKzoxMDcwMTAwMDAzRTkyQUZFRTlENEZDNUY1RUM5QzNGMzZGRjU2RkZGOTUKKzoxMDcwMjAwMDZGRjM2RjA5NzA1NThCRUM4QjQ2MDRCOUU4MDNGN0UxRjkKKzoxMDcwMzAwMDhCNEUwNkY3RjE1REMzNTU4QkVDNTY4Qjc2MDZFQjBFNDcKKzoxMDcwNDAwMDhCREU0NjhBMDc1MEZGNzYwNEU4MzMwMDU5NTk4MDNDQUUKKzoxMDcwNTAwMDAwNzVFREVCMDA1RTVEQzM1NThCRUM1NjhCNzYwNkVCNTEKKzoxMDcwNjAwMDE0OEJERTQ2OEEwNzUwRkY3NjA0RTg0NTAwNTk1OTBCMTkKKzoxMDcwNzAwMEMwNzQwMkVCMDc4MDNDMDA3NUU3RUIwMDVFNURDM0M4OUYKKzoxMDcwODAwMDAyMDAwMDU2OEI3NjA0OEE0NDVBOTg4OTQ2RkU5Q0ZBODAKKzoxMDcwOTAwMDhBNDZGRUJBRkUwMEVFQkEwMjAwRUNBODAyNzQwNjlEMTMKKzoxMDcwQTAwMEU4OTE5RUVCRTlCQTAwMDA4QTQ2MDZFRTlERUIwMDVFOTEKKzoxMDcwQjAwMEM5QzNDODA0MDAwMDU2OEI3NjA0OEE0NDVBOTg4OTQ2OEUKKzoxMDcwQzAwMEZFRThFNkExODk0NkZDRThFMEExMkI0NkZDM0RCODBCQjIKKzoxMDcwRDAwMDc2MDVCODAxMDBFQjIzOUNGQThBNDZGRUJBRkUwMEVFNjQKKzoxMDcwRTAwMEJBMDIwMEVDQTgwMjc0MDY5REU4NDg5RUVCRDlCQTAwRUIKKzoxMDcwRjAwMDAwOEE0NjA2RUU5RDMzQzBFQjAwNUVDOUMzQzgwNDAwOUIKKzoxMDcxMDAwMDAwNTY1NzhCNzYwNDgzN0UwNjAwNzQwNzU2RTgwMzAxMDkKKzoxMDcxMTAwMDU5RUIwNTU2RThBMjAwNTk4ODQ2RkY4MDdFRkYwODc3QTQKKzoxMDcxMjAwMDA2OEE0NkZGRTk4NDAwODA3RUZGMEY3NjAzRUI3OTkwQTQKKzoxMDcxMzAwMDhBNDZGRkI0MDAyRDBBMDA4QkQ4ODNGQjA0Nzc2N0QxMDEKKzoxMDcxNDAwMEUzMkVGRkE3QUY3MUIwMDBFQjYxNTZFODZCMDA1OUI0QjYKKzoxMDcxNTAwMDAwMjUwRjAwODk0NkZDNTZFODVFMDA1OUI0MDA4QkY4MDQKKzoxMDcxNjAwMDU2RTg1NTAwNTlCNDAwQzFFMDA4OEJENzAzRDA4QkZBMUMKKzoxMDcxNzAwMDhCNUVGQ0QxRTM4OTc4MzBFQjJFNTZFODNCMDA1OTg4RDIKKzoxMDcxODAwMDQ0NUJFQjI0NTZFODMxMDA1OTg4NDQ1MDU2RTgyOTAwMDYKKzoxMDcxOTAwMDU5ODg0NDUxNTZFODIxMDA1OTg4NDQ1MjU2RTgxOTAwNEMKKzoxMDcxQTAwMDU5ODg0NDUzRUIwMkVCMDBFOTVCRkY1RjVFQzlDMzQ2QkQKKzoxMDcxQjAwMDcxQTY3MTRBNzE3QTcxODQ3MUM4MDQwMDAwNTY4Qjc2ODkKKzoxMDcxQzAwMDA0OEE0NDVBOTg4OTQ2RkU5Q0ZBOEE0NkZFQkFGRTAwMTIKKzoxMDcxRDAwMEVFQkEwMjAwRUNBODAxNzUwNjlERTg1NzlERUJFOUJBRUUKKzoxMDcxRTAwMDAwMDBFQzg4NDZGRDlEOEE0NkZERUIwMDVFQzlDM0M4RTEKKzoxMDcxRjAwMDAyMDAwMDU2OEI3NjA0OEE0NDVBOTg4OTQ2RkU5Q0ZBMEYKKzoxMDcyMDAwMDhBNDZGRUJBRkUwMEVFQkEwMjAwRUMzMkU0MjQwMTlEOEEKKzoxMDcyMTAwMDVFQzlDM0M4MDYwMDAwNTY4Qjc2MDQ4QTQ0NUE5ODg5MTIKKzoxMDcyMjAwMDQ2RkVFODg1QTA4OTQ2RkFFODdGQTAyQjQ2RkEzREI4REQKKzoxMDcyMzAwMDBCNzYwNEIwMDhFQjI0OUNGQThBNDZGRUJBRkUwMEVFRjgKKzoxMDcyNDAwMEJBMDIwMEVDQTgwMTc1MDY5REU4RTg5Q0VCREFCQTAwRUEKKzoxMDcyNTAwMDAwRUM4ODQ2RkQ5RDhBNDZGREVCMDA1RUM5QzM1NThCNTgKKzoxMDcyNjAwMEVDNTY4QjU2MDQ4QTQ2MDZFRTMzRjZFQjAzNTA1ODQ2MkUKKzoxMDcyNzAwMDgzRkUxNDdDRjg1RTVEQzNDODAyMDAwMDU2OEI1NjA0ODIKKzoxMDcyODAwMEVDODg0NkZGMzNGNkVCMDM1MDU4NDY4M0ZFMTQ3Q0Y4MzcKKzoxMDcyOTAwMDhBNDZGRkVCMDA1RUM5QzNDODAyMDAwMDU2NTc4Qjc2RDIKKzoxMDcyQTAwMDA0ODMzRUIwMEIwMDc1MUZCQTg4MDFCMDAwRUVCQTg2QTkKKzoxMDcyQjAwMDAxQjAwMEVFNkEwOTZBMDA2ODMwMDFFODdEMDE4M0M0MEMKKzoxMDcyQzAwMDA2QzcwNkIwMEIwMTAwNkEwOThCQzYwNTgwMDE1MEU4QUQKKzoxMDcyRDAwMERBMDA1OTU5OEJGODhCQzdDMUU4MEMyNTBGMDA4OTQ2OTUKKzoxMDcyRTAwMEZFOEJDN0MxRTgwODI1MEYwMDhCNTZGRTgzRjIwQzNCQ0UKKzoxMDcyRjAwMEMyNzUyMThCQzdDMUU4MDQyNTBGMDA4QjU2RkU4M0YyQUYKKzoxMDczMDAwMDA2M0JDMjc1MEY4QkM3MjUwRjAwOEI1NkZFODNGMjA5MTMKKzoxMDczMTAwMDNCQzI3NDBENkEwNzU2RTgzODAwNTk1OUM3NDZGRTA3NDQKKzoxMDczMjAwMDAwOEE0NkZFMDQ4MEEyMzMwMjhCQzZCQTYyMDBGN0VBRTYKKzoxMDczMzAwMDhBNTZGRThCRDg4ODk3NkMwMDY4MzIwMjhCQzZCQTYyNzgKKzoxMDczNDAwMDAwRjdFQTA1MTQwMDUwRTgwRUZENTk1OUVCMDA1RjVFQTYKKzoxMDczNTAwMEM5QzNDODAyMDAwMDU2OEI3NjA2ODNFNjBGOEJDNkMxRjAKKzoxMDczNjAwMEUwMEM4QkQ2ODNGMjBDQzFFMjA4MEJDMjhCRDY4M0YyMDEKKzoxMDczNzAwMDA2QzFFMjA0MEJDMjhCRDY4M0YyMDkwQkMyODk0NkZFMUEKKzoxMDczODAwMDZBMTk2QTEwOEI0NjA0OTkwNTQwMDE4M0QyMDA1MjUwNTUKKzoxMDczOTAwMEU4NkIwMTgzQzQwNjBCNDZGRTgzQ0EwMDUyNTBFODlBOEMKKzoxMDczQTAwMDAwODNDNDA2RTgyNTAxRUIwMDVFQzlDMzU1OEJFQzU2OEIKKzoxMDczQjAwMDU3MzNGRjZBMDE2ODg2MDFFOEEzRkU1OTU5QjExMDJBQzQKKzoxMDczQzAwMDRFMDZEMzY2MDQzM0Y2RUIyRTgxN0UwNDAwODA3MjA0RjEKKzoxMDczRDAwMEIwMDFFQjAyQjAwMDUwNjg4ODAxRTg4MUZFNTk1OTZBOUIKKzoxMDczRTAwMDAzNjg4NjAxRTg3N0ZFNTk1OTZBMDE2ODg2MDFFODZERUQKKzoxMDczRjAwMEZFNTk1OUQxNjYwNDQ2M0I3NjA2N0NDRDMzRjZFQjI0MjQKKzoxMDc0MDAwMEQxRTc2QTAzNjg4NjAxRTg1NEZFNTk1OTZBMDE2ODg2MjMKKzoxMDc0MTAwMDAxRTg0QUZFNTk1OTY4ODgwMUU4NUNGRTU5OTgyNTAxM0YKKzoxMDc0MjAwMDAwMEJGODQ2ODNGRTEwN0NENzZBMDA2ODg2MDFFODJEQzEKKzoxMDc0MzAwMEZFNTk1OThCQzdFQjAwNUY1RTVEQzM1NThCRUM1NjU3MDkKKzoxMDc0NDAwMDhCN0UwODZBMDE2ODg2MDFFODEzRkU1OTU5QjgyMDAwNEUKKzoxMDc0NTAwMDJCQzc1MEZGNzYwNkZGNzYwNEU4QTIwMDgzQzQwNjg5OTYKKzoxMDc0NjAwMDU2MDY4OTQ2MDQzM0Y2RUI0NzgxN0UwNjAwODA3MjBDOEYKKzoxMDc0NzAwMDc1MDY4MzdFMDQwMDcyMDRCMDAxRUIwMkIwMDA1MDY4MTAKKzoxMDc0ODAwMDg4MDFFOEQ5RkQ1OTU5NkEwMzY4ODYwMUU4Q0ZGRDU5OUEKKzoxMDc0OTAwMDU5NkEwMTY4ODYwMUU4QzVGRDU5NTk2QTAxRkY3NjA2RjcKKzoxMDc0QTAwMEZGNzYwNEU4NTgwMDgzQzQwNjg5NTYwNjg5NDYwNDQ2RDgKKzoxMDc0QjAwMDNCRjc3Q0I1NkEwMDY4ODYwMUU4QTJGRDU5NTk2QTAwNkQKKzoxMDc0QzAwMDY4ODYwMUU4OThGRDU5NTk1RjVFNURDMzU1OEJFQzU2OUYKKzoxMDc0RDAwMDZBMDE2ODg2MDFFODg2RkQ1OTU5MzNGNkVCMDA2ODg4MzEKKzoxMDc0RTAwMDAxRTg5NEZENTlBODAxNzUwODhCQzY0NjNENjQwMDdDRUYKKzoxMDc0RjAwMEVENkEwMDY4ODYwMUU4NjVGRDU5NTk1RTVEQzNDODA0MDAKKzoxMDc1MDAwMDAwMDA4QjQ2MDQ4QjU2MDY4QjRFMDhFMzA2RDFFMEQxNzMKKzoxMDc1MTAwMEQyRTJGQTg5NDZGQzg5NTZGRThCNTZGRThCNDZGQ0VCN0UKKzoxMDc1MjAwMDAwQzlDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDc1MzAwMDUwNzI2NTc2Njk2Rjc1NzMyMDRENjU2RTc1MDA0MjY1OTIKKzoxMDc1NDAwMDY3Njk2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDc1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzoxMDc1NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUIKKzoxMDc1NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIKKzoxMDc1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkIKKzoxMDc1OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzoxMDc1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREIKKzoxMDc1QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0IKKzoxMDc1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkIKKzoxMDc1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzoxMDc1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUIKKzoxMDc1RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEIKKzoxMDc2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0EKKzoxMDc2MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDc2MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDc2MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDc2NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDc2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkEKKzoxMDc2NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDc2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEKKzoxMDc2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkEKKzoxMDc2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUEKKzoxMDc2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREEKKzoxMDc2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0EKKzoxMDc2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwNkY3Mjc0MTUKKzoxMDc2RDAwMDIwMzAwMDUwNkY3Mjc0MjAzMTAwNTA2RjcyNzQyMDMyNkQKKzoxMDc2RTAwMDAwNTA2RjcyNzQyMDMzMDA1MDZGNzI3NDIwMzQwMDUwNTkKKzoxMDc2RjAwMDZGNzI3NDIwMzUwMDUwNkY3Mjc0MjAzNjAwNTA2RjcyQjQKKzoxMDc3MDAwMDc0MjAzNzAwNTA2RjcyNzQyMDM4MDA1MDZGNzI3NDIwRUMKKzoxMDc3MTAwMDM5MDA1MDZGNzI3NDIwMzEzMDAwNTA2RjcyNzQyMDMxMTQKKzoxMDc3MjAwMDMxMDA1MDZGNzI3NDIwMzEzMjAwNTA2RjcyNzQyMDMxMEEKKzoxMDc3MzAwMDMzMDA1MDZGNzI3NDIwMzEzNDAwNTA2RjcyNzQyMDMxRjYKKzoxMDc3NDAwMDM1MDA5QzAxQTMwMUFBMDFCMTAxQjgwMUJGMDFDNjAxMjYKKzoxMDc3NTAwMENEMDFENDAxREIwMUUyMDFFQTAxRjIwMUZBMDEwMjAyRUEKKzoxMDc3NjAwMDBBMDIwODAwMDAwNzgxMDAwMzgwODA4MDlGOTE5NTkxQTQKKzoxMDc3NzAwMDlGMDAwMzgxODQ4RTk1ODQ4NDg0ODQwMDAzODI4NDg0QTIKKzoxMDc3ODAwMDg0ODQ5NThFODQwMDA0ODgwMEIyMEJDNjBCREEwQkVFNUQKKzoxMDc3OTAwMDBCMDIwQzE2MEMyQTBDM0UwQzUyMEM3NzBDOUMwQ0JFRTcKKzoxMDc3QTAwMDBDRTAwQzAyMEQwMTgwMjA1NDY1NzM3NDIwNTA2MTczNEQKKzoxMDc3QjAwMDczNjU2NDIwMUYyMDUwNzI2NTczNzMyMDgwMDIwMDAxN0UKKzoxMDc3QzAwMDgwMjA0RDY5NzM3MzY5NkU2NzIwNTI3ODIwNDQ2MTc0MUMKKzoxMDc3RDAwMDYxMUYyMDUwNzI2NTczNzMyMDgwMDIwMDAxODAyMDQyNzcKKzoxMDc3RTAwMDYxNjQyMDUyNzgyMDQ0NjE3NDYxMjAxRjIwNTA3MjY1Q0EKKzoxMDc3RjAwMDczNzMyMDgwMDIwMDAxODAyMDU4NkQ3NDcyMjA0Mjc1REUKKzoxMDc4MDAwMDczNzkxRjIwNTA3MjY1NzM3MzIwODAwMjAwMDE4MDIwRkQKKzoxMDc4MTAwMDZFNkY3NDIwNjM3NTcyNzI2NTZFNzQ2Qzc5MUYyMDIwQjAKKzoxMDc4MjAwMDY5NkQ3MDZDNjU2RDY1NkU3NDY1NjQwMjAwMjQwRDJGNjIKKzoxMDc4MzAwMDBEM0EwRDQ1MEQ1MDBENUIwRDY2MEQ3MTBEN0MwRDg3REMKKzoxMDc4NDAwMDBEOTIwRDlEMERBODBEQjMwREJFMERDOTBENTM4MDJDQ0QKKzoxMDc4NTAwMDMyNTQ0NDIwNTM4NjJDMzM0NDU0NTIyMDUzODIyQzMzQzgKKzoxMDc4NjAwMDUyNTQ1MzIwMUY1MzgxMkMzMjUyNDQyMDUzODUyQzMyQzIKKzoxMDc4NzAwMDQzNDQyMDUzODMyQzMzNDM1NDUzMjA1Mzg0MkMzMzQ0QTgKKzoxMDc4ODAwMDUzNTIyMDUzODcyQzMyNTI0OTI3MDIwMDAxODAyMDIwNzYKKzoxMDc4OTAwMDQ0NDM0NDIwMkQyMDcwNjk2RTIwMzIzMDFGMjc1Mzg1QzkKKzoxMDc4QTAwMDJFMzE4MTgyNjM5MDgwODE4MjgzODQ4NTg2ODc4ODg5NTYKKzoxMDc4QjAwMDhBOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNDQ1MzUyQUEKKzoxMDc4QzAwMDIwMkQyMDcwNjk2RTIwMzEzMTFGMjc1Mzg0MkUzMTgxODUKKzoxMDc4RDAwMDgyNjM5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDNjUKKzoxMDc4RTAwMDhEOEU4RjI3MDIwMDAxODAyMDIwNDM1NDUzMjAyRDIwQUQKKzoxMDc4RjAwMDcwNjk2RTIwMzQxRjI3NTM4MzJFMzE4MTgyNjM5MDgwRkMKKzoxMDc5MDAwMDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjI3NTgKKzoxMDc5MTAwMDAyMDAwMTgwMjAyMDUyNDkyMDJEMjA3MDY5NkUyMDMyMDMKKzoxMDc5MjAwMDMyMUYyNzUzODcyRTMxODE4MjYzOTA4MDgxODI4Mzg0MjYKKzoxMDc5MzAwMDg1ODY4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwQUYKKzoxMDc5NDAwMDIwMjA0NDU0NTIyMDJEMjA3MDY5NkUyMDM2MkYzODFGN0QKKzoxMDc5NTAwMDI3NTM4NjJFMzE4MTgyNjM5MDgwODE4MjgzODQ4NTg2M0QKKzoxMDc5NjAwMDg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNEEKKzoxMDc5NzAwMDUyNTQ1MzIwMkQyMDcwNjk2RTIwMzUxRjI3NTM4MjJFQkMKKzoxMDc5ODAwMDMxODE4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBMTkKKzoxMDc5OTAwMDhCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDUyNzg0NDIwMEUKKzoxMDc5QTAwMDJEMjA3MDY5NkUyMDMyMUYyNzUzODEyRTMwNTM0RDgxNTgKKzoxMDc5QjAwMDgyNjM5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDODQKKzoxMDc5QzAwMDhEOEU4RjI3MDIwMDAxODAyMDIwNTQ3ODQ0MjAyRDIwQTYKKzoxMDc5RDAwMDcwNjk2RTIwMzMxRjI3NTM4MDJFMzA1MzREODE4MjYzOTAKKzoxMDc5RTAwMDkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QThCOEM4RDhFMUUKKzoxMDc5RjAwMDhGMjcwMjAwMDE4MDIwMjA0NDQzNDQyMDJEMjA3MDY5RkQKKzoxMDdBMDAwMDZFMjAzNTFGMjc1Mzg1MkUzMTgxODI2MzkwODA4MTgyQkQKKzoxMDdBMTAwMDgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RThGMjcwMjAwNDgKKzoxMDdBMjAwMDAxODAyMDIwNDQ1MzUyMjAyRDIwNzA2OTZFMjAzNTFGODQKKzoxMDdBMzAwMDI3NTM4NDJFMzE4MTgyNjM5MDgwODE4MjgzODQ4NTg2NUUKKzoxMDdBNDAwMDg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNjkKKzoxMDdBNTAwMDQzNTQ1MzIwMkQyMDcwNjk2RTIwMzExRjI3NTM4MzJFRUQKKzoxMDdBNjAwMDMxODE4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBMzgKKzoxMDdBNzAwMDhCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDUyNDkyMDJENzMKKzoxMDdBODAwMDIwMjg2RTJFNjMyRTI5MUYyNzUzODcyRTMxODE4MjYzNzMKKzoxMDdBOTAwMDkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QThCOEM4RDhFNkQKKzoxMDdBQTAwMDhGMjcwMjAwMDE4MDIwMjA0NDU0NTIyMDJEMjA3MDY5MkQKKzoxMDdBQjAwMDZFMjAzMjFGMjc1Mzg2MkUzMTgxODI2MzkwODA4MTgyMEYKKzoxMDdBQzAwMDgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RThGMjcwMjAwOTgKKzoxMDdBRDAwMDAxODAyMDIwNTI1NDUzMjAyRDIwNzA2OTZFMjAzNzFGQzIKKzoxMDdBRTAwMDI3NTM4MjJFMzE4MTgyNjM5MDgwODE4MjgzODQ4NTg2QjAKKzoxMDdBRjAwMDg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwQjkKKzoxMDdCMDAwMDUyNzg0NDIwMkQyMDcwNjk2RTIwMzYxRjI3NTM4MTJFMTUKKzoxMDdCMTAwMDMwNTM0RDgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4RkIKKzoxMDdCMjAwMDg5OEE4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA1NDc4Q0IKKzoxMDdCMzAwMDQ0MjAyRDIwNzA2OTZFMjAzMzFGMjc1MzgwMkUzMDUzMzAKKzoxMDdCNDAwMDREODE4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBM0IKKzoxMDdCNTAwMDhCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDQ0NDM0NDIwOEYKKzoxMDdCNjAwMDJEMjA3MDY5NkUyMDM1MUYyMDIwMjAyMDI3NTM4NTJFNjAKKzoxMDdCNzAwMDMxODE4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwQTEKKzoxMDdCODAwMDAxODAyMDIwNDQ1MzUyMjAyRDIwNzA2OTZFMjAzNTFGMjMKKzoxMDdCOTAwMDIwMjAyMDIwMjc1Mzg0MkUzMTgxODI2Mzg4ODA4MTgyOTcKKzoxMDdCQTAwMDgzODQ4NTg2ODcyNzAyMDAwMTgwMjAyMDQzNTQ1MzIwNDgKKzoxMDdCQjAwMDJEMjA3MDY5NkUyMDMxMUYyMDIwMjAyMDI3NTM4MzJFMTYKKzoxMDdCQzAwMDMxODE4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwNTEKKzoxMDdCRDAwMDAxODAyMDIwNTI0OTIwMkQyMDI4NkUyRTYzMkUyOTFGM0YKKzoxMDdCRTAwMDIwMjAyMDIwMjc1Mzg3MkUzMTgxODI2Mzg4ODA4MTgyNDQKKzoxMDdCRjAwMDgzODQ4NTg2ODcyNzAyMDAwMTgwMjAyMDQ0NTQ1MjIwRjgKKzoxMDdDMDAwMDJEMjA3MDY5NkUyMDMyMUYyMDIwMjAyMDI3NTM4NjJFQzEKKzoxMDdDMTAwMDMxODE4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwMDAKKzoxMDdDMjAwMDAxODAyMDIwNTI1NDUzMjAyRDIwNzA2OTZFMjAzNzFGNzAKKzoxMDdDMzAwMDIwMjAyMDIwMjc1MzgyMkUzMTgxODI2Mzg4ODA4MTgyRjgKKzoxMDdDNDAwMDgzODQ4NTg2ODcyNzAyMDAwMTgwMjAyMDUyNzg0NDIwODMKKzoxMDdDNTAwMDJEMjA3MDY5NkUyMDM2MUYyMDIwMjAyMDI3NTM4MTJFNzIKKzoxMDdDNjAwMDMwNTM0RDgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MTMKKzoxMDdDNzAwMDAyMDAwMTgwMjAyMDU0Nzg0NDIwMkQyMDcwNjk2RTIwNUQKKzoxMDdDODAwMDMzMUYyMDIwMjAyMDI3NTM4MDJFMzA1MzREODE4MjYzQzQKKzoxMDdDOTAwMDg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDAxODAyMDIwNTYKKzoxMDdDQTAwMDQ0NDM0NDIwMkQyMDcwNjk2RTIwMzIzMDFGMjAyMDIwNTQKKzoxMDdDQjAwMDIwMjc1Mzg1MkUzMTgxODI2Mzg4ODA4MTgyODM4NDg1NDkKKzoxMDdDQzAwMDg2ODcyNzAyMDAwMTgwMjAyMDQ0NTM1MjIwMkQyMDcwRjcKKzoxMDdDRDAwMDY5NkUyMDMxMzExRjIwMjAyMDIwMjc1Mzg0MkUzMTgxQ0UKKzoxMDdDRTAwMDgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDAwMTgwNjEKKzoxMDdDRjAwMDIwMjA0MzU0NTMyMDJEMjA3MDY5NkUyMDM0MUYyMDIwRjMKKzoxMDdEMDAwMDIwMjAyNzUzODMyRTMxODE4MjYzODg4MDgxODI4Mzg0NUYKKzoxMDdEMTAwMDg1ODY4NzI3MDIwMDAxODAyMDIwNTI0OTIwMkQyMDcwNkYKKzoxMDdEMjAwMDY5NkUyMDMyMzIxRjIwMjAyMDIwMjc1Mzg3MkUzMTgxNzgKKzoxMDdEMzAwMDgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDAwMTgwMTAKKzoxMDdENDAwMDIwMjA0NDU0NTIyMDJEMjA3MDY5NkUyMDM2MkYzODFGNzkKKzoxMDdENTAwMDIwMjAyMDIwMjc1Mzg2MkUzMTgxODI2Mzg4ODA4MTgyRDMKKzoxMDdENjAwMDgzODQ4NTg2ODcyNzAyMDAwMTgwMjAyMDUyNTQ1MzIwNzcKKzoxMDdENzAwMDJEMjA3MDY5NkUyMDM1MUYyMDIwMjAyMDI3NTM4MjJFNTEKKzoxMDdEODAwMDMxODE4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwOEYKKzoxMDdEOTAwMDAxODAyMDIwNTI3ODQ0MjAyRDIwNzA2OTZFMjAzMjFGRUYKKzoxMDdEQTAwMDIwMjAyMDIwMjc1MzgxMkUzMDUzNEQ4MTgyNjM4ODgwRUMKKzoxMDdEQjAwMDgxODI4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA1NDc4NzEKKzoxMDdEQzAwMDQ0MjAyRDIwNzA2OTZFMjAzMzFGMjAyMDIwMjAyNzUzNEYKKzoxMDdERDAwMDgwMkUzMDUzNEQ4MTgyNjM4ODgwODE4MjgzODQ4NTg2QTIKKzoxMDdERTAwMDg3MjcwMjAwNjgwNDk2MDRCNjAzM0MwNDBFMDQ4OTAzNDYKKzoxMDdERjAwMDVDMDNFMjAzNjAwODhBMDhCRTA3MzgwODBFMDg5NTA3OEUKKzoxMDdFMDAwMDZDMDdFNjA3MUMwNTc0MDVGQTA1QzQwNEYwMDRDQzA1RUMKKzoxMDdFMTAwMEEwMDU0ODA1NzgwNkM4MDY0MjA3MjgwNjUwMDYxODA3MzgKKzoxMDdFMjAwMEYwMDZBMDA2MDAwMEY0MDhGNDA4RDQwRDA0MDkwNDA5QzMKKzoxMDdFMzAwMDA0MDkwNDA5NDIwMDBDMDkxQzA5RTUwRDAyMDAxNDA5OUIKKzoxMDdFNDAwMDA0MDlGNDBENDMwMDFDMDkwQzA5MDUwRTAwMDQwNDA5ODMKKzoxMDdFNTAwMDE0MDkxMjBFMkMwOTJDMDkyQzA5MkMwOTAwMDAzQzA5Q0MKKzoxMDdFNjAwMDZDMDkxRTBFNzQwOTc0MDk3NDA5NzQwOTAwMDE0QzA5MjcKKzoxMDdFNzAwMDJDMDkyRDBFNzQwOTc0MDk3NDA5NzQwOTAwMDI1QzA5MzcKKzoxMDdFODAwMDNDMDkzRDBFNzQwOTc0MDk3NDA5NzQwOTAwMDM2QzA5RjYKKzoxMDdFOTAwMDRDMDk0RDBFNzQwOTc0MDk3NDA5NzQwOUZGMDAyQzA5MEEKKzoxMDdFQTAwMDVDMDkwMDAwMDAwNTg0MDlFQzA5NUUwRUY0MDlGNDA5ODAKKzoxMDdFQjAwMEY0MDlGNDA5MDAwNjk0MDk3NDA5NjgwRUFDMEFBQzBBQzYKKzoxMDdFQzAwMEFDMEFBQzBBMDAwN0E0MDk4NDA5NzIwRUJDMEFCQzBBRjkKKzoxMDdFRDAwMEJDMEFCQzBBMDAwOEI0MDk5NDA5N0MwRUQ0MEFENDBBNkUKKzoxMDdFRTAwMEQ0MEFENDBBMDAwQkM0MDlBNDA5ODMwRUZDMEFGQzBBQjQKKzoxMDdFRjAwMEZDMEFGQzBBMDAwQ0Q0MDlCNDA5OTAwRTE0MEIxNDBCRjQKKzoxMDdGMDAwMDE0MEIxNDBCMDAwMkU0MDlDNDA5QTAwRTJDMEIyQzBCNUIKKzoxMDdGMTAwMDJDMEIyQzBCMDQwMEVDMDlENDA5MEUwMEZGMDA3NDA5OTMKKzoxMDdGMjAwMEU0MDkwMDAwODIwMUZDMDlBNDBBQUMwRTgyMDIwNDBBRTIKKzoxMDdGMzAwMEY0MDlBRjBFODIwMzBDMEFGQzA5QjIwRTgyMDQxNDBBODMKKzoxMDdGNDAwMDA0MEFCNjBFODIwNTFDMEEwQzBBQkMwRTgyMDYyNDBBMUMKKzoxMDdGNTAwMDE0MEFDMDBFODIwNzJDMEExQzBBQzQwRTgyMDgzNDBBQjYKKzoxMDdGNjAwMDI0MEFDODBFODIwOTNDMEEyQzBBQ0MwRTgyMEE0NDBBNTIKKzoxMDdGNzAwMDM0MEFEMTBFODIxMDRDMEEzQzBBRDYwRTgyMEI1NDBBRTcKKzoxMDdGODAwMDQ0MEFEQjBFODIxMTVDMEE0QzBBRTAwRTgyMEM2NDBBODEKKzoxMDdGOTAwMDU0MEFFNTBFODIxMjZDMEE1QzBBRUEwRTgyMEQ3NDBBMUIKKzoxMDdGQTAwMDY0MEFFRjBFODIwRTdDMEE2QzBBRjQwRTgyMEY4NDBBQjkKKzoxMDdGQjAwMDc0MEFGQjBFODIxMzhDMEE3QzBBMDIwRjgyMTQ5NDBBNDQKKzoxMDdGQzAwMDg0MEEwOTBGODIxNTlDMEE4QzBBMTAwRjgyMTZBNDBBRDMKKzoxMDdGRDAwMDk0MEExNzBGODIxN0Y0MDk5QzBBMUUwRjgyMDJCNDBBMzIKKzoxMDdGRTAwMEI0MEEyNjBGODIwM0FDMEFBQzBBMkQwRjgyMDBDNDBBMjEKKzoxMDdGRjAwMENDMEEzNDBGODIwMUNDMEFCQzBBM0YwRjgyMDJCQzBBQjEKKzoxMDgwMDAwMEM0MEE0RDBGODIwMERDMEFGNDBBNTkwRjgyMDFFNDBBMDcKKzoxMDgwMTAwMEQ0MEE2MzBGODIwMkVDMEFEQzBBNkUwRjgyMDNGNDBBQjAKKzoxMDgwMjAwMEU0MEE3QTBGODIwNEQ0MEFFQzBBODcwRjgyMDAwNDBCNTgKKzoxMDgwMzAwMDBDMEI5MzBGODIwMTBDMEJGQzBBOUIwRjgyMDJGQzBBQjMKKzoxMDgwNDAwMDA0MEJBNzBGODIwMDFDMEIyNDBCQjAwRjgyMDEyNDBCMjIKKzoxMDgwNTAwMDE0MEJCNTBGODIwMjE0MEIxQzBCQkUwRjQ0MDAzNDBCMjMKKzoxMDgwNjAwMEE0MEI5QzAxNDQwMTNDMEIyQzBCQTMwMTQ0MDI0NDBCQzgKKzoxMDgwNzAwMDM0MEJBQTAxNDQwMzRDMEIzQzBCQjEwMTQ0MDQ1NDBCRDgKKzoxMDgwODAwMDQ0MEJCODAxNDQwNTVDMEI0QzBCQkYwMTQ0MDY2NDBCNjgKKzoxMDgwOTAwMDU0MEJDNjAxNDQwNzZDMEI1QzBCQ0QwMTQ0MDg3NDBCRjgKKzoxMDgwQTAwMDY0MEJENDAxNDQwOTdDMEI2QzBCREIwMTQ0MEE4NDBCODgKKzoxMDgwQjAwMDc0MEJFMjAxNDQwQjhDMEI3QzBCRUEwMTQ0MEM5NDBCMTcKKzoxMDgwQzAwMDg0MEJGMjAxNDQwRDlDMEI4QzBCRkEwMTQ0MEVBNDBCQTMKKzoxMDgwRDAwMDk0MEIwMjAyNDQwRjJDMEI5QzBCMEEwMjE3MUYwRjJGNEMKKzoxMDgwRTAwMDAwMDAwMTgwNzg3ODNBMjA3NDc4MjA2MzcwNzMyMDJBMjkKKzoxMDgwRjAwMDJBMkEyQTJBMDIwMDAxODA3ODc4M0EyMDc0NzgyMDYzOUMKKzoxMDgxMDAwMDcwNzMyMDJBMkEyQTJBMkEwMjAwMDE4MDc4NzgzQTIwQ0QKKzoxMDgxMTAwMDc0NzgyMDYzNzA3MzIwMkEyQTJBMkEyQTAyMDAwMTgwOTgKKzoxMDgxMjAwMDc4NzgzQTIwNzQ3ODIwNjM3MDczMjAyQTJBMkEyQTJBQzEKKzoxMDgxMzAwMDAyMDAwMUMwNzg3ODNBMjA3MjYzMjA2MzcwNzMyMDJBQUQKKzoxMDgxNDAwMDJBMkEyQTJBMDIwMDAxQzA3ODc4M0EyMDcyNjMyMDYzMjIKKzoxMDgxNTAwMDcwNzMyMDJBMkEyQTJBMkEwMjAwMDFDMDc4NzgzQTIwM0QKKzoxMDgxNjAwMDcyNjMyMDYzNzA3MzIwMkEyQTJBMkEyQTAyMDAwMUMwMUYKKzoxMDgxNzAwMDc4NzgzQTIwNzI2MzIwNjM3MDczMjAyQTJBMkEyQTJBODgKKzoxMDgxODAwMDAyMDAwMTgwNDk2RTczNzQ2MTZDNkMyMDRDNkY2RjcwREIKKzoxMDgxOTAwMDYyNjE2MzZCMUY1MDcyNjU3MzczMjA4MDIwNzQ2RjIwNUYKKzoxMDgxQTAwMDczNzQ2MTcyNzQwMjAwMDE4MDIwNDM2MTYyNkM2NTIwMDcKKzoxMDgxQjAwMDc0NkYyMDUyNjU2RDZGNzQ2NTFGNTA3MjY1NzM3MzIwMDQKKzoxMDgxQzAwMDgwMjA3NDZGMjA3Mzc0NjE3Mjc0MDIwMDAxODAyMDRDRUYKKzoxMDgxRDAwMDZGNjM2MTZDMjA0QzZGNkY3MDYyNjE2MzZCMjAxRjIwNTYKKzoxMDgxRTAwMDIwNTI3NTZFNkU2OTZFNjcyMDJFMkUyRTAyMDAwMTgwNjEKKzoxMDgxRjAwMDUyNjU2RDZGNzQ2NTIwNEM2RjZGNzA2MjYxNjM2QjIwQTgKKzoxMDgyMDAwMDFGMjAyMDUyNzU2RTZFNjk2RTY3MjAyRTJFMkUwMjAwODIKKzoxMDgyMTAwMDAxODAyMDQ5NkU3NDcyNkU2QzIwNEM2RjZGNzA2MjYxQzkKKzoxMDgyMjAwMDYzNkIxRjIwMjA1Mjc1NkU2RTY5NkU2NzIwMkUyRTJFOTYKKzoxMDgyMzAwMDAyMDAwMTgwNTQ3MjYxNkU3MzZENjk3NDIwNTA2MTc0MjQKKzoxMDgyNDAwMDc0NjU3MjZFMUYyMDIwNTI3NTZFNkU2OTZFNjcyMDJFRTcKKzoxMDgyNTAwMDJFMkUwMjAwMDE4MDIwMjAzMDNBMjAyNzQzODAwMDAxOEEKKzoxMDgyNjAwMDgwMjAyMDMxM0EyMDI3NDM4MTAwMDE4MDIwMjAzMjNBQUIKKzoxMDgyNzAwMDIwMjc0MzgyMDAwMTgwMjAyMDMzM0EyMDI3NDM4MzAwQjcKKzoxMDgyODAwMDAxODAyMDIwMzQzQTIwMjc0Mzg0MDAwMTgwMjAyMDM1QkIKKzoxMDgyOTAwMDNBMjAyNzQzODUwMDAxODAyMDIwMzYzQTIwMjc0Mzg2NTQKKzoxMDgyQTAwMDAwMDE4MDIwMjAzNzNBMjAyNzQzODcwMDAxODAyMDIwQ0EKKzoxMDgyQjAwMDM4M0EyMDI3NDM4ODAwMDE4MDIwMjAzOTNBMjAyNzQzN0MKKzoxMDgyQzAwMDg5MDAwMTgwMjAzMTMwM0EyMDI3NDM4QTAwMDE4MDIwMzQKKzoxMDgyRDAwMDMxMzEzQTIwMjc0MzhCMDAwMTgwMjAzMTMyM0EyMDI3NjgKKzoxMDgyRTAwMDQzOEMwMDAxODAyMDMxMzMzQTIwMjc0MzhEMDAwMTgwRTgKKzoxMDgyRjAwMDIwMzEzNDNBMjAyNzQzOEUwMDAxODAyMDMxMzUzQTIwNDYKKzoxMDgzMDAwMDI3NDM4RjAwMkEyQTIwNEQ2MTY5NkUyMDIwNEQ2NTZFMUIKKzoxMDgzMTAwMDc1MjAyQTJBMDA0RDZGNkU2OTc0NkY3MjIwNjEyMDUwOUIKKzoxMDgzMjAwMDZGNzI3NDAwNEQ2RjZFNjk3NDZGNzIyMDYxMjA1MzY5QjMKKzoxMDgzMzAwMDY3NkU2MTZDMDA0NTczNzQ2OTZENjE3NDY1MjA0MzUwQUMKKzoxMDgzNDAwMDUzMDA0NDY5NjE2NzZFNkY3Mzc0Njk2MzczMDA0QzZGQTcKKzoxMDgzNTAwMDYzNjE2QzIwNEM2RjZGNzA2MjYxNjM2QjAwNTI2NTZEN0UKKzoxMDgzNjAwMDZGNzQ2NTIwNEM2RjZGNzA2MjYxNjM2QjAwNDk2RTc0NEYKKzoxMDgzNzAwMDcyNkU2QzIwNEM2RjZGNzA2MjYxNjM2QjAwNTQ3MjYxM0YKKzoxMDgzODAwMDZFNzM2RDY5NzQyMDUwNjE3NDc0NjU3MjZFMDA0MjYxMjEKKzoxMDgzOTAwMDc1NjQyMDUyNjE3NDY1MDA0NDYxNzQ2MTIwNDI2OTc0OUYKKzoxMDgzQTAwMDczMDA1Mzc0NkY3MDIwNDI2OTc0NzMwMDUwNjE3MjY5NzYKKzoxMDgzQjAwMDc0NzkwMDQ0NjE3NDYxMjA1MDYxNzQ3NDY1NzI2RTAwNTgKKzoxMDgzQzAwMDU0NzgyMDQ2NkM2Rjc3MjA0MzZGNkU3NDcyNkY2QzAwMjgKKzoxMDgzRDAwMDUwNkY3Mjc0MjA0RTc1NkQ2MjY1NzIwMDM1MzAwMDM3RDMKKzoxMDgzRTAwMDM1MDAzMTMxMzAwMDMxMzMzNDJFMzUwMDMxMzUzMDAwMzUKKzoxMDgzRjAwMDMyMzAzMDAwMzMzMDMwMDAzNjMwMzAwMDMxMzIzMDMwRkYKKzoxMDg0MDAwMDAwMzEzODMwMzAwMDMyMzAzMDMwMDAzMjM0MzAzMDAwMUIKKzoxMDg0MTAwMDMzMzYzMDMwMDAzNDM4MzAzMDAwMzczMjMwMzAwMDM5QzUKKzoxMDg0MjAwMDM2MzAzMDAwMzEzOTJDMzIzMDMwMDAzMzM4MkMzNDMwOTMKKzoxMDg0MzAwMDMwMDAzNTM2MkMzMDMwMzAwMDM1MzcyQzM2MzAzMDAwQjcKKzoxMDg0NDAwMDM2MzQyQzMwMzAzMDAwMzczNjJDMzgzMDMwMDAzMTMxNzMKKzoxMDg0NTAwMDM1MkMzMjMwMzAwMDM3MjA2MjY5NzQ3MzAwMzgyMDYyNjYKKzoxMDg0NjAwMDY5NzQ3MzAwMzEyMDczNzQ2RjcwMjA2MjY5NzQwMDMxMTUKKzoxMDg0NzAwMDJFMzUyMDczNzQ2RjcwMjA2MjY5NzQ3MzAwMzIyMDczMUMKKzoxMDg0ODAwMDc0NkY3MDIwNjI2OTc0NzMwMDZFNkYyMDcwNjE3MjY5MUUKKzoxMDg0OTAwMDc0NzkwMDZGNjQ2NDIwNzA2MTcyNjk3NDc5MDA2NTc2MjQKKzoxMDg0QTAwMDY1NkUyMDcwNjE3MjY5NzQ3OTAwNzM3MDYxNjM2NTIwMTQKKzoxMDg0QjAwMDcwNjE3MjY5NzQ3OTAwNkQ2MTcyNkIyMDcwNjE3MjY5QUMKKzoxMDg0QzAwMDc0NzkwMDQzNkY2Qzc1NkQ2RTczMDA0MjYxNzI2MjY1MDIKKzoxMDg0RDAwMDcyMjA1MDZGNkM2NTAwNTU1NTU1NTU1NTJFMkUyRTAwNDcKKzoxMDg0RTAwMDRFNkY2RTY1MDA1ODZGNkUyRjU4NkY2NjY2MDA0MzU0NkUKKzoxMDg0RjAwMDUzMDA1MDcyNjU3MzczMjA4MDIwNjY2RjcyMjA2RDY1MjMKKzoxMDg1MDAwMDZFNzUwMDI4NjM2Rjc1NkU3NDY5NkU2NzJFMkUyRTI5NDYKKzoxMDg1MTAwMDAwMDA2NTRFNjQyMDRGNjYyMDQzNkY0NDY1MDAwMDAwRjQKKzoxMDg1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEIKKzoxMDg1MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0IKKzoxMDg1NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzoxMDg1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUIKKzoxMDg1NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIKKzoxMDg1NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkIKKzoxMDg1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzoxMDg1OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREIKKzoxMDg1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0IKKzoxMDg1QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkIKKzoxMDg1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzoxMDg1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUIKKzoxMDg1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEIKKzoxMDg1RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0IKKzowMDAwMDAwMUZGCisvKiAgSW50ZWxsaXBvcnQgSUkgbG9hZHdhcmUgKi8KKy8qIC0zMTIzMiBieXRlcyByZWFkIGZyb20gZmYubG9kICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rYXdldGgvbmV3X2NvZGUuYmluLmloZXggYi9maXJtd2FyZS9rYXdldGgvbmV3X2NvZGUuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkyZDQwZgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZS5iaW4uaWhleApAQCAtMCwwICsxLDIwNiBAQAorOjEwMDAwMDAwQjZDM0FBQkJDQ0REOUZDRkRFMDZFNzU3MDAwMEM0MDYwRgorOjEwMDAxMDAwOTdDMUU3NjdGRjFGMjhDMEU3ODcwMDA0MjRDMEU3Njc5MAorOjEwMDAyMDAwRkZGOTIyQzA5N0NGRDcwOTAwQzBFNzA5QTJDMEJFMDZEQQorOjEwMDAzMDAwOUZBRjM2MDBFNzA1MDBDMEE3Q0ZCQzA2OTdDRkU3NTdCNAorOjEwMDA0MDAwMDAwMEI4MDZBN0ExQjgwNjk3Q0ZFNzU3MDAwMDE0MDgyQworOjEwMDA1MDAwMEFDMEU3NTcwMDAwQTRDMEE3QzA3QTA2OUZBRjkyMDc2NgorOjEwMDA2MDAwRTcwNzAwMDAxNDA4RTc1N0ZGRkZCQTA2OUZBMDM4MDAxMworOjEwMDA3MDAwRTc1OUJBMDZCRTA2OUZBMDM4MDBDODA5Q0EwNjA4NjIzQQorOjEwMDA4MDAwOUZBMTM2MDhDMDA5NzYwNjAwNjBBN0MwN0EwNjlGQUYxOAorOjEwMDA5MDAwQ0MwMkU3NTcwMDAwQjgwNkE3QzE3QTA2OUZBRjA0MDA1QworOjEwMDBBMDAwRTc1NzAwMDA4RTA2MEFDMUU3MDkyMEMwMTAwOEU3RDAxNAorOjEwMDBCMDAwMTAwOEU3Njc0MDAwMTAwODlGQUY5MjBDQzAwOUQwMDZGNworOjEwMDBDMDAwMDA2MDA1QzRDMDU5QkUwNjAyQzA5RkFGRUMwMDlGQUZFMAorOjEwMDBEMDAwMzQwMkU3NTcwMDAwQTYwNjlGQTA3QTAyQTdDRjdBMDY0RgorOjEwMDBFMDAwNDgwMkU3MDlCRTA2RDAwNkM4MzcwNDAwOUZBRjA4MDNFMAorOjEwMDBGMDAwOTdDRkU3NTcwMDAwQ0UwNjk3QzBENzA5MDBDMEMxREZGMQorOjEwMDEwMDAwQzgwOUM2MDYwODYyMTRDMDI3MDRDNjA2MTA5NEYwMDc4MgorOjEwMDExMDAwMTAwODAyMDBDMTA3MDEwMDcwMDAwNDAwRjAwNzMwMDE2MAorOjEwMDEyMDAwMDYwMDUwQUZFNzA3RkZGRkQwMDZFNzA3MDAwMENFMDY0NgorOjEwMDEzMDAwRTcwNTAwQzA5N0NGRDcwOTAwQzBDMURGNDgwMkQwMDk0QQorOjEwMDE0MDAwQzYwNjI3MDJDNjA2RTcwNTAwQzA5N0NGNDgwMkM4Mzc5MworOjEwMDE1MDAwMDQwMDAwMEMwQzAwMDA2MDIxQzBDMDM3M0UwMDIzQzkyMQorOjEwMDE2MDAwQzA1N0I0MDUxQkM4QzAxNzNGMDBDMDY3QzBGRjMwMDBCMAorOjEwMDE3MDAwMDgwMEYwMDcwMDAwMDQwMDAwMDJDMDE3NEMwMDMwMDAyNworOjEwMDE4MDAwMDYwMEYwMDdBMDAxMEEwMDQ4MDJDMTA3MDIwMEQ3MDlEMworOjEwMDE5MDAwMDBDMEMxREY1MUFGRTcwNTAwQzA5N0NGOUZBRjA4MDM5NAorOjEwMDFBMDAwOUZBRjdBMDI5N0NGOUZBRjdBMDJDOTM3MDQwMEMxREZCMQorOjEwMDFCMDAwQzgwOUEyMDY1MDAyNjcwMkEyMDZEMTA3MDAwMDI3RDg4QworOjEwMDFDMDAwQUEwNkMwREY5RkFGQzQwMTk3Q0ZFNzU3MDAwMEQyMDY1MQorOjEwMDFEMDAwOTdDMUU3NTcwMTAwQTgwNjk3QzBDODA5QTAwNjA4NjJBMgorOjEwMDFFMDAwOTdDMDAwMDJDMDE3MEUwMDI3MDAzNDAxMjcwQzBDMDAzNgorOjEwMDFGMDAwMzYwMUU3MDc1MEMzMTJDMEU3MDdDQzBCMDIwMEU3MDc0MAorOjEwMDIwMDAwMDEwMEE4MDZFNzA3MDUwMDkwQzA5N0NGQzgwOUE0MDYxQgorOjEwMDIxMDAwMDg2MjAyQzAxMDY0MDdDMUU3MDcwMDAwOUUwNkU3MDdGNgorOjEwMDIyMDAwNzIwNDI0MDA5N0NGMjcwNEE0MDZDODE3MEUwMDI3MDJFMworOjEwMDIzMDAwOUUwNkU3MDc4MDA0MjQwMDk3Q0ZENzA5MDBDMEMxREZERQorOjEwMDI0MDAwRTc1NzAwMDA5MDA2MTNDMTlGQUYwNjAyRTc1NzAwMDA3MgorOjEwMDI1MDAwOUUwNjEzQzBFNzA5OUUwNjMwMDFFNzA3RjIwNTMyMDE0QQorOjEwMDI2MDAwRTcwNzEwMDA5NkMwRTcwOTlFMDY5MDA2MDRDRkU3NTdGRgorOjEwMDI3MDAwMDAwMDlFMDYwMkMxOUZBRjA2MDJFNzA1MDBDMDk3Q0ZBRgorOjEwMDI4MDAwRDcwOTAwQzBDMURGMDg5MkU3NTcwMjAwQUEwNjAyQzNERgorOjEwMDI5MDAwQzgwOUE0MDYyNzAyQTYwNjA4NjIwM0MxRTcwNTAwQzAzNAorOjEwMDJBMDAwOTdDRjI3MDRBNDA2RTcwNTAwQzBGMDA3NDAwMDA4MDAyOAorOjEwMDJCMDAwRjAwNzAwMDAwNDAwMDAwMkMwMTcwQzAwMzAwMDA2MDAyOAorOjEwMDJDMDAwRjAwNzQ2MDEwQTAwQzgxNzA0MDBDMTA3MDIwMDUxQUYzOQorOjEwMDJEMDAwOTdDRkU3NTcwMDAwOTYwNjk3QzBDMURGQzgwOTk2MDY3QQorOjEwMDJFMDAwMjcwNDk2MDYyNzUyOTgwNjAzQzFFNzA3OTYwNjk4MDY0NAorOjEwMDJGMDAwQzBERjE3MDJDODE3MEUwMDlGQUZCQTAzQzgwNTAwNjAyMQorOjEwMDMwMDAwMDNDMDlGQUYyNDAzOTdDRjlGQUYwODAzOTdDRjU3MDIzNworOjEwMDMxMDAwQzkwN0E0MDZENzA5MDBDMEMxREYwODYyMUJDMDUwMDQ4QQorOjEwMDMyMDAwMTEwMkU3MDUwMEMwQzkwNTk3Q0Y5NzAyQ0EwOUQ2MDY5MgorOjEwMDMzMDAwRjIxNzAxMDAwNDAwRjIyNzAwMDAwNjAwQ0ExNzJDMDA4MworOjEwMDM0MDAwRjg3NzAxMDAwRTAwMDZDMENBRDlGODU3RkYwMDBFMDA2QQorOjEwMDM1MDAwMDFDMUNBRDkyMjFDMEMwMEUyMjcwMDAwRTIxNzAxMDBFQgorOjEwMDM2MDAwRTIyNzAwMDBDQTA1MDAwQzBDMDBDMDE3NDEwMEMwNjc1RQorOjEwMDM3MDAwQzBGRjMwMDAwODAwMDAwMkMwMTcwQzAwMzAwMDA2MDA2QgorOjEwMDM4MDAwRjAwN0RBMDAwQTAwRjAwNzAwMDAwNDAwMDAwQzA4MDA4MworOjEwMDM5MDAwNDBEMTAxMDBDMDE5Q0UwNkMwNTlDMjA2MDRDOTQ5QUZGOAorOjEwMDNBMDAwOUZBRkVDMDA0QUFGNjcxMENFMDZDODE3MDQwMEMxMDcyNAorOjEwMDNCMDAwMDEwMEQ3MDkwMEMwQzFERjUwQUZFNzA1MDBDMDk3Q0ZFQgorOjEwMDNDMDAwQzAwNzAxMDBDMTA5QUMwNkMxNzcwMTAwOTdDMUQ4NzcwOQorOjEwMDNEMDAwMDEwMDEyQzBDOTA3NkEwNjlGQUYwODA0MDRDMUMxNzdCMworOjEwMDNFMDAwMDgwMDEzQzA5N0NGQzE3NzAyMDA5N0MxQzE3NzEwMDBGMgorOjEwMDNGMDAwMENDMDlGQUYyQzA0OTdDRkMxNzcwNDAwMDZDMEM5MDc3QgorOjEwMDQwMDAwNzAwNjlGQUYwODA0OTdDMDAwQ0YwMDkwOTdDRjUwNTQ1QworOjEwMDQxMDAwOTdDMTcwNUMwMjAwMDIwMDk3QzE3MDVDMDQwMDA0MDA4OAorOjEwMDQyMDAwOTdDRjgwMDFDMDAwNjAwMDMwMDAxODAwMEMwMDA2MDA2QgorOjEwMDQzMDAwMDAwMENCMDlCMjA2Q0MwOUI0MDYwQjUzMTFDMEM5MDJBNworOjEwMDQ0MDAwQ0EwNzFDMDQ5RkFGMDgwNDk3QzAwQUM4ODIwODBBQ0ZENQorOjEwMDQ1MDAwODIwODlGQUYwODA0OTdDMDA1QzI4OTMwODI2MDc4QzFDNgorOjEwMDQ2MDAwMDA5MDk3Q0Y4OTEwMDk1Mzc5QzI4OTMwODIwODdBQ0ZEQQorOjEwMDQ3MDAwQzBERjk3Q0ZDMERGOTdDRkU3MDk5NkMwOTIwNkU3MDlBNAorOjEwMDQ4MDAwOThDMDk0MDYwRkNGRTcwOTk2QzA5MjA2RTcwOTk4QzA3NgorOjEwMDQ5MDAwOTQwNkU3MDk5RTA2MzAwMUU3MDdGMjA1MzIwMUU3MDdGNworOjEwMDRBMDAwMTAwMDk2QzBENzA5MDBDMDE3MDJDODA5OTAwNkM4MzdDNworOjEwMDRCMDAwMEUwMEU3NzcyQTAwOTIwNjMwQzA5NzAyQ0EwOUQ2MDZENgorOjEwMDRDMDAwRTc3NzIwMDA5MjA2MEVDMEYyMTcwMTAwMTAwMEYyMjcxNQorOjEwMDREMDAwMDAwMDEyMDBFNzc3MEEwMDkyMDZDQTA1MUVDMDk3MDJDNAorOjEwMDRFMDAwQ0EwOUQ2MDZGMjE3MDEwMDBDMDBGMjI3MDAwMDBFMDAyMAorOjEwMDRGMDAwRTc3NzAyMDA5MjA2MDdDMEYyMTcwMTAwNDQwMEYyMjdENgorOjEwMDUwMDAwMDAwMDQ2MDAwNkNGRjIxNzAxMDA2MDAwRjIyNzAwMDA0RAorOjEwMDUxMDAwNjIwMENBMDU5RkFGMDgwMzBGQ0Y1NzAyMDkwMkYxMDkxNQorOjEwMDUyMDAwOTQwNjBDMDBGMURBMEMwMEM4MDk5ODA2NTAwMjY3MDIyNAorOjEwMDUzMDAwOTgwNkQxMDcwMDAwQzkwNUU3MDk5RTA2OTAwNkU3NTcwRgorOjEwMDU0MDAwMDAwMDkwMDYwMkMwOUZBRjA2MDJDODA1RTcwNTAwQzA4NAorOjEwMDU1MDAwQzBERjk3Q0ZENzA5MDBDMDE3MDAxNzAyOTcwMkMwMDk2NAorOjEwMDU2MDAwOTJDMEU3MDcwNDAwOTBDMENBMDlENjA2RTcwNzAwMDA1QQorOjEwMDU3MDAwQTgwNkU3MDc2QTA0MDIwMEMwNzcwMjAwMDhDMEYyMTc2NQorOjEwMDU4MDAwMDEwMDUwMDBGMjI3MDAwMDUyMDA5RkNGMjQwNkMwNzdFMAorOjEwMDU5MDAwMTAwMDA2QzBGMjE3MDEwMDU4MDBGMjI3MDAwMDVBMDBCMAorOjEwMDVBMDAwQzA3NzgwMDAwNkMwRjIxNzAxMDA3MDAwRjIyNzAwMDAzQgorOjEwMDVCMDAwNzIwMEMwNzcwODAwMURDMUYyMTcwMTAwMDgwMEYyMjc4MQorOjEwMDVDMDAwMDAwMDBBMDBDMDc3MDAwMjA2QzBGMjE3MDEwMDY0MDBCNAorOjEwMDVEMDAwRjIyNzAwMDA2NjAwQzA3NzQwMDAwNkMwRjIxNzAxMDA1NQorOjEwMDVFMDAwNUMwMEYyMjcwMDAwNUUwMEMwNzcwMTAwMDFDMDFCQ0Y1NQorOjEwMDVGMDAwMUFDRkYyMTcwMTAwMDAwMEYyMjcwMDAwMDIwMEM4MDkxQworOjEwMDYwMDAwMzQwMUNBMTcxNDAwRDg3NzAxMDAwNUMwQ0FEOUQ4NTdEOQorOjEwMDYxMDAwRkYwMDAxQzBDQUQ5RTIxOTk0QzBFMjI3MDAwMEUyMTcyNgorOjEwMDYyMDAwMDEwMEUyMjcwMDAwOUZBRjQwMDY5RkFGQzQwMUU3NTdEQgorOjEwMDYzMDAwMDAwMEQyMDY5RkExMEUwQUNBMDVDODA1QzAwNUU3MDUzRAorOjEwMDY0MDAwMDBDMEMwREY5N0NGQzgwOUEwMDYwODYyOTdDMDI3MDQ4MgorOjEwMDY1MDAwQTAwNjI3NTJBMjA2MDNDMUU3MDdBMDA2QTIwNjlGQUY4NQorOjEwMDY2MDAwMDgwM0U3NTcwMDAwQUEwNjAyQzAyN0RBQUEwNjk3Q0ZCOAorOjEwMDY3MDAwRkZGRkZGRkZGRkZGMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMDY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjEwMDY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QQorOjEwMDZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QQorOjEwMDZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQQorOjEwMDZDMDAwMDAwMDAwMDAwMDAwMDAwMDNGMDAwMDAwMDAwMDAwMDBFQgorOjEwMDZEMDAwMDAwMDAwMDAwMDAwRkZGRjAxMDAwMDAwMDAwMDAwMDAxQgorOjEwMDZFMDAwRkZGRkZCMTNFNzU3MDA4MEIyMDAwNkMyRTcwN0VFMEJERgorOjEwMDZGMDAwMTIwMEU3MDczNDBDQjIwMEU3MDdDNjA3RjIwMkM4MDk4OAorOjEwMDcwMDAwQjQwMEY4MDcwMjAwMEQwMEQ3MDkwRUMwRTcwNzAwMDA4QgorOjEwMDcxMDAwMEVDMEM4MDlERTAwQzgxNzA5MDBDOTA3REEwNkMwMDdGRAorOjEwMDcyMDAwMDQwMDY4MEEwMERBN0RDMUU3MDlDMDAwN0MwNkU3MDkxOQorOjEwMDczMDAwQkUwMDc4MDZFNzA5MTAwMEJDMDZDODA3RDYwNzlGQUZDMQorOjEwMDc0MDAwQUUwNzlGQUYwMDBBQzgwOURFMDAwMDBFMEYwMDQxOTBGRgorOjEwMDc1MDAwOUZERTA2MDA0NEFGMjcwMEIyMDYyNzAwQjQwNjI3MDAzQworOjEwMDc2MDAwQjYwNkMwMDc3NDAwNDRBRjI3MDBENjA2MDgwMDAwOTAwNAorOjEwMDc3MDAwQzEwNzNBMDAyMDAwMDFEQTdEQzE5RkFGQkEwOUMwMDc2NgorOjEwMDc4MDAwNDQwMDQ4QUYyNzAwN0EwNjlGQUY5NjBBRTcwNzAxMDBBQQorOjEwMDc5MDAwQzAwNkU3MDUwRUMwOTdDRjQ5QUZFNzg3NDMwMDBFQzBGQworOjEwMDdBMDAwRTcwN0ZGRkZCRTA2OUZBRkFFMEFDMDA3MDEwMDYwQUZCQworOjEwMDdCMDAwNEFBRjk3Q0YwMDA4MDkwODExMDgwMERBN0NDMTk3Q0YyQgorOjEwMDdDMDAwNjcwNENDMDJDMERGNTE5NEIxQUYwNjAwQzFERkM5MDk5NAorOjEwMDdEMDAwQ0MwMjQ5NjI3NUMxQzBERkE3Q0ZENjAyMEUwMDI0MDA0QgorOjEwMDdFMDAwODAwNDIyMDA0RTA1RDAwMDBFMEFBQTAwMzAwOEJFMDA4OAorOjEwMDdGMDAwNEEwQTEwMDAyMDAwMDQwMDZFMDQwMjAwNkEwNDA2MDA4OQorOjEwMDgwMDAwMDAwMDI0QzAwNDA0MjhDMEZFRkIxRUMwMDAwNDIyQzA1NworOjEwMDgxMDAwRkZGNEMwMDA5MDA5MDAwMDAwMDBGRkZGNTYwODYwMDhDOAorOjEwMDgyMDAwRDAwOERBMDgwMDA5MDQwOTA4MDkzMjA5NDIwOTUwMDkwOAorOjEwMDgzMDAwNTIwOTVBMDk1QTA5MjcwMkNBMDY5N0NGRTcwNzAwMDA0QQorOjEwMDg0MDAwQ0EwNjBBMEUwMTAwQ0E1NzBFMDA5RkMzNUEwOUNBMzdDQQorOjEwMDg1MDAwMDAwMDlGQzI1QTA5MEFEMkIyQ0YxNjA4QzgwOURFMDBBQQorOjEwMDg2MDAwMDcwNjlGQ0Y2QzA5MTcwMkM4MDlERTAwMDAwRTBGMDBCMworOjEwMDg3MDAwNDE5MDlGREUwNjAwQzgwNTMwNTAwNjAwOUZDODVBMDkwNworOjEwMDg4MDAwMjcwQzAyMDBCMDA2QzAwOUIyMDYyNzAwQjQwNkU3MDcyRAorOjEwMDg5MDAwMDAwMEFFMDYyNzAwODAwNjAwMUMwNjAwMjcwMEI2MDZGMgorOjEwMDhBMDAwNDE5MDY3NTBCMDA2MERDMDY3MDA3RTA2MjcwQzA2MDAxOQorOjEwMDhCMDAwODIwNkU3MDdCQzA4ODQwNkM4MDc3RTA2NDE5MDUxQUY1MAorOjEwMDhDMDAwOTdDRjlGQUY0ODBDRTcwOUI2MDZCNDA2RTcwOUIwMDYxNAorOjEwMDhEMDAwQUUwNjU5QUY5N0NGMjcwQzAyMDBBQzA2NTlBRjk3Q0ZBMQorOjEwMDhFMDAwMDkwQzAyMDAwOURBNDlEMkM5MTlENjA2QzgwNzdFMDZFMgorOjEwMDhGMDAwRTAwNzAwMDA2MDAyRTAwNzA0MDBEMDA3Q0MwODQ4REJGNgorOjEwMDkwMDAwNDE5MDUwQUY5N0NGNTlBRjk3Q0Y1OUFGOTdDRkYwNTc4RQorOjEwMDkxMDAwMDYwMDA2MDAyNUMxRTcwNzcwMDY4MDA2NDE5MDY3MDBDMworOjEwMDkyMDAwN0UwNjI3MEMwNjAwODIwNkU3MDc4QzA5ODQwNkM4MDdBNgorOjEwMDkzMDAwN0UwNjQxOTA1MUFGOTdDRjA3MEMwNjAwQzc1NzA2MDBCRgorOjEwMDk0MDAwMEZDMUM4MDc3MDA2MTVDRjAwMEMwMjAwMDBEQTQwRDFCNQorOjEwMDk1MDAwMjcwMEMyMDYxRUNGMURDRjI3MEMwMjAwQ0MwNjE5Q0ZFMAorOjEwMDk2MDAwMjcwMjIwMDFFNzA3MDgwMDIyMDFFNzA3MTMwMEIwQzBCMworOjEwMDk3MDAwOTdDRjQxOTA2NzAwN0UwNkU3MDE4MjA2MjcwMjgwMDYzNgorOjEwMDk4MDAwRTcwNzhDMDk4NDA2QzgwNzdFMDZDMTA3MDA4MDUwQUZDMAorOjEwMDk5MDAwOTdDRjU5QUY5N0NGMDA2MDA1QzBFNzA3MDAwMEM0MDZBNgorOjEwMDlBMDAwQTdDRjdDMDY5RkFGMDAwQUU3MDcwMTAwQzQwNjQ5QUY0NgorOjEwMDlCMDAwRDcwOTAwQzAwN0FGRTcwNTAwQzA0QUFGQTdDRjdDMDY0NAorOjEwMDlDMDAwQzAwN0ZFN0Y0NEFGNDAwMEMwMzcwMDAxNDE5MEMwMzdGMAorOjEwMDlEMDAwMDgwMERGREU1MDA2QzA1NzEwMDAwMkMyQzAwNzEwMDAzQQorOjEwMDlFMDAwMjcwMDlBMDY0MTkwOUZERTQwMDY0NEFGMjcwMDlDMDZGMAorOjEwMDlGMDAwQzAwOTlBMDY0MTkwMDBEMjAwRDg5RkRFMDgwMDQ0QUY5QgorOjEwMEEwMDAwMjcwMEM4MDY5N0NGRTc4NzAwODQyOEMwRTc2N0ZGRkI2OQorOjEwMEExMDAwMjRDMDk3Q0ZFNzg3MDEwMEQyMDZFNzU3MDAwMEE4MDY1OQorOjEwMEEyMDAwOTdDMTlGQUYwMDBBRTc4NzAwMDYyMkMwRTcwNzAwMDBEMgorOjEwMEEzMDAwOTBDMEU3NjdGRUZGM0VDMEU3MDcyNjAwMEFDMEU3ODdEMQorOjEwMEE0MDAwMDEwMDNFQzBFNzA3RkZGRkJFMDY5RkFGMTAwQjk3Q0YyOAorOjEwMEE1MDAwMTcwMEE3QUY3ODA2QzAwNTI3MDA3NjA2RTc4NzAxMDBENAorOjEwMEE2MDAwRDIwNjlGQUYwMDBBRTcwNzBDMDA0MEMwOUZBRjEwMEJGMworOjEwMEE3MDAwMDA5MDI3MDBBNjA2MjcwMEFBMDZFNzA5QjIwNkI0MDZEQQorOjEwMEE4MDAwMjcwMEFFMDYyNzAwQUMwNjlGQUZBRTBBQzAwNzAwMDBFNQorOjEwMEE5MDAwMjcwMEIyMDIyNzAwQjQwMjI3MDA4RTA2QzAwNzA2MDAxNgorOjEwMEFBMDAwQzgwOURFMDBDODE3MDMwMEM5MDc3MDA2MjkwQTAwREE2MgorOjEwMEFCMDAwN0RDMTk3Q0ZENzA5MDBDMEMxREYwMDkwMjcwMDk2MDZGRgorOjEwMEFDMDAwRTcwNzk2MDY5ODA2MjcwMEEwMDZFNzA3QTAwNkEyMDZGNQorOjEwMEFEMDAwMjcwMEE2MDYyNzAwOTAwNjI3MDA5RTA2QzgwOTlDMDY0OAorOjEwMEFFMDAwQzEwOTlBMDZDOTA3QTQwNjExMDIwOTAyQzgxNzQwMDZERgorOjEwMEFGMDAwMDFEQTdBQzE1MTk0QzgwOUM4MDZDOTA3QzYwNkMxMDlGNgorOjEwMEIwMDAwOUEwNjExMDIwOTAyQzgxNzA4MDAwMURBN0FDMTUxOTQ0NQorOjEwMEIxMDAwRTcwNTAwQzA5N0NGRTc1NzAwMDA3NjA2OTdDMDlGQUY2NAorOjEwMEIyMDAwMDQwMEU3MDlCRTA2QkEwNkU3NTdGRkZGQkEwNjA0QzE4QworOjEwMEIzMDAwRTcwNzEwMEJCODA2OTdDRkU3MTczMjAwQkEwNkU3Njc0QQorOjEwMEI0MDAwRkYwN0JBMDZFNzA3NDYwQkI4MDY5N0NGRTc1NzAwMDAzRQorOjEwMEI1MDAwQzAwNjIzQzBFNzA3MDQwMDkwQzBFNzA3MDA4MDgwQzBGQworOjEwMEI2MDAwRTcwNzAwMDA4MEMwRTcwNzAwODA4MEMwQzAwNzAwMDBFMgorOjEwMEI3MDAwQzAwNzAwMDBDMDA3MDAwMEU3MDcwMDAwODBDMEU3MDdDQgorOjEwMEI4MDAwMDA4MDgwQzBFNzA3MDA4MDQwQzBDMDA3MDAwMEU3MDc4MgorOjEwMEI5MDAwMDAwMDQwQzBFNzA3MDAwMDgwQzBFNzA3MDQwMDkwQzBFNQorOjEwMEJBMDAwRTcwNzAwMDI0MEMwRTcwNzBDMDI0MEMwRTcwNzAwMDA2QgorOjEwMEJCMDAwQzAwNkU3MDcwMDAwQjgwNkU3MDcwMDAwRDIwNkQ3MDkxRAorOjEwMEJDMDAwMDBDMEMxREY5RkFGMzQwMkU3MDUwMEMwOUZBRkM0MDE4MgorOjEwMEJEMDAwOTdDRkQ3MDkwMEMwMTcwMDE3MDI5NzAyRTc1NzAwMDAwOAorOjEwMEJFMDAwQTgwNjA2QzBDMDA5OTJDMEMwNzcwOTAyOUZDMTVDMDU3MworOjEwMEJGMDAwOUZDRjMyMDZENzA5MEVDMEU3MDcwMDAwMEVDMDlGQUY5NworOjEwMEMwMDAwMDIwQ0U3MDUwRUMwOTdDRkQ3MDkwMEMwMTcwMkM4MDkyQworOjEwMEMxMDAwQjBDMEU3NjdGRTdGQjBDMEM4NzcwMDIwOUZDMTY0RUIxQgorOjEwMEMyMDAwRTc1NzAwMDBDODAyOUZDMTgwRUJDODk5Q0EwMkM4Njc5NQorOjEwMEMzMDAwMDQwMDlGQzE5NkVCOUZDRjRDRUJFNzA3MDAwMEE2QzBENgorOjEwMEM0MDAwRTcwOUIwQzBDODAyRTcwNzAzMDBCMEMwOTdDRkMwMDlFQQorOjEwMEM1MDAwQjAwNkMwMzcwMTAwOTdDOUM5MDlCMjA2MDIwMDQxOTAyOQorOjEwMEM2MDAwNDgwMkM5MTcwNjAwOUZBRjA4MDQ5RkEyNzIwQzAyREE1RgorOjEwMEM3MDAwNzdDMTQxNjA3MUMxOTdDRjE3MDI1NzAyNDMwNDIxMDQyNQorOjEwMEM4MDAwRTAwMDQzMDQyMTA0RTAwMDQzMDQyMTA0RTAwMEMxMDcyNAorOjEwMEM5MDAwMDEwMEM5MDVDODA1OTdDRkU3MDcwMTAwOEUwNkM4MDcwMAorOjEwMENBMDAwODYwNkU3MDcwMDAwODYwNkU3MDcxMDA4ODgwNkU3MDdCQworOjEwMENCMDAwMDQwMDhBMDZFNzA3QkMwQzhDMDZDMTA3MDM4MDUwQUYwRQorOjBDMENDMDAwOTdDRkU3MDcwMDAwOEUwNjk3Q0YwMDAwREEKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rYXdldGgvbmV3X2NvZGVfZml4LmJpbi5paGV4IGIvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjM1ZDNkCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4uaWhleApAQCAtMCwwICsxLDQwIEBACis6MTAwMDAwMDBCNkMzQUFCQkNDREQwMjAwMDgwMDI4MDAyQzAwMzQwMEQ3Cis6MTAwMDEwMDAzQzAwNDAwMDQ4MDA1NDAwNTgwMDVFMDA2NDAwNjgwMDQ2Cis6MTAwMDIwMDA2RTAwNkMwMDcyMDA3NjAwN0MwMDgwMDA4NjAwOEEwMDAyCis6MTAwMDMwMDA5MDAwOTQwMDk4MDA5RTAwQTYwMEFBMDBCMDAwQjQwMEIyCis6MTAwMDQwMDBCODAwQzAwMEM2MDBDQTAwRDAwMEQ0MDBEODAwRTAwMDRDCis6MTAwMDUwMDBERTAwRTgwMEYwMDBGQzAwMDQwMTBBMDExODAxMjIwMUEyCis6MTAwMDYwMDAyODAxM0EwMTNFMDE3RTAxOTgwMTlDMDFBMjAxQUMwMUU4Cis6MTAwMDcwMDBCMjAxQkEwMUMwMDFDODAxRDAwMUQ2MDFGNDAxRkMwMUVFCis6MTAwMDgwMDAwODAyMTYwMjFBMDIyMjAyMkEwMjJFMDIzRTAyNDQwMjJDCis6MTAwMDkwMDA0QTAyNTAwMjY0MDI2MjAyNkMwMjcyMDI4NjAyOEMwMjAwCis6MTAwMEEwMDA5MDAyOUUwMkJDMDJEMDAyRDgwMkRDMDJFMDAyRTgwMjBBCis6MTAwMEIwMDBFNjAyRjQwMkZFMDIwNDAzMEMwMzI4MDM3QzAzOTAwMzBGCis6MTAwMEMwMDA5NDAzOUMwM0EyMDNDMDAzRDAwM0Q0MDNFRTAzRkEwM0ZBCis6MTAwMEQwMDBGRTAzMkUwNDMyMDQzQzA0NDAwNDRFMDQ3NjA0N0MwNEU3Cis6MTAwMEUwMDA4NDA0OEEwNDhFMDRBNjA0QjAwNEI4MDRCRTA0RDIwNEI2Cis6MTAwMEYwMDBEQzA0RUUwNDEwMDUxQTA1MjQwNTJBMDUzNjA1MzQwNTJFCis6MTAwMTAwMDAzQzA1NDIwNTY0MDU2QTA1NkUwNTg2MDUyMjA2MjYwNjNECis6MTAwMTEwMDAyQzA2MzAwNjQyMDY0QTA2NEUwNjU2MDY1NDA2NUEwNjc1Cis6MTAwMTIwMDA2MDA2NjYwNkU4MDZFRTA2RjQwNjE2MDcyNjA3MkMwN0E0Cis6MTAwMTMwMDAzMjA3MzYwNzNBMDczRTA3NTIwNzU2MDc1QTA3NjQwNzQxCis6MTAwMTQwMDA3NjA3N0EwNzgwMDc4NDA3OEEwNzlFMDdBMjA3REEwN0RGCis6MTAwMTUwMDBERTA3RTIwN0U2MDdFQTA3RUUwN0YyMDdGNjA3MEUwOEYyCis6MTAwMTYwMDAxNjA4MTgwODFBMDgxQzA4MUUwODIwMDgyMjA4MjQwODY3Cis6MTAwMTcwMDAyNjA4MjgwODJBMDgyQzA4MkUwODMyMDgzQTA4NDYwOEJCCis6MTAwMTgwMDA0RTA4NTQwODVFMDg3ODA4N0UwODgyMDg4NjA4OEMwOEE1Cis6MTAwMTkwMDA5MDA4OTgwODlFMDhBNDA4QUEwOEIwMDhBRTA4QjQwOEY5Cis6MTAwMUEwMDBCRTA4QzQwOEMyMDhDQTA4QzgwOEQ0MDhFNDA4RTgwODk5Cis6MTAwMUIwMDBGNjA4MTQwOTEyMDkxQTA5MjAwOTI2MDkyNDA5MkEwOTJFCis6MTAwMUMwMDAzRTA5NEMwOTU2MDk3MDA5NzQwOTc4MDk3RTA5N0MwOUIxCis6MTAwMUQwMDA4MjA5OTgwOTlDMDlBMDA5QTYwOUI4MDlEQzA5RTgwOTVGCis6MTAwMUUwMDBFQzA5RkMwOTEyMEExODBBMUUwQTQyMEE0NjBBNEUwQUJCCis6MTAwMUYwMDA1NDBBNUEwQTVFMEE2ODBBNkUwQTcyMEE3ODBBNzYwQTZECis6MTAwMjAwMDA3QzBBODAwQTg0MEE5NDBBQTQwQUI4MEFCRTBBQkMwQUI0Cis6MTAwMjEwMDBDMjBBQzgwQUM2MEFDQzBBRDAwQUQ0MEFEODBBREMwQTFBCis6MTAwMjIwMDBFMDBBRjIwQUY2MEFGQTBBMTQwQjFBMEIyMDBCMUUwQjRDCis6MTAwMjMwMDAyNjBCMkUwQjJDMEIzNjBCM0MwQjQyMEI0MDBCNEEwQkE4Cis6MTAwMjQwMDBBQTBCQjAwQkI2MEJDMDBCQzgwQkRBMEJFODBCRUMwQjEwCis6MTAwMjUwMDBGQTBCNEEwQzU0MEM2MjBDNjYwQzk2MEM5QTBDQTAwQzBGCis6MEUwMjYwMDBBNjBDQTQwQ0FDMENCMjBDQjAwQ0MwMEMwMDAwMzAKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlLmJpbi5paGV4IGIvZmlybXdhcmUva2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jM2UxNjU4Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4uaWhleApAQCAtMCwwICsxLDEzIEBACis6MTAwMDAwMDBCNkMzQUFCQkNDRERDODA3QTAwMEYwMDc1RTAwMDYwMDlGCis6MTAwMDEwMDBGMDA3MEEwMDA4MDBGMDA5MDAwMDAyMDBFNzA3MzYwMEI4Cis6MTAwMDIwMDAwMDAwRjAwNzAwMDAwNDAwRTcwNzUwQzMxMEMwRjAwOTBCCis6MTAwMDMwMDAwRUMwMDAwMEU3ODcwMTAwMEVDMDk3Q0ZENzA5MDBDMEFGCis6MTAwMDQwMDAxNzAyQzgwN0EwMDBFNzE3NTBDMzEwQzAzMEQ4MDQwMDNCCis6MTAwMDUwMDAzMDVDMDgwMDA0MDBCMEMwMDYwMEM4MDVFNzA1MDBDMDE5Cis6MTAwMDYwMDBDMERGOTdDRjQ5QUZDMDA3MDAwMDYwQUY0QUFGMDAwQ0I4Cis6MTAwMDcwMDAwQzAwNDBEMjAwMUMwQzAwNDBEMjMwMDAwODAwRjAwN0Y5Cis6MTAwMDgwMDAwMDAwMDQwMEYwMDc4NjAwMDYwMDY3Q0YyNzBDMDIwMDdFCis6MTAwMDkwMDAwMDAwMjcwQzAwMDAwRUMwNDlBRjY0QUZDMDA3MDAwMDhECis6MTAwMEEwMDA0QkFGNEFBRjVBQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MDYwMEIwMDA5NDAwMDUwMDAwMDBCMQorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbi5paGV4IGIvZmlybXdhcmUva2F3ZXRoL3RyaWdnZXJfY29kZV9maXguYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcxMmY3MwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbi5paGV4CkBAIC0wLDAgKzEsMyBAQAorOjEwMDAwMDAwQjZDM0FBQkJDQ0REMDIwMDA2MDAxODAwM0UwMDgwMDA4QgorOjA2MDAxMDAwOTgwMEFBMDAwMDAwQTgKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL21wci5IRVggYi9maXJtd2FyZS9rZXlzcGFuL21wci5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUzYmExMAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vbXByLkhFWApAQCAtMCwwICsxLDEwNCBAQAorOjAzMDAzMzAwMDIwMDFBQUUKKzowNDAwMUEwMDUzRDhFRjMyOTYKKzoxMDAwMDMwMDhFNTY4RjU3RTU1NzE1NTdBRTU2NzAwMjE1NTY0RTYwRUMKKzowNzAwMTMwMDA1MTIwRkEyODBFRTIyOEUKKzowMzAwMjMwMDAyMDA0NjkyCis6MTAwMDQ2MDBDMEUwQzA4M0MwODJDMDg2NzU4NjAwQzBEMDc1RDAwODY3Cis6MTAwMDU2MDAzMDk5MEUzMDBCMDdBMjBFOTI5Qjg1MzY5OUMyOTlEMjIzCis6MTAwMDY2MDAxMjIwMTIwMzAyMDJGOUMyMTIzMDAzMTk3RTdFN0Y0MDZCCis6MTAwMDc2MDA3NTFBN0U3NTFCNDA3NTE3MDA3RTdEN0ZDMDc1MTg3RENECis6MTAwMDg2MDA3NTE5QzA4MDE3N0U3RDdGQzA3NTFBN0Q3NTFCQzA3NTdBCis6MTAwMDk2MDAxNzAxN0U3RTdGNDA3NTE4N0U3NTE5NDAyMDBCMDMwMjdFCis6MTAwMEE2MDAwMTg0RTUzQUMzOTU1MzUwM0MyMDBDMzQyMDA5MzE5MDI1Cis6MTAwMEI2MDA3RjlCRTA1NTM4NzAyOTMwMTAxMkFGM0EwNTNBRTUxQkEwCis6MTAwMEM2MDAyRkY1ODJFNDM1MUFGNTgzRTAxMzkyMEVBRjNBMDUzQTFFCis6MTAwMEQ2MDBFNTFCMkZGNTgyRTQzNTFBRjU4M0UwRjUzNjAyMDJGN0MzCis6MTAwMEU2MDBDMjBCMDIwMkY3MzAwMzExOTA3RkM3RTRGMEEzRTA1NDdECis6MTAwMEY2MDAwMkY1MURBM0UwRjUxQzgwMTE5MDdGQzlFNEYwOTA3RjA2Cis6MDMwMDQzMDAwMjBGMDBBOQorOjAzMDAwMDAwMDIwMDI2RDUKKzowQzAwMjYwMDc4N0ZFNEY2RDhGRDc1ODE1QTAyMEEzMzk5Cis6NDAwMTA2MDBDNkUwNTQwMkY1MURBM0UwRjUxQ0U1MTcyNEZGOTIwMzMwMEQwREMyMEQ5MDdGQkI3NDAxRjBDMjBCMDIwMkY3RTUxRDYwMDVDMjBCMDIwMkY3ODUxQzUzODUxOTgyODUxODgzRTAxMzkyMEQ3NTEyRkYyMDBDM0EyMDA5Mzc5MDgyCis6NDAwMTQ2MDA3RjlCRTA1NTM4NzAyRjMwMTAxQzg1MTk4Mjg1MTg4M0EzRTAxMzkyMEU4NTE5ODI4NTE4ODNBM0EzRTBGNTM2NzUzQTAzMDIwMkY3NzUzQTAyODUxOTgyODUxODgzQTNFMEY1MzYwMjAyRjc3NTNBMDFDMjBCMDIwMkY3MzAwM0ZFCis6NDAwMTg2MDAwRTkwN0ZDNkUwNTQwMkY1MURBM0UwRjUxQzgwMEM5MDdGQzhFMDU0MDJGNTFEQTNFMEY1MUNFNTNBQzM5NTUzNTAwMzAyMDI2OEU1MUQ2MDA3QzIxNEMyMDUwMjAyRjc4NTFDNTM4NTFCODI4NTFBODNFMDEzOTIwRDc1MTJGRjYxCis6NDAwMUM2MDAzMDBDMDMwMjAyNjAzMDA5MDMwMjAyNjA5MDdGOUJFMDU1Mzg2MDAzMDIwMjYwMzAxMDFCODUxQjgyODUxQTgzQTNFMDEzOTI5Qjg1MUI4Mjg1MUE4M0EzQTNFMEY1OTk3NTNBMDM4MDBEODUxQjgyODUxQTgzQTNFMEY1OTk3NTc1Cis6NDAwMjA2MDAzQTAyRTUzQUMzOTU1MzQwMjYzMDAzMDc5MDdGQzdFNEYwODAwNTkwN0ZDOUU0RjBFNTE3MjRGRjkyMDMyMDBEMDMwMjAyRjdDMjBEOTA3RkJCNzQwMUYwMDIwMkY3MzAxMDEyQUYzQTA1M0FFNTFCMkZGNTgyRTQzNTFBRjU4Mzk0Cis6NDAwMjQ2MDBFMDEzOTIwRUFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1MzZEMjBCMDIwMkY3NzUzQTAxQzIxNDAyMDJGNzMwMEMwMzAyMDJGNTMwMDkwMzAyMDJGNTkwN0Y5QkUwNTUzODcwNzkzMDEwMTJBRjNBMDUzQUU1MUIyRkYyCis6NDAwMjg2MDBGNTgyRTQzNTFBRjU4M0UwMTM5MjlCQUYzQTA1M0FFNTFCMkZGNTgyRTQzNTFBRjU4M0UwRjU5OUU1M0FDMzk1NTM0MDIyMzAwMzA3OTA3RkM3RTRGMDgwMDU5MDdGQzlFNEYwRTUxNzI0RkY5MjAzMzAwRDM2QzIwRDkwN0ZCQjBFCis6NDAwMkM2MDA3NDAxRjA4MDJDMzAxMDEyQUYzQTA1M0FFNTFCMkZGNTgyRTQzNTFBRjU4M0UwMTM5MjBFQUYzQTA1M0FFNTFCMkZGNTgyRTQzNTFBRjU4M0UwRjUzNkQyMEI4MDAyQzIxNEQyMDEyMDk4MDMwMjA0MzVDMjk4MjAwMjAzMDIwMzgzCis6NDAwMzA2MDBBMjIwMTUyN0FGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDEwNERBRjM5MDUzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTk1NUU1NTVCNTQ3MDREMjA5ODAyRUU1NTVCNTQ2MDRDMjA5ODAyNTFDCis6NDAwMzQ2MDBBRjM5MDUzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU1NUYwMzAxMDExQUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMEZFNTM5QzM5NTQzNTAwMzAyMDQzMzkwN0ZCOEUwMzBFMTE2RTUzOUMzOTQ0MDUwMDMwMkY1Cis6NDAwMzg2MDAwNDMzMTUzOTE1MzkwNTJCNDMzNDAxMDIwNDMzOTA3RkI3RTUzOUYwNzUzOTAwQzIwMjAyMDQzMzIwMTUyN0FGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDEwNERBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTk0Cis6NDAwM0M2MDA4M0U1OThGMDgwM0E4NTk5NTVFNTU1QjU0NzA0RDIwOTgwMkVFNTU1QjU0NjA0QzIwOTgwMjVBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU1NUYwMzAxMDExQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEVBCis6NDAwNDA2MDBEMjBGRTUzOUMzOTU0MzQwMjQ5MDdGQjZFMDMwRTExMkU1MzlDMzk0NDA0MDE2MTUzOTE1MzkwNTJCNDMzNDAxODAwQjkwN0ZCOUU1MzlGMDc1MzkwMEQyMDJEMjAxMzAwMTA1QzIwMTAyMDA1NkQwRDBEMDg2RDA4MkQwODNEMDJGCis6NDAwNDQ2MDBFMDMyOTA3RkJDRTAyMEUxNTRFNTM0NjA1MEU1MzE3MDRDRTUzNDMwRTEwQkU0RjUyRjc1MzQwMTc1MzEwMjgwMEVBMjA4RTQzM0Y1MkZDMjA4RTRGNTM0NzUzMTEwRTRGNTU2N0UwMDdCMDA3NDI0MjU1NkY5RUUzNDAwRkExMkQ4Cis6NDAwNDg2MDAwQzc5RkY3NDAwMjU1NkY1ODJFNDM0N0RGNTgzRUZGMDA1NTZFNTU2QjQwQ0RCOTA3RkJENzQwQ0YwOTA3RkNBRTAzMEUxMDMwMjA1RDFFNEY1NTY3NDQwMjU1NkY1ODJFNDM0N0RGNTgzRTBGRkU1NTY3QzAwN0IwMDI0M0JGOTAzCis6NDAwNEM2MDBFQzM0MDBGQUVGMTIwQzkyMDU1NkU1NTZCNDE4REJFNTNCNjAxMTc1QzkyMDc1QzgzNjg1M0NDQTg1M0RDQkU0OTA3RjlGRjBFNTNFMTM5MjEwOTI5Rjg1M0YzOEU1NDAxMzkyMTVFNTQxNjAwOTkwN0Y5OEUwNTRGQkYwODAwNzQ0Cis6NDAwNTA2MDA5MDdGOThFMDQ0MDRGMEU1NDI2MDA5OTA3Rjk4RTA1NDdGRjA4MDA3OTA3Rjk4RTA0NDgwRjBFNTQ4NjAwQkMyMENDMjA5OTA3Rjk1RTA0NDAyRjBFNTQ5NjAwQ0QyMDk0MzM0MDE5MDdGOTVFMDQ0MDJGMEU1NEE2MDBEQzJBRkJCCis6NDAwNTQ2MDBDMjBCRDIwMEU0RjU1M0Y1M0FEMkFGRTU0QjYwMDUzMDE1MDJEMjA5RTU0QzYwMTU5MDdGOTVFMDU0RkRGMDkwN0Y5RUUwNDQwMkYwOTA3Rjk4RTA1NEZERjBFNTRENjAwQUQyOUNDMjk4NzUyQzAxNzUzMTFFRTU0RTYwMDdDMjI3Cis6NDAwNTg2MDA5Q0U0RjUzOUY1MkNFNTRGNjAwM0U0RjUzOUU1NTA2MDAyRDIwN0U1NTE2MDBBRTU0RDcwMDJGNTMxRTU1MTQyMzRFNTUyNjAxRjkwN0ZENzc0MTFGMDc0MzFGMDc0MTJGMDc0MzJGMDc0MTNGMDc0MzNGMDc0MTRGMDc0MzRGMDY3Cis6NDAwNUM2MDBEMjAzRDIwMkQyMDhFNDkwN0ZDQkYwQTIwQ0U0MzNGRjY1Mjk2MDA1OEYyOTQzMzQwMUEyMDlFNDMzRkY2NTJBNjAwNThGMkE0MzM0MDE5MDdGOUJFMEZGNTQwODY0MDhGNTU3NjUyNTYwMDY4NTU3MjU0MzM0MDFFRjU0MTA2NDNBCis6NDAwNjA2MDAxMEY1NTc2NTI2NjAwNjg1NTcyNjQzMzQwMUVGNTQ0MDY0NDBGNTU3NjUyNzYwMDY4NTU3Mjc0MzM0MDFFRjU0MjA2NDIwRjU1NzY1Mjg2MDA2ODU1NzI4NDMzNDAxOTA3RjlBRTA1NDQwNjQ0MEY1NTc2NTJFNjAwNjg1NTcyRTVCCis6NDAwNjQ2MDA0MzM0MDEzMDA3MzVDMkFGMzAwMjE4OTA3RkI4RTAyMEUxMjdFNTM5NjAwOTkwN0ZCN0YwRTRGNTM5QzIwMkMyMDc4MDE2OTA3RkI2RTAyMEUxMEZFNTM5NjAwOTkwN0ZCOUYwRTRGNTM5RDIwMkMyMDdEMkFGMjAwNTNEMzAwM0RCCis6NDAwNjg2MDAxRTkwN0ZDNkUwMjBFMTMzOTA3RTQwRTAxMzkyMEQ3NTNBMDE5MDdGQzdFMEY1NTNEMjA1NzUxMkZGODAxQzkwN0ZDOEUwMjBFMTE1OTA3REMwRTAxMzkyMEQ3NTNBMDE5MDdGQzlFMEY1NTNEMjA1NzUxMkZGMjAxNDMzMjAwMEU2Cis6NDAwNkM2MDAwNkU1M0E2NTUzNzAyQTMwMDUxQTMwMDMwOUU0OTA3RkM3RjBDMjAzODAwN0U0OTA3RkM5RjBEMjAzQzIwNUU0RjU1M0Y1M0EzMDBEMEFDMjBEQzIwMDkwN0ZCQjc0MDFGMDMwMTQwMzAyMDdCRjIwMDUwMzAyMDdCRjMwMEMwMzE0Cis6NDAwNzA2MDAwMjA3QkYzMDA5MDMwMjA3QkY5MDdGOUJFMDU1Mzg2MDAzMDIwN0JGMzAwMzBDN0U3RTdGNDA3NTU4N0U3NTU5NDA4MDBBN0U3RDdGQzA3NTU4N0Q3NTU5QzAzMDEwMTJBRjNBMDUzQUU1NTkyRkY1ODJFNDM1NThGNTgzRTAxMzdDCis6NDAwNzQ2MDA5MjFBQUYzQTA1M0FFNTU5MkZGNTgyRTQzNTU4RjU4M0UwRjU1N0U1M0FDMzk1NTM1MDJBMzAxMDEyQUYzQTA1M0FFNTU5MkZGNTgyRTQzNTU4RjU4M0UwMTM5MjBFQUYzQTA1M0FFNTU5MkZGNTgyRTQzNTU4RjU4M0UwRjUzNjg4Cis6NDAwNzg2MDBEMjBCODAxNUMyMEIzMDAzMDlFNDkwN0ZDN0YwQzIwMzgwMDdFNDkwN0ZDOUYwRDIwMzMwMTAwNEEyMUE5MjlCRDIxNEMyQUY4NTU3OTkyMDBCMEQzMDBEMEFDMjBEQzIwMDkwN0ZCQjc0MDFGMEQyQUYyMjkwN0ZFOUUwMTIwQzcwCis6NDAwN0M2MDBBNDA5MUMwMDA5ODkwMTA5RTYwMzA3RTMwNjA5MEQwODA5MDEwOTA4RTkwQTA4RjgwQjAwMDAwQTI0OTA3RkVCRTAyNEZFNjAxQzE0NzAwMzAyMDg3OTI0MDI2MDAzMDIwQTI0NzQwRDkwN0ZENEYwNzQ4NzkwN0ZENUYwMDIwQUU2Cis6NDAwODA2MDAyQjkwN0ZFQUUwQjQwMTA0N0YwMjgwMDI3RjAzNzU4MkQ4NzU4MzBERUZGMDc1ODJEMTc1ODMwREYwNzU4MkNBNzU4MzBERjA3NTgyQzM3NTgzMERGMDkwN0ZFQUUwMDQ3NTgyOUU3NTgzMERGMDkwN0ZFRkUwRkU5MDdGRUVFMDdCCis6NDAwODQ2MDA3QzAwMjQwMEY1NUFFQzNFRjU1OTc1MTUwRDc1MTY5OTc1ODI5Qjc1ODMwREUwNzUxMzAwRjUxNEQzRTUxNDk1NUFFNTEzOTU1OTQwMDY4NTU5MTM4NTVBMTQxMjBCQkEwMjBBMkI5MDdGRUFFMDcwMEI3NTU2RkY3NTU3MEQ3NTAzCis6NDAwODg2MDA1OERDODAyRDkwN0ZFQUUwQjQwMTBCNzU1NkZGNzU1NzBENzU1OEUwODAxQjkwN0ZFQUUwQjQwMjBCNzU1NkZGNzU1NzBENzU1OEYwODAwOTc1NTZGRjc1NTcwRTc1NTgxRTkwN0ZFRUUwNzU1OTAwRjU1QUFFNTdBRjU4OEUxNTEyCis6NDAwOEM2MDA4RjE2OEY4MjhFODNFMEZFQTNFMDhFMTNGNTE0RDM5NTVBRTUxMzk1NTk0MDA2ODU1OTEzODU1QTE0MTIwQkJBMDIwQTJCOTA3RjAwRTUxMUYwOTA3RkI1NzQwMUYwMDIwQTJCOTA3RkVBRTBGNTExMDIwQTJCMTIwQzI0OTA3Rjg0Cis6NDAwOTA2MDBFQUUwRjUxMDAyMEEyQjkwN0YwMEU1MTBGMDkwN0ZCNTc0MDFGMDAyMEEyQjkwN0ZFOEUwMjQ3RjYwMjcxNDYwMzQyNDAyNjAwMzAyMEEyNEEyMTZFNDMzRkYyNUUwRkZBMjE4RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDU1Cis6NDAwOTQ2MDAwMkYwMDIwQTJCRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjBBMkI5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDBCCis6NDAwOTg2MDAwMjBBMkI5MDdGRThFMDI0RkU2MDE3MjQwMjYwMDMwMjBBMkI5MDdGRUFFMDY0MDE2MDAzMDIwQTI0QzIxNjAyMEEyQjkwN0ZFQUUwNzA3NjkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDhECis6NDAwOUM2MDA3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDQ1OTA3RkU4RTAyNEZFNjAxMDI0MDI3MDM5OTA3RkVBRTA2NDAxNzAyQUQyMTY4MDJEOTA3RkVBRTA3MDIwOTA3Rjc3Cis6NDAwQTA2MDBFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJDMjEwRTRGNTEwRjUzNEMyMDlDMjBDQzIwQkMyMTRDMjBEQzIxNUE1Cis6NDAwQTQ2MDBDMjExQzIwN0MyMTJDMjBGQzIwOEY1MzVGNTM5RjU1M0Y1M0FGNTMzRjUzMEY1MkZGNTJFRjUyREY1MkNGNTJCRjUyQUY1MjlGNTI4RjUyN0Y1MjZGNTI1RjUyNEMyMDVDMjE3QzIxOUMyMTZDMjE4QzIwNEQyMTNDMjA2QzIwMTc4Cis6NDAwQTg2MDA5MDdGOTJFMDU0RkRGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwRkYwOTA3RkFDNzQwRUYwRDJBRkQyQkNEMjQ3Cis6NDAwQUM2MDAxQTEyMEY3REMyMTczMDA0MDMxMjA0NDgzMDA0MkEzMDA2MjdDMjA2RTUxMjYwMTYxNTEyOTA3RkQ4RTAzMEU2MDQ3RjAwODAwMjdGMjA5MDdGOTZFRkYwODAwNjkwN0Y5Njc0MjBGMDEyMEIxNDgwQ0QzMDE3MDdDMjE3MTIwNzQxCis6NDAwQjA2MDBDMDgwQzMzMDE5QzBDMjE5MTIwRURDODBCOTIyRTUzMTYwMDIxNTMxRTUzOTYwNTU2NTM1NzA0QkU1MzNGNDYwMDIwNTMzRTUzM0MzOTU0NDQwNDNDMkFGMzAwMjFCOTA3RkI4RTAyMEUxMkQ5MDdGQjdFNTM5RjBDMjAyRTRGNUFBCis6NDAwQjQ2MDAzOUY1MzNGNTM1NzUxMkZGODAxOTkwN0ZCNkUwMjBFMTEyOTA3RkI5RTUzOUYwRDIwMkU0RjUzOUY1MzNGNTM1NzUxMkZGRDJBRjgwMDY4NTM5MzVFNEY1MzNFNTJDNjAzMDIwMEYwNzkwN0Y5QkUwMzBFMDBGRTUyRDYwMDZFNDk3Cis6NDAwQjg2MDBGNTJENDMzNDAxRTRGNTMwODAxNEU1MzBEMzk1NDU1MDBERTUzMEI1NDUwNjc1MkQwMTQzMzQwMTA1MzBDMjBGMjI5MDdGRDlFMDMwRTIwNDdGMDA4MDAyN0YyMDkwN0Y5NkVGRjAyMkU1MTQ0NTEzNjA1N0FFMTNBRjE0RDNFRjBGCis6NDAwQkM2MDA5NDQwRUU5NDAwNDAwNDdFMDA3RjQwQzNFNTE0OUZGNTE0RTUxMzlFRjUxM0U0RkRFREMzOUZFNDlFNTAxRjg1MTY4Mjg1MTU4M0UwRkM3NDAwMkRGNTgyRTQzNDdGRjU4M0VDRjAwRDA1MTZFNTE2NzAwMjA1MTU4MERBOTA3RkM0Cis6NDAwQzA2MDBBOTc0MDFGMDkwN0ZBQ0UwNDQwMUYwOTA3RkI1RUZGMDIyOTA3RkFDRTA1NEZFRjBFNDkwN0ZCNUYwMjJFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2NzQyMEYwOTA3Rjk0NzQwMUYwOTA3RjlENzRGRkYwOTA3Rjk3NzQ4NkRGCis6NDAwQzQ2MDBGMDkwN0Y5NTc0MDNGMDkwN0Y5RTc0ODRGMDkwN0Y5OEYwRTQ5MDdGQzdGMDkwN0ZDOUYwOTA3RkNCRjA3NTk4NDA0M0E4MTA5MDdGREU3NDFGRjA5MDdGREY3NDBGRjBEMjA0MjJCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkMzCis6NDAwQzg2MDBCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBMzY3Cis6NDAwQ0M2MDBBM0EzODBERkU0OTA3Rjk1RjA5MDdGOTRGMDkwN0Y5M0YwOTA3RjlERTA0NDAyRjA5MDdGOTdFMDQ0NDJGMDkwN0Y5Qzc0MTBGMEU0OTA3Rjk2RjA5MDdGOUQ3NEJFRjAzMDE2MDQ3RjgwODAwMjdGMDA5MDdGOTdFRkYwRTQ5MDQ1Cis6NDAwRDA2MDA3Rjk1RjA5MDdGOUVGMDkwN0Y5OEYwMjJDMEUwQzBGMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwQzBEMDc1RDAwODUzOTFFRjkwN0ZBOTc0MDFGMDEyMEJCQUQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRjBEMEUwMzJDMDZBCis6NDAwRDQ2MDBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCis6NDAwRDg2MDAwMDEyMDExMDAxRkZGRkZGNDBDRDA2MUMwMTAxMDAwMTAyMDAwMjA5MDI0MzAwMDEwMTAwODAzMjA5MDQwMDAwMDdGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDU4MTAyNDAwMDAyCis6NDAwREM2MDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA0MDMwOTA0MTAwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyRTAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTAwMEEzCis6NDAwRTA2MDA1MzAwNDgwMDMxMDAzMTAwMzIwMDJEMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMjAzNTUwMDUzMDA0MTAwMkQwMDM1MDAzMzAwMjAwMDMyMDAzMDAwMzAwMDMyMDA2MTAwNzAwMDcyMDAzMjAwMzYwMDAwMDBDMEUwQzA4M0RCCis6NDAwRTQ2MDBDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTA3RkFCNzQwMkYwRDIwNkQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxNzUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDFGCis6NDAwRTg2MDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTk1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDg0Cis6NDAwRUM2MDA1MzkxRUY5MDdGQTk3NDAyRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjEyMENDQTEyMEZCMzkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjBEN0UwMDEyMDAwMzkwN0ZENkUwNTRGRUYwMTIwQzI0MjIwMDAyMEU2OTAwMDIwRUEzCis6NDAwRjA2MDA0MjAwMDIwRDQ1MDAwMjBFOTAwMDAyMEYxMDAwMDIwRjE0MDAwMjBEMTIwMDAyMEYxQzAwMDIwRUI3MDAwMjBGMjQwMDAyMEYzMzAwMDIwRjJDMDAwMjBGNThDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MEE5Cis6NDAwRjQ2MDA3RkE5NzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MDdGQTk3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0ZENkUwNTRGQkYwRTA0NEMxCis6M0QwRjg2MDAwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMDAwMzkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjJDCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCisKK3N0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTUzW10gPQorCSIwNC8yNi8yMDAyICAwMjo0N3AgICAgICAgICAgICAgIDExLDU3MCBVU0E1MyI7CisKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMTh4LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTh4LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWZmNzBlCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOHguSEVYCkBAIC0wLDAgKzEsMTQxIEBACis6MDMwMDMzMDAwMjEyRjdCRgorOjEwMDAwMzAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjBCRgorOjEwMDAxMzAwOTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwOTAzMQorOjBGMDAyMzAwN0Y5NUYwOTA3RjlFNzQwN0YwRTQ5MDdGOThGMDIyMTUKKzoxMDAwNDYwMDMwMDkxODEyMTMxQkVGQzM5NTNDNDAwMzAyMDBEODkwRTkKKzoxMDAwNTYwMDdGQkY3NDAxRjBDMjA5QzIwMDgwNzczMDAzM0I5MDdGRjYKKzoxMDAwNjYwMEM2RTAyMEUxNkQxMjEzMUJFRkMzOTQ0MDUwNjQ5MDdFRUUKKzoxMDAwNzYwMDQwRTAxMzkyMDk5MDdGQzdFMDE0RjUxOTIwMDAxMTYwNDMKKzoxMDAwODYwMDBGRjUwODdFN0U3RjQxNzUwQzdFNzUwRDQxMTIwQ0JBMDgKKzoxMDAwOTYwMEMyMDNFNDkwN0ZDN0YwODAzOTkwN0ZDOEUwMjBFMTMyNDgKKzoxMDAwQTYwMDEyMTMxQkVGQzM5NDQwNTAyOTkwN0RDMEUwMTM5MjA5QjAKKzoxMDAwQjYwMDkwN0ZDOUUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEQzgKKzoxMDAwQzYwMDdGQzE3NTBDN0Q3NTBEQzExMjBDQkFEMjAzRTQ5MDdGMDkKKzoxMDAwRDYwMEM5RjA5MDdGQjZFMDMwRTEwMzAyMDE2MDEyMTFENjhGQkQKKzoxMDAwRTYwMDE5MTIxMzI3OEYzNkU1MTlDMzk1M0E1MDBGMTIxMkVCRTIKKzoxMDAwRjYwMEVGMzBFMDA4RTUzNjIwRTcwMzMwMEI1RUMyMEJFNTE5NkEKKzowQzAwMzYwMDkwN0Y5ODc0MTBGMDkwQzAwMEUwRkYyMjUyCis6MDMwMDQzMDAwMjEzMDBBNQorOjAzMDAwMDAwMDIwRTAwRUQKKzo0MDAxMDYwMDYwNThCNDgwMDM0MzM2MDJFNTM2MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdFN0Y4MDc1MEM3RTc1MEQ4MEFGMzYxMjBGNEJFNTE5MjVFMDkwN0ZCN0YwODAyN0U1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTA4RDQKKzo0MDAxNDYwMDkwN0U4MEU1MzZGMDdFN0U3RjgxNzUwQzdFNzUwRDgxMTIwQ0RGRTUxOTA0OTA3RkI3RjA5MDdGQ0VFMDMwRTEwNjIwMDUwMzAyMDNDMUMyMDVFNEY1MTg3NDQwMjUxOEY1ODJFNDM0N0NGNTgzRTBGRkU1MTg3QzAwN0IwMTdBRjEKKzo0MDAxODYwMDdFNzkwMDI0MDBGOUVDMzQ3RUZBRUYxMjBFRDIwNTE4RTUxOEI0MjBENzkwN0UwMEUwNjA2ODkwN0UwM0UwNjAyNDdGMDFFNEZEMTIxMUIxN0YwMzdEQ0QxMjExQjE0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjBFNDkwRTAKKzo0MDAxQzYwMDdFMTNGMDgwMzA5MDdFMDFFMEZGMTIxMDM1OTA3RTAyRTBGRjEyMTA1QjdGMDE5MDdFMTFFMEZEMTIxMUIxN0YwMzdEMDcxMjExQjE0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdGOTg3NDEyRjBFNTQwNDQwNjkwM0UKKzo0MDAyMDYwMEMwMDBGMDkwN0UwM0UwNzAwNjkwN0UxM0UwNzAwOEU0OTA3RTEzRjA3NTI1RkY5MDdFMDVFMDYwMTJBM0UwNTQzRkY1NDQ5MDdGOTg3NDEzRjA5MEMwMDBFNTQ0RjA5MDdFMDdFMDYwMkJBM0UwNjAwNTQzNDI4MDgwMDM1MzQyREEKKzo0MDAyNDYwMDdGNTM0MkZDOTA3RTA5RTA2MDExNDM0MjAyQTNFMEZGMTIxMEE3OTA3RTBCRTBGRjEyMTBDREFGNDIxMjEwODE5MDdFMDNFMDYwMDg1MzQyN0ZBRjQyMTIxMDgxOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzQ2MDI4MDAzNTM0NkZEQjQKKzo0MDAyODYwMDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UwRUUwNjAxOEEzRTA2MDA1NDM0NjAxODAwMzUzNDZGRTkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxMkUwRjUzQUEzRTAxMzkyMERBM0UwRjUzQ0EzRTA2MDA1NDM0NjEwOEIKKzo0MDAyQzYwMDgwMDM1MzQ2RUY5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTZFMDYwMzI1MzQ0QkY5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxMUYwMTIxMkRGRUY1NEZFOTBDMDAwRjA1MzNFRkRFNEZGQUQzRTEyMEYKKzo0MDAzMDYwMDExQjFFNEY1MkFGNTI5RDIwNzkwN0UxN0UwNjAwRjQzM0UwMkU0RkZBRDNFMTIxMUIxNzUyOTAxRDIwNzkwN0UxOEUwNjAxMDkwN0Y5ODc0MTJGMEU1NDA0NDA0OTBDMDAwRjBEMjAwOTA3RTE5RTA2MDExNDM0NDQwOTA3Rjk4RjIKKzo0MDAzNDYwMDc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdFMUFFMDYwMEY1MzNFRkVFNEZGQUQzRTEyMTFCMTc1MkIwMUQyMDc5MDdFMUJFMDYwMEY0MzNFMDFFNEZGQUQzRTEyMTFCMUU0RjUyQkQyMDc5MDdFMUNFMDYwMEU5MDdGOTg3NDEyODQKKzo0MDAzODYwMEYwRTU0MDQ0MDI5MEMwMDBGMDkwN0UxREUwNjAwMkQyMEI5MDdFMUVFMDYwMDg3NTJDMDFFNEY1MzhEMjA3OTA3RTFGRTA2MDExOTA3RkQ3NzQxMUYwNzQzMUYwNzQxNUYwNzQzNUYwRDIwM0U0OTA3RkNGRjAzMDFBNTJFNTM4OTIKKzo0MDAzQzYwMDYwMDIxNTM4MjAxMzQ5RTUxM0QzOTQwMDQwMDQxNTEzODAzRTc1MTMwQTMwMUIwMkQyMTMxMjEyREZFRjU0MDFGNTE5NjUyQTYwMDU4NTE5MkFEMjA3MTIxMzMzRUY1NDgwRjUxOTY1MjY2MDA1ODUxOTI2RDIwNzMwMEQxMTEyN0YKKzo0MDA0MDYwMDEzMzNFRjU0MTBGNTE5NjUyNTYwMDU4NTE5MjVEMjA3MjAxQjAzMDIwN0VDMzAwQTE4MTIxMzZGRUZDMzk1M0Q0MDAzMDIwNEFFOTA3RkMxNzQwMUYwQzIwQUMyMDA4MDc3MzAwNDNCOTA3RkNBRTAyMEUxNkQxMjEzNkZFRkMzNUEKKzo0MDA0NDYwMDk0NDA1MDY0OTA3RDQwRTAxMzkyMEE5MDdGQ0JFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3RDdGNDE3NTBDN0Q3NTBENDExMjBEMDRDMjA0RTQ5MDdGQ0JGMDgwMzk5MDdGQ0NFMDIwRTEzMjEyMTM2RkVGQzM5NDQwNTAyOTkwQkMKKzo0MDA0ODYwMDdDQzBFMDEzOTIwQTkwN0ZDREUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdDN0ZDMTc1MEM3Qzc1MERDMTEyMEQwNEQyMDRFNDkwN0ZDREYwOTA3RkJBRTAzMEUxMDMwMjA1MzYxMjEyMjA4RjE5MTIxMzdCOEYzN0U1MTlDMzk1MkIKKzo0MDA0QzYwMDNCNTAwRjEyMTM1N0VGMzBFMDA4RTUzNzIwRTcwMzMwMEM1RUMyMENFNTE5NjA1OEI0ODAwMzQzMzcwMkU1MzczMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0Q3RjgwNzUwQzdENzUwRDgwQUYzNzEyMEY4NEU1MDMKKzo0MDA1MDYwMDE5MjVFMDkwN0ZCQkYwODAyN0U1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTA4OTA3RDgwRTUzN0YwN0U3RDdGODE3NTBDN0Q3NTBEODExMjBEMjlFNTE5MDQ5MDdGQkJGMDkwN0ZEMEUwMzBFMTA2MjAwNjAzMDIwNzk3QzIwNkU0RjgKKzo0MDA1NDYwMEY1MTg3NEMwMjUxOEY1ODJFNDM0N0JGNTgzRTBGRkU1MTg3QzAwN0IwMTdBN0U3OTIwMjQyMEY5RUMzNDdFRkFFRjEyMEVEMjA1MThFNTE4QjQyMEQ3OTA3RTIwRTA2MDY4OTA3RTIzRTA2MDI0N0YwMUU0RkQxMjExRkI3RjAzMjkKKzo0MDA1ODYwMDdEQ0QxMjExRkI0MzQ3ODA5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBFNDkwN0UzM0YwODAzMDkwN0UyMUUwRkYxMjExMTk5MDdFMjJFMEZGMTIxMTNGN0YwMTkwN0UzMUUwRkQxMjExRkI3RjAzN0QwNzEyMTFGQjQzNDc4MDkwNDgKKzo0MDA1QzYwMDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdGOTg3NDBBRjBFNTQxNDQwNjkwQzAwMEYwOTA3RTIzRTA3MDA2OTA3RTMzRTA3MDA4RTQ5MDdFMzNGMDc1MkVGRjkwN0UyNUUwNjAxMkEzRTA1NDNGRjU0NTkwN0Y5ODc0MEJGMDkwRUIKKzo0MDA2MDYwMEMwMDBFNTQ1RjA5MDdFMjdFMDYwMkJBM0UwNjAwNTQzNDM4MDgwMDM1MzQzN0Y1MzQzRkM5MDdFMjlFMDYwMTE0MzQzMDJBM0UwRkYxMjExNjU5MDdFMkJFMEZGMTIxMThCQUY0MzEyMTBGMzkwN0UyM0UwNjAwODUzNDM3RkFGRkUKKzo0MDA2NDYwMDQzMTIxMEYzOTA3RTJDRTA2MDE4QTNFMDYwMDU0MzQ3MDI4MDAzNTM0N0ZEOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTJFRTA2MDE4QTNFMDYwMDU0MzQ3MDE4MDAzNTM0N0ZFOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRDQKKzo0MDA2ODYwMDkwN0UzMkUwRjUzQkEzRTAxMzkyMEVBM0UwRjUzREEzRTA2MDA1NDM0NzEwODAwMzUzNDdFRjkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UzNkUwNjAzMjUzNDVCRjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdGNzkKKzo0MDA2QzYwMDk4NzQwOUYwMTIxMzRCRUY1NEZFOTBDMDAwRjA1MzNGRkRFNEZGQUQzRjEyMTFGQkU0RjUzM0Y1MzJEMjA4OTA3RTM3RTA2MDBGNDMzRjAyRTRGRkFEM0YxMjExRkI3NTMyMDFEMjA4OTA3RTM4RTA2MDEwOTA3Rjk4NzQwQUYwNDMKKzo0MDA3MDYwMEU1NDE0NDA0OTBDMDAwRjBEMjAwOTA3RTM5RTA2MDExNDM0NTQwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0UzQUUwNjAwRjUzM0ZGRUU0RkZBRDNGMTIxMUZCNzUzNDAxRDIwODkwN0UzQkUwNjAwRjQzM0YwMUU0RTkKKzo0MDA3NDYwMEZGQUQzRjEyMTFGQkU0RjUzNEQyMDg5MDdFM0NFMDYwMEU5MDdGOTg3NDBBRjBFNTQxNDQwMjkwQzAwMEYwOTA3RTNERTA2MDAyRDIwQzkwN0UzRUUwNjAwODc1MzUwMUU0RjUzOUQyMDg5MDdFM0ZFMDYwMTE5MDdGRDc3NDEzODkKKzo0MDA3ODYwMEYwNzQzM0YwNzQxNkYwNzQzNkYwRDIwNEU0OTA3RkQxRjAzMDFBNTJFNTM5NjAwMjE1MzkzMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyQzIxMzEyMTM0QkVGNTQwMUY1MTk2NTMzNjAwNTg1MTkzM0QyNzkKKzo0MDA3QzYwMDA4MTIxMzg3RUY1NDgwRjUxOTY1MkY2MDA1ODUxOTJGRDIwODMwMEUxMTEyMTM4N0VGNTQxMEY1MTk2NTJFNjAwNTg1MTkyRUQyMDgzMDFBMkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxNTkwN0I0MkUwRjUxNjkwMzUKKzo0MDA4MDYwMDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA5MjBFNTBBNzA0MDMwMDczOUU1Mzg3MDM1QzIwN0Y1MTg3RTAwN0IwMDc0MjQyNTE4RjlFRTM0MDBGQTEyMEU4Q0ZGNzQ4MDI1QkQKKzo0MDA4NDYwMDE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM4MTBFNEY1MkM3NTBBMDEyMkU1MEE2NDAxNzA0MDMwMDgzOUU1Mzk3MDM1QzIwOEY1MTg3RTAwN0IwMDc0MkQyNTE4RjlFRTM0MDBGQTEyOTcKKzo0MDA4ODYwMDBFOENGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM5MTBFNEY1MzU3NTBBMDIyMkU1MEE2NDAyNzAzNjMwMTQyRkMyMTRGNTE4N0UwMDdCMDA3NDBFMjUxOEY5RUUzNDAwODMKKzo0MDA4QzYwMEZBMTIwRThDRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwNURCOTA3RkMzNzQwNUYwNzUwQTAzMjJFNTE1NjAzMDE1MTVFNEY1MTg3RTAwN0IwMDc0MTQyNTE4RjlFRTM0MDBGQTEyMEU4Q0ZGNzQ4MDI1RjIKKzo0MDA5MDYwMDE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDAzREI5MDdGQzM3NDAzRjBFNEY1MEEyMjkwN0ZFOUUwMTIwRUU0MEEwODAwMEE3QzAxMEFFODAzMDk0NDA2MDlGQjA4MDlGNTA5MDlERDBBMDlFQzBCMDAwMDBCMzc5MDdGM0QKKzo0MDA5NDYwMEVCRTAyNEZFNjAxOTE0NjA2MTI0MDI2MDAzMDIwOUQzNzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwQjNFOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3Qjc1ODMxOUYwNzU4Mjc0NzU4MzE5QjIKKzo0MDA5ODYwMEYwNzU4MjY2NzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDc0MTk5MDdGRDRGMDc0MTI5MDdGRDVGMDAyMEIzRTkwN0ZFQUUwRkYxMjBGMEFFQTQ5NjAwREVBOTA3RkQ0RjBFOTkwN0ZENUYwODUKKzo0MDA5QzYwMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGMDBFNTA5RjA5MDdGQjU3NDAxRjAwMjBCM0U5MDdGRUFFMEY1MDkwMjBCM0UxMjBCNDYwMjBCM0U5MDdGMDA3NDAxRjA5MDdGQjVGMDAyMDUKKzo0MDBBMDYwMDBCM0U5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjEwRTQzM0ZGMjVFMEZGQTIxNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjNFRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjBCM0U5MDdGMDQKKzo0MDBBNDYwMEVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZFOEUwMjRGRTYwMUQyNDAyMEYKKzo0MDBBODYwMDYwMDMwMjBCM0U5MDdGRUFFMEI0MDEwNUMyMTAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGQjYKKzo0MDBBQzYwMEVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjEwODAzRjkwN0ZCNEUwNDQwMUYwNDkKKzo0MDBCMDYwMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyRDQKKzo0MDBCNDYwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MjQ3NTE4MDE3QjAwNzQyNDI1MThGOUU0MzQwMEZBOEIKKzo0MDBCODYwMEU0MTIwRUQyMDUxOEU1MThCNDA5RUE3NTNBMDFFNEY1MzhGNTEzRjUzNkMyMDdDMjBCQzIwNUMyMDBDMjA5QzIxMzkwN0Y5ODc0MTNGMDc1NDQwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUIxN0YxMDhGNDIxMjEwODE5MDdGMDIKKzo0MDBCQzYwMDk4NzQxMkYwN0YwMThGNDBFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MTRGMDc1NDY4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTFCMUU0RkY3RUEzQUQwNjhEM0UxMjExQjE5MDdGOTg3NDExRjA5MEMwMDBFNEYwN0YwNTdEN0YxMjExOEUKKzo0MDBDMDYwMEIxN0YwMTEyMTI2QTdGMDM3RDA3MTIxMUIxMjAxQjAzMDIwQ0I3NzUyRDAxNzUxODAxN0IwMDc0MkQyNTE4RjlFNDM0MDBGQUU0MTIwRUQyMDUxOEU1MThCNDA5RUE3NTNCMDFFNEY1MzlGNTEzRjUzN0MyMDhDMjBDQzIwNkMyQ0QKKzo0MDBDNDYwMDAwQzIwQUMyMTM5MDdGOTg3NDBCRjA3NTQ1MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTFGQjdGMTA4RjQzMTIxMEYzOTA3Rjk4NzQwQUYwN0YwMThGNDFFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MENGMDc1NDc4MDkwQzAwMDc0NEUKKzo0MDBDODYwMDgwRjAwRkU0RkQxMjExRkJFNEZGN0VBM0FEMDY4RDNGMTIxMUZCOTA3Rjk4NzQwOUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMUZCN0YwMTEyMTI4QjdGMDM3RDA3MTIxMUZCRDIxMjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyQTUKKzo0MDBDQzYwMEU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI5MDdGMjAKKzo0MDBEMDYwMDk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1NUMKKzo0MDBENDYwMDg2REZGNzA1ODZEMkFGMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJEMjE5OTA3RjkyRTA0NDAyRjA5MDdGQUVFMEZGRDM5MjEwRTQzM0ZFRUY0RUYwODkKKzo0MDBEODYwMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRkQyMUExMjEyNDVDMjExRTRGNTBCRjUxM0MyMTdDMjEyRDQKKzo0MDBEQzYwMDkwN0ZBMTA0RjA5MDdGRDhFMDY1MTc2MDEwMzAxMjA1RDIxQTEyMDA0NjkwN0ZEOEUwRjUxNzgwMDgzMDEyMDVDMjFBMTIwMDQ2MzAxMTA3QzIxMTEyMDkyMTgwRDYzMDE4RDNDMjE4MTIxMzkzODBDQzIyNzg3RkU0RjZEOEZEQzcKKzo0MDBFMDYwMDc1ODE0NzAyMEU0NzAyMEQ2RkU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwRjUKKzo0MDBFNDYwMDgwOTAxMkFDRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBMUUKKzo0MDBFODYwMERGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1QjgKKzo0MDBFQzYwMDgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQzEKKzo0MDBGMDYwMEEzQTM4MERGOEYxOEU0RjUxOTc1MUFGRjc1MUIxOTc1MUM4NkFCMUFBQTFCQTkxQzkwMDAwMTEyMEVBNUI0MDMxREFGMTkwNTE5RUZCNTE4MDEyMjEyMEU4QzdFMDAyOUZGRUUzQUE5MDc3NTFBRkZGNTFCODkxQzgwRDQ3QjAwQTUKKzo0MDBGNDYwMDdBMDA3OTAwMjI4RjFBMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIwMDM2MDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjAwQTEyMTMyNzhGMUFFRjQyMzY4MENBMjI4RjFBRkMKKzo0MDBGODYwMDA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMTMzRjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzN0I4RjFBRUY0MjM3ODBDQTIyQzBFMEMwODNDMDgyQzA4NUMwODgKKzo0MDBGQzYwMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTE1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwQzYKKzo0MDEwMDYwMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEwOEEKKzo0MDEwNDYwMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzNDkKKzo0MDEwODYwMEYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0RDkKKzo0MDEwQzYwMDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEFGMDkwMkEKKzo0MDExMDYwMEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwOEYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQUYKKzo0MDExNDYwMEMwMDA3NEJGRjA5MDdGOTg3NDA5RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQ0YwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGRUMKKzo0MDExODYwMDkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBFRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTdGMDkwNzUKKzo0MDExQzYwMEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIxMzBGOEYxQTEyMTMwRjhGMUJFNTFBNjUxQjYwMTIxMjEzMEY4RjFBRTUxQTY1MUI2MDA3MTIxMzBGOEYxQjgwRThBRjFBMjI5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwOTgKKzo0MDEyMDYwMEMwMDBGMDkwN0Y5ODc0MEZGMDkwQzAwMEVGRjA5MDdGOTg3NDBERjA5MEMwMDBFREYwMjIxMjEzNjM4RjFBMTIxMzYzOEYxQkU1MUE2NTFCNjAxMjEyMTM2MzhGMUFFNTFBNjUxQjYwMDcxMjEzNjM4RjFCODBFOEFGMUEyMjkwQzgKKzo0MDEyNDYwMDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMTJDODkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMkFFMDdFNEZGRTUzRTU0N0ZGRDEyMTFCMTkwN0Y5ODc0MTFGMDkwQzAwMEVFRjBFNEU1M0U0NDgwRTgKKzo0MDEyODYwMEZEMTIxMUIxMjJBRTA3RTRGRkU1M0Y1NDdGRkQxMjExRkI5MDdGOTg3NDA5RjA5MEMwMDBFRUYwRTRFNTNGNDQ4MEZEMTIxMUZCMjIwNTBFMDIwMDAwMDAwMDAzMTQwMzAwMDBDMTExQzExOEMxOTVDMTEwQzExNjAxMEEwMEMxOUMKKzo0MDEyQzYwMDFCMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA1MTIwRDRFODBFRTIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyNTNEOEVGMzIwMDAwMDAwMDAwMDIwRkU3MDAwMjEzMEEKKzo0MDEzMDYwMDA0MDAwMjBGQkQwMDAyMTAwRTkwN0Y5ODc0MTNGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTRGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTVGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTZGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MDhGMDkwNTAKKzo0MDEzNDYwMEMwMDBFMEZGMjI5MDdGOTg3NDA5RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBBRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBCRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBDRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBERjA5MEMwMDBFMEZGQzUKKzo0MDEzODYwMDIyOTA3Rjk4NzQwRUYwOTBDMDAwRTBGRjIyMTIwMDAzMTIwRDVGMTIwQjQ2MjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzo0MDEzQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzo0MDE0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzo0MDE0NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzo0MDE0ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzo0MDE0QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzo0MDE1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzo0MDE1NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzo0MDE1ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzo0MDE1QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzo0MDE2MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzo0MDE2NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzo0MDE2ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzo0MDE2QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzo0MDE3MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzo0MDE3NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzo0MDE3ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzo0MDE3QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzo0MDE4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzo0MDE4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzo0MDE4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzo0MDE4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwQkYKKzo0MDE5MDYwMDAwNDBDRDA2MTIwMTAwMDAwMTAyMDAwMjA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwNzQKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNDEwMDY0MDA2MTAwNzAwMDc0MDA2NTAwRjkKKzoxNDFBMDYwMDcyMDAxMDAzMzAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDAwMDBGNworOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOS5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWQxNDk2Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOS5IRVgKQEAgLTAsMCArMSwxMDEgQEAKKzowQTAwMjYwMDEyMERCRjEyMEY0NzEyMEQ2QjIyREUKKzowMzAwMzMwMDAyMDAxQUFFCis6MDQwMDFBMDA1M0Q4RUYzMjk2Cis6MTAwMDAzMDA4RTEzOEYxNEU1MTQxNTE0QUUxMzcwMDIxNTEzNEU2MDdFCis6MDcwMDEzMDAwNTEyMEYzNjgwRUUyMkZBCis6MDMwMDIzMDAwMjAwNDY5MgorOjEwMDA0NjAwQzBFMEMwODNDMDgyQzA4Njc1ODYwMEMwRDA3NUQwMDg2NworOjEwMDA1NjAwMzA5OTBFMzAwODA3QTIwQjkyOUI4NTM1OTlDMjk5RDIyQQorOjEwMDA2NjAwMEYyMDBGMDMwMjA0MzFDMjBGMjAwMjAzMDIwMjU2MjBBMgorOjEwMDA3NjAwMDgwMzAyMDEyN0U1MzdDMzk1NTA1MDNFMjAwOTM2MjA3NAorOjEwMDA4NjAwMDYzMzkwN0Y5QkUwMzBFMzAzMjAwRTI5MzAwRDEyQUYzQworOjEwMDA5NjAwMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTJGQQorOjEwMDBBNjAwMEJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTBENQorOjEwMDBCNjAwRjUzNTAyMDQyRkMyMDgwMjA0MkY5MDdGQzdFNEYwQzI3MAorOjEwMDBDNjAwMDIzMDBBMENDMjBBOTA3RkJCMDRGMEMyMDgwMjA0MkY1OQorOjEwMDBENjAwOTA3RkM4RTAzMEUxMDVDMjA4MDIwNDJGOTA3RkM5RTA5NgorOjEwMDBFNjAwRjU1MDkwN0RDMEUwMTM5MjBBMjAwOTJEMjAwNjJBOTAzMworOjEwMDBGNjAwN0Y5QkUwMzBFMzAzMjAwRTIwMzAwRDExOTA3REMxRTBBMAorOjAzMDA0MzAwMDIwRjAwQTkKKzowMzAwMDAwMDAyMEM2MThFCis6NDAwMTA2MDAxMzkyMEJBM0UwRjUzNTc1MzcwMzAyMDQyRjc1MzcwMjkwN0RDMUUwRjUzNTAyMDQyRjc1MzcwMUMyMDgwMjA0MkZFNTM3QzM5NTUwNTAwMzAyMDFDRjkwN0ZDNkUwMzBFMTA3QzIxMEMyMDMwMjA0MkY5MDdGQzdFMEY1NTA5MDA0Cis6NDAwMTQ2MDA3RTQwRTAxMzkyMEEzMDA5MDMwMjAxQzcyMDA2NzIyMDAwNkY5MDdGOUJFMDMwRTMwMzIwMEU2NTMwMEQxMDkwN0U0MUUwMTM5MjlCQTNFMEY1OTk3NTM3MDM4MDA5OTA3RTQxRTBGNTk5NzUzNzAyRTUzN0MzOTU1MDQwMTc5MEIxCis6NDAwMTg2MDA3RkM3RTRGMEMyMDIyMDBBMDMwMjA0MkZDMjBBOTA3RkJCMDRGMDAyMDQyRjMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwQkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MzVEMjA4MDIwNDVECis6NDAwMUM2MDAyRjc1MzcwMUMyMTAwMjA0MkYzMDA5MDMwMjAyNTEyMDA2Nzk5MDdGOUJFMDMwRTMwMzIwMEU2RjMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTI5QkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDQ2Cis6NDAwMjA2MDBGNTk5RTUzN0MzOTU1MDQwMTc5MDdGQzdFNEYwQzIwMjIwMEEwMzAyMDQyRkMyMEE5MDdGQkIwNEYwMDIwNDJGMzAwRDEyQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjBCQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDgzCis6NDAwMjQ2MDA3RUY1ODNFMEY1MzVEMjA4MDIwNDJGQzIxMDAyMDQyRjIwMDgwMzAyMDMwOEU1MzdDMzk1NTA1MDNFMjAwOTM2MjAwNjMzOTA3RjlCRTAzMEUzMDMyMDBFMjkzMDBEMTJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxM0RFCis6NDAwMjg2MDA5MjBCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNTAyMDQyRkMyMDgwMjA0MkY5MDdGQzlFNEYwRDIwMjMwMEEwQ0MyMEE5MDdGQkIwNEYwQzIwODAyMDQyRjkwN0ZDNkUwMzBFMTA1QzIwODAyMDQyRjkwN0ZDNzY1Cis6NDAwMkM2MDBFMEY1NTA5MDdFNDBFMDEzOTIwQTIwMDkyRDIwMDYyQTkwN0Y5QkUwMzBFMzAzMjAwRTIwMzAwRDExOTA3RTQxRTAxMzkyMEJBM0UwRjUzNTc1MzcwMzAyMDQyRjc1MzcwMjkwN0U0MUUwRjUzNTAyMDQyRjc1MzcwMUMyMDgwMkVGCis6NDAwMzA2MDAwNDJGRTUzN0MzOTU1MDUwMDMwMjAzQjA5MDdGQzhFMDMwRTEwN0MyMTBDMjAzMDIwNDJGOTA3RkM5RTBGNTUwOTA3REMwRTAxMzkyMEEzMDA5MDMwMjAzQTgyMDA2NzIyMDAwNkY5MDdGOUJFMDMwRTMwMzIwMEU2NTMwMEQxMDM0Cis6NDAwMzQ2MDA5MDdEQzFFMDEzOTI5QkEzRTBGNTk5NzUzNzAzODAwOTkwN0RDMUUwRjU5OTc1MzcwMkU1MzdDMzk1NTA0MDE3OTA3RkM5RTRGMEQyMDIyMDBBMDMwMjA0MkZDMjBBOTA3RkJCMDRGMDAyMDQyRjMwMEQxMkFGMzcwNTM3NzRDMEY1Cis6NDAwMzg2MDAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMEJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM1RDIwODAyMDQyRjc1MzcwMUMyMTAwMjA0MkYzMDA5MDMwMjA0MkQyMDA2NzQ5MDdGOUJFMDMwRTMwMzIwMEU2QTMwMEQxMjhFCis6NDAwM0M2MDBBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyOUJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTk5RTUzN0MzOTU1MDQwMTM5MDdGQzlFNEYwRDIwMjMwMEEzNUMyMEE5MDdGQkIwNEYwODAyQzMwMEQxMkNDCis6NDAwNDA2MDBBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMEJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM1RDIwODgwMDJDMjEwRDIxMjIwOTgwMzAyMDU2REMyOTgyMDAxMDMwMjA0REEyMDExMjdBRjM2MDUzNkYzCis6NDAwNDQ2MDA3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMEQ0REFGMzYwNTM2NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDNBODU5OTEwRTUxMEI1NDQwNEQyMDY4MDJFRTUxMEI1NDMwNEMyMDY4MDI1QUYzNjA1MzY3NDgwMkZGNUFCCis6NDAwNDg2MDA4MkU0MzQ3RUY1ODNFNTEwRjAzMDBEMTFBRjM2MDUzNjc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwRDIwQ0U1MzZDMzk1NDA1MDAzMDIwNTZCOTA3RkI4RTAzMEUxMTZFNTM2QzM5NDQwNTAwMzAyMDU2QjE1MzYxNTM2MDUyQkRECis6NDAwNEM2MDA0MzMzMDEwMjA1NkI5MDdGQjdFNTM2RjA3NTM2MDBDMjAxMDIwNTZCMjAxMTI3QUYzNjA1MzY3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMEQ0REFGMzYwNTM2NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDNBODU5OTM3Cis6NDAwNTA2MDAxMEU1MTBCNTQ0MDREMjA2ODAyRUU1MTBCNTQzMDRDMjA2ODAyNUFGMzYwNTM2NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTEwRjAzMDBEMTFBRjM2MDUzNjc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwRDIwQ0U1MzZDMzk1NDA0MENFCis6NDAwNTQ2MDAyNDkwN0ZCNkUwMzBFMTEyRTUzNkMzOTQ0MDQwMTYxNTM2MTUzNjA1MkI0MzMzMDE4MDBCOTA3RkI5RTUzNkYwNzUzNjAwRDIwMUQyMTIzMDEyMDVDMjEyMDIwMDU2RDBEMEQwODZEMDgyRDA4M0QwRTAzMjkwN0ZDQUUwMzBFMUNBCis6NDAwNTg2MDAwMzAyMDZBQkU0RjUxMzc0NDAyNTEzRjU4MkU0MzQ3REY1ODNFMEZGRTUxMzdDMDA3QjAwMjQzOEY5RUMzNDAwRkFFRjEyMEQzMzA1MTNFNTEzQjQxOERCRTUzODYwMEM3NUM5MjA3NUM4MzQ4NTM5Q0E4NTNBQ0JFNTNCMTM5MkJGCis6NDAwNUM2MDAwRDkyOUZFNTNDMTM5MjBFRTUzRDEzOTIxMUU1M0U2MDA5OTA3Rjk4RTA1NEZCRjA4MDA3OTA3Rjk4RTA0NDA0RjBFNTNGNjAwOTkwN0Y5OEUwNTQ3RkYwODAwNzkwN0Y5OEUwNDQ4MEYwRTU0NTYwMEJDMjA5QzIwNjkwN0Y5NTBFCis6NDAwNjA2MDBFMDQ0MDJGMEU1NDY2MDBDRDIwNjQzMzMwMTkwN0Y5NUUwNDQwMkYwRTU0NzYwMERDMkFGQzIwOEQyMDBFNEY1NTBGNTM3RDJBRkU1NDg2MDA1MzAxMTAyRDIwNkU1NDk2MDE1OTA3Rjk1RTA1NEZERjA5MDdGOUVFMDQ0MDJGMEFBCis6NDAwNjQ2MDA5MDdGOThFMDU0RkRGMEU1NEE2MDBBRDI5Q0MyOTg3NTJDMDE3NTMxMUVFNTRCNjAwN0MyOUNFNEY1MzZGNTJDRTU0QzYwMDNFNEY1MzZFNTRENjAwMkQyMDRFNTRFNjAwQUU1NEE3MDAyRjUzMUU1NEU0MjMzRTU0RjYwMUY5MDY0Cis6NDAwNjg2MDA3RkQ3NzQxMUYwNzQzMUYwNzQxMkYwNzQzMkYwNzQxM0YwNzQzM0YwNzQxNEYwNzQzNEYwRDIwMkQyMDFEMjA1RTQ5MDdGQ0JGMEEyMDlFNDMzRkY2NTI5NjAwNThGMjk0MzMzMDFBMjA2RTQzM0ZGNjUyQTYwMDU4RjJBNDMzM0JBCis6NDAwNkM2MDAwMTkwN0Y5QkUwNTQwOEI1MjUwQUUwNTQwODY0MDhGNTI1NDMzMzAxOTA3RjlCRTA1NDEwQjUyNjBBRTA1NDEwNjQxMEY1MjY0MzMzMDE5MDdGOUJFMDU0NDBCNTI3MEFFMDU0NDA2NDQwRjUyNzQzMzMwMTkwN0Y5QkUwNTQyMDI2Cis6NDAwNzA2MDBCNTI4MEFFMDU0MjA2NDIwRjUyODQzMzMwMTMwMDQzNUMyQUYzMDAxMTg5MDdGQjhFMDIwRTEyN0U1MzY2MDA5OTA3RkI3RjBFNEY1MzZDMjAxQzIwNDgwMTY5MDdGQjZFMDIwRTEwRkU1MzY2MDA5OTA3RkI5RjBFNEY1MzZEMjM0Cis6NDAwNzQ2MDAwMUMyMDREMkFGMjAwMzM3MzAwMjFCOTA3RkM2RTAyMEUxMkQ5MDdFNDBFMDEzOTIwQTc1MzcwMTkwN0ZDN0UwRjU1MEQyMDM4MDE5OTA3RkM4RTAyMEUxMTI5MDdEQzBFMDEzOTIwQTc1MzcwMTkwN0ZDOUUwRjU1MEQyMDMyMEU5Cis6NDAwNzg2MDAxMDMzMjAwMDA2RTUzNzY1NTA3MDJBMzAwMzFBMzAwMjA5RTQ5MDdGQzdGMEMyMDI4MDA3RTQ5MDdGQzlGMEQyMDJDMjAzRTRGNTUwRjUzNzMwMEEwQUMyMEFDMjAwOTA3RkJCNzQwMUYwMzAxMDAzMDIwOEM1MjAwMzAzMDIwODA1Cis6NDAwN0M2MDBDNTMwMEUwQTkwN0Y5QkUwMzBFMzAzMDIwOEM1MzAwNjAzMDIwOEM1MzAwOTAzMDIwOEM1MzAwMjYyMzAwRDEyQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjE5QUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0NGCis6NDAwODA2MDBFMEY1MTRFNTM3QzM5NTUwNTAyQTMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwQkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MzVEMjA4ODA2QkMyMDhFNDkwN0ZDN0YwQzIwMjgwNjAzMDgxCis6NDAwODQ2MDAwRDEyQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjE5QUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUxNEU1MzdDMzk1NTA1MDJBMzAwRDEyQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjlGCis6NDAwODg2MDAwQkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzVEMjA4ODAwOUMyMDhFNDkwN0ZDOUYwRDIwMjMwMEQwNEEyMTk5MjlCRDIxMEMyQUY4NTE0OTkyMDA4MEQzMDBBMEFDMjBBQzIwMDkwN0ZCQjc0MDFGMEQyQUY5MDcyCis6NDAwOEM2MDA3RkJDRTAyMEUxNTFFNTMzNjA0REU1MzE3MDQ5RTUzMzMwRTEwOEU0RjUyRjc1MzMwMTgwMEJBMjA1RTQzM0Y1MkZDMjA1RTRGNTMzRTRGNTEzN0UwMDdCMDA3NDI0MjUxM0Y5RUUzNDAwRkExMjBDRURGRjc0MDAyNTEzRjU4MkQ4Cis6NDAwOTA2MDBFNDM0N0RGNTgzRUZGMDA1MTNFNTEzQjQwQ0RCOTA3RkJENzQwQ0YwNzUzMTEwMjI5MDdGRTlFMDEyMEQ0NTBBMDMwMDBBNzcwMTBBRTMwMzA5NDEwNjA5RjQwODA5RTgwOTA5RDAwQTA5REYwQjAwMDAwQjMyOTA3RkVCRTAyNEVCCis6NDAwOTQ2MDBGRTYwMTYxNDYwNTcyNDAyNzA3Njc0MEY5MDdGRDRGMDc0NjQ5MDdGRDVGMDAyMEIzOTkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODJCNTc1ODMwRkVGRjA3NTgyQUU3NTgzMEZGMDc1ODJBNzc1ODMwRkYwNzU4MkEwNzU4M0JBCis6NDAwOTg2MDAwRkYwOTA3RkVBRTAwNDc1ODI3Qjc1ODMwRkYwNzQwRjkwN0ZENEYwNzQ3NjkwN0ZENUYwMDIwQjM5OTA3RkVBRTBGRjEyMEU0OEVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjAwMjBCMzk5MDdGQjRFMDQ0MDFGMDAyMEIzOUQ0Cis6NDAwOUM2MDA5MDdGQjRFMDQ0MDFGMDAyMEIzOTkwN0YwMEU1MTlGMDkwN0ZCNTc0MDFGMDAyMEIzOTkwN0ZFQUUwRjUxOTAyMEIzOTkwN0ZFQUUwRjUxODEyMEQ2QjAyMEIzOTkwN0YwMEU1MThGMDkwN0ZCNTc0MDFGMDAyMEIzOTkwN0ZFODIyCis6NDAwQTA2MDBFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjEzRTQzM0ZGMjVFMEZGQTIxN0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjM5RTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjBCMzk5MDdGRUNFMEY0NTQ4MEI2Cis6NDAwQTQ2MDBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCMzk5MDdGQjRFMDQ0MDFGMDAyMEIzOTkwN0ZFOEUwMjRGRTYwMUQyNDAyNjAwMzAyMEIzOTA0Cis6NDAwQTg2MDA5MDdGRUFFMEI0MDEwNUMyMTMwMjBCMzk5MDdGQjRFMDQ0MDFGMDAyMEIzOTkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRkNDCis6NDAwQUM2MDAxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjEzODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQTM2Cis6NDAwQjA2MDBFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyMjAxNTAzMDIwQjNFCis6NDAwQjQ2MDBEM0U1MzE2MDAyMTUzMUU1MzY2MDRGNjUzNDcwNDVFNTMyRjQ2MDAyMDUzMkU1MzJDMzk1NDE0MDNEQzJBRjMwMDExODkwN0ZCOEUwMjBFMTI3OTA3RkI3RTUzNkYwQzIwMUU0RjUzNkY1MzJGNTM0ODAxNjkwN0ZCNkUwMjBFMTNECis6NDAwQjg2MDAwRjkwN0ZCOUU1MzZGMEQyMDFFNEY1MzZGNTMyRjUzNEQyQUY4MDA2ODUzNjM0RTRGNTMyRTUyQzYwMkYyMDBDMDc5MDdGOUJFMDMwRTAwRkU1MkQ2MDA2RTRGNTJENDMzMzAxRTRGNTMwODAxNEU1MzBEMzk1NDI1MDBERTUzMERCCis6NDAwQkM2MDBCNTQyMDY3NTJEMDE0MzMzMDEwNTMwQzIwQzIyNzUxMjAxQzIxNEMyMThDMjEzQzIxN0MyMTVDMjEyRDIxNkU0RjUxODkwN0Y5MkUwNTRGREYwOTA3RkFFRTBGRkQzOTIxM0U0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NERCCis6NDAwQzA2MDAwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZEMkJDRDIxOTEyMEVEQUMyMTQzMDE1MDMxMjA1ODA5MDdGRDhFMDY1MTE2MDA4RTBGNUNBCis6NDAwQzQ2MDAxMTEyMEI0MTgwRUEzMDE0MDdDMjE0MTIwOTFFODBFMDMwMThEREMyMTgxMjAwMjY4MEQ2MjI3ODdGRTRGNkQ4RkQ3NTgxNTAwMjBDQTgwMjBCRDRFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODNCCis6NDAwQzg2MDA1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMEUwNEU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDhFCis6NDAwQ0M2MDA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMjQyCis6NDAwRDA2MDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMEUxCis6NDAwRDQ2MDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERkU0OTA3RjkzRjA5MDdGOUM3NDMwRjA5MDdGOTY3NDEwRjA5MDdGOTQ3NDAxRjA5MDdGOUQwNEUyCis6NDAwRDg2MDBGMDkwN0Y5Nzc0MjBGMDkwN0Y5NTc0MDNGMDkwN0Y5RTc0ODRGMEU0OTA3Rjk4RjA5MDdGQzdGMDkwN0ZDOUYwOTA3RkNCRjA3NTk4NDA0M0E4MTA5MDdGREU3NDFGRjA5MDdGREY3NDBGRjBEMjE1MjJFNDkwN0Y5NUYwOTA3RkY3Cis6NDAwREM2MDA5NEYwOTA3RjkzRjA5MDdGOURFMDQ0MDJGMDkwN0Y5N0UwNDQwMkYwOTA3RjlERTA1NEZERjA5MDdGOUM3NDIwRjBFNDkwN0Y5NkYwOTA3RjlERTA0NEZERjBFNDkwN0Y5N0YwOTA3RjlFNzRGRkYwRTQ5MDdGOThGMDIyMEMyNEQwCis6NDAwRTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMwMDAwMTMzMDEwMTMyMDAwMTM3MDAwMTUwMDAwMTM2MDAwMTM0MDBDMTA1QzEwQ0MxMDNDMTBGQzEwNEMxMEVDMTExQzEwQUMxMTBDMTA4QzEwOUMxMDZDMTAwQzEwREMxODFDMTA5Cis6NDAwRTQ2MDA4MjAwOEYxM0U0RjUxNDc1MTVGRjc1MTYwRjc1MTdCOUFCMTVBQTE2QTkxNzkwMDAwMTEyMEQwNkI0MDMxREFGMTQwNTE0RUZCNTEzMDEyMjEyMENFRDdFMDAyOUZGRUUzQUE5MDc3NTE1RkZGNTE2ODkxNzgwRDQ3QjAwN0EwMDZECis6NDAwRTg2MDA3OTAwMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE0NTM5MUM3Cis6NDAwRUM2MDBFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMTkwNEUwNDQwMkYwN0ZGNDdFMDExMjAwMDM5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjIwMDAyMEVCMzAwMDIwRkMwCis6NDAwRjA2MDAwNDAwMDIwRTg5MDAwMjBGMEZDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOUI5Cis6NDAwRjQ2MDAyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDAwMDQwQ0QwNjA3MDEwMTAwMDEwMjAwMDIwOTAyNDMwMDAxMDEwMDgwMzIwOTA0MDAwMDA3RkYwMDhBCis6NDAwRjg2MDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNDAzMDkwNDEwMDM0QjAwNjUwMDc5MDA3MzMyCis6MTcwRkM2MDAwMDcwMDA2MTAwNkUwMDBFMDM1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAwMDAwNjQKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMTlxaS5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cWkuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1M2JmY2YKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cWkuSEVYCkBAIC0wLDAgKzEsMTAxIEBACis6MDMwMDMzMDAwMjAwMUFBRQorOjA0MDAxQTAwNTNEOEVGMzI5NgorOjEwMDAwMzAwOEUxMThGMTJFNTEyMTUxMkFFMTE3MDAyMTUxMTRFNjA4QQorOjA3MDAxMzAwMDUxMjBGODQ4MEVFMjJBQworOjAzMDAyMzAwMDIwMDQ2OTIKKzoxMDAwNDYwMEMwRTBDMDgzQzA4MkMwODY3NTg2MDBDMEQwNzVEMDA4NjcKKzoxMDAwNTYwMDMwOTkwRTMwMEIwN0EyMEU5MjlCODUzNjk5QzI5OUQyMjMKKzoxMDAwNjYwMDEyMjAxMjAzMDIwNDFFQzIxMjIwMDMwMzAyMDI0RTIwQjMKKzoxMDAwNzYwMDBCMDMwMjAxMjZFNTNBQzM5NTUzNTAzQzIwMEMzNDIwNkQKKzoxMDAwODYwMDA5MzE5MDdGOUJFMDU1Mzg3MDI5MzAxMDEyQUYzQTA1NDAKKzoxMDAwOTYwMDNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwRUFGNzYKKzoxMDAwQTYwMDNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM2NUUKKzoxMDAwQjYwMDAyMDQxQ0MyMEIwMjA0MUM5MDdGQzdFNEYwQzIwMzMwOEEKKzoxMDAwQzYwMDBEMENDMjBEOTA3RkJCMDRGMEMyMEIwMjA0MUM5MDdGODYKKzoxMDAwRDYwMEM4RTAzMEUxMDVDMjBCMDIwNDFDOTA3RkM5RTBGNTUzNkQKKzoxMDAwRTYwMDkwN0RDMEUwMTM5MjBENzUxNkZGMjAwQzJCMjAwOTI4NzkKKzoxMDAwRjYwMDkwN0Y5QkUwNTUzODcwMjAzMDEwMTE5MDdEQzFFMDEzNDEKKzowMzAwNDMwMDAyMEUwMEFBCis6MDMwMDAwMDAwMjAwMjZENQorOjBDMDAyNjAwNzg3RkU0RjZEOEZENzU4MTU0MDIwQjI4QTkKKzo0MDAxMDYwMDkyMEVBM0UwRjUzNjc1M0EwMzAyMDQxQzc1M0EwMjkwN0RDMUUwRjUzNjAyMDQxQzc1M0EwMUMyMEIwMjA0MUNFNTNBQzM5NTUzNTAwMzAyMDFDOTkwN0ZDNkUwMzBFMTA3QzIxNEMyMDUwMjA0MUM5MDdGQzdFMEY1NTM5MDdFQ0IKKzo0MDAxNDYwMDQwRTAxMzkyMEQ3NTE2RkYyMDBDNzAyMDA5NkQ5MDdGOUJFMDU1Mzg3MDY1MzAxMDEwOTA3RTQxRTAxMzkyOUJBM0UwRjU5OTc1M0EwMzgwMDk5MDdFNDFFMEY1OTk3NTNBMDJFNTNBQzM5NTUzNDAxNzkwN0ZDN0U0RjBDMjAzRjYKKzo0MDAxODYwMDIwMEQwMzAyMDQxQ0MyMEQ5MDdGQkIwNEYwMDIwNDFDMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjBFQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjUzNkQyMEIwMjA0MUM3NTNBMDFDMjE0QTMKKzo0MDAxQzYwMDAyMDQxQzMwMEMwMzAyMDI0OTIwMDk3NzkwN0Y5QkUwNTUzODcwNkYzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyOUJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTk5RTUzQUMzOTU1MzQwQUIKKzo0MDAyMDYwMDE3OTA3RkM3RTRGMEMyMDMyMDBEMDMwMjA0MUNDMjBEOTA3RkJCMDRGMDAyMDQxQzMwMTAxMkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwRUFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MzZEMjBCNDQKKzo0MDAyNDYwMDAyMDQxQ0MyMTQwMjA0MUMyMDBCMDMwMjAyRkZFNTNBQzM5NTUzNTAzQzIwMEMzNDIwMDkzMTkwN0Y5QkUwNTUzODcwMjkzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMEVBRjNBMDUzQTc0QzAyRkY1RjkKKzo0MDAyODYwMDgyRTQzNDdERjU4M0UwRjUzNjAyMDQxQ0MyMEIwMjA0MUM5MDdGQzlFNEYwRDIwMzMwMEQwQ0MyMEQ5MDdGQkIwNEYwQzIwQjAyMDQxQzkwN0ZDNkUwMzBFMTA1QzIwQjAyMDQxQzkwN0ZDN0UwRjU1MzkwN0U0MEUwMTM5MjBEQUYKKzo0MDAyQzYwMDc1MTZGRjIwMEMyQjIwMDkyODkwN0Y5QkUwNTUzODcwMjAzMDEwMTE5MDdFNDFFMDEzOTIwRUEzRTBGNTM2NzUzQTAzMDIwNDFDNzUzQTAyOTA3RTQxRTBGNTM2MDIwNDFDNzUzQTAxQzIwQjAyMDQxQ0U1M0FDMzk1NTM1MDAzODEKKzo0MDAzMDYwMDAyMDNBMjkwN0ZDOEUwMzBFMTA3QzIxNEMyMDUwMjA0MUM5MDdGQzlFMEY1NTM5MDdEQzBFMDEzOTIwRDc1MTZGRjIwMEM3MDIwMDk2RDkwN0Y5QkUwNTUzODcwNjUzMDEwMTA5MDdEQzFFMDEzOTI5QkEzRTBGNTk5NzUzQTAzN0EKKzo0MDAzNDYwMDgwMDk5MDdEQzFFMEY1OTk3NTNBMDJFNTNBQzM5NTUzNDAxNzkwN0ZDOUU0RjBEMjAzMjAwRDAzMDIwNDFDQzIwRDkwN0ZCQjA0RjAwMjA0MUMzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMEVBRjNBODEKKzo0MDAzODYwMDA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNkQyMEIwMjA0MUM3NTNBMDFDMjE0MDIwNDFDMjAwQzc1MjAwOTcyOTA3RjlCRTA1NTM4NzA2QTMwMTAxMkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTI5QkFGMDIKKzo0MDAzQzYwMDNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTk5RTUzQUMzOTU1MzQwMTM5MDdGQzlFNEYwRDIwMzMwMEQzNUMyMEQ5MDdGQkIwNEYwODAyQzMwMTAxMkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIwRUFGM0QKKzo0MDA0MDYwMDNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM2RDIwQjgwMDJDMjE0RDIwMTIwOTgwMzAyMDU1QUMyOTgyMDAyMDMwMjA0QzcyMDE2MjdBRjM5MDUzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxMDREQUYzOTA1QzgKKzo0MDA0NDYwMDM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDNBODU5OTEwRTUxMEI1NDcwNEQyMDk4MDJFRTUxMEI1NDYwNEMyMDk4MDI1QUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1MTBGMDMwMTAxMUFGMzkwNTM5NzQ4MDJGMTEKKzo0MDA0ODYwMEY1ODJFNDM0N0VGNTgzRTU5OEYwRDIwRkU1MzlDMzk1NDM1MDAzMDIwNTU4OTA3RkI4RTAzMEUxMTZFNTM5QzM5NDQwNTAwMzAyMDU1ODE1MzkxNTM5MDUyQjQzMzQwMTAyMDU1ODkwN0ZCN0U1MzlGMDc1MzkwMEMyMDIwMjA1RDMKKzo0MDA0QzYwMDU4MjAxNjI3QUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMTA0REFGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDNBODU5OTEwRTUxMEI1NDcwNEQyMDk4MDJFRTUxMEI1NDYwNEMyMDk4MDI1NzMKKzo0MDA1MDYwMEFGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTEwRjAzMDEwMTFBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwRDIwRkU1MzlDMzk1NDM0MDI0OTA3RkI2RTAzMEUxMTJFNTM5QzM5NDQwNDAxNjE1MzkxNTM5MDkKKzo0MDA1NDYwMDA1MkI0MzM0MDE4MDBCOTA3RkI5RTUzOUYwNzUzOTAwRDIwMkQyMDEzMDAxMDVDMjAxMDIwMDU2RDBEMEQwODZEMDgyRDA4M0QwRTAzMjkwN0ZCQ0UwMjBFMTUxRTUzNDYwNERFNTMxNzA0OUU1MzQzMEUxMDhFNEY1MkY3NTM0RDQKKzo0MDA1ODYwMDAxODAwQkEyMDhFNDMzRjUyRkMyMDhFNEY1MzRFNEY1MTE3RTAwN0IwMDc0MjQyNTExRjlFRTM0MDBGQTEyMEQwNkZGNzQwMDI1MTFGNTgyRTQzNDdERjU4M0VGRjAwNTExRTUxMUI0MENEQjkwN0ZCRDc0MENGMDc1MzExMDkwQ0QKKzo0MDA1QzYwMDdGQ0FFMDMwRTEwMzAyMDZGM0U0RjUxMTc0NDAyNTExRjU4MkU0MzQ3REY1ODNFMEZGRTUxMTdDMDA3QjAwMjQzQkY5RUMzNDAwRkFFRjEyMEQxRjA1MTFFNTExQjQxOERCRTUzQjYwMTE3NUM5MjA3NUM4MzY4NTNDQ0E4NTNEOTgKKzo0MDA2MDYwMENCRTQ5MDdGOUZGMEU1M0UxMzkyMTA5MjlGODUzRjM4RTU0MDEzOTIxNkU1NDE2MDA5OTA3Rjk4RTA1NEZCRjA4MDA3OTA3Rjk4RTA0NDA0RjBFNTQyNjAwOTkwN0Y5OEUwNTQ3RkYwODAwNzkwN0Y5OEUwNDQ4MEYwRTU0ODYwQkUKKzo0MDA2NDYwMDBCQzIwQ0MyMDk5MDdGOTVFMDQ0MDJGMEU1NDk2MDBDRDIwOTQzMzQwMTkwN0Y5NUUwNDQwMkYwRTU0QTYwMERDMkFGQzIwQkQyMDBFNEY1NTNGNTNBRDJBRkU1NEI2MDA1MzAxNjAyRDIwOUU1NEM2MDE1OTA3Rjk1RTA1NEZEQjQKKzo0MDA2ODYwMEYwOTA3RjlFRTA0NDAyRjA5MDdGOThFMDU0RkRGMEU1NEQ2MDBBRDI5Q0MyOTg3NTJDMDE3NTMxMUVFNTRFNjAwN0MyOUNFNEY1MzlGNTJDRTU0RjYwMDNFNEY1MzlFNTUwNjAwMkQyMDdFNTUxNjAwQUU1NEQ3MDAyRjUzMUU1NUMKKzo0MDA2QzYwMDUxNDIzNEU1NTI2MDFGOTA3RkQ3NzQxMUYwNzQzMUYwNzQxMkYwNzQzMkYwNzQxM0YwNzQzM0YwNzQxNEYwNzQzNEYwRDIwM0QyMDJEMjA4RTQ5MDdGQ0JGMEEyMENFNDMzRkY2NTI5NjAwNThGMjk0MzM0MDFBMjA5RTQzM0ZGODQKKzo0MDA3MDYwMDY1MkE2MDA1OEYyQTQzMzQwMTkwN0Y5QkUwRkY1NDA4NjQwOEZFNjUyNTYwMDU4RTI1NDMzNDAxRUY1NDEwNjQxMEZFNjUyNjYwMDU4RTI2NDMzNDAxRUY1NDQwNjQ0MEZFNjUyNzYwMDU4RTI3NDMzNDAxRUY1NDIwNjQyMEZFMUMKKzo0MDA3NDYwMDY1Mjg2MDA1OEUyODQzMzQwMTkwN0Y5QUUwNTQ0MDY0NDBGRTY1MkU2MDA1OEUyRTQzMzQwMTMwMDczNUMyQUYzMDAyMTg5MDdGQjhFMDIwRTEyN0U1Mzk2MDA5OTA3RkI3RjBFNEY1MzlDMjAyQzIwNzgwMTY5MDdGQjZFMDIwM0IKKzo0MDA3ODYwMEUxMEZFNTM5NjAwOTkwN0ZCOUYwRTRGNTM5RDIwMkMyMDdEMkFGMjAwNTNEMzAwMzFFOTA3RkM2RTAyMEUxMzM5MDdFNDBFMDEzOTIwRDc1M0EwMTkwN0ZDN0UwRjU1M0QyMDU3NTE2RkY4MDFDOTA3RkM4RTAyMEUxMTU5MDdERDMKKzo0MDA3QzYwMEMwRTAxMzkyMEQ3NTNBMDE5MDdGQzlFMEY1NTNEMjA1NzUxNkZGMjAxNDMzMjAwMDA2RTUzQTY1NTM3MDJBMzAwNTFBMzAwMzA5RTQ5MDdGQzdGMEMyMDM4MDA3RTQ5MDdGQzlGMEQyMDNDMjA1RTRGNTUzRjUzQTMwMEQwQUMyNjUKKzo0MDA4MDYwMDBEQzIwMDkwN0ZCQjc0MDFGMDMwMTQwMzAyMDkxNDIwMDUwMzAyMDkxNDMwMEMwMzAyMDkxNDMwMDkwMzAyMDkxNDkwN0Y5QkUwNTUzODYwMDMwMjA5MTQzMDAzNjEzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzM0YKKzo0MDA4NDYwMEUwMTM5MjFCQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRkVFNTNBQzM5NTUzNTAyQTMwMTAxMkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwRUFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1NDYKKzo0MDA4ODYwMDM2RDIwQjgwNkFDMjBCRTQ5MDdGQzdGMEMyMDM4MDVGMzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjFCQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRkVFNTNBQzM5NTUzNTAyQTMwMTAxMkFGRTcKKzo0MDA4QzYwMDNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMEVBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM2RDIwQjgwMDlDMjBCRTQ5MDdGQzlGMEQyMDMzMDEwMDRBMjFCOTI5QkQyMTRDMkFGOEU5OTIwMEIwRDMwMUQKKzo0MDA5MDYwMDBEMEFDMjBEQzIwMDkwN0ZCQjc0MDFGMEQyQUYyMjkwN0ZFOUUwMTIwRDMxMEExMTAwMEE3RTAxMEFEQjAzMDkzODA2MEEwMjA4MDlGNjA5MDlERTBBMDlFRDBCMDAwMDBCMTk5MDdGRUJFMDI0RkU2MDE5MTQ2MDVBMjQwMjYwNDEKKzo0MDA5NDYwMDAzMDIwQjE5NzQwRDkwN0ZENEYwNzQ4NzkwN0ZENUYwMDIwQjIwOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MkQ4NzU4MzBERUZGMDc1ODJEMTc1ODMwREYwNzU4MkNBNzU4MzBERjA3NTgyQzM3NTgzMERGMDkwN0ZFQUUwNzgKKzo0MDA5ODYwMDA0NzU4MjlFNzU4MzBERjA3NDBEOTA3RkQ0RjA3NDk5OTA3RkQ1RjAwMjBCMjA5MDdGRUFFMDcwMEI3NTExRkY3NTEyMEQ3NTEzREM4MDFCOTA3RkVBRTBCNDAxMEI3NTExRkY3NTEyMEQ3NTEzRTA4MDA5NzUxMUZGNzUxMjBEMTkKKzo0MDA5QzYwMDc1MTNGMEFBMTJBOTEzQUUwMkVFOTA3RkQ0RjBBRjAxRUY5MDdGRDVGMDAyMEIyMDkwN0YwMEU1MTVGMDkwN0ZCNTc0MDFGMDAyMEIyMDkwN0ZFQUUwRjUxNTAyMEIyMDEyMENCMTkwN0ZFQUUwRjUxNDAyMEIyMDkwN0YwMEU1QkYKKzo0MDBBMDYwMDE0RjA5MDdGQjU3NDAxRjAwMjBCMjA5MDdGRThFMDI0N0Y2MDI3MTQ2MDM0MjQwMjYwMDMwMjBCMTlBMjE3RTQzM0ZGMjVFMEZGQTIxOUU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjIwRTQ5MDdGMDBGMEEzQjcKKzo0MDBBNDYwMEYwOTA3RkI1NzQwMkYwMDIwQjIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCMjA5MDdGRThFMDI0RkU2MDE3MjYKKzo0MDBBODYwMDI0MDI2MDAzMDIwQjIwOTA3RkVBRTA2NDAxNjAwMzAyMEIxOUMyMTcwMjBCMjA5MDdGRUFFMDcwNzY5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRDYKKzo0MDBBQzYwMEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA0NTkwN0ZFOEUwMjRGRTYwMTAyNDAyNzAzOTkwN0ZFQUUwNjQwMTcwMkFEMjE3ODAyRDkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTYKKzo0MDBCMDYwMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyQzIxMEU0RjUxNEY1MzRDMjA5QzIwQ0MyMEJDMjE0QzIwREMyMTZDMjExQzIwN0MyMTJDMjBGQzIwOEY1MzgKKzo0MDBCNDYwMDM1RjUzOUY1NTNGNTNBRjUzM0Y1MzBGNTJGRjUyRUY1MkRGNTJDRjUyQkY1MkFGNTI5RjUyOEY1MjdGNTI2RjUyNUY1MjRDMjA1QzIxOEMyMUFDMjE3QzIxOUMyMTVDMjA0RDIxM0MyMDZDMjAxOTA3RjkyRTA1NEZERjBEMkU4MjAKKzo0MDBCODYwMDQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBGRjA5MDdGQUM3NDBFRjBEMkFGRDJCQ0QyMUIxMjBGNUZDMjE4MzAwNDAzMTYKKzo0MDBCQzYwMDEyMDU2RDMwMDQyQTMwMDYyN0MyMDZFNTE2NjAxNjE1MTY5MDdGRDhFMDMwRTYwNDdGMDA4MDAyN0YyMDkwN0Y5NkVGRjA4MDA2OTA3Rjk2NzQyMEYwMTIwQzBCODBDRDMwMTgwN0MyMTgxMjA5MTU4MEMzMzAxQUMwQzIxQTEyOEUKKzo0MDBDMDYwMDBGQkI4MEI5MjJFNTMxNjAwMjE1MzFFNTM5NjA1NTY1MzU3MDRCRTUzM0Y0NjAwMjA1MzNFNTMzQzM5NTQ0NDA0M0MyQUYzMDAyMUI5MDdGQjhFMDIwRTEyRDkwN0ZCN0U1MzlGMEMyMDJFNEY1MzlGNTMzRjUzNTc1MTZGRjgwMkQKKzo0MDBDNDYwMDE5OTA3RkI2RTAyMEUxMTI5MDdGQjlFNTM5RjBEMjAyRTRGNTM5RjUzM0Y1MzU3NTE2RkZEMkFGODAwNjg1MzkzNUU0RjUzM0U1MkM2MDMwMjAwRjA3OTA3RjlCRTAzMEUwMEZFNTJENjAwNkU0RjUyRDQzMzQwMUU0RjUzMDgwMDAKKzo0MDBDODYwMDE0RTUzMEQzOTU0NTUwMERFNTMwQjU0NTA2NzUyRDAxNDMzNDAxMDUzMEMyMEYyMjkwN0ZEOUUwMzBFMjA0N0YwMDgwMDI3RjIwOTA3Rjk2RUZGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMDkwN0Y5Njc0MjBGMDkwN0Y5NDc0OEEKKzo0MDBDQzYwMDAxRjA5MDdGOUQ3NEJGRjA5MDdGOTc3NDg2RjA5MDdGOTU3NDAzRjA5MDdGOUU3NDg0RjA5MDdGOThGMEU0OTA3RkM3RjA5MDdGQzlGMDkwN0ZDQkYwNzU5ODQwNDNBODEwOTA3RkRFNzQxRkYwOTA3RkRGNzQwRkYwRDIwNDIyMUEKKzo0MDBEMDYwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRUIKKzo0MDBENDYwMEY1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREZDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzIwMDAwMDAwMDAwN0IKKzo0MDBEODYwMDAwMTIwMTEwMDFGRjAwMDA0MENEMDYwQzAxMDEwMDAxMDIwMDAyMDkwMjQzMDAwMTAxMDA4MDMyMDkwNDAwMDAwN0ZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTgxMDI0MDAwMTAKKzo0MDBEQzYwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDQwMzA5MDQxMDAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDBFMDM1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAwMDAwMDIwRUEyMDAwMjBFNDEKKzo0MDBFMDYwMDdCMDAwMjBENTcwMDAyMEVDOTAwMDIwRTEwMDAwMjBFMTQwMDAyMEUxODAwMDIwRTFDMDAwMjBFRjAwMDAyMEUyNDAwMDIwRjE1MDAwMjBFMkMwMDAyMEYzQUU0OTA3Rjk1RjA5MDdGOTRGMDkwN0Y5M0YwOTA3RjlERTA0NDAyMEEKKzo0MDBFNDYwMEYwOTA3Rjk3RTA0NDAyRjA5MDdGOUM3NDEwRjBFNDkwN0Y5NkYwOTA3RjlENzRGRUYwMzAxNzA0N0Y4MDgwMDI3RjAwOTA3Rjk3RUZGMEU0OTA3Rjk1RjA5MDdGOUVGMDkwN0Y5OEYwMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwMEUKKzo0MDBFODYwMDg2NzU4NjAwNTM5MUVGOTA3RkFCNzQwMkYwRDIwNkQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRUIKKzo0MDBFQzYwMEQwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMUE1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDUzOTFFRjkwN0ZBOTc0QzIKKzo0MDBGMDYwMDAyRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDUzOTFFRjkwN0ZBOTc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2RDcKKzo0MDBGNDYwMDc1ODYwMDUzOTFFRjkwN0ZBOTc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMUIwNEUwNDQwMkYwN0ZGNDdFMDExMjAwMDM5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjI3NDAwQjkKKzo0MDBGODYwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyOTA3RkQ2RTA0NDAxRjA3RjBEN0UwMDEyMDAwMzkwN0ZENkUwNTRGRUYwMjIxMjBFMzMxMjBGOTU5MDdGRDZFMDMwRkEKKzowOTBGQzYwMEU3MDMxMjBGQTUxMjBDQjEyMjgxCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cXcuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXF3LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTg5MTAyCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXF3LkhFWApAQCAtMCwwICsxLDE0MiBAQAorOjAzMDAzMzAwMDIwMDJEOUIKKzowNDAwMkQwMDUzRDhFRjMyODMKKzoxMDAwNDYwMDMwMTAxOTEyMEUwRkVGQzM5NTE0NDAwMzAyMDBERjkwMTMKKzoxMDAwNTYwMDdGQkY3NDAxRjBDMjEwQzIwQjAyMDBERjMwMEQzRTkwNkMKKzoxMDAwNjYwMDdGQzZFMDIwRTE3MzEyMEUwRkVGQzM5NDQwNTA2QTkwRjIKKzoxMDAwNzYwMDdFNDBFMDEzOTIxMDkwN0ZDN0UwMTRGNTM2MjAwQjExRjYKKzoxMDAwODYwMDYwMEZGNTI0N0U3RTdGNDE3NTI5N0U3NTJBNDExMjA5MEYKKzoxMDAwOTYwMDEwQzIwREU0OTA3RkM3RjA3NTI2RkY4MDNDOTA3RkM4QTQKKzoxMDAwQTYwMEUwMjBFMTM1MTIwRTBGRUZDMzk0NDA1MDJDOTA3REMwMzYKKzoxMDAwQjYwMEUwMTM5MjEwOTA3RkM5RTAxNEY1MzYyMDBCMTE2MDBGMDMKKzoxMDAwQzYwMEY1MjQ3RTdEN0ZDMTc1Mjk3RDc1MkFDMTEyMDkxMEQyNUUKKzoxMDAwRDYwMDBERTQ5MDdGQzlGMDc1MjZGRjkwN0ZCNkUwMzBFMTAzMEUKKzoxMDAwRTYwMDAyMDE2ODEyMENGRjhGMzYxMjBFMUI4RjExRTUzNkMzMDQKKzoxMDAwRjYwMDk1MTM1MDBGMTIwRERFRUYzMEUwMDhFNTExMjBFNzAzRUYKKzowQzAwMzYwMDkwN0Y5ODc0MTBGMDkwQzAwMEUwRkYyMjUyCis6MDMwMDQzMDAwMjBFMDBBQQorOjEwMDAwMzAwQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA2RQorOjEwMDAxMzAwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDBBQgorOjBBMDAyMzAwODREMDg1RDA4MkQwODNEMEUwMzI3MworOjAzMDAwMDAwMDIwOUM1MkQKKzo0MDAxMDYwMDMwMTM1RkMyMTNFNTM2NjA1OUI0ODAwMzQzMTEwMkU1MTEzMEU3MjRFNTM2RDM5NDIwNDAwMzc1MzYyMDg1MzYyNDdFN0U3RjgwNzUyOTdFNzUyQTgwMTIwQjlBRTUzNjI1RTA5MDdGQjdGMDgwMkFFNTM2RDM5NDNGNDAwMzc1M0IKKzo0MDAxNDYwMDM2M0Y4NTM2MjQ5MDdFODBFNTExRjA3RTdFN0Y4MTc1Mjk3RTc1MkE4MTEyMDkzNUU1MzYwNDkwN0ZCN0YwNzUyNkZGOTA3RkNFRTAzMEUxMDYyMDBFMDMwMjAzQzRFNEY1MzU3NDQwMjUzNUY1ODJFNDM0N0NGNTgzRTBGRkU1ODkKKzo0MDAxODYwMDM1N0MwMDdCMDE3QTdFNzkwMDI0MDBGOUVDMzQ3RUZBRUYxMjBBOTcwNTM1RTUzNUI0MjBENzkwN0UwMEUwNjA2RTdGMDE5MDdFMTFFMEZEMTIwQ0RBOTA3RTAxRTBGRjEyMEMxQzkwN0UwMkUwRkYxMjBDNDJEMjExRDIxMjc1NjIKKzo0MDAxQzYwMDM2MDQ5MDdFMDNFMDYwMDVDMjEyNDMzNkMwOTA3RTA0RTBCNDAxMDdDMjEyNDMzNjBCODAxMDkwN0UwNEUwNjAwN0MyMTE0MzM2MDk4MDAzNDMzNjAyN0YwM0FEMzYxMjBDREE0MzFBODA5MDdGOTg3NDE0RjA5MEMwMDBFNTFBNzIKKzo0MDAyMDYwMEYwOTA3Rjk4NzQxMkYwRTUxNzQ0MDY5MEMwMDBGMDkwN0UwNUUwNjAxMkEzRTA1NDNGRjUxOTkwN0Y5ODc0MTNGMDkwQzAwMEU1MTlGMDkwN0UwN0UwNjA0MjkwN0UxM0UwNjAwNTQzMTYwNDgwMDM1MzE2RkJFNEZGQUQxNjEyNDcKKzo0MDAyNDYwMDBDREE5MDdFMDhFMDYwMDU0MzE4ODA4MDAzNTMxODdGNTMxOEZDOTA3RTA5RTA2MDExNDMxODAyQTNFMEZGMTIwQzhFOTA3RTBCRTBGRjEyMENCNEFGMTgxMjBDNjg5MDdFMEVFMDYwMThBM0UwNjAwNTQzMUEwMTgwMDM1MzFBRDQKKzo0MDAyODYwMEZFOTA3Rjk4NzQxNEYwOTBDMDAwRTUxQUYwOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzFBMDI4MDAzNTMxQUZEOTA3Rjk4NzQxNEYwOTBDMDAwRTUxQUYwOTA3RTEyRTBGNTEzQTNFMDEzOTIxNEEzRTBGNTE0QTNFMDYwMDU0MzFBQzMKKzo0MDAyQzYwMDEwODAwMzUzMUFFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1MUFGMDkwN0UxNkUwNjAzMjUzMTlCRjkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjBERDJFRjU0RkU5MEMwMDBGMDUzMTZGREU0RkZBRDE2MjEKKzo0MDAzMDYwMDEyMENEQUU0RjUwRUY1MEREMjBGOTA3RTE3RTA2MDBGNDMxNjAyRTRGRkFEMTYxMjBDREE3NTBEMDFEMjBGOTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTUxNzQ0MDQ5MEMwMDBGMEQyMEI5MDdFMTlFMDYwMTE0MzE5NDA5MDdGMEQKKzo0MDAzNDYwMDk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzMTZGRUU0RkZBRDE2MTIwQ0RBNzUwRjAxRDIwRjkwN0UxQkUwNjAwRjQzMTYwMUU0RkZBRDE2MTIwQ0RBRTRGNTBGRDIwRjkwN0UxQ0UwNjAwRTkwN0Y5ODc0QTkKKzo0MDAzODYwMDEyRjBFNTE3NDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIxMzkwN0UxRUUwNjAwODc1MTAwMUU0RjUxMkQyMEY5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjBEQzIwRUU0OTA3RkNGRjAzMDE2NzQKKzo0MDAzQzYwMDcxRTUxMjYwMDIxNTEyRTUzMEQzOTQwMDQwMDQxNTMwODA2MDc1MzAwQTEyMEREMkVGNTQwMUY1MzY2NTBFNjAwNzg1MzYwRUQyMEY4MDExMTIwRTI3RUY1NDEwRjUzNjY1MDk2MDA1ODUzNjA5RDIwRjEyMEUyN0VGNTQ4MEY1QzEKKzo0MDA0MDYwMDM2NjUwQTYwMDU4NTM2MEFEMjBGMTIwRTI3RUY1NDIwRjUzNjY1MEI2MDA4ODUzNjBCMzAxMTAyRDIwRjEyMEUyN0VGNTQ0MEY1MzY2NTBDNjAwODg1MzYwQzMwMTIwMkQyMEYzMDE2MkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwMzUKKzo0MDA0NDYwMDYwMDlFMEY1MzI5MDdCNDJFMEY1MzM5MDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA1MjlFNTI3NzA0MDMwMEYzOUU1MTI3MDM1QzIwRkY1MzU3RTAwN0IwMDc0MDgyNTM1REIKKzo0MDA0ODYwMEY5RUUzNDAwRkExMjBBNTFGRjc0ODAyNTM1RjU4MkU0MzQ3QkY1ODNFRkYwMDUzNUU1MzVCNDA5REI5MDdGQzM3NDA5RjA3NTEyMTBFNEY1MTA3NTI3MDIyMkU1Mjc2NDAyNzAzNjMwMDUyRkMyMDVGNTM1N0UwMDdCMDA3NDJCOTYKKzo0MDA0QzYwMDI1MzVGOUVFMzQwMEZBMTIwQTUxRkY3NDgwMjUzNUY1ODJFNDM0N0JGNTgzRUZGMDA1MzVFNTM1QjQwNURCOTA3RkMzNzQwNUYwNzUyNzAzMjJFNTMyNjAzMzc1MzEwMzE1MzJFNEY1MzU3RTAwN0IwMDc0MzEyNTM1RjlFRTM0Q0QKKzo0MDA1MDYwMDAwRkExMjBBNTFGRjc0ODAyNTM1RjU4MkU0MzQ3QkY1ODNFRkYwMDUzNUU1MzVCNDAzREI5MDdGQzM3NDAzRjBFNEY1MjcyMjkwN0ZFOUUwMTIwQUE5MDYwODAwMDY3QzAxMDZFOTAzMDU0RDA2MDVGOTA4MDVFRDA5MDVENTBBMDIKKzo0MDA1NDYwMDA1RTQwQjAwMDAwNzM5OTA3RkVCRTAyNEZFNjAxNjE0NjA1MDI0MDI3MDZGNzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwNzQwOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3NDc1ODMxOUYwNkUKKzo0MDA1ODYwMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwNzQwOTA3RkVBRTBGRjEyMEIxQ0VBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjAwMjA3NDA5MDdGQjRFMDQ0OUIKKzo0MDA1QzYwMDAxRjAwMjA3NDA5MDdGQjRFMDQ0MDFGMDAyMDc0MDkwN0YwMEU1MjVGMDkwN0ZCNTc0MDFGMDAyMDc0MDkwN0ZFQUUwRjUyNTAyMDc0MDEyMDc0ODkwN0ZFQUUwRjUyMzAyMDc0MDkwN0YwMEU1MjNGMDkwN0ZCNTc0MDFGMDAyMTYKKzo0MDA2MDYwMDA3NDA5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjAxRTQzM0ZGMjVFMEZGQTIwN0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwNzQwRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA3NDA5MDdGMkMKKzo0MDA2NDYwMEVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA3NDA5MDdGQjRFMDQ0MDFGMDAyMDc0MDkwN0ZFOEUwMjRGRTYwMUUyNDAyMTYKKzo0MDA2ODYwMDYwMDMwMjA3NDA5MDdGRUFFMEI0MDEwNjEyMERGOTAyMDc0MDkwN0ZCNEUwNDQwMUYwMDIwNzQwOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwRjgKKzo0MDA2QzYwMDdGRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNjA5MDdGQjRFMDQ0MDFGMDgwNTc5MDdGRThFMDI0RkU2MDE5MjQwMjcwNEI5MDdGRUFFMEI0MDEwNTEyMERGNjgwM0Y5MDdGQjRFMDQ0ODcKKzo0MDA3MDYwMDAxRjA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjkKKzo0MDA3NDYwMEYwMjJFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2NzQyMEYwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxMEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MDg3RjAxN0IwMDc0MDgyRkY5RTQzNDAwMjMKKzo0MDA3ODYwMEZBRTQxMjBBOTcwRkJGMDlFRTc1MTMwMUU0RjUxMkY1MzBGNTExQzIwRkMyMTNDMjBFQzIwQkMyMTBDMjA0OTA3Rjk4NzQxM0YwNzUxOTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjBDREE3RjEwOEYxODEyMEM2ODkwN0Y5ODc0QzIKKzo0MDA3QzYwMDEyRjA3RjAxOEYxN0VGNDQwNjkwQzAwMEYwMEZFNEZEMTIwQ0RBRTRGRjdFQTNBRDA2OEQxNjEyMENEQTkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMENEQTdGMDExMjBENkE3RjAzN0QwNzEyMENEQUU0RkZFNTE2N0IKKzo0MDA4MDYwMDU0N0ZGRDEyMENEQTEyMEUwRjhGMTVFNEZGRTUxNjQ0ODBGRDEyMENEQUU1MTUzMEU3MDRDMjA4ODAwMkQyMDg5MDdGOTg3NDE0RjA3NTFBODA5MEMwMDA3NDgwRjBEMjAzMjJEMjE1OTA3RjkyRTA0NDAyRjAxMjBERjlEMkU4N0MKKzo0MDA4NDYwMDQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFNzQwREYwRDJBRkQyMTYxMjBEMjRDMjAyRTRGNTI4RjUzMEMyMDlGNTIzQzIwMzkwRjcKKzo0MDA4ODYwMDdGQTEwNEYwOTA3RkQ4RTA2NTM0NjA0ODMwMDMwNUQyMTYxMjAwNDZFNTBGNjAyMkU1MjY2MDE2MTUyNjkwN0ZEOEUwMzBFNjA0N0YyMDgwMDI3RjMwOTA3Rjk2RUZGMDgwMUE5MDdGOTY3NDMwRjA4MDEyOTA3RkQ5RTAzMEUyRjgKKzo0MDA4QzYwMDA0N0YzMDgwMDI3RjIwOTA3Rjk2RUZGMDkwN0ZEOEUwRjUzNDgwMjAzMDAzMDdDMjE2MTIwMDQ2ODAxNkU1MEY3MDEyOTA3RkQ5RTAzMEUyMDQ3RjMwODAwMjdGMjA5MDdGOTZFRkYwMzAwMjA3QzIwMjEyMDUyQTgwODYzMDBBRTQKKzo0MDA5MDYwMDgzQzIwQTEyMEI1RDAyMDg4QTIyOTA3Rjk4NzQxMEYwQUYyNEU1MkFGNTgyRTUyOUY1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDEwRjBBRjI0RTUyQUY1ODJFNTI5RjU4M0MyQTMKKzo0MDA5NDYwMEFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI5MDdGOTg3NDA4RjBBRjI0RTUyQUY1ODJFNTI5RjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MDhGMEFGQ0QKKzo0MDA5ODYwMDI0RTUyQUY1ODJFNTI5RjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjc4NEIKKzo0MDA5QzYwMDdGRTRGNkQ4RkQ3NTgxMzkwMjBBMEMwMjA4MzhFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMTEKKzo0MDBBMDYwMDA0MDgxMDIwNDA4MDkwMEQ4QkU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQjAKKzo0MDBBNDYwMEM4Q0FDNTgzQ0FERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1QkIKKzo0MDBBODYwMDgyRjhFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOEYKKzo0MDBBQzYwMDkzNjg2MEVGQTNBM0EzODBERkU0OTA3RjkzRjA5MDdGOUM3NDIwRjAzMDAxMDNGRjgwMDI3RjAwOTA3Rjk2RUZGMEU0OTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwMzAwODExOTA3Rjk1RjA5MDdGOUU3NEZGRjA5MDdGMDUKKzo0MDBCMDYwMDk4NzQyMEYwMjJFNDkwN0Y5NUYwOTA3RjlFNzRERkYwRTQ5MDdGOThGMDIyOEYzNUU0RjUzNjc1MzdGRjc1MzgxOTc1Mzk4NkFCMzdBQTM4QTkzOTkwMDAwMTEyMEE2QUI0MDMxREFGMzYwNTM2RUZCNTM1MDEyMjEyMEE1MTdFNUMKKzo0MDBCNDYwMDAwMjlGRkVFM0FBOTA3NzUzN0ZGRjUzODg5Mzk4MEQ0N0IwMDdBMDA3OTAwMjI5MDdGRDhFMEY1MzUxMjBBQ0YyMDA4MDc5MDdGOTJFMDU0RkRGMDkwN0ZENkUwNDQ4MEYwMTIwOUI1OTA3RkQ2RTAzMEU3MEUzMDAxMDUxMjBEOUMKKzo0MDBCODYwMEJDODAwNjEyMEQ0OUVGNjBFMTkwN0Y5MkUwNDQwMkYwMTIwNzQ4MjIwNTJBRTUyQUFFMjk3MDAyMDUyOTE0RjU4MjhFODNFNTExRjAxMjAwMzYwNTJBRTUyQUFDMjk3MDAyMDUyOTE0RjU4MjhDODNFRkYwMTUyNEU1MjQ2MDA3QzcKKzo0MDBCQzYwMDEyMEUxQjhGMTE4MENEMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjAyNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjBBOUYKKzo0MDBDMDYwMDUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0RTgKKzo0MDBDNDYwMDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1N0MKKzo0MDBDODYwMDE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwRkUKKzo0MDBDQzYwMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMERFQThGMzcxMjBEOTEKKzo0MDBEMDYwMEVBOEYzOEU1Mzc2NTM4NjAxMjEyMERFQThGMzdFNTM3NjUzODYwMDcxMjBERUE4RjM4ODBFOEFGMzcyMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDE2MDRFMDQ0MDJGMDdGRjQ3RTAxMTIwREE1OTA3RkQ2RTA1NEY3RjBFMDQ0NDgKKzo0MDBENDYwMDA0RjAyMjkwN0ZEOEUwRjUzNjEyMDc0ODEyMEUyN0VGMzBFNjBCOTA3RkQ4RTA2NTM2NjBGMTdGMDEyMjEyMEFDRjdGMDAyMkFFMDdFNEZGRTUxNjU0N0ZGRDEyMENEQTkwN0Y5ODc0MTFGMDkwQzAwMEVFRjBFNEU1MTY0NDgwODQKKzo0MDBEODYwMEZEMTIwQ0RBMjIwNTJCMDIwMDAwMDAwMDAzMzEwMzAwMDBDMTg2QzEwMkMxMEFDMTAxQzEwNzAxMjcwMDAwOEUzNjhGMzdFNTM3MTUzN0FFMzY3MDAyMTUzNjRFNjAwNTEyMDlBNDgwRUUyMjkwN0ZENkUwNDQwMUYwN0YwRDdFOEQKKzo0MDBEQzYwMDAwMTIwREE1OTA3RkQ2RTA1NEZFRjAyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTNGMDkwQzAwMEUwRkYyMkQyMDEyMkMyMDEyMjAwMDAwMDAwMDIwQkNFMDAwMjBFRjEKKzo0MDBFMDYwMDA0MDAwMjAwMDMwMDAyMEJGNTkwN0Y5ODc0MTRGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTVGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTZGMDkwQzAwMEUwRkYyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzo0MDBFNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzo0MDBFODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKKzo0MDBFQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzo0MDBGMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzo0MDBGNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkIKKzo0MDBGODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzo0MDBGQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzo0MDEwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUEKKzo0MDEwNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzo0MDEwODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkEKKzo0MDEwQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUEKKzo0MDExMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTkKKzo0MDExNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjkKKzo0MDExODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjkKKzo0MDExQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTkKKzo0MDEyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzo0MDEyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzo0MDEyODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzo0MDEyQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTgKKzo0MDEzMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTcKKzo0MDEzNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzo0MDEzODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzo0MDEzQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzo0MDE0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzo0MDE0NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzo0MDE0ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzo0MDE0QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzo0MDE1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzo0MDE1NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzo0MDE1ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzo0MDE1QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzo0MDE2MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzo0MDE2NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzo0MDE2ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzo0MDE2QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzo0MDE3MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzo0MDE3NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzo0MDE3ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzo0MDE3QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzo0MDE4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzo0MDE4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzo0MDE4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzo0MDE4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwQkYKKzo0MDE5MDYwMDAwNDBDRDA2MTkwMTAwMDAwMTAyMDAwMjA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwNkQKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNDEwMDY0MDA2MTAwNzAwMDc0MDA2NTAwRjkKKzowNDFBMDYwMDcyMDAwMDAwNkEKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMTl3LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTl3LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hM2I4NDMxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXcuSEVYCkBAIC0wLDAgKzEsMTQxIEBACis6MDMwMDMzMDAwMjBENUM1RgorOjEwMDAwMzAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjBCRgorOjEwMDAxMzAwOTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwOTAzMQorOjBGMDAyMzAwN0Y5NUYwOTA3RjlFNzQxN0YwRTQ5MDdGOThGMDIyMDUKKzoxMDAwNDYwMDMwMEYxODEyMEQzOEVGQzM5NTE0NDAwMzAyMDBEODkwRjQKKzoxMDAwNTYwMDdGQkY3NDAxRjBDMjBGQzIwQTgwNzczMDBDM0I5MDdGREQKKzoxMDAwNjYwMEM2RTAyMEUxNkQxMjBEMzhFRkMzOTQ0MDUwNjQ5MDdFRDcKKzoxMDAwNzYwMDQwRTAxMzkyMEY5MDdGQzdFMDE0RjUxQzIwMEExMTYwMzAKKzoxMDAwODYwMDBGRjUyMzdFN0U3RjQxNzUyNzdFNzUyODQxMTIwODAxNzQKKzoxMDAwOTYwMEMyMENFNDkwN0ZDN0YwODAzOTkwN0ZDOEUwMjBFMTMyM0YKKzoxMDAwQTYwMDEyMEQzOEVGQzM5NDQwNTAyOTkwN0RDMEUwMTM5MjBGOTMKKzoxMDAwQjYwMDkwN0ZDOUUwMTRGNTFDMjAwQTExNjAwRkY1MjM3RTdEQTAKKzoxMDAwQzYwMDdGQzE3NTI3N0Q3NTI4QzExMjA4MDFEMjBDRTQ5MDdGODcKKzoxMDAwRDYwMEM5RjA5MDdGQjZFMDMwRTEwMzAyMDE1RTEyMEM0MThGNTkKKzoxMDAwRTYwMDFDMTIwRDQ0OEYxMUU1MUNDMzk1MTM1MDBGMTIwRDIwRTEKKzoxMDAwRjYwMEVGMzBFMDA4RTUxMTIwRTcwMzMwMTI1Q0MyMTJFNTFDODAKKzowQzAwMzYwMDkwN0Y5ODc0MTBGMDkwQzAwMEUwRkYyMjUyCis6MDMwMDQzMDAwMjBFMDBBQQorOjAzMDAwMDAwMDIwOEI2M0QKKzo0MDAxMDYwMDYwNTZCNDgwMDM0MzExMDJFNTExMzBFNzI0RTUxQ0QzOTQyMDQwMDM3NTFDMjA4NTFDMjM3RTdFN0Y4MDc1Mjc3RTc1Mjg4MDEyMEE4NkU1MUMyNTFDOTA3RkI3RjA4MDI3RTUxQ0QzOTQzRjQwMDM3NTFDM0Y4NTFDMjM5MDdFMDYKKzo0MDAxNDYwMDgwRTUxMUYwN0U3RTdGODE3NTI3N0U3NTI4ODExMjA4MjZFNTFDMDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwRDAzMDIwM0JBRTRGNTFCNzQ0MDI1MUJGNTgyRTQzNDdDRjU4M0UwRkZFNTFCN0MwMDdCMDE3QTdFNzkwMDI0NEEKKzo0MDAxODYwMDAwRjlFQzM0N0VGQUVGMTIwQTBEMDUxQkU1MUJCNDIwRDc5MDdFMDBFMDYwNkU3RjAxOTA3RTExRTBGRDEyMEMxQzkwN0UwMUUwRkYxMjBCNUU5MDdFMDJFMEZGMTIwQjg0RDIxMEQyMTE3NTFDMDQ5MDdFMDNFMDYwMDVDMjExRDcKKzo0MDAxQzYwMDQzMUNDMDkwN0UwNEUwQjQwMTA3QzIxMTQzMUMwQjgwMTA5MDdFMDRFMDYwMDdDMjEwNDMxQzA5ODAwMzQzMUMwMjdGMDNBRDFDMTIwQzFDNDMxOTgwOTA3Rjk4NzQxNEYwOTBDMDAwRTUxOUYwOTA3Rjk4NzQxMkYwRTUxNjQ0Q0UKKzo0MDAyMDYwMDA2OTBDMDAwRjA5MDdFMDVFMDYwMTJBM0UwNTQzRkY1MTg5MDdGOTg3NDEzRjA5MEMwMDBFNTE4RjA5MDdFMDdFMDYwNDI5MDdFMTNFMDYwMDU0MzE1MDQ4MDAzNTMxNUZCRTRGRkFEMTUxMjBDMUM5MDdFMDhFMDYwMDU0MzE3QkMKKzo0MDAyNDYwMDgwODAwMzUzMTc3RjUzMTdGQzkwN0UwOUUwNjAxMTQzMTcwMkEzRTBGRjEyMEJEMDkwN0UwQkUwRkYxMjBCRjZBRjE3MTIwQkFBOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzE5MDE4MDAzNTMxOUZFOTA3Rjk4NzQxNEYwOTBDMDAwNDYKKzo0MDAyODYwMEU1MTlGMDkwN0UwQ0UwNjAxOEEzRTA2MDA1NDMxOTAyODAwMzUzMTlGRDkwN0Y5ODc0MTRGMDkwQzAwMEU1MTlGMDkwN0UxMkUwRjUxM0EzRTAxMzkyMTNBM0UwRjUxNEEzRTA2MDA1NDMxOTEwODAwMzUzMTlFRjkwN0Y5ODc0MkQKKzo0MDAyQzYwMDE0RjA5MEMwMDBFNTE5RjA5MDdFMTZFMDYwMzI1MzE4QkY5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxMUYwMTIwRDE0RUY1NEZFOTBDMDAwRjA1MzE1RkRFNEZGQUQxNTEyMEMxQ0U0RjUwRUY1MEREMjBFRUIKKzo0MDAzMDYwMDkwN0UxN0UwNjAwRjQzMTUwMkU0RkZBRDE1MTIwQzFDNzUwRDAxRDIwRTkwN0UxOEUwNjAxMDkwN0Y5ODc0MTJGMEU1MTY0NDA0OTBDMDAwRjBEMjBBOTA3RTE5RTA2MDExNDMxODQwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwNjQKKzo0MDAzNDYwMDAwRjA5MDdFMUFFMDYwMEY1MzE1RkVFNEZGQUQxNTEyMEMxQzc1MEYwMUQyMEU5MDdFMUJFMDYwMEY0MzE1MDFFNEZGQUQxNTEyMEMxQ0U0RjUwRkQyMEU5MDdFMUNFMDYwMEU5MDdGOTg3NDEyRjBFNTE2NDQwMjkwQzAwMEYwRDgKKzo0MDAzODYwMDkwN0UxREUwNjAwMkQyMTI5MDdFMUVFMDYwMDg3NTEwMDFFNEY1MTJEMjBFOTA3RTFGRTA2MDExOTA3RkQ3NzQxMUYwNzQzMUYwNzQxNUYwNzQzNUYwRDIwQ0MyMERFNDkwN0ZDRkYwMzAxNTcxRTUxMjYwMDIxNTEyRTUyRUQzMjYKKzo0MDAzQzYwMDk0MDA0MDA0MTUyRTgwNjA3NTJFMEExMjBEMTRFRjU0MDFGNTFDNjUwRTYwMDc4NTFDMEVEMjBFODAxMTEyMEQ1MEVGNTQxMEY1MUM2NTA5NjAwNTg1MUMwOUQyMEUxMjBENTBFRjU0ODBGNTFDNjUwQTYwMDU4NTFDMEFEMjBFRkIKKzo0MDA0MDYwMDEyMEQ1MEVGNTQyMEY1MUM2NTBCNjAwODg1MUMwQjMwMTAwMkQyMEUxMjBENTBFRjU0NDBGNTFDNjUwQzYwMDg4NTFDMEMzMDExMDJEMjBFMzAxNTJBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDYwMDlFMEY1MzA5MDdCNDJFMEY1NzIKKzo0MDA0NDYwMDMxOTA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDkwN0ZDMkUwMzBFMTAzMDIwNTFGRTUyNTcwNDAzMDBFMzlFNTEyNzAzNUMyMEVGNTFCN0UwMDdCMDA3NDA4MjUxQkY5RUUzNDAwRkExMjA5QzdGRjc0NDcKKzo0MDA0ODYwMDgwMjUxQkY1ODJFNDM0N0JGNTgzRUZGMDA1MUJFNTFCQjQwOURCOTA3RkMzNzQwOUYwNzUxMjEwRTRGNTEwNzUyNTAyMjJFNTI1NjQwMjcwMzYzMDA1MkZDMjA1RjUxQjdFMDA3QjAwNzQyOTI1MUJGOUVFMzQwMEZBMTIwOUM3QzIKKzo0MDA0QzYwMEZGNzQ4MDI1MUJGNTgyRTQzNDdCRjU4M0VGRjAwNTFCRTUxQkI0MDVEQjkwN0ZDMzc0MDVGMDc1MjUwMzIyRTUzMDYwMzM3NTJGMDMxNTMwRTRGNTFCN0UwMDdCMDA3NDJGMjUxQkY5RUUzNDAwRkExMjA5QzdGRjc0ODAyNTFCMjYKKzo0MDA1MDYwMEY1ODJFNDM0N0JGNTgzRUZGMDA1MUJFNTFCQjQwM0RCOTA3RkMzNzQwM0YwRTRGNTI1MjI5MDdGRTlFMDEyMEExRjA1RjYwMDA2NkEwMTA2RDcwMzA1NDMwNjA1RTkwODA1RTMwOTA1Q0IwQTA1REEwQjAwMDAwNzI3OTA3RkVCQzkKKzo0MDA1NDYwMEUwMjRGRTYwMTYxNDYwNTAyNDAyNzA2Rjc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMDcyRTkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyNzQ3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBNjUKKzo0MDA1ODYwMEUwMDQ3NTgyMTc3NTgzMTlGMDc0MTk5MDdGRDRGMDc0MTI5MDdGRDVGMDAyMDcyRTkwN0ZFQUUwRkYxMjBBNDVFQTQ5NjAwREVBOTA3RkQ0RjBFOTkwN0ZENUYwMDIwNzJFOTA3RkI0RTA0NDAxRjAwMjA3MkU5MDdGQjRFMDQ0RDEKKzo0MDA1QzYwMDAxRjAwMjA3MkU5MDdGMDBFNTI0RjA5MDdGQjU3NDAxRjAwMjA3MkU5MDdGRUFFMEY1MjQwMjA3MkUxMjA3MzYwMjA3MkU5MDdGMDA3NDAxRjA5MDdGQjVGMDAyMDcyRTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMjEKKzo0MDA2MDYwMDAxRTQzM0ZGMjVFMEZGQTIwN0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwNzJFRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA3MkU5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0Q0QKKzo0MDA2NDYwMEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA3MkU5MDdGQjRFMDQ0MDFGMDAyMDcyRTkwN0ZFOEUwMjRGRTYwMUUyNDAyNjAwMzAyMDcyRTkwN0ZFQUUwQjQwMTA2MTIwRDYzMDIwNzJFNTMKKzo0MDA2ODYwMDkwN0ZCNEUwNDQwMUYwMDIwNzJFOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGNjkKKzo0MDA2QzYwMEQ3RjBFMDQ0MjBGMDgwNjA5MDdGQjRFMDQ0MDFGMDgwNTc5MDdGRThFMDI0RkU2MDE5MjQwMjcwNEI5MDdGRUFFMEI0MDEwNTEyMEQ2MDgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQUQKKzo0MDA3MDYwMEM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwNkIKKzo0MDA3NDYwMDkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MThGMEU0RjU4RTkwN0ZERjc0RkZGMDkwN0ZERUYwRTRGNTA4N0YwMTdCMDA3NDA4MkZGOUU0MzQwMEZBRTQxMjBBMEQwRkJGMDlFRTc1MTMwMUU0RjUxMkY1MkVGNTExQTIKKzo0MDA3ODYwMEMyMEVDMjEyQzIwREMyMEFDMjBGQzIwNDkwN0Y5ODc0MTNGMDc1MTgwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIwQzFDN0YxMDhGMTcxMjBCQUE5MDdGOTg3NDEyRjA3RjAxOEYxNkVGNDQwNjkwQzAwMEYwMEZFNEZEMTIwQzFDNzEKKzo0MDA3QzYwMEU0RkY3RUEzQUQwNjhEMTUxMjBDMUM5MDdGOTg3NDExRjA5MEMwMDBFNEYwN0YwNTdEN0YxMjBDMUM3RjAxMTIwQ0FDN0YwMzdEMDcxMjBDMUM5MDdGOTg3NDE0RjA3NTE5ODA5MEMwMDA3NDgwRjBEMjAzMjI5MDdGOTg3NDEwNTkKKzo0MDA4MDYwMEYwQUYyM0U1MjhGNTgyRTUyN0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDEwRjBBRjIzRTUyOEY1ODJFNTI3RjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3NkYKKzo0MDA4NDYwMDA1ODZEMkFGMjI5MDdGOTg3NDA4RjBBRjIzRTUyOEY1ODJFNTI3RjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MDhGMEFGMjNFNTI4RjU4MkU1MjdGNTgzQzJBRjA1ODY5MEMwNDUKKzo0MDA4ODYwMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjc4N0ZFNEY2RDhGRDc1ODEzMTAyMDhGRDAyMDk0MkU0M0IKKzo0MDA4QzYwMDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwQ0NERTQ3RTAxOTM2MEJDMzYKKzo0MDA5MDYwMEEzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUQyMTQ5MDdGODMKKzo0MDA5NDYwMDkyRTA0NDAyRjAxMjBENjNEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUU3NDBERjBEMkFGRDIxNTEyMEM2NkMyMDJFNEY1NTcKKzo0MDA5ODYwMDI2RjUyRUMyMDhDMjAzOTA3RkExMDRGMDkwN0ZEOEUwNjUxQTYwMTAzMDAzMDVEMjE1MTIwMDQ2OTA3RkQ4RTBGNTFBODAwODMwMDMwNUMyMTUxMjAwNDYzMDAyMDdDMjAyMTIwNTIwODBENjMwMDlEM0MyMDkxMjBBQkE4MENDNDAKKzo0MDA5QzYwMDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1MUYKKzo0MDBBMDYwMDgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjhGNTgKKzo0MDBBNDYwMDFCRTRGNTFDNzUxREZGNzUxRTE5NzUxRjg2QUIxREFBMUVBOTFGOTAwMDAxMTIwOUUwQjQwMzFEQUYxQzA1MUNFRkI1MUIwMTIyMTIwOUM3N0UwMDI5RkZFRTNBQTkwNzc1MURGRkY1MUU4OTFGODBENDdCMDA3QTAwNzkwMDIyRjMKKzo0MDBBODYwMDA1MjhFNTI4QUUyNzcwMDIwNTI3MTRGNTgyOEU4M0U1MTFGMDEyMDAzNjA1MjhFNTI4QUMyNzcwMDIwNTI3MTRGNTgyOEM4M0VGRjAxNTIzRTUyMzYwMDcxMjBENDQ4RjExODBDRDIyOTA3RkQ4RTBGNTFCMTIwMDAzOTA3RkQ2QUIKKzo0MDBBQzYwMEUwNDQ4MEYwMTIwOEE2OTA3RkQ2RTAzMEU3MEUzMDAxMDUxMjBDRkU4MDA2MTIwQzhCRUY2MEUxMTIwNzM2MjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwREYKKzo0MDBCMDYwMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwMjUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwMjUKKzo0MDBCNDYwMEQyMDk1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGREIKKzo0MDBCODYwMDk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMUYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTJGMDkwQzAwMEVGRjA5MDdGOTg3NDEzMDcKKzo0MDBCQzYwMEYwRTUxODU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0RjIKKzo0MDBDMDYwMDE2RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTdGMDkwQzAwMEVGRjA5MDdGOTg3NDE1RjA5MEMwMDBFREYwMjIxMjBEMkM4RjFENDQKKzo0MDBDNDYwMDEyMEQyQzhGMUVFNTFENjUxRTYwMTIxMjBEMkM4RjFERTUxRDY1MUU2MDA3MTIwRDJDOEYxRTgwRThBRjFEMjI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxNTA0RTA0NDAyRjA3RkY0N0UwMTEyMENFNzkwN0ZENkUwNTRGN0YwRDgKKzo0MDBDODYwMEUwNDQwNEYwMjI5MDdGRDhFMEY1MUMxMjA3MzYxMjBENTBFRjMwRTYwQjkwN0ZEOEUwNjUxQzYwRjE3RjAxMjIxMjAwMDM3RjAwMjJBRTA3RTRGRkU1MTU1NDdGRkQxMjBDMUM5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTE1OTkKKzo0MDBDQzYwMDQ0ODBGRDEyMEMxQzIyMDUyOTAyMDAwMDAwMDAwMzJGMDMwMDAwQzE4NkMxMDJDMTA5QzEwMUMxMDcwMTI1MDAwMDhFMUM4RjFERTUxRDE1MURBRTFDNzAwMjE1MUM0RTYwMDUxMjA4OTU4MEVFMjI5MDdGRDZFMDQ0MDFGMDdGODYKKzo0MDBEMDYwMDBEN0UwMDEyMENFNzkwN0ZENkUwNTRGRUYwMjI5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGMkIKKzo0MDBENDYwMDk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyNTNEOEVGMzJEMjAxMjJDMjAxMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzo0MDBEODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzo0MDBEQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwQjEwMDAwMjBFQzAKKzo0MDBFMDYwMDA0MDAwMjBBRTYwMDAyMEIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzo0MDBFNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzo0MDBFODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKKzo0MDBFQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzo0MDBGMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzo0MDBGNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkIKKzo0MDBGODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzo0MDBGQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzo0MDEwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUEKKzo0MDEwNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzo0MDEwODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkEKKzo0MDEwQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUEKKzo0MDExMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTkKKzo0MDExNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjkKKzo0MDExODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjkKKzo0MDExQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTkKKzo0MDEyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzo0MDEyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzo0MDEyODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzo0MDEyQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTgKKzo0MDEzMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTcKKzo0MDEzNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzo0MDEzODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzo0MDEzQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzo0MDE0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzo0MDE0NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzo0MDE0ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzo0MDE0QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzo0MDE1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzo0MDE1NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzo0MDE1ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzo0MDE1QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzo0MDE2MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzo0MDE2NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzo0MDE2ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzo0MDE2QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzo0MDE3MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzo0MDE3NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzo0MDE3ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzo0MDE3QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzo0MDE4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzo0MDE4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzo0MDE4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzo0MDE4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwQkYKKzo0MDE5MDYwMDAwNDBDRDA2MDgwMTAwMDAwMTAyMDAwMjA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwN0UKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNDEwMDY0MDA2MTAwNzAwMDc0MDA2NTAwRjkKKzowNDFBMDYwMDcyMDAwMDAwNkEKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMjguSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOC5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDAwYzk3OAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjguSEVYCkBAIC0wLDAgKzEsMTQ4IEBACis6MEEwMDI2MDAxMjE3REIxMjE4QjUxMjE0QzMyMkUyCis6MDMwMDMzMDAwMjAwMURBQgorOjA0MDAxRDAwNTNEOEVGMzI5MworOjEwMDAwNjAwOEUxMjhGMTNFNTEzMTUxM0FFMTI3MDAyMTUxMjRFNjA4MQorOjA3MDAxNjAwMDUxMjE4QTQ4MEVFMjI4MAorOjAzMDAwMzAwMDIwMDQ2QjIKKzoxMDAwNDYwMEMwRTBDMDgzQzA4MkMwODY3NTg2MDBDMEQwNzVEMDA4NjcKKzoxMDAwNTYwMDMwOTkwRTMwMTEwN0EyMTc5MjlCODU0Njk5QzI5OUQyMDQKKzoxMDAwNjYwMDFGMzBDMTBFMzAxMjA3QTIxODkyQzM4NTQ3QzFDMkMxMDQKKzoxMDAwNzYwMEQyMjAyMDFGMDMwMjA0NDJDMjFGMjAwMzAzMDIwMjY3OEMKKzoxMDAwODYwMDIwMTEwMzAyMDEzOEU1NEFDMzk1N0M1MDNFMjAxMzM2MDEKKzoxMDAwOTYwMDIwMEIzMzkwN0Y5QkUwMjBFMzAzMjAxQzI5MzAxQjEyQUEKKzoxMDAwQTYwMEFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMDEzQTkKKzoxMDAwQjYwMDkyMTdBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTMKKzoxMDAwQzYwMEUwRjU0NjAyMDQ0MEMyMTEwMjA0NDA5MDdGQzdFNEYwMDYKKzoxMDAwRDYwMEMyMDMzMDE1MENDMjE1OTA3RkJGMDRGMEMyMTEwMjA0OTIKKzoxMDAwRTYwMDQwOTA3RkM4RTAzMEUxMDVDMjExMDIwNDQwOTA3RkM5MEMKKzoxMDAwRjYwMEUwRjU3QzkwN0RDMEUwMTM5MjE1MjAxMzJEMjAwQjJBOEQKKzowMzAwNDMwMDAyMUIwMDlECis6MDMwMDIzMDAwMjAwNDY5MgorOjAzMDAzQjAwMDIwMDQ2N0EKKzowMzAwMDAwMDAyMTYzREE4Cis6NDAwMTA2MDA5MDdGOUJFMDIwRTMwMzIwMUMyMDMwMUIxMTkwN0RDMUUwMTM5MjE3QTNFMEY1NDY3NTRBMDMwMjA0NDA3NTRBMDI5MDdEQzFFMEY1NDYwMjA0NDA3NTRBMDFDMjExMDIwNDQwRTU0QUMzOTU3QzUwMDMwMjAxRTA5MDdGQzZFMDhBCis6NDAwMTQ2MDAzMEUxMDdDMjIxQzIwNTAyMDQ0MDkwN0ZDN0UwRjU3QzkwN0U0MEUwMTM5MjE1MzAxMzAzMDIwMUQ4MjAwQjcyMjAwMDZGOTA3RjlCRTAyMEUzMDMyMDFDNjUzMDFCMTA5MDdFNDFFMDEzOTI5QkEzRTBGNTk5NzU0QTAzODAwOUJFCis6NDAwMTg2MDA5MDdFNDFFMEY1OTk3NTRBMDJFNTRBQzM5NTdDNDAxNzkwN0ZDN0U0RjBDMjAzMjAxNTAzMDIwNDQwQzIxNTkwN0ZCRjA0RjAwMjA0NDAzMDFCMTJBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTAxMzkyMTdBRTRBMDU0QUE3Cis6NDAwMUM2MDA3NDQwMkVGNTgyRTQzNDdFRjU4M0UwRjU0NkQyMTEwMjA0NDA3NTRBMDFDMjIxMDIwNDQwMzAxMzAzMDIwMjYyMjAwQjc5OTA3RjlCRTAyMEUzMDMyMDFDNkYzMDFCMTJBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTAxM0RDCis6NDAwMjA2MDA5MjlCQUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFRjU4M0UwRjU5OUU1NEFDMzk1N0M0MDE3OTA3RkM3RTRGMEMyMDMyMDE1MDMwMjA0NDBDMjE1OTA3RkJGMDRGMDAyMDQ0MDMwMUIxMkFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUI2Cis6NDAwMjQ2MDBGNTgzRTAxMzkyMTdBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTBGNTQ2RDIxMTAyMDQ0MEMyMjEwMjA0NDAyMDExMDMwMjAzMTlFNTRBQzM5NTdDNTAzRTIwMTMzNjIwMEIzMzkwN0Y5QkUwMjBFMzAzMjAxQzI5MzAxQjVGCis6NDAwMjg2MDAxMkFFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxN0FFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMEY1NDYwMjA0NDBDMjExMDIwNDQwOTA3RkM5RTRGMEQyMDMzMDE1MENDMjE1OTA3RkJGMDRGMEMyMTEwMjc2Cis6NDAwMkM2MDAwNDQwOTA3RkM2RTAzMEUxMDVDMjExMDIwNDQwOTA3RkM3RTBGNTdDOTA3RTQwRTAxMzkyMTUyMDEzMkQyMDBCMkE5MDdGOUJFMDIwRTMwMzIwMUMyMDMwMUIxMTkwN0U0MUUwMTM5MjE3QTNFMEY1NDY3NTRBMDMwMjA0NDA3NTlFCis6NDAwMzA2MDA0QTAyOTA3RTQxRTBGNTQ2MDIwNDQwNzU0QTAxQzIxMTAyMDQ0MEU1NEFDMzk1N0M1MDAzMDIwM0MxOTA3RkM4RTAzMEUxMDdDMjIxQzIwNTAyMDQ0MDkwN0ZDOUUwRjU3QzkwN0RDMEUwMTM5MjE1MzAxMzAzMDIwM0I5MjAwQjQ4Cis6NDAwMzQ2MDA3MjIwMDA2RjkwN0Y5QkUwMjBFMzAzMjAxQzY1MzAxQjEwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1NEEwMzgwMDk5MDdEQzFFMEY1OTk3NTRBMDJFNTRBQzM5NTdDNDAxNzkwN0ZDOUU0RjBEMjAzMjAxNTAzMDIwNDQwQzIxNTczCis6NDAwMzg2MDA5MDdGQkYwNEYwMDIwNDQwMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE3QUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU0NkQyMTEwMjA0NDA3NTRBMDFDMjIxMDIwNDQwMzAxMzAzMDIwNDYzCis6NDAwM0M2MDAzRTIwMEI3NDkwN0Y5QkUwMjBFMzAzMjAxQzZBMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjlCQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU5OUU1NEFDMzk1N0M0MDEzOTA3RkM5RTRGMDlECis6NDAwNDA2MDBEMjAzMzAxNTM1QzIxNTkwN0ZCRjA0RjA4MDJDMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE3QUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU0NkQyMTE4MDAyQzIyMUQyMjUyMDIwMDMwMjMwCis6NDAwNDQ2MDAwODBDQzIyMDIwMDQwMzAyMDYzMTIwMTIwMzAyMDUwMkU1NEJDMzk1N0Q1MDNFMjAxNDM2MjAwRDMzOTA3RjlBRTAyMEU1MDMyMDFFMjkzMDFEMTJBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyMThBRTRCMDU0Qjk5Cis6NDAwNDg2MDA3NDQwMkVGNTgyRTQzNDdERjU4M0UwRjU0NzAyMDgwQUMyMTIwMjA4MEE5MDdGQ0JFNEYwQzIwNDMwMTYwQ0MyMTY5MDdGQzEwNEYwQzIxMjAyMDgwQTkwN0ZDQ0UwMzBFMTA1QzIxMjAyMDgwQTkwN0ZDREUwRjU3RDkwN0NDMEJCCis6NDAwNEM2MDBFMDEzOTIxNjIwMTQyRDIwMEQyQTkwN0Y5QUUwMjBFNTAzMjAxRTIwMzAxRDExOTA3Q0MxRTAxMzkyMThBM0UwRjU0Nzc1NEIwMzAyMDgwQTc1NEIwMjkwN0NDMUUwRjU0NzAyMDgwQTc1NEIwMUMyMTIwMjA4MEFFNTRCQzM5NTY2Cis6NDAwNTA2MDA3RDUwMDMwMjA1QUE5MDdGQ0FFMDMwRTEwN0MyMjJDMjA2MDIwODBBOTA3RkNCRTBGNTdEOTA3RDQwRTAxMzkyMTYzMDE0MDMwMjA1QTIyMDBENzIyMDAwNkY5MDdGOUFFMDIwRTUwMzIwMUU2NTMwMUQxMDkwN0Q0MUUwMTM5MjBECis6NDAwNTQ2MDBDM0EzRTBGNUMxNzU0QjAzODAwOTkwN0Q0MUUwRjVDMTc1NEIwMkU1NEJDMzk1N0Q0MDE3OTA3RkNCRTRGMEMyMDQyMDE2MDMwMjA4MEFDMjE2OTA3RkMxMDRGMDAyMDgwQTMwMUQxMkFFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3RDI0Cis6NDAwNTg2MDBGNTgzRTAxMzkyMThBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTBGNTQ3RDIxMjAyMDgwQTc1NEIwMUMyMjIwMjA4MEEzMDE0MDMwMjA2MkMyMDBENzk5MDdGOUFFMDIwRTUwMzIwMUU2RjMwMUQxMkFFNEIwNTRCNzQ0MEU5Cis6NDAwNUM2MDAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyQzNBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTBGNUMxRTU0QkMzOTU3RDQwMTc5MDdGQ0JFNEYwQzIwNDIwMTYwMzAyMDgwQUMyMTY5MDdGQzEwNEYwMDIwODBBMzAxRDEyQUU0QjkxCis6NDAwNjA2MDAwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxOEFFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMEY1NDdEMjEyMDIwODBBQzIyMjAyMDgwQTIwMTIwMzAyMDZFM0U1NEJDMzk1N0Q1MDNFMjAxNDM2MjAwRDMzOTA3RjFBCis6NDAwNjQ2MDA5QUUwMjBFNTAzMjAxRTI5MzAxRDEyQUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwMTM5MjE4QUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwRjU0NzAyMDgwQUMyMTIwMjA4MEE5MDdGQ0RFNEYwRDIwNDMwMTYwQzQzCis6NDAwNjg2MDBDMjE2OTA3RkMxMDRGMEMyMTIwMjA4MEE5MDdGQ0FFMDMwRTEwNUMyMTIwMjA4MEE5MDdGQ0JFMEY1N0Q5MDdENDBFMDEzOTIxNjIwMTQyRDIwMEQyQTkwN0Y5QUUwMjBFNTAzMjAxRTIwMzAxRDExOTA3RDQxRTAxMzkyMThBMzUyCis6NDAwNkM2MDBFMEY1NDc3NTRCMDMwMjA4MEE3NTRCMDI5MDdENDFFMEY1NDcwMjA4MEE3NTRCMDFDMjEyMDIwODBBRTU0QkMzOTU3RDUwMDMwMjA3OEI5MDdGQ0NFMDMwRTEwN0MyMjJDMjA2MDIwODBBOTA3RkNERTBGNTdEOTA3Q0MwRTAxM0FDCis6NDAwNzA2MDA5MjE2MzAxNDAzMDIwNzgzMjAwRDcyMjAwMDZGOTA3RjlBRTAyMEU1MDMyMDFFNjUzMDFEMTA5MDdDQzFFMDEzOTJDM0EzRTBGNUMxNzU0QjAzODAwOTkwN0NDMUUwRjVDMTc1NEIwMkU1NEJDMzk1N0Q0MDE3OTA3RkNERTRGMEFFCis6NDAwNzQ2MDBEMjA0MjAxNjAzMDIwODBBQzIxNjkwN0ZDMTA0RjAwMjA4MEEzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyMThBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNTQ3RDIxMjAyMDgwQTc1NEIwMTczCis6NDAwNzg2MDBDMjIyMDIwODBBMzAxNDAzMDIwODA4MjAwRDc0OTA3RjlBRTAyMEU1MDMyMDFFNkEzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyQzNBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNUMxRTU0QjNGCis6NDAwN0M2MDBDMzk1N0Q0MDEzOTA3RkNERTRGMEQyMDQzMDE2MzVDMjE2OTA3RkMxMDRGMDgwMkMzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyMThBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNTQ3RDIxMjJBCis6NDAwODA2MDA4MDAyQzIyMkQyMjUyMDk4MDMwMjA5M0VDMjk4MjAwMTAzMDIwOEIwMjAyMzI3QUU0ODA1NDg3NDgwMkVGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMUI0OUFFNDgwNTQ4NzQ4MDJFRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDM2QUY5OTZFCis6NDAwODQ2MDBFRkI1NTgwNEQyMEI4MDJDRUZCNTU3MDRDMjBCODAyNEFFNDgwNTQ4NzQ4MDJFRjU4MkU0MzQ3RUY1ODNFRkYwMzAxQjExQUU0ODA1NDg3NDgwMkVGNTgyRTQzNDdFRjU4M0U1OThGMEQyMTlFNTQ4QzM5NTU0NTAwMzAyMDkzQzlGCis6NDAwODg2MDA5MDdGQjhFMDMwRTExNUU1NDhDMzk0NDA1MDAzMDIwOTNDMTU0ODE1NDgwNTJERDIwQzAyMDkzQzkwN0ZCN0U1NDhGMDc1NDgwMEMyMDEwMjA5M0MyMDIzMjdBRTQ4MDU0ODc0MDAyRUY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxQkJGCis6NDAwOEM2MDA0OUFFNDgwNTQ4NzQwMDJFRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDM2QUY5OUVGQjU1ODA0RDIwQjgwMkNFRkI1NTcwNEMyMEI4MDI0QUU0ODA1NDg3NDAwMkVGNTgyRTQzNDdFRjU4M0VGRjAzMDFCMTFBRTQ4MDU0ODc0MDAyRTUxCis6NDAwOTA2MDBGNTgyRTQzNDdFRjU4M0U1OThGMEQyMTlFNTQ4QzM5NTU0NDAyMzkwN0ZCNkUwMzBFMTExRTU0OEMzOTQ0MDQwMTUxNTQ4MTU0ODA1MkREMjBDODAwQjkwN0ZCOUU1NDhGMDc1NDgwMEQyMDFEMjI1MjBDMDAzMDIwQTcwQzJDMDE2Cis6NDAwOTQ2MDAyMDAyMDMwMjA5RTIyMDI0MjdBRTQ5MDU0OTc0ODAyRUY1ODJFNDM0N0RGNTgzRTVDMUYwMzAxRDQ5QUU0OTA1NDk3NDgwMkVGNTgyRTQzNDdERjU4M0U1QzBGMDgwMzZBRkMxRUZCNTcwMDREMjBEODAyQ0VGQjU2RjA0QzIwREFFCis6NDAwOTg2MDA4MDI0QUU0OTA1NDk3NDgwMkVGNTgyRTQzNDdERjU4M0VGRjAzMDFEMTFBRTQ5MDU0OTc0ODAyRUY1ODJFNDM0N0RGNTgzRTVDMEYwRDIxQUU1NDlDMzk1NkM1MDAzMDIwQTZFOTA3RkJDRTAzMEUxMTVFNTQ5QzM5NDQwNTAwMzUxCis6NDAwOUM2MDAwMjBBNkUxNTQ5MTU0OTA1MzlEMjBFMDIwQTZFOTA3RkJCRTU0OUYwNzU0OTAwQzIwMjAyMEE2RTIwMjQyN0FFNDkwNTQ5NzQwMDJFRjU4MkU0MzQ3REY1ODNFNUMxRjAzMDFENDlBRTQ5MDU0OTc0MDAyRUY1ODJFNDM0N0RGNTU1Cis6NDAwQTA2MDA4M0U1QzBGMDgwMzZBRkMxRUZCNTcwMDREMjBEODAyQ0VGQjU2RjA0QzIwRDgwMjRBRTQ5MDU0OTc0MDAyRUY1ODJFNDM0N0RGNTgzRUZGMDMwMUQxMUFFNDkwNTQ5NzQwMDJFRjU4MkU0MzQ3REY1ODNFNUMwRjBEMjFBRTU0OTgzCis6NDAwQTQ2MDBDMzk1NkM0MDIzOTA3RkJBRTAzMEUxMTFFNTQ5QzM5NDQwNDAxNTE1NDkxNTQ5MDUzOUQyMEU4MDBCOTA3RkJERTU0OUYwNzU0OTAwRDIwMkQyMjUzMDI1MDVDMjI1MDIwMDU2RDBEMEQwODZEMDgyRDA4M0QwRTAzMjkwN0ZDRTk5Cis6NDAwQTg2MDBFMDMwRTEwMzAyMEJBNUU0RjUxMjc0NDAyNTEyRjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxMjdDMDA3QjAwMjQ0Q0Y5RUMzNDAwRkFFRjEyMTVDRDA1MTJFNTEyQjQxOERCRTU0QzYwMEM3NUM5MjA3NUM4MzY4NTREQ0E4NTRFQ0JFNUJDCis6NDAwQUM2MDA0RjEzOTIxQjkyOUZFNTUwMTM5MjFDRTU1MTEzOTIyM0U1NTI2MDA5OTA3Rjk4RTA1NEZCRjA4MDA3OTA3Rjk4RTA0NDA0RjBFNTUzNjAwOTkwN0Y5OEUwNTQ3RkYwODAwNzkwN0Y5OEUwNDQ4MEYwRTU1OTYwMEJDMjEzQzIwQjE4Cis6NDAwQjA2MDA5MDdGOTVFMDQ0MDJGMEU1NUE2MDBCRDIwQkQyMEM5MDdGOTVFMDQ0MDJGMEU1NUI2MDBEQzJBRkMyMTFEMjAwRTRGNTdDRjU0QUQyQUZFNTVDNjAwNTMwMjMwMkQyMEJFNTVENjAxNTkwN0Y5NUUwNTRGREYwOTA3RjlFRTA0NEQ5Cis6NDAwQjQ2MDAwMkYwOTA3Rjk4RTA1NEZERjBFNTVFNjAwQUQyOUNDMjk4NzUyRTAxNzU0MDI4RTU1RjYwMDdDMjlDRTRGNTQ4RjUyRUU1NjA2MDAzRTRGNTQ4RTU2MTYwMDJEMjA3RTU2MjYwMDhFNTVFNzAwMkY1NDBEMjBDRTU2MzYwMTk5MDYwCis6NDAwQjg2MDA3RkQ3NzQxMUYwNzQzMUYwNzQxMkYwNzQzMkYwNzQxNUYwNzQzNUYwRDIwM0QyMDFEMjA5RTQ5MDdGQ0ZGMEEyMTNFNDMzRkY2NTJCNjAwNDhGMkJEMjBDQTIwQkU0MzNGRjY1MkM2MDA0OEYyQ0QyMEM5MDdGOUJFMDU0MDg2NTg5Cis6NDAwQkM2MDAyNzYwMDdFMDU0MDhGNTI3RDIwQzkwN0Y5QkUwNTQ0MEI1MjkwOUUwNTQ0MDY0NDBGNTI5RDIwQzMwMDczNUMyQUYzMDAxMTg5MDdGQjhFMDIwRTEyN0U1NDg2MDA5OTA3RkI3RjBFNEY1NDhDMjAxQzIwNzgwMTY5MDdGQjZFMEU5Cis6NDAwQzA2MDAyMEUxMEZFNTQ4NjAwOTkwN0ZCOUYwRTRGNTQ4RDIwMUMyMDdEMkFGMjAwNTM3MzAwMzFCOTA3RkM2RTAyMEUxMkQ5MDdFNDBFMDEzOTIxNTc1NEEwMTkwN0ZDN0UwRjU3Q0QyMDU4MDE5OTA3RkM4RTAyMEUxMTI5MDdEQzBFMENGCis6NDAwQzQ2MDAxMzkyMTU3NTRBMDE5MDdGQzlFMEY1N0NEMjA1MjAyMTMzMjAwMDA2RTU0QTY1N0M3MDJBMzAwNTFBMzAwMzA5RTQ5MDdGQzdGMEMyMDM4MDA3RTQ5MDdGQzlGMEQyMDNDMjA1RTRGNTdDRjU0QTMwMTUwQUMyMTVDMjAwOTA3RjVDCis6NDAwQzg2MDBCRjc0MDFGMDMwMjEwMzAyMEQ5NDIwMDUwMzAyMEQ5NDMwMUMwQTkwN0Y5QkUwMjBFMzAzMDIwRDk0MzAwQjAzMDIwRDk0MzAxMzAzMDIwRDk0MzAwMzYyMzAxQjEyQUY0QTA1NEE3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MkNFCis6NDAwQ0M2MDAyREFGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MTNFNTRBQzM5NTdDNTAyQTMwMUIxMkFGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIxN0FGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1NDZEMjY2Cis6NDAwRDA2MDAxMTgwNkJDMjExRTQ5MDdGQzdGMEMyMDM4MDYwMzAxQjEyQUY0QTA1NEE3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjJEQUY0QTA1NEE3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUxM0U1NEFDMzk1N0M1MDJBMzAxQjEyQUY0QTY3Cis6NDAwRDQ2MDAwNTRBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxN0FGNEEwNTRBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1NDZEMjExODAwOUMyMTFFNDkwN0ZDOUYwRDIwMzMwMUIwNEEyMkQ5MjlCRDIyMUMyQUY4NTEzOTkyMDExMEQzMDQzCis6NDAwRDg2MDAxNTBBQzIxNUMyMDA5MDdGQkY3NDAxRjBEMkFGOTA3RkQwRTAzMEUxMDMwMjBFQjVFNEY1MTI3NEMwMjUxMkY1ODJFNDM0N0JGNTgzRTBGRkU1MTI3QzAwN0IwMDI0NjRGOUVDMzQwMEZBRUYxMjE1Q0QwNTEyRTUxMkI0MThEQjUxCis6NDAwREM2MDBFNTY0NjAwQjc1ODk2MDc1ODg0MEQyREY4NTY1OERFNTY3MTM5MjFEOTJDN0U1NjgxMzkyMUVFNTY5MTM5MjI0RTU2QTYwMDk5MDdGOTdFMDU0RUZGMDgwMDc5MDdGOTdFMDQ0MTBGMEU1NkI2MDA5OTA3Rjk3RTA1NDdGRjA4MEE0Cis6NDAwRTA2MDAwNzkwN0Y5N0UwNDQ4MEYwRTU3MTYwMEJDMjE0QzIwRDkwN0Y5NEUwNDQwOEYwRTU3MjYwMEJEMjBERDIwRTkwN0Y5NEUwNDQwOEYwRTU3MzYwMERDMkFGQzIxMkQyMDBFNEY1N0RGNTRCRDJBRkU1NzQ2MDA1MzAyNDAyRDIwRDIwCis6NDAwRTQ2MDBFNTc1NjAxNTkwN0Y5NEUwNTRGN0YwOTA3RjlERTA0NDA4RjA5MDdGOTdFMDU0RjdGMEU1NzY2MDBBRDJDNEMyQzA3NTNBMDE3NTQxMjhFNTc3NjAwN0MyQzRFNEY1NDlGNTNBRTU3ODYwMDNFNEY1NDlFNTc5NjAwMkQyMDhFNUYwCis6NDAwRTg2MDA3QTYwMDhFNTc2NzAwMkY1NDFEMjBFRTU3QjYwMTk5MDdGRDc3NDEzRjA3NDMzRjA3NDE0RjA3NDM0RjA3NDE2RjA3NDM2RjBEMjA0RDIwMkQyMEFFNDkwN0ZEMUYwQTIxNEU0MzNGRjY1Mzc2MDA0OEYzN0QyMEVBMjBERTQzMzA0Cis6NDAwRUM2MDBGRjY1Mzg2MDA0OEYzOEQyMEU5MDdGOUFFMDU0MjA2NTMzNjAwN0UwNTQyMEY1MzNEMjBFOTA3RjlBRTA1NDQwQjUzNTA5RTA1NDQwNjQ0MEY1MzVEMjBFMzAwODM1QzJBRjMwMDIxODkwN0ZCQ0UwMjBFMTI3RTU0OTYwMDk5MDk5Cis6NDAwRjA2MDA3RkJCRjBFNEY1NDlDMjAyQzIwODgwMTY5MDdGQkFFMDIwRTEwRkU1NDk2MDA5OTA3RkJERjBFNEY1NDlEMjAyQzIwOEQyQUYyMDA2MzczMDA0MUI5MDdGQ0FFMDIwRTEyRDkwN0Q0MEUwMTM5MjE2NzU0QjAxOTA3RkNCRTBGNTAzCis6NDAwRjQ2MDA3REQyMDY4MDE5OTA3RkNDRTAyMEUxMTI5MDdDQzBFMDEzOTIxNjc1NEIwMTkwN0ZDREUwRjU3REQyMDYyMDIyMzMyMDAwMDZFNTRCNjU3RDcwMkEzMDA2MUEzMDA0MDlFNDkwN0ZDQkYwQzIwNDgwMDdFNDkwN0ZDREYwRDIwNDJDCis6NDAwRjg2MDBDMjA2RTRGNTdERjU0QjMwMTYwQUMyMTZDMjAwOTA3RkMxNzQwMUYwMzAyMjAzMDIxMEE0MjAwNjAzMDIxMEE0MzAxRTBBOTA3RjlBRTAyMEU1MDMwMjEwQTQzMDBEMDMwMjEwQTQzMDE0MDMwMjEwQTQzMDA0NjIzMDFEMTJBRjhFCis6NDAwRkM2MDA0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjJEQUY0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwRjUxM0U1NEJDMzk1N0Q1MDJBMzAxRDEyQUY0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjE4QUY0Qjc4Cis6NDAxMDA2MDAwNTRCNzQ0MDJGRjU4MkU0MzQ3REY1ODNFMEY1NDdEMjEyODA2QkMyMTJFNDkwN0ZDQkYwQzIwNDgwNjAzMDFEMTJBRjRCMDU0Qjc0QzAyRkY1ODJFNDM0N0NGNTgzRTAxMzkyMkRBRjRCMDU0Qjc0QzAyRkY1ODJFNDM0N0NGNUYyCis6NDAxMDQ2MDA4M0UwRjUxM0U1NEJDMzk1N0Q1MDJBMzAxRDEyQUY0QjA1NEI3NEMwMkZGNTgyRTQzNDdDRjU4M0UwMTM5MjE4QUY0QjA1NEI3NEMwMkZGNTgyRTQzNDdDRjU4M0UwRjU0N0QyMTI4MDA5QzIxMkU0OTA3RkNERjBEMjA0MzAxREY0Cis6NDAxMDg2MDAwNEEyMkQ5MkMzRDIyMkMyQUY4NTEzQzEyMDEyMEQzMDE2MEFDMjE2QzIwMDkwN0ZDMTc0MDFGMEQyQUY5MDdGQzJFMDMwRTEwMzAyMTE3QUU1MUE3MDQ2MzAwQzNGRTU0MDcwM0JBMjA5MzNGNTMxQzIwOUMyMENFNEY1MTI3RTBECis6NDAxMEM2MDAwMDdCMDA3NDI2MjUxMkY5RUUzNDAwRkExMjE1ODdGRjc0ODAyNTEyRjU4MkU0MzQ3QkY1ODNFRkYwMDUxMkU1MTJCNDBDREI5MDdGQzM3NDBDRjA3NTQwMTAyMjc1MUEwMTIyRTUxQTY0MDE3MDQ1MzAwRTNFRTU0MTcwM0FBMkM1Cis6NDAxMTA2MDAwQTMzRjUzREMyMEFDMjBFRTRGNTEyN0UwMDdCMDA3NDMyMjUxMkY5RUUzNDAwRkExMjE1ODdGRjc0ODAyNTEyRjU4MkU0MzQ3QkY1ODNFRkYwMDUxMkU1MTJCNDBDREI5MDdGQzM3NDBDRjA3NTQxMTA3NTFBMDIyMkU1MUM2MENBCis6NDAxMTQ2MDAzMDE1MUNFNEY1MTI3RTAwN0IwMDc0MUIyNTEyRjlFRTM0MDBGQTEyMTU4N0ZGNzQ4MDI1MTJGNTgyRTQzNDdCRjU4M0VGRjAwNTEyRTUxMkI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUxQTIyOTA3RkU5RTAxMjE2MTcxMjQwMDAxMkE3Cis6NDAxMTg2MDBCNDAxMTMyMDAzMTE5RTA2MTIzMzA4MTIyRDA5MTIyMDBBMTM3NjBCMDAwMDEzNkY5MDdGRUJFMDI0RkU2MDE2MTQ2MDQwMjQwMjcwNjk3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjEzNzY5MDdGRUFFMEZGMTIxNzRCOEIxMjYxCis6NDAxMUM2MDA4QTEzODkxNEVBNDk2MDExQUUwMkVFOTA3RkQ0RjBBRjAxRUY5MDdGRDVGMDAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RkVBRTBGRjEyMTc5QThCMTI4QTEzODkxNEVBNDk2MDExQUUwMkVFOTA3RkQ0RjBBRjAxRUY5MDgzCis6NDAxMjA2MDA3RkQ1RjAwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RjAwNzQwMUYwOTA3RkI1RjAwMjEzNzYxMjE0QzMwMjEzNzY5MDdGMDA3NDAxRjA5MDdGQjVGMDAyMTM3NjkwN0ZFOEUwMjQ3RkJGCis6NDAxMjQ2MDA2MDI0MTQ2MDMxMjQwMjcwNUJBMjI2RTQzM0ZGMjVFMEZGQTIyQkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIxMzc2RTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjEzNzY5MDdGRUNFMEY0NTQ4MEZGQzQ1NDI5Cis6NDAxMjg2MDAwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZFOEUwMjRGRTYwMUQyNDAyNjAwMzAyMTM3NjkwN0ZFQTBCCis6NDAxMkM2MDBFMEI0MDEwNUMyMjYwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjEzMTMxM0E3Cis6NDAxMzA2MDA1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjI2ODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQUUwNzAyMEEzCis6NDAxMzQ2MDA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyMjAyODAzMDIxNEMyRTU0MDYzCis6NDAxMzg2MDA2MDAyMTU0MEU1NDg2MDRGNjU0NDcwNDVFNTQyRjQ2MDAyMDU0MkU1NDJDMzk1NTU0MDNEQzJBRjMwMDExODkwN0ZCOEUwMjBFMTI3OTA3RkI3RTU0OEYwQzIwMUU0RjU0OEY1NDJGNTQ0ODAxNjkwN0ZCNkUwMjBFMTBGOTA3RjA3Cis6NDAxM0M2MDBCOUU1NDhGMEQyMDFFNEY1NDhGNTQyRjU0NEQyQUY4MDA2ODU0ODQ0RTRGNTQyRTUyRTYwMkQyMDE5MDc5MDdGOUJFMDMwRTAwRUU1MkY2MDA1RTRGNTJGRDIwQ0U0RjUzRTgwMTNFNTNFRDM5NTU2NTAwQ0U1M0VCNTU2MDU3NTA0Cis6NDAxNDA2MDAyRjAxRDIwQzA1M0VDMjE5RTU0MTYwMDIxNTQxRTU0OTYwNEY2NTQ1NzA0NUU1NDNGNDYwMDIwNTQzRTU0M0MzOTU2RDQwM0RDMkFGMzAwMjE4OTA3RkJDRTAyMEUxMjc5MDdGQkJFNTQ5RjBDMjAyRTRGNTQ5RjU0M0Y1NDU4MEUyCis6NDAxNDQ2MDAxNjkwN0ZCQUUwMjBFMTBGOTA3RkJERTU0OUYwRDIwMkU0RjU0OUY1NDNGNTQ1RDJBRjgwMDY4NTQ5NDVFNEY1NDNFNTNBNjAyRDIwMUEwNzkwN0Y5QUUwMzBFMjBFRTUzQjYwMDVFNEY1M0JEMjBFRTRGNTNGODAxM0U1M0ZEMzVFCis6NDAxNDg2MDA5NTZFNTAwQ0U1M0ZCNTZFMDU3NTNCMDFEMjBFMDUzRkMyMUE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxQzkwN0I0MkUwRjUxRDkwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjAyMkU0OTA3RkM1Cis6NDAxNEM2MDA5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2RTA0NDEwRjA5MDdGOTQ3NDBERjA5MDdGOUQ3NDlBRjA5MDdGOTdFMDU0RkRGMDkwN0Y5NTc0MjNGMDkwN0Y5RTc0ODRGMEU0OTA3RkM3RjA5MDdGQzlGMDkwN0ZDRkYwNzU5ODQwNDNBODlFCis6NDAxNTA2MDAxMEMyMUJDMjA1QzIyMUMyMEJDMjEzRjU3Q0Y1NEFDMjExQzIxNUY1NDJDMjE5RjU0NEY1NDhDMjIzQzIxQ0Y1MkRGNTJGQzIwN0MyMDBDMjFGRjUzRUMyMDlEMjBDRjUyNjkwN0ZDQkYwOTA3RkNERjA5MDdGRDFGMDc1QzA0MDQzCis6NDAxNTQ2MDA0M0E4NDBDMjFEQzIwNkMyMjJDMjBEQzIxNEY1N0RGNTRCQzIxMkMyMTZGNTQzQzIxQUY1NDVGNTQ5QzIyNEMyMUVGNTM5RjUzQkMyMDhDMjAwQzIyMEY1M0ZDMjBBRDIwRTc1MzIwMTkwN0ZERjc0RkZGMDkwN0ZERUYwRDIyOERFCis6NDAxNTg2MDAyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTUzCis6NDAxNUM2MDA4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwQUU5MjU4MkY4RTJGNTExCis6NDAxNjA2MDBGMDA4RTIyMkU1ODMyQUY1ODNFOTkzRjVGMEEzRTk5MzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjc4N0ZFNEY2RDhGRDc1ODE3RDBFCis6NDAxNjQ2MDAwMjE2ODQwMjE2QzlFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxODFBCis6NDAxNjg2MDBDNUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERTM5Cis6NDAxNkM2MDBFNzgwQkU3NTExMDE5MDdGOTJFMDU0RkRGMDkwN0ZBRUUwRkZEMzkyMjZFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NEM1Cis6NDAxNzA2MDAwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDJCQ0QyQkVEMjJEMTIxODdGQzIyN0MyMjVDMjI4MzAyODAzMTIwQTgzOTA3RkQ4RTA2NTEwNjAwOEUwRjUxMDEyMTM3RTgwRUEzMDI3MDdDMjI3MTIxMTdCODBFMDMwMkNEREMyMkMxMkM1Cis6NDAxNzQ2MDAwMDI2ODBENjIyRTRGRTc1MTdGRjc1MTgxOTc1MTkxMkFCMTdBQTE4QTkxOTkwMDAwMTEyMTVBMDY0MDI3MDJEQUQwNjBFRURCNTA3MDEyMjkwMDAwMjEyMTVERjg1RjAxNUY1MTY2MjE1RTUxNTYyMTZFNTE2NjIxNTI5RkRFNTUxCis6NDAxNzg2MDAxNTNBQTkwNTc1MTdGRkY1MTg4OTE5ODBDMzdCMDA3QTAwNzkwMDIyOEYxNUU0RjUxNjc1MTdGRjc1MTgxOTc1MTk4NkFCMTdBQTE4QTkxOTkwMDAwMTEyMTVBMEI0MDMxREFGMTYwNTE2RUZCNTE1MDEyMjEyMTU4NzdFMDAyOUJFCis6NDAxN0M2MDBGRkVFM0FBOTA3NzUxN0ZGRjUxODg5MTk4MEQ0N0IwMDdBMDA3OTAwMjJFNDkwN0Y5M0YwOTA3RjlDRjA5MDdGOTRGMDkwN0Y5RDc0MDJGMDkwN0Y5N0YwRTQ5MDdGOTVGMDkwN0Y5RTc0RkZGMEU0OTA3Rjk4RjA5MDdGOURGMDAzCis6NDAxODA2MDAyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMjc1MzkxRUY5MDI0Cis6NDAxODQ2MDA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjJDNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGRDZFMDU0RkJGMERECis6NDAxODg2MDBFMDQ0MDhGMDMwMkQwNEUwNDQwMkYwN0ZGNDdFMDExMjAwMDY5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJDMTI1Cis6NDAxOEM2MDBBQTAxMUEwMDAzMUIwMzAwMDBDMTI3QzEyQ0MxMjZDMTJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMDMxCis6NDAxOTA2MDAwMDQwQ0QwNjBGMDEwMDAwMDEwMjAwMDEwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc4Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6NDAxQTA2MDA3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6NDAxQTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6NDAxQTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6NDAxQUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTgzMTAwMDIxQjc4Cis6MDkxQjA2MDAwNDAwMDIxODA3MDAwMjE4NTgzRgorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHguSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOHguSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMGY3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eC5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMTJGN0JGCis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDA3RjBFNDkwN0Y5OEYwMjIxNQorOjEwMDA0NjAwMzAwOTE4MTIxMzFCRUZDMzk1M0M0MDAzMDIwMEQ4OTBFOQorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMDlDMjAwODA3NzMwMDMzQjkwN0ZGNgorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMTMxQkVGQzM5NDQwNTA2NDkwN0VFRQorOjEwMDA3NjAwNDBFMDEzOTIwOTkwN0ZDN0UwMTRGNTE5MjAwMDExNjA0MworOjEwMDA4NjAwMEZGNTA4N0U3RTdGNDE3NTBDN0U3NTBENDExMjBDQkEwOAorOjEwMDA5NjAwQzIwM0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzI0OAorOjEwMDBBNjAwMTIxMzFCRUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMDlCMAorOjEwMDBCNjAwOTA3RkM5RTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0RDOAorOjEwMDBDNjAwN0ZDMTc1MEM3RDc1MERDMTEyMENCQUQyMDNFNDkwN0YwOQorOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTYwMTIxMUQ2OEZCRAorOjEwMDBFNjAwMTkxMjEzMjc4RjM2RTUxOUMzOTUzQTUwMEYxMjEyRUJFMgorOjEwMDBGNjAwRUYzMEUwMDhFNTM2MjBFNzAzMzAwQjVFQzIwQkU1MTk2QQorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMTMwMEE1Cis6MDMwMDAwMDAwMjBFMDBFRAorOjQwMDEwNjAwNjA1OEI0ODAwMzQzMzYwMkU1MzYzMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0U3RjgwNzUwQzdFNzUwRDgwQUYzNjEyMEY0QkU1MTkyNUUwOTA3RkI3RjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDhENAorOjQwMDE0NjAwOTA3RTgwRTUzNkYwN0U3RTdGODE3NTBDN0U3NTBEODExMjBDREZFNTE5MDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwNTAzMDIwM0MxQzIwNUU0RjUxODc0NDAyNTE4RjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxODdDMDA3QjAxN0FGMQorOjQwMDE4NjAwN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEVEMjA1MThFNTE4QjQyMEQ3OTA3RTAwRTA2MDY4OTA3RTAzRTA2MDI0N0YwMUU0RkQxMjExQjE3RjAzN0RDRDEyMTFCMTQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMEU0OTBFMAorOjQwMDFDNjAwN0UxM0YwODAzMDkwN0UwMUUwRkYxMjEwMzU5MDdFMDJFMEZGMTIxMDVCN0YwMTkwN0UxMUUwRkQxMjExQjE3RjAzN0QwNzEyMTFCMTQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0Y5ODc0MTJGMEU1NDA0NDA2OTAzRQorOjQwMDIwNjAwQzAwMEYwOTA3RTAzRTA3MDA2OTA3RTEzRTA3MDA4RTQ5MDdFMTNGMDc1MjVGRjkwN0UwNUUwNjAxMkEzRTA1NDNGRjU0NDkwN0Y5ODc0MTNGMDkwQzAwMEU1NDRGMDkwN0UwN0UwNjAyQkEzRTA2MDA1NDM0MjgwODAwMzUzNDJEQQorOjQwMDI0NjAwN0Y1MzQyRkM5MDdFMDlFMDYwMTE0MzQyMDJBM0UwRkYxMjEwQTc5MDdFMEJFMEZGMTIxMENEQUY0MjEyMTA4MTkwN0UwM0UwNjAwODUzNDI3RkFGNDIxMjEwODE5MDdFMENFMDYwMThBM0UwNjAwNTQzNDYwMjgwMDM1MzQ2RkRCNAorOjQwMDI4NjAwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzQ2MDE4MDAzNTM0NkZFOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTEyRTBGNTNBQTNFMDEzOTIwREEzRTBGNTNDQTNFMDYwMDU0MzQ2MTA4QgorOjQwMDJDNjAwODAwMzUzNDZFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxNkUwNjAzMjUzNDRCRjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjEyREZFRjU0RkU5MEMwMDBGMDUzM0VGREU0RkZBRDNFMTIwRgorOjQwMDMwNjAwMTFCMUU0RjUyQUY1MjlEMjA3OTA3RTE3RTA2MDBGNDMzRTAyRTRGRkFEM0UxMjExQjE3NTI5MDFEMjA3OTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTU0MDQ0MDQ5MEMwMDBGMEQyMDA5MDdFMTlFMDYwMTE0MzQ0NDA5MDdGOThGMgorOjQwMDM0NjAwNzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzM0VGRUU0RkZBRDNFMTIxMUIxNzUyQjAxRDIwNzkwN0UxQkUwNjAwRjQzM0UwMUU0RkZBRDNFMTIxMUIxRTRGNTJCRDIwNzkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTI4NAorOjQwMDM4NjAwRjBFNTQwNDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIwQjkwN0UxRUUwNjAwODc1MkMwMUU0RjUzOEQyMDc5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjAzRTQ5MDdGQ0ZGMDMwMUE1MkU1Mzg5MgorOjQwMDNDNjAwNjAwMjE1MzgyMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyRDIxMzEyMTJERkVGNTQwMUY1MTk2NTJBNjAwNTg1MTkyQUQyMDcxMjEzMzNFRjU0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDExMTI3RgorOjQwMDQwNjAwMTMzM0VGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RUMzMDBBMTgxMjEzNkZFRkMzOTUzRDQwMDMwMjA0QUU5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM2RkVGQzM1QQorOjQwMDQ0NjAwOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQwNEMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzZGRUZDMzk0NDA1MDI5OTBCQworOjQwMDQ4NjAwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDA0RDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzNjEyMTIyMDhGMTkxMjEzN0I4RjM3RTUxOUMzOTUyQgorOjQwMDRDNjAwM0I1MDBGMTIxMzU3RUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRjg0RTUwMworOjQwMDUwNjAwMTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQyOUU1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTdDMjA2RTRGOAorOjQwMDU0NjAwRjUxODc0QzAyNTE4RjU4MkU0MzQ3QkY1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5MjAyNDIwRjlFQzM0N0VGQUVGMTIwRUQyMDUxOEU1MThCNDIwRDc5MDdFMjBFMDYwNjg5MDdFMjNFMDYwMjQ3RjAxRTRGRDEyMTFGQjdGMDMyOQorOjQwMDU4NjAwN0RDRDEyMTFGQjQzNDc4MDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEU0OTA3RTMzRjA4MDMwOTA3RTIxRTBGRjEyMTExOTkwN0UyMkUwRkYxMjExM0Y3RjAxOTA3RTMxRTBGRDEyMTFGQjdGMDM3RDA3MTIxMUZCNDM0NzgwOTA0OAorOjQwMDVDNjAwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0Y5ODc0MEFGMEU1NDE0NDA2OTBDMDAwRjA5MDdFMjNFMDcwMDY5MDdFMzNFMDcwMDhFNDkwN0UzM0YwNzUyRUZGOTA3RTI1RTA2MDEyQTNFMDU0M0ZGNTQ1OTA3Rjk4NzQwQkYwOTBFQgorOjQwMDYwNjAwQzAwMEU1NDVGMDkwN0UyN0UwNjAyQkEzRTA2MDA1NDM0MzgwODAwMzUzNDM3RjUzNDNGQzkwN0UyOUUwNjAxMTQzNDMwMkEzRTBGRjEyMTE2NTkwN0UyQkUwRkYxMjExOEJBRjQzMTIxMEYzOTA3RTIzRTA2MDA4NTM0MzdGQUZGRQorOjQwMDY0NjAwNDMxMjEwRjM5MDdFMkNFMDYwMThBM0UwNjAwNTQzNDcwMjgwMDM1MzQ3RkQ5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMkVFMDYwMThBM0UwNjAwNTQzNDcwMTgwMDM1MzQ3RkU5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBENAorOjQwMDY4NjAwOTA3RTMyRTBGNTNCQTNFMDEzOTIwRUEzRTBGNTNEQTNFMDYwMDU0MzQ3MTA4MDAzNTM0N0VGOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTM2RTA2MDMyNTM0NUJGOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y3OQorOjQwMDZDNjAwOTg3NDA5RjAxMjEzNEJFRjU0RkU5MEMwMDBGMDUzM0ZGREU0RkZBRDNGMTIxMUZCRTRGNTMzRjUzMkQyMDg5MDdFMzdFMDYwMEY0MzNGMDJFNEZGQUQzRjEyMTFGQjc1MzIwMUQyMDg5MDdFMzhFMDYwMTA5MDdGOTg3NDBBRjA0MworOjQwMDcwNjAwRTU0MTQ0MDQ5MEMwMDBGMEQyMDA5MDdFMzlFMDYwMTE0MzQ1NDA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3RTNBRTA2MDBGNTMzRkZFRTRGRkFEM0YxMjExRkI3NTM0MDFEMjA4OTA3RTNCRTA2MDBGNDMzRjAxRTRFOQorOjQwMDc0NjAwRkZBRDNGMTIxMUZCRTRGNTM0RDIwODkwN0UzQ0UwNjAwRTkwN0Y5ODc0MEFGMEU1NDE0NDAyOTBDMDAwRjA5MDdFM0RFMDYwMDJEMjBDOTA3RTNFRTA2MDA4NzUzNTAxRTRGNTM5RDIwODkwN0UzRkUwNjAxMTkwN0ZENzc0MTM4OQorOjQwMDc4NjAwRjA3NDMzRjA3NDE2RjA3NDM2RjBEMjA0RTQ5MDdGRDFGMDMwMUE1MkU1Mzk2MDAyMTUzOTMwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJDMjEzMTIxMzRCRUY1NDAxRjUxOTY1MzM2MDA1ODUxOTMzRDI3OQorOjQwMDdDNjAwMDgxMjEzODdFRjU0ODBGNTE5NjUyRjYwMDU4NTE5MkZEMjA4MzAwRTExMTIxMzg3RUY1NDEwRjUxOTY1MkU2MDA1ODUxOTJFRDIwODMwMUEyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTE1OTA3QjQyRTBGNTE2OTAzNQorOjQwMDgwNjAwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDkyMEU1MEE3MDQwMzAwNzM5RTUzODcwMzVDMjA3RjUxODdFMDA3QjAwNzQyNDI1MThGOUVFMzQwMEZBMTIwRThDRkY3NDgwMjVCRAorOjQwMDg0NjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzgxMEU0RjUyQzc1MEEwMTIyRTUwQTY0MDE3MDQwMzAwODM5RTUzOTcwMzVDMjA4RjUxODdFMDA3QjAwNzQyRDI1MThGOUVFMzQwMEZBMTI5NworOjQwMDg4NjAwMEU4Q0ZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzkxMEU0RjUzNTc1MEEwMjIyRTUwQTY0MDI3MDM2MzAxNDJGQzIxNEY1MTg3RTAwN0IwMDc0MEUyNTE4RjlFRTM0MDA4MworOjQwMDhDNjAwRkExMjBFOENGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA1REI5MDdGQzM3NDA1RjA3NTBBMDMyMkU1MTU2MDMwMTUxNUU0RjUxODdFMDA3QjAwNzQxNDI1MThGOUVFMzQwMEZBMTIwRThDRkY3NDgwMjVGMgorOjQwMDkwNjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUwQTIyOTA3RkU5RTAxMjBFRTQwQTA4MDAwQTdDMDEwQUU4MDMwOTQ0MDYwOUZCMDgwOUY1MDkwOUREMEEwOUVDMEIwMDAwMEIzNzkwN0YzRAorOjQwMDk0NjAwRUJFMDI0RkU2MDE5MTQ2MDYxMjQwMjYwMDMwMjA5RDM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjdCNzU4MzE5RjA3NTgyNzQ3NTgzMTlCMgorOjQwMDk4NjAwRjA3NTgyNjY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwQjNFOTA3RkVBRTBGRjEyMEYwQUVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjA4NQorOjQwMDlDNjAwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0YwMEU1MDlGMDkwN0ZCNTc0MDFGMDAyMEIzRTkwN0ZFQUUwRjUwOTAyMEIzRTEyMEI0NjAyMEIzRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNQorOjQwMEEwNjAwMEIzRTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTBFNDMzRkYyNUUwRkZBMjE2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0VFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0YwNAorOjQwMEE0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkU4RTAyNEZFNjAxRDI0MDIwRgorOjQwMEE4NjAwNjAwMzAyMEIzRTkwN0ZFQUUwQjQwMTA1QzIxMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZCNgorOjQwMEFDNjAwRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTA4MDNGOTA3RkI0RTA0NDAxRjA0OQorOjQwMEIwNjAwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJENAorOjQwMEI0NjAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUyNDc1MTgwMTdCMDA3NDI0MjUxOEY5RTQzNDAwRkE4QgorOjQwMEI4NjAwRTQxMjBFRDIwNTE4RTUxOEI0MDlFQTc1M0EwMUU0RjUzOEY1MTNGNTM2QzIwN0MyMEJDMjA1QzIwMEMyMDlDMjEzOTA3Rjk4NzQxM0YwNzU0NDAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExQjE3RjEwOEY0MjEyMTA4MTkwN0YwMgorOjQwMEJDNjAwOTg3NDEyRjA3RjAxOEY0MEVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQxNEYwNzU0NjgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMUIxRTRGRjdFQTNBRDA2OEQzRTEyMTFCMTkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTE4RQorOjQwMEMwNjAwQjE3RjAxMTIxMjZBN0YwMzdEMDcxMjExQjEyMDFCMDMwMjBDQjc3NTJEMDE3NTE4MDE3QjAwNzQyRDI1MThGOUU0MzQwMEZBRTQxMjBFRDIwNTE4RTUxOEI0MDlFQTc1M0IwMUU0RjUzOUY1MTNGNTM3QzIwOEMyMENDMjA2QzJDRAorOjQwMEM0NjAwMDBDMjBBQzIxMzkwN0Y5ODc0MEJGMDc1NDUwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUZCN0YxMDhGNDMxMjEwRjM5MDdGOTg3NDBBRjA3RjAxOEY0MUVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQwQ0YwNzU0NzgwOTBDMDAwNzQ0RQorOjQwMEM4NjAwODBGMDBGRTRGRDEyMTFGQkU0RkY3RUEzQUQwNjhEM0YxMjExRkI5MDdGOTg3NDA5RjA5MEMwMDBFNEYwN0YwNTdEN0YxMjExRkI3RjAxMTIxMjhCN0YwMzdEMDcxMjExRkJEMjEyMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJBNQorOjQwMENDNjAwRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0YyMAorOjQwMEQwNjAwOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU1QworOjQwMEQ0NjAwODZERkY3MDU4NkQyQUYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkQyMTk5MDdGOTJFMDQ0MDJGMDkwN0ZBRUUwRkZEMzkyMTBFNDMzRkVFRjRFRjA4OQorOjQwMEQ4NjAwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDIxQTEyMTI0NUMyMTFFNEY1MEJGNTEzQzIxN0MyMTJENAorOjQwMERDNjAwOTA3RkExMDRGMDkwN0ZEOEUwNjUxNzYwMTAzMDEyMDVEMjFBMTIwMDQ2OTA3RkQ4RTBGNTE3ODAwODMwMTIwNUMyMUExMjAwNDYzMDExMDdDMjExMTIwOTIxODBENjMwMThEM0MyMTgxMjEzOTM4MENDMjI3ODdGRTRGNkQ4RkRDNworOjQwMEUwNjAwNzU4MTQ3MDIwRTQ3MDIwRDZGRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDBGNQorOjQwMEU0NjAwODA5MDEyQUNFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0ExRQorOjQwMEU4NjAwREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTVCOAorOjQwMEVDNjAwODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNDMQorOjQwMEYwNjAwQTNBMzgwREY4RjE4RTRGNTE5NzUxQUZGNzUxQjE5NzUxQzg2QUIxQUFBMUJBOTFDOTAwMDAxMTIwRUE1QjQwMzFEQUYxOTA1MTlFRkI1MTgwMTIyMTIwRThDN0UwMDI5RkZFRTNBQTkwNzc1MUFGRkY1MUI4OTFDODBENDdCMDBBNQorOjQwMEY0NjAwN0EwMDc5MDAyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjAwMzYwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzI3OEYxQUVGNDIzNjgwQ0EyMjhGMUFGQworOjQwMEY4NjAwMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIxMzNGMDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjAwQTEyMTM3QjhGMUFFRjQyMzc4MENBMjJDMEUwQzA4M0MwODJDMDg1QzA4OAorOjQwMEZDNjAwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDBDNgorOjQwMTAwNjAwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTA4QQorOjQwMTA0NjAwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMUYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTM0OQorOjQwMTA4NjAwRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDREOQorOjQwMTBDNjAwNTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQUYwOTAyQQorOjQwMTEwNjAwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA4RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBBRgorOjQwMTE0NjAwQzAwMDc0QkZGMDkwN0Y5ODc0MDlGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBDRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0ZFQworOjQwMTE4NjAwOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEVGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTA3NQorOjQwMTFDNjAwQzAwMEVGRjA5MDdGOTg3NDE1RjA5MEMwMDBFREYwMjIxMjEzMEY4RjFBMTIxMzBGOEYxQkU1MUE2NTFCNjAxMjEyMTMwRjhGMUFFNTFBNjUxQjYwMDcxMjEzMEY4RjFCODBFOEFGMUEyMjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTA5OAorOjQwMTIwNjAwQzAwMEYwOTA3Rjk4NzQwRkYwOTBDMDAwRUZGMDkwN0Y5ODc0MERGMDkwQzAwMEVERjAyMjEyMTM2MzhGMUExMjEzNjM4RjFCRTUxQTY1MUI2MDEyMTIxMzYzOEYxQUU1MUE2NTFCNjAwNzEyMTM2MzhGMUI4MEU4QUYxQTIyOTBDOAorOjQwMTI0NjAwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFBMDRFMDQ0MDJGMDdGRjQ3RTAxMTIxMkM4OTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyQUUwN0U0RkZFNTNFNTQ3RkZEMTIxMUIxOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUzRTQ0ODBFOAorOjQwMTI4NjAwRkQxMjExQjEyMkFFMDdFNEZGRTUzRjU0N0ZGRDEyMTFGQjkwN0Y5ODc0MDlGMDkwQzAwMEVFRjBFNEU1M0Y0NDgwRkQxMjExRkIyMjA1MEUwMjAwMDAwMDAwMDMxNDAzMDAwMEMxMTFDMTE4QzE5NUMxMTBDMTE2MDEwQTAwQzE5QworOjQwMTJDNjAwOUIwMDhFMTg4RjE5RTUxOTE1MTlBRTE4NzAwMjE1MTg0RTYwMDUxMjBENEU4MEVFMjI5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMDAwMDAwMDAwMjBGRTcwMDAyMTM4QQorOjQwMTMwNjAwMDQwMDAyMEZCRDAwMDIxMDBFOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOEYwOTA1MAorOjQwMTM0NjAwQzAwMEUwRkYyMjkwN0Y5ODc0MDlGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MERGMDkwQzAwMEUwRkZDNQorOjQwMTM4NjAwMjI5MDdGOTg3NDBFRjA5MEMwMDBFMEZGMjIxMjAwMDMxMjBENUYxMjBCNDYyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxMDAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3NgorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMDA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGNAorOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhhLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4YS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE0OTMyZQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4YS5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMTJGOUJECis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDA3RjBFNDkwN0Y5OEYwMjIxNQorOjEwMDA0NjAwMzAwOTE4MTIxMzI3RUZDMzk1M0M0MDAzMDIwMEQ4OTBERAorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMDlDMjAwODA3NzMwMDMzQjkwN0ZGNgorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMTMyN0VGQzM5NDQwNTA2NDkwN0VFMgorOjEwMDA3NjAwNDBFMDEzOTIwOTkwN0ZDN0UwMTRGNTE5MjAwMDExNjA0MworOjEwMDA4NjAwMEZGNTA4N0U3RTdGNDE3NTBDN0U3NTBENDExMjBDQzhGQQorOjEwMDA5NjAwQzIwM0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzI0OAorOjEwMDBBNjAwMTIxMzI3RUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMDlBNAorOjEwMDBCNjAwOTA3RkM5RTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0RDOAorOjEwMDBDNjAwN0ZDMTc1MEM3RDc1MERDMTEyMENDOEQyMDNFNDkwN0ZGQgorOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTYwMTIxMUU0OEZBRgorOjEwMDBFNjAwMTkxMjEzMzM4RjM2RTUxOUMzOTUzQTUwMEYxMjEzMEZCMQorOjEwMDBGNjAwRUYzMEUwMDhFNTM2MjBFNzAzMzAwQjVFQzIwQkU1MTk2QQorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMTMwMEE1Cis6MDMwMDAwMDAwMjBFMEVERgorOjQwMDEwNjAwNjA1OEI0ODAwMzQzMzYwMkU1MzYzMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0U3RjgwNzUwQzdFNzUwRDgwQUYzNjEyMEY1OUU1MTkyNUUwOTA3RkI3RjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDhDNgorOjQwMDE0NjAwOTA3RTgwRTUzNkYwN0U3RTdGODE3NTBDN0U3NTBEODExMjBDRURFNTE5MDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwNTAzMDIwM0MxQzIwNUU0RjUxODc0NDAyNTE4RjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxODdDMDA3QjAxN0FFMworOjQwMDE4NjAwN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEVFMDA1MThFNTE4QjQyMEQ3OTA3RTAwRTA2MDY4OTA3RTAzRTA2MDI0N0YwMUU0RkQxMjExQkY3RjAzN0RDRDEyMTFCRjQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMEU0OTBCNgorOjQwMDFDNjAwN0UxM0YwODAzMDkwN0UwMUUwRkYxMjEwNDM5MDdFMDJFMEZGMTIxMDY5N0YwMTkwN0UxMUUwRkQxMjExQkY3RjAzN0QwNzEyMTFCRjQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0Y5ODc0MTJGMEU1NDA0NDA2OTAwNgorOjQwMDIwNjAwQzAwMEYwOTA3RTAzRTA3MDA2OTA3RTEzRTA3MDA4RTQ5MDdFMTNGMDc1MjVGRjkwN0UwNUUwNjAxMkEzRTA1NDNGRjU0NDkwN0Y5ODc0MTNGMDkwQzAwMEU1NDRGMDkwN0UwN0UwNjAyQkEzRTA2MDA1NDM0MjgwODAwMzUzNDJEQQorOjQwMDI0NjAwN0Y1MzQyRkM5MDdFMDlFMDYwMTE0MzQyMDJBM0UwRkYxMjEwQjU5MDdFMEJFMEZGMTIxMERCQUY0MjEyMTA4RjkwN0UwM0UwNjAwODUzNDI3RkFGNDIxMjEwOEY5MDdFMENFMDYwMThBM0UwNjAwNTQzNDYwMjgwMDM1MzQ2RkQ3QworOjQwMDI4NjAwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzQ2MDE4MDAzNTM0NkZFOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTEyRTBGNTNBQTNFMDEzOTIwREEzRTBGNTNDQTNFMDYwMDU0MzQ2MTA4QgorOjQwMDJDNjAwODAwMzUzNDZFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxNkUwNjAzMjUzNDRCRjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjEyRURFRjU0RkU5MEMwMDBGMDUzM0VGREU0RkZBRDNFMTIwMQorOjQwMDMwNjAwMTFCRkU0RjUyQUY1MjlEMjA3OTA3RTE3RTA2MDBGNDMzRTAyRTRGRkFEM0UxMjExQkY3NTI5MDFEMjA3OTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTU0MDQ0MDQ5MEMwMDBGMEQyMDA5MDdFMTlFMDYwMTE0MzQ0NDA5MDdGOThENgorOjQwMDM0NjAwNzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzM0VGRUU0RkZBRDNFMTIxMUJGNzUyQjAxRDIwNzkwN0UxQkUwNjAwRjQzM0UwMUU0RkZBRDNFMTIxMUJGRTRGNTJCRDIwNzkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTI2OAorOjQwMDM4NjAwRjBFNTQwNDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIwQjkwN0UxRUUwNjAwODc1MkMwMUU0RjUzOEQyMDc5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjAzRTQ5MDdGQ0ZGMDMwMUE1MkU1Mzg5MgorOjQwMDNDNjAwNjAwMjE1MzgyMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyRDIxMzEyMTJFREVGNTQwMUY1MTk2NTJBNjAwNTg1MTkyQUQyMDcxMjEzM0ZFRjU0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDExMTI2NQorOjQwMDQwNjAwMTMzRkVGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RUMzMDBBMTgxMjEzN0JFRkMzOTUzRDQwMDMwMjA0QUU5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM3QkVGQzMzNgorOjQwMDQ0NjAwOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQxMkMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzdCRUZDMzk0NDA1MDI5OTBBMgorOjQwMDQ4NjAwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDEyRDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzNjEyMTIyRThGMTkxMjEzODc4RjM3RTUxOUMzOTUwMworOjQwMDRDNjAwM0I1MDBGMTIxMzYzRUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRjkyRTVFOQorOjQwMDUwNjAwMTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQzN0U1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTdDMjA2RTRFQQorOjQwMDU0NjAwRjUxODc0QzAyNTE4RjU4MkU0MzQ3QkY1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5MjAyNDIwRjlFQzM0N0VGQUVGMTIwRUUwMDUxOEU1MThCNDIwRDc5MDdFMjBFMDYwNjg5MDdFMjNFMDYwMjQ3RjAxRTRGRDEyMTIwOTdGMDMwQworOjQwMDU4NjAwN0RDRDEyMTIwOTQzNDc4MDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEU0OTA3RTMzRjA4MDMwOTA3RTIxRTBGRjEyMTEyNzkwN0UyMkUwRkYxMjExNEQ3RjAxOTA3RTMxRTBGRDEyMTIwOTdGMDM3RDA3MTIxMjA5NDM0NzgwOTBGRgorOjQwMDVDNjAwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0Y5ODc0MEFGMEU1NDE0NDA2OTBDMDAwRjA5MDdFMjNFMDcwMDY5MDdFMzNFMDcwMDhFNDkwN0UzM0YwNzUyRUZGOTA3RTI1RTA2MDEyQTNFMDU0M0ZGNTQ1OTA3Rjk4NzQwQkYwOTBFQgorOjQwMDYwNjAwQzAwMEU1NDVGMDkwN0UyN0UwNjAyQkEzRTA2MDA1NDM0MzgwODAwMzUzNDM3RjUzNDNGQzkwN0UyOUUwNjAxMTQzNDMwMkEzRTBGRjEyMTE3MzkwN0UyQkUwRkYxMjExOTlBRjQzMTIxMTAxOTA3RTIzRTA2MDA4NTM0MzdGQUZEMworOjQwMDY0NjAwNDMxMjExMDE5MDdFMkNFMDYwMThBM0UwNjAwNTQzNDcwMjgwMDM1MzQ3RkQ5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMkVFMDYwMThBM0UwNjAwNTQzNDcwMTgwMDM1MzQ3RkU5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBDNQorOjQwMDY4NjAwOTA3RTMyRTBGNTNCQTNFMDEzOTIwRUEzRTBGNTNEQTNFMDYwMDU0MzQ3MTA4MDAzNTM0N0VGOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTM2RTA2MDMyNTM0NUJGOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y3OQorOjQwMDZDNjAwOTg3NDA5RjAxMjEzNTdFRjU0RkU5MEMwMDBGMDUzM0ZGREU0RkZBRDNGMTIxMjA5RTRGNTMzRjUzMkQyMDg5MDdFMzdFMDYwMEY0MzNGMDJFNEZGQUQzRjEyMTIwOTc1MzIwMUQyMDg5MDdFMzhFMDYwMTA5MDdGOTg3NDBBRjAxOQorOjQwMDcwNjAwRTU0MTQ0MDQ5MEMwMDBGMEQyMDA5MDdFMzlFMDYwMTE0MzQ1NDA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3RTNBRTA2MDBGNTMzRkZFRTRGRkFEM0YxMjEyMDk3NTM0MDFEMjA4OTA3RTNCRTA2MDBGNDMzRjAxRTREQQorOjQwMDc0NjAwRkZBRDNGMTIxMjA5RTRGNTM0RDIwODkwN0UzQ0UwNjAwRTkwN0Y5ODc0MEFGMEU1NDE0NDAyOTBDMDAwRjA5MDdFM0RFMDYwMDJEMjBDOTA3RTNFRTA2MDA4NzUzNTAxRTRGNTM5RDIwODkwN0UzRkUwNjAxMTkwN0ZENzc0MTM3QQorOjQwMDc4NjAwRjA3NDMzRjA3NDE2RjA3NDM2RjBEMjA0RTQ5MDdGRDFGMDMwMUE1MkU1Mzk2MDAyMTUzOTMwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJDMjEzMTIxMzU3RUY1NDAxRjUxOTY1MzM2MDA1ODUxOTMzRDI2RAorOjQwMDdDNjAwMDgxMjEzOTNFRjU0ODBGNTE5NjUyRjYwMDU4NTE5MkZEMjA4MzAwRTExMTIxMzkzRUY1NDEwRjUxOTY1MkU2MDA1ODUxOTJFRDIwODMwMUEyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTE1OTA3QjQyRTBGNTE2OTAxRAorOjQwMDgwNjAwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDkyMEU1MEE3MDQwMzAwNzM5RTUzODcwMzVDMjA3RjUxODdFMDA3QjAwNzQyNDI1MThGOUVFMzQwMEZBMTIwRTlBRkY3NDgwMjVBRgorOjQwMDg0NjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzgxMEU0RjUyQzc1MEEwMTIyRTUwQTY0MDE3MDQwMzAwODM5RTUzOTcwMzVDMjA4RjUxODdFMDA3QjAwNzQyRDI1MThGOUVFMzQwMEZBMTI5NworOjQwMDg4NjAwMEU5QUZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzkxMEU0RjUzNTc1MEEwMjIyRTUwQTY0MDI3MDM2MzAxNDJGQzIxNEY1MTg3RTAwN0IwMDc0MEUyNTE4RjlFRTM0MDA3NQorOjQwMDhDNjAwRkExMjBFOUFGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA1REI5MDdGQzM3NDA1RjA3NTBBMDMyMkU1MTU2MDMwMTUxNUU0RjUxODdFMDA3QjAwNzQxNDI1MThGOUVFMzQwMEZBMTIwRTlBRkY3NDgwMjVENgorOjQwMDkwNjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUwQTIyOTA3RkU5RTAxMjBFRjIwQTA4MDAwQTdDMDEwQUU4MDMwOTQ0MDYwOUZCMDgwOUY1MDkwOUREMEEwOUVDMEIwMDAwMEIzNzkwN0YyRgorOjQwMDk0NjAwRUJFMDI0RkU2MDE5MTQ2MDYxMjQwMjYwMDMwMjA5RDM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjdCNzU4MzE5RjA3NTgyNzQ3NTgzMTlCMgorOjQwMDk4NjAwRjA3NTgyNjY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwQjNFOTA3RkVBRTBGRjEyMEYxOEVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjA3NworOjQwMDlDNjAwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0YwMEU1MDlGMDkwN0ZCNTc0MDFGMDAyMEIzRTkwN0ZFQUUwRjUwOTAyMEIzRTEyMEI0NjAyMEIzRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNQorOjQwMEEwNjAwMEIzRTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTBFNDMzRkYyNUUwRkZBMjE2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0VFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0YwNAorOjQwMEE0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkU4RTAyNEZFNjAxRDI0MDIwRgorOjQwMEE4NjAwNjAwMzAyMEIzRTkwN0ZFQUUwQjQwMTA1QzIxMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZCNgorOjQwMEFDNjAwRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTA4MDNGOTA3RkI0RTA0NDAxRjA0OQorOjQwMEIwNjAwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJENAorOjQwMEI0NjAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUyNDc1MTgwMTdCMDA3NDI0MjUxOEY5RTQzNDAwRkE4QgorOjQwMEI4NjAwRTQxMjBFRTAwNTE4RTUxOEI0MDlFQTc1M0EwMUU0RjUzOEY1MTNGNTM2QzIwN0MyMEJDMjA1QzIwMEMyMDlDMjEzOTA3Rjk4NzQxM0YwNzU0NDAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExQkY3RjEwOEY0MjEyMTA4RjkwN0ZEOAorOjQwMEJDNjAwOTg3NDEyRjA3RjAxOEY0MEVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQxNEYwNzU0NjgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMUJGRTRGRjdFQTNBRDA2OEQzRTEyMTFCRjkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTE3MgorOjQwMEMwNjAwQkY3RjAxMTIxMjc4N0YwMzdEMDcxMjExQkY3RjEzN0QwMTEyMTFCRjIwMUIwMzAyMENDNTc1MkQwMTc1MTgwMTdCMDA3NDJEMjUxOEY5RTQzNDAwRkFFNDEyMEVFMDA1MThFNTE4QjQwOUVBNzUzQjAxRTRGNTM5RjUxM0Y1MzdCNworOjQwMEM0NjAwQzIwOEMyMENDMjA2QzIwMEMyMEFDMjEzOTA3Rjk4NzQwQkYwNzU0NTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjEyMDk3RjEwOEY0MzEyMTEwMTkwN0Y5ODc0MEFGMDdGMDE4RjQxRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDBDRjAwRQorOjQwMEM4NjAwNzU0NzgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMjA5RTRGRjdFQTNBRDA2OEQzRjEyMTIwOTkwN0Y5ODc0MDlGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTIwOTdGMDExMjEyOTk3RjAzN0QwNzEyMTIwOTdGMTM3RDAxMTIxMjA5RDI4RAorOjQwMENDNjAwMTIyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU2OAorOjQwMEQwNjAwODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU3NworOjQwMEQ0NjAwODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJEMjE5OTA3RjkyRTA0NDAyRjAwQQorOjQwMEQ4NjAwOTA3RkFFRTBGRkQzOTIxMEU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRkQyMUE1NgorOjQwMERDNjAwMTIxMjUzQzIxMUU0RjUwQkY1MTNDMjE3QzIxMjkwN0ZBMTA0RjA5MDdGRDhFMDY1MTc2MDEwMzAxMjA1RDIxQTEyMDA0NjkwN0ZEOEUwRjUxNzgwMDgzMDEyMDVDMjFBMTIwMDQ2MzAxMTA3QzIxMTEyMDkyMTgwRDYzMDE4RDM4QQorOjQwMEUwNjAwQzIxODEyMTM5RjgwQ0MyMjc4N0ZFNEY2RDhGRDc1ODE0NzAyMEU1NTAyMEQ3REU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAzMQorOjQwMEU0NjAwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxMkJBRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzgyOAorOjQwMEU4NjAwQ0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU0OAorOjQwMEVDNjAwODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDFERQorOjQwMEYwNjAwOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOEYxOEU0RjUxOTc1MUFGRjc1MUIxOTc1MUM4NkFCMUFBQTFCQTkxQzkwMDAwMTEyMEVCM0I0MDMxREFGMTkwNTE5RUZCNTE4MDEyMjEyMEU5QTdFMDAyOUZGRUVCNgorOjQwMEY0NjAwM0FBOTA3NzUxQUZGRjUxQjg5MUM4MEQ0N0IwMDdBMDA3OTAwMjI4RjFBMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIwMDM2MDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjA3QgorOjQwMEY4NjAwMEExMjEzMzM4RjFBRUY0MjM2ODBDQTIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMTM0QjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzODc4RjFBRUZGOAorOjQwMEZDNjAwNDIzNzgwQ0EyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTEyMworOjQwMTAwNjAwNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTgzMworOjQwMTA0NjAwNzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBDMAorOjQwMTA4NjAwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRCMworOjQwMTBDNjAwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJDQworOjQwMTEwNjAwRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwOEYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU4MgorOjQwMTE0NjAwNTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA5RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQ0YwOTBDMworOjQwMTE4NjAwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBFRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwRTVDQworOjQwMTFDNjAwNDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIxMzFCOEYxQTEyMTMxQjhGMUJFNTFBNjUxQjYwMTIxMjEzMUI4RjFBRTUxQTY1MUI2MDA3MTIxMzFCOEYxQjgwRThFRAorOjQwMTIwNjAwQUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MEZGMDkwQzAwMEVGRjA5MDdGOTg3NDBERjA5MEMwMDBFREYwMjIxMjEzNkY4RjFBMTIxMzZGOEYxQkU1MUE2NTFCNjAxMjEyMTM2RjhGMUFFNTFBNjVBRAorOjQwMTI0NjAwMUI2MDA3MTIxMzZGOEYxQjgwRThBRjFBMjI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMTJENjkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMkFFMDdFNEZGRTUzRTU0N0ZGRDEyMTFCRjkwN0YyRgorOjQwMTI4NjAwOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEZEMTIxMUJGMjJBRTA3RTRGRkU1M0Y1NDdGRkQxMjEyMDk5MDdGOTg3NDA5RjA5MEMwMDBFRUYwRTRFNTNGNDQ4MEZEMTIxMjA5MjIwNTBFMDIwMDAwMDAwMDAzMTQwMzAwMDBERgorOjQwMTJDNjAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlCMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA1MTIwRDVDODBFRTIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyNTNEOEVGMzIwMDAwMDAwMjBGRjUwMDAyMTM2NworOjQwMTMwNjAwMDQwMDAyMEZDQjAwMDIxMDFDOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTAyQQorOjQwMTM0NjAwQzAwMEUwRkYyMjkwN0Y5ODc0MDhGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MDlGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkZDQQorOjQwMTM4NjAwMjI5MDdGOTg3NDBERjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBFRjA5MEMwMDBFMEZGMjIxMjAwMDMxMjBENkQxMjBCNDYyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxNTAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3MQorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhiLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4Yi5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdjYjcwOAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4Yi5IRVgKQEAgLTAsMCArMSwxNDIgQEAKKzowMzAwMzMwMDAyMDAyRDlCCis6MDQwMDJEMDA1M0Q4RUYzMjgzCis6MTAwMDQ2MDAzMDA5MTgxMjEzMzNFRkMzOTUzQzQwMDMwMjAwRDg5MEQxCis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwOUMyMDA4MDc3MzAwMzNCOTA3RkY2Cis6MTAwMDY2MDBDNkUwMjBFMTZEMTIxMzMzRUZDMzk0NDA1MDY0OTA3RUQ2Cis6MTAwMDc2MDA0MEUwMTM5MjA5OTA3RkM3RTAxNEY1MTkyMDAwMTE2MDQzCis6MTAwMDg2MDAwRkY1MDg3RTdFN0Y0MTc1MEM3RTc1MEQ0MTEyMENDQ0Y2Cis6MTAwMDk2MDBDMjAzRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjQ4Cis6MTAwMEE2MDAxMjEzMzNFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwOTk4Cis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3REM4Cis6MTAwMEM2MDA3RkMxNzUwQzdENzUwREMxMTIwQ0NDRDIwM0U0OTA3RkY3Cis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNjAxMjExRjU4RjlFCis6MTAwMEU2MDAxOTEyMTMzRjhGMzZFNTE5QzM5NTNBNTAwRjEyMTMxQjk5Cis6MTAwMEY2MDBFRjMwRTAwOEU1MzYyMEU3MDMzMDBCNUVDMjBCRTUxOTZBCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIxMzAwQTUKKzoxMDAwMDMwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwNkUKKzoxMDAwMTMwMDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwQUIKKzowQTAwMjMwMDg0RDA4NUQwODJEMDgzRDBFMDMyNzMKKzowMzAwMDAwMDAyMEUxMkRCCis6NDAwMTA2MDA2MDU4QjQ4MDAzNDMzNjAyRTUzNjMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RTdGODA3NTBDN0U3NTBEODBBRjM2MTIwRjVERTUxOTI1RTA5MDdGQjdGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwOEMyCis6NDAwMTQ2MDA5MDdFODBFNTM2RjA3RTdFN0Y4MTc1MEM3RTc1MEQ4MTEyMENGMUU1MTkwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDA1MDMwMjAzQzFFNEY1MTg3NDQwMjUxOEY1ODJFNDM0N0NGNTgzRTBGRkU1MTg3QzAwN0IwMTdBN0U3OUFGCis6NDAwMTg2MDAwMDI0MDBGOUVDMzQ3RUZBRUYxMjBFRTQwNTE4RTUxOEI0MjBENzkwN0UwMEUwNjA2ODkwN0UwM0UwNjAyNDdGMDFFNEZEMTIxMUQwN0YwMzdEQ0QxMjExRDA0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjBFNDkwN0UxM0Y2Cis6NDAwMUM2MDBGMDgwMzA5MDdFMDFFMEZGMTIxMDU0OTA3RTAyRTBGRjEyMTA3QTdGMDE5MDdFMTFFMEZEMTIxMUQwN0YwMzdEMDcxMjExRDA0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdGOTg3NDEyRjBFNTQwNDQwNjkwQzAwMDkzCis6NDAwMjA2MDBGMDkwN0UwM0UwNzAwNjkwN0UxM0UwNzAwOEU0OTA3RTEzRjA3NTI1RkY5MDdFMDVFMDYwMTJBM0UwNTQzRkY1NDQ5MDdGOTg3NDEzRjA5MEMwMDBFNTQ0RjA5MDdFMDdFMDYwMkJBM0UwNjAwNTQzNDI4MDgwMDM1MzQyN0Y1M0M4Cis6NDAwMjQ2MDA0MkZDOTA3RTA5RTA2MDExNDM0MjAyQTNFMEZGMTIxMEM2OTA3RTBCRTBGRjEyMTBFQ0FGNDIxMjEwQTA5MDdFMDNFMDYwMDg1MzQyN0ZBRjQyMTIxMEEwOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzQ2MDI4MDAzNTM0NkZEOTA3RkZCCis6NDAwMjg2MDA5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UwRUUwNjAxOEEzRTA2MDA1NDM0NjAxODAwMzUzNDZGRTkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxMkUwRjUzQUEzRTAxMzkyMERBM0UwRjUzQ0EzRTA2MDA1NDM0NjEwODAwMzE3Cis6NDAwMkM2MDA1MzQ2RUY5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTZFMDYwMzI1MzQ0QkY5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxMUYwMTIxMzBGRUY1NEZFOTBDMDAwRjA1MzNFRkRFNEZGQUQzRTEyMTFEMDgwCis6NDAwMzA2MDBFNEY1MkFGNTI5RDIwNzkwN0UxN0UwNjAwRjQzM0UwMkU0RkZBRDNFMTIxMUQwNzUyOTAxRDIwNzkwN0UxOEUwNjAxMDkwN0Y5ODc0MTJGMEU1NDA0NDA0OTBDMDAwRjBEMjAwOTA3RTE5RTA2MDExNDM0NDQwOTA3Rjk4NzQxMzBFCis6NDAwMzQ2MDBGMEU1NDQ1NDdGOTBDMDAwRjA5MDdFMUFFMDYwMEY1MzNFRkVFNEZGQUQzRTEyMTFEMDc1MkIwMUQyMDc5MDdFMUJFMDYwMEY0MzNFMDFFNEZGQUQzRTEyMTFEMEU0RjUyQkQyMDc5MDdFMUNFMDYwMEU5MDdGOTg3NDEyRjBFNUY4Cis6NDAwMzg2MDA0MDQ0MDI5MEMwMDBGMDkwN0UxREUwNjAwMkQyMEI5MDdFMUVFMDYwMDg3NTJDMDFFNEY1MzhEMjA3OTA3RTFGRTA2MDExOTA3RkQ3NzQxMUYwNzQzMUYwNzQxNUYwNzQzNUYwRDIwM0MyMDVFNDkwN0ZDRkYwMzAxQTU0RTUzODlFCis6NDAwM0M2MDA2MDAyMTUzODIwMTM0QkU1MTNEMzk0MDA0MDA0MTUxMzgwNDA3NTEzMEEzMDFCMDJEMjEzMTIxMzBGRUY1NDAxRjUxOTY1MkE2MDA1ODUxOTJBRDIwNzEyMTM0QkVGNTQ4MDY0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDcxCis6NDAwNDA2MDAxMTEyMTM0QkVGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RjAzMDBBMTgxMjEzODdFRkMzOTUzRDQwMDMwMjA0QjA5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM4NzlCCis6NDAwNDQ2MDBFRkMzOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQxNkMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzg3RUZDMzk0NDA1MDk5Cis6NDAwNDg2MDAyOTkwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDE2RDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzODEyMTIzRjhGMTkxMjEzOTM4RjM3RTUxOTdGCis6NDAwNEM2MDBDMzk1M0I1MDBGMTIxMzZGRUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRkZDCis6NDAwNTA2MDA5NkU1MTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQzQkU1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTlFNDMxCis6NDAwNTQ2MDBGNTE4NzRDMDI1MThGNTgyRTQzNDdCRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzkyMDI0MjBGOUVDMzQ3RUZBRUYxMjBFRTQwNTE4RTUxOEI0MjBENzkwN0UyMEUwNjA2ODkwN0UyM0UwNjAyNDdGMDFFNEZEMTIxMjFBN0YwM0Y3Cis6NDAwNTg2MDA3RENEMTIxMjFBNDM0NzgwOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRTQ5MDdFMzNGMDgwMzA5MDdFMjFFMEZGMTIxMTM4OTA3RTIyRTBGRjEyMTE1RTdGMDE5MDdFMzFFMEZEMTIxMjFBN0YwMzdEMDcxMjEyMUE0MzQ3ODA5MEFBCis6NDAwNUM2MDA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3Rjk4NzQwQUYwRTU0MTQ0MDY5MEMwMDBGMDkwN0UyM0UwNzAwNjkwN0UzM0UwNzAwOEU0OTA3RTMzRjA3NTJFRkY5MDdFMjVFMDYwMTJBM0UwNTQzRkY1NDU5MDdGOTg3NDBCRjA5MEVCCis6NDAwNjA2MDBDMDAwRTU0NUYwOTA3RTI3RTA2MDJCQTNFMDYwMDU0MzQzODA4MDAzNTM0MzdGNTM0M0ZDOTA3RTI5RTA2MDExNDM0MzAyQTNFMEZGMTIxMTg0OTA3RTJCRTBGRjEyMTFBQUFGNDMxMjExMTI5MDdFMjNFMDYwMDg1MzQzN0ZBRkEwCis6NDAwNjQ2MDA0MzEyMTExMjkwN0UyQ0UwNjAxOEEzRTA2MDA1NDM0NzAyODAwMzUzNDdGRDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UyRUUwNjAxOEEzRTA2MDA1NDM0NzAxODAwMzUzNDdGRTkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEI0Cis6NDAwNjg2MDA5MDdFMzJFMEY1M0JBM0UwMTM5MjBFQTNFMEY1M0RBM0UwNjAwNTQzNDcxMDgwMDM1MzQ3RUY5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMzZFMDYwMzI1MzQ1QkY5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjc5Cis6NDAwNkM2MDA5ODc0MDlGMDEyMTM2M0VGNTRGRTkwQzAwMEYwNTMzRkZERTRGRkFEM0YxMjEyMUFFNEY1MzNGNTMyRDIwODkwN0UzN0UwNjAwRjQzM0YwMkU0RkZBRDNGMTIxMjFBNzUzMjAxRDIwODkwN0UzOEUwNjAxMDkwN0Y5ODc0MEFGMEVCCis6NDAwNzA2MDBFNTQxNDQwNDkwQzAwMEYwRDIwMDkwN0UzOUUwNjAxMTQzNDU0MDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdFM0FFMDYwMEY1MzNGRkVFNEZGQUQzRjEyMTIxQTc1MzQwMUQyMDg5MDdFM0JFMDYwMEY0MzNGMDFFNEM5Cis6NDAwNzQ2MDBGRkFEM0YxMjEyMUFFNEY1MzREMjA4OTA3RTNDRTA2MDBFOTA3Rjk4NzQwQUYwRTU0MTQ0MDI5MEMwMDBGMDkwN0UzREUwNjAwMkQyMEM5MDdFM0VFMDYwMDg3NTM1MDFFNEY1MzlEMjA4OTA3RTNGRTA2MDExOTA3RkQ3NzQxMzY5Cis6NDAwNzg2MDBGMDc0MzNGMDc0MTZGMDc0MzZGMEQyMDRDMjA2RTQ5MDdGRDFGMDMwMUE1NEU1Mzk2MDAyMTUzOTMwMTM0QkU1MTNEMzk0MDA0MDA0MTUxMzgwNDA3NTEzMEEzMDFCMDJDMjEzMTIxMzYzRUY1NDAxRjUxOTY1MzM2MDA1ODUxOTk4Cis6NDAwN0M2MDAzM0QyMDgxMjEzOUZFRjU0ODA2NDgwRjUxOTY1MkY2MDA1ODUxOTJGRDIwODMwMEUxMTEyMTM5RkVGNTQxMEY1MTk2NTJFNjAwNTg1MTkyRUQyMDgzMDFBMkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxNTkwN0I0Mjk3Cis6NDAwODA2MDBFMEY1MTY5MDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA5MjRFNTBBNzA0MDMwMDczOUU1Mzg3MDM1QzIwN0Y1MTg3RTAwN0IwMDc0MjQyNTE4RjlFRTM0MDBGQTEyMEU5RTQ0Cis6NDAwODQ2MDBGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM4MTBFNEY1MkM3NTBBMDEyMkU1MEE2NDAxNzA0MDMwMDgzOUU1Mzk3MDM1QzIwOEY1MTg3RTAwN0IwMDc0MkQyNTE4RjlFRUJGCis6NDAwODg2MDAzNDAwRkExMjBFOUVGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM5MTBFNEY1MzU3NTBBMDIyMkU1MEE2NDAyNzAzNjMwMTQyRkMyMTRGNTE4N0UwMDdCMDA3NDBFMjUxODRDCis6NDAwOEM2MDBGOUVFMzQwMEZBMTIwRTlFRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwNURCOTA3RkMzNzQwNUYwNzUwQTAzMjJFNTE1NjAzMDE1MTVFNEY1MTg3RTAwN0IwMDc0MTQyNTE4RjlFRTM0MDBGQTEyMEU5RUNCCis6NDAwOTA2MDBGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDAzREI5MDdGQzM3NDAzRjBFNEY1MEEyMjkwN0ZFOUUwMTIwRUY2MEEwQzAwMEE4MDAxMEFFQzAzMDk0ODA2MDlGRjA4MDlGOTA5MDlFMTBBMDlGMDBCMDAwMDQ0Cis6NDAwOTQ2MDAwQjNCOTA3RkVCRTAyNEZFNjAxOTE0NjA2MTI0MDI2MDAzMDIwOUQ3NzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwQjQyOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3Qjc1ODMxOUYwNzU4MkRBCis6NDAwOTg2MDA3NDc1ODMxOUYwNzU4MjY2NzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDc0MTk5MDdGRDRGMDc0MTI5MDdGRDVGMDAyMEI0MjkwN0ZFQUUwRkYxMjBGMUNFQTQ5NjAwREVBOTA3RkQ0RjBFOUJFCis6NDAwOUM2MDA5MDdGRDVGMDAyMEI0MjkwN0ZCNEUwNDQwMUYwMDIwQjQyOTA3RkI0RTA0NDAxRjAwMjBCNDI5MDdGMDBFNTA5RjA5MDdGQjU3NDAxRjAwMjBCNDI5MDdGRUFFMEY1MDkwMjBCNDIxMjBCNEEwMjBCNDI5MDdGMDA3NDAxRjA5MDNCCis6NDAwQTA2MDA3RkI1RjAwMjBCNDI5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjEwRTQzM0ZGMjVFMEZGQTIxNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjQyRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjJFCis6NDAwQTQ2MDAwQjQyOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCNDI5MDdGQjRFMDQ0MDFGMDAyMEI0MjkwN0ZFOEUwMjRGRTRFCis6NDAwQTg2MDA2MDFEMjQwMjYwMDMwMjBCNDI5MDdGRUFFMEI0MDEwNUMyMTAwMjBCNDI5MDdGQjRFMDQ0MDFGMDAyMEI0MjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0VBCis6NDAwQUM2MDBFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjEwODAzRjkwN0ZCNDdCCis6NDAwQjA2MDBFMDQ0MDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDE3Cis6NDAwQjQ2MDA0NDAyRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MjQ3NTE4MDE3QjAwNzQyNDI1MThGOTQ1Cis6NDAwQjg2MDBFNDM0MDBGQUU0MTIwRUU0MDUxOEU1MThCNDA5RUE3NTNBMDFFNEY1MzhGNTEzRjUzNkMyMDdDMjBCQzIwNUMyMDBDMjA5QzIxMzkwN0Y5ODc0MTNGMDc1NDQwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUQwN0YxMDhGNDIxMjVGCis6NDAwQkM2MDAxMEEwOTA3Rjk4NzQxMkYwN0YwMThGNDBFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MTRGMDc1NDY4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTFEMEU0RkY3RUEzQUQwNjhEM0UxMjExRDA5MDdGOTg3NDExRjA5MEMwMDBFNEYwN0YwNUIwCis6NDAwQzA2MDA3RDdGMTIxMUQwN0YwMTEyMTI4OTdGMDM3RDA3MTIxMUQwN0YxMzdEMDkxMjExRDAyMDFCMDMwMjBDQzk3NTJEMDE3NTE4MDE3QjAwNzQyRDI1MThGOUU0MzQwMEZBRTQxMjBFRTQwNTE4RTUxOEI0MDlFQTc1M0IwMUU0RjUzOTc4Cis6NDAwQzQ2MDBGNTEzRjUzN0MyMDhDMjBDQzIwNkMyMDBDMjBBQzIxMzkwN0Y5ODc0MEJGMDc1NDUwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMjFBN0YxMDhGNDMxMjExMTI5MDdGOTg3NDBBRjA3RjAxOEY0MUVGNDQwNjkwQzAwMEYwOTA3RkMwCis6NDAwQzg2MDA5ODc0MENGMDc1NDc4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTIxQUU0RkY3RUEzQUQwNjhEM0YxMjEyMUE5MDdGOTg3NDA5RjA5MEMwMDBFNEYwN0YwNTdEN0YxMjEyMUE3RjAxMTIxMkFBN0YwMzdEMDcxMjEyMUE3RjEzN0QwOTI3Cis6NDAwQ0M2MDAxMjEyMUFEMjEyMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEZECis6NDAwRDA2MDBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTNBCis6NDAwRDQ2MDA4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRDIxOTkwN0Y5MkI4Cis6NDAwRDg2MDBFMDQ0MDJGMDkwN0ZBRUUwRkZEMzkyMTBFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEFECis6NDAwREM2MDBEMkFGRDIxQTEyMTI2NEMyMTFFNEY1MEJGNTEzQzIxN0MyMTI5MDdGQTEwNEYwOTA3RkQ4RTA2NTE3NjAxMDMwMTIwNUQyMUExMjAwNDY5MDdGRDhFMEY1MTc4MDA4MzAxMjA1QzIxQTEyMDA0NjMwMTEwN0MyMTExMjA5MjU4MEY5Cis6NDAwRTA2MDBENjMwMThEM0MyMTgxMjEzQUI4MENDMjI3ODdGRTRGNkQ4RkQ3NTgxNDcwMjBFNTkwMjBEODFFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MEZBCis6NDAwRTQ2MDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTJDQkU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBMzIwCis6NDAwRTg2MDBDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMkQ1Cis6NDAwRUM2MDA1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzdBCis6NDAwRjA2MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjhGMThFNEY1MTk3NTFBRkY3NTFCMTk3NTFDODZBQjFBQUExQkE5MUM5MDAwMDExMjBFQjdCNDAzMURBRjE5MDUxOUVGQjUxODAxMjIxMjBFOUU3RUM0Cis6NDAwRjQ2MDAwMDI5RkZFRTNBQTkwNzc1MUFGRkY1MUI4OTFDODBENDdCMDA3QTAwNzkwMDIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMDAzNjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNUJBCis6NDAwRjg2MDAwOEU1MDg2MDBBMTIxMzNGOEYxQUVGNDIzNjgwQ0EyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjEzNTcwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxM0FBCis6NDAwRkM2MDA5MzhGMUFFRjQyMzc4MENBMjJFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NUYwOTA3RjlFNzQyN0YwOTA3Rjk4NzQyMEYwOTA3RjlFNzQwN0YwRTQ5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjAyMjdDCis6NDAxMDA2MDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjExNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwODdFCis6NDAxMDQ2MDBGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDBDCis6NDAxMDg2MDA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjBBCis6NDAxMEM2MDA5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwOTBDMDAwRUZGMDkwN0Y5ODA3Cis6NDAxMTA2MDA3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3RkZBCis6NDAxMTQ2MDA5ODc0MDhGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA5RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3RjcxCis6NDAxMTg2MDA5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MENGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBFRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkZECis6NDAxMUM2MDBGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIxMzI3OEYxQTEyMTMyNzhGMUJFNTFBNjUxQjYwMTIxMjkyCis6NDAxMjA2MDAxMzI3OEYxQUU1MUE2NTFCNjAwNzEyMTMyNzhGMUI4MEU4QUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MEZGMDkwQzAwMEVGRjA5MDdGOTg3NDBERjA5MEMwMDBFREYwMjIxMjEzN0I4RjFBMTIxMzI1Cis6NDAxMjQ2MDA3QjhGMUJFNTFBNjUxQjYwMTIxMjEzN0I4RjFBRTUxQTY1MUI2MDA3MTIxMzdCOEYxQjgwRThBRjFBMjI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMTJFNzkwN0ZENkUwNTRGN0YwRTA0NEUxCis6NDAxMjg2MDAwNEYwMjJBRTA3RTRGRkU1M0U1NDdGRkQxMjExRDA5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEZEMTIxMUQwMjJBRTA3RTRGRkU1M0Y1NDdGRkQxMjEyMUE5MDdGOTg3NDA5RjA5MEMwMDBFRUYwRTRFNTNGNDQ4MDk1Cis6NDAxMkM2MDBGRDEyMTIxQTIyMDUwRTAyMDAwMDAwMDAwMzE0MDMwMDAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlCMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA1MTIwRDYwODBFRTIyMDAwMDAyMTAwNjAwMDIxMzdFCis6NDAxMzA2MDAwNDAwMDIwMDAzMDAwMjEwMkQ5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEY1Cis6NDAxMzQ2MDBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQkYwOTBDMDAwRTBGRkMwCis6NDAxMzg2MDAyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MERGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEVGMDkwQzAwMEUwRkYyMjEyMEZDRjEyMEQ3MTEyMEI0QTIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjEwMDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc2Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAwMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUY0Cis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MDQxQTA2MDA3MjAwMDAwMDZBCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5dy5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5dy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU1YjNkMQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3LkhFWApAQCAtMCwwICsxLDE0NSBAQAorOjAzMDAzMzAwMDIxOEZCQjUKKzowQzAwMzYwMDkwNzg0MTc0MDFGMDkwQzAwMEUwRkYyMkJGCis6MTAwMDQ2MDBFNEZGNzQ0MDJGRjU4MkU0MzQ3QkY1ODNFMEZFRTUxNThBCis6MTAwMDU2MDAyNDA0RkRFNDM1MTRGQUE5MDU3QjAxRUY3QzAwMjlGOTk3Cis6MTAwMDY2MDBFQzNBRkFFRTEyMTFGMTBGQkYyMkQ3RTUxNTI0MDVGNTg5Cis6MTAwMDc2MDA4MkU0MzUxNEY1ODNFMDcwMDMwMjAxMzRFNTE1MjQwOUEyCis6MTAwMDg2MDBGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDBBRjU4MjUxCis6MTAwMDk2MDBFNDM1MTRGNTgzRTA2MDE4N0YwMUU0RkQxMjE2NDdFNUE4Cis6MTAwMEE2MDAxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRDRkYwODA0MTEwCis6MTAwMEI2MDBFNTE1MjQwNkY1ODJFNDM1MTRGNTgzRTBGRjEyMTY3NjdECis6MTAwMEM2MDBFNTE1MjQwN0Y1ODJFNDM1MTRGNTgzRTBGRjEyMDAwM0Y1Cis6MTAwMEQ2MDA3RjAxRTUxNTI0MDhGNTgyRTQzNTE0RjU4M0UwRkQxMjY5Cis6MTAwMEU2MDAxNjQ3RTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQzMEVFCis6MTAwMEY2MDBGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0ODBGMDAzCis6MTAwMDAzMDA5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NDBECis6MTAwMDEzMDAwMUYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTUyNEVGCis6MTAwMDIzMDAzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjY1Cis6MDMwMDQzMDAwMjFCMDA5RAorOjAzMDAwMDAwMDIxMDk1NTYKKzo0MDAxMDYwMDkwNzg0MTc0MDRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwOTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwNDQwNjkwQzAwMEYwRTUxNTI0MEJGNTgyRTQzNTE0RjU4M0UwNjAzMkU1MTUyNDBDMEIKKzo0MDAxNDYwMEY1ODJFNDM1MTRGNTgzRTA1NDNGRkZFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRUZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MERGNTgyRTQzNTE0RjU4M0UwNzAwMzAyMDI0RkU1ODgKKzo0MDAxODYwMDE1MjQxN0Y1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwNEYwODAwRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkJGMEU0RkZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTBGRDEyMTY0N0U1NUUKKzo0MDAxQzYwMDE1MjQwRUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwODAwRkU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDU0N0ZGMEU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDU0RkNGMEU1MTUyNDBGRUIKKzo0MDAyMDYwMEY1ODJFNDM1MTRGNTgzRTA2MDJGRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MTBGNTgyRTQzNTE0RjU4M0UwRkYxMjE1RTdFNTE1MjQxMUY1ODJFNDM1MTRGNTgzRTBGRjEyMTYxN0U1MTUyNDMzRjU4MkU0NUUKKzo0MDAyNDYwMDM1MTRGNTgzRTBGRjEyMTVCN0U1MTUyNDE0RjU4MkU0MzUxNEY1ODNFMDYwNDRFNTE1MjQxNUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQwMUYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODEKKzo0MDAyODYwMDgzRTA1NEZFRjA5MDc4NDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDEyRjU4MkU0MzUxNEY1ODNFMDYwNDRFNTE1MjQxM0Y1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RTYKKzo0MDAyQzYwMEY1ODNFMDQ0MDJGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA1NEZERjA5MDc4NDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDE2RjU4MkU0MzUxNEY1ODNFMEZGRTUxNTI0MzVGNTgyMEEKKzo0MDAzMDYwMEU0MzUxNEY1ODNFRkYwRTUxNTI0MTdGNTgyRTQzNTE0RjU4M0UwMzBFMDExRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQ0MEYwODAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0QkZGMEU1MTUyNDE4RjU4MkU0MzUxNEY1NzYKKzo0MDAzNDYwMDgzRTBGRkU1MTUyNDNCRjU4MkU0MzUxNEY1ODNFRkYwRTUxNTI0MTlGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0MTBGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA1NEVGRjA5MDc4NjkKKzo0MDAzODYwMDQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQxQUY1ODJFNDM1MTRGNTgzRTA2MDZCRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTRCRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RkYKKzo0MDAzQzYwMEY1ODNFMDU0N0Y5MEMwMDBGMDkwNzg0MTc0MDFGMDEyMDAzNkVGNTRGRTkwQzAwMEYwRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGREZGRjBGREU0RkYxMjE2NDdFNTE1MjQyQ0Y1ODJFNDM1MTRGNTgzRTRGMEU1MTUyNDJCQjcKKzo0MDA0MDYwMEY1ODJFNDM1MTRGNTgzRTRGMEU1MTY0MjEzRTUxNTI0MUJGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjhFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDAyRkZGMEZERTRGRjEyMTY0N0U1NDcKKzo0MDA0NDYwMDE1MjQyQkY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNjQyMTNFNTE1MjQxQ0Y1ODJFNDM1MTRGNTgzRTBGRjcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDJBOTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwQzYKKzo0MDA0ODYwMDQ0MDQ5MEMwMDBGMEVGNjAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDRGMEU1MTUyNDFERjU4MkU0MzUxNEY1ODNFMDYwMjdFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA0NDQwRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1NTAKKzo0MDA0QzYwMDgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwRTUxNTI0MUVGNTgyRTQzNTE0RjU4M0UwNjAyOEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkVGRkYwRkRFNEZGMTIxNjQ3RTUxNTI0MkRGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1OEYKKzo0MDA1MDYwMDE2NDIxM0U1MTUyNDFGRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDI3RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwMUZGRjBGREU0RkYxMjE2NDdFNTE1MjQyREY1ODJFNDM1MTRGNTgzOTcKKzo0MDA1NDYwMEU0RjBFNTE2NDIxM0U1MTUyNDIwRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDE4OTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwNDQwMjkwQzAwMEYwRTUxNTI0MjFGNTgyQTcKKzo0MDA1ODYwMEU0MzUxNEY1ODNFMDYwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQyMkY1ODJFNDM1MTRGNTgzRTA2MDFGRTUxNTI0MkVGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFNEYwRjAKKzo0MDA1QzYwMEU1MTY0MjEzRTUxNTI0MjNGNTgyRTQzNTE0RjU4M0UwNjAwMzEyMTg4NUU1MTUyNDI0RjU4MkU0MzUxNEY1ODNFMDYwMUJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDA4RjA5MDdGOThFMEZGRTUxNkY0RkVFRjVFRjBFNTE1NkMKKzo0MDA2MDYwMDI0MjVGNTgyRTQzNTE0RjU4M0UwNjAxNkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RjdGMDkwN0Y5OEUwNDUxNkYwMjI5MDdGRTlFMDEyMTIwMzA3ODMwMDA3RjcwMTA4NjMwMzA2NEMwNjA3NzQwODA3NjgwOTA3NTAwQTA3Q0UKKzo0MDA2NDYwMDVGMEIwMDAwMDhCMjkwN0ZFQkUwMjRGRTYwMUMxNDcwMDMwMjA2RkUyNDAyNjAwMzAyMDc0Njc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMDhCOTkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDkwN0ZFQUUwMzBFMDA0N0YwMzgwMkQKKzo0MDA2ODYwMDAyN0YwMjc1ODI4Mjc1ODMxOUVGRjA3NTgyNkQ3NTgzMTlGMDc1ODI2Njc1ODMxOUYwNzU4MjVGNzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMzBFMTA0N0Y2NDgwMDI3RjMyNzU4MjFBNzU4MzE5RUZGMDkwN0ZFRkUwRkIKKzo0MDA2QzYwMEZFOTA3RkVFRTA3QzAwMjQwMEY1MTlFQzNFRjUxODc1MzMxOTc1MzQxMjc1ODIxNDc1ODMxOUUwNzUyNzAwRjUyOEQzRTUyODk1MTlFNTI3OTUxODQwMDY4NTE4Mjc4NTE5MjgxMjEzMTIwMjA4Qjk5MDdGRUFFMEZGMTIxNDJCQzkKKzo0MDA3MDYwMEVBNDk2MDMyOTA3RkVFRTA3NTE4MDBGNTE5QUUwMkFGMDE4RTMzOEYzNDhGODI4RTgzRTBGRUEzRTA4RTI3RjUyOEQzOTUxOUU1Mjc5NTE4NDAwNjg1MTgyNzg1MTkyODEyMTMxMjAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OUUKKzo0MDA3NDYwMDkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RjAwRTUyNUYwOTA3RkI1NzQwMUYwMDIwOEI5OTA3RkVBRTBGNTI1MDIwOEI5OTA3RkVBRTBGNTIyMTIwQUI4MDIwOEI5OTA3RjAwRTUyMkYwOTA3RkI1NzQwMUYwMDIwOEI5OTA3RkU4QkQKKzo0MDA3ODYwMEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMDBFNDMzRkYyNUUwRkZBMjA2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA4QjlFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDhCOTkwN0ZFQ0UwRjQ1NDgwNjMKKzo0MDA3QzYwMEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RkU4RTAyNEZFNjAxRDI0MDI2MDAzMDIwOEI5MTAKKzo0MDA4MDYwMDkwN0ZFQUUwQjQwMTA1QzIwMDAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGNjcKKzo0MDA4NDYwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMDA4MDNGOTA3RkI0RTA0NDAxRjA4MDM2OTA3RkVBQ0IKKzo0MDA4ODYwMEUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJFNTExNTQwRjcwM0QKKzo0MDA4QzYwMDAzMDIwOUIyMTIxNkE1RUYyMEUxNzUxMjE3MDNFRjE0RjUxOTEyMThDQ0VGMjUxOUZGRTQzM0ZFQzNFRjk0ODBFRTY0ODA5NDgwNTA1OTg1MTU4Mjg1MTQ4M0UwRkVBM0UwRkZGNTgyOEU4M0UwMzBFMDExRTUxNTI0MzFGNTgyNTAKKzo0MDA5MDYwMEU0MzUxNEY1ODNFMDQ0ODBGMDgwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NDdGRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAyMEUyMTJFNTE5NjAwRUY1MjNFRjI0MDFGNTJERTQzRUY1MkMxMjE0QURFNEZGMTIxNEUzQzAKKzo0MDA5NDYwMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTc1RDEyMThDQ0U1MTUyNDNCRjU4MkU0MzUxNEY1ODNFMEZFRUZDMzlFNTA0OEU1MTUyNDJGRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NDdCOTkKKzo0MDA5ODYwMEYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0U0RjBFNTE2NDIxMzkwN0ZDMkUwMzBFMTEwRTUxNTI0MjZGNTgyRTQzNTE0RjU4M0UwRjUyNDgwMDMxMjEyQTExMjE2RDRFRjMwRTEwMzAyMEFCNzEyMTdEMjhGMTkxMjE4RDhFNTE1RDUKKzo0MDA5QzYwMDI0MzhGNTgyRTQzNTE0RjU4M0VGRjBFNTE1MjQzNUY1ODJFNDM1MTRGNTgzRTBGRkU1MTlDMzlGNTAyODEyMThCNEVGMzBFMDIxRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwMjBFNzEyRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwQzAKKzo0MDBBMDYwMDIwRTEwMzAyMEFCN0U1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RkRGMEU1MTk3MDAzMDIwQUI3QjQ4MDBGRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwRkYzMEU3MjlFNTE5Q0YKKzo0MDBBNDYwMEQzOTQyMDQwMDM3NTE5MjA4NTE5MjM4NTE1ODI4NTE0ODNBM0EzRTBGQ0EzRTA4QzJDRjUyRDEyMTNEREU1MTkyNUUwRkYxMjE1MTkyMkU1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTIzRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwNTMKKzo0MDBBODYwMEZGODUxNTgyODUxNDgzQTNBM0UwRkNBM0UwRjU4MjhDODNFRkYwODUxNTgyODUxNDgzQTNBM0UwRkVBM0UwMjQwMUY1MkRFNDNFRjUyQzEyMTQ2Q0U1MTkwNEZGMTIxNTE5MjJFNDkwN0Y5M0YwOTA3RjlDNzRGMEYwOTA3Rjk2NzcKKzo0MDBBQzYwMEYwRTQ5MDdGOTRGMDkwNzg0QTA0RjBGNThFOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxRkYwOTA3ODQzNzRGRkYwRTQ5MDc4NDFGMDkwN0ZERjc0OUZGMDkwN0ZERUYwOTA3RjkyRTA0NDAyRjA3RTdCN0ZDMDc1ODEKKzo0MDBCMDYwMDE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDExMjBGMTI3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMUU1MTUyNDI2RjU4MkU0MzUxNEY1ODNFNEYwN0U3RTdGNDA4NTE1ODI4NTE0ODM3NDdFRjBBMzc0RjUKKzo0MDBCNDYwMDQwRjA3RTdFN0Y4MDg1MTU4Mjg1MTQ4M0EzQTM3NDdFRjBBMzc0ODBGMDdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyMTIwRjEyN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDJFNTE1MzYKKzo0MDBCODYwMDI0MjZGNTgyRTQzNTE0RjU4Mzc0MDFGMDdFN0Q3RkMwODUxNTgyODUxNDgzNzQ3REYwQTM3NEMwRjA3RTdFN0YwMDg1MTU4Mjg1MTQ4M0EzQTM3NDdFRjBBMzc0MDBGMDdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwMTgKKzo0MDBCQzYwMDc1MTYwNDEyMEYxMjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0RTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MDJGMDdFN0Q3RjQwODUxNTgyODUxNDgzNzQ3REYwQTM3NDQwRjA3RTdEN0Y4MDg1MTU4Mjg1RDMKKzo0MDBDMDYwMDE0ODNBM0EzNzQ3REYwQTM3NDgwRjA3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5Njc0N0ZGMDc1MTYwODEyMEYxMjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk2NzQ3RkYwNzUxNjA4RTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MUMKKzo0MDBDNDYwMDAzRjA3RTdDN0ZDMDg1MTU4Mjg1MTQ4Mzc0N0NGMEEzNzRDMEYwN0U3RDdGMDA4NTE1ODI4NTE0ODNBM0EzNzQ3REYwQTM3NDAwRjBDMjBBQzIwOUQyMDIyMkU1MTAwNDU0MDNGNTEwMTQ2MDFGMTQ2MDMxMTQ2MDQzMjQwMzcwMUIKKzo0MDBDODYwMDUyN0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDE4MDNEN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDI4MDI4N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTY3NEJGRjA3NTE2MDQ4MDEzN0UKKzo0MDBDQzYwMDdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk2NzQ3RkYwNzUxNjA4RTUzMjU1MTY3MDAzMDIwRTExRTUxNkY0RkY1MjMyRTUyNjU0N0ZGRTcwMEZFNTJBNTUxNjYwMjQ5MDdGOThFMDQ1MTZGMDgwMUJCRTIwMThFNTE1MjQzMUY1NDMKKzo0MDBEMDYwMDgyRTQzNTE0RjU4M0UwMzBFMzA5RTRGNTJBOTA3Rjk4RTA1RkYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0UwNjAwM0UwMTRGMEU1MTUyNDM0RjU4MkU0MzUxNEY1ODNFMDYwMDNFMDE0RjBFMDYwMDMwMjBFMTE3NDBBRjAxMjAwOUQKKzo0MDBENDYwMDM2RUY1NDAxRkZGNTE5RTUxNTI0MkNGNTgyRTQzNTE0RjU4M0UwNkY2MDA3RTUxOUYwRTUxNjQyMTMxMjE4RTQ4RjE5RTUxNTI0MjdGNTgyRTQzNTE0RjU4M0UwRkZFNTE5NTQxMEZFNkY2MDA2RUVGMEU1MTY0MjEzRTUxNTI0MTUKKzo0MDBEODYwMDI4RjU4MkU0MzUxNEY1ODNFMEZGRTUxOTU0ODBGRTZGNjAwNkVFRjBFNTE2NDIxM0U1MTUyNDI5RjU4MkU0MzUxNEY1ODNFMEZGRTUxOTU0MjBGRTZGNjAxNUVFRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU0MDRFNTE2NjUKKzo0MDBEQzYwMDQyMTNFNTEyNTUxNkZGRjUxOUU1MTUyNDJBRjU4MkU0MzUxNEY1ODNFMDZGNjAxNkU1MTlGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTUwNEU1MTY0MjEzRTUxNzU1MTZGRkY1MTlFNTE1MjQzMEY1ODJFNDM1MTRGNTgzODAKKzo0MDBFMDYwMEUwNkY2MDA3RTUxOUYwRTUxNjQyMTMyMjMwMDkwMzAyMEYxMUU1MjQxNDYwMkExNDYwNDExNDYwNTgxNDYwNkYyNDA0NjAwMzAyMEVDRjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk2NzRFRkYwNzUxNjAxMTIxMkExNzUyNDAxNUEKKzo0MDBFNDYwMDIyN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDIxMjEyQTE3NTI0MDIyMjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0MTIxMkExNzUyNDAzMjI3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwNTEKKzo0MDBFODYwMDdGOTY3NDdGRjA3NTE2MDgxMjEyQTE3NTI0MDQyMjMwMDQzM0MyMDQ1MzEzREZFNEY1MTk3RTAwN0IwMDc0MkUyNTE5RjlFRTM0MDBGQTEyMTFBQkZGNzQ4MDI1MTlGNTgyRTQzNDdCRjU4M0VGRjAwNTE5RTUxOUI0MDNEQjkwMkQKKzo0MDBFQzYwMDdGQzM3NDAzRjA3NTI0MDUyMkU1MzY2MDNCRDUzNjBBNTMxM0VGMzAwQTA0RDIwOUMyMEFFNEY1MTk3RTAwN0IwMDc0MzUyNTE5RjlFRTM0MDBGQTEyMTFBQkZGNzQ4MDI1MTlGNTgyRTQzNDdCRjU4M0VGRjAwNTE5RTUxOUI0NjcKKzo0MDBGMDYwMDAzREI5MDdGQzM3NDAzRjBFNEY1MjQyMkU0RjUxQTdFMDA3QjAxRTUxNTI1MUFGOUVFMzUxNEZBRTQxMjExRjEwNTFBRTUxQUI0M0NFOEU1MTUyNDM1RjU4MkU0MzUxNEY1ODM3NDAxRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1NjkKKzo0MDBGNDYwMDgyRTQzNTE0RjU4Mzc0MDNGMDkwQzAwMEYwN0YwQ0U0RkQxMjE2NDc3RjEwRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0VGRjAxMjE1Qjc5MDc4NDE3NDAyRjA3RjAxRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0VGRjA0NDA2OTBDMDAwRjEKKzo0MDBGODYwMEYwOTA3ODQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4Mzc0ODBGMDkwQzAwMEYwMEZFNEZEMTIxNjQ3RTRGRjdFQTNFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRUVGMEZEMTIxNjQ3OTA3ODQxNzQwMUYwOTBDMDAwRTRGMDdGODkKKzo0MDBGQzYwMDA1N0Q3RjEyMTY0NzdGMDExMjE1NEY3RjAzN0QwNzEyMTY0NzIyNTMxMzNGOTA3QkYxRTAzMEUzMTY3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTEyMDhDMTkwN0MzMUUwMzBFMzE2N0U3QzdGMDA3NTE0MTcKKzo0MDEwMDYwMDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyMTIwOEMxOTA3QzcxRTAzMEUzMTY3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNDEyMDhDMTkwN0NCMUUwMzBFMzE2N0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGMzcKKzo0MDEwNDYwMDk2NzQ3RkYwNzUxNjA4MTIwOEMxMDUxMUU1MTE1NDBGRjUxODcwMUY5MDc4NDFFMDU0RjdGMDkwN0Y5OUUwRjUxNzkwNzg0MUUwNDQwOEYwOTA3Rjk5RTBGNEY1MTIxMjExMjEyMkU1MThCNDAxMDQxMjBDNzMyMjkwN0ZDMkUwMTgKKzo0MDEwODYwMDIwRTEwOEU1MTM2MDA0MTIwRTEyMjIxMjBDNzMyMjc4N0ZFNEY2RDhGRDc1ODEzNzAyMTBEQzAyMTIyOUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwN0UKKzo0MDEwQzYwMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxODUwRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4QTIKKzo0MDExMDYwMEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTkwN0ZEMkUwMzBFMTAzMDIxMUFBQzIwOTkwN0I0MEUwMTQ2MDI2MTQ2MDNCMTQ2MDUwMjQ4MzYwNjQyNDgwNzA2MzdFN0I3RkMwMUMKKzo0MDExNDYwMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTEyMDA0NjgwNEI3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5Njc0REZGMDc1MTYwMjEyMDA0NjgwMzM3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNDEyRkIKKzo0MDExODYwMDAwNDY4MDFCN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTY3NDdGRjA3NTE2MDgxMjAwNDY4MDAzMTIxNzVDRTQ5MDdGRDNGMDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxODkKKzo0MDExQzYwMDBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODYKKzo0MDEyMDYwMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREY5MDdGQUVFMEZGRDM5MjAwRTQzM0ZFRUY0RUYwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOEUKKzo0MDEyNDYwMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUY3NDAxRjA5MDdGQUU3NDBERjBEMkFGRDIwQjEyMTgxNEMyMDFFNEY1MkJGNTMxQzIwN0MyMDI3NTI5RjA5MDdGRDhFMDY1MjY2MDA2NzUzMjBGRTBGNTI2QzkKKzo0MDEyODYwMDMwMDIwMzEyMEZEOTMwMDEwN0MyMDExMjA2Mjk4MEUyMzAwOERGQzIwODEyMTgzNTgwRDgyMkU1MTM1NTE2NjA2QUU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFMDcwNUNFNTE2RjQ1MjEzRTUxNTI0MjZGRkU0MzUxNEZFRTRGRDBGQTIKKzo0MDEyQzYwMEVGQUEwNjcwMDEwRTE0RjU4MjhBODNFMEZDNzQ4MDJERjU4MkU0MzQ3QkY1ODNFQ0YwMERCRDBCRTI5MDdGQzM3NDBCRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzNzQxMEYwRTUxNTI0MkVGNTgyRTQzNTE0RjU4M0U0RjBFNTE1QzEKKzo0MDEzMDYwMDI0MkZGNTgyRTQzNTE0RjU4M0U0RjAyMkU1Mjg0NTI3NjA1N0FFMjdBRjI4RDNFRjk0NDBFRTk0MDA0MDA0N0UwMDdGNDBDM0U1Mjg5RkY1MjhFNTI3OUVGNTI3RTRGREVEQzM5RkU0OUU1MDFGODUzNDgyODUzMzgzRTBGQzc0OTQKKzo0MDEzNDYwMDAwMkRGNTgyRTQzNDdGRjU4M0VDRjAwRDA1MzRFNTM0NzAwMjA1MzM4MERBOTA3RkE5NzQwMUYwOTA3RkFDRTA0NDAxRjA5MDdGQjVFRkYwMjI5MDdGQUNFMDU0RkVGMEU0OTA3RkI1RjAyMkU0OTA3RjkzRjA5MDdGOUM3NEYwQTcKKzo0MDEzODYwMEYwOTA3Rjk2RjBFNDkwNzg0QUYwOTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwMzAwMDA3RTUyOTU0RjBGRjgwMDI3RjAwRUY0NDA4OTA3ODQxRjBFNDkwN0Y5OEYwOTA3Rjk1RjA5MDdGOUU3NEZGRjBFNDkwN0Y5OEYwQzkKKzo0MDEzQzYwMDkwN0Y5M0YwOTA3RjlDNzRGMEYwRTQ5MDdGOTZGMDkwN0Y5MkUwNTRGREYwMjI4RjFBMDUyREU1MkRBRTJDNzAwMjA1MkMxNEY1ODI4RTgzRTUxQUYwMTIxOEYwMDUyREU1MkRBQzJDNzAwMjA1MkMxNEY1ODI4QzgzRUZGMDE1OUQKKzo0MDE0MDYwMDIzRTUyMzYwMUZFNTE1MjQzOEY1ODJFNDM1MTRGNTgzQzA4M0MwODJFMEZFMTIxOEQ4OEYxQUVFNEZEMDgyRDA4M0YwODBCNTIyOEYxQUU0RjUxQjc1MUNGRjc1MUQxOTc1MUU4NkFCMUNBQTFEQTkxRTkwMDAwMTEyMTFDNEI0RTEKKzo0MDE0NDYwMDAzMURBRjFCMDUxQkVGQjUxQTAxMjIxMjExQUI3RTAwMjlGRkVFM0FBOTA3NzUxQ0ZGRjUxRDg5MUU4MEQ0N0IwMDdBMDA3OTAwMjJFNDkwNzg0MUYwOTA3ODRGNzRDMEYwRTQ5MDc4NTBGMEU1MkM5MDc4NTFGMEFFMkNFNTJERjgKKzo0MDE0ODYwMDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3ODU3NzQwNEYwOTA3RkUyRTA0NDEwRjBFMDU0RjdGMEU0OTA3ODU1RjA5MDc4NTVFMDYwRkEyMkU0OTA3ODQxRjBFNTJDOTA3ODRGRjBBRTJDRTUyRDkwNzg1MEYwOTA3ODUxNzRDMEYwODEKKzo0MDE0QzYwMEU0OTA3ODUyRjA5MDc4NTRFNTIzRjA5MDc4NTc3NDA0RjBFNDkwNzg1NUYwOTA3ODU1RTA2MEZBMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEYxNDYwMTMxNDYwMTc4MDAwOTA3RkM3RUZGMDgwMTM5MDdGQzlFRkYwODEKKzo0MDE1MDYwMDgwMEM5MDdGQ0JFRkYwODAwNTkwN0ZDREVGRjBFNTE2NDIyQTIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBGMTQ2MDEzMTQ2MDE3ODAwMDkwN0ZCN0VGRjA4MDEzOTA3RkI5RUZGMDgwMEM5MDdGQkJFRkYwODAwNTkwM0IKKzo0MDE1NDYwMDdGQkRFRkYwRTUxNjQyMkEyMkFFMDdFNEZGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTQ3RkZEMTIxNjQ3OTA3ODQxNzQwMUYwOTBDMDAwRUVGMEU0RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQ4MEZEMTIxNjQ3MjJDMEUwQTAKKzo0MDE1ODYwMEMwRjBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwRDA3NUQwMDg1MzkxRUY5MDdGQTk3NDAxRjAxMjEzMTJEMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEYwRDBFMDMyOTA3ODQxNzQwM0YwOTBDMDAwNzRCRkYwOTA3ODQxRDAKKzo0MDE1QzYwMDc0MDJGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0MDRGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1NkQKKzo0MDE2MDYwMDI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NDA2RjA5MEMwMDBFRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwRkYKKzo0MDE2NDYwMDIyOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwOTA3ODQxNzQwN0YwOTBDMDAwRUZGMDkwNzg0MTc0MDVGMDkwQzAwMEVERjAyMjkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMEU0OTA3ODQxRkEKKzo0MDE2ODYwMEYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZDNkUwRkYyMjkwN0ZDOEUwMTUKKzo0MDE2QzYwMEZGMjI5MDdGQ0FFMEZGMjI5MDdGQ0NFMEZGMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkI2RTBGRjIyOTA3RkI4RTBGRjIyOTA3RkJBRTBGRjIyOTA3RkJDRTBGRjIyRTUxNTI0OUUKKzo0MDE3MDYwMDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQzdFMEZGMjI5MDdGQzlFMEZGMjI5MDdGQ0JFMEZGMjI5MDdGQ0RFMEZGMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwOTYKKzo0MDE3NDYwMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3QjQxRTBGNTM2NDMxMzEwQTNFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjA5MDdCNDNFMEY1MzdBM0UwNTRGMEY1MjlFMDYwMDJEMjBBMjJDMEUwMjQKKzo0MDE3ODYwMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwODUzOTFFRjkwN0ZBQjc0MDhGMEQwRjcKKzo0MDE3QzYwMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjEyMThDMEFFMDcxMjE4QzBBRDA3RUU2RDYwMTAxMjE4QzBBRTA3RUU2RDYwMDcxMjE4QzBBRDA3ODBFQ0FGMDYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDUKKzo0MDE4MDYwMEQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjI5MDdGRDZFMDQ0MDRGMEUwNDQwOEYwMzAwQjA0RTA0NDAyRjA3RkY0N0UwMTEyMTg2QjkwN0ZENkUwNTRGN0YwMjIxMjEzN0MxMjE4MDQ5MDdGRDZFMDMwRTcwQTdGMDU3RTAwN0QKKzo0MDE4NDYwMDEyMTg2QjEyMTg5RTEyMEFCODIyMDMzNTgwMDAwMDAzMkU4MTAwMDBDMTg1QzE4MUMxMDhDMTAwQzEwNjAxMjIwMDAxMjQwMDAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwODEyMTdGMzEyMTdGMzgwRUIyMkU1NDUKKzo0MDE4ODYwMDE1MjQwNEY1ODJFNDM1MTRGNTgzRTAwNEZGNDQxMDkwN0ZEN0YwRUY0NDMwRjAyMjkwN0ZENkUwNDQwMUYwN0YwRDdFMDAxMjE4NkI5MDdGRDZFMDU0RkVGMDIyOTA3ODQxNzQwMkYwOTBDMDAwRTBGRjIyOTA3ODQxNzQwM0YwRDUKKzo0MDE4QzYwMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDRGMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDVGMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDZGMDkwQzAwMEUwRkYyMkU0OTA3ODQxRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMTIwMTEwMDFGRjAwQUIKKzo0MDE5MDYwMDAwNDBDRDA2MEEwMTAwMDAwMTAyMDAwNDA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwN0EKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM1NTAwNTMwMDQyMDAyMDAwMzQwMDJEMDA3MDAwNkYwMDcyMDA3NDAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDA3MjAwM0MKKzo0MDFBMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzo0MDFBNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzo0MDFBODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzo0MDFBQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxNzg0MDAwMjFCMjYKKzoxNTFCMDYwMDA0MDAwMjE3MzIwMDAyMTdBQjAwMDIxQjEwMDAwMjFCMTQwMDAyMTU4NEJFCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5d2xjLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3bGMuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDZlYjEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5d2xjLkhFWApAQCAtMCwwICsxLDE1MyBAQAorOjAxN0Y5MjAwMDFFRAorOjAzMDAzMzAwMDIxOEZCQjUKKzowRDAwMzYwMEU1MTEwNDkwNzg0MUYwOTBDMDAwRTBGRjIyMzkKKzoxMDAwNDYwMEU0RkY3NDQwMkZGNTgyRTQzNDdCRjU4M0UwRkVFNTE1OEEKKzoxMDAwNTYwMDI0MDRGREU0MzUxNEZBQTkwNTdCMDFFRjdDMDAyOUY5OTcKKzoxMDAwNjYwMEVDM0FGQUVFMTIxMUVDMEZCRjIyRDdFNTE1MjQwNUY1OEUKKzoxMDAwNzYwMDgyRTQzNTE0RjU4M0UwNzAwMzAyMDEzNEU1MTUyNDA5QTIKKzoxMDAwODYwMEY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MEFGNTgyNTEKKzoxMDAwOTYwMEU0MzUxNEY1ODNFMDYwMTg3RjAxRTRGRDEyMTY2QkU1ODQKKzoxMDAwQTYwMDE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NENGRjA4MDQxMTAKKzoxMDAwQjYwMEU1MTUyNDA2RjU4MkU0MzUxNEY1ODNFMEZGMTIwMDAzMDYKKzoxMDAwQzYwMEU1MTUyNDA3RjU4MkU0MzUxNEY1ODNFMEZGMTIxNUFCMzgKKzoxMDAwRDYwMDdGMDFFNTE1MjQwOEY1ODJFNDM1MTRGNTgzRTBGRDEyNjkKKzoxMDAwRTYwMDE2NkJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDMwQ0EKKzoxMDAwRjYwMEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwMDMKKzoxMDAwMDMwMDkwNzg0MTc0RjNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0MUQKKzoxMDAwMTMwMEYwRjA5MEMwMDBFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MTAKKzoxMDAwMjMwMDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyNjUKKzowMzAwNDMwMDAyMUIwMDlECis6MDMwMDAwMDAwMjEwOTA1QgorOjQwMDEwNjAwOTA3ODQxNzRGNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjA5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTA0NDA2OTBDMDAwRjBFNTE1MjQwQkY1ODJFNDM1MTRGNTgzRTA2MDMyRTUxNTI0MEMyQgorOjQwMDE0NjAwRjU4MkU0MzUxNEY1ODNFMDU0M0ZGRkU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQwREY1ODJFNDM1MTRGNTgzRTA3MDAzMDIwMjRGRTU5OAorOjQwMDE4NjAwMTUyNDE3RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDA0RjA4MDBGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGQkYwRTRGRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMEZEMTIxNjZCRTUzQQorOjQwMDFDNjAwMTUyNDBFRjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA0NDgwRjA4MDBGRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNTQ3RkYwRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNTRGQ0YwRTUxNTI0MEZFQgorOjQwMDIwNjAwRjU4MkU0MzUxNEY1ODNFMDYwMkZFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQxMEY1ODJFNDM1MTRGNTgzRTBGRjEyMTYwQkU1MTUyNDExRjU4MkU0MzUxNEY1ODNFMEZGMTIxNjNCRTUxNTI0MzNGNTgyRTQxNQorOjQwMDI0NjAwMzUxNEY1ODNFMEZGMTIxNURCRTUxNTI0MTRGNTgyRTQzNTE0RjU4M0UwNjA0NEU1MTUyNDE1RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA0NDAxRjA4MDBGRTUxNTI0MzlGNTgyRTQzNTE0RjU1RAorOjQwMDI4NjAwODNFMDU0RkVGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MTJGNTgyRTQzNTE0RjU4M0UwNjA0NEU1MTUyNDEzRjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNgorOjQwMDJDNjAwRjU4M0UwNDQwMkYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDU0RkRGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MTZGNTgyRTQzNTE0RjU4M0UwRkZFNTE1MjQzNUY1ODIxQQorOjQwMDMwNjAwRTQzNTE0RjU4M0VGRjBFNTE1MjQxN0Y1ODJFNDM1MTRGNTgzRTAzMEUwMTFFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDQwRjA4MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRCRkYwRTUxNTI0MThGNTgyRTQzNTE0RjU3NgorOjQwMDM0NjAwODNFMEZGRTUxNTI0M0JGNTgyRTQzNTE0RjU4M0VGRjBFNTE1MjQxOUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQxMEYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDU0RUZGMDkwNzg2OQorOjQwMDM4NjAwNDE3NEY0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDFBRjU4MkU0MzUxNEY1ODNFMDYwNkJFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NEJGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTQxRgorOjQwMDNDNjAwRjU4M0UwNTQ3RjkwQzAwMEYwOTA3ODQxNzRGMUYwMTIwMDM2RUY1NEZFOTBDMDAwRjBFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NEZERkZGMEZERTRGRjEyMTY2QkU1MTUyNDJDRjU4MkU0MzUxNEY1ODNFNEYwRTUxNTI0MkJBMworOjQwMDQwNjAwRjU4MkU0MzUxNEY1ODNFNEYwRTUxNjQyMTNFNTE1MjQxQkY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyOEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0MDJGRkYwRkRFNEZGMTIxNjZCRTUyMworOjQwMDQ0NjAwMTUyNDJCRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE2NDIxM0U1MTUyNDFDRjU4MkU0MzUxNEY1ODNFMEZGNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMkE5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTBENgorOjQwMDQ4NjAwNDQwNDkwQzAwMEYwRUY2MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQwNEYwRTUxNTI0MURGNTgyRTQzNTE0RjU4M0UwNjAyN0U1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDQ0NDBGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU2MAorOjQwMDRDNjAwODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjBFNTE1MjQxRUY1ODJFNDM1MTRGNTgzRTA2MDI4RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGRUZGRjBGREU0RkYxMjE2NkJFNTE1MjQyREY1ODJFNDM1MTRGNTgzNzQwMUYwRTU2QgorOjQwMDUwNjAwMTY0MjEzRTUxNTI0MUZGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjdFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDAxRkZGMEZERTRGRjEyMTY2QkU1MTUyNDJERjU4MkU0MzUxNEY1ODM3MworOjQwMDU0NjAwRTRGMEU1MTY0MjEzRTUxNTI0MjBGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMTg5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTA0NDAyOTBDMDAwRjBFNTE1MjQyMUY1ODJCNworOjQwMDU4NjAwRTQzNTE0RjU4M0UwNjAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDJGMEU1MTUyNDIyRjU4MkU0MzUxNEY1ODNFMDYwMUZFNTE1MjQyRUY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0U0RjBGMAorOjQwMDVDNjAwRTUxNjQyMTNFNTE1MjQyM0Y1ODJFNDM1MTRGNTgzRTA2MDAzMTIxODdBRTUxNTI0MjRGNTgyRTQzNTE0RjU4M0UwNjAyM0U1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDhGMEU1MTZDNDU0RjBGRjQyMTE5MDdGOTZFMDRGRjAwMAorOjQwMDYwNjAwOTA3ODQxRTA0RkYwRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyNEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RjdGMEU1MTZDNDU0RjBGNEZGNTIxMTkwN0Y5NkUwNUZGMDkwNzg0MUUwNUZGMDIyOTA3RkU5RTAxMjExRkU0MworOjQwMDY0NjAwMDc5OTAwMDgwRDAxMDg3OTAzMDY2MjA2MDc4QTA4MDc3RTA5MDc2NjBBMDc3NTBCMDAwMDA4Qzg5MDdGRUJFMDI0RkU2MDFDMTQ3MDAzMDIwNzE0MjQwMjYwMDMwMjA3NUM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA4Q0Y0QworOjQwMDY4NjAwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwOTA3RkVBRTAzMEUwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjZENzU4MzE5RjA3NTgyNjY3NTgzMTlGMDc1ODI1Rjc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUEwQQorOjQwMDZDNjAwRTAzMEUxMDQ3RjY0ODAwMjdGMzI3NTgyMUE3NTgzMTlFRkYwOTA3RkVGRTBGRTkwN0ZFRUUwN0MwMDI0MDBGNTE4RUMzRUY1MTc3NTMzMTk3NTM0MTI3NTgyMTQ3NTgzMTlFMDc1MjcwMEY1MjhEM0U1Mjg5NTE4RTUyNzk1MTdENgorOjQwMDcwNjAwNDAwNjg1MTcyNzg1MTgyODEyMTMwRDAyMDhDRjkwN0ZFQUUwRkYxMjE0NUZFQTQ5NjAzMjkwN0ZFRUUwNzUxNzAwRjUxOEFFMDJBRjAxOEUzMzhGMzQ4RjgyOEU4M0UwRkVBM0UwOEUyN0Y1MjhEMzk1MThFNTI3OTUxNzQwMDY4QgorOjQwMDc0NjAwODUxNzI3ODUxODI4MTIxMzBEMDIwOENGOTA3RkI0RTA0NDAxRjAwMjA4Q0Y5MDdGQjRFMDQ0MDFGMDAyMDhDRjkwN0YwMEU1MjVGMDkwN0ZCNTc0MDFGMDAyMDhDRjkwN0ZFQUUwRjUyNTAyMDhDRjkwN0ZFQUUwRjUyMjEyMEE5QgorOjQwMDc4NjAwQ0UwMjA4Q0Y5MDdGMDBFNTIyRjA5MDdGQjU3NDAxRjAwMjA4Q0Y5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjAwRTQzM0ZGMjVFMEZGQTIwNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwOENGRTRDOQorOjQwMDdDNjAwOTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwOENGOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA4Q0Y5MDdGQjQ1QworOjQwMDgwNjAwRTA0NDAxRjAwMjA4Q0Y5MDdGRThFMDI0RkU2MDFEMjQwMjYwMDMwMjA4Q0Y5MDdGRUFFMEI0MDEwNUMyMDAwMjA4Q0Y5MDdGQjRFMDQ0MDFGMDAyMDhDRjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQ5MAorOjQwMDg0NjAwMDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTBDQQorOjQwMDg4NjAwN0ZFQUUwQjQwMTA0RDIwMDgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA0NgorOjQwMDhDNjAwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkU1MTI1NDBGNzAwMzAyMDlDODEyMTY5QUVGMjBFMTc1MTIxNkY4RUYxNEY1MTgxMjE4QzVFRjI1MThGRkU0MzNGRUMzRUY5NDgwRUU2NDgwOTQ4MDUwNTk4NTE1ODIwMQorOjQwMDkwNjAwODUxNDgzRTBGRUEzRTBGRkY1ODI4RTgzRTAzMEUwMTFFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDgwRjA4MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTQ3RkYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMjBFMjEyRTVDQworOjQwMDk0NjAwMTg2MDBFRjUyM0VGMjQwMUY1MkRFNDNFRjUyQzEyMTRBMEU0RkYxMjE0RDdFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU3NUQxMjE4QzVFNTE1MjQzQkY1ODJFNDM1MTRGNTgzRTBGRUVGQzM5RTUwNDhFNTE1MjQyRkY1ODIwNworOjQwMDk4NjAwRTQzNTE0RjU4Mzc0MDFGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0N0JGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFNEYwRTUxNjQyMTM5MDdGQzJFMDMwRTExMEU1MTUyNDI2RjU4MkU0MzUxNEY1ODNFMEY1MjQ4MDAzMTJDNQorOjQwMDlDNjAwMTI5QzEyMTZDOUVGMzBFMTAzMDIwQUNEMTIxN0M3OEYxODEyMThEM0U1MTUyNDM4RjU4MkU0MzUxNEY1ODNFRkYwRTUxNTI0MzVGNTgyRTQzNTE0RjU4M0UwRkZFNTE4QzM5RjUwMjgxMjE4QTlFRjMwRTAyMUU1MTUyNDM4RjUyRQorOjQwMEEwNjAwODJFNDM1MTRGNTgzRTAyMEU3MTJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAyMEUxMDMwMjBBQ0RFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NEZERjBFNTE4NzAwMzAyMEFDREI0ODAwRkU1MTUyNDM4RjU4MkU0MzUxNEY1ODNERQorOjQwMEE0NjAwRTA0NDAyRjBFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTBGRjMwRTcyOUU1MThEMzk0MjA0MDAzNzUxODIwODUxODIzODUxNTgyODUxNDgzQTNBM0UwRkNBM0UwOEMyQ0Y1MkQxMjEzQ0ZFNTE4MjVFMEZGMTIxNTBEMjJFNTE4RDNDMworOjQwMEE4NjAwOTQzRjQwMDM3NTE4M0Y4NTE4MjNFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTBGRjg1MTU4Mjg1MTQ4M0EzQTNFMEZDQTNFMEY1ODI4QzgzRUZGMDg1MTU4Mjg1MTQ4M0EzQTNFMEZFQTNFMDI0MDFGNTJERTQzRUY1MkMxMjE0MUQ0RgorOjQwMEFDNjAwRTUxODA0RkYxMjE1MEQyMkU0OTA3RjkzRjA5MDdGOUM3NEZGRjBFNDkwN0Y5NkYwOTA3Rjk0RjA5MDc4NEEwNEYwRjU4RTkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MkZGMDkwNzg0Mzc0RjdGMEU0OTA3ODQxRjAyQworOjQwMEIwNjAwOTA3RkRGNzQ5RkYwOTA3RkRFRjA5MDdGOTJFMDQ0MDJGMDdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk4NzQyRUYwNzUxNjAxMTIwRjI4N0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTg3NDJFRjA3NTE2MDFFNTE1MjQyNkY1ODI5MAorOjQwMEI0NjAwRTQzNTE0RjU4M0U0RjA3RTdFN0Y0MDg1MTU4Mjg1MTQ4Mzc0N0VGMEEzNzQ0MEYwN0U3RTdGODA4NTE1ODI4NTE0ODNBM0EzNzQ3RUYwQTM3NDgwRjA3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMjEyMEYwQQorOjQwMEI4NjAwMjg3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMkU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDAxRjA3RTdEN0ZDMDg1MTU4Mjg1MTQ4Mzc0N0RGMEEzNzRDMEYwN0U3RTdGMDA4NTE1ODI4NTE0ODNBM0EzNzRFRQorOjQwMEJDNjAwN0VGMEEzNzQwMEYwN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDQxMjBGMjg3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNEU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDAyRjA3RTdEN0Y1NworOjQwMEMwNjAwNDA4NTE1ODI4NTE0ODM3NDdERjBBMzc0NDBGMDdFN0Q3RjgwODUxNTgyODUxNDgzQTNBMzc0N0RGMEEzNzQ4MEYwN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTg3NDI3RjA3NTE2MDgxMjBGMjg3RTdDN0Y4MDc1MTQ3Qzc1MTU5MAorOjQwMEM0NjAwODA5MDdGOTg3NDI3RjA3NTE2MDhFNTE1MjQyNkY1ODJFNDM1MTRGNTgzNzQwM0YwN0U3QzdGQzA4NTE1ODI4NTE0ODM3NDdDRjBBMzc0QzBGMDdFN0Q3RjAwODUxNTgyODUxNDgzQTNBMzc0N0RGMEEzNzQwMEYwQzIwQUMyMDlEMworOjQwMEM4NjAwRTRGNTExRDIwMjIyRTUxMDA0NTQwM0Y1MTAxNDYwMUYxNDYwMzExNDYwNDMyNDAzNzA1MjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk4NzQyRUYwNzUxNjAxODAzRDdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzU2NAorOjQwMENDNjAwMTYwMjgwMjg3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNDgwMTM3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwOEU1MzI1NTE2NzAwMzAyMEUyN0U1MTZGNDUyMzJFNTI2NTQ3RkZGNzA5NQorOjQwMEQwNjAwMTdFNTJBNTUxNjYwMzQ5MDdGOTZFMEZFRTUxNkM0NTRGMEY0RkRFRTVERjA4MDIzQkYyMDIwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFMzExRTRGNTJBOTA3Rjk2RTBGRkU1MTZDNDU0RjBGRUVGNEVGMEU1MTUyNDNBRjVDMworOjQwMEQ0NjAwODJFNDM1MTRGNTgzRTA2MDAzRTAxNEYwRTUxNTI0MzRGNTgyRTQzNTE0RjU4M0UwNjAwM0UwMTRGMEUwNjAwMzAyMEUyNzc0MEFGMDEyMDAzNkVGNTQwMUZGRjUxOEU1MTUyNDJDRjU4MkU0MzUxNEY1ODNFMDZGNjAwN0U1MThGMQorOjQwMEQ4NjAwRjBFNTE2NDIxMzEyMThFMThGMThFNTE1MjQyN0Y1ODJFNDM1MTRGNTgzRTBGRkU1MTg1NDEwRkU2RjYwMDZFRUYwRTUxNjQyMTNFNTE1MjQyOEY1ODJFNDM1MTRGNTgzRTBGRkU1MTg1NDgwRkU2RjYwMDZFRUYwRTUxNjQyMTM4NgorOjQwMERDNjAwRTUxNTI0MjlGNTgyRTQzNTE0RjU4M0UwRkZFNTE4NTQyMEZFNkY2MDE1RUVGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTQwNEU1MTY0MjEzRTUxNTI0MkFGNTgyRTQzNTE0RjU4M0UwRkZFNTE4NTQ0MEZFNkY2MDE1RUUyMworOjQwMEUwNjAwRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU1MDRFNTE2NDIxM0U1MTUyNDMwRjU4MkU0MzUxNEY1ODNFNEYwMjIzMDA5MDMwMjBGMjdFNTI0MTQ2MDJBMTQ2MDQxMTQ2MDU4MTQ2MDZGMjQwNDYwMDMwMjBFRTU3RTdCN0YzMQorOjQwMEU0NjAwQzA3NTE0N0I3NTE1QzA5MDdGOTg3NDJFRjA3NTE2MDExMjEyOUM3NTI0MDEyMjdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzUxNjAyMTIxMjlDNzUyNDAyMjI3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkIwNQorOjQwMEU4NjAwRjA3NTE2MDQxMjEyOUM3NTI0MDMyMjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4MTIxMjlDNzUyNDA0MjIzMDA0MzNDMjA0NTMxM0RGRTRGNTE4N0UwMDdCMDA3NDJFMjUxOEY5RUUzNDAwRkExMjExQTZDQQorOjQwMEVDNjAwRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwNzUyNDA1MjJFNTM2NjAzQkQ1MzYwQTUzMTNFRjMwMEEwNEQyMDlDMjBBRTRGNTE4N0UwMDdCMDA3NDM1MjUxOEY5RUUzNDAwRkFDQworOjQwMEYwNjAwMTIxMUE2RkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTI0MjJFNEY1MTk3RTAwN0IwMUU1MTUyNTE5RjlFRTM1MTRGQUU0MTIxMUVDMDUxOUU1MTlCNDNDRThFNTE1MjRGQQorOjQwMEY0NjAwMzVGNTgyRTQzNTE0RjU4Mzc0MDFGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODM3NDAzRjA5MEMwMDBGMDdGMENFNEZEMTIxNjZCN0YxMEU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFRkYwMTIxNURCOTA3ODQxNzQ2NAorOjQwMEY4NjAwRjJGMDdGMDFFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRUZGMDQ0MDY5MEMwMDBGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODM3NDgwRjA5MEMwMDBGMDBGRTRGRDEyMTY2QkU0RkY3RUEzRTUxNTI0MzJGNTgyRTQ4NgorOjQwMEZDNjAwMzUxNEY1ODNFRUYwRkQxMjE2NkI5MDc4NDE3NEYxRjA5MEMwMDBFNEYwN0YwNTdEN0YxMjE2NkI3RjAxMTIxNTQzN0YwMzdEMDcxMjE2NkIyMjUzMTMzRjkwN0JGMUUwMzBFMzE2N0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTg2QgorOjQwMTAwNjAwNzQyRUYwNzUxNjAxMTIwOEQ3OTA3QzMxRTAzMEUzMTY3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMjEyMDhENzkwN0M3MUUwMzBFMzE2N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDRDNAorOjQwMTA0NjAwMTIwOEQ3OTA3Q0IxRTAzMEUzMTY3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwODEyMDhENzA1MTJFNTEyNTQwRkY1MTc3MDA0MTIxMTFDMjJFNTE3QjQwMTA0MTIwQzhDMjI5MDdGQzJFMDIwRTEwOEU1MTM3MAorOjQwMTA4NjAwNjAwNDEyMEUyODIyMTIwQzhDMjI3ODdGRTRGNkQ4RkQ3NTgxMzcwMjEwRDcwMjEyMjRFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjRENworOjQwMTBDNjAwNTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTg0NUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4OQorOjQwMTEwNjAwODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkU5MDdGRDJFMDMwRTEwMzAyMTFBNUMyMDk5MDdCNDBFMDE0NjAyNjE0NjAzQjE0NjA1MDI0ODM2MDY0MjQ4MDcwNjM3RTdCN0ZDMDc1MTQ3Qjc1MTUzQQorOjQwMTE0NjAwQzA5MDdGOTg3NDJFRjA3NTE2MDExMjAwNDY4MDRCN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTg3NDJERjA3NTE2MDIxMjAwNDY4MDMzN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDQxMjAwNDY4MDFCN0UyQgorOjQwMTE4NjAwN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4MTIwMDQ2ODAwMzEyMTc1MUU0OTA3RkQzRjAyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjVCOAorOjQwMTFDNjAwODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzBCNgorOjQwMTIwNjAwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOTA3RkFFRTBGRkQzOTIwMEU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZDMgorOjQwMTI0NjAwRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGNzQwMUYwOTA3RkFFNzQwREYwRDJBRkQyMEIxMjE4MDlDMjAxRTRGNTJCRjUzMUMyMDdDMjAyNzUyOTBGOTA3RkQ4RTA2NTI2NjAwNjc1MzIwRkUwRjUyNjMwMDIwMzEyMEY4QworOjQwMTI4NjAwRUYzMDAxMDdDMjAxMTIwNjNGODBFMjMwMDhERkMyMDgxMjE4MkE4MEQ4MjJFNTEzNTUxNjYwNkFFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTA3MDVDRTUxNkY0NTIxM0U1MTUyNDI2RkZFNDM1MTRGRUU0RkQwRkVGQUEwNjcwMDFDNworOjQwMTJDNjAwMEUxNEY1ODI4QTgzRTBGQzc0ODAyREY1ODJFNDM0N0JGNTgzRUNGMDBEQkQwQkUyOTA3RkMzNzQwQkYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4Mzc0MTBGMEU1MTUyNDJFRjU4MkU0MzUxNEY1ODNFNEYwRTUxNTI0MkZGNTgyRTQyMworOjQwMTMwNjAwMzUxNEY1ODNFNEYwMjJFNTI4NDUyNzYwNTdBRTI3QUYyOEQzRUY5NDQwRUU5NDAwNDAwNDdFMDA3RjQwQzNFNTI4OUZGNTI4RTUyNzlFRjUyN0U0RkRFREMzOUZFNDlFNTAxRjg1MzQ4Mjg1MzM4M0UwRkM3NDAwMkRGNTgyRTRCQQorOjQwMTM0NjAwMzQ3RkY1ODNFQ0YwMEQwNTM0RTUzNDcwMDIwNTMzODBEQTkwN0ZBOTc0MDFGMDkwN0ZBQ0UwNDQwMUYwOTA3RkI1RUZGMDIyOTA3RkFDRTA1NEZFRjBFNDkwN0ZCNUYwMjI5MDdGOTg3NDBGRjBFNDkwNzg0QUYwOTA3Rjk0RjBFMQorOjQwMTM4NjAwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwNzg0MUYwOTA3RjkzRjA5MDdGOUM3NEZGRjAzMDAwMDdFNTI5NTQwRkZGODAwMjdGMDA5MDdGOTZFRkYwOTA3Rjk4NzQxRkYwRTQ5MDdGOTVGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0REZBRAorOjQwMTNDNjAwRjA5MDdGOTJFMDU0RkRGMDIyOEYxOTA1MkRFNTJEQUUyQzcwMDIwNTJDMTRGNTgyOEU4M0U1MTlGMDEyMThFRjA1MkRFNTJEQUMyQzcwMDIwNTJDMTRGNTgyOEM4M0VGRjAxNTIzRTUyMzYwMUZFNTE1MjQzOEY1ODJFNDM1MTQxNgorOjQwMTQwNjAwRjU4M0MwODNDMDgyRTBGRTEyMThEMzhGMTlFRTRGRDA4MkQwODNGMDgwQjUyMjkwNzg0MUU1MTFGMDkwNzg0Rjc0QzBGMEU0OTA3ODUwRjBFNTJDOTA3ODUxRjBBRTJDRTUyRDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3ODU3NzQ3MAorOjQwMTQ0NjAwMDRGMDkwN0ZFMkUwNDQxMEYwRTA1NEY3RjBFNDkwNzg1NUYwOTA3ODU1RTA2MEZBMjI4RjE5RTRGNTFBNzUxQkZGNzUxQzE5NzUxRDg2QUIxQkFBMUNBOTFEOTAwMDAxMTIxMUJGQjQwMzFEQUYxQTA1MUFFRkI1MTkwMTIyMTJGOQorOjQwMTQ4NjAwMTFBNjdFMDAyOUZGRUUzQUE5MDc3NTFCRkZGNTFDODkxRDgwRDQ3QjAwN0EwMDc5MDAyMjkwNzg0MUU1MTFGMEU1MkM5MDc4NEZGMEFFMkNFNTJEOTA3ODUwRjA5MDc4NTE3NEMwRjBFNDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3RAorOjQwMTRDNjAwNzg1Nzc0MDRGMEU0OTA3ODU1RjA5MDc4NTVFMDYwRkEyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRjE0NjAxMzE0NjAxNzgwMDA5MDdGQzdFRkYwODAxMzkwN0ZDOUVGRjA4MDBDOTA3RkNCRUZGMDgwMDU5MDdGQ0RFRAorOjQwMTUwNjAwRUZGMEU1MTY0MjJBMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEYxNDYwMTMxNDYwMTc4MDAwOTA3RkI3RUZGMDgwMTM5MDdGQjlFRkYwODAwQzkwN0ZCQkVGRjA4MDA1OTA3RkJERUZGMEU1MTY0MjJBMjJBRTA3RTRBNAorOjQwMTU0NjAwRkZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NDdGRkQxMjE2NkI5MDc4NDE3NEYxRjA5MEMwMDBFRUYwRTRFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDgwRkQxMjE2NkIyMkMwRTBDMEYwQzA4M0MwODJDMDg1QzA4NEMwODZBMQorOjQwMTU4NjAwNzU4NjAwQzBEMDc1RDAwODUzOTFFRjkwN0ZBOTc0MDFGMDEyMTMwREQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRjBEMEUwMzI5MDc4NDE3NEYzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NEYxRjA5MEMwMDBFRkYwOTA3ODQxNzRBOAorOjQwMTVDNjAwRjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyOTA3ODQxNzRGM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzRGMkYwOTBDMDAwRUZGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0ZENworOjQwMTYwNjAwOTBDMDAwRjAyMjkwNzg0MTc0RjNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0RjRGMDkwQzAwMEVGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0RjNGMDkwQzAwMDc0QkYxNgorOjQwMTY0NjAwRjA5MDc4NDE3NEY2RjA5MEMwMDBFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjA5MDc4NDEyRgorOjQwMTY4NjAwNzRGN0YwOTBDMDAwRUZGMDkwNzg0MTc0RjVGMDkwQzAwMEVERjAyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQzZFMEZGMjI5MDdGQzhFMEZGMjI5MDdGQ0FFMEZGMjI5MDdGQ0MxOQorOjQwMTZDNjAwRTBGRjIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZCNkUwRkYyMjkwN0ZCOEUwRkYyMjkwN0ZCQUUwRkYyMjkwN0ZCQ0UwRkYyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwMAorOjQwMTcwNjAwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkM3RTBGRjIyOTA3RkM5RTBGRjIyOTA3RkNCRTBGRjIyOTA3RkNERTBGRjIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZCRgorOjQwMTc0NjAwRDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0I0MUUwRjUzNjQzMTMxMEEzRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwOTA3QjQzRTBGNTM3QTNFMDU0RjBGNTI5RTA2MDAyRDIwQTIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzVBNgorOjQwMTc4NjAwODYwMEQyMDE1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzQworOjQwMTdDNjAwMzIxMjE4QjdBRTA3MTIxOEI3QUQwN0VFNkQ2MDEwMTIxOEI3QUUwN0VFNkQ2MDA3MTIxOEI3QUQwNzgwRUNBRjA2MjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDA0OAorOjQwMTgwNjAwMDAwMDIyOTA3RkQ2RTA0NDA0RjBFMDQ0MDhGMDMwMEIwNEUwNDQwMkYwN0ZGNDdFMDExMjE4NjA5MDdGRDZFMDU0RjdGMDIyMTIxMzc3MTIxN0Y5OTA3RkQ2RTAzMEU3MEE3RjA1N0UwMDEyMTg2MDEyMTg5MzEyMEFDRTIyMDM3OAorOjQwMTg0NjAwMzU4MDAwMDAwMzJFODEwMDAwQzE4NUMxODFDMTA4QzEwMEMxMDYwMTIyMDAwMTI0MDAwMDhFMTc4RjE4RTUxODE1MThBRTE3NzAwMjE1MTc0RTYwMDgxMjE3RTgxMjE3RTg4MEVCMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTA3RQorOjQwMTg4NjAwMDRGRjQ0MTA5MDdGRDdGMEVGNDQzMEYwMjI5MDdGRDZFMDQ0MDFGMDdGMEQ3RTAwMTIxODYwOTA3RkQ2RTA1NEZFRjAyMkU1MTEyNDAyOTA3ODQxRjA5MEMwMDBFMEZGMjJFNTExMjQwMzkwNzg0MUYwOTBDMDAwRTBGRjIyRTU5NworOjQwMThDNjAwMTEyNDA0OTA3ODQxRjA5MEMwMDBFMEZGMjJFNTExMjQwNTkwNzg0MUYwOTBDMDAwRTBGRjIyRTUxMTI0MDY5MDc4NDFGMDkwQzAwMEUwRkYyMjkwNzg0MUU1MTFGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAxMjAxMTAwMUZGRkZERQorOjQwMTkwNjAwRkY0MENEMDYyQTAxMDAwMDAxMDIwMDA0MDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA1QgorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjQwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MTAwMkQwMDM0MDAzOTAwNTcwMDRDMDA0MzAwMjIwMzU1MDA1MzAwNDEwMDJEMDAzNjAwMzUwMDIwMDBCNQorOjQwMUEwNjAwMzIwMDMwMDAzMDAwMzMwMDZBMDA2MTAwNkUwMDMzMDAzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjQwMUE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjQwMUE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjQwMUFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjE3NzkwMDAyMUIzMQorOjE1MUIwNjAwMDQwMDAyMTcyNzAwMDIxN0EwMDAwMjFCMTAwMDAyMUIxNDAwMDIxNTc4RTAKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAzCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKKworc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNDlbXSA9CisgICAgICAgICIwMi8xNC8yMDAyICAwMjozN3AgICAgICAgICAgICAgIDE5LDM0NyBVU0E0OSI7CisKK3N0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTY1W10gPQorICAgICAgICAiMDEvMzEvMjAwMyAgMDk6MzRhICAgICAgICAgICAgICAxOSwzMzEgVVNBNjUiOworCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5IRVggYi9maXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZjZjAyYgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLkhFWApAQCAtMCwwICsxLDgzIEBACis6MDMwMDAwMDAwMjAyMDBGOQorOjA0MDAyMzAwMDIwNTVGMDA3MworOjA0MDA0MzAwMDIwMTAwMDBCNgorOjA1MDAzMDAwMDAwMDAwMDAwMENCCis6MTAwMTAwMDAwMjAyOTYwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDRGCis6MTAwMTEwMDAwMjAwMDAwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMEQ3Cis6MTAwMTIwMDAwMjAwMDAwMDAyMDAwMDAwMDIwNDYxMDAwMjA0ODkwMEQ1Cis6MTAwMjAwMDA3NTgxNUVFNEY1MzJGNTMzRjUzMEY1MzFGNTM0QzIwMDMxCis6MTAwMjEwMDBDMjAxQTkwMDc0RkU5MDEwMDBGMEEzRDlGQzc0RkQ5MEY3Cis6MTAwMjIwMDAxMTAwRjBBM0Q5RkM3NDAyOTA3RjlERjA3NDAwOTA3RkMwCis6MTAwMjMwMDA5N0YwNzQ4NjkwN0Y5RUYwOTA3Rjk1NzQwM0YwOTA3Rjg2Cis6MTAwMjQwMDBBRkUwRDJFMEYwNzQwMTkwN0ZBQkYwOTA3RkFFRjA5MDIxCis6MTAwMjUwMDA3RkFDNzQwNEYwOTA3RkFENzQwNEYwOTA3RkM5RjA3NEFCCis6MTAwMjYwMDA4NDkwN0Y5OEYwNzQwMEY1OTg3NUM4MzA3QjA1OTEyMEQ0Cis6MTAwMjcwMDBEMkNBNzU5ODUwRDJFOEQyQUZEMkFDNzQwMEY1ODY5MDRECis6MTAwMjgwMDA3RkQ2NzQwMkYwNzkyRTdBMDA3QjAwREJGRURBRkFEOTkxCis6MTAwMjkwMDBGNjc0MDZGMDgwRkVDMDg2QzA4MkMwODNDMDg0QzA4NTJDCis6MTAwMkEwMDBDMEUwRTU5MUMyRTRGNTkxOTA3RkFCNzQwMUYwOTA3RkRFCis6MTAwMkIwMDBFOEUwRjlBM0UwRkFBM0UwRkJBM0UwRkNFOTU0NjBCNEIyCis6MTAwMkMwMDAwMDAzMDIwMzM5QjQ0MDZFQkEwMDBCMTIwNDIwNDAwMzRECis6MTAwMkQwMDAwMjA0MDIwMjA0MEFCQTAxMDMwMjA0MEFCQTAyMDMwMjc3Cis6MTAwMkUwMDAwNDBBQkEwMzAzMDIwNDQ0QkEwNDFFQkIwMDBBOTA3RjQ2Cis6MTAwMkYwMDA5NUUwNDQwMkYwMDIwNDAyOTA3Rjk4RTA1NEZERjA5MEYzCis6MTAwMzAwMDA3Rjk1RTA1NEZERjAwMjA0MDJCQTA1MDMwMjA0MEFCQTI0Cis6MTAwMzEwMDAwNjE5QkIwMDA4RTUzM0QzOTUzMjAyMDNERUJCMDEwOEEyCis6MTAwMzIwMDBFNTMyQzM5NTMzMDIwM0RFMDIwNDBBQkEwNzA1OEIzNEIzCis6MTAwMzMwMDAwMjA0MDIwMjA0MEEwMjA0MEFCQTAwMjBCOTgwMTA5MEUyCis6MTAwMzQwMDA3RjAwRTRGMEEzRjA5MDdGQjU3NDAyRjAwMjA0MDJCOURDCis6MTAwMzUwMDA4MjAyODBFQkI5ODEwMjgwRTYwMjA0MEFCQTAxMEZCQjc3Cis6MTAwMzYwMDAwMDAzMDIwNDBBQkIwMTAzMDIwNDAyMDIwNDBBQkEwM0U2Cis6MTAwMzcwMDAwRkJCMDAwMzAyMDQwQUJCMDEwMzAyMDQwMjAyMDQwQUM5Cis6MTAwMzgwMDBCQTA2NTZCQzAxMEY5MDdGRDQ3NDA2RjA5MDdGRDU3NEU2Cis6MTAwMzkwMDAxMkYwMDIwNDAyQkMwMjEyQkIwMDZGOTA3RkQ0NzQwNkZDCis6MTAwM0EwMDBGMDkwN0ZENTc0MjRGMDAyMDQwMkJDMDMyOTc0MDRDM0M2Cis6MTAwM0IwMDA5QjQwNTc2MDU1RUIyQjkwMDY0NDI1ODJGNTgyNzQwMEQ0Cis6MTAwM0MwMDAzNTgzRjU4M0UwRjlBM0UwRkE5MDdGRDRFOUYwOTA3RkRDCis6MTAwM0QwMDBENUVBRjAwMjA0MDIwMjA0MEFCQTA4MEY3NDAxOTA3RjAxCis6MTAwM0UwMDAwMEYwNzQwMTkwN0ZCNUYwMDIwNDAyQkEwOTAzMDIwNDIwCis6MTAwM0YwMDAwMkJBMEEwNTc0MDAwMjAzREVCQTBCMDMwMjA0MDIwMjA5Cis6MTAwNDAwMDAwNDBBOTA3RkI0NzQwMkYwODAwOTkwN0ZCNEUwNDQwMTQ0Cis6MTAwNDEwMDBGMDgwMDBEMEUwRDA4NUQwODREMDgzRDA4MkQwODYzMkU2Cis6MTAwNDIwMDBFQjIwRTcxRUMzOTQwQTUwMTlFQjIzMjRGRUY1ODI3NEQ3Cis6MTAwNDMwMDAwNTM0MDBGNTgzRTBGNUNCRjVDREEzRTBGNUNBRjVDQ0E2Cis6MTAwNDQwMDBDMzIyRDMyMkI5NDExMUVCNjRGRjU0ODRGQjkwN0Y5OEZGCis6MTAwNDUwMDBFMDU0N0I0QkYwMDIwNDAyOTA3RjlCRTA2NEZGMDIwM0I4Cis6MTAwNDYwMDBERUMwODZDMDgyQzA4M0MwODRDMDg1QzBFMEU1OTFDMjgyCis6MTAwNDcwMDBFNEY1OTE5MDdGQTk3NDA0RjAxMjA1QTBEMEUwRDA4NTM2Cis6MTAwNDgwMDBEMDg0RDA4M0QwODJEMDg2MzJDMDg2QzA4MkMwODNDMDYwCis6MTAwNDkwMDA4NEMwODVDMEUwRTU5MUMyRTRGNTkxOTA3RkFBNzQwNDIwCis6MTAwNEEwMDBGMDkwN0ZDOUUwRjlFNEY1ODY5MDdEQzA3NTg1MTA4NUYwCis6MTAwNEIwMDAzMjg0RTAwNTg2MDU4NEYwRTU4NEI1MzMwMjgwMDkwNUMxCis6MTAwNEMwMDAzMjA1ODZBM0Q5RUM4MDAwOTA3RkM5RjBCMTMxRDBFMDJECis6MTAwNEQwMDBEMDg1RDA4NEQwODNEMDgyRDA4NjMyRTRGNTg2OTA3RkQ4Cis6MTAwNEUwMDBCQ0UwMjBFMTRCOTA3RDAwRTUzMkYwQTNFNTMzRjBBM0MyCis6MTAwNEYwMDBFNTMwRjBBM0U1MzFGMEEzRTQzMDAwMDEwNEYwQTMwNUZBCis6MTAwNTAwMDA4NjkwMTAwMDc5MTBFMEEzMDU4NkYwQTMwNTg2RDlGNjQxCis6MTAwNTEwMDAwNTg2NzRGQ0YwQTMwNTg2OTAxMTAwNzkxMEUwQTMwNTEwCis6MTAwNTIwMDA4NkYwQTMwNTg2RDlGNkU0RjU4NjkwN0ZCRDc0MjZGMEEzCis6MTAwNTMwMDAyMjIwMDAxM0U1MzJCNTMzMDEyMjA1MzM3NTgzMTA4NTdGCis6MTAwNTQwMDAzMzgyRTBGNTk5RDIwMDc0MDBCNTM0MDEyMkU1MzNEMzRCCis6MTAwNTUwMDA5NTMyQzM5NTM0NDBGNTc1MzQwMEQyMDEwMjA1QTBDMDMwCis6MTAwNTYwMDA4NkMwODJDMDgzQzA4NEMwODVDMEUwMzA5OTA3QzI5OTJDCis6MTAwNTcwMDBDMjAwMTIwNTM0MzA5ODA1MTIwNThBQzI5OEQwRTBEMDI2Cis6MTAwNTgwMDA4NUQwODREMDgzRDA4MkQwODYzMjc1ODMxMTg1MzA4MjI1Cis6MTAwNTkwMDAwNTgyRTU5OUYwRTU4MkI1MzEwMTIyMDUzMEIxQTAyMjRFCis6MTAwNUEwMDA5MDdGQjhFMDIwRTEzODIwMDEzNkU1MzBCNTMxMDEyMkY2Cis6MTAwNUIwMDBFNEY1ODY3NTgzMTEwNTg2OTA3RTAwRjBBMzA1ODY3OUEzCis6MTAwNUMwMDAwMUU1MzBCNTMxMDI4MDEwMDUzMTg1MzE4MkUwMDU4NkM0Cis6MTAwNUQwMDBGMEEzMDU4NjA5Qjk0MEU5OTA3RkI5RTk2MDAxRjAyMkVFCis6MTAwNUUwMDBDMjAxRTRGNTg2OTA3RTAwNzQwMUYwQTM3NDAyRjA5MERECis6MTAwNUYwMDA3RkI5RjAyMkMyOTlGNTk5MzA5OUZEQzI5OTIyRTU1RTQyCis6MTAwNjAwMDBGNjNDRkQ4RkZFQzhGRjY0RkZCMkZGRDlGRkVERkZGMzlDCis6MTAwNjEwMDBGRkZBMTIwMTAwMDFGRkZGRkY0MENEMDYwNDAxODlBQjg0Cis6MTAwNjIwMDAwMTAyMDMwMTA5MDIyMDAwMDEwMTAwODAzMjA5MDQwMEQ3Cis6MTAwNjMwMDAwMDAyRkZGRkZGMDAwNzA1ODIwMzQwMDAwMTA3MDUwMkRCCis6MTAwNjQwMDAwMjQwMDAwMDA2NEMwNjUwMDY3MjA2QTAwNDAzMDAwMDlCCis6MTAwNjUwMDAyMjAzNDEwMDQzMDA0RDAwNDUwMDIwMDA3NTAwNzMwMDU3Cis6MTAwNjYwMDA2MjAwMjAwMDc3MDA2OTAwNjQwMDY3MDA2NTAwNzQwMDg0Cis6MTAwNjcwMDA3MzAwMkUwMzQxMDA0MzAwNEQwMDQ1MDAyMDAwNTUwMDRCCis6MTAwNjgwMDA1MzAwNDIwMDIwMDA3MzAwNjUwMDcyMDA2OTAwNjEwMEExCis6MTAwNjkwMDA2QzAwMjAwMDc3MDA2OTAwNjQwMDY3MDA2NTAwNzQwMDRBCis6MDYwNkEwMDAwNjAzMzQwMDM3MDBFMAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5TIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuUwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLlMKcmVuYW1lIHRvIGZpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLlMKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuSEVYIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEveGlyY29tX3Bncy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTliMDBkNwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuSEVYCkBAIC0wLDAgKzEsODcgQEAKKzowMzAwMDAwMDAyMDIwMEY5Cis6MDQwMDIzMDAwMjA1OUIwMDM3Cis6MDUwMDMwMDAwMDAwMDAwMDAwQ0IKKzowNDAwNDMwMDAyMDEwMDAwQjYKKzoxMDAxMDAwMDAyMDJCQTAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwMkIKKzoxMDAxMTAwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwRDcKKzoxMDAxMjAwMDAyMDAwMDAwMDIwMDAwMDAwMjA0ODUwMDAyMDRCOTAwODEKKzoxMDAyMDAwMDc1ODE1RUU0RjUzMkY1MzNGNTMwRjUzMUY1MzRDMjAwMzEKKzoxMDAyMTAwMEMyMDFBOTAwNzRGRTkwMTAwMEYwQTNEOUZDNzRGRDkwRjcKKzoxMDAyMjAwMDExMDBGMEEzRDlGQzkwN0Y5NDc0QkZGMDkwN0Y5NTc0NzcKKzoxMDAyMzAwMEVGRjA3NDEwOTA3RjlFRjA3NDAwOTA3Rjk4RjA3NDQwRkYKKzoxMDAyNDAwMDkwN0Y5REYwNzQwMDkwN0Y5N0YwNzQ4MjkwN0Y5RUYwNzUKKzoxMDAyNTAwMDkwN0Y5NTc0MDNGMDkwN0ZBRkUwRDJFMEYwNzQwMTkwNEUKKzoxMDAyNjAwMDdGQUJGMDkwN0ZBRUYwOTA3RkFDNzQwNEYwOTA3RkFERTgKKzoxMDAyNzAwMDc0MDRGMDkwN0ZDOUYwNzQwNzkwN0ZBRkYwNzQyMDkwMDEKKzoxMDAyODAwMDdGOUNGMDc0ODA5MDdGOThGMDc0NTNGNTk4NzVDODMwMTcKKzoxMDAyOTAwMDdCMDU5MTQ0RDJDQTc1OTg1MEQyRThEMkFGRDJBQzc0RTMKKzoxMDAyQTAwMDAwRjU4NjkwN0ZENjc0MDJGMDc5MkU3QTAwN0IwMERCMTEKKzoxMDAyQjAwMEZFREFGQUQ5RjY3NDA2RjA4MEZFQzA4NkMwODJDMDgzRUEKKzoxMDAyQzAwMEMwODRDMDg1QzBFMEU1OTFDMkU0RjU5MTkwN0ZBQjc0MzUKKzoxMDAyRDAwMDAxRjA5MDdGRThFMEY5QTNFMEZBQTNFMEZCQTNFMEZDRTMKKzoxMDAyRTAwMEU5NTQ2MEI0MDAwMzAyMDM1REI0NDA2RUJBMDAwQjEyMUYKKzoxMDAyRjAwMDA0NDQ0MDAzMDIwNDI2MDIwNDJFQkEwMTAzMDIwNDJFMjEKKzoxMDAzMDAwMEJBMDIwMzAyMDQyRUJBMDMwMzAyMDQ2OEJBMDQxRUJCMzUKKzoxMDAzMTAwMDAwMEE5MDdGOTVFMDQ0MDJGMDAyMDQyNjkwN0Y5OEUwNjYKKzoxMDAzMjAwMDU0RkRGMDkwN0Y5NUUwNTRGREYwMDIwNDI2QkEwNTAzRDkKKzoxMDAzMzAwMDAyMDQyRUJBMDYxOUJCMDAwOEU1MzNEMzk1MzIwMjA0MzUKKzoxMDAzNDAwMDAyQkIwMTA4RTUzMkMzOTUzMzAyMDQwMjAyMDQyRUJBNEYKKzoxMDAzNTAwMDA3MDU4QjM0MDIwNDI2MDIwNDJFMDIwNDJFQkEwMDIwNjQKKzoxMDAzNjAwMEI5ODAxMDkwN0YwMEU0RjBBM0YwOTA3RkI1NzQwMkYwQTQKKzoxMDAzNzAwMDAyMDQyNkI5ODIwMjgwRUJCOTgxMDI4MEU2MDIwNDJFRDMKKzoxMDAzODAwMEJBMDEwRkJCMDAwMzAyMDQyRUJCMDEwMzAyMDQyNjAyQzQKKzoxMDAzOTAwMDA0MkVCQTAzMEZCQjAwMDMwMjA0MkVCQjAxMDMwMjA0QTgKKzoxMDAzQTAwMDI2MDIwNDJFQkEwNjU2QkMwMTBGOTA3RkQ0NzQwNkYwQzQKKzoxMDAzQjAwMDkwN0ZENTc0NUFGMDAyMDQyNkJDMDIxMkJCMDA2RjkwRTUKKzoxMDAzQzAwMDdGRDQ3NDA2RjA5MDdGRDU3NDZDRjAwMjA0MjZCQzAzRDEKKzoxMDAzRDAwMDI5NzQwNEMzOUI0MDU3NjA1NUVCMkI5MDA2OEMyNTgyRjMKKzoxMDAzRTAwMEY1ODI3NDAwMzU4M0Y1ODNFMEY5QTNFMEZBOTA3RkQ0QjkKKzoxMDAzRjAwMEU5RjA5MDdGRDVFQUYwMDIwNDI2MDIwNDJFQkEwODBGMzUKKzoxMDA0MDAwMDc0MDE5MDdGMDBGMDc0MDE5MDdGQjVGMDAyMDQyNkJBNjkKKzoxMDA0MTAwMDA5MDMwMjA0MjZCQTBBMDU3NDAwMDIwNDAyQkEwQjAzOTcKKzoxMDA0MjAwMDAyMDQyNjAyMDQyRTkwN0ZCNDc0MDJGMDgwMDk5MDdGQUIKKzoxMDA0MzAwMEI0RTA0NDAxRjA4MDAwRDBFMEQwODVEMDg0RDA4M0QwRjcKKzoxMDA0NDAwMDgyRDA4NjMyRUIyMEU3MUVDMzk0MEE1MDE5RUIyMzI0OTYKKzoxMDA0NTAwMDQ2RjU4Mjc0MDYzNDAwRjU4M0UwRjVDQkY1Q0RBM0UwRDQKKzoxMDA0NjAwMEY1Q0FGNUNDQzMyMkQzMjJCOTQxMTFFQjY0RkY1NDgwMDUKKzoxMDA0NzAwMEZCOTA3Rjk4RTA1NDdGNEJGMDAyMDQyNjkwN0Y5QkUwMzYKKzoxMDA0ODAwMDY0RkYwMjA0MDJDMDg2QzA4MkMwODNDMDg0QzA4NUMwRUQKKzoxMDA0OTAwMEUwRTU5MUMyRTRGNTkxOTA3RkE5NzQwNEYwNzQyMDkwOTYKKzoxMDA0QTAwMDdGOUNGMDEyMDVEQzc0MjA5MDdGOUNGMEQwRTBEMDg1MUEKKzoxMDA0QjAwMEQwODREMDgzRDA4MkQwODYzMkMwODZDMDgyQzA4M0MwMzAKKzoxMDA0QzAwMDg0QzA4NUMwRTA3NDEwOTA3RjlDRjBFNTkxQzJFNEY1OTMKKzoxMDA0RDAwMDkxOTA3RkFBNzQwNEYwOTA3RkM5RTBGOUU0RjU4NjkwQ0EKKzoxMDA0RTAwMDdEQzA3NTg1MTA4NTMyODRFMDA1ODYwNTg0RjBFNTg0M0QKKzoxMDA0RjAwMEI1MzMwMjgwMDkwNTMyMDU4NkEzRDlFQzgwMDA5MDdGRDAKKzoxMDA1MDAwMEM5RjBCMTZENzQyMDkwN0Y5Q0YwRDBFMEQwODVEMDg0OEMKKzoxMDA1MTAwMEQwODNEMDgyRDA4NjMyRTRGNTg2OTA3RkJDRTAyMEUxQTMKKzoxMDA1MjAwMDRCOTA3RDAwRTUzMkYwQTNFNTMzRjBBM0U1MzBGMEEzNzYKKzoxMDA1MzAwMEU1MzFGMEEzRTQzMDAwMDEwNEYwQTMwNTg2OTAxMDAwM0IKKzoxMDA1NDAwMDc5MTBFMEEzMDU4NkYwQTMwNTg2RDlGNjA1ODY3NEZDMkMKKzoxMDA1NTAwMEYwQTMwNTg2OTAxMTAwNzkxMEUwQTMwNTg2RjBBMzA1QUQKKzoxMDA1NjAwMDg2RDlGNkU0RjU4NjkwN0ZCRDc0MjZGMDIyMjAwMDEzMkMKKzoxMDA1NzAwMEU1MzJCNTMzMDEyMjA1MzM3NTgzMTA4NTMzODJFMEY1MEEKKzoxMDA1ODAwMDk5RDIwMDc0MDBCNTM0MDEyMkU1MzNEMzk1MzJDMzk1NzYKKzoxMDA1OTAwMDM0NDBGNTc1MzQwMEQyMDEwMjA1RENDMDg2QzA4MkMwNEIKKzoxMDA1QTAwMDgzQzA4NEMwODVDMEUwMzA5OTA3QzI5OUMyMDAxMjA1OUIKKzoxMDA1QjAwMDcwMzA5ODA1MTIwNUM2QzI5OEQwRTBEMDg1RDA4NEQwOUUKKzoxMDA1QzAwMDgzRDA4MkQwODYzMjc1ODMxMTg1MzA4MjA1ODJFNTk5ODkKKzoxMDA1RDAwMEYwRTU4MkI1MzEwMTIyMDUzMEIxREMyMjc0MTA5MDdGNDQKKzoxMDA1RTAwMDlDRjA5MDdGQjhFMDIwRTEzRTIwMDEzQ0U1MzBCNTMxNDEKKzoxMDA1RjAwMDAxMjJFNEY1ODY3NTgzMTEwNTg2OTA3RTAwRjBBMzA1M0YKKzoxMDA2MDAwMDg2NzkwMUU1MzBCNTMxMDI4MDEwMDUzMTg1MzE4MkUwMEYKKzoxMDA2MTAwMDA1ODZGMEEzMDU4NjA5Qjk0MEU5NzQxMDkwN0Y5Q0YwMjcKKzoxMDA2MjAwMDkwN0ZCOUU5NjAwMUYwMjJDMjAxRTRGNTg2OTA3RTAwNzYKKzoxMDA2MzAwMDc0MDFGMEEzNzQwMkYwOTA3RkI5RjAyMkMyOTlGNTk5ODkKKzoxMDA2NDAwMDMwOTlGREMyOTkyMkU1NUVGNjNDRkQ4RkZFQzhGRjY0M0QKKzoxMDA2NTAwMEZGQjJGRkQ5RkZFREZGRjNGRkZBMTIwMTAwMDFGRkZGMjgKKzoxMDA2NjAwMEZGNDBDRDA2MDQwMTg5QUIwMTAyMDMwMTA5MDIyMDAwMEQKKzoxMDA2NzAwMDAxMDEwMDgwMzIwOTA0MDAwMDAyRkZGRkZGMDAwNzA1QUUKKzoxMDA2ODAwMDgyMDM0MDAwMDEwNzA1MDIwMjQwMDAwMDA2OTQwNjk4MUMKKzoxMDA2OTAwMDA2QkEwNkU4MDQwMzAwMDAyMjAzNDEwMDQzMDA0RDAwQUYKKzoxMDA2QTAwMDQ1MDAyMDAwNzUwMDczMDA2MjAwMjAwMDc3MDA2OTAwOUIKKzoxMDA2QjAwMDY0MDA2NzAwNjUwMDc0MDA3MzAwMkUwMzQxMDA0MzAwNkUKKzoxMDA2QzAwMDREMDA0NTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA3MzAwRkIKKzoxMDA2RDAwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDc3MDA2OTAwMEQKKzowRTA2RTAwMDY0MDA2NzAwNjUwMDc0MDAwNjAzMzQwMDM3MDBGNAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzLlMgYi9maXJtd2FyZS9rZXlzcGFuX3BkYS94aXJjb21fcGdzLlMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzLlMKcmVuYW1lIHRvIGZpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuUwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva29yZy9rMTIxMi5kc3AuaWhleCBiL2Zpcm13YXJlL2tvcmcvazEyMTIuZHNwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE1MTk5NwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tvcmcvazEyMTIuZHNwLmloZXgKQEAgLTAsMCArMSw5ODcgQEAKKzoxMDAwMDAwMDAxRkYxOEZGRjVGRkNGRkYwMEZGMDBGRkZGRkYwMEZGMUMKKzoxMDAwMTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRUEKKzoxMDAwMjAwMDI2RkYxOEZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGOEQKKzoxMDAwMzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQ0EKKzoxMDAwNDAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGOTEKKzoxMDAwNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQUEKKzoxMDAwNjAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGNzEKKzoxMDAwNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOEEKKzoxMDAwODAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGNTEKKzoxMDAwOTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNkEKKzoxMDAwQTAwMDM4RkYxOEZGRkZGRkRGRkYwMEZGMDBGRkZGRkYwMEZGMkIKKzoxMDAwQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNEEKKzoxMDAwQzAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDAwRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMkEKKzoxMDAwRTAwMDAzRkYzQ0ZGRkZGRkZDRkY2N0ZGNDBGRkZGRkZDMEZGNzgKKzoxMDAwRjAwMEZGRkY5M0ZGRkZGRkUwRkYwMEZGMENGRkZGRkYwQ0ZGODAKKzoxMDAxMDAwMDBDRkYwQ0ZGRkZGRjAwRkYzMEZGMENGRkZGRkYwMEZGQTUKKzoxMDAxMTAwMDBGRkY0MEZGRkZGRkY0RkY0N0ZGODBGRkZGRkYwQUZGRDUKKzoxMDAxMjAwMDgyRkYyM0ZGRkZGRjBGRkY4REZGOTNGRkZGRkY3QUZGOEIKKzoxMDAxMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNzIKKzoxMDAxNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGOUIKKzoxMDAxNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGM0QKKzoxMDAxNjAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNTkKKzoxMDAxNzAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNDkKKzoxMDAxODAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNTEKKzoxMDAxOTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNDEKKzoxMDAxQTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMzEKKzoxMDAxQjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMjEKKzoxMDAxQzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMTEKKzoxMDAxRDAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMDEKKzoxMDAxRTAwMDcyRkYxQ0ZGRkZGRjVGRkYwMkZGNDBGRkZGRkY0MEZGQUEKKzoxMDAxRjAwMDExRkY5MEZGRkZGRjIwRkYwMEZGNDhGRkZGRkYwMEZGMDAKKzoxMDAyMDAwMDhCRkY5M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYwMEZGN0EKKzoxMDAyMTAwMDg2RkY5M0ZGRkZGRjcwRkY4QkZGOTNGRkZGRkYzMEZGMTEKKzoxMDAyMjAwMDhERkY5M0ZGRkZGRjQwRkYwMkZGOTFGRkZGRkY4MEZGNjUKKzoxMDAyMzAwMDAyRkY5MUZGRkZGRjkwRkY4REZGOTNGRkZGRkZDMEZGQzUKKzoxMDAyNDAwMDQ2RkY5MEZGRkZGRjIwRkY4REZGOTNGRkZGRkZEMEZGRDIKKzoxMDAyNTAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkY0MEZGMDIKKzoxMDAyNjAwMEZGRkY0N0ZGRkZGRkYwRkY4REZGOTNGRkZGRkZFMEZGNjIKKzoxMDAyNzAwMDAwRkYzNEZGRkZGRjE3RkYwMEZGMzhGRkZGRkYxN0ZGRUUKKzoxMDAyODAwMDgwRkYzN0ZGRkZGRjAyRkY4NEZGM0JGRkZGRkYwMkZGRkUKKzoxMDAyOTAwMDAyRkYzNEZGRkZGRjRBRkYwMkZGMzhGRkZGRkY0QUZGNjQKKzoxMDAyQTAwMDAxRkYzNEZGRkZGRjJCRkYwMUZGMzhGRkZGRkYyQkZGOTQKKzoxMDAyQjAwMDgwRkY0M0ZGRkZGRjAwRkY4MkZGOTNGRkZGRkY1MEZGMjAKKzoxMDAyQzAwMDgxRkY0M0ZGRkZGRjIwRkY4MkZGOTNGRkZGRkY2MEZGREYKKzoxMDAyRDAwMDg0RkY0M0ZGRkZGRjAwRkY4MkZGOTNGRkZGRkY3MEZGREMKKzoxMDAyRTAwMDg1RkY0M0ZGRkZGRjIwRkY4M0ZGOTNGRkZGRkZDMEZGNUEKKzoxMDAyRjAwMDgyRkYzN0ZGRkZGRjgxRkYwMEZGMzRGRkZGRkY4OUZGMTEKKzoxMDAzMDAwMDg4RkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGQkQKKzoxMDAzMTAwMDgyRkY4M0ZGRkZGRjYwRkYwMEZGNjhGRkZGRkYwN0ZGMTMKKzoxMDAzMjAwMDhDRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGOTkKKzoxMDAzMzAwMDgzRkY4M0ZGRkZGRkMwRkYwMEZGNjhGRkZGRkYwN0ZGOTIKKzoxMDAzNDAwMDhBRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGN0IKKzoxMDAzNTAwMDgyRkY4M0ZGRkZGRjUwRkYwMEZGNjhGRkZGRkYwN0ZGRTMKKzoxMDAzNjAwMDhFRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGNTcKKzoxMDAzNzAwMDgyRkY4M0ZGRkZGRjcwRkYwMEZGNjhGRkZGRkYwN0ZGQTMKKzoxMDAzODAwMDgzRkYzN0ZGRkZGRjAxRkYwMEZGMzRGRkZGRkY4OUZGRkYKKzoxMDAzOTAwMDAwRkYzNEZGRkZGRjI2RkYzMEZGMENGRkZGRkYwMEZGRDEKKzoxMDAzQTAwMDAwRkY0MEZGRkZGRjI2RkYyMEZGNDBGRkZGRkYwNEZGOEQKKzoxMDAzQjAwMDgwRkY0MUZGRkZGRjAyRkZFMEZGMjBGRkZGRkYwRkZGNzUKKzoxMDAzQzAwMDAwRkY2OEZGRkZGRkI2RkY2M0ZGMjJGRkZGRkYwRkZGODUKKzoxMDAzRDAwMDYyRkY2QUZGRkZGRkE2RkY2MkZGNkFGRkZGRkZBNkZGNDMKKzoxMDAzRTAwMDAwRkY2OEZGRkZGRkE2RkYwMEZGMDlGRkZGRkYwN0ZGRjkKKzoxMDAzRjAwMDQwRkY0MUZGRkZGRjAyRkZFMEZGMjBGRkZGRkYwRkZGNzUKKzoxMDA0MDAwMDAwRkY2OEZGRkZGRkI2RkY2M0ZGMjJGRkZGRkYwRkZGNDQKKzoxMDA0MTAwMDYyRkY2QUZGRkZGRkE2RkY2MkZGNkFGRkZGRkZBNkZGMDIKKzoxMDA0MjAwMDAwRkY2OEZGRkZGRkE2RkYwNUZGNDFGRkZGRkYwMkZGODAKKzoxMDA0MzAwMEUwRkYyMEZGRkZGRjBGRkY4QkZGOTNGRkZGRkZCQkZGREUKKzoxMDA0NDAwMDAyRkY0MUZGRkZGRjgyRkZFMEZGMjBGRkZGRkYwRkZGRTIKKzoxMDA0NTAwMDhCRkY5M0ZGRkZGRkNCRkYwNUZGNDFGRkZGRkZFMkZGOTUKKzoxMDA0NjAwMEUwRkYyMEZGRkZGRjBGRkY4QkZGOTNGRkZGRkZEQkZGOEUKKzoxMDA0NzAwMDIwRkYwQ0ZGRkZGRjAwRkYzMEZGMENGRkZGRkYwMEZGMUUKKzoxMDA0ODAwMDAwRkY0MEZGRkZGRjI2RkYwMEZGNDFGRkZGRkYwMkZGQ0QKKzoxMDA0OTAwMEUwRkYyMEZGRkZGRjBGRkY4M0ZGOTNGRkZGRkY4MkZGQkYKKzoxMDA0QTAwMDgzRkY5M0ZGRkZGRjlCRkYwM0ZGNDFGRkZGRkYwMkZGNUYKKzoxMDA0QjAwMEUwRkYyMEZGRkZGRjBGRkY4M0ZGOTNGRkZGRkZBMkZGN0YKKzoxMDA0QzAwMDgzRkY5M0ZGRkZGRkJCRkYyMEZGMENGRkZGRkYwMEZGMzkKKzoxMDA0RDAwMDAwRkY0MEZGRkZGRjAwRkY0NEZGOTBGRkZGRkY2MEZGQjIKKzoxMDA0RTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTYKKzoxMDA0RjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMDYKKzoxMDA1MDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRjUKKzoxMDA1MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRTUKKzoxMDA1MjAwMDIxRkY0MEZGRkZGRjYwRkY0MEZGOTBGRkZGRkYyMEZGMjQKKzoxMDA1MzAwMDAyRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNTIKKzoxMDA1NDAwMDAwRkYzQ0ZGRkZGRjg1RkYwQUZGMTRGRkZGRkZBRUZGMjgKKzoxMDA1NTAwMDAwRkZBMEZGRkZGRjAzRkYwMEZGMzVGRkZGRkYwMEZGQ0QKKzoxMDA1NjAwMDAwRkYzNEZGRkZGRjA4RkYwMkZGM0NGRkZGRkYwNUZGMTYKKzoxMDA1NzAwMDBBRkYxNEZGRkZGRkZFRkYwMEZGQTBGRkZGRkYwM0ZGQzYKKzoxMDA1ODAwMDAzRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGMDEKKzoxMDA1OTAwMDAyRkYzQ0ZGRkZGRjA1RkYwQkZGMTRGRkZGRkY0RUZGQjUKKzoxMDA1QTAwMDAwRkZBMEZGRkZGRjAzRkYwMEZGMzVGRkZGRkYwMUZGN0MKKzoxMDA1QjAwMDc4RkYxQ0ZGRkZGRjVGRkYwM0ZGMzVGRkZGRkYwMUZGMTkKKzoxMDA1QzAwMDc4RkYxQ0ZGRkZGRjVGRkY1QkZGNDBGRkZGRkZGMEZGQjcKKzoxMDA1RDAwMEZGRkY5M0ZGRkZGRjMwRkY4MEZGNDJGRkZGRkY3MEZGMzEKKzoxMDA1RTAwMEZGRkY5M0ZGRkZGRjYwRkZERkZGNDBGRkZGRkZGMEZGMTQKKzoxMDA1RjAwMEZFRkY5M0ZGRkZGRkYwRkY4MEZGNDJGRkZGRkY3MEZGNTIKKzoxMDA2MDAwMEZGRkY5M0ZGRkZGRjIwRkZDMUZGNDFGRkZGRkY4MEZGQzAKKzoxMDA2MTAwMEZGRkY5M0ZGRkZGRkYwRkYwM0ZGM0NGRkZGRkZGQ0ZGMjcKKzoxMDA2MjAwMDAwRkYzQ0ZGRkZGRjA0RkYwMkZGM0NGRkZGRkYyM0ZGMzMKKzoxMDA2MzAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkYyMEZGM0UKKzoxMDA2NDAwMDU5RkYxOEZGRkZGRkRGRkYwMEZGNDhGRkZGRkYwMEZGMUMKKzoxMDA2NTAwMDhCRkY5M0ZGRkZGRjIwRkYxOEZGMjNGRkZGRkYwRkZGMUMKKzoxMDA2NjAwMDBDRkYxNEZGRkZGRkU0RkY4QkZGODNGRkZGRkYyNEZGNUUKKzoxMDA2NzAwMDAwRkYyMkZGRkZGRjBGRkYwREZGMThGRkZGRkYwRkZGMUYKKzoxMDA2ODAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYxNEZGRjIKKzoxMDA2OTAwMEUwRkYyMkZGRkZGRjBGRkYxMEZGMThGRkZGRkZEMEZGNUIKKzoxMDA2QTAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYyNEZGQzIKKzoxMDA2QjAwMEUwRkYyMkZGRkZGRjBGRkYxMEZGMThGRkZGRkYzMEZGREIKKzoxMDA2QzAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkY0NEZGODIKKzoxMDA2RDAwMEUwRkYyMkZGRkZGRjBGRkYyMkZGMThGRkZGRkY5MEZGNDkKKzoxMDA2RTAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkY4NEZGMjIKKzoxMDA2RjAwMEUwRkYyMkZGRkZGRjBGRkYyMkZGMThGRkZGRkY5MEZGMjkKKzoxMDA3MDAwMDBDRkYxOEZGRkZGRjZGRkYwMEZGNDBGRkZGRkYwMEZGMjAKKzoxMDA3MTAwMDg2RkY5M0ZGRkZGRjcwRkY3NkZGMUNGRkZGRkY5RkZGMjkKKzoxMDA3MjAwMDg2RkY4M0ZGRkZGRjUwRkY4NkZGODNGRkZGRkY2NEZGMEQKKzoxMDA3MzAwMDYwRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkY4MUZGMjUKKzoxMDA3NDAwMDAwRkYzNUZGRkZGRjAwRkY2MEZGMUNGRkZGRkY3RkZGODMKKzoxMDA3NTAwMDYxRkYxQ0ZGRkZGRkFGRkY3N0ZGMUNGRkZGRkZBRkZGMzUKKzoxMDA3NjAwMDYzRkYxQ0ZGRkZGRjRGRkYwNUZGMzVGRkZGRkYwMEZGOEIKKzoxMDA3NzAwMDkyRkYzQkZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGN0EKKzoxMDA3ODAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY2NUZGOTIKKzoxMDA3OTAwMDBGRkYxNEZGRkZGRjZFRkYwMEZGNjBGRkZGRkYwM0ZGNkYKKzoxMDA3QTAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGNTUKKzoxMDA3QjAwMDAwRkY3OEZGRkZGRjAzRkYwNUZGMzVGRkZGRkZFMEZGQUUKKzoxMDA3QzAwMDdGRkYzOEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNDAKKzoxMDA3RDAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY2NUZGNDIKKzoxMDA3RTAwMDEwRkYxNEZGRkZGRjBFRkYwMEZGNjBGRkZGRkYwM0ZGN0UKKzoxMDA3RjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNThGRkZGRkYxM0ZGMjUKKzoxMDA4MDAwMDAwRkY1OEZGRkZGRjAzRkY3OUZGMUNGRkZGRkZGRkZGMDMKKzoxMDA4MTAwMDAwRkYwQUZGRkZGRjBGRkYwRUZGMUNGRkZGRkYxRkZGODAKKzoxMDA4MjAwMDhERkY4M0ZGRkZGRkUwRkY3OEZGMjJGRkZGRkYwRkZGMzkKKzoxMDA4MzAwMDE1RkYxQ0ZGRkZGRjg1RkY3NUZGMUNGRkZGRkY4RkZGRUMKKzoxMDA4NDAwMDAwRkY0MEZGRkZGRjQwRkY4QkZGOTNGRkZGRkY4MEZGOTQKKzoxMDA4NTAwMDAyRkY0MEZGRkZGRjYwRkYxMUZGOTBGRkZGRkYyMEZGM0YKKzoxMDA4NjAwMDE2RkYxOEZGRkZGRjFGRkYwRUZGMUNGRkZGRkYxRkZGRkMKKzoxMDA4NzAwMDc1RkYxQ0ZGRkZGRjhGRkY4MEZGMzVGRkZGRkYwMEZGQUQKKzoxMDA4ODAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGNDBGRkZGRkYwMEZGRjYKKzoxMDA4OTAwMDQwRkYzQ0ZGRkZGRjA1RkYxMUZGMTRGRkZGRkY0RUZGNkUKKzoxMDA4QTAwMDAwRkY2OEZGRkZGRjAzRkY4N0ZGODNGRkZGRkZGMEZGRUQKKzoxMDA4QjAwMDg2RkY5M0ZGRkZGRjgwRkY5MEZGMzdGRkZGRkYwMEZGRTIKKzoxMDA4QzAwMDAyRkYzNEZGRkZGRjA4RkYwMEZGNjBGRkZGRkYwM0ZGOTEKKzoxMDA4RDAwMDg5RkY5M0ZGRkZGRjIwRkYwMEZGNjBGRkZGRkYwM0ZGODMKKzoxMDA4RTAwMDg5RkY5M0ZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwM0ZGNjMKKzoxMDA4RjAwMDg5RkY5M0ZGRkZGRjQwRkYwMEZGNjBGRkZGRkYwM0ZGNDMKKzoxMDA5MDAwMDg5RkY5M0ZGRkZGRjUwRkY4NkZGOTdGRkZGRkY5MEZGRDgKKzoxMDA5MTAwMDAzRkYzNUZGRkZGRjAwRkY2MEZGMUNGRkZGRkY3RkZGQUUKKzoxMDA5MjAwMDYzRkYxQ0ZGRkZGRjdGRkYwMEZGNDBGRkZGRkYwMEZGOTMKKzoxMDA5MzAwMDhERkY5M0ZGRkZGRjYwRkY4MkZGOTNGRkZGRkY0MEZGRUMKKzoxMDA5NDAwMDg2RkY5M0ZGRkZGRkEwRkY4M0ZGMzdGRkZGRkY4MEZGQkUKKzoxMDA5NTAwMDc1RkYxQ0ZGRkZGRjFGRkY4M0ZGNDNGRkZGRkYwMEZGMkIKKzoxMDA5NjAwMDg3RkY5M0ZGRkZGRkUwRkY2QUZGMUNGRkZGRkYwRkZGMDIKKzoxMDA5NzAwMDQwRkY0MUZGRkZGRjAwRkY4QkZGOTNGRkZGRkY5MEZGNTIKKzoxMDA5ODAwMDgwRkY0MUZGRkZGRjAwRkY4QkZGOTNGRkZGRkZBMEZGRjIKKzoxMDA5OTAwMDhCRkY4N0ZGRkZGRjkwRkY3RUZGMzhGRkZGRkYwMEZGMDkKKzoxMDA5QTAwMDQwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGOTUKKzoxMDA5QjAwMDAwRkYzQ0ZGRkZGRjU1RkYxM0ZGMTRGRkZGRkZCRUZGQ0IKKzoxMDA5QzAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNUIKKzoxMDA5RDAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNUIKKzoxMDA5RTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGM0IKKzoxMDA5RjAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGM0IKKzoxMDBBMDAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGMUEKKzoxMDBBMTAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGMUEKKzoxMDBBMjAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMEEKKzoxMDBBMzAwMDhCRkY5N0ZGRkZGRjkwRkYwNUZGNDFGRkZGRkYwMEZGQzgKKzoxMDBBNDAwMDkyRkY0M0ZGRkZGRjAxRkY4NkZGOTNGRkZGRkZGMEZGRDEKKzoxMDBBNTAwMDg2RkY5M0ZGRkZGRkUxRkY4REZGODNGRkZGRkZFMEZGQjYKKzoxMDBBNjAwMDc4RkYyMkZGRkZGRjBGRkYxNUZGMUNGRkZGRkY4NUZGMzEKKzoxMDBBNzAwMDc1RkYxQ0ZGRkZGRjhGRkY4REZGODNGRkZGRkY0MEZGMTAKKzoxMDBBODAwMDc4RkYyMkZGRkZGRjBGRkY1M0ZGMThGRkZGRkZCNEZGQTgKKzoxMDBBOTAwMDcyRkYxQ0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYwMEZGODMKKzoxMDBBQTAwMDhCRkY5M0ZGRkZGRjMwRkYwMkZGNDBGRkZGRkY2MEZGNjAKKzoxMDBBQjAwMDExRkY5MEZGRkZGRjIwRkYxNkZGMThGRkZGRkY0RkZGMDIKKzoxMDBBQzAwMDM4RkY0MkZGRkZGRjUwRkY0OEZGOTBGRkZGRkZBMEZGRUUKKzoxMDBBRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMjAKKzoxMDBBRTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTAKKzoxMDBBRjAwMDMwRkY0MEZGRkZGRjAwRkY0N0ZGOTBGRkZGRkY1MEZGNjkKKzoxMDBCMDAwMDAwRkYwQUZGRkZGRjBGRkYxRUZGMUNGRkZGRkYwRkZGOEQKKzoxMDBCMTAwMDIwRkYxQ0ZGRkZGRkNGRkYxNkZGMThGRkZGRkYxRkZGODcKKzoxMDBCMjAwMDAwRkY0MEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY3MEZGNDkKKzoxMDBCMzAwMDE4RkYxQ0ZGRkZGRkVGRkY2QUZGMUNGRkZGRkZCRkZGNTcKKzoxMDBCNDAwMDVDRkYxQ0ZGRkZGRjdGRkYxOEZGMUNGRkZGRkZFRkZGOTUKKzoxMDBCNTAwMDY3RkYxQ0ZGRkZGRjNGRkY1Q0ZGMUNGRkZGRkY3RkZGRTYKKzoxMDBCNjAwMDA4RkY0MEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY3MEZGMDEKKzoxMDBCNzAwMDE4RkYxQ0ZGRkZGRkVGRkY2OUZGMUNGRkZGRkYwRkZGQzgKKzoxMDBCODAwMDVERkYxQ0ZGRkZGRjJGRkYxOEZGMUNGRkZGRkZFRkZGQTQKKzoxMDBCOTAwMDc5RkYxQ0ZGRkZGRjFGRkY1Q0ZGMUNGRkZGRkY3RkZGQjQKKzoxMDBCQTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMzUKKzoxMDBCQjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMjUKKzoxMDBCQzAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGNjQKKzoxMDBCRDAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMDUKKzoxMDBCRTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGRjUKKzoxMDBCRjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGRTUKKzoxMDBDMDAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGMjMKKzoxMDBDMTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQzQKKzoxMDBDMjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQjQKKzoxMDBDMzAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQTQKKzoxMDBDNDAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGRTMKKzoxMDBDNTAwMDE4RkYxQ0ZGRkZGRkVGRkY2NkZGMUNGRkZGRkYxRkZGREEKKzoxMDBDNjAwMDVDRkYxQ0ZGRkZGRjdGRkYxNkZGMThGRkZGRkY0RkZGMUEKKzoxMDBDNzAwMDhCRkY4N0ZGRkZGRjYxRkYwMEZGMzRGRkZGRkY4OUZGNEUKKzoxMDBDODAwMDAwRkYzNEZGRkZGRjI2RkYwMEZGNjBGRkZGRkYwNkZGQUUKKzoxMDBDOTAwMDgzRkY5M0ZGRkZGRkQwRkYwMEZGNjBGRkZGRkYwNkZGMTIKKzoxMDBDQTAwMDgzRkY5M0ZGRkZGRkUwRkYzOEZGMjJGRkZGRkYwRkZGRUYKKzoxMDBDQjAwMDE5RkYxNEZGRkZGRjg1RkY4QkZGODNGRkZGRkY1MEZGMkUKKzoxMDBDQzAwMDc4RkYyMkZGRkZGRjBGRkYwMEZGNjBGRkZGRkYwN0ZGMUUKKzoxMDBDRDAwMDA0RkYwREZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwN0ZGNzYKKzoxMDBDRTAwMDgzRkY5M0ZGRkZGRkYwRkYwMEZGNjBGRkZGRkYwN0ZGQTEKKzoxMDBDRjAwMDA4RkYwREZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwN0ZGNTIKKzoxMDBEMDAwMDg2RkY5M0ZGRkZGRjQwRkYwMEZGNDBGRkZGRkYwMUZGNTMKKzoxMDBEMTAwMDhCRkY5M0ZGRkZGRjUxRkYwMEZGMzRGRkZGRkY0NkZGRjQKKzoxMDBEMjAwMDAwRkYwOUZGRkZGRjA2RkY4QkZGOTdGRkZGRkY2MUZGM0IKKzoxMDBEMzAwMDgzRkY4QkZGRkZGRkQwRkY4M0ZGOEJGRkZGRkZFMUZGRjAKKzoxMDBENDAwMDg3RkYzN0ZGRkZGRjAxRkY2RUZGMUNGRkZGRkZCRkZGQTUKKzoxMDBENTAwMDg3RkYzN0ZGRkZGRjAwRkY5MkZGMzdGRkZGRkYwMUZGMTUKKzoxMDBENjAwMDdGRkYzOEZGRkZGRjAwRkY3RUZGMzhGRkZGRkYwMUZGMUYKKzoxMDBENzAwMDIzRkYxQ0ZGRkZGRkZGRkY3RUZGMzhGRkZGRkYwMEZGODkKKzoxMDBEODAwMDgzRkY4N0ZGRkZGRkYxRkY4NkZGOEJGRkZGRkY0MUZGMjAKKzoxMDBEOTAwMDZDRkYxQ0ZGRkZGRjJGRkY4N0ZGMzdGRkZGRkYwMEZGRTgKKzoxMDBEQTAwMDhCRkY4QkZGRkZGRkEwRkYwMEZGMzRGRkZGRkYwOEZGNUIKKzoxMDBEQjAwMDQwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY1NUZGMkMKKzoxMDBEQzAwMDFCRkYxNEZGRkZGRkNFRkYwMEZGNjBGRkZGRkYwM0ZGQ0QKKzoxMDBERDAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGMUYKKzoxMDBERTAwMDAwRkY3OEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMkYKKzoxMDBERjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGRkYKKzoxMDBFMDAwMDAwRkY3OEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMEUKKzoxMDBFMTAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGREUKKzoxMDBFMjAwMDAwRkY3OEZGRkZGRjAzRkY4QkZGODNGRkZGRkZFMUZGNjIKKzoxMDBFMzAwMDhCRkY4M0ZGRkZGRkYwRkYwMEZGNzhGRkZGRkYxM0ZGMzMKKzoxMDBFNDAwMDAwRkY3OEZGRkZGRjAzRkY4QkZGOUJGRkZGRkZBMEZGNkIKKzoxMDBFNTAwMDhCRkY4N0ZGRkZGRjkwRkY3RUZGMzhGRkZGRkYwMEZGNDQKKzoxMDBFNjAwMDQwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGRDAKKzoxMDBFNzAwMDAwRkYzQ0ZGRkZGRjU1RkYxREZGMTRGRkZGRkYzRUZGN0MKKzoxMDBFODAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGOTYKKzoxMDBFOTAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGOTYKKzoxMDBFQTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNzYKKzoxMDBFQjAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNzYKKzoxMDBFQzAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNTYKKzoxMDBFRDAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNTYKKzoxMDBFRTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGNDYKKzoxMDBFRjAwMDhCRkY5N0ZGRkZGRjkwRkYwMEZGMEFGRkZGRkYwRkZGMzEKKzoxMDBGMDAwMDhCRkY4N0ZGRkZGRjYxRkYwMEZGMzRGRkZGRkY4OUZGQkIKKzoxMDBGMTAwMDAwRkYzNEZGRkZGRjI2RkYwMEZGNjBGRkZGRkYwNkZGMUIKKzoxMDBGMjAwMDgzRkY5M0ZGRkZGRkQwRkYwMEZGNjBGRkZGRkYwNkZGN0YKKzoxMDBGMzAwMDgzRkY5M0ZGRkZGRkUwRkY4QkZGODNGRkZGRkY1MUZGNjYKKzoxMDBGNDAwMDc5RkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZCNEZGQzEKKzoxMDBGNTAwMDM4RkYyMkZGRkZGRjBGRkYxRUZGMTRGRkZGRkZENUZGMkIKKzoxMDBGNjAwMDhCRkY4M0ZGRkZGRjUwRkY3OEZGMjJGRkZGRkYwRkZGODQKKzoxMDBGNzAwMDAwRkY2MEZGRkZGRjA3RkYwNEZGMERGRkZGRkYzMEZGRDMKKzoxMDBGODAwMDAwRkY2MEZGRkZGRjA3RkY4M0ZGOTNGRkZGRkZGMEZGRkUKKzoxMDBGOTAwMDAwRkY2MEZGRkZGRjA3RkYwOEZGMERGRkZGRkYzMEZGQUYKKzoxMDBGQTAwMDAwRkY2MEZGRkZGRjA3RkY4NkZGOTNGRkZGRkY0MEZGOEIKKzoxMDBGQjAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGOTNGRkZGRkY1MUZGOEIKKzoxMDBGQzAwMDAwRkYzNEZGRkZGRjQ2RkYwMEZGMDlGRkZGRkYwNkZGQTIKKzoxMDBGRDAwMDhCRkY5N0ZGRkZGRjYxRkY4M0ZGOEJGRkZGRkZEMEZGQkEKKzoxMDBGRTAwMDgzRkY4QkZGRkZGRkUxRkY4N0ZGMzdGRkZGRkYwMUZGNUQKKzoxMDBGRjAwMDZFRkYxQ0ZGRkZGRkJGRkY4N0ZGMzdGRkZGRkYwMEZGRjQKKzoxMDEwMDAwMDkyRkYzN0ZGRkZGRjAxRkY3RkZGMzhGRkZGRkYwMEZGNjkKKzoxMDEwMTAwMDIzRkYxQ0ZGRkZGRkZGRkY3RUZGMzhGRkZGRkYwMEZGRTYKKzoxMDEwMjAwMDgzRkY4N0ZGRkZGRkYxRkY4NkZGOEJGRkZGRkY0MUZGN0QKKzoxMDEwMzAwMDZDRkYxQ0ZGRkZGRjJGRkYwMEZGMEFGRkZGRkYwRkZGRUEKKzoxMDEwNDAwMDhERkY4RkZGRkZGRkM1RkYyMEZGMTRGRkZGRkZBRUZGRTcKKzoxMDEwNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGODEKKzoxMDEwNjAwMDhCRkY4M0ZGRkZGRjg0RkYwMEZGMjNGRkZGRkYwRkZGQzYKKzoxMDEwNzAwMDhCRkY5M0ZGRkZGRjhBRkY2NEZGMUNGRkZGRkZFMEZGNzIKKzoxMDEwODAwMDdFRkYzOEZGRkZGRjAwRkYwMEZGMzhGRkZGRkYwOEZGNzQKKzoxMDEwOTAwMDAwRkYzQ0ZGRkZGRkU1RkYyMUZGMTRGRkZGRkY1RUZGQTYKKzoxMDEwQTAwMDAwRkY0MEZGRkZGRjAwRkYwMEZGNThGRkZGRkYwM0ZGQUYKKzoxMDEwQjAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGNDBGRkZGRkYxMEZGQzkKKzoxMDEwQzAwMDQ3RkY5MEZGRkZGRjIwRkYwMEZGMDRGRkZGRkYxQ0ZGMTMKKzoxMDEwRDAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGREEKKzoxMDEwRTAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxMEZGRDYKKzoxMDEwRjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGRDIKKzoxMDExMDAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQzEKKzoxMDExMTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQjEKKzoxMDExMjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQTEKKzoxMDExMzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGOTEKKzoxMDExNDAwMDAwRkYwNEZGRkZGRjEwRkYwMkZGNDBGRkZGRkY0MEZGMTMKKzoxMDExNTAwMDExRkY5MEZGRkZGRjIwRkY3OEZGNDJGRkZGRkY1MEZGQ0UKKzoxMDExNjAwMDQ4RkY5MEZGRkZGRkEwRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDExNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNzkKKzoxMDExODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNjkKKzoxMDExOTAwMEIwRkY0MEZGRkZGRjAwRkY0N0ZGOTBGRkZGRkY1MEZGNDIKKzoxMDExQTAwMDAwRkY0MEZGRkZGRjAwRkY4REZGOTNGRkZGRkY0MEZGQTkKKzoxMDExQjAwMDhERkY5M0ZGRkZGRjUwRkYwMEZGNDBGRkZGRkYwMUZGODgKKzoxMDExQzAwMDhCRkY5M0ZGRkZGRjUxRkYwMEZGNDBGRkZGRkYwMEZGN0EKKzoxMDExRDAwMDQ2RkY5MEZGRkZGRjcwRkY4REZGODNGRkZGRkZEMEZGRjMKKzoxMDExRTAwMDc4RkYyMkZGRkZGRjBGRkYwQ0ZGMThGRkZGRkY5MEZGQUMKKzoxMDExRjAwMDBDRkYxOEZGRkZGRjZGRkYyMEZGMENGRkZGRkYwMEZGM0EKKzoxMDEyMDAwMDAwRkYzNEZGRkZGRjA5RkYwMEZGMzRGRkZGRkYwOEZGNkYKKzoxMDEyMTAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOUZGNTcKKzoxMDEyMjAwMDAwRkYzOEZGRkZGRjA2RkYwMEZGMzRGRkZGRkYyNkZGMzAKKzoxMDEyMzAwMDk4RkZDQ0ZGRkZGRjM3RkYwMEZGM0NGRkZGRkZBNUZGM0MKKzoxMDEyNDAwMDI0RkYxNEZGRkZGRkZFRkYwMEZGNjBGRkZGRkY3M0ZGOUYKKzoxMDEyNTAwMDA4RkYwREZGRkZGRjE0RkY5OEZGMjBGRkZGRkYwRkZGQTgKKzoxMDEyNjAwMDAwRkY1MEZGRkZGRkM2RkY2OUZGQ0NGRkZGRkYzN0ZGMDYKKzoxMDEyNzAwMDAwRkYwNUZGRkZGRjAwRkYwMEZGNThGRkZGRkZDNkZGNTUKKzoxMDEyODAwMDk4RkYyMEZGRkZGRjBGRkYwMEZGNjBGRkZGRkY3MkZGQ0YKKzoxMDEyOTAwMDA4RkYwREZGRkZGRjE0RkYwMEZGNTBGRkZGRkZDNkZGMTkKKzoxMDEyQTAwMDY5RkZDQ0ZGRkZGRjM3RkYwMEZGMDVGRkZGRkYwMEZGRDcKKzoxMDEyQjAwMDAwRkY1OEZGRkZGRkM2RkY5OEZGMjBGRkZGRkYwRkZGNTMKKzoxMDEyQzAwMDAwRkY2MEZGRkZGRjczRkYwOEZGMERGRkZGRkYxNEZGMkMKKzoxMDEyRDAwMDAwRkY1MEZGRkZGRkM2RkY2OUZGMjBGRkZGRkYwRkZGNkEKKzoxMDEyRTAwMDAwRkYwNUZGRkZGRjAwRkYwMEZGNThGRkZGRkZDNkZGRTUKKzoxMDEyRjAwMDMwRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGQTMKKzoxMDEzMDAwMDAwRkYwQ0ZGRkZGRjMwRkY0N0ZGODBGRkZGRkY1OEZGOEMKKzoxMDEzMTAwMDEwRkYwRkZGRkZGRjAxRkY2NkZGMjNGRkZGRkYwRkZGMUYKKzoxMDEzMjAwMDI2RkYxOEZGRkZGRjk0RkYwMEZGNDhGRkZGRkYwMEZGQUQKKzoxMDEzMzAwMDhCRkY5M0ZGRkZGRjQwRkY4MEZGNDBGRkZGRkYwMEZGOTkKKzoxMDEzNDAwMDQ5RkY5MEZGRkZGRjQwRkYxNkZGMEZGRkZGRkYwMkZGNjcKKzoxMDEzNTAwMDY2RkYyM0ZGRkZGRjBGRkYzOEZGMThGRkZGRkZCNEZGRkIKKzoxMDEzNjAwMDBGRkY0MEZGRkZGRkY0RkY0N0ZGODBGRkZGRkYwQUZGNzMKKzoxMDEzNzAwMDgyRkYyM0ZGRkZGRjBGRkY4REZGOTNGRkZGRkY3QUZGMjkKKzoxMDEzODAwMDdBRkYyNkZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGNzIKKzoxMDEzOTAwMDM4RkYxOEZGRkZGRkI0RkYyN0ZGMThGRkZGRkZEMkZGNDIKKzoxMDEzQTAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkYzMEZGQjEKKzoxMDEzQjAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGRTAKKzoxMDEzQzAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGMDkKKzoxMDEzRDAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGQUIKKzoxMDEzRTAwMDAwRkYwQUZGRkZGRjFGRkYxMEZGMjdGRkZGRkYwRkZGOTgKKzoxMDEzRjAwMDI5RkYxOEZGRkZGRjkyRkY0NkZGODBGRkZGRkYwMEZGNUUKKzoxMDE0MDAwMDhCRkY5M0ZGRkZGRjIwRkY4REZGODNGRkZGRkY3MEZGMjgKKzoxMDE0MTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjMKKzoxMDE0MjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjQKKzoxMDE0MzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMDRGRkZGRkYxQ0ZGNkEKKzoxMDE0NDAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNjYKKzoxMDE0NTAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxMEZGNjIKKzoxMDE0NjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNUUKKzoxMDE0NzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNEUKKzoxMDE0ODAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGM0UKKzoxMDE0OTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMkUKKzoxMDE0QTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMUUKKzoxMDE0QjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYwM0ZGMUIKKzoxMDE0QzAwMDBERkYxOEZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGQUMKKzoxMDE0RDAwMDMxRkYxOEZGRkZGRjEyRkYzMEZGMENGRkZGRkYwMEZGN0YKKzoxMDE0RTAwMDA4RkYwQ0ZGRkZGRjAwRkZGRkZGNEZGRkZGRkY4OUZGMUIKKzoxMDE0RjAwMDkwRkYzN0ZGRkZGRjAwRkYwMkZGMzRGRkZGRkYwOEZGRjEKKzoxMDE1MDAwMDAwRkYzNEZGRkZGRjM0RkYwMEZGMzRGRkZGRkY1NUZGRjQKKzoxMDE1MTAwMDQ2RkY4MEZGRkZGRjA4RkYwMEZGMEVGRkZGRkYwRkZGRUEKKzoxMDE1MjAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGOTEKKzoxMDE1MzAwMDAwRkY2OEZGRkZGRkEzRkYwMEZGMERGRkZGRkY0QUZGNTMKKzoxMDE1NDAwMDQ2RkY4MEZGRkZGRjE4RkYwMEZGMEVGRkZGRkYwRkZGQUEKKzoxMDE1NTAwMDAwRkYwREZGRkZGRjVFRkZBRkZGMjNGRkZGRkYwRkZGNDkKKzoxMDE1NjAwMDAwRkY2OEZGRkZGRkEwRkYwMEZGMERGRkZGRkY1QUZGMTYKKzoxMDE1NzAwMDQ2RkY4MEZGRkZGRjQ4RkYxMEZGMEZGRkZGRkZGRUZGNEEKKzoxMDE1ODAwMDg3RkY5M0ZGRkZGRkZFRkYwMEZGMERGRkZGRkYyRUZGMTIKKzoxMDE1OTAwMDAyRkY0MEZGRkZGRjA2RkZFMEZGMjBGRkZGRkYwRkZGRkUKKzoxMDE1QTAwMDAwRkY0MEZGRkZGRjAxRkY2M0ZGMjJGRkZGRkYwRkZGNzAKKzoxMDE1QjAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGODgKKzoxMDE1QzAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGQjYKKzoxMDE1RDAwMDAwRkYwREZGRkZGRjVBRkY2M0ZGMjJGRkZGRkYwRkZGMUEKKzoxMDE1RTAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGNTgKKzoxMDE1RjAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGODYKKzoxMDE2MDAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGRjkKKzoxMDE2MTAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGMTcKKzoxMDE2MjAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGMjgKKzoxMDE2MzAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMDcKKzoxMDE2NDAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGMzUKKzoxMDE2NTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGQTkKKzoxMDE2NjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGQzcKKzoxMDE2NzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGRDgKKzoxMDE2ODAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGQjcKKzoxMDE2OTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGRTUKKzoxMDE2QTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGNTkKKzoxMDE2QjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGNzcKKzoxMDE2QzAwMDAwRkY2OEZGRkZGRkExRkY0NkZGODBGRkZGRkYyOEZGMkQKKzoxMDE2RDAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGOUMKKzoxMDE2RTAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGMjAKKzoxMDE2RjAwMDAwRkYwREZGRkZGRjRBRkY0NkZGODBGRkZGRkYzOEZGOUYKKzoxMDE3MDAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY1RUZGNUIKKzoxMDE3MTAwMEFGRkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBMEZGRUEKKzoxMDE3MjAwMDAwRkYwREZGRkZGRjVBRkY2M0ZGMjJGRkZGRkYwRkZGQzgKKzoxMDE3MzAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMDYKKzoxMDE3NDAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGMzQKKzoxMDE3NTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGQTgKKzoxMDE3NjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGQzYKKzoxMDE3NzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGRDcKKzoxMDE3ODAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGQjYKKzoxMDE3OTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGRTQKKzoxMDE3QTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGNTgKKzoxMDE3QjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGNzYKKzoxMDE3QzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGODcKKzoxMDE3RDAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGNjYKKzoxMDE3RTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGOTQKKzoxMDE3RjAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGMDgKKzoxMDE4MDAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGMjUKKzoxMDE4MTAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGMzYKKzoxMDE4MjAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMTUKKzoxMDE4MzAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBM0ZGNDAKKzoxMDE4NDAwMEZGRkY0RkZGRkZGRkYwRkY4NkZGOTNGRkZGRkY1MEZGRkIKKzoxMDE4NTAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGM0IKKzoxMDE4NjAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGNjQKKzoxMDE4NzAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGMDYKKzoxMDE4ODAwMDAwRkYwQUZGRkZGRjFGRkYxMEZGMjdGRkZGRkYwRkZGRjMKKzoxMDE4OTAwMDMyRkYxOEZGRkZGRjQyRkY4QkZGODNGRkZGRkZFNEZGRDQKKzoxMDE4QTAwMDhCRkY4M0ZGRkZGRkY1RkY0NkZGOTBGRkZGRkY0NEZGMjUKKzoxMDE4QjAwMDA4RkYyMkZGRkZGRjBGRkZGRkZGNEZGRkZGRkY4OUZGMjIKKzoxMDE4QzAwMDAwRkYwREZGRkZGRjhBRkYwMEZGMEVGRkZGRkYwRkZGNkUKKzoxMDE4RDAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGREUKKzoxMDE4RTAwMDQ2RkY5MEZGRkZGRjVBRkY4REZGODNGRkZGRkY3MEZGNTIKKzoxMDE4RjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQ0YKKzoxMDE5MDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQ0YKKzoxMDE5MTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGN0MKKzoxMDE5MjAwMDEwRkYyN0ZGRkZGRjBGRkYzNUZGMThGRkZGRkZEMkZGNUMKKzoxMDE5MzAwMDAwRkY0Q0ZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGRDIKKzoxMDE5NDAwMDBCRkY0MEZGRkZGRjgwRkYxMUZGOTBGRkZGRkZGMEZGNDUKKzoxMDE5NTAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGQzAKKzoxMDE5NjAwMDQ2RkY4MEZGRkZGRjBBRkY3QUZGMjZGRkZGRkYwRkZGMDIKKzoxMDE5NzAwMDM1RkYxQ0ZGRkZGRjI0RkYxMEZGMjdGRkZGRkYwRkZGQjYKKzoxMDE5ODAwMDMzRkYxOEZGRkZGRkM1RkYwMEZGNDBGRkZGRkZDMEZGNTEKKzoxMDE5OTAwMDExRkY5MEZGRkZGRjYwRkY4REZGOTNGRkZGRkZEMEZGNjAKKzoxMDE5QTAwMDAwRkY0OEZGRkZGRjAwRkY4REZGODNGRkZGRkY3MEZGNzkKKzoxMDE5QjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMEUKKzoxMDE5QzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMEYKKzoxMDE5RDAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGQkMKKzoxMDE5RTAwMDEwRkYyN0ZGRkZGRjBGRkYzNEZGMThGRkZGRkY4NUZGRUEKKzoxMDE5RjAwMDAwRkY0MEZGRkZGRjQwRkYxMUZGOTBGRkZGRkY2MEZGNzAKKzoxMDFBMDAwMDhERkY5M0ZGRkZGRkQwRkY4REZGODNGRkZGRkY3MEZGNzAKKzoxMDFBMTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQUQKKzoxMDFBMjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQUUKKzoxMDFBMzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNUIKKzoxMDFBNDAwMDAwRkY0MEZGRkZGRjAwRkYxMUZGOTBGRkZGRkY2MEZGNUYKKzoxMDFBNTAwMDhERkY5M0ZGRkZGRkQwRkY4REZGODNGRkZGRkY3MEZGMjAKKzoxMDFBNjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNUQKKzoxMDFBNzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNUUKKzoxMDFBODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMEIKKzoxMDFBOTAwMDAwRkY0OEZGRkZGRjAwRkY4REZGOTNGRkZGRkY4MEZGNjgKKzoxMDFBQTAwMDAwRkY0OEZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGNjUKKzoxMDFBQjAwMDBERkY0MEZGRkZGRkYwRkYxMUZGOTBGRkZGRkZGMEZGNjIKKzoxMDFBQzAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGNEYKKzoxMDFBRDAwMEZGRkY0MEZGRkZGRkYwRkY5MEZGMjdGRkZGRkYwRkZGMUIKKzoxMDFBRTAwMDAwRkYwQUZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGQTEKKzoxMDFBRjAwMDM3RkYxOEZGRkZGRjQyRkY0NkZGODBGRkZGRkYwMEZGOTkKKzoxMDFCMDAwMDg5RkY5M0ZGRkZGRkEwRkY0NkZGODBGRkZGRkYxMEZGNEQKKzoxMDFCMTAwMDg5RkY5M0ZGRkZGRkIwRkY0NkZGODBGRkZGRkYyMEZGMUQKKzoxMDFCMjAwMDg5RkY5M0ZGRkZGRkMwRkY0NkZGODBGRkZGRkYzMEZGRUQKKzoxMDFCMzAwMDg5RkY5M0ZGRkZGRkQwRkY0NkZGODBGRkZGRkY0MEZGQkQKKzoxMDFCNDAwMDg5RkY5M0ZGRkZGRkUwRkY0NkZGODBGRkZGRkY1MEZGOEQKKzoxMDFCNTAwMDg5RkY5M0ZGRkZGRkYwRkYwMEZGNDBGRkZGRkYxMEZGMzMKKzoxMDFCNjAwMDg2RkY5M0ZGRkZGRjYwRkY4REZGODNGRkZGRkY3MEZGODYKKzoxMDFCNzAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNEMKKzoxMDFCODAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNEQKKzoxMDFCOTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGRkEKKzoxMDFCQTAwMDEwRkYyN0ZGRkZGRjBGRkYzOUZGMThGRkZGRkYyMkZGODYKKzoxMDFCQjAwMDQ2RkY4MEZGRkZGRjAwRkY4REZGOTNGRkZGRkYyMEZGMjkKKzoxMDFCQzAwMDQ2RkY4MEZGRkZGRjEwRkY4REZGOTNGRkZGRkYzMEZGRjkKKzoxMDFCRDAwMDQ2RkY4MEZGRkZGRjIwRkY3OEZGMjJGRkZGRkYwRkZGODAKKzoxMDFCRTAwMDM4RkYxQ0ZGRkZGRjg0RkYwMEZGNDBGRkZGRkYwMEZGRTcKKzoxMDFCRjAwMDQ2RkY5MEZGRkZGRjIwRkYwMEZGNDhGRkZGRkYwMEZGQjEKKzoxMDFDMDAwMDhERkY5M0ZGRkZGRjQwRkY4REZGODNGRkZGRkY3MEZGRkUKKzoxMDFDMTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQUIKKzoxMDFDMjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQUMKKzoxMDFDMzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNTkKKzoxMDFDNDAwMDAwRkY0OEZGRkZGRjAwRkY4REZGOTNGRkZGRkY1MEZGRTYKKzoxMDFDNTAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMENGRkZGRkYyMEZGNDkKKzoxMDFDNjAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMENGRkZGRkYzMEZGMTkKKzoxMDFDNzAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkY1MEZGQjgKKzoxMDFDODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMDkKKzoxMDFDOTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZGNEZGOEIKKzoxMDFDQTAwMEUwRkYyMkZGRkZGRjBGRkY0MUZGMThGRkZGRkYzMEZGQTQKKzoxMDFDQjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZFNEZGN0IKKzoxMDFDQzAwMEUwRkYyMkZGRkZGRjBGRkY0MkZGMThGRkZGRkY0MEZGNzMKKzoxMDFDRDAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZENEZGNkIKKzoxMDFDRTAwMEUwRkYyMkZGRkZGRjBGRkY0N0ZGMThGRkZGRkZBMEZGRUUKKzoxMDFDRjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZDNEZGNUIKKzoxMDFEMDAwMEUwRkYyMkZGRkZGRjBGRkY0NkZGMThGRkZGRkZEMEZGOUUKKzoxMDFEMTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZCNEZGNEEKKzoxMDFEMjAwMEUwRkYyMkZGRkZGRjBGRkY0OEZGMThGRkZGRkZFMEZGNkMKKzoxMDFEMzAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZBNEZGM0EKKzoxMDFENDAwMEUwRkYyMkZGRkZGRjBGRkY0QUZGMThGRkZGRkY2MEZGQ0EKKzoxMDFENTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY5NEZGMkEKKzoxMDFENjAwMEUwRkYyMkZGRkZGRjBGRkY0Q0ZGMThGRkZGRkYwMEZGMDgKKzoxMDFENzAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY4NEZGMUEKKzoxMDFEODAwMEUwRkYyMkZGRkZGRjBGRkY0REZGMThGRkZGRkZFMEZGMDcKKzoxMDFEOTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY3NEZGMEEKKzoxMDFEQTAwMEUwRkYyMkZGRkZGRjBGRkY0RkZGMThGRkZGRkYyMEZGQTUKKzoxMDFEQjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY2NEZGRkEKKzoxMDFEQzAwMEUwRkYyMkZGRkZGRjBGRkY0RkZGMThGRkZGRkZGMEZGQjUKKzoxMDFERDAwMDhERkY4M0ZGRkZGRjcwRkYwRUZGNDBGRkZGRkZGNEZGNEIKKzoxMDFERTAwMEUwRkYyMkZGRkZGRjBGRkY0NEZGMThGRkZGRkY0MEZGNTAKKzoxMDFERjAwMDhERkY4M0ZGRkZGRjcwRkYwRUZGNDBGRkZGRkZFNEZGM0IKKzoxMDFFMDAwMEUwRkYyMkZGRkZGRjBGRkY0NUZGMThGRkZGRkY1MEZGMUUKKzoxMDFFMTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYwNEZGRkUKKzoxMDFFMjAwMEUwRkYyMkZGRkZGRjBGRkYzREZGMThGRkZGRkZEMEZGODYKKzoxMDFFMzAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYxNEZGQ0UKKzoxMDFFNDAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkYxMEZGMjQKKzoxMDFFNTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYyNEZGOUUKKzoxMDFFNjAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkY4MEZGOTQKKzoxMDFFNzAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYzNEZGNkUKKzoxMDFFODAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkZGMEZGMDQKKzoxMDFFOTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkY0NEZGM0UKKzoxMDFFQTAwMEUwRkYyMkZGRkZGRjBGRkY0MEZGMThGRkZGRkY2MEZGNzMKKzoxMDFFQjAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGRDUKKzoxMDFFQzAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRkUKKzoxMDFFRDAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGQTAKKzoxMDFFRTAwMDAwRkYwQUZGRkZGRjFGRkY4REZGODNGRkZGRkY3MEZGNTMKKzoxMDFFRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzkKKzoxMDFGMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzkKKzoxMDFGMTAwMDAwRkYwQ0ZGRkZGRjA4RkYwMEZGNDBGRkZGRkYwMEZGNzcKKzoxMDFGMjAwMEZGRkY5M0ZGRkZGRkYwRkYwMEZGNDBGRkZGRkYwMEZGRjkKKzoxMDFGMzAwMDQ0RkY5MEZGRkZGRjYwRkYwMEZGMDBGRkZGRkYwMEZGNzcKKzoxMDFGNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOUIKKzoxMDFGNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOEIKKzoxMDFGNjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGN0IKKzoxMDFGNzAwMDAwRkYwMEZGRkZGRjAwRkYyMUZGNDBGRkZGRkY4MEZGOEEKKzoxMDFGODAwMEZGRkY5M0ZGRkZGRkYwRkY4REZGODNGRkZGRkY3MEZGNTkKKzoxMDFGOTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMjgKKzoxMDFGQTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMjkKKzoxMDFGQjAwMDI1RkY0MEZGRkZGRjgwRkZGRkZGOTNGRkZGRkZGMEZGQzQKKzoxMDFGQzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGQzQKKzoxMDFGRDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRUQKKzoxMDFGRTAwMDQ2RkY5MEZGRkZGRjZBRkZFOUZGNDFGRkZGRkY4MEZGMTEKKzoxMDFGRjAwMEZGRkY5M0ZGRkZGRkYwRkY4REZGODNGRkZGRkY3MEZGRTkKKzoxMDIwMDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjcKKzoxMDIwMTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjgKKzoxMDIwMjAwMEVERkY0MUZGRkZGRjgwRkZGRkZGOTNGRkZGRkZGMEZGOEEKKzoxMDIwMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNTMKKzoxMDIwNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGN0MKKzoxMDIwNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGNDBGRkZGRkYwMEZGMEEKKzoxMDIwNjAwMDQ0RkY5MEZGRkZGRjYwRkYwMEZGMDBGRkZGRkYwMEZGNDYKKzoxMDIwNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNkEKKzoxMDIwODAwMDAwRkYwMEZGRkZGRjAwRkZGMUZGNDFGRkZGRkY4MEZGQTgKKzoxMDIwOTAwMEZGRkY5M0ZGRkZGRkYwRkY0NkZGODRGRkZGRkYwMEZGRkUKKzoxMDIwQTAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGNjBGRkZGRkYwM0ZGOUIKKzoxMDIwQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMkEKKzoxMDIwQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMUEKKzoxMDIwRDAwMDQ2RkY5MEZGRkZGRjYwRkZGN0ZGNEZGRkZGRkZGNEZGOUEKKzoxMDIwRTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMzAKKzoxMDIwRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzcKKzoxMDIxMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzcKKzoxMDIxMTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNzQKKzoxMDIxMjAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGQjMKKzoxMDIxMzAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGNkYKKzoxMDIxNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTkKKzoxMDIxNTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGQjMKKzoxMDIxNjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNzkKKzoxMDIxNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNjkKKzoxMDIxODAwMDAwRkY2OEZGRkZGRjAyRkYwMEZGMDBGRkZGRkYwMEZGRUYKKzoxMDIxOTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDkKKzoxMDIxQTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGNjBGRkZGRkYyMkZGQjcKKzoxMDIxQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMjkKKzoxMDIxQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTkKKzoxMDIxRDAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGOTcKKzoxMDIxRTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMkYKKzoxMDIxRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzYKKzoxMDIyMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzYKKzoxMDIyMTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNzMKKzoxMDIyMjAwMDQ2RkY4OEZGRkZGRjAwRkYwMEZGMzhGRkZGRkYwOEZGQUEKKzoxMDIyMzAwMDAwRkY1MEZGRkZGRjAzRkYwMEZGMDBGRkZGRkYwMEZGNTUKKzoxMDIyNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTgKKzoxMDIyNTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MEZGNTIKKzoxMDIyNjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGRjQKKzoxMDIyNzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGMTEKKzoxMDIyODAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGM0EKKzoxMDIyOTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGREMKKzoxMDIyQTAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODhGRkZGRkYwMEZGNDEKKzoxMDIyQjAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwNEZGQUMKKzoxMDIyQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTgKKzoxMDIyRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMDgKKzoxMDIyRTAwMDQ2RkY4MEZGRkZGRjEwRkYwMEZGNThGRkZGRkYwM0ZGQzcKKzoxMDIyRjAwMDAwRkY1MEZGRkZGRjIzRkYwMEZGMDBGRkZGRkYwMEZGNzUKKzoxMDIzMDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRDcKKzoxMDIzMTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MkZGOEYKKzoxMDIzMjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGMzMKKzoxMDIzMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNTAKKzoxMDIzNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGNzkKKzoxMDIzNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGMUIKKzoxMDIzNjAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODBGRkZGRkYwMEZGODgKKzoxMDIzNzAwMEZGRkY5M0ZGRkZGRkUwRkZGRkZGODNGRkZGRkZFMkZGOTEKKzoxMDIzODAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGRTUKKzoxMDIzOTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGN0QKKzoxMDIzQTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMTQKKzoxMDIzQjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMTUKKzoxMDIzQzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGQzIKKzoxMDIzRDAwMDAzRkYwREZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGRTgKKzoxMDIzRTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRjcKKzoxMDIzRjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MEZGQjEKKzoxMDI0MDAwMDBDRkYwREZGRkZGRkYwRkYwMEZGMDBGRkZGRkYwMEZGQ0QKKzoxMDI0MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzYKKzoxMDI0MjAwMDAwRkYwMEZGRkZGRjAwRkZGN0ZGNEZGRkZGRkZGNEZGN0MKKzoxMDI0MzAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGREMKKzoxMDI0NDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNzMKKzoxMDI0NTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNzQKKzoxMDI0NjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMjEKKzoxMDI0NzAwMDQ2RkY4MEZGRkZGRjAyRkYwMEZGMDBGRkZGRkYwMEZGOUUKKzoxMDI0ODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNTYKKzoxMDI0OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDYKKzoxMDI0QTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMzYKKzoxMDI0QjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxM0ZGNEQKKzoxMDI0QzAwMDAwRkY0MEZGRkZGRjAwRkYxMUZGOTBGRkZGRkY2MEZGRDUKKzoxMDI0RDAwMDhERkY5M0ZGRkZGRkQwRkYxMUZGOTBGRkZGRkZGMkZGODMKKzoxMDI0RTAwMDExRkY5MEZGRkZGRkUzRkZGN0ZGNEZGRkZGRkZGNEZGMzgKKzoxMDI0RjAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMUMKKzoxMDI1MDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjIKKzoxMDI1MTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjMKKzoxMDI1MjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNjAKKzoxMDI1MzAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGOUYKKzoxMDI1NDAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGNUIKKzoxMDI1NTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGODUKKzoxMDI1NjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGOUYKKzoxMDI1NzAwMEZGRkY5M0ZGRkZGRkUwRkYwMEZGNjBGRkZGRkYyMkZGNzEKKzoxMDI1ODAwMDY3RkY0MEZGRkZGRjQwRkZGRkZGOTNGRkZGRkZFMEZGRkMKKzoxMDI1OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDUKKzoxMDI1QTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMzUKKzoxMDI1QjAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGQjMKKzoxMDI1QzAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGNEIKKzoxMDI1RDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGRTIKKzoxMDI1RTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGRTMKKzoxMDI1RjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGOTAKKzoxMDI2MDAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGQ0UKKzoxMDI2MTAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGOEEKKzoxMDI2MjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGREUKKzoxMDI2MzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQTQKKzoxMDI2NDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTQKKzoxMDI2NTAwMDQ2RkY4MEZGRkZGRjIzRkZGRkZGOTNGRkZGRkZFMEZGMjkKKzoxMDI2NjAwMDAwRkY2OEZGRkZGRjMyRkYwMEZGNjBGRkZGRkY3MkZGMDgKKzoxMDI2NzAwMDY3RkY0MEZGRkZGRjQwRkZGRkZGOTNGRkZGRkZFMEZGMEIKKzoxMDI2ODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNTQKKzoxMDI2OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDQKKzoxMDI2QTAwMDQ2RkY5MEZGRkZGRjY3RkZGN0ZGNEZGRkZGRkZGNEZGQkQKKzoxMDI2QjAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGNUEKKzoxMDI2QzAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGRjEKKzoxMDI2RDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGRjIKKzoxMDI2RTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGOUYKKzoxMDI2RjAwMDQ2RkY4MEZGRkZGRjA1RkYwM0ZGMERGRkZGRkYwRkZGRkEKKzoxMDI3MDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRDMKKzoxMDI3MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzMKKzoxMDI3MjAwMDBDRkYwREZGRkZGRkY1RkYwMEZGMDBGRkZGRkYwMEZGQTUKKzoxMDI3MzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQTMKKzoxMDI3NDAwMDAwRkYwMEZGRkZGRjAwRkZGN0ZGNEZGRkZGRkZGNEZGNTkKKzoxMDI3NTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGQjkKKzoxMDI3NjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNTAKKzoxMDI3NzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNTEKKzoxMDI3ODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGRkUKKzoxMDI3OTAwMDQ2RkY4MEZGRkZGRjAwRkY4REZGOTNGRkZGRkZDMEZGOUQKKzoxMDI3QTAwMDhERkY4M0ZGRkZGRkM3RkY0NkZGOTBGRkZGRkY2N0ZGMUYKKzoxMDI3QjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGOUYKKzoxMDI3QzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGQkMKKzoxMDI3RDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRTUKKzoxMDI3RTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGODcKKzoxMDI3RjAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODBGRkZGRkYwMEZGRjQKKzoxMDI4MDAwMDhERkY5M0ZGRkZGRkUwRkY4REZGODNGRkZGRkZFN0ZGREIKKzoxMDI4MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzIKKzoxMDI4MjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQjIKKzoxMDI4MzAwMDQ2RkY5MEZGRkZGRjY3RkZGN0ZGNEZGRkZGRkZGNEZGMkIKKzoxMDI4NDAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGQzgKKzoxMDI4NTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNUYKKzoxMDI4NjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNjAKKzoxMDI4NzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMEQKKzoxMDI4ODAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYyNEZGMEUKKzoxMDI4OTAwMEEwRkYyM0ZGRkZGRjBGRkYxMUZGOTBGRkZGRkY2QUZGNjUKKzoxMDI4QTAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGOTQKKzoxMDI4QjAwMDUxRkYxNEZGRkZGRjgxRkY5MEZGODBGRkZGRkY2MEZGQ0MKKzoxMDI4QzAwMDgwRkYyM0ZGRkZGRjBGRkY4REZGODNGRkZGRkZEMEZGODAKKzoxMDI4RDAwMDAwRkY0MEZGRkZGRjE0RkZBMEZGMjNGRkZGRkYwRkZGREMKKzoxMDI4RTAwMDExRkY5MEZGRkZGRjZBRkYzMEZGMENGRkZGRkYwMEZGQUIKKzoxMDI4RjAwMDAwRkY0MEZGRkZGRjE2RkYxMEZGNDBGRkZGRkYwN0ZGMzUKKzoxMDI5MDAwMDkwRkYzNEZGRkZGRjcxRkYwMEZGMzRGRkZGRkYwOUZGNUYKKzoxMDI5MTAwMDBGRkY0MEZGRkZGRkY1RkYwMEZGNjBGRkZGRkYwN0ZGMTYKKzoxMDI5MjAwMDg4RkY2M0ZGRkZGRjI3RkZFOEZGNjBGRkZGRkYwN0ZGNTAKKzoxMDI5MzAwMDYyRkY2MUZGRkZGRjI3RkY4OEZGMkJGRkZGRkY4QkZGNzkKKzoxMDI5NDAwMEU4RkY2MEZGRkZGRjA3RkY2MkZGNjFGRkZGRkYxN0ZGNjgKKzoxMDI5NTAwMDg4RkYyRkZGRkZGRkZCRkY4OUZGMjNGRkZGRkYwRkZGMTQKKzoxMDI5NjAwMDk4RkYyMEZGRkZGRjBGRkZFQUZGMjBGRkZGRkYwRkZGOTEKKzoxMDI5NzAwMDAwRkYwREZGRkZGRkFCRkYwMEZGMERGRkZGRkZCOEZGRTQKKzoxMDI5ODAwMDAwRkYwREZGRkZGRkNGRkY2MkZGMjFGRkZGRkYwRkZGRTMKKzoxMDI5OTAwMDEwRkYyMkZGRkZGRjBGRkY2MkZGMjFGRkZGRkYwRkZGNkUKKzoxMDI5QTAwMDAwRkY0MEZGRkZGRjI0RkY5MEZGODBGRkZGRkY2MEZGNUQKKzoxMDI5QjAwMDgwRkYyM0ZGRkZGRjBGRkY1MUZGMThGRkZGRkYwMEZGMDYKKzoxMDI5QzAwMDhCRkY5M0ZGRkZGRkVCRkY4QkZGOTNGRkZGRkZGQ0ZGRUUKKzoxMDI5RDAwMDAwRkYwQUZGRkZGRjBGRkY1MUZGMUNGRkZGRkYwRkZGNkMKKzoxMDI5RTAwMDhERkY5M0ZGRkZGRkFDRkY4MkZGM0NGRkZGRkY0NUZGMjIKKzoxMDI5RjAwMDU0RkYxNEZGRkZGRjJFRkZGRkZGM0ZGRkZGRkZGNUZGMTgKKzoxMDJBMDAwMDU0RkYxNEZGRkZGRjFFRkYwMEZGMDBGRkZGRkYwMEZGNEEKKzoxMDJBMTAwMDAwRkYwMEZGRkZGRjAwRkY1MUZGMUNGRkZGRkYwRkZGNDQKKzoxMDJBMjAwMDAwRkYwREZGRkZGRjBDRkY4REZGODNGRkZGRkZBNEZGRTMKKzoxMDJBMzAwMEUwRkYyMkZGRkZGRjBGRkY1M0ZGMThGRkZGRkZCM0ZGNzEKKzoxMDJBNDAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYyNEZGNEMKKzoxMDJBNTAwMEEwRkYyM0ZGRkZGRjBGRkYwMEZGMERGRkZGRkZCQUZGRTcKKzoxMDJBNjAwMDhCRkY4M0ZGRkZGRkY1RkYxMUZGOTBGRkZGRkY2QkZGNjEKKzoxMDJBNzAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGQzIKKzoxMDJBODAwMDU1RkYxNEZGRkZGRjIxRkY5MEZGODBGRkZGRkY2MEZGNTYKKzoxMDJBOTAwMDgwRkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyMEZGMkUKKzoxMDJBQTAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGODNGRkZGRkZFNEZGRkQKKzoxMDJBQjAwMDhCRkY4M0ZGRkZGRkY1RkYwOEZGMENGRkZGRkYwMEZGMDkKKzoxMDJBQzAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGMjIKKzoxMDJBRDAwMDAwRkYwREZGRkZGRjRFRkY4QkZGOTNGRkZGRkZFRUZGOTkKKzoxMDJBRTAwMDAwRkYwREZGRkZGRjVBRkY4QkZGOTNGRkZGRkZGQUZGNzEKKzoxMDJBRjAwMDhERkY4M0ZGRkZGRjIwRkY4REZGODNGRkZGRkYzMUZGNkYKKzoxMDJCMDAwMEUwRkYyMkZGRkZGRjBGRkZDOUZGMkFGRkZGRkZFQUZGRTEKKzoxMDJCMTAwMDU0RkYxOEZGRkZGRkQ1RkYwMEZGMERGRkZGRkY0RUZGMjMKKzoxMDJCMjAwMDAwRkYwREZGRkZGRjVBRkY4MkZGNEZGRkZGRkZGMEZGODcKKzoxMDJCMzAwMEZGRkY0RkZGRkZGRkYxRkZFMEZGMjJGRkZGRkYwRkZGNEYKKzoxMDJCNDAwMEM5RkYyQUZGRkZGRkVBRkY1NkZGMThGRkZGRkZCNEZGOTAKKzoxMDJCNTAwMDU0RkYxOEZGRkZGRkRGRkYwMEZGNDBGRkZGRkYyMEZGRDQKKzoxMDJCNjAwMDQ3RkY5MEZGRkZGRjIwRkYwQ0ZGMENGRkZGRkYwMEZGNjAKKzoxMDJCNzAwMDAyRkY0MEZGRkZGRjYwRkYxMUZGOTBGRkZGRkYyMEZGRkMKKzoxMDJCODAwMDE2RkYxOEZGRkZGRjRGRkY4REZGODNGRkZGRkZEMEZGRjIKKzoxMDJCOTAwMDAwRkY0MEZGRkZGRjI0RkZBMEZGMjNGRkZGRkYwRkZGMDkKKzoxMDJCQTAwMDExRkY5MEZGRkZGRjZBRkYwMEZGNDBGRkZGRkYxNEZGRDAKKzoxMDJCQjAwMDE4RkYyM0ZGRkZGRjBGRkY1N0ZGMTRGRkZGRkY5MUZGRDkKKzoxMDJCQzAwMDkwRkY4MEZGRkZGRjYwRkY4MEZGMjNGRkZGRkYwRkZGRUQKKzoxMDJCRDAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYxNEZGQ0IKKzoxMDJCRTAwMEEwRkYyM0ZGRkZGRjBGRkYxMUZGOTBGRkZGRkY2QUZGMTIKKzoxMDJCRjAwMDMwRkYwQ0ZGRkZGRjAwRkYwMEZGNDBGRkZGRkYxNkZGNEQKKzoxMDJDMDAwMDEwRkY0MEZGRkZGRjA3RkY5MEZGMzRGRkZGRkY3MUZGNDIKKzoxMDJDMTAwMDAwRkYzNEZGRkZGRjA5RkYwRkZGNDBGRkZGRkZGNUZGM0QKKzoxMDJDMjAwMDAwRkY2MEZGRkZGRjA3RkY4OEZGNjNGRkZGRkYyN0ZGMzUKKzoxMDJDMzAwMEU4RkY2MEZGRkZGRjA3RkY2MkZGNjFGRkZGRkYyN0ZGNjUKKzoxMDJDNDAwMDg4RkYyQkZGRkZGRjhCRkZFOEZGNjBGRkZGRkYwN0ZGMDEKKzoxMDJDNTAwMDYyRkY2MUZGRkZGRjE3RkY4OEZGMkZGRkZGRkZGQkZGRjIKKzoxMDJDNjAwMDg5RkYyM0ZGRkZGRjBGRkY5OEZGMjBGRkZGRkYwRkZGRUMKKzoxMDJDNzAwMEVBRkYyMEZGRkZGRjBGRkYwMEZGMERGRkZGRkZBQkZGOEQKKzoxMDJDODAwMDAwRkYwREZGRkZGRkI4RkYwMEZGMERGRkZGRkZDRkZGQUQKKzoxMDJDOTAwMDYyRkYyMUZGRkZGRjBGRkYxMEZGMjJGRkZGRkYwRkZGNkIKKzoxMDJDQTAwMDYyRkYyMUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyNEZGMzgKKzoxMDJDQjAwMDkwRkY4MEZGRkZGRjYwRkY4MEZGMjNGRkZGRkYwRkZGRkMKKzoxMDJDQzAwMDU3RkYxOEZGRkZGRjEwRkY4QkZGOTNGRkZGRkZFQkZGODYKKzoxMDJDRDAwMDhCRkY5M0ZGRkZGRkZDRkY1Q0ZGMUNGRkZGRkYzRkZGMkQKKzoxMDJDRTAwMDAwRkYwQUZGRkZGRjBGRkY1N0ZGMUNGRkZGRkYxRkZGNDMKKzoxMDJDRjAwMDhERkY5M0ZGRkZGRkFDRkY4MkZGM0NGRkZGRkY0NUZGMEYKKzoxMDJEMDAwMDVBRkYxNEZGRkZGRjRFRkZGRkZGM0ZGRkZGRkZGNUZGREUKKzoxMDJEMTAwMDVBRkYxNEZGRkZGRjNFRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDJEMjAwMDAwRkYwMEZGRkZGRjAwRkY1N0ZGMUNGRkZGRkYxRkZGMUIKKzoxMDJEMzAwMDAwRkYwREZGRkZGRjBDRkY4REZGODNGRkZGRkZBNEZGRDAKKzoxMDJENDAwMEUwRkYyMkZGRkZGRjBGRkY1OUZGMThGRkZGRkZEM0ZGMzgKKzoxMDJENTAwMDVDRkYxQ0ZGRkZGRjNGRkY4REZGODNGRkZGRkZEMEZGRTYKKzoxMDJENjAwMDAwRkY0MEZGRkZGRjI0RkZBMEZGMjNGRkZGRkYwRkZGMzcKKzoxMDJENzAwMDAwRkYwREZGRkZGRkJBRkY4QkZGODNGRkZGRkZGNUZGOTMKKzoxMDJEODAwMDVDRkYxQ0ZGRkZGRjNGRkYxMUZGOTBGRkZGRkY2QkZGOEEKKzoxMDJEOTAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGOUYKKzoxMDJEQTAwMDVCRkYxNEZGRkZGRjYxRkY5MEZGODBGRkZGRkY2MEZGRUQKKzoxMDJEQjAwMDgwRkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyMEZGMEIKKzoxMDJEQzAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGODNGRkZGRkZFNEZGREEKKzoxMDJERDAwMDhCRkY4M0ZGRkZGRkY1RkYwOEZGMENGRkZGRkYwMEZGRTYKKzoxMDJERTAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGRkYKKzoxMDJERjAwMDAwRkYwREZGRkZGRjRFRkY4QkZGOTNGRkZGRkZFRUZGNzYKKzoxMDJFMDAwMDhCRkY5M0ZGRkZGRkZBRkY1RUZGMUNGRkZGRkYwRkZGMkIKKzoxMDJFMTAwMDVCRkYxOEZGRkZGRjBGRkY4QkZGODNGRkZGRkYyMEZGMEMKKzoxMDJFMjAwMDc4RkYyMkZGRkZGRjBGRkYwREZGMThGRkZGRkYwNUZGRDkKKzoxMDJFMzAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGMENGRkZGRkYwMEZGNkYKKzoxMDJFNDAwMDAwRkY0MEZGRkZGRjE0RkYwMEZGNDBGRkZGRkYwNUZGRjMKKzoxMDJFNTAwMDhCRkY4M0ZGRkZGRkUwRkY4QkZGODNGRkZGRkZGMUZGOEYKKzoxMDJFNjAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGN0UKKzoxMDJFNzAwMDhCRkY5M0ZGRkZGRkZBRkY4QkZGOTNGRkZGRkZFRUZGMzgKKzoxMDJFODAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMUIKKzoxMDJFOTAwMDA4RkYwQ0ZGRkZGRjAwRkYwMEZGNDBGRkZGRkYxNEZGRDQKKzoxMDJFQTAwMDAwRkY0MEZGRkZGRjA1RkY4QkZGODNGRkZGRkZFMEZGRjkKKzoxMDJFQjAwMDhCRkY4M0ZGRkZGRkYxRkY2MEZGMjJGRkZGRkYwRkZGOEMKKzoxMDJFQzAwMDQ5RkYyQUZGRkZGRkVBRkY4QkZGOTNGRkZGRkZGQUZGOTcKKzoxMDJFRDAwMDhCRkY5M0ZGRkZGRkVFRkYwQ0ZGMENGRkZGRkYwMEZGRDgKKzoxMDJFRTAwMDhERkY4M0ZGRkZGRjQwRkY3OEZGMjJGRkZGRkYwRkZGRjMKKzoxMDJFRjAwMDVFRkYxQ0ZGRkZGRjA0RkYwMEZGMEFGRkZGRkYwRkZGNDUKKzoxMDJGMDAwMDA4RkYwQ0ZGRkZGRjAwRkY4REZGODNGRkZGRkY1MEZGNTcKKzoxMDJGMTAwMDc4RkYyMkZGRkZGRjBGRkY1RkZGMUNGRkZGRkY1NEZGNDMKKzoxMDJGMjAwMDBGRkY0MEZGRkZGRkY1RkY5MEZGODBGRkZGRkZBOEZGQUYKKzoxMDJGMzAwMDEwRkYwRkZGRkZGRjA4RkY5MEZGODBGRkZGRkY5MEZGRDQKKzoxMDJGNDAwMDg4RkYyN0ZGRkZGRjBGRkZCNkZGMjdGRkZGRkYwRkZGRTEKKzoxMDJGNTAwMDhCRkY4M0ZGRkZGRkZBRkZGMkZGMjJGRkZGRkYwRkZGNTAKKzoxMDJGNjAwMDAwRkYwREZGRkZGRjBBRkYwMEZGNDBGRkZGRkYxNEZGMDAKKzoxMDJGNzAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGREEKKzoxMDJGODAwMDM4RkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyNEZGN0QKKzoxMDJGOTAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGQkEKKzoxMDJGQTAwMDAwRkYwQUZGRkZGRjBGRkYwRkZGNDBGRkZGRkZGNUZGQ0UKKzoxMDJGQjAwMDkwRkY4MEZGRkZGRjgwRkY4QkZGODNGRkZGRkZFMkZGOUIKKzoxMDJGQzAwMDg4RkYyN0ZGRkZGRjBGRkY5OEZGMjBGRkZGRkYwRkZGODYKKzoxMDJGRDAwMDEwRkY0MEZGRkZGRjA3RkZFOEZGMjBGRkZGRkYwRkZGOEQKKzoxMDJGRTAwMDAwRkYwREZGRkZGRkFDRkZGMkZGMjJGRkZGRkYwRkZGMEYKKzoxMDJGRjAwMDAwRkYwREZGRkZGRjBBRkYwMUZGNDBGRkZGRkYwNEZGN0YKKzoxMDMwMDAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGNDkKKzoxMDMwMTAwMDM4RkYyM0ZGRkZGRjBGRkYwMkZGNDBGRkZGRkYwNEZGMEEKKzoxMDMwMjAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGMjkKKzoxMDMwMzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkYwOEZGNDUKKzoxMDMwNDAwMDAwRkYzNEZGRkZGRkQ0RkYwMEZGMzRGRkZGRkY4NUZGQzkKKzoxMDMwNTAwMEZGRkY0RkZGRkZGRjg5RkYwMEZGMDlGRkZGRkYwMUZGOTkKKzoxMDMwNjAwMDg5RkY4M0ZGRkZGRkI4RkYwMEZGMEVGRkZGRkYwRkZGODkKKzoxMDMwNzAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGMjYKKzoxMDMwODAwMDAwRkY2OEZGRkZGRkEzRkY4OUZGODNGRkZGRkZBOEZGOEIKKzoxMDMwOTAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGQzIKKzoxMDMwQTAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGNDYKKzoxMDMwQjAwMDAwRkYwOUZGRkZGRjAzRkY4QkZGODNGRkZGRkZCMEZGNTAKKzoxMDMwQzAwMDAwRkY2OEZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGODkKKzoxMDMwRDAwMDAyRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGODcKKzoxMDMwRTAwMDAwRkYzNEZGRkZGRjI2RkY4OUZGODNGRkZGRkZEOEZGQUMKKzoxMDMwRjAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGNjIKKzoxMDMxMDAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGRTUKKzoxMDMxMTAwMDg5RkY4M0ZGRkZGRkM4RkYwMEZGMEVGRkZGRkYwRkZGQzgKKzoxMDMxMjAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGNzUKKzoxMDMxMzAwMDAwRkY2OEZGRkZGRkEzRkYwMEZGMDlGRkZGRkYwM0ZGODIKKzoxMDMxNDAwMDhCRkY4M0ZGRkZGRkQwRkYwMEZGNjhGRkZGRkYwMkZGNDEKKzoxMDMxNTAwMDAxRkY0MEZGRkZGRjgwRkYwMEZGNjhGRkZGRkYwMkZGNEUKKzoxMDMxNjAwMDAwRkY0MEZGRkZGRjIwRkYwMEZGNjhGRkZGRkYwM0ZGOUUKKzoxMDMxNzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYxMEZGRjAKKzoxMDMxODAwMDhCRkY5M0ZGRkZGRjQwRkYzMEZGNDBGRkZGRkYwMEZGN0IKKzoxMDMxOTAwMDQ5RkY5MEZGRkZGRjQwRkYwMEZGMEFGRkZGRkYwRkZGMDcKKzoxMDMxQTAwMDAwRkY0MEZGRkZGRjYwRkYwMEZGOTFGRkZGRkZGMEZGMDgKKzoxMDMxQjAwMDAwRkYwQUZGRkZGRjBGRkYwMUZGNDJGRkZGRkY4MEZGM0QKKzoxMDMxQzAwMDAwRkY5MUZGRkZGRjcwRkYwN0ZGNDJGRkZGRkY4MEZGM0YKKzoxMDMxRDAwMDAzRkY5MUZGRkZGRjcwRkYwMkZGNDJGRkZGRkYwMEZGQjEKKzoxMDMxRTAwMDAwRkY5MUZGRkZGRkYwRkYwOEZGNDJGRkZGRkYwMEZGMUUKKzoxMDMxRjAwMDAzRkY5MUZGRkZGRkYwRkYwMEZGNDBGRkZGRkYyMEZGRjUKKzoxMDMyMDAwMDAxRkY5MUZGRkZGRjcwRkYwMEZGNDBGRkZGRkYyMEZGNjYKKzoxMDMyMTAwMDA0RkY5MUZGRkZGRjcwRkYwMEZGMEFGRkZGRkYwRkZGOUEKKzoxMDMyMjAwMDA0RkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGNjkKKzoxMDMyMzAwMDYyRkYxQ0ZGRkZGRkZGRkYwMEZGMEFGRkZGRkYwRkZGMDIKKzoxMDMyNDAwMDAwRkY0MEZGRkZGRjIwRkYwMEZGOTFGRkZGRkZGMEZGQTcKKzoxMDMyNTAwMDAxRkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGM0MKKzoxMDMyNjAwMDYyRkYxQ0ZGRkZGRkZGRkYwMEZGMEFGRkZGRkYwRkZGRDIKKzoxMDMyNzAwMDAwRkY0MEZGRkZGRjQwRkY4QkZGOTNGRkZGRkY4MEZGM0EKKzoxMDMyODAwMDA1RkYzNUZGRkZGRjAwRkY5MkZGM0JGRkZGRkYwMEZGNDEKKzoxMDMyOTAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGQkMKKzoxMDMyQTAwMDAwRkYzQ0ZGRkZGRjY1RkY2NUZGMTRGRkZGRkY5RUZGNzAKKzoxMDMyQjAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNDIKKzoxMDMyQzAwMDAwRkY3OEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYwM0ZGMDIKKzoxMDMyRDAwMDAxRkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGQkMKKzoxMDMyRTAwMDYyRkYxQ0ZGRkZGRkZGRkYwNUZGODFGRkZGRkZDMEZGMjUKKzoxMDMyRjAwMDc4RkYyMkZGRkZGRjBGRkYyMUZGMThGRkZGRkY3MUZGODUKKzoxMDMzMDAwMDAwRkYwQUZGRkZGRjBGRkY0OUZGODBGRkZGRkY0OEZGOUQKKzoxMDMzMTAwMDEwRkYwRkZGRkZGRjAzRkY2NkZGMjNGRkZGRkYwRkZGRkQKKzoxMDMzMjAwMDc0RkYxOEZGRkZGRjU0RkY4NkZGODNGRkZGRkZDMEZGRkUKKzoxMDMzMzAwMDQ5RkY5MEZGRkZGRjIwRkY2MkZGMUNGRkZGRkZGRkZGMjEKKzoxMDMzNDAwMDg2RkY4M0ZGRkZGRjgwRkYwMUZGNDBGRkZGRkYwNEZGQjkKKzoxMDMzNTAwMEUwRkYyMkZGRkZGRjBGRkY4NkZGOTNGRkZGRkY4QUZGQzMKKzoxMDMzNjAwMDY3RkYxQ0ZGRkZGRjAwRkY4NkZGODdGRkZGRkZEMEZGMDcKKzoxMDMzNzAwMDc1RkYxQ0ZGRkZGRjFGRkYwMEZGMEFGRkZGRkYwRkZGOEUKKzoxMDMzODAwMDAwRkY0OEZGRkZGRjAwRkY4MkZGOTNGRkZGRkY0MEZGQUEKKzoxMDMzOTAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGMENGRkZGRkYwMEZGMEEKKzoxMDMzQTAwMDg2RkY4QkZGRkZGRkIwRkYwMEZGMzhGRkZGRkYwOEZGMjYKKzoxMDMzQjAwMDAwRkYzOEZGRkZGRkY0RkZGRkZGNEZGRkZGRkY4OUZGMTQKKzoxMDMzQzAwMDhERkY4M0ZGRkZGRjYwRkY4OUZGODNGRkZGRkY0NEZGNDcKKzoxMDMzRDAwMDAwRkY0MEZGRkZGRjAxRkY4OUZGODNGRkZGRkY1NUZGNTUKKzoxMDMzRTAwMDYwRkYyNkZGRkZGRjBGRkY0OUZGMjJGRkZGRkYwRkZGRDgKKzoxMDMzRjAwMDAwRkY3OEZGRkZGRkEzRkYxMEZGMjJGRkZGRkYwRkZGN0IKKzoxMDM0MDAwMDAwRkY3OEZGRkZGRkEwRkY4REZGODNGRkZGRkY2MEZGM0UKKzoxMDM0MTAwMDg5RkY4M0ZGRkZGRjI0RkYwMEZGNDBGRkZGRkYwMUZGNDUKKzoxMDM0MjAwMDg5RkY4M0ZGRkZGRjM1RkY2MEZGMjZGRkZGRkYwRkZGRDAKKzoxMDM0MzAwMDQ5RkYyMkZGRkZGRjBGRkYwMEZGNzhGRkZGRkZBM0ZGMDEKKzoxMDM0NDAwMDEwRkYyMkZGRkZGRjBGRkYwMEZGNzhGRkZGRkZBM0ZGMkEKKzoxMDM0NTAwMDhERkY4M0ZGRkZGRjYwRkYyMEZGNDBGRkZGRkYwNEZGQTIKKzoxMDM0NjAwMDYwRkYyMkZGRkZGRjBGRkY4REZGOTNGRkZGRkY2QUZGNEIKKzoxMDM0NzAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMjUKKzoxMDM0ODAwMDA4RkYwQ0ZGRkZGRjAwRkY4NkZGODdGRkZGRkZCMEZGNzUKKzoxMDM0OTAwMDAwRkYzNEZGRkZGRjA4RkYwMUZGMzRGRkZGRkYwNEZGQzEKKzoxMDM0QTAwMDAwRkYzNEZGRkZGRjM1RkZGRkZGNEZGRkZGRkY4OUZGRTYKKzoxMDM0QjAwMDAwRkYwOUZGRkZGRjAxRkY4N0ZGOEJGRkZGRkZFMEZGMUEKKzoxMDM0QzAwMDAwRkYzOEZGRkZGRjg4RkYwMEZGNzBGRkZGRkYwM0ZGRDMKKzoxMDM0RDAwMDAwRkY2OEZGRkZGRjAwRkYwMEZGNzBGRkZGRkYwM0ZGMUIKKzoxMDM0RTAwMDAwRkY2OEZGRkZGRjAzRkY4N0ZGOUJGRkZGRkZFMEZGNzkKKzoxMDM0RjAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGQTUKKzoxMDM1MDAwMDAxRkYzQ0ZGRkZGRjA1RkY2QUZGMTRGRkZGRkY5RUZGNjcKKzoxMDM1MTAwMDY3RkYxQ0ZGRkZGRjNGRkY2OUZGMUNGRkZGRkYwRkZGNUYKKzoxMDM1MjAwMDY2RkYxQ0ZGRkZGRjFGRkYzOEZGMjJGRkZGRkYwRkZGOUIKKzoxMDM1MzAwMDZBRkYxNEZGRkZGRjg1RkY4QkZGODNGRkZGRkY0MEZGNDQKKzoxMDM1NDAwMDc4RkYyMkZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGREMKKzoxMDM1NTAwMDAwRkYwQUZGRkZGRjBGRkY4MkZGODNGRkZGRkY0MEZGMTcKKzoxMDM1NjAwMDc4RkYyMkZGRkZGRjBGRkY2QUZGMUNGRkZGRkZGNEZGNDIKKzoxMDM1NzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYxMEZGRUMKKzoxMDM1ODAwMDQ3RkY5MEZGRkZGRjIwRkY4N0ZGODNGRkZGRkZGMEZGNTQKKzoxMDM1OTAwMDg2RkY5M0ZGRkZGRjgwRkYwMEZGNDBGRkZGRkYwMEZGNUMKKzoxMDM1QTAwMDhERkY5M0ZGRkZGRjYwRkY4MkZGOTNGRkZGRkY0MEZGNTAKKzoxMDM1QjAwMDg2RkY4N0ZGRkZGRjkwRkYwMkZGMzRGRkZGRkYwOEZGM0EKKzoxMDM1QzAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkYyMEZGNjYKKzoxMDM1RDAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkYzMEZGNDYKKzoxMDM1RTAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkY0MEZGMjYKKzoxMDM1RjAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkY1MEZGMDYKKzoxMDM2MDAwMDg2RkY5N0ZGRkZGRjkwRkYwMEZGMEFGRkZGRkYwRkZGRkUKKzoxMDM2MTAwMDAwRkYzNEZGRkZGRjY0RkYwMEZGMzRGRkZGRkYzNUZGQjMKKzoxMDM2MjAwMDAxRkYzNEZGRkZGRjk2RkYwMEZGMzhGRkZGRkYzNEZGNkQKKzoxMDM2MzAwMDAwRkYzOEZGRkZGRjY1RkYwMUZGMzhGRkZGRkY5NkZGMjgKKzoxMDM2NDAwMDAwRkYzOEZGRkZGRjA4RkYwMkZGMzRGRkZGRkY0OUZGQzUKKzoxMDM2NTAwMDAyRkYzOEZGRkZGRjQ5RkYxMEZGNDBGRkZGRkYwNkZGOUIKKzoxMDM2NjAwMDEwRkY0MEZGRkZGRjAyRkYzMEZGMENGRkZGRkYwMEZGRDYKKzoxMDM2NzAwMDAwRkYzQ0ZGRkZGRjI1RkY2REZGMTRGRkZGRkZCRUZGQjQKKzoxMDM2ODAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGOUUKKzoxMDM2OTAwMDgzRkY2OEZGRkZGRkM1RkY4OEZGNjhGRkZGRkZDNEZGRDAKKzoxMDM2QTAwMDgzRkY2OEZGRkZGRkM1RkYwMEZGNjhGRkZGRkZDNkZGNDYKKzoxMDM2QjAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGNkUKKzoxMDM2QzAwMDgzRkY3OEZGRkZGRkM0RkY4OEZGNzhGRkZGRkZDNUZGODAKKzoxMDM2RDAwMDgzRkY3OEZGRkZGRkM0RkYwMEZGNzhGRkZGRkZDNkZGRjcKKzoxMDM2RTAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGM0UKKzoxMDM2RjAwMDgzRkY2OEZGRkZGRkM1RkY4OEZGNjhGRkZGRkZDNEZGNzAKKzoxMDM3MDAwMDgzRkY2OEZGRkZGRkM1RkYwMEZGNjhGRkZGRkZDNkZGRTUKKzoxMDM3MTAwMDAwRkYzQ0ZGRkZGRjI1RkY2RUZGMTRGRkZGRkY4RUZGNDIKKzoxMDM3MjAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGRkQKKzoxMDM3MzAwMDgzRkY3OEZGRkZGRkM0RkY4OEZGNzhGRkZGRkZDNEZGMTAKKzoxMDM3NDAwMDAwRkY3OEZGRkZGRkM0RkYyMEZGMENGRkZGRkYwMEZGMUIKKzoxMDM3NTAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkZFOUZGM0QKKzoxMDM3NjAwMDAxRkYzOEZGRkZGRjI4RkYwMUZGMzhGRkZGRkYyOUZGQTAKKzoxMDM3NzAwMDAwRkYzOEZGRkZGRjY2RkYwMEZGMzhGRkZGRkYzNEZGNDkKKzoxMDM3ODAwMDAwRkYzOEZGRkZGRjc1RkYxMEZGNDBGRkZGRkYwNkZGNDAKKzoxMDM3OTAwMDAwRkY0MUZGRkZGRjA3RkYzMEZGMENGRkZGRkYwMEZGQUYKKzoxMDM3QTAwMDk4RkY3MEZGRkZGRjIwRkYwMEZGM0NGRkZGRkYyNUZGOUEKKzoxMDM3QjAwMDcwRkYxNEZGRkZGRjJFRkY4MEZGNzBGRkZGRkY0MkZGMkYKKzoxMDM3QzAwMDYzRkY3MkZGRkZGRjIwRkY4MEZGNjhGRkZGRkZBN0ZGN0YKKzoxMDM3RDAwMDAwRkY3MEZGRkZGRjQxRkY2M0ZGNzJGRkZGRkYyNEZGNDkKKzoxMDM3RTAwMDgwRkY2OEZGRkZGRkE3RkYwMEZGNzBGRkZGRkY0NkZGOUUKKzoxMDM3RjAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGNEIKKzoxMDM4MDAwMDAwRkY3MEZGRkZGRjQ1RkY2M0ZGNzJGRkZGRkYyMEZGMTgKKzoxMDM4MTAwMDAwRkY2OEZGRkZGRkE3RkY4MEZGNzBGRkZGRkY0MkZGNzEKKzoxMDM4MjAwMDYzRkY3MkZGRkZGRjIwRkY4MEZGNzBGRkZGRkY0MUZGN0MKKzoxMDM4MzAwMDYzRkY2QUZGRkZGRkE3RkYwMEZGNzBGRkZGRkYyNEZGOEEKKzoxMDM4NDAwMDgwRkY2OEZGRkZGRkE3RkYwMEZGNzBGRkZGRkY0NEZGM0YKKzoxMDM4NTAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGRUEKKzoxMDM4NjAwMEYwRkY0MEZGRkZGRjA1RkYwMEZGNEZGRkZGRkYwNEZGREEKKzoxMDM4NzAwMDAwRkYwREZGRkZGRjBCRkY4MEZGMjdGRkZGRkYwRkZGODQKKzoxMDM4ODAwMDg4RkYyM0ZGRkZGRjBGRkZFQUZGMjBGRkZGRkYwRkZGNkYKKzoxMDM4OTAwMDc0RkYyMkZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBN0ZGN0UKKzoxMDM4QTAwMDAwRkY3MEZGRkZGRjI0RkY4MEZGNzBGRkZGRkY0NEZGNUEKKzoxMDM4QjAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGOEEKKzoxMDM4QzAwMDAwRkY0RkZGRkZGRjA0RkYwMEZGMERGRkZGRkYwQkZGOTcKKzoxMDM4RDAwMDgwRkYyN0ZGRkZGRjBGRkY4OEZGMjNGRkZGRkYwRkZGODIKKzoxMDM4RTAwMEVBRkYyMEZGRkZGRjBGRkY3NEZGMjJGRkZGRkYwRkZGMjQKKzoxMDM4RjAwMDAwRkY2OEZGRkZGRkE3RkYwMEZGMEFGRkZGRkYwRkZGQUEKKzoxMDM5MDAwMDM4RkYyMkZGRkZGRjBGRkY3MkZGMTRGRkZGRkYzNUZGOUQKKzoxMDM5MTAwMDhCRkY4M0ZGRkZGRjMwRkY3OEZGMjJGRkZGRkYwRkZGQ0EKKzoxMDM5MjAwMDAwRkYwQUZGRkZGRjBGRkYwRUZGNDBGRkZGRkYwMEZGM0EKKzoxMDM5MzAwMDEwRkY5MEZGRkZGRjEwRkYwOEZGNDBGRkZGRkYwMEZGOTkKKzoxMDM5NDAwMDEwRkY5MEZGRkZGRjkwRkYwMkZGNDBGRkZGRkY0MEZGQ0YKKzoxMDM5NTAwMDExRkY5MEZGRkZGRjIwRkYwMEZGNDBGRkZGRkYwMEZGNzAKKzoxMDM5NjAwMDEwRkY5MEZGRkZGRkIwRkZCMEZGNDBGRkZGRkYwMEZGMjEKKzoxMDM5NzAwMDQ3RkY5MEZGRkZGRjUwRkYzMEZGNDBGRkZGRkYwMEZGQkEKKzoxMDM5ODAwMDQ3RkY5MEZGRkZGRjQwRkY3OEZGNDJGRkZGRkY1MEZGMjAKKzoxMDM5OTAwMDQ4RkY5MEZGRkZGRkEwRkY0MEZGNDBGRkZGRkYwMEZGMzkKKzoxMDM5QTAwMDQ5RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYwMEZGODAKKzoxMDM5QjAwMDQ3RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYxMEZGNjIKKzoxMDM5QzAwMDQ3RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYwMEZGNjIKKzoxMDM5RDAwMDQ3RkY5MEZGRkZGRjcwRkYwMEZGNDBGRkZGRkYwMEZGNkEKKzoxMDM5RTAwMDExRkY5MEZGRkZGRjYwRkY4REZGOTNGRkZGRkZEMEZGRjAKKzoxMDM5RjAwMDBCRkY0MEZGRkZGRjgwRkYxMUZGOTBGRkZGRkZGMEZGNzUKKzoxMDNBMDAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGRUYKKzoxMDNBMTAwMDAwRkY0OEZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGRDUKKzoxMDNBMjAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGNDBGRkZGRkYwMEZGM0YKKzoxMDNBMzAwMDQ3RkY5MEZGRkZGRjIwRkYyMkZGMThGRkZGRkY5RkZGQzAKKzoxMDNBNDAwMDAwRkY0OEZGRkZGRjEwRkY4NkZGOTNGRkZGRkY3MEZGOUYKKzoxMDNBNTAwMDIyRkYxOEZGRkZGRjlGRkYwMEZGNDhGRkZGRkYwMEZGNEYKKzoxMDNBNjAwMDg2RkY5M0ZGRkZGRjcwRkYyMkZGMThGRkZGRkY5RkZGRkUKKzoxMDNBNzAwMDAwRkY0OEZGRkZGRjIwRkY4NkZGOTNGRkZGRkY3MEZGNUYKKzoxMDNBODAwMDIyRkYxOEZGRkZGRjlGRkYwMEZGMzRGRkZGRkY0OEZGRUIKKzoxMDNBOTAwMDAwRkY2MEZGRkZGRjAzRkY4NkZGOTNGRkZGRkZCMEZGMDQKKzoxMDNBQTAwMDAwRkY2MEZGRkZGRjAzRkY4NkZGOTNGRkZGRkZDMEZGRTQKKzoxMDNBQjAwMDg2RkY5N0ZGRkZGRkQwRkYwMEZGMEFGRkZGRkYwRkZGMEEKKzoxMDNBQzAwMDgwRkYzN0ZGRkZGRjAyRkY4NEZGM0JGRkZGRkYwMkZGODYKKzoxMDNBRDAwMDAwRkY2MEZGRkZGRjBCRkYwQ0ZGMERGRkZGRkY5MEZGREMKKzoxMDNBRTAwMDAwRkY3MEZGRkZGRjBCRkYwQ0ZGMERGRkZGRkZCMEZGOUMKKzoxMDNBRjAwMDg4RkYzN0ZGRkZGRjAzRkY4Q0ZGM0JGRkZGRkYwM0ZGNDQKKzoxMDNCMDAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGOTNGRkZGRkY1MUZGMEYKKzoxMDNCMTAwMDgyRkY0M0ZGRkZGRjgwRkY4QkZGOTNGRkZGRkY2MEZGRUMKKzoxMDNCMjAwMDAwRkYzNEZGRkZGRjg5RkYwMEZGNDBGRkZGRkYwMEZGQTIKKzoxMDNCMzAwMDBDRkYwREZGRkZGRjgwRkYwQ0ZGMERGRkZGRkZBMEZGM0QKKzoxMDNCNDAwMDAwRkYwQUZGRkZGRjBGRkY4MEZGMzdGRkZGRkYwMEZGQUYKKzoxMDNCNTAwMDAwRkYzNEZGRkZGRjA4RkYwMkZGM0NGRkZGRkY0NUZGQjAKKzoxMDNCNjAwMDc2RkYxNEZGRkZGRkRFRkYwMEZGQTBGRkZGRkYwM0ZGNTQKKzoxMDNCNzAwMDg0RkYzN0ZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNTgKKzoxMDNCODAwMDAyRkYzQ0ZGRkZGRjQ1RkY3N0ZGMTRGRkZGRkYyRUZGMDMKKzoxMDNCOTAwMDAwRkZBMEZGRkZGRjAzRkY3RUZGMzhGRkZGRkYwMEZGRDYKKzoxMDNCQTAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkZFNUZGQkUKKzoxMDNCQjAwMDc3RkYxNEZGRkZGRjhFRkYwMEZGNDBGRkZGRkYwMEZGQjYKKzoxMDNCQzAwMDAwRkY1OEZGRkZGRjAzRkYwMEZGMEFGRkZGRkYwRkZGOEIKKzoxMDNCRDAwMDY0RkYxQ0ZGRkZGRjRGRkYzOEZGMjJGRkZGRkYwRkZGQjcKKzoxMDNCRTAwMDc3RkYxNEZGRkZGRkU1RkY4QkZGODNGRkZGRkY0MEZGMjEKKzoxMDNCRjAwMDc4RkYyMkZGRkZGRjBGRkY2NEZGMUNGRkZGRkY4RkZGMTcKKzoxMDNDMDAwMDM4RkYyMkZGRkZGRjBGRkY3OEZGMTRGRkZGRkYzNUZGOTQKKzoxMDNDMTAwMDhCRkY4M0ZGRkZGRjQwRkY3OEZGMjJGRkZGRkYwRkZGQjcKKzoxMDNDMjAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkYwOUZGNDgKKzoxMDNDMzAwMDAwRkYzNEZGRkZGRjg1RkYwMEZGMzRGRkZGRkY1NkZGNEIKKzoxMDNDNDAwMDAwRkYwOUZGRkZGRjA2RkYyMEZGNDBGRkZGRkYwMEZGMEYKKzoxMDNDNTAwMDAxRkY0MEZGRkZGRkMxRkYwMEZGNDBGRkZGRkY0NEZGRTgKKzoxMDNDNjAwMDAwRkY2OEZGRkZGRjA1RkYwMEZGNjhGRkZGRkYxNUZGNzQKKzoxMDNDNzAwMDAwRkY2OEZGRkZGRjA1RkYwMEZGNjhGRkZGRkY0NUZGMzQKKzoxMDNDODAwMDAwRkYwQUZGRkZGRjBGRkY4NkZGODdGRkZGRkZGMEZGMjgKKzoxMDNDOTAwMDg2RkY4QkZGRkZGRkUwRkYwMEZGMzRGRkZGRkZDOEZGNDEKKzoxMDNDQTAwMDAwRkYzOEZGRkZGRkM4RkYwMEZGNjBGRkZGRkYwM0ZGQkIKKzoxMDNDQjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGMTAKKzoxMDNDQzAwMDAwRkY3OEZGRkZGRjAzRkY4NkZGOTdGRkZGRkZGMEZGNzYKKzoxMDNDRDAwMDg2RkY5QkZGRkZGRkUwRkYwNUZGODFGRkZGRkZDMEZGQTcKKzoxMDNDRTAwMDc4RkYyMkZGRkZGRjBGRkYyMUZGMThGRkZGRkY3MUZGOEIKKzoxMDNDRjAwMDAwRkYwQUZGRkZGRjBGRkY3RkZGMzhGRkZGRkYwMUZGRkQKKzoxMDNEMDAwMDAwRkYzOEZGRkZGRjA5RkYwMEZGMzhGRkZGRkYwNkZGM0UKKzoxMDNEMTAwMDdFRkY0MEZGRkZGRjAwRkYwMEZGNDBGRkZGRkZCMUZGRkUKKzoxMDNEMjAwMDA4RkYwQ0ZGRkZGRjAwRkYwMEZGM0NGRkZGRkZDNUZGODgKKzoxMDNEMzAwMDdBRkYxNEZGRkZGRkJFRkYwMEZGNTBGRkZGRkY0NkZGQUIKKzoxMDNENDAwMEUxRkYyMkZGRkZGRjBGRkY3QUZGMUNGRkZGRkZFMEZGRjUKKzoxMDNENTAwMDYwRkYyMkZGRkZGRjBGRkYwMEZGNThGRkZGRkZBN0ZGREQKKzoxMDNENjAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMkMKKzoxMDNENzAwMDAwRkY0MEZGRkZGRkM0RkYwMEZGMEFGRkZGRkYwRkZGMzAKKzoxMDNEODAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGNDMKKzowNDNEOTAwMEZGRkZGRkZGMzMKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L2FsYXdfbWFpbi5jc3AuaWhleCBiL2Zpcm13YXJlL3NiMTYvYWxhd19tYWluLmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NTAyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L2FsYXdfbWFpbi5jc3AuaWhleApAQCAtMCwwICsxLDg3IEBACis6MTAwMDAwMDAwMDEwMDA0NDA4MDAwMDQ0MDBCMTAwNDQwMDYxMDA0NEI2Cis6MTAwMDEwMDAwODUwMDA0NDBERjI2MUE4NDQwNDA0MTkwMDAwNDA0NTUyCis6MTAwMDIwMDA0MDQ5MzlBQzU1NTU3MThCNTAwNTYzODAwMDAwMDYzOTQ1Cis6MTAwMDMwMDBGRjJFMjE0OUZGMEZENDQ5MjAwMTA5MEUyMDAwNzE4QkFBCis6MTAwMDQwMDBBODAxQTg4MDg4MDFBODgwQTgwMDAwODBEMjAwNzE4QjM4Cis6MTAwMDUwMDA4ODAwQTg4MEE4MDRCMzgwMjAwN0IzODA4ODAzQjE4MEZCCis6MTAwMDYwMDBDMDAwMDk1Q0MyMDEwMDgyQTEwMDcxOEJDRDAwMDQxOTlGCis6MTAwMDcwMDAyMTIwNzE4QkNGMDAwNDE5MDAwMEIxODBDMjAwMDQxOTQ3Cis6MTAwMDgwMDAwMDQwMDAxNDA4NDAwNDI0MDAwMDM0NDkwQzQwMDA0NDlGCis6MTAwMDkwMDA0NDA0MDQzOTAwMDA0MDQ1MzIwMDA5NUMwMDAwMEMzOTdBCis6MTAwMEEwMDAwMDAwNDA0NTQwNDAwOUVGRkYyMDA5Q0YwMDA0NjNBMTU0Cis6MTAwMEIwMDA1MDAzMzM4MDAwMDRBMzgwMDBGRkMyOEIwMEQwMDQ1NDlGCis6MTAwMEMwMDAwNEUwMDBDNDIwMDM4MEMwMzAwMDAwODgwMDAwN0EwQUU5Cis6MTAwMEQwMDBEMDAxMDA4MjAwNjAwMDQ0QzAwMDAwOTkwMDYwMDA0NDJDCis6MTAwMEUwMDAwMEZGQzI4QjIwMDAwMDgwMDAwRDQyOEIwODMyMDBDNDRDCis6MTAwMEYwMDAwMDBFNDI4QjAwQTIwMEM0MDAxRTQyOEIwQ0IyMDBDNDUyCis6MTAwMTAwMDAwMDhFNDI4QjAwNjIwMEM0MDA5RTQyOEIwODUyMDBDNEU1Cis6MTAwMTEwMDAwMEJFNDI4QjA4NTIwMEM0MDAwNDQyOEIwNDcyMDBDNDJCCis6MTAwMTIwMDAwMDI0NDI4QjAwRDIwMEM0MDA1NTQyOEIwMDYwMDBDNDAyCis6MTAwMTMwMDAwMDAwNDA0NTIwMDE3OTgwMDAzMDQyOEIwODgyMDBDNEQ1Cis6MTAwMTQwMDAwMDAwNDA0NTAwMDA3MThCNDAwMTAwODAwMDYwMDA0NEM5Cis6MTAwMTUwMDBGRjAwRTJBQjAwQjIwMEM0MEZGMkE4QTgyMDAwQjE4OEYzCis6MTAwMTYwMDAwMDAwNDEwMjRERjIwMDM5QzAwMTAwODIwMDYwMDA0NEVECis6MTAwMTcwMDAwREYyQTNBODRERjIwMDM5MDA2MDAwNDRGRjAwRTJBQjhECis6MTAwMTgwMDAyMDAwMDA4ODAwMDA2MTAyNERGMjA0MTkwMDYwMDA0NDY0Cis6MTAwMTkwMDBGRjAwRTJBQkEwMDAwMDg4MDAwMDYxMTA0REYyMDQxOURFCis6MTAwMUEwMDAwMDYwMDA0NEZGMjBFMkFCNjAwMDAwODgwMDAwNzFDMEU2Cis6MTAwMUIwMDA0REYyMDQxOTAwNjAwMDQ0MDAwMDc5ODAwMEUyMDA4NEUwCis6MTAwMUMwMDAwMzAzMDQ0OTA0QzIwMDU0MDA2MDA0NjQwMDYwMDA0NDU2Cis6MTAwMUQwMDAwMDAwNjM4MDAwMDAwNjE5MDMwMDA0NDkwMDYwMDA0NDI5Cis6MTAwMUUwMDAyMDAxNjM4MDAwMDAwNjE5MDAyMEUyOEIwQ0YyMDA4NERECis6MTAwMUYwMDBCRTAwNTE4QkMwMjAwMDM5MDgwMTAwNDRFQzAwNTE4QjM3Cis6MTAwMjAwMDBDMDIwMDAzOTAwMDJFMjhCMDQyMTAwODQzRjAwNTE4QkEyCis6MTAwMjEwMDBDMjIwMDAzOTAwMTEwMDQ0M0QwMDUxOEJDMjIwMDAzOTNBCis6MTAwMjIwMDBFNTAwNzE4QkNEMDAwMDM5MDAwMEIxODBDOTIwMDQxOUIwCis6MTAwMjMwMDBDQjIwMDQxOUMxMjAwNDE5QzMyMDA0MTkxMDAwNzE4QkFDCis6MTAwMjQwMDBDNzIwMDQxOURFMDA1MThCQ0YwMDAwMzkwMDAxQjE4MEI2Cis6MTAwMjUwMDBDNDIwMDQxOUM2MjAwNDE5QzgyMDA0MTlDQTIwMDQxOThFCis6MTAwMjYwMDAyMDAwNzE4QkNDMjAwNDE5MDMwMDA0NDkwMDYwMDA0NDc1Cis6MTAwMjcwMDAwOTA0NjFBOEMxMDAwNDE5MEIwNDYxQThDQTAwMDQxOThCCis6MTAwMjgwMDAwNDYwMDBENDBEMDA2MTBBOTA0MDA5OEYwMDAxMDA0NTEwCis6MTAwMjkwMDAwRjAwNjEwQTAwNDAwOThGMDAwMTAwNDU4MjAwMDkyRTBECis6MTAwMkEwMDA4MDQwMDlDRjAyMDA2MTIyNDMyNTYxMjI0MDMzMDA4MDUzCis6MTAwMkIwMDAwODQ4MDA0NDIwQjE0OTVDOTIwMDA5NEUwMjAzMDkyRTBGCis6MTAwMkMwMDAwMDAwQTMwMkMwMDA3MUMwMjAwMEVCODAwMDA0QzI4QkJDCis6MTAwMkQwMDAyMDA0NjE4MDAwMDQ3QTAyQzAwMDAwODIwQ0MzMDg0OTM3Cis6MTAwMkUwMDBCMDAxRjM4MDAwMDAxMDM5MjAwMDBDODkwQzg4MDg0OTA3Cis6MTAwMkYwMDAwMzAwQTgxODAwMDAxMDM5QkRGRjYyOEIyMDAxMDA4MEE4Cis6MTAwMzAwMDAwMDAwNjNDQjAwMDA3QTAyNDAwMDAxNUIyMDAwMDA4MDA3Cis6MTAwMzEwMDAwMDAwNEFDQjIwMDAxMzgwMjAwMDdBODBFMDIxMDBDMDNBCis6MTAwMzIwMDAwODAwMDg0OTEwNDEwOThFQUVBRTYyOEIwMDA0NjEyMkJDCis6MTAwMzMwMDAwMDAzMDA0NTIyMDEzMzgwMjAwMUEzMDIwMDAwN0E4MERGCis6MTAwMzQwMDBDMDAwMDA4MjA3MjA0MDBBMDhBMzAwODQ0MDIxMDA4MEVBCis6MTAwMzUwMDA0MDA1OTMxMEM3MjAwMDM5MDAwMDQwNDUwNzIwNDAwQTlGCis6MTAwMzYwMDAwQzkzMDA4NDA4MDAwMDgyMEMyNDYxNTA0MDAxMDA4MDNFCis6MTAwMzcwMDBDNzIwMDAzOTAwMDA0MDQ1MDAwNDYzODAwMDAwMDYzOUIyCis6MTAwMzgwMDA0MjAxMDkwRTAyMjA2MTBBMDAwMTAwNDUwQzIwNjAwQUFBCis6MTAwMzkwMDAwMEMzMDA4NDAwMDRCMTgwMDAwMDA2MzkwQzYxMDRENDVECis6MTAwM0EwMDAwMDI0NzFDMDIwMzMzM0MwRTAwMUEzODIyMjAzN0EwMjBCCis6MTAwM0IwMDBDMzAxQTM4MjIwMDEzMzgwMDAwMDdBODBDMjAxQjM1MEMwCis6MTAwM0MwMDBDQzIwMDAzOTAwMDA3MTgwMDAwODAwNDQwQzIwNjAwQTM1Cis6MTAwM0QwMDAwMEYzMDA4NDAwMDRCMTgwMDAwMDA2MzkwQzYxMDRENEVECis6MTAwM0UwMDAwMDAwNzFDMDAwMDA5MzEwQ0MyMDAwMzkwMDA4MDA0NEM4Cis6MTAwM0YwMDBDQzIwMDAzOTAwMjAwMEMwMDAzMDcxQzAwMDA4MDA0NDRCCis6MTAwNDAwMDAyMDAxMDA4MEFFQUU2MjhCMjAwMTMzODAwMDAwODM4MDJCCis6MTAwNDEwMDAyMDAwN0E4MDIwQTE0OTVDODIwMDA5NkU4MDRBMDk4RTAyCis6MTAwNDIwMDBFMDAxQjM4MjIwMDRBMzgwMDAwMDdBQ0IyODA0RUExMDA0Cis6MTAwNDMwMDAwQzA0N0ExMDcwMDBDMDhCMDAwMDEwMzk5MDAzMDA4MDBCCis6MTAwNDQwMDA0MDAwMjE1QjkwMDA2MTgwMEM4QTA4NDkwMDAwMUMxOTYzCis6MTAwNDUwMDA0MDAwMDg1QjA4MDAwODQ5MjAwMjAwODAwMzAwQTgxODNCCis6MTAwNDYwMDAwMDAwMTQxOTQwMDAyMUNCMDAwMDQxMDIwMDAwRUI4MDg1Cis6MTAwNDcwMDBGMjAxMDA4MjQwMjEzMzAyMDgyMDYxMEFDNDAwMDQxOUZECis6MTAwNDgwMDBDNzAwMDA5OTAyMDA2MTBBMEMwQTA0MTQwMTAwNjEwQTA1Cis6MTAwNDkwMDAwMzAwNDgwQTAwNTgwNDU0QzMwMDA0MTkwQzU4MDA0NENGCis6MTAwNEEwMDAwODAwQzgwQTBDNTgwNDU0QzgwMDA0MTkwQTAwNjEwQTVDCis6MTAwNEIwMDAwOTAwNDgwQTAwQzgwNDU0QzkwMDA0MTkwQ0M4MDA0NEMzCis6MTAwNEMwMDAwQjAwQzgwQTBDQzgwNDU0Q0IwMDA0MTkwNDAwNjEwQUNDCis6MTAwNEQwMDAwNjAwNDgwQTAwRDgwNDU0QzYwMDA0MTkwQ0Q4MDA0NDg5Cis6MTAwNEUwMDAwNTAwQzgwQTBDRDgwNDU0QzUwMDA0MTkwNzAwNjEwQUE1Cis6MTAwNEYwMDAwQzAwNDgwQTAwMEEwNDU0Q0MwMDA0MTkwQzBBMDA0NEY5Cis6MTAwNTAwMDAwRTAwQzgwQTBDMEEwNDU0Q0UwMDA0MTkwMDAwNDA0NTJECis6MDgwNTEwMDAyMDEwNzE4QjA4NDIwNjAwNjcKKzowMDAwMDAwMUZGCisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9jYXB0dXJlLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTUwYTU4Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AuaWhleApAQCAtMCwwICsxLDEyMSBAQAorOjEwMDAwMDAwMDAxMDAwNDQwODAwMDA0NDAwNzAwMDQ0MDhEMDAwNDQ4MAorOjEwMDAxMDAwMDBGMDAwNDQwREYyNjFBODQ0MDQwNDE5MDAwMDQwNDVCQQorOjEwMDAyMDAwMDAwNDYzODAwMDAwMDYzOUZGMkUyMTQ5RkYwQ0Q0NDlFQgorOjEwMDAzMDAwNDA0OTM5QUM1NTU1NzE4QjUwMDFCMTgwMDAwMDcxOEIyRQorOjEwMDA0MDAwQzIzMDA0MTlDMEEwMDQxOUMyQTAwNDE5ODkwMDcxOEIyMAorOjEwMDA1MDAwQzgzMDA0MTk3MTAwNzE4QkNEMDAwNDE5Q0YwMDA0MTk0OAorOjEwMDA2MDAwODAwMDcxOEJDQjIwMDQxOTIwMDA3MThCQzQyMDA0MTlFRgorOjEwMDA3MDAwNDcwMDUxOEJDMDIwMDAzOTAwMDA2MzgwQzFBMDA0MTlFMworOjEwMDA4MDAwOTMwMDAxNEZDRDMwMDAwOUNGMzAwMDA5MEM0MDAwMTQxRgorOjEwMDA5MDAwMDA2MDAwMTQwMDA0NjFBODAyMDQ2MUE4MEM2MDA0MjQzQworOjEwMDBBMDAwMDAwMDM0NDkwODUwMDA0NDQ0MDQwNDM5MDAwMDQwNDUyRAorOjEwMDBCMDAwMDgzMDYxMEEwNUIwRTgxODBDQzAwNDU0QzgzMDA0MTlBRgorOjEwMDBDMDAwMDkwNDAwQTgwQjA0MDBBODAwMDA0MDQ1MDkwNDYxQTgyOQorOjEwMDBEMDAwQzEwMDA0MTkwQjA0NjFBOENBMDAwNDE5MEQwMDYxMEFDQgorOjEwMDBFMDAwMDAwMTAwNDUwRjAwNjEwQTAwNDAwOThGMDAwMTAwNDUzMgorOjEwMDBGMDAwNDA0MDA5RUZGRjIwMDlDRjAwMDQ2M0ExNTAwMzMzODA4MworOjEwMDEwMDAwMDAwNEEzODAwMEZGQzI4QjBDMTIwNDU0MDgxMjAwQzQyOAorOjEwMDExMDAwMjAwMzgwQzAzMDAwMDA4ODAwMDA3QTBBRDAwMTAwODJFRAorOjEwMDEyMDAwMDQ1MDAwNDRDMDAwMDA5OTA0NTAwMDQ0MDBGRkMyOEJGQQorOjEwMDEzMDAwMjAwMDAwODAwMDBENDI4QjA0NDIwMEM0MDAwRTQyOEI2MAorOjEwMDE0MDAwMDg1MjAwQzQwMDFFNDI4QjAwRTIwMEM0MDA4RTQyOEJBNQorOjEwMDE1MDAwMDhEMjAwQzQwMDlFNDI4QjA0RjIwMEM0MDBCRTQyOEI1MQorOjEwMDE2MDAwMDRGMjAwQzQwMDA0NDI4QjA0MTEwMEM0MDAyNDQyOEIzQQorOjEwMDE3MDAwMEM2MTAwQzQwMDU1NDI4QjA0NTAwMEM0MDAzRjQyOEIwOAorOjEwMDE4MDAwMEMwMTAwQzQwMDAwNDA0NTIwMDE3OTgwMDAzMDQyOEIwMgorOjEwMDE5MDAwMDQ2MjAwQzQwMDAwNDA0NTAwMDA3MThCNDAwMTAwODBGMworOjEwMDFBMDAwMDQ1MDAwNDRGRjAwRTJBQjA4QzIwMEM0MEZGMkE4QTg0QworOjEwMDFCMDAwMjAwMEIxODgwMDAwNDEwMjRERjIwMDM5QzAwMTAwODJFOAorOjEwMDFDMDAwMDQ1MDAwNDQwREYyQTNBODRERjIwMDM5MDQ1MDAwNDQzRAorOjEwMDFEMDAwRkYwMEUyQUIyMDAwMDA4ODAwMDA2MTAyNERGMjA0MTkyQworOjEwMDFFMDAwMDQ1MDAwNDRGRjAwRTJBQkEwMDAwMDg4MDAwMDYxMTA1MgorOjEwMDFGMDAwNERGMjA0MTkwNDUwMDA0NEZGMjBFMkFCNjAwMDAwODg3NworOjEwMDIwMDAwMDAwMDcxQzA0REYyMDQxOTA0NTAwMDQ0MDAwMDdBMEE0NQorOjEwMDIxMDAwMjAwMUYwODAwMUEwNDEwQTAwMTEwMEM0MjAwMUYwODBGQgorOjEwMDIyMDAwQzEzMDA0MTkwNDUwMDA0NDAwMDA3OTgwMEM0MTAwODQ1RQorOjEwMDIzMDAwODkwMDcxOEJDODMwMDQxOTk3MDA3MThCQ0QwMDAwMzk4QgorOjEwMDI0MDAwMDAwMUIxODA4MDAwMDQxOTgyMDAwNDE5QzEyMDA0MTk0MgorOjEwMDI1MDAwQzMyMDA0MTlDMjMwMDQxOUNEMTAwNDE5Q0YxMDA0MTk5OQorOjEwMDI2MDAwQjAwMDcxOEI4NDAwMDQxOTg2MDAwNDE5ODAwMDcxOEIyMgorOjEwMDI3MDAwQ0IyMDA0MTk5MzAwMDE0RkNEMzAwMDA5Q0YzMDAwMDk4NQorOjEwMDI4MDAwMDMwMjA0NDkwODQxMDAxNDA0NTAwMDQ0MDAwMDYzODA0NAorOjEwMDI5MDAwMDAwMDA2MTkwMzAwMDQ0OTA0NTAwMDQ0MjAwMTYzODA1MworOjEwMDJBMDAwMDAwMDA2MTkwMDIwRTI4QjAwQzEwMDg0NDcwMDUxOEIzQQorOjEwMDJCMDAwQzAyMDAwMzkwMDAwNjM4MEMxQTAwNDE5MDBFMTAwNDQ5RgorOjEwMDJDMDAwQkQwMDUxOEJDMDIwMDAzOTAwMDBCMTgwQzFBMDA0MTlDRAorOjEwMDJEMDAwMDMwMDA0NDkwNDUwMDA0NDAwMjA2MTBBMDAwMTAwNDU2NQorOjEwMDJFMDAwMDIzMDYxMEEwQzgzMDBDNDBDNzgwODQ0MDQ1QTA4NDRBNAorOjEwMDJGMDAwQjIwMDA5NEYxMDQyMDk4RTA1QjBFMDE4MDQyMzAwODRCMworOjEwMDMwMDAwMEMwMTAwMTEwODA1NjExMDAwNDkwODQ0MDA0ODA4NDQyOAorOjEwMDMxMDAwQjIwMDA5NEY4MDAwNzE4QkMwMDAwMDgyMEMwMTMzMTBDNQorOjEwMDMyMDAwMjgwMUEzMTAwMDAxN0E4MDhDMDEwMDgwMDIzMDYxMEE0QworOjEwMDMzMDAwMjAwMDA0MTkwQzgzMDBDNDA1QjBDODE4MDg0MzAwQzQ4OQorOjEwMDM0MDAwMDEzMEM4MEEwQzM4MDBDNDA4ODgwMDQ0MEM3ODA4NDRGRQorOjEwMDM1MDAwMDQ1QTA4NDQwMDAwQTMxODgwMDAwNDE5MEIwNDYxQTg4MworOjEwMDM2MDAwQzMyMDAwMzlDMzMwMDQxOTBGMTA2MTBBQ0EzMDA0MTlDMAorOjEwMDM3MDAwMDkwNDQxQThFMTIwMDAzOUQxMDAwOTRGMDAwNDYxMDJCRAorOjEwMDM4MDAwMDg2MzAwNDQwMzMwNDEwQTIwMDAwMDM5QTMwMDA5NEZFQworOjEwMDM5MDAwMDAwNDYxMDIwMDQ4MDg0NDA4ODgwMDQ0MDIzMDYxMEFGMQorOjEwMDNBMDAwMDAwODAwQzQwQzc4MDg0NDA0NUEwODQ0QjIwMDA5MEYzRAorOjEwMDNCMDAwMTA0MDA5OEUwMDAwNjg1QjIwMDRCMTgwMDIwMDYxNUI4MAorOjEwMDNDMDAwODgwMzdBODBBQzAxMDA4MDA1QjBFMDE4MDBEMzAwODQ3NworOjEwMDNEMDAwMDA0OTA4NDQwMDQ4MDg0NEIyMDAwOTBGODAwMDcxOEJBRQorOjEwMDNFMDAwQzAwMDAwODIwMjMwNjEwQTAwMDgwMEM0MDVCMEM4MThDRAorOjEwMDNGMDAwMEMxODAwQzQwMTMwQzgwQTBDMzgwMEM0MDg4ODAwNDQzNgorOjEwMDQwMDAwMEM3ODA4NDQwMDAwNjExODIwMDVCMTgwMDAwMDY4Q0IxQQorOjEwMDQxMDAwODAwMDA0MTkwRDEwNjEwQUMzMzAwNDE5MEIwNDQxQThBRgorOjEwMDQyMDAwMDkwNDQxQThFMTIwMDAzOTA4MzgwMDQ0MDMzMDQxMEE5QQorOjEwMDQzMDAwMjAwNEIxODAwMDQ4MDg0NDA4ODgwMDQ0MDAwMEIxODBDRQorOjEwMDQ0MDAwQzIzMDA0MTkwQ0I4MDBENDBGMzA2MTBBMEQzMEM4MEE0QworOjEwMDQ1MDAwMENCODAwQzQ5MzAwMDE0RkU3MDAwMTZGMEYzMDYxMEEzMAorOjEwMDQ2MDAwMjAwMDAwODgwMjAwNjEwMjQxMDQwNDE5MDIwNDYxMDJCNAorOjEwMDQ3MDAwNDMwNDA0MzlDRjMwMDAwOTIwMDAwOTQ5MDA1OTAwNDRFMQorOjEwMDQ4MDAwOTMwMDAxNEZFNzAwMDE2RjBEMzA2MTBBMjAwMDYxODg4MQorOjEwMDQ5MDAwQzIwMDAwODJDMjAzMDA4MkNEMzAwMDA5MjAwMDA5NDk1OQorOjEwMDRBMDAwMEYzMDYxMEEwRDMwQzgwQTBDNTgwMDg0MDIzMDYxMEEwRQorOjEwMDRCMDAwMDVCMEE4MThDMjMwMDQxOTAwMDAwMDQ2OTA0MDA5OEYwQQorOjEwMDRDMDAwMTIwNDA5NkUwMzAwMDkwRTAwMDE3MTgyMjAwMTAwODBGMAorOjEwMDREMDAwMDAwMDYxQ0I4MDA0QjE4MDAwMDFFMDYwMENEODA0MTRGRQorOjEwMDRFMDAwMDAwMUVCODA0MDAwNTIxQjgwMDA3OTgwQzAwMTcxQzI4NgorOjEwMDRGMDAwMjAwMEMwODAwODBBMDQ1NEMwMDRBODgyODAwMDcyMUIzNworOjEwMDUwMDAwODAwMDAwODAwMDAxRjA4MDIwMDBDMDgwMEMyQTA0NTQ4QworOjEwMDUxMDAwQzAwNEE4ODIxMDAwNzIxQjgwMDAwMDgwMDAwMUYwODBERgorOjEwMDUyMDAwMjAwMEMwODAwODNBMDQ1NEMwMDRBODgyMjAwMDcyMUIzNgorOjEwMDUzMDAwODAwMDAwODBDMDAzRjA4MjIwMDBBMDgwMDAwMTAwMTEzNAorOjEwMDU0MDAwNDAwMEMyOEIwMEFBMDBDNDAwMDBFOTgwMDVCMEE4MThEMgorOjEwMDU1MDAwMDAwMUE4MjJEMDAxMDA4MkYwMDBFMjFCMDYyMEE4MEFCOAorOjEwMDU2MDAwMkQxMDYxMEFEMTAwMDkyRTAwMDFBODAyMEUxMEM4MEE0MAorOjEwMDU3MDAwMENCQTA0MTQwRTEwNjEwQTA0NEEwMDQ0MEMxMEM4MEE5NAorOjEwMDU4MDAwMDQ0QTA0NTQwQzEwNjEwQUQwMDEwMDgyMDAxMEE4MTgxQgorOjEwMDU5MDAwQTAwMDAwODgwMDAxNzE4MjAzMDAwOTBFOUEwMTAwNjAyQQorOjEwMDVBMDAwMzIwMDA5MkUwMDAwMDA0NjAwMDE3MTgyMjAwMTAwODAwNworOjEwMDVCMDAwMDAwMDYxQ0I4MDI0QjFDMDAwMzFFMDYwMENDQTA0MTQ5QgorOjEwMDVDMDAwMDAwMUVCODA0MDAwNTIxQjgwMDA3OTgwQzAwMTcxQzJBNQorOjEwMDVEMDAwMjAwMEMwODAwOERBMDQ1NEMwMDRBODgyODAwMDcyMUI4NgorOjEwMDVFMDAwODAwMDAwODAwMDAxRjA4MDIwMDBDMDgwMENGQTA0NTREQworOjEwMDVGMDAwQzAwNEE4ODIxMDAwNzIxQjgwMDAwMDgwMDAwMUYwODBGRgorOjEwMDYwMDAwMjAwMEMwODAwODI5MDQ1NEMwMDRBODgyMjAwMDcyMUI2NgorOjEwMDYxMDAwODAwMDAwODBDMDAzRjA4MjIwMDBBMDgwMDAwMTAwMTE1MworOjEwMDYyMDAwNDAwMEMyOEIwMDM5MDBDNDAwMDBFOTgwMDVCMEE4MTg2MgorOjEwMDYzMDAwMDAwMUE4MjJEMDAxMDA4MkIwMDBFMjFCMDYyMEE4MEExNworOjEwMDY0MDAwMkYxMDYxMEFGMTAwMDkyRTAwMDFBODAyMEUxMEM4MEEzRAorOjEwMDY1MDAwMENBOTA0MTQwRTEwNjEwQTA0OTkwMDQ0MEMxMEM4MEE3NQorOjEwMDY2MDAwMDQ5OTA0NTQwQzEwNjEwQUQwMDEwMDgyMDAxMEE4MThFQgorOjEwMDY3MDAwQTAwMDAwODgwMDAxNzE4MjlGMDEwMDYwMDAwMDAwNDYxOAorOjEwMDY4MDAwMDAwMDMzODAwMDAwODM4MDIwMDA3QTgwMjAwNzMzODBDMAorOjEwMDY5MDAwMDAwMDgzODAyMDA0N0E4MDIwMDEwMDgwMDAwMDAwNDY1MgorOjEwMDZBMDAwMDIwMDYxMEEwNDFCMDQxNDAxMDA2MTBBMDMwMDQ4MEFFNQorOjEwMDZCMDAwMEM3OTA0NTRDMzAwMDQxOTA0QzkwMDQ0MDgwMEM4MEE5MgorOjEwMDZDMDAwMDRDOTA0NTRDODAwMDQxOTBBMDA2MTBBMDkwMDQ4MEE1MAorOjEwMDZEMDAwMENFOTA0NTRDOTAwMDQxOTA0RDkwMDQ0MEIwMEM4MEFFOQorOjEwMDZFMDAwMDREOTA0NTRDQjAwMDQxOTA0MDA2MTBBMDYwMDQ4MEEyNgorOjEwMDZGMDAwMENGOTA0NTRDNjAwMDQxOTA0MEIwMDQ0MDUwMEM4MEE5MAorOjEwMDcwMDAwMDQwQjA0NTRDNTAwMDQxOTA3MDA2MTBBMEMwMDQ4MEFEMAorOjEwMDcxMDAwMEMyQjA0NTRDQzAwMDQxOTA0MUIwMDQ0MEUwMEM4MEExRQorOjEwMDcyMDAwMDQxQjA0NTRDRTAwMDQxOTAwMDA0MDQ1OTIyMDcxOEIzNAorOjA0MDczMDAwQTZDNTExMDA0OQorOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX2luaXQuY3NwLmloZXggYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9pbml0LmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4OTlhOWUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9pbml0LmNzcC5paGV4CkBAIC0wLDAgKzEsNzAgQEAKKzoxMDAwMDAwMDAwMTAwMDQ0MDAwMDQwNDUwMDAwNDA0NTAwMDA0MDQ1MEQKKzoxMDAwMTAwMDAwMDA0MDQ1QUFBQTcxOEI0NDA0MDQxOTAwMDA0MDQ1MjEKKzoxMDAwMjAwMEZGNkUyMTQ5RkYwRkQ0NDk0MDQ5MzlBQzU1NTU3MThCQkEKKzoxMDAwMzAwMDUwMDVCMTgwNjIwMDE5MEUyMTAwNzE4Qjg4MDAwMDgwOEMKKzoxMDAwNDAwMEIwMDA3MThCODgwMDAwODA0MDAwNzE4Qjg4MDAwMDgwQjgKKzoxMDAwNTAwMDYwMDA3MThCODgwMDAwODA1MDAwNzE4Qjg4MDAwMDgwRTgKKzoxMDAwNjAwMDcwMDA3MThCODgwMDAwODBDMDAwNzE4Qjg4MDAwMDgwNTgKKzoxMDAwNzAwMEUwMDA3MThCODgwMDAwODBEMDAwNzE4Qjg4MDAwMDgwQzgKKzoxMDAwODAwMDAyMDA3MThCODgwMDAwODAyMjAwNzE4Qjg4MDAwMDgwNDQKKzoxMDAwOTAwMDMyMDA3MThCODgwMDAwODBBMjAwNzE4Qjg4MDAwMDgwODQKKzoxMDAwQTAwMEIyMDA3MThCODgwMDAwODA2MjAwNzE4Qjg4MDAwMDgwMzQKKzoxMDAwQjAwMEMyMDA3MThCODgwMDAwODBGMjAwNzE4Qjg4MDAwMDgwODQKKzoxMDAwQzAwMDExMDA3MThCODgwMDAwODBBMTAwNzE4Qjg4MDAwMDgwNzYKKzoxMDAwRDAwMDYxMDA3MThCODgwMDAwODBFMTAwNzE4Qjg4MDAwMDgwRDYKKzoxMDAwRTAwMDEzMDA3MThCODgwMDAwODBCMzAwNzE4Qjg4MDAwMDgwNDIKKzoxMDAwRjAwMEMzMDA3MThCODgwMDAwODAxODAwNzE4Qjg4MDAwMDgwMUQKKzoxMDAxMDAwMDY4MDA3MThCODgwMDAwODAwQTAwNzE4Qjg4MDAwMDgwNzUKKzoxMDAxMTAwMDRBMDA3MThCODgwMDAwODAyOTAwNzE4Qjg4MDAwMDgwNjQKKzoxMDAxMjAwMDc5MDA3MThCODgwMDAwODA5QjAwNzE4Qjg4MDAwMDgwQjMKKzoxMDAxMzAwMDE0MDA3MThCODgwMDAwODBGNDAwNzE4Qjg4MDAwMDgwQUYKKzoxMDAxNDAwMEU2MDA3MThCODgwMDAwODBFNTAwNzE4Qjg4MDAwMDgwREMKKzoxMDAxNTAwMEQ3MDA3MThCODgwMDAwODAyRTAwNzE4Qjg4MDAwMDgwOTIKKzoxMDAxNjAwMDlEMDA3MThCODgwMDAwODBFRjAwNzE4Qjg4MDAwMDgwRkIKKzoxMDAxNzAwMEIyMjA3MThCODgwMDAwODAzMzIwNzE4Qjg4MDAwMDgwNTIKKzoxMDAxODAwMDJBMjA3MThCODgwMDAwODAzQjIwNzE4Qjg4MDAwMDgwQzIKKzoxMDAxOTAwMDQ2MjA3MThCODgwMDAwODAyQzIwNzE4Qjg4MDAwMDgwQTUKKzoxMDAxQTAwMEREMjA3MThCODgwMDAwODAwMTEwNzE4Qjg4MDAwMDgwMzkKKzoxMDAxQjAwMDlBMTA3MThCODgwMDAwODAxNjEwNzE4Qjg4MDAwMDgwNjcKKzoxMDAxQzAwMDhFMTA3MThCODgwMDAwODBDMjMwNzE4Qjg4MDAwMDgwOTcKKzoxMDAxRDAwMEM5MzA3MThCODgwMDAwODAzQzMwNzE4Qjg4MDAwMDgwQjIKKzoxMDAxRTAwMDgxODA3MThCODgwMDAwODBENDgwNzE4Qjg4MDAwMDgwQjIKKzoxMDAxRjAwMDEwQTA3MThCODgwMDAwODAzNEEwNzE4Qjg4MDAwMDgwNzMKKzoxMDAyMDAwMDAyOTA3MThCODgwMDAwODA3NTkwNzE4Qjg4MDAwMDgwNEYKKzoxMDAyMTAwMDlBQjA3MThCODgwMDAwODAxMjQwNzE4Qjg4MDAwMDgwM0EKKzoxMDAyMjAwMDBENDA3MThCODgwMDAwODAzQzYwNzE4Qjg4MDAwMDgwREQKKzoxMDAyMzAwMEU3NTA3MThCODgwMDAwODAwRTcwNzE4Qjg4MDAwMDgwMDEKKzoxMDAyNDAwMEZGQzA3MThCODgwMDAwODBDOEQwNzE4Qjg4MDAwMDgwNEYKKzoxMDAyNTAwMDU3RjA3MThCODgwMDAwODBDODIyNzE4Qjg4MDAwMDgwNjUKKzoxMDAyNjAwMEIwMzI3MThCODgwMDAwODBERDgyNzE4Qjg4MDAwMDgwNDUKKzoxMDAyNzAwMDkwQjI3MThCODgwMDAwODA4QTYyNzE4Qjg4MDAwMDgwNDgKKzoxMDAyODAwMENFNzI3MThCODgwMDAwODBBNUQyNzE4Qjg4MDAwMDgwQUYKKzoxMDAyOTAwMDk3MjE3MThCODgwMDAwODBBMkExNzE4Qjg4MDAwMDgwNUIKKzoxMDAyQTAwMDVDNDE3MThCODgwMDAwODBGRUMxNzE4Qjg4MDAwMDgwRUEKKzoxMDAyQjAwMDdBMjM3MThCODgwMDAwODA3ODkzNzE4Qjg4MDAwMDgwOEUKKzoxMDAyQzAwMDY3NzM3MThCODgwMDAwODAxNzI4NzE4Qjg4MDAwMDgwMEQKKzoxMDAyRDAwMDg4NDg3MThCODgwMDAwODBEQkY4NzE4Qjg4MDAwMDgwNzMKKzoxMDAyRTAwMDJCQkE3MThCODgwMDAwODBGMTA5NzE4Qjg4MDAwMDgwMjcKKzoxMDAyRjAwMERDNjk3MThCODgwMDAwODAxOThCNzE4Qjg4MDAwMDgwMEQKKzoxMDAzMDAwMEZGRkI3MThCODgwMDAwODAyMDAwNzE4Qjg4MDAwMDgwQ0IKKzoxMDAzMTAwMDUyMDA3MThCQzIwMDAwODJGRkZGNzE4QkMyMDAwMDgyMEQKKzoxMDAzMjAwMEMyMDAwMDgyQzIwMDAwODJDMjAwMDA4MjEwMDA3MThCRjUKKzoxMDAzMzAwMEMyMDAwMDgyODAwMDcxOEJDMjAwMDA4MjkwMDA3MThCMkQKKzoxMDAzNDAwMEMyMDAwMDgyNDAwMDcxOEJDMjAwMDA4MkZGRkY3MThCRUYKKzoxMDAzNTAwMEMyMDAwMDgyQzIwMDAwODJDMjAwMDA4MkMyMDAwMDgyOEQKKzoxMDAzNjAwMDEwMDA3MThCQzIwMDAwODI4MDAwNzE4QkMyMDAwMDgyN0QKKzoxMDAzNzAwMDkwMDA3MThCQzIwMDAwODI0MDAwNzE4QkMyMDAwMDgyMkQKKzoxMDAzODAwMEZGRkI3MThCQzIwMDAwODIwMDA0NzE4QkMyMDAwMDgyRUYKKzoxMDAzOTAwMDRBMDA3MThCQzIwMDAwODIwMDAwNzE4QkMyMDAwMDgyOTMKKzoxMDAzQTAwMDAwMDA3MThCQzIwMDAwODJDMjAwMDA4MkMyMzAwNDE5QkEKKzoxMDAzQjAwMDEwMDAwOTRGQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMDYKKzoxMDAzQzAwMEMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMTkKKzoxMDAzRDAwMEMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMDkKKzoxMDAzRTAwMEMyMDEwMDgyQzIwMTAwODIwMDEwNzE4QkMxMzAwNDE5NjkKKzoxMDAzRjAwMDkzMDAwMTRGQ0QzMDAwMDlDRjMwMDAwOTAwMDAzNDQ5OEYKKzowODA0MDAwMDAwMDgwMDQ0Qzg1NDExMDA3QgorOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA5ZjE4YwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcC5paGV4CkBAIC0wLDAgKzEsMTIyIEBACis6MTAwMDAwMDAwMDEwMDA0NDA4MDAwMDQ0MEM1MDAwNDQwMDcwMDA0NEZDCis6MTAwMDEwMDAwNDcwMDA0NDBERjI2MUE4NDQwNDA0MTkwMDAwNDA0NTM2Cis6MTAwMDIwMDAwMDA0NjM4MDAwMDAwNjM5RkYyRTIxNDlGRjBERDQ0OUVBCis6MTAwMDMwMDA0MDQ5MzlBQzU1NTU3MThCNTAwMUIxODAwMDAxQjE4MEY4Cis6MTAwMDQwMDBDOTIwMDQxOTUxMDA3MThCQ0QwMDA0MTlFNDIwNzE4QjczCis6MTAwMDUwMDBDRjAwMDQxOTgwMDA3MThCQ0IyMDA0MTkxMDAwNzE4QjI0Cis6MTAwMDYwMDBDNDIwMDQxOTY1MDA1MThCQzIyMDAwMzkwMDAwQjE4MDAyCis6MTAwMDcwMDBDMjMwMDQxOTAwMDA2MzgwQzFBMDA0MTk5MzAwMDE0RjJECis6MTAwMDgwMDBDRDMwMDAwOUNGMzAwMDA5MDQ0MDAwMTQwQzQwMDAxNEFBCis6MTAwMDkwMDAwMDA0NjFBODAyMDQ2MUE4MDQ2MDA0MjQwMDAwMzQ0OTNCCis6MTAwMEEwMDAwMDUwMDA0NDQ0MDQwNDM5MDAwMDQwNDUwMDAwNDA0NTJECis6MTAwMEIwMDAwRjAwNjEwQTAwMDEwMDQ1NDA0MDA5RUZGRjIwMDlDRjExCis6MTAwMEMwMDAwMDA0NjNBMTUwMDMzMzgwMDAwNEEzODAwMEZGQzI4QkFGCis6MTAwMEQwMDAwOEYwMDQ1NDBDRDAwMEM0MjAwMzgwQzAzMDAwMDA4ODE1Cis6MTAwMEUwMDAwMDAwN0EwQUQwMDEwMDgyMDg1MDAwNDRDMDAwMDA5OTQ0Cis6MTAwMEYwMDAwODUwMDA0NDAwRkZDMjhCMjAwMDAwODAwMDBENDI4QjlFCis6MTAwMTAwMDAwMEEyMDBDNDAwMEU0MjhCMEM5MjAwQzQwMDFFNDI4QjYxCis6MTAwMTEwMDAwNDYyMDBDNDAwOEU0MjhCMEM1MjAwQzQwMDlFNDI4QkNECis6MTAwMTIwMDAwMEMyMDBDNDAwQkU0MjhCMDBDMjAwQzQwMDA0NDI4QjY3Cis6MTAwMTMwMDAwMEYyMDBDNDAwMjQ0MjhCMDA5MTAwQzQwMDU1NDI4QkExCis6MTAwMTQwMDAwODUwMDBDNDAwM0Y0MjhCMDhFMjAwQzQwMDAwNDA0NTU0Cis6MTAwMTUwMDAyMDAxNzk4MDAwMzA0MjhCMDA5MjAwQzQwMDAwNDA0NUFECis6MTAwMTYwMDAwMDAwNzE4QjQwMDEwMDgwMDg1MDAwNDRGRjAwRTJBQkFBCis6MTAwMTcwMDAwQzQyMDBDNDBGRjJBOEE4MjAwMEIxODgwMDAwNDEwMjgwCis6MTAwMTgwMDA0REYyMDAzOUMwMDEwMDgyMDg1MDAwNDQwREYyQTNBOENFCis6MTAwMTkwMDA0REYyMDAzOTA4NTAwMDQ0RkYwMEUyQUIyMDAwMDA4ODE3Cis6MTAwMUEwMDAwMDAwNjEwMjRERjIwNDE5MDg1MDAwNDRGRjAwRTJBQjY4Cis6MTAwMUIwMDBBMDAwMDA4ODAwMDA2MTEwNERGMjA0MTkwODUwMDA0NEFFCis6MTAwMUMwMDBGRjIwRTJBQjYwMDAwMDg4MDAwMDcxQzA0REYyMDQxOTBFCis6MTAwMUQwMDAwODUwMDA0NDAwMDA3QTBBMjAwMUYwODAwMUEwNDEwQTgyCis6MTAwMUUwMDAwNEQyMDBDNDIwMDFGMDgwQzEzMDA0MTkwODUwMDA0NDNBCis6MTAwMUYwMDAwMDAwNzk4MDAwQTEwMDg0QjUwMDUxOEJDRjAwMDAzOTQ4Cis6MTAwMjAwMDAwMDAxQjE4MDg4MDAwNDE5OEEwMDA0MTlDODIwMDQxOTZCCis6MTAwMjEwMDBDQTIwMDQxOUMyMzAwNDE5Q0QxMDA0MTlDRjEwMDQxOUQyCis6MTAwMjIwMDBCMDAwNzE4QjhDMDAwNDE5OEUwMDA0MTkxMDAwNzE4QkMyCis6MTAwMjMwMDBDNDIwMDQxOTkzMDAwMTRGQ0QzMDAwMDlDRjMwMDAwOUNDCis6MTAwMjQwMDAwMzAzMDQ0OTA0ODEwMDU0MDg1MDA0NjQwODUwMDA0NDI2Cis6MTAwMjUwMDAwMDAwNjM4MDAwMDAwNjE5MDMwMDA0NDkwODUwMDA0NEIwCis6MTAwMjYwMDAyMDAxNjM4MDAwMDAwNjE5MDAwMkUyOEIwODQxMDA4NDJGCis6MTAwMjcwMDA2NTAwNTE4QkMyMjAwMDM5MDAwMDYzODBDMUEwMDQxOUMxCis6MTAwMjgwMDAwODYxMDA0NDJEMDA1MThCQzIyMDAwMzkwMDAwQjE4MDZDCis6MTAwMjkwMDBDMUEwMDQxOTAzMDAwNDQ5MDg1MDAwNDQwMjIwNjEwQTY3Cis6MTAwMkEwMDAwMDAxMDA0NTAyMzA2MTBBMDQwMzAwQzQwNUIwQzgxODBCCis6MTAwMkIwMDAwNDcxMDBDNDAwMTMwMDQ0MDA3OTA4NDQwMDA0Nzk4MEVDCis6MTAwMkMwMDAwMDQ5MDBDNENBMjAwNDE5NEEwNDA0MTlGRjAwRTI4QjQzCis6MTAwMkQwMDAwQ0Y5MDg0NENGMTAwNDE5MEMyQjA4NDQ4RTAwMDQxOUEzCis6MTAwMkUwMDAwMzMwNjEwQUM4MjAwMDM5NDgwNDAwMzkwQTMwNjEwQTI1Cis6MTAwMkYwMDAwQ0Y5MDg0NENEMTAwNDE5MEMyQjA4NDQ4QzAwMDQxOTg3Cis6MTAwMzAwMDAwQ0Q5MDg0NDBDNUEwMDQ0MDA3OTA4NDQwMDA0Nzk4MDUwCis6MTAwMzEwMDAwMDQ5MDBDNEMzMzAwNDE5Q0EzMDAwOTkwQ0Q5MDg0NEZDCis6MTAwMzIwMDA0MjBBMDkwRTAwMDEzMzExOEMwMUEzODAwMDAxN0ExMEVBCis6MTAwMzMwMDA4MDA1QjE4MDA1QjBFMDE4MDA5MzAwODQwMDc5MDg0NDdFCis6MTAwMzQwMDAwMDA0Nzk4MDAwNDkwMEM0MEMxQjA4NDQ4ODAwMDQxOThCCis6MTAwMzUwMDA4QTAwMDA5OTBDRDkwODQ0NDIwQTA5MEU4MDAwNzE4QjZBCis6MTAwMzYwMDBDMDA0QjE4MjEwMDBFMDBCMDA0MzAwODQwMjMwNjEwQTM3Cis6MTAwMzcwMDAwMTMwQzgwQTAwNDMwMDg0MDAwMEIxODBDMjMwMDQxOTczCis6MTAwMzgwMDAwQ0E4MDA0NDAyMzA2MTBBMDBEMzAwQzQwNUIwQzgxOEFDCis6MTAwMzkwMDAwNDYzMDBDNDA4RjMwMDQ0MDA3OTA4NDQwMDA0Nzk4MDMxCis6MTAwM0EwMDAwMDQ5MDBDNDIwMDAwNDE5RkYwMEUyOEIwQ0Y5MDg0NDQ2Cis6MTAwM0IwMDBDRDEwMDQxOUNGMTAwNDE5MEMyQjA4NDQ4QzAwMDQxOTFCCis6MTAwM0MwMDA4RTAwMDQxOTAzMzA2MTBBQzgyMDAwMzlDQTIwMDAzOUEwCis6MTAwM0QwMDA0ODA0MDAzOTRBMDQwMDM5MENEOTA4NDQwQzVBMDA0NDM2Cis6MTAwM0UwMDAwMDc5MDg0NDAwMDQ3OTgwMDA0OTAwQzRDMzMwMDQxOTJFCis6MTAwM0YwMDAwQ0Q5MDg0NDQyMEEwOTBFMDVCMEUwMTgwMDE4MDA4NDIwCis6MTAwNDAwMDAwMDc5MDg0NDAwMDQ3OTgwMDA0OTAwQzQwQzFCMDg0NEFBCis6MTAwNDEwMDA4MDAxMDA4MDBDRDkwODQ0NDIwQTA5MEU4MDAwNzE4QkNCCis6MTAwNDIwMDBDMDA0QjE4MjEwMDBFMDBCMDA4ODAwODQwMjMwNjEwQTMxCis6MTAwNDMwMDAwMTMwQzgwQTAwODgwMDg0MDAwMEIxODBDMjMwMDQxOTZECis6MTAwNDQwMDAwMDAxMDAxMTAwMEZFMjhCMDAwMDQxQ0I4QzAwMDA4MDA2Cis6MTAwNDUwMDAwMDAwNDhDQjIwMDA3QTgwODAwMTAwODA4MjBDMDk2RTY5Cis6MTAwNDYwMDAwMzA4MDkwRTgwNDAwOUNGMDAwMTcxQzIwMDA4QzIxQkI5Cis6MTAwNDcwMDAwNEI4MDBDNDIwMDVBODgwMjAwMUYwODAwMDAxQzIxQjQwCis6MTAwNDgwMDAwNDQ4MDBDNDIwMDVBODgwMjAwMUYwODAwMDAyQzIxQjlGCis6MTAwNDkwMDAwNDY4MDBDNDIwMDVBODgwMjAwMUYwODAyMDAzQTg4MDAzCis6MTAwNEEwMDAwMDAxMDAxMTAwMDRDMjhCMDg3ODAwQzQwMDAwRTk4MDNDCis6MTAwNEIwMDAwNUIwQTgxODAwMDA0QUNCMjAwMEE4MjJEMDAxMDA4Mjc1Cis6MTAwNEMwMDA0MDAxMDA4MEM0MDAwNDE5QjAwMEUyOEIwNjIwQTgwQTk1Cis6MTAwNEQwMDAyRDEwNjEwQUQxMDgwOTJFMDAwMUE4MDIwQ0Y5MDg0NDY4Cis6MTAwNEUwMDBDRDEwMDQxOTBDMkIwODQ0MDMwODA5MEU5QTI1QjE2MDlECis6MTAwNEYwMDBBMjBFMDk2RTAzMDAwOTBGMDAwMTcxODIyMDAxMDA4MDI1Cis6MTAwNTAwMDAwMDAwNjFDQjgwMDEwMDgwMDMwMDA5MEYwMDAxNzFDMjZGCis6MTAwNTEwMDAwMDA4QzIxQjBDMkEwMEM0MjAwNUE4ODAyMDAxRjA4MDFFCis6MTAwNTIwMDAwMDAxQzIxQjBDMUEwMEM0MjAwNUE4ODAyMDAxRjA4MDI1Cis6MTAwNTMwMDAwMDAyQzIxQjBDM0EwMEM0MjAwNUE4ODAyMDAxRjA4MEY0Cis6MTAwNTQwMDAyMDAzQTg4MDAwMDEwMDExMDAwNEMyOEIwNEFBMDBDNDhCCis6MTAwNTUwMDAwMDAwRTk4MDA1QjBBODE4MDAwMDRBQ0IyMDAwQTgyMkJFCis6MTAwNTYwMDBEMDAxMDA4MjQwMDEwMDgwQzcwMDA0MTlCMDAwRTI4Qjc2Cis6MTAwNTcwMDAwNjIwQTgwQTJGMTA2MTBBRjEwODA5MkUwMDAxQTgwMjFFCis6MTAwNTgwMDAwQ0Y5MDg0NENGMTAwNDE5MEMyQjA4NDQ5RjM1QjE2MEI2Cis6MTAwNTkwMDAwMzA4MDkwRTAwMDE3MTgyMjAwMTAwODAwMDAwNjFDQjc4Cis6MTAwNUEwMDA4MDAxMDA4MEU0MjA3MThCMDAwMTAwNDU5MDQwMDk4RjlDCis6MTAwNUIwMDAwMDA1NjM4MDAwMDAwNjM5MDgxOTA0RDQ5MzAwMDE0RjM4Cis6MTAwNUMwMDBFNzAwMDE2RjBEMzA2MTBBMjAwNDYxQThDMjAwMDA4MkJCCis6MTAwNUQwMDAwMjA0NjFBOEMyMDAwMDgyQ0QzMDAwMDkwMjAwMDAwMkJFCis6MTAwNUUwMDAwMjAwMDAwMkMwODAwMDA5MjAwMDA5NDkwRjMwNjEwQUEyCis6MTAwNUYwMDAwRDMwQzgwQTAwMjkwMEM0MDA4MEM4MEEwMDI5MDBDNEMwCis6MTAwNjAwMDAwMDA0QjE4MDAwMDAwNjM5QzkyMDA0MzkwMDM5MDA0NEQzCis6MTAwNjEwMDAwMDA0NjM4MDAwMDAwNjM5MDAwNEIxODBDOTIwMDQzOTU5Cis6MTAwNjIwMDAwMDM5MDA0NDA5MjAyMzBBMDAwMDA2MTlDOTIwMDQxOUQyCis6MTAwNjMwMDAwMDAwNDA0NTAyMDA2MTBBMENCOTA0MTQwNDAwNjEwQTdDCis6MTAwNjQwMDAwNjAwNDgwQTAwQTkwNDU0QzYwMDA0MTkwQ0E5MDA0NDc1Cis6MTAwNjUwMDAwNTAwQzgwQTBDQTkwNDU0QzUwMDA0MTkwNzAwNjEwQTYyCis6MTAwNjYwMDAwQzAwNDgwQTAwQjkwNDU0Q0MwMDA0MTkwQ0I5MDA0NDI5Cis6MTAwNjcwMDAwRTAwQzgwQTBDQjkwNDU0Q0UwMDA0MTkwQzVBMDA0NEU4Cis6MTAwNjgwMDA4MjBEMDkyRTgwNDAwOUNGMDBERjcxOEI4MDAxMDA4MDMwCis6MTAwNjkwMDAwMkMxMDAyMjAzQzEwMDIyMDAwMTY1ODBEMjA1NjU4MkVCCis6MTAwNkEwMDA0MDIxMDA4MEQzMDMwMDgyNDAzMzAwODAwQzVBMDA0NDc0Cis6MTAwNkIwMDAwRjMwNjEwQTBEMzBDODBBMDhEOTAwQzQ5MzAwMDE0RkY5Cis6MTAwNkMwMDBFNzAwMDE2RjBGMzA2MTBBMjAwMDAwODgwMjAwNjEwMjFDCis6MTAwNkQwMDAwMjAwMDAwM0NGMzAwMDA5MjAwMDA5NDkwMDA0NjM4MEI0Cis6MTAwNkUwMDAwNEQ5MDA0NDAwMDRCMTgwMDAwMDAwNDYwMjMwNjEwQUQxCis6MTAwNkYwMDAwNUIwQTgxOEMyMzAwNDE5MDAwMDAwNDYwRTEwQzgwQTQwCis6MTAwNzAwMDAwQzBCMDQxNDBFMTA2MTBBMDQyQjAwNDQwQzEwQzgwQUQwCis6MTAwNzEwMDAwNDJCMDQ1NDBDMTA2MTBBMDAwMDAwNDYwMDEwQTgxOEI1Cis6MTAwNzIwMDBBMDAwMDA4ODAwMDE3MTgyMDAwMDAwNDYwMDA0MzM4MEIwCis6MTAwNzMwMDAwMDAwODM4MDIwMDQ3QTgwMjAwMTMzODAwMDAwODM4MEMxCis6MTAwNzQwMDAyMDAwN0E4MDIwMDMwMDgwMDAwMDAwNDYxNkNFMTEwMEIxCis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvc2IxNi9tdWxhd19tYWluLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9tdWxhd19tYWluLmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NGI1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L211bGF3X21haW4uY3NwLmloZXgKQEAgLTAsMCArMSw4NCBAQAorOjEwMDAwMDAwMDAxMDAwNDQwODAwMDA0NDAwQjEwMDQ0MDA2MTAwNDRCNgorOjEwMDAxMDAwMDg1MDAwNDQwREYyNjFBODQ0MDQwNDE5MDAwMDQwNDU1MgorOjEwMDAyMDAwNDA0OTM5QUM1NTU1NzE4QjUwMDU2MzgwMDAwMDA2Mzk0NQorOjEwMDAzMDAwRkYyRTIxNDlGRjBGRDQ0OTIwMDEwOTBFMjAwMDcxOEJBQQorOjEwMDA0MDAwQTgwMUE4ODA4ODAxQTg4MEE4MDAwMDgwRDIwMDcxOEIzOAorOjEwMDA1MDAwODgwMEE4ODBBODA0QjM4MDIwMDdCMzgwODgwM0IxODBGQgorOjEwMDA2MDAwQzAwMDA5NUNDMjAxMDA4MkExMDA3MThCQ0QwMDA0MTk5RgorOjEwMDA3MDAwQTIyMDcxOEJDRjAwMDQxOTAwMDBCMTgwQzIwMDA0MTlDNgorOjEwMDA4MDAwMDA0MDAwMTQwODQwMDQyNDAwMDAzNDQ5MEM0MDAwNDQ5RgorOjEwMDA5MDAwNDQwNDA0MzkwMDAwNDA0NTMyMDAwOTVDMDAwMDBDMzk3QQorOjEwMDBBMDAwMDAwMDQwNDU0MDQwMDlFRkZGMjAwOUNGMDAwNDYzQTE1NAorOjEwMDBCMDAwNTAwMzMzODAwMDA0QTM4MDAwRkZDMjhCMDBEMDA0NTQ5RgorOjEwMDBDMDAwMDRFMDAwQzQyMDAzODBDMDMwMDAwMDg4MDAwMDdBMEFFOQorOjEwMDBEMDAwRDAwMTAwODIwMDYwMDA0NEMwMDAwMDk5MDA2MDAwNDQyQworOjEwMDBFMDAwMDBGRkMyOEIyMDAwMDA4MDAwMEQ0MjhCMDgzMjAwQzQ0QworOjEwMDBGMDAwMDAwRTQyOEIwMEEyMDBDNDAwMUU0MjhCMENCMjAwQzQ1MgorOjEwMDEwMDAwMDA4RTQyOEIwMDYyMDBDNDAwOUU0MjhCMDg1MjAwQzRFNQorOjEwMDExMDAwMDBCRTQyOEIwODUyMDBDNDAwMDQ0MjhCMDQ3MjAwQzQyQgorOjEwMDEyMDAwMDAyNDQyOEIwMEQyMDBDNDAwNTU0MjhCMDA2MDAwQzQwMgorOjEwMDEzMDAwMDAwMDQwNDUyMDAxNzk4MDAwMzA0MjhCMDg4MjAwQzRENQorOjEwMDE0MDAwMDAwMDQwNDUwMDAwNzE4QjQwMDEwMDgwMDA2MDAwNDRDOQorOjEwMDE1MDAwRkYwMEUyQUIwMEIyMDBDNDBGRjJBOEE4MjAwMEIxODhGMworOjEwMDE2MDAwMDAwMDQxMDI0REYyMDAzOUMwMDEwMDgyMDA2MDAwNDRFRAorOjEwMDE3MDAwMERGMkEzQTg0REYyMDAzOTAwNjAwMDQ0RkYwMEUyQUI4RAorOjEwMDE4MDAwMjAwMDAwODgwMDAwNjEwMjRERjIwNDE5MDA2MDAwNDQ2NAorOjEwMDE5MDAwRkYwMEUyQUJBMDAwMDA4ODAwMDA2MTEwNERGMjA0MTlERQorOjEwMDFBMDAwMDA2MDAwNDRGRjIwRTJBQjYwMDAwMDg4MDAwMDcxQzBFNgorOjEwMDFCMDAwNERGMjA0MTkwMDYwMDA0NDAwMDA3OTgwMDBFMjAwODRFMAorOjEwMDFDMDAwMDMwMzA0NDkwOEMyMDA1NDAwNjAwNDY0MDA2MDAwNDQ1MgorOjEwMDFEMDAwMDAwMDYzODAwMDAwMDYxOTAzMDAwNDQ5MDA2MDAwNDQyOQorOjEwMDFFMDAwMjAwMTYzODAwMDAwMDYxOTAwMjBFMjhCMENGMjAwODRERAorOjEwMDFGMDAwM0UwMDUxOEJDMDIwMDAzOTA4MDEwMDQ0NkMwMDUxOEIzNworOjEwMDIwMDAwQzAyMDAwMzkwMDAyRTI4QjA0MjEwMDg0RkQwMDUxOEJFNAorOjEwMDIxMDAwQzIyMDAwMzkwMDExMDA0NEZFMDA1MThCQzIyMDAwMzk3OQorOjEwMDIyMDAwRTUwMDcxOEJDRDAwMDAzOTAwMDBCMTgwQzkyMDA0MTlCMAorOjEwMDIzMDAwQ0IyMDA0MTlDMTIwMDQxOUMzMjAwNDE5MTAwMDcxOEJBQworOjEwMDI0MDAwQzcyMDA0MTk1RTAwNzE4QkNGMDAwMDM5MDAwMEIxODAxNworOjEwMDI1MDAwQzQyMDA0MTlDNjIwMDQxOUM4MjAwNDE5Q0EyMDA0MTk4RQorOjEwMDI2MDAwMjAwMDcxOEJDQzIwMDQxOTAzMDAwNDQ5MDA2MDAwNDQ3NQorOjEwMDI3MDAwMDkwNDYxQThDMTAwMDQxOTBCMDQ2MUE4Q0EwMDA0MTk4QgorOjEwMDI4MDAwMDQ2MDAwRDQwRDAwNjEwQTkwNDAwOThGMDAwMTAwNDUxMAorOjEwMDI5MDAwMEYwMDYxMEEwMDQwMDk4RjAwMDEwMDQ1ODIwMDA5MkUwRAorOjEwMDJBMDAwODA0MDA5Q0YwMjAwNjEyMjQzMjU2MTIyNDAzMzAwODA1MworOjEwMDJCMDAwMDhBODAwNDQyMDMxNDk1QzkyMDAwOTRFMDIwMzA5MkUyRgorOjEwMDJDMDAwMDAwMEEzMDJDMDAwNzFDMDIwMDBFQjgwMDAwNEMyOEJCQworOjEwMDJEMDAwMjAwNDYxODAwMDA0N0EwMkNCMDBBODU4QjAwNUYzODBBNgorOjEwMDJFMDAwMjAwNEE4MTAwMDAwMTAzOUIwMDBFMDhCMjAwMTAwODAyRAorOjEwMDJGMDAwMDAwMDYzQ0IwMDAwN0EwMjQwMDAwMTVCMjAwMDAwODAxOAorOjEwMDMwMDAwMDAwMDRBQ0IyMDAwMTM4MDIwMDA3QTgwRTAyMTAwQzA0QQorOjEwMDMxMDAwMDgwMDA4NDkxMDQxMDk4RUZGRkY2MjhCMDAwNDYxMjIyQQorOjEwMDMyMDAwMDAwMzAwNDUyMjAxMzM4MDIwMDFBMzAyMDAwMDdBODBFRgorOjEwMDMzMDAwQzAwMDAwODIwNzIwNDAwQTA4ODMwMDg0NDAyMTAwODAxQQorOjEwMDM0MDAwNDAwNTkzMTBDNzIwMDAzOTAwMDA0MDQ1MDcyMDQwMEFBRgorOjEwMDM1MDAwMENBMzAwODQwODAwMDA4MjBDMjQ2MTUwNDAwMTAwODAzRQorOjEwMDM2MDAwQzcyMDAwMzkwMDAwNDA0NTAwMDQ2MzgwMDAwMDA2MzlDMgorOjEwMDM3MDAwNDIwMTA5MEUwMjIwNjEwQTAwMDEwMDQ1MEMyMDYwMEFCQQorOjEwMDM4MDAwMDA3MzAwODQwMDA0QjE4MDAwMDAwNjM5MEM2MTA0RDRCRAorOjEwMDM5MDAwMDAyNDcxQzAyMDMzMzNDMEUwMDFBMzgyMjIwMzdBMDIxQgorOjEwMDNBMDAwQzMwMUEzODIyMDAxMzM4MDAwMDA3QTgwQzIwMUIzNTBEMAorOjEwMDNCMDAwQ0MyMDAwMzkwMDAwNzE4MDAwRjMwMDQ0MEMyMDYwMEE1QQorOjEwMDNDMDAwMDBEMzAwODQwMDA0QjE4MDAwMDAwNjM5MEM2MTA0RDQxRAorOjEwMDNEMDAwMDAwMEIzMTBDQzIwMDAzOTAwMDA3MUMwMDBGMzAwNDRDRAorOjEwMDNFMDAwQ0MyMDAwMzkwMDIwNzFDMDAwMzA3MUMwMDBGMzAwNDRGRgorOjEwMDNGMDAwMjAwMTAwODBGRkZGNjI4QjIwMDEzMzgwMDAwMDgzODA5QQorOjEwMDQwMDAwMjAwMDdBODAyMEUxMDk1QzgyMDAwOTJGODA0QTA5OEU1MQorOjEwMDQxMDAwRTAwMUIzODIyMDA0QTM4MDAwMDA3QUNCMDMwMEE4MTg3NworOjEwMDQyMDAwMDAwMDEwMzkwODA0RUExMDA4MDQ3QTEwMjAwMDAwODA0NworOjEwMDQzMDAwNDAwMDIxQ0IwQzAwRTgxMDAwMDA0MTAyMEMwMEVCMTA0MgorOjEwMDQ0MDAwRjIwMTAwODI0MDIxMzMwMjA4MjA2MTBBQzQwMDA0MTkyRAorOjEwMDQ1MDAwQzcwMDAwOTkwMjAwNjEwQTBDRTgwNDE0MDEwMDYxMEE1NworOjEwMDQ2MDAwMDMwMDQ4MEEwMEI4MDQ1NEMzMDAwNDE5MENCODAwNDQzRgorOjEwMDQ3MDAwMDgwMEM4MEEwQ0I4MDQ1NEM4MDAwNDE5MEEwMDYxMEEyQworOjEwMDQ4MDAwMDkwMDQ4MEEwMDY4MDQ1NEM5MDAwNDE5MEM2ODAwNDRCMworOjEwMDQ5MDAwMEIwMEM4MEEwQzY4MDQ1NENCMDAwNDE5MDQwMDYxMEE1QworOjEwMDRBMDAwMDYwMDQ4MEEwMDc4MDQ1NEM2MDAwNDE5MEM3ODAwNDQ3OQorOjEwMDRCMDAwMDUwMEM4MEEwQzc4MDQ1NEM1MDAwNDE5MDcwMDYxMEEzNQorOjEwMDRDMDAwMEMwMDQ4MEEwMEU4MDQ1NENDMDAwNDE5MENFODAwNDQ2RAorOjEwMDREMDAwMEUwMEM4MEEwQ0U4MDQ1NENFMDAwNDE5MDAwMDQwNDU4MAorOjA4MDRFMDAwMjAxMDcxOEIwOTNGMDcwMDk5Cis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdGlfMzQxMC5mdy5paGV4IGIvZmlybXdhcmUvdGlfMzQxMC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMmMwNDIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS90aV8zNDEwLmZ3LmloZXgKQEAgLTAsMCArMSw4NjIgQEAKKzoxMDAwMDAwMEMyMzUwMDAyMDAxRTAyMUFEQkZGRkZGRkZGRkYwMjMyQjMKKzoxMDAwMTAwMENCRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYwMjMzRUQKKzoxMDAwMjAwMDc2NzU4MUNFOTBGREU4ODU4M0EwMTIzNEVBRUM0RDYwQjAKKzoxMDAwMzAwMDZBNzhBQjgwMDM3NjAwMThCODlDRkE3ODdGODAwMzc2RTQKKzoxMDAwNDAwMDAwMThCODY1RkE3ODIwODAwMzc2MDAxOEI4MjBGQTkwNzYKKzoxMDAwNTAwMEZERERBRTgzQUY4MjkwRkJGODEyMDBBMTYwMDVFNEYwRjUKKzoxMDAwNjAwMEEzODBGNjkwRkRFOEE4ODI5MEZERThBOTgyRThDMzk5RjQKKzoxMDAwNzAwMDUwMDU3NjAwMDg4MEY2OTAwMEZGMTIwMEFBOTAwMTAzNTgKKzoxMDAwODAwMDEyMDBBQTkwMDEwNzEyMDBBQTkwMDEwQjEyMDBDODkwNUEKKzoxMDAwOTAwMDAxMTExMjAwQzg5MDAxMTcxMjAwQzg3NUQwMDAxMjMzNjgKKzoxMDAwQTAwMEM4MDIwMTFERUY2NTgyNzAwM0VFNjU4MzIyRTQ5M0Y4QjgKKzoxMDAwQjAwMDc0MDE5M0Y5NzQwMjkzRkU3NDAzOTNGNTgyOEU4M0U4QkUKKzoxMDAwQzAwMDY5NzAwMTIyRTQ5M0Y2QTMwODgwRjRFNDkzRkM3NDAxQzAKKzoxMDAwRDAwMDkzRkQ3NDAyOTNGRTc0MDM5M0ZGNzQwNDkzRjg3NDA1MDQKKzoxMDAwRTAwMDkzRjU4Mjg4ODMxMjAwQTE3MDAxMjJFNDkzQTNBODgzNzAKKzoxMDAwRjAwMEE5ODI4QzgzOEQ4MkYwQTNBQzgzQUQ4Mjg4ODM4OTgyQjAKKzoxMDAxMDAwMDgwRTMyMTIxMDQ5MjgwODAwNDkyQUNBRTA0OTJGREU4NDkKKzoxMDAxMTAwMDA0OTQwNDk0RkJGMzA0OTkwNDk0RkJGMzA0RjkwNEY5QTQKKzoxMDAxMjAwMDgwRkVEMEYwMzBGMDA5MjBGMzAzRjY4MDEwRjc4MDBENDgKKzoxMDAxMzAwMDMwRjEwOTIwRjMwM0YyODAwNEYzODAwMUYwMjBGNDA0OEQKKzoxMDAxNDAwMEZDRDBFMENDMjJDQ0MwRTAxMjAxNUEwMjAxNEJCQzAwMzIKKzoxMDAxNTAwMDA1RDBGMEFDRjAyMkMzMTNEQ0ZDMDIwMTIxQkYwMDA5ODIKKzoxMDAxNjAwMEVEMjU4Mjc1RjAwMUY4RTYyMkJGMDEwRkVEMjU4MkY1M0QKKzoxMDAxNzAwMDgyRUUzNTgzRjU4Mzc1RjAwNEUwMjJFRDI1ODI3NUYwN0IKKzoxMDAxODAwMDAyRjhFMjIyRDA4M0QwODJGNUYwQzNFNDkzQTNDNUYwNTUKKzoxMDAxOTAwMDk1RjBDMEUwQzNEMEYwRTQ5M0EzOTVGMDQwMTJBM0EzODAKKzoxMDAxQTAwMEMzRTVGMDMzNTAwMjA1ODMyNTgyRjU4MjUwMDIwNTgzQjIKKzoxMDAxQjAwMDc0MDE5M0MwRTBFNDkzQzBFMDIyRDA4M0QwODJGNUYwRDQKKzoxMDAxQzAwMEU0OTM3MDA5NzQwMTkzNzAwNEEzQTM4MDBDNzQwMjkzRTgKKzoxMDAxRDAwMDY1RjA2MDA1QTNBM0EzODBFNzc0MDE5M0MwRTBFNDkzRjYKKzoxMDAxRTAwMEMwRTAyMjEyMDI1QjAyMDFGMjEyMDJBRjAyMDFGMjEyMUYKKzoxMDAxRjAwMDAyRDMwMjAxRjIzMEUwMDcyMEUzMDJFNjIyRTcyMjMwRDgKKzoxMDAyMDAwMEUxMDcyMEUzMDJFMjIyRTMyMjMwRTIwMkUwMjJFNDkzNkIKKzoxMDAyMTAwMDIyMTIwMkQzMDIwMjFBMTIwMkFGMDIwMjFBQUJGMDEyMjkKKzoxMDAyMjAwMDAyMjRDQkM1RjBDQjIyMzBFMDEwMjBFMzA2RTZGNUYwNDcKKzoxMDAyMzAwMDA4RTYyMkU3RjVGMDA5RTcxOTIyMzBFMTEwMjBFMzA2OEQKKzoxMDAyNDAwMEUyRjVGMDA4RTIyMkUzRjVGMDA5RTMxOTIyMzBFMjA2RDQKKzoxMDAyNTAwMEUwRjVGMEEzRTAyMkU0OTNGNUYwNzQwMTkzMjJCQjAwRjMKKzoxMDAyNjAwMDAzNzQwOTIyQkIwMTA3ODk4MjhBODM3NDA0MjJCQjAyQkEKKzoxMDAyNzAwMDA3ODk4MjhBODM3NDEwMjI3NDBBMjIwMjAyN0JCQjAwREYKKzoxMDAyODAwMDA3RTkyNTgyRjg3NDAxMjJCQjAxMERFOTI1ODJGNTgyNzgKKzoxMDAyOTAwMEVBMzU4M0Y1ODM3NDA0MjJCQjAyMERFOTI1ODJGNTgyRDkKKzoxMDAyQTAwMEVBMzU4M0Y1ODM3NDEwMjJFOTI1ODJGODc0MDIyMjAyNkMKKzoxMDAyQjAwMDAyQUZCRjAwMDVFREY4NzQwMTIyQkYwMTA3OEQ4MjhFRTkKKzoxMDAyQzAwMDgzNzQwNDIyQkYwMjA3OEQ4MjhFODM3NDEwMjJFREY4OUUKKzoxMDAyRDAwMDc0MDIyMjAyMDJEM0JGMDAwN0VEMjU4MkY4NzQwMTIyQzYKKzoxMDAyRTAwMEJGMDEwREVEMjU4MkY1ODJFRTM1ODNGNTgzNzQwNDIyN0UKKzoxMDAyRjAwMEJGMDIwREVEMjU4MkY1ODJFRTM1ODNGNTgzNzQxMDIyNjEKKzoxMDAzMDAwMEVEMjU4MkY4NzQwMjIyMDIwMzA3QzBFMDEyMDI1QjAyQUMKKzoxMDAzMTAwMDAzMUZDMEUwMTIwMkFGMDIwMzFGQzBFMDEyMDJEMzAyQUIKKzoxMDAzMjAwMDAzMUYzMEUwMEIyMEUzMDREMEUwRjYyMkQwRTBGNzIyRjgKKzoxMDAzMzAwMDMwRTEwQjIwRTMwNEQwRTBGMjIyRDBFMEYzMjJEMEUwNjEKKzoxMDAzNDAwMEYwMjJDOUNEQzlDQUNFQ0FDQkNGQ0IxMjAzNTJFREY5MjgKKzoxMDAzNTAwMEVFRkFFRkZCMjJCQjAwMkZCRjAwMEFGQUVERjhFN0Y2M0EKKzoxMDAzNjAwMDA4MDlEQUZBMjJCRjAxMTI4RDgyOEU4M0Y4MDIwMzZGMjgKKzoxMDAzNzAwMDA5QTNFN0YwRDhGQTIyMDIwMzdBRkFFREY4RTdGMjA4QzcKKzoxMDAzODAwMDA5REFGQTIyMDIwMzg0QkIwMTREQkYwMDE0ODk4MjhBNzQKKzoxMDAzOTAwMDgzRjlFREY4MDIwMzk2MDhBM0UwRjZEOUZBMjIwMjAzRTYKKzoxMDAzQTAwMEE3QkYwMTIyOEQ4MjhFODNGQjA4QzlDNTgyQzlDQUM1MzkKKzoxMDAzQjAwMDgzQ0FFMEEzQzlDNTgyQzlDQUM1ODNDQUYwQTNEQkVBNjAKKzoxMDAzQzAwMEQ4RTgyMjAyMDNDQThEODI4RTgzRjlFREY4RTBGMjA4QTQKKzoxMDAzRDAwMEEzRDlGQTIyMDIwM0Q0QkIwMjREQkYwMDEyODk4MjhBM0MKKzoxMDAzRTAwMDgzRjlFREY4MDIwM0U2MDhBM0U0OTNGNkQ5RjkyMkJGRjYKKzoxMDAzRjAwMDAxMjM4RDgyOEU4M0ZCMDhDOUM1ODJDOUNBQzU4M0NBMDEKKzoxMDA0MDAwMEU0OTNBM0M5QzU4MkM5Q0FDNTgzQ0FGMEEzREJFOUQ4RUUKKzoxMDA0MTAwMEU3MjIwMjA0MTk4OTgyOEE4M0Y5RURGOEU0OTNGMjA4NEQKKzoxMDA0MjAwMEEzRDlGOTIyMDIwNDJBQkYwMDBERkFFREY4RTNGNjA4NzkKKzoxMDA0MzAwMDA5REFGQTIyMDIwNDM0QkYwMTEyOEQ4MjhFODNGODAyOTcKKzoxMDA0NDAwMDA0NDEwOUEzRTNGMEQ4RkEyMjAyMDQ0Q0ZBRURGOEUzRTAKKzoxMDA0NTAwMEYyMDgwOURBRkEyMjAyMDQ1NkU2RkIwOEU2RkEwOEU2OTAKKzoxMDA0NjAwMEY5MDRGNjE4NzAwMTA2MjJFNkZGMDhFNkZFMDhFNkZEMkMKKzoxMDA0NzAwMDIyRUZGMEEzRUVGMEEzRURGMDIyRUJGMEEzRUFGMEEzNUQKKzoxMDA0ODAwMEU5RjAyMkUwRkZBM0UwRkVBM0UwRkQyMkUwRkJBM0UwMTEKKzoxMDA0OTAwMEZBQTNFMEY5MjIwMDAwMDAwMDAwMDAwMDA0RjkwMDYxNjYKKzoxMDA0QTAwMDA1NjgwMDI2MDU4RjAwMzMwQTAwMDA2MTBBNkMwMDY2QUIKKzoxMDA0QjAwMDE1MUQwMDYxMENGMDAwNjEwOUEwMDA2MTA5RDcwMDYxMDEKKzoxMDA0QzAwMDBEQjcwMDYxMEJFODAwNjEwQTEzMDA2MTBBNDgwMDYxODIKKzoxMDA0RDAwMDE3MTUwMDMzMTcyODAwMzQxREY2MDA0MzFFQTEwMDQ0RjEKKzoxMDA0RTAwMDIwMEUwMDQ0MUZGQzAwNDcxRUM4MDA0NzFGNkQwMDREMzIKKzoxMDA0RjAwMDFGQkUwMDRGMUVFQTAwNTgzMjU2MDA2MTdDQ0M3REZGQzMKKzoxMDA1MDAwMDEyMUNBNzIyOTBGRkZDRTAyMEU3MkRDMkFGQUU1OUFGMkUKKzoxMDA1MTAwMDU4NzU1QTIwRTU1QTE0QzU1QTYwMTlFNEZFN0YwNUVFNTUKKzoxMDA1MjAwMDRGQ0UyNEZGQ0VDRjM0RkZDRjYwMDdFNDkwRkY5MkYwOTAKKzoxMDA1MzAwMDgwRUQ4MEUwOEU1OThGNTgyMjEyMDUwMTdEMDc3Q0I3MkYKKzoxMDA1NDAwMDEyMzI3MjdEMEY3QzZFMTIzMjhDNzg5RDdBMDZFNEY2NDAKKzoxMDA1NTAwMDA4REFGQzdBMDYxMjA1QzQ3QzAzMTIwRTRDMTIyMTRBRkEKKzoxMDA1NjAwMEU0RkVGRjdDMEYxMjMxRkJEMkE4MjIxMjMwRTZFNDkwQTkKKzoxMDA1NzAwMEZDMzhGMDkwRkZGMEUwMzBFNDA4NzQwMTkwRkMzOUYwQjIKKzoxMDA1ODAwMDgwMDVFNDkwRkMzOUYwN0QwQTdDMDAxMjI1MjYxMjMxQUEKKzoxMDA1OTAwMDY5MjIxMjMwRTY5MEZDMzlFMDE0NzAwRTkwRkZGMEUwMTIKKzoxMDA1QTAwMDQ0MTBGMDdDMDAxMjI1QkY4MDE5OTBGQzM5RTA3MDBFRDkKKzoxMDA1QjAwMDkwRkZGMEUwNTRFRkYwN0MwMDEyMjVCRjgwMDU3QzE3MUYKKzoxMDA1QzAwMDEyMjVCRjEyMzE2OTIyOTBGRkYwRTA1NEFCRjA5MEZGOEEKKzoxMDA1RDAwMEYwRTA0NDIwRjAyMjhDMzc4RDM2Nzg4MkVERjYwOEVDN0UKKzoxMDA1RTAwMEY2RURGRUVDRkQ3RjAxOTAwMDA1MTIwMUVDNzg4MEY2M0YKKzoxMDA1RjAwMDc4ODJFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA0NEMKKzoxMDA2MDAwMDEyMDFFQzU0MEZGQzdEODAxMjE3NDY3ODgwRTY3MDBEQzUKKzoxMDA2MTAwMEFEM0FBRTM5QUYzOEU0MTIwMzBGN0MwODIyOTBGRkYwRjgKKzoxMDA2MjAwMEUwNTRGRUYwOTBGRkYwRTA1NEZERjA4MDFFNzg4MkU2OEEKKzoxMDA2MzAwMEZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFQzUKKzoxMDA2NDAwMDI1RTA0NDAxOTBGRkYzRjAwMjA2RDA3ODgyRTZGRDA4MzEKKzoxMDA2NTAwMEU2RkNFREZFRUNGRDdGMDE5MDAwMDYxMjAyMEU1NEZFNUEKKzoxMDA2NjAwMDkwRkZGM0YwODAyQjc4ODJFNkZEMDhFNkZDRURGRUVDQ0YKKzoxMDA2NzAwMEZEN0YwMTkwMDAwODEyMDIwRUZBRUI5MEZGRjFGMDEyREMKKzoxMDA2ODAwMDA4QkY0MDBEQUQzQUFFMzlBRjM4RTQxMjAzMEY3QzE4MDUKKzoxMDA2OTAwMDIyNzg4MkU2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwOEQKKzoxMDA2QTAwMDA4MTIwMjBFOTBGRkYxRjAxMjA4QkY0MDBEQUQzQUFFRjUKKzoxMDA2QjAwMDM5QUYzOEU0MTIwMzBGN0MxODIyNzg4MkU2RkQwOEU2OTEKKzoxMDA2QzAwMEZDRURGRUVDRkQ3RjAxOTAwMDA2MTIwMjBFNDQwMTkwNEQKKzoxMDA2RDAwMEZGRjNGMDc4ODNFNjI0MDNGNjE4RTYzNDAwRjY3ODgwMUEKKzoxMDA2RTAwMEU2MjRGRTUwMDk5MEZGRjBFMDU0RkRGMDgwMDc5MEZGRjMKKzoxMDA2RjAwMEYwRTA0NDAyRjBFNDkwRkZGMUYwNzg4MTc2MDA3ODgwMzkKKzoxMDA3MDAwMEU2MjRGRkZDRTQzNEZGRkQ3ODgxRTY3RjAwRkVFQ0QzQjUKKzoxMDA3MTAwMDlFRUY2NDgwQ0Q2NDgwOUQ0MDJGMTIwOEE0NDAwRjc4MjYKKzoxMDA3MjAwMDgxRTZBRDNBQUUzOUFGMzgxMjAzMEY3QzE4MjI5MEZGNDQKKzoxMDA3MzAwMEYyRTBGQzc4ODI4NjgzMDg4NjgyRUNGMDc4ODEwNkEzNUEKKzoxMDA3NDAwMDc4ODJBNjgzMDhBNjgyODBCNTEyMDhBNDQwMEY3ODgxMUIKKzoxMDA3NTAwMEU2QUQzQUFFMzlBRjM4MTIwMzBGN0MxODIyOTBGRkYyQTMKKzoxMDA3NjAwMEUwRkM3ODgyODY4MzA4ODY4MkVDRjA3ODgwRTZBRDNBRjkKKzoxMDA3NzAwMEFFMzlBRjM4MTIwMzBGN0MwMDIyOEMzNzhEMzY3ODgyNjkKKzoxMDA3ODAwMEVERjYwOEVDRjZFREZFRUNGRDdGMDE5MDAwMDUxMjAxQTAKKzoxMDA3OTAwMEVDNzg4MUY2Nzg4MkU2RkQwOEU2RkNFREZFRUNGRDdGNjQKKzoxMDA3QTAwMDAxOTAwMDA0MTIwMUVDNTQwRkZDN0Q4MTEyMTc0Njc4NzEKKzoxMDA3QjAwMDgxRTY3MDAzN0MwODIyOTBGRkYwRTA1NEZFRjA5MEZGODkKKzoxMDA3QzAwMEYwRTA1NEZERjA4MDFCNzg4MkU2RkQwOEU2RkNFREZFQ0IKKzoxMDA3RDAwMEVDRkQ3RjAxOTAwMDA4MTIwMjBFMjVFMDkwRkZGM0YwN0YKKzoxMDA3RTAwMDgwNUI3ODgyRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwODMKKzoxMDA3RjAwMDAwMDYxMjAyMEU1NEZFOTBGRkYzRjA4MDIxNzg4MkU2OEMKKzoxMDA4MDAwMEZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFRjMKKzoxMDA4MTAwMEZBRUI5MEZGRjFGMDEyMDhCRjQwMDM3QzE4MjI3ODgyQjcKKzoxMDA4MjAwMEU2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDgxMjAyRkIKKzoxMDA4MzAwMDBFOTBGRkYxRjAxMjA4QkY0MDAzN0MxODIyNzg4M0U2ODcKKzoxMDA4NDAwMDI0MEFGNjE4RTYzNDAwRjY3ODgwNzYwMDc4ODFFNjI0RUIKKzoxMDA4NTAwMEZGRkNFNDM0RkZGRDc4ODBFNjdGMDBGRUVDRDM5RUVGRTIKKzoxMDA4NjAwMDY0ODBDRDY0ODA5RDQwMjE3ODgyODY4MzA4ODY4MkUwMDIKKzoxMDA4NzAwMDkwRkZGMUYwMTIwOEJGNDAwMzdDMTgyMjc4ODAwNjc4QzAKKzoxMDA4ODAwMDgzMDZFNjE4NzAwMTA2ODBDMzkwRkZGMEUwNDQwMUYwOTMKKzoxMDA4OTAwMDc4ODI4NjgzMDg4NjgyRTA5MEZGRjFGMDEyMDhCRjQwREMKKzoxMDA4QTAwMDAzN0MxODIyN0MwMDIyOTBGRkYwRTAyMEU3MTI5MEZGRUEKKzoxMDA4QjAwMEYwRTAzMEU1MDk5MEZGRjBFMDQ0MjBGMEMzMjI4MEU3NEIKKzoxMDA4QzAwMEQzMjI5MEZGRjBFMDIwRTMxMjkwRkZGMEUwMzBFNTA5NDIKKzoxMDA4RDAwMDkwRkZGMEUwNDQyMEYwQzMyMjgwRTdEMzIyOEM0MjhEQzkKKzoxMDA4RTAwMDQxN0MwMEVENTRGMEZERUM3MDAzRUQ2NDMwNzAwNTc1NTMKKzoxMDA4RjAwMDNFMDM4MDAzNzUzRTA0QUMzRTEyMEY2OTc1ODMwMDg1OEMKKzoxMDA5MDAwMDgzNDBFNTQxNTQwRkY1M0ZFNTQwNzAwNEU1M0Y2NDAzNDMKKzoxMDA5MTAwMDcwMzVFNTNFMjRGRDc1RjAwQUE0MjQwMkY1ODJFNDM0MjYKKzoxMDA5MjAwMEZDRjU4M0UwMzBFNjA1MTIxMDRCODAxOUU1M0UyNDlENkUKKzoxMDA5MzAwMEY4QzY1NEZCRjY3OEE5RTYyNDA1RjU4MjE4RTYzNDAwREIKKzoxMDA5NDAwMEY1ODM3NDBGRjA4MDU5RTU0MDcwMDRFNTNGNjQwNDcwNEUKKzoxMDA5NTAwMDQ4RTUzRTI0RkQ3NUYwMEFBNDI0MDJGNTgyRTQzNEZDNDcKKzoxMDA5NjAwMEY1ODNFMDMwRTUwN0FDNDJBRDQxMTIxQzNDRTU0MjMwNzYKKzoxMDA5NzAwMEUyMTU3OEFERTYzMEUwMEY3OEFERTYzMEUxMDlFNEZGNEUKKzoxMDA5ODAwMDA0RkU3QzA0MTIzMUZCNzhBOUU2MjQwNkY1ODIxOEU2MDEKKzoxMDA5OTAwMDM0MDBGNTgzNzQwRkYwODAwN0U0RkM3REVFMTIxQzNDRkMKKzoxMDA5QTAwMEMyMDMyMjEyMzBFNjEyMEY2OTc4QTlFNjI0MDZGNTgyMDYKKzoxMDA5QjAwMDE4RTYzNDAwRjU4M0UwOTBGQzM4RjA3OEE5RTYyNDA1QzkKKzoxMDA5QzAwMEY1ODIxOEU2MzQwMEY1ODNFMDkwRkMzOUYwQzIwMzdEMkYKKzoxMDA5RDAwMDAyN0MwMDEyMjUyNjEyMzE2OTIyMTIzMEU2Nzg5NUVDNEQKKzoxMDA5RTAwMEY2RUMyNDlERjhFNjMwRTEwNzdDMTMxMjI1QkY4MDBGNUEKKzoxMDA5RjAwMDkwRkMzOUUwRkQ3ODk1RTZGQzEyMTNDODEyMjVCRjEyNzEKKzoxMDBBMDAwMDMxNjkyMjEyMzBFNjc4OTVFQ0Y2N0QwMDEyMEYwOTEyNUEKKzoxMDBBMTAwMDI1QkYxMjMxNjkyMjEyMzBFNjc4OTVFQ0Y2RUMyNDlENjAKKzoxMDBBMjAwMEY4RTYzMEUyMDc3QzEzMTIyNUJGODAxQjc4OTVFNjI0OTgKKzoxMDBBMzAwMDlERjhFNjIwRTEwNzdDMTIxMjI1QkY4MDBBNzg5NUU2MzIKKzoxMDBBNDAwMEZDMTIxM0VDMTIyNUJGMTIzMTY5MjIxMjMwRTY3ODk1QTAKKzoxMDBBNTAwMEVDRjZFQzI0OURGOEU2MjBFMjA3N0MxMTEyMjVCRjgwMUQKKzoxMDBBNjAwMDBBNzg5NUU2RkMxMjE0RUQxMjI1QkYxMjMxNjkyMjEyQTQKKzoxMDBBNzAwMDMwRTY3ODk1RUNGNjEyMEY2OTc4QTlFNjI0MDlGNTgyM0MKKzoxMDBBODAwMDE4RTYzNDAwRjU4M0UwOTBGQzNGRjA3OEE5RTYyNDBBRUMKKzoxMDBBOTAwMEY1ODIxOEU2MzQwMEY1ODNFMDkwRkM0MEYwNzhBOUU2OTIKKzoxMDBBQTAwMDI0MDNGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTlFNjI0RjcKKzoxMDBBQjAwMDA0RjU4MjE4RTYzNDAwRjU4M0UwRjU2Mjc4QTlFNjI0QUYKKzoxMDBBQzAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwRjU2MzhDNjFFNEVDMEUKKzoxMDBBRDAwMDMzMzM1NDAxNzg5NUY2NjAwOEU1NjIzMEUxMDM3ODk1ODgKKzoxMDBBRTAwMDA2Nzg5NUU2OTBGQzQxRjA3OEE3RTYyNDAyRjU4MjE4OTYKKzoxMDBBRjAwMEU2MzQwMEY1ODNFMEZEQTNFMDU0MENGQ0VENTRFNjhDRjUKKzoxMDBCMDAwMDY1RjU2NEU1NjEzMEU1MDM0MzY1MDFFNTYyMjBFNTBFQzYKKzoxMDBCMTAwMEU1NjE1NDdGNzAwOEU1NjEyMEU3MDM0MzY1MDJFNTYxMDQKKzoxMDBCMjAwMDMwRTMwMzQzNjUxMEU1NjEzMEUyMDM0MzY1MjBFNTYxOEUKKzoxMDBCMzAwMDU0MDM2MDAzNDM2NTQwRTU2MTMwRTEwMzQzNjU4MEU1QUMKKzoxMDBCNDAwMDYxMzBFNDAzNDM2NDAxRTU2MTMwRTYwMzQzNjQwOEU1OTIKKzoxMDBCNTAwMDYyMjBFNDBFRTU2MTU0N0Y3MDA4RTU2MTIwRTcwMzQzRkQKKzoxMDBCNjAwMDY0MTA1MzY1RkI1MzY0NzlBRDY0RTU2NTkwRkMzQUNENDAKKzoxMDBCNzAwMEYwQTNDREYwRTU2MzMwRTMwREU1NjM1NDMwQzQ1NDBGQ0EKKzoxMDBCODAwMDkwRkMzREYwODAwNUU0OTBGQzNERjBFNTYzNTQwMzkwNUIKKzoxMDBCOTAwMEZDM0NGMEU1NjM1NDA0QzMxMzkwRkMzRUYwOTBGQzNDMzUKKzoxMDBCQTAwMEUwNzAwRTdEMzU3RUZDN0YwMTc0MDE5MDAwMDkxMjAxMUEKKzoxMDBCQjAwMDQyNzhBOUU2MjQwOEY1ODIxOEU2MzQwMEY1ODNFMDdDNDMKKzoxMDBCQzAwMDAwRkQ3OEE5RTYyNDA3RjU4MjE4RTYzNDAwRjU4M0UwRjUKKzoxMDBCRDAwMDdGMDA0Q0ZFRUY0RDkwRkMzOEYwQTNDRUYwQ0VDMjAzNjgKKzoxMDBCRTAwMDdEMEE3QzAwMTIyNTI2MTIzMTY5MjIxMjMwRTY3ODk1QTIKKzoxMDBCRjAwMEVDRjY3ODlBNzYwMTA4NzZGQzA4NzYzODc4OTc3NjBDQzkKKzoxMDBDMDAwMDc4OUExMjA0NjUxMjAyMTQ3ODk4Q0JGNkNCMDhGNjdGMTYKKzoxMDBDMTAwMDAwRUYyNEVBNDAxRkU0RUYyNUUwOTAzNTJDRkQ5M0NENTIKKzoxMDBDMjAwMDA0OTM3ODk5NjY3MDAzRUQxODY2NzAwNjc4OTc3NjAwREQKKzoxMDBDMzAwMDgwMDMwRjgwREM3ODk2RUZGNjc4OUExMjA0NjU5MDAwQjYKKzoxMDBDNDAwMDAyMTIwMjBFNzg5OENCRjZDQjA4RjY1NDA0Q0I1NDg2RTkKKzoxMDBDNTAwMDRCNjAwNDc4OTc3NjBCNzg5OUU2MzBFMzEzNzg5QTEyMTQKKzoxMDBDNjAwMDA0NjU5MDAwMDUxMjAxRUMyNEZCNTAwNDc4OTc3NjBEODIKKzoxMDBDNzAwMDc4OTlFNjU0QzA3RDAwNjRDMDRENzAwNDc4OTc3NjBCNzcKKzoxMDBDODAwMDc4OUExMjA0NjU5MDAwMDQxMjAxRUMyNEZDNTAwNDc4NTgKKzoxMDBDOTAwMDk3NzYwRjc4OUExMjA0NjU5MDAwMDYxMjAxRUMyNEZERjUKKzoxMDBDQTAwMDUwMDQ3ODk3NzYwRTc4OUExMjA0NjU5MDAwMDkxMjAxMjQKKzoxMDBDQjAwMEVDMjRGRDUwMDQ3ODk3NzYwQTc4OTdFNjcwMkE3ODk1QTgKKzoxMDBDQzAwMEU2RkMxMjBGNjk3ODlBMTIwNDY1NzhBN0U2Rjk3OEE2MEYKKzoxMDBDRDAwMEU2RkE3QjAxNzQwQTc4MDAxMjAzM0ZDMjAzNzg5NUU2QjYKKzoxMDBDRTAwMEZDMTIxMTA3Nzg5N0VDRjY3ODk3RTZGQzEyMjVCRjEyRjQKKzoxMDBDRjAwMDMxNjkyMjEyMzBFNjc4OTVFQ0Y2MTIwRjY5Nzg5NUU2QTQKKzoxMDBEMDAwMDI0RkQ3NUYwMEFBNDI0MTRGNTgyRTQzNEZDRjU4M0FDQzgKKzoxMDBEMTAwMDgyQUQ4Mzc4QTY4NjgzMDg4NjgyRUNGOUVERkE3QjBBOTkKKzoxMDBEMjAwMDc4MDExMjAzQTdDMjAzNzg5NUU2RkMxMjExMDcxMjMxNkQKKzoxMDBEMzAwMDY5MjI4RDJCOEMyQUVENjA0MDc1MjcwMTc1Mjk0ODc1MzUKKzoxMDBENDAwMDI4RkZFNTJBMjRGREZDRTQzNEZGRkRFQzdDMDMyNUUwQ0MKKzoxMDBENTAwMENEMzNDRERDRjlGQ0U1MjkyQ0Y1MjlFNTI4M0RGNTI4MzYKKzoxMDBENjAwMEFEMjlBRTI4QUYyNzc0ODA5MDAwMDYxMjAzMTc3NDgwNTcKKzoxMDBENzAwMDkwMDAwMjEyMDMxNzEyMEZCN0U1MkIxNDYwM0I3NTI3ODIKKzoxMDBEODAwMDAxNzUyOTA4NzUyOEZGRTUyQTI0RkRGQ0U0MzRGRkZERTAKKzoxMDBEOTAwMEVDN0MwMzI1RTBDRDMzQ0REQ0Y5RkNFNTI5MkNGNTI5RUQKKzoxMDBEQTAwMEU1MjgzREY1MjhBRDI5QUUyOEFGMjdFNDkwMDAwNjEyQ0UKKzoxMDBEQjAwMDAzMTdFNDkwMDAwMjEyMDMxNzIyMTIzMEU2Nzg5NUVDMzQKKzoxMDBEQzAwMEY2RUMyNDlERjhFNjMwRTIwOTc4OTVFNkZDMTIxNEVEODUKKzoxMDBERDAwMEQyMDA3ODk1RTZGQzEyMEY2OTc4OTY3NjAwOTBGQzM5N0YKKzoxMDBERTAwMEUwMzBFNzA0Nzg5Njc2MDE3ODk2RTZGRDc4OTVFNkZDQTMKKzoxMDBERjAwMDEyMEQyRkMyMDMzMDAwMDc3ODk1RTZGQzEyMTNFQzdDMkQKKzoxMDBFMDAwMDAwMTIyNUJGMTIzMTY5MjI3OEE5RTYyNDA0RjU4MjE4NjAKKzoxMDBFMTAwMEU2MzQwMEY1ODNFMDQ0MDFGMDc4QTlFNjI0MDRGNTgyODUKKzoxMDBFMjAwMDE4RTYzNDAwRjU4M0UwMzBFMDAyODBFRDc4QTlFNjI0OEUKKzoxMDBFMzAwMDBCRjU4MjE4RTYzNDAwRjU4M0UwNTRGOEYwNzhBOUU2NjMKKzoxMDBFNDAwMDI0MDJGNTgyMThFNjM0MDBGNTgzRTA0NDgwRjAyMkMyRTMKKzoxMDBFNTAwMDAzOEM1ODEyMEY2OTc4QTY4NjgzMDg4NjgyNzk1RDdBOUEKKzoxMDBFNjAwMDM1N0IwQTc4MDExMjAzRjUxMjBFMDVBQzU4N0QwMjEyOEIKKzoxMDBFNzAwMDBEMkZDMjAzQUM1ODEyMTEwNzIyOEQ1MzhFNTI4RjUxODEKKzoxMDBFODAwMDhDNTAxMjBGNjk3NTRGMDA3OEE5RTYyNDA1RjU4MjE4NzkKKzoxMDBFOTAwMEU2MzQwMEY1ODNFMDIwRTQxRkU1NEYyNEY2NDAxOTA1MTEKKzoxMDBFQTAwMDRGQzIwMzdDMTgxMjMyQTk5MEZGOTNFMDQ0MDFGMEIyQzQKKzoxMDBFQjAwMEIzQUM1MDEyMEY2OTgwRDA3OEE5RTYyNDA1RjU4MjE4RUEKKzoxMDBFQzAwMEU2MzQwMEY1ODNFMDIwRTQwNUMyMDM3QzAyMjI3OEE5MjEKKzoxMDBFRDAwMEU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDU0MEY2MDE2MjkKKzoxMDBFRTAwMDc4QTlFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTA1NDBGNkUKKzoxMDBFRjAwMEYwQzIwMzdDMDEyMjc4QTg4NjgzMDg4NjgyRTBBRDUzODUKKzoxMDBGMDAwMEFFNTJBRjUxMTIwMzBGQzIwMzdDMDAyMjhEMzE4QzMwRTAKKzoxMDBGMTAwMDEyMTRFREU1MzE2MDBGRTUzMEI0MDMwQTdDMDExMjI0QjAKKzoxMDBGMjAwMEVFN0M4MTEyMjRFRUFDMzAxMjBGNjlFNTMxNjAxQTc4NDQKKzoxMDBGMzAwMEFBODY4MzA4ODY4MkUwNTRFN0YwQTNBM0EzQTNFMDU0MjMKKzoxMDBGNDAwMEU3RjBBQzMwN0QwMjEyMEQyRjc4QTY4NjgzMDg4NjgyRUEKKzoxMDBGNTAwMDc5Njc3QTM1N0IwQTc4MDExMjAzRjVDMjAzRTUzMDI0RkMKKzoxMDBGNjAwMDlERjhDNjU0RkRGNkFDMzAxMjExMDcyMjhDMjYzMDAzRDIKKzoxMDBGNzAwMDA1MTIzMjQ4ODBGODdDMEExMjMxNUJEMjAzRTUyNjI0NDAKKzoxMDBGODAwMEZENzhBM0Y2NzAwNzc4QUE3NkZGMDg3NkUwNzhBM0U2RTYKKzoxMDBGOTAwMDc1RjAxMEE0QURGMEZDMjRBMDc4QTlGNkVEMzRGRjE4OEMKKzoxMDBGQTAwMEY2NzhBM0U2NzVGMDBBQTQyNDAwRkNFNDM0RkNGRDc4OEUKKzoxMDBGQjAwMEE2RURGNjA4RUNGNjEyMzFGNDIyNzhBOUU2MjQwMkY1NDMKKzoxMDBGQzAwMDgyMThFNjM0MDBGNTgzRTAzMEU3MjI3OEE5RTYyNDAyQUYKKzoxMDBGRDAwMEY1ODIxOEU2MzQwMEY1ODNFMDU0N0ZGMDc4QTlFNjI0MjIKKzoxMDBGRTAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwNDQ4MEYwMjI3OEFBMDYKKzoxMDBGRjAwMDg2ODMwODg2ODJFMDU0N0ZGMEFEODNFNTgyMjQwNEZDN0EKKzoxMDEwMDAwMEU0M0Q4QzgyRjU4M0UwNTQ3RkYwNzhBOUU2MjQwQkY1NkIKKzoxMDEwMTAwMDgyMThFNjM0MDBGNTgzRTA1NEY4RjA3OEFCRTYyNDAxNUEKKzoxMDEwMjAwMEY1ODIxOEU2MzQwMEY1ODNFMDQ0MDNGMDc4QUJFNjI0NUIKKzoxMDEwMzAwMDA1RjU4MjE4RTYzNDAwRjU4M0UwNDQwM0YwNzhBOUU2NkMKKzoxMDEwNDAwMDI0MDVGNTgyMThFNjM0MDBGNTgzNzQwRkYwMjI3OEFBOUYKKzoxMDEwNTAwMDg2ODMwODg2ODJFMDU0M0ZGMEFEODNFNTgyMjQwNEZDNTkKKzoxMDEwNjAwMEU0M0Q4QzgyRjU4M0UwNTQzRkYwNzhBM0U2MjRBNEY4QjUKKzoxMDEwNzAwMEU2RkM3OEFCRTYyNDAxRjU4MjE4RTYzNDAwRjU4M0VDNTMKKzoxMDEwODAwMEYwNzhBM0U2MjRBNEY4RTZGQzc4QUJFNjI0MDVGNTgyMjQKKzoxMDEwOTAwMDE4RTYzNDAwRjU4M0VDRjA3OEE5RTYyNDBCRjU4MjE4MDUKKzoxMDEwQTAwMEU2MzQwMEY1ODNFMDU0RkI0NDAyRjUyNjc4QTdFNjI0RjUKKzoxMDEwQjAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwMzBFNTAzNDMyNjAxQUIKKzoxMDEwQzAwMDc4QTlFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTAzMEUwREYKKzoxMDEwRDAwMDAzMTIwRkI3RTUyNkZDNzhBOUU2MjQwQkY1ODIxOEU2ODMKKzoxMDEwRTAwMDM0MDBGNTgzRUNGMDc4QTlFNjI0MDVGNTgyMThFNjM0OUYKKzoxMDEwRjAwMDAwRjU4Mzc0MEZGMDc4QUE4NjgzMDg4NjgyRTA0NDgwMjYKKzoxMDExMDAwMEYwQTNBM0EzQTNFMDQ0ODBGMDIyOEMyQTEyMEY2OTc4RjUKKzoxMDExMTAwMEE3RTYyNDA4RjU4MjE4RTYzNDAwRjU4M0UwRkM3OEE5RjgKKzoxMDExMjAwMEU2MjQwQUY1ODIxOEU2MzQwMEY1ODNFQ0YwNzhBN0U2QTkKKzoxMDExMzAwMDI0MDdGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTlFNjI0NUMKKzoxMDExNDAwMDA5RjU4MjE4RTYzNDAwRjU4M0VDRjA3OEE2ODY4MzA4NkEKKzoxMDExNTAwMDg2ODJFMEZEQTNFMEZDRURGRTc4QTlFNjI0MDhGNTgyOTYKKzoxMDExNjAwMDE4RTYzNDAwRjU4M0VFRjBFQ0ZFNzhBOUU2MjQwN0Y1RTYKKzoxMDExNzAwMDgyMThFNjM0MDBGNTgzRUVGMDhDMjk4RDI4QzNFQzk0QjgKKzoxMDExODAwMDA1RUQ5NDBDNDAwNTc1Mjc3QzgwMzNEM0U1Mjk5NDAxNDcKKzoxMDExOTAwMEU1Mjg5NDAzNDAwNTc1MjczQzgwMjNEM0U1Mjk5NDgxRjUKKzoxMDExQTAwMEU1Mjg5NDAxNDAwNTc1MjcxODgwMTNEM0U1Mjk5NDYwM0MKKzoxMDExQjAwMEU1Mjg5NDAwNDAwNTc1MjcwQzgwMDM3NTI3MDhBRjI3QTQKKzoxMDExQzAwMEU0RUY1NDdDNDQ4M0ZGOEYyN0U1MjdGQzc4QUJFNjI0Q0IKKzoxMDExRDAwMDAxRjU4MjE4RTYzNDAwRjU4M0VDRjBFNTI3RkM3OEFCRTYKKzoxMDExRTAwMEU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFQ0YwRTUyN0ZDRUIKKzoxMDExRjAwMDc4QTNFNjI0QTRGOEVDRjY3OEE5RTYyNDAyRjU4MjE4OTAKKzoxMDEyMDAwMEU2MzQwMEY1ODNFMEY1Mjc3OEE3RTYyNDAyRjU4MjE4OTYKKzoxMDEyMTAwMEU2MzQwMEY1ODNBM0UwMzBFMzE3NTMyN0M3NzhBN0U2NDkKKzoxMDEyMjAwMDI0MDVGNTgyMThFNjM0MDBGNTgzRTA5MDM1NTg5MzQyQTIKKzoxMDEyMzAwMDI3NTMyN0ZCNzhBN0U2MjQwNkY1ODIxOEU2MzQwMEY1NDUKKzoxMDEyNDAwMDgzRTA2MDAzNDMyNzA0NTMyN0ZDNzhBN0U2MjQwNEY1RDIKKzoxMDEyNTAwMDgyMThFNjM0MDBGNTgzRTA0MjI3NDMyNzgwRTUyN0ZDMjcKKzoxMDEyNjAwMDc4QTlFNjI0MDJGNTgyMThFNjM0MDBGNTgzRUNGMDc4REMKKzoxMDEyNzAwMEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwRjUyNzc4MjIKKzoxMDEyODAwMEE3RTYyNDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMEUxRjYKKzoxMDEyOTAwMDA1NTMyN0RGODAwMzQzMjcyMDc4QTdFNjI0MDJGNTgyNDEKKzoxMDEyQTAwMDE4RTYzNDAwRjU4M0UwMzBFNDA1NTMyN0VGODAwMzQzNkMKKzoxMDEyQjAwMDI3MTA3OEE3RTYyNDA5RjU4MjE4RTYzNDAwRjU4M0UwQzQKKzoxMDEyQzAwMEI0MDIwMzQzMjcwMkU1MjdGQzc4QTlFNjI0MDRGNTgyNEIKKzoxMDEyRDAwMDE4RTYzNDAwRjU4M0VDRjA3OEE5RTYyNDAzRjU4MjE4Q0IKKzoxMDEyRTAwMEU2MzQwMEY1ODNFMEY1Mjc3OEE3RTYyNDA5RjU4MjE4QUYKKzoxMDEyRjAwMEU2MzQwMEY1ODNFMDcwMDU1MzI3N0Y4MDAzNDMyNzgwQTEKKzoxMDEzMDAwMDc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwREUKKzoxMDEzMTAwMEUwMDU0MzI3MjA4MDAzNTMyN0RGNzhBN0U2MjQwMkY1NjIKKzoxMDEzMjAwMDgyMThFNjM0MDBGNTgzRTAzMEUzMDU0MzI3NDA4MDAzNkMKKzoxMDEzMzAwMDUzMjdCRjc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzMjgKKzoxMDEzNDAwMEUwMzBFMDA1NDMyNzEwODAwMzUzMjdFRjc4QTdFNjI0MTkKKzoxMDEzNTAwMDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMEU0MDU0MzI3NjQKKzoxMDEzNjAwMDA4ODAwMzUzMjdGNzc4QTdFNjI0MDJGNTgyMThFNjM0QUQKKzoxMDEzNzAwMDAwRjU4M0EzRTAzMEU1MDU0MzI3MDQ4MDAzNTMyN0ZCRjIKKzoxMDEzODAwMDc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwNUUKKzoxMDEzOTAwMEU2MDU0MzI3MDE4MDAzNTMyN0ZFNzhBN0U2MjQwMkY1REMKKzoxMDEzQTAwMDgyMThFNjM0MDBGNTgzQTNFMDMwRTcwNTQzMjcwMjgwODYKKzoxMDEzQjAwMDAzNTMyN0ZERTUyN0ZDNzhBOUU2MjQwM0Y1ODIxOEU2MDgKKzoxMDEzQzAwMDM0MDBGNTgzRUNGMEMyMDM3QzAwMjI4RDI3OEMyNkVEREYKKzoxMDEzRDAwMDU0MDMxNDYwMDM3QzEwMjJFNTI3NTQ3QzI0RkM0MDAzNTIKKzoxMDEzRTAwMDdDMEIyMkU1MjYyNDlERjhDNjQ0MDJGNjdDMDAyMjhDNjQKKzoxMDEzRjAwMDMwMTIwRjY5RTUzMDI0OURGOEU2MjBFMjRGQUMzMDdERDUKKzoxMDE0MDAwMDAyMTIwRDJGRTUzMDI0RkU0NDI4RkM3OEFBODY4MzA4QkEKKzoxMDE0MTAwMDg2ODJFQ0YwQUY4M0U1ODIyNDA0RkVFNDNGRkZFQzhFOEQKKzoxMDE0MjAwMDgyOEY4M0YwN0MwMzhDMkNFNTJDRkM3OEFCRTYyNDAxQzYKKzoxMDE0MzAwMEY1ODIxOEU2MzQwMEY1ODNFQ0YwRTUyQ0ZDNzhBQkU2OTkKKzoxMDE0NDAwMDI0MDVGNTgyMThFNjM0MDBGNTgzRUNGMDc1MkQwMTc1NUUKKzoxMDE0NTAwMDJGNDg3NTJFRkZFNTMwMjRGREZDRTQzNEZGRkRFQzdDQzUKKzoxMDE0NjAwMDAzMjVFMENEMzNDRERDRjlGQ0U1MkYyQ0Y1MkZFNTJFNUYKKzoxMDE0NzAwMDNERjUyRTc4QUJFNjI0MDRGNTgyMThFNjM0MDBGNTgzQkEKKzoxMDE0ODAwMEUwNTRFN0Y1MkNBRDJGQUUyRUFGMkRFNDkwMDAwMjEyMDQKKzoxMDE0OTAwMDAzMTdFNDkwMDAwNjEyMDMxNzEyMDFFNjMwRTUwMzQzMzgKKzoxMDE0QTAwMDJDMTBFNTJDRkM3OEFCRTYyNDA0RjU4MjE4RTYzNDAwMTkKKzoxMDE0QjAwMEY1ODNFQ0YwMTIxMDRCNzhBOUU2MjQwNkY1ODIxOEU2QzUKKzoxMDE0QzAwMDM0MDBGNTgzRTBDMjAzRkNFNTMwMjQ5REY4QzY0NDA0RjMKKzoxMDE0RDAwMEY2OEMyQ0U1MzA1NDBGQzQ1NEYwN0UwMEZGRUVFRjQ0NDAKKzoxMDE0RTAwMDA0N0QwMEZGRUM0RUZDRUQ0RkZEMTIxQ0E3N0MwMDIyOUEKKzoxMDE0RjAwMDhDMkYxMjBGNjkxMjBGRUI3OEFBODY4MzA4ODY4MkUwODAKKzoxMDE1MDAwMDU0MDhGMEEzQTNBM0EzRTA1NDA4RjBBQzJGN0QwMjEyNkIKKzoxMDE1MTAwMDBEMkZDMjAzRTUyRjI0OURGOEM2NTRGQkY2N0MwMDIyNTQKKzoxMDE1MjAwMDEyMzBFNjc4OTZFQ0Y2RUMyNDlERjhFNjMwRTEwQTdEODAKKzoxMDE1MzAwMDAwN0MxMzEyMjUyNjEyMzE2OTc4OTZFNjI0OURGOEM2QTAKKzoxMDE1NDAwMDQ0MDFGNjc4OTZFNkZDMTIwRjY5Nzg5NkU2MjRGRDc1NUMKKzoxMDE1NTAwMEYwMEFBNDI0MTRGNTgyRTQzNEZDRjU4Mzc4QTZFNkZBQjQKKzoxMDE1NjAwMDA4RTZGOTdCMEE3ODAxMTIwM0E3NzhBNjg2ODMwODg2MjUKKzoxMDE1NzAwMDgyNzk2NzdBMzU3QjBBNzgwMTEyMDNGNTEyMEZCN0MyQjgKKzoxMDE1ODAwMDAzNzg5NkU2RkMxMjExMDc3ODk1RUNGNkVDNjAwQTdEN0MKKzoxMDE1OTAwMDAwN0MwODEyMjUyNjEyMzE2OTc4OTZFNkZDMTIwRjY5NDQKKzoxMDE1QTAwMDc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzRTA0NDEwQjcKKzoxMDE1QjAwMDU0REZGQzc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzQUMKKzoxMDE1QzAwMEVDRjA3ODk1RUNGNkMyMDM3Q0M4MTIzMkE5Nzg5NkU2NjYKKzoxMDE1RDAwMEZDMTIwRjY5NzhBOUU2MjQwNEY1ODIxOEU2MzQwMEY1QjgKKzoxMDE1RTAwMDgzRTA1NEVGRjBDMjAzN0NDODEyMzJBOTc4OTZFNkZDN0YKKzoxMDE1RjAwMDEyMEY2OTc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzMTEKKzoxMDE2MDAwMEUwNDQxMEYwQzIwMzdDQzgxMjMyQTk3ODk2RTZGQzEyQkUKKzoxMDE2MTAwMDBGNjk3OEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwMjIKKzoxMDE2MjAwMDQ0MjBGMEMyMDM3Q0YwMTIzMkE5Nzg5NkU2RkMxMjBGMzcKKzoxMDE2MzAwMDY5NzhBOUU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDMwRTAKKzoxMDE2NDAwMEU0MTVDMjAzNzg5NkU2NDQxMDdGMDBGRTdDMDcxMjMxNTEKKzoxMDE2NTAwMEZCMTIzMTY5MDIxNzE0NzhBOUU2MjQwNEY1ODIxOEU2MTIKKzoxMDE2NjAwMDM0MDBGNTgzRTA1NENGRjBDMjAzN0NDODEyMzJBOTc4NkQKKzoxMDE2NzAwMDk2RTZGQzEyMEY2OTc4QTlFNjI0MDRGNTgyMThFNjM0OTAKKzoxMDE2ODAwMDAwRjU4M0UwNDQzMEYwQzIwMzdDRjAxMjMyQTk3ODk2NzIKKzoxMDE2OTAwMEU2RkMxMjBGNjk3OEE5RTYyNDA1RjU4MjE4RTYzNDAwMDUKKzoxMDE2QTAwMEY1ODNFMDMwRTQxNEMyMDM3ODk2RTY0NDEwN0YwMEZFMzAKKzoxMDE2QjAwMDdDMDcxMjMxRkIxMjMxNjk4MDVENzhBOUU2MjQwNEY1QkMKKzoxMDE2QzAwMDgyMThFNjM0MDBGNTgzRTA1NEVGRjA3OEE5RTYyNDA0QUMKKzoxMDE2RDAwMEY1ODIxOEU2MzQwMEY1ODNFMDU0REZGMDc4OTZFNjI0Q0UKKzoxMDE2RTAwMEZENzVGMDBBQTQyNDE0RjU4MkU0MzRGQ0Y1ODNBQzgyODEKKzoxMDE2RjAwMEFEODM3OEE2ODY4MzA4ODY4MkVDRjlFREZBN0IwQTc4QkEKKzoxMDE3MDAwMDAxMTIwM0E3QzIwMzc4OTZFNkZDMTIxMTA3N0QwMDdDNDQKKzoxMDE3MTAwMDBCMTIyNTI2MTIzMTY5MjIxMjMwRTZFNDkwRkMzOUYwRDIKKzoxMDE3MjAwMDdEMDI3QzAwMTIyNTI2MTIzMTY5MjIxMjMwRTY3QzAwRUYKKzoxMDE3MzAwMDEyMjVCRjEyMzE2OTIyNzQzQzkwRkJFMEYwNzQzRTkwOTgKKzoxMDE3NDAwMEZCRTBGMEU0OTBGQzI4RjAyMjhEMzU4QzM0RUNCNDAxMDEKKzoxMDE3NTAwMDAyODAwM0QzNDAwMjgwMjhCNDAyMDI4MDAzRDM0MDA4RjEKKzoxMDE3NjAwMEE4MzVDNjI1RTBGNjgwMThCNDA0MDI4MDAzRDM0MDBBRTkKKzoxMDE3NzAwMEE4MzVDNjI1RTAyNUUwRjY4MDA2QTgzNTc2MDA4MDAwNkQKKzoxMDE3ODAwMDIyOEMzQzhEM0JFREZFRUNGRDdGMDE3NTY2MDY3NTY3OTYKKzoxMDE3OTAwMDAwOTBGQzI5MTIwNDZFMTIwMUU2QjQ4MDAyODAwNkQzODgKKzoxMDE3QTAwMDUwMDMwMjE4NDc5MEZDMjkxMjA0ODA5MDAwMDMxMjAxOTQKKzoxMDE3QjAwMEVDNTRGMEI0MzAwMjgwMDNEMzQwNUY5MEZDMjkxMjA0NTMKKzoxMDE3QzAwMDgwOTAwMDA4MTIwMjBFRkFGREVCRkU3RjAxOTBGQzJDQzcKKzoxMDE3RDAwMDEyMDQ2RUVFQ0Q5MDM1NzFGQ0U0OTNGRjc0MDE5M0ZFMUMKKzoxMDE3RTAwMEY5RUZGQTdCMDFFQUZGRTlGRUVDQzM5RUVEOUY0MDI1OEQKKzoxMDE3RjAwMDkwMzU3M0U0OTNGRDc0MDE5M0ZDRURGRUVDRkQ3RjAxRTUKKzoxMDE4MDAwMEVFQ0RGQzkwRkMyRUUwRDM5QzkwRkMyREUwOUQ1MDA1OEQKKzoxMDE4MTAwMDc1NjY4MDgwMzMxMjE5NjU4MDJFQjQ2MDAyODAwM0QzMTAKKzoxMDE4MjAwMDQwMEJBQzNDQUQzQjEyMDc3NzhDNjY4MDFCQjQxMDAzQjkKKzoxMDE4MzAwMEIzNDAxMEMzQjQyMDAzQjM0MDA5QzNCNDQwMDI4MDAzRDMKKzoxMDE4NDAwMEQzNDAwMDc1NjY4MTgwMDA4MDc1QjQ4MTAyODAwM0QzMjcKKzoxMDE4NTAwMDQwNkI5MEZDMjkxMjA0ODA5MDAwMDMxMjAxRUM1NEYwQkMKKzoxMDE4NjAwMEI0MzAwMjgwMDNEMzQwMUQ5MEZDMjkxMjA0ODA5MDAwMDQKKzoxMDE4NzAwMDA4MTIwMjBFRkFGREVCRkU3RjAxOTBGQzJGMTIwNDZFOUYKKzoxMDE4ODAwMDEyMThDRjgwMzZCNDYwMDI4MDAzRDM0MDEzNzUzQTY3RDQKKzoxMDE4OTAwMEU0RjUzOUY1MzhBQzNDQUQzQjEyMDVEMzhDNjY4MDFCQzIKKzoxMDE4QTAwMEI0MTAwM0IzNDAxMEMzQjQyMDAzQjM0MDA5QzNCNDQwMjEKKzoxMDE4QjAwMDAyODAwM0QzNDAwMDc1NjY4MTgwMDA4MDAyODAwMEU1Q0QKKzoxMDE4QzAwMDY2RkM5MEZDMjkxMjA0ODBFQzkwMDAwMjEyMDMxN0FDMTUKKzoxMDE4RDAwMDY3MjI5MEZDMjkxMjA0ODA5MDAwMDQxMjAxRUM2MDA0M0QKKzoxMDE4RTAwMDc0MDE4MDAxRTRBMkUwOTIwMTkwRkMyOTEyMDQ4MEVERDEKKzoxMDE4RjAwMDI0MDNGRDUwMDEwRTkwRkMyQzEyMDQ2RTkwRkMyOTEyNjIKKzoxMDE5MDAwMDA0ODA5MDAwMDUxMjAxRUNGNTY3OTAwMDA0MTIwMUVDRDAKKzoxMDE5MTAwMDU0MEZGQzdENjcxMjE3NDZFNTY3NzAwNDc1NjYwODIyNTAKKzoxMDE5MjAwMDc1NjYwMDc4ODQ3NjAwNzg4NEU2QzM5NTY3NTAzODkwQjEKKzoxMDE5MzAwMEZDMkYxMjA0ODAxMjAxRTZGQzkwRkMyQzEyMDQ4MEVDQjcKKzoxMDE5NDAwMDEyMDMwRjMwMDEwRTkwRkMzMUUwMDRGMDkwRkMzMDcwNzcKKzoxMDE5NTAwMDAzRTAwNEYwNzg4NDA2OTBGQzJFRTAwNEYwOTBGQzJENjcKKzoxMDE5NjAwMDcwMDNFMDA0RjA4MEMwMjI5MEZDMkFFMEZEQTNFMEZDQkMKKzoxMDE5NzAwMEVERkVFQ0ZEN0YwMUVEMjQwQUZENTAwMTBFOTBGQzMyREUKKzoxMDE5ODAwMDEyMDQ2RTkwRkMyOTEyMDQ4MDkwMDAwNDEyMDFFQzU0QTEKKzoxMDE5OTAwMDBGQjQwMTAyODAwM0QzNDAxNzkwRkMzMjEyMDQ4MDBENzMKKzoxMDE5QTAwMEVENzAwMTBFOTBGQzJGMTIwNDZFNzg4ODc2MDE4MDRFNDcKKzoxMDE5QjAwMEI0MDIwMjgwMDNEMzQwMTk5MEZDMzIxMjA0ODBFRDI0NUIKKzoxMDE5QzAwMDAyRkQ1MDAxMEU5MEZDMkYxMjA0NkU3ODg4NzYwMjgwODIKKzoxMDE5RDAwMDJEQjQwNDAyODAwM0QzNDAxOTkwRkMzMjEyMDQ4MEVEMzAKKzoxMDE5RTAwMDI0MDRGRDUwMDEwRTkwRkMyRjEyMDQ2RTc4ODg3NjA0QkEKKzoxMDE5RjAwMDgwMENCNDAwMDI4MDAzRDM0MDAwNzU2NjA4MjI5MEZDN0UKKzoxMDFBMDAwMDI5MTIwNDgwOTAwMDA1MTIwMUVDRjU2Nzc4ODU3NjAwQjQKKzoxMDFBMTAwMDc4ODVFNkMzOTU2NzQwMDMwMjFBQ0Q3ODg2NzYwMDc4MEMKKzoxMDFBMjAwMDg2RTZDMzc4ODg5NjUwNzY5MEZDMkMxMjA0ODAxMjAxQ0EKKzoxMDFBMzAwMEU2RkM5MEZDMzIxMjA0ODkxMjAxRTBGNDVDRkMxMjAxMTUKKzoxMDFBNDAwMEUwRjg5MEZDMkYxMjA0ODBFOEMwRTAxMjAxRTZDOEQwNTQKKzoxMDFBNTAwMEUwQzg1ODRDRkM5MEZDMkMxMjA0ODBFQzEyMDMwRjc4NjgKKzoxMDFBNjAwMDg3RUNGNjkwRkMzMUUwMDRGMDkwRkMzMDcwMDNFMDA0NjkKKzoxMDFBNzAwMEYwMDlFOTcwMDEwQTkwRkMzMjEyMDQ3NzkwRkMyOTEyRjcKKzoxMDFBODAwMDA0ODA5MDAwMDQxMjAxRUMzMEU0MEU5MEZDMkVFMDA0N0YKKzoxMDFBOTAwMEYwOTBGQzJENzAwM0UwMDRGMDc4ODYwNjgwODE3ODg4NTEKKzoxMDFBQTAwMEU2RkRFNEZFRkZFRUNERkM5MEZDMzFFMDJDRjA5MEZDNzYKKzoxMDFBQjAwMDMwRTAzREYwNzg4OEU2RkRFNEZFRkZFRUNERkM5MEZDRTIKKzoxMDFBQzAwMDM0RTAyQ0YwOTBGQzMzRTAzREYwNzg4NTA2MDIxQTBERUUKKzoxMDFBRDAwMDc1NjYwMDIyRTUzRDA1M0QwNDcwMDJCMkIwMjJDMEUwMEIKKzoxMDFBRTAwMEMwRjBDMDgyQzA4M0MwRDBFOEMwRTBFOUMwRTBFQUMwNzYKKzoxMDFBRjAwMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZDMEUwNDUKKzoxMDFCMDAwMDkwRkY5MkUwMTIwMUI3MUIyOTMwMUIyOTMyMUIzODM4OTUKKzoxMDFCMTAwMDFCNEEzQTFCNUMzRTFCNzQ0NDFCNjg0NjFCODA1MDFCQ0YKKzoxMDFCMjAwMEMyNTIxQkExNTQxQkUzNTYwMDAwMUMwNDkwRkY5MkUwMUMKKzoxMDFCMzAwMDdGMDBGRTdDMDExMjMxRkIwMjFDMTRFNEZGMDRGRTdDREEKKzoxMDFCNDAwMDAzMTIzMUZCNzQyMDkwRkZGRUYwMDIxQzE0RTRGRjA0MkEKKzoxMDFCNTAwMEZFN0MwMjEyMzFGQjc0NDA5MEZGRkVGMDAyMUMxNEU0ODQKKzoxMDFCNjAwMEZGMDRGRTdDMDQxMjMxRkIwMjFDMTRFNEZGMDRGRTdDMjMKKzoxMDFCNzAwMDA1MTIzMUZCMDIxQzE0RTRGRjA0RkU3QzA2MTIzMUZCNEIKKzoxMDFCODAwMDAyMUMxNDkwRkZBNUUwN0QwMDkwRkJGOENERjBBM0NERTIKKzoxMDFCOTAwMEYwOTBGQkY5RTBGQ0Y1ODM5MEZCRjhFMDQ0MzNGRDEyOTQKKzoxMDFCQTAwMDFDQTc4MDczOTBGRkI1RTA3RDAwOTBGQkZBQ0RGMEEzRjkKKzoxMDFCQjAwMENERjA5MEZCRkJFMEZDRjU4MzkwRkJGQUUwNDQ0M0ZEQTUKKzoxMDFCQzAwMDEyMUNBNzgwNTI5MEZGQTZFMDdEMDA5MEZCRkNDREYwOTgKKzoxMDFCRDAwMEEzQ0RGMDkwRkJGREUwRkNGNTgzOTBGQkZDRTA0NDM0RUEKKzoxMDFCRTAwMEZEMTIxQ0E3ODAzMTkwRkZCNkUwN0QwMDkwRkJGRUNEN0EKKzoxMDFCRjAwMEYwQTNDREYwOTBGQkZGRTBGQ0Y1ODM5MEZCRkVFMDQ0MEEKKzoxMDFDMDAwMDQ0RkQxMjFDQTc4MDEwOTBGRjkyRTA3RDAwRkNFRDQ0ODMKKzoxMDFDMTAwMEFBRkQxMjFDQTc4MDAwRTQ5MEZGOTJGMEQwRTBGRkQwNTQKKzoxMDFDMjAwMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMEUwRkFEMEUwNzgKKzoxMDFDMzAwMEY5RDBFMEY4RDBEMEQwODNEMDgyRDBGMEQwRTAzMjA1MTcKKzoxMDFDNDAwMDgxMDU4MTA1ODEwNTgxQTg4MTE4MTgxOEVERjYwOEVDMzkKKzoxMDFDNTAwMEY2OTBGRjVBRTAyMEU3MDI4MEY3OTBGRjU5RTA3RDAwMDAKKzoxMDFDNjAwMEE4ODExOENERjZDRDA4RjY3RDAzQTg4MUU2MThGQ0U2MUMKKzoxMDFDNzAwMENDMjVFMENDMzNDQ0RERjlDQ0Y2Q0MwOEY2QTg4MTE4MjUKKzoxMDFDODAwMEU2NDRGOEY2QTg4MTE4MTgxOEU2RkQwOEU2RkNBODgxRDUKKzoxMDFDOTAwMDE4ODY4MzA4ODY4MkVERjBBM0VDRjA3NDAyOTBGRjVBNTgKKzoxMDFDQTAwMEYwMTU4MTE1ODExNTgxMTU4MTIyRTU4MTI0MDVGNTgxQzUKKzoxMDFDQjAwMEU0QTg4MTE4RjZBODgxMTgxODE4MThFREY2MDhFQ0Y2QjMKKzoxMDFDQzAwMDkwRkJGNUUwMjRGODUwMDMwMjFEQzhFNEE4ODExODE4MjEKKzoxMDFDRDAwMEY2QTg4MTE4RTZGRUE4ODExODE4MTgxOEU2RkQwOEU2OEYKKzoxMDFDRTAwMEZDN0YwMEVGMjRGODQwNERFNEVGMjVFMDI0N0RGNTgyRjEKKzoxMDFDRjAwMEU0MzRGQ0Y1ODNFMEZCQTNFMDZDNzAwM0ZBRUI2RDcwNTkKKzoxMDFEMDAwMDA5NzQwMUE4ODExODE4RjY4MDJCRTRFRjI1RTAyNDdERTIKKzoxMDFEMTAwMEY1ODJFNDM0RkNGNTgzN0EwMEUwNTRGMENDRjhDQ0NEQzUKKzoxMDFEMjAwMEY5Q0RGQjc4MDBFOTU0RjBGOUVBNjg3MDAyRUI2OTcwQ0MKKzoxMDFEMzAwMDAxMEUwRjgwQUVBODgxMThFRUY2QTg4MTE4MTgxODE4QTkKKzoxMDFENDAwMEVERjYwOEVDRjZBODgxRUZGNkE4ODExODE4RTY3MDc5OTAKKzoxMDFENTAwMEE4ODExOEU2MjRGNzQwNzFBODgxMTgxODE4MThFNjU0Q0QKKzoxMDFENjAwMDBGQTg4MUY2NjQwNDYwMTdBODgxRTY2NDAzNjAxMEE4RDgKKzoxMDFENzAwMDgxMTgxODE4MThFNkZEMDhFNkZDMTIxQzNDODA0QTdDMDUKKzoxMDFEODAwMDBBMTIzMTVCQTg4MTE4MTgxODE4RTZGRDA4RTZGQzkwQzUKKzoxMDFEOTAwMEZCRjRFMDI1RTAyNDdERjU4MkU0MzRGQ0Y1ODNFREYwRUUKKzoxMDFEQTAwMEEzRUNGMDkwRkJGNEUwRkZFNEVGMDQ1NDA3RkY5MEZCOUEKKzoxMDFEQjAwMEY0RjA5MEZCRjVFMDA0RjAxMjMxRjQ5MEZCRjZFMDcwRTMKKzoxMDFEQzAwMDA4RTRGRUZGN0MwRjEyMzFGQjgwMjc5MEZCRjdFMDA0NTQKKzoxMDFERDAwMEYwNTQzRjcwMUQ5MEZCRjdFMDQ0RkU3RDAwRkM5MEZCNEIKKzoxMDFERTAwMEY0RTAyNUUwMjQ3REY1ODJFNDM0RkNGNTgzRURGMEEzRjYKKzoxMDFERjAwMEVDRjBFNTgxMjRGQkY1ODEyMjc4OEI3NjAwNzg4Qzc2RjcKKzoxMDFFMDAwMDAwNzQwMTkwRkJGNkYwMTIzMEU2OTBGQkY1RTA2MDU3QUQKKzoxMDFFMTAwMDdDMEExMjMxNUI5MEZCRjNFMDI1RTAyNDdERjU4MkU0M0YKKzoxMDFFMjAwMDM0RkNGNTgzRTBGREEzRTBGQzkwRkJGM0UwMjVFMDI0MjcKKzoxMDFFMzAwMDdERjU4MkU0MzRGQ0Y1ODNFNEYwQTNGMDkwRkJGM0UwNUQKKzoxMDFFNDAwMEZGRTRFRjA0NTQwN0ZGOTBGQkYzRjA5MEZCRjVFMDE0ODAKKzoxMDFFNTAwMEYwNzg4OUVERjYwOEVDRjYxMjMxRjQ3ODg5RTZGRDA4QTEKKzoxMDFFNjAwMEU2RkMxMjA4REE4MEEzMTIzMjQ4OTBGRjkzRTA0NDAxQTYKKzoxMDFFNzAwMEYwQjJCMzc4OEIwNkI2MDAxMTc4OEI3NjAwNzg4Q0U2REEKKzoxMDFFODAwMEY0MDQwNEEyRTA5MkI0Nzg4Q0Y2MDIxRTA3RTQ5MEZCRkUKKzoxMDFFOTAwMEY2RjA5MEZCRjVFMDdEMDBGQ0VENDRDRkZEMTIxQzNDMUMKKzoxMDFFQTAwMDEyMzE2OTIyMTIzMEU2RTU3MDY0NDk0NTZGNjAxNTkwODEKKzoxMDFFQjAwMEZGODNFMDU0MEY3RDAwRDM5NTcwRUQ5NTZGNTAwNTEyQjAKKzoxMDFFQzAwMDJGMkY4MDAzMTIyRkZGMTIzMTY5MjIxMjMwRTZFNTcwQTYKKzoxMDFFRDAwMDY0NDk0NTZGNjAwNTEyMzAzOTgwMEU5MEZGODBFMDQ0MDAKKzoxMDFFRTAwMDA4RjA5MEZGODNFMDU0N0ZGMDEyMzE2OTIyMTIzMEU2NEYKKzoxMDFFRjAwMDhDNTRFQzU0RjBCNDEwMTU3NTZBMzU3NTY5RkM3NTY4MkUKKzoxMDFGMDAwMDAxRTU2QTI0MDNGNTZBRTU2OTM0MDBGNTY5RTRGNTU3RUIKKzoxMDFGMTAwMEY1NTZFNTU2QzM5NDAxNTAyN0U1NTQ1NDBGRkNBRDZBQkQKKzoxMDFGMjAwMEFFNjlBRjY4MTIwRTc3OEM1NUVDNjAwMjgwMTIwNTZBQkMKKzoxMDFGMzAwMEU1NkE3MDAyMDU2OTA1NTdFNTU3NzAwMjA1NTY4MEQyQkIKKzoxMDFGNDAwMEU1NTQ1NDBGMjQ5REY4QzY1NEZFRjZFNTU0NTQwRjdGMTMKKzoxMDFGNTAwMDAwRkU3QzEyMTIzMUZCRTU1NTE0NzAwOTdEMDA3QzA5RUUKKzoxMDFGNjAwMDEyMjUyNjgwMDdBRDU3N0MwMDEyMjUyNjEyMzE2OTIyRTIKKzoxMDFGNzAwMDEyMzBFNjkwRkZGQ0UwNDQwMkYwOTBGRjAwRTAzMEU3MTIKKzoxMDFGODAwMDEzOTBGRjgzRTA0NDgwRjA0MzZEODA5MEZGRkNFMDQ0QjkKKzoxMDFGOTAwMDAxRjA4MDExOTBGRjgyRTA0NDA4RjA1MzZEN0Y5MEZGQzQKKzoxMDFGQTAwMEZDRTA1NEZFRjA5MEZGODFFMDQ0ODBGMDEyMjVEOTkwQ0YKKzoxMDFGQjAwMEZGRkVFMDQ0MDVGMDkwRkZGQ0UwNTRGREYwMTIzMTY5QjMKKzoxMDFGQzAwMDIyMTIzMEU2N0MwMTEyMzJBOTc4QURFNjQ0MDJGNjc0QTIKKzoxMDFGRDAwMEZFRkMwNEZEMTIxQ0E3OTBGRjVBRTAzMEU3MDI4MEY3RDgKKzoxMDFGRTAwMEU0RjU0RTc1NEQxMEFDNEVBRDRERTU0RTE1NEU3MDAyRkMKKzoxMDFGRjAwMDE1NERFQzRENjAwMjgwRUU0Mzg3MDExMjMxNjkyMjEyQ0IKKzoxMDIwMDAwMDMwRTY3QzAyMTIzMTc1NzhBREU2NTRGREY2MTIzMTY5ODYKKzoxMDIwMTAwMDIyMTIzMEU2NzhBREU2MzBFMDJDNzhBREU2MzBFMTI2RUQKKzoxMDIwMjAwMDc4QURFNkZDRjU4MzE4RTY0NEYwRkQxMjFDM0M5MEZGMDkKKzoxMDIwMzAwMEZDRTA0NDIwRjA3QzAyMTIzMkE5NzhBREU2NTRGREY2QjMKKzoxMDIwNDAwMDc0MUE5MEZGRkVGMDc4QURFNkZDRjU4MzE4RTY0NEYxRDMKKzoxMDIwNTAwMEZEMTIxQzNDMTIzMTY5MjI3NTZEMDA5MEZGRkZFMDYwOUIKKzoxMDIwNjAwMDAzNDM2RDAxNzU2RTAwRTRGNTZDRjU2QkU0RjU2Rjc1NzcKKzoxMDIwNzAwMDcwNDk3NDg0OTBGRjgyRjA3NDg0OTBGRjgwRjA3NDgwQzMKKzoxMDIwODAwMDkwRkY1OEYwNzQ4MDkwRkY1QUYwQUQ0NkFGNDU3RTAwNDcKKzoxMDIwOTAwMEVFMjRGRTUwMDMwMjIxMjRFNEVFNzVGMDA3QTQyNDdGMTEKKzoxMDIwQTAwMEY1ODJFNDM0RjhGNTgzRTBGRkU0RUY1NDgwRkRFNEVGREIKKzoxMDIwQjAwMDU0MEYxNEZGRUQ2MDM4RTRFRjc1RjAwOEE0MjQ0OEY1RTAKKzoxMDIwQzAwMDgyRTQzNEZGRjU4Mzc0OTBGMEU0RUY3NUYwMDhBNDI0MDMKKzoxMDIwRDAwMDRBRjU4MkU0MzRGRkY1ODM3NDgwRjBFNEVGNzVGMDA4OEMKKzoxMDIwRTAwMEE0MjQ0RUY1ODJFNDM0RkZGNTgzNzQ4MEYwODAzNEU0NTgKKzoxMDIwRjAwMEVGNzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1ODM3NDkwQUEKKzoxMDIxMDAwMEYwRTRFRjc1RjAwOEE0MjQwQUY1ODJFNDM0RkZGNTgzQzcKKzoxMDIxMTAwMEU0RjBFNEVGNzVGMDA4QTQyNDBFRjU4MkU0MzRGRkY1NTIKKzoxMDIxMjAwMDgzRTRGMDBFMDIyMDhEOEQ0NjhFNDQ4RjQ1NzQ3RjkwOUYKKzoxMDIxMzAwMEZGRkRGMDc0OTA5MEZGRkNGMDIyOEM1OEVDMjRGNjUwRDgKKzoxMDIxNDAwMDA2RTU1ODI0MzdGQzIyRTU1ODI0MzBGQzIyMTIyNTIzQ0EKKzoxMDIxNTAwMEVDNzAwMzAyMjI1RTc1NUMwM0FFNUI3RjAwRTU1QzE1RUMKKzoxMDIxNjAwMDVDNjQ4MDI0N0Y1MDM1RUYyNDAwRjU4MkU0MzRGQkY1NzUKKzoxMDIxNzAwMDgzRTBGRTI0RkU1MDFFRUY3RDAwRkNFNEZCNzQ3NEMzN0MKKzoxMDIxODAwMDlDRkFFQjlERkJFRTdEMDBGQ0VBQzM5Q0VENjQ4MENCRUEKKzoxMDIxOTAwMDY0ODA5QjUwMDI4MDA1RUYyRUZGODBDMThFNUI4RjVBQkEKKzoxMDIxQTAwMEU1NUM2NDgwMjQ3RjUwMDMwMjIyNUVFNTVBMjQ4RTUwNTEKKzoxMDIxQjAwMDAzMDIyMjVFODU1QTVENzU1QjAwQUU1QUFGNUI5MDM1QjcKKzoxMDIxQzAwMDlDRTQ5M0Y1NUNFNTVDMTU1QzY0ODAyNDdGNTAxOEVFMUMKKzoxMDIxRDAwMDI0MDBGNTgyRTQzNEZCRjU4M0UwRkNFRjkwMzU5QzkzMUEKKzoxMDIxRTAwMDZDNzAwNDBFMEY4MERFOEU1QThGNUJFNTVDNjQ4MDI0NzkKKzoxMDIxRjAwMDdGNDA2RTc1NUUwMTc1NjBFODc1NUZGRkU1NUQyNDAyRTYKKzoxMDIyMDAwMEY1NUE3NTVDMDdFNTVDMzM0MDU3QUQ2MEFFNUZBRjVFNzUKKzoxMDIyMTAwMEU1NUNGNTgyMzM5NUUwRjU4MzEyMDFFQ0M0NTQwRkZDQzQKKzoxMDIyMjAwMDEyMjEzN0U1NUEyNDAwRjU4MkU0MzRGQkY1ODNFQ0YwMDMKKzoxMDIyMzAwMDA1NUEwNTVBQUQ2MEFFNUZBRjVFRTU1Q0Y1ODIzMzk1MzkKKzoxMDIyNDAwMEUwRjU4MzEyMDFFQzU0MEZGQzEyMjEzN0U1NUEyNDAwMEIKKzoxMDIyNTAwMEY1ODJFNDM0RkJGNTgzRUNGMDA1NUEwNTVBMTU1QzgwRjEKKzoxMDIyNjAwMEE0NzQwMjkwRjg1MUYwOTBGODZCNzk3NTdBMzU3QjI3NTkKKzoxMDIyNzAwMDc4MDExMjAzRjU3NTZBMzU3NTY5RkM3NTY4MDFFNDkwOUIKKzoxMDIyODAwMEZGODNGMDc0ODA5MEZGODFGMDc1NTkwMkU1NTk3NUYwNzUKKzoxMDIyOTAwMDA3QTQyNDdGRjU4MkU0MzRGOEY1ODNFMDc4OEZGNkZDMTgKKzoxMDIyQTAwMDU0MEYxNEZDNzg4RkVDRjZFNTU5NzVGMDA3QTQyNDgxREYKKzoxMDIyQjAwMEY1ODJFNDM0RjhGNTgzRTA3ODkyNzZGRDA4NzZFOEZDNjAKKzoxMDIyQzAwMDc4OEZFNjc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzOUUKKzoxMDIyRDAwMEU0RjA3ODhGRTY3NUYwMDhBNDI0NEZGNTgyRTQzNEZGMkIKKzoxMDIyRTAwMEY1ODNFQ0YwNzg5MkU2RkYwOEU2N0UwM0NGQzMxM0NGQzgKKzoxMDIyRjAwMDEzREVGOUZFNzg4RkU2NzVGMDA4QTQyNDQ5RjU4MkU0MzAKKzoxMDIzMDAwMDM0RkZGNTgzRUVGMDc4OEZFNjc1RjAwOEE0MjQ0QUY1RTMKKzoxMDIzMTAwMDgyRTQzNEZGRjU4Mzc0ODBGMDc4OTBFQ0Y2N0QwMDc4RTkKKzoxMDIzMjAwMDkzRTYyQ0Y2MThFNjNERjY3ODkyRTZGRDA4RTY3QzAzODcKKzoxMDIzMzAwMENEQzMxM0NEMTNEQ0Y5RkM3ODhGRTY3NUYwMDhBNDI0MjcKKzoxMDIzNDAwMDRERjU4MkU0MzRGRkY1ODNFQ0YwNzg4RkU2NzVGMDA4MDQKKzoxMDIzNTAwMEE0MjQ0RUY1ODJFNDM0RkZGNTgzRTRGMDc4OTJFNkZEQTAKKzoxMDIzNjAwMDA4RTZGQzc4OEZFNkZGN0UwMEVFMjRGRTUwMDMwMjI0OTAKKzoxMDIzNzAwMERERTRFRTc1RjAwN0E0MjQ3RkY1ODJFNDM0RjhGNTgzRkMKKzoxMDIzODAwMEUwRkZFNEVGNTQ4MEZBRTRFRjU0MEYxNEZGRTRFRTc1M0QKKzoxMDIzOTAwMEYwMDdBNDI0ODFGNTgyRTQzNEY4RjU4M0UwNzg5MEY2MjAKKzoxMDIzQTAwMEU0RUUxMzEzNTQ4MDI0RjBGOEU0MzRGREY5RThGQ0U5N0EKKzoxMDIzQjAwMEZEOEE1QUVBNzAwMzAyMjQ0QUU0RUY3NUYwMDhBNDI0NjcKKzoxMDIzQzAwMDQ4RjU4MkU0MzRGRkY1ODNFNEYwNzg5MEU2RkFFNEVGMzAKKzoxMDIzRDAwMDc1RjAwOEE0MjQ0RkY1ODJFNDM0RkZGNTgzRUFGMEVEQUMKKzoxMDIzRTAwMEZCRUM3QTAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDUKKzoxMDIzRjAwMDA4QTQyNDQ5RjU4MkU0MzRGRkY1ODNFQUYwNzg5MEU2RjYKKzoxMDI0MDAwMDdCMDBGQUVDMkFGQ0VEM0JGREZCRUM3QTAzQ0JDMzEzMUIKKzoxMDI0MTAwMENCMTNEQUY5RkFFNEVGNzVGMDA4QTQyNDRERjU4MkU0NjEKKzoxMDI0MjAwMDM0RkZGNTgzRUFGMEU0RUY3NUYwMDhBNDI0NEFGNTgyNUUKKzoxMDI0MzAwMEU0MzRGRkY1ODM3NDgwRjBFNEVGNzVGMDA4QTQyNDRFRDMKKzoxMDI0NDAwMEY1ODJFNDM0RkZGNTgzNzQ4MEYwMDIyNEQ5RTRFRjc1NUIKKzoxMDI0NTAwMEYwMDhBNDI0MDhGNTgyRTQzNEZGRjU4M0U0RjA3ODkwRDIKKzoxMDI0NjAwMEU2RkFFNEVGNzVGMDA4QTQyNDBGRjU4MkU0MzRGRkY1RjIKKzoxMDI0NzAwMDgzRUFGMEVERkJFQzdBMDNDQkMzMTNDQjEzREFGOUZBNjIKKzoxMDI0ODAwMEU0RUY3NUYwMDhBNDI0MDlGNTgyRTQzNEZGRjU4M0VBNEIKKzoxMDI0OTAwMEYwNzg5MEU2N0IwMEZBRUMyQUZDRUQzQkZERkJFQzdBNTEKKzoxMDI0QTAwMDAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNDI0RDUKKzoxMDI0QjAwMDBERjU4MkU0MzRGRkY1ODNFQUYwRTRFRjc1RjAwOEE0NEIKKzoxMDI0QzAwMDI0MEFGNTgyRTQzNEZGRjU4M0U0RjBFNEVGNzVGMDA4QzQKKzoxMDI0RDAwMEE0MjQwRUY1ODJFNDM0RkZGNTgzRTRGMDBFMDIyMzY2QjMKKzoxMDI0RTAwMDhFNTk3ODkyRURGNjA4RUNGNjc4OEZFRkY2MTIyMDU1QkIKKzoxMDI0RjAwMDIyOEMyNkVDMzBFNzE4RTUyNjU0MEYxNDc1RjAwOEE0NUEKKzoxMDI1MDAwMDI0NDhGNTgyRTQzNEZGRjU4M0UwNTRERkYwODAxNkU1REIKKzoxMDI1MTAwMDI2NTQwRjE0NzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1NUUKKzoxMDI1MjAwMDgzRTA1NERGRjAyMjdDMDAyMkVDOTBGQzM3RjA4QzI0MTYKKzoxMDI1MzAwMEVEMjQwM0Y1MjU3RDAwRDM5NTcyRUQ5NTcxNDAwMzg1NUIKKzoxMDI1NDAwMDcyMjVFNTI1MjRCNzUwMDk3NTI1MDM3NDAyOTBGQzM3RTAKKzoxMDI1NTAwMEYwQUMyNTEyMzAyNDIyRTRGNTZDRjU2QjEyMjU1RDIyRDcKKzoxMDI1NjAwMDkwRkMzNUUwNjU3MzYwMEU3NDA0OTBGQzM3RjBFNEY1ODAKKzoxMDI1NzAwMDZCNzU2QzAzODA0NjdENzNFNEZFRkY3OTM1N0FGQzdCRDYKKzoxMDI1ODAwMDAxNzQwNTc4MDAxMjAzM0ZFNTZDMjQwM0Y1NkNFNTZCREMKKzoxMDI1OTAwMDM0MDBGNTZCRTU2Q0QzOTU3MkU1NkI5NTcxNDAwNjg1NUIKKzoxMDI1QTAwMDcyNkM4NTcxNkJEM0U1NkM5NDQ4RTU2Qjk0MDA0MDBDQkMKKzoxMDI1QjAwMDc0MDI5MEZDMzdGMEU0RjU2Qjc1NkMwM0FDNkMxMjMwNzAKKzoxMDI1QzAwMDI0MjJFQzkwRkMzN0YwRTRGNTZDRjU2QjhDMzJFQzYwNzcKKzoxMDI1RDAwMDA1MTIzMDE1ODAwNTdDMDAxMjMwMjQyMjkwRkY5M0UwMTQKKzoxMDI1RTAwMDQ0MDFGMEIyQjM5MEZGMDRFMEY1NEE5MEZGMDZFMEZEMkQKKzoxMDI1RjAwMEEzRTBFRDdEMDBGQzdEMDBGQzkwRkYwNkUwRkZBM0UwODIKKzoxMDI2MDAwMDdFMDBGRkU0RkVFQzRFRkNFRDRGRkRDM0VDOTQ0OEVEODQKKzoxMDI2MTAwMDk0MDA1MDIyOTBGRjA2RTBGREEzRTBFRDdEMDBGQzdEREMKKzoxMDI2MjAwMDAwRkM5MEZGMDZFMEZGQTNFMDdFMDBGRkU0RkVFQzRFMUUKKzoxMDI2MzAwMEZDRUQ0RkZEODAwNEU0RkQ3QzQ4OEM3MjhENzE5MEZGQjEKKzoxMDI2NDAwMDAyRTBGREEzRTBFRDdEMDBGQzdEMDBGQzkwRkYwMkUwRDgKKzoxMDI2NTAwMEZGQTNFMDdFMDBGRkU0RkVFQzRFRjU0Q0VENEZGNTRCQTIKKzoxMDI2NjAwMDc1NkEzNTc1NjlGQzc1NjgwMTdEMzU3RUZDN0YwMTc5NzkKKzoxMDI2NzAwMDczRTRGQUZCNzQwNTc4MDAxMjAzM0Y3NTQ5MDBFNTQ5REQKKzoxMDI2ODAwMDI0RkU0MDE5QUQ2QUFFNjlBRjY4RTQxMjAzMEYwNTQ5MzQKKzoxMDI2OTAwMDBERUQ3MDAxMEU4RDZBOEU2OThGNjg4MEUxNzU2QTM1NjcKKzoxMDI2QTAwMDc1NjlGQzc1NjgwMTkwRkYwMEUwNTQ2MEI0MDAwMjgwMTkKKzoxMDI2QjAwMDA2RDM1MDAzMDIyQzZERTU0QTU0MEZGNTQ5RTU0QTU0MDAKKzoxMDI2QzAwMDgwQTJFMDkyMDI5MEZGMDFFMDEyMDE4MTAwMEIyQzY4RDEKKzoxMDI2RDAwMDI2RTUyODAzMkM2ODI5MEYyQzY4MjlGMjJBMjYyQjhENDEKKzoxMDI2RTAwMDJCOTAyQkQwMkMxMTJDM0ZFNTZEMzBFNzBFRTU0QzQ1OUYKKzoxMDI2RjAwMDRCNzAwOEU1NzI2NDAyNDU3MTYwMDMwMjJDNkE5MEZGMUEKKzoxMDI3MDAwMDAwRTA1NDFGQjQwMDAyODAwM0QzNDAyOUU1NEE2MDAzNkYKKzoxMDI3MTAwMDAyMjgwMEFENkFBRTY5QUY2ODc0MDExMjAzMEY3OEFEOEMKKzoxMDI3MjAwMEU2MzBFMDBCQUQ2QUFFNjlBRjY4NzQwMjEyMDMwRjdDNEQKKzoxMDI3MzAwMDAyMTIzMDI0MjJCNDAxMDI4MDAzRDM0MDFCRTU2RDIwMzUKKzoxMDI3NDAwMEUxMDdFNTRBNjAwMzAyMjgwMEU1NEEyNEZFNTAwMzAyM0YKKzoxMDI3NTAwMDI4MDA3QzAyMTIzMDI0MjJCNDAyMDI4MDA2RDM1MDAzRTcKKzoxMDI3NjAwMDAyMjdGRUU1NkQyMEUxMERFNTRBNjAwOUU1NEE2NDgwMzcKKzoxMDI3NzAwMDYwMDMwMjI4MDBBQzRBMTIzMEFCNDAwMzAyMjgwMEU1OTcKKzoxMDI3ODAwMDQ5NzAyNTMwMDIxMTkwRkY4MEUwNTQwOEFENkFBRTY5QUYKKzoxMDI3OTAwMEFGNjgxMjAzMEY4MDBGOTBGRjgyRTA1NDA4QUQ2QUFFNUQKKzoxMDI3QTAwMDY5QUY2ODEyMDMwRjgwM0QxNTQ5MzAwMjFERTU0OTc1NzgKKzoxMDI3QjAwMEYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0UwNTQwOEFEMjIKKzoxMDI3QzAwMDZBQUU2OUFGNjgxMjAzMEY4MDFCRTU0OTc1RjAwOEE0NzMKKzoxMDI3RDAwMDI0MDhGNTgyRTQzNEZGRjU4M0UwNTQwOEFENkFBRTY5NUQKKzoxMDI3RTAwMEFGNjgxMjAzMEZBRDZBQUU2OUFGNjgxMjAxRTY2MDBCMDUKKzoxMDI3RjAwMEFENkFBRTY5QUY2ODc0MDExMjAzMEY3QzAyMTIzMDI0MTcKKzoxMDI4MDAwMDIyODAwMDAyMkM2QUU1NkQyMEU3MDZFNTcyNDU3MTYwQzIKKzoxMDI4MTAwMDAzMDIyQzZBOTBGRjAwRTA1NDFGQjQwMDAyODAwM0QzMkYKKzoxMDI4MjAwMDQwMUFFNTRDMTQ0NTRCNzAwNEU1NEE2MDAzMDIyOTBDM0MKKzoxMDI4MzAwMDc4QURFNjU0RkVGNjdDMDAxMjMwMjQyMkI0MDEwMjgwMEEKKzoxMDI4NDAwMDAzRDM0MDJBRTU2RDIwRTEwOEU1NkQyMEUwMDMwMjI5NkQKKzoxMDI4NTAwMDBDRTU2RDMwRTAwNEU1NEE3MDBCRTU2RDMwRTEwOUU1MEIKKzoxMDI4NjAwMDRBMjRGRTUwMDMwMjI5MEM3QzAwMTIzMDI0MjJCNDAyQjgKKzoxMDI4NzAwMDAyODAwNkQzNTAwMzAyMjkwQUU1NEM0NTRCNjAwMzAyNEYKKzoxMDI4ODAwMDI5MENBQzRBMTIzMEFCNDAwMzAyMjkwQ0U1NkQyMEUxNjMKKzoxMDI4OTAwMDA3RTU2RDIwRTAwMjgwNzdFNTZEMzBFMDA2RTU0OTYwRjAKKzoxMDI4QTAwMDAyODA2Q0U1NDk3MDBGOTBGRjgyRTA1NEY3RjA5MEZGRDIKKzoxMDI4QjAwMDgwRTA1NEY3RjAyMkU1NDlCNDAxMDI4MDAzRDM0MDA5RDcKKzoxMDI4QzAwMDdEMDE3QzAzMTIwRjA5ODAxMUI0MDIwMjgwMDNEMzQwMDIKKzoxMDI4RDAwMDA5N0QwMTdDMDQxMjBGMDk4MDAwMTU0OTMwMDIxNUU1QkQKKzoxMDI4RTAwMDQ5NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODNFMDU0RTgKKzoxMDI4RjAwMEY3RjA4MDEzRTU0OTc1RjAwOEE0MjQwOEY1ODJFNDM0NjQKKzoxMDI5MDAwMEZGRjU4M0UwNTRGN0YwN0MwMDEyMzAyNDIyODAwMDAyQUYKKzoxMDI5MTAwMDJDNkFFNTZEMjBFNzA2RTU3MjQ1NzE2MDAzMDIyQzZBQkEKKzoxMDI5MjAwMDkwRkYwMEUwNTQxRkI0MDAwMjgwMDNEMzQwMUFFNTRDMkUKKzoxMDI5MzAwMDE0NDU0QjcwMDRFNTRBNjAwMzAyMjlFRjc4QURFNjQ0ODQKKzoxMDI5NDAwMDAxRjY3QzAwMTIzMDI0MjJCNDAxMDI4MDAzRDM0MDI5MTYKKzoxMDI5NTAwMEU1NkQyMEUxMDhFNTZEMjBFMDAzMDIyOUVGRTU2RDMwMkIKKzoxMDI5NjAwMEUwMDRFNTQ5NzAwQkU1NkQzMEUxMDhFNTQ5MjRGRTUwQ0YKKzoxMDI5NzAwMDAyODA3RjdDMDAxMjMwMjQyMkI0MDIwMjgwMDNEMzQwMDQKKzoxMDI5ODAwMDZGRTU0QzQ1NEI2MDAyODA2OUFDNEExMjMwQUI0MDAyQTcKKzoxMDI5OTAwMDgwNjBFNTZEMjBFMTA3RTU2RDIwRTAwMjgwNTRFNTQ5QTcKKzoxMDI5QTAwMDcwMTQzMDAyMDk5MEZGODBFMDQ0MDhGMDgwMDc5MEZGMjcKKzoxMDI5QjAwMDgyRTA0NDA4RjAyMkU1NkQzMEUxMzMxNTQ5MzAwMjE1MUMKKzoxMDI5QzAwMEU1NDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0UwNzYKKzoxMDI5RDAwMDQ0MDhGMDgwMTNFNTQ5NzVGMDA4QTQyNDA4RjU4MkU0NjIKKzoxMDI5RTAwMDM0RkZGNTgzRTA0NDA4RjA3QzAwMTIzMDI0MjI4MDAyOUEKKzoxMDI5RjAwMDgwMDAwMjJDNkFFNTZEMjBFNzEyRTU3MjQ1NzE3MDBDQ0IKKzoxMDJBMDAwMEU1NEE3MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkM2QUU1NUQKKzoxMDJBMTAwMDRDOTBGRkZGRjA5MEZGRkZFMDYwMDU0MzZEMDE4MDAzRTUKKzoxMDJBMjAwMDUzNkRGRTdDMDAxMjMwMjQyMkU1NkQzMEU3MEVFNTcyMTYKKzoxMDJBMzAwMDQ1NzE2MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkM2QUFERUUKKzoxMDJBNDAwMDRCRTU0Q0VEN0QwMEZDN0QwMEZDQkQwMDAyODAwMzAyRTcKKzoxMDJBNTAwMDJCODhCNDAxMDI4MDAzRDM0MDMyRTU0QTcwMDVFNTRDNkYKKzoxMDJBNjAwMEZDNjAwMzAyMkI4QTc1NkE0MDc1NjlGODc1NjgwMUQzQUEKKzoxMDJBNzAwMEU1NzI5NDEyRTU3MTk0MDA0MDA2RTRGRDdDMTI4MDA0MzYKKzoxMDJBODAwMEFDNzJBRDcxOEM3MDhENkYxMjMwMzkyMkI0MDIwMjgwM0QKKzoxMDJBOTAwMDAzRDM0MDU5RTU0QTYwMDMwMjJCOEFFNTRDRkM3MDI3QkEKKzoxMDJBQTAwMDc1NkE1Mjc1NjlGODc1NjgwMUQzRTU3Mjk0MTlFNTcxMTQKKzoxMDJBQjAwMDk0MDA0MDA2RTRGRDdDMTk4MDA0QUM3MkFENzE4QzcwMEEKKzoxMDJBQzAwMDhENkYxMjMwMzk4MDI1NzU2QTZCNzU2OUY4NzU2ODAxRUMKKzoxMDJBRDAwMEQzRTU3Mjk0MjdFNTcxOTQwMDQwMDZFNEZEN0MyNzgwREQKKzoxMDJBRTAwMDA0QUM3MkFENzE4QzcwOEQ2RjEyMzAzOTIyQjQwMzAyNTgKKzoxMDJBRjAwMDgwMDZEMzUwMDMwMjJCODhFNTRDRjU0OTcwMEY5MEZGRjgKKzoxMDJCMDAwMDA0RTBGREEzRTA0RDYwMDMwMjJCOEE4MDE4OTBGQjAyRDUKKzoxMDJCMTAwMEUwRkRBM0UwRkM5MEZGMDVFMDZDNzAwNzkwRkYwNEUwOEYKKzoxMDJCMjAwMDZENjAwMjgwNjhFNEY1NzBGNTZGN0YwMEU1NDkxNEM1QkIKKzoxMDJCMzAwMDQ5NjAwRkVGMjQwMEY1ODJFNDM0RkJGNTgzRTAyRkZGQkEKKzoxMDJCNDAwMDgwRUE4RjRBRTU0QTI0MDBGNTgyRTQzNEZCRjU4M0UwMEQKKzoxMDJCNTAwMDdEMDBEMzk1NzJFRDk1NzE0MDA2QUM3MkFENzE4MDBGMUEKKzoxMDJCNjAwMEU1NEEyNDAwRjU4MkU0MzRGQkY1ODNFMDdEMDBGQzhDMkIKKzoxMDJCNzAwMDcwOEQ2RkU1NEEyNDAwRkNFNDM0RkJGREZFRUNGRDdGMjQKKzoxMDJCODAwMDAxOEQ2QThFNjk4RjY4MTIzMDM5MjI4MDAwMDIyQzZBQUEKKzoxMDJCOTAwMDAyMkM2QUU1NkQzMEU3MTlFNTcyMTQ0NTcxNzAxMkU1OTMKKzoxMDJCQTAwMDRBNzAwRUU1NEM0NTRCNzAwODkwRkYwMEUwNTQxRjYwRTIKKzoxMDJCQjAwMDAzMDIyQzZBRTU2RDIwRTAwOEU1NkQyMEUxMDMwMjJDOUMKKzoxMDJCQzAwMDZBNzU2QTZFRTRGNTY5RjU2OEU0RjU2RjA0RjU3MDEyRUMKKzoxMDJCRDAwMDMwMzkyMkU1NkQyMEU3MTJFNTcyNDU3MTcwMENFNTRBNDcKKzoxMDJCRTAwMDcwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQzZBRTU2RDIwMUUKKzoxMDJCRjAwMEUwMDdFNTZEMjBFMTAyODA3NDg1NEM2RUU1NkU3MDA4OUIKKzoxMDJDMDAwMDQzNkQwMTUzNkRGRDgwMDY1MzZERkU0MzZEMDI3QzAwRTQKKzoxMDJDMTAwMDEyMzAyNDIyRTU2RDMwRTcxQUU1NzIxNDQ1NzE3MDEzMDUKKzoxMDJDMjAwMEU1NEE3MDBGRTU0QzQ1NEI3MDA5OTBGRjAwRTA1NDFGREEKKzoxMDJDMzAwMDE0NjAwMjgwMzhFNTZEMjBFMTAyODAzMTdDMDExMjMwQTEKKzoxMDJDNDAwMDI0MjJFNTZEMjBFNzE1RTU3MjQ1NzE3MDBGRTU0QzQ1Q0UKKzoxMDJDNTAwMDRCNzAwOTkwRkYwMEUwNTQxRjE0NjAwMjgwMEZFNTZENzcKKzoxMDJDNjAwMDIwRTEwMjgwMDg3QzAwMTIzMDI0MjI4MDAwMDIyRjJCRjkKKzoxMDJDNzAwMEI0NDAwMjgwMDZEMzUwMDMwMjJGMjE5MEZGMDFFMDkwNjAKKzoxMDJDODAwMEZDMzVGMEU1NEE5MEZDMzZGMEU0OTBGQzM3RjBFNTZBNUMKKzoxMDJDOTAwMDI0MDNGNTZBRTU2OTM0MDBGNTY5QUQ0QkU1NEM4NTZBQjYKKzoxMDJDQTAwMDgyODU2OTgzQ0RGMEEzQ0RGMDkwRkYwMUUwMTIwMUI3REEKKzoxMDJDQjAwMDJDRDgwMTJDRkUwMjJEMjgwMzJENTIwNDJEQTAwNTJEMDkKKzoxMDJDQzAwMEREMDYyRTAzMDcyRTI5MDgyRTU1MDkyRTdCMEIyRUExN0IKKzoxMDJDRDAwMDBDMkVCMDgwMkVCMDgxMDAwMDJGMEVFNTZEMjBFNzA2OEYKKzoxMDJDRTAwMDdDMDUxMjI1QkYyMjdEMjQ3RTM1N0YwMjc5Mzg3QUZDNEYKKzoxMDJDRjAwMDdCMDE3NDA4NzgwMDEyMDMzRjdEMDg3QzAwMTIyNTI2QjIKKzoxMDJEMDAwMDIyRTU2RDIwRTcwNjdDMDUxMjI1QkYyMkU1NEFCNDAzQzMKKzoxMDJEMTAwMDAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxMDEyMDUKKzoxMDJEMjAwMDMxRkIyMjdEMDA3QzA3MTIyNTI2MjJFNTZEMjBFNzA2NzcKKzoxMDJEMzAwMDdDMDUxMjI1QkYyMkU1NEFCNDAzMDA0MDEwQjQwNTAwMEIKKzoxMDJENDAwMDUwMEJFNTRBN0YwMEZFN0MxMTEyMzFGQjIyN0QwMDdDOTYKKzoxMDJENTAwMDA3MTIyNTI2MjJFNTZEMjBFNzA2N0MwNTEyMjVCRjIyRjUKKzoxMDJENjAwMEU1NEFCNDA1MDI4MDAzRDM0MDBBRTRGRjA0RkU3QzBBNkUKKzoxMDJENzAwMDEyMzFGQjIyQjQwMTAyODAwM0QzNDAwQUU0RkYwNEZFQjcKKzoxMDJEODAwMDdDMDgxMjMxRkIyMkI0MDMwMDQwMTBCNDA1MDA1MDBCNDQKKzoxMDJEOTAwMEU1NEE3RjAwRkU3QzEzMTIzMUZCMjI3RDAwN0MwNzEyODYKKzoxMDJEQTAwMDI1MjYyMkU1NkQyMEU3MzREM0U1NzI5NDQ4RTU3MTk0MzkKKzoxMDJEQjAwMDAwNTAwNkU1NzI0NTcxNzAwNjdDMDIxMjI1QkYyMkU1QkYKKzoxMDJEQzAwMDRBQjQwMTAzQjM0MDBCQzNCNDAzMDA0MDA5QjQwNjAwODYKKzoxMDJERDAwMDUwMDQxMjMwRDEyMjdDMDcxMjI1QkYyMjEyMjU1RDIyMTkKKzoxMDJERTAwMEU1NkQyMEU3MURFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMkUKKzoxMDJERjAwMDBCRTU0QTdGMDBGRTdDMTYxMjMxRkIyMjdDMDcxMjI1NzAKKzoxMDJFMDAwMEJGMjIxMjI1NUQyMkU1NkQyMEU3MURFNTRBQjQwMzAwQ0YKKzoxMDJFMTAwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTkxMjMxQ0EKKzoxMDJFMjAwMEZCMjI3QzA3MTIyNUJGMjIxMjI1NUQyMkU1NkQyMEU3REIKKzoxMDJFMzAwMDIzNzQ4MTkwRkY5M0YwRTU0QUI0MDMwMDQwMTBCNDA1NzkKKzoxMDJFNDAwMDAwNTAwQkU1NEE3RjAwRkU3QzE3MTIzMUZCMjI3QzA3MDUKKzoxMDJFNTAwMDEyMjVCRjIyMTIyNTVEMjJFNTZEMjBFNzFERTU0QUI0NEIKKzoxMDJFNjAwMDAzMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzE4QkIKKzoxMDJFNzAwMDEyMzFGQjIyN0MwNzEyMjVCRjIyMTIyNTVEMjJFNTZENEYKKzoxMDJFODAwMDIwRTcxREU1NEFCNDAzMDA0MDEwQjQwNTAwNTAwQkU1RUYKKzoxMDJFOTAwMDRBN0YwMEZFN0MxNTEyMzFGQjIyN0MwNzEyMjVCRjIyREYKKzoxMDJFQTAwMDEyMjU1RDIyRTU2RDIwRTcwNjdDMDcxMjI1QkYyMjEyNjAKKzoxMDJFQjAwMDI1NUQyMkU1NkQzMEU3MjA5MEZGMDBFMDU0MUY3MDEwODMKKzoxMDJFQzAwMDkwRkYwMUUwQjQ4MDA1MTIyNTU0ODAwMzEyMjU1RDIyOTUKKzoxMDJFRDAwMDdEMDA3QzA1MTIyNTI2MjI5MEZGMDBFMDU0MUY2MDA2MkQKKzoxMDJFRTAwMDdDMDUxMjI1QkYyMkQzRTU3Mjk0NDhFNTcxOTQwMDUwMDkKKzoxMDJFRjAwMDBCQzNFNTcyOTQwN0U1NzE5NDAwNTAwNjdDMDMxMjI1MUMKKzoxMDJGMDAwMEJGMjJFNTRBQjQwNTA0MTIzMEQxMjI3QzA3MTIyNUJGNDYKKzoxMDJGMTAwMDIyRTU2RDMwRTcwODdEMDA3QzA1MTIyNTI2MjI3QzA1MjAKKzoxMDJGMjAwMDEyMjVCRjIyQjQyMDAyODAwM0QzNDAwMDgwMDAxMjJGNUMKKzoxMDJGMzAwMEZGMjI3NTQzMDA5MEZGODNFMDU0MEZEMzk1NDM0MDI0NTQKKzoxMDJGNDAwMEU1NDMyNEYwRjU4MkU0MzRGRUY1ODNFMEFENkFBRTY5MzIKKzoxMDJGNTAwMEFGNjgxMjAzMEYwNTQzMERFRDcwMDEwRThENkE4RTY5ODcKKzoxMDJGNjAwMDhGNjg4MEQxRTU0MzdEMDBGQ0MzRTU3MDlDRjU3MEU1N0EKKzoxMDJGNzAwMDZGOURGNTZGRTU3MDQ1NkY2MDA2RTQ5MEZGODNGMDIyNkEKKzoxMDJGODAwMDkwRkY4MkUwNDQwOEYwRTRGNTZGNzU3MDQ5OTBGQzM1REQKKzoxMDJGOTAwMEUwQjQwNTAyODAwM0QzNDA0MDkwRkMzNkUwRjU0M0I0MzIKKzoxMDJGQTAwMDA1MDI4MDAzRDM0MDBBRTRGRjA0RkU3QzBCMTIzMUZCRDAKKzoxMDJGQjAwMDIyQjQwMTAyODAwM0QzNDAwQUU0RkYwNEZFN0MwOTEyMUMKKzoxMDJGQzAwMDMxRkIyMkI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0MzdGRjEKKzoxMDJGRDAwMDAwRkU3QzE0MTIzMUZCMjIyMkI0ODAwMDQwMjNCNDgyMTQKKzoxMDJGRTAwMDAwNTAxRTdDMzU3REZDMTIxNzdFN0QwMDhDNkM4RDZCMzUKKzoxMDJGRjAwMDkwRkMzN0UwNjAwNTEyMkZGRjgwMDU3QzAwMTIzMDI0MjIKKzoxMDMwMDAwMDIyMjI5MEZGODNFMDU0N0ZGMDkwRkY4MkUwNDQwOEYwOUEKKzoxMDMwMTAwMDkwRkY4MEUwNDQwOEYwMjI5MEZGODJFMDQ0MDhGMDkwQTYKKzoxMDMwMjAwMEZGODBFMDQ0MDhGMDIyOEMyMzdEMDA4QzcwOEQ2Rjc1NEEKKzoxMDMwMzAwMDZBMzU3NTY5RkM3NTY4MDExMjMwMzkyMjkwRkY4M0UwQUEKKzoxMDMwNDAwMDU0N0ZGMEU1NzA2NDQ5NDU2RjcwMDEyMkMzRTU3MDk0QzgKKzoxMDMwNTAwMDA4RTU2Rjk0MDA0MDE1NzUyMTA4RTUyMTdEMDBGQ0MzNEIKKzoxMDMwNjAwMEU1NzA5Q0Y1NzBFNTZGOURGNTZGODAwOTg1NzAyMUU0MzIKKzoxMDMwNzAwMEY1NkY3NTcwNDk3NTIyMDBFNTIyQzM5NTIxNTAyNkFEODQKKzoxMDMwODAwMDZBQUU2OUFGNjgxMjAxRTZGQ0U1MjIyNEY4RjU4MkU0MzUKKzoxMDMwOTAwMDM0RkVGNTgzRUNGMDA1MjIwREVENzAwMTBFOEQ2QThFODUKKzoxMDMwQTAwMDY5OEY2ODgwRDNFNTIxNTQ3RjkwRkY4MUYwMjI4QzQ4OUUKKzoxMDMwQjAwMDdGMDBFRjI0RkQ0MDE5RTRFRjc1RjAwN0E0MjQ3RkY1QUQKKzoxMDMwQzAwMDgyRTQzNEY4RjU4M0UwNjU0ODcwMDJEMzIyMEY4MEUyOTEKKzoxMDMwRDAwMDhGNDdDMzIyODU3MjcwODU3MTZGOTBGRjgyRTA1NEY3MkQKKzoxMDMwRTAwMEYwOTBGRjgzRTA1NDdGRjAyMkMwMDBDMDAxQzAwMkMwMTYKKzoxMDMwRjAwMDA2QzAwN0U1NzgyNDA4Rjg4NjA2NTMwNjdGN0NGRjEyOTEKKzoxMDMxMDAwMDMxNUI3QzAwN0QwMEU1N0I2MDQ2RkY5MEZEOTVFMDU0REYKKzoxMDMxMTAwMDdGNkU3MDBGQzA4M0MwODJBM0UwRkRBM0UwRkNBMzE1MDcKKzoxMDMxMjAwMDdCODAwN0EzQTNBM0RGRTY4MDI2REYwNkQwODJEMDgzQkYKKzoxMDMxMzAwMDgwMUVFMEY4QTNFMEY5QTNFMEZBRDA4MkQwODNFOEYwQTMKKzoxMDMxNDAwMEEzRTlGMEEzRUFGMEEzQzA4M0MwODJBM0EzQTM4MERBMUIKKzoxMDMxNTAwMDEyMzFGNEQwMDdEMDA2RDAwMkQwMDFEMDAwMjI4NUE4QzkKKzoxMDMxNjAwMDdBNzVBODg4RUM3MDAyN0MzRjhDNzkyMkU1NzgyNDA4NzcKKzoxMDMxNzAwMEY4NzYwMDEyMzI0ODgwRkJDMDAwQzAwMUMwMDJDMDA2RDEKKzoxMDMxODAwMEMwMDdBRTA0N0NGRjEyMzE1QkU1N0I2MDQyRkY5MEZEMUYKKzoxMDMxOTAwMDk1RTA1NDdGNkU3MDBCQzA4M0MwODJBM0EzQTMxNTdCMDAKKzoxMDMxQTAwMDgwMDdBM0EzQTNERkVBODAyNkRGMDZEMDgyRDA4MzgwMzYKKzoxMDMxQjAwMEQ4RTBGOEEzRTBGOUEzRTBGQUQwODJEMDgzRThGMEEzNDYKKzoxMDMxQzAwMEU5RjBBM0VBRjBBM0MwODNDMDgyQTNBM0EzODBEQTc4QzYKKzoxMDMxRDAwMDA4MDg3OTE4MDk3QzAxRTY1NDdGNkU3MDA2NzYwMDc3M0UKKzoxMDMxRTAwMDAwODAwNjA4MDkwQ0JDMDhFRTEyMzFGNEQwMDdEMDA2QTYKKzoxMDMxRjAwMEQwMDJEMDAxRDAwMDIyNzU3OTAwODU3QUE4MjJDMEYwRDMKKzoxMDMyMDAwMEMwODJDMDgzQzNFNTdCMjRFODUwMDUxMjMyNDg4MEY0QjUKKzoxMDMyMTAwMEVDNjAzMTkwMzUyM0U0OTNDMzlDNDAyOEMwMDQ3Q0ZGQ0MKKzoxMDMyMjAwMDEyMzE1QkQwMDQ0MzA0ODBFNTdCNzVGMDAzQTQyNDk1NDAKKzoxMDMyMzAwMEY1ODJFNDM0RkRGNTgzRUNGMEVGQTNGMEVFQTNGMDA1QTYKKzoxMDMyNDAwMDdCMTIzMUY0RDA4M0QwODJEMEYwMjJDMDA0N0MyMEQyMTMKKzoxMDMyNTAwMDhDRDI4REQ1MDRGREQwMDQyMjc1QTgwMDc1ODgwMDc1MjgKKzoxMDMyNjAwMEI4MDA3NUYwMDA3NUQwMDBFNEY4OTAwMDAwRjYwOEI4REEKKzoxMDMyNzAwMDAwRkIwMjAwMDBDM0VEOTQwMjUwMDQ3RDAzN0NFOEVDRTcKKzoxMDMyODAwMEY0RkNFREY0RkQwQ0JDMDAwMTBEOEM3RjhEN0UyMkMzOUYKKzoxMDMyOTAwMEVDOTRCQ0VEOTQwMjUwMDQ3RDA3N0NEMEVDRjRGQ0VEODIKKzoxMDMyQTAwMEY0RkQwQ0JDMDAwMTBEOEM3RDhEN0MyMkVDNzAwMTIyQTQKKzoxMDMyQjAwMEMwMDBFNTc4MjQxOEY4QTYwNEU1NzgyNDA4RjhDNjU0NzgKKzoxMDMyQzAwMDdGRjZFNjMwRTcwM0QwMDAyMjEyMzI0ODgwRjRDMjhDNDkKKzoxMDMyRDAwMDg1N0M4Qzg1N0Q4QUQyOENDMEUwQzBEMEMwRjBDMDgyNTUKKzoxMDMyRTAwMEMwODNDMDAwQzAwMUMwMDJDMDAzQzAwNEMwMDVDMDA2NDYKKzoxMDMyRjAwMEMwMDcxMjFBRDFFNTc4MjQwOEY4RTY2MDI0RTU3ODI0OUUKKzoxMDMzMDAwMDEwRjhBNjgxRTU3ODc1RjAyMUE0MjQ4REY1ODJFNDM0QzcKKzoxMDMzMTAwMEZDRjU4Mzc4QUVFNTgxMDRDMzk4RjlFNkYwMDhBM0Q5RkIKKzoxMDMzMjAwMEZBNzQwODI1NzhGODA1NzgwOEU2NTQ4MDcwMENFNTc4N0EKKzoxMDMzMzAwMEI0MDdGMzc4MDg3NTc4MDA4MEVGRTU3ODI0MTBGODg2RjQKKzoxMDMzNDAwMDgxRTU3ODc1RjAyMUE0MjQ4REY1ODJFNDM0RkNGNTgzQzEKKzoxMDMzNTAwMDc4QUVFNTgxMDRDMzk4RjlFMEY2MDhBM0Q5RkFEMDA3NUUKKzoxMDMzNjAwMEQwMDZEMDA1RDAwNEQwMDNEMDAyRDAwMUQwMDBEMDgzNDUKKzoxMDMzNzAwMEQwODJEMEYwRDBEMEQwRTAzMkMwRTBDMEQwQzAwMEMwMDkKKzoxMDMzODAwMDAxQzAwMkMyOEU4NTdFOEQ4NTdGOEJEMjhFNzgxOTc5QTEKKzoxMDMzOTAwMDA5N0EwN0U3NzAwNEE2MDA4MDBCRTY2MDA4MTZFNjcwNUQKKzoxMDMzQTAwMDA0RTc0NDgwRjcwODA5REFFQUU1Nzk2MDEzMTRGNTc5NEYKKzoxMDMzQjAwMDcwMEVFNTc4MjQwOEY4NzYwMDEyMzFGNEQyOENEMjhEQTQKKzoxMDMzQzAwMEQwMDJEMDAxRDAwMEQwRDBEMEUwMzI3NTgxQUQ3NDJBQzcKKzoxMDMzRDAwMDkwRkY5M0YwNzU3RjMwNzU3RUY4NzU3RDYwNzU3Q0YwOTkKKzoxMDMzRTAwMDEyMDUzNjEyMzQ3QzEyMTczNDkwRkY5M0UwNDQwMUYwM0EKKzoxMDMzRjAwMEIyQjMxMjM0QTYxMjMyNTY4MERBMjJDMDAwN0MwMUVDM0QKKzoxMDM0MDAwMDI0MDhGOEU2NjAwOTBDQkMwOEY1MTIzMjQ4ODBFRUQwQkEKKzoxMDM0MTAwMDAwMjJDMEYwQzA4MkMwODNDMDAwQzAwNkMwMDdFRDI0RjcKKzoxMDM0MjAwMDEwRjg3NkJDRUQ3NUYwMjFBNDI0OERGNTgyRTQzNEZDMEYKKzoxMDM0MzAwMEY1ODNDMDgyQzA4M0EzQTNFNDc4MERGMEEzRDhGQ0VDOEQKKzoxMDM0NDAwMDU0N0Y3NUYwMDJBNDI0RUZGNTgyRTVGMDM0MzRGNTgzNUYKKzoxMDM0NTAwMEU0OTNGRTc0MDE5M0Y1ODI4RTgzRTQ5M0ZFNzQwMTkzRUEKKzoxMDM0NjAwMEZGRDA4M0QwODJFRkYwQTNFRUYwRUQyNDA4RjhFQzQ0MTcKKzoxMDM0NzAwMDgwRjZEMDA3RDAwNkQwMDBEMDgzRDA4MkQwRjAyMjc1NUQKKzoxMDM0ODAwMDc4MDA3NTdCMDA3QTA4NzkxODc4MDg3NjAwNzcwMDA4NEMKKzoxMDM0OTAwMDA5REFGOEU0NzgwODc0ODA0NDdGRjY3NDAxNDQxMEY1ODIKKzoxMDM0QTAwMDg5NzVCODA4RDJBQkQyQTkyMjc1ODFBREQyOEVEMjhDRTMKKzoxMDM0QjAwMEQyQUZFNTdCNjAzMkZGOTBGRDk1RTA1NDgwNjAyNDc4QzgKKzoxMDM0QzAwMDA4NzkwOEUwNTQ3RkZBN0IwMEU2NTQ3RkI1MDIwMjdCNUUKKzoxMDM0RDAwMEZGMDhEOUY1RUI3MDBDRUFGMDEyMzNGOEFEMDRBQzAyM0EKKzoxMDM0RTAwMDEyMzQwRkEzQTNBM0RGRDIxMjMyNDg4MEM1N0MwMTdEMjIKKzoxMDM0RjAwMDAwMjIwNEY1MDRFOTA0RUQwNEUxMDRERDA0RDkwNEU1NDcKKzoxMDM1MDAwMDA0RjEwNDlEMDRBMTA0Q0QwNEQxMDQ5OTA0OTkwNDk5MDMKKzoxMDM1MTAwMDA0RDUwNEI1MDRBRDA0QjEwNEE5MDRDMTA0QkQwNEI5QzMKKzoxMDM1MjAwMDA0QzUwNEM5MDRBNTE5MDEwMzAwMjIwMDQ4MDIwMDQ4OEIKKzoxMDM1MzAwMDBFMzAxNDIwQzgxQUQwMTgwQTBDMDUwNjAyMDMwMTAyMjYKKzoxMDM1NDAwMDAwMDFDRTAxODEwMTAwMDBDMDAwODAwMDYwMDAzMDAwNTkKKzoxMDM1NTAwMDE4MDAxMDAwMDgwMDA0MDAwMjAwMDEwMDA4MTgzODI4QjQKKzoxMDM1NjAwMDBDMDUxMDBBMDIwMDAwMDAwMDAwMDMwMTEwMEEwMjAwMEUKKzoxMDM1NzAwMDAwMDAwMDAwRkJFMEZCRjIwOTAyMjcwMDAxMDIwMEEwQUUKKzoxMDM1ODAwMDMyMDkwNDAwMDAwM0ZGMDAwMDAwMDcwNTgxMDI0MDAwMkIKKzoxMDM1OTAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1ODMwMzAyMDAwMTIyMjUKKzoxMDM1QTAwMDAzNTQwMDU1MDA1MzAwNDIwMDMzMDAzNDAwMzEwMDMwMTIKKzoxMDM1QjAwMDAwMjAwMDIwMDAyMDAwMjAwMDIwMDAyMDAwMjAwMDIwMEIKKzowNTM1QzAwMDAwMDAwMDAwMDAwNgorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3RpXzUwNTIuZncuaWhleCBiL2Zpcm13YXJlL3RpXzUwNTIuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTI5ZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdGlfNTA1Mi5mdy5paGV4CkBAIC0wLDAgKzEsODYyIEBACis6MTAwMDAwMDBDMTM1MDAwMjAwMUUwMjFCMzJGRkZGRkZGRkZGMDIzMjVDCis6MTAwMDEwMDA2QUZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGMDIzMzRFCis6MTAwMDIwMDAxNTc1ODFDODkwRkVGMDg1ODNBMDEyMzQ3REVDNEQ2MDdCCis6MTAwMDMwMDA2QTc4QTU4MDAzNzYwMDE4Qjg5NkZBNzg3OTgwMDM3NkY2Cis6MTAwMDQwMDAwMDE4Qjg1RkZBNzgyMDgwMDM3NjAwMThCODIwRkE5MDdDCis6MTAwMDUwMDBGRUU1QUU4M0FGODI5MEZEMDAxMjAwQTE2MDA1RTRGMEUyCis6MTAwMDYwMDBBMzgwRjY5MEZFRjBBODgyOTBGRUYwQTk4MkU4QzM5OUUyCis6MTAwMDcwMDA1MDA1NzYwMDA4ODBGNjkwMDBGRjEyMDBBQTkwMDEwMzU4Cis6MTAwMDgwMDAxMjAwQUE5MDAxMDcxMjAwQUE5MDAxMEIxMjAwQzg5MDVBCis6MTAwMDkwMDAwMTExMTIwMEM4OTAwMTE3MTIwMEM4NzVEMDAwMTIzMzY4Cis6MTAwMEEwMDA2NzAyMDExREVGNjU4MjcwMDNFRTY1ODMyMkU0OTNGODE5Cis6MTAwMEIwMDA3NDAxOTNGOTc0MDI5M0ZFNzQwMzkzRjU4MjhFODNFOEJFCis6MTAwMEMwMDA2OTcwMDEyMkU0OTNGNkEzMDg4MEY0RTQ5M0ZDNzQwMUMwCis6MTAwMEQwMDA5M0ZENzQwMjkzRkU3NDAzOTNGRjc0MDQ5M0Y4NzQwNTA0Cis6MTAwMEUwMDA5M0Y1ODI4ODgzMTIwMEExNzAwMTIyRTQ5M0EzQTg4MzcwCis6MTAwMEYwMDBBOTgyOEM4MzhEODJGMEEzQUM4M0FEODI4ODgzODk4MkIwCis6MTAwMTAwMDA4MEUzMjEyMTA0OTI3QTdBMDQ5MkE2QTgwNDkyRkVGMDU4Cis6MTAwMTEwMDAwNDk0MDQ5NEZCRkIwNDk5MDQ5NEZCRkIwNEY5MDRGOTk0Cis6MTAwMTIwMDA4MEZFRDBGMDMwRjAwOTIwRjMwM0Y2ODAxMEY3ODAwRDQ4Cis6MTAwMTMwMDAzMEYxMDkyMEYzMDNGMjgwMDRGMzgwMDFGMDIwRjQwNDhECis6MTAwMTQwMDBGQ0QwRTBDQzIyQ0NDMEUwMTIwMTVBMDIwMTRCQkMwMDMyCis6MTAwMTUwMDAwNUQwRjBBQ0YwMjJDMzEzRENGQzAyMDEyMUJGMDAwOTgyCis6MTAwMTYwMDBFRDI1ODI3NUYwMDFGOEU2MjJCRjAxMEZFRDI1ODJGNTNECis6MTAwMTcwMDA4MkVFMzU4M0Y1ODM3NUYwMDRFMDIyRUQyNTgyNzVGMDdCCis6MTAwMTgwMDAwMkY4RTIyMkQwODNEMDgyRjVGMEMzRTQ5M0EzQzVGMDU1Cis6MTAwMTkwMDA5NUYwQzBFMEMzRDBGMEU0OTNBMzk1RjA0MDEyQTNBMzgwCis6MTAwMUEwMDBDM0U1RjAzMzUwMDIwNTgzMjU4MkY1ODI1MDAyMDU4M0IyCis6MTAwMUIwMDA3NDAxOTNDMEUwRTQ5M0MwRTAyMkQwODNEMDgyRjVGMEQ0Cis6MTAwMUMwMDBFNDkzNzAwOTc0MDE5MzcwMDRBM0EzODAwQzc0MDI5M0U4Cis6MTAwMUQwMDA2NUYwNjAwNUEzQTNBMzgwRTc3NDAxOTNDMEUwRTQ5M0Y2Cis6MTAwMUUwMDBDMEUwMjIxMjAyNUIwMjAxRjIxMjAyQUYwMjAxRjIxMjFGCis6MTAwMUYwMDAwMkQzMDIwMUYyMzBFMDA3MjBFMzAyRTYyMkU3MjIzMEQ4Cis6MTAwMjAwMDBFMTA3MjBFMzAyRTIyMkUzMjIzMEUyMDJFMDIyRTQ5MzZCCis6MTAwMjEwMDAyMjEyMDJEMzAyMDIxQTEyMDJBRjAyMDIxQUFCRjAxMjI5Cis6MTAwMjIwMDAwMjI0Q0JDNUYwQ0IyMjMwRTAxMDIwRTMwNkU2RjVGMDQ3Cis6MTAwMjMwMDAwOEU2MjJFN0Y1RjAwOUU3MTkyMjMwRTExMDIwRTMwNjhECis6MTAwMjQwMDBFMkY1RjAwOEUyMjJFM0Y1RjAwOUUzMTkyMjMwRTIwNkQ0Cis6MTAwMjUwMDBFMEY1RjBBM0UwMjJFNDkzRjVGMDc0MDE5MzIyQkIwMEYzCis6MTAwMjYwMDAwMzc0MDkyMkJCMDEwNzg5ODI4QTgzNzQwNDIyQkIwMkJBCis6MTAwMjcwMDAwNzg5ODI4QTgzNzQxMDIyNzQwQTIyMDIwMjdCQkIwMERGCis6MTAwMjgwMDAwN0U5MjU4MkY4NzQwMTIyQkIwMTBERTkyNTgyRjU4Mjc4Cis6MTAwMjkwMDBFQTM1ODNGNTgzNzQwNDIyQkIwMjBERTkyNTgyRjU4MkQ5Cis6MTAwMkEwMDBFQTM1ODNGNTgzNzQxMDIyRTkyNTgyRjg3NDAyMjIwMjZDCis6MTAwMkIwMDAwMkFGQkYwMDA1RURGODc0MDEyMkJGMDEwNzhEODI4RUU5Cis6MTAwMkMwMDA4Mzc0MDQyMkJGMDIwNzhEODI4RTgzNzQxMDIyRURGODlFCis6MTAwMkQwMDA3NDAyMjIwMjAyRDNCRjAwMDdFRDI1ODJGODc0MDEyMkM2Cis6MTAwMkUwMDBCRjAxMERFRDI1ODJGNTgyRUUzNTgzRjU4Mzc0MDQyMjdFCis6MTAwMkYwMDBCRjAyMERFRDI1ODJGNTgyRUUzNTgzRjU4Mzc0MTAyMjYxCis6MTAwMzAwMDBFRDI1ODJGODc0MDIyMjAyMDMwN0MwRTAxMjAyNUIwMkFDCis6MTAwMzEwMDAwMzFGQzBFMDEyMDJBRjAyMDMxRkMwRTAxMjAyRDMwMkFCCis6MTAwMzIwMDAwMzFGMzBFMDBCMjBFMzA0RDBFMEY2MjJEMEUwRjcyMkY4Cis6MTAwMzMwMDAzMEUxMEIyMEUzMDREMEUwRjIyMkQwRTBGMzIyRDBFMDYxCis6MTAwMzQwMDBGMDIyQzlDREM5Q0FDRUNBQ0JDRkNCMTIwMzUyRURGOTI4Cis6MTAwMzUwMDBFRUZBRUZGQjIyQkIwMDJGQkYwMDBBRkFFREY4RTdGNjNBCis6MTAwMzYwMDAwODA5REFGQTIyQkYwMTEyOEQ4MjhFODNGODAyMDM2RjI4Cis6MTAwMzcwMDAwOUEzRTdGMEQ4RkEyMjAyMDM3QUZBRURGOEU3RjIwOEM3Cis6MTAwMzgwMDAwOURBRkEyMjAyMDM4NEJCMDE0REJGMDAxNDg5ODI4QTc0Cis6MTAwMzkwMDA4M0Y5RURGODAyMDM5NjA4QTNFMEY2RDlGQTIyMDIwM0U2Cis6MTAwM0EwMDBBN0JGMDEyMjhEODI4RTgzRkIwOEM5QzU4MkM5Q0FDNTM5Cis6MTAwM0IwMDA4M0NBRTBBM0M5QzU4MkM5Q0FDNTgzQ0FGMEEzREJFQTYwCis6MTAwM0MwMDBEOEU4MjIwMjAzQ0E4RDgyOEU4M0Y5RURGOEUwRjIwOEE0Cis6MTAwM0QwMDBBM0Q5RkEyMjAyMDNENEJCMDI0REJGMDAxMjg5ODI4QTNDCis6MTAwM0UwMDA4M0Y5RURGODAyMDNFNjA4QTNFNDkzRjZEOUY5MjJCRkY2Cis6MTAwM0YwMDAwMTIzOEQ4MjhFODNGQjA4QzlDNTgyQzlDQUM1ODNDQTAxCis6MTAwNDAwMDBFNDkzQTNDOUM1ODJDOUNBQzU4M0NBRjBBM0RCRTlEOEVFCis6MTAwNDEwMDBFNzIyMDIwNDE5ODk4MjhBODNGOUVERjhFNDkzRjIwODRECis6MTAwNDIwMDBBM0Q5RjkyMjAyMDQyQUJGMDAwREZBRURGOEUzRjYwODc5Cis6MTAwNDMwMDAwOURBRkEyMjAyMDQzNEJGMDExMjhEODI4RTgzRjgwMjk3Cis6MTAwNDQwMDAwNDQxMDlBM0UzRjBEOEZBMjIwMjA0NENGQUVERjhFM0UwCis6MTAwNDUwMDBGMjA4MDlEQUZBMjIwMjA0NTZFNkZCMDhFNkZBMDhFNjkwCis6MTAwNDYwMDBGOTA0RjYxODcwMDEwNjIyRTZGRjA4RTZGRTA4RTZGRDJDCis6MTAwNDcwMDAyMkVGRjBBM0VFRjBBM0VERjAyMkVCRjBBM0VBRjBBMzVECis6MTAwNDgwMDBFOUYwMjJFMEZGQTNFMEZFQTNFMEZEMjJFMEZCQTNFMDExCis6MTAwNDkwMDBGQUEzRTBGOTIyMDAwMDAwMDAwMDAwMDAwNEY5MDA1QjZDCis6MTAwNEEwMDAwNTczMDAyNjA1OUEwMDMzMEEwQjAwNUIwQTc3MDA2MDhCCis6MTAwNEIwMDAxNTUyMDA1QjBDRkIwMDVCMDlBQjAwNUIwOUUyMDA1QkMzCis6MTAwNEMwMDAwREMyMDA1QjBCRjMwMDVCMEExRTAwNUIwQTUzMDA1QjZFCis6MTAwNEQwMDAxNzRBMDAzMzE3NjAwMDM0MUU0RDAwNDMxRUYwMDA0NERECis6MTAwNEUwMDAyMDVEMDA0NDIwNEIwMDQ3MUYxNzAwNDcxRkJDMDA0REY0Cis6MTAwNEYwMDAyMDBEMDA0RjFGMzkwMDU4MzFGNTAwNUI3Q0NDN0RGRjhCCis6MTAwNTAwMDAxMjFDRkUyMjc0OTA5MEZGOTFGMDkwRkZGQ0UwMjBFNzE3Cis6MTAwNTEwMDAyREMyQUZBRTU5QUY1ODc1NUEyMEU1NUExNEM1NUE2MDZFCis6MTAwNTIwMDAxOUU0RkU3RjA1RUU0RkNFMjRGRkNFQ0YzNEZGQ0Y2MDFGCis6MTAwNTMwMDAwN0U0OTBGRjkyRjA4MEVEODBFMDhFNTk4RjU4MjIxMkYwCis6MTAwNTQwMDAwNTAxN0QwNzdDQjcxMjMyMTE3RDBGN0M2RTEyMzIyQkI0Cis6MTAwNTUwMDA3ODk3N0EwNkU0RjYwOERBRkM3QTA2MTIwNUNGN0MwMzZGCis6MTAwNTYwMDAxMjBFNTc3QzA0MTIwRTU3MTIyMThCRTRGRUZGN0MwRkYzCis6MTAwNTcwMDAxMjMxOUFEMkE4MjIxMjMwODVFNDkwRkQ0MEYwOTBGRjBCCis6MTAwNTgwMDBGMEUwMzBFNDA4NzQwMTkwRkQ0MUYwODAwNUU0OTBGRDU2Cis6MTAwNTkwMDA0MUYwN0QwQTdDMDAxMjI0QjExMjMxMDgyMjEyMzA4NTBDCis6MTAwNUEwMDA5MEZENDFFMDE0NzAwRTkwRkZGMEUwNDQxMEYwN0MwMEVDCis6MTAwNUIwMDAxMjI1NEE4MDE5OTBGRDQxRTA3MDBFOTBGRkYwRTA1NDQyCis6MTAwNUMwMDBFRkYwN0MwMDEyMjU0QTgwMDU3QzE3MTIyNTRBMTIzMTczCis6MTAwNUQwMDAwODIyOTBGRkYwRTA1NEFCRjA5MEZGRjBFMDQ0MjBGMEYwCis6MTAwNUUwMDAyMjhDMzc4RDM2Nzg3Q0VERjYwOEVDRjZFREZFRUNGRENFCis6MTAwNUYwMDA3RjAxOTAwMDA1MTIwMUVDNzg3QUY2Nzg3Q0U2RkQwODIwCis6MTAwNjAwMDBFNkZDRURGRUVDRkQ3RjAxOTAwMDA0MTIwMUVDNTQwRkJFCis6MTAwNjEwMDBGQzdEN0ExMjE3OUQ3ODdBRTY3MDBEQUQzQUFFMzlBRjRGCis6MTAwNjIwMDAzOEU0MTIwMzBGN0MwODIyOTBGRkYwRTA1NEZFRjA5MEIzCis6MTAwNjMwMDBGRkYwRTA1NEZERjA4MDFFNzg3Q0U2RkQwOEU2RkNFRDVFCis6MTAwNjQwMDBGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFMjVFMDQ0MDE5MEFGCis6MTAwNjUwMDBGRkYzRjAwMjA2REI3ODdDRTZGRDA4RTZGQ0VERkVFQzNECis6MTAwNjYwMDBGRDdGMDE5MDAwMDYxMjAyMEU1NEZFOTBGRkYzRjA4MDExCis6MTAwNjcwMDAyQjc4N0NFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMEFBCis6MTAwNjgwMDAwODEyMDIwRUZBRUI5MEZGRjFGMDEyMDhDQTQwMERBRDBECis6MTAwNjkwMDAzQUFFMzlBRjM4RTQxMjAzMEY3QzE4MjI3ODdDRTZGREJECis6MTAwNkEwMDAwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDgxMjAyMEU5MEMyCis6MTAwNkIwMDBGRkYxRjAxMjA4Q0E0MDBEQUQzQUFFMzlBRjM4RTQxMjdFCis6MTAwNkMwMDAwMzBGN0MxODIyNzg3Q0U2RkQwOEU2RkNFREZFRUNGRENECis6MTAwNkQwMDA3RjAxOTAwMDA2MTIwMjBFNDQwMTkwRkZGM0YwNzg3RDM2Cis6MTAwNkUwMDBFNjI0MDNGNjE4RTYzNDAwRjY3ODdBRTYyNEZFNTAwOThDCis6MTAwNkYwMDA5MEZGRjBFMDU0RkRGMDgwMDc5MEZGRjBFMDQ0MDJGMDNFCis6MTAwNzAwMDBFNDkwRkZGMUYwNzg3Qjc2MDA3ODdBRTYyNEZGRkNFNDUxCis6MTAwNzEwMDAzNEZGRkQ3ODdCRTY3RjAwRkVFQ0QzOUVFRjY0ODBDRDU2Cis6MTAwNzIwMDA2NDgwOUQ0MDJGMTIwOEFGNDAwRjc4N0JFNkFEM0FBRTUzCis6MTAwNzMwMDAzOUFGMzgxMjAzMEY3QzE4MjI5MEZGRjJFMEZDNzg3QzZFCis6MTAwNzQwMDA4NjgzMDg4NjgyRUNGMDc4N0IwNkEzNzg3Q0E2ODMwOEYzCis6MTAwNzUwMDBBNjgyODBCNTEyMDhBRjQwMEY3ODdCRTZBRDNBQUUzOTdECis6MTAwNzYwMDBBRjM4MTIwMzBGN0MxODIyOTBGRkYyRTBGQzc4N0M4NkYxCis6MTAwNzcwMDA4MzA4ODY4MkVDRjA3ODdBRTZBRDNBQUUzOUFGMzgxMjZCCis6MTAwNzgwMDAwMzBGN0MwMDIyOEMzNzhEMzY3ODdDRURGNjA4RUNGNjcyCis6MTAwNzkwMDBFREZFRUNGRDdGMDE5MDAwMDUxMjAxRUM3ODdCRjY3ODEwCis6MTAwN0EwMDA3Q0U2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDQxMjA2Cis6MTAwN0IwMDAwMUVDNTQwRkZDN0Q3QjEyMTc5RDc4N0JFNjcwMDM3QzY3Cis6MTAwN0MwMDAwODIyOTBGRkYwRTA1NEZFRjA5MEZGRjBFMDU0RkRGMEJFCis6MTAwN0QwMDA4MDFCNzg3Q0U2RkQwOEU2RkNFREZFRUNGRDdGMDE5MEQ5Cis6MTAwN0UwMDAwMDA4MTIwMjBFMjVFMDkwRkZGM0YwODA1Qjc4N0NFNkIzCis6MTAwN0YwMDBGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwNjEyMDIwRTA2Cis6MTAwODAwMDA1NEZFOTBGRkYzRjA4MDIxNzg3Q0U2RkQwOEU2RkNFREQ1Cis6MTAwODEwMDBGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFRkFFQjkwRkZGMTUyCis6MTAwODIwMDBGMDEyMDhDQTQwMDM3QzE4MjI3ODdDRTZGRDA4RTZGQzNBCis6MTAwODMwMDBFREZFRUNGRDdGMDE5MDAwMDgxMjAyMEU5MEZGRjFGMDNBCis6MTAwODQwMDAxMjA4Q0E0MDAzN0MxODIyNzg3REU2MjQwQUY2MThFNkNFCis6MTAwODUwMDAzNDAwRjY3ODdBNzYwMDc4N0JFNjI0RkZGQ0U0MzRGRkY3Cis6MTAwODYwMDBGRDc4N0FFNjdGMDBGRUVDRDM5RUVGNjQ4MENENjQ4MDU1Cis6MTAwODcwMDA5RDQwMjE3ODdDODY4MzA4ODY4MkUwOTBGRkYxRjAxMjBCCis6MTAwODgwMDAwOENBNDAwMzdDMTgyMjc4N0EwNjc4N0QwNkU2MTg3MDNDCis6MTAwODkwMDAwMTA2ODBDMzkwRkZGMEUwNDQwMUYwNzg3Qzg2ODMwODc1Cis6MTAwOEEwMDA4NjgyRTA5MEZGRjFGMDEyMDhDQTQwMDM3QzE4MjI3Qzk3Cis6MTAwOEIwMDAwMDIyOTBGRkYwRTAyMEU3MTI5MEZGRjBFMDMwRTUwOTIxCis6MTAwOEMwMDA5MEZGRjBFMDQ0MjBGMEMzMjI4MEU3RDMyMjkwRkZGMEI1Cis6MTAwOEQwMDBFMDIwRTMxMjkwRkZGMEUwMzBFNTA5OTBGRkYwRTA0NDAzCis6MTAwOEUwMDAyMEYwQzMyMjgwRTdEMzIyOEM0MjhENDE3QzAwRUQ1NDVFCis6MTAwOEYwMDBGMEZERUM3MDAzRUQ2NDMwNzAwNTc1M0UwMzgwMDM3NTA4Cis6MTAwOTAwMDAzRTA0QUMzRTEyMEY3Qzc1ODMwMDg1ODM0MEU1NDE1NDY0Cis6MTAwOTEwMDAwRkY1M0ZFNTQwNzAwNEU1M0Y2NDAzNzAzNUU1M0UyNDg0Cis6MTAwOTIwMDBGRDc1RjAwQUE0MjQwQUY1ODJFNDM0RkRGNTgzRTAzMDc1Cis6MTAwOTMwMDBFNjA1MTIxMDY3ODAxOUU1M0UyNDk3RjhDNjU0RkJGNkM5Cis6MTAwOTQwMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4Mzc0MEZGMEU5Cis6MTAwOTUwMDA4MDU5RTU0MDcwMDRFNTNGNjQwNDcwNDhFNTNFMjRGRDlECis6MTAwOTYwMDA3NUYwMEFBNDI0MEFGNTgyRTQzNEZERjU4M0UwMzBFNTRECis6MTAwOTcwMDAwN0FDNDJBRDQxMTIxQzkzRTU0MjMwRTIxNTc4QTdFNjgwCis6MTAwOTgwMDAzMEUwMEY3OEE3RTYzMEUxMDlFNEZGMDRGRTdDMDQxMkIyCis6MTAwOTkwMDAzMTlBNzhBM0U2MjQwNkY1ODIxOEU2MzQwMEY1ODM3NENDCis6MTAwOUEwMDAwRkYwODAwN0U0RkM3REVFMTIxQzkzQzIwMzIyMTIzMDhDCis6MTAwOUIwMDA4NTEyMEY3Qzc4QTNFNjI0MDZGNTgyMThFNjM0MDBGNTRDCis6MTAwOUMwMDA4M0UwOTBGRDQwRjA3OEEzRTYyNDA1RjU4MjE4RTYzNDM0Cis6MTAwOUQwMDAwMEY1ODNFMDkwRkQ0MUYwQzIwMzdEMDI3QzAwMTIyNDBCCis6MTAwOUUwMDBCMTEyMzEwODIyMTIzMDg1Nzg4RkVDRjZFQzI0OTdGODlBCis6MTAwOUYwMDBFNjMwRTEwNzdDMTMxMjI1NEE4MDBGOTBGRDQxRTBGREFGCis6MTAwQTAwMDA3ODhGRTZGQzEyMTNGRDEyMjU0QTEyMzEwODIyMTIzMEFCCis6MTAwQTEwMDA4NTc4OEZFQ0Y2N0QwMDEyMEYwQjEyMjU0QTEyMzEwOEYzCis6MTAwQTIwMDAyMjEyMzA4NTc4OEZFQ0Y2RUMyNDk3RjhFNjMwRTIwNzU2Cis6MTAwQTMwMDA3QzEzMTIyNTRBODAxQjc4OEZFNjI0OTdGOEU2MjBFMTg0Cis6MTAwQTQwMDAwNzdDMTIxMjI1NEE4MDBBNzg4RkU2RkMxMjE0MjExMkM0Cis6MTAwQTUwMDAyNTRBMTIzMTA4MjIxMjMwODU3ODhGRUNGNkVDMjQ5NzYzCis6MTAwQTYwMDBGOEU2MjBFMjA3N0MxMTEyMjU0QTgwMEE3ODhGRTZGQzFFCis6MTAwQTcwMDAxMjE1MjIxMjI1NEExMjMxMDgyMjEyMzA4NTc4OEZFQzg1Cis6MTAwQTgwMDBGNjEyMEY3Qzc4QTNFNjI0MDlGNTgyMThFNjM0MDBGNTA3Cis6MTAwQTkwMDA4M0UwOTBGRDQ3RjA3OEEzRTYyNDBBRjU4MjE4RTYzNDU3Cis6MTAwQUEwMDAwMEY1ODNFMDkwRkQ0OEYwNzhBM0U2MjQwM0Y1ODIxODcyCis6MTAwQUIwMDBFNjM0MDBGNTgzRTBGQzc4QTNFNjI0MDRGNTgyMThFNjJBCis6MTAwQUMwMDAzNDAwRjU4M0UwRjU1Qzc4QTNFNjI0MDJGNTgyMThFNkFECis6MTAwQUQwMDAzNDAwRjU4M0UwRjU1RDhDNUJFNEVDMzMzMzU0MDE3ODRFCis6MTAwQUUwMDA4RkY2NjAwOEU1NUMzMEUxMDM3ODhGMDY3ODhGRTY5MDNBCis6MTAwQUYwMDBGRDQ5RjA3OEExRTYyNDAyRjU4MjE4RTYzNDAwRjU4MzdBCis6MTAwQjAwMDBFMEZEQTNFMDU0MENGQ0VENTRFNjhDNUZGNTVFRTU1Qjg0Cis6MTAwQjEwMDAzMEU1MDM0MzVGMDFFNTVDMjBFNTBFRTU1QjU0N0Y3MDQzCis6MTAwQjIwMDAwOEU1NUIyMEU3MDM0MzVGMDJFNTVCMzBFMzAzNDM1RkQ3Cis6MTAwQjMwMDAxMEU1NUIzMEUyMDM0MzVGMjBFNTVCNTQwMzYwMDM0MzUxCis6MTAwQjQwMDA1RjQwRTU1QjMwRTEwMzQzNUY4MEU1NUIzMEU0MDM0M0Y2Cis6MTAwQjUwMDA1RTAxRTU1QjMwRTYwMzQzNUUwOEU1NUMyMEU0MEVFNUZDCis6MTAwQjYwMDA1QjU0N0Y3MDA4RTU1QjIwRTcwMzQzNUUxMDUzNUZGQjM3Cis6MTAwQjcwMDA1MzVFRjlBRDVFRTU1RjkwRkQ0MkNERjBBM0NERjBFNUFCCis6MTAwQjgwMDA1RDMwRTMwREU1NUQ1NDMwQzQ1NDBGOTBGRDQ1RjA4MEI5Cis6MTAwQjkwMDAwNUU0OTBGRDQ1RjBFNTVENTQwMzkwRkQ0NEYwRTU1RDBFCis6MTAwQkEwMDA1NDA0QzMxMzkwRkQ0NkYwOTBGRDQ0RTA3MDBFN0QzRDZCCis6MTAwQkIwMDA3RUZEN0YwMTc0MDE5MDAwMDkxMjAxNDI3OEEzRTYyNEIyCis6MTAwQkMwMDAwOEY1ODIxOEU2MzQwMEY1ODNFMDdDMDBGRDc4QTNFNkEyCis6MTAwQkQwMDAyNDA3RjU4MjE4RTYzNDAwRjU4M0UwN0YwMDRDRkVFRjMxCis6MTAwQkUwMDA0RDkwRkQ0MEYwQTNDRUYwQ0VDMjAzN0QwQTdDMDAxMkYyCis6MTAwQkYwMDAyNEIxMTIzMTA4MjIxMjMwODU3ODhGRUNGNjc4OTQ3NjgxCis6MTAwQzAwMDAwMTA4NzZGRDA4NzY0MDc4OTE3NjBDNzg5NDEyMDQ2NTk4Cis6MTAwQzEwMDAxMjAyMTQ3ODkyQ0JGNkNCMDhGNjdGMDBFRjI0RUI0MDVCCis6MTAwQzIwMDAxRkU0RUYyNUUwOTAzNEJGRkQ5M0NEMDQ5Mzc4OTM2NkU1Cis6MTAwQzMwMDA3MDAzRUQxODY2NzAwNjc4OTE3NjAwODAwMzBGODBEQ0YzCis6MTAwQzQwMDA3ODkwRUZGNjc4OTQxMjA0NjU5MDAwMDIxMjAyMEU3ODA0Cis6MTAwQzUwMDA5MkNCRjZDQjA4RjY1NDA0Q0I1NDA2NEI2MDA0Nzg5MTQzCis6MTAwQzYwMDA3NjBCNzg5M0U2MzBFMzEzNzg5NDEyMDQ2NTkwMDAwNUQwCis6MTAwQzcwMDAxMjAxRUMyNEZCNTAwNDc4OTE3NjBENzg5M0U2NTRDMDcxCis6MTAwQzgwMDA3RDAwNjRDMDRENzAwNDc4OTE3NjBCNzg5NDEyMDQ2NUYxCis6MTAwQzkwMDA5MDAwMDQxMjAxRUMyNEZDNTAwNDc4OTE3NjBGNzg5NEIzCis6MTAwQ0EwMDAxMjA0NjU5MDAwMDYxMjAxRUMyNEZENTAwNDc4OTE3NjQwCis6MTAwQ0IwMDAwRTc4OTQxMjA0NjU5MDAwMDkxMjAxRUMyNEZENTAwNDkyCis6MTAwQ0MwMDA3ODkxNzYwQTc4OTFFNjcwMkE3ODhGRTZGQzEyMEY3QzhDCis6MTAwQ0QwMDA3ODk0MTIwNDY1NzhBMUU2Rjk3OEEwRTZGQTdCMDE3NEFECis6MTAwQ0UwMDAwQTc4MDAxMjAzM0ZDMjAzNzg4RkU2RkMxMjExMjM3OEMyCis6MTAwQ0YwMDA5MUVDRjY3ODkxRTZGQzEyMjU0QTEyMzEwODIyMTIzMDY2Cis6MTAwRDAwMDA4NTc4OEZFQ0Y2MTIwRjdDNzg4RkU2MjRGRDc1RjAwQTVCCis6MTAwRDEwMDBBNDI0MUNGNTgyRTQzNEZERjU4M0FDODJBRDgzNzhBMDc1Cis6MTAwRDIwMDA4NjgzMDg4NjgyRUNGOUVERkE3QjBBNzgwMTEyMDNBNzI0Cis6MTAwRDMwMDBDMjAzNzg4RkU2RkMxMjExMjMxMjMxMDgyMjhEMkI4QzBFCis6MTAwRDQwMDAyQUVENjA0MDc1MjcwMTc1Mjk0ODc1MjhGRkU1MkEyNDlBCis6MTAwRDUwMDBGREZDRTQzNEZGRkRFQzdDMDMyNUUwQ0QzM0NERENGOTc0Cis6MTAwRDYwMDBGQ0U1MjkyQ0Y1MjlFNTI4M0RGNTI4QUQyOUFFMjhBRjZECis6MTAwRDcwMDAyNzc0ODA5MDAwMDYxMjAzMTc3NDgwOTAwMDAyMTIwM0ZCCis6MTAwRDgwMDAxNzEyMEZEM0U1MkIxNDYwM0I3NTI3MDE3NTI5MDg3NUUxCis6MTAwRDkwMDAyOEZGRTUyQTI0RkRGQ0U0MzRGRkZERUM3QzAzMjVFMDdDCis6MTAwREEwMDBDRDMzQ0REQ0Y5RkNFNTI5MkNGNTI5RTUyODNERjUyOEU2Cis6MTAwREIwMDBBRDI5QUUyOEFGMjdFNDkwMDAwNjEyMDMxN0U0OTAwMDk3Cis6MTAwREMwMDAwMjEyMDMxNzIyMTIzMDg1Nzg4RkVDRjZFQzI0OTdGODg0Cis6MTAwREQwMDBFNjMwRTIwOTc4OEZFNkZDMTIxNTIyRDIwMDc4OEZFNjIxCis6MTAwREUwMDBGQzEyMEY3Qzc4OTA3NjAwOTBGRDQxRTAzMEU3MDQ3OEFCCis6MTAwREYwMDA5MDc2MDE3ODkwRTZGRDc4OEZFNkZDMTIwRDNBQzIwM0ZBCis6MTAwRTAwMDAzMDAwMDc3ODhGRTZGQzEyMTQyMTdDMDAxMjI1NEExMjZDCis6MTAwRTEwMDAzMTA4MjI3OEEzRTYyNDA0RjU4MjE4RTYzNDAwRjU4MzJECis6MTAwRTIwMDBFMDQ0MDFGMDc4QTNFNjI0MDRGNTgyMThFNjM0MDBGNUU2Cis6MTAwRTMwMDA4M0UwMzBFMDAyODBFRDc4QTNFNjI0MEJGNTgyMThFNjJCCis6MTAwRTQwMDAzNDAwRjU4M0UwNTRGOEYwNzhBM0U2MjQwMkY1ODIxODI0Cis6MTAwRTUwMDBFNjM0MDBGNTgzRTA0NDgwRjAyMkMyMDM4QzU4MTIwRjgwCis6MTAwRTYwMDA3Qzc4QTA4NjgzMDg4NjgyNzlFRTdBMzQ3QjBBNzgwMUMyCis6MTAwRTcwMDAxMjAzRjUxMjBFMTBBQzU4N0QwMjEyMEQzQUMyMDNBQ0VCCis6MTAwRTgwMDA1ODEyMTEyMzIyOEQ1MzhFNTI4RjUxOEM1MDEyMEY3Qzg5Cis6MTAwRTkwMDA3NTRGMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4MzQzCis6MTAwRUEwMDBFMDIwRTQxNkU1NEYyNEY2NDAxMDA1NEZDMjAzN0MxOEZECis6MTAwRUIwMDAxMjMyNDhBQzUwMTIwRjdDODBEOTc4QTNFNjI0MDVGNTk1Cis6MTAwRUMwMDA4MjE4RTYzNDAwRjU4M0UwMjBFNDA1QzIwMzdDMDIyMkE4Cis6MTAwRUQwMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4M0UwNTQwRjg0Cis6MTAwRUUwMDA2MDE2NzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDYxCis6MTAwRUYwMDA1NDBGRjBDMjAzN0MwMTIyNzhBMjg2ODMwODg2ODJFMDI4Cis6MTAwRjAwMDBBRDUzQUU1MkFGNTExMjAzMEZDMjAzN0MwMDIyOEQzMTlDCis6MTAwRjEwMDA4QzMwMTIxNTIyRTUzMTYwMjBFNTMwQjQwMzBDN0MwMUUxCis6MTAwRjIwMDAxMjI0N0M3QzgxMTIyNDdDODAwRkU1MzBCNDA0MEE3QzdFCis6MTAwRjMwMDAwMjEyMjQ3QzdDODIxMjI0N0NBQzMwMTIwRjdDRTUzMUJFCis6MTAwRjQwMDA2MDFBNzhBNDg2ODMwODg2ODJFMDU0RTdGMEEzQTNBM0ZFCis6MTAwRjUwMDBBM0UwNTRFN0YwQUMzMDdEMDIxMjBEM0E3OEEwODY4MzBFCis6MTAwRjYwMDAwODg2ODI3OUY4N0EzNDdCMEE3ODAxMTIwM0Y1QzIwMzg1Cis6MTAwRjcwMDBFNTMwMjQ5N0Y4QzY1NEZERjZBQzMwMTIxMTIzMjI4Q0NDCis6MTAwRjgwMDAyNjMwMDMwNTEyMzFFNzgwRjg3QzBBMTIzMEZBRDIwM0NBCis6MTAwRjkwMDBFNTI2MjRGRDc4OURGNjcwMDk3OEE0NzZGRjA4NzZFMEIyCis6MTAwRkEwMDA4MDA3NzhBNDc2RkYwODc2RTI3ODlERTY3NUYwMTBBNEI1Cis6MTAwRkIwMDBBREYwRkMyNEEwNzhBM0Y2RUQzNEZGMThGNjc4OURFNjlBCis6MTAwRkMwMDA3NUYwMEFBNDI0MDhGQ0U0MzRGREZENzhBMEVERjYwOEQxCis6MTAwRkQwMDBFQ0Y2MTIzMTkzMjI3OEEzRTYyNDAyRjU4MjE4RTYzNDY3Cis6MTAwRkUwMDAwMEY1ODNFMDMwRTcyMjc4QTNFNjI0MDJGNTgyMThFNkQ0Cis6MTAwRkYwMDAzNDAwRjU4M0UwNTQ3RkYwNzhBM0U2MjQwMkY1ODIxOEVDCis6MTAxMDAwMDBFNjM0MDBGNTgzRTA0NDgwRjAyMjc4QTQ4NjgzMDg4NkU1Cis6MTAxMDEwMDA4MkUwNTQ3RkYwQUQ4M0U1ODIyNDA0RkNFNDNEOEM4MkMxCis6MTAxMDIwMDBGNTgzRTA1NDdGRjA3OEEzRTYyNDBCRjU4MjE4RTYzNENDCis6MTAxMDMwMDAwMEY1ODNFMDU0RjhGMDc4QTVFNjI0MDFGNTgyMThFNjdGCis6MTAxMDQwMDAzNDAwRjU4M0UwNDQwM0YwNzhBNUU2MjQwNUY1ODIxODIyCis6MTAxMDUwMDBFNjM0MDBGNTgzRTA0NDAzRjA3OEEzRTYyNDA1RjU4MjQ2Cis6MTAxMDYwMDAxOEU2MzQwMEY1ODM3NDBGRjAyMjc4QTQ4NjgzMDg4NjhFCis6MTAxMDcwMDA4MkUwNTQzRkYwQUQ4M0U1ODIyNDA0RkNFNDNEOEM4MkExCis6MTAxMDgwMDBGNTgzRTA1NDNGRjA3ODlERTYyNDlFRjhFNkZDNzhBNUQxCis6MTAxMDkwMDBFNjI0MDFGNTgyMThFNjM0MDBGNTgzRUNGMDc4OURFNjRECis6MTAxMEEwMDAyNDlFRjhFNkZDNzhBNUU2MjQwNUY1ODIxOEU2MzQwMENGCis6MTAxMEIwMDBGNTgzRUNGMDc4QTNFNjI0MEJGNTgyMThFNjM0MDBGNTBFCis6MTAxMEMwMDA4M0UwNTRGQjQ0MDJGNTI2NzhBMUU2MjQwMkY1ODIxODU5Cis6MTAxMEQwMDBFNjM0MDBGNTgzRTAzMEU1MDM0MzI2MDE3OEEzRTYyNEY3Cis6MTAxMEUwMDAwNUY1ODIxOEU2MzQwMEY1ODNFMDMwRTAwMzEyMEZEM0YzCis6MTAxMEYwMDBFNTI2RkM3OEEzRTYyNDBCRjU4MjE4RTYzNDAwRjU4Mzk4Cis6MTAxMTAwMDBFQ0YwNzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODM3NDQ0Cis6MTAxMTEwMDAwRkYwNzhBNDg2ODMwODg2ODJFMDQ0ODBGMEEzQTNBMzFFCis6MTAxMTIwMDBBM0UwNDQ4MEYwMjI4QzJBMTIwRjdDNzhBMUU2MjQwOEU4Cis6MTAxMTMwMDBGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTNFNjI0MEFGNThFCis6MTAxMTQwMDA4MjE4RTYzNDAwRjU4M0VDRjA3OEExRTYyNDA3RjU4MkY2Cis6MTAxMTUwMDAxOEU2MzQwMEY1ODNFMEZDNzhBM0U2MjQwOUY1ODIxODRDCis6MTAxMTYwMDBFNjM0MDBGNTgzRUNGMDc4QTA4NjgzMDg4NjgyRTBGRDAzCis6MTAxMTcwMDBBM0UwRkNFREZFNzhBM0U2MjQwOEY1ODIxOEU2MzQwMDJGCis6MTAxMTgwMDBGNTgzRUVGMEVDRkU3OEEzRTYyNDA3RjU4MjE4RTYzNDRBCis6MTAxMTkwMDAwMEY1ODNFRUYwOEMyOThEMjhDM0VDOTQwMkVEOTQwNkMzCis6MTAxMUEwMDA0MDA1NzUyNzdDODAzM0QzRTUyOTk0ODFFNTI4OTQwMTk3Cis6MTAxMUIwMDA0MDA1NzUyNzNDODAyM0QzRTUyOTk0QzBFNTI4OTQwMDk5Cis6MTAxMUMwMDA0MDA1NzUyNzE4ODAxM0QzRTUyOTk0MzBFNTI4OTQwMDRECis6MTAxMUQwMDA0MDA1NzUyNzBDODAwMzc1MjcwOEFGMjdFNEVGNTQ3QzgyCis6MTAxMUUwMDA0NDgzRkY4RjI3RTUyN0ZDNzhBNUU2MjQwMUY1ODIxOEM0Cis6MTAxMUYwMDBFNjM0MDBGNTgzRUNGMEU1MjdGQzc4QTVFNjI0MDVGNTU4Cis6MTAxMjAwMDA4MjE4RTYzNDAwRjU4M0VDRjBFNTI3RkM3ODlERTYyNEFGCis6MTAxMjEwMDA5RUY4RUNGNjc4QTNFNjI0MDJGNTgyMThFNjM0MDBGNTkxCis6MTAxMjIwMDA4M0UwRjUyNzc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNTdDCis6MTAxMjMwMDA4M0EzRTAzMEUzMTc1MzI3Qzc3OEExRTYyNDA1RjU4MjlFCis6MTAxMjQwMDAxOEU2MzQwMEY1ODNFMDkwMzRFOTkzNDIyNzc4QTFFNjZDCis6MTAxMjUwMDAyNDAyRjU4MjE4RTYzNDAwRjU4M0UwMzBFNzA1NDMyN0UxCis6MTAxMjYwMDA0MDgwMDM1MzI3QkY1MzI3RkI3OEExRTYyNDA2RjU4MjZECis6MTAxMjcwMDAxOEU2MzQwMEY1ODNFMDYwMDM0MzI3MDQ1MzI3RkM3ODI1Cis6MTAxMjgwMDBBMUU2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDQyMjc0MzAyCis6MTAxMjkwMDAyNzgwRTUyN0ZDNzhBM0U2MjQwMkY1ODIxOEU2MzQwMENGCis6MTAxMkEwMDBGNTgzRUNGMDc4QTNFNjI0MDRGNTgyMThFNjM0MDBGNTIzCis6MTAxMkIwMDA4M0UwRjUyNzc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNUVDCis6MTAxMkMwMDA4M0EzRTAzMEUxMDU1MzI3REY4MDAzNDMyNzIwNzhBMTgzCis6MTAxMkQwMDBFNjI0MDJGNTgyMThFNjM0MDBGNTgzRTAzMEU0MDU1Mzk1Cis6MTAxMkUwMDAyN0VGODAwMzQzMjcxMDc4QTFFNjI0MDlGNTgyMThFNjRBCis6MTAxMkYwMDAzNDAwRjU4M0UwQjQwMjAzNDMyNzAyRTUyN0ZDNzhBMzFBCis6MTAxMzAwMDBFNjI0MDRGNTgyMThFNjM0MDBGNTgzRUNGMDc4QTNFNkQxCis6MTAxMzEwMDAyNDAzRjU4MjE4RTYzNDAwRjU4M0UwRjUyNzc4QTFFNjhBCis6MTAxMzIwMDAyNDA5RjU4MjE4RTYzNDAwRjU4M0UwNzAwNTUzMjc3RjIxCis6MTAxMzMwMDA4MDAzNDMyNzgwNzhBMUU2MjQwMkY1ODIxOEU2MzQwMDcyCis6MTAxMzQwMDBGNTgzQTNFMDMwRTAwNTQzMjcyMDgwMDM1MzI3REY3OEFGCis6MTAxMzUwMDBBMUU2MjQwMkY1ODIxOEU2MzQwMEY1ODNFMDMwRTMwNUM3Cis6MTAxMzYwMDA0MzI3NDA4MDAzNTMyN0JGNzhBMUU2MjQwMkY1ODIxODYzCis6MTAxMzcwMDBFNjM0MDBGNTgzRTAzMEUwMDU0MzI3MTA4MDAzNTMyNzZGCis6MTAxMzgwMDBFRjc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMEE1Cis6MTAxMzkwMDAzMEU0MDU0MzI3MDg4MDAzNTMyN0Y3NzhBMUU2MjQwMkE5Cis6MTAxM0EwMDBGNTgyMThFNjM0MDBGNTgzQTNFMDMwRTUwNTQzMjcwNDExCis6MTAxM0IwMDA4MDAzNTMyN0ZCNzhBMUU2MjQwMkY1ODIxOEU2MzQwMDY3Cis6MTAxM0MwMDBGNTgzQTNFMDMwRTYwNTQzMjcwMTgwMDM1MzI3RkU3ODI5Cis6MTAxM0QwMDBBMUU2MjQwMkY1ODIxOEU2MzQwMEY1ODNBM0UwMzBFN0E1Cis6MTAxM0UwMDAwNTQzMjcwMjgwMDM1MzI3RkRFNTI3RkM3OEEzRTYyNDY1Cis6MTAxM0YwMDAwM0Y1ODIxOEU2MzQwMEY1ODNFQ0YwQzIwMzdDMDAyMjhBCis6MTAxNDAwMDA4RDI3OEMyNkVENTQwMzE0NjAwMzdDMTAyMkU1Mjc1NEFECis6MTAxNDEwMDA3QzI0RkM0MDAzN0MwQjIyRTUyNjI0OTdGOEM2NDQwMjdBCis6MTAxNDIwMDBGNjdDMDAyMjhDMzAxMjBGN0NFNTMwMjQ5N0Y4RTYyMDAxCis6MTAxNDMwMDBFMjRGQUMzMDdEMDIxMjBEM0FFNTMwMjRGRTQ0MjhGQzI4Cis6MTAxNDQwMDA3OEE0ODY4MzA4ODY4MkVDRjBBRjgzRTU4MjI0MDRGRUNDCis6MTAxNDUwMDBFNDNGRkZFQzhFODI4RjgzRjA3QzAzOEMyQ0U1MkNGQzI4Cis6MTAxNDYwMDA3OEE1RTYyNDAxRjU4MjE4RTYzNDAwRjU4M0VDRjBFNTcyCis6MTAxNDcwMDAyQ0ZDNzhBNUU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFQzBCCis6MTAxNDgwMDBGMDc1MkQwMTc1MkY0ODc1MkVGRkU1MzAyNEZERkNFNDI1Cis6MTAxNDkwMDAzNEZGRkRFQzdDMDMyNUUwQ0QzM0NERENGOUZDRTUyRkZBCis6MTAxNEEwMDAyQ0Y1MkZFNTJFM0RGNTJFNzhBNUU2MjQwNEY1ODIxOEJGCis6MTAxNEIwMDBFNjM0MDBGNTgzRTA1NEU3RjUyQ0FEMkZBRTJFQUYyRENBCis6MTAxNEMwMDBFNDkwMDAwMjEyMDMxN0U0OTAwMDA2MTIwMzE3MTIwMUMxCis6MTAxNEQwMDBFNjMwRTUwMzQzMkMxMEU1MkNGQzc4QTVFNjI0MDRGNTYyCis6MTAxNEUwMDA4MjE4RTYzNDAwRjU4M0VDRjAxMjEwNjc3OEEzRTYyNDQ2Cis6MTAxNEYwMDAwNkY1ODIxOEU2MzQwMEY1ODNFMEMyMDNGQ0U1MzAyNEVCCis6MTAxNTAwMDA5N0Y4QzY0NDA0RjY4QzJDRTUzMDU0MEZDNDU0RjA3RTkyCis6MTAxNTEwMDAwMEZGRUVFRjQ0MDQ3RDAwRkZFQzRFRkNFRDRGRkQxMkFBCis6MTAxNTIwMDAxQ0ZFN0MwMDIyOEMyRjEyMEY3QzEyMTAwNzc4QTQ4NkUwCis6MTAxNTMwMDA4MzA4ODY4MkUwNTQwOEYwQTNBM0EzQTNFMDU0MDhGMDM0Cis6MTAxNTQwMDBBQzJGN0QwMjEyMEQzQUMyMDNFNTJGMjQ5N0Y4QzY1NDQyCis6MTAxNTUwMDBGQkY2N0MwMDIyMTIzMDg1Nzg5MEVDRjZFQzI0OTdGOEFDCis6MTAxNTYwMDBFNjMwRTEwQTdEMDA3QzEzMTIyNEIxMTIzMTA4Nzg5MDM0Cis6MTAxNTcwMDBFNjI0OTdGOEM2NDQwMUY2Nzg5MEU2RkMxMjBGN0M3OEQyCis6MTAxNTgwMDA5MEU2MjRGRDc1RjAwQUE0MjQxQ0Y1ODJFNDM0RkRGNUYwCis6MTAxNTkwMDA4Mzc4QTBFNkZBMDhFNkY5N0IwQTc4MDExMjAzQTc3OEI3Cis6MTAxNUEwMDBBMDg2ODMwODg2ODI3OUY4N0EzNDdCMEE3ODAxMTIwMzUwCis6MTAxNUIwMDBGNTEyMEZEM0MyMDM3ODkwRTZGQzEyMTEyMzc4OEZFQzVBCis6MTAxNUMwMDBGNkVDNjAwQTdEMDA3QzA4MTIyNEIxMTIzMTA4Nzg5MDk0Cis6MTAxNUQwMDBFNkZDMTIwRjdDNzhBM0U2MjQwNEY1ODIxOEU2MzQwMEJBCis6MTAxNUUwMDBGNTgzRTA0NDEwNTRERkZDNzhBM0U2MjQwNEY1ODIxODY4Cis6MTAxNUYwMDBFNjM0MDBGNTgzRUNGMDc4OEZFQ0Y2QzIwMzdDQzgxMjc5Cis6MTAxNjAwMDAzMjQ4Nzg5MEU2RkMxMjBGN0M3OEEzRTYyNDA0RjU4MjM5Cis6MTAxNjEwMDAxOEU2MzQwMEY1ODNFMDU0RUZGMEMyMDM3Q0M4MTIzMkMwCis6MTAxNjIwMDA0ODc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNEY1ODIxODMzCis6MTAxNjMwMDBFNjM0MDBGNTgzRTA0NDEwRjBDMjAzN0NDODEyMzI0ODVGCis6MTAxNjQwMDA3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDRGNTgyMThFNjc1Cis6MTAxNjUwMDAzNDAwRjU4M0UwNDQyMEYwQzIwMzdDRjAxMjMyNDg3ODc1Cis6MTAxNjYwMDA5MEU2RkMxMjBGN0M3OEEzRTYyNDA1RjU4MjE4RTYzNDk4Cis6MTAxNjcwMDAwMEY1ODNFMDMwRTQxNUMyMDM3ODkwRTY0NDEwN0YwMDYzCis6MTAxNjgwMDBGRTdDMDcxMjMxOUExMjMxMDgwMjE3NDk3OEEzRTYyNDJBCis6MTAxNjkwMDAwNEY1ODIxOEU2MzQwMEY1ODNFMDU0Q0ZGMEMyMDM3Q0YxCis6MTAxNkEwMDBDODEyMzI0ODc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNDM2Cis6MTAxNkIwMDBGNTgyMThFNjM0MDBGNTgzRTA0NDMwRjBDMjAzN0NGMDk0Cis6MTAxNkMwMDAxMjMyNDg3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDVGNUU4Cis6MTAxNkQwMDA4MjE4RTYzNDAwRjU4M0UwMzBFNDE0QzIwMzc4OTBFNjIzCis6MTAxNkUwMDA0NDEwN0YwMEZFN0MwNzEyMzE5QTEyMzEwODgwNUQ3ODI5Cis6MTAxNkYwMDBBM0U2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDU0RUZGMDA1Cis6MTAxNzAwMDA3OEEzRTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwNTRERjdDCis6MTAxNzEwMDBGMDc4OTBFNjI0RkQ3NUYwMEFBNDI0MUNGNTgyRTQzNEU4Cis6MTAxNzIwMDBGREY1ODNBQzgyQUQ4Mzc4QTA4NjgzMDg4NjgyRUNGOUQwCis6MTAxNzMwMDBFREZBN0IwQTc4MDExMjAzQTdDMjAzNzg5MEU2RkMxMjQ3Cis6MTAxNzQwMDAxMTIzN0QwMDdDMEIxMjI0QjExMjMxMDgyMjEyMzA4NTQ2Cis6MTAxNzUwMDA5MEZGOTFFMDkwRkQ0MUYwN0QwMjdDMDAxMjI0QjExMkQ3Cis6MTAxNzYwMDAzMTA4MjIxMjMwODU5MEZENDBFMEY0RkM5MEZGOTFFMEJBCis6MTAxNzcwMDA1Q0Y1MzM5MEZENDFFMEZDOTBGRDQwRTA1QzQyMzNFNUQ4Cis6MTAxNzgwMDAzMzkwRkY5MUYwN0MwMDEyMjU0QTEyMzEwODIyNzQzQ0ZDCis6MTAxNzkwMDA5MEZCRThGMDc0M0U5MEZCRThGMEU0OTBGRDMwRjAyMjFFCis6MTAxN0EwMDA4RDM1OEMzNEVDQjQwMTAyODAwM0QzNDAwMjgwMjhCNDIwCis6MTAxN0IwMDAwMjAyODAwM0QzNDAwOEE4MzVDNjI1RTBGNjgwMThCNDlECis6MTAxN0MwMDAwNDAyODAwM0QzNDAwQUE4MzVDNjI1RTAyNUUwRjY4MDUwCis6MTAxN0QwMDAwNkE4MzU3NjAwODAwMDIyOEMzQzhEM0JFREZFRUNGREFBCis6MTAxN0UwMDA3RjAxNzU2MDA2NzU2MTAwOTBGRDMxMTIwNDZFMTIwMTczCis6MTAxN0YwMDBFNkI0ODAwMjgwMDZEMzUwMDMwMjE4OUU5MEZEMzExMjk5Cis6MTAxODAwMDAwNDgwOTAwMDAzMTIwMUVDNTRGMEI0MzAwMjgwMDNEMzQyCis6MTAxODEwMDA0MDVGOTBGRDMxMTIwNDgwOTAwMDA4MTIwMjBFRkFGRDI0Cis6MTAxODIwMDBFQkZFN0YwMTkwRkQzNDEyMDQ2RUVFQ0Q5MDM1MDJGQzhDCis6MTAxODMwMDBFNDkzRkY3NDAxOTNGRUY5RUZGQTdCMDFFQUZGRTlGRUZFCis6MTAxODQwMDBFQ0MzOUVFRDlGNDAyNTkwMzUwNEU0OTNGRDc0MDE5MzE1Cis6MTAxODUwMDBGQ0VERkVFQ0ZEN0YwMUVFQ0RGQzkwRkQzNkUwRDM5QzZGCis6MTAxODYwMDA5MEZEMzVFMDlENTAwNTc1NjA4MDgwMzMxMjE5QkM4MDc1Cis6MTAxODcwMDAyRUI0NjAwMjgwMDNEMzQwMEJBQzNDQUQzQjEyMDc4MjE4Cis6MTAxODgwMDA4QzYwODAxQkI0MTAwM0IzNDAxMEMzQjQyMDAzQjM0MDdBCis6MTAxODkwMDAwOUMzQjQ0MDAyODAwM0QzNDAwMDc1NjA4MTgwMDA4MDlBCis6MTAxOEEwMDA3NUI0ODEwMjgwMDNEMzQwNkI5MEZEMzExMjA0ODA5MEE3Cis6MTAxOEIwMDAwMDAzMTIwMUVDNTRGMEI0MzAwMjgwMDNEMzQwMUQ5MEI5Cis6MTAxOEMwMDBGRDMxMTIwNDgwOTAwMDA4MTIwMjBFRkFGREVCRkU3RjNCCis6MTAxOEQwMDAwMTkwRkQzNzEyMDQ2RTEyMTkyNjgwMzZCNDYwMDI4MDIyCis6MTAxOEUwMDAwM0QzNDAxMzc1M0E2MUU0RjUzOUY1MzhBQzNDQUQzQkIwCis6MTAxOEYwMDAxMjA1REU4QzYwODAxQkI0MTAwM0IzNDAxMEMzQjQyMDBCCis6MTAxOTAwMDAwM0IzNDAwOUMzQjQ0MDAyODAwM0QzNDAwMDc1NjA4MTMzCis6MTAxOTEwMDA4MDAwODAwMjgwMDBFNTYwRkM5MEZEMzExMjA0ODBFQ0M0Cis6MTAxOTIwMDA5MDAwMDIxMjAzMTdBQzYxMjI5MEZEMzExMjA0ODA5MEU2Cis6MTAxOTMwMDAwMDA0MTIwMUVDNjAwNDc0MDE4MDAxRTRBMkUwOTIwMTUxCis6MTAxOTQwMDA5MEZEMzExMjA0ODBFRDI0MDNGRDUwMDEwRTkwRkQzNDEyCis6MTAxOTUwMDAxMjA0NkU5MEZEMzExMjA0ODA5MDAwMDUxMjAxRUNGNTI2Cis6MTAxOTYwMDA2MTkwMDAwNDEyMDFFQzU0MEZGQzdENjExMjE3OURFNTlCCis6MTAxOTcwMDA2MTcwMDQ3NTYwMDgyMjc1NjAwMDc4N0U3NjAwNzg3RTVDCis6MTAxOTgwMDBFNkMzOTU2MTUwMzg5MEZEMzcxMjA0ODAxMjAxRTZGQ0UxCis6MTAxOTkwMDA5MEZEMzQxMjA0ODBFQzEyMDMwRjMwMDEwRTkwRkQzOURCCis6MTAxOUEwMDBFMDA0RjA5MEZEMzg3MDAzRTAwNEYwNzg3RTA2OTBGRENFCis6MTAxOUIwMDAzNkUwMDRGMDkwRkQzNTcwMDNFMDA0RjA4MEMwMjI5MDIyCis6MTAxOUMwMDBGRDMyRTBGREEzRTBGQ0VERkVFQ0ZEN0YwMUVEMjQwQTFECis6MTAxOUQwMDBGRDUwMDEwRTkwRkQzQTEyMDQ2RTkwRkQzMTEyMDQ4MDBDCis6MTAxOUUwMDA5MDAwMDQxMjAxRUM1NDBGQjQwMTAyODAwM0QzNDAxNzlECis6MTAxOUYwMDA5MEZEM0ExMjA0ODAwREVENzAwMTBFOTBGRDM3MTIwNDM3Cis6MTAxQTAwMDA2RTc4ODI3NjAxODA0RUI0MDIwMjgwMDNEMzQwMTk5MDMyCis6MTAxQTEwMDBGRDNBMTIwNDgwRUQyNDAyRkQ1MDAxMEU5MEZEMzcxMkI0Cis6MTAxQTIwMDAwNDZFNzg4Mjc2MDI4MDJEQjQwNDAyODAwM0QzNDAxOUJDCis6MTAxQTMwMDA5MEZEM0ExMjA0ODBFRDI0MDRGRDUwMDEwRTkwRkQzNzE0Cis6MTAxQTQwMDAxMjA0NkU3ODgyNzYwNDgwMENCNDAwMDI4MDAzRDM0MEM2Cis6MTAxQTUwMDAwMDc1NjAwODIyOTBGRDMxMTIwNDgwOTAwMDA1MTIwMThCCis6MTAxQTYwMDBFQ0Y1NjE3ODdGNzYwMDc4N0ZFNkMzOTU2MTQwMDMwMkVDCis6MTAxQTcwMDAxQjI0Nzg4MDc2MDA3ODgwRTZDMzc4ODI5NjUwNzY5MDMyCis6MTAxQTgwMDBGRDM0MTIwNDgwMTIwMUU2RkM5MEZEM0ExMjA0ODkxMjIyCis6MTAxQTkwMDAwMUUwRjQ1Q0ZDMTIwMUUwRjg5MEZEMzcxMjA0ODBFOEVDCis6MTAxQUEwMDBDMEUwMTIwMUU2QzhEMEUwQzg1ODRDRkM5MEZEMzQxMkVBCis6MTAxQUIwMDAwNDgwRUMxMjAzMEY3ODgxRUNGNjkwRkQzOUUwMDRGMDFECis6MTAxQUMwMDA5MEZEMzg3MDAzRTAwNEYwMDlFOTcwMDEwQTkwRkQzQUQ2Cis6MTAxQUQwMDAxMjA0Nzc5MEZEMzExMjA0ODA5MDAwMDQxMjAxRUMzMDYyCis6MTAxQUUwMDBFNDBFOTBGRDM2RTAwNEYwOTBGRDM1NzAwM0UwMDRGMDY0Cis6MTAxQUYwMDA3ODgwMDY4MDgxNzg4MkU2RkRFNEZFRkZFRUNERkM5MEUyCis6MTAxQjAwMDBGRDM5RTAyQ0YwOTBGRDM4RTAzREYwNzg4MkU2RkRFNDEwCis6MTAxQjEwMDBGRUZGRUVDREZDOTBGRDNDRTAyQ0YwOTBGRDNCRTAzRDY3Cis6MTAxQjIwMDBGMDc4N0YwNjAyMUE2NDc1NjAwMDIyRTUzRDA1M0QwNEU5Cis6MTAxQjMwMDA3MDAyQjJCMDIyQzBFMEMwRjBDMDgyQzA4M0MwRDBFODYyCis6MTAxQjQwMDBDMEUwRTlDMEUwRUFDMEUwRUJDMEUwRUNDMEUwRURDMDFFCis6MTAxQjUwMDBFMEVFQzBFMEVGQzBFMDkwRkY5MkUwMTIwMUI3MUI4MDIyCis6MTAxQjYwMDAzMDFCODAzMjFCOEYzODFCQTEzQTFCQjMzRTFCQ0I0NDZBCis6MTAxQjcwMDAxQkJGNDYxQkQ3NTAxQzE5NTIxQkY4NTQxQzNBNTYwMDY5Cis6MTAxQjgwMDAwMDFDNUI5MEZGOTJFMDdGMDBGRTdDMDExMjMxOUEwMjA0Cis6MTAxQjkwMDAxQzZCRTRGRjA0RkU3QzAzMTIzMTlBNzQyMDkwRkZGRTVDCis6MTAxQkEwMDBGMDAyMUM2QkU0RkYwNEZFN0MwMjEyMzE5QTc0NDA5MDM4Cis6MTAxQkIwMDBGRkZFRjAwMjFDNkJFNEZGMDRGRTdDMDQxMjMxOUEwMjZCCis6MTAxQkMwMDAxQzZCRTRGRjA0RkU3QzA1MTIzMTlBMDIxQzZCRTRGRkRGCis6MTAxQkQwMDAwNEZFN0MwNjEyMzE5QTAyMUM2QjkwRkZBNUUwN0QwMDhBCis6MTAxQkUwMDA5MEZEMDBDREYwQTNDREYwOTBGRDAxRTBGQ0Y1ODM5MEQ5Cis6MTAxQkYwMDBGRDAwRTA0NDMzRkQxMjFDRkU4MDczOTBGRkI1RTA3REQ0Cis6MTAxQzAwMDAwMDkwRkQwMkNERjBBM0NERjA5MEZEMDNFMEZDRjU4MzQ0Cis6MTAxQzEwMDA5MEZEMDJFMDQ0NDNGRDEyMUNGRTgwNTI5MEZGQTZFMEJFCis6MTAxQzIwMDA3RDAwOTBGRDA0Q0RGMEEzQ0RGMDkwRkQwNUUwRkNGNTI2Cis6MTAxQzMwMDA4MzkwRkQwNEUwNDQzNEZEMTIxQ0ZFODAzMTkwRkZCNjE5Cis6MTAxQzQwMDBFMDdEMDA5MEZEMDZDREYwQTNDREYwOTBGRDA3RTBGQzE3Cis6MTAxQzUwMDBGNTgzOTBGRDA2RTA0NDQ0RkQxMjFDRkU4MDEwOTBGRkM5Cis6MTAxQzYwMDA5MkUwN0QwMEZDRUQ0NEFBRkQxMjFDRkU4MDAwRTQ5MDkxCis6MTAxQzcwMDBGRjkyRjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMDVECis6MTAxQzgwMDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODNEMEJCCis6MTAxQzkwMDA4MkQwRjBEMEUwMzIwNTgxMDU4MTA1ODEwNTgxQTg4MURGCis6MTAxQ0EwMDAxODE4MThFREY2MDhFQ0Y2OTBGRjZBRTAyMEU3MDI4MEJECis6MTAxQ0IwMDBGNzkwRkY2OUUwN0QwMEE4ODExOENERjZDRDA4RjY3RDhDCis6MTAxQ0MwMDAwM0E4ODFFNjE4RkNFNkNDMjVFMENDMzNDQ0RERjlDQ0NBCis6MTAxQ0QwMDBGNkNDMDhGNkE4ODExOEU2NDRGOEY2QTg4MTE4MTgxODdBCis6MTAxQ0UwMDBFNkZEMDhFNkZDQTg4MTE4ODY4MzA4ODY4MkVERjBBMzRECis6MTAxQ0YwMDBFQ0YwNzQwMjkwRkY2QUYwMTU4MTE1ODExNTgxMTU4MTUxCis6MTAxRDAwMDAyMkU1ODEyNDA1RjU4MUU0QTg4MTE4RjZBODgxMTgxODM4Cis6MTAxRDEwMDAxODE4RURGNjA4RUNGNjkwRkJGREUwMjRGODUwMDMwMkVECis6MTAxRDIwMDAxRTFGRTRBODgxMTgxOEY2QTg4MTE4RTZGRUE4ODExOERECis6MTAxRDMwMDAxODE4MThFNkZEMDhFNkZDN0YwMEVGMjRGODQwNERFNDkzCis6MTAxRDQwMDBFRjI1RTAyNDg1RjU4MkU0MzRGREY1ODNFMEZCQTNFMDk0Cis6MTAxRDUwMDA2QzcwMDNGQUVCNkQ3MDA5NzQwMUE4ODExODE4RjY4MDk1Cis6MTAxRDYwMDAyQkU0RUYyNUUwMjQ4NUY1ODJFNDM0RkRGNTgzN0EwMDQ5Cis6MTAxRDcwMDBFMDU0RjBDQ0Y4Q0NDREY5Q0RGQjc4MDBFOTU0RjBGOTgzCis6MTAxRDgwMDBFQTY4NzAwMkVCNjk3MDAxMEUwRjgwQUVBODgxMThFRTUwCis6MTAxRDkwMDBGNkE4ODExODE4MTgxOEVERjYwOEVDRjZBODgxRUZGNkU5Cis6MTAxREEwMDBBODgxMTgxOEU2NzA3OUE4ODExOEU2MjRGNzQwNzFBODcwCis6MTAxREIwMDA4MTE4MTgxODE4RTY1NDBGQTg4MUY2NjQwNDYwMTdBODUzCis6MTAxREMwMDA4MUU2NjQwMzYwMTBBODgxMTgxODE4MThFNkZEMDhFNjdCCis6MTAxREQwMDBGQzEyMUM5MzgwNEE3QzBBMTIzMEZBQTg4MTE4MTgxODQ5Cis6MTAxREUwMDAxOEU2RkQwOEU2RkM5MEZCRkNFMDI1RTAyNDg1RjU4MjgyCis6MTAxREYwMDBFNDM0RkRGNTgzRURGMEEzRUNGMDkwRkJGQ0UwRkZFNEIwCis6MTAxRTAwMDBFRjA0NTQwN0ZGOTBGQkZDRjA5MEZCRkRFMDA0RjAxMkEwCis6MTAxRTEwMDAzMTkzOTBGQkZFRTA3MDA4RTRGRUZGN0MwRjEyMzE5QUQ0Cis6MTAxRTIwMDA4MDI3OTBGQkZGRTAwNEYwNTQzRjcwMUQ5MEZCRkZFMDIzCis6MTAxRTMwMDA0NEZFN0QwMEZDOTBGQkZDRTAyNUUwMjQ4NUY1ODJFNDc3Cis6MTAxRTQwMDAzNEZERjU4M0VERjBBM0VDRjBFNTgxMjRGQkY1ODEyMjcwCis6MTAxRTUwMDA3ODg1NzYwMDc4ODY3NjAwNzQwMTkwRkJGRUYwMTIzMDZCCis6MTAxRTYwMDA4NTkwRkJGREUwNjA1OTdDMEExMjMwRkE5MEZCRkJFMEE0Cis6MTAxRTcwMDAyNUUwMjQ4NUY1ODJFNDM0RkRGNTgzRTBGREEzRTBGQzU0Cis6MTAxRTgwMDA5MEZCRkJFMDI1RTAyNDg1RjU4MkU0MzRGREY1ODNFNDU2Cis6MTAxRTkwMDBGMEEzRjA5MEZCRkJFMEZGRTRFRjA0NTQwN0ZGOTBGQjlFCis6MTAxRUEwMDBGQkYwOTBGQkZERTAxNEYwNzg4M0VERjYwOEVDRjYxMjAxCis6MTAxRUIwMDAzMTkzQjJCMzc4ODNFNkZEMDhFNkZDMTIwOEU1ODBBMTExCis6MTAxRUMwMDAxMjMxRTc3ODg1MDZCNjAwMTE3ODg1NzYwMDc4ODZFNkM3Cis6MTAxRUQwMDBGNDA0MDRBMkUwOTJCNDc4ODZGNjgwODVFNDkwRkJGRUQ4Cis6MTAxRUUwMDBGMDkwRkJGREUwN0QwMEZDRUQ0NENGRkQxMjFDOTMxMjUxCis6MTAxRUYwMDAzMTA4MjIxMjMwODVFNTZBNjQ0OTQ1Njk2MDE1OTBGRjEyCis6MTAxRjAwMDA4M0UwNTQwRjdEMDBEMzk1NkFFRDk1Njk1MDA1MTIyRTNDCis6MTAxRjEwMDBDRTgwMDMxMjJGOUUxMjMxMDgyMjEyMzA4NUU1NkE2NEFBCis6MTAxRjIwMDA0OTQ1Njk2MDA1MTIyRkQ4ODAwRTkwRkY4MEUwNDQwODczCis6MTAxRjMwMDBGMDkwRkY4M0UwNTQ3RkYwMTIzMTA4MjIxMjMwODU4QzNDCis6MTAxRjQwMDA1NEVDNTRGMEI0MTAxNTc1NjQzRDc1NjNGRDc1NjIwMTcxCis6MTAxRjUwMDBFNTY0MjQwM0Y1NjRFNTYzMzQwMEY1NjNFNEY1NTdGNUJGCis6MTAxRjYwMDA1NkU1NTZDMzk0MDE1MDI3RTU1NDU0MEZGQ0FENjRBRUJBCis6MTAxRjcwMDA2M0FGNjIxMjBFODI4QzU1RUM2MDAyODAxMjA1NjRFNTNDCis6MTAxRjgwMDA2NDcwMDIwNTYzMDU1N0U1NTc3MDAyMDU1NjgwRDJFNTc3Cis6MTAxRjkwMDA1NDU0MEYyNDk3RjhDNjU0RkVGNkU1NTQ1NDBGN0YwMEFFCis6MTAxRkEwMDBGRTdDMTIxMjMxOUFFNTU1MTQ3MDA5N0QwMDdDMDkxMkVECis6MTAxRkIwMDAyNEIxODAwN0FENTc3QzAwMTIyNEIxMTIzMTA4MjIxMkRGCis6MTAxRkMwMDAzMDg1OTBGRkZDRTA0NDAyRjA5MEZGMDBFMDMwRTcxMzIyCis6MTAxRkQwMDA5MEZGODNFMDQ0ODBGMDQzNjc4MDkwRkZGQ0UwNDQwMTgxCis6MTAxRkUwMDBGMDgwMTE5MEZGODJFMDQ0MDhGMDUzNjc3RjkwRkZGQzdGCis6MTAxRkYwMDBFMDU0RkVGMDkwRkY4MUUwNDQ4MEYwMTIyNTY0OTBGRkYxCis6MTAyMDAwMDBGRUUwNDQwNUYwOTBGRkZDRTA1NEZERjAxMjMxMDgyMkEwCis6MTAyMDEwMDAxMjMwODU3QzAxMTIzMjQ4NzhBN0U2NDQwMkY2NzRGRTNECis6MTAyMDIwMDBGQzA0RkQxMjFDRkU5MEZGNkFFMDMwRTcwMjgwRjdFNDNBCis6MTAyMDMwMDBGNTRFNzU0RDEwQUM0RUFENERFNTRFMTU0RTcwMDIxNTdBCis6MTAyMDQwMDA0REVDNEQ2MDAyODBFRTQzODcwMTEyMzEwODIyMTIzMEMwCis6MTAyMDUwMDA4NTdDMDIxMjMxMTQ3OEE3RTY1NEZERjYxMjMxMDgyMjZECis6MTAyMDYwMDAxMjMwODU3OEE3RTYzMEUwMkM3OEE3RTYzMEUxMjY3OEI0Cis6MTAyMDcwMDBBN0U2RkNGNTgzMThFNjQ0RjBGRDEyMUM5MzkwRkZGQ0U0Cis6MTAyMDgwMDBFMDQ0MjBGMDdDMDIxMjMyNDg3OEE3RTY1NEZERjY3NDUyCis6MTAyMDkwMDAxQTkwRkZGRUYwNzhBN0U2RkNGNTgzMThFNjQ0RjFGRDAwCis6MTAyMEEwMDAxMjFDOTMxMjMxMDgyMjc1NjcwMDc1NjgwMEU0RjU2NjBBCis6MTAyMEIwMDBGNTY1RTRGNTY5NzU2QTQ5NzQ4NDkwRkY4MkYwNzQ4NDZCCis6MTAyMEMwMDA5MEZGODBGMDc0ODA5MEZGNjhGMDc0ODA5MEZGNkFGMDU5Cis6MTAyMEQwMDBBRDQ2QUY0NTdFMDBFRTI0RkM1MDAzMDIyMTZBRTRFRURCCis6MTAyMEUwMDA3NUYwMDdBNDI0M0ZGNTgyRTQzNEZDRjU4M0UwRkZFNEI3Cis6MTAyMEYwMDBFRjU0ODBGREU0RUY1NDBGMTRGRkVENjAzOEU0RUY3NTBBCis6MTAyMTAwMDBGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODM3NDkwRjBFNEU5Cis6MTAyMTEwMDBFRjc1RjAwOEE0MjQ0QUY1ODJFNDM0RkZGNTgzNzQ4MDU3Cis6MTAyMTIwMDBGMEU0RUY3NUYwMDhBNDI0NEVGNTgyRTQzNEZGRjU4MzYzCis6MTAyMTMwMDA3NDgwRjA4MDM0RTRFRjc1RjAwOEE0MjQwOEY1ODJFNDlDCis6MTAyMTQwMDAzNEZGRjU4Mzc0OTBGMEU0RUY3NUYwMDhBNDI0MEFGNUU5Cis6MTAyMTUwMDA4MkU0MzRGRkY1ODNFNEYwRTRFRjc1RjAwOEE0MjQwRTg0Cis6MTAyMTYwMDBGNTgyRTQzNEZGRjU4M0U0RjAwRTAyMjBEMzhENDY4RTMxCis6MTAyMTcwMDA0NDhGNDU3NDdGOTBGRkZERjA3NDkwOTBGRkZDRjA5MEM5Cis6MTAyMTgwMDBGQzE5RTAzMEU2MDc5MEZGRkNFMDQ0MDRGMDIyOTBGQ0VDCis6MTAyMTkwMDAwREUwMTQ3MDA0OTBGQzBDRTA3MDM5OTBGQzAwNzkwNjlFCis6MTAyMUEwMDA3QTM1N0IxMjc4MDExMjAzRjU3RjAwRUYzMzQwMTVFRjhCCis6MTAyMUIwMDA5MDM1NEQ5M0ZDRUYyNDgwRjU4MkU0MzRGQ0Y1ODNFQ0ZDCis6MTAyMUMwMDBGMDBGODBFNzhGNTk5MEZDMkI3OTE4N0EzNTdCMzU3OEEyCis6MTAyMUQwMDAwMTEyMDNGNUU0OTBGRkZGRjA3NDUxOTBGRkZBRjA3NEUwCis6MTAyMUUwMDAwNDkwRkZGQkYwNzQ1MzkwRkZGOEYwNzQ1MTkwRkZGOUU2Cis6MTAyMUYwMDBGMDc0NTU5MEZGRjdGMDc0OTM5MEZGRjZGMDc0MzI5MEZFCis6MTAyMjAwMDBGRkY1RjA3NTY0M0Q3NTYzRkQ3NTYyMDFFNDkwRkY4MzMxCis6MTAyMjEwMDBGMDc0ODA5MEZGODFGMDc1NTgwNEU1NTg3NUYwMDdBNEJDCis6MTAyMjIwMDAyNDNGRjU4MkU0MzRGQ0Y1ODNFMDc4ODlGNkZDNTQwRjEyCis6MTAyMjMwMDAxNEZDNzg4OUVDRjZFNTU4NzVGMDA3QTQyNDQxRjU4MjgyCis6MTAyMjQwMDBFNDM0RkNGNTgzRTA3ODhDNzZGODA4NzYwMEZDNzg4OTM1Cis6MTAyMjUwMDBFNjc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTRGMDQxCis6MTAyMjYwMDA3ODg5RTY3NUYwMDhBNDI0NEZGNTgyRTQzNEZGRjU4M0ZECis6MTAyMjcwMDBFQ0YwNzg4Q0U2RkYwOEU2N0UwM0NGQzMxM0NGMTNERUM1Cis6MTAyMjgwMDBGOUZFNzg4OUU2NzVGMDA4QTQyNDQ5RjU4MkU0MzRGRjY0Cis6MTAyMjkwMDBGNTgzRUVGMDc4ODlFNjc1RjAwOEE0MjQ0QUY1ODJFNDI3Cis6MTAyMkEwMDAzNEZGRjU4Mzc0ODBGMDc4OEFFQ0Y2N0QwMDc4OERFNjUzCis6MTAyMkIwMDAyQ0Y2MThFNjNERjY3ODhDRTZGRDA4RTY3QzAzQ0RDM0U3Cis6MTAyMkMwMDAxM0NEMTNEQ0Y5RkM3ODg5RTY3NUYwMDhBNDI0NERGNUVDCis6MTAyMkQwMDA4MkU0MzRGRkY1ODNFQ0YwNzg4OUU2NzVGMDA4QTQyNEY1Cis6MTAyMkUwMDA0RUY1ODJFNDM0RkZGNTgzRTRGMDc4OENFNkZEMDhFNkYxCis6MTAyMkYwMDBGQzc4ODlFNkZGN0UwMEVFMjRGQzUwMDMwMjI0NkJFNEE4Cis6MTAyMzAwMDBFRTc1RjAwN0E0MjQzRkY1ODJFNDM0RkNGNTgzRTBGRjhBCis6MTAyMzEwMDBFNEVGNTQ4MEZBRTRFRjU0MEYxNEZGRTRFRTc1RjAwNzk1Cis6MTAyMzIwMDBBNDI0NDFGNTgyRTQzNEZDRjU4M0UwNzg4QUY2RUU3NTY2Cis6MTAyMzMwMDBGMDgwQTQyNDA4RjhFNUYwMzRGOEY5RThGQ0U5RkQ4QTE3Cis6MTAyMzQwMDA1OUVBNzAwMzAyMjNEOEU0RUY3NUYwMDhBNDI0NDhGNTk1Cis6MTAyMzUwMDA4MkU0MzRGRkY1ODNFNEYwNzg4QUU2RkFFNEVGNzVGMDdFCis6MTAyMzYwMDAwOEE0MjQ0RkY1ODJFNDM0RkZGNTgzRUFGMEVERkJFQzlBCis6MTAyMzcwMDA3QTAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNEIwCis6MTAyMzgwMDAyNDQ5RjU4MkU0MzRGRkY1ODNFQUYwNzg4QUU2N0IwMDlECis6MTAyMzkwMDBGQUVDMkFGQ0VEM0JGREZCRUM3QTAzQ0JDMzEzQ0IxMzI5Cis6MTAyM0EwMDBEQUY5RkFFNEVGNzVGMDA4QTQyNDRERjU4MkU0MzRGRjdECis6MTAyM0IwMDBGNTgzRUFGMEU0RUY3NUYwMDhBNDI0NEFGNTgyRTQzNEVBCis6MTAyM0MwMDBGRkY1ODM3NDgwRjBFNEVGNzVGMDA4QTQyNDRFRjU4MkU1Cis6MTAyM0QwMDBFNDM0RkZGNTgzNzQ4MEYwMDIyNDY3RTRFRjc1RjAwOEJECis6MTAyM0UwMDBBNDI0MDhGNTgyRTQzNEZGRjU4M0U0RjA3ODhBRTZGQTYxCis6MTAyM0YwMDBFNEVGNzVGMDA4QTQyNDBGRjU4MkU0MzRGRkY1ODNFQUQ2Cis6MTAyNDAwMDBGMEVERkJFQzdBMDNDQkMzMTNDQjEzREFGOUZBRTRFRjZDCis6MTAyNDEwMDA3NUYwMDhBNDI0MDlGNTgyRTQzNEZGRjU4M0VBRjA3ODI2Cis6MTAyNDIwMDA4QUU2N0IwMEZBRUMyQUZDRUQzQkZERkJFQzdBMDNDQjYxCis6MTAyNDMwMDBDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNDI0MERGNTExCis6MTAyNDQwMDA4MkU0MzRGRkY1ODNFQUYwRTRFRjc1RjAwOEE0MjQwQThGCis6MTAyNDUwMDBGNTgyRTQzNEZGRjU4M0U0RjBFNEVGNzVGMDA4QTQyNDlBCis6MTAyNDYwMDAwRUY1ODJFNDM0RkZGNTgzRTRGMDBFMDIyMkY0OEU1ODc4Cis6MTAyNDcwMDA3ODhDRURGNjA4RUNGNjc4ODlFRkY2MTIyMEE0MjI4QzIxCis6MTAyNDgwMDAyNkVDMzBFNzE4RTUyNjU0MEYxNDc1RjAwOEE0MjQ0ODBDCis6MTAyNDkwMDBGNTgyRTQzNEZGRjU4M0UwNTRERkYwODAxNkU1MjY1NDNFCis6MTAyNEEwMDAwRjE0NzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1ODNFMEU2Cis6MTAyNEIwMDA1NERGRjAyMkVDOTBGRDNGRjA4QzI0RUQyNDAzRjUyNTUxCis6MTAyNEMwMDA3RDAwRDM5NTZDRUQ5NTZCNDAwMzg1NkMyNUU1MjUyNDQ3Cis6MTAyNEQwMDBCNzUwMDk3NTI1MDM3NDAyOTBGRDNGRjBBQzI1MTIyRjBCCis6MTAyNEUwMDBDMzIyRTRGNTY2RjU2NTEyMjRFODIyOTBGRDNERTA2NTFGCis6MTAyNEYwMDA2RDYwMEU3NDA0OTBGRDNGRjBFNEY1NjU3NTY2MDM4MDMxCis6MTAyNTAwMDA0NjdENkRFNEZFRkY3OTNEN0FGRDdCMDE3NDA1NzgwMDIwCis6MTAyNTEwMDAxMjAzM0ZFNTY2MjQwM0Y1NjZFNTY1MzQwMEY1NjVFNURECis6MTAyNTIwMDA2NkQzOTU2Q0U1NjU5NTZCNDAwNjg1NkM2Njg1NkI2NTM1Cis6MTAyNTMwMDBEM0U1NjY5NDQ4RTU2NTk0MDA0MDBDNzQwMjkwRkQzRjM1Cis6MTAyNTQwMDBGMEU0RjU2NTc1NjYwM0FDNjYxMjJGQzMyMkVDOTBGRENFCis6MTAyNTUwMDAzRkYwRTRGNTY2RjU2NThDMzJFQzYwMDUxMjJGQjQ4MDJGCis6MTAyNTYwMDAwNTdDMDAxMjJGQzMyMjkwRkYwNEUwRjU0QTkwRkYwNjdECis6MTAyNTcwMDBFMEZEQTNFMEVEN0QwMEZDN0QwMEZDOTBGRjA2RTBGRkE4Cis6MTAyNTgwMDBBM0UwN0UwMEZGRTRGRUVDNEVGQ0VENEZGREMzRUM5NEI3Cis6MTAyNTkwMDA0OEVEOTQwMDUwMjI5MEZGMDZFMEZEQTNFMEVEN0QwMEExCis6MTAyNUEwMDBGQzdEMDBGQzkwRkYwNkUwRkZBM0UwN0UwMEZGRTRGRTYwCis6MTAyNUIwMDBFQzRFRkNFRDRGRkQ4MDA0RTRGRDdDNDg4QzZDOEQ2QjkzCis6MTAyNUMwMDA5MEZGMDJFMEZEQTNFMEVEN0QwMEZDN0QwMEZDOTBGRkFDCis6MTAyNUQwMDAwMkUwRkZBM0UwN0UwMEZGRTRGRUVDNEVGNTRDRUQ0RjgxCis6MTAyNUUwMDBGNTRCNzU2NDNENzU2M0ZENzU2MjAxN0QzRDdFRkQ3RjM0Cis6MTAyNUYwMDAwMTc5NkRFNEZBRkI3NDA1NzgwMDEyMDMzRjc1NDkwMDE4Cis6MTAyNjAwMDBFNTQ5MjRGRTQwMTlBRDY0QUU2M0FGNjJFNDEyMDMwRkU2Cis6MTAyNjEwMDAwNTQ5MERFRDcwMDEwRThENjQ4RTYzOEY2MjgwRTE3NTRBCis6MTAyNjIwMDA2NDNENzU2M0ZENzU2MjAxOTBGRjAwRTA1NDYwQjQwMDg1Cis6MTAyNjMwMDAwMjgwMDZEMzUwMDMwMjJDMTJFNTRBNTQwRkY1NDlFNUY3Cis6MTAyNjQwMDA0QTU0ODBBMkUwOTIwMjkwRkYwMUUwMTIwMTgxMDAwQjQ3Cis6MTAyNjUwMDAyQzBEMjY2NzI3ODUyQzBEMjg5MTJDMEQyOTc0MjlBODZGCis6MTAyNjYwMDAyQjBGMkIxMjJCNTIyQkI2MkJFNEU1NjczMEU3MEVFNTMwCis6MTAyNjcwMDA0QzQ1NEI3MDA4RTU2QzY0MDI0NTZCNjAwMzAyMkMwRkZGCis6MTAyNjgwMDA5MEZGMDBFMDU0MUZCNDAwMDI4MDAzRDM0MDI5RTU0QUM0Cis6MTAyNjkwMDA2MDAzMDIyNzgyQUQ2NEFFNjNBRjYyNzQwMTEyMDMwRjYwCis6MTAyNkEwMDA3OEE3RTYzMEUwMEJBRDY0QUU2M0FGNjI3NDAyMTIwMzRDCis6MTAyNkIwMDAwRjdDMDIxMjJGQzMyMkI0MDEwMjgwMDNEMzQwMUJFNTFBCis6MTAyNkMwMDA2NzIwRTEwN0U1NEE2MDAzMDIyNzgyRTU0QTI0RkU1MEJECis6MTAyNkQwMDAwMzAyMjc4MjdDMDIxMjJGQzMyMkI0MDIwMjgwMDZEMzk3Cis6MTAyNkUwMDA1MDAzMDIyNzgwRTU2NzIwRTEwREU1NEE2MDA5RTU0QUNECis6MTAyNkYwMDA2NDgwNjAwMzAyMjc4MkFDNEExMjMwNEE0MDAzMDIyN0ZBCis6MTAyNzAwMDA4MkU1NDk3MDI1MzAwMjExOTBGRjgwRTA1NDA4QUQ2NEU1Cis6MTAyNzEwMDBBRTYzQUY2MjEyMDMwRjgwMEY5MEZGODJFMDU0MDhBREVBCis6MTAyNzIwMDA2NEFFNjNBRjYyMTIwMzBGODAzRDE1NDkzMDAyMURFNUIwCis6MTAyNzMwMDA0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTA1NDk5Cis6MTAyNzQwMDAwOEFENjRBRTYzQUY2MjEyMDMwRjgwMUJFNTQ5NzVGMEZDCis6MTAyNzUwMDAwOEE0MjQwOEY1ODJFNDM0RkZGNTgzRTA1NDA4QUQ2NDRFCis6MTAyNzYwMDBBRTYzQUY2MjEyMDMwRkFENjRBRTYzQUY2MjEyMDFFNkY3Cis6MTAyNzcwMDA2MDBCQUQ2NEFFNjNBRjYyNzQwMTEyMDMwRjdDMDIxMjkyCis6MTAyNzgwMDAyRkMzMjI4MDAwMDIyQzBGRTU2NzIwRTcwNkU1NkM0NTg5Cis6MTAyNzkwMDA2QjYwMDMwMjJDMEY5MEZGMDBFMDU0MUZCNDAwMDI4MDE2Cis6MTAyN0EwMDAwM0QzNDAxQUU1NEMxNDQ1NEI3MDA0RTU0QTYwMDMwMjFDCis6MTAyN0IwMDAyODhFNzhBN0U2NTRGRUY2N0MwMDEyMkZDMzIyQjQwMUJGCis6MTAyN0MwMDAwMjgwMDNEMzQwMkFFNTY3MjBFMTA4RTU2NzIwRTAwM0EzCis6MTAyN0QwMDAwMjI4OEVFNTY3MzBFMDA0RTU0QTcwMEJFNTY3MzBFMURBCis6MTAyN0UwMDAwOUU1NEEyNEZFNTAwMzAyMjg4RTdDMDAxMjJGQzMyMkUyCis6MTAyN0YwMDBCNDAyMDI4MDA2RDM1MDAzMDIyODhDRTU0QzQ1NEI2MDlFCis6MTAyODAwMDAwMzAyMjg4RUFDNEExMjMwNEE0MDAzMDIyODhFRTU2NzQ0Cis6MTAyODEwMDAyMEUxMDdFNTY3MjBFMDAyODA3N0U1NjczMEUwMDZFNTI0Cis6MTAyODIwMDA0OTYwMDI4MDZDRTU0OTcwMEY5MEZGODJFMDU0RjdGMDM4Cis6MTAyODMwMDA5MEZGODBFMDU0RjdGMDIyRTU0OUI0MDEwMjgwMDNEMzExCis6MTAyODQwMDA0MDA5N0QwMTdDMDMxMjBGMEI4MDExQjQwMjAyODAwMzRBCis6MTAyODUwMDBEMzQwMDk3RDAxN0MwNDEyMEYwQjgwMDAxNTQ5MzAwMjIyCis6MTAyODYwMDAxNUU1NDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0EyCis6MTAyODcwMDBFMDU0RjdGMDgwMTNFNTQ5NzVGMDA4QTQyNDA4RjU4MkM4Cis6MTAyODgwMDBFNDM0RkZGNTgzRTA1NEY3RjA3QzAwMTIyRkMzMjI4MDdDCis6MTAyODkwMDAwMDAyMkMwRkU1NjcyMEU3MDZFNTZDNDU2QjYwMDMwMjNDCis6MTAyOEEwMDAyQzBGOTBGRjAwRTA1NDFGQjQwMDAyODAwM0QzNDAxQUE1Cis6MTAyOEIwMDBFNTRDMTQ0NTRCNzAwNEU1NEE2MDAzMDIyOTcxNzhBNzgyCis6MTAyOEMwMDBFNjQ0MDFGNjdDMDAxMjJGQzMyMkI0MDEwMjgwMDNEMzM4Cis6MTAyOEQwMDA0MDI5RTU2NzIwRTEwOEU1NjcyMEUwMDMwMjI5NzFFNTZBCis6MTAyOEUwMDA2NzMwRTAwNEU1NDk3MDBCRTU2NzMwRTEwOEU1NDkyNDBECis6MTAyOEYwMDBGRTUwMDI4MDdGN0MwMDEyMkZDMzIyQjQwMjAyODAwM0FDCis6MTAyOTAwMDBEMzQwNkZFNTRDNDU0QjYwMDI4MDY5QUM0QTEyMzA0QUI3Cis6MTAyOTEwMDA0MDAyODA2MEU1NjcyMEUxMDdFNTY3MjBFMDAyODA1NDFGCis6MTAyOTIwMDBFNTQ5NzAxNDMwMDIwOTkwRkY4MEUwNDQwOEYwODAwNzA4Cis6MTAyOTMwMDA5MEZGODJFMDQ0MDhGMDIyRTU2NzMwRTEzMzE1NDkzMDJBCis6MTAyOTQwMDAwMjE1RTU0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTQyCis6MTAyOTUwMDA4M0UwNDQwOEYwODAxM0U1NDk3NUYwMDhBNDI0MDhGNUU1Cis6MTAyOTYwMDA4MkU0MzRGRkY1ODNFMDQ0MDhGMDdDMDAxMjJGQzMyMjk4Cis6MTAyOTcwMDA4MDAyODAwMDAyMkMwRkU1NjcyMEU3MTJFNTZDNDU2QkIyCis6MTAyOTgwMDA3MDBDRTU0QTcwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQ0IxCis6MTAyOTkwMDAwRkU1NEM5MEZGRkZGMDkwRkZGRkUwNjAwNTQzNjcwMUZCCis6MTAyOUEwMDA4MDAzNTM2N0ZFN0MwMDEyMkZDMzIyRTU2NzMwRTcwRUQ5Cis6MTAyOUIwMDBFNTZDNDU2QjYwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQzNCCis6MTAyOUMwMDAwRkFENEJFNTRDRUQ3RDAwRkM3RDAwRkNCRDAwMDI4MEIxCis6MTAyOUQwMDAwMzAyMkIwQUI0MDEwMjgwMDNEMzQwMzJFNTRBNzAwNTlBCis6MTAyOUUwMDBFNTRDRkM2MDAzMDIyQjBDNzU2NDAwNzU2M0ZDNzU2MjlBCis6MTAyOUYwMDAwMUQzRTU2Qzk0MTJFNTZCOTQwMDQwMDZFNEZEN0MxMjczCis6MTAyQTAwMDA4MDA0QUM2Q0FENkI4QzZBOEQ2OTEyMkZEODIyQjQwMjM1Cis6MTAyQTEwMDAwMjgwMDNEMzQwNTlFNTRBNjAwMzAyMkIwQ0U1NENGQ0NECis6MTAyQTIwMDA3MDI3NzU2NDEyNzU2M0ZDNzU2MjAxRDNFNTZDOTQxOUE3Cis6MTAyQTMwMDBFNTZCOTQwMDQwMDZFNEZEN0MxOTgwMDRBQzZDQUQ2QjQyCis6MTAyQTQwMDA4QzZBOEQ2OTEyMkZEODgwMjU3NTY0MkI3NTYzRkM3NThGCis6MTAyQTUwMDA2MjAxRDNFNTZDOTQzNUU1NkI5NDAwNDAwNkU0RkQ3QzlGCis6MTAyQTYwMDAzNTgwMDRBQzZDQUQ2QjhDNkE4RDY5MTIyRkQ4MjJCNEEyCis6MTAyQTcwMDAwMzAyODAwNkQzNTAwMzAyMkIwQUU1NENGNTQ5NzAwRjgwCis6MTAyQTgwMDA5MEZGMDRFMEZEQTNFMDRENjAwMzAyMkIwQzgwMTg5MDQyCis6MTAyQTkwMDBGQzgyRTBGREEzRTBGQzkwRkYwNUUwNkM3MDA3OTBGRjc2Cis6MTAyQUEwMDAwNEUwNkQ2MDAyODA2OEU0RjU2QUY1Njk3RjAwRTU0OTNECis6MTAyQUIwMDAxNEM1NDk2MDBGRUYyNDgwRjU4MkU0MzRGQ0Y1ODNFMDBGCis6MTAyQUMwMDAyRkZGODBFQThGNEFFNTRBMjQ4MEY1ODJFNDM0RkNGNTQyCis6MTAyQUQwMDA4M0UwN0QwMEQzOTU2Q0VEOTU2QjQwMDZBQzZDQUQ2QkRGCis6MTAyQUUwMDA4MDBGRTU0QTI0ODBGNTgyRTQzNEZDRjU4M0UwN0QwMDI0Cis6MTAyQUYwMDBGQzhDNkE4RDY5RTU0QTI0ODBGQ0U0MzRGQ0ZERkVFQzI0Cis6MTAyQjAwMDBGRDdGMDE4RDY0OEU2MzhGNjIxMjJGRDgyMjgwMDAwMkI4Cis6MTAyQjEwMDAyQzBGMDIyQzBGRTU2NzMwRTcxOUU1NkMxNDQ1NkI3MDNDCis6MTAyQjIwMDAxMkU1NEE3MDBFRTU0QzQ1NEI3MDA4OTBGRjAwRTA1NEVBCis6MTAyQjMwMDAxRjYwMDMwMjJDMEZFNTY3MjBFMDA4RTU2NzIwRTEwMzMyCis6MTAyQjQwMDAwMjJDMEY3NTY0NjhFNEY1NjNGNTYyRTRGNTY5MDRGNTM5Cis6MTAyQjUwMDA2QTEyMkZEODIyRTU2NzIwRTcyN0U1NkM0NTZCNzAyMUM0Cis6MTAyQjYwMDBFNTRBNzAxREU1NEM2NDAyNDU0QjYwMERFNTRDMTQ0NThCCis6MTAyQjcwMDA0QjYwMDZFNTRDNDU0QjcwMDg5MEZGMDBFMDU0MUY2MDI5Cis6MTAyQjgwMDAwMzAyMkMwRkU1NjcyMEUwMDhFNTY3MjBFMTAzMDIyQzMzCis6MTAyQjkwMDAwRjg1NEM2OEU1Njg3MDA4NDM2NzAxNTM2N0ZEODAxMzMzCis6MTAyQkEwMDBFNTY4NjQwMjYwMDdFNTY4MTQ2MDAyODA2NTUzNjdGRUFCCis6MTAyQkIwMDA0MzY3MDI3QzAwMTIyRkMzMjJFNTY3MzBFNzFBRTU2Q0Y5Cis6MTAyQkMwMDAxNDQ1NkI3MDEzRTU0QTcwMEZFNTRDNDU0QjcwMDk5MDQ2Cis6MTAyQkQwMDBGRjAwRTA1NDFGMTQ2MDAyODAzOEU1NjcyMEUxMDI4MEE2Cis6MTAyQkUwMDAzMTdDMDExMjJGQzMyMkU1NjcyMEU3MTVFNTZDNDU2QkE4Cis6MTAyQkYwMDA3MDBGRTU0QzQ1NEI3MDA5OTBGRjAwRTA1NDFGMTQ2MEM2Cis6MTAyQzAwMDAwMjgwMEZFNTY3MjBFMTAyODAwODdDMDAxMjJGQzMyMkJBCis6MTAyQzEwMDA4MDAwMDIyRUNBQjQ0MDAyODAwNkQzNTAwMzAyMkVDMEE4Cis6MTAyQzIwMDA5MEZGMDFFMDkwRkQzREYwRTU0QTkwRkQzRUYwRTQ5MDFDCis6MTAyQzMwMDBGRDNGRjBFNTY0MjQwM0Y1NjRFNTYzMzQwMEY1NjNBRDFFCis6MTAyQzQwMDA0QkU1NEM4NTY0ODI4NTYzODNDREYwQTNDREYwOTBGRjg2Cis6MTAyQzUwMDAwMUUwMTIwMUI3MkM3RDAxMkNBMzAyMkNDRDAzMkNGNzJGCis6MTAyQzYwMDAwNDJENDUwNTJEODIwNjJEQTgwNzJEQ0UwODJERjQwOTJCCis6MTAyQzcwMDAyRTFBMEIyRTQwMEMyRTRGODAyRTRGODEwMDAwMkVBREIxCis6MTAyQzgwMDBFNTY3MjBFNzA2N0MwNTEyMjU0QTIyN0RCNzdFMzQ3RjYyCis6MTAyQzkwMDAwMjc5NDA3QUZEN0IwMTc0MDg3ODAwMTIwMzNGN0QwOEI5Cis6MTAyQ0EwMDA3QzAwMTIyNEIxMjJFNTY3MjBFNzA2N0MwNTEyMjU0QTQ0Cis6MTAyQ0IwMDAyMkU1NEFCNDAzMDA0MDEwQjQwNTAwNTAwQkU1NEE3RkZBCis6MTAyQ0MwMDAwMEZFN0MxMDEyMzE5QTIyN0QwMDdDMDcxMjI0QjEyMjcyCis6MTAyQ0QwMDBFNTY3MjBFNzA2N0MwNTEyMjU0QTIyRTU0QUI0MDMwMDkxCis6MTAyQ0UwMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzExMTIzMTA0Cis6MTAyQ0YwMDA5QTIyN0QwMDdDMDcxMjI0QjEyMkU1NjcyMEU3MDY3QzNBCis6MTAyRDAwMDAwNTEyMjU0QTIyRTU0QUI0MDUwMjgwMDNEMzQwMEFFNEFECis6MTAyRDEwMDBGRjA0RkU3QzBBMTIzMTlBMjJCNDAxMDI4MDAzRDM0MEUwCis6MTAyRDIwMDAwQUU0RkYwNEZFN0MwODEyMzE5QTIyQjQwMzAwNDAxMDJBCis6MTAyRDMwMDBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTMxMjMxOUEyMjQ1Cis6MTAyRDQwMDA3RDAwN0MwNzEyMjRCMTIyRTU2NzIwRTczNEQzRTU2Q0NGCis6MTAyRDUwMDA5NDQ4RTU2Qjk0MDA1MDA2RTU2QzQ1NkI3MDA2N0MwMjY4Cis6MTAyRDYwMDAxMjI1NEEyMkU1NEFCNDAxMDNCMzQwMEJDM0I0MDMwMDYxCis6MTAyRDcwMDA0MDA5QjQwNjAwNTAwNDEyMzA3MDIyN0MwNzEyMjU0QTI0Cis6MTAyRDgwMDAyMjEyMjRFODIyRTU2NzIwRTcxREU1NEFCNDAzMDA0MDRCCis6MTAyRDkwMDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxNjEyMzE5QUY0Cis6MTAyREEwMDAyMjdDMDcxMjI1NEEyMjEyMjRFODIyRTU2NzIwRTcxRDJCCis6MTAyREIwMDBFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMDFCCis6MTAyREMwMDBGRTdDMTkxMjMxOUEyMjdDMDcxMjI1NEEyMjEyMjRFODJECis6MTAyREQwMDAyMkU1NjcyMEU3MURFNTRBQjQwMzAwNDAxMEI0MDUwMDcyCis6MTAyREUwMDA1MDBCRTU0QTdGMDBGRTdDMTcxMjMxOUEyMjdDMDcxMkI1Cis6MTAyREYwMDAyNTRBMjIxMjI0RTgyMkU1NjcyMEU3MURFNTRBQjQwM0FDCis6MTAyRTAwMDAwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTgxMjBDCis6MTAyRTEwMDAzMTlBMjI3QzA3MTIyNTRBMjIxMjI0RTgyMkU1NjcyMEYzCis6MTAyRTIwMDBFNzFERTU0QUI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0QTI1Cis6MTAyRTMwMDA3RjAwRkU3QzE1MTIzMTlBMjI3QzA3MTIyNTRBMjIxMjRECis6MTAyRTQwMDAyNEU4MjJFNTY3MjBFNzA2N0MwNzEyMjU0QTIyMTIyNDlGCis6MTAyRTUwMDBFODIyRTU2NzMwRTcyMDkwRkYwMEUwNTQxRjcwMTA5MEYzCis6MTAyRTYwMDBGRjAxRTBCNDgwMDUxMjI0REY4MDAzMTIyNEU4MjI3REY0Cis6MTAyRTcwMDAwMDdDMDUxMjI0QjEyMjkwRkYwMEUwNTQxRjYwMDY3QzA0Cis6MTAyRTgwMDAwNTEyMjU0QTIyRDNFNTZDOTQ0OEU1NkI5NDAwNTAwQjVCCis6MTAyRTkwMDBDM0U1NkM5NDA3RTU2Qjk0MDA1MDA2N0MwMzEyMjU0QTQ5Cis6MTAyRUEwMDAyMkU1NEFCNDA1MDQxMjMwNzAyMjdDMDcxMjI1NEEyMjFBCis6MTAyRUIwMDBFNTY3MzBFNzA4N0QwMDdDMDUxMjI0QjEyMjdDMDUxMjBECis6MTAyRUMwMDAyNTRBMjJCNDIwMDI4MDAzRDM0MDAwODAwMDEyMkY5RUE2Cis6MTAyRUQwMDAyMjc1NDMwMDkwRkY4M0UwNTQwRkQzOTU0MzQwMjRFNUNGCis6MTAyRUUwMDA0MzI0RjBGNTgyRTQzNEZFRjU4M0UwQUQ2NEFFNjNBRkQ1Cis6MTAyRUYwMDA2MjEyMDMwRjA1NDMwREVENzAwMTBFOEQ2NDhFNjM4RjFBCis6MTAyRjAwMDA2MjgwRDFFNTQzN0QwMEZDQzNFNTZBOUNGNTZBRTU2OTEyCis6MTAyRjEwMDA5REY1NjlFNTZBNDU2OTYwMDZFNDkwRkY4M0YwMjI5MEJCCis6MTAyRjIwMDBGRjgyRTA0NDA4RjBFNEY1Njk3NTZBNDk5MEZEM0RFMEYwCis6MTAyRjMwMDBCNDA1MDI4MDAzRDM0MDQwOTBGRDNFRTBGNTQzQjQwNTY0Cis6MTAyRjQwMDAwMjgwMDNEMzQwMEFFNEZGMDRGRTdDMEIxMjMxOUEyMjc0Cis6MTAyRjUwMDBCNDAxMDI4MDAzRDM0MDBBRTRGRjA0RkU3QzA5MTIzMTZECis6MTAyRjYwMDA5QTIyQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTQzN0YwMEUzCis6MTAyRjcwMDBGRTdDMTQxMjMxOUEyMjIyQjQ4MDAwNDAyM0I0ODIwMEQ1Cis6MTAyRjgwMDA1MDFFN0MzRDdERkQxMjE3RDU3RDAwOEM2NjhENjU5MEIxCis6MTAyRjkwMDBGRDNGRTA2MDA1MTIyRjlFODAwNTdDMDAxMjJGQzMyMkFBCis6MTAyRkEwMDAyMjkwRkY4M0UwNTQ3RkYwOTBGRjgyRTA0NDA4RjA5MDhECis6MTAyRkIwMDBGRjgwRTA0NDA4RjAyMjkwRkY4MkUwNDQwOEYwOTBGRjk4Cis6MTAyRkMwMDA4MEUwNDQwOEYwMjI4QzIzN0QwMDhDNkE4RDY5NzU2NDUyCis6MTAyRkQwMDAzRDc1NjNGRDc1NjIwMTEyMkZEODIyOTBGRjgzRTA1NDg2Cis6MTAyRkUwMDA3RkYwRTU2QTY0NDk0NTY5NzAwMTIyQzNFNTZBOTQwODg3Cis6MTAyRkYwMDBFNTY5OTQwMDQwMTU3NTIxMDhFNTIxN0QwMEZDQzNFNUQ1Cis6MTAzMDAwMDA2QTlDRjU2QUU1Njk5REY1Njk4MDA5ODU2QTIxRTRGNUEwCis6MTAzMDEwMDA2OTc1NkE0OTc1MjIwMEU1MjJDMzk1MjE1MDI2QUQ2NDgxCis6MTAzMDIwMDBBRTYzQUY2MjEyMDFFNkZDRTUyMjI0RjhGNTgyRTQzNEQ3Cis6MTAzMDMwMDBGRUY1ODNFQ0YwMDUyMjBERUQ3MDAxMEU4RDY0OEU2M0JDCis6MTAzMDQwMDA4RjYyODBEM0U1MjE1NDdGOTBGRjgxRjAyMjhDNDg3RkVFCis6MTAzMDUwMDAwMEVGMjRGQjQwMTlFNEVGNzVGMDA3QTQyNDNGRjU4MjRDCis6MTAzMDYwMDBFNDM0RkNGNTgzRTA2NTQ4NzAwMkQzMjIwRjgwRTI4RkUwCis6MTAzMDcwMDA0N0MzMjI4NTZDNkE4NTZCNjk5MEZGODJFMDU0RjdGMDQ0Cis6MTAzMDgwMDA5MEZGODNFMDU0N0ZGMDIyQzAwMEMwMDFDMDAyQzAwNjYwCis6MTAzMDkwMDBDMDA3RTU3MjI0MDhGODg2MDY1MzA2N0Y3Q0ZGMTIzMENECis6MTAzMEEwMDBGQTdDMDA3RDAwRTU3NTYwNDZGRjkwRkU5REUwNTQ3RjUwCis6MTAzMEIwMDA2RTcwMEZDMDgzQzA4MkEzRTBGREEzRTBGQ0EzMTU3NTcyCis6MTAzMEMwMDA4MDA3QTNBM0EzREZFNjgwMjZERjA2RDA4MkQwODM4MDFCCis6MTAzMEQwMDAxRUUwRjhBM0UwRjlBM0UwRkFEMDgyRDA4M0U4RjBBM0UxCis6MTAzMEUwMDBFOUYwQTNFQUYwQTNDMDgzQzA4MkEzQTNBMzgwREExMjBECis6MTAzMEYwMDAzMTkzRDAwN0QwMDZEMDAyRDAwMUQwMDAyMjg1QTg3NDI5Cis6MTAzMTAwMDA3NUE4ODhFQzcwMDI3QzNGOEM3MzIyRTU3MjI0MDhGODY1Cis6MTAzMTEwMDA3NjAwMTIzMUU3ODBGQkMwMDBDMDAxQzAwMkMwMDZDMENCCis6MTAzMTIwMDAwN0FFMDQ3Q0ZGMTIzMEZBRTU3NTYwNDJGRjkwRkU5RDA5Cis6MTAzMTMwMDBFMDU0N0Y2RTcwMEJDMDgzQzA4MkEzQTNBMzE1NzU4MDdCCis6MTAzMTQwMDAwN0EzQTNBM0RGRUE4MDI2REYwNkQwODJEMDgzODBEODNFCis6MTAzMTUwMDBFMEY4QTNFMEY5QTNFMEZBRDA4MkQwODNFOEYwQTNFOTk1Cis6MTAzMTYwMDBGMEEzRUFGMEEzQzA4M0MwODJBM0EzQTM4MERBNzgwODA3Cis6MTAzMTcwMDAwODc5MTgwOTdDMDFFNjU0N0Y2RTcwMDY3NjAwNzcwMEE2Cis6MTAzMTgwMDA4MDA2MDgwOTBDQkMwOEVFMTIzMTkzRDAwN0QwMDZEMDk3Cis6MTAzMTkwMDAwMkQwMDFEMDAwMjI3NTczMDA4NTc0QTgyMkMwRjBDMDRGCis6MTAzMUEwMDA4MkMwODNDM0U1NzUyNEU4NTAwNTEyMzFFNzgwRjRFQzUyCis6MTAzMUIwMDA2MDMxOTAzNEI2RTQ5M0MzOUM0MDI4QzAwNDdDRkYxMjc1Cis6MTAzMUMwMDAzMEZBRDAwNDQzMDQ4MEU1NzU3NUYwMDNBNDI0OURGNTFFCis6MTAzMUQwMDA4MkU0MzRGRUY1ODNFQ0YwRUZBM0YwRUVBM0YwMDU3NTg2Cis6MTAzMUUwMDAxMjMxOTNEMDgzRDA4MkQwRjAyMkMwMDQ3QzIwRDI4Q0M0Cis6MTAzMUYwMDBEMjhERDUwNEZERDAwNDIyNzVBODAwNzU4ODAwNzVCODVECis6MTAzMjAwMDAwMDc1RjAwMDc1RDAwMEU0Rjg5MDAwMDBGNjA4QjgwMEYyCis6MTAzMjEwMDBGQjAyMDAwMEMzRUQ5NDAyNTAwNDdEMDM3Q0U4RUNGNDUzCis6MTAzMjIwMDBGQ0VERjRGRDBDQkMwMDAxMEQ4Qzc5OEQ3ODIyQzNFQzEzCis6MTAzMjMwMDA5NEJDRUQ5NDAyNTAwNDdEMDc3Q0QwRUNGNEZDRURGNERBCis6MTAzMjQwMDBGRDBDQkMwMDAxMEQ4Qzc3OEQ3NjIyRUM3MDAxMjJDMDQ0Cis6MTAzMjUwMDAwMEU1NzIyNDE4RjhBNjA0RTU3MjI0MDhGOEM2NTQ3RjI1Cis6MTAzMjYwMDBGNkU2MzBFNzAzRDAwMDIyMTIzMUU3ODBGNEMyOEM4NTA1Cis6MTAzMjcwMDA3NjhDODU3NzhBRDI4Q0MwRTBDMEQwQzBGMEMwODJDMDg2Cis6MTAzMjgwMDA4M0MwMDBDMDAxQzAwMkMwMDNDMDA0QzAwNUMwMDZDMEE2Cis6MTAzMjkwMDAwNzEyMUIyOEU1NzIyNDA4RjhFNjYwMjRFNTcyMjQxMDYyCis6MTAzMkEwMDBGOEE2ODFFNTcyNzVGMDIxQTQyNDk1RjU4MkU0MzRGRDM5Cis6MTAzMkIwMDBGNTgzNzhBOEU1ODEwNEMzOThGOUU2RjAwOEEzRDlGQTY0Cis6MTAzMkMwMDA3NDA4MjU3MkY4MDU3MjA4RTY1NDgwNzAwQ0U1NzJCNDMzCis6MTAzMkQwMDAwN0YzNzgwODc1NzIwMDgwRUZFNTcyMjQxMEY4ODY4MTk0Cis6MTAzMkUwMDBFNTcyNzVGMDIxQTQyNDk1RjU4MkU0MzRGREY1ODM3ODI4Cis6MTAzMkYwMDBBOEU1ODEwNEMzOThGOUUwRjYwOEEzRDlGQUQwMDdEMDZECis6MTAzMzAwMDAwNkQwMDVEMDA0RDAwM0QwMDJEMDAxRDAwMEQwODNEMEE1Cis6MTAzMzEwMDA4MkQwRjBEMEQwRDBFMDMyQzBFMEMwRDBDMDAwQzAwMTM4Cis6MTAzMzIwMDBDMDAyQzI4RTg1Nzg4RDg1Nzk4QkQyOEU3ODE5NzkwOTA1Cis6MTAzMzMwMDA3QTA3RTc3MDA0QTYwMDgwMEJFNjYwMDgxNkU2NzAwNEMyCis6MTAzMzQwMDBFNzQ0ODBGNzA4MDlEQUVBRTU3MzYwMTMxNEY1NzM3MDRGCis6MTAzMzUwMDAwRUU1NzIyNDA4Rjg3NjAwMTIzMTkzRDI4Q0QyOEREMDBCCis6MTAzMzYwMDAwMkQwMDFEMDAwRDBEMEQwRTAzMjc1ODFBNzc1OTAwMDk2Cis6MTAzMzcwMDA3NTc5MzA3NTc4Rjg3NTc3NjA3NTc2RjAxMjA1M0MxMkJFCis6MTAzMzgwMDAzNDBGMTIxNzhCMTIzNDM5MTIzMUY1ODBFMzIyQzAwMDRBCis6MTAzMzkwMDA3QzAxRUMyNDA4RjhFNjYwMDkwQ0JDMDhGNTEyMzFFNzYyCis6MTAzM0EwMDA4MEVFRDAwMDIyQzBGMEMwODJDMDgzQzAwMEMwMDZDMDQyCis6MTAzM0IwMDAwN0VEMjQxMEY4NzZCNkVENzVGMDIxQTQyNDk1RjU4MjdBCis6MTAzM0MwMDBFNDM0RkRGNTgzQzA4MkMwODNBM0EzRTQ3ODBERjBBM0E5Cis6MTAzM0QwMDBEOEZDRUM1NDdGNzVGMDAyQTQyNDgyRjU4MkU1RjAzNDI5Cis6MTAzM0UwMDAzNEY1ODNFNDkzRkU3NDAxOTNGNTgyOEU4M0U0OTNGRUI3Cis6MTAzM0YwMDA3NDAxOTNGRkQwODNEMDgyRUZGMEEzRUVGMEVEMjQwOEE4Cis6MTAzNDAwMDBGOEVDNDQ4MEY2RDAwN0QwMDZEMDAwRDA4M0QwODJEMDJDCis6MTAzNDEwMDBGMDIyNzU3MjAwNzU3NTAwN0EwODc5MTg3ODA4NzYwMEMwCis6MTAzNDIwMDA3NzAwMDgwOURBRjhFNDc4MDg3NDgwNDQ3RkY2NzQwMUJDCis6MTAzNDMwMDA0NDEwRjU4OTc1QjgwOEQyQUJEMkE5MjI3NTgxQTdEMkZDCis6MTAzNDQwMDA4RUQyOENEMkFGRTU3NTYwMzJGRjkwRkU5REUwNTQ4MDQ1Cis6MTAzNDUwMDA2MDI0NzgwODc5MDhFMDU0N0ZGQTdCMDBFNjU0N0ZCNTUxCis6MTAzNDYwMDAwMjAyN0JGRjA4RDlGNUVCNzAwQ0VBRjAxMjMzOEJBRDRBCis6MTAzNDcwMDAwNEFDMDIxMjMzQTJBM0EzQTNERkQyMTIzMUU3ODBDNUFBCis6MTAzNDgwMDA3QzAxN0QwMDIyMDRGNTA0RTkwNEVEMDRFMTA0REQwNDdGCis6MTAzNDkwMDBEOTA0RTUwNEYxMDQ5RDA0QTEwNENEMDREMTA0OTkwNEU4Cis6MTAzNEEwMDA5OTA0OTkwNEQ1MDRCNTA0QUQwNEIxMDRBOTA0QzEwNDc4Cis6MTAzNEIwMDBCRDA0QjkwNEM1MDRDOTA0QTUxOTAxMDMwMDIyMDA0OENDCis6MTAzNEMwMDAwMjAwMjQwRjE4MEExMDY0MEQ2ODBDMDUwNjAyMDMwMTlGCis6MTAzNEQwMDAwMTgxMDEwMDAwRTcwMEMwMDA4MDAwNjAwMDQwMDAzMDcyCis6MTAzNEUwMDAwMDE4MDAwQzAwMDgwMDA0MDAwMjAwMDEwMDA4MTgzODUxCis6MTAzNEYwMDAyODA2MDIxMDBBMDIwMDAwMDAwMDAwMDE4MTEwMEEwMkUyCis6MTAzNTAwMDAwMDAwMDAwMDAwRkJFOEZCRkExMjAxMTAwMUZGMDAwMEMwCis6MTAzNTEwMDAwODUxMDQ1RjUwMTYwMTAxMDIwMDAyMDkwMjM1MDAwMTQyCis6MTAzNTIwMDAwMjAwRTAwMDA5MDQwMDAwMDVGRjAwMDAwMDA3MDU4MTFCCis6MTAzNTMwMDAwMjQwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTgyMDI0MDJBCis6MTAzNTQwMDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1ODUwMzAyMDAwMTk0Cis6MTAzNTUwMDAwNDAzMDkwNDI0MDM1NDAwNjUwMDc4MDA2MTAwNzMwMDJCCis6MTAzNTYwMDAyMDAwNDkwMDZFMDA3MzAwNzQwMDcyMDA3NTAwNkQwMDQ5Cis6MTAzNTcwMDA2NTAwNkUwMDc0MDA3MzAwMkEwMzU0MDA1NTAwNTMwMDY4Cis6MTAzNTgwMDA0MjAwMzUwMDMwMDAzNTAwMzIwMDIwMDA1MzAwNjUwMDU1Cis6MTAzNTkwMDA3MjAwNjkwMDYxMDA2QzAwMjAwMDUwMDA2RjAwNzIwMDMyCis6MTAzNUEwMDA3NDAwMjIwMzU0MDA1NTAwNTMwMDQyMDAzNTAwMzAwMERGCis6MTAzNUIwMDAzNTAwMzIwMDIwMDAyMDAwMjAwMDIwMDAyMDAwMjAwMEU0Cis6MDQzNUMwMDAyMDAwMjAwMEM3Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdHJfc21jdHIuYmluLmloZXggYi9maXJtd2FyZS90cl9zbWN0ci5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Nzk3NDUxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdHJfc21jdHIuYmluLmloZXgKQEAgLTAsMCArMSw0NzcgQEAKKzoxMDAwMDAwMEJDMUQxMjNCNjNCNEU5MDAwMDFGMDAwMTAxMDAwMjA1QTIKKzoxMDAwMTAwMDAxMDAwNjAzMDEwMDA0MDkwMTAwMEEwNzAxMDAwODBCQTIKKzoxMDAwMjAwMDAxMDAwQzAwMDAwMDAwMEYwMTAwMTAwRDAxMDAwRTEzNzQKKzoxMDAwMzAwMDAxMDAxNDExMDEwMDEyMDAwMDA1MDAxNTAxMDAxNjE5M0QKKzoxMDAwNDAwMDAxMDAxQTE3MDEwMDE4MDAwMDBFMDAwMDAwMDEwMDAwNTYKKzoxMDAwNTAwMDAwMDQwMDFCMDEwMDFDMDAwMDA3MDAwMDAwMEYwMDAwNEUKKzoxMDAwNjAwMDAwMEIwMDFEMDEwMDFFMDAwMDA4MDAwMDAwMDIwMDAwM0YKKzoxMDAwNzAwMDAwMEMwMDAwMDAwNjAwMDAwMDBEMDAwMDAwMDMwMDAwNUUKKzoxMDAwODAwMDAwMEEwMDAwMDAwOTAwMDQ3OEM2QkMwMTk0MDQ5MzgwQjMKKzoxMDAwOTAwMEM4NDA2MkU5REExQzJDMTU1NTU1NTU1NTU1NTU1NTU4MkIKKzoxMDAwQTAwMDBCRTlFNUQ1OTVDMTlENzdDRUJCQTA2RTFDMDVGNjc3MTMKKzoxMDAwQjAwMEM2MDJGQTk2NzBFODFEQzAxNzBFMDJGQTU4N0RDMDVGOUUKKzoxMDAwQzAwMDcyQ0VFQ0E0QzM4NDkwN0EzMENEOEQ3OTE5RTc2QzI0N0MKKzoxMDAwRDAwMDI3OUMwODM5MDczOEE4NEE0Q0VBNEQ5ODlCMjQ0Q0MwMDUKKzoxMDAwRTAwMDI2RDNFNzU0NUE0REYyNEMwQzEzMjM0OTkwMzI2RUE0OTgKKzoxMDAwRjAwMERGOTM3MTEzNzcyNkUxMjZGODI2MEM0QzEyMjYwODA5QTcKKzoxMDAxMDAwMDgyODI2MEE5MzA3OTM2QjBCMkE4QTc3MjY0OEY5QjMzMUYKKzoxMDAxMTAwMDMzRjlCODM5RDUxMTczQUE3NTI2NUQyNjUxOTMyQTQ5NEEKKzoxMDAxMjAwMDk0Qzk5NTg5QkM0REM4OUI4MDlCQTA5OTA2NEM4NjI2OTYKKzoxMDAxMzAwMDU4OUJBNDlCOTkzNzYyNkM2NzlCMzMzMEJGMzY2NjYxQ0UKKzoxMDAxNDAwMEJGMzZFQ0M1QkQ2NjgyNUE1MDMxRDU5RDk4MTgyOTNDMDIKKzoxMDAxNTAwMDk4ODY0QzE3MjYzRTJDQjg2OTNCNDkyRUI0MDg0MzFBQTIKKzoxMDAxNjAwMEE0RjlCMzUxRjExMEYzNDNDRDA4NkY2Mzc5QjMzMzBFQTMKKzoxMDAxNzAwMDEzOTg0OTk4MDREQTdDRTA1Mjc5MzEwQzk4MkU0REFDRjIKKzoxMDAxODAwMDJDODQxNEVFNENGRTY3NUVFNDlBNzUyOUQ3QTkzNTNBQTMKKzoxMDAxOTAwMDk0NUJENTlCNThCNEFGNzU2NkFGMTRBOUVGNDA5NTI1MTUKKzoxMDAxQTAwMDA4QjlBRDQyRkNEOEQ5OEMzMzBFMTM5ODY2MUU0NUFDMDUKKzoxMDAxQjAwMEIwMEM0MkQzQ0NBNjEyNjJERUI0QjE4MDQ5N0RBMkRFN0YKKzoxMDAxQzAwMEI0MThDMDI0ODRFNjU0RjU4MzQ2MDE2ODFBNjMwQ0M2NEIKKzoxMDAxRDAwMDEyNjRGQTRDMzUxQzJDMEVBQUFBQUFBQUFBQUFBQUFBODgKKzoxMDAxRTAwMEFBQUFBQUFBQUFBREQ3MDI3MEUwNENGM0ExQzFENUMwQjEKKzoxMDAxRjAwMDNDQjk2OTM5NjA0RTU4NzcwMjY3OTMzQzk5RTRDRjM4MkYKKzoxMDAyMDAwMDFDOTcyRTQwMUI5MDMxNDZBMzVFMEU4ODM0NkEzNUUwNjEKKzoxMDAyMTAwMEU4QUEzNTFBQTlGNTE1NDZBM0VBN0Q0QUEzNTFBQTlGNzMKKzoxMDAyMjAwMDcwNTRBNjU3MkVCNENEQzhBMzBDQzFEQUM2RTFDQjdBNjAKKzoxMDAyMzAwMEQ0MUM2OEZGQ0Y1NUE4QzAyRDg1MTExNzQ0MkEzMDBCNTgKKzoxMDAyNDAwMDRBODhDMjREQjUyMEQ1MjYwMTY5NTE2OTUyMTk1MjYwQkMKKzoxMDAyNTAwMDE2OTUxNjgyOTY1NDk4MDVBNTQ1RjNERDZBRjkyODE4NzcKKzoxMDAyNjAwMEVGMDAzMDMwNTE0RTQ0NUQxMkQxNDNFNjEyNkY5RUJBMUEKKzoxMDAyNzAwMENDREYyNTAzMURFMDA2MDYwQTMwQ0NBOUVCMkQwMDg2NTUKKzoxMDAyODAwMEE2MTI2NTRGNTZENjY1NDk1RjNERTgzN0M5NDBDNzc4MjUKKzoxMDAyOTAwMDAxODE4MjhDMzMxODQ5ODBBRTQwQzUxODA1OUM2RDE4QzkKKzoxMDAyQTAwMDY2MEVGM0EwQzYxMjYyREVGNTA0QjRBQzZCQzYxOTkxRkIKKzoxMDAyQjAwMDczMDU0ODJFNzI5NDgwNzNBMUM4NDczNjY2NjQyRjM2NDIKKzoxMDAyQzAwMDY2NjQwNzk5MDI5MThFNzJEMTBGOUQwNjMxNzNBMEMzQTcKKzoxMDAyRDAwMDUxNkExQTIwQkYzQTBDMkM3Mzg3NDM1RTYwMDIyM0ZDREMKKzoxMDAyRTAwMEUwRDYzNUVGOUVGNUVGOTI4MThFRjAwMzAzMDUxODY2OTgKKzoxMDAyRjAwMDQ1Q0MwQjQ4MkU3MDBBNDAzOUQwRTQyMzlCMzMzMjE3OEIKKzoxMDAzMDAwMDlCMzMzMjAzQ0M4NTQ4QzczODE0QTVDRTI5N0VEMjgwRDIKKzoxMDAzMTAwMEExQThCNDQ4ODgyRkNFODMwQjFDRTFEMEQ3OTgwNDg4QkQKKzoxMDAzMjAwMDg3Q0U5NjMxNzNBNThGRjM4MzU4RDdCRTdCODJBRjkyNjkKKzoxMDAzMzAwMDgxOEVGMDAzMDMwNTE4NjY0NUNDMTUyMEI5QzgyOTAwNDUKKzoxMDAzNDAwMEU3NDM5MDhFNkNDQ0M4NUU2Q0NDQzgwRjMyMDUyMzFDODIKKzoxMDAzNTAwMEU0NTBENDVBMTc4ODJGQ0U4MzEwRjlEMDIzMTczQTA0Q0IKKzoxMDAzNjAwMDM1RTYwMDIyMTYzOUMzQTNGQ0UwRDYzNUUwQkZGNDE4MDkKKzoxMDAzNzAwMEYyMkQ0RDQzNTE2RTVBMjIxRjMwRDQxN0U3NDE5MTczMkQKKzoxMDAzODAwMDA1NDgyRTc3NjkwMEU3NDM5MDhFNkNDQ0M4NUU2Q0NDMzQKKzoxMDAzOTAwMEM4MEYzMjA1MjMxQ0VGNEM0RTA2MDRDOTlFMEJGRjQxQ0IKKzoxMDAzQTAwMDhGMjJENEQ0MzUxNkU1QTIyMUYzNUE4MkZDRTgzMjJFRUUKKzoxMDAzQjAwMDYwQTkwNUNFMTM0ODA3M0ExQzg0NzM2NjY2NDJGMzY2NEIKKzoxMDAzQzAwMDY2NDA3OTkwMjkxOEU3MEE5ODlDMEE5RUI1MTI1QzdDRDEKKzoxMDAzRDAwMEMzMzE4Qjk4MkE3Q0QzRUQzOEU5RDM0RTc0RUQ0OTlFMTYKKzoxMDAzRTAwMDBCRkY0MThGMjJENEQ0MzUxNkU1QTIyREVCNDUzMzhGNzgKKzoxMDAzRjAwMEZDRjdBMDVGMjUwMzFERTQwRTA2MEEzMENDMENGM0VCREUKKzoxMDA0MDAwMDQwREU2MUE4NzA5MjBBMDBFMTI0MUUwMEUxMjQxRTAwNzMKKzoxMDA0MTAwMEUxMjQxRTAwRTEyNDFFMDBFMTI0MUUwMTBGOTgyQTBCOTYKKzoxMDA0MjAwMEYzQTBDOEI5QTJBNDE3M0E2OTAwRTc0MzkwOEU3NTQ4QjMKKzoxMDA0MzAwMDVFNzA2OTAxRTYwMDUyMzFDQzE4MTRBNUNDMDk4Mjk0OTMKKzoxMDA0NDAwMDczMENBMDkxRjUyNUNDMDcwNjg0ODQ5RjMwQTJBNDdENkYKKzoxMDA0NTAwMDUwNzVBNjY1MDE0QThFQjRDQ0M0MzU1NDc1NjZBNDk3MTAKKzoxMDA0NjAwMDdBODk1MDUzMTM4MDE5RTM0OTVDNkRDRUE5NDAzNTA2NTMKKzoxMDA0NzAwMDc4RDI1NzA2RjFCMzJBOEQ5NzIzNjI5MjVENjk5OTFDNTEKKzoxMDA0ODAwMDZBMzZFNkNENDYxMjZGOUVFMUFCRTRBMzBDQzBERUFDNEIKKzoxMDA0OTAwMEQ0MEQyODFCRDAxMkE1MDBGODRCQUQzMzI4MDZBMERFRTIKKzoxMDA0QTAwMDE0OTczQTg5NURDMDBERTMwNjkwOTI1RDY5OTg2NkI5MkMKKzoxMDA0QjAwMDE5OTVFNEE4Q0Y5RDMzMTg0OUJFN0I4NkFGOTI4QzMzNDMKKzoxMDA0QzAwMDI0MTQwQ0Y0ODMyNDIxQzI3MEJGRjQxOEYyMkQ0RDQzODAKKzoxMDA0RDAwMDUxNkU1QTIyMUYzMkE4MkZDRTgzMjJFNjA1QTQxNzNBNjYKKzoxMDA0RTAwMDY5MDBFNzQzOTA4RTc1NDg1RTcwNjkwMUU2NDJBNDYzMzcKKzoxMDA0RjAwMDk4MDIyOTRCOUEyOTc4RTk0MDUzMTM4MTgxMzI2NzgyMDcKKzoxMDA1MDAwMEZGRDA2M0M4QjUzNTBENDVBRTUwMDg3Q0UwRDA1RjlEODcKKzoxMDA1MTAwMDA2NDVDQzAxQTQxNzNBNjkwMEU3NDM5MDhFNzU0ODVFMDIKKzoxMDA1MjAwMDcwNjkwMUU2NTlBNDYzOTgxQzUyOTczQjMwNTI4RTdENDYKKzoxMDA1MzAwMDJBMDkxRjUxRUJBNEE0MEFCOTk0ODdBRUM1MzEzODAyMjkKKzoxMDA1NDAwMEZGRDA2M0M4QjUzNTBENDVBRTUwMDg3Q0VBMjBCRjNBRjAKKzoxMDA1NTAwMDBDOEI5QTE2OTA1Q0U5QTQwMzlEMEU0MjM5RDUyMTc5NDMKKzoxMDA1NjAwMDk1NDgwRjMwMEE5MThFNjBFQjI5NzMwMDA5NTQwNENBMzQKKzoxMDA1NzAwMDgyNjU1MjY1RTRDQTIyNjU3MjY1MDkzMkUwOTk3MjRDNUYKKzoxMDA1ODAwMEM0RTAwQkZGNDE4RjIyRDRENDM1MTZCOTQwMjFGMzhBNDEKKzoxMDA1OTAwMDgyRkNFODMyMkU2MEE5MDVDRTlBNDAzOUQwRTQyMzlEMzIKKzoxMDA1QTAwMDUyMTc5OTU0NjE5OTAxRTY0MEE0NjM5ODA0QjE4NDk4NjQKKzoxMDA1QjAwMDE4RUYyRDAzMDUzMTM4MDJGRkQwNjNDOEI1MzUwRDQ1NUUKKzoxMDA1QzAwMEI5Njg4ODdDRTA1MDVGOUQwNjQ1Q0M4MTQ4MkU3MTM0MjcKKzoxMDA1RDAwMDhGNDgwMTQ4MTUyMTA1MjFFOTBBNTIwM0NFNUE0NjM5QjAKKzoxMDA1RTAwMENGNDc4RTYwQUIxQUYzNTM0M0VCMzUyNEI4MUIzMDA3NkIKKzoxMDA1RjAwMDA5OEE3NDJGN0U0MTc0MUUxRDBEODc0NjQ5RDU5NUQxRjkKKzoxMDA2MDAwMEQ1RDVCQkE5NEU4MjlEMDUzQTBBNzQxNEU4MjlEMDQyN0IKKzoxMDA2MTAwMDc0NUJDRTUwQzQwNzQ1QkNFMjBDNDA3NDVCQ0U4MzA0Q0YKKzoxMDA2MjAwMEY5OTU0RDEzNjM1RTZGMzEzQkEwOEJBMkM1Mzk4RDc4NzAKKzoxMDA2MzAwMDNBMjJBMDAwNkJDMUQxNTQ2MDE2RDk5MUEyRTc0MzhDMzUKKzoxMDA2NDAwMDI0REMxQ0UwNTExNzM5NkIzQkNDNEI0MjJFNkI1MEJGNjYKKzoxMDA2NTAwMDM2MzY2NTRGN0ExODU1MjU3ODk4MjNFNzUwM0VGMzgxNTIKKzoxMDA2NjAwMDRDMDI2RDNFNzE1M0FGNzhBOUQ0QTYyOUIxQkNEOTk5N0IKKzoxMDA2NzAwMEIyOEU2MjhGMjIyRTc1MTZCMEIyQUIyMzI4MTY1NDUyNUEKKzoxMDA2ODAwMDMxQkNEOTk5QjI4RTY2MTkwMjJFNzUxNjUwMkNBOUM4QTQKKzoxMDA2OTAwMEM2RjUyMEQzRTQ3RjRGOUMwQUQ2MTY3RjkwRUU0Q0VCMzQKKzoxMDA2QTAwMENGRTI4OEJBMkY0Mjg2QUVCREU1QTc1MjlGOTM2Mzc5MDkKKzoxMDA2QjAwMEVCMzMwOEY5OTQ1MjQ3Q0Q5OTI1NkYzQTBDMTNFNjU1NjAKKzoxMDA2QzAwMDM0NEM1QTREQjUyMzk1QTU0ODExNUEwQTQzOTVBQzJDODQKKzoxMDA2RDAwMEJBMjQwNTQ5QjFCQ0NBQTc3MjZDNkJDNUJERTgzMTY5QzMKKzoxMDA2RTAwMDUyNUQwNjEyNjUzRUIxNTA0QzdENEZBQzBBMzAwQjM2NjAKKzoxMDA2RjAwMDY0MTE3MzhBODM4RTc1MTI5RjdCRDI5OTU4RUU4MjJFNzUKKzoxMDA3MDAwMDc3QTBFMzlENUQ0RkJDMkE1MzI5NTNERTkzMjRCQUIzRUYKKzoxMDA3MTAwMDM2QUE0QUM2NzlENEI5REU2MjVBMTE3MzUwNTBCRjM3MkYKKzoxMDA3MjAwMDM2NkYxMzIzQkEwQzI0Q0VCREUyQTc1MkIyOEU2QjYwOTMKKzoxMDA3MzAwMDYyMkU3NTEzMzBBQ0EwNTlDQTY0NjM3OUIzMzM2NTFDNUIKKzoxMDA3NDAwMENDMzIwNDVDRUEyQ0EwNTlERjIzMUJENDgzNTI0N0RENTIKKzoxMDA3NTAwMDc5OTZENDlFQjM1MjRCQTI1QTFBOEQ1RDdCODJBNzUyRDIKKzoxMDA3NjAwMEIyOEU2NjE5MDIyRTc1MTY1MDJDOEMzMjFEN0I4RUE3MDgKKzoxMDA3NzAwMDUyQjFCQ0Q5OTk5ODA0REE3Q0UyQUNGRTY2MTkwMjJFMUIKKzoxMDA3ODAwMDY1NTBCRjMzNjY2NEZFNzQxODg2NEMxNzI2RDYxNjUyMjEKKzoxMDA3OTAwMDM5MThERTdBQ0NDMjNFNjUxNDkxRjM2NjQ5MDg2RTgzM0YKKzoxMDA3QTAwMDA5MzNBRjMxRUQwRDlEMDYxMjYyMkEzMThENkRFNzQxOUYKKzoxMDA3QjAwMDgyN0NDQUE2ODk4NzA5MkUyOUIxQUYxMDM5RDY2NDk3RTEKKzoxMDA3QzAwMDMwMUQ0Mjc1OTM0NDAyOEMyNEQyN0FCMzUwRjY4OTA1QzkKKzoxMDA3RDAwMDQzNUU2MTk4QzAyQzkyMjUzQzhCMjQ4OTQ5MDU0OUU3RUEKKzoxMDA3RTAwMDBDQjk4NDk4QjdBRDMzNDRBRTVBNTE4NjYwOUYzOEE5OEUKKzoxMDA3RjAwMEEyNkM2QkM0OEVGNDVFNDk0NjEyNjJERUI0Q0QyMTVDRkQKKzoxMDA4MDAwMEI0QTMwQ0MxM0U3MjI5QTI2QzZCQzYxMjYyNDdGMEU4MTkKKzoxMDA4MTAwMEMzMzIwNDM1NDA5MkE0ODI4ODEwOTI3Q0NCRDQyRkE0OUEKKzoxMDA4MjAwMDAyMTE4NDk4QjdBRDMzNDRBRTVBNTE4NjYwOUYzOEE5RkYKKzoxMDA4MzAwMEEyNkM2QkM0OEVGNDVFNDk0NDA4NDkzRTY1RUExN0QyNDcKKzoxMDA4NDAwMDAxMDhDMjRDNUJENjk5QTQyQjk2OTQ2MTk4MjdDRTQ1OUIKKzoxMDA4NTAwMDM0NEQ4RDc4ODEwOTI3Q0NCRDEyMjg2QzU4QUZCNkYzODIKKzoxMDA4NjAwMEEwQzEzRTY1NTM0NEQ4RDc5MjhFN0Q0QkMyRkE2MTI2MTMKKzoxMDA4NzAwMDA2M0FCMzZCMDMwNTQ5RTcwQ0I5NkY1QTY2OTU1Q0I0NDkKKzoxMDA4ODAwMEEzMENDMTNFNzAyOUEyNkVBNERGOTM3MTEzNzcyNkUxRjkKKzoxMDA4OTAwMDI2RjgyNkM2QkM5NDczRjkyRjBCRTk4NDk4MThFQUNDODUKKzoxMDA4QTAwMEVDMEMxNTI3OUMzMkZGM0Q1NkFGOTI4QjdBRDMzNUQ1OTEKKzoxMDA4QjAwMENCNEEzMENDMTNFNzAyOUEyNkM2QkM5NDczNDE5NzkxNzkKKzoxMDA4QzAwMEY0ODNDRTA0MjA2MjhCMDUxNjQ5OEMyNEMwQzc1NjkwNTEKKzoxMDA4RDAwMEMwQzE1Mjc5QzMyRTVCRDVBNjcyRDI5NEZBQUQ1OEM4NjYKKzoxMDA4RTAwMEZBOUY1NEIzMzI0QkI5NTRBNjUxODY2Qjc5RDA2MDlGQUUKKzoxMDA4RjAwMDMyMDUzNDREOEQ3QTREMUU3QUIzNTEwMEE5M0Q1OUE4NjkKKzoxMDA5MDAwMDdCNDQ4MkExQUY0QThENTJBOTUyNDE0OTRGM0EyRTQwQjEKKzoxMDA5MTAwMEE0OTk1MEJFOTAwODUyNzlDMzJFNjEyNjJERUI0Q0QwN0QKKzoxMDA5MjAwMDE1Q0I0QTMwQ0MxM0U3MDI5QTI2QzZCQzQ4RkUxRDI1REIKKzoxMDA5MzAwMDQ2QTk1NEE5MjBBNEE3OUQxNzIwNTI0Q0E4NUY0ODA0OUIKKzoxMDA5NDAwMDIzMDkzMTZGNUE2NjgwQUU1QTUxODY2MDlGMzgxNEQxQTAKKzoxMDA5NTAwMDM2MzVFNEE3OUQxNzIwNTI0Q0EyNDUwRDhCMTVGNDkxMTYKKzoxMDA5NjAwMERFOEJDOTI4QzI0QzVCRDY5OUE5NUNCNEEzMENENkYzMjQKKzoxMDA5NzAwMEEwQzEzRTY0MEE2ODlCMUFGMTZENENBQTkyRTAzNjk0QkQKKzoxMDA5ODAwMDcwOUIyOTc4MTNBRUIzQUE4NUQ0NDM3NTA5M0FDOUVCOTUKKzoxMDA5OTAwMDM1MjRCODFCMzI4RTEzNDg3RTRFRkQ0MEZENDBGRDQwOEQKKzoxMDA5QTAwMEZENDBGRDQwRkMxM0Y0MjFGOTE3NDU4QTMwMEIzMzVGRkQKKzoxMDA5QjAwMDgzQTIyQTMwMEIzMzVGODNBMkE4QzAyREIzMjA3MDkyOEMKKzoxMDA5QzAwMDEzOUFERTc0MTgyN0NDQUE2ODlCMUFGNzA3NDU1MTgwNDIKKzoxMDA5RDAwMDVCNjY0NzA3MzhBODIzRTc1MTExM0ZFMEU4ODU0NjAxRTkKKzoxMDA5RTAwMDZEOTkwNjEyNjU0RjdBMjAyNEJBQjMzMjE1MjU3QkFENzYKKzoxMDA5RjAwMDMzNzhBRTBFNzNEMDQ3Q0VBNzMwQ0M0NEZGODNBMkE4ODUKKzoxMDBBMDAwMEMwMkNEOTkxQzFEMTE1MTgwNTlCMzIwOEJBMkM1MTgwNDAKKzoxMDBBMTAwMDU5QjMyMDcwOTJFMjk4ODlGREJDRUUxODkwRkM4QkEyMkQKKzoxMDBBMjAwMEM1MkIwRDc4M0EyMkE1NjFBRjA3NDU1MTgwNUI2NjQ0MUUKKzoxMDBBMzAwMDlFQjM1MjRCODNBREM3MDlCRTFGOUY3NDY1NUQwQTE3RjUKKzoxMDBBNDAwMDdDQUJBMEMyNEMzODQ5MTIyRTM4NDkwN0EzMENDMTNFREEKKzoxMDBBNTAwMDY1NTM0NEQ4RDdBREU3MDAzMjRCOUIzMzM0NEEwMzAwOEIKKzoxMDBBNjAwMDlEMjVDRTgzMjRCODE5OTk4QzAyMTI0QkExOTlEOEMwMjgKKzoxMDBBNzAwMDI3NDk3M0NGRjkzQ0Y0N0NFNzk4MDRFOTJFN0YzOUUzRUEKKzoxMDBBODAwMDRGNDY1M0MwNjAxM0E0QjlFNTNDMDNERThGOUNGMzAwQ0UKKzoxMDBBOTAwMDlDNkZDRjNFODVGOUEzMzYwMjFFNjAzODkyM0U2MzFBRTIKKzoxMDBBQTAwMDEwOUZDRjE4MTA5MkJDRDBBNDBDRENDMDBGOUM5NzM0QzAKKzoxMDBBQjAwMDYyQjZFN0YzRjNBNUNGMTg0MjM0MUNDMkNBRkE4RTY4QjcKKzoxMDBBQzAwMDUyMDZBRjNDQTMwREJGOUU1MEUxRDE3M0NBRTAzQUZDODEKKzoxMDBBRDAwMEMxMDkxQTFFNkE1QzVCOEU2MzRFNzc3M0NDNjE2N0RENTkKKzoxMDBBRTAwMEU2NkM0OEQxRjMxQjI0Njk1MTA4RDQ0MjFCRjQ2N0QxNEEKKzoxMDBBRjAwMDgwNEUyRkQwOENEODMwMDlDMjFFODAxQzQ2MDEzQTQ3NDgKKzoxMDBCMDAwMEQwMzFBMTA2MDEzQTdGNDYzMDIxMTgwNEU5NUU4NDI5REMKKzoxMDBCMTAwMDAwQzAyN0NERDAwMDdDOTgwNEY5MkU4NDYyOEMwMjdEMjEKKzoxMDBCMjAwMEJBM0U3RTRDMDI3RDJFOEM2MTA4MzAwOUY0MUQwMTY1QjEKKzoxMDBCMzAwMDczMDA5RjUxRDA4NTIwMTgwNEZBQkQxOTQ2MThDMDI3QUMKKzoxMDBCNDAwMERGRDE5NDM4NEMwMjdEMTc0NjU3MDEzMDA5RjVGQTAxODAKKzoxMDBCNTAwMDA5MDYwMTNFODdBMTRCODhDMDI3REM3NDBEMzlEMzAwRkMKKzoxMDBCNjAwMDlGNzNEMDMwQjM5ODA0RkJCRDA2QzQ4MzAwOUY0N0QwNjkKKzoxMDBCNzAwMDM2NDhDQzAyNzFCRjNGOUExN0U2M0YwODIxRTY5MkE0OUYKKzoxMDBCODAwMDhGOUExMDMxQTdGMzEwQjE4NEFGM0FBQ0RDRjc3M0YyNEYKKzoxMDBCOTAwMDVDQzYyQURCOUU3RTdFOTczMTA4NjNEMDczN0I0M0E4QjgKKzoxMDBCQTAwMEU2M0QzNEVBRjNFMzE1QkY5RjE4NUY0NUNGRTg5RjVGNEEKKzoxMDBCQjAwMDlBNUIwM0QwRjNEM0NFMzcxQ0QwMEZCQjlFNjg3ODNCMzMKKzoxMDBCQzAwMEJDQ0EzMUU4RjlBMjAyMTJBMjczNTEwODZGRDFGMzQ2RjAKKzoxMDBCRDAwMDAxMzhCRjQwRkMyMzAwOUMyMUU4NDk1MTgwNEU5MUY0MkMKKzoxMDBCRTAwMDIxMDMxOTgwNEU5RkQwMjE2MzA2MDEzQTU2OEMwMjc0NkUKKzoxMDBCRjAwMEZFNzU0OTVFNjNEMzRBNTQ0MjM1MTNBN0QxODA0RTk1QTIKKzoxMDBDMDAwMEU4MUU5QTRDMDI3Q0REMUJCOUU2MDEzRTRCQTA2MkEzQjQKKzoxMDBDMTAwMDAwOUY2RThDRkNGMzAwOUY0QkEwNDIxOENDMDI3RDA3MTYKKzoxMDBDMjAwMDQzREExMzAwOUY1MUQwM0QzNDk4MDRGQUJEMUM2MjhDMDYKKzoxMDBDMzAwMDAyN0RGRDFDNjE3MzAwOUY0NUQxRjQ0RTYwMTNFQkY0RkYKKzoxMDBDNDAwMDI1QjAzMzAwOUY0M0QxQTc5QzE4MDRGQjhFODQwM0U5OTEKKzoxMDBDNTAwMDgwNEZCOUU4NDNDMTMwMDlGNzdBMEEzMTk4MDRGQTNFNjcKKzoxMDBDNjAwMDg0NDA0MTgwNEU4MkU3NDE4NzA5MjMwNDIzMDA5RDA1OEIKKzoxMDBDNzAwMENFOTYxQzI0OEMxMDhDMDI3NDE3M0EwNDM4NDkxODIxMjMKKzoxMDBDODAwMDE4MDRFODJFNzQ1MEUxMjQ2MDg0NjAxM0EwQjlENDExRDQKKzoxMDBDOTAwMEMyNDhDMTA4QzAyNzQxNzNBODIzODQ5MTgyMTE4MDRFQTUKKzoxMDBDQTAwMDgyRTc1MjhFMTI0NjA4NDYwMTNBMEI5RDQwMUMyNDhDNjYKKzoxMDBDQjAwMDEwOEMwMjc0MTczQTA5MEUxMjQ2MDg0NjAxM0EwQjk4MzYKKzoxMDBDQzAwMDZBMUMyNEIwRTExODA0RTgyRTZCNTBFMTI1ODcwOEMwQTcKKzoxMDBDRDAwMDI3NDE3MzA1NDM4NDk2MUMyMzAwOUQwNUNDQUExQzI0NDAKKzoxMDBDRTAwMEIwRTExODA0RTgyRTcwNjg3MDkyQzM4NDYwMTNFNTQ0ODQKKzoxMDBDRjAwMEY5NDA5RDA1Q0U1QTFDMjRCMEUxMTgwNEY5RDEzRTcwOEMKKzoxMDBEMDAwMDI3Q0YxM0U1NDQyQ0EwNDJDQjg5RjIyMTNBMEI5QzBBNTEKKzoxMDBEMTAwMDFDMjRCMEUxMTgwNEY5RDEwQjM4MTBCM0M0MjEzOTM2QzIKKzoxMDBEMjAwMDVDNDJDODg0MkI3OUQwNjFDMjc0MTUyNEJBRDMzMUU1RjIKKzoxMDBEMzAwMDU5MDgyOTA4RTA2NjYzNDI5NTEyODEwMDI5MEJDMTUxQzgKKzoxMDBENDAwMDI0QjgxOTk5OTAyMjkwQjQxOEEwOTE0MTAxNDE0MTQxRDEKKzoxMDBENTAwMDUyODNDQTQwMjg2ODI5MDhCQTE2MTA5Qzk5MEI1Njk0RTkKKzoxMDBENjAwMDkwNTIxNTc0QzAyNzFBMkFEMjkwMjVEMzAwOUQyOEFCMjMKKzoxMDBENzAwMDRBNDIxNzRDMDI3MEQ0ODQyRTk4MDRFMTJBNDIxNzRDNDAKKzoxMDBEODAwMDAyNzA4MjkwNEJBNjAxMzg1MTQ4NDJFOTgwNEUxNUE0NkEKKzoxMDBEOTAwMDIxNzRDMDI3MEZBNDEyRTk4MDRFODJBQzgwQUNBMEFDQjUKKzoxMDBEQTAwMEE5NTlFNTY0NDU2NUNBQzg0QUNFMEFDRTRBQ0U5NTkxOEUKKzoxMDBEQjAwMDk1OTQ5NTkzMjkyNUMwQ0NDQzg4QTQ5NzU2MzY2NDcyMTcKKzoxMDBEQzAwMDkwNTQ4QTlDNDUwOEI5Qjc2NjEyOTMwOUM5QjI3NDhFQ0IKKzoxMDBERDAwMEJBNjAxM0U1MzQ4RUJBNjAxM0U0NzQ4RUJBNjAxM0U1MUEKKzoxMDBERTAwMDY5MUQ3NEMwMjdDQTI5MUQ3NEMwMjdDRUQyMjVEMzAwMUYKKzoxMDBERjAwMDlGMzhBNDRCQTYwMTNFNUU5MTJFOTgwNEY5MTUyMjVEMDIKKzoxMDBFMDAwMDMwMDlGM0U5MTJFOTgwNEY5MDUyMjVEMzAwOURDNTQ4N0YKKzoxMDBFMTAwMDI1RDMwMDlDNDVDRUNEMDlDOUIyMUE0NEJBNjAxM0U3NjgKKzoxMDBFMjAwMDM0ODk3NEMwMjcxQzI3Qjc5QzgwQzJENzc2NTk5QjkzRkUKKzoxMDBFMzAwMDBDNjRDMzFEMUJGNDQ1NEJDN0M2M0EzN0U4ODE0QkM3NEEKKzoxMDBFNDAwMEM2M0EzN0U4OTE0QkM3QzYzMjYxOEVCM0JDQzM0QTIyNUIKKzoxMDBFNTAwMEU2QjUyNDk3NzFDOTg3QjQzMUFFNzNBMkNGMzlEMjVEOUMKKzoxMDBFNjAwMDA0NDQ0MkMwRDZERTcxMDYxNkJCREJDRTgzMEM2NEMzREQKKzoxMDBFNzAwMDFEMzExMzA0Rjk5NTREMTMzMjkzNjM1RTY2MTRDQzI5MkEKKzoxMDBFODAwMDJBNTMzMEE2NjE0Q0MyOTk4NTNBNzJDQ0MyOTk4NTA2MjQKKzoxMDBFOTAwMDFCQjMwQTY2MTQxNDI0OTk4NTMzMEEwOEIxODY2MTRDODEKKzoxMDBFQTAwMEMyODQyMTY4NzMzQjMwQTY2MTQxNEVBNTk4NTMzMEFDOTMKKzoxMDBFQjAwMDU5NzY2MTRDQzJCMDhERDY2MTRDQzJCMDJDRjY2MTRDRjMKKzoxMDBFQzAwMEMyQjE4Q0E1OTg1MzMwQUMwRjI0Q0MyOTk4NTYwRjI4NkEKKzoxMDBFRDAwMDY2MTU5MjFBMTk4NTMzMEFDQTg1MENDMjk5ODU2NUMzQUQKKzoxMDBFRTAwMEQ5ODUzMzBBQ0U3MDg2NjE0Q0MyQjM5NzcxMEM5OTNCOTkKKzoxMDBFRjAwMENDODM1ODBCRUE3NzlEMDY0QUJFMDQ3NDYwRTBEMTRFNUQKKzoxMDBGMDAwMDM4NEMzRUVFM0VFRTNFRUUzRUVFMzBCQkNBRTExRjc3ODEKKzoxMDBGMTAwMDFGNzcxRjc3MUY3NzI3NzA4RkJCODAwRTExRjc3MUY3MzAKKzoxMDBGMjAwMDdDNkYzQ0IzMzYwMkZCOERFNjU1NzA3RjJEMjQ2OTU1RUUKKzoxMDBGMzAwMDRGNThBOTIzMUY1NEY3OEE5NTI1MkI3NTBDQ0NBQzU2MTYKKzoxMDBGNDAwMDUxQ0M1MUU0NDVDRUEyMTIzOUMwQTBBRjU2NkE0OTdGQjgKKzoxMDBGNTAwMDAyOEMwOUY4MEJFQkFGNTY3NjY3NTJCMjhFNjlBNzExNzcKKzoxMDBGNjAwMDczQThCMUJDQ0FBMEE5MzY1MDJDOThFNzBBRjU2NkE0QUMKKzoxMDBGNzAwMDk3RTI1QTMwMjdCQUY3ODM0RUE1MzMwQTY2MTU4REU2RjUKKzoxMDBGODAwMDU1MzlEMkE3QUM1NDYwMTY3MDFCNzI4RTYyOEYyMjJFMTgKKzoxMDBGOTAwMDc1MTYwMkZCOERFNjBBOTUzRDYyQTMwMEI3MDFCNTUzQjUKKzoxMDBGQTAwMERFMkE1NDk0QURENDMzMzJCMTU5NDczMTQ3OTExNzNBQzAKKzoxMDBGQjAwMDg4NDhFNzAyQjAxN0RDNjc5RDRCOERFNzUyQUE3QkQ0QzcKKzoxMDBGQzAwMEFBOTJCREQ2OTlCQzU2MDJGQjhDRjM2NjY2QzZGMzY2NDAKKzoxMDBGRDAwMDY2NjI5OTJBRjgxODY4NzBCMDhBMEQ1NTU1NTU1NTUyQjEKKzoxMDBGRTAwMDMyRTE0MDVDMzgwQkVBOUI4NzAxN0RDMDVGNzAxN0RDMDMKKzoxMDBGRjAwMDA1RjVEQzlCMDE3RDYxNEQ4MEJFQTc3OTgyQTIxRjUwNjMKKzoxMDEwMDAwMDE1MkE4RjhCMUNFNUE1MTM4NDU4RTcwMjkxNTQwNTAyMUQKKzoxMDEwMTAwMDRCQkQyMjFBOTQ3RjlDMUFDMDVGNDIxQTIxRDE4MDU5N0QKKzoxMDEwMjAwMEMwNkQxQzJDMEE4MzU1NTU1NTU1NTU1NTU1NTU1NTU1NkMKKzoxMDEwMzAwMDU1NTQxQ0I4NUM2RTE3OUMyRjM4NUU3MEU3Qjg1RTcwMTQKKzoxMDEwNDAwMEJDRTE3OUMyRjM4NUU3MEJDRTE3OUMyOTlDMjk5QzI5MkEKKzoxMDEwNTAwMDlDMjMwRjU4MTRFRTM1NzcyNjIxOTMwNUM5QjAxN0QyN0IKKzoxMDEwNjAwMDFEMTg4QTIxOTMwNUM5QjAxN0QxODdBQzBBNzQwRkFFMzkKKzoxMDEwNzAwMEY1NUE4MkEzRTQzQTMxMTRCQkQ3NTk5OTc0QTIxOTMwQjYKKzoxMDEwODAwMDVDOUIwMTdEMTg3QUMwQTc0MEY4NDNENDYzODkyNUQwQzIKKzoxMDEwOTAwMDEwRDYxQzZBMTBGNTU1ODkyNUQxNTE2NjFGNTFGNTkxNUUKKzoxMDEwQTAwMDQ5MkU4OTE1OTg2QUEzRTA4QTk0NjU2NDBFMTMxNzM4NEYKKzoxMDEwQjAwMEE4ODY0QzE3MjZDMDVGNDYxRUIwMjg2MzFGMDg3QThDOEUKKzoxMDEwQzAwMDcxMjRCQTAyMUFEMDBENDIxRUFBQjEyNEJBMkEyRDMxQjcKKzoxMDEwRDAwMEY1MUY1ODc0OTJFODg3NUE2MzUyREVGNDUxNjk0QTNFMEMKKzoxMDEwRTAwMDA5Njk0NjUwRjBFMTMxNzMwNTQ1QkQ1OThEOEI0QTdDNDUKKzoxMDEwRjAwMEQzRUQzOEU5RDM0RTc0RUQ0NDMyNjBCOTM2MDJGQTVCNzEKKzoxMDExMDAwMERFOEEyRDI5RDBFMTIxRjVBMzkyMjFGMjE5MzA1QzlCRDIKKzoxMDExMTAwMDAxN0QyMUY1QTBDNjAxNjcwMUI0NDVDRUE1MTIzOUQ0RTEKKzoxMDExMjAwMDFDMDVGNDQwQTFDMkMzNTA2QUFBQUFBQUFBQUFBQUFBRTQKKzoxMDExMzAwMEFBQUFBQUFBQUFBQTgxQUY4NjlGMTkxQkU3ODFGMzY1NkEKKzoxMDExNDAwMEYyODBCRTcwMTdERkRGMzgwQkVCMERDMzgwQkVBNzBGMzgKKzoxMDExNTAwMDk1NEY1QTk0QzAyQ0Q4QjFBN0NFNUExMTczQTgzQUMyNTEKKzoxMDExNjAwMENDQjYzMDE3REM2RjM1QTk4MDREQTdDRTJBMTg3OUM1Q0IKKzoxMDExNzAwMDQ5REU2MUE4MjJFNzUwMzNGOTk4NjQwOEI5OTU0MkZDMkEKKzoxMDExODAwMENDRDk5NTNENjJBMjQ4RDQ0OEU3MDI4OEI5QzFBMEUzMTIKKzoxMDExOTAwMDlENEU2MkU2Q0NDNjZCQ0U4MzEwQzk4MkU0REFDMkM4MkIKKzoxMDExQTAwMDFFQzNCOTM2MDJGQUE5RUI0RTMwMzBGQTBERjBBOUVCQTYKKzoxMDExQjAwMDQwQjkwRkFBN0FEMkMyQzhGQUE3QUQ0MTBBNDdENTNEQjUKKzoxMDExQzAwMDY4QUNGMUY1NEY1QTk3NTQ3RDRGQThBQTU1MUYxMTczN0IKKzoxMDExRDAwMDVBQjAxN0RFNUQ1OUE5MjVEMDU1MkE0NkJDQjgyMkFFQjMKKzoxMDExRTAwMDQ1MjkzRTE0RkFFMTk5OTRDQTRBQkUzREQ2OTk5MjVEQ0EKKzoxMDExRjAwMDE1MTdDOEQ3REMxNTE3OEE0MDFGMEE5RUFDQzk2NTQ5NjgKKzoxMDEyMDAwMDVDMUQxMDY4NEEzRTVCREU4MzE2OTU4MEJFOTE3NDU4NjMKKzoxMDEyMTAwMEE0MDA3QzM4RTc1NjMwMTdERjc1QTY2NDk3NDUyMDlERkIKKzoxMDEyMjAwMDAzNUY3MDU0NUUyOTFERjBBOUVBQ0M4NjU0OTVDMUQxQTQKKzoxMDEyMzAwMDA2ODMwRkFBN0JEMDY1NDk0NUJERTk2MkQyOTFERjA0RTAKKzoxMDEyNDAwMDVEMTYyOTFDN0Q0RkFDMUE0NzFBQTlGNTY3NjY1MzI4MEQKKzoxMDEyNTAwMEI3QkQyQzVBNTIzQkUzREQ1OUE5MjVEMUE4QUMwODZCODgKKzoxMDEyNjAwMEVFMDhBQkM1MjAyRjg1NEY1NjY2NzU0OTVDMUMxODFEQ0UKKzoxMDEyNzAwMDgxQzI2NDA1RjA4MEJFMzU1Q0QwMTdDMjU1RjA5NTdDMDQKKzoxMDEyODAwMDI1NUYwODBCRTEwMTdDN0JBQjM1MjRCQTEwNTU5MzFBMUUKKzoxMDEyOTAwMEZCODIyQUYxNDhEN0MyQTdBQjMxQjJBNEFDNjM5RDRBMDYKKzoxMDEyQTAwMDhEN0M3QkFCMzUyNEJBMTA1NDMwOEQ3REMxMTU3OEFDNjQKKzoxMDEyQjAwMDZGNUE5NDYwMUFFMzc5RDRBQTRGODU0RjU2NjZENTQ5ODAKKzoxMDEyQzAwMDU4QzczQTk1NDlGMDQ1RDE2Mjk0ODZCQzFEMTNEMjkwMTcKKzoxMDEyRDAwMEZGQ0Y3QTgzRjI1MDMxREUwMDYwNjBBMTE3MzVBODVGM0UKKzoxMDEyRTAwMDlCMUIzNzA3NDQxQTMwMEIzODBEQkMxQ0UwRDA0N0NFOEYKKzoxMDEyRjAwMEEwQUE3QUExOTg2QTkyOTUzRDY4MzE4MDVCODBEQUE5QUMKKzoxMDEzMDAwMEVGNDE5NTI1MTZGN0E1OEI0QUM2NzlCMzMzNjAyRkFBMEUKKzoxMDEzMTAwMDlFQjE1MTgwNTk5RUNBQTdBQzBBMzAwQjY3QjJBREQ1QjkKKzoxMDEzMjAwMERBOTI1RDE3QTMwMEIzMkQ5NTZFMDhBOTU4QTExNzNBNUMKKzoxMDEzMzAwMDhCMDE3RDU0Rjc4RTk1MjUwODFDRTA1NjAyRkJDMUQxMjgKKzoxMDEzNDAwMDE1MTgwNTkyNkIzQzFEMTIyOEMwMkNBNTZDMTE3MDE3NDYKKzoxMDEzNTAwMEIyMzg0RDgwQkVFMDJGQjRFQzRBRURCMzlFMDJGQjgwNjQKKzoxMDEzNjAwMEJFRTAyRkIxMzk5MzNFNkRFNzEwNjA5RjMyQTlBMjZDQTkKKzoxMDEzNzAwMDA1RjQ0MEU2MEE5NTNENkEyMzAwQjM4MERBQTdENjJBMzEKKzoxMDEzODAwMDAzMEQ3MDE3RDIyRTc2Mjk0RkJDNTRBNjUxNkY3QTU4OTAKKzoxMDEzOTAwMEI0QUMwNUY0OEJBMkY0MEUzNTBENDkyRUI0Q0MxOEE1Q0YKKzoxMDEzQTAwMEM4Rjg0QTk3MjNFMTA1MkU0N0MyOEE1QzhGODU2OTcyODcKKzoxMDEzQjAwMDNFMUY0QUMzNTUxRjU2NDMzMjhDQTM1RTYwQTg0NUNFREMKKzoxMDEzQzAwMDBENjAyRkEzODQ5REQ4RjAxN0QyMkUwRTFCMjM4NEQ4MzYKKzoxMDEzRDAwMDBCRUI4OUYzODBCRUUwMkZCQjM5ODVERjIyMDNFNzAxRTkKKzoxMDEzRTAwMDdEQzA1RjcwMTdEMTE3MzgxNDVCRDZBMjc0MEQ0QjdBOEQKKzoxMDEzRjAwMEIzMzE5Njk0NkJDQzM1MjNENzQ5NDgxNTczMjkwRjVEQ0IKKzoxMDE0MDAwMDhBQzA1RjRENzk4NDM1ODBCRTg4MUNDMzUyOUY1OTY4NUQKKzoxMDE0MTAwMEMwMkNFMDM2QUE3QkNENEE5MkJFRjM4MTRBN0Q1QjU5NEYKKzoxMDE0MjAwMDk0Q0ExQzI0RUVDNzgwQkU4ODFDQzM1MjlGNTk2OEMwNTIKKzoxMDE0MzAwMDJDRTAzNkFBN0JDRDRBOTJCRUYzODE0Mzg0OUM3QjM4NTQKKzoxMDE0NDAwMDBCRUJBRjcwRDRFQTUzMDA5QjRGOUM1NDMwRjM4QTk0NUIKKzoxMDE0NTAwMEZBQjZCMzI5OTQyMkU2MUE4NUY5QjA1OTkzRjlEMkM0QTEKKzoxMDE0NjAwMDMyNjBCOTM2QjBCMzkwRDk3NzI2MUMyNzIyRTg5NkI0RkIKKzoxMDE0NzAwMDIzRUE5RUI1MTE4MDU5NjU4NjIwNzM5NjhENzlBRDU4MDMKKzoxMDE0ODAwMDBCRTkxNzQ0OEE0QTA3RDc3QTgyQTE5MEZBRUYwMTU0RjAKKzoxMDE0OTAwMEJBNTBENDU5MUUyQ0U5RjM4QTk5ODU2QjBCMjMxNTk3MDIKKzoxMDE0QTAwMDcyNjExNzMwRDQyQzczODc0OEFBMDI4MTI1REU5MTBEMTIKKzoxMDE0QjAwMDRBQzA1RjdFRDI4MEE1M0VCMkQwQzg2QjgwQkU4ODFDNzkKKzoxMDE0QzAwMEVBMDkxNzQ0MUEzNzFBOTE3NDU4QTM3MUFGMDc0NDU0QTQKKzoxMDE0RDAwMDZFMzVFMEU4QUE2NDBGOTBGQUQwNjMwMEIzODBEQTJDOEUKKzoxMDE0RTAwMDczODc0OEFBMDI4MTI1REU5MTBENEFDMDVGNDhCQTI3NUEKKzoxMDE0RjAwMEEzMDBCNzAxQjc0RjlDQjQ2QkNDMzUxNkY1NjY2MzJEQ0UKKzoxMDE1MDAwMDI5MUVCQTRBNDBBQjk5NDg3QUVDNTA4QjlDMDgyMkZDQzEKKzoxMDE1MTAwMEY5QjI1NTNENjJBOTIzNTEyMzlDMEEzQzczMEQ0NDVDRUEKKzoxMDE1MjAwMEUxNTA3MUNFQTExRkU3MTU2QjBCMjVFRDBCOTM2MDJGREEKKzoxMDE1MzAwMEFBOUVBQzM2NjU0OTVGN0EyMDUwMDg3RkVGMzkxNDQ5N0UKKzoxMDE1NDAwMDAxMTE4MTA0NjA0MENDNTlDMEFEMjNFQjQxQjA4MUYyNjAKKzoxMDE1NTAwMDNBNDFBQTUwNDNFNEQ0ODY1NEEwODdDMTUyQ0E5MzAxQTkKKzoxMDE1NjAwMDMyNTQ5RDI0MDIwMDAwNTJBRjE2NDZBNzkxNjcwOEI0N0EKKzoxMDE1NzAwMDA0NTFGMTY1MTlCNDZFMkRDMEFENDkwMDkyNTcxQjc0MkEKKzoxMDE1ODAwMDQ1NUYyMzUxQjc0NDBBMTAwNkEzNkU4QjZCMDgxRjE5RTEKKzoxMDE1OTAwMEQxRTY4MDgyODA1NDA0MkE0NTkxQTlFNDU5QzIyRDAxRTQKKzoxMDE1QTAwMDE0MDQ1MEQzRkM1NTg0NjFEOTgwNTEyRkUyMUY0NjVGNEIKKzoxMDE1QjAwMDQwRTAyMDE1NEFCQzU5MUE5RTQ1OUMyMkQwMTE0OENCQzgKKzoxMDE1QzAwMEU4MTQwODAxNTQxNUUyQzhENEYyMkNFMTE2ODA4QTQ2Q0EKKzoxMDE1RDAwMDVGNTI3Q0Q5QThGODg4RDA1QTNDRDI1QzVCODBEQUE3RUQKKzoxMDE1RTAwMEQ2NUEwODg2QTQ1RDE3QTBDMzUyMkU4OEE4MjIxRjUzN0UKKzoxMDE1RjAwMEVBREFDQ0E2NTBFMTI3NzYzQzA1RjU0RkFCNkIzMjk5ODEKKzoxMDE2MDAwMDQzODQ5QzdCMzgwQkU5MjdBQ0Q0OTJFMDBFREEzODRENEEKKzoxMDE2MTAwMDgwQkVFNjdENTBCQTUxQUU2NkVGQkNEQzdCODcxRTAyMTEKKzoxMDE2MjAwMEZBOTNFNkNENDdDNDQzQ0QwRjM0OURBMzAwQjA1NTAxRDYKKzoxMDE2MzAwMEFFMDM4NDA0Q0UwMUQwRTE3MDAyODAwRTg5RTkyMjFGM0UKKzoxMDE2NDAwMEUwRTg5NkIwMTFGNEMyQ0UwMzZBNDQyREMwNkQ0ODA1OUYKKzoxMDE2NTAwMEI4MERBMzAwQjc3NkQ1REVCMTUwREM3RDc3QkM1NEJBQTcKKzoxMDE2NjAwMDUyN0Y1ODE0MzQwRjlBRjM4MTU4MEJFQUVGNTgxNDYwRTQKKzoxMDE2NzAwMDE2QTU2QzJFRjc4MTRCQTU2RjdENURFRUI1MkU5NTgwN0UKKzoxMDE2ODAwMEJFRjA3M0JEMDQ3Q0VBRkVFQjRDREUyOTUzREQ2QTU0RTgKKzoxMDE2OTAwMDk0QTlFQTBBOEMwMkQ2NEMzQzA1RjQwMEVBQ0Q1NkFGNzgKKzoxMDE2QTAwMEMwNDdEMjlDOEQyOUNBRTAyRkFFQkQ3NTk5OUQ0QUY5REQKKzoxMDE2QjAwMEVGNTE3Qzk0MEM3NzgwMTgxODI5MkFGOEUwRThBQTMwQkEKKzoxMDE2QzAwMDBCMkE5ODdDMUQxMTUxODA1OTU0QzM1MUY1MUIzMzI0QUEKKzoxMDE2RDAwMEJCODJBNTE5NUMxRDEwMjhDMDJDOUFDN0MxRDEyMjhDRDEKKzoxMDE2RTAwMDAyQzk5NDY0NUMwQ0Q2OEUxMzYwMkZCODBCRUEzMEUzMDkKKzoxMDE2RjAwMEMwNUY0OERDNzgwQkU4MDBFM0MwNUY2QzM4RDUyRTM1NUUKKzoxMDE3MDAwMDRGNUE4QTYxQUE5RjU2MUIzMjk5NDY0MkM4MDEwQzQ1MUUKKzoxMDE3MTAwMENFQTUxN0U2QzZDRUE5RUIxNTE2NDZBMjQ3MzgxNDQzNDgKKzoxMDE3MjAwMDI2MjJFNzNENjAyRkFBOUVCNTEyRTA3RjAxN0RFM0U3MDgKKzoxMDE3MzAwMDAyOTNGOTk1NDQ1Q0U1QTBFMzlENEE3RjlDNTRBOUVCOTQKKzoxMDE3NDAwMDUxMDU0NkI5RkNDMDFCMjIyRTY0NTQyRkNENDZDQ0E3QjAKKzoxMDE3NTAwMEQ1ODZDQ0E2NTA1NUM2NDVDRTVBMEUzOUQ0QTdGOUM1NjQKKzoxMDE3NjAwMDRBOUVCNTExODA1OUMwNkRDRkU2MDBEOTExNzMyMkExRjAKKzoxMDE3NzAwMDdFNkEzNjY1M0VBQzM2NjUzMkIwMTdERDNFNzJEMjc5OTAKKzoxMDE3ODAwMDMxMEM5ODJFNEMyMDczMkE4RkYzOEFBREU3NDE4MjdDNkUKKzoxMDE3OTAwMENBQTY4OUI1ODU5RkIwRjAxN0Q1MUY1NDU0MjUxQUE4M0QKKzoxMDE3QTAwMEZGMkE5NDY1MTFENzQ5NDRENUNDQTA1NUQ4QUUwRTg4RjAKKzoxMDE3QjAwMDE0NjAxNjRENjMyMkUwNzI4NjM4NEQ4MEJFRTAyRkI4NkIKKzoxMDE3QzAwMDBCRUUwMkZCODEzOEYwMTdEN0Q3MUUwMkZBRkFFM0MwRkUKKzoxMDE3RDAwMDVGNEM4NTkwMDIxOEM4NUI4MERBMzAwQjcwMUI0QzIyN0UKKzoxMDE3RTAwMEQzNEMzMzAzOEMyRTRDNDMyNkQwRjU2MzY2RDA5NUE3OUIKKzoxMDE3RjAwMENFNDUzMzBBRDYxNjQyMzg2RUU0Q0VCRDU5MkNEMkFCNTQKKzoxMDE4MDAwMEJBOTQ5REU2MUFCMDE3RDU0RjVBOEIwOTFBODhCOUM1RjQKKzoxMDE4MTAwMDQyNDczMEQ0MzIxNjcyODg2NUJENTk5OTI1QTU2MDJGOEMKKzoxMDE4MjAwMEI4NjBGMzA4Qjc0QTFBOEZBQjBEOTk0NjUxQUYzOEE4ODQKKzoxMDE4MzAwMDhFOTA2NTEzNTIxOEEwNTRCMTQyMkU2MUE4NDhFNzJEMkUKKzoxMDE4NDAwMDE2RjdBODA1QTU2MDJGQTQ3NUQyNTEzNTczMjgxNTc2MTMKKzoxMDE4NTAwMDJCODNBMjA1MTgwNTkzNThDOEI4MDYyODYzODREODBCQjMKKzoxMDE4NjAwMEVFMDJGQjgwQkVFMDJGQTA0M0E3MDE3RDRDRTNDMDVGRUEKKzoxMDE4NzAwMDcwMTdEQzA1RjQ2NDJEQzA2RDE4MDVCODBEQTVCRDZBQTAKKzoxMDE4ODAwMDIzODZBQTlFQjUxMUE0NkFBM0VBOEE4RDIzRTExNzM4OUMKKzoxMDE4OTAwMDM0Njk3MTk4NDVBNjk4NkEzRUFDMzY2NTE5NDZCQ0UyMzMKKzoxMDE4QTAwMEEyM0E0MTk0NEQ0ODYyODE1MkM1MTZGN0E4OEI0QTU0MUEKKzoxMDE4QjAwMEY1QTg4QzAyREMwNkQxMDM5Q0I0QTlFRTBBOTUyNTJBNzIKKzoxMDE4QzAwMDdBQUQ0NjAxNjcwMUI1RDdBQzBBMzAwQjZDNDkzNUU2RjUKKzoxMDE4RDAwMEI1NjdGMzAwNkM4OEI5OTE1MEJGMzExQjMyQTdCODY4NjcKKzoxMDE4RTAwMDk1MjU3QkFEMzM3OEE3Q0QzRUQzOEU5RDM0RTc0RUQ0N0UKKzoxMDE4RjAwMDIyRTcwNjg0OEU2MEE4RkYzOEFCODM5QzJBMDhGOUQ0QkYKKzoxMDE5MDAwMDIwNjNCQzFBMDYwQUMwNUY0NjQyREMwNkQxODA1QjgwQjkKKzoxMDE5MTAwMERBMjJFNjFBODQ4RTcyRDE2RjVBODA4NzFBQUE3QUQ0OTQKKzoxMDE5MjAwMDQ4QzhENTQ3RDUxNTIzMjNFMTE3MzgzNDhDQkE0QjdCRUIKKzoxMDE5MzAwMEQ0MDJEMjhDMjJEQzA2RDUxRjU2MUIzMjhDQTM1RTcxREEKKzoxMDE5NDAwMDUxMUQyMENBMjZBNDMxNDBBOTYyQjAxN0RGOUVGNEI3MEEKKzoxMDE5NTAwMEM5NDBDNzc4MDE4MTgyQjgzODM5NDkxQzI2QzA1RjcwRjgKKzoxMDE5NjAwMDE3RDRBQkUxMkFGODRBQkUxMkFGOEY5NzRGQ0JBNzAxMkQKKzoxMDE5NzAwMDdEREE4MEFBOTE2NDdGNEE4MUQ1MjJDOEZFODI4MDI1QzMKKzoxMDE5ODAwMDQ4QjIzRUJCREMzNTJFOTQwN0U4OEE5QzAzRTI0QkE1QTcKKzoxMDE5OTAwMDc3QUJCMzMyRTk0QkJENTk4Njg0OTc3QTA0QkE1M0UxRTkKKzoxMDE5QTAwMDMyRUY1MEQ0RTYzNTUzRUIwMjlDQzdENzdBQjMzMEQyMkUKKzoxMDE5QjAwMDVERUEwMkU5NDQ1RDE2MjhDMDJDRTAzNjkxNzQ0NTU5NzEKKzoxMDE5QzAwMDE4RDU0RkFDMEFDNDM1MzA4QjM4NjkyQkJENTk5ODY5OEUKKzoxMDE5RDAwMDJFRjUxMkU5NTg2NzRBRUY1MEQ1OEUzRTFDQTRCMENFQzIKKzoxMDE5RTAwMDkzMjE2RTFBNDgxRkEyMkFDMzBENTc3QUIzMEQwOTJFRjAKKzoxMDE5RjAwMEY0NDM1RDI4OEI4MzIwOTIzODREODBCRUUwMkZBQzE3RDYKKzoxMDFBMDAwMDQ5QjNBNTgyRTkzRUU5MzY3NEUwMkZBNkNFOUMwNUY0RTEKKzoxMDFBMTAwMEMyMkM4QzUyNTc3QUQ0OEQ0OEZBRUY1MEQ1QUUzNTUzM0MKKzoxMDFBMjAwMEVCMDI4NjIxQUFFRjU2NjYxQTRCQkQ0NEJBNTBDNEU5QjAKKzoxMDFBMzAwMDUzRUIwMjg2ODFGNURFQTFBODYyMUY1REZFQTI1RDI5M0YKKzoxMDFBNDAwMDc3QTg2QTYxOEQ0MEZEMTE1MzBDNkFBN0Q2MDUzMEM3OEYKKzoxMDFBNTAwMEQ3N0ZBOTU3NEE1REVCNDgxQjBDN0M4QjlEOEE1M0VGQkYKKzoxMDFBNjAwMDY2OTRDQTU0RjVBMEM2MDE2RTAzNkE5RjU2NzY2NTMyMjUKKzoxMDFBNzAwMDhCN0JEMkM1QTU2MDJGQUE3RDY1QTMwMEI3MDFCNEM4MzIKKzoxMDFBODAwMDVBMDc4RkVEMDFENTI3OTE2NzAxQjQ4QjlDNTQxQzczQzUKKzoxMDFBOTAwMEE4ODQ1Q0MxNTBCRjM2NTY2MEFCOEM4QjlDNTQxQzczQzEKKzoxMDFBQTAwMEE4ODQ1Q0MxNTBCRjM2NTY2QzA1RjU1M0Q2QTIzMDBCRTYKKzoxMDFBQjAwMDI5NUIxOUZDRjY5NDQ1Q0YxNTBCRjMzQ0IzMkE3QUM1ODQKKzoxMDFBQzAwMDQ2MDE2NDhBMzEyMzlDMEE1REVBMzQzMzJFOTVDN0NFRTEKKzoxMDFBRDAwMDJBNEZFNjUwMjBCOTMxMEM5QkVGMzkxNDQ1Q0U0NTA3MEIKKzoxMDFBRTAwMDFDRUE0Njg3QUIxQjM2ODRBNzVFQUM5NjY3NTJCMDE3REMKKzoxMDFBRjAwMERDRkU3QjRBMjJFNzhBODVGOTlFNTk5NzdBOEQwQ0NCQ0EKKzoxMDFCMDAwMEE1MjdGM0EwNDQzMjYwQjkzN0RFNzIyODhCOUM4QTBFNzkKKzoxMDFCMTAwMDM5RDQ4QzA1RjdFN0I4MkFGOTI4MThFRjAwMzAzMDU3ODgKKzoxMDFCMjAwMDA3NDQwQTUwOEZGMDczOTE0MTFGM0E5MDQ1QzBCQjE4OEIKKzoxMDFCMzAwMEUxMzYwMkZCRkI5RTAyRkFFRUU3RjVDRjAxN0QxMDVDNzkKKzoxMDFCNDAwMEYwMTdEMTA1Q0YwMTdENTNFQjJEMTgwNUI4MERBNjQyMzYKKzoxMDFCNTAwMERDMDZEMzE3MzVBODhCOUMwQTBFMzlENDBDRkU3QjRBQzEKKzoxMDFCNjAwMDIyRTY1NTBCRjMzMUIzNjAyRkJDN0NFMkE0RkU2NTUxMzUKKzoxMDFCNzAwMDE3MzgxNDFDNzNBODE5RkNGNjk0NDVDQ0FBMTdFNjYzMTEKKzoxMDFCODAwMDY2MEFCOENDODVBMTU4RjZBMjM1NDg0ODdGNEE4OTk1OUYKKzoxMDFCOTAwMDIxMjFGRDA1MDI1NDlFNDU5MTBFM0MwNUY1MDc0MDU1NTcKKzoxMDFCQTAwMDQ4NTIzRTg2QTA3NTQ4NTIzRUI1MDA0QTlDMDA2QkM3MUQKKzoxMDFCQjAwMENFNDUyN0YzMkE4NDM3MzVERUEwQUIyMzFBQUVGNTgzNTIKKzoxMDFCQzAwMDU5MThENzQzREUyQUQwOTRFQkRFMDUzQTk1OUZDQ0MzNTMKKzoxMDFCRDAwMDIwNDVDQ0FBMTdFNjY2Q0M0MzI2NEZFNzQxMjIyRTcwNUIKKzoxMDFCRTAwMDY4MzhFNzUzRTAyRkFCQkMxMkQyRTk1ODBCRUFBN0FEMzcKKzoxMDFCRjAwMDQ1QTExRkMwNUY3ODM5QzhBMDhGOUQ0ODFDMjRFRUM3M0YKKzoxMDFDMDAwMDgwQkVCQUY1NkQ2NjQ5NzcwRDRFQTUzMDA5QjRGOUM1QTkKKzoxMDFDMTAwMDQzMEYzOEE5M0Y5RDAyRkJDRTQ1MTE3MzkxNDFDNzNBNEUKKzoxMDFDMjAwMDkxOUZDRjY5NDQ1Q0YxNTBCRjMzQ0IzMkE3QUM1NDkwNDUKKzoxMDFDMzAwMDhENDQ4RTcwMjk3N0E4RDBDQ0JBNTZCMEIyOUQ4Qzg2RDAKKzoxMDFDNDAwMDRDMTcyNjc3MjYxQzI3MUMyNDlFMjM2MUJFOEUxMjRGMUMKKzoxMDFDNTAwMDExODcxQ0VBNUMwNUY1RDdCODZBNzUyOTc3QUIwRDk5MzEKKzoxMDFDNjAwMDc0QTU0RjcyQTBBQTRBQzZGMzY2NjZDNjM5ODJBRjc1REMKKzoxMDFDNzAwMEE2NkYxNDZCQ0UwNTcwNzM5NjgyM0U3NTI4RTEzQUE3NjUKKzoxMDFDODAwMEFENDQ2MDE2NTJCNjFEN0FCNkIzMjRCQjg2QTc1Mjk4RUYKKzoxMDFDOTAwMDA0REE3Q0UyQTE4NzlDNTVGNzlDQjVBQzJDOTUzM0I5NEUKKzoxMDFDQTAwMDMxMDVEOTUzRDZBMjMwMEIyOTVCMDIyRTYxNUExN0U2QjMKKzoxMDFDQjAwMDlDQjMyQTdBQzU0MDIxQTg5MUNFMDUyN0YzQTU4ODY0NTQKKzoxMDFDQzAwMEMxNzI2NTRGNTgxNDBDOEQ3RUYzODE0NDVDRUY0MUM3OUYKKzoxMDFDRDAwMDNBQkUwMkZBQTlFQUNFQ0NBOTI5NTNENkEyNDY0N0REREMKKzoxMDFDRTAwMDdBQzBBMzAwODZFMjlCMjk3ODhCODEwOTk4NzA5QjI5OTIKKzoxMDFDRjAwMDc5NUREOTcyRUQ5NEJDQjk3NjEzM0IyQTVEQjI5Nzk1QTQKKzoxMDFEMDAwMDJFRDk0QkNBN0Q1QjU5OTRDQTFDMjRFRUM3OTRCQ0MwMjMKKzoxMDFEMTAwMDI2RDNFNzE1MEMzQ0UyQUNGRTdCNEEyMkU3OEE4NUY5MjQKKzoxMDFEMjAwMDlFNTk5NzdBOEQwQ0NCQTUyN0YzQTA0MTcyNjIxOTM3ODMKKzoxMDFEMzAwMERFNzAyODhCOUM4QTBFMzlENDhEMEY1NjM2NkQwOTRFNzUKKzoxMDFENDAwMEJENTkyQ0NFQTU2QjBCMjJEOTlEQzlCMjk3QkVGMzgxOEMKKzoxMDFENTAwMDRBN0Q2NUEzMDA5MzhGNjcyOTc4QzI0REMxRDEwNjgyNjEKKzoxMDFENjAwMDMxQUYwNzM4MzQxMUYzQTgyQTlFQTg2NjFBQTRBNTRGRUMKKzoxMDFENzAwMDVBMEMxMThGQUE3QkQwNjU0OTQ1QkRFOTYyRDJCMTlFNEMKKzoxMDFEODAwMDZDQ0NDNjE5ODcwOUMzOEU3NTQxMUYzQUE1MTNENTU1NkEKKzoxMDFEOTAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1RjMKKzoxMDFEQTAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1RTMKKzowRTFEQjAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1QUNDOTBDOAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3R0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4uaWhleCBiL2Zpcm13YXJlL3R0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGIyMjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbi5paGV4CkBAIC0wLDAgKzEsODIwIEBACis6MTAwMDAwMDAwOEFBMDAxODAwMDMwODAwMDAxMDAwMDAwMTgwMTg1RjEzCis6MTAwMDEwMDAwMDAwMDE4MDc3MTgyQUVCNkJGODAwMTgwM0ZGNjhGOERFCis6MTAwMDIwMDAwMDE4RkZGRUY3QjhGN0JFRjZCOUY0QTBGNkI3RjZCNUJDCis6MTAwMDMwMDBGNkI2RjAyMDE5REZGMTAwMDAwMUY4NEQwMUFCRjZCODdCCis6MTAwMDQwMDBGMDIwMTlERkYwNzMwMUE1N0VGODAwMTJGMDAwMDAwMTI2Cis6MTAwMDUwMDA0N0Y4MDAxMTdFOTIwMEY4MDAxMUYwMDAwMDAxN0VGOEQwCis6MTAwMDYwMDAwMDExRjAwMDAwMDE2Qzg5MDE5QUY3QjhFRUZDRjAyMDU1Cis6MTAwMDcwMDBGRkZGRjEwMDAwMDFGODREMDFCRkYyNzMwMUI5NEUwMjFDCis6MTAwMDgwMDBGNDk1RjVFMzU2MDI3RTAwMTEwMEZBNEMwMUI3NkIwM0JDCis6MTAwMDkwMDAwMDAxRjZCOEVFMDRGMDc0MERBN0YwNzQwMUM1NEExMTIyCis6MTAwMEEwMDA0QTE2NzIxMTJBRTYxMEY4MDAxMUZBNDUwMURCRjQ5NUEwCis6MTAwMEIwMDBFRUZGNDgxMUYwMDAyQUM2ODgxNkY0OTVGNDk1MTBFRTZDCis6MTAwMEMwMDBGRkZGRjRFMzZDRTlGRkZGMDFENTEwRjgyQUU3Rjg0NURDCis6MTAwMEQwMDAwMUUyMTBGODJBRTdGNEUzRjA3NDAxRkZFRTAxOEExNjVBCis6MTAwMEUwMDA4QTExRkMwMEY3QjhFOTIwNEExMTA5RjgyQUU2Rjg0RTBGCis6MTAwMEYwMDAwMUYzRjI3MzAxRkRGNDk1RTgwMTcyMTEyQUU2NDkxMTRBCis6MTAwMTAwMDA4MEUxMkFDNkYzMDAwMDAxRTgwMDgxRjgyQUU2OEExMTlFCis6MTAwMTEwMDBGQzAwRjQ5NUYwNzMwMjAwMTBGODJBMEZGQzAwNEExMTVECis6MTAwMTIwMDBGMDc0MDIwMjgwRjgyQTEwNzMwODAwMDk0MEY4MkExNUJBCis6MTAwMTMwMDA4MkY4MDAxMUY0OTU3NzEwMDNFOEY1QTlGODMwMDIyMTUwCis6MTAwMTQwMDA3MUY4MkExMDJBMTU1NkY4MkEwQ0YwRTM0RUY4MkExNkYwCis6MTAwMTUwMDBFODAwNEVGODJBMEM4QTExRkMwMDRBMDY0QTA3NEExRDlDCis6MTAwMTYwMDA2OEY4MDAwNzdEM0Y2OUY4MDAwNzQwMDA2OEY4MDAxRDQ3Cis6MTAwMTcwMDBGRkZDNkJGODJBMEYwMDAxOEExRDhBMDc4QTA2RjRFQjQwCis6MTAwMTgwMDBFRUZENzZGODJBMEYwMDAwNzYwMDAwMDBGQjgwMTk0Qzg3Cis6MTAwMTkwMDBGNDk1RTgwMDgwRjgyQTExRjk4MDE5MDc4MEY4MkEwRUYyCis6MTAwMUEwMDBGOTgwMTY2Njc2MDAyQTEyMTBGODJBMTFGOTgwMThFM0YxCis6MTAwMUIwMDAxMEY4MkEwRUY5ODAxNjY2MTBGODJBMEVGOTgwMTY4N0I0Cis6MTAwMUMwMDBFRTAzRkMwMDRBMTFGNkI4RjQ5NUYwMjA4MDAwMTFGODE3Cis6MTAwMUQwMDAyQTVBRjg0RDAyOTMxMUY4MkE5RkY4NEMwMjdDNzcxMkE0Cis6MTAwMUUwMDAyQTM5NDkxMjAxRjgyQTlGODkxMUY0OTVGNDk1NzE4MUYxCis6MTAwMUYwMDAwMDExNkNFMUZGQUIwMjkzNkJGODJBOUYwMDAxRTkwNTQ3Cis6MTAwMjAwMDAwMUUyMDAwMzgxRjgyQUEwRjA3MzAyOTU3MjExMkE5RjdGCis6MTAwMjEwMDBGNDk1MTBFMTJBMzk2QkY4MkE5RjAwMDExMUY4MkE5RjAyCis6MTAwMjIwMDAwOUY4MkFBMEY4NEMwMjkzNzZGODJBNUEwMDAwNzZGOENBCis6MTAwMjMwMDAyQTlGMDAwMDc2RjgyQUEwMDAwMDg4MTFGNDk1NDgxMTQyCis6MTAwMjQwMDA4QTExRkMwMDRBMTFFRUZFMTBGODJBNUFGODQ0MDJCMjU0Cis6MTAwMjUwMDA3NkY4MkE1QTAwMDFGMDc0MDI1ODg4MTFGNDk1NzcxMDQ0Cis6MTAwMjYwMDA4MDAwRjRBOUY4MzAwMkIyNDgxMUYwMzAwMEZGODAwMDlECis6MTAwMjcwMDAxMEY4MkE1QkY5ODAxOEQ2RUUwMjhBMTFGQzAwRjQ5NTdBCis6MTAwMjgwMDA0QTA4NEEwOTRBMEE0QTBCNEEwQzRBMEQ0QTEwNEExMUJFCis6MTAwMjkwMDA0QTEyNEExMzRBMTQ0QTE1NEExNjRBMTc0QTE3NEExOTYzCis6MTAwMkEwMDA0QTBFNEEwNjRBMDc0QTFBNEExRDRBMUI0QTFDNjhGODVGCis6MTAwMkIwMDAwMDA3N0QzRjY5RjgwMDA3NDAwMDY4RjgwMDFERkZGQzVCCis6MTAwMkMwMDA0ODE4NjhGODAwMThGRkZFRjQ5NUY0OTU0QTA4RUVGRDBBCis6MTAwMkQwMDBGMDc0MDI1ODg4MTFGNDk1NzcxMDgwMDBGNEE5RjgzMDcyCis6MTAwMkUwMDAwMkVGNDgxMUYwMzAwMEZGODAwMDEwRjgyQTVCRjk4MDFGCis6MTAwMkYwMDAxOEQ2RUUwMzhBMThGNDk1OEExQzhBMUI4QTFEOEExQTVFCis6MTAwMzAwMDA4QTA3OEEwNjhBMEU4QTE5OEExNzhBMTc4QTE2OEExNTEwCis6MTAwMzEwMDA4QTE0OEExMzhBMTI4QTExOEExMDhBMEQ4QTBDOEEwQjBGCis6MTAwMzIwMDA4QTBBOEEwOThBMDhGNEVCNEExMTc3MTEyQTM5NzY4MUY4Cis6MTAwMzMwMDAwMDU1NzcxMjJBMTgxMEUyMDAwMTgwRTEwMDAxMTBFMjU2Cis6MTAwMzQwMDAwMDAyODBFMTAwMDI3NkUxMDAwMzAwMDA3NkUxMDAwNDkzCis6MTAwMzUwMDAwMEFBRjA3NDAyOTg4QTExRkMwMDRBMTE4ODExRjQ5NUUxCis6MTAwMzYwMDBGNDk1MTA4MTZGRjgyQTlFMEM4OEU4RkYxOEUxMDAwMUNGCis6MTAwMzcwMDAxQUY4MkE5RUYwMzAxRkZGODBGODJBOUU4QTExRkMwMDhFCis6MTAwMzgwMDA0QTExNzcxMTJBMzk3NjgxMDA1NTc3MTIyQTE4MTFFMjFECis6MTAwMzkwMDAwMDAxODFFMTAwMDExMUUyMDAwMjgxRTEwMDAyNzZFMTQ5Cis6MTAwM0EwMDAwMDAzMDAwMjQ4MDg2RkUxMDAwNDBDOThGMDMwMDBGRkUxCis6MTAwM0IwMDA4MEUxMDAwNTc2RTEwMDA2MDBBQUYwNzQwMjk4OEExMTM3Cis6MTAwM0MwMDBGQzAwNEExMTc3MTEyQTM5NzY4MTAwNTU3NzEyMkExOEQ0Cis6MTAwM0QwMDAxMEUyMDAwMTgwRTEwMDAxMTBFMjAwMDI4MEUxMDAwMjcxCis6MTAwM0UwMDA3NkUxMDAwMzAwMDQ0ODExRjAwMDAwMDQ4ODEyRjQ5NTNGCis6MTAwM0YwMDA3NzEzMkE3NkU5MDBFNTk4RjMwMDAwMDFGNkI4NDgwQjc4Cis6MTAwNDAwMDAwOEY4MkEzQ0Y4NDMwMzcxNzY4MjAwQUFGMDc0MDI5ODM3Cis6MTAwNDEwMDA4QTExRkMwMDRBMTFFRUYwODgxMUY0OTVGNDk1NzE4MTZGCis6MTAwNDIwMDAwMDE0NzFFMTAwMDEwMDE1NDkxMUYzMDAwMDAyODkxMTY3Cis6MTAwNDMwMDBFNzgyNkRFQTAwMDRFNzgzNkRFQjAwMEE3NzFBMDAwNTk2Cis6MTAwNDQwMDBGMDcyMDNBQTExODFGMkU4ODA4MkU5RkYxOUUxMDAwMTRDCis6MTAwNDUwMDBGMUEwODE5MjExRTEwMDBDRjJFODgwODNFOUZGMTlFMTNCCis6MTAwNDYwMDAwMDBERjFBMDgxOTM2REU5MDAwMjQ4MTg0OTE4NzAwMDUxCis6MTAwNDcwMDAwMDE1RjAwMDAwMDRGMzAwMDAwQTgwMDE4MTAyRjI3NDBDCis6MTAwNDgwMDAwRTU0RjQ5NTQ4MTRFRTEwOEExMUZDMDA0QTExRjA3NEQxCis6MTAwNDkwMDAwQzVFODBGODJBNUM3NzEyMkEzOTc2ODIwMDU1NzcxMTMzCis6MTAwNEEwMDAyQTE4MTBFMTAwMDE4MEUyMDAwMTEwRTEwMDAyODBFMjYwCis6MTAwNEIwMDAwMDAyNzZFMjAwMDMwMDFDRjZCODU2RjgyQTE2RjBGMEE3Cis6MTAwNEMwMDBGMEY4ODBFMjAwMDc1NkY4MkExNkYxRjBFOEZGRjI4MDEzCis6MTAwNEQwMDA4MEUyMDAwNjU2RjgyQTE2RjFGOEU4RkZGMjgwODBFMjgyCis6MTAwNEUwMDAwMDA1NTdGODJBMTZFOEZGRjI4MDgwRTIwMDA0NTZGODZCCis6MTAwNEYwMDAyNzZDRjBGMEYwRjg4MEUyMDAwQjU2RjgyNzZDRjFGMDcyCis6MTAwNTAwMDBFOEZGRjI4MDgwRTIwMDBBNTZGODI3NkNGMUY4RThGRjc1Cis6MTAwNTEwMDBGMjgwODBFMjAwMDlFOEZGNTdGODI3NkNGMjgwODBFMjYxCis6MTAwNTIwMDAwMDA4NTZGODI3NkFGMEYwRjBGODgwRTIwMDBGNTZGODVECis6MTAwNTMwMDAyNzZBRjFGMEU4RkZGMjgwODBFMjAwMEU1NkY4Mjc2QUExCis6MTAwNTQwMDBGMUY4RThGRkYyODA4MEUyMDAwRDU3RjgyNzZBRThGRjMzCis6MTAwNTUwMDBGMjgwODBFMjAwMEM3NkUyMDAxMzAwMDA3NkUyMDAxMkU2Cis6MTAwNTYwMDAwMDAwNkZGODJBNUMwQzU4ODBFMjAwMTFFOEZGMThGOEQwCis6MTAwNTcwMDAyQTVDODBFMjAwMTA3NkUyMDAxNzAwMDA3NkUyMDAxNkE2Cis6MTAwNTgwMDAwMDAwNkZGODJBOUUwQzU4ODBFMjAwMTVFOEZGMThGODZBCis6MTAwNTkwMDAyQTlFODBFMjAwMTQ3NkUyMDAxQjAwMDA3NkUyMDAxQTM4Cis6MTAwNUEwMDAwMDAwNzZFMjAwMTkwMDAwNzBFMjAwMTgyNzZFNzZFMjgzCis6MTAwNUIwMDAwMDFGMDAwMDc2RTIwMDFFMDAwMDc2RTIwMDFEMDAwMDMxCis6MTAwNUMwMDA3NkUyMDAxQzAwMDA3NkUyMDAyMDAwQUFGMDc0MDI5ODk3Cis6MTAwNUQwMDA4QTExRkMwMDRBMTFFRUZFMTBGODJBMzhGODQ1MDRFREE1Cis6MTAwNUUwMDA3NzEyMkExODEwRTIwMDAyODgxMUY0OTU3NzEwMDAwODlCCis6MTAwNUYwMDA2REU5RkZERkY2QTlGODIwMDQ3NUYwNzMwNDdERjAxMEIzCis6MTAwNjAwMDAwMDIxRjAwMDFBODM0ODA4N0VGODAwMDhGNEUyRjA3NDM0Cis6MTAwNjEwMDAwMzBBRjA3MzA0RUE0ODEyRjI3NDAzMjNGMDAwMDAwNEEyCis6MTAwNjIwMDBGMjc0MDMzNkY0OTVFODAwRjA3MzA0RUE3NzExMkExODlGCis6MTAwNjMwMDBFOEZGNkZFMTAwMDQwRDQ4MThFMTAwMDVGMjc0MDk2OTU0Cis6MTAwNjQwMDBGNDk1RjJBMEYwNzQwMzM2RjA3MzA0RUE3NzExMkExOEQ3Cis6MTAwNjUwMDBFOEZGNkZFMTAwMDQwRDQ4MThFMTAwMDVGMjc0MDk0MTVDCis6MTAwNjYwMDBGNDk1RjJBMEYwNzQwMzM2RjA3MzA0RUFGMDc0MDM1N0MzCis6MTAwNjcwMDBGMDczMDRFQTEwRjgyQTFDRjA3NDEyQTRGMjc0MDMzNjIyCis6MTAwNjgwMDBGNDk1RTgwMEYwNzMwNEVBNDgxMkYyNzQwMzgwRjAwMDc1Cis6MTAwNjkwMDAwMDA0RjI3NDAzMzZGNDk1RTgwMEYwNzMwNEVBMTBGOEVECis6MTAwNkEwMDAyQTFDRjA3NDEyQzVGMjc0MDMzNkY0OTVFODAwRjA3MzU2Cis6MTAwNkIwMDAwNEVBNzcxMTJBMThFOEZGNkZFMTAwMDYwRDQ4MThFMUY3Cis6MTAwNkMwMDAwMDA3NzFFMTAwMDUwMDEyRjJBMDcwMDAwMDEyODAwMTI1Cis6MTAwNkQwMDAxMEUxMDAwNEYwNzQwRTdBRjI3NDAzMzZGNDk1RTgwMDI5Cis6MTAwNkUwMDBGMDczMDRFQUYwNzQwM0JDNzZGODJBMzgwMDAwRUUwMkQ2Cis6MTAwNkYwMDA4QTExRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1NzcxMjQ4Cis6MTAwNzAwMDAyQTE4MTBFMjAwMDE4MEUxMDAwMTEwRTIwMDAyODBFMUZECis6MTAwNzEwMDAwMDAyNzZFMTAwMDMwMDA5NDgxMUYwMDAwMDA0ODgxMjhECis6MTAwNzIwMDBGNDk1NzcxMzJBODZFOTAwRTU5OEYzMDAwMDAxRjZCOEZFCis6MTAwNzMwMDA0ODBCMDhGODJBM0NGODQzMDUwQTc2ODIwMEFBRjA3NEIwCis6MTAwNzQwMDAwMjk4OEExMUZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NUU2Cis6MTAwNzUwMDA3NzEzMkExODEwRTMwMDAxODBFMTAwMDExMEUzMDAwMjgyCis6MTAwNzYwMDA4MEUxMDAwMjEzRTMwMDAzODFFMTAwMDM0ODExNzcxMUU3Cis6MTAwNzcwMDAwMDAwRjg0RDA1NDRGMDAwMDAwNDg4MTI0ODEzRjAwMDEyCis6MTAwNzgwMDAwMDA0ODgxM0Y0OTVGNDk1RTU5ODZEOTFGNkI4NDgxMTM2Cis6MTAwNzkwMDAwOEY4MkEzQ0Y4NDMwNTNBRjAyMDJBMzk0OTExRjUwMEI3Cis6MTAwN0EwMDA4OTExRjQ5NUY0OTU3NkUxMDAwNDAwQUFGMDc0MDI5ODlBCis6MTAwN0IwMDA4QTExRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1NzcxMjg3Cis6MTAwN0MwMDAyQTE4MTBFMjAwMDE4MEUxMDAwMTEwRTIwMDAyODBFMTNECis6MTAwN0QwMDAwMDAyNzZFMTAwMDMwMDBDNDgxMUYwMDAwMDA0ODgxMkNBCis6MTAwN0UwMDBGNDk1NzcxMzJBN0FFOTAwRTU5OEYzMDAwMDAxRjZCODRBCis6MTAwN0YwMDA0ODBCMDhGODJBM0NGODQzMDU2QTc2ODIwMEFBRjA3NDkwCis6MTAwODAwMDAwMjk4OEExMUZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NTI1Cis6MTAwODEwMDA3NzEyMkExODEwRTIwMDAxODBFMTAwMDExMEUyMDAwMkM0Cis6MTAwODIwMDA4MEUxMDAwMjc2RTEwMDAzMDAxOTQ4MTFGMDAwMDAwNEE1Cis6MTAwODMwMDA4ODEyRjQ5NTc3MTMyQTVERTkwMEU1OThGMzAwMDAwMTJBCis6MTAwODQwMDBGNkI4NDgwQjA4RjgyQTNDRjg0MzA1OTM3NjgyMDBBQUNDCis6MTAwODUwMDBGMDc0MDI5ODhBMTFGQzAwNEExMTg4MTExMEY4MkEzOEE1Cis6MTAwODYwMDBGODQ0MDVFMzEwRjgyQUExRjg0NDA1QkE2Q0UxRkY1NkY0Cis6MTAwODcwMDAwNUUzNzIxMjJBQTFGNDk1NzBFMjJBMTgwMDExNkJGOEIwCis6MTAwODgwMDAyQUExMDAwMUYwNzMwNUUzNzIxMjJBQTFGNDk1NzBFMjI3Cis6MTAwODkwMDAyQTE4MDAxMTEwRjgyQUExRjAwMDAwMDE4ODEyRjQ5NTFFCis6MTAwOEEwMDBGNDk1NkVFMkZGRkMwNUQxNzMxMjJBQTE0ODExRjAwMDA1Cis6MTAwOEIwMDAwMDA1ODBGODJBQTIxMEY4MkFBMTA4RjgyQUEyRjg0NDE0Cis6MTAwOEMwMDAwNUUzNkNFMUZGQUIwNURENzZGODJBMzgwMDAxNzZGODI4Cis6MTAwOEQwMDAyQUExMDAwMDc2RjgyQUEyMDAwMDhBMTFGQzAwRjQ5NUYzCis6MTAwOEUwMDA0QTA4NEEwOTRBMEE0QTBCNEEwQzRBMEQ0QTEwNEExMTU4Cis6MTAwOEYwMDA0QTEyNEExMzRBMTQ0QTE1NEExNjRBMTc0QTE3NEExOUZECis6MTAwOTAwMDA0QTBFNEEwNjRBMDc0QTFBNEExRDRBMUI0QTFDNjhGOEY4Cis6MTAwOTEwMDAwMDA3N0QzRjY5RjgwMDA3NDAwMDY4RjgwMDFERkZGQ0Y0Cis6MTAwOTIwMDA0ODE4NjhGODAwMThGRkZFRjQ5NUY0OTU0QTA4RUVGRkExCis6MTAwOTMwMDAxMEY4MkE1QkY5ODAxODA0RjA3NDA1QTJFRTAxOEExOEY5Cis6MTAwOTQwMDBGNDk1OEExQzhBMUI4QTFEOEExQThBMDc4QTA2OEEwRUNGCis6MTAwOTUwMDA4QTE5OEExNzhBMTc4QTE2OEExNThBMTQ4QTEzOEExMjlDCis6MTAwOTYwMDA4QTExOEExMDhBMEQ4QTBDOEEwQjhBMEE4QTA5OEEwOEQ3Cis6MTAwOTcwMDBGNEVCRUVGRDc2RjgyQTM4MDAwMDc2RjgyQTVBMDAwMEVCCis6MTAwOTgwMDBFODAxNEUwMEZCODAxN0Q2RjQ5NUU4MDE4MEY4MkE1QjU5Cis6MTAwOTkwMDA3NjAwMkE4RkY5ODAxNkFBMTBGODJBNUJGOTgwMTc1Qzc2Cis6MTAwOUEwMDAxMEY4MkE1QkY5ODAxNzZGRkI4MDE2NjZGNDk1RTgxQTM5Cis6MTAwOUIwMDBGQjgwMTY4N0Y0OTVFODFBRkI4MDE2NjZGNDk1RTgxQjExCis6MTAwOUMwMDBGQjgwMTY4N0Y0OTVFODFCRUUwM0ZDMDA0QTExRjQ5NUIyCis6MTAwOUQwMDAxMzAyODgxMUU4MDBGODREMDY2QUYzMTAwMDAxODkxQTI1Cis6MTAwOUUwMDBGNDk1RjA3MjA2NjkxQzkxOEExMUZDMDA0QTExODgxMTc1Cis6MTAwOUYwMDAxMjAzMTEwMkY4NDUwNjc5RjAxMDAwMDE4ODFBRjQ5NUU3Cis6MTAwQTAwMDBGMDcyMDY3ODgxOTE4QTExRkMwMDRBMTFGNDk1NzEwMjA2Cis6MTAwQTEwMDAwMDExMTEwMzYxRjgwMDExMDAwMUY4MzAwNjkxRjZCOEQ5Cis6MTAwQTIwMDA2RkY4MDAxMTBDMUY4ODExRjNFOEU4RkYxODgxRjFBMDlFCis6MTAwQTMwMDA4MTgxRjA3MzA2OURGNkI4NkZGODAwMTEwQzFGODgxMUM0Cis6MTAwQTQwMDBGMzMwMDBGRkYwMjBGRjAwMTg4MUYxQTA4MTgxOEExMUFFCis6MTAwQTUwMDBGQzAwNEExMUY0OTUxMTAyNjFGODAwMEIwMDAxRjgyMDI2Cis6MTAwQTYwMDAwNkIxNDkwQkY2MUY4ODExRjQ5NUY0OTUxMDgxRjI3M0M1Cis6MTAwQTcwMDAwNkI4RjAzMDAwRkY0OTBCRjYxRjg4MTFGNDk1RjQ5NTg1Cis6MTAwQTgwMDAxMjgxRjQ3ODhBMTFGQzAwNEExMUY0OTU3MTAyMDAxMjY3Cis6MTAwQTkwMDAxMzAzODgxMUU4MDBGODREMDZDQ0YzMTAwMDAxODkxQTAxCis6MTAwQUEwMDBGNDk1RjA3MjA2Q0IxMTkyRjJDMDgxOTE4QTExRkMwMDhDCis6MTAwQUIwMDA4ODEyMTIwMjcxMDEwMDEzRjg0NTA2REJGMDEwMDAwMUU0Cis6MTAwQUMwMDA4ODFBRjQ5NUYwNzIwNkRBRTU5OEZDMDA0QTExRUVGRUY5Cis6MTAwQUQwMDA4ODExMTEwNDEwMDY3MTA1MDAxMjYxRjgwMDEyMDAwMTVFCis6MTAwQUUwMDBGODIwMDZFQUYwMDAwMDAxRjZCOEYwMDAwMDAxNkZGODA3Cis6MTAwQUYwMDAwMDEyMEYxRjQ4MDg4MTAwRjQ3RjgwMDFGMjc0MDZCQUNCCis6MTAwQjAwMDBGNDk1NDgxMUVFMDI4QTExRkMwMDRBMTFFRUZFODgxMjlCCis6MTAwQjEwMDAxMTA0MTAwNjcxMDUwMDEzNjFGODAwMTMwMDAxRjgyMDlDCis6MTAwQjIwMDAwNzA5RjAwMDAwMDFGMDAwMDAwMTg4MTFGNkI4NkZGODI1Cis6MTAwQjMwMDAwMDEzMEYxRjgxMDA0ODExRjQ3RjgwMDFGMjc0MDZDRTZDCis6MTAwQjQwMDBGNDk1NDgxMjQ4MTFGMDMwRkZGRUVFMDI4QTExRkMwMEM1Cis6MTAwQjUwMDA0QTExNEExNjRBMTdFRUZDRjQ5NTgwMDI3MTA4MDAxNkY1Cis6MTAwQjYwMDAxMDA5NzEwQjAwMTc4MDAzNzEwQTAwMTE0ODE3Rjg0NTJFCis6MTAwQjcwMDAwNzNGNzAwMDAwMTExMDAzRjA3NDA2OUY4MDAxNzAwMEExCis6MTAwQjgwMDAwMDE2MTAwMkYwNzQwNjdCNkQ5MTZEOTY2Q0VGRkZGRkZFCis6MTAwQjkwMDAwNzJGRUUwNDhBMTc4QTE2OEExMUZDMDA0QTExRUVGRTBFCis6MTAwQkEwMDAxMEY4MkFFODA4RjgyQUU5Rjg0NTA3NjQ3NjAwMDAwMUY5Cis6MTAwQkIwMDA2MkY4MkFFOTAwNUVGMjc0MTIwQkYwMDAzMDQwNzIxMTA0Cis6MTAwQkMwMDAyQUU5NzcxMDAwMEZGNUE5RjgyMDA3NjE2QkY4MkFFOUU4Cis6MTAwQkQwMDAwMDAxRjA3MzA3NjQ3NkY4MkFFOTAwMDBFRTAyOEExMTNBCis6MTAwQkUwMDBGQzAwNEExMTg4MTFFODAwNzVGODAwMDgwMDA4RTgwMEM4Cis6MTAwQkYwMDA3NUY4MDAwODAwMDlGNkI4RjQ5NUYwMjBGQzNGNzVGODg4Cis6MTAwQzAwMDAwMDA4MDAwREYwMjAwQzMwNzVGODAwMDgwMDBDNzZGODk0Cis6MTAwQzEwMDAyQUU4MDAwMDc2RjgyQUU5MDAwMDZDODEwNzkyNzZGODRECis6MTAwQzIwMDAyQUVBMDAwMEZCODAxNjc2RjQ5NUU4MTBFODAwNzVGOEQzCis6MTAwQzMwMDAwMDA4MDAwMEYwNzMwN0E4NzZGODJBRUEwMDAxRkI4MDlDCis6MTAwQzQwMDAxNjY2RjQ5NUU4MTBGQjgwMTY4N0Y0OTVFODEwRTgwMDI2Cis6MTAwQzUwMDA3NUY4MDAwODAwMDBGNkI4RjQ5NUYwMjBGRkZGNzVGODZECis6MTAwQzYwMDAwMDA4MDAwMDhBMTFGQzAwRjQ5NTRBMDg0QTA5NEEwQTYzCis6MTAwQzcwMDA0QTA2NEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0UxCis6MTAwQzgwMDA0MDAwNjhGODAwMURGRkZDMTBGODJBRUFGODQ1MDdFMTZCCis6MTAwQzkwMDAxMEY4MkFFOEYwMDAwMDAxRjAzMDAwMEY4MEY4MkFFODkwCis6MTAwQ0EwMDAxMEY4MkFFOEY4NDQwN0Q2RjZCOEY0OTVGMDIwRkMzRjhGCis6MTAwQ0IwMDA3NUY4MDAwODAwMERGMDIwMEMzMDc1RjgwMDA4MDAwQ0U1Cis6MTAwQ0MwMDBFODAwNzVGODAwMDgwMDAwRjZCOEY0OTVGMDIwRkZGRjgyCis6MTAwQ0QwMDA3NUY4MDAwODAwMDA4QTFEOEEwNzhBMDY4QTBBOEEwOUIwCis6MTAwQ0UwMDA4QTA4RjRFQkVFRkZGMjc0MDc2N0Y0OTVFODAxRUUwMTcxCis6MTAwQ0YwMDBGQzAwNEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0I1Cis6MTAwRDAwMDA0MDAwNjhGODAwMURGRkZDOEExRDhBMDdGNEVCNEExMUI5Cis6MTAwRDEwMDA3NzExMDAyODc2ODEyNDAwRTgwMDc1RjgwMDA4MDAwMUFBCis6MTAwRDIwMDBGMjc0MDc2N0Y0OTVFODAwNzcxMTAwMUQ2ODgxMDA3RjcxCis6MTAwRDMwMDBGNkI4RjQ5NUYwMjBGRjgwNzcxMTAwMURGMDMwMDEwMDI3Cis6MTAwRDQwMDAxQTgxODA4MUYwNzQwQTMzRjA3NDExQUNGOTgwMTMyNTk0Cis6MTAwRDUwMDBGOTgwMTY1M0Y5ODAxNzgyRjA3NDA2MkZGOTgwMTRCMkM3Cis6MTAwRDYwMDBGOTgwMTkxMEYwNzQwREUzRjA3NDA3RThGMDc0MDIzNjlFCis6MTAwRDcwMDA4QTExRkMwMDRBMTE2MEY4Mjc3QkZGRkZGODMwMDgzOTIwCis6MTAwRDgwMDA3MUY4Mjc3QjI3Nzk2MEY4Mjc3OUZGRkZGODMwMDhCMkUwCis6MTAwRDkwMDAxMEY4Mjk4NjA4RjgyNzc5RjAzMDdGRkY4ODExRjQ5NTNDCis6MTAwREEwMDA3NzEwNDAwMEY2QTlGODMwMDg1ODEwRjgyNzc5MDhGOEFECis6MTAwREIwMDAyNzdBRjAzMDdGRkY4ODExRjQ5NTc3MTA0MDAwRjZBOTZDCis6MTAwREMwMDBGODIwMDg2Mzc2RjgyNzc5RkZGRjc2RjgyNzdCRkZGRjg2Cis6MTAwREQwMDBGN0I4RjI3MzA4RDlGMDIwRkZGRkY2Qjg1NkY4Mjc3NDc5Cis6MTAwREUwMDBGMEY5ODgxMTU2RjgyNzcyRjBGOTg4MTJGNDk1RjQ5NTA1Cis6MTAwREYwMDBFNzIwRjRBOUY4MzAwODhGRjEyMDI3N0M0ODExRjYwMDhECis6MTAwRTAwMDA4ODEzRjQ5NUY0OTUxMDgzMDhGODI3NzlGMDMwN0ZGRjY0Cis6MTAwRTEwMDA4ODEzRjQ5NTc3MTA0MDAwRjVBQkY4MzAwODhGNkQ5MThBCis6MTAwRTIwMDA0ODExRjAzMDAxRkY4ODExRjQ5NUU3MjBGN0E5RjgzMDU4Cis6MTAwRTMwMDAwODc0NkQ4OTQ4MTFGMDMwMDFGRkYwRTdGNDk1NDgwODE3Cis6MTAwRTQwMDA0RUY4Mjc3NDQ4MDhGMUY5ODkxMUY0OTVGNDk1NzFFMTg5Cis6MTAwRTUwMDAyNzdDMjc3QTYwRjgyNzdCRkZGRkY4MzAwOEFCNDgwODJCCis6MTAwRTYwMDA0RUY4Mjc3Mjc2RjgyNzdCRkZGRjc2RjgyNzc5RkZGRjg5Cis6MTAwRTcwMDBGMjczMDhEOUY0OTVFODAwNDRGODI3NzM0MEY4Mjc3NTExCis6MTAwRTgwMDA4MkY4MDAxMUY0OTU3NzEwODAwMEY2QTlGODIwMDhEOEIwCis6MTAwRTkwMDBGNkI4MTBGODI3NzNGMDAwODAwMDQ4MDg0RUY4Mjc3NDYxCis6MTAwRUEwMDA0ODA4RjBGOTg4MTFGNDk1RjQ5NTcxRTEyNzdDMjc3QUM4Cis6MTAwRUIwMDBGN0I4NTdGODI3NzRGMDYyRkZGRkYwNDBGRjgwRjI4MDI4Cis6MTAwRUMwMDA0RUY4Mjc3NEU4MDA4QTExRkMwMDRBMTE0QTE2RUVGQjFFCis6MTAwRUQwMDAxMUY4Mjc3MTA5RjgyNzczODkxMTg4MTBGNDk1RjQ5NTkyCis6MTAwRUUwMDBGNkE5RjgyMDA4RURGMjczMDkwRUY0OTVFODAwRjYyMDUzCis6MTAwRUYwMDA3NjAwMDA0MUYwNzQxMkVFODgxNkY0OTVGN0I4NkQ5NkZFCis6MTAwRjAwMDAxMEY4MDAxNkY4NDcwOTBBRTc2MTc2MDAwMDAwNzYwMTNDCis6MTAwRjEwMDAwMDgwNzYwMjAwRkY3NjAzMDAwMEYyNzQwQ0I5RjQ5NUFECis6MTAwRjIwMDBFODAwNkNFOUZGRkYwOEZCNzMxNjAwMEVGMDY2MDA0MTU1Cis6MTAwRjMwMDBFRTA1OEExNjhBMTFGQzAwNEExMUY0OTU3MTAyMDAxMzFECis6MTAwRjQwMDBGNkI4NzcxMTdGRkY1N0Y4Mjc3MjQ4MTFGMjgwRjAwMDRBCis6MTAwRjUwMDA4MDAwODgxMUY2NDBGMEUwRjFGMUU4MDFGMjgwODBGOEJECis6MTAwRjYwMDAyNzc4NzcxMjgwMDA1N0Y4Mjc3MjQ4MTJGMjgwODgxMjhCCis6MTAwRjcwMDBGNDk1RjQ5NTZDODIwOTM4RTgwMDc1RjgwMDA4MDAwMUQyCis6MTAwRjgwMDBGMDczMDkzREYwMjA4MDAxNzVGODAwMDgwMDAxNzA4MUMwCis6MTAwRjkwMDAwMDEzOEExMUZDMDA0QTExRjAzMDdGRkYxMUY4Mjk4NkY2Cis6MTAwRkEwMDBGNTIwRjMzMDdGRkY4OTExRjQ5NTc3MTA0MDAwRjZBOTAyCis6MTAwRkIwMDBGODIwMDk1NEYyNzMwOTY3RjQ5NUU4MDI2RkY4Mjc3QTZDCis6MTAwRkMwMDAwRDIwRjMzMDdGRkY4OTExRjQ5NTc3MTA0MDAwRjZBOUNBCis6MTAwRkQwMDBGODIwMDk2NEYyNzMwOTY3RjQ5NUU4MDE4MEY4Mjc3QjJCCis6MTAwRkUwMDBFODAwOEExMUZDMDA0QTExMTFGODI5ODZGNTIwRjMzMDM3Cis6MTAwRkYwMDA3RkZGODkxMUY0OTU3NzEwNDAwMEY2QTlGODIwMDk3QTRGCis6MTAxMDAwMDBGMjczMDk4REY0OTVFODAyNkZGODI3N0EwRDIwRjMzMDFBCis6MTAxMDEwMDA3RkZGODkxMUY0OTU3NzEwNDAwMEY2QTlGODIwMDk4QTFFCis6MTAxMDIwMDBGMjczMDk4REY0OTVFODAxODBGODI3NzlFODAwOEExMUI4Cis6MTAxMDMwMDBGQzAwNEExMUY0OTU3MTAyMDAxMjg4MTFGNkI4NTdGOEI1Cis6MTAxMDQwMDAyNzcyRjAyMDdGRkZGMjgwRjAwMDgwMDA4MDgxNTdGODQ3Cis6MTAxMDUwMDAyNzcyRTgwMUYzRjFGMjgwODBGODI3Nzg3NzExODAwMDk5Cis6MTAxMDYwMDA0ODExNTdGODI3NzJGMjgwODgxMUY0OTVGNDk1NkM4MTM1Cis6MTAxMDcwMDAwOUI1RTgwMDc1RjgwMDA4MDAwMUYwNzMwOUJBRjAyMDFFCis6MTAxMDgwMDA4MDAxNzVGODAwMDgwMDAxNDVGODI3NzE0M0Y4Mjc3M0JGCis6MTAxMDkwMDA4M0Y4MDAxMUY0OTVFNzIwRjZBOUY4MzAwOUM5RjI3MzM2Cis6MTAxMEEwMDAwOUU0NzcxMjAwMDA1N0Y4Mjc3MkYwMjA3RkZGRjI4MEUyCis6MTAxMEIwMDA0OTEyRjUwMEYzMDA4MDAwNjFGODAwMEI4MDAwRjgzMDYxCis6MTAxMEMwMDAwOURDRjEyMDgwMDBGNTIwODkxMkY0OTU0ODEyNkZGOEIwCis6MTAxMEQwMDAyNzczMEQwMEY0OTU0OTBCNEZGODI3NzI4QTExRkUwMDEzCis6MTAxMEUwMDA0ODEyRjQ5NTRBMTE0QTE2NEExN0VFRkNGNDk1NzEwODE1Cis6MTAxMEYwMDAwMDE2ODgxN0YwNzQwODMwNDgxODcwMDAwMDE2RjI3NDUzCis6MTAxMTAwMDAwOThGRjAwMDAwMDI4ODExRjQ5NUY0OTU2QzgxMEEwQUE5Cis6MTAxMTEwMDBGMjc0MDhEQkY0OTU0ODE2NDgxODcwMDAwMDE2RjI3NDUzCis6MTAxMTIwMDAwOThGRjAwMDAwMDI4ODExMTAwMjcwMDEwMDExODAwMDg4Cis6MTAxMTMwMDBGMjc0MDZDRUY0OTU0ODE3NDkxMTQ4MTdGNjAwODgxNzNGCis6MTAxMTQwMDBFNzYwRjVBOUY4MjAwQTJENDgxNkY2MjA4ODExNDgxOEZFCis6MTAxMTUwMDA3MDAwMDAxMUYyNzQwOThGRjAwMDAwMDI4ODExNzAwMTE0Cis6MTAxMTYwMDAwMDExMTAwMjgwMDBGMjc0MDZDRUY0OTU0ODE3RUUwNEM4Cis6MTAxMTcwMDA0ODE2OEExNzhBMTY4QTExRkMwMEVFRkRFODAwNEVGODIwCis6MTAxMTgwMDAyNzcwRTgwMDRFRjgyNzcyRTgwMDRFRjgyNzc0RTgwMDUwCis6MTAxMTkwMDA0RUY4Mjc3Njc2RjgyNzc5RkZGRjc2RjgyNzdBMDAwMDUxCis6MTAxMUEwMDA3NkY4Mjc3QkZGRkY3NkY4Mjc3ODAwMDBFODAwNzVGOENGCis6MTAxMUIwMDAwMDA4MDAwMTc2MDAwMDAwNzYwMTAyMDBGMjc0MTJEQ0UzCis6MTAxMUMwMDBGMDIwMjc3Q0VFMDNGQzAwNEExMUVFRkNGNDk1NEUwMDYzCis6MTAxMUQwMDA3NzEyN0ZGRkY2Qjg0OTEyRjE4MEYzMDA4MDAwODkxMjgwCis6MTAxMUUwMDBGMEUwRjFGMTRGMDJFOTAxRjQ5NTQ4MEJGNTQwNTYwMkE5Cis6MTAxMUYwMDBGMTgwODFGODI3Nzg3NzExODAwMDU2MDA0OTExRjE4MDNECis6MTAxMjAwMDA4OTExRjQ5NUY0OTU2QzgxMEE4MUU4MDA3NUY4MDAwODVECis6MTAxMjEwMDAwMDAxRjA3MzBBODZGMDIwODAwMTc1RjgwMDA4MDAwMUQzCis6MTAxMjIwMDAxMDgyRUUwNDhBMTFGQzAwNEExMUVFRkVGNDk1NEUwMDg1Cis6MTAxMjMwMDA3NzExN0ZGRkY2Qjg0OTExRjE4MEYzMDA4MDAwODkxMTIyCis6MTAxMjQwMDBGMEUwRjFGMUU4MDFGMjgwODBGODI3Nzg1NjAwRjEyMDEzCis6MTAxMjUwMDA4MDAwRjE4MEY0OTU0OTBCRjg0RDBBQUJGMDIwODAwMTM1Cis6MTAxMjYwMDA3NUY4MDAwODAwMDFGMDczMEFBRkU4MDA3NUY4MDAwODhGCis6MTAxMjcwMDAwMDAxRUUwMjQ4MTE4QTExRkMwMDRBMTE4ODEyMTMwMjgzCis6MTAxMjgwMDA3NzExMDAwMEY4NEQwQUNCRjMxMDAwMDE4OTFBRjQ5NThDCis6MTAxMjkwMDBGMDcyMEFDQTQ4MTExQ0Y4Mjk3RTg4MTExMUY4Mjk3RUJCCis6MTAxMkEwMDBGMjAwMDAwMTgwRjgyOTdFODE5MjQ4MTE4QTExRkMwMDI5Cis6MTAxMkIwMDA0QTExRjQ5NTcxMDIwMDExODgxMkY2QjhGMDIwN0ZGRkYwCis6MTAxMkMwMDA1N0Y4Mjc3MEYyODBGMDAwODAwMDgwODI1N0Y4Mjc3MDZFCis6MTAxMkQwMDBFODAxRjNGMUYyODA4MEY4Mjc3ODc3MTI4MDAwNDgxMjU1Cis6MTAxMkUwMDA1N0Y4Mjc3MEYyODA4ODEyRjQ5NUY0OTU2QzgyMEFGNDBFCis6MTAxMkYwMDBFODAwNzVGODAwMDgwMDAxRjA3MzBBRjlGMDIwODAwMTk5Cis6MTAxMzAwMDA3NUY4MDAwODAwMDE0NUY4Mjc3NUU3MTA0M0Y4Mjc3MUM0Cis6MTAxMzEwMDA4M0Y4MDAxMjZERTgwMDA0NkQ4QUY2QUFGODMwMEIwQTEzCis6MTAxMzIwMDBGMjczMEIyNTc3MTEwMDAwNTdGODI3NzBGMDIwN0ZGRjJDCis6MTAxMzMwMDBGMjgwNDkxMUY1MDBGMzAwODAwMDYxRjgwMDBCODAwMDk1Cis6MTAxMzQwMDBGODMwMEIxREYxMjA4MDAwRjUyMDg5MTFGNDk1NDgxMTJCCis6MTAxMzUwMDA2RkY4Mjc3MTBEMDBGNDk1NDkwQjRGRjgyNzcwNDgxMTZECis6MTAxMzYwMDA4QTExRkMwMDRBMTE0QTE2NEExN0VFRjA4ODE3MTAxNzI2Cis6MTAxMzcwMDA4MDA1MTAxNjgwMDYxMDE1ODAwNzcxMTQwMDExMTAwNUU1Cis6MTAxMzgwMDBGMDMwMDAwMTg4MTAxMDA2RjAzMDAwMDE4MDA4NDkxMThCCis6MTAxMzkwMDAxMDA1RjYwMTgwMDkxMDA2NjFGODAwMDgwMDAxRjgyMDI4Cis6MTAxM0EwMDAwQjRCMTAwOUYwMDAwMDAxODAwOTcxMDgwMDEyRjRBQTJCCis6MTAxM0IwMDBGODMwMEI1NDEwMDlGMDAwMDAwMTgwMDkxMjA5NDkxMTlFCis6MTAxM0MwMDBGNDdGODAwOUY2MjA4MDBBNTZGODI3NzA0RTBDMTAwOTI5Cis6MTAxM0QwMDA4MDAwNDgxOEYyNzQwQUNFRjAwMDAwMDQ4ODE2RjQ5NUQ0Cis6MTAxM0UwMDBGNDk1NkM4NjBCNkRGMjczMEM1OUY0OTVFODAwRjZCODIxCis6MTAxM0YwMDBGNDk1NTYwQ0YwRjk4ODEyRjQ5NUY0OTU3MEUyMjc3Qzc4Cis6MTAxNDAwMDAyOTg2RTgwMDgwMEU0ODExRjg0NTBCQ0M3NzEwMDAwMUMyCis6MTAxNDEwMDBGNEE5RjgzMDBCODk2Q0UxRkZGRDBCOEIxMEU3MDAwMjlCCis6MTAxNDIwMDA4MDBFRjA3MzBCOEIxMDg3ODAwRUU3MTBGNUFFRjgyMDVFCis6MTAxNDMwMDAwQkIyNzAwMDAwMTc3MDAxMDAxNjEwMDRGMDc0MDZDRTk1Cis6MTAxNDQwMDA0ODE3NDkxNkY2MDA4ODE3NDgxMUY2MjA4ODExMTAwOTI4Cis6MTAxNDUwMDBGNjIwODAwMDQ4MThGMjc0MEFDRUYwMDAwMDA0ODgxNkM2Cis6MTAxNDYwMDAxMDA0NzAwMDAwMTc3MDAxMDAxMUYwNzQwNkNFNDgxMUNFCis6MTAxNDcwMDAwMDA0ODAwNEYwNzMwQkJDNzAwMDAwMTc3MDAxMDAxMUIxCis6MTAxNDgwMDAxMDA0RjA3NDA2Q0U0ODExMDAwNDgwMDQ0OTExNDgxNjc3Cis6MTAxNDkwMDBGNjIwODgxNkY0OTVGNDk1NkM4NjBCQ0MxMDBBODAwMDIzCis6MTAxNEEwMDA0ODE4RjI3NDBBQ0VGMDAwMDAwNDg4MTYxMjBBRjg0NUIzCis6MTAxNEIwMDAwQzMzNzEwQTAwMTBGNEFFRjgzMDBDMUM0ODE2RjBFMTQxCis6MTAxNEMwMDA4ODExMTIwOEY4NDUwQkRCNkQ4OTEyMDdGODQ1MEJFOTA2Cis6MTAxNEQwMDAxMDA3ODAwMDcwMDIwMDExMTAwNjgwMDExMDA0RjA3NEUzCis6MTAxNEUwMDAwNkRDRjA3MzBCRUY0ODExNkYwMDBDOUYxMDA0RjA3NEQyCis6MTAxNEYwMDAwQUIzMTEwRUYxQzA4MTBFMTAwNjQ5MTFGNjAwODAwNkU0Cis6MTAxNTAwMDAxMDA1RjYyMDg4MTFGMDAwMDAwMTQ4MDg2RjAwMEM5RkJDCis6MTAxNTEwMDA0ODE4RjI3NDBBQ0VGMDAwMDAwNDEyMDdGODQ1MEMxMUM2Cis6MTAxNTIwMDAxMDA3ODAwMDcwMDIwMDExMTAwNjgwMDExMDA0RjA3NDkyCis6MTAxNTMwMDAwNkRDRjA3MzBDMTc0ODExNkYwMDBDOUYxMDA0RjA3NDU4Cis6MTAxNTQwMDAwQUIzMTEwRUYxQzA4MTBFRjA3MzBDMzMxMjA3Rjg0NTg3Cis6MTAxNTUwMDAwQzJBMTAwNzgwMDAxMDA2ODAwMTEwMDU4MDAyMTAwNDdDCis6MTAxNTYwMDBGMDc0MDZEQ0YwNzMwQzMwMTIwNTZGMDAwQzlGMTAwNDUxCis6MTAxNTcwMDBGMDc0MEFCMzExMEVGMUMwODEwRTc2MDAwMDAxNDgxODE0Cis6MTAxNTgwMDBGMjc0MEFDRUYwMDAwMDA0NzEwNDAwMTE3MDgxMjk4NjAzCis6MTAxNTkwMDAxMDBFMUNGODI5ODY4MDBFNzYwMDAwMDE0ODE4RjI3NDlGCis6MTAxNUEwMDAwQUNFRjAwMDAwMDQxMDBFNzEwNDAwMTE4MDgxMTBGOEMyCis6MTAxNUIwMDAyOTg2RjAwMDAwMDFGMDMwN0ZGRjgwRjgyOTg2MTAwOUFECis6MTAxNUMwMDBGMDAwMDAwMjgwMDlFRTEwOEExNzhBMTY4QTExRkMwMENBCis6MTAxNUQwMDAxMEY4Mjc3NTA4RjgyNzcxRjAxMDAwMDE0ODA4RkMwMDgyCis6MTAxNUUwMDA0QTExNEExNkVFRkZGNDk1NzEwNDAwMTZGMDAwMDAwMTRFCis6MTAxNUYwMDA0ODA4NEVGODI5N0M2REVFRkZGRDQ4MTZGODQ1MEM5OTE5Cis6MTAxNjAwMDA1NkY4Mjk3Q0YwNzQwQTVBODgxMTEwRjgyOTdERjAwMEU4Cis6MTAxNjEwMDAwMDAxNDgwODRFRjgyOTdDMTBGODI5ODJGMDAwMDAwMUVBCis6MTAxNjIwMDA4ODEwRjQ5NUY0OTVGNEE5RkEzMDBDOTY4MEY4Mjk4Mjg0Cis6MTAxNjMwMDA1NkY4Mjk4MEYwMDAwMDAxNEVGODI5ODA3MzExMjk4MkE0Cis6MTAxNjQwMDA2Q0VFRkZGRjBDNzZFRTAxOEExNjhBMTFGQzAwNEExMTNGCis6MTAxNjUwMDA3NkY4Mjk4NDAwMDA3NkY4Mjk4NTAwMDFFODAwNEVGODI0Cis6MTAxNjYwMDAyQTBDNzZGODI5ODYwMDAwNzZGODI5ODcwMDAwNzcxMTgxCis6MTAxNjcwMDAyOTg4NzY4MUFBQUE3NkUxMDAwMUFBQUE3NkUxMDAwMjY5Cis6MTAxNjgwMDAwMDAwOEExMUZDMDA0QTExRUVGQ0Y0OTU3MTA2MDAxNDZBCis6MTAxNjkwMDA3MTA3MDAxMzcxMDgwMDEyNzEwOTAwMTU3NzEwMDBGRjFGCis6MTAxNkEwMDBGNEFBRjgzMDBENDQ0OTEzNTNGODJBMEM0RkY4MkEwQ0M5Cis6MTAxNkIwMDA3MzEyMDAwRUYxNjYwMDBEODkxMUY0OTU3NzEwMDAwMTg4Cis6MTAxNkMwMDA3MUUxMjQwMDAwMTFGNEE5RjgzMDBEMTc3NzEwMDAwMjIxCis6MTAxNkQwMDBGNEE5RjgzMDBDRUM3NzExMjk4QTc2ODEwMDAwRTgwMDMzCis6MTAxNkUwMDA3NzE0MDAwMDc3MTMwMDAwRjA3MzBENDg2QzgzMENGQTM4Cis6MTAxNkYwMDA3NzExMjk4QTQ4MTJGMEU4RjA0MDgwMDA4MDgxRTgwMEU0Cis6MTAxNzAwMDA3NzE0MDAwMEYwNzMwRDQ4NDkxM0YzNDA4MDAwODFGODBFCis6MTAxNzEwMDAyOThBNjFGODAwMTUwMDAxRjgyMDBEMDc2OUY4Mjk4QTY3Cis6MTAxNzIwMDA0MDAwNjFGODAwMTQwMDAxRjgyMDBEMEY2OUY4Mjk4QUMzCis6MTAxNzMwMDAyMDAwNzcxMTI5OEE0OTEyRjNFODFCODE4MTgxRjA3MzE3Cis6MTAxNzQwMDAwRDQ4MTFGODI5ODRGODRDMEQzNzc3MTEyOTg4NzY4MUQ2Cis6MTAxNzUwMDBBQUFBMTFGODI5ODVGMzEwMDAwMUYzNDBBQTAwODFFMTNCCis6MTAxNzYwMDAwMDAxNzYwMDAwMDI4MDAxNzAwMjAwMTQ3MDAzMDAxMzczCis6MTAxNzcwMDBGMjc0MEIyOEY0OTU0ODExNzFGODI5ODUyOTg0RjA3M0M3Cis6MTAxNzgwMDAwRDczNzYwMDAwMDA4MDAxNzYwMjAwMDA3MDAzMDAxM0U0Cis6MTAxNzkwMDBGMjc0MEIyOEY0OTVFODAwRjA3MzBENzM3NzExMjk4QTIxCis6MTAxN0EwMDA3MDgxMDAxMzExRjgyOTg0Rjg0QzBENjg3NzExMjk4ODhECis6MTAxN0IwMDA3NjgxQUFBQTExRjgyOTg1RjMxMDAwMDFGMzQwQUEwMDQ2Cis6MTAxN0MwMDA4MUUxMDAwMTc2MDAwMDAzODAwMTcwMDIwMDE0NzAwM0MzCis6MTAxN0QwMDAwMDEzRjI3NDBCMjhGNDk1NDgxMTcxRjgyOTg1Mjk4NEI3Cis6MTAxN0UwMDBGMDczMEQ3Mzc2MDAwMDAxODAwMTcwMDIwMDE0NzAwMzI1Cis6MTAxN0YwMDAwMDEzRjI3NDBCMjhGNDk1NDgxMTZCRjgyOTg0RkZGRjRECis6MTAxODAwMDBFRTA0OEExMUZDMDA0QTExRjU0MEY0OTU0ODBCRjQ3ODc3Cis6MTAxODEwMDA4ODExRjQ5NUY0OTU2Q0UxRkZCOTBEODhGMjczMERBNTZDCis6MTAxODIwMDBGNDk1RTg2MEYyMDAwMDA2NjFGODAwMTEwMDIwRjgzMDNECis6MTAxODMwMDAwRDk4NjFGODAwMEIwMDAxRjgyMDBEQTNGMjAwMDAwN0RECis6MTAxODQwMDBGMDczMERBMzYxRjgwMDBCMDAwMUY4MjAwREExRjI3M0Y1Cis6MTAxODUwMDAwREEzRjAwMDAwMDFGMDAwMDAwMjQ4MDhGNDdGOEExMTk3Cis6MTAxODYwMDBGQzAwRUVGRkYwNzQwN0ZERjA3NDA3NDRGMDc0MERCNDUzCis6MTAxODcwMDBGMDc0MDIwNUYwNzQwNDYwRjA3MzBEQUFFRUZEMTBGODI4Cis6MTAxODgwMDAyQUEzRjg0NDBEQ0IxMEY4MkFBNEY4NDUwREQ3NzYwMDBBCis6MTAxODkwMDAwMjAwRjI3NDA5RThGMDIwMjIwMDc2RjgyQUE0MDAwMDgxCis6MTAxOEEwMDA3NkY4MkFBNzAwMDBGMDczMERENzc2MDAwMjAwRjI3NEQ0Cis6MTAxOEIwMDAwOUU4RjAyMDIwMDA3NkY4MkFBMzAwMDA3NkY4MkFBNzhECis6MTAxOEMwMDAwMDAxRjA3NDBDNUVGMEUwRjAxMDNBOThGODQ3MERFMTdBCis6MTAxOEQwMDA3NkY4Mjc2RTAwMDBFRTAzRkMwMDRBMTFFRUZFNzcxMTQ5Cis6MTAxOEUwMDAyMDAwNzYwMEFBQUE3NjAxMDIwMEYyNzQwNjZDRjQ5NTM0Cis6MTAxOEYwMDA0ODExNzYwMDU1NTU3NjAxMDIwMDQ4MTFGMjc0MDY2Q0M1Cis6MTAxOTAwMDBGMDAwMDIwMDc2RjgyQUEzMDAwMDc2RjgyQUE0MDAwMDZFCis6MTAxOTEwMDBFODAwNEUwMEZCODAxNTNFRjQ5NUU4MDQ4MEY4MkFBNTA3Cis6MTAxOTIwMDA3NjAwMkFBOEY5ODAxNDg3NzYwMDJBQURGQjgwMTM2MjFFCis6MTAxOTMwMDBGNDk1RTgwMjEwRjgyQUE1Rjk4MDE0NjNGQjgwMTY2Njc2Cis6MTAxOTQwMDBGNDk1RTgxQ0ZCODAxNjg3RjQ5NUU4MUNFODAxNEUwMDJFCis6MTAxOTUwMDBGQjgwMTdENkY0OTVFODAwODBGODJBQTY3NjAwMkFCNzBGCis6MTAxOTYwMDBGOTgwMTZBQTEwRjgyQUE2Rjk4MDE3NUMxMEY4MkFBNkEyCis6MTAxOTcwMDBGOTgwMTc2RkVFMDI4QTExRkMwMEY0OTU0QTA4NEEwOUIzCis6MTAxOTgwMDA0QTBBNEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0MwCis6MTAxOTkwMDA0MDAwNjhGODAwMURGRkZDMTBGODJBQTdGODQ0MEU0QjIxCis6MTAxOUEwMDA3NkY4MkFBMzAwMDFGMDczMEU0RTc2RjgyQUE0MDAwMUZGCis6MTAxOUIwMDA4QTFEOEEwNzhBMEE4QTA5OEEwOEY0RUI0QTExNEExNjlDCis6MTAxOUMwMDA0QTE3RUVGRTg4MEU3MTA4MDAxNjcxMDYwMDE3MTEwN0ZGCis6MTAxOUQwMDBGMDY2MDAwREYwMDAyNUEwODgxMTc2MDEwMDA2ODEwMDU4Cis6MTAxOUUwMDBGMjc0MDZDRUYwMDAwMDAxNzYwMTAwMDY3MDAwMDAxNkM5Cis6MTAxOUYwMDA0ODExRjI3NDA2Q0VGMDAwMDAwNzcwODEwMDE3RUUwMjY1Cis6MTAxQTAwMDA4QTE3OEExNjhBMTFGQzAwNEExMTg4MEU3MTAyMDAxMjg4Cis6MTAxQTEwMDAxMTAzRjA2NjAwMERGMDAwMjQwMDg4MTFGNDk1NzA4MTI4Cis6MTAxQTIwMDAwMDEyNkVFMkZGRkUwRThERjQ5NUU4MDBFODAxODBFMTAxCis6MTAxQTMwMDAwMDAyNzZFMTAwMDMwMEZGNzZFMTAwMDQwMDAwNzZFMTk5Cis6MTAxQTQwMDAwMDBCMDAwMDc2RTEwMDBDMDAwMDgxRTEwMDAxOEExMTJBCis6MTAxQTUwMDBGQzAwNEExMUVFRkM4ODBFRjQ5NUYxNjYwMDBERjMwMENGCis6MTAxQTYwMDAyNDAwODkxMUY0OTVGNDk1NzZFMTAwMEMwMDAwNzZFMUVDCis6MTAxQTcwMDAwMDBCMDAwMDc2RTEwMDAyMDAwMTc2MDAwMDAwNzYwMTE0Cis6MTAxQTgwMDAwMDAwODAwMjc2MDMwMDAwRjI3NDBDQjlGNDk1RTgwMEJGCis6MTAxQTkwMDBFRTA0OEExMUZDMDA0QTExODgxOUY0OTU3MzE5MDAwRTlFCis6MTAxQUEwMDBGMTY2MDAwREYyMDAyNDAwNzcxNTI1QTA3NzE0MDAwMEUwCis6MTAxQUIwMDA3NzFBMDAxRkYwNzIwRjE0RjZCODQ5MTkwOTg1Rjg0QzBGCis6MTAxQUMwMDAwRjEzRjEwMDAwMDU4OTExNDkxNUYzMDAwMDAxODkxMzc2Cis6MTAxQUQwMDA0OTE1RjMwMDAwMDc4OTEyMTE5MzFEOTExOTkyODkxMDdECis6MTAxQUUwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDQwCis6MTAxQUYwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDMwCis6MTAxQjAwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDFGCis6MTAxQjEwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDBGCis6MTAxQjIwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMUZFCis6MTAxQjMwMDBGNDk1RjQ5NTZDODEwRjEzNkQ5NDZERUQwMDBENDgxNEMwCis6MTAxQjQwMDA4QTExRkMwMDRBMTE0QTE2NEExN0VFRjg4ODE3MTAwRDQwCis6MTAxQjUwMDA4MDA0MTAwQzgwMDU3MTBFMDAxNjczMTcwMDBFRjA2NkRECis6MTAxQjYwMDAwMDBERjAwMDI0MDA4ODExMTBGODI3NjNGODQ1MEYzMkFCCis6MTAxQjcwMDBGMjc0MEU5RkY0OTU0ODE3MTBGODI3NjBGODQ0MEYzRDUzCis6MTAxQjgwMDA2MEUxMDAwMjAwMDFGODIwMEY2REYwNzMxMTMzMTAwNEMyCis6MTAxQjkwMDA4MDAwMTAwNUYwNzQwNjlGMTEwNEYzMDAwMDAxODEwNDE5Cis6MTAxQkEwMDA2RDhFNzcxMDAwMDE3MUUxMDAwMjAwMTJGNEFBRjgzMDg2Cis6MTAxQkIwMDAwRjYyNzcxMDAwMDJGNEFBRjgzMDBGNkQ0NUUxMDAwQkI4Cis6MTAxQkMwMDA4ODEwNDNFMTAwMEM4M0Y4MDAxMkY0OTVGNDk1RjRBQTEwCis6MTAxQkQwMDBGODMwMEY2REYwNzMwRjk2RjUwMDgxMDQ0OTE2RjUyMDZCCis6MTAxQkUwMDA4OTE2NzZFMTAwMEMwMDAwNzZFMTAwMDQwMDAwNDgxNjNBCis6MTAxQkYwMDBGODQ1MTEzM0Y3Qjg3MUUxMDAwMjAwMTIxMEY4MDAxMjM1Cis6MTAxQzAwMDBGMDEwMDAwM0Y4NDYwRjhDMTBGODAwMTJGMDEwMDAwM0RCCis6MTAxQzEwMDBGODQ1MTAxNjc3MTAwMDAxRjRBQUY4MzAwRjlDNzcxMEUxCis6MTAxQzIwMDAwMDAyRjRBQUY4MzAwRkE4RjA3MzBGOTY3NzEwMDAwNEEyCis6MTAxQzMwMDBGNEFBRjgzMDEwQjc3NzEwMDAwNUY0QUFGODMwMTBCQ0Y5Cis6MTAxQzQwMDBGMjc0MEU5RkY0OTU0ODE3RjA3MzExMzE3NkUxMDAwQzkxCis6MTAxQzUwMDAwMDAwNzZFMTAwMEIwMDAwNzZFMTAwMDQwMDAwNzZFMTcwCis6MTAxQzYwMDAwMDAyMDAwMjExRTEwMDBDRTgwM0Y2MjA4OTEyRjQ5NTRECis6MTAxQzcwMDA3NzEwMDAwM0Y1QUFGODMwMEZCNjZCRjgyNzZGMDAwMTU0Cis6MTAxQzgwMDA4ODEwRjQ5NUY0OTVGNUFFRjgyMDBGQkQ0ODE2ODAwNjNGCis6MTAxQzkwMDA4ODEzRjQ5NTc3MTAwMDAzRjZBQkY4MjAwRkM4NkJGOEEzCis6MTAxQ0EwMDAyNzZGMDAwMTEyMDZGODQ1MTAwMDEwRTEwMDA0ODAwMEMzCis6MTAxQ0IwMDAxMDA1ODAwMTEwMDQ4MDAyMTAwNjgwMDM0ODExRjI3NEEwCis6MTAxQ0MwMDAwNzFFRjAwMDAwMDUxMDA2MDBFMTAwMDQ4MEUxMDAwNDlBCis6MTAxQ0QwMDAxMDA2MDBFMTAwMEM4MEUxMDAwQzg4MTIxMTA2MTAwNENGCis6MTAxQ0UwMDBGNjAwODAwNDQ4MTZGNjIwODgxNjg5MTNGNDk1NzcxMEJDCis6MTAxQ0YwMDAwMDAzRjZBQkY4MjAwRkY1NkJGODI3NkYwMDAxNzcxMEEzCis6MTAxRDAwMDAwMDBDNzFFMTAwMDQwMDEzRjZBQkY4MjAxMDAwNkJGODMyCis6MTAxRDEwMDAyNzZGMDAwMTZDRTJGRkZEMTEzMUY2Qjg2RkUxMDAwNTlECis6MTAxRDIwMDAwQzQ4NkZFMTAwMDYwQzE4RjAzMDBGRkZGMDAwMDAwM0M0Cis6MTAxRDMwMDA4MEUxMDAwQjc2RTEwMDAyMDAwMzQ4MTZGODQ1MTEzM0ZDCis6MTAxRDQwMDA3MUUxMDAwQzAwMTIxMEUxMDAwQjQ5MTJGNjIwODgxMzFCCis6MTAxRDUwMDBFODBDRjYyMDg4MTBGNDk1RjQ5NUY1QUJGODIwMTAyN0UwCis6MTAxRDYwMDA0ODEzODAwNjg4MTBGNDk1RjQ5NUY1QUVGODIwMTAzMEVECis6MTAxRDcwMDA3MDA2MDAxNjEyMDZGODQ1MTA1RjEwRTEwMDA0ODAwMDlFCis6MTAxRDgwMDAxMDA1ODAwMTEwMDQ4MDAyMTAwNjgwMDM0ODExRjI3NENGCis6MTAxRDkwMDAwNzFFRjAwMDAwMDUxMDA2MDBFMTAwMDQ4MEUxMDAwNEM5Cis6MTAxREEwMDAxMDA2MDBFMTAwMEM4MEUxMDAwQzg4MTIxMTA2MTAwNEZFCis6MTAxREIwMDBGNjAwODAwNDQ4MTZGNjIwODgxNkY0OTU3NzEwMDAwQzdCCis6MTAxREMwMDA3MUUxMDAwNDAwMTNGNkFCRjgyMDEwNUY2QkY4Mjc2Rjg5Cis6MTAxREQwMDAwMDAxNzcxMDAwMENGNkFBRjgyMDEwNkJGMjc0MEU5RjI5Cis6MTAxREUwMDBGNDk1NDgxNzcxRTEwMDBDMDAxMjc3MTAwMDBDRjRBQTZBCis6MTAxREYwMDBGODMwMTA3Qzc3MTAwMDBDNzFFMTAwMEIwMDEzRjZBQjhCCis6MTAxRTAwMDBGODMwMTBCNEU3MzBGN0FBRjgzMDEwQjRGMjc0MEVDMTBECis6MTAxRTEwMDBGNDk1NDgxNzg4MTJGNDk1RjQ5NTZDODIxMDhENzZFMTRDCis6MTAxRTIwMDAwMDA0MDAwMDc2RTEwMDAyMDAwNUYwNzMxMEI0NzZFMUQyCis6MTAxRTMwMDAwMDAyMDAwNDc3MTAwMDBDNzFFMTAwMEIwMDEyRjVBQUZCCis6MTAxRTQwMDBGODIwMTA5QUYwNzMxMDlDNzcxMjAwMEM3NjAwMDAwMEI2Cis6MTAxRTUwMDA3MDAxMDAxMjcwMDIwMDE3NzYwMzAwMDE0ODExRjI3NDNECis6MTAxRTYwMDAwQ0I5RjAwMDAwMDU3NkUxMDAwNDAwMDA3NzEwMDAwQ0NBCis6MTAxRTcwMDA3MUUxMDAwQjAwMTJGNkFBRjgyMDExMUM0ODE2Rjg0NTczCis6MTAxRTgwMDAxMTMzNjBFMTAwMDIwMDA1RjgyMDEwREYxMEUxMDAwQkMzCis6MTAxRTkwMDAwOEUxMDAwQzExRTEwMDA0Rjg0RDEwQzc2QkY4Mjc2RjQyCis6MTAxRUEwMDAwMDAxODgxMEY0OTVGNDk1RjVBRUY4MjAxMENGNDgxNjhGCis6MTAxRUIwMDBGNDk1NDgwOEY4NDUxMTE2NkZFMTAwMEMwRDAwODFFMTFBCis6MTAxRUMwMDAwMDBDMTEwNEY1MDA4MTA0NDkxNkY1MjA4OTE2RjA3MzAxCis6MTAxRUQwMDAxMTBFMTBFMTAwMEI3MUUxMDAwQzAwMTI4ODEwRjQ5NTU2Cis6MTAxRUUwMDBGNDk1RjZBQUY4MzAxMTE2NDkxMkY2MjA4ODEwRjQ5NUU4Cis6MTAxRUYwMDBGNDk1RjVBRUY4MjAxMEYzNDgxNjgwMDY0ODA4Rjg0NTJBCis6MTAxRjAwMDAxMTE2MTAwNDcwMDIwMDE3ODAwMDc2MDMwMDAwMTAwNkZFCis6MTAxRjEwMDA4MDAxMTAwNUYwNzQwQ0I5MTAwNjAwRTEwMDBDODBFMTlFCis6MTAxRjIwMDAwMDBDMTEwNjEwMDRGNjAwODAwNDQ4MTZGNjIwODgxNkVFCis6MTAxRjMwMDAxMEUxMDAwQzA4RTEwMDBCRjg0NTExMUNGMDczMTEzMUExCis6MTAxRjQwMDBGMjc0MEU5RkY0OTU0ODE3RjA3MzExMzM3NkUxMDAwQzhDCis6MTAxRjUwMDAwMDAwNzZFMTAwMEIwMDAwNzZFMTAwMDIwMDAxMTAwNEIxCis6MTAxRjYwMDA4MDAwMTAwNUYwNzQwNjlGODgxMkY0OTU3NzEwMDBGRjJBCis6MTAxRjcwMDBGNEFBRjgzMDExMzM2Qzg2MEY3MEVFMDg4QTE3OEExNkFGCis6MTAxRjgwMDA4QTExRkMwMDRBMTFFRUZDRjQ5NTcxMDYwMDEyODgxMUNBCis6MTAxRjkwMDA3MzEyMDAwRUYxNjYwMDBERjMwMDI0MDA4OTE0MTM4MTAyCis6MTAxRkEwMDBGNzdBRjMzMDAwMDE4MUY4Mjc2MDEzRTEwMDAxRjc3QzM0Cis6MTAxRkIwMDBGMzMwMDAwMzgxRjgyNzYxRTkwRjE5RTEwMDAxODFGODhFCis6MTAxRkMwMDAyNzYyNzFFNDAwMDMwMDEzRjZCODQ5MTNGMzAwMDAwMTFGCis6MTAxRkQwMDBGMzMwMDAwRjQ5MEIwOUY4Mjc2MkY4NEQxMTc1NzcxMDlGCis6MTAxRkUwMDAwMEZGRjRBQkY4MzAxMTc1NTdGODI3NkNGMzAwMDAwMUNGCis6MTAxRkYwMDA0RkY4Mjc2Qzc2RjgyNzYzMDAwMUYwNzMxMTc4NzZGOEI0Cis6MTAyMDAwMDAyNzYzMDAwMDcwRTQwMDAzMjc2Mjc2RjgyNzY0MDAwMDZECis6MTAyMDEwMDAxMUY4Mjc2MTYxRjgwMDBCMDAwMkY4MjAxMThERTkwMTI5Cis6MTAyMDIwMDA2RkUxMDAwMjBGMTg4MUY4Mjc2NDExRjgyNzYxNjFGODQ5Cis6MTAyMDMwMDAwMDBCMDAwMUY4MjAxMUE5MTBGODI3NjRGMTAwMDAwNDNBCis6MTAyMDQwMDA4OTEzRTlCOEY1MjA4MUY4Mjc2NTYwODQwMDAyRjgyMDNCCis6MTAyMDUwMDAxMUE5NzAwMDAwMTE3MDAxMDAxMzcwMDIyNzY1RjI3NDVECis6MTAyMDYwMDAwRjE4RjQ5NTQ4MTJFRTA0OEExMUZDMDA0QTExNEExNjIyCis6MTAyMDcwMDA0QTE3RUVGQ0U4MDA0RUY4Mjc2NkU4MDA0RUY4Mjc2ODlECis6MTAyMDgwMDBFODAwNEVGODI3NkNFODAwNEVGODI3NkE3NzEyMjc0MEUwCis6MTAyMDkwMDA3NzExMjQwMDc3MUEwMDFGRjA3MjExREI3MDkyMDAxMTgzCis6MTAyMEEwMDA3NkUxMDAwMUZGRkY3NjgxMDAwMDc2RTEwMDAyMDAwMDhBCis6MTAyMEIwMDA3NkUxMDAwMzAwRkY3NkUxMDAwQzAwMDA3NkUxMDAwQjAyCis6MTAyMEMwMDAwMDAwNzZFMTAwMDQwMDAwNkRFOTAwMERGMDIwMjVBMDdECis6MTAyMEQwMDBGMTAwMDAwNzg5MTFGMTAwMDAwMTgxMDI4ODE2RjQ5NUQyCis6MTAyMEUwMDA3NzE3MDAyMDc2ODYwMEZGNzYwMDAwMDA3NjAxMDAwNjU0Cis6MTAyMEYwMDAxMDAyRjA3NDA2NkM3NjAwMDAwMDc2MDEwMDA2RjI3NDlGCis6MTAyMTAwMDAwNjZDRjQ5NTQ4MTExMDAyRjAwMDAwMEQ4MDAyNkRFOTk0Cis6MTAyMTEwMDAwMDBENkRFRTAwMEQ2Q0VGRkZGRjExRThGMDc0MEM5REVCCis6MTAyMTIwMDBFRTA0OEExNzhBMTY4QTExRkMwMDRBMTE0QTE2NEExN0M5Cis6MTAyMTMwMDBFRUZBODgxMTEwMEE0OTExRjg0RDEyOUY0ODA4Rjg0NTI3Cis6MTAyMTQwMDAxMjlGODAwNDEyODFGNTc4ODkxMkY0OTVGNDk1NkNFMjVGCis6MTAyMTUwMDBGRkI5MTI4QTYxRjgwMDA4MDA4MEY4MzAxMjhBMTNFMTkyCis6MTAyMTYwMDAwMDAxRjBFOEY3NzhGMUEwRjIzMDFGRkY4ODE3RjQ5NTJFCis6MTAyMTcwMDA3NzEyMjQwMDc3MTYwMDAwNzcxMzAwMjBGNkI4NDgxNzZFCis6MTAyMTgwMDAwOEUyMDAwMUY4NDUxMjQyNkRFQTAwMEQ2RDk2NkNFQjE1Cis6MTAyMTkwMDBGRkZGMTIzNEYwNzMxMjkwNTZGODI3NkFGMDAwMDAwMTI2Cis6MTAyMUEwMDA0RUY4Mjc2QTYwODIwMDAxRjgzMDEyNTQ3MDAwMDAxNjYxCis6MTAyMUIwMDBGMjc0MTEzOEY0OTU0ODExRjA3MzEyOTA3MDAwMDAxNjAzCis6MTAyMUMwMDBGMjc0MTEzOEY0OTU0ODExNzIxMDJBOUVGNDk1RjRBRjA4Cis6MTAyMUQwMDBGODMwMTI2RTc2MDAwMDAwNzYwMTAwQkM3MDAyMDAxNjI2Cis6MTAyMUUwMDA3NjAzMDAwMEYyNzQwQ0I5RjQ5NTQ4MTFGMDczMTI5MDY0Cis6MTAyMUYwMDAxMEY4Mjc2RUY4NDQxMjkwNzYwMDAwMDA3NjAxMDBCQ0JCCis6MTAyMjAwMDA3MDAyMDAxNjc2MDMwMDAwRjI3NDBDQjlGNDk1NDgxMUMwCis6MTAyMjEwMDBGMDc0MEM1RUYwRTBGMDEwMTM4OEY4NDIxMjkwNzZGODNCCis6MTAyMjIwMDAyNzZFMDAwMUYwNzMxMjkwNTZGODI3NjZGMDAwMDAwMTQ3Cis6MTAyMjMwMDA0RUY4Mjc2NjZERTkwMDVFNTZGODI3NjhGMDAwMDAwMTQ5Cis6MTAyMjQwMDA0RUY4Mjc2ODcxMDQwMDEyNkVFQUZGRkYxMjE4NzAwNDNFCis6MTAyMjUwMDAwMDEyRUUwNjhBMTc4QTE2OEExMUZDMDA0QTExRUVGRTU5Cis6MTAyMjYwMDA4ODBFRjQ5NUYwNjYwMDBERjAwMDI1QTA4ODExRjQ5NTE1Cis6MTAyMjcwMDBGNDk1NzY4MTAwRkY3NjAwMDAwMDc2MDEwMDA2RjI3NDg2Cis6MTAyMjgwMDAwNjZDRjAwMDAwMDE3NjAwMDAwMDc2MDEwMDA2NDgxMTlGCis6MTAyMjkwMDBGMjc0MDY2Q0YwMDAwMDA3RUUwMjhBMTFGQzAwNEExMThECis6MTAyMkEwMDA4ODBFRjQ5NUYwNjYwMDBERjAwMDI0MDA4ODExRjQ5NTc2Cis6MTAyMkIwMDBGNDk1NzZFMTAwMDFGRkZGNzY4MTAwMDA3NkUxMDAwMkVGCis6MTAyMkMwMDAwMDAwNzZFMTAwMDMwMEZGOEExMUZDMDA0QTExRjQ5NTNBCis6MTAyMkQwMDAxMzAzODgxMUZBNEQxMkVDNzEwMjAwMTJGMzEwMDAwMTgxCis6MTAyMkUwMDA4OTFBRjQ5NUYwNzIxMkVCNzA5MTAwMTI4QTExRkMwMEI5Cis6MTAyMkYwMDBGNDk1NEEwQjRBMEM0QTBERjdCOEVFRkUxMEY4MDAwOEE4Cis6MTAyMzAwMDAxMTA2RjFDMDgzMDBGNDg1MTEwNkY3ODU4MTA2RjZCODQxCis6MTAyMzEwMDBFQzBGMUUwNjYxMDA4MDAwRjgyMDEzMDVGNDg0RUUwMjI1Cis6MTAyMzIwMDA4QTBEOEEwQzhBMEJGQzAwRjQ5NTRBMEI0QTBDNEEwRDY0Cis6MTAyMzMwMDBFRUZFRjdCODgwMDAxMEY4MDAwOEY0ODUxMTA2Rjc4NTY2Cis6MTAyMzQwMDA4MTA2RjZCOEVDMEYxRTA2RjBGMDYxMDA4MDAwRjgyMDYwCis6MTAyMzUwMDAxMzIwRjQ4NEVFMDI4QTBEOEEwQzhBMEJGQzAwNEExMUM5Cis6MTAyMzYwMDA3NzExMDA3Qjc2ODEyRUVDNzcxMTAwN0JFRUZGNzE4MTc3Cis6MTAyMzcwMDAwMDExRUUwMTc2RTEwMDAxMDAwMDc2RTEwMDA0MDAwMEFBCis6MTAyMzgwMDA3NkUxMDAwNjAwMDA3NkUxMDA2MjAwMDA3NkUxMDA3NjZBCis6MTAyMzkwMDAwMDAwNzZFMTAwOTIwMDAwNzZFMTAwOTQwMDAwNzZFMTEyCis6MTAyM0EwMDAwMEIwMDAwMDc2RTEwMEIzMDAwMDc2RTEwMEJFMDAwMDVFCis6MTAyM0IwMDA3NkUxMDBCRjAwMDA3NkUxMDBDMTAwMDA3NkUxMDBDM0Q1Cis6MTAyM0MwMDAwMDAwNzZFMTAwQzUwMDAwNzZFMTAwQzcwMDAwNzY4MURDCis6MTAyM0QwMDAwMDAwOEExMUY0OTVGNEU0NEExMTRBMTY0QTE3RUVGRkY4Cis6MTAyM0UwMDBGNDk1NzEwNjAwMTZGQjgwMTZBMjg4MTdGNDk1RjdCOENECis6MTAyM0YwMDAxMEY4MDAxN0YwMTAwMDAyRkE0NjEzODg3NzExMDAwMDU5Cis6MTAyNDAwMDAxMEY4MDAxN0YwMTAwMDAyRjg0NTEzRjkxMEY4MDAxNzQzCis6MTAyNDEwMDBGODQ1MTQzOTEwRjgwMDE3RjAxMDAwMDFGODQ1MTQxRkEyCis6MTAyNDIwMDBGMDczMTQ1MjEwRjgwMDE3RjAxMDAwMDNGODQ1MTNEMzlFCis6MTAyNDMwMDAxMEY4MDAxN0YwMTAwMDA2Rjg0NDE0NTI3NzEyMDA3QkQxCis6MTAyNDQwMDA3MTgyMDAxNDYxRTQwMDA3MDA0MEY4MzAxNDUyNDkxNDBFCis6MTAyNDUwMDA0ODE3RjYwMDg4MTJGNDk1NzcxMzAwNTU3NzExMDA1NzQ2Cis6MTAyNDYwMDA2REVBMDAzQkU1MDExMEU2MDAwNjgwODE0ODE0MDBGOEEzCis6MTAyNDcwMDAwMDE3ODgxMkY0OTU3NzExMDA1NTEwRTIwMDQwODA4MTEyCis6MTAyNDgwMDA3NzExMDA1NzEwRTYwMDA3ODA4MTc3MTEwMDU1MTBFMkEwCis6MTAyNDkwMDAwMDQ1ODA4MTEwRTYwMDA4NzcxMTAwNTc4MDgxNzcxMTkwCis6MTAyNEEwMDAwMDU1MTBFMjAwNEE4MDgxNzcxMTAwNTcxMEU2MDAwOUJDCis6MTAyNEIwMDA4MDgxRjI3MzE0NTI3NzExMDNDMDc3MTIwMDdCMTA4MjZGCis6MTAyNEMwMDBGMDAwMDAwNzg4MTNGNDk1RjQ5NTk2MUJGODMwMTQ1MjI5Cis6MTAyNEQwMDAxMEUzMDAzNTc3MTIwMDU1ODA4Mjc3MTIwMDU3MTBFNjFFCis6MTAyNEUwMDAwMDA0ODA4Mjc3MTIwMDU1MTBFMzAwMzc4MDgyNzcxMjUzCis6MTAyNEYwMDAwMDU3MTBFNjAwMDU4MDgyNDgxMUYwNDAwMDEwRjI3MzhBCis6MTAyNTAwMDAxNDUwRjA0MDAwMjA3NzEyMDA3QjEwODJGMDAwMDAwNzhBCis6MTAyNTEwMDA4ODEyRjQ5NUY0OTU5NjBERjgzMDE0NTIxMEUyMDAzNEI4Cis6MTAyNTIwMDA3NzEzMDA1NTgwODM3NzEzMDA1NzEwRTYwMDAyODA4M0VECis6MTAyNTMwMDAxMEUyMDAzNjc3MTIwMDU1ODA4Mjc3MTIwMDU3MTBFNkJECis6MTAyNTQwMDAwMDAzODA4MjQ4MTFGMDQwMDAwNEYyNzMxNDUwRjA0MDAwCis6MTAyNTUwMDAwMDA4NzcxMjAwN0IxMDgyRjAwMDAwMDc4ODEyRjQ5NUMzCis6MTAyNTYwMDBGNDk1OTYwRUY4MzAxNDUyMTBFMjAwMzM3NzEyMDA1NUFECis6MTAyNTcwMDA4MDgyNzcxMjAwNTcxMEU2MDAwMTgwODI0ODExRjI3M0MyCis6MTAyNTgwMDAxNDUwRjA0MDAwMDI3NzEyMDA3QjEwODJGMDAwMDAwNzI4Cis6MTAyNTkwMDA4ODEyRjQ5NUY0OTU5NjBGRjgzMDE0NTIxMEUyMDAzMjM4Cis6MTAyNUEwMDA3NzEyMDA1NTc3MTMwMDU3ODA4MjQ4MTFFNzYyRjA0MDk4Cis6MTAyNUIwMDAwMDAxRTUwMTg4MTFGNDk1NzcxMjAwN0I0ODExNzE4MkMyCis6MTAyNUMwMDAwMDEyMUFFMjAwMDc4MEUyMDAwN0Y5ODAxNjlBRUUwMTc1Cis6MTAyNUQwMDA4QTE3NDgxMThBMTY4QTExRjRFNDRBMTE4ODExNzcwRTc1Cis6MTAyNUUwMDAwMDA1NzcxMjAwNTVFODA0RjZCODI4RTEwMDAyRUVGRjc2Cis6MTAyNUYwMDA4MDgyNzcxMjAwNTdGMDIwODAwMEVFMDExQTgyNzcxMjU1Cis6MTAyNjAwMDAwMDU3ODA4MkU4MDEzMkUxMDAwMkY1ODI3NzExMDA1NDIwCis6MTAyNjEwMDBGNjkzMTg4MTc3MTEwMDU0RjJBMDgwODE4QTExRjQ5NTA1Cis6MTAyNjIwMDBGNEU0NEExMTRBMTZGNDk1NzEwNDAwMTFGQjgwMTZBMkQ1Cis6MTAyNjMwMDA4ODE2RjQ5NTc3MTIwMDU1MTBFNjAwMDM4MDgyNzcxMjExCis6MTAyNjQwMDAwMDU2MTBFMTAwMDI3NzEzMDA1NjgwODI3NzEyMDA1NjgwCis6MTAyNjUwMDAxMEUxMDAwMzgwODIxMEUxMDAwNDc3MTIwMDU2ODA4MkFFCis6MTAyNjYwMDA3NzEyMDA1NjEwRTEwMDAxODA4MkU3MTJFNTAxRjk4MDNGCis6MTAyNjcwMDAxNjlBOEExNjhBMTFGNEU0NEExMTRBMTY0QTE3RUVGOTk0Cis6MTAyNjgwMDA3NzExMDA3Qjc2MDAwMDE2NzYwMTAwMTc3NjAyMDAxQTlCCis6MTAyNjkwMDA3NjAzMDAxQjc2MDQwMDFDNzYwNTAwMUQ3MTgxMDAxNzZGCis6MTAyNkEwMDA3MUU3MDAwNjAwMTExMDgxRjg0NDE0REZGOTgwMTY1MzE5Cis6MTAyNkIwMDBGNkI4RkI4MDE1ODVGMDIwRkZGRkY2QjhGQjgwMTYwODAyCis6MTAyNkMwMDBGMDIwRkZGRjc3MTEwMDdCNzE4MTAwMTc3NkU3MDAwNjhECis6MTAyNkQwMDAwMDAxNDgxNzc3MTYwMDAwNzcxMDAwMDQ3NzE1MDAwM0YzCis6MTAyNkUwMDA3NzE0MDAwMjc3MTMwMDAxRjAwMDAwMzk3NkU3MDAwODQ0Cis6MTAyNkYwMDAwMDFGNzZFNzAwMDcwMDAwODgwRTc3MUEwMDA1NDgxN0NDCis6MTAyNzAwMDBGMDAwMDAwOTg4MTI0ODE4ODgxOUU4MDBGMDcyMTUyQ0FBCis6MTAyNzEwMDA3MzE5MDAxMTc2ODIwMDAwMTE5MTczMTEwMDE5NzBFMjkzCis6MTAyNzIwMDAwMDAzMDAxNjcwRTIwMDA0MDAxMzcwRTIwMDA1MDAxNEJDCis6MTAyNzMwMDA4MUUyMDAwMTcwRTIwMDA2MDAxNTcwRTIwMDA3MDAxMDVGCis6MTAyNzQwMDA4MEUyMDAwMjczMEUwMDExRjEwMDAwMUU2REVFMDAwNTI0Cis6MTAyNzUwMDA2REVCMDAwNTZERUMwMDA1NkRFRDAwMDU2REU4MDAwNTA1Cis6MTAyNzYwMDBGMDAwMDAwMTgxOTE2REVBMDAwODczMTEwMDBFRUUwNzgwCis6MTAyNzcwMDA3NkU3MDA0MTAwMjQ3NkU3MDA0NjAwMjU3NkU3MDA0QjI3Cis6MTAyNzgwMDAwMDI2NzZFNzAwNTAwMDI3OEExNzhBMTY4QTExRjRFNDlCCis6MTAyNzkwMDA0QTExNEExNkVFRkU4ODExNTYwNjRFMDBGOTgwMTZBMjFFCis6MTAyN0EwMDBGN0I4MTBGODAwMTFGMDEwRkZGRkZBNDUxNTYwNzcxNjIyCis6MTAyN0IwMDBGRkZGNzcxMjAwN0I0OTExMTA4MkY2MDNGMDAwMDAwOTM5Cis6MTAyN0MwMDA4ODExRjQ5NUY0OTUxMDgxRjg0NDE1NzFGMjczMTU3MTIwCis6MTAyN0QwMDBGNDk1RTcxNjc3MTEwMDdCMTA4MUYwMDAwMDA5ODgxMTRECis6MTAyN0UwMDBGNDk1NzcxMjAwMDYxMDgxRjg0NTE1NUM2RUVBRkZGRjNDCis6MTAyN0YwMDAxNTY5NkRFOTAwMDg3Njg2MDAwMUU5MDE1NjAwRjE4MDRGCis6MTAyODAwMDAxMEY4MDAwQkY4NDUxNTdFRkI4MDE1ODVGNDk1NDgxNkU5Cis6MTAyODEwMDBGOTgwMTY5QUVFMDI0ODE2OEExNjhBMTFGNEU0NEExMUQzCis6MTAyODIwMDBFRUZGRkI4MDE2QTI4ODExRjQ5NTc3MTBGRkZGRjRBOTQ0Cis6MTAyODMwMDBGODMwMTVDNDEwRTEwMDAzNzcxMjAwNTU4MDgyNzcxMjNBCis6MTAyODQwMDAwMDU2NzY4MjAwMDA3NzEyMDA1Njc2ODIwMDAwNzcxMkRBCis6MTAyODUwMDAwMDU2NzY4MjAwMDA3NzEyMDA1Njc2ODIwMDAwNzcxMkNBCis6MTAyODYwMDAwMDU2NzY4MjAwMDAxMEUxMDAwMkYwMDAwMDA4MzJGODA1Cis6MTAyODcwMDAwMDA4NzcxMjAwNTRFODAxRjQ4MkY0OTMxODgyNzcxMjZBCis6MTAyODgwMDAwMDU0RjA0MDAwMDA4MDgyMTBFMTAwMDFGOTgwMTY3NkNCCis6MTAyODkwMDAxMEUxMDAwMUY5ODAxNjY2RjA3MzE2MDM3NzExMDA3QkQyCis6MTAyOEEwMDA3MTgxMDAxMTcxRTEwMDA3MDAxMjc2ODIwMDAwMTBFMUQxCis6MTAyOEIwMDAwMDA5Rjk4MDE1ODU3NzExMDA3QjcxODEwMDExMTBFMTA1Cis6MTAyOEMwMDAwMDA5RkI4MDE1ODVGMDAwMDAwODc3MTEwMDdCNzE4MUZECis6MTAyOEQwMDAwMDExMTBFMTAwMDlGQjgwMTU4NUYwMDAwMDEwNzcxMTUwCis6MTAyOEUwMDAwMDdCNzE4MTAwMTExMEUxMDAwOUZCODAxNTg1RjAwMDZCCis6MTAyOEYwMDAwMDE4NzcxMTAwN0I3MTgxMDAxMTEwRTEwMDA5RkI4MDQ1Cis6MTAyOTAwMDAxNTg1RjAwMDAwMjA3NzExMDA3QjcxODEwMDExMTBFMTI2Cis6MTAyOTEwMDAwMDA5RkI4MDE1ODVGMDAwMDAyOEY5ODAxNjlBRUUwMTY5Cis6MTAyOTIwMDA4QTExRjRFNDRBMTFFRUZGRkI4MDE2QTI4ODExRjQ5NTk3Cis6MTAyOTMwMDA3NzEwRkZGRkY0QTlGODMwMTY0MTc3MTEwMDU1NzY4MTIyCis6MTAyOTQwMDAwMDFFNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUJGCis6MTAyOTUwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUNECis6MTAyOTYwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUJECis6MTAyOTcwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUFECis6MTAyOTgwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2RjI3MzJGCis6MTAyOTkwMDAxNjRFNzY4MTAwMDA3NzExMDA3QjcxODEwMDExNzFFMTg0Cis6MTAyOUEwMDAwMDA3MDAxMjc2ODIwMDAwMTBFMTAwMzlGOTgwMTYwODU1Cis6MTAyOUIwMDBGOTgwMTY5QUVFMDE4QTExRjRFNDRBMTE3NzExMDA3QjJFCis6MTAyOUMwMDAxMDgxRjAwMDAwMDQ4ODExRjQ5NUY0OTUxMDgxRkE0NDA4Cis6MTAyOUQwMDAxNjYzRjQ5NUVFRkY3NjgxMDAwMUVFMDE4QTExRjRFNEFFCis6MTAyOUUwMDBGMDEwMDAxMDRBMTEzMkY4MDAwOEVFRkY3NzExMDAwMUQ0Cis6MTAyOUYwMDBFODAxRUUwMUY0ODIxQTgxODA4MThBMTFGNDk1RjRFNEYxCis6MTAyQTAwMDBGMDEwMDAxMDRBMTEzMkY4MDAwOEVFRkZFODAxNzcxMUNCCis6MTAyQTEwMDAwMDAwRjQ4MkVFMDFGNDkzMTg4MTgwODE4QTExRjQ5NTBDCis6MTAyQTIwMDBGNEU0NEExMUYwMTAwMDEwNzcxMTAwMDAzMkY4MDAwOEE5Cis6MTAyQTMwMDBFRUZGMTE4MUU4MDFFRTAxNzcxMTAwMDBGNDgyRjJBMEFGCis6MTAyQTQwMDA4MDgxOEExMUY0OTVGNEU0RjI3MzE2OUVGNkJCRjQ5NTM2Cis6MTAyQTUwMDBGNDk1RjQ5NUY0OTVGNEU0RjI3MzE2QTZGN0JCRjQ5NUE3Cis6MTAyQTYwMDBGNDk1RjQ5NUY0OTVGNEU0NEExMTRBMTZGNDk1NzEwNDNBCis6MTAyQTcwMDAwMDE2RkI4MDE2QTI4ODExRjQ5NTcxRTEwMDA1MDAxMjgyCis6MTAyQTgwMDA3NjgyMDAwRTEwRTYwMDBFNzFFMTAwMDYwMDEyODA4MkQwCis6MTAyQTkwMDA3MUUxMDAwNTAwMTI3NjgyMDAwRDcxRTEwMDA2MDAxMjVFCis6MTAyQUEwMDAxMEU2MDAwRDgwODI3MUUxMDAwNTAwMTI3NjgyMDAwQ0I0Cis6MTAyQUIwMDAxMEU2MDAwQzcxRTEwMDA2MDAxMjgwODI3MUUxMDAwNTUxCis6MTAyQUMwMDAwMDEyNzY4MjAwMEIxMEU2MDAwQjcxRTEwMDA2MDAxMjg2Cis6MTAyQUQwMDA4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMEE3MUUxMDAwNjMxCis6MTAyQUUwMDAwMDEyMTBFNjAwMEE4MDgyNzFFMTAwMDUwMDEyNzY4MjcxCis6MTAyQUYwMDAwMDA5MTBFNjAwMDk3MUUxMDAwNjAwMTI4MDgyNzFFMTEwCis6MTAyQjAwMDAwMDA1MDAxMjc2ODIwMDA4NzFFMTAwMDYwMDEyMTBFNjRFCis6MTAyQjEwMDAwMDA4ODA4MjcxRTEwMDA1MDAxMjc2ODIwMDA3MTBFNjRECis6MTAyQjIwMDAwMDA3NzFFMTAwMDYwMDEyODA4MjcxRTEwMDA1MDAxMkM5Cis6MTAyQjMwMDA3NjgyMDAwNjcxRTEwMDA2MDAxMjEwRTYwMDA2ODA4MjJGCis6MTAyQjQwMDA3MUUxMDAwNTAwMTI3NjgyMDAwNTcxRTEwMDA2MDAxMkI1Cis6MTAyQjUwMDAxMEU2MDAwNTgwODI3MUUxMDAwNTAwMTI3NjgyMDAwNDEzCis6MTAyQjYwMDA3MUUxMDAwNjAwMTIxMEU2MDAwNDgwODI3MUUxMDAwNUE4Cis6MTAyQjcwMDAwMDEyNzY4MjAwMDM3MUUxMDAwNjAwMTIxMEU2MDAwM0U1Cis6MTAyQjgwMDA4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMDIxMEU2MDAwMkU4Cis6MTAyQjkwMDA3MUUxMDAwNjAwMTI4MDgyNzFFMTAwMDUwMDEyNzY4MjY4Cis6MTAyQkEwMDAwMDAxMTBFNjAwMDE3MUUxMDAwNjAwMTI4MDgyNzFFMTZGCis6MTAyQkIwMDAwMDA1MDAxMjc2ODIwMDAwNzFFMTAwMDYwMDEzRTc2MjUyCis6MTAyQkMwMDBFNTAxRjk4MDE2OUE4QTE2OEExMUY0RTQ0QTExODgxMUVGCis6MTAyQkQwMDBGNDk1RjQ5NTcxRTEwMDA1MDAxMkVFRkY3NjgyMDAwMDk1Cis6MTAyQkUwMDBFRTAxNzFFMTAwMDYwMDExNjk4MTAwMDE4QTExRjQ5NTdFCis6MTAyQkYwMDBGNEU0NEExMTg4MTFGNDk1RjQ5NTcxRTEwMDA1MDAxMjhFCis6MTAyQzAwMDBFRUZGNzY4MjAwMDFFRTAxNzFFMTAwMDYwMDExNjk4MTlDCis6MTAyQzEwMDAwMDAxOEExMUY0OTVGNEU0NEExMTc3MTEwMDdCMTA4MUM4Cis6MTAyQzIwMDBGMDAwMDA5NDg4MTFGNDk1RjQ5NTEwODFGQTQ0MTc5Q0YzCis6MTAyQzMwMDBGNDk1RUVGRkY5ODAxNjUzNzcxMTAwN0IxMDgxRjAwMEI4Cis6MTAyQzQwMDAwMDk0ODgxMUY0OTVGNDk1NzY4MTAwMDFFRTAxNzZFMTA3Cis6MTAyQzUwMDAwMDAxMDAwMDc2RTEwMDAyMDAyMTc2RTEwMDAzMDAyMDdGCis6MTAyQzYwMDA3NkUxMDAwNDAwMjM3NkUxMDAwNTAwMjI3NkUxMDAwNjBCCis6MTAyQzcwMDAwMDM4NzZFMTAwMDcwMDM5NzZFMTAwMDgwMDE1NzZFMUJBCis6MTAyQzgwMDAwMDA5MDAxNDc2RTEwMDBBMDAwMDc2RTEwMDBCMDA0MTIzCis6MTAyQzkwMDA3NkUxMDAwQzAwNDA3NkUxMDAwRDAwNDM3NkUxMDAwRTg1Cis6MTAyQ0EwMDAwMDQyNzZFMTAwMEYwMDQ4NzZFMTAwMTAwMDQ5NzZFMTJECis6MTAyQ0IwMDAwMDExMDAxQjc2RTEwMDEyMDAxQThBMTFGNDk1RjRFNDY5Cis6MTAyQ0MwMDA0QTExRUVGRDg4MTE1NjA2NEUwMEY5ODAxNkEyNzcxMkMxCis6MTAyQ0QwMDAwMDdCNzcwRTAwMDkxMDgyMjhGODAwMTFGMDAwMDA5NUEzCis6MTAyQ0UwMDA4ODExRjQ5NUY0OTUxMDgxRjg0NTE3RjBGMjczMTdGREVCCis6MTAyQ0YwMDA3NzExRkZGRjc2ODEwMDAxRTkwMTU2MDBGMTgwMTBGODlECis6MTAyRDAwMDAwMDBCRjg0NTE3RkRGQjgwMTgxMEY0OTU0ODExRjk4MDY5Cis6MTAyRDEwMDAxNjlBRUUwMzQ4MTE4QTExRjQ5NUY0RTQ0QTExODgxMUM5Cis6MTAyRDIwMDBGNDk1RUVGRjcxRTEwMDAxMDAxMUVFMDExMDgxOEExMUFFCis6MTAyRDMwMDBGNDk1RjRFNDRBMTFFRUZGRkI4MDE2QTI4ODExRjQ5NTk1Cis6MTAyRDQwMDA3NzEwRkZGRkY0QTlGODMwMThDMzcxRTEwMDA1MDAxMkY1Cis6MTAyRDUwMDA3NjgyMDAwMDcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMUM3Cis6MTAyRDYwMDAwMDA1MDAxMjc2ODIwMDAxNzFFMTAwMDYwMDEyNzY4MkYxCis6MTAyRDcwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMDI3MUUxMDAwNjk4Cis6MTAyRDgwMDAwMDEyNzY4MjAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwM0Q1Cis6MTAyRDkwMDA3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTEwMDA1MDAxMjY4Cis6MTAyREEwMDA3NjgyMDAwNDcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMTczCis6MTAyREIwMDAwMDA1MDAxMjc2ODIwMDA1NzFFMTAwMDYwMDEyNzY4MjlECis6MTAyREMwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMDY3MUUxMDAwNjQ0Cis6MTAyREQwMDAwMDEyNzY4MjAwMDE3MUUxMDAwNTAwMTI3NjgyMDAwNzgwCis6MTAyREUwMDA3MUUxMDAwNjAwMTI3NjgyMjAwMDcxRTEwMDA1MDAxMkY4Cis6MTAyREYwMDA3NjgyMDAwODcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMTFGCis6MTAyRTAwMDAwMDA1MDAxMjc2ODIwMDA5NzFFMTAwMDYwMDEyNzY4MjQ4Cis6MTAyRTEwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMEE3MUUxMDAwNkVGCis6MTAyRTIwMDAwMDEyNzY4MjAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwQjJDCis6MTAyRTMwMDA3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTEwMDA1MDAxMkM3Cis6MTAyRTQwMDA3NjgyMDAwQzcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMUNBCis6MTAyRTUwMDAwMDA1MDAxMjc2ODIwMDBENzFFMTAwMDYwMDEyNzY4MkY0Cis6MTAyRTYwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMEU3MUUxMDAwNjlCCis6MTAyRTcwMDAwMDEyNzY4MjAwMDAxMEUxMDAwN0Y5ODAxNjc2MTBFMTVBCis6MTAyRTgwMDAwMDA4Rjk4MDE2NzYxMEUxMDAwN0Y5ODAxNjY2MTBFMTU3Cis6MTAyRTkwMDAwMDA4Rjk4MDE2NjZGMDczMThEMTc3MTEwMDdCMTA4MTU1Cis6MTAyRUEwMDBGQjgwMTgxMEYwMDAwMDk1NzcxMTAwN0IxMDgxRkI4MEVCCis6MTAyRUIwMDAxODEwRjAwMDAwOUVGOTgwMTY5QUVFMDE4QTExRjRFNEQxCis6MTAyRUMwMDA0QTExODgxMUVFRkZGNDk1MTAwNDcxRTEwMDAzMDAxMTFFCis6MTAyRUQwMDBFRTAxODA4MThBMTFGNDk1RjRFNDRBMTE0QTE2RjQ5NUMyCis6MTAyRUUwMDA3MTA0MDAxNkZCODAxNkEyODgxMUY0OTU3MUUxMDAwMkFFCis6MTAyRUYwMDAwMDEyNzY4MjAwMTAxMEU2MDAwMTcxRTEwMDAzMDAxMjVBCis6MTAyRjAwMDA4MDgyNzFFMTAwMDQwMDEyMTBFNjAwMDI4MDgyRTc2MjE0Cis6MTAyRjEwMDA3MUUxMDAwMjAwMTNFNTAxRjk4MDE2OUE4QTE2OEExMTAwCis6MTAyRjIwMDBGNEU0NEExMTg4MTFFRUZGRUUwMTEwRTEwMDAxOEExMTZDCis6MTAyRjMwMDBGNDk1RjRFNDRBMTE3NzExMDA3QjEwODFGMDAwMDBCMzlFCis6MTAyRjQwMDA4ODExRjQ5NUY0OTUxMDgxRkE0NDE5MkFGNDk1RUVGRjRFCis6MTAyRjUwMDBGOTgwMTY1Mzc3MTEwMDdCMTA4MUYwMDAwMEIzODgxMUJGCis6MTAyRjYwMDBGNDk1RjQ5NTc2ODEwMDAxRUUwMTc2RTEwMDAxMDAwMDEwCis6MTAyRjcwMDA3NkUxMDAwMjAwMTM3NkUxMDAwMzAwMjY3NkUxMDAwNDBBCis6MTAyRjgwMDAwMDI1NzZFMTAwMDUwMDI0NzZFMTAwMDYwMDAwNzZFMUU4Cis6MTAyRjkwMDAwMDA3MDAxNzc2RTEwMDA4MDAzMjc2RTEwMDA5MDAzMUYxCis6MTAyRkEwMDA3NkUxMDAwQTAwMzA4QTExRjQ5NUY0RTQ0QTExNEExNkQ5Cis6MTAyRkIwMDA0QTE3RUVGRkY0OTU3MTA2MDAxN0ZCODAxNkEyODgxMUUwCis6MTAyRkMwMDBGNDk1RjdCODEwRjgwMDExRjAxMEZGRkZGQTQ1MTk3M0U3Cis6MTAyRkQwMDA3NzE2RkZGRjc3MTIwMDdCNzcwRTAwMDUxMDgyMjhGODI2Cis6MTAyRkUwMDAwMDExRjAwMDAwQjQ4ODExRjQ5NUY0OTUxMDgxRjg0NEI0Cis6MTAyRkYwMDAxOTg0RjI3MzE5ODRGNDk1RTcxNjc3MTEwMDdCMTA4MTE4Cis6MTAzMDAwMDBGMDAwMDBCNDg4MTFGNDk1NzcxMjAwMDIxMDgxRjg0NUExCis6MTAzMDEwMDAxOTZGNkVFQUZGRkYxOTdDNkRFOTAwMDU2MUY4MDAxNzcyCis6MTAzMDIwMDAwMDAxRkEyMDE5OEY3Njg2MDAwMUZCODAxOTk3RjQ5NTJDCis6MTAzMDMwMDA0ODE2Rjk4MDE2OUFFRTAxOEExNzQ4MTY4QTE2OEExMUUwCis6MTAzMDQwMDBGNEU0NEExMUVFRkZGQjgwMTZBMjg4MTFGNDk1NzcxMDg0Cis6MTAzMDUwMDBGRkZGRjRBOUY4MzAxOUNDNzFFMTAwMDIwMDEyNjk4Mjc3Cis6MTAzMDYwMDAwMDEwNzFFMTAwMDIwMDEyNjg4MkY3RkY3MUUxMDAwMkI2Cis6MTAzMDcwMDAwMDEyNjg4MkZCRkY3MUUxMDAwMjAwMTI2ODgyRkZGMDFCCis6MTAzMDgwMDA3MUUxMDAwMzAwMTI3NjgyRkZGRjcxRTEwMDA0MDAxMjdCCis6MTAzMDkwMDA3NjgyRkZGRjcxRTEwMDAyMDAxMjY5ODIwMDIwNzFFMTc3Cis6MTAzMEEwMDAwMDAyMDAxMUYyNzMxOURBNjg4MUZGRUY3NzExMDA3QkRCCis6MTAzMEIwMDAxMDgxRkI4MDE5OTdGMDAwMDBCNDc3MTEwMDdCMTA4MTFDCis6MTAzMEMwMDBGQjgwMTk5N0YwMDAwMEI5Rjk4MDE2OUFFRTAxOEExMTc5Cis6MTAzMEQwMDBGNEU0MDBBNDAwMDAxOURGMDAwMTJBRTYwMDAwMDAwMTZBCis6MTAzMEUwMDAyQUU3MDAwMDAwMDMyQTEyMEMwMUMzNEYwMDAwMDAwMTcwCis6MTAzMEYwMDAyQTE1MDAwMDAwMDIyQTE2MDAwMDAwMDAwMDE5MkE1REFGCis6MTAzMTAwMDAwMDQzMDA2RjAwNzAwMDc5MDA3MjAwNjkwMDY3MDA2ODdBCis6MTAzMTEwMDAwMDc0MDAyMDAwNTQwMDY1MDA2MzAwNjgwMDZFMDA2RkJBCis6MTAzMTIwMDAwMDU0MDA3MjAwNjUwMDZFMDA2NDAwMjAwMDQxMDA0N0ZBCis6MTAzMTMwMDAwMDAwMDAwNDJBNzYwMDMwMDAyRTAwMzAwMDAwMDAwQzUxCis6MTAzMTQwMDAyQTdBMDA0NjAwNjUwMDYyMDAyMDAwMzIwMDM3MDAyMDI1Cis6MTAzMTUwMDAwMDMyMDAzMDAwMzAwMDMxMDAwMDAwMDkyQTg2MDAzMUMyCis6MTAzMTYwMDAwMDM0MDAzQTAwMzMwMDM1MDAzQTAwMzMwMDMzMDAwMEU5Cis6MTAzMTcwMDAwMDBGMkE4RjAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTg1Cis6MTAzMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAzMTkwMDAwMDAwMDAwMTJBOUUwMDAwMDAwMTJBOUYwMDAwMDAwMTlCCis6MTAzMUEwMDAyQUEwMDAwMDAwMDEyQUExMDAwMDAwMDEyQUEyMDAwMEJDCis6MTAzMUIwMDAwMDAxMjk3RTAwMDAwMDAyMjk4MDAwMDAwMDAwMDAwMUJCCis6MTAzMUMwMDAyOTgyRkZGRjAwMDEyQUE3MDAwMDAwMDUyQUE4NzE0MUZCCis6MTAzMUQwMDAyMDAwMjAwMDAwMjMwNDAwMDAwQTJBQUQwMDAwMDAwMEE3Cis6MTAzMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAzMUYwMDAwMDBGMkFCNzAwMDAwMDAwMDAwMDAwNDAwMEEwODI0MDNECis6MTAzMjAwMDAwMDA4MzA3RjAwODAwMTgwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTAzMjEwMDAwMDAwMDAwMTI3NkUwMDAwMDAwMTI3NkYwMDAwMDAwMDgxCis6MTAzMjIwMDAwMDA5MDAwMDFBODMwNEU4MDRDRjA0QzUwNEJBMDRCMEZFCis6MTAzMjMwMDAwNEFDMDQ5QzA0OEMwNDgxMDA3ODAwMDAwMTAwRjI3MzRCCis6MTAzMjQwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0E0Cis6MTAzMjUwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzk0Cis6MTAzMjYwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzg0Cis6MTAzMjcwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzc0Cis6MTAzMjgwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzY0Cis6MTAzMjkwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzU0Cis6MTAzMkEwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzQ0Cis6MTAzMkIwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzM0Cis6MTAzMkMwMDAwN0FBRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzY5Cis6MTAzMkQwMDAwN0VGRjQ5NUY0OTVGMjczMDIyM0Y0OTVGNDk1RjI3M0U1Cis6MTAzMkUwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzA0Cis6MTAzMkYwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0Y0Cis6MTAzMzAwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0UzCis6MTAzMzEwMDAwNUU1RjQ5NUY0OTVGMjczMDJCNUY0OTVGNDk1RjI3MzFFCis6MTAzMzIwMDAwRTMzRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1MDAwMERECis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdmljYW0vZmlybXdhcmUuSDE2IGIvZmlybXdhcmUvdmljYW0vZmlybXdhcmUuSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYzBjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS92aWNhbS9maXJtd2FyZS5IMTYKQEAgLTAsMCArMSw3IEBACis6MDAyNjAwMDAwMEI2QzMxRjAwMDI2NEU3NjdGREZGMEVDMEU3MDlERTAwOEUwMEMwMDk0MDAzQzAxNzQ0MDM0QkFGQzAwNzAwMDA0QkFGOTdDRjAwMDAxRAorOjAwMEEwMDAwMDBCNkMzMDMwMDAzNjQxODAwMDAwMEZCCis6MDAwODAwMDAwMEI2QzMwMTAwMDY2NDAwMDAxNAorOjA2OTYwMDAwMDBCNkMzOEYwNjAyNjRFNzA3MDAwMDA4QzBFNzA3MDAwMDNFQzBFNzA3NTQwMUFBMDBFNzA3QzgwNUI2MDBFNzA3NDIwMUQyMDBFNzA3N0MwMDE2MDBFNzA3NTYwMDE4MDBFNzA3MDYwMDkyQzBFNzA3MDAwMDFFQzBFNzA3RkZGRjIyQzBFNzA3MDQwMDI0QzBFNzA3RUMyNzI4QzBFNzA3MTYwMThFMDBFNzg3MDEwMDBFQzA5N0NGRDcwOTAwQzBFNzc3MDEwMDkyQzAwOUMxRTcwOUZFMDUyNDAxRTcwOTA0MDYyNjAxRTcwNzA3MDA5MkMwRTcwNTAwQzBDMERGOTdDRjE3MDA1NzAwMTcwMkQ3MDkwMEMwRTc3NzAxMDA5MkMwMEFDMUU3NTdGRkZGRkEwNTBEQzBFNzU3MDAwMEZBMDUwRkMwOUZBRkM2MDBFNzA1MDBDMEM4MDVDMTA1QzAwNUMwREY5N0NGMjdEQUZBMDVFRjA3MDEwMDBCMDY3M0NGOUZBRjc4MDE5RkFGMUEwMzZFQ0ZFNzA5RkMwNTI0MDFFNzA5MDIwNjI2MDFFNzA3MDcwMDkyQzBFNzA5RkMwNUZFMDVFNzA5MDIwNjA0MDZFNzA5MDAwNkZDMDVFNzA5RkUwNTAwMDYyN0RBRkEwNUU3NTcwMTAwRkEwNTAyQ0EwNEMwOTdDRjlGQUY2NjA1OTdDRkU3MDc0MDAwMDIwNkM4MDlGQzA1OUZBRkRBMDI5N0NGQ0YxNzAyMDBFRjU3ODEwMDA5MDY5RkEwQjYwMUVGNTc4MDAwMDkwNjlGQTA0MDAyRUY1NzAxMDAwQjA2OUZBMDQ2MDNFNzA3MDEwMDBBQzA0NkFGNDdBRjlGQUY0MDAyRTcwNzJFMDAwQUMwRUY4NzgwMDAwOTA2OTdDRjAwMEUwMTAwQzA1NzUxMDA5RkMwOUUwMkMwNTc1MDAwMjBDMEMwNTc1NTAwMTJDMEMwNTc1NjAwOUZDMDcyMDI5RkNGRDYwMkMxMEIwODA2MDFEMDZGOTAwODA2QzAwNzA4MDBDMTBCMDgwNjlGQUYyODA1OTdDRjJGMEUwMjAwMDgwNkMwMDcwODAwQzEwQjA4MDY5RkFGMjgwNTlGQ0ZENjAyMkYwRTAyMDAwOTA2RUY4NzgwMDAwOTA2OUZDRkQ2MDJFRjY3N0ZGRjA5MDZFNzY3RkZGRDIyQzBFNzY3RUZGRjI0QzBFNzg3MTAwMDI4QzA5RkFGQjgwNUU3ODdFMDIxMjRDMDlGQUZBODA1RTc4NzA4MDAyNEMwRTc2N0RGRkYyNEMwQzgwNzBBMDBDMDA3MDAwMEMxMDcwMTAwOUZBRjI4MDU5RkFGQjgwNUMwMDc5RTAwOUZBRjQ0MDVFNzY3RkZGRTI0QzBDMDA5MjBDMEU3ODcwMDAxMjRDMEMwNzcwMDAyMEZDMUU3NjdGN0ZGMjRDMEU3NjdGN0ZGMjRDMEU3ODcwODAwMjRDMDA4REE1RUMxRUYwNzgwMDAwOTA2OTdDRkVGMDcwMTAwMEEwNjk3Q0ZFRjA3MDAwMDBCMDZFRjA3MDAwMDBBMDZFRjY3N0ZGRjA5MDZFRjA3MDAwMDBEMDZFNzY3RUZGRjI4QzBFNzY3MTdEODI0QzBFNzA3MDAwMDFFQzBFNzA3RkZGRjIyQzA5N0NGQzgwNzBFMDY5RkFGREEwMkU3MDcwMDAwRjIwNUU3MDcxMDAwRjYwNUU3MDcwRTA2RjQwNUU3MDdENjAyRjgwNUM4MDdGMjA1QzEwNzAwODA1MEFGOTdDRjJGMEMwMjAwMDcwNjJGMEMwNDAwMDYwNkU3MDcwMDAwRjIwNUU3MDcxMDAwRjYwNUU3MDdFMjA1RjQwNUU3MDdDRTAyRjgwNUM4MDdGMjA1QzEwNzAwODA1MUFGOTdDRjlGQUY2NjA0OUZBRjFBMDM1OUFGOTdDRkMwMDcwRTAwQzEwQjBDMDY0MUQxOUZBRjI4MDVDMDA3M0MwMDlGQUY0NDA1NjgwMEMwMDczQjAwOUZBRjQ0MDU2RjAwMEMwNjY4MDBFMDA3MDQwMUU4MEIwQTA2RTgwNzAwMDBFMDA3MDAwMkUwMDdFQzAxRTAwN0ZDRkY5N0NGRTcwN0ZGRkZGQTA1RUYwNzAwMDAwQjA2RTcwNzBFMDYyNDAxRTcwNzBFMDZGRTA1RTcwNzQwMDAyNjAxRTcwNzQwMDAwNDA2RTcwNzA3MDA5MkMwOTdDRkVGMDcwMjAwMEIwNjlGQUY3ODAxRUY3NzgwMDAwNzA2OUZDMDE0MDRFRjc3MDEwMDA3MDYzN0MwRUY3NzAxMDAwRDA2MEZDMUVGMDcwMTAwMEQwNkMwMDcwMjAwQzEwNzMwMDA5RkFGMjgwNUMwMDcwMTAwQzEwNzAyMDA5RkFGMjgwNUM4MDdGRjRGOUZBRkE4MDVDMDA3MzgwMDlGQUY0NDA1QzE3NzAzMDAwMkMxMDhEQTc1QzFDMTc3MDEwMDBBQzFDMDA3MDEwMEMxMDcwMjAwOUZBRjI4MDVFRjA3MDEwMDA2MDYyQ0NGQzAwNzAxMDBDMTA3MDQwMDlGQUYyODA1RUYwNzAwMDAwNjA2MjJDRkVGMDcwMDAwMEQwNkVGNTcwMTAwMDYwNjFCQzBDMDA3MDEwMEMxMDcwMTAwOUZBRjI4MDVDMDA3MDIwMEMxMDczMDAwOUZBRjI4MDVDODA3RkY0RjlGQUZBODA1QzAwNzM4MDA5RkFGNDQwNUMxNjcwMzAwQzE1NzAzMDAwMkMwMDhEQTczQzFDMDA3MDIwMEMxMDcxMjAwRUY1NzAwMDAwNjA2MDJDMEMxMDcyMzAwOUZBRjI4MDVDMDA3MTQwMEMxMEJFQTA1OUZBRjI4MDVDMDA3M0UwMDlGQUYwQTA1RTcwOUU0MDVGQTA1MjdEOEZBMDVFNzA3MEUwNkZDMDVFNzA3NEUwNjAwMDZFNzA3NDAwMDAyMDY5RkFGNjYwNTlGQUZDNjAwOTdDRkMxMEJFMjA1NDFEMDAxRDJDMTE3MjMwMDlGQUZEQzA0QzAwNzA0MDBDMTBCRTMwNTlGQUYyODA1QzAwNzA2MDBDMTA5RTYwNTlGQUYyODA1QzAwNzA3MDBDMTA5RTYwNUMxRDE5RkFGMjgwNUMwMDcwQjAwQzEwOUU4MDU5RkFGMjgwNUMwMDcwQzAwQzEwOUU4MDVDMUQxOUZBRjI4MDVDMDA3MEQwMEMxMDcwOTAwOUZBRjI4MDVDMDA3MDMwMEMxMDczMjAwOUZBRjI4MDVDMDA3MEYwMEMxMDcwMDAwOUZBRjI4MDU5N0NGRTc2N0ZGRDkyNEMwQzgwNzBBMDA0MDAwQzA2NzAwMDIyNzgwMjRDMEU3ODcwMDA0MjRDMEU3NjdGRkY5MjRDMDAxRDIwOERBNzJDMUU3ODcwMDIwMjRDMDk3Q0YyNzAwMUVDMEU3ODdGRjAwMjJDMEU3Njc3RkZGMjRDMEU3ODc4MDAwMjRDMEU3ODc4MDAwMjRDMDk3Q0Y5RkFGMEEwNTY3MDAxRUMwRTc2N0JGRkYyNEMwRTc4NzQwMDAyNEMwRTc4NzQwMDAyNEMwOTdDRjlGQUYwQTA1RTc2NzAwRkYyMkMwRTc2N0ZGRkUyNEMwRTc2N0ZGRkUyNEMwQzEwOTIwQzBFNzg3MDAwMTI0QzA5N0NGQzAwNzQwMDBDODA5RkMwNUU3NjcwMEZGMjJDMEU3NjdGRkZFMjRDMEU3NjdCRkZGMjRDMEU3NjdCRkZGMjRDMDAwREFFODA5MjBDMEU3ODc0MDAwMjRDMEU3ODc0MDAwMjRDMDAwREFFODA5MjBDMDZEQzFFNzg3MDAwMTI0QzA5N0NGRTcwNzMyMDAxMkMwRTc3NzAwODAxMkMwN0NDMDk3Q0ZFNzA3MjA0RTEyQzBFNzc3MDA4MDEyQzA3Q0MwOTdDRjA5MDIxOTAwMDEwMTAwODA5NjA5MDQwMDAwMDEwMDAwMDAwMDA3MDU4MTAyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjAxMzYwMDAwMDBCNkMzMkYwMTAzNjQwRTAwMTQwMDFBMDAyMDAwMjYwMDRBMDA2NDAwNkEwMDkyMDA5QTAwQTAwMEIyMDBCODAwQkUwMEMyMDBDODAwQ0UwMERDMDBEQTAwRTIwMEUwMDBFODAwRTYwMEVFMDBFQzAwRjIwMEY4MDAwMjAxMEEwMTBFMDExMjAxMUUwMTIyMDEyODAxMkMwMTMyMDEzNjAxNDQwMTUwMDE1RTAxNzIwMTc2MDE3QTAxODAwMTg4MDE4QzAxOTQwMTlDMDFBMDAxQTQwMUFBMDFCMDAxQjQwMUJBMDFEMDAxREEwMUY2MDFGQTAxMDIwMjM0MDIzQzAyNDQwMjRBMDI1MDAyNTYwMjc0MDI3ODAyN0UwMjg0MDI4QTAyODgwMjkwMDI4RTAyOTQwMkEyMDJBODAyQUUwMkI0MDJCQTAyQjgwMkMwMDJCRTAyQzQwMkQwMDJENDAyRTAwMkU2MDJFRTAyRjgwMkZDMDIwNjAzMUUwMzI0MDMyODAzMzAwMzJFMDMzQzAzNEEwMzRFMDM1NDAzNTgwMzVFMDM2NjAzNkUwMzdBMDM4NjAzOEUwMzk2MDNCMjAzQjgwM0M2MDNDQzAzRDQwM0RBMDNFODAzRjQwM0ZDMDMwNDA0MjAwNDJBMDQzMjA0MzYwNDNFMDQ0NDA0NDIwNDQ4MDQ0RTA0NEMwNDU0MDQ1MjA0NUEwNDVFMDQ2MjA0NjgwNDc0MDQ3QzA0ODAwNDg4MDQ4QzA0OTQwNDlBMDRBMjA0QTYwNEFFMDRCNDA0QzAwNENDMDREODA0MkEwNTQ2MDU2QzA1MDAwMDVFCis6MDAwODAwMDAwMEI2QzMwMTAwMDY2NDAwMDAxNAorOjAwMDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvd2hpdGVoZWF0LkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdC5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRhZTYwMgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3doaXRlaGVhdC5IRVgKQEAgLTAsMCArMSwxMDk3IEBACis6MDMwMDAwMDAwMjk3RTM4MQorOjAzMDAwMzAwMDIxMzEyRDMKKzowMzAwMEIwMDAyMEJCNTMwCis6MDMwMDMzMDAwMjA4MUNBNAorOjAzMDA0MzAwMDIwQTAwQUUKKzowMzAwNUIwMDAyODMzQkUyCis6MTAwMzcwMDA5MDdGRTlFMDcwMDMwMjA0NzMxNDcwMDMwMjA0RTcyNDIxCis6MTAwMzgwMDBGRTcwMDMwMjA1NEYyNEZCNzAwMzAyMDQ2NDE0NzAwMzIzCis6MTAwMzkwMDAwMjA0NTIxNDcwMDMwMjA0M0ExNDcwMDMwMjA0NDkyNDQ0Cis6MTAwM0EwMDAwNTYwMDMwMjA1OUU5MDdGRUJFMDI0RkU2MDE2MTQ2MDVBCis6MTAwM0IwMDAzNjI0MDI3MDdCNzQxMjkwN0ZENEYwNzQwMDkwN0ZENTQ1Cis6MTAwM0MwMDBGMDAyMDVBNTkwN0ZFQUUwRkYxMjBBOTlFQTQ5NjAwRDY0Cis6MTAwM0QwMDBFQTkwN0ZENEYwRTk5MDdGRDVGMDAyMDVBNTkwN0ZCNDM0Cis6MTAwM0UwMDBFMDQ0MDFGMDAyMDVBNTkwN0ZFQUUwRkYxMjBBNThFQTE2Cis6MTAwM0YwMDA0OTYwMzMxMkEyM0JGNTRFOTA3RkVFRTBGRkU1NEVEMzBECis6MTAwNDAwMDA5RjQwMDNFMEY1NEVFNTRFRDM5NDQwNDAwMzc1NEU0MEM3Cis6MTAwNDEwMDBBRTAyQUYwMTdDN0Y3RDAwQUI0RTEyOTEzNzkwN0ZCNTZECis6MTAwNDIwMDBFNTRFRjAwMjA1QTU5MDdGQjRFMDQ0MDFGMDAyMDVBNTc5Cis6MTAwNDMwMDA5MDdGQjRFMDQ0MDFGMDAyMDVBNTkwN0YwMEU1MjFGMDMzCis6MTAwNDQwMDA5MDdGQjU3NDAxRjAwMjA1QTU5MDdGRUFFMEY1MjEwMkU2Cis6MTAwNDUwMDAwNUE1OTA3RkVBRTBGNTM1RDIwMjQzODgxMEQyRUJEMkIxCis6MTAwNDYwMDBBODAyMDVBNTkwN0YwMEU1MzVGMDkwN0ZCNTc0MDFGMEY2Cis6MTAwNDcwMDAwMjA1QTU5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjA3Cis6MTAwNDgwMDA3MDVCQTIwMEU0MzNGRjI1RTBGRkEyMDVFNDMzNEY5MDQ4Cis6MTAwNDkwMDA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA1QTVFNEJDCis6MTAwNEEwMDA5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QTU5MDU0Cis6MTAwNEIwMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTc1Cis6MTAwNEMwMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTQwMTkwN0YwMEFBCis6MTAwNEQwMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDVBNTkwN0ZCNDFDCis6MTAwNEUwMDBFMDQ0MDFGMDAyMDVBNTkwN0ZFOEUwMjRGRTYwMUQyNEIxCis6MTAwNEYwMDAwMjYwMDMwMjA1QTU5MDdGRUFFMEI0MDEwNUMyMDAwMjk0Cis6MTAwNTAwMDAwNUE1OTA3RkI0RTA0NDAxRjAwMjA1QTU5MDdGRUFFMEU0Cis6MTAwNTEwMDA3MDM0OTA3RkVDRTBGRjU0MDdGRUY1NEVFRjMwRTcwM0I4Cis6MTAwNTIwMDA0MzRFMTA5MDdGRDdFNTRFRjBFNTRFNDQyMEYwRUZGNEI3Cis6MTAwNTMwMDA1NDgwRkRDNDU0MEYyRTI1RTAyNEI0RjU4MkU0MzQ3RkFBCis6MTAwNTQwMDBGNTgzRTRGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDQyCis6MTAwNTUwMDA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDRECis6MTAwNTYwMDAwMTA0RDIwMDgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MEQ3Cis6MTAwNTcwMDA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkQ5Cis6MTAwNTgwMDBGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4MzlGCis6MTAwNTkwMDA3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkY4Cis6MEMwNUEwMDBCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjBBRAorOjAxMDVBQzAwMjIyQworOjEwMDVBRDAwNzU0QUZGNzU0OUZGNzU0ODBGNzU0NzAwRDIwM0MyMDY5RQorOjEwMDVCRDAwQzIwMkMyMDBDMjA1QzIwMTkwMDMwMDc0MTlGMEU0OTA5QQorOjEwMDVDRDAwMDFCQ0YwQzIwNDkwMDFDMEYwQTNGMEMyQUZDMkE4MTJFQQorOjEwMDVERDAwMEMyMkU0OTAwMkFGRjA5MDAxQkRGMDkwMDEwMEYwQTM2OQorOjEwMDVFRDAwRjBBM0YwQTNGMEEzRjBBMzc0MTBGMEEzNzQwMUYwQTM5MworOjEwMDVGRDAwNzQwOEYwN0UwMTdGMDAxMjE5QzE3NTRDMTI3NTREMEFGOQorOjEwMDYwRDAwOTAwMTBCRTBGRjA1NERFNTREQUM0QzcwMDIwNTRDMTQwRgorOjEwMDYxRDAwRjU4MjhDODNFRkYwOTAwMTBDRTA0NDgwRkYwNTRERTVGMQorOjEwMDYyRDAwNERBQzRDNzAwMjA1NEMxNEY1ODI4QzgzRUZGMDkwMDFBQgorOjEwMDYzRDAwMERFMEZGMDU0REU1NERBQzRDNzAwMjA1NEMxNEY1ODJGNworOjEwMDY0RDAwOEM4M0VGRjA5MDAxMEVFMEZGMDU0REU1NERBQzRDNzA0NQorOjEwMDY1RDAwMDIwNTRDMTRGNTgyOEM4M0VGRjA5MDEyMEFFNDkzRkY5RgorOjEwMDY2RDAwNzQwMTkzOTAwMTFDQ0ZGMEEzRUZGMDkwMDExQ0UwRkZGQgorOjEwMDY3RDAwQTNFMEZFRUY2RUZGOTAwMTFDRjBBM0UwNkZGRkYwOTA4MgorOjEwMDY4RDAwMDExQ0UwNkZGMEUwRkVBM0UwRkZFNEZDRkQ3NTUyMTBFRAorOjEwMDY5RDAwNzU1MzAyNzU1NDEyNzU1NUFDMTI5NDI2NzU0QzEyNzUxRQorOjEwMDZBRDAwNERCMjkwMDEwREUwRkYwNTRERTU0REFDNEM3MDAyMDVDRQorOjEwMDZCRDAwNEMxNEY1ODI4QzgzRUZGMDkwMDEwRUUwRkYwNTRERTVCMworOjEwMDZDRDAwNERBQzRDNzAwMjA1NEMxNEY1ODI4QzgzRUZGMDkwN0Y4RAorOjEwMDZERDAwOTJFMEZGQzQ1NDBGMjQ0MUZGMDU0REU1NERBQzRDNzAyNQorOjEwMDZFRDAwMDIwNTRDMTRGNTgyOEM4M0VGRjAwNTRERTU0REFFNENCMworOjEwMDZGRDAwNzAwMjA1NEMxNEY1ODI4RTgzRTRGMDc1ODIxMDc1ODNCQgorOjEwMDcwRDAwMDFFMEZDQTNFMEZEQTNFMEZFQTNFMEZGOTAwMTE4MTJDMQorOjEwMDcxRDAwQTNFRTdFMDE3RjE4MTI4NkJFOTAwMTE4RTBGQ0EzRTBDNworOjEwMDcyRDAwRkRBM0UwRkVBM0UwRkY3NTUyMEE3NTUzMDY3NTU0MTI0MgorOjEwMDczRDAwNzU1NUI4MTI5NDI2RDJFODQzRDgyMDkwN0ZBQjc0RkYzQworOjEwMDc0RDAwRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQyNQorOjEwMDc1RDAwMUZGMEQyQUYyMDAxMkUyMDAxMkJBMjAzOTIwNzEyMDkwOAorOjEwMDc2RDAwQzU3NTQ2NTA3NTQ1NkQ3NTQ0MzM3NTQzMDAyMDAxRTREQworOjEwMDc3RDAwN0ZGRjdFRkY3REZGN0NGRjc4NDMxMkEzRDdFQzRENEVBQworOjEwMDc4RDAwNEY2MEQxODBFODMwMDEwNTEyMDM3MEMyMDEzMDA2MEFCNgorOjEwMDc5RDAwMTIwOUZCNTAwMzEyMEFFOEMyMDYxMjk2NUU5MDAxQkRDMworOjEwMDdBRDAwRTA2MDBDMTI5MjAxRTQ5MDAxQkRGMDkwN0ZEM0YwOTBDNworOjEwMDdCRDAwMDJBRkUwQjQwRjAzMTI5OUI5MTJBMDk1RTRGRjc0MDFEMgorOjEwMDdDRDAwQTgwNzA4ODAwMkMzMzNEOEZDRkU5MDAxQkNFMDVFNjAzMAorOjEwMDdERDAwMTQ3NDI4MkZGOEU2RDM5NDBBNDAwNDdFMDE4MDAyN0UxQgorOjEwMDdFRDAwMDA4RTRCODAwMzc1NEIwMTc0NjgyRkY1ODJFNDM0MjAyNQorOjEwMDdGRDAwRjU4M0U1NEJGMDBGQkYwNEM1RTUyQ0QzOTQwQTQwMDRGNworOjBFMDgwRDAwN0YwMTgwMDI3RjAwOTAyMDZDRUZGMDAyMDc5MkM2Cis6MDEwODFCMDAyMkJBCis6MDQwODFDMDA1M0Q4RUYzMjhDCis6MTAwODIwMDBFNTMzQzM5NDAxNDAwRTkwN0Y5M0UwNDQzMEYwOTA3RjE1Cis6MTAwODMwMDA5NUUwNDRDMEYwN0ZGNDdFMDExMjA5QUU5MDdGOTZFMDBGCis6MTAwODQwMDA1NEZFRjA3RjBBN0UwMDEyMDlBRTkwN0Y5NkUwNDQwOEM1Cis6MTAwODUwMDBGMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NEZCRjA3RjlBCis6MTAwODYwMDAwNTdFMDAxMjA5QUVFNTMzQzM5NDAxNTAwRTdGMDI3RDcwCis6MTAwODcwMDBGRjEyODJFQTdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA0NDY3Cis6MTAwODgwMDAwMkYwRTA1NDdGRjA3RjA1N0UwMDEyMDlBRTkwN0Y5NjYzCis6MTAwODkwMDBFMDQ0NDBGMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NDYwCis6MTAwOEEwMDBCRkYwN0YzMjdFMDAxMjA5QUU5MDdGOTZFMDQ0NDBGMEE4Cis6MDgwOEIwMDA3RjMyN0UwMDEyMDlBRTIyMjYKKzoxMDA4QjgwMDkwN0Y5NkUwNTRGREYwRTA0NDgwRjA3RjBBN0UwMDEyQkQKKzoxMDA4QzgwMDA5QUVFNTMzQzM5NDAxNTAwRTdGMDJFNEZEMTI4MkVBQkIKKzoxMDA4RDgwMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NEJGRjA3RjA1MzkKKzoxMDA4RTgwMDdFMDAxMjA5QUU5MDdGOTZFMDQ0MDRGMDdGMDU3RTAwRkEKKzoxMDA4RjgwMDEyMDlBRTkwN0Y5NkUwNTRGN0YwN0YwNTdFMDAxMjA5NEEKKzoxMDA5MDgwMEFFOTA3Rjk2RTA0NDAxRjA3RjA1N0UwMDEyMDlBRUU1QzcKKzoxMDA5MTgwMDMzQzM5NDAxNDAwRTkwN0Y5M0UwNTRDRkYwOTA3Rjk1QkQKKzowODA5MjgwMEUwNTQzRkYwMTIwQjAwMjIyNQorOjEwMDkzMDAwOTAwQUY0RTQ5MzcwNzY5MDdGOTM3NDMwRjA5MDdGOTRGMworOjEwMDk0MDAwNzQzQ0YwOTA3Rjk1NzRDNkYwN0YwQTdFMDAxMjA5QUU2OQorOjEwMDk1MDAwRTQ5MDdGOUNGMDkwN0Y5Njc0MDhGMDkwN0Y5Qzc0Q0YxOQorOjEwMDk2MDAwRjA3RjBBN0UwMDEyMDlBRTkwMjA3MEUwRkZDNDU0MEZBMQorOjEwMDk3MDAwRjUzM0MzOTQwMTUwMDc5MDdGOTZFMDQ0ODBGMEU0OTBGMworOjEwMDk4MDAwN0Y5N0YwOTA3RjlENzQwMkYwRTUzM0MzOTQwMTQwMEI5NAorOjEwMDk5MDAwRTQ5MDdGOThGMDkwN0Y5RTc0QzBGMDkwN0ZFMjc0MTI5NAorOjBFMDlBMDAwRjAxMjA4MjA3NTgyRjQ3NTgzMEE3NEZGRjAyMkFECis6MTAwOUFFMDA4RTVEOEY1RUU1NUUxNTVFQUU1RDcwMDIxNTVENEU2MDBFCis6MDcwOUJFMDAwNTEyMDlFQTgwRUUyMjk4Cis6MTAwOUM1MDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAwNzA0RTA0NEEzCis6MTAwOUQ1MDAwMkYwN0ZEMDdFMDcxMjA5QUU5MDdGRDZFMDU0RjdGMDgzCis6MDUwOUU1MDBFMDQ0MDRGMDIyRDMKKzoxMDA5RUEwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjAKKzowMTA5RkEwMDIyREEKKzowNTA5RkIwMDEyMDhCOEQzMjIzMAorOjEwMEEwMDAwMDIwQzRFMDAwMjBDODEwMDAyMEM2NjAwMDIwQ0MwMDBCOQorOjEwMEExMDAwMDIwQ0FBMDAwMjBBRUQwMDAyMEFFRTAwMDIwQUVGMDAzMAorOjEwMEEyMDAwMDIwQ0RCMDAwMjBEQ0IwMDAyMEQxNzAwMDIwRTJCMDBBMgorOjEwMEEzMDAwMDIwRDUzMDAwMjBFOEIwMDAyMEQ4RjAwMDIwRUVCMDAyMAorOjEwMEE0MDAwMDIwQUYwMDAwMjBBRjIwMDAyMEFGMTAwMDIwQUYzMDBCMAorOjA4MEE1MDAwMDIwRjRCMDAwMjBGNjEwMEQwCis6MDIwQTU4MDA4RjRGQkUKKzoxMDBBNUEwMEU0RjU1MDc1NTFGRjc1NTIxMjc1NTM2QUFCNTFBQTUyOUIKKzoxMDBBNkEwMEE5NTM5MDAwMDExMkEyNTRCNDAzMURBRjUwMDU1MEVGRDAKKzoxMDBBN0EwMEI1NEYwMTIyMTJBMjNCN0UwMDI5RkZFRTNBQTkwNzc1NjMKKzowRTBBOEEwMDUxRkZGNTUyODk1MzgwRDQ3QjAwN0EwMDc5MDAyOQorOjAxMEE5ODAwMjIzQgorOjEwMEE5OTAwRTRGRTc1NTFGRjc1NTIxMjc1NTMxMkFCNTFBQTUyQTk1MgorOjEwMEFBOTAwNTM5MDAwMDExMkEyNTQ2NDAyNzAyREFEMDYwRUVEQjVFQgorOjEwMEFCOTAwMDcwMTIyOTAwMDAyMTJBMkFEODVGMDRGRjU1MDYyNEY1NgorOjEwMEFDOTAwRTU0RjYyNTBFNTUwNjI0RjI5RkRFNTRGM0FBOTA1NzU5QQorOjBFMEFEOTAwNTFGRkY1NTI4OTUzODBDMzdCMDA3QTAwNzkwMEVCCis6MDEwQUU3MDAyMkVDCis6MDUwQUU4MDAxMjA4MjBEMzIyREEKKzowMTBBRUQwMDMyRDYKKzowMTBBRUUwMDMyRDUKKzowMTBBRUYwMDMyRDQKKzowMTBBRjAwMDMyRDMKKzowMTBBRjEwMDMyRDIKKzowMTBBRjIwMDMyRDEKKzowMTBBRjMwMDMyRDAKKzowMzBBRjQwMDAwMDQwN0Y0Cis6MDkwQjAwMDA5MDdGRDZFMDQ0ODBGMDgwNzQ3RgorOjEwMEI3RDAwNDM4NzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjI3QgorOjEwMEI4RDAwNTM4RUY3RTU4OTU0RjE0NDAxRjU4OTc1OENCMUQyQTlERAorOjEwMEI5RDAwNzU5ODQwNzVDQkZGNzVDQUYzNzVDODM0RTRGRjdGMDVCMgorOjA3MEJBRDAwNzgyOEU0RjYwOERGRkNFNAorOjAxMEJCNDAwMjIxRQorOjEwMEJCNTAwQzBFMEMwODNDMDgyQzBEMDc1RDAwMEMwMDBDMDA2QzBGMAorOjAxMEJDNTAwMDcyOAorOjEwMEJDNjAwMzAwNDE2NzU4Q0Y4NzU4QTMwN0YyRkFFMDcxRkVFNjBERAorOjEwMEJENjAwM0M5MDIwMDA3NDU1RjA4MEYyNzU4Q0IxN0YyOEVGRDNERAorOjEwMEJFNjAwOTQyQzUwMDlBODA3RTY2MDAxMTYwRjgwRjE5MDAzMDBDNworOjEwMEJGNjAwRTA2MDAyMTRGMDkwMDFDMEUwNzAwMkEzRTA2MDBFOTA4NQorOjBEMEMwNjAwMDFDMUUwMjRGRkYwOTAwMUMwRTAzNEZGRjBEOAorOjBGMEMxMzAwRDAwN0QwMDZEMDAwRDBEMEQwODJEMDgzRDBFMDMyMkUKKzoxMDBDMjIwMEQyMDA3NThFMTAxMjA5MzBFNTMzQzM5NDAxNDAwODkwNEEKKzoxMDBDMzIwMDdGOTI3NDAyRjA4MDA1RTQ5MDdGOTJGMDEyODAwMDEyOUQKKzowQzBDNDIwMDBGN0QxMjk0RjcxMjFCMEMxMjBCOEQyMjc4Cis6MTAwQzRFMDBDMEUwQzA4M0MwODJEMjAxNTM5MUVGOTA3RkFCNzQwMTlDCis6MDgwQzVFMDBGMEQwODJEMDgzRDBFMDMyMTcKKzoxMDBDNjYwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGRDAKKzowQjBDNzYwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJEOQorOjEwMEM4MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwOTBCQgorOjEwMEM5MTAwN0ZEOEUwNzAwRDkwN0ZEOUUwNzAwN0U1MkM3MDAzNzU2NworOjA5MENBMTAwMkMxNEQwODJEMDgzRDBFMDMyODMKKzoxMDBDQUEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwNDQKKzowNjBDQkEwMDgyRDA4M0QwRTAzMjdECis6MTAwQ0MwMDBDMEUwQzA4M0MwODIzMDAyMDJEMjA2NTM5MUVGOTA3RjExCis6MEIwQ0QwMDBBQjc0MDhGMEQwODJEMDgzRDBFMDMyN0IKKzoxMDBDREIwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTA1MzkxRUY5MDdGMUQKKzoxMDBDRUIwMEE5NzQwMkYwRTUzNDMwRTAxM0U1MzIzMEUwMDc5MDIwRDAKKzoxMDBDRkIwMDA0RTA0NDAxRjA5MDIwMDFFMDQ0MDFGMEU1MkM3MDAzODYKKzowQzBEMEIwMDc1MkMxNEQwRDBEMDgyRDA4M0QwRTAzMjAwCis6MTAwRDE3MDBDMEUwQzA4M0MwODJDMEQwNzVEMDEwNTM5MUVGOTA3RkUwCis6MTAwRDI3MDBBOTc0MDRGMEU1MzQzMEUxMTNFNTMyMzBFMTA3OTAyMDhGCis6MTAwRDM3MDAwQ0UwNDQwMUYwOTAyMDA5RTA0NDAxRjBFNTJDNzAwMzM5Cis6MEMwRDQ3MDA3NTJDMTREMEQwRDA4MkQwODNEMEUwMzJDNAorOjEwMEQ1MzAwQzBFMEMwODNDMDgyQzBEMDc1RDAxMDUzOTFFRjkwN0ZBNAorOjEwMEQ2MzAwQTk3NDA4RjBFNTM0MzBFMjEzRTUzMjMwRTIwNzkwMjA0RAorOjEwMEQ3MzAwMTRFMDQ0MDFGMDkwMjAxMUUwNDQwMUYwRTUyQzcwMDNFRAorOjBDMEQ4MzAwNzUyQzE0RDBEMEQwODJEMDgzRDBFMDMyODgKKzoxMDBEOEYwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTA1MzkxRUY5MDdGNjgKKzoxMDBEOUYwMEE5NzQxMEYwRTUzNDMwRTMxM0U1MzIzMEUzMDc5MDIwMDcKKzoxMDBEQUYwMDFDRTA0NDAxRjA5MDIwMTlFMDQ0MDFGMEU1MkM3MDAzQTEKKzowQzBEQkYwMDc1MkMxNEQwRDBEMDgyRDA4M0QwRTAzMjRDCis6MTAwRENCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDY5Cis6MTAwRERCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDJGMEU1MzQyMEI4Cis6MTAwREVCMDBFMDA2OTA3RkM3RjA4MDIyRTUzMTMwRTAwQTkwN0ZDN0E0Cis6MTAwREZCMDBFMDkwMDJGOEYwODAxM0U1MjIzMEUwMDc5MDIwMDRFMDQ5Cis6MTAwRTBCMDA0NDAyRjA5MDIwMDFFMDQ0MDJGMEU1MkM3MDAzNzUyQ0I1Cis6MTAwRTFCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjhECis6MTAwRTJCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDA4Cis6MTAwRTNCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDRGMEU1MzQyMDU1Cis6MTAwRTRCMDBFMTA2OTA3RkM5RjA4MDIyRTUzMTMwRTEwQTkwN0ZDOTNECis6MTAwRTVCMDBFMDkwMDJGOUYwODAxM0U1MjIzMEUxMDc5MDIwMENFMERFCis6MTAwRTZCMDA0NDAyRjA5MDIwMDlFMDQ0MDJGMEU1MkM3MDAzNzUyQzRECis6MTAwRTdCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjJECis6MTAwRThCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMEE4Cis6MTAwRTlCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDhGMEU1MzQyMEYxCis6MTAwRUFCMDBFMjA2OTA3RkNCRjA4MDIyRTUzMTMwRTIwQTkwN0ZDQkQ3Cis6MTAwRUJCMDBFMDkwMDJGQUYwODAxM0U1MjIzMEUyMDc5MDIwMTRFMDc0Cis6MTAwRUNCMDA0NDAyRjA5MDIwMTFFMDQ0MDJGMEU1MkM3MDAzNzUyQ0U1Cis6MTAwRURCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkNECis6MTAwRUVCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDQ4Cis6MTAwRUZCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MTBGMEU1MzQyMDg5Cis6MTAwRjBCMDBFMzA2OTA3RkNERjA4MDIyRTUzMTMwRTMwQTkwN0ZDRDcwCis6MTAwRjFCMDBFMDkwMDJGQkYwODAxM0U1MjIzMEUzMDc5MDIwMUNFMDA5Cis6MTAwRjJCMDA0NDAyRjA5MDIwMTlFMDQ0MDJGMEU1MkM3MDAzNzUyQzdDCis6MTAwRjNCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjZDCis6MTAwRjRCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTk3NDgwRjBEMDMyCis6MDYwRjVCMDA4MkQwODNEMEUwMzJEOQorOjEwMEY2MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBNzQ4MEYwOTA1QgorOjBDMEY3MTAwMDFCRDc0RkZGMEQwODJEMDgzRDBFMDMyQ0MKKzoxMDBGN0QwMDkwMDEyMDEyQTNGQTAwMDAyNTgwOTAwMTI0NzQwOEYwM0UKKzoxMDBGOEQwMEEzNzQwMUYwQTM3NDZFRjBBM0YwQTM3NDEzRjBBMzc0MTMKKzoxMDBGOUQwMDExRjBFNEEzRjBBM0YwOTAwMTFFRjA5MDAxMUVFMEZGMEMKKzoxMDBGQUQwMDA0QTNGMEVGNzVGMDBEQTQyNDAxRjk3NDAzMzVGMEE4MzYKKzoxMDBGQkQwMDAxRkM3RDAxN0IwMTdBMDE3OTFGN0UwMDdGMEQxMkEyNUMKKzoxMDBGQ0QwMDEyN0UwMTdGMUYxMjg3QTY5MDAxMUVFMDA0RjBFMEMzODAKKzoxMDBGREQwMDk0MDQ0MEM3RTRGNTI3OTAwMTFFRjA5MDAxMUVFMEZGMzgKKzoxMDBGRUQwMEMzOTQwNDUwMUE3NEY4MkZGNTgyRTQzNDAyRjU4M0U0QTcKKzoxMDBGRkQwMEYwNzQyMzJGRjhFNEY2OTAwMTFFRTAwNEYwODBEQ0U0OTkKKzoxMDEwMEQwMEY1MzRFNUMwNjAyRjkwMDExRTc0MDFGMDkwMDExRUUwRDMKKzoxMDEwMUQwMEZGRDM5NDA0NTAxRkVGMTRGRjc0MDFBODA3MDg4MDAyM0EKKzoxMDEwMkQwMEMzMzNEOEZDNDIzNDdFMDE3RjFFMTI4NDQxOTAwMTFFRDEKKzoxMDEwM0QwMEUwMDRGMDgwRDdFNEY1M0VGNTIyRjUzMUY1MzI5MDAxNkMKKzoxMDEwNEQwMDFFRjA5MDAxMUVFMEZGNzVGMDA4QTQyNDA2RjU4MkU0NjEKKzoxMDEwNUQwMDM0MjBGNTgzRTA1NEYwRkU3NEM1MkZGNTgyRTQzNDAxOUQKKzoxMDEwNkQwMEY1ODNFRUYwNzQzQTJGRjhBNjA2NzQzNjJGRjhFNEY2RjEKKzoxMDEwN0QwMDc0MkQyRkY4RTRGNjc0RkMyRkY1ODJFNDM0MDJGNTgzMTkKKzoxMDEwOEQwMEU0RjA5MDAxMUVFMDA0RjBFMEI0MDRCNjkwMjA2MEUwQkUKKzowNDEwOUQwMDU0MEZGNTRFQTkKKzoxMDEwQTEwMDcwMDMwMjExMjZFNDkwMDExRUYwOTAwMTFFRTBGRkMzQkYKKzoxMDEwQjEwMDk0MDQ1MEU0NzQwMUE4MDcwODgwMDJDMzMzRDhGQzU1OTYKKzoxMDEwQzEwMDRFNjA1QTkwMDExRUUwRkU3NUYwMDhBNDI0MDJGNTgyREMKKzoxMDEwRDEwMEU0MzQyMEY1ODNFMEZGRUU3NUYwMDhBNDI0MDVGNTgyRTEKKzoxMDEwRTEwMEU0MzQyMEY1ODNFMEVFNzVGMDA4QTQyNDA2RjU4MkU0RUIKKzoxMDEwRjEwMDM0MjBGNTgzRTBGRkFGMDZFRTc1RjAwREE0MjQwMkY1NzAKKzoxMDExMDEwMDgyRTQzNDAzRjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwNjkKKzoxMDExMTEwMEY1NjY4RTY1OEQ2NDhDNjM3RDA2MTI4M0RGOTAwMTFFRkEKKzowNjExMjEwMEUwMDRGMDgwODUyMkNECis6MDIxMTI3MDBBQzA3MTMKKzoxMDExMjkwMDkwN0ZBNUUwNDQ4MEYwRUMyNUUwNDQ0MTkwN0ZBNkYwNTMKKzoxMDExMzkwMDdCM0NBRjAzMUJFRjcwMTY5MDdGQTVFMDQ0NDBGMDkwMTUKKzoxMDExNDkwMDdGQTZFMEZEN0QzMkFGMDUxREVGNjBENDgwRjg5MDdGNkEKKzoxMDExNTkwMEE1RTBGRDMwRTBEQzIwRTEwOUUwNDQ0MEYwN0VGRjdGQkUKKzoxMDExNjkwMEY5MjJFRDMwRTIwQzkwN0ZBNUUwNDQ0MEYwN0VGRjdGNEMKKzoxMDExNzkwMEZBMjI5MDdGQTVFMDQ0MjBGMDkwN0ZBNkUwRkQ3QjFFMzcKKzoxMDExODkwMEFGMDMxQkVGNzAxNjkwN0ZBNUUwNDQ0MEYwOTA3RkE2NTcKKzoxMDExOTkwMEUwRkQ3RDMyQUYwNTFERUY2MDg2ODBGODkwN0ZBNUUwMDgKKzoxMDExQTkwMEZEMjBFMERDN0IzQ0FGMDMxQkVGNzAxOTkwN0ZBNUUwQ0QKKzoxMDExQjkwMDQ0NDBGMDkwN0ZBNkUwRkQ3RDMyQUYwNTFERUY3MDAzM0UKKzoxMDExQzkwMDAyMTEyOTgwRjU5MDdGQTVFMEZEMzBFMEQ5MzBFMjA5RDAKKzoxMDExRDkwMEUwNDQ0MEYwN0VGRjdGRkEyMkMyQUY5MDdGQTVFMDQ0NTEKKzowQzExRTkwMDQwRjA5MDdGQTZFMEZERDJBRkZGN0UwMDNBCis6MDExMUY1MDAyMkQ3Cis6MTAxMjAwMDAxMjAxMDAwMUZGRkZGRjQwMTAwNzAxODA0MjAwMDEwMkIwCis6MTAxMjEwMDAwMzAxMDkwMjU4MDAwMTAxMDQ4MDNDMDkwNDAwMDAwQThFCis6MTAxMjIwMDBGRkZGRkYwNTA3MDU4MTAyNDAwMDAwMDcwNTAxMDI0MDlFCis6MTAxMjMwMDAwMDAwMDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDhFCis6MTAxMjQwMDAwNzA1ODMwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTcwCis6MTAxMjUwMDA4NDAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1ODcwMkUxCis6MTAxMjYwMDA0MDAwMDAwNzA1MDcwMjQwMDAwMDA0MDMwOTA0MjQwM0FFCis6MTAxMjcwMDA0MzAwNkYwMDZFMDA2RTAwNjUwMDYzMDA3NDAwMjAwMDg0Cis6MTAxMjgwMDA1NDAwNjUwMDYzMDA2ODAwMjAwMDQ5MDA2RTAwNjMwMEEwCis6MTAxMjkwMDAyRTAwMTgwMzU3MDA2ODAwNjkwMDc0MDA2NTAwNDgwMEJDCis6MTAxMkEwMDA0NTAwNDEwMDU0MDAyRDAwMzQwMDFBMDM1ODAwNTgwMDM2Cis6MTAxMkIwMDAyRDAwNTgwMDU4MDAyRDAwNTgwMDU4MDA1ODAwNTgwMEM0Cis6MTAxMkMwMDA1ODAwNTgwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDUyCis6MTAxMkQwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEE1Cis6MTAxMkUwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzQyCis6MTAxMkYwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMEMyCis6MTAxMzAwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMEUxCis6MDIxMzEwMDAwMDAwREIKKzoxMDEzMTIwMEMwRTBDMEYwQzA4M0MwODJDMDg1QzA4NEMwODZDMEQwOTcKKzoxMDEzMjIwMDc1ODYwMDc1RDAxODkwMjA2MEUwNTQwRkY1RjA3MDExQUEKKzoxMDEzMzIwMEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRjBEMEUwRjcKKzoxMDEzNDIwMDMyNzU4NjAwMTBGMDBCMTBGMTEyMTBGMjE5MTBGMzIwMTIKKzoxMDEzNTIwMDgwRDRFNTI4NzAwMzc1MjgxNDAyMTM3Q0U1Mjk3MDAzRjQKKzoxMDEzNjIwMDc1MjkxNDAyMTUwREU1MkE3MDAzNzUyQTE0MDIxNjlFQkEKKzoxMDEzNzIwMEU1MkI3MDAzNzUyQjE0MDIxODJGOTAyMDAyRTA1NDNGQzYKKzoxMDEzODIwMDIwRTIzQTIwRTEwQjIwRTQwQjIwRTUxNDYwMDkwMjEzNkQKKzoxMDEzOTIwMDQzMDIxNDY1MDIxMzQzNDM4MjA0RTBGNTNBMDIxMzQzMDUKKzoxMDEzQTIwMDQzODIwNEUwNDMyRDAxMDIxMzQzNTM4MkY4NDM4MjA1MzIKKzoxMDEzQjIwMEUwNDIzNjUzODJGQkUwNTRGQkYwMDIxMzQzMzBFMTAyNzkKKzoxMDEzQzIwMDgwRThGNTg1RTUzMjMwRTAwQTUzODJGODQzODIwNEUwOTIKKzoxMDEzRDIwMDU0RkVGMEU1ODUyMEUzNTY5MDIwNTA3NDAwRjA5MDIwRjIKKzoxMDEzRTIwMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjA5MDdGRTMwNTg2N0MKKzoxMDEzRjIwMDkwN0U4MDA1ODZFNTg1RjBBM0U1ODRGMDA1ODY5MDdGRTIKKzoxMDE0MDIwMEU1RTUzRkZEMDMwMzAzRkVGMEYwRjBGMEYwRjBGMEYwNEQKKzoxMDE0MTIwMERFRjY5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDkwMjYKKzoxMDE0MjIwMDdGQjdFREYwOTAyMDAxRTA1NEZFRjAwMjEzNDM3RjQwQkQKKzoxMDE0MzIwMDkwN0U4MDA1ODY5MDIwMDBFNTg0RkUyNDA1RkQ4RDg0NDMKKzoxMDE0NDIwMEUwOEU4NDMwRTAwOUUwMDU4NkYwQTMwNTg2REZFRjA1MzMKKzoxMDE0NTIwMDg2QzM3NDQwOUY5MDdGQjdGMDA1ODZBM0UwNTRGRUYwRTgKKzoxMDE0NjIwMDAyMTM0MzUzMkRGQUU1MjM2MDA4NzUyMzAwRDJFN0ZFRTkKKzoxMDE0NzIwMDgwMEE5MDdGQzdFMEZFNzAwMzAyMTRGRjkwMjA1MDc0MzAKKzoxMDE0ODIwMDAwRjA5MDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDkwMjgKKzoxMDE0OTIwMDdGRTMwNTg2OTA3RTQwMDU4NkU1ODVGMEEzRTU4NEYwMkUKKzoxMDE0QTIwMDA1ODY5MDdGRTVFRTMwRTcwODA1ODZFMDI0MzhGMDA1RjIKKzoxMDE0QjIwMDg2RUU1NDdGRkU1NDA3RkJFRTU0Nzg2MDMwMDMwMzAzM0MKKzoxMDE0QzIwMDMwRTMwNDc0MDc3QjA4RkRGQ0UwRTBFMEUwRTBFMEUwRUMKKzoxMDE0RDIwMEUwRERGNkVCRkU2MDE5RUM2NDA3NzAxMThCMjM5MDdGNjAKKzoxMDE0RTIwMEUyRTA1NEJGRjA5MDIwNTg3NDAwRjA4MDFCRTBERUZENzMKKzoxMDE0RjIwMDkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwOTAyMDAxRjkKKzoxMDE1MDIwMEUwNTRGREYwOTA3RkM3RjAwMjEzNDM5MDIwMEFFMDU0QUMKKzoxMDE1MTIwMDNGMjBFMjNBMjBFMTBCMjBFNDBCMjBFNTE0NjAwOTAyQUYKKzoxMDE1MjIwMDEzNDMwMjE1RjYwMjEzNDM0MzgyMDRFMEY1M0IwMjEzMTAKKzoxMDE1MzIwMDQzNDM4MjA0RTA0MzJFMDEwMjEzNDM1MzgyRjg0MzgyNjEKKzoxMDE1NDIwMDA1RTA0MjM3NTM4MkZCRTA1NEZCRjAwMjEzNDMzMEUxRTMKKzoxMDE1NTIwMDAyODBFOEY1ODVFNTMyMzBFMTBBNTM4MkY4NDM4MjA0REQKKzoxMDE1NjIwMEUwNTRGRUYwRTU4NTIwRTM1NjkwMjA1MDc0MDFGMDkwOUYKKzoxMDE1NzIwMDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDkwN0ZFMzA1NTAKKzoxMDE1ODIwMDg2OTA3RTAwMDU4NkU1ODVGMEEzRTU4NEYwMDU4NjkwQzkKKzoxMDE1OTIwMDdGRTVFNTQwRkQwMzAzMDNGRUYwRjBGMEYwRjBGMEYwMkMKKzoxMDE1QTIwMEYwREVGNjkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwMzUKKzoxMDE1QjIwMDkwN0ZCOUVERjA5MDIwMDlFMDU0RkVGMDAyMTM0MzdGRDIKKzoxMDE1QzIwMDQwOTA3RTAwMDU4NjkwMjAwOEU1ODRGRTI0MDVGRDhENkUKKzoxMDE1RDIwMDg0RTA4RTg0MzBFMDA5RTAwNTg2RjBBMzA1ODZERkVGMjMKKzoxMDE1RTIwMDA1ODZDMzc0NDA5RjkwN0ZCOUYwMDU4NkEzRTA1NEZFNDAKKzoxMDE1RjIwMEYwMDIxMzQzNTMyRUZBRTUyNDYwMDg3NTI0MDBEMkU3NjMKKzoxMDE2MDIwMEZFODAwQTkwN0ZDOUUwRkU3MDAzMDIxNjkwOTAyMDUwN0YKKzoxMDE2MTIwMDc0MDFGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwQjEKKzoxMDE2MjIwMDkwN0ZFMzA1ODY5MDdEQzAwNTg2RTU4NUYwQTNFNTg0N0QKKzoxMDE2MzIwMEYwMDU4NjkwN0ZFNUVFMzBFNzA4MDU4NkUwMjQzOEYwNzUKKzoxMDE2NDIwMDA1ODZFRTU0N0ZGRTU0MDdGQkVFNTQ3ODYwMzAwMzAzQTgKKzoxMDE2NTIwMDAzMzBFMzA0NzQwNzdCMDhGREZDRTBFMEUwRTBFMEUwMzcKKzoxMDE2NjIwMEUwRTBEREY2RUJGRTYwMTlFQzY0MDc3MDExOEIyNDkwNkMKKzoxMDE2NzIwMDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDgwMUJFMERFNUYKKzowRTE2ODIwMEZEOTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjAxRAorOjEwMTY5MDAwOTAyMDA5RTA1NEZERjA5MDdGQzlGMDAyMTM0MzkwMjBBMAorOjEwMTZBMDAwMTJFMDU0M0YyMEUyM0EyMEUxMEIyMEU0MEIyMEU1MTQ0NQorOjEwMTZCMDAwNjAwOTAyMTM0MzAyMTc4NzAyMTM0MzQzODIwNEUwRjVEMworOjEwMTZDMDAwM0MwMjEzNDM0MzgyMDRFMDQzMkYwMTAyMTM0MzUzODIzRAorOjEwMTZEMDAwRjg0MzgyMDVFMDQyMzg1MzgyRkJFMDU0RkJGMDAyMTNFQQorOjEwMTZFMDAwNDMzMEUxMDI4MEU4RjU4NUU1MzIzMEUyMEE1MzgyRjhDMgorOjEwMTZGMDAwNDM4MjA0RTA1NEZFRjBFNTg1MjBFMzU2OTAyMDUwNzRDOAorOjEwMTcwMDAwMDJGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwOTBBNQorOjEwMTcxMDAwN0ZFMzA1ODY5MDdEODAwNTg2RTU4NUYwQTNFNTg0RjA2RQorOjEwMTcyMDAwMDU4NjkwN0ZFNUU1NDFGRDAzMDMwM0ZFRjBGMEYwRjA1MAorOjEwMTczMDAwRjBGMEYwRjBERUY2OTA3RkUyRTA1NEJGRjA5MDIwNTgzOQorOjEwMTc0MDAwNzQwMEYwOTA3RkJCRURGMDkwMjAxMUUwNTRGRUYwMDJBOQorOjEwMTc1MDAwMTM0MzdGNDA5MDdEODAwNTg2OTAyMDEwRTU4NEZFMjQxMQorOjEwMTc2MDAwMDVGRDhEODRFMDhFODQzMEUwMDlFMDA1ODZGMEEzMDU1OAorOjEwMTc3MDAwODZERkVGMDU4NkMzNzQ0MDlGOTA3RkJCRjAwNTg2QTM4QworOjEwMTc4MDAwRTA1NEZFRjAwMjEzNDM1MzJGRkFFNTI1NjAwODc1MjU1NworOjEwMTc5MDAwMDBEMkU3RkU4MDBBOTA3RkNCRTBGRTcwMDMwMjE4MjFBMgorOjEwMTdBMDAwOTAyMDUwNzQwMkYwOTAyMDU4NzQwMUYwOTA3RkUyRTA5NQorOjEwMTdCMDAwNDQ0MEYwOTA3RkUzMDU4NjkwN0Q0MDA1ODZFNTg1RjAwNgorOjEwMTdDMDAwQTNFNTg0RjAwNTg2OTA3RkU1RUUzMEU3MDgwNTg2RTAyNgorOjEwMTdEMDAwMjQzOEYwMDU4NkVFNTQ3RkZFNTQwN0ZCRUU1NDc4NjAwMworOjEwMTdFMDAwMzAwMzAzMDMzMEUzMDQ3NDA3N0IwOEZERkNFMEUwRTAxMgorOjEwMTdGMDAwRTBFMEUwRTBFMERERjZFQkZFNjAxOUVDNjQwNzcwMTE3QworOjEwMTgwMDAwOEIyNTkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwODA2OAorOjEwMTgxMDAwMUJFMERFRkQ5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBBMgorOjEwMTgyMDAwRjA5MDIwMTFFMDU0RkRGMDkwN0ZDQkYwMDIxMzQzOTAzNAorOjEwMTgzMDAwMjAxQUUwNTQzRjIwRTIzQTIwRTEwQjIwRTQwQjIwRTU5RgorOjEwMTg0MDAwMTQ2MDA5MDIxMzQzMDIxOTE4MDIxMzQzNDM4MjA0RTA4RgorOjEwMTg1MDAwRjUzRDAyMTM0MzQzODIwNEUwNDMzMDAxMDIxMzQzNTMzNgorOjEwMTg2MDAwODJGODQzODIwNUUwNDIzOTUzODJGQkUwNTRGQkYwMDJFOAorOjEwMTg3MDAwMTM0MzMwRTEwMjgwRThGNTg1RTUzMjMwRTMwQTUzODIxNAorOjEwMTg4MDAwRjg0MzgyMDRFMDU0RkVGMEU1ODUyMEUzNTY5MDIwNTBCMgorOjEwMTg5MDAwNzQwM0YwOTAyMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjAyRgorOjEwMThBMDAwOTA3RkUzMDU4NjkwN0QwMDA1ODZFNTg1RjBBM0U1ODRCRAorOjEwMThCMDAwRjAwNTg2OTA3RkU1RTU0MkZEMDMwMzAzRkVGMEYwRjBCRQorOjEwMThDMDAwRjBGMEYwRjBGMERFRjY5MDdGRTJFMDU0QkZGMDkwMjAxMAorOjEwMThEMDAwNTg3NDAwRjA5MDdGQkRFREYwOTAyMDE5RTA1NEZFRjBCOAorOjEwMThFMDAwMDIxMzQzN0Y0MDkwN0QwMDA1ODY5MDIwMThFNTg0RkUxQQorOjEwMThGMDAwMjQwNUZEOEQ4NEUwOEU4NDMwRTAwOUUwMDU4NkYwQTNBOAorOjEwMTkwMDAwMDU4NkRGRUYwNTg2QzM3NDQwOUY5MDdGQkRGMDA1ODY5NgorOjEwMTkxMDAwQTNFMDU0RkVGMDAyMTM0MzUzMzBGQUU1MjY2MDA4NzU0NQorOjEwMTkyMDAwMjYwMEQyRTdGRTgwMEE5MDdGQ0RFMEZFNzAwMzAyMTkwOAorOjEwMTkzMDAwQjI5MDIwNTA3NDAzRjA5MDIwNTg3NDAxRjA5MDdGRTIzMAorOjEwMTk0MDAwRTA0NDQwRjA5MDdGRTMwNTg2OTA3Q0MwMDU4NkU1ODUwNQorOjEwMTk1MDAwRjBBM0U1ODRGMDA1ODY5MDdGRTVFRTMwRTcwODA1ODY4NAorOjEwMTk2MDAwRTAyNDM4RjAwNTg2RUU1NDdGRkU1NDA3RkJFRTU0NzhGMQorOjEwMTk3MDAwNjAzMDAzMDMwMzMwRTMwNDc0MDc3QjA4RkRGQ0UwRTAwMAorOjEwMTk4MDAwRTBFMEUwRTBFMEUwRERGNkVCRkU2MDE5RUM2NDA3NzAxQgorOjEwMTk5MDAwMTE4QjI2OTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjA0NQorOjEwMTlBMDAwODAxQkUwREVGRDkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQ5MQorOjEwMTlCMDAwMDBGMDkwMjAxOUUwNTRGREYwOTA3RkNERjAwMjEzNDMyOQorOjAxMTlDMDAwMzJGNAorOjA0MTlDMTAwQUQwN0FDMDZCQworOjEwMTlDNTAwNzkwNkVEMjQwNEY1ODJFNDNDRjU4M0UwRkFBM0UwRkIxNworOjEwMTlENTAwNEE3MDAzMDIxQjA5RTlCNDA3MDA0MDAzMDIxQURCOTBCMQorOjEwMTlFNTAwMTlFQkY4MjgyODczMDIxQUI5MDIxQTcxMDIxQTVBMDI1OQorOjEwMTlGNTAwMUE0MDAyMUEyRjAyMUExQTAyMUEwMDkwN0ZBNUUwNDQxMworOjEwMUEwNTAwODBGMDhEODI4QzgzQTNFMEZGMjVFMDQ0QTA5MDdGQTYyMworOjEwMUExNTAwRjAxOTAyMUFEQjE5OEQ4MjhDODNFMEMzOTQyMDQwMEFFOQorOjEwMUEyNTAwQTNBM0UwOTA3RkE2RjAwMjFBREI4RDgyOEM4M0EzQTM4QgorOjEwMUEzNTAwRTBBM0UwOTA3RkE2RjAxOTAyMUFEQjkwN0ZBNUUwNDRCMQorOjEwMUE0NTAwODBGMDhEODI4QzgzQTNFMEZGMjVFMDQ0QTE5MDdGQTZFMgorOjEwMUE1NTAwRjAxOTAyMUFEQkVCNjQwMTRBNzAwODkwN0ZBNUUwNDQ5NworOjEwMUE2NTAwMjBGMDE5OTA3RkE2RTBGNTU5MTk4MDZBRUQyNDA0RjU1OAorOjEwMUE3NTAwODJFNDNDRjU4M0UwRkVBM0UwNjQwMjRFNzAwODkwN0ZBQgorOjEwMUE4NTAwQTVFMDQ0MjBGMDE5OTA3RkE2RTBGRkVEMjQwNkY1ODIzRAorOjEwMUE5NTAwRTQzQ0Y1ODNFNDc1RjAwMTEyQTI5Nzg1RjA4MkY1ODNBNQorOjEwMUFBNTAwRUZGMEVEMjQwNEY1ODJFNDNDRjU4Mzc0RkZGNUYwMTJDNAorOjEwMUFCNTAwQTI4MTgwMjI5MDdGQTVFMDQ0NDBGMDkwN0ZBNkUwRkZDMAorOjEwMUFDNTAwRUQyNDA2RjU4MkU0M0NGNTgzRTBGQUEzRTBGNTgyOEE4RAorOjEwMUFENTAwODNFRkYwN0YwODIyOTA3RkE1RTBGNTU5MzBFMEY3MzBERAorOjEwMUFFNTAwRTIwN0UwNDQ0MEYwN0YwNjIyRTlEMzk0MDI1MDAzMDI2NgorOjEwMUFGNTAwMTlDN0U1NTkzMEUxMDMwMjE5Qzc5MDdGQTVFMDQ0NDBCNQorOjA2MUIwNTAwRjA3RjA3MjI3RjA4QkIKKzowMTFCMEIwMDIyQjcKKzoxMDFCMEMwMEU1MzNDMzk0MDE1MDFDN0YwNTdFMDAxMjA5QUU3RjAyQTEKKzoxMDFCMUMwMDdERkYxMjgyRUE3RjA1N0UwMDEyMDlBRTdGMDM3REZGRjYKKzowNDFCMkMwMDEyODJFQTIyMTUKKzoxMDgwMDAwMDdCRkY3QTEyNzkxQjkwMDAwNDEyQTI1NEZEOEI1MDc1RUQKKzoxMDgwMTAwMDUxMTI3NTUyMjRFNDkwN0ZFMUYwOTA3RkUwRjBGNTRFMkMKKzoxMDgwMjAwMEY1NEY5MDAyQUVGMDkwN0ZERkYwOTA3RkRFRjA5MDdGMTIKKzoxMDgwMzAwMEE5NzRGRkYwOTA3RkFBRjBFNEZDRUMyNUUwMjRCNEY1RUQKKzoxMDgwNDAwMDgyRTQzNDdGRjU4M0U0RjAwQ0JDMTBFRUU0OTA3RkREMzUKKzoxMDgwNTAwMEYwQUYwNTFERUY3MDAzMDI4MUM2QUI1MEFBNTFBOTUyQzMKKzoxMDgwNjAwMDkwMDAwMTEyQTI1NDY0MDU2MDAzMDI4MUI1OTAwMDAzRTAKKzoxMDgwNzAwMDEyQTI1NDY0MDE2MDAzMDI4MTNDOTAwMDAyMTJBMjU0RDcKKzoxMDgwODAwMEZGNTQ3RkZDRDM5NDA3NTAwMzAyODExNkVDQzM5NDEwNzUKKzoxMDgwOTAwMDQwMDMwMjgxMTZFRjMwRTc0MkU1NEZBRTRFNzgwMkNFNDQKKzoxMDgwQTAwMEMzMTNDRTEzRDhGOUZGNzRGMDJDRjU4MkU0MzQ3RkY1QjYKKzoxMDgwQjAwMDgzRUZGMDkwN0ZFMEUwRkZFQzI0RjhGRTc0MDFBODA2NjcKKzoxMDgwQzAwMDA4ODAwMkMzMzNEOEZDNEY5MDdGRTBGMDkwMDJBRUUwMEUKKzoxMDgwRDAwMDA0RjA5MDdGRERFMDQ0ODBGMDgwM0VFNTRGQUU0RTc4QzYKKzoxMDgwRTAwMDAyQ0VDMzEzQ0UxM0Q4RjlGRjc0RTgyQ0Y1ODJFNDM0MjIKKzoxMDgwRjAwMDdGRjU4M0VGRjA5MDdGRTFFMEZGRUMyNEY4RkU3NDAxNjAKKzoxMDgxMDAwMEE4MDYwODgwMDJDMzMzRDhGQzRGOTA3RkUxRjA5MDAyQUMKKzoxMDgxMTAwMEFFRTAwNEYwODAwMzdGRkYyMjkwMDAwNDEyQTI1NDI1RjkKKzoxMDgxMjAwMDRGRjU0RkU0MzU0RUY1NEU5MDAwMDUxMkEyNTRGRUU0OTMKKzoxMDgxMzAwMDI1NEZGNTRGRUUzNTRFRjU0RTAyODFCOEFCNTBBQTUxQTIKKzoxMDgxNDAwMEE5NTI5MDAwMDMxMkEyNTRGRjY0MDI2MDA1RUY2NDAzNzkKKzoxMDgxNTAwMDcwNjA5MDAwMDIxMkEyNTRGRjU0N0ZGQ0QzOTQwNzUwMjkKKzoxMDgxNjAwMDRFRUYzMEU3MUU5MDdGREVFMEZGNzQwMUE4MDQwODgwMjgKKzoxMDgxNzAwMDAyQzMzM0Q4RkNGRTRGOTA3RkRFRjA5MDdGQUNFMDRFMjAKKzoxMDgxODAwMEYwODAzNTkwN0ZERkUwRkY3NDAxQTgwNDA4ODAwMkMzMEYKKzoxMDgxOTAwMDMzRDhGQ0ZFNEY5MDdGREZGMDkwN0ZBREUwNEVGMEVDRTcKKzoxMDgxQTAwMDI1RTAyNEM1RjU4MkU0MzQ3RkY1ODNFQ0YwODAwOTdGNzcKKzoxMDgxQjAwMEZGMjI3RkZGMjI3RkZGMjI3NDA3MjU1MkY1NTJFNDM1MEMKKzoxMDgxQzAwMDUxRjU1MTAyODA1MTIwMDMwRDkwMDJBRUUwNjAwNzkwRkUKKzowODgxRDAwMDdGQUVFMDQ0MDJGMDdGMDBFNQorOjAxODFEODAwMjI4NAorOjA0ODFEOTAwOEU1OThGNUFEMgorOjEwODFERDAwNzU1QjAzRTU1QTI0MDRGNTgyRTQzNTU5RjU4M0UwRkUxOQorOjEwODFFRDAwQTNFMDRFNzAwMzAyODJFN0U1NUI2MDRFMTQ2MDM4MTQyNQorOjEwODFGRDAwNjAyMDE0NjAwMzAyODI4QjkwN0ZBNUUwNDQ4MEYwODU5RgorOjEwODIwRDAwNUE4Mjg1NTk4M0EzRTBGRjI1RTA0NEEwOTA3RkE2RjAxNAorOjEwODIxRDAwODA2Qzg1NUE4Mjg1NTk4M0UwQzM5NDIwNDAwOUEzQTNCRAorOjEwODIyRDAwRTA5MDdGQTZGMDgwNTcxNTVCODU1QTgyODU1OTgzQTMxMAorOjEwODIzRDAwQTNFMEEzRTA5MDdGQTZGMDgwNDRFNTVBMjQwNkY1ODJFMgorOjEwODI0RDAwRTQzNTU5RjU4M0U0NzVGMDAxMTJBMjk3ODVGMDgyRjVCNgorOjEwODI1RDAwODNFMDkwN0ZBNkYwOTA3RkE1RTA0NDQwRjBFNTVBMjQ5RQorOjEwODI2RDAwMDRGNTgyRTQzNTU5RjU4Mzc0RkZGNUYwMTJBMjgxODU4QQorOjEwODI3RDAwNUE4Mjg1NTk4M0EzQTNFNDc1RjAwMTEyQTI4MTkwN0ZFMAorOjEwODI4RDAwQTVFMEY1NUMzMEUwRjczMEUyMDdFMDQ0NDBGMDdGMDYxMgorOjEwODI5RDAwMjJFNTVDMjBFMTBBOTA3RkE1RTA0NDQwRjA3RjA3MjJCMworOjEwODJBRDAwRTU1QjcwMzE3RjAxN0UwMDEyMDlBRTkwN0ZBNUUwNDQ0MQorOjEwODJCRDAwODBGMDg1NUE4Mjg1NTk4M0EzRTBGRjI1RTA0NEEwOTA4NAorOjEwODJDRDAwN0ZBNkYwOTA3RkE1RTBGNTVDMzBFMEY3MzBFMUQ1NzU0NQorOjBDODJERDAwNUIwMzAyODFFMDE1NUIwMjgxRTA3RjA4N0EKKzowMTgyRTkwMDIyNzIKKzowMjgyRUEwMEFFMDdERAorOjEwODJFQzAwN0MwMkVDMTQ2MDE1MTQ3MDFFOTA3RkE1RTA0NDgwRjBBNQorOjEwODJGQzAwRUUyNUUwNDQ0MDkwN0ZBNkYwODAwQzkwN0ZBNkVERjAzOAorOjEwODMwQzAwOTA3RkE1RTA0NDQwRjA5MDdGQTVFMEZCMzBFMEY4QkMwNgorOjEwODMxQzAwMDIwQTIwRTEwN0UwNDQ0MEYwN0YwNzIyRUIzMEUyMEEzQQorOjBFODMyQzAwOTA3RkE1RTA0NDQwRjA3RjA2MjJEQ0I2N0YwODdCCis6MDE4MzNBMDAyMjIwCis6MTA4MzNCMDBDMEUwQzA4M0MwODJDMkE5OTAwMzAwNzQxOUYwRDJBOTE3Cis6MEY4MzRCMDA1MzkxN0Y5MDAxQzRFNEYwRDA4MkQwODNEMEUwMzIxMAorOjEwODM1QTAwRUY3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUI4MkZBRjUyNAorOjEwODM2QTAwODNBM0U0RjA4QjgyOEE4M0EzQTNBM0UwRjU2MTc0QkY5RAorOjEwODM3QTAwRjA4QjgyOEE4M0EzQTNFMDQ0MTBGMDhCODI4QTgzQTNDMgorOjEwODM4QTAwQTNBM0U0RjA4QjgyOEE4M0EzRjBGOUVENjAxRDc0MDE0NAorOjEwODM5QTAwN0UwMEE4MDcwODgwMDVDMzMzQ0UzM0NFRDhGOUZGRTRBMAorOjEwODNBQTAwRUY1NTMxNjAwNDc5MDk4MDAyNzkwRDhCODI4QTgzQTNBMworOjEwODNCQTAwQTNBMzc0QkZGMDhCODI4QTgzQTNBM0UwNTRFRkYwOEI0QworOjEwODNDQTAwODI4QTgzQTNBM0EzRTU2MUYwQUUwMkFGMDM4RjgyOEVGNAorOjA0ODNEQTAwODNBM0U5RjBBMAorOjAxODNERTAwMjI3QworOjA0ODNERjAwOEY2MThENjJCQgorOjEwODNFMzAwRTRGNTY3NzQzRjJGRjg3NjA4N0Y4MDdFMjU3RDAwN0M1NworOjEwODNGMzAwMDBBQjY2QUE2NUE5NjRBODYzRDMxMkEzQjM0MDI2N0YyMgorOjEwODQwMzAwMDA3RTk2N0QwMDdDMDBBODYzRDMxMkEzQjM1MDBDNzU0NQorOjEwODQxMzAwNjc0MDc0M0YyNTYxRjg3NjEwODAwQTc1Njc4MDc0M0Y2MgorOjEwODQyMzAwMjU2MUY4NzYzOEU1Njc0NTYyNDQwMUZGRTU2MTc1RjAzQgorOjBEODQzMzAwMDhBNDI0MDJGNTgyRTQzNDIwRjU4M0VGRjA2NAorOjAxODQ0MDAwMjIxOQorOjEwODQ0MTAwOEY4MjhFODNFMDE0RjU1N0MzOTQwNDQwMDM3RkZGMjI4QgorOjEwODQ1MTAwRTU1Nzc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRjVENQorOjEwODQ2MTAwNTg4RjU5RTU1NzI1RTAyNEM2RjU4MkU0MzQ3RkY1ODMxQQorOjEwODQ3MTAwRTAyMEUxMEZFNTU3MjVFMDI0QzdGNTgyRTQzNDdGRjVEQworOjEwODQ4MTAwODNFNEYwNzQyMzI1NTdGOEU0RjZFNTU5MjQwNEY1ODJEMgorOjEwODQ5MTAwRTQzNTU4RjU4M0UwNDQwM0YwRTU1Nzc1RjAwREE0MjQ2NQorOjEwODRBMTAwMDJGNTgyRTQzNDAzRjU4M0UwRkNBM0UwRkRBM0UwRkVFMgorOjEwODRCMTAwQTNFMEY1NjY4RTY1OEQ2NDhDNjM3RDA2QUY1NzEyODNFQworOjEwODRDMTAwREZBRjU3N0QwMTEyODM1QTg1NTk4Mjg1NTg4M0EzQTM1MworOjEwODREMTAwRTAyMEUwNDNFMEZGRTU1OTI0MDVGNTgyRTQzNTU4RjU1NQorOjEwODRFMTAwODNFMEU1NTkyNDA2RjU4MkU0MzU1OEY1ODNFMEZGRTU5QworOjEwODRGMTAwNTc3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjU4M0UwRkMwMgorOjEwODUwMTAwQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQ2NDhDNjNCOAorOjEwODUxMTAwN0QwNkFGNTcxMjgzREY3NEY4MjU1N0Y1ODJFNDM0MDJFNAorOjEwODUyMTAwRjU4M0U0RjBFNTU3MjVFMEZGQzM3NDBDOUY3NUYwNDAzNworOjEwODUzMTAwQTQyNDQwRjU4MkU1RjAzNDdCQUY4MkZFRTU1NzI1RTBDNworOjEwODU0MTAwMjRFRkY1ODJFNDM0MDJGNTgzRUVGMEEzRUZGMEFGNTdBOAorOjBGODU1MTAwNzQwMUE4MDcwODgwMDJDMzMzRDhGQzQyMzQ3RjAwQUUKKzowMTg1NjAwMDIyRjgKKzoxMDg1NjEwMDhGODI4RTgzRTAxNEY1NTdDMzk0MDQ0MDAzN0ZGRjIyNkEKKzoxMDg1NzEwMEFGNTdFNEZEMTI4MzVBNzRGODI1NTdGNTgyRTQzNDAyQUIKKzoxMDg1ODEwMEY1ODNFNEYwRTU1Nzc1RjAwOEE0MjQwMEY1ODJFNDM0OUUKKzoxMDg1OTEwMDIwQUY4MkY1NTk4RjVBRjU4M0U1ODIyNDA0RjU4MkU0RjAKKzoxMDg1QTEwMDM1ODNGNTgzRTA1NEZDRjBFNTU3NzVGMDBEQTQyNDBDRjgKKzoxMDg1QjEwMEY1ODJFNDM0MDNGNTgzRTRGMEU1NTc3NUYwMERBNDI0NjYKKzoxMDg1QzEwMDAyRjU4MkU0MzQwM0Y1ODNFMEZDQTNFMEZEQTNFMEZFQzEKKzoxMDg1RDEwMEEzRTBGNTY2OEU2NThENjQ4QzYzN0QwNkFGNTcxMjgzQ0IKKzoxMDg1RTEwMERGRTU1QTI0MDVGNTgyRTQzNTU5RjU4M0UwMzBFMDA5RTkKKzoxMDg1RjEwMDg1NUE4Mjg1NTk4M0UwRjU1OEFGNTc3NDAxQTgwNzA4NTkKKzoxMDg2MDEwMDgwMDJDMzMzRDhGQ0Y0NTIzNEU1NTcyNUUwMjRDNkY1ODMKKzoxMDg2MTEwMDgyRTQzNDdGRjU4M0UwMjBFMTBGRTU1NzI1RTAyNEM3QUMKKzowQjg2MjEwMEY1ODJFNDM0N0ZGNTgzRTRGMDdGMDA3NQorOjAxODYyQzAwMjIyQgorOjA0ODYyRDAwOEU1NzhGNTg3RAorOjEwODYzMTAwOEY4MjhFODNFMDE0RjU1OUMzOTQwNDQwMDM3RkZGMjI5NworOjEwODY0MTAwRTU1OTc1RjAwOEE0MjQwMUY1ODJFNDM0MjBGNTgzRTBBRQorOjEwODY1MTAwNTQwMzcwNjY4NTU4ODI4NTU3ODNBM0UwMzBFMDI4RTU4RQorOjEwODY2MTAwNTk3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjU4M0UwRkM4RQorOjEwODY3MTAwQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQ2NDhDNjM0NworOjEwODY4MTAwN0QwMkFGNTkxMjgzREY4NTU4ODI4NTU3ODNBM0UwMzA3RAorOjEwODY5MTAwRTEyOEU1NTk3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjVDRgorOjEwODZBMTAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQwQgorOjBDODZCMTAwNjQ4QzYzN0QwNEFGNTkxMjgzREY3RjAwRUUKKzowMTg2QkQwMDIyOUEKKzoxMDg2QkUwMDhGODI4RTgzQzA4M0MwODJFMEZEQTNBM0EzRTBGQ0VENzYKKzoxMDg2Q0UwMDZDRDA4MkQwODNGMDhGODI4RTgzQTNBM0EzQzA4M0MwOEQKKzoxMDg2REUwMDgyRTBGRDhGODI4RTgzRTBGQ0VENkNEMDgyRDA4M0YwNDEKKzoxMDg2RUUwMDhGODI4RTgzQzA4M0MwODJBM0EzQTNFMEZERUM2REQwRTYKKzoxMDg2RkUwMDgyRDA4M0YwOEY4MjhFODNBM0MwODNDMDgyRTBGRDhGRjEKKzoxMDg3MEUwMDgyOEU4M0EzQTNFMEZDRUQ2Q0QwODJEMDgzRjA4RjgyQTcKKzoxMDg3MUUwMDhFODNBM0EzQzA4M0MwODJFMEZEOEY4MjhFODNBM0UwRUQKKzoxMDg3MkUwMEZDRUQ2Q0QwODJEMDgzRjA4RjgyOEU4M0EzQzA4M0MwODkKKzoxMDg3M0UwMDgyRTBGRDhGODI4RTgzQTNBM0UwRkZFRDZGRDA4MkQwMDcKKzowMzg3NEUwMDgzRjAyMjkzCis6MDQ4NzUxMDBBRDA3QUMwNkJFCis6MTA4NzU1MDA3OTBEOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjYyCis6MTA4NzY1MDAyMjhDNTc4RDU4RUU3NUYwMERBNDI0MDFGNTgyRTQzNDYyCis6MTA4Nzc1MDAwM0FGODJGRUFEMDExOUVENjAyNDBGRUZBQzA2NzAwMTY5Cis6MTA4Nzg1MDAwRTE0RjU4MjhDODNFMEZEMDU1OEU1NThBQTU3NzAwMjUyCis6MTA4Nzk1MDAwNTU3MTRGNTgyOEE4M0UwNkQ2MEQ5N0YwMTIyN0YwMDM5Cis6MDE4N0E1MDAyMkIxCis6MDQ4N0E2MDA4RTU3OEY1ODAzCis6MTA4N0FBMDA4RjgyOEU4M0UwMTRGNTVFQzM5NDA0NDAwMzdGRkYyMjE4Cis6MTA4N0JBMDBFNTVFNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGNTYyCis6MTA4N0NBMDA1RjhGNjA4NTU4ODI4NTU3ODNBM0UwRkNBM0UwRkRBM0YxCis6MTA4N0RBMDBFMEZFQTNFMEZGN0IwODdBMDA3OTAwNzgwMEQzMTJBM0I5Cis6MTA4N0VBMDBCMzQwMTA4NTU4ODI4NTU3ODNBMzEyQTNGQTAwMDAwMDZDCis6MTA4N0ZBMDAwODgwMkU4NTU4ODI4NTU3ODNBM0UwRkNBM0UwRkRBMzU5Cis6MTA4ODBBMDBFMEZFQTNFMEZGN0IwMDdBMDg3OTA3NzgwMEMzMTJBMzkxCis6MTA4ODFBMDBCMzUwMEU4NTU4ODI4NTU3ODNBMzEyQTNGQTAwMDcwODFFCis6MTA4ODJBMDAwMDg1NTg4Mjg1NTc4M0EzRTBGOEEzRTBGOUEzRTBGQTBDCis6MTA4ODNBMDBBM0UwRkI3RjAwN0U1MDdENDY3QzAwMTJBMzIxOEY1QzYzCis6MTA4ODRBMDA4RTVCOEQ1QThDNTk3QjBBN0EwMDc5MDA3ODAwMTJBM0M0Cis6MTA4ODVBMDAyMUFGMDM4RjVEQUY1Q0FFNUJBRDVBQUM1OTdCMEE3QTMwCis6MTA4ODZBMDAwMDc5MDA3ODAwMTJBMzIxOEY1QzhFNUI4RDVBOEM1OTk3Cis6MTA4ODdBMDBFNTVEQzM5NDA1NDAxNUU1NUMyNDAxRjU1Q0U0MzU1QkQwCis6MTA4ODhBMDBGNTVCRTQzNTVBRjU1QUU0MzU1OUY1NTk4NTYwODI4NTIwCis6MTA4ODlBMDA1RjgzQTNFNEYwODU2MDgyODU1RjgzQTNBM0EzRTA0NDlBCis6MTA4OEFBMDA4MEYwODU2MDgyODU1RjgzRTU1Q0YwQUY1Q0FFNUJBRDhFCis6MTA4OEJBMDA1QUFDNTk3ODA4MTJBM0M0ODU2MDgyODU1RjgzQTNFRkY2Cis6MTA4OENBMDBGMDg1NjA4Mjg1NUY4M0EzQTNBM0UwNTQ3RkYwRTRGNTdCCis6MTA4OERBMDA1REU1NTgyNDBCRjU4MkU0MzU1N0Y1ODNFMEZGMzBFMDc3Cis6MTA4OEVBMDAyMzU0MDFGMEU1NjAyNDA0RjU4MkU0MzU1RkY1ODNFMDYyCis6MTA4OEZBMDA1NEZERjBBRjVFNzQwMUE4MDcwODgwMDJDMzMzRDhGQ0E4Cis6MTA4OTBBMDA0MjIyODAzNjc0MDE3RTAwQTg1RTA4ODAwNUMzMzNDRUY5Cis6MTA4OTFBMDAzM0NFRDhGOUZGRTRFRjU1MjI2MDFGRTU2MDI0MDRGNTUxCis6MTA4OTJBMDA4MkU0MzU1RkY1ODNFMDQ0MDJGMEFGNUU3NDAxQTgwNzg0Cis6MTA4OTNBMDAwODgwMDJDMzMzRDhGQ0Y0NTIyMkU1NTgyNDA4RjU4MjkxCis6MTA4OTRBMDBFNDM1NTdGNTgzRTBGRkI0NjIwNTQzNUQwQTgwMUFFRjA4Cis6MTA4OTVBMDBCNDcyMDU0MzVEMDg4MDExRUZCNDc0MDU0MzVEMDI4MDZCCis6MTA4OTZBMDAwOEVGNjQ2RTYwMDM3RkZGMjJFNTU4MjQwQkY1ODJFNDZBCis6MTA4OTdBMDAzNTU3RjU4M0UwRkYzMEUzMDM0MzVEODBFRjMwRTcxMkJDCis6MTA4OThBMDA0MzVENDBFNTYwMjQwNEY1ODJFNDM1NUZGNTgzRTA0NDA1Cis6MTA4OTlBMDAwMkYwRTU1ODI0MEJGNTgyRTQzNTU3RjU4M0UwMzBFMTFGCis6MTA4OUFBMDAyMEFGNUU3NDAxQTgwNzA4ODAwMkMzMzNEOEZDNDIzMkE0Cis6MTA4OUJBMDBFNTYwMjQwNEY1ODJFNDM1NUZGNTgzRTA0NDAxRjA4MDQ0Cis6MTA4OUNBMDAxMEFGNUU3NDAxQTgwNzA4ODAwMkMzMzNEOEZDRjQ1MkMyCis6MTA4OURBMDAzMkU1NTgyNDBCRjU4MkU0MzU1N0Y1ODNFMEZGMzBFNDlECis6MTA4OUVBMDAxMUFFNUU3NDAxQTgwNjA4ODAwMkMzMzNEOEZDNDIzMTc2Cis6MTA4OUZBMDA4MDEwQUU1RTc0MDFBODA2MDg4MDAyQzMzM0Q4RkNGNDY2Cis6MTA4QTBBMDA1MjMxRUYyMEUxMDMzMEU0MDNFNEY1NUQ4NTYwODI4NUFECis6MTA4QTFBMDA1RjgzQTNBM0EzNzRCRkYwODU2MDgyODU1RjgzQTNBMzRBCis6MTA4QTJBMDBFNEYwRTU1REYwRTU1ODI0MEFGNTgyRTQzNTU3RjU4MzZDCis6MTA4QTNBMDBFMEZGRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0VGRjBFNUI1Cis6MTA4QTRBMDA1ODI0MEFGNTgyRTQzNTU3RjU4M0UwRkZFNTYwMjQwNUVBCis6MTA4QTVBMDBGNTgyRTQzNTVGRjU4M0VGRjBFNTU4MjQwOUY1ODJFNDAxCis6MTA4QTZBMDAzNTU3RjU4M0UwRkZFNTYwMjQwNkY1ODJFNDM1NUZGNUM2Cis6MTA4QTdBMDA4M0VGRjBFNTU4MjQwOUY1ODJFNDM1NTdGNTgzRTBGRkUyCis6MTA4QThBMDBFNTYwMjQwN0Y1ODJFNDM1NUZGNTgzRUZGMDg1NjA4MkJGCis6MTA4QTlBMDA4NTVGODNBM0EzQTNFNEYwODU2MDgyODU1RjgzQTNBMzk0Cis6MTA4QUFBMDBGMDg1NTg4Mjg1NTc4M0EzRTBGQ0EzRTBGREEzRTBGRThFCis6MTA4QUJBMDBBM0UwRjU2NjhFNjU4RDY0OEM2MzdEMDZBRjVFMTI4M0Q2Cis6MTA4QUNBMDBERjc1NUQwOEU1NTgyNDBDRjU4MkU0MzU1N0Y1ODNFMDM3Cis6MTA4QURBMDA2MDAzNDM1RDEwRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0E1Cis6MTA4QUVBMDBFMDU0MDM0NTVERjBFNTU4MjQwNUY1ODJFNDM1NTdGNTcxCis6MTA4QUZBMDA4M0UwRkVDMzk0MDU0MDA2RUVEMzk0MDg0MDAzN0ZGRjRCCis6MTA4QjBBMDAyMkU1NTgyNDA2RjU4MkU0MzU1N0Y1ODNFMEZEQzM5NDNGCis6MTA4QjFBMDAwMTQwMDZFREQzOTQwMjQwMDM3RkZGMjJFRDE0RkYyNUE2Cis6MTA4QjJBMDBFMDI1RTBGRkVFMjRGQjRGRjU1REU1NTgyNDA3RjU4MkNBCis6MTA4QjNBMDBFNDM1NTdGNTgzRTAyNEQwNjAxODE0NjAxQTI0QzM2MDIyCis6MTA4QjRBMDAxRTE0NjAwOTI0MEE3MDE0NDM1RDE4ODAxMjQzNUQwOERDCis6MTA4QjVBMDA4MDBENDM1RDM4ODAwODQzNUQyODgwMDM3RkZGMjI4NUFFCis6MTA4QjZBMDA2MDgyODU1RjgzQTNBM0EzRTU1REYwNzQwMTdFMDBBOEZDCis6MTA4QjdBMDA1RTA4ODAwNUMzMzNDRTMzQ0VEOEY5RkZFNEVGNTUzNDBGCis6MTA4QjhBMDA2MDA3QUY1RTdEMDExMjgzNUFBQTU3QTk1ODdCMDFDMEJDCis6MTA4QjlBMDAwM0MwMDFFNTVFNzVGMDBEQTQyNDAxRjk3NDAzMzVGMEY0Cis6MTA4QkFBMDBBODAxRkNBRDAzRDAwMUQwMDM3RTAwN0YwRDEyQTIxMkYyCis6MDI4QkJBMDA3RjAwM0EKKzowMThCQkMwMDIyOTYKKzoxMDhCQkQwMDhGODI4RTgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFNjgKKzoxMDhCQ0QwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRDgyRkM5MDAxRjgKKzoxMDhCREQwMDJDNzQwOEYwRUUwNEEzRjBFNEEzRjA4RDgyOEM4M0U1RjEKKzoxMDhCRUQwMDgyMjQwNkY1ODJFNDM1ODNGNTgzRTA5MDAxMkZGMDhEMjQKKzoxMDhCRkQwMDgyOEM4M0U1ODIyNDA1RjU4MkU0MzU4M0Y1ODNFMDU0ODgKKzoxMDhDMEQwMDFFOTAwMTMwRjA3NDJEMkVGOEU2QTNGMEFGMDY3NDAxMUUKKzoxMDhDMUQwMEE4MDcwODgwMDJDMzMzRDhGQ0Y1NTdFNTMzQzM5NDAxODgKKzoxMDhDMkQwMDQwMEQ5MDIwNzhFMDU0MEY3NTU4MDBGNTU5ODAwOTdGNUMKKzoxMDhDM0QwMDAyMTIxMTI3OEU1ODhGNTlDM0U1NTg2NDgwOTQ4MDQwRDUKKzoxMDhDNEQwMERBRTU1NzU1NTk5MDAxMzJGMDdFMDE3RjJDN0QwNzEyRTAKKzowNDhDNUQwMDkxNkE3RjAwOTkKKzowMThDNjEwMDIyRjAKKzoxMDhDNjIwMDhGODI4RTgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFQzIKKzoxMDhDNzIwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRkU5MDAxNEUKKzoxMDhDODIwMDMzNzQwQUYwOEY4MjhFODNFNTgyMjQwNEY1ODJFNDM1MDAKKzoxMDhDOTIwMDgzRjU4M0UwOTAwMTM0RjA3RTAxN0YzMzdEMDIxMjkxRUYKKzowMzhDQTIwMDZBN0YwMEU2Cis6MDE4Q0E1MDAyMkFDCis6MDQ4Q0E2MDA4RTU3OEY1OEZFCis6MTA4Q0FBMDA4RjgyOEU4M0UwMTRGRUMzOTQwNDQwMDM3RkZGMjJFRTdBCis6MTA4Q0JBMDA3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUQ4MkZDODU1OEJFCis6MTA4Q0NBMDA4Mjg1NTc4M0EzRTA2MDBGRUQyNDA0RjU4MkU0M0NGNTI2Cis6MTA4Q0RBMDA4M0UwNDQwMkYwODA0M0VFNzVGMDBEQTQyNDBDRjU4MjgzCis6MTA4Q0VBMDBFNDM0MDNGNTgzRTAzMEUwMjBFRTI1RTAyNEM2RjU4MjgzCis6MTA4Q0ZBMDBFNDM0N0ZGNTgzRTAzMEUxRjA3RjYwRUQyNDA1RjU4MjBFCis6MTA4RDBBMDBFNDNDRjU4M0UwNUZCNTA3RjJBRTA0QUYwNUVGMjQwNDU3Cis6MEM4RDFBMDBGNTgyRTQzRUY1ODNFMDU0RkRGMDdGMDA5QworOjAxOEQyNjAwMjIyQQorOjA0OEQyNzAwQUQwN0FDMDZFMgorOjEwOEQyQjAwOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUVGQworOjEwOEQzQjAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGRThEODIwNgorOjEwOEQ0QjAwOEM4M0EzRTA2MDBGRUYyNDA0RjU4MkU0M0VGNTgzRTAwRgorOjEwOEQ1QjAwNDQwMUYwODAwREVGMjQwNEY1ODJFNDNFRjU4M0UwNTRFQQorOjA0OEQ2QjAwRkVGMDdGMDA5NworOjAxOEQ2RjAwMjJFMQorOjA0OEQ3MDAwQUQwN0FDMDY5OQorOjEwOEQ3NDAwOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUVCMworOjEwOEQ4NDAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGRThEODJCRAorOjEwOEQ5NDAwOEM4M0EzRTA2MDBEOEY4MjhFODNBM0EzQTNFMDQ0NDA2MQorOjEwOERBNDAwRjA4MDBCOEY4MjhFODNBM0EzQTNFMDU0QkZGMDdGMDBENworOjAxOERCNDAwMjI5QworOjEwOERCNTAwOEY4MjhFODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyQUZBRAorOjEwOERDNTAwMDY3NDAxQTgwNzA4ODAwMkMzMzNEOEZDNDIzRTdGMDAyMQorOjAxOERENTAwMjI3QgorOjA0OERENjAwOEU1NzhGNThDRAorOjEwOEREQTAwOEY4MjhFODNBM0UwRjU1QzhGODI4RTgzRTBGNTU5RDM3MAorOjEwOERFQTAwOTQwNDQwMDM3RkZGMjJFNTU5MjRGRTYwMTYxNDYwMUY5NQorOjEwOERGQTAwMTQ2MDI4MjQwMzcwMkU3RTdFN0Y4MDc1NUE3RTc1NUJGMAorOjEwOEUwQTAwODA4MDIyN0U3RTdGMDA3NTVBN0U3NTVCMDA4MDE2N0U4QQorOjEwOEUxQTAwN0Q3RjgwNzU1QTdENzU1QjgwODAwQTdFN0Q3RjAwNzVCNworOjEwOEUyQTAwNUE3RDc1NUIwMEU1NUM3MDFCODU1QjgyODU1QTgzNzQ4RAorOjEwOEUzQTAwRkZGMEU1NTkyNUUwMjRCNUY1ODJFNDM0N0ZGNTgzNzQyMworOjEwOEU0QTAwMDFGMDgwNDhFNTU4MjQwMkZGRTQzNTU3RkVFNTVDNjBFRQorOjEwOEU1QTAwMjMwRkVGQUMwNjcwMDEwRTE0RjU4MjhDODNFMEZEMDUzQQorOjEwOEU2QTAwNUJFNTVCQUE1QTcwMDIwNTVBMTRGNTgyOEE4M0VERjAxMworOjEwOEU3QTAwMTU1QzgwRDk4NTU4ODI4NTU3ODNBM0UwRkZFNTU5MjU3QgorOjBFOEU4QTAwRTAyNEI1RjU4MkU0MzQ3RkY1ODNFRkYwN0YwMDNECis6MDE4RTk4MDAyMkI3Cis6MTA4RTk5MDBFRjI0MDVGNTU4RTQzRUY1NTc5MDAxMzU3NDA3RjA5MDM1Cis6MTA4RUE5MDAwMTdBNzQwMUYwQTM3NDM2RjA4NTU4ODI4NTU3ODNBMzNCCis6MTA4RUI5MDBBM0EzRTBGRUEzRTA4RTU5RjU1QTg1NTg4Mjg1NTc4MzBFCis6MTA4RUM5MDBFMDI0OUU2MDYxMjRGOTYwMEUyNEYxNzAwMzAyOEY3QTE4Cis6MTA4RUQ5MDAyNDE0NjAwMzAyOEZDODg1NTg4Mjg1NTc4M0EzRTBGRTU2Cis6MTA4RUU5MDBBM0UwRkZDM0U0OUZGNTVDNzQwMTlFRjU1QkQzRTU1Q0U5Cis6MTA4RUY5MDA5NDNGRTU1Qjk0MDA0MDA2NzU1QjAwNzU1QzNGRDNFNUU0Cis6MTA4RjA5MDA1QTk1NUNFNTU5OTU1QjUwMDMwMjhGQ0JBRTVCQUY1QzFDCis6MTA4RjE5MDA4NTU4ODI4NTU3ODNBM0EzQTNFRUYwRkVBM0VGRjA4RUI1Cis6MTA4RjI5MDA1OUY1NUEwMjhGQ0I4NTU4ODI4NTU3ODNBM0UwRkVBMzUyCis6MTA4RjM5MDBFMEZGQzM3NDMwOUZGNTVDRTQ5RUY1NUJEM0U1NUM5NDc4Cis6MTA4RjQ5MDAxMEU1NUI5NDAwNDAwNjc1NUIwMDc1NUMxMEQzRTU1QTJCCis6MTA4RjU5MDA5NTVDRTU1OTk1NUI0MDZBQUU1QkFGNUM4NTU4ODI4NTQ3Cis6MTA4RjY5MDA1NzgzQTNBM0EzRUVGMEZFQTNFRkYwOEU1OUY1NUE4MDIxCis6MTA4Rjc5MDA1MTg1NTg4Mjg1NTc4M0EzRTBGRUEzRTBGRkMzRTQ5RjkwCis6MTA4Rjg5MDBGNTVDRTQ5RUY1NUI0NTVDNjAwQkQzRTU1Qzk0M0ZFNURECis6MTA4Rjk5MDA1Qjk0MDA0MDA2NzU1QjAwNzU1QzNGRDNFNTVBOTU1Q0IwCis6MTA4RkE5MDBFNTU5OTU1QjQwMUNBRTVCQUY1Qzg1NTg4Mjg1NTc4MzVDCis6MTA4RkI5MDBBM0EzQTNFRUYwRkVBM0VGRjA4RTU5RjU1QTgwMDM3RjI5Cis6MTA4RkM5MDAwMTIyODU1ODgyODU1NzgzRTAyNDlFNzAwMzAyOTA4Qjg1Cis6MTA4RkQ5MDAyNEY5NjA1ODI0RjE3MDAzMDI5MERCMjQxNDYwMDMwMjIxCis6MTA4RkU5MDA5MTFGODU1ODgyODU1NzgzQTNFMEZFQTNFMEZGRDM5NEEwCis6MTA4RkY5MDBGRkVFOTQwMDQwMDMwMjkxMUY5MDAxNzVFRkYwRTU1QUNFCis6MTA5MDA5MDAxNTVBQUU1OTcwMDIxNTU5NEU3MDAzMDI5MTFGOTAwMUZECis6MTA5MDE5MDA3NUUwRkYwNEYwQTgwN0U2RkY5MDAxN0FFNDc1RjAwMTE2Cis6MTA5MDI5MDAxMkEyOTc4NUYwODJGNTgzRUZGMDgwRDI4NTU4ODI4NTY4Cis6MTA5MDM5MDA1NzgzQTNFMEZFQTNFMEZGQzM5NDgwRUU5NDAwNTAwMzlFCis6MTA5MDQ5MDAwMjkxMUZEM0VGOTRGRkVFOTQwMDQwMDMwMjkxMUY5MDA5Cis6MTA5MDU5MDAwMTc2RUZGMEU1NUExNTVBQUU1OTcwMDIxNTU5NEU3MDVFCis6MTA5MDY5MDAwMzAyOTExRjkwMDE3NkUwRkYwNEYwQTgwN0U2RkY5MDQ0Cis6MTA5MDc5MDAwMTdBRTQ3NUYwMDExMkEyOTc4NUYwODJGNTgzRUZGMDg5Cis6MTA5MDg5MDA4MEQyODU1ODgyODU1NzgzQTNFMEZFQTNFMEZGQzM5NDZECis6MTA5MDk5MDAyMEVFOTQwMDUwMDMwMjkxMUZEM0VGOTQyRkVFOTQwMDE5Cis6MTA5MEE5MDA1MDc0OTAwMTc3RUZGMEU1NUExNTVBQUU1OTcwMDIxNUQwCis6MTA5MEI5MDA1OTRFNjA2MjkwMDE3N0UwRkYwNEYwQTgwN0U2RkY5MDNGCis6MTA5MEM5MDAwMTdBRTQ3NUYwMDExMkEyOTc4NUYwODJGNTgzRUZGMDM5Cis6MTA5MEQ5MDA4MEQ1ODU1ODgyODU1NzgzQTNFMEZGQTNFMDkwMDE3ODY2Cis6MTA5MEU5MDBDRkYwQTNFRkYwRTU1QTE1NUFBRTU5NzAwMjE1NTk0RTUzCis6MTA5MEY5MDA2MDI0OTAwMTc4RTQ3NUYwMDExMkEyOTc4NUYwODJGNTU5Cis6MTA5MTA5MDA4M0UwRkY5MDAxN0FFNDc1RjAwMTEyQTI5Nzg1RjA4MjVECis6MTA5MTE5MDBGNTgzRUZGMDgwQ0Y3RTAxN0YzNTg1NTg4Mjg1NTc4M0FGCis6MEQ5MTI5MDBBM0EzQTNFMEEzRTAwNEZEMTI5MTZBN0YwMDYwCis6MDE5MTM2MDAyMjE2Cis6MTA5MTM3MDA4RTYyOEY2MzhDNjQ4RDY1QUYwMzFCRUY2MDI0MDU2M0JDCis6MTA5MTQ3MDBFNTYzQUU2MjcwMDIwNTYyMTRGNTgyOEU4M0UwRkYwNTY3Cis6MTA5MTU3MDA2NUU1NjVBQzY0NzAwMjA1NjQxNEY1ODI4QzgzRUZGMEY1Cis6MDM5MTY3MDA4MEQ2MjI4RAorOjA2OTE2QTAwOEQ1REFCMDdBQTA2QjMKKzoxMDkxNzAwMDc1NjE0MDc1NjAwRDc1NUYwMzc1NUUwMDkwN0ZDMkUwOUMKKzoxMDkxODAwMDIwRTFGOUFGNjFBRTYwQUQ1RkFDNUVFQzRENEU0RjcwNkIKKzoxMDkxOTAwMDA4OTA3RkMyNzQwMkYwODBENzkwN0ZDMkUwMjBFMTE2NzEKKzoxMDkxQTAwMEFGMDNBRTAyN0M3QjdEODBBQjVEMTI5MTM3OTA3RkMzQjUKKzowODkxQjAwMEU1NURGMDdGMDEyMjdGMDA2NAorOjAxOTFCODAwMjI5NAorOjEwOTFCOTAwOTAwMTg0NzQwQkYwQTNFNTMzRjA5MDBBRjVFNDkzOTBFMQorOjEwOTFDOTAwMDE4NkYwOTAwQUY2RTQ5MzkwMDE4N0YwRTQ5MDAxN0MxRgorOjEwOTFEOTAwRjBBM0YwQTNGMEEzRjBBM0YwQTM3NDEwRjBBMzc0MDExQgorOjEwOTFFOTAwRjBBMzc0ODhGMDdFMDE3RjdDMTIxOUMxN0UwMTdGODQwRgorOjA3OTFGOTAwN0QxNDEyOTE2QTdGMDA1MgorOjAxOTIwMDAwMjI0QgorOjEwOTIwMTAwN0U3QjdGNDA3NTRFN0I3NTRGNDA5MDdGRDNFMEZGODUxRAorOjEwOTIxMTAwNEU1MTg1NEY1MkU1NTIyNDAxRjU1NkU0MzU1MUY1NTUyRAorOjEwOTIyMTAwRTRGNTUwODU1MjgyODU1MTgzRTBGRTE0QjQwQzAwNTA2MAorOjEwOTIzMTAwNUI5MDkyMzlGODI4Mjg3MzAyOTI1RDAyOTI1RDAyOTI0NgorOjEwOTI0MTAwNjcwMjkyNzEwMjkyNzEwMjkyNzEwMjkyODUwMjkyNUQ5RAorOjEwOTI1MTAwMDI5MjdCMDI5MjVEMDI5MjhEMDI5MjVERUY2NDAyNjA0NgorOjEwOTI2MTAwMkI3NTUwRkY4MDI2RUY2NDBFNjAyMTc1NTBGRjgwMUMyNgorOjEwOTI3MTAwRUY2NDAzNjAxNzc1NTBGRjgwMTJFRjY0MDM2MDBENzU5MgorOjEwOTI4MTAwNTBGRjgwMDhFRjY0MDY2MDAzNzU1MEZGRTU1MDYwMTVEQworOjEwOTI5MTAwOTAwMTk4NzQxMUYwQTNFRUYwN0UwMTdGOTg3RDAyMTI4NworOjEwOTJBMTAwOTE2QUFGNTAyMkU0RjU1MDg1NTI4Mjg1NTE4M0UwMTREMgorOjEwOTJCMTAwQjQwRjAwNDAwMzAyOTNDRjkwOTJDMEY4MjgyODczMDJBNAorOjEwOTJDMTAwOTJFRDAyOTJGOTAyOTMwNTAyOTM1MzAyOTM1RTAyOTM4NworOjEwOTJEMTAwNjkwMjkzNzQwMjkzN0YwMjkzOEEwMjkzOTUwMjkzQTA4OQorOjEwOTJFMTAwMDI5M0E3MDI5M0NGMDI5M0IyMDI5M0JEQUY1NkFFNTUzQworOjEwOTJGMTAwMTI4NDQxOEY1MDAyOTNEMkFGNTZBRTU1MTI4NTYxOEZDMQorOjEwOTMwMTAwNTAwMjkzRDI4NTU1NTM4NTU2NTRFNTU0MjQwMUZGRTQwOAorOjEwOTMxMTAwMzU1M0ZFMTI4NkJFQUY1NEFFNTMxMjg3NTE4RjUwRUZCNAorOjEwOTMyMTAwNjQwMTYwMDMwMjkzRDJBRjU0QUU1MzEyODdBNjhGNTBFQgorOjEwOTMzMTAwRTU1MDcwMDMwMjkzRDI4NTU0ODI4NTUzODNFMDc1RjAyMgorOjEwOTM0MTAwMERBNDI0RjRGNTgyRTQzNDAyQUY4MkZFMTI4N0E2MDI1MgorOjEwOTM1MTAwOTNEMkFGNTZBRTU1MTI4Q0E2OEY1MDgwNzRBRjU2QUVENQorOjEwOTM2MTAwNTUxMjhEMjc4RjUwODA2OUFGNTZBRTU1MTI4RDcwOEY3MworOjEwOTM3MTAwNTA4MDVFQUY0RkFFNEUxMjhFOTk4RjUwODA1M0FGNTZENAorOjEwOTM4MTAwQUU1NTEyOEJCRDhGNTA4MDQ4QUY1NkFFNTUxMjg2MkQwQgorOjEwOTM5MTAwOEY1MDgwM0RBRjU2QUU1NTEyOEM2MjhGNTA4MDMyMTI4NQorOjEwOTNBMTAwOTFCOThGNTA4MDJCQUY1NkFFNTUxMjhEQjU4RjUwODAyRAorOjEwOTNCMTAwMjBBRjU2QUU1NTEyOERENjhGNTA4MDE1QUY0RkFFNEVBMQorOjEwOTNDMTAwN0MwMjdEQUY3QjQwMTI5MTM3RTRGNTUwODAwMzc1NTBFQworOjEwOTNEMTAwRkZFNTUwNjAxRDkwMDE5ODc0MTFGMDg1NTI4Mjg1NTEwRQorOjEwOTNFMTAwODNFMDkwMDE5OUYwN0UwMTdGOTg3RDAyMTI5MTZBQUYyRQorOjEwOTNGMTAwNTAyMjg1NTI4Mjg1NTE4M0UwRkYxNDI0RkE1MDA0MjRCRgorOjEwOTQwMTAwRkU3MDFGOTAwMTk4NzQxMEYwQTNFRkYwODU1NjgyODVDRAorOjEwOTQxMTAwNTU4M0UwOTAwMTlBRjA3RTAxN0Y5ODdEMDMxMjkxNkE1NQorOjA0OTQyMTAwOEY1MEFGNTA2OQorOjAxOTQyNTAwMjIyNAorOjA4OTQyNjAwOEY1MThFNTA4RDRGOEM0RUNBCis6MTA5NDJFMDA3NTU4MDE3NTU5OUNFNEY1NTdBRjUzMTU1M0VGNzAwM0ZBCis6MTA5NDNFMDAwMjk0QzRBRjUyRTRGQ0ZERkVGOEY5RkFBQjA3QUY1MTRCCis6MTA5NDRFMDBBRTUwQUQ0RkFDNEUxMkEzMjFBRjAzOEY1NkFGNTFBRUZGCis6MTA5NDVFMDA1MEFENEZBQzRFQzAwNEMwMDVDMDA2QzAwN0FGNTJFNEJECis6MTA5NDZFMDBGQ0ZERkVGOEY5RkFBQjA3RDAwN0QwMDZEMDA1RDAwNDA0Cis6MTA5NDdFMDAxMkEzMjE4RjUxOEU1MDhENEY4QzRFRTU1NjI0MzBGNTEwCis6MTA5NDhFMDA1NkQzOTQzOTQwMDY3NDA3MjU1NkY1NTYwNTU5RTU1OUI1Cis6MTA5NDlFMDBBRTU4NzAwMjA1NTgxNEY1ODI4RTgzRTRGMDA1NTlFNTM2Cis6MTA5NEFFMDA1OUFFNTg3MDAyMDU1ODE0RjU4MjhFODNFNTU2RjAwNUI0Cis6MTA5NEJFMDA1NzA1NTcwMjk0MzdFNTU5MTU1OTcwMDIxNTU4QUY1NzhECis6MTA5NENFMDAxNTU3RUY2MDIzRTU1OTE1NTlBRTU4NzAwMjE1NThGNTJBCis6MTA5NERFMDA4MjhFODNFMEZGMDU1NUU1NTVBQzU0NzAwMjA1NTQxNDk5Cis6MDg5NEVFMDBGNTgyOEM4M0VGRjA4MEQ2QkIKKzowMTk0RjYwMDIyNTMKKzoxMDk0RjcwMEU0OTAwMUM5RjA3RTAxN0ZDQTkwMDFCRUVFRjBBM0VGQjAKKzowQTk1MDcwMEYwOTAwMUMyRUVGMEEzRUZGMDIyOTUKKzoxMDk1MTEwMEFBMDdBOTA1OTAwMUM5RTBDMzk0NDA1MDYxQUMwMjc0NDcKKzoxMDk1MjEwMDAxN0UwMEE4MDQwODgwMDVDMzMzQ0UzM0NFRDhGOUZGRUQKKzoxMDk1MzEwMEU0RUY1NTM0NjA0NUVBMDRGRjkwMDFDMkUwRkNBM0UwOEEKKzoxMDk1NDEwMEZERjU4MjhDODNFRkYwQTNFOUYwOEQ4MjhDODNBM0EzRDgKKzoxMDk1NTEwMEVCRjA5MDAxQzJFNDc1RjAwMzEyQTI4MUZDRDNFNUYwQjcKKzoxMDk1NjEwMDk0ODdFQzk0MDI0MDBBOTAwMUMyNzQwMUYwQTM3NENBN0EKKzoxMDk1NzEwMEYwQzJBRjkwMDFDOUUwMDRGMEQyQUY3RjAxMjI3RjAwQjkKKzowMTk1ODEwMDIyQzcKKzoxMDk1ODIwMDkwMDFDOUUwRDM5NDAwNDA1NTkwMDFCRUUwRkNBM0UwRjUKKzoxMDk1OTIwMEFBMDRGOTdCMDFDMDAzQzAwMkMwMDFBQTA2QTkwN0E4NTgKKzoxMDk1QTIwMDAxQUMwMkFEMDNEMDAxRDAwMkQwMDM3RTAwN0YwMzEyRDIKKzoxMDk1QjIwMEEyMTI5MDAxQkVFNDc1RjAwMzEyQTI4MUZDRDNFNUYwODEKKzoxMDk1QzIwMDk0ODdFQzk0MDI0MDBBOTAwMUJFNzQwMUYwQTM3NENBMUQKKzoxMDk1RDIwMEYwQzJBRjkwMDFDOUUwMTRGMEQyQUY3RjAxMjI3RjAwNDgKKzowMTk1RTIwMDIyNjYKKzoxMDk1RTMwMDkwN0ZDMkUwMjBFMTczN0U3QjdGODA3NTUzN0I3NTU0NEYKKzoxMDk1RjMwMDgwRTU1NDI0MDFGRkU0MzU1M0E5MDc3QjAxOEI1NUY1MUUKKzoxMDk2MDMwMDU2ODk1N0ZFMTI5NTgyRUY2MDUwQUI1NUFBNTZBOTU3NUIKKzoxMDk2MTMwMDEyQTIzQjE0RkY5MDAwMDExMkEyNTRCNDAyMTZDMkFGNkYKKzoxMDk2MjMwMEVGNzVGMDA4QTQyNDAxRjU4MkU0MzQyMEY1ODNFMDQ0QzcKKzoxMDk2MzMwMDA0RjBEMkFGNzQwMTdFMDBBODA3MDg4MDA1QzMzM0NFQkYKKzoxMDk2NDMwMDMzQ0VEOEY5RkZFNEVGNTUzNDYwMEY4NTU0ODI4NTUzNDgKKzowQTk2NTMwMDgzNzQwREYwOTA3RkMzNzQwNEYwREYKKzowMTk2NUQwMDIyRUEKKzoxMDk2NUUwMDEyOTVFM0U0RjU0RTc0M0EyNTRFRjhFNjU0RjBGNTRGQzQKKzoxMDk2NkUwMDc0QzUyNTRFRjU4MkU0MzQwMUY1ODNFMDY1NEZGRkM0RTEKKzoxMDk2N0UwMDU0MEZGNTUwNjAyMjc0QzUyNTRFRjU4MkU0MzQwMUY1ODEKKzoxMDk2OEUwMDgzRTU0RkYwQUY0RTdEMDFFNTRGNDU1MEZCMTI5NTExMkUKKzoxMDk2OUUwMEVGNzAwNTEyOTVFMzgwRUMwNTRFRTU0RUMzOTQwNDQwNDEKKzoxMDk2QUUwMEI1MTI5NUUzRTUzRTYwNDhFNEY1NEVBRjRFNzQwMUE4NjEKKzoxMDk2QkUwMDA3MDg4MDAyQzMzM0Q4RkNGNTRGNTUzRTYwMjlFNTRFQUUKKzoxMDk2Q0UwMDc1RjAwOEE0MjQwNUY1ODJFNDM0MjBGNTgzRTAzMEU2MzUKKzoxMDk2REUwMDE2QUY0RTdEMDQ3QjgwMTI5NTExRUY3MDA1MTI5NUUzNDcKKzoxMDk2RUUwMDgwRUZFNTRGRjQ1MjNFMDU0RUU1NEVDMzk0MDQ0MEJCNjkKKzoxMDk2RkUwMDkwMDMwMEUwNjAwMzAyOTdERjc0MTlGMEU1MzNDMzk0MjIKKzoxMDk3MEUwMDAxNDAwRDkwMjA3OEUwNTQwRjc1NTEwMEY1NTI4MDA5RkMKKzoxMDk3MUUwMDdGMDIxMjExMjc4RTUxOEY1MkMzRTU1MTY0ODA5NDgwQkYKKzoxMDk3MkUwMDQwREE5MDAxQkNFMDY1NTJGMDYwMzdFNEY1NEVBRjRFODIKKzoxMDk3M0UwMDc0MDFBODA3MDg4MDAyQzMzM0Q4RkNGNTRGOTAwMUJDMTIKKzoxMDk3NEUwMEUwNTU0RjYwMTRBRjRFN0QwOEU1NEY1NTUyRkIxMjk1MTQKKzoxMDk3NUUwMDExRUY3MDA1MTI5NUUzODBFQzA1NEVFNTRFQzM5NDA0QUYKKzoxMDk3NkUwMDQwQ0M5MDAxQkNFNTUyRjBFNEY1NEVDMkFGNzQzNjI1MDQKKzoxMDk3N0UwMDRFRjhFNkY1NEZFNEY2RDJBRjUzNEYxRUU1NEY2MDExQUIKKzoxMDk3OEUwMEFGNEU3RDAyQUI0RjEyOTUxMUVGNzAwNTEyOTVFMzgwMkYKKzoxMDk3OUUwMEVGNzQyRDI1NEVGOEU2RjU0Rjc0RkMyNTRFRjU4MkU0NTgKKzoxMDk3QUUwMDM0MDJGNTgzRTA2NTRGNjAxMUFGNEU3RDA0QUI0RjEyNkUKKzoxMDk3QkUwMDk1MTFFRjcwMDUxMjk1RTM4MEVGNzRGQzI1NEVGNTgyM0UKKzoxMDk3Q0UwMEU0MzQwMkY1ODNFNTRGRjAwNTRFRTU0RUMzOTQwNDQwQjQKKzowNDk3REUwMDlBMTI5NUUzNjMKKzowMTk3RTIwMDIyNjQKKzowQzk3RTMwMDc4N0ZFNEY2RDhGRDc1ODE2NzAyOTgyQUIzCis6MTA5N0VGMDAwMjA1QURFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMkRFCis6MTA5N0ZGMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzdCCis6MTA5ODBGMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjQ5Cis6MTA5ODFGMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTA5ODZGRTQ3RUQyCis6MTA5ODJGMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzNFCis6MTA5ODNGMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzA1Cis6MTA5ODRGMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTMwCis6MTA5ODVGMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUU4Cis6MTA5ODZGMDA2MDI0MDI4QTAxMDIwNDA4MTAyMDQwODA4MTgyODQ4OENCCis6MTA5ODdGMDA5MEEwQzBDMUMyQzRDOEQwRTBFMUUyRTRFOEYwRjFGMkM4Cis6MDg5ODhGMDBGNEY4RjlGQUZDRkRGRUZGRkMKKzowMTk4OTcwMDAwRDAKKzowODk4OTgwMDhCNTk4QTVBODk1QjhENUMzMworOjEwOThBMDAwRTRGNTVERjU1RUFGNUMxNTVDRUY2MDM2QUI1OTA1NUJDQQorOjEwOThCMDAwRTU1QkFBNUE3MDAyMDU1QTE0RjkxMkEyM0JGRkU1NUQ1NgorOjEwOThDMDAwRTU1RTZGMjVFMEZGRTQzM0ZFNzQ5NTJGRjU4MkVFMzRGQworOjEwOThEMDAwOUVGNTgzRTU1REZGRTQ5M0Y1NUQ3NDAxOTM2RkY1NUU5RQorOjA2OThFMDAwODBDM0FFNURBRjVFMjcKKzowMTk4RTYwMDIyNUYKKzowQjk4RTcwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTg2NAorOjEwOThGMjAwOTAyMDYwRTA1NDBGRkUzMEUwMDU5MDIwMDJFMEZGRUU4MQorOjEwOTkwMjAwMzBFMTA1OTAyMDBBRTBGRkVFMzBFMjA1OTAyMDEyRTBGRgorOjEwOTkxMjAwRkZFRTMwRTMwNTkwMjAxQUUwRkY5MDAxQzRFMEI1MUU4RgorOjBBOTkyMjAwMDRFNEYwODAwNTkwMDFDNEVFRjBBQgorOjA5OTkyQzAwRDBEMEQwODJEMDgzRDBFMDMyMEIKKzowMjk5MzUwMEE5MDM4NAorOjEwOTkzNzAwRUY3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUI4MkZBRTU0MQorOjEwOTk0NzAwNUM0NTVERjU1RUU5NjAxNDhBODNFNTgyMjQwNEY1ODI0RgorOjEwOTk1NzAwRTQzNTgzRjU4M0UwNERGMEU0RkU4MDEzRUIyNDA0RjU1MgorOjEwOTk2NzAwODJFNDNBRjU4M0UwRkZFREY0RkNFRjVDRjBBRTVFRUJFQQorOjEwOTk3NzAwMjQwNkY1ODJFNDNBRjU4M0UwNTU1RUZDQjUwNjAzQUZBRAorOjEwOTk4NzAwMDUyMkU1NUM1Q0ZFRTU1RDVDRkRFOTYwMTZFRTcwMDRCMgorOjEwOTk5NzAwN0YwMTgwMDI3RjAwQUUwN0VENzAwNDdGMDE4MDAyN0ZBOAorOjEwOTlBNzAwMDBBRDA3RUU2MDAzQUY1QzIyRUQ2MDAzQUY1RDIyN0Y4MQorOjAxOTlCNzAwMDBBRgorOjAxOTlCODAwMjI4QworOjEwOTlCOTAwNzU1NTAyNzU1NkIwOTAwMzM1NzQwRkYwODU1NjgyODUzQQorOjEwOTlDOTAwNTU4M0EzRTBGRjkwMDMzN0YwODU1NjgyODU1NTgzRTBFMAorOjEwOTlEOTAwOTAwMzM2RjA5MDAzMzg3NEZGRjA3NTU3MDM3NTU4MzlDMgorOjEwOTlFOTAwRUYxNEI0MEIwMDQwMDMwMjlFNUQ5MDk5RkFGODI4MjgwMQorOjEwOTlGOTAwNzMwMjlBMUIwMjlBQkEwMjlCQkYwMjlCREUwMjlCREU4QworOjEwOUEwOTAwMDI5Qzk0MDI5Q0NGMDI5Q0Y0MDI5REIyMDI5REUyMDI0OAorOjEwOUExOTAwOUUwRUU0RjU0RUU1NEU3NUYwMDhBNDI0MDBGNTgyRTRBNworOjEwOUEyOTAwMzQyMEFGODJGNTUzOEY1NEU0RkZFNEZFRUY2MDEwNzRFNQorOjEwOUEzOTAwOEEyRUY1ODJFNDM0MDJGNTgzRTBGNEY1NEY4MDBENzQ0MworOjEwOUE0OTAwOEEyRUY1ODJFNDM0MDJGNTgzRTBGNTRGRTU1NDI0MDdDNAorOjEwOUE1OTAwRjU4MkU0MzU1M0Y1ODNFNTRGRjBFMEY1NTA2NTRGNjA0NQorOjEwOUE2OTAwMzhFNDkwMDMzOEYwRTU0RTA0RkQwNTU4RTU1OEFBNTc0NworOjEwOUE3OTAwNzAwMjA1NTcxNEY1ODI4QTgzRURGMDA1NThFNTU4QUM1NAorOjEwOUE4OTAwNTc3MDAyMDU1NzE0RjU4MjhDODNFNTRGRjA4NTU4ODI4QgorOjEwOUE5OTAwODU1NzgzRTU1MEYwMDI5RTYzMEVCRTI0OEYwRkVGNjQ1NQorOjEwOUFBOTAwMDI3MDg3MDU0RUU1NEU2NDA0NjAwMzAyOUExRTAyOUUwOQorOjEwOUFCOTAwNjNFNEY1NEVBRjRFRTRGRDEyODM1QTA1NEVFNTRFRDNFRAorOjEwOUFDOTAwOTQwMzQwRjA5MDAwMDQ3NDk4RjBBMzc0RTdGMEU0RjU2RgorOjEwOUFEOTAwNTA3RTIwN0YwMDc1NTMyMDc1NTQwMEY1NEVBRjRFNzRBQgorOjEwOUFFOTAwMDFBODA3MDg4MDAyQzMzM0Q4RkNGNTRGOTAwMUM0RjBFMAorOjEwOUFGOTAwOTAwMUMwRTRGMEEzNzQwQUYwODU1NDgyODU1MzgzQTNDRQorOjEwOUIwOTAwNzQwMkYwOTAwMUM0RTBCNTRGMzQ5MDAxQzBFMDcwMDJENgorOjEwOUIxOTAwQTNFMDcwRUY5MDAzMzhGMEU1NEUwNEZGMDU1OEU1NThDRgorOjEwOUIyOTAwQUM1NzcwMDIwNTU3MTRGNTgyOEM4M0VGRjA4NTU4ODI4MworOjEwOUIzOTAwODU1NzgzNzRGRkYwRTQ5MDAxQzRGMDc1NTBGRjkwMDFEQworOjEwOUI0OTAwQzRFMEZGNjAzN0U0OTAwMzM4RjBFNTRFMDRGRTA1NThBMQorOjEwOUI1OTAwRTU1OEFDNTc3MDAyMDU1NzE0RjU4MjhDODNFRUYwMDU3MQorOjEwOUI2OTAwNThFNTU4QUM1NzcwMDIwNTU3MTRGNTgyOEM4M0VGRjAwRAorOjEwOUI3OTAwODU1ODgyODU1NzgzRTU0RkYwNzU1MEZGRTU1MDcwMTY3QgorOjEwOUI4OTAwNzQwODI1NTRGNTU0RTQzNTUzRjU1MzA1NEVFNTRFNjRGMAorOjEwOUI5OTAwMDQ2MDAzMDI5QUU2RTRGNTRFQUY0RTdEMDExMjgzNUE0MgorOjEwOUJBOTAwMDU0RUU1NEVEMzk0MDM0MEYwOTAwMDA0NzQxM0YwQTNERQorOjEwOUJCOTAwNzQxMkYwMDI5RTYzODU1NjgyODU1NTgzRTAxNEZGNzQwMgorOjEwOUJDOTAwMDFBODA3MDg4MDAyQzMzM0Q4RkM5MDAyRjdGMDkwMDE3RQorOjEwOUJEOTAwQzRGMDAyOUU2MzkwMDFDMDc0MDNGMEEzNzRFOEYwRTQzQQorOjEwOUJFOTAwRjU1MDkwMDJGN0UwRkY5MDAxQzRFMEI1MDcxOTkwMDEyNAorOjEwOUJGOTAwQzBFMDcwMDJBM0UwNzBFQTkwMDMzOEYwODU1ODgyODVDRQorOjEwOUMwOTAwNTc4Mzc0RkZGMEY1NTBFNTUwNjAwMzAyOUU2MzkwMDE5RAorOjEwOUMxOTAwQzBGMEEzNzQ5NkYwOTAwMUMwRTA3MDAyQTNFMDcwRjY2MgorOjEwOUMyOTAwRTUzM0MzOTQwMTQwMEQ5MDIwNzhFMDU0MEY3NTUxMDAzRAorOjEwOUMzOTAwRjU1MjgwMDk3RjAyMTIxMTI3OEU1MThGNTJDM0U1NTFDNworOjEwOUM0OTAwNjQ4MDk0ODA0MERBRTU1MjU0MEZGNTUwOTAwMkY3RTBCMQorOjEwOUM1OTAwNTU1MDcwMDQ3RjAxODAwMjdGMDA4RjRGODU1NjgyODVBMQorOjEwOUM2OTAwNTU4M0EzRTBCNDA1MENFNTRGNzAwNDdGMDE4MDAyN0ZBMgorOjEwOUM3OTAwMDA4RjRGRTU0RjcwMDMwMjlFNjNFNDkwMDMzOEYwODUyRgorOjEwOUM4OTAwNTg4Mjg1NTc4M0U1NTBGMDAyOUU2M0U0RkZGRDEyODNGNQorOjEwOUM5OTAwNUE3RTIwN0YwMDc1NTMyMDc1NTQwMDg1NTQ4Mjg1NTM2MAorOjEwOUNBOTAwODNBM0EzQTNFMDQ0ODBGMDg1NTQ4Mjg1NTM4Mzc0MDE4MAorOjEwOUNCOTAwRjBBM0U0RjA4NTU0ODI4NTUzODNBM0EzQTNFMDU0N0ZFMgorOjEwOUNDOTAwRjBEMjA0MDI5RTYzQzIwNDdFMjA3RjAwNzU1MzIwNzU4MgorOjEwOUNEOTAwNTQwMEU1NTQyNDA1RjU4MkU0MzU1M0Y1ODNFMDMwRTY3NAorOjEwOUNFOTAwRjFFNEZGN0QwMTEyODM1QTAyOUU2M0U0RjU1MEY1NEVCQgorOjEwOUNGOTAwQUY0RUU0RkQxMjgzNUFFNTRFNzVGMDA4QTQyNDAwRjUzMQorOjEwOUQwOTAwODJFNDM0MjBBRjgyRjU1MzhGNTRGNTgzRTU4MjI0MDQyRAorOjEwOUQxOTAwRjU4MkU0MzU4M0Y1ODNFMDU0RkNGMEFGNEU3RDAxN0I5OQorOjEwOUQyOTAwMDE3NTVDODA3NTVENDAxMjk5MzU4RjUwRTU1MDcwMTE1MQorOjEwOUQzOTAwQUY0RTdEMDI3QjAxNzU1QzEwNzU1RDIwMTI5OTM1OEZFMAorOjEwOUQ0OTAwNTBFNTUwNzAxMEFGNEU3RDAxRkI3NTVDODA3NTVENDAyQworOjEwOUQ1OTAwMTI5OTM1OEY1MEU1NTA3MDEwQUY0RTdEMDJGQjc1NUMzRQorOjEwOUQ2OTAwMTA3NTVEMjAxMjk5MzU4RjUwQUY0RTdEMDExMjgzNUFCRgorOjEwOUQ3OTAwRTU1MDYwMjZFNDkwMDMzOEYwRTU0RTA0RkYwNTU4RTUwOAorOjEwOUQ4OTAwNThBQzU3NzAwMjA1NTcxNEY1ODI4QzgzRUZGMDg1NTg0QgorOjEwOUQ5OTAwODI4NTU3ODNFNTUwRjAwMjlFNjMwNTRFRTU0RUQzOTRDNAorOjEwOURBOTAwMDM1MDAzMDI5Q0Y5MDI5RTYzRTQ5MDAzNTlGMEEzRjA2NworOjEwOURCOTAwQTNGMEEzRjBBM0YwQTM3NDEwRjBBMzc0OUVGMEEzNzQwRQorOjEwOURDOTAwODVGMDdFMDM3RjU5MTI4MUQ5RUY2NDA4NzAwMzAyOUVFMgorOjEwOUREOTAwNjNFNDkwMDMzOEYwMDI5RTYzRTQ5MDAzNTlGMEEzRjAyMgorOjEwOURFOTAwQTNGMEEzRjBBM0YwQTM3NDEwRjBBM0U1NTdGMEEzRTU0MworOjEwOURGOTAwNThGMDdFMDM3RjU5MTIxOUMxRUY2NDA4NjA1Q0U0OTA0MgorOjEwOUUwOTAwMDMzOEYwODA1NUU1NTYyNDAyRkZFNDM1NTVGQUE5MDdEMQorOjEwOUUxOTAwN0IwMTdEMTAxMjk4OThFRjRFNzAzMjkwMDM1OUYwQTM5MAorOjEwOUUyOTAwRjBBM0YwQTNGMEEzRjBBMzc0MTBGMEU1NTYyNDAyOTA3OAorOjEwOUUzOTAwMDM2MEYwRTQzNTU1OTAwMzVGRjA3RTAzN0Y1OTEyODE4QQorOjEwOUU0OTAwRDlFRjY0MDg2MDE0RTQ5MDAzMzhGMDgwMERFNDkwMDNCRQorOjEwOUU1OTAwMzhGMDgwMDY5MDAzMzg3NDAxRjA5MDAxQzBFNEYwQTM1MworOjEwOUU2OTAwNzQwQUYwOTAwMUMwRTA3MDAyQTNFMDcwRjY3RTAzN0ZFRgorOjBCOUU3OTAwMzU3RDI0MTI5MTZBRTQ5MDAyQUZGMEU2Cis6MDE5RTg0MDAyMkJCCis6MTA5RTg1MDBGRkZFRkNGOEYwRTBDMDgwMDAwMTAzMDcwRjFGM0Y3RkQ1Cis6MTA5RTk1MDAwMDAwQzBDMUMxODEwMTQwQzMwMTAzQzAwMjgwQzI0MUFECis6MTA5RUE1MDBDNjAxMDZDMDA3ODBDNzQxMDUwMEM1QzFDNDgxMDQ0MDdECis6MTA5RUI1MDBDQzAxMENDMDBEODBDRDQxMEYwMENGQzFDRTgxMEU0MDJECis6MTA5RUM1MDAwQTAwQ0FDMUNCODEwQjQwQzkwMTA5QzAwODgwQzg0MTNECis6MTA5RUQ1MDBEODAxMThDMDE5ODBEOTQxMUIwMERCQzFEQTgxMUE0MEFECis6MTA5RUU1MDAxRTAwREVDMURGODExRjQwREQwMTFEQzAxQzgwREM0MTdECis6MTA5RUY1MDAxNDAwRDRDMUQ1ODExNTQwRDcwMTE3QzAxNjgwRDY0MUFECis6MTA5RjA1MDBEMjAxMTJDMDEzODBEMzQxMTEwMEQxQzFEMDgxMTA0MEJDCis6MTA5RjE1MDBGMDAxMzBDMDMxODBGMTQxMzMwMEYzQzFGMjgxMzI0MEFDCis6MTA5RjI1MDAzNjAwRjZDMUY3ODEzNzQwRjUwMTM1QzAzNDgwRjQ0MTdDCis6MTA5RjM1MDAzQzAwRkNDMUZEODEzRDQwRkYwMTNGQzAzRTgwRkU0MTJDCis6MTA5RjQ1MDBGQTAxM0FDMDNCODBGQjQxMzkwMEY5QzFGODgxMzg0MDNDCis6MTA5RjU1MDAyODAwRThDMUU5ODEyOTQwRUIwMTJCQzAyQTgwRUE0MUFDCis6MTA5RjY1MDBFRTAxMkVDMDJGODBFRjQxMkQwMEVEQzFFQzgxMkM0MDdDCis6MTA5Rjc1MDBFNDAxMjRDMDI1ODBFNTQxMjcwMEU3QzFFNjgxMjY0MEFDCis6MTA5Rjg1MDAyMjAwRTJDMUUzODEyMzQwRTEwMTIxQzAyMDgwRTA0MUJDCis6MTA5Rjk1MDBBMDAxNjBDMDYxODBBMTQxNjMwMEEzQzFBMjgxNjI0MEFDCis6MTA5RkE1MDA2NjAwQTZDMUE3ODE2NzQwQTUwMTY1QzA2NDgwQTQ0MTdDCis6MTA5RkI1MDA2QzAwQUNDMUFEODE2RDQwQUYwMTZGQzA2RTgwQUU0MTJDCis6MTA5RkM1MDBBQTAxNkFDMDZCODBBQjQxNjkwMEE5QzFBODgxNjg0MDNDCis6MTA5RkQ1MDA3ODAwQjhDMUI5ODE3OTQwQkIwMTdCQzA3QTgwQkE0MUFDCis6MTA5RkU1MDBCRTAxN0VDMDdGODBCRjQxN0QwMEJEQzFCQzgxN0M0MDdDCis6MTA5RkY1MDBCNDAxNzRDMDc1ODBCNTQxNzcwMEI3QzFCNjgxNzY0MEFDCis6MTBBMDA1MDA3MjAwQjJDMUIzODE3MzQwQjEwMTcxQzA3MDgwQjA0MUJCCis6MTBBMDE1MDA1MDAwOTBDMTkxODE1MTQwOTMwMTUzQzA1MjgwOTI0MUFCCis6MTBBMDI1MDA5NjAxNTZDMDU3ODA5NzQxNTUwMDk1QzE5NDgxNTQ0MDdCCis6MTBBMDM1MDA5QzAxNUNDMDVEODA5RDQxNUYwMDlGQzE5RTgxNUU0MDJCCis6MTBBMDQ1MDA1QTAwOUFDMTlCODE1QjQwOTkwMTU5QzA1ODgwOTg0MTNCCis6MTBBMDU1MDA4ODAxNDhDMDQ5ODA4OTQxNEIwMDhCQzE4QTgxNEE0MEFCCis6MTBBMDY1MDA0RTAwOEVDMThGODE0RjQwOEQwMTREQzA0QzgwOEM0MTdCCis6MTBBMDc1MDA0NDAwODRDMTg1ODE0NTQwODcwMTQ3QzA0NjgwODY0MUFCCis6MTBBMDg1MDA4MjAxNDJDMDQzODA4MzQxNDEwMDgxQzE4MDgxNDA0MEJCCis6MTBBMDk1MDBFNEZGNzRGODJGRjU4MkU0MzQwMkY1ODNFMDcwMDMwMkRGCis6MTBBMEE1MDBBMTM4NzQzQTJGRjhFNjIwRTUwMzAyQTEzOEVGNzVGMEUwCis6MTBBMEI1MDAwOEE0MjQwMEY1ODJFNDM0MjBBRDgyRkNGNTgzRTU4MjEyCis6MTBBMEM1MDAyNDA1RjU4MkU0MzU4M0Y1ODNFMDU0NjA2NDYwNzA2M0FDCis6MTBBMEQ1MDBFRjI1RTAyNEVGRjU4MkU0MzQwMkY1ODNFNDc1RjAwMTIxCis6MTBBMEU1MDAxMkEyOTc4NUYwODJGNTgzRTA4RDgyOEM4M0YwNzRGODU3Cis6MTBBMEY1MDAyRkY1ODJFNDM0MDJGNTgzRTAxNEYwNzAzNkVGMjVFMEE1Cis6MTBBMTA1MDAyNEM3RjU4MkU0MzQ3RkY1ODNFNEYwRUYyNUUwRkVDMzUwCis6MTBBMTE1MDA3NDBDOUU3NUYwNDBBNDI0NDBGNTgyRTVGMDM0N0JBREM3Cis6MTBBMTI1MDA4MkZDRUYyNUUwMjRFRkY1ODJFNDM0MDJGNTgzRUNGMEMwCis6MENBMTM1MDBBM0VERjAwRkVGNjQwNDYwMDMwMkEwOTc5QworOjAxQTE0MTAwMjJGQgorOjEwQTE0MjAwRTcwOUY2MDhERkZBODA0NkU3MDlGMjA4REZGQTgwM0VGRgorOjEwQTE1MjAwODg4MjhDODNFNzA5RjBBM0RGRkE4MDMyRTMwOUY2MDhFQworOjEwQTE2MjAwREZGQTgwNzhFMzA5RjIwOERGRkE4MDcwODg4MjhDODM1NAorOjEwQTE3MjAwRTMwOUYwQTNERkZBODA2NDg5ODI4QTgzRTBBM0Y2MDgwOAorOjEwQTE4MjAwREZGQTgwNTg4OTgyOEE4M0UwQTNGMjA4REZGQTgwNENFMgorOjEwQTE5MjAwODBEMjgwRkE4MEM2ODBENDgwNjk4MEYyODAzMzgwMTBCOQorOjEwQTFBMjAwODBBNjgwRUE4MDlBODBBODgwREE4MEUyODBDQTgwMzMyMgorOjEwQTFCMjAwODk4MjhBODNFQ0ZBRTQ5M0EzQzhDNTgyQzhDQ0M1ODM5QQorOjEwQTFDMjAwQ0NGMEEzQzhDNTgyQzhDQ0M1ODNDQ0RGRTlERUU3ODA2QQorOjEwQTFEMjAwMEQ4OTgyOEE4M0U0OTNBM0Y2MDhERkY5RUNGQUE5RjBFOQorOjEwQTFFMjAwRURGQjIyODk4MjhBODNFQ0ZBRTBBM0M4QzU4MkM4Q0MzRgorOjEwQTFGMjAwQzU4M0NDRjBBM0M4QzU4MkM4Q0NDNTgzQ0NERkVBREU1OAorOjEwQTIwMjAwRTg4MERCODk4MjhBODNFNDkzQTNGMjA4REZGOTgwQ0NCOQorOjEwQTIxMjAwODhGMEVEMjQwMkI0MDQwMDUwQzJGNTgyRUIyNDAyQjRBQgorOjEwQTIyMjAwMDQwMDUwQjgyMzIzNDU4MkY1ODJFRjRFNjBBRUVGNjAwMgorOjA5QTIzMjAwMDEwRUU1ODIyMzkwQTE5MjczNTQKKzoxMEEyM0IwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMjEKKzowOUEyNEIwMEUzMjI4OTgyOEE4M0U0OTMyMjU0Cis6MTBBMjU0MDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEJGCis6MTBBMjY0MDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjA5Cis6MERBMjc0MDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjIzCis6MTBBMjgxMDBDNUYwRjhBM0UwMjhGMEM1RjBGOEU1ODIxNTgyNzAwMjY4Cis6MDZBMjkxMDAxNTgzRTAzOEYwMjIwNQorOjEwQTI5NzAwQTNGOEUwQzVGMDI1RjBGMEU1ODIxNTgyNzAwMjE1ODM3QQorOjA2QTJBNzAwRTBDODM4RjBFODIyRDcKKzoxMEEyQUQwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRUYKKzoxMEEyQkQwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFQ0MKKzoxMEEyQ0QwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMTIKKzowOEEyREQwMEU5OTNGNUYwQTNFOTkzMjJENworOjEwQTJFNTAwNzVGMDA4NzU4MjAwRUYyRkZGRUUzM0ZFQ0QzM0NEQ0MzMAorOjEwQTJGNTAwMzNDQ0M1ODIzM0M1ODI5QkVEOUFFQzk5RTU4Mjk4NDBCMworOjEwQTMwNTAwMENGNTgyRUU5QkZFRUQ5QUZERUM5OUZDMEZENUYwRDY4RgorOjEwQTMxNTAwRTRDRUZCRTRDREZBRTRDQ0Y5QTg4MjIyQjgwMEMxQjlCOQorOjEwQTMyNTAwMDA1OUJBMDAyREVDOEJGMDg0Q0ZDRUNERkNFNUYwQ0JGNworOjEwQTMzNTAwRjk3ODE4RUYyRkZGRUUzM0ZFRUQzM0ZERUMzM0ZDRUIzMAorOjEwQTM0NTAwMzNGQjEwRDcwMzk5NDAwNEVCOTlGQjBGRDhFNUU0RjlFQgorOjEwQTM1NTAwRkEyMjc4MThFRjJGRkZFRTMzRkVFRDMzRkRFQzMzRkNEOAorOjEwQTM2NTAwQzkzM0M5MTBENzA1OUJFOTlBNDAwN0VDOUJGQ0U5OUFDQworOjEwQTM3NTAwRjkwRkQ4RTBFNEM5RkFFNENDRkIyMjc1RjAxMEVGMkYxMQorOjEwQTM4NTAwRkZFRTMzRkVFRDMzRkRDQzMzQ0NDODMzQzgxMEQ3MDcxMQorOjEwQTM5NTAwOUJFQzlBRTg5OTQwMEFFRDlCRkRFQzlBRkNFODk5Rjg0QworOjBFQTNBNTAwMEZENUYwREFFNENERkJFNENDRkFFNEM4RjkyMkRGCis6MTBBM0IzMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDAwCis6MDFBM0MzMDAyMjc3Cis6MTBBM0M0MDBFODYwMEZFQ0MzMTNGQ0VEMTNGREVFMTNGRUVGMTNGRjc3Cis6MDNBM0Q0MDBEOEYxMjI5QgorOjEwQTNENzAwMDgwODA4RTZDRjJGRjYxOEU2Q0UzRUY2MThFNkNEM0Q3QworOjA3QTNFNzAwRjYxOEU2Q0MzQ0Y2MjI1QgorOjBDQTNFRTAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyRTIKKzoxMEEzRkEwMEE4ODI4NTgzRjBEMDgzRDA4MjEyQTQxMTEyQTQxMTEyRUMKKzoxMEE0MEEwMEE0MTExMkE0MTFFNDczRTQ5M0EzQzU4M0M1RjBDNTgzMTAKKzoxMEE0MUEwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4QUMKKzowMUE0MkEwMDIyMEYKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyLkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNjYzZjYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyLkhFWApAQCAtMCwwICsxLDMxNCBAQAorOjAzMDAwMDAwMDIwOThENjUKKzowMzAwMzMwMDAyMDhGQkM1Cis6MDMwMDQzMDAwMjBCMDBBRAorOjAzMDA0QjAwMDIwNUFBMDEKKzoxMDAxMDAwMDkwN0ZBNUUwNTQxMEZGQzQ1NDBGNDQ1MEY1MEYxM0U0NDIKKzoxMDAxMTAwMDMzRjUxMTkwN0ZFOUUwMjQ1RUI0MDcwMDQwMDMwMjAzNDkKKzoxMDAxMjAwMDc4OTAwMTI4RjgyODI4NzMwMjAxQkMwMjAxQkMwMjAxNjIKKzoxMDAxMzAwMDkxMDIwMTNEMDIwMTUzMDIwMTZGMDIwMTlBOTA3RjAwN0EKKzoxMDAxNDAwMEU1MTFGMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMkYwQzcKKzoxMDAxNTAwMDAyMDM3ODkwN0Y5MkUwRkZDNDU0MEY5MDdGMDBGMDkwRUMKKzoxMDAxNjAwMDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDJGMDAyMDM3ODEyOEUKKzoxMDAxNzAwMDBBODk1MDA3RTQ5MDdGMDBGMDgwMDY5MDdGMDA3NDBGOUEKKzoxMDAxODAwMEYwOTA3RkI1NzQwMUYwOTA3RkI0RTA0NDAyRjAwMjAzNzgKKzoxMDAxOTAwMDc4OTA3RkVBRTBGNTBGMDIwMzc4OTA3RjAwNzQwN0YwMTMKKzoxMDAxQTAwMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMkYwN0ZFODdFNjgKKzoxMDAxQjAwMDAzMTIwRDk0RDIwNjEyMENDQzAyMDM3ODkwN0ZFQUUwNzEKKzoxMDAxQzAwMDc1MjgwMEY1MjlBM0UwRkVFNEVFNDIyODkwN0ZFRUUwREEKKzoxMDAxRDAwMDc1MkEwMEY1MkJBM0UwRkVFNEVFNDIyQTkwN0ZFOEUwQ0EKKzoxMDAxRTAwMDY0QzA2MDAzMDIwMkM5RTUyQjQ1MkE3MDAzMDIwMzc4NEMKKzoxMDAxRjAwMEMzRTUyQjk0NDBFNTJBOTQwMDUwMDg4NTJBMkM4NTJCRDIKKzoxMDAyMDAwMDJEODAwNjc1MkMwMDc1MkQ0MDkwN0ZFOUUwNjRBMzcwNjkKKzoxMDAyMTAwMDM0RjUzMEY1MzFDM0U1MzE5NTJERTUzMDk1MkM1MDVDNDIKKzoxMDAyMjAwMEU1MjkyNTMxRjU4MkU1MzAzNTI4RjU4M0UwRkY3NDAwQjYKKzoxMDAyMzAwMDI1MzFGNTgyRTQzNDdGRjU4M0VGRjAwNTMxRTUzMTcwNDcKKzoxMDAyNDAwMDAyMDUzMDgwRDBFNEY1MzBGNTMxQzNFNTMxOTUyREU1NzgKKzoxMDAyNTAwMDMwOTUyQzUwMTg3NDAwMjUzMUY1ODJFNDM0N0ZGNTgzRjUKKzoxMDAyNjAwMDc0Q0RGMDA1MzFFNTMxNzAwMjA1MzA4MEREQUYyOUFFODcKKzoxMDAyNzAwMDI4QUQyRDdBN0Y3OTAwN0IwMDEyMEJGNDkwN0ZCNUU1RDUKKzoxMDAyODAwMDJERjBFNTJEMjUyOUY1MjlFNTJDMzUyOEY1MjhDM0U1QTAKKzoxMDAyOTAwMDJCOTUyREY1MkJFNTJBOTUyQ0Y1MkE5MDdGOTJFMEZGRTIKKzoxMDAyQTAwMEM0NTQwRjc1MkUwMEY1MkZEMzk0MDBFNTJFOTQwMDUwMDIKKzoxMDAyQjAwMDBDOTA3RkI0RTAyMEUxMDMwMjAxRTc4MEY0OTA3RkI0NkEKKzoxMDAyQzAwMEUwMjBFMjAzMDIwMUU3ODBGNDkwN0ZFOEUwNjQ0MDYwMTAKKzoxMDAyRDAwMDAzMDIwMzc4RTUyQjQ1MkE3MDAzMDIwMzc4RTQ5MDdGM0MKKzoxMDAyRTAwMEM1RjA5MDdGOTJFMEZGQzQ1NDBGNzUyRTAwRjUyRkQzMTgKKzoxMDAyRjAwMDk0MDBFNTJFOTQwMDUwMDk5MDdGQzRFMDMwRTEwOTgwMUQKKzoxMDAzMDAwMEY3OTA3RkI0RTAyMEUzRjk5MDdGQzVFMDc1MkMwMEY1MEQKKzoxMDAzMTAwMDJEOTA3RkU5RTA2NEEzNzAzNEY1MzBGNTMxQzNFNTMxMDkKKzoxMDAzMjAwMDk1MkRFNTMwOTUyQzUwMzQ3NEMwMjUzMUY1ODJFNDM0OTgKKzowMTAzMzAwMDdFNEUKKzoxMDAzMzEwMEY1ODNFMEZGRTUyOTI1MzFGNTgyRTUzMDM1MjhGNTgzQTAKKzoxMDAzNDEwMEVGRjAwNTMxRTUzMTcwMDIwNTMwODBEMEFGMjlBRTI4REMKKzoxMDAzNTEwMEFEMkQ3QTdFNzlDMDdCQzAxMjBDM0ZFNTJEMjUyOUY1QTQKKzoxMDAzNjEwMDI5RTUyQzM1MjhGNTI4QzNFNTJCOTUyREY1MkJFNTJBMTQKKzowOTAzNzEwMDk1MkNGNTJBMDIwMkQ0QzMyMkU2Cis6MTAwMzdBMDA5MDdGRTlFMDcwMDMwMjA0NTIxNDcwMDMwMjA0Q0UyNDUxCis6MTAwMzhBMDBGRTcwMDMwMjA1NDIyNEZCNzAwMzAyMDQ0QzE0NzAwMzNFCis6MTAwMzlBMDAwMjA0NDYxNDcwMDMwMjA0M0ExNDcwMDMwMjA0NDAyNDRGCis6MTAwM0FBMDAwNTYwMDMwMjA1OTYxMjBFNDQ0MDAzMDIwNUEyOTA3RkRGCis6MTAwM0JBMDBFQkUwMjRGRTYwMTYxNDYwNDAyNDAyNzA2OTc0MTE5MDA4Cis6MTAwM0NBMDA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA1QTI5MDdGRUFFMDE2Cis6MTAwM0RBMDBGRjEyMEI1ODhCMjU4QTI2ODkyN0VBNDk2MDExQUUwMjNCCis6MTAwM0VBMDBFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QTI5MDk2Cis6MTAwM0ZBMDA3RkI0RTA0NDAxRjAwMjA1QTI5MDdGRUFFMEZGMTIwODEwCis6MTAwNDBBMDBCQThCMjU4QTI2ODkyN0VBNDk2MDExQUUwMkVFOTA3RkM3Cis6MTAwNDFBMDBENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QTI5MDdGQjRFMDRGCis6MTAwNDJBMDA0NDAxRjAwMjA1QTI5MDdGQjRFMDQ0MDFGMDAyMDVBMjYzCis6MTAwNDNBMDAxMjBFMUYwMjA1QTIxMjBFMkQwMjA1QTIxMjBBRjcwMkJGCis6MTAwNDRBMDAwNUEyMTIwRTExMDIwNUEyMTIwRTQ2NDAwMzAyMDVBMkNGCis6MTAwNDVBMDA5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjVDCis6MTAwNDZBMDAwMEU0MzNGRjI1RTBGRkEyMDJFNDMzNEY5MDdGMDBGMDVGCis6MTAwNDdBMDBFNEEzRjA5MDdGQjU3NDAyRjAwMjA1QTJFNDkwN0YwMDM1Cis6MTAwNDhBMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QTI5MDdGRUNFMDMxCis6MTAwNDlBMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNDFFCis6MTAwNEFBMDBGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBMzA1Cis6MTAwNEJBMDBGMDkwN0ZCNTc0MDJGMDAyMDVBMjkwN0ZCNEUwNDQwMTg3Cis6MTAwNENBMDBGMDAyMDVBMjEyMEU0ODQwMDMwMjA1QTI5MDdGRThFMDVFCis6MTAwNERBMDAyNEZFNjAxRDI0MDI2MDAzMDIwNUEyOTA3RkVBRTBCNEI0Cis6MTAwNEVBMDAwMTA1QzIwMDAyMDVBMjkwN0ZCNEUwNDQwMUYwMDIwNUIyCis6MTAwNEZBMDBBMjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDY5Cis6MTAwNTBBMDA1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RjJBCis6MTAwNTFBMDBGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRjJCCis6MTAwNTJBMDBGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNjk5MEQ1Cis6MTAwNTNBMDA3RkI0RTA0NDAxRjA4MDYwMTIwRTRBNTA1QjkwN0ZFODdECis6MTAwNTRBMDBFMDI0RkU2MDE4MjQwMjcwNEY5MDdGRUFFMEI0MDEwNEIwCis6MTAwNTVBMDBEMjAwODA0NDkwN0ZCNEUwNDQwMUYwODAzQjkwN0ZFQTZGCis6MTAwNTZBMDBFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDY5Cis6MTAwNTdBMDA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMTBGCis6MTAwNThBMDBGMDgwMTU5MDdGQjRFMDQ0MDFGMDgwMEMxMjAxMDA1MDE1Cis6MTAwNTlBMDAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMjc3Cis6MTAwNUFBMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDkyCis6MTAwNUJBMDBEMEMwMDBDMDAxQzAwMkMwMDNDMDA2QzAwNzkwN0ZBNTFBCis6MTAwNUNBMDBFMDMwRTIwNjc1MEQwNjAyMDY3NjkwN0ZBNUUwMjBFMThFCis6MTAwNURBMDAwQ0U1MEQ2NDAyNjAwNjc1MEQwNzAyMDY3NkFGMERFRjk1Cis6MTAwNUVBMDAyNEZFNjA0ODE0NjAyQzI0RkU2MDc3MjQwNDYwMDMwMjExCis6MTAwNUZBMDAwNjc2QUIwOUFBMEFBOTBCQUYwQzA1MEM4RjgyNzU4Mzg0Cis6MTAwNjBBMDAwMDEyMDgyMjkwN0ZBNkYwRTUwQzY1MDg3MDVFNzUwRDUxCis6MTAwNjFBMDAwNTgwNTk5MDdGQTZFMEFCMDlBQTBBQTkwQkFFMEM4RUY5Cis6MTAwNjJBMDA4Mjc1ODMwMDEyMDg0Rjc1MEQwMjgwNDBFNTA4MjRGRThBCis6MTAwNjNBMDBCNTBDMDc5MDdGQTVFMDQ0MjBGMEU1MDgxNEI1MEMwQTM0Cis6MTAwNjRBMDA5MDdGQTVFMDQ0NDBGMEU0RjUwRDkwN0ZBNkUwQUIwOTY5Cis6MTAwNjVBMDBBQTBBQTkwQkFFMEM4RTgyNzU4MzAwMTIwODRGMDUwQ0VDCis6MTAwNjZBMDA4MDBBOTA3RkE1RTA0NDQwRjBFNEY1MEQ1MzkxREZEMDc1Cis6MTAwNjdBMDAwN0QwMDZEMDAzRDAwMkQwMDFEMDAwRDBEMEQwODZEMDg3Cis6MEEwNjhBMDA4NEQwODVEMDgyRDA4M0QwRTAzMjA2Cis6MTAwNjk0MDA4QzMzOEQzNDkwN0Y5NUUwNDRDMEYwRTRGNTM1RjUzNjI1Cis6MTAwNkE0MDBDM0U1MzY5NTM0RTUzNTk1MzM1MDY5RUYyNTM2RjU4MjQzCis6MTAwNkI0MDBFNTM1M0VGNTgzNzRGRkYwRjQ2MDAyQzMyMkVGMjUzNjdFCis6MTAwNkM0MDBGNTgyRTUzNTNFRjU4M0U0RjA2MDAyQzMyMkVGMjUzNjdBCis6MTAwNkQ0MDBGNTgyRTUzNTNFRjU4Mzc0QUFGMDY0QUE2MDAyQzMyMjZDCis6MTAwNkU0MDBFRjI1MzZGNTgyRTUzNTNFRjU4Mzc0NTVGMDY0NTU2MEEzCis6MTAwNkY0MDAwMkMzMjJBRDM2RTUzNjJGRjU4MkU1MzUzRUY1ODNFREFFCis6MTAwNzA0MDBGMEZDQUMwNUVENkM2MDAyQzMyMjA1MzZFNTM2NzAwMkUwCis6MTAwNzE0MDAwNTM1ODA4Q0U0RjUzNUY1MzZDM0U1MzY5NTM0RTUzNTk1Cis6MTAwNzI0MDA5NTMzNTAyN0VGMjUzNkY1ODJFNTM1M0VGNTgzRTA2NUIwCis6MTAwNzM0MDAzNjYwMDJDMzIyRUYyNTM2RjU4MkU1MzUzRUY1ODNFNEMzCis6MEQwNzQ0MDBGMDA1MzZFNTM2NzAwMjA1MzU4MENFRDMyMjczCis6MTAwNzUxMDBDMjA0RDIwNUMyMDNDMjAwQzIwMkMyMDExMjBFM0REMkJFCis6MTAwNzYxMDBFODQzRDgyMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RjkxCis6MTAwNzcxMDBBQUYwNTM5MUVGOTA3Rjk1RTA0NEMwRjA5MDdGOTM3NDdECis6MTAwNzgxMDAzMEYwMTIwQTE5OTA3RkFGRTA0NDAxRjA5MDdGQUVFMEEzCis6MTAwNzkxMDA0NDBERjBEMkFGMTIwRTM1MjAwMTQyNzUyNDAwNzUyM0FECis6MTAwN0ExMDAwMDc1MjIwMDc1MjEwMDdGNDg3RTkyN0QwMDdDMDBBQkEwCis6MTAwN0IxMDAyNEFBMjNBOTIyQTgyMUMzMTIwOEE5NTBEQjIwMDFEODA5Cis6MTAwN0MxMDA3QTAwNzkwMDc4MDBFNTI0MjQwMUY1MjRFQTM1MjNGNTNGCis6MTAwN0QxMDAyM0U5MzUyMkY1MjJFODM1MjFGNTIxODBDQTMwMDEwNUNBCis6MTAwN0UxMDAxMjAzN0FDMjAxMzAwNDFBMTIwRTQwNTAxMzEyMDkwMDhBCis6MTAwN0YxMDAzMDAwMDc5MDdGRDZFMDMwRTdGMzEyMEQ0QTEyMEU0MjI3Cis6MDgwODAxMDBDMjAzMTIwOEZGODBENjIyOTkKKzoxMDA4MDkwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRUQKKzowOTA4MTkwMEUzMjI4OTgyOEE4M0U0OTMyMjIwCis6MTAwODIyMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDhCCis6MTAwODMyMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkQ1Cis6MEQwODQyMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkVGCis6MTAwODRGMDBGOEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzRThGMERGCis6MTAwODVGMDAyMjUwMDZFOTI1ODJDOEY2MjJCQkZFMDVFOTI1ODJDODhCCis6MDIwODZGMDBGMjIyNzMKKzoxMDA4NzEwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwQzUKKzoxMDA4ODEwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFQTIKKzoxMDA4OTEwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzRTgKKzowODA4QTEwMEU5OTNGNUYwQTNFOTkzMjJBRAorOjEwMDhBOTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjBBNQorOjAxMDhCOTAwMjIxQworOjAyMDhCQTAwOEYyODg1Cis6MTAwOEJDMDBFNEY1Mjk3NTJBRkY3NTJCMTE3NTJDMzJBQjJBQUEyQjVFCis6MTAwOENDMDBBOTJDOTAwMDAxMTIwODIyQjQwMzFEQUYyOTA1MjlFRkIxCis6MTAwOERDMDBCNTI4MDEyMjEyMDgwOTdFMDAyOUZGRUUzQUE5MDc3NUY2Cis6MEUwOEVDMDAyQUZGRjUyQjg5MkM4MEQ0N0IwMDdBMDA3OTAwM0UKKzowMTA4RkEwMDIyREIKKzowNDA4RkIwMDUzRDhFRjMyQUQKKzowMTA4RkYwMDIyRDYKKzowOTA5MDAwMDkwN0ZENkUwNDQ4MEYwODA3NDgxCis6MTAwOTdEMDA0Mzg3MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjdECis6MEMwOThEMDA3ODdGRTRGNkQ4RkQ3NTgxMzkwMjA5RDRBQQorOjEwMDk5OTAwMDIwNzUxRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIxQworOjEwMDlBOTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM1RgorOjEwMDlCOTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYyRQorOjEwMDlDOTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMERFQ0U0N0VDNQorOjEwMDlEOTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMyMworOjEwMDlFOTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNFQQorOjEwMDlGOTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0ExNQorOjEwMEEwOTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVDQworOjEwMEExOTAwRTQ5MDdGOUNGMDdGMEFGRTEyMEQ5NDkwN0Y5Njc0ODk3MgorOjEwMEEyOTAwRjA5MDdGOUM3NENGRjA3RkY0N0UwMTEyMEQ5NDkwN0YzQgorOjEwMEEzOTAwOTZFMDU0RkVGMDdGMEE3RTAwMTIwRDk0N0YwNTdFMDAzOQorOjEwMEE0OTAwMTIwRDk0OTA3Rjk2RTA0NDAyRjBFMDU0N0ZGMDdGMDUwOAorOjEwMEE1OTAwN0UwMDEyMEQ5NDkwN0Y5NkUwNDQ0MEYwN0YwNTdFMDA2MQorOjEwMEE2OTAwMTIwRDk0OTA3Rjk2RTA1NEJGRjA3RjMyN0UwMDEyMERGNAorOjEwMEE3OTAwOTQ5MDdGOTZFMDQ0NDBGMDdGMzI3RTAwMTIwRDk0MjJEQworOjEwMEE4OTAwNzUzMjAxRTUzMjYwMUI3RjAxMTIwREQ3N0YwMDdFMEVBMgorOjEwMEE5OTAwN0QwMDdDMDExMjA2OTRFNDMzRjUzMjcwMDU3RjBGMTI1NAorOjEwMEFBOTAwMEREN0U1MzI2MDFCN0YwMjEyMERENzdGMDA3RTgwN0Q1NgorOjEwMEFCOTAwMDA3QzgwMTIwNjk0RTQzM0Y1MzI3MDA1N0YwRjEyMEQyNQorOjEwMEFDOTAwRDdFNTMyNjAxQjdGMDMxMjBERDc3RjAwN0UyMDdENDA2MgorOjEwMEFEOTAwN0M1QjEyMDY5NEU0MzNGNTMyNzAwNTdGMEYxMjBERDc1MworOjBFMEFFOTAwRTUzMjYwMDVFNEZGMTIwREQ3RTUzMjI0RkYyMjRFCis6MDgwQUY3MDA5MDdGRUFFMEY1MTBEMzIyMjQKKzowMTBBRkYwMDMyQzQKKzoxMDBCMDAwMDAyMEQ2NDAwMDIwREFCMDAwMjBEMkYwMDAyMEQ3QzAwRUYKKzoxMDBCMTAwMDAyMERDMTAwMDIwQUZGMDAwMjBFNEMwMDAyMEU0RDAwNDEKKzoxMDBCMjAwMDAyMEU0RTAwMDIwRTRGMDAwMjBFNTAwMDAyMEU1MTAwNDcKKzoxMDBCMzAwMDAyMEU1MjAwMDIwRTUzMDAwMjBFNTQwMDAyMEU1NTAwMjcKKzoxMDBCNDAwMDAyMEU1NjAwMDIwRTU3MDAwMjBFNTgwMDAyMEU1OTAwMDcKKzowODBCNTAwMDAyMEU1QTAwMDIwRTVCMDBDOAorOjEwMEI1ODAwRTRGRTc1MkFGRjc1MkIxMTc1MkMxMkFCMkFBQTJCQTk1NgorOjEwMEI2ODAwMkM5MDAwMDExMjA4MjI2NDAyNzAyREFEMDYwRUVEQjUxRQorOjEwMEI3ODAwMDcwMTIyOTAwMDAyMTIwODcxODVGMDI4RjUyOTYyMjhFMQorOjEwMEI4ODAwRTUyODYyMjlFNTI5NjIyODI5RkRFNTI4M0FBOTA1NzU5RAorOjBFMEI5ODAwMkFGRkY1MkI4OTJDODBDMzdCMDA3QTAwNzkwMEEwCis6MDEwQkE2MDAyMjJDCis6MTAwQkE3MDBBQjA3QUEwNkFDMDVFNEZERTUxMTYwMTFFQUZGQUUwNTQ3Cis6MTAwQkI3MDAwREVFMjQxMEY1ODJFNDM0MEZGNTgzRUZGMEVCQUUwNTZDCis6MTAwQkM3MDAwRDc0MTAyRUY1ODJFNDM0MEZGNTgzRUJGMEFGMDUwREFECis6MTAwQkQ3MDA3NDEwMkZGNTgyRTQzNDBGRjU4M0VDRjBBRjBGN0EwRjIyCis6MEQwQkU3MDA3QjEwMTIwRDEwN0YwQTdFMDAxMjBEOTQyMjZCCis6MTAwQkY0MDA4RTMyOEYzMzhEMzQ4QTM1OEIzNkU0RkRGNTM3RTUxMTJCCis6MTAwQzA0MDA2MDEyRTUzMkZGQUUwNTBERUUyNDEzRjU4MkU0MzQwRkQ1Cis6MTAwQzE0MDBGNTgzRUZGMEU1MzNBRTA1MEQ3NDEzMkVGNTgyRTQzNDVECis6MTAwQzI0MDAwRkY1ODNFNTMzRjBBRjBGN0EwRjdCMTMxMjBEMTBBRjdFCis6MEIwQzM0MDAwRkFEMzRBQjM2QUEzNTEyMENGMTIyRDQKKzoxMDBDM0YwMDhFMzI4RjMzOEQzNDhBMzU4QjM2RTRGNTM3RTUzN0MzRjMKKzoxMDBDNEYwMDk1MzQ1MDIwMDUzM0U1MzNBRTMyNzAwMjA1MzIxNEZGNzAKKzoxMDBDNUYwMEU1MzYyNTM3RjU4MkU0MzUzNUY1ODNFMEZEMTIwQkE3MzAKKzowNTBDNkYwMDA1Mzc4MEQ5MjJDOQorOjEwMEM3NDAwQTkwN0U1MEQ3MDI1OTA3RkE1RTA0NDgwRjBFOTI1RTAwMworOjEwMEM4NDAwNDQwMTkwN0ZBNkYwOEQwOEFGMDNBOTA3NzUwOTAxOEE3NgorOjBEMEM5NDAwMEE4OTBCRTRGNTBDNzUwRDAzRDMyMkMzMjI3MQorOjEwMENBMTAwQTkwN0U1MEQ3MDIzOTA3RkE1RTA0NDgwRjBFOTI1RTBEOAorOjEwMENCMTAwOTA3RkE2RjA4RDA4QUYwM0E5MDc3NTA5MDE4QTBBODlGQgorOjBCMENDMTAwMEJFNEY1MEM3NTBEMDFEMzIyQzMyMkRCCis6MTAwQ0NDMDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAwNjA0RTA0NDlBCis6MTAwQ0RDMDAwMkYwN0ZEMDdFMDcxMjBEOTQ5MDdGRDZFMDU0RjdGMDhGCis6MDUwQ0VDMDBFMDQ0MDRGMDIyQzkKKzoxMDBDRjEwMDEyMEM3NEU1MEQyNEZBNjAxMDE0NjAwNzI0MDc3MEYzRDgKKzowRjBEMDEwMDdGMDgyMkU0RjUwRDdGMDcyMkU0RjUwRDdGMDYyMjFGCis6MTAwRDEwMDAxMjBDQTFFNTBEMjRGQTYwMTAxNDYwMDcyNDA3NzBGMzhCCis6MEYwRDIwMDA3RjA4MjJFNEY1MEQ3RjA3MjJFNEY1MEQ3RjA2MjIwMAorOjEwMEQyRjAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0YwNgorOjBCMEQzRjAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMjBGCis6MTAwRDRBMDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMjczCis6MEEwRDVBMDAwRDk0OTA3RkQ2RTA1NEZFRjAyMkM1Cis6MTAwRDY0MDBDMEUwQzA4M0MwODJEMjAxNTM5MUVGOTA3RkFCNzQwMTg1Cis6MDgwRDc0MDBGMEQwODJEMDgzRDBFMDMyMDAKKzoxMDBEN0MwMEMwRTBDMDgzQzA4MkQyMDM1MzkxRUY5MDdGQUI3NDA4NjQKKzowODBEOEMwMEYwRDA4MkQwODNEMEUwMzJFOAorOjEwMEQ5NDAwOEUzODhGMzlFNTM5MTUzOUFFMzg3MDAyMTUzODRFNjAwMgorOjA3MERBNDAwMDUxMjBFMDA4MEVFMjI5MworOjEwMERBQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDA1MAorOjA2MERCQjAwODJEMDgzRDBFMDMyN0IKKzoxMDBEQzEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwMkMKKzowNjBERDEwMDgyRDA4M0QwRTAzMjY1Cis6MTAwREQ3MDBBRTA3N0YyMTdEMDE3NDAwMkVGNTgyRTQzNDBGQUI4MkNDCis6MDUwREU3MDBGQTEyMEQxMDIyQkMKKzoxMDBERUMwMDUwMEYwMEMwRjlBNEIwOTk5MjgyRjg4MDk4ODg4M0M2RkQKKzowMzBERkMwMEExODY4RTNGCis6MDEwREZGMDAwMEYzCis6MTAwRTAwMDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTA1Cis6MDEwRTEwMDAyMkJGCis6MEUwRTExMDA5MDdGMDBFNTEwRjA5MDdGQjU3NDAxRjBEMzIyQzEKKzowRTBFMUYwMDkwN0YwMEU1MEVGMDkwN0ZCNTc0MDFGMEQzMjJCNQorOjA4MEUyRDAwOTA3RkVBRTBGNTBFRDMyMkVDCis6MDgwRTM1MDBFNEY1MEREMkU5RDJBRjIyNzEKKzowMzBFM0QwMEQyMDAyMkJFCis6MDIwRTQwMDBEMzIyQkIKKzowMjBFNDIwMEQzMjJCOQorOjAyMEU0NDAwRDMyMkI3Cis6MDIwRTQ2MDBEMzIyQjUKKzowMjBFNDgwMEQzMjJCMworOjAyMEU0QTAwRDMyMkIxCis6MDEwRTRDMDAzMjczCis6MDEwRTREMDAzMjcyCis6MDEwRTRFMDAzMjcxCis6MDEwRTRGMDAzMjcwCis6MDEwRTUwMDAzMjZGCis6MDEwRTUxMDAzMjZFCis6MDEwRTUyMDAzMjZECis6MDEwRTUzMDAzMjZDCis6MDEwRTU0MDAzMjZCCis6MDEwRTU1MDAzMjZBCis6MDEwRTU2MDAzMjY5Cis6MDEwRTU3MDAzMjY4Cis6MDEwRTU4MDAzMjY3Cis6MDEwRTU5MDAzMjY2Cis6MDEwRTVBMDAzMjY1Cis6MDEwRTVCMDAzMjY0Cis6MTAxMTAwMDAxMjAxMDAwMTAwMDAwMDQwNDcwNTEwMjcwMTAwMDEwMjA0Cis6MTAxMTEwMDAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDAwMkVGCis6MTAxMTIwMDBGRjAwMDAwNDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDlDCis6MTAxMTMwMDAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjgwMEY4Cis6MTAxMTQwMDA2RjAwNzIwMDIwMDA0MzAwNjgwMDY5MDA3MDAwNzMwMEE3Cis6MTAxMTUwMDAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYwMDhBCis6MTAxMTYwMDA2OTAwNzIwMDZEMDA3NzAwNjEwMDcyMDA2NTAwMjAwMDY4Cis6MTAxMTcwMDA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzIwMDRDCis6MTAxMTgwMDA2QjAwNzMwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDY1Cis6MTAxMTkwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEU2Cis6MTAxMUEwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzgzCis6MTAxMUIwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMDAzCis6MTAxMUMwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIzCis6MDIxMUQwMDAwMDAwMUQKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXJfZGVidWcuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MzNkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLkhFWApAQCAtMCwwICsxLDQwMyBAQAorOjEwMDAwMDAwMDAwMDAwMDAwMzAyMDk4RDAwMDAwMDMzMDMwMjBFNzA5RgorOjEwMDAxMDAwMDAwMDAwNDMwMzAyMEIwMDAwMDAwMDRCMDMwMjA1QjM4NQorOjEwMDAyMDAwMDAwMDAxMDAxMDkwN0ZBNUUwNTQxMEZGQzQ1NDBGNDQ1RAorOjEwMDAzMDAwNTBGNTBGMTNFNDAwMDExMDAwMDAwMTEwMTAzM0Y1MTEwQQorOjEwMDA0MDAwOTA3RkU5RTAyNDVFQjQwNzAwNDAwMzAyMDMwMDAxMjAzMgorOjEwMDA1MDAwMDAwMDAxMjAxMDdDOTAwMTI4RjgyODI4NzMwMjAxQkNDMAorOjEwMDA2MDAwMDIwMUJDMDIwMTAwMDEzMDAwMDAwMTMwMTA5MTAyMDFDOAorOjEwMDA3MDAwM0QwMjAxNTMwMjAxNkYwMjAxOUE5MDdGMDAwMDAxNDA4RQorOjEwMDA4MDAwMDAwMDAxNDAxMEU1MTFGMDkwN0ZCNTc0MDFGMDkwN0YwMQorOjEwMDA5MDAwQjRFMDQ0MDJGMDAwMDE1MDAwMDAwMTUwMTAwMjAzN0M2MworOjEwMDBBMDAwOTA3RjkyRTBGRkM0NTQwRjkwN0YwMEYwOTAwMDAxNjBCOQorOjEwMDBCMDAwMDAwMDAxNjAxMDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDI0RAorOjEwMDBDMDAwRjAwMjAzN0MxMjAwMDE3MDAwMDAwMTcwMTAwQTg5NTBEOAorOjEwMDBEMDAwMDdFNDkwN0YwMEYwODAwNjkwN0YwMDc0MEYwMDAxODA5RAorOjEwMDBFMDAwMDAwMDAxODAxMEYwOTA3RkI1NzQwMUYwOTA3RkI0RTBDMworOjEwMDBGMDAwNDQwMkYwMDIwMzAwMDE5MDAwMDAwMTkwMTA3QzkwN0YwOAorOjEwMDEwMDAwRUFFMEY1MEYwMjAzN0M5MDdGMDA3NDA3RjAwMDAxQTA4NQorOjEwMDExMDAwMDAwMDAxQTAxMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQxRQorOjEwMDEyMDAwMDJGMDdGRTg3RTAwMDFCMDAwMDAwMUIwMTAwMzEyMEQ2NAorOjEwMDEzMDAwRDVEMjA2MTIwRDBEMDIwMzdDOTA3RkVBRTAwMDAxQzBDQgorOjEwMDE0MDAwMDAwMDAxQzAxMDc1MjkwMEY1MkFBM0UwRkVFNEVFNDI4QworOjEwMDE1MDAwMjk5MDdGRUVFMDAwMDFEMDAwMDAwMUQwMTA3NTJCMDA0NworOjEwMDE2MDAwRjUyQ0EzRTBGRUU0RUU0MjJCOTA3RkU4RTAwMDAxRTBGNgorOjEwMDE3MDAwMDAwMDAxRTAxMDY0QzA2MDAzMDIwMkM5RTUyQzQ1MkJCOQorOjEwMDE4MDAwNzAwMzAyMDM3QzAwMDFGMDAwMDAwMUYwMTBDM0U1MkNCNQorOjEwMDE5MDAwOTQ0MEU1MkI5NDAwNTAwODg1MkIyRDg1MkMwMDAyMDBGRgorOjEwMDFBMDAwMDAwMDAyMDAxMDJFODAwNjc1MkQwMDc1MkU0MDkwN0ZGNQorOjEwMDFCMDAwRTlFMDY0QTM3MDAwMDIxMDAwMDAwMjEwMTAzNEY1MzE3MQorOjEwMDFDMDAwRjUzMkMzRTUzMjk1MkVFNTMxOTUyRDUwNUMwMDAyMjBDNQorOjEwMDFEMDAwMDAwMDAyMjAxMEU1MkEyNTMyRjU4MkU1MzEzNTI5RjVBNworOjEwMDFFMDAwODNFMEZGNzQwMDAwMDIzMDAwMDAwMjMwMTAyNTMyRjU3OQorOjEwMDFGMDAwODJFNDM0N0ZGNTgzRUZGMDA1MzJFNTMyNzAwMDAyNDA4RgorOjEwMDIwMDAwMDAwMDAyNDAxMDAyMDUzMTgwRDBFNEY1MzFGNTMyQzMyMAorOjEwMDIxMDAwRTUzMjk1MkVFNTAwMDI1MDAwMDAwMjUwMTAzMTk1MkQ3OAorOjEwMDIyMDAwNTAxODc0MDAyNTMyRjU4MkU0MzQ3RkY1ODMwMDAyNjBCMworOjEwMDIzMDAwMDAwMDAyNjAxMDc0Q0RGMDA1MzJFNTMyNzAwMjA1MzEyNQorOjEwMDI0MDAwODBEREFGMkFBRTAwMDI3MDAwMDAwMjcwMTAyOUFEMkVEMgorOjEwMDI1MDAwN0E3Rjc5MDA3QjAwMTIwQkY0OTA3RkI1RTUwMDAyODA3NQorOjEwMDI2MDAwMDAwMDAyODAxMDJFRjBFNTJFMjUyQUY1MkFFNTJEMzUxNgorOjEwMDI3MDAwMjlGNTI5QzNFNTAwMDI5MDAwMDAwMjkwMTAyQzk1MkU2QworOjEwMDI4MDAwRjUyQ0U1MkI5NTJERjUyQjkwN0Y5MkUwRkYwMDAyQTAzOQorOjEwMDI5MDAwMDAwMDAyQTAxMEM0NTQwRjc1MkYwMEY1MzBEMzk0MDA1NQorOjEwMDJBMDAwRTUyRjk0MDA1MDAwMDJCMDAwMDAwMkIwMTAwQzkwN0ZDNworOjEwMDJCMDAwQjRFMDIwRTEwMzAyMDFFNzgwRjQ5MDdGQjQwMDAyQzBDMworOjEwMDJDMDAwMDAwMDAyQzAxMEUwMjBFMjAzMDIwMUU3ODBGNDkwN0YwQQorOjEwMDJEMDAwRThFMDY0NDA2MDAwMDJEMDAwMDAwMkQwMTAwMzAyMDM5NgorOjEwMDJFMDAwN0NFNTJDNDUyQjcwMDMwMjAzN0NFNDkwN0YwMDAyRTA0OAorOjEwMDJGMDAwMDAwMDAyRTAxMEM1RjA5MDdGOTJFMEZGQzQ1NDBGNzUzQgorOjEwMDMwMDAwMkYwMEY1MzBEMzAwMDJGMDAwMDAwMkYwMTA5NDAwRTU1OQorOjEwMDMxMDAwMkY5NDAwNTAwOTkwN0ZDNEUwMzBFMTA5ODAwMDAzMDA3MQorOjEwMDMyMDAwMDAwMDAzMDAxMEY3OTA3RkI0RTAyMEUzRjk5MDdGQzU1MAorOjEwMDMzMDAwRTA3NTJEMDBGNTAwMDMxMDAwMDAwMzEwMTAyRTkwN0ZEMworOjEwMDM0MDAwRTlFMDY0QTM3MDM4OTAyMDZCRjBGNTMxRjUwMDAzMjBFQworOjEwMDM1MDAwMDAwMDAzMjAxMDMyQzNFNTMyOTUyRUU1MzE5NTJENTA3MworOjEwMDM2MDAwMzQ3NEMwMjUzMjAwMDMzMDAwMDAwMzMwMTBGNTgyRTRGRAorOjEwMDM3MDAwMzQ3RUY1ODNFMEZGRTUyQTI1MzJGNTgyRTUwMDAzNDA2RgorOjEwMDM4MDAwMDAwMDAzNDAxMDMxMzUyOUY1ODNFRkYwMDUzMkU1MzJFNgorOjEwMDM5MDAwNzAwMjA1MzE4MDAwMDM1MDAwMDAwMzUwMTBEMEFGMkFENgorOjEwMDNBMDAwQUUyOUFEMkU3QTdFNzlDMDdCQzAxMjBDODAwMDAzNjAyRQorOjEwMDNCMDAwMDAwMDAzNjAxMEU1MkUyNTJBRjUyQUU1MkQzNTI5RjVFNAorOjEwMDNDMDAwMjlDM0U1MkM5NTAwMDM3MDAwMDAwMzcwMEQyRUY1MkM1OQorOjEwMDNEMDAwRTUyQjk1MkRGNTJCMDIwMkQ0QzMwMDAwMDAwMDAzN0QxMAorOjEwMDNFMDAwMDEyMjAwMDAwMDAwMDM3RTEwOTA3RkU5RTA3MDAzMDIwQworOjEwMDNGMDAwMDQ1NjE0NzAwMzAyMDREMjI0MDAwMzhFMDAwMDAzOEVGRQorOjEwMDQwMDAwMTBGRTcwMDMwMjA1NDYyNEZCNzAwMzAyMDQ1MDE0NzBCMgorOjEwMDQxMDAwMDMwMDAzOUUwMDAwMDM5RTEwMDIwNDRBMTQ3MDAzMDJBRQorOjEwMDQyMDAwMDQzRTE0NzAwMzAyMDQ0NDI0MDAwM0FFMDAwMDAzQUUzMworOjEwMDQzMDAwMTAwNTYwMDMwMjA1OUExMjBFN0I0MDAzMDIwNUFCOTA4MworOjEwMDQ0MDAwN0YwMDAzQkUwMDAwMDNCRTEwRUJFMDI0RkU2MDE2MTQyNAorOjEwMDQ1MDAwNjA0MDI0MDI3MDY5NzQxMTkwMDAwM0NFMDAwMDAzQ0U0NgorOjEwMDQ2MDAwMTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA1QUI5MDdGRUE0NgorOjEwMDQ3MDAwRTAwMDAzREUwMDAwMDNERTEwRkYxMjBCNTg4QjI2OEExQgorOjEwMDQ4MDAwMjc4OTI4RUE0OTYwMTFBRTAyMDAwM0VFMDAwMDAzRUU1RQorOjEwMDQ5MDAwMTBFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QUI2NgorOjEwMDRBMDAwOTAwMDAzRkUwMDAwMDNGRTEwN0ZCNEUwNDQwMUYwMDI2MAorOjEwMDRCMDAwMDVBQjkwN0ZFQUUwRkYxMjBDMDAwNDBFMDAwMDA0MEU3MgorOjEwMDRDMDAwMTAzRjhCMjY4QTI3ODkyOEVBNDk2MDExQUUwMkVFOTBGOAorOjEwMDREMDAwN0YwMDA0MUUwMDAwMDQxRTEwRDRGMEFGMDFFRjkwN0ZENworOjEwMDRFMDAwRDVGMDAyMDVBQjkwN0ZCNEUwMDAwNDJFMDAwMDA0MkU4RQorOjEwMDRGMDAwMTA0NDAxRjAwMjA1QUI5MDdGQjRFMDQ0MDFGMDAyMDUyNgorOjEwMDUwMDAwQUIwMDA0M0UwMDAwMDQzRTEwMTIwRTUyMDIwNUFCMTI3NgorOjEwMDUxMDAwMEU2MDAyMDVBQjEyMEFGNzAyMDAwNDRFMDAwMDA0NEUwMgorOjEwMDUyMDAwMTAwNUFCMTIwOEYxMDIwNUFCMTIwRTdENDAwMzAyMDU2NworOjEwMDUzMDAwQUIwMDA0NUUwMDAwMDQ1RTEwOTA3RkU4RTAyNDdGNjA2MgorOjEwMDU0MDAwMjQxNDYwMzEyNDAyNzA1QkEyMDAwNDZFMDAwMDA0NkU2QgorOjEwMDU1MDAwMTAwMEU0MzNGRjI1RTBGRkEyMDJFNDMzNEY5MDdGMDA1OAorOjEwMDU2MDAwRjAwMDA0N0UwMDAwMDQ3RTEwRTRBM0YwOTA3RkI1NzREOAorOjEwMDU3MDAwMDJGMDAyMDVBQkU0OTA3RjAwMDAwNDhFMDAwMDA0OEVDMAorOjEwMDU4MDAwMTBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QUI5MDdGRUMwMQorOjEwMDU5MDAwRTAwMDA0OUUwMDAwMDQ5RTEwRjQ1NDgwRkZDNDU0MEYzOQorOjEwMDVBMDAwRkZFMDU0MDcyRjI1RTAyNEI0MDAwNEFFMDAwMDA0QUVBMQorOjEwMDVCMDAwMTBGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTQ5MQorOjEwMDVDMDAwQTMwMDA0QkUwMDAwMDRCRTEwRjA5MDdGQjU3NDAyRjBEQQorOjEwMDVEMDAwMDIwNUFCOTA3RkI0RTA0NDAxMDAwNENFMDAwMDA0Q0VERAorOjEwMDVFMDAwMTBGMDAyMDVBQjEyMEU3RjQwMDMwMjA1QUI5MDdGRThDRQorOjEwMDVGMDAwRTAwMDA0REUwMDAwMDRERTEwMjRGRTYwMUQyNDAyNjAyMgorOjEwMDYwMDAwMDMwMjA1QUI5MDdGRUFFMEI0MDAwNEVFMDAwMDA0RUVDNAorOjEwMDYxMDAwMTAwMTA1QzIwMDAyMDVBQjkwN0ZCNEUwNDQwMUYwMDI3NgorOjEwMDYyMDAwMDUwMDA0RkUwMDAwMDRGRTEwQUI5MDdGRUFFMDcwMzg4NQorOjEwMDYzMDAwOTA3RkVDRTBGNDU0ODBGRkM0MDAwNTBFMDAwMDA1MEUyRQorOjEwMDY0MDAwMTA1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ2MgorOjEwMDY1MDAwN0YwMDA1MUUwMDAwMDUxRTEwRjU4M0U0RjA5MDdGRUM3RQorOjEwMDY2MDAwRTA1NDgwRkYxMzEzMTM1NDFGMDAwNTJFMDAwMDA1MkVDNQorOjEwMDY3MDAwMTBGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNkUwOQorOjEwMDY4MDAwOTAwMDA1M0UwMDAwMDUzRTEwN0ZCNEUwNDQwMUYwODA3QworOjEwMDY5MDAwNjUxMjBFODE1MDYwOTA3RkU4MDAwNTRFMDAwMDA1NEUwNworOjEwMDZBMDAwMTBFMDI0RkU2MDE4MjQwMjcwNTQ5MDdGRUFFMEI0MDE0OAorOjEwMDZCMDAwMDQwMDA1NUUwMDAwMDU1RTEwRDIwMDgwNDk5MDdGQjQwMgorOjEwMDZDMDAwRTA0NDAxRjA4MDQwOTA3RkVBMDAwNTZFMDAwMDA1NkU3NgorOjEwMDZEMDAwMTBFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZEMgorOjEwMDZFMDAwRTAwMDA1N0UwMDAwMDU3RTEwNTQwNzJGMjVFMDI0QjRBRAorOjEwMDZGMDAwRjU4MkU0MzQ3RkY1ODM3NDAxMDAwNThFMDAwMDA1OEVEOQorOjEwMDcwMDAwMTBGMDgwMUE5MDdGQjRFMDQ0MDFGMDgwMTFFNDkwMjA1MgorOjEwMDcxMDAwNkEwMDA1OUUwMDAwMDU5RTEwRjAxMjAxMDA1MDA3OTAyRgorOjEwMDcyMDAwN0ZCNEUwNDQwMUYwOTA3RkI0MDAwNUFFMDAwMDA1QUU1OAorOjEwMDczMDAwMDRFMDQ0MDJGMDAwMDAwMDAwMDAwNUIyMDEyMjAwMDBDNQorOjEwMDc0MDAwMDAwMDA1QjMxMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA3MworOjEwMDc1MDAwODY3NTg2MDBDMDAwMDVDMzAwMDAwNUMzMTBEMEMwMDAyOAorOjEwMDc2MDAwQzAwMUMwMDJDMDAzQzAwNkMwMDc5MDdGQTUwMDA1RDMyQQorOjEwMDc3MDAwMDAwMDA1RDMxMEUwMzBFMjA2NzUwRDA2MDIwNjdGOTBGQQorOjEwMDc4MDAwN0ZBNUUwMjBFMTAwMDVFMzAwMDAwNUUzMTAwQ0U1MEQ4NgorOjEwMDc5MDAwNjQwMjYwMDY3NTBEMDcwMjA2N0ZBRjBERUYwMDA1RjNEQQorOjEwMDdBMDAwMDAwMDA1RjMxMDI0RkU2MDQ4MTQ2MDJDMjRGRTYwNzdERQorOjEwMDdCMDAwMjQwNDYwMDMwMjAwMDYwMzAwMDAwNjAzMTAwNjdGQUI1QQorOjEwMDdDMDAwMDlBQTBBQTkwQkFGMEMwNTBDOEY4Mjc1ODMwMDA2MTNDQQorOjEwMDdEMDAwMDAwMDA2MTMxMDAwMTIwNzg1OTA3RkE2RjBFNTBDNjU1NworOjEwMDdFMDAwMDg3MDVFNzUwRDAwMDYyMzAwMDAwNjIzMTAwNTgwNTk3MQorOjEwMDdGMDAwOTA3RkE2RTBBQjA5QUEwQUE5MEJBRTBDOEUwMDA2MzNDNworOjEwMDgwMDAwMDAwMDA2MzMxMDgyNzU4MzAwMTIwN0IyNzUwRDAyODA1NgorOjEwMDgxMDAwNDBFNTA4MjRGRTAwMDY0MzAwMDAwNjQzMTBCNTBDMDcxRgorOjEwMDgyMDAwOTA3RkE1RTA0NDIwRjBFNTA4MTRCNTBDMEEwMDA2NTNCQgorOjEwMDgzMDAwMDAwMDA2NTMxMDkwN0ZBNUUwNDQ0MEYwRTRGNTBEOTBEMQorOjEwMDg0MDAwN0ZBNkUwQUIwOTAwMDY2MzAwMDAwNjYzMTBBQTBBQTlCMAorOjEwMDg1MDAwMEJBRTBDOEU4Mjc1ODMwMDEyMDdCMjA1MEMwMDA2NzM3NgorOjEwMDg2MDAwMDAwMDA2NzMxMDgwMEE5MDdGQTVFMDQ0NDBGMEU0RjU5NAorOjEwMDg3MDAwMEQ1MzkxREZEMDAwMDY4MzAwMDAwNjgzMTAwN0QwMDZEOQorOjEwMDg4MDAwRDAwM0QwMDJEMDAxRDAwMEQwRDBEMDg2RDAwMDA2OTNDMworOjEwMDg5MDAwMDAwMDA2OTMwQTg0RDA4NUQwODJEMDgzRDBFMDMyMDA1NQorOjEwMDhBMDAwMDAwMDA2OUQxMEMyMDREMjA1RTRGNTI1QzIwM0MyMDA3MworOjEwMDhCMDAwQzIwMkMyMDExMjAwMDZBRDAwMDAwNkFEMTAwRTc0RDJENQorOjEwMDhDMDAwRTg0M0Q4MjA5MDdGQUI3NEZGRjA5MDdGQTkwMDA2QkQ2RAorOjEwMDhEMDAwMDAwMDA2QkQxMEYwOTA3RkFBRjA1MzkxRUY5MDdGOTUzNQorOjEwMDhFMDAwRTA0NEMwRjA5MDAwMDZDRDAwMDAwNkNEMTA3RjkzNzQ2OAorOjEwMDhGMDAwMzBGMDEyMEExOTc1MjQ0ODc1MjM5Mjc1MjIwMDA2REQxRQorOjEwMDkwMDAwMDAwMDA2REQxMDAwNzUyMTAwRTRGRkZFN0UwNTkwMjA0QQorOjEwMDkxMDAwNjg3NDAxRjBBMzAwMDZFRDAwMDAwNkVEMTBERUZDN0UxOQorOjEwMDkyMDAwMDA3RjA1OTA3RkFGRTA0NDAxRjA5MDdGQUUwMDA2RkRCMAorOjEwMDkzMDAwMDAwMDA2RkQxMEUwNDQwREYwRDJBRjEyMEU2ODMwMDE0OQorOjEwMDk0MDAwMEFFNDkwMjA2OTAwMDcwRDAwMDAwNzBEMTBGMDEyMDM2MworOjEwMDk1MDAwN0VDMjAxMzAwNDFBMTIwRTc3NTAxMzEyMDkwMDA3MURDRgorOjEwMDk2MDAwMDAwMDA3MUQxMDAwMzAwMDA3OTA3RkQ2RTAzMEU3RjM0RAorOjEwMDk3MDAwMTIwRDhCMTIwRTAwMDcyRDAwMDAwNzJEMTA3OUMyMDNGNworOjEwMDk4MDAwN0ZGRjdFRkY3REZGN0NGRjc4MjExMjA4MUQwMDA3M0Q2MQorOjEwMDk5MDAwMDAwMDA3M0QxMDdCMDA3QTAwNzkwMDc4MDBDMzEyMDg0MAorOjEwMDlBMDAwMEM3MDFCNzUyNDAwMDc0RDAwMDAwNzREMTA0ODc1MjM3RgorOjEwMDlCMDAwOTJGNTIyRjUyMTYzMjVGRjkwMjA2OEU1MjUwMDA3NUQ2QgorOjEwMDlDMDAwMDAwMDA3NUQwRUYwQTM3NDAxRjBBM0YwQTNGMDEyMDg3RAorOjEwMDlEMDAwRkY4MDlCMDAwMDAwMDc2QjAxMjIwMDAwMDAwMDA3NkNGNQorOjEwMDlFMDAwMTBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwNworOjEwMDlGMDAwMDIwMDA3N0MwMDAwMDc3QzA5RTMyMjg5ODI4QTgzRTRFNQorOjEwMEEwMDAwOTMyMjAwMDAwMDAwMDc4NTEwQkIwMTBDRTU4MjI5RjU0OAorOjEwMEExMDAwODJFNTgzM0FGNTgzRTAyMjUwMDAwNzk1MDAwMDA3OTVCMAorOjEwMEEyMDAwMTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTJGNworOjEwMEEzMDAwMjIwMDA3QTUwMDAwMDdBNTBERTU4MjI5RjU4MkU1ODNDMAorOjEwMEE0MDAwM0FGNTgzRTQ5MzIyMDAwMDAwMDAwN0IyMTBGOEJCMDFERQorOjEwMEE1MDAwMERFNTgyMjlGNTgyRTU4MzNBRjU4M0U4RjAwMDA3QzJDNworOjEwMEE2MDAwMDAwMDA3QzIxMDIyNTAwNkU5MjU4MkM4RjYyMkJCRkUwQworOjEwMEE3MDAwMDVFOTI1ODJDODAwMDdEMjAwMDAwN0QyMDJGMjIyMDA1MQorOjEwMEE4MDAwMDAwMDA3RDQxMEJCMDExMEU1ODIyOUY1ODJFNTgzM0EwNgorOjEwMEE5MDAwRjU4M0UwRjVGMDAwMDdFNDAwMDAwN0U0MTBBM0UwMjI4RQorOjEwMEFBMDAwNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwMDA3RjQyQgorOjEwMEFCMDAwMDAwMDA3RjQxMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJDNgorOjEwMEFDMDAwRTU4MzJBRjU4MzAwMDgwNDAwMDAwODA0MDhFOTkzRjU4QgorOjEwMEFEMDAwRjBBM0U5OTMyMjAwMDAwMDAwMDAwODBDMTBFQjlGRjU0MgorOjEwMEFFMDAwRjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjAwMDA4MUNDNworOjEwMEFGMDAwMDAwMDA4MUMwMTIyMDAwMDAwMDAwODFEMTAwODA4MDg2MgorOjEwMEIwMDAwRTYyRkZGRjYxOEU2M0VGRUY2MThFNjNERkQwMDA4MkQzRQorOjEwMEIxMDAwMDAwMDA4MkQwN0Y2MThFNjNDRkNGNjIyMDAwMDA4MzQxOQorOjEwMEIyMDAwMDQ4QzM0OEQzNTAwMDAwMDAwMDAwODM4MTA5MDdGOTU0QgorOjEwMEIzMDAwRTA0NEMwRjBFNEY1MzZGNTM3QzNFNTM3OTUwMDA4NDhFMgorOjEwMEI0MDAwMDAwMDA4NDgxMDM1RTUzNjk1MzQ1MDY5RUYyNTM3RjUzMworOjEwMEI1MDAwODJFNTM2M0VGNTAwMDg1ODAwMDAwODU4MTA4Mzc0RkZGRgorOjEwMEI2MDAwRjBGNDYwMDJDMzIyRUYyNTM3RjU4MkU1MzYwMDA4NjgwRAorOjEwMEI3MDAwMDAwMDA4NjgxMDNFRjU4M0U0RjA2MDAyQzMyMkVGMjUxMAorOjEwMEI4MDAwMzdGNTgyRTUzNjAwMDg3ODAwMDAwODc4MTAzRUY1ODNENgorOjEwMEI5MDAwNzRBQUYwNjRBQTYwMDJDMzIyRUYyNTM3RjUwMDA4ODgyMgorOjEwMEJBMDAwMDAwMDA4ODgxMDgyRTUzNjNFRjU4Mzc0NTVGMDY0NTVFMAorOjEwMEJCMDAwNjAwMkMzMjJBRDAwMDg5ODAwMDAwODk4MTAzN0U1Mzc5RQorOjEwMEJDMDAwMkZGNTgyRTUzNjNFRjU4M0VERjBGQ0FDMDUwMDA4QTg3NAorOjEwMEJEMDAwMDAwMDA4QTgxMEVENkM2MDAyQzMyMjA1MzdFNTM3NzBFRAorOjEwMEJFMDAwMDIwNTM2ODA4QzAwMDhCODAwMDAwOEI4MTBFNEY1MzYxRAorOjEwMEJGMDAwRjUzN0MzRTUzNzk1MzVFNTM2OTUzNDUwMjcwMDA4QzhGNQorOjEwMEMwMDAwMDAwMDA4QzgxMEVGMjUzN0Y1ODJFNTM2M0VGNTgzRTA5MQorOjEwMEMxMDAwNjUzNzYwMDJDMzAwMDhEODAwMDAwOEQ4MTAyMkVGMjUwRAorOjEwMEMyMDAwMzdGNTgyRTUzNjNFRjU4M0U0RjAwNTM3RTUwMDA4RTg2MAorOjEwMEMzMDAwMDAwMDA4RTgwODM3NzAwMjA1MzY4MENFRDMwMDAwMDBCNworOjEwMEM0MDAwMDAwMDA4RjAwMTIyMDAwMDAwMDAwOEYxMEU5MDdGMDA3MworOjEwMEM1MDAwRTUxMEYwOTA3RkI1NzQwMUYwRDMyMjAwMDAwMDA4RkY4QQorOjEwMEM2MDAwMDEyMjAwMDAwMDAwMDkwMDA5OTA3RkQ2RTA0NDgwRjBENgorOjEwMEM3MDAwODA3NDAwMDAwMDAwMDk3RDEwNDM4NzAxMDAwMDAwMDAxRgorOjEwMEM4MDAwMDAwMDAwMDAwMDAwMDAwMDIyMDAwOThEMDAwMDA5OEQxNgorOjEwMEM5MDAwMEM3ODdGRTRGNkQ4RkQ3NTgxM0EwMjA5RDQwMDAwMDA5MworOjEwMENBMDAwMDAwMDA5OTkxMDAyMDY5REU0OTNBM0Y4RTQ5M0EzNDA4MQorOjEwMENCMDAwMDNGNjgwMDFGMjAwMDlBOTAwMDAwOUE5MTAwOERGRjQ3OQorOjEwMENDMDAwODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzMwMDA5Qjk1RQorOjEwMENEMDAwMDAwMDA5QjkxMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTZERQorOjEwMENFMDAwODAwMTQ2RjZERjAwMDlDOTAwMDAwOUM5MTBFNDgwMEI0NQorOjEwMENGMDAwMDEwMjA0MDgxMDIwNDA4MDkwMEUyREU0N0UwMDA5RDlFNgorOjEwMEQwMDAwMDAwMDA5RDkxMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDlFRQorOjEwMEQxMDAwNTQxRkZFRTQ5MzAwMDlFOTAwMDAwOUU5MTBBMzYwMDFGMworOjEwMEQyMDAwMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTMwMDA5RjlCMQorOjEwMEQzMDAwMDAwMDA5RjkxMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODI2QworOjEwMEQ0MDAwQzhDQUM1ODNDQTAwMEEwOTAwMDAwQTA5MTBGMEEzQzg2RQorOjEwMEQ1MDAwQzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkUwMDBBMTlCQQorOjEwMEQ2MDAwMDAwMDBBMTkxMEU0OTA3RjlDRjA3RjBBRkUxMjBERDU1NgorOjEwMEQ3MDAwOTA3Rjk2NzQ4OTAwMEEyOTAwMDAwQTI5MTBGMDkwN0Y1QworOjEwMEQ4MDAwOUM3NENGRjA3RkY0N0UwMTEyMERENTkwN0YwMDBBMzk1QworOjEwMEQ5MDAwMDAwMDBBMzkxMDk2RTA1NEZFRjA3RjBBN0UwMDEyMEQyMgorOjEwMERBMDAwRDU3RjA1N0UwMDAwMEE0OTAwMDAwQTQ5MTAxMjBERDVDMgorOjEwMERCMDAwOTA3Rjk2RTA0NDAyRjBFMDU0N0ZGMDdGMDUwMDBBNTlFRQorOjEwMERDMDAwMDAwMDBBNTkxMDdFMDAxMjBERDU5MDdGOTZFMDQ0NDAzNQorOjEwMEREMDAwRjA3RjA1N0UwMDAwMEE2OTAwMDAwQTY5MTAxMjBERDUzNworOjEwMERFMDAwOTA3Rjk2RTA1NEJGRjA3RjMyN0UwMDEyMEQwMDBBNzlBQQorOjEwMERGMDAwMDAwMDBBNzkxMEQ1OTA3Rjk2RTA0NDQwRjA3RjMyN0U2MworOjEwMEUwMDAwMDAxMjBERDUyMjAwMEE4OTAwMDAwQTg5MTA3NTMzMDFFRAorOjEwMEUxMDAwRTUzMzYwMUI3RjAxMTIwRTE4N0YwMDdFMEUwMDBBOTlEOQorOjEwMEUyMDAwMDAwMDBBOTkxMDdEMDA3QzAxMTIwODM0RTQzM0Y1MzM4OAorOjEwMEUzMDAwNzAwNTdGMEYxMjAwMEFBOTAwMDAwQUE5MTAwRTE4RTUxQworOjEwMEU0MDAwMzM2MDFCN0YwMjEyMEUxODdGMDA3RTgwN0QwMDBBQjk3RQorOjEwMEU1MDAwMDAwMDBBQjkxMDAwN0M4MDEyMDgzNEU0MzNGNTMzNzBDNgorOjEwMEU2MDAwMDU3RjBGMTIwRTAwMEFDOTAwMDAwQUM5MTAxOEU1MzNFOQorOjEwMEU3MDAwNjAxQjdGMDMxMjBFMTg3RjAwN0UyMDdENDAwMDBBRDk4MAorOjEwMEU4MDAwMDAwMDBBRDkxMDdDNUIxMjA4MzRFNDMzRjUzMzcwMDU5NgorOjEwMEU5MDAwN0YwRjEyMEUxODAwMEFFOTAwMDAwQUU5MERFNTMzNjAyMQorOjEwMEVBMDAwMDVFNEZGMTIwRTE4RTUzMzI0RkYwMDAwMDAwMDBBRjZFNworOjEwMEVCMDAwMDEyMjAwMDAwMDAwMEFGNzA4OTA3RkVBRTBGNTEwRDM1NQorOjEwMEVDMDAwMjIwMDAwMDAwMDAwMEFGRjAxMzIwMDAwMDAwMDBCMDBCOQorOjEwMEVEMDAwMTAwMjBEQTUwMDAyMERFQzAwMDIwRDcwMDAwMjBEQkQwOAorOjEwMEVFMDAwMDAwMDBCMTAwMDAwMEIxMDEwMDIwRTAyMDAwMjBBRkY5RgorOjEwMEVGMDAwMDAwMjBFODMwMDAyMEU4NDAwMDAwQjIwMDAwMDBCMjA3NQorOjEwMEYwMDAwMTAwMjBFODUwMDAyMEU4NjAwMDIwRTg3MDAwMjBFODg3NworOjEwMEYxMDAwMDAwMDBCMzAwMDAwMEIzMDEwMDIwRTg5MDAwMjBFOEExOAorOjEwMEYyMDAwMDAwMjBFOEIwMDAyMEU4QzAwMDAwQjQwMDAwMDBCNDBGNAorOjEwMEYzMDAwMTAwMjBFOEQwMDAyMEU4RTAwMDIwRThGMDAwMjBFOTAyNworOjEwMEY0MDAwMDAwMDBCNTAwMDAwMEI1MDA4MDIwRTkxMDAwMjBFOTJBMAorOjEwMEY1MDAwMDAwMDAwMDAwMDAwMEI1ODEwRTRGRTc1MkJGRjc1MkNGQworOjEwMEY2MDAwMTE3NTJEMTJBQjJCQUEyQ0E5MDAwQjY4MDAwMDBCNjg4MQorOjEwMEY3MDAwMTAyRDkwMDAwMTEyMDc4NTY0MDI3MDJEQUQwNjBFRUQ1NAorOjEwMEY4MDAwQjUwMDBCNzgwMDAwMEI3ODEwMDcwMTIyOTAwMDAyMTJDOAorOjEwMEY5MDAwMDdENDg1RjAyOUY1MkE2MjI5MDAwQjg4MDAwMDBCODgwOAorOjEwMEZBMDAwMTBFNTI5NjIyQUU1MkE2MjI5MjlGREU1MjkzQUE5MDVFMQorOjEwMEZCMDAwNzUwMDBCOTgwMDAwMEI5ODBFMkJGRkY1MkM4OTJEODBFNworOjEwMEZDMDAwQzM3QjAwN0EwMDc5MDAwMDAwMDAwQkE2MDEyMjAwMDAxQworOjEwMEZEMDAwMDAwMDBCQTcwNkFCMDdBQTA2QUMwNTAwMDAwMDBCQUQ4RQorOjEwMEZFMDAwMTBFNEZERTUxMTYwMTFFQUZGQUUwNTBERUUyNDEwRjVFOQorOjEwMEZGMDAwODIwMDBCQkQwMDAwMEJCRDEwRTQzNDBGRjU4M0VGRjA1MQorOjEwMTAwMDAwRUJBRTA1MEQ3NDEwMkVGNTgyMDAwQkNEMDAwMDBCQ0Q1QworOjEwMTAxMDAwMTBFNDM0MEZGNTgzRUJGMEFGMDUwRDc0MTAyRkY1ODI1QgorOjEwMTAyMDAwRTQwMDBCREQwMDAwMEJERDEwMzQwRkY1ODNFQ0YwQUZCNgorOjEwMTAzMDAwMEY3QTBGN0IxMDEyMEQ1MTdGMDAwQkVEMDAwMDBCRURBRQorOjEwMTA0MDAwMDYwQTdFMDAxMjBERDUwMDAwMDAwQkYzMDEyMjAwMDBGRAorOjEwMTA1MDAwMDAwMDBCRjQwQThFMzM4RjM0OEQzNThBMzY4QjM3MDBCRgorOjEwMTA2MDAwMDAwMDBCRkUxMEU0RkRGNTM4RTUxMTYwMTJFNTMzRkZEQQorOjEwMTA3MDAwQUUwNTBERUUyNDAwMEMwRTAwMDAwQzBFMTAxM0Y1ODJEMAorOjEwMTA4MDAwRTQzNDBGRjU4M0VGRjBFNTM0QUUwNTBENzQwMDBDMUU2QgorOjEwMTA5MDAwMDAwMDBDMUUxMDEzMkVGNTgyRTQzNDBGRjU4M0U1MzRBNgorOjEwMTBBMDAwRjBBRjBGN0EwRjAwMEMyRTAwMDAwQzJFMTA3QjEzMTJFNQorOjEwMTBCMDAwMEQ1MUFGMEZBRDM1QUIzN0FBMzYxMjBEMzIwMDBDM0VENQorOjEwMTBDMDAwMDAwMDBDM0UwMTIyMDAwMDAwMDAwQzNGMDI4RjI5MDBBRQorOjEwMTBEMDAwMDAwMDBDNDExMEU0RjUyQTc1MkJGRjc1MkMxMTc1MkRCRAorOjEwMTBFMDAwMzJBQjJCQUEyQzAwMEM1MTAwMDAwQzUxMTBBOTJEOTBGMgorOjEwMTBGMDAwMDAwMTEyMDc4NUI0MDMxREFGMkEwNTJBRUYwMDBDNjExOQorOjEwMTEwMDAwMDAwMDBDNjExMEI1MjkwMTIyMTIwNzZDN0UwMDI5RkYzNgorOjEwMTExMDAwRUUzQUE5MDc3NTAwMEM3MTAwMDAwQzcxMEUyQkZGRjU1QgorOjEwMTEyMDAwMkM4OTJEODBENDdCMDA3QTAwNzkwMDAwMDAwMDBDN0Y5MAorOjEwMTEzMDAwMDEyMjAwMDAwMDAwMEM4MDBBOEUzMzhGMzQ4RDM1OEEyNgorOjEwMTE0MDAwMzY4QjM3MDAwMDAwMEM4QTEwRTRGNTM4RTUzOEMzOTU3QgorOjEwMTE1MDAwMzU1MDIwMDUzNEU1MzRBRTMzMDAwQzlBMDAwMDBDOUE2QgorOjEwMTE2MDAwMTA3MDAyMDUzMzE0RkZFNTM3MjUzOEY1ODJFNDM1MzY3MworOjEwMTE3MDAwRjUwMDBDQUEwMDAwMENBQTBBODNFMEZEMTIwQkE3MDVEQgorOjEwMTE4MDAwMzg4MEQ5MDAwMDAwMENCNDAxMjIwMDAwMDAwMDBDQjUyQQorOjEwMTE5MDAwMTBBOTA3RTUwRDcwMjU5MDdGQTVFMDQ0ODBGMEU5MjVCMgorOjEwMTFBMDAwRTAwMDBDQzUwMDAwMENDNTEwNDQwMTkwN0ZBNkYwOEQzNgorOjEwMTFCMDAwMDhBRjAzQTkwNzc1MDkwMThBMDAwQ0Q1MDAwMDBDRDVGQQorOjEwMTFDMDAwMEQwQTg5MEJFNEY1MEM3NTBEMDNEMzIyQzMyMjAwMDAzMAorOjEwMTFEMDAwMDAwMDBDRTIxMEE5MDdFNTBENzAyMzkwN0ZBNUUwNDQwNAorOjEwMTFFMDAwODBGMEU5MjVFMDAwMENGMjAwMDAwQ0YyMTA5MDdGQTZFMAorOjEwMTFGMDAwRjA4RDA4QUYwM0E5MDc3NTA5MDE4QTBBODkwMDBEMDI1RAorOjEwMTIwMDAwMDAwMDBEMDIwQjBCRTRGNTBDNzUwRDAxRDMyMkMzMjI3NworOjEwMTIxMDAwMDAwMDBEMEQxMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjA4NAorOjEwMTIyMDAwMzAwNjA0RTA0NDAwMEQxRDAwMDAwRDFEMTAwMkYwN0Y4QgorOjEwMTIzMDAwRDA3RTA3MTIwREQ1OTA3RkQ2RTA1NEY3RjAwMDBEMkQyQgorOjEwMTI0MDAwMDAwMDBEMkQwNUUwNDQwNEYwMjIwMDAwMDAwMDBEMzJFNgorOjEwMTI1MDAwMTAxMjBDQjVFNTBEMjRGQTYwMTAxNDYwMDcyNDA3NzAxNQorOjEwMTI2MDAwRjMwMDBENDIwMDAwMEQ0MjBGN0YwODIyRTRGNTBEN0ZEMAorOjEwMTI3MDAwMDcyMkU0RjUwRDdGMDYyMjAwMDAwRDUxMTAxMjBDRTI0QQorOjEwMTI4MDAwRTUwRDI0RkE2MDEwMTQ2MDA3MjQwNzcwRjMwMDBENjE2NworOjEwMTI5MDAwMDAwMDBENjEwRjdGMDgyMkU0RjUwRDdGMDcyMkU0RjVDMQorOjEwMTJBMDAwMEQ3RjA2MjIwMDAwMEQ3MDEwQzBFMEMwODNDMDgyOTA0OAorOjEwMTJCMDAwN0ZDNEU0RjA1MzkxRUY5MDdGMDAwRDgwMDAwMDBEODAxQgorOjEwMTJDMDAwMEJBQjc0MDRGMEQwODJEMDgzRDBFMDMyMDAwMDBEOEJFMQorOjEwMTJEMDAwMTA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDBFQQorOjEwMTJFMDAwMTIwMDBEOUIwMDAwMEQ5QjBBMERENTkwN0ZENkUwNTQ5NworOjEwMTJGMDAwRkVGMDIyMDAwMDAwMERBNTEwQzBFMEMwODNDMDgyRDIyNQorOjEwMTMwMDAwMDE1MzkxRUY5MDdGQUI3NDAxMDAwREI1MDAwMDBEQjU1NgorOjEwMTMxMDAwMDhGMEQwODJEMDgzRDBFMDMyMDAwMDAwMDAwMDBEQkQ4NAorOjEwMTMyMDAwMTBDMEUwQzA4M0MwODJEMjAzNTM5MUVGOTA3RkFCNzRCMgorOjEwMTMzMDAwMDgwMDBEQ0QwMDAwMERDRDA4RjBEMDgyRDA4M0QwRTBBNAorOjEwMTM0MDAwMzIwMDAwMDAwMDAwMERENTEwOEUzOThGM0FFNTNBMTVCNQorOjEwMTM1MDAwM0FBRTM5NzAwMjE1Mzk0RTYwMDAwREU1MDAwMDBERTUxQQorOjEwMTM2MDAwMDcwNTEyMEU0MTgwRUUyMjAwMDAwREVDMTBDMEUwQzAxNworOjEwMTM3MDAwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDAwMDBERkNEQworOjEwMTM4MDAwMDAwMDBERkMwNjgyRDA4M0QwRTAzMjAwMDAwMDBFMDI4NworOjEwMTM5MDAwMTBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjAxNworOjEwMTNBMDAwRDAwMDBFMTIwMDAwMEUxMjA2ODJEMDgzRDBFMDMyMDA3MAorOjEwMTNCMDAwMDAwMDBFMTgxMEFFMDc3RjIxN0QwMTc0MDAyRUY1ODIwQgorOjEwMTNDMDAwRTQzNDBGQUI4MjAwMEUyODAwMDAwRTI4MDVGQTEyMEQzRgorOjEwMTNEMDAwNTEyMjAwMDAwMDAwMEUyRDEwNTAwRjAwQzBGOUE0QjBFMworOjEwMTNFMDAwOTk5MjgyRjg4MDk4ODg4M0M2MDAwRTNEMDAwMDBFM0REOQorOjEwMTNGMDAwMDNBMTg2OEUwMDAwMEU0MDAxMDAwMDAwMDAwMDBFNDE5NworOjEwMTQwMDAwMTA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBFOAorOjEwMTQxMDAwRjkwMDBFNTEwMDAwMEU1MTAxMjIwMDAwMDAwMDBFNTI5MgorOjEwMTQyMDAwMEU5MDdGMDBFNTBFRjA5MDdGQjU3NDAxRjBEMzIyMDA5RQorOjEwMTQzMDAwMDAwMDBFNjAwODkwN0ZFQUUwRjUwRUQzMjIwMDAwMDA2NQorOjEwMTQ0MDAwMDAwMDBFNjgwOEU0RjUwREQyRTlEMkFGMjIwMDAwMDBEQQorOjEwMTQ1MDAwMDAwMDBFNzAwNDUzRDhFRjMyMDAwMDAwMDAwMDBFNzQzQworOjEwMTQ2MDAwMDNEMjAwMjIwMDAwMEU3NzAyRDMyMjAwMDAwMDBFNzk4MgorOjEwMTQ3MDAwMDJEMzIyMDAwMDAwMEU3QjAyRDMyMjAwMDAwMDBFN0Q2QQorOjEwMTQ4MDAwMDJEMzIyMDAwMDAwMEU3RjAyRDMyMjAwMDAwMDBFODE1MgorOjEwMTQ5MDAwMDJEMzIyMDAwMDAwMEU4MzAxMzIwMDAwMDAwMDBFODRGRgorOjEwMTRBMDAwMDEzMjAwMDAwMDAwMEU4NTAxMzIwMDAwMDAwMDBFODZBRgorOjEwMTRCMDAwMDEzMjAwMDAwMDAwMEU4NzAxMzIwMDAwMDAwMDBFODg5QgorOjEwMTRDMDAwMDEzMjAwMDAwMDAwMEU4OTAxMzIwMDAwMDAwMDBFOEE4NworOjEwMTREMDAwMDEzMjAwMDAwMDAwMEU4QjAxMzIwMDAwMDAwMDBFOEM3MworOjEwMTRFMDAwMDEzMjAwMDAwMDAwMEU4RDAxMzIwMDAwMDAwMDBFOEU1RgorOjEwMTRGMDAwMDEzMjAwMDAwMDAwMEU4RjAxMzIwMDAwMDAwMDBFOTA0QgorOjEwMTUwMDAwMDEzMjAwMDAwMDAwMEU5MTAxMzIwMDAwMDAwMDBFOTIzNgorOjEwMTUxMDAwMDEzMjAwMDAwMDAwMTEwMDEwMTIwMTAwMDEwMDAwMDA2MworOjEwMTUyMDAwNDA0NzA1MTAyNzAxMDAwMTAyMDAxMTEwMDAwMDExMTBCMgorOjEwMTUzMDAwMTAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDBCRAorOjEwMTU0MDAwMDIwMDExMjAwMDAwMTEyMDEwRkYwMDAwMDQwNzA1ODI5NgorOjEwMTU1MDAwMDI0MDAwMDAwNzA1MDIwMjQwMDAxMTMwMDAwMDExMzA3NworOjEwMTU2MDAwMTAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjhCNAorOjEwMTU3MDAwMDAwMDExNDAwMDAwMTE0MDEwNkYwMDcyMDAyMDAwNDM3NQorOjEwMTU4MDAwMDA2ODAwNjkwMDcwMDA3MzAwMDAxMTUwMDAwMDExNTBFNQorOjEwMTU5MDAwMTAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYzNgorOjEwMTVBMDAwMDAwMDExNjAwMDAwMTE2MDEwNjkwMDcyMDA2RDAwNzc4QQorOjEwMTVCMDAwMDA2MTAwNzIwMDY1MDAyMDAwMDAxMTcwMDAwMDExNzBEMQorOjEwMTVDMDAwMTA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzJFOAorOjEwMTVEMDAwMDAwMDExODAwMDAwMTE4MDEwNkIwMDczMDAyQTAzNDM4QgorOjEwMTVFMDAwMDA2RjAwNkUwMDY2MDA2OTAwMDAxMTkwMDAwMDExOTAwRAorOjEwMTVGMDAwMTA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkU3MgorOjEwMTYwMDAwMDAwMDExQTAwMDAwMTFBMDEwMjAwMDUzMDA3NDAwNzIwRgorOjEwMTYxMDAwMDA2OTAwNkUwMDY3MDAyMjAzMDAxMUIwMDAwMDExQjBFNQorOjEwMTYyMDAwMTA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjM3RQorOjEwMTYzMDAwMDAwMDExQzAwMDAwMTFDMDEwNjUwMDIwMDA1MzAwNzRBQworOjEwMTY0MDAwMDA3MjAwNjkwMDZFMDA2NzAwMDAxMUQwMDAwMDExRDAyOAorOjA5MTY1MDAwMDIwMDAwMDAwMDAwMDAwMDAwOEYKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS95YW1haGEvZHMxX2N0cmwuZncuaWhleCBiL2Zpcm13YXJlL3lhbWFoYS9kczFfY3RybC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhOWIxZDcKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS95YW1haGEvZHMxX2N0cmwuZncuaWhleApAQCAtMCwwICsxLDc2OSBAQAorOjEwMDAwMDAwMDcwMDAwMDAwNzAwMjQwMDA3MDAwQzAwMDcwMDFDMDA4OAorOjEwMDAxMDAwMDcwMDA2MDAwMjAwNzAwMDIwMDAwMDAwNDAwMDAzMDBGRQorOjEwMDAyMDAwMDQ3MTAwMDA4NjQyMDAwMDQwMDAwMzAwMEQwRjAwMDAzNAorOjEwMDAzMDAwMTAwODAwMDAzQTA0MjAwMDgyMDIwMDAwMEQwMjAwMDBCNworOjEwMDA0MDAwMTAwODAwMDAzQTA0MjAwMDgyMTIwMDAwODIwRTIwMDBGNgorOjEwMDA1MDAwODIxQTAwMDAwRDJEMDMwMDEwMDgwMDAwM0EwNDEwMDA2MQorOjEwMDA2MDAwOEREMzAyMDAxMDA4MDAwMDNBMDQxODAwMEQwMTAwMDBCMgorOjEwMDA3MDAwMTUwMDAyMDBGRDAwMDAwMDIwMDAwMDAwNjA4ODAzMDA2MQorOjEwMDA4MDAwNjA5MDAzMDA2MDgwMDMwMDQwODAwMzAwNDA4MDAzMDAxNAorOjEwMDA5MDAwNDA4MDAzMDA0MDgwMDEwMDdEMEEwMDAwNDA4MDAzMDA5MgorOjEwMDBBMDAwNDA4MDAzMDA0MDgwMDEwMDAyMDQyMDAwODIwODAwMDAxQworOjEwMDBCMDAwMUEwMDA4MDAwNDA5MDAwMDg2NTkwMTAwMDcwMDAwMDAyQQorOjEwMDBDMDAwMDcwMDI2MDAwNzAwMDAwMDA3MDAwMDAwMDY4QTAxMDA2NAorOjEwMDBEMDAwMDcwMDAwMDA4RDBDMDMwMDEwMDgwMDAwM0EwNDE4MDAwRgorOjEwMDBFMDAwMDcwMDI2MDA3RDA4MDAwMDQyODAwMTAwMEExNjAwMDA3QgorOjEwMDBGMDAwMDZBMjA0MDAwNzAwMDAwMDhEMjEwMDAwMTAwODAwMDA4NworOjEwMDEwMDAwM0EwNDA4MDAwNkMyMjEwMDA3MDAwMDAwRkQwNzAwMDBCNQorOjEwMDExMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODY5MzAyMDBFMgorOjEwMDEyMDAwOTUwMTAwMDAwNDBEMDkwMDA3MDAwMDAwMjAwODAwMDBGMAorOjEwMDEzMDAwRjUwMDAwMDA3RDBCMDAwMDYwRjAwMTAwRkQwMDAwMDBGNAorOjEwMDE0MDAwMDYyMjAzMDA0MDgwMDEwMDdEMEEwMDAwNDI4MDAzMDA3NworOjEwMDE1MDAwNEE4MDEzMDAwQTAwMTgwMDIwMTgwMDAwNjA5MDA1MDA3MworOjEwMDE2MDAwNjA4ODA1MDA0MDgwMDEwMEZEMDAwMDAwNDI4MDAxMDAyMQorOjEwMDE3MDAwMEEwMDcwMDAxNTAxMDAwMDQ0MTEwNzAwODYyMzAzMDBFNworOjEwMDE4MDAwMDAwMDAzMDAyMDcwMDAwMDA2NEEwMzAwNDA4MDAxMDBDOAorOjEwMDE5MDAwOEQzNDAwMDAxMDA4MDAwMDNBMDQwODAwMDZFQTIxMDAyRgorOjEwMDFBMDAwMDcwMDAwMDA4REQzMDIwMDEwMDgwMDAwM0EwNDE4MDA3OAorOjEwMDFCMDAwMDY4MjAxMDAwNzAwMDAwMDA3MDAyNDAwOEQwRjAwMDBFOAorOjEwMDFDMDAwMTAwODAwMDAzQTE2MDAwMDAyMjQwMDAwMDI1QzAwMDA0MworOjEwMDFEMDAwRkQyODAwMDAyMDAwMDAwMDQwODAwMTAwMEQwMDA4MDAwNAorOjEwMDFFMDAwMTUwODAwMDA4NDA5NTEwMDA3MDAwMDAwNEQwMDAwMDBDMAorOjEwMDFGMDAwNUQwRTAwMDAwMjBFMDAwMDhENDEwMDAwMTAwODAwMDA5RQorOjEwMDIwMDAwM0EwNDA4MDAwNjhBMkMwMDA3MDAwMDAwOEQwMDAwMDA1OAorOjEwMDIxMDAwMjQwOTAwMDAwMjBGMDAwMDhENDUwMDAwMTAwODAwMDBCNgorOjEwMDIyMDAwM0EwNDA4MDAwNjhBMkMwMDA3MDAwMDAwN0QzODAwMDAxMAorOjEwMDIzMDAwNDI4MDAxMDAwQTAwMDgwMDE1MTAwMDAwODQwOTAxMDAzNgorOjEwMDI0MDAwODY4MzAxMDAwNzAwMDAwMDA2QUEwMTAwMDcwMDAwMDBFNQorOjEwMDI1MDAwRkQwODAwMDA0MjgwMDEwMDBBMDAxODAwMDQxOTAwMDA5NworOjEwMDI2MDAwODY4MDIxMDAwNzAwMjgwMDEwMTgwMDAwM0EwNDI4MDBBQQorOjEwMDI3MDAwMDIwQzI4MDAwRDAwMDAwMDEwMDgwMDAwM0ExNDI4MDBBRAorOjEwMDI4MDAwOEQ4MDA4MDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDA3MQorOjEwMDI5MDAwMDcwMDIwMDAwRDAyMDAwMDA0OTkxODAwMDcwMDAwMDA2QworOjEwMDJBMDAwMkQ0MDAwMDBCRDAwMDAwMEZEMDIwMDAwNDI4MDAxMDA2MgorOjEwMDJCMDAwMEEwMDA4MDAwNDA5MDAwMDg2NUEwNTAwMDcwMDAwMDAzMworOjEwMDJDMDAwMDAwMTAwMDAyMDBBMDAwMDdEMDQwMDAwNDA4MDAxMDBDMQorOjEwMDJEMDAwNDI4MDAxMDAwQTAwMjAwMDE1MzAwMDAwNDQyMTAxMDA4NgorOjEwMDJFMDAwODY0OTAzMDAwNzAwMDAwMDA0MjEwMDAwODY0OTAzMDAzRQorOjEwMDJGMDAwMDcwMDAwMDA4RDBGMDAwMDEwMDgwMDAwM0EwQzI4MDBENQorOjEwMDMwMDAwNDQzOTAyMDA4NkM5MDYwMDA3MDAwMDAwMTAxODAwMDBFQQorOjEwMDMxMDAwM0EwNDI4MDAwRDgxMDgwMDIwMDgwMDAwRkQwMjAwMDBCQQorOjEwMDMyMDAwNDA4MDAxMDAwNzAwMjAwMDEwMjgwMDAwM0EwMDc4MDBGQgorOjEwMDMzMDAwOEQ2ODAwMDAxMDA4MDAwMDNBMDQwODAwMDY4QTI4MDBCMgorOjEwMDM0MDAwMDcwMDAwMDAwRDQwMDAwMDE1MTAwMDAwMDQ5OTE4MDA3RgorOjEwMDM1MDAwMDQyOTI5MDAwNDM5MzkwMDA3MDAwMDAwMDYwMjA2MDBCQworOjEwMDM2MDAwMDcwMDAwMDBGNTA0MDAwMDdEMDAwMDAwMjAwMDAwMDBGMAorOjEwMDM3MDAwOEQwMDAwMDA2MDA4MDEwMDQwODAwMTAwN0QwNDAwMDA0NQorOjEwMDM4MDAwNDI4MDAzMDA0QTgwMjEwMDBBMDAxODAwNDQxOTAyMDAzQworOjEwMDM5MDAwODY1ODIxMDAwNzAwMDAwMDc1NDAwMDAwMDRGMTcxMDAzQworOjEwMDNBMDAwMDcwMDAwMDA0MjAwMDEwMDBBMDAyODAwMDQyOTAwMDBBNAorOjEwMDNCMDAwODYyMDIxMDAwNzAwMDAwMDBEM0MwMDAwMDRBOTMwMDA0OQorOjEwMDNDMDAwMDcwMDAwMDA3RDA3MDAwMDQyODAwMTAwMEEwMDA4MDBDRAorOjEwMDNEMDAwMDQwOTAwMDA4NkRBMDcwMDdEMDUwMDAwMjAyODAwMDBERgorOjEwMDNFMDAwNjBCMDAzMDAwNkYyMDcwMDQwODAwMTAwMjAzMDAwMDBFQQorOjEwMDNGMDAwNjBBODAzMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDA2RgorOjEwMDQwMDAwMEEwMDA4MDAwNDA5MDAwMDg2RkEwNzAwMDcwMDAwMDAzRgorOjEwMDQxMDAwN0QwNTAwMDA0MjgwMDEwMDBBMDQyODAwOEQwRTAwMDBDNgorOjEwMDQyMDAwMTAwODAwMDAzQTBDMjgwMDBEMDAwMDAwMTAwODAwMDAyMQorOjEwMDQzMDAwM0ExNDI4MDAwRDAwMDkwMDIwMDgwMDAwRkQwMjAwMDAwOQorOjEwMDQ0MDAwNDA4MDAxMDAwNzAwMjAwMEZEM0QwMDAwMjAwMDAwMDA2QQorOjEwMDQ1MDAwNDA4MDAxMDA3RDEwMDAwMDhEOEQwMDAwMTAwODAwMDAxQworOjEwMDQ2MDAwM0EwNDA4MDAwNjhBMjgwMDA3MDAwMDAwMTUwODAwMDA2QQorOjEwMDQ3MDAwMUEwMDA4MDA4NDA5MDEwMDg2NTEwOTAwN0QxMzAwMDA1QworOjEwMDQ4MDAwMDAwNTIwMDAyMDBGMjgwMDYwOEYzMzAwNjA4RjNCMDBBNAorOjEwMDQ5MDAwNjA4RjQzMDA2MDhGNEIwMDYwOEY1MzAwNjA4RjVCMDA2NAorOjEwMDRBMDAwNjA4QTAzMDA0MDgwMDEwMEJEN0YwMDAwQzQzRDM4MDAyOQorOjEwMDRCMDAwMDcwMDAwMDA3RDFBMDAwMDc1MTMwMDAwNDI4MDAxMDA1MworOjEwMDRDMDAwNEEwMDA5MDAwQTAwMTAwMDA0OEQwQjAwMDQ5NTEzMDA3NworOjEwMDREMDAwMDcwMDAwMDAyMDA4MDAwMDYwOTAwMTAwMDQxMTAwMDBFNworOjEwMDRFMDAwODYyMDIxMDA0MDAwMDEwMEZEMTcwMDAwNDI4MDAxMDAyRAorOjEwMDRGMDAwMEEwMDA4MDAwNDA5MDAwMDg2MjIyMTAwMDcwMDAwMDAwRAorOjEwMDUwMDAwN0QxOTAwMDA0MjgwMDMwMDRBODAwOTAwMEEwMDEwMDBBMworOjEwMDUxMDAwMjQwOTAwMDA2NDE2MDAwMEZEMTEwMDAwNDI4MDAzMDA2MQorOjEwMDUyMDAwNEE4MDJCMDA0QTgwMTkwMDhEMDAwMDAwNDQ4OTIxMDA3OAorOjEwMDUzMDAwMDcwMDAwMDA0NDIyMDAwMDg2RTEwQTAwMDcwMDAwMDBENgorOjEwMDU0MDAwNjQxQTAwMDAyNDJBMDAwMDdEMTkwMDAwMDIwMTA4MDAzRQorOjEwMDU1MDAwMjIwMTEwMDAyMDA4MDAwMDYwOTAwMzAwNDA4MDAxMDA4QworOjEwMDU2MDAwRkQzRDAwMDA4RDAwMDAwMDIwMDgwMDAwNDA4MDAxMDBEQgorOjEwMDU3MDAwNzUxMzAwMDA3RDFBMDAwMDQyMDAwMTAwNEE4MDA5MDA0NgorOjEwMDU4MDAwMEEwMDEwMDAxRDAyMDAwMEU0ODkwMTAwRTQ5MjI5MDAyNQorOjEwMDU5MDAwNDQ5MTMwMDAwNzAwMDAwMDBEMDYwMDAwMTUwQTAwMDAxRAorOjEwMDVBMDAwMUQwQzAwMDAyNTEwMDAwMEU0QTkwMDAwRTQyQjAxMDA1MAorOjEwMDVCMDAwNjQwNDAwMDBFNEIzMDEwMEU0MzIwMjAwNjQwNDAwMDBCQgorOjEwMDVDMDAwNjQwNDAwMDA2NDA0MDAwMDY0MDQwMDAwMEQwNDAwMDBFMgorOjEwMDVEMDAwQzRCMTA4MDAwNzAwMDAwMDIwMDgwMDAwRjUwQjAwMDA2RgorOjEwMDVFMDAwNDAwMDAzMDA3RDE5MDAwMDQyODAwMzAwNEE4MDA5MDA5QQorOjEwMDVGMDAwMjQwQTAwMDAwQTAwMDgwMDY0MEUwODAwMDcwMDAwMDAzQQorOjEwMDYwMDAwMjIwMTEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAxMDBEQgorOjEwMDYxMDAwQUM2NDAwMDA3RDAyMDAwMDIwMDAwMDAwNDA4MDAxMDA2QQorOjEwMDYyMDAwN0QxMDAwMDA0MjgwMDEwMEZEMTEwMDAwNEE4MDNCMDA2NworOjEwMDYzMDAwNEE4MDA5MDAwQTAwMjAwMDk1MDAwMDAwNDQxMTFBMDBCOQorOjEwMDY0MDAwNDRBMTAwMDA4NjIwMEQwMDBEMDQwMDAwODRCOTAwMDBDNAorOjEwMDY1MDAwODYyMTBEMDBGRDE4MDAwMDQyODAwMTAwRkQxMDAwMDAwMQorOjEwMDY2MDAwNEE4MDA5MDAwQTAwMjgwMDk1MDAwMDAwMjQwOTAxMDBDMgorOjEwMDY3MDAwNjQyQTAwMDA4NjExMEQwMDA3MDAwMDAwMDQyOTAwMDAxNAorOjEwMDY4MDAwODYyMjBEMDAwNzAwMDAwMDA2MkEwRDAwMDIwMDA4MDA2NworOjEwMDY5MDAwOEQwMDAwMDA3RDM4MDAwMDIwMDgwMDAwNDA4MDAxMDAyRgorOjEwMDZBMDAwN0QxMjAwMDA0MjgwMDEwMDBBMDAxMDAwMDQzOTAwMDBBMQorOjEwMDZCMDAwODZEMTBEMDAwRDA4MDAwMEI1RkY3RjAwODRCOTAwMDA1MQorOjEwMDZDMDAwODZBMTBEMDAyNTAwMDAwMDA2N0EwRTAwMkQwMDAwMDAxNgorOjEwMDZEMDAwMTUwMDAwMDAyRDA4MDAwMDhEQzcwMjAwMjAwODAwMDA1MgorOjEwMDZFMDAwMDZDMjBFMDAwRDAwMDAwMDM1ODA3RjAwODRCOTAwMDBCNgorOjEwMDZGMDAwODY3MTBFMDAyNTAwNDAwMDhEMDAwMDAwNDQwOTExMDBBNQorOjEwMDcwMDAwMDcwMDAwMDA4RDAxMDAwMDA0OTUxMDAwMDcwMDAwMDBBNAorOjEwMDcxMDAwNjQ5MTAwMDAyNDA0MDAwMDI0MDQwMDAwMjQwNDAwMDA2QworOjEwMDcyMDAwMDIwMTEwMDAwMjAwMjgwMDhEQzYwMjAwMjAwODAwMDAwRgorOjEwMDczMDAwMDZDMjBFMDA4RDAxMDAwMDJEMDQwMDAwOEQwMDAwMDA5NworOjEwMDc0MDAwMDQ5NTEwMDAwNzAwMDAwMDBEMDIwMDAwODQ5MTEwMDBDNQorOjEwMDc1MDAwMDcwMDAwMDAwREM3MDIwMDIwMDgwMDAwOEQwMDAwMDAwNworOjEwMDc2MDAwRkQzODAwMDA0MDgwMDEwMEZEM0IwMDAwMjAxMDAwMDAyQgorOjEwMDc3MDAwNjBBODAzMDAxNTA4MDAwMDg0MzEzMTAwODQyMTIxMDBBNQorOjEwMDc4MDAwMDcwMDAwMDA2MEIwMDMwMDYwQTAwMzAwNDA4MDAxMDA4QgorOjEwMDc5MDAwRkQyMjAwMDA5NTAwMDAwMDI0MDkwMTAwMjQwNDAwMDA0RgorOjEwMDdBMDAwMjQwNDAwMDA2NDEyMDAwMDAyMDExMDAwMjAwODAwMDA3MAorOjEwMDdCMDAwNjA5MDAzMDA0MDgwMDEwMDI0MTkwMDAwOERGQjAwMDBDMAorOjEwMDdDMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDBDMQorOjEwMDdEMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwMjQwNDAwMDBGOAorOjEwMDdFMDAwMjQwNDAwMDA3RDExMDAwMDQyODAwMTAwMEEwMDA4MDA3RQorOjEwMDdGMDAwMjQwQTAwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MDA5MDBEMAorOjEwMDgwMDAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDBEOQorOjEwMDgxMDAwRkQyMjAwMDA0MjgwMDEwMDBBMDAwODAwOTUwMDAwMDA0RgorOjEwMDgyMDAwQzQwRDI4MDAyNDE5MDEwMDdEMTkwMDAwNDI4MDAxMDAzOAorOjEwMDgzMDAwRkQxMTAwMDA0QTgwMDkwMDBBMDAxMDAwQjUwMDAwMDAwOAorOjEwMDg0MDAwNDQzMTExMDAwNDhEMEEwMDA3MDAwMDAwNDQwQTA4MDAyQQorOjEwMDg1MDAwMDQ5NTEyMDAwNzAwMDAwMEZEMjMwMDAwMjAxMDAwMDA5NgorOjEwMDg2MDAwNDA4MDAzMDA0NDEyMTAwMDA3MDAwMDAwMjAwODAwMDAzMAorOjEwMDg3MDAwNjA5MDAzMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDAwMgorOjEwMDg4MDAwMEEwMDA4MDAwNDA5MDAwMDg2RkExMDAwMDcwMDAwMDBCMgorOjEwMDg5MDAwRkQzQjAwMDAwMDAxMDAwMDEwMEEwMDAwN0E4MDBCMDAwMAorOjEwMDhBMDAwNEE4MDEzMDA4NDA5MDkwMDA3MDAwMDAwOTUwMDAwMDAzOQorOjEwMDhCMDAwMDQzRDAxMDA4NjgwMTEwMDBBMDAxMDAwMDIwMDEwMDBCMworOjEwMDhDMDAwODQwOTA5MDAwNzAwMDAwMDQyODAwMzAwNEE4MDExMDBFQgorOjEwMDhEMDAwMDQwRDA5MDAwNzAwMDAwMDBBMDAxMDAwODQwRDA5MDA0MworOjEwMDhFMDAwMDcwMDAwMDA3RDI1MDAwMDIwMDgwMDAwNDA4MDAxMDA3NgorOjEwMDhGMDAwMEQwMTAwMDAxMDA4MDAwMDNBMTQyODAwN0QxMjAwMDBDRAorOjEwMDkwMDAwNDI4MDAxMDAwQTAwMjAwMDdEMTkwMDAwNDI4MDAxMDBBMQorOjEwMDkxMDAwN0QxMTAwMDA0QTgwMzEwMDBBMDAxMDAwMjQzMTAwMDBERgorOjEwMDkyMDAwMEQyODAxMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDBFRQorOjEwMDkzMDAwNDI4MDAzMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDBGOQorOjEwMDk0MDAwMDIwMTMwMDAyNDMxMDAwMDI0MDQwMDAwMjQwNDAwMDBDRgorOjEwMDk1MDAwMjQxMjAwMDAwMjA1MjgwMDRDMUEwMDAwODYwMTEzMDAzMgorOjEwMDk2MDAwMDIwMDcwMDAyRDAwMDAwMDAwMDAwMzAwN0QzODAwMDAzMAorOjEwMDk3MDAwNDI4MDAxMDAwQTAwMTAwMDA2MkExMzAwMjQyMTAwMDAxMgorOjEwMDk4MDAwQUQwMDAwMDAwMjAwMTAwMDBEMDEwMDAwMjQwOTAwMDA2RAorOjEwMDk5MDAwMjQ2QjAwMDA4RDM2MDEwMDdEMzkwMDAwMjAwODAwMDAyNgorOjEwMDlBMDAwNDA4MDA1MDA0MjgwMDMwMDRBODQwOTAwMDYwNjAwMDBEQQorOjEwMDlCMDAwMEEwNDA4MDA2NDMyMDAwMDhEMDAwMDAwMjQwQTAwMDBEMAorOjEwMDlDMDAwMjAxMDAwMDA3RDIyMDAwMDQwODAwMTAwMEQzQzAxMDA0RAorOjEwMDlEMDAwMTAwODAwMDAzQTA0MDgwMDA2RDIyOTAwMDcwMDAwMDBCMQorOjEwMDlFMDAwMjAyODAwMDA3RDIwMDAwMDQwODAwMTAwN0QxMTAwMDBEMworOjEwMDlGMDAwNDI4MDAzMDA0QTgwMTMwMDBBODAzMzAwN0QzODAwMDBFMworOjEwMEEwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODYzQTE2MDAyRQorOjEwMEExMDAwMDcwMDAwMDA4RDAwMDAwMDY0MDkwMzAwOEQ0NzAxMDBGRAorOjEwMEEyMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA1RQorOjEwMEEzMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwMDIwMTM4MDA4MgorOjEwMEE0MDAwMjQwNDAwMDAyNDA0MDAwMDI0MTIwMDAwRkQwMjAwMDAyMQorOjEwMEE1MDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODZBMjE0MDA3OAorOjEwMEE2MDAwMDcwMDAwMDAwMjA1MjgwMDRDMUEwMDAwODYzOTE2MDAxNQorOjEwMEE3MDAwMDcwMDAwMDA2NDIxMDMwMDJDNjMwMDAwRkQzRDAwMDAxRQorOjEwMEE4MDAwNDI4MDAxMDAwQTAwMDgwMDk1MDAwMDAwMDQwOTA5MDBFNgorOjEwMEE5MDAwMDcwMDAwMDAyMDA4MDAwMDRDMUEwMDAwODY2MTE1MDBDNQorOjEwMEFBMDAwNDA4MDAxMDAwMDAwMDMwMDA2N0ExNTAwMjQyMTAwMDBBOAorOjEwMEFCMDAwMEQwMTAwMDAyNDA5MDAwMDI0NkIwMDAwOEQ1QjAxMDA4MworOjEwMEFDMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDBCRQorOjEwMEFEMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwNjQzQTAwMDA3RgorOjEwMEFFMDAwOTUwMDAwMDAyNDEyMDAwMEZEMDIwMDAwNDI4MDAxMDA3OQorOjEwMEFGMDAwMEEwMDA4MDAwNDA5MDAwMDg2REExNTAwMDcwMDAwMDA1QgorOjEwMEIwMDAwOEQ2MjAxMDAxMDA4MDAwMDNBMDQwODAwMDZEMjI5MDA5NgorOjEwMEIxMDAwMDcwMDAwMDAwNkQyMTQwMDA3MDAwMDAwMjA3MDAwMDA0QgorOjEwMEIyMDAwMEEwMTA4MDAyQTAxMTAwMEZEMjAwMDAwNjA4ODAzMDA2RgorOjEwMEIzMDAwNjA5MDAzMDA0MDgwMDEwMDdEMjIwMDAwNDI4MDAxMDA5RgorOjEwMEI0MDAwRkQzRDAwMDAwQTAwMDgwMDRBODQzMTAwMDQwOTAwMDA0RAorOjEwMEI1MDAwODZEODE2MDA4QjAwMTgwMDhEMDAwMDAwMDQ5OTE4MDAzQworOjEwMEI2MDAwMkMzMTAwMDAwNkFBMTcwMDA3MDAwMDAwNEMzMjAwMDBEQworOjEwMEI3MDAwODYzMzE3MDAwNzAwMDAwMDA0MTkwMDAwODYzMDE3MDBCNAorOjEwMEI4MDAwMDcwMDAwMDA5NTAwMDAwMDQ0OTExOTAwMkMyMjAwMDA4RAorOjEwMEI5MDAwMjQzMTAwMDA2QzYzMDAwMDNEMEUwMDAwNzUxMzAwMDA1RQorOjEwMEJBMDAwRkQwQjAwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDAwRAorOjEwMEJCMDAwRUM4QTAzMDBFQzkzMDMwMDRDMjIwMDAwODZBOTE3MDA4NgorOjEwMEJDMDAwMDcwMDAwMDA4RDAwMDAwMDA0OTkxODAwNkMyMjAwMDA0RQorOjEwMEJEMDAwMkMzMjAwMDAwQTA1MzAwMEFCMUQzMDAwODMyMDAwMDBERAorOjEwMEJFMDAwRkQxODAwMDA0MjgwMDEwMDBBMDAwODAwMjQ4OTAxMDA2RAorOjEwMEJGMDAwMDIwNTMwMDA4MzEwMDAwMDc1MTgwMDAwNDIwMDAxMDA1QgorOjEwMEMwMDAwMEEwMDEwMDA4RDAwMDAwMDI0MDkwMTAwNzUxMzAwMDA4NworOjEwMEMxMDAwNDIwNTMzMDBDQjBDMzMwMENCMkMzMzAwQ0IzNDMzMDBGNAorOjEwMEMyMDAwQ0IzQzMzMDBDQjQ0MzMwMENCNEMzMzAwQ0I1NDMzMDBBQworOjEwMEMzMDAwOEI1QzMwMDA4MzYwMDAwMEY1MDIwMDAwNDIwMDAxMDA4MAorOjEwMEM0MDAwMEEwMDA4MDAwNDA5MDAwMDg2N0ExODAwMDcwMDAwMDA2NgorOjEwMEM1MDAwMkQxRTAwMDBGRDA1MDAwMDQyODAwMTAwMEEwMDA4MDA3MgorOjEwMEM2MDAwMjQ4OTAyMDAwMjA1MjgwMDBEMDYwMDAwMTAwODAwMDA3QgorOjEwMEM3MDAwM0EwQzI4MDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDBFQgorOjEwMEM4MDAwOEQ4MDBBMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDBFRAorOjEwMEM5MDAwMDcwMDIyMDA3NTEyMDAwMDQyMDAwMzAwNEEwMDIxMDBGNAorOjEwMENBMDAwOEQwMDAwMDA0NDA5MUEwMDA3MDAwMDAwMEQ5ODAxMDBBMworOjEwMENCMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIyQjAwMDcwMDAwMDA3QworOjEwMENDMDAwRjUwMTAwMDA0MjAwMDMwMDRBMDAwRDAwMEEwMDEwMDA3OAorOjEwMENEMDAwNDQ5MTA4MDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBDNworOjEwMENFMDAwRjUyNTAwMDA0NDMxMEEwMDA3MDAwMDAwMjAwODAwMDAzQworOjEwMENGMDAwNjAyODAzMDA0MDAwMDMwMDdEMjEwMDAwNDI4MDAzMDBDMworOjEwMEQwMDAwNEE4MDBCMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA1OQorOjEwMEQxMDAwNDAwMDAzMDA4RDAwMDAwMDI0MDEwMDAwMkMwMTAwMDBCMQorOjEwMEQyMDAwNjQwRTAwMDA2NDFBMDAwMDZDNjMwMDAwMEEwMTA4MDBGMQorOjEwMEQzMDAwMkEwMTEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA5QQorOjEwMEQ0MDAwRkQyMDAwMDA0MjgwMDEwMDBBMDAwODAwN0QyMjAwMDAxMgorOjEwMEQ1MDAwNDI4MDAxMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDAxQgorOjEwMEQ2MDAwNDAwMDAzMDA3RDE5MDAwMDQyODAwMTAwMEEwMDA4MDBENQorOjEwMEQ3MDAwRkQyMjAwMDA0MjgwMDMwMDBBMDAxMDAwMjAwODAwMDA0RAorOjEwMEQ4MDAwNjAxMDAzMDA0MDAwMDMwMDA0MEQwOTAwMDcwMDAwMDA4QworOjEwMEQ5MDAwMjAwODAwMDA0MDAwMDMwMDQyODAwMzAwNEE4MDBCMDA0RQorOjEwMERBMDAwMEEwMDEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA0QgorOjEwMERCMDAwNDI4MDAzMDA0QTgwMTMwMDRBODAxOTAwMDQwRDExMDA4QworOjEwMERDMDAwMDQ4RDE5MDAwNzAwMDAwMDBBMDAwODAwMjAxMDAwMDAzMAorOjEwMEREMDAwNjAxODAzMDA2MDA4MDMwMDQwMDAwMzAwOEQwMDAwMDA1RAorOjEwMERFMDAwNDQwOTBCMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDAzQgorOjEwMERGMDAwRjUwNTAwMDA0MjAwMDMwMDBBMDAwODAwMjAwODAwMDA3QQorOjEwMEUwMDAwNDAwMDAxMDBGNTAwMDAwMDQyMDAwMTAwMEEwMDA4MDA1NworOjEwMEUxMDAwMDQwOTAwMDA4NjYwMUMwMDc1MUUwMDAwNDIwMDAzMDBFQgorOjEwMEUyMDAwNEEwNDAxMDAwQTBDMDAwMDA2NzIxQzAwMDcwMDAwMDBDMgorOjEwMEUzMDAwMDIwNDAwMDAwMjBDMDAwMDdEMTcwMDAwRjUxQTAwMDBGQgorOjEwMEU0MDAwNDI4MDAxMDA0QTE0MDMwMDRBMUMwMzAwNEEyNDAzMDBBNAorOjEwMEU1MDAwNEEyQzAzMDA0QTM0MDMwMDRBM0MwMzAwNEE0NDAzMDA3RQorOjEwMEU2MDAwMEE0QzAwMDAzRDA0MDAwMEY1MTMwMDAwRkQxQTAwMDBDQworOjEwMEU3MDAwNDIwMDAzMDA0QTAwMEIwMDRBODAxQjAwNEE4MDEzMDAxNgorOjEwMEU4MDAwMEEwMDIwMDA0NDkxMDgwMDQ0QTExOTAwRTQ4OTAzMDBFRAorOjEwMEU5MDAwRUM5OTAzMDAwMjU1MDAwMDBBNUQwMDAwNDIwMDAzMDBDNworOjEwMEVBMDAwNEEwMDBCMDA0QTgwMUIwMDRBODAxMzAwMEEwMDIwMDAwMQorOjEwMEVCMDAwNDQ5MTA4MDA0NEExMTkwMEU0ODkwMzAwRUM5OTAzMDA1RgorOjEwMEVDMDAwMDI2NTAwMDAwQTZEMDAwMDQyMDAwMzAwNEEwMDBCMDBBQQorOjEwMEVEMDAwNEEwMDE5MDA0QTgwMkIwMDRBODAxMzAwNEE4MDIxMDBGMgorOjEwMEVFMDAwMEEwMDMwMDA0NDkxMDgwMDQ0QTExOTAwNDRCMTJBMDBDRQorOjEwMEVGMDAwRTQ4OTAzMDBFQzk5MDMwMDAyNzUwMDAwMEE3RDAwMDBGQworOjEwMEYwMDAwRTRBOTAzMDAwMjA3MDAwMDdEMTAwMDAwMTUwNDAwMDBBMgorOjEwMEYxMDAwNDI4MDAxMDAwQTAwMDgwMEU0MDkwMTAwMDIwRjAwMDBGRAorOjEwMEYyMDAwRjUyQTAwMDBGRDE5MDAwMDQyMDAwMTAwNEE4MDA5MDA3NgorOjEwMEYzMDAwMEEwMDEwMDAzNDA5MDAwMDc0MTYwMDAwRjUyOTAwMDBCMgorOjEwMEY0MDAwNDIwMDAxMDAwQTAwMTAwMDdDOTEwMDAwNzUyMDAwMDBBMgorOjEwMEY1MDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwODZEMjFFMDBCOQorOjEwMEY2MDAwRjUyNjAwMDBGNTI3MDAwMDQyMDAwMzAwNEEwMDA5MDBCMgorOjEwMEY3MDAwMEEwMDEwMDAzQzBBMDAwMDdDMTYwMDAwNzUxQTAwMDBGMAorOjEwMEY4MDAwRkQwQjAwMDA0MjAwMDEwMDRBODA1MTAwMEEwMDQ4MDBBOQorOjEwMEY5MDAwMDcwMDE2MDA3NTEwMDAwMDQyMDAwMTAwMEEyQzI4MDAwRQorOjEwMEZBMDAwMTIxRDI4MDAxMjI1MjgwMDMyMUYwMDAwMDcwMDFFMDAxNQorOjEwMEZCMDAwMDcwMDBFMDA3NTE5MDAwMDQyMDAwMTAwRjUyRDAwMDAyOQorOjEwMEZDMDAwNEEwMDBEMDAwQTAwMTAwMDQ0OTEwMDAwODZCMjFGMDA4NAorOjEwMEZEMDAwNDIwMDAxMDAwQTM0MjgwMDVEMEUwMDAwOEQwMDAwMDA3MAorOjEwMEZFMDAwNzUwMzAwMDAyMDA4MDAwMDQwMDAwMTAwRjREMjA1MDA1NQorOjEwMEZGMDAwMDREMTU0MDA1QzczMDAwMDg2NTMyMDAwMDcwMDAwMDBGOQorOjEwMTAwMDAwMDcwMDBDMDAwNzAwMDgwMDA3MDAwQTAwMEQwNDAyMDA5QQorOjEwMTAxMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIzMzAwMDcwMDAwMDAxMAorOjEwMTAyMDAwMDY1QTIwMDAwNzAwMDAwMDA3MDAwODAwNzUyMjAwMDA5MworOjEwMTAzMDAwNDIwMDAxMDAwQTAwMjAwMDA0MjEwMDAwODYyMDIxMDA1NworOjEwMTA0MDAwMkQxRTAwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwOQorOjEwMTA1MDAwMDQwOTAwMDA4NjkyMjAwMDA3MDAwMDAwMTAyMDAwMDAxNAorOjEwMTA2MDAwM0EwNDMwMDA3RDA1MDAwMEMzODAwMTAwMEEwMDA4MDAzQQorOjEwMTA3MDAwMjQ4OTAyMDAwMjA1MjgwMDAyMEMyODAwMEQ4MTBBMDBDNAorOjEwMTA4MDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMDcwMDIyMDBENworOjEwMTA5MDAwRkQwNDAwMDA0MjgwMDEwMDBBMDA3MDAwMDAwMDAzMDAwRgorOjEwMTBBMDAwMjA3MDAwMDAwNkZBMDYwMDQwODAwMTAwMEQxODAyMDBDMgorOjEwMTBCMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIyQjAwMDcwMDAwMDA3OAorOjEwMTBDMDAwRkQwMjAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDAzRgorOjEwMTBEMDAwODY4QTIxMDAwNzAwMDAwMDA2RjIwMTAwMDcwMDAwMDBEOAorOjEwMTBFMDAwNzUwODAwMDBGRDA5MDAwMDBEMDEwMDAwMDYwQTIyMDAzRAorOjEwMTBGMDAwOTUwMjAwMDA3NTBCMDAwMDdEMDkwMDAwMEQwMDAwMDA0NgorOjEwMTEwMDAwMTUwNTAwMDA0MjAwMDEwMDBBMDAxODAwMDQxOTAwMDA0MworOjEwMTExMDAwODY3ODI4MDBGNTA2MDAwMDIwMTAwMDAwNDAwMDAxMDAzRAorOjEwMTEyMDAwRjUwNDAwMDAyMDA4MDAwMDQwMDAwMTAwNzUwNzAwMDBFMQorOjEwMTEzMDAwNDIwMDAxMDA0QTgwMDkwMDBBMDAxMDAwMjQxMTAwMDA0QQorOjEwMTE0MDAwMDQwOTAwMDA4NkJBMjIwMDE1MDgwMDAwMDIwMTA4MDAwOAorOjEwMTE1MDAwMDQxMjEwMDAwNkRBMjIwMDc1MDUwMDAwMDQxMjA4MDBDRgorOjEwMTE2MDAwMDcwMDAwMDAwMjAxMTAwMDc1MDUwMDAwMjUwNDAwMDBDMgorOjEwMTE3MDAwMjQxMTAyMDAwMjAxMTAwMDIwMDgwMDAwNjAxMDAzMDA4QQorOjEwMTE4MDAwNDAwMDAxMDAyNDE5MDAwMDg2NzgyODAwOEQwMDAwMDAyRQorOjEwMTE5MDAwNjQwNDAwMDAwNDlEMDAwMDg2ODgyNzAwMDIwMTE4MDBGNgorOjEwMTFBMDAwNzUwNTAwMDA0MjAwMDEwMDBBMDQyODAwOEQwMTAwMDBCRQorOjEwMTFCMDAwMjQwOTAwMDAwMjBEMjgwMDBEMDAwMDAwMjQwOTAwMDA5MQorOjEwMTFDMDAwMDIxNTI4MDAwRDAwMTAwMDIwMDgwMDAwRjUwMjAwMDBBNAorOjEwMTFEMDAwNDAwMDAxMDAwNzAwMjAwMDc1MTEwMDAwRkQwMjAwMDAyMgorOjEwMTFFMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODZDMjIzMDBCMgorOjEwMTFGMDAwMDcwMDAwMDAwMDAxMDAwMDIwMEIwODAwNjAwQjEzMDAzNgorOjEwMTIwMDAwNjAwQjFCMDA2MDBBMDMwMDQwMDAwMTAwNDIwMDA1MDA2MworOjEwMTIxMDAwNEEwMDNEMDA0QTAwMzUwMDRBMDAyRDAwMEEwMDIwMDAyNworOjEwMTIyMDAwRjUwNjAwMDA0MjAwMDEwMDBBMTQyODAwRjUwNDAwMDA0MQorOjEwMTIzMDAwNDIwMDAxMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDAyRgorOjEwMTI0MDAwODZDQTI0MDAxNTQwMDAwMDk1MDAwMDAwMDQwRDAxMDAyRQorOjEwMTI1MDAwODZCODI0MDAyMjAwMTAwMDJBMDAxMDAwMDZFMjI0MDBCNAorOjEwMTI2MDAwMDcwMDAwMDAwNDMxMzMwMDA0QTkyQTAwMDcwMDAwMDAzMQorOjEwMTI3MDAwMjQyMTAzMDAwMjA1MjgwMDI0MTEwMDAwMjQwNDAwMDA5QQorOjEwMTI4MDAwMjQwNDAwMDAyNDMyMDAwMDJDMjkwMDAwNkM2MzAwMDBCQworOjEwMTI5MDAwODZGMzI1MDAwNzAwMDAwMDY0QjEwMjAwNjQwNDAwMDAyQQorOjEwMTJBMDAwNjQwNDAwMDA4RDAwMDAwMDY0MEEwMDAwMDIwRDI4MDBBNAorOjEwMTJCMDAwOEQwMDEwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAzMQorOjEwMTJDMDAwMDcwMDIyMDA4RDAwMDAwMDA0QjkzODAwMDcwMDAwMDA2QworOjEwMTJEMDAwNkMyOTAzMDAwQTAxMzAwMEY1MDIwMDAwNDIwMDAxMDAwMQorOjEwMTJFMDAwMEEwMDA4MDAwNDA5MDAwMDg2QkEyNTAwMDcwMDAwMDA3MworOjEwMTJGMDAwMkMzMTAyMDAwQTA1MjgwMDhEMDAwMDAwNkMwOTAxMDA1NQorOjEwMTMwMDAwMEEwRDI4MDAwRDAxMTAwMDIwMDgwMDAwRjUwMjAwMDA2MQorOjEwMTMxMDAwNDAwMDAxMDAwNzAwMjIwMDI0MTEwMDAwMjQwNDAwMDAwNgorOjEwMTMyMDAwMjQwNDAwMDAyNDMyMDAwMDAyMDEzMDAwNDQyOTAzMDA5QworOjEwMTMzMDAwODY3QTI2MDAwNzAwMDAwMDAyMDAzMDAwRjUwNDAwMDA1NQorOjEwMTM0MDAwNDIwMDAxMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDAxRQorOjEwMTM1MDAwODZDMDI2MDAyNDMxMDAwMDY0MDQwMDAwMDIwMTMwMDAzMQorOjEwMTM2MDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDAyNAorOjEwMTM3MDAwODZDQTI2MDAwNzAwMDAwMDI0MzEwMDAwMDIwNTMwMDA2NAorOjEwMTM4MDAwMjQzOTAwMDA4MzA1MzAwMDgzMDgwMDAwRjUwNTAwMDBDMworOjEwMTM5MDAwNDIwMDAxMDAwQTA0MjgwMDhEMDAwMDAwMjQ4MTAwMDBBMgorOjEwMTNBMDAwMDIwRDI4MDA4RDAwMDAwMDI0ODEwMDAwMDIxNTI4MDA5NQorOjEwMTNCMDAwOEQwMTEwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAyRgorOjEwMTNDMDAwMDcwMDIyMDAyNTEwMDAwMDc1MDUwMDAwNDIwMDAzMDAwMAorOjEwMTNEMDAwNEEwMDA5MDAwQTAwMTAwMDA0MDkwQTAwMDQxMTEyMDA2MgorOjEwMTNFMDAwMDcwMDAwMDAyMDEwMDAwMDYwMDgwNTAwNDAwMDA1MDAxNAorOjEwMTNGMDAwRkQwNjAwMDA0MjgwMDEwMDRBMDAwOTAwMEEwMDEwMDBCQQorOjEwMTQwMDAwQTUwMDAwMDAwNDA5MEEwMDA0MTExMjAwMDcwMDAwMDBGMgorOjEwMTQxMDAwMjAwODAwMDA2MDkwMDEwMDQwMDAwMTAwRjUwMjAwMDA3QgorOjEwMTQyMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwODY0MjI4MDA2QQorOjEwMTQzMDAwMDcwMDAwMDAwNjBBMjMwMDA3MDAwMDAwMDYwNjAwMDA1RgorOjEwMTQ0MDAwMDcwMDAwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDA0OQorOjEwMTQ1MDAwMDQwOTAwMDA4NjkyMjgwMDA3MDAwMDAwMDAwMTAwMDAzNworOjEwMTQ2MDAwMjAwQjA4MDA2MDhCMTMwMDYwOEIxQjAwNjA4QjIzMDAzNworOjEwMTQ3MDAwNjA4QjJCMDA2MDhCMzMwMDYwOEIzQjAwNjA4QjQzMDBFNAorOjEwMTQ4MDAwNjA4QjRCMDA2MDhCNTMwMDYwOEI1QjAwNjA4QjYzMDA1NAorOjEwMTQ5MDAwNjA4QjZCMDA2MDhCNzMwMDYwOEI3QjAwNjA4RjAzMDA0MAorOjEwMTRBMDAwNjA4RjBCMDA2MDhGMTMwMDYwOEYxQjAwNjA4RjIzMDAyNAorOjEwMTRCMDAwNjA4RjJCMDA2MDhGMzMwMDYwOEYzQjAwNjA4RjQzMDA5NAorOjEwMTRDMDAwNjA4RjRCMDA2MDhGNTMwMDYwOEY1QjAwNjA4RjYzMDAwNAorOjEwMTREMDAwNjA4RjZCMDA2MDhGNzMwMDYwOEY3QjAwNjA4QTAzMDBGOQorOjEwMTRFMDAwMDYwNjAwMDA0MDgwMDEwMDhEMDAwMDAwNjQwQTAwMDAzNAorOjEwMTRGMDAwMDIwRDI4MDAyNDBBMDAwMDdEMDIwMDAwNDI4MDAxMDA0NQorOjEwMTUwMDAwMEEwMDEwMDAyNDEyMDAwMEZEMDMwMDAwNDI4MDAxMDBDOAorOjEwMTUxMDAwMEEwMDA4MDAwNDA5MDAwMDg2ODIyQTAwMDcwMDAwMDA3MworOjEwMTUyMDAwOEQwMTAwMDAyNDBBMDAwMDY0MDQwMDAwNjQwNDAwMDAyRgorOjEwMTUzMDAwMDIwMTA4MDAyNDA5MDAwMDI0MDQwMDAwMjQwNDAwMDAyMworOjEwMTU0MDAwMDIwMTEwMDAwRDAwMDIwMDQ0OTEwMDAwODZEOTJBMDAxQgorOjEwMTU1MDAwMDcwMDAwMDBGRDAxMDAwMDQyODAwMTAwMEEwMDA4MDBCMQorOjEwMTU2MDAwNDQwQTAwMDA4NkJCMkEwMDQyODAwMTAwMEQwMDBBMDBFOAorOjEwMTU3MDAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDA1QworOjEwMTU4MDAwN0QwMjAwMDAyMDEwMDAwMDA2MDYwMDAwNDA4MDAxMDBERgorOjEwMTU5MDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDBGMgorOjEwMTVBMDAwODYyQTJCMDAwNzAwMDAwMDdEMDMwMDAwNDI4MDAxMDAxNgorOjEwMTVCMDAwMEEwMDA4MDAwNDA5MDAwMDg2NUEyQjAwMDcwMDAwMDBGQQorOjEwMTVDMDAwNzUwMDAwMDA3RDJFMDAwMDQyMDAwMTAwNEE4MDBCMDBFMworOjEwMTVEMDAwMjAwMDAwMDAwNDA5MDAwMDg2MDYwMDAwNDAwMDAxMDAxMQorOjEwMTVFMDAwNEE4NDMxMDA4QjA0MzAwMDgzMDgwMDAwOEQwMDAwMDAyNQorOjEwMTVGMDAwMTAwODAwMDAzQTE0MjgwMDhEMDAwMDAwMTAwODAwMDBCOAorOjEwMTYwMDAwM0EwQzI4MDA3NTA2MDAwMDQyMDAwMTAwMEEwMDA4MDA5QworOjEwMTYxMDAwMTUzODAwMDAyNDA5MDEwMDAyMDUyODAwMEQwMDBCMDAwOAorOjEwMTYyMDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMDYwNjAwMDA0RQorOjEwMTYzMDAwMDcwMDIyMDA2NDA0MDAwMDY0MDQwMDAwMDYwNjAwMDBBNQorOjEwMTY0MDAwMDcwMDAwMDAzNDAxMDAwMDhEN0YwMDAwM0MwOTAwMDAwRAorOjEwMTY1MDAwMTIxRDI4MDAxMjI1MjgwMDMyMUYwMDAwMDcwMDBFMDA2RQorOjEwMTY2MDAwMEQwMTAwMDA3RDAzMDAwMDIwMDgwMDAwNDA4MDAxMDAwMworOjEwMTY3MDAwRjREMjA1MDAwNzAwMDAwMDA3MDAwODAwN0QwMzAwMDAwOQorOjEwMTY4MDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODYwMjJEMDBDMworOjEwMTY5MDAwMDcwMDAwMDAwNjA2MDAwMDA3MDAwMDAwMDcwMDAwMDAyOQorOjEwMTZBMDAwMTIwMDAwMDAwNzAwMTAwMDA3MDAzMjAwMDcwMDYwMDA3MQorOjEwMTZCMDAwODAwMDEwMDAxQTAwNDgwMDA0NDkwMDAwODY2MTJEMDBENworOjEwMTZDMDAwMDcwMDAwMDAxMDEyMDAwMDNBMDA1ODAwNDUwMTAwMDAxOQorOjEwMTZEMDAwMDQ1RDVDMDAwNzAwMDAwMDgwMDAwMDAwMUEwMDQ4MDA2NAorOjEwMTZFMDAwMDQ0OTAwMDA4NkIxMkQwMDA3MDAwMDAwMTAxMjAwMDAyMAorOjEwMTZGMDAwM0EwMDUwMDAwNDU5MDAwMDg2MDgyRTAwNDUwMDAwMDAwMgorOjEwMTcwMDAwQzUwMDAwMDBGNUZGN0YwMDdERkY3RjAwMjRENTA3MDBBNgorOjEwMTcxMDAwMjQ0MjAwMDAwMjAxNTAwMDAyMDUyMDAwODIwMDAwMDA2NworOjEwMTcyMDAwMUEwMDQwMDAwNDQxMDAwMDg2MzkyRTAwMDcwMDAwMDAyNgorOjEwMTczMDAwNjUzODAwMDAxQTAwNDAwMDIwNDAwMDAwNEQxMDAwMDBGNQorOjEwMTc0MDAwODRDMTA0MDA4NjFCMzAwMDQwMDAwMDAwMDcwMDA0MDAzNAorOjEwMTc1MDAwNjUwMTAwMDA0NTAxMDAwMDIwNDAwMDAwNDAwMDAwMDAzRAorOjEwMTc2MDAwNjUwNzAwMDA4MDAwMDgwMDFBMDA0MDAwMDQ0MTAwMDBFNgorOjEwMTc3MDAwODZDOTJFMDAwNzAwMDAwMDEwMTIwMDAwM0EwMDQwMDA0OQorOjEwMTc4MDAwMDQ0MTAwMDA4NjIyMkYwMDREMDAwMDAwQ0QwMDAwMDAyMworOjEwMTc5MDAwMTA0ODAwMDAzQTA0MjAwMDgyMDgwMDAwMUEwMDQwMDBBRgorOjEwMTdBMDAwMDQ0MTAwMDA4NjMxMkYwMDA3MDAwMDAwMjA0ODAwMDA5RgorOjEwMTdCMDAwMDQ1OTAwMDA4NjA4MzAwMDQwMDAwMDAwRTUwNzAwMDBFMgorOjEwMTdDMDAwODAwNDIwMDBBMDE2MjgwMEUwMTYzMjAwRTAxNjNBMDAzRgorOjEwMTdEMDAwRTAxNjQyMDA2MDEyMDIwMDQwMDAwMDAwMzIwMDAwMDBFQgorOjEwMTdFMDAwNzUwMDQwMDA3RDAwMDAwMDc0RDUwNzAwMTIwNTIwMDA0MAorOjEwMTdGMDAwODIwMDAwMDAxQTAwNDAwMDA0NDEwMDAwODZFMTJGMDAzMgorOjEwMTgwMDAwMDcwMDAwMDAwNjcyMDMwMDA3MDA2NDAwMDcwMDA2MDBERQorOjEwMTgxMDAwRTUwMDAwMDAyMDAwMDAwMDQwMDAwMDAwNjUwQTAwMDAxNAorOjEwMTgyMDAwMjAwMDAwMDA0MDAwMDIwMDQwMDAwMjAwNDAwMDAwMDBENAorOjEwMTgzMDAwNjUwMTAwMDA0MjAwMDAwMDBBMDA3MDAwMDQ3MTAwMDAxMQorOjEwMTg0MDAwODZBMjMwMDAwNzAwMDAwMDA2ODIwMTAwMDcwMDY0MDA0NQorOjEwMTg1MDAwMDAwMDA1MDAyMDcwMDAwMDQwMDAwMDAwMDY3MjAzMDAzOAorOjEwMTg2MDAwMDcwMDY0MDAwNzAwMDAwMDZEMzAwMDAwNjA4ODAyMDA3RgorOjEwMTg3MDAwNjA5MDAyMDAwQTAwMDgwMDYwODgwMjAwNDA4MDAwMDBCQQorOjEwMTg4MDAwMTIwMDEwMDAwRDEwMDAwMDg0OTEwMDAwODY0MTMxMDAwQworOjEwMTg5MDAwMEQwRTAwMDA4NDkxMDAwMDg2NTEzMjAwMDcwMDAwMDAwOAorOjEwMThBMDAwMDcwMDMwMDAyMDEwMDAwMDZEM0IwMDAwNDA4MDAwMDA2OQorOjEwMThCMDAwODAwMDAwMDAxQTAwMDgwMDA0MDkwMDAwODY2MTMxMDA2MQorOjEwMThDMDAwMDcwMDAwMDAyMDEyMDAwMEVEMEQwMDAwNDA4MDAwMDAyNQorOjEwMThEMDAwNDI4MDAwMDAwQTAwMTAwMDBEMDA0MDAwNDQ5NTEwMDBGNgorOjEwMThFMDAwMDcwMDAwMDAyMDEwMDAwMEVEMEQwMDAwNDA4MDAwMDAwNworOjEwMThGMDAwNDI4MDAwMDAwQTA0MjAwMDgyMDAwMDAwMUEwMDA4MDA1NAorOjEwMTkwMDAwMDQwOTAwMDA4NkYxMzEwMDA3MDAwMDAwNkQzQjAwMDA3MworOjEwMTkxMDAwNDI4MDAwMDAwQTAwMDgwMDE1MEUwMDAwODQwOTAxMDA0MgorOjEwMTkyMDAwODY5QjMyMDAwNzAwNjAwMDFBMDAwODAwMTUwQzAwMDBCQQorOjEwMTkzMDAwODQwOTAxMDA4NjgzMzIwMDIwMDAwMDAwMDcwMDFBMDA5RAorOjEwMTk0MDAwRUQwMjAwMDA0MDgwMDAwMDA3MDA2MjAwNkQzMDAwMDBFMgorOjEwMTk1MDAwNDI4MDAyMDA0QTgwMEEwMDIwMDgwMDAwNEE4MDBBMDBGMworOjEwMTk2MDAwMDYwNjAwMDA0QTgwMTAwMDA3MDAwMDAwMTIyNTI4MDAyQgorOjEwMTk3MDAwMzIxRjAwMDBGNEQyMDUwMDA0RDE1NDAwNUM3MzAwMDA1MworOjEwMTk4MDAwODYwNzAwMDAwNzAwMDAwMDA3MDAwQzAwMDcwMDBBMDA5RgorOjEwMTk5MDAwMDcwMDFDMDA2NTM0MDAwMDQwMDAwMjAwMjA0ODAwMDBFMQorOjEwMTlBMDAwNjA1MDAyMDAwQTAwNDAwMDYwNDAwMjAwNDAwMDAwMDA1OQorOjEwMTlCMDAwNDQ0OTQ1MDAwNzAwMDAwMDIwNDAwMDAwRTUzQTAwMDBDRgorOjEwMTlDMDAwNDAwMDAwMDBFNTI4MDAwMDQyMDAwMDAwMEEwMDQ4MDAzNgorOjEwMTlEMDAwMDQ0OTAwMDA4NjY4MzgwMDY1MkMwMDAwNDIwMDAwMDBDMQorOjEwMTlFMDAwMEEwMDQwMDBENTAwMDAwMDA0NDE0NTAwMDcwMDAwMDA0NworOjEwMTlGMDAwNTUwNjAwMDAwNDQ1MDUwMDg2RjIzNDAwRDUwMTAwMDBCQworOjEwMUEwMDAwMDQ0NTA1MDA4NkYwMzQwMDY1MkIwMDAwNDIwMDAwMDAwQworOjEwMUExMDAwRTUzQTAwMDA0QTAwNTAwMDBBMDA0MDAwRDRDMzQ1MDBFNworOjEwMUEyMDAwMDcwMDAwMDAwNDQ1NDUwMDA3MDAwMDAwQ0QwMDAwMDA0RAorOjEwMUEzMDAwNDQ0OTQ0MDAwNzAwMDAwMDA0NDU0NTAwMDcwMDAwMDAzOQorOjEwMUE0MDAwNEQwMTAwMDA0NDQ5NTUwMDA3MDAwMDAwNDQ1MTA0MDBDNgorOjEwMUE1MDAwODZFOTM0MDA2NTJDMDAwMDQyMDAwMDAwMEEwMDQ4MDBCRQorOjEwMUE2MDAwMDREMTRDMDAwNzAwMDAwMDQ0QzEwNDAwODZGMzM0MDA5OAorOjEwMUE3MDAwMDcwMDAwMDAwNzAwMTYwMEU1MkMwMDAwNDIwMDA0MDBFQgorOjEwMUE4MDAwMEEwMDQwMDAyMDQwMDAwMDQwMDAwMDAwNjUyOTAwMDBERQorOjEwMUE5MDAwNDIwMDAwMDAwQTAwNDAwMDA0NDEwMDAwODY2MDM1MDA1QQorOjEwMUFBMDAwMDcwMDAwMDAwMjI0MDAwMDA2QTIzNjAwMDI1QzAwMDBDRAorOjEwMUFCMDAwRTUyNTAwMDA0MjAwMDAwMDBBMDA0MDAwNzQ0MjAwMDBEQQorOjEwMUFDMDAwRTUyQTAwMDA0MjAwMDAwMDBBMDA0MDAwNzQ0MjAwMDBDNQorOjEwMUFEMDAwMTIwMTUwMDBFNTI5MDAwMDQyMDAwMDAwMEEwMDQwMDAwOQorOjEwMUFFMDAwMzQ0MjAwMDAwNDQxNDUwMDA3MDAwMDAwMjA0MDAwMDA4RgorOjEwMUFGMDAwNDAwMDAwMDBFNTNFMDAwMDIwMDAwMDAwNDAwMDAwMDAyMworOjEwMUIwMDAwRTUyRDAwMDA1MjAxNDAwMDBBMDA1MDAwNDQ1MTA0MDAzRAorOjEwMUIxMDAwODY0QTM2MDBDNTAwMDAwMEU1M0UwMDAwMjA0MDAwMDA3NworOjEwMUIyMDAwNDAwMDAwMDBFNTJCMDAwMDQyMDAwMDAwMEEwMDQwMDBEOQorOjEwMUIzMDAwNTQ0MjQwMDAwNzAwMDAwMEU1MkEwMDAwMjA0MDAwMDA1OQorOjEwMUI0MDAwNDAwMDAwMDAzMjAxNTAwMDM0MDEwNDAwNzQ1NjAwMDBDRgorOjEwMUI1MDAwRTUyOTAwMDA0MjAwMDIwMDBBMDA0MjAwNDIwMDAwMDBBNQorOjEwMUI2MDAwMEEwMDUwMDA3QzQxMDUwMEU1MjgwMDAwNDIwMDAwMDAwQQorOjEwMUI3MDAwMEEwMDQ4MDBDNTAwMDAwMDQ0QzE0QzAwODYxMDM3MDAzMAorOjEwMUI4MDAwRTUyNjAwMDBFNTI3MDAwMDQyMDAwMjAwNEEwMDQwMDA3MAorOjEwMUI5MDAwMEEwMDUwMDAzQzQyMDAwMDdDNTYwMDAwRTUyODAwMDA4RQorOjEwMUJBMDAwMjA0ODAwMDA0MDAwMDAwMDEyMUQyODAwMTIyNTI4MDBENworOjEwMUJCMDAwNzIxRjAwMDA2NTI5MDAwMDQyMDAwMDAwMEEwMDQwMDA3QQorOjEwMUJDMDAwMDQ0MTAwMDA4NkFBMzcwMDA3MDAwRTAwMDcwMDE2MDAzNworOjEwMUJEMDAwMDcwMDFFMDBFNTNFMDAwMDQyMDAwMDAwMEEwMDQwMDAzMQorOjEwMUJFMDAwMDQ0MTAwMDA4NkU4MzcwMDY1MkQwMDAwNDIwMDAwMDAzNworOjEwMUJGMDAwMEEzNDI4MDA2NTM0MDAwMDQyMDAwMjAwNEEwMDQyMDAxNgorOjEwMUMwMDAwMjA0MDAwMDA0QTAwNEEwMDRBMDA1MDAwRjREMjA1MDA3QgorOjEwMUMxMDAwMDREMTU0MDA1QzczMDAwMDg2NTEzODAwMDcwMDAwMDBCNgorOjEwMUMyMDAwMDYwNjAwMDAwNzAwMDgwMDA3MDAwQzAwMDcwMDA4MDA3NworOjEwMUMzMDAwMDcwMDBBMDBFNTAxMDAwMDQ1MDAwMjAwMjA0MDAwMDAwNgorOjEwMUM0MDAwNjAwMDAwMDA2NTAzMDAwMDQwMDAwMDAwNjUyRTAwMDBGOQorOjEwMUM1MDAwMjAxQTAwMDA2MDFBMEEwMDQwMDAwMDAwNjUzNDAwMDBFRAorOjEwMUM2MDAwNDIwMDAyMDA0QTAwNDIwMDIwNDAwMDAwNEEwMDRBMDBCMAorOjEwMUM3MDAwMDYwNjAwMDA0QTAwNTAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwMUVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwMUVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwMUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwMUVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjEwMUYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwMUYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwMUYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQworOjEwMjQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjEwMjRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQworOjEwMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQgorOjEwMjUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQgorOjEwMjUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjEwMjUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QgorOjEwMjU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QgorOjEwMjU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QgorOjEwMjU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjEwMjU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QgorOjEwMjU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QgorOjEwMjU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQgorOjEwMjVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjEwMjVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQgorOjEwMjVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQgorOjEwMjVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQgorOjEwMjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjEwMjVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQgorOjEwMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQQorOjEwMjYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQQorOjEwMjYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjEwMjYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QQorOjEwMjY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QQorOjEwMjY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QQorOjEwMjY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjEwMjY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QQorOjEwMjY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QQorOjEwMjY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQQorOjEwMjZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjEwMjZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQQorOjEwMjZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQQorOjEwMjZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQQorOjEwMjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjEwMjZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQQorOjEwMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOQorOjEwMjcxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOQorOjEwMjcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjEwMjczMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OQorOjEwMjc0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OQorOjEwMjc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OQorOjEwMjc2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjEwMjc3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OQorOjEwMjc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OQorOjEwMjc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOQorOjEwMjdBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjEwMjdCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOQorOjEwMjdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOQorOjEwMjdEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOQorOjEwMjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjEwMjdGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOQorOjEwMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOAorOjEwMjgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOAorOjEwMjgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjEwMjgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OAorOjEwMjg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OAorOjEwMjg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OAorOjEwMjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjEwMjg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OAorOjEwMjg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OAorOjEwMjg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOAorOjEwMjhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjEwMjhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOAorOjEwMjhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOAorOjEwMjhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOAorOjEwMjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjEwMjhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOAorOjEwMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNworOjEwMjkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNworOjEwMjkyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjEwMjkzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NworOjEwMjk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NworOjEwMjk1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwMjk2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjEwMjk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NworOjEwMjk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NworOjEwMjk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNworOjEwMjlBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjEwMjlCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNworOjEwMjlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNworOjEwMjlEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNworOjEwMjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjEwMjlGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENworOjEwMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNgorOjEwMkExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwMkEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjEwMkEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NgorOjEwMkE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NgorOjEwMkE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NgorOjEwMkE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjEwMkE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NgorOjEwMkE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NgorOjEwMkE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNgorOjEwMkFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjEwMkFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNgorOjEwMkFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwMkFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjEwMkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjEwMkFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENgorOjEwMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNQorOjEwMkIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNQorOjEwMkIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjEwMkIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMkI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMkI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMkI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMkI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMkI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMkI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMkJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMkJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMkJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMkJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENQorOjEwMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMkMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMkMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMkMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMkM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMkM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMkM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMkM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMkM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMkNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMkNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMkNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMkNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMkNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMkQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMkQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMkQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMkQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMkQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMkQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMkQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMkQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMkQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMkRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMkRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMkRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMkREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMkRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMkUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMkUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMkUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMkU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMkU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMkU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMkU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMkU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMkU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwMkVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwMkVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwMkVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwMkVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwMkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwMkVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwMkYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwMkYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwMkYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMkY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMkY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMkY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMkY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMkY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMkY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMkZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMkZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMkZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMkZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMkZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3lhbWFoYS9kczFfZHNwLmZ3LmloZXggYi9maXJtd2FyZS95YW1haGEvZHMxX2RzcC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYjBiYTQKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS95YW1haGEvZHMxX2RzcC5mdy5paGV4CkBAIC0wLDAgKzEsOSBAQAorOjEwMDAwMDAwODEwMDAwMDBBNDAxMDAwMDBBMDAwMDAwMkYwMDAwMDA5MQorOjEwMDAxMDAwNTMwMjA4MDAxNzAzODAwMTdCNDAwMDAwM0Y4NDAwMDA2QQorOjEwMDAyMDAwM0M0ODAxMDAzQzk0MDEwMDNDRDgwNTAwM0MxQzAwMDAwOQorOjEwMDAzMDAwN0JDMDAwMDAzRjBDMDUwMDNDNTAyMTAxMDAwMDAwMDA4NworOjEwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMDA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3lhbWFoYS9kczFlX2N0cmwuZncuaWhleCBiL2Zpcm13YXJlL3lhbWFoYS9kczFlX2N0cmwuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTdmNDI5Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUveWFtYWhhL2RzMWVfY3RybC5mdy5paGV4CkBAIC0wLDAgKzEsNzY5IEBACis6MTAwMDAwMDAwNzAwMDAwMDA3MDAyNDAwMDcwMDBDMDAwNzAwMUMwMDg4Cis6MTAwMDEwMDAwNzAwMDYwMDAyMDA3MDAwMjAwMDAwMDA0MDAwMDMwMEZFCis6MTAwMDIwMDAwNDcxMDAwMDg2NDIwMDAwNDAwMDAzMDAwRDBGMDAwMDM0Cis6MTAwMDMwMDAxMDA4MDAwMDNBMDQyMDAwODIwMjAwMDAwRDAyMDAwMEI3Cis6MTAwMDQwMDAxMDA4MDAwMDNBMDQyMDAwODIxMjAwMDA4MjBFMjAwMEY2Cis6MTAwMDUwMDAwRDgwMDAwMDEwMDgwMDAwM0EwNDIwMDA4MjFBMDAwMDAxCis6MTAwMDYwMDAwRDQ2MDMwMDEwMDgwMDAwM0EwNDEwMDAwREVDMDIwMEQ5Cis6MTAwMDcwMDAxMDA4MDAwMDNBMDQxODAwMEQwMTAwMDAxNTAwMDIwMEVECis6MTAwMDgwMDBGRDAwMDAwMDIwMDAwMDAwNjA4ODAzMDA2MDkwMDMwMDc1Cis6MTAwMDkwMDA2MDgwMDMwMDQwODAwMzAwNDA4MDAzMDA0MDgwMDMwMDM0Cis6MTAwMEEwMDA0MDgwMDEwMDdEMEEwMDAwNDA4MDAzMDA0MDgwMDMwMDgyCis6MTAwMEIwMDA0MDgwMDEwMDAyMDQyMDAwODIwODAwMDAxQTAwMDgwMEFECis6MTAwMEMwMDAwNDA5MDAwMDg2NzEwMTAwMDcwMDAwMDAwNzAwMjYwMEY3Cis6MTAwMEQwMDAwNzAwNDAwMDA3MDAwMDAwOEQyNTAzMDAxMDA4MDAwMDA1Cis6MTAwMEUwMDAzQTA0MTgwMDA3MDAyNjAwMDI0NDI4MDA3RDA4MDAwMDlBCis6MTAwMEYwMDA0MjgwMDEwMDBBMTYwMDAwMDZBMjA1MDAwNzAwMDAwMDY5Cis6MTAwMTAwMDAwNzAwNDQwMDBEMjMwMDAwMTAwODAwMDAzQTA0MDgwMDE2Cis6MTAwMTEwMDAwNkZBMjIwMDA3MDAwMDAwRkQwNzAwMDA0MjgwMDEwMEVGCis6MTAwMTIwMDAwQTAwMDgwMDA0MDkwMDAwODZBQjAyMDA5NTAxMDAwMEU3Cis6MTAwMTMwMDAwNDBEMDkwMDA3MDAwMDAwMjAwODAwMDBGNTAwMDAwMDgxCis6MTAwMTQwMDA3RDBCMDAwMDYwRjAwMTAwRkQwMDAwMDAwNjNBMDMwMDk2Cis6MTAwMTUwMDA0MDgwMDEwMDdEMEEwMDAwNDI4MDAzMDA0QTgwMTMwMEI1Cis6MTAwMTYwMDAwQTAwMTgwMDIwMTgwMDAwNjA5MDA1MDA2MDg4MDUwMDUzCis6MTAwMTcwMDA0MDgwMDEwMEZEMDAwMDAwNDI4MDAxMDAwQTAwNzAwMDg0Cis6MTAwMTgwMDAxNTAxMDAwMDQ0MTEwNzAwODYzQjAzMDAwMDAwMDMwMDM2Cis6MTAwMTkwMDAyMDcwMDAwMDA2NjIwMzAwNDA4MDAxMDAwRDM2MDAwMDYwCis6MTAwMUEwMDAxMDA4MDAwMDNBMDQwODAwMDYyMjIzMDAwNzAwMDAwMDlGCis6MTAwMUIwMDAwREVDMDIwMDEwMDgwMDAwM0EwNDE4MDAwNjlBMDEwMDM1Cis6MTAwMUMwMDAwNzAwMDAwMDA3MDAyNDAwOEQwRjAwMDAxMDA4MDAwMDQ5Cis6MTAwMUQwMDAzQTE2MDAwMDAyMjQwMDAwMDI1QzAwMDBGRDI4MDAwMDI2Cis6MTAwMUUwMDAyMDAwMDAwMDQwODAwMTAwMEQwMDA4MDAxNTA4MDAwMEZDCis6MTAwMUYwMDA4NDA5NTEwMDA3MDAwMDAwNEQwMDAwMDA1RDBFMDAwMDYyCis6MTAwMjAwMDAwMjBFMDAwMDBENDMwMDAwMTAwODAwMDAzQTA0MDgwMDMwCis6MTAwMjEwMDAwNjEyMkUwMDA3MDAwMDAwOEQwMDAwMDAyNDA5MDAwMEQ3Cis6MTAwMjIwMDAwMjBGMDAwMDBENDcwMDAwMTAwODAwMDAzQTA0MDgwMDBCCis6MTAwMjMwMDAwNjEyMkUwMDA3MDAwMDAwODAwNDQ4MDAxMDEyMDAwMDgzCis6MTAwMjQwMDAzQTA0MjgwMDhENzcwMDAwMTAwODAwMDAzQTBDMjgwMEJFCis6MTAwMjUwMDA4RDA2MDAwMDEwMDgwMDAwM0ExNDI4MDAwMjQ0MjgwMDBGCis6MTAwMjYwMDA4RDI1MDMwMDEwMDgwMDAwM0EwNDE4MDA4REZGMDcwMEQ4Cis6MTAwMjcwMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjYwMDY5Cis6MTAwMjgwMDAwNzAwMjAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDczCis6MTAwMjkwMDAwNDA5MDAwMDg2MTIwNTAwMDcwMDAwMDAwNzAwMjQwMDgyCis6MTAwMkEwMDAwREVDMDIwMDEwMDgwMDAwM0EwNDE4MDA3RDM4MDAwMDMwCis6MTAwMkIwMDA0MjgwMDEwMDBBMDAwODAwMTUxMDAwMDA4NDA5MDEwMEI2Cis6MTAwMkMwMDA4NjlCMDEwMDA3MDAwMDAwMDZCMjAxMDAwNzAwMDAwMDQ1Cis6MTAwMkQwMDBGRDA4MDAwMDQyODAwMTAwMEEwMDE4MDAwNDE5MDAwMDE3Cis6MTAwMkUwMDA4NkI4MjIwMDA3MDAyODAwMTAxODAwMDAzQTA0MjgwMEYxCis6MTAwMkYwMDAwMjBDMjgwMDBEMDAwMDAwMTAwODAwMDAzQTE0MjgwMDJECis6MTAwMzAwMDA4RDgwMDgwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMEYwCis6MTAwMzEwMDAwNzAwMjAwMDBEMDIwMDAwMDQ5OTE4MDAwNzAwMDAwMEVCCis6MTAwMzIwMDAyRDQwMDAwMEJEMDAwMDAwRkQwMjAwMDA0MjgwMDEwMEUxCis6MTAwMzMwMDAwQTAwMDgwMDA0MDkwMDAwODY1QTA2MDAwNzAwMDAwMEIxCis6MTAwMzQwMDAwMDAxMDAwMDIwMEEwMDAwN0QwNDAwMDA0MDgwMDEwMDQwCis6MTAwMzUwMDA0MjgwMDEwMDBBMDAyMDAwMTUzMDAwMDA0NDIxMDEwMDA1Cis6MTAwMzYwMDA4NjYxMDMwMDA3MDAwMDAwMDQyMTAwMDA4NjYxMDMwMDhECis6MTAwMzcwMDAwNzAwMDAwMDhEMEYwMDAwMTAwODAwMDAzQTBDMjgwMDU0Cis6MTAwMzgwMDA0NDM5MDIwMDg2QzkwNzAwMDcwMDAwMDAxMDE4MDAwMDY5Cis6MTAwMzkwMDAzQTA0MjgwMDBEODEwODAwMjAwODAwMDBGRDAyMDAwMDNBCis6MTAwM0EwMDA0MDgwMDEwMDA3MDAyMDAwMTAyODAwMDAzQTAwNzgwMDdCCis6MTAwM0IwMDA4RDc4MDAwMDEwMDgwMDAwM0EwNDA4MDAwNjEyMkEwMDk4Cis6MTAwM0MwMDAwNzAwMDAwMDBENDAwMDAwMTUxMDAwMDAwNDk5MTgwMEZGCis6MTAwM0QwMDAwNDI5MjkwMDA0MzkzOTAwMDcwMDAwMDAwNjAyMDcwMDNCCis6MTAwM0UwMDAwNzAwMDAwMEY1MDQwMDAwN0QwMDAwMDAyMDAwMDAwMDcwCis6MTAwM0YwMDA4RDAwMDAwMDYwMDgwMTAwNDA4MDAxMDA3RDA0MDAwMEM1Cis6MTAwNDAwMDA0MjgwMDMwMDRBODAyMTAwMEEwMDE4MDA0NDE5MDIwMEJCCis6MTAwNDEwMDA4NjkwMjIwMDA3MDAwMDAwNzU0MDAwMDAwNEYxNzEwMDgyCis6MTAwNDIwMDAwNzAwMDAwMDQyMDAwMTAwMEEwMDI4MDAwNDI5MDAwMDIzCis6MTAwNDMwMDA4NjU4MjIwMDA3MDAwMDAwMEQzQzAwMDAwNEE5MzAwMDhGCis6MTAwNDQwMDAwNzAwMDAwMDdEMDcwMDAwNDI4MDAxMDAwQTAwMDgwMDRDCis6MTAwNDUwMDAwNDA5MDAwMDg2REEwODAwN0QwNTAwMDAyMDI4MDAwMDVECis6MTAwNDYwMDA2MEIwMDMwMDA2RjIwODAwNDA4MDAxMDAyMDMwMDAwMDY4Cis6MTAwNDcwMDA2MEE4MDMwMDQwODAwMTAwRkQwMjAwMDA0MjgwMDEwMEVFCis6MTAwNDgwMDAwQTAwMDgwMDA0MDkwMDAwODZGQTA4MDAwNzAwMDAwMEJFCis6MTAwNDkwMDA3RDA1MDAwMDQyODAwMTAwMEEwNDI4MDA4RDBFMDAwMDQ2Cis6MTAwNEEwMDAxMDA4MDAwMDNBMEMyODAwMEQwMDAwMDAxMDA4MDAwMEExCis6MTAwNEIwMDAzQTE0MjgwMDBEMDAwOTAwMjAwODAwMDBGRDAyMDAwMDg5Cis6MTAwNEMwMDA0MDgwMDEwMDA3MDAyMDAwRkQzRDAwMDAyMDAwMDAwMEVBCis6MTAwNEQwMDA0MDgwMDEwMDdEMTAwMDAwOEQ5RDAwMDAxMDA4MDAwMDhDCis6MTAwNEUwMDAzQTA0MDgwMDA2MTIyQTAwMDcwMDAwMDAxNTA4MDAwMDYwCis6MTAwNEYwMDAxQTAwMDgwMDg0MDkwMTAwODY1MTBBMDA3RDEzMDAwMERCCis6MTAwNTAwMDAwMDA1MjAwMDIwMEYyODAwNjA4RjMzMDA2MDhGM0IwMDIzCis6MTAwNTEwMDA2MDhGNDMwMDYwOEY0QjAwNjA4RjUzMDA2MDhGNUIwMEUzCis6MTAwNTIwMDA2MDhBMDMwMDQwODAwMTAwN0QxMDAwMDA0MjgwMDEwMENECis6MTAwNTMwMDAwQTAwMDgwMDE1MDIwMDAwODQwOTAxMDA4NjgxM0EwMEMzCis6MTAwNTQwMDAwNzAwMDAwMEJEN0YwMDAwQzQzRDM4MDAwNzAwMDAwMDI4Cis6MTAwNTUwMDA3RDFBMDAwMDc1MTMwMDAwNDI4MDAxMDA0QTAwMDkwMDY2Cis6MTAwNTYwMDAwQTAwMTAwMDA0OEQwQjAwMDQ5NTEzMDAwNzAwMDAwMDIyCis6MTAwNTcwMDAyMDA4MDAwMDYwOTAwMTAwMDQxMTAwMDA4NjU4MjIwMDRECis6MTAwNTgwMDA0MDAwMDEwMEZEMTcwMDAwNDI4MDAxMDAwQTAwMDgwMDQxCis6MTAwNTkwMDAwNDA5MDAwMDg2NUEyMjAwMDcwMDAwMDA3RDE5MDAwMEFGCis6MTAwNUEwMDA0MjgwMDMwMDRBODAwOTAwMEEwMDEwMDAyNDA5MDAwMDZDCis6MTAwNUIwMDA2NDE2MDAwMEZEMTEwMDAwNDI4MDAzMDA0QTgwMkIwMEY5Cis6MTAwNUMwMDA0QTgwMTkwMDhEMDAwMDAwNDQ4OTIxMDAwNzAwMDAwMEM2Cis6MTAwNUQwMDA0NDIyMDAwMDg2MTkwQzAwMDcwMDAwMDA2NDFBMDAwMDg1Cis6MTAwNUUwMDAyNDJBMDAwMDdEMTkwMDAwMDIwMTA4MDAyMjAxMTAwMEU5Cis6MTAwNUYwMDAyMDA4MDAwMDYwOTAwMzAwNDA4MDAxMDBGRDNEMDAwMEU1Cis6MTAwNjAwMDA4RDAwMDAwMDIwMDgwMDAwNDA4MDAxMDA3NTEzMDAwMEVDCis6MTAwNjEwMDA3RDFBMDAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMDEzCis6MTAwNjIwMDAxRDAyMDAwMEU0ODkwMTAwRTQ5MjI5MDA0NDkxMzAwMDk5Cis6MTAwNjMwMDAwNzAwMDAwMDBEMDYwMDAwMTUwQTAwMDAxRDBDMDAwMDU4Cis6MTAwNjQwMDAyNTEwMDAwMEU0QTkwMDAwRTQyQjAxMDA2NDA0MDAwMDcwCis6MTAwNjUwMDBFNEIzMDEwMEU0MzIwMjAwNjQwNDAwMDA2NDA0MDAwMDFBCis6MTAwNjYwMDA2NDA0MDAwMDY0MDQwMDAwMEQwNDAwMDBDNEIxMDgwMDJDCis6MTAwNjcwMDAwNzAwMDAwMDIwMDgwMDAwRjUwQjAwMDA0MDAwMDMwMDA4Cis6MTAwNjgwMDA3RDE5MDAwMDQyODAwMzAwNEE4MDA5MDAyNDBBMDAwMDBFCis6MTAwNjkwMDAwQTAwMDgwMDY0MEUwODAwMDcwMDAwMDAyMjAxMTAwMDk0Cis6MTAwNkEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAxMDBBQzY0MDAwMDVFCis6MTAwNkIwMDA3RDAyMDAwMDIwMDAwMDAwNDA4MDAxMDA3RDEwMDAwMDRECis6MTAwNkMwMDA0MjgwMDEwMEZEMTEwMDAwNEE4MDNCMDA0QTgwMDkwMDgxCis6MTAwNkQwMDAwQTAwMjAwMDk1MDAwMDAwNDQxMTFBMDA0NEExMDAwMDA3Cis6MTAwNkUwMDA4NjU4MEUwMDBEMDQwMDAwODRCOTAwMDA4NjU5MEUwMEUzCis6MTAwNkYwMDBGRDE4MDAwMDQyODAwMTAwRkQxMDAwMDA0QTgwMDkwMDQyCis6MTAwNzAwMDAwQTAwMjgwMDk1MDAwMDAwMjQwOTAxMDA2NDJBMDAwMDY2Cis6MTAwNzEwMDA4NjQ5MEUwMDA3MDAwMDAwMDQyOTAwMDA4NjVBMEUwMERBCis6MTAwNzIwMDAwNzAwMDAwMDA2NjIwRTAwMDIwMDA4MDA4RDAwMDAwMEI1Cis6MTAwNzMwMDA3RDM4MDAwMDIwMDgwMDAwNDA4MDAxMDA3RDEyMDAwMDhDCis6MTAwNzQwMDA0MjgwMDEwMDBBMDAxMDAwMDQzOTAwMDA4NjA5MEYwMEYxCis6MTAwNzUwMDAwRDA4MDAwMEI1RkY3RjAwODRCOTAwMDA4NkQ5MEUwMEE3Cis6MTAwNzYwMDAyNTAwMDAwMDA2QjIwRjAwMkQwMDAwMDAxNTAwMDAwMDVCCis6MTAwNzcwMDAyRDA4MDAwMDBERTAwMjAwMjAwODAwMDAwNkZBMEYwMDFFCis6MTAwNzgwMDAwRDAwMDAwMDM1ODA3RjAwODRCOTAwMDA4NkE5MEYwMEFECis6MTAwNzkwMDAyNTAwNDAwMDhEMDAwMDAwNDQwOTExMDAwNzAwMDAwMDAyCis6MTAwN0EwMDA4RDAxMDAwMDA0OTUxMDAwMDcwMDAwMDA2NDkxMDAwMDE2Cis6MTAwN0IwMDAyNDA0MDAwMDI0MDQwMDAwMjQwNDAwMDAwMjAxMTAwMEFFCis6MTAwN0MwMDAwMjAwMjgwMDBEREYwMjAwMjAwODAwMDAwNkZBMEYwMERBCis6MTAwN0QwMDA4RDAxMDAwMDJEMDQwMDAwOEQwMDAwMDAwNDk1MTAwMDI0Cis6MTAwN0UwMDAwNzAwMDAwMDBEMDIwMDAwODQ5MTEwMDAwNzAwMDAwMEM3Cis6MTAwN0YwMDA4RERGMDIwMDIwMDgwMDAwOEQwMDAwMDBGRDM4MDAwMEExCis6MTAwODAwMDA0MDgwMDEwMEZEM0IwMDAwMjAxMDAwMDA2MEE4MDMwMEI0Cis6MTAwODEwMDAxNTA4MDAwMDg0MzEzMTAwODQyMTIxMDAwNzAwMDAwMDA4Cis6MTAwODIwMDA2MEIwMDMwMDYwQTAwMzAwNDA4MDAxMDBGRDIyMDAwMEQyCis6MTAwODMwMDA5NTAwMDAwMDI0MDkwMTAwMjQwNDAwMDAyNDA0MDAwMEE1Cis6MTAwODQwMDA2NDEyMDAwMDAyMDExMDAwMjAwODAwMDA2MDkwMDMwMDA0Cis6MTAwODUwMDA0MDgwMDEwMDI0MTkwMDAwMEQwRjAxMDA3RDM5MDAwMEM3Cis6MTAwODYwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMEZGCis6MTAwODcwMDAwNjA2MDAwMDBBMDQwODAwMjQwNDAwMDAyNDA0MDAwMDA2Cis6MTAwODgwMDA3RDExMDAwMDQyODAwMTAwMEEwMDA4MDAyNDBBMDAwMEQ3Cis6MTAwODkwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MDA5MDAyMDA4MDAwMDM1Cis6MTAwOEEwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDBGRDIyMDAwMDQyCis6MTAwOEIwMDA0MjgwMDEwMDBBMDAwODAwOTUwMDAwMDBDNDBEMjgwMEQ1Cis6MTAwOEMwMDAyNDE5MDEwMDdEMTkwMDAwNDI4MDAxMDBGRDExMDAwMDgzCis6MTAwOEQwMDA0QTgwMDkwMDBBMDAxMDAwQjUwMDAwMDA0NDMxMTEwMEYwCis6MTAwOEUwMDAwNDhEMEEwMDA3MDAwMDAwNDQwQTA4MDAwNDk1MTIwMDY1Cis6MTAwOEYwMDAwNzAwMDAwMEZEMjMwMDAwMjAxMDAwMDA0MDgwMDMwMERFCis6MTAwOTAwMDA0NDEyMTAwMDA3MDAwMDAwMjAwODAwMDA2MDkwMDMwMDVGCis6MTAwOTEwMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDQyCis6MTAwOTIwMDAwNDA5MDAwMDg2MzIxMjAwMDcwMDAwMDBGRDNCMDAwMEIxCis6MTAwOTMwMDAwMDAxMDAwMDEwMEEwMDAwN0E4MDBCMDA0QTgwMTMwMEJBCis6MTAwOTQwMDA4NDA5MDkwMDA3MDAwMDAwOTUwMDAwMDAwNDNEMDEwMDMzCis6MTAwOTUwMDA4NkI4MTIwMDBBMDAxMDAwMDIwMDEwMDA4NDA5MDkwMDg1Cis6MTAwOTYwMDAwNzAwMDAwMDQyODAwMzAwNEE4MDExMDAwNDBEMDkwMEM2Cis6MTAwOTcwMDAwNzAwMDAwMDBBMDAxMDAwODQwRDA5MDAwNzAwMDAwMEI1Cis6MTAwOTgwMDA3RDI1MDAwMDIwMDgwMDAwNDA4MDAxMDAwRDAxMDAwMENFCis6MTAwOTkwMDAxMDA4MDAwMDNBMTQyODAwN0QxMjAwMDA0MjgwMDEwMDc3Cis6MTAwOUEwMDAwQTAwMjAwMDdEMTkwMDAwNDI4MDAxMDA3RDExMDAwMDM2Cis6MTAwOUIwMDA0QTgwMzEwMDBBMDAxMDAwMjQzMTAwMDA4RDNCMDEwMDA0Cis6MTAwOUMwMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMEJGCis6MTAwOUQwMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDAwMjAxMzAwMEVCCis6MTAwOUUwMDAyNDMxMDAwMDI0MDQwMDAwMjQwNDAwMDAyNDEyMDAwMDJDCis6MTAwOUYwMDAwMjA1MjgwMDRDMUEwMDAwODYzOTE0MDAwMjAwNzAwMDFECis6MTAwQTAwMDAyRDAwMDAwMDAwMDAwMzAwN0QzODAwMDA0MjgwMDEwMDNFCis6MTAwQTEwMDAwQTAwMTAwMDA2NjIxNDAwMjQyMTAwMDBBRDAwMDAwMDRFCis6MTAwQTIwMDAwMjAwMTAwMDBEMDEwMDAwMjQwOTAwMDAyNDZCMDAwMEVBCis6MTAwQTMwMDAwRDRBMDEwMDdEMzkwMDAwMjAwODAwMDA0MDgwMDUwMEJCCis6MTAwQTQwMDA0MjgwMDMwMDRBODQwOTAwMDYwNjAwMDAwQTA0MDgwMEU4Cis6MTAwQTUwMDA2NDMyMDAwMDhEMDAwMDAwMjQwQTAwMDAyMDEwMDAwMDE1Cis6MTAwQTYwMDA3RDIyMDAwMDQwODAwMTAwOEQ0RjAxMDAxMDA4MDAwMDMxCis6MTAwQTcwMDAzQTA0MDgwMDA2NUEyQjAwMDcwMDAwMDAyMDI4MDAwMDU2Cis6MTAwQTgwMDA3RDIwMDAwMDQwODAwMTAwN0QxMTAwMDA0MjgwMDMwMEI1Cis6MTAwQTkwMDA0QTgwMTMwMDBBODAzMzAwN0QzODAwMDA0MjgwMDEwMDQ0Cis6MTAwQUEwMDAwQTAwMDgwMDA0MDkwMDAwODY3MjE3MDAwNzAwMDAwMDExCis6MTAwQUIwMDA4RDAwMDAwMDY0MDkwMzAwMEQ1QjAxMDA3RDM5MDAwMDFBCis6MTAwQUMwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMDlECis6MTAwQUQwMDAwNjA2MDAwMDBBMDQwODAwMDIwMTM4MDAyNDA0MDAwMDkxCis6MTAwQUUwMDAyNDA0MDAwMDI0MTIwMDAwRkQwMjAwMDA0MjgwMDEwMEU2Cis6MTAwQUYwMDAwQTAwMDgwMDA0MDkwMDAwODZEQTE1MDAwNzAwMDAwMDVCCis6MTAwQjAwMDAwMjA1MjgwMDRDMUEwMDAwODY3MTE3MDAwNzAwMDAwMDNCCis6MTAwQjEwMDA2NDIxMDMwMDJDNjMwMDAwRkQzRDAwMDA0MjgwMDEwMEMxCis6MTAwQjIwMDAwQTAwMDgwMDk1MDAwMDAwMDQwOTA5MDAwNzAwMDAwMDAxCis6MTAwQjMwMDAyMDA4MDAwMDRDMUEwMDAwODY5OTE2MDA0MDgwMDEwMDMxCis6MTAwQjQwMDAwMDAwMDMwMDA2QjIxNjAwMjQyMTAwMDAwRDAxMDAwMDgxCis6MTAwQjUwMDAyNDA5MDAwMDI0NkIwMDAwMEQ2RjAxMDA3RDM5MDAwMEE2Cis6MTAwQjYwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMEZDCis6MTAwQjcwMDAwNjA2MDAwMDBBMDQwODAwNjQzQTAwMDA5NTAwMDAwMDIwCis6MTAwQjgwMDAyNDEyMDAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDVCCis6MTAwQjkwMDAwNDA5MDAwMDg2MTIxNzAwMDcwMDAwMDAwRDc2MDEwMDBFCis6MTAwQkEwMDAxMDA4MDAwMDNBMDQwODAwMDY1QTJCMDAwNzAwMDAwMDU1Cis6MTAwQkIwMDAwNjBBMTYwMDA3MDAwMDAwMjA3MDAwMDAwQTAxMDgwMDY1Cis6MTAwQkMwMDAyQTAxMTAwMEZEMjAwMDAwNjA4ODAzMDA2MDkwMDMwMEVGCis6MTAwQkQwMDA0MDgwMDEwMDdEMjIwMDAwNDI4MDAxMDBGRDNEMDAwMEI4Cis6MTAwQkUwMDAwQTAwMDgwMDRBODQzMTAwMDQwOTAwMDA4NjEwMTgwMDM5Cis6MTAwQkYwMDA4QjAwMTgwMDhEMDAwMDAwMDQ5OTE4MDAyQzMxMDAwMEIzCis6MTAwQzAwMDAwNkUyMTgwMDA3MDAwMDAwNEMzMjAwMDA4NjZCMTgwMDU2Cis6MTAwQzEwMDAwNzAwMDAwMDA0MTkwMDAwODY2ODE4MDAwNzAwMDAwMEEzCis6MTAwQzIwMDA5NTAwMDAwMDQ0OTExOTAwMkMyMjAwMDAyNDMxMDAwMDlFCis6MTAwQzMwMDA2QzYzMDAwMDNEMEUwMDAwNzUxMzAwMDBGRDBCMDAwMDBBCis6MTAwQzQwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDBFQzhBMDMwMEZCCis6MTAwQzUwMDBFQzkzMDMwMDRDMjIwMDAwODZFMTE4MDAwNzAwMDAwMDFFCis6MTAwQzYwMDA4RDAwMDAwMDA0OTkxODAwNkMyMjAwMDAyQzMyMDAwMDU2Cis6MTAwQzcwMDAwQTA1MzAwMEFCMUQzMDAwODMyMDAwMDBGRDE4MDAwMDg1Cis6MTAwQzgwMDA0MjgwMDEwMDBBMDAwODAwMjQ4OTAxMDAwMjA1MzAwMEFBCis6MTAwQzkwMDA4MzEwMDAwMDc1MTgwMDAwNDIwMDAxMDAwQTAwMTAwMEQ3Cis6MTAwQ0EwMDA4RDAwMDAwMDI0MDkwMTAwNzUxMzAwMDA0MjA1MzMwMDg3Cis6MTAwQ0IwMDBDQjBDMzMwMENCMkMzMzAwQ0IzNDMzMDBDQjNDMzMwMDk0Cis6MTAwQ0MwMDBDQjQ0MzMwMENCNEMzMzAwQ0I1NDMzMDA4QjVDMzAwMDJGCis6MTAwQ0QwMDA4MzYwMDAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMEU1Cis6MTAwQ0UwMDAwNDA5MDAwMDg2QjIxOTAwMDcwMDAwMDAyRDFFMDAwMDU0Cis6MTAwQ0YwMDBGRDA1MDAwMDQyODAwMTAwMEEwMDA4MDAyNDg5MDIwMDZFCis6MTAwRDAwMDAwMjA1MjgwMDBEMDYwMDAwMTAwODAwMDAzQTBDMjgwMDFCCis6MTAwRDEwMDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDA4RDgwMEEwMEExCis6MTAwRDIwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAwNzAwMjIwMDNBCis6MTAwRDMwMDA3NTEyMDAwMDQyMDAwMzAwNEEwMDIxMDA4RDAwMDAwMEVGCis6MTAwRDQwMDA0NDA5MUEwMDA3MDAwMDAwOERBQjAxMDAxMDA4MDAwMEU0Cis6MTAwRDUwMDAzQTA0MDgwMDA2QUEyQzAwMDcwMDAwMDBGNTAxMDAwMDc0Cis6MTAwRDYwMDA0MjAwMDMwMDRBMDAwRDAwMEEwMDEwMDA0NDkxMDgwMEYwCis6MTAwRDcwMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBGNTI1MDAwMEU5Cis6MTAwRDgwMDA0NDMxMEEwMDA3MDAwMDAwMjAwODAwMDA2MDI4MDMwMDJBCis6MTAwRDkwMDA0MDAwMDMwMDdEMjEwMDAwNDI4MDAzMDA0QTgwMEIwMEQ4Cis6MTAwREEwMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMDRCCis6MTAwREIwMDA4RDAwMDAwMDI0MDEwMDAwMkMwMTAwMDA2NDBFMDAwMEUyCis6MTAwREMwMDA2NDFBMDAwMDZDNjMwMDAwMEEwMTA4MDAyQTAxMTAwMDg4Cis6MTAwREQwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDBGRDIwMDAwMDE4Cis6MTAwREUwMDA0MjgwMDEwMDBBMDAwODAwN0QyMjAwMDA0MjgwMDEwMENDCis6MTAwREYwMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMEZCCis6MTAwRTAwMDA3RDE5MDAwMDQyODAwMTAwMEEwMDA4MDBGRDIyMDAwMDU4Cis6MTAwRTEwMDA0MjgwMDMwMDBBMDAxMDAwMjAwODAwMDA2MDEwMDMwMDU4Cis6MTAwRTIwMDA0MDAwMDMwMDA0MEQwOTAwMDcwMDAwMDAyMDA4MDAwMDM2Cis6MTAwRTMwMDA0MDAwMDMwMDQyODAwMzAwNEE4MDBCMDAwQTAwMTAwMEJCCis6MTAwRTQwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA0MjgwMDMwMEZGCis6MTAwRTUwMDA0QTgwMTMwMDRBODAxOTAwMDQwRDExMDAwNDhEMTkwMDA2Cis6MTAwRTYwMDAwNzAwMDAwMDBBMDAwODAwMjAxMDAwMDA2MDE4MDMwMEJFCis6MTAwRTcwMDA2MDA4MDMwMDQwMDAwMzAwOEQwMDAwMDA0NDA5MEIwMERGCis6MTAwRTgwMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBGNTA1MDAwMEY4Cis6MTAwRTkwMDA0MjAwMDMwMDBBMDAwODAwMjAwODAwMDA0MDAwMDEwMDkyCis6MTAwRUEwMDBGNTAwMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEVCCis6MTAwRUIwMDA4Njk4MUQwMDc1MUUwMDAwNDIwMDAzMDA0QTA0MDEwMEQwCis6MTAwRUMwMDAwQTBDMDAwMDA2QUExRDAwMDcwMDAwMDAwMjA0MDAwMDMyCis6MTAwRUQwMDAwMjBDMDAwMDdEMTcwMDAwRjUxQTAwMDA0MjgwMDEwMDlFCis6MTAwRUUwMDA0QTE0MDMwMDRBMUMwMzAwNEEyNDAzMDA0QTJDMDMwMDRFCis6MTAwRUYwMDA0QTM0MDMwMDRBM0MwMzAwNEE0NDAzMDAwQTRDMDAwMDAxCis6MTAwRjAwMDAzRDA0MDAwMEY1MTMwMDAwRkQxQTAwMDA0MjAwMDMwMDNDCis6MTAwRjEwMDA0QTAwMEIwMDRBODAxQjAwNEE4MDEzMDAwQTAwMjAwMDkwCis6MTAwRjIwMDA0NDkxMDgwMDQ0QTExOTAwRTQ4OTAzMDBFQzk5MDMwMEVFCis6MTAwRjMwMDAwMjU1MDAwMDBBNUQwMDAwNDIwMDAzMDA0QTAwMEIwMDU5Cis6MTAwRjQwMDA0QTgwMUIwMDRBODAxMzAwMEEwMDIwMDA0NDkxMDgwMEQ4Cis6MTAwRjUwMDA0NEExMTkwMEU0ODkwMzAwRUM5OTAzMDAwMjY1MDAwMDM0Cis6MTAwRjYwMDAwQTZEMDAwMDQyMDAwMzAwNEEwMDBCMDA0QTAwMTkwMDBECis6MTAwRjcwMDA0QTgwMkIwMDRBODAxMzAwNEE4MDIxMDAwQTAwMzAwMDdBCis6MTAwRjgwMDA0NDkxMDgwMDQ0QTExOTAwNDRCMTJBMDBFNDg5MDMwMEY3Cis6MTAwRjkwMDBFQzk5MDMwMDAyNzUwMDAwMEE3RDAwMDBFNEE5MDMwMDNCCis6MTAwRkEwMDAwMjA3MDAwMDdEMTAwMDAwMTUwNDAwMDA0MjgwMDEwMENGCis6MTAwRkIwMDAwQTAwMDgwMEU0MDkwMTAwMDIwRjAwMDBGNTJBMDAwMDAxCis6MTAwRkMwMDBGRDE5MDAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMERCCis6MTAwRkQwMDAzNDA5MDAwMDc0MTYwMDAwRjUyOTAwMDA0MjAwMDEwMEU5Cis6MTAwRkUwMDAwQTAwMTAwMDdDOTEwMDAwNzUyMDAwMDA0MjAwMDEwMDAyCis6MTAwRkYwMDAwQTAwMDgwMDA0MDkwMDAwODYwQTIwMDBGNTI2MDAwMDA3Cis6MTAxMDAwMDBGNTI3MDAwMDQyMDAwMzAwNEEwMDA5MDAwQTAwMTAwMDEyCis6MTAxMDEwMDAzQzBBMDAwMDdDMTYwMDAwNzUxQTAwMDBGRDBCMDAwMDYxCis6MTAxMDIwMDA0MjAwMDEwMDRBODA1MTAwMEEwMDQ4MDAwNzAwMTYwMEYzCis6MTAxMDMwMDA3NTEwMDAwMDQyMDAwMTAwMEEyQzI4MDAxMjFEMjgwMDMzCis6MTAxMDQwMDAxMjI1MjgwMDMyMUYwMDAwMDcwMDFFMDAwNzAwMEUwMEI2Cis6MTAxMDUwMDA3NTE5MDAwMDQyMDAwMTAwRjUyRDAwMDA0QTAwMEQwMDQ2Cis6MTAxMDYwMDAwQTAwMTAwMDQ0OTEwMDAwODZFQTIwMDA0MjAwMDEwMEJFCis6MTAxMDcwMDAwQTM0MjgwMDVEMEUwMDAwOEQwMDAwMDA3NTAzMDAwMDlBCis6MTAxMDgwMDAyMDA4MDAwMDQwMDAwMTAwRjREMjA1MDAwNEQxNTQwMDAzCis6MTAxMDkwMDA1QzczMDAwMDg2OEIyMTAwMDcwMDAwMDAwNzAwMEMwMDM1Cis6MTAxMEEwMDAwNzAwMDgwMDA3MDAwQTAwOEQxNzAyMDAxMDA4MDAwMDYyCis6MTAxMEIwMDAzQTA0MDgwMDA2QjIzNDAwMDcwMDAwMDAwNjkyMjEwMDNFCis6MTAxMEMwMDAwNzAwMDAwMDA3MDAwODAwNzUyMjAwMDA0MjAwMDEwMDMwCis6MTAxMEQwMDAwQTAwMjAwMDA0MjEwMDAwODY1ODIyMDAyRDFFMDAwMDc2Cis6MTAxMEUwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEE3Cis6MTAxMEYwMDA4NkNBMjEwMDA3MDAwMDAwMTAyMDAwMDAzQTA0MzAwMERBCis6MTAxMTAwMDA3RDA1MDAwMEMzODAwMTAwMEEwMDA4MDAyNDg5MDIwMDU4Cis6MTAxMTEwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MTBBMDAyMDA4MDAwMEFBCis6MTAxMTIwMDBGNTAyMDAwMDQwMDAwMTAwMDcwMDIyMDBGRDA0MDAwMDVECis6MTAxMTMwMDA0MjgwMDEwMDBBMDA3MDAwMDAwMDAzMDAyMDcwMDAwMERGCis6MTAxMTQwMDAwNkZBMDcwMDQwODAwMTAwOEQyQjAyMDAxMDA4MDAwMDA1Cis6MTAxMTUwMDAzQTA0MDgwMDA2QUEyQzAwMDcwMDAwMDBGRDAyMDAwMDY3Cis6MTAxMTYwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkMyMjIwMDMzCis6MTAxMTcwMDAwNzAwMDAwMDA2MDIwMjAwMDcwMDAwMDA3NTA4MDAwMERBCis6MTAxMTgwMDBGRDA5MDAwMDBEMDEwMDAwMDY0MjIzMDA5NTAyMDAwMDQ5Cis6MTAxMTkwMDA3NTBCMDAwMDdEMDkwMDAwMEQwMDAwMDAxNTA1MDAwMDIyCis6MTAxMUEwMDA0MjAwMDEwMDBBMDAxODAwMDQxOTAwMDA4NjAwMkEwMDBECis6MTAxMUIwMDBGNTA2MDAwMDIwMTAwMDAwNDAwMDAxMDBGNTA0MDAwMENBCis6MTAxMUMwMDAyMDA4MDAwMDQwMDAwMTAwNzUwNzAwMDA0MjAwMDEwMEY3Cis6MTAxMUQwMDA0QTgwMDkwMDBBMDAxMDAwMjQxMTAwMDAwNDA5MDAwMEUwCis6MTAxMUUwMDA4NkYyMjMwMDE1MDgwMDAwMDIwMTA4MDAwNDEyMTAwMDE2Cis6MTAxMUYwMDAwNjEyMjQwMDc1MDUwMDAwMDQxMjA4MDAwNzAwMDAwMDE0Cis6MTAxMjAwMDAwMjAxMTAwMDc1MDUwMDAwMjUwNDAwMDAyNDExMDIwMEYxCis6MTAxMjEwMDAwMjAxMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDEwMERGCis6MTAxMjIwMDAyNDE5MDAwMDg2MDAyQTAwOEQwMDAwMDA2NDA0MDAwMERDCis6MTAxMjMwMDAwNDlEMDAwMDg2MTAyOTAwMDIwMTE4MDA3NTA1MDAwMEI5Cis6MTAxMjQwMDA0MjAwMDEwMDBBMDQyODAwOEQwMTAwMDAyNDA5MDAwMDZBCis6MTAxMjUwMDAwMjBEMjgwMDBEMDAwMDAwMjQwOTAwMDAwMjE1MjgwMERFCis6MTAxMjYwMDAwRDAwMTAwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDAxCis6MTAxMjcwMDAwNzAwMjAwMDc1MTEwMDAwRkQwMjAwMDA0MjgwMDEwMEZGCis6MTAxMjgwMDAwQTAwMDgwMDA0MDkwMDAwODZGQTI0MDAwNzAwMDAwMDk0Cis6MTAxMjkwMDAwMDAxMDAwMDIwMEIwODAwNjAwQjEzMDA2MDBCMUIwMDE2Cis6MTAxMkEwMDA2MDBBMDMwMDQwMDAwMTAwNDIwMDA1MDA0QTAwM0QwMEMyCis6MTAxMkIwMDA0QTAwMzUwMDRBMDAyRDAwMEEwMDIwMDBGNTA2MDAwMDEzCis6MTAxMkMwMDA0MjAwMDEwMDBBMTQyODAwRjUwNDAwMDA0MjAwMDEwMDU5Cis6MTAxMkQwMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDA4NjAyMjYwMDI0Cis6MTAxMkUwMDAxNTQwMDAwMDk1MDAwMDAwMDQwRDAxMDA4NkYwMjUwMDY3Cis6MTAxMkYwMDAyMjAwMTAwMDJBMDAxMDAwMDYxQTI2MDAwNzAwMDAwMDM1Cis6MTAxMzAwMDAwNDMxMzMwMDA0QTkyQTAwMDcwMDAwMDAyNDIxMDMwMDRGCis6MTAxMzEwMDAwMjA1MjgwMDAyNDQyODAwMjQxMTAwMDAwMjAxNDAwMEI4Cis6MTAxMzIwMDAyNDA0MDAwMDI0MDQwMDAwMjQzMjAwMDAyQzI5MDAwMEMyCis6MTAxMzMwMDA2QzYzMDAwMDg2NzMyNzAwMDcwMDAwMDA2NEIxMDIwMEEwCis6MTAxMzQwMDA2NDA0MDAwMDY0MDQwMDAwOEQwMDAwMDA2NDBBMDAwMEQyCis6MTAxMzUwMDAwMjBEMjgwMDhEMDAxMDAwMjAwODAwMDBGNTAyMDAwMDlBCis6MTAxMzYwMDA0MDAwMDEwMDA3MDAyMjAwOEQwMDAwMDAwNEI5MzgwMDkxCis6MTAxMzcwMDAwNzAwMDAwMDZDMjkwMzAwMEEwMTMwMDBGNTAyMDAwMDlDCis6MTAxMzgwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjAyMjcwMDRDCis6MTAxMzkwMDAwNzAwMDAwMDJDMjEwMDAwMEEwNTI4MDA2QzMxMDAwMDI1Cis6MTAxM0EwMDA2QzA0MDAwMDZDMDQwMDAwMEE0NTI4MDAyNDExMDAwMEIxCis6MTAxM0IwMDA2NDZCMDAwMDAyMDExMDAwOEQwMDAwMDA2QzA5MDEwMDQ4Cis6MTAxM0MwMDAwQTBEMjgwMDBEMDExMDAwMjAwODAwMDBGNTAyMDAwMEExCis6MTAxM0QwMDA0MDAwMDEwMDA3MDAyMjAwMjQ0MTAwMDAyNDA0MDAwMDE2Cis6MTAxM0UwMDAyNDA0MDAwMDI0MzIwMDAwMDIwMTMwMDA0NDI5MDMwMERDCis6MTAxM0YwMDA4NkZBMjcwMDA3MDAwMDAwMDIwMDMwMDBGNTA0MDAwMDE0Cis6MTAxNDAwMDA0MjAwMDEwMDBBMDAwODAwMTUwMzAwMDAwNDBEMDEwMDVECis6MTAxNDEwMDA4NjQwMjgwMDI0MzEwMDAwNjQwNDAwMDAwMjAxMzAwMEVFCis6MTAxNDIwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMDYzCis6MTAxNDMwMDA4NjRBMjgwMDA3MDAwMDAwMDI0NDI4MDAyNDMxMDAwMEVBCis6MTAxNDQwMDAwMjA1MzAwMDI0MzkwMDAwODMwNTMwMDA4MzA4MDAwMEM1Cis6MTAxNDUwMDBGNTA1MDAwMDQyMDAwMTAwMEEwNDI4MDA4RDAwMDAwMDhDCis6MTAxNDYwMDAyNDgxMDAwMDAyMEQyODAwOEQwMDAwMDAyNDgxMDAwMDZFCis6MTAxNDcwMDAwMjE1MjgwMDhEMDExMDAwMjAwODAwMDBGNTAyMDAwMDcwCis6MTAxNDgwMDA0MDAwMDEwMDA3MDAyMjAwMjUxMDAwMDA3NTA1MDAwMDQzCis6MTAxNDkwMDA0MjAwMDMwMDRBMDAwOTAwMEEwMDEwMDAwNDA5MEEwMDgzCis6MTAxNEEwMDAwNDExMTIwMDA3MDAwMDAwMjAxMDAwMDA2MDA4MDUwMDcxCis6MTAxNEIwMDA0MDAwMDUwMEZEMDYwMDAwNDI4MDAxMDA0QTAwMDkwMENFCis6MTAxNEMwMDAwQTAwMTAwMEE1MDAwMDAwMDQwOTBBMDAwNDExMTIwMDFGCis6MTAxNEQwMDAwNzAwMDAwMDIwMDgwMDAwNjA5MDAxMDA0MDAwMDEwMEFCCis6MTAxNEUwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEEzCis6MTAxNEYwMDA4NkNBMjkwMDA3MDAwMDAwMDY0MjI0MDAwNzAwMDAwMEY5Cis6MTAxNTAwMDAwNjA2MDAwMDA3MDAwMDAwRjUwMjAwMDA0MjAwMDEwMDhFCis6MTAxNTEwMDAwQTAwMDgwMDA0MDkwMDAwODYxQTJBMDAwNzAwMDAwMERCCis6MTAxNTIwMDAwMDAxMDAwMDIwMEIwODAwNjA4QjEzMDA2MDhCMUIwMDgzCis6MTAxNTMwMDA2MDhCMjMwMDYwOEIyQjAwNjA4QjMzMDA2MDhCM0IwMDQzCis6MTAxNTQwMDA2MDhCNDMwMDYwOEI0QjAwNjA4QjUzMDA2MDhCNUIwMEIzCis6MTAxNTUwMDA2MDhCNjMwMDYwOEI2QjAwNjA4QjczMDA2MDhCN0IwMDIzCis6MTAxNTYwMDA2MDhGMDMwMDYwOEYwQjAwNjA4RjEzMDA2MDhGMUIwMDgzCis6MTAxNTcwMDA2MDhGMjMwMDYwOEYyQjAwNjA4RjMzMDA2MDhGM0IwMEYzCis6MTAxNTgwMDA2MDhGNDMwMDYwOEY0QjAwNjA4RjUzMDA2MDhGNUIwMDYzCis6MTAxNTkwMDA2MDhGNjMwMDYwOEY2QjAwNjA4RjczMDA2MDhGN0IwMEQzCis6MTAxNUEwMDA2MDhBMDMwMDA2MDYwMDAwNDA4MDAxMDA4RDAwMDAwMEY0Cis6MTAxNUIwMDA2NDBBMDAwMDAyMEQyODAwMjQwQTAwMDA3RDAyMDAwMEQ5Cis6MTAxNUMwMDA0MjgwMDEwMDBBMDAxMDAwMjQxMjAwMDBGRDAzMDAwMDA4Cis6MTAxNUQwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjBBMkMwMDZECis6MTAxNUUwMDAwNzAwMDAwMDhEMDEwMDAwMjQwQTAwMDA2NDA0MDAwMEQwCis6MTAxNUYwMDA2NDA0MDAwMDAyMDEwODAwMjQwOTAwMDAyNDA0MDAwMDIzCis6MTAxNjAwMDAyNDA0MDAwMDAyMDExMDAwMEQwMDAyMDA0NDkxMDAwMEJCCis6MTAxNjEwMDA4NjYxMkMwMDA3MDAwMDAwRkQwMTAwMDA0MjgwMDEwMEVGCis6MTAxNjIwMDAwQTAwMDgwMDQ0MEEwMDAwODY0MzJDMDA0MjgwMDEwMEEyCis6MTAxNjMwMDAwRDAwMEEwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMEFCCis6MTAxNjQwMDAwNzAwMjAwMDdEMDIwMDAwMjAxMDAwMDAwNjA2MDAwMEI4Cis6MTAxNjUwMDA0MDgwMDEwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDdECis6MTAxNjYwMDAwNDA5MDAwMDg2QjIyQzAwMDcwMDAwMDA3RDAzMDAwMDgyCis6MTAxNjcwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkUyMkMwMEY0Cis6MTAxNjgwMDAwNzAwMDAwMDc1MDAwMDAwN0QyRTAwMDA0MjAwMDEwMEYwCis6MTAxNjkwMDA0QTgwMEIwMDIwMDAwMDAwMDQwOTAwMDA4NjA2MDAwMEJDCis6MTAxNkEwMDA0MDAwMDEwMDRBODQzMTAwOEIwNDMwMDA4MzA4MDAwMEIwCis6MTAxNkIwMDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDA4RDAwMDAwMDgyCis6MTAxNkMwMDAxMDA4MDAwMDNBMEMyODAwNzUwNjAwMDA0MjAwMDEwMEQ2Cis6MTAxNkQwMDAwQTAwMDgwMDE1MzgwMDAwMjQwOTAxMDAwMjA1MjgwMDRFCis6MTAxNkUwMDAwRDAwMEIwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDgyCis6MTAxNkYwMDAwNjA2MDAwMDA3MDAyMjAwNjQwNDAwMDA2NDA0MDAwMEU1Cis6MTAxNzAwMDAwNjA2MDAwMDA3MDAwMDAwMzQwMTAwMDA4RDdGMDAwMDg1Cis6MTAxNzEwMDAzQzA5MDAwMDEyMUQyODAwMTIyNTI4MDAzMjFGMDAwMDdECis6MTAxNzIwMDAwNzAwMEUwMDBEMDEwMDAwN0QwMzAwMDAyMDA4MDAwMEVFCis6MTAxNzMwMDA0MDgwMDEwMEY0RDIwNTAwMDcwMDAwMDAwNzAwMDgwMDA3Cis6MTAxNzQwMDA3RDAzMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDM3Cis6MTAxNzUwMDA4NjhBMkUwMDA3MDAwMDAwMDYwNjAwMDAwNzAwMDAwMDMxCis6MTAxNzYwMDAwNzAwMDAwMDEyMDAwMDAwMDcwMDEwMDAwNzAwMzIwMDEwCis6MTAxNzcwMDAwNzAwNjAwMDA3MDA0NjAwODAwMDEwMDAxQTAwNDgwMEMzCis6MTAxNzgwMDAwNDQ5MDAwMDg2RjEyRTAwMDcwMDAwMDAxMDEyMDAwMDNFCis6MTAxNzkwMDAzQTAwNTgwMDQ1MDEwMDAwMDQ1RDVDMDAwNzAwMDAwMEFECis6MTAxN0EwMDA4MDAwMDAwMDFBMDA0ODAwMDQ0OTAwMDA4NjQxMkYwMDE0Cis6MTAxN0IwMDAwNzAwMDAwMDEwMTIwMDAwM0EwMDUwMDAwNDU5MDAwMDE5Cis6MTAxN0MwMDA4Njk4MkYwMDQ1MDAwMDAwQzUwMDAwMDBGNUZGN0YwMDRGCis6MTAxN0QwMDA3REZGN0YwMDI0RDUwNzAwMjQ0MjAwMDAwMjAxNTAwMDU1Cis6MTAxN0UwMDAwMjA1MjAwMDgyMDAwMDAwMUEwMDQwMDAwNDQxMDAwMEIxCis6MTAxN0YwMDA4NkM5MkYwMDA3MDAwMDAwNjUzODAwMDAxQTAwNDAwMDZECis6MTAxODAwMDAyMDQwMDAwMDREMTAwMDAwODRDMTA0MDA4NkFCMzEwMDcwCis6MTAxODEwMDA0MDAwMDAwMDA3MDAwNDAwNjUwMTAwMDA0NTAxMDAwMEQxCis6MTAxODIwMDAyMDQwMDAwMDQwMDAwMDAwNjUwNzAwMDA4MDAwMDgwMDI0Cis6MTAxODMwMDAxQTAwNDAwMDA0NDEwMDAwODY1OTMwMDAwNzAwMDAwMEYzCis6MTAxODQwMDAxMDEyMDAwMDNBMDA0MDAwMDQ0MTAwMDA4NkIyMzAwMDRGCis6MTAxODUwMDA0RDAwMDAwMENEMDAwMDAwMTA0ODAwMDAzQTA0MjAwMEI4Cis6MTAxODYwMDA4MjA4MDAwMDFBMDA0MDAwMDQ0MTAwMDA4NkMxMzAwMEQ4Cis6MTAxODcwMDAwNzAwMDAwMDIwNDgwMDAwMDQ1OTAwMDA4Njk4MzEwMDRECis6MTAxODgwMDA0MDAwMDAwMEU1MDcwMDAwODAwNDIwMDBBMDE2MjgwMEFBCis6MTAxODkwMDBFMDE2MzIwMEUwMTYzQTAwRTAxNjQyMDA2MDEyMDIwMDQ0Cis6MTAxOEEwMDA0MDAwMDAwMDMyMDAwMDAwNzUwMDQwMDA3RDAwMDAwMDk0Cis6MTAxOEIwMDA3NEQ1MDcwMDEyMDUyMDAwODIwMDAwMDAxQTAwNDAwMEM1Cis6MTAxOEMwMDAwNDQxMDAwMDg2NzEzMTAwMDcwMDAwMDAwNjhBMDMwMDExCis6MTAxOEQwMDAwNzAwNjQwMEU1MDAwMDAwMjAwMDAwMDA0MDAwMDAwMDU4Cis6MTAxOEUwMDA2NTBBMDAwMDIwMDAwMDAwNDAwMDAyMDA0MDAwMDIwMEU1Cis6MTAxOEYwMDA0MDAwMDAwMDY1MDEwMDAwNDIwMDAwMDAwQTAwNzAwMDg2Cis6MTAxOTAwMDAwNDcxMDAwMDg2MzIzMjAwMDcwMDAwMDAwNzAwMDYwMDY0Cis6MTAxOTEwMDAwNjlBMDEwMDA3MDA2NDAwMDAwMDA1MDAyMDcwMDAwMDI2Cis6MTAxOTIwMDA0MDAwMDAwMDA2OEEwMzAwMDcwMDY0MDAwNzAwMDAwMDcyCis6MTAxOTMwMDA2RDMwMDAwMDYwODgwMjAwNjA5MDAyMDAwQTAwMDgwMDFDCis6MTAxOTQwMDA2MDg4MDIwMDQwODAwMDAwMTIwMDEwMDAwRDEwMDAwMEFFCis6MTAxOTUwMDA4NDkxMDAwMDg2RDEzMjAwMEQwRTAwMDA4NDkxMDAwMEI5Cis6MTAxOTYwMDA4NkUxMzMwMDA3MDAwMDAwMDcwMDMwMDAyMDEwMDAwMDZGCis6MTAxOTcwMDA2RDNCMDAwMDQwODAwMDAwODAwMDAwMDAxQTAwMDgwMDVECis6MTAxOTgwMDAwNDA5MDAwMDg2RjEzMjAwMDcwMDAwMDAyMDEyMDAwMDY4Cis6MTAxOTkwMDBFRDBEMDAwMDQwODAwMDAwNDI4MDAwMDAwQTAwMTAwMEIxCis6MTAxOUEwMDAwRDAwNDAwMDQ0OTUxMDAwMDcwMDAwMDAyMDEwMDAwMENBCis6MTAxOUIwMDBFRDBEMDAwMDQwODAwMDAwNDI4MDAwMDAwQTA0MjAwMDdECis6MTAxOUMwMDA4MjAwMDAwMDFBMDAwODAwMDQwOTAwMDA4NjgxMzMwMDJDCis6MTAxOUQwMDAwNzAwMDAwMDZEM0IwMDAwNDI4MDAwMDAwQTAwMDgwMDg0Cis6MTAxOUUwMDAxNTBFMDAwMDg0MDkwMTAwODYyQjM0MDAwNzAwNjAwMEZBCis6MTAxOUYwMDAxQTAwMDgwMDE1MEMwMDAwODQwOTAxMDA4NjEzMzQwMDQ5Cis6MTAxQTAwMDAyMDAwMDAwMDA3MDAxQTAwRUQwMjAwMDA0MDgwMDAwMEU2Cis6MTAxQTEwMDAwNzAwNjIwMDZEMzAwMDAwNDI4MDAyMDA0QTgwMEEwMDI4Cis6MTAxQTIwMDAyMDA4MDAwMDRBODAwQTAwMDYwNjAwMDA0QTgwMTAwMEQ0Cis6MTAxQTMwMDAwNzAwMDAwMDEyMjUyODAwMzIxRjAwMDBGNEQyMDUwMDI0Cis6MTAxQTQwMDAwNEQxNTQwMDVDNzMwMDAwODYwNzAwMDAwNzAwMDAwMDBBCis6MTAxQTUwMDAwNzAwMEMwMDA3MDAwQTAwMDcwMDFDMDA2NTM0MDAwMEE2Cis6MTAxQTYwMDA0MDAwMDIwMDIwNDgwMDAwNjA1MDAyMDAwQTAwNDAwMEQwCis6MTAxQTcwMDA2MDQwMDIwMDQwMDAwMDAwNDQ0OTQ1MDAwNzAwMDAwMEFCCis6MTAxQTgwMDAyMDQwMDAwMEU1M0EwMDAwNDAwMDAwMDBFNTI4MDAwMDhBCis6MTAxQTkwMDA0MjAwMDAwMDBBMDA0ODAwMDQ0OTAwMDA4NkY4MzkwMEFFCis6MTAxQUEwMDA2NTJDMDAwMDQyMDAwMDAwMEEwMDQwMDBENTAwMDAwMDQ0Cis6MTAxQUIwMDAwNDQxNDUwMDA3MDAwMDAwNTUwNjAwMDAwNDQ1MDUwMEVDCis6MTAxQUMwMDA4NjgyMzYwMEQ1MDEwMDAwMDQ0NTA1MDA4NjgwMzYwMDc4Cis6MTAxQUQwMDA2NTJCMDAwMDQyMDAwMDAwRTUzQTAwMDA0QTAwNTAwMDdCCis6MTAxQUUwMDAwQTAwNDAwMEQ0QzM0NTAwMDcwMDAwMDAwNDQ1NDUwMDNCCis6MTAxQUYwMDAwNzAwMDAwMENEMDAwMDAwNDQ0OTQ0MDAwNzAwMDAwMDNBCis6MTAxQjAwMDAwNDQ1NDUwMDA3MDAwMDAwNEQwMTAwMDA0NDQ5NTUwMDEwCis6MTAxQjEwMDAwNzAwMDAwMDQ0NTEwNDAwODY3OTM2MDA2NTJDMDAwMDVGCis6MTAxQjIwMDA0MjAwMDAwMDBBMDA0ODAwMDREMTRDMDAwNzAwMDAwMEY5Cis6MTAxQjMwMDA0NEMxMDQwMDg2ODMzNjAwMDcwMDAwMDAwNzAwMTYwMDM5Cis6MTAxQjQwMDBFNTJDMDAwMDQyMDAwNDAwMEEwMDQwMDAyMDQwMDAwMDk0Cis6MTAxQjUwMDA0MDAwMDAwMDY1MjkwMDAwNDIwMDAwMDAwQTAwNDAwMDJCCis6MTAxQjYwMDAwNDQxMDAwMDg2RjAzNjAwMDcwMDAwMDAwMjI0MDAwMDU3Cis6MTAxQjcwMDAwNjMyMzgwMDAyNUMwMDAwRTUyNTAwMDA0MjAwMDAwMDRCCis6MTAxQjgwMDAwQTAwNDAwMDc0NDIwMDAwRTUyQTAwMDA0MjAwMDAwMDA0Cis6MTAxQjkwMDAwQTAwNDAwMDc0NDIwMDAwMTIwMTUwMDBFNTI5MDAwMEQ0Cis6MTAxQkEwMDA0MjAwMDAwMDBBMDA0MDAwMzQ0MjAwMDAwNDQxNDUwMEE5Cis6MTAxQkIwMDAwNzAwMDAwMDIwNDAwMDAwNDAwMDAwMDBFNTNFMDAwMDVCCis6MTAxQkMwMDAyMDAwMDAwMDQwMDAwMDAwRTUyRDAwMDA1MjAxNDAwMDEwCis6MTAxQkQwMDAwQTAwNTAwMDQ0NTEwNDAwODZEQTM3MDBDNTAwMDAwMEI2Cis6MTAxQkUwMDBFNTNFMDAwMDIwNDAwMDAwNDAwMDAwMDBFNTJCMDAwMDIyCis6MTAxQkYwMDA0MjAwMDAwMDBBMDA0MDAwNTQ0MjQwMDAwNzAwMDAwMDdDCis6MTAxQzAwMDBFNTJBMDAwMDIwNDAwMDAwNDAwMDAwMDAzMjAxNTAwMEEyCis6MTAxQzEwMDAzNDAxMDQwMDc0NTYwMDAwRTUyOTAwMDA0MjAwMDIwMDZGCis6MTAxQzIwMDAwQTAwNDIwMDQyMDAwMDAwMEEwMDUwMDA3QzQxMDUwMDBBCis6MTAxQzMwMDBFNTI4MDAwMDQyMDAwMDAwMEEwMDQ4MDBDNTAwMDAwMDNFCis6MTAxQzQwMDA0NEMxNEMwMDg2QTAzODAwRTUyNjAwMDBFNTI3MDAwMENFCis6MTAxQzUwMDA0MjAwMDIwMDRBMDA0MDAwMEEwMDUwMDAzQzQyMDAwMERFCis6MTAxQzYwMDA3QzU2MDAwMEU1MjgwMDAwMjA0ODAwMDA0MDAwMDAwMEVECis6MTAxQzcwMDAxMjFEMjgwMDEyMjUyODAwNzIxRjAwMDA2NTI5MDAwMDhGCis6MTAxQzgwMDA0MjAwMDAwMDBBMDA0MDAwMDQ0MTAwMDA4NjNBMzkwMDhBCis6MTAxQzkwMDAwNzAwMEUwMDA3MDAxNjAwMDcwMDFFMDBFNTNFMDAwMENBCis6MTAxQ0EwMDA0MjAwMDAwMDBBMDA0MDAwMDQ0MTAwMDA4Njc4MzkwMDJDCis6MTAxQ0IwMDA2NTJEMDAwMDQyMDAwMDAwMEEzNDI4MDA2NTM0MDAwMDUxCis6MTAxQ0MwMDA0MjAwMDIwMDRBMDA0MjAwMjA0MDAwMDA0QTAwNEEwMDUwCis6MTAxQ0QwMDA0QTAwNTAwMEY0RDIwNTAwMDREMTU0MDA1QzczMDAwMEE3Cis6MTAxQ0UwMDA4NkUxMzkwMDA3MDAwMDAwMDYwNjAwMDAwNzAwMDgwMDMyCis6MTAxQ0YwMDAwNzAwMEMwMDA3MDAwODAwMDcwMDBBMDBFNTAxMDAwMENCCis6MTAxRDAwMDA0NTAwMDIwMDIwNDAwMDAwNjAwMDAwMDA2NTAzMDAwMDY0Cis6MTAxRDEwMDA0MDAwMDAwMDY1MkUwMDAwMjAxQTAwMDA2MDFBMEEwMDMyCis6MTAxRDIwMDA0MDAwMDAwMDY1MzQwMDAwNDIwMDAyMDA0QTAwNDIwMDBBCis6MTAxRDMwMDAyMDQwMDAwMDRBMDA0QTAwMDYwNjAwMDA0QTAwNTAwMDA5Cis6MTAxRDQwMDBGRDE3MDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDlECis6MTAxRDUwMDA4NjVBMjIwMDA3MDAwMDAwN0QxMDAwMDA0MjgwMDEwMDJBCis6MTAxRDYwMDBGRDExMDAwMDRBODAzMzAwNEE4MDE5MDAwQTAwMjAwMDVCCis6MTAxRDcwMDA5NTAwMDAwMDQ0MTEyQTAwNDRBMTAxMDA4NjkwM0IwMDE4Cis6MTAxRDgwMDAwRDA0MDAwMDg0QjEwMDAwODY5MTNCMDBGRDE4MDAwMEE2Cis6MTAxRDkwMDA0MjgwMDEwMEZEMTAwMDAwNEE4MDA5MDAwQTAwMzgwMDVFCis6MTAxREEwMDA5NTAwMDAwMDI0MDkwMTAwNjQzQTAwMDA4NjgxM0IwMDkwCis6MTAxREIwMDAwNzAwMDAwMDA0MzkwMDAwODY5MjNCMDAwNzAwMDAwMDg1Cis6MTAxREMwMDAwNjlBM0IwMDBEMDAwMDAwOEQwMDAwMDAyMDA4MDAwMDc2Cis6MTAxREQwMDA3RDM4MDAwMDQwODAwMTAwMDIwMDcwMDA3RDExMDAwMDhECis6MTAxREUwMDA0MjgwMDEwMDdEMTkwMDAwNEE4MDI5MDAwQTAwMzAwMDZECis6MTAxREYwMDAwMjAwMzgwMDI0MzEwMDAwMjQwNDAwMDAyNDA0MDAwMDA0Cis6MTAxRTAwMDAyNDJBMDAwMDAyMDUyODAwOEQwNjAwMDAxMDA4MDAwMEFBCis6MTAxRTEwMDAzQTE0MjgwMDBENzUwMDAwMjRCMTAwMDA2NDIyMDAwMDZGCis6MTAxRTIwMDA4NjAzM0QwMDAyNDQyODAwMTAwODAwMDAzQTBDMjgwMEY4Cis6MTAxRTMwMDAwRDgwMEIwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDIyCis6MTAxRTQwMDAwNzAwMjAwMDhENzUwMDAwMjRCMTAwMDAwMjAxMTAwMDgxCis6MTAxRTUwMDA0NDIxMDEwMDg2NDkzRTAwMTAxODAwMDAzQTAwMTAwMDlECis6MTAxRTYwMDA3RDM4MDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMERCCis6MTAxRTcwMDA4NjQ4M0UwMDAwMDAwMzAwMDY0QTNFMDBCRDAwMDAwMDA4Cis6MTAxRTgwMDA4RDAwMDAwMDY0MzEwMjAwNjQwQTAwMDAwMjBEMjgwMDg5Cis6MTAxRTkwMDA4RDgwMEIwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDQyCis6MTAxRUEwMDAwNzAwMjAwMDdEMzgwMDAwNDI4MDAxMDAwQTAwMDgwMDgxCis6MTAxRUIwMDAwNDA5MDAwMDg2MzIzRTAwMDAwMDAzMDBGRDAyMDAwMDFECis6MTAxRUMwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjgyM0QwMEVCCis6MTAxRUQwMDAwNzAwMDAwMDEwMjgwMDAwM0EwNDI4MDAwRDc1MDAwMERCCis6MTAxRUUwMDAyNDA5MDMwMDY0MjIwMDAwMDIwRDI4MDA2QzMxMDIwMDY2Cis6MTAxRUYwMDAwQTQ1MjgwMDBEODEwQjAwMjAwODAwMDBGRDAyMDAwMEFCCis6MTAxRjAwMDA0MDgwMDEwMDA3MDAyMDAwOEQwMDAwMDAyNDBBMDAwMDJFCis6MTAxRjEwMDAwNjRBM0UwMDAyMDExMDAwMTAxODAwMDAzQTAwMTAwMEFFCis6MTAxRjIwMDBCRDAwMDAwMDEwMzgwMDAwM0EwNDMwMDA3RDE4MDAwMEE5Cis6MTAxRjMwMDA0MjgwMDEwMEZEMTgwMDAwNEE4MDA5MDAwQTAwMjAwMENDCis6MTAxRjQwMDBBRDAwMDAwMDI0ODkwMjAwMkMyMTA3MDAxMDEwMDAwMEMxCis6MTAxRjUwMDA4MzA1MzAwMDhCMEQzMDAwQkIxNDMwMDA4MzFDMzAwMDMzCis6MTAxRjYwMDA4MzIwMDAwMDdEMTMwMDAwNDI4MDAzMDA0QTg0MzMwMDc4Cis6MTAxRjcwMDBDQkFDMzMwMENCQjQzMzAwQ0JCQzMzMDBDQkM0MzMwMDg5Cis6MTAxRjgwMDBDQkNDMzMwMENCRDQzMzAwOEI1QzMwMDA4MzYwMDAwMEJCCis6MTAxRjkwMDAwRDFFMDAwMEZEMDUwMDAwNDI4MDAxMDAwQTAwMjAwMDI3Cis6MTAxRkEwMDAyNDA5MDIwMDhEMDYwMDAwNkNBOTAwMDA5RDAwMDAwMEJECis6MTAxRkIwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDQwCis6MTAxRkMwMDA4NjZBM0YwMDA3MDAwMDAwMDIwNTI4MDAwQTBEMjgwMDZECis6MTAxRkQwMDAwMjQ0MjgwMDEwMTgwMDAwM0ExNDI4MDA4RDAwMEMwMDVDCis6MTAxRkUwMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjIwMEUwCis6MTAxRkYwMDAwNDM5MDAwMDg2NTgyMjAwMEQxRTAwMDA3RDA1MDAwMEY3Cis6MTAyMDAwMDA0MjgwMDEwMDBBMDAyMDAwMjQwOTAyMDBBNTAwMDAwMDBGCis6MTAyMDEwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMERGCis6MTAyMDIwMDA4NjJBNDAwMDA3MDAwMDAwMDIwNTI4MDAwMjBDMjgwMDU0Cis6MTAyMDMwMDAxMDIwMDAwMDNBMTQyODAwMEQwMTBDMDAyMDA4MDAwMEI4Cis6MTAyMDQwMDBGRDAyMDAwMDQwODAwMTAwMDY1QTIyMDAwNzAwMjIwMDI1Cis6MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyMzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyMzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyM0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyM0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyM0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyM0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyM0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyM0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MTAyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENDCis6MTAyNDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTAyNDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCis6MTAyNDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTAyNDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTAyNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTAyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTAyNDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTAyNDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTAyNDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTAyNEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6MTAyNEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCis6MTAyNEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTAyNEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTAyNEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MTAyNEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERDCis6MTAyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTAyNTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTAyNTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTAyNTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTAyNTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTAyNTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MTAyNTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6MTAyNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVCCis6MTAyNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTAyNTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTAyNUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTAyNUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTAyNUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTAyNUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTAyNUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTAyNUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTAyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTAyNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJBCis6MTAyNjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6MTAyNjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlBCis6MTAyNjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBCis6MTAyNjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTAyNjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTAyNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTAyNjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTAyNjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTAyNkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTAyNkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTAyNkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTAyNkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTAyNkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTAyNkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTAyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM5Cis6MTAyNzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI5Cis6MTAyNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6MTAyNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk5Cis6MTAyNzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg5Cis6MTAyNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc5Cis6MTAyNzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6MTAyNzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU5Cis6MTAyNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ5Cis6MTAyNzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM5Cis6MTAyN0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6MTAyN0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5Cis6MTAyN0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5Cis6MTAyN0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTAyN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6MTAyN0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ5Cis6MTAyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM4Cis6MTAyODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTAyODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTAyODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTAyODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4Cis6MTAyODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc4Cis6MTAyODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTAyODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTAyODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTAyODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTAyOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTAyOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTAyOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4Cis6MTAyOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY4Cis6MTAyOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6MTAyOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ4Cis6MTAyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTAyOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTAyOTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6MTAyOTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTAyOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTAyOTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTAyOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTAyOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTAyOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ3Cis6MTAyOTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTAyOUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTAyOUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTAyOUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTAyOUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY3Cis6MTAyOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTAyOUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTAyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTAyQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTAyQTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTAyQTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTAyQTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2Cis6MTAyQTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc2Cis6MTAyQTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTAyQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTAyQTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTAyQTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTAyQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6MTAyQUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTAyQUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTAyQUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTAyQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6MTAyQUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTAyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1Cis6MTAyQjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI1Cis6MTAyQjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTAyQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTAyQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTAyQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTAyQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTAyQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTAyQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTAyQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTAyQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTAyQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTAyQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTAyQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTAyQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTAyQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTAyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTAyQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTAyQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTAyQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTAyQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTAyQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTAyQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTAyQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTAyQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTAyQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTAyQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAyQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAyQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAyQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAyQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAyQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAyRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAyRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTAyRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTAyRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTAyRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTAyRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTAyRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTAyRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTAyRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTAyREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTAyREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTAyREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTAyREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTAyREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTAyREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTAyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTAyRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTAyRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTAyRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTAyRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTAyRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTAyRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTAyRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTAyRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTAyRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTAyRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTAyRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTAyRUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCis6MTAyRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTAyRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTAyRUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTAyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTAyRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTAyRjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MTAyRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAyRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAyRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAyRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAyRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAyRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAyRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAyRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAyRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAyRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAyRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAyRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZnMvS2NvbmZpZyBiL2ZzL0tjb25maWcKaW5kZXggMGNlNzJkYy4uODRhYjc2YSAxMDA2NDQKLS0tIGEvZnMvS2NvbmZpZworKysgYi9mcy9LY29uZmlnCkBAIC05MzAsNyArOTMwLDcgQEAKIAogY29uZmlnIFBST0NfVk1DT1JFCiAgICAgICAgIGJvb2wgIi9wcm9jL3ZtY29yZSBzdXBwb3J0IChFWFBFUklNRU5UQUwpIgotICAgICAgICBkZXBlbmRzIG9uIFBST0NfRlMgJiYgRVhQRVJJTUVOVEFMICYmIENSQVNIX0RVTVAKKyAgICAgICAgZGVwZW5kcyBvbiBQUk9DX0ZTICYmIENSQVNIX0RVTVAKIAlkZWZhdWx0IHkKICAgICAgICAgaGVscAogICAgICAgICBFeHBvcnRzIHRoZSBkdW1wIGltYWdlIG9mIGNyYXNoZWQga2VybmVsIGluIEVMRiBmb3JtYXQuCmRpZmYgLS1naXQgYS9mcy9NYWtlZmlsZSBiL2ZzL01ha2VmaWxlCmluZGV4IDFlN2ExMWIuLjI3N2IwNzkgMTAwNjQ0Ci0tLSBhL2ZzL01ha2VmaWxlCisrKyBiL2ZzL01ha2VmaWxlCkBAIC0xOSw2ICsxOSw3IEBACiBvYmoteSArPQluby1ibG9jay5vCiBlbmRpZgogCitvYmotJChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpICs9IGJpby1pbnRlZ3JpdHkubwogb2JqLSQoQ09ORklHX0lOT1RJRlkpCQkrPSBpbm90aWZ5Lm8KIG9iai0kKENPTkZJR19JTk9USUZZX1VTRVIpCSs9IGlub3RpZnlfdXNlci5vCiBvYmotJChDT05GSUdfRVBPTEwpCQkrPSBldmVudHBvbGwubwpkaWZmIC0tZ2l0IGEvZnMvYmlvLWludGVncml0eS5jIGIvZnMvYmlvLWludGVncml0eS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZTJlZTYKLS0tIC9kZXYvbnVsbAorKysgYi9mcy9iaW8taW50ZWdyaXR5LmMKQEAgLTAsMCArMSw3MTkgQEAKKy8qCisgKiBiaW8taW50ZWdyaXR5LmMgLSBiaW8gZGF0YSBpbnRlZ3JpdHkgZXh0ZW5zaW9ucworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBPcmFjbGUgQ29ycG9yYXRpb24KKyAqIFdyaXR0ZW4gYnk6IE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbgorICogMiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksCisgKiBVU0EuCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9ibGtkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9tZW1wb29sLmg+CisjaW5jbHVkZSA8bGludXgvYmlvLmg+CisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisKK3N0YXRpYyBzdHJ1Y3Qga21lbV9jYWNoZSAqYmlvX2ludGVncml0eV9zbGFiIF9fcmVhZF9tb3N0bHk7CitzdGF0aWMgc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmtpbnRlZ3JpdHlkX3dxOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfYWxsb2NfYmlvc2V0IC0gQWxsb2NhdGUgaW50ZWdyaXR5IHBheWxvYWQgYW5kIGF0dGFjaCBpdCB0byBiaW8KKyAqIEBiaW86CWJpbyB0byBhdHRhY2ggaW50ZWdyaXR5IG1ldGFkYXRhIHRvCisgKiBAZ2ZwX21hc2s6CU1lbW9yeSBhbGxvY2F0aW9uIG1hc2sKKyAqIEBucl92ZWNzOglOdW1iZXIgb2YgaW50ZWdyaXR5IG1ldGFkYXRhIHNjYXR0ZXItZ2F0aGVyIGVsZW1lbnRzCisgKiBAYnM6CQliaW9fc2V0IHRvIGFsbG9jYXRlIGZyb20KKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBhIGJpbyBmb3IgYXR0YWNoaW5nIGludGVncml0eQorICogbWV0YWRhdGEuICBucl92ZWNzIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGFnZXMgY29udGFpbmluZworICogaW50ZWdyaXR5IG1ldGFkYXRhIHRoYXQgY2FuIGJlIGF0dGFjaGVkLgorICovCitzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldChzdHJ1Y3QgYmlvICpiaW8sCisJCQkJCQkJIGdmcF90IGdmcF9tYXNrLAorCQkJCQkJCSB1bnNpZ25lZCBpbnQgbnJfdmVjcywKKwkJCQkJCQkgc3RydWN0IGJpb19zZXQgKmJzKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcDsKKwlzdHJ1Y3QgYmlvX3ZlYyAqaXY7CisJdW5zaWduZWQgbG9uZyBpZHg7CisKKwlCVUdfT04oYmlvID09IE5VTEwpOworCisJYmlwID0gbWVtcG9vbF9hbGxvYyhicy0+YmlvX2ludGVncml0eV9wb29sLCBnZnBfbWFzayk7CisJaWYgKHVubGlrZWx5KGJpcCA9PSBOVUxMKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBjb3VsZCBub3QgYWxsb2MgYmlwXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiBOVUxMOworCX0KKworCW1lbXNldChiaXAsIDAsIHNpemVvZigqYmlwKSk7CisKKwlpdiA9IGJ2ZWNfYWxsb2NfYnMoZ2ZwX21hc2ssIG5yX3ZlY3MsICZpZHgsIGJzKTsKKwlpZiAodW5saWtlbHkoaXYgPT0gTlVMTCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogY291bGQgbm90IGFsbG9jIGJpcF92ZWNcbiIsIF9fZnVuY19fKTsKKwkJbWVtcG9vbF9mcmVlKGJpcCwgYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCk7CisJCXJldHVybiBOVUxMOworCX0KKworCWJpcC0+YmlwX3Bvb2wgPSBpZHg7CisJYmlwLT5iaXBfdmVjID0gaXY7CisJYmlwLT5iaXBfYmlvID0gYmlvOworCWJpby0+YmlfaW50ZWdyaXR5ID0gYmlwOworCisJcmV0dXJuIGJpcDsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfYWxsb2MgLSBBbGxvY2F0ZSBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgYXR0YWNoIGl0IHRvIGJpbworICogQGJpbzoJYmlvIHRvIGF0dGFjaCBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8KKyAqIEBnZnBfbWFzazoJTWVtb3J5IGFsbG9jYXRpb24gbWFzaworICogQG5yX3ZlY3M6CU51bWJlciBvZiBpbnRlZ3JpdHkgbWV0YWRhdGEgc2NhdHRlci1nYXRoZXIgZWxlbWVudHMKKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBhIGJpbyBmb3IgYXR0YWNoaW5nIGludGVncml0eQorICogbWV0YWRhdGEuICBucl92ZWNzIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGFnZXMgY29udGFpbmluZworICogaW50ZWdyaXR5IG1ldGFkYXRhIHRoYXQgY2FuIGJlIGF0dGFjaGVkLgorICovCitzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jKHN0cnVjdCBiaW8gKmJpbywKKwkJCQkJCSAgZ2ZwX3QgZ2ZwX21hc2ssCisJCQkJCQkgIHVuc2lnbmVkIGludCBucl92ZWNzKQoreworCXJldHVybiBiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldChiaW8sIGdmcF9tYXNrLCBucl92ZWNzLCBmc19iaW9fc2V0KTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9hbGxvYyk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9mcmVlIC0gRnJlZSBiaW8gaW50ZWdyaXR5IHBheWxvYWQKKyAqIEBiaW86CWJpbyBjb250YWluaW5nIGJpcCB0byBiZSBmcmVlZAorICogQGJzOgkJYmlvX3NldCB0aGlzIGJpbyB3YXMgYWxsb2NhdGVkIGZyb20KKyAqCisgKiBEZXNjcmlwdGlvbjogVXNlZCB0byBmcmVlIHRoZSBpbnRlZ3JpdHkgcG9ydGlvbiBvZiBhIGJpby4gVXN1YWxseQorICogY2FsbGVkIGZyb20gYmlvX2ZyZWUoKS4KKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X2ZyZWUoc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3NldCAqYnMpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisKKwlCVUdfT04oYmlwID09IE5VTEwpOworCisJLyogQSBjbG9uZWQgYmlvIGRvZXNuJ3Qgb3duIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgKi8KKwlpZiAoIWJpb19mbGFnZ2VkKGJpbywgQklPX0NMT05FRCkgJiYgYmlwLT5iaXBfYnVmICE9IE5VTEwpCisJCWtmcmVlKGJpcC0+YmlwX2J1Zik7CisKKwltZW1wb29sX2ZyZWUoYmlwLT5iaXBfdmVjLCBicy0+YnZlY19wb29sc1tiaXAtPmJpcF9wb29sXSk7CisJbWVtcG9vbF9mcmVlKGJpcCwgYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCk7CisKKwliaW8tPmJpX2ludGVncml0eSA9IE5VTEw7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfZnJlZSk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9hZGRfcGFnZSAtIEF0dGFjaCBpbnRlZ3JpdHkgbWV0YWRhdGEKKyAqIEBiaW86CWJpbyB0byB1cGRhdGUKKyAqIEBwYWdlOglwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhCisgKiBAbGVuOgludW1iZXIgb2YgYnl0ZXMgb2YgaW50ZWdyaXR5IG1ldGFkYXRhIGluIHBhZ2UKKyAqIEBvZmZzZXQ6CXN0YXJ0IG9mZnNldCB3aXRoaW4gcGFnZQorICoKKyAqIERlc2NyaXB0aW9uOiBBdHRhY2ggYSBwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhIHRvIGJpby4KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfYWRkX3BhZ2Uoc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCSAgIHVuc2lnbmVkIGludCBsZW4sIHVuc2lnbmVkIGludCBvZmZzZXQpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisJc3RydWN0IGJpb192ZWMgKml2OworCisJaWYgKGJpcC0+YmlwX3ZjbnQgPj0gYnZlY19ucl92ZWNzKGJpcC0+YmlwX3Bvb2wpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGJpcF92ZWMgZnVsbFxuIiwgX19mdW5jX18pOworCQlyZXR1cm4gMDsKKwl9CisKKwlpdiA9IGJpcF92ZWNfaWR4KGJpcCwgYmlwLT5iaXBfdmNudCk7CisJQlVHX09OKGl2ID09IE5VTEwpOworCUJVR19PTihpdi0+YnZfcGFnZSAhPSBOVUxMKTsKKworCWl2LT5idl9wYWdlID0gcGFnZTsKKwlpdi0+YnZfbGVuID0gbGVuOworCWl2LT5idl9vZmZzZXQgPSBvZmZzZXQ7CisJYmlwLT5iaXBfdmNudCsrOworCisJcmV0dXJuIGxlbjsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9hZGRfcGFnZSk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9lbmFibGVkIC0gQ2hlY2sgd2hldGhlciBpbnRlZ3JpdHkgY2FuIGJlIHBhc3NlZAorICogQGJpbzoJYmlvIHRvIGNoZWNrCisgKgorICogRGVzY3JpcHRpb246IERldGVybWluZXMgd2hldGhlciBiaW9faW50ZWdyaXR5X3ByZXAoKSBjYW4gYmUgY2FsbGVkCisgKiBvbiB0aGlzIGJpbyBvciBub3QuCWJpbyBkYXRhIGRpcmVjdGlvbiBhbmQgdGFyZ2V0IGRldmljZSBtdXN0IGJlCisgKiBzZXQgcHJpb3IgdG8gY2FsbGluZy4gIFRoZSBmdW5jdGlvbnMgaG9ub3JzIHRoZSB3cml0ZV9nZW5lcmF0ZSBhbmQKKyAqIHJlYWRfdmVyaWZ5IGZsYWdzIGluIHN5c2ZzLgorICovCitpbnQgYmlvX2ludGVncml0eV9lbmFibGVkKHN0cnVjdCBiaW8gKmJpbykKK3sKKwkvKiBBbHJlYWR5IHByb3RlY3RlZD8gKi8KKwlpZiAoYmlvX2ludGVncml0eShiaW8pKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBiZGV2X2ludGVncml0eV9lbmFibGVkKGJpby0+YmlfYmRldiwgYmlvX2RhdGFfZGlyKGJpbykpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2VuYWJsZWQpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfaHdfc2VjdG9ycyAtIENvbnZlcnQgNTEyYiBzZWN0b3JzIHRvIGhhcmR3YXJlIGRpdHRvCisgKiBAYmk6CQlibGtfaW50ZWdyaXR5IHByb2ZpbGUgZm9yIGRldmljZQorICogQHNlY3RvcnM6CU51bWJlciBvZiA1MTIgc2VjdG9ycyB0byBjb252ZXJ0CisgKgorICogRGVzY3JpcHRpb246IFRoZSBibG9jayBsYXllciBjYWxjdWxhdGVzIGV2ZXJ5dGhpbmcgaW4gNTEyIGJ5dGUKKyAqIHNlY3RvcnMgYnV0IGludGVncml0eSBtZXRhZGF0YSBpcyBkb25lIGluIHRlcm1zIG9mIHRoZSBoYXJkd2FyZQorICogc2VjdG9yIHNpemUgb2YgdGhlIHN0b3JhZ2UgZGV2aWNlLiAgQ29udmVydCB0aGUgYmxvY2sgbGF5ZXIgc2VjdG9ycworICogdG8gcGh5c2ljYWwgc2VjdG9ycy4KKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYmlvX2ludGVncml0eV9od19zZWN0b3JzKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkJCSAgICB1bnNpZ25lZCBpbnQgc2VjdG9ycykKK3sKKwkvKiBBdCB0aGlzIHBvaW50IHRoZXJlIGFyZSBvbmx5IDUxMmIgb3IgNDA5NmIgRElGL0VQUCBkZXZpY2VzICovCisJaWYgKGJpLT5zZWN0b3Jfc2l6ZSA9PSA0MDk2KQorCQlyZXR1cm4gc2VjdG9ycyA+Pj0gMzsKKworCXJldHVybiBzZWN0b3JzOworfQorCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfdGFnX3NpemUgLSBSZXRyaWV2ZSBpbnRlZ3JpdHkgdGFnIHNwYWNlCisgKiBAYmlvOgliaW8gdG8gaW5zcGVjdAorICoKKyAqIERlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0YWcgYnl0ZXMgdGhhdCBjYW4gYmUKKyAqIGF0dGFjaGVkIHRvIHRoaXMgYmlvLiBGaWxlc3lzdGVtcyBjYW4gdXNlIHRoaXMgdG8gZGV0ZXJtaW5lIGhvdworICogbXVjaCBtZXRhZGF0YSB0byBhdHRhY2ggdG8gYW4gSS9PLgorICovCit1bnNpZ25lZCBpbnQgYmlvX2ludGVncml0eV90YWdfc2l6ZShzdHJ1Y3QgYmlvICpiaW8pCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisKKwlCVUdfT04oYmlvLT5iaV9zaXplID09IDApOworCisJcmV0dXJuIGJpLT50YWdfc2l6ZSAqIChiaW8tPmJpX3NpemUgLyBiaS0+c2VjdG9yX3NpemUpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X3RhZ19zaXplKTsKKworaW50IGJpb19pbnRlZ3JpdHlfdGFnKHN0cnVjdCBiaW8gKmJpbywgdm9pZCAqdGFnX2J1ZiwgdW5zaWduZWQgaW50IGxlbiwgaW50IHNldCkKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwl1bnNpZ25lZCBpbnQgbnJfc2VjdG9yczsKKworCUJVR19PTihiaXAtPmJpcF9idWYgPT0gTlVMTCk7CisKKwlpZiAoYmktPnRhZ19zaXplID09IDApCisJCXJldHVybiAtMTsKKworCW5yX3NlY3RvcnMgPSBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoYmksCisJCQkJCURJVl9ST1VORF9VUChsZW4sIGJpLT50YWdfc2l6ZSkpOworCisJaWYgKG5yX3NlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZSA+IGJpcC0+YmlwX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogdGFnIHRvbyBiaWcgZm9yIGJpbzogJXUgPiAldVxuIiwKKwkJICAgICAgIF9fZnVuY19fLCBucl9zZWN0b3JzICogYmktPnR1cGxlX3NpemUsIGJpcC0+YmlwX3NpemUpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKHNldCkKKwkJYmktPnNldF90YWdfZm4oYmlwLT5iaXBfYnVmLCB0YWdfYnVmLCBucl9zZWN0b3JzKTsKKwllbHNlCisJCWJpLT5nZXRfdGFnX2ZuKGJpcC0+YmlwX2J1ZiwgdGFnX2J1ZiwgbnJfc2VjdG9ycyk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3NldF90YWcgLSBBdHRhY2ggYSB0YWcgYnVmZmVyIHRvIGEgYmlvCisgKiBAYmlvOgliaW8gdG8gYXR0YWNoIGJ1ZmZlciB0bworICogQHRhZ19idWY6CVBvaW50ZXIgdG8gYSBidWZmZXIgY29udGFpbmluZyB0YWcgZGF0YQorICogQGxlbjoJTGVuZ3RoIG9mIHRoZSBpbmNsdWRlZCBidWZmZXIKKyAqCisgKiBEZXNjcmlwdGlvbjogVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGFnIGEgYmlvIGJ5IGxldmVyYWdpbmcgdGhlIGV4dHJhCisgKiBzcGFjZSBwcm92aWRlZCBieSBkZXZpY2VzIGZvcm1hdHRlZCB3aXRoIGludGVncml0eSBwcm90ZWN0aW9uLiAgVGhlCisgKiBzaXplIG9mIHRoZSBpbnRlZ3JpdHkgYnVmZmVyIG11c3QgYmUgPD0gdG8gdGhlIHNpemUgcmVwb3J0ZWQgYnkKKyAqIGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoKS4KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfc2V0X3RhZyhzdHJ1Y3QgYmlvICpiaW8sIHZvaWQgKnRhZ19idWYsIHVuc2lnbmVkIGludCBsZW4pCit7CisJQlVHX09OKGJpb19kYXRhX2RpcihiaW8pICE9IFdSSVRFKTsKKworCXJldHVybiBiaW9faW50ZWdyaXR5X3RhZyhiaW8sIHRhZ19idWYsIGxlbiwgMSk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfc2V0X3RhZyk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9nZXRfdGFnIC0gUmV0cmlldmUgYSB0YWcgYnVmZmVyIGZyb20gYSBiaW8KKyAqIEBiaW86CWJpbyB0byByZXRyaWV2ZSBidWZmZXIgZnJvbQorICogQHRhZ19idWY6CVBvaW50ZXIgdG8gYSBidWZmZXIgZm9yIHRoZSB0YWcgZGF0YQorICogQGxlbjoJTGVuZ3RoIG9mIHRoZSB0YXJnZXQgYnVmZmVyCisgKgorICogRGVzY3JpcHRpb246IFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHJldHJpZXZlIHRoZSB0YWcgYnVmZmVyIGZyb20gYQorICogY29tcGxldGVkIEkvTy4gVGhlIHNpemUgb2YgdGhlIGludGVncml0eSBidWZmZXIgbXVzdCBiZSA8PSB0byB0aGUKKyAqIHNpemUgcmVwb3J0ZWQgYnkgYmlvX2ludGVncml0eV90YWdfc2l6ZSgpLgorICovCitpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKHN0cnVjdCBiaW8gKmJpbywgdm9pZCAqdGFnX2J1ZiwgdW5zaWduZWQgaW50IGxlbikKK3sKKwlCVUdfT04oYmlvX2RhdGFfZGlyKGJpbykgIT0gUkVBRCk7CisKKwlyZXR1cm4gYmlvX2ludGVncml0eV90YWcoYmlvLCB0YWdfYnVmLCBsZW4sIDApOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2dldF90YWcpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfZ2VuZXJhdGUgLSBHZW5lcmF0ZSBpbnRlZ3JpdHkgbWV0YWRhdGEgZm9yIGEgYmlvCisgKiBAYmlvOgliaW8gdG8gZ2VuZXJhdGUgaW50ZWdyaXR5IG1ldGFkYXRhIGZvcgorICoKKyAqIERlc2NyaXB0aW9uOiBHZW5lcmF0ZXMgaW50ZWdyaXR5IG1ldGFkYXRhIGZvciBhIGJpbyBieSBjYWxsaW5nIHRoZQorICogYmxvY2sgZGV2aWNlJ3MgZ2VuZXJhdGlvbiBjYWxsYmFjayBmdW5jdGlvbi4gIFRoZSBiaW8gbXVzdCBoYXZlIGEKKyAqIGJpcCBhdHRhY2hlZCB3aXRoIGVub3VnaCByb29tIHRvIGFjY29tbW9kYXRlIHRoZSBnZW5lcmF0ZWQKKyAqIGludGVncml0eSBtZXRhZGF0YS4KKyAqLworc3RhdGljIHZvaWQgYmlvX2ludGVncml0eV9nZW5lcmF0ZShzdHJ1Y3QgYmlvICpiaW8pCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJc3RydWN0IGJsa19pbnRlZ3JpdHlfZXhjaGcgYml4OworCXN0cnVjdCBiaW9fdmVjICpidjsKKwlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvcjsKKwl1bnNpZ25lZCBpbnQgaSwgc2VjdG9ycywgdG90YWw7CisJdm9pZCAqcHJvdF9idWYgPSBiaW8tPmJpX2ludGVncml0eS0+YmlwX2J1ZjsKKworCXRvdGFsID0gMDsKKwliaXguZGlza19uYW1lID0gYmlvLT5iaV9iZGV2LT5iZF9kaXNrLT5kaXNrX25hbWU7CisJYml4LnNlY3Rvcl9zaXplID0gYmktPnNlY3Rvcl9zaXplOworCisJYmlvX2Zvcl9lYWNoX3NlZ21lbnQoYnYsIGJpbywgaSkgeworCQl2b2lkICprYWRkciA9IGttYXBfYXRvbWljKGJ2LT5idl9wYWdlLCBLTV9VU0VSMCk7CisJCWJpeC5kYXRhX2J1ZiA9IGthZGRyICsgYnYtPmJ2X29mZnNldDsKKwkJYml4LmRhdGFfc2l6ZSA9IGJ2LT5idl9sZW47CisJCWJpeC5wcm90X2J1ZiA9IHByb3RfYnVmOworCQliaXguc2VjdG9yID0gc2VjdG9yOworCisJCWJpLT5nZW5lcmF0ZV9mbigmYml4KTsKKworCQlzZWN0b3JzID0gYnYtPmJ2X2xlbiAvIGJpLT5zZWN0b3Jfc2l6ZTsKKwkJc2VjdG9yICs9IHNlY3RvcnM7CisJCXByb3RfYnVmICs9IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKwkJdG90YWwgKz0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCQlCVUdfT04odG90YWwgPiBiaW8tPmJpX2ludGVncml0eS0+YmlwX3NpemUpOworCisJCWt1bm1hcF9hdG9taWMoa2FkZHIsIEtNX1VTRVIwKTsKKwl9Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV9wcmVwIC0gUHJlcGFyZSBiaW8gZm9yIGludGVncml0eSBJL08KKyAqIEBiaW86CWJpbyB0byBwcmVwYXJlCisgKgorICogRGVzY3JpcHRpb246IEFsbG9jYXRlcyBhIGJ1ZmZlciBmb3IgaW50ZWdyaXR5IG1ldGFkYXRhLCBtYXBzIHRoZQorICogcGFnZXMgYW5kIGF0dGFjaGVzIHRoZW0gdG8gYSBiaW8uICBUaGUgYmlvIG11c3QgaGF2ZSBkYXRhCisgKiBkaXJlY3Rpb24sIHRhcmdldCBkZXZpY2UgYW5kIHN0YXJ0IHNlY3RvciBzZXQgcHJpb3QgdG8gY2FsbGluZy4gIEluCisgKiB0aGUgV1JJVEUgY2FzZSwgaW50ZWdyaXR5IG1ldGFkYXRhIHdpbGwgYmUgZ2VuZXJhdGVkIHVzaW5nIHRoZQorICogYmxvY2sgZGV2aWNlJ3MgaW50ZWdyaXR5IGZ1bmN0aW9uLiAgSW4gdGhlIFJFQUQgY2FzZSwgdGhlIGJ1ZmZlcgorICogd2lsbCBiZSBwcmVwYXJlZCBmb3IgRE1BIGFuZCBhIHN1aXRhYmxlIGVuZF9pbyBoYW5kbGVyIHNldCB1cC4KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfcHJlcChzdHJ1Y3QgYmlvICpiaW8pCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwOworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKwlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcTsKKwl2b2lkICpidWY7CisJdW5zaWduZWQgbG9uZyBzdGFydCwgZW5kOworCXVuc2lnbmVkIGludCBsZW4sIG5yX3BhZ2VzOworCXVuc2lnbmVkIGludCBieXRlcywgb2Zmc2V0LCBpOworCXVuc2lnbmVkIGludCBzZWN0b3JzOworCisJYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwlxID0gYmRldl9nZXRfcXVldWUoYmlvLT5iaV9iZGV2KTsKKwlCVUdfT04oYmkgPT0gTlVMTCk7CisJQlVHX09OKGJpb19pbnRlZ3JpdHkoYmlvKSk7CisKKwlzZWN0b3JzID0gYmlvX2ludGVncml0eV9od19zZWN0b3JzKGJpLCBiaW9fc2VjdG9ycyhiaW8pKTsKKworCS8qIEFsbG9jYXRlIGtlcm5lbCBidWZmZXIgZm9yIHByb3RlY3Rpb24gZGF0YSAqLworCWxlbiA9IHNlY3RvcnMgKiBibGtfaW50ZWdyaXR5X3R1cGxlX3NpemUoYmkpOworCWJ1ZiA9IGttYWxsb2MobGVuLCBHRlBfTk9JTyB8IF9fR0ZQX05PRkFJTCB8IHEtPmJvdW5jZV9nZnApOworCWlmICh1bmxpa2VseShidWYgPT0gTlVMTCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJjb3VsZCBub3QgYWxsb2NhdGUgaW50ZWdyaXR5IGJ1ZmZlclxuIik7CisJCXJldHVybiAtRUlPOworCX0KKworCWVuZCA9ICgoKHVuc2lnbmVkIGxvbmcpIGJ1ZikgKyBsZW4gKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCXN0YXJ0ID0gKCh1bnNpZ25lZCBsb25nKSBidWYpID4+IFBBR0VfU0hJRlQ7CisJbnJfcGFnZXMgPSBlbmQgLSBzdGFydDsKKworCS8qIEFsbG9jYXRlIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgaW50ZWdyaXR5IHZlY3RvcnMgKi8KKwliaXAgPSBiaW9faW50ZWdyaXR5X2FsbG9jKGJpbywgR0ZQX05PSU8sIG5yX3BhZ2VzKTsKKwlpZiAodW5saWtlbHkoYmlwID09IE5VTEwpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgaW50ZWdyaXR5IGJpb3NldFxuIik7CisJCWtmcmVlKGJ1Zik7CisJCXJldHVybiAtRUlPOworCX0KKworCWJpcC0+YmlwX2J1ZiA9IGJ1ZjsKKwliaXAtPmJpcF9zaXplID0gbGVuOworCWJpcC0+YmlwX3NlY3RvciA9IGJpby0+Ymlfc2VjdG9yOworCisJLyogTWFwIGl0ICovCisJb2Zmc2V0ID0gb2Zmc2V0X2luX3BhZ2UoYnVmKTsKKwlmb3IgKGkgPSAwIDsgaSA8IG5yX3BhZ2VzIDsgaSsrKSB7CisJCWludCByZXQ7CisJCWJ5dGVzID0gUEFHRV9TSVpFIC0gb2Zmc2V0OworCisJCWlmIChsZW4gPD0gMCkKKwkJCWJyZWFrOworCisJCWlmIChieXRlcyA+IGxlbikKKwkJCWJ5dGVzID0gbGVuOworCisJCXJldCA9IGJpb19pbnRlZ3JpdHlfYWRkX3BhZ2UoYmlvLCB2aXJ0X3RvX3BhZ2UoYnVmKSwKKwkJCQkJICAgICBieXRlcywgb2Zmc2V0KTsKKworCQlpZiAocmV0ID09IDApCisJCQlyZXR1cm4gMDsKKworCQlpZiAocmV0IDwgYnl0ZXMpCisJCQlicmVhazsKKworCQlidWYgKz0gYnl0ZXM7CisJCWxlbiAtPSBieXRlczsKKwkJb2Zmc2V0ID0gMDsKKwl9CisKKwkvKiBJbnN0YWxsIGN1c3RvbSBJL08gY29tcGxldGlvbiBoYW5kbGVyIGlmIHJlYWQgdmVyaWZ5IGlzIGVuYWJsZWQgKi8KKwlpZiAoYmlvX2RhdGFfZGlyKGJpbykgPT0gUkVBRCkgeworCQliaXAtPmJpcF9lbmRfaW8gPSBiaW8tPmJpX2VuZF9pbzsKKwkJYmlvLT5iaV9lbmRfaW8gPSBiaW9faW50ZWdyaXR5X2VuZGlvOworCX0KKworCS8qIEF1dG8tZ2VuZXJhdGUgaW50ZWdyaXR5IG1ldGFkYXRhIGlmIHRoaXMgaXMgYSB3cml0ZSAqLworCWlmIChiaW9fZGF0YV9kaXIoYmlvKSA9PSBXUklURSkKKwkJYmlvX2ludGVncml0eV9nZW5lcmF0ZShiaW8pOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfcHJlcCk7CisKKy8qKgorICogYmlvX2ludGVncml0eV92ZXJpZnkgLSBWZXJpZnkgaW50ZWdyaXR5IG1ldGFkYXRhIGZvciBhIGJpbworICogQGJpbzoJYmlvIHRvIHZlcmlmeQorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byB2ZXJpZnkgdGhlIGludGVncml0eSBvZiBhCisgKiBiaW8uCSBUaGUgZGF0YSBpbiB0aGUgYmlvIGlvX3ZlYyBpcyBjb21wYXJlZCB0byB0aGUgaW50ZWdyaXR5CisgKiBtZXRhZGF0YSByZXR1cm5lZCBieSB0aGUgSEJBLgorICovCitzdGF0aWMgaW50IGJpb19pbnRlZ3JpdHlfdmVyaWZ5KHN0cnVjdCBiaW8gKmJpbykKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyBiaXg7CisJc3RydWN0IGJpb192ZWMgKmJ2OworCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+YmlfaW50ZWdyaXR5LT5iaXBfc2VjdG9yOworCXVuc2lnbmVkIGludCBpLCBzZWN0b3JzLCB0b3RhbCwgcmV0OworCXZvaWQgKnByb3RfYnVmID0gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9idWY7CisKKwlyZXQgPSB0b3RhbCA9IDA7CisJYml4LmRpc2tfbmFtZSA9IGJpby0+YmlfYmRldi0+YmRfZGlzay0+ZGlza19uYW1lOworCWJpeC5zZWN0b3Jfc2l6ZSA9IGJpLT5zZWN0b3Jfc2l6ZTsKKworCWJpb19mb3JfZWFjaF9zZWdtZW50KGJ2LCBiaW8sIGkpIHsKKwkJdm9pZCAqa2FkZHIgPSBrbWFwX2F0b21pYyhidi0+YnZfcGFnZSwgS01fVVNFUjApOworCQliaXguZGF0YV9idWYgPSBrYWRkciArIGJ2LT5idl9vZmZzZXQ7CisJCWJpeC5kYXRhX3NpemUgPSBidi0+YnZfbGVuOworCQliaXgucHJvdF9idWYgPSBwcm90X2J1ZjsKKwkJYml4LnNlY3RvciA9IHNlY3RvcjsKKworCQlyZXQgPSBiaS0+dmVyaWZ5X2ZuKCZiaXgpOworCisJCWlmIChyZXQpIHsKKwkJCWt1bm1hcF9hdG9taWMoa2FkZHIsIEtNX1VTRVIwKTsKKwkJCWJyZWFrOworCQl9CisKKwkJc2VjdG9ycyA9IGJ2LT5idl9sZW4gLyBiaS0+c2VjdG9yX3NpemU7CisJCXNlY3RvciArPSBzZWN0b3JzOworCQlwcm90X2J1ZiArPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisJCXRvdGFsICs9IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKwkJQlVHX09OKHRvdGFsID4gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9zaXplKTsKKworCQlrdW5tYXBfYXRvbWljKGthZGRyLCBLTV9VU0VSMCk7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3ZlcmlmeV9mbiAtIEludGVncml0eSBJL08gY29tcGxldGlvbiB3b3JrZXIKKyAqIEB3b3JrOglXb3JrIHN0cnVjdCBzdG9yZWQgaW4gYmlvIHRvIGJlIHZlcmlmaWVkCisgKgorICogRGVzY3JpcHRpb246IFRoaXMgd29ya3F1ZXVlIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBjb21wbGV0ZSBhIFJFQUQKKyAqIHJlcXVlc3QuICBUaGUgZnVuY3Rpb24gdmVyaWZpZXMgdGhlIHRyYW5zZmVycmVkIGludGVncml0eSBtZXRhZGF0YQorICogYW5kIHRoZW4gY2FsbHMgdGhlIG9yaWdpbmFsIGJpbyBlbmRfaW8gZnVuY3Rpb24uCisgKi8KK3N0YXRpYyB2b2lkIGJpb19pbnRlZ3JpdHlfdmVyaWZ5X2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPQorCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCwgYmlwX3dvcmspOworCXN0cnVjdCBiaW8gKmJpbyA9IGJpcC0+YmlwX2JpbzsKKwlpbnQgZXJyb3IgPSBiaXAtPmJpcF9lcnJvcjsKKworCWlmIChiaW9faW50ZWdyaXR5X3ZlcmlmeShiaW8pKSB7CisJCWNsZWFyX2JpdChCSU9fVVBUT0RBVEUsICZiaW8tPmJpX2ZsYWdzKTsKKwkJZXJyb3IgPSAtRUlPOworCX0KKworCS8qIFJlc3RvcmUgb3JpZ2luYWwgYmlvIGNvbXBsZXRpb24gaGFuZGxlciAqLworCWJpby0+YmlfZW5kX2lvID0gYmlwLT5iaXBfZW5kX2lvOworCisJaWYgKGJpby0+YmlfZW5kX2lvKQorCQliaW8tPmJpX2VuZF9pbyhiaW8sIGVycm9yKTsKK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2VuZGlvIC0gSW50ZWdyaXR5IEkvTyBjb21wbGV0aW9uIGZ1bmN0aW9uCisgKiBAYmlvOglQcm90ZWN0ZWQgYmlvCisgKiBAZXJyb3I6CVBvaW50ZXIgdG8gZXJybm8KKyAqCisgKiBEZXNjcmlwdGlvbjogQ29tcGxldGlvbiBmb3IgaW50ZWdyaXR5IEkvTworICoKKyAqIE5vcm1hbGx5IEkvTyBjb21wbGV0aW9uIGlzIGRvbmUgaW4gaW50ZXJydXB0IGNvbnRleHQuICBIb3dldmVyLAorICogdmVyaWZ5aW5nIEkvTyBpbnRlZ3JpdHkgaXMgYSB0aW1lLWNvbnN1bWluZyB0YXNrIHdoaWNoIG11c3QgYmUgcnVuCisgKiBpbiBwcm9jZXNzIGNvbnRleHQuCVRoaXMgZnVuY3Rpb24gcG9zdHBvbmVzIGNvbXBsZXRpb24KKyAqIGFjY29yZGluZ2x5LgorICovCit2b2lkIGJpb19pbnRlZ3JpdHlfZW5kaW8oc3RydWN0IGJpbyAqYmlvLCBpbnQgZXJyb3IpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisKKwlCVUdfT04oYmlwLT5iaXBfYmlvICE9IGJpbyk7CisKKwliaXAtPmJpcF9lcnJvciA9IGVycm9yOworCUlOSVRfV09SSygmYmlwLT5iaXBfd29yaywgYmlvX2ludGVncml0eV92ZXJpZnlfZm4pOworCXF1ZXVlX3dvcmsoa2ludGVncml0eWRfd3EsICZiaXAtPmJpcF93b3JrKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9lbmRpbyk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9tYXJrX2hlYWQgLSBBZHZhbmNlIGJpcF92ZWMgc2tpcCBieXRlcworICogQGJpcDoJSW50ZWdyaXR5IHZlY3RvciB0byBhZHZhbmNlCisgKiBAc2tpcDoJTnVtYmVyIG9mIGJ5dGVzIHRvIGFkdmFuY2UgaXQKKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X21hcmtfaGVhZChzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAsCisJCQkgICAgIHVuc2lnbmVkIGludCBza2lwKQoreworCXN0cnVjdCBiaW9fdmVjICppdjsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWJpcF9mb3JfZWFjaF92ZWMoaXYsIGJpcCwgaSkgeworCQlpZiAoc2tpcCA9PSAwKSB7CisJCQliaXAtPmJpcF9pZHggPSBpOworCQkJcmV0dXJuOworCQl9IGVsc2UgaWYgKHNraXAgPj0gaXYtPmJ2X2xlbikgeworCQkJc2tpcCAtPSBpdi0+YnZfbGVuOworCQl9IGVsc2UgeyAvKiBza2lwIDwgaXYtPmJ2X2xlbikgKi8KKwkJCWl2LT5idl9vZmZzZXQgKz0gc2tpcDsKKwkJCWl2LT5idl9sZW4gLT0gc2tpcDsKKwkJCWJpcC0+YmlwX2lkeCA9IGk7CisJCQlyZXR1cm47CisJCX0KKwl9Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV9tYXJrX3RhaWwgLSBUcnVuY2F0ZSBiaXBfdmVjIHRvIGJlIGxlbiBieXRlcyBsb25nCisgKiBAYmlwOglJbnRlZ3JpdHkgdmVjdG9yIHRvIHRydW5jYXRlCisgKiBAbGVuOglOZXcgbGVuZ3RoIG9mIGludGVncml0eSB2ZWN0b3IKKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X21hcmtfdGFpbChzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAsCisJCQkgICAgIHVuc2lnbmVkIGludCBsZW4pCit7CisJc3RydWN0IGJpb192ZWMgKml2OworCXVuc2lnbmVkIGludCBpOworCisJYmlwX2Zvcl9lYWNoX3ZlYyhpdiwgYmlwLCBpKSB7CisJCWlmIChsZW4gPT0gMCkgeworCQkJYmlwLT5iaXBfdmNudCA9IGk7CisJCQlyZXR1cm47CisJCX0gZWxzZSBpZiAobGVuID49IGl2LT5idl9sZW4pIHsKKwkJCWxlbiAtPSBpdi0+YnZfbGVuOworCQl9IGVsc2UgeyAvKiBsZW4gPCBpdi0+YnZfbGVuKSAqLworCQkJaXYtPmJ2X2xlbiA9IGxlbjsKKwkJCWxlbiA9IDA7CisJCX0KKwl9Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV9hZHZhbmNlIC0gQWR2YW5jZSBpbnRlZ3JpdHkgdmVjdG9yCisgKiBAYmlvOgliaW8gd2hvc2UgaW50ZWdyaXR5IHZlY3RvciB0byB1cGRhdGUKKyAqIEBieXRlc19kb25lOgludW1iZXIgb2YgZGF0YSBieXRlcyB0aGF0IGhhdmUgYmVlbiBjb21wbGV0ZWQKKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiBjYWxjdWxhdGVzIGhvdyBtYW55IGludGVncml0eSBieXRlcyB0aGUKKyAqIG51bWJlciBvZiBjb21wbGV0ZWQgZGF0YSBieXRlcyBjb3JyZXNwb25kIHRvIGFuZCBhZHZhbmNlcyB0aGUKKyAqIGludGVncml0eSB2ZWN0b3IgYWNjb3JkaW5nbHkuCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV9hZHZhbmNlKHN0cnVjdCBiaW8gKmJpbywgdW5zaWduZWQgaW50IGJ5dGVzX2RvbmUpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJdW5zaWduZWQgaW50IG5yX3NlY3RvcnM7CisKKwlCVUdfT04oYmlwID09IE5VTEwpOworCUJVR19PTihiaSA9PSBOVUxMKTsKKworCW5yX3NlY3RvcnMgPSBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoYmksIGJ5dGVzX2RvbmUgPj4gOSk7CisJYmlvX2ludGVncml0eV9tYXJrX2hlYWQoYmlwLCBucl9zZWN0b3JzICogYmktPnR1cGxlX3NpemUpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2FkdmFuY2UpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfdHJpbSAtIFRyaW0gaW50ZWdyaXR5IHZlY3RvcgorICogQGJpbzoJYmlvIHdob3NlIGludGVncml0eSB2ZWN0b3IgdG8gdXBkYXRlCisgKiBAb2Zmc2V0OglvZmZzZXQgdG8gZmlyc3QgZGF0YSBzZWN0b3IKKyAqIEBzZWN0b3JzOgludW1iZXIgb2YgZGF0YSBzZWN0b3JzCisgKgorICogRGVzY3JpcHRpb246IFVzZWQgdG8gdHJpbSB0aGUgaW50ZWdyaXR5IHZlY3RvciBpbiBhIGNsb25lZCBiaW8uCisgKiBUaGUgaXZlYyB3aWxsIGJlIGFkdmFuY2VkIGNvcnJlc3BvbmRpbmcgdG8gJ29mZnNldCcgZGF0YSBzZWN0b3JzCisgKiBhbmQgdGhlIGxlbmd0aCB3aWxsIGJlIHRydW5jYXRlZCBjb3JyZXNwb25kaW5nIHRvICdsZW4nIGRhdGEKKyAqIHNlY3RvcnMuCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV90cmltKHN0cnVjdCBiaW8gKmJpbywgdW5zaWduZWQgaW50IG9mZnNldCwKKwkJCXVuc2lnbmVkIGludCBzZWN0b3JzKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9IGJpby0+YmlfaW50ZWdyaXR5OworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCXVuc2lnbmVkIGludCBucl9zZWN0b3JzOworCisJQlVHX09OKGJpcCA9PSBOVUxMKTsKKwlCVUdfT04oYmkgPT0gTlVMTCk7CisJQlVHX09OKCFiaW9fZmxhZ2dlZChiaW8sIEJJT19DTE9ORUQpKTsKKworCW5yX3NlY3RvcnMgPSBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoYmksIHNlY3RvcnMpOworCWJpcC0+YmlwX3NlY3RvciA9IGJpcC0+YmlwX3NlY3RvciArIG9mZnNldDsKKwliaW9faW50ZWdyaXR5X21hcmtfaGVhZChiaXAsIG9mZnNldCAqIGJpLT50dXBsZV9zaXplKTsKKwliaW9faW50ZWdyaXR5X21hcmtfdGFpbChiaXAsIHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZSk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfdHJpbSk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9zcGxpdCAtIFNwbGl0IGludGVncml0eSBtZXRhZGF0YQorICogQGJpbzoJUHJvdGVjdGVkIGJpbworICogQGJwOgkJUmVzdWx0aW5nIGJpb19wYWlyCisgKiBAc2VjdG9yczoJT2Zmc2V0CisgKgorICogRGVzY3JpcHRpb246IFNwbGl0cyBhbiBpbnRlZ3JpdHkgcGFnZSBpbnRvIGEgYmlvX3BhaXIuCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV9zcGxpdChzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fcGFpciAqYnAsIGludCBzZWN0b3JzKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKwl1bnNpZ25lZCBpbnQgbnJfc2VjdG9yczsKKworCWlmIChiaW9faW50ZWdyaXR5KGJpbykgPT0gMCkKKwkJcmV0dXJuOworCisJYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwlCVUdfT04oYmkgPT0gTlVMTCk7CisJQlVHX09OKGJpcC0+YmlwX3ZjbnQgIT0gMSk7CisKKwlucl9zZWN0b3JzID0gYmlvX2ludGVncml0eV9od19zZWN0b3JzKGJpLCBzZWN0b3JzKTsKKworCWJwLT5iaW8xLmJpX2ludGVncml0eSA9ICZicC0+YmlwMTsKKwlicC0+YmlvMi5iaV9pbnRlZ3JpdHkgPSAmYnAtPmJpcDI7CisKKwlicC0+aXYxID0gYmlwLT5iaXBfdmVjWzBdOworCWJwLT5pdjIgPSBiaXAtPmJpcF92ZWNbMF07CisKKwlicC0+YmlwMS5iaXBfdmVjID0gJmJwLT5pdjE7CisJYnAtPmJpcDIuYmlwX3ZlYyA9ICZicC0+aXYyOworCisJYnAtPml2MS5idl9sZW4gPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisJYnAtPml2Mi5idl9vZmZzZXQgKz0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCWJwLT5pdjIuYnZfbGVuIC09IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKworCWJwLT5iaXAxLmJpcF9zZWN0b3IgPSBiaW8tPmJpX2ludGVncml0eS0+YmlwX3NlY3RvcjsKKwlicC0+YmlwMi5iaXBfc2VjdG9yID0gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9zZWN0b3IgKyBucl9zZWN0b3JzOworCisJYnAtPmJpcDEuYmlwX3ZjbnQgPSBicC0+YmlwMi5iaXBfdmNudCA9IDE7CisJYnAtPmJpcDEuYmlwX2lkeCA9IGJwLT5iaXAyLmJpcF9pZHggPSAwOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X3NwbGl0KTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2Nsb25lIC0gQ2FsbGJhY2sgZm9yIGNsb25pbmcgYmlvcyB3aXRoIGludGVncml0eSBtZXRhZGF0YQorICogQGJpbzoJTmV3IGJpbworICogQGJpb19zcmM6CU9yaWdpbmFsIGJpbworICogQGJzOgkJYmlvX3NldCB0byBhbGxvY2F0ZSBiaXAgZnJvbQorICoKKyAqIERlc2NyaXB0aW9uOglDYWxsZWQgdG8gYWxsb2NhdGUgYSBiaXAgd2hlbiBjbG9uaW5nIGEgYmlvCisgKi8KK2ludCBiaW9faW50ZWdyaXR5X2Nsb25lKHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpbyAqYmlvX3NyYywKKwkJCXN0cnVjdCBiaW9fc2V0ICpicykKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXBfc3JjID0gYmlvX3NyYy0+YmlfaW50ZWdyaXR5OworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcDsKKworCUJVR19PTihiaXBfc3JjID09IE5VTEwpOworCisJYmlwID0gYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQoYmlvLCBHRlBfTk9JTywgYmlwX3NyYy0+YmlwX3ZjbnQsIGJzKTsKKworCWlmIChiaXAgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU87CisKKwltZW1jcHkoYmlwLT5iaXBfdmVjLCBiaXBfc3JjLT5iaXBfdmVjLAorCSAgICAgICBiaXBfc3JjLT5iaXBfdmNudCAqIHNpemVvZihzdHJ1Y3QgYmlvX3ZlYykpOworCisJYmlwLT5iaXBfc2VjdG9yID0gYmlwX3NyYy0+YmlwX3NlY3RvcjsKKwliaXAtPmJpcF92Y250ID0gYmlwX3NyYy0+YmlwX3ZjbnQ7CisJYmlwLT5iaXBfaWR4ID0gYmlwX3NyYy0+YmlwX2lkeDsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2Nsb25lKTsKKworaW50IGJpb3NldF9pbnRlZ3JpdHlfY3JlYXRlKHN0cnVjdCBiaW9fc2V0ICpicywgaW50IHBvb2xfc2l6ZSkKK3sKKwlicy0+YmlvX2ludGVncml0eV9wb29sID0gbWVtcG9vbF9jcmVhdGVfc2xhYl9wb29sKHBvb2xfc2l6ZSwKKwkJCQkJCQkgIGJpb19pbnRlZ3JpdHlfc2xhYik7CisJaWYgKCFicy0+YmlvX2ludGVncml0eV9wb29sKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woYmlvc2V0X2ludGVncml0eV9jcmVhdGUpOworCit2b2lkIGJpb3NldF9pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvX3NldCAqYnMpCit7CisJaWYgKGJzLT5iaW9faW50ZWdyaXR5X3Bvb2wpCisJCW1lbXBvb2xfZGVzdHJveShicy0+YmlvX2ludGVncml0eV9wb29sKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvc2V0X2ludGVncml0eV9mcmVlKTsKKwordm9pZCBfX2luaXQgYmlvX2ludGVncml0eV9pbml0X3NsYWIodm9pZCkKK3sKKwliaW9faW50ZWdyaXR5X3NsYWIgPSBLTUVNX0NBQ0hFKGJpb19pbnRlZ3JpdHlfcGF5bG9hZCwKKwkJCQkJU0xBQl9IV0NBQ0hFX0FMSUdOfFNMQUJfUEFOSUMpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2luaXRfc2xhYik7CisKK3N0YXRpYyBpbnQgX19pbml0IGludGVncml0eV9pbml0KHZvaWQpCit7CisJa2ludGVncml0eWRfd3EgPSBjcmVhdGVfd29ya3F1ZXVlKCJraW50ZWdyaXR5ZCIpOworCisJaWYgKCFraW50ZWdyaXR5ZF93cSkKKwkJcGFuaWMoIkZhaWxlZCB0byBjcmVhdGUga2ludGVncml0eWRcbiIpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwoaW50ZWdyaXR5X2luaXQpOwpkaWZmIC0tZ2l0IGEvZnMvYmlvLmMgYi9mcy9iaW8uYwppbmRleCA3ODU2MjU3Li44ODMyMmIwIDEwMDY0NAotLS0gYS9mcy9iaW8uYworKysgYi9mcy9iaW8uYwpAQCAtMjgsMjUgKzI4LDEwIEBACiAjaW5jbHVkZSA8bGludXgvYmxrdHJhY2VfYXBpLmg+CiAjaW5jbHVkZSA8c2NzaS9zZy5oPgkJLyogZm9yIHN0cnVjdCBzZ19pb3ZlYyAqLwogCi0jZGVmaW5lIEJJT19QT09MX1NJWkUgMgotCiBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmJpb19zbGFiIF9fcmVhZF9tb3N0bHk7CiAKLSNkZWZpbmUgQklPVkVDX05SX1BPT0xTIDYKLQotLyoKLSAqIGEgc21hbGwgbnVtYmVyIG9mIGVudHJpZXMgaXMgZmluZSwgbm90IGdvaW5nIHRvIGJlIHBlcmZvcm1hbmNlIGNyaXRpY2FsLgotICogYmFzaWNhbGx5IHdlIGp1c3QgbmVlZCB0byBzdXJ2aXZlCi0gKi8KLSNkZWZpbmUgQklPX1NQTElUX0VOVFJJRVMgMgogbWVtcG9vbF90ICpiaW9fc3BsaXRfcG9vbCBfX3JlYWRfbW9zdGx5OwogCi1zdHJ1Y3QgYmlvdmVjX3NsYWIgewotCWludCBucl92ZWNzOwotCWNoYXIgKm5hbWU7IAotCXN0cnVjdCBrbWVtX2NhY2hlICpzbGFiOwotfTsKLQogLyoKICAqIGlmIHlvdSBjaGFuZ2UgdGhpcyBsaXN0LCBhbHNvIGNoYW5nZSBidmVjX2FsbG9jIG9yIHRoaW5ncyB3aWxsCiAgKiBicmVhayBiYWRseSEgY2Fubm90IGJlIGJpZ2dlciB0aGFuIHdoYXQgeW91IGNhbiBmaXQgaW50byBhbgpAQCAtNjAsMjMgKzQ1LDE3IEBACiAjdW5kZWYgQlYKIAogLyoKLSAqIGJpb19zZXQgaXMgdXNlZCB0byBhbGxvdyBvdGhlciBwb3J0aW9ucyBvZiB0aGUgSU8gc3lzdGVtIHRvCi0gKiBhbGxvY2F0ZSB0aGVpciBvd24gcHJpdmF0ZSBtZW1vcnkgcG9vbHMgZm9yIGJpbyBhbmQgaW92ZWMgc3RydWN0dXJlcy4KLSAqIFRoZXNlIG1lbW9yeSBwb29scyBpbiB0dXJuIGFsbCBhbGxvY2F0ZSBmcm9tIHRoZSBiaW9fc2xhYgotICogYW5kIHRoZSBidmVjX3NsYWJzW10uCi0gKi8KLXN0cnVjdCBiaW9fc2V0IHsKLQltZW1wb29sX3QgKmJpb19wb29sOwotCW1lbXBvb2xfdCAqYnZlY19wb29sc1tCSU9WRUNfTlJfUE9PTFNdOwotfTsKLQotLyoKICAqIGZzX2Jpb19zZXQgaXMgdGhlIGJpb19zZXQgY29udGFpbmluZyBiaW8gYW5kIGlvdmVjIG1lbW9yeSBwb29scyB1c2VkIGJ5CiAgKiBJTyBjb2RlIHRoYXQgZG9lcyBub3QgbmVlZCBwcml2YXRlIG1lbW9yeSBwb29scy4KICAqLwotc3RhdGljIHN0cnVjdCBiaW9fc2V0ICpmc19iaW9fc2V0Oworc3RydWN0IGJpb19zZXQgKmZzX2Jpb19zZXQ7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGJpb192ZWMgKmJ2ZWNfYWxsb2NfYnMoZ2ZwX3QgZ2ZwX21hc2ssIGludCBuciwgdW5zaWduZWQgbG9uZyAqaWR4LCBzdHJ1Y3QgYmlvX3NldCAqYnMpCit1bnNpZ25lZCBpbnQgYnZlY19ucl92ZWNzKHVuc2lnbmVkIHNob3J0IGlkeCkKK3sKKwlyZXR1cm4gYnZlY19zbGFic1tpZHhdLm5yX3ZlY3M7Cit9CisKK3N0cnVjdCBiaW9fdmVjICpidmVjX2FsbG9jX2JzKGdmcF90IGdmcF9tYXNrLCBpbnQgbnIsIHVuc2lnbmVkIGxvbmcgKmlkeCwgc3RydWN0IGJpb19zZXQgKmJzKQogewogCXN0cnVjdCBiaW9fdmVjICpidmw7CiAKQEAgLTExNyw2ICs5Niw5IEBACiAJCW1lbXBvb2xfZnJlZShiaW8tPmJpX2lvX3ZlYywgYmlvX3NldC0+YnZlY19wb29sc1twb29sX2lkeF0pOwogCX0KIAorCWlmIChiaW9faW50ZWdyaXR5KGJpbykpCisJCWJpb19pbnRlZ3JpdHlfZnJlZShiaW8sIGJpb19zZXQpOworCiAJbWVtcG9vbF9mcmVlKGJpbywgYmlvX3NldC0+YmlvX3Bvb2wpOwogfQogCkBAIC0yNzUsOSArMjU3LDE5IEBACiB7CiAJc3RydWN0IGJpbyAqYiA9IGJpb19hbGxvY19iaW9zZXQoZ2ZwX21hc2ssIGJpby0+YmlfbWF4X3ZlY3MsIGZzX2Jpb19zZXQpOwogCi0JaWYgKGIpIHsKLQkJYi0+YmlfZGVzdHJ1Y3RvciA9IGJpb19mc19kZXN0cnVjdG9yOwotCQlfX2Jpb19jbG9uZShiLCBiaW8pOworCWlmICghYikKKwkJcmV0dXJuIE5VTEw7CisKKwliLT5iaV9kZXN0cnVjdG9yID0gYmlvX2ZzX2Rlc3RydWN0b3I7CisJX19iaW9fY2xvbmUoYiwgYmlvKTsKKworCWlmIChiaW9faW50ZWdyaXR5KGJpbykpIHsKKwkJaW50IHJldDsKKworCQlyZXQgPSBiaW9faW50ZWdyaXR5X2Nsb25lKGIsIGJpbywgZnNfYmlvX3NldCk7CisKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gTlVMTDsKIAl9CiAKIAlyZXR1cm4gYjsKQEAgLTMzMywxMCArMzI1LDE5IEBACiAJCWlmIChwYWdlID09IHByZXYtPmJ2X3BhZ2UgJiYKIAkJICAgIG9mZnNldCA9PSBwcmV2LT5idl9vZmZzZXQgKyBwcmV2LT5idl9sZW4pIHsKIAkJCXByZXYtPmJ2X2xlbiArPSBsZW47Ci0JCQlpZiAocS0+bWVyZ2VfYnZlY19mbiAmJgotCQkJICAgIHEtPm1lcmdlX2J2ZWNfZm4ocSwgYmlvLCBwcmV2KSA8IGxlbikgewotCQkJCXByZXYtPmJ2X2xlbiAtPSBsZW47Ci0JCQkJcmV0dXJuIDA7CisKKwkJCWlmIChxLT5tZXJnZV9idmVjX2ZuKSB7CisJCQkJc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSBidm0gPSB7CisJCQkJCS5iaV9iZGV2ID0gYmlvLT5iaV9iZGV2LAorCQkJCQkuYmlfc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IsCisJCQkJCS5iaV9zaXplID0gYmlvLT5iaV9zaXplLAorCQkJCQkuYmlfcncgPSBiaW8tPmJpX3J3LAorCQkJCX07CisKKwkJCQlpZiAocS0+bWVyZ2VfYnZlY19mbihxLCAmYnZtLCBwcmV2KSA8IGxlbikgeworCQkJCQlwcmV2LT5idl9sZW4gLT0gbGVuOworCQkJCQlyZXR1cm4gMDsKKwkJCQl9CiAJCQl9CiAKIAkJCWdvdG8gZG9uZTsKQEAgLTM3NywxMSArMzc4LDE4IEBACiAJICogcXVldWUgdG8gZ2V0IGZ1cnRoZXIgY29udHJvbAogCSAqLwogCWlmIChxLT5tZXJnZV9idmVjX2ZuKSB7CisJCXN0cnVjdCBidmVjX21lcmdlX2RhdGEgYnZtID0geworCQkJLmJpX2JkZXYgPSBiaW8tPmJpX2JkZXYsCisJCQkuYmlfc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IsCisJCQkuYmlfc2l6ZSA9IGJpby0+Ymlfc2l6ZSwKKwkJCS5iaV9ydyA9IGJpby0+YmlfcncsCisJCX07CisKIAkJLyoKIAkJICogbWVyZ2VfYnZlY19mbigpIHJldHVybnMgbnVtYmVyIG9mIGJ5dGVzIGl0IGNhbiBhY2NlcHQKIAkJICogYXQgdGhpcyBvZmZzZXQKIAkJICovCi0JCWlmIChxLT5tZXJnZV9idmVjX2ZuKHEsIGJpbywgYnZlYykgPCBsZW4pIHsKKwkJaWYgKHEtPm1lcmdlX2J2ZWNfZm4ocSwgJmJ2bSwgYnZlYykgPCBsZW4pIHsKIAkJCWJ2ZWMtPmJ2X3BhZ2UgPSBOVUxMOwogCQkJYnZlYy0+YnZfbGVuID0gMDsKIAkJCWJ2ZWMtPmJ2X29mZnNldCA9IDA7CkBAIC0xMjQ5LDYgKzEyNTcsOSBAQAogCWJwLT5iaW8xLmJpX3ByaXZhdGUgPSBiaTsKIAlicC0+YmlvMi5iaV9wcml2YXRlID0gcG9vbDsKIAorCWlmIChiaW9faW50ZWdyaXR5KGJpKSkKKwkJYmlvX2ludGVncml0eV9zcGxpdChiaSwgYnAsIGZpcnN0X3NlY3RvcnMpOworCiAJcmV0dXJuIGJwOwogfQogCkBAIC0xMjkwLDYgKzEzMDEsNyBAQAogCWlmIChicy0+YmlvX3Bvb2wpCiAJCW1lbXBvb2xfZGVzdHJveShicy0+YmlvX3Bvb2wpOwogCisJYmlvc2V0X2ludGVncml0eV9mcmVlKGJzKTsKIAliaW92ZWNfZnJlZV9wb29scyhicyk7CiAKIAlrZnJlZShicyk7CkBAIC0xMzA2LDYgKzEzMTgsOSBAQAogCWlmICghYnMtPmJpb19wb29sKQogCQlnb3RvIGJhZDsKIAorCWlmIChiaW9zZXRfaW50ZWdyaXR5X2NyZWF0ZShicywgYmlvX3Bvb2xfc2l6ZSkpCisJCWdvdG8gYmFkOworCiAJaWYgKCFiaW92ZWNfY3JlYXRlX3Bvb2xzKGJzLCBidmVjX3Bvb2xfc2l6ZSkpCiAJCXJldHVybiBiczsKIApAQCAtMTMzMiw2ICsxMzQ3LDcgQEAKIHsKIAliaW9fc2xhYiA9IEtNRU1fQ0FDSEUoYmlvLCBTTEFCX0hXQ0FDSEVfQUxJR058U0xBQl9QQU5JQyk7CiAKKwliaW9faW50ZWdyaXR5X2luaXRfc2xhYigpOwogCWJpb3ZlY19pbml0X3NsYWJzKCk7CiAKIAlmc19iaW9fc2V0ID0gYmlvc2V0X2NyZWF0ZShCSU9fUE9PTF9TSVpFLCAyKTsKZGlmZiAtLWdpdCBhL2ZzL2J1ZmZlci5jIGIvZnMvYnVmZmVyLmMKaW5kZXggMGY1MWMwZi4uZDQ4Y2FlZSAxMDA2NDQKLS0tIGEvZnMvYnVmZmVyLmMKKysrIGIvZnMvYnVmZmVyLmMKQEAgLTE0NjQsNyArMTQ2NCw3IEBACiAJCiB2b2lkIGludmFsaWRhdGVfYmhfbHJ1cyh2b2lkKQogewotCW9uX2VhY2hfY3B1KGludmFsaWRhdGVfYmhfbHJ1LCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShpbnZhbGlkYXRlX2JoX2xydSwgTlVMTCwgMSk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChpbnZhbGlkYXRlX2JoX2xydXMpOwogCkBAIC0xNjkxLDExICsxNjkxLDEzIEBACiAJCQkgKi8KIAkJCWNsZWFyX2J1ZmZlcl9kaXJ0eShiaCk7CiAJCQlzZXRfYnVmZmVyX3VwdG9kYXRlKGJoKTsKLQkJfSBlbHNlIGlmICghYnVmZmVyX21hcHBlZChiaCkgJiYgYnVmZmVyX2RpcnR5KGJoKSkgeworCQl9IGVsc2UgaWYgKCghYnVmZmVyX21hcHBlZChiaCkgfHwgYnVmZmVyX2RlbGF5KGJoKSkgJiYKKwkJCSAgIGJ1ZmZlcl9kaXJ0eShiaCkpIHsKIAkJCVdBUk5fT04oYmgtPmJfc2l6ZSAhPSBibG9ja3NpemUpOwogCQkJZXJyID0gZ2V0X2Jsb2NrKGlub2RlLCBibG9jaywgYmgsIDEpOwogCQkJaWYgKGVycikKIAkJCQlnb3RvIHJlY292ZXI7CisJCQljbGVhcl9idWZmZXJfZGVsYXkoYmgpOwogCQkJaWYgKGJ1ZmZlcl9uZXcoYmgpKSB7CiAJCQkJLyogYmxvY2tkZXYgbWFwcGluZ3MgbmV2ZXIgY29tZSBoZXJlICovCiAJCQkJY2xlYXJfYnVmZmVyX25ldyhiaCk7CkBAIC0xNzc0LDcgKzE3NzYsOCBAQAogCWJoID0gaGVhZDsKIAkvKiBSZWNvdmVyeTogbG9jayBhbmQgc3VibWl0IHRoZSBtYXBwZWQgYnVmZmVycyAqLwogCWRvIHsKLQkJaWYgKGJ1ZmZlcl9tYXBwZWQoYmgpICYmIGJ1ZmZlcl9kaXJ0eShiaCkpIHsKKwkJaWYgKGJ1ZmZlcl9tYXBwZWQoYmgpICYmIGJ1ZmZlcl9kaXJ0eShiaCkgJiYKKwkJICAgICFidWZmZXJfZGVsYXkoYmgpKSB7CiAJCQlsb2NrX2J1ZmZlcihiaCk7CiAJCQltYXJrX2J1ZmZlcl9hc3luY193cml0ZShiaCk7CiAJCX0gZWxzZSB7CkBAIC0yMDYxLDYgKzIwNjQsNyBAQAogCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwlpbnQgaV9zaXplX2NoYW5nZWQgPSAwOwogCiAJY29waWVkID0gYmxvY2tfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsIHBhZ2UsIGZzZGF0YSk7CiAKQEAgLTIwNzMsMTIgKzIwNzcsMjEgQEAKIAkgKi8KIAlpZiAocG9zK2NvcGllZCA+IGlub2RlLT5pX3NpemUpIHsKIAkJaV9zaXplX3dyaXRlKGlub2RlLCBwb3MrY29waWVkKTsKLQkJbWFya19pbm9kZV9kaXJ0eShpbm9kZSk7CisJCWlfc2l6ZV9jaGFuZ2VkID0gMTsKIAl9CiAKIAl1bmxvY2tfcGFnZShwYWdlKTsKIAlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAKKwkvKgorCSAqIERvbid0IG1hcmsgdGhlIGlub2RlIGRpcnR5IHVuZGVyIHBhZ2UgbG9jay4gRmlyc3QsIGl0IHVubmVjZXNzYXJpbHkKKwkgKiBtYWtlcyB0aGUgaG9sZGluZyB0aW1lIG9mIHBhZ2UgbG9jayBsb25nZXIuIFNlY29uZCwgaXQgZm9yY2VzIGxvY2sKKwkgKiBvcmRlcmluZyBvZiBwYWdlIGxvY2sgYW5kIHRyYW5zYWN0aW9uIHN0YXJ0IGZvciBqb3VybmFsaW5nCisJICogZmlsZXN5c3RlbXMuCisJICovCisJaWYgKGlfc2l6ZV9jaGFuZ2VkKQorCQltYXJrX2lub2RlX2RpcnR5KGlub2RlKTsKKwogCXJldHVybiBjb3BpZWQ7CiB9CiBFWFBPUlRfU1lNQk9MKGdlbmVyaWNfd3JpdGVfZW5kKTsKZGlmZiAtLWdpdCBhL2ZzL2NoYXJfZGV2LmMgYi9mcy9jaGFyX2Rldi5jCmluZGV4IDY4ZTUxMGIuLjNjYjdjZGEgMTAwNjQ0Ci0tLSBhL2ZzL2NoYXJfZGV2LmMKKysrIGIvZnMvY2hhcl9kZXYuYwpAQCAtMzczLDYgKzM3Myw4IEBACiAJCQlyZXR1cm4gLUVOWElPOwogCQluZXcgPSBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGNkZXYsIGtvYmopOwogCQlzcGluX2xvY2soJmNkZXZfbG9jayk7CisJCS8qIENoZWNrIGlfY2RldiBhZ2FpbiBpbiBjYXNlIHNvbWVib2R5IGJlYXQgdXMgdG8gaXQgd2hpbGUKKwkJICAgd2UgZHJvcHBlZCB0aGUgbG9jay4gKi8KIAkJcCA9IGlub2RlLT5pX2NkZXY7CiAJCWlmICghcCkgewogCQkJaW5vZGUtPmlfY2RldiA9IHAgPSBuZXc7CkBAIC0zOTIsMTEgKzM5NCw4IEBACiAJCWNkZXZfcHV0KHApOwogCQlyZXR1cm4gLUVOWElPOwogCX0KLQlpZiAoZmlscC0+Zl9vcC0+b3BlbikgewotCQlsb2NrX2tlcm5lbCgpOworCWlmIChmaWxwLT5mX29wLT5vcGVuKQogCQlyZXQgPSBmaWxwLT5mX29wLT5vcGVuKGlub2RlLGZpbHApOwotCQl1bmxvY2tfa2VybmVsKCk7Ci0JfQogCWlmIChyZXQpCiAJCWNkZXZfcHV0KHApOwogCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9mcy9jaWZzL2NpZnNhY2wuYyBiL2ZzL2NpZnMvY2lmc2FjbC5jCmluZGV4IDM0OTAyY2YuLjBlOWZjMmIgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvY2lmc2FjbC5jCisrKyBiL2ZzL2NpZnMvY2lmc2FjbC5jCkBAIC0zNCwxMSArMzQsMTEgQEAKIHN0YXRpYyBzdHJ1Y3QgY2lmc193a3NpZCB3a3NpZGFycltOVU1fV0tfU0lEU10gPSB7CiAJe3sxLCAwLCB7MCwgMCwgMCwgMCwgMCwgMH0sIHswLCAwLCAwLCAwLCAwfSB9LCAibnVsbCB1c2VyIn0sCiAJe3sxLCAxLCB7MCwgMCwgMCwgMCwgMCwgMX0sIHswLCAwLCAwLCAwLCAwfSB9LCAibm9ib2R5In0sCi0Je3sxLCAxLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtjcHVfdG9fbGUzMigxMSksIDAsIDAsIDAsIDB9IH0sICJuZXQtdXNlcnMifSwKLQl7ezEsIDEsIHswLCAwLCAwLCAwLCAwLCA1fSwge2NwdV90b19sZTMyKDE4KSwgMCwgMCwgMCwgMH0gfSwgInN5cyJ9LAotCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7Y3B1X3RvX2xlMzIoMzIpLCBjcHVfdG9fbGUzMig1NDQpLCAwLCAwLCAwfSB9LCAicm9vdCJ9LAotCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7Y3B1X3RvX2xlMzIoMzIpLCBjcHVfdG9fbGUzMig1NDUpLCAwLCAwLCAwfSB9LCAidXNlcnMifSwKLQl7ezEsIDIsIHswLCAwLCAwLCAwLCAwLCA1fSwge2NwdV90b19sZTMyKDMyKSwgY3B1X3RvX2xlMzIoNTQ2KSwgMCwgMCwgMH0gfSwgImd1ZXN0In0gfQorCXt7MSwgMSwgezAsIDAsIDAsIDAsIDAsIDV9LCB7X19jb25zdGFudF9jcHVfdG9fbGUzMigxMSksIDAsIDAsIDAsIDB9IH0sICJuZXQtdXNlcnMifSwKKwl7ezEsIDEsIHswLCAwLCAwLCAwLCAwLCA1fSwge19fY29uc3RhbnRfY3B1X3RvX2xlMzIoMTgpLCAwLCAwLCAwLCAwfSB9LCAic3lzIn0sCisJe3sxLCAyLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtfX2NvbnN0YW50X2NwdV90b19sZTMyKDMyKSwgX19jb25zdGFudF9jcHVfdG9fbGUzMig1NDQpLCAwLCAwLCAwfSB9LCAicm9vdCJ9LAorCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7X19jb25zdGFudF9jcHVfdG9fbGUzMigzMiksIF9fY29uc3RhbnRfY3B1X3RvX2xlMzIoNTQ1KSwgMCwgMCwgMH0gfSwgInVzZXJzIn0sCisJe3sxLCAyLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtfX2NvbnN0YW50X2NwdV90b19sZTMyKDMyKSwgX19jb25zdGFudF9jcHVfdG9fbGUzMig1NDYpLCAwLCAwLCAwfSB9LCAiZ3Vlc3QifSB9CiA7CiAKIApkaWZmIC0tZ2l0IGEvZnMvY2lmcy9jaWZzZnMuYyBiL2ZzL2NpZnMvY2lmc2ZzLmMKaW5kZXggODZiNGQ1Zi4uMjI4NTdjNiAxMDA2NDQKLS0tIGEvZnMvY2lmcy9jaWZzZnMuYworKysgYi9mcy9jaWZzL2NpZnNmcy5jCkBAIC02MTIsNyArNjEyLDcgQEAKIAkJaWYgKHJldHZhbCA8IDApCiAJCQlyZXR1cm4gKGxvZmZfdClyZXR2YWw7CiAJfQotCXJldHVybiByZW1vdGVfbGxzZWVrKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwlyZXR1cm4gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CiB9CiAKIHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlIGNpZnNfZnNfdHlwZSA9IHsKZGlmZiAtLWdpdCBhL2ZzL2NpZnMvaW5vZGUuYyBiL2ZzL2NpZnMvaW5vZGUuYwppbmRleCA3MjJiZTU0Li4yZTkwNGJkIDEwMDY0NAotLS0gYS9mcy9jaWZzL2lub2RlLmMKKysrIGIvZnMvY2lmcy9pbm9kZS5jCkBAIC0yMTksMTUgKzIxOSwxNSBAQAogCXJjID0gQ0lGU1NNQlVuaXhRUGF0aEluZm8oeGlkLCBwVGNvbiwgZnVsbF9wYXRoLCAmZmluZF9kYXRhLAogCQkJCSAgY2lmc19zYi0+bG9jYWxfbmxzLCBjaWZzX3NiLT5tbnRfY2lmc19mbGFncyAmCiAJCQkJCUNJRlNfTU9VTlRfTUFQX1NQRUNJQUxfQ0hSKTsKLQlpZiAocmMpIHsKLQkJaWYgKHJjID09IC1FUkVNT1RFICYmICFpc19kZnNfcmVmZXJyYWwpIHsKLQkJCWlzX2Rmc19yZWZlcnJhbCA9IHRydWU7Ci0JCQljRllJKERCRzIsICgiREZTIHJlZiIpKTsKLQkJCS8qIGZvciBERlMsIHNlcnZlciBkb2VzIG5vdCBnaXZlIHVzIHJlYWwgaW5vZGUgZGF0YSAqLwotCQkJZmlsbF9mYWtlX2ZpbmRkYXRhdW5peCgmZmluZF9kYXRhLCBzYik7Ci0JCQlyYyA9IDA7Ci0JCX0KLQl9CisJaWYgKHJjID09IC1FUkVNT1RFICYmICFpc19kZnNfcmVmZXJyYWwpIHsKKwkJaXNfZGZzX3JlZmVycmFsID0gdHJ1ZTsKKwkJY0ZZSShEQkcyLCAoIkRGUyByZWYiKSk7CisJCS8qIGZvciBERlMsIHNlcnZlciBkb2VzIG5vdCBnaXZlIHVzIHJlYWwgaW5vZGUgZGF0YSAqLworCQlmaWxsX2Zha2VfZmluZGRhdGF1bml4KCZmaW5kX2RhdGEsIHNiKTsKKwkJcmMgPSAwOworCX0gZWxzZSBpZiAocmMpCisJCWdvdG8gY2dpaXVfZXhpdDsKKwogCW51bV9vZl9ieXRlcyA9IGxlNjRfdG9fY3B1KGZpbmRfZGF0YS5OdW1PZkJ5dGVzKTsKIAllbmRfb2ZfZmlsZSA9IGxlNjRfdG9fY3B1KGZpbmRfZGF0YS5FbmRPZkZpbGUpOwogCkBAIC0yMzYsNyArMjM2LDcgQEAKIAkJKnBpbm9kZSA9IG5ld19pbm9kZShzYik7CiAJCWlmICgqcGlub2RlID09IE5VTEwpIHsKIAkJCXJjID0gLUVOT01FTTsKLQkJZ290byBjZ2lpdV9leGl0OworCQkJZ290byBjZ2lpdV9leGl0OwogCQl9CiAJCS8qIElzIGFuIGlfaW5vIG9mIHplcm8gbGVnYWw/ICovCiAJCS8qIG5vdGUgaW5vIGluY3JlbWVudGVkIHRvIHVuaXF1ZSBudW0gaW4gbmV3X2lub2RlICovCmRpZmYgLS1naXQgYS9mcy9kbG0vdXNlci5jIGIvZnMvZGxtL3VzZXIuYwppbmRleCBlYmJjZjM4Li5mOTc2ZjMwIDEwMDY0NAotLS0gYS9mcy9kbG0vdXNlci5jCisrKyBiL2ZzL2RsbS91c2VyLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2RsbS5oPgogI2luY2x1ZGUgPGxpbnV4L2RsbV9kZXZpY2UuaD4KIApAQCAtNjE4LDEzICs2MTksMTcgQEAKIAlzdHJ1Y3QgZGxtX3VzZXJfcHJvYyAqcHJvYzsKIAlzdHJ1Y3QgZGxtX2xzICpsczsKIAorCWxvY2tfa2VybmVsKCk7CiAJbHMgPSBkbG1fZmluZF9sb2Nrc3BhY2VfZGV2aWNlKGltaW5vcihpbm9kZSkpOwotCWlmICghbHMpCisJaWYgKCFscykgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PRU5UOworCX0KIAogCXByb2MgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZGxtX3VzZXJfcHJvYyksIEdGUF9LRVJORUwpOwogCWlmICghcHJvYykgewogCQlkbG1fcHV0X2xvY2tzcGFjZShscyk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCkBAIC02MzYsNiArNjQxLDcgQEAKIAlzcGluX2xvY2tfaW5pdCgmcHJvYy0+bG9ja3Nfc3Bpbik7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHJvYy0+d2FpdCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcHJvYzsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTg3MCw2ICs4NzYsNyBAQAogCiBzdGF0aWMgaW50IGN0bF9kZXZpY2Vfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IE5VTEw7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9mcy9lY3J5cHRmcy9maWxlLmMgYi9mcy9lY3J5cHRmcy9maWxlLmMKaW5kZXggMjI1OGI4Zi4uMjQ3NDliZiAxMDA2NDQKLS0tIGEvZnMvZWNyeXB0ZnMvZmlsZS5jCisrKyBiL2ZzL2VjcnlwdGZzL2ZpbGUuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvZnNfc3RhY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgImVjcnlwdGZzX2tlcm5lbC5oIgogCiAvKioKQEAgLTI3Nyw5ICsyNzgsMTEgQEAKIAlpbnQgcmMgPSAwOwogCXN0cnVjdCBmaWxlICpsb3dlcl9maWxlID0gTlVMTDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbG93ZXJfZmlsZSA9IGVjcnlwdGZzX2ZpbGVfdG9fbG93ZXIoZmlsZSk7CiAJaWYgKGxvd2VyX2ZpbGUtPmZfb3AgJiYgbG93ZXJfZmlsZS0+Zl9vcC0+ZmFzeW5jKQogCQlyYyA9IGxvd2VyX2ZpbGUtPmZfb3AtPmZhc3luYyhmZCwgbG93ZXJfZmlsZSwgZmxhZyk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZXhlYy5jIGIvZnMvZXhlYy5jCmluZGV4IGRhOTRhNmYuLmZkOTIzNDMgMTAwNjQ0Ci0tLSBhL2ZzL2V4ZWMuYworKysgYi9mcy9leGVjLmMKQEAgLTYxMCw3ICs2MTAsNyBAQAogCWJwcm0tPmV4ZWMgLT0gc3RhY2tfc2hpZnQ7CiAKIAlkb3duX3dyaXRlKCZtbS0+bW1hcF9zZW0pOwotCXZtX2ZsYWdzID0gdm1hLT52bV9mbGFnczsKKwl2bV9mbGFncyA9IFZNX1NUQUNLX0ZMQUdTOwogCiAJLyoKIAkgKiBBZGp1c3Qgc3RhY2sgZXhlY3V0ZSBwZXJtaXNzaW9uczsgZXhwbGljaXRseSBlbmFibGUgZm9yCmRpZmYgLS1naXQgYS9mcy9leHQ0L2JhbGxvYy5jIGIvZnMvZXh0NC9iYWxsb2MuYwppbmRleCA5Y2M4MGI5Li40OTVhYjIxIDEwMDY0NAotLS0gYS9mcy9leHQ0L2JhbGxvYy5jCisrKyBiL2ZzL2V4dDQvYmFsbG9jLmMKQEAgLTQ3LDcgKzQ3LDcgQEAKIAkJCWV4dDRfZ3JvdXBfdCBibG9ja19ncm91cCkKIHsKIAlleHQ0X2dyb3VwX3QgYWN0dWFsX2dyb3VwOwotCWV4dDRfZ2V0X2dyb3VwX25vX2FuZF9vZmZzZXQoc2IsIGJsb2NrLCAmYWN0dWFsX2dyb3VwLCAwKTsKKwlleHQ0X2dldF9ncm91cF9ub19hbmRfb2Zmc2V0KHNiLCBibG9jaywgJmFjdHVhbF9ncm91cCwgTlVMTCk7CiAJaWYgKGFjdHVhbF9ncm91cCA9PSBibG9ja19ncm91cCkKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CkBAIC0xMjEsMTIgKzEyMSw3IEBACiAJCQkJbGUxNl90b19jcHUoc2JpLT5zX2VzLT5zX3Jlc2VydmVkX2dkdF9ibG9ja3MpOwogCQl9CiAJfSBlbHNlIHsgLyogRm9yIE1FVEFfQkdfQkxPQ0tfR1JPVVBTICovCi0JCWludCBncm91cF9yZWwgPSAoYmxvY2tfZ3JvdXAgLQotCQkJCSBsZTMyX3RvX2NwdShzYmktPnNfZXMtPnNfZmlyc3RfbWV0YV9iZykpICUKLQkJCQlFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKTsKLQkJaWYgKGdyb3VwX3JlbCA9PSAwIHx8IGdyb3VwX3JlbCA9PSAxIHx8Ci0JCSAgICAoZ3JvdXBfcmVsID09IEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0gMSkpCi0JCQliaXRfbWF4ICs9IDE7CisJCWJpdF9tYXggKz0gZXh0NF9iZ19udW1fZ2RiKHNiLCBibG9ja19ncm91cCk7CiAJfQogCiAJaWYgKGJsb2NrX2dyb3VwID09IHNiaS0+c19ncm91cHNfY291bnQgLSAxKSB7CkBAIC0yOTUsNyArMjkwLDcgQEAKIAlyZXR1cm4gMDsKIH0KIC8qKgotICogcmVhZF9ibG9ja19iaXRtYXAoKQorICogZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcCgpCiAgKiBAc2I6CQkJc3VwZXIgYmxvY2sKICAqIEBibG9ja19ncm91cDoJZ2l2ZW4gYmxvY2sgZ3JvdXAKICAqCkBAIC0zMDUsNyArMzAwLDcgQEAKICAqIFJldHVybiBidWZmZXJfaGVhZCBvbiBzdWNjZXNzIG9yIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlLgogICovCiBzdHJ1Y3QgYnVmZmVyX2hlYWQgKgotcmVhZF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKQorZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApCiB7CiAJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqIGRlc2M7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICogYmggPSBOVUxMOwpAQCAtNDA5LDggKzQwNCw3IEBACiAJCXByZXYgPSByc3Y7CiAJfQogCXByaW50aygiV2luZG93IG1hcCBjb21wbGV0ZS5cbiIpOwotCWlmIChiYWQpCi0JCUJVRygpOworCUJVR19PTihiYWQpOwogfQogI2RlZmluZSByc3Zfd2luZG93X2R1bXAocm9vdCwgdmVyYm9zZSkgXAogCV9fcnN2X3dpbmRvd19kdW1wKChyb290KSwgKHZlcmJvc2UpLCBfX2Z1bmNfXykKQEAgLTY5NCw3ICs2ODgsNyBAQAogCQljb3VudCAtPSBvdmVyZmxvdzsKIAl9CiAJYnJlbHNlKGJpdG1hcF9iaCk7Ci0JYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGJsb2NrX2dyb3VwKTsKKwliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBibG9ja19ncm91cCk7CiAJaWYgKCFiaXRtYXBfYmgpCiAJCWdvdG8gZXJyb3JfcmV0dXJuOwogCWRlc2MgPSBleHQ0X2dldF9ncm91cF9kZXNjIChzYiwgYmxvY2tfZ3JvdXAsICZnZF9iaCk7CkBAIC04MTAsNiArODA0LDEzIEBACiAJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBibG9ja19ncm91cCkpOwogCXBlcmNwdV9jb3VudGVyX2FkZCgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgY291bnQpOwogCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgYmxvY2tfZ3JvdXApOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyArPSBjb3VudDsKKwkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJfQorCiAJLyogV2UgZGlydGllZCB0aGUgYml0bWFwIGJsb2NrICovCiAJQlVGRkVSX1RSQUNFKGJpdG1hcF9iaCwgImRpcnRpZWQgYml0bWFwIGJsb2NrIik7CiAJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYml0bWFwX2JoKTsKQEAgLTE1OTgsMjMgKzE1OTksMzUgQEAKIAogLyoqCiAgKiBleHQ0X2hhc19mcmVlX2Jsb2NrcygpCi0gKiBAc2JpOgkJaW4tY29yZSBzdXBlciBibG9jayBzdHJ1Y3R1cmUuCisgKiBAc2JpOglpbi1jb3JlIHN1cGVyIGJsb2NrIHN0cnVjdHVyZS4KKyAqIEBuYmxvY2tzOgludW1iZXIgb2YgbmVlZWQgYmxvY2tzCiAgKgotICogQ2hlY2sgaWYgZmlsZXN5c3RlbSBoYXMgYXQgbGVhc3QgMSBmcmVlIGJsb2NrIGF2YWlsYWJsZSBmb3IgYWxsb2NhdGlvbi4KKyAqIENoZWNrIGlmIGZpbGVzeXN0ZW0gaGFzIGZyZWUgYmxvY2tzIGF2YWlsYWJsZSBmb3IgYWxsb2NhdGlvbi4KKyAqIFJldHVybiB0aGUgbnVtYmVyIG9mIGJsb2NrcyBhdmFpYmxlIGZvciBhbGxvY2F0aW9uIGZvciB0aGlzIHJlcXVlc3QKKyAqIE9uIHN1Y2Nlc3MsIHJldHVybiBuYmxvY2tzCiAgKi8KLXN0YXRpYyBpbnQgZXh0NF9oYXNfZnJlZV9ibG9ja3Moc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpKQorZXh0NF9mc2Jsa190IGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwKKwkJCQkJCWV4dDRfZnNibGtfdCBuYmxvY2tzKQogewotCWV4dDRfZnNibGtfdCBmcmVlX2Jsb2Nrcywgcm9vdF9ibG9ja3M7CisJZXh0NF9mc2Jsa190IGZyZWVfYmxvY2tzOworCWV4dDRfZnNibGtfdCByb290X2Jsb2NrcyA9IDA7CiAKIAlmcmVlX2Jsb2NrcyA9IHBlcmNwdV9jb3VudGVyX3JlYWRfcG9zaXRpdmUoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIpOwotCXJvb3RfYmxvY2tzID0gZXh0NF9yX2Jsb2Nrc19jb3VudChzYmktPnNfZXMpOwotCWlmIChmcmVlX2Jsb2NrcyA8IHJvb3RfYmxvY2tzICsgMSAmJiAhY2FwYWJsZShDQVBfU1lTX1JFU09VUkNFKSAmJgorCisJaWYgKCFjYXBhYmxlKENBUF9TWVNfUkVTT1VSQ0UpICYmCiAJCXNiaS0+c19yZXN1aWQgIT0gY3VycmVudC0+ZnN1aWQgJiYKLQkJKHNiaS0+c19yZXNnaWQgPT0gMCB8fCAhaW5fZ3JvdXBfcCAoc2JpLT5zX3Jlc2dpZCkpKSB7Ci0JCXJldHVybiAwOwotCX0KLQlyZXR1cm4gMTsKLX0KKwkJKHNiaS0+c19yZXNnaWQgPT0gMCB8fCAhaW5fZ3JvdXBfcChzYmktPnNfcmVzZ2lkKSkpCisJCXJvb3RfYmxvY2tzID0gZXh0NF9yX2Jsb2Nrc19jb3VudChzYmktPnNfZXMpOworI2lmZGVmIENPTkZJR19TTVAKKwlpZiAoZnJlZV9ibG9ja3MgLSByb290X2Jsb2NrcyA8IEZCQ19CQVRDSCkKKwkJZnJlZV9ibG9ja3MgPQorCQkJcGVyY3B1X2NvdW50ZXJfc3VtX2FuZF9zZXQoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIpOworI2VuZGlmCisJaWYgKGZyZWVfYmxvY2tzIC0gcm9vdF9ibG9ja3MgPCBuYmxvY2tzKQorCQlyZXR1cm4gZnJlZV9ibG9ja3MgLSByb290X2Jsb2NrczsKKwlyZXR1cm4gbmJsb2NrczsKKyB9CisKIAogLyoqCiAgKiBleHQ0X3Nob3VsZF9yZXRyeV9hbGxvYygpCkBAIC0xNjMwLDcgKzE2NDMsNyBAQAogICovCiBpbnQgZXh0NF9zaG91bGRfcmV0cnlfYWxsb2Moc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgaW50ICpyZXRyaWVzKQogewotCWlmICghZXh0NF9oYXNfZnJlZV9ibG9ja3MoRVhUNF9TQihzYikpIHx8ICgqcmV0cmllcykrKyA+IDMpCisJaWYgKCFleHQ0X2hhc19mcmVlX2Jsb2NrcyhFWFQ0X1NCKHNiKSwgMSkgfHwgKCpyZXRyaWVzKSsrID4gMykKIAkJcmV0dXJuIDA7CiAKIAlqYmRfZGVidWcoMSwgIiVzOiByZXRyeWluZyBvcGVyYXRpb24gYWZ0ZXIgRU5PU1BDXG4iLCBzYi0+c19pZCk7CkBAIC0xNjM5LDIwICsxNjUyLDI0IEBACiB9CiAKIC8qKgotICogZXh0NF9uZXdfYmxvY2tzX29sZCgpIC0tIGNvcmUgYmxvY2socykgYWxsb2NhdGlvbiBmdW5jdGlvbgorICogZXh0NF9vbGRfbmV3X2Jsb2NrcygpIC0tIGNvcmUgYmxvY2sgYml0bWFwIGJhc2VkIGJsb2NrIGFsbG9jYXRpb24gZnVuY3Rpb24KKyAqCiAgKiBAaGFuZGxlOgkJaGFuZGxlIHRvIHRoaXMgdHJhbnNhY3Rpb24KICAqIEBpbm9kZToJCWZpbGUgaW5vZGUKICAqIEBnb2FsOgkJZ2l2ZW4gdGFyZ2V0IGJsb2NrKGZpbGVzeXN0ZW0gd2lkZSkKICAqIEBjb3VudDoJCXRhcmdldCBudW1iZXIgb2YgYmxvY2tzIHRvIGFsbG9jYXRlCiAgKiBAZXJycDoJCWVycm9yIGNvZGUKICAqCi0gKiBleHQ0X25ld19ibG9ja3MgdXNlcyBhIGdvYWwgYmxvY2sgdG8gYXNzaXN0IGFsbG9jYXRpb24uICBJdCB0cmllcyB0bwotICogYWxsb2NhdGUgYmxvY2socykgZnJvbSB0aGUgYmxvY2sgZ3JvdXAgY29udGFpbnMgdGhlIGdvYWwgYmxvY2sgZmlyc3QuIElmIHRoYXQKLSAqIGZhaWxzLCBpdCB3aWxsIHRyeSB0byBhbGxvY2F0ZSBibG9jayhzKSBmcm9tIG90aGVyIGJsb2NrIGdyb3VwcyB3aXRob3V0Ci0gKiBhbnkgc3BlY2lmaWMgZ29hbCBibG9jay4KKyAqIGV4dDRfb2xkX25ld19ibG9ja3MgdXNlcyBhIGdvYWwgYmxvY2sgdG8gYXNzaXN0IGFsbG9jYXRpb24gYW5kIGxvb2sgdXAKKyAqIHRoZSBibG9jayBiaXRtYXAgZGlyZWN0bHkgdG8gZG8gYmxvY2sgYWxsb2NhdGlvbi4gIEl0IHRyaWVzIHRvCisgKiBhbGxvY2F0ZSBibG9jayhzKSBmcm9tIHRoZSBibG9jayBncm91cCBjb250YWlucyB0aGUgZ29hbCBibG9jayBmaXJzdC4gSWYKKyAqIHRoYXQgZmFpbHMsIGl0IHdpbGwgdHJ5IHRvIGFsbG9jYXRlIGJsb2NrKHMpIGZyb20gb3RoZXIgYmxvY2sgZ3JvdXBzCisgKiB3aXRob3V0IGFueSBzcGVjaWZpYyBnb2FsIGJsb2NrLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gLW8gbm9tYmFsbG9jIG1vdW50IG9wdGlvbiBpcyBlbmFibGVkCiAgKgogICovCi1leHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0NF9mc2Jsa190IGV4dDRfb2xkX25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBnb2FsLCB1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKQogewogCXN0cnVjdCBidWZmZXJfaGVhZCAqYml0bWFwX2JoID0gTlVMTDsKQEAgLTE2NzYsMTMgKzE2OTMsMjYgQEAKIAlleHQ0X2dyb3VwX3Qgbmdyb3VwczsKIAl1bnNpZ25lZCBsb25nIG51bSA9ICpjb3VudDsKIAotCSplcnJwID0gLUVOT1NQQzsKIAlzYiA9IGlub2RlLT5pX3NiOwogCWlmICghc2IpIHsKKwkJKmVycnAgPSAtRU5PREVWOwogCQlwcmludGsoImV4dDRfbmV3X2Jsb2NrOiBub25leGlzdGVudCBkZXZpY2UiKTsKIAkJcmV0dXJuIDA7CiAJfQogCisJc2JpID0gRVhUNF9TQihzYik7CisJaWYgKCFFWFQ0X0koaW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcpIHsKKwkJLyoKKwkJICogV2l0aCBkZWxhbGxvYyB3ZSBhbHJlYWR5IHJlc2VydmVkIHRoZSBibG9ja3MKKwkJICovCisJCSpjb3VudCA9IGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHNiaSwgKmNvdW50KTsKKwl9CisJaWYgKCpjb3VudCA9PSAwKSB7CisJCSplcnJwID0gLUVOT1NQQzsKKwkJcmV0dXJuIDA7CS8qcmV0dXJuIHdpdGggRU5PU1BDIGVycm9yICovCisJfQorCW51bSA9ICpjb3VudDsKKwogCS8qCiAJICogQ2hlY2sgcXVvdGEgZm9yIGFsbG9jYXRpb24gb2YgdGhpcyBibG9jay4KIAkgKi8KQEAgLTE3MDYsMTEgKzE3MzYsNiBAQAogCWlmIChibG9ja19pICYmICgod2luZG93c3ogPSBibG9ja19pLT5yc3Zfd2luZG93X25vZGUucnN2X2dvYWxfc2l6ZSkgPiAwKSkKIAkJbXlfcnN2ID0gJmJsb2NrX2ktPnJzdl93aW5kb3dfbm9kZTsKIAotCWlmICghZXh0NF9oYXNfZnJlZV9ibG9ja3Moc2JpKSkgewotCQkqZXJycCA9IC1FTk9TUEM7Ci0JCWdvdG8gb3V0OwotCX0KLQogCS8qCiAJICogRmlyc3QsIHRlc3Qgd2hldGhlciB0aGUgZ29hbCBibG9jayBpcyBmcmVlLgogCSAqLwpAQCAtMTczNCw3ICsxNzU5LDcgQEAKIAkJbXlfcnN2ID0gTlVMTDsKIAogCWlmIChmcmVlX2Jsb2NrcyA+IDApIHsKLQkJYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwX25vKTsKKwkJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXBfbm8pOwogCQlpZiAoIWJpdG1hcF9iaCkKIAkJCWdvdG8gaW9fZXJyb3I7CiAJCWdycF9hbGxvY19ibGsgPSBleHQ0X3RyeV90b19hbGxvY2F0ZV93aXRoX3JzdihzYiwgaGFuZGxlLApAQCAtMTc3MCw3ICsxNzk1LDcgQEAKIAkJCWNvbnRpbnVlOwogCiAJCWJyZWxzZShiaXRtYXBfYmgpOwotCQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXBfbm8pOworCQliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cF9ubyk7CiAJCWlmICghYml0bWFwX2JoKQogCQkJZ290byBpb19lcnJvcjsKIAkJLyoKQEAgLTE4ODIsNyArMTkwNywxNSBAQAogCWxlMTZfYWRkX2NwdSgmZ2RwLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCwgLW51bSk7CiAJZ2RwLT5iZ19jaGVja3N1bSA9IGV4dDRfZ3JvdXBfZGVzY19jc3VtKHNiaSwgZ3JvdXBfbm8sIGdkcCk7CiAJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBncm91cF9ubykpOwotCXBlcmNwdV9jb3VudGVyX3N1Yigmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgbnVtKTsKKwlpZiAoIUVYVDRfSShpbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZykKKwkJcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCBudW0pOworCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgZ3JvdXBfbm8pOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyAtPSBudW07CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KIAogCUJVRkZFUl9UUkFDRShnZHBfYmgsICJqb3VybmFsX2RpcnR5X21ldGFkYXRhIGZvciBncm91cCBkZXNjcmlwdG9yIik7CiAJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgZ2RwX2JoKTsKQEAgLTE5MTUsNDYgKzE5NDgsMTA0IEBACiAJcmV0dXJuIDA7CiB9CiAKLWV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9jayhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQlleHQ0X2ZzYmxrX3QgZ29hbCwgaW50ICplcnJwKQorI2RlZmluZSBFWFQ0X01FVEFfQkxPQ0sgMHgxCisKK3N0YXRpYyBleHQ0X2ZzYmxrX3QgZG9fYmxrX2FsbG9jKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJZXh0NF9sYmxrX3QgaWJsb2NrLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQl1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwLCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGV4dDRfYWxsb2NhdGlvbl9yZXF1ZXN0IGFyOwogCWV4dDRfZnNibGtfdCByZXQ7CiAKIAlpZiAoIXRlc3Rfb3B0KGlub2RlLT5pX3NiLCBNQkFMTE9DKSkgewotCQl1bnNpZ25lZCBsb25nIGNvdW50ID0gMTsKLQkJcmV0ID0gZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGUsIGlub2RlLCBnb2FsLCAmY291bnQsIGVycnApOwotCQlyZXR1cm4gcmV0OworCQlyZXR1cm4gZXh0NF9vbGRfbmV3X2Jsb2NrcyhoYW5kbGUsIGlub2RlLCBnb2FsLCBjb3VudCwgZXJycCk7CiAJfQogCiAJbWVtc2V0KCZhciwgMCwgc2l6ZW9mKGFyKSk7Ci0JYXIuaW5vZGUgPSBpbm9kZTsKLQlhci5nb2FsID0gZ29hbDsKLQlhci5sZW4gPSAxOwotCXJldCA9IGV4dDRfbWJfbmV3X2Jsb2NrcyhoYW5kbGUsICZhciwgZXJycCk7Ci0JcmV0dXJuIHJldDsKLX0KKwkvKiBGaWxsIHdpdGggbmVpZ2hib3VyIGFsbG9jYXRlZCBibG9ja3MgKi8KIAotZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQlleHQ0X2ZzYmxrX3QgZ29hbCwgdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCkKLXsKLQlzdHJ1Y3QgZXh0NF9hbGxvY2F0aW9uX3JlcXVlc3QgYXI7Ci0JZXh0NF9mc2Jsa190IHJldDsKLQotCWlmICghdGVzdF9vcHQoaW5vZGUtPmlfc2IsIE1CQUxMT0MpKSB7Ci0JCXJldCA9IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlLCBpbm9kZSwgZ29hbCwgY291bnQsIGVycnApOwotCQlyZXR1cm4gcmV0OwotCX0KLQotCW1lbXNldCgmYXIsIDAsIHNpemVvZihhcikpOwogCWFyLmlub2RlID0gaW5vZGU7CiAJYXIuZ29hbCA9IGdvYWw7CiAJYXIubGVuID0gKmNvdW50OworCWFyLmxvZ2ljYWwgPSBpYmxvY2s7CisKKwlpZiAoU19JU1JFRyhpbm9kZS0+aV9tb2RlKSAmJiAhKGZsYWdzICYgRVhUNF9NRVRBX0JMT0NLKSkKKwkJLyogZW5hYmxlIGluLWNvcmUgcHJlYWxsb2NhdGlvbiBmb3IgZGF0YSBibG9jayBhbGxvY2F0aW9uICovCisJCWFyLmZsYWdzID0gRVhUNF9NQl9ISU5UX0RBVEE7CisJZWxzZQorCQkvKiBkaXNhYmxlIGluLWNvcmUgcHJlYWxsb2NhdGlvbiBmb3Igbm9uLXJlZ3VsYXIgZmlsZXMgKi8KKwkJYXIuZmxhZ3MgPSAwOworCiAJcmV0ID0gZXh0NF9tYl9uZXdfYmxvY2tzKGhhbmRsZSwgJmFyLCBlcnJwKTsKIAkqY291bnQgPSBhci5sZW47CiAJcmV0dXJuIHJldDsKIH0KIAorLyoKKyAqIGV4dDRfbmV3X21ldGFfYmxvY2tzKCkgLS0gYWxsb2NhdGUgYmxvY2sgZm9yIG1ldGEgZGF0YSAoaW5kZXhpbmcpIGJsb2NrcworICoKKyAqIEBoYW5kbGU6ICAgICAgICAgICAgIGhhbmRsZSB0byB0aGlzIHRyYW5zYWN0aW9uCisgKiBAaW5vZGU6ICAgICAgICAgICAgICBmaWxlIGlub2RlCisgKiBAZ29hbDogICAgICAgICAgICAgICBnaXZlbiB0YXJnZXQgYmxvY2soZmlsZXN5c3RlbSB3aWRlKQorICogQGNvdW50OgkJdG90YWwgbnVtYmVyIG9mIGJsb2NrcyBuZWVkCisgKiBAZXJycDogICAgICAgICAgICAgICBlcnJvciBjb2RlCisgKgorICogUmV0dXJuIDFzdCBhbGxvY2F0ZWQgYmxvY2sgbnVtYmVyb24gc3VjY2VzcywgKmNvdW50IHN0b3JlcyB0b3RhbCBhY2NvdW50CisgKiBlcnJvciBzdG9yZXMgaW4gZXJycCBwb2ludGVyCisgKi8KK2V4dDRfZnNibGtfdCBleHQ0X25ld19tZXRhX2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQlleHQ0X2ZzYmxrX3QgZ29hbCwgdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCkKK3sKKwlleHQ0X2ZzYmxrX3QgcmV0OworCXJldCA9IGRvX2Jsa19hbGxvYyhoYW5kbGUsIGlub2RlLCAwLCBnb2FsLAorCQkJCWNvdW50LCBlcnJwLCBFWFQ0X01FVEFfQkxPQ0spOworCS8qCisJICogQWNjb3VudCBmb3IgdGhlIGFsbG9jYXRlZCBtZXRhIGJsb2NrcworCSAqLworCWlmICghKCplcnJwKSkgeworCQlzcGluX2xvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJCUVYVDRfSShpbm9kZSktPmlfYWxsb2NhdGVkX21ldGFfYmxvY2tzICs9ICpjb3VudDsKKwkJc3Bpbl91bmxvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJfQorCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBleHQ0X25ld19tZXRhX2Jsb2NrKCkgLS0gYWxsb2NhdGUgYmxvY2sgZm9yIG1ldGEgZGF0YSAoaW5kZXhpbmcpIGJsb2NrcworICoKKyAqIEBoYW5kbGU6ICAgICAgICAgICAgIGhhbmRsZSB0byB0aGlzIHRyYW5zYWN0aW9uCisgKiBAaW5vZGU6ICAgICAgICAgICAgICBmaWxlIGlub2RlCisgKiBAZ29hbDogICAgICAgICAgICAgICBnaXZlbiB0YXJnZXQgYmxvY2soZmlsZXN5c3RlbSB3aWRlKQorICogQGVycnA6ICAgICAgICAgICAgICAgZXJyb3IgY29kZQorICoKKyAqIFJldHVybiBhbGxvY2F0ZWQgYmxvY2sgbnVtYmVyIG9uIHN1Y2Nlc3MKKyAqLworZXh0NF9mc2Jsa190IGV4dDRfbmV3X21ldGFfYmxvY2soaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJZXh0NF9mc2Jsa190IGdvYWwsIGludCAqZXJycCkKK3sKKwl1bnNpZ25lZCBsb25nIGNvdW50ID0gMTsKKwlyZXR1cm4gZXh0NF9uZXdfbWV0YV9ibG9ja3MoaGFuZGxlLCBpbm9kZSwgZ29hbCwgJmNvdW50LCBlcnJwKTsKK30KKworLyoKKyAqIGV4dDRfbmV3X2Jsb2NrcygpIC0tIGFsbG9jYXRlIGRhdGEgYmxvY2tzCisgKgorICogQGhhbmRsZTogICAgICAgICAgICAgaGFuZGxlIHRvIHRoaXMgdHJhbnNhY3Rpb24KKyAqIEBpbm9kZTogICAgICAgICAgICAgIGZpbGUgaW5vZGUKKyAqIEBnb2FsOiAgICAgICAgICAgICAgIGdpdmVuIHRhcmdldCBibG9jayhmaWxlc3lzdGVtIHdpZGUpCisgKiBAY291bnQ6CQl0b3RhbCBudW1iZXIgb2YgYmxvY2tzIG5lZWQKKyAqIEBlcnJwOiAgICAgICAgICAgICAgIGVycm9yIGNvZGUKKyAqCisgKiBSZXR1cm4gMXN0IGFsbG9jYXRlZCBibG9jayBudW1iZXJvbiBzdWNjZXNzLCAqY291bnQgc3RvcmVzIHRvdGFsIGFjY291bnQKKyAqIGVycm9yIHN0b3JlcyBpbiBlcnJwIHBvaW50ZXIKKyAqLworCitleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJZXh0NF9sYmxrX3QgaWJsb2NrLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQl1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKQoreworCXJldHVybiBkb19ibGtfYWxsb2MoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBnb2FsLCBjb3VudCwgZXJycCwgMCk7Cit9CiAKIC8qKgogICogZXh0NF9jb3VudF9mcmVlX2Jsb2NrcygpIC0tIGNvdW50IGZpbGVzeXN0ZW0gZnJlZSBibG9ja3MKQEAgLTE5ODYsNyArMjA3Nyw3IEBACiAJCQljb250aW51ZTsKIAkJZGVzY19jb3VudCArPSBsZTE2X3RvX2NwdShnZHAtPmJnX2ZyZWVfYmxvY2tzX2NvdW50KTsKIAkJYnJlbHNlKGJpdG1hcF9iaCk7Ci0JCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBpKTsKKwkJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgaSk7CiAJCWlmIChiaXRtYXBfYmggPT0gTlVMTCkKIAkJCWNvbnRpbnVlOwogCmRpZmYgLS1naXQgYS9mcy9leHQ0L2Rpci5jIGIvZnMvZXh0NC9kaXIuYwppbmRleCAyYmYwMzMxLi5kM2QyM2Q3IDEwMDY0NAotLS0gYS9mcy9leHQ0L2Rpci5jCisrKyBiL2ZzL2V4dDQvZGlyLmMKQEAgLTEyOSw3ICsxMjksOCBAQAogCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoID0gTlVMTDsKIAogCQltYXBfYmguYl9zdGF0ZSA9IDA7Ci0JCWVyciA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKE5VTEwsIGlub2RlLCBibGssIDEsICZtYXBfYmgsIDAsIDApOworCQllcnIgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChOVUxMLCBpbm9kZSwgYmxrLCAxLCAmbWFwX2JoLAorCQkJCQkJMCwgMCwgMCk7CiAJCWlmIChlcnIgPiAwKSB7CiAJCQlwZ29mZl90IGluZGV4ID0gbWFwX2JoLmJfYmxvY2tuciA+PgogCQkJCQkoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOwpAQCAtMjcyLDcgKzI3Myw3IEBACiAKIAl3aGlsZSAobikgewogCQkvKiBEbyB0aGUgbm9kZSdzIGNoaWxkcmVuIGZpcnN0ICovCi0JCWlmICgobiktPnJiX2xlZnQpIHsKKwkJaWYgKG4tPnJiX2xlZnQpIHsKIAkJCW4gPSBuLT5yYl9sZWZ0OwogCQkJY29udGludWU7CiAJCX0KQEAgLTMwMSwyNCArMzAyLDE4IEBACiAJCQlwYXJlbnQtPnJiX3JpZ2h0ID0gTlVMTDsKIAkJbiA9IHBhcmVudDsKIAl9Ci0Jcm9vdC0+cmJfbm9kZSA9IE5VTEw7CiB9CiAKIAotc3RhdGljIHN0cnVjdCBkaXJfcHJpdmF0ZV9pbmZvICpjcmVhdGVfZGlyX2luZm8obG9mZl90IHBvcykKK3N0YXRpYyBzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyAqZXh0NF9odHJlZV9jcmVhdGVfZGlyX2luZm8obG9mZl90IHBvcykKIHsKIAlzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyAqcDsKIAotCXAgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyksIEdGUF9LRVJORUwpOworCXAgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyksIEdGUF9LRVJORUwpOwogCWlmICghcCkKIAkJcmV0dXJuIE5VTEw7Ci0JcC0+cm9vdC5yYl9ub2RlID0gTlVMTDsKLQlwLT5jdXJyX25vZGUgPSBOVUxMOwotCXAtPmV4dHJhX2ZuYW1lID0gTlVMTDsKLQlwLT5sYXN0X3BvcyA9IDA7CiAJcC0+Y3Vycl9oYXNoID0gcG9zMm1hal9oYXNoKHBvcyk7CiAJcC0+Y3Vycl9taW5vcl9oYXNoID0gcG9zMm1pbl9oYXNoKHBvcyk7Ci0JcC0+bmV4dF9oYXNoID0gMDsKIAlyZXR1cm4gcDsKIH0KIApAQCAtNDMzLDcgKzQyOCw3IEBACiAJaW50CXJldDsKIAogCWlmICghaW5mbykgewotCQlpbmZvID0gY3JlYXRlX2Rpcl9pbmZvKGZpbHAtPmZfcG9zKTsKKwkJaW5mbyA9IGV4dDRfaHRyZWVfY3JlYXRlX2Rpcl9pbmZvKGZpbHAtPmZfcG9zKTsKIAkJaWYgKCFpbmZvKQogCQkJcmV0dXJuIC1FTk9NRU07CiAJCWZpbHAtPnByaXZhdGVfZGF0YSA9IGluZm87CmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDQuaCBiL2ZzL2V4dDQvZXh0NC5oCmluZGV4IDgxNTgwODMuLjMwM2U0MWMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NC5oCisrKyBiL2ZzL2V4dDQvZXh0NC5oCkBAIC0yMiw3ICsyMiw3IEBACiAjaW5jbHVkZSAiZXh0NF9pLmgiCiAKIC8qCi0gKiBUaGUgc2Vjb25kIGV4dGVuZGVkIGZpbGVzeXN0ZW0gY29uc3RhbnRzL3N0cnVjdHVyZXMKKyAqIFRoZSBmb3VydGggZXh0ZW5kZWQgZmlsZXN5c3RlbSBjb25zdGFudHMvc3RydWN0dXJlcwogICovCiAKIC8qCkBAIC00NSw3ICs0NSw3IEBACiAjZGVmaW5lIGV4dDRfZGVidWcoZiwgYS4uLikJCQkJCQlcCiAJZG8gewkJCQkJCQkJXAogCQlwcmludGsgKEtFUk5fREVCVUcgIkVYVDQtZnMgREVCVUcgKCVzLCAlZCk6ICVzOiIsCVwKLQkJCV9fRklMRV9fLCBfX0xJTkVfXywgX19GVU5DVElPTl9fKTsJCVwKKwkJCV9fRklMRV9fLCBfX0xJTkVfXywgX19mdW5jX18pOwkJCVwKIAkJcHJpbnRrIChLRVJOX0RFQlVHIGYsICMjIGEpOwkJCQlcCiAJfSB3aGlsZSAoMCkKICNlbHNlCkBAIC03NCw2ICs3NCw5IEBACiAjZGVmaW5lIEVYVDRfTUJfSElOVF9HT0FMX09OTFkJCTI1NgogLyogZ29hbCBpcyBtZWFuaW5nZnVsICovCiAjZGVmaW5lIEVYVDRfTUJfSElOVF9UUllfR09BTAkJNTEyCisvKiBibG9ja3MgYWxyZWFkeSBwcmUtcmVzZXJ2ZWQgYnkgZGVsYXllZCBhbGxvY2F0aW9uICovCisjZGVmaW5lIEVYVDRfTUJfREVMQUxMT0NfUkVTRVJWRUQgICAgICAxMDI0CisKIAogc3RydWN0IGV4dDRfYWxsb2NhdGlvbl9yZXF1ZXN0IHsKIAkvKiB0YXJnZXQgaW5vZGUgZm9yIGJsb2NrIHdlJ3JlIGFsbG9jYXRpbmcgKi8KQEAgLTE3MCw2ICsxNzMsMTUgQEAKIAlfX3UzMgliZ19yZXNlcnZlZDJbM107CiB9OwogCisvKgorICogU3RydWN0dXJlIG9mIGEgZmxleCBibG9jayBncm91cCBpbmZvCisgKi8KKworc3RydWN0IGZsZXhfZ3JvdXBzIHsKKwlfX3UzMiBmcmVlX2lub2RlczsKKwlfX3UzMiBmcmVlX2Jsb2NrczsKK307CisKICNkZWZpbmUgRVhUNF9CR19JTk9ERV9VTklOSVQJMHgwMDAxIC8qIElub2RlIHRhYmxlL2JpdG1hcCBub3QgaW4gdXNlICovCiAjZGVmaW5lIEVYVDRfQkdfQkxPQ0tfVU5JTklUCTB4MDAwMiAvKiBCbG9jayBiaXRtYXAgbm90IGluIHVzZSAqLwogI2RlZmluZSBFWFQ0X0JHX0lOT0RFX1pFUk9FRAkweDAwMDQgLyogT24tZGlzayBpdGFibGUgaW5pdGlhbGl6ZWQgdG8gemVybyAqLwpAQCAtNTI3LDYgKzUzOSw3IEBACiAjZGVmaW5lIEVYVDRfTU9VTlRfSk9VUk5BTF9BU1lOQ19DT01NSVQJMHgxMDAwMDAwIC8qIEpvdXJuYWwgQXN5bmMgQ29tbWl0ICovCiAjZGVmaW5lIEVYVDRfTU9VTlRfSV9WRVJTSU9OICAgICAgICAgICAgMHgyMDAwMDAwIC8qIGlfdmVyc2lvbiBzdXBwb3J0ICovCiAjZGVmaW5lIEVYVDRfTU9VTlRfTUJBTExPQwkJMHg0MDAwMDAwIC8qIEJ1ZGR5IGFsbG9jYXRpb24gc3VwcG9ydCAqLworI2RlZmluZSBFWFQ0X01PVU5UX0RFTEFMTE9DCQkweDgwMDAwMDAgLyogRGVsYWxsb2Mgc3VwcG9ydCAqLwogLyogQ29tcGF0aWJpbGl0eSwgZm9yIGhhdmluZyBib3RoIGV4dDJfZnMuaCBhbmQgZXh0NF9mcy5oIGluY2x1ZGVkIGF0IG9uY2UgKi8KICNpZm5kZWYgX0xJTlVYX0VYVDJfRlNfSAogI2RlZmluZSBjbGVhcl9vcHQobywgb3B0KQkJbyAmPSB+RVhUNF9NT1VOVF8jI29wdApAQCAtNjQ3LDcgKzY2MCwxMCBAQAogCV9fbGUxNiAgc19tbXBfaW50ZXJ2YWw7ICAgICAgICAgLyogIyBzZWNvbmRzIHRvIHdhaXQgaW4gTU1QIGNoZWNraW5nICovCiAJX19sZTY0ICBzX21tcF9ibG9jazsgICAgICAgICAgICAvKiBCbG9jayBmb3IgbXVsdGktbW91bnQgcHJvdGVjdGlvbiAqLwogCV9fbGUzMiAgc19yYWlkX3N0cmlwZV93aWR0aDsgICAgLyogYmxvY2tzIG9uIGFsbCBkYXRhIGRpc2tzIChOKnN0cmlkZSkqLwotCV9fdTMyICAgc19yZXNlcnZlZFsxNjNdOyAgICAgICAgLyogUGFkZGluZyB0byB0aGUgZW5kIG9mIHRoZSBibG9jayAqLworCV9fdTgJc19sb2dfZ3JvdXBzX3Blcl9mbGV4OyAgLyogRkxFWF9CRyBncm91cCBzaXplICovCisJX191OAlzX3Jlc2VydmVkX2NoYXJfcGFkMjsKKwlfX2xlMTYgIHNfcmVzZXJ2ZWRfcGFkOworCV9fdTMyICAgc19yZXNlcnZlZFsxNjJdOyAgICAgICAgLyogUGFkZGluZyB0byB0aGUgZW5kIG9mIHRoZSBibG9jayAqLwogfTsKIAogI2lmZGVmIF9fS0VSTkVMX18KQEAgLTk1OCwxMiArOTc0LDE3IEBACiBleHRlcm4gaW50IGV4dDRfYmdfaGFzX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGV4dDRfZ3JvdXBfdCBncm91cCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBleHQ0X2JnX251bV9nZGIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCWV4dDRfZ3JvdXBfdCBncm91cCk7Ci1leHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrIChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19tZXRhX2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlleHQ0X2ZzYmxrX3QgZ29hbCwgaW50ICplcnJwKTsKLWV4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzIChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19tZXRhX2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApOwotZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3Nfb2xkKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCitleHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCQlleHQ0X2xibGtfdCBpYmxvY2ssIGV4dDRfZnNibGtfdCBnb2FsLAorCQkJCQl1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKTsKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9vbGRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApOworZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksCisJCQkJCQlleHQ0X2ZzYmxrX3QgbmJsb2Nrcyk7CiBleHRlcm4gdm9pZCBleHQ0X2ZyZWVfYmxvY2tzIChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGJsb2NrLCB1bnNpZ25lZCBsb25nIGNvdW50LCBpbnQgbWV0YWRhdGEpOwogZXh0ZXJuIHZvaWQgZXh0NF9mcmVlX2Jsb2Nrc19zYiAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKQEAgLTEwMTYsOSArMTAzNywxNCBAQAogZXh0ZXJuIHZvaWQgZXhpdF9leHQ0X21iYWxsb2Modm9pZCk7CiBleHRlcm4gdm9pZCBleHQ0X21iX2ZyZWVfYmxvY2tzKGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqLAogCQl1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCBpbnQsIHVuc2lnbmVkIGxvbmcgKik7CitleHRlcm4gaW50IGV4dDRfbWJfYWRkX21vcmVfZ3JvdXBpbmZvKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCisJCWV4dDRfZ3JvdXBfdCBpLCBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjKTsKK2V4dGVybiB2b2lkIGV4dDRfbWJfdXBkYXRlX2dyb3VwX2luZm8oc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqZ3JwLAorCQlleHQ0X2dycGJsa190IGFkZCk7CiAKIAogLyogaW5vZGUuYyAqLwordm9pZCBleHQ0X2RhX3JlbGVhc2Vfc3BhY2Uoc3RydWN0IGlub2RlICppbm9kZSwgaW50IHVzZWQsIGludCB0b19mcmVlKTsKIGludCBleHQ0X2ZvcmdldChoYW5kbGVfdCAqaGFuZGxlLCBpbnQgaXNfbWV0YWRhdGEsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmgsIGV4dDRfZnNibGtfdCBibG9ja25yKTsKIHN0cnVjdCBidWZmZXJfaGVhZCAqZXh0NF9nZXRibGsoaGFuZGxlX3QgKiwgc3RydWN0IGlub2RlICosCkBAIC0xMDMzLDE5ICsxMDU5LDIzIEBACiBleHRlcm4gc3RydWN0IGlub2RlICpleHQ0X2lnZXQoc3RydWN0IHN1cGVyX2Jsb2NrICosIHVuc2lnbmVkIGxvbmcpOwogZXh0ZXJuIGludCAgZXh0NF93cml0ZV9pbm9kZSAoc3RydWN0IGlub2RlICosIGludCk7CiBleHRlcm4gaW50ICBleHQ0X3NldGF0dHIgKHN0cnVjdCBkZW50cnkgKiwgc3RydWN0IGlhdHRyICopOworZXh0ZXJuIGludCAgZXh0NF9nZXRhdHRyKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkJc3RydWN0IGtzdGF0ICpzdGF0KTsKIGV4dGVybiB2b2lkIGV4dDRfZGVsZXRlX2lub2RlIChzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gaW50ICBleHQ0X3N5bmNfaW5vZGUgKGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZGlzY2FyZF9yZXNlcnZhdGlvbiAoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIHZvaWQgZXh0NF9kaXJ0eV9pbm9kZShzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gaW50IGV4dDRfY2hhbmdlX2lub2RlX2pvdXJuYWxfZmxhZyhzdHJ1Y3QgaW5vZGUgKiwgaW50KTsKIGV4dGVybiBpbnQgZXh0NF9nZXRfaW5vZGVfbG9jKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZXh0NF9pbG9jICopOworZXh0ZXJuIGludCBleHQ0X2Nhbl90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIGV4dGVybiB2b2lkIGV4dDRfdHJ1bmNhdGUgKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfc2V0X2lub2RlX2ZsYWdzKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZ2V0X2lub2RlX2ZsYWdzKHN0cnVjdCBleHQ0X2lub2RlX2luZm8gKik7CiBleHRlcm4gdm9pZCBleHQ0X3NldF9hb3BzKHN0cnVjdCBpbm9kZSAqaW5vZGUpOwogZXh0ZXJuIGludCBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3Moc3RydWN0IGlub2RlICopOwotZXh0ZXJuIGludCBleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IHBhZ2UgKnBhZ2UsCitleHRlcm4gaW50IGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGVfdCAqaGFuZGxlLAogCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IGZyb20pOworZXh0ZXJuIGludCBleHQ0X3BhZ2VfbWt3cml0ZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgc3RydWN0IHBhZ2UgKnBhZ2UpOwogCiAvKiBpb2N0bC5jICovCiBleHRlcm4gbG9uZyBleHQ0X2lvY3RsKHN0cnVjdCBmaWxlICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7CkBAIC0xMTU5LDEwICsxMTg5LDIxIEBACiB9CiAKIAorc3RhdGljIGlubGluZSBleHQ0X2dyb3VwX3QgZXh0NF9mbGV4X2dyb3VwKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwKKwkJCQkJICAgICBleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApCit7CisJcmV0dXJuIGJsb2NrX2dyb3VwID4+IHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBleHQ0X2ZsZXhfYmdfc2l6ZShzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkpCit7CisJcmV0dXJuIDEgPDwgc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXg7Cit9CisKICNkZWZpbmUgZXh0NF9zdGRfZXJyb3Ioc2IsIGVycm5vKQkJCQlcCiBkbyB7CQkJCQkJCQlcCiAJaWYgKChlcnJubykpCQkJCQkJXAotCQlfX2V4dDRfc3RkX2Vycm9yKChzYiksIF9fRlVOQ1RJT05fXywgKGVycm5vKSk7CVwKKwkJX19leHQ0X3N0ZF9lcnJvcigoc2IpLCBfX2Z1bmNfXywgKGVycm5vKSk7CVwKIH0gd2hpbGUgKDApCiAKIC8qCkBAIC0xMTkxLDcgKzEyMzIsNyBAQAogCQkJZXh0NF9sYmxrX3QgaWJsb2NrLAogCQkJdW5zaWduZWQgbG9uZyBtYXhfYmxvY2tzLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoX3Jlc3VsdCwKIAkJCWludCBjcmVhdGUsIGludCBleHRlbmRfZGlza3NpemUpOwotZXh0ZXJuIHZvaWQgZXh0NF9leHRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICosIHN0cnVjdCBwYWdlICopOworZXh0ZXJuIHZvaWQgZXh0NF9leHRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIHZvaWQgZXh0NF9leHRfaW5pdChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKik7CiBleHRlcm4gdm9pZCBleHQ0X2V4dF9yZWxlYXNlKHN0cnVjdCBzdXBlcl9ibG9jayAqKTsKIGV4dGVybiBsb25nIGV4dDRfZmFsbG9jYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtb2RlLCBsb2ZmX3Qgb2Zmc2V0LApAQCAtMTE5OSw3ICsxMjQwLDcgQEAKIGV4dGVybiBpbnQgZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCXNlY3Rvcl90IGJsb2NrLCB1bnNpZ25lZCBsb25nIG1heF9ibG9ja3MsCiAJCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLCBpbnQgY3JlYXRlLAotCQkJaW50IGV4dGVuZF9kaXNrc2l6ZSk7CisJCQlpbnQgZXh0ZW5kX2Rpc2tzaXplLCBpbnQgZmxhZyk7CiAjZW5kaWYJLyogX19LRVJORUxfXyAqLwogCiAjZW5kaWYJLyogX0VYVDRfSCAqLwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0X2V4dGVudHMuaCBiL2ZzL2V4dDQvZXh0NF9leHRlbnRzLmgKaW5kZXggNzUzMzNiNS4uNmMxNjZjMCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHQ0X2V4dGVudHMuaAorKysgYi9mcy9leHQ0L2V4dDRfZXh0ZW50cy5oCkBAIC0yMTIsNiArMjEyLDcgQEAKIAkJKGxlMTZfdG9fY3B1KGV4dC0+ZWVfbGVuKSAtIEVYVF9JTklUX01BWF9MRU4pKTsKIH0KIAorZXh0ZXJuIGludCBleHQ0X2V4dF9jYWxjX21ldGFkYXRhX2Ftb3VudChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgYmxvY2tzKTsKIGV4dGVybiBleHQ0X2ZzYmxrX3QgaWR4X3BibG9jayhzdHJ1Y3QgZXh0NF9leHRlbnRfaWR4ICopOwogZXh0ZXJuIHZvaWQgZXh0NF9leHRfc3RvcmVfcGJsb2NrKHN0cnVjdCBleHQ0X2V4dGVudCAqLCBleHQ0X2ZzYmxrX3QpOwogZXh0ZXJuIGludCBleHQ0X2V4dGVudF90cmVlX2luaXQoaGFuZGxlX3QgKiwgc3RydWN0IGlub2RlICopOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0X2kuaCBiL2ZzL2V4dDQvZXh0NF9pLmgKaW5kZXggMjZhNGFlMi4uZWY3NDA5ZiAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHQ0X2kuaAorKysgYi9mcy9leHQ0L2V4dDRfaS5oCkBAIC03OSw3ICs3OSw3IEBACiB9OwogCiAvKgotICogdGhpcmQgZXh0ZW5kZWQgZmlsZSBzeXN0ZW0gaW5vZGUgZGF0YSBpbiBtZW1vcnkKKyAqIGZvdXJ0aCBleHRlbmRlZCBmaWxlIHN5c3RlbSBpbm9kZSBkYXRhIGluIG1lbW9yeQogICovCiBzdHJ1Y3QgZXh0NF9pbm9kZV9pbmZvIHsKIAlfX2xlMzIJaV9kYXRhWzE1XTsJLyogdW5jb252ZXJ0ZWQgKi8KQEAgLTE1MCw2ICsxNTAsNyBAQAogCSAqLwogCXN0cnVjdCByd19zZW1hcGhvcmUgaV9kYXRhX3NlbTsKIAlzdHJ1Y3QgaW5vZGUgdmZzX2lub2RlOworCXN0cnVjdCBqYmQyX2lub2RlIGppbm9kZTsKIAogCXVuc2lnbmVkIGxvbmcgaV9leHRfZ2VuZXJhdGlvbjsKIAlzdHJ1Y3QgZXh0NF9leHRfY2FjaGUgaV9jYWNoZWRfZXh0ZW50OwpAQCAtMTYyLDYgKzE2MywxMyBAQAogCS8qIG1iYWxsb2MgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGlfcHJlYWxsb2NfbGlzdDsKIAlzcGlubG9ja190IGlfcHJlYWxsb2NfbG9jazsKKworCS8qIGFsbG9jYXRpb24gcmVzZXJ2YXRpb24gaW5mbyBmb3IgZGVsYWxsb2MgKi8KKwl1bnNpZ25lZCBsb25nIGlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3M7CisJdW5zaWduZWQgbG9uZyBpX3Jlc2VydmVkX21ldGFfYmxvY2tzOworCXVuc2lnbmVkIGxvbmcgaV9hbGxvY2F0ZWRfbWV0YV9ibG9ja3M7CisJdW5zaWduZWQgc2hvcnQgaV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnOworCXNwaW5sb2NrX3QgaV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrOwogfTsKIAogI2VuZGlmCS8qIF9FWFQ0X0kgKi8KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9qYmQyLmggYi9mcy9leHQ0L2V4dDRfamJkMi5oCmluZGV4IDkyNTVhN2QuLmViOGJjM2EgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NF9qYmQyLmgKKysrIGIvZnMvZXh0NC9leHQ0X2piZDIuaApAQCAtMTQyLDE5ICsxNDIsMTcgQEAKIAkJCQloYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKTsKIAogI2RlZmluZSBleHQ0X2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKGhhbmRsZSwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9nZXRfdW5kb19hY2Nlc3MoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9nZXRfdW5kb19hY2Nlc3MoX19mdW5jX18sIChoYW5kbGUpLCAoYmgpKQogI2RlZmluZSBleHQ0X2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2VzcyhoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2VzcyhfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoX19mdW5jX18sIChoYW5kbGUpLCAoYmgpKQogI2RlZmluZSBleHQ0X2pvdXJuYWxfcmV2b2tlKGhhbmRsZSwgYmxvY2tuciwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9yZXZva2UoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJsb2NrbnIpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX3Jldm9rZShfX2Z1bmNfXywgKGhhbmRsZSksIChibG9ja25yKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX2dldF9jcmVhdGVfYWNjZXNzKGhhbmRsZSwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyhfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX2dldF9jcmVhdGVfYWNjZXNzKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX2ZvcmdldChoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZm9yZ2V0KF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChiaCkpCi0KLWludCBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKTsKKwlfX2V4dDRfam91cm5hbF9mb3JnZXQoX19mdW5jX18sIChoYW5kbGUpLCAoYmgpKQogCiBoYW5kbGVfdCAqZXh0NF9qb3VybmFsX3N0YXJ0X3NiKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCBuYmxvY2tzKTsKIGludCBfX2V4dDRfam91cm5hbF9zdG9wKGNvbnN0IGNoYXIgKndoZXJlLCBoYW5kbGVfdCAqaGFuZGxlKTsKQEAgLTE2NSw3ICsxNjMsNyBAQAogfQogCiAjZGVmaW5lIGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSkgXAotCV9fZXh0NF9qb3VybmFsX3N0b3AoX19GVU5DVElPTl9fLCAoaGFuZGxlKSkKKwlfX2V4dDRfam91cm5hbF9zdG9wKF9fZnVuY19fLCAoaGFuZGxlKSkKIAogc3RhdGljIGlubGluZSBoYW5kbGVfdCAqZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKHZvaWQpCiB7CkBAIC0xOTIsNiArMTkwLDExIEBACiAJcmV0dXJuIGpiZDJfam91cm5hbF9mb3JjZV9jb21taXQoam91cm5hbCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7CisJcmV0dXJuIGpiZDJfam91cm5hbF9maWxlX2lub2RlKGhhbmRsZSwgJkVYVDRfSShpbm9kZSktPmppbm9kZSk7Cit9CisKIC8qIHN1cGVyLmMgKi8KIGludCBleHQ0X2ZvcmNlX2NvbW1pdChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0X3NiLmggYi9mcy9leHQ0L2V4dDRfc2IuaAppbmRleCA1ODAyZTY5Li42MzAwMjI2IDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDRfc2IuaAorKysgYi9mcy9leHQ0L2V4dDRfc2IuaApAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3JidHJlZS5oPgogCiAvKgotICogdGhpcmQgZXh0ZW5kZWQtZnMgc3VwZXItYmxvY2sgZGF0YSBpbiBtZW1vcnkKKyAqIGZvdXJ0aCBleHRlbmRlZC1mcyBzdXBlci1ibG9jayBkYXRhIGluIG1lbW9yeQogICovCiBzdHJ1Y3QgZXh0NF9zYl9pbmZvIHsKIAl1bnNpZ25lZCBsb25nIHNfZGVzY19zaXplOwkvKiBTaXplIG9mIGEgZ3JvdXAgZGVzY3JpcHRvciBpbiBieXRlcyAqLwpAQCAtMTQzLDYgKzE0Myw5IEBACiAKIAkvKiBsb2NhbGl0eSBncm91cHMgKi8KIAlzdHJ1Y3QgZXh0NF9sb2NhbGl0eV9ncm91cCAqc19sb2NhbGl0eV9ncm91cHM7CisKKwl1bnNpZ25lZCBpbnQgc19sb2dfZ3JvdXBzX3Blcl9mbGV4OworCXN0cnVjdCBmbGV4X2dyb3VwcyAqc19mbGV4X2dyb3VwczsKIH07CiAKICNlbmRpZgkvKiBfRVhUNF9TQiAqLwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHRlbnRzLmMgYi9mcy9leHQ0L2V4dGVudHMuYwppbmRleCA0NzkyOWM0Li40MmM0YzBjIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dGVudHMuYworKysgYi9mcy9leHQ0L2V4dGVudHMuYwpAQCAtOTIsMTcgKzkyLDE2IEBACiAJaXgtPmVpX2xlYWZfaGkgPSBjcHVfdG9fbGUxNigodW5zaWduZWQgbG9uZykgKChwYiA+PiAzMSkgPj4gMSkgJiAweGZmZmYpOwogfQogCi1zdGF0aWMgaGFuZGxlX3QgKmV4dDRfZXh0X2pvdXJuYWxfcmVzdGFydChoYW5kbGVfdCAqaGFuZGxlLCBpbnQgbmVlZGVkKQorc3RhdGljIGludCBleHQ0X2V4dF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlX3QgKmhhbmRsZSwgaW50IG5lZWRlZCkKIHsKIAlpbnQgZXJyOwogCiAJaWYgKGhhbmRsZS0+aF9idWZmZXJfY3JlZGl0cyA+IG5lZWRlZCkKLQkJcmV0dXJuIGhhbmRsZTsKLQlpZiAoIWV4dDRfam91cm5hbF9leHRlbmQoaGFuZGxlLCBuZWVkZWQpKQotCQlyZXR1cm4gaGFuZGxlOwotCWVyciA9IGV4dDRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZSwgbmVlZGVkKTsKLQotCXJldHVybiBoYW5kbGU7CisJCXJldHVybiAwOworCWVyciA9IGV4dDRfam91cm5hbF9leHRlbmQoaGFuZGxlLCBuZWVkZWQpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJcmV0dXJuIGV4dDRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZSwgbmVlZGVkKTsKIH0KIAogLyoKQEAgLTE4MCwxNSArMTc5LDE4IEBACiAJcmV0dXJuIGJnX3N0YXJ0ICsgY29sb3VyICsgYmxvY2s7CiB9CiAKKy8qCisgKiBBbGxvY2F0aW9uIGZvciBhIG1ldGEgZGF0YSBibG9jaworICovCiBzdGF0aWMgZXh0NF9mc2Jsa190Ci1leHQ0X2V4dF9uZXdfYmxvY2soaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dDRfZXh0X25ld19tZXRhX2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlzdHJ1Y3QgZXh0NF9leHRfcGF0aCAqcGF0aCwKIAkJCXN0cnVjdCBleHQ0X2V4dGVudCAqZXgsIGludCAqZXJyKQogewogCWV4dDRfZnNibGtfdCBnb2FsLCBuZXdibG9jazsKIAogCWdvYWwgPSBleHQ0X2V4dF9maW5kX2dvYWwoaW5vZGUsIHBhdGgsIGxlMzJfdG9fY3B1KGV4LT5lZV9ibG9jaykpOwotCW5ld2Jsb2NrID0gZXh0NF9uZXdfYmxvY2soaGFuZGxlLCBpbm9kZSwgZ29hbCwgZXJyKTsKKwluZXdibG9jayA9IGV4dDRfbmV3X21ldGFfYmxvY2soaGFuZGxlLCBpbm9kZSwgZ29hbCwgZXJyKTsKIAlyZXR1cm4gbmV3YmxvY2s7CiB9CiAKQEAgLTI0Niw2ICsyNDgsMzYgQEAKIAlyZXR1cm4gc2l6ZTsKIH0KIAorLyoKKyAqIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIG1ldGFkYXRhIGJsb2NrcyBuZWVkZWQKKyAqIHRvIGFsbG9jYXRlIEBibG9ja3MKKyAqIFdvcnNlIGNhc2UgaXMgb25lIGJsb2NrIHBlciBleHRlbnQKKyAqLworaW50IGV4dDRfZXh0X2NhbGNfbWV0YWRhdGFfYW1vdW50KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBibG9ja3MpCit7CisJaW50IGxjYXAsIGljYXAsIHJjYXAsIGxlYWZzLCBpZHhzLCBudW07CisJaW50IG5ld2V4dGVudHMgPSBibG9ja3M7CisKKwlyY2FwID0gZXh0NF9leHRfc3BhY2Vfcm9vdF9pZHgoaW5vZGUpOworCWxjYXAgPSBleHQ0X2V4dF9zcGFjZV9ibG9jayhpbm9kZSk7CisJaWNhcCA9IGV4dDRfZXh0X3NwYWNlX2Jsb2NrX2lkeChpbm9kZSk7CisKKwkvKiBudW1iZXIgb2YgbmV3IGxlYWYgYmxvY2tzIG5lZWRlZCAqLworCW51bSA9IGxlYWZzID0gKG5ld2V4dGVudHMgKyBsY2FwIC0gMSkgLyBsY2FwOworCisJLyoKKwkgKiBXb3JzZSBjYXNlLCB3ZSBuZWVkIHNlcGFyYXRlIGluZGV4IGJsb2NrKHMpCisJICogdG8gbGluayBhbGwgbmV3IGxlYWYgYmxvY2tzCisJICovCisJaWR4cyA9IChsZWFmcyArIGljYXAgLSAxKSAvIGljYXA7CisJZG8geworCQludW0gKz0gaWR4czsKKwkJaWR4cyA9IChpZHhzICsgaWNhcCAtIDEpIC8gaWNhcDsKKwl9IHdoaWxlIChpZHhzID4gcmNhcCk7CisKKwlyZXR1cm4gbnVtOworfQorCiBzdGF0aWMgaW50CiBleHQ0X2V4dF9tYXhfZW50cmllcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgZGVwdGgpCiB7CkBAIC01MjQsNiArNTU2LDcgQEAKIAkJYWxsb2MgPSAxOwogCX0KIAlwYXRoWzBdLnBfaGRyID0gZWg7CisJcGF0aFswXS5wX2JoID0gTlVMTDsKIAogCWkgPSBkZXB0aDsKIAkvKiB3YWxrIHRocm91Z2ggdGhlIHRyZWUgKi8KQEAgLTU1MiwxMiArNTg1LDE0IEBACiAJfQogCiAJcGF0aFtwcG9zXS5wX2RlcHRoID0gaTsKLQlwYXRoW3Bwb3NdLnBfaGRyID0gZWg7CiAJcGF0aFtwcG9zXS5wX2V4dCA9IE5VTEw7CiAJcGF0aFtwcG9zXS5wX2lkeCA9IE5VTEw7CiAKIAkvKiBmaW5kIGV4dGVudCAqLwogCWV4dDRfZXh0X2JpbnNlYXJjaChpbm9kZSwgcGF0aCArIHBwb3MsIGJsb2NrKTsKKwkvKiBpZiBub3QgYW4gZW1wdHkgbGVhZiAqLworCWlmIChwYXRoW3Bwb3NdLnBfZXh0KQorCQlwYXRoW3Bwb3NdLnBfYmxvY2sgPSBleHRfcGJsb2NrKHBhdGhbcHBvc10ucF9leHQpOwogCiAJZXh0NF9leHRfc2hvd19wYXRoKGlub2RlLCBwYXRoKTsKIApAQCAtNjg4LDcgKzcyMyw4IEBACiAJLyogYWxsb2NhdGUgYWxsIG5lZWRlZCBibG9ja3MgKi8KIAlleHRfZGVidWcoImFsbG9jYXRlICVkIGJsb2NrcyBmb3IgaW5kZXhlcy9sZWFmXG4iLCBkZXB0aCAtIGF0KTsKIAlmb3IgKGEgPSAwOyBhIDwgZGVwdGggLSBhdDsgYSsrKSB7Ci0JCW5ld2Jsb2NrID0gZXh0NF9leHRfbmV3X2Jsb2NrKGhhbmRsZSwgaW5vZGUsIHBhdGgsIG5ld2V4dCwgJmVycik7CisJCW5ld2Jsb2NrID0gZXh0NF9leHRfbmV3X21ldGFfYmxvY2soaGFuZGxlLCBpbm9kZSwgcGF0aCwKKwkJCQkJCSAgIG5ld2V4dCwgJmVycik7CiAJCWlmIChuZXdibG9jayA9PSAwKQogCQkJZ290byBjbGVhbnVwOwogCQlhYmxvY2tzW2FdID0gbmV3YmxvY2s7CkBAIC04ODQsNyArOTIwLDcgQEAKIAlleHQ0X2ZzYmxrX3QgbmV3YmxvY2s7CiAJaW50IGVyciA9IDA7CiAKLQluZXdibG9jayA9IGV4dDRfZXh0X25ld19ibG9jayhoYW5kbGUsIGlub2RlLCBwYXRoLCBuZXdleHQsICZlcnIpOworCW5ld2Jsb2NrID0gZXh0NF9leHRfbmV3X21ldGFfYmxvY2soaGFuZGxlLCBpbm9kZSwgcGF0aCwgbmV3ZXh0LCAmZXJyKTsKIAlpZiAobmV3YmxvY2sgPT0gMCkKIAkJcmV0dXJuIGVycjsKIApAQCAtOTgxLDYgKzEwMTcsOCBAQAogCQkvKiBpZiB3ZSBmb3VuZCBpbmRleCB3aXRoIGZyZWUgZW50cnksIHRoZW4gdXNlIHRoYXQKIAkJICogZW50cnk6IGNyZWF0ZSBhbGwgbmVlZGVkIHN1YnRyZWUgYW5kIGFkZCBuZXcgbGVhZiAqLwogCQllcnIgPSBleHQ0X2V4dF9zcGxpdChoYW5kbGUsIGlub2RlLCBwYXRoLCBuZXdleHQsIGkpOworCQlpZiAoZXJyKQorCQkJZ290byBvdXQ7CiAKIAkJLyogcmVmaWxsIHBhdGggKi8KIAkJZXh0NF9leHRfZHJvcF9yZWZzKHBhdGgpOwpAQCAtMTg4MywxMSArMTkyMSw5IEBACiAJCWNyZWRpdHMgKz0gMiAqIEVYVDRfUVVPVEFfVFJBTlNfQkxPQ0tTKGlub2RlLT5pX3NiKTsKICNlbmRpZgogCi0JCWhhbmRsZSA9IGV4dDRfZXh0X2pvdXJuYWxfcmVzdGFydChoYW5kbGUsIGNyZWRpdHMpOwotCQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJCWVyciA9IFBUUl9FUlIoaGFuZGxlKTsKKwkJZXJyID0gZXh0NF9leHRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZSwgY3JlZGl0cyk7CisJCWlmIChlcnIpCiAJCQlnb3RvIG91dDsKLQkJfQogCiAJCWVyciA9IGV4dDRfZXh0X2dldF9hY2Nlc3MoaGFuZGxlLCBpbm9kZSwgcGF0aCArIGRlcHRoKTsKIAkJaWYgKGVycikKQEAgLTI1MjksNiArMjU2NSw3IEBACiAJaW50IGVyciA9IDAsIGRlcHRoLCByZXQ7CiAJdW5zaWduZWQgbG9uZyBhbGxvY2F0ZWQgPSAwOwogCXN0cnVjdCBleHQ0X2FsbG9jYXRpb25fcmVxdWVzdCBhcjsKKwlsb2ZmX3QgZGlza3NpemU7CiAKIAlfX2NsZWFyX2JpdChCSF9OZXcsICZiaF9yZXN1bHQtPmJfc3RhdGUpOwogCWV4dF9kZWJ1ZygiYmxvY2tzICV1LyVsdSByZXF1ZXN0ZWQgZm9yIGlub2RlICV1XG4iLApAQCAtMjYxNiw4ICsyNjUzLDcgQEAKIAkJCQkgKi8KIAkJCQlpZiAoYWxsb2NhdGVkID4gbWF4X2Jsb2NrcykKIAkJCQkJYWxsb2NhdGVkID0gbWF4X2Jsb2NrczsKLQkJCQkvKiBtYXJrIHRoZSBidWZmZXIgdW53cml0dGVuICovCi0JCQkJX19zZXRfYml0KEJIX1Vud3JpdHRlbiwgJmJoX3Jlc3VsdC0+Yl9zdGF0ZSk7CisJCQkJc2V0X2J1ZmZlcl91bndyaXR0ZW4oYmhfcmVzdWx0KTsKIAkJCQlnb3RvIG91dDI7CiAJCQl9CiAKQEAgLTI3MTYsMTQgKzI3NTIsMTkgQEAKIAkJZ290byBvdXQyOwogCX0KIAotCWlmIChleHRlbmRfZGlza3NpemUgJiYgaW5vZGUtPmlfc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCi0JCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBpbm9kZS0+aV9zaXplOwotCiAJLyogcHJldmlvdXMgcm91dGluZSBjb3VsZCB1c2UgYmxvY2sgd2UgYWxsb2NhdGVkICovCiAJbmV3YmxvY2sgPSBleHRfcGJsb2NrKCZuZXdleCk7CiAJYWxsb2NhdGVkID0gZXh0NF9leHRfZ2V0X2FjdHVhbF9sZW4oJm5ld2V4KTsKIG91dG5ldzoKLQlfX3NldF9iaXQoQkhfTmV3LCAmYmhfcmVzdWx0LT5iX3N0YXRlKTsKKwlpZiAoZXh0ZW5kX2Rpc2tzaXplKSB7CisJCWRpc2tzaXplID0gKChsb2ZmX3QpIGlibG9jayArIGFyLmxlbikgPDwgaW5vZGUtPmlfYmxrYml0czsKKwkJaWYgKGRpc2tzaXplID4gaV9zaXplX3JlYWQoaW5vZGUpKQorCQkJZGlza3NpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJCWlmIChkaXNrc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCisJCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gZGlza3NpemU7CisJfQorCisJc2V0X2J1ZmZlcl9uZXcoYmhfcmVzdWx0KTsKIAogCS8qIENhY2hlIG9ubHkgd2hlbiBpdCBpcyBfbm90XyBhbiB1bmluaXRpYWxpemVkIGV4dGVudCAqLwogCWlmIChjcmVhdGUgIT0gRVhUNF9DUkVBVEVfVU5JTklUSUFMSVpFRF9FWFQpCkBAIC0yNzMzLDcgKzI3NzQsNyBAQAogCWlmIChhbGxvY2F0ZWQgPiBtYXhfYmxvY2tzKQogCQlhbGxvY2F0ZWQgPSBtYXhfYmxvY2tzOwogCWV4dDRfZXh0X3Nob3dfbGVhZihpbm9kZSwgcGF0aCk7Ci0JX19zZXRfYml0KEJIX01hcHBlZCwgJmJoX3Jlc3VsdC0+Yl9zdGF0ZSk7CisJc2V0X2J1ZmZlcl9tYXBwZWQoYmhfcmVzdWx0KTsKIAliaF9yZXN1bHQtPmJfYmRldiA9IGlub2RlLT5pX3NiLT5zX2JkZXY7CiAJYmhfcmVzdWx0LT5iX2Jsb2NrbnIgPSBuZXdibG9jazsKIG91dDI6CkBAIC0yNzQ0LDcgKzI3ODUsNyBAQAogCXJldHVybiBlcnIgPyBlcnIgOiBhbGxvY2F0ZWQ7CiB9CiAKLXZvaWQgZXh0NF9leHRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBwYWdlICpwYWdlKQordm9pZCBleHQ0X2V4dF90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewogCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gaW5vZGUtPmlfbWFwcGluZzsKIAlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gaW5vZGUtPmlfc2I7CkBAIC0yNzU3LDE4ICsyNzk4LDE0IEBACiAJICovCiAJZXJyID0gZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKGlub2RlKSArIDM7CiAJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBlcnIpOwotCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQlpZiAocGFnZSkgewotCQkJY2xlYXJfaGlnaHBhZ2UocGFnZSk7Ci0JCQlmbHVzaF9kY2FjaGVfcGFnZShwYWdlKTsKLQkJCXVubG9ja19wYWdlKHBhZ2UpOwotCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwotCQl9CisJaWYgKElTX0VSUihoYW5kbGUpKQogCQlyZXR1cm47Ci0JfQogCi0JaWYgKHBhZ2UpCi0JCWV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGUsIHBhZ2UsIG1hcHBpbmcsIGlub2RlLT5pX3NpemUpOworCWlmIChpbm9kZS0+aV9zaXplICYgKHNiLT5zX2Jsb2Nrc2l6ZSAtIDEpKQorCQlleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlLCBtYXBwaW5nLCBpbm9kZS0+aV9zaXplKTsKKworCWlmIChleHQ0X29ycGhhbl9hZGQoaGFuZGxlLCBpbm9kZSkpCisJCWdvdG8gb3V0X3N0b3A7CiAKIAlkb3duX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKIAlleHQ0X2V4dF9pbnZhbGlkYXRlX2NhY2hlKGlub2RlKTsKQEAgLTI3ODAsOCArMjgxNyw2IEBACiAJICogUHJvYmFibHkgd2UgbmVlZCBub3Qgc2NhbiBhdCBhbGwsCiAJICogYmVjYXVzZSBwYWdlIHRydW5jYXRpb24gaXMgZW5vdWdoLgogCSAqLwotCWlmIChleHQ0X29ycGhhbl9hZGQoaGFuZGxlLCBpbm9kZSkpCi0JCWdvdG8gb3V0X3N0b3A7CiAKIAkvKiB3ZSBoYXZlIHRvIGtub3cgd2hlcmUgdG8gdHJ1bmNhdGUgZnJvbSBpbiBjcmFzaCBjYXNlICovCiAJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IGlub2RlLT5pX3NpemU7CkBAIC0yNzk4LDYgKzI4MzMsNyBAQAogCQloYW5kbGUtPmhfc3luYyA9IDE7CiAKIG91dF9zdG9wOgorCXVwX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKIAkvKgogCSAqIElmIHRoaXMgd2FzIGEgc2ltcGxlIGZ0cnVuY2F0ZSgpIGFuZCB0aGUgZmlsZSB3aWxsIHJlbWFpbiBhbGl2ZSwKIAkgKiB0aGVuIHdlIG5lZWQgdG8gY2xlYXIgdXAgdGhlIG9ycGhhbiByZWNvcmQgd2hpY2ggd2UgY3JlYXRlZCBhYm92ZS4KQEAgLTI4MDgsNyArMjg0NCw2IEBACiAJaWYgKGlub2RlLT5pX25saW5rKQogCQlleHQ0X29ycGhhbl9kZWwoaGFuZGxlLCBpbm9kZSk7CiAKLQl1cF93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CiAJaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1lKGlub2RlKTsKIAlleHQ0X21hcmtfaW5vZGVfZGlydHkoaGFuZGxlLCBpbm9kZSk7CiAJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKQEAgLTI5MTEsNyArMjk0Niw3IEBACiAJCX0KIAkJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgYmxvY2ssCiAJCQkJCSAgbWF4X2Jsb2NrcywgJm1hcF9iaCwKLQkJCQkJICBFWFQ0X0NSRUFURV9VTklOSVRJQUxJWkVEX0VYVCwgMCk7CisJCQkJCSAgRVhUNF9DUkVBVEVfVU5JTklUSUFMSVpFRF9FWFQsIDAsIDApOwogCQlpZiAocmV0IDw9IDApIHsKICNpZmRlZiBFWFQ0RlNfREVCVUcKIAkJCVdBUk5fT04ocmV0IDw9IDApOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9maWxlLmMgYi9mcy9leHQ0L2ZpbGUuYwppbmRleCA0MTU5YmU2Li40MzBlYjc5IDEwMDY0NAotLS0gYS9mcy9leHQ0L2ZpbGUuYworKysgYi9mcy9leHQ0L2ZpbGUuYwpAQCAtMTIzLDYgKzEyMywyMyBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBzdHJ1Y3Qgdm1fb3BlcmF0aW9uc19zdHJ1Y3QgZXh0NF9maWxlX3ZtX29wcyA9IHsKKwkuZmF1bHQJCT0gZmlsZW1hcF9mYXVsdCwKKwkucGFnZV9ta3dyaXRlICAgPSBleHQ0X3BhZ2VfbWt3cml0ZSwKK307CisKK3N0YXRpYyBpbnQgZXh0NF9maWxlX21tYXAoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQoreworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gZmlsZS0+Zl9tYXBwaW5nOworCisJaWYgKCFtYXBwaW5nLT5hX29wcy0+cmVhZHBhZ2UpCisJCXJldHVybiAtRU5PRVhFQzsKKwlmaWxlX2FjY2Vzc2VkKGZpbGUpOworCXZtYS0+dm1fb3BzID0gJmV4dDRfZmlsZV92bV9vcHM7CisJdm1hLT52bV9mbGFncyB8PSBWTV9DQU5fTk9OTElORUFSOworCXJldHVybiAwOworfQorCiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGV4dDRfZmlsZV9vcGVyYXRpb25zID0gewogCS5sbHNlZWsJCT0gZ2VuZXJpY19maWxlX2xsc2VlaywKIAkucmVhZAkJPSBkb19zeW5jX3JlYWQsCkBAIC0xMzMsNyArMTUwLDcgQEAKICNpZmRlZiBDT05GSUdfQ09NUEFUCiAJLmNvbXBhdF9pb2N0bAk9IGV4dDRfY29tcGF0X2lvY3RsLAogI2VuZGlmCi0JLm1tYXAJCT0gZ2VuZXJpY19maWxlX21tYXAsCisJLm1tYXAJCT0gZXh0NF9maWxlX21tYXAsCiAJLm9wZW4JCT0gZ2VuZXJpY19maWxlX29wZW4sCiAJLnJlbGVhc2UJPSBleHQ0X3JlbGVhc2VfZmlsZSwKIAkuZnN5bmMJCT0gZXh0NF9zeW5jX2ZpbGUsCkBAIC0xNDQsNiArMTYxLDcgQEAKIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIGV4dDRfZmlsZV9pbm9kZV9vcGVyYXRpb25zID0gewogCS50cnVuY2F0ZQk9IGV4dDRfdHJ1bmNhdGUsCiAJLnNldGF0dHIJPSBleHQ0X3NldGF0dHIsCisJLmdldGF0dHIJPSBleHQ0X2dldGF0dHIsCiAjaWZkZWYgQ09ORklHX0VYVDRERVZfRlNfWEFUVFIKIAkuc2V0eGF0dHIJPSBnZW5lcmljX3NldHhhdHRyLAogCS5nZXR4YXR0cgk9IGdlbmVyaWNfZ2V0eGF0dHIsCmRpZmYgLS1naXQgYS9mcy9leHQ0L2ZzeW5jLmMgYi9mcy9leHQ0L2ZzeW5jLmMKaW5kZXggMWM4YmE0OC4uYTQ1YzM3MyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9mc3luYy5jCisrKyBiL2ZzL2V4dDQvZnN5bmMuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvd3JpdGViYWNrLmg+CiAjaW5jbHVkZSA8bGludXgvamJkMi5oPgorI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgogI2luY2x1ZGUgImV4dDQuaCIKICNpbmNsdWRlICJleHQ0X2piZDIuaCIKIApAQCAtNDUsNiArNDYsNyBAQAogaW50IGV4dDRfc3luY19maWxlKHN0cnVjdCBmaWxlICogZmlsZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBpbnQgZGF0YXN5bmMpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlqb3VybmFsX3QgKmpvdXJuYWwgPSBFWFQ0X1NCKGlub2RlLT5pX3NiKS0+c19qb3VybmFsOwogCWludCByZXQgPSAwOwogCiAJSl9BU1NFUlQoZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCkgPT0gTlVMTCk7CkBAIC04NSw2ICs4Nyw4IEBACiAJCQkubnJfdG9fd3JpdGUgPSAwLCAvKiBzeXNfZnN5bmMgZGlkIHRoaXMgKi8KIAkJfTsKIAkJcmV0ID0gc3luY19pbm9kZShpbm9kZSwgJndiYyk7CisJCWlmIChqb3VybmFsICYmIChqb3VybmFsLT5qX2ZsYWdzICYgSkJEMl9CQVJSSUVSKSkKKwkJCWJsa2Rldl9pc3N1ZV9mbHVzaChpbm9kZS0+aV9zYi0+c19iZGV2LCBOVUxMKTsKIAl9CiBvdXQ6CiAJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZ3JvdXAuaCBiL2ZzL2V4dDQvZ3JvdXAuaAppbmRleCA3ZWIwNjA0Li5jMmMwYThkIDEwMDY0NAotLS0gYS9mcy9leHQ0L2dyb3VwLmgKKysrIGIvZnMvZXh0NC9ncm91cC5oCkBAIC0xMyw3ICsxMyw3IEBACiAJCQkJICAgc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZ2RwKTsKIGV4dGVybiBpbnQgZXh0NF9ncm91cF9kZXNjX2NzdW1fdmVyaWZ5KHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwgX191MzIgZ3JvdXAsCiAJCQkJICAgICAgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmdkcCk7Ci1zdHJ1Y3QgYnVmZmVyX2hlYWQgKnJlYWRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCitzdHJ1Y3QgYnVmZmVyX2hlYWQgKmV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQkgICAgICBleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApOwogZXh0ZXJuIHVuc2lnbmVkIGV4dDRfaW5pdF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQkgICAgICAgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvaWFsbG9jLmMgYi9mcy9leHQ0L2lhbGxvYy5jCmluZGV4IGM2ZWZiYWIuLmE5MmViMzAgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvaWFsbG9jLmMKKysrIGIvZnMvZXh0NC9pYWxsb2MuYwpAQCAtMTU3LDYgKzE1Nyw3IEBACiAJc3RydWN0IGV4dDRfc3VwZXJfYmxvY2sgKiBlczsKIAlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmk7CiAJaW50IGZhdGFsID0gMCwgZXJyOworCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwOwogCiAJaWYgKGF0b21pY19yZWFkKCZpbm9kZS0+aV9jb3VudCkgPiAxKSB7CiAJCXByaW50ayAoImV4dDRfZnJlZV9pbm9kZTogaW5vZGUgaGFzIGNvdW50PSVkXG4iLApAQCAtMjMyLDYgKzIzMywxMiBAQAogCQkJaWYgKGlzX2RpcmVjdG9yeSkKIAkJCQlwZXJjcHVfY291bnRlcl9kZWMoJnNiaS0+c19kaXJzX2NvdW50ZXIpOwogCisJCQlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJCQlmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgYmxvY2tfZ3JvdXApOworCQkJCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9pbm9kZXMrKzsKKwkJCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJCX0KIAkJfQogCQlCVUZGRVJfVFJBQ0UoYmgyLCAiY2FsbCBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEiKTsKIAkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYmgyKTsKQEAgLTI4Niw2ICsyOTMsODAgQEAKIAlyZXR1cm4gcmV0OwogfQogCisjZGVmaW5lIGZyZWVfYmxvY2tfcmF0aW8gMTAKKworc3RhdGljIGludCBmaW5kX2dyb3VwX2ZsZXgoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGlub2RlICpwYXJlbnQsCisJCQkgICBleHQ0X2dyb3VwX3QgKmJlc3RfZ3JvdXApCit7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYzsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCXN0cnVjdCBmbGV4X2dyb3VwcyAqZmxleF9ncm91cCA9IHNiaS0+c19mbGV4X2dyb3VwczsKKwlleHQ0X2dyb3VwX3QgcGFyZW50X2dyb3VwID0gRVhUNF9JKHBhcmVudCktPmlfYmxvY2tfZ3JvdXA7CisJZXh0NF9ncm91cF90IHBhcmVudF9mYmdfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBwYXJlbnRfZ3JvdXApOworCWV4dDRfZ3JvdXBfdCBuZ3JvdXBzID0gc2JpLT5zX2dyb3Vwc19jb3VudDsKKwlpbnQgZmxleF9zaXplID0gZXh0NF9mbGV4X2JnX3NpemUoc2JpKTsKKwlleHQ0X2dyb3VwX3QgYmVzdF9mbGV4ID0gcGFyZW50X2ZiZ19ncm91cDsKKwlpbnQgYmxvY2tzX3Blcl9mbGV4ID0gc2JpLT5zX2Jsb2Nrc19wZXJfZ3JvdXAgKiBmbGV4X3NpemU7CisJaW50IGZsZXhiZ19mcmVlX2Jsb2NrczsKKwlpbnQgZmxleF9mcmVlYl9yYXRpbzsKKwlleHQ0X2dyb3VwX3Qgbl9mYmdfZ3JvdXBzOworCWV4dDRfZ3JvdXBfdCBpOworCisJbl9mYmdfZ3JvdXBzID0gKHNiaS0+c19ncm91cHNfY291bnQgKyBmbGV4X3NpemUgLSAxKSA+PgorCQlzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleDsKKworZmluZF9jbG9zZV90b19wYXJlbnQ6CisJZmxleGJnX2ZyZWVfYmxvY2tzID0gZmxleF9ncm91cFtiZXN0X2ZsZXhdLmZyZWVfYmxvY2tzOworCWZsZXhfZnJlZWJfcmF0aW8gPSBmbGV4YmdfZnJlZV9ibG9ja3MgKiAxMDAgLyBibG9ja3NfcGVyX2ZsZXg7CisJaWYgKGZsZXhfZ3JvdXBbYmVzdF9mbGV4XS5mcmVlX2lub2RlcyAmJgorCSAgICBmbGV4X2ZyZWViX3JhdGlvID4gZnJlZV9ibG9ja19yYXRpbykKKwkJZ290byBmb3VuZF9mbGV4Ymc7CisKKwlpZiAoYmVzdF9mbGV4ICYmIGJlc3RfZmxleCA9PSBwYXJlbnRfZmJnX2dyb3VwKSB7CisJCWJlc3RfZmxleC0tOworCQlnb3RvIGZpbmRfY2xvc2VfdG9fcGFyZW50OworCX0KKworCWZvciAoaSA9IDA7IGkgPCBuX2ZiZ19ncm91cHM7IGkrKykgeworCQlpZiAoaSA9PSBwYXJlbnRfZmJnX2dyb3VwIHx8IGkgPT0gcGFyZW50X2ZiZ19ncm91cCAtIDEpCisJCQljb250aW51ZTsKKworCQlmbGV4YmdfZnJlZV9ibG9ja3MgPSBmbGV4X2dyb3VwW2ldLmZyZWVfYmxvY2tzOworCQlmbGV4X2ZyZWViX3JhdGlvID0gZmxleGJnX2ZyZWVfYmxvY2tzICogMTAwIC8gYmxvY2tzX3Blcl9mbGV4OworCisJCWlmIChmbGV4X2ZyZWViX3JhdGlvID4gZnJlZV9ibG9ja19yYXRpbyAmJgorCQkgICAgZmxleF9ncm91cFtpXS5mcmVlX2lub2RlcykgeworCQkJYmVzdF9mbGV4ID0gaTsKKwkJCWdvdG8gZm91bmRfZmxleGJnOworCQl9CisKKwkJaWYgKGJlc3RfZmxleCA8IDAgfHwKKwkJICAgIChmbGV4X2dyb3VwW2ldLmZyZWVfYmxvY2tzID4KKwkJICAgICBmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9ibG9ja3MgJiYKKwkJICAgICBmbGV4X2dyb3VwW2ldLmZyZWVfaW5vZGVzKSkKKwkJCWJlc3RfZmxleCA9IGk7CisJfQorCisJaWYgKCFmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9pbm9kZXMgfHwKKwkgICAgIWZsZXhfZ3JvdXBbYmVzdF9mbGV4XS5mcmVlX2Jsb2NrcykKKwkJcmV0dXJuIC0xOworCitmb3VuZF9mbGV4Ymc6CisJZm9yIChpID0gYmVzdF9mbGV4ICogZmxleF9zaXplOyBpIDwgbmdyb3VwcyAmJgorCQkgICAgIGkgPCAoYmVzdF9mbGV4ICsgMSkgKiBmbGV4X3NpemU7IGkrKykgeworCQlkZXNjID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgaSwgJmJoKTsKKwkJaWYgKGxlMTZfdG9fY3B1KGRlc2MtPmJnX2ZyZWVfaW5vZGVzX2NvdW50KSkgeworCQkJKmJlc3RfZ3JvdXAgPSBpOworCQkJZ290byBvdXQ7CisJCX0KKwl9CisKKwlyZXR1cm4gLTE7CitvdXQ6CisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBPcmxvdidzIGFsbG9jYXRvciBmb3IgZGlyZWN0b3JpZXMuCiAgKgpAQCAtNTAxLDYgKzU4Miw3IEBACiAJc3RydWN0IGlub2RlICpyZXQ7CiAJZXh0NF9ncm91cF90IGk7CiAJaW50IGZyZWUgPSAwOworCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwOwogCiAJLyogQ2Fubm90IGNyZWF0ZSBmaWxlcyBpbiBhIGRlbGV0ZWQgZGlyZWN0b3J5ICovCiAJaWYgKCFkaXIgfHwgIWRpci0+aV9ubGluaykKQEAgLTUxNCw2ICs1OTYsMTIgQEAKIAogCXNiaSA9IEVYVDRfU0Ioc2IpOwogCWVzID0gc2JpLT5zX2VzOworCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCXJldDIgPSBmaW5kX2dyb3VwX2ZsZXgoc2IsIGRpciwgJmdyb3VwKTsKKwkJZ290byBnb3RfZ3JvdXA7CisJfQorCiAJaWYgKFNfSVNESVIobW9kZSkpIHsKIAkJaWYgKHRlc3Rfb3B0IChzYiwgT0xEQUxMT0MpKQogCQkJcmV0MiA9IGZpbmRfZ3JvdXBfZGlyKHNiLCBkaXIsICZncm91cCk7CkBAIC01MjIsNiArNjEwLDcgQEAKIAl9IGVsc2UKIAkJcmV0MiA9IGZpbmRfZ3JvdXBfb3RoZXIoc2IsIGRpciwgJmdyb3VwKTsKIAorZ290X2dyb3VwOgogCWVyciA9IC1FTk9TUEM7CiAJaWYgKHJldDIgPT0gLTEpCiAJCWdvdG8gb3V0OwpAQCAtNjAwLDcgKzY4OSw3IEBACiAJLyogV2UgbWF5IGhhdmUgdG8gaW5pdGlhbGl6ZSB0aGUgYmxvY2sgYml0bWFwIGlmIGl0IGlzbid0IGFscmVhZHkgKi8KIAlpZiAoRVhUNF9IQVNfUk9fQ09NUEFUX0ZFQVRVUkUoc2IsIEVYVDRfRkVBVFVSRV9ST19DT01QQVRfR0RUX0NTVU0pICYmCiAJICAgIGdkcC0+YmdfZmxhZ3MgJiBjcHVfdG9fbGUxNihFWFQ0X0JHX0JMT0NLX1VOSU5JVCkpIHsKLQkJc3RydWN0IGJ1ZmZlcl9oZWFkICpibG9ja19iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CisJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmxvY2tfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CiAKIAkJQlVGRkVSX1RSQUNFKGJsb2NrX2JoLCAiZ2V0IGJsb2NrIGJpdG1hcCBhY2Nlc3MiKTsKIAkJZXJyID0gZXh0NF9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoaGFuZGxlLCBibG9ja19iaCk7CkBAIC02NzYsNiArNzY1LDEzIEBACiAJCXBlcmNwdV9jb3VudGVyX2luYygmc2JpLT5zX2RpcnNfY291bnRlcik7CiAJc2ItPnNfZGlydCA9IDE7CiAKKwlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGdyb3VwKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9pbm9kZXMtLTsKKwkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJfQorCiAJaW5vZGUtPmlfdWlkID0gY3VycmVudC0+ZnN1aWQ7CiAJaWYgKHRlc3Rfb3B0IChzYiwgR1JQSUQpKQogCQlpbm9kZS0+aV9naWQgPSBkaXItPmlfZ2lkOwpAQCAtNzQwLDE0ICs4MzYsMTAgQEAKIAkJZ290byBmYWlsX2ZyZWVfZHJvcDsKIAogCWlmICh0ZXN0X29wdChzYiwgRVhURU5UUykpIHsKLQkJLyogc2V0IGV4dGVudCBmbGFnIG9ubHkgZm9yIGRpcmV0b3J5LCBmaWxlIGFuZCBub3JtYWwgc3ltbGluayovCisJCS8qIHNldCBleHRlbnQgZmxhZyBvbmx5IGZvciBkaXJlY3RvcnksIGZpbGUgYW5kIG5vcm1hbCBzeW1saW5rKi8KIAkJaWYgKFNfSVNESVIobW9kZSkgfHwgU19JU1JFRyhtb2RlKSB8fCBTX0lTTE5LKG1vZGUpKSB7CiAJCQlFWFQ0X0koaW5vZGUpLT5pX2ZsYWdzIHw9IEVYVDRfRVhURU5UU19GTDsKIAkJCWV4dDRfZXh0X3RyZWVfaW5pdChoYW5kbGUsIGlub2RlKTsKLQkJCWVyciA9IGV4dDRfdXBkYXRlX2luY29tcGF0X2ZlYXR1cmUoaGFuZGxlLCBzYiwKLQkJCQkJRVhUNF9GRUFUVVJFX0lOQ09NUEFUX0VYVEVOVFMpOwotCQkJaWYgKGVycikKLQkJCQlnb3RvIGZhaWxfZnJlZV9kcm9wOwogCQl9CiAJfQogCkBAIC04MTcsNiArOTA5LDE0IEBACiAJaWYgKElTX0VSUihpbm9kZSkpCiAJCWdvdG8gaWdldF9mYWlsZWQ7CiAKKwkvKgorCSAqIElmIHRoZSBvcnBoYW5zIGhhcyBpX25saW5rcyA+IDAgdGhlbiBpdCBzaG91bGQgYmUgYWJsZSB0byBiZQorCSAqIHRydW5jYXRlZCwgb3RoZXJ3aXNlIGl0IHdvbid0IGJlIHJlbW92ZWQgZnJvbSB0aGUgb3JwaGFuIGxpc3QKKwkgKiBkdXJpbmcgcHJvY2Vzc2luZyBhbmQgYW4gaW5maW5pdGUgbG9vcCB3aWxsIHJlc3VsdC4KKwkgKi8KKwlpZiAoaW5vZGUtPmlfbmxpbmsgJiYgIWV4dDRfY2FuX3RydW5jYXRlKGlub2RlKSkKKwkJZ290byBiYWRfb3JwaGFuOworCiAJaWYgKE5FWFRfT1JQSEFOKGlub2RlKSA+IG1heF9pbm8pCiAJCWdvdG8gYmFkX29ycGhhbjsKIAlicmVsc2UoYml0bWFwX2JoKTsKQEAgLTgzOCw2ICs5MzgsNyBAQAogCQlwcmludGsoS0VSTl9OT1RJQ0UgIk5FWFRfT1JQSEFOKGlub2RlKT0ldVxuIiwKIAkJICAgICAgIE5FWFRfT1JQSEFOKGlub2RlKSk7CiAJCXByaW50ayhLRVJOX05PVElDRSAibWF4X2lubz0lbHVcbiIsIG1heF9pbm8pOworCQlwcmludGsoS0VSTl9OT1RJQ0UgImlfbmxpbms9JXVcbiIsIGlub2RlLT5pX25saW5rKTsKIAkJLyogQXZvaWQgZnJlZWluZyBibG9ja3MgaWYgd2UgZ290IGEgYmFkIGRlbGV0ZWQgaW5vZGUgKi8KIAkJaWYgKGlub2RlLT5pX25saW5rID09IDApCiAJCQlpbm9kZS0+aV9ibG9ja3MgPSAwOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9pbm9kZS5jIGIvZnMvZXh0NC9pbm9kZS5jCmluZGV4IDhkOTcwNzcuLjhjYTI3NjMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvaW5vZGUuYworKysgYi9mcy9leHQ0L2lub2RlLmMKQEAgLTMyLDEyICszMiwyMyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2J1ZmZlcl9oZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvd3JpdGViYWNrLmg+CisjaW5jbHVkZSA8bGludXgvcGFnZXZlYy5oPgogI2luY2x1ZGUgPGxpbnV4L21wYWdlLmg+CiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvYmlvLmg+CiAjaW5jbHVkZSAiZXh0NF9qYmQyLmgiCiAjaW5jbHVkZSAieGF0dHIuaCIKICNpbmNsdWRlICJhY2wuaCIKKyNpbmNsdWRlICJleHQ0X2V4dGVudHMuaCIKKworc3RhdGljIGlubGluZSBpbnQgZXh0NF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJCSAgICAgIGxvZmZfdCBuZXdfc2l6ZSkKK3sKKwlyZXR1cm4gamJkMl9qb3VybmFsX2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoJkVYVDRfSShpbm9kZSktPmppbm9kZSwKKwkJCQkJCSAgIG5ld19zaXplKTsKK30KKworc3RhdGljIHZvaWQgZXh0NF9pbnZhbGlkYXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpOwogCiAvKgogICogVGVzdCB3aGV0aGVyIGFuIGlub2RlIGlzIGEgZmFzdCBzeW1saW5rLgpAQCAtMTgxLDYgKzE5Miw4IEBACiB7CiAJaGFuZGxlX3QgKmhhbmRsZTsKIAorCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkKKwkJZXh0NF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKGlub2RlLCAwKTsKIAl0cnVuY2F0ZV9pbm9kZV9wYWdlcygmaW5vZGUtPmlfZGF0YSwgMCk7CiAKIAlpZiAoaXNfYmFkX2lub2RlKGlub2RlKSkKQEAgLTUwOCwxMSArNTIxLDEyIEBACiAgKgkJZGlyZWN0IGJsb2NrcwogICovCiBzdGF0aWMgaW50IGV4dDRfYWxsb2NfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQlleHQ0X2ZzYmxrX3QgZ29hbCwgaW50IGluZGlyZWN0X2Jsa3MsIGludCBibGtzLAotCQkJZXh0NF9mc2Jsa190IG5ld19ibG9ja3NbNF0sIGludCAqZXJyKQorCQkJCWV4dDRfbGJsa190IGlibG9jaywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJaW50IGluZGlyZWN0X2Jsa3MsIGludCBibGtzLAorCQkJCWV4dDRfZnNibGtfdCBuZXdfYmxvY2tzWzRdLCBpbnQgKmVycikKIHsKIAlpbnQgdGFyZ2V0LCBpOwotCXVuc2lnbmVkIGxvbmcgY291bnQgPSAwOworCXVuc2lnbmVkIGxvbmcgY291bnQgPSAwLCBibGtfYWxsb2NhdGVkID0gMDsKIAlpbnQgaW5kZXggPSAwOwogCWV4dDRfZnNibGtfdCBjdXJyZW50X2Jsb2NrID0gMDsKIAlpbnQgcmV0ID0gMDsKQEAgLTUyNSwxMiArNTM5LDEzIEBACiAJICogdGhlIGZpcnN0IGRpcmVjdCBibG9jayBvZiB0aGlzIGJyYW5jaC4gIFRoYXQncyB0aGUKIAkgKiBtaW5pbXVtIG51bWJlciBvZiBibG9ja3MgbmVlZCB0byBhbGxvY2F0ZShyZXF1aXJlZCkKIAkgKi8KLQl0YXJnZXQgPSBibGtzICsgaW5kaXJlY3RfYmxrczsKLQotCXdoaWxlICgxKSB7CisJLyogZmlyc3Qgd2UgdHJ5IHRvIGFsbG9jYXRlIHRoZSBpbmRpcmVjdCBibG9ja3MgKi8KKwl0YXJnZXQgPSBpbmRpcmVjdF9ibGtzOworCXdoaWxlICh0YXJnZXQgPiAwKSB7CiAJCWNvdW50ID0gdGFyZ2V0OwogCQkvKiBhbGxvY2F0aW5nIGJsb2NrcyBmb3IgaW5kaXJlY3QgYmxvY2tzIGFuZCBkaXJlY3QgYmxvY2tzICovCi0JCWN1cnJlbnRfYmxvY2sgPSBleHQ0X25ld19ibG9ja3MoaGFuZGxlLGlub2RlLGdvYWwsJmNvdW50LGVycik7CisJCWN1cnJlbnRfYmxvY2sgPSBleHQ0X25ld19tZXRhX2Jsb2NrcyhoYW5kbGUsIGlub2RlLAorCQkJCQkJCWdvYWwsICZjb3VudCwgZXJyKTsKIAkJaWYgKCplcnIpCiAJCQlnb3RvIGZhaWxlZF9vdXQ7CiAKQEAgLTU0MCwxNiArNTU1LDQ4IEBACiAJCQluZXdfYmxvY2tzW2luZGV4KytdID0gY3VycmVudF9ibG9jaysrOwogCQkJY291bnQtLTsKIAkJfQotCi0JCWlmIChjb3VudCA+IDApCisJCWlmIChjb3VudCA+IDApIHsKKwkJCS8qCisJCQkgKiBzYXZlIHRoZSBuZXcgYmxvY2sgbnVtYmVyCisJCQkgKiBmb3IgdGhlIGZpcnN0IGRpcmVjdCBibG9jaworCQkJICovCisJCQluZXdfYmxvY2tzW2luZGV4XSA9IGN1cnJlbnRfYmxvY2s7CisJCQlwcmludGsoS0VSTl9JTkZPICIlcyByZXR1cm5lZCBtb3JlIGJsb2NrcyB0aGFuICIKKwkJCQkJCSJyZXF1ZXN0ZWRcbiIsIF9fZnVuY19fKTsKKwkJCVdBUk5fT04oMSk7CiAJCQlicmVhazsKKwkJfQogCX0KIAotCS8qIHNhdmUgdGhlIG5ldyBibG9jayBudW1iZXIgZm9yIHRoZSBmaXJzdCBkaXJlY3QgYmxvY2sgKi8KLQluZXdfYmxvY2tzW2luZGV4XSA9IGN1cnJlbnRfYmxvY2s7Ci0KKwl0YXJnZXQgPSBibGtzIC0gY291bnQgOworCWJsa19hbGxvY2F0ZWQgPSBjb3VudDsKKwlpZiAoIXRhcmdldCkKKwkJZ290byBhbGxvY2F0ZWQ7CisJLyogTm93IGFsbG9jYXRlIGRhdGEgYmxvY2tzICovCisJY291bnQgPSB0YXJnZXQ7CisJLyogYWxsb2NhdGluZyBibG9ja3MgZm9yIGRhdGEgYmxvY2tzICovCisJY3VycmVudF9ibG9jayA9IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGUsIGlub2RlLCBpYmxvY2ssCisJCQkJCQlnb2FsLCAmY291bnQsIGVycik7CisJaWYgKCplcnIgJiYgKHRhcmdldCA9PSBibGtzKSkgeworCQkvKgorCQkgKiBpZiB0aGUgYWxsb2NhdGlvbiBmYWlsZWQgYW5kIHdlIGRpZG4ndCBhbGxvY2F0ZQorCQkgKiBhbnkgYmxvY2tzIGJlZm9yZQorCQkgKi8KKwkJZ290byBmYWlsZWRfb3V0OworCX0KKwlpZiAoISplcnIpIHsKKwkJaWYgKHRhcmdldCA9PSBibGtzKSB7CisJCS8qCisJCSAqIHNhdmUgdGhlIG5ldyBibG9jayBudW1iZXIKKwkJICogZm9yIHRoZSBmaXJzdCBkaXJlY3QgYmxvY2sKKwkJICovCisJCQluZXdfYmxvY2tzW2luZGV4XSA9IGN1cnJlbnRfYmxvY2s7CisJCX0KKwkJYmxrX2FsbG9jYXRlZCArPSBjb3VudDsKKwl9CithbGxvY2F0ZWQ6CiAJLyogdG90YWwgbnVtYmVyIG9mIGJsb2NrcyBhbGxvY2F0ZWQgZm9yIGRpcmVjdCBibG9ja3MgKi8KLQlyZXQgPSBjb3VudDsKKwlyZXQgPSBibGtfYWxsb2NhdGVkOwogCSplcnIgPSAwOwogCXJldHVybiByZXQ7CiBmYWlsZWRfb3V0OgpAQCAtNTg0LDggKzYzMSw5IEBACiAgKglhcyBkZXNjcmliZWQgYWJvdmUgYW5kIHJldHVybiAwLgogICovCiBzdGF0aWMgaW50IGV4dDRfYWxsb2NfYnJhbmNoKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQlpbnQgaW5kaXJlY3RfYmxrcywgaW50ICpibGtzLCBleHQ0X2ZzYmxrX3QgZ29hbCwKLQkJCWV4dDRfbGJsa190ICpvZmZzZXRzLCBJbmRpcmVjdCAqYnJhbmNoKQorCQkJCWV4dDRfbGJsa190IGlibG9jaywgaW50IGluZGlyZWN0X2Jsa3MsCisJCQkJaW50ICpibGtzLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQlleHQ0X2xibGtfdCAqb2Zmc2V0cywgSW5kaXJlY3QgKmJyYW5jaCkKIHsKIAlpbnQgYmxvY2tzaXplID0gaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplOwogCWludCBpLCBuID0gMDsKQEAgLTU5NSw3ICs2NDMsNyBAQAogCWV4dDRfZnNibGtfdCBuZXdfYmxvY2tzWzRdOwogCWV4dDRfZnNibGtfdCBjdXJyZW50X2Jsb2NrOwogCi0JbnVtID0gZXh0NF9hbGxvY19ibG9ja3MoaGFuZGxlLCBpbm9kZSwgZ29hbCwgaW5kaXJlY3RfYmxrcywKKwludW0gPSBleHQ0X2FsbG9jX2Jsb2NrcyhoYW5kbGUsIGlub2RlLCBpYmxvY2ssIGdvYWwsIGluZGlyZWN0X2Jsa3MsCiAJCQkJKmJsa3MsIG5ld19ibG9ja3MsICZlcnIpOwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CkBAIC03OTksNiArODQ3LDcgQEAKIAlzdHJ1Y3QgZXh0NF9pbm9kZV9pbmZvICplaSA9IEVYVDRfSShpbm9kZSk7CiAJaW50IGNvdW50ID0gMDsKIAlleHQ0X2ZzYmxrX3QgZmlyc3RfYmxvY2sgPSAwOworCWxvZmZfdCBkaXNrc2l6ZTsKIAogCiAJSl9BU1NFUlQoIShFWFQ0X0koaW5vZGUpLT5pX2ZsYWdzICYgRVhUNF9FWFRFTlRTX0ZMKSk7CkBAIC04NTUsOCArOTA0LDkgQEAKIAkvKgogCSAqIEJsb2NrIG91dCBleHQ0X3RydW5jYXRlIHdoaWxlIHdlIGFsdGVyIHRoZSB0cmVlCiAJICovCi0JZXJyID0gZXh0NF9hbGxvY19icmFuY2goaGFuZGxlLCBpbm9kZSwgaW5kaXJlY3RfYmxrcywgJmNvdW50LCBnb2FsLAotCQkJCW9mZnNldHMgKyAocGFydGlhbCAtIGNoYWluKSwgcGFydGlhbCk7CisJZXJyID0gZXh0NF9hbGxvY19icmFuY2goaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBpbmRpcmVjdF9ibGtzLAorCQkJCQkmY291bnQsIGdvYWwsCisJCQkJCW9mZnNldHMgKyAocGFydGlhbCAtIGNoYWluKSwgcGFydGlhbCk7CiAKIAkvKgogCSAqIFRoZSBleHQ0X3NwbGljZV9icmFuY2ggY2FsbCB3aWxsIGZyZWUgYW5kIGZvcmdldCBhbnkgYnVmZmVycwpAQCAtODczLDggKzkyMywxMyBAQAogCSAqIHByb3RlY3QgaXQgaWYgeW91J3JlIGFib3V0IHRvIGltcGxlbWVudCBjb25jdXJyZW50CiAJICogZXh0NF9nZXRfYmxvY2soKSAtYnp6egogCSovCi0JaWYgKCFlcnIgJiYgZXh0ZW5kX2Rpc2tzaXplICYmIGlub2RlLT5pX3NpemUgPiBlaS0+aV9kaXNrc2l6ZSkKLQkJZWktPmlfZGlza3NpemUgPSBpbm9kZS0+aV9zaXplOworCWlmICghZXJyICYmIGV4dGVuZF9kaXNrc2l6ZSkgeworCQlkaXNrc2l6ZSA9ICgobG9mZl90KSBpYmxvY2sgKyBjb3VudCkgPDwgaW5vZGUtPmlfYmxrYml0czsKKwkJaWYgKGRpc2tzaXplID4gaV9zaXplX3JlYWQoaW5vZGUpKQorCQkJZGlza3NpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJCWlmIChkaXNrc2l6ZSA+IGVpLT5pX2Rpc2tzaXplKQorCQkJZWktPmlfZGlza3NpemUgPSBkaXNrc2l6ZTsKKwl9CiAJaWYgKGVycikKIAkJZ290byBjbGVhbnVwOwogCkBAIC05MzQsNyArOTg5LDcgQEAKICAqLwogaW50IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsIHNlY3Rvcl90IGJsb2NrLAogCQkJdW5zaWduZWQgbG9uZyBtYXhfYmxvY2tzLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLAotCQkJaW50IGNyZWF0ZSwgaW50IGV4dGVuZF9kaXNrc2l6ZSkKKwkJCWludCBjcmVhdGUsIGludCBleHRlbmRfZGlza3NpemUsIGludCBmbGFnKQogewogCWludCByZXR2YWw7CiAKQEAgLTk3NSw2ICsxMDMwLDE1IEBACiAJICogd2l0aCBjcmVhdGUgPT0gMSBmbGFnLgogCSAqLwogCWRvd25fd3JpdGUoKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKSk7CisKKwkvKgorCSAqIGlmIHRoZSBjYWxsZXIgaXMgZnJvbSBkZWxheWVkIGFsbG9jYXRpb24gd3JpdGVvdXQgcGF0aAorCSAqIHdlIGhhdmUgYWxyZWFkeSByZXNlcnZlZCBmcyBibG9ja3MgZm9yIGFsbG9jYXRpb24KKwkgKiBsZXQgdGhlIHVuZGVybHlpbmcgZ2V0X2Jsb2NrKCkgZnVuY3Rpb24ga25vdyB0bworCSAqIGF2b2lkIGRvdWJsZSBhY2NvdW50aW5nCisJICovCisJaWYgKGZsYWcpCisJCUVYVDRfSShpbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZyA9IDE7CiAJLyoKIAkgKiBXZSBuZWVkIHRvIGNoZWNrIGZvciBFWFQ0IGhlcmUgYmVjYXVzZSBtaWdyYXRlCiAJICogY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBpbm9kZSB0eXBlIGluIGJldHdlZW4KQEAgLTk5Niw2ICsxMDYwLDE4IEBACiAJCQkJCQkJfkVYVDRfRVhUX01JR1JBVEU7CiAJCX0KIAl9CisKKwlpZiAoZmxhZykgeworCQlFWFQ0X0koaW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcgPSAwOworCQkvKgorCQkgKiBVcGRhdGUgcmVzZXJ2ZWQgYmxvY2tzL21ldGFkYXRhIGJsb2NrcworCQkgKiBhZnRlciBzdWNjZXNzZnVsIGJsb2NrIGFsbG9jYXRpb24KKwkJICogd2hpY2ggd2VyZSBkZWZlcnJlZCB0aWxsIG5vdworCQkgKi8KKwkJaWYgKChyZXR2YWwgPiAwKSAmJiBidWZmZXJfZGVsYXkoYmgpKQorCQkJZXh0NF9kYV9yZWxlYXNlX3NwYWNlKGlub2RlLCByZXR2YWwsIDApOworCX0KKwogCXVwX3dyaXRlKCgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSkpOwogCXJldHVybiByZXR2YWw7CiB9CkBAIC0xMDIxLDcgKzEwOTcsNyBAQAogCX0KIAogCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZSwgaW5vZGUsIGlibG9jaywKLQkJCQkJbWF4X2Jsb2NrcywgYmhfcmVzdWx0LCBjcmVhdGUsIDApOworCQkJCQltYXhfYmxvY2tzLCBiaF9yZXN1bHQsIGNyZWF0ZSwgMCwgMCk7CiAJaWYgKHJldCA+IDApIHsKIAkJYmhfcmVzdWx0LT5iX3NpemUgPSAocmV0IDw8IGlub2RlLT5pX2Jsa2JpdHMpOwogCQlyZXQgPSAwOwpAQCAtMTA0Nyw3ICsxMTIzLDcgQEAKIAlkdW1teS5iX2Jsb2NrbnIgPSAtMTAwMDsKIAlidWZmZXJfdHJhY2VfaW5pdCgmZHVtbXkuYl9oaXN0b3J5KTsKIAllcnIgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGUsIGlub2RlLCBibG9jaywgMSwKLQkJCQkJJmR1bW15LCBjcmVhdGUsIDEpOworCQkJCQkmZHVtbXksIGNyZWF0ZSwgMSwgMCk7CiAJLyoKIAkgKiBleHQ0X2dldF9ibG9ja3NfaGFuZGxlKCkgcmV0dXJucyBudW1iZXIgb2YgYmxvY2tzCiAJICogbWFwcGVkLiAwIGluIGNhc2Ugb2YgYSBIT0xFLgpAQCAtMTIwMywxOSArMTI3OSwyMCBAQAogIAl0byA9IGZyb20gKyBsZW47CiAKIHJldHJ5OgotIAlwYWdlID0gX19ncmFiX2NhY2hlX3BhZ2UobWFwcGluZywgaW5kZXgpOwotIAlpZiAoIXBhZ2UpCi0gCQlyZXR1cm4gLUVOT01FTTsKLSAJKnBhZ2VwID0gcGFnZTsKLQogICAJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBuZWVkZWRfYmxvY2tzKTsKICAgCWlmIChJU19FUlIoaGFuZGxlKSkgewotIAkJdW5sb2NrX3BhZ2UocGFnZSk7Ci0gCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAgIAkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOwogICAJCWdvdG8gb3V0OwogCX0KIAorCXBhZ2UgPSBfX2dyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBpbmRleCk7CisJaWYgKCFwYWdlKSB7CisJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KKwkqcGFnZXAgPSBwYWdlOworCiAJcmV0ID0gYmxvY2tfd3JpdGVfYmVnaW4oZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGZsYWdzLCBwYWdlcCwgZnNkYXRhLAogCQkJCQkJCWV4dDRfZ2V0X2Jsb2NrKTsKIApAQCAtMTIyNSw4ICsxMzAyLDggQEAKIAl9CiAKIAlpZiAocmV0KSB7Ci0JCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAgCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKICAJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAl9CiAKQEAgLTEyMzYsMTUgKzEzMTMsNiBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQotewotCWludCBlcnIgPSBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGUsIGJoKTsKLQlpZiAoZXJyKQotCQlleHQ0X2pvdXJuYWxfYWJvcnRfaGFuZGxlKF9fZnVuY19fLCBfX2Z1bmNfXywKLQkJCQkJCWJoLCBoYW5kbGUsIGVycik7Ci0JcmV0dXJuIGVycjsKLX0KLQogLyogRm9yIHdyaXRlX2VuZCgpIGluIGRhdGE9am91cm5hbCBtb2RlICovCiBzdGF0aWMgaW50IHdyaXRlX2VuZF9mbihoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQogewpAQCAtMTI1NSwyOSArMTMyMyw2IEBACiB9CiAKIC8qCi0gKiBHZW5lcmljIHdyaXRlX2VuZCBoYW5kbGVyIGZvciBvcmRlcmVkIGFuZCB3cml0ZWJhY2sgZXh0NCBqb3VybmFsIG1vZGVzLgotICogV2UgY2FuJ3QgdXNlIGdlbmVyaWNfd3JpdGVfZW5kLCBiZWNhdXNlIHRoYXQgdW5sb2NrcyB0aGUgcGFnZSBhbmQgd2UgbmVlZCB0bwotICogdW5sb2NrIHRoZSBwYWdlIGFmdGVyIGV4dDRfam91cm5hbF9zdG9wLCBidXQgZXh0NF9qb3VybmFsX3N0b3AgbXVzdCBydW4KLSAqIGFmdGVyIGJsb2NrX3dyaXRlX2VuZC4KLSAqLwotc3RhdGljIGludCBleHQ0X2dlbmVyaWNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLAotCQkJCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAotCQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLAotCQkJCXN0cnVjdCBwYWdlICpwYWdlLCB2b2lkICpmc2RhdGEpCi17Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfbWFwcGluZy0+aG9zdDsKLQotCWNvcGllZCA9IGJsb2NrX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBwYWdlLCBmc2RhdGEpOwotCi0JaWYgKHBvcytjb3BpZWQgPiBpbm9kZS0+aV9zaXplKSB7Ci0JCWlfc2l6ZV93cml0ZShpbm9kZSwgcG9zK2NvcGllZCk7Ci0JCW1hcmtfaW5vZGVfZGlydHkoaW5vZGUpOwotCX0KLQotCXJldHVybiBjb3BpZWQ7Ci19Ci0KLS8qCiAgKiBXZSBuZWVkIHRvIHBpY2sgdXAgdGhlIG5ldyBpbm9kZSBzaXplIHdoaWNoIGdlbmVyaWNfY29tbWl0X3dyaXRlIGdhdmUgdXMKICAqIGBmaWxlJyBjYW4gYmUgTlVMTCAtIGVnLCB3aGVuIGNhbGxlZCBmcm9tIHBhZ2Vfc3ltbGluaygpLgogICoKQEAgLTEyOTAsMTUgKzEzMzUsMTQgQEAKIAkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQogewogCWhhbmRsZV90ICpoYW5kbGUgPSBleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKTsKLQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9tYXBwaW5nLT5ob3N0OworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OwogCXVuc2lnbmVkIGZyb20sIHRvOwogCWludCByZXQgPSAwLCByZXQyOwogCiAJZnJvbSA9IHBvcyAmIChQQUdFX0NBQ0hFX1NJWkUgLSAxKTsKIAl0byA9IGZyb20gKyBsZW47CiAKLQlyZXQgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmZmVycyhwYWdlKSwKLQkJZnJvbSwgdG8sIE5VTEwsIGV4dDRfam91cm5hbF9kaXJ0eV9kYXRhKTsKKwlyZXQgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsIGlub2RlKTsKIAogCWlmIChyZXQgPT0gMCkgewogCQkvKgpAQCAtMTMxMSw3ICsxMzU1LDcgQEAKIAkJbmV3X2lfc2l6ZSA9IHBvcyArIGNvcGllZDsKIAkJaWYgKG5ld19pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQogCQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IG5ld19pX3NpemU7Ci0JCXJldDIgPSBleHQ0X2dlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCisJCXJldDIgPSBnZW5lcmljX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLAogCQkJCQkJCXBhZ2UsIGZzZGF0YSk7CiAJCWNvcGllZCA9IHJldDI7CiAJCWlmIChyZXQyIDwgMCkKQEAgLTEzMjAsOCArMTM2NCw2IEBACiAJcmV0MiA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IHJldDI7Ci0JdW5sb2NrX3BhZ2UocGFnZSk7Ci0JcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGNvcGllZDsKIH0KQEAgLTEzMzIsNyArMTM3NCw3IEBACiAJCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKIHsKIAloYW5kbGVfdCAqaGFuZGxlID0gZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCk7Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfbWFwcGluZy0+aG9zdDsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKIAlpbnQgcmV0ID0gMCwgcmV0MjsKIAlsb2ZmX3QgbmV3X2lfc2l6ZTsKIApAQCAtMTM0MCw3ICsxMzgyLDcgQEAKIAlpZiAobmV3X2lfc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCiAJCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBuZXdfaV9zaXplOwogCi0JcmV0MiA9IGV4dDRfZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKKwlyZXQyID0gZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKIAkJCQkJCQlwYWdlLCBmc2RhdGEpOwogCWNvcGllZCA9IHJldDI7CiAJaWYgKHJldDIgPCAwKQpAQCAtMTM0OSw4ICsxMzkxLDYgQEAKIAlyZXQyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKIAlpZiAoIXJldCkKIAkJcmV0ID0gcmV0MjsKLQl1bmxvY2tfcGFnZShwYWdlKTsKLQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDogY29waWVkOwogfQpAQCAtMTM4OSwxNCArMTQyOSw5NjUgQEAKIAkJCXJldCA9IHJldDI7CiAJfQogCisJdW5sb2NrX3BhZ2UocGFnZSk7CiAJcmV0MiA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IHJldDI7Ci0JdW5sb2NrX3BhZ2UocGFnZSk7CiAJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGNvcGllZDsKIH0KKy8qCisgKiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtZXRhZGF0YSBibG9ja3MgbmVlZCB0byByZXNlcnZlCisgKiB0byBhbGxvY2F0ZSBAYmxvY2tzIGZvciBub24gZXh0ZW50IGZpbGUgYmFzZWQgZmlsZQorICovCitzdGF0aWMgaW50IGV4dDRfaW5kaXJlY3RfY2FsY19tZXRhZGF0YV9hbW91bnQoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGJsb2NrcykKK3sKKwlpbnQgaWNhcCA9IEVYVDRfQUREUl9QRVJfQkxPQ0soaW5vZGUtPmlfc2IpOworCWludCBpbmRfYmxrcywgZGluZF9ibGtzLCB0aW5kX2Jsa3M7CisKKwkvKiBudW1iZXIgb2YgbmV3IGluZGlyZWN0IGJsb2NrcyBuZWVkZWQgKi8KKwlpbmRfYmxrcyA9IChibG9ja3MgKyBpY2FwIC0gMSkgLyBpY2FwOworCisJZGluZF9ibGtzID0gKGluZF9ibGtzICsgaWNhcCAtIDEpIC8gaWNhcDsKKworCXRpbmRfYmxrcyA9IDE7CisKKwlyZXR1cm4gaW5kX2Jsa3MgKyBkaW5kX2Jsa3MgKyB0aW5kX2Jsa3M7Cit9CisKKy8qCisgKiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtZXRhZGF0YSBibG9ja3MgbmVlZCB0byByZXNlcnZlCisgKiB0byBhbGxvY2F0ZSBnaXZlbiBudW1iZXIgb2YgYmxvY2tzCisgKi8KK3N0YXRpYyBpbnQgZXh0NF9jYWxjX21ldGFkYXRhX2Ftb3VudChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgYmxvY2tzKQoreworCWlmIChFWFQ0X0koaW5vZGUpLT5pX2ZsYWdzICYgRVhUNF9FWFRFTlRTX0ZMKQorCQlyZXR1cm4gZXh0NF9leHRfY2FsY19tZXRhZGF0YV9hbW91bnQoaW5vZGUsIGJsb2Nrcyk7CisKKwlyZXR1cm4gZXh0NF9pbmRpcmVjdF9jYWxjX21ldGFkYXRhX2Ftb3VudChpbm9kZSwgYmxvY2tzKTsKK30KKworc3RhdGljIGludCBleHQ0X2RhX3Jlc2VydmVfc3BhY2Uoc3RydWN0IGlub2RlICppbm9kZSwgaW50IG5yYmxvY2tzKQoreworICAgICAgIHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0IoaW5vZGUtPmlfc2IpOworICAgICAgIHVuc2lnbmVkIGxvbmcgbWRfbmVlZGVkLCBtZGJsb2NrcywgdG90YWwgPSAwOworCisJLyoKKwkgKiByZWNhbGN1bGF0ZSB0aGUgYW1vdW50IG9mIG1ldGFkYXRhIGJsb2NrcyB0byByZXNlcnZlCisJICogaW4gb3JkZXIgdG8gYWxsb2NhdGUgbnJibG9ja3MKKwkgKiB3b3JzZSBjYXNlIGlzIG9uZSBleHRlbnQgcGVyIGJsb2NrCisJICovCisJc3Bpbl9sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCXRvdGFsID0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrcyArIG5yYmxvY2tzOworCW1kYmxvY2tzID0gZXh0NF9jYWxjX21ldGFkYXRhX2Ftb3VudChpbm9kZSwgdG90YWwpOworCUJVR19PTihtZGJsb2NrcyA8IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MpOworCisJbWRfbmVlZGVkID0gbWRibG9ja3MgLSBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzOworCXRvdGFsID0gbWRfbmVlZGVkICsgbnJibG9ja3M7CisKKwlpZiAoZXh0NF9oYXNfZnJlZV9ibG9ja3Moc2JpLCB0b3RhbCkgPCB0b3RhbCkgeworCQlzcGluX3VubG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwkJcmV0dXJuIC1FTk9TUEM7CisJfQorCisJLyogcmVkdWNlIGZzIGZyZWUgYmxvY2tzIGNvdW50ZXIgKi8KKwlwZXJjcHVfY291bnRlcl9zdWIoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIHRvdGFsKTsKKworCUVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgKz0gbnJibG9ja3M7CisJRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrcyA9IG1kYmxvY2tzOworCisJc3Bpbl91bmxvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJcmV0dXJuIDA7ICAgICAgIC8qIHN1Y2Nlc3MgKi8KK30KKwordm9pZCBleHQ0X2RhX3JlbGVhc2Vfc3BhY2Uoc3RydWN0IGlub2RlICppbm9kZSwgaW50IHVzZWQsIGludCB0b19mcmVlKQoreworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0IoaW5vZGUtPmlfc2IpOworCWludCB0b3RhbCwgbWRiLCBtZGJfZnJlZSwgcmVsZWFzZTsKKworCXNwaW5fbG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwkvKiByZWNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIG1ldGFibG9ja3Mgc3RpbGwgbmVlZCB0byBiZSByZXNlcnZlZCAqLworCXRvdGFsID0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrcyAtIHVzZWQgLSB0b19mcmVlOworCW1kYiA9IGV4dDRfY2FsY19tZXRhZGF0YV9hbW91bnQoaW5vZGUsIHRvdGFsKTsKKworCS8qIGZpZ3VyZSBvdXQgaG93IG1hbnkgbWV0YWJsb2NrcyB0byByZWxlYXNlICovCisJQlVHX09OKG1kYiA+IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MpOworCW1kYl9mcmVlID0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrcyAtIG1kYjsKKworCS8qIEFjY291bnQgZm9yIGFsbG9jYXRlZCBtZXRhX2Jsb2NrcyAqLworCW1kYl9mcmVlIC09IEVYVDRfSShpbm9kZSktPmlfYWxsb2NhdGVkX21ldGFfYmxvY2tzOworCisJcmVsZWFzZSA9IHRvX2ZyZWUgKyBtZGJfZnJlZTsKKworCS8qIHVwZGF0ZSBmcyBmcmVlIGJsb2NrcyBjb3VudGVyIGZvciB0cnVuY2F0ZSBjYXNlICovCisJcGVyY3B1X2NvdW50ZXJfYWRkKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCByZWxlYXNlKTsKKworCS8qIHVwZGF0ZSBwZXItaW5vZGUgcmVzZXJ2YXRpb25zICovCisJQlVHX09OKHVzZWQgKyB0b19mcmVlID4gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2Nrcyk7CisJRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrcyAtPSAodXNlZCArIHRvX2ZyZWUpOworCisJQlVHX09OKG1kYiA+IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MpOworCUVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MgPSBtZGI7CisJRVhUNF9JKGlub2RlKS0+aV9hbGxvY2F0ZWRfbWV0YV9ibG9ja3MgPSAwOworCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBleHQ0X2RhX3BhZ2VfcmVsZWFzZV9yZXNlcnZhdGlvbihzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCWludCB0b19yZWxlYXNlID0gMDsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmhlYWQsICpiaDsKKwl1bnNpZ25lZCBpbnQgY3Vycl9vZmYgPSAwOworCisJaGVhZCA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwliaCA9IGhlYWQ7CisJZG8geworCQl1bnNpZ25lZCBpbnQgbmV4dF9vZmYgPSBjdXJyX29mZiArIGJoLT5iX3NpemU7CisKKwkJaWYgKChvZmZzZXQgPD0gY3Vycl9vZmYpICYmIChidWZmZXJfZGVsYXkoYmgpKSkgeworCQkJdG9fcmVsZWFzZSsrOworCQkJY2xlYXJfYnVmZmVyX2RlbGF5KGJoKTsKKwkJfQorCQljdXJyX29mZiA9IG5leHRfb2ZmOworCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisJZXh0NF9kYV9yZWxlYXNlX3NwYWNlKHBhZ2UtPm1hcHBpbmctPmhvc3QsIDAsIHRvX3JlbGVhc2UpOworfQorCisvKgorICogRGVsYXllZCBhbGxvY2F0aW9uIHN0dWZmCisgKi8KKworc3RydWN0IG1wYWdlX2RhX2RhdGEgeworCXN0cnVjdCBpbm9kZSAqaW5vZGU7CisJc3RydWN0IGJ1ZmZlcl9oZWFkIGxiaDsJCQkvKiBleHRlbnQgb2YgYmxvY2tzICovCisJdW5zaWduZWQgbG9uZyBmaXJzdF9wYWdlLCBuZXh0X3BhZ2U7CS8qIGV4dGVudCBvZiBwYWdlcyAqLworCWdldF9ibG9ja190ICpnZXRfYmxvY2s7CisJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmM7Cit9OworCisvKgorICogbXBhZ2VfZGFfc3VibWl0X2lvIC0gd2Fsa3MgdGhyb3VnaCBleHRlbnQgb2YgcGFnZXMgYW5kIHRyeSB0byB3cml0ZQorICogdGhlbSB3aXRoIF9fbXBhZ2Vfd3JpdGVwYWdlKCkKKyAqCisgKiBAbXBkLT5pbm9kZTogaW5vZGUKKyAqIEBtcGQtPmZpcnN0X3BhZ2U6IGZpcnN0IHBhZ2Ugb2YgdGhlIGV4dGVudAorICogQG1wZC0+bmV4dF9wYWdlOiBwYWdlIGFmdGVyIHRoZSBsYXN0IHBhZ2Ugb2YgdGhlIGV4dGVudAorICogQG1wZC0+Z2V0X2Jsb2NrOiB0aGUgZmlsZXN5c3RlbSdzIGJsb2NrIG1hcHBlciBmdW5jdGlvbgorICoKKyAqIEJ5IHRoZSB0aW1lIG1wYWdlX2RhX3N1Ym1pdF9pbygpIGlzIGNhbGxlZCB3ZSBleHBlY3QgYWxsIGJsb2NrcworICogdG8gYmUgYWxsb2NhdGVkLiB0aGlzIG1heSBiZSB3cm9uZyBpZiBhbGxvY2F0aW9uIGZhaWxlZC4KKyAqCisgKiBBcyBwYWdlcyBhcmUgYWxyZWFkeSBsb2NrZWQgYnkgd3JpdGVfY2FjaGVfcGFnZXMoKSwgd2UgY2FuJ3QgdXNlIGl0CisgKi8KK3N0YXRpYyBpbnQgbXBhZ2VfZGFfc3VibWl0X2lvKHN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQpCit7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBtcGQtPmlub2RlLT5pX21hcHBpbmc7CisJc3RydWN0IG1wYWdlX2RhdGEgbXBkX3BwID0geworCQkuYmlvID0gTlVMTCwKKwkJLmxhc3RfYmxvY2tfaW5fYmlvID0gMCwKKwkJLmdldF9ibG9jayA9IG1wZC0+Z2V0X2Jsb2NrLAorCQkudXNlX3dyaXRlcGFnZSA9IDEsCisJfTsKKwlpbnQgcmV0ID0gMCwgZXJyLCBucl9wYWdlcywgaTsKKwl1bnNpZ25lZCBsb25nIGluZGV4LCBlbmQ7CisJc3RydWN0IHBhZ2V2ZWMgcHZlYzsKKworCUJVR19PTihtcGQtPm5leHRfcGFnZSA8PSBtcGQtPmZpcnN0X3BhZ2UpOworCisJcGFnZXZlY19pbml0KCZwdmVjLCAwKTsKKwlpbmRleCA9IG1wZC0+Zmlyc3RfcGFnZTsKKwllbmQgPSBtcGQtPm5leHRfcGFnZSAtIDE7CisKKwl3aGlsZSAoaW5kZXggPD0gZW5kKSB7CisJCS8qIFhYWDogb3B0aW1pemUgdGFpbCAqLworCQlucl9wYWdlcyA9IHBhZ2V2ZWNfbG9va3VwKCZwdmVjLCBtYXBwaW5nLCBpbmRleCwgUEFHRVZFQ19TSVpFKTsKKwkJaWYgKG5yX3BhZ2VzID09IDApCisJCQlicmVhazsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3BhZ2VzOyBpKyspIHsKKwkJCXN0cnVjdCBwYWdlICpwYWdlID0gcHZlYy5wYWdlc1tpXTsKKworCQkJaW5kZXggPSBwYWdlLT5pbmRleDsKKwkJCWlmIChpbmRleCA+IGVuZCkKKwkJCQlicmVhazsKKwkJCWluZGV4Kys7CisKKwkJCWVyciA9IF9fbXBhZ2Vfd3JpdGVwYWdlKHBhZ2UsIG1wZC0+d2JjLCAmbXBkX3BwKTsKKworCQkJLyoKKwkJCSAqIEluIGVycm9yIGNhc2UsIHdlIGhhdmUgdG8gY29udGludWUgYmVjYXVzZQorCQkJICogcmVtYWluaW5nIHBhZ2VzIGFyZSBzdGlsbCBsb2NrZWQKKwkJCSAqIFhYWDogdW5sb2NrIGFuZCByZS1kaXJ0eSB0aGVtPworCQkJICovCisJCQlpZiAocmV0ID09IDApCisJCQkJcmV0ID0gZXJyOworCQl9CisJCXBhZ2V2ZWNfcmVsZWFzZSgmcHZlYyk7CisJfQorCWlmIChtcGRfcHAuYmlvKQorCQltcGFnZV9iaW9fc3VibWl0KFdSSVRFLCBtcGRfcHAuYmlvKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBtcGFnZV9wdXRfYm5yX3RvX2JocyAtIHdhbGsgYmxvY2tzIGFuZCBhc3NpZ24gdGhlbSBhY3R1YWwgbnVtYmVycworICoKKyAqIEBtcGQtPmlub2RlIC0gaW5vZGUgdG8gd2FsayB0aHJvdWdoCisgKiBAZXhiaC0+Yl9ibG9ja25yIC0gZmlyc3QgYmxvY2sgb24gYSBkaXNrCisgKiBAZXhiaC0+Yl9zaXplIC0gYW1vdW50IG9mIHNwYWNlIGluIGJ5dGVzCisgKiBAbG9naWNhbCAtIGZpcnN0IGxvZ2ljYWwgYmxvY2sgdG8gc3RhcnQgYXNzaWdubWVudCB3aXRoCisgKgorICogdGhlIGZ1bmN0aW9uIGdvZXMgdGhyb3VnaCBhbGwgcGFzc2VkIHNwYWNlIGFuZCBwdXQgYWN0dWFsIGRpc2sKKyAqIGJsb2NrIG51bWJlcnMgaW50byBidWZmZXIgaGVhZHMsIGRyb3BwaW5nIEJIX0RlbGF5CisgKi8KK3N0YXRpYyB2b2lkIG1wYWdlX3B1dF9ibnJfdG9fYmhzKHN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQsIHNlY3Rvcl90IGxvZ2ljYWwsCisJCQkJIHN0cnVjdCBidWZmZXJfaGVhZCAqZXhiaCkKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbXBkLT5pbm9kZTsKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7CisJaW50IGJsb2NrcyA9IGV4YmgtPmJfc2l6ZSA+PiBpbm9kZS0+aV9ibGtiaXRzOworCXNlY3Rvcl90IHBibG9jayA9IGV4YmgtPmJfYmxvY2tuciwgY3VyX2xvZ2ljYWw7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpoZWFkLCAqYmg7CisJdW5zaWduZWQgbG9uZyBpbmRleCwgZW5kOworCXN0cnVjdCBwYWdldmVjIHB2ZWM7CisJaW50IG5yX3BhZ2VzLCBpOworCisJaW5kZXggPSBsb2dpY2FsID4+IChQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfYmxrYml0cyk7CisJZW5kID0gKGxvZ2ljYWwgKyBibG9ja3MgLSAxKSA+PiAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOworCWN1cl9sb2dpY2FsID0gaW5kZXggPDwgKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9ibGtiaXRzKTsKKworCXBhZ2V2ZWNfaW5pdCgmcHZlYywgMCk7CisKKwl3aGlsZSAoaW5kZXggPD0gZW5kKSB7CisJCS8qIFhYWDogb3B0aW1pemUgdGFpbCAqLworCQlucl9wYWdlcyA9IHBhZ2V2ZWNfbG9va3VwKCZwdmVjLCBtYXBwaW5nLCBpbmRleCwgUEFHRVZFQ19TSVpFKTsKKwkJaWYgKG5yX3BhZ2VzID09IDApCisJCQlicmVhazsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3BhZ2VzOyBpKyspIHsKKwkJCXN0cnVjdCBwYWdlICpwYWdlID0gcHZlYy5wYWdlc1tpXTsKKworCQkJaW5kZXggPSBwYWdlLT5pbmRleDsKKwkJCWlmIChpbmRleCA+IGVuZCkKKwkJCQlicmVhazsKKwkJCWluZGV4Kys7CisKKwkJCUJVR19PTighUGFnZUxvY2tlZChwYWdlKSk7CisJCQlCVUdfT04oUGFnZVdyaXRlYmFjayhwYWdlKSk7CisJCQlCVUdfT04oIXBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpOworCisJCQliaCA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwkJCWhlYWQgPSBiaDsKKworCQkJLyogc2tpcCBibG9ja3Mgb3V0IG9mIHRoZSByYW5nZSAqLworCQkJZG8geworCQkJCWlmIChjdXJfbG9naWNhbCA+PSBsb2dpY2FsKQorCQkJCQlicmVhazsKKwkJCQljdXJfbG9naWNhbCsrOworCQkJfSB3aGlsZSAoKGJoID0gYmgtPmJfdGhpc19wYWdlKSAhPSBoZWFkKTsKKworCQkJZG8geworCQkJCWlmIChjdXJfbG9naWNhbCA+PSBsb2dpY2FsICsgYmxvY2tzKQorCQkJCQlicmVhazsKKwkJCQlpZiAoYnVmZmVyX2RlbGF5KGJoKSkgeworCQkJCQliaC0+Yl9ibG9ja25yID0gcGJsb2NrOworCQkJCQljbGVhcl9idWZmZXJfZGVsYXkoYmgpOworCQkJCX0gZWxzZSBpZiAoYnVmZmVyX21hcHBlZChiaCkpCisJCQkJCUJVR19PTihiaC0+Yl9ibG9ja25yICE9IHBibG9jayk7CisKKwkJCQljdXJfbG9naWNhbCsrOworCQkJCXBibG9jaysrOworCQkJfSB3aGlsZSAoKGJoID0gYmgtPmJfdGhpc19wYWdlKSAhPSBoZWFkKTsKKwkJfQorCQlwYWdldmVjX3JlbGVhc2UoJnB2ZWMpOworCX0KK30KKworCisvKgorICogX191bm1hcF91bmRlcmx5aW5nX2Jsb2NrcyAtIGp1c3QgYSBoZWxwZXIgZnVuY3Rpb24gdG8gdW5tYXAKKyAqIHNldCBvZiBibG9ja3MgZGVzY3JpYmVkIGJ5IEBiaAorICovCitzdGF0aWMgaW5saW5lIHZvaWQgX191bm1hcF91bmRlcmx5aW5nX2Jsb2NrcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCQkgICAgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCit7CisJc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiA9IGlub2RlLT5pX3NiLT5zX2JkZXY7CisJaW50IGJsb2NrcywgaTsKKworCWJsb2NrcyA9IGJoLT5iX3NpemUgPj4gaW5vZGUtPmlfYmxrYml0czsKKwlmb3IgKGkgPSAwOyBpIDwgYmxvY2tzOyBpKyspCisJCXVubWFwX3VuZGVybHlpbmdfbWV0YWRhdGEoYmRldiwgYmgtPmJfYmxvY2tuciArIGkpOworfQorCisvKgorICogbXBhZ2VfZGFfbWFwX2Jsb2NrcyAtIGdvIHRocm91Z2ggZ2l2ZW4gc3BhY2UKKyAqCisgKiBAbXBkLT5sYmggLSBiaCBkZXNjcmliaW5nIHNwYWNlCisgKiBAbXBkLT5nZXRfYmxvY2sgLSB0aGUgZmlsZXN5c3RlbSdzIGJsb2NrIG1hcHBlciBmdW5jdGlvbgorICoKKyAqIFRoZSBmdW5jdGlvbiBza2lwcyBzcGFjZSB3ZSBrbm93IGlzIGFscmVhZHkgbWFwcGVkIHRvIGRpc2sgYmxvY2tzLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpZ25vcmVzIGVycm9ycyAtPmdldF9ibG9jaygpIHJldHVybnMsIHRodXMgcmVhbAorICogZXJyb3IgaGFuZGxpbmcgaXMgcG9zdHBvbmVkIHRvIF9fbXBhZ2Vfd3JpdGVwYWdlKCkKKyAqLworc3RhdGljIHZvaWQgbXBhZ2VfZGFfbWFwX2Jsb2NrcyhzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSAqbXBkKQoreworCXN0cnVjdCBidWZmZXJfaGVhZCAqbGJoID0gJm1wZC0+bGJoOworCWludCBlcnIgPSAwLCByZW1haW4gPSBsYmgtPmJfc2l6ZTsKKwlzZWN0b3JfdCBuZXh0ID0gbGJoLT5iX2Jsb2NrbnI7CisJc3RydWN0IGJ1ZmZlcl9oZWFkIG5ldzsKKworCS8qCisJICogV2UgY29uc2lkZXIgb25seSBub24tbWFwcGVkIGFuZCBub24tYWxsb2NhdGVkIGJsb2NrcworCSAqLworCWlmIChidWZmZXJfbWFwcGVkKGxiaCkgJiYgIWJ1ZmZlcl9kZWxheShsYmgpKQorCQlyZXR1cm47CisKKwl3aGlsZSAocmVtYWluKSB7CisJCW5ldy5iX3N0YXRlID0gbGJoLT5iX3N0YXRlOworCQluZXcuYl9ibG9ja25yID0gMDsKKwkJbmV3LmJfc2l6ZSA9IHJlbWFpbjsKKwkJZXJyID0gbXBkLT5nZXRfYmxvY2sobXBkLT5pbm9kZSwgbmV4dCwgJm5ldywgMSk7CisJCWlmIChlcnIpIHsKKwkJCS8qCisJCQkgKiBSYXRoZXIgdGhhbiBpbXBsZW1lbnQgb3duIGVycm9yIGhhbmRsaW5nCisJCQkgKiBoZXJlLCB3ZSBqdXN0IGxlYXZlIHJlbWFpbmluZyBibG9ja3MKKwkJCSAqIHVuYWxsb2NhdGVkIGFuZCB0cnkgYWdhaW4gd2l0aCAtPndyaXRlcGFnZSgpCisJCQkgKi8KKwkJCWJyZWFrOworCQl9CisJCUJVR19PTihuZXcuYl9zaXplID09IDApOworCisJCWlmIChidWZmZXJfbmV3KCZuZXcpKQorCQkJX191bm1hcF91bmRlcmx5aW5nX2Jsb2NrcyhtcGQtPmlub2RlLCAmbmV3KTsKKworCQkvKgorCQkgKiBJZiBibG9ja3MgYXJlIGRlbGF5ZWQgbWFya2VkLCB3ZSBuZWVkIHRvCisJCSAqIHB1dCBhY3R1YWwgYmxvY2tuciBhbmQgZHJvcCBkZWxheWVkIGJpdAorCQkgKi8KKwkJaWYgKGJ1ZmZlcl9kZWxheShsYmgpKQorCQkJbXBhZ2VfcHV0X2Jucl90b19iaHMobXBkLCBuZXh0LCAmbmV3KTsKKworCQkvKiBnbyBmb3IgdGhlIHJlbWFpbmluZyBibG9ja3MgKi8KKwkJbmV4dCArPSBuZXcuYl9zaXplID4+IG1wZC0+aW5vZGUtPmlfYmxrYml0czsKKwkJcmVtYWluIC09IG5ldy5iX3NpemU7CisJfQorfQorCisjZGVmaW5lIEJIX0ZMQUdTICgoMSA8PCBCSF9VcHRvZGF0ZSkgfCAoMSA8PCBCSF9NYXBwZWQpIHwgKDEgPDwgQkhfRGVsYXkpKQorCisvKgorICogbXBhZ2VfYWRkX2JoX3RvX2V4dGVudCAtIHRyeSB0byBhZGQgb25lIG1vcmUgYmxvY2sgdG8gZXh0ZW50IG9mIGJsb2NrcworICoKKyAqIEBtcGQtPmxiaCAtIGV4dGVudCBvZiBibG9ja3MKKyAqIEBsb2dpY2FsIC0gbG9naWNhbCBudW1iZXIgb2YgdGhlIGJsb2NrIGluIHRoZSBmaWxlCisgKiBAYmggLSBiaCBvZiB0aGUgYmxvY2sgKHVzZWQgdG8gYWNjZXNzIGJsb2NrJ3Mgc3RhdGUpCisgKgorICogdGhlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY29sbGVjdCBjb250aWcuIGJsb2NrcyBpbiBzYW1lIHN0YXRlCisgKi8KK3N0YXRpYyB2b2lkIG1wYWdlX2FkZF9iaF90b19leHRlbnQoc3RydWN0IG1wYWdlX2RhX2RhdGEgKm1wZCwKKwkJCQkgICBzZWN0b3JfdCBsb2dpY2FsLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQoreworCXN0cnVjdCBidWZmZXJfaGVhZCAqbGJoID0gJm1wZC0+bGJoOworCXNlY3Rvcl90IG5leHQ7CisKKwluZXh0ID0gbGJoLT5iX2Jsb2NrbnIgKyAobGJoLT5iX3NpemUgPj4gbXBkLT5pbm9kZS0+aV9ibGtiaXRzKTsKKworCS8qCisJICogRmlyc3QgYmxvY2sgaW4gdGhlIGV4dGVudAorCSAqLworCWlmIChsYmgtPmJfc2l6ZSA9PSAwKSB7CisJCWxiaC0+Yl9ibG9ja25yID0gbG9naWNhbDsKKwkJbGJoLT5iX3NpemUgPSBiaC0+Yl9zaXplOworCQlsYmgtPmJfc3RhdGUgPSBiaC0+Yl9zdGF0ZSAmIEJIX0ZMQUdTOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBDYW4gd2UgbWVyZ2UgdGhlIGJsb2NrIHRvIG91ciBiaWcgZXh0ZW50PworCSAqLworCWlmIChsb2dpY2FsID09IG5leHQgJiYgKGJoLT5iX3N0YXRlICYgQkhfRkxBR1MpID09IGxiaC0+Yl9zdGF0ZSkgeworCQlsYmgtPmJfc2l6ZSArPSBiaC0+Yl9zaXplOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBXZSBjb3VsZG4ndCBtZXJnZSB0aGUgYmxvY2sgdG8gb3VyIGV4dGVudCwgc28gd2UKKwkgKiBuZWVkIHRvIGZsdXNoIGN1cnJlbnQgIGV4dGVudCBhbmQgc3RhcnQgbmV3IG9uZQorCSAqLworCW1wYWdlX2RhX21hcF9ibG9ja3MobXBkKTsKKworCS8qCisJICogTm93IHN0YXJ0IGEgbmV3IGV4dGVudAorCSAqLworCWxiaC0+Yl9zaXplID0gYmgtPmJfc2l6ZTsKKwlsYmgtPmJfc3RhdGUgPSBiaC0+Yl9zdGF0ZSAmIEJIX0ZMQUdTOworCWxiaC0+Yl9ibG9ja25yID0gbG9naWNhbDsKK30KKworLyoKKyAqIF9fbXBhZ2VfZGFfd3JpdGVwYWdlIC0gZmluZHMgZXh0ZW50IG9mIHBhZ2VzIGFuZCBibG9ja3MKKyAqCisgKiBAcGFnZTogcGFnZSB0byBjb25zaWRlcgorICogQHdiYzogbm90IHVzZWQsIHdlIGp1c3QgZm9sbG93IHJ1bGVzCisgKiBAZGF0YTogY29udGV4dAorICoKKyAqIFRoZSBmdW5jdGlvbiBmaW5kcyBleHRlbnRzIG9mIHBhZ2VzIGFuZCBzY2FuIHRoZW0gZm9yIGFsbCBibG9ja3MuCisgKi8KK3N0YXRpYyBpbnQgX19tcGFnZV9kYV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IG1wYWdlX2RhX2RhdGEgKm1wZCA9IGRhdGE7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1wZC0+aW5vZGU7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwgKmhlYWQsIGZha2U7CisJc2VjdG9yX3QgbG9naWNhbDsKKworCS8qCisJICogQ2FuIHdlIG1lcmdlIHRoaXMgcGFnZSB0byBjdXJyZW50IGV4dGVudD8KKwkgKi8KKwlpZiAobXBkLT5uZXh0X3BhZ2UgIT0gcGFnZS0+aW5kZXgpIHsKKwkJLyoKKwkJICogTm9wZSwgd2UgY2FuJ3QuIFNvLCB3ZSBtYXAgbm9uLWFsbG9jYXRlZCBibG9ja3MKKwkJICogYW5kIHN0YXJ0IElPIG9uIHRoZW0gdXNpbmcgX19tcGFnZV93cml0ZXBhZ2UoKQorCQkgKi8KKwkJaWYgKG1wZC0+bmV4dF9wYWdlICE9IG1wZC0+Zmlyc3RfcGFnZSkgeworCQkJbXBhZ2VfZGFfbWFwX2Jsb2NrcyhtcGQpOworCQkJbXBhZ2VfZGFfc3VibWl0X2lvKG1wZCk7CisJCX0KKworCQkvKgorCQkgKiBTdGFydCBuZXh0IGV4dGVudCBvZiBwYWdlcyAuLi4KKwkJICovCisJCW1wZC0+Zmlyc3RfcGFnZSA9IHBhZ2UtPmluZGV4OworCisJCS8qCisJCSAqIC4uLiBhbmQgYmxvY2tzCisJCSAqLworCQltcGQtPmxiaC5iX3NpemUgPSAwOworCQltcGQtPmxiaC5iX3N0YXRlID0gMDsKKwkJbXBkLT5sYmguYl9ibG9ja25yID0gMDsKKwl9CisKKwltcGQtPm5leHRfcGFnZSA9IHBhZ2UtPmluZGV4ICsgMTsKKwlsb2dpY2FsID0gKHNlY3Rvcl90KSBwYWdlLT5pbmRleCA8PAorCQkgIChQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfYmxrYml0cyk7CisKKwlpZiAoIXBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpIHsKKwkJLyoKKwkJICogVGhlcmUgaXMgbm8gYXR0YWNoZWQgYnVmZmVyIGhlYWRzIHlldCAobW1hcD8pCisJCSAqIHdlIHRyZWF0IHRoZSBwYWdlIGFzZnVsbCBvZiBkaXJ0eSBibG9ja3MKKwkJICovCisJCWJoID0gJmZha2U7CisJCWJoLT5iX3NpemUgPSBQQUdFX0NBQ0hFX1NJWkU7CisJCWJoLT5iX3N0YXRlID0gMDsKKwkJc2V0X2J1ZmZlcl9kaXJ0eShiaCk7CisJCXNldF9idWZmZXJfdXB0b2RhdGUoYmgpOworCQltcGFnZV9hZGRfYmhfdG9fZXh0ZW50KG1wZCwgbG9naWNhbCwgYmgpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIFBhZ2Ugd2l0aCByZWd1bGFyIGJ1ZmZlciBoZWFkcywganVzdCBhZGQgYWxsIGRpcnR5IG9uZXMKKwkJICovCisJCWhlYWQgPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJCWJoID0gaGVhZDsKKwkJZG8geworCQkJQlVHX09OKGJ1ZmZlcl9sb2NrZWQoYmgpKTsKKwkJCWlmIChidWZmZXJfZGlydHkoYmgpKQorCQkJCW1wYWdlX2FkZF9iaF90b19leHRlbnQobXBkLCBsb2dpY2FsLCBiaCk7CisJCQlsb2dpY2FsKys7CisJCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBtcGFnZV9kYV93cml0ZXBhZ2VzIC0gd2FsayB0aGUgbGlzdCBvZiBkaXJ0eSBwYWdlcyBvZiB0aGUgZ2l2ZW4KKyAqIGFkZHJlc3Mgc3BhY2UsIGFsbG9jYXRlcyBub24tYWxsb2NhdGVkIGJsb2NrcywgbWFwcyBuZXdseS1hbGxvY2F0ZWQKKyAqIGJsb2NrcyB0byBleGlzdGluZyBiaHMgYW5kIGlzc3VlIElPIHRoZW0KKyAqCisgKiBAbWFwcGluZzogYWRkcmVzcyBzcGFjZSBzdHJ1Y3R1cmUgdG8gd3JpdGUKKyAqIEB3YmM6IHN1YnRyYWN0IHRoZSBudW1iZXIgb2Ygd3JpdHRlbiBwYWdlcyBmcm9tICpAd2JjLT5ucl90b193cml0ZQorICogQGdldF9ibG9jazogdGhlIGZpbGVzeXN0ZW0ncyBibG9jayBtYXBwZXIgZnVuY3Rpb24uCisgKgorICogVGhpcyBpcyBhIGxpYnJhcnkgZnVuY3Rpb24sIHdoaWNoIGltcGxlbWVudHMgdGhlIHdyaXRlcGFnZXMoKQorICogYWRkcmVzc19zcGFjZV9vcGVyYXRpb24uCisgKgorICogSW4gb3JkZXIgdG8gYXZvaWQgZHVwbGljYXRpb24gb2YgbG9naWMgdGhhdCBkZWFscyB3aXRoIHBhcnRpYWwgcGFnZXMsCisgKiBtdWx0aXBsZSBiaW8gcGVyIHBhZ2UsIGV0Yywgd2UgZmluZCBub24tYWxsb2NhdGVkIGJsb2NrcywgYWxsb2NhdGUKKyAqIHRoZW0gd2l0aCBtaW5pbWFsIGNhbGxzIHRvIC0+Z2V0X2Jsb2NrKCkgYW5kIHJlLXVzZSBfX21wYWdlX3dyaXRlcGFnZSgpCisgKgorICogSXQncyBpbXBvcnRhbnQgdGhhdCB3ZSBjYWxsIF9fbXBhZ2Vfd3JpdGVwYWdlKCkgb25seSBvbmNlIGZvciBlYWNoCisgKiBpbnZvbHZlZCBwYWdlLCBvdGhlcndpc2Ugd2UnZCBoYXZlIHRvIGltcGxlbWVudCBtb3JlIGNvbXBsaWNhdGVkIGxvZ2ljCisgKiB0byBkZWFsIHdpdGggcGFnZXMgdy9vIFBHX2xvY2sgb3Igdy8gUEdfd3JpdGViYWNrIGFuZCBzbyBvbi4KKyAqCisgKiBTZWUgY29tbWVudHMgdG8gbXBhZ2Vfd3JpdGVwYWdlcygpCisgKi8KK3N0YXRpYyBpbnQgbXBhZ2VfZGFfd3JpdGVwYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCSAgICAgICBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywKKwkJCSAgICAgICBnZXRfYmxvY2tfdCBnZXRfYmxvY2spCit7CisJc3RydWN0IG1wYWdlX2RhX2RhdGEgbXBkOworCWludCByZXQ7CisKKwlpZiAoIWdldF9ibG9jaykKKwkJcmV0dXJuIGdlbmVyaWNfd3JpdGVwYWdlcyhtYXBwaW5nLCB3YmMpOworCisJbXBkLndiYyA9IHdiYzsKKwltcGQuaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCW1wZC5sYmguYl9zaXplID0gMDsKKwltcGQubGJoLmJfc3RhdGUgPSAwOworCW1wZC5sYmguYl9ibG9ja25yID0gMDsKKwltcGQuZmlyc3RfcGFnZSA9IDA7CisJbXBkLm5leHRfcGFnZSA9IDA7CisJbXBkLmdldF9ibG9jayA9IGdldF9ibG9jazsKKworCXJldCA9IHdyaXRlX2NhY2hlX3BhZ2VzKG1hcHBpbmcsIHdiYywgX19tcGFnZV9kYV93cml0ZXBhZ2UsICZtcGQpOworCisJLyoKKwkgKiBIYW5kbGUgbGFzdCBleHRlbnQgb2YgcGFnZXMKKwkgKi8KKwlpZiAobXBkLm5leHRfcGFnZSAhPSBtcGQuZmlyc3RfcGFnZSkgeworCQltcGFnZV9kYV9tYXBfYmxvY2tzKCZtcGQpOworCQltcGFnZV9kYV9zdWJtaXRfaW8oJm1wZCk7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIHRoaXMgaXMgYSBzcGVjaWFsIGNhbGxiYWNrIGZvciAtPndyaXRlX2JlZ2luKCkgb25seQorICogaXQncyBpbnRlbnRpb24gaXMgdG8gcmV0dXJuIG1hcHBlZCBibG9jayBvciByZXNlcnZlIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgZXh0NF9kYV9nZXRfYmxvY2tfcHJlcChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzZWN0b3JfdCBpYmxvY2ssCisJCQkJICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoX3Jlc3VsdCwgaW50IGNyZWF0ZSkKK3sKKwlpbnQgcmV0ID0gMDsKKworCUJVR19PTihjcmVhdGUgPT0gMCk7CisJQlVHX09OKGJoX3Jlc3VsdC0+Yl9zaXplICE9IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZSk7CisKKwkvKgorCSAqIGZpcnN0LCB3ZSBuZWVkIHRvIGtub3cgd2hldGhlciB0aGUgYmxvY2sgaXMgYWxsb2NhdGVkIGFscmVhZHkKKwkgKiBwcmVhbGxvY2F0ZWQgYmxvY2tzIGFyZSB1bm1hcHBlZCBidXQgc2hvdWxkIHRyZWF0ZWQKKwkgKiB0aGUgc2FtZSBhcyBhbGxvY2F0ZWQgYmxvY2tzLgorCSAqLworCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKE5VTEwsIGlub2RlLCBpYmxvY2ssIDEsICBiaF9yZXN1bHQsIDAsIDAsIDApOworCWlmICgocmV0ID09IDApICYmICFidWZmZXJfZGVsYXkoYmhfcmVzdWx0KSkgeworCQkvKiB0aGUgYmxvY2sgaXNuJ3QgKHByZSlhbGxvY2F0ZWQgeWV0LCBsZXQncyByZXNlcnZlIHNwYWNlICovCisJCS8qCisJCSAqIFhYWDogX19ibG9ja19wcmVwYXJlX3dyaXRlKCkgdW5tYXBzIHBhc3NlZCBibG9jaywKKwkJICogaXMgaXQgT0s/CisJCSAqLworCQlyZXQgPSBleHQ0X2RhX3Jlc2VydmVfc3BhY2UoaW5vZGUsIDEpOworCQlpZiAocmV0KQorCQkJLyogbm90IGVub3VnaCBzcGFjZSB0byByZXNlcnZlICovCisJCQlyZXR1cm4gcmV0OworCisJCW1hcF9iaChiaF9yZXN1bHQsIGlub2RlLT5pX3NiLCAwKTsKKwkJc2V0X2J1ZmZlcl9uZXcoYmhfcmVzdWx0KTsKKwkJc2V0X2J1ZmZlcl9kZWxheShiaF9yZXN1bHQpOworCX0gZWxzZSBpZiAocmV0ID4gMCkgeworCQliaF9yZXN1bHQtPmJfc2l6ZSA9IChyZXQgPDwgaW5vZGUtPmlfYmxrYml0cyk7CisJCXJldCA9IDA7CisJfQorCisJcmV0dXJuIHJldDsKK30KKyNkZWZpbmUJCUVYVDRfREVMQUxMT0NfUlNWRUQJMQorc3RhdGljIGludCBleHQ0X2RhX2dldF9ibG9ja193cml0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzZWN0b3JfdCBpYmxvY2ssCisJCQkJICAgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaF9yZXN1bHQsIGludCBjcmVhdGUpCit7CisJaW50IHJldDsKKwl1bnNpZ25lZCBtYXhfYmxvY2tzID0gYmhfcmVzdWx0LT5iX3NpemUgPj4gaW5vZGUtPmlfYmxrYml0czsKKwlsb2ZmX3QgZGlza3NpemUgPSBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplOworCWhhbmRsZV90ICpoYW5kbGUgPSBOVUxMOworCisJaGFuZGxlID0gZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCk7CisJaWYgKCFoYW5kbGUpIHsKKwkJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBtYXhfYmxvY2tzLAorCQkJCSAgIGJoX3Jlc3VsdCwgMCwgMCwgMCk7CisJCUJVR19PTighcmV0KTsKKwl9IGVsc2UgeworCQlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGUsIGlub2RlLCBpYmxvY2ssIG1heF9ibG9ja3MsCisJCQkJICAgYmhfcmVzdWx0LCBjcmVhdGUsIDAsIEVYVDRfREVMQUxMT0NfUlNWRUQpOworCX0KKworCWlmIChyZXQgPiAwKSB7CisJCWJoX3Jlc3VsdC0+Yl9zaXplID0gKHJldCA8PCBpbm9kZS0+aV9ibGtiaXRzKTsKKworCQkvKgorCQkgKiBVcGRhdGUgb24tZGlzayBzaXplIGFsb25nIHdpdGggYmxvY2sgYWxsb2NhdGlvbgorCQkgKiB3ZSBkb24ndCB1c2UgJ2V4dGVuZF9kaXNrc2l6ZScgYXMgc2l6ZSBtYXkgY2hhbmdlCisJCSAqIHdpdGhpbiBhbHJlYWR5IGFsbG9jYXRlZCBibG9jayAtYnp6egorCQkgKi8KKwkJZGlza3NpemUgPSAoKGxvZmZfdCkgaWJsb2NrICsgcmV0KSA8PCBpbm9kZS0+aV9ibGtiaXRzOworCQlpZiAoZGlza3NpemUgPiBpX3NpemVfcmVhZChpbm9kZSkpCisJCQlkaXNrc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwkJaWYgKGRpc2tzaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkgeworCQkJLyoKKwkJCSAqIFhYWDogcmVwbGFjZSB3aXRoIHNwaW5sb2NrIGlmIHNlZW4gY29udGVuZGVkIC1ienp6CisJCQkgKi8KKwkJCWRvd25fd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOworCQkJaWYgKGRpc2tzaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkKKwkJCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gZGlza3NpemU7CisJCQl1cF93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CisKKwkJCWlmIChFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID09IGRpc2tzaXplKSB7CisJCQkJcmV0ID0gZXh0NF9tYXJrX2lub2RlX2RpcnR5KGhhbmRsZSwgaW5vZGUpOworCQkJCXJldHVybiByZXQ7CisJCQl9CisJCX0KKwkJcmV0ID0gMDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCit7CisJLyoKKwkgKiB1bm1hcHBlZCBidWZmZXIgaXMgcG9zc2libGUgZm9yIGhvbGVzLgorCSAqIGRlbGF5IGJ1ZmZlciBpcyBwb3NzaWJsZSB3aXRoIGRlbGF5ZWQgYWxsb2NhdGlvbgorCSAqLworCXJldHVybiAoKCFidWZmZXJfbWFwcGVkKGJoKSB8fCBidWZmZXJfZGVsYXkoYmgpKSAmJiBidWZmZXJfZGlydHkoYmgpKTsKK30KKworc3RhdGljIGludCBleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUoc3RydWN0IGlub2RlICppbm9kZSwgc2VjdG9yX3QgaWJsb2NrLAorCQkJCSAgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmhfcmVzdWx0LCBpbnQgY3JlYXRlKQoreworCWludCByZXQgPSAwOworCXVuc2lnbmVkIG1heF9ibG9ja3MgPSBiaF9yZXN1bHQtPmJfc2l6ZSA+PiBpbm9kZS0+aV9ibGtiaXRzOworCisJLyoKKwkgKiB3ZSBkb24ndCB3YW50IHRvIGRvIGJsb2NrIGFsbG9jYXRpb24gaW4gd3JpdGVwYWdlCisJICogc28gY2FsbCBnZXRfYmxvY2tfd3JhcCB3aXRoIGNyZWF0ZSA9IDAKKwkgKi8KKwlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChOVUxMLCBpbm9kZSwgaWJsb2NrLCBtYXhfYmxvY2tzLAorCQkJCSAgIGJoX3Jlc3VsdCwgMCwgMCwgMCk7CisJaWYgKHJldCA+IDApIHsKKwkJYmhfcmVzdWx0LT5iX3NpemUgPSAocmV0IDw8IGlub2RlLT5pX2Jsa2JpdHMpOworCQlyZXQgPSAwOworCX0KKwlyZXR1cm4gcmV0OworfQorCisvKgorICogZ2V0IGNhbGxlZCB2aSBleHQ0X2RhX3dyaXRlcGFnZXMgYWZ0ZXIgdGFraW5nIHBhZ2UgbG9jayAoaGF2ZSBqb3VybmFsIGhhbmRsZSkKKyAqIGdldCBjYWxsZWQgdmlhIGpvdXJuYWxfc3VibWl0X2lub2RlX2RhdGFfYnVmZmVycyAobm8gam91cm5hbCBoYW5kbGUpCisgKiBnZXQgY2FsbGVkIHZpYSBzaHJpbmtfcGFnZV9saXN0IHZpYSBwZGZsdXNoIChubyBqb3VybmFsIGhhbmRsZSkKKyAqIG9yIGdyYWJfcGFnZV9jYWNoZSB3aGVuIGRvaW5nIHdyaXRlX2JlZ2luIChoYXZlIGpvdXJuYWwgaGFuZGxlKQorICovCitzdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQoreworCWludCByZXQgPSAwOworCWxvZmZfdCBzaXplOworCXVuc2lnbmVkIGxvbmcgbGVuOworCXN0cnVjdCBidWZmZXJfaGVhZCAqcGFnZV9idWZzOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwYWdlLT5tYXBwaW5nLT5ob3N0OworCisJc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwlpZiAocGFnZS0+aW5kZXggPT0gc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKQorCQlsZW4gPSBzaXplICYgflBBR0VfQ0FDSEVfTUFTSzsKKwllbHNlCisJCWxlbiA9IFBBR0VfQ0FDSEVfU0laRTsKKworCWlmIChwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCXBhZ2VfYnVmcyA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwkJaWYgKHdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmcywgMCwgbGVuLCBOVUxMLAorCQkJCQlleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KSkgeworCQkJLyoKKwkJCSAqIFdlIGRvbid0IHdhbnQgdG8gZG8gIGJsb2NrIGFsbG9jYXRpb24KKwkJCSAqIFNvIHJlZGlydHkgdGhlIHBhZ2UgYW5kIHJldHVybgorCQkJICogV2UgbWF5IHJlYWNoIGhlcmUgd2hlbiB3ZSBkbyBhIGpvdXJuYWwgY29tbWl0CisJCQkgKiB2aWEgam91cm5hbF9zdWJtaXRfaW5vZGVfZGF0YV9idWZmZXJzLgorCQkJICogSWYgd2UgZG9uJ3QgaGF2ZSBtYXBwaW5nIGJsb2NrIHdlIGp1c3QgaWdub3JlCisJCQkgKiB0aGVtLiBXZSBjYW4gYWxzbyByZWFjaCBoZXJlIHZpYSBzaHJpbmtfcGFnZV9saXN0CisJCQkgKi8KKwkJCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJCXJldHVybiAwOworCQl9CisJfSBlbHNlIHsKKwkJLyoKKwkJICogVGhlIHRlc3QgZm9yIHBhZ2VfaGFzX2J1ZmZlcnMoKSBpcyBzdWJ0bGU6CisJCSAqIFdlIGtub3cgdGhlIHBhZ2UgaXMgZGlydHkgYnV0IGl0IGxvc3QgYnVmZmVycy4gVGhhdCBtZWFucworCQkgKiB0aGF0IGF0IHNvbWUgbW9tZW50IGluIHRpbWUgYWZ0ZXIgd3JpdGVfYmVnaW4oKS93cml0ZV9lbmQoKQorCQkgKiBoYXMgYmVlbiBjYWxsZWQgYWxsIGJ1ZmZlcnMgaGF2ZSBiZWVuIGNsZWFuIGFuZCB0aHVzIHRoZXkKKwkJICogbXVzdCBoYXZlIGJlZW4gd3JpdHRlbiBhdCBsZWFzdCBvbmNlLiBTbyB0aGV5IGFyZSBhbGwKKwkJICogbWFwcGVkIGFuZCB3ZSBjYW4gaGFwcGlseSBwcm9jZWVkIHdpdGggbWFwcGluZyB0aGVtCisJCSAqIGFuZCB3cml0aW5nIHRoZSBwYWdlLgorCQkgKgorCQkgKiBUcnkgdG8gaW5pdGlhbGl6ZSB0aGUgYnVmZmVyX2hlYWRzIGFuZCBjaGVjayB3aGV0aGVyCisJCSAqIGFsbCBhcmUgbWFwcGVkIGFuZCBub24gZGVsYXkuIFdlIGRvbid0IHdhbnQgdG8KKwkJICogZG8gYmxvY2sgYWxsb2NhdGlvbiBoZXJlLgorCQkgKi8KKwkJcmV0ID0gYmxvY2tfcHJlcGFyZV93cml0ZShwYWdlLCAwLCBQQUdFX0NBQ0hFX1NJWkUsCisJCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUpOworCQlpZiAoIXJldCkgeworCQkJcGFnZV9idWZzID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCQkJLyogY2hlY2sgd2hldGhlciBhbGwgYXJlIG1hcHBlZCBhbmQgbm9uIGRlbGF5ICovCisJCQlpZiAod2Fsa19wYWdlX2J1ZmZlcnMoTlVMTCwgcGFnZV9idWZzLCAwLCBsZW4sIE5VTEwsCisJCQkJCQlleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KSkgeworCQkJCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQkJcmV0dXJuIDA7CisJCQl9CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogV2UgY2FuJ3QgZG8gYmxvY2sgYWxsb2NhdGlvbiBoZXJlCisJCQkgKiBzbyBqdXN0IHJlZGl0eSB0aGUgcGFnZSBhbmQgdW5sb2NrCisJCQkgKiBhbmQgcmV0dXJuCisJCQkgKi8KKwkJCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJaWYgKHRlc3Rfb3B0KGlub2RlLT5pX3NiLCBOT0JIKSAmJiBleHQ0X3Nob3VsZF93cml0ZWJhY2tfZGF0YShpbm9kZSkpCisJCXJldCA9IG5vYmhfd3JpdGVwYWdlKHBhZ2UsIGV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSwgd2JjKTsKKwllbHNlCisJCXJldCA9IGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLAorCQkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLAorCQkJCQkJd2JjKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBGb3Igbm93IGp1c3QgZm9sbG93IHRoZSBESU8gd2F5IHRvIGVzdGltYXRlIHRoZSBtYXggY3JlZGl0cworICogbmVlZGVkIHRvIHdyaXRlIG91dCBFWFQ0X01BWF9XUklURUJBQ0tfUEFHRVMuCisgKiB0b2RvOiBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgbWF4IGNyZWRpdHMgbmVlZCBmb3IKKyAqIGV4dGVudCBiYXNlZCBmaWxlcywgY3VycmVudGx5IHRoZSBESU8gY3JlZGl0cyBpcyBiYXNlZCBvbgorICogaW5kaXJlY3QtYmxvY2tzIG1hcHBpbmcgd2F5LgorICoKKyAqIFByb2JhYmx5IHNob3VsZCBoYXZlIGEgZ2VuZXJpYyB3YXkgdG8gY2FsY3VsYXRlIGNyZWRpdHMKKyAqIGZvciBESU8sIHdyaXRlcGFnZXMsIGFuZCB0cnVuY2F0ZQorICovCisjZGVmaW5lIEVYVDRfTUFYX1dSSVRFQkFDS19QQUdFUyAgICAgIERJT19NQVhfQkxPQ0tTCisjZGVmaW5lIEVYVDRfTUFYX1dSSVRFQkFDS19DUkVESVRTICAgIERJT19DUkVESVRTCisKK3N0YXRpYyBpbnQgZXh0NF9kYV93cml0ZXBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAorCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQoreworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCWhhbmRsZV90ICpoYW5kbGUgPSBOVUxMOworCWludCBuZWVkZWRfYmxvY2tzOworCWludCByZXQgPSAwOworCWxvbmcgdG9fd3JpdGU7CisJbG9mZl90IHJhbmdlX3N0YXJ0ID0gMDsKKworCS8qCisJICogTm8gcGFnZXMgdG8gd3JpdGU/IFRoaXMgaXMgbWFpbmx5IGEga2x1ZGdlIHRvIGF2b2lkIHN0YXJ0aW5nCisJICogYSB0cmFuc2FjdGlvbiBmb3Igc3BlY2lhbCBpbm9kZXMgbGlrZSBqb3VybmFsIGlub2RlIG9uIGxhc3QgaXB1dCgpCisJICogYmVjYXVzZSB0aGF0IGNvdWxkIHZpb2xhdGUgbG9jayBvcmRlcmluZyBvbiB1bW91bnQKKwkgKi8KKwlpZiAoIW1hcHBpbmctPm5ycGFnZXMpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBFc3RpbWF0ZSB0aGUgd29yc2UgY2FzZSBuZWVkZWQgY3JlZGl0cyB0byB3cml0ZSBvdXQKKwkgKiBFWFQ0X01BWF9CVUZfQkxPQ0tTIHBhZ2VzCisJICovCisJbmVlZGVkX2Jsb2NrcyA9IEVYVDRfTUFYX1dSSVRFQkFDS19DUkVESVRTOworCisJdG9fd3JpdGUgPSB3YmMtPm5yX3RvX3dyaXRlOworCWlmICghd2JjLT5yYW5nZV9jeWNsaWMpIHsKKwkJLyoKKwkJICogSWYgcmFuZ2VfY3ljbGljIGlzIG5vdCBzZXQgZm9yY2UgcmFuZ2VfY29udAorCQkgKiBhbmQgc2F2ZSB0aGUgb2xkIHdyaXRlYmFja19pbmRleAorCQkgKi8KKwkJd2JjLT5yYW5nZV9jb250ID0gMTsKKwkJcmFuZ2Vfc3RhcnQgPSAgd2JjLT5yYW5nZV9zdGFydDsKKwl9CisKKwl3aGlsZSAoIXJldCAmJiB0b193cml0ZSkgeworCQkvKiBzdGFydCBhIG5ldyB0cmFuc2FjdGlvbiovCisJCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgbmVlZGVkX2Jsb2Nrcyk7CisJCWlmIChJU19FUlIoaGFuZGxlKSkgeworCQkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOworCQkJZ290byBvdXRfd3JpdGVwYWdlczsKKwkJfQorCQlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpIHsKKwkJCS8qCisJCQkgKiBXaXRoIG9yZGVyZWQgbW9kZSB3ZSBuZWVkIHRvIGFkZAorCQkJICogdGhlIGlub2RlIHRvIHRoZSBqb3VybmFsIGhhbmRsZQorCQkJICogd2hlbiB3ZSBkbyBibG9jayBhbGxvY2F0aW9uLgorCQkJICovCisJCQlyZXQgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsIGlub2RlKTsKKwkJCWlmIChyZXQpIHsKKwkJCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQkJCWdvdG8gb3V0X3dyaXRlcGFnZXM7CisJCQl9CisKKwkJfQorCQkvKgorCQkgKiBzZXQgdGhlIG1heCBkaXJ0eSBwYWdlcyBjb3VsZCBiZSB3cml0ZSBhdCBhIHRpbWUKKwkJICogdG8gZml0IGludG8gdGhlIHJlc2VydmVkIHRyYW5zYWN0aW9uIGNyZWRpdHMKKwkJICovCisJCWlmICh3YmMtPm5yX3RvX3dyaXRlID4gRVhUNF9NQVhfV1JJVEVCQUNLX1BBR0VTKQorCQkJd2JjLT5ucl90b193cml0ZSA9IEVYVDRfTUFYX1dSSVRFQkFDS19QQUdFUzsKKworCQl0b193cml0ZSAtPSB3YmMtPm5yX3RvX3dyaXRlOworCQlyZXQgPSBtcGFnZV9kYV93cml0ZXBhZ2VzKG1hcHBpbmcsIHdiYywKKwkJCQkJCWV4dDRfZGFfZ2V0X2Jsb2NrX3dyaXRlKTsKKwkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwkJaWYgKHdiYy0+bnJfdG9fd3JpdGUpIHsKKwkJCS8qCisJCQkgKiBUaGVyZSBpcyBubyBtb3JlIHdyaXRlb3V0IG5lZWRlZAorCQkJICogb3Igd2UgcmVxdWVzdGVkIGZvciBhIG5vYmxvY2tpbmcgd3JpdGVvdXQKKwkJCSAqIGFuZCB3ZSBmb3VuZCB0aGUgZGV2aWNlIGNvbmdlc3RlZAorCQkJICovCisJCQl0b193cml0ZSArPSB3YmMtPm5yX3RvX3dyaXRlOworCQkJYnJlYWs7CisJCX0KKwkJd2JjLT5ucl90b193cml0ZSA9IHRvX3dyaXRlOworCX0KKworb3V0X3dyaXRlcGFnZXM6CisJd2JjLT5ucl90b193cml0ZSA9IHRvX3dyaXRlOworCWlmIChyYW5nZV9zdGFydCkKKwkJd2JjLT5yYW5nZV9zdGFydCA9IHJhbmdlX3N0YXJ0OworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9kYV93cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCisJCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBmbGFncywKKwkJCQlzdHJ1Y3QgcGFnZSAqKnBhZ2VwLCB2b2lkICoqZnNkYXRhKQoreworCWludCByZXQsIHJldHJpZXMgPSAwOworCXN0cnVjdCBwYWdlICpwYWdlOworCXBnb2ZmX3QgaW5kZXg7CisJdW5zaWduZWQgZnJvbSwgdG87CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CisJaGFuZGxlX3QgKmhhbmRsZTsKKworCWluZGV4ID0gcG9zID4+IFBBR0VfQ0FDSEVfU0hJRlQ7CisJZnJvbSA9IHBvcyAmIChQQUdFX0NBQ0hFX1NJWkUgLSAxKTsKKwl0byA9IGZyb20gKyBsZW47CisKK3JldHJ5OgorCS8qCisJICogV2l0aCBkZWxheWVkIGFsbG9jYXRpb24sIHdlIGRvbid0IGxvZyB0aGUgaV9kaXNrc2l6ZSB1cGRhdGUKKwkgKiBpZiB0aGVyZSBpcyBkZWxheWVkIGJsb2NrIGFsbG9jYXRpb24uIEJ1dCB3ZSBzdGlsbCBuZWVkCisJICogdG8gam91cm5hbGxpbmcgdGhlIGlfZGlza3NpemUgdXBkYXRlIGlmIHdyaXRlcyB0byB0aGUgZW5kCisJICogb2YgZmlsZSB3aGljaCBoYXMgYW4gYWxyZWFkeSBtYXBwZWQgYnVmZmVyLgorCSAqLworCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgMSk7CisJaWYgKElTX0VSUihoYW5kbGUpKSB7CisJCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKKwkJZ290byBvdXQ7CisJfQorCisJcGFnZSA9IF9fZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIGluZGV4KTsKKwlpZiAoIXBhZ2UpCisJCXJldHVybiAtRU5PTUVNOworCSpwYWdlcCA9IHBhZ2U7CisKKwlyZXQgPSBibG9ja193cml0ZV9iZWdpbihmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgZmxhZ3MsIHBhZ2VwLCBmc2RhdGEsCisJCQkJCQkJZXh0NF9kYV9nZXRfYmxvY2tfcHJlcCk7CisJaWYgKHJldCA8IDApIHsKKwkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwl9CisKKwlpZiAocmV0ID09IC1FTk9TUEMgJiYgZXh0NF9zaG91bGRfcmV0cnlfYWxsb2MoaW5vZGUtPmlfc2IsICZyZXRyaWVzKSkKKwkJZ290byByZXRyeTsKK291dDoKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogQ2hlY2sgaWYgd2Ugc2hvdWxkIHVwZGF0ZSBpX2Rpc2tzaXplCisgKiB3aGVuIHdyaXRlIHRvIHRoZSBlbmQgb2YgZmlsZSBidXQgbm90IHJlcXVpcmUgYmxvY2sgYWxsb2NhdGlvbgorICovCitzdGF0aWMgaW50IGV4dDRfZGFfc2hvdWxkX3VwZGF0ZV9pX2Rpc2tzaXplKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCQkgdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKKwl1bnNpZ25lZCBpbnQgaWR4OworCWludCBpOworCisJYmggPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJaWR4ID0gb2Zmc2V0ID4+IGlub2RlLT5pX2Jsa2JpdHM7CisKKwlmb3IgKGk9MDsgaSA8IGlkeDsgaSsrKQorCQliaCA9IGJoLT5iX3RoaXNfcGFnZTsKKworCWlmICghYnVmZmVyX21hcHBlZChiaCkgfHwgKGJ1ZmZlcl9kZWxheShiaCkpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBleHQ0X2RhX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwKKwkJCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwKKwkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQoreworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCWludCByZXQgPSAwLCByZXQyOworCWhhbmRsZV90ICpoYW5kbGUgPSBleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKTsKKwlsb2ZmX3QgbmV3X2lfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7CisKKwlzdGFydCA9IHBvcyAmIChQQUdFX0NBQ0hFX1NJWkUgLSAxKTsKKwllbmQgPSBzdGFydCArIGNvcGllZCAtMTsKKworCS8qCisJICogZ2VuZXJpY193cml0ZV9lbmQoKSB3aWxsIHJ1biBtYXJrX2lub2RlX2RpcnR5KCkgaWYgaV9zaXplCisJICogY2hhbmdlcy4gIFNvIGxldCdzIHBpZ2d5YmFjayB0aGUgaV9kaXNrc2l6ZSBtYXJrX2lub2RlX2RpcnR5CisJICogaW50byB0aGF0LgorCSAqLworCisJbmV3X2lfc2l6ZSA9IHBvcyArIGNvcGllZDsKKwlpZiAobmV3X2lfc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpIHsKKwkJaWYgKGV4dDRfZGFfc2hvdWxkX3VwZGF0ZV9pX2Rpc2tzaXplKHBhZ2UsIGVuZCkpIHsKKwkJCWRvd25fd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOworCQkJaWYgKG5ld19pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKSB7CisJCQkJLyoKKwkJCQkgKiBVcGRhdGluZyBpX2Rpc2tzaXplIHdoZW4gZXh0ZW5kaW5nIGZpbGUKKwkJCQkgKiB3aXRob3V0IG5lZWRpbmcgYmxvY2sgYWxsb2NhdGlvbgorCQkJCSAqLworCQkJCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkKKwkJCQkJcmV0ID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLAorCQkJCQkJCQkgICBpbm9kZSk7CisKKwkJCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gbmV3X2lfc2l6ZTsKKwkJCX0KKwkJCXVwX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKKwkJfQorCX0KKwlyZXQyID0gZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKKwkJCQkJCQlwYWdlLCBmc2RhdGEpOworCWNvcGllZCA9IHJldDI7CisJaWYgKHJldDIgPCAwKQorCQlyZXQgPSByZXQyOworCXJldDIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCWlmICghcmV0KQorCQlyZXQgPSByZXQyOworCisJcmV0dXJuIHJldCA/IHJldCA6IGNvcGllZDsKK30KKworc3RhdGljIHZvaWQgZXh0NF9kYV9pbnZhbGlkYXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJLyoKKwkgKiBEcm9wIHJlc2VydmVkIGJsb2NrcworCSAqLworCUJVR19PTighUGFnZUxvY2tlZChwYWdlKSk7CisJaWYgKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpKQorCQlnb3RvIG91dDsKKworCWV4dDRfZGFfcGFnZV9yZWxlYXNlX3Jlc2VydmF0aW9uKHBhZ2UsIG9mZnNldCk7CisKK291dDoKKwlleHQ0X2ludmFsaWRhdGVwYWdlKHBhZ2UsIG9mZnNldCk7CisKKwlyZXR1cm47Cit9CisKIAogLyoKICAqIGJtYXAoKSBpcyBzcGVjaWFsLiAgSXQgZ2V0cyB1c2VkIGJ5IGFwcGxpY2F0aW9ucyBzdWNoIGFzIGxpbG8gYW5kIGJ5CkBAIC0xNDE4LDYgKzI0MDksMTYgQEAKIAlqb3VybmFsX3QgKmpvdXJuYWw7CiAJaW50IGVycjsKIAorCWlmIChtYXBwaW5nX3RhZ2dlZChtYXBwaW5nLCBQQUdFQ0FDSEVfVEFHX0RJUlRZKSAmJgorCQkJdGVzdF9vcHQoaW5vZGUtPmlfc2IsIERFTEFMTE9DKSkgeworCQkvKgorCQkgKiBXaXRoIGRlbGFsbG9jIHdlIHdhbnQgdG8gc3luYyB0aGUgZmlsZQorCQkgKiBzbyB0aGF0IHdlIGNhbiBtYWtlIHN1cmUgd2UgYWxsb2NhdGUKKwkJICogYmxvY2tzIGZvciBmaWxlCisJCSAqLworCQlmaWxlbWFwX3dyaXRlX2FuZF93YWl0KG1hcHBpbmcpOworCX0KKwogCWlmIChFWFQ0X0koaW5vZGUpLT5pX3N0YXRlICYgRVhUNF9TVEFURV9KREFUQSkgewogCQkvKgogCQkgKiBUaGlzIGlzIGEgUkVBTExZIGhlYXZ5d2VpZ2h0IGFwcHJvYWNoLCBidXQgdGhlIHVzZSBvZgpAQCAtMTQ2MiwyMSArMjQ2MywxNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhX2ZuKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCi17Ci0JaWYgKGJ1ZmZlcl9tYXBwZWQoYmgpKQotCQlyZXR1cm4gZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlLCBiaCk7Ci0JcmV0dXJuIDA7Ci19Ci0KIC8qCi0gKiBOb3RlIHRoYXQgd2UgYWx3YXlzIHN0YXJ0IGEgdHJhbnNhY3Rpb24gZXZlbiBpZiB3ZSdyZSBub3Qgam91cm5hbGxpbmcKLSAqIGRhdGEuICBUaGlzIGlzIHRvIHByZXNlcnZlIG9yZGVyaW5nOiBhbnkgaG9sZSBpbnN0YW50aWF0aW9uIHdpdGhpbgotICogX19ibG9ja193cml0ZV9mdWxsX3BhZ2UgLT4gZXh0NF9nZXRfYmxvY2soKSBzaG91bGQgYmUgam91cm5hbGxlZAotICogYWxvbmcgd2l0aCB0aGUgZGF0YSBzbyB3ZSBkb24ndCBjcmFzaCBhbmQgdGhlbiBnZXQgbWV0YWRhdGEgd2hpY2gKLSAqIHJlZmVycyB0byBvbGQgZGF0YS4KKyAqIE5vdGUgdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHN0YXJ0IGEgdHJhbnNhY3Rpb24gdW5sZXNzIHdlJ3JlIGpvdXJuYWxpbmcgZGF0YQorICogYmVjYXVzZSB3ZSBzaG91bGQgaGF2ZSBob2xlcyBmaWxsZWQgZnJvbSBleHQ0X3BhZ2VfbWt3cml0ZSgpLiBXZSBldmVuIGRvbid0CisgKiBuZWVkIHRvIGZpbGUgdGhlIGlub2RlIHRvIHRoZSB0cmFuc2FjdGlvbidzIGxpc3QgaW4gb3JkZXJlZCBtb2RlIGJlY2F1c2UgaWYKKyAqIHdlIGFyZSB3cml0aW5nIGJhY2sgZGF0YSBhZGRlZCBieSB3cml0ZSgpLCB0aGUgaW5vZGUgaXMgYWxyZWFkeSB0aGVyZSBhbmQgaWYKKyAqIHdlIGFyZSB3cml0aW5nIGJhY2sgZGF0YSBtb2RpZmllZCB2aWEgbW1hcCgpLCBub29uZSBndWFyYW50ZWVzIGluIHdoaWNoCisgKiB0cmFuc2FjdGlvbiB0aGUgZGF0YSB3aWxsIGhpdCB0aGUgZGlzay4gSW4gY2FzZSB3ZSBhcmUgam91cm5hbGluZyBkYXRhLCB3ZQorICogY2Fubm90IHN0YXJ0IHRyYW5zYWN0aW9uIGRpcmVjdGx5IGJlY2F1c2UgdHJhbnNhY3Rpb24gc3RhcnQgcmFua3MgYWJvdmUgcGFnZQorICogbG9jayBzbyB3ZSBoYXZlIHRvIGRvIHNvbWUgbWFnaWMuCiAgKgotICogSW4gYWxsIGpvdXJuYWxsaW5nIG1vZGVzIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZSgpIHdpbGwgc3RhcnQgdGhlIEkvTy4KKyAqIEluIGFsbCBqb3VybmFsaW5nIG1vZGVzIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZSgpIHdpbGwgc3RhcnQgdGhlIEkvTy4KICAqCiAgKiBQcm9ibGVtOgogICoKQEAgLTE1MTgsMTA1ICsyNTE1LDEwMyBAQAogICogZGlzYXN0cm91cy4gIEFueSB3cml0ZSgpIG9yIG1ldGFkYXRhIG9wZXJhdGlvbiB3aWxsIHN5bmMgdGhlIGZzIGZvcgogICogdXMuCiAgKgotICogQUtQTTI6IGlmIGFsbCB0aGUgcGFnZSdzIGJ1ZmZlcnMgYXJlIG1hcHBlZCB0byBkaXNrIGFuZCAhZGF0YT1qb3VybmFsLAotICogd2UgZG9uJ3QgbmVlZCB0byBvcGVuIGEgdHJhbnNhY3Rpb24gaGVyZS4KICAqLwotc3RhdGljIGludCBleHQ0X29yZGVyZWRfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAorc3RhdGljIGludCBfX2V4dDRfbm9ybWFsX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKIAkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKKworCWlmICh0ZXN0X29wdChpbm9kZS0+aV9zYiwgTk9CSCkpCisJCXJldHVybiBub2JoX3dyaXRlcGFnZShwYWdlLAorCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsIHdiYyk7CisJZWxzZQorCQlyZXR1cm4gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsCisJCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsCisJCQkJCQl3YmMpOworfQorCitzdGF0aWMgaW50IGV4dDRfbm9ybWFsX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKKwlsb2ZmX3Qgc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwlsb2ZmX3QgbGVuOworCisJSl9BU1NFUlQoUGFnZUxvY2tlZChwYWdlKSk7CisJaWYgKHBhZ2UtPmluZGV4ID09IHNpemUgPj4gUEFHRV9DQUNIRV9TSElGVCkKKwkJbGVuID0gc2l6ZSAmIH5QQUdFX0NBQ0hFX01BU0s7CisJZWxzZQorCQlsZW4gPSBQQUdFX0NBQ0hFX1NJWkU7CisKKwlpZiAocGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQkvKiBpZiBwYWdlIGhhcyBidWZmZXJzIGl0IHNob3VsZCBhbGwgYmUgbWFwcGVkCisJCSAqIGFuZCBhbGxvY2F0ZWQuIElmIHRoZXJlIGFyZSBub3QgYnVmZmVycyBhdHRhY2hlZAorCQkgKiB0byB0aGUgcGFnZSB3ZSBrbm93IHRoZSBwYWdlIGlzIGRpcnR5IGJ1dCBpdCBsb3N0CisJCSAqIGJ1ZmZlcnMuIFRoYXQgbWVhbnMgdGhhdCBhdCBzb21lIG1vbWVudCBpbiB0aW1lCisJCSAqIGFmdGVyIHdyaXRlX2JlZ2luKCkgLyB3cml0ZV9lbmQoKSBoYXMgYmVlbiBjYWxsZWQKKwkJICogYWxsIGJ1ZmZlcnMgaGF2ZSBiZWVuIGNsZWFuIGFuZCB0aHVzIHRoZXkgbXVzdCBoYXZlIGJlZW4KKwkJICogd3JpdHRlbiBhdCBsZWFzdCBvbmNlLiBTbyB0aGV5IGFyZSBhbGwgbWFwcGVkIGFuZCB3ZSBjYW4KKwkJICogaGFwcGlseSBwcm9jZWVkIHdpdGggbWFwcGluZyB0aGVtIGFuZCB3cml0aW5nIHRoZSBwYWdlLgorCQkgKi8KKwkJQlVHX09OKHdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwgbGVuLCBOVUxMLAorCQkJCQlleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KSk7CisJfQorCisJaWYgKCFleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKSkKKwkJcmV0dXJuIF9fZXh0NF9ub3JtYWxfd3JpdGVwYWdlKHBhZ2UsIHdiYyk7CisKKwlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCXVubG9ja19wYWdlKHBhZ2UpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZXh0NF9qb3VybmFsbGVkX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKK3sKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IHBhZ2UtPm1hcHBpbmc7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpwYWdlX2J1ZnM7CiAJaGFuZGxlX3QgKmhhbmRsZSA9IE5VTEw7CiAJaW50IHJldCA9IDA7CiAJaW50IGVycjsKIAotCUpfQVNTRVJUKFBhZ2VMb2NrZWQocGFnZSkpOworCXJldCA9IGJsb2NrX3ByZXBhcmVfd3JpdGUocGFnZSwgMCwgUEFHRV9DQUNIRV9TSVpFLAorCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUpOworCWlmIChyZXQgIT0gMCkKKwkJZ290byBvdXRfdW5sb2NrOwogCi0JLyoKLQkgKiBXZSBnaXZlIHVwIGhlcmUgaWYgd2UncmUgcmVlbnRlcmVkLCBiZWNhdXNlIGl0IG1pZ2h0IGJlIGZvciBhCi0JICogZGlmZmVyZW50IGZpbGVzeXN0ZW0uCi0JICovCi0JaWYgKGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpKQotCQlnb3RvIG91dF9mYWlsOwotCi0JaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3MoaW5vZGUpKTsKLQotCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7Ci0JCWdvdG8gb3V0X2ZhaWw7Ci0JfQotCi0JaWYgKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7Ci0JCWNyZWF0ZV9lbXB0eV9idWZmZXJzKHBhZ2UsIGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZSwKLQkJCQkoMSA8PCBCSF9EaXJ0eSl8KDEgPDwgQkhfVXB0b2RhdGUpKTsKLQl9CiAJcGFnZV9idWZzID0gcGFnZV9idWZmZXJzKHBhZ2UpOwotCXdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAotCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBiZ2V0X29uZSk7Ci0KLQlyZXQgPSBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwgZXh0NF9nZXRfYmxvY2ssIHdiYyk7Ci0KLQkvKgotCSAqIFRoZSBwYWdlIGNhbiBiZWNvbWUgdW5sb2NrZWQgYXQgYW55IHBvaW50IG5vdywgYW5kCi0JICogdHJ1bmNhdGUgY2FuIHRoZW4gY29tZSBpbiBhbmQgY2hhbmdlIHRoaW5ncy4gIFNvIHdlCi0JICogY2FuJ3QgdG91Y2ggKnBhZ2UgZnJvbSBub3cgb24uICBCdXQgKnBhZ2VfYnVmcyBpcwotCSAqIHNhZmUgZHVlIHRvIGVsZXZhdGVkIHJlZmNvdW50LgotCSAqLwotCi0JLyoKLQkgKiBBbmQgYXR0YWNoIHRoZW0gdG8gdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uICBCdXQgb25seSBpZgotCSAqIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZSgpIHN1Y2NlZWRlZC4gIE90aGVyd2lzZSB0aGV5IGFyZSB1bm1hcHBlZCwKLQkgKiBhbmQgZ2VuZXJhbGx5IGp1bmsuCi0JICovCi0JaWYgKHJldCA9PSAwKSB7Ci0JCWVyciA9IHdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLCBQQUdFX0NBQ0hFX1NJWkUsCi0JCQkJCU5VTEwsIGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhX2ZuKTsKLQkJaWYgKCFyZXQpCi0JCQlyZXQgPSBlcnI7Ci0JfQotCXdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAotCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBicHV0X29uZSk7Ci0JZXJyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKLQlpZiAoIXJldCkKLQkJcmV0ID0gZXJyOwotCXJldHVybiByZXQ7Ci0KLW91dF9mYWlsOgotCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsIFBBR0VfQ0FDSEVfU0laRSwgTlVMTCwKKwkJCQkJCQkJYmdldF9vbmUpOworCS8qIEFzIHNvb24gYXMgd2UgdW5sb2NrIHRoZSBwYWdlLCBpdCBjYW4gZ28gYXdheSwgYnV0IHdlIGhhdmUKKwkgKiByZWZlcmVuY2VzIHRvIGJ1ZmZlcnMgc28gd2UgYXJlIHNhZmUgKi8KIAl1bmxvY2tfcGFnZShwYWdlKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IGV4dDRfd3JpdGViYWNrX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKLQkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKLXsKLQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKLQloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKLQlpbnQgcmV0ID0gMDsKLQlpbnQgZXJyOwotCi0JaWYgKGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpKQotCQlnb3RvIG91dF9mYWlsOwogCiAJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3MoaW5vZGUpKTsKIAlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKIAkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOwotCQlnb3RvIG91dF9mYWlsOworCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAodGVzdF9vcHQoaW5vZGUtPmlfc2IsIE5PQkgpICYmIGV4dDRfc2hvdWxkX3dyaXRlYmFja19kYXRhKGlub2RlKSkKLQkJcmV0ID0gbm9iaF93cml0ZXBhZ2UocGFnZSwgZXh0NF9nZXRfYmxvY2ssIHdiYyk7Ci0JZWxzZQotCQlyZXQgPSBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwgZXh0NF9nZXRfYmxvY2ssIHdiYyk7CisJcmV0ID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsCisJCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIGRvX2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2Vzcyk7CiAKKwllcnIgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwKKwkJCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIHdyaXRlX2VuZF9mbik7CisJaWYgKHJldCA9PSAwKQorCQlyZXQgPSBlcnI7CiAJZXJyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKIAlpZiAoIXJldCkKIAkJcmV0ID0gZXJyOwotCXJldHVybiByZXQ7CiAKLW91dF9mYWlsOgotCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsCisJCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBicHV0X29uZSk7CisJRVhUNF9JKGlub2RlKS0+aV9zdGF0ZSB8PSBFWFQ0X1NUQVRFX0pEQVRBOworCWdvdG8gb3V0OworCitvdXRfdW5sb2NrOgogCXVubG9ja19wYWdlKHBhZ2UpOworb3V0OgogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE2MjQsNTkgKzI2MTksNTMgQEAKIAkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKLQloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKLQlpbnQgcmV0ID0gMDsKLQlpbnQgZXJyOworCWxvZmZfdCBzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCWxvZmZfdCBsZW47CisKKwlKX0FTU0VSVChQYWdlTG9ja2VkKHBhZ2UpKTsKKwlpZiAocGFnZS0+aW5kZXggPT0gc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKQorCQlsZW4gPSBzaXplICYgflBBR0VfQ0FDSEVfTUFTSzsKKwllbHNlCisJCWxlbiA9IFBBR0VfQ0FDSEVfU0laRTsKKworCWlmIChwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCS8qIGlmIHBhZ2UgaGFzIGJ1ZmZlcnMgaXQgc2hvdWxkIGFsbCBiZSBtYXBwZWQKKwkJICogYW5kIGFsbG9jYXRlZC4gSWYgdGhlcmUgYXJlIG5vdCBidWZmZXJzIGF0dGFjaGVkCisJCSAqIHRvIHRoZSBwYWdlIHdlIGtub3cgdGhlIHBhZ2UgaXMgZGlydHkgYnV0IGl0IGxvc3QKKwkJICogYnVmZmVycy4gVGhhdCBtZWFucyB0aGF0IGF0IHNvbWUgbW9tZW50IGluIHRpbWUKKwkJICogYWZ0ZXIgd3JpdGVfYmVnaW4oKSAvIHdyaXRlX2VuZCgpIGhhcyBiZWVuIGNhbGxlZAorCQkgKiBhbGwgYnVmZmVycyBoYXZlIGJlZW4gY2xlYW4gYW5kIHRodXMgdGhleSBtdXN0IGhhdmUgYmVlbgorCQkgKiB3cml0dGVuIGF0IGxlYXN0IG9uY2UuIFNvIHRoZXkgYXJlIGFsbCBtYXBwZWQgYW5kIHdlIGNhbgorCQkgKiBoYXBwaWx5IHByb2NlZWQgd2l0aCBtYXBwaW5nIHRoZW0gYW5kIHdyaXRpbmcgdGhlIHBhZ2UuCisJCSAqLworCQlCVUdfT04od2Fsa19wYWdlX2J1ZmZlcnMoTlVMTCwgcGFnZV9idWZmZXJzKHBhZ2UpLCAwLCBsZW4sIE5VTEwsCisJCQkJCWV4dDRfYmhfdW5tYXBwZWRfb3JfZGVsYXkpKTsKKwl9CiAKIAlpZiAoZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCkpCiAJCWdvdG8gbm9fd3JpdGU7CiAKLQloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIGV4dDRfd3JpdGVwYWdlX3RyYW5zX2Jsb2Nrcyhpbm9kZSkpOwotCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7Ci0JCWdvdG8gbm9fd3JpdGU7Ci0JfQotCi0JaWYgKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpIHx8IFBhZ2VDaGVja2VkKHBhZ2UpKSB7CisJaWYgKFBhZ2VDaGVja2VkKHBhZ2UpKSB7CiAJCS8qCiAJCSAqIEl0J3MgbW1hcHBlZCBwYWdlY2FjaGUuICBBZGQgYnVmZmVycyBhbmQgam91cm5hbCBpdC4gIFRoZXJlCiAJCSAqIGRvZXNuJ3Qgc2VlbSBtdWNoIHBvaW50IGluIHJlZGlydHlpbmcgdGhlIHBhZ2UgaGVyZS4KIAkJICovCiAJCUNsZWFyUGFnZUNoZWNrZWQocGFnZSk7Ci0JCXJldCA9IGJsb2NrX3ByZXBhcmVfd3JpdGUocGFnZSwgMCwgUEFHRV9DQUNIRV9TSVpFLAotCQkJCQlleHQ0X2dldF9ibG9jayk7Ci0JCWlmIChyZXQgIT0gMCkgewotCQkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKLQkJCWdvdG8gb3V0X3VubG9jazsKLQkJfQotCQlyZXQgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwKLQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgZG9fam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKTsKLQotCQllcnIgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwKLQkJCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIHdyaXRlX2VuZF9mbik7Ci0JCWlmIChyZXQgPT0gMCkKLQkJCXJldCA9IGVycjsKLQkJRVhUNF9JKGlub2RlKS0+aV9zdGF0ZSB8PSBFWFQ0X1NUQVRFX0pEQVRBOwotCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJcmV0dXJuIF9fZXh0NF9qb3VybmFsbGVkX3dyaXRlcGFnZShwYWdlLCB3YmMpOwogCX0gZWxzZSB7CiAJCS8qCiAJCSAqIEl0IG1heSBiZSBhIHBhZ2UgZnVsbCBvZiBjaGVja3BvaW50LW1vZGUgYnVmZmVycy4gIFdlIGRvbid0CiAJCSAqIHJlYWxseSBrbm93IHVubGVzcyB3ZSBnbyBwb2tlIGFyb3VuZCBpbiB0aGUgYnVmZmVyX2hlYWRzLgogCQkgKiBCdXQgYmxvY2tfd3JpdGVfZnVsbF9wYWdlIHdpbGwgZG8gdGhlIHJpZ2h0IHRoaW5nLgogCQkgKi8KLQkJcmV0ID0gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsIGV4dDRfZ2V0X2Jsb2NrLCB3YmMpOworCQlyZXR1cm4gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsCisJCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsCisJCQkJCQl3YmMpOwogCX0KLQllcnIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwotCWlmICghcmV0KQotCQlyZXQgPSBlcnI7Ci1vdXQ6Ci0JcmV0dXJuIHJldDsKLQogbm9fd3JpdGU6CiAJcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKLW91dF91bmxvY2s6CiAJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JZ290byBvdXQ7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgZXh0NF9yZWFkcGFnZShzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHBhZ2UgKnBhZ2UpCkBAIC0xODE5LDcgKzI4MDgsNyBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMgZXh0NF9vcmRlcmVkX2FvcHMgPSB7CiAJLnJlYWRwYWdlCT0gZXh0NF9yZWFkcGFnZSwKIAkucmVhZHBhZ2VzCT0gZXh0NF9yZWFkcGFnZXMsCi0JLndyaXRlcGFnZQk9IGV4dDRfb3JkZXJlZF93cml0ZXBhZ2UsCisJLndyaXRlcGFnZQk9IGV4dDRfbm9ybWFsX3dyaXRlcGFnZSwKIAkuc3luY19wYWdlCT0gYmxvY2tfc3luY19wYWdlLAogCS53cml0ZV9iZWdpbgk9IGV4dDRfd3JpdGVfYmVnaW4sCiAJLndyaXRlX2VuZAk9IGV4dDRfb3JkZXJlZF93cml0ZV9lbmQsCkBAIC0xODMzLDcgKzI4MjIsNyBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMgZXh0NF93cml0ZWJhY2tfYW9wcyA9IHsKIAkucmVhZHBhZ2UJPSBleHQ0X3JlYWRwYWdlLAogCS5yZWFkcGFnZXMJPSBleHQ0X3JlYWRwYWdlcywKLQkud3JpdGVwYWdlCT0gZXh0NF93cml0ZWJhY2tfd3JpdGVwYWdlLAorCS53cml0ZXBhZ2UJPSBleHQ0X25vcm1hbF93cml0ZXBhZ2UsCiAJLnN5bmNfcGFnZQk9IGJsb2NrX3N5bmNfcGFnZSwKIAkud3JpdGVfYmVnaW4JPSBleHQ0X3dyaXRlX2JlZ2luLAogCS53cml0ZV9lbmQJPSBleHQ0X3dyaXRlYmFja193cml0ZV9lbmQsCkBAIC0xODU3LDEwICsyODQ2LDMxIEBACiAJLnJlbGVhc2VwYWdlCT0gZXh0NF9yZWxlYXNlcGFnZSwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGV4dDRfZGFfYW9wcyA9IHsKKwkucmVhZHBhZ2UJPSBleHQ0X3JlYWRwYWdlLAorCS5yZWFkcGFnZXMJPSBleHQ0X3JlYWRwYWdlcywKKwkud3JpdGVwYWdlCT0gZXh0NF9kYV93cml0ZXBhZ2UsCisJLndyaXRlcGFnZXMJPSBleHQ0X2RhX3dyaXRlcGFnZXMsCisJLnN5bmNfcGFnZQk9IGJsb2NrX3N5bmNfcGFnZSwKKwkud3JpdGVfYmVnaW4JPSBleHQ0X2RhX3dyaXRlX2JlZ2luLAorCS53cml0ZV9lbmQJPSBleHQ0X2RhX3dyaXRlX2VuZCwKKwkuYm1hcAkJPSBleHQ0X2JtYXAsCisJLmludmFsaWRhdGVwYWdlCT0gZXh0NF9kYV9pbnZhbGlkYXRlcGFnZSwKKwkucmVsZWFzZXBhZ2UJPSBleHQ0X3JlbGVhc2VwYWdlLAorCS5kaXJlY3RfSU8JPSBleHQ0X2RpcmVjdF9JTywKKwkubWlncmF0ZXBhZ2UJPSBidWZmZXJfbWlncmF0ZV9wYWdlLAorfTsKKwogdm9pZCBleHQ0X3NldF9hb3BzKHN0cnVjdCBpbm9kZSAqaW5vZGUpCiB7Ci0JaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKQorCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSAmJgorCQl0ZXN0X29wdChpbm9kZS0+aV9zYiwgREVMQUxMT0MpKQorCQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZleHQ0X2RhX2FvcHM7CisJZWxzZSBpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCiAJCWlub2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmV4dDRfb3JkZXJlZF9hb3BzOworCWVsc2UgaWYgKGV4dDRfc2hvdWxkX3dyaXRlYmFja19kYXRhKGlub2RlKSAmJgorCQkgdGVzdF9vcHQoaW5vZGUtPmlfc2IsIERFTEFMTE9DKSkKKwkJaW5vZGUtPmlfbWFwcGluZy0+YV9vcHMgPSAmZXh0NF9kYV9hb3BzOwogCWVsc2UgaWYgKGV4dDRfc2hvdWxkX3dyaXRlYmFja19kYXRhKGlub2RlKSkKIAkJaW5vZGUtPmlfbWFwcGluZy0+YV9vcHMgPSAmZXh0NF93cml0ZWJhY2tfYW9wczsKIAllbHNlCkBAIC0xODczLDcgKzI4ODMsNyBAQAogICogVGhpcyByZXF1aXJlZCBkdXJpbmcgdHJ1bmNhdGUuIFdlIG5lZWQgdG8gcGh5c2ljYWxseSB6ZXJvIHRoZSB0YWlsIGVuZAogICogb2YgdGhhdCBibG9jayBzbyBpdCBkb2Vzbid0IHlpZWxkIG9sZCBkYXRhIGlmIHRoZSBmaWxlIGlzIGxhdGVyIGdyb3duLgogICovCi1pbnQgZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBwYWdlICpwYWdlLAoraW50IGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGVfdCAqaGFuZGxlLAogCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IGZyb20pCiB7CiAJZXh0NF9mc2Jsa190IGluZGV4ID0gZnJvbSA+PiBQQUdFX0NBQ0hFX1NISUZUOwpAQCAtMTg4Miw4ICsyODkyLDEzIEBACiAJZXh0NF9sYmxrX3QgaWJsb2NrOwogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OwogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CiAJaW50IGVyciA9IDA7CiAKKwlwYWdlID0gZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIGZyb20gPj4gUEFHRV9DQUNIRV9TSElGVCk7CisJaWYgKCFwYWdlKQorCQlyZXR1cm4gLUVJTlZBTDsKKwogCWJsb2Nrc2l6ZSA9IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZTsKIAlsZW5ndGggPSBibG9ja3NpemUgLSAob2Zmc2V0ICYgKGJsb2Nrc2l6ZSAtIDEpKTsKIAlpYmxvY2sgPSBpbmRleCA8PCAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZV9iaXRzKTsKQEAgLTE5NTYsNyArMjk3MSw3IEBACiAJCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJoKTsKIAl9IGVsc2UgewogCQlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCi0JCQllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGUsIGJoKTsKKwkJCWVyciA9IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZSwgaW5vZGUpOwogCQltYXJrX2J1ZmZlcl9kaXJ0eShiaCk7CiAJfQogCkBAIC0yMTc5LDcgKzMxOTQsMjEgQEAKIAogCWlmICh0aGlzX2JoKSB7CiAJCUJVRkZFUl9UUkFDRSh0aGlzX2JoLCAiY2FsbCBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEiKTsKLQkJZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgdGhpc19iaCk7CisKKwkJLyoKKwkJICogVGhlIGJ1ZmZlciBoZWFkIHNob3VsZCBoYXZlIGFuIGF0dGFjaGVkIGpvdXJuYWwgaGVhZCBhdCB0aGlzCisJCSAqIHBvaW50LiBIb3dldmVyLCBpZiB0aGUgZGF0YSBpcyBjb3JydXB0ZWQgYW5kIGFuIGluZGlyZWN0CisJCSAqIGJsb2NrIHBvaW50ZWQgdG8gaXRzZWxmLCBpdCB3b3VsZCBoYXZlIGJlZW4gZGV0YWNoZWQgd2hlbgorCQkgKiB0aGUgYmxvY2sgd2FzIGNsZWFyZWQuIENoZWNrIGZvciB0aGlzIGluc3RlYWQgb2YgT09QU2luZy4KKwkJICovCisJCWlmIChiaDJqaCh0aGlzX2JoKSkKKwkJCWV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIHRoaXNfYmgpOworCQllbHNlCisJCQlleHQ0X2Vycm9yKGlub2RlLT5pX3NiLCBfX2Z1bmNfXywKKwkJCQkgICAiY2lyY3VsYXIgaW5kaXJlY3QgYmxvY2sgZGV0ZWN0ZWQsICIKKwkJCQkgICAiaW5vZGU9JWx1LCBibG9jaz0lbGx1IiwKKwkJCQkgICBpbm9kZS0+aV9pbm8sCisJCQkJICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgdGhpc19iaC0+Yl9ibG9ja25yKTsKIAl9CiB9CiAKQEAgLTIzMDUsNiArMzMzNCwxOSBAQAogCX0KIH0KIAoraW50IGV4dDRfY2FuX3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7CisJaWYgKElTX0FQUEVORChpbm9kZSkgfHwgSVNfSU1NVVRBQkxFKGlub2RlKSkKKwkJcmV0dXJuIDA7CisJaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpCisJCXJldHVybiAxOworCWlmIChTX0lTRElSKGlub2RlLT5pX21vZGUpKQorCQlyZXR1cm4gMTsKKwlpZiAoU19JU0xOSyhpbm9kZS0+aV9tb2RlKSkKKwkJcmV0dXJuICFleHQ0X2lub2RlX2lzX2Zhc3Rfc3ltbGluayhpbm9kZSk7CisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBleHQ0X3RydW5jYXRlKCkKICAqCkBAIC0yMzQ3LDUxICszMzg5LDI1IEBACiAJaW50IG47CiAJZXh0NF9sYmxrX3QgbGFzdF9ibG9jazsKIAl1bnNpZ25lZCBibG9ja3NpemUgPSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemU7Ci0Jc3RydWN0IHBhZ2UgKnBhZ2U7CiAKLQlpZiAoIShTX0lTUkVHKGlub2RlLT5pX21vZGUpIHx8IFNfSVNESVIoaW5vZGUtPmlfbW9kZSkgfHwKLQkgICAgU19JU0xOSyhpbm9kZS0+aV9tb2RlKSkpCisJaWYgKCFleHQ0X2Nhbl90cnVuY2F0ZShpbm9kZSkpCiAJCXJldHVybjsKLQlpZiAoZXh0NF9pbm9kZV9pc19mYXN0X3N5bWxpbmsoaW5vZGUpKQotCQlyZXR1cm47Ci0JaWYgKElTX0FQUEVORChpbm9kZSkgfHwgSVNfSU1NVVRBQkxFKGlub2RlKSkKLQkJcmV0dXJuOwotCi0JLyoKLQkgKiBXZSBoYXZlIHRvIGxvY2sgdGhlIEVPRiBwYWdlIGhlcmUsIGJlY2F1c2UgbG9ja19wYWdlKCkgbmVzdHMKLQkgKiBvdXRzaWRlIGpiZDJfam91cm5hbF9zdGFydCgpLgotCSAqLwotCWlmICgoaW5vZGUtPmlfc2l6ZSAmIChibG9ja3NpemUgLSAxKSkgPT0gMCkgewotCQkvKiBCbG9jayBib3VuZGFyeT8gTm90aGluZyB0byBkbyAqLwotCQlwYWdlID0gTlVMTDsKLQl9IGVsc2UgewotCQlwYWdlID0gZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsCi0JCQkJaW5vZGUtPmlfc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKTsKLQkJaWYgKCFwYWdlKQotCQkJcmV0dXJuOwotCX0KIAogCWlmIChFWFQ0X0koaW5vZGUpLT5pX2ZsYWdzICYgRVhUNF9FWFRFTlRTX0ZMKSB7Ci0JCWV4dDRfZXh0X3RydW5jYXRlKGlub2RlLCBwYWdlKTsKKwkJZXh0NF9leHRfdHJ1bmNhdGUoaW5vZGUpOwogCQlyZXR1cm47CiAJfQogCiAJaGFuZGxlID0gc3RhcnRfdHJhbnNhY3Rpb24oaW5vZGUpOwotCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQlpZiAocGFnZSkgewotCQkJY2xlYXJfaGlnaHBhZ2UocGFnZSk7Ci0JCQlmbHVzaF9kY2FjaGVfcGFnZShwYWdlKTsKLQkJCXVubG9ja19wYWdlKHBhZ2UpOwotCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwotCQl9CisJaWYgKElTX0VSUihoYW5kbGUpKQogCQlyZXR1cm47CQkvKiBBS1BNOiByZXR1cm4gd2hhdD8gKi8KLQl9CiAKIAlsYXN0X2Jsb2NrID0gKGlub2RlLT5pX3NpemUgKyBibG9ja3NpemUtMSkKIAkJCQkJPj4gRVhUNF9CTE9DS19TSVpFX0JJVFMoaW5vZGUtPmlfc2IpOwogCi0JaWYgKHBhZ2UpCi0JCWV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGUsIHBhZ2UsIG1hcHBpbmcsIGlub2RlLT5pX3NpemUpOworCWlmIChpbm9kZS0+aV9zaXplICYgKGJsb2Nrc2l6ZSAtIDEpKQorCQlpZiAoZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZSwgbWFwcGluZywgaW5vZGUtPmlfc2l6ZSkpCisJCQlnb3RvIG91dF9zdG9wOwogCiAJbiA9IGV4dDRfYmxvY2tfdG9fcGF0aChpbm9kZSwgbGFzdF9ibG9jaywgb2Zmc2V0cywgTlVMTCk7CiAJaWYgKG4gPT0gMCkKQEAgLTI0MTAsNiArMzQyNiwxMSBAQAogCQlnb3RvIG91dF9zdG9wOwogCiAJLyoKKwkgKiBGcm9tIGhlcmUgd2UgYmxvY2sgb3V0IGFsbCBleHQ0X2dldF9ibG9jaygpIGNhbGxlcnMgd2hvIHdhbnQgdG8KKwkgKiBtb2RpZnkgdGhlIGJsb2NrIGFsbG9jYXRpb24gdHJlZS4KKwkgKi8KKwlkb3duX3dyaXRlKCZlaS0+aV9kYXRhX3NlbSk7CisJLyoKIAkgKiBUaGUgb3JwaGFuIGxpc3QgZW50cnkgd2lsbCBub3cgcHJvdGVjdCB1cyBmcm9tIGFueSBjcmFzaCB3aGljaAogCSAqIG9jY3VycyBiZWZvcmUgdGhlIHRydW5jYXRlIGNvbXBsZXRlcywgc28gaXQgaXMgbm93IHNhZmUgdG8gcHJvcGFnYXRlCiAJICogdGhlIG5ldywgc2hvcnRlciBpbm9kZSBzaXplIChoZWxkIGZvciBub3cgaW4gaV9zaXplKSBpbnRvIHRoZQpAQCAtMjQxOCwxMiArMzQzOSw2IEBACiAJICovCiAJZWktPmlfZGlza3NpemUgPSBpbm9kZS0+aV9zaXplOwogCi0JLyoKLQkgKiBGcm9tIGhlcmUgd2UgYmxvY2sgb3V0IGFsbCBleHQ0X2dldF9ibG9jaygpIGNhbGxlcnMgd2hvIHdhbnQgdG8KLQkgKiBtb2RpZnkgdGhlIGJsb2NrIGFsbG9jYXRpb24gdHJlZS4KLQkgKi8KLQlkb3duX3dyaXRlKCZlaS0+aV9kYXRhX3NlbSk7Ci0KIAlpZiAobiA9PSAxKSB7CQkvKiBkaXJlY3QgYmxvY2tzICovCiAJCWV4dDRfZnJlZV9kYXRhKGhhbmRsZSwgaW5vZGUsIE5VTEwsIGlfZGF0YStvZmZzZXRzWzBdLAogCQkJICAgICAgIGlfZGF0YSArIEVYVDRfTkRJUl9CTE9DS1MpOwpAQCAtMzEwNyw3ICs0MTIyLDE0IEBACiAgKiBiZSBmcmVlZCwgc28gd2UgaGF2ZSBhIHN0cm9uZyBndWFyYW50ZWUgdGhhdCBubyBmdXR1cmUgY29tbWl0IHdpbGwKICAqIGxlYXZlIHRoZXNlIGJsb2NrcyB2aXNpYmxlIHRvIHRoZSB1c2VyLikKICAqCi0gKiBDYWxsZWQgd2l0aCBpbm9kZS0+c2VtIGRvd24uCisgKiBBbm90aGVyIHRoaW5nIHdlIGhhdmUgdG8gYXNzdXJlIGlzIHRoYXQgaWYgd2UgYXJlIGluIG9yZGVyZWQgbW9kZQorICogYW5kIGlub2RlIGlzIHN0aWxsIGF0dGFjaGVkIHRvIHRoZSBjb21taXR0aW5nIHRyYW5zYWN0aW9uLCB3ZSBtdXN0CisgKiB3ZSBzdGFydCB3cml0ZW91dCBvZiBhbGwgdGhlIGRpcnR5IHBhZ2VzIHdoaWNoIGFyZSBiZWluZyB0cnVuY2F0ZWQuCisgKiBUaGlzIHdheSB3ZSBhcmUgc3VyZSB0aGF0IGFsbCB0aGUgZGF0YSB3cml0dGVuIGluIHRoZSBwcmV2aW91cworICogdHJhbnNhY3Rpb24gYXJlIGFscmVhZHkgb24gZGlzayAodHJ1bmNhdGUgd2FpdHMgZm9yIHBhZ2VzIHVuZGVyCisgKiB3cml0ZWJhY2spLgorICoKKyAqIENhbGxlZCB3aXRoIGlub2RlLT5pX211dGV4IGRvd24uCiAgKi8KIGludCBleHQ0X3NldGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaWF0dHIgKmF0dHIpCiB7CkBAIC0zMTczLDYgKzQxOTUsMjIgQEAKIAkJaWYgKCFlcnJvcikKIAkJCWVycm9yID0gcmM7CiAJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisKKwkJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKSB7CisJCQllcnJvciA9IGV4dDRfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZShpbm9kZSwKKwkJCQkJCQkgICAgYXR0ci0+aWFfc2l6ZSk7CisJCQlpZiAoZXJyb3IpIHsKKwkJCQkvKiBEbyBhcyBtdWNoIGVycm9yIGNsZWFudXAgYXMgcG9zc2libGUgKi8KKwkJCQloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIDMpOworCQkJCWlmIChJU19FUlIoaGFuZGxlKSkgeworCQkJCQlleHQ0X29ycGhhbl9kZWwoTlVMTCwgaW5vZGUpOworCQkJCQlnb3RvIGVycl9vdXQ7CisJCQkJfQorCQkJCWV4dDRfb3JwaGFuX2RlbChoYW5kbGUsIGlub2RlKTsKKwkJCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQkJCWdvdG8gZXJyX291dDsKKwkJCX0KKwkJfQogCX0KIAogCXJjID0gaW5vZGVfc2V0YXR0cihpbm9kZSwgYXR0cik7CkBAIC0zMTkzLDYgKzQyMzEsMzIgQEAKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK2ludCBleHQ0X2dldGF0dHIoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJIHN0cnVjdCBrc3RhdCAqc3RhdCkKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlOworCXVuc2lnbmVkIGxvbmcgZGVsYWxsb2NfYmxvY2tzOworCisJaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJZ2VuZXJpY19maWxsYXR0cihpbm9kZSwgc3RhdCk7CisKKwkvKgorCSAqIFdlIGNhbid0IHVwZGF0ZSBpX2Jsb2NrcyBpZiB0aGUgYmxvY2sgYWxsb2NhdGlvbiBpcyBkZWxheWVkCisJICogb3RoZXJ3aXNlIGluIHRoZSBjYXNlIG9mIHN5c3RlbSBjcmFzaCBiZWZvcmUgdGhlIHJlYWwgYmxvY2sKKwkgKiBhbGxvY2F0aW9uIGlzIGRvbmUsIHdlIHdpbGwgaGF2ZSBpX2Jsb2NrcyBpbmNvbnNpc3RlbnQgd2l0aAorCSAqIG9uLWRpc2sgZmlsZSBibG9ja3MuCisJICogV2UgYWx3YXlzIGtlZXAgaV9ibG9ja3MgdXBkYXRlZCB0b2dldGhlciB3aXRoIHJlYWwKKwkgKiBhbGxvY2F0aW9uLiBCdXQgdG8gbm90IGNvbmZ1c2Ugd2l0aCB1c2VyLCBzdGF0CisJICogd2lsbCByZXR1cm4gdGhlIGJsb2NrcyB0aGF0IGluY2x1ZGUgdGhlIGRlbGF5ZWQgYWxsb2NhdGlvbgorCSAqIGJsb2NrcyBmb3IgdGhpcyBmaWxlLgorCSAqLworCXNwaW5fbG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwlkZWxhbGxvY19ibG9ja3MgPSBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzOworCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCisJc3RhdC0+YmxvY2tzICs9IChkZWxhbGxvY19ibG9ja3MgPDwgaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplX2JpdHMpPj45OworCXJldHVybiAwOworfQogCiAvKgogICogSG93IG1hbnkgYmxvY2tzIGRvdGggbWFrZSBhIHdyaXRlcGFnZSgpPwpAQCAtMzUwNiwzICs0NTcwLDY0IEBACiAKIAlyZXR1cm4gZXJyOwogfQorCitzdGF0aWMgaW50IGV4dDRfYmhfdW5tYXBwZWQoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKK3sKKwlyZXR1cm4gIWJ1ZmZlcl9tYXBwZWQoYmgpOworfQorCitpbnQgZXh0NF9wYWdlX21rd3JpdGUoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCBwYWdlICpwYWdlKQoreworCWxvZmZfdCBzaXplOworCXVuc2lnbmVkIGxvbmcgbGVuOworCWludCByZXQgPSAtRUlOVkFMOworCXN0cnVjdCBmaWxlICpmaWxlID0gdm1hLT52bV9maWxlOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlOworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gaW5vZGUtPmlfbWFwcGluZzsKKworCS8qCisJICogR2V0IGlfYWxsb2Nfc2VtIHRvIHN0b3AgdHJ1bmNhdGVzIG1lc3Npbmcgd2l0aCB0aGUgaW5vZGUuIFdlIGNhbm5vdAorCSAqIGdldCBpX211dGV4IGJlY2F1c2Ugd2UgYXJlIGFscmVhZHkgaG9sZGluZyBtbWFwX3NlbS4KKwkgKi8KKwlkb3duX3JlYWQoJmlub2RlLT5pX2FsbG9jX3NlbSk7CisJc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwlpZiAocGFnZS0+bWFwcGluZyAhPSBtYXBwaW5nIHx8IHNpemUgPD0gcGFnZV9vZmZzZXQocGFnZSkKKwkgICAgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkgeworCQkvKiBwYWdlIGdvdCB0cnVuY2F0ZWQgZnJvbSB1bmRlciB1cz8gKi8KKwkJZ290byBvdXRfdW5sb2NrOworCX0KKwlyZXQgPSAwOworCWlmIChQYWdlTWFwcGVkVG9EaXNrKHBhZ2UpKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlpZiAocGFnZS0+aW5kZXggPT0gc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKQorCQlsZW4gPSBzaXplICYgflBBR0VfQ0FDSEVfTUFTSzsKKwllbHNlCisJCWxlbiA9IFBBR0VfQ0FDSEVfU0laRTsKKworCWlmIChwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCS8qIHJldHVybiBpZiB3ZSBoYXZlIGFsbCB0aGUgYnVmZmVycyBtYXBwZWQgKi8KKwkJaWYgKCF3YWxrX3BhZ2VfYnVmZmVycyhOVUxMLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsIGxlbiwgTlVMTCwKKwkJCQkgICAgICAgZXh0NF9iaF91bm1hcHBlZCkpCisJCQlnb3RvIG91dF91bmxvY2s7CisJfQorCS8qCisJICogT0ssIHdlIG5lZWQgdG8gZmlsbCB0aGUgaG9sZS4uLiBEbyB3cml0ZV9iZWdpbiB3cml0ZV9lbmQKKwkgKiB0byBkbyBibG9jayBhbGxvY2F0aW9uL3Jlc2VydmF0aW9uLldlIGFyZSBub3QgaG9sZGluZworCSAqIGlub2RlLmlfX211dGV4IGhlcmUuIFRoYXQgYWxsb3cgKiBwYXJhbGxlbCB3cml0ZV9iZWdpbiwKKwkgKiB3cml0ZV9lbmQgY2FsbC4gbG9ja19wYWdlIHByZXZlbnQgdGhpcyBmcm9tIGhhcHBlbmluZworCSAqIG9uIHRoZSBzYW1lIHBhZ2UgdGhvdWdoCisJICovCisJcmV0ID0gbWFwcGluZy0+YV9vcHMtPndyaXRlX2JlZ2luKGZpbGUsIG1hcHBpbmcsIHBhZ2Vfb2Zmc2V0KHBhZ2UpLAorCQkJbGVuLCBBT1BfRkxBR19VTklOVEVSUlVQVElCTEUsICZwYWdlLCBOVUxMKTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBvdXRfdW5sb2NrOworCXJldCA9IG1hcHBpbmctPmFfb3BzLT53cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcGFnZV9vZmZzZXQocGFnZSksCisJCQlsZW4sIGxlbiwgcGFnZSwgTlVMTCk7CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0X3VubG9jazsKKwlyZXQgPSAwOworb3V0X3VubG9jazoKKwl1cF9yZWFkKCZpbm9kZS0+aV9hbGxvY19zZW0pOworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9mcy9leHQ0L21iYWxsb2MuYyBiL2ZzL2V4dDQvbWJhbGxvYy5jCmluZGV4IGM5OTAwYWEuLjhkMTQxYTIgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvbWJhbGxvYy5jCisrKyBiL2ZzL2V4dDQvbWJhbGxvYy5jCkBAIC0zODEsMjIgKzM4MSwyOCBAQAogCiBzdGF0aWMgaW5saW5lIGludCBtYl9maW5kX25leHRfemVyb19iaXQodm9pZCAqYWRkciwgaW50IG1heCwgaW50IHN0YXJ0KQogewotCWludCBmaXggPSAwOworCWludCBmaXggPSAwLCByZXQsIHRtcG1heDsKIAlhZGRyID0gbWJfY29ycmVjdF9hZGRyX2FuZF9iaXQoJmZpeCwgYWRkcik7Ci0JbWF4ICs9IGZpeDsKKwl0bXBtYXggPSBtYXggKyBmaXg7CiAJc3RhcnQgKz0gZml4OwogCi0JcmV0dXJuIGV4dDRfZmluZF9uZXh0X3plcm9fYml0KGFkZHIsIG1heCwgc3RhcnQpIC0gZml4OworCXJldCA9IGV4dDRfZmluZF9uZXh0X3plcm9fYml0KGFkZHIsIHRtcG1heCwgc3RhcnQpIC0gZml4OworCWlmIChyZXQgPiBtYXgpCisJCXJldHVybiBtYXg7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgbWJfZmluZF9uZXh0X2JpdCh2b2lkICphZGRyLCBpbnQgbWF4LCBpbnQgc3RhcnQpCiB7Ci0JaW50IGZpeCA9IDA7CisJaW50IGZpeCA9IDAsIHJldCwgdG1wbWF4OwogCWFkZHIgPSBtYl9jb3JyZWN0X2FkZHJfYW5kX2JpdCgmZml4LCBhZGRyKTsKLQltYXggKz0gZml4OworCXRtcG1heCA9IG1heCArIGZpeDsKIAlzdGFydCArPSBmaXg7CiAKLQlyZXR1cm4gZXh0NF9maW5kX25leHRfYml0KGFkZHIsIG1heCwgc3RhcnQpIC0gZml4OworCXJldCA9IGV4dDRfZmluZF9uZXh0X2JpdChhZGRyLCB0bXBtYXgsIHN0YXJ0KSAtIGZpeDsKKwlpZiAocmV0ID4gbWF4KQorCQlyZXR1cm4gbWF4OworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkICptYl9maW5kX2J1ZGR5KHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIsIGludCBvcmRlciwgaW50ICptYXgpCkBAIC04MDMsNiArODA5LDcgQEAKIAkJaWYgKCFidWZmZXJfdXB0b2RhdGUoYmhbaV0pKQogCQkJZ290byBvdXQ7CiAKKwllcnIgPSAwOwogCWZpcnN0X2Jsb2NrID0gcGFnZS0+aW5kZXggKiBibG9ja3NfcGVyX3BhZ2U7CiAJZm9yIChpID0gMDsgaSA8IGJsb2Nrc19wZXJfcGFnZTsgaSsrKSB7CiAJCWludCBncm91cDsKQEAgLTg4Myw2ICs4OTAsNyBAQAogCWludCBwbnVtOwogCWludCBwb2ZmOwogCXN0cnVjdCBwYWdlICpwYWdlOworCWludCByZXQ7CiAKIAltYl9kZWJ1ZygibG9hZCBncm91cCAlbHVcbiIsIGdyb3VwKTsKIApAQCAtOTE0LDE1ICs5MjIsMjEgQEAKIAkJaWYgKHBhZ2UpIHsKIAkJCUJVR19PTihwYWdlLT5tYXBwaW5nICE9IGlub2RlLT5pX21hcHBpbmcpOwogCQkJaWYgKCFQYWdlVXB0b2RhdGUocGFnZSkpIHsKLQkJCQlleHQ0X21iX2luaXRfY2FjaGUocGFnZSwgTlVMTCk7CisJCQkJcmV0ID0gZXh0NF9tYl9pbml0X2NhY2hlKHBhZ2UsIE5VTEwpOworCQkJCWlmIChyZXQpIHsKKwkJCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQkJCWdvdG8gZXJyOworCQkJCX0KIAkJCQltYl9jbXBfYml0bWFwcyhlNGIsIHBhZ2VfYWRkcmVzcyhwYWdlKSArCiAJCQkJCSAgICAgICAocG9mZiAqIHNiLT5zX2Jsb2Nrc2l6ZSkpOwogCQkJfQogCQkJdW5sb2NrX3BhZ2UocGFnZSk7CiAJCX0KIAl9Ci0JaWYgKHBhZ2UgPT0gTlVMTCB8fCAhUGFnZVVwdG9kYXRlKHBhZ2UpKQorCWlmIChwYWdlID09IE5VTEwgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkgeworCQlyZXQgPSAtRUlPOwogCQlnb3RvIGVycjsKKwl9CiAJZTRiLT5iZF9iaXRtYXBfcGFnZSA9IHBhZ2U7CiAJZTRiLT5iZF9iaXRtYXAgPSBwYWdlX2FkZHJlc3MocGFnZSkgKyAocG9mZiAqIHNiLT5zX2Jsb2Nrc2l6ZSk7CiAJbWFya19wYWdlX2FjY2Vzc2VkKHBhZ2UpOwpAQCAtOTM4LDE0ICs5NTIsMjAgQEAKIAkJcGFnZSA9IGZpbmRfb3JfY3JlYXRlX3BhZ2UoaW5vZGUtPmlfbWFwcGluZywgcG51bSwgR0ZQX05PRlMpOwogCQlpZiAocGFnZSkgewogCQkJQlVHX09OKHBhZ2UtPm1hcHBpbmcgIT0gaW5vZGUtPmlfbWFwcGluZyk7Ci0JCQlpZiAoIVBhZ2VVcHRvZGF0ZShwYWdlKSkKLQkJCQlleHQ0X21iX2luaXRfY2FjaGUocGFnZSwgZTRiLT5iZF9iaXRtYXApOwotCisJCQlpZiAoIVBhZ2VVcHRvZGF0ZShwYWdlKSkgeworCQkJCXJldCA9IGV4dDRfbWJfaW5pdF9jYWNoZShwYWdlLCBlNGItPmJkX2JpdG1hcCk7CisJCQkJaWYgKHJldCkgeworCQkJCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJCQkJZ290byBlcnI7CisJCQkJfQorCQkJfQogCQkJdW5sb2NrX3BhZ2UocGFnZSk7CiAJCX0KIAl9Ci0JaWYgKHBhZ2UgPT0gTlVMTCB8fCAhUGFnZVVwdG9kYXRlKHBhZ2UpKQorCWlmIChwYWdlID09IE5VTEwgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkgeworCQlyZXQgPSAtRUlPOwogCQlnb3RvIGVycjsKKwl9CiAJZTRiLT5iZF9idWRkeV9wYWdlID0gcGFnZTsKIAllNGItPmJkX2J1ZGR5ID0gcGFnZV9hZGRyZXNzKHBhZ2UpICsgKHBvZmYgKiBzYi0+c19ibG9ja3NpemUpOwogCW1hcmtfcGFnZV9hY2Nlc3NlZChwYWdlKTsKQEAgLTk2Miw3ICs5ODIsNyBAQAogCQlwYWdlX2NhY2hlX3JlbGVhc2UoZTRiLT5iZF9idWRkeV9wYWdlKTsKIAllNGItPmJkX2J1ZGR5ID0gTlVMTDsKIAllNGItPmJkX2JpdG1hcCA9IE5VTEw7Ci0JcmV0dXJuIC1FSU87CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgZXh0NF9tYl9yZWxlYXNlX2Rlc2Moc3RydWN0IGV4dDRfYnVkZHkgKmU0YikKQEAgLTEwMzEsNyArMTA1MSw3IEBACiAJfQogfQogCi1zdGF0aWMgaW50IG1iX2ZyZWVfYmxvY2tzKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIsCitzdGF0aWMgdm9pZCBtYl9mcmVlX2Jsb2NrcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZXh0NF9idWRkeSAqZTRiLAogCQkJICBpbnQgZmlyc3QsIGludCBjb3VudCkKIHsKIAlpbnQgYmxvY2sgPSAwOwpAQCAtMTA3MSwxMSArMTA5MSwxMiBAQAogCQkJYmxvY2tuciArPSBibG9jazsKIAkJCWJsb2NrbnIgKz0KIAkJCSAgICBsZTMyX3RvX2NwdShFWFQ0X1NCKHNiKS0+c19lcy0+c19maXJzdF9kYXRhX2Jsb2NrKTsKLQorCQkJZXh0NF91bmxvY2tfZ3JvdXAoc2IsIGU0Yi0+YmRfZ3JvdXApOwogCQkJZXh0NF9lcnJvcihzYiwgX19mdW5jX18sICJkb3VibGUtZnJlZSBvZiBpbm9kZSIKIAkJCQkgICAiICVsdSdzIGJsb2NrICVsbHUoYml0ICV1IGluIGdyb3VwICVsdSlcbiIsCiAJCQkJICAgaW5vZGUgPyBpbm9kZS0+aV9pbm8gOiAwLCBibG9ja25yLCBibG9jaywKIAkJCQkgICBlNGItPmJkX2dyb3VwKTsKKwkJCWV4dDRfbG9ja19ncm91cChzYiwgZTRiLT5iZF9ncm91cCk7CiAJCX0KIAkJbWJfY2xlYXJfYml0KGJsb2NrLCBFWFQ0X01CX0JJVE1BUChlNGIpKTsKIAkJZTRiLT5iZF9pbmZvLT5iYl9jb3VudGVyc1tvcmRlcl0rKzsKQEAgLTExMTMsOCArMTEzNCw2IEBACiAJCX0gd2hpbGUgKDEpOwogCX0KIAltYl9jaGVja19idWRkeShlNGIpOwotCi0JcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgbWJfZmluZF9leHRlbnQoc3RydWN0IGV4dDRfYnVkZHkgKmU0YiwgaW50IG9yZGVyLCBpbnQgYmxvY2ssCkBAIC0xNzMwLDEwICsxNzQ5LDYgQEAKIAkJYWMtPmFjX2dfZXguZmVfc3RhcnQgPSBzYmktPnNfbWJfbGFzdF9zdGFydDsKIAkJc3Bpbl91bmxvY2soJnNiaS0+c19tZF9sb2NrKTsKIAl9Ci0KLQkvKiBzZWFyY2hpbmcgZm9yIHRoZSByaWdodCBncm91cCBzdGFydCBmcm9tIHRoZSBnb2FsIHZhbHVlIHNwZWNpZmllZCAqLwotCWdyb3VwID0gYWMtPmFjX2dfZXguZmVfZ3JvdXA7Ci0KIAkvKiBMZXQncyBqdXN0IHNjYW4gZ3JvdXBzIHRvIGZpbmQgbW9yZS1sZXNzIHN1aXRhYmxlIGJsb2NrcyAqLwogCWNyID0gYWMtPmFjXzJvcmRlciA/IDAgOiAxOwogCS8qCkBAIC0xNzQzLDYgKzE3NTgsMTIgQEAKIHJlcGVhdDoKIAlmb3IgKDsgY3IgPCA0ICYmIGFjLT5hY19zdGF0dXMgPT0gQUNfU1RBVFVTX0NPTlRJTlVFOyBjcisrKSB7CiAJCWFjLT5hY19jcml0ZXJpYSA9IGNyOworCQkvKgorCQkgKiBzZWFyY2hpbmcgZm9yIHRoZSByaWdodCBncm91cCBzdGFydAorCQkgKiBmcm9tIHRoZSBnb2FsIHZhbHVlIHNwZWNpZmllZAorCQkgKi8KKwkJZ3JvdXAgPSBhYy0+YWNfZ19leC5mZV9ncm91cDsKKwogCQlmb3IgKGkgPSAwOyBpIDwgRVhUNF9TQihzYiktPnNfZ3JvdXBzX2NvdW50OyBncm91cCsrLCBpKyspIHsKIAkJCXN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKmdycDsKIAkJCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2M7CkBAIC0xOTYzLDYgKzE5ODQsOCBAQAogCWludCByYzsKIAlpbnQgc2l6ZTsKIAorCWlmICh1bmxpa2VseShzYmktPnNfbWJfaGlzdG9yeSA9PSBOVUxMKSkKKwkJcmV0dXJuIC1FTk9NRU07CiAJcyA9IGttYWxsb2Moc2l6ZW9mKCpzKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKHMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0yMTY1LDkgKzIxODgsNyBAQAogCXNiaS0+c19tYl9oaXN0b3J5X2N1ciA9IDA7CiAJc3Bpbl9sb2NrX2luaXQoJnNiaS0+c19tYl9oaXN0b3J5X2xvY2spOwogCWkgPSBzYmktPnNfbWJfaGlzdG9yeV9tYXggKiBzaXplb2Yoc3RydWN0IGV4dDRfbWJfaGlzdG9yeSk7Ci0Jc2JpLT5zX21iX2hpc3RvcnkgPSBrbWFsbG9jKGksIEdGUF9LRVJORUwpOwotCWlmIChsaWtlbHkoc2JpLT5zX21iX2hpc3RvcnkgIT0gTlVMTCkpCi0JCW1lbXNldChzYmktPnNfbWJfaGlzdG9yeSwgMCwgaSk7CisJc2JpLT5zX21iX2hpc3RvcnkgPSBremFsbG9jKGksIEdGUF9LRVJORUwpOwogCS8qIGlmIHdlIGNhbid0IGFsbG9jYXRlIGhpc3RvcnksIHRoZW4gd2Ugc2ltcGxlIHdvbid0IHVzZSBpdCAqLwogfQogCkBAIC0yMjE1LDIxICsyMjM2LDE5MiBAQAogI2RlZmluZSBleHQ0X21iX2hpc3RvcnlfaW5pdChzYikKICNlbmRpZgogCisKKy8qIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBleHQ0X2dyb3VwX2luZm8gZGF0YSBmb3IgdGhlIGdpdmVuIGdyb3VwLiAqLworaW50IGV4dDRfbWJfYWRkX2dyb3VwaW5mbyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBleHQ0X2dyb3VwX3QgZ3JvdXAsCisJCQkgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2MpCit7CisJaW50IGksIGxlbjsKKwlpbnQgbWV0YWxlbiA9IDA7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqKm1ldGFfZ3JvdXBfaW5mbzsKKworCS8qCisJICogRmlyc3QgY2hlY2sgaWYgdGhpcyBncm91cCBpcyB0aGUgZmlyc3Qgb2YgYSByZXNlcnZlZCBibG9jay4KKwkgKiBJZiBpdCdzIHRydWUsIHdlIGhhdmUgdG8gYWxsb2NhdGUgYSBuZXcgdGFibGUgb2YgcG9pbnRlcnMKKwkgKiB0byBleHQ0X2dyb3VwX2luZm8gc3RydWN0dXJlcworCSAqLworCWlmIChncm91cCAlIEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpID09IDApIHsKKwkJbWV0YWxlbiA9IHNpemVvZigqbWV0YV9ncm91cF9pbmZvKSA8PAorCQkJRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKTsKKwkJbWV0YV9ncm91cF9pbmZvID0ga21hbGxvYyhtZXRhbGVuLCBHRlBfS0VSTkVMKTsKKwkJaWYgKG1ldGFfZ3JvdXBfaW5mbyA9PSBOVUxMKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IGFsbG9jYXRlIG1lbSBmb3IgYSAiCisJCQkgICAgICAgImJ1ZGR5IGdyb3VwXG4iKTsKKwkJCWdvdG8gZXhpdF9tZXRhX2dyb3VwX2luZm87CisJCX0KKwkJc2JpLT5zX2dyb3VwX2luZm9bZ3JvdXAgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKV0gPQorCQkJbWV0YV9ncm91cF9pbmZvOworCX0KKworCS8qCisJICogY2FsY3VsYXRlIG5lZWRlZCBzaXplLiBpZiBjaGFuZ2UgYmJfY291bnRlcnMgc2l6ZSwKKwkgKiBkb24ndCBmb3JnZXQgYWJvdXQgZXh0NF9tYl9nZW5lcmF0ZV9idWRkeSgpCisJICovCisJbGVuID0gb2Zmc2V0b2YodHlwZW9mKCoqbWV0YV9ncm91cF9pbmZvKSwKKwkJICAgICAgIGJiX2NvdW50ZXJzW3NiLT5zX2Jsb2Nrc2l6ZV9iaXRzICsgMl0pOworCisJbWV0YV9ncm91cF9pbmZvID0KKwkJc2JpLT5zX2dyb3VwX2luZm9bZ3JvdXAgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKV07CisJaSA9IGdyb3VwICYgKEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0gMSk7CisKKwltZXRhX2dyb3VwX2luZm9baV0gPSBremFsbG9jKGxlbiwgR0ZQX0tFUk5FTCk7CisJaWYgKG1ldGFfZ3JvdXBfaW5mb1tpXSA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogY2FuJ3QgYWxsb2NhdGUgYnVkZHkgbWVtXG4iKTsKKwkJZ290byBleGl0X2dyb3VwX2luZm87CisJfQorCXNldF9iaXQoRVhUNF9HUk9VUF9JTkZPX05FRURfSU5JVF9CSVQsCisJCSYobWV0YV9ncm91cF9pbmZvW2ldLT5iYl9zdGF0ZSkpOworCisJLyoKKwkgKiBpbml0aWFsaXplIGJiX2ZyZWUgdG8gYmUgYWJsZSB0byBza2lwCisJICogZW1wdHkgZ3JvdXBzIHdpdGhvdXQgaW5pdGlhbGl6YXRpb24KKwkgKi8KKwlpZiAoZGVzYy0+YmdfZmxhZ3MgJiBjcHVfdG9fbGUxNihFWFQ0X0JHX0JMT0NLX1VOSU5JVCkpIHsKKwkJbWV0YV9ncm91cF9pbmZvW2ldLT5iYl9mcmVlID0KKwkJCWV4dDRfZnJlZV9ibG9ja3NfYWZ0ZXJfaW5pdChzYiwgZ3JvdXAsIGRlc2MpOworCX0gZWxzZSB7CisJCW1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfZnJlZSA9CisJCQlsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCk7CisJfQorCisJSU5JVF9MSVNUX0hFQUQoJm1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfcHJlYWxsb2NfbGlzdCk7CisKKyNpZmRlZiBET1VCTEVfQ0hFQ0sKKwl7CisJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJCW1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfYml0bWFwID0KKwkJCWttYWxsb2Moc2ItPnNfYmxvY2tzaXplLCBHRlBfS0VSTkVMKTsKKwkJQlVHX09OKG1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfYml0bWFwID09IE5VTEwpOworCQliaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKKwkJQlVHX09OKGJoID09IE5VTEwpOworCQltZW1jcHkobWV0YV9ncm91cF9pbmZvW2ldLT5iYl9iaXRtYXAsIGJoLT5iX2RhdGEsCisJCQlzYi0+c19ibG9ja3NpemUpOworCQlwdXRfYmgoYmgpOworCX0KKyNlbmRpZgorCisJcmV0dXJuIDA7CisKK2V4aXRfZ3JvdXBfaW5mbzoKKwkvKiBJZiBhIG1ldGFfZ3JvdXBfaW5mbyB0YWJsZSBoYXMgYmVlbiBhbGxvY2F0ZWQsIHJlbGVhc2UgaXQgbm93ICovCisJaWYgKGdyb3VwICUgRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgPT0gMCkKKwkJa2ZyZWUoc2JpLT5zX2dyb3VwX2luZm9bZ3JvdXAgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKV0pOworZXhpdF9tZXRhX2dyb3VwX2luZm86CisJcmV0dXJuIC1FTk9NRU07Cit9IC8qIGV4dDRfbWJfYWRkX2dyb3VwaW5mbyAqLworCisvKgorICogQWRkIGEgZ3JvdXAgdG8gdGhlIGV4aXN0aW5nIGdyb3Vwcy4KKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3Igb25saW5lIHJlc2l6ZQorICovCitpbnQgZXh0NF9tYl9hZGRfbW9yZV9ncm91cGluZm8oc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGdyb3VwLAorCQkJICAgICAgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2MpCit7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJc3RydWN0IGlub2RlICppbm9kZSA9IHNiaS0+c19idWRkeV9jYWNoZTsKKwlpbnQgYmxvY2tzX3Blcl9wYWdlOworCWludCBibG9jazsKKwlpbnQgcG51bTsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgZXJyOworCisJLyogQWRkIGdyb3VwIGJhc2VkIG9uIGdyb3VwIGRlc2NyaXB0b3IqLworCWVyciA9IGV4dDRfbWJfYWRkX2dyb3VwaW5mbyhzYiwgZ3JvdXAsIGRlc2MpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwkvKgorCSAqIENhY2hlIHBhZ2VzIGNvbnRhaW5pbmcgZHluYW1pYyBtYl9hbGxvYyBkYXRhcyAoYnVkZHkgYW5kIGJpdG1hcAorCSAqIGRhdGFzKSBhcmUgc2V0IG5vdCB1cCB0byBkYXRlIHNvIHRoYXQgdGhleSB3aWxsIGJlIHJlLWluaXRpbGFpemVkCisJICogZHVyaW5nIHRoZSBuZXh0IGNhbGwgdG8gZXh0NF9tYl9sb2FkX2J1ZGR5CisJICovCisKKwkvKiBTZXQgYnVkZHkgcGFnZSBhcyBub3QgdXAgdG8gZGF0ZSAqLworCWJsb2Nrc19wZXJfcGFnZSA9IFBBR0VfQ0FDSEVfU0laRSAvIHNiLT5zX2Jsb2Nrc2l6ZTsKKwlibG9jayA9IGdyb3VwICogMjsKKwlwbnVtID0gYmxvY2sgLyBibG9ja3NfcGVyX3BhZ2U7CisJcGFnZSA9IGZpbmRfZ2V0X3BhZ2UoaW5vZGUtPmlfbWFwcGluZywgcG51bSk7CisJaWYgKHBhZ2UgIT0gTlVMTCkgeworCQlDbGVhclBhZ2VVcHRvZGF0ZShwYWdlKTsKKwkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOworCX0KKworCS8qIFNldCBiaXRtYXAgcGFnZSBhcyBub3QgdXAgdG8gZGF0ZSAqLworCWJsb2NrKys7CisJcG51bSA9IGJsb2NrIC8gYmxvY2tzX3Blcl9wYWdlOworCXBhZ2UgPSBmaW5kX2dldF9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0pOworCWlmIChwYWdlICE9IE5VTEwpIHsKKwkJQ2xlYXJQYWdlVXB0b2RhdGUocGFnZSk7CisJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFVwZGF0ZSBhbiBleGlzdGluZyBncm91cC4KKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3Igb25saW5lIHJlc2l6ZQorICovCit2b2lkIGV4dDRfbWJfdXBkYXRlX2dyb3VwX2luZm8oc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqZ3JwLCBleHQ0X2dycGJsa190IGFkZCkKK3sKKwlncnAtPmJiX2ZyZWUgKz0gYWRkOworfQorCiBzdGF0aWMgaW50IGV4dDRfbWJfaW5pdF9iYWNrZW5kKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiB7CiAJZXh0NF9ncm91cF90IGk7Ci0JaW50IGosIGxlbiwgbWV0YWxlbjsKKwlpbnQgbWV0YWxlbjsKIAlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKLQlpbnQgbnVtX21ldGFfZ3JvdXBfaW5mb3MgPQotCQkoc2JpLT5zX2dyb3Vwc19jb3VudCArIEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0gMSkgPj4KLQkJCUVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYik7CisJc3RydWN0IGV4dDRfc3VwZXJfYmxvY2sgKmVzID0gc2JpLT5zX2VzOworCWludCBudW1fbWV0YV9ncm91cF9pbmZvczsKKwlpbnQgbnVtX21ldGFfZ3JvdXBfaW5mb3NfbWF4OworCWludCBhcnJheV9zaXplOwogCXN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKiptZXRhX2dyb3VwX2luZm87CisJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYzsKIAorCS8qIFRoaXMgaXMgdGhlIG51bWJlciBvZiBibG9ja3MgdXNlZCBieSBHRFQgKi8KKwludW1fbWV0YV9ncm91cF9pbmZvcyA9IChzYmktPnNfZ3JvdXBzX2NvdW50ICsgRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgLQorCQkJCTEpID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYik7CisKKwkvKgorCSAqIFRoaXMgaXMgdGhlIHRvdGFsIG51bWJlciBvZiBibG9ja3MgdXNlZCBieSBHRFQgaW5jbHVkaW5nCisJICogdGhlIG51bWJlciBvZiByZXNlcnZlZCBibG9ja3MgZm9yIEdEVC4KKwkgKiBUaGUgc19ncm91cF9pbmZvIGFycmF5IGlzIGFsbG9jYXRlZCB3aXRoIHRoaXMgdmFsdWUKKwkgKiB0byBhbGxvdyBhIGNsZWFuIG9ubGluZSByZXNpemUgd2l0aG91dCBhIGNvbXBsZXgKKwkgKiBtYW5pcHVsYXRpb24gb2YgcG9pbnRlci4KKwkgKiBUaGUgZHJhd2JhY2sgaXMgdGhlIHVudXNlZCBtZW1vcnkgd2hlbiBubyByZXNpemUKKwkgKiBvY2N1cnMgYnV0IGl0J3MgdmVyeSBsb3cgaW4gdGVybXMgb2YgcGFnZXMKKwkgKiAoc2VlIGNvbW1lbnRzIGJlbG93KQorCSAqIE5lZWQgdG8gaGFuZGxlIHRoaXMgcHJvcGVybHkgd2hlbiBNRVRBX0JHIHJlc2l6aW5nIGlzIGFsbG93ZWQKKwkgKi8KKwludW1fbWV0YV9ncm91cF9pbmZvc19tYXggPSBudW1fbWV0YV9ncm91cF9pbmZvcyArCisJCQkJbGUxNl90b19jcHUoZXMtPnNfcmVzZXJ2ZWRfZ2R0X2Jsb2Nrcyk7CisKKwkvKgorCSAqIGFycmF5X3NpemUgaXMgdGhlIHNpemUgb2Ygc19ncm91cF9pbmZvIGFycmF5LiBXZSByb3VuZCBpdAorCSAqIHRvIHRoZSBuZXh0IHBvd2VyIG9mIHR3byBiZWNhdXNlIHRoaXMgYXBwcm94aW1hdGlvbiBpcyBkb25lCisJICogaW50ZXJuYWxseSBieSBrbWFsbG9jIHNvIHdlIGNhbiBoYXZlIHNvbWUgbW9yZSBtZW1vcnkKKwkgKiBmb3IgZnJlZSBoZXJlIChlLmcuIG1heSBiZSB1c2VkIGZvciBNRVRBX0JHIHJlc2l6ZSkuCisJICovCisJYXJyYXlfc2l6ZSA9IDE7CisJd2hpbGUgKGFycmF5X3NpemUgPCBzaXplb2YoKnNiaS0+c19ncm91cF9pbmZvKSAqCisJICAgICAgIG51bV9tZXRhX2dyb3VwX2luZm9zX21heCkKKwkJYXJyYXlfc2l6ZSA9IGFycmF5X3NpemUgPDwgMTsKIAkvKiBBbiA4VEIgZmlsZXN5c3RlbSB3aXRoIDY0LWJpdCBwb2ludGVycyByZXF1aXJlcyBhIDQwOTYgYnl0ZQogCSAqIGttYWxsb2MuIEEgMTI4a2IgbWFsbG9jIHNob3VsZCBzdWZmaWNlIGZvciBhIDI1NlRCIGZpbGVzeXN0ZW0uCiAJICogU28gYSB0d28gbGV2ZWwgc2NoZW1lIHN1ZmZpY2VzIGZvciBub3cuICovCi0Jc2JpLT5zX2dyb3VwX2luZm8gPSBrbWFsbG9jKHNpemVvZigqc2JpLT5zX2dyb3VwX2luZm8pICoKLQkJCQkgICAgbnVtX21ldGFfZ3JvdXBfaW5mb3MsIEdGUF9LRVJORUwpOworCXNiaS0+c19ncm91cF9pbmZvID0ga21hbGxvYyhhcnJheV9zaXplLCBHRlBfS0VSTkVMKTsKIAlpZiAoc2JpLT5zX2dyb3VwX2luZm8gPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IGFsbG9jYXRlIGJ1ZGR5IG1ldGEgZ3JvdXBcbiIpOwogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTIyNTYsNjMgKzI0NDgsMTUgQEAKIAkJc2JpLT5zX2dyb3VwX2luZm9baV0gPSBtZXRhX2dyb3VwX2luZm87CiAJfQogCi0JLyoKLQkgKiBjYWxjdWxhdGUgbmVlZGVkIHNpemUuIGlmIGNoYW5nZSBiYl9jb3VudGVycyBzaXplLAotCSAqIGRvbid0IGZvcmdldCBhYm91dCBleHQ0X21iX2dlbmVyYXRlX2J1ZGR5KCkKLQkgKi8KLQlsZW4gPSBzaXplb2Yoc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyk7Ci0JbGVuICs9IHNpemVvZih1bnNpZ25lZCBzaG9ydCkgKiAoc2ItPnNfYmxvY2tzaXplX2JpdHMgKyAyKTsKIAlmb3IgKGkgPSAwOyBpIDwgc2JpLT5zX2dyb3Vwc19jb3VudDsgaSsrKSB7Ci0JCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2M7Ci0KLQkJbWV0YV9ncm91cF9pbmZvID0KLQkJCXNiaS0+c19ncm91cF9pbmZvW2kgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKV07Ci0JCWogPSBpICYgKEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0gMSk7Ci0KLQkJbWV0YV9ncm91cF9pbmZvW2pdID0ga3phbGxvYyhsZW4sIEdGUF9LRVJORUwpOwotCQlpZiAobWV0YV9ncm91cF9pbmZvW2pdID09IE5VTEwpIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogY2FuJ3QgYWxsb2NhdGUgYnVkZHkgbWVtXG4iKTsKLQkJCWdvdG8gZXJyX2ZyZWVidWRkeTsKLQkJfQogCQlkZXNjID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgaSwgTlVMTCk7CiAJCWlmIChkZXNjID09IE5VTEwpIHsKIAkJCXByaW50ayhLRVJOX0VSUgogCQkJCSJFWFQ0LWZzOiBjYW4ndCByZWFkIGRlc2NyaXB0b3IgJWx1XG4iLCBpKTsKLQkJCWkrKzsKIAkJCWdvdG8gZXJyX2ZyZWVidWRkeTsKIAkJfQotCQltZW1zZXQobWV0YV9ncm91cF9pbmZvW2pdLCAwLCBsZW4pOwotCQlzZXRfYml0KEVYVDRfR1JPVVBfSU5GT19ORUVEX0lOSVRfQklULAotCQkJJihtZXRhX2dyb3VwX2luZm9bal0tPmJiX3N0YXRlKSk7Ci0KLQkJLyoKLQkJICogaW5pdGlhbGl6ZSBiYl9mcmVlIHRvIGJlIGFibGUgdG8gc2tpcAotCQkgKiBlbXB0eSBncm91cHMgd2l0aG91dCBpbml0aWFsaXphdGlvbgotCQkgKi8KLQkJaWYgKGRlc2MtPmJnX2ZsYWdzICYgY3B1X3RvX2xlMTYoRVhUNF9CR19CTE9DS19VTklOSVQpKSB7Ci0JCQltZXRhX2dyb3VwX2luZm9bal0tPmJiX2ZyZWUgPQotCQkJCWV4dDRfZnJlZV9ibG9ja3NfYWZ0ZXJfaW5pdChzYiwgaSwgZGVzYyk7Ci0JCX0gZWxzZSB7Ci0JCQltZXRhX2dyb3VwX2luZm9bal0tPmJiX2ZyZWUgPQotCQkJCWxlMTZfdG9fY3B1KGRlc2MtPmJnX2ZyZWVfYmxvY2tzX2NvdW50KTsKLQkJfQotCi0JCUlOSVRfTElTVF9IRUFEKCZtZXRhX2dyb3VwX2luZm9bal0tPmJiX3ByZWFsbG9jX2xpc3QpOwotCi0jaWZkZWYgRE9VQkxFX0NIRUNLCi0JCXsKLQkJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7Ci0JCQltZXRhX2dyb3VwX2luZm9bal0tPmJiX2JpdG1hcCA9Ci0JCQkJa21hbGxvYyhzYi0+c19ibG9ja3NpemUsIEdGUF9LRVJORUwpOwotCQkJQlVHX09OKG1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfYml0bWFwID09IE5VTEwpOwotCQkJYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgaSk7Ci0JCQlCVUdfT04oYmggPT0gTlVMTCk7Ci0JCQltZW1jcHkobWV0YV9ncm91cF9pbmZvW2pdLT5iYl9iaXRtYXAsIGJoLT5iX2RhdGEsCi0JCQkJCXNiLT5zX2Jsb2Nrc2l6ZSk7Ci0JCQlwdXRfYmgoYmgpOwotCQl9Ci0jZW5kaWYKLQorCQlpZiAoZXh0NF9tYl9hZGRfZ3JvdXBpbmZvKHNiLCBpLCBkZXNjKSAhPSAwKQorCQkJZ290byBlcnJfZnJlZWJ1ZGR5OwogCX0KIAogCXJldHVybiAwOwpAQCAtMjMzNiw2ICsyNDgwLDcgQEAKIAl1bnNpZ25lZCBpOwogCXVuc2lnbmVkIG9mZnNldDsKIAl1bnNpZ25lZCBtYXg7CisJaW50IHJldDsKIAogCWlmICghdGVzdF9vcHQoc2IsIE1CQUxMT0MpKQogCQlyZXR1cm4gMDsKQEAgLTIzNzAsMTIgKzI1MTUsMTIgQEAKIAl9IHdoaWxlIChpIDw9IHNiLT5zX2Jsb2Nrc2l6ZV9iaXRzICsgMSk7CiAKIAkvKiBpbml0IGZpbGUgZm9yIGJ1ZGR5IGRhdGEgKi8KLQlpID0gZXh0NF9tYl9pbml0X2JhY2tlbmQoc2IpOwotCWlmIChpKSB7CisJcmV0ID0gZXh0NF9tYl9pbml0X2JhY2tlbmQoc2IpOworCWlmIChyZXQgIT0gMCkgewogCQljbGVhcl9vcHQoc2JpLT5zX21vdW50X29wdCwgTUJBTExPQyk7CiAJCWtmcmVlKHNiaS0+c19tYl9vZmZzZXRzKTsKIAkJa2ZyZWUoc2JpLT5zX21iX21heHMpOwotCQlyZXR1cm4gaTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAlzcGluX2xvY2tfaW5pdCgmc2JpLT5zX21kX2xvY2spOwpAQCAtMjU0OCw4ICsyNjkzLDcgQEAKIAkJZXh0NF9sb2NrX2dyb3VwKHNiLCBtZC0+Z3JvdXApOwogCQlmb3IgKGkgPSAwOyBpIDwgbWQtPm51bTsgaSsrKSB7CiAJCQltYl9kZWJ1ZygiICV1IiwgbWQtPmJsb2Nrc1tpXSk7Ci0JCQllcnIgPSBtYl9mcmVlX2Jsb2NrcyhOVUxMLCAmZTRiLCBtZC0+YmxvY2tzW2ldLCAxKTsKLQkJCUJVR19PTihlcnIgIT0gMCk7CisJCQltYl9mcmVlX2Jsb2NrcyhOVUxMLCAmZTRiLCBtZC0+YmxvY2tzW2ldLCAxKTsKIAkJfQogCQltYl9kZWJ1ZygiXG4iKTsKIAkJZXh0NF91bmxvY2tfZ3JvdXAoc2IsIG1kLT5ncm91cCk7CkBAIC0yNTc1LDI1ICsyNzE5LDI0IEBACiAKIAogCi0jZGVmaW5lIE1CX1BST0NfVkFMVUVfUkVBRChuYW1lKQkJCQlcCi1zdGF0aWMgaW50IGV4dDRfbWJfcmVhZF8jI25hbWUoY2hhciAqcGFnZSwgY2hhciAqKnN0YXJ0LAlcCi0JCW9mZl90IG9mZiwgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkJXAorI2RlZmluZSBNQl9QUk9DX0ZPUFMobmFtZSkJCQkJCVwKK3N0YXRpYyBpbnQgZXh0NF9tYl8jI25hbWUjI19wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQlcCiB7CQkJCQkJCQlcCi0Jc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gZGF0YTsJCQlcCi0JaW50IGxlbjsJCQkJCQlcCi0JKmVvZiA9IDE7CQkJCQkJXAotCWlmIChvZmYgIT0gMCkJCQkJCQlcCi0JCXJldHVybiAwOwkJCQkJXAotCWxlbiA9IHNwcmludGYocGFnZSwgIiVsZFxuIiwgc2JpLT5zX21iXyMjbmFtZSk7CQlcCi0JKnN0YXJ0ID0gcGFnZTsJCQkJCQlcCi0JcmV0dXJuIGxlbjsJCQkJCQlcCi19Ci0KLSNkZWZpbmUgTUJfUFJPQ19WQUxVRV9XUklURShuYW1lKQkJCQlcCi1zdGF0aWMgaW50IGV4dDRfbWJfd3JpdGVfIyNuYW1lKHN0cnVjdCBmaWxlICpmaWxlLAkJXAotCQljb25zdCBjaGFyIF9fdXNlciAqYnVmLCB1bnNpZ25lZCBsb25nIGNudCwgdm9pZCAqZGF0YSkJXAorCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IG0tPnByaXZhdGU7CQkJXAorCQkJCQkJCQlcCisJc2VxX3ByaW50ZihtLCAiJWxkXG4iLCBzYmktPnNfbWJfIyNuYW1lKTsJCVwKKwlyZXR1cm4gMDsJCQkJCQlcCit9CQkJCQkJCQlcCisJCQkJCQkJCVwKK3N0YXRpYyBpbnQgZXh0NF9tYl8jI25hbWUjI19wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpXAogewkJCQkJCQkJXAotCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IGRhdGE7CQkJXAorCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfc2hvdywgUERFKGlub2RlKS0+ZGF0YSk7XAorfQkJCQkJCQkJXAorCQkJCQkJCQlcCitzdGF0aWMgc3NpemVfdCBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsCVwKKwkJY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQlcCit7CQkJCQkJCQlcCisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gUERFKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpLT5kYXRhO1wKIAljaGFyIHN0clszMl07CQkJCQkJXAogCWxvbmcgdmFsdWU7CQkJCQkJXAogCWlmIChjbnQgPj0gc2l6ZW9mKHN0cikpCQkJCQlcCkBAIC0yNjA1LDMxICsyNzQ4LDMyIEBACiAJCXJldHVybiAtRVJBTkdFOwkJCQkJXAogCXNiaS0+c19tYl8jI25hbWUgPSB2YWx1ZTsJCQkJXAogCXJldHVybiBjbnQ7CQkJCQkJXAotfQorfQkJCQkJCQkJXAorCQkJCQkJCQlcCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBleHQ0X21iXyMjbmFtZSMjX3Byb2NfZm9wcyA9IHsJXAorCS5vd25lcgkJPSBUSElTX01PRFVMRSwJCQkJXAorCS5vcGVuCQk9IGV4dDRfbWJfIyNuYW1lIyNfcHJvY19vcGVuLAkJXAorCS5yZWFkCQk9IHNlcV9yZWFkLAkJCQlcCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCQkJCVwKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAkJCVwKKwkud3JpdGUJCT0gZXh0NF9tYl8jI25hbWUjI19wcm9jX3dyaXRlLAkJXAorfTsKIAotTUJfUFJPQ19WQUxVRV9SRUFEKHN0YXRzKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUoc3RhdHMpOwotTUJfUFJPQ19WQUxVRV9SRUFEKG1heF90b19zY2FuKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUobWF4X3RvX3NjYW4pOwotTUJfUFJPQ19WQUxVRV9SRUFEKG1pbl90b19zY2FuKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUobWluX3RvX3NjYW4pOwotTUJfUFJPQ19WQUxVRV9SRUFEKG9yZGVyMl9yZXFzKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUob3JkZXIyX3JlcXMpOwotTUJfUFJPQ19WQUxVRV9SRUFEKHN0cmVhbV9yZXF1ZXN0KTsKLU1CX1BST0NfVkFMVUVfV1JJVEUoc3RyZWFtX3JlcXVlc3QpOwotTUJfUFJPQ19WQUxVRV9SRUFEKGdyb3VwX3ByZWFsbG9jKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUoZ3JvdXBfcHJlYWxsb2MpOworTUJfUFJPQ19GT1BTKHN0YXRzKTsKK01CX1BST0NfRk9QUyhtYXhfdG9fc2Nhbik7CitNQl9QUk9DX0ZPUFMobWluX3RvX3NjYW4pOworTUJfUFJPQ19GT1BTKG9yZGVyMl9yZXFzKTsKK01CX1BST0NfRk9QUyhzdHJlYW1fcmVxdWVzdCk7CitNQl9QUk9DX0ZPUFMoZ3JvdXBfcHJlYWxsb2MpOwogCiAjZGVmaW5lCU1CX1BST0NfSEFORExFUihuYW1lLCB2YXIpCQkJCQlcCiBkbyB7CQkJCQkJCQkJXAotCXByb2MgPSBjcmVhdGVfcHJvY19lbnRyeShuYW1lLCBtb2RlLCBzYmktPnNfbWJfcHJvYyk7CQlcCisJcHJvYyA9IHByb2NfY3JlYXRlX2RhdGEobmFtZSwgbW9kZSwgc2JpLT5zX21iX3Byb2MsCQlcCisJCQkJJmV4dDRfbWJfIyN2YXIjI19wcm9jX2ZvcHMsIHNiaSk7CVwKIAlpZiAocHJvYyA9PSBOVUxMKSB7CQkJCQkJXAogCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IHRvIGNyZWF0ZSAlc1xuIiwgbmFtZSk7CVwKIAkJZ290byBlcnJfb3V0OwkJCQkJCVwKIAl9CQkJCQkJCQlcCi0JcHJvYy0+ZGF0YSA9IHNiaTsJCQkJCQlcCi0JcHJvYy0+cmVhZF9wcm9jICA9IGV4dDRfbWJfcmVhZF8jI3ZhciA7CQkJCVwKLQlwcm9jLT53cml0ZV9wcm9jID0gZXh0NF9tYl93cml0ZV8jI3ZhcjsJCQkJXAogfSB3aGlsZSAoMCkKIAogc3RhdGljIGludCBleHQ0X21iX2luaXRfcGVyX2Rldl9wcm9jKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCkBAIC0yNjM5LDYgKzI3ODMsMTAgQEAKIAlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnByb2M7CiAJY2hhciBkZXZuYW1lWzY0XTsKIAorCWlmIChwcm9jX3Jvb3RfZXh0NCA9PSBOVUxMKSB7CisJCXNiaS0+c19tYl9wcm9jID0gTlVMTDsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQogCWJkZXZuYW1lKHNiLT5zX2JkZXYsIGRldm5hbWUpOwogCXNiaS0+c19tYl9wcm9jID0gcHJvY19ta2RpcihkZXZuYW1lLCBwcm9jX3Jvb3RfZXh0NCk7CiAKQEAgLTI3NDcsNyArMjg5NSw3IEBACiAKIAogCWVyciA9IC1FSU87Ci0JYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGFjLT5hY19iX2V4LmZlX2dyb3VwKTsKKwliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBhYy0+YWNfYl9leC5mZV9ncm91cCk7CiAJaWYgKCFiaXRtYXBfYmgpCiAJCWdvdG8gb3V0X2VycjsKIApAQCAtMjgxNiw3ICsyOTY0LDIzIEBACiAJbGUxNl9hZGRfY3B1KCZnZHAtPmJnX2ZyZWVfYmxvY2tzX2NvdW50LCAtYWMtPmFjX2JfZXguZmVfbGVuKTsKIAlnZHAtPmJnX2NoZWNrc3VtID0gZXh0NF9ncm91cF9kZXNjX2NzdW0oc2JpLCBhYy0+YWNfYl9leC5mZV9ncm91cCwgZ2RwKTsKIAlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGFjLT5hY19iX2V4LmZlX2dyb3VwKSk7Ci0JcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCBhYy0+YWNfYl9leC5mZV9sZW4pOworCisJLyoKKwkgKiBmcmVlIGJsb2NrcyBhY2NvdW50IGhhcyBhbHJlYWR5IGJlIHJlZHVjZWQvcmVzZXJ2ZWQKKwkgKiBhdCB3cml0ZV9iZWdpbigpIHRpbWUgZm9yIGRlbGF5ZWQgYWxsb2NhdGlvbgorCSAqIGRvIG5vdCBkb3VibGUgYWNjb3VudGluZworCSAqLworCWlmICghKGFjLT5hY19mbGFncyAmIEVYVDRfTUJfREVMQUxMT0NfUkVTRVJWRUQpKQorCQlwZXJjcHVfY291bnRlcl9zdWIoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsCisJCQkJCWFjLT5hY19iX2V4LmZlX2xlbik7CisKKwlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLAorCQkJCQkJCSAgYWMtPmFjX2JfZXguZmVfZ3JvdXApOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyAtPSBhYy0+YWNfYl9leC5mZV9sZW47CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KIAogCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJpdG1hcF9iaCk7CiAJaWYgKGVycikKQEAgLTM0NzMsOCArMzYzNyw2IEBACiAJCWlmIChiaXQgPj0gZW5kKQogCQkJYnJlYWs7CiAJCW5leHQgPSBtYl9maW5kX25leHRfYml0KGJpdG1hcF9iaC0+Yl9kYXRhLCBlbmQsIGJpdCk7Ci0JCWlmIChuZXh0ID4gZW5kKQotCQkJbmV4dCA9IGVuZDsKIAkJc3RhcnQgPSBncm91cCAqIEVYVDRfQkxPQ0tTX1BFUl9HUk9VUChzYikgKyBiaXQgKwogCQkJCWxlMzJfdG9fY3B1KHNiaS0+c19lcy0+c19maXJzdF9kYXRhX2Jsb2NrKTsKIAkJbWJfZGVidWcoIiAgICBmcmVlIHByZWFsbG9jYXRlZCAldS8ldSBpbiBncm91cCAldVxuIiwKQEAgLTM1NjksNyArMzczMSw3IEBACiAJaWYgKGxpc3RfZW1wdHkoJmdycC0+YmJfcHJlYWxsb2NfbGlzdCkpCiAJCXJldHVybiAwOwogCi0JYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKKwliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CiAJaWYgKGJpdG1hcF9iaCA9PSBOVUxMKSB7CiAJCS8qIGVycm9yIGhhbmRsaW5nIGhlcmUgKi8KIAkJZXh0NF9tYl9yZWxlYXNlX2Rlc2MoJmU0Yik7CkBAIC0zNzQzLDcgKzM5MDUsNyBAQAogCQllcnIgPSBleHQ0X21iX2xvYWRfYnVkZHkoc2IsIGdyb3VwLCAmZTRiKTsKIAkJQlVHX09OKGVyciAhPSAwKTsgLyogZXJyb3IgaGFuZGxpbmcgaGVyZSAqLwogCi0JCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CisJCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKIAkJaWYgKGJpdG1hcF9iaCA9PSBOVUxMKSB7CiAJCQkvKiBlcnJvciBoYW5kbGluZyBoZXJlICovCiAJCQlleHQ0X21iX3JlbGVhc2VfZGVzYygmZTRiKTsKQEAgLTQwMTEsMTAgKzQxNzMsMjEgQEAKIAlzYmkgPSBFWFQ0X1NCKHNiKTsKIAogCWlmICghdGVzdF9vcHQoc2IsIE1CQUxMT0MpKSB7Ci0JCWJsb2NrID0gZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGUsIGFyLT5pbm9kZSwgYXItPmdvYWwsCisJCWJsb2NrID0gZXh0NF9vbGRfbmV3X2Jsb2NrcyhoYW5kbGUsIGFyLT5pbm9kZSwgYXItPmdvYWwsCiAJCQkJCSAgICAmKGFyLT5sZW4pLCBlcnJwKTsKIAkJcmV0dXJuIGJsb2NrOwogCX0KKwlpZiAoIUVYVDRfSShhci0+aW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcpIHsKKwkJLyoKKwkJICogV2l0aCBkZWxhbGxvYyB3ZSBhbHJlYWR5IHJlc2VydmVkIHRoZSBibG9ja3MKKwkJICovCisJCWFyLT5sZW4gPSBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzYmksIGFyLT5sZW4pOworCX0KKworCWlmIChhci0+bGVuID09IDApIHsKKwkJKmVycnAgPSAtRU5PU1BDOworCQlyZXR1cm4gMDsKKwl9CiAKIAl3aGlsZSAoYXItPmxlbiAmJiBEUVVPVF9BTExPQ19CTE9DSyhhci0+aW5vZGUsIGFyLT5sZW4pKSB7CiAJCWFyLT5mbGFncyB8PSBFWFQ0X01CX0hJTlRfTk9QUkVBTExPQzsKQEAgLTQwMjYsMTAgKzQxOTksMTQgQEAKIAl9CiAJaW5xdW90YSA9IGFyLT5sZW47CiAKKwlpZiAoRVhUNF9JKGFyLT5pbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZykKKwkJYXItPmZsYWdzIHw9IEVYVDRfTUJfREVMQUxMT0NfUkVTRVJWRUQ7CisKIAlhYyA9IGttZW1fY2FjaGVfYWxsb2MoZXh0NF9hY19jYWNoZXAsIEdGUF9OT0ZTKTsKIAlpZiAoIWFjKSB7CisJCWFyLT5sZW4gPSAwOwogCQkqZXJycCA9IC1FTk9NRU07Ci0JCXJldHVybiAwOworCQlnb3RvIG91dDE7CiAJfQogCiAJZXh0NF9tYl9wb2xsX25ld190cmFuc2FjdGlvbihzYiwgaGFuZGxlKTsKQEAgLTQwMzcsMTIgKzQyMTQsMTEgQEAKIAkqZXJycCA9IGV4dDRfbWJfaW5pdGlhbGl6ZV9jb250ZXh0KGFjLCBhcik7CiAJaWYgKCplcnJwKSB7CiAJCWFyLT5sZW4gPSAwOwotCQlnb3RvIG91dDsKKwkJZ290byBvdXQyOwogCX0KIAogCWFjLT5hY19vcCA9IEVYVDRfTUJfSElTVE9SWV9QUkVBTExPQzsKIAlpZiAoIWV4dDRfbWJfdXNlX3ByZWFsbG9jYXRlZChhYykpIHsKLQogCQlhYy0+YWNfb3AgPSBFWFQ0X01CX0hJU1RPUllfQUxMT0M7CiAJCWV4dDRfbWJfbm9ybWFsaXplX3JlcXVlc3QoYWMsIGFyKTsKIHJlcGVhdDoKQEAgLTQwODUsMTEgKzQyNjEsMTIgQEAKIAogCWV4dDRfbWJfcmVsZWFzZV9jb250ZXh0KGFjKTsKIAotb3V0Ogorb3V0MjoKKwlrbWVtX2NhY2hlX2ZyZWUoZXh0NF9hY19jYWNoZXAsIGFjKTsKK291dDE6CiAJaWYgKGFyLT5sZW4gPCBpbnF1b3RhKQogCQlEUVVPVF9GUkVFX0JMT0NLKGFyLT5pbm9kZSwgaW5xdW90YSAtIGFyLT5sZW4pOwogCi0Ja21lbV9jYWNoZV9mcmVlKGV4dDRfYWNfY2FjaGVwLCBhYyk7CiAJcmV0dXJuIGJsb2NrOwogfQogc3RhdGljIHZvaWQgZXh0NF9tYl9wb2xsX25ld190cmFuc2FjdGlvbihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLApAQCAtNDI0Miw3ICs0NDE5LDcgQEAKIAkJb3ZlcmZsb3cgPSBiaXQgKyBjb3VudCAtIEVYVDRfQkxPQ0tTX1BFUl9HUk9VUChzYik7CiAJCWNvdW50IC09IG92ZXJmbG93OwogCX0KLQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgYmxvY2tfZ3JvdXApOworCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGJsb2NrX2dyb3VwKTsKIAlpZiAoIWJpdG1hcF9iaCkKIAkJZ290byBlcnJvcl9yZXR1cm47CiAJZ2RwID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgYmxvY2tfZ3JvdXAsICZnZF9iaCk7CkBAIC00MzA5LDEwICs0NDg2LDkgQEAKIAkJZXh0NF9tYl9mcmVlX21ldGFkYXRhKGhhbmRsZSwgJmU0YiwgYmxvY2tfZ3JvdXAsIGJpdCwgY291bnQpOwogCX0gZWxzZSB7CiAJCWV4dDRfbG9ja19ncm91cChzYiwgYmxvY2tfZ3JvdXApOwotCQllcnIgPSBtYl9mcmVlX2Jsb2Nrcyhpbm9kZSwgJmU0YiwgYml0LCBjb3VudCk7CisJCW1iX2ZyZWVfYmxvY2tzKGlub2RlLCAmZTRiLCBiaXQsIGNvdW50KTsKIAkJZXh0NF9tYl9yZXR1cm5fdG9fcHJlYWxsb2NhdGlvbihpbm9kZSwgJmU0YiwgYmxvY2ssIGNvdW50KTsKIAkJZXh0NF91bmxvY2tfZ3JvdXAoc2IsIGJsb2NrX2dyb3VwKTsKLQkJQlVHX09OKGVyciAhPSAwKTsKIAl9CiAKIAlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBibG9ja19ncm91cCkpOwpAQCAtNDMyMSw2ICs0NDk3LDEzIEBACiAJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBibG9ja19ncm91cCkpOwogCXBlcmNwdV9jb3VudGVyX2FkZCgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgY291bnQpOwogCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgYmxvY2tfZ3JvdXApOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyArPSBjb3VudDsKKwkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJfQorCiAJZXh0NF9tYl9yZWxlYXNlX2Rlc2MoJmU0Yik7CiAKIAkqZnJlZWQgKz0gY291bnQ7CmRpZmYgLS1naXQgYS9mcy9leHQ0L25hbWVpLmMgYi9mcy9leHQ0L25hbWVpLmMKaW5kZXggYWIxNmJlYS4uMzg3YWQ5OCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9uYW1laS5jCisrKyBiL2ZzL2V4dDQvbmFtZWkuYwpAQCAtMTgzLDYgKzE4MywxNiBAQAogCQkJICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIAogLyoKKyAqIHAgaXMgYXQgbGVhc3QgNiBieXRlcyBiZWZvcmUgdGhlIGVuZCBvZiBwYWdlCisgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKgorZXh0NF9uZXh0X2VudHJ5KHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICpwKQoreworCXJldHVybiAoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKikoKGNoYXIgKilwICsKKwkJZXh0NF9yZWNfbGVuX2Zyb21fZGlzayhwLT5yZWNfbGVuKSk7Cit9CisKKy8qCiAgKiBGdXR1cmU6IHVzZSBoaWdoIGZvdXIgYml0cyBvZiBibG9jayBmb3IgY29hbGVzY2Utb24tZGVsZXRlIGZsYWdzCiAgKiBNYXNrIHRoZW0gb2ZmIGZvciBub3cuCiAgKi8KQEAgLTIzMSwxMyArMjQxLDEzIEBACiB7CiAJdW5zaWduZWQgZW50cnlfc3BhY2UgPSBkaXItPmlfc2ItPnNfYmxvY2tzaXplIC0gRVhUNF9ESVJfUkVDX0xFTigxKSAtCiAJCUVYVDRfRElSX1JFQ19MRU4oMikgLSBpbmZvc2l6ZTsKLQlyZXR1cm4gMD8gMjA6IGVudHJ5X3NwYWNlIC8gc2l6ZW9mKHN0cnVjdCBkeF9lbnRyeSk7CisJcmV0dXJuIGVudHJ5X3NwYWNlIC8gc2l6ZW9mKHN0cnVjdCBkeF9lbnRyeSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgZHhfbm9kZV9saW1pdCAoc3RydWN0IGlub2RlICpkaXIpCiB7CiAJdW5zaWduZWQgZW50cnlfc3BhY2UgPSBkaXItPmlfc2ItPnNfYmxvY2tzaXplIC0gRVhUNF9ESVJfUkVDX0xFTigwKTsKLQlyZXR1cm4gMD8gMjI6IGVudHJ5X3NwYWNlIC8gc2l6ZW9mKHN0cnVjdCBkeF9lbnRyeSk7CisJcmV0dXJuIGVudHJ5X3NwYWNlIC8gc2l6ZW9mKHN0cnVjdCBkeF9lbnRyeSk7CiB9CiAKIC8qCkBAIC01NTQsMTUgKzU2NCw2IEBACiAKIAogLyoKLSAqIHAgaXMgYXQgbGVhc3QgNiBieXRlcyBiZWZvcmUgdGhlIGVuZCBvZiBwYWdlCi0gKi8KLXN0YXRpYyBpbmxpbmUgc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKmV4dDRfbmV4dF9lbnRyeShzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqcCkKLXsKLQlyZXR1cm4gKHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICopKChjaGFyICopcCArCi0JCWV4dDRfcmVjX2xlbl9mcm9tX2Rpc2socC0+cmVjX2xlbikpOwotfQotCi0vKgogICogVGhpcyBmdW5jdGlvbiBmaWxscyBhIHJlZC1ibGFjayB0cmVlIHdpdGggaW5mb3JtYXRpb24gZnJvbSBhCiAgKiBkaXJlY3RvcnkgYmxvY2suICBJdCByZXR1cm5zIHRoZSBudW1iZXIgZGlyZWN0b3J5IGVudHJpZXMgbG9hZGVkCiAgKiBpbnRvIHRoZSB0cmVlLiAgSWYgdGhlcmUgaXMgYW4gZXJyb3IgaXQgaXMgcmV0dXJuZWQgaW4gZXJyLgpAQCAtOTkzLDE5ICs5OTQsMjEgQEAKIAkJZGUgPSAoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKikgYmgtPmJfZGF0YTsKIAkJdG9wID0gKHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICopICgoY2hhciAqKSBkZSArIHNiLT5zX2Jsb2Nrc2l6ZSAtCiAJCQkJICAgICAgIEVYVDRfRElSX1JFQ19MRU4oMCkpOwotCQlmb3IgKDsgZGUgPCB0b3A7IGRlID0gZXh0NF9uZXh0X2VudHJ5KGRlKSkKLQkJaWYgKGV4dDRfbWF0Y2ggKG5hbWVsZW4sIG5hbWUsIGRlKSkgewotCQkJaWYgKCFleHQ0X2NoZWNrX2Rpcl9lbnRyeSgiZXh0NF9maW5kX2VudHJ5IiwKLQkJCQkJCSAgZGlyLCBkZSwgYmgsCi0JCQkJICAoYmxvY2s8PEVYVDRfQkxPQ0tfU0laRV9CSVRTKHNiKSkKLQkJCQkJICArKChjaGFyICopZGUgLSBiaC0+Yl9kYXRhKSkpIHsKLQkJCQlicmVsc2UgKGJoKTsKKwkJZm9yICg7IGRlIDwgdG9wOyBkZSA9IGV4dDRfbmV4dF9lbnRyeShkZSkpIHsKKwkJCWludCBvZmYgPSAoYmxvY2sgPDwgRVhUNF9CTE9DS19TSVpFX0JJVFMoc2IpKQorCQkJCSAgKyAoKGNoYXIgKikgZGUgLSBiaC0+Yl9kYXRhKTsKKworCQkJaWYgKCFleHQ0X2NoZWNrX2Rpcl9lbnRyeShfX2Z1bmNfXywgZGlyLCBkZSwgYmgsIG9mZikpIHsKKwkJCQlicmVsc2UoYmgpOwogCQkJCSplcnIgPSBFUlJfQkFEX0RYX0RJUjsKIAkJCQlnb3RvIGVycm91dDsKIAkJCX0KLQkJCSpyZXNfZGlyID0gZGU7Ci0JCQlkeF9yZWxlYXNlIChmcmFtZXMpOwotCQkJcmV0dXJuIGJoOworCisJCQlpZiAoZXh0NF9tYXRjaChuYW1lbGVuLCBuYW1lLCBkZSkpIHsKKwkJCQkqcmVzX2RpciA9IGRlOworCQkJCWR4X3JlbGVhc2UoZnJhbWVzKTsKKwkJCQlyZXR1cm4gYmg7CisJCQl9CiAJCX0KIAkJYnJlbHNlIChiaCk7CiAJCS8qIENoZWNrIHRvIHNlZSBpZiB3ZSBzaG91bGQgY29udGludWUgdG8gc2VhcmNoICovCmRpZmYgLS1naXQgYS9mcy9leHQ0L3Jlc2l6ZS5jIGIvZnMvZXh0NC9yZXNpemUuYwppbmRleCA5ZmY3YjFjLi5mMDAwZmJlIDEwMDY0NAotLS0gYS9mcy9leHQ0L3Jlc2l6ZS5jCisrKyBiL2ZzL2V4dDQvcmVzaXplLmMKQEAgLTg2Niw2ICs4NjYsMTUgQEAKIAlnZHAtPmJnX2NoZWNrc3VtID0gZXh0NF9ncm91cF9kZXNjX2NzdW0oc2JpLCBpbnB1dC0+Z3JvdXAsIGdkcCk7CiAKIAkvKgorCSAqIFdlIGNhbiBhbGxvY2F0ZSBtZW1vcnkgZm9yIG1iX2FsbG9jIGJhc2VkIG9uIHRoZSBuZXcgZ3JvdXAKKwkgKiBkZXNjcmlwdG9yCisJICovCisJaWYgKHRlc3Rfb3B0KHNiLCBNQkFMTE9DKSkgeworCQllcnIgPSBleHQ0X21iX2FkZF9tb3JlX2dyb3VwaW5mbyhzYiwgaW5wdXQtPmdyb3VwLCBnZHApOworCQlpZiAoZXJyKQorCQkJZ290byBleGl0X2pvdXJuYWw7CisJfQorCS8qCiAJICogTWFrZSB0aGUgbmV3IGJsb2NrcyBhbmQgaW5vZGVzIHZhbGlkIG5leHQuICBXZSBkbyB0aGlzIGJlZm9yZQogCSAqIGluY3JlYXNpbmcgdGhlIGdyb3VwIGNvdW50IHNvIHRoYXQgb25jZSB0aGUgZ3JvdXAgaXMgZW5hYmxlZCwKIAkgKiBhbGwgb2YgaXRzIGJsb2NrcyBhbmQgaW5vZGVzIGFyZSBhbHJlYWR5IHZhbGlkLgpAQCAtOTU3LDYgKzk2Niw4IEBACiAJaGFuZGxlX3QgKmhhbmRsZTsKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGxvbmcgZnJlZWRfYmxvY2tzOworCWV4dDRfZ3JvdXBfdCBncm91cDsKKwlzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICpncnA7CiAKIAkvKiBXZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGxvY2tpbmcgd3J0IG90aGVyIHJlc2l6ZXJzIGp1c3QKIAkgKiB5ZXQ6IHdlJ3JlIGdvaW5nIHRvIHJldmFsaWRhdGUgZXMtPnNfYmxvY2tzX2NvdW50IGFmdGVyCkBAIC05ODgsNyArOTk5LDcgQEAKIAl9CiAKIAkvKiBIYW5kbGUgdGhlIHJlbWFpbmluZyBibG9ja3MgaW4gdGhlIGxhc3QgZ3JvdXAgb25seS4gKi8KLQlleHQ0X2dldF9ncm91cF9ub19hbmRfb2Zmc2V0KHNiLCBvX2Jsb2Nrc19jb3VudCwgTlVMTCwgJmxhc3QpOworCWV4dDRfZ2V0X2dyb3VwX25vX2FuZF9vZmZzZXQoc2IsIG9fYmxvY2tzX2NvdW50LCAmZ3JvdXAsICZsYXN0KTsKIAogCWlmIChsYXN0ID09IDApIHsKIAkJZXh0NF93YXJuaW5nKHNiLCBfX2Z1bmNfXywKQEAgLTEwNjAsNiArMTA3MSw0NSBAQAogCQkgICBvX2Jsb2Nrc19jb3VudCArIGFkZCk7CiAJaWYgKChlcnIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpKSkKIAkJZ290byBleGl0X3B1dDsKKworCS8qCisJICogTWFyayBtYmFsbG9jIHBhZ2VzIGFzIG5vdCB1cCB0byBkYXRlIHNvIHRoYXQgdGhleSB3aWxsIGJlIHVwZGF0ZWQKKwkgKiBuZXh0IHRpbWUgdGhleSBhcmUgbG9hZGVkIGJ5IGV4dDRfbWJfbG9hZF9idWRkeS4KKwkgKi8KKwlpZiAodGVzdF9vcHQoc2IsIE1CQUxMT0MpKSB7CisJCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gc2JpLT5zX2J1ZGR5X2NhY2hlOworCQlpbnQgYmxvY2tzX3Blcl9wYWdlOworCQlpbnQgYmxvY2s7CisJCWludCBwbnVtOworCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCQkvKiBTZXQgYnVkZHkgcGFnZSBhcyBub3QgdXAgdG8gZGF0ZSAqLworCQlibG9ja3NfcGVyX3BhZ2UgPSBQQUdFX0NBQ0hFX1NJWkUgLyBzYi0+c19ibG9ja3NpemU7CisJCWJsb2NrID0gZ3JvdXAgKiAyOworCQlwbnVtID0gYmxvY2sgLyBibG9ja3NfcGVyX3BhZ2U7CisJCXBhZ2UgPSBmaW5kX2dldF9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0pOworCQlpZiAocGFnZSAhPSBOVUxMKSB7CisJCQlDbGVhclBhZ2VVcHRvZGF0ZShwYWdlKTsKKwkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwkJfQorCisJCS8qIFNldCBiaXRtYXAgcGFnZSBhcyBub3QgdXAgdG8gZGF0ZSAqLworCQlibG9jaysrOworCQlwbnVtID0gYmxvY2sgLyBibG9ja3NfcGVyX3BhZ2U7CisJCXBhZ2UgPSBmaW5kX2dldF9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0pOworCQlpZiAocGFnZSAhPSBOVUxMKSB7CisJCQlDbGVhclBhZ2VVcHRvZGF0ZShwYWdlKTsKKwkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwkJfQorCisJCS8qIEdldCB0aGUgaW5mbyBvbiB0aGUgbGFzdCBncm91cCAqLworCQlncnAgPSBleHQ0X2dldF9ncm91cF9pbmZvKHNiLCBncm91cCk7CisKKwkJLyogVXBkYXRlIGZyZWUgYmxvY2tzIGluIGdyb3VwIGluZm8gKi8KKwkJZXh0NF9tYl91cGRhdGVfZ3JvdXBfaW5mbyhncnAsIGFkZCk7CisJfQorCiAJaWYgKHRlc3Rfb3B0KHNiLCBERUJVRykpCiAJCXByaW50ayhLRVJOX0RFQlVHICJFWFQ0LWZzOiBleHRlbmRlZCBncm91cCB0byAlbGx1IGJsb2Nrc1xuIiwKIAkJICAgICAgIGV4dDRfYmxvY2tzX2NvdW50KGVzKSk7CmRpZmYgLS1naXQgYS9mcy9leHQ0L3N1cGVyLmMgYi9mcy9leHQ0L3N1cGVyLmMKaW5kZXggMDJiZjI0My4uMWNiMzcxZCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9zdXBlci5jCisrKyBiL2ZzL2V4dDQvc3VwZXIuYwpAQCAtNTA2LDYgKzUwNiw3IEBACiAJZXh0NF9leHRfcmVsZWFzZShzYik7CiAJZXh0NF94YXR0cl9wdXRfc3VwZXIoc2IpOwogCWpiZDJfam91cm5hbF9kZXN0cm95KHNiaS0+c19qb3VybmFsKTsKKwlzYmktPnNfam91cm5hbCA9IE5VTEw7CiAJaWYgKCEoc2ItPnNfZmxhZ3MgJiBNU19SRE9OTFkpKSB7CiAJCUVYVDRfQ0xFQVJfSU5DT01QQVRfRkVBVFVSRShzYiwgRVhUNF9GRUFUVVJFX0lOQ09NUEFUX1JFQ09WRVIpOwogCQllcy0+c19zdGF0ZSA9IGNwdV90b19sZTE2KHNiaS0+c19tb3VudF9zdGF0ZSk7CkBAIC01MTcsNiArNTE4LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgc2JpLT5zX2dkYl9jb3VudDsgaSsrKQogCQlicmVsc2Uoc2JpLT5zX2dyb3VwX2Rlc2NbaV0pOwogCWtmcmVlKHNiaS0+c19ncm91cF9kZXNjKTsKKwlrZnJlZShzYmktPnNfZmxleF9ncm91cHMpOwogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIpOwogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19mcmVlaW5vZGVzX2NvdW50ZXIpOwogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19kaXJzX2NvdW50ZXIpOwpAQCAtNTcxLDYgKzU3MywxMiBAQAogCW1lbXNldCgmZWktPmlfY2FjaGVkX2V4dGVudCwgMCwgc2l6ZW9mKHN0cnVjdCBleHQ0X2V4dF9jYWNoZSkpOwogCUlOSVRfTElTVF9IRUFEKCZlaS0+aV9wcmVhbGxvY19saXN0KTsKIAlzcGluX2xvY2tfaW5pdCgmZWktPmlfcHJlYWxsb2NfbG9jayk7CisJamJkMl9qb3VybmFsX2luaXRfamJkX2lub2RlKCZlaS0+amlub2RlLCAmZWktPnZmc19pbm9kZSk7CisJZWktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgPSAwOworCWVpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzID0gMDsKKwllaS0+aV9hbGxvY2F0ZWRfbWV0YV9ibG9ja3MgPSAwOworCWVpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcgPSAwOworCXNwaW5fbG9ja19pbml0KCYoZWktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jaykpOwogCXJldHVybiAmZWktPnZmc19pbm9kZTsKIH0KIApAQCAtNjM1LDYgKzY0Myw4IEBACiAJRVhUNF9JKGlub2RlKS0+aV9ibG9ja19hbGxvY19pbmZvID0gTlVMTDsKIAlpZiAodW5saWtlbHkocnN2KSkKIAkJa2ZyZWUocnN2KTsKKwlqYmQyX2pvdXJuYWxfcmVsZWFzZV9qYmRfaW5vZGUoRVhUNF9TQihpbm9kZS0+aV9zYiktPnNfam91cm5hbCwKKwkJCQkgICAgICAgJkVYVDRfSShpbm9kZSktPmppbm9kZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBleHQ0X3Nob3dfcXVvdGFfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKQEAgLTY3MSw3ICs2ODEsNiBAQAogCXVuc2lnbmVkIGxvbmcgZGVmX21vdW50X29wdHM7CiAJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IHZmcy0+bW50X3NiOwogCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOwotCWpvdXJuYWxfdCAqam91cm5hbCA9IHNiaS0+c19qb3VybmFsOwogCXN0cnVjdCBleHQ0X3N1cGVyX2Jsb2NrICplcyA9IHNiaS0+c19lczsKIAogCWRlZl9tb3VudF9vcHRzID0gbGUzMl90b19jcHUoZXMtPnNfZGVmYXVsdF9tb3VudF9vcHRzKTsKQEAgLTc0Nyw2ICs3NTYsOSBAQAogCQlzZXFfcHV0cyhzZXEsICIsbm9tYmFsbG9jIik7CiAJaWYgKHRlc3Rfb3B0KHNiLCBJX1ZFUlNJT04pKQogCQlzZXFfcHV0cyhzZXEsICIsaV92ZXJzaW9uIik7CisJaWYgKCF0ZXN0X29wdChzYiwgREVMQUxMT0MpKQorCQlzZXFfcHV0cyhzZXEsICIsbm9kZWxhbGxvYyIpOworCiAKIAlpZiAoc2JpLT5zX3N0cmlwZSkKIAkJc2VxX3ByaW50ZihzZXEsICIsc3RyaXBlPSVsdSIsIHNiaS0+c19zdHJpcGUpOwpAQCAtODk0LDcgKzkwNiw3IEBACiAJT3B0X2pxZm10X3Zmc29sZCwgT3B0X2pxZm10X3Zmc3YwLCBPcHRfcXVvdGEsIE9wdF9ub3F1b3RhLAogCU9wdF9pZ25vcmUsIE9wdF9iYXJyaWVyLCBPcHRfZXJyLCBPcHRfcmVzaXplLCBPcHRfdXNycXVvdGEsCiAJT3B0X2dycHF1b3RhLCBPcHRfZXh0ZW50cywgT3B0X25vZXh0ZW50cywgT3B0X2lfdmVyc2lvbiwKLQlPcHRfbWJhbGxvYywgT3B0X25vbWJhbGxvYywgT3B0X3N0cmlwZSwKKwlPcHRfbWJhbGxvYywgT3B0X25vbWJhbGxvYywgT3B0X3N0cmlwZSwgT3B0X2RlbGFsbG9jLCBPcHRfbm9kZWxhbGxvYywKIH07CiAKIHN0YXRpYyBtYXRjaF90YWJsZV90IHRva2VucyA9IHsKQEAgLTk1Myw2ICs5NjUsOCBAQAogCXtPcHRfbm9tYmFsbG9jLCAibm9tYmFsbG9jIn0sCiAJe09wdF9zdHJpcGUsICJzdHJpcGU9JXUifSwKIAl7T3B0X3Jlc2l6ZSwgInJlc2l6ZSJ9LAorCXtPcHRfZGVsYWxsb2MsICJkZWxhbGxvYyJ9LAorCXtPcHRfbm9kZWxhbGxvYywgIm5vZGVsYWxsb2MifSwKIAl7T3B0X2VyciwgTlVMTH0sCiB9OwogCkBAIC05OTAsNiArMTAwNCw3IEBACiAJaW50IHF0eXBlLCBxZm10OwogCWNoYXIgKnFuYW1lOwogI2VuZGlmCisJZXh0NF9mc2Jsa190IGxhc3RfYmxvY2s7CiAKIAlpZiAoIW9wdGlvbnMpCiAJCXJldHVybiAxOwpAQCAtMTMwOSwxNSArMTMyNCwzOSBAQAogCQkJY2xlYXJfb3B0KHNiaS0+c19tb3VudF9vcHQsIE5PQkgpOwogCQkJYnJlYWs7CiAJCWNhc2UgT3B0X2V4dGVudHM6CisJCQlpZiAoIUVYVDRfSEFTX0lOQ09NUEFUX0ZFQVRVUkUoc2IsCisJCQkJCUVYVDRfRkVBVFVSRV9JTkNPTVBBVF9FWFRFTlRTKSkgeworCQkJCWV4dDRfd2FybmluZyhzYiwgX19mdW5jX18sCisJCQkJCSJleHRlbnRzIGZlYXR1cmUgbm90IGVuYWJsZWQgIgorCQkJCQkib24gdGhpcyBmaWxlc3lzdGVtLCB1c2UgdHVuZTJmc1xuIik7CisJCQkJcmV0dXJuIDA7CisJCQl9CiAJCQlzZXRfb3B0IChzYmktPnNfbW91bnRfb3B0LCBFWFRFTlRTKTsKIAkJCWJyZWFrOwogCQljYXNlIE9wdF9ub2V4dGVudHM6CisJCQkvKgorCQkJICogV2hlbiBlMmZzcHJvZ3Mgc3VwcG9ydCByZXNpemluZyBhbiBhbHJlYWR5IGV4aXN0aW5nCisJCQkgKiBleHQzIGZpbGUgc3lzdGVtIHRvIGdyZWF0ZXIgdGhhbiAyKiozMiB3ZSBuZWVkIHRvCisJCQkgKiBhZGQgc3VwcG9ydCB0byBibG9jayBhbGxvY2F0b3IgdG8gaGFuZGxlIGdyb3dpbmcKKwkJCSAqIGFscmVhZHkgZXhpc3RpbmcgYmxvY2sgIG1hcHBlZCBpbm9kZSBzbyB0aGF0IGJsb2NrcworCQkJICogYWxsb2NhdGVkIGZvciB0aGVtIGZhbGwgd2l0aGluIDIqKjMyCisJCQkgKi8KKwkJCWxhc3RfYmxvY2sgPSBleHQ0X2Jsb2Nrc19jb3VudChzYmktPnNfZXMpIC0gMTsKKwkJCWlmIChsYXN0X2Jsb2NrICA+IDB4ZmZmZmZmZmZVTEwpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IEZpbGVzeXN0ZW0gdG9vICIKKwkJCQkJCSJsYXJnZSB0byBtb3VudCB3aXRoICIKKwkJCQkJCSItbyBub2V4dGVudHMgb3B0aW9uc1xuIik7CisJCQkJcmV0dXJuIDA7CisJCQl9CiAJCQljbGVhcl9vcHQgKHNiaS0+c19tb3VudF9vcHQsIEVYVEVOVFMpOwogCQkJYnJlYWs7CiAJCWNhc2UgT3B0X2lfdmVyc2lvbjoKIAkJCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgSV9WRVJTSU9OKTsKIAkJCXNiLT5zX2ZsYWdzIHw9IE1TX0lfVkVSU0lPTjsKIAkJCWJyZWFrOworCQljYXNlIE9wdF9ub2RlbGFsbG9jOgorCQkJY2xlYXJfb3B0KHNiaS0+c19tb3VudF9vcHQsIERFTEFMTE9DKTsKKwkJCWJyZWFrOwogCQljYXNlIE9wdF9tYmFsbG9jOgogCQkJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBNQkFMTE9DKTsKIAkJCWJyZWFrOwpAQCAtMTMzMSw2ICsxMzcwLDkgQEAKIAkJCQlyZXR1cm4gMDsKIAkJCXNiaS0+c19zdHJpcGUgPSBvcHRpb247CiAJCQlicmVhazsKKwkJY2FzZSBPcHRfZGVsYWxsb2M6CisJCQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIERFTEFMTE9DKTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJcHJpbnRrIChLRVJOX0VSUgogCQkJCSJFWFQ0LWZzOiBVbnJlY29nbml6ZWQgbW91bnQgb3B0aW9uIFwiJXNcIiAiCkBAIC0xNDQzLDYgKzE0ODUsNTQgQEAKIAlyZXR1cm4gcmVzOwogfQogCitzdGF0aWMgaW50IGV4dDRfZmlsbF9mbGV4X2luZm8oc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKKwlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpnZHAgPSBOVUxMOworCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXBfY291bnQ7CisJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXA7CisJaW50IGdyb3Vwc19wZXJfZmxleCA9IDA7CisJX191NjQgYmxvY2tfYml0bWFwID0gMDsKKwlpbnQgaTsKKworCWlmICghc2JpLT5zX2VzLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXggPSAwOworCQlyZXR1cm4gMTsKKwl9CisKKwlzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCA9IHNiaS0+c19lcy0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworCWdyb3Vwc19wZXJfZmxleCA9IDEgPDwgc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXg7CisKKwlmbGV4X2dyb3VwX2NvdW50ID0gKHNiaS0+c19ncm91cHNfY291bnQgKyBncm91cHNfcGVyX2ZsZXggLSAxKSAvCisJCWdyb3Vwc19wZXJfZmxleDsKKwlzYmktPnNfZmxleF9ncm91cHMgPSBrbWFsbG9jKGZsZXhfZ3JvdXBfY291bnQgKgorCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBmbGV4X2dyb3VwcyksIEdGUF9LRVJORUwpOworCWlmIChzYmktPnNfZmxleF9ncm91cHMgPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IG5vdCBlbm91Z2ggbWVtb3J5XG4iKTsKKwkJZ290byBmYWlsZWQ7CisJfQorCW1lbXNldChzYmktPnNfZmxleF9ncm91cHMsIDAsIGZsZXhfZ3JvdXBfY291bnQgKgorCSAgICAgICBzaXplb2Yoc3RydWN0IGZsZXhfZ3JvdXBzKSk7CisKKwlnZHAgPSBleHQ0X2dldF9ncm91cF9kZXNjKHNiLCAxLCAmYmgpOworCWJsb2NrX2JpdG1hcCA9IGV4dDRfYmxvY2tfYml0bWFwKHNiLCBnZHApIC0gMTsKKworCWZvciAoaSA9IDA7IGkgPCBzYmktPnNfZ3JvdXBzX2NvdW50OyBpKyspIHsKKwkJZ2RwID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgaSwgJmJoKTsKKworCQlmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgaSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2lub2RlcyArPQorCQkJbGUxNl90b19jcHUoZ2RwLT5iZ19mcmVlX2lub2Rlc19jb3VudCk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyArPQorCQkJbGUxNl90b19jcHUoZ2RwLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCk7CisJfQorCisJcmV0dXJuIDE7CitmYWlsZWQ6CisJcmV0dXJuIDA7Cit9CisKIF9fbGUxNiBleHQ0X2dyb3VwX2Rlc2NfY3N1bShzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksIF9fdTMyIGJsb2NrX2dyb3VwLAogCQkJICAgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmdkcCkKIHsKQEAgLTE4MTAsOCArMTkwMCw4IEBACiB9CiAKIHN0YXRpYyBpbnQgZXh0NF9maWxsX3N1cGVyIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhLCBpbnQgc2lsZW50KQotCQkJCV9fcmVsZWFzZXMoa2VybmVsX3NlbSkKLQkJCQlfX2FjcXVpcmVzKGtlcm5lbF9zZW0pCisJCQkJX19yZWxlYXNlcyhrZXJuZWxfbG9jaykKKwkJCQlfX2FjcXVpcmVzKGtlcm5lbF9sb2NrKQogCiB7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICogYmg7CkBAIC0xODUxLDExICsxOTQxLDYgQEAKIAkJZ290byBvdXRfZmFpbDsKIAl9CiAKLQlpZiAoIXNiX3NldF9ibG9ja3NpemUoc2IsIGJsb2Nrc2l6ZSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBiYWQgYmxvY2tzaXplICVkLlxuIiwgYmxvY2tzaXplKTsKLQkJZ290byBvdXRfZmFpbDsKLQl9Ci0KIAkvKgogCSAqIFRoZSBleHQ0IHN1cGVyYmxvY2sgd2lsbCBub3QgYmUgYnVmZmVyIGFsaWduZWQgZm9yIG90aGVyIHRoYW4gMWtCCiAJICogYmxvY2sgc2l6ZXMuICBXZSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgb2Zmc2V0IGZyb20gYnVmZmVyIHN0YXJ0LgpAQCAtMTkxOSwxNSArMjAwNCwyOCBAQAogCiAJLyoKIAkgKiB0dXJuIG9uIGV4dGVudHMgZmVhdHVyZSBieSBkZWZhdWx0IGluIGV4dDQgZmlsZXN5c3RlbQotCSAqIFVzZXIgLW8gbm9leHRlbnRzIHRvIHR1cm4gaXQgb2ZmCisJICogb25seSBpZiBmZWF0dXJlIGZsYWcgYWxyZWFkeSBzZXQgYnkgbWtmcyBvciB0dW5lMmZzLgorCSAqIFVzZSAtbyBub2V4dGVudHMgdG8gdHVybiBpdCBvZmYKIAkgKi8KLQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIEVYVEVOVFMpOworCWlmIChFWFQ0X0hBU19JTkNPTVBBVF9GRUFUVVJFKHNiLCBFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRVhURU5UUykpCisJCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgRVhURU5UUyk7CisJZWxzZQorCQlleHQ0X3dhcm5pbmcoc2IsIF9fZnVuY19fLAorCQkJImV4dGVudHMgZmVhdHVyZSBub3QgZW5hYmxlZCBvbiB0aGlzIGZpbGVzeXN0ZW0sICIKKwkJCSJ1c2UgdHVuZTJmcy5cbiIpOwogCS8qCi0JICogdHVybiBvbiBtYmFsbG9jIGZlYXR1cmUgYnkgZGVmYXVsdCBpbiBleHQ0IGZpbGVzeXN0ZW0KLQkgKiBVc2VyIC1vIG5vbWJhbGxvYyB0byB0dXJuIGl0IG9mZgorCSAqIHR1cm4gb24gbWJhbGxvYyBjb2RlIGJ5IGRlZmF1bHQgaW4gZXh0NCBmaWxlc3lzdGVtCisJICogVXNlIC1vIG5vbWJhbGxvYyB0byB0dXJuIGl0IG9mZgogCSAqLwogCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgTUJBTExPQyk7CiAKKwkvKgorCSAqIGVuYWJsZSBkZWxheWVkIGFsbG9jYXRpb24gYnkgZGVmYXVsdAorCSAqIFVzZSAtbyBub2RlbGFsbG9jIHRvIHR1cm4gaXQgb2ZmCisJICovCisJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBERUxBTExPQyk7CisKKwogCWlmICghcGFyc2Vfb3B0aW9ucyAoKGNoYXIgKikgZGF0YSwgc2IsICZqb3VybmFsX2ludW0sICZqb3VybmFsX2Rldm51bSwKIAkJCSAgICBOVUxMLCAwKSkKIAkJZ290byBmYWlsZWRfbW91bnQ7CkBAIC0yMTM4LDYgKzIyMzYsMTQgQEAKIAkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBncm91cCBkZXNjcmlwdG9ycyBjb3JydXB0ZWQhXG4iKTsKIAkJZ290byBmYWlsZWRfbW91bnQyOwogCX0KKwlpZiAoRVhUNF9IQVNfSU5DT01QQVRfRkVBVFVSRShzYiwgRVhUNF9GRUFUVVJFX0lOQ09NUEFUX0ZMRVhfQkcpKQorCQlpZiAoIWV4dDRfZmlsbF9mbGV4X2luZm8oc2IpKSB7CisJCQlwcmludGsoS0VSTl9FUlIKKwkJCSAgICAgICAiRVhUNC1mczogdW5hYmxlIHRvIGluaXRpYWxpemUgIgorCQkJICAgICAgICJmbGV4X2JnIG1ldGEgaW5mbyFcbiIpOworCQkJZ290byBmYWlsZWRfbW91bnQyOworCQl9CisKIAlzYmktPnNfZ2RiX2NvdW50ID0gZGJfY291bnQ7CiAJZ2V0X3JhbmRvbV9ieXRlcygmc2JpLT5zX25leHRfZ2VuZXJhdGlvbiwgc2l6ZW9mKHUzMikpOwogCXNwaW5fbG9ja19pbml0KCZzYmktPnNfbmV4dF9nZW5fbG9jayk7CkBAIC0yMzU4LDYgKzI0NjQsMTMgQEAKIAkJdGVzdF9vcHQoc2IsREFUQV9GTEFHUykgPT0gRVhUNF9NT1VOVF9PUkRFUkVEX0RBVEEgPyAib3JkZXJlZCI6CiAJCSJ3cml0ZWJhY2siKTsKIAorCWlmICh0ZXN0X29wdChzYiwgREFUQV9GTEFHUykgPT0gRVhUNF9NT1VOVF9KT1VSTkFMX0RBVEEpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiRVhUNC1mczogSWdub3JpbmcgZGVsYWxsb2Mgb3B0aW9uIC0gIgorCQkJCSJyZXF1ZXN0ZWQgZGF0YSBqb3VybmFsaW5nIG1vZGVcbiIpOworCQljbGVhcl9vcHQoc2JpLT5zX21vdW50X29wdCwgREVMQUxMT0MpOworCX0gZWxzZSBpZiAodGVzdF9vcHQoc2IsIERFTEFMTE9DKSkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiRVhUNC1mczogZGVsYXllZCBhbGxvY2F0aW9uIGVuYWJsZWRcbiIpOworCiAJZXh0NF9leHRfaW5pdChzYik7CiAJZXh0NF9tYl9pbml0KHNiLCBuZWVkc19yZWNvdmVyeSk7CiAKQEAgLTIzNzIsNiArMjQ4NSw3IEBACiAKIGZhaWxlZF9tb3VudDQ6CiAJamJkMl9qb3VybmFsX2Rlc3Ryb3koc2JpLT5zX2pvdXJuYWwpOworCXNiaS0+c19qb3VybmFsID0gTlVMTDsKIGZhaWxlZF9tb3VudDM6CiAJcGVyY3B1X2NvdW50ZXJfZGVzdHJveSgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlcik7CiAJcGVyY3B1X2NvdW50ZXJfZGVzdHJveSgmc2JpLT5zX2ZyZWVpbm9kZXNfY291bnRlcik7CkBAIC0zMzI1LDcgKzM0MzksNyBAQAogCQkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYmgpOwogCQllbHNlIHsKIAkJCS8qIEFsd2F5cyBkbyBhdCBsZWFzdCBvcmRlcmVkIHdyaXRlcyBmb3IgcXVvdGFzICovCi0JCQllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGUsIGJoKTsKKwkJCWVyciA9IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZSwgaW5vZGUpOwogCQkJbWFya19idWZmZXJfZGlydHkoYmgpOwogCQl9CiAJCWJyZWxzZShiaCk7CmRpZmYgLS1naXQgYS9mcy9leHQ0L3hhdHRyLmMgYi9mcy9leHQ0L3hhdHRyLmMKaW5kZXggZmYwODYzMy4uOTNjNWZkYyAxMDA2NDQKLS0tIGEvZnMvZXh0NC94YXR0ci5jCisrKyBiL2ZzL2V4dDQveGF0dHIuYwpAQCAtODEwLDcgKzgxMCw3IEBACiAJCQkvKiBXZSBuZWVkIHRvIGFsbG9jYXRlIGEgbmV3IGJsb2NrICovCiAJCQlleHQ0X2ZzYmxrX3QgZ29hbCA9IGV4dDRfZ3JvdXBfZmlyc3RfYmxvY2tfbm8oc2IsCiAJCQkJCQlFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX2dyb3VwKTsKLQkJCWV4dDRfZnNibGtfdCBibG9jayA9IGV4dDRfbmV3X2Jsb2NrKGhhbmRsZSwgaW5vZGUsCisJCQlleHQ0X2ZzYmxrX3QgYmxvY2sgPSBleHQ0X25ld19tZXRhX2Jsb2NrKGhhbmRsZSwgaW5vZGUsCiAJCQkJCQkJZ29hbCwgJmVycm9yKTsKIAkJCWlmIChlcnJvcikKIAkJCQlnb3RvIGNsZWFudXA7CmRpZmYgLS1naXQgYS9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYyBiL2ZzL2V4dDQveGF0dHJfdHJ1c3RlZC5jCmluZGV4IGZmZjMzMzguLmFjMWE1MmMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQveGF0dHJfdHJ1c3RlZC5jCisrKyBiL2ZzL2V4dDQveGF0dHJfdHJ1c3RlZC5jCkBAIC0xMywxMyArMTMsMTEgQEAKICNpbmNsdWRlICJleHQ0LmgiCiAjaW5jbHVkZSAieGF0dHIuaCIKIAotI2RlZmluZSBYQVRUUl9UUlVTVEVEX1BSRUZJWCAidHJ1c3RlZC4iCi0KIHN0YXRpYyBzaXplX3QKIGV4dDRfeGF0dHJfdHJ1c3RlZF9saXN0KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNoYXIgKmxpc3QsIHNpemVfdCBsaXN0X3NpemUsCiAJCQljb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZV9sZW4pCiB7Ci0JY29uc3Qgc2l6ZV90IHByZWZpeF9sZW4gPSBzaXplb2YoWEFUVFJfVFJVU1RFRF9QUkVGSVgpLTE7CisJY29uc3Qgc2l6ZV90IHByZWZpeF9sZW4gPSBYQVRUUl9UUlVTVEVEX1BSRUZJWF9MRU47CiAJY29uc3Qgc2l6ZV90IHRvdGFsX2xlbiA9IHByZWZpeF9sZW4gKyBuYW1lX2xlbiArIDE7CiAKIAlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCmRpZmYgLS1naXQgYS9mcy9leHQ0L3hhdHRyX3VzZXIuYyBiL2ZzL2V4dDQveGF0dHJfdXNlci5jCmluZGV4IDY3YmU3MjMuLmQ5MWFhNjEgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQveGF0dHJfdXNlci5jCisrKyBiL2ZzL2V4dDQveGF0dHJfdXNlci5jCkBAIC0xMiwxMyArMTIsMTEgQEAKICNpbmNsdWRlICJleHQ0LmgiCiAjaW5jbHVkZSAieGF0dHIuaCIKIAotI2RlZmluZSBYQVRUUl9VU0VSX1BSRUZJWCAidXNlci4iCi0KIHN0YXRpYyBzaXplX3QKIGV4dDRfeGF0dHJfdXNlcl9saXN0KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNoYXIgKmxpc3QsIHNpemVfdCBsaXN0X3NpemUsCiAJCSAgICAgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVfbGVuKQogewotCWNvbnN0IHNpemVfdCBwcmVmaXhfbGVuID0gc2l6ZW9mKFhBVFRSX1VTRVJfUFJFRklYKS0xOworCWNvbnN0IHNpemVfdCBwcmVmaXhfbGVuID0gWEFUVFJfVVNFUl9QUkVGSVhfTEVOOwogCWNvbnN0IHNpemVfdCB0b3RhbF9sZW4gPSBwcmVmaXhfbGVuICsgbmFtZV9sZW4gKyAxOwogCiAJaWYgKCF0ZXN0X29wdChpbm9kZS0+aV9zYiwgWEFUVFJfVVNFUikpCmRpZmYgLS1naXQgYS9mcy9mYXQvY2FjaGUuYyBiL2ZzL2ZhdC9jYWNoZS5jCmluZGV4IGZkYTI1NDcuLjNhOWVjYWM4IDEwMDY0NAotLS0gYS9mcy9mYXQvY2FjaGUuYworKysgYi9mcy9mYXQvY2FjaGUuYwpAQCAtNjEsNyArNjEsNyBAQAogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBmYXRfY2FjaGUgKmZhdF9jYWNoZV9hbGxvYyhzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewotCXJldHVybiBrbWVtX2NhY2hlX2FsbG9jKGZhdF9jYWNoZV9jYWNoZXAsIEdGUF9LRVJORUwpOworCXJldHVybiBrbWVtX2NhY2hlX2FsbG9jKGZhdF9jYWNoZV9jYWNoZXAsIEdGUF9OT0ZTKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGZhdF9jYWNoZV9mcmVlKHN0cnVjdCBmYXRfY2FjaGUgKmNhY2hlKQpkaWZmIC0tZ2l0IGEvZnMvZmF0L2Rpci5jIGIvZnMvZmF0L2Rpci5jCmluZGV4IDQ4NjcyNWUuLjM0NTQxZDAgMTAwNjQ0Ci0tLSBhL2ZzL2ZhdC9kaXIuYworKysgYi9mcy9mYXQvZGlyLmMKQEAgLTQ3Miw3ICs0NzIsNyBAQAogCWxvZmZfdCBjcG9zOwogCWludCByZXQgPSAwOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWNwb3MgPSBmaWxwLT5mX3BvczsKIAkvKiBGYWtlIC4gYW5kIC4uIGZvciB0aGUgcm9vdCBkaXJlY3RvcnkuICovCkBAIC02NTQsNyArNjU0LDcgQEAKIAlpZiAodW5pY29kZSkKIAkJX19wdXRuYW1lKHVuaWNvZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2ZhdC9maWxlLmMgYi9mcy9mYXQvZmlsZS5jCmluZGV4IDc3MTMyNmIuLmM2NzJkZjQgMTAwNjQ0Ci0tLSBhL2ZzL2ZhdC9maWxlLmMKKysrIGIvZnMvZmF0L2ZpbGUuYwpAQCAtMTEsNyArMTEsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+CiAjaW5jbHVkZSA8bGludXgvdGltZS5oPgogI2luY2x1ZGUgPGxpbnV4L21zZG9zX2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9idWZmZXJfaGVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgogI2luY2x1ZGUgPGxpbnV4L2JhY2tpbmctZGV2Lmg+CkBAIC0yNDIsOSArMjQxLDcgQEAKIAogCW5yX2NsdXN0ZXJzID0gKGlub2RlLT5pX3NpemUgKyAoY2x1c3Rlcl9zaXplIC0gMSkpID4+IHNiaS0+Y2x1c3Rlcl9iaXRzOwogCi0JbG9ja19rZXJuZWwoKTsKIAlmYXRfZnJlZShpbm9kZSwgbnJfY2x1c3RlcnMpOwotCXVubG9ja19rZXJuZWwoKTsKIAlmYXRfZmx1c2hfaW5vZGVzKGlub2RlLT5pX3NiLCBpbm9kZSwgTlVMTCk7CiB9CiAKQEAgLTMxMCw4ICszMDcsNiBAQAogCWludCBlcnJvciA9IDA7CiAJdW5zaWduZWQgaW50IGlhX3ZhbGlkOwogCi0JbG9ja19rZXJuZWwoKTsKLQogCS8qCiAJICogRXhwYW5kIHRoZSBmaWxlLiBTaW5jZSBpbm9kZV9zZXRhdHRyKCkgdXBkYXRlcyAtPmlfc2l6ZQogCSAqIGJlZm9yZSBjYWxsaW5nIHRoZSAtPnRydW5jYXRlKCksIGJ1dCBGQVQgbmVlZHMgdG8gZmlsbCB0aGUKQEAgLTM2Niw3ICszNjEsNiBAQAogCiAJZXJyb3IgPSBpbm9kZV9zZXRhdHRyKGlub2RlLCBhdHRyKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycm9yOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoZmF0X3NldGF0dHIpOwpkaWZmIC0tZ2l0IGEvZnMvZmF0L2lub2RlLmMgYi9mcy9mYXQvaW5vZGUuYwppbmRleCA0ZTBhM2RkLi40NmE0NTA4IDEwMDY0NAotLS0gYS9mcy9mYXQvaW5vZGUuYworKysgYi9mcy9mYXQvaW5vZGUuYwpAQCAtNDQwLDE0ICs0NDAsMTMgQEAKIAogc3RhdGljIHZvaWQgZmF0X2NsZWFyX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpCiB7Ci0Jc3RydWN0IG1zZG9zX3NiX2luZm8gKnNiaSA9IE1TRE9TX1NCKGlub2RlLT5pX3NiKTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gaW5vZGUtPmlfc2I7CisJc3RydWN0IG1zZG9zX3NiX2luZm8gKnNiaSA9IE1TRE9TX1NCKHNiKTsKIAotCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZzYmktPmlub2RlX2hhc2hfbG9jayk7CiAJZmF0X2NhY2hlX2ludmFsX2lub2RlKGlub2RlKTsKIAlobGlzdF9kZWxfaW5pdCgmTVNET1NfSShpbm9kZSktPmlfZmF0X2hhc2gpOwogCXNwaW5fdW5sb2NrKCZzYmktPmlub2RlX2hhc2hfbG9jayk7Ci0JdW5sb2NrX2tlcm5lbCgpOwogfQogCiBzdGF0aWMgdm9pZCBmYXRfd3JpdGVfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKQEAgLTQ4NSw3ICs0ODQsNyBAQAogc3RhdGljIHN0cnVjdCBpbm9kZSAqZmF0X2FsbG9jX2lub2RlKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiB7CiAJc3RydWN0IG1zZG9zX2lub2RlX2luZm8gKmVpOwotCWVpID0ga21lbV9jYWNoZV9hbGxvYyhmYXRfaW5vZGVfY2FjaGVwLCBHRlBfS0VSTkVMKTsKKwllaSA9IGttZW1fY2FjaGVfYWxsb2MoZmF0X2lub2RlX2NhY2hlcCwgR0ZQX05PRlMpOwogCWlmICghZWkpCiAJCXJldHVybiBOVUxMOwogCXJldHVybiAmZWktPnZmc19pbm9kZTsKQEAgLTU2Nyw3ICs1NjYsNyBAQAogCWlmIChpbm9kZS0+aV9pbm8gPT0gTVNET1NfUk9PVF9JTk8gfHwgIWlfcG9zKQogCQlyZXR1cm4gMDsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJYmggPSBzYl9icmVhZChzYiwgaV9wb3MgPj4gc2JpLT5kaXJfcGVyX2Jsb2NrX2JpdHMpOwogCWlmICghYmgpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJGQVQ6IHVuYWJsZSB0byByZWFkIGlub2RlIGJsb2NrICIKQEAgLTU3OSw3ICs1NzgsNyBAQAogCWlmIChpX3BvcyAhPSBNU0RPU19JKGlub2RlKS0+aV9wb3MpIHsKIAkJc3Bpbl91bmxvY2soJnNiaS0+aW5vZGVfaGFzaF9sb2NrKTsKIAkJYnJlbHNlKGJoKTsKLQkJdW5sb2NrX2tlcm5lbCgpOworCQl1bmxvY2tfc3VwZXIoc2IpOwogCQlnb3RvIHJldHJ5OwogCX0KIApAQCAtNjA2LDcgKzYwNSw3IEBACiAJCWVyciA9IHN5bmNfZGlydHlfYnVmZmVyKGJoKTsKIAlicmVsc2UoYmgpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTczNiw2ICs3MzUsNyBAQAogCiBzdGF0aWMgc3RydWN0IGRlbnRyeSAqZmF0X2dldF9wYXJlbnQoc3RydWN0IGRlbnRyeSAqY2hpbGQpCiB7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGNoaWxkLT5kX3NiOwogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CiAJc3RydWN0IG1zZG9zX2Rpcl9lbnRyeSAqZGU7CiAJbG9mZl90IGlfcG9zOwpAQCAtNzQzLDE0ICs3NDMsMTQgQEAKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gZmF0X2dldF9kb3Rkb3RfZW50cnkoY2hpbGQtPmRfaW5vZGUsICZiaCwgJmRlLCAmaV9wb3MpOwogCWlmIChlcnIpIHsKIAkJcGFyZW50ID0gRVJSX1BUUihlcnIpOwogCQlnb3RvIG91dDsKIAl9Ci0JaW5vZGUgPSBmYXRfYnVpbGRfaW5vZGUoY2hpbGQtPmRfc2IsIGRlLCBpX3Bvcyk7CisJaW5vZGUgPSBmYXRfYnVpbGRfaW5vZGUoc2IsIGRlLCBpX3Bvcyk7CiAJYnJlbHNlKGJoKTsKIAlpZiAoSVNfRVJSKGlub2RlKSkgewogCQlwYXJlbnQgPSBFUlJfQ0FTVChpbm9kZSk7CkBAIC03NjIsNyArNzYyLDcgQEAKIAkJcGFyZW50ID0gRVJSX1BUUigtRU5PTUVNKTsKIAl9CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAKIAlyZXR1cm4gcGFyZW50OwogfQpAQCAtMTE3Miw2ICsxMTcyLDEyIEBACiAJbG9uZyBlcnJvcjsKIAljaGFyIGJ1Zls1MF07CiAKKwkvKgorCSAqIEdGUF9LRVJORUwgaXMgb2sgaGVyZSwgYmVjYXVzZSB3aGlsZSB3ZSBkbyBob2xkIHRoZQorCSAqIHN1cGVibG9jayBsb2NrLCBtZW1vcnkgcHJlc3N1cmUgY2FuJ3QgY2FsbCBiYWNrIGludG8KKwkgKiB0aGUgZmlsZXN5c3RlbSwgc2luY2Ugd2UncmUgb25seSBqdXN0IGFib3V0IHRvIG1vdW50CisJICogaXQgYW5kIGhhdmUgbm8gaW5vZGVzIGV0YyBhY3RpdmUhCisJICovCiAJc2JpID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG1zZG9zX3NiX2luZm8pLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNiaSkKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9mcy9mY250bC5jIGIvZnMvZmNudGwuYwppbmRleCBiZmQ3NzY1Li4zMzBhN2Q3IDEwMDY0NAotLS0gYS9mcy9mY250bC5jCisrKyBiL2ZzL2ZjbnRsLmMKQEAgLTEyLDcgKzEyLDYgQEAKICNpbmNsdWRlIDxsaW51eC9mZHRhYmxlLmg+CiAjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2Rub3RpZnkuaD4KLSNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgpAQCAtMjI3LDcgKzIyNiw2IEBACiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKLQlsb2NrX2tlcm5lbCgpOwogCWlmICgoYXJnIF4gZmlscC0+Zl9mbGFncykgJiBGQVNZTkMpIHsKIAkJaWYgKGZpbHAtPmZfb3AgJiYgZmlscC0+Zl9vcC0+ZmFzeW5jKSB7CiAJCQllcnJvciA9IGZpbHAtPmZfb3AtPmZhc3luYyhmZCwgZmlscCwgKGFyZyAmIEZBU1lOQykgIT0gMCk7CkBAIC0yMzgsNyArMjM2LDYgQEAKIAogCWZpbHAtPmZfZmxhZ3MgPSAoYXJnICYgU0VURkxfTUFTSykgfCAoZmlscC0+Zl9mbGFncyAmIH5TRVRGTF9NQVNLKTsKICBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnJvcjsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9LY29uZmlnIGIvZnMvZ2ZzMi9LY29uZmlnCmluZGV4IDdmNzk0N2UuLmFiMmY1N2UgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvS2NvbmZpZworKysgYi9mcy9nZnMyL0tjb25maWcKQEAgLTE0LDIzICsxNCwxMSBAQAogCSAgR0ZTIGlzIHBlcmZlY3QgY29uc2lzdGVuY3kgLS0gY2hhbmdlcyBtYWRlIHRvIHRoZSBmaWxlc3lzdGVtIG9uIG9uZQogCSAgbWFjaGluZSBzaG93IHVwIGltbWVkaWF0ZWx5IG9uIGFsbCBvdGhlciBtYWNoaW5lcyBpbiB0aGUgY2x1c3Rlci4KIAotCSAgVG8gdXNlIHRoZSBHRlMyIGZpbGVzeXN0ZW0sIHlvdSB3aWxsIG5lZWQgdG8gZW5hYmxlIG9uZSBvciBtb3JlIG9mCi0JICB0aGUgYmVsb3cgbG9ja2luZyBtb2R1bGVzLiBEb2N1bWVudGF0aW9uIGFuZCB1dGlsaXRpZXMgZm9yIEdGUzIgY2FuCisJICBUbyB1c2UgdGhlIEdGUzIgZmlsZXN5c3RlbSBpbiBhIGNsdXN0ZXIsIHlvdSB3aWxsIG5lZWQgdG8gZW5hYmxlCisJICB0aGUgbG9ja2luZyBtb2R1bGUgYmVsb3cuIERvY3VtZW50YXRpb24gYW5kIHV0aWxpdGllcyBmb3IgR0ZTMiBjYW4KIAkgIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vY2x1c3RlcgogCi1jb25maWcgR0ZTMl9GU19MT0NLSU5HX05PTE9DSwotCXRyaXN0YXRlICJHRlMyIFwibm9sb2NrXCIgbG9ja2luZyBtb2R1bGUiCi0JZGVwZW5kcyBvbiBHRlMyX0ZTCi0JaGVscAotCSAgU2luZ2xlIG5vZGUgbG9ja2luZyBtb2R1bGUgZm9yIEdGUzIuCi0KLQkgIFVzZSB0aGlzIG1vZHVsZSBpZiB5b3Ugd2FudCB0byB1c2UgR0ZTMiBvbiBhIHNpbmdsZSBub2RlIHdpdGhvdXQKLQkgIGl0cyBjbHVzdGVyaW5nIGZlYXR1cmVzLiBZb3UgY2FuIHN0aWxsIHRha2UgYWR2YW50YWdlIG9mIHRoZQotCSAgbGFyZ2UgZmlsZSBzdXBwb3J0LCBhbmQgdXBncmFkZSB0byBydW5uaW5nIGEgZnVsbCBjbHVzdGVyIGxhdGVyIG9uCi0JICBpZiByZXF1aXJlZC4KLQotCSAgSWYgeW91IHdpbGwgb25seSBiZSB1c2luZyBHRlMyIGluIGNsdXN0ZXIgbW9kZSwgeW91IGRvIG5vdCBuZWVkIHRoaXMKLQkgIG1vZHVsZS4KKwkgIFRoZSAibm9sb2NrIiBsb2NrIG1vZHVsZSBpcyBub3cgYnVpbHQgaW4gdG8gR0ZTMiBieSBkZWZhdWx0LgogCiBjb25maWcgR0ZTMl9GU19MT0NLSU5HX0RMTQogCXRyaXN0YXRlICJHRlMyIERMTSBsb2NraW5nIG1vZHVsZSIKZGlmZiAtLWdpdCBhL2ZzL2dmczIvTWFrZWZpbGUgYi9mcy9nZnMyL01ha2VmaWxlCmluZGV4IGUyMzUwZGYuLmVjNjU4NTEgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvTWFrZWZpbGUKKysrIGIvZnMvZ2ZzMi9NYWtlZmlsZQpAQCAtNSw2ICs1LDUgQEAKIAlvcHNfZnN0eXBlLm8gb3BzX2lub2RlLm8gb3BzX3N1cGVyLm8gcXVvdGEubyBcCiAJcmVjb3ZlcnkubyByZ3JwLm8gc3VwZXIubyBzeXMubyB0cmFucy5vIHV0aWwubwogCi1vYmotJChDT05GSUdfR0ZTMl9GU19MT0NLSU5HX05PTE9DSykgKz0gbG9ja2luZy9ub2xvY2svCiBvYmotJChDT05GSUdfR0ZTMl9GU19MT0NLSU5HX0RMTSkgKz0gbG9ja2luZy9kbG0vCiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvZ2ZzMi5oIGIvZnMvZ2ZzMi9nZnMyLmgKaW5kZXggM2JiMTFjMC4uZWY2MDZlMyAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9nZnMyLmgKKysrIGIvZnMvZ2ZzMi9nZnMyLmgKQEAgLTE2LDExICsxNiw2IEBACiB9OwogCiBlbnVtIHsKLQlOT19XQUlUID0gMCwKLQlXQUlUID0gMSwKLX07Ci0KLWVudW0gewogCU5PX0ZPUkNFID0gMCwKIAlGT1JDRSA9IDEsCiB9OwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9nbG9jay5jIGIvZnMvZ2ZzMi9nbG9jay5jCmluZGV4IGQ2MzZiM2UuLjEzMzkxZTUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvZ2xvY2suYworKysgYi9mcy9nZnMyL2dsb2NrLmMKQEAgLTQ1LDIxICs0NSwxOSBAQAogICAgICAgICBzdHJ1Y3QgaGxpc3RfaGVhZCBoYl9saXN0OwogfTsKIAotc3RydWN0IGdsb2NrX2l0ZXIgewotCWludCBoYXNoOyAgICAgICAgICAgICAgICAgICAgIC8qIGhhc2ggYnVja2V0IGluZGV4ICAgICAgICAgKi8KLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcDsgICAgICAgICAvKiBpbmNvcmUgc3VwZXJibG9jayAgICAgICAgICovCi0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsOyAgICAgICAgLyogY3VycmVudCBnbG9jayBzdHJ1Y3QgICAgICAqLwotCXN0cnVjdCBzZXFfZmlsZSAqc2VxOyAgICAgICAgIC8qIHNlcXVlbmNlIGZpbGUgZm9yIGRlYnVnZnMgKi8KLQljaGFyIHN0cmluZ1s1MTJdOyAgICAgICAgICAgICAvKiBzY3JhdGNoIHNwYWNlICAgICAgICAgICAgICovCitzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyIHsKKwlpbnQgaGFzaDsJCQkvKiBoYXNoIGJ1Y2tldCBpbmRleCAgICAgICAgICovCisJc3RydWN0IGdmczJfc2JkICpzZHA7CQkvKiBpbmNvcmUgc3VwZXJibG9jayAgICAgICAgICovCisJc3RydWN0IGdmczJfZ2xvY2sgKmdsOwkJLyogY3VycmVudCBnbG9jayBzdHJ1Y3QgICAgICAqLworCWNoYXIgc3RyaW5nWzUxMl07CQkvKiBzY3JhdGNoIHNwYWNlICAgICAgICAgICAgICovCiB9OwogCiB0eXBlZGVmIHZvaWQgKCpnbG9ja19leGFtaW5lcikgKHN0cnVjdCBnZnMyX2dsb2NrICogZ2wpOwogCiBzdGF0aWMgaW50IGdmczJfZHVtcF9sb2Nrc3RhdGUoc3RydWN0IGdmczJfc2JkICpzZHApOwotc3RhdGljIGludCBkdW1wX2dsb2NrKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfeG1vdGVfdGgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKTsKLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfZHJvcF90aChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwotc3RhdGljIHZvaWQgcnVuX3F1ZXVlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CitzdGF0aWMgaW50IF9fZHVtcF9nbG9jayhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKKyNkZWZpbmUgR0xPQ0tfQlVHX09OKGdsLHgpIGRvIHsgaWYgKHVubGlrZWx5KHgpKSB7IF9fZHVtcF9nbG9jayhOVUxMLCBnbCk7IEJVRygpOyB9IH0gd2hpbGUoMCkKK3N0YXRpYyB2b2lkIGRvX3htb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCwgdW5zaWduZWQgaW50IHRhcmdldCk7CiAKIHN0YXRpYyBERUNMQVJFX1JXU0VNKGdmczJfdW1vdW50X2ZsdXNoX3NlbSk7CiBzdGF0aWMgc3RydWN0IGRlbnRyeSAqZ2ZzMl9yb290OwpAQCAtMTIzLDMzICsxMjEsNiBAQAogI2VuZGlmCiAKIC8qKgotICogcmVsYXhlZF9zdGF0ZV9vayAtIGlzIGEgcmVxdWVzdGVkIGxvY2sgY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IGxvY2sgbW9kZT8KLSAqIEBhY3R1YWw6IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBsb2NrCi0gKiBAcmVxdWVzdGVkOiB0aGUgbG9jayBzdGF0ZSB0aGF0IHdhcyByZXF1ZXN0ZWQgYnkgdGhlIGNhbGxlcgotICogQGZsYWdzOiB0aGUgbW9kaWZpZXIgZmxhZ3MgcGFzc2VkIGluIGJ5IHRoZSBjYWxsZXIKLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBsb2NrcyBhcmUgY29tcGF0aWJsZSwgMCBvdGhlcndpc2UKLSAqLwotCi1zdGF0aWMgaW5saW5lIGludCByZWxheGVkX3N0YXRlX29rKHVuc2lnbmVkIGludCBhY3R1YWwsIHVuc2lnbmVkIHJlcXVlc3RlZCwKLQkJCQkgICBpbnQgZmxhZ3MpCi17Ci0JaWYgKGFjdHVhbCA9PSByZXF1ZXN0ZWQpCi0JCXJldHVybiAxOwotCi0JaWYgKGZsYWdzICYgR0xfRVhBQ1QpCi0JCXJldHVybiAwOwotCi0JaWYgKGFjdHVhbCA9PSBMTV9TVF9FWENMVVNJVkUgJiYgcmVxdWVzdGVkID09IExNX1NUX1NIQVJFRCkKLQkJcmV0dXJuIDE7Ci0KLQlpZiAoYWN0dWFsICE9IExNX1NUX1VOTE9DS0VEICYmIChmbGFncyAmIExNX0ZMQUdfQU5ZKSkKLQkJcmV0dXJuIDE7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoqCiAgKiBnbF9oYXNoKCkgLSBUdXJuIGdsb2NrIG51bWJlciBpbnRvIGhhc2ggYnVja2V0IG51bWJlcgogICogQGxvY2s6IFRoZSBnbG9jayBudW1iZXIKICAqCkBAIC0xODIsNyArMTUzLDcgQEAKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAJc3RydWN0IGlub2RlICphc3BhY2UgPSBnbC0+Z2xfYXNwYWNlOwogCi0JaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQorCWlmIChzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9wdXRfbG9jaykKIAkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fcHV0X2xvY2soZ2wtPmdsX2xvY2spOwogCiAJaWYgKGFzcGFjZSkKQEAgLTIxMSwxNyArMTgyLDE0IEBACiBpbnQgZ2ZzMl9nbG9ja19wdXQoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQogewogCWludCBydiA9IDA7Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwogCiAJd3JpdGVfbG9jayhnbF9sb2NrX2FkZHIoZ2wtPmdsX2hhc2gpKTsKIAlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmZ2wtPmdsX3JlZikpIHsKIAkJaGxpc3RfZGVsKCZnbC0+Z2xfbGlzdCk7CiAJCXdyaXRlX3VubG9jayhnbF9sb2NrX2FkZHIoZ2wtPmdsX2hhc2gpKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBnbC0+Z2xfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpOwotCQlnZnMyX2Fzc2VydChzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9yZWNsYWltKSk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczEpKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczMpKTsKKwkJR0xPQ0tfQlVHX09OKGdsLCBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOworCQlHTE9DS19CVUdfT04oZ2wsICFsaXN0X2VtcHR5KCZnbC0+Z2xfcmVjbGFpbSkpOworCQlHTE9DS19CVUdfT04oZ2wsICFsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpOwogCQlnbG9ja19mcmVlKGdsKTsKIAkJcnYgPSAxOwogCQlnb3RvIG91dDsKQEAgLTI4MSwyMiArMjQ5LDQwMSBAQAogCXJldHVybiBnbDsKIH0KIAotc3RhdGljIHZvaWQgZ2xvY2tfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKKy8qKgorICogbWF5X2dyYW50IC0gY2hlY2sgaWYgaXRzIG9rIHRvIGdyYW50IGEgbmV3IGxvY2sKKyAqIEBnbDogVGhlIGdsb2NrCisgKiBAZ2g6IFRoZSBsb2NrIHJlcXVlc3Qgd2hpY2ggd2Ugd2lzaCB0byBncmFudAorICoKKyAqIFJldHVybnM6IHRydWUgaWYgaXRzIG9rIHRvIGdyYW50IHRoZSBsb2NrCisgKi8KKworc3RhdGljIGlubGluZSBpbnQgbWF5X2dyYW50KGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGdmczJfZ2xvY2ssIGdsX3dvcmsud29yayk7CisJY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyICpnaF9oZWFkID0gbGlzdF9lbnRyeShnbC0+Z2xfaG9sZGVycy5uZXh0LCBjb25zdCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIsIGdoX2xpc3QpOworCWlmICgoZ2gtPmdoX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSB8fAorCSAgICAgZ2hfaGVhZC0+Z2hfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKSAmJiBnaCAhPSBnaF9oZWFkKQorCQlyZXR1cm4gMDsKKwlpZiAoZ2wtPmdsX3N0YXRlID09IGdoLT5naF9zdGF0ZSkKKwkJcmV0dXJuIDE7CisJaWYgKGdoLT5naF9mbGFncyAmIEdMX0VYQUNUKQorCQlyZXR1cm4gMDsKKwlpZiAoZ2wtPmdsX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkgeworCQlpZiAoZ2gtPmdoX3N0YXRlID09IExNX1NUX1NIQVJFRCAmJiBnaF9oZWFkLT5naF9zdGF0ZSA9PSBMTV9TVF9TSEFSRUQpCisJCQlyZXR1cm4gMTsKKwkJaWYgKGdoLT5naF9zdGF0ZSA9PSBMTV9TVF9ERUZFUlJFRCAmJiBnaF9oZWFkLT5naF9zdGF0ZSA9PSBMTV9TVF9ERUZFUlJFRCkKKwkJCXJldHVybiAxOworCX0KKwlpZiAoZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX0FOWSkpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBnZnMyX2hvbGRlcl93YWtlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCit7CisJY2xlYXJfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncyk7CisJc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKKwl3YWtlX3VwX2JpdCgmZ2gtPmdoX2lmbGFncywgSElGX1dBSVQpOworfQorCisvKioKKyAqIGRvX3Byb21vdGUgLSBwcm9tb3RlIGFzIG1hbnkgcmVxdWVzdHMgYXMgcG9zc2libGUgb24gdGhlIGN1cnJlbnQgcXVldWUKKyAqIEBnbDogVGhlIGdsb2NrCisgKiAKKyAqIFJldHVybnM6IHRydWUgaWYgdGhlcmUgaXMgYSBibG9ja2VkIGhvbGRlciBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdAorICovCisKK3N0YXRpYyBpbnQgZG9fcHJvbW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2gsICp0bXA7CisJaW50IHJldDsKKworcmVzdGFydDoKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZ2gsIHRtcCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCisJCQljb250aW51ZTsKKwkJaWYgKG1heV9ncmFudChnbCwgZ2gpKSB7CisJCQlpZiAoZ2gtPmdoX2xpc3QucHJldiA9PSAmZ2wtPmdsX2hvbGRlcnMgJiYKKwkJCSAgICBnbG9wcy0+Z29fbG9jaykgeworCQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQkJLyogRklYTUU6IGVsaW1pbmF0ZSB0aGlzIGV2ZW50dWFsbHkgKi8KKwkJCQlyZXQgPSBnbG9wcy0+Z29fbG9jayhnaCk7CisJCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQkJaWYgKHJldCkgeworCQkJCQlnaC0+Z2hfZXJyb3IgPSByZXQ7CisJCQkJCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKKwkJCQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJCQkJCWdvdG8gcmVzdGFydDsKKwkJCQl9CisJCQkJc2V0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncyk7CisJCQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJCQkJZ290byByZXN0YXJ0OworCQkJfQorCQkJc2V0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncyk7CisJCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChnaC0+Z2hfbGlzdC5wcmV2ID09ICZnbC0+Z2xfaG9sZGVycykKKwkJCXJldHVybiAxOworCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZG9fZXJyb3IgLSBTb21ldGhpbmcgdW5leHBlY3RlZCBoYXMgaGFwcGVuZWQgZHVyaW5nIGEgbG9jayByZXF1ZXN0CisgKgorICovCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBkb19lcnJvcihzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIGNvbnN0IGludCByZXQpCit7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaCwgKnRtcDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShnaCwgdG1wLCAmZ2wtPmdsX2hvbGRlcnMsIGdoX2xpc3QpIHsKKwkJaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCWNvbnRpbnVlOworCQlpZiAocmV0ICYgTE1fT1VUX0VSUk9SKQorCQkJZ2gtPmdoX2Vycm9yID0gLUVJTzsKKwkJZWxzZSBpZiAoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkKKwkJCWdoLT5naF9lcnJvciA9IEdMUl9UUllGQUlMRUQ7CisJCWVsc2UKKwkJCWNvbnRpbnVlOworCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7CisJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCX0KK30KKworLyoqCisgKiBmaW5kX2ZpcnN0X3dhaXRlciAtIGZpbmQgdGhlIGZpcnN0IGdoIHRoYXQncyB3YWl0aW5nIGZvciB0aGUgZ2xvY2sKKyAqIEBnbDogdGhlIGdsb2NrCisgKi8KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmZpbmRfZmlyc3Rfd2FpdGVyKGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICghdGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQorCQkJcmV0dXJuIGdoOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBzdGF0ZV9jaGFuZ2UgLSByZWNvcmQgdGhhdCB0aGUgZ2xvY2sgaXMgbm93IGluIGEgZGlmZmVyZW50IHN0YXRlCisgKiBAZ2w6IHRoZSBnbG9jaworICogQG5ld19zdGF0ZSB0aGUgbmV3IHN0YXRlCisgKgorICovCisKK3N0YXRpYyB2b2lkIHN0YXRlX2NoYW5nZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCBuZXdfc3RhdGUpCit7CisJaW50IGhlbGQxLCBoZWxkMjsKKworCWhlbGQxID0gKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7CisJaGVsZDIgPSAobmV3X3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKKworCWlmIChoZWxkMSAhPSBoZWxkMikgeworCQlpZiAoaGVsZDIpCisJCQlnZnMyX2dsb2NrX2hvbGQoZ2wpOworCQllbHNlCisJCQlnZnMyX2dsb2NrX3B1dChnbCk7CisJfQorCisJZ2wtPmdsX3N0YXRlID0gbmV3X3N0YXRlOworCWdsLT5nbF90Y2hhbmdlID0gamlmZmllczsKK30KKworc3RhdGljIHZvaWQgZ2ZzMl9kZW1vdGVfd2FrZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX0VYQ0xVU0lWRTsKKwljbGVhcl9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7CisJc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKKwl3YWtlX3VwX2JpdCgmZ2wtPmdsX2ZsYWdzLCBHTEZfREVNT1RFKTsKK30KKworLyoqCisgKiBmaW5pc2hfeG1vdGUgLSBUaGUgRExNIGhhcyByZXBsaWVkIHRvIG9uZSBvZiBvdXIgbG9jayByZXF1ZXN0cworICogQGdsOiBUaGUgZ2xvY2sKKyAqIEByZXQ6IFRoZSBzdGF0dXMgZnJvbSB0aGUgRExNCisgKgorICovCisKK3N0YXRpYyB2b2lkIGZpbmlzaF94bW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCByZXQpCit7CisJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7CisJdW5zaWduZWQgc3RhdGUgPSByZXQgJiBMTV9PVVRfU1RfTUFTSzsKIAogCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkKLQkJc2V0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKLQlydW5fcXVldWUoZ2wpOworCXN0YXRlX2NoYW5nZShnbCwgc3RhdGUpOworCWdoID0gZmluZF9maXJzdF93YWl0ZXIoZ2wpOworCisJLyogRGVtb3RlIHRvIFVOIHJlcXVlc3QgYXJyaXZlZCBkdXJpbmcgZGVtb3RlIHRvIFNIIG9yIERGICovCisJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpICYmCisJICAgIHN0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGdsLT5nbF9kZW1vdGVfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpCisJCWdsLT5nbF90YXJnZXQgPSBMTV9TVF9VTkxPQ0tFRDsKKworCS8qIENoZWNrIGZvciBzdGF0ZSAhPSBpbnRlbmRlZCBzdGF0ZSAqLworCWlmICh1bmxpa2VseShzdGF0ZSAhPSBnbC0+Z2xfdGFyZ2V0KSkgeworCQlpZiAoZ2ggJiYgIXRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKSB7CisJCQkvKiBtb3ZlIHRvIGJhY2sgb2YgcXVldWUgYW5kIHRyeSBuZXh0IGVudHJ5ICovCisJCQlpZiAocmV0ICYgTE1fT1VUX0NBTkNFTEVEKSB7CisJCQkJaWYgKChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKSA9PSAwKQorCQkJCQlsaXN0X21vdmVfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfaG9sZGVycyk7CisJCQkJZ2ggPSBmaW5kX2ZpcnN0X3dhaXRlcihnbCk7CisJCQkJZ2wtPmdsX3RhcmdldCA9IGdoLT5naF9zdGF0ZTsKKwkJCQlnb3RvIHJldHJ5OworCQkJfQorCQkJLyogU29tZSBlcnJvciBvciBmYWlsZWQgInRyeSBsb2NrIiAtIHJlcG9ydCBpdCAqLworCQkJaWYgKChyZXQgJiBMTV9PVVRfRVJST1IpIHx8CisJCQkgICAgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpKSB7CisJCQkJZ2wtPmdsX3RhcmdldCA9IGdsLT5nbF9zdGF0ZTsKKwkJCQlkb19lcnJvcihnbCwgcmV0KTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfQorCQlzd2l0Y2goc3RhdGUpIHsKKwkJLyogVW5sb2NrZWQgZHVlIHRvIGNvbnZlcnNpb24gZGVhZGxvY2ssIHRyeSBhZ2FpbiAqLworCQljYXNlIExNX1NUX1VOTE9DS0VEOgorcmV0cnk6CisJCQlkb194bW90ZShnbCwgZ2gsIGdsLT5nbF90YXJnZXQpOworCQkJYnJlYWs7CisJCS8qIENvbnZlcnNpb24gZmFpbHMsIHVubG9jayBhbmQgdHJ5IGFnYWluICovCisJCWNhc2UgTE1fU1RfU0hBUkVEOgorCQljYXNlIExNX1NUX0RFRkVSUkVEOgorCQkJZG9feG1vdGUoZ2wsIGdoLCBMTV9TVF9VTkxPQ0tFRCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDogLyogRXZlcnl0aGluZyBlbHNlICovCisJCQlwcmludGsoS0VSTl9FUlIgIkdGUzI6IHdhbnRlZCAldSBnb3QgJXVcbiIsIGdsLT5nbF90YXJnZXQsIHN0YXRlKTsKKwkJCUdMT0NLX0JVR19PTihnbCwgMSk7CisJCX0KKwkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworCQlyZXR1cm47CisJfQorCisJLyogRmFzdCBwYXRoIC0gd2UgZ290IHdoYXQgd2UgYXNrZWQgZm9yICovCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJZ2ZzMl9kZW1vdGVfd2FrZShnbCk7CisJaWYgKHN0YXRlICE9IExNX1NUX1VOTE9DS0VEKSB7CisJCWlmIChnbG9wcy0+Z29feG1vdGVfYmgpIHsKKwkJCWludCBydjsKKwkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQlydiA9IGdsb3BzLT5nb194bW90ZV9iaChnbCwgZ2gpOworCQkJaWYgKHJ2ID09IC1FQUdBSU4pCisJCQkJcmV0dXJuOworCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQlpZiAocnYpIHsKKwkJCQlkb19lcnJvcihnbCwgcnYpOworCQkJCWdvdG8gb3V0OworCQkJfQorCQl9CisJCWRvX3Byb21vdGUoZ2wpOworCX0KK291dDoKKwljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwogCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGdmczJfbG1fbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdm9pZCAqbG9jaywKKwkJCQkgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSwgdW5zaWduZWQgaW50IHJlcV9zdGF0ZSwKKwkJCQkgdW5zaWduZWQgaW50IGZsYWdzKQoreworCWludCByZXQgPSBMTV9PVVRfRVJST1I7CisKKwlpZiAoIXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2xvY2spCisJCXJldHVybiByZXFfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQgPyAwIDogcmVxX3N0YXRlOworCisJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQorCQlyZXQgPSBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9sb2NrKGxvY2ssIGN1cl9zdGF0ZSwKKwkJCQkJCQkgcmVxX3N0YXRlLCBmbGFncyk7CisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBkb194bW90ZSAtIENhbGxzIHRoZSBETE0gdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiBhIGxvY2sKKyAqIEBnbDogVGhlIGxvY2sgc3RhdGUKKyAqIEBnaDogVGhlIGhvbGRlciAob25seSBmb3IgcHJvbW90ZXMpCisgKiBAdGFyZ2V0OiBUaGUgdGFyZ2V0IGxvY2sgc3RhdGUKKyAqCisgKi8KKworc3RhdGljIHZvaWQgZG9feG1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoLCB1bnNpZ25lZCBpbnQgdGFyZ2V0KQoreworCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKKwlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CisJdW5zaWduZWQgaW50IGxja19mbGFncyA9IGdoID8gZ2gtPmdoX2ZsYWdzIDogMDsKKwlpbnQgcmV0OworCisJbGNrX2ZsYWdzICY9IChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQiB8IExNX0ZMQUdfTk9FWFAgfAorCQkgICAgICBMTV9GTEFHX1BSSU9SSVRZKTsKKwlCVUdfT04oZ2wtPmdsX3N0YXRlID09IHRhcmdldCk7CisJQlVHX09OKGdsLT5nbF9zdGF0ZSA9PSBnbC0+Z2xfdGFyZ2V0KTsKKwlpZiAoKHRhcmdldCA9PSBMTV9TVF9VTkxPQ0tFRCB8fCB0YXJnZXQgPT0gTE1fU1RfREVGRVJSRUQpICYmCisJICAgIGdsb3BzLT5nb19pbnZhbCkgeworCQlzZXRfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKKwkJZG9fZXJyb3IoZ2wsIDApOyAvKiBGYWlsIHF1ZXVlZCB0cnkgbG9ja3MgKi8KKwl9CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoZ2xvcHMtPmdvX3htb3RlX3RoKQorCQlnbG9wcy0+Z29feG1vdGVfdGgoZ2wpOworCWlmICh0ZXN0X2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncykpCisJCWdsb3BzLT5nb19pbnZhbChnbCwgdGFyZ2V0ID09IExNX1NUX0RFRkVSUkVEID8gMCA6IERJT19NRVRBREFUQSk7CisJY2xlYXJfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKKworCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJaWYgKHRhcmdldCAhPSBMTV9TVF9VTkxPQ0tFRCAmJiAoZ2wtPmdsX3N0YXRlID09IExNX1NUX1NIQVJFRCB8fAorCSAgICBnbC0+Z2xfc3RhdGUgPT0gTE1fU1RfREVGRVJSRUQpICYmCisJICAgICEobGNrX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkpCisJCWxja19mbGFncyB8PSBMTV9GTEFHX1RSWV8xQ0I7CisJcmV0ID0gZ2ZzMl9sbV9sb2NrKHNkcCwgZ2wtPmdsX2xvY2ssIGdsLT5nbF9zdGF0ZSwgdGFyZ2V0LCBsY2tfZmxhZ3MpOworCisJaWYgKCEocmV0ICYgTE1fT1VUX0FTWU5DKSkgeworCQlmaW5pc2hfeG1vdGUoZ2wsIHJldCk7CisJCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJCWlmIChxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIDApID09IDApCisJCQlnZnMyX2dsb2NrX3B1dChnbCk7CisJfSBlbHNlIHsKKwkJR0xPQ0tfQlVHX09OKGdsLCByZXQgIT0gTE1fT1VUX0FTWU5DKTsKKwl9CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Cit9CisKKy8qKgorICogZmluZF9maXJzdF9ob2xkZXIgLSBmaW5kIHRoZSBmaXJzdCAiaG9sZGVyIiBnaAorICogQGdsOiB0aGUgZ2xvY2sKKyAqLworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBnZnMyX2hvbGRlciAqZmluZF9maXJzdF9ob2xkZXIoY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7CisKKwlpZiAoIWxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgeworCQlnaCA9IGxpc3RfZW50cnkoZ2wtPmdsX2hvbGRlcnMubmV4dCwgc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKKwkJaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCXJldHVybiBnaDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogcnVuX3F1ZXVlIC0gZG8gYWxsIG91dHN0YW5kaW5nIHRhc2tzIHJlbGF0ZWQgdG8gYSBnbG9jaworICogQGdsOiBUaGUgZ2xvY2sgaW4gcXVlc3Rpb24KKyAqIEBub25ibG9jazogVHJ1ZSBpZiB3ZSBtdXN0IG5vdCBibG9jayBpbiBydW5fcXVldWUKKyAqCisgKi8KKworc3RhdGljIHZvaWQgcnVuX3F1ZXVlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgY29uc3QgaW50IG5vbmJsb2NrKQoreworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2ggPSBOVUxMOworCisJaWYgKHRlc3RfYW5kX3NldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQorCQlyZXR1cm47CisKKwlHTE9DS19CVUdfT04oZ2wsIHRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKTsKKworCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSAmJgorCSAgICBnbC0+Z2xfZGVtb3RlX3N0YXRlICE9IGdsLT5nbF9zdGF0ZSkgeworCQlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpKQorCQkJZ290byBvdXQ7CisJCWlmIChub25ibG9jaykKKwkJCWdvdG8gb3V0X3NjaGVkOworCQlzZXRfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpOworCQlHTE9DS19CVUdfT04oZ2wsIGdsLT5nbF9kZW1vdGVfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKTsKKwkJZ2wtPmdsX3RhcmdldCA9IGdsLT5nbF9kZW1vdGVfc3RhdGU7CisJfSBlbHNlIHsKKwkJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpKQorCQkJZ2ZzMl9kZW1vdGVfd2FrZShnbCk7CisJCWlmIChkb19wcm9tb3RlKGdsKSA9PSAwKQorCQkJZ290byBvdXQ7CisJCWdoID0gZmluZF9maXJzdF93YWl0ZXIoZ2wpOworCQlnbC0+Z2xfdGFyZ2V0ID0gZ2gtPmdoX3N0YXRlOworCQlpZiAoIShnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSkKKwkJCWRvX2Vycm9yKGdsLCAwKTsgLyogRmFpbCBxdWV1ZWQgdHJ5IGxvY2tzICovCisJfQorCWRvX3htb3RlKGdsLCBnaCwgZ2wtPmdsX3RhcmdldCk7CisJcmV0dXJuOworCitvdXRfc2NoZWQ6CisJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKKwlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQorCQlnZnMyX2dsb2NrX3B1dChnbCk7CitvdXQ6CisJY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgZ2xvY2tfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwl1bnNpZ25lZCBsb25nIGRlbGF5ID0gMDsKKwlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGdmczJfZ2xvY2ssIGdsX3dvcmsud29yayk7CisKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9SRVBMWV9QRU5ESU5HLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJZmluaXNoX3htb3RlKGdsLCBnbC0+Z2xfcmVwbHkpOworCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSAmJgorCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYKKwkgICAgZ2wtPmdsX2RlbW90ZV9zdGF0ZSAhPSBMTV9TVF9FWENMVVNJVkUpIHsKKwkJdW5zaWduZWQgbG9uZyBob2xkdGltZSwgbm93ID0gamlmZmllczsKKwkJaG9sZHRpbWUgPSBnbC0+Z2xfdGNoYW5nZSArIGdsLT5nbF9vcHMtPmdvX21pbl9ob2xkX3RpbWU7CisJCWlmICh0aW1lX2JlZm9yZShub3csIGhvbGR0aW1lKSkKKwkJCWRlbGF5ID0gaG9sZHRpbWUgLSBub3c7CisJCXNldF9iaXQoZGVsYXkgPyBHTEZfUEVORElOR19ERU1PVEUgOiBHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKKwl9CisJcnVuX3F1ZXVlKGdsLCAwKTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWlmICghZGVsYXkgfHwKKwkgICAgcXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCBkZWxheSkgPT0gMCkKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworfQorCiBzdGF0aWMgaW50IGdmczJfbG1fZ2V0X2xvY2soc3RydWN0IGdmczJfc2JkICpzZHAsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKIAkJICAgICB2b2lkICoqbG9ja3ApCiB7CiAJaW50IGVycm9yID0gLUVJTzsKKwlpZiAoIXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2dldF9sb2NrKQorCQlyZXR1cm4gMDsKIAlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCiAJCWVycm9yID0gc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fZ2V0X2xvY2soCiAJCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX2xvY2tzcGFjZSwgbmFtZSwgbG9ja3ApOwpAQCAtMzQyLDEyICs2ODksMTAgQEAKIAlnbC0+Z2xfbmFtZSA9IG5hbWU7CiAJYXRvbWljX3NldCgmZ2wtPmdsX3JlZiwgMSk7CiAJZ2wtPmdsX3N0YXRlID0gTE1fU1RfVU5MT0NLRUQ7CisJZ2wtPmdsX3RhcmdldCA9IExNX1NUX1VOTE9DS0VEOwogCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9FWENMVVNJVkU7CiAJZ2wtPmdsX2hhc2ggPSBoYXNoOwotCWdsLT5nbF9vd25lcl9waWQgPSBOVUxMOwotCWdsLT5nbF9pcCA9IDA7CiAJZ2wtPmdsX29wcyA9IGdsb3BzOwotCWdsLT5nbF9yZXFfZ2ggPSBOVUxMOwogCWdsLT5nbF9zdGFtcCA9IGppZmZpZXM7CiAJZ2wtPmdsX3RjaGFuZ2UgPSBqaWZmaWVzOwogCWdsLT5nbF9vYmplY3QgPSBOVUxMOwpAQCAtNDQ3LDEzICs3OTIsNiBAQAogCWdoLT5naF9pcCA9IDA7CiB9CiAKLXN0YXRpYyB2b2lkIGdmczJfaG9sZGVyX3dha2Uoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQljbGVhcl9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKTsKLQlzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOwotCXdha2VfdXBfYml0KCZnaC0+Z2hfaWZsYWdzLCBISUZfV0FJVCk7Ci19Ci0KIHN0YXRpYyBpbnQganVzdF9zY2hlZHVsZSh2b2lkICp3b3JkKQogewogICAgICAgICBzY2hlZHVsZSgpOwpAQCAtNDY2LDE0ICs4MDQsNiBAQAogCXdhaXRfb25fYml0KCZnaC0+Z2hfaWZsYWdzLCBISUZfV0FJVCwganVzdF9zY2hlZHVsZSwgVEFTS19VTklOVEVSUlVQVElCTEUpOwogfQogCi1zdGF0aWMgdm9pZCBnZnMyX2RlbW90ZV93YWtlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfRVhDTFVTSVZFOwotICAgICAgICBjbGVhcl9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7Ci0gICAgICAgIHNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7Ci0gICAgICAgIHdha2VfdXBfYml0KCZnbC0+Z2xfZmxhZ3MsIEdMRl9ERU1PVEUpOwotfQotCiBzdGF0aWMgdm9pZCB3YWl0X29uX2RlbW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCiB7CiAJbWlnaHRfc2xlZXAoKTsKQEAgLTQ4MSwyMTcgKzgxMSw2IEBACiB9CiAKIC8qKgotICogcnFfbXV0ZXggLSBwcm9jZXNzIGEgbXV0ZXggcmVxdWVzdCBpbiB0aGUgcXVldWUKLSAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgotICoKLSAqIFJldHVybnM6IDEgaWYgdGhlIHF1ZXVlIGlzIGJsb2NrZWQKLSAqLwotCi1zdGF0aWMgaW50IHJxX211dGV4KHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCi0JbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCS8qICBnaC0+Z2hfZXJyb3IgbmV2ZXIgZXhhbWluZWQuICAqLwotCXNldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCWNsZWFyX2JpdChISUZfV0FJVCwgJmdoLT5naF9pZmxhZ3MpOwotCXNtcF9tYigpOwotCXdha2VfdXBfYml0KCZnaC0+Z2hfaWZsYWdzLCBISUZfV0FJVCk7Ci0KLQlyZXR1cm4gMTsKLX0KLQotLyoqCi0gKiBycV9wcm9tb3RlIC0gcHJvY2VzcyBhIHByb21vdGUgcmVxdWVzdCBpbiB0aGUgcXVldWUKLSAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgotICoKLSAqIEFjcXVpcmUgYSBuZXcgaW50ZXItbm9kZSBsb2NrLCBvciBjaGFuZ2UgYSBsb2NrIHN0YXRlIHRvIG1vcmUgcmVzdHJpY3RpdmUuCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgcXVldWUgaXMgYmxvY2tlZAotICovCi0KLXN0YXRpYyBpbnQgcnFfcHJvbW90ZShzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQotCWlmICghcmVsYXhlZF9zdGF0ZV9vayhnbC0+Z2xfc3RhdGUsIGdoLT5naF9zdGF0ZSwgZ2gtPmdoX2ZsYWdzKSkgewotCQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKSB7Ci0JCQlnbC0+Z2xfcmVxX2doID0gZ2g7Ci0JCQlzZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlnZnMyX2dsb2NrX3htb3RlX3RoKGdoLT5naF9nbCwgZ2gpOwotCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCX0KLQkJcmV0dXJuIDE7Ci0JfQotCi0JaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgewotCQlzZXRfYml0KEhJRl9GSVJTVCwgJmdoLT5naF9pZmxhZ3MpOwotCQlzZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQl9IGVsc2UgewotCQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKm5leHRfZ2g7Ci0JCWlmIChnaC0+Z2hfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKQotCQkJcmV0dXJuIDE7Ci0JCW5leHRfZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF9ob2xkZXJzLm5leHQsIHN0cnVjdCBnZnMyX2hvbGRlciwKLQkJCQkgICAgIGdoX2xpc3QpOwotCQlpZiAobmV4dF9naC0+Z2hfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKQotCQkJIHJldHVybiAxOwotCX0KLQotCWxpc3RfbW92ZV90YWlsKCZnaC0+Z2hfbGlzdCwgJmdsLT5nbF9ob2xkZXJzKTsKLQlnaC0+Z2hfZXJyb3IgPSAwOwotCXNldF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpOwotCi0JZ2ZzMl9ob2xkZXJfd2FrZShnaCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoqCi0gKiBycV9kZW1vdGUgLSBwcm9jZXNzIGEgZGVtb3RlIHJlcXVlc3QgaW4gdGhlIHF1ZXVlCi0gKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBxdWV1ZSBpcyBibG9ja2VkCi0gKi8KLQotc3RhdGljIGludCBycV9kZW1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCWlmICghbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKQotCQlyZXR1cm4gMTsKLQotCWlmIChnbC0+Z2xfc3RhdGUgPT0gZ2wtPmdsX2RlbW90ZV9zdGF0ZSB8fAotCSAgICBnbC0+Z2xfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpIHsKLQkJZ2ZzMl9kZW1vdGVfd2FrZShnbCk7Ci0JCXJldHVybiAwOwotCX0KLQotCXNldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCXNldF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncyk7Ci0KLQlpZiAoZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCB8fAotCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfRVhDTFVTSVZFKSB7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdmczJfZ2xvY2tfZHJvcF90aChnbCk7Ci0JfSBlbHNlIHsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2ZzMl9nbG9ja194bW90ZV90aChnbCwgTlVMTCk7Ci0JfQotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JY2xlYXJfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qKgotICogcnVuX3F1ZXVlIC0gcHJvY2VzcyBob2xkZXIgc3RydWN0dXJlcyBvbiBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqLwotc3RhdGljIHZvaWQgcnVuX3F1ZXVlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOwotCWludCBibG9ja2VkID0gMTsKLQotCWZvciAoOzspIHsKLQkJaWYgKHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKLQkJCWJyZWFrOwotCi0JCWlmICghbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMxKSkgewotCQkJZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF93YWl0ZXJzMS5uZXh0LAotCQkJCQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIsIGdoX2xpc3QpOwotCQkJYmxvY2tlZCA9IHJxX211dGV4KGdoKTsKLQkJfSBlbHNlIGlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQkJYmxvY2tlZCA9IHJxX2RlbW90ZShnbCk7Ci0JCQlpZiAodGVzdF9iaXQoR0xGX1dBSVRFUlMyLCAmZ2wtPmdsX2ZsYWdzKSAmJgotCQkJCSAgICAgIWJsb2NrZWQpIHsKLQkJCQlzZXRfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOwotCQkJCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9VTkxPQ0tFRDsKLQkJCX0KLQkJCWNsZWFyX2JpdChHTEZfV0FJVEVSUzIsICZnbC0+Z2xfZmxhZ3MpOwotCQl9IGVsc2UgaWYgKCFsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczMpKSB7Ci0JCQlnaCA9IGxpc3RfZW50cnkoZ2wtPmdsX3dhaXRlcnMzLm5leHQsCi0JCQkJCXN0cnVjdCBnZnMyX2hvbGRlciwgZ2hfbGlzdCk7Ci0JCQlibG9ja2VkID0gcnFfcHJvbW90ZShnaCk7Ci0JCX0gZWxzZQotCQkJYnJlYWs7Ci0KLQkJaWYgKGJsb2NrZWQpCi0JCQlicmVhazsKLQl9Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG11dGV4X2xvY2sgLSBhY3F1aXJlIGEgbG9jYWwgbG9jayBvbiBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqIEdpdmVzIGNhbGxlciBleGNsdXNpdmUgYWNjZXNzIHRvIG1hbmlwdWxhdGUgYSBnbG9jayBzdHJ1Y3R1cmUuCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9nbG11dGV4X2xvY2soc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWlmICh0ZXN0X2FuZF9zZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgZ2g7Ci0KLQkJZ2ZzMl9ob2xkZXJfaW5pdChnbCwgMCwgMCwgJmdoKTsKLQkJc2V0X2JpdChISUZfV0FJVCwgJmdoLmdoX2lmbGFncyk7Ci0JCWxpc3RfYWRkX3RhaWwoJmdoLmdoX2xpc3QsICZnbC0+Z2xfd2FpdGVyczEpOwotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQl3YWl0X29uX2hvbGRlcigmZ2gpOwotCQlnZnMyX2hvbGRlcl91bmluaXQoJmdoKTsKLQl9IGVsc2UgewotCQlnbC0+Z2xfb3duZXJfcGlkID0gZ2V0X3BpZCh0YXNrX3BpZChjdXJyZW50KSk7Ci0JCWdsLT5nbF9pcCA9ICh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKTsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQl9Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG11dGV4X3RyeWxvY2sgLSB0cnkgdG8gYWNxdWlyZSBhIGxvY2FsIGxvY2sgb24gYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBnbG9jayBpcyBhY3F1aXJlZAotICovCi0KLXN0YXRpYyBpbnQgZ2ZzMl9nbG11dGV4X3RyeWxvY2soc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCWludCBhY3F1aXJlZCA9IDE7Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpIHsKLQkJYWNxdWlyZWQgPSAwOwotCX0gZWxzZSB7Ci0JCWdsLT5nbF9vd25lcl9waWQgPSBnZXRfcGlkKHRhc2tfcGlkKGN1cnJlbnQpKTsKLQkJZ2wtPmdsX2lwID0gKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApOwotCX0KLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCi0JcmV0dXJuIGFjcXVpcmVkOwotfQotCi0vKioKLSAqIGdmczJfZ2xtdXRleF91bmxvY2sgLSByZWxlYXNlIGEgbG9jYWwgbG9jayBvbiBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX2dsbXV0ZXhfdW5sb2NrKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzdHJ1Y3QgcGlkICpwaWQ7Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCXBpZCA9IGdsLT5nbF9vd25lcl9waWQ7Ci0JZ2wtPmdsX293bmVyX3BpZCA9IE5VTEw7Ci0JZ2wtPmdsX2lwID0gMDsKLQlydW5fcXVldWUoZ2wpOwotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0KLQlwdXRfcGlkKHBpZCk7Ci19Ci0KLS8qKgogICogaGFuZGxlX2NhbGxiYWNrIC0gcHJvY2VzcyBhIGRlbW90ZSByZXF1ZXN0CiAgKiBAZ2w6IHRoZSBnbG9jawogICogQHN0YXRlOiB0aGUgc3RhdGUgdGhlIGNhbGxlciB3YW50cyB1cyB0byBjaGFuZ2UgdG8KQEAgLTcwNSwzOTggKzgyNCw0NSBAQAogewogCWludCBiaXQgPSBkZWxheSA/IEdMRl9QRU5ESU5HX0RFTU9URSA6IEdMRl9ERU1PVEU7CiAKLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKIAlzZXRfYml0KGJpdCwgJmdsLT5nbF9mbGFncyk7CiAJaWYgKGdsLT5nbF9kZW1vdGVfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKSB7CiAJCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBzdGF0ZTsKIAkJZ2wtPmdsX2RlbW90ZV90aW1lID0gamlmZmllczsKIAkJaWYgKHJlbW90ZSAmJiBnbC0+Z2xfb3BzLT5nb190eXBlID09IExNX1RZUEVfSU9QRU4gJiYKLQkJICAgIGdsLT5nbF9vYmplY3QpIHsKKwkJICAgIGdsLT5nbF9vYmplY3QpCiAJCQlnZnMyX2dsb2NrX3NjaGVkdWxlX2Zvcl9yZWNsYWltKGdsKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlyZXR1cm47Ci0JCX0KIAl9IGVsc2UgaWYgKGdsLT5nbF9kZW1vdGVfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYKIAkJCWdsLT5nbF9kZW1vdGVfc3RhdGUgIT0gc3RhdGUpIHsKLQkJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICAmZ2wtPmdsX2ZsYWdzKSkgCi0JCQlzZXRfYml0KEdMRl9XQUlURVJTMiwgJmdsLT5nbF9mbGFncyk7Ci0JCWVsc2UgCi0JCQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfVU5MT0NLRUQ7CisJCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9VTkxPQ0tFRDsKIAl9Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIH0KIAogLyoqCi0gKiBzdGF0ZV9jaGFuZ2UgLSByZWNvcmQgdGhhdCB0aGUgZ2xvY2sgaXMgbm93IGluIGEgZGlmZmVyZW50IHN0YXRlCi0gKiBAZ2w6IHRoZSBnbG9jawotICogQG5ld19zdGF0ZSB0aGUgbmV3IHN0YXRlCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIHN0YXRlX2NoYW5nZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCBuZXdfc3RhdGUpCi17Ci0JaW50IGhlbGQxLCBoZWxkMjsKLQotCWhlbGQxID0gKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7Ci0JaGVsZDIgPSAobmV3X3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKLQotCWlmIChoZWxkMSAhPSBoZWxkMikgewotCQlpZiAoaGVsZDIpCi0JCQlnZnMyX2dsb2NrX2hvbGQoZ2wpOwotCQllbHNlCi0JCQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0JfQotCi0JZ2wtPmdsX3N0YXRlID0gbmV3X3N0YXRlOwotCWdsLT5nbF90Y2hhbmdlID0gamlmZmllczsKLX0KLQotLyoqCi0gKiBkcm9wX2JoIC0gQ2FsbGVkIGFmdGVyIGEgbG9jayBtb2R1bGUgdW5sb2NrIGNvbXBsZXRlcwotICogQGdsOiB0aGUgZ2xvY2sKLSAqIEByZXQ6IHRoZSByZXR1cm4gc3RhdHVzCi0gKgotICogRG9lc24ndCB3YWtlIHVwIHRoZSBwcm9jZXNzIHdhaXRpbmcgb24gdGhlIHN0cnVjdCBnZnMyX2hvbGRlciAoaWYgYW55KQotICogRG9lc24ndCBkcm9wIHRoZSByZWZlcmVuY2Ugb24gdGhlIGdsb2NrIHRoZSB0b3AgaGFsZiB0b29rIG91dAotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBkcm9wX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdW5zaWduZWQgaW50IHJldCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaCA9IGdsLT5nbF9yZXFfZ2g7Ci0KLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgIXJldCk7Ci0KLQlzdGF0ZV9jaGFuZ2UoZ2wsIExNX1NUX1VOTE9DS0VEKTsKLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX0NPTlZfREVBRExLLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2gtPmdoX2Vycm9yID0gMDsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2ZzMl9nbG9ja194bW90ZV90aChnbCwgZ2wtPmdsX3JlcV9naCk7Ci0JCWdmczJfZ2xvY2tfcHV0KGdsKTsKLQkJcmV0dXJuOwotCX0KLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWdmczJfZGVtb3RlX3dha2UoZ2wpOwotCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQlnZnMyX2dsb2NrX3B1dChnbCk7Ci19Ci0KLS8qKgotICogeG1vdGVfYmggLSBDYWxsZWQgYWZ0ZXIgdGhlIGxvY2sgbW9kdWxlIGlzIGRvbmUgYWNxdWlyaW5nIGEgbG9jawotICogQGdsOiBUaGUgZ2xvY2sgaW4gcXVlc3Rpb24KLSAqIEByZXQ6IHRoZSBpbnQgcmV0dXJuZWQgZnJvbSB0aGUgbG9jayBtb2R1bGUKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgeG1vdGVfYmgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgcmV0KQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaCA9IGdsLT5nbF9yZXFfZ2g7Ci0JaW50IG9wX2RvbmUgPSAxOwotCi0JaWYgKCFnaCAmJiAocmV0ICYgTE1fT1VUX1NUX01BU0spID09IExNX1NUX1VOTE9DS0VEKSB7Ci0JCWRyb3BfYmgoZ2wsIHJldCk7Ci0JCXJldHVybjsKLQl9Ci0KLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgIShyZXQgJiBMTV9PVVRfQVNZTkMpKTsKLQotCXN0YXRlX2NoYW5nZShnbCwgcmV0ICYgTE1fT1VUX1NUX01BU0spOwotCi0JLyogIERlYWwgd2l0aCBlYWNoIHBvc3NpYmxlIGV4aXQgY29uZGl0aW9uICAqLwotCi0JaWYgKCFnaCkgewotCQlnbC0+Z2xfc3RhbXAgPSBqaWZmaWVzOwotCQlpZiAocmV0ICYgTE1fT1VUX0NBTkNFTEVEKSB7Ci0JCQlvcF9kb25lID0gMDsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJaWYgKGdsLT5nbF9zdGF0ZSAhPSBnbC0+Z2xfZGVtb3RlX3N0YXRlKSB7Ci0JCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCQlnZnMyX2dsb2NrX2Ryb3BfdGgoZ2wpOwotCQkJCWdmczJfZ2xvY2tfcHV0KGdsKTsKLQkJCQlyZXR1cm47Ci0JCQl9Ci0JCQlnZnMyX2RlbW90ZV93YWtlKGdsKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCX0KLQl9IGVsc2UgewotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJaWYgKHJldCAmIExNX09VVF9DT05WX0RFQURMSykgewotCQkJZ2gtPmdoX2Vycm9yID0gMDsKLQkJCXNldF9iaXQoR0xGX0NPTlZfREVBRExLLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlnZnMyX2dsb2NrX2Ryb3BfdGgoZ2wpOwotCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwotCQkJcmV0dXJuOwotCQl9Ci0JCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQkJZ2gtPmdoX2Vycm9yID0gLUVJTzsKLQkJaWYgKHVubGlrZWx5KHRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkgCi0JCQlnb3RvIG91dDsKLQkJZ2gtPmdoX2Vycm9yID0gR0xSX0NBTkNFTEVEOwotCQlpZiAocmV0ICYgTE1fT1VUX0NBTkNFTEVEKSAKLQkJCWdvdG8gb3V0OwotCQlpZiAocmVsYXhlZF9zdGF0ZV9vayhnbC0+Z2xfc3RhdGUsIGdoLT5naF9zdGF0ZSwgZ2gtPmdoX2ZsYWdzKSkgewotCQkJbGlzdF9hZGRfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfaG9sZGVycyk7Ci0JCQlnaC0+Z2hfZXJyb3IgPSAwOwotCQkJc2V0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncyk7Ci0JCQlzZXRfYml0KEhJRl9GSVJTVCwgJmdoLT5naF9pZmxhZ3MpOwotCQkJb3BfZG9uZSA9IDA7Ci0JCQlnb3RvIG91dDsKLQkJfQotCQlnaC0+Z2hfZXJyb3IgPSBHTFJfVFJZRkFJTEVEOwotCQlpZiAoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkKLQkJCWdvdG8gb3V0OwotCQlnaC0+Z2hfZXJyb3IgPSAtRUlOVkFMOwotCQlpZiAoZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCAwKSA9PSAtMSkKLQkJCWZzX2VycihzZHAsICJyZXQgPSAweCUuOFhcbiIsIHJldCk7Ci1vdXQ6Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotCi0JaWYgKGdsb3BzLT5nb194bW90ZV9iaCkKLQkJZ2xvcHMtPmdvX3htb3RlX2JoKGdsKTsKLQotCWlmIChvcF9kb25lKSB7Ci0JCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQlnbC0+Z2xfcmVxX2doID0gTlVMTDsKLQkJY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQl9Ci0KLQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0KLQlpZiAoZ2gpCi0JCWdmczJfaG9sZGVyX3dha2UoZ2gpOwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IGdmczJfbG1fbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdm9pZCAqbG9jaywKLQkJCQkgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSwgdW5zaWduZWQgaW50IHJlcV9zdGF0ZSwKLQkJCQkgdW5zaWduZWQgaW50IGZsYWdzKQotewotCWludCByZXQgPSAwOwotCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKLQkJcmV0ID0gc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fbG9jayhsb2NrLCBjdXJfc3RhdGUsCi0JCQkJCQkJIHJlcV9zdGF0ZSwgZmxhZ3MpOwotCXJldHVybiByZXQ7Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG9ja194bW90ZV90aCAtIENhbGwgaW50byB0aGUgbG9jayBtb2R1bGUgdG8gYWNxdWlyZSBvciBjaGFuZ2UgYSBnbG9jawotICogQGdsOiBUaGUgZ2xvY2sgaW4gcXVlc3Rpb24KLSAqIEBzdGF0ZTogdGhlIHJlcXVlc3RlZCBzdGF0ZQotICogQGZsYWdzOiBtb2RpZmllciBmbGFncyB0byB0aGUgbG9jayBjYWxsCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfeG1vdGVfdGgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQlpbnQgZmxhZ3MgPSBnaCA/IGdoLT5naF9mbGFncyA6IDA7Ci0JdW5zaWduZWQgc3RhdGUgPSBnaCA/IGdoLT5naF9zdGF0ZSA6IGdsLT5nbF9kZW1vdGVfc3RhdGU7Ci0JY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwotCWludCBsY2tfZmxhZ3MgPSBmbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQiB8Ci0JCQkJIExNX0ZMQUdfTk9FWFAgfCBMTV9GTEFHX0FOWSB8Ci0JCQkJIExNX0ZMQUdfUFJJT1JJVFkpOwotCXVuc2lnbmVkIGludCBsY2tfcmV0OwotCi0JaWYgKGdsb3BzLT5nb194bW90ZV90aCkKLQkJZ2xvcHMtPmdvX3htb3RlX3RoKGdsKTsKLQlpZiAoc3RhdGUgPT0gTE1fU1RfREVGRVJSRUQgJiYgZ2xvcHMtPmdvX2ludmFsKQotCQlnbG9wcy0+Z29faW52YWwoZ2wsIERJT19NRVRBREFUQSk7Ci0KLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzdGF0ZSAhPSBnbC0+Z2xfc3RhdGUpOwotCi0JZ2ZzMl9nbG9ja19ob2xkKGdsKTsKLQotCWxja19yZXQgPSBnZnMyX2xtX2xvY2soc2RwLCBnbC0+Z2xfbG9jaywgZ2wtPmdsX3N0YXRlLCBzdGF0ZSwgbGNrX2ZsYWdzKTsKLQotCWlmIChnZnMyX2Fzc2VydF93aXRoZHJhdyhzZHAsICEobGNrX3JldCAmIExNX09VVF9FUlJPUikpKQotCQlyZXR1cm47Ci0KLQlpZiAobGNrX3JldCAmIExNX09VVF9BU1lOQykKLQkJZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxja19yZXQgPT0gTE1fT1VUX0FTWU5DKTsKLQllbHNlCi0JCXhtb3RlX2JoKGdsLCBsY2tfcmV0KTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBnZnMyX2xtX3VubG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdm9pZCAqbG9jaywKLQkJCQkgICB1bnNpZ25lZCBpbnQgY3VyX3N0YXRlKQotewotCWludCByZXQgPSAwOwotCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKLQkJcmV0ID0gIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3VubG9jayhsb2NrLCBjdXJfc3RhdGUpOwotCXJldHVybiByZXQ7Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG9ja19kcm9wX3RoIC0gY2FsbCBpbnRvIHRoZSBsb2NrIG1vZHVsZSB0byB1bmxvY2sgYSBsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX2Ryb3BfdGgoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7Ci0JdW5zaWduZWQgaW50IHJldDsKLQotCWlmIChnbG9wcy0+Z29feG1vdGVfdGgpCi0JCWdsb3BzLT5nb194bW90ZV90aChnbCk7Ci0JaWYgKGdsb3BzLT5nb19pbnZhbCkKLQkJZ2xvcHMtPmdvX2ludmFsKGdsLCBESU9fTUVUQURBVEEpOwotCi0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7Ci0KLQlnZnMyX2dsb2NrX2hvbGQoZ2wpOwotCi0JcmV0ID0gZ2ZzMl9sbV91bmxvY2soc2RwLCBnbC0+Z2xfbG9jaywgZ2wtPmdsX3N0YXRlKTsKLQotCWlmIChnZnMyX2Fzc2VydF93aXRoZHJhdyhzZHAsICEocmV0ICYgTE1fT1VUX0VSUk9SKSkpCi0JCXJldHVybjsKLQotCWlmICghcmV0KQotCQlkcm9wX2JoKGdsLCByZXQpOwotCWVsc2UKLQkJZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHJldCA9PSBMTV9PVVRfQVNZTkMpOwotfQotCi0vKioKLSAqIGRvX2NhbmNlbHMgLSBjYW5jZWwgcmVxdWVzdHMgZm9yIGxvY2tzIHN0dWNrIHdhaXRpbmcgb24gYW4gZXhwaXJlIGZsYWcKLSAqIEBnaDogdGhlIExNX0ZMQUdfUFJJT1JJVFkgaG9sZGVyIHdhaXRpbmcgdG8gYWNxdWlyZSB0aGUgbG9jawotICoKLSAqIERvbid0IGNhbmNlbCBHTF9OT0NBTkNFTCByZXF1ZXN0cy4KLSAqLwotCi1zdGF0aWMgdm9pZCBkb19jYW5jZWxzKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCi0Jd2hpbGUgKGdsLT5nbF9yZXFfZ2ggIT0gZ2ggJiYKLQkgICAgICAgIXRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSAmJgotCSAgICAgICAhbGlzdF9lbXB0eSgmZ2gtPmdoX2xpc3QpKSB7Ci0JCWlmICghKGdsLT5nbF9yZXFfZ2ggJiYgKGdsLT5nbF9yZXFfZ2gtPmdoX2ZsYWdzICYgR0xfTk9DQU5DRUwpKSkgewotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKLQkJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9jYW5jZWwoZ2wtPmdsX2xvY2spOwotCQkJbXNsZWVwKDEwMCk7Ci0JCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQltc2xlZXAoMTAwKTsKLQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQl9Ci0JfQotCi0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLX0KLQotLyoqCi0gKiBnbG9ja193YWl0X2ludGVybmFsIC0gd2FpdCBvbiBhIGdsb2NrIGFjcXVpc2l0aW9uCisgKiBnZnMyX2dsb2NrX3dhaXQgLSB3YWl0IG9uIGEgZ2xvY2sgYWNxdWlzaXRpb24KICAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgogICoKICAqIFJldHVybnM6IDAgb24gc3VjY2VzcwogICovCiAKLXN0YXRpYyBpbnQgZ2xvY2tfd2FpdF9pbnRlcm5hbChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQoraW50IGdmczJfZ2xvY2tfd2FpdChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0JY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwotCi0JaWYgKHRlc3RfYml0KEhJRl9BQk9SVEVELCAmZ2gtPmdoX2lmbGFncykpCi0JCXJldHVybiAtRUlPOwotCi0JaWYgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpIHsKLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWlmIChnbC0+Z2xfcmVxX2doICE9IGdoICYmCi0JCSAgICAhdGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpICYmCi0JCSAgICAhbGlzdF9lbXB0eSgmZ2gtPmdoX2xpc3QpKSB7Ci0JCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7Ci0JCQlnaC0+Z2hfZXJyb3IgPSBHTFJfVFJZRkFJTEVEOwotCQkJcnVuX3F1ZXVlKGdsKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlyZXR1cm4gZ2gtPmdoX2Vycm9yOwotCQl9Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotCi0JaWYgKGdoLT5naF9mbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpCi0JCWRvX2NhbmNlbHMoZ2gpOwotCiAJd2FpdF9vbl9ob2xkZXIoZ2gpOwotCWlmIChnaC0+Z2hfZXJyb3IpCi0JCXJldHVybiBnaC0+Z2hfZXJyb3I7Ci0KLQlnZnMyX2Fzc2VydF93aXRoZHJhdyhzZHAsIHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCByZWxheGVkX3N0YXRlX29rKGdsLT5nbF9zdGF0ZSwgZ2gtPmdoX3N0YXRlLAotCQkJCQkJICAgZ2gtPmdoX2ZsYWdzKSk7Ci0KLQlpZiAodGVzdF9iaXQoSElGX0ZJUlNULCAmZ2gtPmdoX2lmbGFncykpIHsKLQkJZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0KLQkJaWYgKGdsb3BzLT5nb19sb2NrKSB7Ci0JCQlnaC0+Z2hfZXJyb3IgPSBnbG9wcy0+Z29fbG9jayhnaCk7Ci0JCQlpZiAoZ2gtPmdoX2Vycm9yKSB7Ci0JCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQkJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQl9Ci0JCX0KLQotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2wtPmdsX3JlcV9naCA9IE5VTEw7Ci0JCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JCXJ1bl9xdWV1ZShnbCk7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotCiAJcmV0dXJuIGdoLT5naF9lcnJvcjsKIH0KIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKgotZmluZF9ob2xkZXJfYnlfb3duZXIoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgc3RydWN0IHBpZCAqcGlkKQotewotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoLCBoZWFkLCBnaF9saXN0KSB7Ci0JCWlmIChnaC0+Z2hfb3duZXJfcGlkID09IHBpZCkKLQkJCXJldHVybiBnaDsKLQl9Ci0KLQlyZXR1cm4gTlVMTDsKLX0KLQotc3RhdGljIHZvaWQgcHJpbnRfZGJnKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgY29uc3QgY2hhciAqZm10LCAuLi4pCit2b2lkIGdmczJfcHJpbnRfZGJnKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKIAl2YV9saXN0IGFyZ3M7CiAKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCWlmIChnaSkgeworCWlmIChzZXEpIHsKKwkJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CiAJCXZzcHJpbnRmKGdpLT5zdHJpbmcsIGZtdCwgYXJncyk7Ci0JCXNlcV9wcmludGYoZ2ktPnNlcSwgZ2ktPnN0cmluZyk7Ci0JfQotCWVsc2UKKwkJc2VxX3ByaW50ZihzZXEsIGdpLT5zdHJpbmcpOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0VSUiAiICIpOwogCQl2cHJpbnRrKGZtdCwgYXJncyk7CisJfQogCXZhX2VuZChhcmdzKTsKIH0KIApAQCAtMTEwNCw1MCArODcwLDc2IEBACiAgKiBhZGRfdG9fcXVldWUgLSBBZGQgYSBob2xkZXIgdG8gdGhlIHdhaXQgcXVldWUgKGJ1dCBsb29rIGZvciByZWN1cnNpb24pCiAgKiBAZ2g6IHRoZSBob2xkZXIgc3RydWN0dXJlIHRvIGFkZAogICoKKyAqIEV2ZW50dWFsbHkgd2Ugc2hvdWxkIG1vdmUgdGhlIHJlY3Vyc2l2ZSBsb2NraW5nIHRyYXAgdG8gYQorICogZGVidWdnaW5nIG9wdGlvbiBvciBzb21ldGhpbmcgbGlrZSB0aGF0LiBUaGlzIGlzIHRoZSBmYXN0CisgKiBwYXRoIGFuZCBuZWVkcyB0byBoYXZlIHRoZSBtaW5pbXVtIG51bWJlciBvZiBkaXN0cmFjdGlvbnMuCisgKiAKICAqLwogCi1zdGF0aWMgdm9pZCBhZGRfdG9fcXVldWUoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGRfdG9fcXVldWUoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpleGlzdGluZzsKKwlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CisJc3RydWN0IGxpc3RfaGVhZCAqaW5zZXJ0X3B0ID0gTlVMTDsKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoMjsKKwlpbnQgdHJ5X2xvY2sgPSAwOwogCiAJQlVHX09OKGdoLT5naF9vd25lcl9waWQgPT0gTlVMTCk7CiAJaWYgKHRlc3RfYW5kX3NldF9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKSkKIAkJQlVHKCk7CiAKLQlpZiAoIShnaC0+Z2hfZmxhZ3MgJiBHTF9GTE9DSykpIHsKLQkJZXhpc3RpbmcgPSBmaW5kX2hvbGRlcl9ieV9vd25lcigmZ2wtPmdsX2hvbGRlcnMsIAotCQkJCQkJZ2gtPmdoX293bmVyX3BpZCk7Ci0JCWlmIChleGlzdGluZykgewotCQkJcHJpbnRfc3ltYm9sKEtFUk5fV0FSTklORyAib3JpZ2luYWw6ICVzXG4iLCAKLQkJCQkgICAgIGV4aXN0aW5nLT5naF9pcCk7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJwaWQgOiAlZFxuIiwKLQkJCQkJcGlkX25yKGV4aXN0aW5nLT5naF9vd25lcl9waWQpKTsKLQkJCXByaW50ayhLRVJOX0lORk8gImxvY2sgdHlwZSA6ICVkIGxvY2sgc3RhdGUgOiAlZFxuIiwKLQkJCSAgICAgICBleGlzdGluZy0+Z2hfZ2wtPmdsX25hbWUubG5fdHlwZSwgCi0JCQkgICAgICAgZXhpc3RpbmctPmdoX2dsLT5nbF9zdGF0ZSk7Ci0JCQlwcmludF9zeW1ib2woS0VSTl9XQVJOSU5HICJuZXc6ICVzXG4iLCBnaC0+Z2hfaXApOwotCQkJcHJpbnRrKEtFUk5fSU5GTyAicGlkIDogJWRcbiIsCi0JCQkJCXBpZF9ucihnaC0+Z2hfb3duZXJfcGlkKSk7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJsb2NrIHR5cGUgOiAlZCBsb2NrIHN0YXRlIDogJWRcbiIsCi0JCQkgICAgICAgZ2wtPmdsX25hbWUubG5fdHlwZSwgZ2wtPmdsX3N0YXRlKTsKLQkJCUJVRygpOwotCQl9Ci0JCQotCQlleGlzdGluZyA9IGZpbmRfaG9sZGVyX2J5X293bmVyKCZnbC0+Z2xfd2FpdGVyczMsIAotCQkJCQkJZ2gtPmdoX293bmVyX3BpZCk7Ci0JCWlmIChleGlzdGluZykgewotCQkJcHJpbnRfc3ltYm9sKEtFUk5fV0FSTklORyAib3JpZ2luYWw6ICVzXG4iLCAKLQkJCQkgICAgIGV4aXN0aW5nLT5naF9pcCk7Ci0JCQlwcmludF9zeW1ib2woS0VSTl9XQVJOSU5HICJuZXc6ICVzXG4iLCBnaC0+Z2hfaXApOwotCQkJQlVHKCk7Ci0JCX0KKwlpZiAoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkgeworCQlpZiAodGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQorCQkJdHJ5X2xvY2sgPSAxOworCQlpZiAodGVzdF9iaXQoR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKQorCQkJZ290byBmYWlsOwogCX0KIAotCWlmIChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKQotCQlsaXN0X2FkZCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfd2FpdGVyczMpOwotCWVsc2UKLQkJbGlzdF9hZGRfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfd2FpdGVyczMpOworCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gyLCAmZ2wtPmdsX2hvbGRlcnMsIGdoX2xpc3QpIHsKKwkJaWYgKHVubGlrZWx5KGdoMi0+Z2hfb3duZXJfcGlkID09IGdoLT5naF9vd25lcl9waWQgJiYKKwkJICAgIChnaC0+Z2hfZ2wtPmdsX29wcy0+Z29fdHlwZSAhPSBMTV9UWVBFX0ZMT0NLKSkpCisJCQlnb3RvIHRyYXBfcmVjdXJzaXZlOworCQlpZiAodHJ5X2xvY2sgJiYKKwkJICAgICEoZ2gyLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpICYmCisJCSAgICAhbWF5X2dyYW50KGdsLCBnaCkpIHsKK2ZhaWw6CisJCQlnaC0+Z2hfZXJyb3IgPSBHTFJfVFJZRkFJTEVEOworCQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJCQlyZXR1cm47CisJCX0KKwkJaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaDItPmdoX2lmbGFncykpCisJCQljb250aW51ZTsKKwkJaWYgKHVubGlrZWx5KChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKSAmJiAhaW5zZXJ0X3B0KSkKKwkJCWluc2VydF9wdCA9ICZnaDItPmdoX2xpc3Q7CisJfQorCWlmIChsaWtlbHkoaW5zZXJ0X3B0ID09IE5VTEwpKSB7CisJCWxpc3RfYWRkX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX2hvbGRlcnMpOworCQlpZiAodW5saWtlbHkoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkpCisJCQlnb3RvIGRvX2NhbmNlbDsKKwkJcmV0dXJuOworCX0KKwlsaXN0X2FkZF90YWlsKCZnaC0+Z2hfbGlzdCwgaW5zZXJ0X3B0KTsKK2RvX2NhbmNlbDoKKwlnaCA9IGxpc3RfZW50cnkoZ2wtPmdsX2hvbGRlcnMubmV4dCwgc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKKwlpZiAoIShnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKSkgeworCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCQlpZiAoc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fY2FuY2VsKQorCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fY2FuY2VsKGdsLT5nbF9sb2NrKTsKKwkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJfQorCXJldHVybjsKKwordHJhcF9yZWN1cnNpdmU6CisJcHJpbnRfc3ltYm9sKEtFUk5fRVJSICJvcmlnaW5hbDogJXNcbiIsIGdoMi0+Z2hfaXApOworCXByaW50ayhLRVJOX0VSUiAicGlkOiAlZFxuIiwgcGlkX25yKGdoMi0+Z2hfb3duZXJfcGlkKSk7CisJcHJpbnRrKEtFUk5fRVJSICJsb2NrIHR5cGU6ICVkIHJlcSBsb2NrIHN0YXRlIDogJWRcbiIsCisJICAgICAgIGdoMi0+Z2hfZ2wtPmdsX25hbWUubG5fdHlwZSwgZ2gyLT5naF9zdGF0ZSk7CisJcHJpbnRfc3ltYm9sKEtFUk5fRVJSICJuZXc6ICVzXG4iLCBnaC0+Z2hfaXApOworCXByaW50ayhLRVJOX0VSUiAicGlkOiAlZFxuIiwgcGlkX25yKGdoLT5naF9vd25lcl9waWQpKTsKKwlwcmludGsoS0VSTl9FUlIgImxvY2sgdHlwZTogJWQgcmVxIGxvY2sgc3RhdGUgOiAlZFxuIiwKKwkgICAgICAgZ2gtPmdoX2dsLT5nbF9uYW1lLmxuX3R5cGUsIGdoLT5naF9zdGF0ZSk7CisJX19kdW1wX2dsb2NrKE5VTEwsIGdsKTsKKwlCVUcoKTsKIH0KIAogLyoqCkBAIC0xMTY1LDI0ICs5NTcsMTYgQEAKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAJaW50IGVycm9yID0gMDsKIAotcmVzdGFydDoKLQlpZiAodW5saWtlbHkodGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKSB7Ci0JCXNldF9iaXQoSElGX0FCT1JURUQsICZnaC0+Z2hfaWZsYWdzKTsKKwlpZiAodW5saWtlbHkodGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQlyZXR1cm4gLUVJTzsKLQl9CiAKIAlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKIAlhZGRfdG9fcXVldWUoZ2gpOwotCXJ1bl9xdWV1ZShnbCk7CisJcnVuX3F1ZXVlKGdsLCAxKTsKIAlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCi0JaWYgKCEoZ2gtPmdoX2ZsYWdzICYgR0xfQVNZTkMpKSB7Ci0JCWVycm9yID0gZ2xvY2tfd2FpdF9pbnRlcm5hbChnaCk7Ci0JCWlmIChlcnJvciA9PSBHTFJfQ0FOQ0VMRUQpIHsKLQkJCW1zbGVlcCgxMDApOwotCQkJZ290byByZXN0YXJ0OwotCQl9Ci0JfQorCWlmICghKGdoLT5naF9mbGFncyAmIEdMX0FTWU5DKSkKKwkJZXJyb3IgPSBnZnMyX2dsb2NrX3dhaXQoZ2gpOwogCiAJcmV0dXJuIGVycm9yOwogfQpAQCAtMTE5Niw0OCArOTgwLDcgQEAKIAogaW50IGdmczJfZ2xvY2tfcG9sbChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQlpbnQgcmVhZHkgPSAwOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0KLQlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQotCQlyZWFkeSA9IDE7Ci0JZWxzZSBpZiAobGlzdF9lbXB0eSgmZ2gtPmdoX2xpc3QpKSB7Ci0JCWlmIChnaC0+Z2hfZXJyb3IgPT0gR0xSX0NBTkNFTEVEKSB7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJbXNsZWVwKDEwMCk7Ci0JCQlpZiAoZ2ZzMl9nbG9ja19ucShnaCkpCi0JCQkJcmV0dXJuIDE7Ci0JCQlyZXR1cm4gMDsKLQkJfSBlbHNlCi0JCQlyZWFkeSA9IDE7Ci0JfQotCi0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQotCXJldHVybiByZWFkeTsKLX0KLQotLyoqCi0gKiBnZnMyX2dsb2NrX3dhaXQgLSB3YWl0IGZvciBhIGxvY2sgYWNxdWlzaXRpb24gdGhhdCBlbmRlZCBpbiBhIEdMUl9BU1lOQwotICogQGdoOiB0aGUgaG9sZGVyIHN0cnVjdHVyZQotICoKLSAqIFJldHVybnM6IDAsIEdMUl9UUllGQUlMRUQsIG9yIGVycm5vIG9uIGZhaWx1cmUKLSAqLwotCi1pbnQgZ2ZzMl9nbG9ja193YWl0KHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0JaW50IGVycm9yOwotCi0JZXJyb3IgPSBnbG9ja193YWl0X2ludGVybmFsKGdoKTsKLQlpZiAoZXJyb3IgPT0gR0xSX0NBTkNFTEVEKSB7Ci0JCW1zbGVlcCgxMDApOwotCQlnaC0+Z2hfZmxhZ3MgJj0gfkdMX0FTWU5DOwotCQllcnJvciA9IGdmczJfZ2xvY2tfbnEoZ2gpOwotCX0KLQotCXJldHVybiBlcnJvcjsKKwlyZXR1cm4gdGVzdF9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKSA/IDAgOiAxOwogfQogCiAvKioKQEAgLTEyNTEsMjYgKzk5NCwzMCBAQAogCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKIAljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7CiAJdW5zaWduZWQgZGVsYXkgPSAwOworCWludCBmYXN0X3BhdGggPSAwOwogCisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJaWYgKGdoLT5naF9mbGFncyAmIEdMX05PQ0FDSEUpCiAJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOwogCi0JZ2ZzMl9nbG11dGV4X2xvY2soZ2wpOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCi0JaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgeworCWlmIChmaW5kX2ZpcnN0X2hvbGRlcihnbCkgPT0gTlVMTCkgewogCQlpZiAoZ2xvcHMtPmdvX3VubG9jaykgeworCQkJR0xPQ0tfQlVHX09OKGdsLCB0ZXN0X2FuZF9zZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7CiAJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCQkJZ2xvcHMtPmdvX3VubG9jayhnaCk7CiAJCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwkJCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7CiAJCX0KIAkJZ2wtPmdsX3N0YW1wID0gamlmZmllczsKKwkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSAmJgorCQkgICAgIXRlc3RfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgJmdsLT5nbF9mbGFncykgJiYKKwkJICAgICF0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJCWZhc3RfcGF0aCA9IDE7CiAJfQotCi0JY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKIAlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWlmIChsaWtlbHkoZmFzdF9wYXRoKSkKKwkJcmV0dXJuOwogCiAJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKIAlpZiAodGVzdF9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSAmJgpAQCAtMTQ1NCw2ICsxMjAxLDggQEAKIHN0YXRpYyBpbnQgZ2ZzMl9sbV9ob2xkX2x2YihzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdm9pZCAqbG9jaywgY2hhciAqKmx2YnApCiB7CiAJaW50IGVycm9yID0gLUVJTzsKKwlpZiAoIXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2hvbGRfbHZiKQorCQlyZXR1cm4gMDsKIAlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCiAJCWVycm9yID0gc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1faG9sZF9sdmIobG9jaywgbHZicCk7CiAJcmV0dXJuIGVycm9yOwpAQCAtMTQ2OSwyMCArMTIxOCwxNCBAQAogewogCWludCBlcnJvcjsKIAotCWdmczJfZ2xtdXRleF9sb2NrKGdsKTsKLQogCWlmICghYXRvbWljX3JlYWQoJmdsLT5nbF9sdmJfY291bnQpKSB7CiAJCWVycm9yID0gZ2ZzMl9sbV9ob2xkX2x2YihnbC0+Z2xfc2JkLCBnbC0+Z2xfbG9jaywgJmdsLT5nbF9sdmIpOwotCQlpZiAoZXJyb3IpIHsKLQkJCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOworCQlpZiAoZXJyb3IpIAogCQkJcmV0dXJuIGVycm9yOwotCQl9CiAJCWdmczJfZ2xvY2tfaG9sZChnbCk7CiAJfQogCWF0b21pY19pbmMoJmdsLT5nbF9sdmJfY291bnQpOwogCi0JZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7Ci0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTQ5NywxNyArMTI0MCwxMyBAQAogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKIAogCWdmczJfZ2xvY2tfaG9sZChnbCk7Ci0JZ2ZzMl9nbG11dGV4X2xvY2soZ2wpOwotCiAJZ2ZzMl9hc3NlcnQoZ2wtPmdsX3NiZCwgYXRvbWljX3JlYWQoJmdsLT5nbF9sdmJfY291bnQpID4gMCk7CiAJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmdsLT5nbF9sdmJfY291bnQpKSB7Ci0JCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKKwkJaWYgKHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3VuaG9sZF9sdmIpCiAJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV91bmhvbGRfbHZiKGdsLT5nbF9sb2NrLCBnbC0+Z2xfbHZiKTsKIAkJZ2wtPmdsX2x2YiA9IE5VTEw7CiAJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIAl9Ci0KLQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKIAlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CiAKQEAgLTE1MjcsNyArMTI2Niw5IEBACiAJaWYgKHRpbWVfYmVmb3JlKG5vdywgaG9sZHRpbWUpKQogCQlkZWxheSA9IGhvbGR0aW1lIC0gbm93OwogCisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJaGFuZGxlX2NhbGxiYWNrKGdsLCBzdGF0ZSwgMSwgZGVsYXkpOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJaWYgKHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgZGVsYXkpID09IDApCiAJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIH0KQEAgLTE1NjgsNyArMTMwOSw4IEBACiAJCWdsID0gZ2ZzMl9nbG9ja19maW5kKHNkcCwgJmFzeW5jLT5sY19uYW1lKTsKIAkJaWYgKGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBnbCkpCiAJCQlyZXR1cm47Ci0JCXhtb3RlX2JoKGdsLCBhc3luYy0+bGNfcmV0KTsKKwkJZ2wtPmdsX3JlcGx5ID0gYXN5bmMtPmxjX3JldDsKKwkJc2V0X2JpdChHTEZfUkVQTFlfUEVORElORywgJmdsLT5nbF9mbGFncyk7CiAJCWlmIChxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIDApID09IDApCiAJCQlnZnMyX2dsb2NrX3B1dChnbCk7CiAJCXVwX3JlYWQoJmdmczJfdW1vdW50X2ZsdXNoX3NlbSk7CkBAIC0xNTgxLDExICsxMzIzLDYgQEAKIAkJCXdha2VfdXBfcHJvY2VzcyhzZHAtPnNkX3JlY292ZXJkX3Byb2Nlc3MpOwogCQlyZXR1cm47CiAKLQljYXNlIExNX0NCX0RST1BMT0NLUzoKLQkJZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCwgTk9fV0FJVCk7Ci0JCWdmczJfcXVvdGFfc2NhbihzZHApOwotCQlyZXR1cm47Ci0KIAlkZWZhdWx0OgogCQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgMCk7CiAJCXJldHVybjsKQEAgLTE2NDYsNiArMTM4Myw3IEBACiB2b2lkIGdmczJfcmVjbGFpbV9nbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKIHsKIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2w7CisJaW50IGRvbmVfY2FsbGJhY2sgPSAwOwogCiAJc3Bpbl9sb2NrKCZzZHAtPnNkX3JlY2xhaW1fbG9jayk7CiAJaWYgKGxpc3RfZW1wdHkoJnNkcC0+c2RfcmVjbGFpbV9saXN0KSkgewpAQCAtMTY2MCwxNCArMTM5OCwxNiBAQAogCWF0b21pY19kZWMoJnNkcC0+c2RfcmVjbGFpbV9jb3VudCk7CiAJYXRvbWljX2luYygmc2RwLT5zZF9yZWNsYWltZWQpOwogCi0JaWYgKGdmczJfZ2xtdXRleF90cnlsb2NrKGdsKSkgewotCQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpICYmCi0JCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZGVtb3RlX29rKGdsKSkKLQkJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOwotCQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpID09IE5VTEwgJiYKKwkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGRlbW90ZV9vayhnbCkpIHsKKwkJaGFuZGxlX2NhbGxiYWNrKGdsLCBMTV9TVF9VTkxPQ0tFRCwgMCwgMCk7CisJCWRvbmVfY2FsbGJhY2sgPSAxOwogCX0KLQotCWdmczJfZ2xvY2tfcHV0KGdsKTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWlmICghZG9uZV9jYWxsYmFjayB8fAorCSAgICBxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIDApID09IDApCisJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIH0KIAogLyoqCkBAIC0xNzI0LDE4ICsxNDY0LDE0IEBACiB7CiAJaWYgKGdsLT5nbF9vcHMgPT0gJmdmczJfaW5vZGVfZ2xvcHMgJiYgZ2wtPmdsX29iamVjdCkKIAkJcmV0dXJuOworCWlmICh0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpCisJCXJldHVybjsKIAotCWlmIChnZnMyX2dsbXV0ZXhfdHJ5bG9jayhnbCkpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSAmJgotCQkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGRlbW90ZV9vayhnbCkpCi0JCQlnb3RvIG91dF9zY2hlZHVsZTsKLQkJZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7Ci0JfQotCXJldHVybjsKLQotb3V0X3NjaGVkdWxlOgotCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwotCWdmczJfZ2xvY2tfc2NoZWR1bGVfZm9yX3JlY2xhaW0oZ2wpOworCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCWlmIChmaW5kX2ZpcnN0X2hvbGRlcihnbCkgPT0gTlVMTCAmJgorCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZGVtb3RlX29rKGdsKSkKKwkJZ2ZzMl9nbG9ja19zY2hlZHVsZV9mb3JfcmVjbGFpbShnbCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIH0KIAogLyoqCkBAIC0xNzYwLDEyICsxNDk2LDEzIEBACiAJCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JlY2xhaW1fbG9jayk7CiAJfQogCi0JaWYgKGdmczJfZ2xtdXRleF90cnlsb2NrKGdsKSkgewotCQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpICYmCi0JCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpCi0JCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKLQkJZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7Ci0JfQorCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCWlmIChmaW5kX2ZpcnN0X2hvbGRlcihnbCkgPT0gTlVMTCAmJiBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpCisJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKKwlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQorCQlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CiAKIC8qKgpAQCAtMTc3MywxMSArMTUxMCwxMCBAQAogICogQHNkcDogdGhlIGZpbGVzeXN0ZW0KICAqIEB3YWl0OiB3YWl0IHVudGlsIGl0J3MgYWxsIGdvbmUKICAqCi0gKiBDYWxsZWQgd2hlbiB1bm1vdW50aW5nIHRoZSBmaWxlc3lzdGVtLCBvciB3aGVuIGludGVyLW5vZGUgbG9jayBtYW5hZ2VyCi0gKiByZXF1ZXN0cyBEUk9QTE9DS1MgYmVjYXVzZSBpdCBpcyBydW5uaW5nIG91dCBvZiBjYXBhY2l0eS4KKyAqIENhbGxlZCB3aGVuIHVubW91bnRpbmcgdGhlIGZpbGVzeXN0ZW0uCiAgKi8KIAotdm9pZCBnZnMyX2dsX2hhc2hfY2xlYXIoc3RydWN0IGdmczJfc2JkICpzZHAsIGludCB3YWl0KQordm9pZCBnZnMyX2dsX2hhc2hfY2xlYXIoc3RydWN0IGdmczJfc2JkICpzZHApCiB7CiAJdW5zaWduZWQgbG9uZyB0OwogCXVuc2lnbmVkIGludCB4OwpAQCAtMTc5Miw3ICsxNTI4LDcgQEAKIAkJCQljb250ID0gMTsKIAkJfQogCi0JCWlmICghd2FpdCB8fCAhY29udCkKKwkJaWYgKCFjb250KQogCQkJYnJlYWs7CiAKIAkJaWYgKHRpbWVfYWZ0ZXJfZXEoamlmZmllcywKQEAgLTE4MTAsMTgwICsxNTQ2LDE2NCBAQAogCX0KIH0KIAotLyoKLSAqICBEaWFnbm9zdGljIHJvdXRpbmVzIHRvIGhlbHAgZGVidWcgZGlzdHJpYnV0ZWQgZGVhZGxvY2sKLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX3ByaW50X3N5bWJvbChzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIGNvbnN0IGNoYXIgKmZtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3N0YXRpYyBjb25zdCBjaGFyICpzdGF0ZTJzdHIodW5zaWduZWQgc3RhdGUpCiB7Ci0JY2hhciBidWZmZXJbS1NZTV9TWU1CT0xfTEVOXTsKKwlzd2l0Y2goc3RhdGUpIHsKKwljYXNlIExNX1NUX1VOTE9DS0VEOgorCQlyZXR1cm4gIlVOIjsKKwljYXNlIExNX1NUX1NIQVJFRDoKKwkJcmV0dXJuICJTSCI7CisJY2FzZSBMTV9TVF9ERUZFUlJFRDoKKwkJcmV0dXJuICJERiI7CisJY2FzZSBMTV9TVF9FWENMVVNJVkU6CisJCXJldHVybiAiRVgiOworCX0KKwlyZXR1cm4gIj8/IjsKK30KIAotCXNwcmludF9zeW1ib2woYnVmZmVyLCBhZGRyZXNzKTsKLQlwcmludF9kYmcoZ2ksIGZtdCwgYnVmZmVyKTsKK3N0YXRpYyBjb25zdCBjaGFyICpoZmxhZ3Myc3RyKGNoYXIgKmJ1ZiwgdW5zaWduZWQgZmxhZ3MsIHVuc2lnbmVkIGxvbmcgaWZsYWdzKQoreworCWNoYXIgKnAgPSBidWY7CisJaWYgKGZsYWdzICYgTE1fRkxBR19UUlkpCisJCSpwKysgPSAndCc7CisJaWYgKGZsYWdzICYgTE1fRkxBR19UUllfMUNCKQorCQkqcCsrID0gJ1QnOworCWlmIChmbGFncyAmIExNX0ZMQUdfTk9FWFApCisJCSpwKysgPSAnZSc7CisJaWYgKGZsYWdzICYgTE1fRkxBR19BTlkpCisJCSpwKysgPSAnYSc7CisJaWYgKGZsYWdzICYgTE1fRkxBR19QUklPUklUWSkKKwkJKnArKyA9ICdwJzsKKwlpZiAoZmxhZ3MgJiBHTF9BU1lOQykKKwkJKnArKyA9ICdhJzsKKwlpZiAoZmxhZ3MgJiBHTF9FWEFDVCkKKwkJKnArKyA9ICdFJzsKKwlpZiAoZmxhZ3MgJiBHTF9BVElNRSkKKwkJKnArKyA9ICdhJzsKKwlpZiAoZmxhZ3MgJiBHTF9OT0NBQ0hFKQorCQkqcCsrID0gJ2MnOworCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmaWZsYWdzKSkKKwkJKnArKyA9ICdIJzsKKwlpZiAodGVzdF9iaXQoSElGX1dBSVQsICZpZmxhZ3MpKQorCQkqcCsrID0gJ1cnOworCWlmICh0ZXN0X2JpdChISUZfRklSU1QsICZpZmxhZ3MpKQorCQkqcCsrID0gJ0YnOworCSpwID0gMDsKKwlyZXR1cm4gYnVmOwogfQogCiAvKioKICAqIGR1bXBfaG9sZGVyIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBnbG9jayBob2xkZXIKLSAqIEBzdHI6IGEgc3RyaW5nIG5hbWluZyB0aGUgdHlwZSBvZiBob2xkZXIKKyAqIEBzZXE6IHRoZSBzZXFfZmlsZSBzdHJ1Y3QKICAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgogICoKICAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLUVOT0JVRlMgd2hlbiB3ZSBydW4gb3V0IG9mIHNwYWNlCiAgKi8KIAotc3RhdGljIGludCBkdW1wX2hvbGRlcihzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIGNoYXIgKnN0ciwKLQkJICAgICAgIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCitzdGF0aWMgaW50IGR1bXBfaG9sZGVyKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewotCXVuc2lnbmVkIGludCB4OwotCXN0cnVjdCB0YXNrX3N0cnVjdCAqZ2hfb3duZXI7CisJc3RydWN0IHRhc2tfc3RydWN0ICpnaF9vd25lciA9IE5VTEw7CisJY2hhciBidWZmZXJbS1NZTV9TWU1CT0xfTEVOXTsKKwljaGFyIGZsYWdzX2J1ZlszMl07CiAKLQlwcmludF9kYmcoZ2ksICIgICVzXG4iLCBzdHIpOwotCWlmIChnaC0+Z2hfb3duZXJfcGlkKSB7Ci0JCXByaW50X2RiZyhnaSwgIiAgICBvd25lciA9ICVsZCAiLAotCQkJCShsb25nKXBpZF9ucihnaC0+Z2hfb3duZXJfcGlkKSk7CisJc3ByaW50X3N5bWJvbChidWZmZXIsIGdoLT5naF9pcCk7CisJaWYgKGdoLT5naF9vd25lcl9waWQpCiAJCWdoX293bmVyID0gcGlkX3Rhc2soZ2gtPmdoX293bmVyX3BpZCwgUElEVFlQRV9QSUQpOwotCQlpZiAoZ2hfb3duZXIpCi0JCQlwcmludF9kYmcoZ2ksICIoJXMpXG4iLCBnaF9vd25lci0+Y29tbSk7Ci0JCWVsc2UKLQkJCXByaW50X2RiZyhnaSwgIihlbmRlZClcbiIpOwotCX0gZWxzZQotCQlwcmludF9kYmcoZ2ksICIgICAgb3duZXIgPSAtMVxuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGdoX3N0YXRlID0gJXVcbiIsIGdoLT5naF9zdGF0ZSk7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGdoX2ZsYWdzID0iKTsKLQlmb3IgKHggPSAwOyB4IDwgMzI7IHgrKykKLQkJaWYgKGdoLT5naF9mbGFncyAmICgxIDw8IHgpKQotCQkJcHJpbnRfZGJnKGdpLCAiICV1IiwgeCk7Ci0JcHJpbnRfZGJnKGdpLCAiIFxuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGVycm9yID0gJWRcbiIsIGdoLT5naF9lcnJvcik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGdoX2lmbGFncyA9Iik7Ci0JZm9yICh4ID0gMDsgeCA8IDMyOyB4KyspCi0JCWlmICh0ZXN0X2JpdCh4LCAmZ2gtPmdoX2lmbGFncykpCi0JCQlwcmludF9kYmcoZ2ksICIgJXUiLCB4KTsKLQlwcmludF9kYmcoZ2ksICIgXG4iKTsKLSAgICAgICAgZ2ZzMl9wcmludF9zeW1ib2woZ2ksICIgICAgaW5pdGlhbGl6ZWQgYXQ6ICVzXG4iLCBnaC0+Z2hfaXApOwotCisJZ2ZzMl9wcmludF9kYmcoc2VxLCAiIEg6IHM6JXMgZjolcyBlOiVkIHA6JWxkIFslc10gJXNcbiIsCisJCSAgc3RhdGUyc3RyKGdoLT5naF9zdGF0ZSksCisJCSAgaGZsYWdzMnN0cihmbGFnc19idWYsIGdoLT5naF9mbGFncywgZ2gtPmdoX2lmbGFncyksCisJCSAgZ2gtPmdoX2Vycm9yLCAKKwkJICBnaC0+Z2hfb3duZXJfcGlkID8gKGxvbmcpcGlkX25yKGdoLT5naF9vd25lcl9waWQpIDogLTEsCisJCSAgZ2hfb3duZXIgPyBnaF9vd25lci0+Y29tbSA6ICIoZW5kZWQpIiwgYnVmZmVyKTsKIAlyZXR1cm4gMDsKIH0KIAotLyoqCi0gKiBkdW1wX2lub2RlIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYW4gaW5vZGUKLSAqIEBpcDogdGhlIGlub2RlCi0gKgotICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRU5PQlVGUyB3aGVuIHdlIHJ1biBvdXQgb2Ygc3BhY2UKLSAqLwotCi1zdGF0aWMgaW50IGR1bXBfaW5vZGUoc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXApCitzdGF0aWMgY29uc3QgY2hhciAqZ2ZsYWdzMnN0cihjaGFyICpidWYsIGNvbnN0IHVuc2lnbmVkIGxvbmcgKmdmbGFncykKIHsKLQl1bnNpZ25lZCBpbnQgeDsKLQotCXByaW50X2RiZyhnaSwgIiAgSW5vZGU6XG4iKTsKLQlwcmludF9kYmcoZ2ksICIgICAgbnVtID0gJWxsdS8lbGx1XG4iLAotCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpaXAtPmlfbm9fZm9ybWFsX2lubywKLQkJICAodW5zaWduZWQgbG9uZyBsb25nKWlwLT5pX25vX2FkZHIpOwotCXByaW50X2RiZyhnaSwgIiAgICB0eXBlID0gJXVcbiIsIElGMkRUKGlwLT5pX2lub2RlLmlfbW9kZSkpOwotCXByaW50X2RiZyhnaSwgIiAgICBpX2ZsYWdzID0iKTsKLQlmb3IgKHggPSAwOyB4IDwgMzI7IHgrKykKLQkJaWYgKHRlc3RfYml0KHgsICZpcC0+aV9mbGFncykpCi0JCQlwcmludF9kYmcoZ2ksICIgJXUiLCB4KTsKLQlwcmludF9kYmcoZ2ksICIgXG4iKTsKLQlyZXR1cm4gMDsKKwljaGFyICpwID0gYnVmOworCWlmICh0ZXN0X2JpdChHTEZfTE9DSywgZ2ZsYWdzKSkKKwkJKnArKyA9ICdsJzsKKwlpZiAodGVzdF9iaXQoR0xGX1NUSUNLWSwgZ2ZsYWdzKSkKKwkJKnArKyA9ICdzJzsKKwlpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgZ2ZsYWdzKSkKKwkJKnArKyA9ICdEJzsKKwlpZiAodGVzdF9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCBnZmxhZ3MpKQorCQkqcCsrID0gJ2QnOworCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCBnZmxhZ3MpKQorCQkqcCsrID0gJ3AnOworCWlmICh0ZXN0X2JpdChHTEZfRElSVFksIGdmbGFncykpCisJCSpwKysgPSAneSc7CisJaWYgKHRlc3RfYml0KEdMRl9MRkxVU0gsIGdmbGFncykpCisJCSpwKysgPSAnZic7CisJaWYgKHRlc3RfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCBnZmxhZ3MpKQorCQkqcCsrID0gJ2knOworCWlmICh0ZXN0X2JpdChHTEZfUkVQTFlfUEVORElORywgZ2ZsYWdzKSkKKwkJKnArKyA9ICdyJzsKKwkqcCA9IDA7CisJcmV0dXJuIGJ1ZjsKIH0KIAogLyoqCi0gKiBkdW1wX2dsb2NrIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBnbG9jaworICogX19kdW1wX2dsb2NrIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBnbG9jaworICogQHNlcTogVGhlIHNlcV9maWxlIHN0cnVjdAogICogQGdsOiB0aGUgZ2xvY2sKLSAqIEBjb3VudDogd2hlcmUgd2UgYXJlIGluIHRoZSBidWZmZXIKKyAqCisgKiBUaGUgZmlsZSBmb3JtYXQgaXMgYXMgZm9sbG93czoKKyAqIE9uZSBsaW5lIHBlciBvYmplY3QsIGNhcGl0YWwgbGV0dGVycyBhcmUgdXNlZCB0byBpbmRpY2F0ZSBvYmplY3RzCisgKiBHID0gZ2xvY2ssIEkgPSBJbm9kZSwgUiA9IHJncnAsIEggPSBob2xkZXIuIEdsb2NrcyBhcmUgbm90IGluZGVudGVkLAorICogb3RoZXIgb2JqZWN0cyBhcmUgaW5kZW50ZWQgYnkgYSBzaW5nbGUgc3BhY2UgYW5kIGZvbGxvdyB0aGUgZ2xvY2sgdG8KKyAqIHdoaWNoIHRoZXkgYXJlIHJlbGF0ZWQuIEZpZWxkcyBhcmUgaW5kaWNhdGVkIGJ5IGxvd2VyIGNhc2UgbGV0dGVycworICogZm9sbG93ZWQgYnkgYSBjb2xvbiBhbmQgdGhlIGZpZWxkIHZhbHVlLCBleGNlcHQgZm9yIHN0cmluZ3Mgd2hpY2ggYXJlIGluCisgKiBbXSBzbyB0aGF0IGl0cyBwb3NzaWJsZSB0byBzZWUgaWYgdGhleSBhcmUgY29tcG9zZWQgb2Ygc3BhY2VzIGZvcgorICogZXhhbXBsZS4gVGhlIGZpZWxkJ3MgYXJlIG4gPSBudW1iZXIgKGlkIG9mIHRoZSBvYmplY3QpLCBmID0gZmxhZ3MsCisgKiB0ID0gdHlwZSwgcyA9IHN0YXRlLCByID0gcmVmY291bnQsIGUgPSBlcnJvciwgcCA9IHBpZC4KICAqCiAgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FTk9CVUZTIHdoZW4gd2UgcnVuIG91dCBvZiBzcGFjZQogICovCiAKLXN0YXRpYyBpbnQgZHVtcF9nbG9jayhzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3N0YXRpYyBpbnQgX19kdW1wX2dsb2NrKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCiB7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaDsKLQl1bnNpZ25lZCBpbnQgeDsKLQlpbnQgZXJyb3IgPSAtRU5PQlVGUzsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdsX293bmVyOworCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKKwl1bnNpZ25lZCBsb25nIGxvbmcgZHRpbWU7CisJY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyICpnaDsKKwljaGFyIGdmbGFnc19idWZbMzJdOworCWludCBlcnJvciA9IDA7CiAKLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlkdGltZSA9IGppZmZpZXMgLSBnbC0+Z2xfZGVtb3RlX3RpbWU7CisJZHRpbWUgKj0gMTAwMDAwMC9IWjsgLyogZGVtb3RlIHRpbWUgaW4gdVNlYyAqLworCWlmICghdGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpCisJCWR0aW1lID0gMDsKKwlnZnMyX3ByaW50X2RiZyhzZXEsICJHOiAgczolcyBuOiV1LyVsbHUgZjolcyB0OiVzIGQ6JXMvJWxsdSBsOiVkIGE6JWQgcjolZFxuIiwKKwkJICBzdGF0ZTJzdHIoZ2wtPmdsX3N0YXRlKSwKKwkJICBnbC0+Z2xfbmFtZS5sbl90eXBlLAorCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpZ2wtPmdsX25hbWUubG5fbnVtYmVyLAorCQkgIGdmbGFnczJzdHIoZ2ZsYWdzX2J1ZiwgJmdsLT5nbF9mbGFncyksCisJCSAgc3RhdGUyc3RyKGdsLT5nbF90YXJnZXQpLAorCQkgIHN0YXRlMnN0cihnbC0+Z2xfZGVtb3RlX3N0YXRlKSwgZHRpbWUsCisJCSAgYXRvbWljX3JlYWQoJmdsLT5nbF9sdmJfY291bnQpLAorCQkgIGF0b21pY19yZWFkKCZnbC0+Z2xfYWlsX2NvdW50KSwKKwkJICBhdG9taWNfcmVhZCgmZ2wtPmdsX3JlZikpOwogCi0JcHJpbnRfZGJnKGdpLCAiR2xvY2sgMHglcCAoJXUsIDB4JWxseClcbiIsIGdsLCBnbC0+Z2xfbmFtZS5sbl90eXBlLAotCQkgICAodW5zaWduZWQgbG9uZyBsb25nKWdsLT5nbF9uYW1lLmxuX251bWJlcik7Ci0JcHJpbnRfZGJnKGdpLCAiICBnbF9mbGFncyA9Iik7Ci0JZm9yICh4ID0gMDsgeCA8IDMyOyB4KyspIHsKLQkJaWYgKHRlc3RfYml0KHgsICZnbC0+Z2xfZmxhZ3MpKQotCQkJcHJpbnRfZGJnKGdpLCAiICV1IiwgeCk7Ci0JfQotCWlmICghdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQotCQlwcmludF9kYmcoZ2ksICIgKHVubG9ja2VkKSIpOwotCXByaW50X2RiZyhnaSwgIiBcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgZ2xfcmVmID0gJWRcbiIsIGF0b21pY19yZWFkKCZnbC0+Z2xfcmVmKSk7Ci0JcHJpbnRfZGJnKGdpLCAiICBnbF9zdGF0ZSA9ICV1XG4iLCBnbC0+Z2xfc3RhdGUpOwotCWlmIChnbC0+Z2xfb3duZXJfcGlkKSB7Ci0JCWdsX293bmVyID0gcGlkX3Rhc2soZ2wtPmdsX293bmVyX3BpZCwgUElEVFlQRV9QSUQpOwotCQlpZiAoZ2xfb3duZXIpCi0JCQlwcmludF9kYmcoZ2ksICIgIGdsX293bmVyID0gcGlkICVkICglcylcbiIsCi0JCQkJICBwaWRfbnIoZ2wtPmdsX293bmVyX3BpZCksIGdsX293bmVyLT5jb21tKTsKLQkJZWxzZQotCQkJcHJpbnRfZGJnKGdpLCAiICBnbF9vd25lciA9ICVkIChlbmRlZClcbiIsCi0JCQkJICBwaWRfbnIoZ2wtPmdsX293bmVyX3BpZCkpOwotCX0gZWxzZQotCQlwcmludF9kYmcoZ2ksICIgIGdsX293bmVyID0gLTFcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgZ2xfaXAgPSAlbHVcbiIsIGdsLT5nbF9pcCk7Ci0JcHJpbnRfZGJnKGdpLCAiICByZXFfZ2ggPSAlc1xuIiwgKGdsLT5nbF9yZXFfZ2gpID8gInllcyIgOiAibm8iKTsKLQlwcmludF9kYmcoZ2ksICIgIGx2Yl9jb3VudCA9ICVkXG4iLCBhdG9taWNfcmVhZCgmZ2wtPmdsX2x2Yl9jb3VudCkpOwotCXByaW50X2RiZyhnaSwgIiAgb2JqZWN0ID0gJXNcbiIsIChnbC0+Z2xfb2JqZWN0KSA/ICJ5ZXMiIDogIm5vIik7Ci0JcHJpbnRfZGJnKGdpLCAiICByZWNsYWltID0gJXNcbiIsCi0JCSAgIChsaXN0X2VtcHR5KCZnbC0+Z2xfcmVjbGFpbSkpID8gIm5vIiA6ICJ5ZXMiKTsKLQlpZiAoZ2wtPmdsX2FzcGFjZSkKLQkJcHJpbnRfZGJnKGdpLCAiICBhc3BhY2UgPSAweCVwIG5ycGFnZXMgPSAlbHVcbiIsIGdsLT5nbF9hc3BhY2UsCi0JCQkgICBnbC0+Z2xfYXNwYWNlLT5pX21hcHBpbmctPm5ycGFnZXMpOwotCWVsc2UKLQkJcHJpbnRfZGJnKGdpLCAiICBhc3BhY2UgPSBub1xuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICBhaWwgPSAlZFxuIiwgYXRvbWljX3JlYWQoJmdsLT5nbF9haWxfY291bnQpKTsKLQlpZiAoZ2wtPmdsX3JlcV9naCkgewotCQllcnJvciA9IGR1bXBfaG9sZGVyKGdpLCAiUmVxdWVzdCIsIGdsLT5nbF9yZXFfZ2gpOwotCQlpZiAoZXJyb3IpCi0JCQlnb3RvIG91dDsKLQl9CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7Ci0JCWVycm9yID0gZHVtcF9ob2xkZXIoZ2ksICJIb2xkZXIiLCBnaCk7CisJCWVycm9yID0gZHVtcF9ob2xkZXIoc2VxLCBnaCk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0OwogCX0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoLCAmZ2wtPmdsX3dhaXRlcnMxLCBnaF9saXN0KSB7Ci0JCWVycm9yID0gZHVtcF9ob2xkZXIoZ2ksICJXYWl0ZXIxIiwgZ2gpOwotCQlpZiAoZXJyb3IpCi0JCQlnb3RvIG91dDsKLQl9Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF93YWl0ZXJzMywgZ2hfbGlzdCkgewotCQllcnJvciA9IGR1bXBfaG9sZGVyKGdpLCAiV2FpdGVyMyIsIGdoKTsKLQkJaWYgKGVycm9yKQotCQkJZ290byBvdXQ7Ci0JfQotCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQlwcmludF9kYmcoZ2ksICIgIERlbW90aW9uIHJlcSB0byBzdGF0ZSAldSAoJWxsdSB1UyBhZ28pXG4iLAotCQkJICBnbC0+Z2xfZGVtb3RlX3N0YXRlLCAodW5zaWduZWQgbG9uZyBsb25nKQotCQkJICAoamlmZmllcyAtIGdsLT5nbF9kZW1vdGVfdGltZSkqKDEwMDAwMDAvSFopKTsKLQl9Ci0JaWYgKGdsLT5nbF9vcHMgPT0gJmdmczJfaW5vZGVfZ2xvcHMgJiYgZ2wtPmdsX29iamVjdCkgewotCQlpZiAoIXRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSAmJgotCQkJbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKSB7Ci0JCQllcnJvciA9IGR1bXBfaW5vZGUoZ2ksIGdsLT5nbF9vYmplY3QpOwotCQkJaWYgKGVycm9yKQotCQkJCWdvdG8gb3V0OwotCQl9IGVsc2UgewotCQkJZXJyb3IgPSAtRU5PQlVGUzsKLQkJCXByaW50X2RiZyhnaSwgIiAgSW5vZGU6IGJ1c3lcbiIpOwotCQl9Ci0JfQotCi0JZXJyb3IgPSAwOwotCisJaWYgKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBnbG9wcy0+Z29fZHVtcCkKKwkJZXJyb3IgPSBnbG9wcy0+Z29fZHVtcChzZXEsIGdsKTsKIG91dDoKLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCXJldHVybiBlcnJvcjsKIH0KIAorc3RhdGljIGludCBkdW1wX2dsb2NrKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJaW50IHJldDsKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlyZXQgPSBfX2R1bXBfZ2xvY2soc2VxLCBnbCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlyZXR1cm4gcmV0OworfQorCiAvKioKICAqIGdmczJfZHVtcF9sb2Nrc3RhdGUgLSBwcmludCBvdXQgdGhlIGN1cnJlbnQgbG9ja3N0YXRlCiAgKiBAc2RwOiB0aGUgZmlsZXN5c3RlbQpAQCAtMjA4Niw3ICsxODA2LDcgQEAKIG1vZHVsZV9wYXJhbShzY2FuZF9zZWNzLCB1aW50LCBTX0lSVUdPfFNfSVdVU1IpOwogTU9EVUxFX1BBUk1fREVTQyhzY2FuZF9zZWNzLCAiVGhlIG51bWJlciBvZiBzZWNvbmRzIGJldHdlZW4gc2NhbmQgcnVucyIpOwogCi1zdGF0aWMgaW50IGdmczJfZ2xvY2tfaXRlcl9uZXh0KHN0cnVjdCBnbG9ja19pdGVyICpnaSkKK3N0YXRpYyBpbnQgZ2ZzMl9nbG9ja19pdGVyX25leHQoc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kpCiB7CiAJc3RydWN0IGdmczJfZ2xvY2sgKmdsOwogCkBAIC0yMTA0LDcgKzE4MjQsNyBAQAogCQlnZnMyX2dsb2NrX3B1dChnbCk7CiAJaWYgKGdsICYmIGdpLT5nbCA9PSBOVUxMKQogCQlnaS0+aGFzaCsrOwotCXdoaWxlKGdpLT5nbCA9PSBOVUxMKSB7CisJd2hpbGUgKGdpLT5nbCA9PSBOVUxMKSB7CiAJCWlmIChnaS0+aGFzaCA+PSBHRlMyX0dMX0hBU0hfU0laRSkKIAkJCXJldHVybiAxOwogCQlyZWFkX2xvY2soZ2xfbG9ja19hZGRyKGdpLT5oYXNoKSk7CkBAIC0yMTIyLDU4ICsxODQyLDM0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfaXRlcl9mcmVlKHN0cnVjdCBnbG9ja19pdGVyICpnaSkKK3N0YXRpYyB2b2lkIGdmczJfZ2xvY2tfaXRlcl9mcmVlKHN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpKQogewogCWlmIChnaS0+Z2wpCiAJCWdmczJfZ2xvY2tfcHV0KGdpLT5nbCk7Ci0Ja2ZyZWUoZ2kpOwotfQotCi1zdGF0aWMgc3RydWN0IGdsb2NrX2l0ZXIgKmdmczJfZ2xvY2tfaXRlcl9pbml0KHN0cnVjdCBnZnMyX3NiZCAqc2RwKQotewotCXN0cnVjdCBnbG9ja19pdGVyICpnaTsKLQotCWdpID0ga21hbGxvYyhzaXplb2YgKCpnaSksIEdGUF9LRVJORUwpOwotCWlmICghZ2kpCi0JCXJldHVybiBOVUxMOwotCi0JZ2ktPnNkcCA9IHNkcDsKLQlnaS0+aGFzaCA9IDA7Ci0JZ2ktPnNlcSA9IE5VTEw7CiAJZ2ktPmdsID0gTlVMTDsKLQltZW1zZXQoZ2ktPnN0cmluZywgMCwgc2l6ZW9mKGdpLT5zdHJpbmcpKTsKLQotCWlmIChnZnMyX2dsb2NrX2l0ZXJfbmV4dChnaSkpIHsKLQkJZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoZ2kpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0KLQlyZXR1cm4gZ2k7CiB9CiAKLXN0YXRpYyB2b2lkICpnZnMyX2dsb2NrX3NlcV9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIGxvZmZfdCAqcG9zKQorc3RhdGljIHZvaWQgKmdmczJfZ2xvY2tfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBsb2ZmX3QgKnBvcykKIHsKLQlzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2k7CisJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CiAJbG9mZl90IG4gPSAqcG9zOwogCi0JZ2kgPSBnZnMyX2dsb2NrX2l0ZXJfaW5pdChmaWxlLT5wcml2YXRlKTsKLQlpZiAoIWdpKQotCQlyZXR1cm4gTlVMTDsKKwlnaS0+aGFzaCA9IDA7CiAKLQl3aGlsZShuLS0pIHsKKwlkbyB7CiAJCWlmIChnZnMyX2dsb2NrX2l0ZXJfbmV4dChnaSkpIHsKIAkJCWdmczJfZ2xvY2tfaXRlcl9mcmVlKGdpKTsKIAkJCXJldHVybiBOVUxMOwogCQl9Ci0JfQorCX0gd2hpbGUgKG4tLSk7CiAKLQlyZXR1cm4gZ2k7CisJcmV0dXJuIGdpLT5nbDsKIH0KIAotc3RhdGljIHZvaWQgKmdmczJfZ2xvY2tfc2VxX25leHQoc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICppdGVyX3B0ciwKK3N0YXRpYyB2b2lkICpnZnMyX2dsb2NrX3NlcV9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCB2b2lkICppdGVyX3B0ciwKIAkJCQkgbG9mZl90ICpwb3MpCiB7Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpID0gaXRlcl9wdHI7CisJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CiAKIAkoKnBvcykrKzsKIApAQCAtMjE4MiwyNCArMTg3OCwxOCBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlyZXR1cm4gZ2k7CisJcmV0dXJuIGdpLT5nbDsKIH0KIAotc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19zZXFfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKml0ZXJfcHRyKQorc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19zZXFfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqaXRlcl9wdHIpCiB7Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpID0gaXRlcl9wdHI7Ci0JaWYgKGdpKQotCQlnZnMyX2dsb2NrX2l0ZXJfZnJlZShnaSk7CisJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CisJZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoZ2kpOwogfQogCi1zdGF0aWMgaW50IGdmczJfZ2xvY2tfc2VxX3Nob3coc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICppdGVyX3B0cikKK3N0YXRpYyBpbnQgZ2ZzMl9nbG9ja19zZXFfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqaXRlcl9wdHIpCiB7Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpID0gaXRlcl9wdHI7Ci0KLQlnaS0+c2VxID0gZmlsZTsKLQlkdW1wX2dsb2NrKGdpLCBnaS0+Z2wpOwotCi0JcmV0dXJuIDA7CisJcmV0dXJuIGR1bXBfZ2xvY2soc2VxLCBpdGVyX3B0cik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgZ2ZzMl9nbG9ja19zZXFfb3BzID0gewpAQCAtMjIxMSwxNyArMTkwMSwxNCBAQAogCiBzdGF0aWMgaW50IGdmczJfZGVidWdmc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXN0cnVjdCBzZXFfZmlsZSAqc2VxOwotCWludCByZXQ7Ci0KLQlyZXQgPSBzZXFfb3BlbihmaWxlLCAmZ2ZzMl9nbG9ja19zZXFfb3BzKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0Jc2VxID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwotCXNlcS0+cHJpdmF0ZSA9IGlub2RlLT5pX3ByaXZhdGU7Ci0KLQlyZXR1cm4gMDsKKwlpbnQgcmV0ID0gc2VxX29wZW5fcHJpdmF0ZShmaWxlLCAmZ2ZzMl9nbG9ja19zZXFfb3BzLAorCQkJCSAgIHNpemVvZihzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyKSk7CisJaWYgKHJldCA9PSAwKSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqc2VxID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCQlzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSA9IHNlcS0+cHJpdmF0ZTsKKwkJZ2ktPnNkcCA9IGlub2RlLT5pX3ByaXZhdGU7CisJfQorCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGdmczJfZGVidWdfZm9wcyA9IHsKQEAgLTIyMjksNyArMTkxNiw3IEBACiAJLm9wZW4gICAgPSBnZnMyX2RlYnVnZnNfb3BlbiwKIAkucmVhZCAgICA9IHNlcV9yZWFkLAogCS5sbHNlZWsgID0gc2VxX2xzZWVrLAotCS5yZWxlYXNlID0gc2VxX3JlbGVhc2UKKwkucmVsZWFzZSA9IHNlcV9yZWxlYXNlX3ByaXZhdGUsCiB9OwogCiBpbnQgZ2ZzMl9jcmVhdGVfZGVidWdmc19maWxlKHN0cnVjdCBnZnMyX3NiZCAqc2RwKQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9nbG9jay5oIGIvZnMvZ2ZzMi9nbG9jay5oCmluZGV4IGNkYWQzZTYuLjk3MWQ5MmEgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvZ2xvY2suaAorKysgYi9mcy9nZnMyL2dsb2NrLmgKQEAgLTI2LDExICsyNiw4IEBACiAjZGVmaW5lIEdMX1NLSVAJCQkweDAwMDAwMTAwCiAjZGVmaW5lIEdMX0FUSU1FCQkweDAwMDAwMjAwCiAjZGVmaW5lIEdMX05PQ0FDSEUJCTB4MDAwMDA0MDAKLSNkZWZpbmUgR0xfRkxPQ0sJCTB4MDAwMDA4MDAKLSNkZWZpbmUgR0xfTk9DQU5DRUwJCTB4MDAwMDEwMDAKIAogI2RlZmluZSBHTFJfVFJZRkFJTEVECQkxMwotI2RlZmluZSBHTFJfQ0FOQ0VMRUQJCTE0CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGdmczJfaG9sZGVyICpnZnMyX2dsb2NrX2lzX2xvY2tlZF9ieV9tZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCiB7CkBAIC00MSw2ICszOCw4IEBACiAJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJcGlkID0gdGFza19waWQoY3VycmVudCk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICghdGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQorCQkJYnJlYWs7CiAJCWlmIChnaC0+Z2hfb3duZXJfcGlkID09IHBpZCkKIAkJCWdvdG8gb3V0OwogCX0KQEAgLTcwLDcgKzY5LDcgQEAKIHsKIAlpbnQgcmV0OwogCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCXJldCA9IHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpIHx8ICFsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczMpOworCXJldCA9IHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOwogCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJcmV0dXJuIHJldDsKIH0KQEAgLTk4LDYgKzk3LDcgQEAKIGludCBnZnMyX2dsb2NrX25xX20odW5zaWduZWQgaW50IG51bV9naCwgc3RydWN0IGdmczJfaG9sZGVyICpnaHMpOwogdm9pZCBnZnMyX2dsb2NrX2RxX20odW5zaWduZWQgaW50IG51bV9naCwgc3RydWN0IGdmczJfaG9sZGVyICpnaHMpOwogdm9pZCBnZnMyX2dsb2NrX2RxX3VuaW5pdF9tKHVuc2lnbmVkIGludCBudW1fZ2gsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2hzKTsKK3ZvaWQgZ2ZzMl9wcmludF9kYmcoc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAogLyoqCiAgKiBnZnMyX2dsb2NrX25xX2luaXQgLSBpbnRpYWxpemUgYSBob2xkZXIgYW5kIGVucXVldWUgaXQgb24gYSBnbG9jawpAQCAtMTMwLDEwICsxMzAsOSBAQAogdm9pZCBnZnMyX2x2Yl91bmhvbGQoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKIAogdm9pZCBnZnMyX2dsb2NrX2NiKHZvaWQgKmNiX2RhdGEsIHVuc2lnbmVkIGludCB0eXBlLCB2b2lkICpkYXRhKTsKLQogdm9pZCBnZnMyX2dsb2NrX3NjaGVkdWxlX2Zvcl9yZWNsYWltKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CiB2b2lkIGdmczJfcmVjbGFpbV9nbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCk7Ci12b2lkIGdmczJfZ2xfaGFzaF9jbGVhcihzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgaW50IHdhaXQpOwordm9pZCBnZnMyX2dsX2hhc2hfY2xlYXIoc3RydWN0IGdmczJfc2JkICpzZHApOwogCiBpbnQgX19pbml0IGdmczJfZ2xvY2tfaW5pdCh2b2lkKTsKIHZvaWQgZ2ZzMl9nbG9ja19leGl0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9nbG9wcy5jIGIvZnMvZ2ZzMi9nbG9wcy5jCmluZGV4IDA3ZDg0ZDE2Li5jNmMzMThjIDEwMDY0NAotLS0gYS9mcy9nZnMyL2dsb3BzLmMKKysrIGIvZnMvZ2ZzMi9nbG9wcy5jCkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9nZnMyX29uZGlzay5oPgogI2luY2x1ZGUgPGxpbnV4L2xtX2ludGVyZmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgogCiAjaW5jbHVkZSAiZ2ZzMi5oIgogI2luY2x1ZGUgImluY29yZS5oIgpAQCAtMTcyLDI2ICsxNzMsNiBAQAogfQogCiAvKioKLSAqIGlub2RlX2dvX3htb3RlX2JoIC0gQWZ0ZXIgcHJvbW90aW5nL2RlbW90aW5nIGEgZ2xvY2sKLSAqIEBnbDogdGhlIGdsb2NrCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIGlub2RlX2dvX3htb3RlX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoID0gZ2wtPmdsX3JlcV9naDsKLQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCWludCBlcnJvcjsKLQotCWlmIChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYKLQkgICAgKCFnaCB8fCAhKGdoLT5naF9mbGFncyAmIEdMX1NLSVApKSkgewotCQllcnJvciA9IGdmczJfbWV0YV9yZWFkKGdsLCBnbC0+Z2xfbmFtZS5sbl9udW1iZXIsIDAsICZiaCk7Ci0JCWlmICghZXJyb3IpCi0JCQlicmVsc2UoYmgpOwotCX0KLX0KLQotLyoqCiAgKiBpbm9kZV9nb19pbnZhbCAtIHByZXBhcmUgYSBpbm9kZSBnbG9jayB0byBiZSByZWxlYXNlZAogICogQGdsOiB0aGUgZ2xvY2sKICAqIEBmbGFnczoKQEAgLTI2Nyw2ICsyNDgsMjYgQEAKIH0KIAogLyoqCisgKiBpbm9kZV9nb19kdW1wIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYW4gaW5vZGUKKyAqIEBzZXE6IFRoZSBpdGVyYXRvcgorICogQGlwOiB0aGUgaW5vZGUKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FTk9CVUZTIHdoZW4gd2UgcnVuIG91dCBvZiBzcGFjZQorICovCisKK3N0YXRpYyBpbnQgaW5vZGVfZ29fZHVtcChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWNvbnN0IHN0cnVjdCBnZnMyX2lub2RlICppcCA9IGdsLT5nbF9vYmplY3Q7CisJaWYgKGlwID09IE5VTEwpCisJCXJldHVybiAwOworCWdmczJfcHJpbnRfZGJnKHNlcSwgIiBJOiBuOiVsbHUvJWxsdSB0OiV1IGY6MHglMDhseFxuIiwKKwkJICAodW5zaWduZWQgbG9uZyBsb25nKWlwLT5pX25vX2Zvcm1hbF9pbm8sCisJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylpcC0+aV9ub19hZGRyLAorCQkgIElGMkRUKGlwLT5pX2lub2RlLmlfbW9kZSksIGlwLT5pX2ZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCiAgKiByZ3JwX2dvX2RlbW90ZV9vayAtIENoZWNrIHRvIHNlZSBpZiBpdCdzIG9rIHRvIHVubG9jayBhIFJHJ3MgZ2xvY2sKICAqIEBnbDogdGhlIGdsb2NrCiAgKgpAQCAtMzA2LDYgKzMwNywyMiBAQAogfQogCiAvKioKKyAqIHJncnBfZ29fZHVtcCAtIHByaW50IG91dCBhbiByZ3JwCisgKiBAc2VxOiBUaGUgaXRlcmF0b3IKKyAqIEBnbDogVGhlIGdsb2NrIGluIHF1ZXN0aW9uCisgKgorICovCisKK3N0YXRpYyBpbnQgcmdycF9nb19kdW1wKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJY29uc3Qgc3RydWN0IGdmczJfcmdycGQgKnJnZCA9IGdsLT5nbF9vYmplY3Q7CisJaWYgKHJnZCA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlnZnMyX3ByaW50X2RiZyhzZXEsICIgUjogbjolbGx1XG4iLCAodW5zaWduZWQgbG9uZyBsb25nKXJnZC0+cmRfYWRkcik7CisJcmV0dXJuIDA7Cit9CisKKy8qKgogICogdHJhbnNfZ29fc3luYyAtIHByb21vdGUvZGVtb3RlIHRoZSB0cmFuc2FjdGlvbiBnbG9jawogICogQGdsOiB0aGUgZ2xvY2sKICAqIEBzdGF0ZTogdGhlIHJlcXVlc3RlZCBzdGF0ZQpAQCAtMzMwLDcgKzM0Nyw3IEBACiAgKgogICovCiAKLXN0YXRpYyB2b2lkIHRyYW5zX2dvX3htb3RlX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3N0YXRpYyBpbnQgdHJhbnNfZ29feG1vdGVfYmgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKIAlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0koc2RwLT5zZF9qZGVzYy0+amRfaW5vZGUpOwpAQCAtMzM4LDggKzM1NSw3IEBACiAJc3RydWN0IGdmczJfbG9nX2hlYWRlcl9ob3N0IGhlYWQ7CiAJaW50IGVycm9yOwogCi0JaWYgKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJgotCSAgICB0ZXN0X2JpdChTREZfSk9VUk5BTF9MSVZFLCAmc2RwLT5zZF9mbGFncykpIHsKKwlpZiAodGVzdF9iaXQoU0RGX0pPVVJOQUxfTElWRSwgJnNkcC0+c2RfZmxhZ3MpKSB7CiAJCWpfZ2wtPmdsX29wcy0+Z29faW52YWwoal9nbCwgRElPX01FVEFEQVRBKTsKIAogCQllcnJvciA9IGdmczJfZmluZF9qaGVhZChzZHAtPnNkX2pkZXNjLCAmaGVhZCk7CkBAIC0zNTQsNiArMzcwLDcgQEAKIAkJCWdmczJfbG9nX3BvaW50ZXJzX2luaXQoc2RwLCBoZWFkLmxoX2Jsa25vKTsKIAkJfQogCX0KKwlyZXR1cm4gMDsKIH0KIAogLyoqCkBAIC0zNzUsMTIgKzM5MiwxMiBAQAogCiBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zIGdmczJfaW5vZGVfZ2xvcHMgPSB7CiAJLmdvX3htb3RlX3RoID0gaW5vZGVfZ29fc3luYywKLQkuZ29feG1vdGVfYmggPSBpbm9kZV9nb194bW90ZV9iaCwKIAkuZ29faW52YWwgPSBpbm9kZV9nb19pbnZhbCwKIAkuZ29fZGVtb3RlX29rID0gaW5vZGVfZ29fZGVtb3RlX29rLAogCS5nb19sb2NrID0gaW5vZGVfZ29fbG9jaywKKwkuZ29fZHVtcCA9IGlub2RlX2dvX2R1bXAsCiAJLmdvX3R5cGUgPSBMTV9UWVBFX0lOT0RFLAotCS5nb19taW5faG9sZF90aW1lID0gSFogLyAxMCwKKwkuZ29fbWluX2hvbGRfdGltZSA9IEhaIC8gNSwKIH07CiAKIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgZ2ZzMl9yZ3JwX2dsb3BzID0gewpAQCAtMzg5LDggKzQwNiw5IEBACiAJLmdvX2RlbW90ZV9vayA9IHJncnBfZ29fZGVtb3RlX29rLAogCS5nb19sb2NrID0gcmdycF9nb19sb2NrLAogCS5nb191bmxvY2sgPSByZ3JwX2dvX3VubG9jaywKKwkuZ29fZHVtcCA9IHJncnBfZ29fZHVtcCwKIAkuZ29fdHlwZSA9IExNX1RZUEVfUkdSUCwKLQkuZ29fbWluX2hvbGRfdGltZSA9IEhaIC8gMTAsCisJLmdvX21pbl9ob2xkX3RpbWUgPSBIWiAvIDUsCiB9OwogCiBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zIGdmczJfdHJhbnNfZ2xvcHMgPSB7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2luY29yZS5oIGIvZnMvZ2ZzMi9pbmNvcmUuaAppbmRleCBlYWJlNWVhLi40NDg2OTdhIDEwMDY0NAotLS0gYS9mcy9nZnMyL2luY29yZS5oCisrKyBiL2ZzL2dmczIvaW5jb3JlLmgKQEAgLTc3LDcgKzc3LDYgQEAKIHN0cnVjdCBnZnMyX3JncnBkIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHJkX2xpc3Q7CS8qIExpbmsgd2l0aCBzdXBlcmJsb2NrICovCiAJc3RydWN0IGxpc3RfaGVhZCByZF9saXN0X21ydTsKLQlzdHJ1Y3QgbGlzdF9oZWFkIHJkX3JlY2VudDsJLyogUmVjZW50bHkgdXNlZCByZ3JwcyAqLwogCXN0cnVjdCBnZnMyX2dsb2NrICpyZF9nbDsJLyogR2xvY2sgZm9yIHRoaXMgcmdycCAqLwogCXU2NCByZF9hZGRyOwkJCS8qIGdycCBibG9jayBkaXNrIGFkZHJlc3MgKi8KIAl1NjQgcmRfZGF0YTA7CQkJLyogZmlyc3QgZGF0YSBsb2NhdGlvbiAqLwpAQCAtMTI4LDIwICsxMjcsMjAgQEAKIAogc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyB7CiAJdm9pZCAoKmdvX3htb3RlX3RoKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKLQl2b2lkICgqZ29feG1vdGVfYmgpIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOworCWludCAoKmdvX3htb3RlX2JoKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKTsKIAl2b2lkICgqZ29faW52YWwpIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIGludCBmbGFncyk7CiAJaW50ICgqZ29fZGVtb3RlX29rKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKIAlpbnQgKCpnb19sb2NrKSAoc3RydWN0IGdmczJfaG9sZGVyICpnaCk7CiAJdm9pZCAoKmdvX3VubG9jaykgKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpOworCWludCAoKmdvX2R1bXApKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwogCWNvbnN0IGludCBnb190eXBlOwogCWNvbnN0IHVuc2lnbmVkIGxvbmcgZ29fbWluX2hvbGRfdGltZTsKIH07CiAKIGVudW0gewogCS8qIFN0YXRlcyAqLwotCUhJRl9IT0xERVIJCT0gNiwKKwlISUZfSE9MREVSCQk9IDYsICAvKiBTZXQgZm9yIGdoIHRoYXQgImhvbGRzIiB0aGUgZ2xvY2sgKi8KIAlISUZfRklSU1QJCT0gNywKLQlISUZfQUJPUlRFRAkJPSA5LAogCUhJRl9XQUlUCQk9IDEwLAogfTsKIApAQCAtMTU0LDIwICsxNTMsMjAgQEAKIAl1bnNpZ25lZCBnaF9mbGFnczsKIAogCWludCBnaF9lcnJvcjsKLQl1bnNpZ25lZCBsb25nIGdoX2lmbGFnczsKKwl1bnNpZ25lZCBsb25nIGdoX2lmbGFnczsgLyogSElGXy4uLiAqLwogCXVuc2lnbmVkIGxvbmcgZ2hfaXA7CiB9OwogCiBlbnVtIHsKLQlHTEZfTE9DSwkJPSAxLAotCUdMRl9TVElDS1kJCT0gMiwKLQlHTEZfREVNT1RFCQk9IDMsCi0JR0xGX1BFTkRJTkdfREVNT1RFCT0gNCwKLQlHTEZfRElSVFkJCT0gNSwKLQlHTEZfREVNT1RFX0lOX1BST0dSRVNTCT0gNiwKLQlHTEZfTEZMVVNICQk9IDcsCi0JR0xGX1dBSVRFUlMyCQk9IDgsCi0JR0xGX0NPTlZfREVBRExLCQk9IDksCisJR0xGX0xPQ0sJCQk9IDEsCisJR0xGX1NUSUNLWQkJCT0gMiwKKwlHTEZfREVNT1RFCQkJPSAzLAorCUdMRl9QRU5ESU5HX0RFTU9URQkJPSA0LAorCUdMRl9ERU1PVEVfSU5fUFJPR1JFU1MJCT0gNSwKKwlHTEZfRElSVFkJCQk9IDYsCisJR0xGX0xGTFVTSAkJCT0gNywKKwlHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUwk9IDgsCisJR0xGX1JFUExZX1BFTkRJTkcJCT0gOSwKIH07CiAKIHN0cnVjdCBnZnMyX2dsb2NrIHsKQEAgLTE3OSwxOSArMTc4LDE0IEBACiAJc3BpbmxvY2tfdCBnbF9zcGluOwogCiAJdW5zaWduZWQgaW50IGdsX3N0YXRlOworCXVuc2lnbmVkIGludCBnbF90YXJnZXQ7CisJdW5zaWduZWQgaW50IGdsX3JlcGx5OwogCXVuc2lnbmVkIGludCBnbF9oYXNoOwogCXVuc2lnbmVkIGludCBnbF9kZW1vdGVfc3RhdGU7IC8qIHN0YXRlIHJlcXVlc3RlZCBieSByZW1vdGUgbm9kZSAqLwogCXVuc2lnbmVkIGxvbmcgZ2xfZGVtb3RlX3RpbWU7IC8qIHRpbWUgb2YgZmlyc3QgZGVtb3RlIHJlcXVlc3QgKi8KLQlzdHJ1Y3QgcGlkICpnbF9vd25lcl9waWQ7Ci0JdW5zaWduZWQgbG9uZyBnbF9pcDsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGdsX2hvbGRlcnM7Ci0Jc3RydWN0IGxpc3RfaGVhZCBnbF93YWl0ZXJzMTsJLyogSElGX01VVEVYICovCi0Jc3RydWN0IGxpc3RfaGVhZCBnbF93YWl0ZXJzMzsJLyogSElGX1BST01PVEUgKi8KIAogCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsX29wczsKLQotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2xfcmVxX2doOwotCiAJdm9pZCAqZ2xfbG9jazsKIAljaGFyICpnbF9sdmI7CiAJYXRvbWljX3QgZ2xfbHZiX2NvdW50OwpAQCAtNDI3LDcgKzQyMSw2IEBACiAJdW5zaWduZWQgaW50IGd0X3F1b3RhX3F1YW50dW07IC8qIFNlY3MgYmV0d2VlbiBzeW5jcyB0byBxdW90YSBmaWxlICovCiAJdW5zaWduZWQgaW50IGd0X2F0aW1lX3F1YW50dW07IC8qIE1pbiBzZWNzIGJldHdlZW4gYXRpbWUgdXBkYXRlcyAqLwogCXVuc2lnbmVkIGludCBndF9uZXdfZmlsZXNfamRhdGE7Ci0JdW5zaWduZWQgaW50IGd0X25ld19maWxlc19kaXJlY3RpbzsKIAl1bnNpZ25lZCBpbnQgZ3RfbWF4X3JlYWRhaGVhZDsgLyogTWF4IGJ5dGVzIHRvIHJlYWQtYWhlYWQgZnJvbSBkaXNrICovCiAJdW5zaWduZWQgaW50IGd0X3N0YWxsX3NlY3M7IC8qIERldGVjdHMgdHJvdWJsZSEgKi8KIAl1bnNpZ25lZCBpbnQgZ3RfY29tcGxhaW5fc2VjczsKQEAgLTUzNCw3ICs1MjcsNiBAQAogCXN0cnVjdCBtdXRleCBzZF9yaW5kZXhfbXV0ZXg7CiAJc3RydWN0IGxpc3RfaGVhZCBzZF9yaW5kZXhfbGlzdDsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHNkX3JpbmRleF9tcnVfbGlzdDsKLQlzdHJ1Y3QgbGlzdF9oZWFkIHNkX3JpbmRleF9yZWNlbnRfbGlzdDsKIAlzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqc2RfcmluZGV4X2ZvcndhcmQ7CiAJdW5zaWduZWQgaW50IHNkX3JncnBzOwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2lub2RlLmMgYi9mcy9nZnMyL2lub2RlLmMKaW5kZXggMDk0NTNkMC4uNmRhMGFiMyAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9pbm9kZS5jCisrKyBiL2ZzL2dmczIvaW5vZGUuYwpAQCAtNTA0LDcgKzUwNCw3IEBACiAJfQogCiAJaWYgKCFpc19yb290KSB7Ci0JCWVycm9yID0gcGVybWlzc2lvbihkaXIsIE1BWV9FWEVDLCBOVUxMKTsKKwkJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24oZGlyLCBNQVlfRVhFQyk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0OwogCX0KQEAgLTY2Nyw3ICs2NjcsNyBAQAogewogCWludCBlcnJvcjsKIAotCWVycm9yID0gcGVybWlzc2lvbigmZGlwLT5pX2lub2RlLCBNQVlfV1JJVEUgfCBNQVlfRVhFQywgTlVMTCk7CisJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24oJmRpcC0+aV9pbm9kZSwgTUFZX1dSSVRFIHwgTUFZX0VYRUMpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCkBAIC03ODksMTMgKzc4OSw4IEBACiAJCWlmICgoZGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSkgfHwKIAkJICAgIGdmczJfdHVuZV9nZXQoc2RwLCBndF9uZXdfZmlsZXNfamRhdGEpKQogCQkJZGktPmRpX2ZsYWdzIHw9IGNwdV90b19iZTMyKEdGUzJfRElGX0pEQVRBKTsKLQkJaWYgKChkaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9JTkhFUklUX0RJUkVDVElPKSB8fAotCQkgICAgZ2ZzMl90dW5lX2dldChzZHAsIGd0X25ld19maWxlc19kaXJlY3RpbykpCi0JCQlkaS0+ZGlfZmxhZ3MgfD0gY3B1X3RvX2JlMzIoR0ZTMl9ESUZfRElSRUNUSU8pOwogCX0gZWxzZSBpZiAoU19JU0RJUihtb2RlKSkgewogCQlkaS0+ZGlfZmxhZ3MgfD0gY3B1X3RvX2JlMzIoZGlwLT5pX2RpLmRpX2ZsYWdzICYKLQkJCQkJICAgIEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU8pOwotCQlkaS0+ZGlfZmxhZ3MgfD0gY3B1X3RvX2JlMzIoZGlwLT5pX2RpLmRpX2ZsYWdzICYKIAkJCQkJICAgIEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpOwogCX0KIApAQCAtMTEzNCw3ICsxMTI5LDcgQEAKIAlpZiAoSVNfQVBQRU5EKCZkaXAtPmlfaW5vZGUpKQogCQlyZXR1cm4gLUVQRVJNOwogCi0JZXJyb3IgPSBwZXJtaXNzaW9uKCZkaXAtPmlfaW5vZGUsIE1BWV9XUklURSB8IE1BWV9FWEVDLCBOVUxMKTsKKwllcnJvciA9IGdmczJfcGVybWlzc2lvbigmZGlwLT5pX2lub2RlLCBNQVlfV1JJVEUgfCBNQVlfRVhFQyk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvaW5vZGUuaCBiL2ZzL2dmczIvaW5vZGUuaAppbmRleCA1ODBkYTQ1Li42MDc0YzI1IDEwMDY0NAotLS0gYS9mcy9nZnMyL2lub2RlLmgKKysrIGIvZnMvZ2ZzMi9pbm9kZS5oCkBAIC03Miw3ICs3Miw2IEBACiB9CiAKIAotdm9pZCBnZnMyX2lub2RlX2F0dHJfaW4oc3RydWN0IGdmczJfaW5vZGUgKmlwKTsKIHZvaWQgZ2ZzMl9zZXRfaW9wKHN0cnVjdCBpbm9kZSAqaW5vZGUpOwogc3RydWN0IGlub2RlICpnZnMyX2lub2RlX2xvb2t1cChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB1bnNpZ25lZCB0eXBlLCAKIAkJCQl1NjQgbm9fYWRkciwgdTY0IG5vX2Zvcm1hbF9pbm8sCkBAIC05MSw2ICs5MCw3IEBACiAJCXN0cnVjdCBnZnMyX2lub2RlICppcCk7CiBpbnQgZ2ZzMl91bmxpbmtfb2soc3RydWN0IGdmczJfaW5vZGUgKmRpcCwgY29uc3Qgc3RydWN0IHFzdHIgKm5hbWUsCiAJCSAgIGNvbnN0IHN0cnVjdCBnZnMyX2lub2RlICppcCk7CitpbnQgZ2ZzMl9wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrKTsKIGludCBnZnMyX29rX3RvX21vdmUoc3RydWN0IGdmczJfaW5vZGUgKnRoaXMsIHN0cnVjdCBnZnMyX2lub2RlICp0byk7CiBpbnQgZ2ZzMl9yZWFkbGlua2koc3RydWN0IGdmczJfaW5vZGUgKmlwLCBjaGFyICoqYnVmLCB1bnNpZ25lZCBpbnQgKmxlbik7CiBpbnQgZ2ZzMl9nbG9ja19ucV9hdGltZShzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy5jIGIvZnMvZ2ZzMi9sb2NraW5nLmMKaW5kZXggNjYzZmVlNy4uNTIzMjQzYSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nLmMKKysrIGIvZnMvZ2ZzMi9sb2NraW5nLmMKQEAgLTIzLDEyICsyMyw1NCBAQAogCWNvbnN0IHN0cnVjdCBsbV9sb2Nrb3BzICpsd19vcHM7CiB9OwogCitzdGF0aWMgaW50IG5vbG9ja19tb3VudChjaGFyICp0YWJsZV9uYW1lLCBjaGFyICpob3N0X2RhdGEsCisJCQlsbV9jYWxsYmFja190IGNiLCB2b2lkICpjYl9kYXRhLAorCQkJdW5zaWduZWQgaW50IG1pbl9sdmJfc2l6ZSwgaW50IGZsYWdzLAorCQkJc3RydWN0IGxtX2xvY2tzdHJ1Y3QgKmxvY2tzdHJ1Y3QsCisJCQlzdHJ1Y3Qga29iamVjdCAqZnNrb2JqKTsKKwogLyogTGlzdCBvZiByZWdpc3RlcmVkIGxvdy1sZXZlbCBsb2NraW5nIHByb3RvY29scy4gIEEgZmlsZSBzeXN0ZW0gc2VsZWN0cyBvbmUKICAgIG9mIHRoZW0gYnkgbmFtZSBhdCBtb3VudCB0aW1lLCBlLmcuIGxvY2tfbm9sb2NrLCBsb2NrX2RsbS4gKi8KIAorc3RhdGljIGNvbnN0IHN0cnVjdCBsbV9sb2Nrb3BzIG5vbG9ja19vcHMgPSB7CisJLmxtX3Byb3RvX25hbWUgPSAibG9ja19ub2xvY2siLAorCS5sbV9tb3VudCA9IG5vbG9ja19tb3VudCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbG1oX3dyYXBwZXIgbm9sb2NrX3Byb3RvICA9IHsKKwkubHdfbGlzdCA9IExJU1RfSEVBRF9JTklUKG5vbG9ja19wcm90by5sd19saXN0KSwKKwkubHdfb3BzID0gJm5vbG9ja19vcHMsCit9OworCiBzdGF0aWMgTElTVF9IRUFEKGxtaF9saXN0KTsKIHN0YXRpYyBERUZJTkVfTVVURVgobG1oX2xvY2spOwogCitzdGF0aWMgaW50IG5vbG9ja19tb3VudChjaGFyICp0YWJsZV9uYW1lLCBjaGFyICpob3N0X2RhdGEsCisJCQlsbV9jYWxsYmFja190IGNiLCB2b2lkICpjYl9kYXRhLAorCQkJdW5zaWduZWQgaW50IG1pbl9sdmJfc2l6ZSwgaW50IGZsYWdzLAorCQkJc3RydWN0IGxtX2xvY2tzdHJ1Y3QgKmxvY2tzdHJ1Y3QsCisJCQlzdHJ1Y3Qga29iamVjdCAqZnNrb2JqKQoreworCWNoYXIgKmM7CisJdW5zaWduZWQgaW50IGppZDsKKworCWMgPSBzdHJzdHIoaG9zdF9kYXRhLCAiamlkPSIpOworCWlmICghYykKKwkJamlkID0gMDsKKwllbHNlIHsKKwkJYyArPSA0OworCQlzc2NhbmYoYywgIiV1IiwgJmppZCk7CisJfQorCisJbG9ja3N0cnVjdC0+bHNfamlkID0gamlkOworCWxvY2tzdHJ1Y3QtPmxzX2ZpcnN0ID0gMTsKKwlsb2Nrc3RydWN0LT5sc19sdmJfc2l6ZSA9IG1pbl9sdmJfc2l6ZTsKKwlsb2Nrc3RydWN0LT5sc19vcHMgPSAmbm9sb2NrX29wczsKKwlsb2Nrc3RydWN0LT5sc19mbGFncyA9IExNX0xTRkxBR19MT0NBTDsKKworCXJldHVybiAwOworfQorCiAvKioKICAqIGdmczJfcmVnaXN0ZXJfbG9ja3Byb3RvIC0gUmVnaXN0ZXIgYSBsb3ctbGV2ZWwgbG9ja2luZyBwcm90b2NvbAogICogQHByb3RvOiB0aGUgcHJvdG9jb2wgZGVmaW5pdGlvbgpAQCAtMTE2LDkgKzE1OCwxMyBAQAogCWludCB0cnkgPSAwOwogCWludCBlcnJvciwgZm91bmQ7CiAKKwogcmV0cnk6CiAJbXV0ZXhfbG9jaygmbG1oX2xvY2spOwogCisJaWYgKGxpc3RfZW1wdHkoJm5vbG9ja19wcm90by5sd19saXN0KSkKKwkJbGlzdF9hZGQoJm5vbG9ja19wcm90by5sd19saXN0LCAmbG1oX2xpc3QpOworCiAJZm91bmQgPSAwOwogCWxpc3RfZm9yX2VhY2hfZW50cnkobHcsICZsbWhfbGlzdCwgbHdfbGlzdCkgewogCQlpZiAoIXN0cmNtcChsdy0+bHdfb3BzLT5sbV9wcm90b19uYW1lLCBwcm90b19uYW1lKSkgewpAQCAtMTM5LDcgKzE4NSw4IEBACiAJCWdvdG8gb3V0OwogCX0KIAotCWlmICghdHJ5X21vZHVsZV9nZXQobHctPmx3X29wcy0+bG1fb3duZXIpKSB7CisJaWYgKGx3LT5sd19vcHMtPmxtX293bmVyICYmCisJICAgICF0cnlfbW9kdWxlX2dldChsdy0+bHdfb3BzLT5sbV9vd25lcikpIHsKIAkJdHJ5ID0gMDsKIAkJbXV0ZXhfdW5sb2NrKCZsbWhfbG9jayk7CiAJCW1zbGVlcCgxMDAwKTsKQEAgLTE1OCw3ICsyMDUsOCBAQAogdm9pZCBnZnMyX3VubW91bnRfbG9ja3Byb3RvKHN0cnVjdCBsbV9sb2Nrc3RydWN0ICpsb2Nrc3RydWN0KQogewogCW11dGV4X2xvY2soJmxtaF9sb2NrKTsKLQlsb2Nrc3RydWN0LT5sc19vcHMtPmxtX3VubW91bnQobG9ja3N0cnVjdC0+bHNfbG9ja3NwYWNlKTsKKwlpZiAobG9ja3N0cnVjdC0+bHNfb3BzLT5sbV91bm1vdW50KQorCQlsb2Nrc3RydWN0LT5sc19vcHMtPmxtX3VubW91bnQobG9ja3N0cnVjdC0+bHNfbG9ja3NwYWNlKTsKIAlpZiAobG9ja3N0cnVjdC0+bHNfb3BzLT5sbV9vd25lcikKIAkJbW9kdWxlX3B1dChsb2Nrc3RydWN0LT5sc19vcHMtPmxtX293bmVyKTsKIAltdXRleF91bmxvY2soJmxtaF9sb2NrKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9jay5jIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrLmMKaW5kZXggY2Y3ZWE4YS4uMjQ4MmM5MCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrLmMKKysrIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrLmMKQEAgLTExLDI3ICsxMSwyODcgQEAKIAogc3RhdGljIGNoYXIganVua19sdmJbR0RMTV9MVkJfU0laRV07CiAKLXN0YXRpYyB2b2lkIHF1ZXVlX2NvbXBsZXRlKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQorCisvKiBjb252ZXJ0IGRsbSBsb2NrLW1vZGUgdG8gZ2ZzIGxvY2stc3RhdGUgKi8KKworc3RhdGljIHMxNiBnZGxtX21ha2VfbG1zdGF0ZShzMTYgZGxtbW9kZSkKK3sKKwlzd2l0Y2ggKGRsbW1vZGUpIHsKKwljYXNlIERMTV9MT0NLX0lWOgorCWNhc2UgRExNX0xPQ0tfTkw6CisJCXJldHVybiBMTV9TVF9VTkxPQ0tFRDsKKwljYXNlIERMTV9MT0NLX0VYOgorCQlyZXR1cm4gTE1fU1RfRVhDTFVTSVZFOworCWNhc2UgRExNX0xPQ0tfQ1c6CisJCXJldHVybiBMTV9TVF9ERUZFUlJFRDsKKwljYXNlIERMTV9MT0NLX1BSOgorCQlyZXR1cm4gTE1fU1RfU0hBUkVEOworCX0KKwlnZGxtX2Fzc2VydCgwLCAidW5rbm93biBETE0gbW9kZSAlZCIsIGRsbW1vZGUpOworCXJldHVybiAtMTsKK30KKworLyogQSBsb2NrIHBsYWNlZCBvbiB0aGlzIHF1ZXVlIGlzIHJlLXN1Ym1pdHRlZCB0byBETE0gYXMgc29vbiBhcyB0aGUgbG9ja19kbG0KKyAgIHRocmVhZCBnZXRzIHRvIGl0LiAqLworCitzdGF0aWMgdm9pZCBxdWV1ZV9zdWJtaXQoc3RydWN0IGdkbG1fbG9jayAqbHApCiB7CiAJc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwogCi0JY2xlYXJfYml0KExGTF9BQ1RJVkUsICZscC0+ZmxhZ3MpOwotCiAJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JbGlzdF9hZGRfdGFpbCgmbHAtPmNsaXN0LCAmbHMtPmNvbXBsZXRlKTsKKwlsaXN0X2FkZF90YWlsKCZscC0+ZGVsYXlfbGlzdCwgJmxzLT5zdWJtaXQpOwogCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAJd2FrZV91cCgmbHMtPnRocmVhZF93YWl0KTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdkbG1fYXN0KHZvaWQgKmFzdGFyZykKK3N0YXRpYyB2b2lkIHdha2VfdXBfYXN0KHN0cnVjdCBnZGxtX2xvY2sgKmxwKQogewotCXF1ZXVlX2NvbXBsZXRlKGFzdGFyZyk7CisJY2xlYXJfYml0KExGTF9BU1RfV0FJVCwgJmxwLT5mbGFncyk7CisJc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKKwl3YWtlX3VwX2JpdCgmbHAtPmZsYWdzLCBMRkxfQVNUX1dBSVQpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZ2RsbV9iYXN0KHZvaWQgKmFzdGFyZywgaW50IG1vZGUpCitzdGF0aWMgdm9pZCBnZGxtX2RlbGV0ZV9scChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKK3sKKwlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7CisKKwlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKKwlpZiAoIWxpc3RfZW1wdHkoJmxwLT5kZWxheV9saXN0KSkKKwkJbGlzdF9kZWxfaW5pdCgmbHAtPmRlbGF5X2xpc3QpOworCWxzLT5hbGxfbG9ja3NfY291bnQtLTsKKwlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOworCisJa2ZyZWUobHApOworfQorCitzdGF0aWMgdm9pZCBnZGxtX3F1ZXVlX2RlbGF5ZWQoc3RydWN0IGdkbG1fbG9jayAqbHApCit7CisJc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOworCisJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7CisJbGlzdF9hZGRfdGFpbCgmbHAtPmRlbGF5X2xpc3QsICZscy0+ZGVsYXllZCk7CisJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKK30KKworc3RhdGljIHZvaWQgcHJvY2Vzc19jb21wbGV0ZShzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKK3sKKwlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7CisJc3RydWN0IGxtX2FzeW5jX2NiIGFjYjsKKworCW1lbXNldCgmYWNiLCAwLCBzaXplb2YoYWNiKSk7CisKKwlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzID09IC1ETE1fRUNBTkNFTCkgeworCQlsb2dfaW5mbygiY29tcGxldGUgZGxtIGNhbmNlbCAleCwlbGx4IGZsYWdzICVseCIsCisJCSAJIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKKwkJCSBscC0+ZmxhZ3MpOworCisJCWxwLT5yZXEgPSBscC0+Y3VyOworCQlhY2IubGNfcmV0IHw9IExNX09VVF9DQU5DRUxFRDsKKwkJaWYgKGxwLT5jdXIgPT0gRExNX0xPQ0tfSVYpCisJCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfRExNX1VOTE9DSywgJmxwLT5mbGFncykpIHsKKwkJaWYgKGxwLT5sa3NiLnNiX3N0YXR1cyAhPSAtRExNX0VVTkxPQ0spIHsKKwkJCWxvZ19pbmZvKCJ1bmxvY2sgc2Jfc3RhdHVzICVkICV4LCVsbHggZmxhZ3MgJWx4IiwKKwkJCQkgbHAtPmxrc2Iuc2Jfc3RhdHVzLCBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAorCQkJCSBscC0+ZmxhZ3MpOworCQkJcmV0dXJuOworCQl9CisKKwkJbHAtPmN1ciA9IERMTV9MT0NLX0lWOworCQlscC0+cmVxID0gRExNX0xPQ0tfSVY7CisJCWxwLT5sa3NiLnNiX2xraWQgPSAwOworCisJCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX1VOTE9DS19ERUxFVEUsICZscC0+ZmxhZ3MpKSB7CisJCQlnZGxtX2RlbGV0ZV9scChscCk7CisJCQlyZXR1cm47CisJCX0KKwkJZ290byBvdXQ7CisJfQorCisJaWYgKGxwLT5sa3NiLnNiX2ZsYWdzICYgRExNX1NCRl9WQUxOT1RWQUxJRCkKKwkJbWVtc2V0KGxwLT5sa3NiLnNiX2x2YnB0ciwgMCwgR0RMTV9MVkJfU0laRSk7CisKKwlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX0FMVE1PREUpIHsKKwkJaWYgKGxwLT5yZXEgPT0gRExNX0xPQ0tfUFIpCisJCQlscC0+cmVxID0gRExNX0xPQ0tfQ1c7CisJCWVsc2UgaWYgKGxwLT5yZXEgPT0gRExNX0xPQ0tfQ1cpCisJCQlscC0+cmVxID0gRExNX0xPQ0tfUFI7CisJfQorCisJLyoKKwkgKiBBIGNhbmNlbGVkIGxvY2sgcmVxdWVzdC4gIFRoZSBsb2NrIHdhcyBqdXN0IHRha2VuIG9mZiB0aGUgZGVsYXllZAorCSAqIGxpc3QgYW5kIHdhcyBuZXZlciBldmVuIHN1Ym1pdHRlZCB0byBkbG0uCisJICovCisKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9DQU5DRUwsICZscC0+ZmxhZ3MpKSB7CisJCWxvZ19pbmZvKCJjb21wbGV0ZSBpbnRlcm5hbCBjYW5jZWwgJXgsJWxseCIsCisJCSAJIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7CisJCWxwLT5yZXEgPSBscC0+Y3VyOworCQlhY2IubGNfcmV0IHw9IExNX09VVF9DQU5DRUxFRDsKKwkJZ290byBvdXQ7CisJfQorCisJLyoKKwkgKiBBbiBlcnJvciBvY2N1cmVkLgorCSAqLworCisJaWYgKGxwLT5sa3NiLnNiX3N0YXR1cykgeworCQkvKiBhICJub3JtYWwiIGVycm9yICovCisJCWlmICgobHAtPmxrc2Iuc2Jfc3RhdHVzID09IC1FQUdBSU4pICYmCisJCSAgICAobHAtPmxrZiAmIERMTV9MS0ZfTk9RVUVVRSkpIHsKKwkJCWxwLT5yZXEgPSBscC0+Y3VyOworCQkJaWYgKGxwLT5jdXIgPT0gRExNX0xPQ0tfSVYpCisJCQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCS8qIHRoaXMgY291bGQgb25seSBoYXBwZW4gd2l0aCBjYW5jZWxzIEkgdGhpbmsgKi8KKwkJbG9nX2luZm8oImFzdCBzYl9zdGF0dXMgJWQgJXgsJWxseCBmbGFncyAlbHgiLAorCQkJIGxwLT5sa3NiLnNiX3N0YXR1cywgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAorCQkJIGxwLT5mbGFncyk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIFRoaXMgaXMgYW4gQVNUIGZvciBhbiBFWC0+RVggY29udmVyc2lvbiBmb3Igc3luY19sdmIgZnJvbSBHRlMuCisJICovCisKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9TWU5DX0xWQiwgJmxwLT5mbGFncykpIHsKKwkJd2FrZV91cF9hc3QobHApOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBBIGxvY2sgaGFzIGJlZW4gZGVtb3RlZCB0byBOTCBiZWNhdXNlIGl0IGluaXRpYWxseSBjb21wbGV0ZWQgZHVyaW5nCisJICogQkxPQ0tfTE9DS1MuICBOb3cgaXQgbXVzdCBiZSByZXF1ZXN0ZWQgaW4gdGhlIG9yaWdpbmFsbHkgcmVxdWVzdGVkCisJICogbW9kZS4KKwkgKi8KKworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX1JFUkVRVUVTVCwgJmxwLT5mbGFncykpIHsKKwkJZ2RsbV9hc3NlcnQobHAtPnJlcSA9PSBETE1fTE9DS19OTCwgIiV4LCVsbHgiLAorCQkJICAgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7CisJCWdkbG1fYXNzZXJ0KGxwLT5wcmV2X3JlcSA+IERMTV9MT0NLX05MLCAiJXgsJWxseCIsCisJCQkgICAgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKKworCQlscC0+Y3VyID0gRExNX0xPQ0tfTkw7CisJCWxwLT5yZXEgPSBscC0+cHJldl9yZXE7CisJCWxwLT5wcmV2X3JlcSA9IERMTV9MT0NLX0lWOworCQlscC0+bGtmICY9IH5ETE1fTEtGX0NPTlZERUFETEs7CisKKwkJc2V0X2JpdChMRkxfTk9DQUNIRSwgJmxwLT5mbGFncyk7CisKKwkJaWYgKHRlc3RfYml0KERGTF9CTE9DS19MT0NLUywgJmxzLT5mbGFncykgJiYKKwkJICAgICF0ZXN0X2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncykpCisJCQlnZGxtX3F1ZXVlX2RlbGF5ZWQobHApOworCQllbHNlCisJCQlxdWV1ZV9zdWJtaXQobHApOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBBIHJlcXVlc3QgaXMgZ3JhbnRlZCBkdXJpbmcgZGxtIHJlY292ZXJ5LiAgSXQgbWF5IGJlIGdyYW50ZWQKKwkgKiBiZWNhdXNlIHRoZSBsb2NrcyBvZiBhIGZhaWxlZCBub2RlIHdlcmUgY2xlYXJlZC4gIEluIHRoYXQgY2FzZSwKKwkgKiB0aGVyZSBtYXkgYmUgaW5jb25zaXN0ZW50IGRhdGEgYmVuZWF0aCB0aGlzIGxvY2sgYW5kIHdlIG11c3Qgd2FpdAorCSAqIGZvciByZWNvdmVyeSB0byBjb21wbGV0ZSB0byB1c2UgaXQuICBXaGVuIGdmcyByZWNvdmVyeSBpcyBkb25lIHRoaXMKKwkgKiBncmFudGVkIGxvY2sgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gTkwgYW5kIHRoZW4gcmVhY3F1aXJlZCBpbiB0aGlzCisJICogZ3JhbnRlZCBzdGF0ZS4KKwkgKi8KKworCWlmICh0ZXN0X2JpdChERkxfQkxPQ0tfTE9DS1MsICZscy0+ZmxhZ3MpICYmCisJICAgICF0ZXN0X2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncykgJiYKKwkgICAgbHAtPnJlcSAhPSBETE1fTE9DS19OTCkgeworCisJCWxwLT5jdXIgPSBscC0+cmVxOworCQlscC0+cHJldl9yZXEgPSBscC0+cmVxOworCQlscC0+cmVxID0gRExNX0xPQ0tfTkw7CisJCWxwLT5sa2YgfD0gRExNX0xLRl9DT05WRVJUOworCQlscC0+bGtmICY9IH5ETE1fTEtGX0NPTlZERUFETEs7CisKKwkJbG9nX2RlYnVnKCJyZXJlcSAleCwlbGx4IGlkICV4ICVkLCVkIiwKKwkJCSAgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKKwkJCSAgbHAtPmxrc2Iuc2JfbGtpZCwgbHAtPmN1ciwgbHAtPnJlcSk7CisKKwkJc2V0X2JpdChMRkxfUkVSRVFVRVNULCAmbHAtPmZsYWdzKTsKKwkJcXVldWVfc3VibWl0KGxwKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogRExNIGRlbW90ZWQgdGhlIGxvY2sgdG8gTkwgYmVmb3JlIGl0IHdhcyBncmFudGVkIHNvIEdGUyBtdXN0IGJlCisJICogdG9sZCBpdCBjYW5ub3QgY2FjaGUgZGF0YSBmb3IgdGhpcyBsb2NrLgorCSAqLworCisJaWYgKGxwLT5sa3NiLnNiX2ZsYWdzICYgRExNX1NCRl9ERU1PVEVEKQorCQlzZXRfYml0KExGTF9OT0NBQ0hFLCAmbHAtPmZsYWdzKTsKKworb3V0OgorCS8qCisJICogVGhpcyBpcyBhbiBpbnRlcm5hbCBsb2NrX2RsbSBsb2NrCisJICovCisKKwlpZiAodGVzdF9iaXQoTEZMX0lOTE9DSywgJmxwLT5mbGFncykpIHsKKwkJY2xlYXJfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKTsKKwkJbHAtPmN1ciA9IGxwLT5yZXE7CisJCXdha2VfdXBfYXN0KGxwKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogTm9ybWFsIGNvbXBsZXRpb24gb2YgYSBsb2NrIHJlcXVlc3QuICBUZWxsIEdGUyBpdCBub3cgaGFzIHRoZSBsb2NrLgorCSAqLworCisJY2xlYXJfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKTsKKwlscC0+Y3VyID0gbHAtPnJlcTsKKworCWFjYi5sY19uYW1lID0gbHAtPmxvY2tuYW1lOworCWFjYi5sY19yZXQgfD0gZ2RsbV9tYWtlX2xtc3RhdGUobHAtPmN1cik7CisKKwlscy0+ZnNjYihscy0+c2RwLCBMTV9DQl9BU1lOQywgJmFjYik7Cit9CisKK3N0YXRpYyB2b2lkIGdkbG1fYXN0KHZvaWQgKmFzdGFyZykKIHsKIAlzdHJ1Y3QgZ2RsbV9sb2NrICpscCA9IGFzdGFyZzsKKwljbGVhcl9iaXQoTEZMX0FDVElWRSwgJmxwLT5mbGFncyk7CisJcHJvY2Vzc19jb21wbGV0ZShscCk7Cit9CisKK3N0YXRpYyB2b2lkIHByb2Nlc3NfYmxvY2tpbmcoc3RydWN0IGdkbG1fbG9jayAqbHAsIGludCBiYXN0X21vZGUpCit7CiAJc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOworCXVuc2lnbmVkIGludCBjYiA9IDA7CisKKwlzd2l0Y2ggKGdkbG1fbWFrZV9sbXN0YXRlKGJhc3RfbW9kZSkpIHsKKwljYXNlIExNX1NUX0VYQ0xVU0lWRToKKwkJY2IgPSBMTV9DQl9ORUVEX0U7CisJCWJyZWFrOworCWNhc2UgTE1fU1RfREVGRVJSRUQ6CisJCWNiID0gTE1fQ0JfTkVFRF9EOworCQlicmVhazsKKwljYXNlIExNX1NUX1NIQVJFRDoKKwkJY2IgPSBMTV9DQl9ORUVEX1M7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWdkbG1fYXNzZXJ0KDAsICJ1bmtub3duIGJhc3QgbW9kZSAldSIsIGJhc3RfbW9kZSk7CisJfQorCisJbHMtPmZzY2IobHMtPnNkcCwgY2IsICZscC0+bG9ja25hbWUpOworfQorCisKK3N0YXRpYyB2b2lkIGdkbG1fYmFzdCh2b2lkICphc3RhcmcsIGludCBtb2RlKQoreworCXN0cnVjdCBnZGxtX2xvY2sgKmxwID0gYXN0YXJnOwogCiAJaWYgKCFtb2RlKSB7CiAJCXByaW50ayhLRVJOX0lORk8gImxvY2tfZGxtOiBiYXN0IG1vZGUgemVybyAleCwlbGx4XG4iLApAQCAtNDAsMjMgKzMwMCw3IEBACiAJCXJldHVybjsKIAl9CiAKLQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlpZiAoIWxwLT5iYXN0X21vZGUpIHsKLQkJbGlzdF9hZGRfdGFpbCgmbHAtPmJsaXN0LCAmbHMtPmJsb2NraW5nKTsKLQkJbHAtPmJhc3RfbW9kZSA9IG1vZGU7Ci0JfSBlbHNlIGlmIChscC0+YmFzdF9tb2RlIDwgbW9kZSkKLQkJbHAtPmJhc3RfbW9kZSA9IG1vZGU7Ci0Jc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKLQl3YWtlX3VwKCZscy0+dGhyZWFkX3dhaXQpOwotfQotCi12b2lkIGdkbG1fcXVldWVfZGVsYXllZChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKLXsKLQlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7Ci0KLQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlsaXN0X2FkZF90YWlsKCZscC0+ZGVsYXlfbGlzdCwgJmxzLT5kZWxheWVkKTsKLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOworCXByb2Nlc3NfYmxvY2tpbmcobHAsIG1vZGUpOwogfQogCiAvKiBjb252ZXJ0IGdmcyBsb2NrLXN0YXRlIHRvIGRsbSBsb2NrLW1vZGUgKi8KQEAgLTc3LDI0ICszMjEsNiBAQAogCXJldHVybiAtMTsKIH0KIAotLyogY29udmVydCBkbG0gbG9jay1tb2RlIHRvIGdmcyBsb2NrLXN0YXRlICovCi0KLXMxNiBnZGxtX21ha2VfbG1zdGF0ZShzMTYgZGxtbW9kZSkKLXsKLQlzd2l0Y2ggKGRsbW1vZGUpIHsKLQljYXNlIERMTV9MT0NLX0lWOgotCWNhc2UgRExNX0xPQ0tfTkw6Ci0JCXJldHVybiBMTV9TVF9VTkxPQ0tFRDsKLQljYXNlIERMTV9MT0NLX0VYOgotCQlyZXR1cm4gTE1fU1RfRVhDTFVTSVZFOwotCWNhc2UgRExNX0xPQ0tfQ1c6Ci0JCXJldHVybiBMTV9TVF9ERUZFUlJFRDsKLQljYXNlIERMTV9MT0NLX1BSOgotCQlyZXR1cm4gTE1fU1RfU0hBUkVEOwotCX0KLQlnZGxtX2Fzc2VydCgwLCAidW5rbm93biBETE0gbW9kZSAlZCIsIGRsbW1vZGUpOwotCXJldHVybiAtMTsKLX0KIAogLyogdmVyaWZ5IGFncmVlbWVudCB3aXRoIEdGUyBvbiB0aGUgY3VycmVudCBsb2NrIHN0YXRlLCBOQjogRExNX0xPQ0tfTkwgYW5kCiAgICBETE1fTE9DS19JViBhcmUgYm90aCBjb25zaWRlcmVkIExNX1NUX1VOTE9DS0VEIGJ5IEdGUy4gKi8KQEAgLTEzNCwxNCArMzYwLDYgQEAKIAogCWlmIChscC0+bGtzYi5zYl9sa2lkICE9IDApIHsKIAkJbGtmIHw9IERMTV9MS0ZfQ09OVkVSVDsKLQotCQkvKiBDb252ZXJzaW9uIGRlYWRsb2NrIGF2b2lkYW5jZSBieSBETE0gKi8KLQotCQlpZiAoIShscC0+bHMtPmZzZmxhZ3MgJiBMTV9NRkxBR19DT05WX05PRFJPUCkgJiYKLQkJICAgICF0ZXN0X2JpdChMRkxfRk9SQ0VfUFJPTU9URSwgJmxwLT5mbGFncykgJiYKLQkJICAgICEobGtmICYgRExNX0xLRl9OT1FVRVVFKSAmJgotCQkgICAgY3VyID4gRExNX0xPQ0tfTkwgJiYgcmVxID4gRExNX0xPQ0tfTkwgJiYgY3VyICE9IHJlcSkKLQkJCWxrZiB8PSBETE1fTEtGX0NPTlZERUFETEs7CiAJfQogCiAJaWYgKGxwLT5sdmIpCkBAIC0xNzMsMTQgKzM5MSw5IEBACiAJbWFrZV9zdHJuYW1lKG5hbWUsICZscC0+c3RybmFtZSk7CiAJbHAtPmxzID0gbHM7CiAJbHAtPmN1ciA9IERMTV9MT0NLX0lWOwotCWxwLT5sdmIgPSBOVUxMOwotCWxwLT5ob2xkX251bGwgPSBOVUxMOwotCUlOSVRfTElTVF9IRUFEKCZscC0+Y2xpc3QpOwotCUlOSVRfTElTVF9IRUFEKCZscC0+Ymxpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZscC0+ZGVsYXlfbGlzdCk7CiAKIAlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlsaXN0X2FkZCgmbHAtPmFsbF9saXN0LCAmbHMtPmFsbF9sb2Nrcyk7CiAJbHMtPmFsbF9sb2Nrc19jb3VudCsrOwogCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAKQEAgLTE4OCwyNiArNDAxLDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotdm9pZCBnZGxtX2RlbGV0ZV9scChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKLXsKLQlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7Ci0KLQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlpZiAoIWxpc3RfZW1wdHkoJmxwLT5jbGlzdCkpCi0JCWxpc3RfZGVsX2luaXQoJmxwLT5jbGlzdCk7Ci0JaWYgKCFsaXN0X2VtcHR5KCZscC0+Ymxpc3QpKQotCQlsaXN0X2RlbF9pbml0KCZscC0+Ymxpc3QpOwotCWlmICghbGlzdF9lbXB0eSgmbHAtPmRlbGF5X2xpc3QpKQotCQlsaXN0X2RlbF9pbml0KCZscC0+ZGVsYXlfbGlzdCk7Ci0JZ2RsbV9hc3NlcnQoIWxpc3RfZW1wdHkoJmxwLT5hbGxfbGlzdCksICIleCwlbGx4IiwgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOwotCWxpc3RfZGVsX2luaXQoJmxwLT5hbGxfbGlzdCk7Ci0JbHMtPmFsbF9sb2Nrc19jb3VudC0tOwotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0KLQlrZnJlZShscCk7Ci19Ci0KIGludCBnZGxtX2dldF9sb2NrKHZvaWQgKmxvY2tzcGFjZSwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAogCQkgIHZvaWQgKipsb2NrcCkKIHsKQEAgLTI2MSw3ICs0NTQsNyBAQAogCiAJaWYgKChlcnJvciA9PSAtRUFHQUlOKSAmJiAobHAtPmxrZiAmIERMTV9MS0ZfTk9RVUVVRSkpIHsKIAkJbHAtPmxrc2Iuc2Jfc3RhdHVzID0gLUVBR0FJTjsKLQkJcXVldWVfY29tcGxldGUobHApOworCQlnZGxtX2FzdChscCk7CiAJCWVycm9yID0gMDsKIAl9CiAKQEAgLTMwOCw2ICs1MDEsMTIgQEAKIHsKIAlzdHJ1Y3QgZ2RsbV9sb2NrICpscCA9IGxvY2s7CiAKKwlpZiAocmVxX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKQorCQlyZXR1cm4gZ2RsbV91bmxvY2sobG9jaywgY3VyX3N0YXRlKTsKKworCWlmIChyZXFfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpCisJCXJldHVybiBnZGxtX3VubG9jayhsb2NrLCBjdXJfc3RhdGUpOworCiAJY2xlYXJfYml0KExGTF9ETE1fQ0FOQ0VMLCAmbHAtPmZsYWdzKTsKIAlpZiAoZmxhZ3MgJiBMTV9GTEFHX05PRVhQKQogCQlzZXRfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKTsKQEAgLTM1MSw3ICs1NTAsNyBAQAogCWlmIChkZWxheV9saXN0KSB7CiAJCXNldF9iaXQoTEZMX0NBTkNFTCwgJmxwLT5mbGFncyk7CiAJCXNldF9iaXQoTEZMX0FDVElWRSwgJmxwLT5mbGFncyk7Ci0JCXF1ZXVlX2NvbXBsZXRlKGxwKTsKKwkJZ2RsbV9hc3QobHApOwogCQlyZXR1cm47CiAJfQogCkBAIC01MDcsMjIgKzcwNiwzIEBACiAJd2FrZV91cCgmbHMtPnRocmVhZF93YWl0KTsKIH0KIAotaW50IGdkbG1fcmVsZWFzZV9hbGxfbG9ja3Moc3RydWN0IGdkbG1fbHMgKmxzKQotewotCXN0cnVjdCBnZGxtX2xvY2sgKmxwLCAqc2FmZTsKLQlpbnQgY291bnQgPSAwOwotCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGxwLCBzYWZlLCAmbHMtPmFsbF9sb2NrcywgYWxsX2xpc3QpIHsKLQkJbGlzdF9kZWxfaW5pdCgmbHAtPmFsbF9saXN0KTsKLQotCQlpZiAobHAtPmx2YiAmJiBscC0+bHZiICE9IGp1bmtfbHZiKQotCQkJa2ZyZWUobHAtPmx2Yik7Ci0JCWtmcmVlKGxwKTsKLQkJY291bnQrKzsKLQl9Ci0Jc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKLQotCXJldHVybiBjb3VudDsKLX0KLQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrX2RsbS5oIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrX2RsbS5oCmluZGV4IGEyNDNjZjYuLjNjOThlN2MgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9ja19kbG0uaAorKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2tfZGxtLmgKQEAgLTcyLDE5ICs3MiwxMiBAQAogCWludAkJCXJlY292ZXJfamlkX2RvbmU7CiAJaW50CQkJcmVjb3Zlcl9qaWRfc3RhdHVzOwogCXNwaW5sb2NrX3QJCWFzeW5jX2xvY2s7Ci0Jc3RydWN0IGxpc3RfaGVhZAljb21wbGV0ZTsKLQlzdHJ1Y3QgbGlzdF9oZWFkCWJsb2NraW5nOwogCXN0cnVjdCBsaXN0X2hlYWQJZGVsYXllZDsKIAlzdHJ1Y3QgbGlzdF9oZWFkCXN1Ym1pdDsKLQlzdHJ1Y3QgbGlzdF9oZWFkCWFsbF9sb2NrczsKIAl1MzIJCWFsbF9sb2Nrc19jb3VudDsKIAl3YWl0X3F1ZXVlX2hlYWRfdAl3YWl0X2NvbnRyb2w7Ci0Jc3RydWN0IHRhc2tfc3RydWN0CSp0aHJlYWQxOwotCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGhyZWFkMjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRocmVhZDsKIAl3YWl0X3F1ZXVlX2hlYWRfdAl0aHJlYWRfd2FpdDsKLQl1bnNpZ25lZCBsb25nCQlkcm9wX3RpbWU7Ci0JaW50CQkJZHJvcF9sb2Nrc19jb3VudDsKLQlpbnQJCQlkcm9wX2xvY2tzX3BlcmlvZDsKIH07CiAKIGVudW0gewpAQCAtMTE3LDEyICsxMTAsNyBAQAogCXUzMgkJCWxrZjsJCS8qIGRsbSBmbGFncyBETE1fTEtGXyAqLwogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwkJLyogbG9ja19kbG0gZmxhZ3MgTEZMXyAqLwogCi0JaW50CQkJYmFzdF9tb2RlOwkvKiBwcm90ZWN0ZWQgYnkgYXN5bmNfbG9jayAqLwotCi0Jc3RydWN0IGxpc3RfaGVhZAljbGlzdDsJCS8qIGNvbXBsZXRlICovCi0Jc3RydWN0IGxpc3RfaGVhZAlibGlzdDsJCS8qIGJsb2NraW5nICovCiAJc3RydWN0IGxpc3RfaGVhZAlkZWxheV9saXN0OwkvKiBkZWxheWVkICovCi0Jc3RydWN0IGxpc3RfaGVhZAlhbGxfbGlzdDsJLyogYWxsIGxvY2tzIGZvciB0aGUgZnMgKi8KIAlzdHJ1Y3QgZ2RsbV9sb2NrCSpob2xkX251bGw7CS8qIE5MIGxvY2sgZm9yIGhvbGRfbHZiICovCiB9OwogCkBAIC0xNTksMTEgKzE0Nyw3IEBACiAKIC8qIGxvY2suYyAqLwogCi1zMTYgZ2RsbV9tYWtlX2xtc3RhdGUoczE2KTsKLXZvaWQgZ2RsbV9xdWV1ZV9kZWxheWVkKHN0cnVjdCBnZGxtX2xvY2sgKik7CiB2b2lkIGdkbG1fc3VibWl0X2RlbGF5ZWQoc3RydWN0IGdkbG1fbHMgKik7Ci1pbnQgZ2RsbV9yZWxlYXNlX2FsbF9sb2NrcyhzdHJ1Y3QgZ2RsbV9scyAqKTsKLXZvaWQgZ2RsbV9kZWxldGVfbHAoc3RydWN0IGdkbG1fbG9jayAqKTsKIHVuc2lnbmVkIGludCBnZGxtX2RvX2xvY2soc3RydWN0IGdkbG1fbG9jayAqKTsKIAogaW50IGdkbG1fZ2V0X2xvY2sodm9pZCAqLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKiwgdm9pZCAqKik7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvZGxtL21vdW50LmMgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL21vdW50LmMKaW5kZXggNDcwYmRmNi4uMDlkNzhjMiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9tb3VudC5jCisrKyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbW91bnQuYwpAQCAtMjIsMjIgKzIyLDE0IEBACiAJaWYgKCFscykKIAkJcmV0dXJuIE5VTEw7CiAKLQlscy0+ZHJvcF9sb2Nrc19jb3VudCA9IEdETE1fRFJPUF9DT1VOVDsKLQlscy0+ZHJvcF9sb2Nrc19wZXJpb2QgPSBHRExNX0RST1BfUEVSSU9EOwogCWxzLT5mc2NiID0gY2I7CiAJbHMtPnNkcCA9IHNkcDsKIAlscy0+ZnNmbGFncyA9IGZsYWdzOwogCXNwaW5fbG9ja19pbml0KCZscy0+YXN5bmNfbG9jayk7Ci0JSU5JVF9MSVNUX0hFQUQoJmxzLT5jb21wbGV0ZSk7Ci0JSU5JVF9MSVNUX0hFQUQoJmxzLT5ibG9ja2luZyk7CiAJSU5JVF9MSVNUX0hFQUQoJmxzLT5kZWxheWVkKTsKIAlJTklUX0xJU1RfSEVBRCgmbHMtPnN1Ym1pdCk7Ci0JSU5JVF9MSVNUX0hFQUQoJmxzLT5hbGxfbG9ja3MpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmxzLT50aHJlYWRfd2FpdCk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmbHMtPndhaXRfY29udHJvbCk7Ci0JbHMtPnRocmVhZDEgPSBOVUxMOwotCWxzLT50aHJlYWQyID0gTlVMTDsKLQlscy0+ZHJvcF90aW1lID0gamlmZmllczsKIAlscy0+amlkID0gLTE7CiAKIAlzdHJuY3B5KGJ1ZiwgdGFibGVfbmFtZSwgMjU2KTsKQEAgLTE4MCw3ICsxNzIsNiBAQAogc3RhdGljIHZvaWQgZ2RsbV91bm1vdW50KHZvaWQgKmxvY2tzcGFjZSkKIHsKIAlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBsb2Nrc3BhY2U7Ci0JaW50IHJ2OwogCiAJbG9nX2RlYnVnKCJ1bm1vdW50IGZsYWdzICVseCIsIGxzLT5mbGFncyk7CiAKQEAgLTE5NCw5ICsxODUsNyBAQAogCWdkbG1fa29iamVjdF9yZWxlYXNlKGxzKTsKIAlkbG1fcmVsZWFzZV9sb2Nrc3BhY2UobHMtPmRsbV9sb2Nrc3BhY2UsIDIpOwogCWdkbG1fcmVsZWFzZV90aHJlYWRzKGxzKTsKLQlydiA9IGdkbG1fcmVsZWFzZV9hbGxfbG9ja3MobHMpOwotCWlmIChydikKLQkJbG9nX2luZm8oImdkbG1fdW5tb3VudDogJWQgc3RyYXkgbG9ja3MgZnJlZWQiLCBydik7CisJQlVHX09OKGxzLT5hbGxfbG9ja3NfY291bnQpOwogb3V0OgogCWtmcmVlKGxzKTsKIH0KQEAgLTIzMiw3ICsyMjEsNiBAQAogCiAJZGxtX3JlbGVhc2VfbG9ja3NwYWNlKGxzLT5kbG1fbG9ja3NwYWNlLCAyKTsKIAlnZGxtX3JlbGVhc2VfdGhyZWFkcyhscyk7Ci0JZ2RsbV9yZWxlYXNlX2FsbF9sb2Nrcyhscyk7CiAJZ2RsbV9rb2JqZWN0X3JlbGVhc2UobHMpOwogfQogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvZGxtL3N5c2ZzLmMgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL3N5c2ZzLmMKaW5kZXggYTRmZjI3MS4uNGVjNTcxYyAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9zeXNmcy5jCisrKyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vc3lzZnMuYwpAQCAtMTE0LDE3ICsxMTQsNiBAQAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBscy0+cmVjb3Zlcl9qaWRfc3RhdHVzKTsKIH0KIAotc3RhdGljIHNzaXplX3QgZHJvcF9jb3VudF9zaG93KHN0cnVjdCBnZGxtX2xzICpscywgY2hhciAqYnVmKQotewotCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBscy0+ZHJvcF9sb2Nrc19jb3VudCk7Ci19Ci0KLXN0YXRpYyBzc2l6ZV90IGRyb3BfY291bnRfc3RvcmUoc3RydWN0IGdkbG1fbHMgKmxzLCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCi17Ci0JbHMtPmRyb3BfbG9ja3NfY291bnQgPSBzaW1wbGVfc3RydG9sKGJ1ZiwgTlVMTCwgMCk7Ci0JcmV0dXJuIGxlbjsKLX0KLQogc3RydWN0IGdkbG1fYXR0ciB7CiAJc3RydWN0IGF0dHJpYnV0ZSBhdHRyOwogCXNzaXplX3QgKCpzaG93KShzdHJ1Y3QgZ2RsbV9scyAqLCBjaGFyICopOwpAQCAtMTQ0LDcgKzEzMyw2IEBACiBHRExNX0FUVFIocmVjb3ZlciwgICAgICAgIDA2NDQsIHJlY292ZXJfc2hvdywgICAgICAgIHJlY292ZXJfc3RvcmUpOwogR0RMTV9BVFRSKHJlY292ZXJfZG9uZSwgICAwNDQ0LCByZWNvdmVyX2RvbmVfc2hvdywgICBOVUxMKTsKIEdETE1fQVRUUihyZWNvdmVyX3N0YXR1cywgMDQ0NCwgcmVjb3Zlcl9zdGF0dXNfc2hvdywgTlVMTCk7Ci1HRExNX0FUVFIoZHJvcF9jb3VudCwgICAgIDA2NDQsIGRyb3BfY291bnRfc2hvdywgICAgIGRyb3BfY291bnRfc3RvcmUpOwogCiBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqZ2RsbV9hdHRyc1tdID0gewogCSZnZGxtX2F0dHJfcHJvdG9fbmFtZS5hdHRyLApAQCAtMTU3LDcgKzE0NSw2IEBACiAJJmdkbG1fYXR0cl9yZWNvdmVyLmF0dHIsCiAJJmdkbG1fYXR0cl9yZWNvdmVyX2RvbmUuYXR0ciwKIAkmZ2RsbV9hdHRyX3JlY292ZXJfc3RhdHVzLmF0dHIsCi0JJmdkbG1fYXR0cl9kcm9wX2NvdW50LmF0dHIsCiAJTlVMTCwKIH07CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9kbG0vdGhyZWFkLmMgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL3RocmVhZC5jCmluZGV4IGU1M2RiNmYuLjM4ODIzZWYgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy9kbG0vdGhyZWFkLmMKKysrIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS90aHJlYWQuYwpAQCAtOSwzNjcgKzksNjAgQEAKIAogI2luY2x1ZGUgImxvY2tfZGxtLmgiCiAKLS8qIEEgbG9jayBwbGFjZWQgb24gdGhpcyBxdWV1ZSBpcyByZS1zdWJtaXR0ZWQgdG8gRExNIGFzIHNvb24gYXMgdGhlIGxvY2tfZGxtCi0gICB0aHJlYWQgZ2V0cyB0byBpdC4gKi8KLQotc3RhdGljIHZvaWQgcXVldWVfc3VibWl0KHN0cnVjdCBnZGxtX2xvY2sgKmxwKQotewotCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKLQotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfYWRkX3RhaWwoJmxwLT5kZWxheV9saXN0LCAmbHMtPnN1Ym1pdCk7Ci0Jc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKLQl3YWtlX3VwKCZscy0+dGhyZWFkX3dhaXQpOwotfQotCi1zdGF0aWMgdm9pZCBwcm9jZXNzX2Jsb2NraW5nKHN0cnVjdCBnZGxtX2xvY2sgKmxwLCBpbnQgYmFzdF9tb2RlKQotewotCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKLQl1bnNpZ25lZCBpbnQgY2IgPSAwOwotCi0Jc3dpdGNoIChnZGxtX21ha2VfbG1zdGF0ZShiYXN0X21vZGUpKSB7Ci0JY2FzZSBMTV9TVF9FWENMVVNJVkU6Ci0JCWNiID0gTE1fQ0JfTkVFRF9FOwotCQlicmVhazsKLQljYXNlIExNX1NUX0RFRkVSUkVEOgotCQljYiA9IExNX0NCX05FRURfRDsKLQkJYnJlYWs7Ci0JY2FzZSBMTV9TVF9TSEFSRUQ6Ci0JCWNiID0gTE1fQ0JfTkVFRF9TOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlnZGxtX2Fzc2VydCgwLCAidW5rbm93biBiYXN0IG1vZGUgJXUiLCBscC0+YmFzdF9tb2RlKTsKLQl9Ci0KLQlscy0+ZnNjYihscy0+c2RwLCBjYiwgJmxwLT5sb2NrbmFtZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHdha2VfdXBfYXN0KHN0cnVjdCBnZGxtX2xvY2sgKmxwKQotewotCWNsZWFyX2JpdChMRkxfQVNUX1dBSVQsICZscC0+ZmxhZ3MpOwotCXNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7Ci0Jd2FrZV91cF9iaXQoJmxwLT5mbGFncywgTEZMX0FTVF9XQUlUKTsKLX0KLQotc3RhdGljIHZvaWQgcHJvY2Vzc19jb21wbGV0ZShzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKLXsKLQlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7Ci0Jc3RydWN0IGxtX2FzeW5jX2NiIGFjYjsKLQlzMTYgcHJldl9tb2RlID0gbHAtPmN1cjsKLQotCW1lbXNldCgmYWNiLCAwLCBzaXplb2YoYWNiKSk7Ci0KLQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzID09IC1ETE1fRUNBTkNFTCkgewotCQlsb2dfaW5mbygiY29tcGxldGUgZGxtIGNhbmNlbCAleCwlbGx4IGZsYWdzICVseCIsCi0JCSAJIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKLQkJCSBscC0+ZmxhZ3MpOwotCi0JCWxwLT5yZXEgPSBscC0+Y3VyOwotCQlhY2IubGNfcmV0IHw9IExNX09VVF9DQU5DRUxFRDsKLQkJaWYgKGxwLT5jdXIgPT0gRExNX0xPQ0tfSVYpCi0JCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKLQkJZ290byBvdXQ7Ci0JfQotCi0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfRExNX1VOTE9DSywgJmxwLT5mbGFncykpIHsKLQkJaWYgKGxwLT5sa3NiLnNiX3N0YXR1cyAhPSAtRExNX0VVTkxPQ0spIHsKLQkJCWxvZ19pbmZvKCJ1bmxvY2sgc2Jfc3RhdHVzICVkICV4LCVsbHggZmxhZ3MgJWx4IiwKLQkJCQkgbHAtPmxrc2Iuc2Jfc3RhdHVzLCBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAotCQkJCSBscC0+ZmxhZ3MpOwotCQkJcmV0dXJuOwotCQl9Ci0KLQkJbHAtPmN1ciA9IERMTV9MT0NLX0lWOwotCQlscC0+cmVxID0gRExNX0xPQ0tfSVY7Ci0JCWxwLT5sa3NiLnNiX2xraWQgPSAwOwotCi0JCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX1VOTE9DS19ERUxFVEUsICZscC0+ZmxhZ3MpKSB7Ci0JCQlnZGxtX2RlbGV0ZV9scChscCk7Ci0JCQlyZXR1cm47Ci0JCX0KLQkJZ290byBvdXQ7Ci0JfQotCi0JaWYgKGxwLT5sa3NiLnNiX2ZsYWdzICYgRExNX1NCRl9WQUxOT1RWQUxJRCkKLQkJbWVtc2V0KGxwLT5sa3NiLnNiX2x2YnB0ciwgMCwgR0RMTV9MVkJfU0laRSk7Ci0KLQlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX0FMVE1PREUpIHsKLQkJaWYgKGxwLT5yZXEgPT0gRExNX0xPQ0tfUFIpCi0JCQlscC0+cmVxID0gRExNX0xPQ0tfQ1c7Ci0JCWVsc2UgaWYgKGxwLT5yZXEgPT0gRExNX0xPQ0tfQ1cpCi0JCQlscC0+cmVxID0gRExNX0xPQ0tfUFI7Ci0JfQotCi0JLyoKLQkgKiBBIGNhbmNlbGVkIGxvY2sgcmVxdWVzdC4gIFRoZSBsb2NrIHdhcyBqdXN0IHRha2VuIG9mZiB0aGUgZGVsYXllZAotCSAqIGxpc3QgYW5kIHdhcyBuZXZlciBldmVuIHN1Ym1pdHRlZCB0byBkbG0uCi0JICovCi0KLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9DQU5DRUwsICZscC0+ZmxhZ3MpKSB7Ci0JCWxvZ19pbmZvKCJjb21wbGV0ZSBpbnRlcm5hbCBjYW5jZWwgJXgsJWxseCIsCi0JCSAJIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7Ci0JCWxwLT5yZXEgPSBscC0+Y3VyOwotCQlhY2IubGNfcmV0IHw9IExNX09VVF9DQU5DRUxFRDsKLQkJZ290byBvdXQ7Ci0JfQotCi0JLyoKLQkgKiBBbiBlcnJvciBvY2N1cmVkLgotCSAqLwotCi0JaWYgKGxwLT5sa3NiLnNiX3N0YXR1cykgewotCQkvKiBhICJub3JtYWwiIGVycm9yICovCi0JCWlmICgobHAtPmxrc2Iuc2Jfc3RhdHVzID09IC1FQUdBSU4pICYmCi0JCSAgICAobHAtPmxrZiAmIERMTV9MS0ZfTk9RVUVVRSkpIHsKLQkJCWxwLT5yZXEgPSBscC0+Y3VyOwotCQkJaWYgKGxwLT5jdXIgPT0gRExNX0xPQ0tfSVYpCi0JCQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7Ci0JCQlnb3RvIG91dDsKLQkJfQotCi0JCS8qIHRoaXMgY291bGQgb25seSBoYXBwZW4gd2l0aCBjYW5jZWxzIEkgdGhpbmsgKi8KLQkJbG9nX2luZm8oImFzdCBzYl9zdGF0dXMgJWQgJXgsJWxseCBmbGFncyAlbHgiLAotCQkJIGxwLT5sa3NiLnNiX3N0YXR1cywgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAotCQkJIGxwLT5mbGFncyk7Ci0JCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLUVERUFETE9DSyAmJgotCQkgICAgbHAtPmxzLT5mc2ZsYWdzICYgTE1fTUZMQUdfQ09OVl9OT0RST1ApIHsKLQkJCWxwLT5yZXEgPSBscC0+Y3VyOwotCQkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ09OVl9ERUFETEs7Ci0JCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKLQkJCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKLQkJCWdvdG8gb3V0OwotCQl9IGVsc2UKLQkJCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIFRoaXMgaXMgYW4gQVNUIGZvciBhbiBFWC0+RVggY29udmVyc2lvbiBmb3Igc3luY19sdmIgZnJvbSBHRlMuCi0JICovCi0KLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9TWU5DX0xWQiwgJmxwLT5mbGFncykpIHsKLQkJd2FrZV91cF9hc3QobHApOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBBIGxvY2sgaGFzIGJlZW4gZGVtb3RlZCB0byBOTCBiZWNhdXNlIGl0IGluaXRpYWxseSBjb21wbGV0ZWQgZHVyaW5nCi0JICogQkxPQ0tfTE9DS1MuICBOb3cgaXQgbXVzdCBiZSByZXF1ZXN0ZWQgaW4gdGhlIG9yaWdpbmFsbHkgcmVxdWVzdGVkCi0JICogbW9kZS4KLQkgKi8KLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX1JFUkVRVUVTVCwgJmxwLT5mbGFncykpIHsKLQkJZ2RsbV9hc3NlcnQobHAtPnJlcSA9PSBETE1fTE9DS19OTCwgIiV4LCVsbHgiLAotCQkJICAgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7Ci0JCWdkbG1fYXNzZXJ0KGxwLT5wcmV2X3JlcSA+IERMTV9MT0NLX05MLCAiJXgsJWxseCIsCi0JCQkgICAgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKLQotCQlscC0+Y3VyID0gRExNX0xPQ0tfTkw7Ci0JCWxwLT5yZXEgPSBscC0+cHJldl9yZXE7Ci0JCWxwLT5wcmV2X3JlcSA9IERMTV9MT0NLX0lWOwotCQlscC0+bGtmICY9IH5ETE1fTEtGX0NPTlZERUFETEs7Ci0KLQkJc2V0X2JpdChMRkxfTk9DQUNIRSwgJmxwLT5mbGFncyk7Ci0KLQkJaWYgKHRlc3RfYml0KERGTF9CTE9DS19MT0NLUywgJmxzLT5mbGFncykgJiYKLQkJICAgICF0ZXN0X2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncykpCi0JCQlnZGxtX3F1ZXVlX2RlbGF5ZWQobHApOwotCQllbHNlCi0JCQlxdWV1ZV9zdWJtaXQobHApOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBBIHJlcXVlc3QgaXMgZ3JhbnRlZCBkdXJpbmcgZGxtIHJlY292ZXJ5LiAgSXQgbWF5IGJlIGdyYW50ZWQKLQkgKiBiZWNhdXNlIHRoZSBsb2NrcyBvZiBhIGZhaWxlZCBub2RlIHdlcmUgY2xlYXJlZC4gIEluIHRoYXQgY2FzZSwKLQkgKiB0aGVyZSBtYXkgYmUgaW5jb25zaXN0ZW50IGRhdGEgYmVuZWF0aCB0aGlzIGxvY2sgYW5kIHdlIG11c3Qgd2FpdAotCSAqIGZvciByZWNvdmVyeSB0byBjb21wbGV0ZSB0byB1c2UgaXQuICBXaGVuIGdmcyByZWNvdmVyeSBpcyBkb25lIHRoaXMKLQkgKiBncmFudGVkIGxvY2sgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gTkwgYW5kIHRoZW4gcmVhY3F1aXJlZCBpbiB0aGlzCi0JICogZ3JhbnRlZCBzdGF0ZS4KLQkgKi8KLQotCWlmICh0ZXN0X2JpdChERkxfQkxPQ0tfTE9DS1MsICZscy0+ZmxhZ3MpICYmCi0JICAgICF0ZXN0X2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncykgJiYKLQkgICAgbHAtPnJlcSAhPSBETE1fTE9DS19OTCkgewotCi0JCWxwLT5jdXIgPSBscC0+cmVxOwotCQlscC0+cHJldl9yZXEgPSBscC0+cmVxOwotCQlscC0+cmVxID0gRExNX0xPQ0tfTkw7Ci0JCWxwLT5sa2YgfD0gRExNX0xLRl9DT05WRVJUOwotCQlscC0+bGtmICY9IH5ETE1fTEtGX0NPTlZERUFETEs7Ci0KLQkJbG9nX2RlYnVnKCJyZXJlcSAleCwlbGx4IGlkICV4ICVkLCVkIiwKLQkJCSAgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKLQkJCSAgbHAtPmxrc2Iuc2JfbGtpZCwgbHAtPmN1ciwgbHAtPnJlcSk7Ci0KLQkJc2V0X2JpdChMRkxfUkVSRVFVRVNULCAmbHAtPmZsYWdzKTsKLQkJcXVldWVfc3VibWl0KGxwKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qCi0JICogRExNIGRlbW90ZWQgdGhlIGxvY2sgdG8gTkwgYmVmb3JlIGl0IHdhcyBncmFudGVkIHNvIEdGUyBtdXN0IGJlCi0JICogdG9sZCBpdCBjYW5ub3QgY2FjaGUgZGF0YSBmb3IgdGhpcyBsb2NrLgotCSAqLwotCi0JaWYgKGxwLT5sa3NiLnNiX2ZsYWdzICYgRExNX1NCRl9ERU1PVEVEKQotCQlzZXRfYml0KExGTF9OT0NBQ0hFLCAmbHAtPmZsYWdzKTsKLQotb3V0OgotCS8qCi0JICogVGhpcyBpcyBhbiBpbnRlcm5hbCBsb2NrX2RsbSBsb2NrCi0JICovCi0KLQlpZiAodGVzdF9iaXQoTEZMX0lOTE9DSywgJmxwLT5mbGFncykpIHsKLQkJY2xlYXJfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKTsKLQkJbHAtPmN1ciA9IGxwLT5yZXE7Ci0JCXdha2VfdXBfYXN0KGxwKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qCi0JICogTm9ybWFsIGNvbXBsZXRpb24gb2YgYSBsb2NrIHJlcXVlc3QuICBUZWxsIEdGUyBpdCBub3cgaGFzIHRoZSBsb2NrLgotCSAqLwotCi0JY2xlYXJfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKTsKLQlscC0+Y3VyID0gbHAtPnJlcTsKLQotCWFjYi5sY19uYW1lID0gbHAtPmxvY2tuYW1lOwotCWFjYi5sY19yZXQgfD0gZ2RsbV9tYWtlX2xtc3RhdGUobHAtPmN1cik7Ci0KLQlpZiAoIXRlc3RfYW5kX2NsZWFyX2JpdChMRkxfTk9DQUNIRSwgJmxwLT5mbGFncykgJiYKLQkgICAgKGxwLT5jdXIgPiBETE1fTE9DS19OTCkgJiYgKHByZXZfbW9kZSA+IERMTV9MT0NLX05MKSkKLQkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FDSEVBQkxFOwotCi0JbHMtPmZzY2IobHMtPnNkcCwgTE1fQ0JfQVNZTkMsICZhY2IpOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBub193b3JrKHN0cnVjdCBnZGxtX2xzICpscywgaW50IGJsb2NraW5nKQorc3RhdGljIGlubGluZSBpbnQgbm9fd29yayhzdHJ1Y3QgZ2RsbV9scyAqbHMpCiB7CiAJaW50IHJldDsKIAogCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCXJldCA9IGxpc3RfZW1wdHkoJmxzLT5jb21wbGV0ZSkgJiYgbGlzdF9lbXB0eSgmbHMtPnN1Ym1pdCk7Ci0JaWYgKHJldCAmJiBibG9ja2luZykKLQkJcmV0ID0gbGlzdF9lbXB0eSgmbHMtPmJsb2NraW5nKTsKKwlyZXQgPSBsaXN0X2VtcHR5KCZscy0+c3VibWl0KTsKIAlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwogCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgY2hlY2tfZHJvcChzdHJ1Y3QgZ2RsbV9scyAqbHMpCi17Ci0JaWYgKCFscy0+ZHJvcF9sb2Nrc19jb3VudCkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCBscy0+ZHJvcF90aW1lICsgbHMtPmRyb3BfbG9ja3NfcGVyaW9kICogSFopKSB7Ci0JCWxzLT5kcm9wX3RpbWUgPSBqaWZmaWVzOwotCQlpZiAobHMtPmFsbF9sb2Nrc19jb3VudCA+PSBscy0+ZHJvcF9sb2Nrc19jb3VudCkKLQkJCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBnZGxtX3RocmVhZCh2b2lkICpkYXRhLCBpbnQgYmxpc3QpCitzdGF0aWMgaW50IGdkbG1fdGhyZWFkKHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IGdkbG1fbHMgKmxzID0gKHN0cnVjdCBnZGxtX2xzICopIGRhdGE7CiAJc3RydWN0IGdkbG1fbG9jayAqbHAgPSBOVUxMOwotCXVpbnQ4X3QgY29tcGxldGUsIGJsb2NraW5nLCBzdWJtaXQsIGRyb3A7Ci0KLQkvKiBPbmx5IHRocmVhZDEgaXMgYWxsb3dlZCB0byBkbyBibG9ja2luZyBjYWxsYmFja3Mgc2luY2UgZ2ZzCi0JICAgbWF5IHdhaXQgZm9yIGEgY29tcGxldGlvbiBjYWxsYmFjayB3aXRoaW4gYSBibG9ja2luZyBjYi4gKi8KIAogCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKSB7CiAJCXdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShscy0+dGhyZWFkX3dhaXQsCi0JCQkJIW5vX3dvcmsobHMsIGJsaXN0KSB8fCBrdGhyZWFkX3Nob3VsZF9zdG9wKCkpOwotCi0JCWNvbXBsZXRlID0gYmxvY2tpbmcgPSBzdWJtaXQgPSBkcm9wID0gMDsKKwkJCQkhbm9fd29yayhscykgfHwga3RocmVhZF9zaG91bGRfc3RvcCgpKTsKIAogCQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKIAotCQlpZiAoYmxpc3QgJiYgIWxpc3RfZW1wdHkoJmxzLT5ibG9ja2luZykpIHsKLQkJCWxwID0gbGlzdF9lbnRyeShscy0+YmxvY2tpbmcubmV4dCwgc3RydWN0IGdkbG1fbG9jaywKLQkJCQkJYmxpc3QpOwotCQkJbGlzdF9kZWxfaW5pdCgmbHAtPmJsaXN0KTsKLQkJCWJsb2NraW5nID0gbHAtPmJhc3RfbW9kZTsKLQkJCWxwLT5iYXN0X21vZGUgPSAwOwotCQl9IGVsc2UgaWYgKCFsaXN0X2VtcHR5KCZscy0+Y29tcGxldGUpKSB7Ci0JCQlscCA9IGxpc3RfZW50cnkobHMtPmNvbXBsZXRlLm5leHQsIHN0cnVjdCBnZGxtX2xvY2ssCi0JCQkJCWNsaXN0KTsKLQkJCWxpc3RfZGVsX2luaXQoJmxwLT5jbGlzdCk7Ci0JCQljb21wbGV0ZSA9IDE7Ci0JCX0gZWxzZSBpZiAoIWxpc3RfZW1wdHkoJmxzLT5zdWJtaXQpKSB7CisJCWlmICghbGlzdF9lbXB0eSgmbHMtPnN1Ym1pdCkpIHsKIAkJCWxwID0gbGlzdF9lbnRyeShscy0+c3VibWl0Lm5leHQsIHN0cnVjdCBnZGxtX2xvY2ssCiAJCQkJCWRlbGF5X2xpc3QpOwogCQkJbGlzdF9kZWxfaW5pdCgmbHAtPmRlbGF5X2xpc3QpOwotCQkJc3VibWl0ID0gMTsKLQkJfQotCi0JCWRyb3AgPSBjaGVja19kcm9wKGxzKTsKLQkJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKLQotCQlpZiAoY29tcGxldGUpCi0JCQlwcm9jZXNzX2NvbXBsZXRlKGxwKTsKLQotCQllbHNlIGlmIChibG9ja2luZykKLQkJCXByb2Nlc3NfYmxvY2tpbmcobHAsIGJsb2NraW5nKTsKLQotCQllbHNlIGlmIChzdWJtaXQpCisJCQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwogCQkJZ2RsbV9kb19sb2NrKGxwKTsKLQotCQlpZiAoZHJvcCkKLQkJCWxzLT5mc2NiKGxzLT5zZHAsIExNX0NCX0RST1BMT0NLUywgTlVMTCk7Ci0KLQkJc2NoZWR1bGUoKTsKKwkJCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOworCQl9CisJCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAJfQogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2RsbV90aHJlYWQxKHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuIGdkbG1fdGhyZWFkKGRhdGEsIDEpOwotfQotCi1zdGF0aWMgaW50IGdkbG1fdGhyZWFkMih2b2lkICpkYXRhKQotewotCXJldHVybiBnZGxtX3RocmVhZChkYXRhLCAwKTsKLX0KLQogaW50IGdkbG1faW5pdF90aHJlYWRzKHN0cnVjdCBnZGxtX2xzICpscykKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CiAJaW50IGVycm9yOwogCi0JcCA9IGt0aHJlYWRfcnVuKGdkbG1fdGhyZWFkMSwgbHMsICJsb2NrX2RsbTEiKTsKKwlwID0ga3RocmVhZF9ydW4oZ2RsbV90aHJlYWQsIGxzLCAibG9ja19kbG0iKTsKIAllcnJvciA9IElTX0VSUihwKTsKIAlpZiAoZXJyb3IpIHsKLQkJbG9nX2Vycm9yKCJjYW4ndCBzdGFydCBsb2NrX2RsbTEgdGhyZWFkICVkIiwgZXJyb3IpOworCQlsb2dfZXJyb3IoImNhbid0IHN0YXJ0IGxvY2tfZGxtIHRocmVhZCAlZCIsIGVycm9yKTsKIAkJcmV0dXJuIGVycm9yOwogCX0KLQlscy0+dGhyZWFkMSA9IHA7Ci0KLQlwID0ga3RocmVhZF9ydW4oZ2RsbV90aHJlYWQyLCBscywgImxvY2tfZGxtMiIpOwotCWVycm9yID0gSVNfRVJSKHApOwotCWlmIChlcnJvcikgewotCQlsb2dfZXJyb3IoImNhbid0IHN0YXJ0IGxvY2tfZGxtMiB0aHJlYWQgJWQiLCBlcnJvcik7Ci0JCWt0aHJlYWRfc3RvcChscy0+dGhyZWFkMSk7Ci0JCXJldHVybiBlcnJvcjsKLQl9Ci0JbHMtPnRocmVhZDIgPSBwOworCWxzLT50aHJlYWQgPSBwOwogCiAJcmV0dXJuIDA7CiB9CiAKIHZvaWQgZ2RsbV9yZWxlYXNlX3RocmVhZHMoc3RydWN0IGdkbG1fbHMgKmxzKQogewotCWt0aHJlYWRfc3RvcChscy0+dGhyZWFkMSk7Ci0Ja3RocmVhZF9zdG9wKGxzLT50aHJlYWQyKTsKKwlrdGhyZWFkX3N0b3AobHMtPnRocmVhZCk7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9ub2xvY2svTWFrZWZpbGUgYi9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWU5NzMwLi4wMDAwMDAwCi0tLSBhL2ZzL2dmczIvbG9ja2luZy9ub2xvY2svTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLW9iai0kKENPTkZJR19HRlMyX0ZTX0xPQ0tJTkdfTk9MT0NLKSArPSBsb2NrX25vbG9jay5vCi1sb2NrX25vbG9jay15IDo9IG1haW4ubwotCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL21haW4uYyBiL2ZzL2dmczIvbG9ja2luZy9ub2xvY2svbWFpbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODRhNWVjLi4wMDAwMDAwCi0tLSBhL2ZzL2dmczIvbG9ja2luZy9ub2xvY2svbWFpbi5jCisrKyAvZGV2L251bGwKQEAgLTEsMjM4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIFNpc3RpbmEgU29mdHdhcmUsIEluYy4gIDE5OTctMjAwMyBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDUgUmVkIEhhdCwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGNvcHlyaWdodGVkIG1hdGVyaWFsIGlzIG1hZGUgYXZhaWxhYmxlIHRvIGFueW9uZSB3aXNoaW5nIHRvIHVzZSwKLSAqIG1vZGlmeSwgY29weSwgb3IgcmVkaXN0cmlidXRlIGl0IHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zCi0gKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyLgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvZnMuaD4KLSNpbmNsdWRlIDxsaW51eC9sbV9pbnRlcmZhY2UuaD4KLQotc3RydWN0IG5vbG9ja19sb2Nrc3BhY2UgewotCXVuc2lnbmVkIGludCBubF9sdmJfc2l6ZTsKLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgbG1fbG9ja29wcyBub2xvY2tfb3BzOwotCi1zdGF0aWMgaW50IG5vbG9ja19tb3VudChjaGFyICp0YWJsZV9uYW1lLCBjaGFyICpob3N0X2RhdGEsCi0JCQlsbV9jYWxsYmFja190IGNiLCB2b2lkICpjYl9kYXRhLAotCQkJdW5zaWduZWQgaW50IG1pbl9sdmJfc2l6ZSwgaW50IGZsYWdzLAotCQkJc3RydWN0IGxtX2xvY2tzdHJ1Y3QgKmxvY2tzdHJ1Y3QsCi0JCQlzdHJ1Y3Qga29iamVjdCAqZnNrb2JqKQotewotCWNoYXIgKmM7Ci0JdW5zaWduZWQgaW50IGppZDsKLQlzdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSAqbmw7Ci0KLQljID0gc3Ryc3RyKGhvc3RfZGF0YSwgImppZD0iKTsKLQlpZiAoIWMpCi0JCWppZCA9IDA7Ci0JZWxzZSB7Ci0JCWMgKz0gNDsKLQkJc3NjYW5mKGMsICIldSIsICZqaWQpOwotCX0KLQotCW5sID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG5vbG9ja19sb2Nrc3BhY2UpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW5sKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCW5sLT5ubF9sdmJfc2l6ZSA9IG1pbl9sdmJfc2l6ZTsKLQotCWxvY2tzdHJ1Y3QtPmxzX2ppZCA9IGppZDsKLQlsb2Nrc3RydWN0LT5sc19maXJzdCA9IDE7Ci0JbG9ja3N0cnVjdC0+bHNfbHZiX3NpemUgPSBtaW5fbHZiX3NpemU7Ci0JbG9ja3N0cnVjdC0+bHNfbG9ja3NwYWNlID0gbmw7Ci0JbG9ja3N0cnVjdC0+bHNfb3BzID0gJm5vbG9ja19vcHM7Ci0JbG9ja3N0cnVjdC0+bHNfZmxhZ3MgPSBMTV9MU0ZMQUdfTE9DQUw7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgbm9sb2NrX290aGVyc19tYXlfbW91bnQodm9pZCAqbG9ja3NwYWNlKQotewotfQotCi1zdGF0aWMgdm9pZCBub2xvY2tfdW5tb3VudCh2b2lkICpsb2Nrc3BhY2UpCi17Ci0Jc3RydWN0IG5vbG9ja19sb2Nrc3BhY2UgKm5sID0gbG9ja3NwYWNlOwotCWtmcmVlKG5sKTsKLX0KLQotc3RhdGljIHZvaWQgbm9sb2NrX3dpdGhkcmF3KHZvaWQgKmxvY2tzcGFjZSkKLXsKLX0KLQotLyoqCi0gKiBub2xvY2tfZ2V0X2xvY2sgLSBnZXQgYSBsbV9sb2NrX3QgZ2l2ZW4gYSBkZXNjcmlwdG9uIG9mIHRoZSBsb2NrCi0gKiBAbG9ja3NwYWNlOiB0aGUgbG9ja3NwYWNlIHRoZSBsb2NrIGxpdmVzIGluCi0gKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIGxvY2sKLSAqIEBsb2NrcDogcmV0dXJuIHRoZSBsbV9sb2NrX3QgaGVyZQotICoKLSAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLUVYWFggb24gZmFpbHVyZQotICovCi0KLXN0YXRpYyBpbnQgbm9sb2NrX2dldF9sb2NrKHZvaWQgKmxvY2tzcGFjZSwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAotCQkJICAgdm9pZCAqKmxvY2twKQotewotCSpsb2NrcCA9IGxvY2tzcGFjZTsKLQlyZXR1cm4gMDsKLX0KLQotLyoqCi0gKiBub2xvY2tfcHV0X2xvY2sgLSBnZXQgcmlkIG9mIGEgbG9jayBzdHJ1Y3R1cmUKLSAqIEBsb2NrOiB0aGUgbG9jayB0byB0aHJvdyBhd2F5Ci0gKgotICovCi0KLXN0YXRpYyB2b2lkIG5vbG9ja19wdXRfbG9jayh2b2lkICpsb2NrKQotewotfQotCi0vKioKLSAqIG5vbG9ja19sb2NrIC0gYWNxdWlyZSBhIGxvY2sKLSAqIEBsb2NrOiB0aGUgbG9jayB0byBtYW5pcHVsYXRlCi0gKiBAY3VyX3N0YXRlOiB0aGUgY3VycmVudCBzdGF0ZQotICogQHJlcV9zdGF0ZTogdGhlIHJlcXVlc3RlZCBzdGF0ZQotICogQGZsYWdzOiBtb2RpZmllciBmbGFncwotICoKLSAqIFJldHVybnM6IEEgYml0bWFwIG9mIExNX09VVF8qCi0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGludCBub2xvY2tfbG9jayh2b2lkICpsb2NrLCB1bnNpZ25lZCBpbnQgY3VyX3N0YXRlLAotCQkJCXVuc2lnbmVkIGludCByZXFfc3RhdGUsIHVuc2lnbmVkIGludCBmbGFncykKLXsKLQlyZXR1cm4gcmVxX3N0YXRlIHwgTE1fT1VUX0NBQ0hFQUJMRTsKLX0KLQotLyoqCi0gKiBub2xvY2tfdW5sb2NrIC0gdW5sb2NrIGEgbG9jawotICogQGxvY2s6IHRoZSBsb2NrIHRvIG1hbmlwdWxhdGUKLSAqIEBjdXJfc3RhdGU6IHRoZSBjdXJyZW50IHN0YXRlCi0gKgotICogUmV0dXJuczogMAotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgbm9sb2NrX3VubG9jayh2b2lkICpsb2NrLCB1bnNpZ25lZCBpbnQgY3VyX3N0YXRlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBub2xvY2tfY2FuY2VsKHZvaWQgKmxvY2spCi17Ci19Ci0KLS8qKgotICogbm9sb2NrX2hvbGRfbHZiIC0gaG9sZCBvbiB0byBhIGxvY2sgdmFsdWUgYmxvY2sKLSAqIEBsb2NrOiB0aGUgbG9jayB0aGUgTFZCIGlzIGFzc29jaWF0ZWQgd2l0aAotICogQGx2YnA6IHJldHVybiB0aGUgbG1fbHZiX3QgaGVyZQotICoKLSAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLUVYWFggb24gZmFpbHVyZQotICovCi0KLXN0YXRpYyBpbnQgbm9sb2NrX2hvbGRfbHZiKHZvaWQgKmxvY2ssIGNoYXIgKipsdmJwKQotewotCXN0cnVjdCBub2xvY2tfbG9ja3NwYWNlICpubCA9IGxvY2s7Ci0JaW50IGVycm9yID0gMDsKLQotCSpsdmJwID0ga3phbGxvYyhubC0+bmxfbHZiX3NpemUsIEdGUF9OT0ZTKTsKLQlpZiAoISpsdmJwKQotCQllcnJvciA9IC1FTk9NRU07Ci0KLQlyZXR1cm4gZXJyb3I7Ci19Ci0KLS8qKgotICogbm9sb2NrX3VuaG9sZF9sdmIgLSByZWxlYXNlIGEgTFZCCi0gKiBAbG9jazogdGhlIGxvY2sgdGhlIExWQiBpcyBhc3NvY2lhdGVkIHdpdGgKLSAqIEBsdmI6IHRoZSBsb2NrIHZhbHVlIGJsb2NrCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIG5vbG9ja191bmhvbGRfbHZiKHZvaWQgKmxvY2ssIGNoYXIgKmx2YikKLXsKLQlrZnJlZShsdmIpOwotfQotCi1zdGF0aWMgaW50IG5vbG9ja19wbG9ja19nZXQodm9pZCAqbG9ja3NwYWNlLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCi0JCQkgICAgc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBmaWxlX2xvY2sgKmZsKQotewotCXBvc2l4X3Rlc3RfbG9jayhmaWxlLCBmbCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBub2xvY2tfcGxvY2sodm9pZCAqbG9ja3NwYWNlLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCi0JCQlzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGNtZCwgc3RydWN0IGZpbGVfbG9jayAqZmwpCi17Ci0JaW50IGVycm9yOwotCWVycm9yID0gcG9zaXhfbG9ja19maWxlX3dhaXQoZmlsZSwgZmwpOwotCXJldHVybiBlcnJvcjsKLX0KLQotc3RhdGljIGludCBub2xvY2tfcHVubG9jayh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKLQkJCSAgc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBmaWxlX2xvY2sgKmZsKQotewotCWludCBlcnJvcjsKLQllcnJvciA9IHBvc2l4X2xvY2tfZmlsZV93YWl0KGZpbGUsIGZsKTsKLQlyZXR1cm4gZXJyb3I7Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja19yZWNvdmVyeV9kb25lKHZvaWQgKmxvY2tzcGFjZSwgdW5zaWduZWQgaW50IGppZCwKLQkJCQkgdW5zaWduZWQgaW50IG1lc3NhZ2UpCi17Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgbG1fbG9ja29wcyBub2xvY2tfb3BzID0gewotCS5sbV9wcm90b19uYW1lID0gImxvY2tfbm9sb2NrIiwKLQkubG1fbW91bnQgPSBub2xvY2tfbW91bnQsCi0JLmxtX290aGVyc19tYXlfbW91bnQgPSBub2xvY2tfb3RoZXJzX21heV9tb3VudCwKLQkubG1fdW5tb3VudCA9IG5vbG9ja191bm1vdW50LAotCS5sbV93aXRoZHJhdyA9IG5vbG9ja193aXRoZHJhdywKLQkubG1fZ2V0X2xvY2sgPSBub2xvY2tfZ2V0X2xvY2ssCi0JLmxtX3B1dF9sb2NrID0gbm9sb2NrX3B1dF9sb2NrLAotCS5sbV9sb2NrID0gbm9sb2NrX2xvY2ssCi0JLmxtX3VubG9jayA9IG5vbG9ja191bmxvY2ssCi0JLmxtX2NhbmNlbCA9IG5vbG9ja19jYW5jZWwsCi0JLmxtX2hvbGRfbHZiID0gbm9sb2NrX2hvbGRfbHZiLAotCS5sbV91bmhvbGRfbHZiID0gbm9sb2NrX3VuaG9sZF9sdmIsCi0JLmxtX3Bsb2NrX2dldCA9IG5vbG9ja19wbG9ja19nZXQsCi0JLmxtX3Bsb2NrID0gbm9sb2NrX3Bsb2NrLAotCS5sbV9wdW5sb2NrID0gbm9sb2NrX3B1bmxvY2ssCi0JLmxtX3JlY292ZXJ5X2RvbmUgPSBub2xvY2tfcmVjb3ZlcnlfZG9uZSwKLQkubG1fb3duZXIgPSBUSElTX01PRFVMRSwKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGluaXRfbm9sb2NrKHZvaWQpCi17Ci0JaW50IGVycm9yOwotCi0JZXJyb3IgPSBnZnMyX3JlZ2lzdGVyX2xvY2twcm90bygmbm9sb2NrX29wcyk7Ci0JaWYgKGVycm9yKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcKLQkJICAgICAgICJsb2NrX25vbG9jazogY2FuJ3QgcmVnaXN0ZXIgcHJvdG9jb2w6ICVkXG4iLCBlcnJvcik7Ci0JCXJldHVybiBlcnJvcjsKLQl9Ci0KLQlwcmludGsoS0VSTl9JTkZPCi0JICAgICAgICJMb2NrX05vbG9jayAoYnVpbHQgJXMgJXMpIGluc3RhbGxlZFxuIiwgX19EQVRFX18sIF9fVElNRV9fKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGV4aXRfbm9sb2NrKHZvaWQpCi17Ci0JZ2ZzMl91bnJlZ2lzdGVyX2xvY2twcm90bygmbm9sb2NrX29wcyk7Ci19Ci0KLW1vZHVsZV9pbml0KGluaXRfbm9sb2NrKTsKLW1vZHVsZV9leGl0KGV4aXRfbm9sb2NrKTsKLQotTU9EVUxFX0RFU0NSSVBUSU9OKCJHRlMgTm9sb2NrIExvY2tpbmcgTW9kdWxlIik7Ci1NT0RVTEVfQVVUSE9SKCJSZWQgSGF0LCBJbmMuIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9nLmMgYi9mcy9nZnMyL2xvZy5jCmluZGV4IDU0ODI2NGIuLjZjNmFmOWYgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9nLmMKKysrIGIvZnMvZ2ZzMi9sb2cuYwpAQCAtODcsNiArODcsOCBAQAogICovCiAKIHN0YXRpYyB2b2lkIGdmczJfYWlsMV9zdGFydF9vbmUoc3RydWN0IGdmczJfc2JkICpzZHAsIHN0cnVjdCBnZnMyX2FpbCAqYWkpCitfX3JlbGVhc2VzKCZzZHAtPnNkX2xvZ19sb2NrKQorX19hY3F1aXJlcygmc2RwLT5zZF9sb2dfbG9jaykKIHsKIAlzdHJ1Y3QgZ2ZzMl9idWZkYXRhICpiZCwgKnM7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9nLmggYi9mcy9nZnMyL2xvZy5oCmluZGV4IDc3MTE1MjguLjdjNjQ1MTAgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9nLmgKKysrIGIvZnMvZ2ZzMi9sb2cuaApAQCAtMjEsNiArMjEsNyBAQAogICovCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBnZnMyX2xvZ19sb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwKQorX19hY3F1aXJlcygmc2RwLT5zZF9sb2dfbG9jaykKIHsKIAlzcGluX2xvY2soJnNkcC0+c2RfbG9nX2xvY2spOwogfQpAQCAtMzIsNiArMzMsNyBAQAogICovCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBnZnMyX2xvZ191bmxvY2soc3RydWN0IGdmczJfc2JkICpzZHApCitfX3JlbGVhc2VzKCZzZHAtPnNkX2xvZ19sb2NrKQogewogCXNwaW5fdW5sb2NrKCZzZHAtPnNkX2xvZ19sb2NrKTsKIH0KZGlmZiAtLWdpdCBhL2ZzL2dmczIvbWFpbi5jIGIvZnMvZ2ZzMi9tYWluLmMKaW5kZXggMDUzZTJlYi4uYmNjNjY4ZCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9tYWluLmMKKysrIGIvZnMvZ2ZzMi9tYWluLmMKQEAgLTQwLDggKzQwLDYgQEAKIAlJTklUX0hMSVNUX05PREUoJmdsLT5nbF9saXN0KTsKIAlzcGluX2xvY2tfaW5pdCgmZ2wtPmdsX3NwaW4pOwogCUlOSVRfTElTVF9IRUFEKCZnbC0+Z2xfaG9sZGVycyk7Ci0JSU5JVF9MSVNUX0hFQUQoJmdsLT5nbF93YWl0ZXJzMSk7Ci0JSU5JVF9MSVNUX0hFQUQoJmdsLT5nbF93YWl0ZXJzMyk7CiAJZ2wtPmdsX2x2YiA9IE5VTEw7CiAJYXRvbWljX3NldCgmZ2wtPmdsX2x2Yl9jb3VudCwgMCk7CiAJSU5JVF9MSVNUX0hFQUQoJmdsLT5nbF9yZWNsYWltKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbWV0YV9pby5jIGIvZnMvZ2ZzMi9tZXRhX2lvLmMKaW5kZXggNzhkNzVmOC4uMDk4NTM2MiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9tZXRhX2lvLmMKKysrIGIvZnMvZ2ZzMi9tZXRhX2lvLmMKQEAgLTEyOSw3ICsxMjksNyBAQAogfQogCiAvKioKLSAqIGdldGJ1ZiAtIEdldCBhIGJ1ZmZlciB3aXRoIGEgZ2l2ZW4gYWRkcmVzcyBzcGFjZQorICogZ2ZzMl9nZXRidWYgLSBHZXQgYSBidWZmZXIgd2l0aCBhIGdpdmVuIGFkZHJlc3Mgc3BhY2UKICAqIEBnbDogdGhlIGdsb2NrCiAgKiBAYmxrbm86IHRoZSBibG9jayBudW1iZXIgKGZpbGVzeXN0ZW0gc2NvcGUpCiAgKiBAY3JlYXRlOiAxIGlmIHRoZSBidWZmZXIgc2hvdWxkIGJlIGNyZWF0ZWQKQEAgLTEzNyw3ICsxMzcsNyBAQAogICogUmV0dXJuczogdGhlIGJ1ZmZlcgogICovCiAKLXN0YXRpYyBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmdldGJ1ZihzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubywgaW50IGNyZWF0ZSkKK3N0cnVjdCBidWZmZXJfaGVhZCAqZ2ZzMl9nZXRidWYoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8sIGludCBjcmVhdGUpCiB7CiAJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBnbC0+Z2xfYXNwYWNlLT5pX21hcHBpbmc7CiAJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwpAQCAtMjA1LDcgKzIwNSw3IEBACiBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmdmczJfbWV0YV9uZXcoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8pCiB7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKLQliaCA9IGdldGJ1ZihnbCwgYmxrbm8sIENSRUFURSk7CisJYmggPSBnZnMyX2dldGJ1ZihnbCwgYmxrbm8sIENSRUFURSk7CiAJbWV0YV9wcmVwX25ldyhiaCk7CiAJcmV0dXJuIGJoOwogfQpAQCAtMjIzLDcgKzIyMyw3IEBACiBpbnQgZ2ZzMl9tZXRhX3JlYWQoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8sIGludCBmbGFncywKIAkJICAgc3RydWN0IGJ1ZmZlcl9oZWFkICoqYmhwKQogewotCSpiaHAgPSBnZXRidWYoZ2wsIGJsa25vLCBDUkVBVEUpOworCSpiaHAgPSBnZnMyX2dldGJ1ZihnbCwgYmxrbm8sIENSRUFURSk7CiAJaWYgKCFidWZmZXJfdXB0b2RhdGUoKmJocCkpIHsKIAkJbGxfcndfYmxvY2soUkVBRF9NRVRBLCAxLCBiaHApOwogCQlpZiAoZmxhZ3MgJiBESU9fV0FJVCkgewpAQCAtMzQ2LDcgKzM0Niw3IEBACiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKIAogCXdoaWxlIChibGVuKSB7Ci0JCWJoID0gZ2V0YnVmKGlwLT5pX2dsLCBic3RhcnQsIE5PX0NSRUFURSk7CisJCWJoID0gZ2ZzMl9nZXRidWYoaXAtPmlfZ2wsIGJzdGFydCwgTk9fQ1JFQVRFKTsKIAkJaWYgKGJoKSB7CiAJCQlsb2NrX2J1ZmZlcihiaCk7CiAJCQlnZnMyX2xvZ19sb2NrKHNkcCk7CkBAIC00MjEsNyArNDIxLDcgQEAKIAlpZiAoZXh0bGVuID4gbWF4X3JhKQogCQlleHRsZW4gPSBtYXhfcmE7CiAKLQlmaXJzdF9iaCA9IGdldGJ1ZihnbCwgZGJsb2NrLCBDUkVBVEUpOworCWZpcnN0X2JoID0gZ2ZzMl9nZXRidWYoZ2wsIGRibG9jaywgQ1JFQVRFKTsKIAogCWlmIChidWZmZXJfdXB0b2RhdGUoZmlyc3RfYmgpKQogCQlnb3RvIG91dDsKQEAgLTQzMiw3ICs0MzIsNyBAQAogCWV4dGxlbi0tOwogCiAJd2hpbGUgKGV4dGxlbikgewotCQliaCA9IGdldGJ1ZihnbCwgZGJsb2NrLCBDUkVBVEUpOworCQliaCA9IGdmczJfZ2V0YnVmKGdsLCBkYmxvY2ssIENSRUFURSk7CiAKIAkJaWYgKCFidWZmZXJfdXB0b2RhdGUoYmgpICYmICFidWZmZXJfbG9ja2VkKGJoKSkKIAkJCWxsX3J3X2Jsb2NrKFJFQURBLCAxLCAmYmgpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9tZXRhX2lvLmggYi9mcy9nZnMyL21ldGFfaW8uaAppbmRleCA3M2UzYjFjLi5iMWE1ZjM2IDEwMDY0NAotLS0gYS9mcy9nZnMyL21ldGFfaW8uaAorKysgYi9mcy9nZnMyL21ldGFfaW8uaApAQCAtNDcsNiArNDcsNyBAQAogaW50IGdmczJfbWV0YV9yZWFkKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLAogCQkgICBpbnQgZmxhZ3MsIHN0cnVjdCBidWZmZXJfaGVhZCAqKmJocCk7CiBpbnQgZ2ZzMl9tZXRhX3dhaXQoc3RydWN0IGdmczJfc2JkICpzZHAsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpOworc3RydWN0IGJ1ZmZlcl9oZWFkICpnZnMyX2dldGJ1ZihzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubywgaW50IGNyZWF0ZSk7CiAKIHZvaWQgZ2ZzMl9hdHRhY2hfYnVmZGF0YShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgsCiAJCQkgaW50IG1ldGEpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9vcHNfYWRkcmVzcy5jIGIvZnMvZ2ZzMi9vcHNfYWRkcmVzcy5jCmluZGV4IGY1NTM5NGUuLmU2NGExYjAgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvb3BzX2FkZHJlc3MuYworKysgYi9mcy9nZnMyL29wc19hZGRyZXNzLmMKQEAgLTQ5OSwzNCArNDk5LDM0IEBACiAgKiBAZmlsZTogVGhlIGZpbGUgdG8gcmVhZAogICogQHBhZ2U6IFRoZSBwYWdlIG9mIHRoZSBmaWxlCiAgKgotICogVGhpcyBkZWFscyB3aXRoIHRoZSBsb2NraW5nIHJlcXVpcmVkLiBXZSB1c2UgYSB0cnlsb2NrIGluIG9yZGVyIHRvCi0gKiBhdm9pZCB0aGUgcGFnZSBsb2NrIC8gZ2xvY2sgb3JkZXJpbmcgcHJvYmxlbXMgcmV0dXJuaW5nIEFPUF9UUlVOQ0FURURfUEFHRQotICogaW4gdGhlIGV2ZW50IHRoYXQgd2UgYXJlIHVuYWJsZSB0byBnZXQgdGhlIGxvY2suCisgKiBUaGlzIGRlYWxzIHdpdGggdGhlIGxvY2tpbmcgcmVxdWlyZWQuIFdlIGhhdmUgdG8gdW5sb2NrIGFuZAorICogcmVsb2NrIHRoZSBwYWdlIGluIG9yZGVyIHRvIGdldCB0aGUgbG9ja2luZyBpbiB0aGUgcmlnaHQKKyAqIG9yZGVyLgogICovCiAKIHN0YXRpYyBpbnQgZ2ZzMl9yZWFkcGFnZShzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHBhZ2UgKnBhZ2UpCiB7Ci0Jc3RydWN0IGdmczJfaW5vZGUgKmlwID0gR0ZTMl9JKHBhZ2UtPm1hcHBpbmctPmhvc3QpOwotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBwYWdlLT5tYXBwaW5nOworCXN0cnVjdCBnZnMyX2lub2RlICppcCA9IEdGUzJfSShtYXBwaW5nLT5ob3N0KTsKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgZ2g7CiAJaW50IGVycm9yOwogCi0JZ2ggPSBnZnMyX2dsb2NrX2lzX2xvY2tlZF9ieV9tZShpcC0+aV9nbCk7Ci0JaWYgKCFnaCkgewotCQlnaCA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBnZnMyX2hvbGRlciksIEdGUF9OT0ZTKTsKLQkJaWYgKCFnaCkKLQkJCXJldHVybiAtRU5PQlVGUzsKLQkJZ2ZzMl9ob2xkZXJfaW5pdChpcC0+aV9nbCwgTE1fU1RfU0hBUkVELCBHTF9BVElNRSwgZ2gpOworCXVubG9ja19wYWdlKHBhZ2UpOworCWdmczJfaG9sZGVyX2luaXQoaXAtPmlfZ2wsIExNX1NUX1NIQVJFRCwgR0xfQVRJTUUsICZnaCk7CisJZXJyb3IgPSBnZnMyX2dsb2NrX25xX2F0aW1lKCZnaCk7CisJaWYgKHVubGlrZWx5KGVycm9yKSkKKwkJZ290byBvdXQ7CisJZXJyb3IgPSBBT1BfVFJVTkNBVEVEX1BBR0U7CisJbG9ja19wYWdlKHBhZ2UpOworCWlmIChwYWdlLT5tYXBwaW5nID09IG1hcHBpbmcgJiYgIVBhZ2VVcHRvZGF0ZShwYWdlKSkKKwkJZXJyb3IgPSBfX2dmczJfcmVhZHBhZ2UoZmlsZSwgcGFnZSk7CisJZWxzZQogCQl1bmxvY2tfcGFnZShwYWdlKTsKLQkJZXJyb3IgPSBnZnMyX2dsb2NrX25xX2F0aW1lKGdoKTsKLQkJaWYgKGxpa2VseShlcnJvciAhPSAwKSkKLQkJCWdvdG8gb3V0OwotCQlyZXR1cm4gQU9QX1RSVU5DQVRFRF9QQUdFOwotCX0KLQllcnJvciA9IF9fZ2ZzMl9yZWFkcGFnZShmaWxlLCBwYWdlKTsKLQlnZnMyX2dsb2NrX2RxKGdoKTsKKwlnZnMyX2dsb2NrX2RxKCZnaCk7CiBvdXQ6Ci0JZ2ZzMl9ob2xkZXJfdW5pbml0KGdoKTsKLQlrZnJlZShnaCk7CisJZ2ZzMl9ob2xkZXJfdW5pbml0KCZnaCk7CisJaWYgKGVycm9yICYmIGVycm9yICE9IEFPUF9UUlVOQ0FURURfUEFHRSkKKwkJbG9ja19wYWdlKHBhZ2UpOwogCXJldHVybiBlcnJvcjsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9vcHNfZmlsZS5jIGIvZnMvZ2ZzMi9vcHNfZmlsZS5jCmluZGV4IGUxYjdkNTIuLmU5YTM2NmQgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvb3BzX2ZpbGUuYworKysgYi9mcy9nZnMyL29wc19maWxlLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC91aW8uaD4KICNpbmNsdWRlIDxsaW51eC9ibGtkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9nZnMyX29uZGlzay5oPgogI2luY2x1ZGUgPGxpbnV4L2V4dDJfZnMuaD4KQEAgLTYyLDExICs2MywxMSBAQAogCQllcnJvciA9IGdmczJfZ2xvY2tfbnFfaW5pdChpcC0+aV9nbCwgTE1fU1RfU0hBUkVELCBMTV9GTEFHX0FOWSwKIAkJCQkJICAgJmlfZ2gpOwogCQlpZiAoIWVycm9yKSB7Ci0JCQllcnJvciA9IHJlbW90ZV9sbHNlZWsoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCQkJZXJyb3IgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKIAkJCWdmczJfZ2xvY2tfZHFfdW5pbml0KCZpX2doKTsKIAkJfQogCX0gZWxzZQotCQllcnJvciA9IHJlbW90ZV9sbHNlZWsoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCQllcnJvciA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOwogCiAJcmV0dXJuIGVycm9yOwogfQpAQCAtMTMzLDcgKzEzNCw2IEBACiAJWzddID0gR0ZTMl9ESUZfTk9BVElNRSwKIAlbMTJdID0gR0ZTMl9ESUZfRVhIQVNILAogCVsxNF0gPSBHRlMyX0RJRl9JTkhFUklUX0pEQVRBLAotCVsyMF0gPSBHRlMyX0RJRl9JTkhFUklUX0RJUkVDVElPLAogfTsKIAogc3RhdGljIGNvbnN0IHUzMiBnZnMyX3RvX2ZzZmxhZ3NbMzJdID0gewpAQCAtMTQyLDcgKzE0Miw2IEBACiAJW2dmczJmbF9BcHBlbmRPbmx5XSA9IEZTX0FQUEVORF9GTCwKIAlbZ2ZzMmZsX05vQXRpbWVdID0gRlNfTk9BVElNRV9GTCwKIAlbZ2ZzMmZsX0V4SGFzaF0gPSBGU19JTkRFWF9GTCwKLQlbZ2ZzMmZsX0luaGVyaXREaXJlY3Rpb10gPSBGU19ESVJFQ1RJT19GTCwKIAlbZ2ZzMmZsX0luaGVyaXRKZGF0YV0gPSBGU19KT1VSTkFMX0RBVEFfRkwsCiB9OwogCkBAIC0xNjAsMTIgKzE1OSw4IEBACiAJCXJldHVybiBlcnJvcjsKIAogCWZzZmxhZ3MgPSBmc2ZsYWdzX2N2dChnZnMyX3RvX2ZzZmxhZ3MsIGlwLT5pX2RpLmRpX2ZsYWdzKTsKLQlpZiAoIVNfSVNESVIoaW5vZGUtPmlfbW9kZSkpIHsKLQkJaWYgKGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfSkRBVEEpCi0JCQlmc2ZsYWdzIHw9IEZTX0pPVVJOQUxfREFUQV9GTDsKLQkJaWYgKGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfRElSRUNUSU8pCi0JCQlmc2ZsYWdzIHw9IEZTX0RJUkVDVElPX0ZMOwotCX0KKwlpZiAoIVNfSVNESVIoaW5vZGUtPmlfbW9kZSkgJiYgaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9KREFUQSkKKwkJZnNmbGFncyB8PSBGU19KT1VSTkFMX0RBVEFfRkw7CiAJaWYgKHB1dF91c2VyKGZzZmxhZ3MsIHB0cikpCiAJCWVycm9yID0gLUVGQVVMVDsKIApAQCAtMTk0LDEzICsxODksMTEgQEAKIAogLyogRmxhZ3MgdGhhdCBjYW4gYmUgc2V0IGJ5IHVzZXIgc3BhY2UgKi8KICNkZWZpbmUgR0ZTMl9GTEFHU19VU0VSX1NFVCAoR0ZTMl9ESUZfSkRBVEF8CQkJXAotCQkJICAgICBHRlMyX0RJRl9ESVJFQ1RJT3wJCQlcCiAJCQkgICAgIEdGUzJfRElGX0lNTVVUQUJMRXwJCVwKIAkJCSAgICAgR0ZTMl9ESUZfQVBQRU5ET05MWXwJCVwKIAkJCSAgICAgR0ZTMl9ESUZfTk9BVElNRXwJCQlcCiAJCQkgICAgIEdGUzJfRElGX1NZTkN8CQkJXAogCQkJICAgICBHRlMyX0RJRl9TWVNURU18CQkJXAotCQkJICAgICBHRlMyX0RJRl9JTkhFUklUX0RJUkVDVElPfAkJXAogCQkJICAgICBHRlMyX0RJRl9JTkhFUklUX0pEQVRBKQogCiAvKioKQEAgLTIyMCwxMCArMjEzLDE0IEBACiAJaW50IGVycm9yOwogCXUzMiBuZXdfZmxhZ3MsIGZsYWdzOwogCi0JZXJyb3IgPSBnZnMyX2dsb2NrX25xX2luaXQoaXAtPmlfZ2wsIExNX1NUX0VYQ0xVU0lWRSwgMCwgJmdoKTsKKwllcnJvciA9IG1udF93YW50X3dyaXRlKGZpbHAtPmZfcGF0aC5tbnQpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCisJZXJyb3IgPSBnZnMyX2dsb2NrX25xX2luaXQoaXAtPmlfZ2wsIExNX1NUX0VYQ0xVU0lWRSwgMCwgJmdoKTsKKwlpZiAoZXJyb3IpCisJCWdvdG8gb3V0X2Ryb3Bfd3JpdGU7CisKIAlmbGFncyA9IGlwLT5pX2RpLmRpX2ZsYWdzOwogCW5ld19mbGFncyA9IChmbGFncyAmIH5tYXNrKSB8IChyZXFmbGFncyAmIG1hc2spOwogCWlmICgobmV3X2ZsYWdzIF4gZmxhZ3MpID09IDApCkBAIC0yNDIsNyArMjM5LDcgQEAKIAkgICAgIWNhcGFibGUoQ0FQX0xJTlVYX0lNTVVUQUJMRSkpCiAJCWdvdG8gb3V0OwogCWlmICghSVNfSU1NVVRBQkxFKGlub2RlKSkgewotCQllcnJvciA9IHBlcm1pc3Npb24oaW5vZGUsIE1BWV9XUklURSwgTlVMTCk7CisJCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKGlub2RlLCBNQVlfV1JJVEUpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dDsKIAl9CkBAIC0yNzIsNiArMjY5LDggQEAKIAlnZnMyX3RyYW5zX2VuZChzZHApOwogb3V0OgogCWdmczJfZ2xvY2tfZHFfdW5pbml0KCZnaCk7CitvdXRfZHJvcF93cml0ZToKKwltbnRfZHJvcF93cml0ZShmaWxwLT5mX3BhdGgubW50KTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKQEAgLTI4NSw4ICsyODQsNiBAQAogCWlmICghU19JU0RJUihpbm9kZS0+aV9tb2RlKSkgewogCQlpZiAoZ2ZzZmxhZ3MgJiBHRlMyX0RJRl9JTkhFUklUX0pEQVRBKQogCQkJZ2ZzZmxhZ3MgXj0gKEdGUzJfRElGX0pEQVRBIHwgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSk7Ci0JCWlmIChnZnNmbGFncyAmIEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU8pCi0JCQlnZnNmbGFncyBePSAoR0ZTMl9ESUZfRElSRUNUSU8gfCBHRlMyX0RJRl9JTkhFUklUX0RJUkVDVElPKTsKIAkJcmV0dXJuIGRvX2dmczJfc2V0X2ZsYWdzKGZpbHAsIGdmc2ZsYWdzLCB+MCk7CiAJfQogCXJldHVybiBkb19nZnMyX3NldF9mbGFncyhmaWxwLCBnZnNmbGFncywgfkdGUzJfRElGX0pEQVRBKTsKQEAgLTQ4NywxMSArNDg0LDYgQEAKIAkJCWdvdG8gZmFpbF9ndW5sb2NrOwogCQl9CiAKLQkJLyogTGlzdGVuIHRvIHRoZSBEaXJlY3QgSS9PIGZsYWcgKi8KLQotCQlpZiAoaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9ESVJFQ1RJTykKLQkJCWZpbGUtPmZfZmxhZ3MgfD0gT19ESVJFQ1Q7Ci0KIAkJZ2ZzMl9nbG9ja19kcV91bmluaXQoJmlfZ2gpOwogCX0KIApAQCAtNjY5LDggKzY2MSw3IEBACiAJaW50IGVycm9yID0gMDsKIAogCXN0YXRlID0gKGZsLT5mbF90eXBlID09IEZfV1JMQ0spID8gTE1fU1RfRVhDTFVTSVZFIDogTE1fU1RfU0hBUkVEOwotCWZsYWdzID0gKElTX1NFVExLVyhjbWQpID8gMCA6IExNX0ZMQUdfVFJZKSB8IEdMX0VYQUNUIHwgR0xfTk9DQUNIRSAKLQkJfCBHTF9GTE9DSzsKKwlmbGFncyA9IChJU19TRVRMS1coY21kKSA/IDAgOiBMTV9GTEFHX1RSWSkgfCBHTF9FWEFDVCB8IEdMX05PQ0FDSEU7CiAKIAltdXRleF9sb2NrKCZmcC0+Zl9mbF9tdXRleCk7CiAKQEAgLTY4Myw5ICs2NzQsOCBAQAogCQlnZnMyX2dsb2NrX2RxX3dhaXQoZmxfZ2gpOwogCQlnZnMyX2hvbGRlcl9yZWluaXQoc3RhdGUsIGZsYWdzLCBmbF9naCk7CiAJfSBlbHNlIHsKLQkJZXJyb3IgPSBnZnMyX2dsb2NrX2dldChHRlMyX1NCKCZpcC0+aV9pbm9kZSksCi0JCQkJICAgICAgaXAtPmlfbm9fYWRkciwgJmdmczJfZmxvY2tfZ2xvcHMsCi0JCQkJICAgICAgQ1JFQVRFLCAmZ2wpOworCQllcnJvciA9IGdmczJfZ2xvY2tfZ2V0KEdGUzJfU0IoJmlwLT5pX2lub2RlKSwgaXAtPmlfbm9fYWRkciwKKwkJCQkgICAgICAgJmdmczJfZmxvY2tfZ2xvcHMsIENSRUFURSwgJmdsKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXQ7CiAJCWdmczJfaG9sZGVyX2luaXQoZ2wsIHN0YXRlLCBmbGFncywgZmxfZ2gpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMgYi9mcy9nZnMyL29wc19mc3R5cGUuYwppbmRleCBiMjAyOGM4Li5iNGQxZDY0IDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19mc3R5cGUuYworKysgYi9mcy9nZnMyL29wc19mc3R5cGUuYwpAQCAtNjQsNyArNjQsNiBAQAogCW11dGV4X2luaXQoJnNkcC0+c2RfcmluZGV4X211dGV4KTsKIAlJTklUX0xJU1RfSEVBRCgmc2RwLT5zZF9yaW5kZXhfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJnNkcC0+c2RfcmluZGV4X21ydV9saXN0KTsKLQlJTklUX0xJU1RfSEVBRCgmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QpOwogCiAJSU5JVF9MSVNUX0hFQUQoJnNkcC0+c2RfamluZGV4X2xpc3QpOwogCXNwaW5fbG9ja19pbml0KCZzZHAtPnNkX2ppbmRleF9zcGluKTsKQEAgLTM2NCw2ICszNjMsOCBAQAogCiBzdGF0aWMgdm9pZCBnZnMyX2xtX290aGVyc19tYXlfbW91bnQoc3RydWN0IGdmczJfc2JkICpzZHApCiB7CisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9vdGhlcnNfbWF5X21vdW50KQorCQlyZXR1cm47CiAJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9vdGhlcnNfbWF5X21vdW50KAogCQkJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbG9ja3NwYWNlKTsKQEAgLTc0MSw4ICs3NDIsNyBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAoZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19sb2Nrc3BhY2UpIHx8Ci0JICAgIGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzKSB8fAorCWlmIChnZnMyX2Fzc2VydF93YXJuKHNkcCwgc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcykgfHwKIAkgICAgZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19sdmJfc2l6ZSA+PQogCQkJCSAgR0ZTMl9NSU5fTFZCX1NJWkUpKSB7CiAJCWdmczJfdW5tb3VudF9sb2NrcHJvdG8oJnNkcC0+c2RfbG9ja3N0cnVjdCk7CkBAIC04NzMsNyArODczLDcgQEAKIGZhaWxfbG9ja2luZzoKIAlpbml0X2xvY2tpbmcoc2RwLCAmbW91bnRfZ2gsIFVORE8pOwogZmFpbF9sbToKLQlnZnMyX2dsX2hhc2hfY2xlYXIoc2RwLCBXQUlUKTsKKwlnZnMyX2dsX2hhc2hfY2xlYXIoc2RwKTsKIAlnZnMyX2xtX3VubW91bnQoc2RwKTsKIAl3aGlsZSAoaW52YWxpZGF0ZV9pbm9kZXMoc2IpKQogCQl5aWVsZCgpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9vcHNfaW5vZGUuYyBiL2ZzL2dmczIvb3BzX2lub2RlLmMKaW5kZXggMjY4NmFkNC4uMWUyNTJkZiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfaW5vZGUuYworKysgYi9mcy9nZnMyL29wc19pbm9kZS5jCkBAIC0xNjMsNyArMTYzLDcgQEAKIAlpZiAoZXJyb3IpCiAJCWdvdG8gb3V0OwogCi0JZXJyb3IgPSBwZXJtaXNzaW9uKGRpciwgTUFZX1dSSVRFIHwgTUFZX0VYRUMsIE5VTEwpOworCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKGRpciwgTUFZX1dSSVRFIHwgTUFZX0VYRUMpOwogCWlmIChlcnJvcikKIAkJZ290byBvdXRfZ3VubG9jazsKIApAQCAtNjY5LDcgKzY2OSw3IEBACiAJCQl9CiAJCX0KIAl9IGVsc2UgewotCQllcnJvciA9IHBlcm1pc3Npb24obmRpciwgTUFZX1dSSVRFIHwgTUFZX0VYRUMsIE5VTEwpOworCQllcnJvciA9IGdmczJfcGVybWlzc2lvbihuZGlyLCBNQVlfV1JJVEUgfCBNQVlfRVhFQyk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0X2d1bmxvY2s7CiAKQEAgLTcwNCw3ICs3MDQsNyBAQAogCS8qIENoZWNrIG91dCB0aGUgZGlyIHRvIGJlIHJlbmFtZWQgKi8KIAogCWlmIChkaXJfcmVuYW1lKSB7Ci0JCWVycm9yID0gcGVybWlzc2lvbihvZGVudHJ5LT5kX2lub2RlLCBNQVlfV1JJVEUsIE5VTEwpOworCQllcnJvciA9IGdmczJfcGVybWlzc2lvbihvZGVudHJ5LT5kX2lub2RlLCBNQVlfV1JJVEUpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dF9ndW5sb2NrOwogCX0KQEAgLTg5MSw3ICs4OTEsNyBAQAogICogUmV0dXJuczogZXJybm8KICAqLwogCi1zdGF0aWMgaW50IGdmczJfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaywgc3RydWN0IG5hbWVpZGF0YSAqbmQpCitpbnQgZ2ZzMl9wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrKQogewogCXN0cnVjdCBnZnMyX2lub2RlICppcCA9IEdGUzJfSShpbm9kZSk7CiAJc3RydWN0IGdmczJfaG9sZGVyIGlfZ2g7CkBAIC05MDUsMTMgKzkwNSwyMiBAQAogCQl1bmxvY2sgPSAxOwogCX0KIAotCWVycm9yID0gZ2VuZXJpY19wZXJtaXNzaW9uKGlub2RlLCBtYXNrLCBnZnMyX2NoZWNrX2FjbCk7CisJaWYgKChtYXNrICYgTUFZX1dSSVRFKSAmJiBJU19JTU1VVEFCTEUoaW5vZGUpKQorCQllcnJvciA9IC1FQUNDRVM7CisJZWxzZQorCQllcnJvciA9IGdlbmVyaWNfcGVybWlzc2lvbihpbm9kZSwgbWFzaywgZ2ZzMl9jaGVja19hY2wpOwogCWlmICh1bmxvY2spCiAJCWdmczJfZ2xvY2tfZHFfdW5pbml0KCZpX2doKTsKIAogCXJldHVybiBlcnJvcjsKIH0KIAorc3RhdGljIGludCBnZnMyX2lvcF9wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrLAorCQkJICAgICAgIHN0cnVjdCBuYW1laWRhdGEgKm5kKQoreworCXJldHVybiBnZnMyX3Blcm1pc3Npb24oaW5vZGUsIG1hc2spOworfQorCiBzdGF0aWMgaW50IHNldGF0dHJfc2l6ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgaWF0dHIgKmF0dHIpCiB7CiAJc3RydWN0IGdmczJfaW5vZGUgKmlwID0gR0ZTMl9JKGlub2RlKTsKQEAgLTExNDEsNyArMTE1MCw3IEBACiB9CiAKIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIGdmczJfZmlsZV9pb3BzID0gewotCS5wZXJtaXNzaW9uID0gZ2ZzMl9wZXJtaXNzaW9uLAorCS5wZXJtaXNzaW9uID0gZ2ZzMl9pb3BfcGVybWlzc2lvbiwKIAkuc2V0YXR0ciA9IGdmczJfc2V0YXR0ciwKIAkuZ2V0YXR0ciA9IGdmczJfZ2V0YXR0ciwKIAkuc2V0eGF0dHIgPSBnZnMyX3NldHhhdHRyLApAQCAtMTE2MCw3ICsxMTY5LDcgQEAKIAkucm1kaXIgPSBnZnMyX3JtZGlyLAogCS5ta25vZCA9IGdmczJfbWtub2QsCiAJLnJlbmFtZSA9IGdmczJfcmVuYW1lLAotCS5wZXJtaXNzaW9uID0gZ2ZzMl9wZXJtaXNzaW9uLAorCS5wZXJtaXNzaW9uID0gZ2ZzMl9pb3BfcGVybWlzc2lvbiwKIAkuc2V0YXR0ciA9IGdmczJfc2V0YXR0ciwKIAkuZ2V0YXR0ciA9IGdmczJfZ2V0YXR0ciwKIAkuc2V0eGF0dHIgPSBnZnMyX3NldHhhdHRyLApAQCAtMTE3Miw3ICsxMTgxLDcgQEAKIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIGdmczJfc3ltbGlua19pb3BzID0gewogCS5yZWFkbGluayA9IGdmczJfcmVhZGxpbmssCiAJLmZvbGxvd19saW5rID0gZ2ZzMl9mb2xsb3dfbGluaywKLQkucGVybWlzc2lvbiA9IGdmczJfcGVybWlzc2lvbiwKKwkucGVybWlzc2lvbiA9IGdmczJfaW9wX3Blcm1pc3Npb24sCiAJLnNldGF0dHIgPSBnZnMyX3NldGF0dHIsCiAJLmdldGF0dHIgPSBnZnMyX2dldGF0dHIsCiAJLnNldHhhdHRyID0gZ2ZzMl9zZXR4YXR0ciwKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX3N1cGVyLmMgYi9mcy9nZnMyL29wc19zdXBlci5jCmluZGV4IDBiN2NjOTIuLmY2NmVhMGYgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvb3BzX3N1cGVyLmMKKysrIGIvZnMvZ2ZzMi9vcHNfc3VwZXIuYwpAQCAtMTI2LDcgKzEyNiw3IEBACiAJZ2ZzMl9jbGVhcl9yZ3JwZChzZHApOwogCWdmczJfamluZGV4X2ZyZWUoc2RwKTsKIAkvKiAgVGFrZSBhcGFydCBnbG9jayBzdHJ1Y3R1cmVzIGFuZCBidWZmZXIgbGlzdHMgICovCi0JZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCwgV0FJVCk7CisJZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCk7CiAJLyogIFVubW91bnQgdGhlIGxvY2tpbmcgcHJvdG9jb2wgICovCiAJZ2ZzMl9sbV91bm1vdW50KHNkcCk7CiAKQEAgLTE1NSw3ICsxNTUsNyBAQAogc3RhdGljIGludCBnZnMyX3N5bmNfZnMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgaW50IHdhaXQpCiB7CiAJc2ItPnNfZGlydCA9IDA7Ci0JaWYgKHdhaXQpCisJaWYgKHdhaXQgJiYgc2ItPnNfZnNfaW5mbykKIAkJZ2ZzMl9sb2dfZmx1c2goc2ItPnNfZnNfaW5mbywgTlVMTCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9mcy9nZnMyL3F1b3RhLmMgYi9mcy9nZnMyL3F1b3RhLmMKaW5kZXggNTZhYWY5MS4uM2UwNzNmNSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9xdW90YS5jCisrKyBiL2ZzL2dmczIvcXVvdGEuYwpAQCAtOTA0LDcgKzkwNCw3IEBACiAJCWRvX3N5bmMgPSAwOwogCWVsc2UgewogCQl2YWx1ZSAqPSBnZnMyX2ppbmRleF9zaXplKHNkcCkgKiBudW07Ci0JCWRvX2Rpdih2YWx1ZSwgZGVuKTsKKwkJdmFsdWUgPSBkaXZfczY0KHZhbHVlLCBkZW4pOwogCQl2YWx1ZSArPSAoczY0KWJlNjRfdG9fY3B1KHFkLT5xZF9xYi5xYl92YWx1ZSk7CiAJCWlmICh2YWx1ZSA8IChzNjQpYmU2NF90b19jcHUocWQtPnFkX3FiLnFiX2xpbWl0KSkKIAkJCWRvX3N5bmMgPSAwOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9yZWNvdmVyeS5jIGIvZnMvZ2ZzMi9yZWNvdmVyeS5jCmluZGV4IDI4ODhlNGIuLmQ1ZTkxZjQgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvcmVjb3ZlcnkuYworKysgYi9mcy9nZnMyL3JlY292ZXJ5LmMKQEAgLTQyOCw2ICs0MjgsOSBAQAogc3RhdGljIHZvaWQgZ2ZzMl9sbV9yZWNvdmVyeV9kb25lKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCB1bnNpZ25lZCBpbnQgamlkLAogCQkJCSAgdW5zaWduZWQgaW50IG1lc3NhZ2UpCiB7CisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9yZWNvdmVyeV9kb25lKQorCQlyZXR1cm47CisKIAlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCiAJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3JlY292ZXJ5X2RvbmUoCiAJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbG9ja3NwYWNlLCBqaWQsIG1lc3NhZ2UpOwpAQCAtNTA1LDcgKzUwOCw3IEBACiAKIAkJZXJyb3IgPSBnZnMyX2dsb2NrX25xX2luaXQoc2RwLT5zZF90cmFuc19nbCwgTE1fU1RfU0hBUkVELAogCQkJCQkgICBMTV9GTEFHX05PRVhQIHwgTE1fRkxBR19QUklPUklUWSB8Ci0JCQkJCSAgIEdMX05PQ0FOQ0VMIHwgR0xfTk9DQUNIRSwgJnRfZ2gpOworCQkJCQkgICBHTF9OT0NBQ0hFLCAmdF9naCk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gZmFpbF9ndW5sb2NrX2ppOwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL3JncnAuYyBiL2ZzL2dmczIvcmdycC5jCmluZGV4IDM0MDE2MjguLjJkOTBmYjIgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvcmdycC5jCisrKyBiL2ZzL2dmczIvcmdycC5jCkBAIC0zNzEsMTEgKzM3MSw2IEBACiAKIAlzcGluX2xvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwogCXNkcC0+c2RfcmluZGV4X2ZvcndhcmQgPSBOVUxMOwotCWhlYWQgPSAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3Q7Ci0Jd2hpbGUgKCFsaXN0X2VtcHR5KGhlYWQpKSB7Ci0JCXJnZCA9IGxpc3RfZW50cnkoaGVhZC0+bmV4dCwgc3RydWN0IGdmczJfcmdycGQsIHJkX3JlY2VudCk7Ci0JCWxpc3RfZGVsKCZyZ2QtPnJkX3JlY2VudCk7Ci0JfQogCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKIAogCWhlYWQgPSAmc2RwLT5zZF9yaW5kZXhfbGlzdDsKQEAgLTk0NSwxMDcgKzk0MCwzMCBAQAogfQogCiAvKioKLSAqIHJlY2VudF9yZ3JwX2ZpcnN0IC0gZ2V0IGZpcnN0IFJHIGZyb20gInJlY2VudCIgbGlzdAotICogQHNkcDogVGhlIEdGUzIgc3VwZXJibG9jawotICogQHJnbGFzdDogYWRkcmVzcyBvZiB0aGUgcmdycCB1c2VkIGxhc3QKLSAqCi0gKiBSZXR1cm5zOiBUaGUgZmlyc3QgcmdycCBpbiB0aGUgcmVjZW50IGxpc3QKLSAqLwotCi1zdGF0aWMgc3RydWN0IGdmczJfcmdycGQgKnJlY2VudF9yZ3JwX2ZpcnN0KHN0cnVjdCBnZnMyX3NiZCAqc2RwLAotCQkJCQkgICAgdTY0IHJnbGFzdCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmdkOwotCi0Jc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKLQotCWlmIChyZ2xhc3QpIHsKLQkJbGlzdF9mb3JfZWFjaF9lbnRyeShyZ2QsICZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdCwgcmRfcmVjZW50KSB7Ci0JCQlpZiAocmdycF9jb250YWluc19ibG9jayhyZ2QsIHJnbGFzdCkpCi0JCQkJZ290byBvdXQ7Ci0JCX0KLQl9Ci0JcmdkID0gTlVMTDsKLQlpZiAoIWxpc3RfZW1wdHkoJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0KSkKLQkJcmdkID0gbGlzdF9lbnRyeShzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdC5uZXh0LAotCQkJCSBzdHJ1Y3QgZ2ZzMl9yZ3JwZCwgcmRfcmVjZW50KTsKLW91dDoKLQlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci0JcmV0dXJuIHJnZDsKLX0KLQotLyoqCiAgKiByZWNlbnRfcmdycF9uZXh0IC0gZ2V0IG5leHQgUkcgZnJvbSAicmVjZW50IiBsaXN0CiAgKiBAY3VyX3JnZDogY3VycmVudCByZ3JwCi0gKiBAcmVtb3ZlOgogICoKICAqIFJldHVybnM6IFRoZSBuZXh0IHJncnAgaW4gdGhlIHJlY2VudCBsaXN0CiAgKi8KIAotc3RhdGljIHN0cnVjdCBnZnMyX3JncnBkICpyZWNlbnRfcmdycF9uZXh0KHN0cnVjdCBnZnMyX3JncnBkICpjdXJfcmdkLAotCQkJCQkgICBpbnQgcmVtb3ZlKQorc3RhdGljIHN0cnVjdCBnZnMyX3JncnBkICpyZWNlbnRfcmdycF9uZXh0KHN0cnVjdCBnZnMyX3JncnBkICpjdXJfcmdkKQogewogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gY3VyX3JnZC0+cmRfc2JkOwogCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQ7CiAJc3RydWN0IGdmczJfcmdycGQgKnJnZDsKIAogCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci0KLQloZWFkID0gJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0OwotCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShyZ2QsIGhlYWQsIHJkX3JlY2VudCkgewotCQlpZiAocmdkID09IGN1cl9yZ2QpIHsKLQkJCWlmIChjdXJfcmdkLT5yZF9yZWNlbnQubmV4dCAhPSBoZWFkKQotCQkJCXJnZCA9IGxpc3RfZW50cnkoY3VyX3JnZC0+cmRfcmVjZW50Lm5leHQsCi0JCQkJCQkgc3RydWN0IGdmczJfcmdycGQsIHJkX3JlY2VudCk7Ci0JCQllbHNlCi0JCQkJcmdkID0gTlVMTDsKLQotCQkJaWYgKHJlbW92ZSkKLQkJCQlsaXN0X2RlbCgmY3VyX3JnZC0+cmRfcmVjZW50KTsKLQotCQkJZ290byBvdXQ7Ci0JCX0KKwloZWFkID0gJnNkcC0+c2RfcmluZGV4X21ydV9saXN0OworCWlmICh1bmxpa2VseShjdXJfcmdkLT5yZF9saXN0X21ydS5uZXh0ID09IGhlYWQpKSB7CisJCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKKwkJcmV0dXJuIE5VTEw7CiAJfQotCi0JcmdkID0gTlVMTDsKLQlpZiAoIWxpc3RfZW1wdHkoaGVhZCkpCi0JCXJnZCA9IGxpc3RfZW50cnkoaGVhZC0+bmV4dCwgc3RydWN0IGdmczJfcmdycGQsIHJkX3JlY2VudCk7Ci0KLW91dDoKKwlyZ2QgPSBsaXN0X2VudHJ5KGN1cl9yZ2QtPnJkX2xpc3RfbXJ1Lm5leHQsIHN0cnVjdCBnZnMyX3JncnBkLCByZF9saXN0X21ydSk7CiAJc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwogCXJldHVybiByZ2Q7CiB9CiAKIC8qKgotICogcmVjZW50X3JncnBfYWRkIC0gYWRkIGFuIFJHIHRvIHRhaWwgb2YgInJlY2VudCIgbGlzdAotICogQG5ld19yZ2Q6IFRoZSByZ3JwIHRvIGFkZAotICoKLSAqLwotCi1zdGF0aWMgdm9pZCByZWNlbnRfcmdycF9hZGQoc3RydWN0IGdmczJfcmdycGQgKm5ld19yZ2QpCi17Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBuZXdfcmdkLT5yZF9zYmQ7Ci0Jc3RydWN0IGdmczJfcmdycGQgKnJnZDsKLQl1bnNpZ25lZCBpbnQgY291bnQgPSAwOwotCXVuc2lnbmVkIGludCBtYXggPSBzZHAtPnNkX3JncnBzIC8gZ2ZzMl9qaW5kZXhfc2l6ZShzZHApOwotCi0Jc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKLQotCWxpc3RfZm9yX2VhY2hfZW50cnkocmdkLCAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QsIHJkX3JlY2VudCkgewotCQlpZiAocmdkID09IG5ld19yZ2QpCi0JCQlnb3RvIG91dDsKLQotCQlpZiAoKytjb3VudCA+PSBtYXgpCi0JCQlnb3RvIG91dDsKLQl9Ci0JbGlzdF9hZGRfdGFpbCgmbmV3X3JnZC0+cmRfcmVjZW50LCAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QpOwotCi1vdXQ6Ci0Jc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwotfQotCi0vKioKICAqIGZvcndhcmRfcmdycF9nZXQgLSBnZXQgYW4gcmdycCB0byB0cnkgbmV4dCBmcm9tIGZ1bGwgbGlzdAogICogQHNkcDogVGhlIEdGUzIgc3VwZXJibG9jawogICoKQEAgLTExMTIsOSArMTAzMCw3IEBACiAJaW50IGxvb3BzID0gMDsKIAlpbnQgZXJyb3IsIHJnX2xvY2tlZDsKIAotCS8qIFRyeSByZWNlbnRseSBzdWNjZXNzZnVsIHJncnBzICovCi0KLQlyZ2QgPSByZWNlbnRfcmdycF9maXJzdChzZHAsIGlwLT5pX2dvYWwpOworCXJnZCA9IGdmczJfYmxrMnJncnBkKHNkcCwgaXAtPmlfZ29hbCk7CiAKIAl3aGlsZSAocmdkKSB7CiAJCXJnX2xvY2tlZCA9IDA7CkBAIC0xMTM2LDExICsxMDUyLDkgQEAKIAkJCQlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmYWwtPmFsX3JnZF9naCk7CiAJCQlpZiAoaW5vZGUpCiAJCQkJcmV0dXJuIGlub2RlOwotCQkJcmdkID0gcmVjZW50X3JncnBfbmV4dChyZ2QsIDEpOwotCQkJYnJlYWs7Ci0KKwkJCS8qIGZhbGwgdGhyb3VnaCAqLwogCQljYXNlIEdMUl9UUllGQUlMRUQ6Ci0JCQlyZ2QgPSByZWNlbnRfcmdycF9uZXh0KHJnZCwgMCk7CisJCQlyZ2QgPSByZWNlbnRfcmdycF9uZXh0KHJnZCk7CiAJCQlicmVhazsKIAogCQlkZWZhdWx0OgpAQCAtMTE5OSw3ICsxMTEzLDkgQEAKIAogb3V0OgogCWlmIChiZWdpbikgewotCQlyZWNlbnRfcmdycF9hZGQocmdkKTsKKwkJc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKKwkJbGlzdF9tb3ZlKCZyZ2QtPnJkX2xpc3RfbXJ1LCAmc2RwLT5zZF9yaW5kZXhfbXJ1X2xpc3QpOworCQlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CiAJCXJnZCA9IGdmczJfcmdycGRfZ2V0X25leHQocmdkKTsKIAkJaWYgKCFyZ2QpCiAJCQlyZ2QgPSBnZnMyX3JncnBkX2dldF9maXJzdChzZHApOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9zdXBlci5jIGIvZnMvZ2ZzMi9zdXBlci5jCmluZGV4IDdhZWFjYmMuLjYzYThhOTAgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvc3VwZXIuYworKysgYi9mcy9nZnMyL3N1cGVyLmMKQEAgLTY1LDcgKzY1LDYgQEAKIAlndC0+Z3RfcXVvdGFfcXVhbnR1bSA9IDYwOwogCWd0LT5ndF9hdGltZV9xdWFudHVtID0gMzYwMDsKIAlndC0+Z3RfbmV3X2ZpbGVzX2pkYXRhID0gMDsKLQlndC0+Z3RfbmV3X2ZpbGVzX2RpcmVjdGlvID0gMDsKIAlndC0+Z3RfbWF4X3JlYWRhaGVhZCA9IDEgPDwgMTg7CiAJZ3QtPmd0X3N0YWxsX3NlY3MgPSA2MDA7CiAJZ3QtPmd0X2NvbXBsYWluX3NlY3MgPSAxMDsKQEAgLTk0MSw4ICs5NDAsNyBAQAogCX0KIAogCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KHNkcC0+c2RfdHJhbnNfZ2wsIExNX1NUX0RFRkVSUkVELAotCQkJICAgICAgIExNX0ZMQUdfUFJJT1JJVFkgfCBHTF9OT0NBQ0hFLAotCQkJICAgICAgIHRfZ2gpOworCQkJCSAgIEdMX05PQ0FDSEUsIHRfZ2gpOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShqZCwgJnNkcC0+c2RfamluZGV4X2xpc3QsIGpkX2xpc3QpIHsKIAkJZXJyb3IgPSBnZnMyX2pkZXNjX2NoZWNrKGpkKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvc3lzLmMgYi9mcy9nZnMyL3N5cy5jCmluZGV4IDlhYjlmYzguLjc0ODQ2NTUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvc3lzLmMKKysrIGIvZnMvZ2ZzMi9zeXMuYwpAQCAtMTEwLDE4ICsxMTAsNiBAQAogCXJldHVybiBsZW47CiB9CiAKLXN0YXRpYyBzc2l6ZV90IHNocmlua19zdG9yZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQotewotCWlmICghY2FwYWJsZShDQVBfU1lTX0FETUlOKSkKLQkJcmV0dXJuIC1FQUNDRVM7Ci0KLQlpZiAoc2ltcGxlX3N0cnRvbChidWYsIE5VTEwsIDApICE9IDEpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCwgTk9fV0FJVCk7Ci0JcmV0dXJuIGxlbjsKLX0KLQogc3RhdGljIHNzaXplX3QgcXVvdGFfc3luY19zdG9yZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgY29uc3QgY2hhciAqYnVmLAogCQkJCXNpemVfdCBsZW4pCiB7CkBAIC0xNzUsNyArMTYzLDYgQEAKIEdGUzJfQVRUUihpZCwgICAgICAgICAgICAgICAgICAwNDQ0LCBpZF9zaG93LCAgICAgICBOVUxMKTsKIEdGUzJfQVRUUihmc25hbWUsICAgICAgICAgICAgICAwNDQ0LCBmc25hbWVfc2hvdywgICBOVUxMKTsKIEdGUzJfQVRUUihmcmVlemUsICAgICAgICAgICAgICAwNjQ0LCBmcmVlemVfc2hvdywgICBmcmVlemVfc3RvcmUpOwotR0ZTMl9BVFRSKHNocmluaywgICAgICAgICAgICAgIDAyMDAsIE5VTEwsICAgICAgICAgIHNocmlua19zdG9yZSk7CiBHRlMyX0FUVFIod2l0aGRyYXcsICAgICAgICAgICAgMDY0NCwgd2l0aGRyYXdfc2hvdywgd2l0aGRyYXdfc3RvcmUpOwogR0ZTMl9BVFRSKHN0YXRmc19zeW5jLCAgICAgICAgIDAyMDAsIE5VTEwsICAgICAgICAgIHN0YXRmc19zeW5jX3N0b3JlKTsKIEdGUzJfQVRUUihxdW90YV9zeW5jLCAgICAgICAgICAwMjAwLCBOVUxMLCAgICAgICAgICBxdW90YV9zeW5jX3N0b3JlKTsKQEAgLTE4Niw3ICsxNzMsNiBAQAogCSZnZnMyX2F0dHJfaWQuYXR0ciwKIAkmZ2ZzMl9hdHRyX2ZzbmFtZS5hdHRyLAogCSZnZnMyX2F0dHJfZnJlZXplLmF0dHIsCi0JJmdmczJfYXR0cl9zaHJpbmsuYXR0ciwKIAkmZ2ZzMl9hdHRyX3dpdGhkcmF3LmF0dHIsCiAJJmdmczJfYXR0cl9zdGF0ZnNfc3luYy5hdHRyLAogCSZnZnMyX2F0dHJfcXVvdGFfc3luYy5hdHRyLApAQCAtNDI2LDcgKzQxMiw2IEBACiBUVU5FX0FUVFIoY29tcGxhaW5fc2VjcywgMCk7CiBUVU5FX0FUVFIoc3RhdGZzX3Nsb3csIDApOwogVFVORV9BVFRSKG5ld19maWxlc19qZGF0YSwgMCk7Ci1UVU5FX0FUVFIobmV3X2ZpbGVzX2RpcmVjdGlvLCAwKTsKIFRVTkVfQVRUUihxdW90YV9zaW11bF9zeW5jLCAxKTsKIFRVTkVfQVRUUihxdW90YV9jYWNoZV9zZWNzLCAxKTsKIFRVTkVfQVRUUihzdGFsbF9zZWNzLCAxKTsKQEAgLTQ1NSw3ICs0NDAsNiBAQAogCSZ0dW5lX2F0dHJfcXVvdGFkX3NlY3MuYXR0ciwKIAkmdHVuZV9hdHRyX3F1b3RhX3NjYWxlLmF0dHIsCiAJJnR1bmVfYXR0cl9uZXdfZmlsZXNfamRhdGEuYXR0ciwKLQkmdHVuZV9hdHRyX25ld19maWxlc19kaXJlY3Rpby5hdHRyLAogCU5VTEwsCiB9OwogCmRpZmYgLS1naXQgYS9mcy9qYmQyL2NoZWNrcG9pbnQuYyBiL2ZzL2piZDIvY2hlY2twb2ludC5jCmluZGV4IDY5MTQ1OTguLjkxMzg5YzggMTAwNjQ0Ci0tLSBhL2ZzL2piZDIvY2hlY2twb2ludC5jCisrKyBiL2ZzL2piZDIvY2hlY2twb2ludC5jCkBAIC02ODgsNyArNjg4LDYgQEAKIAogCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X3N0YXRlID09IFRfRklOSVNIRUQpOwogCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X2J1ZmZlcnMgPT0gTlVMTCk7Ci0JSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCA9PSBOVUxMKTsKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9mb3JnZXQgPT0gTlVMTCk7CiAJSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfaW9idWZfbGlzdCA9PSBOVUxMKTsKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9zaGFkb3dfbGlzdCA9PSBOVUxMKTsKZGlmZiAtLWdpdCBhL2ZzL2piZDIvY29tbWl0LmMgYi9mcy9qYmQyL2NvbW1pdC5jCmluZGV4IGEyZWQ3MmYuLmY4YjNiZTggMTAwNjQ0Ci0tLSBhL2ZzL2piZDIvY29tbWl0LmMKKysrIGIvZnMvamJkMi9jb21taXQuYwpAQCAtMjIsNiArMjIsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvY3JjMzIuaD4KKyNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4KKyNpbmNsdWRlIDxsaW51eC9iYWNraW5nLWRldi5oPgogCiAvKgogICogRGVmYXVsdCBJTyBlbmQgaGFuZGxlciBmb3IgdGVtcG9yYXJ5IEJKX0lPIGJ1ZmZlcl9oZWFkcy4KQEAgLTM3LDggKzM5LDggQEAKIH0KIAogLyoKLSAqIFdoZW4gYW4gZXh0My1vcmRlcmVkIGZpbGUgaXMgdHJ1bmNhdGVkLCBpdCBpcyBwb3NzaWJsZSB0aGF0IG1hbnkgcGFnZXMgYXJlCi0gKiBub3Qgc3VjZXNzZnVsbHkgZnJlZWQsIGJlY2F1c2UgdGhleSBhcmUgYXR0YWNoZWQgdG8gYSBjb21taXR0aW5nIHRyYW5zYWN0aW9uLgorICogV2hlbiBhbiBleHQ0IGZpbGUgaXMgdHJ1bmNhdGVkLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHNvbWUgcGFnZXMgYXJlIG5vdAorICogc3VjY2Vzc2Z1bGx5IGZyZWVkLCBiZWNhdXNlIHRoZXkgYXJlIGF0dGFjaGVkIHRvIGEgY29tbWl0dGluZyB0cmFuc2FjdGlvbi4KICAqIEFmdGVyIHRoZSB0cmFuc2FjdGlvbiBjb21taXRzLCB0aGVzZSBwYWdlcyBhcmUgbGVmdCBvbiB0aGUgTFJVLCB3aXRoIG5vCiAgKiAtPm1hcHBpbmcsIGFuZCB3aXRoIGF0dGFjaGVkIGJ1ZmZlcnMuICBUaGVzZSBwYWdlcyBhcmUgdHJpdmlhbGx5IHJlY2xhaW1hYmxlCiAgKiBieSB0aGUgVk0sIGJ1dCB0aGVpciBhcHBhcmVudCBhYnNlbmNlIHVwc2V0cyB0aGUgVk0gYWNjb3VudGluZywgYW5kIGl0IG1ha2VzCkBAIC04MCwyMSArODIsNiBAQAogfQogCiAvKgotICogVHJ5IHRvIGFjcXVpcmUgamJkX2xvY2tfYmhfc3RhdGUoKSBhZ2FpbnN0IHRoZSBidWZmZXIsIHdoZW4gal9saXN0X2xvY2sgaXMKLSAqIGhlbGQuICBGb3IgcmFua2luZyByZWFzb25zIHdlIG11c3QgdHJ5bG9jay4gIElmIHdlIGxvc2UsIHNjaGVkdWxlIGF3YXkgYW5kCi0gKiByZXR1cm4gMC4gIGpfbGlzdF9sb2NrIGlzIGRyb3BwZWQgaW4gdGhpcyBjYXNlLgotICovCi1zdGF0aWMgaW50IGludmVydGVkX2xvY2soam91cm5hbF90ICpqb3VybmFsLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQotewotCWlmICghamJkX3RyeWxvY2tfYmhfc3RhdGUoYmgpKSB7Ci0JCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCXNjaGVkdWxlKCk7Ci0JCXJldHVybiAwOwotCX0KLQlyZXR1cm4gMTsKLX0KLQotLyoKICAqIERvbmUgaXQgYWxsOiBub3cgc3VibWl0IHRoZSBjb21taXQgcmVjb3JkLiAgV2Ugc2hvdWxkIGhhdmUKICAqIGNsZWFuZWQgdXAgb3VyIHByZXZpb3VzIGJ1ZmZlcnMgYnkgbm93LCBzbyBpZiB3ZSBhcmUgaW4gYWJvcnQKICAqIG1vZGUgd2UgY2FuIG5vdyBqdXN0IHNraXAgdGhlIHJlc3Qgb2YgdGhlIGpvdXJuYWwgd3JpdGUKQEAgLTExMiw2ICs5OSw3IEBACiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKIAlpbnQgcmV0OwogCWludCBiYXJyaWVyX2RvbmUgPSAwOworCXN0cnVjdCB0aW1lc3BlYyBub3cgPSBjdXJyZW50X2tlcm5lbF90aW1lKCk7CiAKIAlpZiAoaXNfam91cm5hbF9hYm9ydGVkKGpvdXJuYWwpKQogCQlyZXR1cm4gMDsKQEAgLTEyNiw2ICsxMTQsOCBAQAogCXRtcC0+aF9tYWdpYyA9IGNwdV90b19iZTMyKEpCRDJfTUFHSUNfTlVNQkVSKTsKIAl0bXAtPmhfYmxvY2t0eXBlID0gY3B1X3RvX2JlMzIoSkJEMl9DT01NSVRfQkxPQ0spOwogCXRtcC0+aF9zZXF1ZW5jZSA9IGNwdV90b19iZTMyKGNvbW1pdF90cmFuc2FjdGlvbi0+dF90aWQpOworCXRtcC0+aF9jb21taXRfc2VjID0gY3B1X3RvX2JlNjQobm93LnR2X3NlYyk7CisJdG1wLT5oX2NvbW1pdF9uc2VjID0gY3B1X3RvX2JlMzIobm93LnR2X25zZWMpOwogCiAJaWYgKEpCRDJfSEFTX0NPTVBBVF9GRUFUVVJFKGpvdXJuYWwsCiAJCQkJICAgIEpCRDJfRkVBVFVSRV9DT01QQVRfQ0hFQ0tTVU0pKSB7CkBAIC0xOTcsMTU5ICsxODcsMTA0IEBACiB9CiAKIC8qCi0gKiBXYWl0IGZvciBhbGwgc3VibWl0dGVkIElPIHRvIGNvbXBsZXRlLgorICogd3JpdGUgdGhlIGZpbGVtYXAgZGF0YSB1c2luZyB3cml0ZXBhZ2UoKSBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMuCisgKiBXZSBkb24ndCBkbyBibG9jayBhbGxvY2F0aW9uIGhlcmUgZXZlbiBmb3IgZGVsYWxsb2MuIFdlIGRvbid0CisgKiB1c2Ugd3JpdGVwYWdlcygpIGJlY2F1c2Ugd2l0aCBkZWFseWVkIGFsbG9jYXRpb24gd2UgbWF5IGJlIGRvaW5nCisgKiBibG9jayBhbGxvY2F0aW9uIGluIHdyaXRlcGFnZXMoKS4KICAqLwotc3RhdGljIGludCBqb3VybmFsX3dhaXRfb25fbG9ja2VkX2xpc3Qoam91cm5hbF90ICpqb3VybmFsLAotCQkJCSAgICAgICB0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnNhY3Rpb24pCitzdGF0aWMgaW50IGpvdXJuYWxfc3VibWl0X2lub2RlX2RhdGFfYnVmZmVycyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZykKIHsKLQlpbnQgcmV0ID0gMDsKLQlzdHJ1Y3Qgam91cm5hbF9oZWFkICpqaDsKKwlpbnQgcmV0OworCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCB3YmMgPSB7CisJCS5zeW5jX21vZGUgPSAgV0JfU1lOQ19BTEwsCisJCS5ucl90b193cml0ZSA9IG1hcHBpbmctPm5ycGFnZXMgKiAyLAorCQkucmFuZ2Vfc3RhcnQgPSAwLAorCQkucmFuZ2VfZW5kID0gaV9zaXplX3JlYWQobWFwcGluZy0+aG9zdCksCisJCS5mb3Jfd3JpdGVwYWdlcyA9IDEsCisJfTsKIAotCXdoaWxlIChjb21taXRfdHJhbnNhY3Rpb24tPnRfbG9ja2VkX2xpc3QpIHsKLQkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKLQotCQlqaCA9IGNvbW1pdF90cmFuc2FjdGlvbi0+dF9sb2NrZWRfbGlzdC0+Yl90cHJldjsKLQkJYmggPSBqaDJiaChqaCk7Ci0JCWdldF9iaChiaCk7Ci0JCWlmIChidWZmZXJfbG9ja2VkKGJoKSkgewotCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCXdhaXRfb25fYnVmZmVyKGJoKTsKLQkJCWlmICh1bmxpa2VseSghYnVmZmVyX3VwdG9kYXRlKGJoKSkpCi0JCQkJcmV0ID0gLUVJTzsKLQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQl9Ci0JCWlmICghaW52ZXJ0ZWRfbG9jayhqb3VybmFsLCBiaCkpIHsKLQkJCXB1dF9iaChiaCk7Ci0JCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCWlmIChidWZmZXJfamJkKGJoKSAmJiBqaC0+Yl9qbGlzdCA9PSBCSl9Mb2NrZWQpIHsKLQkJCV9famJkMl9qb3VybmFsX3VuZmlsZV9idWZmZXIoamgpOwotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZChiaCk7Ci0JCQlwdXRfYmgoYmgpOwotCQl9IGVsc2UgewotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCX0KLQkJcHV0X2JoKGJoKTsKLQkJY29uZF9yZXNjaGVkX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQl9CisJcmV0ID0gZ2VuZXJpY193cml0ZXBhZ2VzKG1hcHBpbmcsICZ3YmMpOwogCXJldHVybiByZXQ7Ci0gIH0KLQotc3RhdGljIHZvaWQgam91cm5hbF9kb19zdWJtaXRfZGF0YShzdHJ1Y3QgYnVmZmVyX2hlYWQgKip3YnVmLCBpbnQgYnVmcykKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBidWZzOyBpKyspIHsKLQkJd2J1ZltpXS0+Yl9lbmRfaW8gPSBlbmRfYnVmZmVyX3dyaXRlX3N5bmM7Ci0JCS8qIFdlIHVzZS11cCBvdXIgc2FmZXR5IHJlZmVyZW5jZSBpbiBzdWJtaXRfYmgoKSAqLwotCQlzdWJtaXRfYmgoV1JJVEUsIHdidWZbaV0pOwotCX0KIH0KIAogLyoKLSAqICBTdWJtaXQgYWxsIHRoZSBkYXRhIGJ1ZmZlcnMgdG8gZGlzaworICogU3VibWl0IGFsbCB0aGUgZGF0YSBidWZmZXJzIG9mIGlub2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgdHJhbnNhY3Rpb24gdG8KKyAqIGRpc2suCisgKgorICogV2UgYXJlIGluIGEgY29tbWl0dGluZyB0cmFuc2FjdGlvbi4gVGhlcmVmb3JlIG5vIG5ldyBpbm9kZSBjYW4gYmUgYWRkZWQgdG8KKyAqIG91ciBpbm9kZSBsaXN0LiBXZSB1c2UgSklfQ09NTUlUX1JVTk5JTkcgZmxhZyB0byBwcm90ZWN0IGlub2RlIHdlIGN1cnJlbnRseQorICogb3BlcmF0ZSBvbiBmcm9tIGJlaW5nIHJlbGVhc2VkIHdoaWxlIHdlIHdyaXRlIG91dCBwYWdlcy4KICAqLwotc3RhdGljIHZvaWQgam91cm5hbF9zdWJtaXRfZGF0YV9idWZmZXJzKGpvdXJuYWxfdCAqam91cm5hbCwKLQkJCQl0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnNhY3Rpb24pCitzdGF0aWMgaW50IGpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycyhqb3VybmFsX3QgKmpvdXJuYWwsCisJCXRyYW5zYWN0aW9uX3QgKmNvbW1pdF90cmFuc2FjdGlvbikKIHsKLQlzdHJ1Y3Qgam91cm5hbF9oZWFkICpqaDsKLQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCWludCBsb2NrZWQ7Ci0JaW50IGJ1ZnMgPSAwOwotCXN0cnVjdCBidWZmZXJfaGVhZCAqKndidWYgPSBqb3VybmFsLT5qX3didWY7CisJc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZTsKKwlpbnQgZXJyLCByZXQgPSAwOworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nOwogCi0JLyoKLQkgKiBXaGVuZXZlciB3ZSB1bmxvY2sgdGhlIGpvdXJuYWwgYW5kIHNsZWVwLCB0aGluZ3MgY2FuIGdldCBhZGRlZAotCSAqIG9udG8gLT50X3N5bmNfZGF0YWxpc3QsIHNvIHdlIGhhdmUgdG8ga2VlcCBsb29waW5nIGJhY2sgdG8KLQkgKiB3cml0ZV9vdXRfZGF0YSB1bnRpbCB3ZSAqa25vdyogdGhhdCB0aGUgbGlzdCBpcyBlbXB0eS4KLQkgKgotCSAqIENsZWFudXAgYW55IGZsdXNoZWQgZGF0YSBidWZmZXJzIGZyb20gdGhlIGRhdGEgbGlzdC4gIEV2ZW4gaW4KLQkgKiBhYm9ydCBtb2RlLCB3ZSB3YW50IHRvIGZsdXNoIHRoaXMgb3V0IGFzIHNvb24gYXMgcG9zc2libGUuCi0JICovCi13cml0ZV9vdXRfZGF0YToKLQljb25kX3Jlc2NoZWQoKTsKIAlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQotCXdoaWxlIChjb21taXRfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCkgewotCQlqaCA9IGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0OwotCQliaCA9IGpoMmJoKGpoKTsKLQkJbG9ja2VkID0gMDsKLQotCQkvKiBHZXQgcmVmZXJlbmNlIGp1c3QgdG8gbWFrZSBzdXJlIGJ1ZmZlciBkb2VzIG5vdCBkaXNhcHBlYXIKLQkJICogd2hlbiB3ZSBhcmUgZm9yY2VkIHRvIGRyb3AgdmFyaW91cyBsb2NrcyAqLwotCQlnZXRfYmgoYmgpOwotCQkvKiBJZiB0aGUgYnVmZmVyIGlzIGRpcnR5LCB3ZSBuZWVkIHRvIHN1Ym1pdCBJTyBhbmQgaGVuY2UKLQkJICogd2UgbmVlZCB0aGUgYnVmZmVyIGxvY2suIFdlIHRyeSB0byBsb2NrIHRoZSBidWZmZXIgd2l0aG91dAotCQkgKiBibG9ja2luZy4gSWYgd2UgZmFpbCwgd2UgbmVlZCB0byBkcm9wIGpfbGlzdF9sb2NrIGFuZCBkbwotCQkgKiBibG9ja2luZyBsb2NrX2J1ZmZlcigpLgorCWxpc3RfZm9yX2VhY2hfZW50cnkoamlub2RlLCAmY29tbWl0X3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QsIGlfbGlzdCkgeworCQltYXBwaW5nID0gamlub2RlLT5pX3Zmc19pbm9kZS0+aV9tYXBwaW5nOworCQlqaW5vZGUtPmlfZmxhZ3MgfD0gSklfQ09NTUlUX1JVTk5JTkc7CisJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCS8qCisJCSAqIHN1Ym1pdCB0aGUgaW5vZGUgZGF0YSBidWZmZXJzLiBXZSB1c2Ugd3JpdGVwYWdlCisJCSAqIGluc3RlYWQgb2Ygd3JpdGVwYWdlcy4gQmVjYXVzZSB3cml0ZXBhZ2VzIGNhbiBkbworCQkgKiBibG9jayBhbGxvY2F0aW9uICB3aXRoIGRlbGFsbG9jLiBXZSBuZWVkIHRvIHdyaXRlCisJCSAqIG9ubHkgYWxsb2NhdGVkIGJsb2NrcyBoZXJlLgogCQkgKi8KLQkJaWYgKGJ1ZmZlcl9kaXJ0eShiaCkpIHsKLQkJCWlmICh0ZXN0X3NldF9idWZmZXJfbG9ja2VkKGJoKSkgewotCQkJCUJVRkZFUl9UUkFDRShiaCwgIm5lZWRzIGJsb2NraW5nIGxvY2siKTsKLQkJCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJCS8qIFdyaXRlIG91dCBhbGwgZGF0YSB0byBwcmV2ZW50IGRlYWRsb2NrcyAqLwotCQkJCWpvdXJuYWxfZG9fc3VibWl0X2RhdGEod2J1ZiwgYnVmcyk7Ci0JCQkJYnVmcyA9IDA7Ci0JCQkJbG9ja19idWZmZXIoYmgpOwotCQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJfQotCQkJbG9ja2VkID0gMTsKLQkJfQotCQkvKiBXZSBoYXZlIHRvIGdldCBiaF9zdGF0ZSBsb2NrLiBBZ2FpbiBvdXQgb2Ygb3JkZXIsIHNpZ2guICovCi0JCWlmICghaW52ZXJ0ZWRfbG9jayhqb3VybmFsLCBiaCkpIHsKLQkJCWpiZF9sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQl9Ci0JCS8qIFNvbWVvbmUgYWxyZWFkeSBjbGVhbmVkIHVwIHRoZSBidWZmZXI/ICovCi0JCWlmICghYnVmZmVyX2piZChiaCkKLQkJCXx8IGpoLT5iX3RyYW5zYWN0aW9uICE9IGNvbW1pdF90cmFuc2FjdGlvbgotCQkJfHwgamgtPmJfamxpc3QgIT0gQkpfU3luY0RhdGEpIHsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJaWYgKGxvY2tlZCkKLQkJCQl1bmxvY2tfYnVmZmVyKGJoKTsKLQkJCUJVRkZFUl9UUkFDRShiaCwgImFscmVhZHkgY2xlYW5lZCB1cCIpOwotCQkJcHV0X2JoKGJoKTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCWlmIChsb2NrZWQgJiYgdGVzdF9jbGVhcl9idWZmZXJfZGlydHkoYmgpKSB7Ci0JCQlCVUZGRVJfVFJBQ0UoYmgsICJuZWVkcyB3cml0ZW91dCwgYWRkaW5nIHRvIGFycmF5Iik7Ci0JCQl3YnVmW2J1ZnMrK10gPSBiaDsKLQkJCV9famJkMl9qb3VybmFsX2ZpbGVfYnVmZmVyKGpoLCBjb21taXRfdHJhbnNhY3Rpb24sCi0JCQkJCQlCSl9Mb2NrZWQpOwotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlpZiAoYnVmcyA9PSBqb3VybmFsLT5qX3didWZzaXplKSB7Ci0JCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCQlqb3VybmFsX2RvX3N1Ym1pdF9kYXRhKHdidWYsIGJ1ZnMpOwotCQkJCWJ1ZnMgPSAwOwotCQkJCWdvdG8gd3JpdGVfb3V0X2RhdGE7Ci0JCQl9Ci0JCX0gZWxzZSBpZiAoIWxvY2tlZCAmJiBidWZmZXJfbG9ja2VkKGJoKSkgewotCQkJX19qYmQyX2pvdXJuYWxfZmlsZV9idWZmZXIoamgsIGNvbW1pdF90cmFuc2FjdGlvbiwKLQkJCQkJCUJKX0xvY2tlZCk7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCXB1dF9iaChiaCk7Ci0JCX0gZWxzZSB7Ci0JCQlCVUZGRVJfVFJBQ0UoYmgsICJ3cml0ZW91dCBjb21wbGV0ZTogdW5maWxlIik7Ci0JCQlfX2piZDJfam91cm5hbF91bmZpbGVfYnVmZmVyKGpoKTsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJaWYgKGxvY2tlZCkKLQkJCQl1bmxvY2tfYnVmZmVyKGJoKTsKLQkJCWpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKGJoKTsKLQkJCS8qIE9uY2UgZm9yIG91ciBzYWZldHkgcmVmZXJlbmNlLCBvbmNlIGZvcgotCQkJICogamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoKSAqLwotCQkJcHV0X2JoKGJoKTsKLQkJCXB1dF9iaChiaCk7Ci0JCX0KKwkJZXJyID0gam91cm5hbF9zdWJtaXRfaW5vZGVfZGF0YV9idWZmZXJzKG1hcHBpbmcpOworCQlpZiAoIXJldCkKKwkJCXJldCA9IGVycjsKKwkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCUpfQVNTRVJUKGppbm9kZS0+aV90cmFuc2FjdGlvbiA9PSBjb21taXRfdHJhbnNhY3Rpb24pOworCQlqaW5vZGUtPmlfZmxhZ3MgJj0gfkpJX0NPTU1JVF9SVU5OSU5HOworCQl3YWtlX3VwX2JpdCgmamlub2RlLT5pX2ZsYWdzLCBfX0pJX0NPTU1JVF9SVU5OSU5HKTsKKwl9CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwlyZXR1cm4gcmV0OworfQogCi0JCWlmIChuZWVkX3Jlc2NoZWQoKSB8fCBzcGluX25lZWRicmVhaygmam91cm5hbC0+al9saXN0X2xvY2spKSB7Ci0JCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJZ290byB3cml0ZV9vdXRfZGF0YTsKKy8qCisgKiBXYWl0IGZvciBkYXRhIHN1Ym1pdHRlZCBmb3Igd3JpdGVvdXQsIHJlZmlsZSBpbm9kZXMgdG8gcHJvcGVyCisgKiB0cmFuc2FjdGlvbiBpZiBuZWVkZWQuCisgKgorICovCitzdGF0aWMgaW50IGpvdXJuYWxfZmluaXNoX2lub2RlX2RhdGFfYnVmZmVycyhqb3VybmFsX3QgKmpvdXJuYWwsCisJCXRyYW5zYWN0aW9uX3QgKmNvbW1pdF90cmFuc2FjdGlvbikKK3sKKwlzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlLCAqbmV4dF9pOworCWludCBlcnIsIHJldCA9IDA7CisKKwkvKiBGb3IgbG9ja2luZywgc2VlIHRoZSBjb21tZW50IGluIGpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycygpICovCisJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShqaW5vZGUsICZjb21taXRfdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCwgaV9saXN0KSB7CisJCWppbm9kZS0+aV9mbGFncyB8PSBKSV9DT01NSVRfUlVOTklORzsKKwkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkJZXJyID0gZmlsZW1hcF9mZGF0YXdhaXQoamlub2RlLT5pX3Zmc19pbm9kZS0+aV9tYXBwaW5nKTsKKwkJaWYgKCFyZXQpCisJCQlyZXQgPSBlcnI7CisJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCQlqaW5vZGUtPmlfZmxhZ3MgJj0gfkpJX0NPTU1JVF9SVU5OSU5HOworCQl3YWtlX3VwX2JpdCgmamlub2RlLT5pX2ZsYWdzLCBfX0pJX0NPTU1JVF9SVU5OSU5HKTsKKwl9CisKKwkvKiBOb3cgcmVmaWxlIGlub2RlIHRvIHByb3BlciBsaXN0cyAqLworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShqaW5vZGUsIG5leHRfaSwKKwkJCQkgJmNvbW1pdF90cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0LCBpX2xpc3QpIHsKKwkJbGlzdF9kZWwoJmppbm9kZS0+aV9saXN0KTsKKwkJaWYgKGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uKSB7CisJCQlqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPSBqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbjsKKwkJCWppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID0gTlVMTDsKKwkJCWxpc3RfYWRkKCZqaW5vZGUtPmlfbGlzdCwKKwkJCQkmamlub2RlLT5pX3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QpOworCQl9IGVsc2UgeworCQkJamlub2RlLT5pX3RyYW5zYWN0aW9uID0gTlVMTDsKIAkJfQogCX0KIAlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCWpvdXJuYWxfZG9fc3VibWl0X2RhdGEod2J1ZiwgYnVmcyk7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgX191MzIgamJkMl9jaGVja3N1bV9kYXRhKF9fdTMyIGNyYzMyX3N1bSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKQEAgLTUyNCwyMSArNDU5LDcgQEAKIAkgKiBOb3cgc3RhcnQgZmx1c2hpbmcgdGhpbmdzIHRvIGRpc2ssIGluIHRoZSBvcmRlciB0aGV5IGFwcGVhcgogCSAqIG9uIHRoZSB0cmFuc2FjdGlvbiBsaXN0cy4gIERhdGEgYmxvY2tzIGdvIGZpcnN0LgogCSAqLwotCWVyciA9IDA7Ci0Jam91cm5hbF9zdWJtaXRfZGF0YV9idWZmZXJzKGpvdXJuYWwsIGNvbW1pdF90cmFuc2FjdGlvbik7Ci0KLQkvKgotCSAqIFdhaXQgZm9yIGFsbCBwcmV2aW91c2x5IHN1Ym1pdHRlZCBJTyB0byBjb21wbGV0ZSBpZiBjb21taXQKLQkgKiByZWNvcmQgaXMgdG8gYmUgd3JpdHRlbiBzeW5jaHJvbm91c2x5LgotCSAqLwotCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCWlmICghSkJEMl9IQVNfSU5DT01QQVRfRkVBVFVSRShqb3VybmFsLAotCQlKQkQyX0ZFQVRVUkVfSU5DT01QQVRfQVNZTkNfQ09NTUlUKSkKLQkJZXJyID0gam91cm5hbF93YWl0X29uX2xvY2tlZF9saXN0KGpvdXJuYWwsCi0JCQkJCQljb21taXRfdHJhbnNhY3Rpb24pOwotCi0Jc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQorCWVyciA9IGpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycyhqb3VybmFsLCBjb21taXRfdHJhbnNhY3Rpb24pOwogCWlmIChlcnIpCiAJCWpiZDJfam91cm5hbF9hYm9ydChqb3VybmFsLCBlcnIpOwogCkBAIC01NDcsMTYgKzQ2OCw2IEBACiAJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSAyXG4iKTsKIAogCS8qCi0JICogSWYgd2UgZm91bmQgYW55IGRpcnR5IG9yIGxvY2tlZCBidWZmZXJzLCB0aGVuIHdlIHNob3VsZCBoYXZlCi0JICogbG9vcGVkIGJhY2sgdXAgdG8gdGhlIHdyaXRlX291dF9kYXRhIGxhYmVsLiAgSWYgdGhlcmUgd2VyZW4ndAotCSAqIGFueSB0aGVuIGpvdXJuYWxfY2xlYW5fZGF0YV9saXN0IHNob3VsZCBoYXZlIHdpcGVkIHRoZSBsaXN0Ci0JICogY2xlYW4gYnkgbm93LCBzbyBjaGVjayB0aGF0IGl0IGlzIGluIGZhY3QgZW1wdHkuCi0JICovCi0JSl9BU1NFUlQgKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0ID09IE5VTEwpOwotCi0JamJkX2RlYnVnICgzLCAiSkJEOiBjb21taXQgcGhhc2UgM1xuIik7Ci0KLQkvKgogCSAqIFdheSB0byBnbzogd2UgaGF2ZSBub3cgd3JpdHRlbiBvdXQgYWxsIG9mIHRoZSBkYXRhIGZvciBhCiAJICogdHJhbnNhY3Rpb24hICBOb3cgY29tZXMgdGhlIHRyaWNreSBwYXJ0OiB3ZSBuZWVkIHRvIHdyaXRlIG91dAogCSAqIG1ldGFkYXRhLiAgTG9vcCBvdmVyIHRoZSB0cmFuc2FjdGlvbidzIGVudGlyZSBidWZmZXIgbGlzdDoKQEAgLTU3NCw2ICs0ODUsNyBAQAogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9ucl9idWZmZXJzIDw9CiAJCSBjb21taXRfdHJhbnNhY3Rpb24tPnRfb3V0c3RhbmRpbmdfY3JlZGl0cyk7CiAKKwllcnIgPSAwOwogCWRlc2NyaXB0b3IgPSBOVUxMOwogCWJ1ZnMgPSAwOwogCXdoaWxlIChjb21taXRfdHJhbnNhY3Rpb24tPnRfYnVmZmVycykgewpAQCAtNzQ4LDE1ICs2NjAsMTkgQEAKIAkJCQkJCSAmY2JoLCBjcmMzMl9zdW0pOwogCQlpZiAoZXJyKQogCQkJX19qYmQyX2pvdXJuYWxfYWJvcnRfaGFyZChqb3VybmFsKTsKLQotCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJZXJyID0gam91cm5hbF93YWl0X29uX2xvY2tlZF9saXN0KGpvdXJuYWwsCi0JCQkJCQljb21taXRfdHJhbnNhY3Rpb24pOwotCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQlpZiAoZXJyKQotCQkJX19qYmQyX2pvdXJuYWxfYWJvcnRfaGFyZChqb3VybmFsKTsKIAl9CiAKKwkvKgorCSAqIFRoaXMgaXMgdGhlIHJpZ2h0IHBsYWNlIHRvIHdhaXQgZm9yIGRhdGEgYnVmZmVycyBib3RoIGZvciBBU1lOQworCSAqIGFuZCAhQVNZTkMgY29tbWl0LiBJZiBjb21taXQgaXMgQVNZTkMsIHdlIG5lZWQgdG8gd2FpdCBvbmx5IGFmdGVyCisJICogdGhlIGNvbW1pdCBibG9jayB3ZW50IHRvIGRpc2sgKHdoaWNoIGhhcHBlbnMgYWJvdmUpLiBJZiBjb21taXQgaXMKKwkgKiBTWU5DLCB3ZSBuZWVkIHRvIHdhaXQgZm9yIGRhdGEgYnVmZmVycyBiZWZvcmUgd2Ugc3RhcnQgd3JpdGluZworCSAqIGNvbW1pdCBibG9jaywgd2hpY2ggaGFwcGVucyBiZWxvdyBpbiBzdWNoIHNldHRpbmcuCisJICovCisJZXJyID0gam91cm5hbF9maW5pc2hfaW5vZGVfZGF0YV9idWZmZXJzKGpvdXJuYWwsIGNvbW1pdF90cmFuc2FjdGlvbik7CisJaWYgKGVycikKKwkJamJkMl9qb3VybmFsX2Fib3J0KGpvdXJuYWwsIGVycik7CisKIAkvKiBMbyBhbmQgYmVob2xkOiB3ZSBoYXZlIGp1c3QgbWFuYWdlZCB0byBzZW5kIGEgdHJhbnNhY3Rpb24gdG8KICAgICAgICAgICAgdGhlIGxvZy4gIEJlZm9yZSB3ZSBjYW4gY29tbWl0IGl0LCB3YWl0IGZvciB0aGUgSU8gc28gZmFyIHRvCiAgICAgICAgICAgIGNvbXBsZXRlLiAgQ29udHJvbCBidWZmZXJzIGJlaW5nIHdyaXR0ZW4gYXJlIG9uIHRoZQpAQCAtNzY4LDcgKzY4NCw3IEBACiAJICAgc28gd2UgaW5jdXIgbGVzcyBzY2hlZHVsaW5nIGxvYWQuCiAJKi8KIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNFxuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSAzXG4iKTsKIAogCS8qCiAJICogYWtwbTogdGhlc2UgYXJlIEJKX0lPLCBhbmQgal9saXN0X2xvY2sgaXMgbm90IG5lZWRlZC4KQEAgLTgyNyw3ICs3NDMsNyBAQAogCiAJSl9BU1NFUlQgKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zaGFkb3dfbGlzdCA9PSBOVUxMKTsKIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNVxuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA0XG4iKTsKIAogCS8qIEhlcmUgd2Ugd2FpdCBmb3IgdGhlIHJldm9rZSByZWNvcmQgYW5kIGRlc2NyaXB0b3IgcmVjb3JkIGJ1ZmZlcnMgKi8KICB3YWl0X2Zvcl9jdGxidWY6CkBAIC04NTQsNyArNzcwLDcgQEAKIAkJLyogQUtQTTogYmZvcmdldCBoZXJlICovCiAJfQogCi0JamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA2XG4iKTsKKwlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDVcbiIpOwogCiAJaWYgKCFKQkQyX0hBU19JTkNPTVBBVF9GRUFUVVJFKGpvdXJuYWwsCiAJCUpCRDJfRkVBVFVSRV9JTkNPTVBBVF9BU1lOQ19DT01NSVQpKSB7CkBAIC04NzQsOSArNzkwLDkgQEAKICAgICAgICAgICAgdHJhbnNhY3Rpb24gY2FuIGJlIHJlbW92ZWQgZnJvbSBhbnkgY2hlY2twb2ludCBsaXN0IGl0IHdhcyBvbgogICAgICAgICAgICBiZWZvcmUuICovCiAKLQlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDdcbiIpOworCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNlxuIik7CiAKLQlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCA9PSBOVUxMKTsKKwlKX0FTU0VSVChsaXN0X2VtcHR5KCZjb21taXRfdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCkpOwogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9idWZmZXJzID09IE5VTEwpOwogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9jaGVja3BvaW50X2xpc3QgPT0gTlVMTCk7CiAJSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X2lvYnVmX2xpc3QgPT0gTlVMTCk7CkBAIC05OTcsNyArOTEzLDcgQEAKIAogCS8qIERvbmUgd2l0aCB0aGlzIHRyYW5zYWN0aW9uISAqLwogCi0JamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA4XG4iKTsKKwlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDdcbiIpOwogCiAJSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X3N0YXRlID09IFRfQ09NTUlUKTsKIApkaWZmIC0tZ2l0IGEvZnMvamJkMi9qb3VybmFsLmMgYi9mcy9qYmQyL2pvdXJuYWwuYwppbmRleCAyZTI0NTY3Li5iMjZjNmQ5IDEwMDY0NAotLS0gYS9mcy9qYmQyL2pvdXJuYWwuYworKysgYi9mcy9qYmQyL2pvdXJuYWwuYwpAQCAtNTAsNyArNTAsNiBAQAogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2Vzcyk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9nZXRfY3JlYXRlX2FjY2Vzcyk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9nZXRfdW5kb19hY2Nlc3MpOwotRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9kaXJ0eV9tZXRhZGF0YSk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9yZWxlYXNlX2J1ZmZlcik7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9mb3JnZXQpOwpAQCAtODIsNiArODEsMTAgQEAKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2ludmFsaWRhdGVwYWdlKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZm9yY2VfY29tbWl0KTsKK0VYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2ZpbGVfaW5vZGUpOworRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfaW5pdF9qYmRfaW5vZGUpOworRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfcmVsZWFzZV9qYmRfaW5vZGUpOworRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZSk7CiAKIHN0YXRpYyBpbnQgam91cm5hbF9jb252ZXJ0X3N1cGVyYmxvY2tfdjEoam91cm5hbF90ICosIGpvdXJuYWxfc3VwZXJibG9ja190ICopOwogc3RhdGljIHZvaWQgX19qb3VybmFsX2Fib3J0X3NvZnQgKGpvdXJuYWxfdCAqam91cm5hbCwgaW50IGVycm5vKTsKQEAgLTIxOTUsNiArMjE5OCw1NCBAQAogfQogCiAvKgorICogSW5pdGlhbGl6ZSBqYmQgaW5vZGUgaGVhZAorICovCit2b2lkIGpiZDJfam91cm5hbF9pbml0X2piZF9pbm9kZShzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IE5VTEw7CisJamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPSBOVUxMOworCWppbm9kZS0+aV92ZnNfaW5vZGUgPSBpbm9kZTsKKwlqaW5vZGUtPmlfZmxhZ3MgPSAwOworCUlOSVRfTElTVF9IRUFEKCZqaW5vZGUtPmlfbGlzdCk7Cit9CisKKy8qCisgKiBGdW5jdGlvbiB0byBiZSBjYWxsZWQgYmVmb3JlIHdlIHN0YXJ0IHJlbW92aW5nIGlub2RlIGZyb20gbWVtb3J5IChpLmUuLAorICogY2xlYXJfaW5vZGUoKSBpcyBhIGZpbmUgcGxhY2UgdG8gYmUgY2FsbGVkIGZyb20pLiBJdCByZW1vdmVzIGlub2RlIGZyb20KKyAqIHRyYW5zYWN0aW9uJ3MgbGlzdHMuCisgKi8KK3ZvaWQgamJkMl9qb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKGpvdXJuYWxfdCAqam91cm5hbCwKKwkJCQkgICAgc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSkKK3sKKwlpbnQgd3JpdGVvdXQgPSAwOworCisJaWYgKCFqb3VybmFsKQorCQlyZXR1cm47CityZXN0YXJ0OgorCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCS8qIElzIGNvbW1pdCB3cml0aW5nIG91dCBpbm9kZSAtIHdlIGhhdmUgdG8gd2FpdCAqLworCWlmIChqaW5vZGUtPmlfZmxhZ3MgJiBKSV9DT01NSVRfUlVOTklORykgeworCQl3YWl0X3F1ZXVlX2hlYWRfdCAqd3E7CisJCURFRklORV9XQUlUX0JJVCh3YWl0LCAmamlub2RlLT5pX2ZsYWdzLCBfX0pJX0NPTU1JVF9SVU5OSU5HKTsKKwkJd3EgPSBiaXRfd2FpdHF1ZXVlKCZqaW5vZGUtPmlfZmxhZ3MsIF9fSklfQ09NTUlUX1JVTk5JTkcpOworCQlwcmVwYXJlX3RvX3dhaXQod3EsICZ3YWl0LndhaXQsIFRBU0tfVU5JTlRFUlJVUFRJQkxFKTsKKwkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkJc2NoZWR1bGUoKTsKKwkJZmluaXNoX3dhaXQod3EsICZ3YWl0LndhaXQpOworCQlnb3RvIHJlc3RhcnQ7CisJfQorCisJLyogRG8gd2UgbmVlZCB0byB3YWl0IGZvciBkYXRhIHdyaXRlYmFjaz8gKi8KKwlpZiAoam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uID09IGppbm9kZS0+aV90cmFuc2FjdGlvbikKKwkJd3JpdGVvdXQgPSAxOworCWlmIChqaW5vZGUtPmlfdHJhbnNhY3Rpb24pIHsKKwkJbGlzdF9kZWwoJmppbm9kZS0+aV9saXN0KTsKKwkJamlub2RlLT5pX3RyYW5zYWN0aW9uID0gTlVMTDsKKwl9CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKK30KKworLyoKICAqIGRlYnVnZnMgdHVuYWJsZXMKICAqLwogI2lmZGVmIENPTkZJR19KQkQyX0RFQlVHCmRpZmYgLS1naXQgYS9mcy9qYmQyL3RyYW5zYWN0aW9uLmMgYi9mcy9qYmQyL3RyYW5zYWN0aW9uLmMKaW5kZXggZDZlMDA2ZS4uNGY3Y2FkYiAxMDA2NDQKLS0tIGEvZnMvamJkMi90cmFuc2FjdGlvbi5jCisrKyBiL2ZzL2piZDIvdHJhbnNhY3Rpb24uYwpAQCAtNDEsNyArNDEsNiBAQAogICoJbmV3IHRyYW5zYWN0aW9uCWFuZCB3ZSBjYW4ndCBibG9jayB3aXRob3V0IHByb3RlY3RpbmcgYWdhaW5zdCBvdGhlcgogICoJcHJvY2Vzc2VzIHRyeWluZyB0byB0b3VjaCB0aGUgam91cm5hbCB3aGlsZSBpdCBpcyBpbiB0cmFuc2l0aW9uLgogICoKLSAqIENhbGxlZCB1bmRlciBqX3N0YXRlX2xvY2sKICAqLwogCiBzdGF0aWMgdHJhbnNhY3Rpb25fdCAqCkBAIC01Miw2ICs1MSw3IEBACiAJdHJhbnNhY3Rpb24tPnRfdGlkID0gam91cm5hbC0+al90cmFuc2FjdGlvbl9zZXF1ZW5jZSsrOwogCXRyYW5zYWN0aW9uLT50X2V4cGlyZXMgPSBqaWZmaWVzICsgam91cm5hbC0+al9jb21taXRfaW50ZXJ2YWw7CiAJc3Bpbl9sb2NrX2luaXQoJnRyYW5zYWN0aW9uLT50X2hhbmRsZV9sb2NrKTsKKwlJTklUX0xJU1RfSEVBRCgmdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCk7CiAKIAkvKiBTZXQgdXAgdGhlIGNvbW1pdCB0aW1lciBmb3IgdGhlIG5ldyB0cmFuc2FjdGlvbi4gKi8KIAlqb3VybmFsLT5qX2NvbW1pdF90aW1lci5leHBpcmVzID0gcm91bmRfamlmZmllcyh0cmFuc2FjdGlvbi0+dF9leHBpcmVzKTsKQEAgLTk0MywxODMgKzk0Myw2IEBACiB9CiAKIC8qKgotICogaW50IGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKCkgLSAgbWFyayBhIGJ1ZmZlciBhcyBjb250YWluaW5nIGRpcnR5IGRhdGEgd2hpY2gKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkcyB0byBiZSBmbHVzaGVkIGJlZm9yZSB3ZSBjYW4gY29tbWl0IHRoZQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgdHJhbnNhY3Rpb24uCi0gKiBAaGFuZGxlOiB0cmFuc2FjdGlvbgotICogQGJoOiBidWZmZXJoZWFkIHRvIG1hcmsKLSAqCi0gKiBUaGUgYnVmZmVyIGlzIHBsYWNlZCBvbiB0aGUgdHJhbnNhY3Rpb24ncyBkYXRhIGxpc3QgYW5kIGlzIG1hcmtlZCBhcwotICogYmVsb25naW5nIHRvIHRoZSB0cmFuc2FjdGlvbi4KLSAqCi0gKiBSZXR1cm5zIGVycm9yIG51bWJlciBvciAwIG9uIHN1Y2Nlc3MuCi0gKgotICogamJkMl9qb3VybmFsX2RpcnR5X2RhdGEoKSBjYW4gYmUgY2FsbGVkIHZpYSBwYWdlX2xhdW5kZXItPmV4dDNfd3JpdGVwYWdlCi0gKiBieSBrc3dhcGQuCi0gKi8KLWludCBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQotewotCWpvdXJuYWxfdCAqam91cm5hbCA9IGhhbmRsZS0+aF90cmFuc2FjdGlvbi0+dF9qb3VybmFsOwotCWludCBuZWVkX2JyZWxzZSA9IDA7Ci0Jc3RydWN0IGpvdXJuYWxfaGVhZCAqamg7Ci0KLQlpZiAoaXNfaGFuZGxlX2Fib3J0ZWQoaGFuZGxlKSkKLQkJcmV0dXJuIDA7Ci0KLQlqaCA9IGpiZDJfam91cm5hbF9hZGRfam91cm5hbF9oZWFkKGJoKTsKLQlKQlVGRkVSX1RSQUNFKGpoLCAiZW50cnkiKTsKLQotCS8qCi0JICogVGhlIGJ1ZmZlciBjb3VsZCAqYWxyZWFkeSogYmUgZGlydHkuICBXcml0ZW91dCBjYW4gc3RhcnQKLQkgKiBhdCBhbnkgdGltZS4KLQkgKi8KLQlqYmRfZGVidWcoNCwgImpoOiAlcCwgdGlkOiVkXG4iLCBqaCwgaGFuZGxlLT5oX3RyYW5zYWN0aW9uLT50X3RpZCk7Ci0KLQkvKgotCSAqIFdoYXQgaWYgdGhlIGJ1ZmZlciBpcyBhbHJlYWR5IHBhcnQgb2YgYSBydW5uaW5nIHRyYW5zYWN0aW9uPwotCSAqCi0JICogVGhlcmUgYXJlIHR3byBjYXNlczoKLQkgKiAxKSBJdCBpcyBwYXJ0IG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcgdHJhbnNhY3Rpb24uICBSZWZpbGUgaXQsCi0JICogICAganVzdCBpbiBjYXNlIHdlIGhhdmUgYWxsb2NhdGVkIGl0IGFzIG1ldGFkYXRhLCBkZWFsbG9jYXRlZAotCSAqICAgIGl0LCB0aGVuIHJlYWxsb2NhdGVkIGl0IGFzIGRhdGEuCi0JICogMikgSXQgaXMgcGFydCBvZiB0aGUgcHJldmlvdXMsIHN0aWxsLWNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uCi0JICogICAgSWYgYWxsIHdlIHdhbnQgdG8gZG8gaXMgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGJ1ZmZlciB3aWxsIGJlCi0JICogICAgd3JpdHRlbiB0byBkaXNrIGJlZm9yZSB0aGlzIG5ldyB0cmFuc2FjdGlvbiBjb21taXRzLCB0aGVuCi0JICogICAgYmVpbmcgc3VyZSB0aGF0IHRoZSAqcHJldmlvdXMqIHRyYW5zYWN0aW9uIGhhcyB0aGlzIHNhbWUKLQkgKiAgICBwcm9wZXJ0eSBpcyBzdWZmaWNpZW50IGZvciB1cyEgIEp1c3QgbGVhdmUgaXQgb24gaXRzIG9sZAotCSAqICAgIHRyYW5zYWN0aW9uLgotCSAqCi0JICogSW4gY2FzZSAoMiksIHRoZSBidWZmZXIgbXVzdCBub3QgYWxyZWFkeSBleGlzdCBhcyBtZXRhZGF0YQotCSAqIC0tLSB0aGF0IHdvdWxkIHZpb2xhdGUgd3JpdGUgb3JkZXJpbmcgKGEgdHJhbnNhY3Rpb24gaXMgZnJlZQotCSAqIHRvIHdyaXRlIGl0cyBkYXRhIGF0IGFueSBwb2ludCwgZXZlbiBiZWZvcmUgdGhlIHByZXZpb3VzCi0JICogY29tbWl0dGluZyB0cmFuc2FjdGlvbiBoYXMgY29tbWl0dGVkKS4gIFRoZSBjYWxsZXIgbXVzdAotCSAqIG5ldmVyLCBldmVyIGFsbG93IHRoaXMgdG8gaGFwcGVuOiB0aGVyZSdzIG5vdGhpbmcgd2UgY2FuIGRvCi0JICogYWJvdXQgaXQgaW4gdGhpcyBsYXllci4KLQkgKi8KLQlqYmRfbG9ja19iaF9zdGF0ZShiaCk7Ci0Jc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0KLQkvKiBOb3cgdGhhdCB3ZSBoYXZlIGJoX3N0YXRlIGxvY2tlZCwgYXJlIHdlIHJlYWxseSBzdGlsbCBtYXBwZWQ/ICovCi0JaWYgKCFidWZmZXJfbWFwcGVkKGJoKSkgewotCQlKQlVGRkVSX1RSQUNFKGpoLCAidW5tYXBwZWQgYnVmZmVyLCBiYWlsaW5nIG91dCIpOwotCQlnb3RvIG5vX2pvdXJuYWw7Ci0JfQotCi0JaWYgKGpoLT5iX3RyYW5zYWN0aW9uKSB7Ci0JCUpCVUZGRVJfVFJBQ0UoamgsICJoYXMgdHJhbnNhY3Rpb24iKTsKLQkJaWYgKGpoLT5iX3RyYW5zYWN0aW9uICE9IGhhbmRsZS0+aF90cmFuc2FjdGlvbikgewotCQkJSkJVRkZFUl9UUkFDRShqaCwgImJlbG9uZ3MgdG8gb2xkZXIgdHJhbnNhY3Rpb24iKTsKLQkJCUpfQVNTRVJUX0pIKGpoLCBqaC0+Yl90cmFuc2FjdGlvbiA9PQotCQkJCQlqb3VybmFsLT5qX2NvbW1pdHRpbmdfdHJhbnNhY3Rpb24pOwotCi0JCQkvKiBAQEAgSVMgVEhJUyBUUlVFICA/ICovCi0JCQkvKgotCQkJICogTm90IGFueSBtb3JlLiAgU2NlbmFyaW86IHNvbWVvbmUgZG9lcyBhIHdyaXRlKCkKLQkJCSAqIGluIGRhdGE9am91cm5hbCBtb2RlLiAgVGhlIGJ1ZmZlcidzIHRyYW5zYWN0aW9uIGhhcwotCQkJICogbW92ZWQgaW50byBjb21taXQuICBUaGVuIHNvbWVvbmUgZG9lcyBhbm90aGVyCi0JCQkgKiB3cml0ZSgpIHRvIHRoZSBmaWxlLiAgV2UgZG8gdGhlIGZyb3plbiBkYXRhIGNvcHlvdXQKLQkJCSAqIGFuZCBzZXQgYl9uZXh0X3RyYW5zYWN0aW9uIHRvIHBvaW50IHRvIGpfcnVubmluZ190LgotCQkJICogQW5kIHdoaWxlIHdlJ3JlIGluIHRoYXQgc3RhdGUsIHNvbWVvbmUgZG9lcyBhCi0JCQkgKiB3cml0ZXBhZ2UoKSBpbiBhbiBhdHRlbXB0IHRvIHBhZ2VvdXQgdGhlIHNhbWUgYXJlYQotCQkJICogb2YgdGhlIGZpbGUgdmlhIGEgc2hhcmVkIG1hcHBpbmcuICBBdCBwcmVzZW50IHRoYXQKLQkJCSAqIGNhbGxzIGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKCksIGFuZCB3ZSBnZXQgcmlnaHQgaGVyZS4KLQkJCSAqIEl0IG1heSBiZSB0b28gbGF0ZSB0byBqb3VybmFsIHRoZSBkYXRhLiAgU2ltcGx5Ci0JCQkgKiBmYWxsaW5nIHRocm91Z2ggdG8gdGhlIG5leHQgdGVzdCB3aWxsIHN1ZmZpY2U6IHRoZQotCQkJICogZGF0YSB3aWxsIGJlIGRpcnR5IGFuZCB3aWwgYmUgY2hlY2twb2ludGVkLiAgVGhlCi0JCQkgKiBvcmRlcmluZyBjb21tZW50cyBpbiB0aGUgbmV4dCBjb21tZW50IGJsb2NrIHN0aWxsCi0JCQkgKiBhcHBseS4KLQkJCSAqLwotCQkJLy9KX0FTU0VSVF9KSChqaCwgamgtPmJfbmV4dF90cmFuc2FjdGlvbiA9PSBOVUxMKTsKLQotCQkJLyoKLQkJCSAqIElmIHdlJ3JlIGpvdXJuYWxsaW5nIGRhdGEsIGFuZCB0aGlzIGJ1ZmZlciB3YXMKLQkJCSAqIHN1YmplY3QgdG8gYSB3cml0ZSgpLCBpdCBjb3VsZCBiZSBtZXRhZGF0YSwgZm9yZ2V0Ci0JCQkgKiBvciBzaGFkb3cgYWdhaW5zdCB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbi4gIE5vdywKLQkJCSAqIHNvbWVvbmUgaGFzIGRpcnRpZWQgdGhlIHNhbWUgZGFybiBwYWdlIHZpYSBhIG1hcHBpbmcKLQkJCSAqIGFuZCBpdCBpcyBiZWluZyB3cml0ZXBhZ2UoKSdkLgotCQkJICogV2UgKmNvdWxkKiBqdXN0IHN0ZWFsIHRoZSBwYWdlIGZyb20gY29tbWl0LCB3aXRoIHNvbWUKLQkJCSAqIGZhbmN5IGxvY2tpbmcgdGhlcmUuICBJbnN0ZWFkLCB3ZSBqdXN0IHNraXAgaXQgLQotCQkJICogZG9uJ3QgdGllIHRoZSBwYWdlJ3MgYnVmZmVycyB0byB0aGUgbmV3IHRyYW5zYWN0aW9uCi0JCQkgKiBhdCBhbGwuCi0JCQkgKiBJbXBsaWNhdGlvbjogaWYgd2UgY3Jhc2ggYmVmb3JlIHRoZSB3cml0ZXBhZ2UoKSBkYXRhCi0JCQkgKiBpcyB3cml0dGVuIGludG8gdGhlIGZpbGVzeXN0ZW0sIHJlY292ZXJ5IHdpbGwgcmVwbGF5Ci0JCQkgKiB0aGUgd3JpdGUoKSBkYXRhLgotCQkJICovCi0JCQlpZiAoamgtPmJfamxpc3QgIT0gQkpfTm9uZSAmJgotCQkJCQlqaC0+Yl9qbGlzdCAhPSBCSl9TeW5jRGF0YSAmJgotCQkJCQlqaC0+Yl9qbGlzdCAhPSBCSl9Mb2NrZWQpIHsKLQkJCQlKQlVGRkVSX1RSQUNFKGpoLCAiTm90IHN0ZWFsaW5nIik7Ci0JCQkJZ290byBub19qb3VybmFsOwotCQkJfQotCi0JCQkvKgotCQkJICogVGhpcyBidWZmZXIgbWF5IGJlIHVuZGVyZ29pbmcgd3JpdGVvdXQgaW4gY29tbWl0LiAgV2UKLQkJCSAqIGNhbid0IHJldHVybiBmcm9tIGhlcmUgYW5kIGxldCB0aGUgY2FsbGVyIGRpcnR5IGl0Ci0JCQkgKiBhZ2FpbiBiZWNhdXNlIHRoYXQgY2FuIGNhdXNlIHRoZSB3cml0ZS1vdXQgbG9vcCBpbgotCQkJICogY29tbWl0IHRvIG5ldmVyIHRlcm1pbmF0ZS4KLQkJCSAqLwotCQkJaWYgKGJ1ZmZlcl9kaXJ0eShiaCkpIHsKLQkJCQlnZXRfYmgoYmgpOwotCQkJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQkJbmVlZF9icmVsc2UgPSAxOwotCQkJCXN5bmNfZGlydHlfYnVmZmVyKGJoKTsKLQkJCQlqYmRfbG9ja19iaF9zdGF0ZShiaCk7Ci0JCQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQkJLyogU2luY2Ugd2UgZHJvcHBlZCB0aGUgbG9jay4uLiAqLwotCQkJCWlmICghYnVmZmVyX21hcHBlZChiaCkpIHsKLQkJCQkJSkJVRkZFUl9UUkFDRShqaCwgImJ1ZmZlciBnb3QgdW5tYXBwZWQiKTsKLQkJCQkJZ290byBub19qb3VybmFsOwotCQkJCX0KLQkJCQkvKiBUaGUgYnVmZmVyIG1heSBiZWNvbWUgbG9ja2VkIGFnYWluIGF0IGFueQotCQkJCSAgIHRpbWUgaWYgaXQgaXMgcmVkaXJ0aWVkICovCi0JCQl9Ci0KLQkJCS8qIGpvdXJuYWxfY2xlYW5fZGF0YV9saXN0KCkgbWF5IGhhdmUgZ290IHRoZXJlIGZpcnN0ICovCi0JCQlpZiAoamgtPmJfdHJhbnNhY3Rpb24gIT0gTlVMTCkgewotCQkJCUpCVUZGRVJfVFJBQ0UoamgsICJ1bmZpbGUgZnJvbSBjb21taXQiKTsKLQkJCQlfX2piZDJfam91cm5hbF90ZW1wX3VubGlua19idWZmZXIoamgpOwotCQkJCS8qIEl0IHN0aWxsIHBvaW50cyB0byB0aGUgY29tbWl0dGluZwotCQkJCSAqIHRyYW5zYWN0aW9uOyBtb3ZlIGl0IHRvIHRoaXMgb25lIHNvCi0JCQkJICogdGhhdCB0aGUgcmVmaWxlIGFzc2VydCBjaGVja3MgYXJlCi0JCQkJICogaGFwcHkuICovCi0JCQkJamgtPmJfdHJhbnNhY3Rpb24gPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb247Ci0JCQl9Ci0JCQkvKiBUaGUgYnVmZmVyIHdpbGwgYmUgcmVmaWxlZCBiZWxvdyAqLwotCi0JCX0KLQkJLyoKLQkJICogU3BlY2lhbCBjYXNlIC0tLSB0aGUgYnVmZmVyIG1pZ2h0IGFjdHVhbGx5IGhhdmUgYmVlbgotCQkgKiBhbGxvY2F0ZWQgYW5kIHRoZW4gaW1tZWRpYXRlbHkgZGVhbGxvY2F0ZWQgaW4gdGhlIHByZXZpb3VzLAotCQkgKiBjb21taXR0aW5nIHRyYW5zYWN0aW9uLCBzbyBtaWdodCBzdGlsbCBiZSBsZWZ0IG9uIHRoYXQKLQkJICogdHJhbnNhY3Rpb24ncyBtZXRhZGF0YSBsaXN0cy4KLQkJICovCi0JCWlmIChqaC0+Yl9qbGlzdCAhPSBCSl9TeW5jRGF0YSAmJiBqaC0+Yl9qbGlzdCAhPSBCSl9Mb2NrZWQpIHsKLQkJCUpCVUZGRVJfVFJBQ0UoamgsICJub3Qgb24gY29ycmVjdCBkYXRhIGxpc3Q6IHVuZmlsZSIpOwotCQkJSl9BU1NFUlRfSkgoamgsIGpoLT5iX2psaXN0ICE9IEJKX1NoYWRvdyk7Ci0JCQlfX2piZDJfam91cm5hbF90ZW1wX3VubGlua19idWZmZXIoamgpOwotCQkJamgtPmJfdHJhbnNhY3Rpb24gPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb247Ci0JCQlKQlVGRkVSX1RSQUNFKGpoLCAiZmlsZSBhcyBkYXRhIik7Ci0JCQlfX2piZDJfam91cm5hbF9maWxlX2J1ZmZlcihqaCwgaGFuZGxlLT5oX3RyYW5zYWN0aW9uLAotCQkJCQkJQkpfU3luY0RhdGEpOwotCQl9Ci0JfSBlbHNlIHsKLQkJSkJVRkZFUl9UUkFDRShqaCwgIm5vdCBvbiBhIHRyYW5zYWN0aW9uIik7Ci0JCV9famJkMl9qb3VybmFsX2ZpbGVfYnVmZmVyKGpoLCBoYW5kbGUtPmhfdHJhbnNhY3Rpb24sIEJKX1N5bmNEYXRhKTsKLQl9Ci1ub19qb3VybmFsOgotCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JaWYgKG5lZWRfYnJlbHNlKSB7Ci0JCUJVRkZFUl9UUkFDRShiaCwgImJyZWxzZSIpOwotCQlfX2JyZWxzZShiaCk7Ci0JfQotCUpCVUZGRVJfVFJBQ0UoamgsICJleGl0Iik7Ci0JamJkMl9qb3VybmFsX3B1dF9qb3VybmFsX2hlYWQoamgpOwotCXJldHVybiAwOwotfQotCi0vKioKICAqIGludCBqYmQyX2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoKSAtICBtYXJrIGEgYnVmZmVyIGFzIGNvbnRhaW5pbmcgZGlydHkgbWV0YWRhdGEKICAqIEBoYW5kbGU6IHRyYW5zYWN0aW9uIHRvIGFkZCBidWZmZXIgdG8uCiAgKiBAYmg6IGJ1ZmZlciB0byBtYXJrCkBAIC0xNTQxLDEwICsxMzY0LDEwIEBACiAgKiBSZW1vdmUgYSBidWZmZXIgZnJvbSB0aGUgYXBwcm9wcmlhdGUgdHJhbnNhY3Rpb24gbGlzdC4KICAqCiAgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjYW4gKmNoYW5nZSogdGhlIHZhbHVlIG9mCi0gKiBiaC0+Yl90cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0LCB0X2J1ZmZlcnMsIHRfZm9yZ2V0LAotICogdF9pb2J1Zl9saXN0LCB0X3NoYWRvd19saXN0LCB0X2xvZ19saXN0IG9yIHRfcmVzZXJ2ZWRfbGlzdC4gIElmIHRoZSBjYWxsZXIKLSAqIGlzIGhvbGRpbmcgb250byBhIGNvcHkgb2Ygb25lIG9mIHRoZWUgcG9pbnRlcnMsIGl0IGNvdWxkIGdvIGJhZC4KLSAqIEdlbmVyYWxseSB0aGUgY2FsbGVyIG5lZWRzIHRvIHJlLXJlYWQgdGhlIHBvaW50ZXIgZnJvbSB0aGUgdHJhbnNhY3Rpb25fdC4KKyAqIGJoLT5iX3RyYW5zYWN0aW9uLT50X2J1ZmZlcnMsIHRfZm9yZ2V0LCB0X2lvYnVmX2xpc3QsIHRfc2hhZG93X2xpc3QsCisgKiB0X2xvZ19saXN0IG9yIHRfcmVzZXJ2ZWRfbGlzdC4gIElmIHRoZSBjYWxsZXIgaXMgaG9sZGluZyBvbnRvIGEgY29weSBvZiBvbmUKKyAqIG9mIHRoZXNlIHBvaW50ZXJzLCBpdCBjb3VsZCBnbyBiYWQuICBHZW5lcmFsbHkgdGhlIGNhbGxlciBuZWVkcyB0byByZS1yZWFkCisgKiB0aGUgcG9pbnRlciBmcm9tIHRoZSB0cmFuc2FjdGlvbl90LgogICoKICAqIENhbGxlZCB1bmRlciBqX2xpc3RfbG9jay4gIFRoZSBqb3VybmFsIG1heSBub3QgYmUgbG9ja2VkLgogICovCkBAIC0xNTY2LDkgKzEzODksNiBAQAogCXN3aXRjaCAoamgtPmJfamxpc3QpIHsKIAljYXNlIEJKX05vbmU6CiAJCXJldHVybjsKLQljYXNlIEJKX1N5bmNEYXRhOgotCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3Q7Ci0JCWJyZWFrOwogCWNhc2UgQkpfTWV0YWRhdGE6CiAJCXRyYW5zYWN0aW9uLT50X25yX2J1ZmZlcnMtLTsKIAkJSl9BU1NFUlRfSkgoamgsIHRyYW5zYWN0aW9uLT50X25yX2J1ZmZlcnMgPj0gMCk7CkBAIC0xNTg5LDkgKzE0MDksNiBAQAogCWNhc2UgQkpfUmVzZXJ2ZWQ6CiAJCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfcmVzZXJ2ZWRfbGlzdDsKIAkJYnJlYWs7Ci0JY2FzZSBCSl9Mb2NrZWQ6Ci0JCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfbG9ja2VkX2xpc3Q7Ci0JCWJyZWFrOwogCX0KIAogCV9fYmxpc3RfZGVsX2J1ZmZlcihsaXN0LCBqaCk7CkBAIC0xNjM0LDE1ICsxNDUxLDcgQEAKIAkJZ290byBvdXQ7CiAKIAlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQlpZiAoamgtPmJfdHJhbnNhY3Rpb24gIT0gTlVMTCAmJiBqaC0+Yl9jcF90cmFuc2FjdGlvbiA9PSBOVUxMKSB7Ci0JCWlmIChqaC0+Yl9qbGlzdCA9PSBCSl9TeW5jRGF0YSB8fCBqaC0+Yl9qbGlzdCA9PSBCSl9Mb2NrZWQpIHsKLQkJCS8qIEEgd3JpdHRlbi1iYWNrIG9yZGVyZWQgZGF0YSBidWZmZXIgKi8KLQkJCUpCVUZGRVJfVFJBQ0UoamgsICJyZWxlYXNlIGRhdGEiKTsKLQkJCV9famJkMl9qb3VybmFsX3VuZmlsZV9idWZmZXIoamgpOwotCQkJamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoYmgpOwotCQkJX19icmVsc2UoYmgpOwotCQl9Ci0JfSBlbHNlIGlmIChqaC0+Yl9jcF90cmFuc2FjdGlvbiAhPSBOVUxMICYmIGpoLT5iX3RyYW5zYWN0aW9uID09IE5VTEwpIHsKKwlpZiAoamgtPmJfY3BfdHJhbnNhY3Rpb24gIT0gTlVMTCAmJiBqaC0+Yl90cmFuc2FjdGlvbiA9PSBOVUxMKSB7CiAJCS8qIHdyaXR0ZW4tYmFjayBjaGVja3BvaW50ZWQgbWV0YWRhdGEgYnVmZmVyICovCiAJCWlmIChqaC0+Yl9qbGlzdCA9PSBCSl9Ob25lKSB7CiAJCQlKQlVGRkVSX1RSQUNFKGpoLCAicmVtb3ZlIGZyb20gY2hlY2twb2ludCBsaXN0Iik7CkBAIC0xNjU2LDEyICsxNDY1LDQzIEBACiAJcmV0dXJuOwogfQogCisvKgorICogamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoKSBjb3VsZCByYWNlIHdpdGgKKyAqIGpiZDJfam91cm5hbF9jb21taXRfdHJhbnNhY3Rpb24oKS4gVGhlIGxhdGVyIG1pZ2h0IHN0aWxsIGhvbGQgdGhlCisgKiByZWZlcmVuY2UgY291bnQgdG8gdGhlIGJ1ZmZlcnMgd2hlbiBpbnNwZWN0aW5nIHRoZW0gb24KKyAqIHRfc3luY2RhdGFfbGlzdCBvciB0X2xvY2tlZF9saXN0LgorICoKKyAqIGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKCkgd2lsbCBjYWxsIHRoaXMgZnVuY3Rpb24gdG8KKyAqIHdhaXQgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIHRvIGZpbmlzaCBzeW5jaW5nIGRhdGEgYnVmZmVycywgYmVmb3JlCisgKiB0cnkgdG8gZnJlZSB0aGF0IGJ1ZmZlci4KKyAqCisgKiBDYWxsZWQgd2l0aCBqb3VybmFsLT5qX3N0YXRlX2xvY2sgaG9sZC4KKyAqLworc3RhdGljIHZvaWQgamJkMl9qb3VybmFsX3dhaXRfZm9yX3RyYW5zYWN0aW9uX3N5bmNfZGF0YShqb3VybmFsX3QgKmpvdXJuYWwpCit7CisJdHJhbnNhY3Rpb25fdCAqdHJhbnNhY3Rpb247CisJdGlkX3QgdGlkOworCisJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX3N0YXRlX2xvY2spOworCXRyYW5zYWN0aW9uID0gam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uOworCisJaWYgKCF0cmFuc2FjdGlvbikgeworCQlzcGluX3VubG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwkJcmV0dXJuOworCX0KKworCXRpZCA9IHRyYW5zYWN0aW9uLT50X3RpZDsKKwlzcGluX3VubG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwlqYmQyX2xvZ193YWl0X2NvbW1pdChqb3VybmFsLCB0aWQpOworfQogCiAvKioKICAqIGludCBqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycygpIC0gdHJ5IHRvIGZyZWUgcGFnZSBidWZmZXJzLgogICogQGpvdXJuYWw6IGpvdXJuYWwgZm9yIG9wZXJhdGlvbgogICogQHBhZ2U6IHRvIHRyeSBhbmQgZnJlZQotICogQHVudXNlZF9nZnBfbWFzazogdW51c2VkCisgKiBAZ2ZwX21hc2s6IHdlIHVzZSB0aGUgbWFzayB0byBkZXRlY3QgaG93IGhhcmQgc2hvdWxkIHdlIHRyeSB0byByZWxlYXNlCisgKiBidWZmZXJzLiBJZiBfX0dGUF9XQUlUIGFuZCBfX0dGUF9GUyBpcyBzZXQsIHdlIHdhaXQgZm9yIGNvbW1pdCBjb2RlIHRvCisgKiByZWxlYXNlIHRoZSBidWZmZXJzLgogICoKICAqCiAgKiBGb3IgYWxsIHRoZSBidWZmZXJzIG9uIHRoaXMgcGFnZSwKQEAgLTE2OTAsOSArMTUzMCwxMSBAQAogICogam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXIoKSBpcyBjaGFuZ2luZyBpdHMgc3RhdGUuICBCdXQgdGhhdAogICogY2Fubm90IGhhcHBlbiBiZWNhdXNlIHdlIG5ldmVyIHJlYWxsb2NhdGUgZnJlZWQgZGF0YSBhcyBtZXRhZGF0YQogICogd2hpbGUgdGhlIGRhdGEgaXMgcGFydCBvZiBhIHRyYW5zYWN0aW9uLiAgWWVzPworICoKKyAqIFJldHVybiAwIG9uIGZhaWx1cmUsIDEgb24gc3VjY2VzcwogICovCiBpbnQgamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoam91cm5hbF90ICpqb3VybmFsLAotCQkJCXN0cnVjdCBwYWdlICpwYWdlLCBnZnBfdCB1bnVzZWRfZ2ZwX21hc2spCisJCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIGdmcF90IGdmcF9tYXNrKQogewogCXN0cnVjdCBidWZmZXJfaGVhZCAqaGVhZDsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwpAQCAtMTcwOCw3ICsxNTUwLDggQEAKIAkJLyoKIAkJICogV2UgdGFrZSBvdXIgb3duIHJlZiBhZ2FpbnN0IHRoZSBqb3VybmFsX2hlYWQgaGVyZSB0byBhdm9pZAogCQkgKiBoYXZpbmcgdG8gYWRkIHRvbnMgb2YgbG9ja2luZyBhcm91bmQgZWFjaCBpbnN0YW5jZSBvZgotCQkgKiBqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZCgpIGFuZCBqYmQyX2pvdXJuYWxfcHV0X2pvdXJuYWxfaGVhZCgpLgorCQkgKiBqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZCgpIGFuZAorCQkgKiBqYmQyX2pvdXJuYWxfcHV0X2pvdXJuYWxfaGVhZCgpLgogCQkgKi8KIAkJamggPSBqYmQyX2pvdXJuYWxfZ3JhYl9qb3VybmFsX2hlYWQoYmgpOwogCQlpZiAoIWpoKQpAQCAtMTcyMSw3ICsxNTY0LDI4IEBACiAJCWlmIChidWZmZXJfamJkKGJoKSkKIAkJCWdvdG8gYnVzeTsKIAl9IHdoaWxlICgoYmggPSBiaC0+Yl90aGlzX3BhZ2UpICE9IGhlYWQpOworCiAJcmV0ID0gdHJ5X3RvX2ZyZWVfYnVmZmVycyhwYWdlKTsKKworCS8qCisJICogVGhlcmUgYXJlIGEgbnVtYmVyIG9mIHBsYWNlcyB3aGVyZSBqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycygpCisJICogY291bGQgcmFjZSB3aXRoIGpiZDJfam91cm5hbF9jb21taXRfdHJhbnNhY3Rpb24oKSwgdGhlIGxhdGVyIHN0aWxsCisJICogaG9sZHMgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVycyB0byBmcmVlIHdoaWxlIHByb2Nlc3NpbmcgdGhlbS4KKwkgKiB0cnlfdG9fZnJlZV9idWZmZXJzKCkgZmFpbGVkIHRvIGZyZWUgdGhvc2UgYnVmZmVycy4gU29tZSBvZiB0aGUKKwkgKiBjYWxsZXIgb2YgcmVsZWFzZXBhZ2UoKSByZXF1ZXN0IHBhZ2UgYnVmZmVycyB0byBiZSBkcm9wcGVkLCBvdGhlcndpc2UKKwkgKiB0cmVhdCB0aGUgZmFpbC10by1mcmVlIGFzIGVycm9ycyAoc3VjaCBhcyBnZW5lcmljX2ZpbGVfZGlyZWN0X0lPKCkpCisJICoKKwkgKiBTbywgaWYgdGhlIGNhbGxlciBvZiB0cnlfdG9fcmVsZWFzZV9wYWdlKCkgd2FudHMgdGhlIHN5bmNocm9ub3VzCisJICogYmVoYXZpb3VyKGkuZSBtYWtlIHN1cmUgYnVmZmVycyBhcmUgZHJvcHBlZCB1cG9uIHJldHVybiksCisJICogbGV0J3Mgd2FpdCBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gdG8gZmluaXNoIGZsdXNoIG9mCisJICogZGlydHkgZGF0YSBidWZmZXJzLCB0aGVuIHRyeSB0byBmcmVlIHRob3NlIGJ1ZmZlcnMgYWdhaW4sCisJICogd2l0aCB0aGUgam91cm5hbCBsb2NrZWQuCisJICovCisJaWYgKHJldCA9PSAwICYmIChnZnBfbWFzayAmIF9fR0ZQX1dBSVQpICYmIChnZnBfbWFzayAmIF9fR0ZQX0ZTKSkgeworCQlqYmQyX2pvdXJuYWxfd2FpdF9mb3JfdHJhbnNhY3Rpb25fc3luY19kYXRhKGpvdXJuYWwpOworCQlyZXQgPSB0cnlfdG9fZnJlZV9idWZmZXJzKHBhZ2UpOworCX0KKwogYnVzeToKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTgyMyw2ICsxNjg3LDcgQEAKIAlpZiAoIWJ1ZmZlcl9qYmQoYmgpKQogCQlnb3RvIHphcF9idWZmZXJfdW5sb2NrZWQ7CiAKKwkvKiBPSywgd2UgaGF2ZSBkYXRhIGJ1ZmZlciBpbiBqb3VybmFsZWQgbW9kZSAqLwogCXNwaW5fbG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKIAlqYmRfbG9ja19iaF9zdGF0ZShiaCk7CiAJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CkBAIC0xODg2LDE1ICsxNzUxLDYgQEAKIAkJfQogCX0gZWxzZSBpZiAodHJhbnNhY3Rpb24gPT0gam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uKSB7CiAJCUpCVUZGRVJfVFJBQ0UoamgsICJvbiBjb21taXR0aW5nIHRyYW5zYWN0aW9uIik7Ci0JCWlmIChqaC0+Yl9qbGlzdCA9PSBCSl9Mb2NrZWQpIHsKLQkJCS8qCi0JCQkgKiBUaGUgYnVmZmVyIGlzIG9uIHRoZSBjb21taXR0aW5nIHRyYW5zYWN0aW9uJ3MgbG9ja2VkCi0JCQkgKiBsaXN0LiAgV2UgaGF2ZSB0aGUgYnVmZmVyIGxvY2tlZCwgc28gSS9PIGhhcwotCQkJICogY29tcGxldGVkLiAgU28gd2UgY2FuIG5haWwgdGhlIGJ1ZmZlciBub3cuCi0JCQkgKi8KLQkJCW1heV9mcmVlID0gX19kaXNwb3NlX2J1ZmZlcihqaCwgdHJhbnNhY3Rpb24pOwotCQkJZ290byB6YXBfYnVmZmVyOwotCQl9CiAJCS8qCiAJCSAqIElmIGl0IGlzIGNvbW1pdHRpbmcsIHdlIHNpbXBseSBjYW5ub3QgdG91Y2ggaXQuICBXZQogCQkgKiBjYW4gcmVtb3ZlIGl0J3MgbmV4dF90cmFuc2FjdGlvbiBwb2ludGVyIGZyb20gdGhlCkBAIC0yMDI3LDkgKzE4ODMsNiBAQAogCQlKX0FTU0VSVF9KSChqaCwgIWpoLT5iX2NvbW1pdHRlZF9kYXRhKTsKIAkJSl9BU1NFUlRfSkgoamgsICFqaC0+Yl9mcm96ZW5fZGF0YSk7CiAJCXJldHVybjsKLQljYXNlIEJKX1N5bmNEYXRhOgotCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3Q7Ci0JCWJyZWFrOwogCWNhc2UgQkpfTWV0YWRhdGE6CiAJCXRyYW5zYWN0aW9uLT50X25yX2J1ZmZlcnMrKzsKIAkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9idWZmZXJzOwpAQCAtMjA0OSw5ICsxOTAyLDYgQEAKIAljYXNlIEJKX1Jlc2VydmVkOgogCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X3Jlc2VydmVkX2xpc3Q7CiAJCWJyZWFrOwotCWNhc2UgQkpfTG9ja2VkOgotCQlsaXN0ID0gICZ0cmFuc2FjdGlvbi0+dF9sb2NrZWRfbGlzdDsKLQkJYnJlYWs7CiAJfQogCiAJX19ibGlzdF9hZGRfYnVmZmVyKGxpc3QsIGpoKTsKQEAgLTIxNDEsMyArMTk5MSw4OCBAQAogCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CiAJX19icmVsc2UoYmgpOwogfQorCisvKgorICogRmlsZSBpbm9kZSBpbiB0aGUgaW5vZGUgbGlzdCBvZiB0aGUgaGFuZGxlJ3MgdHJhbnNhY3Rpb24KKyAqLworaW50IGpiZDJfam91cm5hbF9maWxlX2lub2RlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUpCit7CisJdHJhbnNhY3Rpb25fdCAqdHJhbnNhY3Rpb24gPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb247CisJam91cm5hbF90ICpqb3VybmFsID0gdHJhbnNhY3Rpb24tPnRfam91cm5hbDsKKworCWlmIChpc19oYW5kbGVfYWJvcnRlZChoYW5kbGUpKQorCQlyZXR1cm4gLUVJTzsKKworCWpiZF9kZWJ1Zyg0LCAiQWRkaW5nIGlub2RlICVsdSwgdGlkOiVkXG4iLCBqaW5vZGUtPmlfdmZzX2lub2RlLT5pX2lubywKKwkJCXRyYW5zYWN0aW9uLT50X3RpZCk7CisKKwkvKgorCSAqIEZpcnN0IGNoZWNrIHdoZXRoZXIgaW5vZGUgaXNuJ3QgYWxyZWFkeSBvbiB0aGUgdHJhbnNhY3Rpb24ncworCSAqIGxpc3RzIHdpdGhvdXQgdGFraW5nIHRoZSBsb2NrLiBOb3RlIHRoYXQgdGhpcyBjaGVjayBpcyBzYWZlCisJICogd2l0aG91dCB0aGUgbG9jayBhcyB3ZSBjYW5ub3QgcmFjZSB3aXRoIHNvbWVib2R5IHJlbW92aW5nIGlub2RlCisJICogZnJvbSB0aGUgdHJhbnNhY3Rpb24uIFRoZSByZWFzb24gaXMgdGhhdCB3ZSByZW1vdmUgaW5vZGUgZnJvbSB0aGUKKwkgKiB0cmFuc2FjdGlvbiBvbmx5IGluIGpvdXJuYWxfcmVsZWFzZV9qYmRfaW5vZGUoKSBhbmQgd2hlbiB3ZSBjb21taXQKKwkgKiB0aGUgdHJhbnNhY3Rpb24uIFdlIGFyZSBndWFyZGVkIGZyb20gdGhlIGZpcnN0IGNhc2UgYnkgaG9sZGluZworCSAqIGEgcmVmZXJlbmNlIHRvIHRoZSBpbm9kZS4gV2UgYXJlIHNhZmUgYWdhaW5zdCB0aGUgc2Vjb25kIGNhc2UKKwkgKiBiZWNhdXNlIGlmIGppbm9kZS0+aV90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbiwgY29tbWl0IGNvZGUKKwkgKiBjYW5ub3QgdG91Y2ggdGhlIHRyYW5zYWN0aW9uIGJlY2F1c2Ugd2UgaG9sZCByZWZlcmVuY2UgdG8gaXQsCisJICogYW5kIGlmIGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uLCBjb21taXQgY29kZQorCSAqIHdpbGwgb25seSBmaWxlIHRoZSBpbm9kZSB3aGVyZSB3ZSB3YW50IGl0LgorCSAqLworCWlmIChqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24gfHwKKwkgICAgamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24pCisJCXJldHVybiAwOworCisJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisKKwlpZiAoamlub2RlLT5pX3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uIHx8CisJICAgIGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uKQorCQlnb3RvIGRvbmU7CisKKwkvKiBPbiBzb21lIGRpZmZlcmVudCB0cmFuc2FjdGlvbidzIGxpc3QgLSBzaG91bGQgYmUKKwkgKiB0aGUgY29tbWl0dGluZyBvbmUgKi8KKwlpZiAoamlub2RlLT5pX3RyYW5zYWN0aW9uKSB7CisJCUpfQVNTRVJUKGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID09IE5VTEwpOworCQlKX0FTU0VSVChqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0KKwkJCQkJam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uKTsKKwkJamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjsKKwkJZ290byBkb25lOworCX0KKwkvKiBOb3Qgb24gYW55IHRyYW5zYWN0aW9uIGxpc3QuLi4gKi8KKwlKX0FTU0VSVCghamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24pOworCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uOworCWxpc3RfYWRkKCZqaW5vZGUtPmlfbGlzdCwgJnRyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QpOworZG9uZToKKwlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHdoZW4gaW5vZGUgaXMgam91cm5hbGVkIGluIG9yZGVyZWQgbW9kZQorICogYmVmb3JlIHRydW5jYXRpb24gaGFwcGVucy4gSXQgc3RhcnRzIHdyaXRlb3V0IG9mIHRydW5jYXRlZCBwYXJ0IGluCisgKiBjYXNlIGl0IGlzIGluIHRoZSBjb21taXR0aW5nIHRyYW5zYWN0aW9uIHNvIHRoYXQgd2Ugc3RhbmQgdG8gb3JkZXJlZAorICogbW9kZSBjb25zaXN0ZW5jeSBndWFyYW50ZWVzLgorICovCitpbnQgamJkMl9qb3VybmFsX2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoc3RydWN0IGpiZDJfaW5vZGUgKmlub2RlLAorCQkJCQlsb2ZmX3QgbmV3X3NpemUpCit7CisJam91cm5hbF90ICpqb3VybmFsOworCXRyYW5zYWN0aW9uX3QgKmNvbW1pdF90cmFuczsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghaW5vZGUtPmlfdHJhbnNhY3Rpb24gJiYgIWlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24pCisJCWdvdG8gb3V0OworCWpvdXJuYWwgPSBpbm9kZS0+aV90cmFuc2FjdGlvbi0+dF9qb3VybmFsOworCXNwaW5fbG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwljb21taXRfdHJhbnMgPSBqb3VybmFsLT5qX2NvbW1pdHRpbmdfdHJhbnNhY3Rpb247CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJaWYgKGlub2RlLT5pX3RyYW5zYWN0aW9uID09IGNvbW1pdF90cmFucykgeworCQlyZXQgPSBmaWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2UoaW5vZGUtPmlfdmZzX2lub2RlLT5pX21hcHBpbmcsCisJCQluZXdfc2l6ZSwgTExPTkdfTUFYKTsKKwkJaWYgKHJldCkKKwkJCWpiZDJfam91cm5hbF9hYm9ydChqb3VybmFsLCByZXQpOworCX0KK291dDoKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19kZWJ1Zy5jIGIvZnMvamZzL2pmc19kZWJ1Zy5jCmluZGV4IGJmNmFiMTkuLjZhNzNkZTggMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfZGVidWcuYworKysgYi9mcy9qZnMvamZzX2RlYnVnLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKQEAgLTMwLDI5ICszMSwxOSBAQAogCiBzdGF0aWMgc3RydWN0IHByb2NfZGlyX2VudHJ5ICpiYXNlOwogI2lmZGVmIENPTkZJR19KRlNfREVCVUcKLXN0YXRpYyBpbnQgbG9nbGV2ZWxfcmVhZChjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwKLQkJCSBpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfbG9nbGV2ZWxfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuOwotCi0JbGVuID0gc3ByaW50ZihwYWdlLCAiJWRcbiIsIGpmc2xvZ2xldmVsKTsKLQotCWxlbiAtPSBvZmY7Ci0JKnN0YXJ0ID0gcGFnZSArIG9mZjsKLQotCWlmIChsZW4gPiBjb3VudCkKLQkJbGVuID0gY291bnQ7Ci0JZWxzZQotCQkqZW9mID0gMTsKLQotCWlmIChsZW4gPCAwKQotCQlsZW4gPSAwOwotCi0JcmV0dXJuIGxlbjsKKwlzZXFfcHJpbnRmKG0sICIlZFxuIiwgamZzbG9nbGV2ZWwpOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGxvZ2xldmVsX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAotCQkJdW5zaWduZWQgbG9uZyBjb3VudCwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX2xvZ2xldmVsX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX2xvZ2xldmVsX3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGpmc19sb2dsZXZlbF9wcm9jX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAorCQljb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKIHsKIAljaGFyIGM7CiAKQEAgLTY1LDIyICs1NiwzMCBAQAogCWpmc2xvZ2xldmVsID0gYyAtICcwJzsKIAlyZXR1cm4gY291bnQ7CiB9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc19sb2dsZXZlbF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19sb2dsZXZlbF9wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKKwkud3JpdGUJCT0gamZzX2xvZ2xldmVsX3Byb2Nfd3JpdGUsCit9OwogI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3QgewogCWNvbnN0IGNoYXIJKm5hbWU7Ci0JcmVhZF9wcm9jX3QJKnJlYWRfZm47Ci0Jd3JpdGVfcHJvY190CSp3cml0ZV9mbjsKKwljb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpwcm9jX2ZvcHM7CiB9IEVudHJpZXNbXSA9IHsKICNpZmRlZiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLQl7ICJsbXN0YXRzIiwJamZzX2xtc3RhdHNfcmVhZCwgfSwKLQl7ICJ0eHN0YXRzIiwJamZzX3R4c3RhdHNfcmVhZCwgfSwKLQl7ICJ4dHN0YXQiLAlqZnNfeHRzdGF0X3JlYWQsIH0sCi0JeyAibXBzdGF0IiwJamZzX21wc3RhdF9yZWFkLCB9LAorCXsgImxtc3RhdHMiLAkmamZzX2xtc3RhdHNfcHJvY19mb3BzLCB9LAorCXsgInR4c3RhdHMiLAkmamZzX3R4c3RhdHNfcHJvY19mb3BzLCB9LAorCXsgInh0c3RhdCIsCSZqZnNfeHRzdGF0X3Byb2NfZm9wcywgfSwKKwl7ICJtcHN0YXQiLAkmamZzX21wc3RhdF9wcm9jX2ZvcHMsIH0sCiAjZW5kaWYKICNpZmRlZiBDT05GSUdfSkZTX0RFQlVHCi0JeyAiVHhBbmNob3IiLAlqZnNfdHhhbmNob3JfcmVhZCwgfSwKLQl7ICJsb2dsZXZlbCIsCWxvZ2xldmVsX3JlYWQsIGxvZ2xldmVsX3dyaXRlIH0KKwl7ICJUeEFuY2hvciIsCSZqZnNfdHhhbmNob3JfcHJvY19mb3BzLCB9LAorCXsgImxvZ2xldmVsIiwJJmpmc19sb2dsZXZlbF9wcm9jX2ZvcHMgfQogI2VuZGlmCiB9OwogI2RlZmluZSBOUFJPQ0VOVAlBUlJBWV9TSVpFKEVudHJpZXMpCkBAIC05MywxMyArOTIsOCBAQAogCQlyZXR1cm47CiAJYmFzZS0+b3duZXIgPSBUSElTX01PRFVMRTsKIAotCWZvciAoaSA9IDA7IGkgPCBOUFJPQ0VOVDsgaSsrKSB7Ci0JCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcDsKLQkJaWYgKChwID0gY3JlYXRlX3Byb2NfZW50cnkoRW50cmllc1tpXS5uYW1lLCAwLCBiYXNlKSkpIHsKLQkJCXAtPnJlYWRfcHJvYyA9IEVudHJpZXNbaV0ucmVhZF9mbjsKLQkJCXAtPndyaXRlX3Byb2MgPSBFbnRyaWVzW2ldLndyaXRlX2ZuOwotCQl9Ci0JfQorCWZvciAoaSA9IDA7IGkgPCBOUFJPQ0VOVDsgaSsrKQorCQlwcm9jX2NyZWF0ZShFbnRyaWVzW2ldLm5hbWUsIDAsIGJhc2UsIEVudHJpZXNbaV0ucHJvY19mb3BzKTsKIH0KIAogdm9pZCBqZnNfcHJvY19jbGVhbih2b2lkKQpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19kZWJ1Zy5oIGIvZnMvamZzL2pmc19kZWJ1Zy5oCmluZGV4IDA0NGMxZTYuLmVhZmQxMzAgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfZGVidWcuaAorKysgYi9mcy9qZnMvamZzX2RlYnVnLmgKQEAgLTYyLDcgKzYyLDcgQEAKIAogZXh0ZXJuIGludCBqZnNsb2dsZXZlbDsKIAotZXh0ZXJuIGludCBqZnNfdHhhbmNob3JfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3R4YW5jaG9yX3Byb2NfZm9wczsKIAogLyogaW5mb3JtYXRpb24gbWVzc2FnZTogZS5nLiwgY29uZmlndXJhdGlvbiwgbWFqb3IgZXZlbnQgKi8KICNkZWZpbmUgamZzX2luZm8oZm10LCBhcmcuLi4pIGRvIHsJCQlcCkBAIC0xMDUsMTAgKzEwNSwxMCBAQAogICoJLS0tLS0tLS0tLQogICovCiAjaWZkZWYJQ09ORklHX0pGU19TVEFUSVNUSUNTCi1leHRlcm4gaW50IGpmc19sbXN0YXRzX3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgamZzX3R4c3RhdHNfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOwotZXh0ZXJuIGludCBqZnNfbXBzdGF0X3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgamZzX3h0c3RhdF9yZWFkKGNoYXIgKiwgY2hhciAqKiwgb2ZmX3QsIGludCwgaW50ICosIHZvaWQgKik7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbG1zdGF0c19wcm9jX2ZvcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfdHhzdGF0c19wcm9jX2ZvcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbXBzdGF0X3Byb2NfZm9wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc194dHN0YXRfcHJvY19mb3BzOwogCiAjZGVmaW5lCUlOQ1JFTUVOVCh4KQkJKCh4KSsrKQogI2RlZmluZQlERUNSRU1FTlQoeCkJCSgoeCktLSkKZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfZHRyZWUuaCBiL2ZzL2pmcy9qZnNfZHRyZWUuaAppbmRleCBjZGFjMmQ1Li4yNTQ1YmIzIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2R0cmVlLmgKKysrIGIvZnMvamZzL2pmc19kdHJlZS5oCkBAIC0yNDMsOSArMjQzLDYgQEAKICNkZWZpbmUgSkZTX1JFTU9WRSAzCiAjZGVmaW5lIEpGU19SRU5BTUUgNAogCi0jZGVmaW5lIERJUkVOVFNJWihuYW1sZW4pIFwKLSAgICAoIChzaXplb2Yoc3RydWN0IGRpcmVudCkgLSAyKihKRlNfTkFNRV9NQVgrMSkgKyAyKigobmFtbGVuKSsxKSArIDMpICZ+IDMgKQotCiAvKgogICogTWF4aW11bSBmaWxlIG9mZnNldCBmb3IgZGlyZWN0b3JpZXMuCiAgKi8KZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfaW1hcC5jIGIvZnMvamZzL2pmc19pbWFwLmMKaW5kZXggNzM0ZWM5MS4uZDYzNjNkOCAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc19pbWFwLmMKKysrIGIvZnMvamZzL2pmc19pbWFwLmMKQEAgLTE1MjAsNyArMTUyMCw3IEBACiAJCQkJCWpmc19lcnJvcihpcC0+aV9zYiwKIAkJCQkJCSAgImRpQWxsb2M6IGNhbid0IGZpbmQgZnJlZSBiaXQgIgogCQkJCQkJICAiaW4gd21hcCIpOwotCQkJCQlyZXR1cm4gRUlPOworCQkJCQlyZXR1cm4gLUVJTzsKIAkJCQl9CiAKIAkJCQkvKiBkZXRlcm1pbmUgdGhlIGlub2RlIG51bWJlciB3aXRoaW4gdGhlCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX2xvZ21nci5jIGIvZnMvamZzL2pmc19sb2dtZ3IuYwppbmRleCAzMjVhOTY3Li5jZDJlYzI5IDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2xvZ21nci5jCisrKyBiL2ZzL2pmcy9qZnNfbG9nbWdyLmMKQEAgLTY5LDYgKzY5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcmVlemVyLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKICNpbmNsdWRlICJqZnNfbWV0YXBhZ2UuaCIKQEAgLTI1MDMsMTMgKzI1MDQsOSBAQAogfQogCiAjaWZkZWYgQ09ORklHX0pGU19TVEFUSVNUSUNTCi1pbnQgamZzX2xtc3RhdHNfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX2xtc3RhdHNfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKLQotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIExvZ21nciBzdGF0c1xuIgogCQkgICAgICAgIj09PT09PT09PT09PT09PT1cbiIKIAkJICAgICAgICJjb21taXRzID0gJWRcbiIKQEAgLTI1MjIsMTkgKzI1MTksMTkgQEAKIAkJICAgICAgIGxtU3RhdC5wYWdlZG9uZSwKIAkJICAgICAgIGxtU3RhdC5mdWxsX3BhZ2UsCiAJCSAgICAgICBsbVN0YXQucGFydGlhbF9wYWdlKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc19sbXN0YXRzX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX2xtc3RhdHNfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbG1zdGF0c19wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19sbXN0YXRzX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZiAvKiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MgKi8KZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfbWV0YXBhZ2UuYyBiL2ZzL2pmcy9qZnNfbWV0YXBhZ2UuYwppbmRleCBkMWU2NGYyLi44NTRmZjBlIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX21ldGFwYWdlLmMKKysrIGIvZnMvamZzL2pmc19tZXRhcGFnZS5jCkBAIC0xOSwxMCArMTksMTIgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9iaW8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9tZW1wb29sLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlICJqZnNfaW5jb3JlLmgiCiAjaW5jbHVkZSAiamZzX3N1cGVyYmxvY2suaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCkBAIC04MDQsMTMgKzgwNiw5IEBACiB9CiAKICNpZmRlZiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLWludCBqZnNfbXBzdGF0X3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfbXBzdGF0X3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47Ci0KLQlsZW4gKz0gc3ByaW50ZihidWZmZXIsCisJc2VxX3ByaW50ZihtLAogCQkgICAgICAgIkpGUyBNZXRhcGFnZSBzdGF0aXN0aWNzXG4iCiAJCSAgICAgICAiPT09PT09PT09PT09PT09PT09PT09PT1cbiIKIAkJICAgICAgICJwYWdlIGFsbG9jYXRpb25zID0gJWRcbiIKQEAgLTgxOSwxOSArODE3LDE5IEBACiAJCSAgICAgICBtcFN0YXQucGFnZWFsbG9jLAogCQkgICAgICAgbXBTdGF0LnBhZ2VmcmVlLAogCQkgICAgICAgbXBTdGF0LmxvY2t3YWl0KTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc19tcHN0YXRfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfbXBzdGF0X3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX21wc3RhdF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19tcHN0YXRfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX3R4bm1nci5jIGIvZnMvamZzL2pmc190eG5tZ3IuYwppbmRleCBlN2M2MGFlLi5mMjZlNGQwIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX3R4bm1nci5jCisrKyBiL2ZzL2pmcy9qZnNfdHhubWdyLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgImpmc19pbmNvcmUuaCIKICNpbmNsdWRlICJqZnNfaW5vZGUuaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCkBAIC0zMDA5LDExICszMDEwLDggQEAKIH0KIAogI2lmIGRlZmluZWQoQ09ORklHX1BST0NfRlMpICYmIGRlZmluZWQoQ09ORklHX0pGU19ERUJVRykKLWludCBqZnNfdHhhbmNob3JfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3R4YW5jaG9yX3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47CiAJY2hhciAqZnJlZXdhaXQ7CiAJY2hhciAqZnJlZWxvY2t3YWl0OwogCWNoYXIgKmxvd2xvY2t3YWl0OwpAQCAtMzAyNSw3ICszMDIzLDcgQEAKIAlsb3dsb2Nrd2FpdCA9CiAJICAgIHdhaXRxdWV1ZV9hY3RpdmUoJlR4QW5jaG9yLmxvd2xvY2t3YWl0KSA/ICJhY3RpdmUiIDogImVtcHR5IjsKIAotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIFR4QW5jaG9yXG4iCiAJCSAgICAgICAiPT09PT09PT09PT09XG4iCiAJCSAgICAgICAiZnJlZXRpZCA9ICVkXG4iCkBAIC0zMDQ0LDMxICszMDQyLDI3IEBACiAJCSAgICAgICBUeEFuY2hvci50bG9ja3NJblVzZSwKIAkJICAgICAgIGpmc190bG9ja3NfbG93LAogCQkgICAgICAgbGlzdF9lbXB0eSgmVHhBbmNob3IudW5sb2NrX3F1ZXVlKSA/ICIiIDogIm5vdCAiKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc190eGFuY2hvcl9wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGpmc190eGFuY2hvcl9wcm9jX3Nob3csIE5VTEwpOworfQorCitjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc190eGFuY2hvcl9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc190eGFuY2hvcl9wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKK307CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX1BST0NfRlMpICYmIGRlZmluZWQoQ09ORklHX0pGU19TVEFUSVNUSUNTKQotaW50IGpmc190eHN0YXRzX3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3R4c3RhdHNfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKLQotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIFR4U3RhdHNcbiIKIAkJICAgICAgICI9PT09PT09PT09PVxuIgogCQkgICAgICAgImNhbGxzIHRvIHR4QmVnaW4gPSAlZFxuIgpAQCAtMzA4OSwxOSArMzA4MywxOSBAQAogCQkgICAgICAgVHhTdGF0LnR4QmVnaW5Bbm9uX2xvY2tzbG93LAogCQkgICAgICAgVHhTdGF0LnR4TG9ja0FsbG9jLAogCQkgICAgICAgVHhTdGF0LnR4TG9ja0FsbG9jX2ZyZWVsb2NrKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc190eHN0YXRzX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX3R4c3RhdHNfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfdHhzdGF0c19wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc190eHN0YXRzX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc194dHJlZS5jIGIvZnMvamZzL2pmc194dHJlZS5jCmluZGV4IDVhNjFlYmYuLmFlM2FjYWYgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfeHRyZWUuYworKysgYi9mcy9qZnMvamZzX3h0cmVlLmMKQEAgLTIwLDcgKzIwLDkgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9xdW90YW9wcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKICNpbmNsdWRlICJqZnNfbWV0YXBhZ2UuaCIKQEAgLTQxMzQsMTMgKzQxMzYsOSBAQAogfQogCiAjaWZkZWYgQ09ORklHX0pGU19TVEFUSVNUSUNTCi1pbnQgamZzX3h0c3RhdF9yZWFkKGNoYXIgKmJ1ZmZlciwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmZzZXQsIGludCBsZW5ndGgsCi0JCSAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3h0c3RhdF9wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogewotCWludCBsZW4gPSAwOwotCW9mZl90IGJlZ2luOwotCi0JbGVuICs9IHNwcmludGYoYnVmZmVyLAorCXNlcV9wcmludGYobSwKIAkJICAgICAgICJKRlMgWHRyZWUgc3RhdGlzdGljc1xuIgogCQkgICAgICAgIj09PT09PT09PT09PT09PT09PT09XG4iCiAJCSAgICAgICAic2VhcmNoZXMgPSAlZFxuIgpAQCAtNDE0OSwxOSArNDE0NywxOSBAQAogCQkgICAgICAgeHRTdGF0LnNlYXJjaCwKIAkJICAgICAgIHh0U3RhdC5mYXN0U2VhcmNoLAogCQkgICAgICAgeHRTdGF0LnNwbGl0KTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc194dHN0YXRfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfeHRzdGF0X3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3h0c3RhdF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc194dHN0YXRfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9mcy9qZnMvbmFtZWkuYyBiL2ZzL2pmcy9uYW1laS5jCmluZGV4IDBiYTY3NzguLjJhYmE4MjMgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9uYW1laS5jCisrKyBiL2ZzL2pmcy9uYW1laS5jCkBAIC0xNDU1LDcgKzE0NTUsNyBAQAogCQlmcmVlX1VDU25hbWUoJmtleSk7CiAJCWlmIChyYyA9PSAtRU5PRU5UKSB7CiAJCQlkX2FkZChkZW50cnksIE5VTEwpOwotCQkJcmV0dXJuIEVSUl9QVFIoMCk7CisJCQlyZXR1cm4gTlVMTDsKIAkJfSBlbHNlIGlmIChyYykgewogCQkJamZzX2VycigiamZzX2xvb2t1cDogZHRTZWFyY2ggcmV0dXJuZWQgJWQiLCByYyk7CiAJCQlyZXR1cm4gRVJSX1BUUihyYyk7CmRpZmYgLS1naXQgYS9mcy9qZnMvc3VwZXIuYyBiL2ZzL2pmcy9zdXBlci5jCmluZGV4IDUwZWE2NTQuLjAyODhlNmQgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9zdXBlci5jCisrKyBiL2ZzL2pmcy9zdXBlci5jCkBAIC00OTksNyArNDk5LDcgQEAKIAlpbm9kZSA9IGpmc19pZ2V0KHNiLCBST09UX0kpOwogCWlmIChJU19FUlIoaW5vZGUpKSB7CiAJCXJldCA9IFBUUl9FUlIoaW5vZGUpOwotCQlnb3RvIG91dF9ub19yb290OworCQlnb3RvIG91dF9ub19ydzsKIAl9CiAJc2ItPnNfcm9vdCA9IGRfYWxsb2Nfcm9vdChpbm9kZSk7CiAJaWYgKCFzYi0+c19yb290KQpAQCAtNTIxLDkgKzUyMSw4IEBACiAJcmV0dXJuIDA7CiAKIG91dF9ub19yb290OgotCWpmc19lcnIoImpmc19yZWFkX3N1cGVyOiBnZXQgcm9vdCBpbm9kZSBmYWlsZWQiKTsKLQlpZiAoaW5vZGUpCi0JCWlwdXQoaW5vZGUpOworCWpmc19lcnIoImpmc19yZWFkX3N1cGVyOiBnZXQgcm9vdCBkZW50cnkgZmFpbGVkIik7CisJaXB1dChpbm9kZSk7CiAKIG91dF9ub19ydzoKIAlyYyA9IGpmc191bW91bnQoc2IpOwpkaWZmIC0tZ2l0IGEvZnMvbXBhZ2UuYyBiL2ZzL21wYWdlLmMKaW5kZXggMjM1ZTRkMy4uZGJjYzdhZiAxMDA2NDQKLS0tIGEvZnMvbXBhZ2UuYworKysgYi9mcy9tcGFnZS5jCkBAIC04Miw3ICs4Miw3IEBACiAJYmlvX3B1dChiaW8pOwogfQogCi1zdGF0aWMgc3RydWN0IGJpbyAqbXBhZ2VfYmlvX3N1Ym1pdChpbnQgcncsIHN0cnVjdCBiaW8gKmJpbykKK3N0cnVjdCBiaW8gKm1wYWdlX2Jpb19zdWJtaXQoaW50IHJ3LCBzdHJ1Y3QgYmlvICpiaW8pCiB7CiAJYmlvLT5iaV9lbmRfaW8gPSBtcGFnZV9lbmRfaW9fcmVhZDsKIAlpZiAocncgPT0gV1JJVEUpCkBAIC05MCw2ICs5MCw3IEBACiAJc3VibWl0X2JpbyhydywgYmlvKTsKIAlyZXR1cm4gTlVMTDsKIH0KK0VYUE9SVF9TWU1CT0wobXBhZ2VfYmlvX3N1Ym1pdCk7CiAKIHN0YXRpYyBzdHJ1Y3QgYmlvICoKIG1wYWdlX2FsbG9jKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsCkBAIC00MzUsMTUgKzQzNiw5IEBACiAgKiB3cml0dGVuLCBzbyBpdCBjYW4gaW50ZWxsaWdlbnRseSBhbGxvY2F0ZSBhIHN1aXRhYmx5LXNpemVkIEJJTy4gIEZvciBub3csCiAgKiBqdXN0IGFsbG9jYXRlIGZ1bGwtc2l6ZSAoMTYtcGFnZSkgQklPcy4KICAqLwotc3RydWN0IG1wYWdlX2RhdGEgewotCXN0cnVjdCBiaW8gKmJpbzsKLQlzZWN0b3JfdCBsYXN0X2Jsb2NrX2luX2JpbzsKLQlnZXRfYmxvY2tfdCAqZ2V0X2Jsb2NrOwotCXVuc2lnbmVkIHVzZV93cml0ZXBhZ2U7Ci19OwogCi1zdGF0aWMgaW50IF9fbXBhZ2Vfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywKLQkJCSAgICAgdm9pZCAqZGF0YSkKK2ludCBfX21wYWdlX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsCisJCSAgICAgIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IG1wYWdlX2RhdGEgKm1wZCA9IGRhdGE7CiAJc3RydWN0IGJpbyAqYmlvID0gbXBkLT5iaW87CkBAIC02NTEsNiArNjQ2LDcgQEAKIAltcGQtPmJpbyA9IGJpbzsKIAlyZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJPTChfX21wYWdlX3dyaXRlcGFnZSk7CiAKIC8qKgogICogbXBhZ2Vfd3JpdGVwYWdlcyAtIHdhbGsgdGhlIGxpc3Qgb2YgZGlydHkgcGFnZXMgb2YgdGhlIGdpdmVuIGFkZHJlc3Mgc3BhY2UgJiB3cml0ZXBhZ2UoKSBhbGwgb2YgdGhlbQpkaWZmIC0tZ2l0IGEvZnMvbXNkb3MvbmFtZWkuYyBiL2ZzL21zZG9zL25hbWVpLmMKaW5kZXggMDVmZjRmMS4uMWY3ZjI5NSAxMDA2NDQKLS0tIGEvZnMvbXNkb3MvbmFtZWkuYworKysgYi9mcy9tc2Rvcy9uYW1laS5jCkBAIC0yMTQsNyArMjE0LDcgQEAKIAogCWRlbnRyeS0+ZF9vcCA9ICZtc2Rvc19kZW50cnlfb3BlcmF0aW9uczsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJcmVzID0gbXNkb3NfZmluZChkaXIsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwgJnNpbmZvKTsKIAlpZiAocmVzID09IC1FTk9FTlQpCiAJCWdvdG8gYWRkOwpAQCAtMjMyLDcgKzIzMiw3IEBACiAJaWYgKGRlbnRyeSkKIAkJZGVudHJ5LT5kX29wID0gJm1zZG9zX2RlbnRyeV9vcGVyYXRpb25zOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghcmVzKQogCQlyZXR1cm4gZGVudHJ5OwogCXJldHVybiBFUlJfUFRSKHJlcyk7CkBAIC0yODYsNyArMjg2LDcgQEAKIAl1bnNpZ25lZCBjaGFyIG1zZG9zX25hbWVbTVNET1NfTkFNRV07CiAJaW50IGVyciwgaXNfaGlkOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IG1zZG9zX2Zvcm1hdF9uYW1lKGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwKIAkJCQltc2Rvc19uYW1lLCAmTVNET1NfU0Ioc2IpLT5vcHRpb25zKTsKQEAgLTMxNSw3ICszMTUsNyBAQAogCiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIWVycikKIAkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhzYiwgZGlyLCBpbm9kZSk7CiAJcmV0dXJuIGVycjsKQEAgLTMyNCwxMSArMzI0LDEyIEBACiAvKioqKiogUmVtb3ZlIGEgZGlyZWN0b3J5ICovCiBzdGF0aWMgaW50IG1zZG9zX3JtZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGRpci0+aV9zYjsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCS8qCiAJICogQ2hlY2sgd2hldGhlciB0aGUgZGlyZWN0b3J5IGlzIG5vdCBpbiB1c2UsIHRoZW4gY2hlY2sKIAkgKiB3aGV0aGVyIGl0IGlzIGVtcHR5LgpAQCAtMzQ5LDkgKzM1MCw5IEBACiAJaW5vZGUtPmlfY3RpbWUgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWZhdF9kZXRhY2goaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghZXJyKQotCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKGlub2RlLT5pX3NiLCBkaXIsIGlub2RlKTsKKwkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhzYiwgZGlyLCBpbm9kZSk7CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAtMzY2LDcgKzM2Nyw3IEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWludCBlcnIsIGlzX2hpZCwgY2x1c3RlcjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAllcnIgPSBtc2Rvc19mb3JtYXRfbmFtZShkZW50cnktPmRfbmFtZS5uYW1lLCBkZW50cnktPmRfbmFtZS5sZW4sCiAJCQkJbXNkb3NfbmFtZSwgJk1TRE9TX1NCKHNiKS0+b3B0aW9ucyk7CkBAIC00MDQsMTQgKzQwNSwxNCBAQAogCiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIAotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWZhdF9mbHVzaF9pbm9kZXMoc2IsIGRpciwgaW5vZGUpOwogCXJldHVybiAwOwogCiBvdXRfZnJlZToKIAlmYXRfZnJlZV9jbHVzdGVycyhkaXIsIGNsdXN0ZXIpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTQxOSwxMCArNDIwLDExIEBACiBzdGF0aWMgaW50IG1zZG9zX3VubGluayhzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYj0gaW5vZGUtPmlfc2I7CiAJc3RydWN0IGZhdF9zbG90X2luZm8gc2luZm87CiAJaW50IGVycjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJZXJyID0gbXNkb3NfZmluZChkaXIsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwgJnNpbmZvKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKQEAgLTQzNCw5ICs0MzYsOSBAQAogCWlub2RlLT5pX2N0aW1lID0gQ1VSUkVOVF9USU1FX1NFQzsKIAlmYXRfZGV0YWNoKGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIWVycikKLQkJZXJyID0gZmF0X2ZsdXNoX2lub2Rlcyhpbm9kZS0+aV9zYiwgZGlyLCBpbm9kZSk7CisJCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoc2IsIGRpciwgaW5vZGUpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTYxOCwxMCArNjIwLDExIEBACiBzdGF0aWMgaW50IG1zZG9zX3JlbmFtZShzdHJ1Y3QgaW5vZGUgKm9sZF9kaXIsIHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksCiAJCQlzdHJ1Y3QgaW5vZGUgKm5ld19kaXIsIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCiB7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IG9sZF9kaXItPmlfc2I7CiAJdW5zaWduZWQgY2hhciBvbGRfbXNkb3NfbmFtZVtNU0RPU19OQU1FXSwgbmV3X21zZG9zX25hbWVbTVNET1NfTkFNRV07CiAJaW50IGVyciwgaXNfaGlkOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IG1zZG9zX2Zvcm1hdF9uYW1lKG9sZF9kZW50cnktPmRfbmFtZS5uYW1lLAogCQkJCW9sZF9kZW50cnktPmRfbmFtZS5sZW4sIG9sZF9tc2Rvc19uYW1lLApAQCAtNjQwLDkgKzY0Myw5IEBACiAJZXJyID0gZG9fbXNkb3NfcmVuYW1lKG9sZF9kaXIsIG9sZF9tc2Rvc19uYW1lLCBvbGRfZGVudHJ5LAogCQkJICAgICAgbmV3X2RpciwgbmV3X21zZG9zX25hbWUsIG5ld19kZW50cnksIGlzX2hpZCk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJaWYgKCFlcnIpCi0JCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMob2xkX2Rpci0+aV9zYiwgb2xkX2RpciwgbmV3X2Rpcik7CisJCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoc2IsIG9sZF9kaXIsIG5ld19kaXIpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL25hbWVzcGFjZS5jIGIvZnMvbmFtZXNwYWNlLmMKaW5kZXggNGZjMzAyYy4uNGY2Zjc2MyAxMDA2NDQKLS0tIGEvZnMvbmFtZXNwYWNlLmMKKysrIGIvZnMvbmFtZXNwYWNlLmMKQEAgLTc1MCw3ICs3NTAsNyBAQAogCWNvbnN0IGNoYXIgKnN0cjsKIH07CiAKLXN0YXRpYyB2b2lkIHNob3dfc2Jfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCitzdGF0aWMgaW50IHNob3dfc2Jfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBwcm9jX2ZzX2luZm8gZnNfaW5mb1tdID0gewogCQl7IE1TX1NZTkNIUk9OT1VTLCAiLHN5bmMiIH0sCkBAIC03NjQsNiArNzY0LDggQEAKIAkJaWYgKHNiLT5zX2ZsYWdzICYgZnNfaW5mb3AtPmZsYWcpCiAJCQlzZXFfcHV0cyhtLCBmc19pbmZvcC0+c3RyKTsKIAl9CisKKwlyZXR1cm4gc2VjdXJpdHlfc2Jfc2hvd19vcHRpb25zKG0sIHNiKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19tbnRfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCB2ZnNtb3VudCAqbW50KQpAQCAtODA2LDExICs4MDgsMTQgQEAKIAlzZXFfcHV0YyhtLCAnICcpOwogCXNob3dfdHlwZShtLCBtbnQtPm1udF9zYik7CiAJc2VxX3B1dHMobSwgX19tbnRfaXNfcmVhZG9ubHkobW50KSA/ICIgcm8iIDogIiBydyIpOwotCXNob3dfc2Jfb3B0cyhtLCBtbnQtPm1udF9zYik7CisJZXJyID0gc2hvd19zYl9vcHRzKG0sIG1udC0+bW50X3NiKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKIAlzaG93X21udF9vcHRzKG0sIG1udCk7CiAJaWYgKG1udC0+bW50X3NiLT5zX29wLT5zaG93X29wdGlvbnMpCiAJCWVyciA9IG1udC0+bW50X3NiLT5zX29wLT5zaG93X29wdGlvbnMobSwgbW50KTsKIAlzZXFfcHV0cyhtLCAiIDAgMFxuIik7CitvdXQ6CiAJcmV0dXJuIGVycjsKIH0KIApAQCAtODY1LDEwICs4NzAsMTMgQEAKIAlzZXFfcHV0YyhtLCAnICcpOwogCW1hbmdsZShtLCBtbnQtPm1udF9kZXZuYW1lID8gbW50LT5tbnRfZGV2bmFtZSA6ICJub25lIik7CiAJc2VxX3B1dHMobSwgc2ItPnNfZmxhZ3MgJiBNU19SRE9OTFkgPyAiIHJvIiA6ICIgcnciKTsKLQlzaG93X3NiX29wdHMobSwgc2IpOworCWVyciA9IHNob3dfc2Jfb3B0cyhtLCBzYik7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CiAJaWYgKHNiLT5zX29wLT5zaG93X29wdGlvbnMpCiAJCWVyciA9IHNiLT5zX29wLT5zaG93X29wdGlvbnMobSwgbW50KTsKIAlzZXFfcHV0YyhtLCAnXG4nKTsKK291dDoKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9mcy9uY3Bmcy9maWxlLmMgYi9mcy9uY3Bmcy9maWxlLmMKaW5kZXggMmIxNDVkZS4uNmE3ZDkwMSAxMDA2NDQKLS0tIGEvZnMvbmNwZnMvZmlsZS5jCisrKyBiL2ZzL25jcGZzL2ZpbGUuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvbmNwX2ZzLmg+CiAjaW5jbHVkZSAibmNwbGliX2tlcm5lbC5oIgpAQCAtMjgxLDkgKzI4MiwxOCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgbG9mZl90IG5jcF9yZW1vdGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQoreworCWxvZmZfdCByZXQ7CisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKwogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBuY3BfZmlsZV9vcGVyYXRpb25zID0KIHsKLQkubGxzZWVrCQk9IHJlbW90ZV9sbHNlZWssCisJLmxsc2VlayAJPSBuY3BfcmVtb3RlX2xsc2VlaywKIAkucmVhZAkJPSBuY3BfZmlsZV9yZWFkLAogCS53cml0ZQkJPSBuY3BfZmlsZV93cml0ZSwKIAkuaW9jdGwJCT0gbmNwX2lvY3RsLApkaWZmIC0tZ2l0IGEvZnMvbmZzL2ZpbGUuYyBiL2ZzL25mcy9maWxlLmMKaW5kZXggNTA5ZGNiNS4uNDMxNjRmZSAxMDA2NDQKLS0tIGEvZnMvbmZzL2ZpbGUuYworKysgYi9mcy9uZnMvZmlsZS5jCkBAIC0xODAsNiArMTgwLDggQEAKIAogc3RhdGljIGxvZmZfdCBuZnNfZmlsZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbHAsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCiB7CisJbG9mZl90IGxvZmY7CisKIAlkcHJpbnRrKCJORlM6IGxsc2VlayBmaWxlKCVzLyVzLCAlbGxkLCAlZClcbiIsCiAJCQlmaWxwLT5mX3BhdGguZGVudHJ5LT5kX3BhcmVudC0+ZF9uYW1lLm5hbWUsCiAJCQlmaWxwLT5mX3BhdGguZGVudHJ5LT5kX25hbWUubmFtZSwKQEAgLTE5Miw3ICsxOTQsMTAgQEAKIAkJaWYgKHJldHZhbCA8IDApCiAJCQlyZXR1cm4gKGxvZmZfdClyZXR2YWw7CiAJfQotCXJldHVybiByZW1vdGVfbGxzZWVrKGZpbHAsIG9mZnNldCwgb3JpZ2luKTsKKwlsb2NrX2tlcm5lbCgpOwkvKiBCS0wgbmVlZGVkPyAqLworCWxvZmYgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbHAsIG9mZnNldCwgb3JpZ2luKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIGxvZmY7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9mcy9vY2ZzMi9kbG0vZGxtbWFzdGVyLmMgYi9mcy9vY2ZzMi9kbG0vZGxtbWFzdGVyLmMKaW5kZXggZWZjMDE1Yy4uNDRmODdjYSAxMDA2NDQKLS0tIGEvZnMvb2NmczIvZGxtL2RsbW1hc3Rlci5jCisrKyBiL2ZzL29jZnMyL2RsbS9kbG1tYXN0ZXIuYwpAQCAtNjA2LDcgKzYwNiw5IEBACiAKIAlyZXMtPmxhc3RfdXNlZCA9IDA7CiAKKwlzcGluX2xvY2soJmRsbS0+c3BpbmxvY2spOwogCWxpc3RfYWRkX3RhaWwoJnJlcy0+dHJhY2tpbmcsICZkbG0tPnRyYWNraW5nX2xpc3QpOworCXNwaW5fdW5sb2NrKCZkbG0tPnNwaW5sb2NrKTsKIAogCW1lbXNldChyZXMtPmx2YiwgMCwgRExNX0xWQl9MRU4pOwogCW1lbXNldChyZXMtPnJlZm1hcCwgMCwgc2l6ZW9mKHJlcy0+cmVmbWFwKSk7CmRpZmYgLS1naXQgYS9mcy9vY2ZzMi9kbG1nbHVlLmMgYi9mcy9vY2ZzMi9kbG1nbHVlLmMKaW5kZXggMzk0ZDI1YS4uODBlMjBkOSAxMDA2NDQKLS0tIGEvZnMvb2NmczIvZGxtZ2x1ZS5jCisrKyBiL2ZzL29jZnMyL2RsbWdsdWUuYwpAQCAtMTU1NCw4ICsxNTU0LDggQEAKICAqLwogaW50IG9jZnMyX2ZpbGVfbG9jayhzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGV4LCBpbnQgdHJ5bG9jaykKIHsKLQlpbnQgcmV0LCBsZXZlbCA9IGV4ID8gTEtNX0VYTU9ERSA6IExLTV9QUk1PREU7Ci0JdW5zaWduZWQgaW50IGxrbV9mbGFncyA9IHRyeWxvY2sgPyBMS01fTk9RVUVVRSA6IDA7CisJaW50IHJldCwgbGV2ZWwgPSBleCA/IERMTV9MT0NLX0VYIDogRExNX0xPQ0tfUFI7CisJdW5zaWduZWQgaW50IGxrbV9mbGFncyA9IHRyeWxvY2sgPyBETE1fTEtGX05PUVVFVUUgOiAwOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IG9jZnMyX2ZpbGVfcHJpdmF0ZSAqZnAgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJc3RydWN0IG9jZnMyX2xvY2tfcmVzICpsb2NrcmVzID0gJmZwLT5mcF9mbG9jazsKQEAgLTE1ODIsNyArMTU4Miw3IEBACiAJCSAqIEdldCB0aGUgbG9jayBhdCBOTE1PREUgdG8gc3RhcnQgLSB0aGF0IHdheSB3ZQogCQkgKiBjYW4gY2FuY2VsIHRoZSB1cGNvbnZlcnQgcmVxdWVzdCBpZiBuZWVkIGJlLgogCQkgKi8KLQkJcmV0ID0gb2NmczJfbG9ja19jcmVhdGUob3NiLCBsb2NrcmVzLCBMS01fTkxNT0RFLCAwKTsKKwkJcmV0ID0gb2NmczJfbG9ja19jcmVhdGUob3NiLCBsb2NrcmVzLCBETE1fTE9DS19OTCwgMCk7CiAJCWlmIChyZXQgPCAwKSB7CiAJCQltbG9nX2Vycm5vKHJldCk7CiAJCQlnb3RvIG91dDsKQEAgLTE1OTcsNyArMTU5Nyw3IEBACiAJfQogCiAJbG9ja3Jlcy0+bF9hY3Rpb24gPSBPQ0ZTMl9BU1RfQ09OVkVSVDsKLQlsa21fZmxhZ3MgfD0gTEtNX0NPTlZFUlQ7CisJbGttX2ZsYWdzIHw9IERMTV9MS0ZfQ09OVkVSVDsKIAlsb2NrcmVzLT5sX3JlcXVlc3RlZCA9IGxldmVsOwogCWxvY2tyZXNfb3JfZmxhZ3MobG9ja3JlcywgT0NGUzJfTE9DS19CVVNZKTsKIApAQCAtMTY2NCw3ICsxNjY0LDcgQEAKIAlpZiAoIShsb2NrcmVzLT5sX2ZsYWdzICYgT0NGUzJfTE9DS19BVFRBQ0hFRCkpCiAJCXJldHVybjsKIAotCWlmIChsb2NrcmVzLT5sX2xldmVsID09IExLTV9OTE1PREUpCisJaWYgKGxvY2tyZXMtPmxfbGV2ZWwgPT0gRExNX0xPQ0tfTkwpCiAJCXJldHVybjsKIAogCW1sb2coMCwgIlVubG9jazogXCIlc1wiIGZsYWdzOiAweCVseCwgbGV2ZWw6ICVkLCBhY3Q6ICVkXG4iLApAQCAtMTY3OCwxMSArMTY3OCwxMSBAQAogCWxvY2tyZXNfb3JfZmxhZ3MobG9ja3JlcywgT0NGUzJfTE9DS19CTE9DS0VEKTsKIAlsb2NrcmVzLT5sX2Jsb2NraW5nID0gRExNX0xPQ0tfRVg7CiAKLQlnZW4gPSBvY2ZzMl9wcmVwYXJlX2Rvd25jb252ZXJ0KGxvY2tyZXMsIExLTV9OTE1PREUpOworCWdlbiA9IG9jZnMyX3ByZXBhcmVfZG93bmNvbnZlcnQobG9ja3JlcywgRExNX0xPQ0tfTkwpOwogCWxvY2tyZXNfYWRkX21hc2tfd2FpdGVyKGxvY2tyZXMsICZtdywgT0NGUzJfTE9DS19CVVNZLCAwKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZsb2NrcmVzLT5sX2xvY2ssIGZsYWdzKTsKIAotCXJldCA9IG9jZnMyX2Rvd25jb252ZXJ0X2xvY2sob3NiLCBsb2NrcmVzLCBMS01fTkxNT0RFLCAwLCBnZW4pOworCXJldCA9IG9jZnMyX2Rvd25jb252ZXJ0X2xvY2sob3NiLCBsb2NrcmVzLCBETE1fTE9DS19OTCwgMCwgZ2VuKTsKIAlpZiAocmV0KSB7CiAJCW1sb2dfZXJybm8ocmV0KTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZnMvb2NmczIvc3RhY2tfdXNlci5jIGIvZnMvb2NmczIvc3RhY2tfdXNlci5jCmluZGV4IGMwMjEyODAuLmJkN2UwZjMgMTAwNjQ0Ci0tLSBhL2ZzL29jZnMyL3N0YWNrX3VzZXIuYworKysgYi9mcy9vY2ZzMi9zdGFja191c2VyLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtNjE5LDEwICs2MjAsMTIgQEAKIAkJcmV0dXJuIC1FTk9NRU07CiAJcC0+b3BfdGhpc19ub2RlID0gLTE7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJm9jZnMyX2NvbnRyb2xfbG9jayk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcDsKIAlsaXN0X2FkZCgmcC0+b3BfbGlzdCwgJm9jZnMyX2NvbnRyb2xfcHJpdmF0ZV9saXN0KTsKIAltdXRleF91bmxvY2soJm9jZnMyX2NvbnRyb2xfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9mcy9wcm9jL2Jhc2UuYyBiL2ZzL3Byb2MvYmFzZS5jCmluZGV4IDNiNDU1MzcuLjU4YzNlNmEgMTAwNjQ0Ci0tLSBhL2ZzL3Byb2MvYmFzZS5jCisrKyBiL2ZzL3Byb2MvYmFzZS5jCkBAIC0yMzMsNyArMjMzLDcgQEAKIAkgKi8KIAlpZiAodGFzay0+cGFyZW50ID09IGN1cnJlbnQgJiYgKHRhc2stPnB0cmFjZSAmIFBUX1BUUkFDRUQpICYmCiAJICAgIHRhc2tfaXNfc3RvcHBlZF9vcl90cmFjZWQodGFzaykgJiYKLQkgICAgcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJICAgIHB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX0FUVEFDSCkpCiAJCXJldHVybiAwOwogCiAJLyoKQEAgLTI1MSw3ICsyNTEsOCBAQAogCXRhc2tfbG9jayh0YXNrKTsKIAlpZiAodGFzay0+bW0gIT0gbW0pCiAJCWdvdG8gb3V0OwotCWlmICh0YXNrLT5tbSAhPSBjdXJyZW50LT5tbSAmJiBfX3B0cmFjZV9tYXlfYXR0YWNoKHRhc2spIDwgMCkKKwlpZiAodGFzay0+bW0gIT0gY3VycmVudC0+bW0gJiYKKwkgICAgX19wdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSA8IDApCiAJCWdvdG8gb3V0OwogCXRhc2tfdW5sb2NrKHRhc2spOwogCXJldHVybiBtbTsKQEAgLTUxOCw3ICs1MTksNyBAQAogCSAqLwogCXRhc2sgPSBnZXRfcHJvY190YXNrKGlub2RlKTsKIAlpZiAodGFzaykgewotCQlhbGxvd2VkID0gcHRyYWNlX21heV9hdHRhY2godGFzayk7CisJCWFsbG93ZWQgPSBwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKTsKIAkJcHV0X3Rhc2tfc3RydWN0KHRhc2spOwogCX0KIAlyZXR1cm4gYWxsb3dlZDsKQEAgLTkwNCw3ICs5MDUsNyBAQAogCWlmICghdGFzaykKIAkJZ290byBvdXRfbm9fdGFzazsKIAotCWlmICghcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKCFwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSkKIAkJZ290byBvdXQ7CiAKIAlyZXQgPSAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZnMvcHJvYy9wcm9jX21pc2MuYyBiL2ZzL3Byb2MvcHJvY19taXNjLmMKaW5kZXggN2UyNzdmMi4uYzY1MmQ0NiAxMDA2NDQKLS0tIGEvZnMvcHJvYy9wcm9jX21pc2MuYworKysgYi9mcy9wcm9jL3Byb2NfbWlzYy5jCkBAIC0xMjMsNiArMTIzLDExIEBACiAJcmV0dXJuIHByb2NfY2FsY19tZXRyaWNzKHBhZ2UsIHN0YXJ0LCBvZmYsIGNvdW50LCBlb2YsIGxlbik7CiB9CiAKK2ludCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgYXJjaF9yZXBvcnRfbWVtaW5mbyhjaGFyICpwYWdlKQoreworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IG1lbWluZm9fcmVhZF9wcm9jKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAogCQkJCSBpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQogewpAQCAtMjIxLDYgKzIyNiw4IEBACiAKIAkJbGVuICs9IGh1Z2V0bGJfcmVwb3J0X21lbWluZm8ocGFnZSArIGxlbik7CiAKKwlsZW4gKz0gYXJjaF9yZXBvcnRfbWVtaW5mbyhwYWdlICsgbGVuKTsKKwogCXJldHVybiBwcm9jX2NhbGNfbWV0cmljcyhwYWdlLCBzdGFydCwgb2ZmLCBjb3VudCwgZW9mLCBsZW4pOwogI3VuZGVmIEsKIH0KQEAgLTQ3Miw2ICs0NzksMTMgQEAKIH07CiAjZW5kaWYKIAorI2lmbmRlZiBhcmNoX2lycV9zdGF0X2NwdQorI2RlZmluZSBhcmNoX2lycV9zdGF0X2NwdShjcHUpIDAKKyNlbmRpZgorI2lmbmRlZiBhcmNoX2lycV9zdGF0CisjZGVmaW5lIGFyY2hfaXJxX3N0YXQoKSAwCisjZW5kaWYKKwogc3RhdGljIGludCBzaG93X3N0YXQoc3RydWN0IHNlcV9maWxlICpwLCB2b2lkICp2KQogewogCWludCBpOwpAQCAtNTA5LDcgKzUyMyw5IEBACiAJCQlzdW0gKz0gdGVtcDsKIAkJCXBlcl9pcnFfc3VtW2pdICs9IHRlbXA7CiAJCX0KKwkJc3VtICs9IGFyY2hfaXJxX3N0YXRfY3B1KGkpOwogCX0KKwlzdW0gKz0gYXJjaF9pcnFfc3RhdCgpOwogCiAJc2VxX3ByaW50ZihwLCAiY3B1ICAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHUgJWxsdVxuIiwKIAkJKHVuc2lnbmVkIGxvbmcgbG9uZyljcHV0aW1lNjRfdG9fY2xvY2tfdCh1c2VyKSwKZGlmZiAtLWdpdCBhL2ZzL3Byb2MvdGFza19tbXUuYyBiL2ZzL3Byb2MvdGFza19tbXUuYwppbmRleCBjNDkyNDQ5Li4xNjRiZDlmIDEwMDY0NAotLS0gYS9mcy9wcm9jL3Rhc2tfbW11LmMKKysrIGIvZnMvcHJvYy90YXNrX21tdS5jCkBAIC0yMTAsNyArMjEwLDcgQEAKIAlkZXZfdCBkZXYgPSAwOwogCWludCBsZW47CiAKLQlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSkKIAkJcmV0dXJuIC1FQUNDRVM7CiAKIAlpZiAoZmlsZSkgewpAQCAtNjQ2LDcgKzY0Niw3IEBACiAJCWdvdG8gb3V0OwogCiAJcmV0ID0gLUVBQ0NFUzsKLQlpZiAoIXB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCWlmICghcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCWdvdG8gb3V0X3Rhc2s7CiAKIAlyZXQgPSAtRUlOVkFMOwpAQCAtNzQ3LDcgKzc0Nyw3IEBACiAJc3RydWN0IHByb2NfbWFwc19wcml2YXRlICpwcml2ID0gbS0+cHJpdmF0ZTsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2sgPSBwcml2LT50YXNrOwogCi0JaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCXJldHVybiAtRUFDQ0VTOwogCiAJcmV0dXJuIHNob3dfbnVtYV9tYXAobSwgdik7CmRpZmYgLS1naXQgYS9mcy9wcm9jL3Rhc2tfbm9tbXUuYyBiL2ZzL3Byb2MvdGFza19ub21tdS5jCmluZGV4IDRiNGY5Y2MuLjVkODRlNzEgMTAwNjQ0Ci0tLSBhL2ZzL3Byb2MvdGFza19ub21tdS5jCisrKyBiL2ZzL3Byb2MvdGFza19ub21tdS5jCkBAIC0xMTMsNyArMTEzLDcgQEAKIAlzdHJ1Y3QgcHJvY19tYXBzX3ByaXZhdGUgKnByaXYgPSBtLT5wcml2YXRlOwogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayA9IHByaXYtPnRhc2s7CiAKLQlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSkKIAkJcmV0dXJuIC1FQUNDRVM7CiAKIAlyZXR1cm4gbm9tbXVfdm1hX3Nob3cobSwgdm1sLT52bWEpOwpkaWZmIC0tZ2l0IGEvZnMvcmFtZnMvZmlsZS1tbXUuYyBiL2ZzL3JhbWZzL2ZpbGUtbW11LmMKaW5kZXggOTU5MGI5MC4uNzhmNjEzYyAxMDA2NDQKLS0tIGEvZnMvcmFtZnMvZmlsZS1tbXUuYworKysgYi9mcy9yYW1mcy9maWxlLW1tdS5jCkBAIC00NSw2ICs0NSw3IEBACiAJLm1tYXAJCT0gZ2VuZXJpY19maWxlX21tYXAsCiAJLmZzeW5jCQk9IHNpbXBsZV9zeW5jX2ZpbGUsCiAJLnNwbGljZV9yZWFkCT0gZ2VuZXJpY19maWxlX3NwbGljZV9yZWFkLAorCS5zcGxpY2Vfd3JpdGUJPSBnZW5lcmljX2ZpbGVfc3BsaWNlX3dyaXRlLAogCS5sbHNlZWsJCT0gZ2VuZXJpY19maWxlX2xsc2VlaywKIH07CiAKZGlmZiAtLWdpdCBhL2ZzL3JhbWZzL2ZpbGUtbm9tbXUuYyBiL2ZzL3JhbWZzL2ZpbGUtbm9tbXUuYwppbmRleCAwOTg5YmMyLi41MjMxMmVjIDEwMDY0NAotLS0gYS9mcy9yYW1mcy9maWxlLW5vbW11LmMKKysrIGIvZnMvcmFtZnMvZmlsZS1ub21tdS5jCkBAIC00Myw2ICs0Myw3IEBACiAJLmFpb193cml0ZQkJPSBnZW5lcmljX2ZpbGVfYWlvX3dyaXRlLAogCS5mc3luYwkJCT0gc2ltcGxlX3N5bmNfZmlsZSwKIAkuc3BsaWNlX3JlYWQJCT0gZ2VuZXJpY19maWxlX3NwbGljZV9yZWFkLAorCS5zcGxpY2Vfd3JpdGUJCT0gZ2VuZXJpY19maWxlX3NwbGljZV93cml0ZSwKIAkubGxzZWVrCQkJPSBnZW5lcmljX2ZpbGVfbGxzZWVrLAogfTsKIApkaWZmIC0tZ2l0IGEvZnMvcmVhZF93cml0ZS5jIGIvZnMvcmVhZF93cml0ZS5jCmluZGV4IGYwZDEyNDAuLjliYTQ5NWQgMTAwNjQ0Ci0tLSBhL2ZzL3JlYWRfd3JpdGUuYworKysgYi9mcy9yZWFkX3dyaXRlLmMKQEAgLTMxLDEyICszMSwxMiBAQAogCiBFWFBPUlRfU1lNQk9MKGdlbmVyaWNfcm9fZm9wcyk7CiAKLWxvZmZfdCBnZW5lcmljX2ZpbGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQorbG9mZl90CitnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQogewogCWxvZmZfdCByZXR2YWw7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfbWFwcGluZy0+aG9zdDsKIAotCW11dGV4X2xvY2soJmlub2RlLT5pX211dGV4KTsKIAlzd2l0Y2ggKG9yaWdpbikgewogCQljYXNlIFNFRUtfRU5EOgogCQkJb2Zmc2V0ICs9IGlub2RlLT5pX3NpemU7CkBAIC00Niw0MiArNDYsMjYgQEAKIAl9CiAJcmV0dmFsID0gLUVJTlZBTDsKIAlpZiAob2Zmc2V0Pj0wICYmIG9mZnNldDw9aW5vZGUtPmlfc2ItPnNfbWF4Ynl0ZXMpIHsKKwkJLyogU3BlY2lhbCBsb2NrIG5lZWRlZCBoZXJlPyAqLwogCQlpZiAob2Zmc2V0ICE9IGZpbGUtPmZfcG9zKSB7CiAJCQlmaWxlLT5mX3BvcyA9IG9mZnNldDsKIAkJCWZpbGUtPmZfdmVyc2lvbiA9IDA7CiAJCX0KIAkJcmV0dmFsID0gb2Zmc2V0OwogCX0KLQltdXRleF91bmxvY2soJmlub2RlLT5pX211dGV4KTsKIAlyZXR1cm4gcmV0dmFsOwogfQorRVhQT1JUX1NZTUJPTChnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKTsKIAotRVhQT1JUX1NZTUJPTChnZW5lcmljX2ZpbGVfbGxzZWVrKTsKLQotbG9mZl90IHJlbW90ZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCitsb2ZmX3QgZ2VuZXJpY19maWxlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKIHsKLQlsb2ZmX3QgcmV0dmFsOwotCi0JbG9ja19rZXJuZWwoKTsKLQlzd2l0Y2ggKG9yaWdpbikgewotCQljYXNlIFNFRUtfRU5EOgotCQkJb2Zmc2V0ICs9IGlfc2l6ZV9yZWFkKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOwotCQkJYnJlYWs7Ci0JCWNhc2UgU0VFS19DVVI6Ci0JCQlvZmZzZXQgKz0gZmlsZS0+Zl9wb3M7Ci0JfQotCXJldHZhbCA9IC1FSU5WQUw7Ci0JaWYgKG9mZnNldD49MCAmJiBvZmZzZXQ8PWZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUtPmlfc2ItPnNfbWF4Ynl0ZXMpIHsKLQkJaWYgKG9mZnNldCAhPSBmaWxlLT5mX3BvcykgewotCQkJZmlsZS0+Zl9wb3MgPSBvZmZzZXQ7Ci0JCQlmaWxlLT5mX3ZlcnNpb24gPSAwOwotCQl9Ci0JCXJldHZhbCA9IG9mZnNldDsKLQl9Ci0JdW5sb2NrX2tlcm5lbCgpOwotCXJldHVybiByZXR2YWw7CisJbG9mZl90IG47CisJbXV0ZXhfbG9jaygmZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUtPmlfbXV0ZXgpOworCW4gPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwltdXRleF91bmxvY2soJmZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX211dGV4KTsKKwlyZXR1cm4gbjsKIH0KLUVYUE9SVF9TWU1CT0wocmVtb3RlX2xsc2Vlayk7CitFWFBPUlRfU1lNQk9MKGdlbmVyaWNfZmlsZV9sbHNlZWspOwogCiBsb2ZmX3Qgbm9fbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQogewpkaWZmIC0tZ2l0IGEvZnMvc21iZnMvZmlsZS5jIGIvZnMvc21iZnMvZmlsZS5jCmluZGV4IGVmYmUyOWEuLjIyOTQ3ODMgMTAwNjQ0Ci0tLSBhL2ZzL3NtYmZzL2ZpbGUuYworKysgYi9mcy9zbWJmcy9maWxlLmMKQEAgLTQyMiw5ICs0MjIsMTggQEAKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK3N0YXRpYyBsb2ZmX3Qgc21iX3JlbW90ZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCit7CisJbG9mZl90IHJldDsKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQorCiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHNtYl9maWxlX29wZXJhdGlvbnMgPQogewotCS5sbHNlZWsJCT0gcmVtb3RlX2xsc2VlaywKKwkubGxzZWVrIAk9IHNtYl9yZW1vdGVfbGxzZWVrLAogCS5yZWFkCQk9IGRvX3N5bmNfcmVhZCwKIAkuYWlvX3JlYWQJPSBzbWJfZmlsZV9haW9fcmVhZCwKIAkud3JpdGUJCT0gZG9fc3luY193cml0ZSwKZGlmZiAtLWdpdCBhL2ZzL3NwbGljZS5jIGIvZnMvc3BsaWNlLmMKaW5kZXggYWE1ZjZmNi4uMzk5NDQyMSAxMDA2NDQKLS0tIGEvZnMvc3BsaWNlLmMKKysrIGIvZnMvc3BsaWNlLmMKQEAgLTM3OSwxMyArMzc5LDIyIEBACiAJCQkJbG9ja19wYWdlKHBhZ2UpOwogCiAJCQkvKgotCQkJICogcGFnZSB3YXMgdHJ1bmNhdGVkLCBzdG9wIGhlcmUuIGlmIHRoaXMgaXNuJ3QgdGhlCi0JCQkgKiBmaXJzdCBwYWdlLCB3ZSdsbCBqdXN0IGNvbXBsZXRlIHdoYXQgd2UgYWxyZWFkeQotCQkJICogYWRkZWQKKwkJCSAqIFBhZ2Ugd2FzIHRydW5jYXRlZCwgb3IgaW52YWxpZGF0ZWQgYnkgdGhlCisJCQkgKiBmaWxlc3lzdGVtLiAgUmVkbyB0aGUgZmluZC9jcmVhdGUsIGJ1dCB0aGlzIHRpbWUgdGhlCisJCQkgKiBwYWdlIGlzIGtlcHQgbG9ja2VkLCBzbyB0aGVyZSdzIG5vIGNoYW5jZSBvZiBhbm90aGVyCisJCQkgKiByYWNlIHdpdGggdHJ1bmNhdGUvaW52YWxpZGF0ZS4KIAkJCSAqLwogCQkJaWYgKCFwYWdlLT5tYXBwaW5nKSB7CiAJCQkJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JCQkJYnJlYWs7CisJCQkJcGFnZSA9IGZpbmRfb3JfY3JlYXRlX3BhZ2UobWFwcGluZywgaW5kZXgsCisJCQkJCQltYXBwaW5nX2dmcF9tYXNrKG1hcHBpbmcpKTsKKworCQkJCWlmICghcGFnZSkgeworCQkJCQllcnJvciA9IC1FTk9NRU07CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZXNbcGFnZV9ucl0pOworCQkJCXBhZ2VzW3BhZ2VfbnJdID0gcGFnZTsKIAkJCX0KIAkJCS8qCiAJCQkgKiBwYWdlIHdhcyBhbHJlYWR5IHVuZGVyIGlvIGFuZCBpcyBub3cgZG9uZSwgZ3JlYXQKZGlmZiAtLWdpdCBhL2ZzL3ZmYXQvbmFtZWkuYyBiL2ZzL3ZmYXQvbmFtZWkuYwppbmRleCBhMzUyMjcyLi5iNTQ2YmE2IDEwMDY0NAotLS0gYS9mcy92ZmF0L25hbWVpLmMKKysrIGIvZnMvdmZhdC9uYW1laS5jCkBAIC02NDUsNyArNjQ1LDcgQEAKIAlpZiAobGVuID09IDApCiAJCXJldHVybiAtRU5PRU5UOwogCi0Jc2xvdHMgPSBrbWFsbG9jKHNpemVvZigqc2xvdHMpICogTVNET1NfU0xPVFMsIEdGUF9LRVJORUwpOworCXNsb3RzID0ga21hbGxvYyhzaXplb2YoKnNsb3RzKSAqIE1TRE9TX1NMT1RTLCBHRlBfTk9GUyk7CiAJaWYgKHNsb3RzID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCkBAIC02ODcsNyArNjg3LDcgQEAKIAlzdHJ1Y3QgZGVudHJ5ICphbGlhczsKIAlpbnQgZXJyLCB0YWJsZTsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJdGFibGUgPSAoTVNET1NfU0Ioc2IpLT5vcHRpb25zLm5hbWVfY2hlY2sgPT0gJ3MnKSA/IDIgOiAwOwogCWRlbnRyeS0+ZF9vcCA9ICZ2ZmF0X2RlbnRyeV9vcHNbdGFibGVdOwogCkBAIC02OTksNyArNjk5LDcgQEAKIAlpbm9kZSA9IGZhdF9idWlsZF9pbm9kZShzYiwgc2luZm8uZGUsIHNpbmZvLmlfcG9zKTsKIAlicmVsc2Uoc2luZm8uYmgpOwogCWlmIChJU19FUlIoaW5vZGUpKSB7Ci0JCXVubG9ja19rZXJuZWwoKTsKKwkJdW5sb2NrX3N1cGVyKHNiKTsKIAkJcmV0dXJuIEVSUl9DQVNUKGlub2RlKTsKIAl9CiAJYWxpYXMgPSBkX2ZpbmRfYWxpYXMoaW5vZGUpOwpAQCAtNzA4LDEzICs3MDgsMTMgQEAKIAkJCWRwdXQoYWxpYXMpOwogCQllbHNlIHsKIAkJCWlwdXQoaW5vZGUpOwotCQkJdW5sb2NrX2tlcm5lbCgpOworCQkJdW5sb2NrX3N1cGVyKHNiKTsKIAkJCXJldHVybiBhbGlhczsKIAkJfQogCiAJfQogZXJyb3I6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJZGVudHJ5LT5kX29wID0gJnZmYXRfZGVudHJ5X29wc1t0YWJsZV07CiAJZGVudHJ5LT5kX3RpbWUgPSBkZW50cnktPmRfcGFyZW50LT5kX2lub2RlLT5pX3ZlcnNpb247CiAJZGVudHJ5ID0gZF9zcGxpY2VfYWxpYXMoaW5vZGUsIGRlbnRyeSk7CkBAIC03MzQsNyArNzM0LDcgQEAKIAlzdHJ1Y3QgdGltZXNwZWMgdHM7CiAJaW50IGVycjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAl0cyA9IENVUlJFTlRfVElNRV9TRUM7CiAJZXJyID0gdmZhdF9hZGRfZW50cnkoZGlyLCAmZGVudHJ5LT5kX25hbWUsIDAsIDAsICZ0cywgJnNpbmZvKTsKQEAgLTc1NSwxNyArNzU1LDE4IEBACiAJZGVudHJ5LT5kX3RpbWUgPSBkZW50cnktPmRfcGFyZW50LT5kX2lub2RlLT5pX3ZlcnNpb247CiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IHZmYXRfcm1kaXIoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBkaXItPmlfc2I7CiAJc3RydWN0IGZhdF9zbG90X2luZm8gc2luZm87CiAJaW50IGVycjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAllcnIgPSBmYXRfZGlyX2VtcHR5KGlub2RlKTsKIAlpZiAoZXJyKQpAQCAtNzgzLDcgKzc4NCw3IEBACiAJaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9hdGltZSA9IENVUlJFTlRfVElNRV9TRUM7CiAJZmF0X2RldGFjaChpbm9kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAtNzkxLDEwICs3OTIsMTEgQEAKIHN0YXRpYyBpbnQgdmZhdF91bmxpbmsoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBkaXItPmlfc2I7CiAJc3RydWN0IGZhdF9zbG90X2luZm8gc2luZm87CiAJaW50IGVycjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAllcnIgPSB2ZmF0X2ZpbmQoZGlyLCAmZGVudHJ5LT5kX25hbWUsICZzaW5mbyk7CiAJaWYgKGVycikKQEAgLTgwNyw3ICs4MDksNyBAQAogCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfYXRpbWUgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWZhdF9kZXRhY2goaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTgyMCw3ICs4MjIsNyBAQAogCXN0cnVjdCB0aW1lc3BlYyB0czsKIAlpbnQgZXJyLCBjbHVzdGVyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCXRzID0gQ1VSUkVOVF9USU1FX1NFQzsKIAljbHVzdGVyID0gZmF0X2FsbG9jX25ld19kaXIoZGlyLCAmdHMpOwpAQCAtODQ5LDEzICs4NTEsMTMgQEAKIAlkZW50cnktPmRfdGltZSA9IGRlbnRyeS0+ZF9wYXJlbnQtPmRfaW5vZGUtPmlfdmVyc2lvbjsKIAlkX2luc3RhbnRpYXRlKGRlbnRyeSwgaW5vZGUpOwogCi0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJcmV0dXJuIDA7CiAKIG91dF9mcmVlOgogCWZhdF9mcmVlX2NsdXN0ZXJzKGRpciwgY2x1c3Rlcik7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJcmV0dXJuIGVycjsKIH0KIApAQCAtODY5LDExICs4NzEsMTIgQEAKIAlzdHJ1Y3QgdGltZXNwZWMgdHM7CiAJbG9mZl90IGRvdGRvdF9pX3BvcywgbmV3X2lfcG9zOwogCWludCBlcnIsIGlzX2RpciwgdXBkYXRlX2RvdGRvdCwgY29ycnVwdCA9IDA7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IG9sZF9kaXItPmlfc2I7CiAKIAlvbGRfc2luZm8uYmggPSBzaW5mby5iaCA9IGRvdGRvdF9iaCA9IE5VTEw7CiAJb2xkX2lub2RlID0gb2xkX2RlbnRyeS0+ZF9pbm9kZTsKIAluZXdfaW5vZGUgPSBuZXdfZGVudHJ5LT5kX2lub2RlOwotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJZXJyID0gdmZhdF9maW5kKG9sZF9kaXIsICZvbGRfZGVudHJ5LT5kX25hbWUsICZvbGRfc2luZm8pOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0OwpAQCAtOTUxLDcgKzk1NCw3IEBACiAJYnJlbHNlKHNpbmZvLmJoKTsKIAlicmVsc2UoZG90ZG90X2JoKTsKIAlicmVsc2Uob2xkX3NpbmZvLmJoKTsKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAogCXJldHVybiBlcnI7CiAKZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfbG9nLmMgYi9mcy94ZnMveGZzX2xvZy5jCmluZGV4IGFmYWVlMzAuLmFkM2QyNmQgMTAwNjQ0Ci0tLSBhL2ZzL3hmcy94ZnNfbG9nLmMKKysrIGIvZnMveGZzL3hmc19sb2cuYwpAQCAtMjQyNywxMyArMjQyNywyMCBAQAogCWlmIChpY2xvZy0+aWNfc2l6ZSAtIGljbG9nLT5pY19vZmZzZXQgPCAyKnNpemVvZih4bG9nX29wX2hlYWRlcl90KSkgewogCQl4bG9nX3N0YXRlX3N3aXRjaF9pY2xvZ3MobG9nLCBpY2xvZywgaWNsb2ctPmljX3NpemUpOwogCi0JCS8qIElmIEknbSB0aGUgb25seSBvbmUgd3JpdGluZyB0byB0aGlzIGljbG9nLCBzeW5jIGl0IHRvIGRpc2sgKi8KLQkJaWYgKGF0b21pY19yZWFkKCZpY2xvZy0+aWNfcmVmY250KSA9PSAxKSB7CisJCS8qCisJCSAqIElmIEknbSB0aGUgb25seSBvbmUgd3JpdGluZyB0byB0aGlzIGljbG9nLCBzeW5jIGl0IHRvIGRpc2suCisJCSAqIFdlIG5lZWQgdG8gZG8gYW4gYXRvbWljIGNvbXBhcmUgYW5kIGRlY3JlbWVudCBoZXJlIHRvIGF2b2lkCisJCSAqIHJhY2luZyB3aXRoIGNvbmN1cnJlbnQgYXRvbWljX2RlY19hbmRfbG9jaygpIGNhbGxzIGluCisJCSAqIHhsb2dfc3RhdGVfcmVsZWFzZV9pY2xvZygpIHdoZW4gdGhlcmUgaXMgbW9yZSB0aGFuIG9uZQorCQkgKiByZWZlcmVuY2UgdG8gdGhlIGljbG9nLgorCQkgKi8KKwkJaWYgKCFhdG9taWNfYWRkX3VubGVzcygmaWNsb2ctPmljX3JlZmNudCwgLTEsIDEpKSB7CisJCQkvKiB3ZSBhcmUgdGhlIG9ubHkgb25lICovCiAJCQlzcGluX3VubG9jaygmbG9nLT5sX2ljbG9nbG9jayk7Ci0JCQlpZiAoKGVycm9yID0geGxvZ19zdGF0ZV9yZWxlYXNlX2ljbG9nKGxvZywgaWNsb2cpKSkKKwkJCWVycm9yID0geGxvZ19zdGF0ZV9yZWxlYXNlX2ljbG9nKGxvZywgaWNsb2cpOworCQkJaWYgKGVycm9yKQogCQkJCXJldHVybiBlcnJvcjsKIAkJfSBlbHNlIHsKLQkJCWF0b21pY19kZWMoJmljbG9nLT5pY19yZWZjbnQpOwogCQkJc3Bpbl91bmxvY2soJmxvZy0+bF9pY2xvZ2xvY2spOwogCQl9CiAJCWdvdG8gcmVzdGFydDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvS2J1aWxkIGIvaW5jbHVkZS9LYnVpbGQKaW5kZXggYjUyMjg4Ny4uYmRjYTE1NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9LYnVpbGQKKysrIGIvaW5jbHVkZS9LYnVpbGQKQEAgLTQsNSArNCw2IEBACiBoZWFkZXIteSArPSBtdGQvCiBoZWFkZXIteSArPSByZG1hLwogaGVhZGVyLXkgKz0gdmlkZW8vCitoZWFkZXIteSArPSBkcm0vCiAKIGhlYWRlci15ICs9IGFzbS0kKEFSQ0gpLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYWxwaGEvc21wLmggYi9pbmNsdWRlL2FzbS1hbHBoYS9zbXAuaAppbmRleCAyODZlMWQ4Li41NDRjNjlhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hbHBoYS9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1hbHBoYS9zbXAuaApAQCAtNDcsMTIgKzQ3LDEzIEBACiBleHRlcm4gaW50IHNtcF9udW1fY3B1czsKICNkZWZpbmUgY3B1X3Bvc3NpYmxlX21hcAljcHVfcHJlc2VudF9tYXAKIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLGludCByZXRyeSwgaW50IHdhaXQsIGNwdW1hc2tfdCBjcHUpOworZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CiAKICNlbHNlIC8qIENPTkZJR19TTVAgKi8KIAogI2RlZmluZSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKQkJMAotI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoZnVuYyxpbmZvLHJldHJ5LHdhaXQsY3B1KSAgICAoeyAwOyB9KQorI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoZnVuYyxpbmZvLHdhaXQsY3B1KSAgICAoeyAwOyB9KQogCiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFfcG1jLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFfcG1jLmgKaW5kZXggYzJiMTNjMi4uMjAwMWU4MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxX3BtYy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MV9wbWMuaApAQCAtMzksMTAgKzM5LDE0IEBACiAjZGVmaW5lCUFUOTFfUE1DX1BDU1IJCShBVDkxX1BNQyArIDB4MTgpCS8qIFBlcmlwaGVyYWwgQ2xvY2sgU3RhdHVzIFJlZ2lzdGVyICovCiAKICNkZWZpbmUJQVQ5MV9DS0dSX1VDS1IJCShBVDkxX1BNQyArIDB4MUMpCS8qIFVUTUkgQ2xvY2sgUmVnaXN0ZXIgW1NBTTlSTCwgQ0FQOV0gKi8KKyNkZWZpbmUJCUFUOTFfUE1DX1VQTExFTgkJKDEgICA8PCAxNikJCS8qIFVUTUkgUExMIEVuYWJsZSAqLworI2RlZmluZQkJQVQ5MV9QTUNfVVBMTENPVU5UCSgweGYgPDwgMjApCQkvKiBVVE1JIFBMTCBTdGFydC11cCBUaW1lICovCisjZGVmaW5lCQlBVDkxX1BNQ19CSUFTRU4JCSgxICAgPDwgMjQpCQkvKiBVVE1JIEJJQVMgRW5hYmxlICovCisjZGVmaW5lCQlBVDkxX1BNQ19CSUFTQ09VTlQJKDB4ZiA8PCAyOCkJCS8qIFVUTUkgUExMIFN0YXJ0LXVwIFRpbWUgKi8KIAogI2RlZmluZQlBVDkxX0NLR1JfTU9SCQkoQVQ5MV9QTUMgKyAweDIwKQkvKiBNYWluIE9zY2lsbGF0b3IgUmVnaXN0ZXIgW25vdCBvbiBTQU05UkxdICovCiAjZGVmaW5lCQlBVDkxX1BNQ19NT1NDRU4JCSgxICAgIDw8IDApCQkvKiBNYWluIE9zY2lsbGF0b3IgRW5hYmxlICovCi0jZGVmaW5lCQlBVDkxX1BNQ19PU0NCWVBBU1MJKDEgICAgPDwgMSkJCS8qIE9zY2lsbGF0b3IgQnlwYXNzIFtBVDkxU0FNOTI2eCBvbmx5XSAqLworI2RlZmluZQkJQVQ5MV9QTUNfT1NDQllQQVNTCSgxICAgIDw8IDEpCQkvKiBPc2NpbGxhdG9yIEJ5cGFzcyBbU0FNOXgsIENBUDldICovCiAjZGVmaW5lCQlBVDkxX1BNQ19PU0NPVU5UCSgweGZmIDw8IDgpCQkvKiBNYWluIE9zY2lsbGF0b3IgU3RhcnQtdXAgVGltZSAqLwogCiAjZGVmaW5lCUFUOTFfQ0tHUl9NQ0ZSCQkoQVQ5MV9QTUMgKyAweDI0KQkvKiBNYWluIENsb2NrIEZyZXF1ZW5jeSBSZWdpc3RlciAqLwpAQCAtOTcsNiArMTAxLDcgQEAKICNkZWZpbmUJCUFUOTFfUE1DX0xPQ0tBCQkoMSA8PCAgMSkJCS8qIFBMTEEgTG9jayAqLwogI2RlZmluZQkJQVQ5MV9QTUNfTE9DS0IJCSgxIDw8ICAyKQkJLyogUExMQiBMb2NrICovCiAjZGVmaW5lCQlBVDkxX1BNQ19NQ0tSRFkJCSgxIDw8ICAzKQkJLyogTWFzdGVyIENsb2NrICovCisjZGVmaW5lCQlBVDkxX1BNQ19MT0NLVQkJKDEgPDwgIDYpCQkvKiBVUExMIExvY2sgW0FUOTFDQVA5IG9ubHldICovCiAjZGVmaW5lCQlBVDkxX1BNQ19QQ0swUkRZCSgxIDw8ICA4KQkJLyogUHJvZ3JhbW1hYmxlIENsb2NrIDAgKi8KICNkZWZpbmUJCUFUOTFfUE1DX1BDSzFSRFkJKDEgPDwgIDkpCQkvKiBQcm9ncmFtbWFibGUgQ2xvY2sgMSAqLwogI2RlZmluZQkJQVQ5MV9QTUNfUENLMlJEWQkoMSA8PCAxMCkJCS8qIFByb2dyYW1tYWJsZSBDbG9jayAyICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5LmgKaW5kZXggYmFjODNhZC4uNmYxNGQ5MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDkuaApAQCAtMTE4LDcgKzExOCw3IEBACiAjZGVmaW5lIEFUOTFDQVA5X1JPTV9TSVpFCSgzMiAqIFNaXzFLKQkvKiBJbnRlcm5hbCBST00gc2l6ZSAoMzJLYikgKi8KIAogI2RlZmluZSBBVDkxQ0FQOV9MQ0RDX0JBU0UJMHgwMDUwMDAwMAkvKiBMQ0QgQ29udHJvbGxlciAqLwotI2RlZmluZSBBVDkxQ0FQOV9VRFBIU19CQVNFCTB4MDA2MDAwMDAJLyogVVNCIEhpZ2ggU3BlZWQgRGV2aWNlIFBvcnQgKi8KKyNkZWZpbmUgQVQ5MUNBUDlfVURQSFNfRklGTwkweDAwNjAwMDAwCS8qIFVTQiBIaWdoIFNwZWVkIERldmljZSBQb3J0ICovCiAjZGVmaW5lIEFUOTFDQVA5X1VIUF9CQVNFCTB4MDA3MDAwMDAJLyogVVNCIEhvc3QgY29udHJvbGxlciAqLwogCiAjZGVmaW5lIENPTkZJR19EUkFNX0JBU0UJQVQ5MV9DSElQU0VMRUNUXzYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDlfbWF0cml4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5X21hdHJpeC5oCmluZGV4IGE2NDE2ODYuLmRkYmQ0ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDlfbWF0cml4LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOV9tYXRyaXguaApAQCAtMTA2LDYgKzEwNiwxMSBAQAogI2RlZmluZSBBVDkxX01QQlMwX1NGUgkJKEFUOTFfTUFUUklYICsgMHgxMTQpCS8qIE1QQmxvY2sgU2xhdmUgMCBTcGVjaWFsIEZ1bmN0aW9uIFJlZ2lzdGVyICovCiAjZGVmaW5lIEFUOTFfTVBCUzFfU0ZSCQkoQVQ5MV9NQVRSSVggKyAweDExQykJLyogTVBCbG9jayBTbGF2ZSAxIFNwZWNpYWwgRnVuY3Rpb24gUmVnaXN0ZXIgKi8KIAorI2RlZmluZSBBVDkxX01BVFJJWF9VRFBIUwkoQVQ5MV9NQVRSSVggKyAweDExOCkJLyogVVNCSFMgU3BlY2lhbCBGdW5jdGlvbiBSZWdpc3RlciBbQVQ5MUNBUDkgb25seV0gKi8KKyNkZWZpbmUJCUFUOTFfTUFUUklYX1NFTEVDVF9VRFBIUwkoMCA8PCAzMSkJLyogc2VsZWN0IEhpZ2ggU3BlZWQgVURQICovCisjZGVmaW5lCQlBVDkxX01BVFJJWF9TRUxFQ1RfVURQCQkoMSA8PCAzMSkJLyogc2VsZWN0IHN0YW5kYXJkIFVEUCAqLworI2RlZmluZQkJQVQ5MV9NQVRSSVhfVURQSFNfQllQQVNTX0xPQ0sJKDEgPDwgMzApCS8qIGJ5cGFzcyBsb2NrIGJpdCAqLworCiAjZGVmaW5lIEFUOTFfTUFUUklYX0VCSUNTQQkoQVQ5MV9NQVRSSVggKyAweDEyMCkJLyogRUJJIENoaXAgU2VsZWN0IEFzc2lnbm1lbnQgUmVnaXN0ZXIgKi8KICNkZWZpbmUJCUFUOTFfTUFUUklYX0VCSV9DUzFBCQkoMSA8PCAxKQkvKiBDaGlwIFNlbGVjdCAxIEFzc2lnbm1lbnQgKi8KICNkZWZpbmUJCQlBVDkxX01BVFJJWF9FQklfQ1MxQV9TTUMJCSgwIDw8IDEpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05MjYwLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05MjYwLmgKaW5kZXggYzg5MzRmZS4uODg5ODcyYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOTI2MC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTkyNjAuaApAQCAtNiw2ICs2LDggQEAKICAqIENvbW1vbiBkZWZpbml0aW9ucy4KICAqIEJhc2VkIG9uIEFUOTFTQU05MjYwIGRhdGFzaGVldCByZXZpc2lvbiBBIChQcmVsaW1pbmFyeSkuCiAgKgorICogSW5jbHVkZXMgYWxzbyBkZWZpbml0aW9ucyBmb3IgQVQ5MVNBTTlYRSBhbmQgQVQ5MVNBTTlHIGZhbWlsaWVzCisgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgpAQCAtMTIzLDUgKzEyNSwxNCBAQAogI2RlZmluZSBBVDkxU0FNOVhFX0ZMQVNIX0JBU0UJMHgwMDIwMDAwMAkvKiBJbnRlcm5hbCBGTEFTSCBiYXNlIGFkZHJlc3MgKi8KICNkZWZpbmUgQVQ5MVNBTTlYRV9TUkFNX0JBU0UJMHgwMDMwMDAwMAkvKiBJbnRlcm5hbCBTUkFNIGJhc2UgYWRkcmVzcyAqLwogCisjZGVmaW5lIEFUOTFTQU05RzIwX1JPTV9CQVNFCTB4MDAxMDAwMDAJLyogSW50ZXJuYWwgUk9NIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBBVDkxU0FNOUcyMF9ST01fU0laRQlTWl8zMksJCS8qIEludGVybmFsIFJPTSBzaXplICgzMktiKSAqLworCisjZGVmaW5lIEFUOTFTQU05RzIwX1NSQU0wX0JBU0UJMHgwMDIwMDAwMAkvKiBJbnRlcm5hbCBTUkFNIDAgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEFUOTFTQU05RzIwX1NSQU0wX1NJWkUJU1pfMTZLCQkvKiBJbnRlcm5hbCBTUkFNIDAgc2l6ZSAoMTZLYikgKi8KKyNkZWZpbmUgQVQ5MVNBTTlHMjBfU1JBTTFfQkFTRQkweDAwMzAwMDAwCS8qIEludGVybmFsIFNSQU0gMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgQVQ5MVNBTTlHMjBfU1JBTTFfU0laRQlTWl8xNksJCS8qIEludGVybmFsIFNSQU0gMSBzaXplICgxNktiKSAqLworCisjZGVmaW5lIEFUOTFTQU05RzIwX1VIUF9CQVNFCTB4MDA1MDAwMDAJLyogVVNCIEhvc3QgY29udHJvbGxlciAqLwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTlybC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOXJsLmgKaW5kZXggMTZkMjgzMi4uNjIyZTU2ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOXJsLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOXJsLmgKQEAgLTExMCw2ICsxMTAsNiBAQAogI2RlZmluZSBBVDkxU0FNOVJMX1JPTV9TSVpFCSgyICogU1pfMTZLKQkvKiBJbnRlcm5hbCBST00gc2l6ZSAoMzJLYikgKi8KIAogI2RlZmluZSBBVDkxU0FNOVJMX0xDRENfQkFTRQkweDAwNTAwMDAwCS8qIExDRCBDb250cm9sbGVyICovCi0jZGVmaW5lIEFUOTFTQU05UkxfVURQSFNfQkFTRQkweDAwNjAwMDAwCS8qIFVTQiBEZXZpY2UgSFMgY29udHJvbGxlciAqLworI2RlZmluZSBBVDkxU0FNOVJMX1VEUEhTX0ZJRk8JMHgwMDYwMDAwMAkvKiBVU0IgRGV2aWNlIEhTIGNvbnRyb2xsZXIgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2JvYXJkLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2JvYXJkLmgKaW5kZXggZGMxODlmMC4uOTRkZTc4OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9ib2FyZC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYm9hcmQuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2xlZHMuaD4KICNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisjaW5jbHVkZSA8bGludXgvdXNiL2F0bWVsX3VzYmFfdWRjLmg+CiAKICAvKiBVU0IgRGV2aWNlICovCiBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSB7CkBAIC00NSw2ICs0Niw5IEBACiB9OwogZXh0ZXJuIHZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV91ZGMoc3RydWN0IGF0OTFfdWRjX2RhdGEgKmRhdGEpOwogCisgLyogVVNCIEhpZ2ggU3BlZWQgRGV2aWNlICovCitleHRlcm4gdm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX3VzYmEoc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSAqZGF0YSk7CisKICAvKiBDb21wYWN0IEZsYXNoICovCiBzdHJ1Y3QgYXQ5MV9jZl9kYXRhIHsKIAl1OAlpcnFfcGluOwkJLyogSS9PIElSUSAqLwpAQCAtNzMsNyArNzcsNyBAQAogfTsKIGV4dGVybiB2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfZXRoKHN0cnVjdCBhdDkxX2V0aF9kYXRhICpkYXRhKTsKIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MykgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOUcyMCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxQ0FQOSkKICNkZWZpbmUgZXRoX3BsYXRmb3JtX2RhdGEJYXQ5MV9ldGhfZGF0YQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvY3B1LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2NwdS5oCmluZGV4IDcxNDUxNjYuLjUyZGY3OTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvY3B1LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9jcHUuaApAQCAtMjEsNiArMjEsNyBAQAogI2RlZmluZSBBUkNIX0lEX0FUOTFTQU05MjYwCTB4MDE5ODAzYTAKICNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOTI2MQkweDAxOTcwM2EwCiAjZGVmaW5lIEFSQ0hfSURfQVQ5MVNBTTkyNjMJMHgwMTk2MDdhMAorI2RlZmluZSBBUkNIX0lEX0FUOTFTQU05RzIwCTB4MDE5OTA1YTAKICNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOVJMNjQJMHgwMTliMDNhMAogI2RlZmluZSBBUkNIX0lEX0FUOTFDQVA5CTB4MDM5QTAzQTAKIApAQCAtNjMsNiArNjQsMTIgQEAKICNkZWZpbmUgY3B1X2lzX2F0OTFzYW05MjYwKCkJKDApCiAjZW5kaWYKIAorI2lmZGVmIENPTkZJR19BUkNIX0FUOTFTQU05RzIwCisjZGVmaW5lIGNwdV9pc19hdDkxc2FtOWcyMCgpCShhdDkxX2NwdV9pZGVudGlmeSgpID09IEFSQ0hfSURfQVQ5MVNBTTlHMjApCisjZWxzZQorI2RlZmluZSBjcHVfaXNfYXQ5MXNhbTlnMjAoKQkoMCkKKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEKICNkZWZpbmUgY3B1X2lzX2F0OTFzYW05MjYxKCkJKGF0OTFfY3B1X2lkZW50aWZ5KCkgPT0gQVJDSF9JRF9BVDkxU0FNOTI2MSkKICNlbHNlCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2hhcmR3YXJlLmgKaW5kZXggMmM4MjZkODIuLjAxNmEzYTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2hhcmR3YXJlLmgKQEAgLTE4LDcgKzE4LDcgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCkKICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxcm05MjAwLmg+Ci0jZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKQorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOUcyMCkKICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOTI2MC5oPgogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSkKICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOTI2MS5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS90aW1leC5oCmluZGV4IGYxOTMzYjAuLjI5OGQ4MzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvdGltZXguaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL3RpbWV4LmgKQEAgLTI3LDE0ICsyNywyOSBAQAogCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFfU0xPV19DTE9DSykKIAotI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSkKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApCisKKyNpZiBkZWZpbmVkKENPTkZJR19NQUNIX1VTQl9BOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfTUFDSF9RSUxfQTkyNjApCisjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5MDAwMDAwMAorI2Vsc2UKKyNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTk5MzAwMDAwCisjZW5kaWYKKworI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCisKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCiAKICNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTk5MzAwMDAwCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKIAogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MykKIAorI2lmIGRlZmluZWQoQ09ORklHX01BQ0hfVVNCX0E5MjYzKQorI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJOTAwMDAwMDAKKyNlbHNlCiAjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5OTk1OTUwMAorI2VuZGlmCisKICNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoQVQ5MVNBTTlfTUFTVEVSX0NMT0NLLzE2KQogCiAjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05UkwpCkBAIC00Miw2ICs1NywxMSBAQAogI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJMTAwMDAwMDAwCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKIAorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOUcyMCkKKworI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJMTMyMDk2MDAwCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKKwogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxQ0FQOSkKIAogI2RlZmluZSBBVDkxQ0FQOV9NQVNURVJfQ0xPQ0sJMTAwMDAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L2hhcmR3YXJlLmgKaW5kZXggZGFhZDhlZS4uNzQ2MTBjMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvaGFyZHdhcmUuaApAQCAtMTQsNyArMTQsNiBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvbWVtb3J5Lmg+CiAKLSNpZmRlZiBDT05GSUdfQVJDSF9GT09UQlJJREdFCiAvKiAgIFZpcnR1YWwgICAgICBQaHlzaWNhbAlTaXplCiAgKiAweGZmODAwMDAwCTB4NDAwMDAwMDAJMU1CCVgtQnVzCiAgKiAweGZmMDAwMDAwCTB4N2MwMDAwMDAJMU1CCVBDSSBJL08gc3BhY2UKQEAgLTUwLDMxICs0OSw2IEBACiAjZGVmaW5lIFBDSU1FTV9TSVpFCQkweDAxMDAwMDAwCiAjZGVmaW5lIFBDSU1FTV9CQVNFCQkweGYwMDAwMDAwCiAKLSNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQ08yODUpCi0vKgotICogVGhpcyBpcyB0aGUgQ09FQlNBMjg1IGN1dC1kb3duIG1hcHBpbmcKLSAqLwotI2RlZmluZSBQQ0lNRU1fU0laRQkJMHg4MDAwMDAwMAotI2RlZmluZSBQQ0lNRU1fQkFTRQkJMHg4MDAwMDAwMAotCi0jZGVmaW5lIFdGTFVTSF9TSVpFCQkweDAxMDAwMDAwCi0jZGVmaW5lIFdGTFVTSF9CQVNFCQkweDdkMDAwMDAwCi0KLSNkZWZpbmUgQVJNQ1NSX1NJWkUJCTB4MDAxMDAwMDAKLSNkZWZpbmUgQVJNQ1NSX0JBU0UJCTB4N2NmMDAwMDAKLQotI2RlZmluZSBYQlVTX1NJWkUJCTB4MDAwMjAwMDAKLSNkZWZpbmUgWEJVU19CQVNFCQkweDdjZWUwMDAwCi0KLSNkZWZpbmUgUENJT19TSVpFCQkweDAwMDEwMDAwCi0jZGVmaW5lIFBDSU9fQkFTRQkJMHg3Y2VkMDAwMAotCi0jZWxzZQotCi0jZXJyb3IgIlVuZGVmaW5lZCBmb290YnJpZGdlIGFyY2hpdGVjdHVyZSIKLQotI2VuZGlmCi0KICNkZWZpbmUgWEJVU19MRURTCQkoKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikoWEJVU19CQVNFICsgMHgxMjAwMCkpCiAjZGVmaW5lIFhCVVNfTEVEX0FNQkVSCQkoMSA8PCAwKQogI2RlZmluZSBYQlVTX0xFRF9HUkVFTgkJKDEgPDwgMSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvbWVtb3J5LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L21lbW9yeS5oCmluZGV4IGNiZDdhZTYuLjkwMTlhM2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvbWVtb3J5LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9tZW1vcnkuaApAQCAtNDIsOCArNDIsNiBAQAogCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfRk9PVEJSSURHRSkKLQogLyogVGFzayBzaXplIGFuZCBwYWdlIG9mZnNldCBhdCAzR0IgKi8KICNkZWZpbmUgVEFTS19TSVpFCQlVTCgweGJmMDAwMDAwKQogI2RlZmluZSBQQUdFX09GRlNFVAkJVUwoMHhjMDAwMDAwMCkKQEAgLTUzLDIzICs1MSw2IEBACiAgKi8KICNkZWZpbmUgRkxVU0hfQkFTRQkJMHhmOTAwMDAwMAogCi0jZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0NPMjg1KQotCi0vKiBUYXNrIHNpemUgYW5kIHBhZ2Ugb2Zmc2V0IGF0IDEuNUdCICovCi0jZGVmaW5lIFRBU0tfU0laRQkJVUwoMHg1ZjAwMDAwMCkKLSNkZWZpbmUgUEFHRV9PRkZTRVQJCVVMKDB4NjAwMDAwMDApCi0KLS8qCi0gKiBDYWNoZSBmbHVzaGluZyBhcmVhLgotICovCi0jZGVmaW5lIEZMVVNIX0JBU0UJCTB4N2UwMDAwMDAKLQotI2Vsc2UKLQotI2Vycm9yICJVbmRlZmluZWQgZm9vdGJyaWRnZSBhcmNoaXRlY3R1cmUiCi0KLSNlbmRpZgotCiAvKgogICogUGh5c2ljYWwgRFJBTSBvZmZzZXQuCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvdm1hbGxvYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS92bWFsbG9jLmgKaW5kZXggMDI1OTgyMC4uZTQ4N2Q3ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS92bWFsbG9jLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS92bWFsbG9jLmgKQEAgLTcsOCArNyw0IEBACiAgKi8KIAogCi0jaWZkZWYgQ09ORklHX0FSQ0hfRk9PVEJSSURHRQogI2RlZmluZSBWTUFMTE9DX0VORCAgICAgICAoUEFHRV9PRkZTRVQgKyAweDMwMDAwMDAwKQotI2Vsc2UKLSNkZWZpbmUgVk1BTExPQ19FTkQgICAgICAgKFBBR0VfT0ZGU0VUICsgMHgyMDAwMDAwMCkKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaGFyZHdhcmUuaAppbmRleCBhZGZmYjZhLi42NTQyY2E1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaGFyZHdhcmUuaApAQCAtNzMsMTQgKzczLDYgQEAKICAqLwogZXh0ZXJuIHZvaWQgaW14X2dwaW9fbW9kZSggaW50IGdwaW9fbW9kZSApOwogCi0vKiBnZXQgZnJlcXVlbmNpZXMgaW4gSHogKi8KLWV4dGVybiB1bnNpZ25lZCBpbnQgaW14X2dldF9zeXN0ZW1fY2xrKHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X21jdV9jbGsodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMSh2b2lkKTsgLyogVUFSVFsxMl0sIFRpbWVyWzEyXSwgUFdNICovCi1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMih2b2lkKTsgLyogTENELCBTRCwgU1BJWzEyXSAgICAgICAgICovCi1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMyh2b2lkKTsgLyogU1NJICAgICAgICAgICAgICAgICAgICAgICovCi1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfaGNsayh2b2lkKTsgICAgLyogU0RSQU0sIENTSSwgTWVtb3J5IFN0aWNrLCovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSTJDLCBETUEgICAgICAgICAgICAgICAgICovCiAjZW5kaWYKIAogI2RlZmluZSBNQVhJUlFOVU0gICAgICAgICAgICAgICAgICAgICAgIDYyCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LWRtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1kbWEuaAppbmRleCA1YjEwNjZkLi40NGQ4OWMzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LWRtYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtZG1hLmgKQEAgLTg4LDcgKzg4LDcgQEAKIAogdm9pZCBpbXhfZG1hX2ZyZWUoaW14X2RtYWNoX3QgZG1hX2NoKTsKIAotaW50IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKGlteF9kbWFjaF90ICpwZG1hX2NoLCBjb25zdCBjaGFyICpuYW1lLCBpbXhfZG1hX3ByaW8gcHJpbyk7CitpbXhfZG1hY2hfdCBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyhjb25zdCBjaGFyICpuYW1lLCBpbXhfZG1hX3ByaW8gcHJpbyk7CiAKIAogI2VuZGlmCS8qIF9BU01fQVJDSF9JTVhfRE1BX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtdWFydC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC11YXJ0LmgKaW5kZXggM2E2ODVlMS4uZDU0ZWIxZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC11YXJ0LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC11YXJ0LmgKQEAgLTQsNiArNCw4IEBACiAjZGVmaW5lIElNWFVBUlRfSEFWRV9SVFNDVFMgKDE8PDApCiAKIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgeworCWludCAoKmluaXQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCXZvaWQgKCpleGl0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiB9OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AxM3h4L2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMTN4eC9kbWEuaAppbmRleCAyZTE1ZGE1My4uZDc5ODQ2ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMTN4eC9kbWEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AxM3h4L2RtYS5oCkBAIC0xLDMgKzEsMyBAQAogI2lmbmRlZiBfSU9QMTNYWF9ETUFfSAotI2RlZmluZSBfSU9QMTNYWF9ETUFfSF8KKyNkZWZpbmUgX0lPUDEzWFhfRE1BX0gKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzJ4L2dwaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMyeC9ncGlvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA4ZjRlYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMyeC9ncGlvLmgKQEAgLTAsMCArMSw2IEBACisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9QMzJYX0dQSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPUDMyWF9HUElPX0gKKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oPgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMzeC9ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzM3gvZ3Bpby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZDU1YmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzM3gvZ3Bpby5oCkBAIC0wLDAgKzEsNiBAQAorI2lmbmRlZiBfX0FTTV9BUkNIX0lPUDMzWF9HUElPX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JT1AzM1hfR1BJT19ICisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaD4KKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvZnNnLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvZnNnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAxMDBjYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9mc2cuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2ZzZy5oCisgKgorICogRnJlZWNvbSBGU0ctMyBwbGF0Zm9ybSBzcGVjaWZpYyBkZWZpbml0aW9ucworICoKKyAqIEF1dGhvcjogUm9kIFdoaXRieSA8cm9kQHdoaXRieS5pZC5hdT4KKyAqIEF1dGhvcjogVG9tYXN6IENobWllbGV3c2tpIDxtYW5nb29Ad3BrZy5vcmc+CisgKiBNYWludGFpbmVyczogaHR0cDovL3d3dy5uc2x1Mi1saW51eC5vcmcKKyAqCisgKiBCYXNlZCBvbiBjb3lvdGUuaCBieQorICogQ29weXJpZ2h0IDIwMDQgKGMpIE1vbnRhVmlzdGEsIFNvZnR3YXJlLCBJbmMuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyICB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0hBUkRXQVJFX0hfXworI2Vycm9yICJEbyBub3QgaW5jbHVkZSB0aGlzIGRpcmVjdGx5LCBpbnN0ZWFkICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4iCisjZW5kaWYKKworI2RlZmluZSBGU0dfU0RBX1BJTgkJMTIKKyNkZWZpbmUgRlNHX1NDTF9QSU4JCTEzCisKKy8qCisgKiBGU0cgUENJIElSUXMKKyAqLworI2RlZmluZSBGU0dfUENJX01BWF9ERVYJCTMKKyNkZWZpbmUgRlNHX1BDSV9JUlFfTElORVMJMworCisKKy8qIFBDSSBjb250cm9sbGVyIEdQSU8gdG8gSVJRIHBpbiBtYXBwaW5ncyAqLworI2RlZmluZSBGU0dfUENJX0lOVEFfUElOCTYKKyNkZWZpbmUgRlNHX1BDSV9JTlRCX1BJTgk3CisjZGVmaW5lIEZTR19QQ0lfSU5UQ19QSU4JNQorCisvKiBCdXR0b25zICovCisKKyNkZWZpbmUgRlNHX1NCX0dQSU8JCTQJLyogc3luYyBidXR0b24gKi8KKyNkZWZpbmUgRlNHX1JCX0dQSU8JCTkJLyogcmVzZXQgYnV0dG9uICovCisjZGVmaW5lIEZTR19VQl9HUElPCQkxMAkvKiB1c2IgYnV0dG9uICovCisKKy8qIExFRHMgKi8KKworI2RlZmluZSBGU0dfTEVEX1dMQU5fQklUCTAKKyNkZWZpbmUgRlNHX0xFRF9XQU5fQklUCQkxCisjZGVmaW5lIEZTR19MRURfU0FUQV9CSVQJMgorI2RlZmluZSBGU0dfTEVEX1VTQl9CSVQJCTQKKyNkZWZpbmUgRlNHX0xFRF9SSU5HX0JJVAk1CisjZGVmaW5lIEZTR19MRURfU1lOQ19CSVQJNwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaGFyZHdhcmUuaAppbmRleCA3M2U4ZGMzLi5mYTcyM2E2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaGFyZHdhcmUuaApAQCAtNDUsNSArNDUsNiBAQAogI2luY2x1ZGUgIm5zbHUyLmgiCiAjaW5jbHVkZSAibmFzMTAwZC5oIgogI2luY2x1ZGUgImRzbWc2MDAuaCIKKyNpbmNsdWRlICJmc2cuaCIKIAogI2VuZGlmICAvKiBfQVNNX0FSQ0hfSEFSRFdBUkVfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9pcnFzLmgKaW5kZXggMTE4MDE2MC4uNjc0YWY0YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2lycXMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaXJxcy5oCkBAIC0xMjgsNCArMTI4LDExIEBACiAjZGVmaW5lICAgICAgICBJUlFfRFNNRzYwMF9QQ0lfSU5URSAgICBJUlFfSVhQNFhYX0dQSU83CiAjZGVmaW5lICAgICAgICBJUlFfRFNNRzYwMF9QQ0lfSU5URiAgICBJUlFfSVhQNFhYX0dQSU82CiAKKy8qCisgKiBGcmVlY29tIEZTRy0zIEJvYXJkIElSUXMKKyAqLworI2RlZmluZSAgICAgICAgSVJRX0ZTR19QQ0lfSU5UQSAgICAgICAgSVJRX0lYUDRYWF9HUElPNgorI2RlZmluZSAgICAgICAgSVJRX0ZTR19QQ0lfSU5UQiAgICAgICAgSVJRX0lYUDRYWF9HUElPNworI2RlZmluZSAgICAgICAgSVJRX0ZTR19QQ0lfSU5UQyAgICAgICAgSVJRX0lYUDRYWF9HUElPNQorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RlYnVnLW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kZWJ1Zy1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1NWZiOGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kZWJ1Zy1tYWNyby5TCkBAIC0wLDAgKzEsMjAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kZWJ1Zy1tYWNyby5TCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorCisJLm1hY3JvCWFkZHJ1YXJ0LHJ4CisJbXJjCXAxNSwgMCwgXHJ4LCBjMSwgYzAKKwl0c3QJXHJ4LCAjMQkJCQkJQCBNTVUgZW5hYmxlZD8KKwlsZHJlcQlccngsID1LSVJLV09PRF9SRUdTX1BIWVNfQkFTRQorCWxkcm5lCVxyeCwgPUtJUktXT09EX1JFR1NfVklSVF9CQVNFCisJb3JyCVxyeCwgXHJ4LCAjMHgwMDAxMjAwMAorCS5lbmRtCisKKyNkZWZpbmUgVUFSVF9TSElGVAkyCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2RlYnVnLTgyNTAuUz4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZG1hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhOGMxNwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RtYS5oCkBAIC0wLDAgKzEgQEAKKy8qIGVtcHR5ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9lbnRyeS1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZW50cnktbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzZhNDNkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZW50cnktbWFjcm8uUwpAQCAtMCwwICsxLDQwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZW50cnktbWFjcm8uUworICoKKyAqIExvdy1sZXZlbCBJUlEgaGVscGVyIG1hY3JvcyBmb3IgTWFydmVsbCBLaXJrd29vZCBwbGF0Zm9ybXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKworCS5tYWNybyAgZGlzYWJsZV9maXEKKwkuZW5kbQorCisJLm1hY3JvICBhcmNoX3JldF90b191c2VyLCB0bXAxLCB0bXAyCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX3ByZWFtYmxlLCBiYXNlLCB0bXAKKwlsZHIJXGJhc2UsID1JUlFfVklSVF9CQVNFCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX2FuZF9iYXNlLCBpcnFuciwgaXJxc3RhdCwgYmFzZSwgdG1wCisJQCBjaGVjayBsb3cgaW50ZXJydXB0cworCWxkcglcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX0xPV19PRkZdCisJbGRyCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX0xPV19PRkZdCisJbW92CVxpcnFuciwgIzMxCisJYW5kcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKwlibmUJMTAwMWYKKworCUAgaWYgbm8gbG93IGludGVycnVwdHMgc2V0LCBjaGVjayBoaWdoIGludGVycnVwdHMKKwlsZHIJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9ISUdIX09GRl0KKwlsZHIJXHRtcCwgW1xiYXNlLCAjSVJRX01BU0tfSElHSF9PRkZdCisJbW92CVxpcnFuciwgIzYzCisJYW5kcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKworCUAgZmluZCBmaXJzdCBhY3RpdmUgaW50ZXJydXB0IHNvdXJjZQorMTAwMToJY2x6bmUJXGlycXN0YXQsIFxpcnFzdGF0CisJc3VibmUJXGlycW5yLCBcaXJxbnIsIFxpcnFzdGF0CisJLmVuZG0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9oYXJkd2FyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OTU3MTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9oYXJkd2FyZS5oCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9oYXJkd2FyZS5oCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorI2RlZmluZSBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKworI2luY2x1ZGUgImtpcmt3b29kLmgiCisKKyNkZWZpbmUgcGNpYmlvc19hc3NpZ25fYWxsX2J1c3NlcygpCTEKKworI2RlZmluZSBQQ0lCSU9TX01JTl9JTwkJCTB4MDAwMDEwMDAKKyNkZWZpbmUgUENJQklPU19NSU5fTUVNCQkJMHgwMTAwMDAwMAorI2RlZmluZSBQQ0lNRU1fQkFTRQkJCUtJUktXT09EX1BDSUVfTUVNX1BIWVNfQkFTRSAvKiBtZW0gYmFzZSBmb3IgVkdBICovCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWY2ZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaW8uaApAQCAtMCwwICsxLDI2IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaW8uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JT19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSU9fSAorCisjaW5jbHVkZSAia2lya3dvb2QuaCIKKworI2RlZmluZSBJT19TUEFDRV9MSU1JVAkJMHhmZmZmZmZmZgorCitzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19pbyh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKikoKGFkZHIgLSBLSVJLV09PRF9QQ0lFX0lPX1BIWVNfQkFTRSkKKwkJCQkJKyBLSVJLV09PRF9QQ0lFX0lPX1ZJUlRfQkFTRSk7Cit9CisKKyNkZWZpbmUgX19pbyhhKQkJCV9faW8oYSkKKyNkZWZpbmUgX19tZW1fcGNpKGEpCQkoYSkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lycXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTdiNWRhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaXJxcy5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pcnFzLmgKKyAqCisgKiBJUlEgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgS2lya3dvb2QgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JUlFTX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JUlFTX0gKKworI2luY2x1ZGUgImtpcmt3b29kLmgiCS8qIG5lZWQgR1BJT19NQVggKi8KKworLyoKKyAqIExvdyBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9LSVJLV09PRF9ISUdIX1NVTQkwCisjZGVmaW5lIElSUV9LSVJLV09PRF9CUklER0UJMQorI2RlZmluZSBJUlFfS0lSS1dPT0RfSE9TVDJDUFUJMgorI2RlZmluZSBJUlFfS0lSS1dPT0RfQ1BVMkhPU1QJMworI2RlZmluZSBJUlFfS0lSS1dPT0RfWE9SXzAwCTUKKyNkZWZpbmUgSVJRX0tJUktXT09EX1hPUl8wMQk2CisjZGVmaW5lIElSUV9LSVJLV09PRF9YT1JfMTAJNworI2RlZmluZSBJUlFfS0lSS1dPT0RfWE9SXzExCTgKKyNkZWZpbmUgSVJRX0tJUktXT09EX1BDSUUJOQorI2RlZmluZSBJUlFfS0lSS1dPT0RfR0UwMF9TVU0JMTEKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dFMDFfU1VNCTE1CisjZGVmaW5lIElSUV9LSVJLV09PRF9VU0IJMTkKKyNkZWZpbmUgSVJRX0tJUktXT09EX1NBVEEJMjEKKyNkZWZpbmUgSVJRX0tJUktXT09EX0NSWVBUTwkyMgorI2RlZmluZSBJUlFfS0lSS1dPT0RfU1BJCTIzCisjZGVmaW5lIElSUV9LSVJLV09PRF9JMlMJMjQKKyNkZWZpbmUgSVJRX0tJUktXT09EX1RTXzAJMjYKKyNkZWZpbmUgSVJRX0tJUktXT09EX1NESU8JMjgKKyNkZWZpbmUgSVJRX0tJUktXT09EX1RXU0kJMjkKKyNkZWZpbmUgSVJRX0tJUktXT09EX0FWQgkzMAorI2RlZmluZSBJUlFfS0lSS1dPT0RfVERNSQkzMQorCisvKgorICogSGlnaCBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9LSVJLV09PRF9VQVJUXzAJMzMKKyNkZWZpbmUgSVJRX0tJUktXT09EX1VBUlRfMQkzNAorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19MT1dfMF83CTM1CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0xPV184XzE1CTM2CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0xPV18xNl8yMwkzNworI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19MT1dfMjRfMzEJMzgKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fSElHSF8wXzcJMzkKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fSElHSF84XzE1CTQwCisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0hJR0hfMTZfMjMJNDEKKworLyoKKyAqIEtJUktXT09EIEdlbmVyYWwgUHVycG9zZSBQaW5zCisgKi8KKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fU1RBUlQJNjQKKyNkZWZpbmUgTlJfR1BJT19JUlFTCQlHUElPX01BWAorCisjZGVmaW5lIE5SX0lSUVMJCQkoSVJRX0tJUktXT09EX0dQSU9fU1RBUlQgKyBOUl9HUElPX0lSUVMpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9raXJrd29vZC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qva2lya3dvb2QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjMxYjMxNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2tpcmt3b29kLmgKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9raXJrd29vZC5oCisgKgorICogR2VuZXJpYyBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0MgZmxhdm9yczoKKyAqICA4OEY2MTgwLCA4OEY2MTkyIGFuZCA4OEY2MjgxLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9LSVJLV09PRF9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfS0lSS1dPT0RfSAorCisvKgorICogTWFydmVsbCBLaXJrd29vZCBhZGRyZXNzIG1hcHMuCisgKgorICogcGh5cworICogZTAwMDAwMDAJUENJZSBNZW1vcnkgc3BhY2UKKyAqIGYxMDAwMDAwCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqIGYyMDAwMDAwCVBDSWUgSS9PIHNwYWNlCisgKiBmMzAwMDAwMAlOQU5EIGNvbnRyb2xsZXIgYWRkcmVzcyB3aW5kb3cKKyAqCisgKiB2aXJ0CQlwaHlzCQlzaXplCisgKiBmZWUwMDAwMAlmMTAwMDAwMAkxTQlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBmZWYwMDAwMAlmMjAwMDAwMAkxTQlQQ0llIEkvTyBzcGFjZQorICovCisKKyNkZWZpbmUgS0lSS1dPT0RfTkFORF9NRU1fUEhZU19CQVNFCTB4ZjMwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfTkFORF9NRU1fU0laRQkJU1pfNjRLIC8qIDFLIGlzIHN1ZmZpY2llbnQsIGJ1dCA2NEsKKwkJCQkJCSogaXMgdGhlIG1pbmltYWwgd2luZG93IHNpemUKKwkJCQkJCSovCisKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9JT19QSFlTX0JBU0UJMHhmMjAwMDAwMAorI2RlZmluZSBLSVJLV09PRF9QQ0lFX0lPX1ZJUlRfQkFTRQkweGZlZjAwMDAwCisjZGVmaW5lIEtJUktXT09EX1BDSUVfSU9fQlVTX0JBU0UJMHgwMDAwMDAwMAorI2RlZmluZSBLSVJLV09PRF9QQ0lFX0lPX1NJWkUJCVNaXzFNCisKKyNkZWZpbmUgS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UJCTB4ZjEwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UJCTB4ZmVlMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUkVHU19TSVpFCQlTWl8xTQorCisjZGVmaW5lIEtJUktXT09EX1BDSUVfTUVNX1BIWVNfQkFTRQkweGUwMDAwMDAwCisjZGVmaW5lIEtJUktXT09EX1BDSUVfTUVNX1NJWkUJCVNaXzEyOE0KKworLyoKKyAqIE1CVVMgYnJpZGdlIHJlZ2lzdGVycy4KKyAqLworI2RlZmluZSBCUklER0VfVklSVF9CQVNFCShLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSB8IDB4MjAwMDApCisjZGVmaW5lICBDUFVfQ09OVFJPTAkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDQpCisjZGVmaW5lICAgQ1BVX1JFU0VUCQkweDAwMDAwMDAyCisjZGVmaW5lICBSU1RPVVRuX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA4KQorI2RlZmluZSAgIFNPRlRfUkVTRVRfT1VUX0VOCTB4MDAwMDAwMDQKKyNkZWZpbmUgIFNZU1RFTV9TT0ZUX1JFU0VUCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTBjKQorI2RlZmluZSAgIFNPRlRfUkVTRVQJCTB4MDAwMDAwMDEKKyNkZWZpbmUgIEJSSURHRV9DQVVTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTApCisjZGVmaW5lICBCUklER0VfTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTQpCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjAJMHgwMDAyCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjEJMHgwMDA0CisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjFfQ0xSCSh+MHgwMDA0KQorI2RlZmluZSAgSVJRX1ZJUlRfQkFTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAyMDApCisjZGVmaW5lICAgSVJRX0NBVVNFX0xPV19PRkYJMHgwMDAwCisjZGVmaW5lICAgSVJRX01BU0tfTE9XX09GRgkweDAwMDQKKyNkZWZpbmUgICBJUlFfQ0FVU0VfSElHSF9PRkYJMHgwMDEwCisjZGVmaW5lICAgSVJRX01BU0tfSElHSF9PRkYJMHgwMDE0CisjZGVmaW5lICBUSU1FUl9WSVJUX0JBU0UJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAzMDApCisjZGVmaW5lICBMMl9DT05GSUdfUkVHCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEyOCkKKyNkZWZpbmUgICBMMl9XUklURVRIUk9VR0gJMHgwMDAwMDAxMAorCisvKgorICogUmVnaXN0ZXIgTWFwCisgKi8KKyNkZWZpbmUgRERSX1ZJUlRfQkFTRQkJKEtJUktXT09EX1JFR1NfVklSVF9CQVNFIHwgMHgwMDAwMCkKKyNkZWZpbmUgIEREUl9XSU5ET1dfQ1BVX0JBU0UJKEREUl9WSVJUX0JBU0UgfCAweDE1MDApCisKKyNkZWZpbmUgREVWX0JVU19QSFlTX0JBU0UJKEtJUktXT09EX1JFR1NfUEhZU19CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgREVWX0JVU19WSVJUX0JBU0UJKEtJUktXT09EX1JFR1NfVklSVF9CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgIFNBTVBMRV9BVF9SRVNFVAkoREVWX0JVU19WSVJUX0JBU0UgfCAweDAwMzApCisjZGVmaW5lICBERVZJQ0VfSUQJCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MDAzNCkKKyNkZWZpbmUgIFJUQ19QSFlTX0JBU0UJCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MDMwMCkKKyNkZWZpbmUgIFNQSV9QSFlTX0JBU0UJCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MDYwMCkKKyNkZWZpbmUgIFVBUlQwX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMF9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDFfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjEwMCkKKyNkZWZpbmUgIFVBUlQxX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIxMDApCisKKyNkZWZpbmUgUENJRV9WSVJUX0JBU0UJCShLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSB8IDB4NDAwMDApCisKKyNkZWZpbmUgVVNCX1BIWVNfQkFTRQkJKEtJUktXT09EX1JFR1NfUEhZU19CQVNFIHwgMHg1MDAwMCkKKworI2RlZmluZSBHRTAwX1BIWVNfQkFTRQkJKEtJUktXT09EX1JFR1NfUEhZU19CQVNFIHwgMHg3MDAwMCkKKyNkZWZpbmUgR0UwMV9QSFlTX0JBU0UJCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4NzQwMDApCisKKyNkZWZpbmUgU0FUQV9QSFlTX0JBU0UJCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4ODAwMDApCisKKworI2RlZmluZSBHUElPX01BWAkJNTAKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL21lbW9yeS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvbWVtb3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUxMDhmNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL21lbW9yeS5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9tZW1vcnkuaAorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NRU1PUllfSAorI2RlZmluZSBfX0FTTV9BUkNIX01FTU9SWV9ICisKKyNkZWZpbmUgUEhZU19PRkZTRVQJCVVMKDB4MDAwMDAwMDApCisKKyNkZWZpbmUgX192aXJ0X3RvX2J1cyh4KQlfX3ZpcnRfdG9fcGh5cyh4KQorI2RlZmluZSBfX2J1c190b192aXJ0KHgpCV9fcGh5c190b192aXJ0KHgpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9zeXN0ZW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3N5c3RlbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZGU3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9zeXN0ZW0uaApAQCAtMCwwICsxLDM3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvc3lzdGVtLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKyNkZWZpbmUgX19BU01fQVJDSF9TWVNURU1fSAorCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9pZGxlKHZvaWQpCit7CisJY3B1X2RvX2lkbGUoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfcmVzZXQoY2hhciBtb2RlKQoreworCS8qCisJICogRW5hYmxlIHNvZnQgcmVzZXQgdG8gYXNzZXJ0IFJTVE9VVG4uCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVRfT1VUX0VOLCBSU1RPVVRuX01BU0spOworCisJLyoKKwkgKiBBc3NlcnQgc29mdCByZXNldC4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVCwgU1lTVEVNX1NPRlRfUkVTRVQpOworCisJd2hpbGUgKDEpCisJCTsKK30KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3RpbWV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC90aW1leC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMTIyZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC90aW1leC5oCkBAIC0wLDAgKzEsMTEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC90aW1leC5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCSgxMDAgKiBIWikKKworI2RlZmluZSBLSVJLV09PRF9UQ0xLCQkxNjY2NjY2NjcKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3VuY29tcHJlc3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3VuY29tcHJlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTA2MmI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdW5jb21wcmVzcy5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC91bmNvbXByZXNzLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisKKyNkZWZpbmUgU0VSSUFMX0JBU0UJKCh1bnNpZ25lZCBjaGFyICopVUFSVDBfUEhZU19CQVNFKQorCitzdGF0aWMgdm9pZCBwdXRjKGNvbnN0IGNoYXIgYykKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBVQVJUX0xTUl9USFJFKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9CisKKwliYXNlW1VBUlRfVFggPDwgMl0gPSBjOworfQorCitzdGF0aWMgdm9pZCBmbHVzaCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwl1bnNpZ25lZCBjaGFyIG1hc2s7CisJaW50IGk7CisKKwltYXNrID0gVUFSVF9MU1JfVEVNVCB8IFVBUlRfTFNSX1RIUkU7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKChiYXNlW1VBUlRfTFNSIDw8IDJdICYgbWFzaykgPT0gbWFzaykKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorfQorCisvKgorICogbm90aGluZyB0byBkbworICovCisjZGVmaW5lIGFyY2hfZGVjb21wX3NldHVwKCkKKyNkZWZpbmUgYXJjaF9kZWNvbXBfd2RvZygpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC92bWFsbG9jLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC92bWFsbG9jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE4NTJjNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3ZtYWxsb2MuaApAQCAtMCwwICsxLDUgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC92bWFsbG9jLmgKKyAqLworCisjZGVmaW5lIFZNQUxMT0NfRU5ECTB4ZmU4MDAwMDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZGVidWctbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZGVidWctbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODU1MDJlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kZWJ1Zy1tYWNyby5TCkBAIC0wLDAgKzEsMjAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RlYnVnLW1hY3JvLlMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKworCS5tYWNybwlhZGRydWFydCxyeAorCW1yYwlwMTUsIDAsIFxyeCwgYzEsIGMwCisJdHN0CVxyeCwgIzEJCQkJCUAgTU1VIGVuYWJsZWQ/CisJbGRyZXEJXHJ4LCA9TE9LSV9SRUdTX1BIWVNfQkFTRQorCWxkcm5lCVxyeCwgPUxPS0lfUkVHU19WSVJUX0JBU0UKKwlvcnIJXHJ4LCBccngsICMweDAwMDEyMDAwCisJLmVuZG0KKworI2RlZmluZSBVQVJUX1NISUZUCTIKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUvZGVidWctODI1MC5TPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZG1hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhOGMxNwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZG1hLmgKQEAgLTAsMCArMSBAQAorLyogZW1wdHkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZW50cnktbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZW50cnktbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTMyNTdjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9lbnRyeS1tYWNyby5TCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2VudHJ5LW1hY3JvLlMKKyAqCisgKiBMb3ctbGV2ZWwgSVJRIGhlbHBlciBtYWNyb3MgZm9yIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIHBsYXRmb3JtcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisKKwkubWFjcm8gIGRpc2FibGVfZmlxCisJLmVuZG0KKworCS5tYWNybyAgYXJjaF9yZXRfdG9fdXNlciwgdG1wMSwgdG1wMgorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9wcmVhbWJsZSwgYmFzZSwgdG1wCisJbGRyCVxiYXNlLCA9SVJRX1ZJUlRfQkFTRQorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9hbmRfYmFzZSwgaXJxbnIsIGlycXN0YXQsIGJhc2UsIHRtcAorCWxkcglcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX09GRl0KKwlsZHIJXHRtcCwgW1xiYXNlLCAjSVJRX01BU0tfT0ZGXQorCW1vdglcaXJxbnIsICMwCisJYW5kcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKwljbHpuZQlcaXJxbnIsIFxpcnFzdGF0CisJcnNibmUJXGlycW5yLCBcaXJxbnIsICMzMQorCS5lbmRtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2hhcmR3YXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY1YjAxYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaGFyZHdhcmUuaApAQCAtMCwwICsxLDE1IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9oYXJkd2FyZS5oCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorI2RlZmluZSBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKworI2luY2x1ZGUgImxva2kuaCIKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzQxOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pby5oCkBAIC0wLDAgKzEsMjYgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lvLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPX0gKKworI2luY2x1ZGUgImxva2kuaCIKKworI2RlZmluZSBJT19TUEFDRV9MSU1JVAkJMHhmZmZmZmZmZgorCitzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19pbyh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKikoKGFkZHIgLSBMT0tJX1BDSUUwX0lPX1BIWVNfQkFTRSkKKwkJCQkJKyBMT0tJX1BDSUUwX0lPX1ZJUlRfQkFTRSk7Cit9CisKKyNkZWZpbmUgX19pbyhhKQkJCV9faW8oYSkKKyNkZWZpbmUgX19tZW1fcGNpKGEpCQkoYSkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pcnFzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U0OTcxNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaXJxcy5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lycXMuaAorICoKKyAqIElSUSBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JUlFTX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JUlFTX0gKKworI2luY2x1ZGUgImxva2kuaCIJLyogbmVlZCBHUElPX01BWCAqLworCisvKgorICogSW50ZXJydXB0IENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0FfQ1BVX0RSQkwJMAorI2RlZmluZSBJUlFfTE9LSV9DUFVfUENJRV9BX0RSQkwJMQorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0JfQ1BVX0RSQkwJMgorI2RlZmluZSBJUlFfTE9LSV9DUFVfUENJRV9CX0RSQkwJMworI2RlZmluZSBJUlFfTE9LSV9DT01fQV9FUlIJCTYKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0FfSU4JCTcKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0FfT1VUCQk4CisjZGVmaW5lIElSUV9MT0tJX0NPTV9CX0VSUgkJOQorI2RlZmluZSBJUlFfTE9LSV9DT01fQl9JTgkJMTAKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0JfT1VUCQkxMQorI2RlZmluZSBJUlFfTE9LSV9ETUFfQQkJCTEyCisjZGVmaW5lIElSUV9MT0tJX0RNQV9CCQkJMTMKKyNkZWZpbmUgSVJRX0xPS0lfU0FTX0EJCQkxNAorI2RlZmluZSBJUlFfTE9LSV9TQVNfQgkJCTE1CisjZGVmaW5lIElSUV9MT0tJX0REUgkJCTE2CisjZGVmaW5lIElSUV9MT0tJX1hPUgkJCTE3CisjZGVmaW5lIElSUV9MT0tJX0JSSURHRQkJCTE4CisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQV9FUlIJCTIwCisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQV9JTlQJCTIxCisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQl9FUlIJCTIyCisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQl9JTlQJCTIzCisjZGVmaW5lIElSUV9MT0tJX0dCRV9BX0lOVAkJMjQKKyNkZWZpbmUgSVJRX0xPS0lfR0JFX0JfSU5UCQkyNQorI2RlZmluZSBJUlFfTE9LSV9ERVZfRVJSCQkyNgorI2RlZmluZSBJUlFfTE9LSV9VQVJUMAkJCTI3CisjZGVmaW5lIElSUV9MT0tJX1VBUlQxCQkJMjgKKyNkZWZpbmUgSVJRX0xPS0lfVFdTSQkJCTI5CisjZGVmaW5lIElSUV9MT0tJX0dQSU9fMjNfMAkJMzAKKyNkZWZpbmUgSVJRX0xPS0lfR1BJT18yNV8yNAkJMzEKKworLyoKKyAqIExva2kgR2VuZXJhbCBQdXJwb3NlIFBpbnMKKyAqLworI2RlZmluZSBJUlFfTE9LSV9HUElPX1NUQVJUCTMyCisjZGVmaW5lIE5SX0dQSU9fSVJRUwkJR1BJT19NQVgKKworI2RlZmluZSBOUl9JUlFTCQkJKElSUV9MT0tJX0dQSU9fU1RBUlQgKyBOUl9HUElPX0lSUVMpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2xva2kuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbG9raS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZDA1ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2xva2kuaApAQCAtMCwwICsxLDk3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9sb2tpLmgKKyAqCisgKiBHZW5lcmljIGRlZmluaXRpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0MgZmxhdm9ycworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9MT0tJX0gKKyNkZWZpbmUgX19BU01fQVJDSF9MT0tJX0gKKworLyoKKyAqIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIGFkZHJlc3MgbWFwcy4KKyAqCisgKiBwaHlzCisgKiBkMDAwMDAwMAlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBlMDAwMDAwMAlQQ0llIDAgTWVtb3J5IHNwYWNlCisgKiBlODAwMDAwMAlQQ0llIDEgTWVtb3J5IHNwYWNlCisgKiBmMDAwMDAwMAlQQ0llIDAgSS9PIHNwYWNlCisgKiBmMDEwMDAwMAlQQ0llIDEgSS9PIHNwYWNlCisgKgorICogdmlydAkJcGh5cwkJc2l6ZQorICogZmVkMDAwMDAJZDAwMDAwMDAJMU0Jb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICogZmVlMDAwMDAJZjAwMDAwMDAJNjRLCVBDSWUgMCBJL08gc3BhY2UKKyAqIGZlZjAwMDAwCWYwMTAwMDAwCTY0SwlQQ0llIDEgSS9PIHNwYWNlCisgKi8KKworI2RlZmluZSBMT0tJX1JFR1NfUEhZU19CQVNFCQkweGQwMDAwMDAwCisjZGVmaW5lIExPS0lfUkVHU19WSVJUX0JBU0UJCTB4ZmVkMDAwMDAKKyNkZWZpbmUgTE9LSV9SRUdTX1NJWkUJCQlTWl8xTQorCisjZGVmaW5lIExPS0lfUENJRTBfSU9fUEhZU19CQVNFCQkweGYwMDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTBfSU9fVklSVF9CQVNFCQkweGZlZTAwMDAwCisjZGVmaW5lIExPS0lfUENJRTBfSU9fQlVTX0JBU0UJCTB4MDAwMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMF9JT19TSVpFCQlTWl82NEsKKworI2RlZmluZSBMT0tJX1BDSUUxX0lPX1BIWVNfQkFTRQkJMHhmMDEwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUxX0lPX1ZJUlRfQkFTRQkJMHhmZWYwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUxX0lPX0JVU19CQVNFCQkweDAwMDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTFfSU9fU0laRQkJU1pfNjRLCisKKyNkZWZpbmUgTE9LSV9QQ0lFMF9NRU1fUEhZU19CQVNFCTB4ZTAwMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMF9NRU1fU0laRQkJU1pfMTI4TQorCisjZGVmaW5lIExPS0lfUENJRTFfTUVNX1BIWVNfQkFTRQkweGU4MDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTFfTUVNX1NJWkUJCVNaXzEyOE0KKworLyoKKyAqIFJlZ2lzdGVyIE1hcAorICovCisjZGVmaW5lIERFVl9CVVNfUEhZU19CQVNFCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgREVWX0JVU19WSVJUX0JBU0UJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSAgVUFSVDBfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQwX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMV9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMTAwKQorI2RlZmluZSAgVUFSVDFfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjEwMCkKKworI2RlZmluZSBCUklER0VfVklSVF9CQVNFCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHgyMDAwMCkKKyNkZWZpbmUgIEJSSURHRV9SRUcoeCkJCShCUklER0VfVklSVF9CQVNFIHwgKHgpKQorI2RlZmluZSAgUlNUT1VUbl9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwOCkKKyNkZWZpbmUgICBTT0ZUX1JFU0VUX09VVF9FTgkweDAwMDAwMDA0CisjZGVmaW5lICBTWVNURU1fU09GVF9SRVNFVAkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwYykKKyNkZWZpbmUgICBTT0ZUX1JFU0VUCQkweDAwMDAwMDAxCisjZGVmaW5lICBCUklER0VfQ0FVU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTEwKQorI2RlZmluZSAgQlJJREdFX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTE0KQorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIwCTB4MDAwMgorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxCTB4MDAwNAorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxX0NMUgkweDAwMDQKKyNkZWZpbmUgIElSUV9WSVJUX0JBU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMjAwKQorI2RlZmluZSAgIElSUV9DQVVTRV9PRkYJCTB4MDAwMAorI2RlZmluZSAgIElSUV9NQVNLX09GRgkJMHgwMDA0CisjZGVmaW5lICBUSU1FUl9WSVJUX0JBU0UJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAzMDApCisKKyNkZWZpbmUgUENJRTBfVklSVF9CQVNFCQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4MzAwMDApCisKKyNkZWZpbmUgUENJRTFfVklSVF9CQVNFCQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4NDAwMDApCisKKyNkZWZpbmUgU0FTMF9QSFlTX0JBU0UJCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHg4MDAwMCkKKworI2RlZmluZSBTQVMxX1BIWVNfQkFTRQkJKExPS0lfUkVHU19QSFlTX0JBU0UgfCAweDkwMDAwKQorCisjZGVmaW5lIEdFMF9QSFlTX0JBU0UJCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHhhMDAwMCkKKyNkZWZpbmUgR0UwX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweGEwMDAwKQorCisjZGVmaW5lIEdFMV9QSFlTX0JBU0UJCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHhiMDAwMCkKKyNkZWZpbmUgR0UxX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweGIwMDAwKQorCisjZGVmaW5lIEREUl9WSVJUX0JBU0UJCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHhmMDAwMCkKKyNkZWZpbmUgRERSX1JFRyh4KQkJKEREUl9WSVJUX0JBU0UgfCAoeCkpCisKKworI2RlZmluZSBHUElPX01BWAkJOAorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9tZW1vcnkuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbWVtb3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM1MTAxZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbWVtb3J5LmgKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbWVtb3J5LmgKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NRU1PUllfSAorCisjZGVmaW5lIFBIWVNfT0ZGU0VUCQlVTCgweDAwMDAwMDAwKQorCisjZGVmaW5lIF9fdmlydF90b19idXMoeCkJX192aXJ0X3RvX3BoeXMoeCkKKyNkZWZpbmUgX19idXNfdG9fdmlydCh4KQlfX3BoeXNfdG9fdmlydCh4KQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9zeXN0ZW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvc3lzdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1NjhhYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvc3lzdGVtLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvc3lzdGVtLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKyNkZWZpbmUgX19BU01fQVJDSF9TWVNURU1fSAorCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2lkbGUodm9pZCkKK3sKKwljcHVfZG9faWRsZSgpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9yZXNldChjaGFyIG1vZGUpCit7CisJLyoKKwkgKiBFbmFibGUgc29mdCByZXNldCB0byBhc3NlcnQgUlNUT1VUbi4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVF9PVVRfRU4sIFJTVE9VVG5fTUFTSyk7CisKKwkvKgorCSAqIEFzc2VydCBzb2Z0IHJlc2V0LgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VULCBTWVNURU1fU09GVF9SRVNFVCk7CisKKwl3aGlsZSAoMSkKKwkJOworfQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS90aW1leC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0MDAxNGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3RpbWV4LmgKQEAgLTAsMCArMSwxMSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdGltZXguaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoMTAwICogSFopCisKKyNkZWZpbmUgTE9LSV9UQ0xLCQkxODAwMDAwMDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdW5jb21wcmVzcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS91bmNvbXByZXNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlhMGNmOAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdW5jb21wcmVzcy5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3VuY29tcHJlc3MuaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorCisjZGVmaW5lIFNFUklBTF9CQVNFCSgodW5zaWduZWQgY2hhciAqKVVBUlQwX1BIWVNfQkFTRSkKKworc3RhdGljIHZvaWQgcHV0Yyhjb25zdCBjaGFyIGMpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmIChiYXNlW1VBUlRfTFNSIDw8IDJdICYgVUFSVF9MU1JfVEhSRSkKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorCisJYmFzZVtVQVJUX1RYIDw8IDJdID0gYzsKK30KKworc3RhdGljIHZvaWQgZmx1c2godm9pZCkKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJdW5zaWduZWQgY2hhciBtYXNrOworCWludCBpOworCisJbWFzayA9IFVBUlRfTFNSX1RFTVQgfCBVQVJUX0xTUl9USFJFOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmICgoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIG1hc2spID09IG1hc2spCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KK30KKworLyoKKyAqIG5vdGhpbmcgdG8gZG8KKyAqLworI2RlZmluZSBhcmNoX2RlY29tcF9zZXR1cCgpCisjZGVmaW5lIGFyY2hfZGVjb21wX3dkb2coKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS92bWFsbG9jLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3ZtYWxsb2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWJlMDYyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS92bWFsbG9jLmgKQEAgLTAsMCArMSw1IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS92bWFsbG9jLmgKKyAqLworCisjZGVmaW5lIFZNQUxMT0NfRU5ECTB4ZmU4MDAwMDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vaXJxcy5oCmluZGV4IDU2NTQzMGMuLmU2MmExMDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS9pcnFzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL2lycXMuaApAQCAtMTUsNiArMTUsNyBAQAogICovCiAKICNpZm5kZWYgX19BU01fQVJDSF9NU01fSVJRU19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTVNNX0lSUVNfSAogCiAvKiBNU00gQVJNMTEgSW50ZXJydXB0IE51bWJlcnMgKi8KIC8qIFNlZSA4MC1WRTExMy0xIEEsIHBwMjE5LTIyMSAgICAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL3RpbWV4LmgKaW5kZXggMTU0YjIzZi4uODcyNDQ4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL3RpbWV4LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL3RpbWV4LmgKQEAgLTE0LDYgKzE0LDcgQEAKICAqLwogCiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVNNX1RJTUVYX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NU01fVElNRVhfSAogCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJMTAwMDAwMAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RlYnVnLW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RlYnVnLW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA1OTViZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZGVidWctbWFjcm8uUwpAQCAtMCwwICsxLDIwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kZWJ1Zy1tYWNyby5TCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisKKwkubWFjcm8JYWRkcnVhcnQscngKKwltcmMJcDE1LCAwLCBccngsIGMxLCBjMAorCXRzdAlccngsICMxCQkJCQlAIE1NVSBlbmFibGVkPworCWxkcmVxCVxyeCwgPU1WNzhYWDBfUkVHU19QSFlTX0JBU0UKKwlsZHJuZQlccngsID1NVjc4WFgwX1JFR1NfVklSVF9CQVNFCisJb3JyCVxyeCwgXHJ4LCAjMHgwMDAxMjAwMAorCS5lbmRtCisKKyNkZWZpbmUgVUFSVF9TSElGVAkyCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2RlYnVnLTgyNTAuUz4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RtYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYThjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RtYS5oCkBAIC0wLDAgKzEgQEAKKy8qIGVtcHR5ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2VudHJ5LW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2VudHJ5LW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlhNjA2YgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZW50cnktbWFjcm8uUwpAQCAtMCwwICsxLDM5IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9lbnRyeS1tYWNyby5TCisgKgorICogTG93LWxldmVsIElSUSBoZWxwZXIgbWFjcm9zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgcGxhdGZvcm1zCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKworCS5tYWNybyAgZGlzYWJsZV9maXEKKwkuZW5kbQorCisJLm1hY3JvICBhcmNoX3JldF90b191c2VyLCB0bXAxLCB0bXAyCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX3ByZWFtYmxlLCBiYXNlLCB0bXAKKwlsZHIJXGJhc2UsID1JUlFfVklSVF9CQVNFCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX2FuZF9iYXNlLCBpcnFuciwgaXJxc3RhdCwgYmFzZSwgdG1wCisJQCBjaGVjayBsb3cgaW50ZXJydXB0cworCWxkcglcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX0xPV19PRkZdCisJbGRyCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX0xPV19PRkZdCisJbW92CVxpcnFuciwgIzMxCisJYW5kcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKworCUAgaWYgbm8gbG93IGludGVycnVwdHMgc2V0LCBjaGVjayBoaWdoIGludGVycnVwdHMKKwlsZHJlcQlcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX0hJR0hfT0ZGXQorCWxkcmVxCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX0hJR0hfT0ZGXQorCW1vdmVxCVxpcnFuciwgIzYzCisJYW5kZXFzCVxpcnFzdGF0LCBcaXJxc3RhdCwgXHRtcAorCisJQCBmaW5kIGZpcnN0IGFjdGl2ZSBpbnRlcnJ1cHQgc291cmNlCisJY2x6bmUJXGlycXN0YXQsIFxpcnFzdGF0CisJc3VibmUJXGlycW5yLCBcaXJxbnIsIFxpcnFzdGF0CisJLmVuZG0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaGFyZHdhcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTE3OTI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9oYXJkd2FyZS5oCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2hhcmR3YXJlLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorI2RlZmluZSBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKworI2luY2x1ZGUgIm12Nzh4eDAuaCIKKworI2RlZmluZSBwY2liaW9zX2Fzc2lnbl9hbGxfYnVzc2VzKCkJMQorCisjZGVmaW5lIFBDSUJJT1NfTUlOX0lPCQkJMHgwMDAwMTAwMAorI2RlZmluZSBQQ0lCSU9TX01JTl9NRU0JCQkweDAxMDAwMDAwCisjZGVmaW5lIFBDSU1FTV9CQVNFCQkJTVY3OFhYMF9QQ0lFX01FTV9QSFlTX0JBU0UgLyogbWVtIGJhc2UgZm9yIFZHQSAqLworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNWQ0YzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lvLmgKQEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaW8uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JT19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSU9fSAorCisjaW5jbHVkZSAibXY3OHh4MC5oIgorCisjZGVmaW5lIElPX1NQQUNFX0xJTUlUCQkweGZmZmZmZmZmCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICpfX2lvKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSgoYWRkciAtIE1WNzhYWDBfUENJRV9JT19QSFlTX0JBU0UoMCkpCisJCQkJCSsgTVY3OFhYMF9QQ0lFX0lPX1ZJUlRfQkFTRSgwKSk7Cit9CisKKyNkZWZpbmUgX19pbyhhKQkJCV9faW8oYSkKKyNkZWZpbmUgX19tZW1fcGNpKGEpCQkoYSkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pcnFzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU5MzA0NQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaXJxcy5oCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lycXMuaAorICoKKyAqIElSUSBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSVJRU19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSVJRU19ICisKKyNpbmNsdWRlICJtdjc4eHgwLmgiCS8qIG5lZWQgR1BJT19NQVggKi8KKworLyoKKyAqIE1WNzh4eDAgTG93IEludGVycnVwdCBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSVJRX01WNzhYWDBfRVJSCQkwCisjZGVmaW5lIElSUV9NVjc4WFgwX1NQSQkJMQorI2RlZmluZSBJUlFfTVY3OFhYMF9JMkNfMAkyCisjZGVmaW5lIElSUV9NVjc4WFgwX0kyQ18xCTMKKyNkZWZpbmUgSVJRX01WNzhYWDBfSURNQV8wCTQKKyNkZWZpbmUgSVJRX01WNzhYWDBfSURNQV8xCTUKKyNkZWZpbmUgSVJRX01WNzhYWDBfSURNQV8yCTYKKyNkZWZpbmUgSVJRX01WNzhYWDBfSURNQV8zCTcKKyNkZWZpbmUgSVJRX01WNzhYWDBfVElNRVJfMAk4CisjZGVmaW5lIElSUV9NVjc4WFgwX1RJTUVSXzEJOQorI2RlZmluZSBJUlFfTVY3OFhYMF9USU1FUl8yCTEwCisjZGVmaW5lIElSUV9NVjc4WFgwX1RJTUVSXzMJMTEKKyNkZWZpbmUgSVJRX01WNzhYWDBfVUFSVF8wCTEyCisjZGVmaW5lIElSUV9NVjc4WFgwX1VBUlRfMQkxMworI2RlZmluZSBJUlFfTVY3OFhYMF9VQVJUXzIJMTQKKyNkZWZpbmUgSVJRX01WNzhYWDBfVUFSVF8zCTE1CisjZGVmaW5lIElSUV9NVjc4WFgwX1VTQl8wCTE2CisjZGVmaW5lIElSUV9NVjc4WFgwX1VTQl8xCTE3CisjZGVmaW5lIElSUV9NVjc4WFgwX1VTQl8yCTE4CisjZGVmaW5lIElSUV9NVjc4WFgwX0NSWVBUTwkxOQorI2RlZmluZSBJUlFfTVY3OFhYMF9TRElPXzAJMjAKKyNkZWZpbmUgSVJRX01WNzhYWDBfU0RJT18xCTIxCisjZGVmaW5lIElSUV9NVjc4WFgwX1hPUl8wCTIyCisjZGVmaW5lIElSUV9NVjc4WFgwX1hPUl8xCTIzCisjZGVmaW5lIElSUV9NVjc4WFgwX0kyU18wCTI0CisjZGVmaW5lIElSUV9NVjc4WFgwX0kyU18xCTI1CisjZGVmaW5lIElSUV9NVjc4WFgwX1NBVEEJMjYKKyNkZWZpbmUgSVJRX01WNzhYWDBfVERNSQkyNworCisvKgorICogTVY3OHh4MCBIaWdoIEludGVycnVwdCBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8wMAkzMgorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzAxCTMzCisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMDIJMzQKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8wMwkzNQorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzEwCTM2CisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMTEJMzcKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8xMgkzOAorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzEzCTM5CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDBfU1VNCTQwCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDBfUlgJNDEKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMF9UWAk0MgorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAwX01JU0MJNDMKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMV9TVU0JNDQKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMV9SWAk0NQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAxX1RYCTQ2CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDFfTUlTQwk0NworI2RlZmluZSBJUlFfTVY3OFhYMF9HRTEwX1NVTQk0OAorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTEwX1JYCTQ5CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTBfVFgJNTAKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMF9NSVNDCTUxCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTFfU1VNCTUyCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTFfUlgJNTMKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMV9UWAk1NAorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTExX01JU0MJNTUKKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT18wXzcJNTYKKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT184XzE1CTU3CisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fMTZfMjMJNTgKKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT18yNF8zMQk1OQorI2RlZmluZSBJUlFfTVY3OFhYMF9EQl9JTgk2MAorI2RlZmluZSBJUlFfTVY3OFhYMF9EQl9PVVQJNjEKKworLyoKKyAqIE1WNzhYWDAgR2VuZXJhbCBQdXJwb3NlIFBpbnMKKyAqLworI2RlZmluZSBJUlFfTVY3OFhYMF9HUElPX1NUQVJUCTY0CisjZGVmaW5lIE5SX0dQSU9fSVJRUwkJR1BJT19NQVgKKworI2RlZmluZSBOUl9JUlFTCQkJKElSUV9NVjc4WFgwX0dQSU9fU1RBUlQgKyBOUl9HUElPX0lSUVMpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL21lbW9yeS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tZW1vcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjFhNmIxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tZW1vcnkuaApAQCAtMCwwICsxLDE0IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tZW1vcnkuaAorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NRU1PUllfSAorI2RlZmluZSBfX0FTTV9BUkNIX01FTU9SWV9ICisKKyNkZWZpbmUgUEhZU19PRkZTRVQJCVVMKDB4MDAwMDAwMDApCisKKyNkZWZpbmUgX192aXJ0X3RvX2J1cyh4KQlfX3ZpcnRfdG9fcGh5cyh4KQorI2RlZmluZSBfX2J1c190b192aXJ0KHgpCV9fcGh5c190b192aXJ0KHgpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL212Nzh4eDAuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbXY3OHh4MC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNWQ4M2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL212Nzh4eDAuaApAQCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbXY3OHh4MC5oCisgKgorICogR2VuZXJpYyBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQyBmbGF2b3JzOgorICogIE1WNzgxeDAgYW5kIE1WNzgyeDAuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01WNzhYWDBfSAorI2RlZmluZSBfX0FTTV9BUkNIX01WNzhYWDBfSAorCisvKgorICogTWFydmVsbCBNVjc4eHgwIGFkZHJlc3MgbWFwcy4KKyAqCisgKiBwaHlzCisgKiBjMDAwMDAwMAlQQ0llIE1lbW9yeSBzcGFjZQorICogZjA4MDAwMDAJUENJZSAjMCBJL08gc3BhY2UKKyAqIGYwOTAwMDAwCVBDSWUgIzEgSS9PIHNwYWNlCisgKiBmMGEwMDAwMAlQQ0llICMyIEkvTyBzcGFjZQorICogZjBiMDAwMDAJUENJZSAjMyBJL08gc3BhY2UKKyAqIGYwYzAwMDAwCVBDSWUgIzQgSS9PIHNwYWNlCisgKiBmMGQwMDAwMAlQQ0llICM1IEkvTyBzcGFjZQorICogZjBlMDAwMDAJUENJZSAjNiBJL08gc3BhY2UKKyAqIGYwZjAwMDAwCVBDSWUgIzcgSS9PIHNwYWNlCisgKiBmMTAwMDAwMAlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKgorICogdmlydAkJcGh5cwkJc2l6ZQorICogZmU0MDAwMDAJZjEwMngwMDAJMTZLCWNvcmUtc3BlY2lmaWMgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqIGZlNzAwMDAwCWYwODAwMDAwCTFNCVBDSWUgIzAgSS9PIHNwYWNlCisgKiBmZTgwMDAwMAlmMDkwMDAwMAkxTQlQQ0llICMxIEkvTyBzcGFjZQorICogZmU5MDAwMDAJZjBhMDAwMDAJMU0JUENJZSAjMiBJL08gc3BhY2UKKyAqIGZlYTAwMDAwCWYwYjAwMDAwCTFNCVBDSWUgIzMgSS9PIHNwYWNlCisgKiBmZWIwMDAwMAlmMGMwMDAwMAkxTQlQQ0llICM0IEkvTyBzcGFjZQorICogZmVjMDAwMDAJZjBkMDAwMDAJMU0JUENJZSAjNSBJL08gc3BhY2UKKyAqIGZlZDAwMDAwCWYwZTAwMDAwCTFNCVBDSWUgIzYgSS9PIHNwYWNlCisgKiBmZWUwMDAwMAlmMGYwMDAwMAkxTQlQQ0llICM3IEkvTyBzcGFjZQorICogZmVmMDAwMDAJZjEwMDAwMDAJMU0Jb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICovCisjZGVmaW5lIE1WNzhYWDBfQ09SRTBfUkVHU19QSFlTX0JBU0UJMHhmMTAyMDAwMAorI2RlZmluZSBNVjc4WFgwX0NPUkUxX1JFR1NfUEhZU19CQVNFCTB4ZjEwMjQwMDAKKyNkZWZpbmUgTVY3OFhYMF9DT1JFX1JFR1NfVklSVF9CQVNFCTB4ZmU0MDAwMDAKKyNkZWZpbmUgTVY3OFhYMF9DT1JFX1JFR1NfU0laRQkJU1pfMTZLCisKKyNkZWZpbmUgTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRShpKQkoMHhmMDgwMDAwMCArICgoaSkgPDwgMjApKQorI2RlZmluZSBNVjc4WFgwX1BDSUVfSU9fVklSVF9CQVNFKGkpCSgweGZlNzAwMDAwICsgKChpKSA8PCAyMCkpCisjZGVmaW5lIE1WNzhYWDBfUENJRV9JT19TSVpFCQlTWl8xTQorCisjZGVmaW5lIE1WNzhYWDBfUkVHU19QSFlTX0JBU0UJCTB4ZjEwMDAwMDAKKyNkZWZpbmUgTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRQkJMHhmZWYwMDAwMAorI2RlZmluZSBNVjc4WFgwX1JFR1NfU0laRQkJU1pfMU0KKworI2RlZmluZSBNVjc4WFgwX1BDSUVfTUVNX1BIWVNfQkFTRQkweGMwMDAwMDAwCisjZGVmaW5lIE1WNzhYWDBfUENJRV9NRU1fU0laRQkJMHgzMDAwMDAwMAorCisvKgorICogQ29yZS1zcGVjaWZpYyBwZXJpcGhlcmFsIHJlZ2lzdGVycy4KKyAqLworI2RlZmluZSBCUklER0VfVklSVF9CQVNFCShNVjc4WFgwX0NPUkVfUkVHU19WSVJUX0JBU0UpCisjZGVmaW5lICBDUFVfQ09OVFJPTAkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDQpCisjZGVmaW5lICAgTDJfV1JJVEVUSFJPVUdICTB4MDAwMjAwMDAKKyNkZWZpbmUgIFJTVE9VVG5fTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDgpCisjZGVmaW5lICAgU09GVF9SRVNFVF9PVVRfRU4JMHgwMDAwMDAwNAorI2RlZmluZSAgU1lTVEVNX1NPRlRfUkVTRVQJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMGMpCisjZGVmaW5lICAgU09GVF9SRVNFVAkJMHgwMDAwMDAwMQorI2RlZmluZSAgQlJJREdFX0NBVVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExMCkKKyNkZWZpbmUgIEJSSURHRV9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExNCkKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMAkweDAwMDIKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMQkweDAwMDQKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMV9DTFIJKH4weDAwMDQpCisjZGVmaW5lICBJUlFfVklSVF9CQVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDIwMCkKKyNkZWZpbmUgICBJUlFfQ0FVU0VfTE9XX09GRgkweDAwMDQKKyNkZWZpbmUgICBJUlFfQ0FVU0VfSElHSF9PRkYJMHgwMDA4CisjZGVmaW5lICAgSVJRX01BU0tfTE9XX09GRgkweDAwMTAKKyNkZWZpbmUgICBJUlFfTUFTS19ISUdIX09GRgkweDAwMTQKKyNkZWZpbmUgIFRJTUVSX1ZJUlRfQkFTRQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDMwMCkKKworLyoKKyAqIFJlZ2lzdGVyIE1hcAorICovCisjZGVmaW5lIEREUl9WSVJUX0JBU0UJCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHgwMDAwMCkKKyNkZWZpbmUgIEREUl9XSU5ET1dfQ1BVMF9CQVNFCShERFJfVklSVF9CQVNFIHwgMHgxNTAwKQorI2RlZmluZSAgRERSX1dJTkRPV19DUFUxX0JBU0UJKEREUl9WSVJUX0JBU0UgfCAweDE3MDApCisKKyNkZWZpbmUgREVWX0JVU19QSFlTX0JBU0UJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSBERVZfQlVTX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lICBTQU1QTEVfQVRfUkVTRVRfTE9XCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MDAzMCkKKyNkZWZpbmUgIFNBTVBMRV9BVF9SRVNFVF9ISUdICShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MDAzNCkKKyNkZWZpbmUgIFVBUlQwX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMF9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDFfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjEwMCkKKyNkZWZpbmUgIFVBUlQxX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIxMDApCisjZGVmaW5lICBVQVJUMl9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMjAwKQorI2RlZmluZSAgVUFSVDJfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjIwMCkKKyNkZWZpbmUgIFVBUlQzX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIzMDApCisjZGVmaW5lICBVQVJUM19WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMzAwKQorCisjZGVmaW5lIEdFMTBfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4MzAwMDApCisjZGVmaW5lIEdFMTFfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4MzQwMDApCisKKyNkZWZpbmUgUENJRTAwX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4NDAwMDApCisjZGVmaW5lIFBDSUUwMV9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDQ0MDAwKQorI2RlZmluZSBQQ0lFMDJfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg0ODAwMCkKKyNkZWZpbmUgUENJRTAzX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4NGMwMDApCisKKyNkZWZpbmUgVVNCMF9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg1MDAwMCkKKyNkZWZpbmUgVVNCMV9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg1MTAwMCkKKyNkZWZpbmUgVVNCMl9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg1MjAwMCkKKworI2RlZmluZSBHRTAwX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDcwMDAwKQorI2RlZmluZSBHRTAxX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDc0MDAwKQorCisjZGVmaW5lIFBDSUUxMF9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDgwMDAwKQorI2RlZmluZSBQQ0lFMTFfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg4NDAwMCkKKyNkZWZpbmUgUENJRTEyX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4ODgwMDApCisjZGVmaW5lIFBDSUUxM19WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDhjMDAwKQorCisjZGVmaW5lIFNBVEFfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4YTAwMDApCisKKworI2RlZmluZSBHUElPX01BWAkJMzIKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3N5c3RlbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYjQ3ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3N5c3RlbS5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3N5c3RlbS5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX1NZU1RFTV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9pZGxlKHZvaWQpCit7CisJY3B1X2RvX2lkbGUoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfcmVzZXQoY2hhciBtb2RlKQoreworCS8qCisJICogRW5hYmxlIHNvZnQgcmVzZXQgdG8gYXNzZXJ0IFJTVE9VVG4uCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVRfT1VUX0VOLCBSU1RPVVRuX01BU0spOworCisJLyoKKwkgKiBBc3NlcnQgc29mdCByZXNldC4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVCwgU1lTVEVNX1NPRlRfUkVTRVQpOworCisJd2hpbGUgKDEpCisJCTsKK30KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdGltZXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODU0YjFjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC90aW1leC5oCkBAIC0wLDAgKzEsOSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdGltZXguaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoMTAwICogSFopCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3VuY29tcHJlc3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdW5jb21wcmVzcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiZmUwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3VuY29tcHJlc3MuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC91bmNvbXByZXNzLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKworI2RlZmluZSBTRVJJQUxfQkFTRQkoKHVuc2lnbmVkIGNoYXIgKilVQVJUMF9QSFlTX0JBU0UpCisKK3N0YXRpYyB2b2lkIHB1dGMoY29uc3QgY2hhciBjKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIFVBUlRfTFNSX1RIUkUpCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KKworCWJhc2VbVUFSVF9UWCA8PCAyXSA9IGM7Cit9CisKK3N0YXRpYyB2b2lkIGZsdXNoKHZvaWQpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCXVuc2lnbmVkIGNoYXIgbWFzazsKKwlpbnQgaTsKKworCW1hc2sgPSBVQVJUX0xTUl9URU1UIHwgVUFSVF9MU1JfVEhSRTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBtYXNrKSA9PSBtYXNrKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9Cit9CisKKy8qCisgKiBub3RoaW5nIHRvIGRvCisgKi8KKyNkZWZpbmUgYXJjaF9kZWNvbXBfc2V0dXAoKQorI2RlZmluZSBhcmNoX2RlY29tcF93ZG9nKCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdm1hbGxvYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC92bWFsbG9jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJjNTEyMQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdm1hbGxvYy5oCkBAIC0wLDAgKzEsNSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdm1hbGxvYy5oCisgKi8KKworI2RlZmluZSBWTUFMTE9DX0VORAkweGZlMDAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgyN2Fkcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MjdhZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWU2NmRhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MjdhZHMuaApAQCAtMCwwICsxLDM1NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA1LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqLworCisvKgorICogVGhlIGNvZGUgY29udGFpbmVkIGhlcmVpbiBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBWZXJzaW9uIDIgb3IgbGF0ZXIgYXQgdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CisgKgorICogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5odG1sCisgKiBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMjdBRFNfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMjdBRFNfSF9fCisKKy8qIGV4dGVybmFsIGludGVycnVwdCBtdWx0aXBsZXhlciAqLworI2RlZmluZSBNWENfRVhQX0lPX0JBU0UJCShNWENfR1BJT19CQVNFICsgTVhDX01BWF9HUElPX0xJTkVTKQorCisjZGVmaW5lIE1YQ19WSVJUVUFMX0lOVFNfQkFTRQkoTVhDX0VYUF9JT19CQVNFICsgTVhDX01BWF9FWFBfSU9fTElORVMpCisjZGVmaW5lIE1YQ19TRElPMV9DQVJEX0lSUQlNWENfVklSVFVBTF9JTlRTX0JBU0UKKyNkZWZpbmUgTVhDX1NESU8yX0NBUkRfSVJRCShNWENfVklSVFVBTF9JTlRTX0JBU0UgKyAxKQorI2RlZmluZSBNWENfU0RJTzNfQ0FSRF9JUlEJKE1YQ19WSVJUVUFMX0lOVFNfQkFTRSArIDIpCisKKyNkZWZpbmUgTVhDX01BWF9CT0FSRF9JTlRTICAgICAgKE1YQ19NQVhfRVhQX0lPX0xJTkVTICsgXAorCQkJCU1YQ19NQVhfVklSVFVBTF9JTlRTKQorCisvKgorICogTVhDIFVBUlQgRVZCIGJvYXJkIGxldmVsIGNvbmZpZ3VyYXRpb25zCisgKi8KKworI2RlZmluZSBNWENfTExfRVhUVUFSVF9QQUREUgkoQ1M0X0JBU0VfQUREUiArIDB4MjAwMDApCisjZGVmaW5lIE1YQ19MTF9FWFRVQVJUX1ZBRERSCShDUzRfQkFTRV9BRERSX1ZJUlQgKyAweDIwMDAwKQorI2RlZmluZSBNWENfTExfRVhUVUFSVF8xNkJJVF9CVVMKKworI2RlZmluZSBNWENfTExfVUFSVF9QQUREUiAgICAgICBVQVJUMV9CQVNFX0FERFIKKyNkZWZpbmUgTVhDX0xMX1VBUlRfVkFERFIgICAgICAgQUlQSV9JT19BRERSRVNTKFVBUlQxX0JBU0VfQUREUikKKworLyoKKyAqIEBuYW1lIE1lbW9yeSBTaXplIHBhcmFtZXRlcnMKKyAqLworCisvKgorICogU2l6ZSBvZiBTRFJBTSBtZW1vcnkKKyAqLworI2RlZmluZSBTRFJBTV9NRU1fU0laRSAgICAgICAgICBTWl8xMjhNCisKKy8qCisgKiBQQkMgQ29udHJvbGxlciBwYXJhbWV0ZXJzCisgKi8KKworLyoKKyAqIEJhc2UgYWRkcmVzcyBvZiBQQkMgY29udHJvbGxlciwgQ1M0CisgKi8KKyNkZWZpbmUgUEJDX0JBU0VfQUREUkVTUyAgICAgICAgMHhFQjAwMDAwMAorI2RlZmluZSBQQkNfUkVHX0FERFIob2Zmc2V0KSAgICAoUEJDX0JBU0VfQUREUkVTUyArIChvZmZzZXQpKQorCisvKgorICogUEJDIEludGVydXB0IG5hbWUgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfR1BJTzFfMCAgMAorI2RlZmluZSBQQkNfR1BJTzFfMSAgMQorI2RlZmluZSBQQkNfR1BJTzFfMiAgMgorI2RlZmluZSBQQkNfR1BJTzFfMyAgMworI2RlZmluZSBQQkNfR1BJTzFfNCAgNAorI2RlZmluZSBQQkNfR1BJTzFfNSAgNQorCisjZGVmaW5lIFBCQ19JTlRSX01BWF9OVU0gNgorI2RlZmluZSBQQkNfSU5UUl9TSEFSRURfTUFYX05VTSA4CisKKy8qIFdoZW4gdGhlIFBCQyBhZGRyZXNzIGNvbm5lY3Rpb24gaXMgZml4ZWQgaW4gaC93LCBkZWZpbmVkIGFzIDEgKi8KKyNkZWZpbmUgUEJDX0FERFJfU0ggICAgICAgICAgICAgMAorCisvKiBPZmZzZXRzIGZvciB0aGUgUEJDIENvbnRyb2xsZXIgcmVnaXN0ZXIgKi8KKy8qCisgKiBQQkMgQm9hcmQgdmVyc2lvbiByZWdpc3RlciBvZmZzZXQKKyAqLworI2RlZmluZSBQQkNfVkVSU0lPTl9SRUcgICAgICAgICBQQkNfUkVHX0FERFIoMHgwMDAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAxIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfU0VUX1JFRyAgICAgIFBCQ19SRUdfQUREUigweDAwMDA4ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDEgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwxX0NMRUFSX1JFRyAgICBQQkNfUkVHX0FERFIoMHgwMDAwQyA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAyIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDJfU0VUX1JFRyAgICAgIFBCQ19SRUdfQUREUigweDAwMDEwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDIgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwyX0NMRUFSX1JFRyAgICBQQkNfUkVHX0FERFIoMHgwMDAxNCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAzIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDNfU0VUX1JFRyAgICAgIFBCQ19SRUdfQUREUigweDAwMDE4ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDMgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwzX0NMRUFSX1JFRyAgICBQQkNfUkVHX0FERFIoMHgwMDAxQyA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAzIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDRfU0VUX1JFRyAgICAgIFBCQ19SRUdfQUREUigweDAwMDIwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDQgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkw0X0NMRUFSX1JFRyAgICBQQkNfUkVHX0FERFIoMHgwMDAyNCA+PiBQQkNfQUREUl9TSCkKKy8qUEJDX0FERFJfU0gKKyAqIFBCQyBCb2FyZCBzdGF0dXMgcmVnaXN0ZXIgMS4KKyAqLworI2RlZmluZSBQQkNfQlNUQVQxX1JFRyAgICAgICAgICBQQkNfUkVHX0FERFIoMHgwMDAyOCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgaW50ZXJydXB0IHN0YXR1cyByZWdpc3Rlci4KKyAqLworI2RlZmluZSBQQkNfSU5UU1RBVFVTX1JFRyAgICAgICBQQkNfUkVHX0FERFIoMHgwMDAyQyA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgaW50ZXJydXB0IGN1cnJlbnQgc3RhdHVzIHJlZ2lzdGVyLgorICovCisjZGVmaW5lIFBCQ19JTlRDVVJSX1NUQVRVU19SRUcgIFBCQ19SRUdfQUREUigweDAwMDM0ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBJbnRlcnJ1cHQgbWFzayByZWdpc3RlciBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfSU5UTUFTS19TRVRfUkVHICAgICBQQkNfUkVHX0FERFIoMHgwMDAzOCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgSW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfSU5UTUFTS19DTEVBUl9SRUcgICBQQkNfUkVHX0FERFIoMHgwMDAzQyA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBFeHRlcm5hbCBVQVJUIEEuCisgKi8KKyNkZWZpbmUgUEJDX1NDMTZDNjUyX1VBUlRBX1JFRyAgUEJDX1JFR19BRERSKDB4MjAwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogVUFSVCA0IEV4cGFuZGluZyBTaWduYWwgU3RhdHVzLgorICovCisjZGVmaW5lIFBCQ19VQVJUX1NUQVRVU19SRUcgICAgIFBCQ19SRUdfQUREUigweDIyMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFVBUlQgNCBFeHBhbmRpbmcgU2lnbmFsIENvbnRyb2wgU2V0LgorICovCisjZGVmaW5lIFBCQ19VQ1RSTF9TRVRfUkVHICAgICAgIFBCQ19SRUdfQUREUigweDI0MDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFVBUlQgNCBFeHBhbmRpbmcgU2lnbmFsIENvbnRyb2wgQ2xlYXIuCisgKi8KKyNkZWZpbmUgUEJDX1VDVFJMX0NMUl9SRUcgICAgICAgUEJDX1JFR19BRERSKDB4MjYwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogRXRoZXJuZXQgQ29udHJvbGxlciBJTyBiYXNlIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0NTODkwMEFfSU9CQVNFX1JFRyAgUEJDX1JFR19BRERSKDB4NDAwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogRXRoZXJuZXQgQ29udHJvbGxlciBNZW1vcnkgYmFzZSBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19DUzg5MDBBX01FTUJBU0VfUkVHIFBCQ19SRUdfQUREUigweDQyMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIEV0aGVybmV0IENvbnRyb2xsZXIgRE1BIGJhc2UgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQ1M4OTAwQV9ETUFCQVNFX1JFRyBQQkNfUkVHX0FERFIoMHg0NDAwMCA+PiBQQkNfQUREUl9TSCkKKworLyogUEJDIEJvYXJkIFZlcnNpb24gUmVnaXN0ZXIgYml0IGRlZmluaXRpb24gKi8KKyNkZWZpbmUgUEJDX1ZFUlNJT05fQURTICAgICAgICAgMHg4MDAwCS8qIEJpdDE1PTEgbWVhbnMgdmVyc2lvbiBmb3IgYWRzICovCisjZGVmaW5lIFBCQ19WRVJTSU9OX0VWQl9SRVZCICAgIDB4NDAwMAkvKiBCSVQxND0xIG1lYW5zIHZlcnNpb24gZm9yIGV2YiByZXZiICovCisKKy8qIFBCQyBCb2FyZCBDb250cm9sIFJlZ2lzdGVyIDEgYml0IGRlZmluaXRpb25zICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfRVJTVCAgICAgICAgIDB4MDAwMQkvKiBFdGhlcm5ldCBSZXNldCAqLworI2RlZmluZSBQQkNfQkNUUkwxX1VSU1QgICAgICAgICAweDAwMDIJLyogUmVzZXQgRXh0ZXJuYWwgVUFSVCBjb250cm9sbGVyICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfRlJTVCAgICAgICAgIDB4MDAwNAkvKiBGRUMgUmVzZXQgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9FU0xFRVAgICAgICAgMHgwMDEwCS8qIEVuYWJsZSBldGhlcm5ldCBTbGVlcCAqLworI2RlZmluZSBQQkNfQkNUUkwxX0xDRE9OICAgICAgICAweDA4MDAJLyogRW5hYmxlIHRoZSBMQ0QgKi8KKworLyogUEJDIEJvYXJkIENvbnRyb2wgUmVnaXN0ZXIgMiBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMl9WQ0NfRU4gICAgICAgMHgwMDA0CS8qICAgRW5hYmxlIFZDQyAqLworI2RlZmluZSBQQkNfQkNUUkwyX1ZQUF9FTiAgICAgICAweDAwMDgJLyogICBFbmFibGUgVnBwICovCisjZGVmaW5lIFBCQ19CQ1RSTDJfQVRBRkVDX0VOICAgIDBYMDAxMAorI2RlZmluZSBQQkNfQkNUUkwyX0FUQUZFQ19TRUwgICAwWDAwMjAKKyNkZWZpbmUgUEJDX0JDVFJMMl9BVEFfRU4gICAgICAgMFgwMDQwCisjZGVmaW5lIFBCQ19CQ1RSTDJfSVJEQV9TRCAgICAgIDBYMDA4MAorI2RlZmluZSBQQkNfQkNUUkwyX0lSREFfRU4gICAgICAwWDAxMDAKKyNkZWZpbmUgUEJDX0JDVFJMMl9DQ1RMMTAgICAgICAgMFgwMjAwCisjZGVmaW5lIFBCQ19CQ1RSTDJfQ0NUTDExICAgICAgIDBYMDQwMAorCisvKiBQQkMgQm9hcmQgQ29udHJvbCBSZWdpc3RlciAzIGJpdCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQQkNfQkNUUkwzX0hTSF9FTiAgICAgICAwWDAwMjAKKyNkZWZpbmUgUEJDX0JDVFJMM19GU0hfTU9EICAgICAgMFgwMDQwCisjZGVmaW5lIFBCQ19CQ1RSTDNfT1RHX0hTX0VOICAgIDBYMDA4MAorI2RlZmluZSBQQkNfQkNUUkwzX09UR19WQlVTX0VOICAwWDAxMDAKKyNkZWZpbmUgUEJDX0JDVFJMM19GU0hfVkJVU19FTiAgMFgwMjAwCisjZGVmaW5lIFBCQ19CQ1RSTDNfVVNCX09UR19PTiAgIDBYMDgwMAorI2RlZmluZSBQQkNfQkNUUkwzX1VTQl9GU0hfT04gICAwWDEwMDAKKworLyogUEJDIEJvYXJkIENvbnRyb2wgUmVnaXN0ZXIgNCBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgUEJDX0JDVFJMNF9SRUdFTl9TRUwgICAgMFgwMDAxCisjZGVmaW5lIFBCQ19CQ1RSTDRfVVNFUl9PRkYgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfQkNUUkw0X1ZJQl9FTiAgICAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX0JDVFJMNF9QV1JHVDFfRU4gICAgMFgwMDA4CisjZGVmaW5lIFBCQ19CQ1RSTDRfUFdSR1QyX0VOICAgIDBYMDAxMAorI2RlZmluZSBQQkNfQkNUUkw0X1NUREJZX1BSSSAgICAwWDAwMjAKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKy8qCisgKiBFbnVtZXJhdGlvbnMgZm9yIFNEIGNhcmRzIGFuZCBtZW1vcnkgc3RpY2sgY2FyZC4gVGhpcyBjb3JyZXNwb25kcyB0bworICogdGhlIGNhcmQgRU4gYml0cyBpbiB0aGUgSU1SOiBTRDFfRU4gfCBNU19FTiB8IFNEM19FTiB8IFNEMl9FTi4KKyAqLworZW51bSBteGNfY2FyZF9ubyB7CisJTVhDX0NBUkRfU0QyID0gMCwKKwlNWENfQ0FSRF9TRDMsCisJTVhDX0NBUkRfTVMsCisJTVhDX0NBUkRfU0QxLAorCU1YQ19DQVJEX01JTiA9IE1YQ19DQVJEX1NEMiwKKwlNWENfQ0FSRF9NQVggPSBNWENfQ0FSRF9TRDEsCit9OworI2VuZGlmCisKKyNkZWZpbmUgTVhDX0NQTERfVkVSXzFfNTAgICAgICAgMHgwMQorCisvKgorICogUEJDIEJTVEFUIFJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucworICovCisjZGVmaW5lIFBCQ19CU1RBVF9QUklfSU5UICAgICAgIDBYMDAwMQorI2RlZmluZSBQQkNfQlNUQVRfVVNCX0JZUCAgICAgICAwWDAwMDIKKyNkZWZpbmUgUEJDX0JTVEFUX0FUQV9JT0NTMTYgICAgMFgwMDA0CisjZGVmaW5lIFBCQ19CU1RBVF9BVEFfQ0JMSUQgICAgIDBYMDAwOAorI2RlZmluZSBQQkNfQlNUQVRfQVRBX0RBU1AgICAgICAwWDAwMTAKKyNkZWZpbmUgUEJDX0JTVEFUX1BXUl9SRFkgICAgICAgMFgwMDIwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDNfV1AgICAgICAgIDBYMDEwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QyX1dQICAgICAgICAwWDAyMDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMV9XUCAgICAgICAgMFgwNDAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDNfREVUICAgICAgIDBYMDgwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QyX0RFVCAgICAgICAwWDEwMDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMV9ERVQgICAgICAgMFgyMDAwCisjZGVmaW5lIFBCQ19CU1RBVF9NU19ERVQgICAgICAgIDBYNDAwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QzX0RFVF9CSVQgICAxMQorI2RlZmluZSBQQkNfQlNUQVRfU0QyX0RFVF9CSVQgICAxMgorI2RlZmluZSBQQkNfQlNUQVRfU0QxX0RFVF9CSVQgICAxMworI2RlZmluZSBQQkNfQlNUQVRfTVNfREVUX0JJVCAgICAxNAorI2RlZmluZSBNWENfQlNUQVRfQklUKG4pICAgICAgICAoKG4gPT0gTVhDX0NBUkRfU0QyKSA/IFBCQ19CU1RBVF9TRDJfREVUIDogXAorCQkJCSAoKG4gPT0gTVhDX0NBUkRfU0QzKSA/IFBCQ19CU1RBVF9TRDNfREVUIDogXAorCQkJCSAoKG4gPT0gTVhDX0NBUkRfU0QxKSA/IFBCQ19CU1RBVF9TRDFfREVUIDogXAorCQkJCSAoKG4gPT0gTVhDX0NBUkRfTVMpID8gUEJDX0JTVEFUX01TX0RFVCA6IFwKKwkJCQkJMHgwKSkpKQorCisvKgorICogUEJDIFVBUlQgQ29udHJvbCBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfVUNUUkxfRENFX0RDRCAgICAgICAwWDAwMDEKKyNkZWZpbmUgUEJDX1VDVFJMX0RDRV9EU1IgICAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19VQ1RSTF9EQ0VfUkkgICAgICAgIDBYMDAwNAorI2RlZmluZSBQQkNfVUNUUkxfRFRFX0RUUiAgICAgICAwWDAxMDAKKworLyoKKyAqIFBCQyBVQVJUIFN0YXR1cyBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfVVNUQVRfRFRFX0RDRCAgICAgICAwWDAwMDEKKyNkZWZpbmUgUEJDX1VTVEFUX0RURV9EU1IgICAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19VU1RBVF9EVEVfUkkgICAgICAgIDBYMDAwNAorI2RlZmluZSBQQkNfVVNUQVRfRENFX0RUUiAgICAgICAwWDAxMDAKKworLyoKKyAqIFBCQyBJbnRlcnVwdCBtYXNrIHJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucworICovCisjZGVmaW5lIFBCQ19JTlRSX1NEM19SX0VOX0JJVCAgIDQKKyNkZWZpbmUgUEJDX0lOVFJfU0QyX1JfRU5fQklUICAgMAorI2RlZmluZSBQQkNfSU5UUl9TRDFfUl9FTl9CSVQgICA2CisjZGVmaW5lIFBCQ19JTlRSX01TX1JfRU5fQklUICAgIDUKKyNkZWZpbmUgUEJDX0lOVFJfU0QzX0VOX0JJVCAgICAgMTMKKyNkZWZpbmUgUEJDX0lOVFJfU0QyX0VOX0JJVCAgICAgMTIKKyNkZWZpbmUgUEJDX0lOVFJfTVNfRU5fQklUICAgICAgMTQKKyNkZWZpbmUgUEJDX0lOVFJfU0QxX0VOX0JJVCAgICAgMTUKKworI2RlZmluZSBQQkNfSU5UUl9TRDJfUl9FTiAgICAgICAweDAwMDEKKyNkZWZpbmUgUEJDX0lOVFJfTE9XX0JBVCAgICAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19JTlRSX09UR19GU09WRVIgICAgIDBYMDAwNAorI2RlZmluZSBQQkNfSU5UUl9GU0hfT1ZFUiAgICAgICAwWDAwMDgKKyNkZWZpbmUgUEJDX0lOVFJfU0QzX1JfRU4gICAgICAgMHgwMDEwCisjZGVmaW5lIFBCQ19JTlRSX01TX1JfRU4gICAgICAgIDB4MDAyMAorI2RlZmluZSBQQkNfSU5UUl9TRDFfUl9FTiAgICAgICAweDAwNDAKKyNkZWZpbmUgUEJDX0lOVFJfRkVDX0lOVCAgICAgICAgMFgwMDgwCisjZGVmaW5lIFBCQ19JTlRSX0VORVRfSU5UICAgICAgIDBYMDEwMAorI2RlZmluZSBQQkNfSU5UUl9PVEdGU19JTlQgICAgICAwWDAyMDAKKyNkZWZpbmUgUEJDX0lOVFJfWFVBUlRfSU5UICAgICAgMFgwNDAwCisjZGVmaW5lIFBCQ19JTlRSX0NDVEwxMiAgICAgICAgIDBYMDgwMAorI2RlZmluZSBQQkNfSU5UUl9TRDJfRU4gICAgICAgICAweDEwMDAKKyNkZWZpbmUgUEJDX0lOVFJfU0QzX0VOICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFBCQ19JTlRSX01TX0VOICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBQQkNfSU5UUl9TRDFfRU4gICAgICAgICAweDgwMDAKKworCisKKy8qIEZvciBpbnRlcnJ1cHRzIGxpa2UgeHVhcnQsIGVuZXQgZXRjICovCisjZGVmaW5lIEVYUElPX1BBUkVOVF9JTlQgICAgICAgIElPTVVYX1RPX0lSUShNWDI3X1BJTl9USU4pCisjZGVmaW5lIE1YQ19NQVhfRVhQX0lPX0xJTkVTICAgIDE2CisKKy8qCisgKiBUaGlzIGNvcnJlc3BvbmRzIHRvIFBCQ19JTlRNQVNLX1NFVF9SRUcgYXQgb2Zmc2V0IDB4MzguCisgKgorICovCisjZGVmaW5lIEVYUElPX0lOVF9MT1dfQkFUICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAxKQorI2RlZmluZSBFWFBJT19JTlRfT1RHX0ZTX09WUiAgICAoTVhDX0VYUF9JT19CQVNFICsgMikKKyNkZWZpbmUgRVhQSU9fSU5UX0ZTSF9PVlIgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDMpCisjZGVmaW5lIEVYUElPX0lOVF9SRVM0ICAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyA0KQorI2RlZmluZSBFWFBJT19JTlRfUkVTNSAgICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgNSkKKyNkZWZpbmUgRVhQSU9fSU5UX1JFUzYgICAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDYpCisjZGVmaW5lIEVYUElPX0lOVF9GRUMgICAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyA3KQorI2RlZmluZSBFWFBJT19JTlRfRU5FVF9JTlQgICAgICAoTVhDX0VYUF9JT19CQVNFICsgOCkKKyNkZWZpbmUgRVhQSU9fSU5UX09UR19GU19JTlQgICAgKE1YQ19FWFBfSU9fQkFTRSArIDkpCisjZGVmaW5lIEVYUElPX0lOVF9YVUFSVF9JTlRBICAgIChNWENfRVhQX0lPX0JBU0UgKyAxMCkKKyNkZWZpbmUgRVhQSU9fSU5UX0NDVEwxMl9JTlQgICAgKE1YQ19FWFBfSU9fQkFTRSArIDExKQorI2RlZmluZSBFWFBJT19JTlRfU0QyX0VOICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMTIpCisjZGVmaW5lIEVYUElPX0lOVF9TRDNfRU4gICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAxMykKKyNkZWZpbmUgRVhQSU9fSU5UX01TX0VOICAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDE0KQorI2RlZmluZSBFWFBJT19JTlRfU0QxX0VOICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMTUpCisKKy8qCisgKiBUaGlzIGlzIFN5c3RlbSBJUlEgdXNlZCBieSBDUzg5MDBBIGZvciBpbnRlcnJ1cHQgZ2VuZXJhdGlvbgorICogdGFrZW4gZnJvbSBwbGF0Zm9ybS5oCisgKi8KKyNkZWZpbmUgQ1M4OTAwQUlSUSAgICAgICAgICAgICAgRVhQSU9fSU5UX0VORVRfSU5UCisvKiBUaGlzIGlzIEkvTyBCYXNlIGFkZHJlc3MgdXNlZCB0byBhY2Nlc3MgcmVnaXN0ZXJzIG9mIENTODkwMEEgb24gTVhDIEFEUyAqLworI2RlZmluZSBDUzg5MDBBX0JBU0VfQUREUkVTUyAgICAoUEJDX0NTODkwMEFfSU9CQVNFX1JFRyArIDB4MzAwKQorCisjZGVmaW5lIE1YQ19QTUlDX0lOVF9MSU5FICAgICAgIElPTVVYX1RPX0lSUShNWDI3X1BJTl9UT1VUKQorCisvKgorKiBUaGlzIGlzIHVzZWQgdG8gZGV0ZWN0IGlmIHRoZSBDUExEIHZlcnNpb24gaXMgZm9yIG14MjcgZXZiIGJvYXJkIHJldi1hCisqLworI2RlZmluZSBQQkNfQ1BMRF9WRVJTSU9OX0lTX1JFVkEoKSBcCisJKChfX3Jhd19yZWFkdyhQQkNfVkVSU0lPTl9SRUcpICYgXAorCShQQkNfVkVSU0lPTl9BRFMgfCBQQkNfVkVSU0lPTl9FVkJfUkVWQikpXAorCT09IDApCisKKy8qIFRoaXMgaXMgdXNlZCB0byBhY3RpdmUgb3IgaW5hY3RpdmUgYXRhIHNpZ25hbCBpbiBDUExEIC4KKyAqICBJdCBpcyBkZXBlbmRlbnQgd2l0aCBoYXJkd2FyZQorICovCisjZGVmaW5lIFBCQ19BVEFfU0lHTkFMX0FDVElWRSgpIFwKKwlfX3Jhd193cml0ZXcoICAgICAgICAgICBcCisJCVBCQ19CQ1RSTDJfQVRBRkVDX0VOfFBCQ19CQ1RSTDJfQVRBRkVDX1NFTHxQQkNfQkNUUkwyX0FUQV9FTiwgXAorCQlQQkNfQkNUUkwyX0NMRUFSX1JFRykKKworI2RlZmluZSBQQkNfQVRBX1NJR05BTF9JTkFDVElWRSgpIFwKKwlfX3Jhd193cml0ZXcoICBcCisJCVBCQ19CQ1RSTDJfQVRBRkVDX0VOfFBCQ19CQ1RSTDJfQVRBRkVDX1NFTHxQQkNfQkNUUkwyX0FUQV9FTiwgXAorCQlQQkNfQkNUUkwyX1NFVF9SRUcpCisKKyNkZWZpbmUgTVhDX0JEX0xFRDEgICAgICAgICAgICAgKDEgPDwgNSkKKyNkZWZpbmUgTVhDX0JEX0xFRDIgICAgICAgICAgICAgKDEgPDwgNikKKyNkZWZpbmUgTVhDX0JEX0xFRF9PTihsZWQpIFwKKwlfX3Jhd193cml0ZXcobGVkLCBQQkNfQkNUUkwxX1NFVF9SRUcpCisjZGVmaW5lIE1YQ19CRF9MRURfT0ZGKGxlZCkgXAorCV9fcmF3X3dyaXRldyhsZWQsIFBCQ19CQ1RSTDFfQ0xFQVJfUkVHKQorCisvKiB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgZXh0ZXJuYWwgY3J5c3RhbCByZWZlcmVuY2UgKi8KKyNkZWZpbmUgQ0tJSF8yN01IWl9CSVRfU0VUICAgICAgKDEgPDwgMykKKworI2VuZGlmCQkJCS8qIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMjdBRFNfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWFkcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFhZHMuaAppbmRleCA4NTkwMTI3Li4xYmM2ZmIwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWFkcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxYWRzLmgKQEAgLTEwOSw0ICsxMDksOSBAQAogCiAjZGVmaW5lIE1YQ19NQVhfRVhQX0lPX0xJTkVTCTE2CiAKKy8qIG1hbmRhdG9yeSBmb3IgQ09ORklHX0xMX0RFQlVHICovCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIJVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSCUFJUFMxX0lPX0FERFJFU1MoVUFSVDFfQkFTRV9BRERSKQorCiAjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQk9BUkRfTVgzMUFEU19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxbGl0ZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFsaXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRlNWNmNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxbGl0ZS5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICovCisKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfQk9BUkRfTVgzMUxJVEVfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMzFMSVRFX0hfXworCisjZGVmaW5lIE1YQ19NQVhfRVhQX0lPX0xJTkVTCTE2CisKKworLyoKKyAqIE1lbW9yeSBTaXplIHBhcmFtZXRlcnMKKyAqLworCisvKgorICogU2l6ZSBvZiBTRFJBTSBtZW1vcnkKKyAqLworI2RlZmluZSBTRFJBTV9NRU1fU0laRQkJU1pfMTI4TQorLyoKKyAqIFNpemUgb2YgTUJYIGJ1ZmZlciBtZW1vcnkKKyAqLworI2RlZmluZSBNWENfTUJYX01FTV9TSVpFCVNaXzE2TQorLyoKKyAqIFNpemUgb2YgbWVtb3J5IGF2YWlsYWJsZSB0byBrZXJuZWwKKyAqLworI2RlZmluZSBNRU1fU0laRQkJKFNEUkFNX01FTV9TSVpFIC0gTVhDX01CWF9NRU1fU0laRSkKKworI2RlZmluZSBNWENfTExfVUFSVF9QQUREUglVQVJUMV9CQVNFX0FERFIKKyNkZWZpbmUgTVhDX0xMX1VBUlRfVkFERFIJQUlQUzFfSU9fQUREUkVTUyhVQVJUMV9CQVNFX0FERFIpCisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDMxQURTX0hfXyAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM3LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIyMzJiYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwOCBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM3X0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzdfSF9fCisKKy8qIG1hbmRhdG9yeSBmb3IgQ09ORklHX0xMX0RFQlVHICovCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIJVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSCUFJUFMxX0lPX0FERFJFU1MoVUFSVDFfQkFTRV9BRERSKQorCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM3X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzOC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzOC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MGM2MmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM4LmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzOF9IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM4X0hfXworCisvKiBtYW5kYXRvcnkgZm9yIENPTkZJR19MTF9ERUJVRyAqLworCisjZGVmaW5lIE1YQ19MTF9VQVJUX1BBRERSCVVBUlQxX0JBU0VfQUREUgorI2RlZmluZSBNWENfTExfVUFSVF9WQUREUgkoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MEEwMDApCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisvKgorICogVGhpcyBDUFUgbW9kdWxlIG5lZWRzIGEgYmFzZWJvYXJkIHRvIHdvcmsuIEFmdGVyIGJhc2ljIGluaXRpYWxpemluZworICogaXRzIG93biBkZXZpY2VzLCBpdCBjYWxscyBiYXNlYm9hcmQncyBpbml0IGZ1bmN0aW9uLgorICogVE9ETzogQWRkIHlvdXIgb3duIGJhc2Vib2FyZCBpbml0IGZ1bmN0aW9uIGFuZCBjYWxsIGl0IGZyb20KKyAqIGluc2lkZSBwY20wMzhfaW5pdCgpLgorICoKKyAqIFRoaXMgZXhhbXBsZSBoZXJlIGlzIGZvciB0aGUgZGV2ZWxvcG1lbnQgYm9hcmQuIFJlZmVyIHBjbTk3MC1iYXNlYm9hcmQuYworICovCisKK2V4dGVybiB2b2lkIHBjbTk3MF9iYXNlYm9hcmRfaW5pdCh2b2lkKTsKKworI2VuZGlmCisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzhfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY2xvY2suaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jbG9jay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0Y2FhMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY2xvY2suaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IDIwMDUtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19DTE9DS19IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfQ0xPQ0tfSF9fCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorCitzdHJ1Y3QgbW9kdWxlOworCitzdHJ1Y3QgY2xrIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7CisJc3RydWN0IG1vZHVsZSAqb3duZXI7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgaWQ7CisJLyogU291cmNlIGNsb2NrIHRoaXMgY2xrIGRlcGVuZHMgb24gKi8KKwlzdHJ1Y3QgY2xrICpwYXJlbnQ7CisJLyogU2Vjb25kYXJ5IGNsb2NrIHRvIGVuYWJsZS9kaXNhYmxlIHdpdGggdGhpcyBjbG9jayAqLworCXN0cnVjdCBjbGsgKnNlY29uZGFyeTsKKwkvKiBSZWZlcmVuY2UgY291bnQgb2YgY2xvY2sgZW5hYmxlL2Rpc2FibGUgKi8KKwlfX3M4IHVzZWNvdW50OworCS8qIFJlZ2lzdGVyIGJpdCBwb3NpdGlvbiBmb3IgY2xvY2sncyBlbmFibGUvZGlzYWJsZSBjb250cm9sLiAqLworCXU4IGVuYWJsZV9zaGlmdDsKKwkvKiBSZWdpc3RlciBhZGRyZXNzIGZvciBjbG9jaydzIGVuYWJsZS9kaXNhYmxlIGNvbnRyb2wuICovCisJdTMyIGVuYWJsZV9yZWc7CisJdTMyIGZsYWdzOworCS8qIGdldCB0aGUgY3VycmVudCBjbG9jayByYXRlIChhbHdheXMgYSBmcmVzaCB2YWx1ZSkgKi8KKwl1bnNpZ25lZCBsb25nICgqZ2V0X3JhdGUpIChzdHJ1Y3QgY2xrICopOworCS8qIEZ1bmN0aW9uIHB0ciB0byBzZXQgdGhlIGNsb2NrIHRvIGEgbmV3IHJhdGUuIFRoZSByYXRlIG11c3QgbWF0Y2ggYQorCSAgIHN1cHBvcnRlZCByYXRlIHJldHVybmVkIGZyb20gcm91bmRfcmF0ZS4gTGVhdmUgYmxhbmsgaWYgY2xvY2sgaXMgbm90CisJICAgcHJvZ3JhbW1hYmxlICovCisJaW50ICgqc2V0X3JhdGUpIChzdHJ1Y3QgY2xrICosIHVuc2lnbmVkIGxvbmcpOworCS8qIEZ1bmN0aW9uIHB0ciB0byByb3VuZCB0aGUgcmVxdWVzdGVkIGNsb2NrIHJhdGUgdG8gdGhlIG5lYXJlc3QKKwkgICBzdXBwb3J0ZWQgcmF0ZSB0aGF0IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgcmVxdWVzdGVkIHJhdGUuICovCisJdW5zaWduZWQgbG9uZyAoKnJvdW5kX3JhdGUpIChzdHJ1Y3QgY2xrICosIHVuc2lnbmVkIGxvbmcpOworCS8qIEZ1bmN0aW9uIHB0ciB0byBlbmFibGUgdGhlIGNsb2NrLiBMZWF2ZSBibGFuayBpZiBjbG9jayBjYW4gbm90CisJICAgYmUgZ2F0ZWQuICovCisJaW50ICgqZW5hYmxlKSAoc3RydWN0IGNsayAqKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gZGlzYWJsZSB0aGUgY2xvY2suIExlYXZlIGJsYW5rIGlmIGNsb2NrIGNhbiBub3QKKwkgICBiZSBnYXRlZC4gKi8KKwl2b2lkICgqZGlzYWJsZSkgKHN0cnVjdCBjbGsgKik7CisJLyogRnVuY3Rpb24gcHRyIHRvIHNldCB0aGUgcGFyZW50IGNsb2NrIG9mIHRoZSBjbG9jay4gKi8KKwlpbnQgKCpzZXRfcGFyZW50KSAoc3RydWN0IGNsayAqLCBzdHJ1Y3QgY2xrICopOworfTsKKworaW50IGNsa19yZWdpc3RlcihzdHJ1Y3QgY2xrICpjbGspOwordm9pZCBjbGtfdW5yZWdpc3RlcihzdHJ1Y3QgY2xrICpjbGspOworCisjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQ0xPQ0tfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY29tbW9uLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY29tbW9uLmgKaW5kZXggMjNiNDM1MC4uYTZkMmUyNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2NvbW1vbi5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jb21tb24uaApAQCAtMTEsMTAgKzExLDEwIEBACiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0NPTU1PTl9IX18KICNkZWZpbmUgX19BU01fQVJDSF9NWENfQ09NTU9OX0hfXwogCi1zdHJ1Y3Qgc3lzX3RpbWVyOwotCiBleHRlcm4gdm9pZCBteGNfbWFwX2lvKHZvaWQpOwogZXh0ZXJuIHZvaWQgbXhjX2luaXRfaXJxKHZvaWQpOwotZXh0ZXJuIHN0cnVjdCBzeXNfdGltZXIgbXhjX3RpbWVyOworZXh0ZXJuIHZvaWQgbXhjX3RpbWVyX2luaXQoY29uc3QgY2hhciAqY2xrX3RpbWVyKTsKK2V4dGVybiBpbnQgbXhjX2Nsb2Nrc19pbml0KHVuc2lnbmVkIGxvbmcgZnJlZik7CitleHRlcm4gaW50IG14Y19yZWdpc3Rlcl9ncGlvcyh2b2lkKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZGVidWctbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9kZWJ1Zy1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3NTA4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZGVidWctbWFjcm8uUwpAQCAtMCwwICsxLDQ5IEBACisvKiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvZGVidWctbWFjcm8uUworICoKKyAqIERlYnVnZ2luZyBtYWNybyBpbmNsdWRlIGhlYWRlcgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBSdXNzZWxsIEtpbmcKKyAqICBNb3ZlZCBmcm9tIGxpbnV4L2FyY2gvYXJtL2tlcm5lbC9kZWJ1Zy5TIGJ5IEJlbiBEb29rcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorCisjaWZkZWYgQ09ORklHX01BQ0hfTVgzMUFEUworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MzFhZHMuaD4KKyNlbmRpZgorI2lmZGVmIENPTkZJR19NQUNIX1BDTTAzNworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLXBjbTAzNy5oPgorI2VuZGlmCisjaWZkZWYgQ09ORklHX01BQ0hfTVgzMUxJVEUKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxbGl0ZS5oPgorI2VuZGlmCisjaWZkZWYgQ09ORklHX01BQ0hfTVgyN0FEUworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MjdhZHMuaD4KKyNlbmRpZgorI2lmZGVmIENPTkZJR19NQUNIX1BDTTAzOAorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLXBjbTAzOC5oPgorI2VuZGlmCisJCS5tYWNybwlhZGRydWFydCxyeAorCQltcmMJcDE1LCAwLCBccngsIGMxLCBjMAorCQl0c3QJXHJ4LCAjMQkJCUAgTU1VIGVuYWJsZWQ/CisJCWxkcmVxCVxyeCwgPU1YQ19MTF9VQVJUX1BBRERSCUAgcGh5c2ljYWwKKwkJbGRybmUJXHJ4LCA9TVhDX0xMX1VBUlRfVkFERFIJQCB2aXJ0dWFsCisJCS5lbmRtCisKKwkJLm1hY3JvCXNlbmR1YXJ0LHJkLHJ4CisJCXN0cglccmQsIFtccngsICMweDQwXQlAIFRYREFUQQorCQkuZW5kbQorCisJCS5tYWNybwl3YWl0dWFydCxyZCxyeAorCQkuZW5kbQorCisJCS5tYWNybwlidXN5dWFydCxyZCxyeAorMTAwMjoJCWxkcglccmQsIFtccngsICMweDk4XQlAIFNSMgorCQl0c3QJXHJkLCAjMSA8PCAzCQlAIFRYREMKKwkJYmVxCTEwMDJiCQkJQCB3YWl0IHVudGlsIHRyYW5zbWl0IGRvbmUKKwkJLmVuZG0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZ3Bpby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzOTNlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZ3Bpby5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0dQSU9fSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0dQSU9fSF9fCisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9ncGlvLmg+CisKKy8qIHVzZSBncGlvbGliIGRpc3BhdGNoZXJzICovCisjZGVmaW5lIGdwaW9fZ2V0X3ZhbHVlCQlfX2dwaW9fZ2V0X3ZhbHVlCisjZGVmaW5lIGdwaW9fc2V0X3ZhbHVlCQlfX2dwaW9fc2V0X3ZhbHVlCisjZGVmaW5lIGdwaW9fY2Fuc2xlZXAJCV9fZ3Bpb19jYW5zbGVlcAorCisjZGVmaW5lIGdwaW9fdG9faXJxKGdwaW8pCShNWENfTUFYX0lOVF9MSU5FUyArIChncGlvKSkKKyNkZWZpbmUgaXJxX3RvX2dwaW8oaXJxKQkoKGlycSkgLSBNWENfTUFYX0lOVF9MSU5FUykKKworc3RydWN0IG14Y19ncGlvX3BvcnQgeworCXZvaWQgX19pb21lbSAqYmFzZTsKKwlpbnQgaXJxOworCWludCB2aXJ0dWFsX2lycV9zdGFydDsKKwlzdHJ1Y3QgZ3Bpb19jaGlwIGNoaXA7Cit9OworCitpbnQgbXhjX2dwaW9faW5pdChzdHJ1Y3QgbXhjX2dwaW9fcG9ydCosIGludCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaGFyZHdhcmUuaAppbmRleCBlODdmZjA2Li4zN2NkZGJhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaGFyZHdhcmUuaApAQCAtMSwxMSArMSwyMCBAQAogLyoKLSAqICBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKi8KLQotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0hBUkRXQVJFX0hfXwpAQCAtMTcsMTUgKzI2LDEyIEBACiAjIGluY2x1ZGUgPGFzbS9hcmNoL214MzEuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8YXNtL2FyY2gvbXhjLmg+Ci0KLS8qCi0gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIEJvYXJkIHNwZWNpZmljIGRlZmluZXMKLSAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICovCi0jaWZkZWYgQ09ORklHX01BQ0hfTVgzMUFEUwotIyBpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxYWRzLmg+CisjaWZkZWYgQ09ORklHX0FSQ0hfTVgyCisjIGlmZGVmIENPTkZJR19NQUNIX01YMjcKKyMgIGluY2x1ZGUgPGFzbS9hcmNoL214MjcuaD4KKyMgZW5kaWYKICNlbmRpZgogCisjaW5jbHVkZSA8YXNtL2FyY2gvbXhjLmg+CisKICNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19IQVJEV0FSRV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9paW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9paW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTViZmZhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lpbS5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0lJTV9IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfSUlNX0hfXworCisvKiBSZWdpc3RlciBvZmZzZXRzICovCisjZGVmaW5lIE1YQ19JSU1TVEFUICAgICAgICAgICAgIDB4MDAwMAorI2RlZmluZSBNWENfSUlNU1RBVE0gICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgTVhDX0lJTUVSUiAgICAgICAgICAgICAgMHgwMDA4CisjZGVmaW5lIE1YQ19JSU1FTUFTSyAgICAgICAgICAgIDB4MDAwQworI2RlZmluZSBNWENfSUlNRkNUTCAgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgTVhDX0lJTVVBICAgICAgICAgICAgICAgMHgwMDE0CisjZGVmaW5lIE1YQ19JSU1MQSAgICAgICAgICAgICAgIDB4MDAxOAorI2RlZmluZSBNWENfSUlNU0RBVCAgICAgICAgICAgICAweDAwMUMKKyNkZWZpbmUgTVhDX0lJTVBSRVYgICAgICAgICAgICAgMHgwMDIwCisjZGVmaW5lIE1YQ19JSU1TUkVWICAgICAgICAgICAgIDB4MDAyNAorI2RlZmluZSBNWENfSUlNUFJHX1AgICAgICAgICAgICAweDAwMjgKKyNkZWZpbmUgTVhDX0lJTVNDUzAgICAgICAgICAgICAgMHgwMDJDCisjZGVmaW5lIE1YQ19JSU1TQ1MxICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBNWENfSUlNU0NTMiAgICAgICAgICAgICAweDAwMzQKKyNkZWZpbmUgTVhDX0lJTVNDUzMgICAgICAgICAgICAgMHgwMDM4CisjZGVmaW5lIE1YQ19JSU1GQkFDMCAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBNWENfSUlNSkFDICAgICAgICAgICAgICAweDA4MDQKKyNkZWZpbmUgTVhDX0lJTUhXVjEgICAgICAgICAgICAgMHgwODA4CisjZGVmaW5lIE1YQ19JSU1IV1YyICAgICAgICAgICAgIDB4MDgwQworI2RlZmluZSBNWENfSUlNSEFCMCAgICAgICAgICAgICAweDA4MTAKKyNkZWZpbmUgTVhDX0lJTUhBQjEgICAgICAgICAgICAgMHgwODE0CisvKiBEZWZpbml0aW9ucyBmb3IgaS5NWDI3IFRPMiAqLworI2RlZmluZSBNWENfSUlNTUFDICAgICAgICAgICAgICAweDA4MTQKKyNkZWZpbmUgTVhDX0lJTVBSRVZfRlVTRSAgICAgICAgMHgwODE4CisjZGVmaW5lIE1YQ19JSU1TUkVWX0ZVU0UgICAgICAgIDB4MDgxQworI2RlZmluZSBNWENfSUlNU0pDX0NIQUxMXzAgICAgICAweDA4MjAKKyNkZWZpbmUgTVhDX0lJTVNKQ19DSEFMTF83ICAgICAgMHgwODNDCisjZGVmaW5lIE1YQ19JSU1GQjBVQzE3ICAgICAgICAgIDB4MDg0MAorI2RlZmluZSBNWENfSUlNRkIwVUMyNTUgICAgICAgICAweDBCRkMKKyNkZWZpbmUgTVhDX0lJTUZCQUMxICAgICAgICAgICAgMHgwQzAwCisvKiBEZWZpbml0aW9ucyBmb3IgaS5NWDI3IFRPMiAqLworI2RlZmluZSBNWENfSUlNU1VJRCAgICAgICAgICAgICAweDBDMDQKKyNkZWZpbmUgTVhDX0lJTUtFWTAgICAgICAgICAgICAgMHgwQzA0CisjZGVmaW5lIE1YQ19JSU1LRVkyMCAgICAgICAgICAgIDB4MEM1NAorI2RlZmluZSBNWENfSUlNU0pDX1JFU1BfMCAgICAgICAweDBDNTgKKyNkZWZpbmUgTVhDX0lJTVNKQ19SRVNQXzcgICAgICAgMHgwQzc0CisjZGVmaW5lIE1YQ19JSU1GQjFVQzMwICAgICAgICAgIDB4MEM3OAorI2RlZmluZSBNWENfSUlNRkIxVUMyNTUgICAgICAgICAweDBGRkMKKworLyogQml0IGRlZmluaXRpb25zICovCisKKyNkZWZpbmUgTVhDX0lJTUhXVjFfV0xPQ0sgICAgICAgICAgICAgICAoMHgxIDw8IDcpCisjZGVmaW5lIE1YQ19JSU1IV1YxX01DVV9FTkRJQU4gICAgICAgICAgKDB4MSA8PCA2KQorI2RlZmluZSBNWENfSUlNSFdWMV9EU1BfRU5ESUFOICAgICAgICAgICgweDEgPDwgNSkKKyNkZWZpbmUgTVhDX0lJTUhXVjFfQk9PVF9JTlQgICAgICAgICAgICAoMHgxIDw8IDQpCisjZGVmaW5lIE1YQ19JSU1IV1YxX1NDQ19ESVNBQkxFICAgICAgICAgKDB4MSA8PCAzKQorI2RlZmluZSBNWENfSUlNSFdWMV9IQU5UUk9fRElTQUJMRSAgICAgICgweDEgPDwgMikKKyNkZWZpbmUgTVhDX0lJTUhXVjFfTUVNU1RJQ0tfRElTICAgICAgICAoMHgxIDw8IDEpCisKKyNkZWZpbmUgTVhDX0lJTUhXVjJfV0xPQ0sgICAgICAgICAgICAgICAoMHgxIDw8IDcpCisjZGVmaW5lIE1YQ19JSU1IV1YyX0JQX1NETUEgICAgICAgICAgICAgKDB4MSA8PCA2KQorI2RlZmluZSBNWENfSUlNSFdWMl9TQ01fRENNICAgICAgICAgICAgICgweDEgPDwgNSkKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0lJTV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pbXgtdWFydC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lteC11YXJ0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNmYjcyYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW14LXVhcnQuaApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgQVNNQVJNX0FSQ0hfVUFSVF9ICisjZGVmaW5lIEFTTUFSTV9BUkNIX1VBUlRfSAorCisjZGVmaW5lIElNWFVBUlRfSEFWRV9SVFNDVFMgKDE8PDApCisKK3N0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgeworCWludCAoKmluaXQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCWludCAoKmV4aXQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCXVuc2lnbmVkIGludCBmbGFnczsKK307CisKK2ludCBfX2luaXQgaW14X2luaXRfdWFydChpbnQgdWFydF9ubywgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGEpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDEtbXgyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgxLW14Mi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NmQzN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgxLW14Mi5oCkBAIC0wLDAgKzEsMzcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX01YQ19HUElPX01YMV9NWDJfSAorI2RlZmluZSBfTVhDX0dQSU9fTVgxX01YMl9ICisKKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMCTAKKyNkZWZpbmUgTVhDX0dQSU9fQUxMT0NfTU9ERV9OT19BTExPQwkxCisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfVFJZX0FMTE9DCTIKKyNkZWZpbmUgTVhDX0dQSU9fQUxMT0NfTU9ERV9BTExPQ19PTkxZCTQKKyNkZWZpbmUgTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFCTgKKworLyoKKyAqICBHUElPIE1vZHVsZSBhbmQgSS9PIE11bHRpcGxleGVyCisgKiAgeCA9IDAuLjMgZm9yIHJlZ19BLCByZWdfQiwgcmVnX0MsIHJlZ19ECisgKi8KKyNkZWZpbmUgVkFfR1BJT19CQVNFCUlPX0FERFJFU1MoR1BJT19CQVNFX0FERFIpCisjZGVmaW5lIE1YQ19ERElSKHgpICAgICgweDAwICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX09DUjEoeCkgICAgKDB4MDQgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfT0NSMih4KSAgICAoMHgwOCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ09ORkExKHgpICgweDBjICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDT05GQTIoeCkgKDB4MTAgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNPTkZCMSh4KSAoMHgxNCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ09ORkIyKHgpICgweDE4ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0RSKHgpICAgICAgKDB4MWMgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfR0lVUyh4KSAgICAoMHgyMCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19TU1IoeCkgICAgICgweDI0ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDUjEoeCkgICAgKDB4MjggKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNSMih4KSAgICAoMHgyYyArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JTVIoeCkgICAgICgweDMwICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lTUih4KSAgICAgKDB4MzQgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfR1BSKHgpICAgICAoMHgzOCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19TV1IoeCkgICAgICgweDNjICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX1BVRU4oeCkgICAgKDB4NDAgKyAoKHgpIDw8IDgpKQorCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgxCisjIGRlZmluZSBHUElPX1BPUlRfTUFYICAzCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQVJDSF9NWDIKKyMgZGVmaW5lIEdQSU9fUE9SVF9NQVggIDUKKyNlbmRpZgorCisjaWZuZGVmIEdQSU9fUE9SVF9NQVgKKyMgZXJyb3IgIkdQSU8gY29uZmlnIHBvcnQgY291bnQgdW5rbm93biEiCisjZW5kaWYKKworI2RlZmluZSBHUElPX1BJTl9NQVNLIDB4MWYKKworI2RlZmluZSBHUElPX1BPUlRfU0hJRlQgNQorI2RlZmluZSBHUElPX1BPUlRfTUFTSyAoMHg3IDw8IEdQSU9fUE9SVF9TSElGVCkKKworI2RlZmluZSBHUElPX1BPUlRBICgwIDw8IEdQSU9fUE9SVF9TSElGVCkKKyNkZWZpbmUgR1BJT19QT1JUQiAoMSA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEMgKDIgPDwgR1BJT19QT1JUX1NISUZUKQorI2RlZmluZSBHUElPX1BPUlREICgzIDw8IEdQSU9fUE9SVF9TSElGVCkKKyNkZWZpbmUgR1BJT19QT1JURSAoNCA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEYgKDUgPDwgR1BJT19QT1JUX1NISUZUKQorCisjZGVmaW5lIEdQSU9fT1VUICAgKDEgPDwgOCkKKyNkZWZpbmUgR1BJT19JTiAgICAoMCA8PCA4KQorI2RlZmluZSBHUElPX1BVRU4gICgxIDw8IDkpCisKKyNkZWZpbmUgR1BJT19QRiAgICAoMSA8PCAxMCkKKyNkZWZpbmUgR1BJT19BRiAgICAoMSA8PCAxMSkKKworI2RlZmluZSBHUElPX09DUl9TSElGVCAxMgorI2RlZmluZSBHUElPX09DUl9NQVNLICgzIDw8IEdQSU9fT0NSX1NISUZUKQorI2RlZmluZSBHUElPX0FJTiAgICgwIDw8IEdQSU9fT0NSX1NISUZUKQorI2RlZmluZSBHUElPX0JJTiAgICgxIDw8IEdQSU9fT0NSX1NISUZUKQorI2RlZmluZSBHUElPX0NJTiAgICgyIDw8IEdQSU9fT0NSX1NISUZUKQorI2RlZmluZSBHUElPX0dQSU8gICgzIDw8IEdQSU9fT0NSX1NISUZUKQorCisjZGVmaW5lIEdQSU9fQU9VVF9TSElGVCAxNAorI2RlZmluZSBHUElPX0FPVVRfTUFTSyAoMyA8PCBHUElPX0FPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQU9VVCAgICAgKDAgPDwgR1BJT19BT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0FPVVRfSVNSICgxIDw8IEdQSU9fQU9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19BT1VUXzAgICAoMiA8PCBHUElPX0FPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQU9VVF8xICAgKDMgPDwgR1BJT19BT1VUX1NISUZUKQorCisjZGVmaW5lIEdQSU9fQk9VVF9TSElGVCAxNgorI2RlZmluZSBHUElPX0JPVVRfTUFTSyAoMyA8PCBHUElPX0JPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQk9VVCAgICAgICgwIDw8IEdQSU9fQk9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19CT1VUX0lTUiAgKDEgPDwgR1BJT19CT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0JPVVRfMCAgICAoMiA8PCBHUElPX0JPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQk9VVF8xICAgICgzIDw8IEdQSU9fQk9VVF9TSElGVCkKKworZXh0ZXJuIHZvaWQgbXhjX2dwaW9fbW9kZShpbnQgZ3Bpb19tb2RlKTsKK2V4dGVybiBpbnQgbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhjb25zdCBpbnQgKnBpbl9saXN0LCB1bnNpZ25lZCBjb3VudCwKKwkJCQkJaW50IGFsbG9jX21vZGUsIGNvbnN0IGNoYXIgKmxhYmVsKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogYXNzaWduZW1lbnRzIGZvciBHUElPIGFsdGVybmF0ZS9wcmltYXJ5IGZ1bmN0aW9ucyAqLworCisvKiBGSVhNRTogVGhpcyBsaXN0IGlzIG5vdCBjb21wbGV0ZWQuIFRoZSBjb3JyZWN0IGRpcmVjdGlvbnMgYXJlCisgKiBtaXNzaW5nIG9uIHNvbWUgKG1hbnkpIHBpbnMKKyAqLworI2lmZGVmIENPTkZJR19BUkNIX01YMQorI2RlZmluZSBQQTBfQUlOX1NQSTJfQ0xLICAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgMCkKKyNkZWZpbmUgUEEwX0FGX0VUTVRSQUNFU1lOQyAgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMCkKKyNkZWZpbmUgUEExX0FPVVRfU1BJMl9SWEQgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEEgfCBHUElPX0lOIHwgMSkKKyNkZWZpbmUgUEExX1BGX1RJTiAgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMSkKKyNkZWZpbmUgUEEyX1BGX1BXTTAgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyKQorI2RlZmluZSBQQTNfUEZfQ1NJX01DTEsgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAzKQorI2RlZmluZSBQQTRfUEZfQ1NJX0QwICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA0KQorI2RlZmluZSBQQTVfUEZfQ1NJX0QxICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA1KQorI2RlZmluZSBQQTZfUEZfQ1NJX0QyICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQQTdfUEZfQ1NJX0QzICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA3KQorI2RlZmluZSBQQThfUEZfQ1NJX0Q0ICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA4KQorI2RlZmluZSBQQTlfUEZfQ1NJX0Q1ICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQQTEwX1BGX0NTSV9ENiAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEExMV9QRl9DU0lfRDcgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBBMTJfUEZfQ1NJX1ZTWU5DICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQQTEzX1BGX0NTSV9IU1lOQyAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEExNF9QRl9DU0lfUElYQ0xLICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBBMTVfUEZfSTJDX1NEQSAgICAgIChHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBBMTZfUEZfSTJDX1NDTCAgICAgIChHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBBMTdfQUZfRVRNVFJBQ0VQS1Q0IChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDE3KQorI2RlZmluZSBQQTE3X0FJTl9TUEkyX1NTICAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgMTcpCisjZGVmaW5lIFBBMThfQUZfRVRNVFJBQ0VQS1Q1IChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDE4KQorI2RlZmluZSBQQTE5X0FGX0VUTVRSQUNFUEtUNiAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAxOSkKKyNkZWZpbmUgUEEyMF9BRl9FVE1UUkFDRVBLVDcgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjApCisjZGVmaW5lIFBBMjFfUEZfQTAgICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQTIyX1BGX0NTNCAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyMikKKyNkZWZpbmUgUEEyM19QRl9DUzUgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBBMjRfUEZfQTE2ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQQTI0X0FGX0VUTVRSQUNFUEtUMCAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyNCkKKyNkZWZpbmUgUEEyNV9QRl9BMTcgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBBMjVfQUZfRVRNVFJBQ0VQS1QxIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI1KQorI2RlZmluZSBQQTI2X1BGX0ExOCAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEEyNl9BRl9FVE1UUkFDRVBLVDIgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjYpCisjZGVmaW5lIFBBMjdfUEZfQTE5ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQQTI3X0FGX0VUTVRSQUNFUEtUMyAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyNykKKyNkZWZpbmUgUEEyOF9QRl9BMjAgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBBMjhfQUZfRVRNUElQRVNUQVQwIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI4KQorI2RlZmluZSBQQTI5X1BGX0EyMSAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyOSkKKyNkZWZpbmUgUEEyOV9BRl9FVE1QSVBFU1RBVDEgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjkpCisjZGVmaW5lIFBBMzBfUEZfQTIyICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQQTMwX0FGX0VUTVBJUEVTVEFUMiAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAzMCkKKyNkZWZpbmUgUEEzMV9QRl9BMjMgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBBMzFfQUZfRVRNVFJBQ0VDTEsgIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDMxKQorI2RlZmluZSBQQjhfUEZfU0RfREFUMCAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX1BVRU4gfCA4KQorI2RlZmluZSBQQjhfQUZfTVNfUElPICAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCA4KQorI2RlZmluZSBQQjlfUEZfU0RfREFUMSAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX1BVRU4gIHwgOSkKKyNkZWZpbmUgUEI5X0FGX01TX1BJMSAgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgOSkKKyNkZWZpbmUgUEIxMF9QRl9TRF9EQVQyICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOICB8IDEwKQorI2RlZmluZSBQQjEwX0FGX01TX1NDTEtJICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMCkKKyNkZWZpbmUgUEIxMV9QRl9TRF9EQVQzICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBCMTFfQUZfTVNfU0RJTyAgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDExKQorI2RlZmluZSBQQjEyX1BGX1NEX0NMSyAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEIxMl9BRl9NU19TQ0xLMCAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTIpCisjZGVmaW5lIFBCMTNfUEZfU0RfQ01EICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fUFVFTiB8IDEzKQorI2RlZmluZSBQQjEzX0FGX01TX0JTICAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMykKKyNkZWZpbmUgUEIxNF9BRl9TU0lfUlhGUyAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTQpCisjZGVmaW5lIFBCMTVfQUZfU1NJX1JYQ0xLICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDE1KQorI2RlZmluZSBQQjE2X0FGX1NTSV9SWERBVCAgICAoR1BJT19QT1JUQiB8IEdQSU9fSU4gfCBHUElPX0FGIHwgMTYpCisjZGVmaW5lIFBCMTdfQUZfU1NJX1RYREFUICAgIChHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMTcpCisjZGVmaW5lIFBCMThfQUZfU1NJX1RYRlMgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDE4KQorI2RlZmluZSBQQjE5X0FGX1NTSV9UWENMSyAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxOSkKKyNkZWZpbmUgUEIyMF9QRl9VU0JEX0FGRSAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBCMjFfUEZfVVNCRF9PRSAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQjIyX1BGVVNCRF9SQ1YgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyMikKKyNkZWZpbmUgUEIyM19QRl9VU0JEX1NVU1BORCAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBCMjRfUEZfVVNCRF9WUCAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQQjI1X1BGX1VTQkRfVk0gICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyNSkKKyNkZWZpbmUgUEIyNl9QRl9VU0JEX1ZQTyAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBCMjdfUEZfVVNCRF9WTU8gICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQQjI4X1BGX1VBUlQyX0NUUyAgICAoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQQjI5X1BGX1VBUlQyX1JUUyAgICAoR1BJT19QT1JUQiB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBCMzBfUEZfVUFSVDJfVFhEICAgIChHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMzApCisjZGVmaW5lIFBCMzFfUEZfVUFSVDJfUlhEICAgIChHUElPX1BPUlRCIHwgR1BJT19JTiB8IEdQSU9fUEYgfCAzMSkKKyNkZWZpbmUgUEMzX1BGX1NTSV9SWEZTICAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMykKKyNkZWZpbmUgUEM0X1BGX1NTSV9SWENMSyAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgNCkKKyNkZWZpbmUgUEM1X1BGX1NTSV9SWERBVCAgICAgKEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgR1BJT19QRiB8IDUpCisjZGVmaW5lIFBDNl9QRl9TU0lfVFhEQVQgICAgIChHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEM3X1BGX1NTSV9UWEZTICAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgNykKKyNkZWZpbmUgUEM4X1BGX1NTSV9UWENMSyAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEM5X1BGX1VBUlQxX0NUUyAgICAgKEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQQzEwX1BGX1VBUlQxX1JUUyAgICAoR1BJT19QT1JUQyB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBDMTFfUEZfVUFSVDFfVFhEICAgIChHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBDMTJfUEZfVUFSVDFfUlhEICAgIChHUElPX1BPUlRDIHwgR1BJT19JTiB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEMxM19QRl9TUEkxX1NQSV9SRFkgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBDMTRfUEZfU1BJMV9TQ0xLICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQQzE1X1BGX1NQSTFfU1MgICAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEMxNl9QRl9TUEkxX01JU08gICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBDMTdfUEZfU1BJMV9NT1NJICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQQzI0X0JJTl9VQVJUM19SSSAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19CSU4gfCAyNCkKKyNkZWZpbmUgUEMyNV9CSU5fVUFSVDNfRFNSICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fQklOIHwgMjUpCisjZGVmaW5lIFBDMjZfQU9VVF9VQVJUM19EVFIgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IDI2KQorI2RlZmluZSBQQzI3X0JJTl9VQVJUM19EQ0QgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19CSU4gfCAyNykKKyNkZWZpbmUgUEMyOF9CSU5fVUFSVDNfQ1RTICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fQklOIHwgMjgpCisjZGVmaW5lIFBDMjlfQU9VVF9VQVJUM19SVFMgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IDI5KQorI2RlZmluZSBQQzMwX0JJTl9VQVJUM19UWCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fQklOIHwgMzApCisjZGVmaW5lIFBDMzFfQU9VVF9VQVJUM19SWCAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IDMxKQorI2RlZmluZSBQRDZfUEZfTFNDTEsgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDYpCisjZGVmaW5lIFBEN19QRl9SRVYgICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBEN19BRl9VQVJUMl9EVFIgICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQUYgfCA3KQorI2RlZmluZSBQRDdfQUlOX1NQSTJfU0NMSyAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fQUlOIHwgNykKKyNkZWZpbmUgUEQ4X1BGX0NMUyAgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEQ4X0FGX1VBUlQyX0RDRCAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCA4KQorI2RlZmluZSBQRDhfQUlOX1NQSTJfU1MgICAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fQUlOIHwgOCkKKyNkZWZpbmUgUEQ5X1BGX1BTICAgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEQ5X0FGX1VBUlQyX1JJICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCA5KQorI2RlZmluZSBQRDlfQU9VVF9TUEkyX1JYRCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fSU4gfCA5KQorI2RlZmluZSBQRDEwX1BGX1NQTF9TUFIgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQRDEwX0FGX1VBUlQyX0RTUiAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDEwKQorI2RlZmluZSBQRDEwX0FJTl9TUEkyX1RYRCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgMTApCisjZGVmaW5lIFBEMTFfUEZfQ09OVFJBU1QgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBEMTJfUEZfQUNEX09FICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBEMTNfUEZfTFBfSFNZTkMgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBEMTRfUEZfRkxNX1ZTWU5DICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBEMTVfUEZfTEQwICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBEMTZfUEZfTEQxICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBEMTdfUEZfTEQyICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBEMThfUEZfTEQzICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTgpCisjZGVmaW5lIFBEMTlfUEZfTEQ0ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTkpCisjZGVmaW5lIFBEMjBfUEZfTEQ1ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBEMjFfUEZfTEQ2ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjEpCisjZGVmaW5lIFBEMjJfUEZfTEQ3ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBEMjNfUEZfTEQ4ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBEMjRfUEZfTEQ5ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjQpCisjZGVmaW5lIFBEMjVfUEZfTEQxMCAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBEMjZfUEZfTEQxMSAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBEMjdfUEZfTEQxMiAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjcpCisjZGVmaW5lIFBEMjhfUEZfTEQxMyAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBEMjlfUEZfTEQxNCAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBEMzBfUEZfTEQxNSAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMzApCisjZGVmaW5lIFBEMzFfUEZfVE1SMk9VVCAgICAgIChHUElPX1BPUlREIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQRDMxX0JJTl9TUEkyX1RYRCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fQklOIHwgMzEpCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorI2RlZmluZSBQQTVfUEZfTFNDTEsJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNSkKKyNkZWZpbmUgUEE2X1BGX0xEMAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQQTdfUEZfTEQxCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBBOF9QRl9MRDIJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEE5X1BGX0xEMwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQQTEwX1BGX0xENAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEExMV9QRl9MRDUJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBBMTJfUEZfTEQ2CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQQTEzX1BGX0xENwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEExNF9QRl9MRDgJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBBMTVfUEZfTEQ5CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQQTE2X1BGX0xEMTAJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBBMTdfUEZfTEQxMQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEExOF9QRl9MRDEyCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQQTE5X1BGX0xEMTMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTkpCisjZGVmaW5lIFBBMjBfUEZfTEQxNAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMCkKKyNkZWZpbmUgUEEyMV9QRl9MRDE1CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQTIyX1BGX0xEMTYJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBBMjNfUEZfTEQxNwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMykKKyNkZWZpbmUgUEEyNF9QRl9SRVYJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjQpCisjZGVmaW5lIFBBMjVfUEZfQ0xTCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQQTI2X1BGX1BTCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQQTI3X1BGX1NQTF9TUFIJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjcpCisjZGVmaW5lIFBBMjhfUEZfSFNZTkMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBBMjlfUEZfVlNZTkMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBBMzBfUEZfQ09OVFJBU1QJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzMCkKKyNkZWZpbmUgUEEzMV9QRl9PRV9BQ0QJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBCMTBfUEZfQ1NJX0QwCQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQQjEwX0FGX1VBUlQ2X1RYRAkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDEwKQorI2RlZmluZSBQQjExX1BGX0NTSV9EMQkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEIxMV9BRl9VQVJUNl9SWEQJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAxMSkKKyNkZWZpbmUgUEIxMl9QRl9DU0lfRDIJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBCMTJfQUZfVUFSVDZfQ1RTCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMTIpCisjZGVmaW5lIFBCMTNfUEZfQ1NJX0QzCQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQQjEzX0FGX1VBUlQ2X1JUUwkoR1BJT19QT1JUQiB8IEdQSU9fSU4gIHwgR1BJT19BRiB8IDEzKQorI2RlZmluZSBQQjE0X1BGX0NTSV9ENAkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEIxNV9QRl9DU0lfTUNMSwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQQjE2X1BGX0NTSV9QSVhDTEsJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNikKKyNkZWZpbmUgUEIxN19QRl9DU0lfRDUJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBCMThfUEZfQ1NJX0Q2CQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQQjE4X0FGX1VBUlQ1X1RYRAkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDE4KQorI2RlZmluZSBQQjE5X1BGX0NTSV9ENwkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOSkKKyNkZWZpbmUgUEIxOV9BRl9VQVJUNV9SWEQJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAxOSkKKyNkZWZpbmUgUEIyMF9QRl9DU0lfVlNZTkMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMCkKKyNkZWZpbmUgUEIyMF9BRl9VQVJUNV9DVFMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyMCkKKyNkZWZpbmUgUEIyMV9QRl9DU0lfSFNZTkMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEIyMV9BRl9VQVJUNV9SVFMJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAyMSkKKyNkZWZpbmUgUEIyNl9BRl9VQVJUNF9SVFMJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEIyOF9BRl9VQVJUNF9UWEQJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyOCkKKyNkZWZpbmUgUEIyOV9BRl9VQVJUNF9DVFMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyOSkKKyNkZWZpbmUgUEIzMV9BRl9VQVJUNF9SWEQJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAzMSkKKyNkZWZpbmUgUEM1X1BGX0kyQzJfU0RBCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDUpCisjZGVmaW5lIFBDNl9QRl9JMkMyX1NDTAkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQQzE2X1BGX1NTSTRfRlMJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBDMTdfUEZfU1NJNF9SWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEMxOF9QRl9TU0k0X1RYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQQzE5X1BGX1NTSTRfQ0xLCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTkpCisjZGVmaW5lIFBDMjBfUEZfU1NJMV9GUwkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyMCkKKyNkZWZpbmUgUEMyMV9QRl9TU0kxX1JYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQzIyX1BGX1NTSTFfVFhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBDMjNfUEZfU1NJMV9DTEsJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyMykKKyNkZWZpbmUgUEMyNF9QRl9TU0kyX0ZTCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQQzI1X1BGX1NTSTJfUlhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBDMjZfUEZfU1NJMl9UWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEMyN19QRl9TU0kyX0NMSwkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQQzI4X1BGX1NTSTNfRlMJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBDMjlfUEZfU1NJM19SWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyOSkKKyNkZWZpbmUgUEMzMF9QRl9TU0kzX1RYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQQzMxX1BGX1NTSTNfQ0xLCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBEMF9BSU5fRkVDX1RYRDAJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMCkKKyNkZWZpbmUgUEQxX0FJTl9GRUNfVFhEMQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAxKQorI2RlZmluZSBQRDJfQUlOX0ZFQ19UWEQyCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDIpCisjZGVmaW5lIFBEM19BSU5fRkVDX1RYRDMJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMykKKyNkZWZpbmUgUEQ0X0FPVVRfRkVDX1JYX0VSCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDQpCisjZGVmaW5lIFBENV9BT1VUX0ZFQ19SWEQxCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDUpCisjZGVmaW5lIFBENl9BT1VUX0ZFQ19SWEQyCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDYpCisjZGVmaW5lIFBEN19BT1VUX0ZFQ19SWEQzCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDcpCisjZGVmaW5lIFBEOF9BRl9GRUNfTURJTwkJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BRiB8IDgpCisjZGVmaW5lIFBEOV9BSU5fRkVDX01EQwkJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgOSkKKyNkZWZpbmUgUEQxMF9BT1VUX0ZFQ19DUlMJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTApCisjZGVmaW5lIFBEMTFfQU9VVF9GRUNfVFhfQ0xLCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDExKQorI2RlZmluZSBQRDEyX0FPVVRfRkVDX1JYRDAJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTIpCisjZGVmaW5lIFBEMTNfQU9VVF9GRUNfUlhfRFYJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTMpCisjZGVmaW5lIFBEMTRfQU9VVF9GRUNfQ0xSCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDE0KQorI2RlZmluZSBQRDE1X0FPVVRfRkVDX0NPTAkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxNSkKKyNkZWZpbmUgUEQxNl9BSU5fRkVDX1RYX0VSCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDE2KQorI2RlZmluZSBQRDE3X1BGX0kyQ19EQVRBCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBEMThfUEZfSTJDX0NMSwkJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEQyNV9QRl9DU1BJMV9SRFkJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjUpCisjZGVmaW5lIFBEMjZfUEZfQ1NQSTFfU1MyCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDI2KQorI2RlZmluZSBQRDI3X1BGX0NTUEkxX1NTMQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAyNykKKyNkZWZpbmUgUEQyOF9QRl9DU1BJMV9TUzAJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjgpCisjZGVmaW5lIFBEMjlfUEZfQ1NQSTFfU0NMSwkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAyOSkKKyNkZWZpbmUgUEQzMF9QRl9DU1BJMV9NSVNPCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fUEYgIHwgMzApCisjZGVmaW5lIFBEMzFfUEZfQ1NQSTFfTU9TSQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAzMSkKKyNkZWZpbmUgUEYyM19BSU5fRkVDX1RYX0VOCShHUElPX1BPUlRGIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDIzKQorI2RlZmluZSBQRTNfUEZfVUFSVDJfQ1RTCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMykKKyNkZWZpbmUgUEU0X1BGX1VBUlQyX1JUUwkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDQpCisjZGVmaW5lIFBFNl9QRl9VQVJUMl9UWEQJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQRTdfUEZfVUFSVDJfUlhECShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgNykKKyNkZWZpbmUgUEU4X1BGX1VBUlQzX1RYRAkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBFOV9QRl9VQVJUM19SWEQJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQRTEwX1BGX1VBUlQzX0NUUwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQRTExX1BGX1VBUlQzX1JUUwkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQRTEyX1BGX1VBUlQxX1RYRAkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQRTEzX1BGX1VBUlQxX1JYRAkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQRTE0X1BGX1VBUlQxX0NUUwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQRTE1X1BGX1VBUlQxX1JUUwkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQRTE4X0FGX0NTUEkzX01JU08JKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAxOCkKKyNkZWZpbmUgUEUyMV9BRl9DU1BJM19TUwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDIxKQorI2RlZmluZSBQRTIyX0FGX0NTUEkzX01PU0kJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyMikKKyNkZWZpbmUgUEUyM19BRl9DU1BJM19TQ0xLCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjMpCisjZW5kaWYKKworLyogZGVjb2RlIGlycSBudW1iZXIgdG8gdXNlIHdpdGggSU1SKHgpLCBJU1IoeCkgYW5kIGZyaWVuZHMgKi8KKyNkZWZpbmUgSVJRX1RPX1JFRyhpcnEpICgoaXJxIC0gTVhDX01BWF9JTlRfTElORVMpID4+IDUpCisKKyNkZWZpbmUgSVJRX0dQSU9BKHgpICAoTVhDX01BWF9JTlRfTElORVMgKyB4KQorI2RlZmluZSBJUlFfR1BJT0IoeCkgIChJUlFfR1BJT0EoMzIpICsgeCkKKyNkZWZpbmUgSVJRX0dQSU9DKHgpICAoSVJRX0dQSU9CKDMyKSArIHgpCisjZGVmaW5lIElSUV9HUElPRCh4KSAgKElSUV9HUElPQygzMikgKyB4KQorCisjZW5kaWYgLyogX01YQ19HUElPX01YMV9NWDJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14My5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDllNzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgzLmgKQEAgLTAsMCArMSw1MDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX01BQ0hfTVgzMV9JT01VWF9IX18KKyNkZWZpbmUgX19NQUNIX01YMzFfSU9NVVhfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisvKgorICogdmFyaW91cyBJT01VWCBvdXRwdXQgZnVuY3Rpb25zCisgKi8KKworI2RlZmluZQlJT01VWF9PQ09ORklHX0dQSU8gKDAgPDwgNCkJLyogdXNlZCBhcyBHUElPICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfRlVOQyAoMSA8PCA0KQkvKiB1c2VkIGFzIGZ1bmN0aW9uICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUMSAoMiA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAxICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUMiAoMyA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAyICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUMyAoNCA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAzICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUNCAoNSA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiA0ICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUNSAoNiA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiA1ICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUNiAoNyA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiA2ICovCisjZGVmaW5lCUlPTVVYX0lDT05GSUdfTk9ORSAgMAkgCS8qIG5vdCBjb25maWd1cmVkIGZvciBpbnB1dCAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX0dQSU8gIDEJCS8qIHVzZWQgYXMgR1BJTyAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX0ZVTkMgIDIJCS8qIHVzZWQgYXMgZnVuY3Rpb24gKi8KKyNkZWZpbmUJSU9NVVhfSUNPTkZJR19BTFQxICA0CQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAxICovCisjZGVmaW5lCUlPTVVYX0lDT05GSUdfQUxUMiAgOAkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMiAqLworCisjZGVmaW5lIElPTVVYX0NPTkZJR19HUElPIChJT01VWF9PQ09ORklHX0dQSU8gfCBJT01VWF9JQ09ORklHX0dQSU8pCisjZGVmaW5lIElPTVVYX0NPTkZJR19GVU5DIChJT01VWF9PQ09ORklHX0ZVTkMgfCBJT01VWF9JQ09ORklHX0ZVTkMpCisjZGVmaW5lIElPTVVYX0NPTkZJR19BTFQxIChJT01VWF9PQ09ORklHX0FMVDEgfCBJT01VWF9JQ09ORklHX0FMVDEpCisjZGVmaW5lIElPTVVYX0NPTkZJR19BTFQyIChJT01VWF9PQ09ORklHX0FMVDIgfCBJT01VWF9JQ09ORklHX0FMVDIpCisKKy8qCisgKiB2YXJpb3VzIElPTVVYIHBhZCBmdW5jdGlvbnMKKyAqLworZW51bSBpb211eF9wYWRfY29uZmlnIHsKKwlQQURfQ1RMX05PTE9PUEJBQ0sJPSAweDAgPDwgOSwKKwlQQURfQ1RMX0xPT1BCQUNLCT0gMHgxIDw8IDksCisJUEFEX0NUTF9QS0VfTk9ORQk9IDB4MCA8PCA4LAorCVBBRF9DVExfUEtFX0VOQUJMRQk9IDB4MSA8PCA4LAorCVBBRF9DVExfUFVFX0tFRVBFUgk9IDB4MCA8PCA3LAorCVBBRF9DVExfUFVFX1BVRAkJPSAweDEgPDwgNywKKwlQQURfQ1RMXzEwMEtfUEQJCT0gMHgwIDw8IDUsCisJUEFEX0NUTF8xMDBLX1BVCQk9IDB4MSA8PCA1LAorCVBBRF9DVExfNDdLX1BVCQk9IDB4MiA8PCA1LAorCVBBRF9DVExfMjJLX1BVCQk9IDB4MyA8PCA1LAorCVBBRF9DVExfSFlTX0NNT1MJPSAweDAgPDwgNCwKKwlQQURfQ1RMX0hZU19TQ0hNSVRaCT0gMHgxIDw8IDQsCisJUEFEX0NUTF9PREVfQ01PUwk9IDB4MCA8PCAzLAorCVBBRF9DVExfT0RFX09wZW5EcmFpbgk9IDB4MSA8PCAzLAorCVBBRF9DVExfRFJWX05PUk1BTAk9IDB4MCA8PCAxLAorCVBBRF9DVExfRFJWX0hJR0gJPSAweDEgPDwgMSwKKwlQQURfQ1RMX0RSVl9NQVgJCT0gMHgyIDw8IDEsCisJUEFEX0NUTF9TUkVfU0xPVwk9IDB4MCA8PCAwLAorCVBBRF9DVExfU1JFX0ZBU1QJPSAweDEgPDwgMAorfTsKKworLyoKKyAqIHZhcmlvdXMgSU9NVVggZ2VuZXJhbCBwdXJwb3NlIGZ1bmN0aW9ucworICovCitlbnVtIGlvbXV4X2dwX2Z1bmMgeworCU1VWF9QR1BfRklSSQkJCT0gMSA8PCAwLAorCU1VWF9ERFJfTU9ERQkJCT0gMSA8PCAxLAorCU1VWF9QR1BfQ1NQSV9CQgkJCT0gMSA8PCAyLAorCU1VWF9QR1BfQVRBXzEJCQk9IDEgPDwgMywKKwlNVVhfUEdQX0FUQV8yCQkJPSAxIDw8IDQsCisJTVVYX1BHUF9BVEFfMwkJCT0gMSA8PCA1LAorCU1VWF9QR1BfQVRBXzQJCQk9IDEgPDwgNiwKKwlNVVhfUEdQX0FUQV81CQkJPSAxIDw8IDcsCisJTVVYX1BHUF9BVEFfNgkJCT0gMSA8PCA4LAorCU1VWF9QR1BfQVRBXzcJCQk9IDEgPDwgOSwKKwlNVVhfUEdQX0FUQV84CQkJPSAxIDw8IDEwLAorCU1VWF9QR1BfVUgyCQkJPSAxIDw8IDExLAorCU1VWF9TRENUTF9DU0QwX1NFTAkJPSAxIDw8IDEyLAorCU1VWF9TRENUTF9DU0QxX1NFTAkJPSAxIDw8IDEzLAorCU1VWF9DU1BJMV9VQVJUMwkJCT0gMSA8PCAxNCwKKwlNVVhfRVhURE1BUkVRMl9NQlhfU0VMCQk9IDEgPDwgMTUsCisJTVVYX1RBTVBFUl9ERVRFQ1RfRU4JCT0gMSA8PCAxNiwKKwlNVVhfUEdQX1VTQl80V0lSRQkJPSAxIDw8IDE3LAorCU1VWF9QR0JfVVNCX0NPTU1PTgkJPSAxIDw8IDE4LAorCU1VWF9TREhDX01FTVNUSUNLMQkJPSAxIDw8IDE5LAorCU1VWF9TREhDX01FTVNUSUNLMgkJPSAxIDw8IDIwLAorCU1VWF9QR1BfU1BMTF9CWVAJCT0gMSA8PCAyMSwKKwlNVVhfUEdQX1VQTExfQllQCQk9IDEgPDwgMjIsCisJTVVYX1BHUF9NU0hDMV9DTEtfU0VMCQk9IDEgPDwgMjMsCisJTVVYX1BHUF9NU0hDMl9DTEtfU0VMCQk9IDEgPDwgMjQsCisJTVVYX0NTUEkzX1VBUlQ1X1NFTAkJPSAxIDw8IDI1LAorCU1VWF9QR1BfQVRBXzkJCQk9IDEgPDwgMjYsCisJTVVYX1BHUF9VU0JfU1VTUEVORAkJPSAxIDw8IDI3LAorCU1VWF9QR1BfVVNCX09UR19MT09QQkFDSwk9IDEgPDwgMjgsCisJTVVYX1BHUF9VU0JfSFMxX0xPT1BCQUNLCT0gMSA8PCAyOSwKKwlNVVhfUEdQX1VTQl9IUzJfTE9PUEJBQ0sJPSAxIDw8IDMwLAorCU1VWF9DTEtPX0REUl9NT0RFCQk9IDEgPDwgMzEsCit9OworCisvKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzL2Rpc2FibGVzIHRoZSBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb24gZm9yIGEgcGFydGljdWxhcgorICogc2lnbmFsLgorICovCit2b2lkIGlvbXV4X2NvbmZpZ19ncHIoZW51bSBpb211eF9ncF9mdW5jICwgYm9vbCk7CisKKy8qCisgKiBzZXQgdGhlIG1vZGUgZm9yIGEgSU9NVVggcGluLgorICovCitpbnQgbXhjX2lvbXV4X21vZGUodW5zaWduZWQgaW50KTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcy9kaXNhYmxlcyB0aGUgZ2VuZXJhbCBwdXJwb3NlIGZ1bmN0aW9uIGZvciBhIHBhcnRpY3VsYXIKKyAqIHNpZ25hbC4KKyAqLwordm9pZCBteGNfaW9tdXhfc2V0X2dwcihlbnVtIGlvbXV4X2dwX2Z1bmMsIGJvb2wpOworCisjZGVmaW5lIElPTVVYX1BBRE5VTV9NQVNLCTB4MWZmCisjZGVmaW5lIElPTVVYX0dQSU9OVU1fU0hJRlQJOQorI2RlZmluZSBJT01VWF9HUElPTlVNX01BU0sJKDB4ZmYgPDwgSU9NVVhfR1BJT05VTV9TSElGVCkKKyNkZWZpbmUgSU9NVVhfTU9ERV9TSElGVAkxNworI2RlZmluZSBJT01VWF9NT0RFX01BU0sJKDB4ZmYgPDwgSU9NVVhfTU9ERV9TSElGVCkKKworI2RlZmluZSBJT01VWF9QSU4oZ3Bpb251bSwgcGFkbnVtKSBcCisJKCgoZ3Bpb251bSA8PCBJT01VWF9HUElPTlVNX1NISUZUKSAmIElPTVVYX0dQSU9OVU1fTUFTSykgfCBcCisJIChwYWRudW0gJiBJT01VWF9QQUROVU1fTUFTSykpCisKKyNkZWZpbmUgSU9NVVhfTU9ERShwaW4sIG1vZGUpIChwaW4gfCBtb2RlIDw8IElPTVVYX01PREVfU0hJRlQpCisKKyNkZWZpbmUgSU9NVVhfVE9fR1BJTyhpb211eF9waW4pIFwKKwkoKGlvbXV4X3BpbiAmIElPTVVYX0dQSU9OVU1fTUFTSykgPj4gSU9NVVhfR1BJT05VTV9TSElGVCkKKyNkZWZpbmUgSU9NVVhfVE9fSVJRKGlvbXV4X3BpbikgXAorCSgoKGlvbXV4X3BpbiAmIElPTVVYX0dQSU9OVU1fTUFTSykgPj4gSU9NVVhfR1BJT05VTV9TSElGVCkgKyBcCisJTVhDX0dQSU9fSU5UX0JBU0UpCisKKy8qCisgKiBUaGlzIGVudW1lcmF0aW9uIGlzIGNvbnN0cnVjdGVkIGJhc2VkIG9uIHRoZSBTZWN0aW9uCisgKiAic3dfcGFkX2N0bCAmIHN3X211eF9jdGwgZGV0YWlscyIgb2YgdGhlIE1YMzEgSUMgU3BlYy4gRWFjaCBlbnVtZXJhdGVkCisgKiB2YWx1ZSBpcyBjb25zdHJ1Y3RlZCBiYXNlZCBvbiB0aGUgcnVsZXMgZGVzY3JpYmVkIGFib3ZlLgorICovCisKK2VudW0gaW9tdXhfcGlucyB7CisJTVgzMV9QSU5fVFRNX1BBRAk9IElPTVVYX1BJTigweGZmLCAgIDApLAorCU1YMzFfUElOX0NTUEkzX1NQSV9SRFkJPSBJT01VWF9QSU4oMHhmZiwgICAxKSwKKwlNWDMxX1BJTl9DU1BJM19TQ0xLCT0gSU9NVVhfUElOKDB4ZmYsICAgMiksCisJTVgzMV9QSU5fQ1NQSTNfTUlTTwk9IElPTVVYX1BJTigweGZmLCAgIDMpLAorCU1YMzFfUElOX0NTUEkzX01PU0kJPSBJT01VWF9QSU4oMHhmZiwgICA0KSwKKwlNWDMxX1BJTl9DTEtTUwkJPSBJT01VWF9QSU4oMHhmZiwgICA1KSwKKwlNWDMxX1BJTl9DRV9DT05UUk9MCT0gSU9NVVhfUElOKDB4ZmYsICAgNiksCisJTVgzMV9QSU5fQVRBX1JFU0VUX0IJPSBJT01VWF9QSU4oOTUsICAgICA3KSwKKwlNWDMxX1BJTl9BVEFfRE1BQ0sJPSBJT01VWF9QSU4oOTQsICAgICA4KSwKKwlNWDMxX1BJTl9BVEFfRElPVwk9IElPTVVYX1BJTig5MywgICAgIDkpLAorCU1YMzFfUElOX0FUQV9ESU9SCT0gSU9NVVhfUElOKDkyLCAgICAxMCksCisJTVgzMV9QSU5fQVRBX0NTMQk9IElPTVVYX1BJTig5MSwgICAgMTEpLAorCU1YMzFfUElOX0FUQV9DUzAJPSBJT01VWF9QSU4oOTAsICAgIDEyKSwKKwlNWDMxX1BJTl9TRDFfREFUQTMJPSBJT01VWF9QSU4oNjMsICAgIDEzKSwKKwlNWDMxX1BJTl9TRDFfREFUQTIJPSBJT01VWF9QSU4oNjIsICAgIDE0KSwKKwlNWDMxX1BJTl9TRDFfREFUQTEJPSBJT01VWF9QSU4oNjEsICAgIDE1KSwKKwlNWDMxX1BJTl9TRDFfREFUQTAJPSBJT01VWF9QSU4oNjAsICAgIDE2KSwKKwlNWDMxX1BJTl9TRDFfQ0xLCT0gSU9NVVhfUElOKDU5LCAgICAxNyksCisJTVgzMV9QSU5fU0QxX0NNRAk9IElPTVVYX1BJTig1OCwgICAgMTgpLAorCU1YMzFfUElOX0QzX1NQTAkJPSBJT01VWF9QSU4oMHhmZiwgIDE5KSwKKwlNWDMxX1BJTl9EM19DTFMJCT0gSU9NVVhfUElOKDB4ZmYsICAyMCksCisJTVgzMV9QSU5fRDNfUkVWCQk9IElPTVVYX1BJTigweGZmLCAgMjEpLAorCU1YMzFfUElOX0NPTlRSQVNUCT0gSU9NVVhfUElOKDB4ZmYsICAyMiksCisJTVgzMV9QSU5fVlNZTkMzCQk9IElPTVVYX1BJTigweGZmLCAgMjMpLAorCU1YMzFfUElOX1JFQUQJCT0gSU9NVVhfUElOKDB4ZmYsICAyNCksCisJTVgzMV9QSU5fV1JJVEUJCT0gSU9NVVhfUElOKDB4ZmYsICAyNSksCisJTVgzMV9QSU5fUEFSX1JTCQk9IElPTVVYX1BJTigweGZmLCAgMjYpLAorCU1YMzFfUElOX1NFUl9SUwkJPSBJT01VWF9QSU4oODksICAgIDI3KSwKKwlNWDMxX1BJTl9MQ1MxCQk9IElPTVVYX1BJTig4OCwgICAgMjgpLAorCU1YMzFfUElOX0xDUzAJCT0gSU9NVVhfUElOKDg3LCAgICAyOSksCisJTVgzMV9QSU5fU0RfRF9DTEsJPSBJT01VWF9QSU4oODYsICAgIDMwKSwKKwlNWDMxX1BJTl9TRF9EX0lPCT0gSU9NVVhfUElOKDg1LCAgICAzMSksCisJTVgzMV9QSU5fU0RfRF9JCQk9IElPTVVYX1BJTig4NCwgICAgMzIpLAorCU1YMzFfUElOX0RSRFkwCQk9IElPTVVYX1BJTigweGZmLCAgMzMpLAorCU1YMzFfUElOX0ZQU0hJRlQJPSBJT01VWF9QSU4oMHhmZiwgIDM0KSwKKwlNWDMxX1BJTl9IU1lOQwkJPSBJT01VWF9QSU4oMHhmZiwgIDM1KSwKKwlNWDMxX1BJTl9WU1lOQzAJCT0gSU9NVVhfUElOKDB4ZmYsICAzNiksCisJTVgzMV9QSU5fTEQxNwkJPSBJT01VWF9QSU4oMHhmZiwgIDM3KSwKKwlNWDMxX1BJTl9MRDE2CQk9IElPTVVYX1BJTigweGZmLCAgMzgpLAorCU1YMzFfUElOX0xEMTUJCT0gSU9NVVhfUElOKDB4ZmYsICAzOSksCisJTVgzMV9QSU5fTEQxNAkJPSBJT01VWF9QSU4oMHhmZiwgIDQwKSwKKwlNWDMxX1BJTl9MRDEzCQk9IElPTVVYX1BJTigweGZmLCAgNDEpLAorCU1YMzFfUElOX0xEMTIJCT0gSU9NVVhfUElOKDB4ZmYsICA0MiksCisJTVgzMV9QSU5fTEQxMQkJPSBJT01VWF9QSU4oMHhmZiwgIDQzKSwKKwlNWDMxX1BJTl9MRDEwCQk9IElPTVVYX1BJTigweGZmLCAgNDQpLAorCU1YMzFfUElOX0xEOQkJPSBJT01VWF9QSU4oMHhmZiwgIDQ1KSwKKwlNWDMxX1BJTl9MRDgJCT0gSU9NVVhfUElOKDB4ZmYsICA0NiksCisJTVgzMV9QSU5fTEQ3CQk9IElPTVVYX1BJTigweGZmLCAgNDcpLAorCU1YMzFfUElOX0xENgkJPSBJT01VWF9QSU4oMHhmZiwgIDQ4KSwKKwlNWDMxX1BJTl9MRDUJCT0gSU9NVVhfUElOKDB4ZmYsICA0OSksCisJTVgzMV9QSU5fTEQ0CQk9IElPTVVYX1BJTigweGZmLCAgNTApLAorCU1YMzFfUElOX0xEMwkJPSBJT01VWF9QSU4oMHhmZiwgIDUxKSwKKwlNWDMxX1BJTl9MRDIJCT0gSU9NVVhfUElOKDB4ZmYsICA1MiksCisJTVgzMV9QSU5fTEQxCQk9IElPTVVYX1BJTigweGZmLCAgNTMpLAorCU1YMzFfUElOX0xEMAkJPSBJT01VWF9QSU4oMHhmZiwgIDU0KSwKKwlNWDMxX1BJTl9VU0JIMl9EQVRBMQk9IElPTVVYX1BJTigweGZmLCAgNTUpLAorCU1YMzFfUElOX1VTQkgyX0RBVEEwCT0gSU9NVVhfUElOKDB4ZmYsICA1NiksCisJTVgzMV9QSU5fVVNCSDJfTlhUCT0gSU9NVVhfUElOKDB4ZmYsICA1NyksCisJTVgzMV9QSU5fVVNCSDJfU1RQCT0gSU9NVVhfUElOKDB4ZmYsICA1OCksCisJTVgzMV9QSU5fVVNCSDJfRElSCT0gSU9NVVhfUElOKDB4ZmYsICA1OSksCisJTVgzMV9QSU5fVVNCSDJfQ0xLCT0gSU9NVVhfUElOKDB4ZmYsICA2MCksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEE3CT0gSU9NVVhfUElOKDB4ZmYsICA2MSksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEE2CT0gSU9NVVhfUElOKDB4ZmYsICA2MiksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEE1CT0gSU9NVVhfUElOKDB4ZmYsICA2MyksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEE0CT0gSU9NVVhfUElOKDB4ZmYsICA2NCksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEEzCT0gSU9NVVhfUElOKDB4ZmYsICA2NSksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEEyCT0gSU9NVVhfUElOKDB4ZmYsICA2NiksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEExCT0gSU9NVVhfUElOKDB4ZmYsICA2NyksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEEwCT0gSU9NVVhfUElOKDB4ZmYsICA2OCksCisJTVgzMV9QSU5fVVNCT1RHX05YVAk9IElPTVVYX1BJTigweGZmLCAgNjkpLAorCU1YMzFfUElOX1VTQk9UR19TVFAJPSBJT01VWF9QSU4oMHhmZiwgIDcwKSwKKwlNWDMxX1BJTl9VU0JPVEdfRElSCT0gSU9NVVhfUElOKDB4ZmYsICA3MSksCisJTVgzMV9QSU5fVVNCT1RHX0NMSwk9IElPTVVYX1BJTigweGZmLCAgNzIpLAorCU1YMzFfUElOX1VTQl9CWVAJPSBJT01VWF9QSU4oMzEsICAgIDczKSwKKwlNWDMxX1BJTl9VU0JfT0MJCT0gSU9NVVhfUElOKDMwLCAgICA3NCksCisJTVgzMV9QSU5fVVNCX1BXUgk9IElPTVVYX1BJTigyOSwgICAgNzUpLAorCU1YMzFfUElOX1NKQ19NT0QJPSBJT01VWF9QSU4oMHhmZiwgIDc2KSwKKwlNWDMxX1BJTl9ERV9CCQk9IElPTVVYX1BJTigweGZmLCAgNzcpLAorCU1YMzFfUElOX1RSU1RCCQk9IElPTVVYX1BJTigweGZmLCAgNzgpLAorCU1YMzFfUElOX1RETwkJPSBJT01VWF9QSU4oMHhmZiwgIDc5KSwKKwlNWDMxX1BJTl9UREkJCT0gSU9NVVhfUElOKDB4ZmYsICA4MCksCisJTVgzMV9QSU5fVE1TCQk9IElPTVVYX1BJTigweGZmLCAgODEpLAorCU1YMzFfUElOX1RDSwkJPSBJT01VWF9QSU4oMHhmZiwgIDgyKSwKKwlNWDMxX1BJTl9SVENLCQk9IElPTVVYX1BJTigweGZmLCAgODMpLAorCU1YMzFfUElOX0tFWV9DT0w3CT0gSU9NVVhfUElOKDU3LCAgICA4NCksCisJTVgzMV9QSU5fS0VZX0NPTDYJPSBJT01VWF9QSU4oNTYsICAgIDg1KSwKKwlNWDMxX1BJTl9LRVlfQ09MNQk9IElPTVVYX1BJTig1NSwgICAgODYpLAorCU1YMzFfUElOX0tFWV9DT0w0CT0gSU9NVVhfUElOKDU0LCAgICA4NyksCisJTVgzMV9QSU5fS0VZX0NPTDMJPSBJT01VWF9QSU4oMHhmZiwgIDg4KSwKKwlNWDMxX1BJTl9LRVlfQ09MMgk9IElPTVVYX1BJTigweGZmLCAgODkpLAorCU1YMzFfUElOX0tFWV9DT0wxCT0gSU9NVVhfUElOKDB4ZmYsICA5MCksCisJTVgzMV9QSU5fS0VZX0NPTDAJPSBJT01VWF9QSU4oMHhmZiwgIDkxKSwKKwlNWDMxX1BJTl9LRVlfUk9XNwk9IElPTVVYX1BJTig1MywgICAgOTIpLAorCU1YMzFfUElOX0tFWV9ST1c2CT0gSU9NVVhfUElOKDUyLCAgICA5MyksCisJTVgzMV9QSU5fS0VZX1JPVzUJPSBJT01VWF9QSU4oNTEsICAgIDk0KSwKKwlNWDMxX1BJTl9LRVlfUk9XNAk9IElPTVVYX1BJTig1MCwgICAgOTUpLAorCU1YMzFfUElOX0tFWV9ST1czCT0gSU9NVVhfUElOKDB4ZmYsICA5NiksCisJTVgzMV9QSU5fS0VZX1JPVzIJPSBJT01VWF9QSU4oMHhmZiwgIDk3KSwKKwlNWDMxX1BJTl9LRVlfUk9XMQk9IElPTVVYX1BJTigweGZmLCAgOTgpLAorCU1YMzFfUElOX0tFWV9ST1cwCT0gSU9NVVhfUElOKDB4ZmYsICA5OSksCisJTVgzMV9QSU5fQkFUVF9MSU5FCT0gSU9NVVhfUElOKDQ5LCAgIDEwMCksCisJTVgzMV9QSU5fQ1RTMgkJPSBJT01VWF9QSU4oMHhmZiwgMTAxKSwKKwlNWDMxX1BJTl9SVFMyCQk9IElPTVVYX1BJTigweGZmLCAxMDIpLAorCU1YMzFfUElOX1RYRDIJCT0gSU9NVVhfUElOKDI4LCAgIDEwMyksCisJTVgzMV9QSU5fUlhEMgkJPSBJT01VWF9QSU4oMjcsICAgMTA0KSwKKwlNWDMxX1BJTl9EVFJfRENFMgk9IElPTVVYX1BJTig0OCwgICAxMDUpLAorCU1YMzFfUElOX0RDRF9EVEUxCT0gSU9NVVhfUElOKDQ3LCAgIDEwNiksCisJTVgzMV9QSU5fUklfRFRFMQk9IElPTVVYX1BJTig0NiwgICAxMDcpLAorCU1YMzFfUElOX0RTUl9EVEUxCT0gSU9NVVhfUElOKDQ1LCAgIDEwOCksCisJTVgzMV9QSU5fRFRSX0RURTEJPSBJT01VWF9QSU4oNDQsICAgMTA5KSwKKwlNWDMxX1BJTl9EQ0RfRENFMQk9IElPTVVYX1BJTig0MywgICAxMTApLAorCU1YMzFfUElOX1JJX0RDRTEJPSBJT01VWF9QSU4oNDIsICAgMTExKSwKKwlNWDMxX1BJTl9EU1JfRENFMQk9IElPTVVYX1BJTig0MSwgICAxMTIpLAorCU1YMzFfUElOX0RUUl9EQ0UxCT0gSU9NVVhfUElOKDQwLCAgIDExMyksCisJTVgzMV9QSU5fQ1RTMQkJPSBJT01VWF9QSU4oMzksICAgMTE0KSwKKwlNWDMxX1BJTl9SVFMxCQk9IElPTVVYX1BJTigzOCwgICAxMTUpLAorCU1YMzFfUElOX1RYRDEJCT0gSU9NVVhfUElOKDM3LCAgIDExNiksCisJTVgzMV9QSU5fUlhEMQkJPSBJT01VWF9QSU4oMzYsICAgMTE3KSwKKwlNWDMxX1BJTl9DU1BJMl9TUElfUkRZCT0gSU9NVVhfUElOKDB4ZmYsIDExOCksCisJTVgzMV9QSU5fQ1NQSTJfU0NMSwk9IElPTVVYX1BJTigweGZmLCAxMTkpLAorCU1YMzFfUElOX0NTUEkyX1NTMgk9IElPTVVYX1BJTigweGZmLCAxMjApLAorCU1YMzFfUElOX0NTUEkyX1NTMQk9IElPTVVYX1BJTigweGZmLCAxMjEpLAorCU1YMzFfUElOX0NTUEkyX1NTMAk9IElPTVVYX1BJTigweGZmLCAxMjIpLAorCU1YMzFfUElOX0NTUEkyX01JU08JPSBJT01VWF9QSU4oMHhmZiwgMTIzKSwKKwlNWDMxX1BJTl9DU1BJMl9NT1NJCT0gSU9NVVhfUElOKDB4ZmYsIDEyNCksCisJTVgzMV9QSU5fQ1NQSTFfU1BJX1JEWQk9IElPTVVYX1BJTigweGZmLCAxMjUpLAorCU1YMzFfUElOX0NTUEkxX1NDTEsJPSBJT01VWF9QSU4oMHhmZiwgMTI2KSwKKwlNWDMxX1BJTl9DU1BJMV9TUzIJPSBJT01VWF9QSU4oMHhmZiwgMTI3KSwKKwlNWDMxX1BJTl9DU1BJMV9TUzEJPSBJT01VWF9QSU4oMHhmZiwgMTI4KSwKKwlNWDMxX1BJTl9DU1BJMV9TUzAJPSBJT01VWF9QSU4oMHhmZiwgMTI5KSwKKwlNWDMxX1BJTl9DU1BJMV9NSVNPCT0gSU9NVVhfUElOKDB4ZmYsIDEzMCksCisJTVgzMV9QSU5fQ1NQSTFfTU9TSQk9IElPTVVYX1BJTigweGZmLCAxMzEpLAorCU1YMzFfUElOX1NGUzYJCT0gSU9NVVhfUElOKDI2LCAgIDEzMiksCisJTVgzMV9QSU5fU0NLNgkJPSBJT01VWF9QSU4oMjUsICAgMTMzKSwKKwlNWDMxX1BJTl9TUlhENgkJPSBJT01VWF9QSU4oMjQsICAgMTM0KSwKKwlNWDMxX1BJTl9TVFhENgkJPSBJT01VWF9QSU4oMjMsICAgMTM1KSwKKwlNWDMxX1BJTl9TRlM1CQk9IElPTVVYX1BJTigweGZmLCAxMzYpLAorCU1YMzFfUElOX1NDSzUJCT0gSU9NVVhfUElOKDB4ZmYsIDEzNyksCisJTVgzMV9QSU5fU1JYRDUJCT0gSU9NVVhfUElOKDIyLCAgIDEzOCksCisJTVgzMV9QSU5fU1RYRDUJCT0gSU9NVVhfUElOKDIxLCAgIDEzOSksCisJTVgzMV9QSU5fU0ZTNAkJPSBJT01VWF9QSU4oMHhmZiwgMTQwKSwKKwlNWDMxX1BJTl9TQ0s0CQk9IElPTVVYX1BJTigweGZmLCAxNDEpLAorCU1YMzFfUElOX1NSWEQ0CQk9IElPTVVYX1BJTigyMCwgICAxNDIpLAorCU1YMzFfUElOX1NUWEQ0CQk9IElPTVVYX1BJTigxOSwgICAxNDMpLAorCU1YMzFfUElOX1NGUzMJCT0gSU9NVVhfUElOKDB4ZmYsIDE0NCksCisJTVgzMV9QSU5fU0NLMwkJPSBJT01VWF9QSU4oMHhmZiwgMTQ1KSwKKwlNWDMxX1BJTl9TUlhEMwkJPSBJT01VWF9QSU4oMTgsICAgMTQ2KSwKKwlNWDMxX1BJTl9TVFhEMwkJPSBJT01VWF9QSU4oMTcsICAgMTQ3KSwKKwlNWDMxX1BJTl9JMkNfREFUCT0gSU9NVVhfUElOKDB4ZmYsIDE0OCksCisJTVgzMV9QSU5fSTJDX0NMSwk9IElPTVVYX1BJTigweGZmLCAxNDkpLAorCU1YMzFfUElOX0NTSV9QSVhDTEsJPSBJT01VWF9QSU4oODMsICAgMTUwKSwKKwlNWDMxX1BJTl9DU0lfSFNZTkMJPSBJT01VWF9QSU4oODIsICAgMTUxKSwKKwlNWDMxX1BJTl9DU0lfVlNZTkMJPSBJT01VWF9QSU4oODEsICAgMTUyKSwKKwlNWDMxX1BJTl9DU0lfTUNMSwk9IElPTVVYX1BJTig4MCwgICAxNTMpLAorCU1YMzFfUElOX0NTSV9EMTUJPSBJT01VWF9QSU4oNzksICAgMTU0KSwKKwlNWDMxX1BJTl9DU0lfRDE0CT0gSU9NVVhfUElOKDc4LCAgIDE1NSksCisJTVgzMV9QSU5fQ1NJX0QxMwk9IElPTVVYX1BJTig3NywgICAxNTYpLAorCU1YMzFfUElOX0NTSV9EMTIJPSBJT01VWF9QSU4oNzYsICAgMTU3KSwKKwlNWDMxX1BJTl9DU0lfRDExCT0gSU9NVVhfUElOKDc1LCAgIDE1OCksCisJTVgzMV9QSU5fQ1NJX0QxMAk9IElPTVVYX1BJTig3NCwgICAxNTkpLAorCU1YMzFfUElOX0NTSV9EOQkJPSBJT01VWF9QSU4oNzMsICAgMTYwKSwKKwlNWDMxX1BJTl9DU0lfRDgJCT0gSU9NVVhfUElOKDcyLCAgIDE2MSksCisJTVgzMV9QSU5fQ1NJX0Q3CQk9IElPTVVYX1BJTig3MSwgICAxNjIpLAorCU1YMzFfUElOX0NTSV9ENgkJPSBJT01VWF9QSU4oNzAsICAgMTYzKSwKKwlNWDMxX1BJTl9DU0lfRDUJCT0gSU9NVVhfUElOKDY5LCAgIDE2NCksCisJTVgzMV9QSU5fQ1NJX0Q0CQk9IElPTVVYX1BJTig2OCwgICAxNjUpLAorCU1YMzFfUElOX01fR1JBTlQJPSBJT01VWF9QSU4oMHhmZiwgMTY2KSwKKwlNWDMxX1BJTl9NX1JFUVVFU1QJPSBJT01VWF9QSU4oMHhmZiwgMTY3KSwKKwlNWDMxX1BJTl9QQ19QT0UJCT0gSU9NVVhfUElOKDB4ZmYsIDE2OCksCisJTVgzMV9QSU5fUENfUldfQgk9IElPTVVYX1BJTigweGZmLCAxNjkpLAorCU1YMzFfUElOX0lPSVMxNgkJPSBJT01VWF9QSU4oMHhmZiwgMTcwKSwKKwlNWDMxX1BJTl9QQ19SU1QJCT0gSU9NVVhfUElOKDB4ZmYsIDE3MSksCisJTVgzMV9QSU5fUENfQlZEMgk9IElPTVVYX1BJTigweGZmLCAxNzIpLAorCU1YMzFfUElOX1BDX0JWRDEJPSBJT01VWF9QSU4oMHhmZiwgMTczKSwKKwlNWDMxX1BJTl9QQ19WUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDE3NCksCisJTVgzMV9QSU5fUENfVlMxCQk9IElPTVVYX1BJTigweGZmLCAxNzUpLAorCU1YMzFfUElOX1BDX1BXUk9OCT0gSU9NVVhfUElOKDB4ZmYsIDE3NiksCisJTVgzMV9QSU5fUENfUkVBRFkJPSBJT01VWF9QSU4oMHhmZiwgMTc3KSwKKwlNWDMxX1BJTl9QQ19XQUlUX0IJPSBJT01VWF9QSU4oMHhmZiwgMTc4KSwKKwlNWDMxX1BJTl9QQ19DRDJfQgk9IElPTVVYX1BJTigweGZmLCAxNzkpLAorCU1YMzFfUElOX1BDX0NEMV9CCT0gSU9NVVhfUElOKDB4ZmYsIDE4MCksCisJTVgzMV9QSU5fRDAJCT0gSU9NVVhfUElOKDB4ZmYsIDE4MSksCisJTVgzMV9QSU5fRDEJCT0gSU9NVVhfUElOKDB4ZmYsIDE4MiksCisJTVgzMV9QSU5fRDIJCT0gSU9NVVhfUElOKDB4ZmYsIDE4MyksCisJTVgzMV9QSU5fRDMJCT0gSU9NVVhfUElOKDB4ZmYsIDE4NCksCisJTVgzMV9QSU5fRDQJCT0gSU9NVVhfUElOKDB4ZmYsIDE4NSksCisJTVgzMV9QSU5fRDUJCT0gSU9NVVhfUElOKDB4ZmYsIDE4NiksCisJTVgzMV9QSU5fRDYJCT0gSU9NVVhfUElOKDB4ZmYsIDE4NyksCisJTVgzMV9QSU5fRDcJCT0gSU9NVVhfUElOKDB4ZmYsIDE4OCksCisJTVgzMV9QSU5fRDgJCT0gSU9NVVhfUElOKDB4ZmYsIDE4OSksCisJTVgzMV9QSU5fRDkJCT0gSU9NVVhfUElOKDB4ZmYsIDE5MCksCisJTVgzMV9QSU5fRDEwCQk9IElPTVVYX1BJTigweGZmLCAxOTEpLAorCU1YMzFfUElOX0QxMQkJPSBJT01VWF9QSU4oMHhmZiwgMTkyKSwKKwlNWDMxX1BJTl9EMTIJCT0gSU9NVVhfUElOKDB4ZmYsIDE5MyksCisJTVgzMV9QSU5fRDEzCQk9IElPTVVYX1BJTigweGZmLCAxOTQpLAorCU1YMzFfUElOX0QxNAkJPSBJT01VWF9QSU4oMHhmZiwgMTk1KSwKKwlNWDMxX1BJTl9EMTUJCT0gSU9NVVhfUElOKDB4ZmYsIDE5NiksCisJTVgzMV9QSU5fTkZSQgkJPSBJT01VWF9QSU4oMTYsICAgMTk3KSwKKwlNWDMxX1BJTl9ORkNFX0IJCT0gSU9NVVhfUElOKDE1LCAgIDE5OCksCisJTVgzMV9QSU5fTkZXUF9CCQk9IElPTVVYX1BJTigxNCwgICAxOTkpLAorCU1YMzFfUElOX05GQ0xFCQk9IElPTVVYX1BJTigxMywgICAyMDApLAorCU1YMzFfUElOX05GQUxFCQk9IElPTVVYX1BJTigxMiwgICAyMDEpLAorCU1YMzFfUElOX05GUkVfQgkJPSBJT01VWF9QSU4oMTEsICAgMjAyKSwKKwlNWDMxX1BJTl9ORldFX0IJCT0gSU9NVVhfUElOKDEwLCAgIDIwMyksCisJTVgzMV9QSU5fU0RRUzMJCT0gSU9NVVhfUElOKDB4ZmYsIDIwNCksCisJTVgzMV9QSU5fU0RRUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDIwNSksCisJTVgzMV9QSU5fU0RRUzEJCT0gSU9NVVhfUElOKDB4ZmYsIDIwNiksCisJTVgzMV9QSU5fU0RRUzAJCT0gSU9NVVhfUElOKDB4ZmYsIDIwNyksCisJTVgzMV9QSU5fU0RDTEtfQgk9IElPTVVYX1BJTigweGZmLCAyMDgpLAorCU1YMzFfUElOX1NEQ0xLCQk9IElPTVVYX1BJTigweGZmLCAyMDkpLAorCU1YMzFfUElOX1NEQ0tFMQkJPSBJT01VWF9QSU4oMHhmZiwgMjEwKSwKKwlNWDMxX1BJTl9TRENLRTAJCT0gSU9NVVhfUElOKDB4ZmYsIDIxMSksCisJTVgzMV9QSU5fU0RXRQkJPSBJT01VWF9QSU4oMHhmZiwgMjEyKSwKKwlNWDMxX1BJTl9DQVMJCT0gSU9NVVhfUElOKDB4ZmYsIDIxMyksCisJTVgzMV9QSU5fUkFTCQk9IElPTVVYX1BJTigweGZmLCAyMTQpLAorCU1YMzFfUElOX1JXCQk9IElPTVVYX1BJTigweGZmLCAyMTUpLAorCU1YMzFfUElOX0JDTEsJCT0gSU9NVVhfUElOKDB4ZmYsIDIxNiksCisJTVgzMV9QSU5fTEJBCQk9IElPTVVYX1BJTigweGZmLCAyMTcpLAorCU1YMzFfUElOX0VDQgkJPSBJT01VWF9QSU4oMHhmZiwgMjE4KSwKKwlNWDMxX1BJTl9DUzUJCT0gSU9NVVhfUElOKDB4ZmYsIDIxOSksCisJTVgzMV9QSU5fQ1M0CQk9IElPTVVYX1BJTigweGZmLCAyMjApLAorCU1YMzFfUElOX0NTMwkJPSBJT01VWF9QSU4oMHhmZiwgMjIxKSwKKwlNWDMxX1BJTl9DUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDIyMiksCisJTVgzMV9QSU5fQ1MxCQk9IElPTVVYX1BJTigweGZmLCAyMjMpLAorCU1YMzFfUElOX0NTMAkJPSBJT01VWF9QSU4oMHhmZiwgMjI0KSwKKwlNWDMxX1BJTl9PRQkJPSBJT01VWF9QSU4oMHhmZiwgMjI1KSwKKwlNWDMxX1BJTl9FQjEJCT0gSU9NVVhfUElOKDB4ZmYsIDIyNiksCisJTVgzMV9QSU5fRUIwCQk9IElPTVVYX1BJTigweGZmLCAyMjcpLAorCU1YMzFfUElOX0RRTTMJCT0gSU9NVVhfUElOKDB4ZmYsIDIyOCksCisJTVgzMV9QSU5fRFFNMgkJPSBJT01VWF9QSU4oMHhmZiwgMjI5KSwKKwlNWDMxX1BJTl9EUU0xCQk9IElPTVVYX1BJTigweGZmLCAyMzApLAorCU1YMzFfUElOX0RRTTAJCT0gSU9NVVhfUElOKDB4ZmYsIDIzMSksCisJTVgzMV9QSU5fU0QzMQkJPSBJT01VWF9QSU4oMHhmZiwgMjMyKSwKKwlNWDMxX1BJTl9TRDMwCQk9IElPTVVYX1BJTigweGZmLCAyMzMpLAorCU1YMzFfUElOX1NEMjkJCT0gSU9NVVhfUElOKDB4ZmYsIDIzNCksCisJTVgzMV9QSU5fU0QyOAkJPSBJT01VWF9QSU4oMHhmZiwgMjM1KSwKKwlNWDMxX1BJTl9TRDI3CQk9IElPTVVYX1BJTigweGZmLCAyMzYpLAorCU1YMzFfUElOX1NEMjYJCT0gSU9NVVhfUElOKDB4ZmYsIDIzNyksCisJTVgzMV9QSU5fU0QyNQkJPSBJT01VWF9QSU4oMHhmZiwgMjM4KSwKKwlNWDMxX1BJTl9TRDI0CQk9IElPTVVYX1BJTigweGZmLCAyMzkpLAorCU1YMzFfUElOX1NEMjMJCT0gSU9NVVhfUElOKDB4ZmYsIDI0MCksCisJTVgzMV9QSU5fU0QyMgkJPSBJT01VWF9QSU4oMHhmZiwgMjQxKSwKKwlNWDMxX1BJTl9TRDIxCQk9IElPTVVYX1BJTigweGZmLCAyNDIpLAorCU1YMzFfUElOX1NEMjAJCT0gSU9NVVhfUElOKDB4ZmYsIDI0MyksCisJTVgzMV9QSU5fU0QxOQkJPSBJT01VWF9QSU4oMHhmZiwgMjQ0KSwKKwlNWDMxX1BJTl9TRDE4CQk9IElPTVVYX1BJTigweGZmLCAyNDUpLAorCU1YMzFfUElOX1NEMTcJCT0gSU9NVVhfUElOKDB4ZmYsIDI0NiksCisJTVgzMV9QSU5fU0QxNgkJPSBJT01VWF9QSU4oMHhmZiwgMjQ3KSwKKwlNWDMxX1BJTl9TRDE1CQk9IElPTVVYX1BJTigweGZmLCAyNDgpLAorCU1YMzFfUElOX1NEMTQJCT0gSU9NVVhfUElOKDB4ZmYsIDI0OSksCisJTVgzMV9QSU5fU0QxMwkJPSBJT01VWF9QSU4oMHhmZiwgMjUwKSwKKwlNWDMxX1BJTl9TRDEyCQk9IElPTVVYX1BJTigweGZmLCAyNTEpLAorCU1YMzFfUElOX1NEMTEJCT0gSU9NVVhfUElOKDB4ZmYsIDI1MiksCisJTVgzMV9QSU5fU0QxMAkJPSBJT01VWF9QSU4oMHhmZiwgMjUzKSwKKwlNWDMxX1BJTl9TRDkJCT0gSU9NVVhfUElOKDB4ZmYsIDI1NCksCisJTVgzMV9QSU5fU0Q4CQk9IElPTVVYX1BJTigweGZmLCAyNTUpLAorCU1YMzFfUElOX1NENwkJPSBJT01VWF9QSU4oMHhmZiwgMjU2KSwKKwlNWDMxX1BJTl9TRDYJCT0gSU9NVVhfUElOKDB4ZmYsIDI1NyksCisJTVgzMV9QSU5fU0Q1CQk9IElPTVVYX1BJTigweGZmLCAyNTgpLAorCU1YMzFfUElOX1NENAkJPSBJT01VWF9QSU4oMHhmZiwgMjU5KSwKKwlNWDMxX1BJTl9TRDMJCT0gSU9NVVhfUElOKDB4ZmYsIDI2MCksCisJTVgzMV9QSU5fU0QyCQk9IElPTVVYX1BJTigweGZmLCAyNjEpLAorCU1YMzFfUElOX1NEMQkJPSBJT01VWF9QSU4oMHhmZiwgMjYyKSwKKwlNWDMxX1BJTl9TRDAJCT0gSU9NVVhfUElOKDB4ZmYsIDI2MyksCisJTVgzMV9QSU5fU0RCQTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI2NCksCisJTVgzMV9QSU5fU0RCQTEJCT0gSU9NVVhfUElOKDB4ZmYsIDI2NSksCisJTVgzMV9QSU5fQTI1CQk9IElPTVVYX1BJTigweGZmLCAyNjYpLAorCU1YMzFfUElOX0EyNAkJPSBJT01VWF9QSU4oMHhmZiwgMjY3KSwKKwlNWDMxX1BJTl9BMjMJCT0gSU9NVVhfUElOKDB4ZmYsIDI2OCksCisJTVgzMV9QSU5fQTIyCQk9IElPTVVYX1BJTigweGZmLCAyNjkpLAorCU1YMzFfUElOX0EyMQkJPSBJT01VWF9QSU4oMHhmZiwgMjcwKSwKKwlNWDMxX1BJTl9BMjAJCT0gSU9NVVhfUElOKDB4ZmYsIDI3MSksCisJTVgzMV9QSU5fQTE5CQk9IElPTVVYX1BJTigweGZmLCAyNzIpLAorCU1YMzFfUElOX0ExOAkJPSBJT01VWF9QSU4oMHhmZiwgMjczKSwKKwlNWDMxX1BJTl9BMTcJCT0gSU9NVVhfUElOKDB4ZmYsIDI3NCksCisJTVgzMV9QSU5fQTE2CQk9IElPTVVYX1BJTigweGZmLCAyNzUpLAorCU1YMzFfUElOX0ExNAkJPSBJT01VWF9QSU4oMHhmZiwgMjc2KSwKKwlNWDMxX1BJTl9BMTUJCT0gSU9NVVhfUElOKDB4ZmYsIDI3NyksCisJTVgzMV9QSU5fQTEzCQk9IElPTVVYX1BJTigweGZmLCAyNzgpLAorCU1YMzFfUElOX0ExMgkJPSBJT01VWF9QSU4oMHhmZiwgMjc5KSwKKwlNWDMxX1BJTl9BMTEJCT0gSU9NVVhfUElOKDB4ZmYsIDI4MCksCisJTVgzMV9QSU5fTUExMAkJPSBJT01VWF9QSU4oMHhmZiwgMjgxKSwKKwlNWDMxX1BJTl9BMTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI4MiksCisJTVgzMV9QSU5fQTkJCT0gSU9NVVhfUElOKDB4ZmYsIDI4MyksCisJTVgzMV9QSU5fQTgJCT0gSU9NVVhfUElOKDB4ZmYsIDI4NCksCisJTVgzMV9QSU5fQTcJCT0gSU9NVVhfUElOKDB4ZmYsIDI4NSksCisJTVgzMV9QSU5fQTYJCT0gSU9NVVhfUElOKDB4ZmYsIDI4NiksCisJTVgzMV9QSU5fQTUJCT0gSU9NVVhfUElOKDB4ZmYsIDI4NyksCisJTVgzMV9QSU5fQTQJCT0gSU9NVVhfUElOKDB4ZmYsIDI4OCksCisJTVgzMV9QSU5fQTMJCT0gSU9NVVhfUElOKDB4ZmYsIDI4OSksCisJTVgzMV9QSU5fQTIJCT0gSU9NVVhfUElOKDB4ZmYsIDI5MCksCisJTVgzMV9QSU5fQTEJCT0gSU9NVVhfUElOKDB4ZmYsIDI5MSksCisJTVgzMV9QSU5fQTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI5MiksCisJTVgzMV9QSU5fVlBHMQkJPSBJT01VWF9QSU4oMHhmZiwgMjkzKSwKKwlNWDMxX1BJTl9WUEcwCQk9IElPTVVYX1BJTigweGZmLCAyOTQpLAorCU1YMzFfUElOX0RWRlMxCQk9IElPTVVYX1BJTigweGZmLCAyOTUpLAorCU1YMzFfUElOX0RWRlMwCQk9IElPTVVYX1BJTigweGZmLCAyOTYpLAorCU1YMzFfUElOX1ZTVEJZCQk9IElPTVVYX1BJTigweGZmLCAyOTcpLAorCU1YMzFfUElOX1BPV0VSX0ZBSUwJPSBJT01VWF9QSU4oMHhmZiwgMjk4KSwKKwlNWDMxX1BJTl9DS0lMCQk9IElPTVVYX1BJTigweGZmLCAyOTkpLAorCU1YMzFfUElOX0JPT1RfTU9ERTQJPSBJT01VWF9QSU4oMHhmZiwgMzAwKSwKKwlNWDMxX1BJTl9CT09UX01PREUzCT0gSU9NVVhfUElOKDB4ZmYsIDMwMSksCisJTVgzMV9QSU5fQk9PVF9NT0RFMgk9IElPTVVYX1BJTigweGZmLCAzMDIpLAorCU1YMzFfUElOX0JPT1RfTU9ERTEJPSBJT01VWF9QSU4oMHhmZiwgMzAzKSwKKwlNWDMxX1BJTl9CT09UX01PREUwCT0gSU9NVVhfUElOKDB4ZmYsIDMwNCksCisJTVgzMV9QSU5fQ0xLTwkJPSBJT01VWF9QSU4oMHhmZiwgMzA1KSwKKwlNWDMxX1BJTl9QT1JfQgkJPSBJT01VWF9QSU4oMHhmZiwgMzA2KSwKKwlNWDMxX1BJTl9SRVNFVF9JTl9CCT0gSU9NVVhfUElOKDB4ZmYsIDMwNyksCisJTVgzMV9QSU5fQ0tJSAkJPSBJT01VWF9QSU4oMHhmZiwgMzA4KSwKKwlNWDMxX1BJTl9TSU1QRDAJCT0gSU9NVVhfUElOKDM1LCAgIDMwOSksCisJTVgzMV9QSU5fU1JYMAkJPSBJT01VWF9QSU4oMzQsICAgMzEwKSwKKwlNWDMxX1BJTl9TVFgwCQk9IElPTVVYX1BJTigzMywgICAzMTEpLAorCU1YMzFfUElOX1NWRU4wCQk9IElPTVVYX1BJTigzMiwgICAzMTIpLAorCU1YMzFfUElOX1NSU1QwCQk9IElPTVVYX1BJTig2NywgICAzMTMpLAorCU1YMzFfUElOX1NDTEswCQk9IElPTVVYX1BJTig2NiwgICAzMTQpLAorCU1YMzFfUElOX0dQSU8zXzEJPSBJT01VWF9QSU4oNjUsICAgMzE1KSwKKwlNWDMxX1BJTl9HUElPM18wCT0gSU9NVVhfUElOKDY0LCAgIDMxNiksCisJTVgzMV9QSU5fR1BJTzFfNgk9IElPTVVYX1BJTiggNiwgICAzMTcpLAorCU1YMzFfUElOX0dQSU8xXzUJPSBJT01VWF9QSU4oIDUsICAgMzE4KSwKKwlNWDMxX1BJTl9HUElPMV80CT0gSU9NVVhfUElOKCA0LCAgIDMxOSksCisJTVgzMV9QSU5fR1BJTzFfMwk9IElPTVVYX1BJTiggMywgICAzMjApLAorCU1YMzFfUElOX0dQSU8xXzIJPSBJT01VWF9QSU4oIDIsICAgMzIxKSwKKwlNWDMxX1BJTl9HUElPMV8xCT0gSU9NVVhfUElOKCAxLCAgIDMyMiksCisJTVgzMV9QSU5fR1BJTzFfMAk9IElPTVVYX1BJTiggMCwgICAzMjMpLAorCU1YMzFfUElOX1BXTU8JCT0gSU9NVVhfUElOKCA5LCAgIDMyNCksCisJTVgzMV9QSU5fV0FUQ0hET0dfUlNUCT0gSU9NVVhfUElOKDB4ZmYsIDMyNSksCisJTVgzMV9QSU5fQ09NUEFSRQk9IElPTVVYX1BJTiggOCwgICAzMjYpLAorCU1YMzFfUElOX0NBUFRVUkUJPSBJT01VWF9QSU4oIDcsICAgMzI3KSwKK307CisKKy8qCisgKiBDb252ZW5pZW5jZSB2YWx1ZXMgZm9yIHVzZSB3aXRoIG14Y19pb211eF9tb2RlKCkKKyAqCisgKiBGb3JtYXQgaGVyZSBpcyBNWDMxX1BJTl8ocGluIG5hbWUpX18oZnVuY3Rpb24pCisgKi8KKyNkZWZpbmUgTVgzMV9QSU5fQ1NQSTNfTU9TSV9fUlhEMwlJT01VWF9NT0RFKE1YMzFfUElOX0NTUEkzX01PU0ksIElPTVVYX0NPTkZJR19BTFQxKQorI2RlZmluZSBNWDMxX1BJTl9DU1BJM19NSVNPX19UWEQzCUlPTVVYX01PREUoTVgzMV9QSU5fQ1NQSTNfTUlTTywgSU9NVVhfQ09ORklHX0FMVDEpCisjZGVmaW5lIE1YMzFfUElOX0NUUzFfX0NUUzEJCUlPTVVYX01PREUoTVgzMV9QSU5fQ1RTMSwgSU9NVVhfQ09ORklHX0ZVTkMpCisjZGVmaW5lIE1YMzFfUElOX1JUUzFfX1JUUzEJCUlPTVVYX01PREUoTVgzMV9QSU5fUlRTMSwgSU9NVVhfQ09ORklHX0ZVTkMpCisjZGVmaW5lIE1YMzFfUElOX1RYRDFfX1RYRDEJCUlPTVVYX01PREUoTVgzMV9QSU5fVFhEMSwgSU9NVVhfQ09ORklHX0ZVTkMpCisjZGVmaW5lIE1YMzFfUElOX1JYRDFfX1JYRDEJCUlPTVVYX01PREUoTVgzMV9QSU5fUlhEMSwgSU9NVVhfQ09ORklHX0ZVTkMpCisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIHBhZCB2YWx1ZSBmb3IgYSBJT01VWCBwaW4uCisgKi8KK3ZvaWQgbXhjX2lvbXV4X3NldF9wYWQoZW51bSBpb211eF9waW5zLCB1MzIpOworCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pcnFzLmgKaW5kZXggYjJjNTIwNS4uZjQxNjEzMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lycXMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaXJxcy5oCkBAIC0xMywxNyArMTMsNCBAQAogCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNkZWZpbmUgTVhDX0lSUV9UT19FWFBJTyhpcnEpCSgoaXJxKSAtIE1YQ19FWFBfSU9fQkFTRSkKLQotI2RlZmluZSBNWENfSVJRX1RPX0dQSU8oaXJxKQkoKGlycSkgLSBNWENfR1BJT19JTlRfQkFTRSkKLSNkZWZpbmUgTVhDX0dQSU9fVE9fSVJRKHgpCShNWENfR1BJT19JTlRfQkFTRSArIHgpCi0KLS8qIE51bWJlciBvZiBub3JtYWwgaW50ZXJydXB0cyAqLwotI2RlZmluZSBOUl9JUlFTCQkoTVhDX01BWF9JTlRfTElORVMgKyBcCi0JCQlNWENfTUFYX0dQSU9fTElORVMgKyBcCi0JCQlNWENfTUFYX1ZJUlRVQUxfSU5UUykKLQotLyogTnVtYmVyIG9mIGZhc3QgaW50ZXJydXB0cyAqLwotI2RlZmluZSBOUl9GSVFTCQlNWENfTUFYX0lOVFMKLQogI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0lSUVNfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgyNy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MjcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTJlY2MyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MjcuaApAQCAtMCwwICsxLDMwMiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfTVgyN19IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfTVgyN19IX18KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19IQVJEV0FSRV9IX18KKyNlcnJvciAiRG8gbm90IGluY2x1ZGUgZGlyZWN0bHkuIgorI2VuZGlmCisKKy8qIElSQU0gKi8KKyNkZWZpbmUgSVJBTV9CQVNFX0FERFIgICAgICAgICAgMHhGRkZGNEMwMAkvKiBpbnRlcm5hbCByYW0gKi8KKworLyogUmVnaXN0ZXIgb2ZmZXN0cyAqLworI2RlZmluZSBBSVBJX0JBU0VfQUREUiAgICAgICAgICAweDEwMDAwMDAwCisjZGVmaW5lIEFJUElfQkFTRV9BRERSX1ZJUlQgICAgIDB4RjQwMDAwMDAKKyNkZWZpbmUgQUlQSV9TSVpFICAgICAgICAgICAgICAgU1pfMU0KKworI2RlZmluZSBETUFfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDAxMDAwKQorI2RlZmluZSBXRE9HX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDAyMDAwKQorI2RlZmluZSBHUFQxX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDAzMDAwKQorI2RlZmluZSBHUFQyX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA0MDAwKQorI2RlZmluZSBHUFQzX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA1MDAwKQorI2RlZmluZSBQV01fQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA2MDAwKQorI2RlZmluZSBSVENfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA3MDAwKQorI2RlZmluZSBLUFBfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA4MDAwKQorI2RlZmluZSBPV0lSRV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA5MDAwKQorI2RlZmluZSBVQVJUMV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBBMDAwKQorI2RlZmluZSBVQVJUMl9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBCMDAwKQorI2RlZmluZSBVQVJUM19CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBDMDAwKQorI2RlZmluZSBVQVJUNF9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBEMDAwKQorI2RlZmluZSBDU1BJMV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBFMDAwKQorI2RlZmluZSBDU1BJMl9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBGMDAwKQorI2RlZmluZSBTU0kxX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDEwMDAwKQorI2RlZmluZSBTU0kyX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDExMDAwKQorI2RlZmluZSBJMkNfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDEyMDAwKQorI2RlZmluZSBTREhDMV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDEzMDAwKQorI2RlZmluZSBTREhDMl9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE0MDAwKQorI2RlZmluZSBHUElPX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE1MDAwKQorI2RlZmluZSBBVURNVVhfQkFTRV9BRERSICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE2MDAwKQorCisjZGVmaW5lIENTUEkzX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTcwMDApCisjZGVmaW5lIE1TSENfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTgwMDApCisjZGVmaW5lIEdQVDVfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTkwMDApCisjZGVmaW5lIEdQVDRfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUEwMDApCisjZGVmaW5lIFVBUlQ1X0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUIwMDApCisjZGVmaW5lIFVBUlQ2X0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUMwMDApCisjZGVmaW5lIEkyQzJfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUQwMDApCisjZGVmaW5lIFNESEMzX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUUwMDApCisjZGVmaW5lIEdQVDZfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUYwMDApCisKKyNkZWZpbmUgTENEQ19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyMTAwMCkKKyNkZWZpbmUgU0xDRENfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyMjAwMCkKKyNkZWZpbmUgVlBVX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyMzAwMCkKKyNkZWZpbmUgVVNCT1RHX0JBU0VfQUREUiAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNDAwMCkKKy8qIGZvciBteDI3Ki8KKyNkZWZpbmUgT1RHX0JBU0VfQUREUiAgICAgICAgICAgVVNCT1RHX0JBU0VfQUREUgorI2RlZmluZSBTQUhBUkFfQkFTRV9BRERSICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI1MDAwKQorI2RlZmluZSBFTU1BX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI2NDAwKQorI2RlZmluZSBDQ01fQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI3MDAwKQorI2RlZmluZSBTWVNDVFJMX0JBU0VfQUREUiAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI3ODAwKQorI2RlZmluZSBJSU1fQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI4MDAwKQorCisjZGVmaW5lIFJUSUNfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MkEwMDApCisjZGVmaW5lIEZFQ19CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MkIwMDApCisjZGVmaW5lIFNDQ19CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MkMwMDApCisjZGVmaW5lIEVUQl9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4M0IwMDApCisjZGVmaW5lIEVUQl9SQU1fQkFTRV9BRERSICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4M0MwMDApCisKKyNkZWZpbmUgSkFNX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgzRTAwMCkKKyNkZWZpbmUgTUFYX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgzRjAwMCkKKworLyogUk9NUCBhbmQgQVZJQyAqLworI2RlZmluZSBST01QX0JBU0VfQUREUiAgICAgICAgICAweDEwMDQxMDAwCisKKyNkZWZpbmUgQVZJQ19CQVNFX0FERFIgICAgICAgICAgMHgxMDA0MDAwMAorCisjZGVmaW5lIFNBSEIxX0JBU0VfQUREUiAgICAgICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgU0FIQjFfQkFTRV9BRERSX1ZJUlQgICAgMHhGNDEwMDAwMAorI2RlZmluZSBTQUhCMV9TSVpFICAgICAgICAgICAgICBTWl8xTQorCisjZGVmaW5lIENTSV9CQVNFX0FERFIgICAgICAgICAgIChTQUhCMV9CQVNFX0FERFIgKyAweDAwMDApCisjZGVmaW5lIEFUQV9CQVNFX0FERFIgICAgICAgICAgIChTQUhCMV9CQVNFX0FERFIgKyAweDEwMDApCisKKy8qIE5BTkQsIFNEUkFNLCBXRUlNLCBNM0lGLCBFTUkgY29udHJvbGxlcnMgKi8KKyNkZWZpbmUgWF9NRU1DX0JBU0VfQUREUiAgICAgICAgMHhEODAwMDAwMAorI2RlZmluZSBYX01FTUNfQkFTRV9BRERSX1ZJUlQgICAweEY0MjAwMDAwCisjZGVmaW5lIFhfTUVNQ19TSVpFICAgICAgICAgICAgIFNaXzFNCisKKyNkZWZpbmUgTkZDX0JBU0VfQUREUiAgICAgICAgICAgKFhfTUVNQ19CQVNFX0FERFIpCisjZGVmaW5lIFNEUkFNQ19CQVNFX0FERFIgICAgICAgIChYX01FTUNfQkFTRV9BRERSICsgMHgxMDAwKQorI2RlZmluZSBXRUlNX0JBU0VfQUREUiAgICAgICAgICAoWF9NRU1DX0JBU0VfQUREUiArIDB4MjAwMCkKKyNkZWZpbmUgTTNJRl9CQVNFX0FERFIgICAgICAgICAgKFhfTUVNQ19CQVNFX0FERFIgKyAweDMwMDApCisjZGVmaW5lIFBDTUNJQV9DVExfQkFTRV9BRERSICAgIChYX01FTUNfQkFTRV9BRERSICsgMHg0MDAwKQorCisvKiBNZW1vcnkgcmVnaW9ucyBhbmQgQ1MgKi8KKyNkZWZpbmUgU0RSQU1fQkFTRV9BRERSCQkweEEwMDAwMDAwCisjZGVmaW5lIENTRDFfQkFTRV9BRERSCQkweEIwMDAwMDAwCisKKyNkZWZpbmUgQ1MwX0JBU0VfQUREUiAgICAgICAgICAgMHhDMDAwMDAwMAorI2RlZmluZSBDUzFfQkFTRV9BRERSICAgICAgICAgICAweEM4MDAwMDAwCisjZGVmaW5lIENTMl9CQVNFX0FERFIgICAgICAgICAgIDB4RDAwMDAwMDAKKyNkZWZpbmUgQ1MzX0JBU0VfQUREUiAgICAgICAgICAgMHhEMjAwMDAwMAorI2RlZmluZSBDUzRfQkFTRV9BRERSICAgICAgICAgICAweEQ0MDAwMDAwCisjZGVmaW5lIENTNV9CQVNFX0FERFIgICAgICAgICAgIDB4RDYwMDAwMDAKKyNkZWZpbmUgUENNQ0lBX01FTV9CQVNFX0FERFIgICAgMHhEQzAwMDAwMAorCisvKgorICogVGhpcyBtYWNybyBkZWZpbmVzIHRoZSBwaHlzaWNhbCB0byB2aXJ0dWFsIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHRoZQorICogcGVyaXBoZXJhbCBtb2R1bGVzLiBJdCBpcyB1c2VkIGJ5IHBhc3NpbmcgaW4gdGhlIHBoeXNpY2FsIGFkZHJlc3MgYXMgeAorICogYW5kIHJldHVybmluZyB0aGUgdmlydHVhbCBhZGRyZXNzLiBJZiB0aGUgcGh5c2ljYWwgYWRkcmVzcyBpcyBub3QgbWFwcGVkLAorICogaXQgcmV0dXJucyAweERFQURCRUVGCisgKi8KKyNkZWZpbmUgSU9fQUREUkVTUyh4KSAgIFwKKwkoKCh4ID49IEFJUElfQkFTRV9BRERSKSAmJiAoeCA8IChBSVBJX0JBU0VfQUREUiArIEFJUElfU0laRSkpKSA/IFwKKwkJQUlQSV9JT19BRERSRVNTKHgpIDogXAorCSgoeCA+PSBTQUhCMV9CQVNFX0FERFIpICYmICh4IDwgKFNBSEIxX0JBU0VfQUREUiArIFNBSEIxX1NJWkUpKSkgPyBcCisJCVNBSEIxX0lPX0FERFJFU1MoeCkgOiBcCisJKCh4ID49IFhfTUVNQ19CQVNFX0FERFIpICYmICh4IDwgKFhfTUVNQ19CQVNFX0FERFIgKyBYX01FTUNfU0laRSkpKSA/IFwKKwkJWF9NRU1DX0lPX0FERFJFU1MoeCkgOiAweERFQURCRUVGKQorCisvKiBkZWZpbmUgdGhlIGFkZHJlc3MgbWFwcGluZyBtYWNyb3M6IGluIHBoeXNpY2FsIGFkZHJlc3Mgb3JkZXIgKi8KKyNkZWZpbmUgQUlQSV9JT19BRERSRVNTKHgpICBcCisJKCgoeCkgLSBBSVBJX0JBU0VfQUREUikgKyBBSVBJX0JBU0VfQUREUl9WSVJUKQorCisjZGVmaW5lIEFWSUNfSU9fQUREUkVTUyh4KQlBSVBJX0lPX0FERFJFU1MoeCkKKworI2RlZmluZSBTQUhCMV9JT19BRERSRVNTKHgpICBcCisJKCgoeCkgLSBTQUhCMV9CQVNFX0FERFIpICsgU0FIQjFfQkFTRV9BRERSX1ZJUlQpCisKKyNkZWZpbmUgQ1M0X0lPX0FERFJFU1MoeCkgIFwKKwkoKCh4KSAtIENTNF9CQVNFX0FERFIpICsgQ1M0X0JBU0VfQUREUl9WSVJUKQorCisjZGVmaW5lIFhfTUVNQ19JT19BRERSRVNTKHgpICBcCisJKCgoeCkgLSBYX01FTUNfQkFTRV9BRERSKSArIFhfTUVNQ19CQVNFX0FERFJfVklSVCkKKworI2RlZmluZSBQQ01DSUFfSU9fQUREUkVTUyh4KSBcCisJKCgoeCkgLSBYX01FTUNfQkFTRV9BRERSKSArIFhfTUVNQ19CQVNFX0FERFJfVklSVCkKKworLyogZml4ZWQgaW50ZXJycHV0IG51bWJlcnMgKi8KKyNkZWZpbmUgTVhDX0lOVF9DQ00JCTYzCisjZGVmaW5lIE1YQ19JTlRfSUlNCQk2MgorI2RlZmluZSBNWENfSU5UX0xDREMJCTYxCisjZGVmaW5lIE1YQ19JTlRfU0xDREMJCTYwCisjZGVmaW5lIE1YQ19JTlRfU0FIQVJBCQk1OQorI2RlZmluZSBNWENfSU5UX1NDQ19TQ00JCTU4CisjZGVmaW5lIE1YQ19JTlRfU0NDX1NNTgkJNTcKKyNkZWZpbmUgTVhDX0lOVF9VU0IzCQk1NgorI2RlZmluZSBNWENfSU5UX1VTQjIJCTU1CisjZGVmaW5lIE1YQ19JTlRfVVNCMQkJNTQKKyNkZWZpbmUgTVhDX0lOVF9WUFUJCTUzCisjZGVmaW5lIE1YQ19JTlRfRU1NQVBQCQk1MgorI2RlZmluZSBNWENfSU5UX0VNTUFQUlAJCTUxCisjZGVmaW5lIE1YQ19JTlRfRkVDCQk1MAorI2RlZmluZSBNWENfSU5UX1VBUlQ1CQk0OQorI2RlZmluZSBNWENfSU5UX1VBUlQ2CQk0OAorI2RlZmluZSBNWENfSU5UX0RNQUNIMTUJCTQ3CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxNAkJNDYKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDEzCQk0NQorI2RlZmluZSBNWENfSU5UX0RNQUNIMTIJCTQ0CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxMQkJNDMKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDEwCQk0MgorI2RlZmluZSBNWENfSU5UX0RNQUNIOQkJNDEKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDgJCTQwCisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g3CQkzOQorI2RlZmluZSBNWENfSU5UX0RNQUNINgkJMzgKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDUJCTM3CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g0CQkzNgorI2RlZmluZSBNWENfSU5UX0RNQUNIMwkJMzUKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDIJCTM0CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxCQkzMworI2RlZmluZSBNWENfSU5UX0RNQUNIMAkJMzIKKyNkZWZpbmUgTVhDX0lOVF9DU0kJCTMxCisjZGVmaW5lIE1YQ19JTlRfQVRBCQkzMAorI2RlZmluZSBNWENfSU5UX05BTkRGQwkJMjkKKyNkZWZpbmUgTVhDX0lOVF9QQ01DSUEJCTI4CisjZGVmaW5lIE1YQ19JTlRfV0RPRwkJMjcKKyNkZWZpbmUgTVhDX0lOVF9HUFQxCQkyNgorI2RlZmluZSBNWENfSU5UX0dQVDIJCTI1CisjZGVmaW5lIE1YQ19JTlRfR1BUMwkJMjQKKyNkZWZpbmUgTVhDX0lOVF9HUFQJCUlOVF9HUFQxCisjZGVmaW5lIE1YQ19JTlRfUFdNCQkyMworI2RlZmluZSBNWENfSU5UX1JUQwkJMjIKKyNkZWZpbmUgTVhDX0lOVF9LUFAJCTIxCisjZGVmaW5lIE1YQ19JTlRfVUFSVDEJCTIwCisjZGVmaW5lIE1YQ19JTlRfVUFSVDIJCTE5CisjZGVmaW5lIE1YQ19JTlRfVUFSVDMJCTE4CisjZGVmaW5lIE1YQ19JTlRfVUFSVDQJCTE3CisjZGVmaW5lIE1YQ19JTlRfQ1NQSTEJCTE2CisjZGVmaW5lIE1YQ19JTlRfQ1NQSTIJCTE1CisjZGVmaW5lIE1YQ19JTlRfU1NJMQkJMTQKKyNkZWZpbmUgTVhDX0lOVF9TU0kyCQkxMworI2RlZmluZSBNWENfSU5UX0kyQwkJMTIKKyNkZWZpbmUgTVhDX0lOVF9TREhDMQkJMTEKKyNkZWZpbmUgTVhDX0lOVF9TREhDMgkJMTAKKyNkZWZpbmUgTVhDX0lOVF9TREhDMwkJOQorI2RlZmluZSBNWENfSU5UX0dQSU8JCTgKKyNkZWZpbmUgTVhDX0lOVF9TREhDCQk3CisjZGVmaW5lIE1YQ19JTlRfQ1NQSTMJCTYKKyNkZWZpbmUgTVhDX0lOVF9SVElDCQk1CisjZGVmaW5lIE1YQ19JTlRfR1BUNAkJNAorI2RlZmluZSBNWENfSU5UX0dQVDUJCTMKKyNkZWZpbmUgTVhDX0lOVF9HUFQ2CQkyCisjZGVmaW5lIE1YQ19JTlRfSTJDMgkJMQorCisvKiBmaXhlZCBETUEgcmVxdWVzdCBudW1iZXJzICovCisjZGVmaW5lIERNQV9SRVFfTkZDICAgICAgICAgICAgIDM3CisjZGVmaW5lIERNQV9SRVFfU0RIQzMgICAgICAgICAgIDM2CisjZGVmaW5lIERNQV9SRVFfVUFSVDZfUlggICAgICAgIDM1CisjZGVmaW5lIERNQV9SRVFfVUFSVDZfVFggICAgICAgIDM0CisjZGVmaW5lIERNQV9SRVFfVUFSVDVfUlggICAgICAgIDMzCisjZGVmaW5lIERNQV9SRVFfVUFSVDVfVFggICAgICAgIDMyCisjZGVmaW5lIERNQV9SRVFfQ1NJX1JYICAgICAgICAgIDMxCisjZGVmaW5lIERNQV9SRVFfQ1NJX1NUQVQgICAgICAgIDMwCisjZGVmaW5lIERNQV9SRVFfQVRBX1JDViAgICAgICAgIDI5CisjZGVmaW5lIERNQV9SRVFfQVRBX1RYICAgICAgICAgIDI4CisjZGVmaW5lIERNQV9SRVFfVUFSVDFfVFggICAgICAgIDI3CisjZGVmaW5lIERNQV9SRVFfVUFSVDFfUlggICAgICAgIDI2CisjZGVmaW5lIERNQV9SRVFfVUFSVDJfVFggICAgICAgIDI1CisjZGVmaW5lIERNQV9SRVFfVUFSVDJfUlggICAgICAgIDI0CisjZGVmaW5lIERNQV9SRVFfVUFSVDNfVFggICAgICAgIDIzCisjZGVmaW5lIERNQV9SRVFfVUFSVDNfUlggICAgICAgIDIyCisjZGVmaW5lIERNQV9SRVFfVUFSVDRfVFggICAgICAgIDIxCisjZGVmaW5lIERNQV9SRVFfVUFSVDRfUlggICAgICAgIDIwCisjZGVmaW5lIERNQV9SRVFfQ1NQSTFfVFggICAgICAgIDE5CisjZGVmaW5lIERNQV9SRVFfQ1NQSTFfUlggICAgICAgIDE4CisjZGVmaW5lIERNQV9SRVFfQ1NQSTJfVFggICAgICAgIDE3CisjZGVmaW5lIERNQV9SRVFfQ1NQSTJfUlggICAgICAgIDE2CisjZGVmaW5lIERNQV9SRVFfU1NJMV9UWDEgICAgICAgIDE1CisjZGVmaW5lIERNQV9SRVFfU1NJMV9SWDEgICAgICAgIDE0CisjZGVmaW5lIERNQV9SRVFfU1NJMV9UWDAgICAgICAgIDEzCisjZGVmaW5lIERNQV9SRVFfU1NJMV9SWDAgICAgICAgIDEyCisjZGVmaW5lIERNQV9SRVFfU1NJMl9UWDEgICAgICAgIDExCisjZGVmaW5lIERNQV9SRVFfU1NJMl9SWDEgICAgICAgIDEwCisjZGVmaW5lIERNQV9SRVFfU1NJMl9UWDAgICAgICAgIDkKKyNkZWZpbmUgRE1BX1JFUV9TU0kyX1JYMCAgICAgICAgOAorI2RlZmluZSBETUFfUkVRX1NESEMxICAgICAgICAgICA3CisjZGVmaW5lIERNQV9SRVFfU0RIQzIgICAgICAgICAgIDYKKyNkZWZpbmUgRE1BX1JFUV9NU0hDICAgICAgICAgICAgNAorI2RlZmluZSBETUFfUkVRX0VYVCAgICAgICAgICAgICAzCisjZGVmaW5lIERNQV9SRVFfQ1NQSTNfVFggICAgICAgIDIKKyNkZWZpbmUgRE1BX1JFUV9DU1BJM19SWCAgICAgICAgMQorCisvKiBzaWxpY29uIHJldmlzaW9ucyBzcGVjaWZpYyB0byBpLk1YMjcgKi8KKyNkZWZpbmUgQ0hJUF9SRVZfMV8wCQkweDAwCisjZGVmaW5lIENISVBfUkVWXzJfMAkJMHgwMQorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworZXh0ZXJuIGludCBteDI3X3JldmlzaW9uKHZvaWQpOworI2VuZGlmCisKKy8qIGdwaW8gYW5kIGdwaW8gYmFzZWQgaW50ZXJydXB0IGhhbmRsaW5nICovCisjZGVmaW5lIEdQSU9fRFIJCSAJMHgxQworI2RlZmluZSBHUElPX0dESVIJIAkweDAwCisjZGVmaW5lIEdQSU9fUFNSCSAJMHgyNAorI2RlZmluZSBHUElPX0lDUjEJIAkweDI4CisjZGVmaW5lIEdQSU9fSUNSMgkgCTB4MkMKKyNkZWZpbmUgR1BJT19JTVIJIAkweDMwCisjZGVmaW5lIEdQSU9fSVNSCSAJMHgzNAorI2RlZmluZSBHUElPX0lOVF9MT1dfTEVWCTB4MworI2RlZmluZSBHUElPX0lOVF9ISUdIX0xFVgkweDIKKyNkZWZpbmUgR1BJT19JTlRfUklTRV9FREdFIAkweDAKKyNkZWZpbmUgR1BJT19JTlRfRkFMTF9FREdFCTB4MQorI2RlZmluZSBHUElPX0lOVF9OT05FCQkweDQKKworLyogTWFuZGF0b3J5IGRlZmluZXMgdXNlZCBnbG9iYWxseSAqLworCisvKiB0aGlzIGlzIGFuIGkuTVgyNyBDUFUgKi8KKyNkZWZpbmUgY3B1X2lzX214MjcoKQkJKDEpCisKKy8qIHRoaXMgQ1BVIHN1cHBvcnRzIHVwIHRvIDE5MiBHUElPcyAoZG9uJ3QgZm9yZ2V0IHRoZSBiYXNlYm9hcmQhKSAqLworI2RlZmluZSBBUkNIX05SX0dQSU9TCQkoMTkyICsgMTYpCisKKy8qIE9TIGNsb2NrIHRpY2sgcmF0ZSAqLworI2RlZmluZSBDTE9DS19USUNLX1JBVEUgICAgICAgICAxMzMwMDAwMAorCisvKiBTdGFydCBvZiBSQU0gKi8KKyNkZWZpbmUgUEhZU19PRkZTRVQJCVNEUkFNX0JBU0VfQUREUgorCisvKiBtYXggaW50ZXJydXB0IGxpbmVzIGNvdW50ICovCisjZGVmaW5lIE5SX0lSUVMJCQkyNTYKKworLyogY291bnQgb2YgaW50ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgKi8KKyNkZWZpbmUgTVhDX01BWF9JTlRfTElORVMJNjQKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX01YMjdfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgzMS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MzEuaAppbmRleCAzNmExYWY0Li5hNzM3M2U0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgzMS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDMxLmgKQEAgLTMyMCw2ICszMjAsOCBAQAogI2RlZmluZSBNWENfTUFYX0dQSU9fTElORVMgICAgICAoR1BJT19OVU1fUElOICogR1BJT19QT1JUX05VTSkKICNkZWZpbmUgTVhDX01BWF9WSVJUVUFMX0lOVFMJMTYKIAorI2RlZmluZSBOUl9JUlFTIChNWENfTUFYX0lOVF9MSU5FUyArIE1YQ19NQVhfR1BJT19MSU5FUyArIE1YQ19NQVhfVklSVFVBTF9JTlRTKQorCiAvKiEKICAqIE51bWJlciBvZiBHUElPIHBvcnQgYXMgZGVmaW5lZCBpbiB0aGUgSUMgU3BlYwogICovCkBAIC0zNDcsNiArMzQ5LDI1IEBACiAjZGVmaW5lIFNZU1RFTV9SRVZfTUlOCQlDSElQX1JFVl8xXzAKICNkZWZpbmUgU1lTVEVNX1JFVl9OVU0JCTMKIAorLyogZ3BpbyBhbmQgZ3BpbyBiYXNlZCBpbnRlcnJ1cHQgaGFuZGxpbmcgKi8KKyNkZWZpbmUgR1BJT19EUgkJIAkweDAwCisjZGVmaW5lIEdQSU9fR0RJUgkgCTB4MDQKKyNkZWZpbmUgR1BJT19QU1IJIAkweDA4CisjZGVmaW5lIEdQSU9fSUNSMQkgCTB4MEMKKyNkZWZpbmUgR1BJT19JQ1IyCSAJMHgxMAorI2RlZmluZSBHUElPX0lNUgkgCTB4MTQKKyNkZWZpbmUgR1BJT19JU1IJIAkweDE4CisjZGVmaW5lIEdQSU9fSU5UX0xPV19MRVYJMHgwCisjZGVmaW5lIEdQSU9fSU5UX0hJR0hfTEVWCTB4MQorI2RlZmluZSBHUElPX0lOVF9SSVNFX0VER0UJMHgyCisjZGVmaW5lIEdQSU9fSU5UX0ZBTExfRURHRQkweDMKKyNkZWZpbmUgR1BJT19JTlRfTk9ORQkJMHg0CisKKy8qIE1hbmRhdG9yeSBkZWZpbmVzIHVzZWQgZ2xvYmFsbHkgKi8KKworLyogdGhpcyBDUFUgc3VwcG9ydHMgdXAgdG8gOTYgR1BJT3MgKi8KKyNkZWZpbmUgQVJDSF9OUl9HUElPUwkJOTYKKwogI2lmICFkZWZpbmVkKF9fQVNTRU1CTFlfXykgJiYgIWRlZmluZWQoX19NWENfQk9PVF9VTkNPTVBSRVNTKQogCiAvKiB0aGlzIGlzIGEgaS5NWDMxIENQVSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Yy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Yy5oCmluZGV4IDE0NmQzZjYuLjMzMmVkYTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjLmgKQEAgLTEsMTEgKzEsMjAgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKi8KLQotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAogI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19IX18KQEAgLTIwLDEzMyArMjksOCBAQAogIyBkZWZpbmUgY3B1X2lzX214MzEoKSAoMCkKICNlbmRpZgogCi0vKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBHUFQgIFJlZ2lzdGVyIGRlZmluaXRpb25zICAgICAgICAgICAgICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICovCi0jZGVmaW5lIE1YQ19HUFRfR1BUQ1IJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDAwKQotI2RlZmluZSBNWENfR1BUX0dQVFBSCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgwNCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRTUgkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MDgpCi0jZGVmaW5lIE1YQ19HUFRfR1BUSVIJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDBDKQotI2RlZmluZSBNWENfR1BUX0dQVE9DUjEJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDEwKQotI2RlZmluZSBNWENfR1BUX0dQVE9DUjIJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDE0KQotI2RlZmluZSBNWENfR1BUX0dQVE9DUjMJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDE4KQotI2RlZmluZSBNWENfR1BUX0dQVElDUjEJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDFDKQotI2RlZmluZSBNWENfR1BUX0dQVElDUjIJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDIwKQotI2RlZmluZSBNWENfR1BUX0dQVENOVAkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MjQpCi0KLS8qIEdQVCBDb250cm9sIHJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucyAqLwotI2RlZmluZSBHUFRDUl9GTzMJCQkoMSA8PCAzMSkKLSNkZWZpbmUgR1BUQ1JfRk8yCQkJKDEgPDwgMzApCi0jZGVmaW5lIEdQVENSX0ZPMQkJCSgxIDw8IDI5KQotCi0jZGVmaW5lIEdQVENSX09NM19TSElGVAkJCTI2Ci0jZGVmaW5lIEdQVENSX09NM19NQVNLCQkJKDcgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfRElTQ09OTkVDVEVECQkoMCA8PCBHUFRDUl9PTTNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NM19UT0dHTEUJCSgxIDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX0NMRUFSCQkJKDIgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfU0VUCQkJKDMgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfR0VORVJBVEVfTE9XCQkoNyA8PCBHUFRDUl9PTTNfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfT00yX1NISUZUCQkJMjMKLSNkZWZpbmUgR1BUQ1JfT00yX01BU0sJCQkoNyA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9ESVNDT05ORUNURUQJCSgwIDw8IEdQVENSX09NMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00yX1RPR0dMRQkJKDEgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfQ0xFQVIJCQkoMiA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9TRVQJCQkoMyA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9HRU5FUkFURV9MT1cJCSg3IDw8IEdQVENSX09NMl9TSElGVCkKLQotI2RlZmluZSBHUFRDUl9PTTFfU0hJRlQJCQkyMAotI2RlZmluZSBHUFRDUl9PTTFfTUFTSwkJCSg3IDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX0RJU0NPTk5FQ1RFRAkJKDAgPDwgR1BUQ1JfT00xX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTFfVE9HR0xFCQkoMSA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9DTEVBUgkJCSgyIDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX1NFVAkJCSgzIDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX0dFTkVSQVRFX0xPVwkJKDcgPDwgR1BUQ1JfT00xX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX0lNMl9TSElGVAkJCTE4Ci0jZGVmaW5lIEdQVENSX0lNMl9NQVNLCQkJKDMgPDwgR1BUQ1JfSU0yX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTJfQ0FQVFVSRV9ESVNBQkxFCSgwIDw8IEdQVENSX0lNMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0yX0NBUFRVUkVfUklTSU5HCSgxIDw8IEdQVENSX0lNMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0yX0NBUFRVUkVfRkFMTElORwkoMiA8PCBHUFRDUl9JTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMl9DQVBUVVJFX0JPVEgJCSgzIDw8IEdQVENSX0lNMl9TSElGVCkKLQotI2RlZmluZSBHUFRDUl9JTTFfU0hJRlQJCQkxNgotI2RlZmluZSBHUFRDUl9JTTFfTUFTSwkJCSgzIDw8IEdQVENSX0lNMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0xX0NBUFRVUkVfRElTQUJMRQkoMCA8PCBHUFRDUl9JTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMV9DQVBUVVJFX1JJU0lORwkoMSA8PCBHUFRDUl9JTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMV9DQVBUVVJFX0ZBTExJTkcJKDIgPDwgR1BUQ1JfSU0xX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTFfQ0FQVFVSRV9CT1RICQkoMyA8PCBHUFRDUl9JTTFfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfU1dSCQkJKDEgPDwgMTUpCi0jZGVmaW5lIEdQVENSX0ZSUgkJCSgxIDw8IDkpCi0KLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX1NISUZUCQk2Ci0jZGVmaW5lIEdQVENSX0NMS1NSQ19NQVNLCQkoNyA8PCBHUFRDUl9DTEtTUkNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19OT0NMT0NLCQkoMCA8PCBHUFRDUl9DTEtTUkNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19ISUdIRlJFUQkJKDIgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotI2RlZmluZSBHUFRDUl9DTEtTUkNfQ0xLSU4JCSgzIDw8IEdQVENSX0NMS1NSQ19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX0NMSzMySwkJKDcgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX1NUT1BFTgkJCSgxIDw8IDUpCi0jZGVmaW5lIEdQVENSX0RPWkVOCQkJKDEgPDwgNCkKLSNkZWZpbmUgR1BUQ1JfV0FJVEVOCQkJKDEgPDwgMykKLSNkZWZpbmUgR1BUQ1JfREJHRU4JCQkoMSA8PCAyKQotCi0jZGVmaW5lIEdQVENSX0VOTU9ECQkJKDEgPDwgMSkKLSNkZWZpbmUgR1BUQ1JfRU5BQkxFCQkJKDEgPDwgMCkKLQotI2RlZmluZSBHUFRTUl9PRjEJCQkoMSA8PCAwKQotI2RlZmluZSBHUFRTUl9PRjIJCQkoMSA8PCAxKQotI2RlZmluZSBHUFRTUl9PRjMJCQkoMSA8PCAyKQotI2RlZmluZSBHUFRTUl9JRjEJCQkoMSA8PCAzKQotI2RlZmluZSBHUFRTUl9JRjIJCQkoMSA8PCA0KQotI2RlZmluZSBHUFRTUl9ST1YJCQkoMSA8PCA1KQotCi0jZGVmaW5lIEdQVElSX09GMUlFCQkJR1BUU1JfT0YxCi0jZGVmaW5lIEdQVElSX09GMklFCQkJR1BUU1JfT0YyCi0jZGVmaW5lIEdQVElSX09GM0lFCQkJR1BUU1JfT0YzCi0jZGVmaW5lIEdQVElSX0lGMUlFCQkJR1BUU1JfSUYxCi0jZGVmaW5lIEdQVElSX0lGMklFCQkJR1BUU1JfSUYyCi0jZGVmaW5lIEdQVElSX1JPVklFCQkJR1BUU1JfUk9WCi0KLS8qCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIEFWSUMgUmVnaXN0ZXJzICAgICAgICAgICAgICAgICAgICAgICAgKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKi8KLSNkZWZpbmUgQVZJQ19CQVNFCQlJT19BRERSRVNTKEFWSUNfQkFTRV9BRERSKQotI2RlZmluZSBBVklDX0lOVENOVEwJCShBVklDX0JBU0UgKyAweDAwKQkvKiBpbnQgY29udHJvbCByZWcgKi8KLSNkZWZpbmUgQVZJQ19OSU1BU0sJCShBVklDX0JBU0UgKyAweDA0KQkvKiBpbnQgbWFzayByZWcgKi8KLSNkZWZpbmUgQVZJQ19JTlRFTk5VTQkJKEFWSUNfQkFTRSArIDB4MDgpCS8qIGludCBlbmFibGUgbnVtYmVyIHJlZyAqLwotI2RlZmluZSBBVklDX0lOVERJU05VTQkJKEFWSUNfQkFTRSArIDB4MEMpCS8qIGludCBkaXNhYmxlIG51bWJlciByZWcgKi8KLSNkZWZpbmUgQVZJQ19JTlRFTkFCTEVICQkoQVZJQ19CQVNFICsgMHgxMCkJLyogaW50IGVuYWJsZSByZWcgaGlnaCAqLwotI2RlZmluZSBBVklDX0lOVEVOQUJMRUwJCShBVklDX0JBU0UgKyAweDE0KQkvKiBpbnQgZW5hYmxlIHJlZyBsb3cgKi8KLSNkZWZpbmUgQVZJQ19JTlRUWVBFSAkJKEFWSUNfQkFTRSArIDB4MTgpCS8qIGludCB0eXBlIHJlZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfSU5UVFlQRUwJCShBVklDX0JBU0UgKyAweDFDKQkvKiBpbnQgdHlwZSByZWcgbG93ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTcJKEFWSUNfQkFTRSArIDB4MjApCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDcgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNgkoQVZJQ19CQVNFICsgMHgyNCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNiAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFk1CShBVklDX0JBU0UgKyAweDI4KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw1ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTQJKEFWSUNfQkFTRSArIDB4MkMpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDQgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMwkoQVZJQ19CQVNFICsgMHgzMCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMyAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFkyCShBVklDX0JBU0UgKyAweDM0KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwyICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTEJKEFWSUNfQkFTRSArIDB4MzgpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDEgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMAkoQVZJQ19CQVNFICsgMHgzQykJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMCAqLwotI2RlZmluZSBBVklDX05JVkVDU1IJCShBVklDX0JBU0UgKyAweDQwKQkvKiBub3JtIGludCB2ZWN0b3Ivc3RhdHVzICovCi0jZGVmaW5lIEFWSUNfRklWRUNTUgkJKEFWSUNfQkFTRSArIDB4NDQpCS8qIGZhc3QgaW50IHZlY3Rvci9zdGF0dXMgKi8KLSNkZWZpbmUgQVZJQ19JTlRTUkNICQkoQVZJQ19CQVNFICsgMHg0OCkJLyogaW50IHNvdXJjZSByZWcgaGlnaCAqLwotI2RlZmluZSBBVklDX0lOVFNSQ0wJCShBVklDX0JBU0UgKyAweDRDKQkvKiBpbnQgc291cmNlIHJlZyBsb3cgKi8KLSNkZWZpbmUgQVZJQ19JTlRGUkNICQkoQVZJQ19CQVNFICsgMHg1MCkJLyogaW50IGZvcmNlIHJlZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfSU5URlJDTAkJKEFWSUNfQkFTRSArIDB4NTQpCS8qIGludCBmb3JjZSByZWcgbG93ICovCi0jZGVmaW5lIEFWSUNfTklQTkRICQkoQVZJQ19CQVNFICsgMHg1OCkJLyogbm9ybSBpbnQgcGVuZGluZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfTklQTkRMCQkoQVZJQ19CQVNFICsgMHg1QykJLyogbm9ybSBpbnQgcGVuZGluZyBsb3cgKi8KLSNkZWZpbmUgQVZJQ19GSVBOREgJCShBVklDX0JBU0UgKyAweDYwKQkvKiBmYXN0IGludCBwZW5kaW5nIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19GSVBOREwJCShBVklDX0JBU0UgKyAweDY0KQkvKiBmYXN0IGludCBwZW5kaW5nIGxvdyAqLwotCi0jZGVmaW5lIFNZU1RFTV9QUkVWX1JFRwkJSU9fQUREUkVTUyhJSU1fQkFTRV9BRERSICsgMHgyMCkKLSNkZWZpbmUgU1lTVEVNX1NSRVZfUkVHCQlJT19BRERSRVNTKElJTV9CQVNFX0FERFIgKyAweDI0KQotI2RlZmluZSBJSU1fUFJPRF9SRVZfU0gJCTMKLSNkZWZpbmUgSUlNX1BST0RfUkVWX0xFTgk1CisjaWZuZGVmIENPTkZJR19NQUNIX01YMjcKKyMgZGVmaW5lIGNwdV9pc19teDI3KCkgKDApCisjZW5kaWYKIAogI2VuZGlmIC8qICBfX0FTTV9BUkNIX01YQ19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGNfdGltZXIuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGNfdGltZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2IxMWY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Y190aW1lci5oCkBAIC0wLDAgKzEsMTU4IEBACisvKgorICogbXhjX3RpbWVyLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogUGxhdGZvcm0gaW5kZXBlbmRlbnQgKGkuTVgxLCBpLk1YMiwgaS5NWDMpIGRlZmluaXRpb24gZm9yIHRpbWVyIGhhbmRsaW5nLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fUExBVF9NWENfVElNRVJfSAorI2RlZmluZSBfX1BMQVRfTVhDX1RJTUVSX0gKKworI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorCisjaWZkZWYgQ09ORklHX0FSQ0hfSU1YCisjZGVmaW5lIFRJTUVSX0JBU0UJCUlPX0FERFJFU1MoVElNMV9CQVNFX0FERFIpCisjZGVmaW5lIFRJTUVSX0lOVEVSUlVQVAkJVElNMV9JTlQKKworI2RlZmluZSBUQ1RMX1ZBTAkJVENUTF9DTEtfUENMSzEKKyNkZWZpbmUgVENUTF9JUlFFTgkJKDE8PDQpCisjZGVmaW5lIFRDVExfRlJSCQkoMTw8OCkKKyNkZWZpbmUgVENUTF9DTEtfUENMSzEJCSgxPDwxKQorI2RlZmluZSBUQ1RMX0NMS19QQ0xLMV80CSgyPDwxKQorI2RlZmluZSBUQ1RMX0NMS19USU4JCSgzPDwxKQorI2RlZmluZSBUQ1RMX0NMS18zMgkJKDQ8PDEpCisKKyNkZWZpbmUgTVhDX1RDVEwgICAweDAwCisjZGVmaW5lIE1YQ19UUFJFUiAgMHgwNAorI2RlZmluZSBNWENfVENNUCAgIDB4MDgKKyNkZWZpbmUgTVhDX1RDUiAgICAweDBjCisjZGVmaW5lIE1YQ19UQ04gICAgMHgxMAorI2RlZmluZSBNWENfVFNUQVQgIDB4MTQKKyNkZWZpbmUgVFNUQVRfQ0FQVAkJKDE8PDEpCisjZGVmaW5lIFRTVEFUX0NPTVAJCSgxPDwwKQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9kaXNhYmxlKHZvaWQpCit7CisJdW5zaWduZWQgaW50IHRtcDsKKworCXRtcCA9IF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENUTCk7CisJX19yYXdfd3JpdGVsKHRtcCAmIH5UQ1RMX0lSUUVOLCBUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9lbmFibGUodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ1RMKSB8IFRDVExfSVJRRU4sCisJCQkJVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKK30KKworc3RhdGljIHZvaWQgZ3B0X2lycV9hY2tub3dsZWRnZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX1RTVEFUKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfQVJDSF9JTVggKi8KKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorI2RlZmluZSBUSU1FUl9CQVNFCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSKQorI2RlZmluZSBUSU1FUl9JTlRFUlJVUFQJCU1YQ19JTlRfR1BUMQorCisjZGVmaW5lIE1YQ19UQ1RMICAgMHgwMAorI2RlZmluZSBUQ1RMX1ZBTAkJVENUTF9DTEtfUENMSzEKKyNkZWZpbmUgVENUTF9DTEtfUENMSzEJCSgxPDwxKQorI2RlZmluZSBUQ1RMX0NMS19QQ0xLMV80CSgyPDwxKQorI2RlZmluZSBUQ1RMX0lSUUVOCQkoMTw8NCkKKyNkZWZpbmUgVENUTF9GUlIJCSgxPDw4KQorI2RlZmluZSBNWENfVFBSRVIgIDB4MDQKKyNkZWZpbmUgTVhDX1RDTVAgICAweDA4CisjZGVmaW5lIE1YQ19UQ1IgICAgMHgwYworI2RlZmluZSBNWENfVENOICAgIDB4MTAKKyNkZWZpbmUgTVhDX1RTVEFUICAweDE0CisjZGVmaW5lIFRTVEFUX0NBUFQJCSgxPDwxKQorI2RlZmluZSBUU1RBVF9DT01QCQkoMTw8MCkKKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZGlzYWJsZSh2b2lkKQoreworCXVuc2lnbmVkIGludCB0bXA7CisKKwl0bXAgPSBfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworCV9fcmF3X3dyaXRlbCh0bXAgJiB+VENUTF9JUlFFTiwgVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZW5hYmxlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENUTCkgfCBUQ1RMX0lSUUVOLAorCQkJCVRJTUVSX0JBU0UgKyBNWENfVENUTCk7Cit9CisKK3N0YXRpYyB2b2lkIGdwdF9pcnFfYWNrbm93bGVkZ2Uodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoVFNUQVRfQ0FQVCB8IFRTVEFUX0NPTVAsIFRJTUVSX0JBU0UgKyBNWENfVFNUQVQpOworfQorI2VuZGlmIC8qIENPTkZJR19BUkNIX01YMiAqLworCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgzCisjZGVmaW5lIFRJTUVSX0JBU0UJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIpCisjZGVmaW5lIFRJTUVSX0lOVEVSUlVQVAkJTVhDX0lOVF9HUFQKKworI2RlZmluZSBNWENfVENUTCAgIDB4MDAKKyNkZWZpbmUgVENUTF9WQUwJCShUQ1RMX0NMS19JUEcgfCBUQ1RMX1dBSVRFTikKKyNkZWZpbmUgVENUTF9DTEtfSVBHCQkoMTw8NikKKyNkZWZpbmUgVENUTF9GUlIJCSgxPDw5KQorI2RlZmluZSBUQ1RMX1dBSVRFTgkJKDE8PDMpCisKKyNkZWZpbmUgTVhDX1RQUkVSICAweDA0CisjZGVmaW5lIE1YQ19UU1RBVCAgMHgwOAorI2RlZmluZSBUU1RBVF9PRjEJCSgxPDwwKQorI2RlZmluZSBUU1RBVF9PRjIJCSgxPDwxKQorI2RlZmluZSBUU1RBVF9PRjMJCSgxPDwyKQorI2RlZmluZSBUU1RBVF9JRjEJCSgxPDwzKQorI2RlZmluZSBUU1RBVF9JRjIJCSgxPDw0KQorI2RlZmluZSBUU1RBVF9ST1YJCSgxPDw1KQorI2RlZmluZSBNWENfSVIgICAgIDB4MGMKKyNkZWZpbmUgTVhDX1RDTVAgICAweDEwCisjZGVmaW5lIE1YQ19UQ01QMiAgMHgxNAorI2RlZmluZSBNWENfVENNUDMgIDB4MTgKKyNkZWZpbmUgTVhDX1RDUiAgICAweDFjCisjZGVmaW5lIE1YQ19UQ04gICAgMHgyNAorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9kaXNhYmxlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKDAsIFRJTUVSX0JBU0UgKyBNWENfSVIpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9lbmFibGUodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoMTw8MCwgVElNRVJfQkFTRSArIE1YQ19JUik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2Fja25vd2xlZGdlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKFRTVEFUX09GMSwgVElNRVJfQkFTRSArIE1YQ19UU1RBVCk7Cit9CisjZW5kaWYgLyogQ09ORklHX0FSQ0hfTVgzICovCisKKyNkZWZpbmUgVENUTF9TV1IJCSgxPDwxNSkKKyNkZWZpbmUgVENUTF9DQwkJCSgxPDwxMCkKKyNkZWZpbmUgVENUTF9PTQkJCSgxPDw5KQorI2RlZmluZSBUQ1RMX0NBUF9SSVMJCSgxPDw2KQorI2RlZmluZSBUQ1RMX0NBUF9GQUwJCSgyPDw2KQorI2RlZmluZSBUQ1RMX0NBUF9SSVNfRkFMCSgzPDw2KQorI2RlZmluZSBUQ1RMX0NBUF9FTkEJCSgxPDw1KQorI2RlZmluZSBUQ1RMX1RFTgkJKDE8PDApCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbnM5eHh4L2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1uczl4eHgvaGFyZHdhcmUuaAppbmRleCAwYjdiMzQ2Li4wZGNhMTFjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1uczl4eHgvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1uczl4eHgvaGFyZHdhcmUuaApAQCAtNjYsMTMgKzY2LDEzIEBACiAJIF9fUkVHR0VUKHZhciwgcmVnICMjIF8gIyMgZmllbGQpIC8gX19SRUdTSElGVChyZWcgIyMgXyAjIyBmaWVsZCkKIAogIyAgZGVmaW5lIFJFR0dFVElNX0lEWCh2YXIsIHJlZywgZmllbGQsIGlkeCkJCQkJXAotCSBfX1JFR0dFVCh2YXIsIHJlZyAjIyBfICMjIGZpZWxkKChpZHgpKSkgLyAJCQlcCisJIF9fUkVHR0VUKHZhciwgcmVnICMjIF8gIyMgZmllbGQoKGlkeCkpKSAvCQkJXAogCSBfX1JFR1NISUZUKHJlZyAjIyBfICMjIGZpZWxkKChpZHgpKSkKIAogI2Vsc2UKIAogIyAgZGVmaW5lIF9fUkVHKHgpCWlvX3Aydih4KQotIyAgZGVmaW5lIF9fUkVHMih4LCB5KQlpb19wMnYoKHgpICsgKHkpKQorIyAgZGVmaW5lIF9fUkVHMih4LCB5KQlpb19wMnYoKHgpICsgNCAqICh5KSkKIAogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtMjQzMHNkcC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC0yNDMwc2RwLmgKaW5kZXggZTljNjVjZS4uYzdkYjkwMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC0yNDMwc2RwLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC0yNDMwc2RwLmgKQEAgLTM2LDkgKzM2LDQgQEAKIAogI2RlZmluZSBUV0w0MDMwX0lSUU5VTQkJCUlOVF8yNFhYX1NZU19OSVJRCiAKLS8qIFRXTDQwMzAgUHJpbWFyeSBJbnRlcnJ1cHQgSGFuZGxlciAoUElIKSBpbnRlcnJ1cHRzICovCi0jZGVmaW5lIElIX1RXTDQwMzBfQkFTRQkJCUlIX0JPQVJEX0JBU0UKLSNkZWZpbmUgSUhfVFdMNDAzMF9FTkQJCQkoSUhfVFdMNDAzMF9CQVNFKzgpCi0jZGVmaW5lIE5SX0lSUVMJCQkJKElIX1RXTDQwMzBfRU5EKQotCiAjZW5kaWYgLyogX19BU01fQVJDSF9PTUFQXzI0MzBTRFBfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1oMy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1oMy5oCmluZGV4IDBmNjQwNDQuLmM1ZDBmMzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaDMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWgzLmgKQEAgLTMwLDEyICszMCw2IEBACiAvKiBJbiBPTUFQMTcxMCBIMyB0aGUgRXRoZXJuZXQgaXMgZGlyZWN0bHkgY29ubmVjdGVkIHRvIENTMSAqLwogI2RlZmluZSBPTUFQMTcxMF9FVEhSX1NUQVJUCQkweDA0MDAwMzAwCiAKLSNkZWZpbmUgTUFYSVJRTlVNCQkJKElIX0JPQVJEX0JBU0UpCi0jZGVmaW5lIE1BWEZJUU5VTQkJCU1BWElSUU5VTQotI2RlZmluZSBNQVhTV0lOVU0JCQlNQVhJUlFOVU0KLQotI2RlZmluZSBOUl9JUlFTCQkJCShNQVhJUlFOVU0gKyAxKQotCiBleHRlcm4gdm9pZCBoM19tbWNfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIGgzX21tY19zbG90X2NvdmVyX2hhbmRsZXIodm9pZCAqYXJnLCBpbnQgc3RhdGUpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWlubm92YXRvci5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1pbm5vdmF0b3IuaAppbmRleCA1NmQyYzk4Li45Y2EwM2RlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWlubm92YXRvci5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaW5ub3ZhdG9yLmgKQEAgLTM2LDkgKzM2LDYgQEAKICNkZWZpbmUgT01BUDE1MTBQMV9FTUlGU19QUklfVkFMVUUJCTB4MDAKICNkZWZpbmUgT01BUDE1MTBQMV9FTUlGRl9QUklfVkFMVUUJCTB4MDAKIAotI2RlZmluZSBOUl9GUEdBX0lSUVMJCTI0Ci0jZGVmaW5lIE5SX0lSUVMgICAgICAgICAgICAgICAgIChJSF9CT0FSRF9CQVNFICsgTlJfRlBHQV9JUlFTKQotCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogdm9pZCBmcGdhX3dyaXRlKHVuc2lnbmVkIGNoYXIgdmFsLCBpbnQgcmVnKTsKIHVuc2lnbmVkIGNoYXIgZnBnYV9yZWFkKGludCByZWcpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1wZXJzZXVzMi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1wZXJzZXVzMi5oCmluZGV4IGViNzQ0MjAuLmQ3NDI5Y2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtcGVyc2V1czIuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLXBlcnNldXMyLmgKQEAgLTM2LDEwICszNiw0IEBACiAjZGVmaW5lIE9NQVBfU0RSQU1fREVWSUNFCQlEMjU2TV8xWDE2XzRCCiAjZW5kaWYKIAotI2RlZmluZSBNQVhJUlFOVU0JCUlIX0JPQVJEX0JBU0UKLSNkZWZpbmUgTUFYRklRTlVNCQlNQVhJUlFOVU0KLSNkZWZpbmUgTUFYU1dJTlVNCQlNQVhJUlFOVU0KLQotI2RlZmluZSBOUl9JUlFTCQkJKE1BWElSUU5VTSArIDEpCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jbG9jay5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jbG9jay5oCmluZGV4IDEyYTVlNGQuLjRjN2IzNTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY2xvY2suaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2Nsb2NrLmgKQEAgLTMzLDEyICszMywyNCBAQAogCXZvaWQgX19pb21lbQkJKm11bHRfZGl2MV9yZWc7CiAJdTMyCQkJbXVsdF9tYXNrOwogCXUzMgkJCWRpdjFfbWFzazsKKwl1MTYJCQlsYXN0X3JvdW5kZWRfbTsKKwl1OAkJCWxhc3Rfcm91bmRlZF9uOworCXVuc2lnbmVkIGxvbmcJCWxhc3Rfcm91bmRlZF9yYXRlOworCXVuc2lnbmVkIGludAkJcmF0ZV90b2xlcmFuY2U7CisJdTE2CQkJbWF4X211bHRpcGxpZXI7CisJdTgJCQltYXhfZGl2aWRlcjsKKwl1MzIJCQltYXhfdG9sZXJhbmNlOwogIyAgaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykKKwl1OAkJCW1vZGVzOwogCXZvaWQgX19pb21lbQkJKmNvbnRyb2xfcmVnOwogCXUzMgkJCWVuYWJsZV9tYXNrOwogCXU4CQkJYXV0b19yZWNhbF9iaXQ7CiAJdTgJCQlyZWNhbF9lbl9iaXQ7CiAJdTgJCQlyZWNhbF9zdF9iaXQ7CisJdm9pZCBfX2lvbWVtCQkqYXV0b2lkbGVfcmVnOworCXUzMgkJCWF1dG9pZGxlX21hc2s7CisJdm9pZCBfX2lvbWVtCQkqaWRsZXN0X3JlZzsKKwl1OAkJCWlkbGVzdF9iaXQ7CiAjICBlbmRpZgogfTsKIApAQCAtNjYsMTEgKzc4LDE0IEBACiAJdm9pZCBfX2lvbWVtCQkqY2xrc2VsX3JlZzsKIAl1MzIJCQljbGtzZWxfbWFzazsKIAljb25zdCBzdHJ1Y3QgY2xrc2VsCSpjbGtzZWw7Ci0JY29uc3Qgc3RydWN0IGRwbGxfZGF0YQkqZHBsbF9kYXRhOworCXN0cnVjdCBkcGxsX2RhdGEJKmRwbGxfZGF0YTsKICNlbHNlCiAJX191OAkJCXJhdGVfb2Zmc2V0OwogCV9fdTgJCQlzcmNfb2Zmc2V0OwogI2VuZGlmCisjaWYgZGVmaW5lZChDT05GSUdfUE1fREVCVUcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKQorCXN0cnVjdCBkZW50cnkJCSpkZW50OwkvKiBGb3IgdmlzaWJsZSB0cmVlIGhpZXJhcmNoeSAqLworI2VuZGlmCiB9OwogCiBzdHJ1Y3QgY3B1ZnJlcV9mcmVxdWVuY3lfdGFibGU7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbW1vbi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb21tb24uaAppbmRleCAzNmEzYjYyLi44YWMwMzA3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbW1vbi5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29tbW9uLmgKQEAgLTQ3LDggKzQ3LDIzIEBACiB9CiAjZW5kaWYKIAorLyogSU8gYmFzZXMgZm9yIHZhcmlvdXMgT01BUCBwcm9jZXNzb3JzICovCitzdHJ1Y3Qgb21hcF9nbG9iYWxzIHsKKwl2b2lkIF9faW9tZW0JKnRhcDsJCS8qIENvbnRyb2wgbW9kdWxlIElEIGNvZGUgKi8KKwl2b2lkIF9faW9tZW0JKnNkcmM7CQkvKiBTRFJBTSBDb250cm9sbGVyICovCisJdm9pZCBfX2lvbWVtCSpzbXM7CQkvKiBTRFJBTSBNZW1vcnkgU2NoZWR1bGVyICovCisJdm9pZCBfX2lvbWVtCSpjdHJsOwkJLyogU3lzdGVtIENvbnRyb2wgTW9kdWxlICovCisJdm9pZCBfX2lvbWVtCSpwcm07CQkvKiBQb3dlciBhbmQgUmVzZXQgTWFuYWdlbWVudCAqLworCXZvaWQgX19pb21lbQkqY207CQkvKiBDbG9jayBNYW5hZ2VtZW50ICovCit9OworCiB2b2lkIG9tYXAyX3NldF9nbG9iYWxzXzI0Mngodm9pZCk7CiB2b2lkIG9tYXAyX3NldF9nbG9iYWxzXzI0M3godm9pZCk7CiB2b2lkIG9tYXAyX3NldF9nbG9iYWxzXzM0M3godm9pZCk7CiAKKy8qIFRoZXNlIGdldCBjYWxsZWQgZnJvbSBvbWFwMl9zZXRfZ2xvYmFsc194eHh4KCksIGRvIG5vdCBjYWxsIHRoZXNlICovCit2b2lkIG9tYXAyX3NldF9nbG9iYWxzX21lbW9yeShzdHJ1Y3Qgb21hcF9nbG9iYWxzICopOwordm9pZCBvbWFwMl9zZXRfZ2xvYmFsc19jb250cm9sKHN0cnVjdCBvbWFwX2dsb2JhbHMgKik7Cit2b2lkIG9tYXAyX3NldF9nbG9iYWxzX3ByY20oc3RydWN0IG9tYXBfZ2xvYmFscyAqKTsKKwogI2VuZGlmIC8qIF9fQVJDSF9BUk1fTUFDSF9PTUFQX0NPTU1PTl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbnRyb2wuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29udHJvbC5oCmluZGV4IDU5YzA2ODYuLjk4NzU1M2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29udHJvbC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29udHJvbC5oCkBAIC0xNjcsOCArMTY3LDcgQEAKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KICNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQotZXh0ZXJuIHZvaWQgb21hcF9jdHJsX2Jhc2Vfc2V0KHUzMiBiYXNlKTsKLWV4dGVybiB1MzIgb21hcF9jdHJsX2Jhc2VfZ2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgX19pb21lbSAqb21hcF9jdHJsX2Jhc2VfZ2V0KHZvaWQpOwogZXh0ZXJuIHU4IG9tYXBfY3RybF9yZWFkYih1MTYgb2Zmc2V0KTsKIGV4dGVybiB1MTYgb21hcF9jdHJsX3JlYWR3KHUxNiBvZmZzZXQpOwogZXh0ZXJuIHUzMiBvbWFwX2N0cmxfcmVhZGwodTE2IG9mZnNldCk7CkBAIC0xNzYsNyArMTc1LDYgQEAKIGV4dGVybiB2b2lkIG9tYXBfY3RybF93cml0ZXcodTE2IHZhbCwgdTE2IG9mZnNldCk7CiBleHRlcm4gdm9pZCBvbWFwX2N0cmxfd3JpdGVsKHUzMiB2YWwsIHUxNiBvZmZzZXQpOwogI2Vsc2UKLSNkZWZpbmUgb21hcF9jdHJsX2Jhc2Vfc2V0KHgpCQlXQVJOX09OKDEpCiAjZGVmaW5lIG9tYXBfY3RybF9iYXNlX2dldCgpCQkwCiAjZGVmaW5lIG9tYXBfY3RybF9yZWFkYih4KQkJMAogI2RlZmluZSBvbWFwX2N0cmxfcmVhZHcoeCkJCTAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY3B1LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NwdS5oCmluZGV4IGU4YTRjZjUuLjUyZGIwOWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY3B1LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jcHUuaApAQCAtMyw3ICszLDcgQEAKICAqCiAgKiBPTUFQIGNwdSB0eXBlIGRldGVjdGlvbgogICoKLSAqIENvcHlyaWdodCAoQykgMjAwNCBOb2tpYSBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA4IE5va2lhIENvcnBvcmF0aW9uCiAgKgogICogV3JpdHRlbiBieSBUb255IExpbmRncmVuIDx0b255LmxpbmRncmVuQG5va2lhLmNvbT4KICAqCkBAIC0yNiw2ICsyNiwxMiBAQAogI2lmbmRlZiBfX0FTTV9BUkNIX09NQVBfQ1BVX0gKICNkZWZpbmUgX19BU01fQVJDSF9PTUFQX0NQVV9ICiAKK3N0cnVjdCBvbWFwX2NoaXBfaWQgeworCXU4IG9jOworfTsKKworI2RlZmluZSBPTUFQX0NISVBfSU5JVCh4KQl7IC5vYyA9IHggfQorCiBleHRlcm4gdW5zaWduZWQgaW50IHN5c3RlbV9yZXY7CiAKICNkZWZpbmUgb21hcDJfY3B1X3JldigpCQkoKHN5c3RlbV9yZXYgPj4gMTIpICYgMHgwZikKQEAgLTM0NSw2ICszNTEsMzMgQEAKICNkZWZpbmUgT01BUDI0MzBfUkVWX0VTMV8wCTB4MjQzMDAwMDAKICNkZWZpbmUgT01BUDM0MzBfUkVWX0VTMV8wCTB4MzQzMDAwMDAKICNkZWZpbmUgT01BUDM0MzBfUkVWX0VTMl8wCTB4MzQzMDEwMDAKKyNkZWZpbmUgT01BUDM0MzBfUkVWX0VTMl8xCTB4MzQzMDIwMDAKKyNkZWZpbmUgT01BUDM0MzBfUkVWX0VTMl8yCTB4MzQzMDMwMDAKKworLyoKKyAqIG9tYXBfY2hpcCBiaXRzCisgKgorICogQ0hJUF9JU19PTUFQezI0MjAsMjQzMCwzNDMwfSBpbmRpY2F0ZSB0aGF0IGEgcGFydGljdWxhciBzdHJ1Y3R1cmUgaXMKKyAqIHZhbGlkIG9uIGFsbCBjaGlwcyBvZiB0aGF0IHR5cGUuICBDSElQX0lTX09NQVAzNDMwRVN7MSwyfSBpbmRpY2F0ZXMKKyAqIHNvbWV0aGluZyB0aGF0IGlzIG9ubHkgdmFsaWQgb24gdGhhdCBwYXJ0aWN1bGFyIEVTIHJldmlzaW9uLgorICoKKyAqIFRoZXNlIGJpdHMgbWF5IGJlIE9SZWQgdG9nZXRoZXIgdG8gaW5kaWNhdGUgc3RydWN0dXJlcyB0aGF0IGFyZQorICogYXZhaWxhYmxlIG9uIG11bHRpcGxlIGNoaXAgdHlwZXMuCisgKgorICogVG8gdGVzdCB3aGV0aGVyIGEgcGFydGljdWxhciBzdHJ1Y3R1cmUgbWF0Y2hlcyB0aGUgY3VycmVudCBPTUFQIGNoaXAgdHlwZSwKKyAqIHVzZSBvbWFwX2NoaXBfaXMoKS4KKyAqCisgKi8KKyNkZWZpbmUgQ0hJUF9JU19PTUFQMjQyMCAgICAgICAoMSA8PCAwKQorI2RlZmluZSBDSElQX0lTX09NQVAyNDMwICAgICAgICgxIDw8IDEpCisjZGVmaW5lIENISVBfSVNfT01BUDM0MzAgICAgICAgKDEgPDwgMikKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMzQzMEVTMSAgICAoMSA8PCAzKQorI2RlZmluZSBDSElQX0lTX09NQVAzNDMwRVMyICAgICgxIDw8IDQpCisKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMjRYWCAgICAgICAoQ0hJUF9JU19PTUFQMjQyMCB8IENISVBfSVNfT01BUDI0MzApCisKK2ludCBvbWFwX2NoaXBfaXMoc3RydWN0IG9tYXBfY2hpcF9pZCBvY2kpOworCiAKIC8qCiAgKiBNYWNybyB0byBkZXRlY3QgZGV2aWNlIHR5cGUgaS5lLiBFTVUvSFMvVFNUL0dQL0JBRApAQCAtMzYyLDYgKzM5NSw4IEBACiAjZGVmaW5lIGlzX2RldmljZV90eXBlX2dwKCkJKGdldF9kZXZpY2VfdHlwZSgpID09IERFVklDRV9UWVBFX0dQKQogI2RlZmluZSBpc19kZXZpY2VfdHlwZV9iYWQoKQkoZ2V0X2RldmljZV90eXBlKCkgPT0gREVWSUNFX1RZUEVfQkFEKQogCi0jZW5kaWYKK3ZvaWQgb21hcDJfY2hlY2tfcmV2aXNpb24odm9pZCk7CisKKyNlbmRpZiAgICAvKiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKSAqLwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtYS5oCmluZGV4IDI0YWNmMDkuLmY0ZGNiOTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG1hLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbWEuaApAQCAtMjIsMTA4ICsyMiwxMjggQEAKICNkZWZpbmUgX19BU01fQVJDSF9ETUFfSAogCiAvKiBIYXJkd2FyZSByZWdpc3RlcnMgZm9yIG9tYXAxICovCi0jZGVmaW5lIE9NQVBfRE1BX0JBU0UJCQkoMHhmZmZlZDgwMCkKLSNkZWZpbmUgT01BUF9ETUFfR0NSCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQwMCkKLSNkZWZpbmUgT01BUF9ETUFfR1NDUgkJCShPTUFQX0RNQV9CQVNFICsgMHg0MDQpCi0jZGVmaW5lIE9NQVBfRE1BX0dSU1QJCQkoT01BUF9ETUFfQkFTRSArIDB4NDA4KQotI2RlZmluZSBPTUFQX0RNQV9IV19JRAkJCShPTUFQX0RNQV9CQVNFICsgMHg0NDIpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDJfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NDQpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDBfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NDYpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDFfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NDgpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSEdfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NGEpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSERfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NGMpCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMF9VCQkoT01BUF9ETUFfQkFTRSArIDB4NDRlKQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzBfTAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1MCkKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18xX1UJCShPTUFQX0RNQV9CQVNFICsgMHg0NTIpCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMV9MCQkoT01BUF9ETUFfQkFTRSArIDB4NDU0KQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzIJCQkoT01BUF9ETUFfQkFTRSArIDB4NDU2KQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzMJCQkoT01BUF9ETUFfQkFTRSArIDB4NDU4KQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzQJCQkoT01BUF9ETUFfQkFTRSArIDB4NDVhKQotI2RlZmluZSBPTUFQX0RNQV9QQ0gyX1NSCQkoT01BUF9ETUFfQkFTRSArIDB4NDYwKQotI2RlZmluZSBPTUFQX0RNQV9QQ0gwX1NSCQkoT01BUF9ETUFfQkFTRSArIDB4NDgwKQotI2RlZmluZSBPTUFQX0RNQV9QQ0gxX1NSCQkoT01BUF9ETUFfQkFTRSArIDB4NDgyKQotI2RlZmluZSBPTUFQX0RNQV9QQ0hEX1NSCQkoT01BUF9ETUFfQkFTRSArIDB4NGMwKQorI2RlZmluZSBPTUFQMV9ETUFfQkFTRQkJCSgweGZmZmVkODAwKQogCi0vKiBIYXJkd2FyZSByZWdpc3RlcnMgZm9yIG9tYXAyICovCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykKLSNkZWZpbmUgT01BUF9ETUE0X0JBU0UJCQkoTDRfMzRYWF9CQVNFICsgMHg1NjAwMCkKLSNlbHNlCS8qIENPTkZJR19BUkNIX09NQVAyICovCi0jZGVmaW5lIE9NQVBfRE1BNF9CQVNFCQkJKEw0XzI0WFhfQkFTRSArIDB4NTYwMDApCi0jZW5kaWYKKyNkZWZpbmUgT01BUDFfRE1BX0dDUgkJCTB4NDAwCisjZGVmaW5lIE9NQVAxX0RNQV9HU0NSCQkJMHg0MDQKKyNkZWZpbmUgT01BUDFfRE1BX0dSU1QJCQkweDQwOAorI2RlZmluZSBPTUFQMV9ETUFfSFdfSUQJCQkweDQ0MgorI2RlZmluZSBPTUFQMV9ETUFfUENIMl9JRAkJMHg0NDQKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDBfSUQJCTB4NDQ2CisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gxX0lECQkweDQ0OAorI2RlZmluZSBPTUFQMV9ETUFfUENIR19JRAkJMHg0NGEKKyNkZWZpbmUgT01BUDFfRE1BX1BDSERfSUQJCTB4NDRjCisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzBfVQkJMHg0NGUKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMF9MCQkweDQ1MAorI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18xX1UJCTB4NDUyCisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzFfTAkJMHg0NTQKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMgkJMHg0NTYKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMwkJMHg0NTgKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfNAkJMHg0NWEKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDJfU1IJCTB4NDYwCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gwX1NSCQkweDQ4MAorI2RlZmluZSBPTUFQMV9ETUFfUENIMV9TUgkJMHg0ODIKKyNkZWZpbmUgT01BUDFfRE1BX1BDSERfU1IJCTB4NGMwCiAKLSNkZWZpbmUgT01BUF9ETUE0X1JFVklTSU9OCQkoT01BUF9ETUE0X0JBU0UgKyAweDAwKQotI2RlZmluZSBPTUFQX0RNQTRfR0NSX1JFRwkJKE9NQVBfRE1BNF9CQVNFICsgMHg3OCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMAkJKE9NQVBfRE1BNF9CQVNFICsgMHgwOCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMQkJKE9NQVBfRE1BNF9CQVNFICsgMHgwYykKLSNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMgkJKE9NQVBfRE1BNF9CQVNFICsgMHgxMCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMwkJKE9NQVBfRE1BNF9CQVNFICsgMHgxNCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMAkJKE9NQVBfRE1BNF9CQVNFICsgMHgxOCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMQkJKE9NQVBfRE1BNF9CQVNFICsgMHgxYykKLSNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMgkJKE9NQVBfRE1BNF9CQVNFICsgMHgyMCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMwkJKE9NQVBfRE1BNF9CQVNFICsgMHgyNCkKLSNkZWZpbmUgT01BUF9ETUE0X1NZU1NUQVRVUwkJKE9NQVBfRE1BNF9CQVNFICsgMHgyOCkKLSNkZWZpbmUgT01BUF9ETUE0X09DUF9TWVNDT05GSUcJCShPTUFQX0RNQTRfQkFTRSArIDB4MmMpCi0jZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzAJCShPTUFQX0RNQTRfQkFTRSArIDB4NjQpCi0jZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzIJCShPTUFQX0RNQTRfQkFTRSArIDB4NmMpCi0jZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzMJCShPTUFQX0RNQTRfQkFTRSArIDB4NzApCi0jZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzQJCShPTUFQX0RNQTRfQkFTRSArIDB4NzQpCisvKiBIYXJkd2FyZSByZWdpc3RlcnMgZm9yIG9tYXAyIGFuZCBvbWFwMyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUE0X0JBU0UJCShMNF8yNFhYX0JBU0UgKyAweDU2MDAwKQorI2RlZmluZSBPTUFQMzRYWF9ETUE0X0JBU0UJCShMNF8zNFhYX0JBU0UgKyAweDU2MDAwKQogCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDEKKyNkZWZpbmUgT01BUF9ETUE0X1JFVklTSU9OCQkweDAwCisjZGVmaW5lIE9NQVBfRE1BNF9HQ1IJCQkweDc4CisjZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDAJCTB4MDgKKyNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMQkJMHgwYworI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wyCQkweDEwCisjZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDMJCTB4MTQKKyNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMAkJMHgxOAorI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wxCQkweDFjCisjZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDIJCTB4MjAKKyNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMwkJMHgyNAorI2RlZmluZSBPTUFQX0RNQTRfU1lTU1RBVFVTCQkweDI4CisjZGVmaW5lIE9NQVBfRE1BNF9PQ1BfU1lTQ09ORklHCQkweDJjCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzAJCTB4NjQKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMgkJMHg2YworI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18zCQkweDcwCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzQJCTB4NzQKIAotI2RlZmluZSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UCTE3CisjZGVmaW5lIE9NQVAxX0xPR0lDQUxfRE1BX0NIX0NPVU5UCTE3CisjZGVmaW5lIE9NQVBfRE1BNF9MT0dJQ0FMX0RNQV9DSF9DT1VOVAkzMgkvKiBSRVZJU0lUOiBJcyB0aGlzIDMyICsgMj8gKi8KIAogLyogQ29tbW9uIGNoYW5uZWwgc3BlY2lmaWMgcmVnaXN0ZXJzIGZvciBvbWFwMSAqLwotI2RlZmluZSBPTUFQX0RNQV9DU0RQX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MDApCi0jZGVmaW5lIE9NQVBfRE1BX0NDUl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDAyKQotI2RlZmluZSBPTUFQX0RNQV9DSUNSX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MDQpCi0jZGVmaW5lIE9NQVBfRE1BX0NTUl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDA2KQotI2RlZmluZSBPTUFQX0RNQV9DRU5fUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxMCkKLSNkZWZpbmUgT01BUF9ETUFfQ0ZOX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTIpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRklfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxNCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NFSV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDE2KQotI2RlZmluZSBPTUFQX0RNQV9DU0FDX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTgpCi0jZGVmaW5lIE9NQVBfRE1BX0NEQUNfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxYSkKLSNkZWZpbmUgT01BUF9ETUFfQ0RFSV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDFjKQotI2RlZmluZSBPTUFQX0RNQV9DREZJX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MWUpCi0jZGVmaW5lIE9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobikJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MjgpCi0KLSNlbHNlCi0KLSNkZWZpbmUgT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVAkzMgkvKiBSRVZJU0lUOiBJcyB0aGlzIDMyICsgMj8gKi8KKyNkZWZpbmUgT01BUDFfRE1BX0NIX0JBU0UobikJCSgweDQwICogKG4pICsgMHgwMCkKKyNkZWZpbmUgT01BUDFfRE1BX0NTRFAobikJCSgweDQwICogKG4pICsgMHgwMCkKKyNkZWZpbmUgT01BUDFfRE1BX0NDUihuKQkJKDB4NDAgKiAobikgKyAweDAyKQorI2RlZmluZSBPTUFQMV9ETUFfQ0lDUihuKQkJKDB4NDAgKiAobikgKyAweDA0KQorI2RlZmluZSBPTUFQMV9ETUFfQ1NSKG4pCQkoMHg0MCAqIChuKSArIDB4MDYpCisjZGVmaW5lIE9NQVAxX0RNQV9DRU4obikJCSgweDQwICogKG4pICsgMHgxMCkKKyNkZWZpbmUgT01BUDFfRE1BX0NGTihuKQkJKDB4NDAgKiAobikgKyAweDEyKQorI2RlZmluZSBPTUFQMV9ETUFfQ1NGSShuKQkJKDB4NDAgKiAobikgKyAweDE0KQorI2RlZmluZSBPTUFQMV9ETUFfQ1NFSShuKQkJKDB4NDAgKiAobikgKyAweDE2KQorI2RlZmluZSBPTUFQMV9ETUFfQ1BDKG4pCQkoMHg0MCAqIChuKSArIDB4MTgpCS8qIDE1eHggb25seSAqLworI2RlZmluZSBPTUFQMV9ETUFfQ1NBQyhuKQkJKDB4NDAgKiAobikgKyAweDE4KQorI2RlZmluZSBPTUFQMV9ETUFfQ0RBQyhuKQkJKDB4NDAgKiAobikgKyAweDFhKQorI2RlZmluZSBPTUFQMV9ETUFfQ0RFSShuKQkJKDB4NDAgKiAobikgKyAweDFjKQorI2RlZmluZSBPTUFQMV9ETUFfQ0RGSShuKQkJKDB4NDAgKiAobikgKyAweDFlKQorI2RlZmluZSBPTUFQMV9ETUFfQ0xOS19DVFJMKG4pCQkoMHg0MCAqIChuKSArIDB4MjgpCiAKIC8qIENvbW1vbiBjaGFubmVsIHNwZWNpZmljIHJlZ2lzdGVycyBmb3Igb21hcDIgKi8KLSNkZWZpbmUgT01BUF9ETUFfQ0NSX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDgwKQotI2RlZmluZSBPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKG4pCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg4NCkKLSNkZWZpbmUgT01BUF9ETUFfQ0lDUl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg4OCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NSX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDhjKQotI2RlZmluZSBPTUFQX0RNQV9DU0RQX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDkwKQotI2RlZmluZSBPTUFQX0RNQV9DRU5fUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4OTQpCi0jZGVmaW5lIE9NQVBfRE1BX0NGTl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg5OCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NFSV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhhNCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NGSV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhhOCkKLSNkZWZpbmUgT01BUF9ETUFfQ0RFSV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhhYykKLSNkZWZpbmUgT01BUF9ETUFfQ0RGSV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhiMCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NBQ19SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhiNCkKLSNkZWZpbmUgT01BUF9ETUFfQ0RBQ19SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhiOCkKLQotI2VuZGlmCisjZGVmaW5lIE9NQVBfRE1BNF9DSF9CQVNFKG4pCQkoMHg2MCAqIChuKSArIDB4ODApCisjZGVmaW5lIE9NQVBfRE1BNF9DQ1IobikJCSgweDYwICogKG4pICsgMHg4MCkKKyNkZWZpbmUgT01BUF9ETUE0X0NMTktfQ1RSTChuKQkJKDB4NjAgKiAobikgKyAweDg0KQorI2RlZmluZSBPTUFQX0RNQTRfQ0lDUihuKQkJKDB4NjAgKiAobikgKyAweDg4KQorI2RlZmluZSBPTUFQX0RNQTRfQ1NSKG4pCQkoMHg2MCAqIChuKSArIDB4OGMpCisjZGVmaW5lIE9NQVBfRE1BNF9DU0RQKG4pCQkoMHg2MCAqIChuKSArIDB4OTApCisjZGVmaW5lIE9NQVBfRE1BNF9DRU4obikJCSgweDYwICogKG4pICsgMHg5NCkKKyNkZWZpbmUgT01BUF9ETUE0X0NGTihuKQkJKDB4NjAgKiAobikgKyAweDk4KQorI2RlZmluZSBPTUFQX0RNQTRfQ1NFSShuKQkJKDB4NjAgKiAobikgKyAweGE0KQorI2RlZmluZSBPTUFQX0RNQTRfQ1NGSShuKQkJKDB4NjAgKiAobikgKyAweGE4KQorI2RlZmluZSBPTUFQX0RNQTRfQ0RFSShuKQkJKDB4NjAgKiAobikgKyAweGFjKQorI2RlZmluZSBPTUFQX0RNQTRfQ0RGSShuKQkJKDB4NjAgKiAobikgKyAweGIwKQorI2RlZmluZSBPTUFQX0RNQTRfQ1NBQyhuKQkJKDB4NjAgKiAobikgKyAweGI0KQorI2RlZmluZSBPTUFQX0RNQTRfQ0RBQyhuKQkJKDB4NjAgKiAobikgKyAweGI4KQogCiAvKiBDaGFubmVsIHNwZWNpZmljIHJlZ2lzdGVycyBvbmx5IG9uIG9tYXAxICovCi0jZGVmaW5lIE9NQVAxX0RNQV9DU1NBX0xfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwOCkKLSNkZWZpbmUgT01BUDFfRE1BX0NTU0FfVV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDBhKQotI2RlZmluZSBPTUFQMV9ETUFfQ0RTQV9MX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MGMpCi0jZGVmaW5lIE9NQVAxX0RNQV9DRFNBX1VfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwZSkKLSNkZWZpbmUgT01BUDFfRE1BX0NPTE9SX0xfUkVHKG4pCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDIwKQotI2RlZmluZSBPTUFQMV9ETUFfQ0NSMl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDI0KQotI2RlZmluZSBPTUFQMV9ETUFfQ09MT1JfVV9SRUcobikJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MjIpCi0jZGVmaW5lIE9NQVAxX0RNQV9MQ0hfQ1RSTF9SRUcobikJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MmEpCisjZGVmaW5lIE9NQVAxX0RNQV9DU1NBX0wobikJCSgweDQwICogKG4pICsgMHgwOCkKKyNkZWZpbmUgT01BUDFfRE1BX0NTU0FfVShuKQkJKDB4NDAgKiAobikgKyAweDBhKQorI2RlZmluZSBPTUFQMV9ETUFfQ0RTQV9MKG4pCQkoMHg0MCAqIChuKSArIDB4MGMpCisjZGVmaW5lIE9NQVAxX0RNQV9DRFNBX1UobikJCSgweDQwICogKG4pICsgMHgwZSkKKyNkZWZpbmUgT01BUDFfRE1BX0NPTE9SX0wobikJCSgweDQwICogKG4pICsgMHgyMCkKKyNkZWZpbmUgT01BUDFfRE1BX0NPTE9SX1UobikJCSgweDQwICogKG4pICsgMHgyMikKKyNkZWZpbmUgT01BUDFfRE1BX0NDUjIobikJCSgweDQwICogKG4pICsgMHgyNCkKKyNkZWZpbmUgT01BUDFfRE1BX0xDSF9DVFJMKG4pCQkoMHg0MCAqIChuKSArIDB4MmEpCS8qIG5vdCBvbiAxNXh4ICovCisjZGVmaW5lIE9NQVAxX0RNQV9DQ0VOKG4pCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9DQ0ZOKG4pCQkwCiAKIC8qIENoYW5uZWwgc3BlY2lmaWMgcmVnaXN0ZXJzIG9ubHkgb24gb21hcDIgKi8KLSNkZWZpbmUgT01BUDJfRE1BX0NTU0FfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4OWMpCi0jZGVmaW5lIE9NQVAyX0RNQV9DRFNBX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGEwKQotI2RlZmluZSBPTUFQMl9ETUFfQ0NFTl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhiYykKLSNkZWZpbmUgT01BUDJfRE1BX0NDRk5fUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YzApCi0jZGVmaW5lIE9NQVAyX0RNQV9DT0xPUl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhjNCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTU0EobikJCSgweDYwICogKG4pICsgMHg5YykKKyNkZWZpbmUgT01BUF9ETUE0X0NEU0EobikJCSgweDYwICogKG4pICsgMHhhMCkKKyNkZWZpbmUgT01BUF9ETUE0X0NDRU4obikJCSgweDYwICogKG4pICsgMHhiYykKKyNkZWZpbmUgT01BUF9ETUE0X0NDRk4obikJCSgweDYwICogKG4pICsgMHhjMCkKKyNkZWZpbmUgT01BUF9ETUE0X0NPTE9SKG4pCQkoMHg2MCAqIChuKSArIDB4YzQpCisKKy8qIER1bW15IGRlZmluZXMgdG8ga2VlcCBtdWx0aS1vbWFwIGNvbXBpbGVzIGhhcHB5ICovCisjZGVmaW5lIE9NQVAxX0RNQV9SRVZJU0lPTgkJMAorI2RlZmluZSBPTUFQMV9ETUFfSVJRU1RBVFVTX0wwCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9JUlFFTkFCTEVfTDAJCTAKKyNkZWZpbmUgT01BUDFfRE1BX09DUF9TWVNDT05GSUcJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0hXX0lECQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18wX0wJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMF9VCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzFfTAkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18xX1UJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0dTQ1IJCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DUEMobikJCTAKKworI2RlZmluZSBPTUFQX0RNQTRfTENIX0NUUkwobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NPTE9SX0wobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NPTE9SX1UobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NDUjIobikJCTAKKyNkZWZpbmUgT01BUDFfRE1BX0NTU0EobikJCTAKKyNkZWZpbmUgT01BUDFfRE1BX0NEU0EobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NTU0FfTChuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ1NTQV9VKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DRFNBX0wobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NEU0FfVShuKQkJMAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xOTYsNjMgKzIxNiw5OCBAQAogI2RlZmluZSBPTUFQMjRYWF9ETUFfR1BNQwkJNAkvKiBTX0RNQV8zICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9HRlgJCTUJLyogU19ETUFfNCAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfRFNTCQk2CS8qIFNfRE1BXzUgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1ZMWU5RX1RYCQk3CS8qIFNfRE1BXzYgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX1ZMWU5RX1RYCQk3CS8qIFNfRE1BXzYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVEyCTcJLyogU19ETUFfNiAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfQ1dUCQk4CS8qIFNfRE1BXzcgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0FFU19UWAkJOQkvKiBTX0RNQV84ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9BRVNfUlgJCTEwCS8qIFNfRE1BXzkgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0RFU19UWAkJMTEJLyogU19ETUFfMTAgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0RFU19SWAkJMTIJLyogU19ETUFfMTEgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX1NIQTFNRDVfUlgJCTEzCS8qIFNfRE1BXzEyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRMgkxNAkvKiBTX0RNQV8xMyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRVhUX0RNQVJFUTMJMTUJLyogU19ETUFfMTQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVE0CTE2CS8qIFNfRE1BXzE1ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQUNfUkQJCTE3CS8qIFNfRE1BXzE2ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQUNfV1IJCTE4CS8qIFNfRE1BXzE3ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfTURfVUxfUkQJMTkJLyogU19ETUFfMTggKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19NRF9VTF9XUgkyMAkvKiBTX0RNQV8xOSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX01EX0RMX1JECTIxCS8qIFNfRE1BXzIwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfTURfRExfV1IJMjIJLyogU19ETUFfMjEgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19CVF9VTF9SRAkyMwkvKiBTX0RNQV8yMiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0JUX1VMX1dSCTI0CS8qIFNfRE1BXzIzICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQlRfRExfUkQJMjUJLyogU19ETUFfMjQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19CVF9ETF9XUgkyNgkvKiBTX0RNQV8yNSAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfU0hBMk1ENV9SWAkJMTMJLyogU19ETUFfMTIgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VYVF9ETUFSRVEyCTE0CS8qIFNfRE1BXzEzICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FWFRfRE1BUkVRMwkxNQkvKiBTX0RNQV8xNCAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRVhUX0RNQVJFUTQJMTYJLyogU19ETUFfMTUgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19BQ19SRAkJMTcJLyogU19ETUFfMTYgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19BQ19XUgkJMTgJLyogU19ETUFfMTcgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19NRF9VTF9SRAkxOQkvKiBTX0RNQV8xOCAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX01EX1VMX1dSCTIwCS8qIFNfRE1BXzE5ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfTURfRExfUkQJMjEJLyogU19ETUFfMjAgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19NRF9ETF9XUgkyMgkvKiBTX0RNQV8yMSAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0JUX1VMX1JECTIzCS8qIFNfRE1BXzIyICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQlRfVUxfV1IJMjQJLyogU19ETUFfMjMgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19CVF9ETF9SRAkyNQkvKiBTX0RNQV8yNCAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0JUX0RMX1dSCTI2CS8qIFNfRE1BXzI1ICovCisjZGVmaW5lIE9NQVAyNDNYX0RNQV9FWFRfRE1BUkVRMwkxNAkvKiBTX0RNQV8xMyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJM19UWDAJCTE1CS8qIFNfRE1BXzE0ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkzX1JYMAkJMTYJLyogU19ETUFfMTUgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQM19UWAkJMTcJLyogU19ETUFfMTYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQM19SWAkJMTgJLyogU19ETUFfMTcgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQNF9UWAkJMTkJLyogU19ETUFfMTggKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQNF9SWAkJMjAJLyogU19ETUFfMTkgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQNV9UWAkJMjEJLyogU19ETUFfMjAgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQNV9SWAkJMjIJLyogU19ETUFfMjEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTNfVFgxCQkyMwkvKiBTX0RNQV8yMiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJM19SWDEJCTI0CS8qIFNfRE1BXzIzICovCisjZGVmaW5lIE9NQVAyNDNYX0RNQV9FWFRfRE1BUkVRNAkyNQkvKiBTX0RNQV8yNCAqLworI2RlZmluZSBPTUFQMjQzWF9ETUFfRVhUX0RNQVJFUTUJMjYJLyogU19ETUFfMjUgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0kyQzNfVFgJCTI1CS8qIFNfRE1BXzI0ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9JMkMzX1JYCQkyNgkvKiBTX0RNQV8yNSAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfSTJDMV9UWAkJMjcJLyogU19ETUFfMjYgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0kyQzFfUlgJCTI4CS8qIFNfRE1BXzI3ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9JMkMyX1RYCQkyOQkvKiBTX0RNQV8yOCAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfSTJDMl9SWAkJMzAJLyogU19ETUFfMjkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMV9UWAkJMzEJLyogU0RNQV8zMCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYCQkzMgkvKiBTRE1BXzMxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgJCTMzCS8qIFNETUFfMzIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMl9SWAkJMzQJLyogU0RNQV8zMyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDAJCTM1CS8qIFNETUFfMzQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgwCQkzNgkvKiBTRE1BXzM1ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMQkJMzcJLyogU0RNQV8zNiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDEJCTM4CS8qIFNETUFfMzcgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgyCQkzOQkvKiBTRE1BXzM4ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMgkJNDAJLyogU0RNQV8zOSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDMJCTQxCS8qIFNETUFfNDAgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgzCQk0MgkvKiBTRE1BXzQxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1RYMAkJNDMJLyogU0RNQV80MiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9SWDAJCTQ0CS8qIFNETUFfNDMgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfVFgxCQk0NQkvKiBTRE1BXzQ0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1JYMQkJNDYJLyogU0RNQV80NSAqLwotCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMV9UWAkJNDkJLyogU0RNQV80OCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDFfUlgJCTUwCS8qIFNETUFfNDkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQyX1RYCQk1MQkvKiBTRE1BXzUwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMl9SWAkJNTIJLyogU0RNQV81MSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDNfVFgJCTUzCS8qIFNETUFfNTIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQzX1JYCQk1NAkvKiBTRE1BXzUzICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDAJNTUJLyogU0RNQV81NCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgwCTU2CS8qIFNETUFfNTUgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMQk1NwkvKiBTRE1BXzU2ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDEJNTgJLyogU0RNQV81NyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgyCTU5CS8qIFNETUFfNTggKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMgk2MAkvKiBTRE1BXzU5ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMxX1RYCQk2MQkvKiBTRE1BXzYwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMxX1JYCQk2MgkvKiBTRE1BXzYxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NUwkJCTYzCS8qIFNETUFfNjIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVE1CTY0CS8qIFNfRE1BXzYzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDFfVFgJCTMxCS8qIFNfRE1BXzMwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDFfUlgJCTMyCS8qIFNfRE1BXzMxICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgJCTMzCS8qIFNfRE1BXzMyICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgJCTM0CS8qIFNfRE1BXzMzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMAkJMzUJLyogU19ETUFfMzQgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgwCQkzNgkvKiBTX0RNQV8zNSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDEJCTM3CS8qIFNfRE1BXzM2ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMQkJMzgJLyogU19ETUFfMzcgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgyCQkzOQkvKiBTX0RNQV8zOCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDIJCTQwCS8qIFNfRE1BXzM5ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMwkJNDEJLyogU19ETUFfNDAgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgzCQk0MgkvKiBTX0RNQV80MSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9UWDAJCTQzCS8qIFNfRE1BXzQyICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1JYMAkJNDQJLyogU19ETUFfNDMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfVFgxCQk0NQkvKiBTX0RNQV80NCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9SWDEJCTQ2CS8qIFNfRE1BXzQ1ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMyX1RYCQk0NwkvKiBTX0RNQV80NiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMl9SWAkJNDgJLyogU19ETUFfNDcgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQxX1RYCQk0OQkvKiBTX0RNQV80OCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDFfUlgJCTUwCS8qIFNfRE1BXzQ5ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMl9UWAkJNTEJLyogU19ETUFfNTAgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQyX1JYCQk1MgkvKiBTX0RNQV81MSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDNfVFgJCTUzCS8qIFNfRE1BXzUyICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUM19SWAkJNTQJLyogU19ETUFfNTMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMAk1NQkvKiBTX0RNQV81NCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgwCTU2CS8qIFNfRE1BXzU1ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDEJNTcJLyogU19ETUFfNTYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMQk1OAkvKiBTX0RNQV81NyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgyCTU5CS8qIFNfRE1BXzU4ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDIJNjAJLyogU19ETUFfNTkgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01NQzFfVFgJCTYxCS8qIFNfRE1BXzYwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMxX1JYCQk2MgkvKiBTX0RNQV82MSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTVMJCQk2MwkvKiBTX0RNQV82MiAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRVhUX0RNQVJFUTUJNjQJLyogU19ETUFfNjMgKi8KKyNkZWZpbmUgT01BUDI0M1hfRE1BX0VYVF9ETUFSRVE2CTY0CS8qIFNfRE1BXzYzICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9FWFRfRE1BUkVRMwk2NAkvKiBTX0RNQV82MyAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfQUVTMl9UWAkJNjUJLyogU19ETUFfNjQgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0FFUzJfUlgJCTY2CS8qIFNfRE1BXzY1ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9ERVMyX1RYCQk2NwkvKiBTX0RNQV82NiAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfREVTMl9SWAkJNjgJLyogU19ETUFfNjcgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1NIQTFNRDVfUlgJCTY5CS8qIFNfRE1BXzY4ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9TUEk0X1RYMAkJNzAJLyogU19ETUFfNjkgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1NQSTRfUlgwCQk3MQkvKiBTX0RNQV83MCAqLworI2RlZmluZSBPTUFQMzRYWF9EU1NfRE1BMAkJNzIJLyogU19ETUFfNzEgKi8KKyNkZWZpbmUgT01BUDM0WFhfRFNTX0RNQTEJCTczCS8qIFNfRE1BXzcyICovCisjZGVmaW5lIE9NQVAzNFhYX0RTU19ETUEyCQk3NAkvKiBTX0RNQV83MyAqLworI2RlZmluZSBPTUFQMzRYWF9EU1NfRE1BMwkJNzUJLyogU19ETUFfNzQgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX01NQzNfVFgJCTc3CS8qIFNfRE1BXzc2ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9NTUMzX1JYCQk3OAkvKiBTX0RNQV83NyAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfVVNJTV9UWAkJNzkJLyogU19ETUFfNzggKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1VTSU1fUlgJCTgwCS8qIFNfRE1BXzc5ICovCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKQEAgLTM1OCw2ICs0MTMsMTEgQEAKIAlPTUFQX0RNQV9EQVRBX0JVUlNUXzE2LAogfTsKIAorZW51bSBlbmRfdHlwZSB7CisJT01BUF9ETUFfTElUVExFX0VORElBTiA9IDAsCisJT01BUF9ETUFfQklHX0VORElBTgorfTsKKwogZW51bSBvbWFwX2RtYV9jb2xvcl9tb2RlIHsKIAlPTUFQX0RNQV9DT0xPUl9ESVMgPSAwLAogCU9NQVBfRE1BX0NPTlNUQU5UX0ZJTEwsCkBAIC0zNzAsMjQgKzQzMCwzNCBAQAogCU9NQVBfRE1BX1dSSVRFX0xBU1RfTk9OX1BPU1RFRAogfTsKIAorZW51bSBvbWFwX2RtYV9jaGFubmVsX21vZGUgeworCU9NQVBfRE1BX0xDSF8yRCA9IDAsCisJT01BUF9ETUFfTENIX0csCisJT01BUF9ETUFfTENIX1AsCisJT01BUF9ETUFfTENIX1BECit9OworCiBzdHJ1Y3Qgb21hcF9kbWFfY2hhbm5lbF9wYXJhbXMgewogCWludCBkYXRhX3R5cGU7CQkvKiBkYXRhIHR5cGUgOCwxNiwzMiAqLwogCWludCBlbGVtX2NvdW50OwkJLyogbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgZnJhbWUgKi8KIAlpbnQgZnJhbWVfY291bnQ7CS8qIG51bWJlciBvZiBmcmFtZXMgaW4gYSBlbGVtZW50ICovCiAKIAlpbnQgc3JjX3BvcnQ7CQkvKiBPbmx5IG9uIE9NQVAxIFJFVklTSVQ6IElzIHRoaXMgbmVlZGVkPyAqLwotCWludCBzcmNfYW1vZGU7CQkvKiBjb25zdGFudCAsIHBvc3QgaW5jcmVtZW50LCBpbmRleGVkICwgZG91YmxlIGluZGV4ZWQgKi8KKwlpbnQgc3JjX2Ftb2RlOwkJLyogY29uc3RhbnQsIHBvc3QgaW5jcmVtZW50LCBpbmRleGVkLAorCQkJCQlkb3VibGUgaW5kZXhlZCAqLwogCXVuc2lnbmVkIGxvbmcgc3JjX3N0YXJ0OwkvKiBzb3VyY2UgYWRkcmVzcyA6IHBoeXNpY2FsICovCiAJaW50IHNyY19laTsJCS8qIHNvdXJjZSBlbGVtZW50IGluZGV4ICovCiAJaW50IHNyY19maTsJCS8qIHNvdXJjZSBmcmFtZSBpbmRleCAqLwogCiAJaW50IGRzdF9wb3J0OwkJLyogT25seSBvbiBPTUFQMSBSRVZJU0lUOiBJcyB0aGlzIG5lZWRlZD8gKi8KLQlpbnQgZHN0X2Ftb2RlOwkJLyogY29uc3RhbnQgLCBwb3N0IGluY3JlbWVudCwgaW5kZXhlZCAsIGRvdWJsZSBpbmRleGVkICovCisJaW50IGRzdF9hbW9kZTsJCS8qIGNvbnN0YW50LCBwb3N0IGluY3JlbWVudCwgaW5kZXhlZCwKKwkJCQkJZG91YmxlIGluZGV4ZWQgKi8KIAl1bnNpZ25lZCBsb25nIGRzdF9zdGFydDsJLyogc291cmNlIGFkZHJlc3MgOiBwaHlzaWNhbCAqLwogCWludCBkc3RfZWk7CQkvKiBzb3VyY2UgZWxlbWVudCBpbmRleCAqLwogCWludCBkc3RfZmk7CQkvKiBzb3VyY2UgZnJhbWUgaW5kZXggKi8KIAotCWludCB0cmlnZ2VyOwkJLyogdHJpZ2dlciBhdHRhY2hlZCBpZiB0aGUgY2hhbm5lbCBpcyBzeW5jaHJvbml6ZWQgKi8KKwlpbnQgdHJpZ2dlcjsJCS8qIHRyaWdnZXIgYXR0YWNoZWQgaWYgdGhlIGNoYW5uZWwgaXMKKwkJCQkJc3luY2hyb25pemVkICovCiAJaW50IHN5bmNfbW9kZTsJCS8qIHN5Y24gb24gZWxlbWVudCwgZnJhbWUgLCBibG9jayBvciBwYWNrZXQgKi8KIAlpbnQgc3JjX29yX2RzdF9zeW5jaDsJLyogc291cmNlIHN5bmNoKDEpIG9yIGRlc3RpbmF0aW9uIHN5bmNoKDApICovCiAKQEAgLTQwNCw4ICs0NzQsOCBAQAogCiBleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfcHJpb3JpdHkoaW50IGxjaCwgaW50IGRzdF9wb3J0LCBpbnQgcHJpb3JpdHkpOwogZXh0ZXJuIGludCBvbWFwX3JlcXVlc3RfZG1hKGludCBkZXZfaWQsIGNvbnN0IGNoYXIgKmRldl9uYW1lLAotCQkJICAgIHZvaWQgKCogY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAotCQkJICAgIHZvaWQgKmRhdGEsIGludCAqZG1hX2NoKTsKKwkJCXZvaWQgKCpjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCisJCQl2b2lkICpkYXRhLCBpbnQgKmRtYV9jaCk7CiBleHRlcm4gdm9pZCBvbWFwX2VuYWJsZV9kbWFfaXJxKGludCBjaCwgdTE2IGlycV9iaXRzKTsKIGV4dGVybiB2b2lkIG9tYXBfZGlzYWJsZV9kbWFfaXJxKGludCBjaCwgdTE2IGlycV9iaXRzKTsKIGV4dGVybiB2b2lkIG9tYXBfZnJlZV9kbWEoaW50IGNoKTsKQEAgLTQxOCw2ICs0ODgsNyBAQAogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX2NvbG9yX21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV9jb2xvcl9tb2RlIG1vZGUsCiAJCQkJICAgIHUzMiBjb2xvcik7CiBleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfd3JpdGVfbW9kZShpbnQgbGNoLCBlbnVtIG9tYXBfZG1hX3dyaXRlX21vZGUgbW9kZSk7CitleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfY2hhbm5lbF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfY2hhbm5lbF9tb2RlIG1vZGUpOwogCiBleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfc3JjX3BhcmFtcyhpbnQgbGNoLCBpbnQgc3JjX3BvcnQsIGludCBzcmNfYW1vZGUsCiAJCQkJICAgIHVuc2lnbmVkIGxvbmcgc3JjX3N0YXJ0LApAQCAtNDM2LDIzICs1MDcsMjYgQEAKIAkJCQkJIGVudW0gb21hcF9kbWFfYnVyc3RfbW9kZSBidXJzdF9tb2RlKTsKIAogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3BhcmFtcyhpbnQgbGNoLAotCQkJCXN0cnVjdCBvbWFwX2RtYV9jaGFubmVsX3BhcmFtcyAqIHBhcmFtcyk7CisJCQkJc3RydWN0IG9tYXBfZG1hX2NoYW5uZWxfcGFyYW1zICpwYXJhbXMpOwogCi1leHRlcm4gdm9pZCBvbWFwX2RtYV9saW5rX2xjaCAoaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKTsKLWV4dGVybiB2b2lkIG9tYXBfZG1hX3VubGlua19sY2ggKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSk7CitleHRlcm4gdm9pZCBvbWFwX2RtYV9saW5rX2xjaChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpOworZXh0ZXJuIHZvaWQgb21hcF9kbWFfdW5saW5rX2xjaChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpOwogCiBleHRlcm4gaW50IG9tYXBfc2V0X2RtYV9jYWxsYmFjayhpbnQgbGNoLAotCQkJdm9pZCAoKiBjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCisJCQl2b2lkICgqY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAogCQkJdm9pZCAqZGF0YSk7CiBleHRlcm4gZG1hX2FkZHJfdCBvbWFwX2dldF9kbWFfc3JjX3BvcyhpbnQgbGNoKTsKIGV4dGVybiBkbWFfYWRkcl90IG9tYXBfZ2V0X2RtYV9kc3RfcG9zKGludCBsY2gpOwotZXh0ZXJuIGludCBvbWFwX2dldF9kbWFfc3JjX2FkZHJfY291bnRlcihpbnQgbGNoKTsKIGV4dGVybiB2b2lkIG9tYXBfY2xlYXJfZG1hKGludCBsY2gpOworZXh0ZXJuIGludCBvbWFwX2dldF9kbWFfYWN0aXZlX3N0YXR1cyhpbnQgbGNoKTsKIGV4dGVybiBpbnQgb21hcF9kbWFfcnVubmluZyh2b2lkKTsKIGV4dGVybiB2b2lkIG9tYXBfZG1hX3NldF9nbG9iYWxfcGFyYW1zKGludCBhcmJfcmF0ZSwgaW50IG1heF9maWZvX2RlcHRoLAogCQkJCSAgICAgICBpbnQgdHBhcmFtcyk7CiBleHRlcm4gaW50IG9tYXBfZG1hX3NldF9wcmlvX2xjaChpbnQgbGNoLCB1bnNpZ25lZCBjaGFyIHJlYWRfcHJpbywKIAkJCQkgdW5zaWduZWQgY2hhciB3cml0ZV9wcmlvKTsKK2V4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9kc3RfZW5kaWFuX3R5cGUoaW50IGxjaCwgZW51bSBlbmRfdHlwZSBldHlwZSk7CitleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfc3JjX2VuZGlhbl90eXBlKGludCBsY2gsIGVudW0gZW5kX3R5cGUgZXR5cGUpOworZXh0ZXJuIGludCBvbWFwX2dldF9kbWFfaW5kZXgoaW50IGxjaCwgaW50ICplaSwgaW50ICpmaSk7CiAKIC8qIENoYWluaW5nIEFQSXMgKi8KICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKQEAgLTQ3OCw3ICs1NTIsNyBAQAogI2VuZGlmCiAKIC8qIExDRCBETUEgZnVuY3Rpb25zICovCi1leHRlcm4gaW50IG9tYXBfcmVxdWVzdF9sY2RfZG1hKHZvaWQgKCogY2FsbGJhY2spKHUxNiBzdGF0dXMsIHZvaWQgKmRhdGEpLAorZXh0ZXJuIGludCBvbWFwX3JlcXVlc3RfbGNkX2RtYSh2b2lkICgqY2FsbGJhY2spKHUxNiBzdGF0dXMsIHZvaWQgKmRhdGEpLAogCQkJCXZvaWQgKmRhdGEpOwogZXh0ZXJuIHZvaWQgb21hcF9mcmVlX2xjZF9kbWEodm9pZCk7CiBleHRlcm4gdm9pZCBvbWFwX3NldHVwX2xjZF9kbWEodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtdGltZXIuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG10aW1lci5oCmluZGV4IGZlZmIyNzYuLjAyYjI5ZTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG10aW1lci5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG10aW1lci5oCkBAIC02Niw2ICs2Niw3IEBACiAKIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfc291cmNlKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IHNvdXJjZSk7CiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X2xvYWQoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgYXV0b3JlbG9hZCwgdW5zaWduZWQgaW50IHZhbHVlKTsKK3ZvaWQgb21hcF9kbV90aW1lcl9zZXRfbG9hZF9zdGFydChzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBhdXRvcmVsb2FkLCB1bnNpZ25lZCBpbnQgdmFsdWUpOwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9tYXRjaChzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBlbmFibGUsIHVuc2lnbmVkIGludCBtYXRjaCk7CiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X3B3bShzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBkZWZfb24sIGludCB0b2dnbGUsIGludCB0cmlnZ2VyKTsKIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfcHJlc2NhbGVyKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IHByZXNjYWxlcik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2ZwZ2EuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZnBnYS5oCmluZGV4IDZhODgzZTAuLmY0MjA4ODEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZnBnYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZnBnYS5oCkBAIC0xNjksMzAgKzE2OSwyOSBAQAogI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQQkJKElIX0dQSU9fQkFTRSArIDEzKQogCiAvKiBJUlEgTnVtYmVycyBmb3IgaW50ZXJydXB0cyBtdXhlZCB0aHJvdWdoIHRoZSBGUEdBICovCi0jZGVmaW5lIE9NQVAxNTEwX0lIX0ZQR0FfQkFTRQkJSUhfQk9BUkRfQkFTRQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9BVE4JCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAwKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9BQ0sJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAyKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTMJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAzKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTQJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA0KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTUJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA1KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTYJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA2KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTcJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA3KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTgJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA4KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTkJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA5KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTEwCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTApCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTEJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxMSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDEyKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRVRIRVIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxMykKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FVQVJUMQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE0KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQVVBUlQyCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTUpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1RTCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTYpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTcJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxNykKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQ0FNCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTgpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1JUQ19BCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTkpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1JUQ19CCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMjApCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0NECQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMjEpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMjIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAyMikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyMwkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDIzKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9BVE4JCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAwKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9BQ0sJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAyKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTMJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAzKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTQJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA0KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTUJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA1KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTYJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA2KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTcJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA3KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTgJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA4KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTkJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA5KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTEwCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTApCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTEJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxMSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDEyKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRVRIRVIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxMykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FVQVJUMQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE0KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQVVBUlQyCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTUpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1RTCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTYpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTcJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxNykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQ0FNCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTgpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1JUQ19BCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTkpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1JUQ19CCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMjApCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0NECQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMjEpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMjIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAyMikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyMwkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDIzKQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaGFyZHdhcmUuaAppbmRleCA5MWQ4NWIzLi40NWZkZmNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9oYXJkd2FyZS5oCkBAIC0yODQsNiArMjg0LDcgQEAKICNpbmNsdWRlICJvbWFwMTUxMC5oIgogI2luY2x1ZGUgIm9tYXAyNHh4LmgiCiAjaW5jbHVkZSAib21hcDE2eHguaCIKKyNpbmNsdWRlICJvbWFwMzR4eC5oIgogCiAjaWZuZGVmIF9fQVNTRU1CTEVSX18KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pby5oCmluZGV4IDE2MDU3OGUuLjBiMTM1NTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lvLmgKQEAgLTYwLDYgKzYwLDcgQEAKICNkZWZpbmUgSU9fU0laRQkJMHg0MDAwMAogI2RlZmluZSBJT19WSVJUCQkoSU9fUEhZUyAtIElPX09GRlNFVCkKICNkZWZpbmUgSU9fQUREUkVTUyhwYSkJKChwYSkgLSBJT19PRkZTRVQpCisjZGVmaW5lIE9NQVAxX0lPX0FERFJFU1MocGEpCSgocGEpIC0gSU9fT0ZGU0VUKQogI2RlZmluZSBpb19wMnYocGEpCSgocGEpIC0gSU9fT0ZGU0VUKQogI2RlZmluZSBpb192MnAodmEpCSgodmEpICsgSU9fT0ZGU0VUKQogCkBAIC05MSw2ICs5Miw3IEBACiAKICNkZWZpbmUgSU9fT0ZGU0VUCTB4OTAwMDAwMDAKICNkZWZpbmUgSU9fQUREUkVTUyhwYSkJKChwYSkgKyBJT19PRkZTRVQpCS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KKyNkZWZpbmUgT01BUDJfSU9fQUREUkVTUyhwYSkJKChwYSkgKyBJT19PRkZTRVQpCS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KICNkZWZpbmUgaW9fcDJ2KHBhKQkoKHBhKSArIElPX09GRlNFVCkJLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogI2RlZmluZSBpb192MnAodmEpCSgodmEpIC0gSU9fT0ZGU0VUKQkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAKQEAgLTE0OCw2ICsxNTAsNyBAQAogCiAjZGVmaW5lIElPX09GRlNFVAkJMHg5MDAwMDAwMAogI2RlZmluZSBJT19BRERSRVNTKHBhKQkJKChwYSkgKyBJT19PRkZTRVQpLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLworI2RlZmluZSBPTUFQMl9JT19BRERSRVNTKHBhKQkoKHBhKSArIElPX09GRlNFVCkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAjZGVmaW5lIGlvX3AydihwYSkJCSgocGEpICsgSU9fT0ZGU0VUKS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KICNkZWZpbmUgaW9fdjJwKHZhKQkJKCh2YSkgLSBJT19PRkZTRVQpLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogCkBAIC0xODMsMzUgKzE4NiwxMiBAQAogI2RlZmluZSBvbWFwX3dyaXRldyh2LGEpCSgqKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICopSU9fQUREUkVTUyhhKSA9ICh2KSkKICNkZWZpbmUgb21hcF93cml0ZWwodixhKQkoKih2b2xhdGlsZSB1bnNpZ25lZCBpbnQgICAqKUlPX0FERFJFU1MoYSkgPSAodikpCiAKLS8qIDE2IGJpdCB1c2VzIExEUkgvU1RSSCwgYmFzZSArLy0gb2Zmc2V0XzggKi8KLXR5cGVkZWYgc3RydWN0IHsgdm9sYXRpbGUgdTE2IG9mZnNldFsyNTZdOyB9IF9fcmVnYmFzZTE2OwotI2RlZmluZSBfX1JFR1YxNih2YWRkcikJCSgoX19yZWdiYXNlMTYgKikoKHZhZGRyKSZ+MHhmZikpIFwKLQkJCQkJLT5vZmZzZXRbKCh2YWRkcikmMHhmZik+PjFdCi0jZGVmaW5lIF9fUkVHMTYocGFkZHIpICAgICAgICAgIF9fUkVHVjE2KGlvX3AydihwYWRkcikpCi0KLS8qIDgvMzIgYml0IHVzZXMgTERSL1NUUiwgYmFzZSArLy0gb2Zmc2V0XzEyICovCi10eXBlZGVmIHN0cnVjdCB7IHZvbGF0aWxlIHU4IG9mZnNldFs0MDk2XTsgfSBfX3JlZ2Jhc2U4OwotI2RlZmluZSBfX1JFR1Y4KHZhZGRyKQkJKChfX3JlZ2Jhc2U4ICAqKSgodmFkZHIpJn40MDk1KSkgXAotCQkJCQktPm9mZnNldFsoKHZhZGRyKSY0MDk1KT4+MF0KLSNkZWZpbmUgX19SRUc4KHBhZGRyKQkJX19SRUdWOChpb19wMnYocGFkZHIpKQotCi10eXBlZGVmIHN0cnVjdCB7IHZvbGF0aWxlIHUzMiBvZmZzZXRbNDA5Nl07IH0gX19yZWdiYXNlMzI7Ci0jZGVmaW5lIF9fUkVHVjMyKHZhZGRyKQkJKChfX3JlZ2Jhc2UzMiAqKSgodmFkZHIpJn40MDk1KSkgXAotCQkJCQktPm9mZnNldFsoKHZhZGRyKSY0MDk1KT4+Ml0KLSNkZWZpbmUgX19SRUczMihwYWRkcikJCV9fUkVHVjMyKGlvX3AydihwYWRkcikpCi0KIGV4dGVybiB2b2lkIG9tYXAxX21hcF9jb21tb25faW8odm9pZCk7CiBleHRlcm4gdm9pZCBvbWFwMV9pbml0X2NvbW1vbl9odyh2b2lkKTsKIAogZXh0ZXJuIHZvaWQgb21hcDJfbWFwX2NvbW1vbl9pbyh2b2lkKTsKIGV4dGVybiB2b2lkIG9tYXAyX2luaXRfY29tbW9uX2h3KHZvaWQpOwogCi0jZWxzZQotCi0jZGVmaW5lIF9fUkVHOChwYWRkcikJCWlvX3AydihwYWRkcikKLSNkZWZpbmUgX19SRUcxNihwYWRkcikJCWlvX3AydihwYWRkcikKLSNkZWZpbmUgX19SRUczMihwYWRkcikJCWlvX3AydihwYWRkcikKLQogI2VuZGlmCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lycXMuaAppbmRleCA4Nzk3MzY1Li43NDY0YzY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lycXMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lycXMuaApAQCAtMjg1LDcgKzI4NSw0MSBAQAogI2RlZmluZSBPTUFQX01BWF9HUElPX0xJTkVTCTE5MgogI2RlZmluZSBJSF9HUElPX0JBU0UJCSgxMjggKyBJSDJfQkFTRSkKICNkZWZpbmUgSUhfTVBVSU9fQkFTRQkJKE9NQVBfTUFYX0dQSU9fTElORVMgKyBJSF9HUElPX0JBU0UpCi0jZGVmaW5lIElIX0JPQVJEX0JBU0UJCSgxNiArIElIX01QVUlPX0JBU0UpCisjZGVmaW5lIE9NQVBfSVJRX0VORAkJKElIX01QVUlPX0JBU0UgKyAxNikKKworLyogRXh0ZXJuYWwgRlBHQSBoYW5kbGVzIGludGVycnVwdHMgb24gSW5ub3ZhdG9yIGJvYXJkcyAqLworI2RlZmluZQlPTUFQX0ZQR0FfSVJRX0JBU0UJKE9NQVBfSVJRX0VORCkKKyNpZmRlZglDT05GSUdfTUFDSF9PTUFQX0lOTk9WQVRPUgorI2RlZmluZSBPTUFQX0ZQR0FfTlJfSVJRUwkyNAorI2Vsc2UKKyNkZWZpbmUgT01BUF9GUEdBX05SX0lSUVMJMAorI2VuZGlmCisjZGVmaW5lIE9NQVBfRlBHQV9JUlFfRU5ECShPTUFQX0ZQR0FfSVJRX0JBU0UgKyBPTUFQX0ZQR0FfTlJfSVJRUykKKworLyogRXh0ZXJuYWwgVFdMNDAzMCBjYW4gaGFuZGxlIGludGVycnVwdHMgb24gMjQzMCBhbmQgMzR4eCBib2FyZHMgKi8KKyNkZWZpbmUJVFdMNDAzMF9JUlFfQkFTRQkoT01BUF9GUEdBX0lSUV9FTkQpCisjaWZkZWYJQ09ORklHX1RXTDQwMzBfQ09SRQorI2RlZmluZQlUV0w0MDMwX0JBU0VfTlJfSVJRUwk4CisjZGVmaW5lCVRXTDQwMzBfUFdSX05SX0lSUVMJOAorI2Vsc2UKKyNkZWZpbmUJVFdMNDAzMF9CQVNFX05SX0lSUVMJMAorI2RlZmluZQlUV0w0MDMwX1BXUl9OUl9JUlFTCTAKKyNlbmRpZgorI2RlZmluZSBUV0w0MDMwX0lSUV9FTkQJCShUV0w0MDMwX0lSUV9CQVNFICsgVFdMNDAzMF9CQVNFX05SX0lSUVMpCisjZGVmaW5lIFRXTDQwMzBfUFdSX0lSUV9CQVNFCVRXTDQwMzBfSVJRX0VORAorI2RlZmluZQlUV0w0MDMwX1BXUl9JUlFfRU5ECShUV0w0MDMwX1BXUl9JUlFfQkFTRSArIFRXTDQwMzBfUFdSX05SX0lSUVMpCisKKy8qIEV4dGVybmFsIFRXTDQwMzAgZ3BpbyBpbnRlcnJ1cHRzIGFyZSBvcHRpb25hbCAqLworI2RlZmluZSBUV0w0MDMwX0dQSU9fSVJRX0JBU0UJVFdMNDAzMF9QV1JfSVJRX0VORAorI2lmZGVmCUNPTkZJR19UV0w0MDMwX0dQSU8KKyNkZWZpbmUgVFdMNDAzMF9HUElPX05SX0lSUVMJMTgKKyNlbHNlCisjZGVmaW5lCVRXTDQwMzBfR1BJT19OUl9JUlFTCTAKKyNlbmRpZgorI2RlZmluZSBUV0w0MDMwX0dQSU9fSVJRX0VORAkoVFdMNDAzMF9HUElPX0lSUV9CQVNFICsgVFdMNDAzMF9HUElPX05SX0lSUVMpCisKKy8qIFRvdGFsIG51bWJlciBvZiBpbnRlcnJ1cHRzIGRlcGVuZHMgb24gdGhlIGVuYWJsZWQgYmxvY2tzIGFib3ZlICovCisjZGVmaW5lIE5SX0lSUVMJCQlUV0w0MDMwX0dQSU9fSVJRX0VORAogCiAjZGVmaW5lIE9NQVBfSVJRX0JJVChpcnEpCSgxIDw8ICgoaXJxKSAlIDMyKSkKIApAQCAtMjkzLDE0ICszMjcsNiBAQAogZXh0ZXJuIHZvaWQgb21hcF9pbml0X2lycSh2b2lkKTsKICNlbmRpZgogCi0vKgotICogVGhlIGRlZmluaXRpb24gb2YgTlJfSVJRUyBpcyBpbiBib2FyZC1zcGVjaWZpYyBoZWFkZXIgZmlsZSwgd2hpY2ggaXMKLSAqIGluY2x1ZGVkIHZpYSBoYXJkd2FyZS5oCi0gKi8KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2lmbmRlZiBOUl9JUlFTCi0jZGVmaW5lIE5SX0lSUVMgICAgICAgICAgICAgICAgIElIX0JPQVJEX0JBU0UKLSNlbmRpZgotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvbWNic3AuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvbWNic3AuaAppbmRleCBjN2EwY2MxLi4yNmM3OGY2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL21jYnNwLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tY2JzcC5oCkBAIC0yNCw3ICsyNCwxMSBAQAogI2lmbmRlZiBfX0FTTV9BUkNIX09NQVBfTUNCU1BfSAogI2RlZmluZSBfX0FTTV9BUkNIX09NQVBfTUNCU1BfSAogCisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgogCiAjZGVmaW5lIE9NQVA3MzBfTUNCU1AxX0JBU0UJMHhmZmZiMTAwMAogI2RlZmluZSBPTUFQNzMwX01DQlNQMl9CQVNFCTB4ZmZmYjE4MDAKQEAgLTQwLDYgKzQ0LDkgQEAKICNkZWZpbmUgT01BUDI0WFhfTUNCU1AxX0JBU0UJMHg0ODA3NDAwMAogI2RlZmluZSBPTUFQMjRYWF9NQ0JTUDJfQkFTRQkweDQ4MDc2MDAwCiAKKyNkZWZpbmUgT01BUDM0WFhfTUNCU1AxX0JBU0UJMHg0ODA3NDAwMAorI2RlZmluZSBPTUFQMzRYWF9NQ0JTUDJfQkFTRQkweDQ5MDIyMDAwCisKICNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNVhYKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNlhYKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVA3MzApCiAKICNkZWZpbmUgT01BUF9NQ0JTUF9SRUdfRFJSMgkweDAwCkBAIC03NCw3ICs4MSw4IEBACiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX1hDRVJHCTB4M0EKICNkZWZpbmUgT01BUF9NQ0JTUF9SRUdfWENFUkgJMHgzQwogCi0jZGVmaW5lIE9NQVBfTUFYX01DQlNQX0NPVU5UIDMKKyNkZWZpbmUgT01BUF9NQVhfTUNCU1BfQ09VTlQJMworI2RlZmluZSBNQVhfTUNCU1BfQ0xPQ0tTCTMKIAogI2RlZmluZSBBVURJT19NQ0JTUF9EQVRBV1JJVEUJKE9NQVAxNTEwX01DQlNQMV9CQVNFICsgT01BUF9NQ0JTUF9SRUdfRFhSMSkKICNkZWZpbmUgQVVESU9fTUNCU1BfREFUQVJFQUQJKE9NQVAxNTEwX01DQlNQMV9CQVNFICsgT01BUF9NQ0JTUF9SRUdfRFJSMSkKQEAgLTExNyw3ICsxMjUsOCBAQAogI2RlZmluZSBPTUFQX01DQlNQX1JFR19YQ0VSRwkweDc0CiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX1hDRVJICTB4NzgKIAotI2RlZmluZSBPTUFQX01BWF9NQ0JTUF9DT1VOVCAyCisjZGVmaW5lIE9NQVBfTUFYX01DQlNQX0NPVU5UCTIKKyNkZWZpbmUgTUFYX01DQlNQX0NMT0NLUwkyCiAKICNkZWZpbmUgQVVESU9fTUNCU1BfREFUQVdSSVRFCShPTUFQMjRYWF9NQ0JTUDJfQkFTRSArIE9NQVBfTUNCU1BfUkVHX0RYUjEpCiAjZGVmaW5lIEFVRElPX01DQlNQX0RBVEFSRUFECShPTUFQMjRYWF9NQ0JTUDJfQkFTRSArIE9NQVBfTUNCU1BfUkVHX0RSUjEpCkBAIC0yOTgsNiArMzA3LDU1IEBACiAJb21hcF9tY2JzcF93b3JkX2xlbmd0aAkJd29yZF9sZW5ndGg7CiB9OwogCisvKiBQbGF0Zm9ybSBzcGVjaWZpYyBjb25maWd1cmF0aW9uICovCitzdHJ1Y3Qgb21hcF9tY2JzcF9vcHMgeworCXZvaWQgKCpyZXF1ZXN0KSh1bnNpZ25lZCBpbnQpOworCXZvaWQgKCpmcmVlKSh1bnNpZ25lZCBpbnQpOworCWludCAoKmNoZWNrKSh1bnNpZ25lZCBpbnQpOworfTsKKworc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSB7CisJdTMyIHZpcnRfYmFzZTsKKwl1OCBkbWFfcnhfc3luYywgZG1hX3R4X3N5bmM7CisJdTE2IHJ4X2lycSwgdHhfaXJxOworCXN0cnVjdCBvbWFwX21jYnNwX29wcyAqb3BzOworCWNoYXIgY29uc3QgKmNsa19uYW1lOworfTsKKworc3RydWN0IG9tYXBfbWNic3AgeworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwl1MzIgaW9fYmFzZTsKKwl1OCBpZDsKKwl1OCBmcmVlOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggcnhfd29yZF9sZW5ndGg7CisJb21hcF9tY2JzcF93b3JkX2xlbmd0aCB0eF93b3JkX2xlbmd0aDsKKworCW9tYXBfbWNic3BfaW9fdHlwZV90IGlvX3R5cGU7IC8qIElSUSBvciBwb2xsICovCisJLyogSVJRIGJhc2VkIFRYL1JYICovCisJaW50IHJ4X2lycTsKKwlpbnQgdHhfaXJxOworCisJLyogRE1BIHN0dWZmICovCisJdTggZG1hX3J4X3N5bmM7CisJc2hvcnQgZG1hX3J4X2xjaDsKKwl1OCBkbWFfdHhfc3luYzsKKwlzaG9ydCBkbWFfdHhfbGNoOworCisJLyogQ29tcGxldGlvbiBxdWV1ZXMgKi8KKwlzdHJ1Y3QgY29tcGxldGlvbiB0eF9pcnFfY29tcGxldGlvbjsKKwlzdHJ1Y3QgY29tcGxldGlvbiByeF9pcnFfY29tcGxldGlvbjsKKwlzdHJ1Y3QgY29tcGxldGlvbiB0eF9kbWFfY29tcGxldGlvbjsKKwlzdHJ1Y3QgY29tcGxldGlvbiByeF9kbWFfY29tcGxldGlvbjsKKworCS8qIFByb3RlY3QgdGhlIGZpZWxkIC5mcmVlLCB3aGlsZSBjaGVja2luZyBpZiB0aGUgbWNic3AgaXMgaW4gdXNlICovCisJc3BpbmxvY2tfdCBsb2NrOworCXN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgKnBkYXRhOworCXN0cnVjdCBjbGsgKmNsazsKK307CisKK2ludCBvbWFwX21jYnNwX2luaXQodm9pZCk7Cit2b2lkIG9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKHN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgKmNvbmZpZywKKwkJCQkJaW50IHNpemUpOwogdm9pZCBvbWFwX21jYnNwX2NvbmZpZyh1bnNpZ25lZCBpbnQgaWQsIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX3JlZ19jZmcgKiBjb25maWcpOwogaW50IG9tYXBfbWNic3BfcmVxdWVzdCh1bnNpZ25lZCBpbnQgaWQpOwogdm9pZCBvbWFwX21jYnNwX2ZyZWUodW5zaWduZWQgaW50IGlkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvb21hcDM0eHguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvb21hcDM0eHguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTMwYzZkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9vbWFwMzR4eC5oCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL29tYXAzNHh4LmgKKyAqCisgKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHByb2Nlc3NvciBzcGVjaWZpYyBkZWZpbml0aW9ucyBvZiB0aGUgVEkgT01BUDM0WFguCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IFRleGFzIEluc3RydW1lbnRzLgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5va2lhIENvcnBvcmF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfT01BUDM0WFhfSAorI2RlZmluZSBfX0FTTV9BUkNIX09NQVAzNFhYX0gKKworLyoKKyAqIFBsZWFzZSBwbGFjZSBvbmx5IGJhc2UgZGVmaW5lcyBoZXJlIGFuZCBwdXQgdGhlIHJlc3QgaW4gZGV2aWNlCisgKiBzcGVjaWZpYyBoZWFkZXJzLgorICovCisKKyNkZWZpbmUgTDRfMzRYWF9CQVNFCQkweDQ4MDAwMDAwCisjZGVmaW5lIEw0X1dLXzM0WFhfQkFTRQkJMHg0ODMwMDAwMAorI2RlZmluZSBMNF9XS19PTUFQX0JBU0UJCUw0X1dLXzM0WFhfQkFTRQorI2RlZmluZSBMNF9QRVJfMzRYWF9CQVNFCTB4NDkwMDAwMDAKKyNkZWZpbmUgTDRfUEVSX09NQVBfQkFTRQlMNF9QRVJfMzRYWF9CQVNFCisjZGVmaW5lIEw0X0VNVV8zNFhYX0JBU0UJMHg1NDAwMDAwMAorI2RlZmluZSBMNF9FTVVfQkFTRQkJTDRfRU1VXzM0WFhfQkFTRQorI2RlZmluZSBMM18zNFhYX0JBU0UJCTB4NjgwMDAwMDAKKyNkZWZpbmUgTDNfT01BUF9CQVNFCQlMM18zNFhYX0JBU0UKKworI2RlZmluZSBPTUFQMzQzMF8zMktTWU5DVF9CQVNFCTB4NDgzMjAwMDAKKyNkZWZpbmUgT01BUDM0MzBfQ01fQkFTRQkweDQ4MDA0ODAwCisjZGVmaW5lIE9NQVAzNDMwX1BSTV9CQVNFCTB4NDgzMDY4MDAKKyNkZWZpbmUgT01BUDM0M1hfU01TX0JBU0UJMHg2QzAwMDAwMAorI2RlZmluZSBPTUFQMzQzWF9TRFJDX0JBU0UJMHg2RDAwMDAwMAorI2RlZmluZSBPTUFQMzRYWF9HUE1DX0JBU0UJMHg2RTAwMDAwMAorI2RlZmluZSBPTUFQMzQzWF9TQ01fQkFTRQkweDQ4MDAyMDAwCisjZGVmaW5lIE9NQVAzNDNYX0NUUkxfQkFTRQlPTUFQMzQzWF9TQ01fQkFTRQorCisjZGVmaW5lIE9NQVAzNFhYX0lDX0JBU0UJMHg0ODIwMDAwMAorI2RlZmluZSBPTUFQMzRYWF9JVkFfSU5UQ19CQVNFCTB4NDAwMDAwMDAKKyNkZWZpbmUgT01BUDM0WFhfSFNVU0JfT1RHX0JBU0UJKEw0XzM0WFhfQkFTRSArIDB4QUIwMDApCisjZGVmaW5lIE9NQVAzNFhYX0hTVVNCX0hPU1RfQkFTRQkoTDRfMzRYWF9CQVNFICsgMHg2NDAwMCkKKyNkZWZpbmUgT01BUDM0WFhfVVNCVExMX0JBU0UJKEw0XzM0WFhfQkFTRSArIDB4NjIwMDApCisKKworI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0MzApCisKKyNkZWZpbmUgT01BUDJfMzJLU1lOQ1RfQkFTRQkJT01BUDM0MzBfMzJLU1lOQ1RfQkFTRQorI2RlZmluZSBPTUFQMl9DTV9CQVNFCQkJT01BUDM0MzBfQ01fQkFTRQorI2RlZmluZSBPTUFQMl9QUk1fQkFTRQkJCU9NQVAzNDMwX1BSTV9CQVNFCisjZGVmaW5lIE9NQVAyX1ZBX0lDX0JBU0UJCUlPX0FERFJFU1MoT01BUDM0WFhfSUNfQkFTRSkKKworI2VuZGlmCisKKyNkZWZpbmUgT01BUDM0WFhfRFNQX0JBU0UJMHg1ODAwMDAwMAorI2RlZmluZSBPTUFQMzRYWF9EU1BfTUVNX0JBU0UJKE9NQVAzNFhYX0RTUF9CQVNFICsgMHgwKQorI2RlZmluZSBPTUFQMzRYWF9EU1BfSVBJX0JBU0UJKE9NQVAzNFhYX0RTUF9CQVNFICsgMHgxMDAwMDAwKQorI2RlZmluZSBPTUFQMzRYWF9EU1BfTU1VX0JBU0UJKE9NQVAzNFhYX0RTUF9CQVNFICsgMHgyMDAwMDAwKQorI2VuZGlmIC8qIF9fQVNNX0FSQ0hfT01BUDM0WFhfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3NyYW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvc3JhbS5oCmluZGV4IGJiOWJiM2YuLmJlNTlmNGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvc3JhbS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvc3JhbS5oCkBAIC0xMSw2ICsxMSw3IEBACiAjaWZuZGVmIF9fQVJDSF9BUk1fT01BUF9TUkFNX0gKICNkZWZpbmUgX19BUkNIX0FSTV9PTUFQX1NSQU1fSAogCitleHRlcm4gaW50IF9faW5pdCBvbWFwX3NyYW1faW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkICogb21hcF9zcmFtX3B1c2godm9pZCAqIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUpOwogZXh0ZXJuIHZvaWQgb21hcF9zcmFtX3JlcHJvZ3JhbV9jbG9jayh1MzIgZHBsbGN0bCwgdTMyIGNrY3RsKTsKIApAQCAtMjEsMTcgKzIyLDM1IEBACiBleHRlcm4gdTMyIG9tYXAyX3NldF9wcmNtKHUzMiBkcGxsX2N0cmxfdmFsLCB1MzIgc2RyY19yZnJfdmFsLCBpbnQgYnlwYXNzKTsKIAogLyogRG8gbm90IHVzZSB0aGVzZSAqLwotZXh0ZXJuIHZvaWQgc3JhbV9yZXByb2dyYW1fY2xvY2sodTMyIGNrY3RsLCB1MzIgZHBsbGN0bCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBzcmFtX3JlcHJvZ3JhbV9jbG9ja19zejsKK2V4dGVybiB2b2lkIG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrKHUzMiBja2N0bCwgdTMyIGRwbGxjdGwpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2tfc3o7CiAKLWV4dGVybiB2b2lkIHNyYW1fZGRyX2luaXQodTMyICpzbG93X2RsbF9jdHJsLCB1MzIgZmFzdF9kbGxfY3RybCwKLQkJCSAgdTMyIGJhc2VfY3MsIHUzMiBmb3JjZV91bmxvY2spOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc3JhbV9kZHJfaW5pdF9zejsKK2V4dGVybiB2b2lkIG9tYXAyNHh4X3NyYW1fcmVwcm9ncmFtX2Nsb2NrKHUzMiBja2N0bCwgdTMyIGRwbGxjdGwpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0eHhfc3JhbV9yZXByb2dyYW1fY2xvY2tfc3o7CiAKLWV4dGVybiB1MzIgc3JhbV9zZXRfcHJjbSh1MzIgZHBsbF9jdHJsX3ZhbCwgdTMyIHNkcmNfcmZyX3ZhbCwgaW50IGJ5cGFzcyk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBzcmFtX3NldF9wcmNtX3N6OworZXh0ZXJuIHZvaWQgb21hcDI0Mnhfc3JhbV9kZHJfaW5pdCh1MzIgKnNsb3dfZGxsX2N0cmwsIHUzMiBmYXN0X2RsbF9jdHJsLAorCQkJCQkJdTMyIGJhc2VfY3MsIHUzMiBmb3JjZV91bmxvY2spOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0Mnhfc3JhbV9kZHJfaW5pdF9zejsKIAotZXh0ZXJuIHZvaWQgc3JhbV9yZXByb2dyYW1fc2RyYyh1MzIgcGVyZl9sZXZlbCwgdTMyIGRsbF92YWwsIHUzMiBtZW1fdHlwZSk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBzcmFtX3JlcHJvZ3JhbV9zZHJjX3N6OworZXh0ZXJuIHUzMiBvbWFwMjQyeF9zcmFtX3NldF9wcmNtKHUzMiBkcGxsX2N0cmxfdmFsLCB1MzIgc2RyY19yZnJfdmFsLAorCQkJCQkJaW50IGJ5cGFzcyk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQyeF9zcmFtX3NldF9wcmNtX3N6OworCitleHRlcm4gdm9pZCBvbWFwMjQyeF9zcmFtX3JlcHJvZ3JhbV9zZHJjKHUzMiBwZXJmX2xldmVsLCB1MzIgZGxsX3ZhbCwKKwkJCQkJCXUzMiBtZW1fdHlwZSk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQyeF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6OworCisKK2V4dGVybiB2b2lkIG9tYXAyNDN4X3NyYW1fZGRyX2luaXQodTMyICpzbG93X2RsbF9jdHJsLCB1MzIgZmFzdF9kbGxfY3RybCwKKwkJCQkJCXUzMiBiYXNlX2NzLCB1MzIgZm9yY2VfdW5sb2NrKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDN4X3NyYW1fZGRyX2luaXRfc3o7CisKK2V4dGVybiB1MzIgb21hcDI0M3hfc3JhbV9zZXRfcHJjbSh1MzIgZHBsbF9jdHJsX3ZhbCwgdTMyIHNkcmNfcmZyX3ZhbCwKKwkJCQkJCWludCBieXBhc3MpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0M3hfc3JhbV9zZXRfcHJjbV9zejsKKworZXh0ZXJuIHZvaWQgb21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyYyh1MzIgcGVyZl9sZXZlbCwgdTMyIGRsbF92YWwsCisJCQkJCQl1MzIgbWVtX3R5cGUpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyY19zejsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3RjLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3RjLmgKaW5kZXggOGRlZDIxOC4uNjVhOWM4MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC90Yy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdGMuaApAQCAtNzUsMTYgKzc1LDE0IEBACiAjaWZuZGVmCV9fQVNTRU1CTEVSX18KIAogLyogRU1JRiBTbG93IEludGVyZmFjZSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCi0jZGVmaW5lCU9NQVBfRU1JRlNfQ09ORklHX1JFRwlfX1JFRzMyKEVNSUZTX0NPTkZJRykKLQogI2RlZmluZSBPTUFQX0VNSUZTX0NPTkZJR19GUgkJKDEgPDwgNCkKICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfUERFCQkoMSA8PCAzKQogI2RlZmluZSBPTUFQX0VNSUZTX0NPTkZJR19QV0RfRU4JKDEgPDwgMikKICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfQk0JCSgxIDw8IDEpCiAjZGVmaW5lIE9NQVBfRU1JRlNfQ09ORklHX1dQCQkoMSA8PCAwKQogCi0jZGVmaW5lIEVNSUZTX0NDUyhuKQkJX19SRUczMihFTUlGU19DUzBfQ09ORklHICsgKDQgKiAobikpKQotI2RlZmluZSBFTUlGU19BQ1MobikJCV9fUkVHMzIoRU1JRlNfQUNTMCArICg0ICogKG4pKSkKKyNkZWZpbmUgRU1JRlNfQ0NTKG4pCQkoRU1JRlNfQ1MwX0NPTkZJRyArICg0ICogKG4pKSkKKyNkZWZpbmUgRU1JRlNfQUNTKG4pCQkoRU1JRlNfQUNTMCArICg0ICogKG4pKSkKIAogLyogQWxtb3N0IGFsbCBkb2N1bWVudGF0aW9uIGZvciBjaGlwIGFuZCBib2FyZCBtZW1vcnkgbWFwcyBhc3N1bWVzCiAgKiBCTSBpcyBjbGVhci4gIE1vc3QgZGV2ZWwgYm9hcmRzIGhhdmUgYSBzd2l0Y2ggdG8gY29udHJvbCBib290aW5nCkBAIC05MywxMyArOTEsMTMgQEAKICAqLwogc3RhdGljIGlubGluZSB1MzIgb21hcF9jczBfcGh5cyh2b2lkKQogewotCXJldHVybiAoT01BUF9FTUlGU19DT05GSUdfUkVHICYgT01BUF9FTUlGU19DT05GSUdfQk0pCisJcmV0dXJuIChvbWFwX3JlYWRsKEVNSUZTX0NPTkZJRykgJiBPTUFQX0VNSUZTX0NPTkZJR19CTSkKIAkJCT8gIE9NQVBfQ1MzX1BIWVMgOiAwOwogfQogCiBzdGF0aWMgaW5saW5lIHUzMiBvbWFwX2NzM19waHlzKHZvaWQpCiB7Ci0JcmV0dXJuIChPTUFQX0VNSUZTX0NPTkZJR19SRUcgJiBPTUFQX0VNSUZTX0NPTkZJR19CTSkKKwlyZXR1cm4gKG9tYXBfcmVhZGwoRU1JRlNfQ09ORklHKSAmIE9NQVBfRU1JRlNfQ09ORklHX0JNKQogCQkJPyAwIDogT01BUF9DUzNfUEhZUzsKIH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmgKaW5kZXggMjE0N2QxOC4uZGRmMTg2MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3VzYi5oCkBAIC0zNCwxMSArMzQsOCBAQAogLyoKICAqIE9URyBhbmQgdHJhbnNjZWl2ZXIgcmVnaXN0ZXJzLCBmb3IgT01BUHMgc3RhcnRpbmcgd2l0aCBBUk05MjYKICAqLwotI2RlZmluZSBPVEdfUkVHMzIob2Zmc2V0KQkJX19SRUczMihPVEdfQkFTRSArIChvZmZzZXQpKQotI2RlZmluZSBPVEdfUkVHMTYob2Zmc2V0KQkJX19SRUcxNihPVEdfQkFTRSArIChvZmZzZXQpKQotCi0jZGVmaW5lIE9UR19SRVZfUkVHCQkJT1RHX1JFRzMyKDB4MDApCi0jZGVmaW5lIE9UR19TWVNDT05fMV9SRUcJCU9UR19SRUczMigweDA0KQorI2RlZmluZSBPVEdfUkVWCQkJCShPVEdfQkFTRSArIDB4MDApCisjZGVmaW5lIE9UR19TWVNDT05fMQkJCShPVEdfQkFTRSArIDB4MDQpCiAjCWRlZmluZQkgVVNCMl9UUlhfTU9ERSh3KQkoKCh3KT4+MjQpJjB4MDcpCiAjCWRlZmluZQkgVVNCMV9UUlhfTU9ERSh3KQkoKCh3KT4+MjApJjB4MDcpCiAjCWRlZmluZQkgVVNCMF9UUlhfTU9ERSh3KQkoKCh3KT4+MTYpJjB4MDcpCkBAIC00Nyw3ICs0NCw3IEBACiAjCWRlZmluZQkgREVWX0lETEVfRU4JCSgxIDw8IDEzKQogIwlkZWZpbmUJIE9UR19SRVNFVF9ET05FCQkoMSA8PCAyKQogIwlkZWZpbmUJIE9UR19TT0ZUX1JFU0VUCQkoMSA8PCAxKQotI2RlZmluZSBPVEdfU1lTQ09OXzJfUkVHCQlPVEdfUkVHMzIoMHgwOCkKKyNkZWZpbmUgT1RHX1NZU0NPTl8yCQkJKE9UR19CQVNFICsgMHgwOCkKICMJZGVmaW5lCSBPVEdfRU4JCQkoMSA8PCAzMSkKICMJZGVmaW5lCSBVU0JYX1NZTkNIUk8JCSgxIDw8IDMwKQogIwlkZWZpbmUJIE9UR19NU1QxNgkJKDEgPDwgMjkpCkBAIC02NSw3ICs2Miw3IEBACiAjCWRlZmluZQkgSE1DX1RMTFNQRUVECQkoMSA8PCA3KQogIwlkZWZpbmUJIEhNQ19UTExBVFRBQ0gJCSgxIDw8IDYpCiAjCWRlZmluZQkgT1RHX0hNQyh3KQkJKCgodyk+PjApJjB4M2YpCi0jZGVmaW5lIE9UR19DVFJMX1JFRwkJCU9UR19SRUczMigweDBjKQorI2RlZmluZSBPVEdfQ1RSTAkJCShPVEdfQkFTRSArIDB4MGMpCiAjCWRlZmluZQkgT1RHX1VTQjJfRU4JCSgxIDw8IDI5KQogIwlkZWZpbmUJIE9UR19VU0IyX0RQCQkoMSA8PCAyOCkKICMJZGVmaW5lCSBPVEdfVVNCMl9ETQkJKDEgPDwgMjcpCkBAIC05Miw3ICs4OSw3IEBACiAjCWRlZmluZQkgT1RHX1BEX1ZCVVMJCSgxIDw8IDIpCiAjCWRlZmluZQkgT1RHX1BVX1ZCVVMJCSgxIDw8IDEpCiAjCWRlZmluZQkgT1RHX1BVX0lECQkoMSA8PCAwKQotI2RlZmluZSBPVEdfSVJRX0VOX1JFRwkJCU9UR19SRUcxNigweDEwKQorI2RlZmluZSBPVEdfSVJRX0VOCQkJKE9UR19CQVNFICsgMHgxMCkJLyogMTYtYml0ICovCiAjCWRlZmluZQkgRFJJVkVSX1NXSVRDSAkJKDEgPDwgMTUpCiAjCWRlZmluZQkgQV9WQlVTX0VSUgkJKDEgPDwgMTMpCiAjCWRlZmluZQkgQV9SRVFfVE1ST1VUCQkoMSA8PCAxMikKQEAgLTEwMiw5ICs5OSw5IEBACiAjCWRlZmluZQkgQl9TUlBfRE9ORQkJKDEgPDwgOCkKICMJZGVmaW5lCSBCX1NSUF9TVEFSVEVECQkoMSA8PCA3KQogIwlkZWZpbmUJIE9QUlRfQ0hHCQkoMSA8PCAwKQotI2RlZmluZSBPVEdfSVJRX1NSQ19SRUcJCQlPVEdfUkVHMTYoMHgxNCkKKyNkZWZpbmUgT1RHX0lSUV9TUkMJCQkoT1RHX0JBU0UgKyAweDE0KQkvKiAxNi1iaXQgKi8KIAkvLyBzYW1lIGJpdHMgYXMgaW4gSVJRX0VOCi0jZGVmaW5lIE9UR19PVVRDVFJMX1JFRwkJCU9UR19SRUcxNigweDE4KQorI2RlZmluZSBPVEdfT1VUQ1RSTAkJCShPVEdfQkFTRSArIDB4MTgpCS8qIDE2LWJpdCAqLwogIwlkZWZpbmUJIE9UR1ZQRAkJCSgxIDw8IDE0KQogIwlkZWZpbmUJIE9UR1ZQVQkJCSgxIDw8IDEzKQogIwlkZWZpbmUJIE9UR1BVSUQJCSgxIDw8IDEyKQpAQCAtMTE3LDEzICsxMTQsMTMgQEAKICMJZGVmaW5lCSBVU0IwVkRSCQkoMSA8PCAyKQogIwlkZWZpbmUJIFVTQjBQREVOCQkoMSA8PCAxKQogIwlkZWZpbmUJIFVTQjBQVUVOCQkoMSA8PCAwKQotI2RlZmluZSBPVEdfVEVTVF9SRUcJCQlPVEdfUkVHMTYoMHgyMCkKLSNkZWZpbmUgT1RHX1ZFTkRPUl9DT0RFX1JFRwkJT1RHX1JFRzMyKDB4ZmMpCisjZGVmaW5lIE9UR19URVNUCQkJKE9UR19CQVNFICsgMHgyMCkJLyogMTYtYml0ICovCisjZGVmaW5lIE9UR19WRU5ET1JfQ09ERQkJCShPVEdfQkFTRSArIDB4ZmMpCS8qIDE2LWJpdCAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiAvKiBPTUFQMSAqLwotI2RlZmluZQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcJX19SRUczMigweGZmZmUxMDAwICsgMHgwMDY0KQorI2RlZmluZQlVU0JfVFJBTlNDRUlWRVJfQ1RSTAkJKDB4ZmZmZTEwMDAgKyAweDAwNjQpCiAjCWRlZmluZQlDT05GX1VTQjJfVU5JX1IJCSgxIDw8IDgpCiAjCWRlZmluZQlDT05GX1VTQjFfVU5JX1IJCSgxIDw8IDcpCiAjCWRlZmluZQlDT05GX1VTQl9QT1JUMF9SKHgpCSgoKHgpPj40KSYweDcpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L2lvLmgKaW5kZXggNTBmOGM4OC4uNTlmMWJjOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9pby5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvaW8uaApAQCAtMTQsNyArMTQsNiBAQAogI2luY2x1ZGUgIm9yaW9uNXguaCIKIAogI2RlZmluZSBJT19TUEFDRV9MSU1JVAkJMHhmZmZmZmZmZgotI2RlZmluZSBJT19TUEFDRV9SRU1BUAkJT1JJT041WF9QQ0lfU1lTX0lPX0JBU0UKIAogc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKgogX19hcmNoX2lvcmVtYXAodW5zaWduZWQgbG9uZyBwYWRkciwgc2l6ZV90IHNpemUsIHVuc2lnbmVkIGludCBtdHlwZSkKQEAgLTUzLDE1ICs1MiwxMiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBIZWxwZXJzIHRvIGFjY2VzcyBPcmlvbiByZWdpc3RlcnMKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2RlZmluZSBvcmlvbjV4X3JlYWQocikJCV9fcmF3X3JlYWRsKHIpCi0jZGVmaW5lIG9yaW9uNXhfd3JpdGUociwgdmFsKQlfX3Jhd193cml0ZWwodmFsLCByKQotCiAvKgogICogVGhlc2UgYXJlIG5vdCBwcmVlbXB0LXNhZmUuICBMb2NrcywgaWYgbmVlZGVkLCBtdXN0IGJlIHRha2VuCiAgKiBjYXJlIG9mIGJ5IHRoZSBjYWxsZXIuCiAgKi8KLSNkZWZpbmUgb3Jpb241eF9zZXRiaXRzKHIsIG1hc2spCW9yaW9uNXhfd3JpdGUoKHIpLCBvcmlvbjV4X3JlYWQocikgfCAobWFzaykpCi0jZGVmaW5lIG9yaW9uNXhfY2xyYml0cyhyLCBtYXNrKQlvcmlvbjV4X3dyaXRlKChyKSwgb3Jpb241eF9yZWFkKHIpICYgfihtYXNrKSkKKyNkZWZpbmUgb3Jpb241eF9zZXRiaXRzKHIsIG1hc2spCXdyaXRlbChyZWFkbChyKSB8IChtYXNrKSwgKHIpKQorI2RlZmluZSBvcmlvbjV4X2NscmJpdHMociwgbWFzaykJd3JpdGVsKHJlYWRsKHIpICYgfihtYXNrKSwgKHIpKQogCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaAppbmRleCAyMDZkZGQ3Li4xMDI1N2Y1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaApAQCAtMiw3ICsyLDcgQEAKICAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvb3Jpb241eC5oCiAgKgogICogR2VuZXJpYyBkZWZpbml0aW9ucyBvZiBPcmlvbiBTb0MgZmxhdm9yczoKLSAqICBPcmlvbi0xLCBPcmlvbi1OQVMsIE9yaW9uLVZvSVAsIGFuZCBPcmlvbi0yLgorICogIE9yaW9uLTEsIE9yaW9uLVZvSVAsIE9yaW9uLU5BUywgYW5kIE9yaW9uLTIuCiAgKgogICogTWFpbnRhaW5lcjogVHphY2hpIFBlcmVsc3RlaW4gPHR6YWNoaUBtYXJ2ZWxsLmNvbT4KICAqCkBAIC02Myw5ICs2MywxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFN1cHBvcnRlZCBEZXZpY2VzICYgUmV2aXNpb25zCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogT3Jpb24tMSAoODhGNTE4MSkgKi8KKy8qIE9yaW9uLTEgKDg4RjUxODEpIGFuZCBPcmlvbi1Wb0lQICg4OEY1MTgxTCkgKi8KICNkZWZpbmUgTVY4OEY1MTgxX0RFVl9JRAkweDUxODEKICNkZWZpbmUgTVY4OEY1MTgxX1JFVl9CMQkzCisjZGVmaW5lIE1WODhGNTE4MUxfUkVWX0EwCTgKKyNkZWZpbmUgTVY4OEY1MTgxTF9SRVZfQTEJOQogLyogT3Jpb24tTkFTICg4OEY1MTgyKSAqLwogI2RlZmluZSBNVjg4RjUxODJfREVWX0lECTB4NTE4MgogI2RlZmluZSBNVjg4RjUxODJfUkVWX0EyCTIKQEAgLTE1Miw2ICsxNTQsNyBAQAogI2RlZmluZSBCUklER0VfTUFTSwkJT1JJT041WF9CUklER0VfUkVHKDB4MTE0KQogI2RlZmluZSAgQlJJREdFX0lOVF9USU1FUjAJMHgwMDAyCiAjZGVmaW5lICBCUklER0VfSU5UX1RJTUVSMQkweDAwMDQKKyNkZWZpbmUgIEJSSURHRV9JTlRfVElNRVIxX0NMUgkofjB4MDAwNCkKICNkZWZpbmUgTUFJTl9JUlFfQ0FVU0UJCU9SSU9ONVhfQlJJREdFX1JFRygweDIwMCkKICNkZWZpbmUgTUFJTl9JUlFfTUFTSwkJT1JJT041WF9CUklER0VfUkVHKDB4MjA0KQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L3VuY29tcHJlc3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvdW5jb21wcmVzcy5oCmluZGV4IDVjMTNkNGYuLjc1NDhjZWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvdW5jb21wcmVzcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvdW5jb21wcmVzcy5oCkBAIC04LDIzICs4LDM4IEBACiAgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CiAKLSNkZWZpbmUgTVZfVUFSVF9USFIJKCh2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopKFVBUlQwX1BIWVNfQkFTRSArIDB4MCkpCi0jZGVmaW5lIE1WX1VBUlRfTFNSIAkoKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikoVUFSVDBfUEhZU19CQVNFICsgMHgxNCkpCi0KLSNkZWZpbmUgTFNSX1RIUkUJMHgyMAorI2RlZmluZSBTRVJJQUxfQkFTRQkoKHVuc2lnbmVkIGNoYXIgKilVQVJUMF9QSFlTX0JBU0UpCiAKIHN0YXRpYyB2b2lkIHB1dGMoY29uc3QgY2hhciBjKQogewotCWludCBqID0gMHgxMDAwOwotCXdoaWxlICgtLWogJiYgISgqTVZfVUFSVF9MU1IgJiBMU1JfVEhSRSkpCisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmIChiYXNlW1VBUlRfTFNSIDw8IDJdICYgVUFSVF9MU1JfVEhSRSkKKwkJCWJyZWFrOwogCQliYXJyaWVyKCk7Ci0JKk1WX1VBUlRfVEhSID0gYzsKKwl9CisKKwliYXNlW1VBUlRfVFggPDwgMl0gPSBjOwogfQogCiBzdGF0aWMgdm9pZCBmbHVzaCh2b2lkKQogeworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwl1bnNpZ25lZCBjaGFyIG1hc2s7CisJaW50IGk7CisKKwltYXNrID0gVUFSVF9MU1JfVEVNVCB8IFVBUlRfTFNSX1RIUkU7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKChiYXNlW1VBUlRfTFNSIDw8IDJdICYgbWFzaykgPT0gbWFzaykKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQogfQogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2F1ZGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvYXVkaW8uaAppbmRleCA1MmJiZTNiLi5mODJmOTZkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvYXVkaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvYXVkaW8uaApAQCAtMTIsNCArMTIsNiBAQAogCXZvaWQgKnByaXY7CiB9IHB4YTJ4eF9hdWRpb19vcHNfdDsKIAorZXh0ZXJuIHZvaWQgcHhhX3NldF9hYzk3X2luZm8ocHhhMnh4X2F1ZGlvX29wc190ICpvcHMpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2hhcmR3YXJlLmgKaW5kZXggZTI1NTU4Zi4uZDlhZjZkYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2hhcmR3YXJlLmgKQEAgLTE5MiwxNSArMTkyLDYgQEAKIGV4dGVybiB2b2lkIHB4YV9ncGlvX3NldF92YWx1ZSh1bnNpZ25lZCBncGlvLCBpbnQgdmFsdWUpOwogCiAvKgotICogUm91dGluZSB0byBlbmFibGUgb3IgZGlzYWJsZSBDS0VOCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2RlcHJlY2F0ZWQgcHhhX3NldF9ja2VuKGludCBjbG9jaywgaW50IGVuYWJsZSkKLXsKLQlleHRlcm4gdm9pZCBfX3B4YV9zZXRfY2tlbihpbnQgY2xvY2ssIGludCBlbmFibGUpOwotCV9fcHhhX3NldF9ja2VuKGNsb2NrLCBlbmFibGUpOwotfQotCi0vKgogICogcmV0dXJuIGN1cnJlbnQgbWVtb3J5IGFuZCBMQ0QgY2xvY2sgZnJlcXVlbmN5IGluIHVuaXRzIG9mIDEwa0h6CiAgKi8KIGV4dGVybiB1bnNpZ25lZCBpbnQgZ2V0X21lbWNsa19mcmVxdWVuY3lfMTBraHoodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaXJkYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2lyZGEuaAppbmRleCA5OWY0ZjQyLi4wYTUwYzNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaXJkYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9pcmRhLmgKQEAgLTE2LDQgKzE2LDggQEAKIAogZXh0ZXJuIHZvaWQgcHhhX3NldF9maWNwX2luZm8oc3RydWN0IHB4YWZpY3BfcGxhdGZvcm1fZGF0YSAqaW5mbyk7CiAKKyNpZiBkZWZpbmVkKENPTkZJR19QWEEyNXgpIHx8IGRlZmluZWQoQ09ORklHX1BYQTI3eCkKK3ZvaWQgcHhhMnh4X3RyYW5zY2VpdmVyX21vZGUoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgbW9kZSk7CisjZW5kaWYKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oCmluZGV4IDRiMmVhMWUuLmRjZTkzMDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oCkBAIC02MDAsNDE4ICs2MDAsNiBAQAogCiAKIC8qCi0gKiBVU0IgRGV2aWNlIENvbnRyb2xsZXIKLSAqIFBYQTI1eCBhbmQgUFhBMjd4IFVTQiBkZXZpY2UgY29udHJvbGxlciByZWdpc3RlcnMgYXJlIGRpZmZlcmVudC4KLSAqLwotI2lmIGRlZmluZWQoQ09ORklHX1BYQTI1eCkKLQotI2RlZmluZSBVRENfUkVTMQlfX1JFRygweDQwNjAwMDA0KSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMSAqLwotI2RlZmluZSBVRENfUkVTMglfX1JFRygweDQwNjAwMDA4KSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMiAqLwotI2RlZmluZSBVRENfUkVTMwlfX1JFRygweDQwNjAwMDBDKSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMyAqLwotCi0jZGVmaW5lIFVEQ0NSCQlfX1JFRygweDQwNjAwMDAwKSAgLyogVURDIENvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1JfVURFCSgxIDw8IDApCS8qIFVEQyBlbmFibGUgKi8KLSNkZWZpbmUgVURDQ1JfVURBCSgxIDw8IDEpCS8qIFVEQyBhY3RpdmUgKi8KLSNkZWZpbmUgVURDQ1JfUlNNCSgxIDw8IDIpCS8qIERldmljZSByZXN1bWUgKi8KLSNkZWZpbmUgVURDQ1JfUkVTSVIJKDEgPDwgMykJLyogUmVzdW1lIGludGVycnVwdCByZXF1ZXN0ICovCi0jZGVmaW5lIFVEQ0NSX1NVU0lSCSgxIDw8IDQpCS8qIFN1c3BlbmQgaW50ZXJydXB0IHJlcXVlc3QgKi8KLSNkZWZpbmUgVURDQ1JfU1JNCSgxIDw8IDUpCS8qIFN1c3BlbmQvcmVzdW1lIGludGVycnVwdCBtYXNrICovCi0jZGVmaW5lIFVEQ0NSX1JTVElSCSgxIDw8IDYpCS8qIFJlc2V0IGludGVycnVwdCByZXF1ZXN0ICovCi0jZGVmaW5lIFVEQ0NSX1JFTQkoMSA8PCA3KQkvKiBSZXNldCBpbnRlcnJ1cHQgbWFzayAqLwotCi0jZGVmaW5lIFVEQ0NTMAkJX19SRUcoMHg0MDYwMDAxMCkgIC8qIFVEQyBFbmRwb2ludCAwIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMF9PUFIJKDEgPDwgMCkJLyogT1VUIHBhY2tldCByZWFkeSAqLwotI2RlZmluZSBVRENDUzBfSVBSCSgxIDw8IDEpCS8qIElOIHBhY2tldCByZWFkeSAqLwotI2RlZmluZSBVRENDUzBfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1MwX0RSV0YJKDEgPDwgMykJLyogRGV2aWNlIHJlbW90ZSB3YWtldXAgZmVhdHVyZSAqLwotI2RlZmluZSBVRENDUzBfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1MwX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLwotI2RlZmluZSBVRENDUzBfUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBubyBlbXB0eSAqLwotI2RlZmluZSBVRENDUzBfU0EJKDEgPDwgNykJLyogU2V0dXAgYWN0aXZlICovCi0KLS8qIEJ1bGsgSU4gLSBFbmRwb2ludCAxLDYsMTEgKi8KLSNkZWZpbmUgVURDQ1MxCQlfX1JFRygweDQwNjAwMDE0KSAgLyogVURDIEVuZHBvaW50IDEgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzYJCV9fUkVHKDB4NDA2MDAwMjgpICAvKiBVREMgRW5kcG9pbnQgNiAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTEJCV9fUkVHKDB4NDA2MDAwM0MpICAvKiBVREMgRW5kcG9pbnQgMTEgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0JJX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KLSNkZWZpbmUgVURDQ1NfQklfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU19CSV9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLwotI2RlZmluZSBVRENDU19CSV9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLwotI2RlZmluZSBVRENDU19CSV9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLwotI2RlZmluZSBVRENDU19CSV9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfQklfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLwotCi0vKiBCdWxrIE9VVCAtIEVuZHBvaW50IDIsNywxMiAqLwotI2RlZmluZSBVRENDUzIJCV9fUkVHKDB4NDA2MDAwMTgpICAvKiBVREMgRW5kcG9pbnQgMiAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzcJCV9fUkVHKDB4NDA2MDAwMkMpICAvKiBVREMgRW5kcG9pbnQgNyAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzEyCQlfX1JFRygweDQwNjAwMDQwKSAgLyogVURDIEVuZHBvaW50IDEyIChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVURDQ1NfQk9fUkZTCSgxIDw8IDApCS8qIFJlY2VpdmUgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0JPX1JQQwkoMSA8PCAxKQkvKiBSZWNlaXZlIHBhY2tldCBjb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU19CT19ETUUJKDEgPDwgMykJLyogRE1BIGVuYWJsZSAqLwotI2RlZmluZSBVRENDU19CT19TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLwotI2RlZmluZSBVRENDU19CT19GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfQk9fUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBub3QgZW1wdHkgKi8KLSNkZWZpbmUgVURDQ1NfQk9fUlNQCSgxIDw8IDcpCS8qIFJlY2VpdmUgc2hvcnQgcGFja2V0ICovCi0KLS8qIElzb2Nocm9ub3VzIElOIC0gRW5kcG9pbnQgMyw4LDEzICovCi0jZGVmaW5lIFVEQ0NTMwkJX19SRUcoMHg0MDYwMDAxQykgIC8qIFVEQyBFbmRwb2ludCAzIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1M4CQlfX1JFRygweDQwNjAwMDMwKSAgLyogVURDIEVuZHBvaW50IDggKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzEzCQlfX1JFRygweDQwNjAwMDQ0KSAgLyogVURDIEVuZHBvaW50IDEzIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVRENDU19JSV9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0lJX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfSUlfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1NfSUlfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KLSNkZWZpbmUgVURDQ1NfSUlfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLwotCi0vKiBJc29jaHJvbm91cyBPVVQgLSBFbmRwb2ludCA0LDksMTQgKi8KLSNkZWZpbmUgVURDQ1M0CQlfX1JFRygweDQwNjAwMDIwKSAgLyogVURDIEVuZHBvaW50IDQgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1M5CQlfX1JFRygweDQwNjAwMDM0KSAgLyogVURDIEVuZHBvaW50IDkgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxNAkJX19SRUcoMHg0MDYwMDA0OCkgIC8qIFVEQyBFbmRwb2ludCAxNCAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0lPX1JGUwkoMSA8PCAwKQkvKiBSZWNlaXZlIEZJRk8gc2VydmljZSAqLwotI2RlZmluZSBVRENDU19JT19SUEMJKDEgPDwgMSkJLyogUmVjZWl2ZSBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfSU9fUk9GCSgxIDw8IDIpCS8qIFJlY2VpdmUgb3ZlcmZsb3cgKi8KLSNkZWZpbmUgVURDQ1NfSU9fRE1FCSgxIDw8IDMpCS8qIERNQSBlbmFibGUgKi8KLSNkZWZpbmUgVURDQ1NfSU9fUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBub3QgZW1wdHkgKi8KLSNkZWZpbmUgVURDQ1NfSU9fUlNQCSgxIDw8IDcpCS8qIFJlY2VpdmUgc2hvcnQgcGFja2V0ICovCi0KLS8qIEludGVycnVwdCBJTiAtIEVuZHBvaW50IDUsMTAsMTUgKi8KLSNkZWZpbmUgVURDQ1M1CQlfX1JFRygweDQwNjAwMDI0KSAgLyogVURDIEVuZHBvaW50IDUgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxMAkJX19SRUcoMHg0MDYwMDAzOCkgIC8qIFVEQyBFbmRwb2ludCAxMCAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzE1CQlfX1JFRygweDQwNjAwMDRDKSAgLyogVURDIEVuZHBvaW50IDE1IChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVURDQ1NfSU5UX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KLSNkZWZpbmUgVURDQ1NfSU5UX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfSU5UX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLwotI2RlZmluZSBVRENDU19JTlRfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfSU5UX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLwotI2RlZmluZSBVRENDU19JTlRfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLwotCi0jZGVmaW5lIFVGTlJICQlfX1JFRygweDQwNjAwMDYwKSAgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciBIaWdoICovCi0jZGVmaW5lIFVGTlJMCQlfX1JFRygweDQwNjAwMDY0KSAgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciBMb3cgKi8KLSNkZWZpbmUgVUJDUjIJCV9fUkVHKDB4NDA2MDAwNjgpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMiAqLwotI2RlZmluZSBVQkNSNAkJX19SRUcoMHg0MDYwMDA2YykgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA0ICovCi0jZGVmaW5lIFVCQ1I3CQlfX1JFRygweDQwNjAwMDcwKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDcgKi8KLSNkZWZpbmUgVUJDUjkJCV9fUkVHKDB4NDA2MDAwNzQpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgOSAqLwotI2RlZmluZSBVQkNSMTIJCV9fUkVHKDB4NDA2MDAwNzgpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMTIgKi8KLSNkZWZpbmUgVUJDUjE0CQlfX1JFRygweDQwNjAwMDdjKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDE0ICovCi0jZGVmaW5lIFVERFIwCQlfX1JFRygweDQwNjAwMDgwKSAgLyogVURDIEVuZHBvaW50IDAgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMQkJX19SRUcoMHg0MDYwMDEwMCkgIC8qIFVEQyBFbmRwb2ludCAxIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjIJCV9fUkVHKDB4NDA2MDAxODApICAvKiBVREMgRW5kcG9pbnQgMiBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIzCQlfX1JFRygweDQwNjAwMjAwKSAgLyogVURDIEVuZHBvaW50IDMgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSNAkJX19SRUcoMHg0MDYwMDQwMCkgIC8qIFVEQyBFbmRwb2ludCA0IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjUJCV9fUkVHKDB4NDA2MDAwQTApICAvKiBVREMgRW5kcG9pbnQgNSBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI2CQlfX1JFRygweDQwNjAwNjAwKSAgLyogVURDIEVuZHBvaW50IDYgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSNwkJX19SRUcoMHg0MDYwMDY4MCkgIC8qIFVEQyBFbmRwb2ludCA3IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjgJCV9fUkVHKDB4NDA2MDA3MDApICAvKiBVREMgRW5kcG9pbnQgOCBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI5CQlfX1JFRygweDQwNjAwOTAwKSAgLyogVURDIEVuZHBvaW50IDkgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTAJCV9fUkVHKDB4NDA2MDAwQzApICAvKiBVREMgRW5kcG9pbnQgMTAgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTEJCV9fUkVHKDB4NDA2MDBCMDApICAvKiBVREMgRW5kcG9pbnQgMTEgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTIJCV9fUkVHKDB4NDA2MDBCODApICAvKiBVREMgRW5kcG9pbnQgMTIgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTMJCV9fUkVHKDB4NDA2MDBDMDApICAvKiBVREMgRW5kcG9pbnQgMTMgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTQJCV9fUkVHKDB4NDA2MDBFMDApICAvKiBVREMgRW5kcG9pbnQgMTQgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTUJCV9fUkVHKDB4NDA2MDAwRTApICAvKiBVREMgRW5kcG9pbnQgMTUgRGF0YSBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVJQ1IwCQlfX1JFRygweDQwNjAwMDUwKSAgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyIDAgKi8KLQotI2RlZmluZSBVSUNSMF9JTTAJKDEgPDwgMCkJLyogSW50ZXJydXB0IG1hc2sgZXAgMCAqLwotI2RlZmluZSBVSUNSMF9JTTEJKDEgPDwgMSkJLyogSW50ZXJydXB0IG1hc2sgZXAgMSAqLwotI2RlZmluZSBVSUNSMF9JTTIJKDEgPDwgMikJLyogSW50ZXJydXB0IG1hc2sgZXAgMiAqLwotI2RlZmluZSBVSUNSMF9JTTMJKDEgPDwgMykJLyogSW50ZXJydXB0IG1hc2sgZXAgMyAqLwotI2RlZmluZSBVSUNSMF9JTTQJKDEgPDwgNCkJLyogSW50ZXJydXB0IG1hc2sgZXAgNCAqLwotI2RlZmluZSBVSUNSMF9JTTUJKDEgPDwgNSkJLyogSW50ZXJydXB0IG1hc2sgZXAgNSAqLwotI2RlZmluZSBVSUNSMF9JTTYJKDEgPDwgNikJLyogSW50ZXJydXB0IG1hc2sgZXAgNiAqLwotI2RlZmluZSBVSUNSMF9JTTcJKDEgPDwgNykJLyogSW50ZXJydXB0IG1hc2sgZXAgNyAqLwotCi0jZGVmaW5lIFVJQ1IxCQlfX1JFRygweDQwNjAwMDU0KSAgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyIDEgKi8KLQotI2RlZmluZSBVSUNSMV9JTTgJKDEgPDwgMCkJLyogSW50ZXJydXB0IG1hc2sgZXAgOCAqLwotI2RlZmluZSBVSUNSMV9JTTkJKDEgPDwgMSkJLyogSW50ZXJydXB0IG1hc2sgZXAgOSAqLwotI2RlZmluZSBVSUNSMV9JTTEwCSgxIDw8IDIpCS8qIEludGVycnVwdCBtYXNrIGVwIDEwICovCi0jZGVmaW5lIFVJQ1IxX0lNMTEJKDEgPDwgMykJLyogSW50ZXJydXB0IG1hc2sgZXAgMTEgKi8KLSNkZWZpbmUgVUlDUjFfSU0xMgkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMiAqLwotI2RlZmluZSBVSUNSMV9JTTEzCSgxIDw8IDUpCS8qIEludGVycnVwdCBtYXNrIGVwIDEzICovCi0jZGVmaW5lIFVJQ1IxX0lNMTQJKDEgPDwgNikJLyogSW50ZXJydXB0IG1hc2sgZXAgMTQgKi8KLSNkZWZpbmUgVUlDUjFfSU0xNQkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxNSAqLwotCi0jZGVmaW5lIFVTSVIwCQlfX1JFRygweDQwNjAwMDU4KSAgLyogVURDIFN0YXR1cyBJbnRlcnJ1cHQgUmVnaXN0ZXIgMCAqLwotCi0jZGVmaW5lIFVTSVIwX0lSMAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAwICovCi0jZGVmaW5lIFVTSVIwX0lSMQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxICovCi0jZGVmaW5lIFVTSVIwX0lSMgkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAyICovCi0jZGVmaW5lIFVTSVIwX0lSMwkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAzICovCi0jZGVmaW5lIFVTSVIwX0lSNAkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA0ICovCi0jZGVmaW5lIFVTSVIwX0lSNQkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA1ICovCi0jZGVmaW5lIFVTSVIwX0lSNgkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA2ICovCi0jZGVmaW5lIFVTSVIwX0lSNwkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA3ICovCi0KLSNkZWZpbmUgVVNJUjEJCV9fUkVHKDB4NDA2MDAwNUMpICAvKiBVREMgU3RhdHVzIEludGVycnVwdCBSZWdpc3RlciAxICovCi0KLSNkZWZpbmUgVVNJUjFfSVI4CSgxIDw8IDApCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDggKi8KLSNkZWZpbmUgVVNJUjFfSVI5CSgxIDw8IDEpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDkgKi8KLSNkZWZpbmUgVVNJUjFfSVIxMAkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMCAqLwotI2RlZmluZSBVU0lSMV9JUjExCSgxIDw8IDMpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDExICovCi0jZGVmaW5lIFVTSVIxX0lSMTIJKDEgPDwgNCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTIgKi8KLSNkZWZpbmUgVVNJUjFfSVIxMwkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMyAqLwotI2RlZmluZSBVU0lSMV9JUjE0CSgxIDw8IDYpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDE0ICovCi0jZGVmaW5lIFVTSVIxX0lSMTUJKDEgPDwgNykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTUgKi8KLQotI2VsaWYgZGVmaW5lZChDT05GSUdfUFhBMjd4KQotCi0jZGVmaW5lIFVEQ0NSICAgICAgICAgICBfX1JFRygweDQwNjAwMDAwKSAvKiBVREMgQ29udHJvbCBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUl9PRU4JKDEgPDwgMzEpCS8qIE9uLXRoZS1HbyBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ1JfQUFMVEhOUAkoMSA8PCAzMCkJLyogQS1kZXZpY2UgQWx0ZXJuYXRlIEhvc3QgTmVnb3RpYXRpb24KLQkJCQkJICAgUHJvdG9jb2wgUG9ydCBTdXBwb3J0ICovCi0jZGVmaW5lIFVEQ0NSX0FITlAJKDEgPDwgMjkpCS8qIEEtZGV2aWNlIEhvc3QgTmVnb3RpYXRpb24gUHJvdG9jb2wKLQkJCQkJICAgU3VwcG9ydCAqLwotI2RlZmluZSBVRENDUl9CSE5QCSgxIDw8IDI4KQkvKiBCLWRldmljZSBIb3N0IE5lZ290aWF0aW9uIFByb3RvY29sCi0JCQkJCSAgIEVuYWJsZSAqLwotI2RlZmluZSBVRENDUl9EV1JFCSgxIDw8IDE2KQkvKiBEZXZpY2UgUmVtb3RlIFdha2UtdXAgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NSX0FDTgkoMHgwMyA8PCAxMSkJLyogQWN0aXZlIFVEQyBjb25maWd1cmF0aW9uIE51bWJlciAqLwotI2RlZmluZSBVRENDUl9BQ05fUwkxMQotI2RlZmluZSBVRENDUl9BSU4JKDB4MDcgPDwgOCkJLyogQWN0aXZlIFVEQyBpbnRlcmZhY2UgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NSX0FJTl9TCTgKLSNkZWZpbmUgVURDQ1JfQUFJU04JKDB4MDcgPDwgNSkJLyogQWN0aXZlIFVEQyBBbHRlcm5hdGUgSW50ZXJmYWNlCi0JCQkJCSAgIFNldHRpbmcgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NSX0FBSVNOX1MJNQotI2RlZmluZSBVRENDUl9TTUFDCSgxIDw8IDQpCS8qIFN3aXRjaCBFbmRwb2ludCBNZW1vcnkgdG8gQWN0aXZlCi0JCQkJCSAgIENvbmZpZ3VyYXRpb24gKi8KLSNkZWZpbmUgVURDQ1JfRU1DRQkoMSA8PCAzKQkvKiBFbmRwb2ludCBNZW1vcnkgQ29uZmlndXJhdGlvbgotCQkJCQkgICBFcnJvciAqLwotI2RlZmluZSBVRENDUl9VRFIJKDEgPDwgMikJLyogVURDIFJlc3VtZSAqLwotI2RlZmluZSBVRENDUl9VREEJKDEgPDwgMSkJLyogVURDIEFjdGl2ZSAqLwotI2RlZmluZSBVRENDUl9VREUJKDEgPDwgMCkJLyogVURDIEVuYWJsZSAqLwotCi0jZGVmaW5lIFVEQ0lDUjAgICAgICAgICBfX1JFRygweDQwNjAwMDA0KSAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIwICovCi0jZGVmaW5lIFVEQ0lDUjEgICAgICAgICBfX1JFRygweDQwNjAwMDA4KSAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIxICovCi0jZGVmaW5lIFVEQ0lDUl9GSUZPRVJSCSgxIDw8IDEpCS8qIEZJRk8gRXJyb3IgaW50ZXJydXB0IGZvciBFUCAqLwotI2RlZmluZSBVRENJQ1JfUEtUQ09NUEwgKDEgPDwgMCkJLyogUGFja2V0IENvbXBsZXRlIGludGVycnVwdCBmb3IgRVAgKi8KLQotI2RlZmluZSBVRENfSU5UX0ZJRk9FUlJPUiAgKDB4MikKLSNkZWZpbmUgVURDX0lOVF9QQUNLRVRDTVAgICgweDEpCi0KLSNkZWZpbmUgVURDSUNSX0lOVChuLGludHIpICgoKGludHIpICYgMHgwMykgPDwgKCgobikgJiAweDBGKSAqIDIpKQotI2RlZmluZSBVRENJQ1IxX0lFQ0MJKDEgPDwgMzEpCS8qIEludEVuIC0gQ29uZmlndXJhdGlvbiBDaGFuZ2UgKi8KLSNkZWZpbmUgVURDSUNSMV9JRVNPRgkoMSA8PCAzMCkJLyogSW50RW4gLSBTdGFydCBvZiBGcmFtZSAqLwotI2RlZmluZSBVRENJQ1IxX0lFUlUJKDEgPDwgMjkpCS8qIEludEVuIC0gUmVzdW1lICovCi0jZGVmaW5lIFVEQ0lDUjFfSUVTVQkoMSA8PCAyOCkJLyogSW50RW4gLSBTdXNwZW5kICovCi0jZGVmaW5lIFVEQ0lDUjFfSUVSUwkoMSA8PCAyNykJLyogSW50RW4gLSBSZXNldCAqLwotCi0jZGVmaW5lIFVEQ0lTUjAgICAgICAgICBfX1JFRygweDQwNjAwMDBDKSAvKiBVREMgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAwICovCi0jZGVmaW5lIFVEQ0lTUjEgICAgICAgICBfX1JFRygweDQwNjAwMDEwKSAvKiBVREMgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAxICovCi0jZGVmaW5lIFVEQ0lTUl9JTlQobixpbnRyKSAoKChpbnRyKSAmIDB4MDMpIDw8ICgoKG4pICYgMHgwRikgKiAyKSkKLSNkZWZpbmUgVURDSVNSMV9JUkNDCSgxIDw8IDMxKQkvKiBJbnRSZXEgLSBDb25maWd1cmF0aW9uIENoYW5nZSAqLwotI2RlZmluZSBVRENJU1IxX0lSU09GCSgxIDw8IDMwKQkvKiBJbnRSZXEgLSBTdGFydCBvZiBGcmFtZSAqLwotI2RlZmluZSBVRENJU1IxX0lSUlUJKDEgPDwgMjkpCS8qIEludFJlcSAtIFJlc3VtZSAqLwotI2RlZmluZSBVRENJU1IxX0lSU1UJKDEgPDwgMjgpCS8qIEludFJlcSAtIFN1c3BlbmQgKi8KLSNkZWZpbmUgVURDSVNSMV9JUlJTCSgxIDw8IDI3KQkvKiBJbnRSZXEgLSBSZXNldCAqLwotCi0jZGVmaW5lIFVEQ0ZOUiAgICAgICAgICBfX1JFRygweDQwNjAwMDE0KSAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ09UR0lDUglfX1JFRygweDQwNjAwMDE4KSAvKiBVREMgT24tVGhlLUdvIGludGVycnVwdCBjb250cm9sICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVNGCSgxIDw8IDI0KQkvKiBPVEcgU0VUX0ZFQVRVUkUgY29tbWFuZCByZWN2ZCAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVYUgkoMSA8PCAxNykJLyogRXh0cmEgVHJhbnNjaWV2ZXIgSW50ZXJydXB0Ci0JCQkJCSAgIFJpc2luZyBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFWEYJKDEgPDwgMTYpCS8qIEV4dHJhIFRyYW5zY2lldmVyIEludGVycnVwdAotCQkJCQkgICBGYWxsaW5nIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQwUiAoMSA8PCA5KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjBWIFJpc2luZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFVlY0MEYgKDEgPDwgOCkJLyogT1RHIFZidXMgVmFsaWQgNC4wViBGYWxsaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQ0UiAoMSA8PCA3KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjRWIFJpc2luZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFVlY0NEYgKDEgPDwgNikJLyogT1RHIFZidXMgVmFsaWQgNC40ViBGYWxsaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVTVlIJKDEgPDwgNSkJLyogT1RHIFNlc3Npb24gVmFsaWQgUmlzaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVTVkYJKDEgPDwgNCkJLyogT1RHIFNlc3Npb24gVmFsaWQgRmFsbGluZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU0RSCSgxIDw8IDMpCS8qIE9URyBBLURldmljZSBTUlAgRGV0ZWN0IFJpc2luZwotCQkJCQkgICBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU0RGCSgxIDw8IDIpCS8qIE9URyBBLURldmljZSBTUlAgRGV0ZWN0IEZhbGxpbmcKLQkJCQkJICAgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRUlEUgkoMSA8PCAxKQkvKiBPVEcgSUQgQ2hhbmdlIFJpc2luZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFSURGCSgxIDw8IDApCS8qIE9URyBJRCBDaGFuZ2UgRmFsbGluZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLQotI2RlZmluZSBVUDJPQ1IJCSAgX19SRUcoMHg0MDYwMDAyMCkgIC8qIFVTQiBQb3J0IDIgT3V0cHV0IENvbnRyb2wgcmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVUDJPQ1JfQ1BWRU4JKDEgPDwgMCkJLyogQ2hhcmdlIFB1bXAgVmJ1cyBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0NQVlBFCSgxIDw8IDEpCS8qIENoYXJnZSBQdW1wIFZidXMgUHVsc2UgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9EUFBERQkoMSA8PCAyKQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIERvd24gRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9ETVBERQkoMSA8PCAzKQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIERvd24gRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9EUFBVRQkoMSA8PCA0KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIFVwIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRE1QVUUJKDEgPDwgNSkJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBVcCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RQUFVCRQkoMSA8PCA2KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIFVwIEJ5cGFzcyBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RNUFVCRQkoMSA8PCA3KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIFVwIEJ5cGFzcyBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0VYU1AJCSgxIDw8IDgpCS8qIEV4dGVybmFsIFRyYW5zY2VpdmVyIFNwZWVkIENvbnRyb2wgKi8KLSNkZWZpbmUgVVAyT0NSX0VYU1VTCSgxIDw8IDkpCS8qIEV4dGVybmFsIFRyYW5zY2VpdmVyIFNwZWVkIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfSURPTgkJKDEgPDwgMTApCS8qIE9URyBJRCBSZWFkIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfSFhTCQkoMSA8PCAxNikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgT3V0cHV0IFNlbGVjdCAqLwotI2RlZmluZSBVUDJPQ1JfSFhPRQkJKDEgPDwgMTcpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIE91dHB1dCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX1NFT1MJCSgxIDw8IDI0KQkvKiBTaW5nbGUtRW5kZWQgT3V0cHV0IFNlbGVjdCAqLwotCi0jZGVmaW5lIFVEQ0NTTih4KQlfX1JFRzIoMHg0MDYwMDEwMCwgKHgpIDw8IDIpCi0jZGVmaW5lIFVEQ0NTUjAgICAgICAgICBfX1JFRygweDQwNjAwMTAwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCAwICovCi0jZGVmaW5lIFVEQ0NTUjBfU0EJKDEgPDwgNykJLyogU2V0dXAgQWN0aXZlICovCi0jZGVmaW5lIFVEQ0NTUjBfUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBOb3QgRW1wdHkgKi8KLSNkZWZpbmUgVURDQ1NSMF9GU1QJKDEgPDwgNSkJLyogRm9yY2UgU3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NSMF9TU1QJKDEgPDwgNCkJLyogU2VudCBTdGFsbCAqLwotI2RlZmluZSBVRENDU1IwX0RNRQkoMSA8PCAzKQkvKiBETUEgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NTUjBfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1NSMF9JUFIJKDEgPDwgMSkJLyogSU4gUGFja2V0IFJlYWR5ICovCi0jZGVmaW5lIFVEQ0NTUjBfT1BDCSgxIDw8IDApCS8qIE9VVCBQYWNrZXQgQ29tcGxldGUgKi8KLQotI2RlZmluZSBVRENDU1JBICAgICAgICAgX19SRUcoMHg0MDYwMDEwNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQSAqLwotI2RlZmluZSBVRENDU1JCICAgICAgICAgX19SRUcoMHg0MDYwMDEwOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQiAqLwotI2RlZmluZSBVRENDU1JDICAgICAgICAgX19SRUcoMHg0MDYwMDEwQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQyAqLwotI2RlZmluZSBVRENDU1JEICAgICAgICAgX19SRUcoMHg0MDYwMDExMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRCAqLwotI2RlZmluZSBVRENDU1JFICAgICAgICAgX19SRUcoMHg0MDYwMDExNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRSAqLwotI2RlZmluZSBVRENDU1JGICAgICAgICAgX19SRUcoMHg0MDYwMDExOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRiAqLwotI2RlZmluZSBVRENDU1JHICAgICAgICAgX19SRUcoMHg0MDYwMDExQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRyAqLwotI2RlZmluZSBVRENDU1JIICAgICAgICAgX19SRUcoMHg0MDYwMDEyMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSCAqLwotI2RlZmluZSBVRENDU1JJICAgICAgICAgX19SRUcoMHg0MDYwMDEyNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSSAqLwotI2RlZmluZSBVRENDU1JKICAgICAgICAgX19SRUcoMHg0MDYwMDEyOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSiAqLwotI2RlZmluZSBVRENDU1JLICAgICAgICAgX19SRUcoMHg0MDYwMDEyQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSyAqLwotI2RlZmluZSBVRENDU1JMICAgICAgICAgX19SRUcoMHg0MDYwMDEzMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTCAqLwotI2RlZmluZSBVRENDU1JNICAgICAgICAgX19SRUcoMHg0MDYwMDEzNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTSAqLwotI2RlZmluZSBVRENDU1JOICAgICAgICAgX19SRUcoMHg0MDYwMDEzOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTiAqLwotI2RlZmluZSBVRENDU1JQICAgICAgICAgX19SRUcoMHg0MDYwMDEzQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUCAqLwotI2RlZmluZSBVRENDU1JRICAgICAgICAgX19SRUcoMHg0MDYwMDE0MCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUSAqLwotI2RlZmluZSBVRENDU1JSICAgICAgICAgX19SRUcoMHg0MDYwMDE0NCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUiAqLwotI2RlZmluZSBVRENDU1JTICAgICAgICAgX19SRUcoMHg0MDYwMDE0OCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUyAqLwotI2RlZmluZSBVRENDU1JUICAgICAgICAgX19SRUcoMHg0MDYwMDE0QykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVCAqLwotI2RlZmluZSBVRENDU1JVICAgICAgICAgX19SRUcoMHg0MDYwMDE1MCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVSAqLwotI2RlZmluZSBVRENDU1JWICAgICAgICAgX19SRUcoMHg0MDYwMDE1NCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgViAqLwotI2RlZmluZSBVRENDU1JXICAgICAgICAgX19SRUcoMHg0MDYwMDE1OCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVyAqLwotI2RlZmluZSBVRENDU1JYICAgICAgICAgX19SRUcoMHg0MDYwMDE1QykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgWCAqLwotCi0jZGVmaW5lIFVEQ0NTUl9EUEUJKDEgPDwgOSkJLyogRGF0YSBQYWNrZXQgRXJyb3IgKi8KLSNkZWZpbmUgVURDQ1NSX0ZFRgkoMSA8PCA4KQkvKiBGbHVzaCBFbmRwb2ludCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTUl9TUAkoMSA8PCA3KQkvKiBTaG9ydCBQYWNrZXQgQ29udHJvbC9TdGF0dXMgKi8KLSNkZWZpbmUgVURDQ1NSX0JORQkoMSA8PCA2KQkvKiBCdWZmZXIgTm90IEVtcHR5IChJTiBlbmRwb2ludHMpICovCi0jZGVmaW5lIFVEQ0NTUl9CTkYJKDEgPDwgNikJLyogQnVmZmVyIE5vdCBGdWxsIChPVVQgZW5kcG9pbnRzKSAqLwotI2RlZmluZSBVRENDU1JfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIFNUQUxMICovCi0jZGVmaW5lIFVEQ0NTUl9TU1QJKDEgPDwgNCkJLyogU2VudCBTVEFMTCAqLwotI2RlZmluZSBVRENDU1JfRE1FCSgxIDw8IDMpCS8qIERNQSBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ1NSX1RSTgkoMSA8PCAyKQkvKiBUeC9SeCBOQUsgKi8KLSNkZWZpbmUgVURDQ1NSX1BDCSgxIDw8IDEpCS8qIFBhY2tldCBDb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU1JfRlMJKDEgPDwgMCkJLyogRklGTyBuZWVkcyBzZXJ2aWNlICovCi0KLSNkZWZpbmUgVURDQkNOKHgpCV9fUkVHMigweDQwNjAwMjAwLCAoeCk8PDIpCi0jZGVmaW5lIFVEQ0JDUjAgICAgICAgICBfX1JFRygweDQwNjAwMjAwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVAwICovCi0jZGVmaW5lIFVEQ0JDUkEgICAgICAgICBfX1JFRygweDQwNjAwMjA0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBBICovCi0jZGVmaW5lIFVEQ0JDUkIgICAgICAgICBfX1JFRygweDQwNjAwMjA4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBCICovCi0jZGVmaW5lIFVEQ0JDUkMgICAgICAgICBfX1JFRygweDQwNjAwMjBDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBDICovCi0jZGVmaW5lIFVEQ0JDUkQgICAgICAgICBfX1JFRygweDQwNjAwMjEwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBEICovCi0jZGVmaW5lIFVEQ0JDUkUgICAgICAgICBfX1JFRygweDQwNjAwMjE0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBFICovCi0jZGVmaW5lIFVEQ0JDUkYgICAgICAgICBfX1JFRygweDQwNjAwMjE4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBGICovCi0jZGVmaW5lIFVEQ0JDUkcgICAgICAgICBfX1JFRygweDQwNjAwMjFDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBHICovCi0jZGVmaW5lIFVEQ0JDUkggICAgICAgICBfX1JFRygweDQwNjAwMjIwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBIICovCi0jZGVmaW5lIFVEQ0JDUkkgICAgICAgICBfX1JFRygweDQwNjAwMjI0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBJICovCi0jZGVmaW5lIFVEQ0JDUkogICAgICAgICBfX1JFRygweDQwNjAwMjI4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBKICovCi0jZGVmaW5lIFVEQ0JDUksgICAgICAgICBfX1JFRygweDQwNjAwMjJDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBLICovCi0jZGVmaW5lIFVEQ0JDUkwgICAgICAgICBfX1JFRygweDQwNjAwMjMwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBMICovCi0jZGVmaW5lIFVEQ0JDUk0gICAgICAgICBfX1JFRygweDQwNjAwMjM0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBNICovCi0jZGVmaW5lIFVEQ0JDUk4gICAgICAgICBfX1JFRygweDQwNjAwMjM4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBOICovCi0jZGVmaW5lIFVEQ0JDUlAgICAgICAgICBfX1JFRygweDQwNjAwMjNDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBQICovCi0jZGVmaW5lIFVEQ0JDUlEgICAgICAgICBfX1JFRygweDQwNjAwMjQwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBRICovCi0jZGVmaW5lIFVEQ0JDUlIgICAgICAgICBfX1JFRygweDQwNjAwMjQ0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBSICovCi0jZGVmaW5lIFVEQ0JDUlMgICAgICAgICBfX1JFRygweDQwNjAwMjQ4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBTICovCi0jZGVmaW5lIFVEQ0JDUlQgICAgICAgICBfX1JFRygweDQwNjAwMjRDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBUICovCi0jZGVmaW5lIFVEQ0JDUlUgICAgICAgICBfX1JFRygweDQwNjAwMjUwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBVICovCi0jZGVmaW5lIFVEQ0JDUlYgICAgICAgICBfX1JFRygweDQwNjAwMjU0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBWICovCi0jZGVmaW5lIFVEQ0JDUlcgICAgICAgICBfX1JFRygweDQwNjAwMjU4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBXICovCi0jZGVmaW5lIFVEQ0JDUlggICAgICAgICBfX1JFRygweDQwNjAwMjVDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBYICovCi0KLSNkZWZpbmUgVURDRE4oeCkJX19SRUcyKDB4NDA2MDAzMDAsICh4KTw8MikKLSNkZWZpbmUgUEhZU19VRENETih4KQkoMHg0MDYwMDMwMCArICgoeCk8PDIpKQotI2RlZmluZSBQVURDRE4oeCkJKHZvbGF0aWxlIHUzMiAqKShpb19wMnYoUEhZU19VRENETigoeCkpKSkKLSNkZWZpbmUgVURDRFIwICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUDAgKi8KLSNkZWZpbmUgVURDRFJBICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEEgKi8KLSNkZWZpbmUgVURDRFJCICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEIgKi8KLSNkZWZpbmUgVURDRFJDICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMEMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEMgKi8KLSNkZWZpbmUgVURDRFJEICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEQgKi8KLSNkZWZpbmUgVURDRFJFICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEUgKi8KLSNkZWZpbmUgVURDRFJGICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEYgKi8KLSNkZWZpbmUgVURDRFJHICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMUMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEcgKi8KLSNkZWZpbmUgVURDRFJIICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEggKi8KLSNkZWZpbmUgVURDRFJJICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEkgKi8KLSNkZWZpbmUgVURDRFJKICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEogKi8KLSNkZWZpbmUgVURDRFJLICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMkMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEsgKi8KLSNkZWZpbmUgVURDRFJMICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEwgKi8KLSNkZWZpbmUgVURDRFJNICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUE0gKi8KLSNkZWZpbmUgVURDRFJOICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUE4gKi8KLSNkZWZpbmUgVURDRFJQICAgICAgICAgIF9fUkVHKDB4NDA2MDAzM0MpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFAgKi8KLSNkZWZpbmUgVURDRFJRICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFEgKi8KLSNkZWZpbmUgVURDRFJSICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFIgKi8KLSNkZWZpbmUgVURDRFJTICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFMgKi8KLSNkZWZpbmUgVURDRFJUICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNEMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFQgKi8KLSNkZWZpbmUgVURDRFJVICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFUgKi8KLSNkZWZpbmUgVURDRFJWICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFYgKi8KLSNkZWZpbmUgVURDRFJXICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFcgKi8KLSNkZWZpbmUgVURDRFJYICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNUMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFggKi8KLQotI2RlZmluZSBVRENDTih4KSAgICAgICBfX1JFRzIoMHg0MDYwMDQwMCwgKHgpPDwyKQotI2RlZmluZSBVRENDUkEgICAgICAgICAgX19SRUcoMHg0MDYwMDQwNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEEgKi8KLSNkZWZpbmUgVURDQ1JCICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MDgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBCICovCi0jZGVmaW5lIFVEQ0NSQyAgICAgICAgICBfX1JFRygweDQwNjAwNDBDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQyAqLwotI2RlZmluZSBVRENDUkQgICAgICAgICAgX19SRUcoMHg0MDYwMDQxMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEQgKi8KLSNkZWZpbmUgVURDQ1JFICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBFICovCi0jZGVmaW5lIFVEQ0NSRiAgICAgICAgICBfX1JFRygweDQwNjAwNDE4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRiAqLwotI2RlZmluZSBVRENDUkcgICAgICAgICAgX19SRUcoMHg0MDYwMDQxQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEcgKi8KLSNkZWZpbmUgVURDQ1JIICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBIICovCi0jZGVmaW5lIFVEQ0NSSSAgICAgICAgICBfX1JFRygweDQwNjAwNDI0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSSAqLwotI2RlZmluZSBVRENDUkogICAgICAgICAgX19SRUcoMHg0MDYwMDQyOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEogKi8KLSNkZWZpbmUgVURDQ1JLICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MkMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBLICovCi0jZGVmaW5lIFVEQ0NSTCAgICAgICAgICBfX1JFRygweDQwNjAwNDMwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTCAqLwotI2RlZmluZSBVRENDUk0gICAgICAgICAgX19SRUcoMHg0MDYwMDQzNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUE0gKi8KLSNkZWZpbmUgVURDQ1JOICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBOICovCi0jZGVmaW5lIFVEQ0NSUCAgICAgICAgICBfX1JFRygweDQwNjAwNDNDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUCAqLwotI2RlZmluZSBVRENDUlEgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0MCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFEgKi8KLSNkZWZpbmUgVURDQ1JSICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBSICovCi0jZGVmaW5lIFVEQ0NSUyAgICAgICAgICBfX1JFRygweDQwNjAwNDQ4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUyAqLwotI2RlZmluZSBVRENDUlQgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0QykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFQgKi8KLSNkZWZpbmUgVURDQ1JVICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBVICovCi0jZGVmaW5lIFVEQ0NSViAgICAgICAgICBfX1JFRygweDQwNjAwNDU0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQViAqLwotI2RlZmluZSBVRENDUlcgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1OCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFcgKi8KLSNkZWZpbmUgVURDQ1JYICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NUMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBYICovCi0KLSNkZWZpbmUgVURDQ09OUl9DTgkoMHgwMyA8PCAyNSkJLyogQ29uZmlndXJhdGlvbiBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ09OUl9DTl9TCSgyNSkKLSNkZWZpbmUgVURDQ09OUl9JTgkoMHgwNyA8PCAyMikJLyogSW50ZXJmYWNlIE51bWJlciAqLwotI2RlZmluZSBVRENDT05SX0lOX1MJKDIyKQotI2RlZmluZSBVRENDT05SX0FJU04JKDB4MDcgPDwgMTkpCS8qIEFsdGVybmF0ZSBJbnRlcmZhY2UgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NPTlJfQUlTTl9TCSgxOSkKLSNkZWZpbmUgVURDQ09OUl9FTgkoMHgwZiA8PCAxNSkJLyogRW5kcG9pbnQgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NPTlJfRU5fUwkoMTUpCi0jZGVmaW5lIFVEQ0NPTlJfRVQJKDB4MDMgPDwgMTMpCS8qIEVuZHBvaW50IFR5cGU6ICovCi0jZGVmaW5lIFVEQ0NPTlJfRVRfUwkoMTMpCi0jZGVmaW5lIFVEQ0NPTlJfRVRfSU5UCSgweDAzIDw8IDEzKQkvKiAgIEludGVycnVwdCAqLwotI2RlZmluZSBVRENDT05SX0VUX0JVTEsJKDB4MDIgPDwgMTMpCS8qICAgQnVsayAqLwotI2RlZmluZSBVRENDT05SX0VUX0lTTwkoMHgwMSA8PCAxMykJLyogICBJc29jaHJvbm91cyAqLwotI2RlZmluZSBVRENDT05SX0VUX05VCSgweDAwIDw8IDEzKQkvKiAgIE5vdCB1c2VkICovCi0jZGVmaW5lIFVEQ0NPTlJfRUQJKDEgPDwgMTIpCS8qIEVuZHBvaW50IERpcmVjdGlvbiAqLwotI2RlZmluZSBVRENDT05SX01QUwkoMHgzZmYgPDwgMikJLyogTWF4aW11bSBQYWNrZXQgU2l6ZSAqLwotI2RlZmluZSBVRENDT05SX01QU19TCSgyKQotI2RlZmluZSBVRENDT05SX0RFCSgxIDw8IDEpCS8qIERvdWJsZSBCdWZmZXJpbmcgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NPTlJfRUUJKDEgPDwgMCkJLyogRW5kcG9pbnQgRW5hYmxlICovCi0KLQotI2RlZmluZSBVRENfSU5UX0ZJRk9FUlJPUiAgKDB4MikKLSNkZWZpbmUgVURDX0lOVF9QQUNLRVRDTVAgICgweDEpCi0KLSNkZWZpbmUgVURDX0ZOUl9NQVNLICAgICAoMHg3ZmYpCi0KLSNkZWZpbmUgVURDQ1NSX1dSX01BU0sgICAoVURDQ1NSX0RNRXxVRENDU1JfRlNUKQotI2RlZmluZSBVRENfQkNSX01BU0sgICAgKDB4M2ZmKQotI2VuZGlmCi0KLS8qCiAgKiBGYXN0IEluZnJhcmVkIENvbW11bmljYXRpb24gUG9ydAogICovCiAKQEAgLTEyMzcsMTIwICs4MjUsOSBAQAogI2VuZGlmCiAKIC8qCi0gKiBQb3dlciBNYW5hZ2VyCisgKiBQb3dlciBNYW5hZ2VyIC0gc2VlIHB4YTJ4eC1yZWdzLmgKICAqLwogCi0jZGVmaW5lIFBNQ1IJCV9fUkVHKDB4NDBGMDAwMDApICAvKiBQb3dlciBNYW5hZ2VyIENvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFNTUgkJX19SRUcoMHg0MEYwMDAwNCkgIC8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBTUFIJCV9fUkVHKDB4NDBGMDAwMDgpICAvKiBQb3dlciBNYW5hZ2VyIFNjcmF0Y2ggUGFkIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBXRVIJCV9fUkVHKDB4NDBGMDAwMEMpICAvKiBQb3dlciBNYW5hZ2VyIFdha2UtdXAgRW5hYmxlIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBSRVIJCV9fUkVHKDB4NDBGMDAwMTApICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gUmlzaW5nLUVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAqLwotI2RlZmluZSBQRkVSCQlfX1JFRygweDQwRjAwMDE0KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIEZhbGxpbmctRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBFRFIJCV9fUkVHKDB4NDBGMDAwMTgpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gRWRnZSBEZXRlY3QgU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBDRlIJCV9fUkVHKDB4NDBGMDAwMUMpICAvKiBQb3dlciBNYW5hZ2VyIEdlbmVyYWwgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLwotI2RlZmluZSBQR1NSMAkJX19SRUcoMHg0MEYwMDAyMCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbMzEtMF0gKi8KLSNkZWZpbmUgUEdTUjEJCV9fUkVHKDB4NDBGMDAwMjQpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzYzLTMyXSAqLwotI2RlZmluZSBQR1NSMgkJX19SRUcoMHg0MEYwMDAyOCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbODQtNjRdICovCi0jZGVmaW5lIFBHU1IzCQlfX1JFRygweDQwRjAwMDJDKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFsxMTgtOTZdICovCi0jZGVmaW5lIFJDU1IJCV9fUkVHKDB4NDBGMDAwMzApICAvKiBSZXNldCBDb250cm9sbGVyIFN0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFBTTFIJCV9fUkVHKDB4NDBGMDAwMzQpCS8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgQ29uZmlnIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBTVFIJCV9fUkVHKDB4NDBGMDAwMzgpCS8qUG93ZXIgTWFuYWdlciBTdGFuZGJ5IENvbmZpZyBSZWdpc3RlciAqLwotI2RlZmluZSBQU05SCQlfX1JFRygweDQwRjAwMDNDKQkvKlBvd2VyIE1hbmFnZXIgU2Vuc2UgQ29uZmlnIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBWQ1IJCV9fUkVHKDB4NDBGMDAwNDApCS8qUG93ZXIgTWFuYWdlciBWb2x0YWdlQ29udHJvbCBSZWdpc3RlciAqLwotI2RlZmluZSBQS1dSCQlfX1JFRygweDQwRjAwMDUwKQkvKiBQb3dlciBNYW5hZ2VyIEtCIFdha2UtdXAgRW5hYmxlIFJlZyAqLwotI2RlZmluZSBQS1NSCQlfX1JFRygweDQwRjAwMDU0KQkvKiBQb3dlciBNYW5hZ2VyIEtCIExldmVsLURldGVjdCBSZWdpc3RlciAqLwotI2RlZmluZSBQQ01EKHgpCV9fUkVHMigweDQwRjAwMDgwLCAoeCk8PDIpCi0jZGVmaW5lIFBDTUQwCV9fUkVHKDB4NDBGMDAwODAgKyAwICogNCkKLSNkZWZpbmUgUENNRDEJX19SRUcoMHg0MEYwMDA4MCArIDEgKiA0KQotI2RlZmluZSBQQ01EMglfX1JFRygweDQwRjAwMDgwICsgMiAqIDQpCi0jZGVmaW5lIFBDTUQzCV9fUkVHKDB4NDBGMDAwODAgKyAzICogNCkKLSNkZWZpbmUgUENNRDQJX19SRUcoMHg0MEYwMDA4MCArIDQgKiA0KQotI2RlZmluZSBQQ01ENQlfX1JFRygweDQwRjAwMDgwICsgNSAqIDQpCi0jZGVmaW5lIFBDTUQ2CV9fUkVHKDB4NDBGMDAwODAgKyA2ICogNCkKLSNkZWZpbmUgUENNRDcJX19SRUcoMHg0MEYwMDA4MCArIDcgKiA0KQotI2RlZmluZSBQQ01EOAlfX1JFRygweDQwRjAwMDgwICsgOCAqIDQpCi0jZGVmaW5lIFBDTUQ5CV9fUkVHKDB4NDBGMDAwODAgKyA5ICogNCkKLSNkZWZpbmUgUENNRDEwCV9fUkVHKDB4NDBGMDAwODAgKyAxMCAqIDQpCi0jZGVmaW5lIFBDTUQxMQlfX1JFRygweDQwRjAwMDgwICsgMTEgKiA0KQotI2RlZmluZSBQQ01EMTIJX19SRUcoMHg0MEYwMDA4MCArIDEyICogNCkKLSNkZWZpbmUgUENNRDEzCV9fUkVHKDB4NDBGMDAwODAgKyAxMyAqIDQpCi0jZGVmaW5lIFBDTUQxNAlfX1JFRygweDQwRjAwMDgwICsgMTQgKiA0KQotI2RlZmluZSBQQ01EMTUJX19SRUcoMHg0MEYwMDA4MCArIDE1ICogNCkKLSNkZWZpbmUgUENNRDE2CV9fUkVHKDB4NDBGMDAwODAgKyAxNiAqIDQpCi0jZGVmaW5lIFBDTUQxNwlfX1JFRygweDQwRjAwMDgwICsgMTcgKiA0KQotI2RlZmluZSBQQ01EMTgJX19SRUcoMHg0MEYwMDA4MCArIDE4ICogNCkKLSNkZWZpbmUgUENNRDE5CV9fUkVHKDB4NDBGMDAwODAgKyAxOSAqIDQpCi0jZGVmaW5lIFBDTUQyMAlfX1JFRygweDQwRjAwMDgwICsgMjAgKiA0KQotI2RlZmluZSBQQ01EMjEJX19SRUcoMHg0MEYwMDA4MCArIDIxICogNCkKLSNkZWZpbmUgUENNRDIyCV9fUkVHKDB4NDBGMDAwODAgKyAyMiAqIDQpCi0jZGVmaW5lIFBDTUQyMwlfX1JFRygweDQwRjAwMDgwICsgMjMgKiA0KQotI2RlZmluZSBQQ01EMjQJX19SRUcoMHg0MEYwMDA4MCArIDI0ICogNCkKLSNkZWZpbmUgUENNRDI1CV9fUkVHKDB4NDBGMDAwODAgKyAyNSAqIDQpCi0jZGVmaW5lIFBDTUQyNglfX1JFRygweDQwRjAwMDgwICsgMjYgKiA0KQotI2RlZmluZSBQQ01EMjcJX19SRUcoMHg0MEYwMDA4MCArIDI3ICogNCkKLSNkZWZpbmUgUENNRDI4CV9fUkVHKDB4NDBGMDAwODAgKyAyOCAqIDQpCi0jZGVmaW5lIFBDTUQyOQlfX1JFRygweDQwRjAwMDgwICsgMjkgKiA0KQotI2RlZmluZSBQQ01EMzAJX19SRUcoMHg0MEYwMDA4MCArIDMwICogNCkKLSNkZWZpbmUgUENNRDMxCV9fUkVHKDB4NDBGMDAwODAgKyAzMSAqIDQpCi0KLSNkZWZpbmUgUENNRF9NQkMJKDE8PDEyKQotI2RlZmluZSBQQ01EX0RDRQkoMTw8MTEpCi0jZGVmaW5lIFBDTURfTEMJKDE8PDEwKQotLyogRklYTUU6ICBQQ01EX1NRQyBuZWVkIGJlIGNoZWNrZWQuICAgKi8KLSNkZWZpbmUgUENNRF9TUUMJKDM8PDgpCS8qIGN1cnJlbnRseSBvbmx5IGJpdCA4IGlzIGNoYW5nZWFibGUsCi0JCQkJICAgYml0IDkgc2hvdWxkIGJlIDAgYWxsIGRheS4gKi8KLSNkZWZpbmUgUFZDUl9WQ1NBCSgweDE8PDE0KQotI2RlZmluZSBQVkNSX0NvbW1hbmREZWxheSAoMHhmODApCi0jZGVmaW5lIFBDRlJfUEkyQ19FTgkoMHgxIDw8IDYpCi0KLSNkZWZpbmUgUFNTUl9PVEdQSAkoMSA8PCA2KQkvKiBPVEcgUGVyaXBoZXJhbCBjb250cm9sIEhvbGQgKi8KLSNkZWZpbmUgUFNTUl9SREgJKDEgPDwgNSkJLyogUmVhZCBEaXNhYmxlIEhvbGQgKi8KLSNkZWZpbmUgUFNTUl9QSAkJKDEgPDwgNCkJLyogUGVyaXBoZXJhbCBDb250cm9sIEhvbGQgKi8KLSNkZWZpbmUgUFNTUl9TVFMJKDEgPDwgMykJLyogU3RhbmRieSBNb2RlIFN0YXR1cyAqLwotI2RlZmluZSBQU1NSX1ZGUwkoMSA8PCAyKQkvKiBWREQgRmF1bHQgU3RhdHVzICovCi0jZGVmaW5lIFBTU1JfQkZTCSgxIDw8IDEpCS8qIEJhdHRlcnkgRmF1bHQgU3RhdHVzICovCi0jZGVmaW5lIFBTU1JfU1NTCSgxIDw8IDApCS8qIFNvZnR3YXJlIFNsZWVwIFN0YXR1cyAqLwotCi0jZGVmaW5lIFBTTFJfU0xfUk9ECSgxIDw8IDIwKQkvKiBTbGVlcC1Nb2RlL0RlcHAtU2xlZXAgTW9kZSBuUkVTRVRfT1VUIERpc2FibGUgKi8KLQotI2RlZmluZSBQQ0ZSX1JPCQkoMSA8PCAxNSkJLyogUkRIIE92ZXJyaWRlICovCi0jZGVmaW5lIFBDRlJfUE8JCSgxIDw8IDE0KQkvKiBQSCBPdmVycmlkZSAqLwotI2RlZmluZSBQQ0ZSX0dQUk9ECSgxIDw8IDEyKQkvKiBHUElPIG5SRVNFVF9PVVQgRGlzYWJsZSAqLwotI2RlZmluZSBQQ0ZSX0wxX0VOCSgxIDw8IDExKQkvKiBTbGVlcCBNb2RlIEwxIGNvbnZlcnRlciBFbmFibGUgKi8KLSNkZWZpbmUgUENGUl9GVkMJKDEgPDwgMTApCS8qIEZyZXF1ZW5jeS9Wb2x0YWdlIENoYW5nZSAqLwotI2RlZmluZSBQQ0ZSX0RDX0VOCSgxIDw8IDcpCS8qIFNsZWVwL2RlZXAtc2xlZXAgREMtREMgQ29udmVydGVyIEVuYWJsZSAqLwotI2RlZmluZSBQQ0ZSX1BJMkNFTgkoMSA8PCA2KQkvKiBFbmFibGUgUEkyQyBjb250cm9sbGVyICovCi0jZGVmaW5lIFBDRlJfR1BSX0VOCSgxIDw8IDQpCS8qIG5SRVNFVF9HUElPIFBpbiBFbmFibGUgKi8KLSNkZWZpbmUgUENGUl9EUwkJKDEgPDwgMykJLyogRGVlcCBTbGVlcCBNb2RlICovCi0jZGVmaW5lIFBDRlJfRlMJCSgxIDw8IDIpCS8qIEZsb2F0IFN0YXRpYyBDaGlwIFNlbGVjdHMgKi8KLSNkZWZpbmUgUENGUl9GUAkJKDEgPDwgMSkJLyogRmxvYXQgUENNQ0lBIGNvbnRyb2xzICovCi0jZGVmaW5lIFBDRlJfT1BERQkoMSA8PCAwKQkvKiAzLjY4NjQgTUh6IG9zY2lsbGF0b3IgcG93ZXItZG93biBlbmFibGUgKi8KLQotI2RlZmluZSBSQ1NSX0dQUgkoMSA8PCAzKQkvKiBHUElPIFJlc2V0ICovCi0jZGVmaW5lIFJDU1JfU01SCSgxIDw8IDIpCS8qIFNsZWVwIE1vZGUgKi8KLSNkZWZpbmUgUkNTUl9XRFIJKDEgPDwgMSkJLyogV2F0Y2hkb2cgUmVzZXQgKi8KLSNkZWZpbmUgUkNTUl9IV1IJKDEgPDwgMCkJLyogSGFyZHdhcmUgUmVzZXQgKi8KLQotI2RlZmluZSBQV0VSX0dQSU8oTmIpCSgxIDw8IE5iKQkvKiBHUElPIFswLi4xNV0gd2FrZS11cCBlbmFibGUgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzAJUFdFUl9HUElPICgwKQkvKiBHUElPICBbMF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzEJUFdFUl9HUElPICgxKQkvKiBHUElPICBbMV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzIJUFdFUl9HUElPICgyKQkvKiBHUElPICBbMl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzMJUFdFUl9HUElPICgzKQkvKiBHUElPICBbM10gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzQJUFdFUl9HUElPICg0KQkvKiBHUElPICBbNF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzUJUFdFUl9HUElPICg1KQkvKiBHUElPICBbNV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzYJUFdFUl9HUElPICg2KQkvKiBHUElPICBbNl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzcJUFdFUl9HUElPICg3KQkvKiBHUElPICBbN10gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzgJUFdFUl9HUElPICg4KQkvKiBHUElPICBbOF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzkJUFdFUl9HUElPICg5KQkvKiBHUElPICBbOV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzEwCVBXRVJfR1BJTyAoMTApCS8qIEdQSU8gWzEwXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTEJUFdFUl9HUElPICgxMSkJLyogR1BJTyBbMTFdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xMglQV0VSX0dQSU8gKDEyKQkvKiBHUElPIFsxMl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzEzCVBXRVJfR1BJTyAoMTMpCS8qIEdQSU8gWzEzXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTQJUFdFUl9HUElPICgxNCkJLyogR1BJTyBbMTRdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xNQlQV0VSX0dQSU8gKDE1KQkvKiBHUElPIFsxNV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfUlRDCTB4ODAwMDAwMDAJLyogUlRDIGFsYXJtIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotCiAvKgogICogU1NQIFNlcmlhbCBQb3J0IFJlZ2lzdGVycyAtIHNlZSBpbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcmVncy1zc3AuaAogICovCkBAIC0xMzYwLDUyICs4MzcsOSBAQAogICovCiAKIC8qCi0gKiBDb3JlIENsb2NrCisgKiBDb3JlIENsb2NrIC0gc2VlIGluY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oCiAgKi8KIAotI2RlZmluZSBDQ0NSCQlfX1JFRygweDQxMzAwMDAwKSAgLyogQ29yZSBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCi0jZGVmaW5lIENLRU4JCV9fUkVHKDB4NDEzMDAwMDQpICAvKiBDbG9jayBFbmFibGUgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgT1NDQwkJX19SRUcoMHg0MTMwMDAwOCkgIC8qIE9zY2lsbGF0b3IgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLwotI2RlZmluZSBDQ1NSCQlfX1JFRygweDQxMzAwMDBDKSAgLyogQ29yZSBDbG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBDQ0NSX05fTUFTSwkweDAzODAJCS8qIFJ1biBNb2RlIEZyZXF1ZW5jeSB0byBUdXJibyBNb2RlIEZyZXF1ZW5jeSBNdWx0aXBsaWVyICovCi0jZGVmaW5lIENDQ1JfTV9NQVNLCTB4MDA2MAkJLyogTWVtb3J5IEZyZXF1ZW5jeSB0byBSdW4gTW9kZSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLwotI2RlZmluZSBDQ0NSX0xfTUFTSwkweDAwMWYJCS8qIENyeXN0YWwgRnJlcXVlbmN5IHRvIE1lbW9yeSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLwotCi0jZGVmaW5lIENLRU5fQUM5N0NPTkYgICAoMzEpICAgIC8qIEFDOTcgQ29udHJvbGxlciBDb25maWd1cmF0aW9uICovCi0jZGVmaW5lIENLRU5fQ0FNRVJBCSgyNCkJLyogQ2FtZXJhIEludGVyZmFjZSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9TU1AxCSgyMykJLyogU1NQMSBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX01FTUMJKDIyKQkvKiBNZW1vcnkgQ29udHJvbGxlciBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9NRU1TVEsJKDIxKQkvKiBNZW1vcnkgU3RpY2sgSG9zdCBDb250cm9sbGVyICovCi0jZGVmaW5lIENLRU5fSU0JCSgyMCkJLyogSW50ZXJuYWwgTWVtb3J5IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0tFWVBBRAkoMTkpCS8qIEtleXBhZCBJbnRlcmZhY2UgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fVVNJTQkoMTgpCS8qIFVTSU0gVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9NU0wJKDE3KQkvKiBNU0wgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9MQ0QJKDE2KQkvKiBMQ0QgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9QV1JJMkMJKDE1KQkvKiBQV1IgSTJDIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fSTJDCSgxNCkJLyogSTJDIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fRklDUAkoMTMpCS8qIEZJQ1AgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9NTUMJKDEyKQkvKiBNTUMgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9VU0IJKDExKQkvKiBVU0IgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9BU1NQCSgxMCkJLyogQVNTUCAoU1NQMykgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fVVNCSE9TVAkoMTApCS8qIFVTQiBIb3N0IFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fT1NUSU1FUgkoOSkJLyogT1MgVGltZXIgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9OU1NQCSg5KQkvKiBOU1NQIChTU1AyKSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9JMlMJKDgpCS8qIEkyUyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0JUVUFSVAkoNykJLyogQlRVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fRkZVQVJUCSg2KQkvKiBGRlVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9TVFVBUlQJKDUpCS8qIFNUVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0hXVUFSVAkoNCkJLyogSFdVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1NQMwkoNCkJLyogU1NQMyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1NTUAkoMykJLyogU1NQIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1NQMgkoMykJLyogU1NQMiBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0FDOTcJKDIpCS8qIEFDOTcgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9QV00xCSgxKQkvKiBQV00xIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1BXTTAJKDApCS8qIFBXTTAgQ2xvY2sgRW5hYmxlICovCi0KLSNkZWZpbmUgT1NDQ19PT04JKDEgPDwgMSkJLyogMzIuNzY4a0h6IE9PTiAod3JpdGUtb25jZSBvbmx5IGJpdCkgKi8KLSNkZWZpbmUgT1NDQ19PT0sJKDEgPDwgMCkJLyogMzIuNzY4a0h6IE9PSyAocmVhZC1vbmx5IGJpdCkgKi8KLQogI2lmZGVmIENPTkZJR19QWEEyN3gKIAogLyogQ2FtZXJhIEludGVyZmFjZSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI1eC11ZGMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyNXgtdWRjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQwMzA1OQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyNXgtdWRjLmgKQEAgLTAsMCArMSwxNjMgQEAKKyNpZm5kZWYgX0FTTV9BUkNIX1BYQTI1WF9VRENfSAorI2RlZmluZSBfQVNNX0FSQ0hfUFhBMjVYX1VEQ19ICisKKyNpZmRlZiBfQVNNX0FSQ0hfUFhBMjdYX1VEQ19ICisjZXJyb3IgWW91IGNhbid0IGluY2x1ZGUgYm90aCBQWEEyNXggYW5kIFBYQTI3eCBVREMgc3VwcG9ydAorI2VuZGlmCisKKyNkZWZpbmUgVURDX1JFUzEJX19SRUcoMHg0MDYwMDAwNCkgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDEgKi8KKyNkZWZpbmUgVURDX1JFUzIJX19SRUcoMHg0MDYwMDAwOCkgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDIgKi8KKyNkZWZpbmUgVURDX1JFUzMJX19SRUcoMHg0MDYwMDAwQykgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDMgKi8KKworI2RlZmluZSBVRENDUgkJX19SRUcoMHg0MDYwMDAwMCkgIC8qIFVEQyBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NSX1VERQkoMSA8PCAwKQkvKiBVREMgZW5hYmxlICovCisjZGVmaW5lIFVEQ0NSX1VEQQkoMSA8PCAxKQkvKiBVREMgYWN0aXZlICovCisjZGVmaW5lIFVEQ0NSX1JTTQkoMSA8PCAyKQkvKiBEZXZpY2UgcmVzdW1lICovCisjZGVmaW5lIFVEQ0NSX1JFU0lSCSgxIDw8IDMpCS8qIFJlc3VtZSBpbnRlcnJ1cHQgcmVxdWVzdCAqLworI2RlZmluZSBVRENDUl9TVVNJUgkoMSA8PCA0KQkvKiBTdXNwZW5kIGludGVycnVwdCByZXF1ZXN0ICovCisjZGVmaW5lIFVEQ0NSX1NSTQkoMSA8PCA1KQkvKiBTdXNwZW5kL3Jlc3VtZSBpbnRlcnJ1cHQgbWFzayAqLworI2RlZmluZSBVRENDUl9SU1RJUgkoMSA8PCA2KQkvKiBSZXNldCBpbnRlcnJ1cHQgcmVxdWVzdCAqLworI2RlZmluZSBVRENDUl9SRU0JKDEgPDwgNykJLyogUmVzZXQgaW50ZXJydXB0IG1hc2sgKi8KKworI2RlZmluZSBVRENDUzAJCV9fUkVHKDB4NDA2MDAwMTApICAvKiBVREMgRW5kcG9pbnQgMCBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzBfT1BSCSgxIDw8IDApCS8qIE9VVCBwYWNrZXQgcmVhZHkgKi8KKyNkZWZpbmUgVURDQ1MwX0lQUgkoMSA8PCAxKQkvKiBJTiBwYWNrZXQgcmVhZHkgKi8KKyNkZWZpbmUgVURDQ1MwX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCisjZGVmaW5lIFVEQ0NTMF9EUldGCSgxIDw8IDMpCS8qIERldmljZSByZW1vdGUgd2FrZXVwIGZlYXR1cmUgKi8KKyNkZWZpbmUgVURDQ1MwX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCisjZGVmaW5lIFVEQ0NTMF9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1MwX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm8gZW1wdHkgKi8KKyNkZWZpbmUgVURDQ1MwX1NBCSgxIDw8IDcpCS8qIFNldHVwIGFjdGl2ZSAqLworCisvKiBCdWxrIElOIC0gRW5kcG9pbnQgMSw2LDExICovCisjZGVmaW5lIFVEQ0NTMQkJX19SRUcoMHg0MDYwMDAxNCkgIC8qIFVEQyBFbmRwb2ludCAxIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1M2CQlfX1JFRygweDQwNjAwMDI4KSAgLyogVURDIEVuZHBvaW50IDYgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzExCQlfX1JFRygweDQwNjAwMDNDKSAgLyogVURDIEVuZHBvaW50IDExIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19CSV9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCisjZGVmaW5lIFVEQ0NTX0JJX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KKyNkZWZpbmUgVURDQ1NfQklfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NfQklfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KKyNkZWZpbmUgVURDQ1NfQklfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfQklfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0JJX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KKworLyogQnVsayBPVVQgLSBFbmRwb2ludCAyLDcsMTIgKi8KKyNkZWZpbmUgVURDQ1MyCQlfX1JFRygweDQwNjAwMDE4KSAgLyogVURDIEVuZHBvaW50IDIgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1M3CQlfX1JFRygweDQwNjAwMDJDKSAgLyogVURDIEVuZHBvaW50IDcgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxMgkJX19SRUcoMHg0MDYwMDA0MCkgIC8qIFVEQyBFbmRwb2ludCAxMiAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFVEQ0NTX0JPX1JGUwkoMSA8PCAwKQkvKiBSZWNlaXZlIEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19CT19SUEMJKDEgPDwgMSkJLyogUmVjZWl2ZSBwYWNrZXQgY29tcGxldGUgKi8KKyNkZWZpbmUgVURDQ1NfQk9fRE1FCSgxIDw8IDMpCS8qIERNQSBlbmFibGUgKi8KKyNkZWZpbmUgVURDQ1NfQk9fU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfQk9fRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0JPX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm90IGVtcHR5ICovCisjZGVmaW5lIFVEQ0NTX0JPX1JTUAkoMSA8PCA3KQkvKiBSZWNlaXZlIHNob3J0IHBhY2tldCAqLworCisvKiBJc29jaHJvbm91cyBJTiAtIEVuZHBvaW50IDMsOCwxMyAqLworI2RlZmluZSBVRENDUzMJCV9fUkVHKDB4NDA2MDAwMUMpICAvKiBVREMgRW5kcG9pbnQgMyAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTOAkJX19SRUcoMHg0MDYwMDAzMCkgIC8qIFVEQyBFbmRwb2ludCA4IChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxMwkJX19SRUcoMHg0MDYwMDA0NCkgIC8qIFVEQyBFbmRwb2ludCAxMyAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVURDQ1NfSUlfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19JSV9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0lJX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCisjZGVmaW5lIFVEQ0NTX0lJX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCisjZGVmaW5lIFVEQ0NTX0lJX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KKworLyogSXNvY2hyb25vdXMgT1VUIC0gRW5kcG9pbnQgNCw5LDE0ICovCisjZGVmaW5lIFVEQ0NTNAkJX19SRUcoMHg0MDYwMDAyMCkgIC8qIFVEQyBFbmRwb2ludCA0IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTOQkJX19SRUcoMHg0MDYwMDAzNCkgIC8qIFVEQyBFbmRwb2ludCA5IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTQJCV9fUkVHKDB4NDA2MDAwNDgpICAvKiBVREMgRW5kcG9pbnQgMTQgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19JT19SRlMJKDEgPDwgMCkJLyogUmVjZWl2ZSBGSUZPIHNlcnZpY2UgKi8KKyNkZWZpbmUgVURDQ1NfSU9fUlBDCSgxIDw8IDEpCS8qIFJlY2VpdmUgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0lPX1JPRgkoMSA8PCAyKQkvKiBSZWNlaXZlIG92ZXJmbG93ICovCisjZGVmaW5lIFVEQ0NTX0lPX0RNRQkoMSA8PCAzKQkvKiBETUEgZW5hYmxlICovCisjZGVmaW5lIFVEQ0NTX0lPX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm90IGVtcHR5ICovCisjZGVmaW5lIFVEQ0NTX0lPX1JTUAkoMSA8PCA3KQkvKiBSZWNlaXZlIHNob3J0IHBhY2tldCAqLworCisvKiBJbnRlcnJ1cHQgSU4gLSBFbmRwb2ludCA1LDEwLDE1ICovCisjZGVmaW5lIFVEQ0NTNQkJX19SRUcoMHg0MDYwMDAyNCkgIC8qIFVEQyBFbmRwb2ludCA1IChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTAJCV9fUkVHKDB4NDA2MDAwMzgpICAvKiBVREMgRW5kcG9pbnQgMTAgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxNQkJX19SRUcoMHg0MDYwMDA0QykgIC8qIFVEQyBFbmRwb2ludCAxNSAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFVEQ0NTX0lOVF9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCisjZGVmaW5lIFVEQ0NTX0lOVF9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0lOVF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLworI2RlZmluZSBVRENDU19JTlRfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KKyNkZWZpbmUgVURDQ1NfSU5UX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0lOVF9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfSU5UX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KKworI2RlZmluZSBVRk5SSAkJX19SRUcoMHg0MDYwMDA2MCkgIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgSGlnaCAqLworI2RlZmluZSBVRk5STAkJX19SRUcoMHg0MDYwMDA2NCkgIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgTG93ICovCisjZGVmaW5lIFVCQ1IyCQlfX1JFRygweDQwNjAwMDY4KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDIgKi8KKyNkZWZpbmUgVUJDUjQJCV9fUkVHKDB4NDA2MDAwNmMpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgNCAqLworI2RlZmluZSBVQkNSNwkJX19SRUcoMHg0MDYwMDA3MCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA3ICovCisjZGVmaW5lIFVCQ1I5CQlfX1JFRygweDQwNjAwMDc0KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDkgKi8KKyNkZWZpbmUgVUJDUjEyCQlfX1JFRygweDQwNjAwMDc4KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDEyICovCisjZGVmaW5lIFVCQ1IxNAkJX19SRUcoMHg0MDYwMDA3YykgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAxNCAqLworI2RlZmluZSBVRERSMAkJX19SRUcoMHg0MDYwMDA4MCkgIC8qIFVEQyBFbmRwb2ludCAwIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjEJCV9fUkVHKDB4NDA2MDAxMDApICAvKiBVREMgRW5kcG9pbnQgMSBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIyCQlfX1JFRygweDQwNjAwMTgwKSAgLyogVURDIEVuZHBvaW50IDIgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMwkJX19SRUcoMHg0MDYwMDIwMCkgIC8qIFVEQyBFbmRwb2ludCAzIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjQJCV9fUkVHKDB4NDA2MDA0MDApICAvKiBVREMgRW5kcG9pbnQgNCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI1CQlfX1JFRygweDQwNjAwMEEwKSAgLyogVURDIEVuZHBvaW50IDUgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSNgkJX19SRUcoMHg0MDYwMDYwMCkgIC8qIFVEQyBFbmRwb2ludCA2IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjcJCV9fUkVHKDB4NDA2MDA2ODApICAvKiBVREMgRW5kcG9pbnQgNyBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI4CQlfX1JFRygweDQwNjAwNzAwKSAgLyogVURDIEVuZHBvaW50IDggRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSOQkJX19SRUcoMHg0MDYwMDkwMCkgIC8qIFVEQyBFbmRwb2ludCA5IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjEwCQlfX1JFRygweDQwNjAwMEMwKSAgLyogVURDIEVuZHBvaW50IDEwIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjExCQlfX1JFRygweDQwNjAwQjAwKSAgLyogVURDIEVuZHBvaW50IDExIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjEyCQlfX1JFRygweDQwNjAwQjgwKSAgLyogVURDIEVuZHBvaW50IDEyIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjEzCQlfX1JFRygweDQwNjAwQzAwKSAgLyogVURDIEVuZHBvaW50IDEzIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjE0CQlfX1JFRygweDQwNjAwRTAwKSAgLyogVURDIEVuZHBvaW50IDE0IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjE1CQlfX1JFRygweDQwNjAwMEUwKSAgLyogVURDIEVuZHBvaW50IDE1IERhdGEgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVSUNSMAkJX19SRUcoMHg0MDYwMDA1MCkgIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAwICovCisKKyNkZWZpbmUgVUlDUjBfSU0wCSgxIDw8IDApCS8qIEludGVycnVwdCBtYXNrIGVwIDAgKi8KKyNkZWZpbmUgVUlDUjBfSU0xCSgxIDw8IDEpCS8qIEludGVycnVwdCBtYXNrIGVwIDEgKi8KKyNkZWZpbmUgVUlDUjBfSU0yCSgxIDw8IDIpCS8qIEludGVycnVwdCBtYXNrIGVwIDIgKi8KKyNkZWZpbmUgVUlDUjBfSU0zCSgxIDw8IDMpCS8qIEludGVycnVwdCBtYXNrIGVwIDMgKi8KKyNkZWZpbmUgVUlDUjBfSU00CSgxIDw8IDQpCS8qIEludGVycnVwdCBtYXNrIGVwIDQgKi8KKyNkZWZpbmUgVUlDUjBfSU01CSgxIDw8IDUpCS8qIEludGVycnVwdCBtYXNrIGVwIDUgKi8KKyNkZWZpbmUgVUlDUjBfSU02CSgxIDw8IDYpCS8qIEludGVycnVwdCBtYXNrIGVwIDYgKi8KKyNkZWZpbmUgVUlDUjBfSU03CSgxIDw8IDcpCS8qIEludGVycnVwdCBtYXNrIGVwIDcgKi8KKworI2RlZmluZSBVSUNSMQkJX19SRUcoMHg0MDYwMDA1NCkgIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAxICovCisKKyNkZWZpbmUgVUlDUjFfSU04CSgxIDw8IDApCS8qIEludGVycnVwdCBtYXNrIGVwIDggKi8KKyNkZWZpbmUgVUlDUjFfSU05CSgxIDw8IDEpCS8qIEludGVycnVwdCBtYXNrIGVwIDkgKi8KKyNkZWZpbmUgVUlDUjFfSU0xMAkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMCAqLworI2RlZmluZSBVSUNSMV9JTTExCSgxIDw8IDMpCS8qIEludGVycnVwdCBtYXNrIGVwIDExICovCisjZGVmaW5lIFVJQ1IxX0lNMTIJKDEgPDwgNCkJLyogSW50ZXJydXB0IG1hc2sgZXAgMTIgKi8KKyNkZWZpbmUgVUlDUjFfSU0xMwkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMyAqLworI2RlZmluZSBVSUNSMV9JTTE0CSgxIDw8IDYpCS8qIEludGVycnVwdCBtYXNrIGVwIDE0ICovCisjZGVmaW5lIFVJQ1IxX0lNMTUJKDEgPDwgNykJLyogSW50ZXJydXB0IG1hc2sgZXAgMTUgKi8KKworI2RlZmluZSBVU0lSMAkJX19SRUcoMHg0MDYwMDA1OCkgIC8qIFVEQyBTdGF0dXMgSW50ZXJydXB0IFJlZ2lzdGVyIDAgKi8KKworI2RlZmluZSBVU0lSMF9JUjAJKDEgPDwgMCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMCAqLworI2RlZmluZSBVU0lSMF9JUjEJKDEgPDwgMSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMSAqLworI2RlZmluZSBVU0lSMF9JUjIJKDEgPDwgMikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMiAqLworI2RlZmluZSBVU0lSMF9JUjMJKDEgPDwgMykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMyAqLworI2RlZmluZSBVU0lSMF9JUjQJKDEgPDwgNCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNCAqLworI2RlZmluZSBVU0lSMF9JUjUJKDEgPDwgNSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNSAqLworI2RlZmluZSBVU0lSMF9JUjYJKDEgPDwgNikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNiAqLworI2RlZmluZSBVU0lSMF9JUjcJKDEgPDwgNykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNyAqLworCisjZGVmaW5lIFVTSVIxCQlfX1JFRygweDQwNjAwMDVDKSAgLyogVURDIFN0YXR1cyBJbnRlcnJ1cHQgUmVnaXN0ZXIgMSAqLworCisjZGVmaW5lIFVTSVIxX0lSOAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA4ICovCisjZGVmaW5lIFVTSVIxX0lSOQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA5ICovCisjZGVmaW5lIFVTSVIxX0lSMTAJKDEgPDwgMikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTAgKi8KKyNkZWZpbmUgVVNJUjFfSVIxMQkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMSAqLworI2RlZmluZSBVU0lSMV9JUjEyCSgxIDw8IDQpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEyICovCisjZGVmaW5lIFVTSVIxX0lSMTMJKDEgPDwgNSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTMgKi8KKyNkZWZpbmUgVVNJUjFfSVIxNAkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxNCAqLworI2RlZmluZSBVU0lSMV9JUjE1CSgxIDw8IDcpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDE1ICovCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI3eC11ZGMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyN3gtdWRjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMxY2Y3ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjd4LXVkYy5oCkBAIC0wLDAgKzEsMjU3IEBACisjaWZuZGVmIF9BU01fQVJDSF9QWEEyN1hfVURDX0gKKyNkZWZpbmUgX0FTTV9BUkNIX1BYQTI3WF9VRENfSAorCisjaWZkZWYgX0FTTV9BUkNIX1BYQTI1WF9VRENfSAorI2Vycm9yIFlvdSBjYW5ub3QgaW5jbHVkZSBib3RoIFBYQTI1eCBhbmQgUFhBMjd4IFVEQyBzdXBwb3J0CisjZW5kaWYKKworI2RlZmluZSBVRENDUiAgICAgICAgICAgX19SRUcoMHg0MDYwMDAwMCkgLyogVURDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1JfT0VOCSgxIDw8IDMxKQkvKiBPbi10aGUtR28gRW5hYmxlICovCisjZGVmaW5lIFVEQ0NSX0FBTFRITlAJKDEgPDwgMzApCS8qIEEtZGV2aWNlIEFsdGVybmF0ZSBIb3N0IE5lZ290aWF0aW9uCisJCQkJCSAgIFByb3RvY29sIFBvcnQgU3VwcG9ydCAqLworI2RlZmluZSBVRENDUl9BSE5QCSgxIDw8IDI5KQkvKiBBLWRldmljZSBIb3N0IE5lZ290aWF0aW9uIFByb3RvY29sCisJCQkJCSAgIFN1cHBvcnQgKi8KKyNkZWZpbmUgVURDQ1JfQkhOUAkoMSA8PCAyOCkJLyogQi1kZXZpY2UgSG9zdCBOZWdvdGlhdGlvbiBQcm90b2NvbAorCQkJCQkgICBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1JfRFdSRQkoMSA8PCAxNikJLyogRGV2aWNlIFJlbW90ZSBXYWtlLXVwIEVuYWJsZSAqLworI2RlZmluZSBVRENDUl9BQ04JKDB4MDMgPDwgMTEpCS8qIEFjdGl2ZSBVREMgY29uZmlndXJhdGlvbiBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ1JfQUNOX1MJMTEKKyNkZWZpbmUgVURDQ1JfQUlOCSgweDA3IDw8IDgpCS8qIEFjdGl2ZSBVREMgaW50ZXJmYWNlIE51bWJlciAqLworI2RlZmluZSBVRENDUl9BSU5fUwk4CisjZGVmaW5lIFVEQ0NSX0FBSVNOCSgweDA3IDw8IDUpCS8qIEFjdGl2ZSBVREMgQWx0ZXJuYXRlIEludGVyZmFjZQorCQkJCQkgICBTZXR0aW5nIE51bWJlciAqLworI2RlZmluZSBVRENDUl9BQUlTTl9TCTUKKyNkZWZpbmUgVURDQ1JfU01BQwkoMSA8PCA0KQkvKiBTd2l0Y2ggRW5kcG9pbnQgTWVtb3J5IHRvIEFjdGl2ZQorCQkJCQkgICBDb25maWd1cmF0aW9uICovCisjZGVmaW5lIFVEQ0NSX0VNQ0UJKDEgPDwgMykJLyogRW5kcG9pbnQgTWVtb3J5IENvbmZpZ3VyYXRpb24KKwkJCQkJICAgRXJyb3IgKi8KKyNkZWZpbmUgVURDQ1JfVURSCSgxIDw8IDIpCS8qIFVEQyBSZXN1bWUgKi8KKyNkZWZpbmUgVURDQ1JfVURBCSgxIDw8IDEpCS8qIFVEQyBBY3RpdmUgKi8KKyNkZWZpbmUgVURDQ1JfVURFCSgxIDw8IDApCS8qIFVEQyBFbmFibGUgKi8KKworI2RlZmluZSBVRENJQ1IwICAgICAgICAgX19SRUcoMHg0MDYwMDAwNCkgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyMCAqLworI2RlZmluZSBVRENJQ1IxICAgICAgICAgX19SRUcoMHg0MDYwMDAwOCkgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyMSAqLworI2RlZmluZSBVRENJQ1JfRklGT0VSUgkoMSA8PCAxKQkvKiBGSUZPIEVycm9yIGludGVycnVwdCBmb3IgRVAgKi8KKyNkZWZpbmUgVURDSUNSX1BLVENPTVBMICgxIDw8IDApCS8qIFBhY2tldCBDb21wbGV0ZSBpbnRlcnJ1cHQgZm9yIEVQICovCisKKyNkZWZpbmUgVURDX0lOVF9GSUZPRVJST1IgICgweDIpCisjZGVmaW5lIFVEQ19JTlRfUEFDS0VUQ01QICAoMHgxKQorCisjZGVmaW5lIFVEQ0lDUl9JTlQobixpbnRyKSAoKChpbnRyKSAmIDB4MDMpIDw8ICgoKG4pICYgMHgwRikgKiAyKSkKKyNkZWZpbmUgVURDSUNSMV9JRUNDCSgxIDw8IDMxKQkvKiBJbnRFbiAtIENvbmZpZ3VyYXRpb24gQ2hhbmdlICovCisjZGVmaW5lIFVEQ0lDUjFfSUVTT0YJKDEgPDwgMzApCS8qIEludEVuIC0gU3RhcnQgb2YgRnJhbWUgKi8KKyNkZWZpbmUgVURDSUNSMV9JRVJVCSgxIDw8IDI5KQkvKiBJbnRFbiAtIFJlc3VtZSAqLworI2RlZmluZSBVRENJQ1IxX0lFU1UJKDEgPDwgMjgpCS8qIEludEVuIC0gU3VzcGVuZCAqLworI2RlZmluZSBVRENJQ1IxX0lFUlMJKDEgPDwgMjcpCS8qIEludEVuIC0gUmVzZXQgKi8KKworI2RlZmluZSBVRENJU1IwICAgICAgICAgX19SRUcoMHg0MDYwMDAwQykgLyogVURDIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgMCAqLworI2RlZmluZSBVRENJU1IxICAgICAgICAgX19SRUcoMHg0MDYwMDAxMCkgLyogVURDIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgMSAqLworI2RlZmluZSBVRENJU1JfSU5UKG4saW50cikgKCgoaW50cikgJiAweDAzKSA8PCAoKChuKSAmIDB4MEYpICogMikpCisjZGVmaW5lIFVEQ0lTUjFfSVJDQwkoMSA8PCAzMSkJLyogSW50UmVxIC0gQ29uZmlndXJhdGlvbiBDaGFuZ2UgKi8KKyNkZWZpbmUgVURDSVNSMV9JUlNPRgkoMSA8PCAzMCkJLyogSW50UmVxIC0gU3RhcnQgb2YgRnJhbWUgKi8KKyNkZWZpbmUgVURDSVNSMV9JUlJVCSgxIDw8IDI5KQkvKiBJbnRSZXEgLSBSZXN1bWUgKi8KKyNkZWZpbmUgVURDSVNSMV9JUlNVCSgxIDw8IDI4KQkvKiBJbnRSZXEgLSBTdXNwZW5kICovCisjZGVmaW5lIFVEQ0lTUjFfSVJSUwkoMSA8PCAyNykJLyogSW50UmVxIC0gUmVzZXQgKi8KKworI2RlZmluZSBVRENGTlIgICAgICAgICAgX19SRUcoMHg0MDYwMDAxNCkgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciAqLworI2RlZmluZSBVRENPVEdJQ1IJX19SRUcoMHg0MDYwMDAxOCkgLyogVURDIE9uLVRoZS1HbyBpbnRlcnJ1cHQgY29udHJvbCAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVTRgkoMSA8PCAyNCkJLyogT1RHIFNFVF9GRUFUVVJFIGNvbW1hbmQgcmVjdmQgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFWFIJKDEgPDwgMTcpCS8qIEV4dHJhIFRyYW5zY2lldmVyIEludGVycnVwdAorCQkJCQkgICBSaXNpbmcgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVhGCSgxIDw8IDE2KQkvKiBFeHRyYSBUcmFuc2NpZXZlciBJbnRlcnJ1cHQKKwkJCQkJICAgRmFsbGluZyBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFVlY0MFIgKDEgPDwgOSkJLyogT1RHIFZidXMgVmFsaWQgNC4wViBSaXNpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDBGICgxIDw8IDgpCS8qIE9URyBWYnVzIFZhbGlkIDQuMFYgRmFsbGluZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFVlY0NFIgKDEgPDwgNykJLyogT1RHIFZidXMgVmFsaWQgNC40ViBSaXNpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDRGICgxIDw8IDYpCS8qIE9URyBWYnVzIFZhbGlkIDQuNFYgRmFsbGluZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFU1ZSCSgxIDw8IDUpCS8qIE9URyBTZXNzaW9uIFZhbGlkIFJpc2luZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFU1ZGCSgxIDw8IDQpCS8qIE9URyBTZXNzaW9uIFZhbGlkIEZhbGxpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNEUgkoMSA8PCAzKQkvKiBPVEcgQS1EZXZpY2UgU1JQIERldGVjdCBSaXNpbmcKKwkJCQkJICAgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNERgkoMSA8PCAyKQkvKiBPVEcgQS1EZXZpY2UgU1JQIERldGVjdCBGYWxsaW5nCisJCQkJCSAgIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVJRFIJKDEgPDwgMSkJLyogT1RHIElEIENoYW5nZSBSaXNpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRUlERgkoMSA8PCAwKQkvKiBPVEcgSUQgQ2hhbmdlIEZhbGxpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisKKyNkZWZpbmUgVVAyT0NSCQkgIF9fUkVHKDB4NDA2MDAwMjApICAvKiBVU0IgUG9ydCAyIE91dHB1dCBDb250cm9sIHJlZ2lzdGVyICovCisjZGVmaW5lIFVQM09DUgkJICBfX1JFRygweDQwNjAwMDI0KSAgLyogVVNCIFBvcnQgMiBPdXRwdXQgQ29udHJvbCByZWdpc3RlciAqLworCisjZGVmaW5lIFVQMk9DUl9DUFZFTgkoMSA8PCAwKQkvKiBDaGFyZ2UgUHVtcCBWYnVzIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfQ1BWUEUJKDEgPDwgMSkJLyogQ2hhcmdlIFB1bXAgVmJ1cyBQdWxzZSBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RQUERFCSgxIDw8IDIpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgRG93biBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RNUERFCSgxIDw8IDMpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgRG93biBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RQUFVFCSgxIDw8IDQpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgVXAgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9ETVBVRQkoMSA8PCA1KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIFVwIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRFBQVUJFCSgxIDw8IDYpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgVXAgQnlwYXNzIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRE1QVUJFCSgxIDw8IDcpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgVXAgQnlwYXNzIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRVhTUAkJKDEgPDwgOCkJLyogRXh0ZXJuYWwgVHJhbnNjZWl2ZXIgU3BlZWQgQ29udHJvbCAqLworI2RlZmluZSBVUDJPQ1JfRVhTVVMJKDEgPDwgOSkJLyogRXh0ZXJuYWwgVHJhbnNjZWl2ZXIgU3BlZWQgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9JRE9OCQkoMSA8PCAxMCkJLyogT1RHIElEIFJlYWQgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9IWFMJCSgxIDw8IDE2KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBPdXRwdXQgU2VsZWN0ICovCisjZGVmaW5lIFVQMk9DUl9IWE9FCQkoMSA8PCAxNykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgT3V0cHV0IEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfU0VPUwkJKDEgPDwgMjQpCS8qIFNpbmdsZS1FbmRlZCBPdXRwdXQgU2VsZWN0ICovCisKKyNkZWZpbmUgVURDQ1NOKHgpCV9fUkVHMigweDQwNjAwMTAwLCAoeCkgPDwgMikKKyNkZWZpbmUgVURDQ1NSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IDAgKi8KKyNkZWZpbmUgVURDQ1NSMF9TQQkoMSA8PCA3KQkvKiBTZXR1cCBBY3RpdmUgKi8KKyNkZWZpbmUgVURDQ1NSMF9STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIE5vdCBFbXB0eSAqLworI2RlZmluZSBVRENDU1IwX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBTdGFsbCAqLworI2RlZmluZSBVRENDU1IwX1NTVAkoMSA8PCA0KQkvKiBTZW50IFN0YWxsICovCisjZGVmaW5lIFVEQ0NTUjBfRE1FCSgxIDw8IDMpCS8qIERNQSBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1NSMF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLworI2RlZmluZSBVRENDU1IwX0lQUgkoMSA8PCAxKQkvKiBJTiBQYWNrZXQgUmVhZHkgKi8KKyNkZWZpbmUgVURDQ1NSMF9PUEMJKDEgPDwgMCkJLyogT1VUIFBhY2tldCBDb21wbGV0ZSAqLworCisjZGVmaW5lIFVEQ0NTUkEgICAgICAgICBfX1JFRygweDQwNjAwMTA0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBBICovCisjZGVmaW5lIFVEQ0NTUkIgICAgICAgICBfX1JFRygweDQwNjAwMTA4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBCICovCisjZGVmaW5lIFVEQ0NTUkMgICAgICAgICBfX1JFRygweDQwNjAwMTBDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBDICovCisjZGVmaW5lIFVEQ0NTUkQgICAgICAgICBfX1JFRygweDQwNjAwMTEwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBEICovCisjZGVmaW5lIFVEQ0NTUkUgICAgICAgICBfX1JFRygweDQwNjAwMTE0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBFICovCisjZGVmaW5lIFVEQ0NTUkYgICAgICAgICBfX1JFRygweDQwNjAwMTE4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBGICovCisjZGVmaW5lIFVEQ0NTUkcgICAgICAgICBfX1JFRygweDQwNjAwMTFDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBHICovCisjZGVmaW5lIFVEQ0NTUkggICAgICAgICBfX1JFRygweDQwNjAwMTIwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBIICovCisjZGVmaW5lIFVEQ0NTUkkgICAgICAgICBfX1JFRygweDQwNjAwMTI0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBJICovCisjZGVmaW5lIFVEQ0NTUkogICAgICAgICBfX1JFRygweDQwNjAwMTI4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBKICovCisjZGVmaW5lIFVEQ0NTUksgICAgICAgICBfX1JFRygweDQwNjAwMTJDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBLICovCisjZGVmaW5lIFVEQ0NTUkwgICAgICAgICBfX1JFRygweDQwNjAwMTMwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBMICovCisjZGVmaW5lIFVEQ0NTUk0gICAgICAgICBfX1JFRygweDQwNjAwMTM0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBNICovCisjZGVmaW5lIFVEQ0NTUk4gICAgICAgICBfX1JFRygweDQwNjAwMTM4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBOICovCisjZGVmaW5lIFVEQ0NTUlAgICAgICAgICBfX1JFRygweDQwNjAwMTNDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBQICovCisjZGVmaW5lIFVEQ0NTUlEgICAgICAgICBfX1JFRygweDQwNjAwMTQwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBRICovCisjZGVmaW5lIFVEQ0NTUlIgICAgICAgICBfX1JFRygweDQwNjAwMTQ0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBSICovCisjZGVmaW5lIFVEQ0NTUlMgICAgICAgICBfX1JFRygweDQwNjAwMTQ4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBTICovCisjZGVmaW5lIFVEQ0NTUlQgICAgICAgICBfX1JFRygweDQwNjAwMTRDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBUICovCisjZGVmaW5lIFVEQ0NTUlUgICAgICAgICBfX1JFRygweDQwNjAwMTUwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBVICovCisjZGVmaW5lIFVEQ0NTUlYgICAgICAgICBfX1JFRygweDQwNjAwMTU0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBWICovCisjZGVmaW5lIFVEQ0NTUlcgICAgICAgICBfX1JFRygweDQwNjAwMTU4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBXICovCisjZGVmaW5lIFVEQ0NTUlggICAgICAgICBfX1JFRygweDQwNjAwMTVDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBYICovCisKKyNkZWZpbmUgVURDQ1NSX0RQRQkoMSA8PCA5KQkvKiBEYXRhIFBhY2tldCBFcnJvciAqLworI2RlZmluZSBVRENDU1JfRkVGCSgxIDw8IDgpCS8qIEZsdXNoIEVuZHBvaW50IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NSX1NQCSgxIDw8IDcpCS8qIFNob3J0IFBhY2tldCBDb250cm9sL1N0YXR1cyAqLworI2RlZmluZSBVRENDU1JfQk5FCSgxIDw8IDYpCS8qIEJ1ZmZlciBOb3QgRW1wdHkgKElOIGVuZHBvaW50cykgKi8KKyNkZWZpbmUgVURDQ1NSX0JORgkoMSA8PCA2KQkvKiBCdWZmZXIgTm90IEZ1bGwgKE9VVCBlbmRwb2ludHMpICovCisjZGVmaW5lIFVEQ0NTUl9GU1QJKDEgPDwgNSkJLyogRm9yY2UgU1RBTEwgKi8KKyNkZWZpbmUgVURDQ1NSX1NTVAkoMSA8PCA0KQkvKiBTZW50IFNUQUxMICovCisjZGVmaW5lIFVEQ0NTUl9ETUUJKDEgPDwgMykJLyogRE1BIEVuYWJsZSAqLworI2RlZmluZSBVRENDU1JfVFJOCSgxIDw8IDIpCS8qIFR4L1J4IE5BSyAqLworI2RlZmluZSBVRENDU1JfUEMJKDEgPDwgMSkJLyogUGFja2V0IENvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTUl9GUwkoMSA8PCAwKQkvKiBGSUZPIG5lZWRzIHNlcnZpY2UgKi8KKworI2RlZmluZSBVRENCQ04oeCkJX19SRUcyKDB4NDA2MDAyMDAsICh4KTw8MikKKyNkZWZpbmUgVURDQkNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUDAgKi8KKyNkZWZpbmUgVURDQkNSQSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEEgKi8KKyNkZWZpbmUgVURDQkNSQiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEIgKi8KKyNkZWZpbmUgVURDQkNSQyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMEMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEMgKi8KKyNkZWZpbmUgVURDQkNSRCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEQgKi8KKyNkZWZpbmUgVURDQkNSRSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEUgKi8KKyNkZWZpbmUgVURDQkNSRiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEYgKi8KKyNkZWZpbmUgVURDQkNSRyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMUMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEcgKi8KKyNkZWZpbmUgVURDQkNSSCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEggKi8KKyNkZWZpbmUgVURDQkNSSSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEkgKi8KKyNkZWZpbmUgVURDQkNSSiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEogKi8KKyNkZWZpbmUgVURDQkNSSyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMkMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEsgKi8KKyNkZWZpbmUgVURDQkNSTCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEwgKi8KKyNkZWZpbmUgVURDQkNSTSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUE0gKi8KKyNkZWZpbmUgVURDQkNSTiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUE4gKi8KKyNkZWZpbmUgVURDQkNSUCAgICAgICAgIF9fUkVHKDB4NDA2MDAyM0MpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFAgKi8KKyNkZWZpbmUgVURDQkNSUSAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFEgKi8KKyNkZWZpbmUgVURDQkNSUiAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFIgKi8KKyNkZWZpbmUgVURDQkNSUyAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFMgKi8KKyNkZWZpbmUgVURDQkNSVCAgICAgICAgIF9fUkVHKDB4NDA2MDAyNEMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFQgKi8KKyNkZWZpbmUgVURDQkNSVSAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFUgKi8KKyNkZWZpbmUgVURDQkNSViAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFYgKi8KKyNkZWZpbmUgVURDQkNSVyAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFcgKi8KKyNkZWZpbmUgVURDQkNSWCAgICAgICAgIF9fUkVHKDB4NDA2MDAyNUMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFggKi8KKworI2RlZmluZSBVRENETih4KQlfX1JFRzIoMHg0MDYwMDMwMCwgKHgpPDwyKQorI2RlZmluZSBQSFlTX1VEQ0ROKHgpCSgweDQwNjAwMzAwICsgKCh4KTw8MikpCisjZGVmaW5lIFBVRENETih4KQkodm9sYXRpbGUgdTMyICopKGlvX3AydihQSFlTX1VEQ0ROKCh4KSkpKQorI2RlZmluZSBVRENEUjAgICAgICAgICAgX19SRUcoMHg0MDYwMDMwMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQMCAqLworI2RlZmluZSBVRENEUkEgICAgICAgICAgX19SRUcoMHg0MDYwMDMwNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQQSAqLworI2RlZmluZSBVRENEUkIgICAgICAgICAgX19SRUcoMHg0MDYwMDMwOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQQiAqLworI2RlZmluZSBVRENEUkMgICAgICAgICAgX19SRUcoMHg0MDYwMDMwQykgLyogRGF0YSBSZWdpc3RlciAtIEVQQyAqLworI2RlZmluZSBVRENEUkQgICAgICAgICAgX19SRUcoMHg0MDYwMDMxMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRCAqLworI2RlZmluZSBVRENEUkUgICAgICAgICAgX19SRUcoMHg0MDYwMDMxNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRSAqLworI2RlZmluZSBVRENEUkYgICAgICAgICAgX19SRUcoMHg0MDYwMDMxOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRiAqLworI2RlZmluZSBVRENEUkcgICAgICAgICAgX19SRUcoMHg0MDYwMDMxQykgLyogRGF0YSBSZWdpc3RlciAtIEVQRyAqLworI2RlZmluZSBVRENEUkggICAgICAgICAgX19SRUcoMHg0MDYwMDMyMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSCAqLworI2RlZmluZSBVRENEUkkgICAgICAgICAgX19SRUcoMHg0MDYwMDMyNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSSAqLworI2RlZmluZSBVRENEUkogICAgICAgICAgX19SRUcoMHg0MDYwMDMyOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSiAqLworI2RlZmluZSBVRENEUksgICAgICAgICAgX19SRUcoMHg0MDYwMDMyQykgLyogRGF0YSBSZWdpc3RlciAtIEVQSyAqLworI2RlZmluZSBVRENEUkwgICAgICAgICAgX19SRUcoMHg0MDYwMDMzMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTCAqLworI2RlZmluZSBVRENEUk0gICAgICAgICAgX19SRUcoMHg0MDYwMDMzNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTSAqLworI2RlZmluZSBVRENEUk4gICAgICAgICAgX19SRUcoMHg0MDYwMDMzOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTiAqLworI2RlZmluZSBVRENEUlAgICAgICAgICAgX19SRUcoMHg0MDYwMDMzQykgLyogRGF0YSBSZWdpc3RlciAtIEVQUCAqLworI2RlZmluZSBVRENEUlEgICAgICAgICAgX19SRUcoMHg0MDYwMDM0MCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUSAqLworI2RlZmluZSBVRENEUlIgICAgICAgICAgX19SRUcoMHg0MDYwMDM0NCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUiAqLworI2RlZmluZSBVRENEUlMgICAgICAgICAgX19SRUcoMHg0MDYwMDM0OCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUyAqLworI2RlZmluZSBVRENEUlQgICAgICAgICAgX19SRUcoMHg0MDYwMDM0QykgLyogRGF0YSBSZWdpc3RlciAtIEVQVCAqLworI2RlZmluZSBVRENEUlUgICAgICAgICAgX19SRUcoMHg0MDYwMDM1MCkgLyogRGF0YSBSZWdpc3RlciAtIEVQVSAqLworI2RlZmluZSBVRENEUlYgICAgICAgICAgX19SRUcoMHg0MDYwMDM1NCkgLyogRGF0YSBSZWdpc3RlciAtIEVQViAqLworI2RlZmluZSBVRENEUlcgICAgICAgICAgX19SRUcoMHg0MDYwMDM1OCkgLyogRGF0YSBSZWdpc3RlciAtIEVQVyAqLworI2RlZmluZSBVRENEUlggICAgICAgICAgX19SRUcoMHg0MDYwMDM1QykgLyogRGF0YSBSZWdpc3RlciAtIEVQWCAqLworCisjZGVmaW5lIFVEQ0NOKHgpICAgICAgIF9fUkVHMigweDQwNjAwNDAwLCAoeCk8PDIpCisjZGVmaW5lIFVEQ0NSQSAgICAgICAgICBfX1JFRygweDQwNjAwNDA0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQSAqLworI2RlZmluZSBVRENDUkIgICAgICAgICAgX19SRUcoMHg0MDYwMDQwOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEIgKi8KKyNkZWZpbmUgVURDQ1JDICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MEMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBDICovCisjZGVmaW5lIFVEQ0NSRCAgICAgICAgICBfX1JFRygweDQwNjAwNDEwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRCAqLworI2RlZmluZSBVRENDUkUgICAgICAgICAgX19SRUcoMHg0MDYwMDQxNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEUgKi8KKyNkZWZpbmUgVURDQ1JGICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBGICovCisjZGVmaW5lIFVEQ0NSRyAgICAgICAgICBfX1JFRygweDQwNjAwNDFDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRyAqLworI2RlZmluZSBVRENDUkggICAgICAgICAgX19SRUcoMHg0MDYwMDQyMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEggKi8KKyNkZWZpbmUgVURDQ1JJICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBJICovCisjZGVmaW5lIFVEQ0NSSiAgICAgICAgICBfX1JFRygweDQwNjAwNDI4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSiAqLworI2RlZmluZSBVRENDUksgICAgICAgICAgX19SRUcoMHg0MDYwMDQyQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEsgKi8KKyNkZWZpbmUgVURDQ1JMICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBMICovCisjZGVmaW5lIFVEQ0NSTSAgICAgICAgICBfX1JFRygweDQwNjAwNDM0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTSAqLworI2RlZmluZSBVRENDUk4gICAgICAgICAgX19SRUcoMHg0MDYwMDQzOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUE4gKi8KKyNkZWZpbmUgVURDQ1JQICAgICAgICAgIF9fUkVHKDB4NDA2MDA0M0MpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBQICovCisjZGVmaW5lIFVEQ0NSUSAgICAgICAgICBfX1JFRygweDQwNjAwNDQwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUSAqLworI2RlZmluZSBVRENDUlIgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0NCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFIgKi8KKyNkZWZpbmUgVURDQ1JTICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBTICovCisjZGVmaW5lIFVEQ0NSVCAgICAgICAgICBfX1JFRygweDQwNjAwNDRDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVCAqLworI2RlZmluZSBVRENDUlUgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1MCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFUgKi8KKyNkZWZpbmUgVURDQ1JWICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBWICovCisjZGVmaW5lIFVEQ0NSVyAgICAgICAgICBfX1JFRygweDQwNjAwNDU4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVyAqLworI2RlZmluZSBVRENDUlggICAgICAgICAgX19SRUcoMHg0MDYwMDQ1QykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFggKi8KKworI2RlZmluZSBVRENDT05SX0NOCSgweDAzIDw8IDI1KQkvKiBDb25maWd1cmF0aW9uIE51bWJlciAqLworI2RlZmluZSBVRENDT05SX0NOX1MJKDI1KQorI2RlZmluZSBVRENDT05SX0lOCSgweDA3IDw8IDIyKQkvKiBJbnRlcmZhY2UgTnVtYmVyICovCisjZGVmaW5lIFVEQ0NPTlJfSU5fUwkoMjIpCisjZGVmaW5lIFVEQ0NPTlJfQUlTTgkoMHgwNyA8PCAxOSkJLyogQWx0ZXJuYXRlIEludGVyZmFjZSBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ09OUl9BSVNOX1MJKDE5KQorI2RlZmluZSBVRENDT05SX0VOCSgweDBmIDw8IDE1KQkvKiBFbmRwb2ludCBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ09OUl9FTl9TCSgxNSkKKyNkZWZpbmUgVURDQ09OUl9FVAkoMHgwMyA8PCAxMykJLyogRW5kcG9pbnQgVHlwZTogKi8KKyNkZWZpbmUgVURDQ09OUl9FVF9TCSgxMykKKyNkZWZpbmUgVURDQ09OUl9FVF9JTlQJKDB4MDMgPDwgMTMpCS8qICAgSW50ZXJydXB0ICovCisjZGVmaW5lIFVEQ0NPTlJfRVRfQlVMSwkoMHgwMiA8PCAxMykJLyogICBCdWxrICovCisjZGVmaW5lIFVEQ0NPTlJfRVRfSVNPCSgweDAxIDw8IDEzKQkvKiAgIElzb2Nocm9ub3VzICovCisjZGVmaW5lIFVEQ0NPTlJfRVRfTlUJKDB4MDAgPDwgMTMpCS8qICAgTm90IHVzZWQgKi8KKyNkZWZpbmUgVURDQ09OUl9FRAkoMSA8PCAxMikJLyogRW5kcG9pbnQgRGlyZWN0aW9uICovCisjZGVmaW5lIFVEQ0NPTlJfTVBTCSgweDNmZiA8PCAyKQkvKiBNYXhpbXVtIFBhY2tldCBTaXplICovCisjZGVmaW5lIFVEQ0NPTlJfTVBTX1MJKDIpCisjZGVmaW5lIFVEQ0NPTlJfREUJKDEgPDwgMSkJLyogRG91YmxlIEJ1ZmZlcmluZyBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ09OUl9FRQkoMSA8PCAwKQkvKiBFbmRwb2ludCBFbmFibGUgKi8KKworCisjZGVmaW5lIFVEQ19JTlRfRklGT0VSUk9SICAoMHgyKQorI2RlZmluZSBVRENfSU5UX1BBQ0tFVENNUCAgKDB4MSkKKworI2RlZmluZSBVRENfRk5SX01BU0sgICAgICgweDdmZikKKworI2RlZmluZSBVRENDU1JfV1JfTUFTSyAgIChVRENDU1JfRE1FfFVEQ0NTUl9GU1QpCisjZGVmaW5lIFVEQ19CQ1JfTUFTSyAgICAoMHgzZmYpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LWdwaW8uaAppbmRleCBiODFjZDYzLi42ZWYxZGQwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LWdwaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LWdwaW8uaApAQCAtMSw2ICsxLDggQEAKICNpZm5kZWYgX19BU01fQVJDSF9QWEEyWFhfR1BJT19ICiAjZGVmaW5lIF9fQVNNX0FSQ0hfUFhBMlhYX0dQSU9fSAogCisjd2FybmluZyBQbGVhc2UgdXNlIG1mcC1weGEyWzU3XXguaCBpbnN0ZWFkIG9mIHB4YTJ4eC1ncGlvLmgKKwogLyogR1BJTyBhbHRlcm5hdGUgZnVuY3Rpb24gYXNzaWdubWVudHMgKi8KIAogI2RlZmluZSBHUElPMV9SU1QJCTEJLyogcmVzZXQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1yZWdzLmgKaW5kZXggOTU1M2I1NC4uNzNlMGEzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1yZWdzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1yZWdzLmgKQEAgLTgxLDQgKzgxLDE2NiBAQAogCiAjZW5kaWYKIAorCisvKgorICogUG93ZXIgTWFuYWdlcgorICovCisKKyNkZWZpbmUgUE1DUgkJX19SRUcoMHg0MEYwMDAwMCkgIC8qIFBvd2VyIE1hbmFnZXIgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBQU1NSCQlfX1JFRygweDQwRjAwMDA0KSAgLyogUG93ZXIgTWFuYWdlciBTbGVlcCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFNQUgkJX19SRUcoMHg0MEYwMDAwOCkgIC8qIFBvd2VyIE1hbmFnZXIgU2NyYXRjaCBQYWQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFdFUgkJX19SRUcoMHg0MEYwMDAwQykgIC8qIFBvd2VyIE1hbmFnZXIgV2FrZS11cCBFbmFibGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFJFUgkJX19SRUcoMHg0MEYwMDAxMCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBSaXNpbmctRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIFBGRVIJCV9fUkVHKDB4NDBGMDAwMTQpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gRmFsbGluZy1FZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUEVEUgkJX19SRUcoMHg0MEYwMDAxOCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBFZGdlIERldGVjdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUENGUgkJX19SRUcoMHg0MEYwMDAxQykgIC8qIFBvd2VyIE1hbmFnZXIgR2VuZXJhbCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisjZGVmaW5lIFBHU1IwCQlfX1JFRygweDQwRjAwMDIwKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFszMS0wXSAqLworI2RlZmluZSBQR1NSMQkJX19SRUcoMHg0MEYwMDAyNCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbNjMtMzJdICovCisjZGVmaW5lIFBHU1IyCQlfX1JFRygweDQwRjAwMDI4KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFs4NC02NF0gKi8KKyNkZWZpbmUgUEdTUjMJCV9fUkVHKDB4NDBGMDAwMkMpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzExOC05Nl0gKi8KKyNkZWZpbmUgUkNTUgkJX19SRUcoMHg0MEYwMDAzMCkgIC8qIFJlc2V0IENvbnRyb2xsZXIgU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgUFNMUgkJX19SRUcoMHg0MEYwMDAzNCkJLyogUG93ZXIgTWFuYWdlciBTbGVlcCBDb25maWcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFNUUgkJX19SRUcoMHg0MEYwMDAzOCkJLyogUG93ZXIgTWFuYWdlciBTdGFuZGJ5IENvbmZpZyBSZWdpc3RlciAqLworI2RlZmluZSBQU05SCQlfX1JFRygweDQwRjAwMDNDKQkvKiBQb3dlciBNYW5hZ2VyIFNlbnNlIENvbmZpZyBSZWdpc3RlciAqLworI2RlZmluZSBQVkNSCQlfX1JFRygweDQwRjAwMDQwKQkvKiBQb3dlciBNYW5hZ2VyIFZvbHRhZ2VDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFBLV1IJCV9fUkVHKDB4NDBGMDAwNTApCS8qIFBvd2VyIE1hbmFnZXIgS0IgV2FrZS11cCBFbmFibGUgUmVnICovCisjZGVmaW5lIFBLU1IJCV9fUkVHKDB4NDBGMDAwNTQpCS8qIFBvd2VyIE1hbmFnZXIgS0IgTGV2ZWwtRGV0ZWN0IFJlZ2lzdGVyICovCisjZGVmaW5lIFBDTUQoeCkJX19SRUcyKDB4NDBGMDAwODAsICh4KTw8MikKKyNkZWZpbmUgUENNRDAJX19SRUcoMHg0MEYwMDA4MCArIDAgKiA0KQorI2RlZmluZSBQQ01EMQlfX1JFRygweDQwRjAwMDgwICsgMSAqIDQpCisjZGVmaW5lIFBDTUQyCV9fUkVHKDB4NDBGMDAwODAgKyAyICogNCkKKyNkZWZpbmUgUENNRDMJX19SRUcoMHg0MEYwMDA4MCArIDMgKiA0KQorI2RlZmluZSBQQ01ENAlfX1JFRygweDQwRjAwMDgwICsgNCAqIDQpCisjZGVmaW5lIFBDTUQ1CV9fUkVHKDB4NDBGMDAwODAgKyA1ICogNCkKKyNkZWZpbmUgUENNRDYJX19SRUcoMHg0MEYwMDA4MCArIDYgKiA0KQorI2RlZmluZSBQQ01ENwlfX1JFRygweDQwRjAwMDgwICsgNyAqIDQpCisjZGVmaW5lIFBDTUQ4CV9fUkVHKDB4NDBGMDAwODAgKyA4ICogNCkKKyNkZWZpbmUgUENNRDkJX19SRUcoMHg0MEYwMDA4MCArIDkgKiA0KQorI2RlZmluZSBQQ01EMTAJX19SRUcoMHg0MEYwMDA4MCArIDEwICogNCkKKyNkZWZpbmUgUENNRDExCV9fUkVHKDB4NDBGMDAwODAgKyAxMSAqIDQpCisjZGVmaW5lIFBDTUQxMglfX1JFRygweDQwRjAwMDgwICsgMTIgKiA0KQorI2RlZmluZSBQQ01EMTMJX19SRUcoMHg0MEYwMDA4MCArIDEzICogNCkKKyNkZWZpbmUgUENNRDE0CV9fUkVHKDB4NDBGMDAwODAgKyAxNCAqIDQpCisjZGVmaW5lIFBDTUQxNQlfX1JFRygweDQwRjAwMDgwICsgMTUgKiA0KQorI2RlZmluZSBQQ01EMTYJX19SRUcoMHg0MEYwMDA4MCArIDE2ICogNCkKKyNkZWZpbmUgUENNRDE3CV9fUkVHKDB4NDBGMDAwODAgKyAxNyAqIDQpCisjZGVmaW5lIFBDTUQxOAlfX1JFRygweDQwRjAwMDgwICsgMTggKiA0KQorI2RlZmluZSBQQ01EMTkJX19SRUcoMHg0MEYwMDA4MCArIDE5ICogNCkKKyNkZWZpbmUgUENNRDIwCV9fUkVHKDB4NDBGMDAwODAgKyAyMCAqIDQpCisjZGVmaW5lIFBDTUQyMQlfX1JFRygweDQwRjAwMDgwICsgMjEgKiA0KQorI2RlZmluZSBQQ01EMjIJX19SRUcoMHg0MEYwMDA4MCArIDIyICogNCkKKyNkZWZpbmUgUENNRDIzCV9fUkVHKDB4NDBGMDAwODAgKyAyMyAqIDQpCisjZGVmaW5lIFBDTUQyNAlfX1JFRygweDQwRjAwMDgwICsgMjQgKiA0KQorI2RlZmluZSBQQ01EMjUJX19SRUcoMHg0MEYwMDA4MCArIDI1ICogNCkKKyNkZWZpbmUgUENNRDI2CV9fUkVHKDB4NDBGMDAwODAgKyAyNiAqIDQpCisjZGVmaW5lIFBDTUQyNwlfX1JFRygweDQwRjAwMDgwICsgMjcgKiA0KQorI2RlZmluZSBQQ01EMjgJX19SRUcoMHg0MEYwMDA4MCArIDI4ICogNCkKKyNkZWZpbmUgUENNRDI5CV9fUkVHKDB4NDBGMDAwODAgKyAyOSAqIDQpCisjZGVmaW5lIFBDTUQzMAlfX1JFRygweDQwRjAwMDgwICsgMzAgKiA0KQorI2RlZmluZSBQQ01EMzEJX19SRUcoMHg0MEYwMDA4MCArIDMxICogNCkKKworI2RlZmluZSBQQ01EX01CQwkoMTw8MTIpCisjZGVmaW5lIFBDTURfRENFCSgxPDwxMSkKKyNkZWZpbmUgUENNRF9MQwkoMTw8MTApCisvKiBGSVhNRTogIFBDTURfU1FDIG5lZWQgYmUgY2hlY2tlZC4gICAqLworI2RlZmluZSBQQ01EX1NRQwkoMzw8OCkJLyogY3VycmVudGx5IG9ubHkgYml0IDggaXMgY2hhbmdlYWJsZSwKKwkJCQkgICBiaXQgOSBzaG91bGQgYmUgMCBhbGwgZGF5LiAqLworI2RlZmluZSBQVkNSX1ZDU0EJKDB4MTw8MTQpCisjZGVmaW5lIFBWQ1JfQ29tbWFuZERlbGF5ICgweGY4MCkKKyNkZWZpbmUgUENGUl9QSTJDX0VOCSgweDEgPDwgNikKKworI2RlZmluZSBQU1NSX09UR1BICSgxIDw8IDYpCS8qIE9URyBQZXJpcGhlcmFsIGNvbnRyb2wgSG9sZCAqLworI2RlZmluZSBQU1NSX1JESAkoMSA8PCA1KQkvKiBSZWFkIERpc2FibGUgSG9sZCAqLworI2RlZmluZSBQU1NSX1BICQkoMSA8PCA0KQkvKiBQZXJpcGhlcmFsIENvbnRyb2wgSG9sZCAqLworI2RlZmluZSBQU1NSX1NUUwkoMSA8PCAzKQkvKiBTdGFuZGJ5IE1vZGUgU3RhdHVzICovCisjZGVmaW5lIFBTU1JfVkZTCSgxIDw8IDIpCS8qIFZERCBGYXVsdCBTdGF0dXMgKi8KKyNkZWZpbmUgUFNTUl9CRlMJKDEgPDwgMSkJLyogQmF0dGVyeSBGYXVsdCBTdGF0dXMgKi8KKyNkZWZpbmUgUFNTUl9TU1MJKDEgPDwgMCkJLyogU29mdHdhcmUgU2xlZXAgU3RhdHVzICovCisKKyNkZWZpbmUgUFNMUl9TTF9ST0QJKDEgPDwgMjApCS8qIFNsZWVwLU1vZGUvRGVwcC1TbGVlcCBNb2RlIG5SRVNFVF9PVVQgRGlzYWJsZSAqLworCisjZGVmaW5lIFBDRlJfUk8JCSgxIDw8IDE1KQkvKiBSREggT3ZlcnJpZGUgKi8KKyNkZWZpbmUgUENGUl9QTwkJKDEgPDwgMTQpCS8qIFBIIE92ZXJyaWRlICovCisjZGVmaW5lIFBDRlJfR1BST0QJKDEgPDwgMTIpCS8qIEdQSU8gblJFU0VUX09VVCBEaXNhYmxlICovCisjZGVmaW5lIFBDRlJfTDFfRU4JKDEgPDwgMTEpCS8qIFNsZWVwIE1vZGUgTDEgY29udmVydGVyIEVuYWJsZSAqLworI2RlZmluZSBQQ0ZSX0ZWQwkoMSA8PCAxMCkJLyogRnJlcXVlbmN5L1ZvbHRhZ2UgQ2hhbmdlICovCisjZGVmaW5lIFBDRlJfRENfRU4JKDEgPDwgNykJLyogU2xlZXAvZGVlcC1zbGVlcCBEQy1EQyBDb252ZXJ0ZXIgRW5hYmxlICovCisjZGVmaW5lIFBDRlJfUEkyQ0VOCSgxIDw8IDYpCS8qIEVuYWJsZSBQSTJDIGNvbnRyb2xsZXIgKi8KKyNkZWZpbmUgUENGUl9HUFJfRU4JKDEgPDwgNCkJLyogblJFU0VUX0dQSU8gUGluIEVuYWJsZSAqLworI2RlZmluZSBQQ0ZSX0RTCQkoMSA8PCAzKQkvKiBEZWVwIFNsZWVwIE1vZGUgKi8KKyNkZWZpbmUgUENGUl9GUwkJKDEgPDwgMikJLyogRmxvYXQgU3RhdGljIENoaXAgU2VsZWN0cyAqLworI2RlZmluZSBQQ0ZSX0ZQCQkoMSA8PCAxKQkvKiBGbG9hdCBQQ01DSUEgY29udHJvbHMgKi8KKyNkZWZpbmUgUENGUl9PUERFCSgxIDw8IDApCS8qIDMuNjg2NCBNSHogb3NjaWxsYXRvciBwb3dlci1kb3duIGVuYWJsZSAqLworCisjZGVmaW5lIFJDU1JfR1BSCSgxIDw8IDMpCS8qIEdQSU8gUmVzZXQgKi8KKyNkZWZpbmUgUkNTUl9TTVIJKDEgPDwgMikJLyogU2xlZXAgTW9kZSAqLworI2RlZmluZSBSQ1NSX1dEUgkoMSA8PCAxKQkvKiBXYXRjaGRvZyBSZXNldCAqLworI2RlZmluZSBSQ1NSX0hXUgkoMSA8PCAwKQkvKiBIYXJkd2FyZSBSZXNldCAqLworCisjZGVmaW5lIFBXRVJfR1BJTyhOYikJKDEgPDwgTmIpCS8qIEdQSU8gWzAuLjE1XSB3YWtlLXVwIGVuYWJsZSAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMAlQV0VSX0dQSU8gKDApCS8qIEdQSU8gIFswXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMQlQV0VSX0dQSU8gKDEpCS8qIEdQSU8gIFsxXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMglQV0VSX0dQSU8gKDIpCS8qIEdQSU8gIFsyXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMwlQV0VSX0dQSU8gKDMpCS8qIEdQSU8gIFszXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPNAlQV0VSX0dQSU8gKDQpCS8qIEdQSU8gIFs0XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPNQlQV0VSX0dQSU8gKDUpCS8qIEdQSU8gIFs1XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPNglQV0VSX0dQSU8gKDYpCS8qIEdQSU8gIFs2XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPNwlQV0VSX0dQSU8gKDcpCS8qIEdQSU8gIFs3XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPOAlQV0VSX0dQSU8gKDgpCS8qIEdQSU8gIFs4XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPOQlQV0VSX0dQSU8gKDkpCS8qIEdQSU8gIFs5XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTAJUFdFUl9HUElPICgxMCkJLyogR1BJTyBbMTBdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xMQlQV0VSX0dQSU8gKDExKQkvKiBHUElPIFsxMV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzEyCVBXRVJfR1BJTyAoMTIpCS8qIEdQSU8gWzEyXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTMJUFdFUl9HUElPICgxMykJLyogR1BJTyBbMTNdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xNAlQV0VSX0dQSU8gKDE0KQkvKiBHUElPIFsxNF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzE1CVBXRVJfR1BJTyAoMTUpCS8qIEdQSU8gWzE1XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9SVEMJMHg4MDAwMDAwMAkvKiBSVEMgYWxhcm0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisKKy8qCisgKiBQWEEyeHggc3BlY2lmaWMgQ29yZSBjbG9jayBkZWZpbml0aW9ucworICovCisjZGVmaW5lIENDQ1IJCV9fUkVHKDB4NDEzMDAwMDApICAvKiBDb3JlIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKyNkZWZpbmUgQ0NTUgkJX19SRUcoMHg0MTMwMDAwQykgIC8qIENvcmUgQ2xvY2sgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIENLRU4JCV9fUkVHKDB4NDEzMDAwMDQpICAvKiBDbG9jayBFbmFibGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgT1NDQwkJX19SRUcoMHg0MTMwMDAwOCkgIC8qIE9zY2lsbGF0b3IgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworCisjZGVmaW5lIENDQ1JfTl9NQVNLCTB4MDM4MAkvKiBSdW4gTW9kZSBGcmVxdWVuY3kgdG8gVHVyYm8gTW9kZSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLworI2RlZmluZSBDQ0NSX01fTUFTSwkweDAwNjAJLyogTWVtb3J5IEZyZXF1ZW5jeSB0byBSdW4gTW9kZSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLworI2RlZmluZSBDQ0NSX0xfTUFTSwkweDAwMWYJLyogQ3J5c3RhbCBGcmVxdWVuY3kgdG8gTWVtb3J5IEZyZXF1ZW5jeSBNdWx0aXBsaWVyICovCisKKyNkZWZpbmUgQ0tFTl9BQzk3Q09ORiAgICgzMSkgICAgLyogQUM5NyBDb250cm9sbGVyIENvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgQ0tFTl9DQU1FUkEJKDI0KQkvKiBDYW1lcmEgSW50ZXJmYWNlIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1NTUDEJKDIzKQkvKiBTU1AxIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fTUVNQwkoMjIpCS8qIE1lbW9yeSBDb250cm9sbGVyIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX01FTVNUSwkoMjEpCS8qIE1lbW9yeSBTdGljayBIb3N0IENvbnRyb2xsZXIgKi8KKyNkZWZpbmUgQ0tFTl9JTQkJKDIwKQkvKiBJbnRlcm5hbCBNZW1vcnkgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fS0VZUEFECSgxOSkJLyogS2V5cGFkIEludGVyZmFjZSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9VU0lNCSgxOCkJLyogVVNJTSBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX01TTAkoMTcpCS8qIE1TTCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0xDRAkoMTYpCS8qIExDRCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1BXUkkyQwkoMTUpCS8qIFBXUiBJMkMgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9JMkMJKDE0KQkvKiBJMkMgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9GSUNQCSgxMykJLyogRklDUCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX01NQwkoMTIpCS8qIE1NQyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1VTQgkoMTEpCS8qIFVTQiBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0FTU1AJKDEwKQkvKiBBU1NQIChTU1AzKSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9VU0JIT1NUCSgxMCkJLyogVVNCIEhvc3QgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9PU1RJTUVSCSg5KQkvKiBPUyBUaW1lciBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX05TU1AJKDkpCS8qIE5TU1AgKFNTUDIpIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0kyUwkoOCkJLyogSTJTIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fQlRVQVJUCSg3KQkvKiBCVFVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9GRlVBUlQJKDYpCS8qIEZGVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1NUVUFSVAkoNSkJLyogU1RVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fSFdVQVJUCSg0KQkvKiBIV1VBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TU1AzCSg0KQkvKiBTU1AzIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fU1NQCSgzKQkvKiBTU1AgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TU1AyCSgzKQkvKiBTU1AyIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fQUM5NwkoMikJLyogQUM5NyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1BXTTEJKDEpCS8qIFBXTTEgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fUFdNMAkoMCkJLyogUFdNMCBDbG9jayBFbmFibGUgKi8KKworI2RlZmluZSBPU0NDX09PTgkoMSA8PCAxKQkvKiAzMi43NjhrSHogT09OICh3cml0ZS1vbmNlIG9ubHkgYml0KSAqLworI2RlZmluZSBPU0NDX09PSwkoMSA8PCAwKQkvKiAzMi43NjhrSHogT09LIChyZWFkLW9ubHkgYml0KSAqLworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9zeXN0ZW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9zeXN0ZW0uaAppbmRleCA5YWE2YzJlLi5iYTdlMTMyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvc3lzdGVtLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3N5c3RlbS5oCkBAIC0xMiw2ICsxMiw3IEBACiAKICNpbmNsdWRlIDxhc20vcHJvYy1mbnMuaD4KICNpbmNsdWRlICJoYXJkd2FyZS5oIgorI2luY2x1ZGUgInB4YTJ4eC1yZWdzLmgiCiAjaW5jbHVkZSAicHhhLXJlZ3MuaCIKIAogc3RhdGljIGlubGluZSB2b2lkIGFyY2hfaWRsZSh2b2lkKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3p5bG9uaXRlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvenlsb25pdGUuaAppbmRleCA0ODgxYjgwLi5kZTU3N2RlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvenlsb25pdGUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvenlsb25pdGUuaApAQCAtMTUsNyArMTUsNiBAQAogCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX21tY19zbG90IHp5bG9uaXRlX21tY19zbG90W107CiAKLWV4dGVybiBpbnQgZ3Bpb19iYWNrbGlnaHQ7CiBleHRlcm4gaW50IGdwaW9fZXRoX2lycTsKIAogZXh0ZXJuIGludCB3bTk3MTNfaXJxOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcnBjL2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1ycGMvaW8uaAppbmRleCBiNGRhMDhkLi42YmQyMjk1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1ycGMvaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1ycGMvaW8uaApAQCAtMTI2LDcgKzEyNiw3IEBACiAJcmV0dXJuICh1bnNpZ25lZCBzeil2YWx1ZTsJCQkJCQlcCiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICpfX2lvYWRkcih1bnNpZ25lZCBpbnQgcG9ydCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICpfX2RlcHJlY2F0ZWQgX19pb2FkZHIodW5zaWduZWQgaW50IHBvcnQpCiB7CiAJdm9pZCBfX2lvbWVtICpyZXQ7CiAJaWYgKF9fUE9SVF9QQ0lPKHBvcnQpKQpAQCAtMjMyLDggKzIzMiw3IEBACiAJcmVzdWx0OwkJCQkJCQkJCVwKIH0pCiAKLSNkZWZpbmUgX19pb2FkZHJjKHBvcnQpCQlcCi0JKChfX1BPUlRfUENJTyhwb3J0KSA/IFBDSU9fQkFTRSA6IElPX0JBU0UpICsgKChwb3J0KSA8PCAyKSkKKyNkZWZpbmUgX19pb2FkZHJjKHBvcnQpCQlfX2lvYWRkcihwb3J0KQogCiAjZGVmaW5lIGluYihwKQkgCShfX2J1aWx0aW5fY29uc3RhbnRfcCgocCkpID8gX19pbmJjKHApICAgIDogX19pbmIocCkpCiAjZGVmaW5lIGludyhwKQkgCShfX2J1aWx0aW5fY29uc3RhbnRfcCgocCkpID8gX19pbndjKHApICAgIDogX19pbncocCkpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCmluZGV4IDc1ODM4OTUuLjE4ZTEwZDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCkBAIC0xLDY4ICsxLDE4IEBACi0vKgotICogbGludXgvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9ncGlvLmgKKy8qIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCiAgKgotICogUzNDMjQxMCBHUElPIHdyYXBwZXJzIGZvciBhcmNoLW5ldXRyYWwgR1BJTyBjYWxscworICogQ29weXJpZ2h0IChjKSAyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCi0gKiBXcml0dGVuIGJ5IFBoaWxpcHAgWmFiZWwgPHBoaWxpcHAuemFiZWxAZ21haWwuY29tPgorICogUzNDMjQxMCAtIEdQSU8gbGliIHN1cHBvcnQKICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCi0gKgotICovCisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLwogCi0jaWZuZGVmIF9fQVNNX0FSQ0hfUzNDMjQxMF9HUElPX0gKLSNkZWZpbmUgX19BU01fQVJDSF9TM0MyNDEwX0dQSU9fSAorI2RlZmluZSBncGlvX2dldF92YWx1ZQlfX2dwaW9fZ2V0X3ZhbHVlCisjZGVmaW5lIGdwaW9fc2V0X3ZhbHVlCV9fZ3Bpb19zZXRfdmFsdWUKKyNkZWZpbmUgZ3Bpb19jYW5zbGVlcAlfX2dwaW9fY2Fuc2xlZXAKIAotI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KLQotc3RhdGljIGlubGluZSBpbnQgZ3Bpb19yZXF1ZXN0KHVuc2lnbmVkIGdwaW8sIGNvbnN0IGNoYXIgKmxhYmVsKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZ3Bpb19mcmVlKHVuc2lnbmVkIGdwaW8pCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBncGlvX2RpcmVjdGlvbl9pbnB1dCh1bnNpZ25lZCBncGlvKQotewotCXMzYzI0MTBfZ3Bpb19jZmdwaW4oZ3BpbywgUzNDMjQxMF9HUElPX0lOUFVUKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHVuc2lnbmVkIGdwaW8sIGludCB2YWx1ZSkKLXsKLQlzM2MyNDEwX2dwaW9fY2ZncGluKGdwaW8sIFMzQzI0MTBfR1BJT19PVVRQVVQpOwotCS8qIFJFVklTSVQgY2FuIHdlIHdyaXRlIHRoZSB2YWx1ZSBmaXJzdCwgdG8gYXZvaWQgZ2xpdGNoaW5nPyAqLwotCXMzYzI0MTBfZ3Bpb19zZXRwaW4oZ3BpbywgdmFsdWUpOwotCXJldHVybiAwOwotfQotCi0jZGVmaW5lIGdwaW9fZ2V0X3ZhbHVlKGdwaW8pCQlzM2MyNDEwX2dwaW9fZ2V0cGluKGdwaW8pCi0jZGVmaW5lIGdwaW9fc2V0X3ZhbHVlKGdwaW8sdmFsdWUpCXMzYzI0MTBfZ3Bpb19zZXRwaW4oZ3BpbywgdmFsdWUpCi0KLSNpbmNsdWRlIDxhc20tZ2VuZXJpYy9ncGlvLmg+CQkJLyogY2Fuc2xlZXAgd3JhcHBlcnMgKi8KLQotI2lmZGVmIENPTkZJR19DUFVfUzNDMjQwMAotI2RlZmluZSBncGlvX3RvX2lycShncGlvKQkJczNjMjQwMF9ncGlvX2dldGlycShncGlvKQotI2Vsc2UKLSNkZWZpbmUgZ3Bpb190b19pcnEoZ3BpbykJCXMzYzI0MTBfZ3Bpb19nZXRpcnEoZ3BpbykKLSNlbmRpZgotCi0vKiBGSVhNRSBpbXBsZW1lbnQgaXJxX3RvX2dwaW8oKSAqLwotCi0jZW5kaWYKKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9ncGlvLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL3JlZ3MtY2xvY2suaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvcmVncy1jbG9jay5oCmluZGV4IGVjYWU5ZTcuLjM3NjYxMzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvcmVncy1jbG9jay5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvcmVncy1jbG9jay5oCkBAIC0xODksNiArMTg5LDggQEAKICNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfSTJTQ0xLX01QTEwJCSgxPDw5KQogI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19VU0JDTEtfSENMSwkJKDE8PDEwKQogI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19DQU1DTEtfSENMSwkJKDE8PDExKQorI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19VUkVGQ0xLX0VYVENMSwkoMTw8MTIpCisjZGVmaW5lIFMzQzI0MTJfQ0xLU1JDX0VSRUZDTEtfRVhUQ0xLCSgxPDwxNCkKIAogI2VuZGlmIC8qIENPTkZJR19DUFVfUzNDMjQxMiB8IENPTkZJR19DUFVfUzNDMjQxMyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXNzZW1ibGVyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXNzZW1ibGVyLmgKaW5kZXggZmNlODMyOC4uOTExMzkzYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2Fzc2VtYmxlci5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hc3NlbWJsZXIuaApAQCAtNTYsNiArNTYsMjEgQEAKICNlbmRpZgogCiAvKgorICogVGhpcyBjYW4gYmUgdXNlZCB0byBlbmFibGUgY29kZSB0byBjYWNoZWxpbmUgYWxpZ24gdGhlIGRlc3RpbmF0aW9uCisgKiBwb2ludGVyIHdoZW4gYnVsayB3cml0aW5nIHRvIG1lbW9yeS4gIEV4cGVyaW1lbnRzIG9uIFN0cm9uZ0FSTSBhbmQKKyAqIFhTY2FsZSBkaWRuJ3Qgc2hvdyB0aGlzIGEgd29ydGh3aGlsZSB0aGluZyB0byBkbyB3aGVuIHRoZSBjYWNoZSBpcyBub3QKKyAqIHNldCB0byB3cml0ZS1hbGxvY2F0ZSAodGhpcyB3b3VsZCBuZWVkIGZ1cnRoZXIgdGVzdGluZyBvbiBYU2NhbGUgd2hlbiBXQQorICogaXMgdXNlZCkuCisgKgorICogT24gRmVyb2Nlb24gdGhlcmUgaXMgbXVjaCB0byBnYWluIGhvd2V2ZXIsIHJlZ2FyZGxlc3Mgb2YgY2FjaGUgbW9kZS4KKyAqLworI2lmZGVmIENPTkZJR19DUFVfRkVST0NFT04KKyNkZWZpbmUgQ0FMR04oY29kZS4uLikgY29kZQorI2Vsc2UKKyNkZWZpbmUgQ0FMR04oY29kZS4uLikKKyNlbmRpZgorCisvKgogICogRW5hYmxlIGFuZCBkaXNhYmxlIGludGVycnVwdHMKICAqLwogI2lmIF9fTElOVVhfQVJNX0FSQ0hfXyA+PSA2CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vY2FjaGVmbHVzaC5oIGIvaW5jbHVkZS9hc20tYXJtL2NhY2hlZmx1c2guaAppbmRleCA3NTlhOTdiLi43MGIwZmU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vY2FjaGVmbHVzaC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9jYWNoZWZsdXNoLmgKQEAgLTk1LDExICs5NSw3IEBACiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0NQVV9GRVJPQ0VPTikKLSMgaWZkZWYgX0NBQ0hFCi0jICBkZWZpbmUgTVVMVElfQ0FDSEUgMQotIyBlbHNlCi0jICBkZWZpbmUgX0NBQ0hFIGZlcm9jZW9uCi0jIGVuZGlmCisjIGRlZmluZSBNVUxUSV9DQUNIRSAxCiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0NQVV9WNikKQEAgLTQxMCw2ICs0MDYsMTMgQEAKIAogZXh0ZXJuIHZvaWQgX19mbHVzaF9kY2FjaGVfcGFnZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgc3RydWN0IHBhZ2UgKnBhZ2UpOwogCitzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF9pY2FjaGVfYWxsKHZvaWQpCit7CisJYXNtKCJtY3IJcDE1LCAwLCAlMCwgYzcsIGM1LCAwCUAgaW52YWxpZGF0ZSBJLWNhY2hlXG4iCisJICAgIDoKKwkgICAgOiAiciIgKDApKTsKK30KKwogI2RlZmluZSBBUkNIX0hBU19GTFVTSF9BTk9OX1BBR0UKIHN0YXRpYyBpbmxpbmUgdm9pZCBmbHVzaF9hbm9uX3BhZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAJCQkgc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGxvbmcgdm1hZGRyKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2R5bnRpY2suaCBiL2luY2x1ZGUvYXNtLWFybS9keW50aWNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZmFiMmQuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2R5bnRpY2suaAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotI2lmbmRlZiBfQVNNQVJNX0RZTlRJQ0tfSAotI2RlZmluZSBfQVNNQVJNX0RZTlRJQ0tfSAotCi0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgotCi0jZW5kaWYgLyogX0FTTUFSTV9EWU5USUNLX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9lY2FyZC5oIGIvaW5jbHVkZS9hc20tYXJtL2VjYXJkLmgKaW5kZXggNjg0ZmUwNi4uNWUyMjg4MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2VjYXJkLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2VjYXJkLmgKQEAgLTg1LDE5ICs4NSw2IEBACiAKICNkZWZpbmUgTUFYX0VDQVJEUwk5CiAKLXR5cGVkZWYgZW51bSB7CQkJCS8qIENhcmRzIGFkZHJlc3Mgc3BhY2UJCSovCi0JRUNBUkRfSU9DLAotCUVDQVJEX01FTUMsCi0JRUNBUkRfRUFTSQotfSBjYXJkX3R5cGVfdDsKLQotdHlwZWRlZiBlbnVtIHsJCQkJLyogU3BlZWQgZm9yIEVDQVJEX0lPQyBzcGFjZQkqLwotCUVDQVJEX1NMT1cJID0gMCwKLQlFQ0FSRF9NRURJVU0JID0gMSwKLQlFQ0FSRF9GQVNUCSA9IDIsCi0JRUNBUkRfU1lOQwkgPSAzCi19IGNhcmRfc3BlZWRfdDsKLQogc3RydWN0IGVjYXJkX2lkIHsJCQkvKiBDYXJkIElEIHN0cnVjdHVyZQkJKi8KIAl1bnNpZ25lZCBzaG9ydAltYW51ZmFjdHVyZXI7CiAJdW5zaWduZWQgc2hvcnQJcHJvZHVjdDsKQEAgLTE5MCwxNiArMTc3LDYgQEAKIH07CiAKIC8qCi0gKiBlY2FyZF9jbGFpbTogY2xhaW0gYW4gZXhwYW5zaW9uIGNhcmQgZW50cnkKLSAqLwotI2RlZmluZSBlY2FyZF9jbGFpbShlYykgKChlYyktPmNsYWltZWQgPSAxKQotCi0vKgotICogZWNhcmRfcmVsZWFzZTogcmVsZWFzZSBhbiBleHBhbnNpb24gY2FyZCBlbnRyeQotICovCi0jZGVmaW5lIGVjYXJkX3JlbGVhc2UoZWMpICgoZWMpLT5jbGFpbWVkID0gMCkKLQotLyoKICAqIFJlYWQgYSBjaHVuayBmcm9tIGFuIGV4cGFuc2lvbiBjYXJkCiAgKiBjZCA6IHdoZXJlIHRvIHB1dCByZWFkIGRhdGEKICAqIGVjIDogZXhwYW5zaW9uIGNhcmQgaW5mbyBzdHJ1Y3QKQEAgLTIwOSwxOCArMTg2LDYgQEAKIGV4dGVybiBpbnQgZWNhcmRfcmVhZGNodW5rIChzdHJ1Y3QgaW5fY2h1bmtfZGlyICpjZCwgc3RydWN0IGV4cGFuc2lvbl9jYXJkICplYywgaW50IGlkLCBpbnQgbnVtKTsKIAogLyoKLSAqIE9idGFpbiB0aGUgYWRkcmVzcyBvZiBhIGNhcmQuICBUaGlzIHJldHVybnMgdGhlICJvbGQgc3R5bGUiIGFkZHJlc3MKLSAqIGFuZCBzaG91bGQgbm8gbG9uZ2VyIGJlIHVzZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IF9fZGVwcmVjYXRlZAotZWNhcmRfYWRkcmVzcyhzdHJ1Y3QgZXhwYW5zaW9uX2NhcmQgKmVjLCBjYXJkX3R5cGVfdCB0eXBlLCBjYXJkX3NwZWVkX3Qgc3BlZWQpCi17Ci0JZXh0ZXJuIHVuc2lnbmVkIGludCBfX2VjYXJkX2FkZHJlc3Moc3RydWN0IGV4cGFuc2lvbl9jYXJkICosCi0JCQkJCSAgICBjYXJkX3R5cGVfdCwgY2FyZF9zcGVlZF90KTsKLQlyZXR1cm4gX19lY2FyZF9hZGRyZXNzKGVjLCB0eXBlLCBzcGVlZCk7Ci19Ci0KLS8qCiAgKiBSZXF1ZXN0IGFuZCByZWxlYXNlIGVjYXJkIHJlc291cmNlcwogICovCiBleHRlcm4gaW50IGVjYXJkX3JlcXVlc3RfcmVzb3VyY2VzKHN0cnVjdCBleHBhbnNpb25fY2FyZCAqZWMpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2Z0cmFjZS5oIGIvaW5jbHVkZS9hc20tYXJtL2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NGVmOWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vZnRyYWNlLmgKQEAgLTAsMCArMSwxNCBAQAorI2lmbmRlZiBfQVNNX0FSTV9GVFJBQ0UKKyNkZWZpbmUgX0FTTV9BUk1fRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKG1jb3VudCkpCisjZGVmaW5lIE1DT1VOVF9JTlNOX1NJWkUJNCAvKiBzaXplb2YgbWNvdW50IGNhbGwgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIG1jb3VudCh2b2lkKTsKKyNlbmRpZgorCisjZW5kaWYKKworI2VuZGlmIC8qIF9BU01fQVJNX0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzkzMzFmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmgKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oCisgKgorICogSU9QM3h4IEdQSU8gd3JhcHBlcnMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggQXJuYXVkIFBhdGFyZCA8YXJuYXVkLnBhdGFyZEBydHAtbmV0Lm9yZz4KKyAqIEJhc2VkIG9uIElYUDRYWCBncGlvLmggZmlsZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKKyAqCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUk1fSEFSRFdBUkVfSU9QM1hYX0dQSU9fSAorI2RlZmluZSBfX0FTTV9BUk1fSEFSRFdBUkVfSU9QM1hYX0dQSU9fSAorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvZ3Bpby5oPgorCisjZGVmaW5lIElPUDNYWF9OX0dQSU9TCTgKKworc3RhdGljIGlubGluZSBpbnQgZ3Bpb19nZXRfdmFsdWUodW5zaWduZWQgZ3BpbykKK3sKKwlpZiAoZ3BpbyA+IElPUDNYWF9OX0dQSU9TKQorCQlyZXR1cm4gX19ncGlvX2dldF92YWx1ZShncGlvKTsKKworCXJldHVybiBncGlvX2xpbmVfZ2V0KGdwaW8pOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3Bpb19zZXRfdmFsdWUodW5zaWduZWQgZ3BpbywgaW50IHZhbHVlKQoreworCWlmIChncGlvID4gSU9QM1hYX05fR1BJT1MpIHsKKwkJX19ncGlvX3NldF92YWx1ZShncGlvLCB2YWx1ZSk7CisJCXJldHVybjsKKwl9CisJZ3Bpb19saW5lX3NldChncGlvLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGdwaW9fY2Fuc2xlZXAodW5zaWduZWQgZ3BpbykKK3sKKwlpZiAoZ3BpbyA8IElPUDNYWF9OX0dQSU9TKQorCQlyZXR1cm4gMDsKKwllbHNlCisJCXJldHVybiBfX2dwaW9fY2Fuc2xlZXAoZ3Bpbyk7Cit9CisKKy8qCisgKiBUaGUgR1BJT3MgYXJlIG5vdCBnZW5lcmF0aW5nIGFueSBpbnRlcnJ1cHQKKyAqIE5vdGUgOiBtYW51YWxzIGFyZSBub3QgY2xlYXIgYWJvdXQgdGhpcworICovCitzdGF0aWMgaW5saW5lIGludCBncGlvX3RvX2lycShpbnQgZ3BpbykKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGlubGluZSBpbnQgaXJxX3RvX2dwaW8oaW50IGdwaW8pCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vaHdfaXJxLmggYi9pbmNsdWRlL2FzbS1hcm0vaHdfaXJxLmgKaW5kZXggOThkNTk0YS4uZjFhMDhhNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2h3X2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9od19pcnEuaApAQCAtNiwxNSArNiw0IEBACiAKICNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KIAotI2lmIGRlZmluZWQoQ09ORklHX05PX0lETEVfSFopCi0jIGluY2x1ZGUgPGFzbS9keW50aWNrLmg+Ci0jIGRlZmluZSBoYW5kbGVfZHluYW1pY190aWNrKGFjdGlvbikJCQkJCVwKLQlpZiAoIShhY3Rpb24tPmZsYWdzICYgSVJRRl9USU1FUikgJiYgc3lzdGVtX3RpbWVyLT5keW5fdGljaykgewlcCi0JCXdyaXRlX3NlcWxvY2soJnh0aW1lX2xvY2spOwkJCQlcCi0JCWlmIChzeXN0ZW1fdGltZXItPmR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpCVwKLQkJCXN5c3RlbV90aW1lci0+ZHluX3RpY2stPmhhbmRsZXIoaXJxLCBOVUxMKTsJXAotCQl3cml0ZV9zZXF1bmxvY2soJnh0aW1lX2xvY2spOwkJCQlcCi0JfQotI2VuZGlmCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2tleGVjLmggYi9pbmNsdWRlL2FzbS1hcm0va2V4ZWMuaAppbmRleCA0N2ZlMzRkLi5jODk4NmJiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0va2V4ZWMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0va2V4ZWMuaApAQCAtMTQsOCArMTQsNiBAQAogCiAjZGVmaW5lIEtFWEVDX0FSQ0ggS0VYRUNfQVJDSF9BUk0KIAotI2RlZmluZSBLRVhFQ19CT09UX1BBUkFNU19TSVpFIDE1MzYKLQogI2RlZmluZSBLRVhFQ19BUk1fQVRBR1NfT0ZGU0VUICAweDEwMDAKICNkZWZpbmUgS0VYRUNfQVJNX1pJTUFHRV9PRkZTRVQgMHg4MDAwCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9rcHJvYmVzLmggYi9pbmNsdWRlL2FzbS1hcm0va3Byb2Jlcy5oCmluZGV4IGMwNDIxOTQuLmIxYTM3ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9rcHJvYmVzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2twcm9iZXMuaApAQCAtNTksNiArNTksNyBAQAogfTsKIAogdm9pZCBhcmNoX3JlbW92ZV9rcHJvYmUoc3RydWN0IGtwcm9iZSAqKTsKK3ZvaWQga3JldHByb2JlX3RyYW1wb2xpbmUodm9pZCk7CiAKIGludCBrcHJvYmVfdHJhcF9oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBpbnQgaW5zdHIpOwogaW50IGtwcm9iZV9mYXVsdF9oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBpbnQgZnNyKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9tYWNoL3RpbWUuaCBiL2luY2x1ZGUvYXNtLWFybS9tYWNoL3RpbWUuaAppbmRleCA1ZGMzNTcwLi4yZmQzNmVhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vbWFjaC90aW1lLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL21hY2gvdGltZS5oCkBAIC00MSwzMCArNDEsOCBAQAogI2lmbmRlZiBDT05GSUdfR0VORVJJQ19USU1FCiAJdW5zaWduZWQgbG9uZwkJKCpvZmZzZXQpKHZvaWQpOwogI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCXN0cnVjdCBkeW5fdGlja190aW1lcgkqZHluX3RpY2s7Ci0jZW5kaWYKIH07CiAKLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCi0jZGVmaW5lIERZTl9USUNLX0VOQUJMRUQJKDEgPDwgMSkKLQotc3RydWN0IGR5bl90aWNrX3RpbWVyIHsKLQlzcGlubG9ja190CWxvY2s7Ci0JdW5zaWduZWQgaW50CXN0YXRlOwkJCS8qIEN1cnJlbnQgc3RhdGUgKi8KLQlpbnQJCSgqZW5hYmxlKSh2b2lkKTsJLyogRW5hYmxlcyBkeW5hbWljIHRpY2sgKi8KLQlpbnQJCSgqZGlzYWJsZSkodm9pZCk7CS8qIERpc2FibGVzIGR5bmFtaWMgdGljayAqLwotCXZvaWQJCSgqcmVwcm9ncmFtKSh1bnNpZ25lZCBsb25nKTsgLyogUmVwcm9ncmFtcyB0aGUgdGltZXIgKi8KLQlpbnQJCSgqaGFuZGxlcikoaW50LCB2b2lkICopOwotfTsKLQotdm9pZCB0aW1lcl9keW5fcmVwcm9ncmFtKHZvaWQpOwotI2Vsc2UKLSNkZWZpbmUgdGltZXJfZHluX3JlcHJvZ3JhbSgpCWRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgotCiBleHRlcm4gc3RydWN0IHN5c190aW1lciAqc3lzdGVtX3RpbWVyOwogZXh0ZXJuIHZvaWQgdGltZXJfdGljayh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL21tdV9jb250ZXh0LmggYi9pbmNsdWRlL2FzbS1hcm0vbW11X2NvbnRleHQuaAppbmRleCA2OTEzZDAyLi45MWI5ZGZkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vbW11X2NvbnRleHQuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vbW11X2NvbnRleHQuaApAQCAtOTcsNiArOTcsMTEgQEAKICNpZmRlZiBDT05GSUdfTU1VCiAJdW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAorI2lmZGVmIENPTkZJR19TTVAKKwkvKiBjaGVjayBmb3IgcG9zc2libGUgdGhyZWFkIG1pZ3JhdGlvbiAqLworCWlmICghY3B1c19lbXB0eShuZXh0LT5jcHVfdm1fbWFzaykgJiYgIWNwdV9pc3NldChjcHUsIG5leHQtPmNwdV92bV9tYXNrKSkKKwkJX19mbHVzaF9pY2FjaGVfYWxsKCk7CisjZW5kaWYKIAlpZiAoIWNwdV90ZXN0X2FuZF9zZXQoY3B1LCBuZXh0LT5jcHVfdm1fbWFzaykgfHwgcHJldiAhPSBuZXh0KSB7CiAJCWNoZWNrX2NvbnRleHQobmV4dCk7CiAJCWNwdV9zd2l0Y2hfbW0obmV4dC0+cGdkLCBuZXh0KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmggYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhNGUwMTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oCkBAIC0wLDAgKzEsMTEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IE1hcnZlbGwgU2VtaWNvbmR1Y3RvcgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworZXh0ZXJuIHZvaWQgX19pbml0IGZlcm9jZW9uX2wyX2luaXQoaW50IGwyX3d0X292ZXJyaWRlKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaCBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaAppbmRleCBmZmQzODUyLi5hZDRjZTk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oCkBAIC0xOCw2ICsxOCw3IEBACiAJdTggYWxlOwkJLyogYWRkcmVzcyBsaW5lIG51bWJlciBjb25uZWN0ZWQgdG8gQUxFICovCiAJdTggY2xlOwkJLyogYWRkcmVzcyBsaW5lIG51bWJlciBjb25uZWN0ZWQgdG8gQ0xFICovCiAJdTggd2lkdGg7CS8qIGJ1c3dpZHRoICovCisJdTggY2hpcF9kZWxheTsKIH07CiAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vcGNpZS5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vcGNpZS5oCmluZGV4IDY0MzRhYzYuLmU2MWI3YmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL3BjaWUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9wY2llLmgKQEAgLTE0LDYgKzE0LDcgQEAKIHUzMiBvcmlvbl9wY2llX2Rldl9pZCh2b2lkIF9faW9tZW0gKmJhc2UpOwogdTMyIG9yaW9uX3BjaWVfcmV2KHZvaWQgX19pb21lbSAqYmFzZSk7CiBpbnQgb3Jpb25fcGNpZV9saW5rX3VwKHZvaWQgX19pb21lbSAqYmFzZSk7CitpbnQgb3Jpb25fcGNpZV94NF9tb2RlKHZvaWQgX19pb21lbSAqYmFzZSk7CiBpbnQgb3Jpb25fcGNpZV9nZXRfbG9jYWxfYnVzX25yKHZvaWQgX19pb21lbSAqYmFzZSk7CiB2b2lkIG9yaW9uX3BjaWVfc2V0X2xvY2FsX2J1c19ucih2b2lkIF9faW9tZW0gKmJhc2UsIGludCBucik7CiB2b2lkIG9yaW9uX3BjaWVfc2V0dXAodm9pZCBfX2lvbWVtICpiYXNlLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjL3JlZ3MtdGltZXIuaCBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYy9yZWdzLXRpbWVyLmgKaW5kZXggOGIwZDU5NC4uYjViYzY5MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjL3JlZ3MtdGltZXIuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MvcmVncy10aW1lci5oCkBAIC02NSw2ICs2NSwxNSBAQAogI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWDBfVENMSzAgICg0PDwwKQogI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWDBfTUFTSwkgICgxNTw8MCkKIAorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9ESVYyCSAgKDA8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX0RJVjQJICAoMTw8MCkKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVhfRElWOAkgICgyPDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9ESVYxNiAgICgzPDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9UQ0xLICAgICg0PDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9NQVNLCSAgKDE1PDwwKQorCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfU0hJRlQoeCkJICAoKHgpICogNCkKKwogLyogZm9yIGVhY2ggdGltZXIsIHdlIGhhdmUgYW4gY291bnQgYnVmZmVyLCBhbiBjb21wYXJlIGJ1ZmZlciBhbmQKICAqIGFuIG9ic2VydmF0aW9uIGJ1ZmZlcgogKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYzI0eHgvZGV2cy5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjMjR4eC9kZXZzLmgKaW5kZXggZjlkNmYwMy4uYmFkYWFjOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjMjR4eC9kZXZzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjMjR4eC9kZXZzLmgKQEAgLTIxLDYgKzIxLDggQEAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpzM2MyNHh4X3VhcnRfZGV2c1tdOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnMzYzI0eHhfdWFydF9zcmNbXTsKIAorZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcltdOworCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3VzYjsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfbGNkOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV93ZHQ7CkBAIC0zNiwxMSArMzgsNiBAQAogCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX25hbmQ7CiAKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIwOwotZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjE7Ci1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMjsKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIzOwotCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3VzYmdhZGdldDsKIAogLyogczNjMjQ0MCBzcGVjaWZpYyBkZXZpY2VzICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcnRjLmggYi9pbmNsdWRlL2FzbS1hcm0vcnRjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhNWM5MjMuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3J0Yy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqICBsaW51eC9pbmNsdWRlL2FzbS1hcm0vcnRjLmgKLSAqCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKi8KLSNpZm5kZWYgQVNNQVJNX1JUQ19ICi0jZGVmaW5lIEFTTUFSTV9SVENfSAotCi1zdHJ1Y3QgbW9kdWxlOwotCi1zdHJ1Y3QgcnRjX29wcyB7Ci0Jc3RydWN0IG1vZHVsZQkqb3duZXI7Ci0JaW50CQkoKm9wZW4pKHZvaWQpOwotCXZvaWQJCSgqcmVsZWFzZSkodm9pZCk7Ci0JaW50CQkoKmlvY3RsKSh1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwotCi0JaW50CQkoKnJlYWRfdGltZSkoc3RydWN0IHJ0Y190aW1lICopOwotCWludAkJKCpzZXRfdGltZSkoc3RydWN0IHJ0Y190aW1lICopOwotCWludAkJKCpyZWFkX2FsYXJtKShzdHJ1Y3QgcnRjX3drYWxybSAqKTsKLQlpbnQJCSgqc2V0X2FsYXJtKShzdHJ1Y3QgcnRjX3drYWxybSAqKTsKLQlpbnQJCSgqcHJvYykoY2hhciAqYnVmKTsKLX07Ci0KLXZvaWQgcnRjX25leHRfYWxhcm1fdGltZShzdHJ1Y3QgcnRjX3RpbWUgKiwgc3RydWN0IHJ0Y190aW1lICosIHN0cnVjdCBydGNfdGltZSAqKTsKLXZvaWQgcnRjX3VwZGF0ZSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKTsKLWludCByZWdpc3Rlcl9ydGMoc3RydWN0IHJ0Y19vcHMgKik7Ci12b2lkIHVucmVnaXN0ZXJfcnRjKHN0cnVjdCBydGNfb3BzICopOwotCi1zdGF0aWMgaW5saW5lIGludCBydGNfcGVyaW9kaWNfYWxhcm0oc3RydWN0IHJ0Y190aW1lICp0bSkKLXsKLQlyZXR1cm4gICh0bS0+dG1feWVhciA9PSAtMSkgfHwKLQkJKCh1bnNpZ25lZCl0bS0+dG1fbW9uID49IDEyKSB8fAotCQkoKHVuc2lnbmVkKSh0bS0+dG1fbWRheSAtIDEpID49IDMxKSB8fAotCQkoKHVuc2lnbmVkKXRtLT50bV9ob3VyID4gMjMpIHx8Ci0JCSgodW5zaWduZWQpdG0tPnRtX21pbiA+IDU5KSB8fAotCQkoKHVuc2lnbmVkKXRtLT50bV9zZWMgPiA1OSk7Ci19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3NtcC5oIGIvaW5jbHVkZS9hc20tYXJtL3NtcC5oCmluZGV4IGFmOTk2MzYuLjdmZmZhMjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vc21wLmgKQEAgLTEwMSw2ICsxMDEsOSBAQAogZXh0ZXJuIGludCBwbGF0Zm9ybV9jcHVfa2lsbCh1bnNpZ25lZCBpbnQgY3B1KTsKIGV4dGVybiB2b2lkIHBsYXRmb3JtX2NwdV9lbmFibGUodW5zaWduZWQgaW50IGNwdSk7CiAKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOworCiAvKgogICogTG9jYWwgdGltZXIgaW50ZXJydXB0IGhhbmRsaW5nIGZ1bmN0aW9uIChjYW4gYmUgSVBJJ2VkKS4KICAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3RsYmZsdXNoLmggYi9pbmNsdWRlL2FzbS1hcm0vdGxiZmx1c2guaAppbmRleCA4YzZiYzFiLi45MDk2NTZjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vdGxiZmx1c2guaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vdGxiZmx1c2guaApAQCAtMzksNiArMzksNyBAQAogI2RlZmluZSBUTEJfVjZfRF9BU0lECSgxIDw8IDE3KQogI2RlZmluZSBUTEJfVjZfSV9BU0lECSgxIDw8IDE4KQogCisjZGVmaW5lIFRMQl9MMkNMRUFOX0ZSCSgxIDw8IDI5KQkJLyogRmVyb2Nlb24gKi8KICNkZWZpbmUgVExCX0RDTEVBTgkoMSA8PCAzMCkKICNkZWZpbmUgVExCX1dCCQkoMSA8PCAzMSkKIApAQCAtNTEsNiArNTIsNyBAQAogICoJICB2NCAgICAtIEFSTXY0IHdpdGhvdXQgd3JpdGUgYnVmZmVyCiAgKgkgIHY0d2IgIC0gQVJNdjQgd2l0aCB3cml0ZSBidWZmZXIgd2l0aG91dCBJIFRMQiBmbHVzaCBlbnRyeSBpbnN0cnVjdGlvbgogICoJICB2NHdiaSAtIEFSTXY0IHdpdGggd3JpdGUgYnVmZmVyIHdpdGggSSBUTEIgZmx1c2ggZW50cnkgaW5zdHJ1Y3Rpb24KKyAqCSAgZnIgICAgLSBGZXJvY2VvbiAodjR3Ymkgd2l0aCBub24tb3V0ZXItY2FjaGVhYmxlIHBhZ2UgdGFibGUgd2Fsa3MpCiAgKgkgIHY2d2JpIC0gQVJNdjYgd2l0aCB3cml0ZSBidWZmZXIgd2l0aCBJIFRMQiBmbHVzaCBlbnRyeSBpbnN0cnVjdGlvbgogICovCiAjdW5kZWYgX1RMQgpAQCAtMTAzLDYgKzEwNSwyMyBAQAogIyBkZWZpbmUgdjR3YmlfYWx3YXlzX2ZsYWdzCSgtMVVMKQogI2VuZGlmCiAKKyNkZWZpbmUgZnJfdGxiX2ZsYWdzCShUTEJfV0IgfCBUTEJfRENMRUFOIHwgVExCX0wyQ0xFQU5fRlIgfCBcCisJCQkgVExCX1Y0X0lfRlVMTCB8IFRMQl9WNF9EX0ZVTEwgfCBcCisJCQkgVExCX1Y0X0lfUEFHRSB8IFRMQl9WNF9EX1BBR0UpCisKKyNpZmRlZiBDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTgorIyBkZWZpbmUgZnJfcG9zc2libGVfZmxhZ3MJZnJfdGxiX2ZsYWdzCisjIGRlZmluZSBmcl9hbHdheXNfZmxhZ3MJZnJfdGxiX2ZsYWdzCisjIGlmZGVmIF9UTEIKKyMgIGRlZmluZSBNVUxUSV9UTEIgMQorIyBlbHNlCisjICBkZWZpbmUgX1RMQiB2NHdiaQorIyBlbmRpZgorI2Vsc2UKKyMgZGVmaW5lIGZyX3Bvc3NpYmxlX2ZsYWdzCTAKKyMgZGVmaW5lIGZyX2Fsd2F5c19mbGFncwkoLTFVTCkKKyNlbmRpZgorCiAjZGVmaW5lIHY0d2JfdGxiX2ZsYWdzCShUTEJfV0IgfCBUTEJfRENMRUFOIHwgXAogCQkJIFRMQl9WNF9JX0ZVTEwgfCBUTEJfVjRfRF9GVUxMIHwgXAogCQkJIFRMQl9WNF9EX1BBR0UpCkBAIC0yNDUsMTIgKzI2NCwxNCBAQAogI2RlZmluZSBwb3NzaWJsZV90bGJfZmxhZ3MJKHYzX3Bvc3NpYmxlX2ZsYWdzIHwgXAogCQkJCSB2NF9wb3NzaWJsZV9mbGFncyB8IFwKIAkJCQkgdjR3YmlfcG9zc2libGVfZmxhZ3MgfCBcCisJCQkJIGZyX3Bvc3NpYmxlX2ZsYWdzIHwgXAogCQkJCSB2NHdiX3Bvc3NpYmxlX2ZsYWdzIHwgXAogCQkJCSB2NndiaV9wb3NzaWJsZV9mbGFncykKIAogI2RlZmluZSBhbHdheXNfdGxiX2ZsYWdzCSh2M19hbHdheXNfZmxhZ3MgJiBcCiAJCQkJIHY0X2Fsd2F5c19mbGFncyAmIFwKIAkJCQkgdjR3YmlfYWx3YXlzX2ZsYWdzICYgXAorCQkJCSBmcl9hbHdheXNfZmxhZ3MgJiBcCiAJCQkJIHY0d2JfYWx3YXlzX2ZsYWdzICYgXAogCQkJCSB2NndiaV9hbHdheXNfZmxhZ3MpCiAKQEAgLTQxNyw2ICs0MzgsMTEgQEAKIAlpZiAodGxiX2ZsYWcoVExCX0RDTEVBTikpCiAJCWFzbSgibWNyCXAxNSwgMCwgJTAsIGM3LCBjMTAsIDEJQCBmbHVzaF9wbWQiCiAJCQk6IDogInIiIChwbWQpIDogImNjIik7CisKKwlpZiAodGxiX2ZsYWcoVExCX0wyQ0xFQU5fRlIpKQorCQlhc20oIm1jcglwMTUsIDEsICUwLCBjMTUsIGM5LCAxICBAIEwyIGZsdXNoX3BtZCIKKwkJCTogOiAiciIgKHBtZCkgOiAiY2MiKTsKKwogCWlmICh0bGJfZmxhZyhUTEJfV0IpKQogCQlkc2IoKTsKIH0KQEAgLTQyOCw2ICs0NTQsMTAgQEAKIAlpZiAodGxiX2ZsYWcoVExCX0RDTEVBTikpCiAJCWFzbSgibWNyCXAxNSwgMCwgJTAsIGM3LCBjMTAsIDEJQCBmbHVzaF9wbWQiCiAJCQk6IDogInIiIChwbWQpIDogImNjIik7CisKKwlpZiAodGxiX2ZsYWcoVExCX0wyQ0xFQU5fRlIpKQorCQlhc20oIm1jcglwMTUsIDEsICUwLCBjMTUsIGM5LCAxICBAIEwyIGZsdXNoX3BtZCIKKwkJCTogOiAiciIgKHBtZCkgOiAiY2MiKTsKIH0KIAogI3VuZGVmIHRsYl9mbGFnCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9ib2FyZC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvYm9hcmQuaAppbmRleCBhNGUyZDI4Li5iNGNkZGZhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9ib2FyZC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2JvYXJkLmgKQEAgLTgsNiArOCwxMiBAQAogCiAjZGVmaW5lIEdQSU9fUElOX05PTkUJKC0xKQogCisvKgorICogQ2xvY2sgcmF0ZXMgZm9yIHZhcmlvdXMgb24tYm9hcmQgb3NjaWxsYXRvcnMuIFRoZSBudW1iZXIgb2YgZW50cmllcworICogaW4gdGhpcyBhcnJheSBpcyBjaGlwLWRlcGVuZGVudC4KKyAqLworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgYXQzMl9ib2FyZF9vc2NfcmF0ZXNbXTsKKyAgCiAvKiBBZGQgYmFzaWMgZGV2aWNlczogc3lzdGVtIG1hbmFnZXIsIGludGVycnVwdCBjb250cm9sbGVyLCBwb3J0bXV4ZXMsIGV0Yy4gKi8KIHZvaWQgYXQzMl9hZGRfc3lzdGVtX2RldmljZXModm9pZCk7CiAKQEAgLTM2LDcgKzQyLDggQEAKIHN0cnVjdCBhdG1lbF9sY2RmYl9pbmZvOwogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqCiBhdDMyX2FkZF9kZXZpY2VfbGNkYyh1bnNpZ25lZCBpbnQgaWQsIHN0cnVjdCBhdG1lbF9sY2RmYl9pbmZvICpkYXRhLAotCQkgICAgIHVuc2lnbmVkIGxvbmcgZmJtZW1fc3RhcnQsIHVuc2lnbmVkIGxvbmcgZmJtZW1fbGVuKTsKKwkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbiwKKwkJICAgICB1bnNpZ25lZCBpbnQgcGluX2NvbmZpZyk7CiAKIHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGE7CiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICoKQEAgLTczLDYgKzgwLDcgQEAKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF0MzJfYWRkX2RldmljZV9tY2kodW5zaWduZWQgaW50IGlkKTsKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF0MzJfYWRkX2RldmljZV9hYzk3Yyh1bnNpZ25lZCBpbnQgaWQpOwogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYXQzMl9hZGRfZGV2aWNlX2FiZGFjKHVuc2lnbmVkIGludCBpZCk7CitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDMyX2FkZF9kZXZpY2VfcHNpZih1bnNpZ25lZCBpbnQgaWQpOwogCiBzdHJ1Y3QgY2ZfcGxhdGZvcm1fZGF0YSB7CiAJaW50CWRldGVjdF9waW47CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9pbml0LmggYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9pbml0LmgKaW5kZXggNWU3NWQ4NS4uYmM0MGUzZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvaW5pdC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2luaXQuaApAQCAtMTMsMTAgKzEzLDYgQEAKIHZvaWQgc2V0dXBfcGxhdGZvcm0odm9pZCk7CiB2b2lkIHNldHVwX2JvYXJkKHZvaWQpOwogCi0vKiBDYWxsZWQgYnkgc2V0dXBfcGxhdGZvcm0gKi8KLXZvaWQgYXQzMl9jbG9ja19pbml0KHZvaWQpOwotdm9pZCBhdDMyX3BvcnRtdXhfaW5pdCh2b2lkKTsKLQogdm9pZCBhdDMyX3NldHVwX3NlcmlhbF9jb25zb2xlKHVuc2lnbmVkIGludCB1c2FydF9pZCk7CiAKICNlbmRpZiAvKiBfX0FTTV9BVlIzMl9BVDMyQVBfSU5JVF9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3BtLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9wbS5oCmluZGV4IDM1NmU0MzAuLjk3OWIzNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3BtLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvcG0uaApAQCAtMTksNiArMTksNyBAQAogCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogZXh0ZXJuIHZvaWQgY3B1X2VudGVyX2lkbGUodm9pZCk7CitleHRlcm4gdm9pZCBjcHVfZW50ZXJfc3RhbmRieSh1bnNpZ25lZCBsb25nIHNkcmFtY19iYXNlKTsKIAogZXh0ZXJuIGJvb2wgZGlzYWJsZV9pZGxlX3NsZWVwOwogCkBAIC00Myw2ICs0NCw4IEBACiAJZWxzZQogCQljcHVfZW50ZXJfaWRsZSgpOwogfQorCit2b2lkIGludGNfc2V0X3N1c3BlbmRfaGFuZGxlcih1bnNpZ25lZCBsb25nIG9mZnNldCk7CiAjZW5kaWYKIAogI2VuZGlmIC8qIF9fQVNNX0FWUjMyX0FSQ0hfUE1fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvc3JhbS5oIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvc3JhbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MzhkYWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9zcmFtLmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIFNpbXBsZSBTUkFNIGFsbG9jYXRvcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBdG1lbCBDb3Jwb3JhdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKyNpZm5kZWYgX19BU01fQVZSMzJfQVJDSF9TUkFNX0gKKyNkZWZpbmUgX19BU01fQVZSMzJfQVJDSF9TUkFNX0gKKworI2luY2x1ZGUgPGxpbnV4L2dlbmFsbG9jLmg+CisKK2V4dGVybiBzdHJ1Y3QgZ2VuX3Bvb2wgKnNyYW1fcG9vbDsKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHNyYW1fYWxsb2Moc2l6ZV90IGxlbikKK3sKKwlpZiAoIXNyYW1fcG9vbCkKKwkJcmV0dXJuIDBVTDsKKworCXJldHVybiBnZW5fcG9vbF9hbGxvYyhzcmFtX3Bvb2wsIGxlbik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzcmFtX2ZyZWUodW5zaWduZWQgbG9uZyBhZGRyLCBzaXplX3QgbGVuKQoreworCXJldHVybiBnZW5fcG9vbF9mcmVlKHNyYW1fcG9vbCwgYWRkciwgbGVuKTsKK30KKworI2VuZGlmIC8qIF9fQVNNX0FWUjMyX0FSQ0hfU1JBTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9tbXVfY29udGV4dC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvbW11X2NvbnRleHQuaAppbmRleCBjMzdjMzkxLi4yN2ZmMjM0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9tbXVfY29udGV4dC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL21tdV9jb250ZXh0LmgKQEAgLTEzLDcgKzEzLDYgQEAKICNkZWZpbmUgX19BU01fQVZSMzJfTU1VX0NPTlRFWFRfSAogCiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vc3lzcmVnLmg+CiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvcGNpLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9wY2kuaAppbmRleCAwZjVmMTM0Li5hMzJhMDIzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9wY2kuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9wY2kuaApAQCAtNSw0ICs1LDYgQEAKIAogI2RlZmluZSBQQ0lfRE1BX0JVU19JU19QSFlTCSgxKQogCisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvcGNpLWRtYS1jb21wYXQuaD4KKwogI2VuZGlmIC8qIF9fQVNNX0FWUjMyX1BDSV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3BnYWxsb2MuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3BnYWxsb2MuaAppbmRleCA1MWZjMWY2Li42NDA4MjEzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9wZ2FsbG9jLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvcGdhbGxvYy5oCkBAIC04LDY1ICs4LDc5IEBACiAjaWZuZGVmIF9fQVNNX0FWUjMyX1BHQUxMT0NfSAogI2RlZmluZSBfX0FTTV9BVlIzMl9QR0FMTE9DX0gKIAotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvcXVpY2tsaXN0Lmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogCi0jZGVmaW5lIHBtZF9wb3B1bGF0ZV9rZXJuZWwobW0sIHBtZCwgcHRlKSBcCi0Jc2V0X3BtZChwbWQsIF9fcG1kKF9QQUdFX1RBQkxFICsgX19wYShwdGUpKSkKKyNkZWZpbmUgUVVJQ0tfUEdECTAJLyogUHJlc2VydmUga2VybmVsIG1hcHBpbmdzIG92ZXIgZnJlZSAqLworI2RlZmluZSBRVUlDS19QVAkxCS8qIFplcm8gb24gZnJlZSAqLwogCi1zdGF0aWMgX19pbmxpbmVfXyB2b2lkIHBtZF9wb3B1bGF0ZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcG1kX3QgKnBtZCwKK3N0YXRpYyBpbmxpbmUgdm9pZCBwbWRfcG9wdWxhdGVfa2VybmVsKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorCQkJCSAgICAgICBwbWRfdCAqcG1kLCBwdGVfdCAqcHRlKQoreworCXNldF9wbWQocG1kLCBfX3BtZCgodW5zaWduZWQgbG9uZylwdGUpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHBtZF9wb3B1bGF0ZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcG1kX3QgKnBtZCwKIAkJCQkgICAgcGd0YWJsZV90IHB0ZSkKIHsKLQlzZXRfcG1kKHBtZCwgX19wbWQoX1BBR0VfVEFCTEUgKyBwYWdlX3RvX3BoeXMocHRlKSkpOworCXNldF9wbWQocG1kLCBfX3BtZCgodW5zaWduZWQgbG9uZylwYWdlX2FkZHJlc3MocHRlKSkpOwogfQogI2RlZmluZSBwbWRfcGd0YWJsZShwbWQpIHBtZF9wYWdlKHBtZCkKIAorc3RhdGljIGlubGluZSB2b2lkIHBnZF9jdG9yKHZvaWQgKngpCit7CisJcGdkX3QgKnBnZCA9IHg7CisKKwltZW1jcHkocGdkICsgVVNFUl9QVFJTX1BFUl9QR0QsCisJCXN3YXBwZXJfcGdfZGlyICsgVVNFUl9QVFJTX1BFUl9QR0QsCisJCShQVFJTX1BFUl9QR0QgLSBVU0VSX1BUUlNfUEVSX1BHRCkgKiBzaXplb2YocGdkX3QpKTsKK30KKwogLyoKICAqIEFsbG9jYXRlIGFuZCBmcmVlIHBhZ2UgdGFibGVzCiAgKi8KLXN0YXRpYyBfX2lubGluZV9fIHBnZF90ICpwZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCitzdGF0aWMgaW5saW5lIHBnZF90ICpwZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7Ci0JcmV0dXJuIGtjYWxsb2MoVVNFUl9QVFJTX1BFUl9QR0QsIHNpemVvZihwZ2RfdCksIEdGUF9LRVJORUwpOworCXJldHVybiBxdWlja2xpc3RfYWxsb2MoUVVJQ0tfUEdELCBHRlBfS0VSTkVMIHwgX19HRlBfUkVQRUFULCBwZ2RfY3Rvcik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwZ2RfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkKIHsKLQlrZnJlZShwZ2QpOworCXF1aWNrbGlzdF9mcmVlKFFVSUNLX1BHRCwgTlVMTCwgcGdkKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCAqcHRlX2FsbG9jX29uZV9rZXJuZWwoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJCQkJCSAgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewotCXB0ZV90ICpwdGU7Ci0KLQlwdGUgPSAocHRlX3QgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1JFUEVBVCk7Ci0KLQlyZXR1cm4gcHRlOworCXJldHVybiBxdWlja2xpc3RfYWxsb2MoUVVJQ0tfUFQsIEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQsIE5VTEwpOwogfQogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBwYWdlICpwdGVfYWxsb2Nfb25lKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorc3RhdGljIGlubGluZSBwZ3RhYmxlX3QgcHRlX2FsbG9jX29uZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwKIAkJCQkJIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKIHsKLQlzdHJ1Y3QgcGFnZSAqcHRlOworCXN0cnVjdCBwYWdlICpwYWdlOworCXZvaWQgKnBnOwogCi0JcHRlID0gYWxsb2NfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfUkVQRUFUIHwgX19HRlBfWkVSTyk7Ci0JaWYgKCFwdGUpCisJcGcgPSBxdWlja2xpc3RfYWxsb2MoUVVJQ0tfUFQsIEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQsIE5VTEwpOworCWlmICghcGcpCiAJCXJldHVybiBOVUxMOwotCXBndGFibGVfcGFnZV9jdG9yKHB0ZSk7Ci0JcmV0dXJuIHB0ZTsKKworCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UocGcpOworCXBndGFibGVfcGFnZV9jdG9yKHBhZ2UpOworCisJcmV0dXJuIHBhZ2U7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwdGVfZnJlZV9rZXJuZWwoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHB0ZV90ICpwdGUpCiB7Ci0JZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXB0ZSk7CisJcXVpY2tsaXN0X2ZyZWUoUVVJQ0tfUFQsIE5VTEwsIHB0ZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwdGVfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGd0YWJsZV90IHB0ZSkKIHsKIAlwZ3RhYmxlX3BhZ2VfZHRvcihwdGUpOwotCV9fZnJlZV9wYWdlKHB0ZSk7CisJcXVpY2tsaXN0X2ZyZWVfcGFnZShRVUlDS19QVCwgTlVMTCwgcHRlKTsKIH0KIAogI2RlZmluZSBfX3B0ZV9mcmVlX3RsYih0bGIscHRlKQkJCQlcCkBAIC03NSw2ICs4OSwxMCBAQAogCXRsYl9yZW1vdmVfcGFnZSgodGxiKSwgcHRlKTsJCQlcCiB9IHdoaWxlICgwKQogCi0jZGVmaW5lIGNoZWNrX3BndF9jYWNoZSgpIGRvIHsgfSB3aGlsZSgwKQorc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX3BndF9jYWNoZSh2b2lkKQoreworCXF1aWNrbGlzdF90cmltKFFVSUNLX1BHRCwgTlVMTCwgMjUsIDE2KTsKKwlxdWlja2xpc3RfdHJpbShRVUlDS19QVCwgTlVMTCwgMjUsIDE2KTsKK30KIAogI2VuZGlmIC8qIF9fQVNNX0FWUjMyX1BHQUxMT0NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvcGd0YWJsZS5oIGIvaW5jbHVkZS9hc20tYXZyMzIvcGd0YWJsZS5oCmluZGV4IGMwZTVlMjkuLmZlY2RkYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9wZ3RhYmxlLmgKQEAgLTEyOSwxMyArMTI5LDYgQEAKIAogI2RlZmluZSBfUEFHRV9GTEFHU19DQUNIRV9NQVNLCShfUEFHRV9DQUNIQUJMRSB8IF9QQUdFX0JVRkZFUiB8IF9QQUdFX1dUKQogCi0vKiBUT0RPOiBDaGVjayBmb3Igc2FuZW5lc3MgKi8KLS8qIFVzZXItbW9kZSBwYWdlIHRhYmxlIGZsYWdzICh0byBiZSBzZXQgaW4gYSBwZ2Qgb3IgcG1kIGVudHJ5KSAqLwotI2RlZmluZSBfUEFHRV9UQUJMRQkJKF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9UWVBFX1NNQUxMIHwgX1BBR0VfUlcgXAotCQkJCSB8IF9QQUdFX1VTRVIgfCBfUEFHRV9BQ0NFU1NFRCB8IF9QQUdFX0RJUlRZKQotLyogS2VybmVsLW1vZGUgcGFnZSB0YWJsZSBmbGFncyAqLwotI2RlZmluZSBfS0VSTlBHX1RBQkxFCQkoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1RZUEVfU01BTEwgfCBfUEFHRV9SVyBcCi0JCQkJIHwgX1BBR0VfQUNDRVNTRUQgfCBfUEFHRV9ESVJUWSkKIC8qIEZsYWdzIHRoYXQgbWF5IGJlIG1vZGlmaWVkIGJ5IHNvZnR3YXJlICovCiAjZGVmaW5lIF9QQUdFX0NIR19NQVNLCQkoUFRFX01BU0sgfCBfUEFHRV9BQ0NFU1NFRCB8IF9QQUdFX0RJUlRZIFwKIAkJCQkgfCBfUEFHRV9GTEFHU19DQUNIRV9NQVNLKQpAQCAtMjYyLDEwICsyNTUsMTQgQEAKIH0KIAogI2RlZmluZSBwbWRfbm9uZSh4KQkoIXBtZF92YWwoeCkpCi0jZGVmaW5lIHBtZF9wcmVzZW50KHgpCShwbWRfdmFsKHgpICYgX1BBR0VfUFJFU0VOVCkKLSNkZWZpbmUgcG1kX2NsZWFyKHhwKQlkbyB7IHNldF9wbWQoeHAsIF9fcG1kKDApKTsgfSB3aGlsZSAoMCkKLSNkZWZpbmUJcG1kX2JhZCh4KQkoKHBtZF92YWwoeCkgJiAoflBBR0VfTUFTSyAmIH5fUEFHRV9VU0VSKSkJXAotCQkJICE9IF9LRVJOUEdfVEFCTEUpCisjZGVmaW5lIHBtZF9wcmVzZW50KHgpCShwbWRfdmFsKHgpKQorCitzdGF0aWMgaW5saW5lIHZvaWQgcG1kX2NsZWFyKHBtZF90ICpwbWRwKQoreworCXNldF9wbWQocG1kcCwgX19wbWQoMCkpOworfQorCisjZGVmaW5lCXBtZF9iYWQoeCkJKHBtZF92YWwoeCkgJiB+UEFHRV9NQVNLKQogCiAvKgogICogUGVybWFuZW50IGFkZHJlc3Mgb2YgYSBwYWdlLiBXZSBkb24ndCBzdXBwb3J0IGhpZ2htZW0sIHNvIHRoaXMgaXMKQEAgLTMwMywxOSArMzAwLDE2IEBACiAKICNkZWZpbmUgcGFnZV9wdGUocGFnZSkJcGFnZV9wdGVfcHJvdChwYWdlLCBfX3BncHJvdCgwKSkKIAotI2RlZmluZSBwbWRfcGFnZV92YWRkcihwbWQpCQkJCQlcCi0JKCh1bnNpZ25lZCBsb25nKSBfX3ZhKHBtZF92YWwocG1kKSAmIFBBR0VfTUFTSykpCi0KLSNkZWZpbmUgcG1kX3BhZ2UocG1kKQkocGh5c190b19wYWdlKHBtZF92YWwocG1kKSkpCisjZGVmaW5lIHBtZF9wYWdlX3ZhZGRyKHBtZCkJcG1kX3ZhbChwbWQpCisjZGVmaW5lIHBtZF9wYWdlKHBtZCkJCSh2aXJ0X3RvX3BhZ2UocG1kX3ZhbChwbWQpKSkKIAogLyogdG8gZmluZCBhbiBlbnRyeSBpbiBhIHBhZ2UtdGFibGUtZGlyZWN0b3J5LiAqLwotI2RlZmluZSBwZ2RfaW5kZXgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gUEdESVJfU0hJRlQpICYgKFBUUlNfUEVSX1BHRC0xKSkKLSNkZWZpbmUgcGdkX29mZnNldChtbSwgYWRkcmVzcykgKChtbSktPnBnZCtwZ2RfaW5kZXgoYWRkcmVzcykpCi0jZGVmaW5lIHBnZF9vZmZzZXRfY3VycmVudChhZGRyZXNzKQkJCQlcCi0JKChwZ2RfdCAqKV9fbWZzcihTWVNSRUdfUFRCUikgKyBwZ2RfaW5kZXgoYWRkcmVzcykpCisjZGVmaW5lIHBnZF9pbmRleChhZGRyZXNzKQkoKChhZGRyZXNzKSA+PiBQR0RJUl9TSElGVCkJXAorCQkJCSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKKyNkZWZpbmUgcGdkX29mZnNldChtbSwgYWRkcmVzcykJKChtbSktPnBnZCArIHBnZF9pbmRleChhZGRyZXNzKSkKIAogLyogdG8gZmluZCBhbiBlbnRyeSBpbiBhIGtlcm5lbCBwYWdlLXRhYmxlLWRpcmVjdG9yeSAqLwotI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykgcGdkX29mZnNldCgmaW5pdF9tbSwgYWRkcmVzcykKKyNkZWZpbmUgcGdkX29mZnNldF9rKGFkZHJlc3MpCXBnZF9vZmZzZXQoJmluaXRfbW0sIGFkZHJlc3MpCiAKIC8qIEZpbmQgYW4gZW50cnkgaW4gdGhlIHRoaXJkLWxldmVsIHBhZ2UgdGFibGUuLiAqLwogI2RlZmluZSBwdGVfaW5kZXgoYWRkcmVzcykJCQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvc2V0dXAuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3NldHVwLmgKaW5kZXggZWEzMDcwZi4uZmY1YjdjZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvc2V0dXAuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9zZXR1cC5oCkBAIC0yLDcgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgQXRtZWwgQ29ycG9yYXRpb24KICAqCiAgKiBCYXNlZCBvbiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaAotICogICBDb3B5cmlnaHQgKEMpIDE5OTctMTk5OSBSdXNzZWwgS2luZworICogICBDb3B5cmlnaHQgKEMpIDE5OTctMTk5OSBSdXNzZWxsIEtpbmcKICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3RocmVhZF9pbmZvLmggYi9pbmNsdWRlL2FzbS1hdnIzMi90aHJlYWRfaW5mby5oCmluZGV4IDA3MDQ5ZjYuLmRmNjg2MzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3RocmVhZF9pbmZvLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvdGhyZWFkX2luZm8uaApAQCAtODgsNiArODgsNyBAQAogI2RlZmluZSBUSUZfTUVNRElFCQk2CiAjZGVmaW5lIFRJRl9SRVNUT1JFX1NJR01BU0sJNwkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCAqLwogI2RlZmluZSBUSUZfQ1BVX0dPSU5HX1RPX1NMRUVQCTgJLyogQ1BVIGlzIGVudGVyaW5nIHNsZWVwIDAgbW9kZSAqLworI2RlZmluZSBUSUZfRlJFRVpFCQkyOQogI2RlZmluZSBUSUZfREVCVUcJCTMwCS8qIGRlYnVnZ2luZyBlbmFibGVkICovCiAjZGVmaW5lIFRJRl9VU0VSU1BBQ0UJCTMxICAgICAgLyogdHJ1ZSBpZiBGUyBzZXRzIHVzZXJzcGFjZSAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi90bGJmbHVzaC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvdGxiZmx1c2guaAppbmRleCA1YmM3Yzg4Li5iZjkwYTc4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi90bGJmbHVzaC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3RsYmZsdXNoLmgKQEAgLTI2LDcgKzI2LDYgQEAKIGV4dGVybiB2b2lkIGZsdXNoX3RsYl9yYW5nZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyBzdGFydCwKIAkJCSAgICB1bnNpZ25lZCBsb25nIGVuZCk7CiBleHRlcm4gdm9pZCBmbHVzaF90bGJfcGFnZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyBwYWdlKTsKLWV4dGVybiB2b2lkIF9fZmx1c2hfdGxiX3BhZ2UodW5zaWduZWQgbG9uZyBhc2lkLCB1bnNpZ25lZCBsb25nIHBhZ2UpOwogCiBleHRlcm4gdm9pZCBmbHVzaF90bGJfa2VybmVsX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZnJ2L3N5c3RlbS5oIGIvaW5jbHVkZS9hc20tZnJ2L3N5c3RlbS5oCmluZGV4IGQzYTEyYTkuLjc3NDJlYzAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWZydi9zeXN0ZW0uaAorKysgYi9pbmNsdWRlL2FzbS1mcnYvc3lzdGVtLmgKQEAgLTg3LDcgKzg3LDcgQEAKIH0gd2hpbGUoMCkKIAogI2RlZmluZSBpcnFzX2Rpc2FibGVkKCkgXAotCSh7dW5zaWduZWQgbG9uZyBmbGFnczsgbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7IGZsYWdzOyB9KQorCSh7dW5zaWduZWQgbG9uZyBmbGFnczsgbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7ICEhZmxhZ3M7IH0pCiAKICNkZWZpbmUJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpCQkJXAogZG8gewkJCQkJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvcGd0YWJsZS5oIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmgKaW5kZXggNDRlZjMyOS4uZWY4N2Y4OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmgKKysrIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmgKQEAgLTE5NSw2ICsxOTUsNjMgQEAKIAl9CiAJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbmxpbmUgcHRlX3QgX19wdGVwX21vZGlmeV9wcm90X3N0YXJ0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorCQkJCQkgICAgIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgICBwdGVfdCAqcHRlcCkKK3sKKwkvKgorCSAqIEdldCB0aGUgY3VycmVudCBwdGUgc3RhdGUsIGJ1dCB6ZXJvIGl0IG91dCB0byBtYWtlIGl0CisJICogbm9uLXByZXNlbnQsIHByZXZlbnRpbmcgdGhlIGhhcmR3YXJlIGZyb20gYXN5bmNocm9ub3VzbHkKKwkgKiB1cGRhdGluZyBpdC4KKwkgKi8KKwlyZXR1cm4gcHRlcF9nZXRfYW5kX2NsZWFyKG1tLCBhZGRyLCBwdGVwKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIF9fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQkgICAgIHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCit7CisJLyoKKwkgKiBUaGUgcHRlIGlzIG5vbi1wcmVzZW50LCBzbyB0aGVyZSdzIG5vIGhhcmR3YXJlIHN0YXRlIHRvCisJICogcHJlc2VydmUuCisJICovCisJc2V0X3B0ZV9hdChtbSwgYWRkciwgcHRlcCwgcHRlKTsKK30KKworI2lmbmRlZiBfX0hBVkVfQVJDSF9QVEVQX01PRElGWV9QUk9UX1RSQU5TQUNUSU9OCisvKgorICogU3RhcnQgYSBwdGUgcHJvdGVjdGlvbiByZWFkLW1vZGlmeS13cml0ZSB0cmFuc2FjdGlvbiwgd2hpY2gKKyAqIHByb3RlY3RzIGFnYWluc3QgYXN5bmNocm9ub3VzIGhhcmR3YXJlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIHB0ZS4KKyAqIFRoZSBpbnRlbnRpb24gaXMgbm90IHRvIHByZXZlbnQgdGhlIGhhcmR3YXJlIGZyb20gbWFraW5nIHB0ZQorICogdXBkYXRlcywgYnV0IHRvIHByZXZlbnQgYW55IHVwZGF0ZXMgaXQgbWF5IG1ha2UgZnJvbSBiZWluZyBsb3N0LgorICoKKyAqIFRoaXMgZG9lcyBub3QgcHJvdGVjdCBhZ2FpbnN0IG90aGVyIHNvZnR3YXJlIG1vZGlmaWNhdGlvbnMgb2YgdGhlCisgKiBwdGU7IHRoZSBhcHByb3ByaWF0ZSBwdGUgbG9jayBtdXN0IGJlIGhlbGQgb3ZlciB0aGUgdHJhbnNhdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBpbnRlcmZhY2UgaXMgaW50ZW5kZWQgdG8gYmUgYmF0Y2hhYmxlLCBtZWFuaW5nIHRoYXQKKyAqIHB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0IG1heSBub3QgYWN0dWFsbHkgdXBkYXRlIHRoZSBwdGUsIGJ1dCBtZXJlbHkKKyAqIHF1ZXVlIHRoZSB1cGRhdGUgdG8gYmUgZG9uZSBhdCBzb21lIGxhdGVyIHRpbWUuICBUaGUgdXBkYXRlIG11c3QgYmUKKyAqIGFjdHVhbGx5IGNvbW1pdHRlZCBiZWZvcmUgdGhlIHB0ZSBsb2NrIGlzIHJlbGVhc2VkLCBob3dldmVyLgorICovCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXApCit7CisJcmV0dXJuIF9fcHRlcF9tb2RpZnlfcHJvdF9zdGFydChtbSwgYWRkciwgcHRlcCk7Cit9CisKKy8qCisgKiBDb21taXQgYW4gdXBkYXRlIHRvIGEgcHRlLCBsZWF2aW5nIGFueSBoYXJkd2FyZS1jb250cm9sbGVkIGJpdHMgaW4KKyAqIHRoZSBQVEUgdW5tb2RpZmllZC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIHB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorCQkJCQkgICB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJCSAgIHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCit7CisJX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlcCwgcHRlKTsKK30KKyNlbmRpZiAvKiBfX0hBVkVfQVJDSF9QVEVQX01PRElGWV9QUk9UX1RSQU5TQUNUSU9OICovCiAjZW5kaWYgLyogQ09ORklHX01NVSAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZ2VuZXJpYy90b3BvbG9neS5oIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy90b3BvbG9neS5oCmluZGV4IGE2YWVhNzkuLjU0YmJmNmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvdG9wb2xvZ3kuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5lcmljL3RvcG9sb2d5LmgKQEAgLTYwLDcgKzYwLDggQEAKICNpZm5kZWYgbm9kZV90b19jcHVtYXNrX3B0cgogCiAjZGVmaW5lCW5vZGVfdG9fY3B1bWFza19wdHIodiwgbm9kZSkgCQkJCQlcCi0JCWNwdW1hc2tfdCBfIyN2ID0gbm9kZV90b19jcHVtYXNrKG5vZGUpLCAqdiA9ICZfIyN2CisJCWNwdW1hc2tfdCBfIyN2ID0gbm9kZV90b19jcHVtYXNrKG5vZGUpOwkJCVwKKwkJY29uc3QgY3B1bWFza190ICp2ID0gJl8jI3YKIAogI2RlZmluZSBub2RlX3RvX2NwdW1hc2tfcHRyX25leHQodiwgbm9kZSkJCQkJXAogCQkJICBfIyN2ID0gbm9kZV90b19jcHVtYXNrKG5vZGUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmgKaW5kZXggZjA1NDc3OC4uYjIwNDA5NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tZ2VuZXJpYy92bWxpbnV4Lmxkcy5oCisrKyBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvdm1saW51eC5sZHMuaApAQCAtNjcsNiArNjcsOCBAQAogCQkqKC5yb2RhdGExKQkJCQkJCVwKIAl9CQkJCQkJCQlcCiAJCQkJCQkJCQlcCisJQlVHX1RBQkxFCQkJCQkJCVwKKwkJCQkJCQkJCVwKIAkvKiBQQ0kgcXVpcmtzICovCQkJCQkJXAogCS5wY2lfZml4dXAgICAgICAgIDogQVQoQUREUigucGNpX2ZpeHVwKSAtIExPQURfT0ZGU0VUKSB7CVwKIAkJVk1MSU5VWF9TWU1CT0woX19zdGFydF9wY2lfZml4dXBzX2Vhcmx5KSA9IC47CQlcCkBAIC04Niw2ICs4OCwxMyBAQAogCQlWTUxJTlVYX1NZTUJPTChfX2VuZF9wY2lfZml4dXBzX3Jlc3VtZSkgPSAuOwkJXAogCX0JCQkJCQkJCVwKIAkJCQkJCQkJCVwKKwkvKiBCdWlsdC1pbiBmaXJtd2FyZSBibG9icyAqLwkJCQkJXAorCS5idWlsdGluX2Z3ICAgICAgICA6IEFUKEFERFIoLmJ1aWx0aW5fZncpIC0gTE9BRF9PRkZTRVQpIHsJXAorCQlWTUxJTlVYX1NZTUJPTChfX3N0YXJ0X2J1aWx0aW5fZncpID0gLjsJCQlcCisJCSooLmJ1aWx0aW5fZncpCQkJCQkJXAorCQlWTUxJTlVYX1NZTUJPTChfX2VuZF9idWlsdGluX2Z3KSA9IC47CQkJXAorCX0JCQkJCQkJCVwKKwkJCQkJCQkJCVwKIAkvKiBSYXBpZElPIHJvdXRlIG9wcyAqLwkJCQkJCVwKIAkucmlvX3JvdXRlICAgICAgICA6IEFUKEFERFIoLnJpb19yb3V0ZSkgLSBMT0FEX09GRlNFVCkgewlcCiAJCVZNTElOVVhfU1lNQk9MKF9fc3RhcnRfcmlvX3JvdXRlX29wcykgPSAuOwkJXApAQCAtOTMsNiArMTAyLDggQEAKIAkJVk1MSU5VWF9TWU1CT0woX19lbmRfcmlvX3JvdXRlX29wcykgPSAuOwkJXAogCX0JCQkJCQkJCVwKIAkJCQkJCQkJCVwKKwlUUkFDRURBVEEJCQkJCQkJXAorCQkJCQkJCQkJXAogCS8qIEtlcm5lbCBzeW1ib2wgdGFibGU6IE5vcm1hbCBzeW1ib2xzICovCQkJXAogCV9fa3N5bXRhYiAgICAgICAgIDogQVQoQUREUihfX2tzeW10YWIpIC0gTE9BRF9PRkZTRVQpIHsJCVwKIAkJVk1MSU5VWF9TWU1CT0woX19zdGFydF9fX2tzeW10YWIpID0gLjsJCQlcCkBAIC0zMTAsNiArMzIxLDcgQEAKIAkJLnN0YWIuaW5kZXhzdHIgMCA6IHsgKiguc3RhYi5pbmRleHN0cikgfQkJXAogCQkuY29tbWVudCAwIDogeyAqKC5jb21tZW50KSB9CiAKKyNpZmRlZiBDT05GSUdfR0VORVJJQ19CVUcKICNkZWZpbmUgQlVHX1RBQkxFCQkJCQkJCVwKIAkuID0gQUxJR04oOCk7CQkJCQkJCVwKIAlfX2J1Z190YWJsZSA6IEFUKEFERFIoX19idWdfdGFibGUpIC0gTE9BRF9PRkZTRVQpIHsJCVwKQEAgLTMxNyw2ICszMjksMjEgQEAKIAkJKihfX2J1Z190YWJsZSkJCQkJCQlcCiAJCV9fc3RvcF9fX2J1Z190YWJsZSA9IC47CQkJCQlcCiAJfQorI2Vsc2UKKyNkZWZpbmUgQlVHX1RBQkxFCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19QTV9UUkFDRQorI2RlZmluZSBUUkFDRURBVEEJCQkJCQkJXAorCS4gPSBBTElHTig0KTsJCQkJCQkJXAorCS50cmFjZWRhdGEgOiBBVChBRERSKC50cmFjZWRhdGEpIC0gTE9BRF9PRkZTRVQpIHsJCVwKKwkgIAlfX3RyYWNlZGF0YV9zdGFydCA9IC47CQkJCQlcCisJCSooLnRyYWNlZGF0YSkJCQkJCQlcCisJICAJX190cmFjZWRhdGFfZW5kID0gLjsJCQkJCVwKKwl9CisjZWxzZQorI2RlZmluZSBUUkFDRURBVEEKKyNlbmRpZgogCiAjZGVmaW5lIE5PVEVTCQkJCQkJCQlcCiAJLm5vdGVzIDogQVQoQUREUigubm90ZXMpIC0gTE9BRF9PRkZTRVQpIHsJCQlcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1pYTY0L3NtcC5oIGIvaW5jbHVkZS9hc20taWE2NC9zbXAuaAppbmRleCBlYzVmMzU1Li4yNzczMWUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1pYTY0L3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLWlhNjQvc21wLmgKQEAgLTM4LDkgKzM4LDYgQEAKIAlyZXR1cm4gbGlkLmYuaWQgPDwgOCB8IGxpZC5mLmVpZDsKIH0KIAotZXh0ZXJuIGludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBtYXNrLCB2b2lkICgqZnVuYykodm9pZCAqKSwKLQkJCQkgIHZvaWQgKmluZm8sIGludCB3YWl0KTsKLQogI2RlZmluZSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKQkJaWE2NF9nZXRfbGlkKCkKIAogI2lmZGVmIENPTkZJR19TTVAKQEAgLTEyNCwxMSArMTIxLDEyIEBACiBleHRlcm4gdm9pZCBzbXBfZG9fdGltZXIgKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKIAogZXh0ZXJuIHZvaWQgc21wX3NlbmRfcmVzY2hlZHVsZSAoaW50IGNwdSk7Ci1leHRlcm4gdm9pZCBsb2NrX2lwaV9jYWxsbG9jayh2b2lkKTsKLWV4dGVybiB2b2lkIHVubG9ja19pcGlfY2FsbGxvY2sodm9pZCk7CiBleHRlcm4gdm9pZCBpZGVudGlmeV9zaWJsaW5ncyAoc3RydWN0IGNwdWluZm9faWE2NCAqKTsKIGV4dGVybiBpbnQgaXNfbXVsdGl0aHJlYWRpbmdfZW5hYmxlZCh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbHNlIC8qIENPTkZJR19TTVAgKi8KIAogI2RlZmluZSBjcHVfbG9naWNhbF9pZChpKQkJMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tbTMyci9zbXAuaCBiL2luY2x1ZGUvYXNtLW0zMnIvc21wLmgKaW5kZXggMDc4ZTFhNS4uYzVkZDY2OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tbTMyci9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1tMzJyL3NtcC5oCkBAIC04OSw2ICs4OSw5IEBACiBleHRlcm4gdm9pZCBzbXBfc2VuZF90aW1lcih2b2lkKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIHNlbmRfSVBJX21hc2tfcGh5cyhjcHVtYXNrX3QsIGludCwgaW50KTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbmRpZgkvKiBub3QgX19BU1NFTUJMWV9fICovCiAKICNkZWZpbmUgTk9fUFJPQ19JRCAoMHhmZikJLyogTm8gcHJvY2Vzc29yIG1hZ2ljIG1hcmtlciAqLwpAQCAtMTA0LDYgKzEwNyw3IEBACiAjZGVmaW5lIExPQ0FMX1RJTUVSX0lQSQkJKE0zMlJfSVJRX0lQSTMtTTMyUl9JUlFfSVBJMCkKICNkZWZpbmUgSU5WQUxJREFURV9DQUNIRV9JUEkJKE0zMlJfSVJRX0lQSTQtTTMyUl9JUlFfSVBJMCkKICNkZWZpbmUgQ1BVX0JPT1RfSVBJCQkoTTMyUl9JUlFfSVBJNS1NMzJSX0lSUV9JUEkwKQorI2RlZmluZSBDQUxMX0ZVTkNfU0lOR0xFX0lQSQkoTTMyUl9JUlFfSVBJNi1NMzJSX0lSUV9JUEkwKQogCiAjZGVmaW5lIElQSV9TSElGVAkoMCkKICNkZWZpbmUgTlJfSVBJUwkJKDgpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1taXBzL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaCBiL2luY2x1ZGUvYXNtLW1pcHMvbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oCmluZGV4IGRhZTRlY2EuLjg5MmI3ZjEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLW1pcHMvbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oCisrKyBiL2luY2x1ZGUvYXNtLW1pcHMvbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oCkBAIC0yMDQsNiArMjA0LDE0IEBACiAJdTMyCXBzY19pMnN1ZGY7CiB9IHBzY19pMnNfdDsKIAorI2RlZmluZSBQU0NfSTJTQ0ZHX09GRlNFVAkweDA4CisjZGVmaW5lIFBTQ19JMlNNQVNLX09GRlNFVAkweDBDCisjZGVmaW5lIFBTQ19JMlNQQ1JfT0ZGU0VUCTB4MTAKKyNkZWZpbmUgUFNDX0kyU1NUQVRfT0ZGU0VUCTB4MTQKKyNkZWZpbmUgUFNDX0kyU0VWRU5UX09GRlNFVAkweDE4CisjZGVmaW5lIFBTQ19JMlNSWFRYX09GRlNFVAkweDFDCisjZGVmaW5lIFBTQ19JMlNVREZfT0ZGU0VUCTB4MjAKKwogLyogSTJTIENvbmZpZyBSZWdpc3Rlci4gKi8KICNkZWZpbmUgUFNDX0kyU0NGR19SVF9NQVNLCSgzIDw8IDMwKQogI2RlZmluZSBQU0NfSTJTQ0ZHX1JUX0ZJRk8xCSgwIDw8IDMwKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tbWlwcy9zbXAuaCBiL2luY2x1ZGUvYXNtLW1pcHMvc21wLmgKaW5kZXggODRmZWYxYS4uMGZmNWI1MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tbWlwcy9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1taXBzL3NtcC5oCkBAIC0zNSwxNiArMzUsNiBAQAogCiAjZGVmaW5lIE5PX1BST0NfSUQJKC0xKQogCi1zdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZAkJKCpmdW5jKSh2b2lkICopOwotCXZvaWQJCSppbmZvOwotCWF0b21pY190CXN0YXJ0ZWQ7Ci0JYXRvbWljX3QJZmluaXNoZWQ7Ci0JaW50CQl3YWl0OwotfTsKLQotZXh0ZXJuIHN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Ci0KICNkZWZpbmUgU01QX1JFU0NIRURVTEVfWU9VUlNFTEYJMHgxCS8qIFhYWCBicmFpbmRlYWQgKi8KICNkZWZpbmUgU01QX0NBTExfRlVOQ1RJT04JMHgyCiAKQEAgLTY3LDQgKzU3LDcgQEAKIAogZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CiAKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOworCiAjZW5kaWYgLyogX19BU01fU01QX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXBhcmlzYy9zbXAuaCBiL2luY2x1ZGUvYXNtLXBhcmlzYy9zbXAuaAppbmRleCAzMDZmNDk1Li4zOThjZGJhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1wYXJpc2Mvc21wLmgKKysrIGIvaW5jbHVkZS9hc20tcGFyaXNjL3NtcC5oCkBAIC0zMCw2ICszMCw5IEBACiBleHRlcm4gdm9pZCBzbXBfc2VuZF9yZXNjaGVkdWxlKGludCBjcHUpOwogZXh0ZXJuIHZvaWQgc21wX3NlbmRfYWxsX25vcCh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbmRpZiAvKiAhQVNTRU1CTFkgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXBvd2VycGMvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlOTIxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9QT1dFUlBDX0ZUUkFDRQorI2RlZmluZSBfQVNNX1BPV0VSUENfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKF9tY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBfbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogX0FTTV9QT1dFUlBDX0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tcG93ZXJwYy9od19pcnEuaCBiL2luY2x1ZGUvYXNtLXBvd2VycGMvaHdfaXJxLmgKaW5kZXggYWQ4YzlmNy4uZjc1YTVmYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tcG93ZXJwYy9od19pcnEuaAorKysgYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2h3X2lycS5oCkBAIC01OSw2ICs1OSwxMSBAQAogCQlnZXRfcGFjYSgpLT5oYXJkX2VuYWJsZWQgPSAwOwlcCiAJfSB3aGlsZSgwKQogCitzdGF0aWMgaW5saW5lIGludCBpcnFzX2Rpc2FibGVkX2ZsYWdzKHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJcmV0dXJuIGZsYWdzID09IDA7Cit9CisKICNlbHNlCiAKICNpZiBkZWZpbmVkKENPTkZJR19CT09LRSkKQEAgLTExMyw2ICsxMTgsMTEgQEAKICNkZWZpbmUgaGFyZF9pcnFfZW5hYmxlKCkJbG9jYWxfaXJxX2VuYWJsZSgpCiAjZGVmaW5lIGhhcmRfaXJxX2Rpc2FibGUoKQlsb2NhbF9pcnFfZGlzYWJsZSgpCiAKK3N0YXRpYyBpbmxpbmUgaW50IGlycXNfZGlzYWJsZWRfZmxhZ3ModW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlyZXR1cm4gKGZsYWdzICYgTVNSX0VFKSA9PSAwOworfQorCiAjZW5kaWYgLyogQ09ORklHX1BQQzY0ICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1wb3dlcnBjL3NtcC5oIGIvaW5jbHVkZS9hc20tcG93ZXJwYy9zbXAuaAppbmRleCA1MDVmMzViLi5jNjYzYTFmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1wb3dlcnBjL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLXBvd2VycGMvc21wLmgKQEAgLTY3LDEwICs2Nyw3IEBACiAgKiBpbiAvcHJvYy9pbnRlcnJ1cHRzIHdpbGwgYmUgd3JvbmchISEgLS1Ucm95ICovCiAjZGVmaW5lIFBQQ19NU0dfQ0FMTF9GVU5DVElPTiAgIDAKICNkZWZpbmUgUFBDX01TR19SRVNDSEVEVUxFICAgICAgMQotLyogVGhpcyBpcyB1bnVzZWQgbm93ICovCi0jaWYgMAotI2RlZmluZSBQUENfTVNHX01JR1JBVEVfVEFTSyAgICAyCi0jZW5kaWYKKyNkZWZpbmUgUFBDX01TR19DQUxMX0ZVTkNfU0lOR0xFCTIKICNkZWZpbmUgUFBDX01TR19ERUJVR0dFUl9CUkVBSyAgMwogCiB2b2lkIHNtcF9pbml0X2lTZXJpZXModm9pZCk7CkBAIC0xMTcsNiArMTE0LDkgQEAKIAogZXh0ZXJuIHN0cnVjdCBzbXBfb3BzX3QgKnNtcF9vcHM7CiAKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOworCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL0tidWlsZCBiL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCmluZGV4IDEzYzk4MDUuLjA5ZjMxMjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCkBAIC04LDYgKzgsOSBAQAogaGVhZGVyLXkgKz0gdnRvYy5oCiBoZWFkZXIteSArPSB6Y3J5cHQuaAogaGVhZGVyLXkgKz0ga3ZtLmgKK2hlYWRlci15ICs9IHNjaGlkLmgKK2hlYWRlci15ICs9IGNoc2MuaAogCiB1bmlmZGVmLXkgKz0gY21iLmgKIHVuaWZkZWYteSArPSBkZWJ1Zy5oCit1bmlmZGVmLXkgKz0gY2hwaWQuaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9haXJxLmggYi9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaAppbmRleCA0MWQwMjhjLi4xYWM4MGQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaApAQCAtMTMsNyArMTMsNyBAQAogCiB0eXBlZGVmIHZvaWQgKCphZGFwdGVyX2ludF9oYW5kbGVyX3QpKHZvaWQgKiwgdm9pZCAqKTsKIAotdm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QsIHZvaWQgKik7Ci12b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICopOwordm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QsIHZvaWQgKiwgdTgpOwordm9pZCBzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQodm9pZCAqLCB1OCk7CiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfQUlSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oIGIvaW5jbHVkZS9hc20tczM5MC9jY3dkZXYuaAppbmRleCAwNjZhYTcwLi5iYTAwN2Q4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2N3ZGV2LmgKQEAgLTEyLDYgKzEyLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KIAogLyogc3RydWN0cyBmcm9tIGFzbS9jaW8uaCAqLwogc3RydWN0IGlyYjsKQEAgLTE1Nyw2ICsxNTgsMTcgQEAKIGV4dGVybiBpbnQgY2N3X2RldmljZV9yZXN1bWUoc3RydWN0IGNjd19kZXZpY2UgKik7CiBleHRlcm4gaW50IGNjd19kZXZpY2VfaGFsdChzdHJ1Y3QgY2N3X2RldmljZSAqLCB1bnNpZ25lZCBsb25nKTsKIGV4dGVybiBpbnQgY2N3X2RldmljZV9jbGVhcihzdHJ1Y3QgY2N3X2RldmljZSAqLCB1bnNpZ25lZCBsb25nKTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IHRjdyAqdGN3LAorCQkJICAgIHVuc2lnbmVkIGxvbmcgaW50cGFybSwgdTggbHBtLCB1OCBrZXkpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCwgdTgpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IHRjdyAqLAorCQkJICAgIHVuc2lnbmVkIGxvbmcsIHU4LCB1OCwgaW50KTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCk7CitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCwgaW50KTsKK2ludCBjY3dfZGV2aWNlX3RtX2ludHJnKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KTsKIAogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3NldF9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpOwogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3NldF9vZmZsaW5lKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaAppbmRleCBiMjAzMzM2Li42MDY4NDRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2NocGlkLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9jaHBpZC5oCkBAIC0xMCw3ICsxMCw2IEBACiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KLSNpbmNsdWRlIDxhc20vY2lvLmg+CiAKICNkZWZpbmUgX19NQVhfQ0hQSUQgMjU1CiAKQEAgLTQxLDYgKzQwLDkgQEAKIAl9CiB9CiAKKyNpZmRlZiBfX0tFUk5FTF9fCisjaW5jbHVkZSA8YXNtL2Npby5oPgorCiBzdGF0aWMgaW5saW5lIGludCBjaHBfaWRfaXNfdmFsaWQoc3RydWN0IGNocF9pZCAqY2hwaWQpCiB7CiAJcmV0dXJuIChjaHBpZC0+Y3NzaWQgPD0gX19NQVhfQ1NTSUQpOwpAQCAtNDksNSArNTEsNiBAQAogCiAjZGVmaW5lIGNocF9pZF9mb3JfZWFjaChjKSBcCiAJZm9yIChjaHBfaWRfaW5pdChjKTsgY2hwX2lkX2lzX3ZhbGlkKGMpOyBjaHBfaWRfbmV4dChjKSkKKyNlbmRpZiAvKiBfX0tFUk5FTCAqLwogCiAjZW5kaWYgLyogX0FTTV9TMzkwX0NIUElEX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2hzYy5oIGIvaW5jbHVkZS9hc20tczM5MC9jaHNjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM4ZDBjZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2hzYy5oCkBAIC0wLDAgKzEsMTI3IEBACisvKgorICogaW9jdGwgaW50ZXJmYWNlIGZvciAvZGV2L2Noc2MKKyAqCisgKiBDb3B5cmlnaHQgMjAwOCBJQk0gQ29ycC4KKyAqIEF1dGhvcihzKTogQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorICovCisKKyNpZm5kZWYgX0FTTV9DSFNDX0gKKyNkZWZpbmUgX0FTTV9DSFNDX0gKKworI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgorCitzdHJ1Y3QgY2hzY19hc3luY19oZWFkZXIgeworCV9fdTE2IGxlbmd0aDsKKwlfX3UxNiBjb2RlOworCV9fdTMyIGNtZF9kZXBlbmRlbmQ7CisJX191MzIga2V5IDogNDsKKwlfX3UzMiA6IDI4OworCXN0cnVjdCBzdWJjaGFubmVsX2lkIHNpZDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCitzdHJ1Y3QgY2hzY19hc3luY19hcmVhIHsKKwlzdHJ1Y3QgY2hzY19hc3luY19oZWFkZXIgaGVhZGVyOworCV9fdTggZGF0YVtQQUdFX1NJWkUgLSAxNiAvKiBzaXplIG9mIGNoc2NfYXN5bmNfaGVhZGVyICovXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisKK3N0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCB7CisJX191MTYgbGVuZ3RoOworCV9fdTE2IGNvZGU7CisJX191MzIgcGFybXM7CisJX191OCBkYXRhW1BBR0VfU0laRSAtIDhdOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK3N0cnVjdCBjaHNjX2NocF9jZCB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgbTsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBjcGNiOworfTsKKworc3RydWN0IGNoc2NfY3VfY2QgeworCV9fdTE2IGN1bjsKKwlfX3U4IGNzc2lkOworCWludCBtOworCWludCBmbXQ7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IGN1Y2I7Cit9OworCitzdHJ1Y3QgY2hzY19zY2hfY3VkIHsKKwlzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZDsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzY3ViOworfTsKKworc3RydWN0IGNvbmZfaWQgeworCWludCBtOworCV9fdTggY3NzaWQ7CisJX191OCBzc2lkOworfTsKKworc3RydWN0IGNoc2NfY29uZl9pbmZvIHsKKwlzdHJ1Y3QgY29uZl9pZCBpZDsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzY2lkOworfTsKKworc3RydWN0IGNjbF9wYXJtX2NocGlkIHsKKwlpbnQgbTsKKwlzdHJ1Y3QgY2hwX2lkIGNocDsKK307CisKK3N0cnVjdCBjY2xfcGFybV9jc3NpZHMgeworCV9fdTggZl9jc3NpZDsKKwlfX3U4IGxfY3NzaWQ7Cit9OworCitzdHJ1Y3QgY2hzY19jb21wX2xpc3QgeworCXN0cnVjdCB7CisJCWVudW0geworCQkJQ0NMX0NVX09OX0NIUCA9IDEsCisJCQlDQ0xfQ0hQX1RZUEVfQ0FQID0gMiwKKwkJCUNDTF9DU1NfSU1HID0gNCwKKwkJCUNDTF9DU1NfSU1HX0NPTkZfQ0hBUiA9IDUsCisJCQlDQ0xfSU9QX0NIUCA9IDYsCisJCX0gY3R5cGU7CisJCWludCBmbXQ7CisJCXN0cnVjdCBjY2xfcGFybV9jaHBpZCBjaHBpZDsKKwkJc3RydWN0IGNjbF9wYXJtX2Nzc2lkcyBjc3NpZHM7CisJfSByZXE7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IHNjY2w7Cit9OworCitzdHJ1Y3QgY2hzY19kY2FsIHsKKwlzdHJ1Y3QgeworCQllbnVtIHsKKwkJCURDQUxfQ1NTX0lJRF9QTiA9IDQsCisJCX0gYXR5cGU7CisJCV9fdTMyIGxpc3RfcGFybVsyXTsKKwkJaW50IGZtdDsKKwl9IHJlcTsKKwlzdHJ1Y3QgY2hzY19yZXNwb25zZV9zdHJ1Y3Qgc2RjYWw7Cit9OworCitzdHJ1Y3QgY2hzY19jcGRfaW5mbyB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgbTsKKwlpbnQgZm10OworCWludCByZm10OworCWludCBjOworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBjaHBkYjsKK307CisKKyNkZWZpbmUgQ0hTQ19JT0NUTF9NQUdJQyAnYycKKworI2RlZmluZSBDSFNDX1NUQVJUIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODEsIHN0cnVjdCBjaHNjX2FzeW5jX2FyZWEpCisjZGVmaW5lIENIU0NfSU5GT19DSEFOTkVMX1BBVEggX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4MiwgXAorCQkJCSAgICBzdHJ1Y3QgY2hzY19jaHBfY2QpCisjZGVmaW5lIENIU0NfSU5GT19DVSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDgzLCBzdHJ1Y3QgY2hzY19jdV9jZCkKKyNkZWZpbmUgQ0hTQ19JTkZPX1NDSF9DVSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg0LCBzdHJ1Y3QgY2hzY19zY2hfY3VkKQorI2RlZmluZSBDSFNDX0lORk9fQ0kgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4NSwgc3RydWN0IGNoc2NfY29uZl9pbmZvKQorI2RlZmluZSBDSFNDX0lORk9fQ0NMIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODYsIHN0cnVjdCBjaHNjX2NvbXBfbGlzdCkKKyNkZWZpbmUgQ0hTQ19JTkZPX0NQRCBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg3LCBzdHJ1Y3QgY2hzY19jcGRfaW5mbykKKyNkZWZpbmUgQ0hTQ19JTkZPX0RDQUwgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4OCwgc3RydWN0IGNoc2NfZGNhbCkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2Npby5oIGIvaW5jbHVkZS9hc20tczM5MC9jaW8uaAppbmRleCAwODE4ZWNkLi42ZGNjYjA3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2Npby5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2lvLmgKQEAgLTE2LDcgKzE2LDcgQEAKICNkZWZpbmUgX19NQVhfQ1NTSUQgMAogCiAvKioKLSAqIHN0cnVjdCBzY3N3IC0gc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogc3RydWN0IGNtZF9zY3N3IC0gY29tbWFuZC1tb2RlIHN1YmNoYW5uZWwgc3RhdHVzIHdvcmQKICAqIEBrZXk6IHN1YmNoYW5uZWwga2V5CiAgKiBAc2N0bDogc3VzcGVuZCBjb250cm9sCiAgKiBAZXN3ZjogZXN3IGZvcm1hdApAQCAtMzgsNyArMzgsNyBAQAogICogQGNzdGF0OiBzdWJjaGFubmVsIHN0YXR1cwogICogQGNvdW50OiByZXNpZHVhbCBjb3VudAogICovCi1zdHJ1Y3Qgc2NzdyB7CitzdHJ1Y3QgY21kX3Njc3cgewogCV9fdTMyIGtleSAgOiA0OwogCV9fdTMyIHNjdGwgOiAxOwogCV9fdTMyIGVzd2YgOiAxOwpAQCAtNjEsNiArNjEsMTE0IEBACiAJX191MzIgY291bnQgOiAxNjsKIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCisvKioKKyAqIHN0cnVjdCB0bV9zY3N3IC0gdHJhbnNwb3J0LW1vZGUgc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogQGtleTogc3ViY2hhbm5lbCBrZXkKKyAqIEBlc3dmOiBlc3cgZm9ybWF0CisgKiBAY2M6IGRlZmVycmVkIGNvbmRpdGlvbiBjb2RlCisgKiBAZm10OiBmb3JtYXQKKyAqIEB4OiBJUkItZm9ybWF0IGNvbnRyb2wKKyAqIEBxOiBpbnRlcnJvZ2F0ZS1jb21wbGV0ZQorICogQGVjdGw6IGV4dGVuZGVkIGNvbnRyb2wKKyAqIEBwbm86IHBhdGggbm90IG9wZXJhdGlvbmFsCisgKiBAZmN0bDogZnVuY3Rpb24gY29udHJvbAorICogQGFjdGw6IGFjdGl2aXR5IGNvbnRyb2wKKyAqIEBzdGN0bDogc3RhdHVzIGNvbnRyb2wKKyAqIEB0Y3c6IFRDVyBhZGRyZXNzCisgKiBAZHN0YXQ6IGRldmljZSBzdGF0dXMKKyAqIEBjc3RhdDogc3ViY2hhbm5lbCBzdGF0dXMKKyAqIEBmY3hzOiBGQ1ggc3RhdHVzCisgKiBAc2NoeHM6IHN1YmNoYW5uZWwtZXh0ZW5kZWQgc3RhdHVzCisgKi8KK3N0cnVjdCB0bV9zY3N3IHsKKwl1MzIga2V5OjQ7CisJdTMyIDoxOworCXUzMiBlc3dmOjE7CisJdTMyIGNjOjI7CisJdTMyIGZtdDozOworCXUzMiB4OjE7CisJdTMyIHE6MTsKKwl1MzIgOjE7CisJdTMyIGVjdGw6MTsKKwl1MzIgcG5vOjE7CisJdTMyIDoxOworCXUzMiBmY3RsOjM7CisJdTMyIGFjdGw6NzsKKwl1MzIgc3RjdGw6NTsKKwl1MzIgdGN3OworCXUzMiBkc3RhdDo4OworCXUzMiBjc3RhdDo4OworCXUzMiBmY3hzOjg7CisJdTMyIHNjaHhzOjg7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqCisgKiB1bmlvbiBzY3N3IC0gc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogQGNtZDogY29tbWFuZC1tb2RlIFNDU1cKKyAqIEB0bTogdHJhbnNwb3J0LW1vZGUgU0NTVworICovCit1bmlvbiBzY3N3IHsKKwlzdHJ1Y3QgY21kX3Njc3cgY21kOworCXN0cnVjdCB0bV9zY3N3IHRtOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK2ludCBzY3N3X2lzX3RtKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2NjKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2NjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9zY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3BmY2godW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfaXNpYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9hbGNjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3NzaSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF96Y2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3NvbGljaXRlZCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2ZtdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3godW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9xKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN4cyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3NjaHhzKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworCiAjZGVmaW5lIFNDU1dfRkNUTF9DTEVBUl9GVU5DCSAweDEKICNkZWZpbmUgU0NTV19GQ1RMX0hBTFRfRlVOQwkgMHgyCiAjZGVmaW5lIFNDU1dfRkNUTF9TVEFSVF9GVU5DCSAweDQKQEAgLTMwMyw3ICs0MTEsNyBAQAogICogaWYgYXBwbGljYWJsZSkuCiAgKi8KIHN0cnVjdCBpcmIgewotCXN0cnVjdCBzY3N3IHNjc3c7CisJdW5pb24gc2NzdyBzY3N3OwogCXVuaW9uIHsKIAkJc3RydWN0IGVzdzAgZXN3MDsKIAkJc3RydWN0IGVzdzEgZXN3MTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmggYi9pbmNsdWRlL2FzbS1zMzkwL2VsZi5oCmluZGV4IGIzYWMyNjIuLjNjYWQ1NjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9lbGYuaApAQCAtMTEzLDYgKzExMyw5IEBACiB0eXBlZGVmIHMzOTBfZnBfcmVncyBlbGZfZnByZWdzZXRfdDsKIHR5cGVkZWYgczM5MF9yZWdzIGVsZl9ncmVnc2V0X3Q7CiAKK3R5cGVkZWYgczM5MF9mcF9yZWdzIGNvbXBhdF9lbGZfZnByZWdzZXRfdDsKK3R5cGVkZWYgczM5MF9jb21wYXRfcmVncyBjb21wYXRfZWxmX2dyZWdzZXRfdDsKKwogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CS8qIGZvciB0YXNrX3N0cnVjdCAqLwogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4JCS8qIGZvciBzYXZlX2FjY2Vzc19yZWdzICovCiAjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CkBAIC0xMjMsNiArMTI2LDEwIEBACiAjZGVmaW5lIGVsZl9jaGVja19hcmNoKHgpIFwKIAkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKICAgICAgICAgICYmICh4KS0+ZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGX0NMQVNTKSAKKyNkZWZpbmUgY29tcGF0X2VsZl9jaGVja19hcmNoKHgpIFwKKwkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKKwkgJiYgKHgpLT5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZfQ0xBU1MpCisjZGVmaW5lIGNvbXBhdF9zdGFydF90aHJlYWQJc3RhcnRfdGhyZWFkMzEKIAogLyogRm9yIFNWUjQvUzM5MCB0aGUgZnVuY3Rpb24gcG9pbnRlciB0byBiZSByZWdpc3RlcmVkIHdpdGggYGF0ZXhpdGAgaXMKICAgIHBhc3NlZCBpbiBSMTQuICovCkBAIC0xMzEsNiArMTM4LDcgQEAKIAkJX3ItPmdwcnNbMTRdID0gMDsgXAogCX0gd2hpbGUgKDApCiAKKyNkZWZpbmUgQ09SRV9EVU1QX1VTRV9SRUdTRVQKICNkZWZpbmUgVVNFX0VMRl9DT1JFX0RVTVAKICNkZWZpbmUgRUxGX0VYRUNfUEFHRVNJWkUJNDA5NgogCkBAIC0xNDAsNDQgKzE0OCw2IEBACiAgICB0aGF0IGl0IHdpbGwgImV4ZWMiLCBhbmQgdGhhdCB0aGVyZSBpcyBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBicmsuICAqLwogI2RlZmluZSBFTEZfRVRfRFlOX0JBU0UJCShTVEFDS19UT1AgLyAzICogMikKIAotLyogV293LCB0aGUgIm1haW4iIGFyY2ggbmVlZHMgYXJjaCBkZXBlbmRlbnQgZnVuY3Rpb25zIHRvby4uIDopICovCi0KLS8qIHJlZ3MgaXMgc3RydWN0IHB0X3JlZ3MsIHByX3JlZyBpcyBlbGZfZ3JlZ3NldF90ICh3aGljaCBpcwotICAgbm93IHN0cnVjdF91c2VyX3JlZ3MsIHRoZXkgYXJlIGRpZmZlcmVudCkgKi8KLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF9yZWdzKHN0cnVjdCBwdF9yZWdzICpwdHJlZ3MsIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0JbWVtY3B5KCZyZWdzLT5wc3csICZwdHJlZ3MtPnBzdywgc2l6ZW9mKHJlZ3MtPnBzdykrc2l6ZW9mKHJlZ3MtPmdwcnMpKTsKLQlzYXZlX2FjY2Vzc19yZWdzKHJlZ3MtPmFjcnMpOwotCXJlZ3MtPm9yaWdfZ3ByMiA9IHB0cmVncy0+b3JpZ19ncHIyOwotCXJldHVybiAxOwotfQotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfUkVHUyhwcl9yZWcsIHJlZ3MpIGR1bXBfcmVncyhyZWdzLCAmcHJfcmVnKTsKLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX3JlZ3Moc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0Jc3RydWN0IHB0X3JlZ3MgKnB0cmVncyA9IHRhc2tfcHRfcmVncyh0c2spOwotCW1lbWNweSgmcmVncy0+cHN3LCAmcHRyZWdzLT5wc3csIHNpemVvZihyZWdzLT5wc3cpK3NpemVvZihyZWdzLT5ncHJzKSk7Ci0JbWVtY3B5KHJlZ3MtPmFjcnMsIHRzay0+dGhyZWFkLmFjcnMsIHNpemVvZihyZWdzLT5hY3JzKSk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLSNkZWZpbmUgRUxGX0NPUkVfQ09QWV9UQVNLX1JFR1ModHNrLCByZWdzKSBkdW1wX3Rhc2tfcmVncyh0c2ssIHJlZ3MpCi0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfdGFza19mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9mcHJlZ3NldF90ICpmcHJlZ3MpCi17Ci0JaWYgKHRzayA9PSBjdXJyZW50KQotCQlzYXZlX2ZwX3JlZ3MoZnByZWdzKTsKLQllbHNlCi0JCW1lbWNweShmcHJlZ3MsICZ0c2stPnRocmVhZC5mcF9yZWdzLCBzaXplb2YoZWxmX2ZwcmVnc2V0X3QpKTsKLQlyZXR1cm4gMTsKLX0KLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX0ZQUkVHUyh0c2ssIGZwcmVncykgZHVtcF90YXNrX2ZwdSh0c2ssIGZwcmVncykKLQotCiAvKiBUaGlzIHlpZWxkcyBhIG1hc2sgdGhhdCB1c2VyIHByb2dyYW1zIGNhbiB1c2UgdG8gZmlndXJlIG91dCB3aGF0CiAgICBpbnN0cnVjdGlvbiBzZXQgdGhpcyBDUFUgc3VwcG9ydHMuICovCiAKQEAgLTIwNCw3ICsxNzQsMTAgQEAKIAkJc2V0X3BlcnNvbmFsaXR5KFBFUl9TVlI0KTsJCVwKIAllbHNlIGlmIChjdXJyZW50LT5wZXJzb25hbGl0eSAhPSBQRVJfTElOVVgzMikJXAogCQlzZXRfcGVyc29uYWxpdHkoUEVSX0xJTlVYKTsJCVwKLQljbGVhcl90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJCVwKKwlpZiAoKGV4KS5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZDTEFTUzMyKQlcCisJCXNldF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJXAorCWVsc2UJCQkJCQlcCisJCWNsZWFyX3RocmVhZF9mbGFnKFRJRl8zMUJJVCk7CQlcCiB9IHdoaWxlICgwKQogI2VuZGlmIC8qIF9fczM5MHhfXyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oIGIvaW5jbHVkZS9hc20tczM5MC9ldHIuaAppbmRleCBiNDk4ZjE5Li44MGVmNThjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvZXRyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQAogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoOCkpKTsKIAogLyogRVRSIGludGVycnVwdGlvbiBwYXJhbWV0ZXIgKi8KLXN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciB7CitzdHJ1Y3QgZXRyX2lycV9wYXJtIHsKIAl1bnNpZ25lZCBpbnQgX3BhZDAJOiA4OwogCXVuc2lnbmVkIGludCBwYzAJOiAxOwkvKiBwb3J0IDAgc3RhdGUgY2hhbmdlICovCiAJdW5zaWduZWQgaW50IHBjMQk6IDE7CS8qIHBvcnQgMSBzdGF0ZSBjaGFuZ2UgKi8KQEAgLTIxMyw3ICsyMTMsNDYgQEAKICNkZWZpbmUgRVRSX1BURkZfU0dTCTB4NDMJLyogc2V0IGdyb3NzIHN0ZWVyaW5nIHJhdGUgKi8KIAogLyogRnVuY3Rpb25zIG5lZWRlZCBieSB0aGUgbWFjaGluZSBjaGVjayBoYW5kbGVyICovCi1leHRlcm4gdm9pZCBldHJfc3dpdGNoX3RvX2xvY2FsKHZvaWQpOwotZXh0ZXJuIHZvaWQgZXRyX3N5bmNfY2hlY2sodm9pZCk7Cit2b2lkIGV0cl9zd2l0Y2hfdG9fbG9jYWwodm9pZCk7Cit2b2lkIGV0cl9zeW5jX2NoZWNrKHZvaWQpOworCisvKiBTVFAgaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLworc3RydWN0IHN0cF9pcnFfcGFybSB7CisJdW5zaWduZWQgaW50IF9wYWQwCTogMTQ7CisJdW5zaWduZWQgaW50IHRzYwk6IDE7CS8qIFRpbWluZyBzdGF0dXMgY2hhbmdlICovCisJdW5zaWduZWQgaW50IGxhYwk6IDE7CS8qIExpbmsgYXZhaWxhYmlsaXR5IGNoYW5nZSAqLworCXVuc2lnbmVkIGludCB0Y3BjCTogMTsJLyogVGltZSBjb250cm9sIHBhcmFtZXRlciBjaGFuZ2UgKi8KKwl1bnNpZ25lZCBpbnQgX3BhZDIJOiAxNTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFNUUF9PUF9TWU5DCTEKKyNkZWZpbmUgU1RQX09QX0NUUkwJMworCitzdHJ1Y3Qgc3RwX3NzdHBpIHsKKwl1bnNpZ25lZCBpbnQgcnN2ZDA7CisJdW5zaWduZWQgaW50IHJzdmQxIDogODsKKwl1bnNpZ25lZCBpbnQgc3RyYXR1bSA6IDg7CisJdW5zaWduZWQgaW50IHZiaXRzIDogMTY7CisJdW5zaWduZWQgaW50IGxlYXBzIDogMTY7CisJdW5zaWduZWQgaW50IHRtZCA6IDQ7CisJdW5zaWduZWQgaW50IGN0biA6IDQ7CisJdW5zaWduZWQgaW50IHJzdmQyIDogMzsKKwl1bnNpZ25lZCBpbnQgYyA6IDE7CisJdW5zaWduZWQgaW50IHRzdCA6IDQ7CisJdW5zaWduZWQgaW50IHR6byA6IDE2OworCXVuc2lnbmVkIGludCBkc3RvIDogMTY7CisJdW5zaWduZWQgaW50IGN0cmwgOiAxNjsKKwl1bnNpZ25lZCBpbnQgcnN2ZDMgOiAxNjsKKwl1bnNpZ25lZCBpbnQgdHRvOworCXVuc2lnbmVkIGludCByc3ZkNDsKKwl1bnNpZ25lZCBpbnQgY3RuaWRbM107CisJdW5zaWduZWQgaW50IHJzdmQ1OworCXVuc2lnbmVkIGludCB0b2RvZmZbNF07CisJdW5zaWduZWQgaW50IHJzdmQ2WzQ4XTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKiBGdW5jdGlvbnMgbmVlZGVkIGJ5IHRoZSBtYWNoaW5lIGNoZWNrIGhhbmRsZXIgKi8KK3ZvaWQgc3RwX3N5bmNfY2hlY2sodm9pZCk7Cit2b2lkIHN0cF9pc2xhbmRfY2hlY2sodm9pZCk7CiAKICNlbmRpZiAvKiBfX1MzOTBfRVRSX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZmN4LmggYi9pbmNsdWRlL2FzbS1zMzkwL2ZjeC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZTFmM2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2ZjeC5oCkBAIC0wLDAgKzEsMzExIEBACisvKgorICogIEZ1bmN0aW9ucyBmb3IgYXNzZW1ibGluZyBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaWZuZGVmIF9BU01fUzM5MF9GQ1hfSAorI2RlZmluZSBfQVNNX1MzOTBfRkNYX0ggX0FTTV9TMzkwX0ZDWF9ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisjZGVmaW5lIFRDV19GT1JNQVRfREVGQVVMVAkJMAorI2RlZmluZSBUQ1dfVElEQVdfRk9STUFUX0RFRkFVTFQJMAorI2RlZmluZSBUQ1dfRkxBR1NfSU5QVVRfVElEQQkJMSA8PCAoMjMgLSA1KQorI2RlZmluZSBUQ1dfRkxBR1NfVENDQl9USURBCQkxIDw8ICgyMyAtIDYpCisjZGVmaW5lIFRDV19GTEFHU19PVVRQVVRfVElEQQkJMSA8PCAoMjMgLSA3KQorI2RlZmluZSBUQ1dfRkxBR1NfVElEQVdfRk9STUFUKHgpCSgoeCkgJiAzKSA8PCAoMjMgLSA5KQorI2RlZmluZSBUQ1dfRkxBR1NfR0VUX1RJREFXX0ZPUk1BVCh4KQkoKCh4KSA+PiAoMjMgLSA5KSkgJiAzKQorCisvKioKKyAqIHN0cnVjdCB0Y3cgLSBUcmFuc3BvcnQgQ29udHJvbCBXb3JkIChUQ1cpCisgKiBAZm9ybWF0OiBUQ1cgZm9ybWF0CisgKiBAZmxhZ3M6IFRDVyBmbGFncworICogQHRjY2JsOiBUcmFuc3BvcnQtQ29tbWFuZC1Db250cm9sLUJsb2NrIExlbmd0aAorICogQHI6IFJlYWQgT3BlcmF0aW9ucworICogQHc6IFdyaXRlIE9wZXJhdGlvbnMKKyAqIEBvdXRwdXQ6IE91dHB1dC1EYXRhIEFkZHJlc3MKKyAqIEBpbnB1dDogSW5wdXQtRGF0YSBBZGRyZXNzCisgKiBAdHNiOiBUcmFuc3BvcnQtU3RhdHVzLUJsb2NrIEFkZHJlc3MKKyAqIEB0Y2NiOiBUcmFuc3BvcnQtQ29tbWFuZC1Db250cm9sLUJsb2NrIEFkZHJlc3MKKyAqIEBvdXRwdXRfY291bnQ6IE91dHB1dCBDb3VudAorICogQGlucHV0X2NvdW50OiBJbnB1dCBDb3VudAorICogQGludHJnOiBJbnRlcnJvZ2F0ZSBUQ1cgQWRkcmVzcworICovCitzdHJ1Y3QgdGN3IHsKKwl1MzIgZm9ybWF0OjI7CisJdTMyIDo2OworCXUzMiBmbGFnczoyNDsKKwl1MzIgOjg7CisJdTMyIHRjY2JsOjY7CisJdTMyIHI6MTsKKwl1MzIgdzoxOworCXUzMiA6MTY7CisJdTY0IG91dHB1dDsKKwl1NjQgaW5wdXQ7CisJdTY0IHRzYjsKKwl1NjQgdGNjYjsKKwl1MzIgb3V0cHV0X2NvdW50OworCXUzMiBpbnB1dF9jb3VudDsKKwl1MzIgOjMyOworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgaW50cmc7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNjQpKSk7CisKKyNkZWZpbmUgVElEQVdfRkxBR1NfTEFTVAkJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRJREFXX0ZMQUdTX1NLSVAJCTEgPDwgKDcgLSAxKQorI2RlZmluZSBUSURBV19GTEFHU19EQVRBX0lOVAkJMSA8PCAoNyAtIDIpCisjZGVmaW5lIFRJREFXX0ZMQUdTX1RUSUMJCTEgPDwgKDcgLSAzKQorI2RlZmluZSBUSURBV19GTEFHU19JTlNFUlRfQ0JDCQkxIDw8ICg3IC0gNCkKKworLyoqCisgKiBzdHJ1Y3QgdGlkYXcgLSBUcmFuc3BvcnQtSW5kaXJlY3QtQWRkcmVzc2luZyBXb3JkIChUSURBVykKKyAqIEBmbGFnczogVElEQVcgZmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mIHRoZSBmb2xsb3dpbmcgY29uc3RhbnRzOgorICogJVRJREFXX0ZMQUdTX0xBU1QsICVUSURBV19GTEFHU19TS0lQLCAlVElEQVdfRkxBR1NfREFUQV9JTlQsCisgKiAlVElEQVdfRkxBR1NfVFRJQywgJVRJREFXX0ZMQUdTX0lOU0VSVF9DQkMKKyAqIEBjb3VudDogQ291bnQKKyAqIEBhZGRyOiBBZGRyZXNzCisgKi8KK3N0cnVjdCB0aWRhdyB7CisJdTMyIGZsYWdzOjg7CisJdTMyIDoyNDsKKwl1MzIgY291bnQ7CisJdTY0IGFkZHI7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoMTYpKSk7CisKKy8qKgorICogc3RydWN0IHRzYV9pb3N0YXQgLSBJL08tU3RhdHVzIFRyYW5zcG9ydC1TdGF0dXMgQXJlYSAoSU8tU3RhdCBUU0EpCisgKiBAZGV2X3RpbWU6IERldmljZSBUaW1lCisgKiBAZGVmX3RpbWU6IERlZmVyIFRpbWUKKyAqIEBxdWV1ZV90aW1lOiBRdWV1ZSBUaW1lCisgKiBAZGV2X2J1c3lfdGltZTogRGV2aWNlLUJ1c3kgVGltZQorICogQGRldl9hY3RfdGltZTogRGV2aWNlLUFjdGl2ZS1Pbmx5IFRpbWUKKyAqIEBzZW5zZTogU2Vuc2UgRGF0YSAoaWYgcHJlc2VudCkKKyAqLworc3RydWN0IHRzYV9pb3N0YXQgeworCXUzMiBkZXZfdGltZTsKKwl1MzIgZGVmX3RpbWU7CisJdTMyIHF1ZXVlX3RpbWU7CisJdTMyIGRldl9idXN5X3RpbWU7CisJdTMyIGRldl9hY3RfdGltZTsKKwl1OCBzZW5zZVszMl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2RkcGNzIC0gRGV2aWNlLURldGVjdGVkLVByb2dyYW0tQ2hlY2sgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChERFBDIFRTQSkKKyAqIEByYzogUmVhc29uIENvZGUKKyAqIEByY3E6IFJlYXNvbiBDb2RlIFF1YWxpZmllcgorICogQHNlbnNlOiBTZW5zZSBEYXRhIChpZiBwcmVzZW50KQorICovCitzdHJ1Y3QgdHNhX2RkcGMgeworCXUzMiA6MjQ7CisJdTMyIHJjOjg7CisJdTggcmNxWzE2XTsKKwl1OCBzZW5zZVszMl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfQ1VfU1RBVEVfVkFMSUQJCTEgPDwgKDcgLSAwKQorI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfREVWX1NUQVRFX1ZBTElECQkxIDw8ICg3IC0gMSkKKyNkZWZpbmUgVFNBX0lOVFJHX0ZMQUdTX09QX1NUQVRFX1ZBTElECQkxIDw8ICg3IC0gMikKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2ludHJnIC0gSW50ZXJyb2dhdGUgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChJbnRyZy4gVFNBKQorICogQGZvcm1hdDogRm9ybWF0CisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKKyAqICVUU0FfSU5UUkdfRkxBR1NfQ1VfU1RBVEVfVkFMSUQsICVUU0FfSU5UUkdfRkxBR1NfREVWX1NUQVRFX1ZBTElELAorICogJVRTQV9JTlRSR19GTEFHU19PUF9TVEFURV9WQUxJRAorICogQGN1X3N0YXRlOiBDb250cm9sZS1Vbml0IFN0YXRlCisgKiBAZGV2X3N0YXRlOiBEZXZpY2UgU3RhdGUKKyAqIEBvcF9zdGF0ZTogT3BlcmF0aW9uIFN0YXRlCisgKiBAc2RfaW5mbzogU3RhdGUtRGVwZW5kZW50IEluZm9ybWF0aW9uCisgKiBAZGxfaWQ6IERldmljZS1MZXZlbCBJZGVudGlmaWVyCisgKiBAZGRfZGF0YTogRGV2aWNlLURlcGVuZGVudCBEYXRhCisgKi8KK3N0cnVjdCB0c2FfaW50cmcgeworCXUzMiBmb3JtYXQ6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgY3Vfc3RhdGU6ODsKKwl1MzIgZGV2X3N0YXRlOjg7CisJdTMyIG9wX3N0YXRlOjg7CisJdTMyIDoyNDsKKwl1OCBzZF9pbmZvWzEyXTsKKwl1MzIgZGxfaWQ7CisJdTggZGRfZGF0YVsyOF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBUU0JfRk9STUFUX05PTkUJCTAKKyNkZWZpbmUgVFNCX0ZPUk1BVF9JT1NUQVQJMQorI2RlZmluZSBUU0JfRk9STUFUX0REUEMJCTIKKyNkZWZpbmUgVFNCX0ZPUk1BVF9JTlRSRwkzCisKKyNkZWZpbmUgVFNCX0ZMQUdTX0RDV19PRkZTRVRfVkFMSUQJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRTQl9GTEFHU19DT1VOVF9WQUxJRAkJMSA8PCAoNyAtIDEpCisjZGVmaW5lIFRTQl9GTEFHU19DQUNIRV9NSVNTCQkxIDw8ICg3IC0gMikKKyNkZWZpbmUgVFNCX0ZMQUdTX1RJTUVfVkFMSUQJCTEgPDwgKDcgLSAzKQorI2RlZmluZSBUU0JfRkxBR1NfRk9STUFUKHgpCQkoKHgpICYgNykKKyNkZWZpbmUgVFNCX0ZPUk1BVCh0KQkJCSgodCktPmZsYWdzICYgNykKKworLyoqCisgKiBzdHJ1Y3QgdHNiIC0gVHJhbnNwb3J0LVN0YXR1cyBCbG9jayAoVFNCKQorICogQGxlbmd0aDogTGVuZ3RoCisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKKyAqICVUU0JfRkxBR1NfRENXX09GRlNFVF9WQUxJRCwgJVRTQl9GTEFHU19DT1VOVF9WQUxJRCwgJVRTQl9GTEFHU19DQUNIRV9NSVNTLAorICogJVRTQl9GTEFHU19USU1FX1ZBTElECisgKiBAZGN3X29mZnNldDogRENXIE9mZnNldAorICogQGNvdW50OiBDb3VudAorICogQHRzYTogVHJhbnNwb3J0LVN0YXR1cy1BcmVhCisgKi8KK3N0cnVjdCB0c2IgeworCXUzMiBsZW5ndGg6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgZGN3X29mZnNldDoxNjsKKwl1MzIgY291bnQ7CisJdTMyIDozMjsKKwl1bmlvbiB7CisJCXN0cnVjdCB0c2FfaW9zdGF0IGlvc3RhdDsKKwkJc3RydWN0IHRzYV9kZHBjIGRkcGM7CisJCXN0cnVjdCB0c2FfaW50cmcgaW50cmc7CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgdHNhOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDgpKSk7CisKKyNkZWZpbmUgRENXX0lOVFJHX0ZPUk1BVF9ERUZBVUxUCTAKKworI2RlZmluZSBEQ1dfSU5UUkdfUkNfVU5TUEVDSUZJRUQJMAorI2RlZmluZSBEQ1dfSU5UUkdfUkNfVElNRU9VVAkJMQorCisjZGVmaW5lIERDV19JTlRSR19SQ1FfVU5TUEVDSUZJRUQJMAorI2RlZmluZSBEQ1dfSU5UUkdfUkNRX1BSSU1BUlkJCTEKKyNkZWZpbmUgRENXX0lOVFJHX1JDUV9TRUNPTkRBUlkJCTIKKworI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfTVBNCQkxIDwgKDcgLSAwKQorI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfUFBSCQkxIDwgKDcgLSAxKQorI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfQ1JJVAkJMSA8ICg3IC0gMikKKworLyoqCisgKiBzdHJ1Y3QgZGN3X2ludHJnX2RhdGEgLSBJbnRlcnJvZ2F0ZSBEQ1cgZGF0YQorICogQGZvcm1hdDogRm9ybWF0LiBTaG91bGQgYmUgJURDV19JTlRSR19GT1JNQVRfREVGQVVMVAorICogQHJjOiBSZWFzb24gQ29kZS4gQ2FuIGJlIG9uZSBvZiAlRENXX0lOVFJHX1JDX1VOU1BFQ0lGSUVELAorICogJURDV19JTlRSR19SQ19USU1FT1VUCisgKiBAcmNxOiBSZWFzb24gQ29kZSBRdWFsaWZpZXI6IENhbiBiZSBvbmUgb2YgJURDV19JTlRSR19SQ1FfVU5TUEVDSUZJRUQsCisgKiAlRENXX0lOVFJHX1JDUV9QUklNQVJZLCAlRENXX0lOVFJHX1JDUV9TRUNPTkRBUlkKKyAqIEBscG06IExvZ2ljYWwtUGF0aCBNYXNrCisgKiBAcGFtOiBQYXRoLUF2YWlsYWJsZSBNYXNrCisgKiBAcGltOiBQYXRoLUluc3RhbGxlZCBNYXNrCisgKiBAdGltZW91dDogVGltZW91dAorICogQGZsYWdzOiBGbGFncy4gQ2FuIGJlIGFuIGFyaXRobWV0aWMgT1Igb2YgJURDV19JTlRSR19GTEFHU19NUE0sCisgKiAlRENXX0lOVFJHX0ZMQUdTX1BQUiwgJURDV19JTlRSR19GTEFHU19DUklUCisgKiBAdGltZTogVGltZQorICogQHByb2dfaWQ6IFByb2dyYW0gSWRlbnRpZmllcgorICogQHByb2dfZGF0YTogUHJvZ3JhbS1EZXBlbmRlbnQgRGF0YQorICovCitzdHJ1Y3QgZGN3X2ludHJnX2RhdGEgeworCXUzMiBmb3JtYXQ6ODsKKwl1MzIgcmM6ODsKKwl1MzIgcmNxOjg7CisJdTMyIGxwbTo4OworCXUzMiBwYW06ODsKKwl1MzIgcGltOjg7CisJdTMyIHRpbWVvdXQ6MTY7CisJdTMyIGZsYWdzOjg7CisJdTMyIDoyNDsKKwl1MzIgOjMyOworCXU2NCB0aW1lOworCXU2NCBwcm9nX2lkOworCXU4ICBwcm9nX2RhdGFbMF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBEQ1dfRkxBR1NfQ0MJCTEgPDwgKDcgLSAxKQorCisjZGVmaW5lIERDV19DTURfV1JJVEUJCTB4MDEKKyNkZWZpbmUgRENXX0NNRF9SRUFECQkweDAyCisjZGVmaW5lIERDV19DTURfQ09OVFJPTAkJMHgwMworI2RlZmluZSBEQ1dfQ01EX1NFTlNFCQkweDA0CisjZGVmaW5lIERDV19DTURfU0VOU0VfSUQJMHhlNAorI2RlZmluZSBEQ1dfQ01EX0lOVFJHCQkweDQwCisKKy8qKgorICogc3RydWN0IGRjdyAtIERldmljZS1Db21tYW5kIFdvcmQgKERDVykKKyAqIEBjbWQ6IENvbW1hbmQgQ29kZS4gQ2FuIGJlIG9uZSBvZiAlRENXX0NNRF9XUklURSwgJURDV19DTURfUkVBRCwKKyAqICVEQ1dfQ01EX0NPTlRST0wsICVEQ1dfQ01EX1NFTlNFLCAlRENXX0NNRF9TRU5TRV9JRCwgJURDV19DTURfSU5UUkcKKyAqIEBmbGFnczogRmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mICVEQ1dfRkxBR1NfQ0MKKyAqIEBjZF9jb3VudDogQ29udHJvbC1EYXRhIENvdW50CisgKiBAY291bnQ6IENvdW50CisgKiBAY2Q6IENvbnRyb2wgRGF0YQorICovCitzdHJ1Y3QgZGN3IHsKKwl1MzIgY21kOjg7CisJdTMyIGZsYWdzOjg7CisJdTMyIDo4OworCXUzMiBjZF9jb3VudDo4OworCXUzMiBjb3VudDsKKwl1OCBjZFswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFRDQ0JfRk9STUFUX0RFRkFVTFQJMHg3ZgorI2RlZmluZSBUQ0NCX01BWF9EQ1cJCTMwCisjZGVmaW5lIFRDQ0JfTUFYX1NJWkUJCShzaXplb2Yoc3RydWN0IHRjY2JfdGNhaCkgKyBcCisJCQkJIFRDQ0JfTUFYX0RDVyAqIHNpemVvZihzdHJ1Y3QgZGN3KSArIFwKKwkJCQkgc2l6ZW9mKHN0cnVjdCB0Y2NiX3RjYXQpKQorI2RlZmluZSBUQ0NCX1NBQ19ERUZBVUxUCTB4ZjkwMQorI2RlZmluZSBUQ0NCX1NBQ19JTlRSRwkJMHhmOTAyCisKKy8qKgorICogc3RydWN0IHRjY2JfdGNhaCAtIFRyYW5zcG9ydC1Db21tYW5kLUFyZWEgSGVhZGVyIChUQ0FIKQorICogQGZvcm1hdDogRm9ybWF0LiBTaG91bGQgYmUgJVRDQ0JfRk9STUFUX0RFRkFVTFQKKyAqIEB0Y2FsOiBUcmFuc3BvcnQtQ29tbWFuZC1BcmVhIExlbmd0aAorICogQHNhYzogU2VydmljZS1BY3Rpb24gQ29kZS4gQ2FuIGJlIG9uZSBvZiAlVENDQl9TQUNfREVGQVVMVCwgJVRDQ0JfU0FDX0lOVFJHCisgKiBAcHJpbzogUHJpb3JpdHkKKyAqLworc3RydWN0IHRjY2JfdGNhaCB7CisJdTMyIGZvcm1hdDo4OworCXUzMiA6MjQ7CisJdTMyIDoyNDsKKwl1MzIgdGNhbDo4OworCXUzMiBzYWM6MTY7CisJdTMyIDo4OworCXUzMiBwcmlvOjg7CisJdTMyIDozMjsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0Y2NiX3RjYXQgLSBUcmFuc3BvcnQtQ29tbWFuZC1BcmVhIFRyYWlsZXIgKFRDQVQpCisgKiBAY291bnQ6IFRyYW5zcG9ydCBDb3VudAorICovCitzdHJ1Y3QgdGNjYl90Y2F0IHsKKwl1MzIgOjMyOworCXUzMiBjb3VudDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0Y2NiIC0gKHBhcnRpYWwpIFRyYW5zcG9ydC1Db21tYW5kLUNvbnRyb2wgQmxvY2sgKFRDQ0IpCisgKiBAdGNhaDogVENBSAorICogQHRjYTogVHJhbnNwb3J0LUNvbW1hbmQgQXJlYQorICovCitzdHJ1Y3QgdGNjYiB7CisJc3RydWN0IHRjY2JfdGNhaCB0Y2FoOworCXU4IHRjYVswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg4KSkpOworCitzdHJ1Y3QgdGN3ICp0Y3dfZ2V0X2ludHJnKHN0cnVjdCB0Y3cgKnRjdyk7Cit2b2lkICp0Y3dfZ2V0X2RhdGEoc3RydWN0IHRjdyAqdGN3KTsKK3N0cnVjdCB0Y2NiICp0Y3dfZ2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3KTsKK3N0cnVjdCB0c2IgKnRjd19nZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdyk7CisKK3ZvaWQgdGN3X2luaXQoc3RydWN0IHRjdyAqdGN3LCBpbnQgciwgaW50IHcpOwordm9pZCB0Y3dfZmluYWxpemUoc3RydWN0IHRjdyAqdGN3LCBpbnQgbnVtX3RpZGF3cyk7CisKK3ZvaWQgdGN3X3NldF9pbnRyZyhzdHJ1Y3QgdGN3ICp0Y3csIHN0cnVjdCB0Y3cgKmludHJnX3Rjdyk7Cit2b2lkIHRjd19zZXRfZGF0YShzdHJ1Y3QgdGN3ICp0Y3csIHZvaWQgKmRhdGEsIGludCB1c2VfdGlkYWwpOwordm9pZCB0Y3dfc2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdGNjYiAqdGNjYik7Cit2b2lkIHRjd19zZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRzYiAqdHNiKTsKKwordm9pZCB0Y2NiX2luaXQoc3RydWN0IHRjY2IgKnRjY2IsIHNpemVfdCB0Y2NiX3NpemUsIHUzMiBzYWMpOwordm9pZCB0c2JfaW5pdChzdHJ1Y3QgdHNiICp0c2IpOworc3RydWN0IGRjdyAqdGNjYl9hZGRfZGN3KHN0cnVjdCB0Y2NiICp0Y2NiLCBzaXplX3QgdGNjYl9zaXplLCB1OCBjbWQsIHU4IGZsYWdzLAorCQkJIHZvaWQgKmNkLCB1OCBjZF9jb3VudCwgdTMyIGNvdW50KTsKK3N0cnVjdCB0aWRhdyAqdGN3X2FkZF90aWRhdyhzdHJ1Y3QgdGN3ICp0Y3csIGludCBudW1fdGlkYXdzLCB1OCBmbGFncywKKwkJCSAgICB2b2lkICphZGRyLCB1MzIgY291bnQpOworCisjZW5kaWYgLyogX0FTTV9TMzkwX0ZDWF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oIGIvaW5jbHVkZS9hc20tczM5MC9pcGwuaAppbmRleCBjMWIyZTUwLi5lYWNhNmRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXBsLmgKQEAgLTU2LDE1ICs1NiwxOSBAQAogCXU4ICBzY3BfZGF0YVtdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAorI2RlZmluZSBESUFHMzA4X1ZNUEFSTV9TSVpFCTY0CisKIHN0cnVjdCBpcGxfYmxvY2tfY2N3IHsKLQl1OCAgbG9hZF9wYXJhbVs4XTsKKwl1OCAgbG9hZF9wYXJtWzhdOwogCXU4ICByZXNlcnZlZDFbODRdOwogCXU4ICByZXNlcnZlZDJbMl07CiAJdTE2IGRldm5vOwogCXU4ICB2bV9mbGFnczsKIAl1OCAgcmVzZXJ2ZWQzWzNdOwogCXUzMiB2bV9wYXJtX2xlbjsKLQl1OCAgcmVzZXJ2ZWQ0WzgwXTsKKwl1OCAgbnNzX25hbWVbOF07CisJdTggIHZtX3Bhcm1bRElBRzMwOF9WTVBBUk1fU0laRV07CisJdTggIHJlc2VydmVkNFs4XTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAKIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrIHsKQEAgLTczLDcgKzc3LDcgQEAKIAkJc3RydWN0IGlwbF9ibG9ja19mY3AgZmNwOwogCQlzdHJ1Y3QgaXBsX2Jsb2NrX2NjdyBjY3c7CiAJfSBpcGxfaW5mbzsKLX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCxhbGlnbmVkKDQwOTYpKSk7CiAKIC8qCiAgKiBJUEwgdmFsaWRpdHkgZmxhZ3MKQEAgLTg2LDYgKzkwLDggQEAKIGV4dGVybiB2b2lkIGRvX2hhbHQodm9pZCk7CiBleHRlcm4gdm9pZCBkb19wb2ZmKHZvaWQpOwogZXh0ZXJuIHZvaWQgaXBsX3NhdmVfcGFyYW1ldGVycyh2b2lkKTsKK2V4dGVybiB2b2lkIGlwbF91cGRhdGVfcGFyYW1ldGVycyh2b2lkKTsKK2V4dGVybiB2b2lkIGdldF9pcGxfdm1wYXJtKGNoYXIgKik7CiAKIGVudW0gewogCUlQTF9ERVZOT19WQUxJRAkJPSAxLApAQCAtMTQ3LDYgKzE1MywxMSBAQAogCURJQUczMDhfRkxBR1NfTFBfVkFMSUQJPSAweDgwLAogfTsKIAorZW51bSBkaWFnMzA4X3ZtX2ZsYWdzIHsKKwlESUFHMzA4X1ZNX0ZMQUdTX05TU19WQUxJRAk9IDB4ODAsCisJRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRAk9IDB4NDAsCit9OworCiBlbnVtIGRpYWczMDhfcmMgewogCURJQUczMDhfUkNfT0sJPSAxLAogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXNjLmggYi9pbmNsdWRlL2FzbS1zMzkwL2lzYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0YmI4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2lzYy5oCkBAIC0wLDAgKzEsMjUgQEAKKyNpZm5kZWYgX0FTTV9TMzkwX0lTQ19ICisjZGVmaW5lIF9BU01fUzM5MF9JU0NfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworLyoKKyAqIEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3NlcyB1c2VkIGJ5IGRyaXZlcnMuCisgKiBQbGVhc2UgYWRkIGFsbCB1c2VkIGlzY3MgaGVyZSBzbyB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIGRpc3RyaWJ1dGUKKyAqIGlzYyB1c2FnZSBiZXR3ZWVuIGRyaXZlcnMuCisgKiBSZW1pbmRlcjogMCBpcyBoaWdoZXN0IHByaW9yaXR5LCA3IGxvd2VzdC4KKyAqLworI2RlZmluZSBNQVhfSVNDIDcKKworLyogUmVndWxhciBJL08gaW50ZXJydXB0cy4gKi8KKyNkZWZpbmUgSU9fU0NIX0lTQyAzCQkJLyogcmVndWxhciBJL08gc3ViY2hhbm5lbHMgKi8KKyNkZWZpbmUgQ09OU09MRV9JU0MgMQkJCS8qIGNvbnNvbGUgSS9PIHN1YmNoYW5uZWwgKi8KKyNkZWZpbmUgQ0hTQ19TQ0hfSVNDIDcJCQkvKiBDSFNDIHN1YmNoYW5uZWxzICovCisvKiBBZGFwdGVyIGludGVycnVwdHMuICovCisjZGVmaW5lIFFESU9fQUlSUV9JU0MgSU9fU0NIX0lTQwkvKiBJL08gc3ViY2hhbm5lbCBpbiBxZGlvIG1vZGUgKi8KKworLyogRnVuY3Rpb25zIGZvciByZWdpc3RyYXRpb24gb2YgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzc2VzICovCit2b2lkIGlzY19yZWdpc3Rlcih1bnNpZ25lZCBpbnQgaXNjKTsKK3ZvaWQgaXNjX3VucmVnaXN0ZXIodW5zaWduZWQgaW50IGlzYyk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfSVNDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXRjdy5oIGIvaW5jbHVkZS9hc20tczM5MC9pdGN3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliYzVjMwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXRjdy5oCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiAgRnVuY3Rpb25zIGZvciBpbmNyZW1lbnRhbCBjb25zdHJ1Y3Rpb24gb2YgZmN4IGVuYWJsZWQgSS9PIGNvbnRyb2wgYmxvY2tzLgorICoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBQZXRlciBPYmVycGFybGVpdGVyIDxwZXRlci5vYmVycGFybGVpdGVyQGRlLmlibS5jb20+CisgKi8KKworI2lmbmRlZiBfQVNNX1MzOTBfSVRDV19ICisjZGVmaW5lIF9BU01fUzM5MF9JVENXX0ggX0FTTV9TMzkwX0lUQ1dfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CisKKyNkZWZpbmUgSVRDV19PUF9SRUFECTAKKyNkZWZpbmUgSVRDV19PUF9XUklURQkxCisKK3N0cnVjdCBpdGN3OworCitzdHJ1Y3QgdGN3ICppdGN3X2dldF90Y3coc3RydWN0IGl0Y3cgKml0Y3cpOworc2l6ZV90IGl0Y3dfY2FsY19zaXplKGludCBpbnRyZywgaW50IG1heF90aWRhd3MsIGludCBpbnRyZ19tYXhfdGlkYXdzKTsKK3N0cnVjdCBpdGN3ICppdGN3X2luaXQodm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50IG9wLCBpbnQgaW50cmcsCisJCSAgICAgICBpbnQgbWF4X3RpZGF3cywgaW50IGludHJnX21heF90aWRhd3MpOworc3RydWN0IGRjdyAqaXRjd19hZGRfZGN3KHN0cnVjdCBpdGN3ICppdGN3LCB1OCBjbWQsIHU4IGZsYWdzLCB2b2lkICpjZCwKKwkJCSB1OCBjZF9jb3VudCwgdTMyIGNvdW50KTsKK3N0cnVjdCB0aWRhdyAqaXRjd19hZGRfdGlkYXcoc3RydWN0IGl0Y3cgKml0Y3csIHU4IGZsYWdzLCB2b2lkICphZGRyLAorCQkJICAgICB1MzIgY291bnQpOwordm9pZCBpdGN3X3NldF9kYXRhKHN0cnVjdCBpdGN3ICppdGN3LCB2b2lkICphZGRyLCBpbnQgdXNlX3RpZGFsKTsKK3ZvaWQgaXRjd19maW5hbGl6ZShzdHJ1Y3QgaXRjdyAqaXRjdyk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfSVRDV19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCmluZGV4IGJkMGVhMTkuLjBiZGI3MDQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCkBAIC0yOSw2ICsyOSw3IEBACiAgKiB0aGUgUzM5MCBwYWdlIHRhYmxlIHRyZWUuCiAgKi8KICNpZm5kZWYgX19BU1NFTUJMWV9fCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9tbV90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9iaXRvcHMuaD4KICNpbmNsdWRlIDxhc20vYnVnLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oIGIvaW5jbHVkZS9hc20tczM5MC9wcm9jZXNzb3IuaAppbmRleCBhMDBmNzlkLi40YWY4MGFmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcHJvY2Vzc29yLmgKQEAgLTE0MywxMSArMTQzLDE5IEBACiAvKgogICogRG8gbmVjZXNzYXJ5IHNldHVwIHRvIHN0YXJ0IHVwIGEgbmV3IHRocmVhZC4KICAqLwotI2RlZmluZSBzdGFydF90aHJlYWQocmVncywgbmV3X3BzdywgbmV3X3N0YWNrcCkgZG8geyAgICAgICAgICAgIFwKKyNkZWZpbmUgc3RhcnRfdGhyZWFkKHJlZ3MsIG5ld19wc3csIG5ld19zdGFja3ApIGRvIHsJCVwKIAlzZXRfZnMoVVNFUl9EUyk7CQkJCQlcCiAJcmVncy0+cHN3Lm1hc2sJPSBwc3dfdXNlcl9iaXRzOwkJCVwKLSAgICAgICAgcmVncy0+cHN3LmFkZHIgID0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOyAgICAgICAgICAgICBcCi0gICAgICAgIHJlZ3MtPmdwcnNbMTVdICA9IG5ld19zdGFja3AgOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCXJlZ3MtPnBzdy5hZGRyCT0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOwkJXAorCXJlZ3MtPmdwcnNbMTVdCT0gbmV3X3N0YWNrcDsJCQkJXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBzdGFydF90aHJlYWQzMShyZWdzLCBuZXdfcHN3LCBuZXdfc3RhY2twKSBkbyB7CQlcCisJc2V0X2ZzKFVTRVJfRFMpOwkJCQkJXAorCXJlZ3MtPnBzdy5tYXNrCT0gcHN3X3VzZXIzMl9iaXRzOwkJCVwKKwlyZWdzLT5wc3cuYWRkcgk9IG5ld19wc3cgfCBQU1dfQUREUl9BTU9ERTsJCVwKKwlyZWdzLT5ncHJzWzE1XQk9IG5ld19zdGFja3A7CQkJCVwKKwljcnN0X3RhYmxlX2Rvd25ncmFkZShjdXJyZW50LT5tbSwgMVVMIDw8IDMxKTsJCVwKIH0gd2hpbGUgKDApCiAKIC8qIEZvcndhcmQgZGVjbGFyYXRpb24sIGEgc3RyYW5nZSBDIHRoaW5nICovCkBAIC0zMjgsMTYgKzMzNiw2IEBACiBleHRlcm4gdm9pZCAoKnMzOTBfYmFzZV9wZ21faGFuZGxlcl9mbikodm9pZCk7CiBleHRlcm4gdm9pZCAoKnMzOTBfYmFzZV9leHRfaGFuZGxlcl9mbikodm9pZCk7CiAKLS8qCi0gKiBDUFUgaWRsZSBub3RpZmllciBjaGFpbi4KLSAqLwotI2RlZmluZSBTMzkwX0NQVV9JRExFCQkwCi0jZGVmaW5lIFMzOTBfQ1BVX05PVF9JRExFCTEKLQotc3RydWN0IG5vdGlmaWVyX2Jsb2NrOwotaW50IHJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYik7Ci1pbnQgdW5yZWdpc3Rlcl9pZGxlX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpOwotCiAjZGVmaW5lIEFSQ0hfTE9XX0FERFJFU1NfTElNSVQJMHg3ZmZmZmZmZlVMCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXMzOTAvcHRyYWNlLmgKaW5kZXggZDdkNGUyZS4uYWYyYzlhYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3B0cmFjZS5oCkBAIC0yMTUsNiArMjE1LDEyIEBACiAgICAgICAgIHVuc2lnbmVkIGxvbmcgYWRkcjsKIH0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoOCkpKSBwc3dfdDsKIAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlfX3UzMgltYXNrOworCV9fdTMyCWFkZHI7Cit9IF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDgpKSkgcHN3X2NvbXBhdF90OworCiAjaWZuZGVmIF9fczM5MHhfXwogCiAjZGVmaW5lIFBTV19NQVNLX1BFUgkJMHg0MDAwMDAwMFVMCkBAIC0yOTIsNiArMjk4LDE1IEBACiAJdW5zaWduZWQgbG9uZyBvcmlnX2dwcjI7CiB9IHMzOTBfcmVnczsKIAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlwc3dfY29tcGF0X3QJcHN3OworCV9fdTMyCQlncHJzW05VTV9HUFJTXTsKKwlfX3UzMgkJYWNyc1tOVU1fQUNSU107CisJX191MzIJCW9yaWdfZ3ByMjsKK30gczM5MF9jb21wYXRfcmVnczsKKworCiAjaWZkZWYgX19LRVJORUxfXwogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3NjaGlkLmggYi9pbmNsdWRlL2FzbS1zMzkwL3NjaGlkLmgKc2ltaWxhcml0eSBpbmRleCA2NSUKcmVuYW1lIGZyb20gZHJpdmVycy9zMzkwL2Npby9zY2hpZC5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS1zMzkwL3NjaGlkLmgKaW5kZXggNTQzMjhmZS4uNTAxN2ZmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9zY2hpZC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2NoaWQuaApAQCAtMSwxMiArMSwxNCBAQAotI2lmbmRlZiBTMzkwX1NDSElEX0gKLSNkZWZpbmUgUzM5MF9TQ0hJRF9ICisjaWZuZGVmIEFTTV9TQ0hJRF9ICisjZGVmaW5lIEFTTV9TQ0hJRF9ICiAKIHN0cnVjdCBzdWJjaGFubmVsX2lkIHsKLQlfX3UzMiByZXNlcnZlZDoxMzsKLQlfX3UzMiBzc2lkOjI7Ci0JX191MzIgb25lOjE7Ci0JX191MzIgc2NoX25vOjE2OwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoNCkpKTsKKwlfX3UzMiBjc3NpZCA6IDg7CisJX191MzIgOiA0OworCV9fdTMyIG0gOiAxOworCV9fdTMyIHNzaWQgOiAyOworCV9fdTMyIG9uZSA6IDE7CisJX191MzIgc2NoX25vIDogMTY7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIAogCiAvKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHNhbmUgc3RhdGUgb2YgcHJlLWFsbG9jYXRlZCBzdWJjaGFubmVsX2lkLiAqLwpAQCAtMjMsNCArMjUsNCBAQAogCXJldHVybiAhbWVtY21wKHNjaGlkMSwgc2NoaWQyLCBzaXplb2Yoc3RydWN0IHN1YmNoYW5uZWxfaWQpKTsKIH0KIAotI2VuZGlmIC8qIFMzOTBfU0NISURfSCAqLworI2VuZGlmIC8qIEFTTV9TQ0hJRF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NjbHAuaCBiL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCmluZGV4IGI1ZjI4NDMuLmZlZDdiZWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCkBAIC00NSw5ICs0NSw5IEBACiBpbnQgc2NscF9nZXRfY3B1X2luZm8oc3RydWN0IHNjbHBfY3B1X2luZm8gKmluZm8pOwogaW50IHNjbHBfY3B1X2NvbmZpZ3VyZSh1OCBjcHUpOwogaW50IHNjbHBfY3B1X2RlY29uZmlndXJlKHU4IGNwdSk7Ci12b2lkIHNjbHBfcmVhZF9pbmZvX2Vhcmx5KHZvaWQpOwogdm9pZCBzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KHZvaWQpOwotdW5zaWduZWQgbG9uZyBsb25nIHNjbHBfbWVtb3J5X2RldGVjdCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9ybm1heCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9yem0odm9pZCk7CiBpbnQgc2NscF9zZGlhc19ibGtfY291bnQodm9pZCk7CiBpbnQgc2NscF9zZGlhc19jb3B5KHZvaWQgKmRlc3QsIGludCBibGtfbnVtLCBpbnQgbnJfYmxrcyk7CiBpbnQgc2NscF9jaHBfY29uZmlndXJlKHN0cnVjdCBjaHBfaWQgY2hwaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oIGIvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oCmluZGV4IGJhNjk2NzQuLmYwOWVlM2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc2V0dXAuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3NldHVwLmgKQEAgLTgsMTQgKzgsMTYgQEAKICNpZm5kZWYgX0FTTV9TMzkwX1NFVFVQX0gKICNkZWZpbmUgX0FTTV9TMzkwX1NFVFVQX0gKIAotI2RlZmluZSBDT01NQU5EX0xJTkVfU0laRSAJODk2CisjZGVmaW5lIENPTU1BTkRfTElORV9TSVpFCTEwMjQKKworI2RlZmluZSBBUkNIX0NPTU1BTkRfTElORV9TSVpFCTg5NgogCiAjaWZkZWYgX19LRVJORUxfXwogCiAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CiAKICNkZWZpbmUgUEFSTUFSRUEJCTB4MTA0MDAKLSNkZWZpbmUgTUVNT1JZX0NIVU5LUwkJMTYJLyogbWF4IDB4N2ZmZiAqLworI2RlZmluZSBNRU1PUllfQ0hVTktTCQkyNTYKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtMzYsMTIgKzM4LDE0IEBACiBzdHJ1Y3QgbWVtX2NodW5rIHsKIAl1bnNpZ25lZCBsb25nIGFkZHI7CiAJdW5zaWduZWQgbG9uZyBzaXplOwotCXVuc2lnbmVkIGxvbmcgdHlwZTsKKwlpbnQgdHlwZTsKIH07CiAKIGV4dGVybiBzdHJ1Y3QgbWVtX2NodW5rIG1lbW9yeV9jaHVua1tdOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgcmVhbF9tZW1vcnlfc2l6ZTsKIAordm9pZCBkZXRlY3RfbWVtb3J5X2xheW91dChzdHJ1Y3QgbWVtX2NodW5rIGNodW5rW10pOworCiAjaWZkZWYgQ09ORklHX1MzOTBfU1dJVENIX0FNT0RFCiBleHRlcm4gdW5zaWduZWQgaW50IHN3aXRjaF9hbW9kZTsKICNlbHNlCkBAIC02MSw3ICs2NSw2IEBACiAKICNkZWZpbmUgTUFDSElORV9GTEFHX1ZNCQkoMVVMIDw8IDApCiAjZGVmaW5lIE1BQ0hJTkVfRkxBR19JRUVFCSgxVUwgPDwgMSkKLSNkZWZpbmUgTUFDSElORV9GTEFHX1AzOTAJKDFVTCA8PCAyKQogI2RlZmluZSBNQUNISU5FX0ZMQUdfQ1NQCSgxVUwgPDwgMykKICNkZWZpbmUgTUFDSElORV9GTEFHX01WUEcJKDFVTCA8PCA0KQogI2RlZmluZSBNQUNISU5FX0ZMQUdfRElBRzQ0CSgxVUwgPDwgNSkKQEAgLTk3LDcgKzEwMCw2IEBACiAjZGVmaW5lIE1BQ0hJTkVfSEFTX1BGTUYJKG1hY2hpbmVfZmxhZ3MgJiBNQUNISU5FX0ZMQUdfUEZNRikKICNlbmRpZiAvKiBfX3MzOTB4X18gKi8KIAotI2RlZmluZSBNQUNISU5FX0hBU19TQ0xQCSghTUFDSElORV9JU19QMzkwKQogI2RlZmluZSBaRkNQRFVNUF9IU0FfU0laRQkoMzJVTDw8MjApCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oIGIvaW5jbHVkZS9hc20tczM5MC9zcGFyc2VtZW0uaAppbmRleCAwNmRmZGFiLi41NDVkMjE5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc3BhcnNlbWVtLmgKQEAgLTEsMTUgKzEsMTUgQEAKICNpZm5kZWYgX0FTTV9TMzkwX1NQQVJTRU1FTV9ICiAjZGVmaW5lIF9BU01fUzM5MF9TUEFSU0VNRU1fSAogCi0jZGVmaW5lIFNFQ1RJT05fU0laRV9CSVRTCTI1Ci0KICNpZmRlZiBDT05GSUdfNjRCSVQKIAorI2RlZmluZSBTRUNUSU9OX1NJWkVfQklUUwkyOAogI2RlZmluZSBNQVhfUEhZU0FERFJfQklUUwk0MgogI2RlZmluZSBNQVhfUEhZU01FTV9CSVRTCTQyCiAKICNlbHNlCiAKKyNkZWZpbmUgU0VDVElPTl9TSVpFX0JJVFMJMjUKICNkZWZpbmUgTUFYX1BIWVNBRERSX0JJVFMJMzEKICNkZWZpbmUgTUFYX1BIWVNNRU1fQklUUwkzMQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmggYi9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmgKaW5kZXggYWRiMzQ4Ni4uZDk4ZDc5ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC90aW1lci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvdGltZXIuaApAQCAtNDgsNiArNDgsMTggQEAKIGV4dGVybiB2b2lkIGluaXRfY3B1X3Z0aW1lcih2b2lkKTsKIGV4dGVybiB2b2lkIHZ0aW1lX2luaXQodm9pZCk7CiAKKyNpZmRlZiBDT05GSUdfVklSVF9USU1FUgorCitleHRlcm4gdm9pZCB2dGltZV9zdGFydF9jcHVfdGltZXIodm9pZCk7CitleHRlcm4gdm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKTsKKworI2Vsc2UKKworc3RhdGljIGlubGluZSB2b2lkIHZ0aW1lX3N0YXJ0X2NwdV90aW1lcih2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKSB7IH0KKworI2VuZGlmIC8qIENPTkZJR19WSVJUX1RJTUVSICovCisKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfVElNRVJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvemNyeXB0LmgKaW5kZXggZjIyOGYxYi4uMDBkM2JiZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3pjcnlwdC5oCkBAIC0yOSw3ICsyOSw3IEBACiAKICNkZWZpbmUgWkNSWVBUX1ZFUlNJT04gMgogI2RlZmluZSBaQ1JZUFRfUkVMRUFTRSAxCi0jZGVmaW5lIFpDUllQVF9WQVJJQU5UIDAKKyNkZWZpbmUgWkNSWVBUX1ZBUklBTlQgMQogCiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tc2gvc21wLmggYi9pbmNsdWRlL2FzbS1zaC9zbXAuaAppbmRleCA5YzhkMzRiLi41OTMzNDNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zaC9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1zaC9zbXAuaApAQCAtMjYsMTggKzI2LDEwIEBACiAKICNkZWZpbmUgTk9fUFJPQ19JRAkoLTEpCiAKLXN0cnVjdCBzbXBfZm5fY2FsbF9zdHJ1Y3QgewotCXNwaW5sb2NrX3QgbG9jazsKLQlhdG9taWNfdCAgIGZpbmlzaGVkOwotCXZvaWQgKCpmbikodm9pZCAqKTsKLQl2b2lkICpkYXRhOwotfTsKLQotZXh0ZXJuIHN0cnVjdCBzbXBfZm5fY2FsbF9zdHJ1Y3Qgc21wX2ZuX2NhbGw7Ci0KICNkZWZpbmUgU01QX01TR19GVU5DVElPTgkwCiAjZGVmaW5lIFNNUF9NU0dfUkVTQ0hFRFVMRQkxCi0jZGVmaW5lIFNNUF9NU0dfTlIJCTIKKyNkZWZpbmUgU01QX01TR19GVU5DVElPTl9TSU5HTEUJMgorI2RlZmluZSBTTVBfTVNHX05SCQkzCiAKIHZvaWQgcGxhdF9zbXBfc2V0dXAodm9pZCk7CiB2b2lkIHBsYXRfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CkBAIC00Niw2ICszOCw4IEBACiB2b2lkIHBsYXRfc2VuZF9pcGkodW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgaW50IG1lc3NhZ2UpOwogaW50IHBsYXRfcmVnaXN0ZXJfaXBpX2hhbmRsZXIodW5zaWduZWQgaW50IG1lc3NhZ2UsCiAJCQkgICAgICB2b2lkICgqaGFuZGxlcikodm9pZCAqKSwgdm9pZCAqYXJnKTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOwogCiAjZWxzZQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zcGFyYy9zbXAuaCBiL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCmluZGV4IGU2ZDU2MTUuLmI2MWU3NGIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCkBAIC03Miw3ICs3Miw3IEBACiAJCQkgICB1bnNpZ25lZCBsb25nIGFyZzMsIHVuc2lnbmVkIGxvbmcgYXJnNCwgdW5zaWduZWQgbG9uZyBhcmc1KQogeyBzbXBfY3Jvc3NfY2FsbChmdW5jLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0LCBhcmc1KTsgfQogCi1zdGF0aWMgaW5saW5lIGludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsIGludCB3YWl0KQorc3RhdGljIGlubGluZSBpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKIAl4YzEoKHNtcGZ1bmNfdClmdW5jLCAodW5zaWduZWQgbG9uZylpbmZvKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXNwYXJjNjQvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS1zcGFyYzY0L2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzcxNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zcGFyYzY0L2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9TUEFSQzY0X0ZUUkFDRQorI2RlZmluZSBfQVNNX1NQQVJDNjRfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfTUNPVU5UCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKF9tY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBfbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogX0FTTV9TUEFSQzY0X0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FjcGkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hY3BpLmgKaW5kZXggMTQ0MTFjOS4uNjM1ZDc2NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FjcGkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYWNwaS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8YXNtL251bWEuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL21tdS5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KIAogI2RlZmluZSBDT01QSUxFUl9ERVBFTkRFTlRfSU5UNjQgICBsb25nIGxvbmcKICNkZWZpbmUgQ09NUElMRVJfREVQRU5ERU5UX1VJTlQ2NCAgdW5zaWduZWQgbG9uZyBsb25nCkBAIC0xNjAsOSArMTYxLDcgQEAKICNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCiBleHRlcm4gaW50IGFjcGlfbnVtYTsKIGV4dGVybiBpbnQgYWNwaV9zY2FuX25vZGVzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0jIGRlZmluZSBOUl9OT0RFX01FTUJMS1MgKE1BWF9OVU1OT0RFUyoyKQotI2VuZGlmCisjZGVmaW5lIE5SX05PREVfTUVNQkxLUyAoTUFYX05VTU5PREVTKjIpCiBleHRlcm4gdm9pZCBhY3BpX2Zha2Vfbm9kZXMoY29uc3Qgc3RydWN0IGJvb3Rub2RlICpmYWtlX25vZGVzLAogCQkJCSAgIGludCBudW1fbm9kZXMpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9hbHRlcm5hdGl2ZS5oIGIvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKaW5kZXggMWY2YTljYS4uZjZhYTE4ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKQEAgLTcyLDYgKzcyLDggQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhbHRlcm5hdGl2ZXNfc21wX3N3aXRjaChpbnQgc21wKSB7fQogI2VuZGlmCS8qIENPTkZJR19TTVAgKi8KIAorY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKmZpbmRfbm9wX3RhYmxlKHZvaWQpOworCiAvKgogICogQWx0ZXJuYXRpdmUgaW5zdHJ1Y3Rpb25zIGZvciBkaWZmZXJlbnQgQ1BVIHR5cGVzIG9yIGNhcGFiaWxpdGllcy4KICAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11LmggYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBhMTIwNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hbWRfaW9tbXUuaApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICogQXV0aG9yOiBKb2VyZyBSb2VkZWwgPGpvZXJnLnJvZWRlbEBhbWQuY29tPgorICogICAgICAgICBMZW8gRHVyYW4gPGxlby5kdXJhbkBhbWQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICovCisKKyNpZm5kZWYgX0FTTV9YODZfQU1EX0lPTU1VX0gKKyNkZWZpbmUgX0FTTV9YODZfQU1EX0lPTU1VX0gKKworI2lmZGVmIENPTkZJR19BTURfSU9NTVUKK2V4dGVybiBpbnQgYW1kX2lvbW11X2luaXQodm9pZCk7CitleHRlcm4gaW50IGFtZF9pb21tdV9pbml0X2RtYV9vcHModm9pZCk7CitleHRlcm4gdm9pZCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGFtZF9pb21tdV9pbml0KHZvaWQpIHsgcmV0dXJuIC1FTk9ERVY7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpIHsgfQorI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdV90eXBlcy5oIGIvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdV90eXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiZmNiNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11X3R5cGVzLmgKQEAgLTAsMCArMSwyNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+CisgKiAgICAgICAgIExlbyBEdXJhbiA8bGVvLmR1cmFuQGFtZC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2lmbmRlZiBfX0FNRF9JT01NVV9UWVBFU19IX18KKyNkZWZpbmUgX19BTURfSU9NTVVfVFlQRVNfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorCisvKgorICogc29tZSBzaXplIGNhbGN1bGF0aW9uIGNvbnN0YW50cworICovCisjZGVmaW5lIERFVl9UQUJMRV9FTlRSWV9TSVpFCQkyNTYKKyNkZWZpbmUgQUxJQVNfVEFCTEVfRU5UUllfU0laRQkJMgorI2RlZmluZSBSTE9PS1VQX1RBQkxFX0VOVFJZX1NJWkUJKHNpemVvZih2b2lkICopKQorCisvKiBoZWxwZXIgbWFjcm9zICovCisjZGVmaW5lIExPV19VMzIoeCkgKCh4KSAmICgoMVVMTCA8PCAzMiktMSkpCisjZGVmaW5lIEhJR0hfVTMyKHgpIChMT1dfVTMyKCh4KSA+PiAzMikpCisKKy8qIExlbmd0aCBvZiB0aGUgTU1JTyByZWdpb24gZm9yIHRoZSBBTUQgSU9NTVUgKi8KKyNkZWZpbmUgTU1JT19SRUdJT05fTEVOR1RIICAgICAgIDB4NDAwMAorCisvKiBDYXBhYmlsaXR5IG9mZnNldHMgdXNlZCBieSB0aGUgZHJpdmVyICovCisjZGVmaW5lIE1NSU9fQ0FQX0hEUl9PRkZTRVQJMHgwMAorI2RlZmluZSBNTUlPX1JBTkdFX09GRlNFVAkweDBjCisKKy8qIE1hc2tzLCBzaGlmdHMgYW5kIG1hY3JvcyB0byBwYXJzZSB0aGUgZGV2aWNlIHJhbmdlIGNhcGFiaWxpdHkgKi8KKyNkZWZpbmUgTU1JT19SQU5HRV9MRF9NQVNLCTB4ZmYwMDAwMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9GRF9NQVNLCTB4MDBmZjAwMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9CVVNfTUFTSwkweDAwMDBmZjAwCisjZGVmaW5lIE1NSU9fUkFOR0VfTERfU0hJRlQJMjQKKyNkZWZpbmUgTU1JT19SQU5HRV9GRF9TSElGVAkxNgorI2RlZmluZSBNTUlPX1JBTkdFX0JVU19TSElGVAk4CisjZGVmaW5lIE1NSU9fR0VUX0xEKHgpICAoKCh4KSAmIE1NSU9fUkFOR0VfTERfTUFTSykgPj4gTU1JT19SQU5HRV9MRF9TSElGVCkKKyNkZWZpbmUgTU1JT19HRVRfRkQoeCkgICgoKHgpICYgTU1JT19SQU5HRV9GRF9NQVNLKSA+PiBNTUlPX1JBTkdFX0ZEX1NISUZUKQorI2RlZmluZSBNTUlPX0dFVF9CVVMoeCkgKCgoeCkgJiBNTUlPX1JBTkdFX0JVU19NQVNLKSA+PiBNTUlPX1JBTkdFX0JVU19TSElGVCkKKworLyogRmxhZyBtYXNrcyBmb3IgdGhlIEFNRCBJT01NVSBleGNsdXNpb24gcmFuZ2UgKi8KKyNkZWZpbmUgTU1JT19FWENMX0VOQUJMRV9NQVNLIDB4MDFVTEwKKyNkZWZpbmUgTU1JT19FWENMX0FMTE9XX01BU0sgIDB4MDJVTEwKKworLyogVXNlZCBvZmZzZXRzIGludG8gdGhlIE1NSU8gc3BhY2UgKi8KKyNkZWZpbmUgTU1JT19ERVZfVEFCTEVfT0ZGU0VUICAgMHgwMDAwCisjZGVmaW5lIE1NSU9fQ01EX0JVRl9PRkZTRVQgICAgIDB4MDAwOAorI2RlZmluZSBNTUlPX0VWVF9CVUZfT0ZGU0VUICAgICAweDAwMTAKKyNkZWZpbmUgTU1JT19DT05UUk9MX09GRlNFVCAgICAgMHgwMDE4CisjZGVmaW5lIE1NSU9fRVhDTF9CQVNFX09GRlNFVCAgIDB4MDAyMAorI2RlZmluZSBNTUlPX0VYQ0xfTElNSVRfT0ZGU0VUICAweDAwMjgKKyNkZWZpbmUgTU1JT19DTURfSEVBRF9PRkZTRVQJMHgyMDAwCisjZGVmaW5lIE1NSU9fQ01EX1RBSUxfT0ZGU0VUCTB4MjAwOAorI2RlZmluZSBNTUlPX0VWVF9IRUFEX09GRlNFVAkweDIwMTAKKyNkZWZpbmUgTU1JT19FVlRfVEFJTF9PRkZTRVQJMHgyMDE4CisjZGVmaW5lIE1NSU9fU1RBVFVTX09GRlNFVAkweDIwMjAKKworLyogZmVhdHVyZSBjb250cm9sIGJpdHMgKi8KKyNkZWZpbmUgQ09OVFJPTF9JT01NVV9FTiAgICAgICAgMHgwMFVMTAorI2RlZmluZSBDT05UUk9MX0hUX1RVTl9FTiAgICAgICAweDAxVUxMCisjZGVmaW5lIENPTlRST0xfRVZUX0xPR19FTiAgICAgIDB4MDJVTEwKKyNkZWZpbmUgQ09OVFJPTF9FVlRfSU5UX0VOICAgICAgMHgwM1VMTAorI2RlZmluZSBDT05UUk9MX0NPTVdBSVRfRU4gICAgICAweDA0VUxMCisjZGVmaW5lIENPTlRST0xfUEFTU1BXX0VOICAgICAgIDB4MDhVTEwKKyNkZWZpbmUgQ09OVFJPTF9SRVNQQVNTUFdfRU4gICAgMHgwOVVMTAorI2RlZmluZSBDT05UUk9MX0NPSEVSRU5UX0VOICAgICAweDBhVUxMCisjZGVmaW5lIENPTlRST0xfSVNPQ19FTiAgICAgICAgIDB4MGJVTEwKKyNkZWZpbmUgQ09OVFJPTF9DTURCVUZfRU4gICAgICAgMHgwY1VMTAorI2RlZmluZSBDT05UUk9MX1BQRkxPR19FTiAgICAgICAweDBkVUxMCisjZGVmaW5lIENPTlRST0xfUFBGSU5UX0VOICAgICAgIDB4MGVVTEwKKworLyogY29tbWFuZCBzcGVjaWZpYyBkZWZpbmVzICovCisjZGVmaW5lIENNRF9DT01QTF9XQUlUICAgICAgICAgIDB4MDEKKyNkZWZpbmUgQ01EX0lOVl9ERVZfRU5UUlkgICAgICAgMHgwMgorI2RlZmluZSBDTURfSU5WX0lPTU1VX1BBR0VTICAgICAweDAzCisKKyNkZWZpbmUgQ01EX0NPTVBMX1dBSVRfU1RPUkVfTUFTSwkweDAxCisjZGVmaW5lIENNRF9JTlZfSU9NTVVfUEFHRVNfU0laRV9NQVNLCTB4MDEKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9QQUdFU19QREVfTUFTSwkweDAyCisKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9BTExfUEFHRVNfQUREUkVTUwkweDdmZmZmZmZmZmZmZmZmZmZVTEwKKworLyogbWFjcm9zIGFuZCBkZWZpbml0aW9ucyBmb3IgZGV2aWNlIHRhYmxlIGVudHJpZXMgKi8KKyNkZWZpbmUgREVWX0VOVFJZX1ZBTElEICAgICAgICAgMHgwMAorI2RlZmluZSBERVZfRU5UUllfVFJBTlNMQVRJT04gICAweDAxCisjZGVmaW5lIERFVl9FTlRSWV9JUiAgICAgICAgICAgIDB4M2QKKyNkZWZpbmUgREVWX0VOVFJZX0lXICAgICAgICAgICAgMHgzZQorI2RlZmluZSBERVZfRU5UUllfRVggICAgICAgICAgICAweDY3CisjZGVmaW5lIERFVl9FTlRSWV9TWVNNR1QxICAgICAgIDB4NjgKKyNkZWZpbmUgREVWX0VOVFJZX1NZU01HVDIgICAgICAgMHg2OQorI2RlZmluZSBERVZfRU5UUllfSU5JVF9QQVNTICAgICAweGI4CisjZGVmaW5lIERFVl9FTlRSWV9FSU5UX1BBU1MgICAgIDB4YjkKKyNkZWZpbmUgREVWX0VOVFJZX05NSV9QQVNTICAgICAgMHhiYQorI2RlZmluZSBERVZfRU5UUllfTElOVDBfUEFTUyAgICAweGJlCisjZGVmaW5lIERFVl9FTlRSWV9MSU5UMV9QQVNTICAgIDB4YmYKKworLyogY29uc3RhbnRzIHRvIGNvbmZpZ3VyZSB0aGUgY29tbWFuZCBidWZmZXIgKi8KKyNkZWZpbmUgQ01EX0JVRkZFUl9TSVpFICAgIDgxOTIKKyNkZWZpbmUgQ01EX0JVRkZFUl9FTlRSSUVTIDUxMgorI2RlZmluZSBNTUlPX0NNRF9TSVpFX1NISUZUIDU2CisjZGVmaW5lIE1NSU9fQ01EX1NJWkVfNTEyICgweDlVTEwgPDwgTU1JT19DTURfU0laRV9TSElGVCkKKworI2RlZmluZSBQQUdFX01PREVfMV9MRVZFTCAweDAxCisjZGVmaW5lIFBBR0VfTU9ERV8yX0xFVkVMIDB4MDIKKyNkZWZpbmUgUEFHRV9NT0RFXzNfTEVWRUwgMHgwMworCisjZGVmaW5lIElPTU1VX1BERV9OTF8wICAgMHgwMDBVTEwKKyNkZWZpbmUgSU9NTVVfUERFX05MXzEgICAweDIwMFVMTAorI2RlZmluZSBJT01NVV9QREVfTkxfMiAgIDB4NDAwVUxMCisjZGVmaW5lIElPTU1VX1BERV9OTF8zICAgMHg2MDBVTEwKKworI2RlZmluZSBJT01NVV9QVEVfTDJfSU5ERVgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gMzApICYgMHgxZmZVTEwpCisjZGVmaW5lIElPTU1VX1BURV9MMV9JTkRFWChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiAyMSkgJiAweDFmZlVMTCkKKyNkZWZpbmUgSU9NTVVfUFRFX0wwX0lOREVYKGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IDEyKSAmIDB4MWZmVUxMKQorCisjZGVmaW5lIElPTU1VX01BUF9TSVpFX0wxICgxVUxMIDw8IDIxKQorI2RlZmluZSBJT01NVV9NQVBfU0laRV9MMiAoMVVMTCA8PCAzMCkKKyNkZWZpbmUgSU9NTVVfTUFQX1NJWkVfTDMgKDFVTEwgPDwgMzkpCisKKyNkZWZpbmUgSU9NTVVfUFRFX1AgICgxVUxMIDw8IDApCisjZGVmaW5lIElPTU1VX1BURV9VICAoMVVMTCA8PCA1OSkKKyNkZWZpbmUgSU9NTVVfUFRFX0ZDICgxVUxMIDw8IDYwKQorI2RlZmluZSBJT01NVV9QVEVfSVIgKDFVTEwgPDwgNjEpCisjZGVmaW5lIElPTU1VX1BURV9JVyAoMVVMTCA8PCA2MikKKworI2RlZmluZSBJT01NVV9MMV9QREUoYWRkcmVzcykgXAorCSgoYWRkcmVzcykgfCBJT01NVV9QREVfTkxfMSB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXKQorI2RlZmluZSBJT01NVV9MMl9QREUoYWRkcmVzcykgXAorCSgoYWRkcmVzcykgfCBJT01NVV9QREVfTkxfMiB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXKQorCisjZGVmaW5lIElPTU1VX1BBR0VfTUFTSyAoKCgxVUxMIDw8IDUyKSAtIDEpICYgfjB4ZmZmVUxMKQorI2RlZmluZSBJT01NVV9QVEVfUFJFU0VOVChwdGUpICgocHRlKSAmIElPTU1VX1BURV9QKQorI2RlZmluZSBJT01NVV9QVEVfUEFHRShwdGUpIChwaHlzX3RvX3ZpcnQoKHB0ZSkgJiBJT01NVV9QQUdFX01BU0spKQorI2RlZmluZSBJT01NVV9QVEVfTU9ERShwdGUpICgoKHB0ZSkgPj4gOSkgJiAweDA3KQorCisjZGVmaW5lIElPTU1VX1BST1RfTUFTSyAweDAzCisjZGVmaW5lIElPTU1VX1BST1RfSVIgMHgwMQorI2RlZmluZSBJT01NVV9QUk9UX0lXIDB4MDIKKworLyogSU9NTVUgY2FwYWJpbGl0aWVzICovCisjZGVmaW5lIElPTU1VX0NBUF9JT1RMQiAgIDI0CisjZGVmaW5lIElPTU1VX0NBUF9OUENBQ0hFIDI2CisKKyNkZWZpbmUgTUFYX0RPTUFJTl9JRCA2NTUzNgorCitzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4geworCXNwaW5sb2NrX3QgbG9jazsKKwl1MTYgaWQ7CisJaW50IG1vZGU7CisJdTY0ICpwdF9yb290OworCXZvaWQgKnByaXY7Cit9OworCitzdHJ1Y3QgZG1hX29wc19kb21haW4geworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gZG9tYWluOworCXVuc2lnbmVkIGxvbmcgYXBlcnR1cmVfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIG5leHRfYml0OworCXVuc2lnbmVkIGxvbmcgKmJpdG1hcDsKKwl1NjQgKipwdGVfcGFnZXM7Cit9OworCitzdHJ1Y3QgYW1kX2lvbW11IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3BpbmxvY2tfdCBsb2NrOworCisJdTE2IGRldmlkOworCXUxNiBjYXBfcHRyOworCisJdTY0IG1taW9fcGh5czsKKwl1OCAqbW1pb19iYXNlOworCXUzMiBjYXA7CisJdTE2IGZpcnN0X2RldmljZTsKKwl1MTYgbGFzdF9kZXZpY2U7CisJdTY0IGV4Y2x1c2lvbl9zdGFydDsKKwl1NjQgZXhjbHVzaW9uX2xlbmd0aDsKKworCXU4ICpjbWRfYnVmOworCXUzMiBjbWRfYnVmX3NpemU7CisKKwlpbnQgbmVlZF9zeW5jOworCisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkZWZhdWx0X2RvbTsKK307CisKK2V4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIGFtZF9pb21tdV9saXN0OworCitzdHJ1Y3QgZGV2X3RhYmxlX2VudHJ5IHsKKwl1MzIgZGF0YVs4XTsKK307CisKK3N0cnVjdCB1bml0eV9tYXBfZW50cnkgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwl1MTYgZGV2aWRfc3RhcnQ7CisJdTE2IGRldmlkX2VuZDsKKwl1NjQgYWRkcmVzc19zdGFydDsKKwl1NjQgYWRkcmVzc19lbmQ7CisJaW50IHByb3Q7Cit9OworCitleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBhbWRfaW9tbXVfdW5pdHlfbWFwOworCisvKiBkYXRhIHN0cnVjdHVyZXMgZm9yIGRldmljZSBoYW5kbGluZyAqLworZXh0ZXJuIHN0cnVjdCBkZXZfdGFibGVfZW50cnkgKmFtZF9pb21tdV9kZXZfdGFibGU7CitleHRlcm4gdTE2ICphbWRfaW9tbXVfYWxpYXNfdGFibGU7CitleHRlcm4gc3RydWN0IGFtZF9pb21tdSAqKmFtZF9pb21tdV9ybG9va3VwX3RhYmxlOworCitleHRlcm4gdW5zaWduZWQgYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyOworCitleHRlcm4gdTE2IGFtZF9pb21tdV9sYXN0X2JkZjsKKworLyogZGF0YSBzdHJ1Y3R1cmVzIGZvciBwcm90ZWN0aW9uIGRvbWFpbiBoYW5kbGluZyAqLworZXh0ZXJuIHN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqKmFtZF9pb21tdV9wZF90YWJsZTsKK2V4dGVybiB1bnNpZ25lZCBsb25nICphbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwOworCitleHRlcm4gaW50IGFtZF9pb21tdV9pc29sYXRlOworCitzdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRfZGV2aWQodTE2IGRldmlkLCBpbnQgbmwpCit7CisJaW50IGJ1cyA9IGRldmlkID4+IDg7CisJaW50IGRldiA9IGRldmlkID4+IDMgJiAweDFmOworCWludCBmbiAgPSBkZXZpZCAmIDB4MDc7CisKKwlwcmludGsoIiUwMng6JTAyeC4leCIsIGJ1cywgZGV2LCBmbik7CisJaWYgKG5sKQorCQlwcmludGsoIlxuIik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hcGljLmgKaW5kZXggYmU5NjM5YS4uNGUyYzFlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYXBpYy5oCkBAIC0zNiwxNSArMzYsMTEgQEAKICNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAogZXh0ZXJuIGludCBhcGljX3ZlcmJvc2l0eTsKLWV4dGVybiBpbnQgdGltZXJfb3Zlcl84MjU0OwogZXh0ZXJuIGludCBsb2NhbF9hcGljX3RpbWVyX2MyX29rOwotZXh0ZXJuIGludCBsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkOwogCi1leHRlcm4gaW50IGFwaWNfcnVuc19tYWluX3RpbWVyOwogZXh0ZXJuIGludCBpb2FwaWNfZm9yY2U7Ci1leHRlcm4gaW50IGRpc2FibGVfYXBpYzsKLWV4dGVybiBpbnQgZGlzYWJsZV9hcGljX3RpbWVyOwogCitleHRlcm4gaW50IGRpc2FibGVfYXBpYzsKIC8qCiAgKiBCYXNpYyBmdW5jdGlvbnMgYWNjZXNzaW5nIEFQSUNzLgogICovCkBAIC0xMjUsMTYgKzEyMSwyMiBAQAogICovCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogZXh0ZXJuIHZvaWQgZWFybHlfaW5pdF9sYXBpY19tYXBwaW5nKHZvaWQpOworZXh0ZXJuIGludCBhcGljX2lzX2NsdXN0ZXJlZF9ib3godm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgYXBpY19pc19jbHVzdGVyZWRfYm94KHZvaWQpCit7CisJcmV0dXJuIDA7Cit9CiAjZW5kaWYKIAogZXh0ZXJuIHU4IHNldHVwX0FQSUNfZWlsdnRfbWNlKHU4IHZlY3RvciwgdTggbXNnX3R5cGUsIHU4IG1hc2spOwogZXh0ZXJuIHU4IHNldHVwX0FQSUNfZWlsdnRfaWJzKHU4IHZlY3RvciwgdTggbXNnX3R5cGUsIHU4IG1hc2spOwogCi1leHRlcm4gaW50IGFwaWNfaXNfY2x1c3RlcmVkX2JveCh2b2lkKTsKIAogI2Vsc2UgLyogIUNPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogc3RhdGljIGlubGluZSB2b2lkIGxhcGljX3NodXRkb3duKHZvaWQpIHsgfQogI2RlZmluZSBsb2NhbF9hcGljX3RpbWVyX2MyX29rCQkxCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9hcGljX21hcHBpbmdzKHZvaWQpIHsgfQogCiAjZW5kaWYgLyogIUNPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXNtLmggYi9pbmNsdWRlL2FzbS14ODYvYXNtLmgKaW5kZXggOTBkZWMwYy4uOTcyMjAzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FzbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hc20uaApAQCAtMSwzNyArMSw0MCBAQAogI2lmbmRlZiBfQVNNX1g4Nl9BU01fSAogI2RlZmluZSBfQVNNX1g4Nl9BU01fSAogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotLyogMzIgYml0cyAqLwotCi0jIGRlZmluZSBfQVNNX1BUUgkiIC5sb25nICIKLSMgZGVmaW5lIF9BU01fQUxJR04JIiAuYmFsaWduIDQgIgotIyBkZWZpbmUgX0FTTV9NT1ZfVUwJIiBtb3ZsICIKLQotIyBkZWZpbmUgX0FTTV9JTkMJIiBpbmNsICIKLSMgZGVmaW5lIF9BU01fREVDCSIgZGVjbCAiCi0jIGRlZmluZSBfQVNNX0FERAkiIGFkZGwgIgotIyBkZWZpbmUgX0FTTV9TVUIJIiBzdWJsICIKLSMgZGVmaW5lIF9BU01fWEFERAkiIHhhZGRsICIKLQorI2lmZGVmIF9fQVNTRU1CTFlfXworIyBkZWZpbmUgX19BU01fRk9STSh4KQl4CisjIGRlZmluZSBfX0FTTV9FWF9TRUMJLnNlY3Rpb24gX19leF90YWJsZQogI2Vsc2UKLS8qIDY0IGJpdHMgKi8KKyMgZGVmaW5lIF9fQVNNX0ZPUk0oeCkJIiAiICN4ICIgIgorIyBkZWZpbmUgX19BU01fRVhfU0VDCSIgLnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIgorI2VuZGlmCiAKLSMgZGVmaW5lIF9BU01fUFRSCSIgLnF1YWQgIgotIyBkZWZpbmUgX0FTTV9BTElHTgkiIC5iYWxpZ24gOCAiCi0jIGRlZmluZSBfQVNNX01PVl9VTAkiIG1vdnEgIgorI2lmZGVmIENPTkZJR19YODZfMzIKKyMgZGVmaW5lIF9fQVNNX1NFTChhLGIpIF9fQVNNX0ZPUk0oYSkKKyNlbHNlCisjIGRlZmluZSBfX0FTTV9TRUwoYSxiKSBfX0FTTV9GT1JNKGIpCisjZW5kaWYKIAotIyBkZWZpbmUgX0FTTV9JTkMJIiBpbmNxICIKLSMgZGVmaW5lIF9BU01fREVDCSIgZGVjcSAiCi0jIGRlZmluZSBfQVNNX0FERAkiIGFkZHEgIgotIyBkZWZpbmUgX0FTTV9TVUIJIiBzdWJxICIKLSMgZGVmaW5lIF9BU01fWEFERAkiIHhhZGRxICIKKyNkZWZpbmUgX19BU01fU0laRShpbnN0KQlfX0FTTV9TRUwoaW5zdCMjbCwgaW5zdCMjcSkKKyNkZWZpbmUgX19BU01fUkVHKHJlZykJCV9fQVNNX1NFTChlIyNyZWcsIHIjI3JlZykKIAotI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KKyNkZWZpbmUgX0FTTV9QVFIJX19BU01fU0VMKC5sb25nLCAucXVhZCkKKyNkZWZpbmUgX0FTTV9BTElHTglfX0FTTV9TRUwoLmJhbGlnbiA0LCAuYmFsaWduIDgpCisjZGVmaW5lIF9BU01fTU9WX1VMCV9fQVNNX1NJWkUobW92KQorCisjZGVmaW5lIF9BU01fSU5DCV9fQVNNX1NJWkUoaW5jKQorI2RlZmluZSBfQVNNX0RFQwlfX0FTTV9TSVpFKGRlYykKKyNkZWZpbmUgX0FTTV9BREQJX19BU01fU0laRShhZGQpCisjZGVmaW5lIF9BU01fU1VCCV9fQVNNX1NJWkUoc3ViKQorI2RlZmluZSBfQVNNX1hBREQJX19BU01fU0laRSh4YWRkKQorI2RlZmluZSBfQVNNX0FYCQlfX0FTTV9SRUcoYXgpCisjZGVmaW5lIF9BU01fQlgJCV9fQVNNX1JFRyhieCkKKyNkZWZpbmUgX0FTTV9DWAkJX19BU01fUkVHKGN4KQorI2RlZmluZSBfQVNNX0RYCQlfX0FTTV9SRUcoZHgpCiAKIC8qIEV4Y2VwdGlvbiB0YWJsZSBlbnRyeSAqLwogIyBkZWZpbmUgX0FTTV9FWFRBQkxFKGZyb20sdG8pIFwKLQkiIC5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIgXAorCV9fQVNNX0VYX1NFQwlcCiAJX0FTTV9BTElHTiAiXG4iIFwKIAlfQVNNX1BUUiAjZnJvbSAiLCIgI3RvICJcbiIgXAogCSIgLnByZXZpb3VzXG4iCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmgKaW5kZXggM2UwY2Q3ZC4uYTAwOTUxOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2F0b21pY182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hdG9taWNfNjQuaApAQCAtMTEsMTIgKzExLDYgQEAKICAqIHJlc291cmNlIGNvdW50aW5nIGV0Yy4uCiAgKi8KIAotI2lmZGVmIENPTkZJR19TTVAKLSNkZWZpbmUgTE9DSyAibG9jayA7ICIKLSNlbHNlCi0jZGVmaW5lIExPQ0sgIiIKLSNlbmRpZgotCiAvKgogICogTWFrZSBzdXJlIGdjYyBkb2Vzbid0IHRyeSB0byBiZSBjbGV2ZXIgYW5kIG1vdmUgdGhpbmdzIGFyb3VuZAogICogb24gdXMuIFdlIG5lZWQgdG8gdXNlIF9leGFjdGx5XyB0aGUgYWRkcmVzcyB0aGUgdXNlciBnYXZlIHVzLApAQCAtNDMxLDYgKzQyNSwzMiBAQAogCXJldHVybiBjICE9ICh1KTsKIH0KIAorLyoqCisgKiBhdG9taWNfaW5jX3Nob3J0IC0gaW5jcmVtZW50IG9mIGEgc2hvcnQgaW50ZWdlcgorICogQHY6IHBvaW50ZXIgdG8gdHlwZSBpbnQKKyAqCisgKiBBdG9taWNhbGx5IGFkZHMgMSB0byBAdgorICogUmV0dXJucyB0aGUgbmV3IHZhbHVlIG9mIEB1CisgKi8KK3N0YXRpYyBpbmxpbmUgc2hvcnQgaW50IGF0b21pY19pbmNfc2hvcnQoc2hvcnQgaW50ICp2KQoreworCWFzbShMT0NLX1BSRUZJWCAiYWRkdyAkMSwgJTAiIDogIittIiAoKnYpKTsKKwlyZXR1cm4gKnY7Cit9CisKKy8qKgorICogYXRvbWljX29yX2xvbmcgLSBPUiBvZiB0d28gbG9uZyBpbnRlZ2VycworICogQHYxOiBwb2ludGVyIHRvIHR5cGUgdW5zaWduZWQgbG9uZworICogQHYyOiBwb2ludGVyIHRvIHR5cGUgdW5zaWduZWQgbG9uZworICoKKyAqIEF0b21pY2FsbHkgT1JzIEB2MSBhbmQgQHYyCisgKiBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIE9SCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBhdG9taWNfb3JfbG9uZyh1bnNpZ25lZCBsb25nICp2MSwgdW5zaWduZWQgbG9uZyB2MikKK3sKKwlhc20oTE9DS19QUkVGSVggIm9ycSAlMSwgJTAiIDogIittIiAoKnYxKSA6ICJyIiAodjIpKTsKK30KKwogI2RlZmluZSBhdG9taWM2NF9pbmNfbm90X3plcm8odikgYXRvbWljNjRfYWRkX3VubGVzcygodiksIDEsIDApCiAKIC8qIFRoZXNlIGFyZSB4ODYtc3BlY2lmaWMsIHVzZWQgYnkgc29tZSBoZWFkZXIgZmlsZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaAppbmRleCBiNGE0NmI3Li4wMDMzZTUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYmlvc19lYmRhLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Jpb3NfZWJkYS5oCkBAIC0xNCw0ICsxNCw2IEBACiAJcmV0dXJuIGFkZHJlc3M7CS8qIDAgbWVhbnMgbm9uZSAqLwogfQogCit2b2lkIHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCk7CisKICNlbmRpZiAvKiBfTUFDSF9CSU9TX0VCREFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oIGIvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oCmluZGV4IGVlNGIzZWEuLjk2YjE4MjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9iaXRvcHMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYml0b3BzLmgKQEAgLTIzLDExICsyMywyMSBAQAogI2lmIF9fR05VQ19fIDwgNCB8fCAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA8IDEpCiAvKiBUZWNobmljYWxseSB3cm9uZywgYnV0IHRoaXMgYXZvaWRzIGNvbXBpbGF0aW9uIGVycm9ycyBvbiBzb21lIGdjYwogICAgdmVyc2lvbnMuICovCi0jZGVmaW5lIEFERFIgIj1tIiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCisjZGVmaW5lIEJJVE9QX0FERFIoeCkgIj1tIiAoKih2b2xhdGlsZSBsb25nICopICh4KSkKICNlbHNlCi0jZGVmaW5lIEFERFIgIittIiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCisjZGVmaW5lIEJJVE9QX0FERFIoeCkgIittIiAoKih2b2xhdGlsZSBsb25nICopICh4KSkKICNlbmRpZgogCisjZGVmaW5lIEFERFIJCQkJQklUT1BfQUREUihhZGRyKQorCisvKgorICogV2UgZG8gdGhlIGxvY2tlZCBvcHMgdGhhdCBkb24ndCByZXR1cm4gdGhlIG9sZCB2YWx1ZSBhcworICogYSBtYXNrIG9wZXJhdGlvbiBvbiBhIGJ5dGUuCisgKi8KKyNkZWZpbmUgSVNfSU1NRURJQVRFKG5yKQkJKF9fYnVpbHRpbl9jb25zdGFudF9wKG5yKSkKKyNkZWZpbmUgQ09OU1RfTUFTS19BRERSKG5yLCBhZGRyKQlCSVRPUF9BRERSKCh2b2lkICopKGFkZHIpICsgKChucik+PjMpKQorI2RlZmluZSBDT05TVF9NQVNLKG5yKQkJCSgxIDw8ICgobnIpICYgNykpCisKIC8qKgogICogc2V0X2JpdCAtIEF0b21pY2FsbHkgc2V0IGEgYml0IGluIG1lbW9yeQogICogQG5yOiB0aGUgYml0IHRvIHNldApAQCAtNDMsOSArNTMsMTcgQEAKICAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKICAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KHVuc2lnbmVkIGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKLQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0cyAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpIDogIm1lbW9yeSIpOworCWlmIChJU19JTU1FRElBVEUobnIpKSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAib3JiICUxLCUwIgorCQkJOiBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCisJCQk6ICJpcSIgKCh1OClDT05TVF9NQVNLKG5yKSkKKwkJCTogIm1lbW9yeSIpOworCX0gZWxzZSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAiYnRzICUxLCUwIgorCQkJOiBCSVRPUF9BRERSKGFkZHIpIDogIklyIiAobnIpIDogIm1lbW9yeSIpOworCX0KIH0KIAogLyoqCkBAIC01Nyw3ICs3NSw3IEBACiAgKiBJZiBpdCdzIGNhbGxlZCBvbiB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IHNpbXVsdGFuZW91c2x5LCB0aGUgZWZmZWN0CiAgKiBtYXkgYmUgdGhhdCBvbmx5IG9uZSBvcGVyYXRpb24gc3VjY2VlZHMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKCJidHMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSA6ICJtZW1vcnkiKTsKIH0KQEAgLTcyLDkgKzkwLDE3IEBACiAgKiB5b3Ugc2hvdWxkIGNhbGwgc21wX21iX19iZWZvcmVfY2xlYXJfYml0KCkgYW5kL29yIHNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCkKICAqIGluIG9yZGVyIHRvIGVuc3VyZSBjaGFuZ2VzIGFyZSB2aXNpYmxlIG9uIG90aGVyIHByb2Nlc3NvcnMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7Ci0JYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidHIgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CisJaWYgKElTX0lNTUVESUFURShucikpIHsKKwkJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJhbmRiICUxLCUwIgorCQkJOiBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCisJCQk6ICJpcSIgKCh1OCl+Q09OU1RfTUFTSyhucikpKTsKKwl9IGVsc2UgeworCQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0ciAlMSwlMCIKKwkJCTogQklUT1BfQUREUihhZGRyKQorCQkJOiAiSXIiIChucikpOworCX0KIH0KIAogLyoKQEAgLTg1LDEzICsxMTEsMTMgQEAKICAqIGNsZWFyX2JpdCgpIGlzIGF0b21pYyBhbmQgaW1wbGllcyByZWxlYXNlIHNlbWFudGljcyBiZWZvcmUgdGhlIG1lbW9yeQogICogb3BlcmF0aW9uLiBJdCBjYW4gYmUgdXNlZCBmb3IgYW4gdW5sb2NrLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXRfdW5sb2NrKHVuc2lnbmVkIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWJhcnJpZXIoKTsKIAljbGVhcl9iaXQobnIsIGFkZHIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlhc20gdm9sYXRpbGUoImJ0ciAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpKTsKIH0KQEAgLTEwOCw3ICsxMzQsNyBAQAogICogTm8gbWVtb3J5IGJhcnJpZXIgaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSB4ODYgY2Fubm90IHJlb3JkZXIgc3RvcmVzIHBhc3QKICAqIG9sZGVyIGxvYWRzLiBTYW1lIHByaW5jaXBsZSBhcyBzcGluX3VubG9jay4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2NsZWFyX2JpdF91bmxvY2sodW5zaWduZWQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYmFycmllcigpOwogCV9fY2xlYXJfYml0KG5yLCBhZGRyKTsKQEAgLTEyNiw3ICsxNTIsNyBAQAogICogSWYgaXQncyBjYWxsZWQgb24gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBzaW11bHRhbmVvdXNseSwgdGhlIGVmZmVjdAogICogbWF5IGJlIHRoYXQgb25seSBvbmUgb3BlcmF0aW9uIHN1Y2NlZWRzLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWFzbSB2b2xhdGlsZSgiYnRjICUxLCUwIiA6IEFERFIgOiAiSXIiIChucikpOwogfQpAQCAtMTQwLDcgKzE2Niw3IEBACiAgKiBOb3RlIHRoYXQgQG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMgbm90CiAgKiByZXN0cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5LgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidGMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CiB9CkBAIC0xNTMsNyArMTc5LDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTE3MCw3ICsxOTYsNyBAQAogICoKICAqIFRoaXMgaXMgdGhlIHNhbWUgYXMgdGVzdF9hbmRfc2V0X2JpdCBvbiB4ODYuCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXRfbG9jayhpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0X2xvY2soaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCXJldHVybiB0ZXN0X2FuZF9zZXRfYml0KG5yLCBhZGRyKTsKIH0KQEAgLTE4NCw3ICsyMTAsNyBAQAogICogSWYgdHdvIGV4YW1wbGVzIG9mIHRoaXMgb3BlcmF0aW9uIHJhY2UsIG9uZSBjYW4gYXBwZWFyIHRvIHN1Y2NlZWQKICAqIGJ1dCBhY3R1YWxseSBmYWlsLiAgWW91IG11c3QgcHJvdGVjdCBtdWx0aXBsZSBhY2Nlc3NlcyB3aXRoIGEgbG9jay4KICAqLwotc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IF9fdGVzdF9hbmRfc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjAzLDcgKzIyOSw3IEBACiAgKiBUaGlzIG9wZXJhdGlvbiBpcyBhdG9taWMgYW5kIGNhbm5vdCBiZSByZW9yZGVyZWQuCiAgKiBJdCBhbHNvIGltcGxpZXMgYSBtZW1vcnkgYmFycmllci4KICAqLwotc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRfY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjIzLDcgKzI0OSw3IEBACiAgKiBJZiB0d28gZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRpb24gcmFjZSwgb25lIGNhbiBhcHBlYXIgdG8gc3VjY2VlZAogICogYnV0IGFjdHVhbGx5IGZhaWwuICBZb3UgbXVzdCBwcm90ZWN0IG11bHRpcGxlIGFjY2Vzc2VzIHdpdGggYSBsb2NrLgogICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjM1LDcgKzI2MSw3IEBACiB9CiAKIC8qIFdBUk5JTkc6IG5vbiBhdG9taWMgYW5kIGl0IGNhbiBiZSByZW9yZGVyZWQhICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCkBAIC0yNTUsNyArMjgxLDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTI2NiwxMyArMjkyLDEzIEBACiAJcmV0dXJuIG9sZGJpdDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgY29uc3RhbnRfdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgY29uc3RhbnRfdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCXJldHVybiAoKDFVTCA8PCAobnIgJSBCSVRTX1BFUl9MT05HKSkgJgogCQkoKCh1bnNpZ25lZCBsb25nICopYWRkcilbbnIgLyBCSVRTX1BFUl9MT05HXSkpICE9IDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHZhcmlhYmxlX3Rlc3RfYml0KGludCBuciwgdm9sYXRpbGUgY29uc3Qgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHZhcmlhYmxlX3Rlc3RfYml0KGludCBuciwgdm9sYXRpbGUgY29uc3QgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmggYi9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmgKaW5kZXggZjYyZjQ3My4uYWUyMmJkZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2Jvb3RwYXJhbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9ib290cGFyYW0uaApAQCAtMTEsNiArMTEsNyBAQAogCiAvKiBzZXR1cCBkYXRhIHR5cGVzICovCiAjZGVmaW5lIFNFVFVQX05PTkUJCQkwCisjZGVmaW5lIFNFVFVQX0U4MjBfRVhUCQkJMQogCiAvKiBleHRlbnNpYmxlIHNldHVwIGRhdGEgbGlzdCBub2RlICovCiBzdHJ1Y3Qgc2V0dXBfZGF0YSB7CkBAIC00MCw2ICs0MSw3IEBACiAJX191OAl0eXBlX29mX2xvYWRlcjsKIAlfX3U4CWxvYWRmbGFnczsKICNkZWZpbmUgTE9BREVEX0hJR0gJKDE8PDApCisjZGVmaW5lIFFVSUVUX0ZMQUcJKDE8PDUpCiAjZGVmaW5lIEtFRVBfU0VHTUVOVFMJKDE8PDYpCiAjZGVmaW5lIENBTl9VU0VfSEVBUAkoMTw8NykKIAlfX3UxNglzZXR1cF9tb3ZlX3NpemU7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oIGIvaW5jbHVkZS9hc20teDg2L2NtcHhjaGdfNjQuaAppbmRleCBkOWIyNmI5Li4xNzQ2M2NjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9jbXB4Y2hnXzY0LmgKQEAgLTkzLDYgKzkzLDM5IEBACiAJcmV0dXJuIG9sZDsKIH0KIAorLyoKKyAqIEFsd2F5cyB1c2UgbG9ja2VkIG9wZXJhdGlvbnMgd2hlbiB0b3VjaGluZyBtZW1vcnkgc2hhcmVkIHdpdGggYQorICogaHlwZXJ2aXNvciwgc2luY2UgdGhlIHN5c3RlbSBtYXkgYmUgU01QIGV2ZW4gaWYgdGhlIGd1ZXN0IGtlcm5lbAorICogaXNuJ3QuCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBfX3N5bmNfY21weGNoZyh2b2xhdGlsZSB2b2lkICpwdHIsCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgb2xkLAorCQkJCQkgICB1bnNpZ25lZCBsb25nIG5ldywgaW50IHNpemUpCit7CisJdW5zaWduZWQgbG9uZyBwcmV2OworCXN3aXRjaCAoc2l6ZSkgeworCWNhc2UgMToKKwkJYXNtIHZvbGF0aWxlKCJsb2NrOyBjbXB4Y2hnYiAlYjEsJTIiCisJCQkgICAgIDogIj1hIihwcmV2KQorCQkJICAgICA6ICJxIihuZXcpLCAibSIoKl9feGcocHRyKSksICIwIihvbGQpCisJCQkgICAgIDogIm1lbW9yeSIpOworCQlyZXR1cm4gcHJldjsKKwljYXNlIDI6CisJCWFzbSB2b2xhdGlsZSgibG9jazsgY21weGNoZ3cgJXcxLCUyIgorCQkJICAgICA6ICI9YSIocHJldikKKwkJCSAgICAgOiAiciIobmV3KSwgIm0iKCpfX3hnKHB0cikpLCAiMCIob2xkKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHByZXY7CisJY2FzZSA0OgorCQlhc20gdm9sYXRpbGUoImxvY2s7IGNtcHhjaGdsICUxLCUyIgorCQkJICAgICA6ICI9YSIocHJldikKKwkJCSAgICAgOiAiciIobmV3KSwgIm0iKCpfX3hnKHB0cikpLCAiMCIob2xkKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHByZXY7CisJfQorCXJldHVybiBvbGQ7Cit9CisKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBfX2NtcHhjaGdfbG9jYWwodm9sYXRpbGUgdm9pZCAqcHRyLAogCQkJCQkgICAgdW5zaWduZWQgbG9uZyBvbGQsCiAJCQkJCSAgICB1bnNpZ25lZCBsb25nIG5ldywgaW50IHNpemUpCkBAIC0xMzksNiArMTcyLDEwIEBACiAJKChfX3R5cGVvZl9fKCoocHRyKSkpX19jbXB4Y2hnX2xvY2FsKChwdHIpLCAodW5zaWduZWQgbG9uZykobyksCVwKIAkJCQkJICAgICAodW5zaWduZWQgbG9uZykobiksCVwKIAkJCQkJICAgICBzaXplb2YoKihwdHIpKSkpCisjZGVmaW5lIHN5bmNfY21weGNoZyhwdHIsIG8sIG4pCQkJCQkJXAorCSgoX190eXBlb2ZfXygqKHB0cikpKV9fc3luY19jbXB4Y2hnKChwdHIpLCAodW5zaWduZWQgbG9uZykobyksCVwKKwkJCQkJICAgICh1bnNpZ25lZCBsb25nKShuKSwJCVwKKwkJCQkJICAgIHNpemVvZigqKHB0cikpKSkKICNkZWZpbmUgY21weGNoZzY0X2xvY2FsKHB0ciwgbywgbikJCQkJCVwKICh7CQkJCQkJCQkJXAogCUJVSUxEX0JVR19PTihzaXplb2YoKihwdHIpKSAhPSA4KTsJCQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKaW5kZXggMGQ2MDljOC4uNzVlZjk1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCkBAIC03NCw4ICs3NCw4IEBACiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0FSQ0hfUEVSRk1PTiAoMyozMisxMSkgLyogSW50ZWwgQXJjaGl0ZWN0dXJhbCBQZXJmTW9uICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX1BFQlMJKDMqMzIrMTIpICAvKiBQcmVjaXNlLUV2ZW50IEJhc2VkIFNhbXBsaW5nICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0JUUwkJKDMqMzIrMTMpICAvKiBCcmFuY2ggVHJhY2UgU3RvcmUgKi8KLS8qIDE0IGZyZWUgKi8KLS8qIDE1IGZyZWUgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfU1lTQ0FMTDMyCSgzKjMyKzE0KSAgLyogc3lzY2FsbCBpbiBpYTMyIHVzZXJzcGFjZSAqLworI2RlZmluZSBYODZfRkVBVFVSRV9TWVNFTlRFUjMyCSgzKjMyKzE1KSAgLyogc3lzZW50ZXIgaW4gaWEzMiB1c2Vyc3BhY2UgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfUkVQX0dPT0QJKDMqMzIrMTYpIC8qIHJlcCBtaWNyb2NvZGUgd29ya3Mgd2VsbCBvbiB0aGlzIENQVSAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9NRkVOQ0VfUkRUU0MgKDMqMzIrMTcpIC8qIE1mZW5jZSBzeW5jaHJvbml6ZXMgUkRUU0MgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfTEZFTkNFX1JEVFNDICgzKjMyKzE4KSAvKiBMZmVuY2Ugc3luY2hyb25pemVzIFJEVFNDICovCkBAIC0xMDYsNiArMTA2LDcgQEAKIC8qIE1vcmUgZXh0ZW5kZWQgQU1EIGZsYWdzOiBDUFVJRCBsZXZlbCAweDgwMDAwMDAxLCBlY3gsIHdvcmQgNiAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9MQUhGX0xNCSg2KjMyKyAwKSAvKiBMQUhGL1NBSEYgaW4gbG9uZyBtb2RlICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0NNUF9MRUdBQ1kJKDYqMzIrIDEpIC8qIElmIHllcyBIeXBlclRocmVhZGluZyBub3QgdmFsaWQgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfSUJTCQkoNiozMisgMTApIC8qIEluc3RydWN0aW9uIEJhc2VkIFNhbXBsaW5nICovCiAKIC8qCiAgKiBBdXhpbGlhcnkgZmxhZ3M6IExpbnV4IGRlZmluZWQgLSBGb3IgZmVhdHVyZXMgc2NhdHRlcmVkIGluIHZhcmlvdXMKQEAgLTE0MiwxMSArMTQzLDExIEBACiAjZGVmaW5lIGNsZWFyX2NwdV9jYXAoYywgYml0KQljbGVhcl9iaXQoYml0LCAodW5zaWduZWQgbG9uZyAqKSgoYyktPng4Nl9jYXBhYmlsaXR5KSkKICNkZWZpbmUgc2V0dXBfY2xlYXJfY3B1X2NhcChiaXQpIGRvIHsgXAogCWNsZWFyX2NwdV9jYXAoJmJvb3RfY3B1X2RhdGEsIGJpdCk7CVwKLQlzZXRfYml0KGJpdCwgY2xlYXJlZF9jcHVfY2Fwcyk7IAlcCisJc2V0X2JpdChiaXQsICh1bnNpZ25lZCBsb25nICopY2xlYXJlZF9jcHVfY2Fwcyk7IFwKIH0gd2hpbGUgKDApCiAjZGVmaW5lIHNldHVwX2ZvcmNlX2NwdV9jYXAoYml0KSBkbyB7IFwKIAlzZXRfY3B1X2NhcCgmYm9vdF9jcHVfZGF0YSwgYml0KTsJXAotCWNsZWFyX2JpdChiaXQsIGNsZWFyZWRfY3B1X2NhcHMpOyAJXAorCWNsZWFyX2JpdChiaXQsICh1bnNpZ25lZCBsb25nICopY2xlYXJlZF9jcHVfY2Fwcyk7IAlcCiB9IHdoaWxlICgwKQogCiAjZGVmaW5lIGNwdV9oYXNfZnB1CQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfRlBVKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmgKaW5kZXggZDI1MjZkMy4uNzUxNWMxOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCkBAIC0xLDUgKzEsMzkgQEAKKyNpZm5kZWYgX1g4Nl9DVVJSRU5UX0gKKyNkZWZpbmUgX1g4Nl9DVVJSRU5UX0gKKwogI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiY3VycmVudF8zMi5oIgotI2Vsc2UKLSMgaW5jbHVkZSAiY3VycmVudF82NC5oIgotI2VuZGlmCisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKyNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CisKK3N0cnVjdCB0YXNrX3N0cnVjdDsKKworREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBjdXJyZW50X3Rhc2spOworc3RhdGljIF9fYWx3YXlzX2lubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCit7CisJcmV0dXJuIHg4Nl9yZWFkX3BlcmNwdShjdXJyZW50X3Rhc2spOworfQorCisjZWxzZSAvKiBYODZfMzIgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKyNpbmNsdWRlIDxhc20vcGRhLmg+CisKK3N0cnVjdCB0YXNrX3N0cnVjdDsKKworc3RhdGljIF9fYWx3YXlzX2lubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCit7CisJcmV0dXJuIHJlYWRfcGRhKHBjdXJyZW50KTsKK30KKworI2Vsc2UgLyogX19BU1NFTUJMWV9fICovCisKKyNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KKyNkZWZpbmUgR0VUX0NVUlJFTlQocmVnKSBtb3ZxICVnczoocGRhX3BjdXJyZW50KSxyZWcKKworI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworCisjZW5kaWYgLyogWDg2XzMyICovCisKKyNkZWZpbmUgY3VycmVudCBnZXRfY3VycmVudCgpCisKKyNlbmRpZiAvKiBYODZfQ1VSUkVOVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2N1cnJlbnRfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFmOWJkYi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudF8zMi5oCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotI2lmbmRlZiBfSTM4Nl9DVVJSRU5UX0gKLSNkZWZpbmUgX0kzODZfQ1VSUkVOVF9ICi0KLSNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgotI2luY2x1ZGUgPGFzbS9wZXJjcHUuaD4KLQotc3RydWN0IHRhc2tfc3RydWN0OwotCi1ERUNMQVJFX1BFUl9DUFUoc3RydWN0IHRhc2tfc3RydWN0ICosIGN1cnJlbnRfdGFzayk7Ci1zdGF0aWMgX19hbHdheXNfaW5saW5lIHN0cnVjdCB0YXNrX3N0cnVjdCAqZ2V0X2N1cnJlbnQodm9pZCkKLXsKLQlyZXR1cm4geDg2X3JlYWRfcGVyY3B1KGN1cnJlbnRfdGFzayk7Ci19Ci0KLSNkZWZpbmUgY3VycmVudCBnZXRfY3VycmVudCgpCi0KLSNlbmRpZiAvKiAhKF9JMzg2X0NVUlJFTlRfSCkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzY0LmggYi9pbmNsdWRlL2FzbS14ODYvY3VycmVudF82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDM2OGVkLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0jaWZuZGVmIF9YODZfNjRfQ1VSUkVOVF9ICi0jZGVmaW5lIF9YODZfNjRfQ1VSUkVOVF9ICi0KLSNpZiAhZGVmaW5lZChfX0FTU0VNQkxZX18pCi1zdHJ1Y3QgdGFza19zdHJ1Y3Q7Ci0KLSNpbmNsdWRlIDxhc20vcGRhLmg+Ci0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHRhc2tfc3RydWN0ICpnZXRfY3VycmVudCh2b2lkKQotewotCXN0cnVjdCB0YXNrX3N0cnVjdCAqdCA9IHJlYWRfcGRhKHBjdXJyZW50KTsKLQlyZXR1cm4gdDsKLX0KLQotI2RlZmluZSBjdXJyZW50IGdldF9jdXJyZW50KCkKLQotI2Vsc2UKLQotI2lmbmRlZiBBU01fT0ZGU0VUX0gKLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLSNlbmRpZgotCi0jZGVmaW5lIEdFVF9DVVJSRU5UKHJlZykgbW92cSAlZ3M6KHBkYV9wY3VycmVudCkscmVnCi0KLSNlbmRpZgotCi0jZW5kaWYgLyogIShfWDg2XzY0X0NVUlJFTlRfSCkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmggYi9pbmNsdWRlL2FzbS14ODYvZGVzYy5oCmluZGV4IDI2OGEwMTIuLmE0NGM0ZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Rlc2MuaApAQCAtMjksMTEgKzI5LDE3IEBACiBleHRlcm4gc3RydWN0IGRlc2NfcHRyIGlkdF9kZXNjcjsKIGV4dGVybiBnYXRlX2Rlc2MgaWR0X3RhYmxlW107CiAKK3N0cnVjdCBnZHRfcGFnZSB7CisJc3RydWN0IGRlc2Nfc3RydWN0IGdkdFtHRFRfRU5UUklFU107Cit9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoUEFHRV9TSVpFKSkpOworREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCBnZHRfcGFnZSwgZ2R0X3BhZ2UpOworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBkZXNjX3N0cnVjdCAqZ2V0X2NwdV9nZHRfdGFibGUodW5zaWduZWQgaW50IGNwdSkKK3sKKwlyZXR1cm4gcGVyX2NwdShnZHRfcGFnZSwgY3B1KS5nZHQ7Cit9CisKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci1leHRlcm4gc3RydWN0IGRlc2Nfc3RydWN0IGNwdV9nZHRfdGFibGVbR0RUX0VOVFJJRVNdOwotZXh0ZXJuIHN0cnVjdCBkZXNjX3B0ciBjcHVfZ2R0X2Rlc2NyW107Ci0vKiB0aGUgY3B1IGdkdCBhY2Nlc3NvciAqLwotI2RlZmluZSBnZXRfY3B1X2dkdF90YWJsZSh4KSAoKHN0cnVjdCBkZXNjX3N0cnVjdCAqKWNwdV9nZHRfZGVzY3JbeF0uYWRkcmVzcykKIAogc3RhdGljIGlubGluZSB2b2lkIHBhY2tfZ2F0ZShnYXRlX2Rlc2MgKmdhdGUsIHVuc2lnbmVkIHR5cGUsIHVuc2lnbmVkIGxvbmcgZnVuYywKIAkJCSAgICAgdW5zaWduZWQgZHBsLCB1bnNpZ25lZCBpc3QsIHVuc2lnbmVkIHNlZykKQEAgLTUxLDE2ICs1Nyw2IEBACiB9CiAKICNlbHNlCi1zdHJ1Y3QgZ2R0X3BhZ2UgewotCXN0cnVjdCBkZXNjX3N0cnVjdCBnZHRbR0RUX0VOVFJJRVNdOwotfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKFBBR0VfU0laRSkpKTsKLURFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgZ2R0X3BhZ2UsIGdkdF9wYWdlKTsKLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmdldF9jcHVfZ2R0X3RhYmxlKHVuc2lnbmVkIGludCBjcHUpCi17Ci0JcmV0dXJuIHBlcl9jcHUoZ2R0X3BhZ2UsIGNwdSkuZ2R0OwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgcGFja19nYXRlKGdhdGVfZGVzYyAqZ2F0ZSwgdW5zaWduZWQgY2hhciB0eXBlLAogCQkJICAgICB1bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGRwbCwgdW5zaWduZWQgZmxhZ3MsCiAJCQkgICAgIHVuc2lnbmVkIHNob3J0IHNlZykKQEAgLTE5Miw4ICsxODgsOCBAQAogCQl1bnNpZ25lZCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJCWxkdF9kZXNjIGxkdDsKIAotCQlzZXRfdHNzbGR0X2Rlc2NyaXB0b3IoJmxkdCwgKHVuc2lnbmVkIGxvbmcpYWRkciwKLQkJCQkgICAgICBERVNDX0xEVCwgZW50cmllcyAqIHNpemVvZihsZHQpIC0gMSk7CisJCXNldF90c3NsZHRfZGVzY3JpcHRvcigmbGR0LCAodW5zaWduZWQgbG9uZylhZGRyLCBERVNDX0xEVCwKKwkJCQkgICAgICBlbnRyaWVzICogTERUX0VOVFJZX1NJWkUgLSAxKTsKIAkJd3JpdGVfZ2R0X2VudHJ5KGdldF9jcHVfZ2R0X3RhYmxlKGNwdSksIEdEVF9FTlRSWV9MRFQsCiAJCQkJJmxkdCwgREVTQ19MRFQpOwogCQlhc20gdm9sYXRpbGUoImxsZHQgJXcwIjo6InEiIChHRFRfRU5UUllfTERUKjgpKTsKQEAgLTMxMSw2ICszMDcsMjggQEAKIAlfc2V0X2dhdGUobiwgR0FURV9JTlRFUlJVUFQsIGFkZHIsIDAsIDAsIF9fS0VSTkVMX0NTKTsKIH0KIAorI2RlZmluZSBTWVNfVkVDVE9SX0ZSRUUJCTAKKyNkZWZpbmUgU1lTX1ZFQ1RPUl9BTExPQ0VECTEKKworZXh0ZXJuIGludCBmaXJzdF9zeXN0ZW1fdmVjdG9yOworZXh0ZXJuIGNoYXIgc3lzdGVtX3ZlY3RvcnNbXTsKKworc3RhdGljIGlubGluZSB2b2lkIGFsbG9jX3N5c3RlbV92ZWN0b3IoaW50IHZlY3RvcikKK3sKKwlpZiAoc3lzdGVtX3ZlY3RvcnNbdmVjdG9yXSA9PSBTWVNfVkVDVE9SX0ZSRUUpIHsKKwkJc3lzdGVtX3ZlY3RvcnNbdmVjdG9yXSA9IFNZU19WRUNUT1JfQUxMT0NFRDsKKwkJaWYgKGZpcnN0X3N5c3RlbV92ZWN0b3IgPiB2ZWN0b3IpCisJCQlmaXJzdF9zeXN0ZW1fdmVjdG9yID0gdmVjdG9yOworCX0gZWxzZQorCQlCVUcoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFsbG9jX2ludHJfZ2F0ZSh1bnNpZ25lZCBpbnQgbiwgdm9pZCAqYWRkcikKK3sKKwlhbGxvY19zeXN0ZW1fdmVjdG9yKG4pOworCXNldF9pbnRyX2dhdGUobiwgYWRkcik7Cit9CisKIC8qCiAgKiBUaGlzIHJvdXRpbmUgc2V0cyB1cCBhbiBpbnRlcnJ1cHQgZ2F0ZSBhdCBkaXJlY3RvcnkgcHJpdmlsZWdlIGxldmVsIDMuCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjX2RlZnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kZXNjX2RlZnMuaAppbmRleCBlY2NiNGVhLi5mN2JhY2YzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZGVzY19kZWZzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Rlc2NfZGVmcy5oCkBAIC03NSwxMCArNzUsMTQgQEAKIHR5cGVkZWYgc3RydWN0IGdhdGVfc3RydWN0NjQgZ2F0ZV9kZXNjOwogdHlwZWRlZiBzdHJ1Y3QgbGR0dHNzX2Rlc2M2NCBsZHRfZGVzYzsKIHR5cGVkZWYgc3RydWN0IGxkdHRzc19kZXNjNjQgdHNzX2Rlc2M7CisjZGVmaW5lIGdhdGVfb2Zmc2V0KGcpICgoZykub2Zmc2V0X2xvdyB8ICgodW5zaWduZWQgbG9uZykoZykub2Zmc2V0X21pZGRsZSA8PCAxNikgfCAoKHVuc2lnbmVkIGxvbmcpKGcpLm9mZnNldF9oaWdoIDw8IDMyKSkKKyNkZWZpbmUgZ2F0ZV9zZWdtZW50KGcpICgoZykuc2VnbWVudCkKICNlbHNlCiB0eXBlZGVmIHN0cnVjdCBkZXNjX3N0cnVjdCBnYXRlX2Rlc2M7CiB0eXBlZGVmIHN0cnVjdCBkZXNjX3N0cnVjdCBsZHRfZGVzYzsKIHR5cGVkZWYgc3RydWN0IGRlc2Nfc3RydWN0IHRzc19kZXNjOworI2RlZmluZSBnYXRlX29mZnNldChnKQkJKCgoZykuYiAmIDB4ZmZmZjAwMDApIHwgKChnKS5hICYgMHgwMDAwZmZmZikpCisjZGVmaW5lIGdhdGVfc2VnbWVudChnKQkJKChnKS5hID4+IDE2KQogI2VuZGlmCiAKIHN0cnVjdCBkZXNjX3B0ciB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZG1pLmggYi9pbmNsdWRlL2FzbS14ODYvZG1pLmgKaW5kZXggNGVkZjc1MS4uNThhODY1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2RtaS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9kbWkuaApAQCAtMywxMiArMyw2IEBACiAKICNpbmNsdWRlIDxhc20vaW8uaD4KIAotI2lmZGVmIENPTkZJR19YODZfMzIKLQotI2RlZmluZSBkbWlfYWxsb2MgYWxsb2NfYm9vdG1lbQotCi0jZWxzZSAvKiBDT05GSUdfWDg2XzMyICovCi0KICNkZWZpbmUgRE1JX01BWF9EQVRBIDIwNDgKIAogZXh0ZXJuIGludCBkbWlfYWxsb2NfaW5kZXg7CkBAIC0yNSw4ICsxOSw2IEBACiAJcmV0dXJuIGRtaV9hbGxvY19kYXRhICsgaWR4OwogfQogCi0jZW5kaWYKLQogLyogVXNlIGVhcmx5IElPIG1hcHBpbmdzIGZvciBETUkgYmVjYXVzZSBpdCdzIGluaXRpYWxpemVkIGVhcmx5ICovCiAjZGVmaW5lIGRtaV9pb3JlbWFwIGVhcmx5X2lvcmVtYXAKICNkZWZpbmUgZG1pX2lvdW5tYXAgZWFybHlfaW91bm1hcApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMi5oIGIvaW5jbHVkZS9hc20teDg2L2R3YXJmMi5oCmluZGV4IGIzY2JiMGMuLjczOGJiOWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZHdhcmYyLmgKQEAgLTEsNSArMSw2MSBAQAotI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiZHdhcmYyXzMyLmgiCisjaWZuZGVmIF9EV0FSRjJfSAorI2RlZmluZSBfRFdBUkYyX0gKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKyN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKKyNlbmRpZgorCisvKgorICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgorICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5CisgICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KKyAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCisgKi8KKworI2lmZGVmIENPTkZJR19BU19DRkkKKworI2RlZmluZSBDRklfU1RBUlRQUk9DIC5jZmlfc3RhcnRwcm9jCisjZGVmaW5lIENGSV9FTkRQUk9DIC5jZmlfZW5kcHJvYworI2RlZmluZSBDRklfREVGX0NGQSAuY2ZpX2RlZl9jZmEKKyNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIgLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyCisjZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVCAuY2ZpX2RlZl9jZmFfb2Zmc2V0CisjZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVCAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0CisjZGVmaW5lIENGSV9PRkZTRVQgLmNmaV9vZmZzZXQKKyNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQgLmNmaV9yZWxfb2Zmc2V0CisjZGVmaW5lIENGSV9SRUdJU1RFUiAuY2ZpX3JlZ2lzdGVyCisjZGVmaW5lIENGSV9SRVNUT1JFIC5jZmlfcmVzdG9yZQorI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgLmNmaV9yZW1lbWJlcl9zdGF0ZQorI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSAuY2ZpX3Jlc3RvcmVfc3RhdGUKKyNkZWZpbmUgQ0ZJX1VOREVGSU5FRCAuY2ZpX3VuZGVmaW5lZAorCisjaWZkZWYgQ09ORklHX0FTX0NGSV9TSUdOQUxfRlJBTUUKKyNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSAuY2ZpX3NpZ25hbF9mcmFtZQogI2Vsc2UKLSMgaW5jbHVkZSAiZHdhcmYyXzY0LmgiCisjZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUKKyNlbmRpZgorCisjZWxzZQorCisvKiBEdWUgdG8gdGhlIHN0cnVjdHVyZSBvZiBwcmUtZXhpc2l0aW5nIGNvZGUsIGRvbid0IHVzZSBhc3NlbWJsZXIgbGluZQorICAgY29tbWVudCBjaGFyYWN0ZXIgIyB0byBpZ25vcmUgdGhlIGFyZ3VtZW50cy4gSW5zdGVhZCwgdXNlIGEgZHVtbXkgbWFjcm8uICovCisubWFjcm8gY2ZpX2lnbm9yZSBhPTAsIGI9MCwgYz0wLCBkPTAKKy5lbmRtCisKKyNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwljZmlfaWdub3JlCisjZGVmaW5lIENGSV9FTkRQUk9DCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX0RFRl9DRkEJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUgljZmlfaWdub3JlCisjZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9PRkZTRVQJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfUkVMX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRUdJU1RFUgljZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRVNUT1JFCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFIGNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUgY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfVU5ERUZJTkVEIGNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSBjZmlfaWdub3JlCisKKyNlbmRpZgorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ2NjM5OC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi0jaWZuZGVmIF9EV0FSRjJfSAotI2RlZmluZSBfRFdBUkYyX0gKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLSN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKLSNlbmRpZgotCi0vKgotICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgotICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5Ci0gICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KLSAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCi0gKi8KLQotI2lmZGVmIENPTkZJR19VTldJTkRfSU5GTwotCi0jZGVmaW5lIENGSV9TVEFSVFBST0MgLmNmaV9zdGFydHByb2MKLSNkZWZpbmUgQ0ZJX0VORFBST0MgLmNmaV9lbmRwcm9jCi0jZGVmaW5lIENGSV9ERUZfQ0ZBIC5jZmlfZGVmX2NmYQotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUiAuY2ZpX2RlZl9jZmFfcmVnaXN0ZXIKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUIC5jZmlfZGVmX2NmYV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX09GRlNFVCAuY2ZpX29mZnNldAotI2RlZmluZSBDRklfUkVMX09GRlNFVCAuY2ZpX3JlbF9vZmZzZXQKLSNkZWZpbmUgQ0ZJX1JFR0lTVEVSIC5jZmlfcmVnaXN0ZXIKLSNkZWZpbmUgQ0ZJX1JFU1RPUkUgLmNmaV9yZXN0b3JlCi0jZGVmaW5lIENGSV9SRU1FTUJFUl9TVEFURSAuY2ZpX3JlbWVtYmVyX3N0YXRlCi0jZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIC5jZmlfcmVzdG9yZV9zdGF0ZQotI2RlZmluZSBDRklfVU5ERUZJTkVEIC5jZmlfdW5kZWZpbmVkCi0KLSNpZmRlZiBDT05GSUdfQVNfQ0ZJX1NJR05BTF9GUkFNRQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIC5jZmlfc2lnbmFsX2ZyYW1lCi0jZWxzZQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FCi0jZW5kaWYKLQotI2Vsc2UKLQotLyogRHVlIHRvIHRoZSBzdHJ1Y3R1cmUgb2YgcHJlLWV4aXNpdGluZyBjb2RlLCBkb24ndCB1c2UgYXNzZW1ibGVyIGxpbmUKLSAgIGNvbW1lbnQgY2hhcmFjdGVyICMgdG8gaWdub3JlIHRoZSBhcmd1bWVudHMuIEluc3RlYWQsIHVzZSBhIGR1bW15IG1hY3JvLiAqLwotLm1hY3JvIGlnbm9yZSBhPTAsIGI9MCwgYz0wLCBkPTAKLS5lbmRtCi0KLSNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwlpZ25vcmUKLSNkZWZpbmUgQ0ZJX0VORFBST0MJaWdub3JlCi0jZGVmaW5lIENGSV9ERUZfQ0ZBCWlnbm9yZQotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUglpZ25vcmUKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUCWlnbm9yZQotI2RlZmluZSBDRklfQURKVVNUX0NGQV9PRkZTRVQJaWdub3JlCi0jZGVmaW5lIENGSV9PRkZTRVQJaWdub3JlCi0jZGVmaW5lIENGSV9SRUxfT0ZGU0VUCWlnbm9yZQotI2RlZmluZSBDRklfUkVHSVNURVIJaWdub3JlCi0jZGVmaW5lIENGSV9SRVNUT1JFCWlnbm9yZQotI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgaWdub3JlCi0jZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIGlnbm9yZQotI2RlZmluZSBDRklfVU5ERUZJTkVEIGlnbm9yZQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIGlnbm9yZQotCi0jZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NTA1MTkuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMl82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotI2lmbmRlZiBfRFdBUkYyX0gKLSNkZWZpbmUgX0RXQVJGMl9IIDEKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLSN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKLSNlbmRpZgotCi0vKgotICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgotICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5Ci0gICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KLSAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCi0gKi8KLQotI2lmZGVmIENPTkZJR19BU19DRkkKLQotI2RlZmluZSBDRklfU1RBUlRQUk9DIC5jZmlfc3RhcnRwcm9jCi0jZGVmaW5lIENGSV9FTkRQUk9DIC5jZmlfZW5kcHJvYwotI2RlZmluZSBDRklfREVGX0NGQSAuY2ZpX2RlZl9jZmEKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIgLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVCAuY2ZpX2RlZl9jZmFfb2Zmc2V0Ci0jZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVCAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0Ci0jZGVmaW5lIENGSV9PRkZTRVQgLmNmaV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQgLmNmaV9yZWxfb2Zmc2V0Ci0jZGVmaW5lIENGSV9SRUdJU1RFUiAuY2ZpX3JlZ2lzdGVyCi0jZGVmaW5lIENGSV9SRVNUT1JFIC5jZmlfcmVzdG9yZQotI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgLmNmaV9yZW1lbWJlcl9zdGF0ZQotI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSAuY2ZpX3Jlc3RvcmVfc3RhdGUKLSNkZWZpbmUgQ0ZJX1VOREVGSU5FRCAuY2ZpX3VuZGVmaW5lZAotI2lmZGVmIENPTkZJR19BU19DRklfU0lHTkFMX0ZSQU1FCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUgLmNmaV9zaWduYWxfZnJhbWUKLSNlbHNlCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUKLSNlbmRpZgotCi0jZWxzZQotCi0vKiB1c2UgYXNzZW1ibGVyIGxpbmUgY29tbWVudCBjaGFyYWN0ZXIgIyB0byBpZ25vcmUgdGhlIGFyZ3VtZW50cy4gKi8KLSNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwkjCi0jZGVmaW5lIENGSV9FTkRQUk9DCSMKLSNkZWZpbmUgQ0ZJX0RFRl9DRkEJIwotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUgkjCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVAkjCi0jZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVAkjCi0jZGVmaW5lIENGSV9PRkZTRVQJIwotI2RlZmluZSBDRklfUkVMX09GRlNFVAkjCi0jZGVmaW5lIENGSV9SRUdJU1RFUgkjCi0jZGVmaW5lIENGSV9SRVNUT1JFCSMKLSNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFCSMKLSNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUJIwotI2RlZmluZSBDRklfVU5ERUZJTkVECSMKLSNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRQkjCi0KLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwLmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMC5oCmluZGV4IDcwMDQyNTEuLjMzZTc5M2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2U4MjAuaApAQCAtMiw2ICsyLDQxIEBACiAjZGVmaW5lIF9fQVNNX0U4MjBfSAogI2RlZmluZSBFODIwTUFQCTB4MmQwCQkvKiBvdXIgbWFwICovCiAjZGVmaW5lIEU4MjBNQVgJMTI4CQkvKiBudW1iZXIgb2YgZW50cmllcyBpbiBFODIwTUFQICovCisKKy8qCisgKiBMZWdhY3kgRTgyMCBCSU9TIGxpbWl0cyB1cyB0byAxMjggKEU4MjBNQVgpIG5vZGVzIGR1ZSB0byB0aGUKKyAqIGNvbnN0cmFpbmVkIHNwYWNlIGluIHRoZSB6ZXJvcGFnZS4gIElmIHdlIGhhdmUgbW9yZSBub2RlcyB0aGFuCisgKiB0aGF0LCBhbmQgaWYgd2UndmUgYm9vdGVkIG9mZiBFRkkgZmlybXdhcmUsIHRoZW4gdGhlIEVGSSB0YWJsZXMKKyAqIHBhc3NlZCB1cyBmcm9tIHRoZSBFRkkgZmlybXdhcmUgY2FuIGxpc3QgbW9yZSBub2Rlcy4gIFNpemUgb3VyCisgKiBpbnRlcm5hbCBtZW1vcnkgbWFwIHRhYmxlcyB0byBoYXZlIHJvb20gZm9yIHRoZXNlIGFkZGl0aW9uYWwKKyAqIG5vZGVzLCBiYXNlZCBvbiB1cCB0byB0aHJlZSBlbnRyaWVzIHBlciBub2RlIGZvciB3aGljaCB0aGUKKyAqIGtlcm5lbCB3YXMgYnVpbHQ6IE1BWF9OVU1OT0RFUyA9PSAoMSA8PCBDT05GSUdfTk9ERVNfU0hJRlQpLAorICogcGx1cyBFODIwTUFYLCBhbGxvd2luZyBzcGFjZSBmb3IgdGhlIHBvc3NpYmxlIGR1cGxpY2F0ZSBFODIwCisgKiBlbnRyaWVzIHRoYXQgbWlnaHQgbmVlZCByb29tIGluIHRoZSBzYW1lIGFycmF5cywgcHJpb3IgdG8gdGhlCisgKiBjYWxsIHRvIHNhbml0aXplX2U4MjBfbWFwKCkgdG8gcmVtb3ZlIGR1cGxpY2F0ZXMuICBUaGUgYWxsb3dhbmNlCisgKiBvZiB0aHJlZSBtZW1vcnkgbWFwIGVudHJpZXMgcGVyIG5vZGUgaXMgImVub3VnaCIgZW50cmllcyBmb3IKKyAqIHRoZSBpbml0aWFsIGhhcmR3YXJlIHBsYXRmb3JtIG1vdGl2YXRpbmcgdGhpcyBtZWNoYW5pc20gdG8gbWFrZQorICogdXNlIG9mIGFkZGl0aW9uYWwgRUZJIG1hcCBlbnRyaWVzLiAgRnV0dXJlIHBsYXRmb3JtcyBtYXkgd2FudAorICogdG8gYWxsb3cgbW9yZSB0aGFuIHRocmVlIGVudHJpZXMgcGVyIG5vZGUgb3Igb3RoZXJ3aXNlIHJlZmluZQorICogdGhpcyBzaXplLgorICovCisKKy8qCisgKiBPZGQ6ICdtYWtlIGhlYWRlcnNfY2hlY2snIGNvbXBsYWlucyBhYm91dCBudW1hLmggaWYgSSB0cnkKKyAqIHRvIGNvbGxhcHNlIHRoZSBuZXh0IHR3byAjaWZkZWYgbGluZXMgdG8gYSBzaW5nbGUgbGluZToKKyAqCSNpZiBkZWZpbmVkKF9fS0VSTkVMX18pICYmIGRlZmluZWQoQ09ORklHX0VGSSkKKyAqLworI2lmZGVmIF9fS0VSTkVMX18KKyNpZmRlZiBDT05GSUdfRUZJCisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgorI2RlZmluZSBFODIwX1hfTUFYIChFODIwTUFYICsgMyAqIE1BWF9OVU1OT0RFUykKKyNlbHNlCS8qICEgQ09ORklHX0VGSSAqLworI2RlZmluZSBFODIwX1hfTUFYIEU4MjBNQVgKKyNlbmRpZgorI2Vsc2UJLyogISBfX0tFUk5FTF9fICovCisjZGVmaW5lIEU4MjBfWF9NQVggRTgyME1BWAorI2VuZGlmCisKICNkZWZpbmUgRTgyME5SCTB4MWU4CQkvKiAjIGVudHJpZXMgaW4gRTgyME1BUCAqLwogCiAjZGVmaW5lIEU4MjBfUkFNCTEKQEAgLTksNiArNDQsOSBAQAogI2RlZmluZSBFODIwX0FDUEkJMwogI2RlZmluZSBFODIwX05WUwk0CiAKKy8qIHJlc2VydmVkIFJBTSB1c2VkIGJ5IGtlcm5lbCBpdHNlbGYgKi8KKyNkZWZpbmUgRTgyMF9SRVNFUlZFRF9LRVJOICAgICAgICAxMjgKKwogI2lmbmRlZiBfX0FTU0VNQkxZX18KIHN0cnVjdCBlODIwZW50cnkgewogCV9fdTY0IGFkZHI7CS8qIHN0YXJ0IG9mIG1lbW9yeSBzZWdtZW50ICovCkBAIC0xOCwyMiArNTYsNzkgQEAKIAogc3RydWN0IGU4MjBtYXAgewogCV9fdTMyIG5yX21hcDsKLQlzdHJ1Y3QgZTgyMGVudHJ5IG1hcFtFODIwTUFYXTsKKwlzdHJ1Y3QgZTgyMGVudHJ5IG1hcFtFODIwX1hfTUFYXTsKIH07CisKKy8qIHNlZSBjb21tZW50IGluIGFyY2gveDg2L2tlcm5lbC9lODIwLmMgKi8KK2V4dGVybiBzdHJ1Y3QgZTgyMG1hcCBlODIwOworZXh0ZXJuIHN0cnVjdCBlODIwbWFwIGU4MjBfc2F2ZWQ7CisKK2V4dGVybiBpbnQgZTgyMF9hbnlfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSk7CitleHRlcm4gaW50IGU4MjBfYWxsX21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpOworZXh0ZXJuIHZvaWQgZTgyMF9hZGRfcmVnaW9uKHU2NCBzdGFydCwgdTY0IHNpemUsIGludCB0eXBlKTsKK2V4dGVybiB2b2lkIGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobyk7CitleHRlcm4gaW50CitzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbWF4X25yX21hcCwgaW50ICpwbnJfbWFwKTsKK2V4dGVybiB1NjQgZTgyMF91cGRhdGVfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkgICAgICAgdW5zaWduZWQgbmV3X3R5cGUpOworZXh0ZXJuIHU2NCBlODIwX3JlbW92ZV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKKwkJCSAgICAgaW50IGNoZWNrdHlwZSk7CitleHRlcm4gdm9pZCB1cGRhdGVfZTgyMCh2b2lkKTsKK2V4dGVybiB2b2lkIGU4MjBfc2V0dXBfZ2FwKHZvaWQpOworZXh0ZXJuIGludCBlODIwX3NlYXJjaF9nYXAodW5zaWduZWQgbG9uZyAqZ2Fwc3RhcnQsIHVuc2lnbmVkIGxvbmcgKmdhcHNpemUsCisJCQl1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGxvbmcgbG9uZyBlbmRfYWRkcik7CitzdHJ1Y3Qgc2V0dXBfZGF0YTsKK2V4dGVybiB2b2lkIHBhcnNlX2U4MjBfZXh0KHN0cnVjdCBzZXR1cF9kYXRhICpkYXRhLCB1bnNpZ25lZCBsb25nIHBhX2RhdGEpOworCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzY0KSB8fCBcCisJKGRlZmluZWQoQ09ORklHX1g4Nl8zMikgJiYgZGVmaW5lZChDT05GSUdfSElCRVJOQVRJT04pKQorZXh0ZXJuIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuKQoreworfQorI2VuZGlmCisKK2V4dGVybiB1bnNpZ25lZCBsb25nIGVuZF91c2VyX3BmbjsKKworZXh0ZXJuIHU2NCBmaW5kX2U4MjBfYXJlYSh1NjQgc3RhcnQsIHU2NCBlbmQsIHU2NCBzaXplLCB1NjQgYWxpZ24pOworZXh0ZXJuIHU2NCBmaW5kX2U4MjBfYXJlYV9zaXplKHU2NCBzdGFydCwgdTY0ICpzaXplcCwgdTY0IGFsaWduKTsKK2V4dGVybiB2b2lkIHJlc2VydmVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lKTsKK2V4dGVybiB2b2lkIHJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUpOworZXh0ZXJuIHZvaWQgZnJlZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQpOworZXh0ZXJuIHZvaWQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odTY0IHN0YXJ0LCB1NjQgZW5kKTsKK2V4dGVybiB1NjQgZWFybHlfcmVzZXJ2ZV9lODIwKHU2NCBzdGFydHQsIHU2NCBzaXpldCwgdTY0IGFsaWduKTsKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZTgyMF9lbmRfb2ZfcmFtX3Bmbih2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGU4MjBfZW5kX29mX2xvd19yYW1fcGZuKHZvaWQpOworZXh0ZXJuIGludCBlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbihjb25zdCBzdHJ1Y3QgZTgyMGVudHJ5ICplaSwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBsYXN0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfZW5kcGZuKTsKK2V4dGVybiB2b2lkIGU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCSB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOworZXh0ZXJuIHU2NCBlODIwX2hvbGVfc2l6ZSh1NjQgc3RhcnQsIHU2NCBlbmQpOworZXh0ZXJuIHZvaWQgZmluaXNoX2U4MjBfcGFyc2luZyh2b2lkKTsKK2V4dGVybiB2b2lkIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXModm9pZCk7CitleHRlcm4gdm9pZCBzZXR1cF9tZW1vcnlfbWFwKHZvaWQpOworZXh0ZXJuIGNoYXIgKmRlZmF1bHRfbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CitleHRlcm4gY2hhciAqbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CitleHRlcm4gY2hhciAqbWVtb3J5X3NldHVwKHZvaWQpOworCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAKICNkZWZpbmUgSVNBX1NUQVJUX0FERFJFU1MJMHhhMDAwMAogI2RlZmluZSBJU0FfRU5EX0FERFJFU1MJCTB4MTAwMDAwCisjZGVmaW5lIGlzX0lTQV9yYW5nZShzLCBlKSAoKHMpID49IElTQV9TVEFSVF9BRERSRVNTICYmIChlKSA8IElTQV9FTkRfQUREUkVTUykKIAogI2RlZmluZSBCSU9TX0JFR0lOCQkweDAwMGEwMDAwCiAjZGVmaW5lIEJJT1NfRU5ECQkweDAwMTAwMDAwCiAKICNpZmRlZiBfX0tFUk5FTF9fCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJlODIwXzMyLmgiCi0jZWxzZQotIyBpbmNsdWRlICJlODIwXzY0LmgiCi0jZW5kaWYKKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKworI2RlZmluZSBISUdIX01FTU9SWQkoMTAyNCoxMDI0KQogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmICAvKiBfX0FTTV9FODIwX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMF8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOWY3YzZlLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogc3RydWN0dXJlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIHRoZSBpbnQgMTUsIGF4PWU4MjAgbWVtb3J5IG1hcAotICogc2NoZW1lLgotICoKLSAqIEluIGEgbnV0c2hlbGwsIGFyY2gvaTM4Ni9ib290L3NldHVwLlMgcG9wdWxhdGVzIGEgc2NyYXRjaCB0YWJsZQotICogaW4gdGhlIGVtcHR5X3plcm9fYmxvY2sgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgdXNhYmxlIGFkZHJlc3Mvc2l6ZQotICogZHVwbGVzLiAgIEluIGFyY2gvaTM4Ni9rZXJuZWwvc2V0dXAuYywgdGhpcyBpbmZvcm1hdGlvbiBpcwotICogdHJhbnNmZXJyZWQgaW50byB0aGUgZTgyMG1hcCwgYW5kIGluIGFyY2gvaTM4Ni9tbS9pbml0LmMsIHRoYXQKLSAqIG5ldyBpbmZvcm1hdGlvbiBpcyB1c2VkIHRvIG1hcmsgcGFnZXMgcmVzZXJ2ZWQgb3Igbm90LgotICoKLSAqLwotI2lmbmRlZiBfX0U4MjBfSEVBREVSCi0jZGVmaW5lIF9fRTgyMF9IRUFERVIKLQotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgotCi0jZGVmaW5lIEhJR0hfTUVNT1JZCSgxMDI0KjEwMjQpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLWV4dGVybiBzdHJ1Y3QgZTgyMG1hcCBlODIwOwotZXh0ZXJuIHZvaWQgdXBkYXRlX2U4MjAodm9pZCk7Ci0KLWV4dGVybiBpbnQgZTgyMF9hbGxfbWFwcGVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJICAgdW5zaWduZWQgdHlwZSk7Ci1leHRlcm4gaW50IGU4MjBfYW55X21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpOwotZXh0ZXJuIHZvaWQgcHJvcGFnYXRlX2U4MjBfbWFwKHZvaWQpOwotZXh0ZXJuIHZvaWQgcmVnaXN0ZXJfYm9vdG1lbV9sb3dfcGFnZXModW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbik7Ci1leHRlcm4gdm9pZCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsCi0JCQkgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgaW50IHR5cGUpOwotZXh0ZXJuIHZvaWQgdXBkYXRlX21lbW9yeV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKLQkJCQl1bnNpZ25lZCBuZXdfdHlwZSk7Ci1leHRlcm4gdm9pZCBlODIwX3JlZ2lzdGVyX21lbW9yeSh2b2lkKTsKLWV4dGVybiB2b2lkIGxpbWl0X3JlZ2lvbnModW5zaWduZWQgbG9uZyBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgcHJpbnRfbWVtb3J5X21hcChjaGFyICp3aG8pOwotZXh0ZXJuIHZvaWQgaW5pdF9pb21lbV9yZXNvdXJjZXMoc3RydWN0IHJlc291cmNlICpjb2RlX3Jlc291cmNlLAotCQkJCSBzdHJ1Y3QgcmVzb3VyY2UgKmRhdGFfcmVzb3VyY2UsCi0JCQkJIHN0cnVjdCByZXNvdXJjZSAqYnNzX3Jlc291cmNlKTsKLQotI2lmIGRlZmluZWQoQ09ORklHX1BNKSAmJiBkZWZpbmVkKENPTkZJR19ISUJFUk5BVElPTikKLWV4dGVybiB2b2lkIGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKTsKLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotCi0jZW5kaWYvKiFfX0FTU0VNQkxZX18qLwotI2VuZGlmLypfX0U4MjBfSEVBREVSKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMF82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWM0ZDY4Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgotICogc3RydWN0dXJlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIHRoZSBpbnQgMTUsIGF4PWU4MjAgbWVtb3J5IG1hcAotICogc2NoZW1lLgotICoKLSAqIEluIGEgbnV0c2hlbGwsIHNldHVwLlMgcG9wdWxhdGVzIGEgc2NyYXRjaCB0YWJsZSBpbiB0aGUKLSAqIGVtcHR5X3plcm9fYmxvY2sgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgdXNhYmxlIGFkZHJlc3Mvc2l6ZQotICogZHVwbGVzLiAgc2V0dXAuYywgdGhpcyBpbmZvcm1hdGlvbiBpcyB0cmFuc2ZlcnJlZCBpbnRvIHRoZSBlODIwbWFwLAotICogYW5kIGluIGluaXQuYy9udW1hLmMsIHRoYXQgbmV3IGluZm9ybWF0aW9uIGlzIHVzZWQgdG8gbWFyayBwYWdlcwotICogcmVzZXJ2ZWQgb3Igbm90LgotICovCi0jaWZuZGVmIF9fRTgyMF9IRUFERVIKLSNkZWZpbmUgX19FODIwX0hFQURFUgotCi0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gdW5zaWduZWQgbG9uZyBmaW5kX2U4MjBfYXJlYSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCQkgICAgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBsb25nIGFsaWduKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGZpbmRfZTgyMF9hcmVhX3NpemUodW5zaWduZWQgbG9uZyBzdGFydCwKLQkJCQkJIHVuc2lnbmVkIGxvbmcgKnNpemVwLAotCQkJCQkgdW5zaWduZWQgbG9uZyBhbGlnbik7Ci1leHRlcm4gdm9pZCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUsCi0JCQkgICAgICBpbnQgdHlwZSk7Ci1leHRlcm4gdm9pZCB1cGRhdGVfbWVtb3J5X3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAotCQkJCXVuc2lnbmVkIG5ld190eXBlKTsKLWV4dGVybiB2b2lkIHNldHVwX21lbW9yeV9yZWdpb24odm9pZCk7Ci1leHRlcm4gdm9pZCBjb250aWdfZTgyMF9zZXR1cCh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGU4MjBfZW5kX29mX3JhbSh2b2lkKTsKLWV4dGVybiB2b2lkIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXModm9pZCk7Ci1leHRlcm4gdm9pZCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCk7Ci1leHRlcm4gaW50IGU4MjBfYW55X21hcHBlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCSAgIHVuc2lnbmVkIHR5cGUpOwotZXh0ZXJuIGludCBlODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkgICB1bnNpZ25lZCB0eXBlKTsKLWV4dGVybiBpbnQgZTgyMF9hbnlfbm9uX3Jlc2VydmVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLWV4dGVybiBpbnQgaXNfbWVtb3J5X2FueV92YWxpZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gaW50IGU4MjBfYWxsX25vbl9yZXNlcnZlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gaW50IGlzX21lbW9yeV9hbGxfdmFsaWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZTgyMF9ob2xlX3NpemUodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotCi1leHRlcm4gdm9pZCBlODIwX3NldHVwX2dhcCh2b2lkKTsKLWV4dGVybiB2b2lkIGU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCSB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwotCi1leHRlcm4gdm9pZCBmaW5pc2hfZTgyMF9wYXJzaW5nKHZvaWQpOwotCi1leHRlcm4gc3RydWN0IGU4MjBtYXAgZTgyMDsKLWV4dGVybiB2b2lkIHVwZGF0ZV9lODIwKHZvaWQpOwotCi1leHRlcm4gdm9pZCByZXNlcnZlX2Vhcmx5KHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCBjaGFyICpuYW1lKTsKLWV4dGVybiB2b2lkIGZyZWVfZWFybHkodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIHZvaWQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotCi0jZW5kaWYvKiFfX0FTU0VNQkxZX18qLwotCi0jZW5kaWYvKl9fRTgyMF9IRUFERVIqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2VmaS5oIGIvaW5jbHVkZS9hc20teDg2L2VmaS5oCmluZGV4IGQ1MzAwNGIuLjdlZDJiZDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lZmkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZWZpLmgKQEAgLTkwLDcgKzkwLDcgQEAKIAogI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KIAotZXh0ZXJuIHZvaWQgZWZpX3Jlc2VydmVfYm9vdG1lbSh2b2lkKTsKK2V4dGVybiB2b2lkIGVmaV9yZXNlcnZlX2Vhcmx5KHZvaWQpOwogZXh0ZXJuIHZvaWQgZWZpX2NhbGxfcGh5c19wcmVsb2codm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfY2FsbF9waHlzX2VwaWxvZyh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2VsZi5oIGIvaW5jbHVkZS9hc20teDg2L2VsZi5oCmluZGV4IDhmMjMyZGMuLjdiZTQ3MzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lbGYuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZWxmLmgKQEAgLTgzLDkgKzgzLDkgQEAKIAkoKCh4KS0+ZV9tYWNoaW5lID09IEVNXzM4NikgfHwgKCh4KS0+ZV9tYWNoaW5lID09IEVNXzQ4NikpCiAKICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4JCS8qIGZvciBzYXZlc2VnbWVudCAqLwogI2luY2x1ZGUgPGFzbS9kZXNjLmg+CiAKICNkZWZpbmUgZWxmX2NoZWNrX2FyY2goeCkJZWxmX2NoZWNrX2FyY2hfaWEzMih4KQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcC5oIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcC5oCmluZGV4IDViZDIwNjkuLjQ0ZDRmODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXAuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwLmgKQEAgLTcsNyArNyw2MiBAQAogIyBpbmNsdWRlICJmaXhtYXBfNjQuaCIKICNlbmRpZgogCitleHRlcm4gaW50IGZpeG1hcHNfc2V0OworCit2b2lkIF9fbmF0aXZlX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LCBwdGVfdCBwdGUpOwordm9pZCBuYXRpdmVfc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCisJCSAgICAgICB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKTsKKworI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LAorCQkJCXVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgZmxhZ3MpCit7CisJbmF0aXZlX3NldF9maXhtYXAoaWR4LCBwaHlzLCBmbGFncyk7Cit9CisjZW5kaWYKKworI2RlZmluZSBzZXRfZml4bWFwKGlkeCwgcGh5cykJCQkJXAorCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMKQorCisvKgorICogU29tZSBoYXJkd2FyZSB3YW50cyB0byBnZXQgZml4bWFwcGVkIHdpdGhvdXQgY2FjaGluZy4KKyAqLworI2RlZmluZSBzZXRfZml4bWFwX25vY2FjaGUoaWR4LCBwaHlzKQkJCVwKKwlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTF9OT0NBQ0hFKQorCiAjZGVmaW5lIGNsZWFyX2ZpeG1hcChpZHgpCQkJXAogCV9fc2V0X2ZpeG1hcChpZHgsIDAsIF9fcGdwcm90KDApKQogCisjZGVmaW5lIF9fZml4X3RvX3ZpcnQoeCkJKEZJWEFERFJfVE9QIC0gKCh4KSA8PCBQQUdFX1NISUZUKSkKKyNkZWZpbmUgX192aXJ0X3RvX2ZpeCh4KQkoKEZJWEFERFJfVE9QIC0gKCh4KSZQQUdFX01BU0spKSA+PiBQQUdFX1NISUZUKQorCitleHRlcm4gdm9pZCBfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KHZvaWQpOworCisvKgorICogJ2luZGV4IHRvIGFkZHJlc3MnIHRyYW5zbGF0aW9uLiBJZiBhbnlvbmUgdHJpZXMgdG8gdXNlIHRoZSBpZHgKKyAqIGRpcmVjdGx5IHdpdGhvdXQgdHJhbnNsYXRpb24sIHdlIGNhdGNoIHRoZSBidWcgd2l0aCBhIE5VTEwtZGVmZXJlbmNlCisgKiBrZXJuZWwgb29wcy4gSWxsZWdhbCByYW5nZXMgb2YgaW5jb21pbmcgaW5kaWNlcyBhcmUgY2F1Z2h0IHRvby4KKyAqLworc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBsb25nIGZpeF90b192aXJ0KGNvbnN0IHVuc2lnbmVkIGludCBpZHgpCit7CisJLyoKKwkgKiB0aGlzIGJyYW5jaCBnZXRzIGNvbXBsZXRlbHkgZWxpbWluYXRlZCBhZnRlciBpbmxpbmluZywKKwkgKiBleGNlcHQgd2hlbiBzb21lb25lIHRyaWVzIHRvIHVzZSBmaXhhZGRyIGluZGljZXMgaW4gYW4KKwkgKiBpbGxlZ2FsIHdheS4gKHN1Y2ggYXMgbWl4aW5nIHVwIGFkZHJlc3MgdHlwZXMgb3IgdXNpbmcKKwkgKiBvdXQtb2YtcmFuZ2UgaW5kaWNlcykuCisJICoKKwkgKiBJZiBpdCBkb2Vzbid0IGdldCByZW1vdmVkLCB0aGUgbGlua2VyIHdpbGwgY29tcGxhaW4KKwkgKiBsb3VkbHkgd2l0aCBhIHJlYXNvbmFibHkgY2xlYXIgZXJyb3IgbWVzc2FnZS4uCisJICovCisJaWYgKGlkeCA+PSBfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMpCisJCV9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3QoKTsKKworCXJldHVybiBfX2ZpeF90b192aXJ0KGlkeCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB2aXJ0X3RvX2ZpeChjb25zdCB1bnNpZ25lZCBsb25nIHZhZGRyKQoreworCUJVR19PTih2YWRkciA+PSBGSVhBRERSX1RPUCB8fCB2YWRkciA8IEZJWEFERFJfU1RBUlQpOworCXJldHVybiBfX3ZpcnRfdG9fZml4KHZhZGRyKTsKK30KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF8zMi5oCmluZGV4IDRiOTYxNDguLmFhZTJmMDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzMyLmgKQEAgLTc5LDEwICs3OSw2IEBACiAJRklYX0tNQVBfQkVHSU4sCS8qIHJlc2VydmVkIHB0ZSdzIGZvciB0ZW1wb3Jhcnkga2VybmVsIG1hcHBpbmdzICovCiAJRklYX0tNQVBfRU5EID0gRklYX0tNQVBfQkVHSU4rKEtNX1RZUEVfTlIqTlJfQ1BVUyktMSwKICNlbmRpZgotI2lmZGVmIENPTkZJR19BQ1BJCi0JRklYX0FDUElfQkVHSU4sCi0JRklYX0FDUElfRU5EID0gRklYX0FDUElfQkVHSU4gKyBGSVhfQUNQSV9QQUdFUyAtIDEsCi0jZW5kaWYKICNpZmRlZiBDT05GSUdfUENJX01NQ09ORklHCiAJRklYX1BDSUVfTUNGRywKICNlbmRpZgpAQCAtMTAzLDIzICs5OSwxOCBAQAogCQkJKF9fZW5kX29mX3Blcm1hbmVudF9maXhlZF9hZGRyZXNzZXMgJiA1MTEpLAogCUZJWF9CVE1BUF9CRUdJTiA9IEZJWF9CVE1BUF9FTkQgKyBOUl9GSVhfQlRNQVBTKkZJWF9CVE1BUFNfTkVTVElORyAtIDEsCiAJRklYX1dQX1RFU1QsCisjaWZkZWYgQ09ORklHX0FDUEkKKwlGSVhfQUNQSV9CRUdJTiwKKwlGSVhfQUNQSV9FTkQgPSBGSVhfQUNQSV9CRUdJTiArIEZJWF9BQ1BJX1BBR0VTIC0gMSwKKyNlbmRpZgogI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCiAJRklYX09IQ0kxMzk0X0JBU0UsCiAjZW5kaWYKIAlfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMKIH07CiAKLWV4dGVybiB2b2lkIF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCi0JCQkgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7CiBleHRlcm4gdm9pZCByZXNlcnZlX3RvcF9hZGRyZXNzKHVuc2lnbmVkIGxvbmcgcmVzZXJ2ZSk7CiAKLSNkZWZpbmUgc2V0X2ZpeG1hcChpZHgsIHBoeXMpCQkJCVwKLQlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTCkKLS8qCi0gKiBTb21lIGhhcmR3YXJlIHdhbnRzIHRvIGdldCBmaXhtYXBwZWQgd2l0aG91dCBjYWNoaW5nLgotICovCi0jZGVmaW5lIHNldF9maXhtYXBfbm9jYWNoZShpZHgsIHBoeXMpCQkJXAotCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMX05PQ0FDSEUpCiAKICNkZWZpbmUgRklYQUREUl9UT1AJKCh1bnNpZ25lZCBsb25nKV9fRklYQUREUl9UT1ApCiAKQEAgLTEyOCwzOCArMTE5LDUgQEAKICNkZWZpbmUgRklYQUREUl9TVEFSVAkJKEZJWEFERFJfVE9QIC0gX19GSVhBRERSX1NJWkUpCiAjZGVmaW5lIEZJWEFERFJfQk9PVF9TVEFSVAkoRklYQUREUl9UT1AgLSBfX0ZJWEFERFJfQk9PVF9TSVpFKQogCi0jZGVmaW5lIF9fZml4X3RvX3ZpcnQoeCkJKEZJWEFERFJfVE9QIC0gKCh4KSA8PCBQQUdFX1NISUZUKSkKLSNkZWZpbmUgX192aXJ0X3RvX2ZpeCh4KQkoKEZJWEFERFJfVE9QIC0gKCh4KSZQQUdFX01BU0spKSA+PiBQQUdFX1NISUZUKQotCi1leHRlcm4gdm9pZCBfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KHZvaWQpOwotCi0vKgotICogJ2luZGV4IHRvIGFkZHJlc3MnIHRyYW5zbGF0aW9uLiBJZiBhbnlvbmUgdHJpZXMgdG8gdXNlIHRoZSBpZHgKLSAqIGRpcmVjdGx5IHdpdGhvdXQgdHJhbmxhdGlvbiwgd2UgY2F0Y2ggdGhlIGJ1ZyB3aXRoIGEgTlVMTC1kZWZlcmVuY2UKLSAqIGtlcm5lbCBvb3BzLiBJbGxlZ2FsIHJhbmdlcyBvZiBpbmNvbWluZyBpbmRpY2VzIGFyZSBjYXVnaHQgdG9vLgotICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgZml4X3RvX3ZpcnQoY29uc3QgdW5zaWduZWQgaW50IGlkeCkKLXsKLQkvKgotCSAqIHRoaXMgYnJhbmNoIGdldHMgY29tcGxldGVseSBlbGltaW5hdGVkIGFmdGVyIGlubGluaW5nLAotCSAqIGV4Y2VwdCB3aGVuIHNvbWVvbmUgdHJpZXMgdG8gdXNlIGZpeGFkZHIgaW5kaWNlcyBpbiBhbgotCSAqIGlsbGVnYWwgd2F5LiAoc3VjaCBhcyBtaXhpbmcgdXAgYWRkcmVzcyB0eXBlcyBvciB1c2luZwotCSAqIG91dC1vZi1yYW5nZSBpbmRpY2VzKS4KLQkgKgotCSAqIElmIGl0IGRvZXNuJ3QgZ2V0IHJlbW92ZWQsIHRoZSBsaW5rZXIgd2lsbCBjb21wbGFpbgotCSAqIGxvdWRseSB3aXRoIGEgcmVhc29uYWJseSBjbGVhciBlcnJvciBtZXNzYWdlLi4KLQkgKi8KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykKLQkJX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCgpOwotCi0JcmV0dXJuIF9fZml4X3RvX3ZpcnQoaWR4KTsKLX0KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHZpcnRfdG9fZml4KGNvbnN0IHVuc2lnbmVkIGxvbmcgdmFkZHIpCi17Ci0JQlVHX09OKHZhZGRyID49IEZJWEFERFJfVE9QIHx8IHZhZGRyIDwgRklYQUREUl9TVEFSVCk7Ci0JcmV0dXJuIF9fdmlydF90b19maXgodmFkZHIpOwotfQotCiAjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzY0LmgKaW5kZXggMzU1ZDI2YS4uMDBmM2Q3NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfNjQuaApAQCAtMTIsNiArMTIsNyBAQAogI2RlZmluZSBfQVNNX0ZJWE1BUF82NF9ICiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxhc20vYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vdnN5c2NhbGwuaD4KQEAgLTM5LDMwICs0MCwzOCBAQAogCVZTWVNDQUxMX0hQRVQsCiAJRklYX0RCR1BfQkFTRSwKIAlGSVhfRUFSTFlDT05fTUVNX0JBU0UsCi0JRklYX0hQRVRfQkFTRSwKIAlGSVhfQVBJQ19CQVNFLAkvKiBsb2NhbCAoQ1BVKSBBUElDKSAtLSByZXF1aXJlZCBmb3IgU01QIG9yIG5vdCAqLwogCUZJWF9JT19BUElDX0JBU0VfMCwKIAlGSVhfSU9fQVBJQ19CQVNFX0VORCA9IEZJWF9JT19BUElDX0JBU0VfMCArIE1BWF9JT19BUElDUyAtIDEsCiAJRklYX0VGSV9JT19NQVBfTEFTVF9QQUdFLAogCUZJWF9FRklfSU9fTUFQX0ZJUlNUX1BBR0UgPSBGSVhfRUZJX0lPX01BUF9MQVNUX1BBR0UKIAkJCQkgICsgTUFYX0VGSV9JT19QQUdFUyAtIDEsCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUCisJRklYX1BBUkFWSVJUX0JPT1RNQVAsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQUNQSQorCUZJWF9BQ1BJX0JFR0lOLAorCUZJWF9BQ1BJX0VORCA9IEZJWF9BQ1BJX0JFR0lOICsgRklYX0FDUElfUEFHRVMgLSAxLAorI2VuZGlmCiAjaWZkZWYgQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQKIAlGSVhfT0hDSTEzOTRfQkFTRSwKICNlbmRpZgorCV9fZW5kX29mX3Blcm1hbmVudF9maXhlZF9hZGRyZXNzZXMsCisJLyoKKwkgKiAyNTYgdGVtcG9yYXJ5IGJvb3QtdGltZSBtYXBwaW5ncywgdXNlZCBieSBlYXJseV9pb3JlbWFwKCksCisJICogYmVmb3JlIGlvcmVtYXAoKSBpcyBmdW5jdGlvbmFsLgorCSAqCisJICogV2Ugcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgNTEyIHBhZ2VzIGJvdW5kYXJ5IHNvIHRoYXQgd2UKKwkgKiBjYW4gaGF2ZSBhIHNpbmdsZSBwZ2QgZW50cnkgYW5kIGEgc2luZ2xlIHB0ZSB0YWJsZToKKwkgKi8KKyNkZWZpbmUgTlJfRklYX0JUTUFQUwkJNjQKKyNkZWZpbmUgRklYX0JUTUFQU19ORVNUSU5HCTQKKwlGSVhfQlRNQVBfRU5EID0gX19lbmRfb2ZfcGVybWFuZW50X2ZpeGVkX2FkZHJlc3NlcyArIDUxMiAtCisJCQkoX19lbmRfb2ZfcGVybWFuZW50X2ZpeGVkX2FkZHJlc3NlcyAmIDUxMSksCisJRklYX0JUTUFQX0JFR0lOID0gRklYX0JUTUFQX0VORCArIE5SX0ZJWF9CVE1BUFMqRklYX0JUTUFQU19ORVNUSU5HIC0gMSwKIAlfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMKIH07CiAKLWV4dGVybiB2b2lkIF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCi0JCQkgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7Ci0KLSNkZWZpbmUgc2V0X2ZpeG1hcChpZHgsIHBoeXMpCQkJXAotCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMKQotLyoKLSAqIFNvbWUgaGFyZHdhcmUgd2FudHMgdG8gZ2V0IGZpeG1hcHBlZCB3aXRob3V0IGNhY2hpbmcuCi0gKi8KLSNkZWZpbmUgc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgcGh5cykJCQlcCi0JX19zZXRfZml4bWFwKGlkeCwgcGh5cywgUEFHRV9LRVJORUxfTk9DQUNIRSkKLQogI2RlZmluZSBGSVhBRERSX1RPUAkoVlNZU0NBTExfRU5ELVBBR0VfU0laRSkKICNkZWZpbmUgRklYQUREUl9TSVpFCShfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMgPDwgUEFHRV9TSElGVCkKICNkZWZpbmUgRklYQUREUl9TVEFSVAkoRklYQUREUl9UT1AgLSBGSVhBRERSX1NJWkUpCkBAIC03MSwzMCArODAsNCBAQAogI2RlZmluZSBGSVhBRERSX1VTRVJfU1RBUlQJKCh1bnNpZ25lZCBsb25nKVZTWVNDQUxMMzJfVlNZU0NBTEwpCiAjZGVmaW5lIEZJWEFERFJfVVNFUl9FTkQJKEZJWEFERFJfVVNFUl9TVEFSVCArIFBBR0VfU0laRSkKIAotI2RlZmluZSBfX2ZpeF90b192aXJ0KHgpCShGSVhBRERSX1RPUCAtICgoeCkgPDwgUEFHRV9TSElGVCkpCi0KLWV4dGVybiB2b2lkIF9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3Qodm9pZCk7Ci0KLS8qCi0gKiAnaW5kZXggdG8gYWRkcmVzcycgdHJhbnNsYXRpb24uIElmIGFueW9uZSB0cmllcyB0byB1c2UgdGhlIGlkeAotICogZGlyZWN0bHkgd2l0aG91dCB0cmFuc2xhdGlvbiwgd2UgY2F0Y2ggdGhlIGJ1ZyB3aXRoIGEgTlVMTC1kZWZlcmVuY2UKLSAqIGtlcm5lbCBvb3BzLiBJbGxlZ2FsIHJhbmdlcyBvZiBpbmNvbWluZyBpbmRpY2VzIGFyZSBjYXVnaHQgdG9vLgotICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgZml4X3RvX3ZpcnQoY29uc3QgdW5zaWduZWQgaW50IGlkeCkKLXsKLQkvKgotCSAqIHRoaXMgYnJhbmNoIGdldHMgY29tcGxldGVseSBlbGltaW5hdGVkIGFmdGVyIGlubGluaW5nLAotCSAqIGV4Y2VwdCB3aGVuIHNvbWVvbmUgdHJpZXMgdG8gdXNlIGZpeGFkZHIgaW5kaWNlcyBpbiBhbgotCSAqIGlsbGVnYWwgd2F5LiAoc3VjaCBhcyBtaXhpbmcgdXAgYWRkcmVzcyB0eXBlcyBvciB1c2luZwotCSAqIG91dC1vZi1yYW5nZSBpbmRpY2VzKS4KLQkgKgotCSAqIElmIGl0IGRvZXNuJ3QgZ2V0IHJlbW92ZWQsIHRoZSBsaW5rZXIgd2lsbCBjb21wbGFpbgotCSAqIGxvdWRseSB3aXRoIGEgcmVhc29uYWJseSBjbGVhciBlcnJvciBtZXNzYWdlLi4KLQkgKi8KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykKLQkJX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCgpOwotCi0JcmV0dXJuIF9fZml4X3RvX3ZpcnQoaWR4KTsKLX0KLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS14ODYvZnRyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE4NDQ0MQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9mdHJhY2UuaApAQCAtMCwwICsxLDE0IEBACisjaWZuZGVmIF9BU01fWDg2X0ZUUkFDRQorI2RlZmluZSBfQVNNX1NQQVJDNjRfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKG1jb3VudCkpCisjZGVmaW5lIE1DT1VOVF9JTlNOX1NJWkUJNSAvKiBzaXplb2YgbWNvdW50IGNhbGwgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIG1jb3VudCh2b2lkKTsKKyNlbmRpZgorCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisjZW5kaWYgLyogX0FTTV9YODZfRlRSQUNFICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZ2FydC5oIGIvaW5jbHVkZS9hc20teDg2L2dhcnQuaAppbmRleCA5MDk1OGVkLi4zM2I5YWVlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZ2FydC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9nYXJ0LmgKQEAgLTEsMzQgKzEsNzIgQEAKLSNpZm5kZWYgX0FTTV9YODY2NF9JT01NVV9ICi0jZGVmaW5lIF9BU01fWDg2NjRfSU9NTVVfSCAxCisjaWZuZGVmIF9BU01fWDg2NjRfR0FSVF9ICisjZGVmaW5lIF9BU01fWDg2NjRfR0FSVF9IIDEKIAotZXh0ZXJuIHZvaWQgcGNpX2lvbW11X3NodXRkb3duKHZvaWQpOwotZXh0ZXJuIHZvaWQgbm9faW9tbXVfaW5pdCh2b2lkKTsKLWV4dGVybiBpbnQgZm9yY2VfaW9tbXUsIG5vX2lvbW11OwotZXh0ZXJuIGludCBpb21tdV9kZXRlY3RlZDsKLSNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQotZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9pbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9zaHV0ZG93bih2b2lkKTsKLWV4dGVybiB2b2lkIF9faW5pdCBnYXJ0X3BhcnNlX29wdGlvbnMoY2hhciAqKTsKLWV4dGVybiB2b2lkIGVhcmx5X2dhcnRfaW9tbXVfY2hlY2sodm9pZCk7Ci1leHRlcm4gdm9pZCBnYXJ0X2lvbW11X2hvbGVfaW5pdCh2b2lkKTsKKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9pb21tdS5oPgorCitleHRlcm4gdm9pZCBzZXRfdXBfZ2FydF9yZXN1bWUodTMyLCB1MzIpOworCiBleHRlcm4gaW50IGZhbGxiYWNrX2FwZXJfb3JkZXI7CiBleHRlcm4gaW50IGZhbGxiYWNrX2FwZXJfZm9yY2U7Ci1leHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmU7Ci1leHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZDsKLWV4dGVybiBpbnQgZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZDsKIGV4dGVybiBpbnQgZml4X2FwZXJ0dXJlOwotI2Vsc2UKLSNkZWZpbmUgZ2FydF9pb21tdV9hcGVydHVyZSAwCi0jZGVmaW5lIGdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZCAwCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBlYXJseV9nYXJ0X2lvbW11X2NoZWNrKHZvaWQpCisvKiBQVEUgYml0cy4gKi8KKyNkZWZpbmUgR1BURV9WQUxJRAkxCisjZGVmaW5lIEdQVEVfQ09IRVJFTlQJMgorCisvKiBBcGVydHVyZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCisjZGVmaW5lIEdBUlRFTgkJKDE8PDApCisjZGVmaW5lIERJU0dBUlRDUFUJKDE8PDQpCisjZGVmaW5lIERJU0dBUlRJTwkoMTw8NSkKKworLyogR0FSVCBjYWNoZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCisjZGVmaW5lIElOVkdBUlQJCSgxPDwwKQorI2RlZmluZSBHQVJUUFRFRVJSCSgxPDwxKQorCisvKiBLOCBPbi1jcHUgR0FSVCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMCTB4OTAKKyNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRQkweDk0CisjZGVmaW5lIEFNRDY0X0dBUlRUQUJMRUJBU0UJMHg5OAorI2RlZmluZSBBTUQ2NF9HQVJUQ0FDSEVDVEwJMHg5YworI2RlZmluZSBBTUQ2NF9HQVJURU4JCSgxPDwwKQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5hYmxlX2dhcnRfdHJhbnNsYXRpb24oc3RydWN0IHBjaV9kZXYgKmRldiwgdTY0IGFkZHIpCiB7CisJdTMyIHRtcCwgY3RsOworCisgICAgICAgIC8qIGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmdzIHRhYmxlICovCisgICAgICAgIGFkZHIgPj49IDEyOworICAgICAgICB0bXAgPSAodTMyKSBhZGRyPDw0OworICAgICAgICB0bXAgJj0gfjB4ZjsKKyAgICAgICAgcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRUQUJMRUJBU0UsIHRtcCk7CisKKyAgICAgICAgLyogRW5hYmxlIEdBUlQgdHJhbnNsYXRpb24gZm9yIHRoaXMgaGFtbWVyLiAqLworICAgICAgICBwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZjdGwpOworICAgICAgICBjdGwgfD0gR0FSVEVOOworICAgICAgICBjdGwgJj0gfihESVNHQVJUQ1BVIHwgRElTR0FSVElPKTsKKyAgICAgICAgcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgY3RsKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdhcnRfaW9tbXVfc2h1dGRvd24odm9pZCkKK3N0YXRpYyBpbmxpbmUgaW50IGFwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyX2Jhc2UsIHUzMiBhcGVyX3NpemUsIHUzMiBtaW5fc2l6ZSkKIHsKLX0KKwlpZiAoIWFwZXJfYmFzZSkKKwkJcmV0dXJuIDA7CiAKLSNlbmRpZgorCWlmIChhcGVyX2Jhc2UgKyBhcGVyX3NpemUgPiAweDEwMDAwMDAwMFVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIGJleW9uZCA0R0IuIElnbm9yaW5nLlxuIik7CisJCXJldHVybiAwOworCX0KKwlpZiAoZTgyMF9hbnlfbWFwcGVkKGFwZXJfYmFzZSwgYXBlcl9iYXNlICsgYXBlcl9zaXplLCBFODIwX1JBTSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSBwb2ludGluZyB0byBlODIwIFJBTS4gSWdub3JpbmcuXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmIChhcGVyX3NpemUgPCBtaW5fc2l6ZSkgeworCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIHRvbyBzbWFsbCAoJWQgTUIpIHRoYW4gKCVkIE1CKVxuIiwKKwkJCQkgYXBlcl9zaXplPj4yMCwgbWluX3NpemU+PjIwKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2dlbmFwaWNfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9nZW5hcGljXzY0LmgKaW5kZXggMWRlOTMxYi4uMGY4NTA0NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2dlbmFwaWNfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZ2VuYXBpY182NC5oCkBAIC00NCw0ICs0NCw2IEBACiBleHRlcm4gdm9pZCB1dl9jcHVfaW5pdCh2b2lkKTsKIGV4dGVybiBpbnQgdXZfd2FrZXVwX3NlY29uZGFyeShpbnQgcGh5c19hcGljaWQsIHVuc2lnbmVkIGludCBzdGFydF9yaXApOwogCitleHRlcm4gdm9pZCBzZXR1cF9hcGljX3JvdXRpbmcodm9pZCk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2hhcmRpcnEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9oYXJkaXJxLmgKaW5kZXggMzE0NDM0ZC4uMDAwNzg3ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2hhcmRpcnEuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaGFyZGlycS5oCkBAIC0zLDMgKzMsOSBAQAogI2Vsc2UKICMgaW5jbHVkZSAiaGFyZGlycV82NC5oIgogI2VuZGlmCisKK2V4dGVybiB1NjQgYXJjaF9pcnFfc3RhdF9jcHUodW5zaWduZWQgaW50IGNwdSk7CisjZGVmaW5lIGFyY2hfaXJxX3N0YXRfY3B1CWFyY2hfaXJxX3N0YXRfY3B1CisKK2V4dGVybiB1NjQgYXJjaF9pcnFfc3RhdCh2b2lkKTsKKyNkZWZpbmUgYXJjaF9pcnFfc3RhdAkJYXJjaF9pcnFfc3RhdApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2hpZ2htZW0uaCBiL2luY2x1ZGUvYXNtLXg4Ni9oaWdobWVtLmgKaW5kZXggZTE1M2YzYi4uNDUxNGIxNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2hpZ2htZW0uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaGlnaG1lbS5oCkBAIC03NCw2ICs3NCw5IEBACiAKICNkZWZpbmUgZmx1c2hfY2FjaGVfa21hcHMoKQlkbyB7IH0gd2hpbGUgKDApCiAKK2V4dGVybiB2b2lkIGFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKKwogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmIC8qIF9BU01fSElHSE1FTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHBldC5oIGIvaW5jbHVkZS9hc20teDg2L2hwZXQuaAppbmRleCA2YTliNGFjLi44MmYxYWM2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaHBldC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9ocGV0LmgKQEAgLTg2LDggKzg2LDggQEAKICNlbHNlIC8qIENPTkZJR19IUEVUX1RJTUVSICovCiAKIHN0YXRpYyBpbmxpbmUgaW50IGhwZXRfZW5hYmxlKHZvaWQpIHsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBocGV0X3JlYWRsKHVuc2lnbmVkIGxvbmcgYSkgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSBpbnQgaXNfaHBldF9lbmFibGVkKHZvaWQpIHsgcmV0dXJuIDA7IH0KKyNkZWZpbmUgaHBldF9yZWFkbChhKSAwCiAKICNlbmRpZgogI2VuZGlmIC8qIEFTTV9YODZfSFBFVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxLmggYi9pbmNsdWRlL2FzbS14ODYvaHdfaXJxLmgKaW5kZXggYmYwMjUzOS4uNzdiYTUxZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2h3X2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9od19pcnEuaApAQCAtMSw1ICsxLDEwNyBAQAorI2lmbmRlZiBfQVNNX0hXX0lSUV9ICisjZGVmaW5lIF9BU01fSFdfSVJRX0gKKworLyoKKyAqIChDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgorICoKKyAqIG1vdmVkIHNvbWUgb2YgdGhlIG9sZCBhcmNoL2kzODYva2VybmVsL2lycS5oIHRvIGhlcmUuIFZZCisgKgorICogSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKKyAqIDx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+CisgKgorICogaGFja2VkIGJ5IEFuZGkgS2xlZW4gZm9yIHg4Ni02NC4KKyAqIHVuaWZpZWQgYnkgdGdseAorICovCisKKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKworI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisKKyNkZWZpbmUgcGxhdGZvcm1fbGVnYWN5X2lycShpcnEpCSgoaXJxKSA8IDE2KQorCisvKiBJbnRlcnJ1cHQgaGFuZGxlcnMgcmVnaXN0ZXJlZCBkdXJpbmcgaW5pdF9JUlEgKi8KK2V4dGVybiB2b2lkIGFwaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgZXJyb3JfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgc3B1cmlvdXNfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCByZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKKworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDAodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDEodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDIodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDModm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDQodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDUodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDYodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDcodm9pZCk7CisKK2V4dGVybiB2b2lkIGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgdGhyZXNob2xkX2ludGVycnVwdCh2b2lkKTsKKworZXh0ZXJuIHZvaWQgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBjYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQodm9pZCk7CisKKy8qIFBJQyBzcGVjaWZpYyBmdW5jdGlvbnMgKi8KK2V4dGVybiB2b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIHZvaWQgZW5hYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKK2V4dGVybiBpbnQgaTgyNTlBX2lycV9wZW5kaW5nKHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIHZvaWQgbWFrZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gdm9pZCBpbml0XzgyNTlBKGludCBhZW9pKTsKKworLyogSU9BUElDICovCisjZGVmaW5lIElPX0FQSUNfSVJRKHgpICgoKHgpID49IDE2KSB8fCAoKDE8PCh4KSkgJiBpb19hcGljX2lycXMpKQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW9fYXBpY19pcnFzOworCitleHRlcm4gdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKTsKK2V4dGVybiB2b2lkIHNldHVwX0lPX0FQSUModm9pZCk7CitleHRlcm4gdm9pZCBkaXNhYmxlX0lPX0FQSUModm9pZCk7CitleHRlcm4gdm9pZCBwcmludF9JT19BUElDKHZvaWQpOworZXh0ZXJuIGludCBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZuKTsKK2V4dGVybiB2b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorZXh0ZXJuIHZvaWQgZW5hYmxlX0lPX0FQSUModm9pZCk7CisjZW5kaWYKKworLyogSVBJIGZ1bmN0aW9ucyAqLworZXh0ZXJuIHZvaWQgc2VuZF9JUElfc2VsZihpbnQgdmVjdG9yKTsKK2V4dGVybiB2b2lkIHNlbmRfSVBJKGludCBkZXN0LCBpbnQgdmVjdG9yKTsKKworLyogU3RhdGlzdGljcyAqLworZXh0ZXJuIGF0b21pY190IGlycV9lcnJfY291bnQ7CitleHRlcm4gYXRvbWljX3QgaXJxX21pc19jb3VudDsKKworLyogRUlTQSAqLworZXh0ZXJuIHZvaWQgZWlzYV9zZXRfbGV2ZWxfaXJxKHVuc2lnbmVkIGludCBpcnEpOworCisvKiBWb3lhZ2VyIGZ1bmN0aW9ucyAqLworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfY3BpX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX3N5c19pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jbW5faW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfaW52YWxpZGF0ZV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19yZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX2VuYWJsZV9pcnFfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CisKICNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGluY2x1ZGUgImh3X2lycV8zMi5oIgorZXh0ZXJuIHZvaWQgKCpjb25zdCBpbnRlcnJ1cHRbTlJfSVJRU10pKHZvaWQpOwogI2Vsc2UKLSMgaW5jbHVkZSAiaHdfaXJxXzY0LmgiCit0eXBlZGVmIGludCB2ZWN0b3JfaXJxX3RbTlJfVkVDVE9SU107CitERUNMQVJFX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKTsKK2V4dGVybiBzcGlubG9ja190IHZlY3Rvcl9sb2NrOworI2VuZGlmCitleHRlcm4gdm9pZCBzZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpOworCisjZW5kaWYgLyogIUFTU0VNQkxZXyAqLworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWE4ODA1NC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0jaWZuZGVmIF9BU01fSFdfSVJRX0gKLSNkZWZpbmUgX0FTTV9IV19JUlFfSAotCi0vKgotICoJbGludXgvaW5jbHVkZS9hc20vaHdfaXJxLmgKLSAqCi0gKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKLSAqCi0gKgltb3ZlZCBzb21lIG9mIHRoZSBvbGQgYXJjaC9pMzg2L2tlcm5lbC9pcnEuaCB0byBoZXJlLiBWWQotICoKLSAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCi0gKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9wcm9maWxlLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgotI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLQotI2RlZmluZSBOTUlfVkVDVE9SCQkweDAyCi0KLS8qCi0gKiBWYXJpb3VzIGxvdy1sZXZlbCBpcnEgZGV0YWlscyBuZWVkZWQgYnkgaXJxLmMsIHByb2Nlc3MuYywKLSAqIHRpbWUuYywgaW9fYXBpYy5jIGFuZCBzbXAuYwotICoKLSAqIEludGVycnVwdCBlbnRyeS9leGl0IGNvZGUgYXQgYm90aCBDIGFuZCBhc3NlbWJseSBsZXZlbAotICovCi0KLWV4dGVybiB2b2lkICgqY29uc3QgaW50ZXJydXB0W05SX0lSUVNdKSh2b2lkKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLXZvaWQgcmVzY2hlZHVsZV9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi12b2lkIGFwaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBlcnJvcl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHNwdXJpb3VzX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCk7Ci0jZGVmaW5lIHBsYXRmb3JtX2xlZ2FjeV9pcnEoaXJxKQkoKGlycSkgPCAxNikKLSNlbmRpZgotCi12b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotdm9pZCBlbmFibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotaW50IGk4MjU5QV9pcnFfcGVuZGluZyh1bnNpZ25lZCBpbnQgaXJxKTsKLXZvaWQgbWFrZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci12b2lkIGluaXRfODI1OUEoaW50IGFlb2kpOwotdm9pZCBzZW5kX0lQSV9zZWxmKGludCB2ZWN0b3IpOwotdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKTsKLXZvaWQgc2V0dXBfSU9fQVBJQyh2b2lkKTsKLXZvaWQgZGlzYWJsZV9JT19BUElDKHZvaWQpOwotdm9pZCBwcmludF9JT19BUElDKHZvaWQpOwotaW50IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGludCBidXMsIGludCBzbG90LCBpbnQgZm4pOwotdm9pZCBzZW5kX0lQSShpbnQgZGVzdCwgaW50IHZlY3Rvcik7Ci12b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBpb19hcGljX2lycXM7Ci0KLWV4dGVybiBhdG9taWNfdCBpcnFfZXJyX2NvdW50OwotZXh0ZXJuIGF0b21pY190IGlycV9taXNfY291bnQ7Ci0KLSNkZWZpbmUgSU9fQVBJQ19JUlEoeCkgKCgoeCkgPj0gMTYpIHx8ICgoMTw8KHgpKSAmIGlvX2FwaWNfaXJxcykpCi0KLSNlbmRpZiAvKiBfQVNNX0hXX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwNjJlZjMuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2h3X2lycV82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTczICswLDAgQEAKLSNpZm5kZWYgX0FTTV9IV19JUlFfSAotI2RlZmluZSBfQVNNX0hXX0lSUV9ICi0KLS8qCi0gKglsaW51eC9pbmNsdWRlL2FzbS9od19pcnEuaAotICoKLSAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgotICoKLSAqCW1vdmVkIHNvbWUgb2YgdGhlIG9sZCBhcmNoL2kzODYva2VybmVsL2lycS5oIHRvIGhlcmUuIFZZCi0gKgotICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKLSAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+Ci0gKgotICoJaGFja2VkIGJ5IEFuZGkgS2xlZW4gZm9yIHg4Ni02NC4KLSAqLwotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8bGludXgvcHJvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgotI2VuZGlmCi0KLSNkZWZpbmUgTk1JX1ZFQ1RPUgkJMHgwMgotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBJQTMyX1NZU0NBTExfVkVDVE9SCTB4ODAKLQotCi0vKiBSZXNlcnZlIHRoZSBsb3dlc3QgdXNhYmxlIHByaW9yaXR5IGxldmVsIDB4MjAgLSAweDJmIGZvciB0cmlnZ2VyaW5nCi0gKiBjbGVhbnVwIGFmdGVyIGlycSBtaWdyYXRpb24uCi0gKi8KLSNkZWZpbmUgSVJRX01PVkVfQ0xFQU5VUF9WRUNUT1IJRklSU1RfRVhURVJOQUxfVkVDVE9SCi0KLS8qCi0gKiBWZWN0b3JzIDB4MzAtMHgzZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLSNkZWZpbmUgSVJRMF9WRUNUT1IJCShGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyAweDEwKQotI2RlZmluZSBJUlExX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMSkKLSNkZWZpbmUgSVJRMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDIpCi0jZGVmaW5lIElSUTNfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAzKQotI2RlZmluZSBJUlE0X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNCkKLSNkZWZpbmUgSVJRNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDUpCi0jZGVmaW5lIElSUTZfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA2KQotI2RlZmluZSBJUlE3X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNykKLSNkZWZpbmUgSVJROF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDgpCi0jZGVmaW5lIElSUTlfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA5KQotI2RlZmluZSBJUlExMF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEwKQotI2RlZmluZSBJUlExMV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDExKQotI2RlZmluZSBJUlExMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEyKQotI2RlZmluZSBJUlExM19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEzKQotI2RlZmluZSBJUlExNF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE0KQotI2RlZmluZSBJUlExNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE1KQotCi0vKgotICogU3BlY2lhbCBJUlEgdmVjdG9ycyB1c2VkIGJ5IHRoZSBTTVAgYXJjaGl0ZWN0dXJlLCAweGYwLTB4ZmYKLSAqCi0gKiAgc29tZSBvZiB0aGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlICdyYXJlJywgdGhleSBhcmUgbWVyZ2VkCi0gKiAgaW50byBhIHNpbmdsZSB2ZWN0b3IgKENBTExfRlVOQ1RJT05fVkVDVE9SKSB0byBzYXZlIHZlY3RvciBzcGFjZS4KLSAqICBUTEIsIHJlc2NoZWR1bGUgYW5kIGxvY2FsIEFQSUMgdmVjdG9ycyBhcmUgcGVyZm9ybWFuY2UtY3JpdGljYWwuCi0gKi8KLSNkZWZpbmUgU1BVUklPVVNfQVBJQ19WRUNUT1IJMHhmZgotI2RlZmluZSBFUlJPUl9BUElDX1ZFQ1RPUgkweGZlCi0jZGVmaW5lIFJFU0NIRURVTEVfVkVDVE9SCTB4ZmQKLSNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJMHhmYwotLyogZmIgZnJlZSAtIHBsZWFzZSBkb24ndCByZWFkZCBLREIgaGVyZSBiZWNhdXNlIGl0J3MgdXNlbGVzcwotICAgKGhpbnQgLSB0aGluayB3aGF0IGEgTk1JIGJpdCBkb2VzIHRvIGEgdmVjdG9yKSAqLwotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZmEKLSNkZWZpbmUgVEhSRVNIT0xEX0FQSUNfVkVDVE9SICAgMHhmOQotLyogZjggZnJlZSAqLwotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1JfRU5ECTB4ZjcKLSNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUCTB4ZjAJLyogZjAtZjcgdXNlZCBmb3IgVExCIGZsdXNoICovCi0KLSNkZWZpbmUgTlVNX0lOVkFMSURBVEVfVExCX1ZFQ1RPUlMJOAotCi0vKgotICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVjdG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLAotICogdG8gd29yayBhcm91bmQgdGhlICdsb3N0IGxvY2FsIGludGVycnVwdCBpZiBtb3JlIHRoYW4gMiBJUlEKLSAqIHNvdXJjZXMgcGVyIGxldmVsJyBlcnJhdGEuCi0gKi8KLSNkZWZpbmUgTE9DQUxfVElNRVJfVkVDVE9SCTB4ZWYKLQotLyoKLSAqIEZpcnN0IEFQSUMgdmVjdG9yIGF2YWlsYWJsZSB0byBkcml2ZXJzOiAodmVjdG9ycyAweDMwLTB4ZWUpCi0gKiB3ZSBzdGFydCBhdCAweDQxIHRvIHNwcmVhZCBvdXQgdmVjdG9ycyBldmVubHkgYmV0d2VlbiBwcmlvcml0eQotICogbGV2ZWxzLiAoMHg4MCBpcyB0aGUgc3lzY2FsbCB2ZWN0b3IpCi0gKi8KLSNkZWZpbmUgRklSU1RfREVWSUNFX1ZFQ1RPUgkoSVJRMTVfVkVDVE9SICsgMikKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmICAgLyogZHVwbGljYXRlZCBpbiBpcnEuaCAqLwotCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLS8qIEludGVycnVwdCBoYW5kbGVycyByZWdpc3RlcmVkIGR1cmluZyBpbml0X0lSUSAqLwotdm9pZCBhcGljX3RpbWVyX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgc3B1cmlvdXNfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBlcnJvcl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHJlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0MCh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDIodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Myh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDUodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Nih2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KHZvaWQpOwotdm9pZCB0aGVybWFsX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgdGhyZXNob2xkX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgaTgyNTRfdGltZXJfcmVzdW1lKHZvaWQpOwotCi10eXBlZGVmIGludCB2ZWN0b3JfaXJxX3RbTlJfVkVDVE9SU107Ci1ERUNMQVJFX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKTsKLWV4dGVybiB2b2lkIF9fc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KTsKLWV4dGVybiBzcGlubG9ja190IHZlY3Rvcl9sb2NrOwotCi0vKgotICogVmFyaW91cyBsb3ctbGV2ZWwgaXJxIGRldGFpbHMgbmVlZGVkIGJ5IGlycS5jLCBwcm9jZXNzLmMsCi0gKiB0aW1lLmMsIGlvX2FwaWMuYyBhbmQgc21wLmMKLSAqCi0gKiBJbnRlcnJ1cHQgZW50cnkvZXhpdCBjb2RlIGF0IGJvdGggQyBhbmQgYXNzZW1ibHkgbGV2ZWwKLSAqLwotCi1leHRlcm4gdm9pZCBkaXNhYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLWV4dGVybiB2b2lkIGVuYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci1leHRlcm4gaW50IGk4MjU5QV9pcnFfcGVuZGluZyh1bnNpZ25lZCBpbnQgaXJxKTsKLWV4dGVybiB2b2lkIG1ha2VfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotZXh0ZXJuIHZvaWQgaW5pdF84MjU5QShpbnQgYWVvaSk7Ci1leHRlcm4gdm9pZCBzZW5kX0lQSV9zZWxmKGludCB2ZWN0b3IpOwotZXh0ZXJuIHZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCk7Ci1leHRlcm4gdm9pZCBzZXR1cF9JT19BUElDKHZvaWQpOwotZXh0ZXJuIHZvaWQgZW5hYmxlX0lPX0FQSUModm9pZCk7Ci1leHRlcm4gdm9pZCBkaXNhYmxlX0lPX0FQSUModm9pZCk7Ci1leHRlcm4gdm9pZCBwcmludF9JT19BUElDKHZvaWQpOwotZXh0ZXJuIGludCBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZuKTsKLWV4dGVybiB2b2lkIHNlbmRfSVBJKGludCBkZXN0LCBpbnQgdmVjdG9yKTsKLWV4dGVybiB2b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOwotZXh0ZXJuIHZvaWQgbmF0aXZlX2luaXRfSVJRKHZvaWQpOwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBpb19hcGljX2lycXM7Ci0KLWV4dGVybiBhdG9taWNfdCBpcnFfZXJyX2NvdW50OwotZXh0ZXJuIGF0b21pY190IGlycV9taXNfY291bnQ7Ci0KLSNkZWZpbmUgSU9fQVBJQ19JUlEoeCkgKCgoeCkgPj0gMTYpIHx8ICgoMTw8KHgpKSAmIGlvX2FwaWNfaXJxcykpCi0KLSNpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0KLSNkZWZpbmUgSVJRX05BTUUyKG5yKSBuciMjX2ludGVycnVwdCh2b2lkKQotI2RlZmluZSBJUlFfTkFNRShucikgSVJRX05BTUUyKElSUSMjbnIpCi0KLS8qCi0gKglTTVAgaGFzIGEgZmV3IHNwZWNpYWwgaW50ZXJydXB0cyBmb3IgSVBJIG1lc3NhZ2VzCi0gKi8KLQotI2RlZmluZSBCVUlMRF9JUlEobnIpCQkJCVwKLQlhc21saW5rYWdlIHZvaWQgSVJRX05BTUUobnIpOwkJXAotCWFzbSgiXG4ucDJhbGlnblxuIgkJCVwKLQkgICAgIklSUSIgI25yICJfaW50ZXJydXB0OlxuXHQiCQlcCi0JICAgICJwdXNoICR+KCIgI25yICIpIDsgIgkJXAotCSAgICAiam1wIGNvbW1vbl9pbnRlcnJ1cHQiKTsKLQotI2RlZmluZSBwbGF0Zm9ybV9sZWdhY3lfaXJxKGlycSkJKChpcnEpIDwgMTYpCi0KLSNlbmRpZgotCi0jZW5kaWYgLyogX0FTTV9IV19JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2k4MjU5LmggYi9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaAppbmRleCA0NWQ0ZGYzLi4yZjk4ZGY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaApAQCAtNTUsNCArNTUsNiBAQAogCXVkZWxheSgyKTsKIH0KIAorZXh0ZXJuIHN0cnVjdCBpcnFfY2hpcCBpODI1OUFfY2hpcDsKKwogI2VuZGlmCS8qIF9fQVNNX0k4MjU5X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvLmggYi9pbmNsdWRlL2FzbS14ODYvaW8uaAppbmRleCBkNWIxMWY2Li5iZjVkNjI5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW8uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW8uaApAQCAtMyw2ICszLDc2IEBACiAKICNkZWZpbmUgQVJDSF9IQVNfSU9SRU1BUF9XQwogCisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKworLyoKKyAqIGVhcmx5X2lvcmVtYXAoKSBhbmQgZWFybHlfaW91bm1hcCgpIGFyZSBmb3IgdGVtcG9yYXJ5IGVhcmx5IGJvb3QtdGltZQorICogbWFwcGluZ3MsIGJlZm9yZSB0aGUgcmVhbCBpb3JlbWFwKCkgaXMgZnVuY3Rpb25hbC4KKyAqIEEgYm9vdC10aW1lIG1hcHBpbmcgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8gYXQgbW9zdCAxNiBwYWdlcy4KKyAqLworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfY2xlYXIodm9pZCk7CitleHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX3Jlc2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgKmVhcmx5X2lvcmVtYXAodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBlYXJseV9pb3VubWFwKHZvaWQgKmFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBfX2lvbWVtICpmaXhfaW9yZW1hcCh1bnNpZ25lZCBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cyk7CisjZW5kaWYKKworI2RlZmluZSBidWlsZF9tbWlvX3JlYWQobmFtZSwgc2l6ZSwgdHlwZSwgcmVnLCBiYXJyaWVyKSBcCitzdGF0aWMgaW5saW5lIHR5cGUgbmFtZShjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpIFwKK3sgdHlwZSByZXQ7IGFzbSB2b2xhdGlsZSgibW92IiBzaXplICIgJTEsJTAiOiI9IiByZWcgKHJldCkgXAorOiJtIiAoKih2b2xhdGlsZSB0eXBlIF9fZm9yY2UgKilhZGRyKSBiYXJyaWVyKTsgcmV0dXJuIHJldDsgfQorCisjZGVmaW5lIGJ1aWxkX21taW9fd3JpdGUobmFtZSwgc2l6ZSwgdHlwZSwgcmVnLCBiYXJyaWVyKSBcCitzdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh0eXBlIHZhbCwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKSBcCit7IGFzbSB2b2xhdGlsZSgibW92IiBzaXplICIgJTAsJTEiOiA6cmVnICh2YWwpLCBcCisibSIgKCoodm9sYXRpbGUgdHlwZSBfX2ZvcmNlICopYWRkcikgYmFycmllcik7IH0KKworYnVpbGRfbW1pb19yZWFkKHJlYWRiLCAiYiIsIHVuc2lnbmVkIGNoYXIsICJxIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb19yZWFkKHJlYWR3LCAidyIsIHVuc2lnbmVkIHNob3J0LCAiciIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fcmVhZChyZWFkbCwgImwiLCB1bnNpZ25lZCBpbnQsICJyIiwgOiJtZW1vcnkiKQorCitidWlsZF9tbWlvX3JlYWQoX19yZWFkYiwgImIiLCB1bnNpZ25lZCBjaGFyLCAicSIsICkKK2J1aWxkX21taW9fcmVhZChfX3JlYWR3LCAidyIsIHVuc2lnbmVkIHNob3J0LCAiciIsICkKK2J1aWxkX21taW9fcmVhZChfX3JlYWRsLCAibCIsIHVuc2lnbmVkIGludCwgInIiLCApCisKK2J1aWxkX21taW9fd3JpdGUod3JpdGViLCAiYiIsIHVuc2lnbmVkIGNoYXIsICJxIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZXcsICJ3IiwgdW5zaWduZWQgc2hvcnQsICJyIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZWwsICJsIiwgdW5zaWduZWQgaW50LCAiciIsIDoibWVtb3J5IikKKworYnVpbGRfbW1pb193cml0ZShfX3dyaXRlYiwgImIiLCB1bnNpZ25lZCBjaGFyLCAicSIsICkKK2J1aWxkX21taW9fd3JpdGUoX193cml0ZXcsICJ3IiwgdW5zaWduZWQgc2hvcnQsICJyIiwgKQorYnVpbGRfbW1pb193cml0ZShfX3dyaXRlbCwgImwiLCB1bnNpZ25lZCBpbnQsICJyIiwgKQorCisjZGVmaW5lIHJlYWRiX3JlbGF4ZWQoYSkgX19yZWFkYihhKQorI2RlZmluZSByZWFkd19yZWxheGVkKGEpIF9fcmVhZHcoYSkKKyNkZWZpbmUgcmVhZGxfcmVsYXhlZChhKSBfX3JlYWRsKGEpCisjZGVmaW5lIF9fcmF3X3JlYWRiIF9fcmVhZGIKKyNkZWZpbmUgX19yYXdfcmVhZHcgX19yZWFkdworI2RlZmluZSBfX3Jhd19yZWFkbCBfX3JlYWRsCisKKyNkZWZpbmUgX19yYXdfd3JpdGViIF9fd3JpdGViCisjZGVmaW5lIF9fcmF3X3dyaXRldyBfX3dyaXRldworI2RlZmluZSBfX3Jhd193cml0ZWwgX193cml0ZWwKKworI2RlZmluZSBtbWlvd2IoKSBiYXJyaWVyKCkKKworI2lmZGVmIENPTkZJR19YODZfNjQKK2J1aWxkX21taW9fcmVhZChyZWFkcSwgInEiLCB1bnNpZ25lZCBsb25nLCAiciIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fcmVhZChfX3JlYWRxLCAicSIsIHVuc2lnbmVkIGxvbmcsICJyIiwgKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZXEsICJxIiwgdW5zaWduZWQgbG9uZywgInIiLCA6Im1lbW9yeSIpCitidWlsZF9tbWlvX3dyaXRlKF9fd3JpdGVxLCAicSIsIHVuc2lnbmVkIGxvbmcsICJyIiwgKQorCisjZGVmaW5lIHJlYWRxX3JlbGF4ZWQoYSkgX19yZWFkcShhKQorI2RlZmluZSBfX3Jhd19yZWFkcSBfX3JlYWRxCisjZGVmaW5lIF9fcmF3X3dyaXRlcSB3cml0ZXEKKworLyogTGV0IHBlb3BsZSBrbm93IHdlIGhhdmUgdGhlbSAqLworI2RlZmluZSByZWFkcSByZWFkcQorI2RlZmluZSB3cml0ZXEgd3JpdGVxCisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19YODZfMzIKICMgaW5jbHVkZSAiaW9fMzIuaCIKICNlbHNlCkBAIC0xNiw0ICs4NiwxNyBAQAogCQkJCXVuc2lnbmVkIGxvbmcgcHJvdF92YWwpOwogZXh0ZXJuIHZvaWQgX19pb21lbSAqaW9yZW1hcF93Yyh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplKTsKIAorLyoKKyAqIGVhcmx5X2lvcmVtYXAoKSBhbmQgZWFybHlfaW91bm1hcCgpIGFyZSBmb3IgdGVtcG9yYXJ5IGVhcmx5IGJvb3QtdGltZQorICogbWFwcGluZ3MsIGJlZm9yZSB0aGUgcmVhbCBpb3JlbWFwKCkgaXMgZnVuY3Rpb25hbC4KKyAqIEEgYm9vdC10aW1lIG1hcHBpbmcgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8gYXQgbW9zdCAxNiBwYWdlcy4KKyAqLworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9pbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9jbGVhcih2b2lkKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfcmVzZXQodm9pZCk7CitleHRlcm4gdm9pZCAqZWFybHlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvdW5tYXAodm9pZCAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKmZpeF9pb3JlbWFwKHVuc2lnbmVkIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzKTsKKworCiAjZW5kaWYgLyogX0FTTV9YODZfSU9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaAppbmRleCAwNDllODFlLi40ZGY0NGVkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaApAQCAtMTIyLDE4ICsxMjIsNiBAQAogZXh0ZXJuIHZvaWQgaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpOwogCiAvKgotICogZWFybHlfaW9yZW1hcCgpIGFuZCBlYXJseV9pb3VubWFwKCkgYXJlIGZvciB0ZW1wb3JhcnkgZWFybHkgYm9vdC10aW1lCi0gKiBtYXBwaW5ncywgYmVmb3JlIHRoZSByZWFsIGlvcmVtYXAoKSBpcyBmdW5jdGlvbmFsLgotICogQSBib290LXRpbWUgbWFwcGluZyBpcyBjdXJyZW50bHkgbGltaXRlZCB0byBhdCBtb3N0IDE2IHBhZ2VzLgotICovCi1leHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2luaXQodm9pZCk7Ci1leHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2NsZWFyKHZvaWQpOwotZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9yZXNldCh2b2lkKTsKLWV4dGVybiB2b2lkICplYXJseV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgZWFybHlfaW91bm1hcCh2b2lkICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgX19pb21lbSAqZml4X2lvcmVtYXAodW5zaWduZWQgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMpOwotCi0vKgogICogSVNBIEkvTyBidXMgbWVtb3J5IGFkZHJlc3NlcyBhcmUgMToxIHdpdGggdGhlIHBoeXNpY2FsIGFkZHJlc3MuCiAgKi8KICNkZWZpbmUgaXNhX3ZpcnRfdG9fYnVzIHZpcnRfdG9fcGh5cwpAQCAtMTQ5LDU1ICsxMzcsNiBAQAogI2RlZmluZSB2aXJ0X3RvX2J1cyB2aXJ0X3RvX3BoeXMKICNkZWZpbmUgYnVzX3RvX3ZpcnQgcGh5c190b192aXJ0CiAKLS8qCi0gKiByZWFkWC93cml0ZVgoKSBhcmUgdXNlZCB0byBhY2Nlc3MgbWVtb3J5IG1hcHBlZCBkZXZpY2VzLiBPbiBzb21lCi0gKiBhcmNoaXRlY3R1cmVzIHRoZSBtZW1vcnkgbWFwcGVkIElPIHN0dWZmIG5lZWRzIHRvIGJlIGFjY2Vzc2VkCi0gKiBkaWZmZXJlbnRseS4gT24gdGhlIHg4NiBhcmNoaXRlY3R1cmUsIHdlIGp1c3QgcmVhZC93cml0ZSB0aGUKLSAqIG1lbW9yeSBsb2NhdGlvbiBkaXJlY3RseS4KLSAqLwotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgcmVhZGIoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgX19mb3JjZSAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgc2hvcnQgcmVhZHcoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0IF9fZm9yY2UgKilhZGRyOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCByZWFkbChjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICoodm9sYXRpbGUgdW5zaWduZWQgaW50IF9fZm9yY2UgKikgYWRkcjsKLX0KLQotI2RlZmluZSByZWFkYl9yZWxheGVkKGFkZHIpIHJlYWRiKGFkZHIpCi0jZGVmaW5lIHJlYWR3X3JlbGF4ZWQoYWRkcikgcmVhZHcoYWRkcikKLSNkZWZpbmUgcmVhZGxfcmVsYXhlZChhZGRyKSByZWFkbChhZGRyKQotI2RlZmluZSBfX3Jhd19yZWFkYiByZWFkYgotI2RlZmluZSBfX3Jhd19yZWFkdyByZWFkdwotI2RlZmluZSBfX3Jhd19yZWFkbCByZWFkbAotCi1zdGF0aWMgaW5saW5lIHZvaWQgd3JpdGViKHVuc2lnbmVkIGNoYXIgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSoodm9sYXRpbGUgdW5zaWduZWQgY2hhciBfX2ZvcmNlICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZXcodW5zaWduZWQgc2hvcnQgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSoodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgX19mb3JjZSAqKWFkZHIgPSBiOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgd3JpdGVsKHVuc2lnbmVkIGludCBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKih2b2xhdGlsZSB1bnNpZ25lZCBpbnQgX19mb3JjZSAqKWFkZHIgPSBiOwotfQotI2RlZmluZSBfX3Jhd193cml0ZWIgd3JpdGViCi0jZGVmaW5lIF9fcmF3X3dyaXRldyB3cml0ZXcKLSNkZWZpbmUgX19yYXdfd3JpdGVsIHdyaXRlbAotCi0jZGVmaW5lIG1taW93YigpCi0KIHN0YXRpYyBpbmxpbmUgdm9pZAogbWVtc2V0X2lvKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgY2hhciB2YWwsIGludCBjb3VudCkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pb182NC5oIGIvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKaW5kZXggMDkzMGJlZC4uZGRkODA1OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKQEAgLTIwNCw3NyArMjA0LDYgQEAKICNkZWZpbmUgdmlydF90b19idXMgdmlydF90b19waHlzCiAjZGVmaW5lIGJ1c190b192aXJ0IHBoeXNfdG9fdmlydAogCi0vKgotICogcmVhZFgvd3JpdGVYKCkgYXJlIHVzZWQgdG8gYWNjZXNzIG1lbW9yeSBtYXBwZWQgZGV2aWNlcy4gT24gc29tZQotICogYXJjaGl0ZWN0dXJlcyB0aGUgbWVtb3J5IG1hcHBlZCBJTyBzdHVmZiBuZWVkcyB0byBiZSBhY2Nlc3NlZAotICogZGlmZmVyZW50bHkuIE9uIHRoZSB4ODYgYXJjaGl0ZWN0dXJlLCB3ZSBqdXN0IHJlYWQvd3JpdGUgdGhlCi0gKiBtZW1vcnkgbG9jYXRpb24gZGlyZWN0bHkuCi0gKi8KLQotc3RhdGljIGlubGluZSBfX3U4IF9fcmVhZGIoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKF9fZm9yY2Ugdm9sYXRpbGUgX191OCAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgX191MTYgX19yZWFkdyhjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3UxNiAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgX191MzIgX19yZWFkbChjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3UzMiAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgX191NjQgX19yZWFkcShjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3U2NCAqKWFkZHI7Ci19Ci0KLSNkZWZpbmUgcmVhZGIoeCkgX19yZWFkYih4KQotI2RlZmluZSByZWFkdyh4KSBfX3JlYWR3KHgpCi0jZGVmaW5lIHJlYWRsKHgpIF9fcmVhZGwoeCkKLSNkZWZpbmUgcmVhZHEoeCkgX19yZWFkcSh4KQotI2RlZmluZSByZWFkYl9yZWxheGVkKGEpIHJlYWRiKGEpCi0jZGVmaW5lIHJlYWR3X3JlbGF4ZWQoYSkgcmVhZHcoYSkKLSNkZWZpbmUgcmVhZGxfcmVsYXhlZChhKSByZWFkbChhKQotI2RlZmluZSByZWFkcV9yZWxheGVkKGEpIHJlYWRxKGEpCi0jZGVmaW5lIF9fcmF3X3JlYWRiIHJlYWRiCi0jZGVmaW5lIF9fcmF3X3JlYWR3IHJlYWR3Ci0jZGVmaW5lIF9fcmF3X3JlYWRsIHJlYWRsCi0jZGVmaW5lIF9fcmF3X3JlYWRxIHJlYWRxCi0KLSNkZWZpbmUgbW1pb3diKCkKLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGVsKF9fdTMyIGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKF9fZm9yY2Ugdm9sYXRpbGUgX191MzIgKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGVxKF9fdTY0IGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKF9fZm9yY2Ugdm9sYXRpbGUgX191NjQgKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGViKF9fdTggYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSooX19mb3JjZSB2b2xhdGlsZSBfX3U4ICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3dyaXRldyhfX3UxNiBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTE2ICopYWRkciA9IGI7Ci19Ci0KLSNkZWZpbmUgd3JpdGVxKHZhbCwgYWRkcikgX193cml0ZXEoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGVsKHZhbCwgYWRkcikgX193cml0ZWwoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGV3KHZhbCwgYWRkcikgX193cml0ZXcoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGViKHZhbCwgYWRkcikgX193cml0ZWIoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgX19yYXdfd3JpdGViIHdyaXRlYgotI2RlZmluZSBfX3Jhd193cml0ZXcgd3JpdGV3Ci0jZGVmaW5lIF9fcmF3X3dyaXRlbCB3cml0ZWwKLSNkZWZpbmUgX19yYXdfd3JpdGVxIHdyaXRlcQotCiB2b2lkIF9fbWVtY3B5X2Zyb21pbyh2b2lkICosIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkKTsKIHZvaWQgX19tZW1jcHlfdG9pbyh1bnNpZ25lZCBsb25nLCBjb25zdCB2b2lkICosIHVuc2lnbmVkKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pb19hcGljLmgKaW5kZXggZDU5M2UxNC4uMTRmODJiYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW9fYXBpYy5oCkBAIC0xMSw2ICsxMSwxNSBAQAogICogQ29weXJpZ2h0IChDKSAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwIEluZ28gTW9sbmFyCiAgKi8KIAorLyogSS9PIFVuaXQgUmVkaXJlY3Rpb24gVGFibGUgKi8KKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9WRUNUT1JfTUFTSwkweDAwMEZGCisjZGVmaW5lIElPX0FQSUNfUkVESVJfREVTVF9MT0dJQ0FMCTB4MDA4MDAKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9ERVNUX1BIWVNJQ0FMCTB4MDAwMDAKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9TRU5EX1BFTkRJTkcJKDEgPDwgMTIpCisjZGVmaW5lIElPX0FQSUNfUkVESVJfUkVNT1RFX0lSUgkoMSA8PCAxNCkKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9MRVZFTF9UUklHR0VSCSgxIDw8IDE1KQorI2RlZmluZSBJT19BUElDX1JFRElSX01BU0tFRAkJKDEgPDwgMTYpCisKIC8qCiAgKiBUaGUgc3RydWN0dXJlIG9mIHRoZSBJTy1BUElDOgogICovCkBAIC0xMTIsMjEgKzEyMSwzMiBAQAogCiAjZGVmaW5lIE1QX01BWF9JT0FQSUNfUElOIDEyNwogCi1zdHJ1Y3QgbXBfaW9hcGljX3JvdXRpbmcgewotCWludCBhcGljX2lkOwotCWludCBnc2lfYmFzZTsKLQlpbnQgZ3NpX2VuZDsKLQlERUNMQVJFX0JJVE1BUChwaW5fcHJvZ3JhbW1lZCwgTVBfTUFYX0lPQVBJQ19QSU4gKyAxKTsKK3N0cnVjdCBtcF9jb25maWdfaW9hcGljIHsKKwl1bnNpZ25lZCBsb25nIG1wX2FwaWNhZGRyOworCXVuc2lnbmVkIGludCBtcF9hcGljaWQ7CisJdW5zaWduZWQgY2hhciBtcF90eXBlOworCXVuc2lnbmVkIGNoYXIgbXBfYXBpY3ZlcjsKKwl1bnNpZ25lZCBjaGFyIG1wX2ZsYWdzOworfTsKKworc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgeworCXVuc2lnbmVkIGludCBtcF9kc3RhcGljOworCXVuc2lnbmVkIGNoYXIgbXBfdHlwZTsKKwl1bnNpZ25lZCBjaGFyIG1wX2lycXR5cGU7CisJdW5zaWduZWQgc2hvcnQgbXBfaXJxZmxhZzsKKwl1bnNpZ25lZCBjaGFyIG1wX3NyY2J1czsKKwl1bnNpZ25lZCBjaGFyIG1wX3NyY2J1c2lycTsKKwl1bnNpZ25lZCBjaGFyIG1wX2RzdGlycTsKIH07CiAKIC8qIEkvTyBBUElDIGVudHJpZXMgKi8KLWV4dGVybiBzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOworZXh0ZXJuIHN0cnVjdCBtcF9jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKIAogLyogIyBvZiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KIGV4dGVybiBpbnQgbXBfaXJxX2VudHJpZXM7CiAKIC8qIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwotZXh0ZXJuIHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CitleHRlcm4gc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOwogCiAvKiBub24tMCBpZiBkZWZhdWx0ICh0YWJsZS1sZXNzKSBNUCBjb25maWd1cmF0aW9uICovCiBleHRlcm4gaW50IG1wY19kZWZhdWx0X3R5cGU7CkBAIC0xMzcsNiArMTU3LDkgQEAKIC8qIDEgaWYgIm5vYXBpYyIgYm9vdCBvcHRpb24gcGFzc2VkICovCiBleHRlcm4gaW50IHNraXBfaW9hcGljX3NldHVwOwogCisvKiAxIGlmIHRoZSB0aW1lciBJUlEgdXNlcyB0aGUgJzgyNTlBIFZpcnR1YWwgV2lyZScgbW9kZSAqLworZXh0ZXJuIGludCB0aW1lcl90aHJvdWdoXzgyNTk7CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBkaXNhYmxlX2lvYXBpY19zZXR1cCh2b2lkKQogewogCXNraXBfaW9hcGljX3NldHVwID0gMTsKQEAgLTE2Miw2ICsxODUsOCBAQAogCiAjZWxzZSAgLyogIUNPTkZJR19YODZfSU9fQVBJQyAqLwogI2RlZmluZSBpb19hcGljX2Fzc2lnbl9wY2lfaXJxcyAwCitzdGF0aWMgY29uc3QgaW50IHRpbWVyX3Rocm91Z2hfODI1OSA9IDA7CitzdGF0aWMgaW5saW5lIHZvaWQgaW9hcGljX2luaXRfbWFwcGluZ3Modm9pZCkgeyB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCmluZGV4IDA3ODYyZmQuLjA2OGM5YTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCkBAIC0xLDI5ICsxLDM0IEBACi0jaWZuZGVmIF9BU01fWDg2NjRfR0FSVF9ICi0jZGVmaW5lIF9BU01fWDg2NjRfR0FSVF9IIDEKKyNpZm5kZWYgX0FTTV9YODY2NF9JT01NVV9ICisjZGVmaW5lIF9BU01fWDg2NjRfSU9NTVVfSCAxCiAKIGV4dGVybiB2b2lkIHBjaV9pb21tdV9zaHV0ZG93bih2b2lkKTsKIGV4dGVybiB2b2lkIG5vX2lvbW11X2luaXQodm9pZCk7CiBleHRlcm4gaW50IGZvcmNlX2lvbW11LCBub19pb21tdTsKIGV4dGVybiBpbnQgaW9tbXVfZGV0ZWN0ZWQ7Ci0jaWZkZWYgQ09ORklHX0lPTU1VCisKKyNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQorZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlOworZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQ7CitleHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQ7CisKK2V4dGVybiB2b2lkIGVhcmx5X2dhcnRfaW9tbXVfY2hlY2sodm9pZCk7CiBleHRlcm4gdm9pZCBnYXJ0X2lvbW11X2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCBnYXJ0X2lvbW11X3NodXRkb3duKHZvaWQpOwogZXh0ZXJuIHZvaWQgX19pbml0IGdhcnRfcGFyc2Vfb3B0aW9ucyhjaGFyICopOwotZXh0ZXJuIHZvaWQgaW9tbXVfaG9sZV9pbml0KHZvaWQpOwotZXh0ZXJuIGludCBmYWxsYmFja19hcGVyX29yZGVyOwotZXh0ZXJuIGludCBmYWxsYmFja19hcGVyX2ZvcmNlOwotZXh0ZXJuIGludCBpb21tdV9hcGVydHVyZTsKLWV4dGVybiBpbnQgaW9tbXVfYXBlcnR1cmVfYWxsb3dlZDsKLWV4dGVybiBpbnQgaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQ7Ci1leHRlcm4gaW50IGZpeF9hcGVydHVyZTsKK2V4dGVybiB2b2lkIGdhcnRfaW9tbXVfaG9sZV9pbml0KHZvaWQpOworCiAjZWxzZQotI2RlZmluZSBpb21tdV9hcGVydHVyZSAwCi0jZGVmaW5lIGlvbW11X2FwZXJ0dXJlX2FsbG93ZWQgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlICAgICAgICAgICAgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQgICAgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkICAgMQorCitzdGF0aWMgaW5saW5lIHZvaWQgZWFybHlfZ2FydF9pb21tdV9jaGVjayh2b2lkKQoreworfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2FydF9pb21tdV9zaHV0ZG93bih2b2lkKQogewogfQotCiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXBpLmggYi9pbmNsdWRlL2FzbS14ODYvaXBpLmgKaW5kZXggZWNjODBmMy4uMTk2ZDYzYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lwaS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcGkuaApAQCAtMjAsNiArMjAsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2h3X2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL3NtcC5oPgogCiAvKgogICogdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgZGVhbCB3aXRoIHNlbmRpbmcgSVBJcyBiZXR3ZWVuIENQVXMuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxLmggYi9pbmNsdWRlL2FzbS14ODYvaXJxLmgKaW5kZXggN2JhOTA1NC4uMWEyOTI1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcnEuaApAQCAtMSw1ICsxLDUwIEBACi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJpcnFfMzIuaCIKLSNlbHNlCi0jIGluY2x1ZGUgImlycV82NC5oIgorI2lmbmRlZiBfQVNNX0lSUV9ICisjZGVmaW5lIF9BU01fSVJRX0gKKy8qCisgKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKKyAqCisgKglJUlEvSVBJIGNoYW5nZXMgdGFrZW4gZnJvbSB3b3JrIGJ5IFRob21hcyBSYWRrZQorICoJPHRvbXNvZnRAaW5mb3JtYXRpay50dS1jaGVtbml0ei5kZT4KKyAqLworCisjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKworc3RhdGljIGlubGluZSBpbnQgaXJxX2Nhbm9uaWNhbGl6ZShpbnQgaXJxKQoreworCXJldHVybiAoKGlycSA9PSAyKSA/IDkgOiBpcnEpOworfQorCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisjIGRlZmluZSBBUkNIX0hBU19OTUlfV0FUQ0hET0cKICNlbmRpZgorCisjaWZkZWYgQ09ORklHXzRLU1RBQ0tTCisgIGV4dGVybiB2b2lkIGlycV9jdHhfaW5pdChpbnQgY3B1KTsKKyAgZXh0ZXJuIHZvaWQgaXJxX2N0eF9leGl0KGludCBjcHUpOworIyBkZWZpbmUgX19BUkNIX0hBU19ET19TT0ZUSVJRCisjZWxzZQorIyBkZWZpbmUgaXJxX2N0eF9pbml0KGNwdSkgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgaXJxX2N0eF9leGl0KGNwdSkgZG8geyB9IHdoaWxlICgwKQorIyBpZmRlZiBDT05GSUdfWDg2XzY0CisjICBkZWZpbmUgX19BUkNIX0hBU19ET19TT0ZUSVJRCisjIGVuZGlmCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19JUlFCQUxBTkNFCitleHRlcm4gaW50IGlycWJhbGFuY2VfZGlzYWJsZShjaGFyICpzdHIpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKKyNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CitleHRlcm4gdm9pZCBmaXh1cF9pcnFzKGNwdW1hc2tfdCBtYXApOworI2VuZGlmCisKK2V4dGVybiB1bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKK2V4dGVybiB2b2lkIGluaXRfSVJRKHZvaWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX2luaXRfSVJRKHZvaWQpOworCisvKiBJbnRlcnJ1cHQgdmVjdG9yIG1hbmFnZW1lbnQgKi8KK2V4dGVybiBERUNMQVJFX0JJVE1BUCh1c2VkX3ZlY3RvcnMsIE5SX1ZFQ1RPUlMpOworCisjZW5kaWYgLyogX0FTTV9JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lycV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2lycV8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjc5ZjMxLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFfMzIuaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLSNpZm5kZWYgX0FTTV9JUlFfSAotI2RlZmluZSBfQVNNX0lSUV9ICi0KLS8qCi0gKglsaW51eC9pbmNsdWRlL2FzbS9pcnEuaAotICoKLSAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgotICoKLSAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCi0gKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotLyogaW5jbHVkZSBjb21lcyBmcm9tIG1hY2hpbmUgc3BlY2lmaWMgZGlyZWN0b3J5ICovCi0jaW5jbHVkZSAiaXJxX3ZlY3RvcnMuaCIKLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotc3RhdGljIGlubGluZSBpbnQgaXJxX2Nhbm9uaWNhbGl6ZShpbnQgaXJxKQotewotCXJldHVybiAoKGlycSA9PSAyKSA/IDkgOiBpcnEpOwotfQotCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0jIGRlZmluZSBBUkNIX0hBU19OTUlfV0FUQ0hET0cJCS8qIFNlZSBpbmNsdWRlL2xpbnV4L25taS5oICovCi0jZW5kaWYKLQotI2lmZGVmIENPTkZJR180S1NUQUNLUwotICBleHRlcm4gdm9pZCBpcnFfY3R4X2luaXQoaW50IGNwdSk7Ci0gIGV4dGVybiB2b2lkIGlycV9jdHhfZXhpdChpbnQgY3B1KTsKLSMgZGVmaW5lIF9fQVJDSF9IQVNfRE9fU09GVElSUQotI2Vsc2UKLSMgZGVmaW5lIGlycV9jdHhfaW5pdChjcHUpIGRvIHsgfSB3aGlsZSAoMCkKLSMgZGVmaW5lIGlycV9jdHhfZXhpdChjcHUpIGRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0lSUUJBTEFOQ0UKLWV4dGVybiBpbnQgaXJxYmFsYW5jZV9kaXNhYmxlKGNoYXIgKnN0cik7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQotZXh0ZXJuIHZvaWQgZml4dXBfaXJxcyhjcHVtYXNrX3QgbWFwKTsKLSNlbmRpZgotCi11bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKLXZvaWQgaW5pdF9JUlEodm9pZCk7Ci12b2lkIF9faW5pdCBuYXRpdmVfaW5pdF9JUlEodm9pZCk7Ci0KLS8qIEludGVycnVwdCB2ZWN0b3IgbWFuYWdlbWVudCAqLwotZXh0ZXJuIERFQ0xBUkVfQklUTUFQKHVzZWRfdmVjdG9ycywgTlJfVkVDVE9SUyk7Ci0KLSNlbmRpZiAvKiBfQVNNX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvaXJxXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4M2QzNWEuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lycV82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0lSUV9ICi0jZGVmaW5lIF9BU01fSVJRX0gKLQotLyoKLSAqCWxpbnV4L2luY2x1ZGUvYXNtL2lycS5oCi0gKgotICoJKEMpIDE5OTIsIDE5OTMgTGludXMgVG9ydmFsZHMsIChDKSAxOTk3IEluZ28gTW9sbmFyCi0gKgotICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKLSAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+Ci0gKi8KLQotI2RlZmluZSBUSU1FUl9JUlEgMAotCi0vKgotICogMTYgODI1OUEgSVJRJ3MsIDIwOCBwb3RlbnRpYWwgQVBJQyBpbnRlcnJ1cHQgc291cmNlcy4KLSAqIFJpZ2h0IG5vdyB0aGUgQVBJQyBpcyBtb3N0bHkgb25seSB1c2VkIGZvciBTTVAuCi0gKiAyNTYgdmVjdG9ycyBpcyBhbiBhcmNoaXRlY3R1cmFsIGxpbWl0LiAod2UgY2FuIGhhdmUKLSAqIG1vcmUgdGhhbiAyNTYgZGV2aWNlcyB0aGVvcmV0aWNhbGx5LCBidXQgdGhleSB3aWxsCi0gKiBoYXZlIHRvIHVzZSBzaGFyZWQgaW50ZXJydXB0cykKLSAqIFNpbmNlIHZlY3RvcnMgMHgwMC0weDFmIGFyZSB1c2VkL3Jlc2VydmVkIGZvciB0aGUgQ1BVLAotICogdGhlIHVzYWJsZSB2ZWN0b3Igc3BhY2UgaXMgMHgyMC0weGZmICgyMjQgdmVjdG9ycykKLSAqLwotCi0vKgotICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHZlY3RvcnMgc3VwcG9ydGVkIGJ5IHg4Nl82NCBwcm9jZXNzb3JzCi0gKiBpcyBsaW1pdGVkIHRvIDI1Ni4gRm9yIHByb2Nlc3NvcnMgb3RoZXIgdGhhbiB4ODZfNjQsIE5SX1ZFQ1RPUlMKLSAqIHNob3VsZCBiZSBjaGFuZ2VkIGFjY29yZGluZ2x5LgotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0KLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmICAgLyogZHVwbGljYXRlZCBpbiBod19pcnEuaCAqLwotCi0jZGVmaW5lIE5SX0lSUVMgKE5SX1ZFQ1RPUlMgKyAoMzIgKiBOUl9DUFVTKSkKLSNkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgTlJfSVJRUwotCi1zdGF0aWMgaW5saW5lIGludCBpcnFfY2Fub25pY2FsaXplKGludCBpcnEpCi17Ci0JcmV0dXJuICgoaXJxID09IDIpID8gOSA6IGlycSk7Ci19Ci0KLSNkZWZpbmUgQVJDSF9IQVNfTk1JX1dBVENIRE9HCQkvKiBTZWUgaW5jbHVkZS9saW51eC9ubWkuaCAqLwotCi0jaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCi0jaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgotZXh0ZXJuIHZvaWQgZml4dXBfaXJxcyhjcHVtYXNrX3QgbWFwKTsKLSNlbmRpZgotCi0jZGVmaW5lIF9fQVJDSF9IQVNfRE9fU09GVElSUSAxCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFfdmVjdG9ycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwYjFkMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvaXJxX3ZlY3RvcnMuaApAQCAtMCwwICsxLDE3MyBAQAorI2lmbmRlZiBfQVNNX0lSUV9WRUNUT1JTX0gKKyNkZWZpbmUgX0FTTV9JUlFfVkVDVE9SU19ICisKKyNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CisKKyNkZWZpbmUgTk1JX1ZFQ1RPUgkJMHgwMgorCisvKgorICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAorICogYXQgMHgyMDoKKyAqLworI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorIyBkZWZpbmUgU1lTQ0FMTF9WRUNUT1IJCTB4ODAKKyNlbHNlCisjIGRlZmluZSBJQTMyX1NZU0NBTExfVkVDVE9SCTB4ODAKKyNlbmRpZgorCisvKgorICogUmVzZXJ2ZSB0aGUgbG93ZXN0IHVzYWJsZSBwcmlvcml0eSBsZXZlbCAweDIwIC0gMHgyZiBmb3IgdHJpZ2dlcmluZworICogY2xlYW51cCBhZnRlciBpcnEgbWlncmF0aW9uIG9uIDY0IGJpdC4KKyAqLworI2RlZmluZSBJUlFfTU9WRV9DTEVBTlVQX1ZFQ1RPUglGSVJTVF9FWFRFUk5BTF9WRUNUT1IKKworLyoKKyAqIFZlY3RvcnMgMHgyMC0weDJmIGFyZSB1c2VkIGZvciBJU0EgaW50ZXJydXB0cyBvbiAzMiBiaXQuCisgKiBWZWN0b3JzIDB4MzAtMHgzZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMgb24gNjQgYml0LgorICovCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBJUlEwX1ZFQ1RPUgkJKEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUikKKyNlbHNlCisjZGVmaW5lIElSUTBfVkVDVE9SCQkoRklSU1RfRVhURVJOQUxfVkVDVE9SICsgMHgxMCkKKyNlbmRpZgorI2RlZmluZSBJUlExX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMSkKKyNkZWZpbmUgSVJRMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDIpCisjZGVmaW5lIElSUTNfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAzKQorI2RlZmluZSBJUlE0X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNCkKKyNkZWZpbmUgSVJRNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDUpCisjZGVmaW5lIElSUTZfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA2KQorI2RlZmluZSBJUlE3X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNykKKyNkZWZpbmUgSVJROF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDgpCisjZGVmaW5lIElSUTlfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA5KQorI2RlZmluZSBJUlExMF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEwKQorI2RlZmluZSBJUlExMV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDExKQorI2RlZmluZSBJUlExMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEyKQorI2RlZmluZSBJUlExM19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEzKQorI2RlZmluZSBJUlExNF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE0KQorI2RlZmluZSBJUlExNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE1KQorCisvKgorICogU3BlY2lhbCBJUlEgdmVjdG9ycyB1c2VkIGJ5IHRoZSBTTVAgYXJjaGl0ZWN0dXJlLCAweGYwLTB4ZmYKKyAqCisgKiAgc29tZSBvZiB0aGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlICdyYXJlJywgdGhleSBhcmUgbWVyZ2VkCisgKiAgaW50byBhIHNpbmdsZSB2ZWN0b3IgKENBTExfRlVOQ1RJT05fVkVDVE9SKSB0byBzYXZlIHZlY3RvciBzcGFjZS4KKyAqICBUTEIsIHJlc2NoZWR1bGUgYW5kIGxvY2FsIEFQSUMgdmVjdG9ycyBhcmUgcGVyZm9ybWFuY2UtY3JpdGljYWwuCisgKgorICogIFZlY3RvcnMgMHhmMC0weGZhIGFyZSBmcmVlIChyZXNlcnZlZCBmb3IgZnV0dXJlIExpbnV4IHVzZSkuCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisKKyMgZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCQkweGZmCisjIGRlZmluZSBFUlJPUl9BUElDX1ZFQ1RPUgkJMHhmZQorIyBkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SCQkweGZkCisjIGRlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkJMHhmYworIyBkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJCTB4ZmIKKyMgZGVmaW5lIENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUgkweGZhCisjIGRlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCQkweGYwCisKKyNlbHNlCisKKyNkZWZpbmUgU1BVUklPVVNfQVBJQ19WRUNUT1IJCTB4ZmYKKyNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJCTB4ZmUKKyNkZWZpbmUgUkVTQ0hFRFVMRV9WRUNUT1IJCTB4ZmQKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJCTB4ZmMKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SCTB4ZmIKKyNkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkJMHhmYQorI2RlZmluZSBUSFJFU0hPTERfQVBJQ19WRUNUT1IJCTB4ZjkKKyNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SX0VORAkweGY3CisjZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVAkweGYwCS8qIGYwLWY3IHVzZWQgZm9yIFRMQiBmbHVzaCAqLworCisjZGVmaW5lIE5VTV9JTlZBTElEQVRFX1RMQl9WRUNUT1JTCTgKKworI2VuZGlmCisKKy8qCisgKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCisgKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQorICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KKyAqLworI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgorCisvKgorICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkgd2UKKyAqIHN0YXJ0IGF0IDB4MzEoMHg0MSkgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5CisgKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKKyAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKyMgZGVmaW5lIEZJUlNUX0RFVklDRV9WRUNUT1IJMHgzMQorI2Vsc2UKKyMgZGVmaW5lIEZJUlNUX0RFVklDRV9WRUNUT1IJKElSUTE1X1ZFQ1RPUiArIDIpCisjZW5kaWYKKworI2RlZmluZSBOUl9WRUNUT1JTCQkyNTYKKworI2RlZmluZSBGUFVfSVJRCQkJMTMKKworI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMworI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQorI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQorCisjaWYgIWRlZmluZWQoQ09ORklHX1g4Nl9WT1lBR0VSKQorCisjIGlmIGRlZmluZWQoQ09ORklHX1g4Nl9JT19BUElDKSB8fCBkZWZpbmVkKENPTkZJR19QQVJBVklSVCkgfHwgZGVmaW5lZChDT05GSUdfWDg2X1ZJU1dTKQorCisjICBkZWZpbmUgTlJfSVJRUwkJMjI0CisKKyMgIGlmICgyMjQgPj0gMzIgKiBOUl9DUFVTKQorIyAgIGRlZmluZSBOUl9JUlFfVkVDVE9SUwlOUl9JUlFTCisjICBlbHNlCisjICAgZGVmaW5lIE5SX0lSUV9WRUNUT1JTCSgzMiAqIE5SX0NQVVMpCisjICBlbmRpZgorCisjIGVsc2UgLyogSU9fQVBJQyB8fCBQQVJBVklSVCAqLworCisjICBkZWZpbmUgTlJfSVJRUwkJMTYKKyMgIGRlZmluZSBOUl9JUlFfVkVDVE9SUwlOUl9JUlFTCisKKyMgZW5kaWYKKworI2Vsc2UgLyogIVZJU1dTICYmICFWT1lBR0VSICovCisKKyMgZGVmaW5lIE5SX0lSUVMJCTIyNAorIyBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMJCU5SX0lSUVMKKworI2VuZGlmIC8qIFZJU1dTICovCisKKy8qIFZveWFnZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworLyogVGhlc2UgZGVmaW5lIHRoZSBDUElzIHdlIHVzZSBpbiBsaW51eCAqLworI2RlZmluZSBWSUNfQ1BJX0xFVkVMMAkJCTAKKyNkZWZpbmUgVklDX0NQSV9MRVZFTDEJCQkxCisvKiBub3cgdGhlIGZha2UgQ1BJcyAqLworI2RlZmluZSBWSUNfVElNRVJfQ1BJCQkJMgorI2RlZmluZSBWSUNfSU5WQUxJREFURV9DUEkJCTMKKyNkZWZpbmUgVklDX1JFU0NIRURVTEVfQ1BJCQk0CisjZGVmaW5lIFZJQ19FTkFCTEVfSVJRX0NQSQkJNQorI2RlZmluZSBWSUNfQ0FMTF9GVU5DVElPTl9DUEkJCTYKKyNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSQk3CisKKy8qIE5vdyB0aGUgUUlDIENQSXM6ICBTaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSB0d28gaW5pdGlhbCBsZXZlbHMsCisgKiB0aGVzZSBhcmUgMiBsZXNzIHRoYW4gdGhlIFZJQyBDUElzICovCisjZGVmaW5lIFFJQ19DUElfT0ZGU0VUCQkJMQorI2RlZmluZSBRSUNfVElNRVJfQ1BJCQkJKFZJQ19USU1FUl9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0lOVkFMSURBVEVfQ1BJCQkoVklDX0lOVkFMSURBVEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19SRVNDSEVEVUxFX0NQSQkJKFZJQ19SRVNDSEVEVUxFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQorI2RlZmluZSBRSUNfRU5BQkxFX0lSUV9DUEkJCShWSUNfRU5BQkxFX0lSUV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0NBTExfRlVOQ1RJT05fQ1BJCQkoVklDX0NBTExfRlVOQ1RJT05fQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkJKFZJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKworI2RlZmluZSBWSUNfU1RBUlRfRkFLRV9DUEkJCVZJQ19USU1FUl9DUEkKKyNkZWZpbmUgVklDX0VORF9GQUtFX0NQSQkJVklDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSQorCisvKiB0aGlzIGlzIHRoZSBTWVNfSU5UIENQSS4gKi8KKyNkZWZpbmUgVklDX1NZU19JTlQJCQk4CisjZGVmaW5lIFZJQ19DTU5fSU5UCQkJMTUKKworLyogVGhpcyBpcyB0aGUgYm9vdCBDUEkgZm9yIGFsdGVybmF0ZSBwcm9jZXNzb3JzLiAgSXQgZ2V0cyBvdmVyd3JpdHRlbgorICogYnkgdGhlIGFib3ZlIG9uY2UgdGhlIHN5c3RlbSBoYXMgYWN0aXZhdGVkIGFsbCBhdmFpbGFibGUgcHJvY2Vzc29ycyAqLworI2RlZmluZSBWSUNfQ1BVX0JPT1RfQ1BJCQlWSUNfQ1BJX0xFVkVMMAorI2RlZmluZSBWSUNfQ1BVX0JPT1RfRVJSQVRBX0NQSQkJKFZJQ19DUElfTEVWRUwwICsgOCkKKworCisjZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxZmxhZ3MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCmluZGV4IGMyNDI1MjcuLjQyNGFjYjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCkBAIC0xMTEsMTQgKzExMSwzNSBAQAogI2RlZmluZSBESVNBQkxFX0lOVEVSUlVQVFMoeCkJY2xpCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CisjZGVmaW5lIFNXQVBHUwlzd2FwZ3MKKy8qCisgKiBDdXJyZW50bHkgcGFyYXZpcnQgY2FuJ3QgaGFuZGxlIHN3YXBncyBuaWNlbHkgd2hlbiB3ZQorICogZG9uJ3QgaGF2ZSBhIHN0YWNrIHdlIGNhbiByZWx5IG9uIChzdWNoIGFzIGEgdXNlciBzcGFjZQorICogc3RhY2spLiAgU28gd2UgZWl0aGVyIGZpbmQgYSB3YXkgYXJvdW5kIHRoZXNlIG9yIGp1c3QgZmF1bHQKKyAqIGFuZCBlbXVsYXRlIGlmIGEgZ3Vlc3QgdHJpZXMgdG8gY2FsbCBzd2FwZ3MgZGlyZWN0bHkuCisgKgorICogRWl0aGVyIHdheSwgdGhpcyBpcyBhIGdvb2Qgd2F5IHRvIGRvY3VtZW50IHRoYXQgd2UgZG9uJ3QKKyAqIGhhdmUgYSByZWxpYWJsZSBzdGFjay4geDg2XzY0IG9ubHkuCisgKi8KKyNkZWZpbmUgU1dBUEdTX1VOU0FGRV9TVEFDSwlzd2FwZ3MKKworI2RlZmluZSBQQVJBVklSVF9BREpVU1RfRVhDRVBUSU9OX0ZSQU1FCS8qICAqLworCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JaXJldHEKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJCQlcCi0JCQltb3ZxCSVnczpwZGFfb2xkcnNwLCAlcnNwOwlcCi0JCQlzd2FwZ3M7CQkJCVwKLQkJCXN5c3JldHE7CisjZGVmaW5lIFVTRVJHU19TWVNSRVQ2NAkJCQlcCisJc3dhcGdzOwkJCQkJXAorCXN5c3JldHE7CisjZGVmaW5lIFVTRVJHU19TWVNSRVQzMgkJCQlcCisJc3dhcGdzOwkJCQkJXAorCXN5c3JldGwKKyNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVDMyCQlcCisJc3dhcGdzOwkJCQkJXAorCXN0aTsJCQkJCVwKKwlzeXNleGl0CisKICNlbHNlCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JCWlyZXQKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJc3RpOyBzeXNleGl0CisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQJc3RpOyBzeXNleGl0CiAjZGVmaW5lIEdFVF9DUjBfSU5UT19FQVgJCW1vdmwgJWNyMCwgJWVheAogI2VuZGlmCiAKQEAgLTE2OSwxOCArMTkwLDYgQEAKICNlbHNlCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0vKgotICogQ3VycmVudGx5IHBhcmF2aXJ0IGNhbid0IGhhbmRsZSBzd2FwZ3MgbmljZWx5IHdoZW4gd2UKLSAqIGRvbid0IGhhdmUgYSBzdGFjayB3ZSBjYW4gcmVseSBvbiAoc3VjaCBhcyBhIHVzZXIgc3BhY2UKLSAqIHN0YWNrKS4gIFNvIHdlIGVpdGhlciBmaW5kIGEgd2F5IGFyb3VuZCB0aGVzZSBvciBqdXN0IGZhdWx0Ci0gKiBhbmQgZW11bGF0ZSBpZiBhIGd1ZXN0IHRyaWVzIHRvIGNhbGwgc3dhcGdzIGRpcmVjdGx5LgotICoKLSAqIEVpdGhlciB3YXksIHRoaXMgaXMgYSBnb29kIHdheSB0byBkb2N1bWVudCB0aGF0IHdlIGRvbid0Ci0gKiBoYXZlIGEgcmVsaWFibGUgc3RhY2suIHg4Nl82NCBvbmx5LgotICovCi0jZGVmaW5lIFNXQVBHU19VTlNBRkVfU1RBQ0sJc3dhcGdzCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJY2FsbCB0cmFjZV9oYXJkaXJxc19vbl90aHVuawotI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT0ZGCQljYWxsIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuawogI2RlZmluZSBBUkNIX0xPQ0tERVBfU1lTX0VYSVQJCWNhbGwgbG9ja2RlcF9zeXNfZXhpdF90aHVuawogI2RlZmluZSBBUkNIX0xPQ0tERVBfU1lTX0VYSVRfSVJRCVwKIAlUUkFDRV9JUlFTX09OOyBcCkBAIC0xOTIsMjQgKzIwMSw2IEBACiAJVFJBQ0VfSVJRU19PRkY7CiAKICNlbHNlCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJCVwKLQlwdXNobCAlZWF4OwkJCQlcCi0JcHVzaGwgJWVjeDsJCQkJXAotCXB1c2hsICVlZHg7CQkJCVwKLQljYWxsIHRyYWNlX2hhcmRpcnFzX29uOwkJCVwKLQlwb3BsICVlZHg7CQkJCVwKLQlwb3BsICVlY3g7CQkJCVwKLQlwb3BsICVlYXg7Ci0KLSNkZWZpbmUgQVJDSF9UUkFDRV9JUlFTX09GRgkJCVwKLQlwdXNobCAlZWF4OwkJCQlcCi0JcHVzaGwgJWVjeDsJCQkJXAotCXB1c2hsICVlZHg7CQkJCVwKLQljYWxsIHRyYWNlX2hhcmRpcnFzX29mZjsJCVwKLQlwb3BsICVlZHg7CQkJCVwKLQlwb3BsICVlY3g7CQkJCVwKLQlwb3BsICVlYXg7Ci0KICNkZWZpbmUgQVJDSF9MT0NLREVQX1NZU19FWElUCQkJXAogCXB1c2hsICVlYXg7CQkJCVwKIAlwdXNobCAlZWN4OwkJCQlcCkBAIC0yMjMsOCArMjE0LDggQEAKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0jICBkZWZpbmUgVFJBQ0VfSVJRU19PTgkJQVJDSF9UUkFDRV9JUlFTX09OCi0jICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYJQVJDSF9UUkFDRV9JUlFTX09GRgorIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04JCWNhbGwgdHJhY2VfaGFyZGlycXNfb25fdGh1bms7CisjICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYJY2FsbCB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bms7CiAjZWxzZQogIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04KICMgIGRlZmluZSBUUkFDRV9JUlFTX09GRgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oCmluZGV4IDgzMjc5MDcuLjAxN2M4YzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9hcGljLmgKQEAgLTgxLDcgKzgxLDcgQEAKIAogc3RhdGljIGlubGluZSBpbnQgYXBpY2lkX3RvX25vZGUoaW50IGxvZ2ljYWxfYXBpY2lkKQogewotCXJldHVybiAoMCk7CisJcmV0dXJuIGFwaWNpZF8yX25vZGVbaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCldOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBjcHVfcHJlc2VudF90b19hcGljaWQoaW50IG1wc19jcHUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX21wc3BlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YjVkYWRjLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX21wc3BlYy5oCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfTVBTUEVDX0gKLSNkZWZpbmUgX19BU01fTUFDSF9NUFNQRUNfSAotCi0jZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAyNTYKLQotI2RlZmluZSBNQVhfTVBfQlVTU0VTIDMyCi0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2VudHJ5X2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCmluZGV4IGJjODYxNDYuLjkyODNiNjAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCkBAIC0xMyw2ICsxMyw3IEBACiBCVUlMRF9JTlRFUlJVUFQocmVzY2hlZHVsZV9pbnRlcnJ1cHQsUkVTQ0hFRFVMRV9WRUNUT1IpCiBCVUlMRF9JTlRFUlJVUFQoaW52YWxpZGF0ZV9pbnRlcnJ1cHQsSU5WQUxJREFURV9UTEJfVkVDVE9SKQogQlVJTERfSU5URVJSVVBUKGNhbGxfZnVuY3Rpb25faW50ZXJydXB0LENBTExfRlVOQ1RJT05fVkVDVE9SKQorQlVJTERfSU5URVJSVVBUKGNhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCxDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IpCiAjZW5kaWYKIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODgxYzYzYy4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIHNob3VsZCBjb250YWluICNkZWZpbmVzIGZvciBhbGwgb2YgdGhlIGludGVycnVwdCB2ZWN0b3IKLSAqIG51bWJlcnMgdXNlZCBieSB0aGlzIGFyY2hpdGVjdHVyZS4KLSAqCi0gKiBJbiBhZGRpdGlvbiwgdGhlcmUgYXJlIHNvbWUgc3RhbmRhcmQgZGVmaW5lczoKLSAqCi0gKglGSVJTVF9FWFRFUk5BTF9WRUNUT1I6Ci0gKgkJVGhlIGZpcnN0IGZyZWUgcGxhY2UgZm9yIGV4dGVybmFsIGludGVycnVwdHMKLSAqCi0gKglTWVNDQUxMX1ZFQ1RPUjoKLSAqCQlUaGUgSVJRIHZlY3RvciBhIHN5c2NhbGwgbWFrZXMgdGhlIHVzZXIgdG8ga2VybmVsIHRyYW5zaXRpb24KLSAqCQl1bmRlci4KLSAqCi0gKglUSU1FUl9JUlE6Ci0gKgkJVGhlIElSUSBudW1iZXIgdGhlIHRpbWVyIGludGVycnVwdCBjb21lcyBpbiBhdC4KLSAqCi0gKglOUl9JUlFTOgotICoJCVRoZSB0b3RhbCBudW1iZXIgb2YgaW50ZXJydXB0IHZlY3RvcnMgKGluY2x1ZGluZyBhbGwgdGhlCi0gKgkJYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGludGVycnVwdHMpIG5lZWRlZC4KLSAqCi0gKi8JCQkKLSNpZm5kZWYgX0FTTV9JUlFfVkVDVE9SU19ICi0jZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfSAotCi0vKgotICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAotICogYXQgMHgyMDoKLSAqLwotI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAotCi0jZGVmaW5lIFNZU0NBTExfVkVDVE9SCQkweDgwCi0KLS8qCi0gKiBWZWN0b3JzIDB4MjAtMHgyZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLQotLyoKLSAqIFNwZWNpYWwgSVJRIHZlY3RvcnMgdXNlZCBieSB0aGUgU01QIGFyY2hpdGVjdHVyZSwgMHhmMC0weGZmCi0gKgotICogIHNvbWUgb2YgdGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSAncmFyZScsIHRoZXkgYXJlIG1lcmdlZAotICogIGludG8gYSBzaW5nbGUgdmVjdG9yIChDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikgdG8gc2F2ZSB2ZWN0b3Igc3BhY2UuCi0gKiAgVExCLCByZXNjaGVkdWxlIGFuZCBsb2NhbCBBUElDIHZlY3RvcnMgYXJlIHBlcmZvcm1hbmNlLWNyaXRpY2FsLgotICoKLSAqICBWZWN0b3JzIDB4ZjAtMHhmYSBhcmUgZnJlZSAocmVzZXJ2ZWQgZm9yIGZ1dHVyZSBMaW51eCB1c2UpLgotICovCi0jZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCTB4ZmYKLSNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJMHhmZQotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1IJMHhmZAotI2RlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkweGZjCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCTB4ZmIKLQotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZjAKLS8qCi0gKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCi0gKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQotICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KLSAqLwotI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgotCi0vKgotICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkKLSAqIHdlIHN0YXJ0IGF0IDB4MzEgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5Ci0gKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKLSAqLwotI2RlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCTB4MzEKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmCi0KLSNkZWZpbmUgVElNRVJfSVJRIDAKLQotLyoKLSAqIDE2IDgyNTlBIElSUSdzLCAyMDggcG90ZW50aWFsIEFQSUMgaW50ZXJydXB0IHNvdXJjZXMuCi0gKiBSaWdodCBub3cgdGhlIEFQSUMgaXMgbW9zdGx5IG9ubHkgdXNlZCBmb3IgU01QLgotICogMjU2IHZlY3RvcnMgaXMgYW4gYXJjaGl0ZWN0dXJhbCBsaW1pdC4gKHdlIGNhbiBoYXZlCi0gKiBtb3JlIHRoYW4gMjU2IGRldmljZXMgdGhlb3JldGljYWxseSwgYnV0IHRoZXkgd2lsbAotICogaGF2ZSB0byB1c2Ugc2hhcmVkIGludGVycnVwdHMpCi0gKiBTaW5jZSB2ZWN0b3JzIDB4MDAtMHgxZiBhcmUgdXNlZC9yZXNlcnZlZCBmb3IgdGhlIENQVSwKLSAqIHRoZSB1c2FibGUgdmVjdG9yIHNwYWNlIGlzIDB4MjAtMHhmZiAoMjI0IHZlY3RvcnMpCi0gKi8KLQotLyoKLSAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB2ZWN0b3JzIHN1cHBvcnRlZCBieSBpMzg2IHByb2Nlc3NvcnMKLSAqIGlzIGxpbWl0ZWQgdG8gMjU2LiBGb3IgcHJvY2Vzc29ycyBvdGhlciB0aGFuIGkzODYsIE5SX1ZFQ1RPUlMKLSAqIHNob3VsZCBiZSBjaGFuZ2VkIGFjY29yZGluZ2x5LgotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0KLSNpbmNsdWRlICJpcnFfdmVjdG9yc19saW1pdHMuaCIKLQotI2RlZmluZSBGUFVfSVJRCQkJMTMKLQotI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMwotI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQotI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQotCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnNfbGltaXRzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzX2xpbWl0cy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTBjN2E2Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnNfbGltaXRzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfTElNSVRTX0gKLSNkZWZpbmUgX0FTTV9JUlFfVkVDVE9SU19MSU1JVFNfSAotCi0jaWYgZGVmaW5lZChDT05GSUdfWDg2X0lPX0FQSUMpIHx8IGRlZmluZWQoQ09ORklHX1BBUkFWSVJUKQotI2RlZmluZSBOUl9JUlFTIDIyNAotIyBpZiAoMjI0ID49IDMyICogTlJfQ1BVUykKLSMgZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLSMgZWxzZQotIyBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgKDMyICogTlJfQ1BVUykKLSMgZW5kaWYKLSNlbHNlCi0jZGVmaW5lIE5SX0lSUVMgMTYKLSNkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgTlJfSVJRUwotI2VuZGlmCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0xJTUlUU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9tYWNoX2FwaWMuaAppbmRleCAyMTAwM2I1Li4wYjJjZGU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvbWFjaF9hcGljLmgKQEAgLTc3LDcgKzc3LDExIEBACiAKIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNpZF90b19ub2RlKGludCBsb2dpY2FsX2FwaWNpZCkKIHsKKyNpZmRlZiBDT05GSUdfU01QCisJcmV0dXJuIGFwaWNpZF8yX25vZGVbaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCldOworI2Vsc2UKIAlyZXR1cm4gMDsKKyNlbmRpZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKaW5kZXggNjA1ZTNjYy4uMzg4NDYyMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKQEAgLTEsNyArMSwzIEBACiAvKiBIb29rIHRvIGNhbGwgQklPUyBpbml0aWFsaXNhdGlvbiBmdW5jdGlvbiAqLwogCiAvKiBubyBhY3Rpb24gZm9yIGdlbmVyaWMgKi8KLQotI2lmbmRlZiBBUkNIX1NFVFVQCi0jZGVmaW5lIEFSQ0hfU0VUVVAKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaAppbmRleCA1NmQwZTFmLi41NmQwMDFiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaApAQCAtMyw3ICszLDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpY19pcnFzKHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJaW9fYXBpY19pcnFzID0gMDsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9zZXR1cF93YXJtX3Jlc2V0X3ZlY3Rvcih1bnNpZ25lZCBsb25nIHN0YXJ0X2VpcCkKQEAgLTM1LDE3ICszNywyMyBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHNtcGJvb3Rfc2V0dXBfaW9fYXBpYyh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCS8qCiAJICogSGVyZSB3ZSBjYW4gYmUgc3VyZSB0aGF0IHRoZXJlIGlzIGFuIElPLUFQSUMgaW4gdGhlIHN5c3RlbS4gTGV0J3MKIAkgKiBnbyBhbmQgc2V0IGl0IHVwOgogCSAqLwogCWlmICghc2tpcF9pb2FwaWNfc2V0dXAgJiYgbnJfaW9hcGljcykKIAkJc2V0dXBfSU9fQVBJQygpOwotCWVsc2UKKwllbHNlIHsKIAkJbnJfaW9hcGljcyA9IDA7CisJCWxvY2FsaXNlX25taV93YXRjaGRvZygpOworCX0KKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9jbGVhcl9pb19hcGljKHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJbnJfaW9hcGljcyA9IDA7CisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMC9tYWNoX21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZXM3MDAwL21hY2hfbXBzcGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxZjUwMzkuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZXM3MDAwL21hY2hfbXBzcGVjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9NUFNQRUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX01QU1BFQ19ICi0KLSNkZWZpbmUgTUFYX0lSUV9TT1VSQ0VTIDI1NgotCi0jZGVmaW5lIE1BWF9NUF9CVVNTRVMgMjU2Ci0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfbXBwYXJzZS5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX21wcGFyc2UuaAppbmRleCAwZDBiNWJhLi41ODZjYWRiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfbXBwYXJzZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWdlbmVyaWMvbWFjaF9tcHBhcnNlLmgKQEAgLTEsNyArMSwxMCBAQAogI2lmbmRlZiBfTUFDSF9NUFBBUlNFX0gKICNkZWZpbmUgX01BQ0hfTVBQQVJTRV9IIDEKIAotaW50IG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sIGNoYXIgKnByb2R1Y3RpZCk7IAotaW50IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpOyAKKworZXh0ZXJuIGludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJIGNoYXIgKnByb2R1Y3RpZCk7CisKK2V4dGVybiBpbnQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaAppbmRleCA3NWE1NmU1Li5kODAyNDY1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaApAQCAtMjAsOCArMjAsMTQgQEAKICNkZWZpbmUgSU5UX0RFTElWRVJZX01PREUgZGVzdF9Mb3dlc3RQcmlvCiAjZGVmaW5lIElOVF9ERVNUX01PREUgMCAgICAgLyogcGh5c2ljYWwgZGVsaXZlcnkgb24gTE9DQUwgcXVhZCAqLwogIAotI2RlZmluZSBjaGVja19hcGljaWRfdXNlZChiaXRtYXAsIGFwaWNpZCkgcGh5c2lkX2lzc2V0KGFwaWNpZCwgYml0bWFwKQotI2RlZmluZSBjaGVja19hcGljaWRfcHJlc2VudChiaXQpIHBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGNoZWNrX2FwaWNpZF91c2VkKHBoeXNpZF9tYXNrX3QgYml0bWFwLCBpbnQgYXBpY2lkKQoreworCXJldHVybiBwaHlzaWRfaXNzZXQoYXBpY2lkLCBiaXRtYXApOworfQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGNoZWNrX2FwaWNpZF9wcmVzZW50KGludCBiaXQpCit7CisJcmV0dXJuIHBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKK30KICNkZWZpbmUgYXBpY2lkX2NsdXN0ZXIoYXBpY2lkKSAoYXBpY2lkICYgMHhGMCkKIAogc3RhdGljIGlubGluZSBpbnQgYXBpY19pZF9yZWdpc3RlcmVkKHZvaWQpCkBAIC03NywxMSArODMsNiBAQAogCQlyZXR1cm4gQkFEX0FQSUNJRDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQoaW50IHF1YWQsIGludCBwaHlzX2FwaWNpZCkKLXsKLQlyZXR1cm4gKHF1YWQgPDwgNCkgKyAocGh5c19hcGljaWQgPyBwaHlzX2FwaWNpZCA8PCAxIDogMSk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNpZF90b19ub2RlKGludCBsb2dpY2FsX2FwaWNpZCkgCiB7CiAJcmV0dXJuIGxvZ2ljYWxfYXBpY2lkID4+IDQ7CkBAIC05NSwzMCArOTYsNiBAQAogCXJldHVybiBwaHlzaWRfbWFza19vZl9waHlzaWQoY3B1ICsgNCpub2RlKTsKIH0KIAotc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gewotCXVuc2lnbmVkIGNoYXIgbXBjX3R5cGU7Ci0JdW5zaWduZWQgY2hhciB0cmFuc19sZW47Ci0JdW5zaWduZWQgY2hhciB0cmFuc190eXBlOwotCXVuc2lnbmVkIGNoYXIgdHJhbnNfcXVhZDsKLQl1bnNpZ25lZCBjaGFyIHRyYW5zX2dsb2JhbDsKLQl1bnNpZ25lZCBjaGFyIHRyYW5zX2xvY2FsOwotCXVuc2lnbmVkIHNob3J0IHRyYW5zX3Jlc2VydmVkOwotfTsKLQotc3RhdGljIGlubGluZSBpbnQgbXBjX2FwaWNfaWQoc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptLCAKLQkJCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbl9yZWNvcmQpCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbl9yZWNvcmQtPnRyYW5zX3F1YWQ7Ci0JaW50IGxvZ2ljYWxfYXBpY2lkID0gZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQocXVhZCwgbS0+bXBjX2FwaWNpZCk7Ci0KLQlwcmludGsoIlByb2Nlc3NvciAjJWQgJXU6JXUgQVBJQyB2ZXJzaW9uICVkIChxdWFkICVkLCBhcGljICVkKVxuIiwKLQkgICAgICAgbS0+bXBjX2FwaWNpZCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX0ZBTUlMWV9NQVNLKSA+PiA4LAotCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfTU9ERUxfTUFTSykgPj4gNCwKLQkgICAgICAgbS0+bXBjX2FwaWN2ZXIsIHF1YWQsIGxvZ2ljYWxfYXBpY2lkKTsKLQlyZXR1cm4gbG9naWNhbF9hcGljaWQ7Ci19Ci0KIGV4dGVybiB2b2lkICp4cXVhZF9wb3J0aW87CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXR1cF9wb3J0aW9fcmVtYXAodm9pZCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKaW5kZXggNDU5YjEyNC4uNjI2YWVmNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKQEAgLTEsMTQgKzEsNyBAQAogI2lmbmRlZiBfX0FTTV9NQUNIX01QUEFSU0VfSAogI2RlZmluZSBfX0FTTV9NQUNIX01QUEFSU0VfSAogCi1leHRlcm4gdm9pZCBtcGNfb2VtX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwgY2hhciAqbmFtZSwKLQkJCSAgICAgc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKTsKLWV4dGVybiB2b2lkIG1wY19vZW1fcGNpX2J1cyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sCi0Jc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKTsKLQotLyogSG9vayBmcm9tIGdlbmVyaWMgQUNQSSB0YWJsZXMuYyAqLwotc3RhdGljIGlubGluZSB2b2lkIGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpCi17Ci19CitleHRlcm4gdm9pZCBudW1hcV9tcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJCWNoYXIgKnByb2R1Y3RpZCk7CiAKICNlbmRpZiAvKiBfX0FTTV9NQUNIX01QUEFSU0VfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBzcGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmZmIwOTguLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHNwZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX01QU1BFQ19ICi0jZGVmaW5lIF9fQVNNX01BQ0hfTVBTUEVDX0gKLQotI2RlZmluZSBNQVhfSVJRX1NPVVJDRVMgNTEyCi0KLSNkZWZpbmUgTUFYX01QX0JVU1NFUyAzMgotCi0jZW5kaWYgLyogX19BU01fTUFDSF9NUFNQRUNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0L21hY2hfbXBzcGVjLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1zdW1taXQvbWFjaF9tcHNwZWMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQ3NjU1Mi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1zdW1taXQvbWFjaF9tcHNwZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX01QU1BFQ19ICi0jZGVmaW5lIF9fQVNNX01BQ0hfTVBTUEVDX0gKLQotI2RlZmluZSBNQVhfSVJRX1NPVVJDRVMgMjU2Ci0KLS8qIE1heGltdW0gMjU2IFBDSSBidXNzZXMsIHBsdXMgMSBJU0EgYnVzIGluIGVhY2ggb2YgNCBjYWJpbmV0cy4gKi8KLSNkZWZpbmUgTUFYX01QX0JVU1NFUyAyNjAKLQotI2VuZGlmIC8qIF9fQVNNX01BQ0hfTVBTUEVDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2VudHJ5X2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2VudHJ5X2FyY2guaAppbmRleCBiMTgzZmE2Li44NmJlNTU0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9lbnRyeV9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvZW50cnlfYXJjaC5oCkBAIC0xLDIzICsxLDUgQEAKIC8qCi0gKiBUaGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlIHBhcnQgb2YgdGhlIExpbnV4IGFyY2hpdGVjdHVyZSwgdGhlcmUKLSAqIGlzIG5vIGhhcmR3YXJlIElSUSBwaW4gZXF1aXZhbGVudCBmb3IgdGhlbSwgdGhleSBhcmUgdHJpZ2dlcmVkCi0gKiB0aHJvdWdoIHRoZSBJQ0MgYnkgdXMgKElQSXMpCisgKiBWSVNXUyB1c2VzIHRoZSBzdGFuZGFyZCBMaW51eCBlbnRyeSBwb2ludHM6CiAgKi8KLSNpZmRlZiBDT05GSUdfWDg2X1NNUAotQlVJTERfSU5URVJSVVBUKHJlc2NoZWR1bGVfaW50ZXJydXB0LFJFU0NIRURVTEVfVkVDVE9SKQotQlVJTERfSU5URVJSVVBUKGludmFsaWRhdGVfaW50ZXJydXB0LElOVkFMSURBVEVfVExCX1ZFQ1RPUikKLUJVSUxEX0lOVEVSUlVQVChjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCxDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikKLSNlbmRpZgogCi0vKgotICogZXZlcnkgcGVudGl1bSBsb2NhbCBBUElDIGhhcyB0d28gJ2xvY2FsIGludGVycnVwdHMnLCB3aXRoIGEKLSAqIHNvZnQtZGVmaW5hYmxlIHZlY3RvciBhdHRhY2hlZCB0byBib3RoIGludGVycnVwdHMsIG9uZSBvZgotICogd2hpY2ggaXMgYSB0aW1lciBpbnRlcnJ1cHQsIHRoZSBvdGhlciBvbmUgaXMgZXJyb3IgY291bnRlcgotICogb3ZlcmZsb3cuIExpbnV4IHVzZXMgdGhlIGxvY2FsIEFQSUMgdGltZXIgaW50ZXJydXB0IHRvIGdldAotICogYSBtdWNoIHNpbXBsZXIgU01QIHRpbWUgYXJjaGl0ZWN0dXJlOgotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi1CVUlMRF9JTlRFUlJVUFQoYXBpY190aW1lcl9pbnRlcnJ1cHQsTE9DQUxfVElNRVJfVkVDVE9SKQotQlVJTERfSU5URVJSVVBUKGVycm9yX2ludGVycnVwdCxFUlJPUl9BUElDX1ZFQ1RPUikKLUJVSUxEX0lOVEVSUlVQVChzcHVyaW91c19pbnRlcnJ1cHQsU1BVUklPVVNfQVBJQ19WRUNUT1IpCi0jZW5kaWYKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2lycV92ZWN0b3JzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiNTcyZDguLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvaXJxX3ZlY3RvcnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLSNpZm5kZWYgX0FTTV9JUlFfVkVDVE9SU19ICi0jZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfSAotCi0vKgotICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAotICogYXQgMHgyMDoKLSAqLwotI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAotCi0jZGVmaW5lIFNZU0NBTExfVkVDVE9SCQkweDgwCi0KLS8qCi0gKiBWZWN0b3JzIDB4MjAtMHgyZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLQotLyoKLSAqIFNwZWNpYWwgSVJRIHZlY3RvcnMgdXNlZCBieSB0aGUgU01QIGFyY2hpdGVjdHVyZSwgMHhmMC0weGZmCi0gKgotICogIHNvbWUgb2YgdGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSAncmFyZScsIHRoZXkgYXJlIG1lcmdlZAotICogIGludG8gYSBzaW5nbGUgdmVjdG9yIChDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikgdG8gc2F2ZSB2ZWN0b3Igc3BhY2UuCi0gKiAgVExCLCByZXNjaGVkdWxlIGFuZCBsb2NhbCBBUElDIHZlY3RvcnMgYXJlIHBlcmZvcm1hbmNlLWNyaXRpY2FsLgotICoKLSAqICBWZWN0b3JzIDB4ZjAtMHhmYSBhcmUgZnJlZSAocmVzZXJ2ZWQgZm9yIGZ1dHVyZSBMaW51eCB1c2UpLgotICovCi0jZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCTB4ZmYKLSNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJMHhmZQotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1IJMHhmZAotI2RlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkweGZjCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCTB4ZmIKLQotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZjAKLS8qCi0gKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCi0gKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQotICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KLSAqLwotI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgotCi0vKgotICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkKLSAqIHdlIHN0YXJ0IGF0IDB4MzEgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5Ci0gKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKLSAqLwotI2RlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCTB4MzEKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmCi0KLSNkZWZpbmUgVElNRVJfSVJRIDAKLQotLyoKLSAqIElSUSBkZWZpbml0aW9ucwotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0jZGVmaW5lIE5SX0lSUVMgMjI0Ci0jZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLQotI2RlZmluZSBGUFVfSVJRCQkJMTMKLQotI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMwotI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQotI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQotCi0jZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCmluZGV4IGE5ZWYzM2EuLjY5NDNlN2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCkBAIC0xLDEwMyArMSBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX0FQSUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX0FQSUNfSAotCi0jaW5jbHVkZSA8bWFjaF9hcGljZGVmLmg+Ci0jaW5jbHVkZSA8YXNtL3NtcC5oPgotCi0jZGVmaW5lIEFQSUNfREZSX1ZBTFVFCShBUElDX0RGUl9GTEFUKQotCi0jZGVmaW5lIG5vX2JhbGFuY2VfaXJxICgwKQotI2RlZmluZSBlc3JfZGlzYWJsZSAoMCkKLQotI2RlZmluZSBJTlRfREVMSVZFUllfTU9ERSBkZXN0X0xvd2VzdFByaW8KLSNkZWZpbmUgSU5UX0RFU1RfTU9ERSAxICAgICAvKiBsb2dpY2FsIGRlbGl2ZXJ5IGJyb2FkY2FzdCB0byBhbGwgcHJvY3MgKi8KLQotI2lmZGVmIENPTkZJR19TTVAKLSAjZGVmaW5lIFRBUkdFVF9DUFVTIGNwdV9vbmxpbmVfbWFwCi0jZWxzZQotICNkZWZpbmUgVEFSR0VUX0NQVVMgY3B1bWFza19vZl9jcHUoMCkKLSNlbmRpZgotCi0jZGVmaW5lIGNoZWNrX2FwaWNpZF91c2VkKGJpdG1hcCwgYXBpY2lkKQlwaHlzaWRfaXNzZXQoYXBpY2lkLCBiaXRtYXApCi0jZGVmaW5lIGNoZWNrX2FwaWNpZF9wcmVzZW50KGJpdCkJCXBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKQotCi1zdGF0aWMgaW5saW5lIGludCBhcGljX2lkX3JlZ2lzdGVyZWQodm9pZCkKLXsKLQlyZXR1cm4gcGh5c2lkX2lzc2V0KEdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKSwgcGh5c19jcHVfcHJlc2VudF9tYXApOwotfQotCi0vKgotICogU2V0IHVwIHRoZSBsb2dpY2FsIGRlc3RpbmF0aW9uIElELgotICoKLSAqIEludGVsIHJlY29tbWVuZHMgdG8gc2V0IERGUiwgTERSIGFuZCBUUFIgYmVmb3JlIGVuYWJsaW5nCi0gKiBhbiBBUElDLiAgU2VlIGUuZy4gIkFQLTM4OCA4MjQ4OURYIFVzZXIncyBNYW51YWwiIChJbnRlbAotICogZG9jdW1lbnQgbnVtYmVyIDI5MjExNikuICBTbyBoZXJlIGl0IGdvZXMuLi4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGluaXRfYXBpY19sZHIodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHZhbDsKLQotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfREZSLCBBUElDX0RGUl9WQUxVRSk7Ci0JdmFsID0gYXBpY19yZWFkKEFQSUNfTERSKSAmIH5BUElDX0xEUl9NQVNLOwotCXZhbCB8PSBTRVRfQVBJQ19MT0dJQ0FMX0lEKDFVTCA8PCBzbXBfcHJvY2Vzc29yX2lkKCkpOwotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTERSLCB2YWwpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc3VtbWl0X2NoZWNrKGNoYXIgKm9lbSwgY2hhciAqcHJvZHVjdGlkKSAKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNldHVwX2FwaWNfcm91dGluZyh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIGludCBhcGljaWRfdG9fbm9kZShpbnQgbG9naWNhbF9hcGljaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qIE1hcHBpbmcgZnJvbSBjcHUgbnVtYmVyIHRvIGxvZ2ljYWwgYXBpY2lkICovCi1zdGF0aWMgaW5saW5lIGludCBjcHVfdG9fbG9naWNhbF9hcGljaWQoaW50IGNwdSkKLXsKLQlyZXR1cm4gMSA8PCBjcHU7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGNwdV9wcmVzZW50X3RvX2FwaWNpZChpbnQgbXBzX2NwdSkKLXsKLQlpZiAobXBzX2NwdSA8IGdldF9waHlzaWNhbF9icm9hZGNhc3QoKSkKLQkJcmV0dXJuIG1wc19jcHU7Ci0JZWxzZQotCQlyZXR1cm4gQkFEX0FQSUNJRDsKLX0KLQotc3RhdGljIGlubGluZSBwaHlzaWRfbWFza190IGFwaWNpZF90b19jcHVfcHJlc2VudChpbnQgYXBpY2lkKQotewotCXJldHVybiBwaHlzaWRfbWFza19vZl9waHlzaWQoYXBpY2lkKTsKLX0KLQotI2RlZmluZSBXQUtFX1NFQ09OREFSWV9WSUFfSU5JVAotCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfcG9ydGlvX3JlbWFwKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBlbmFibGVfYXBpY19tb2RlKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGNoZWNrX3BoeXNfYXBpY2lkX3ByZXNlbnQoaW50IGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCkKLXsKLQlyZXR1cm4gcGh5c2lkX2lzc2V0KGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCwgcGh5c19jcHVfcHJlc2VudF9tYXApOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBjcHVfbWFza190b19hcGljaWQoY3B1bWFza190IGNwdW1hc2spCi17Ci0JcmV0dXJuIGNwdXNfYWRkcihjcHVtYXNrKVswXTsKLX0KLQotc3RhdGljIGlubGluZSB1MzIgcGh5c19wa2dfaWQodTMyIGNwdWlkX2FwaWMsIGludCBpbmRleF9tc2IpCi17Ci0JcmV0dXJuIGNwdWlkX2FwaWMgPj4gaW5kZXhfbXNiOwotfQotCi0jZW5kaWYgLyogX19BU01fTUFDSF9BUElDX0ggKi8KKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvbWFjaF9hcGljLmgiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWNkZWYuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCmluZGV4IDgyNmNmYTkuLjQyNzExZDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCkBAIC0xLDEyICsxIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfQVBJQ0RFRl9ICi0jZGVmaW5lIF9fQVNNX01BQ0hfQVBJQ0RFRl9ICi0KLSNkZWZpbmUgICAgICAgICBBUElDX0lEX01BU0sgICAgICAgICAgICAoMHhGPDwyNCkKLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBnZXRfYXBpY19pZCh1bnNpZ25lZCBsb25nIHgpCi17Ci0JICAgICAgICByZXR1cm4gKCgoeCk+PjI0KSYweEYpOwotfQotI2RlZmluZSAgICAgICAgIEdFVF9BUElDX0lEKHgpICBnZXRfYXBpY19pZCh4KQotCi0jZW5kaWYKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvbWFjaF9hcGljZGVmLmgiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zZXR1cF9hcmNoLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zZXR1cF9hcmNoLmgKaW5kZXggMzNmNzAwZS4uZmE0NzY2YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc2V0dXBfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NldHVwX2FyY2guaApAQCAtMSw4ICsxIEBACi0vKiBIb29rIHRvIGNhbGwgQklPUyBpbml0aWFsaXNhdGlvbiBmdW5jdGlvbiAqLwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9waHlzOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKLQotLyogbm8gYWN0aW9uIGZvciB2aXN3cyAqLwotCi0jZGVmaW5lIEFSQ0hfU0VUVVAKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc21wYm9vdF9ob29rcy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc21wYm9vdF9ob29rcy5oCmluZGV4IGM5YjgzZTMuLmU0NDMzY2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NtcGJvb3RfaG9va3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zbXBib290X2hvb2tzLmgKQEAgLTEsMjggKzEgQEAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X3NldHVwX3dhcm1fcmVzZXRfdmVjdG9yKHVuc2lnbmVkIGxvbmcgc3RhcnRfZWlwKQotewotCUNNT1NfV1JJVEUoMHhhLCAweGYpOwotCWxvY2FsX2ZsdXNoX3RsYigpOwotCURwcmludGsoIjEuXG4iKTsKLQkqKCh2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAqKSBUUkFNUE9MSU5FX0hJR0gpID0gc3RhcnRfZWlwID4+IDQ7Ci0JRHByaW50aygiMi5cbiIpOwotCSooKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICopIFRSQU1QT0xJTkVfTE9XKSA9IHN0YXJ0X2VpcCAmIDB4ZjsKLQlEcHJpbnRrKCIzLlxuIik7Ci19Ci0KLS8qIGZvciB2aXN3cyBkbyBub3RoaW5nIGZvciBhbnkgb2YgdGhlc2UgKi8KLQotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpY19pcnFzKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X3Jlc3RvcmVfd2FybV9yZXNldF92ZWN0b3Iodm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3Rfc2V0dXBfaW9fYXBpYyh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9jbGVhcl9pb19hcGljKHZvaWQpCi17Ci19CisjaW5jbHVkZSAiLi4vbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaCIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvZW50cnlfYXJjaC5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKaW5kZXggNGExZTFlOC4uYWU1MjYyNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKQEAgLTIzLDQgKzIzLDQgQEAKIEJVSUxEX0lOVEVSUlVQVChxaWNfcmVzY2hlZHVsZV9pbnRlcnJ1cHQsIFFJQ19SRVNDSEVEVUxFX0NQSSk7CiBCVUlMRF9JTlRFUlJVUFQocWljX2VuYWJsZV9pcnFfaW50ZXJydXB0LCBRSUNfRU5BQkxFX0lSUV9DUEkpOwogQlVJTERfSU5URVJSVVBUKHFpY19jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCwgUUlDX0NBTExfRlVOQ1RJT05fQ1BJKTsKLQorQlVJTERfSU5URVJSVVBUKHFpY19jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQsIFFJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9pcnFfdmVjdG9ycy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9pcnFfdmVjdG9ycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjU0MjFmLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvaXJxX3ZlY3RvcnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLS8qIC0qLSBtb2RlOiBjOyBjLWJhc2ljLW9mZnNldDogOCAtKi0gKi8KLQotLyogQ29weXJpZ2h0IChDKSAyMDAyCi0gKgotICogQXV0aG9yOiBKYW1lcy5Cb3R0b21sZXlASGFuc2VuUGFydG5lcnNoaXAuY29tCi0gKgotICogbGludXgvYXJjaC9pMzg2L3ZveWFnZXIvaXJxX3ZlY3RvcnMuaAotICoKLSAqIFRoaXMgZmlsZSBwcm92aWRlcyBkZWZpbml0aW9ucyBmb3IgdGhlIFZJQyBhbmQgUUlDIENQSXMKLSAqLwotCi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfSAotI2RlZmluZSBfQVNNX0lSUV9WRUNUT1JTX0gKLQotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBTWVNDQUxMX1ZFQ1RPUgkJMHg4MAotCi0vKgotICogVmVjdG9ycyAweDIwLTB4MmYgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzLgotICovCi0KLS8qIFRoZXNlIGRlZmluZSB0aGUgQ1BJcyB3ZSB1c2UgaW4gbGludXggKi8KLSNkZWZpbmUgVklDX0NQSV9MRVZFTDAJCQkwCi0jZGVmaW5lIFZJQ19DUElfTEVWRUwxCQkJMQotLyogbm93IHRoZSBmYWtlIENQSXMgKi8KLSNkZWZpbmUgVklDX1RJTUVSX0NQSQkJCTIKLSNkZWZpbmUgVklDX0lOVkFMSURBVEVfQ1BJCQkzCi0jZGVmaW5lIFZJQ19SRVNDSEVEVUxFX0NQSQkJNAotI2RlZmluZSBWSUNfRU5BQkxFX0lSUV9DUEkJCTUKLSNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fQ1BJCQk2Ci0KLS8qIE5vdyB0aGUgUUlDIENQSXM6ICBTaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSB0d28gaW5pdGlhbCBsZXZlbHMsCi0gKiB0aGVzZSBhcmUgMiBsZXNzIHRoYW4gdGhlIFZJQyBDUElzICovCi0jZGVmaW5lIFFJQ19DUElfT0ZGU0VUCQkJMQotI2RlZmluZSBRSUNfVElNRVJfQ1BJCQkJKFZJQ19USU1FUl9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0lOVkFMSURBVEVfQ1BJCQkoVklDX0lOVkFMSURBVEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0jZGVmaW5lIFFJQ19SRVNDSEVEVUxFX0NQSQkJKFZJQ19SRVNDSEVEVUxFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQotI2RlZmluZSBRSUNfRU5BQkxFX0lSUV9DUEkJCShWSUNfRU5BQkxFX0lSUV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0NBTExfRlVOQ1RJT05fQ1BJCQkoVklDX0NBTExfRlVOQ1RJT05fQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0KLSNkZWZpbmUgVklDX1NUQVJUX0ZBS0VfQ1BJCQlWSUNfVElNRVJfQ1BJCi0jZGVmaW5lIFZJQ19FTkRfRkFLRV9DUEkJCVZJQ19DQUxMX0ZVTkNUSU9OX0NQSQotCi0vKiB0aGlzIGlzIHRoZSBTWVNfSU5UIENQSS4gKi8KLSNkZWZpbmUgVklDX1NZU19JTlQJCQk4Ci0jZGVmaW5lIFZJQ19DTU5fSU5UCQkJMTUKLQotLyogVGhpcyBpcyB0aGUgYm9vdCBDUEkgZm9yIGFsdGVybmF0ZSBwcm9jZXNzb3JzLiAgSXQgZ2V0cyBvdmVyd3JpdHRlbgotICogYnkgdGhlIGFib3ZlIG9uY2UgdGhlIHN5c3RlbSBoYXMgYWN0aXZhdGVkIGFsbCBhdmFpbGFibGUgcHJvY2Vzc29ycyAqLwotI2RlZmluZSBWSUNfQ1BVX0JPT1RfQ1BJCQlWSUNfQ1BJX0xFVkVMMAotI2RlZmluZSBWSUNfQ1BVX0JPT1RfRVJSQVRBX0NQSQkJKFZJQ19DUElfTEVWRUwwICsgOCkKLQotI2RlZmluZSBOUl9WRUNUT1JTIDI1NgotI2RlZmluZSBOUl9JUlFTIDIyNAotI2RlZmluZSBOUl9JUlFfVkVDVE9SUyBOUl9JUlFTCi0KLSNkZWZpbmUgRlBVX0lSUQkJCQkxMwotCi0jZGVmaW5lCUZJUlNUX1ZNODZfSVJRCQkzCi0jZGVmaW5lIExBU1RfVk04Nl9JUlEJCTE1Ci0jZGVmaW5lIGludmFsaWRfdm04Nl9pcnEoaXJxKQkoKGlycSkgPCAzIHx8IChpcnEpID4gMTUpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jcGlfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfc3lzX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX2Ntbl9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY190aW1lcl9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19pbnZhbGlkYXRlX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX3Jlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfZW5hYmxlX2lycV9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLSNlbmRpZiAvKiAhX19BU1NFTUJMWV9fICovCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oIGIvaW5jbHVkZS9hc20teDg2L21tY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTViZWRhMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oCkBAIC0wLDAgKzEsMTIgQEAKKyNpZm5kZWYgX0FTTV9NTUNPTkZJR19ICisjZGVmaW5lIF9BU01fTU1DT05GSUdfSAorCisjaWZkZWYgQ09ORklHX1BDSV9NTUNPTkZJRworZXh0ZXJuIHZvaWQgX19jcHVpbml0IGZhbTEwaF9jaGVja19lbmFibGVfbW1jZmcodm9pZCk7CitleHRlcm4gdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKHZvaWQpIHsgfQorc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX2VuYWJsZV9hbWRfbW1jb25mX2RtaSh2b2lkKSB7IH0KKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dC5oIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKaW5kZXggNjU5ODQ1MC4uZmFjNTcwMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKQEAgLTEsNSArMSwzNyBAQAorI2lmbmRlZiBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSAorI2RlZmluZSBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSAorCisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KKyNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KKworc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsCisJCQkJCXN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpCit7Cit9CisjZW5kaWYJLyogIUNPTkZJR19QQVJBVklSVCAqLworCisvKgorICogVXNlZCBmb3IgTERUIGNvcHkvZGVzdHJ1Y3Rpb24uCisgKi8KK2ludCBpbml0X25ld19jb250ZXh0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSk7Cit2b2lkIGRlc3Ryb3lfY29udGV4dChzdHJ1Y3QgbW1fc3RydWN0ICptbSk7CisKICNpZmRlZiBDT05GSUdfWDg2XzMyCiAjIGluY2x1ZGUgIm1tdV9jb250ZXh0XzMyLmgiCiAjZWxzZQogIyBpbmNsdWRlICJtbXVfY29udGV4dF82NC5oIgogI2VuZGlmCisKKyNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCitkbyB7CQkJCQkJXAorCXBhcmF2aXJ0X2FjdGl2YXRlX21tKChwcmV2KSwgKG5leHQpKTsJXAorCXN3aXRjaF9tbSgocHJldiksIChuZXh0KSwgTlVMTCk7CVwKK30gd2hpbGUgKDApOworCisKKyNlbmRpZiAvKiBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzMyLmggYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaAppbmRleCA5NzU2YWUwLi44MjRmYzU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaApAQCAtMSwyOCArMSw2IEBACiAjaWZuZGVmIF9fSTM4Nl9TQ0hFRF9ICiAjZGVmaW5lIF9fSTM4Nl9TQ0hFRF9ICiAKLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgotI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgotI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgotI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKLSNpbmNsdWRlIDxhc20tZ2VuZXJpYy9tbV9ob29rcy5oPgotCi1zdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWN0aXZhdGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqcHJldiwKLQkJCQkJc3RydWN0IG1tX3N0cnVjdCAqbmV4dCkKLXsKLX0KLSNlbmRpZgkvKiAhQ09ORklHX1BBUkFWSVJUICovCi0KLQotLyoKLSAqIFVzZWQgZm9yIExEVCBjb3B5L2Rlc3RydWN0aW9uLgotICovCi1pbnQgaW5pdF9uZXdfY29udGV4dChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IG1tX3N0cnVjdCAqbW0pOwotdm9pZCBkZXN0cm95X2NvbnRleHQoc3RydWN0IG1tX3N0cnVjdCAqbW0pOwotCi0KIHN0YXRpYyBpbmxpbmUgdm9pZCBlbnRlcl9sYXp5X3RsYihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7CiAjaWZkZWYgQ09ORklHX1NNUApAQCAtNzUsMTAgKzUzLDQgQEAKICNkZWZpbmUgZGVhY3RpdmF0ZV9tbSh0c2ssIG1tKQkJCVwKIAlhc20oIm1vdmwgJTAsJSVncyI6IDoiciIgKDApKTsKIAotI2RlZmluZSBhY3RpdmF0ZV9tbShwcmV2LCBuZXh0KQkJCVwKLWRvIHsJCQkJCQlcCi0JcGFyYXZpcnRfYWN0aXZhdGVfbW0oKHByZXYpLCAobmV4dCkpOwlcCi0Jc3dpdGNoX21tKChwcmV2KSwgKG5leHQpLCBOVUxMKTsJXAotfSB3aGlsZSAoMCk7Ci0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzY0LmggYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaAppbmRleCBjYTQ0YzcxLi5jNzAwMDYzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaApAQCAtMSwyMSArMSw3IEBACiAjaWZuZGVmIF9fWDg2XzY0X01NVV9DT05URVhUX0gKICNkZWZpbmUgX19YODZfNjRfTU1VX0NPTlRFWFRfSAogCi0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vcGRhLmg+Ci0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KLSNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCi0jaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KLSNlbmRpZgotCi0vKgotICogcG9zc2libHkgZG8gdGhlIExEVCB1bmxvYWQgaGVyZT8KLSAqLwotaW50IGluaXRfbmV3X2NvbnRleHQoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKLXZvaWQgZGVzdHJveV9jb250ZXh0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGVudGVyX2xhenlfdGxiKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKIHsKQEAgLTY1LDggKzUxLDQgQEAKIAlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyI6OiJyIigwKSk7CVwKIH0gd2hpbGUgKDApCiAKLSNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCi0Jc3dpdGNoX21tKChwcmV2KSwgKG5leHQpLCBOVUxMKQotCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oCmluZGV4IGNiMmNhZDAuLmIyMjk4YTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tbXpvbmVfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW16b25lXzMyLmgKQEAgLTEyLDExICsxMiw5IEBACiBleHRlcm4gc3RydWN0IHBnbGlzdF9kYXRhICpub2RlX2RhdGFbXTsKICNkZWZpbmUgTk9ERV9EQVRBKG5pZCkJKG5vZGVfZGF0YVtuaWRdKQogCi0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotCSNpbmNsdWRlIDxhc20vbnVtYXEuaD4KLSNlbGlmIGRlZmluZWQoQ09ORklHX0FDUElfU1JBVCkvKiBzdW1taXQgb3IgZ2VuZXJpYyBhcmNoICovCi0JI2luY2x1ZGUgPGFzbS9zcmF0Lmg+Ci0jZW5kaWYKKyNpbmNsdWRlIDxhc20vbnVtYXEuaD4KKy8qIHN1bW1pdCBvciBnZW5lcmljIGFyY2ggKi8KKyNpbmNsdWRlIDxhc20vc3JhdC5oPgogCiBleHRlcm4gaW50IGdldF9tZW1jZmdfbnVtYV9mbGF0KHZvaWQpOwogLyoKQEAgLTI2LDI4ICsyNCwyMCBAQAogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0X21lbWNmZ19udW1hKHZvaWQpCiB7Ci0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCiAJaWYgKGdldF9tZW1jZmdfbnVtYXEoKSkKIAkJcmV0dXJuOwotI2VsaWYgZGVmaW5lZChDT05GSUdfQUNQSV9TUkFUKQogCWlmIChnZXRfbWVtY2ZnX2Zyb21fc3JhdCgpKQogCQlyZXR1cm47Ci0jZW5kaWYKLQogCWdldF9tZW1jZmdfbnVtYV9mbGF0KCk7CiB9CiAKIGV4dGVybiBpbnQgZWFybHlfcGZuX3RvX25pZCh1bnNpZ25lZCBsb25nIHBmbik7Ci1leHRlcm4gdm9pZCBudW1hX2t2YV9yZXNlcnZlKHZvaWQpOwogCiAjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIAogI2RlZmluZSBnZXRfbWVtY2ZnX251bWEgZ2V0X21lbWNmZ19udW1hX2ZsYXQKLSNkZWZpbmUgZ2V0X3pob2xlc19zaXplKG4pICgwKQogCi1zdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9rdmFfcmVzZXJ2ZSh2b2lkKQotewotfQogI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKICNpZmRlZiBDT05GSUdfRElTQ09OVElHTUVNCkBAIC01NSwxNCArNDUsMTQgQEAKIC8qCiAgKiBnZW5lcmljIG5vZGUgbWVtb3J5IHN1cHBvcnQsIHRoZSBmb2xsb3dpbmcgYXNzdW1wdGlvbnMgYXBwbHk6CiAgKgotICogMSkgbWVtb3J5IGNvbWVzIGluIDI1Nk1iIGNvbnRpZ2lvdXMgY2h1bmtzIHdoaWNoIGFyZSBlaXRoZXIgcHJlc2VudCBvciBub3QKKyAqIDEpIG1lbW9yeSBjb21lcyBpbiA2NE1iIGNvbnRpZ2lvdXMgY2h1bmtzIHdoaWNoIGFyZSBlaXRoZXIgcHJlc2VudCBvciBub3QKICAqIDIpIHdlIHdpbGwgbm90IGhhdmUgbW9yZSB0aGFuIDY0R2IgaW4gdG90YWwKICAqCiAgKiBmb3Igbm93IGFzc3VtZSB0aGF0IDY0R2IgaXMgbWF4IGFtb3VudCBvZiBSQU0gZm9yIHdob2xlIHN5c3RlbQogICogICAgNjRHYiAvIDQwOTZieXRlcy9wYWdlID0gMTY3NzcyMTYgcGFnZXMKICAqLwogI2RlZmluZSBNQVhfTlJfUEFHRVMgMTY3NzcyMTYKLSNkZWZpbmUgTUFYX0VMRU1FTlRTIDI1NgorI2RlZmluZSBNQVhfRUxFTUVOVFMgMTAyNAogI2RlZmluZSBQQUdFU19QRVJfRUxFTUVOVCAoTUFYX05SX1BBR0VTL01BWF9FTEVNRU5UUykKIAogZXh0ZXJuIHM4IHBoeXNub2RlX21hcFtdOwpAQCAtODcsOSArNzcsNiBAQAogCV9fcGdkYXQtPm5vZGVfc3RhcnRfcGZuICsgX19wZ2RhdC0+bm9kZV9zcGFubmVkX3BhZ2VzOwkJXAogfSkKIAotI2lmZGVmIENPTkZJR19YODZfTlVNQVEgICAgICAgICAgICAvKiB3ZSBoYXZlIGNvbnRpZ3VvdXMgbWVtb3J5IG9uIE5VTUEtUSAqLwotI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBudW1fcGh5c3BhZ2VzKQotI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IHBmbl92YWxpZChpbnQgcGZuKQogewogCWludCBuaWQgPSBwZm5fdG9fbmlkKHBmbik7CkBAIC05OCw3ICs4NSw2IEBACiAJCXJldHVybiAocGZuIDwgbm9kZV9lbmRfcGZuKG5pZCkpOwogCXJldHVybiAwOwogfQotI2VuZGlmIC8qIENPTkZJR19YODZfTlVNQVEgKi8KIAogI2VuZGlmIC8qIENPTkZJR19ESVNDT05USUdNRU0gKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oCmluZGV4IDU3YTk5MWIuLmI2OTk1ZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXBzcGVjLmgKQEAgLTEzLDYgKzEzLDEyIEBACiBleHRlcm4gdTggYXBpY2lkXzJfbm9kZVtdOwogZXh0ZXJuIGludCBwaWNfbW9kZTsKIAorI2lmZGVmIENPTkZJR19YODZfTlVNQVEKK2V4dGVybiBpbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU107CitleHRlcm4gaW50IG1wX2J1c19pZF90b19sb2NhbFtNQVhfTVBfQlVTU0VTXTsKK2V4dGVybiBpbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CisjZW5kaWYKKwogI2RlZmluZSBNQVhfQVBJQ0lEIDI1NgogCiAjZWxzZQpAQCAtMjEsMjYgKzI3LDMwIEBACiAvKiBFYWNoIFBDSSBzbG90IG1heSBiZSBhIGNvbWJvIGNhcmQgd2l0aCBpdHMgb3duIGJ1cy4gIDQgSVJRIHBpbnMgcGVyIHNsb3QuICovCiAjZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAoTUFYX01QX0JVU1NFUyAqIDQpCiAKKyNlbmRpZgorCiBleHRlcm4gdm9pZCBlYXJseV9maW5kX3NtcF9jb25maWcodm9pZCk7CiBleHRlcm4gdm9pZCBlYXJseV9nZXRfc21wX2NvbmZpZyh2b2lkKTsKIAotI2VuZGlmCi0KICNpZiBkZWZpbmVkKENPTkZJR19NQ0EpIHx8IGRlZmluZWQoQ09ORklHX0VJU0EpCiBleHRlcm4gaW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOwogI2VuZGlmCiAKIGV4dGVybiBERUNMQVJFX0JJVE1BUChtcF9idXNfbm90X3BjaSwgTUFYX01QX0JVU1NFUyk7CiAKLWV4dGVybiBpbnQgbXBfYnVzX2lkX3RvX3BjaV9idXNbTUFYX01QX0JVU1NFU107Ci0KIGV4dGVybiB1bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkOworZXh0ZXJuIHVuc2lnbmVkIGludCBtYXhfcGh5c2ljYWxfYXBpY2lkOwogZXh0ZXJuIGludCBzbXBfZm91bmRfY29uZmlnOwogZXh0ZXJuIGludCBtcGNfZGVmYXVsdF90eXBlOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbXBfbGFwaWNfYWRkcjsKIAogZXh0ZXJuIHZvaWQgZmluZF9zbXBfY29uZmlnKHZvaWQpOwogZXh0ZXJuIHZvaWQgZ2V0X3NtcF9jb25maWcodm9pZCk7CisjaWZkZWYgQ09ORklHX1g4Nl9NUFBBUlNFCitleHRlcm4gdm9pZCBlYXJseV9yZXNlcnZlX2U4MjBfbXBjX25ldyh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcodm9pZCkgeyB9CisjZW5kaWYKIAogdm9pZCBfX2NwdWluaXQgZ2VuZXJpY19wcm9jZXNzb3JfaW5mbyhpbnQgYXBpY2lkLCBpbnQgdmVyc2lvbik7CiAjaWZkZWYgQ09ORklHX0FDUEkKQEAgLTQ5LDYgKzU5LDE3IEBACiAJCQkJICAgdTMyIGdzaSk7CiBleHRlcm4gdm9pZCBtcF9jb25maWdfYWNwaV9sZWdhY3lfaXJxcyh2b2lkKTsKIGV4dGVybiBpbnQgbXBfcmVnaXN0ZXJfZ3NpKHUzMiBnc2ksIGludCBlZGdlX2xldmVsLCBpbnQgYWN0aXZlX2hpZ2hfbG93KTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKK2V4dGVybiBpbnQgbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJCQl1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludAorbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJICAgdTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgogI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCiAKICNkZWZpbmUgUEhZU0lEX0FSUkFZX1NJWkUJQklUU19UT19MT05HUyhNQVhfQVBJQ1MpCkBAIC0xMDEsNiArMTIyLDcgQEAKIAkJX19waHlzaWRfbWFzazsJCQkJCQlcCiAJfSkKIAorLyogTm90ZTogd2lsbCBjcmVhdGUgdmVyeSBsYXJnZSBzdGFjayBmcmFtZXMgaWYgcGh5c2lkX21hc2tfdCBpcyBiaWcgKi8KICNkZWZpbmUgcGh5c2lkX21hc2tfb2ZfcGh5c2lkKHBoeXNpZCkJCQkJCVwKIAkoewkJCQkJCQkJXAogCQlwaHlzaWRfbWFza190IF9fcGh5c2lkX21hc2sgPSBQSFlTSURfTUFTS19OT05FOwkJXApAQCAtMTA4LDYgKzEzMCwxMiBAQAogCQlfX3BoeXNpZF9tYXNrOwkJCQkJCVwKIAl9KQogCitzdGF0aWMgaW5saW5lIHZvaWQgcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChpbnQgcGh5c2lkLCBwaHlzaWRfbWFza190ICptYXApCit7CisJcGh5c2lkc19jbGVhcigqbWFwKTsKKwlwaHlzaWRfc2V0KHBoeXNpZCwgKm1hcCk7Cit9CisKICNkZWZpbmUgUEhZU0lEX01BU0tfQUxMCQl7IHtbMCAuLi4gUEhZU0lEX0FSUkFZX1NJWkUtMV0gPSB+MFVMfSB9CiAjZGVmaW5lIFBIWVNJRF9NQVNLX05PTkUJeyB7WzAgLi4uIFBIWVNJRF9BUlJBWV9TSVpFLTFdID0gMFVMfSB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmggYi9pbmNsdWRlL2FzbS14ODYvbXBzcGVjX2RlZi5oCmluZGV4IGRjNmVmODUuLjM4ZDFlNzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21wc3BlY19kZWYuaApAQCAtMTcsMTAgKzE3LDExIEBACiAjIGRlZmluZSBNQVhfTVBDX0VOVFJZIDEwMjQKICMgZGVmaW5lIE1BWF9BUElDUyAgICAgIDI1NgogI2Vsc2UKLS8qCi0gKiBBIG1heGltdW0gb2YgMjU1IEFQSUNzIHdpdGggdGhlIGN1cnJlbnQgQVBJQyBJRCBhcmNoaXRlY3R1cmUuCi0gKi8KLSMgZGVmaW5lIE1BWF9BUElDUyAyNTUKKyMgaWYgTlJfQ1BVUyA8PSAyNTUKKyMgIGRlZmluZSBNQVhfQVBJQ1MgICAgIDI1NQorIyBlbHNlCisjICBkZWZpbmUgTUFYX0FQSUNTICAgMzI3NjgKKyMgZW5kaWYKICNlbmRpZgogCiBzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oIGIvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCmluZGV4IDA5NDEzYWQuLjQ0YmNlNzcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKQEAgLTExMSw3ICsxMTEsOSBAQAogI2RlZmluZSBNU1JfSzhfVE9QX01FTTIJCQkweGMwMDEwMDFkCiAjZGVmaW5lIE1TUl9LOF9TWVNDRkcJCQkweGMwMDEwMDEwCiAjZGVmaW5lIE1TUl9LOF9IV0NSCQkJMHhjMDAxMDAxNQotI2RlZmluZSBNU1JfSzhfRU5BQkxFX0MxRQkJMHhjMDAxMDA1NQorI2RlZmluZSBNU1JfSzhfSU5UX1BFTkRJTkdfTVNHCQkweGMwMDEwMDU1CisvKiBDMUUgYWN0aXZlIGJpdHMgaW4gaW50IHBlbmRpbmcgbWVzc2FnZSAqLworI2RlZmluZSBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSwkJMHgxODAwMDAwMAogI2RlZmluZSBNU1JfSzhfVFNFR19BRERSCQkweGMwMDEwMTEyCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX0VOQUJMRQkweDAwMDQwMDAwIC8qIE10cnJGaXhEcmFtRW4gYml0ICAgICovCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX01PRElGWQkweDAwMDgwMDAwIC8qIE10cnJGaXhEcmFtTW9kRW4gYml0ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbXNyLmggYi9pbmNsdWRlL2FzbS14ODYvbXNyLmgKaW5kZXggMmI1ZjJjOS4uY2ExMTBlZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21zci5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tc3IuaApAQCAtNjYsNyArNjYsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIG5hdGl2ZV93cml0ZV9tc3IodW5zaWduZWQgaW50IG1zciwKIAkJCQkgICAgdW5zaWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKQogewotCWFzbSB2b2xhdGlsZSgid3Jtc3IiIDogOiAiYyIgKG1zciksICJhIihsb3cpLCAiZCIgKGhpZ2gpKTsKKwlhc20gdm9sYXRpbGUoIndybXNyIiA6IDogImMiIChtc3IpLCAiYSIobG93KSwgImQiIChoaWdoKSA6ICJtZW1vcnkiKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgbmF0aXZlX3dyaXRlX21zcl9zYWZlKHVuc2lnbmVkIGludCBtc3IsCkBAIC04MSw3ICs4MSw4IEBACiAJCSAgICAgX0FTTV9FWFRBQkxFKDJiLCAzYikKIAkJICAgICA6ICI9YSIgKGVycikKIAkJICAgICA6ICJjIiAobXNyKSwgIjAiIChsb3cpLCAiZCIgKGhpZ2gpLAotCQkgICAgICJpIiAoLUVGQVVMVCkpOworCQkgICAgICAgImkiICgtRUZBVUxUKQorCQkgICAgIDogIm1lbW9yeSIpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaAppbmRleCAxZTM2MzAyLi4yMWY4ZDAyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbm1pLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L25taS5oCkBAIC0xNSwzOCArMTUsMTMgQEAKICAqLwogaW50IGRvX25taV9jYWxsYmFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSk7CiAKLSNpZmRlZiBDT05GSUdfUE0KLQotLyoqIFJlcGxhY2UgdGhlIFBNIGNhbGxiYWNrIHJvdXRpbmUgZm9yIE5NSS4gKi8KLXN0cnVjdCBwbV9kZXYgKnNldF9ubWlfcG1fY2FsbGJhY2socG1fY2FsbGJhY2sgY2FsbGJhY2spOwotCi0vKiogVW5zZXQgdGhlIFBNIGNhbGxiYWNrIHJvdXRpbmUgYmFjayB0byB0aGUgZGVmYXVsdC4gKi8KLXZvaWQgdW5zZXRfbm1pX3BtX2NhbGxiYWNrKHN0cnVjdCBwbV9kZXYgKmRldik7Ci0KLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHBtX2RldiAqc2V0X25taV9wbV9jYWxsYmFjayhwbV9jYWxsYmFjayBjYWxsYmFjaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHVuc2V0X25taV9wbV9jYWxsYmFjayhzdHJ1Y3QgcG1fZGV2ICpkZXYpCi17Ci19Ci0KLSNlbmRpZiAvKiBDT05GSUdfUE0gKi8KLQogI2lmZGVmIENPTkZJR19YODZfNjQKIGV4dGVybiB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICopOwotZXh0ZXJuIHZvaWQgZGllX25taShjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgZG9fcGFuaWMpOwotZXh0ZXJuIHZvaWQgbm1pX3dhdGNoZG9nX2RlZmF1bHQodm9pZCk7Ci0jZWxzZQotI2RlZmluZSBubWlfd2F0Y2hkb2dfZGVmYXVsdCgpIGRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKK2V4dGVybiB2b2lkIGRpZV9ubWkoY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGRvX3BhbmljKTsKIGV4dGVybiBpbnQgY2hlY2tfbm1pX3dhdGNoZG9nKHZvaWQpOwogZXh0ZXJuIGludCBubWlfd2F0Y2hkb2dfZW5hYmxlZDsKLWV4dGVybiBpbnQgdW5rbm93bl9ubWlfcGFuaWM7CiBleHRlcm4gaW50IGF2YWlsX3RvX3Jlc3J2X3BlcmZjdHJfbm1pX2JpdCh1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCBhdmFpbF90b19yZXNydl9wZXJmY3RyX25taSh1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCByZXNlcnZlX3BlcmZjdHJfbm1pKHVuc2lnbmVkIGludCk7CkBAIC02MiwxMiArMzcsMTAgQEAKIAogZXh0ZXJuIGF0b21pY190IG5taV9hY3RpdmU7CiBleHRlcm4gdW5zaWduZWQgaW50IG5taV93YXRjaGRvZzsKLSNkZWZpbmUgTk1JX0RJU0FCTEVEICAgIC0xCiAjZGVmaW5lIE5NSV9OT05FCTAKICNkZWZpbmUgTk1JX0lPX0FQSUMJMQogI2RlZmluZSBOTUlfTE9DQUxfQVBJQwkyCiAjZGVmaW5lIE5NSV9JTlZBTElECTMKLSNkZWZpbmUgTk1JX0RFRkFVTFQJTk1JX0RJU0FCTEVECiAKIHN0cnVjdCBjdGxfdGFibGU7CiBzdHJ1Y3QgZmlsZTsKQEAgLTc4LDYgKzUxLDI0IEBACiB2b2lkIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSh2b2lkKTsKICNkZWZpbmUgdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSgpIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSgpCiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbGlzZV9ubWlfd2F0Y2hkb2codm9pZCkKK3sKKwlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQorCQlubWlfd2F0Y2hkb2cgPSBOTUlfTE9DQUxfQVBJQzsKK30KKworLyogY2hlY2sgaWYgbm1pX3dhdGNoZG9nIGlzIGFjdGl2ZSAoaWUgd2FzIHNwZWNpZmllZCBhdCBib290KSAqLworc3RhdGljIGlubGluZSBpbnQgbm1pX3dhdGNoZG9nX2FjdGl2ZSh2b2lkKQoreworCS8qCisJICogYWN0dWFsbHkgaXQgc2hvdWxkIGJlOgorCSAqIAlyZXR1cm4gKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQyB8fAorCSAqIAkJbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQorCSAqIGJ1dCBzaW5jZSB0aGV5IGFyZSBwb3dlciBvZiB0d28gd2UgY291bGQgdXNlIGEKKwkgKiBjaGVhcGVyIHdheSAtLWN2ZworCSAqLworCXJldHVybiBubWlfd2F0Y2hkb2cgJiAweDM7Cit9CiAjZW5kaWYKIAogdm9pZCBsYXBpY193YXRjaGRvZ19zdG9wKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzMyLmgKaW5kZXggMDNkMGY3YS4uMjIwZDdiNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbnVtYV8zMi5oCkBAIC0yLDE0ICsyLDEwIEBACiAjZGVmaW5lIF9BU01fWDg2XzMyX05VTUFfSCAxCiAKIGV4dGVybiBpbnQgcHhtX3RvX25pZChpbnQgcHhtKTsKK2V4dGVybiB2b2lkIG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KTsKIAogI2lmZGVmIENPTkZJR19OVU1BCi1leHRlcm4gdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCk7Ci1leHRlcm4gdm9pZCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGludCk7Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIHJlbWFwX251bWFfa3ZhKHZvaWQpCi17Ci19CitleHRlcm4gdm9pZCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KHZvaWQpOwogI2VuZGlmCiAKICNlbmRpZiAvKiBfQVNNX1g4Nl8zMl9OVU1BX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvbnVtYV82NC5oCmluZGV4IDIyZTg3YzkuLjM4MzAwOTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L251bWFfNjQuaApAQCAtMTQsMzIgKzE0LDMwIEBACiAKICNkZWZpbmUgWk9ORV9BTElHTiAoMVVMIDw8IChNQVhfT1JERVIrUEFHRV9TSElGVCkpCiAKLWV4dGVybiB2b2lkIG51bWFfYWRkX2NwdShpbnQgY3B1KTsKIGV4dGVybiB2b2lkIG51bWFfaW5pdF9hcnJheSh2b2lkKTsKIGV4dGVybiBpbnQgbnVtYV9vZmY7CiAKLWV4dGVybiB2b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwgaW50IG5vZGUpOwogZXh0ZXJuIHZvaWQgc3JhdF9yZXNlcnZlX2FkZF9hcmVhKGludCBub2RlaWQpOwogZXh0ZXJuIGludCBob3RhZGRfcGVyY2VudDsKIAogZXh0ZXJuIHMxNiBhcGljaWRfdG9fbm9kZVtNQVhfTE9DQUxfQVBJQ107CiAKLWV4dGVybiB2b2lkIG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnVtYV9mcmVlX2FsbF9ib290bWVtKHZvaWQpOwogZXh0ZXJuIHZvaWQgc2V0dXBfbm9kZV9ib290bWVtKGludCBub2RlaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkgICAgICAgdW5zaWduZWQgbG9uZyBlbmQpOwogCiAjaWZkZWYgQ09ORklHX05VTUEKIGV4dGVybiB2b2lkIF9faW5pdCBpbml0X2NwdV90b19ub2RlKHZvaWQpOwotCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfbm9kZV9jcHVtYXNrKGludCBjcHUpCi17Ci0JY2xlYXJfYml0KGNwdSwgKHVuc2lnbmVkIGxvbmcgKikmbm9kZV90b19jcHVtYXNrX21hcFtjcHVfdG9fbm9kZShjcHUpXSk7Ci19Ci0KK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKTsKK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX2NsZWFyX25vZGUoaW50IGNwdSk7CitleHRlcm4gdm9pZCBfX2NwdWluaXQgbnVtYV9hZGRfY3B1KGludCBjcHUpOworZXh0ZXJuIHZvaWQgX19jcHVpbml0IG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KTsKICNlbHNlCi0jZGVmaW5lIGluaXRfY3B1X3RvX25vZGUoKSBkbyB7fSB3aGlsZSAoMCkKLSNkZWZpbmUgY2xlYXJfbm9kZV9jcHVtYXNrKGNwdSkgZG8ge30gd2hpbGUgKDApCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9jcHVfdG9fbm9kZSh2b2lkKQkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBpbnQgbm9kZSkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9jbGVhcl9ub2RlKGludCBjcHUpCQl7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBudW1hX2FkZF9jcHUoaW50IGNwdSwgaW50IG5vZGUpCXsgfQorc3RhdGljIGlubGluZSB2b2lkIG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KQkJeyB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbnVtYXEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCmluZGV4IDk0Yjg2YzMuLjM0YjkyZDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCiAKK2V4dGVybiBpbnQgZm91bmRfbnVtYXE7CiBleHRlcm4gaW50IGdldF9tZW1jZmdfbnVtYXEodm9pZCk7CiAKIC8qCkBAIC0xNTYsOSArMTU3LDEyIEBACiAJc3RydWN0CQllYWNocXVhZG1lbSBlcVtNQVhfTlVNTk9ERVNdOwkvKiBpbmRleGVkIGJ5IHF1YWQgaWQgKi8KIH07CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqZ2V0X3pob2xlc19zaXplKGludCBuaWQpCit2b2lkIG51bWFxX3RzY19kaXNhYmxlKHZvaWQpOworCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgZ2V0X21lbWNmZ19udW1hcSh2b2lkKQogewotCXJldHVybiBOVUxMOworCXJldHVybiAwOwogfQogI2VuZGlmIC8qIENPTkZJR19YODZfTlVNQVEgKi8KICNlbmRpZiAvKiBOVU1BUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZS5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2UuaAppbmRleCBkYzkzNmRkLi4yOGQ3YjQ1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKQEAgLTUxLDkgKzUxLDE3IEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKK3R5cGVkZWYgc3RydWN0IHsgcGdkdmFsX3QgcGdkOyB9IHBnZF90OwordHlwZWRlZiBzdHJ1Y3QgeyBwZ3Byb3R2YWxfdCBwZ3Byb3Q7IH0gcGdwcm90X3Q7CisKIGV4dGVybiBpbnQgcGFnZV9pc19yYW0odW5zaWduZWQgbG9uZyBwYWdlbnIpOwogZXh0ZXJuIGludCBkZXZtZW1faXNfYWxsb3dlZCh1bnNpZ25lZCBsb25nIHBhZ2Vucik7CitleHRlcm4gdm9pZCBtYXBfZGV2bWVtKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCSAgICAgICBwZ3Byb3RfdCB2bWFfcHJvdCk7CitleHRlcm4gdm9pZCB1bm1hcF9kZXZtZW0odW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCSBwZ3Byb3RfdCB2bWFfcHJvdCk7CiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuX21hcHBlZDsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOwogCiBzdHJ1Y3QgcGFnZTsKQEAgLTc0LDkgKzgyLDYgQEAKIAlhbGxvY19wYWdlX3ZtYShHRlBfSElHSFVTRVIgfCBfX0dGUF9aRVJPIHwgbW92YWJsZWZsYWdzLCB2bWEsIHZhZGRyKQogI2RlZmluZSBfX0hBVkVfQVJDSF9BTExPQ19aRVJPRURfVVNFUl9ISUdIUEFHRQogCi10eXBlZGVmIHN0cnVjdCB7IHBnZHZhbF90IHBnZDsgfSBwZ2RfdDsKLXR5cGVkZWYgc3RydWN0IHsgcGdwcm90dmFsX3QgcGdwcm90OyB9IHBncHJvdF90OwotCiBzdGF0aWMgaW5saW5lIHBnZF90IG5hdGl2ZV9tYWtlX3BnZChwZ2R2YWxfdCB2YWwpCiB7CiAJcmV0dXJuIChwZ2RfdCkgeyB2YWwgfTsKQEAgLTE2MCw2ICsxNjUsNyBAQAogI2VuZGlmCiAKICNkZWZpbmUgcHRlX3ZhbCh4KQluYXRpdmVfcHRlX3ZhbCh4KQorI2RlZmluZSBwdGVfZmxhZ3MoeCkJbmF0aXZlX3B0ZV92YWwoeCkKICNkZWZpbmUgX19wdGUoeCkJbmF0aXZlX21ha2VfcHRlKHgpCiAKICNlbmRpZgkvKiBDT05GSUdfUEFSQVZJUlQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGFnZV8zMi5oCmluZGV4IGNjZjBiYTMuLmFiODUyODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfMzIuaApAQCAtMTMsNiArMTMsMTQgQEAKICAqLwogI2RlZmluZSBfX1BBR0VfT0ZGU0VUCQlfQUMoQ09ORklHX1BBR0VfT0ZGU0VULCBVTCkKIAorI2lmZGVmIENPTkZJR180S1NUQUNLUworI2RlZmluZSBUSFJFQURfT1JERVIJMAorI2Vsc2UKKyNkZWZpbmUgVEhSRUFEX09SREVSCTEKKyNlbmRpZgorI2RlZmluZSBUSFJFQURfU0laRSAJKFBBR0VfU0laRSA8PCBUSFJFQURfT1JERVIpCisKKwogI2lmZGVmIENPTkZJR19YODZfUEFFCiAvKiA0ND0zMisxMiwgdGhlIGxpbWl0IHdlIGNhbiBmaXQgaW50byBhbiB1bnNpZ25lZCBsb25nIHBmbiAqLwogI2RlZmluZSBfX1BIWVNJQ0FMX01BU0tfU0hJRlQJNDQKQEAgLTg0LDYgKzkyLDEzIEBACiAjZGVmaW5lIFZNQUxMT0NfUkVTRVJWRQkJKCh1bnNpZ25lZCBsb25nKV9fVk1BTExPQ19SRVNFUlZFKQogI2RlZmluZSBNQVhNRU0JCQkoLV9fUEFHRV9PRkZTRVQgLSBfX1ZNQUxMT0NfUkVTRVJWRSkKIAorZXh0ZXJuIHZvaWQgZmluZF9sb3dfcGZuX3JhbmdlKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmQpOworZXh0ZXJuIHZvaWQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpOworZXh0ZXJuIHZvaWQgc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3Iodm9pZCk7CisKKwogI2lmZGVmIENPTkZJR19YODZfVVNFXzNETk9XCiAjaW5jbHVkZSA8YXNtL21teC5oPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfNjQuaAppbmRleCA2ZWE3Mjg1Li5jNjkxNmM4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzY0LmgKQEAgLTI2LDcgKzI2LDEzIEBACiAjZGVmaW5lIFBVRF9QQUdFX1NJWkUJCShfQUMoMSwgVUwpIDw8IFBVRF9TSElGVCkKICNkZWZpbmUgUFVEX1BBR0VfTUFTSwkJKH4oUFVEX1BBR0VfU0laRS0xKSkKIAotI2RlZmluZSBfX1BBR0VfT0ZGU0VUICAgICAgICAgICBfQUMoMHhmZmZmODEwMDAwMDAwMDAwLCBVTCkKKy8qCisgKiBTZXQgX19QQUdFX09GRlNFVCB0byB0aGUgbW9zdCBuZWdhdGl2ZSBwb3NzaWJsZSBhZGRyZXNzICsKKyAqIFBHRElSX1NJWkUqMTYgKHBnZCBzbG90IDI3MikuICBUaGUgZ2FwIGlzIHRvIGFsbG93IGEgc3BhY2UgZm9yIGEKKyAqIGh5cGVydmlzb3IgdG8gZml0LiAgQ2hvb3NpbmcgMTYgc2xvdHMgaGVyZSBpcyBhcmJpdHJhcnksIGJ1dCBpdCdzCisgKiB3aGF0IFhlbiByZXF1aXJlcy4KKyAqLworI2RlZmluZSBfX1BBR0VfT0ZGU0VUICAgICAgICAgICBfQUMoMHhmZmZmODgwMDAwMDAwMDAwLCBVTCkKIAogI2RlZmluZSBfX1BIWVNJQ0FMX1NUQVJUCUNPTkZJR19QSFlTSUNBTF9TVEFSVAogI2RlZmluZSBfX0tFUk5FTF9BTElHTgkJMHgyMDAwMDAKQEAgLTU4LDcgKzY0LDggQEAKIHZvaWQgY2xlYXJfcGFnZSh2b2lkICpwYWdlKTsKIHZvaWQgY29weV9wYWdlKHZvaWQgKnRvLCB2b2lkICpmcm9tKTsKIAotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKKy8qIGR1cGxpY2F0ZWQgdG8gdGhlIG9uZSBpbiBib290bWVtLmggKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIG1heF9wZm47CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwaHlzX2Jhc2U7CiAKIGV4dGVybiB1bnNpZ25lZCBsb25nIF9fcGh5c19hZGRyKHVuc2lnbmVkIGxvbmcpOwpAQCAtODMsMTAgKzkwLDE1IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkJCSB1bnNpZ25lZCBsb25nIGVuZCk7CiAKK2V4dGVybiB2b2lkIGluaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKKworZXh0ZXJuIHZvaWQgaW5pdF9leHRyYV9tYXBwaW5nX3VjKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIGluaXRfZXh0cmFfbWFwcGluZ193Yih1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CisKICNlbmRpZgkvKiAhX19BU1NFTUJMWV9fICovCiAKICNpZmRlZiBDT05GSUdfRkxBVE1FTQotI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBlbmRfcGZuKQorI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBtYXhfcGZuKQogI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhcmF2aXJ0LmggYi9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaAppbmRleCAwZjEzYjk0Li5lZjVlOGVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaApAQCAtODQsNyArODQsNyBAQAogCWludCAoKnNldF93YWxsY2xvY2spKHVuc2lnbmVkIGxvbmcpOwogCiAJdW5zaWduZWQgbG9uZyBsb25nICgqc2NoZWRfY2xvY2spKHZvaWQpOwotCXVuc2lnbmVkIGxvbmcgKCpnZXRfY3B1X2toeikodm9pZCk7CisJdW5zaWduZWQgbG9uZyAoKmdldF90c2Nfa2h6KSh2b2lkKTsKIH07CiAKIHN0cnVjdCBwdl9jcHVfb3BzIHsKQEAgLTExNSw2ICsxMTUsOSBAQAogCXZvaWQgKCpzZXRfbGR0KShjb25zdCB2b2lkICpkZXNjLCB1bnNpZ25lZCBlbnRyaWVzKTsKIAl1bnNpZ25lZCBsb25nICgqc3RvcmVfdHIpKHZvaWQpOwogCXZvaWQgKCpsb2FkX3Rscykoc3RydWN0IHRocmVhZF9zdHJ1Y3QgKnQsIHVuc2lnbmVkIGludCBjcHUpOworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2b2lkICgqbG9hZF9nc19pbmRleCkodW5zaWduZWQgaW50IGlkeCk7CisjZW5kaWYKIAl2b2lkICgqd3JpdGVfbGR0X2VudHJ5KShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmxkdCwgaW50IGVudHJ5bnVtLAogCQkJCWNvbnN0IHZvaWQgKmRlc2MpOwogCXZvaWQgKCp3cml0ZV9nZHRfZW50cnkpKHN0cnVjdCBkZXNjX3N0cnVjdCAqLApAQCAtMTQxLDggKzE0NCwzMiBAQAogCXU2NCAoKnJlYWRfcG1jKShpbnQgY291bnRlcik7CiAJdW5zaWduZWQgbG9uZyBsb25nICgqcmVhZF90c2NwKSh1bnNpZ25lZCBpbnQgKmF1eCk7CiAKLQkvKiBUaGVzZSB0d28gYXJlIGptcCB0bywgbm90IGFjdHVhbGx5IGNhbGxlZC4gKi8KLQl2b2lkICgqaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkodm9pZCk7CisJLyoKKwkgKiBBdG9taWNhbGx5IGVuYWJsZSBpbnRlcnJ1cHRzIGFuZCByZXR1cm4gdG8gdXNlcnNwYWNlLiAgVGhpcworCSAqIGlzIG9ubHkgZXZlciB1c2VkIHRvIHJldHVybiB0byAzMi1iaXQgcHJvY2Vzc2VzOyBpbiBhCisJICogNjQtYml0IGtlcm5lbCwgaXQncyB1c2VkIGZvciAzMi1vbi02NCBjb21wYXQgcHJvY2Vzc2VzLCBidXQKKwkgKiBuZXZlciBuYXRpdmUgNjQtYml0IHByb2Nlc3Nlcy4gIChKdW1wLCBub3QgY2FsbC4pCisJICovCisJdm9pZCAoKmlycV9lbmFibGVfc3lzZXhpdCkodm9pZCk7CisKKwkvKgorCSAqIFN3aXRjaCB0byB1c2VybW9kZSBncyBhbmQgcmV0dXJuIHRvIDY0LWJpdCB1c2VybW9kZSB1c2luZworCSAqIHN5c3JldC4gIE9ubHkgdXNlZCBpbiA2NC1iaXQga2VybmVscyB0byByZXR1cm4gdG8gNjQtYml0CisJICogcHJvY2Vzc2VzLiAgVXNlcm1vZGUgcmVnaXN0ZXIgc3RhdGUsIGluY2x1ZGluZyAlcnNwLCBtdXN0CisJICogYWxyZWFkeSBiZSByZXN0b3JlZC4KKwkgKi8KKwl2b2lkICgqdXNlcmdzX3N5c3JldDY0KSh2b2lkKTsKKworCS8qCisJICogU3dpdGNoIHRvIHVzZXJtb2RlIGdzIGFuZCByZXR1cm4gdG8gMzItYml0IHVzZXJtb2RlIHVzaW5nCisJICogc3lzcmV0LiAgVXNlZCB0byByZXR1cm4gdG8gMzItb24tNjQgY29tcGF0IHByb2Nlc3Nlcy4KKwkgKiBPdGhlciB1c2VybW9kZSByZWdpc3RlciBzdGF0ZSwgaW5jbHVkaW5nICVlc3AsIG11c3QgYWxyZWFkeQorCSAqIGJlIHJlc3RvcmVkLgorCSAqLworCXZvaWQgKCp1c2VyZ3Nfc3lzcmV0MzIpKHZvaWQpOworCisJLyogTm9ybWFsIGlyZXQuICBKdW1wIHRvIHRoaXMgd2l0aCB0aGUgc3RhbmRhcmQgaXJldCBzdGFjaworCSAgIGZyYW1lIHNldCB1cC4gKi8KIAl2b2lkICgqaXJldCkodm9pZCk7CiAKIAl2b2lkICgqc3dhcGdzKSh2b2lkKTsKQEAgLTE2NSw2ICsxOTIsMTAgQEAKIAl2b2lkICgqaXJxX2VuYWJsZSkodm9pZCk7CiAJdm9pZCAoKnNhZmVfaGFsdCkodm9pZCk7CiAJdm9pZCAoKmhhbHQpKHZvaWQpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCXZvaWQgKCphZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKSh2b2lkKTsKKyNlbmRpZgogfTsKIAogc3RydWN0IHB2X2FwaWNfb3BzIHsKQEAgLTIxOSw3ICsyNTAsMTQgQEAKIAl2b2lkICgqZmx1c2hfdGxiX290aGVycykoY29uc3QgY3B1bWFza190ICpjcHVzLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSwKIAkJCQkgdW5zaWduZWQgbG9uZyB2YSk7CiAKLQkvKiBIb29rcyBmb3IgYWxsb2NhdGluZy9yZWxlYXNpbmcgcGFnZXRhYmxlIHBhZ2VzICovCisJLyogSG9va3MgZm9yIGFsbG9jYXRpbmcgYW5kIGZyZWVpbmcgYSBwYWdldGFibGUgdG9wLWxldmVsICovCisJaW50ICAoKnBnZF9hbGxvYykoc3RydWN0IG1tX3N0cnVjdCAqbW0pOworCXZvaWQgKCpwZ2RfZnJlZSkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpOworCisJLyoKKwkgKiBIb29rcyBmb3IgYWxsb2NhdGluZy9yZWxlYXNpbmcgcGFnZXRhYmxlIHBhZ2VzIHdoZW4gdGhleSdyZQorCSAqIGF0dGFjaGVkIHRvIGEgcGFnZXRhYmxlCisJICovCiAJdm9pZCAoKmFsbG9jX3B0ZSkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHUzMiBwZm4pOwogCXZvaWQgKCphbGxvY19wbWQpKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1MzIgcGZuKTsKIAl2b2lkICgqYWxsb2NfcG1kX2Nsb25lKSh1MzIgcGZuLCB1MzIgY2xvbmVwZm4sIHUzMiBzdGFydCwgdTMyIGNvdW50KTsKQEAgLTIzOCw3ICsyNzYsMTMgQEAKIAl2b2lkICgqcHRlX3VwZGF0ZV9kZWZlcikoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJCQkJIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwogCisJcHRlX3QgKCpwdGVwX21vZGlmeV9wcm90X3N0YXJ0KShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQlwdGVfdCAqcHRlcCk7CisJdm9pZCAoKnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQlwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKKwogCXB0ZXZhbF90ICgqcHRlX3ZhbCkocHRlX3QpOworCXB0ZXZhbF90ICgqcHRlX2ZsYWdzKShwdGVfdCk7CiAJcHRlX3QgKCptYWtlX3B0ZSkocHRldmFsX3QgcHRlKTsKIAogCXBnZHZhbF90ICgqcGdkX3ZhbCkocGdkX3QpOwpAQCAtMjczLDYgKzMxNywxMyBAQAogI2VuZGlmCiAKIAlzdHJ1Y3QgcHZfbGF6eV9vcHMgbGF6eV9tb2RlOworCisJLyogZG9tMCBvcHMgKi8KKworCS8qIFNvbWV0aW1lcyB0aGUgcGh5c2ljYWwgYWRkcmVzcyBpcyBhIHBmbiwgYW5kIHNvbWV0aW1lcyBpdHMKKwkgICBhbiBtZm4uICBXZSBjYW4gdGVsbCB3aGljaCBpcyB3aGljaCBmcm9tIHRoZSBpbmRleC4gKi8KKwl2b2lkICgqc2V0X2ZpeG1hcCkodW5zaWduZWQgLyogZW51bSBmaXhlZF9hZGRyZXNzZXMgKi8gaWR4LAorCQkJICAgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7CiB9OwogCiAvKiBUaGlzIGNvbnRhaW5zIGFsbCB0aGUgcGFyYXZpcnQgc3RydWN0dXJlczogd2UgZ2V0IGEgY29udmVuaWVudApAQCAtNDM5LDEwICs0OTAsMTcgQEAKICNkZWZpbmUgVkVYVFJBX0NMT0JCRVJTCSAsICJyYXgiLCAicjgiLCAicjkiLCAicjEwIiwgInIxMSIKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUX0RFQlVHCisjZGVmaW5lIFBWT1BfVEVTVF9OVUxMKG9wKQlCVUdfT04ob3AgPT0gTlVMTCkKKyNlbHNlCisjZGVmaW5lIFBWT1BfVEVTVF9OVUxMKG9wKQkoKHZvaWQpb3ApCisjZW5kaWYKKwogI2RlZmluZSBfX1BWT1BfQ0FMTChyZXR0eXBlLCBvcCwgcHJlLCBwb3N0LCAuLi4pCQkJXAogCSh7CQkJCQkJCQlcCiAJCXJldHR5cGUgX19yZXQ7CQkJCQkJXAogCQlQVk9QX0NBTExfQVJHUzsJCQkJCVwKKwkJUFZPUF9URVNUX05VTEwob3ApOwkJCQkJXAogCQkvKiBUaGlzIGlzIDMyLWJpdCBzcGVjaWZpYywgYnV0IGlzIG9rYXkgaW4gNjQtYml0ICovCVwKIAkJLyogc2luY2UgdGhpcyBjb25kaXRpb24gd2lsbCBuZXZlciBob2xkICovCQlcCiAJCWlmIChzaXplb2YocmV0dHlwZSkgPiBzaXplb2YodW5zaWduZWQgbG9uZykpIHsJCVwKQEAgLTQ3MSw2ICs1MjksNyBAQAogI2RlZmluZSBfX1BWT1BfVkNBTEwob3AsIHByZSwgcG9zdCwgLi4uKQkJCQlcCiAJKHsJCQkJCQkJCVwKIAkJUFZPUF9WQ0FMTF9BUkdTOwkJCQkJXAorCQlQVk9QX1RFU1RfTlVMTChvcCk7CQkJCQlcCiAJCWFzbSB2b2xhdGlsZShwcmUJCQkJCVwKIAkJCSAgICAgcGFyYXZpcnRfYWx0KFBBUkFWSVJUX0NBTEwpCQlcCiAJCQkgICAgIHBvc3QJCQkJCVwKQEAgLTcyMCw3ICs3NzksNyBAQAogewogCXJldHVybiBQVk9QX0NBTEwwKHVuc2lnbmVkIGxvbmcgbG9uZywgcHZfdGltZV9vcHMuc2NoZWRfY2xvY2spOwogfQotI2RlZmluZSBjYWxjdWxhdGVfY3B1X2toeigpIChwdl90aW1lX29wcy5nZXRfY3B1X2toeigpKQorI2RlZmluZSBjYWxpYnJhdGVfdHNjKCkgKHB2X3RpbWVfb3BzLmdldF90c2Nfa2h6KCkpCiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBsb25nIHBhcmF2aXJ0X3JlYWRfcG1jKGludCBjb3VudGVyKQogewpAQCAtNzg5LDYgKzg0OCwxMyBAQAogCVBWT1BfVkNBTEwyKHB2X2NwdV9vcHMubG9hZF90bHMsIHQsIGNwdSk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitzdGF0aWMgaW5saW5lIHZvaWQgbG9hZF9nc19pbmRleCh1bnNpZ25lZCBpbnQgZ3MpCit7CisJUFZPUF9WQ0FMTDEocHZfY3B1X29wcy5sb2FkX2dzX2luZGV4LCBncyk7Cit9CisjZW5kaWYKKwogc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX2xkdF9lbnRyeShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmR0LCBpbnQgZW50cnksCiAJCQkJICAgY29uc3Qgdm9pZCAqZGVzYykKIHsKQEAgLTkxMiw2ICs5NzgsMTYgQEAKIAlQVk9QX1ZDQUxMMyhwdl9tbXVfb3BzLmZsdXNoX3RsYl9vdGhlcnMsICZjcHVtYXNrLCBtbSwgdmEpOwogfQogCitzdGF0aWMgaW5saW5lIGludCBwYXJhdmlydF9wZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCit7CisJcmV0dXJuIFBWT1BfQ0FMTDEoaW50LCBwdl9tbXVfb3BzLnBnZF9hbGxvYywgbW0pOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfcGdkX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCit7CisJUFZPUF9WQ0FMTDIocHZfbW11X29wcy5wZ2RfZnJlZSwgbW0sIHBnZCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIHBmbikKIHsKIAlQVk9QX1ZDQUxMMihwdl9tbXVfb3BzLmFsbG9jX3B0ZSwgbW0sIHBmbik7CkBAIC05OTYsNiArMTA3MiwyMCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgcHRldmFsX3QgcHRlX2ZsYWdzKHB0ZV90IHB0ZSkKK3sKKwlwdGV2YWxfdCByZXQ7CisKKwlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKKwkJcmV0ID0gUFZPUF9DQUxMMihwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVfZmxhZ3MsCisJCQkJIHB0ZS5wdGUsICh1NjQpcHRlLnB0ZSA+PiAzMik7CisJZWxzZQorCQlyZXQgPSBQVk9QX0NBTEwxKHB0ZXZhbF90LCBwdl9tbXVfb3BzLnB0ZV9mbGFncywKKwkJCQkgcHRlLnB0ZSk7CisKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW5saW5lIHBnZF90IF9fcGdkKHBnZHZhbF90IHZhbCkKIHsKIAlwZ2R2YWxfdCByZXQ7CkBAIC0xMDI0LDYgKzExMTQsMjkgQEAKIAlyZXR1cm4gcmV0OwogfQogCisjZGVmaW5lICBfX0hBVkVfQVJDSF9QVEVQX01PRElGWV9QUk9UX1RSQU5TQUNUSU9OCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXApCit7CisJcHRldmFsX3QgcmV0OworCisJcmV0ID0gUFZPUF9DQUxMMyhwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0LAorCQkJIG1tLCBhZGRyLCBwdGVwKTsKKworCXJldHVybiAocHRlX3QpIHsgLnB0ZSA9IHJldCB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKKwkJLyogNSBhcmcgd29yZHMgKi8KKwkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlcCwgcHRlKTsKKwllbHNlCisJCVBWT1BfVkNBTEw0KHB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQsCisJCQkgICAgbW0sIGFkZHIsIHB0ZXAsIHB0ZS5wdGUpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQogewogCWlmIChzaXplb2YocHRldmFsX3QpID4gc2l6ZW9mKGxvbmcpKQpAQCAtMTI1Miw2ICsxMzY1LDEyIEBACiAJfQogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgX19zZXRfZml4bWFwKHVuc2lnbmVkIC8qIGVudW0gZml4ZWRfYWRkcmVzc2VzICovIGlkeCwKKwkJCQl1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQoreworCXB2X21tdV9vcHMuc2V0X2ZpeG1hcChpZHgsIHBoeXMsIGZsYWdzKTsKK30KKwogdm9pZCBfcGFyYXZpcnRfbm9wKHZvaWQpOwogI2RlZmluZSBwYXJhdmlydF9ub3AJKCh2b2lkICopX3BhcmF2aXJ0X25vcCkKIApAQCAtMTM3NCw1NCArMTQ5Myw4NiBAQAogI2RlZmluZSBQVl9SRVNUT1JFX1JFR1MgcG9wcSAlcmR4OyBwb3BxICVyY3g7IHBvcHEgJXJkaTsgcG9wcSAlcmF4CiAjZGVmaW5lIFBBUkFfUEFUQ0goc3RydWN0LCBvZmYpICAgICAgICAoKFBBUkFWSVJUX1BBVENIXyMjc3RydWN0ICsgKG9mZikpIC8gOCkKICNkZWZpbmUgUEFSQV9TSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzKSBfUFZTSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzLCAucXVhZCwgOCkKKyNkZWZpbmUgUEFSQV9JTkRJUkVDVChhZGRyKQkqYWRkciglcmlwKQogI2Vsc2UKICNkZWZpbmUgUFZfU0FWRV9SRUdTICAgcHVzaGwgJWVheDsgcHVzaGwgJWVkaTsgcHVzaGwgJWVjeDsgcHVzaGwgJWVkeAogI2RlZmluZSBQVl9SRVNUT1JFX1JFR1MgcG9wbCAlZWR4OyBwb3BsICVlY3g7IHBvcGwgJWVkaTsgcG9wbCAlZWF4CiAjZGVmaW5lIFBBUkFfUEFUQ0goc3RydWN0LCBvZmYpICAgICAgICAoKFBBUkFWSVJUX1BBVENIXyMjc3RydWN0ICsgKG9mZikpIC8gNCkKICNkZWZpbmUgUEFSQV9TSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzKSBfUFZTSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzLCAubG9uZywgNCkKKyNkZWZpbmUgUEFSQV9JTkRJUkVDVChhZGRyKQkqJWNzOmFkZHIKICNlbmRpZgogCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX2lyZXQpLCBDTEJSX05PTkUsCVwKLQkJICBqbXAgKiVjczpwdl9jcHVfb3BzK1BWX0NQVV9pcmV0KQorCQkgIGptcCBQQVJBX0lORElSRUNUKHB2X2NwdV9vcHMrUFZfQ1BVX2lyZXQpKQogCiAjZGVmaW5lIERJU0FCTEVfSU5URVJSVVBUUyhjbG9iYmVycykJCQkJCVwKIAlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfaXJxX2Rpc2FibGUpLCBjbG9iYmVycywgXAotCQkgIFBWX1NBVkVfUkVHUzsJCQlcCi0JCSAgY2FsbCAqJWNzOnB2X2lycV9vcHMrUFZfSVJRX2lycV9kaXNhYmxlOwkJXAorCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2lycV9vcHMrUFZfSVJRX2lycV9kaXNhYmxlKTsJXAogCQkgIFBWX1JFU1RPUkVfUkVHUzspCQkJXAogCiAjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTKGNsb2JiZXJzKQkJCQkJXAogCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2lycV9vcHMsIFBWX0lSUV9pcnFfZW5hYmxlKSwgY2xvYmJlcnMsCVwKLQkJICBQVl9TQVZFX1JFR1M7CQkJXAotCQkgIGNhbGwgKiVjczpwdl9pcnFfb3BzK1BWX0lSUV9pcnFfZW5hYmxlOwkJXAorCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2lycV9vcHMrUFZfSVJRX2lycV9lbmFibGUpOwlcCiAJCSAgUFZfUkVTVE9SRV9SRUdTOykKIAotI2RlZmluZSBFTkFCTEVfSU5URVJSVVBUU19TWVNDQUxMX1JFVAkJCQkJXAotCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KSxcCisjZGVmaW5lIFVTRVJHU19TWVNSRVQzMgkJCQkJCQlcCisJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX3VzZXJnc19zeXNyZXQzMiksCVwKIAkJICBDTEJSX05PTkUsCQkJCQkJXAotCQkgIGptcCAqJWNzOnB2X2NwdV9vcHMrUFZfQ1BVX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCi0KKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV91c2VyZ3Nfc3lzcmV0MzIpKQogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQkJXAotCXB1c2ggJWVjeDsgcHVzaCAlZWR4OwkJCVwKLQljYWxsICpwdl9jcHVfb3BzK1BWX0NQVV9yZWFkX2NyMDsJXAorI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQkJCVwKKwlwdXNoICVlY3g7IHB1c2ggJWVkeDsJCQkJXAorCWNhbGwgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9yZWFkX2NyMCk7CVwKIAlwb3AgJWVkeDsgcG9wICVlY3gKLSNlbHNlCisKKyNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVAkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpKQorCisKKyNlbHNlCS8qICFDT05GSUdfWDg2XzMyICovCisKKy8qCisgKiBJZiBzd2FwZ3MgaXMgdXNlZCB3aGlsZSB0aGUgdXNlcnNwYWNlIHN0YWNrIGlzIHN0aWxsIGN1cnJlbnQsCisgKiB0aGVyZSdzIG5vIHdheSB0byBjYWxsIGEgcHZvcC4gIFRoZSBQViByZXBsYWNlbWVudCAqbXVzdCogYmUKKyAqIGlubGluZWQsIG9yIHRoZSBzd2FwZ3MgaW5zdHJ1Y3Rpb24gbXVzdCBiZSB0cmFwcGVkIGFuZCBlbXVsYXRlZC4KKyAqLworI2RlZmluZSBTV0FQR1NfVU5TQUZFX1NUQUNLCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9zd2FwZ3MpLCBDTEJSX05PTkUsCVwKKwkJICBzd2FwZ3MpCisKICNkZWZpbmUgU1dBUEdTCQkJCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX3N3YXBncyksIENMQlJfTk9ORSwJXAogCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCi0JCSAgY2FsbCAqcHZfY3B1X29wcytQVl9DUFVfc3dhcGdzOwkJCVwKKwkJICBjYWxsIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfc3dhcGdzKTsJCVwKIAkJICBQVl9SRVNUT1JFX1JFR1MJCQkJCVwKIAkJICkKIAotI2RlZmluZSBHRVRfQ1IyX0lOVE9fUkNYCQkJXAotCWNhbGwgKnB2X21tdV9vcHMrUFZfTU1VX3JlYWRfY3IyOwlcCi0JbW92cSAlcmF4LCAlcmN4OwkJCVwKKyNkZWZpbmUgR0VUX0NSMl9JTlRPX1JDWAkJCQlcCisJY2FsbCBQQVJBX0lORElSRUNUKHB2X21tdV9vcHMrUFZfTU1VX3JlYWRfY3IyKTsJXAorCW1vdnEgJXJheCwgJXJjeDsJCQkJXAogCXhvcnEgJXJheCwgJXJheDsKIAotI2VuZGlmCisjZGVmaW5lIFBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUJCQkJCVwKKwlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSksIFwKKwkJICBDTEJSX05PTkUsCQkJCQkJXAorCQkgIGNhbGwgUEFSQV9JTkRJUkVDVChwdl9pcnFfb3BzK1BWX0lSUV9hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKSkKKworI2RlZmluZSBVU0VSR1NfU1lTUkVUNjQJCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV91c2VyZ3Nfc3lzcmV0NjQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV91c2VyZ3Nfc3lzcmV0NjQpKQorCisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQzMgkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpKQorI2VuZGlmCS8qIENPTkZJR19YODZfMzIgKi8KIAogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qIENPTkZJR19QQVJBVklSVCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhdC5oIGIvaW5jbHVkZS9hc20teDg2L3BhdC5oCmluZGV4IDg4ZjYwY2MuLjdlZGM0NzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wYXQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGF0LmgKQEAgLTEsMTQgKzEsMTMgQEAKLQogI2lmbmRlZiBfQVNNX1BBVF9ICi0jZGVmaW5lIF9BU01fUEFUX0ggMQorI2RlZmluZSBfQVNNX1BBVF9ICiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKLWV4dGVybiBpbnQgcGF0X3djX2VuYWJsZWQ7CitleHRlcm4gaW50IHBhdF9lbmFibGVkOwogZXh0ZXJuIHZvaWQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKICNlbHNlCi1zdGF0aWMgY29uc3QgaW50IHBhdF93Y19lbmFibGVkID0gMDsKK3N0YXRpYyBjb25zdCBpbnQgcGF0X2VuYWJsZWQ7CiBzdGF0aWMgaW5saW5lIHZvaWQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKSB7IH0KICNlbmRpZgogCkBAIC0yMSw0ICsyMCwzIEBACiBleHRlcm4gdm9pZCBwYXRfZGlzYWJsZShjaGFyICpyZWFzb24pOwogCiAjZW5kaWYKLQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BjaS5oIGIvaW5jbHVkZS9hc20teDg2L3BjaS5oCmluZGV4IDMwYmJkZTAuLjJkYjE0Y2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKQEAgLTE4LDYgKzE4LDggQEAKICNlbmRpZgogfTsKIAorZXh0ZXJuIGludCBwY2lfcm91dGVpcnE7CisKIC8qIHNjYW4gYSBidXMgYWZ0ZXIgYWxsb2NhdGluZyBhIHBjaV9zeXNkYXRhIGZvciBpdCAqLwogZXh0ZXJuIHN0cnVjdCBwY2lfYnVzICpwY2lfc2Nhbl9idXNfb25fbm9kZShpbnQgYnVzbm8sIHN0cnVjdCBwY2lfb3BzICpvcHMsCiAJCQkJCSAgICBpbnQgbm9kZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmgKaW5kZXggOGM0YzNhMC4uYTUwZDQ2OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BjaV8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wY2lfMzIuaApAQCAtMTgsMTIgKzE4LDE0IEBACiAjZGVmaW5lIFBDSV9ETUFfQlVTX0lTX1BIWVMJKDEpCiAKIC8qIHBjaV91bm1hcF97cGFnZSxzaW5nbGV9IGlzIGEgbm9wIHNvLi4uICovCi0jZGVmaW5lIERFQ0xBUkVfUENJX1VOTUFQX0FERFIoQUREUl9OQU1FKQotI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9MRU4oTEVOX05BTUUpCi0jZGVmaW5lIHBjaV91bm1hcF9hZGRyKFBUUiwgQUREUl9OQU1FKQkJKDApCi0jZGVmaW5lIHBjaV91bm1hcF9hZGRyX3NldChQVFIsIEFERFJfTkFNRSwgVkFMKQlkbyB7IH0gd2hpbGUgKDApCi0jZGVmaW5lIHBjaV91bm1hcF9sZW4oUFRSLCBMRU5fTkFNRSkJCSgwKQotI2RlZmluZSBwY2lfdW5tYXBfbGVuX3NldChQVFIsIExFTl9OQU1FLCBWQUwpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgREVDTEFSRV9QQ0lfVU5NQVBfQUREUihBRERSX05BTUUpCWRtYV9hZGRyX3QgQUREUl9OQU1FWzBdOworI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9MRU4oTEVOX05BTUUpCXVuc2lnbmVkIExFTl9OQU1FWzBdOworI2RlZmluZSBwY2lfdW5tYXBfYWRkcihQVFIsIEFERFJfTkFNRSkJc2l6ZW9mKChQVFIpLT5BRERSX05BTUUpCisjZGVmaW5lIHBjaV91bm1hcF9hZGRyX3NldChQVFIsIEFERFJfTkFNRSwgVkFMKSBcCisJZG8geyBicmVhazsgfSB3aGlsZSAocGNpX3VubWFwX2FkZHIoUFRSLCBBRERSX05BTUUpKQorI2RlZmluZSBwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpCQlzaXplb2YoKFBUUiktPkxFTl9OQU1FKQorI2RlZmluZSBwY2lfdW5tYXBfbGVuX3NldChQVFIsIExFTl9OQU1FLCBWQUwpIFwKKwlkbyB7IGJyZWFrOyB9IHdoaWxlIChwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpKQogCiAKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGRhLmggYi9pbmNsdWRlL2FzbS14ODYvcGRhLmgKaW5kZXggMTAxZmI5ZS4uYjM0ZTlhNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BkYS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wZGEuaApAQCAtMjIsNiArMjIsOCBAQAogCQkJCQkgICBvZmZzZXQgNDAhISEgKi8KICNlbmRpZgogCWNoYXIgKmlycXN0YWNrcHRyOworCXNob3J0IG5vZGVudW1iZXI7CQkvKiBudW1iZXIgb2YgY3VycmVudCBub2RlICgzMmsgbWF4KSAqLworCXNob3J0IGluX2Jvb3RtZW07CQkvKiBwZGEgbGl2ZXMgaW4gYm9vdG1lbSAqLwogCXVuc2lnbmVkIGludCBfX3NvZnRpcnFfcGVuZGluZzsKIAl1bnNpZ25lZCBpbnQgX19ubWlfY291bnQ7CS8qIG51bWJlciBvZiBOTUkgb24gdGhpcyBDUFVzICovCiAJc2hvcnQgbW11X3N0YXRlOwpAQCAtMzcsOCArMzksNyBAQAogCXVuc2lnbmVkIGlycV9zcHVyaW91c19jb3VudDsKIH0gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKIAotZXh0ZXJuIHN0cnVjdCB4ODY2NF9wZGEgKl9jcHVfcGRhW107Ci1leHRlcm4gc3RydWN0IHg4NjY0X3BkYSBib290X2NwdV9wZGFbXTsKK2V4dGVybiBzdHJ1Y3QgeDg2NjRfcGRhICoqX2NwdV9wZGE7CiBleHRlcm4gdm9pZCBwZGFfaW5pdChpbnQpOwogCiAjZGVmaW5lIGNwdV9wZGEoaSkgKF9jcHVfcGRhW2ldKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oIGIvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oCmluZGV4IDczNmZjM2IuLjkxMmEzYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZXJjcHUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGVyY3B1LmgKQEAgLTE0Myw0ICsxNDMsNTAgQEAKICNkZWZpbmUgeDg2X29yX3BlcmNwdSh2YXIsIHZhbCkgcGVyY3B1X3RvX29wKCJvciIsIHBlcl9jcHVfXyMjdmFyLCB2YWwpCiAjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qICFDT05GSUdfWDg2XzY0ICovCisKKyNpZmRlZiBDT05GSUdfU01QCisKKy8qCisgKiBEZWZpbmUgdGhlICJFQVJMWV9QRVJfQ1BVIiBtYWNyb3MuICBUaGVzZSBhcmUgdXNlZCBmb3Igc29tZSBwZXJfY3B1CisgKiB2YXJpYWJsZXMgdGhhdCBhcmUgaW5pdGlhbGl6ZWQgYW5kIGFjY2Vzc2VkIGJlZm9yZSB0aGVyZSBhcmUgcGVyX2NwdQorICogYXJlYXMgYWxsb2NhdGVkLgorICovCisKKyNkZWZpbmUJREVGSU5FX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lLCBfaW5pdHZhbHVlKQkJCVwKKwlERUZJTkVfUEVSX0NQVShfdHlwZSwgX25hbWUpID0gX2luaXR2YWx1ZTsJCQlcCisJX190eXBlb2ZfXyhfdHlwZSkgX25hbWUjI19lYXJseV9tYXBbTlJfQ1BVU10gX19pbml0ZGF0YSA9CVwKKwkJCQl7IFswIC4uLiBOUl9DUFVTLTFdID0gX2luaXR2YWx1ZSB9OwlcCisJX190eXBlb2ZfXyhfdHlwZSkgKl9uYW1lIyNfZWFybHlfcHRyID0gX25hbWUjI19lYXJseV9tYXAKKworI2RlZmluZSBFWFBPUlRfRUFSTFlfUEVSX0NQVV9TWU1CT0woX25hbWUpCQkJXAorCUVYUE9SVF9QRVJfQ1BVX1NZTUJPTChfbmFtZSkKKworI2RlZmluZSBERUNMQVJFX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lKQkJCVwKKwlERUNMQVJFX1BFUl9DUFUoX3R5cGUsIF9uYW1lKTsJCQkJXAorCWV4dGVybiBfX3R5cGVvZl9fKF90eXBlKSAqX25hbWUjI19lYXJseV9wdHI7CQlcCisJZXh0ZXJuIF9fdHlwZW9mX18oX3R5cGUpICBfbmFtZSMjX2Vhcmx5X21hcFtdCisKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpIChfbmFtZSMjX2Vhcmx5X3B0cikKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9tYXAoX25hbWUsIF9pZHgpIChfbmFtZSMjX2Vhcmx5X21hcFtfaWR4XSkKKyNkZWZpbmUJZWFybHlfcGVyX2NwdShfbmFtZSwgX2NwdSkgCQkJCVwKKwkoZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpID8JCQkJXAorCQllYXJseV9wZXJfY3B1X3B0cihfbmFtZSlbX2NwdV0gOgkJXAorCQlwZXJfY3B1KF9uYW1lLCBfY3B1KSkKKworI2Vsc2UJLyogIUNPTkZJR19TTVAgKi8KKyNkZWZpbmUJREVGSU5FX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lLCBfaW5pdHZhbHVlKQkJXAorCURFRklORV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkgPSBfaW5pdHZhbHVlCisKKyNkZWZpbmUgRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKF9uYW1lKQkJCVwKKwlFWFBPUlRfUEVSX0NQVV9TWU1CT0woX25hbWUpCisKKyNkZWZpbmUgREVDTEFSRV9FQVJMWV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkJCQlcCisJREVDTEFSRV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkKKworI2RlZmluZQllYXJseV9wZXJfY3B1KF9uYW1lLCBfY3B1KSBwZXJfY3B1KF9uYW1lLCBfY3B1KQorI2RlZmluZQllYXJseV9wZXJfY3B1X3B0cihfbmFtZSkgTlVMTAorLyogbm8gZWFybHlfcGVyX2NwdV9tYXAoKSAqLworCisjZW5kaWYJLyogIUNPTkZJR19TTVAgKi8KKwogI2VuZGlmIC8qIF9BU01fWDg2X1BFUkNQVV9IXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ2FsbG9jLmgKaW5kZXggOTFlNDY0MS4uZDYzZWE0MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGdhbGxvYy5oCkBAIC01LDkgKzUsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgkJLyogZm9yIHN0cnVjdCBwYWdlICovCiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogCitzdGF0aWMgaW5saW5lIGludCAgX19wYXJhdmlydF9wZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pIHsgcmV0dXJuIDA7IH0KKwogI2lmZGVmIENPTkZJR19QQVJBVklSVAogI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgogI2Vsc2UKKyNkZWZpbmUgcGFyYXZpcnRfcGdkX2FsbG9jKG1tKQlfX3BhcmF2aXJ0X3BnZF9hbGxvYyhtbSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9wZ2RfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkge30KIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgcGZuKQl7fQogc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FsbG9jX3BtZChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBwZm4pCXt9CiBzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWxsb2NfcG1kX2Nsb25lKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIGNsb25lcGZuLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlLmgKaW5kZXggOTdjMjcxYi4uNDljYmQ3NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZS5oCkBAIC0yMCwzMCArMjAsMjUgQEAKICNkZWZpbmUgX1BBR0VfQklUX1BBVF9MQVJHRQkxMgkvKiBPbiAyTUIgb3IgMUdCIHBhZ2VzICovCiAjZGVmaW5lIF9QQUdFX0JJVF9OWCAgICAgICAgICAgNjMgICAgICAgLyogTm8gZXhlY3V0ZTogb25seSB2YWxpZCBhZnRlciBjcHVpZCBjaGVjayAqLwogCi0vKgotICogTm90ZTogd2UgdXNlIF9BQygxLCBMKSBpbnN0ZWFkIG9mIF9BQygxLCBVTCkgc28gdGhhdCB3ZSBnZXQgYQotICogc2lnbi1leHRlbmRlZCB2YWx1ZSBvbiAzMi1iaXQgd2l0aCBhbGwgMSdzIGluIHRoZSB1cHBlciB3b3JkLAotICogd2hpY2ggcHJlc2VydmVzIHRoZSB1cHBlciBwdGUgdmFsdWVzIG9uIDY0LWJpdCBwdGVzOgotICovCi0jZGVmaW5lIF9QQUdFX1BSRVNFTlQJKF9BQygxLCBMKTw8X1BBR0VfQklUX1BSRVNFTlQpCi0jZGVmaW5lIF9QQUdFX1JXCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9SVykKLSNkZWZpbmUgX1BBR0VfVVNFUgkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfVVNFUikKLSNkZWZpbmUgX1BBR0VfUFdUCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QV1QpCi0jZGVmaW5lIF9QQUdFX1BDRAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUENEKQotI2RlZmluZSBfUEFHRV9BQ0NFU1NFRAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfQUNDRVNTRUQpCi0jZGVmaW5lIF9QQUdFX0RJUlRZCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9ESVJUWSkKLSNkZWZpbmUgX1BBR0VfUFNFCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QU0UpCS8qIDJNQiBwYWdlICovCi0jZGVmaW5lIF9QQUdFX0dMT0JBTAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfR0xPQkFMKQkvKiBHbG9iYWwgVExCIGVudHJ5ICovCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDEJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDEpCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDIJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDIpCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDMJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDMpCi0jZGVmaW5lIF9QQUdFX1BBVAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUEFUKQotI2RlZmluZSBfUEFHRV9QQVRfTEFSR0UgKF9BQygxLCBMKTw8X1BBR0VfQklUX1BBVF9MQVJHRSkKKyNkZWZpbmUgX1BBR0VfUFJFU0VOVAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUFJFU0VOVCkKKyNkZWZpbmUgX1BBR0VfUlcJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1JXKQorI2RlZmluZSBfUEFHRV9VU0VSCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9VU0VSKQorI2RlZmluZSBfUEFHRV9QV1QJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BXVCkKKyNkZWZpbmUgX1BBR0VfUENECShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9QQ0QpCisjZGVmaW5lIF9QQUdFX0FDQ0VTU0VECShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9BQ0NFU1NFRCkKKyNkZWZpbmUgX1BBR0VfRElSVFkJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX0RJUlRZKQorI2RlZmluZSBfUEFHRV9QU0UJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BTRSkKKyNkZWZpbmUgX1BBR0VfR0xPQkFMCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9HTE9CQUwpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDEJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDEpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDIJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDIpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDMJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDMpCisjZGVmaW5lIF9QQUdFX1BBVAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUEFUKQorI2RlZmluZSBfUEFHRV9QQVRfTEFSR0UgKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BBVF9MQVJHRSkKIAogI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgfHwgZGVmaW5lZChDT05GSUdfWDg2X1BBRSkKLSNkZWZpbmUgX1BBR0VfTlgJKF9BQygxLCBVTEwpIDw8IF9QQUdFX0JJVF9OWCkKKyNkZWZpbmUgX1BBR0VfTlgJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX05YKQogI2Vsc2UKLSNkZWZpbmUgX1BBR0VfTlgJMAorI2RlZmluZSBfUEFHRV9OWAkoX0FUKHB0ZXZhbF90LCAwKSkKICNlbmRpZgogCiAvKiBJZiBfUEFHRV9QUkVTRU5UIGlzIGNsZWFyLCB3ZSB1c2UgdGhlc2U6ICovCkBAIC04MywxOSArNzgsOSBAQAogI2RlZmluZSBQQUdFX1JFQURPTkxZX0VYRUMJX19wZ3Byb3QoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1VTRVIgfAlcCiAJCQkJCSBfUEFHRV9BQ0NFU1NFRCkKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgX1BBR0VfS0VSTkVMX0VYRUMgXAotCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEKQotI2RlZmluZSBfUEFHRV9LRVJORUwgKF9QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfTlgpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gcHRldmFsX3QgX19QQUdFX0tFUk5FTCwgX19QQUdFX0tFUk5FTF9FWEVDOwotI2VuZGlmCS8qIF9fQVNTRU1CTFlfXyAqLwotI2Vsc2UKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9FWEVDCQkJCQkJXAotCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEKQorCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfR0xPQkFMKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMCQkoX19QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfTlgpCi0jZW5kaWYKIAogI2RlZmluZSBfX1BBR0VfS0VSTkVMX1JPCQkoX19QQUdFX0tFUk5FTCAmIH5fUEFHRV9SVykKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9SWAkJKF9fUEFHRV9LRVJORUxfRVhFQyAmIH5fUEFHRV9SVykKQEAgLTEwNiwyNiArOTEsMjIgQEAKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9WU1lTQ0FMTAkJKF9fUEFHRV9LRVJORUxfUlggfCBfUEFHRV9VU0VSKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMX05PQ0FDSEUJKF9fUEFHRV9LRVJORUxfVlNZU0NBTEwgfCBfUEFHRV9QQ0QgfCBfUEFHRV9QV1QpCiAjZGVmaW5lIF9fUEFHRV9LRVJORUxfTEFSR0UJCShfX1BBR0VfS0VSTkVMIHwgX1BBR0VfUFNFKQorI2RlZmluZSBfX1BBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUJKF9fUEFHRV9LRVJORUwgfCBfUEFHRV9DQUNIRV9VQyB8IF9QQUdFX1BTRSkKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDCShfX1BBR0VfS0VSTkVMX0VYRUMgfCBfUEFHRV9QU0UpCiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGRlZmluZSBNQUtFX0dMT0JBTCh4KQkJCV9fcGdwcm90KCh4KSkKLSNlbHNlCi0jIGRlZmluZSBNQUtFX0dMT0JBTCh4KQkJCV9fcGdwcm90KCh4KSB8IF9QQUdFX0dMT0JBTCkKLSNlbmRpZgotCi0jZGVmaW5lIFBBR0VfS0VSTkVMCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfUk8JCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1JPKQotI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0VYRUMpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1JYCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9SWCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfV0MJCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1dDKQotI2RlZmluZSBQQUdFX0tFUk5FTF9OT0NBQ0hFCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX05PQ0FDSEUpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1VDX01JTlVTCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1VDX01JTlVTKQotI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0xBUkdFKQotI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1ZTWVNDQUxMCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMKQotI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCU1BS0VfR0xPQkFMKF9fUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUwJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMKQorI2RlZmluZSBQQUdFX0tFUk5FTF9STwkJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfUk8pCisjZGVmaW5lIFBBR0VfS0VSTkVMX0VYRUMJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfRVhFQykKKyNkZWZpbmUgUEFHRV9LRVJORUxfUlgJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1JYKQorI2RlZmluZSBQQUdFX0tFUk5FTF9XQwkJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfV0MpCisjZGVmaW5lIFBBR0VfS0VSTkVMX05PQ0FDSEUJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfVUNfTUlOVVMJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfVUNfTUlOVVMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0VYRUNfTk9DQUNIRQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0VYRUNfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfTEFSR0UJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTEFSR0UpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUJX19wZ3Byb3QoX19QQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFKQorI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX1ZTWVNDQUxMCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMKQorI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSkKIAogLyogICAgICAgICB4d3IgKi8KICNkZWZpbmUgX19QMDAwCVBBR0VfTk9ORQpAQCAtMTY0LDM3ICsxNDUsMzcgQEAKICAqLwogc3RhdGljIGlubGluZSBpbnQgcHRlX2RpcnR5KHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfRElSVFk7CisJcmV0dXJuIHB0ZV9mbGFncyhwdGUpICYgX1BBR0VfRElSVFk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV95b3VuZyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwdGVfd3JpdGUocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9SVzsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9SVzsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX2ZpbGUocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9GSUxFOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0ZJTEU7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9odWdlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfUFNFOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX1BTRTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX2dsb2JhbChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0dMT0JBTDsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9HTE9CQUw7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9leGVjKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gIShwdGVfdmFsKHB0ZSkgJiBfUEFHRV9OWCk7CisJcmV0dXJuICEocHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9OWCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9zcGVjaWFsKHB0ZV90IHB0ZSkKQEAgLTIxMCwyMiArMTkxLDIyIEBACiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0RJUlRZKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0RJUlRZKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0FDQ0VTU0VEKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0FDQ0VTU0VEKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9SVyk7CisJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9SVyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZXhlYyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfTlgpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfTlgpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkKQEAgLTI1MCw3ICsyMzEsNyBAQAogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9jbHJodWdlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9QU0UpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfUFNFKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtnbG9iYWwocHRlX3QgcHRlKQpAQCAtMjYwLDcgKzI0MSw3IEBACiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX2Nscmdsb2JhbChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfR0xPQkFMKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0dMT0JBTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rc3BlY2lhbChwdGVfdCBwdGUpCkBAIC0zMDUsNyArMjg2LDcgQEAKIAlyZXR1cm4gX19wZ3Byb3QocHJlc2VydmViaXRzIHwgYWRkYml0cyk7CiB9CiAKLSNkZWZpbmUgcHRlX3BncHJvdCh4KSBfX3BncHJvdChwdGVfdmFsKHgpICYgflBURV9NQVNLKQorI2RlZmluZSBwdGVfcGdwcm90KHgpIF9fcGdwcm90KHB0ZV9mbGFncyh4KSAmIH5QVEVfTUFTSykKIAogI2RlZmluZSBjYW5vbl9wZ3Byb3QocCkgX19wZ3Byb3QocGdwcm90X3ZhbChwKSAmIF9fc3VwcG9ydGVkX3B0ZV9tYXNrKQogCkBAIC0zMTgsNiArMjk5LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgcGdwcm90X3QgKnZtYV9wcm90KTsKICNlbmRpZgogCisvKiBJbnN0YWxsIGEgcHRlIGZvciBhIHBhcnRpY3VsYXIgdmFkZHIgaW4ga2VybmVsIHNwYWNlLiAqLwordm9pZCBzZXRfcHRlX3ZhZGRyKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IHB0ZSk7CisKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KICNlbHNlICAvKiAhQ09ORklHX1BBUkFWSVJUICovCkBAIC0zNTksNiArMzQzLDI2IEBACiAjIGluY2x1ZGUgInBndGFibGVfNjQuaCIKICNlbmRpZgogCisvKgorICogdGhlIHBnZCBwYWdlIGNhbiBiZSB0aG91Z2h0IG9mIGFuIGFycmF5IGxpa2UgdGhpczogcGdkX3RbUFRSU19QRVJfUEdEXQorICoKKyAqIHRoaXMgbWFjcm8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSBwZ2QgcGFnZSB3aGljaCB3b3VsZAorICogY29udHJvbCB0aGUgZ2l2ZW4gdmlydHVhbCBhZGRyZXNzCisgKi8KKyNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKKworLyoKKyAqIHBnZF9vZmZzZXQoKSByZXR1cm5zIGEgKHBnZF90ICopCisgKiBwZ2RfaW5kZXgoKSBpcyB1c2VkIGdldCB0aGUgb2Zmc2V0IGludG8gdGhlIHBnZCBwYWdlJ3MgYXJyYXkgb2YgcGdkX3QnczsKKyAqLworI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCisvKgorICogYSBzaG9ydGN1dCB3aGljaCBpbXBsaWVzIHRoZSB1c2Ugb2YgdGhlIGtlcm5lbCdzIHBnZCwgaW5zdGVhZAorICogb2YgYSBwcm9jZXNzJ3MKKyAqLworI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykgcGdkX29mZnNldCgmaW5pdF9tbSwgKGFkZHJlc3MpKQorCisKICNkZWZpbmUgS0VSTkVMX1BHRF9CT1VOREFSWQlwZ2RfaW5kZXgoUEFHRV9PRkZTRVQpCiAjZGVmaW5lIEtFUk5FTF9QR0RfUFRSUwkJKFBUUlNfUEVSX1BHRCAtIEtFUk5FTF9QR0RfQk9VTkRBUlkpCiAKQEAgLTM2OSw4ICszNzMsMTUgQEAKIAlQR19MRVZFTF80SywKIAlQR19MRVZFTF8yTSwKIAlQR19MRVZFTF8xRywKKwlQR19MRVZFTF9OVU0KIH07CiAKKyNpZmRlZiBDT05GSUdfUFJPQ19GUworZXh0ZXJuIHZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKSB7IH0KKyNlbmRpZgorCiAvKgogICogSGVscGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUga2VybmVsIHBhZ2V0YWJsZSBlbnRyeSBjb250cm9sbGluZwogICogdGhlIHZpcnR1YWwgYWRkcmVzcyAnYWRkcmVzcycuIE5VTEwgbWVhbnMgbm8gcGFnZXRhYmxlIGVudHJ5IHByZXNlbnQuCkBAIC00MjAsNiArNDMxLDggQEAKICAqIHJhY2Ugd2l0aCBvdGhlciBDUFUncyB0aGF0IG1pZ2h0IGJlIHVwZGF0aW5nIHRoZSBkaXJ0eQogICogYml0IGF0IHRoZSBzYW1lIHRpbWUuCiAgKi8KK3N0cnVjdCB2bV9hcmVhX3N0cnVjdDsKKwogI2RlZmluZSAgX19IQVZFX0FSQ0hfUFRFUF9TRVRfQUNDRVNTX0ZMQUdTCiBleHRlcm4gaW50IHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkJCQkgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCBwdGVfdCAqcHRlcCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV8zMi5oCmluZGV4IDMyY2EwMzEuLmVjODcxYzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BndGFibGVfMzIuaApAQCAtMTEzLDI2ICsxMTMsNiBAQAogICovCiAjZGVmaW5lIG1rX3B0ZShwYWdlLCBwZ3Byb3QpCXBmbl9wdGUocGFnZV90b19wZm4ocGFnZSksIChwZ3Byb3QpKQogCi0vKgotICogdGhlIHBnZCBwYWdlIGNhbiBiZSB0aG91Z2h0IG9mIGFuIGFycmF5IGxpa2UgdGhpczogcGdkX3RbUFRSU19QRVJfUEdEXQotICoKLSAqIHRoaXMgbWFjcm8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSBwZ2QgcGFnZSB3aGljaCB3b3VsZAotICogY29udHJvbCB0aGUgZ2l2ZW4gdmlydHVhbCBhZGRyZXNzCi0gKi8KLSNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKLSNkZWZpbmUgcGdkX2luZGV4X2soYWRkcikgcGdkX2luZGV4KChhZGRyKSkKLQotLyoKLSAqIHBnZF9vZmZzZXQoKSByZXR1cm5zIGEgKHBnZF90ICopCi0gKiBwZ2RfaW5kZXgoKSBpcyB1c2VkIGdldCB0aGUgb2Zmc2V0IGludG8gdGhlIHBnZCBwYWdlJ3MgYXJyYXkgb2YgcGdkX3QnczsKLSAqLwotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCi0KLS8qCi0gKiBhIHNob3J0Y3V0IHdoaWNoIGltcGxpZXMgdGhlIHVzZSBvZiB0aGUga2VybmVsJ3MgcGdkLCBpbnN0ZWFkCi0gKiBvZiBhIHByb2Nlc3MncwotICovCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSBwZ2Rfb2Zmc2V0KCZpbml0X21tLCAoYWRkcmVzcykpCiAKIHN0YXRpYyBpbmxpbmUgaW50IHB1ZF9sYXJnZShwdWRfdCBwdWQpIHsgcmV0dXJuIDA7IH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzY0LmgKaW5kZXggMWNjNTBkMi4uZmE3MjA4YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV82NC5oCkBAIC03MCw2ICs3MCw5IEBACiAKIHN0cnVjdCBtbV9zdHJ1Y3Q7CiAKK3ZvaWQgc2V0X3B0ZV92YWRkcl9wdWQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBuZXdfcHRlKTsKKworCiBzdGF0aWMgaW5saW5lIHZvaWQgbmF0aXZlX3B0ZV9jbGVhcihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQkJCSAgICBwdGVfdCAqcHRlcCkKIHsKQEAgLTE5MCwxMiArMTkzLDkgQEAKICNkZWZpbmUgcGdkX3BhZ2VfdmFkZHIocGdkKQkJCQkJCVwKIAkoKHVuc2lnbmVkIGxvbmcpX192YSgodW5zaWduZWQgbG9uZylwZ2RfdmFsKChwZ2QpKSAmIFBURV9NQVNLKSkKICNkZWZpbmUgcGdkX3BhZ2UocGdkKQkJKHBmbl90b19wYWdlKHBnZF92YWwoKHBnZCkpID4+IFBBR0VfU0hJRlQpKQotI2RlZmluZSBwZ2RfaW5kZXgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gUEdESVJfU0hJRlQpICYgKFBUUlNfUEVSX1BHRCAtIDEpKQotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKQkoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSAoaW5pdF9sZXZlbDRfcGd0ICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCiAjZGVmaW5lIHBnZF9wcmVzZW50KHBnZCkgKHBnZF92YWwocGdkKSAmIF9QQUdFX1BSRVNFTlQpCiBzdGF0aWMgaW5saW5lIGludCBwZ2RfbGFyZ2UocGdkX3QgcGdkKSB7IHJldHVybiAwOyB9Ci0jZGVmaW5lIG1rX2tlcm5lbF9wZ2QoYWRkcmVzcykgKChwZ2RfdCl7IChhZGRyZXNzKSB8IF9LRVJOUEdfVEFCTEUgfSkKKyNkZWZpbmUgbWtfa2VybmVsX3BnZChhZGRyZXNzKSBfX3BnZCgoYWRkcmVzcykgfCBfS0VSTlBHX1RBQkxFKQogCiAvKiBQVUQgLSBMZXZlbDMgYWNjZXNzICovCiAvKiB0byBmaW5kIGFuIGVudHJ5IGluIGEgcGFnZS10YWJsZS1kaXJlY3RvcnkuICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmggYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmgKaW5kZXggMTk5Y2FiMS4uMDkyYjM5YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci1mbGFncy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3ItZmxhZ3MuaApAQCAtODgsNCArODgsMTAgQEAKICNkZWZpbmUgQ1g4Nl9BUlJfQkFTRQkweGM0CiAjZGVmaW5lIENYODZfUkNSX0JBU0UJMHhkYwogCisjaWZkZWYgQ09ORklHX1ZNODYKKyNkZWZpbmUgWDg2X1ZNX01BU0sJWDg2X0VGTEFHU19WTQorI2Vsc2UKKyNkZWZpbmUgWDg2X1ZNX01BU0sJMCAvKiBObyBWTTg2IHN1cHBvcnQgKi8KKyNlbmRpZgorCiAjZW5kaWYJLyogX19BU01fSTM4Nl9QUk9DRVNTT1JfRkxBR1NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oIGIvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCmluZGV4IDU1OTEwNTIuLjdmNzM4MjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTE1Myw3ICsxNTMsNyBAQAogCiBleHRlcm4gdm9pZCBjcHVfZGV0ZWN0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CiAKLWV4dGVybiB2b2lkIGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CitleHRlcm4gdm9pZCBlYXJseV9jcHVfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpOwogZXh0ZXJuIHZvaWQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CiBleHRlcm4gdm9pZCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKik7CkBAIC0yNjMsMTUgKzI2MywxMSBAQAogCXN0cnVjdCB0aHJlYWRfc3RydWN0CSppb19iaXRtYXBfb3duZXI7CiAKIAkvKgotCSAqIFBhZCB0aGUgVFNTIHRvIGJlIGNhY2hlbGluZS1hbGlnbmVkIChzaXplIGlzIDB4MTAwKToKLQkgKi8KLQl1bnNpZ25lZCBsb25nCQlfX2NhY2hlbGluZV9maWxsZXJbMzVdOwotCS8qCiAJICogLi4gYW5kIHRoZW4gYW5vdGhlciAweDEwMCBieXRlcyBmb3IgdGhlIGVtZXJnZW5jeSBrZXJuZWwgc3RhY2s6CiAJICovCiAJdW5zaWduZWQgbG9uZwkJc3RhY2tbNjRdOwogCi19IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworfSBfX19fY2FjaGVsaW5lX2FsaWduZWQ7CiAKIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgdHNzX3N0cnVjdCwgaW5pdF90c3MpOwogCkBAIC01MzUsNyArNTMxLDYgQEAKIH0KIAogI2RlZmluZSBzZXRfaW9wbF9tYXNrIG5hdGl2ZV9zZXRfaW9wbF9tYXNrCi0jZGVmaW5lIFNXQVBHUwlzd2FwZ3MKICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wcm90by5oIGIvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKaW5kZXggNmM4YjQxYi4uM2RkNDU4YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKQEAgLTE0LDggKzE0LDYgQEAKIGV4dGVybiB2b2lkIGlhMzJfY3N0YXJfdGFyZ2V0KHZvaWQpOwogZXh0ZXJuIHZvaWQgaWEzMl9zeXNlbnRlcl90YXJnZXQodm9pZCk7CiAKLWV4dGVybiB2b2lkIHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbGVuKTsKLQogZXh0ZXJuIHZvaWQgc3lzY2FsbDMyX2NwdV9pbml0KHZvaWQpOwogCiBleHRlcm4gdm9pZCBjaGVja19lZmVyKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oIGIvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oCmluZGV4IDlmOTIyYjAuLjhhNzFkYjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHRyYWNlLmgKQEAgLTMsNyArMywxMiBAQAogCiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4JLyogRm9yIF9fdXNlciAqLwogI2luY2x1ZGUgPGFzbS9wdHJhY2UtYWJpLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogCisjaWZkZWYgX19LRVJORUxfXworI2luY2x1ZGUgPGFzbS9kcy5oPgkJLyogdGhlIERTIEJUUyBzdHJ1Y3QgaXMgdXNlZCBmb3IgcHRyYWNlIHRvbyAqLworI2luY2x1ZGUgPGFzbS9zZWdtZW50Lmg+CisjZW5kaWYKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtNTUsOSArNjAsNiBAQAogCXVuc2lnbmVkIGxvbmcgc3M7CiB9OwogCi0jaW5jbHVkZSA8YXNtL3ZtODYuaD4KLSNpbmNsdWRlIDxhc20vc2VnbWVudC5oPgotCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCiAjZWxzZSAvKiBfX2kzODZfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oIGIvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oCmluZGV4IGU2Mzc0MWYuLjIwNmYzNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9yZWJvb3QuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcmVib290LmgKQEAgLTE0LDggKzE0LDggQEAKIAogZXh0ZXJuIHN0cnVjdCBtYWNoaW5lX29wcyBtYWNoaW5lX29wczsKIAotdm9pZCBtYWNoaW5lX3JlYWxfcmVzdGFydCh1bnNpZ25lZCBjaGFyICpjb2RlLCBpbnQgbGVuZ3RoKTsKIHZvaWQgbmF0aXZlX21hY2hpbmVfY3Jhc2hfc2h1dGRvd24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwogdm9pZCBuYXRpdmVfbWFjaGluZV9zaHV0ZG93bih2b2lkKTsKK3ZvaWQgbWFjaGluZV9yZWFsX3Jlc3RhcnQoY29uc3QgdW5zaWduZWQgY2hhciAqY29kZSwgaW50IGxlbmd0aCk7CiAKICNlbmRpZgkvKiBfQVNNX1JFQk9PVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcmVxdWlyZWQtZmVhdHVyZXMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCmluZGV4IDc0MDBkM2EuLmFkZWM4ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCkBAIC0xOSw5ICsxOSwxMyBAQAogCiAjaWYgZGVmaW5lZChDT05GSUdfWDg2X1BBRSkgfHwgZGVmaW5lZChDT05GSUdfWDg2XzY0KQogIyBkZWZpbmUgTkVFRF9QQUUJKDE8PChYODZfRkVBVFVSRV9QQUUgJiAzMSkpCi0jIGRlZmluZSBORUVEX0NYOAkoMTw8KFg4Nl9GRUFUVVJFX0NYOCAmIDMxKSkKICNlbHNlCiAjIGRlZmluZSBORUVEX1BBRQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfQ01QWENIRzY0CisjIGRlZmluZSBORUVEX0NYOAkoMTw8KFg4Nl9GRUFUVVJFX0NYOCAmIDMxKSkKKyNlbHNlCiAjIGRlZmluZSBORUVEX0NYOAkwCiAjZW5kaWYKIApAQCAtMzgsNyArNDIsNyBAQAogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0jZGVmaW5lIE5FRURfUFNFCSgxPDwoWDg2X0ZFQVRVUkVfUFNFICYgMzEpKQorI2RlZmluZSBORUVEX1BTRQkwCiAjZGVmaW5lIE5FRURfTVNSCSgxPDwoWDg2X0ZFQVRVUkVfTVNSICYgMzEpKQogI2RlZmluZSBORUVEX1BHRQkoMTw8KFg4Nl9GRUFUVVJFX1BHRSAmIDMxKSkKICNkZWZpbmUgTkVFRF9GWFNSCSgxPDwoWDg2X0ZFQVRVUkVfRlhTUiAmIDMxKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaAppbmRleCAyNTU3NTE0Li44ZDlmMGI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcmVzdW1lLXRyYWNlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Jlc3VtZS10cmFjZS5oCkBAIC02LDcgKzYsNyBAQAogI2RlZmluZSBUUkFDRV9SRVNVTUUodXNlcikJCQkJCVwKIGRvIHsJCQkJCQkJCVwKIAlpZiAocG1fdHJhY2VfZW5hYmxlZCkgewkJCQkJXAotCQl2b2lkICp0cmFjZWRhdGE7CQkJCVwKKwkJY29uc3Qgdm9pZCAqdHJhY2VkYXRhOwkJCQlcCiAJCWFzbSB2b2xhdGlsZShfQVNNX01PVl9VTCAiICQxZiwlMFxuIgkJXAogCQkJICAgICAiLnNlY3Rpb24gLnRyYWNlZGF0YSxcImFcIlxuIglcCiAJCQkgICAgICIxOlx0LndvcmQgJWMxXG5cdCIJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF8zMi5oCmluZGV4IDE4ZGExOWUuLjM2ZTcxYzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfMzIuaApAQCAtMSw0ICsxLDUgQEAKICNpZm5kZWYgX0FTTV9TRUNDT01QX0gKKyNkZWZpbmUgX0FTTV9TRUNDT01QX0gKIAogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF82NC5oCmluZGV4IDU1M2FmNjUuLjc2Y2ZlNjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfNjQuaApAQCAtMSw0ICsxLDUgQEAKICNpZm5kZWYgX0FTTV9TRUNDT01QX0gKKyNkZWZpbmUgX0FTTV9TRUNDT01QX0gKIAogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmggYi9pbmNsdWRlL2FzbS14ODYvc2VnbWVudC5oCmluZGV4IGVkNTEzMWQuLmRmYzg2MDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlZ21lbnQuaApAQCAtNjEsMTggKzYxLDE0IEBACiAjZGVmaW5lIEdEVF9FTlRSWV9UTFNfTUFYIAkoR0RUX0VOVFJZX1RMU19NSU4gKyBHRFRfRU5UUllfVExTX0VOVFJJRVMgLSAxKQogCiAjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1MJMTQKLSNkZWZpbmUgX19VU0VSX0NTIChHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTICogOCArIDMpCiAKICNkZWZpbmUgR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EUwkxNQotI2RlZmluZSBfX1VTRVJfRFMgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMgKiA4ICsgMykKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0JBU0UJMTIKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0NTCQkoR0RUX0VOVFJZX0tFUk5FTF9CQVNFICsgMCkKLSNkZWZpbmUgX19LRVJORUxfQ1MgKEdEVF9FTlRSWV9LRVJORUxfQ1MgKiA4KQogCiAjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfRFMJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyAxKQotI2RlZmluZSBfX0tFUk5FTF9EUyAoR0RUX0VOVFJZX0tFUk5FTF9EUyAqIDgpCiAKICNkZWZpbmUgR0RUX0VOVFJZX1RTUwkJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyA0KQogI2RlZmluZSBHRFRfRU5UUllfTERUCQkJKEdEVF9FTlRSWV9LRVJORUxfQkFTRSArIDUpCkBAIC0xMzksMTAgKzEzNSwxMSBAQAogI2Vsc2UKICNpbmNsdWRlIDxhc20vY2FjaGUuaD4KIAotI2RlZmluZSBfX0tFUk5FTF9DUwkweDEwCi0jZGVmaW5lIF9fS0VSTkVMX0RTCTB4MTgKKyNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTDMyX0NTIDEKKyNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTF9DUyAyCisjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfRFMgMwogCi0jZGVmaW5lIF9fS0VSTkVMMzJfQ1MgICAweDA4CisjZGVmaW5lIF9fS0VSTkVMMzJfQ1MgICAoR0RUX0VOVFJZX0tFUk5FTDMyX0NTICogOCkKIAogLyoKICAqIHdlIGNhbm5vdCB1c2UgdGhlIHNhbWUgY29kZSBzZWdtZW50IGRlc2NyaXB0b3IgZm9yIHVzZXIgYW5kIGtlcm5lbApAQCAtMTUwLDEwICsxNDcsMTAgQEAKICAqIFRoZSBzZWdtZW50IG9mZnNldCBuZWVkcyB0byBjb250YWluIGEgUlBMLiBHcnIuIC1BSwogICogR0RUIGxheW91dCB0byBnZXQgNjRiaXQgc3lzY2FsbCByaWdodCAoc3lzcmV0IGhhcmRjb2RlcyBnZHQgb2Zmc2V0cykKICAqLwotCi0jZGVmaW5lIF9fVVNFUjMyX0NTICAgMHgyMyAgIC8qIDQqOCszICovCi0jZGVmaW5lIF9fVVNFUl9EUyAgICAgMHgyYiAgIC8qIDUqOCszICovCi0jZGVmaW5lIF9fVVNFUl9DUyAgICAgMHgzMyAgIC8qIDYqOCszICovCisjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVIzMl9DUyA0CisjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMgNQorI2RlZmluZSBHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTIDYKKyNkZWZpbmUgX19VU0VSMzJfQ1MgICAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUjMyX0NTICogOCArIDMpCiAjZGVmaW5lIF9fVVNFUjMyX0RTCV9fVVNFUl9EUwogCiAjZGVmaW5lIEdEVF9FTlRSWV9UU1MgOAkvKiBuZWVkcyB0d28gZW50cmllcyAqLwpAQCAtMTc1LDYgKzE3MiwxMCBAQAogCiAjZW5kaWYKIAorI2RlZmluZSBfX0tFUk5FTF9DUwkoR0RUX0VOVFJZX0tFUk5FTF9DUyAqIDgpCisjZGVmaW5lIF9fS0VSTkVMX0RTCShHRFRfRU5UUllfS0VSTkVMX0RTICogOCkKKyNkZWZpbmUgX19VU0VSX0RTICAgICAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EUyogOCArIDMpCisjZGVmaW5lIF9fVVNFUl9DUyAgICAgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1MqIDggKyAzKQogI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKICNkZWZpbmUgZ2V0X2tlcm5lbF9ycGwoKSAgMAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCmluZGV4IGZhNjc2M2EuLjkwYWIyMjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCkBAIC04LDcgKzgsMjUgQEAKIC8qIEludGVycnVwdCBjb250cm9sIGZvciB2U01Qb3dlcmVkIHg4Nl82NCBzeXN0ZW1zICovCiB2b2lkIHZzbXBfaW5pdCh2b2lkKTsKIAotY2hhciAqbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CisjaWZkZWYgQ09ORklHX1g4Nl9WSVNXUworZXh0ZXJuIHZvaWQgdmlzd3NfZWFybHlfZGV0ZWN0KHZvaWQpOworZXh0ZXJuIGludCBpc192aXN3c19ib3godm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHZpc3dzX2Vhcmx5X2RldGVjdCh2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgaW50IGlzX3Zpc3dzX2JveCh2b2lkKSB7IHJldHVybiAwOyB9CisjZW5kaWYKKworLyoKKyAqIEFueSBzZXR1cCBxdWlya3MgdG8gYmUgcGVyZm9ybWVkPworICovCitleHRlcm4gaW50ICgqYXJjaF90aW1lX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfcHJlX2ludHJfaW5pdF9xdWlyaykodm9pZCk7CitleHRlcm4gaW50ICgqYXJjaF9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfdHJhcF9pbml0X3F1aXJrKSh2b2lkKTsKK2V4dGVybiBjaGFyICogKCphcmNoX21lbW9yeV9zZXR1cF9xdWlyaykodm9pZCk7CitleHRlcm4gaW50ICgqbWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IGVhcmx5KTsKK2V4dGVybiBpbnQgKCptYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IHJlc2VydmUpOworCiAjaWZuZGVmIENPTkZJR19QQVJBVklSVAogI2RlZmluZSBwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCkJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKQEAgLTQzLDI2ICs2MSwyMyBAQAogICovCiBleHRlcm4gc3RydWN0IGJvb3RfcGFyYW1zIGJvb3RfcGFyYW1zOwogCi0jaWZkZWYgX19pMzg2X18KIC8qCiAgKiBEbyBOT1QgRVZFUiBsb29rIGF0IHRoZSBCSU9TIG1lbW9yeSBzaXplIGxvY2F0aW9uLgogICogSXQgZG9lcyBub3Qgd29yayBvbiBtYW55IG1hY2hpbmVzLgogICovCiAjZGVmaW5lIExPV01FTVNJWkUoKQkoMHg5ZjAwMCkKIAotc3RydWN0IGU4MjBlbnRyeTsKKyNpZmRlZiBfX2kzODZfXwogCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpOwotY2hhciAqbWVtb3J5X3NldHVwKHZvaWQpOwordm9pZCBfX2luaXQgaTM4Nl9zdGFydF9rZXJuZWwodm9pZCk7CitleHRlcm4gdm9pZCBwcm9iZV9yb21zKHZvaWQpOwogCi1pbnQgX19pbml0IGNvcHlfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCk7Ci1pbnQgX19pbml0IHNhbml0aXplX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGNoYXIgKnBucl9tYXApOwotdm9pZCBfX2luaXQgYWRkX21lbW9yeV9yZWdpb24odW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0LAotCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHNpemUsIGludCB0eXBlKTsKLQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfc3RhcnQ7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBpbml0X3BnX3RhYmxlc19lbmQ7CiAKLQorI2Vsc2UKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9rZXJuZWwoY2hhciAqcmVhbF9tb2RlKTsKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMoY2hhciAqcmVhbF9tb2RlX2RhdGEpOwogCiAjZW5kaWYgLyogX19pMzg2X18gKi8KICNlbmRpZiAvKiBfU0VUVVAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaAppbmRleCAxZWJhYTVjLi5jMjc4NGIzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc21wLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NtcC5oCkBAIC0yOSwyMSArMjksMTIgQEAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbnVtX3Byb2Nlc3NvcnM7CiBleHRlcm4gY3B1bWFza190IGNwdV9pbml0aWFsaXplZDsKIAotI2lmZGVmIENPTkZJR19TTVAKLWV4dGVybiB1MTYgeDg2X2NwdV90b19hcGljaWRfaW5pdFtdOwotZXh0ZXJuIHUxNiB4ODZfYmlvc19jcHVfYXBpY2lkX2luaXRbXTsKLWV4dGVybiB2b2lkICp4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHI7Ci1leHRlcm4gdm9pZCAqeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7Ci0jZWxzZQotI2RlZmluZSB4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHIgTlVMTAotI2RlZmluZSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciBOVUxMCi0jZW5kaWYKLQogREVDTEFSRV9QRVJfQ1BVKGNwdW1hc2tfdCwgY3B1X3NpYmxpbmdfbWFwKTsKIERFQ0xBUkVfUEVSX0NQVShjcHVtYXNrX3QsIGNwdV9jb3JlX21hcCk7CiBERUNMQVJFX1BFUl9DUFUodTE2LCBjcHVfbGxjX2lkKTsKLURFQ0xBUkVfUEVSX0NQVSh1MTYsIHg4Nl9jcHVfdG9fYXBpY2lkKTsKLURFQ0xBUkVfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQpOworCitERUNMQVJFX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCk7CitERUNMQVJFX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAogLyogU3RhdGljIHN0YXRlIGluIGhlYWQuUyB1c2VkIHRvIHNldCB1cCBhIENQVSAqLwogZXh0ZXJuIHN0cnVjdCB7CkBAIC01OSw5ICs1MCw5IEBACiAKIAl2b2lkICgqc21wX3NlbmRfc3RvcCkodm9pZCk7CiAJdm9pZCAoKnNtcF9zZW5kX3Jlc2NoZWR1bGUpKGludCBjcHUpOwotCWludCAoKnNtcF9jYWxsX2Z1bmN0aW9uX21hc2spKGNwdW1hc2tfdCBtYXNrLAotCQkJCSAgICAgIHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgICAgICBpbnQgd2FpdCk7CisKKwl2b2lkICgqc2VuZF9jYWxsX2Z1bmNfaXBpKShjcHVtYXNrX3QgbWFzayk7CisJdm9pZCAoKnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkpKGludCBjcHUpOwogfTsKIAogLyogR2xvYmFscyBkdWUgdG8gcGFyYXZpcnQgKi8KQEAgLTEwMywyMyArOTQsMjYgQEAKIAlzbXBfb3BzLnNtcF9zZW5kX3Jlc2NoZWR1bGUoY3B1KTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywKLQkJCQkJIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkJCSBpbnQgd2FpdCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0JcmV0dXJuIHNtcF9vcHMuc21wX2NhbGxfZnVuY3Rpb25fbWFzayhtYXNrLCBmdW5jLCBpbmZvLCB3YWl0KTsKKwlzbXBfb3BzLnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkoY3B1KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKK3sKKwlzbXBfb3BzLnNlbmRfY2FsbF9mdW5jX2lwaShtYXNrKTsKIH0KIAogdm9pZCBuYXRpdmVfc21wX3ByZXBhcmVfYm9vdF9jcHUodm9pZCk7CiB2b2lkIG5hdGl2ZV9zbXBfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CiB2b2lkIG5hdGl2ZV9zbXBfY3B1c19kb25lKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CiBpbnQgbmF0aXZlX2NwdV91cCh1bnNpZ25lZCBpbnQgY3B1bnVtKTsKK3ZvaWQgbmF0aXZlX3NlbmRfY2FsbF9mdW5jX2lwaShjcHVtYXNrX3QgbWFzayk7Cit2b2lkIG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpKGludCBjcHUpOwogCiBleHRlcm4gaW50IF9fY3B1X2Rpc2FibGUodm9pZCk7CiBleHRlcm4gdm9pZCBfX2NwdV9kaWUodW5zaWduZWQgaW50IGNwdSk7CiAKLWV4dGVybiB2b2lkIHByZWZpbGxfcG9zc2libGVfbWFwKHZvaWQpOwotCiB2b2lkIHNtcF9zdG9yZV9jcHVfaW5mbyhpbnQgaWQpOwogI2RlZmluZSBjcHVfcGh5c2ljYWxfaWQoY3B1KQlwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpCiAKQEAgLTEzMCw2ICsxMjQsMTQgQEAKIH0KICNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKKyNpZiBkZWZpbmVkKENPTkZJR19TTVApICYmIGRlZmluZWQoQ09ORklHX0hPVFBMVUdfQ1BVKQorZXh0ZXJuIHZvaWQgcHJlZmlsbF9wb3NzaWJsZV9tYXAodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHByZWZpbGxfcG9zc2libGVfbWFwKHZvaWQpCit7Cit9CisjZW5kaWYKKwogZXh0ZXJuIHVuc2lnbmVkIGRpc2FibGVkX2NwdXMgX19jcHVpbml0ZGF0YTsKIAogI2lmZGVmIENPTkZJR19YODZfMzJfU01QCkBAIC0xOTcsMTIgKzE5OSw4IEBACiAjZW5kaWYgLyogQ09ORklHX1g4Nl9MT0NBTF9BUElDICovCiAKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLWV4dGVybiB2b2lkIGNwdV9leGl0X2NsZWFyKHZvaWQpOwogZXh0ZXJuIHZvaWQgY3B1X3VuaW5pdCh2b2lkKTsKICNlbmRpZgogCi1leHRlcm4gdm9pZCBzbXBfYWxsb2NfbWVtb3J5KHZvaWQpOwotZXh0ZXJuIHZvaWQgbG9ja19pcGlfY2FsbF9sb2NrKHZvaWQpOwotZXh0ZXJuIHZvaWQgdW5sb2NrX2lwaV9jYWxsX2xvY2sodm9pZCk7CiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmggYi9pbmNsdWRlL2FzbS14ODYvc3JhdC5oCmluZGV4IGY0YmJhMTMuLjc3NGM5MTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NyYXQuaApAQCAtMjcsMTEgKzI3LDEzIEBACiAjaWZuZGVmIF9BU01fU1JBVF9IXwogI2RlZmluZSBfQVNNX1NSQVRfSF8KIAotI2lmbmRlZiBDT05GSUdfQUNQSV9TUkFUCi0jZXJyb3IgQ09ORklHX0FDUElfU1JBVCBub3QgZGVmaW5lZCwgYW5kIHNyYXQuaCBoZWFkZXIgaGFzIGJlZW4gaW5jbHVkZWQKLSNlbmRpZgotCisjaWZkZWYgQ09ORklHX0FDUElfTlVNQQogZXh0ZXJuIGludCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nICpnZXRfemhvbGVzX3NpemUoaW50KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQoreworCXJldHVybiAwOworfQorI2VuZGlmCiAKICNlbmRpZiAvKiBfQVNNX1NSQVRfSF8gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaAppbmRleCBiNDkzNjlhLi4xOTM1NzhjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3RyaW5nXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3N0cmluZ18zMi5oCkBAIC0yOSw4MSArMjksMTE2IEBACiAjZGVmaW5lIF9fSEFWRV9BUkNIX1NUUkxFTgogZXh0ZXJuIHNpemVfdCBzdHJsZW4oY29uc3QgY2hhciAqcyk7CiAKLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fbWVtY3B5KHZvaWQgKiB0bywgY29uc3Qgdm9pZCAqIGZyb20sIHNpemVfdCBuKQorc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICpfX21lbWNweSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwgc2l6ZV90IG4pCiB7Ci1pbnQgZDAsIGQxLCBkMjsKLV9fYXNtX18gX192b2xhdGlsZV9fKAotCSJyZXAgOyBtb3ZzbFxuXHQiCi0JIm1vdmwgJTQsJSVlY3hcblx0IgotCSJhbmRsICQzLCUlZWN4XG5cdCIKLQkianogMWZcblx0IgotCSJyZXAgOyBtb3ZzYlxuXHQiCi0JIjE6IgotCTogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKSwgIj0mUyIgKGQyKQotCTogIjAiIChuLzQpLCAiZyIgKG4pLCAiMSIgKChsb25nKSB0byksICIyIiAoKGxvbmcpIGZyb20pCi0JOiAibWVtb3J5Iik7Ci1yZXR1cm4gKHRvKTsKKwlpbnQgZDAsIGQxLCBkMjsKKwlhc20gdm9sYXRpbGUoInJlcCA7IG1vdnNsXG5cdCIKKwkJICAgICAibW92bCAlNCwlJWVjeFxuXHQiCisJCSAgICAgImFuZGwgJDMsJSVlY3hcblx0IgorCQkgICAgICJqeiAxZlxuXHQiCisJCSAgICAgInJlcCA7IG1vdnNiXG5cdCIKKwkJICAgICAiMToiCisJCSAgICAgOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpLCAiPSZTIiAoZDIpCisJCSAgICAgOiAiMCIgKG4gLyA0KSwgImciIChuKSwgIjEiICgobG9uZyl0byksICIyIiAoKGxvbmcpZnJvbSkKKwkJICAgICA6ICJtZW1vcnkiKTsKKwlyZXR1cm4gdG87CiB9CiAKIC8qCiAgKiBUaGlzIGxvb2tzIHVnbHksIGJ1dCB0aGUgY29tcGlsZXIgY2FuIG9wdGltaXplIGl0IHRvdGFsbHksCiAgKiBhcyB0aGUgY291bnQgaXMgY29uc3RhbnQuCiAgKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fY29uc3RhbnRfbWVtY3B5KHZvaWQgKiB0bywgY29uc3Qgdm9pZCAqIGZyb20sIHNpemVfdCBuKQorc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICpfX2NvbnN0YW50X21lbWNweSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwKKwkJCQkJICAgICAgIHNpemVfdCBuKQogewogCWxvbmcgZXNpLCBlZGk7Ci0JaWYgKCFuKSByZXR1cm4gdG87Ci0jaWYgMQkvKiB3YW50IHRvIGRvIHNtYWxsIGNvcGllcyB3aXRoIG5vbi1zdHJpbmcgb3BzPyAqLworCWlmICghbikKKwkJcmV0dXJuIHRvOworCiAJc3dpdGNoIChuKSB7Ci0JCWNhc2UgMTogKihjaGFyKil0byA9ICooY2hhciopZnJvbTsgcmV0dXJuIHRvOwotCQljYXNlIDI6ICooc2hvcnQqKXRvID0gKihzaG9ydCopZnJvbTsgcmV0dXJuIHRvOwotCQljYXNlIDQ6ICooaW50Kil0byA9ICooaW50Kilmcm9tOyByZXR1cm4gdG87Ci0jaWYgMQkvKiBpbmNsdWRpbmcgdGhvc2UgZG9hYmxlIHdpdGggdHdvIG1vdmVzPyAqLwotCQljYXNlIDM6ICooc2hvcnQqKXRvID0gKihzaG9ydCopZnJvbTsKLQkJCSooKGNoYXIqKXRvKzIpID0gKigoY2hhciopZnJvbSsyKTsgcmV0dXJuIHRvOwotCQljYXNlIDU6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoY2hhciopdG8rNCkgPSAqKChjaGFyKilmcm9tKzQpOyByZXR1cm4gdG87Ci0JCWNhc2UgNjogKihpbnQqKXRvID0gKihpbnQqKWZyb207Ci0JCQkqKChzaG9ydCopdG8rMikgPSAqKChzaG9ydCopZnJvbSsyKTsgcmV0dXJuIHRvOwotCQljYXNlIDg6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoaW50Kil0bysxKSA9ICooKGludCopZnJvbSsxKTsgcmV0dXJuIHRvOwotI2VuZGlmCisJY2FzZSAxOgorCQkqKGNoYXIgKil0byA9ICooY2hhciAqKWZyb207CisJCXJldHVybiB0bzsKKwljYXNlIDI6CisJCSooc2hvcnQgKil0byA9ICooc2hvcnQgKilmcm9tOworCQlyZXR1cm4gdG87CisJY2FzZSA0OgorCQkqKGludCAqKXRvID0gKihpbnQgKilmcm9tOworCQlyZXR1cm4gdG87CisKKwljYXNlIDM6CisJCSooc2hvcnQgKil0byA9ICooc2hvcnQgKilmcm9tOworCQkqKChjaGFyICopdG8gKyAyKSA9ICooKGNoYXIgKilmcm9tICsgMik7CisJCXJldHVybiB0bzsKKwljYXNlIDU6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKGNoYXIgKil0byArIDQpID0gKigoY2hhciAqKWZyb20gKyA0KTsKKwkJcmV0dXJuIHRvOworCWNhc2UgNjoKKwkJKihpbnQgKil0byA9ICooaW50ICopZnJvbTsKKwkJKigoc2hvcnQgKil0byArIDIpID0gKigoc2hvcnQgKilmcm9tICsgMik7CisJCXJldHVybiB0bzsKKwljYXNlIDg6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKGludCAqKXRvICsgMSkgPSAqKChpbnQgKilmcm9tICsgMSk7CisJCXJldHVybiB0bzsKIAl9Ci0jZW5kaWYKLQllc2kgPSAobG9uZykgZnJvbTsKLQllZGkgPSAobG9uZykgdG87Ci0JaWYgKG4gPj0gNSo0KSB7CisKKwllc2kgPSAobG9uZylmcm9tOworCWVkaSA9IChsb25nKXRvOworCWlmIChuID49IDUgKiA0KSB7CiAJCS8qIGxhcmdlIGJsb2NrOiB1c2UgcmVwIHByZWZpeCAqLwogCQlpbnQgZWN4OwotCQlfX2FzbV9fIF9fdm9sYXRpbGVfXygKLQkJCSJyZXAgOyBtb3ZzbCIKLQkJCTogIj0mYyIgKGVjeCksICI9JkQiIChlZGkpLCAiPSZTIiAoZXNpKQotCQkJOiAiMCIgKG4vNCksICIxIiAoZWRpKSwiMiIgKGVzaSkKLQkJCTogIm1lbW9yeSIKKwkJYXNtIHZvbGF0aWxlKCJyZXAgOyBtb3ZzbCIKKwkJCSAgICAgOiAiPSZjIiAoZWN4KSwgIj0mRCIgKGVkaSksICI9JlMiIChlc2kpCisJCQkgICAgIDogIjAiIChuIC8gNCksICIxIiAoZWRpKSwgIjIiIChlc2kpCisJCQkgICAgIDogIm1lbW9yeSIKIAkJKTsKIAl9IGVsc2UgewogCQkvKiBzbWFsbCBibG9jazogZG9uJ3QgY2xvYmJlciBlY3ggKyBzbWFsbGVyIGNvZGUgKi8KLQkJaWYgKG4gPj0gNCo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMyo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMio0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMSo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKKwkJaWYgKG4gPj0gNCAqIDQpCisJCQlhc20gdm9sYXRpbGUoIm1vdnNsIgorCQkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJCSAgICAgOiAibWVtb3J5Iik7CisJCWlmIChuID49IDMgKiA0KQorCQkJYXNtIHZvbGF0aWxlKCJtb3ZzbCIKKwkJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCQkgICAgIDogIm1lbW9yeSIpOworCQlpZiAobiA+PSAyICogNCkKKwkJCWFzbSB2b2xhdGlsZSgibW92c2wiCisJCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCQkgICAgIDogIjAiKGVkaSksICIxIihlc2kpCisJCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJaWYgKG4gPj0gMSAqIDQpCisJCQlhc20gdm9sYXRpbGUoIm1vdnNsIgorCQkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJCSAgICAgOiAibWVtb3J5Iik7CiAJfQogCXN3aXRjaCAobiAlIDQpIHsKIAkJLyogdGFpbCAqLwotCQljYXNlIDA6IHJldHVybiB0bzsKLQkJY2FzZSAxOiBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2IiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJCXJldHVybiB0bzsKLQkJY2FzZSAyOiBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c3ciCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJCXJldHVybiB0bzsKLQkJZGVmYXVsdDogX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnN3XG5cdG1vdnNiIgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7Ci0JCQlyZXR1cm4gdG87CisJY2FzZSAwOgorCQlyZXR1cm4gdG87CisJY2FzZSAxOgorCQlhc20gdm9sYXRpbGUoIm1vdnNiIgorCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCSAgICAgOiAibWVtb3J5Iik7CisJCXJldHVybiB0bzsKKwljYXNlIDI6CisJCWFzbSB2b2xhdGlsZSgibW92c3ciCisJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHRvOworCWRlZmF1bHQ6CisJCWFzbSB2b2xhdGlsZSgibW92c3dcblx0bW92c2IiCisJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHRvOwogCX0KIH0KIApAQCAtMTE3LDg3ICsxNTIsODYgQEAKICAqCVRoaXMgQ1BVIGZhdm91cnMgM0ROb3cgc3Ryb25nbHkgKGVnIEFNRCBBdGhsb24pCiAgKi8KIAotc3RhdGljIGlubGluZSB2b2lkICogX19jb25zdGFudF9tZW1jcHkzZCh2b2lkICogdG8sIGNvbnN0IHZvaWQgKiBmcm9tLCBzaXplX3QgbGVuKQorc3RhdGljIGlubGluZSB2b2lkICpfX2NvbnN0YW50X21lbWNweTNkKHZvaWQgKnRvLCBjb25zdCB2b2lkICpmcm9tLCBzaXplX3QgbGVuKQogewogCWlmIChsZW4gPCA1MTIpCiAJCXJldHVybiBfX2NvbnN0YW50X21lbWNweSh0bywgZnJvbSwgbGVuKTsKIAlyZXR1cm4gX21teF9tZW1jcHkodG8sIGZyb20sIGxlbik7CiB9CiAKLXN0YXRpYyBfX2lubGluZV9fIHZvaWQgKl9fbWVtY3B5M2Qodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHNpemVfdCBsZW4pCitzdGF0aWMgaW5saW5lIHZvaWQgKl9fbWVtY3B5M2Qodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHNpemVfdCBsZW4pCiB7CiAJaWYgKGxlbiA8IDUxMikKIAkJcmV0dXJuIF9fbWVtY3B5KHRvLCBmcm9tLCBsZW4pOwogCXJldHVybiBfbW14X21lbWNweSh0bywgZnJvbSwgbGVuKTsKIH0KIAotI2RlZmluZSBtZW1jcHkodCwgZiwgbikgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKG4pID8gXAotIF9fY29uc3RhbnRfbWVtY3B5M2QoKHQpLChmKSwobikpIDogXAotIF9fbWVtY3B5M2QoKHQpLChmKSwobikpKQorI2RlZmluZSBtZW1jcHkodCwgZiwgbikJCQkJXAorCShfX2J1aWx0aW5fY29uc3RhbnRfcCgobikpCQlcCisJID8gX19jb25zdGFudF9tZW1jcHkzZCgodCksIChmKSwgKG4pKQlcCisJIDogX19tZW1jcHkzZCgodCksIChmKSwgKG4pKSkKIAogI2Vsc2UKIAogLyoKICAqCU5vIDNEIE5vdyEKICAqLwotIAotI2RlZmluZSBtZW1jcHkodCwgZiwgbikgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKG4pID8gXAotIF9fY29uc3RhbnRfbWVtY3B5KCh0KSwoZiksKG4pKSA6IFwKLSBfX21lbWNweSgodCksKGYpLChuKSkpCisKKyNkZWZpbmUgbWVtY3B5KHQsIGYsIG4pCQkJCVwKKwkoX19idWlsdGluX2NvbnN0YW50X3AoKG4pKQkJXAorCSA/IF9fY29uc3RhbnRfbWVtY3B5KCh0KSwgKGYpLCAobikpCVwKKwkgOiBfX21lbWNweSgodCksIChmKSwgKG4pKSkKIAogI2VuZGlmCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNTU9WRQotdm9pZCAqbWVtbW92ZSh2b2lkICogZGVzdCxjb25zdCB2b2lkICogc3JjLCBzaXplX3Qgbik7Cit2b2lkICptZW1tb3ZlKHZvaWQgKmRlc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pOwogCiAjZGVmaW5lIG1lbWNtcCBfX2J1aWx0aW5fbWVtY21wCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNQ0hSCi1leHRlcm4gdm9pZCAqbWVtY2hyKGNvbnN0IHZvaWQgKiBjcyxpbnQgYyxzaXplX3QgY291bnQpOworZXh0ZXJuIHZvaWQgKm1lbWNocihjb25zdCB2b2lkICpjcywgaW50IGMsIHNpemVfdCBjb3VudCk7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCAqIF9fbWVtc2V0X2dlbmVyaWModm9pZCAqIHMsIGNoYXIgYyxzaXplX3QgY291bnQpCitzdGF0aWMgaW5saW5lIHZvaWQgKl9fbWVtc2V0X2dlbmVyaWModm9pZCAqcywgY2hhciBjLCBzaXplX3QgY291bnQpCiB7Ci1pbnQgZDAsIGQxOwotX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JInJlcFxuXHQiCi0JInN0b3NiIgotCTogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKQotCToiYSIgKGMpLCIxIiAocyksIjAiIChjb3VudCkKLQk6Im1lbW9yeSIpOwotcmV0dXJuIHM7CisJaW50IGQwLCBkMTsKKwlhc20gdm9sYXRpbGUoInJlcFxuXHQiCisJCSAgICAgInN0b3NiIgorCQkgICAgIDogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKQorCQkgICAgIDogImEiIChjKSwgIjEiIChzKSwgIjAiIChjb3VudCkKKwkJICAgICA6ICJtZW1vcnkiKTsKKwlyZXR1cm4gczsKIH0KIAogLyogd2UgbWlnaHQgd2FudCB0byB3cml0ZSBvcHRpbWl6ZWQgdmVyc2lvbnMgb2YgdGhlc2UgbGF0ZXIgKi8KLSNkZWZpbmUgX19jb25zdGFudF9jb3VudF9tZW1zZXQocyxjLGNvdW50KSBfX21lbXNldF9nZW5lcmljKChzKSwoYyksKGNvdW50KSkKKyNkZWZpbmUgX19jb25zdGFudF9jb3VudF9tZW1zZXQocywgYywgY291bnQpIF9fbWVtc2V0X2dlbmVyaWMoKHMpLCAoYyksIChjb3VudCkpCiAKIC8qCi0gKiBtZW1zZXQoeCwwLHkpIGlzIGEgcmVhc29uYWJseSBjb21tb24gdGhpbmcgdG8gZG8sIHNvIHdlIHdhbnQgdG8gZmlsbAorICogbWVtc2V0KHgsIDAsIHkpIGlzIGEgcmVhc29uYWJseSBjb21tb24gdGhpbmcgdG8gZG8sIHNvIHdlIHdhbnQgdG8gZmlsbAogICogdGhpbmdzIDMyIGJpdHMgYXQgYSB0aW1lIGV2ZW4gd2hlbiB3ZSBkb24ndCBrbm93IHRoZSBzaXplIG9mIHRoZQogICogYXJlYSBhdCBjb21waWxlLXRpbWUuLgogICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgKiBfX2NvbnN0YW50X2NfbWVtc2V0KHZvaWQgKiBzLCB1bnNpZ25lZCBsb25nIGMsIHNpemVfdCBjb3VudCkKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUKK3ZvaWQgKl9fY29uc3RhbnRfY19tZW1zZXQodm9pZCAqcywgdW5zaWduZWQgbG9uZyBjLCBzaXplX3QgY291bnQpCiB7Ci1pbnQgZDAsIGQxOwotX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JInJlcCA7IHN0b3NsXG5cdCIKLQkidGVzdGIgJDIsJWIzXG5cdCIKLQkiamUgMWZcblx0IgotCSJzdG9zd1xuIgotCSIxOlx0dGVzdGIgJDEsJWIzXG5cdCIKLQkiamUgMmZcblx0IgotCSJzdG9zYlxuIgotCSIyOiIKLQk6Ij0mYyIgKGQwKSwgIj0mRCIgKGQxKQotCToiYSIgKGMpLCAicSIgKGNvdW50KSwgIjAiIChjb3VudC80KSwgIjEiICgobG9uZykgcykKLQk6Im1lbW9yeSIpOwotcmV0dXJuIChzKTsJCisJaW50IGQwLCBkMTsKKwlhc20gdm9sYXRpbGUoInJlcCA7IHN0b3NsXG5cdCIKKwkJICAgICAidGVzdGIgJDIsJWIzXG5cdCIKKwkJICAgICAiamUgMWZcblx0IgorCQkgICAgICJzdG9zd1xuIgorCQkgICAgICIxOlx0dGVzdGIgJDEsJWIzXG5cdCIKKwkJICAgICAiamUgMmZcblx0IgorCQkgICAgICJzdG9zYlxuIgorCQkgICAgICIyOiIKKwkJICAgICA6ICI9JmMiIChkMCksICI9JkQiIChkMSkKKwkJICAgICA6ICJhIiAoYyksICJxIiAoY291bnQpLCAiMCIgKGNvdW50LzQpLCAiMSIgKChsb25nKXMpCisJCSAgICAgOiAibWVtb3J5Iik7CisJcmV0dXJuIHM7CiB9CiAKIC8qIEFkZGVkIGJ5IEdlcnRqYW4gdmFuIFdpbmdlcmRlIHRvIG1ha2UgbWluaXggYW5kIHN5c3YgbW9kdWxlIHdvcmsgKi8KICNkZWZpbmUgX19IQVZFX0FSQ0hfU1RSTkxFTgotZXh0ZXJuIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKiBzLCBzaXplX3QgY291bnQpOworZXh0ZXJuIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBjb3VudCk7CiAvKiBlbmQgb2YgYWRkaXRpb25hbCBzdHVmZiAqLwogCiAjZGVmaW5lIF9fSEFWRV9BUkNIX1NUUlNUUgpAQCAtMjA3LDY2ICsyNDEsODUgQEAKICAqIFRoaXMgbG9va3MgaG9ycmlibHkgdWdseSwgYnV0IHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUgaXQgdG90YWxseSwKICAqIGFzIHdlIGJ5IG5vdyBrbm93IHRoYXQgYm90aCBwYXR0ZXJuIGFuZCBjb3VudCBpcyBjb25zdGFudC4uCiAgKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fY29uc3RhbnRfY19hbmRfY291bnRfbWVtc2V0KHZvaWQgKiBzLCB1bnNpZ25lZCBsb25nIHBhdHRlcm4sIHNpemVfdCBjb3VudCkKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUKK3ZvaWQgKl9fY29uc3RhbnRfY19hbmRfY291bnRfbWVtc2V0KHZvaWQgKnMsIHVuc2lnbmVkIGxvbmcgcGF0dGVybiwKKwkJCQkgICAgc2l6ZV90IGNvdW50KQogewogCXN3aXRjaCAoY291bnQpIHsKKwljYXNlIDA6CisJCXJldHVybiBzOworCWNhc2UgMToKKwkJKih1bnNpZ25lZCBjaGFyICopcyA9IHBhdHRlcm4gJiAweGZmOworCQlyZXR1cm4gczsKKwljYXNlIDI6CisJCSoodW5zaWduZWQgc2hvcnQgKilzID0gcGF0dGVybiAmIDB4ZmZmZjsKKwkJcmV0dXJuIHM7CisJY2FzZSAzOgorCQkqKHVuc2lnbmVkIHNob3J0ICopcyA9IHBhdHRlcm4gJiAweGZmZmY7CisJCSooKHVuc2lnbmVkIGNoYXIgKilzICsgMikgPSBwYXR0ZXJuICYgMHhmZjsKKwkJcmV0dXJuIHM7CisJY2FzZSA0OgorCQkqKHVuc2lnbmVkIGxvbmcgKilzID0gcGF0dGVybjsKKwkJcmV0dXJuIHM7CisJfQorCisjZGVmaW5lIENPTU1PTih4KQkJCQkJCQlcCisJYXNtIHZvbGF0aWxlKCJyZXAgOyBzdG9zbCIJCQkJCVwKKwkJICAgICB4CQkJCQkJCVwKKwkJICAgICA6ICI9JmMiIChkMCksICI9JkQiIChkMSkJCQkJXAorCQkgICAgIDogImEiIChlYXgpLCAiMCIgKGNvdW50LzQpLCAiMSIgKChsb25nKXMpCVwKKwkJICAgICA6ICJtZW1vcnkiKQorCisJeworCQlpbnQgZDAsIGQxOworI2lmIF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPT0gMAorCQkvKiBXb3JrYXJvdW5kIGZvciBicm9rZW4gZ2NjIDQuMCAqLworCQlyZWdpc3RlciB1bnNpZ25lZCBsb25nIGVheCBhc20oIiVlYXgiKSA9IHBhdHRlcm47CisjZWxzZQorCQl1bnNpZ25lZCBsb25nIGVheCA9IHBhdHRlcm47CisjZW5kaWYKKworCQlzd2l0Y2ggKGNvdW50ICUgNCkgewogCQljYXNlIDA6CisJCQlDT01NT04oIiIpOwogCQkJcmV0dXJuIHM7CiAJCWNhc2UgMToKLQkJCSoodW5zaWduZWQgY2hhciAqKXMgPSBwYXR0ZXJuICYgMHhmZjsKKwkJCUNPTU1PTigiXG5cdHN0b3NiIik7CiAJCQlyZXR1cm4gczsKIAkJY2FzZSAyOgotCQkJKih1bnNpZ25lZCBzaG9ydCAqKXMgPSBwYXR0ZXJuICYgMHhmZmZmOworCQkJQ09NTU9OKCJcblx0c3Rvc3ciKTsKIAkJCXJldHVybiBzOwotCQljYXNlIDM6Ci0JCQkqKHVuc2lnbmVkIHNob3J0ICopcyA9IHBhdHRlcm4gJiAweGZmZmY7Ci0JCQkqKDIrKHVuc2lnbmVkIGNoYXIgKilzKSA9IHBhdHRlcm4gJiAweGZmOworCQlkZWZhdWx0OgorCQkJQ09NTU9OKCJcblx0c3Rvc3dcblx0c3Rvc2IiKTsKIAkJCXJldHVybiBzOwotCQljYXNlIDQ6Ci0JCQkqKHVuc2lnbmVkIGxvbmcgKilzID0gcGF0dGVybjsKLQkJCXJldHVybiBzOworCQl9CiAJfQotI2RlZmluZSBDT01NT04oeCkgXAotX19hc21fXyAgX192b2xhdGlsZV9fKCBcCi0JInJlcCA7IHN0b3NsIiBcCi0JeCBcCi0JOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpIFwKLQk6ICJhIiAocGF0dGVybiksIjAiIChjb3VudC80KSwiMSIgKChsb25nKSBzKSBcCi0JOiAibWVtb3J5IikKLXsKLQlpbnQgZDAsIGQxOwotCXN3aXRjaCAoY291bnQgJSA0KSB7Ci0JCWNhc2UgMDogQ09NTU9OKCIiKTsgcmV0dXJuIHM7Ci0JCWNhc2UgMTogQ09NTU9OKCJcblx0c3Rvc2IiKTsgcmV0dXJuIHM7Ci0JCWNhc2UgMjogQ09NTU9OKCJcblx0c3Rvc3ciKTsgcmV0dXJuIHM7Ci0JCWRlZmF1bHQ6IENPTU1PTigiXG5cdHN0b3N3XG5cdHN0b3NiIik7IHJldHVybiBzOwotCX0KLX0KLSAgCisKICN1bmRlZiBDT01NT04KIH0KIAotI2RlZmluZSBfX2NvbnN0YW50X2NfeF9tZW1zZXQocywgYywgY291bnQpIFwKLShfX2J1aWx0aW5fY29uc3RhbnRfcChjb3VudCkgPyBcCi0gX19jb25zdGFudF9jX2FuZF9jb3VudF9tZW1zZXQoKHMpLChjKSwoY291bnQpKSA6IFwKLSBfX2NvbnN0YW50X2NfbWVtc2V0KChzKSwoYyksKGNvdW50KSkpCisjZGVmaW5lIF9fY29uc3RhbnRfY194X21lbXNldChzLCBjLCBjb3VudCkJCQlcCisJKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KQkJCQlcCisJID8gX19jb25zdGFudF9jX2FuZF9jb3VudF9tZW1zZXQoKHMpLCAoYyksIChjb3VudCkpCVwKKwkgOiBfX2NvbnN0YW50X2NfbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKSkKIAotI2RlZmluZSBfX21lbXNldChzLCBjLCBjb3VudCkgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KSA/IFwKLSBfX2NvbnN0YW50X2NvdW50X21lbXNldCgocyksKGMpLChjb3VudCkpIDogXAotIF9fbWVtc2V0X2dlbmVyaWMoKHMpLChjKSwoY291bnQpKSkKKyNkZWZpbmUgX19tZW1zZXQocywgYywgY291bnQpCQkJCVwKKwkoX19idWlsdGluX2NvbnN0YW50X3AoY291bnQpCQkJXAorCSA/IF9fY29uc3RhbnRfY291bnRfbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKQlcCisJIDogX19tZW1zZXRfZ2VuZXJpYygocyksIChjKSwgKGNvdW50KSkpCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNU0VUCi0jZGVmaW5lIG1lbXNldChzLCBjLCBjb3VudCkgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKGMpID8gXAotIF9fY29uc3RhbnRfY194X21lbXNldCgocyksKDB4MDEwMTAxMDFVTCoodW5zaWduZWQgY2hhcikoYykpLChjb3VudCkpIDogXAotIF9fbWVtc2V0KChzKSwoYyksKGNvdW50KSkpCisjZGVmaW5lIG1lbXNldChzLCBjLCBjb3VudCkJCQkJCQlcCisJKF9fYnVpbHRpbl9jb25zdGFudF9wKGMpCQkJCQlcCisJID8gX19jb25zdGFudF9jX3hfbWVtc2V0KChzKSwgKDB4MDEwMTAxMDFVTCAqICh1bnNpZ25lZCBjaGFyKShjKSksIFwKKwkJCQkgKGNvdW50KSkJCQkJXAorCSA6IF9fbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKSkKIAogLyoKICAqIGZpbmQgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYnl0ZSAnYycsIG9yIDEgcGFzdCB0aGUgYXJlYSBpZiBub25lCiAgKi8KICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNU0NBTgotZXh0ZXJuIHZvaWQgKm1lbXNjYW4odm9pZCAqIGFkZHIsIGludCBjLCBzaXplX3Qgc2l6ZSk7CitleHRlcm4gdm9pZCAqbWVtc2Nhbih2b2lkICphZGRyLCBpbnQgYywgc2l6ZV90IHNpemUpOwogCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc3VzcGVuZF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3N1c3BlbmRfMzIuaAppbmRleCAyNGUxYzA4Li44Njc1YzY3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3VzcGVuZF8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zdXNwZW5kXzMyLmgKQEAgLTMsNiArMyw5IEBACiAgKiBCYXNlZCBvbiBjb2RlCiAgKiBDb3B5cmlnaHQgMjAwMSBQYXRyaWNrIE1vY2hlbCA8bW9jaGVsQG9zZGwub3JnPgogICovCisjaWZuZGVmIF9fQVNNX1g4Nl8zMl9TVVNQRU5EX0gKKyNkZWZpbmUgX19BU01fWDg2XzMyX1NVU1BFTkRfSAorCiAjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KICNpbmNsdWRlIDxhc20vaTM4Ny5oPgogCkBAIC00NCwzICs0Nyw1IEBACiAvKiByb3V0aW5lcyBmb3Igc2F2aW5nL3Jlc3RvcmluZyBrZXJuZWwgc3RhdGUgKi8KIGV4dGVybiBpbnQgYWNwaV9zYXZlX3N0YXRlX21lbSh2b2lkKTsKICNlbmRpZgorCisjZW5kaWYgLyogX19BU01fWDg2XzMyX1NVU1BFTkRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oIGIvaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oCmluZGV4IGEyZjA0Y2QuLjk4M2NlMzcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zeXN0ZW0uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvc3lzdGVtLmgKQEAgLTEzNiw3ICsxMzYsNyBAQAogI2RlZmluZSBzZXRfYmFzZShsZHQsIGJhc2UpIF9zZXRfYmFzZSgoKGNoYXIgKikmKGxkdCkpICwgKGJhc2UpKQogI2RlZmluZSBzZXRfbGltaXQobGR0LCBsaW1pdCkgX3NldF9saW1pdCgoKGNoYXIgKikmKGxkdCkpICwgKChsaW1pdCktMSkpCiAKLWV4dGVybiB2b2lkIGxvYWRfZ3NfaW5kZXgodW5zaWduZWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX2xvYWRfZ3NfaW5kZXgodW5zaWduZWQpOwogCiAvKgogICogTG9hZCBhIHNlZ21lbnQuIEZhbGwgYmFjayBvbiBsb2FkaW5nIHRoZSB6ZXJvCkBAIC0xNTMsMTQgKzE1MywxNCBAQAogCQkgICAgICJqbXAgMmJcbiIJCQlcCiAJCSAgICAgIi5wcmV2aW91c1xuIgkJXAogCQkgICAgIF9BU01fRVhUQUJMRSgxYiwzYikJXAotCQkgICAgIDogOiJyIiAodmFsdWUpLCAiciIgKDApKQorCQkgICAgIDogOiJyIiAodmFsdWUpLCAiciIgKDApIDogIm1lbW9yeSIpCiAKIAogLyoKICAqIFNhdmUgYSBzZWdtZW50IHJlZ2lzdGVyIGF3YXkKICAqLwogI2RlZmluZSBzYXZlc2VnbWVudChzZWcsIHZhbHVlKQkJCQlcCi0JYXNtIHZvbGF0aWxlKCJtb3YgJSUiICNzZWcgIiwlMCI6Ij1ybSIgKHZhbHVlKSkKKwlhc20oIm1vdiAlJSIgI3NlZyAiLCUwIjoiPXIiICh2YWx1ZSkgOiA6ICJtZW1vcnkiKQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZ2V0X2xpbWl0KHVuc2lnbmVkIGxvbmcgc2VnbWVudCkKIHsKQEAgLTI4Miw2ICsyODIsNyBAQAogI2lmZGVmIENPTkZJR19YODZfNjQKICNkZWZpbmUgcmVhZF9jcjgoKQkobmF0aXZlX3JlYWRfY3I4KCkpCiAjZGVmaW5lIHdyaXRlX2NyOCh4KQkobmF0aXZlX3dyaXRlX2NyOCh4KSkKKyNkZWZpbmUgbG9hZF9nc19pbmRleCAgIG5hdGl2ZV9sb2FkX2dzX2luZGV4CiAjZW5kaWYKIAogLyogQ2xlYXIgdGhlICdUUycgYml0ICovCkBAIC0yODksNyArMjkwLDcgQEAKIAogI2VuZGlmLyogQ09ORklHX1BBUkFWSVJUICovCiAKLSNkZWZpbmUgc3R0cygpIHdyaXRlX2NyMCg4IHwgcmVhZF9jcjAoKSkKKyNkZWZpbmUgc3R0cygpIHdyaXRlX2NyMChyZWFkX2NyMCgpIHwgWDg2X0NSMF9UUykKIAogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIApAQCAtMzAzLDcgKzMwNCw2IEBACiB2b2lkIGRpc2FibGVfaGx0KHZvaWQpOwogdm9pZCBlbmFibGVfaGx0KHZvaWQpOwogCi1leHRlcm4gaW50IGVzNzAwMF9wbGF0Owogdm9pZCBjcHVfaWRsZV93YWl0KHZvaWQpOwogCiBleHRlcm4gdW5zaWduZWQgbG9uZyBhcmNoX2FsaWduX3N0YWNrKHVuc2lnbmVkIGxvbmcgc3ApOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvLmggYi9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaAppbmRleCA3NzI0NGYxLi44OTUzMzlkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaApAQCAtMSw5ICsxLDI1MyBAQAorLyogdGhyZWFkX2luZm8uaDogbG93LWxldmVsIHRocmVhZCBpbmZvcm1hdGlvbgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMiAgRGF2aWQgSG93ZWxscyAoZGhvd2VsbHNAcmVkaGF0LmNvbSkKKyAqIC0gSW5jb3Jwb3JhdGluZyBzdWdnZXN0aW9ucyBtYWRlIGJ5IExpbnVzIFRvcnZhbGRzIGFuZCBEYXZlIE1pbGxlcgorICovCisKICNpZm5kZWYgX0FTTV9YODZfVEhSRUFEX0lORk9fSAorI2RlZmluZSBfQVNNX1g4Nl9USFJFQURfSU5GT19ICisKKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisKKy8qCisgKiBsb3cgbGV2ZWwgdGFzayBkYXRhIHRoYXQgZW50cnkuUyBuZWVkcyBpbW1lZGlhdGUgYWNjZXNzIHRvCisgKiAtIHRoaXMgc3RydWN0IHNob3VsZCBmaXQgZW50aXJlbHkgaW5zaWRlIG9mIG9uZSBjYWNoZSBsaW5lCisgKiAtIHRoaXMgc3RydWN0IHNoYXJlcyB0aGUgc3VwZXJ2aXNvciBzdGFjayBwYWdlcworICovCisjaWZuZGVmIF9fQVNTRU1CTFlfXworc3RydWN0IHRhc2tfc3RydWN0Oworc3RydWN0IGV4ZWNfZG9tYWluOworI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKworc3RydWN0IHRocmVhZF9pbmZvIHsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRhc2s7CQkvKiBtYWluIHRhc2sgc3RydWN0dXJlICovCisJc3RydWN0IGV4ZWNfZG9tYWluCSpleGVjX2RvbWFpbjsJLyogZXhlY3V0aW9uIGRvbWFpbiAqLworCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwkJLyogbG93IGxldmVsIGZsYWdzICovCisJX191MzIJCQlzdGF0dXM7CQkvKiB0aHJlYWQgc3luY2hyb25vdXMgZmxhZ3MgKi8KKwlfX3UzMgkJCWNwdTsJCS8qIGN1cnJlbnQgQ1BVICovCisJaW50CQkJcHJlZW1wdF9jb3VudDsJLyogMCA9PiBwcmVlbXB0YWJsZSwKKwkJCQkJCSAgIDwwID0+IEJVRyAqLworCW1tX3NlZ21lbnRfdAkJYWRkcl9saW1pdDsKKwlzdHJ1Y3QgcmVzdGFydF9ibG9jayAgICByZXN0YXJ0X2Jsb2NrOworCXZvaWQgX191c2VyCQkqc3lzZW50ZXJfcmV0dXJuOwogI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAidGhyZWFkX2luZm9fMzIuaCIKLSNlbHNlCi0jIGluY2x1ZGUgInRocmVhZF9pbmZvXzY0LmgiCisJdW5zaWduZWQgbG9uZyAgICAgICAgICAgcHJldmlvdXNfZXNwOyAgIC8qIEVTUCBvZiB0aGUgcHJldmlvdXMgc3RhY2sgaW4KKwkJCQkJCSAgIGNhc2Ugb2YgbmVzdGVkIChJUlEpIHN0YWNrcworCQkJCQkJKi8KKwlfX3U4CQkJc3VwZXJ2aXNvcl9zdGFja1swXTsKICNlbmRpZgorfTsKKworI2RlZmluZSBJTklUX1RIUkVBRF9JTkZPKHRzaykJCQlcCit7CQkJCQkJXAorCS50YXNrCQk9ICZ0c2ssCQkJXAorCS5leGVjX2RvbWFpbgk9ICZkZWZhdWx0X2V4ZWNfZG9tYWluLAlcCisJLmZsYWdzCQk9IDAsCQkJXAorCS5jcHUJCT0gMCwJCQlcCisJLnByZWVtcHRfY291bnQJPSAxLAkJCVwKKwkuYWRkcl9saW1pdAk9IEtFUk5FTF9EUywJCVwKKwkucmVzdGFydF9ibG9jayA9IHsJCQlcCisJCS5mbiA9IGRvX25vX3Jlc3RhcnRfc3lzY2FsbCwJXAorCX0sCQkJCQlcCit9CisKKyNkZWZpbmUgaW5pdF90aHJlYWRfaW5mbwkoaW5pdF90aHJlYWRfdW5pb24udGhyZWFkX2luZm8pCisjZGVmaW5lIGluaXRfc3RhY2sJCShpbml0X3RocmVhZF91bmlvbi5zdGFjaykKKworI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLworCisjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CisKKyNlbmRpZgorCisvKgorICogdGhyZWFkIGluZm9ybWF0aW9uIGZsYWdzCisgKiAtIHRoZXNlIGFyZSBwcm9jZXNzIHN0YXRlIGZsYWdzIHRoYXQgdmFyaW91cyBhc3NlbWJseSBmaWxlcworICogICBtYXkgbmVlZCB0byBhY2Nlc3MKKyAqIC0gcGVuZGluZyB3b3JrLXRvLWJlLWRvbmUgZmxhZ3MgYXJlIGluIExTVworICogLSBvdGhlciBmbGFncyBpbiBNU1cKKyAqIFdhcm5pbmc6IGxheW91dCBvZiBMU1cgaXMgaGFyZGNvZGVkIGluIGVudHJ5LlMKKyAqLworI2RlZmluZSBUSUZfU1lTQ0FMTF9UUkFDRQkwCS8qIHN5c2NhbGwgdHJhY2UgYWN0aXZlICovCisjZGVmaW5lIFRJRl9TSUdQRU5ESU5HCQkyCS8qIHNpZ25hbCBwZW5kaW5nICovCisjZGVmaW5lIFRJRl9ORUVEX1JFU0NIRUQJMwkvKiByZXNjaGVkdWxpbmcgbmVjZXNzYXJ5ICovCisjZGVmaW5lIFRJRl9TSU5HTEVTVEVQCQk0CS8qIHJlZW5hYmxlIHNpbmdsZXN0ZXAgb24gdXNlciByZXR1cm4qLworI2RlZmluZSBUSUZfSVJFVAkJNQkvKiBmb3JjZSBJUkVUICovCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBUSUZfU1lTQ0FMTF9FTVUJCTYJLyogc3lzY2FsbCBlbXVsYXRpb24gYWN0aXZlICovCisjZW5kaWYKKyNkZWZpbmUgVElGX1NZU0NBTExfQVVESVQJNwkvKiBzeXNjYWxsIGF1ZGl0aW5nIGFjdGl2ZSAqLworI2RlZmluZSBUSUZfU0VDQ09NUAkJOAkvKiBzZWN1cmUgY29tcHV0aW5nICovCisjZGVmaW5lIFRJRl9NQ0VfTk9USUZZCQkxMAkvKiBub3RpZnkgdXNlcnNwYWNlIG9mIGFuIE1DRSAqLworI2RlZmluZSBUSUZfSFJUSUNLX1JFU0NIRUQJMTEJLyogcmVwcm9ncmFtIGhydGljayB0aW1lciAqLworI2RlZmluZSBUSUZfTk9UU0MJCTE2CS8qIFRTQyBpcyBub3QgYWNjZXNzaWJsZSBpbiB1c2VybGFuZCAqLworI2RlZmluZSBUSUZfSUEzMgkJMTcJLyogMzJiaXQgcHJvY2VzcyAqLworI2RlZmluZSBUSUZfRk9SSwkJMTgJLyogcmV0X2Zyb21fZm9yayAqLworI2RlZmluZSBUSUZfQUJJX1BFTkRJTkcJCTE5CisjZGVmaW5lIFRJRl9NRU1ESUUJCTIwCisjZGVmaW5lIFRJRl9ERUJVRwkJMjEJLyogdXNlcyBkZWJ1ZyByZWdpc3RlcnMgKi8KKyNkZWZpbmUgVElGX0lPX0JJVE1BUAkJMjIJLyogdXNlcyBJL08gYml0bWFwICovCisjZGVmaW5lIFRJRl9GUkVFWkUJCTIzCS8qIGlzIGZyZWV6aW5nIGZvciBzdXNwZW5kICovCisjZGVmaW5lIFRJRl9GT1JDRURfVEYJCTI0CS8qIHRydWUgaWYgVEYgaW4gZWZsYWdzIGFydGlmaWNpYWxseSAqLworI2RlZmluZSBUSUZfREVCVUdDVExNU1IJCTI1CS8qIHVzZXMgdGhyZWFkX3N0cnVjdC5kZWJ1Z2N0bG1zciAqLworI2RlZmluZSBUSUZfRFNfQVJFQV9NU1IJCTI2ICAgICAgLyogdXNlcyB0aHJlYWRfc3RydWN0LmRzX2FyZWFfbXNyICovCisjZGVmaW5lIFRJRl9CVFNfVFJBQ0VfVFMJMjcgICAgICAvKiByZWNvcmQgc2NoZWR1bGluZyBldmVudCB0aW1lc3RhbXBzICovCisKKyNkZWZpbmUgX1RJRl9TWVNDQUxMX1RSQUNFCSgxIDw8IFRJRl9TWVNDQUxMX1RSQUNFKQorI2RlZmluZSBfVElGX1NJR1BFTkRJTkcJCSgxIDw8IFRJRl9TSUdQRU5ESU5HKQorI2RlZmluZSBfVElGX1NJTkdMRVNURVAJCSgxIDw8IFRJRl9TSU5HTEVTVEVQKQorI2RlZmluZSBfVElGX05FRURfUkVTQ0hFRAkoMSA8PCBUSUZfTkVFRF9SRVNDSEVEKQorI2RlZmluZSBfVElGX0lSRVQJCSgxIDw8IFRJRl9JUkVUKQorI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX1RJRl9TWVNDQUxMX0VNVQkoMSA8PCBUSUZfU1lTQ0FMTF9FTVUpCisjZWxzZQorI2RlZmluZSBfVElGX1NZU0NBTExfRU1VCTAKKyNlbmRpZgorI2RlZmluZSBfVElGX1NZU0NBTExfQVVESVQJKDEgPDwgVElGX1NZU0NBTExfQVVESVQpCisjZGVmaW5lIF9USUZfU0VDQ09NUAkJKDEgPDwgVElGX1NFQ0NPTVApCisjZGVmaW5lIF9USUZfTUNFX05PVElGWQkJKDEgPDwgVElGX01DRV9OT1RJRlkpCisjZGVmaW5lIF9USUZfSFJUSUNLX1JFU0NIRUQJKDEgPDwgVElGX0hSVElDS19SRVNDSEVEKQorI2RlZmluZSBfVElGX05PVFNDCQkoMSA8PCBUSUZfTk9UU0MpCisjZGVmaW5lIF9USUZfSUEzMgkJKDEgPDwgVElGX0lBMzIpCisjZGVmaW5lIF9USUZfRk9SSwkJKDEgPDwgVElGX0ZPUkspCisjZGVmaW5lIF9USUZfQUJJX1BFTkRJTkcJKDEgPDwgVElGX0FCSV9QRU5ESU5HKQorI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCisjZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQorI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKKyNkZWZpbmUgX1RJRl9GT1JDRURfVEYJCSgxIDw8IFRJRl9GT1JDRURfVEYpCisjZGVmaW5lIF9USUZfREVCVUdDVExNU1IJKDEgPDwgVElGX0RFQlVHQ1RMTVNSKQorI2RlZmluZSBfVElGX0RTX0FSRUFfTVNSCSgxIDw8IFRJRl9EU19BUkVBX01TUikKKyNkZWZpbmUgX1RJRl9CVFNfVFJBQ0VfVFMJKDEgPDwgVElGX0JUU19UUkFDRV9UUykKKworLyogd29yayB0byBkbyBvbiBpbnRlcnJ1cHQvZXhjZXB0aW9uIHJldHVybiAqLworI2RlZmluZSBfVElGX1dPUktfTUFTSwkJCQkJCQlcCisJKDB4MDAwMEZGRkYgJgkJCQkJCQlcCisJIH4oX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NJTkdMRVNURVB8CVwKKwkgX1RJRl9TRUNDT01QfF9USUZfU1lTQ0FMTF9FTVUpKQorCisvKiB3b3JrIHRvIGRvIG9uIGFueSByZXR1cm4gdG8gdXNlciBzcGFjZSAqLworI2RlZmluZSBfVElGX0FMTFdPUktfTUFTSyAoMHgwMDAwRkZGRiAmIH5fVElGX1NFQ0NPTVApCisKKy8qIE9ubHkgdXNlZCBmb3IgNjQgYml0ICovCisjZGVmaW5lIF9USUZfRE9fTk9USUZZX01BU0sJCQkJCQlcCisJKF9USUZfU0lHUEVORElOR3xfVElGX1NJTkdMRVNURVB8X1RJRl9NQ0VfTk9USUZZfF9USUZfSFJUSUNLX1JFU0NIRUQpCisKKy8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KKyNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJCVwKKwkoX1RJRl9JT19CSVRNQVB8X1RJRl9ERUJVR0NUTE1TUnxfVElGX0RTX0FSRUFfTVNSfF9USUZfQlRTX1RSQUNFX1RTfCBcCisJCQkJCQkJCV9USUZfTk9UU0MpCisKKyNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXX1BSRVYgX1RJRl9XT1JLX0NUWFNXCisjZGVmaW5lIF9USUZfV09SS19DVFhTV19ORVhUIChfVElGX1dPUktfQ1RYU1d8X1RJRl9ERUJVRykKKworI2RlZmluZSBQUkVFTVBUX0FDVElWRQkJMHgxMDAwMDAwMAorCisvKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLworI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQorI2RlZmluZSBUSFJFQURfRkxBR1MgKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKQorI2Vsc2UKKyNkZWZpbmUgVEhSRUFEX0ZMQUdTIEdGUF9LRVJORUwKKyNlbmRpZgorCisjZGVmaW5lIGFsbG9jX3RocmVhZF9pbmZvKHRzaykJCQkJCQlcCisJKChzdHJ1Y3QgdGhyZWFkX2luZm8gKilfX2dldF9mcmVlX3BhZ2VzKFRIUkVBRF9GTEFHUywgVEhSRUFEX09SREVSKSkKKworI2lmZGVmIENPTkZJR19YODZfMzIKKworI2RlZmluZSBTVEFDS19XQVJOCShUSFJFQURfU0laRS84KQorLyoKKyAqIG1hY3Jvcy9mdW5jdGlvbnMgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0dXJlCisgKgorICogcHJlZW1wdF9jb3VudCBuZWVkcyB0byBiZSAxIGluaXRpYWxseSwgdW50aWwgdGhlIHNjaGVkdWxlciBpcyBmdW5jdGlvbmFsLgorICovCisjaWZuZGVmIF9fQVNTRU1CTFlfXworCisKKy8qIGhvdyB0byBnZXQgdGhlIGN1cnJlbnQgc3RhY2sgcG9pbnRlciBmcm9tIEMgKi8KK3JlZ2lzdGVyIHVuc2lnbmVkIGxvbmcgY3VycmVudF9zdGFja19wb2ludGVyIGFzbSgiZXNwIikgX191c2VkOworCisvKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQyAqLworc3RhdGljIGlubGluZSBzdHJ1Y3QgdGhyZWFkX2luZm8gKmN1cnJlbnRfdGhyZWFkX2luZm8odm9pZCkKK3sKKwlyZXR1cm4gKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQorCQkoY3VycmVudF9zdGFja19wb2ludGVyICYgfihUSFJFQURfU0laRSAtIDEpKTsKK30KKworI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLworCisvKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQVNNICovCisjZGVmaW5lIEdFVF9USFJFQURfSU5GTyhyZWcpCSBcCisJbW92bCAkLVRIUkVBRF9TSVpFLCByZWc7IFwKKwlhbmRsICVlc3AsIHJlZworCisvKiB1c2UgdGhpcyBvbmUgaWYgcmVnIGFscmVhZHkgY29udGFpbnMgJWVzcCAqLworI2RlZmluZSBHRVRfVEhSRUFEX0lORk9fV0lUSF9FU1AocmVnKSBcCisJYW5kbCAkLVRIUkVBRF9TSVpFLCByZWcKKworI2VuZGlmCisKKyNlbHNlIC8qIFg4Nl8zMiAqLworCisjaW5jbHVkZSA8YXNtL3BkYS5oPgorCisvKgorICogbWFjcm9zL2Z1bmN0aW9ucyBmb3IgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUKKyAqIHByZWVtcHRfY291bnQgbmVlZHMgdG8gYmUgMSBpbml0aWFsbHksIHVudGlsIHRoZSBzY2hlZHVsZXIgaXMgZnVuY3Rpb25hbC4KKyAqLworI2lmbmRlZiBfX0FTU0VNQkxZX18KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRocmVhZF9pbmZvICpjdXJyZW50X3RocmVhZF9pbmZvKHZvaWQpCit7CisJc3RydWN0IHRocmVhZF9pbmZvICp0aTsKKwl0aSA9ICh2b2lkICopKHJlYWRfcGRhKGtlcm5lbHN0YWNrKSArIFBEQV9TVEFDS09GRlNFVCAtIFRIUkVBRF9TSVpFKTsKKwlyZXR1cm4gdGk7Cit9CisKKy8qIGRvIG5vdCB1c2UgaW4gaW50ZXJydXB0IGNvbnRleHQgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRocmVhZF9pbmZvICpzdGFja190aHJlYWRfaW5mbyh2b2lkKQoreworCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGk7CisJYXNtKCJhbmRxICUlcnNwLCUwOyAiIDogIj1yIiAodGkpIDogIjAiICh+KFRIUkVBRF9TSVpFIC0gMSkpKTsKKwlyZXR1cm4gdGk7Cit9CisKKyNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KKworLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEFTTSAqLworI2RlZmluZSBHRVRfVEhSRUFEX0lORk8ocmVnKSBcCisJbW92cSAlZ3M6cGRhX2tlcm5lbHN0YWNrLHJlZyA7IFwKKwlzdWJxICQoVEhSRUFEX1NJWkUtUERBX1NUQUNLT0ZGU0VUKSxyZWcKKworI2VuZGlmCisKKyNlbmRpZiAvKiAhWDg2XzMyICovCisKKy8qCisgKiBUaHJlYWQtc3luY2hyb25vdXMgc3RhdHVzLgorICoKKyAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIGZsYWdzIGluIHRoYXQgbm9ib2R5IGVsc2UKKyAqIGV2ZXIgdG91Y2hlcyBvdXIgdGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cywgc28gd2UgZG9uJ3QKKyAqIGhhdmUgdG8gd29ycnkgYWJvdXQgYXRvbWljIGFjY2Vzc2VzLgorICovCisjZGVmaW5lIFRTX1VTRURGUFUJCTB4MDAwMQkvKiBGUFUgd2FzIHVzZWQgYnkgdGhpcyB0YXNrCisJCQkJCSAgIHRoaXMgcXVhbnR1bSAoU01QKSAqLworI2RlZmluZSBUU19DT01QQVQJCTB4MDAwMgkvKiAzMmJpdCBzeXNjYWxsIGFjdGl2ZSAoNjRCSVQpKi8KKyNkZWZpbmUgVFNfUE9MTElORwkJMHgwMDA0CS8qIHRydWUgaWYgaW4gaWRsZSBsb29wCisJCQkJCSAgIGFuZCBub3Qgc2xlZXBpbmcgKi8KKyNkZWZpbmUgVFNfUkVTVE9SRV9TSUdNQVNLCTB4MDAwOAkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCgpICovCisKKyNkZWZpbmUgdHNrX2lzX3BvbGxpbmcodCkgKHRhc2tfdGhyZWFkX2luZm8odCktPnN0YXR1cyAmIFRTX1BPTExJTkcpCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisjZGVmaW5lIEhBVkVfU0VUX1JFU1RPUkVfU0lHTUFTSwkxCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Jlc3RvcmVfc2lnbWFzayh2b2lkKQoreworCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGkgPSBjdXJyZW50X3RocmVhZF9pbmZvKCk7CisJdGktPnN0YXR1cyB8PSBUU19SRVNUT1JFX1NJR01BU0s7CisJc2V0X2JpdChUSUZfU0lHUEVORElORywgKHVuc2lnbmVkIGxvbmcgKikmdGktPmZsYWdzKTsKK30KKyNlbmRpZgkvKiAhX19BU1NFTUJMWV9fICovCiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiBleHRlcm4gdm9pZCBhcmNoX3Rhc2tfY2FjaGVfaW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb18zMi5oIGIvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvXzMyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MzM4ODIuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMDUgKzAsMCBAQAotLyogdGhyZWFkX2luZm8uaDogaTM4NiBsb3ctbGV2ZWwgdGhyZWFkIGluZm9ybWF0aW9uCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyICBEYXZpZCBIb3dlbGxzIChkaG93ZWxsc0ByZWRoYXQuY29tKQotICogLSBJbmNvcnBvcmF0aW5nIHN1Z2dlc3Rpb25zIG1hZGUgYnkgTGludXMgVG9ydmFsZHMgYW5kIERhdmUgTWlsbGVyCi0gKi8KLQotI2lmbmRlZiBfQVNNX1RIUkVBRF9JTkZPX0gKLSNkZWZpbmUgX0FTTV9USFJFQURfSU5GT19ICi0KLSNpZmRlZiBfX0tFUk5FTF9fCi0KLSNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgotI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2VuZGlmCi0KLS8qCi0gKiBsb3cgbGV2ZWwgdGFzayBkYXRhIHRoYXQgZW50cnkuUyBuZWVkcyBpbW1lZGlhdGUgYWNjZXNzIHRvCi0gKiAtIHRoaXMgc3RydWN0IHNob3VsZCBmaXQgZW50aXJlbHkgaW5zaWRlIG9mIG9uZSBjYWNoZSBsaW5lCi0gKiAtIHRoaXMgc3RydWN0IHNoYXJlcyB0aGUgc3VwZXJ2aXNvciBzdGFjayBwYWdlcwotICogLSBpZiB0aGUgY29udGVudHMgb2YgdGhpcyBzdHJ1Y3R1cmUgYXJlIGNoYW5nZWQsCi0gKiAgIHRoZSBhc3NlbWJseSBjb25zdGFudHMgbXVzdCBhbHNvIGJlIGNoYW5nZWQKLSAqLwotI2lmbmRlZiBfX0FTU0VNQkxZX18KLQotc3RydWN0IHRocmVhZF9pbmZvIHsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRhc2s7CQkvKiBtYWluIHRhc2sgc3RydWN0dXJlICovCi0Jc3RydWN0IGV4ZWNfZG9tYWluCSpleGVjX2RvbWFpbjsJLyogZXhlY3V0aW9uIGRvbWFpbiAqLwotCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwkJLyogbG93IGxldmVsIGZsYWdzICovCi0JdW5zaWduZWQgbG9uZwkJc3RhdHVzOwkJLyogdGhyZWFkLXN5bmNocm9ub3VzIGZsYWdzICovCi0JX191MzIJCQljcHU7CQkvKiBjdXJyZW50IENQVSAqLwotCWludAkJCXByZWVtcHRfY291bnQ7CS8qIDAgPT4gcHJlZW1wdGFibGUsCi0JCQkJCQkgICA8MCA9PiBCVUcgKi8KLQltbV9zZWdtZW50X3QJCWFkZHJfbGltaXQ7CS8qIHRocmVhZCBhZGRyZXNzIHNwYWNlOgotCQkJCQkJICAgMC0weEJGRkZGRkZGIHVzZXItdGhyZWFkCi0JCQkJCQkgICAwLTB4RkZGRkZGRkYga2VybmVsLXRocmVhZAotCQkJCQkJKi8KLQl2b2lkCQkJKnN5c2VudGVyX3JldHVybjsKLQlzdHJ1Y3QgcmVzdGFydF9ibG9jayAgICByZXN0YXJ0X2Jsb2NrOwotCXVuc2lnbmVkIGxvbmcgICAgICAgICAgIHByZXZpb3VzX2VzcDsgICAvKiBFU1Agb2YgdGhlIHByZXZpb3VzIHN0YWNrIGluCi0JCQkJCQkgICBjYXNlIG9mIG5lc3RlZCAoSVJRKSBzdGFja3MKLQkJCQkJCSovCi0JX191OAkJCXN1cGVydmlzb3Jfc3RhY2tbMF07Ci19OwotCi0jZWxzZSAvKiAhX19BU1NFTUJMWV9fICovCi0KLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLQotI2VuZGlmCi0KLSNkZWZpbmUgUFJFRU1QVF9BQ1RJVkUJCTB4MTAwMDAwMDAKLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKLSNkZWZpbmUgVEhSRUFEX1NJWkUgICAgICAgICAgICAoNDA5NikKLSNlbHNlCi0jZGVmaW5lIFRIUkVBRF9TSVpFCQkoODE5MikKLSNlbmRpZgotCi0jZGVmaW5lIFNUQUNLX1dBUk4gICAgICAgICAgICAgKFRIUkVBRF9TSVpFLzgpCi0vKgotICogbWFjcm9zL2Z1bmN0aW9ucyBmb3IgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUKLSAqCi0gKiBwcmVlbXB0X2NvdW50IG5lZWRzIHRvIGJlIDEgaW5pdGlhbGx5LCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIGZ1bmN0aW9uYWwuCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLSNkZWZpbmUgSU5JVF9USFJFQURfSU5GTyh0c2spCQkJXAotewkJCQkJCVwKLQkudGFzawkJPSAmdHNrLAkJCVwKLQkuZXhlY19kb21haW4JPSAmZGVmYXVsdF9leGVjX2RvbWFpbiwJXAotCS5mbGFncwkJPSAwLAkJCVwKLQkuY3B1CQk9IDAsCQkJXAotCS5wcmVlbXB0X2NvdW50CT0gMSwJCQlcCi0JLmFkZHJfbGltaXQJPSBLRVJORUxfRFMsCQlcCi0JLnJlc3RhcnRfYmxvY2sgPSB7CQkJXAotCQkuZm4gPSBkb19ub19yZXN0YXJ0X3N5c2NhbGwsCVwKLQl9LAkJCQkJXAotfQotCi0jZGVmaW5lIGluaXRfdGhyZWFkX2luZm8JKGluaXRfdGhyZWFkX3VuaW9uLnRocmVhZF9pbmZvKQotI2RlZmluZSBpbml0X3N0YWNrCQkoaW5pdF90aHJlYWRfdW5pb24uc3RhY2spCi0KLQotLyogaG93IHRvIGdldCB0aGUgY3VycmVudCBzdGFjayBwb2ludGVyIGZyb20gQyAqLwotcmVnaXN0ZXIgdW5zaWduZWQgbG9uZyBjdXJyZW50X3N0YWNrX3BvaW50ZXIgYXNtKCJlc3AiKSBfX3VzZWQ7Ci0KLS8qIGhvdyB0byBnZXQgdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3QgZnJvbSBDICovCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVudF90aHJlYWRfaW5mbyh2b2lkKQotewotCXJldHVybiAoc3RydWN0IHRocmVhZF9pbmZvICopCi0JCShjdXJyZW50X3N0YWNrX3BvaW50ZXIgJiB+KFRIUkVBRF9TSVpFIC0gMSkpOwotfQotCi0vKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLwotI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQotI2RlZmluZSBhbGxvY190aHJlYWRfaW5mbyh0c2spICgoc3RydWN0IHRocmVhZF9pbmZvICopCQkJXAotCV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8sIGdldF9vcmRlcihUSFJFQURfU0laRSkpKQotI2Vsc2UKLSNkZWZpbmUgYWxsb2NfdGhyZWFkX2luZm8odHNrKSAoKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQkJCVwKLQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsIGdldF9vcmRlcihUSFJFQURfU0laRSkpKQotI2VuZGlmCi0KLSNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KLQotLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEFTTSAqLwotI2RlZmluZSBHRVRfVEhSRUFEX0lORk8ocmVnKQkgXAotCW1vdmwgJC1USFJFQURfU0laRSwgcmVnOyBcCi0JYW5kbCAlZXNwLCByZWcKLQotLyogdXNlIHRoaXMgb25lIGlmIHJlZyBhbHJlYWR5IGNvbnRhaW5zICVlc3AgKi8KLSNkZWZpbmUgR0VUX1RIUkVBRF9JTkZPX1dJVEhfRVNQKHJlZykgXAotCWFuZGwgJC1USFJFQURfU0laRSwgcmVnCi0KLSNlbmRpZgotCi0vKgotICogdGhyZWFkIGluZm9ybWF0aW9uIGZsYWdzCi0gKiAtIHRoZXNlIGFyZSBwcm9jZXNzIHN0YXRlIGZsYWdzIHRoYXQgdmFyaW91cwotICogICBhc3NlbWJseSBmaWxlcyBtYXkgbmVlZCB0byBhY2Nlc3MKLSAqIC0gcGVuZGluZyB3b3JrLXRvLWJlLWRvbmUgZmxhZ3MgYXJlIGluIExTVwotICogLSBvdGhlciBmbGFncyBpbiBNU1cKLSAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9UUkFDRQkwCS8qIHN5c2NhbGwgdHJhY2UgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TSUdQRU5ESU5HCQkxCS8qIHNpZ25hbCBwZW5kaW5nICovCi0jZGVmaW5lIFRJRl9ORUVEX1JFU0NIRUQJMgkvKiByZXNjaGVkdWxpbmcgbmVjZXNzYXJ5ICovCi0jZGVmaW5lIFRJRl9TSU5HTEVTVEVQCQkzCS8qIHJlc3RvcmUgc2luZ2xlc3RlcCBvbiByZXR1cm4gdG8KLQkJCQkJICAgdXNlciBtb2RlICovCi0jZGVmaW5lIFRJRl9JUkVUCQk0CS8qIHJldHVybiB3aXRoIGlyZXQgKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfRU1VCQk1CS8qIHN5c2NhbGwgZW11bGF0aW9uIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9BVURJVAk2CS8qIHN5c2NhbGwgYXVkaXRpbmcgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TRUNDT01QCQk3CS8qIHNlY3VyZSBjb21wdXRpbmcgKi8KLSNkZWZpbmUgVElGX0hSVElDS19SRVNDSEVECTkJLyogcmVwcm9ncmFtIGhydGljayB0aW1lciAqLwotI2RlZmluZSBUSUZfTUVNRElFCQkxNgotI2RlZmluZSBUSUZfREVCVUcJCTE3CS8qIHVzZXMgZGVidWcgcmVnaXN0ZXJzICovCi0jZGVmaW5lIFRJRl9JT19CSVRNQVAJCTE4CS8qIHVzZXMgSS9PIGJpdG1hcCAqLwotI2RlZmluZSBUSUZfRlJFRVpFCQkxOQkvKiBpcyBmcmVlemluZyBmb3Igc3VzcGVuZCAqLwotI2RlZmluZSBUSUZfTk9UU0MJCTIwCS8qIFRTQyBpcyBub3QgYWNjZXNzaWJsZSBpbiB1c2VybGFuZCAqLwotI2RlZmluZSBUSUZfRk9SQ0VEX1RGCQkyMQkvKiB0cnVlIGlmIFRGIGluIGVmbGFncyBhcnRpZmljaWFsbHkgKi8KLSNkZWZpbmUgVElGX0RFQlVHQ1RMTVNSCQkyMgkvKiB1c2VzIHRocmVhZF9zdHJ1Y3QuZGVidWdjdGxtc3IgKi8KLSNkZWZpbmUgVElGX0RTX0FSRUFfTVNSIAkyMyAgICAgIC8qIHVzZXMgdGhyZWFkX3N0cnVjdC5kc19hcmVhX21zciAqLwotI2RlZmluZSBUSUZfQlRTX1RSQUNFX1RTICAgICAgICAyNCAgICAgIC8qIHJlY29yZCBzY2hlZHVsaW5nIGV2ZW50IHRpbWVzdGFtcHMgKi8KLQotI2RlZmluZSBfVElGX1NZU0NBTExfVFJBQ0UJKDEgPDwgVElGX1NZU0NBTExfVFJBQ0UpCi0jZGVmaW5lIF9USUZfU0lHUEVORElORwkJKDEgPDwgVElGX1NJR1BFTkRJTkcpCi0jZGVmaW5lIF9USUZfTkVFRF9SRVNDSEVECSgxIDw8IFRJRl9ORUVEX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfU0lOR0xFU1RFUAkJKDEgPDwgVElGX1NJTkdMRVNURVApCi0jZGVmaW5lIF9USUZfSVJFVAkJKDEgPDwgVElGX0lSRVQpCi0jZGVmaW5lIF9USUZfU1lTQ0FMTF9FTVUJKDEgPDwgVElGX1NZU0NBTExfRU1VKQotI2RlZmluZSBfVElGX1NZU0NBTExfQVVESVQJKDEgPDwgVElGX1NZU0NBTExfQVVESVQpCi0jZGVmaW5lIF9USUZfU0VDQ09NUAkJKDEgPDwgVElGX1NFQ0NPTVApCi0jZGVmaW5lIF9USUZfSFJUSUNLX1JFU0NIRUQJKDEgPDwgVElGX0hSVElDS19SRVNDSEVEKQotI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCi0jZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQotI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKLSNkZWZpbmUgX1RJRl9OT1RTQwkJKDEgPDwgVElGX05PVFNDKQotI2RlZmluZSBfVElGX0ZPUkNFRF9URgkJKDEgPDwgVElGX0ZPUkNFRF9URikKLSNkZWZpbmUgX1RJRl9ERUJVR0NUTE1TUgkoMSA8PCBUSUZfREVCVUdDVExNU1IpCi0jZGVmaW5lIF9USUZfRFNfQVJFQV9NU1IJKDEgPDwgVElGX0RTX0FSRUFfTVNSKQotI2RlZmluZSBfVElGX0JUU19UUkFDRV9UUwkoMSA8PCBUSUZfQlRTX1RSQUNFX1RTKQotCi0vKiB3b3JrIHRvIGRvIG9uIGludGVycnVwdC9leGNlcHRpb24gcmV0dXJuICovCi0jZGVmaW5lIF9USUZfV09SS19NQVNLCQkJCQkJCVwKLQkoMHgwMDAwRkZGRiAmIH4oX1RJRl9TWVNDQUxMX1RSQUNFIHwgX1RJRl9TWVNDQUxMX0FVRElUIHwJXAotCQkJX1RJRl9TRUNDT01QIHwgX1RJRl9TWVNDQUxMX0VNVSkpCi0vKiB3b3JrIHRvIGRvIG9uIGFueSByZXR1cm4gdG8gdS1zcGFjZSAqLwotI2RlZmluZSBfVElGX0FMTFdPUktfTUFTSwkoMHgwMDAwRkZGRiAmIH5fVElGX1NFQ0NPTVApCi0KLS8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KLSNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJXAotCShfVElGX0lPX0JJVE1BUCB8IF9USUZfTk9UU0MgfCBfVElGX0RFQlVHQ1RMTVNSIHwJXAotCSBfVElGX0RTX0FSRUFfTVNSIHwgX1RJRl9CVFNfVFJBQ0VfVFMpCi0jZGVmaW5lIF9USUZfV09SS19DVFhTV19QUkVWIF9USUZfV09SS19DVFhTVwotI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfTkVYVCAoX1RJRl9XT1JLX0NUWFNXIHwgX1RJRl9ERUJVRykKLQotCi0vKgotICogVGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cy4KLSAqCi0gKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBmbGFncyBpbiB0aGF0IG5vYm9keSBlbHNlCi0gKiBldmVyIHRvdWNoZXMgb3VyIHRocmVhZC1zeW5jaHJvbm91cyBzdGF0dXMsIHNvIHdlIGRvbid0Ci0gKiBoYXZlIHRvIHdvcnJ5IGFib3V0IGF0b21pYyBhY2Nlc3Nlcy4KLSAqLwotI2RlZmluZSBUU19VU0VERlBVCQkweDAwMDEJLyogRlBVIHdhcyB1c2VkIGJ5IHRoaXMgdGFzawotCQkJCQkgICB0aGlzIHF1YW50dW0gKFNNUCkgKi8KLSNkZWZpbmUgVFNfUE9MTElORwkJMHgwMDAyCS8qIFRydWUgaWYgaW4gaWRsZSBsb29wCi0JCQkJCSAgIGFuZCBub3Qgc2xlZXBpbmcgKi8KLSNkZWZpbmUgVFNfUkVTVE9SRV9TSUdNQVNLCTB4MDAwNAkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCgpICovCi0KLSNkZWZpbmUgdHNrX2lzX3BvbGxpbmcodCkgKHRhc2tfdGhyZWFkX2luZm8odCktPnN0YXR1cyAmIFRTX1BPTExJTkcpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jZGVmaW5lIEhBVkVfU0VUX1JFU1RPUkVfU0lHTUFTSwkxCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Jlc3RvcmVfc2lnbWFzayh2b2lkKQotewotCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGkgPSBjdXJyZW50X3RocmVhZF9pbmZvKCk7Ci0JdGktPnN0YXR1cyB8PSBUU19SRVNUT1JFX1NJR01BU0s7Ci0Jc2V0X2JpdChUSUZfU0lHUEVORElORywgJnRpLT5mbGFncyk7Ci19Ci0jZW5kaWYJLyogIV9fQVNTRU1CTFlfXyAqLwotCi0jZW5kaWYgLyogX19LRVJORUxfXyAqLwotCi0jZW5kaWYgLyogX0FTTV9USFJFQURfSU5GT19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm9fNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb182NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjY5ZjcwLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb182NC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLS8qIHRocmVhZF9pbmZvLmg6IHg4Nl82NCBsb3ctbGV2ZWwgdGhyZWFkIGluZm9ybWF0aW9uCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyICBEYXZpZCBIb3dlbGxzIChkaG93ZWxsc0ByZWRoYXQuY29tKQotICogLSBJbmNvcnBvcmF0aW5nIHN1Z2dlc3Rpb25zIG1hZGUgYnkgTGludXMgVG9ydmFsZHMgYW5kIERhdmUgTWlsbGVyCi0gKi8KLQotI2lmbmRlZiBfQVNNX1RIUkVBRF9JTkZPX0gKLSNkZWZpbmUgX0FTTV9USFJFQURfSU5GT19ICi0KLSNpZmRlZiBfX0tFUk5FTF9fCi0KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS90eXBlcy5oPgotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLQotLyoKLSAqIGxvdyBsZXZlbCB0YXNrIGRhdGEgdGhhdCBlbnRyeS5TIG5lZWRzIGltbWVkaWF0ZSBhY2Nlc3MgdG8KLSAqIC0gdGhpcyBzdHJ1Y3Qgc2hvdWxkIGZpdCBlbnRpcmVseSBpbnNpZGUgb2Ygb25lIGNhY2hlIGxpbmUKLSAqIC0gdGhpcyBzdHJ1Y3Qgc2hhcmVzIHRoZSBzdXBlcnZpc29yIHN0YWNrIHBhZ2VzCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1zdHJ1Y3QgdGFza19zdHJ1Y3Q7Ci1zdHJ1Y3QgZXhlY19kb21haW47Ci0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotCi1zdHJ1Y3QgdGhyZWFkX2luZm8gewotCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGFzazsJCS8qIG1haW4gdGFzayBzdHJ1Y3R1cmUgKi8KLQlzdHJ1Y3QgZXhlY19kb21haW4JKmV4ZWNfZG9tYWluOwkvKiBleGVjdXRpb24gZG9tYWluICovCi0JX191MzIJCQlmbGFnczsJCS8qIGxvdyBsZXZlbCBmbGFncyAqLwotCV9fdTMyCQkJc3RhdHVzOwkJLyogdGhyZWFkIHN5bmNocm9ub3VzIGZsYWdzICovCi0JX191MzIJCQljcHU7CQkvKiBjdXJyZW50IENQVSAqLwotCWludCAJCQlwcmVlbXB0X2NvdW50OwkvKiAwID0+IHByZWVtcHRhYmxlLAotCQkJCQkJICAgPDAgPT4gQlVHICovCi0JbW1fc2VnbWVudF90CQlhZGRyX2xpbWl0OwotCXN0cnVjdCByZXN0YXJ0X2Jsb2NrICAgIHJlc3RhcnRfYmxvY2s7Ci0jaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OCi0Jdm9pZCBfX3VzZXIJCSpzeXNlbnRlcl9yZXR1cm47Ci0jZW5kaWYKLX07Ci0jZW5kaWYKLQotLyoKLSAqIG1hY3Jvcy9mdW5jdGlvbnMgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0dXJlCi0gKiBwcmVlbXB0X2NvdW50IG5lZWRzIHRvIGJlIDEgaW5pdGlhbGx5LCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIGZ1bmN0aW9uYWwuCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jZGVmaW5lIElOSVRfVEhSRUFEX0lORk8odHNrKQkJCVwKLXsJCQkJCQlcCi0JLnRhc2sJICAgICAgID0gJnRzaywJCQlcCi0JLmV4ZWNfZG9tYWluICAgPSAmZGVmYXVsdF9leGVjX2RvbWFpbiwJXAotCS5mbGFncwkgICAgICAgPSAwLAkJCVwKLQkuY3B1CSAgICAgICA9IDAsCQkJXAotCS5wcmVlbXB0X2NvdW50ID0gMSwJCQlcCi0JLmFkZHJfbGltaXQgICAgID0gS0VSTkVMX0RTLAkJXAotCS5yZXN0YXJ0X2Jsb2NrID0gewkJCVwKLQkJLmZuID0gZG9fbm9fcmVzdGFydF9zeXNjYWxsLAlcCi0JfSwJCQkJCVwKLX0KLQotI2RlZmluZSBpbml0X3RocmVhZF9pbmZvCShpbml0X3RocmVhZF91bmlvbi50aHJlYWRfaW5mbykKLSNkZWZpbmUgaW5pdF9zdGFjawkJKGluaXRfdGhyZWFkX3VuaW9uLnN0YWNrKQotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVudF90aHJlYWRfaW5mbyh2b2lkKQotewotCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGk7Ci0JdGkgPSAodm9pZCAqKShyZWFkX3BkYShrZXJuZWxzdGFjaykgKyBQREFfU1RBQ0tPRkZTRVQgLSBUSFJFQURfU0laRSk7Ci0JcmV0dXJuIHRpOwotfQotCi0vKiBkbyBub3QgdXNlIGluIGludGVycnVwdCBjb250ZXh0ICovCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqc3RhY2tfdGhyZWFkX2luZm8odm9pZCkKLXsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpOwotCWFzbSgiYW5kcSAlJXJzcCwlMDsgIiA6ICI9ciIgKHRpKSA6ICIwIiAofihUSFJFQURfU0laRSAtIDEpKSk7Ci0JcmV0dXJuIHRpOwotfQotCi0vKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLwotI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQotI2RlZmluZSBUSFJFQURfRkxBR1MgKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKQotI2Vsc2UKLSNkZWZpbmUgVEhSRUFEX0ZMQUdTIEdGUF9LRVJORUwKLSNlbmRpZgotCi0jZGVmaW5lIGFsbG9jX3RocmVhZF9pbmZvKHRzaykJCQkJCQlcCi0JKChzdHJ1Y3QgdGhyZWFkX2luZm8gKilfX2dldF9mcmVlX3BhZ2VzKFRIUkVBRF9GTEFHUywgVEhSRUFEX09SREVSKSkKLQotI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLwotCi0vKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQVNNICovCi0jZGVmaW5lIEdFVF9USFJFQURfSU5GTyhyZWcpIFwKLQltb3ZxICVnczpwZGFfa2VybmVsc3RhY2sscmVnIDsgXAotCXN1YnEgJChUSFJFQURfU0laRS1QREFfU1RBQ0tPRkZTRVQpLHJlZwotCi0jZW5kaWYKLQotLyoKLSAqIHRocmVhZCBpbmZvcm1hdGlvbiBmbGFncwotICogLSB0aGVzZSBhcmUgcHJvY2VzcyBzdGF0ZSBmbGFncyB0aGF0IHZhcmlvdXMgYXNzZW1ibHkgZmlsZXMKLSAqICAgbWF5IG5lZWQgdG8gYWNjZXNzCi0gKiAtIHBlbmRpbmcgd29yay10by1iZS1kb25lIGZsYWdzIGFyZSBpbiBMU1cKLSAqIC0gb3RoZXIgZmxhZ3MgaW4gTVNXCi0gKiBXYXJuaW5nOiBsYXlvdXQgb2YgTFNXIGlzIGhhcmRjb2RlZCBpbiBlbnRyeS5TCi0gKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfVFJBQ0UJMAkvKiBzeXNjYWxsIHRyYWNlIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU0lHUEVORElORwkJMgkvKiBzaWduYWwgcGVuZGluZyAqLwotI2RlZmluZSBUSUZfTkVFRF9SRVNDSEVECTMJLyogcmVzY2hlZHVsaW5nIG5lY2Vzc2FyeSAqLwotI2RlZmluZSBUSUZfU0lOR0xFU1RFUAkJNAkvKiByZWVuYWJsZSBzaW5nbGVzdGVwIG9uIHVzZXIgcmV0dXJuKi8KLSNkZWZpbmUgVElGX0lSRVQJCTUJLyogZm9yY2UgSVJFVCAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9BVURJVAk3CS8qIHN5c2NhbGwgYXVkaXRpbmcgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TRUNDT01QCQk4CS8qIHNlY3VyZSBjb21wdXRpbmcgKi8KLSNkZWZpbmUgVElGX01DRV9OT1RJRlkJCTEwCS8qIG5vdGlmeSB1c2Vyc3BhY2Ugb2YgYW4gTUNFICovCi0jZGVmaW5lIFRJRl9IUlRJQ0tfUkVTQ0hFRAkxMQkvKiByZXByb2dyYW0gaHJ0aWNrIHRpbWVyICovCi0vKiAxNiBmcmVlICovCi0jZGVmaW5lIFRJRl9JQTMyCQkxNwkvKiAzMmJpdCBwcm9jZXNzICovCi0jZGVmaW5lIFRJRl9GT1JLCQkxOAkvKiByZXRfZnJvbV9mb3JrICovCi0jZGVmaW5lIFRJRl9BQklfUEVORElORwkJMTkKLSNkZWZpbmUgVElGX01FTURJRQkJMjAKLSNkZWZpbmUgVElGX0RFQlVHCQkyMQkvKiB1c2VzIGRlYnVnIHJlZ2lzdGVycyAqLwotI2RlZmluZSBUSUZfSU9fQklUTUFQCQkyMgkvKiB1c2VzIEkvTyBiaXRtYXAgKi8KLSNkZWZpbmUgVElGX0ZSRUVaRQkJMjMJLyogaXMgZnJlZXppbmcgZm9yIHN1c3BlbmQgKi8KLSNkZWZpbmUgVElGX0ZPUkNFRF9URgkJMjQJLyogdHJ1ZSBpZiBURiBpbiBlZmxhZ3MgYXJ0aWZpY2lhbGx5ICovCi0jZGVmaW5lIFRJRl9ERUJVR0NUTE1TUgkJMjUJLyogdXNlcyB0aHJlYWRfc3RydWN0LmRlYnVnY3RsbXNyICovCi0jZGVmaW5lIFRJRl9EU19BUkVBX01TUgkJMjYgICAgICAvKiB1c2VzIHRocmVhZF9zdHJ1Y3QuZHNfYXJlYV9tc3IgKi8KLSNkZWZpbmUgVElGX0JUU19UUkFDRV9UUwkyNyAgICAgIC8qIHJlY29yZCBzY2hlZHVsaW5nIGV2ZW50IHRpbWVzdGFtcHMgKi8KLSNkZWZpbmUgVElGX05PVFNDCQkyOAkvKiBUU0MgaXMgbm90IGFjY2Vzc2libGUgaW4gdXNlcmxhbmQgKi8KLQotI2RlZmluZSBfVElGX1NZU0NBTExfVFJBQ0UJKDEgPDwgVElGX1NZU0NBTExfVFJBQ0UpCi0jZGVmaW5lIF9USUZfU0lHUEVORElORwkJKDEgPDwgVElGX1NJR1BFTkRJTkcpCi0jZGVmaW5lIF9USUZfU0lOR0xFU1RFUAkJKDEgPDwgVElGX1NJTkdMRVNURVApCi0jZGVmaW5lIF9USUZfTkVFRF9SRVNDSEVECSgxIDw8IFRJRl9ORUVEX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfSVJFVAkJKDEgPDwgVElGX0lSRVQpCi0jZGVmaW5lIF9USUZfU1lTQ0FMTF9BVURJVAkoMSA8PCBUSUZfU1lTQ0FMTF9BVURJVCkKLSNkZWZpbmUgX1RJRl9TRUNDT01QCQkoMSA8PCBUSUZfU0VDQ09NUCkKLSNkZWZpbmUgX1RJRl9NQ0VfTk9USUZZCQkoMSA8PCBUSUZfTUNFX05PVElGWSkKLSNkZWZpbmUgX1RJRl9IUlRJQ0tfUkVTQ0hFRAkoMSA8PCBUSUZfSFJUSUNLX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfSUEzMgkJKDEgPDwgVElGX0lBMzIpCi0jZGVmaW5lIF9USUZfRk9SSwkJKDEgPDwgVElGX0ZPUkspCi0jZGVmaW5lIF9USUZfQUJJX1BFTkRJTkcJKDEgPDwgVElGX0FCSV9QRU5ESU5HKQotI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCi0jZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQotI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKLSNkZWZpbmUgX1RJRl9GT1JDRURfVEYJCSgxIDw8IFRJRl9GT1JDRURfVEYpCi0jZGVmaW5lIF9USUZfREVCVUdDVExNU1IJKDEgPDwgVElGX0RFQlVHQ1RMTVNSKQotI2RlZmluZSBfVElGX0RTX0FSRUFfTVNSCSgxIDw8IFRJRl9EU19BUkVBX01TUikKLSNkZWZpbmUgX1RJRl9CVFNfVFJBQ0VfVFMJKDEgPDwgVElGX0JUU19UUkFDRV9UUykKLSNkZWZpbmUgX1RJRl9OT1RTQwkJKDEgPDwgVElGX05PVFNDKQotCi0vKiB3b3JrIHRvIGRvIG9uIGludGVycnVwdC9leGNlcHRpb24gcmV0dXJuICovCi0jZGVmaW5lIF9USUZfV09SS19NQVNLCQkJCQkJCVwKLQkoMHgwMDAwRkZGRiAmCQkJCQkJCVwKLQkgfihfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0lOR0xFU1RFUHxfVElGX1NFQ0NPTVApKQotLyogd29yayB0byBkbyBvbiBhbnkgcmV0dXJuIHRvIHVzZXIgc3BhY2UgKi8KLSNkZWZpbmUgX1RJRl9BTExXT1JLX01BU0sgKDB4MDAwMEZGRkYgJiB+X1RJRl9TRUNDT01QKQotCi0jZGVmaW5lIF9USUZfRE9fTk9USUZZX01BU0sJCQkJCQlcCi0JKF9USUZfU0lHUEVORElOR3xfVElGX1NJTkdMRVNURVB8X1RJRl9NQ0VfTk9USUZZfF9USUZfSFJUSUNLX1JFU0NIRUQpCi0KLS8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KLSNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJCVwKLQkoX1RJRl9JT19CSVRNQVB8X1RJRl9ERUJVR0NUTE1TUnxfVElGX0RTX0FSRUFfTVNSfF9USUZfQlRTX1RSQUNFX1RTfF9USUZfTk9UU0MpCi0jZGVmaW5lIF9USUZfV09SS19DVFhTV19QUkVWIF9USUZfV09SS19DVFhTVwotI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfTkVYVCAoX1RJRl9XT1JLX0NUWFNXfF9USUZfREVCVUcpCi0KLSNkZWZpbmUgUFJFRU1QVF9BQ1RJVkUgICAgIDB4MTAwMDAwMDAKLQotLyoKLSAqIFRocmVhZC1zeW5jaHJvbm91cyBzdGF0dXMuCi0gKgotICogVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgZmxhZ3MgaW4gdGhhdCBub2JvZHkgZWxzZQotICogZXZlciB0b3VjaGVzIG91ciB0aHJlYWQtc3luY2hyb25vdXMgc3RhdHVzLCBzbyB3ZSBkb24ndAotICogaGF2ZSB0byB3b3JyeSBhYm91dCBhdG9taWMgYWNjZXNzZXMuCi0gKi8KLSNkZWZpbmUgVFNfVVNFREZQVQkJMHgwMDAxCS8qIEZQVSB3YXMgdXNlZCBieSB0aGlzIHRhc2sKLQkJCQkJICAgdGhpcyBxdWFudHVtIChTTVApICovCi0jZGVmaW5lIFRTX0NPTVBBVAkJMHgwMDAyCS8qIDMyYml0IHN5c2NhbGwgYWN0aXZlICovCi0jZGVmaW5lIFRTX1BPTExJTkcJCTB4MDAwNAkvKiB0cnVlIGlmIGluIGlkbGUgbG9vcAotCQkJCQkgICBhbmQgbm90IHNsZWVwaW5nICovCi0jZGVmaW5lIFRTX1JFU1RPUkVfU0lHTUFTSwkweDAwMDgJLyogcmVzdG9yZSBzaWduYWwgbWFzayBpbiBkb19zaWduYWwoKSAqLwotCi0jZGVmaW5lIHRza19pc19wb2xsaW5nKHQpICh0YXNrX3RocmVhZF9pbmZvKHQpLT5zdGF0dXMgJiBUU19QT0xMSU5HKQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2RlZmluZSBIQVZFX1NFVF9SRVNUT1JFX1NJR01BU0sJMQotc3RhdGljIGlubGluZSB2b2lkIHNldF9yZXN0b3JlX3NpZ21hc2sodm9pZCkKLXsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpID0gY3VycmVudF90aHJlYWRfaW5mbygpOwotCXRpLT5zdGF0dXMgfD0gVFNfUkVTVE9SRV9TSUdNQVNLOwotCXNldF9iaXQoVElGX1NJR1BFTkRJTkcsICZ0aS0+ZmxhZ3MpOwotfQotI2VuZGlmCS8qICFfX0FTU0VNQkxZX18gKi8KLQotI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KLQotI2VuZGlmIC8qIF9BU01fVEhSRUFEX0lORk9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RpbWUuaCBiL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmgKaW5kZXggYmNlNzJkNy4uYTE3ZmE0NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RpbWUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGltZS5oCkBAIC01Niw0ICs1Niw2IEBACiAKICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KIAorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19pbml0IGNhbGlicmF0ZV9jcHUodm9pZCk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RpbWVyLmggYi9pbmNsdWRlL2FzbS14ODYvdGltZXIuaAppbmRleCA0ZjZmY2IwLi5mYjJhNGRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdGltZXIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGltZXIuaApAQCAtNywxNCArNywxNCBAQAogI2RlZmluZSBUSUNLX1NJWkUgKHRpY2tfbnNlYyAvIDEwMDApCiAKIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXRpdmVfc2NoZWRfY2xvY2sodm9pZCk7Ci11bnNpZ25lZCBsb25nIG5hdGl2ZV9jYWxjdWxhdGVfY3B1X2toeih2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbmF0aXZlX2NhbGlicmF0ZV90c2Modm9pZCk7CiAKIGV4dGVybiBpbnQgdGltZXJfYWNrOwogZXh0ZXJuIGludCBub190aW1lcl9jaGVjazsKIGV4dGVybiBpbnQgcmVjYWxpYnJhdGVfY3B1X2toeih2b2lkKTsKIAogI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKLSNkZWZpbmUgY2FsY3VsYXRlX2NwdV9raHooKSBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHooKQorI2RlZmluZSBjYWxpYnJhdGVfdHNjKCkgbmF0aXZlX2NhbGlicmF0ZV90c2MoKQogI2VuZGlmCiAKIC8qIEFjY2VsZXJhdG9ycyBmb3Igc2NoZWRfY2xvY2soKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RvcG9sb2d5LmggYi9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaAppbmRleCBkY2YzZjgxLi45MGFjNzcxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaApAQCAtMzUsNzkgKzM1LDkzIEBACiAjIGVuZGlmCiAjZW5kaWYKIAorLyogTm9kZSBub3QgcHJlc2VudCAqLworI2RlZmluZSBOVU1BX05PX05PREUJKC0xKQorCiAjaWZkZWYgQ09ORklHX05VTUEKICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogCi0vKiBNYXBwaW5ncyBiZXR3ZWVuIGxvZ2ljYWwgY3B1IG51bWJlciBhbmQgbm9kZSBudW1iZXIgKi8KICNpZmRlZiBDT05GSUdfWDg2XzMyCi1leHRlcm4gaW50IGNwdV90b19ub2RlX21hcFtdOwotI2Vsc2UKLS8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgY3VycmVudCBOb2RlLiAqLwotI2RlZmluZSBudW1hX25vZGVfaWQoKQkJKGVhcmx5X2NwdV90b19ub2RlKHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpKQotI2VuZGlmCiAKLURFQ0xBUkVfUEVSX0NQVShpbnQsIHg4Nl9jcHVfdG9fbm9kZV9tYXApOwotCi0jaWZkZWYgQ09ORklHX1NNUAotZXh0ZXJuIGludCB4ODZfY3B1X3RvX25vZGVfbWFwX2luaXRbXTsKLWV4dGVybiB2b2lkICp4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0cjsKLSNlbHNlCi0jZGVmaW5lIHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyIE5VTEwKLSNlbmRpZgotCisvKiBNYXBwaW5ncyBiZXR3ZWVuIG5vZGUgbnVtYmVyIGFuZCBjcHVzIG9uIHRoYXQgbm9kZS4gKi8KIGV4dGVybiBjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrX21hcFtdOwogCi0jZGVmaW5lIE5VTUFfTk9fTk9ERQkoLTEpCisvKiBNYXBwaW5ncyBiZXR3ZWVuIGxvZ2ljYWwgY3B1IG51bWJlciBhbmQgbm9kZSBudW1iZXIgKi8KK2V4dGVybiBpbnQgY3B1X3RvX25vZGVfbWFwW107CiAKIC8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgbm9kZSBjb250YWluaW5nIENQVSAnY3B1JyAqLwotI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgZWFybHlfY3B1X3RvX25vZGUoY3B1KQljcHVfdG9fbm9kZShjcHUpCiBzdGF0aWMgaW5saW5lIGludCBjcHVfdG9fbm9kZShpbnQgY3B1KQogewogCXJldHVybiBjcHVfdG9fbm9kZV9tYXBbY3B1XTsKIH0KKyNkZWZpbmUgZWFybHlfY3B1X3RvX25vZGUoY3B1KQljcHVfdG9fbm9kZShjcHUpCisKKy8qIFJldHVybnMgYSBiaXRtYXNrIG9mIENQVXMgb24gTm9kZSAnbm9kZScuCisgKgorICogU2lkZSBub3RlOiB0aGlzIGZ1bmN0aW9uIGNyZWF0ZXMgdGhlIHJldHVybmVkIGNwdW1hc2sgb24gdGhlIHN0YWNrCisgKiBzbyB3aXRoIGEgaGlnaCBOUl9DUFVTIGNvdW50LCBleGNlc3NpdmUgc3RhY2sgc3BhY2UgaXMgdXNlZC4gIFRoZQorICogbm9kZV90b19jcHVtYXNrX3B0ciBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCB3aGVuZXZlciBwb3NzaWJsZS4KKyAqLworc3RhdGljIGlubGluZSBjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQoreworCXJldHVybiBub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdOworfQogCiAjZWxzZSAvKiBDT05GSUdfWDg2XzY0ICovCiAKLSNpZmRlZiBDT05GSUdfU01QCi1zdGF0aWMgaW5saW5lIGludCBlYXJseV9jcHVfdG9fbm9kZShpbnQgY3B1KQotewotCWludCAqY3B1X3RvX25vZGVfbWFwID0geDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7CisvKiBNYXBwaW5ncyBiZXR3ZWVuIG5vZGUgbnVtYmVyIGFuZCBjcHVzIG9uIHRoYXQgbm9kZS4gKi8KK2V4dGVybiBjcHVtYXNrX3QgKm5vZGVfdG9fY3B1bWFza19tYXA7CiAKLQlpZiAoY3B1X3RvX25vZGVfbWFwKQotCQlyZXR1cm4gY3B1X3RvX25vZGVfbWFwW2NwdV07Ci0JZWxzZSBpZiAocGVyX2NwdV9vZmZzZXQoY3B1KSkKLQkJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKLQllbHNlCi0JCXJldHVybiBOVU1BX05PX05PREU7Ci19Ci0jZWxzZQotI2RlZmluZQllYXJseV9jcHVfdG9fbm9kZShjcHUpCWNwdV90b19ub2RlKGNwdSkKLSNlbmRpZgorLyogTWFwcGluZ3MgYmV0d2VlbiBsb2dpY2FsIGNwdSBudW1iZXIgYW5kIG5vZGUgbnVtYmVyICovCitERUNMQVJFX0VBUkxZX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKTsKIAorLyogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IE5vZGUuICovCisjZGVmaW5lIG51bWFfbm9kZV9pZCgpCQlyZWFkX3BkYShub2RlbnVtYmVyKQorCisjaWZkZWYgQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUworZXh0ZXJuIGludCBjcHVfdG9fbm9kZShpbnQgY3B1KTsKK2V4dGVybiBpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSk7CitleHRlcm4gY29uc3QgY3B1bWFza190ICpfbm9kZV90b19jcHVtYXNrX3B0cihpbnQgbm9kZSk7CitleHRlcm4gY3B1bWFza190IG5vZGVfdG9fY3B1bWFzayhpbnQgbm9kZSk7CisKKyNlbHNlCS8qICFDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKy8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgbm9kZSBjb250YWluaW5nIENQVSAnY3B1JyAqLwogc3RhdGljIGlubGluZSBpbnQgY3B1X3RvX25vZGUoaW50IGNwdSkKIHsKLSNpZmRlZiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTCi0JaWYgKHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKSB7Ci0JCXByaW50aygiS0VSTl9OT1RJQ0UgY3B1X3RvX25vZGUoJWQpOiB1c2FnZSB0b28gZWFybHkhXG4iLAotCQkgICAgICAgKGludCljcHUpOwotCQlkdW1wX3N0YWNrKCk7Ci0JCXJldHVybiAoKGludCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKVtjcHVdOwotCX0KLSNlbmRpZgogCXJldHVybiBwZXJfY3B1KHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSk7CiB9CiAKLSNpZmRlZglDT05GSUdfTlVNQQorLyogU2FtZSBmdW5jdGlvbiBidXQgdXNlZCBpZiBjYWxsZWQgYmVmb3JlIHBlcl9jcHUgYXJlYXMgYXJlIHNldHVwICovCitzdGF0aWMgaW5saW5lIGludCBlYXJseV9jcHVfdG9fbm9kZShpbnQgY3B1KQoreworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSkKKwkJcmV0dXJuIGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fbm9kZV9tYXApW2NwdV07CisKKwlyZXR1cm4gcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpOworfQogCiAvKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgY3B1bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLiAqLworc3RhdGljIGlubGluZSBjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCXJldHVybiAmbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KKworLyogUmV0dXJucyBhIGJpdG1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4gKi8KK3N0YXRpYyBpbmxpbmUgY3B1bWFza190IG5vZGVfdG9fY3B1bWFzayhpbnQgbm9kZSkKK3sKKwlyZXR1cm4gbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KKworI2VuZGlmIC8qICFDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKy8qIFJlcGxhY2UgZGVmYXVsdCBub2RlX3RvX2NwdW1hc2tfcHRyIHdpdGggb3B0aW1pemVkIHZlcnNpb24gKi8KICNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cih2LCBub2RlKQkJXAotCQljcHVtYXNrX3QgKnYgPSAmKG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV0pCisJCWNvbnN0IGNwdW1hc2tfdCAqdiA9IF9ub2RlX3RvX2NwdW1hc2tfcHRyKG5vZGUpCiAKICNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cl9uZXh0KHYsIG5vZGUpCVwKLQkJCSAgIHYgPSAmKG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV0pCi0jZW5kaWYKKwkJCSAgIHYgPSBfbm9kZV90b19jcHVtYXNrX3B0cihub2RlKQogCiAjZW5kaWYgLyogQ09ORklHX1g4Nl82NCAqLwogCkBAIC0xMTcsMjAgKzEzMSw2IEBACiAgKi8KICNkZWZpbmUgcGFyZW50X25vZGUobm9kZSkgKG5vZGUpCiAKLS8qIFJldHVybnMgYSBiaXRtYXNrIG9mIENQVXMgb24gTm9kZSAnbm9kZScuICovCi1zdGF0aWMgaW5saW5lIGNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2soaW50IG5vZGUpCi17Ci0JcmV0dXJuIG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV07Ci19Ci0KLS8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgZmlyc3QgQ1BVIG9uIE5vZGUgJ25vZGUnLiAqLwotc3RhdGljIGlubGluZSBpbnQgbm9kZV90b19maXJzdF9jcHUoaW50IG5vZGUpCi17Ci0JY3B1bWFza190IG1hc2sgPSBub2RlX3RvX2NwdW1hc2sobm9kZSk7Ci0KLQlyZXR1cm4gZmlyc3RfY3B1KG1hc2spOwotfQotCiAjZGVmaW5lIHBjaWJ1c190b19ub2RlKGJ1cykgX19wY2lidXNfdG9fbm9kZShidXMpCiAjZGVmaW5lIHBjaWJ1c190b19jcHVtYXNrKGJ1cykgX19wY2lidXNfdG9fY3B1bWFzayhidXMpCiAKQEAgLTE4MCwxMiArMTgwLDQ0IEBACiAjZGVmaW5lIG5vZGVfZGlzdGFuY2UoYSwgYikgX19ub2RlX2Rpc3RhbmNlKGEsIGIpCiAjZW5kaWYKIAotI2Vsc2UgLyogQ09ORklHX05VTUEgKi8KKyNlbHNlIC8qICFDT05GSUdfTlVNQSAqLwogCisjZGVmaW5lIG51bWFfbm9kZV9pZCgpCQkwCisjZGVmaW5lCWNwdV90b19ub2RlKGNwdSkJMAorI2RlZmluZQllYXJseV9jcHVfdG9fbm9kZShjcHUpCTAKKworc3RhdGljIGlubGluZSBjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCXJldHVybiAmY3B1X29ubGluZV9tYXA7Cit9CitzdGF0aWMgaW5saW5lIGNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2soaW50IG5vZGUpCit7CisJcmV0dXJuIGNwdV9vbmxpbmVfbWFwOworfQorc3RhdGljIGlubGluZSBpbnQgbm9kZV90b19maXJzdF9jcHUoaW50IG5vZGUpCit7CisJcmV0dXJuIGZpcnN0X2NwdShjcHVfb25saW5lX21hcCk7Cit9CisKKy8qIFJlcGxhY2UgZGVmYXVsdCBub2RlX3RvX2NwdW1hc2tfcHRyIHdpdGggb3B0aW1pemVkIHZlcnNpb24gKi8KKyNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cih2LCBub2RlKQkJXAorCQljb25zdCBjcHVtYXNrX3QgKnYgPSBfbm9kZV90b19jcHVtYXNrX3B0cihub2RlKQorCisjZGVmaW5lIG5vZGVfdG9fY3B1bWFza19wdHJfbmV4dCh2LCBub2RlKQlcCisJCQkgICB2ID0gX25vZGVfdG9fY3B1bWFza19wdHIobm9kZSkKICNlbmRpZgogCiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvdG9wb2xvZ3kuaD4KIAorI2lmZGVmIENPTkZJR19OVU1BCisvKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIGZpcnN0IENQVSBvbiBOb2RlICdub2RlJy4gKi8KK3N0YXRpYyBpbmxpbmUgaW50IG5vZGVfdG9fZmlyc3RfY3B1KGludCBub2RlKQoreworCW5vZGVfdG9fY3B1bWFza19wdHIobWFzaywgbm9kZSk7CisJcmV0dXJuIGZpcnN0X2NwdSgqbWFzayk7Cit9CisjZW5kaWYKKwogZXh0ZXJuIGNwdW1hc2tfdCBjcHVfY29yZWdyb3VwX21hcChpbnQgY3B1KTsKIAogI2lmZGVmIEVOQUJMRV9UT1BPX0RFRklORVMKQEAgLTE5Myw2ICsyMjUsOSBAQAogI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkJCQkoY3B1X2RhdGEoY3B1KS5jcHVfY29yZV9pZCkKICNkZWZpbmUgdG9wb2xvZ3lfY29yZV9zaWJsaW5ncyhjcHUpCQkocGVyX2NwdShjcHVfY29yZV9tYXAsIGNwdSkpCiAjZGVmaW5lIHRvcG9sb2d5X3RocmVhZF9zaWJsaW5ncyhjcHUpCQkocGVyX2NwdShjcHVfc2libGluZ19tYXAsIGNwdSkpCisKKy8qIGluZGljYXRlcyB0aGF0IHBvaW50ZXJzIHRvIHRoZSB0b3BvbG9neSBjcHVtYXNrX3QgbWFwcyBhcmUgdmFsaWQgKi8KKyNkZWZpbmUgYXJjaF9wcm92aWRlc190b3BvbG9neV9wb2ludGVycwkJeWVzCiAjZW5kaWYKIAogc3RhdGljIGlubGluZSB2b2lkIGFyY2hfZml4X3BoeXNfcGFja2FnZV9pZChpbnQgbnVtLCB1MzIgc2xvdCkKQEAgLTIyMCw0ICsyNTUsNCBAQAogfQogI2VuZGlmCiAKLSNlbmRpZgorI2VuZGlmIC8qIF9BU01fWDg2X1RPUE9MT0dZX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90c2MuaCBiL2luY2x1ZGUvYXNtLXg4Ni90c2MuaAppbmRleCA1NDg4NzNhLi5jYjZmNmVlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdHNjLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3RzYy5oCkBAIC00OCw3ICs0OCw2IEBACiBleHRlcm4gdm9pZCB0c2NfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbik7CiBleHRlcm4gaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRfdHNjX2Nsb2Nrc291cmNlKHZvaWQpOwogaW50IGNoZWNrX3RzY191bnN0YWJsZSh2b2lkKTsKIAogLyoKQEAgLTU4LDcgKzU3LDYgQEAKIGV4dGVybiB2b2lkIGNoZWNrX3RzY19zeW5jX3NvdXJjZShpbnQgY3B1KTsKIGV4dGVybiB2b2lkIGNoZWNrX3RzY19zeW5jX3RhcmdldCh2b2lkKTsKIAotZXh0ZXJuIHZvaWQgdHNjX2NhbGlicmF0ZSh2b2lkKTsKIGV4dGVybiBpbnQgbm90c2Nfc2V0dXAoY2hhciAqKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzcy5oIGIvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3MuaAppbmRleCA5ZmVmZDI5Li5mNmZhNGQ4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzLmgKQEAgLTEsNSArMSw0NTMgQEAKKyNpZm5kZWYgX0FTTV9VQUNDRVNfSF8KKyNkZWZpbmUgX0FTTV9VQUNDRVNfSF8KKy8qCisgKiBVc2VyIHNwYWNlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zCisgKi8KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisjaW5jbHVkZSA8bGludXgvdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGFzbS9hc20uaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorCisjZGVmaW5lIFZFUklGWV9SRUFEIDAKKyNkZWZpbmUgVkVSSUZZX1dSSVRFIDEKKworLyoKKyAqIFRoZSBmcyB2YWx1ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYXJndW1lbnQgdmFsaWRpdHkgY2hlY2tpbmcgc2hvdWxkIGJlCisgKiBwZXJmb3JtZWQgb3Igbm90LiAgSWYgZ2V0X2ZzKCkgPT0gVVNFUl9EUywgY2hlY2tpbmcgaXMgcGVyZm9ybWVkLCB3aXRoCisgKiBnZXRfZnMoKSA9PSBLRVJORUxfRFMsIGNoZWNraW5nIGlzIGJ5cGFzc2VkLgorICoKKyAqIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIHRoZXNlIG1hY3JvcyBhcmUgZ3Jvc3NseSBtaXNuYW1lZC4KKyAqLworCisjZGVmaW5lIE1BS0VfTU1fU0VHKHMpCSgobW1fc2VnbWVudF90KSB7IChzKSB9KQorCisjZGVmaW5lIEtFUk5FTF9EUwlNQUtFX01NX1NFRygtMVVMKQorI2RlZmluZSBVU0VSX0RTCQlNQUtFX01NX1NFRyhQQUdFX09GRlNFVCkKKworI2RlZmluZSBnZXRfZHMoKQkoS0VSTkVMX0RTKQorI2RlZmluZSBnZXRfZnMoKQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0KQorI2RlZmluZSBzZXRfZnMoeCkJKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdCA9ICh4KSkKKworI2RlZmluZSBzZWdtZW50X2VxKGEsIGIpCSgoYSkuc2VnID09IChiKS5zZWcpCisKKyNkZWZpbmUgX19hZGRyX29rKGFkZHIpCQkJCQlcCisJKCh1bnNpZ25lZCBsb25nIF9fZm9yY2UpKGFkZHIpIDwJCVwKKwkgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKQorCisvKgorICogVGVzdCB3aGV0aGVyIGEgYmxvY2sgb2YgbWVtb3J5IGlzIGEgdmFsaWQgdXNlciBzcGFjZSBhZGRyZXNzLgorICogUmV0dXJucyAwIGlmIHRoZSByYW5nZSBpcyB2YWxpZCwgbm9uemVybyBvdGhlcndpc2UuCisgKgorICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBmb2xsb3dpbmcgdGVzdDoKKyAqICh1MzMpYWRkciArICh1MzMpc2l6ZSA+PSAodTMzKWN1cnJlbnQtPmFkZHJfbGltaXQuc2VnICh1NjUgZm9yIHg4Nl82NCkKKyAqCisgKiBUaGlzIG5lZWRzIDMzLWJpdCAoNjUtYml0IGZvciB4ODZfNjQpIGFyaXRobWV0aWMuIFdlIGhhdmUgYSBjYXJyeS4uLgorICovCisKKyNkZWZpbmUgX19yYW5nZV9ub3Rfb2soYWRkciwgc2l6ZSkJCQkJCVwKKyh7CQkJCQkJCQkJXAorCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAorCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKKwlhc20oImFkZCAlMywlMSA7IHNiYiAlMCwlMCA7IGNtcCAlMSwlNCA7IHNiYiAkMCwlMCIJCVwKKwkgICAgOiAiPSZyIiAoZmxhZyksICI9ciIgKHJva3N1bSkJCQkJXAorCSAgICA6ICIxIiAoYWRkciksICJnIiAoKGxvbmcpKHNpemUpKSwJCQkJXAorCSAgICAgICJybSIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKKwlmbGFnOwkJCQkJCQkJXAorfSkKKworLyoqCisgKiBhY2Nlc3Nfb2s6IC0gQ2hlY2tzIGlmIGEgdXNlciBzcGFjZSBwb2ludGVyIGlzIHZhbGlkCisgKiBAdHlwZTogVHlwZSBvZiBhY2Nlc3M6ICVWRVJJRllfUkVBRCBvciAlVkVSSUZZX1dSSVRFLiAgTm90ZSB0aGF0CisgKiAgICAgICAgJVZFUklGWV9XUklURSBpcyBhIHN1cGVyc2V0IG9mICVWRVJJRllfUkVBRCAtIGlmIGl0IGlzIHNhZmUKKyAqICAgICAgICB0byB3cml0ZSB0byBhIGJsb2NrLCBpdCBpcyBhbHdheXMgc2FmZSB0byByZWFkIGZyb20gaXQuCisgKiBAYWRkcjogVXNlciBzcGFjZSBwb2ludGVyIHRvIHN0YXJ0IG9mIGJsb2NrIHRvIGNoZWNrCisgKiBAc2l6ZTogU2l6ZSBvZiBibG9jayB0byBjaGVjaworICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogQ2hlY2tzIGlmIGEgcG9pbnRlciB0byBhIGJsb2NrIG9mIG1lbW9yeSBpbiB1c2VyIHNwYWNlIGlzIHZhbGlkLgorICoKKyAqIFJldHVybnMgdHJ1ZSAobm9uemVybykgaWYgdGhlIG1lbW9yeSBibG9jayBtYXkgYmUgdmFsaWQsIGZhbHNlICh6ZXJvKQorICogaWYgaXQgaXMgZGVmaW5pdGVseSBpbnZhbGlkLgorICoKKyAqIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIGFyY2hpdGVjdHVyZSwgdGhpcyBmdW5jdGlvbiBwcm9iYWJseSBqdXN0CisgKiBjaGVja3MgdGhhdCB0aGUgcG9pbnRlciBpcyBpbiB0aGUgdXNlciBzcGFjZSByYW5nZSAtIGFmdGVyIGNhbGxpbmcKKyAqIHRoaXMgZnVuY3Rpb24sIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIG1heSBzdGlsbCByZXR1cm4gLUVGQVVMVC4KKyAqLworI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKGxpa2VseShfX3JhbmdlX25vdF9vayhhZGRyLCBzaXplKSA9PSAwKSkKKworLyoKKyAqIFRoZSBleGNlcHRpb24gdGFibGUgY29uc2lzdHMgb2YgcGFpcnMgb2YgYWRkcmVzc2VzOiB0aGUgZmlyc3QgaXMgdGhlCisgKiBhZGRyZXNzIG9mIGFuIGluc3RydWN0aW9uIHRoYXQgaXMgYWxsb3dlZCB0byBmYXVsdCwgYW5kIHRoZSBzZWNvbmQgaXMKKyAqIHRoZSBhZGRyZXNzIGF0IHdoaWNoIHRoZSBwcm9ncmFtIHNob3VsZCBjb250aW51ZS4gIE5vIHJlZ2lzdGVycyBhcmUKKyAqIG1vZGlmaWVkLCBzbyBpdCBpcyBlbnRpcmVseSB1cCB0byB0aGUgY29udGludWF0aW9uIGNvZGUgdG8gZmlndXJlIG91dAorICogd2hhdCB0byBkby4KKyAqCisgKiBBbGwgdGhlIHJvdXRpbmVzIGJlbG93IHVzZSBiaXRzIG9mIGZpeHVwIGNvZGUgdGhhdCBhcmUgb3V0IG9mIGxpbmUKKyAqIHdpdGggdGhlIG1haW4gaW5zdHJ1Y3Rpb24gcGF0aC4gIFRoaXMgbWVhbnMgd2hlbiBldmVyeXRoaW5nIGlzIHdlbGwsCisgKiB3ZSBkb24ndCBldmVuIGhhdmUgdG8ganVtcCBvdmVyIHRoZW0uICBGdXJ0aGVyLCB0aGV5IGRvIG5vdCBpbnRydWRlCisgKiBvbiBvdXIgY2FjaGUgb3IgdGxiIGVudHJpZXMuCisgKi8KKworc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSB7CisJdW5zaWduZWQgbG9uZyBpbnNuLCBmaXh1cDsKK307CisKK2V4dGVybiBpbnQgZml4dXBfZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKKworLyoKKyAqIFRoZXNlIGFyZSB0aGUgbWFpbiBzaW5nbGUtdmFsdWUgdHJhbnNmZXIgcm91dGluZXMuICBUaGV5IGF1dG9tYXRpY2FsbHkKKyAqIHVzZSB0aGUgcmlnaHQgc2l6ZSBpZiB3ZSBqdXN0IGhhdmUgdGhlIHJpZ2h0IHBvaW50ZXIgdHlwZS4KKyAqCisgKiBUaGlzIGdldHMga2luZCBvZiB1Z2x5LiBXZSB3YW50IHRvIHJldHVybiBfdHdvXyB2YWx1ZXMgaW4gImdldF91c2VyKCkiCisgKiBhbmQgeWV0IHdlIGRvbid0IHdhbnQgdG8gZG8gYW55IHBvaW50ZXJzLCBiZWNhdXNlIHRoYXQgaXMgdG9vIG11Y2gKKyAqIG9mIGEgcGVyZm9ybWFuY2UgaW1wYWN0LiBUaHVzIHdlIGhhdmUgYSBmZXcgcmF0aGVyIHVnbHkgbWFjcm9zIGhlcmUsCisgKiBhbmQgaGlkZSBhbGwgdGhlIHVnbGluZXNzIGZyb20gdGhlIHVzZXIuCisgKgorICogVGhlICJfX3h4eCIgdmVyc2lvbnMgb2YgdGhlIHVzZXIgYWNjZXNzIGZ1bmN0aW9ucyBhcmUgdmVyc2lvbnMgdGhhdAorICogZG8gbm90IHZlcmlmeSB0aGUgYWRkcmVzcyBzcGFjZSwgdGhhdCBtdXN0IGhhdmUgYmVlbiBkb25lIHByZXZpb3VzbHkKKyAqIHdpdGggYSBzZXBhcmF0ZSAiYWNjZXNzX29rKCkiIGNhbGwgKHRoaXMgaXMgdXNlZCB3aGVuIHdlIGRvIG11bHRpcGxlCisgKiBhY2Nlc3NlcyB0byB0aGUgc2FtZSBhcmVhIG9mIHVzZXIgbWVtb3J5KS4KKyAqLworCitleHRlcm4gaW50IF9fZ2V0X3VzZXJfMSh2b2lkKTsKK2V4dGVybiBpbnQgX19nZXRfdXNlcl8yKHZvaWQpOworZXh0ZXJuIGludCBfX2dldF91c2VyXzQodm9pZCk7CitleHRlcm4gaW50IF9fZ2V0X3VzZXJfOCh2b2lkKTsKK2V4dGVybiBpbnQgX19nZXRfdXNlcl9iYWQodm9pZCk7CisKKyNkZWZpbmUgX19nZXRfdXNlcl94KHNpemUsIHJldCwgeCwgcHRyKQkJICAgICAgXAorCWFzbSB2b2xhdGlsZSgiY2FsbCBfX2dldF91c2VyXyIgI3NpemUJICAgICAgXAorCQkgICAgIDogIj1hIiAocmV0KSwiPWQiICh4KQkgICAgICBcCisJCSAgICAgOiAiMCIgKHB0cikpCQkgICAgICBcCisKKy8qIENhcmVmdWw6IHdlIGhhdmUgdG8gY2FzdCB0aGUgcmVzdWx0IHRvIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyCisgKiBmb3Igc2lnbiByZWFzb25zICovCisKKy8qKgorICogZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZS4KKyAqIEB4OiAgIFZhcmlhYmxlIHRvIHN0b3JlIHJlc3VsdC4KKyAqIEBwdHI6IFNvdXJjZSBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgorICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSB0byBrZXJuZWwKKyAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgorICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgorICoKKyAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCB0aGUgcmVzdWx0IG9mCisgKiBkZXJlZmVyZW5jaW5nIEBwdHIgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIEB4IHdpdGhvdXQgYSBjYXN0LgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICogT24gZXJyb3IsIHRoZSB2YXJpYWJsZSBAeCBpcyBzZXQgdG8gemVyby4KKyAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX19nZXRfdXNlcl84KF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKQkJCQlcCisJCV9fZ2V0X3VzZXJfeChYLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cikKKyNlbHNlCisjZGVmaW5lIF9fZ2V0X3VzZXJfOChfX3JldF9ndSwgX192YWxfZ3UsIHB0cikJCQkJXAorCQlfX2dldF91c2VyX3goOCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpCisjZW5kaWYKKworI2RlZmluZSBnZXRfdXNlcih4LCBwdHIpCQkJCQkJXAorKHsJCQkJCQkJCQlcCisJaW50IF9fcmV0X2d1OwkJCQkJCQlcCisJdW5zaWduZWQgbG9uZyBfX3ZhbF9ndTsJCQkJCQlcCisJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCisJc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQkJXAorCWNhc2UgMToJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl94KDEsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDI6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfeCgyLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSA0OgkJCQkJCQkJXAorCQlfX2dldF91c2VyX3goNCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgODoJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl84KF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCQlcCisJCWJyZWFrOwkJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQkJXAorCQlfX2dldF91c2VyX3goWCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCX0JCQkJCQkJCVwKKwkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fdmFsX2d1OwkJCQlcCisJX19yZXRfZ3U7CQkJCQkJCVwKK30pCisKKyNkZWZpbmUgX19wdXRfdXNlcl94KHNpemUsIHgsIHB0ciwgX19yZXRfcHUpCQkJXAorCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXyIgI3NpemUgOiAiPWEiIChfX3JldF9wdSkJXAorCQkgICAgIDoiMCIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikgOiAiZWJ4IikKKworCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIGFkZHIsIGVycikJCQkJCVwKKwlhc20gdm9sYXRpbGUoIjE6CW1vdmwgJSVlYXgsMCglMilcbiIJCQlcCisJCSAgICAgIjI6CW1vdmwgJSVlZHgsNCglMilcbiIJCQlcCisJCSAgICAgIjM6XG4iCQkJCQkJXAorCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKKwkJICAgICAiNDoJbW92bCAlMywlMFxuIgkJCQlcCisJCSAgICAgIglqbXAgM2JcbiIJCQkJCVwKKwkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCisJCSAgICAgX0FTTV9FWFRBQkxFKDFiLCA0YikJCQkJXAorCQkgICAgIF9BU01fRVhUQUJMRSgyYiwgNGIpCQkJCVwKKwkJICAgICA6ICI9ciIgKGVycikJCQkJCVwKKwkJICAgICA6ICJBIiAoeCksICJyIiAoYWRkciksICJpIiAoLUVGQVVMVCksICIwIiAoZXJyKSkKKworI2RlZmluZSBfX3B1dF91c2VyX3g4KHgsIHB0ciwgX19yZXRfcHUpCQkJCVwKKwlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl84IiA6ICI9YSIgKF9fcmV0X3B1KQlcCisJCSAgICAgOiAiQSIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikgOiAiZWJ4IikKKyNlbHNlCisjZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIHB0ciwgcmV0dmFsKSBcCisJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJxIiwgIiIsICJaciIsIC1FRkFVTFQpCisjZGVmaW5lIF9fcHV0X3VzZXJfeDgoeCwgcHRyLCBfX3JldF9wdSkgX19wdXRfdXNlcl94KDgsIHgsIHB0ciwgX19yZXRfcHUpCisjZW5kaWYKKworZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl9iYWQodm9pZCk7CisKKy8qCisgKiBTdHJhbmdlIG1hZ2ljIGNhbGxpbmcgY29udmVudGlvbjogcG9pbnRlciBpbiAlZWN4LAorICogdmFsdWUgaW4gJWVheCg6JWVkeCksIHJldHVybiB2YWx1ZSBpbiAlZWF4LiBjbG9iYmVycyAlcmJ4CisgKi8KK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfMSh2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfMih2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfNCh2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfOCh2b2lkKTsKKworI2lmZGVmIENPTkZJR19YODZfV1BfV09SS1NfT0sKKworLyoqCisgKiBwdXRfdXNlcjogLSBXcml0ZSBhIHNpbXBsZSB2YWx1ZSBpbnRvIHVzZXIgc3BhY2UuCisgKiBAeDogICBWYWx1ZSB0byBjb3B5IHRvIHVzZXIgc3BhY2UuCisgKiBAcHRyOiBEZXN0aW5hdGlvbiBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgorICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhbHVlIGZyb20ga2VybmVsIHNwYWNlIHRvIHVzZXIKKyAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgorICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgorICoKKyAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCBAeCBtdXN0IGJlIGFzc2lnbmFibGUKKyAqIHRvIHRoZSByZXN1bHQgb2YgZGVyZWZlcmVuY2luZyBAcHRyLgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICovCisjZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKKyh7CQkJCQkJCQlcCisJaW50IF9fcmV0X3B1OwkJCQkJCVwKKwlfX3R5cGVvZl9fKCoocHRyKSkgX19wdV92YWw7CQkJCVwKKwlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJXAorCV9fcHVfdmFsID0geDsJCQkJCQlcCisJc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQlcCisJY2FzZSAxOgkJCQkJCQlcCisJCV9fcHV0X3VzZXJfeCgxLCBfX3B1X3ZhbCwgcHRyLCBfX3JldF9wdSk7CVwKKwkJYnJlYWs7CQkJCQkJXAorCWNhc2UgMjoJCQkJCQkJXAorCQlfX3B1dF91c2VyX3goMiwgX19wdV92YWwsIHB0ciwgX19yZXRfcHUpOwlcCisJCWJyZWFrOwkJCQkJCVwKKwljYXNlIDQ6CQkJCQkJCVwKKwkJX19wdXRfdXNlcl94KDQsIF9fcHVfdmFsLCBwdHIsIF9fcmV0X3B1KTsJXAorCQlicmVhazsJCQkJCQlcCisJY2FzZSA4OgkJCQkJCQlcCisJCV9fcHV0X3VzZXJfeDgoX19wdV92YWwsIHB0ciwgX19yZXRfcHUpOwkJXAorCQlicmVhazsJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQlcCisJCV9fcHV0X3VzZXJfeChYLCBfX3B1X3ZhbCwgcHRyLCBfX3JldF9wdSk7CVwKKwkJYnJlYWs7CQkJCQkJXAorCX0JCQkJCQkJXAorCV9fcmV0X3B1OwkJCQkJCVwKK30pCisKKyNkZWZpbmUgX19wdXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAorZG8gewkJCQkJCQkJCVwKKwlyZXR2YWwgPSAwOwkJCQkJCQlcCisJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCisJc3dpdGNoIChzaXplKSB7CQkJCQkJCVwKKwljYXNlIDE6CQkJCQkJCQlcCisJCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAiYiIsICJiIiwgImlxIiwgZXJycmV0KTsJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgMjoJCQkJCQkJCVwKKwkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJ3IiwgInciLCAiaXIiLCBlcnJyZXQpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSA0OgkJCQkJCQkJXAorCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImwiLCAiayIsICAiaXIiLCBlcnJyZXQpO1wKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDg6CQkJCQkJCQlcCisJCV9fcHV0X3VzZXJfdTY0KChfX3R5cGVvZl9fKCpwdHIpKSh4KSwgcHRyLCByZXR2YWwpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQkJXAorCQlfX3B1dF91c2VyX2JhZCgpOwkJCQkJXAorCX0JCQkJCQkJCVwKK30gd2hpbGUgKDApCisKKyNlbHNlCisKKyNkZWZpbmUgX19wdXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAorZG8gewkJCQkJCQkJCVwKKwlfX3R5cGVvZl9fKCoocHRyKSlfX3B1c190bXAgPSB4OwkJCQlcCisJcmV0dmFsID0gMDsJCQkJCQkJXAorCQkJCQkJCQkJXAorCWlmICh1bmxpa2VseShfX2NvcHlfdG9fdXNlcl9sbChwdHIsICZfX3B1c190bXAsIHNpemUpICE9IDApKQlcCisJCXJldHZhbCA9IGVycnJldDsJCQkJCVwKK30gd2hpbGUgKDApCisKKyNkZWZpbmUgcHV0X3VzZXIoeCwgcHRyKQkJCQkJXAorKHsJCQkJCQkJCVwKKwlpbnQgX19yZXRfcHU7CQkJCQkJXAorCV9fdHlwZW9mX18oKihwdHIpKV9fcHVzX3RtcCA9IHg7CQkJXAorCV9fcmV0X3B1ID0gMDsJCQkJCQlcCisJaWYgKHVubGlrZWx5KF9fY29weV90b191c2VyX2xsKHB0ciwgJl9fcHVzX3RtcCwJCVwKKwkJCQkgICAgICAgc2l6ZW9mKCoocHRyKSkpICE9IDApKQlcCisJCV9fcmV0X3B1ID0gLUVGQVVMVDsJCQkJXAorCV9fcmV0X3B1OwkJCQkJCVwKK30pCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX19nZXRfdXNlcl9hc21fdTY0KHgsIHB0ciwgcmV0dmFsLCBlcnJyZXQpCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCkKKyNlbHNlCisjZGVmaW5lIF9fZ2V0X3VzZXJfYXNtX3U2NCh4LCBwdHIsIHJldHZhbCwgZXJycmV0KSBcCisJIF9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAicSIsICIiLCAiPXIiLCBlcnJyZXQpCisjZW5kaWYKKworI2RlZmluZSBfX2dldF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCitkbyB7CQkJCQkJCQkJXAorCXJldHZhbCA9IDA7CQkJCQkJCVwKKwlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKKwlzd2l0Y2ggKHNpemUpIHsJCQkJCQkJXAorCWNhc2UgMToJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJiIiwgImIiLCAiPXEiLCBlcnJyZXQpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSAyOgkJCQkJCQkJXAorCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInciLCAidyIsICI9ciIsIGVycnJldCk7CVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDQ6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAibCIsICJrIiwgIj1yIiwgZXJycmV0KTsJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgODoJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl9hc21fdTY0KHgsIHB0ciwgcmV0dmFsLCBlcnJyZXQpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCWRlZmF1bHQ6CQkJCQkJCVwKKwkJKHgpID0gX19nZXRfdXNlcl9iYWQoKTsJCQkJCVwKKwl9CQkJCQkJCQlcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfYXNtKHgsIGFkZHIsIGVyciwgaXR5cGUsIHJ0eXBlLCBsdHlwZSwgZXJycmV0KQlcCisJYXNtIHZvbGF0aWxlKCIxOgltb3YiaXR5cGUiICUyLCUicnR5cGUiMVxuIgkJXAorCQkgICAgICIyOlxuIgkJCQkJCVwKKwkJICAgICAiLnNlY3Rpb24gLmZpeHVwLFwiYXhcIlxuIgkJCQlcCisJCSAgICAgIjM6CW1vdiAlMywlMFxuIgkJCQlcCisJCSAgICAgIgl4b3IiaXR5cGUiICUicnR5cGUiMSwlInJ0eXBlIjFcbiIJCVwKKwkJICAgICAiCWptcCAyYlxuIgkJCQkJXAorCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKKwkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCisJCSAgICAgOiAiPXIiIChlcnIpLCBsdHlwZSh4KQkJCQlcCisJCSAgICAgOiAibSIgKF9fbShhZGRyKSksICJpIiAoZXJycmV0KSwgIjAiIChlcnIpKQorCisjZGVmaW5lIF9fcHV0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQkJXAorKHsJCQkJCQkJCVwKKwlsb25nIF9fcHVfZXJyOwkJCQkJCVwKKwlfX3B1dF91c2VyX3NpemUoKHgpLCAocHRyKSwgKHNpemUpLCBfX3B1X2VyciwgLUVGQVVMVCk7CVwKKwlfX3B1X2VycjsJCQkJCQlcCit9KQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQkJCVwKKyh7CQkJCQkJCQkJXAorCWxvbmcgX19ndV9lcnI7CQkJCQkJCVwKKwl1bnNpZ25lZCBsb25nIF9fZ3VfdmFsOwkJCQkJCVwKKwlfX2dldF91c2VyX3NpemUoX19ndV92YWwsIChwdHIpLCAoc2l6ZSksIF9fZ3VfZXJyLCAtRUZBVUxUKTsJXAorCSh4KSA9IChfX2ZvcmNlIF9fdHlwZW9mX18oKihwdHIpKSlfX2d1X3ZhbDsJCQlcCisJX19ndV9lcnI7CQkJCQkJCVwKK30pCisKKy8qIEZJWE1FOiB0aGlzIGhhY2sgaXMgZGVmaW5pdGVseSB3cm9uZyAtQUsgKi8KK3N0cnVjdCBfX2xhcmdlX3N0cnVjdCB7IHVuc2lnbmVkIGxvbmcgYnVmWzEwMF07IH07CisjZGVmaW5lIF9fbSh4KSAoKihzdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgX191c2VyICopKHgpKQorCisvKgorICogVGVsbCBnY2Mgd2UgcmVhZCBmcm9tIG1lbW9yeSBpbnN0ZWFkIG9mIHdyaXRpbmc6IHRoaXMgaXMgYmVjYXVzZQorICogd2UgZG8gbm90IHdyaXRlIHRvIGFueSBtZW1vcnkgZ2NjIGtub3dzIGFib3V0LCBzbyB0aGVyZSBhcmUgbm8KKyAqIGFsaWFzaW5nIGlzc3Vlcy4KKyAqLworI2RlZmluZSBfX3B1dF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycnJldCkJXAorCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlInJ0eXBlIjEsJTJcbiIJCVwKKwkJICAgICAiMjpcbiIJCQkJCQlcCisJCSAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiIJCQkJXAorCQkgICAgICIzOgltb3YgJTMsJTBcbiIJCQkJXAorCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCisJCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAorCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKKwkJICAgICA6ICI9ciIoZXJyKQkJCQkJXAorCQkgICAgIDogbHR5cGUoeCksICJtIiAoX19tKGFkZHIpKSwgImkiIChlcnJyZXQpLCAiMCIgKGVycikpCisvKioKKyAqIF9fZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgorICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgorICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCisgKgorICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KKyAqCisgKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAorICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCisgKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCisgKgorICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKKyAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCisgKgorICogQ2FsbGVyIG11c3QgY2hlY2sgdGhlIHBvaW50ZXIgd2l0aCBhY2Nlc3Nfb2soKSBiZWZvcmUgY2FsbGluZyB0aGlzCisgKiBmdW5jdGlvbi4KKyAqCisgKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KKyAqIE9uIGVycm9yLCB0aGUgdmFyaWFibGUgQHggaXMgc2V0IHRvIHplcm8uCisgKi8KKworI2RlZmluZSBfX2dldF91c2VyKHgsIHB0cikJCQkJCQlcCisJX19nZXRfdXNlcl9ub2NoZWNrKCh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQorLyoqCisgKiBfX3B1dF91c2VyOiAtIFdyaXRlIGEgc2ltcGxlIHZhbHVlIGludG8gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgorICogQHg6ICAgVmFsdWUgdG8gY29weSB0byB1c2VyIHNwYWNlLgorICogQHB0cjogRGVzdGluYXRpb24gYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KKyAqCisgKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgorICoKKyAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YWx1ZSBmcm9tIGtlcm5lbCBzcGFjZSB0byB1c2VyCisgKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKKyAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KKyAqCisgKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgQHggbXVzdCBiZSBhc3NpZ25hYmxlCisgKiB0byB0aGUgcmVzdWx0IG9mIGRlcmVmZXJlbmNpbmcgQHB0ci4KKyAqCisgKiBDYWxsZXIgbXVzdCBjaGVjayB0aGUgcG9pbnRlciB3aXRoIGFjY2Vzc19vaygpIGJlZm9yZSBjYWxsaW5nIHRoaXMKKyAqIGZ1bmN0aW9uLgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICovCisKKyNkZWZpbmUgX19wdXRfdXNlcih4LCBwdHIpCQkJCQkJXAorCV9fcHV0X3VzZXJfbm9jaGVjaygoX190eXBlb2ZfXygqKHB0cikpKSh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfdW5hbGlnbmVkIF9fZ2V0X3VzZXIKKyNkZWZpbmUgX19wdXRfdXNlcl91bmFsaWduZWQgX19wdXRfdXNlcgorCisvKgorICogbW92c2wgY2FuIGJlIHNsb3cgd2hlbiBzb3VyY2UgYW5kIGRlc3QgYXJlIG5vdCBib3RoIDgtYnl0ZSBhbGlnbmVkCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2X0lOVEVMX1VTRVJDT1BZCitleHRlcm4gc3RydWN0IG1vdnNsX21hc2sgeworCWludCBtYXNrOworfSBfX19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIG1vdnNsX21hc2s7CisjZW5kaWYKKworI2RlZmluZSBBUkNIX0hBU19OT0NBQ0hFX1VBQ0NFU1MgMQorCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogIyBpbmNsdWRlICJ1YWNjZXNzXzMyLmgiCiAjZWxzZQorIyBkZWZpbmUgQVJDSF9IQVNfU0VBUkNIX0VYVEFCTEUKICMgaW5jbHVkZSAidWFjY2Vzc182NC5oIgogI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzMyLmgKaW5kZXggOGU3NTk1Yy4uNmZkZWYzOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc18zMi5oCkBAIC0xMSw0MjYgKzExLDYgQEAKICNpbmNsdWRlIDxhc20vYXNtLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KIAotI2RlZmluZSBWRVJJRllfUkVBRCAwCi0jZGVmaW5lIFZFUklGWV9XUklURSAxCi0KLS8qCi0gKiBUaGUgZnMgdmFsdWUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFyZ3VtZW50IHZhbGlkaXR5IGNoZWNraW5nIHNob3VsZCBiZQotICogcGVyZm9ybWVkIG9yIG5vdC4gIElmIGdldF9mcygpID09IFVTRVJfRFMsIGNoZWNraW5nIGlzIHBlcmZvcm1lZCwgd2l0aAotICogZ2V0X2ZzKCkgPT0gS0VSTkVMX0RTLCBjaGVja2luZyBpcyBieXBhc3NlZC4KLSAqCi0gKiBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGVzZSBtYWNyb3MgYXJlIGdyb3NzbHkgbWlzbmFtZWQuCi0gKi8KLQotI2RlZmluZSBNQUtFX01NX1NFRyhzKQkoKG1tX3NlZ21lbnRfdCkgeyAocykgfSkKLQotCi0jZGVmaW5lIEtFUk5FTF9EUwlNQUtFX01NX1NFRygweEZGRkZGRkZGVUwpCi0jZGVmaW5lIFVTRVJfRFMJCU1BS0VfTU1fU0VHKFBBR0VfT0ZGU0VUKQotCi0jZGVmaW5lIGdldF9kcygpCShLRVJORUxfRFMpCi0jZGVmaW5lIGdldF9mcygpCShjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQpCi0jZGVmaW5lIHNldF9mcyh4KQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0ID0gKHgpKQotCi0jZGVmaW5lIHNlZ21lbnRfZXEoYSwgYikJKChhKS5zZWcgPT0gKGIpLnNlZykKLQotLyoKLSAqIG1vdnNsIGNhbiBiZSBzbG93IHdoZW4gc291cmNlIGFuZCBkZXN0IGFyZSBub3QgYm90aCA4LWJ5dGUgYWxpZ25lZAotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9JTlRFTF9VU0VSQ09QWQotZXh0ZXJuIHN0cnVjdCBtb3ZzbF9tYXNrIHsKLQlpbnQgbWFzazsKLX0gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCBtb3ZzbF9tYXNrOwotI2VuZGlmCi0KLSNkZWZpbmUgX19hZGRyX29rKGFkZHIpCQkJCQlcCi0JKCh1bnNpZ25lZCBsb25nIF9fZm9yY2UpKGFkZHIpIDwJCVwKLQkgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKQotCi0vKgotICogVGVzdCB3aGV0aGVyIGEgYmxvY2sgb2YgbWVtb3J5IGlzIGEgdmFsaWQgdXNlciBzcGFjZSBhZGRyZXNzLgotICogUmV0dXJucyAwIGlmIHRoZSByYW5nZSBpcyB2YWxpZCwgbm9uemVybyBvdGhlcndpc2UuCi0gKgotICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBmb2xsb3dpbmcgdGVzdDoKLSAqICh1MzMpYWRkciArICh1MzMpc2l6ZSA+PSAodTMzKWN1cnJlbnQtPmFkZHJfbGltaXQuc2VnCi0gKgotICogVGhpcyBuZWVkcyAzMy1iaXQgYXJpdGhtZXRpYy4gV2UgaGF2ZSBhIGNhcnJ5Li4uCi0gKi8KLSNkZWZpbmUgX19yYW5nZV9vayhhZGRyLCBzaXplKQkJCQkJCVwKLSh7CQkJCQkJCQkJXAotCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKLQlhc20oImFkZGwgJTMsJTEgOyBzYmJsICUwLCUwOyBjbXBsICUxLCU0OyBzYmJsICQwLCUwIgkJXAotCSAgICA6Ij0mciIgKGZsYWcpLCAiPXIiIChyb2tzdW0pCQkJCVwKLQkgICAgOiIxIiAoYWRkciksICJnIiAoKGludCkoc2l6ZSkpLAkJCQlcCi0JICAgICJybSIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKLQlmbGFnOwkJCQkJCQkJXAotfSkKLQotLyoqCi0gKiBhY2Nlc3Nfb2s6IC0gQ2hlY2tzIGlmIGEgdXNlciBzcGFjZSBwb2ludGVyIGlzIHZhbGlkCi0gKiBAdHlwZTogVHlwZSBvZiBhY2Nlc3M6ICVWRVJJRllfUkVBRCBvciAlVkVSSUZZX1dSSVRFLiAgTm90ZSB0aGF0Ci0gKiAgICAgICAgJVZFUklGWV9XUklURSBpcyBhIHN1cGVyc2V0IG9mICVWRVJJRllfUkVBRCAtIGlmIGl0IGlzIHNhZmUKLSAqICAgICAgICB0byB3cml0ZSB0byBhIGJsb2NrLCBpdCBpcyBhbHdheXMgc2FmZSB0byByZWFkIGZyb20gaXQuCi0gKiBAYWRkcjogVXNlciBzcGFjZSBwb2ludGVyIHRvIHN0YXJ0IG9mIGJsb2NrIHRvIGNoZWNrCi0gKiBAc2l6ZTogU2l6ZSBvZiBibG9jayB0byBjaGVjawotICoKLSAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCi0gKgotICogQ2hlY2tzIGlmIGEgcG9pbnRlciB0byBhIGJsb2NrIG9mIG1lbW9yeSBpbiB1c2VyIHNwYWNlIGlzIHZhbGlkLgotICoKLSAqIFJldHVybnMgdHJ1ZSAobm9uemVybykgaWYgdGhlIG1lbW9yeSBibG9jayBtYXkgYmUgdmFsaWQsIGZhbHNlICh6ZXJvKQotICogaWYgaXQgaXMgZGVmaW5pdGVseSBpbnZhbGlkLgotICoKLSAqIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIGFyY2hpdGVjdHVyZSwgdGhpcyBmdW5jdGlvbiBwcm9iYWJseSBqdXN0Ci0gKiBjaGVja3MgdGhhdCB0aGUgcG9pbnRlciBpcyBpbiB0aGUgdXNlciBzcGFjZSByYW5nZSAtIGFmdGVyIGNhbGxpbmcKLSAqIHRoaXMgZnVuY3Rpb24sIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIG1heSBzdGlsbCByZXR1cm4gLUVGQVVMVC4KLSAqLwotI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKGxpa2VseShfX3JhbmdlX29rKGFkZHIsIHNpemUpID09IDApKQotCi0vKgotICogVGhlIGV4Y2VwdGlvbiB0YWJsZSBjb25zaXN0cyBvZiBwYWlycyBvZiBhZGRyZXNzZXM6IHRoZSBmaXJzdCBpcyB0aGUKLSAqIGFkZHJlc3Mgb2YgYW4gaW5zdHJ1Y3Rpb24gdGhhdCBpcyBhbGxvd2VkIHRvIGZhdWx0LCBhbmQgdGhlIHNlY29uZCBpcwotICogdGhlIGFkZHJlc3MgYXQgd2hpY2ggdGhlIHByb2dyYW0gc2hvdWxkIGNvbnRpbnVlLiAgTm8gcmVnaXN0ZXJzIGFyZQotICogbW9kaWZpZWQsIHNvIGl0IGlzIGVudGlyZWx5IHVwIHRvIHRoZSBjb250aW51YXRpb24gY29kZSB0byBmaWd1cmUgb3V0Ci0gKiB3aGF0IHRvIGRvLgotICoKLSAqIEFsbCB0aGUgcm91dGluZXMgYmVsb3cgdXNlIGJpdHMgb2YgZml4dXAgY29kZSB0aGF0IGFyZSBvdXQgb2YgbGluZQotICogd2l0aCB0aGUgbWFpbiBpbnN0cnVjdGlvbiBwYXRoLiAgVGhpcyBtZWFucyB3aGVuIGV2ZXJ5dGhpbmcgaXMgd2VsbCwKLSAqIHdlIGRvbid0IGV2ZW4gaGF2ZSB0byBqdW1wIG92ZXIgdGhlbS4gIEZ1cnRoZXIsIHRoZXkgZG8gbm90IGludHJ1ZGUKLSAqIG9uIG91ciBjYWNoZSBvciB0bGIgZW50cmllcy4KLSAqLwotCi1zdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5IHsKLQl1bnNpZ25lZCBsb25nIGluc24sIGZpeHVwOwotfTsKLQotZXh0ZXJuIGludCBmaXh1cF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwotCi0vKgotICogVGhlc2UgYXJlIHRoZSBtYWluIHNpbmdsZS12YWx1ZSB0cmFuc2ZlciByb3V0aW5lcy4gIFRoZXkgYXV0b21hdGljYWxseQotICogdXNlIHRoZSByaWdodCBzaXplIGlmIHdlIGp1c3QgaGF2ZSB0aGUgcmlnaHQgcG9pbnRlciB0eXBlLgotICoKLSAqIFRoaXMgZ2V0cyBraW5kIG9mIHVnbHkuIFdlIHdhbnQgdG8gcmV0dXJuIF90d29fIHZhbHVlcyBpbiAiZ2V0X3VzZXIoKSIKLSAqIGFuZCB5ZXQgd2UgZG9uJ3Qgd2FudCB0byBkbyBhbnkgcG9pbnRlcnMsIGJlY2F1c2UgdGhhdCBpcyB0b28gbXVjaAotICogb2YgYSBwZXJmb3JtYW5jZSBpbXBhY3QuIFRodXMgd2UgaGF2ZSBhIGZldyByYXRoZXIgdWdseSBtYWNyb3MgaGVyZSwKLSAqIGFuZCBoaWRlIGFsbCB0aGUgdWdsaW5lc3MgZnJvbSB0aGUgdXNlci4KLSAqCi0gKiBUaGUgIl9feHh4IiB2ZXJzaW9ucyBvZiB0aGUgdXNlciBhY2Nlc3MgZnVuY3Rpb25zIGFyZSB2ZXJzaW9ucyB0aGF0Ci0gKiBkbyBub3QgdmVyaWZ5IHRoZSBhZGRyZXNzIHNwYWNlLCB0aGF0IG11c3QgaGF2ZSBiZWVuIGRvbmUgcHJldmlvdXNseQotICogd2l0aCBhIHNlcGFyYXRlICJhY2Nlc3Nfb2soKSIgY2FsbCAodGhpcyBpcyB1c2VkIHdoZW4gd2UgZG8gbXVsdGlwbGUKLSAqIGFjY2Vzc2VzIHRvIHRoZSBzYW1lIGFyZWEgb2YgdXNlciBtZW1vcnkpLgotICovCi0KLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfMSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfMih2b2lkKTsKLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfNCh2b2lkKTsKLQotI2RlZmluZSBfX2dldF91c2VyX3goc2l6ZSwgcmV0LCB4LCBwdHIpCSAgICAgIFwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19nZXRfdXNlcl8iICNzaXplIFwKLQkJICAgICA6Ij1hIiAocmV0KSwiPWQiICh4KSAgICAgXAotCQkgICAgIDoiMCIgKHB0cikpCi0KLQotLyogQ2FyZWZ1bDogd2UgaGF2ZSB0byBjYXN0IHRoZSByZXN1bHQgdG8gdGhlIHR5cGUgb2YgdGhlIHBvaW50ZXIKLSAqIGZvciBzaWduIHJlYXNvbnMgKi8KLQotLyoqCi0gKiBnZXRfdXNlcjogLSBHZXQgYSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlLgotICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgotICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCi0gKgotICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KLSAqCi0gKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAotICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCi0gKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCi0gKgotICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKLSAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCi0gKgotICogUmV0dXJucyB6ZXJvIG9uIHN1Y2Nlc3MsIG9yIC1FRkFVTFQgb24gZXJyb3IuCi0gKiBPbiBlcnJvciwgdGhlIHZhcmlhYmxlIEB4IGlzIHNldCB0byB6ZXJvLgotICovCi0jZGVmaW5lIGdldF91c2VyKHgsIHB0cikJCQkJCQlcCi0oewkJCQkJCQkJCVwKLQlpbnQgX19yZXRfZ3U7CQkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fdmFsX2d1OwkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemVvZigqKHB0cikpKSB7CQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goMSwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDIsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfeCg0LCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQkJXAotCQlfX2dldF91c2VyX3goWCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCX0JCQkJCQkJCVwKLQkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fdmFsX2d1OwkJCQlcCi0JX19yZXRfZ3U7CQkJCQkJCVwKLX0pCi0KLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfYmFkKHZvaWQpOwotCi0vKgotICogU3RyYW5nZSBtYWdpYyBjYWxsaW5nIGNvbnZlbnRpb246IHBvaW50ZXIgaW4gJWVjeCwKLSAqIHZhbHVlIGluICVlYXgoOiVlZHgpLCByZXR1cm4gdmFsdWUgaW4gJWVheCwgbm8gY2xvYmJlcnMuCi0gKi8KLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfMSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfMih2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfNCh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfOCh2b2lkKTsKLQotI2RlZmluZSBfX3B1dF91c2VyXzEoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzEiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzIoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzIiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzQoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzQiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzgoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzgiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICJBIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyX1goeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyX1giIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICJjIiAocHRyKSkKLQotLyoqCi0gKiBwdXRfdXNlcjogLSBXcml0ZSBhIHNpbXBsZSB2YWx1ZSBpbnRvIHVzZXIgc3BhY2UuCi0gKiBAeDogICBWYWx1ZSB0byBjb3B5IHRvIHVzZXIgc3BhY2UuCi0gKiBAcHRyOiBEZXN0aW5hdGlvbiBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgotICoKLSAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCi0gKgotICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhbHVlIGZyb20ga2VybmVsIHNwYWNlIHRvIHVzZXIKLSAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgotICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgotICoKLSAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCBAeCBtdXN0IGJlIGFzc2lnbmFibGUKLSAqIHRvIHRoZSByZXN1bHQgb2YgZGVyZWZlcmVuY2luZyBAcHRyLgotICoKLSAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9XUF9XT1JLU19PSwotCi0jZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fcmV0X3B1OwkJCQkJCVwKLQlfX3R5cGVvZl9fKCoocHRyKSkgX19wdV92YWw7CQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJXAotCV9fcHVfdmFsID0geDsJCQkJCQlcCi0Jc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQlcCi0JY2FzZSAxOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfMShfX3B1X3ZhbCwgcHRyKTsJCQlcCi0JCWJyZWFrOwkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCVwKLQkJX19wdXRfdXNlcl8yKF9fcHVfdmFsLCBwdHIpOwkJCVwKLQkJYnJlYWs7CQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJXAotCQlfX3B1dF91c2VyXzQoX19wdV92YWwsIHB0cik7CQkJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfOChfX3B1X3ZhbCwgcHRyKTsJCQlcCi0JCWJyZWFrOwkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCVwKLQkJX19wdXRfdXNlcl9YKF9fcHVfdmFsLCBwdHIpOwkJCVwKLQkJYnJlYWs7CQkJCQkJXAotCX0JCQkJCQkJXAotCV9fcmV0X3B1OwkJCQkJCVwKLX0pCi0KLSNlbHNlCi0jZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fcmV0X3B1OwkJCQkJCVwKLQlfX3R5cGVvZl9fKCoocHRyKSlfX3B1c190bXAgPSB4OwkJCVwKLQlfX3JldF9wdSA9IDA7CQkJCQkJXAotCWlmICh1bmxpa2VseShfX2NvcHlfdG9fdXNlcl9sbChwdHIsICZfX3B1c190bXAsCQlcCi0JCQkJICAgICAgIHNpemVvZigqKHB0cikpKSAhPSAwKSkJXAotCQlfX3JldF9wdSA9IC1FRkFVTFQ7CQkJCVwKLQlfX3JldF9wdTsJCQkJCQlcCi19KQotCi0KLSNlbmRpZgotCi0vKioKLSAqIF9fZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgotICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgotICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCi0gKgotICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KLSAqCi0gKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAotICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCi0gKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCi0gKgotICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKLSAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCi0gKgotICogQ2FsbGVyIG11c3QgY2hlY2sgdGhlIHBvaW50ZXIgd2l0aCBhY2Nlc3Nfb2soKSBiZWZvcmUgY2FsbGluZyB0aGlzCi0gKiBmdW5jdGlvbi4KLSAqCi0gKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KLSAqIE9uIGVycm9yLCB0aGUgdmFyaWFibGUgQHggaXMgc2V0IHRvIHplcm8uCi0gKi8KLSNkZWZpbmUgX19nZXRfdXNlcih4LCBwdHIpCQkJCVwKLQlfX2dldF91c2VyX25vY2hlY2soKHgpLCAocHRyKSwgc2l6ZW9mKCoocHRyKSkpCi0KLQotLyoqCi0gKiBfX3B1dF91c2VyOiAtIFdyaXRlIGEgc2ltcGxlIHZhbHVlIGludG8gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgotICogQHg6ICAgVmFsdWUgdG8gY29weSB0byB1c2VyIHNwYWNlLgotICogQHB0cjogRGVzdGluYXRpb24gYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KLSAqCi0gKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgotICoKLSAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YWx1ZSBmcm9tIGtlcm5lbCBzcGFjZSB0byB1c2VyCi0gKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKLSAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KLSAqCi0gKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgQHggbXVzdCBiZSBhc3NpZ25hYmxlCi0gKiB0byB0aGUgcmVzdWx0IG9mIGRlcmVmZXJlbmNpbmcgQHB0ci4KLSAqCi0gKiBDYWxsZXIgbXVzdCBjaGVjayB0aGUgcG9pbnRlciB3aXRoIGFjY2Vzc19vaygpIGJlZm9yZSBjYWxsaW5nIHRoaXMKLSAqIGZ1bmN0aW9uLgotICoKLSAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgotICovCi0jZGVmaW5lIF9fcHV0X3VzZXIoeCwgcHRyKQkJCQkJCVwKLQlfX3B1dF91c2VyX25vY2hlY2soKF9fdHlwZW9mX18oKihwdHIpKSkoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKLQotI2RlZmluZSBfX3B1dF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCVwKLSh7CQkJCQkJCQlcCi0JbG9uZyBfX3B1X2VycjsJCQkJCQlcCi0JX19wdXRfdXNlcl9zaXplKCh4KSwgKHB0ciksIChzaXplKSwgX19wdV9lcnIsIC1FRkFVTFQpOwlcCi0JX19wdV9lcnI7CQkJCQkJXAotfSkKLQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIGFkZHIsIGVycikJCQkJCVwKLQlhc20gdm9sYXRpbGUoIjE6CW1vdmwgJSVlYXgsMCglMilcbiIJCQlcCi0JCSAgICAgIjI6CW1vdmwgJSVlZHgsNCglMilcbiIJCQlcCi0JCSAgICAgIjM6XG4iCQkJCQkJXAotCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKLQkJICAgICAiNDoJbW92bCAlMywlMFxuIgkJCQlcCi0JCSAgICAgIglqbXAgM2JcbiIJCQkJCVwKLQkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCi0JCSAgICAgX0FTTV9FWFRBQkxFKDFiLCA0YikJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgyYiwgNGIpCQkJCVwKLQkJICAgICA6ICI9ciIgKGVycikJCQkJCVwKLQkJICAgICA6ICJBIiAoeCksICJyIiAoYWRkciksICJpIiAoLUVGQVVMVCksICIwIiAoZXJyKSkKLQotI2lmZGVmIENPTkZJR19YODZfV1BfV09SS1NfT0sKLQotI2RlZmluZSBfX3B1dF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCi1kbyB7CQkJCQkJCQkJXAotCXJldHZhbCA9IDA7CQkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemUpIHsJCQkJCQkJXAotCWNhc2UgMToJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJiIiwgImIiLCAiaXEiLCBlcnJyZXQpOwlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInciLCAidyIsICJpciIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAibCIsICIiLCAgImlyIiwgZXJycmV0KTsJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgODoJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl91NjQoKF9fdHlwZW9mX18oKnB0cikpKHgpLCBwdHIsIHJldHZhbCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2Vsc2UKLQotI2RlZmluZSBfX3B1dF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCi1kbyB7CQkJCQkJCQkJXAotCV9fdHlwZW9mX18oKihwdHIpKV9fcHVzX3RtcCA9IHg7CQkJCVwKLQlyZXR2YWwgPSAwOwkJCQkJCQlcCi0JCQkJCQkJCQlcCi0JaWYgKHVubGlrZWx5KF9fY29weV90b191c2VyX2xsKHB0ciwgJl9fcHVzX3RtcCwgc2l6ZSkgIT0gMCkpCVwKLQkJcmV0dmFsID0gZXJycmV0OwkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2VuZGlmCi1zdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIGJ1ZlsxMDBdOyB9OwotI2RlZmluZSBfX20oeCkgKCooc3RydWN0IF9fbGFyZ2Vfc3RydWN0IF9fdXNlciAqKSh4KSkKLQotLyoKLSAqIFRlbGwgZ2NjIHdlIHJlYWQgZnJvbSBtZW1vcnkgaW5zdGVhZCBvZiB3cml0aW5nOiB0aGlzIGlzIGJlY2F1c2UKLSAqIHdlIGRvIG5vdCB3cml0ZSB0byBhbnkgbWVtb3J5IGdjYyBrbm93cyBhYm91dCwgc28gdGhlcmUgYXJlIG5vCi0gKiBhbGlhc2luZyBpc3N1ZXMuCi0gKi8KLSNkZWZpbmUgX19wdXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJyZXQpCVwKLQlhc20gdm9sYXRpbGUoIjE6CW1vdiJpdHlwZSIgJSJydHlwZSIxLCUyXG4iCQlcCi0JCSAgICAgIjI6XG4iCQkJCQkJXAotCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKLQkJICAgICAiMzoJbW92bCAlMywlMFxuIgkJCQlcCi0JCSAgICAgIglqbXAgMmJcbiIJCQkJCVwKLQkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCi0JCSAgICAgX0FTTV9FWFRBQkxFKDFiLCAzYikJCQkJXAotCQkgICAgIDogIj1yIihlcnIpCQkJCQlcCi0JCSAgICAgOiBsdHlwZSAoeCksICJtIiAoX19tKGFkZHIpKSwgImkiIChlcnJyZXQpLCAiMCIgKGVycikpCi0KLQotI2RlZmluZSBfX2dldF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCQlcCi0oewkJCQkJCQkJCVwKLQlsb25nIF9fZ3VfZXJyOwkJCQkJCQlcCi0JdW5zaWduZWQgbG9uZyBfX2d1X3ZhbDsJCQkJCQlcCi0JX19nZXRfdXNlcl9zaXplKF9fZ3VfdmFsLCAocHRyKSwgKHNpemUpLCBfX2d1X2VyciwgLUVGQVVMVCk7CVwKLQkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fZ3VfdmFsOwkJCQlcCi0JX19ndV9lcnI7CQkJCQkJCVwKLX0pCi0KLWV4dGVybiBsb25nIF9fZ2V0X3VzZXJfYmFkKHZvaWQpOwotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfc2l6ZSh4LCBwdHIsIHNpemUsIHJldHZhbCwgZXJycmV0KQkJCVwKLWRvIHsJCQkJCQkJCQlcCi0JcmV0dmFsID0gMDsJCQkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAotCXN3aXRjaCAoc2l6ZSkgewkJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImIiLCAiYiIsICI9cSIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAidyIsICJ3IiwgIj1yIiwgZXJycmV0KTsJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJsIiwgIiIsICI9ciIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2RlZmluZSBfX2dldF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycnJldCkJXAotCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlMiwlInJ0eXBlIjFcbiIJCVwKLQkJICAgICAiMjpcbiIJCQkJCQlcCi0JCSAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiIJCQkJXAotCQkgICAgICIzOgltb3ZsICUzLCUwXG4iCQkJCVwKLQkJICAgICAiCXhvciJpdHlwZSIgJSJydHlwZSIxLCUicnR5cGUiMVxuIgkJXAotCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCi0JCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKLQkJICAgICA6ICI9ciIgKGVyciksIGx0eXBlICh4KQkJCQlcCi0JCSAgICAgOiAibSIgKF9fbShhZGRyKSksICJpIiAoZXJycmV0KSwgIjAiIChlcnIpKQotCi0KIHVuc2lnbmVkIGxvbmcgX19tdXN0X2NoZWNrIF9fY29weV90b191c2VyX2xsCiAJCSh2b2lkIF9fdXNlciAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHVuc2lnbmVkIGxvbmcgbik7CiB1bnNpZ25lZCBsb25nIF9fbXVzdF9jaGVjayBfX2NvcHlfZnJvbV91c2VyX2xsCkBAIC01NzYsOCArMTU2LDYgQEAKIAlyZXR1cm4gX19jb3B5X2Zyb21fdXNlcl9sbCh0bywgZnJvbSwgbik7CiB9CiAKLSNkZWZpbmUgQVJDSF9IQVNfTk9DQUNIRV9VQUNDRVNTCi0KIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgbG9uZyBfX2NvcHlfZnJvbV91c2VyX25vY2FjaGUodm9pZCAqdG8sCiAJCQkJY29uc3Qgdm9pZCBfX3VzZXIgKmZyb20sIHVuc2lnbmVkIGxvbmcgbikKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc182NC5oCmluZGV4IGI4YTJmNDMuLjUxNWQ0ZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfNjQuaApAQCAtOSwyNjUgKzksNiBAQAogI2luY2x1ZGUgPGxpbnV4L3ByZWZldGNoLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KIAotI2RlZmluZSBWRVJJRllfUkVBRCAwCi0jZGVmaW5lIFZFUklGWV9XUklURSAxCi0KLS8qCi0gKiBUaGUgZnMgdmFsdWUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFyZ3VtZW50IHZhbGlkaXR5IGNoZWNraW5nIHNob3VsZCBiZQotICogcGVyZm9ybWVkIG9yIG5vdC4gIElmIGdldF9mcygpID09IFVTRVJfRFMsIGNoZWNraW5nIGlzIHBlcmZvcm1lZCwgd2l0aAotICogZ2V0X2ZzKCkgPT0gS0VSTkVMX0RTLCBjaGVja2luZyBpcyBieXBhc3NlZC4KLSAqCi0gKiBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGVzZSBtYWNyb3MgYXJlIGdyb3NzbHkgbWlzbmFtZWQuCi0gKi8KLQotI2RlZmluZSBNQUtFX01NX1NFRyhzKQkoKG1tX3NlZ21lbnRfdCkgeyAocykgfSkKLQotI2RlZmluZSBLRVJORUxfRFMJTUFLRV9NTV9TRUcoMHhGRkZGRkZGRkZGRkZGRkZGVUwpCi0jZGVmaW5lIFVTRVJfRFMJCU1BS0VfTU1fU0VHKFBBR0VfT0ZGU0VUKQotCi0jZGVmaW5lIGdldF9kcygpCShLRVJORUxfRFMpCi0jZGVmaW5lIGdldF9mcygpCShjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQpCi0jZGVmaW5lIHNldF9mcyh4KQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0ID0gKHgpKQotCi0jZGVmaW5lIHNlZ21lbnRfZXEoYSwgYikJKChhKS5zZWcgPT0gKGIpLnNlZykKLQotI2RlZmluZSBfX2FkZHJfb2soYWRkcikgKCEoKHVuc2lnbmVkIGxvbmcpKGFkZHIpICYJCQlcCi0JCQkgICAoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0LnNlZykpKQotCi0vKgotICogVWhodWgsIHRoaXMgbmVlZHMgNjUtYml0IGFyaXRobWV0aWMuIFdlIGhhdmUgYSBjYXJyeS4uCi0gKi8KLSNkZWZpbmUgX19yYW5nZV9ub3Rfb2soYWRkciwgc2l6ZSkJCQkJCVwKLSh7CQkJCQkJCQkJXAotCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKLQlhc20oIiMgcmFuZ2Vfb2tcblxyIgkJCQkJCVwKLQkgICAgImFkZHEgJTMsJTEgOyBzYmJxICUwLCUwIDsgY21wcSAlMSwlNCA7IHNiYnEgJDAsJTAiCQlcCi0JICAgIDogIj0mciIgKGZsYWcpLCAiPXIiIChyb2tzdW0pCQkJCVwKLQkgICAgOiAiMSIgKGFkZHIpLCAiZyIgKChsb25nKShzaXplKSksCQkJCVwKLQkgICAgICAiZyIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKLQlmbGFnOwkJCQkJCQkJXAotfSkKLQotI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKF9fcmFuZ2Vfbm90X29rKGFkZHIsIHNpemUpID09IDApCi0KLS8qCi0gKiBUaGUgZXhjZXB0aW9uIHRhYmxlIGNvbnNpc3RzIG9mIHBhaXJzIG9mIGFkZHJlc3NlczogdGhlIGZpcnN0IGlzIHRoZQotICogYWRkcmVzcyBvZiBhbiBpbnN0cnVjdGlvbiB0aGF0IGlzIGFsbG93ZWQgdG8gZmF1bHQsIGFuZCB0aGUgc2Vjb25kIGlzCi0gKiB0aGUgYWRkcmVzcyBhdCB3aGljaCB0aGUgcHJvZ3JhbSBzaG91bGQgY29udGludWUuICBObyByZWdpc3RlcnMgYXJlCi0gKiBtb2RpZmllZCwgc28gaXQgaXMgZW50aXJlbHkgdXAgdG8gdGhlIGNvbnRpbnVhdGlvbiBjb2RlIHRvIGZpZ3VyZSBvdXQKLSAqIHdoYXQgdG8gZG8uCi0gKgotICogQWxsIHRoZSByb3V0aW5lcyBiZWxvdyB1c2UgYml0cyBvZiBmaXh1cCBjb2RlIHRoYXQgYXJlIG91dCBvZiBsaW5lCi0gKiB3aXRoIHRoZSBtYWluIGluc3RydWN0aW9uIHBhdGguICBUaGlzIG1lYW5zIHdoZW4gZXZlcnl0aGluZyBpcyB3ZWxsLAotICogd2UgZG9uJ3QgZXZlbiBoYXZlIHRvIGp1bXAgb3ZlciB0aGVtLiAgRnVydGhlciwgdGhleSBkbyBub3QgaW50cnVkZQotICogb24gb3VyIGNhY2hlIG9yIHRsYiBlbnRyaWVzLgotICovCi0KLXN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgewotCXVuc2lnbmVkIGxvbmcgaW5zbiwgZml4dXA7Ci19OwotCi1leHRlcm4gaW50IGZpeHVwX2V4Y2VwdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Ci0KLSNkZWZpbmUgQVJDSF9IQVNfU0VBUkNIX0VYVEFCTEUKLQotLyoKLSAqIFRoZXNlIGFyZSB0aGUgbWFpbiBzaW5nbGUtdmFsdWUgdHJhbnNmZXIgcm91dGluZXMuICBUaGV5IGF1dG9tYXRpY2FsbHkKLSAqIHVzZSB0aGUgcmlnaHQgc2l6ZSBpZiB3ZSBqdXN0IGhhdmUgdGhlIHJpZ2h0IHBvaW50ZXIgdHlwZS4KLSAqCi0gKiBUaGlzIGdldHMga2luZCBvZiB1Z2x5LiBXZSB3YW50IHRvIHJldHVybiBfdHdvXyB2YWx1ZXMgaW4gImdldF91c2VyKCkiCi0gKiBhbmQgeWV0IHdlIGRvbid0IHdhbnQgdG8gZG8gYW55IHBvaW50ZXJzLCBiZWNhdXNlIHRoYXQgaXMgdG9vIG11Y2gKLSAqIG9mIGEgcGVyZm9ybWFuY2UgaW1wYWN0LiBUaHVzIHdlIGhhdmUgYSBmZXcgcmF0aGVyIHVnbHkgbWFjcm9zIGhlcmUsCi0gKiBhbmQgaGlkZSBhbGwgdGhlIHVnbGluZXNzIGZyb20gdGhlIHVzZXIuCi0gKgotICogVGhlICJfX3h4eCIgdmVyc2lvbnMgb2YgdGhlIHVzZXIgYWNjZXNzIGZ1bmN0aW9ucyBhcmUgdmVyc2lvbnMgdGhhdAotICogZG8gbm90IHZlcmlmeSB0aGUgYWRkcmVzcyBzcGFjZSwgdGhhdCBtdXN0IGhhdmUgYmVlbiBkb25lIHByZXZpb3VzbHkKLSAqIHdpdGggYSBzZXBhcmF0ZSAiYWNjZXNzX29rKCkiIGNhbGwgKHRoaXMgaXMgdXNlZCB3aGVuIHdlIGRvIG11bHRpcGxlCi0gKiBhY2Nlc3NlcyB0byB0aGUgc2FtZSBhcmVhIG9mIHVzZXIgbWVtb3J5KS4KLSAqLwotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfeChzaXplLCByZXQsIHgsIHB0cikJCSAgICAgIFwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19nZXRfdXNlcl8iICNzaXplCSAgICAgIFwKLQkJICAgICA6ICI9YSIgKHJldCksIj1kIiAoeCkJICAgICAgXAotCQkgICAgIDogImMiIChwdHIpCQkgICAgICBcCi0JCSAgICAgOiAicjgiKQotCi0vKiBDYXJlZnVsOiB3ZSBoYXZlIHRvIGNhc3QgdGhlIHJlc3VsdCB0byB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlcgotICogZm9yIHNpZ24gcmVhc29ucyAqLwotCi0jZGVmaW5lIGdldF91c2VyKHgsIHB0cikJCQkJCQlcCi0oewkJCQkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fdmFsX2d1OwkJCQkJCVwKLQlpbnQgX19yZXRfZ3U7CQkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemVvZigqKHB0cikpKSB7CQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goMSwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDIsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfeCg0LCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goOCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWRlZmF1bHQ6CQkJCQkJCVwKLQkJX19nZXRfdXNlcl9iYWQoKTsJCQkJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQl9CQkJCQkJCQlcCi0JKHgpID0gKF9fZm9yY2UgdHlwZW9mKCoocHRyKSkpX192YWxfZ3U7CQkJCVwKLQlfX3JldF9ndTsJCQkJCQkJXAotfSkKLQotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl8xKHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl8yKHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl80KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl84KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl9iYWQodm9pZCk7Ci0KLSNkZWZpbmUgX19wdXRfdXNlcl94KHNpemUsIHJldCwgeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXyIgI3NpemUJCQkJXAotCQkgICAgIDoiPWEiIChyZXQpCQkJCQlcCi0JCSAgICAgOiJjIiAocHRyKSwiZCIgKHgpCQkJCQlcCi0JCSAgICAgOiJyOCIpCi0KLSNkZWZpbmUgcHV0X3VzZXIoeCwgcHRyKQkJCQkJCVwKLQlfX3B1dF91c2VyX2NoZWNrKChfX3R5cGVvZl9fKCoocHRyKSkpKHgpLCAocHRyKSwgc2l6ZW9mKCoocHRyKSkpCi0KLSNkZWZpbmUgX19nZXRfdXNlcih4LCBwdHIpCQkJCQkJXAotCV9fZ2V0X3VzZXJfbm9jaGVjaygoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKLSNkZWZpbmUgX19wdXRfdXNlcih4LCBwdHIpCQkJCQkJXAotCV9fcHV0X3VzZXJfbm9jaGVjaygoX190eXBlb2ZfXygqKHB0cikpKSh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfdW5hbGlnbmVkIF9fZ2V0X3VzZXIKLSNkZWZpbmUgX19wdXRfdXNlcl91bmFsaWduZWQgX19wdXRfdXNlcgotCi0jZGVmaW5lIF9fcHV0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQlcCi0oewkJCQkJCQlcCi0JaW50IF9fcHVfZXJyOwkJCQkJXAotCV9fcHV0X3VzZXJfc2l6ZSgoeCksIChwdHIpLCAoc2l6ZSksIF9fcHVfZXJyKTsJXAotCV9fcHVfZXJyOwkJCQkJXAotfSkKLQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfY2hlY2soeCwgcHRyLCBzaXplKQkJCQlcCi0oewkJCQkJCQkJXAotCWludCBfX3B1X2VycjsJCQkJCQlcCi0JdHlwZW9mKCoocHRyKSkgX191c2VyICpfX3B1X2FkZHIgPSAocHRyKTsJCVwKLQlzd2l0Y2ggKHNpemUpIHsJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCgxLCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCgyLCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCg0LCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCg4LCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYmFkKCk7CQkJCVwKLQl9CQkJCQkJCVwKLQlfX3B1X2VycjsJCQkJCQlcCi19KQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfc2l6ZSh4LCBwdHIsIHNpemUsIHJldHZhbCkJCQkJXAotZG8gewkJCQkJCQkJCVwKLQlyZXR2YWwgPSAwOwkJCQkJCQlcCi0JX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCi0Jc3dpdGNoIChzaXplKSB7CQkJCQkJCVwKLQljYXNlIDE6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAiYiIsICJiIiwgImlxIiwgLUVGQVVMVCk7XAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJ3IiwgInciLCAiaXIiLCAtRUZBVUxUKTtcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImwiLCAiayIsICJpciIsIC1FRkFVTFQpO1wKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDg6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAicSIsICIiLCAiWnIiLCAtRUZBVUxUKTsJXAotCQlicmVhazsJCQkJCQkJXAotCWRlZmF1bHQ6CQkJCQkJCVwKLQkJX19wdXRfdXNlcl9iYWQoKTsJCQkJCVwKLQl9CQkJCQkJCQlcCi19IHdoaWxlICgwKQotCi0vKiBGSVhNRTogdGhpcyBoYWNrIGlzIGRlZmluaXRlbHkgd3JvbmcgLUFLICovCi1zdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIGJ1ZlsxMDBdOyB9OwotI2RlZmluZSBfX20oeCkgKCooc3RydWN0IF9fbGFyZ2Vfc3RydWN0IF9fdXNlciAqKSh4KSkKLQotLyoKLSAqIFRlbGwgZ2NjIHdlIHJlYWQgZnJvbSBtZW1vcnkgaW5zdGVhZCBvZiB3cml0aW5nOiB0aGlzIGlzIGJlY2F1c2UKLSAqIHdlIGRvIG5vdCB3cml0ZSB0byBhbnkgbWVtb3J5IGdjYyBrbm93cyBhYm91dCwgc28gdGhlcmUgYXJlIG5vCi0gKiBhbGlhc2luZyBpc3N1ZXMuCi0gKi8KLSNkZWZpbmUgX19wdXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJubykJXAotCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlInJ0eXBlIjEsJTJcbiIJCVwKLQkJICAgICAiMjpcbiIJCQkJCQlcCi0JCSAgICAgIi5zZWN0aW9uIC5maXh1cCwgXCJheFwiXG4iCQkJXAotCQkgICAgICIzOgltb3YgJTMsJTBcbiIJCQkJXAotCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCi0JCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKLQkJICAgICA6ICI9ciIoZXJyKQkJCQkJXAotCQkgICAgIDogbHR5cGUgKHgpLCAibSIgKF9fbShhZGRyKSksICJpIiAoZXJybm8pLCAiMCIgKGVycikpCi0KLQotI2RlZmluZSBfX2dldF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fZ3VfZXJyOwkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fZ3VfdmFsOwkJCQkJXAotCV9fZ2V0X3VzZXJfc2l6ZShfX2d1X3ZhbCwgKHB0ciksIChzaXplKSwgX19ndV9lcnIpOwlcCi0JKHgpID0gKF9fZm9yY2UgdHlwZW9mKCoocHRyKSkpX19ndV92YWw7CQkJXAotCV9fZ3VfZXJyOwkJCQkJCVwKLX0pCi0KLWV4dGVybiBpbnQgX19nZXRfdXNlcl8xKHZvaWQpOwotZXh0ZXJuIGludCBfX2dldF91c2VyXzIodm9pZCk7Ci1leHRlcm4gaW50IF9fZ2V0X3VzZXJfNCh2b2lkKTsKLWV4dGVybiBpbnQgX19nZXRfdXNlcl84KHZvaWQpOwotZXh0ZXJuIGludCBfX2dldF91c2VyX2JhZCh2b2lkKTsKLQotI2RlZmluZSBfX2dldF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwpCQkJCVwKLWRvIHsJCQkJCQkJCQlcCi0JcmV0dmFsID0gMDsJCQkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAotCXN3aXRjaCAoc2l6ZSkgewkJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImIiLCAiYiIsICI9cSIsIC1FRkFVTFQpO1wKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAidyIsICJ3IiwgIj1yIiwgLUVGQVVMVCk7XAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJsIiwgImsiLCAiPXIiLCAtRUZBVUxUKTtcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInEiLCAiIiwgIj1yIiwgLUVGQVVMVCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2RlZmluZSBfX2dldF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycm5vKQlcCi0JYXNtIHZvbGF0aWxlKCIxOgltb3YiaXR5cGUiICUyLCUicnR5cGUiMVxuIgkJXAotCQkgICAgICIyOlxuIgkJCQkJCVwKLQkJICAgICAiLnNlY3Rpb24gLmZpeHVwLCBcImF4XCJcbiIJCQlcCi0JCSAgICAgIjM6CW1vdiAlMywlMFxuIgkJCQlcCi0JCSAgICAgIgl4b3IiaXR5cGUiICUicnR5cGUiMSwlInJ0eXBlIjFcbiIJCVwKLQkJICAgICAiCWptcCAyYlxuIgkJCQkJXAotCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKLQkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCi0JCSAgICAgOiAiPXIiIChlcnIpLCBsdHlwZSAoeCkJCQkJXAotCQkgICAgIDogIm0iIChfX20oYWRkcikpLCAiaSIoZXJybm8pLCAiMCIoZXJyKSkKLQogLyoKICAqIENvcHkgVG8vRnJvbSBVc2Vyc3BhY2UKICAqLwpAQCAtNDM3LDcgKzE3OCw2IEBACiAJcmV0dXJuIGNvcHlfdXNlcl9nZW5lcmljKChfX2ZvcmNlIHZvaWQgKilkc3QsIHNyYywgc2l6ZSk7CiB9CiAKLSNkZWZpbmUgQVJDSF9IQVNfTk9DQUNIRV9VQUNDRVNTIDEKIGV4dGVybiBsb25nIF9fY29weV91c2VyX25vY2FjaGUodm9pZCAqZHN0LCBjb25zdCB2b2lkIF9fdXNlciAqc3JjLAogCQkJCXVuc2lnbmVkIHNpemUsIGludCB6ZXJvcmVzdCk7CiAKQEAgLTQ1NSw0ICsxOTUsNyBAQAogCXJldHVybiBfX2NvcHlfdXNlcl9ub2NhY2hlKGRzdCwgc3JjLCBzaXplLCAwKTsKIH0KIAordW5zaWduZWQgbG9uZworY29weV91c2VyX2hhbmRsZV90YWlsKGNoYXIgKnRvLCBjaGFyICpmcm9tLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIHplcm9yZXN0KTsKKwogI2VuZGlmIC8qIF9fWDg2XzY0X1VBQ0NFU1NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3VuaXN0ZF82NC5oIGIvaW5jbHVkZS9hc20teDg2L3VuaXN0ZF82NC5oCmluZGV4IGZlMjZlMzYuLjljMWE0YTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91bmlzdGRfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdW5pc3RkXzY0LmgKQEAgLTI5MCw3ICsyOTAsNyBAQAogI2RlZmluZSBfX05SX3J0X3NpZ3F1ZXVlaW5mbwkJCTEyOQogX19TWVNDQUxMKF9fTlJfcnRfc2lncXVldWVpbmZvLCBzeXNfcnRfc2lncXVldWVpbmZvKQogI2RlZmluZSBfX05SX3J0X3NpZ3N1c3BlbmQJCQkxMzAKLV9fU1lTQ0FMTChfX05SX3J0X3NpZ3N1c3BlbmQsIHN0dWJfcnRfc2lnc3VzcGVuZCkKK19fU1lTQ0FMTChfX05SX3J0X3NpZ3N1c3BlbmQsIHN5c19ydF9zaWdzdXNwZW5kKQogI2RlZmluZSBfX05SX3NpZ2FsdHN0YWNrCQkJMTMxCiBfX1NZU0NBTEwoX19OUl9zaWdhbHRzdGFjaywgc3R1Yl9zaWdhbHRzdGFjaykKICNkZWZpbmUgX19OUl91dGltZQkJCQkxMzIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9iYXUuaCBiL2luY2x1ZGUvYXNtLXg4Ni91di91dl9iYXUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWFjMGRmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X2JhdS5oCkBAIC0wLDAgKzEsMzM3IEBACisvKgorICogVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UuICBTZWUgdGhlIGZpbGUgIkNPUFlJTkciIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUKKyAqIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogU0dJIFVWIEJyb2FkY2FzdCBBc3Npc3QgVW5pdCBkZWZpbml0aW9ucworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBTaWxpY29uIEdyYXBoaWNzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9YODZfVVZfQkFVX18KKyNkZWZpbmUgX19BU01fWDg2X1VWX0JBVV9fCisKKyNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4KKyNkZWZpbmUgQklUU1BFUkJZVEUgOAorCisvKgorICogQnJvYWRjYXN0IEFzc2lzdCBVbml0IG1lc3NhZ2luZyBzdHJ1Y3R1cmVzCisgKgorICogU2VsZWN0aXZlIEJyb2FkY2FzdCBhY3RpdmF0aW9ucyBhcmUgaW5kdWNlZCBieSBzb2Z0d2FyZSBhY3Rpb24KKyAqIHNwZWNpZnlpbmcgYSBwYXJ0aWN1bGFyIDgtZGVzY3JpcHRvciAic2V0IiB2aWEgYSA2LWJpdCBpbmRleCB3cml0dGVuCisgKiB0byBhbiBNTVIuCisgKiBUaHVzIHRoZXJlIGFyZSA2NCB1bmlxdWUgNTEyLWJ5dGUgc2V0cyBvZiBTQiBkZXNjcmlwdG9ycyAtIG9uZSBzZXQgZm9yCisgKiBlYWNoIDYtYml0IGluZGV4IHZhbHVlLiBUaGVzZSBkZXNjcmlwdG9yIHNldHMgYXJlIG1hcHBlZCBpbiBzZXF1ZW5jZQorICogc3RhcnRpbmcgd2l0aCBzZXQgMCBsb2NhdGVkIGF0IHRoZSBhZGRyZXNzIHNwZWNpZmllZCBpbiB0aGUKKyAqIEJBVV9TQl9ERVNDUklQVE9SX0JBU0UgcmVnaXN0ZXIsIHNldCAxIGlzIGxvY2F0ZWQgYXQgQkFTRSArIDUxMiwKKyAqIHNldCAyIGlzIGF0IEJBU0UgKyAyKjUxMiwgc2V0IDMgYXQgQkFTRSArIDMqNTEyLCBhbmQgc28gb24uCisgKgorICogV2Ugd2lsbCB1c2UgMzEgc2V0cywgb25lIGZvciBzZW5kaW5nIEJBVSBtZXNzYWdlcyBmcm9tIGVhY2ggb2YgdGhlIDMyCisgKiBjcHUncyBvbiB0aGUgbm9kZS4KKyAqCisgKiBUTEIgc2hvb3Rkb3duIHdpbGwgdXNlIHRoZSBmaXJzdCBvZiB0aGUgOCBkZXNjcmlwdG9ycyBvZiBlYWNoIHNldC4KKyAqIEVhY2ggb2YgdGhlIGRlc2NyaXB0b3JzIGlzIDY0IGJ5dGVzIGluIHNpemUgKDgqNjQgPSA1MTIgYnl0ZXMgaW4gYSBzZXQpLgorICovCisKKyNkZWZpbmUgVVZfSVRFTVNfUEVSX0RFU0NSSVBUT1IJCTgKKyNkZWZpbmUgVVZfQ1BVU19QRVJfQUNUX1NUQVRVUwkJMzIKKyNkZWZpbmUgVVZfQUNUX1NUQVRVU19NQVNLCQkweDMKKyNkZWZpbmUgVVZfQUNUX1NUQVRVU19TSVpFCQkyCisjZGVmaW5lIFVWX0FDVElWQVRJT05fREVTQ1JJUFRPUl9TSVpFCTMyCisjZGVmaW5lIFVWX0RJU1RSSUJVVElPTl9TSVpFCQkyNTYKKyNkZWZpbmUgVVZfU1dfQUNLX05QRU5ESU5HCQk4CisjZGVmaW5lIFVWX0JBVV9NRVNTQUdFCQkJMjAwCisvKgorICogTWVzc2FnaW5nIGlycTsgc2VlIGlycV82NC5oIGFuZCBpbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmgKKyAqIFRvIGJlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbiB0aGUgZnV0dXJlCisgKi8KKyNkZWZpbmUgVVZfTkVUX0VORFBPSU5UX0lOVEQJCTB4MzgKKyNkZWZpbmUgVVZfREVTQ19CQVNFX1BOT0RFX1NISUZUCTQ5CisjZGVmaW5lIFVWX1BBWUxPQURRX1BOT0RFX1NISUZUCQk0OQorI2RlZmluZSBVVl9QVENfQkFTRU5BTUUJCQkic2dpX3V2L3B0Y19zdGF0aXN0aWNzIgorI2RlZmluZSB1dl9waHlzbm9kZWFkZHIoeCkJCSgoX19wYSgodW5zaWduZWQgbG9uZykoeCkpICYgdXZfbW1hc2spKQorCisvKgorICogYml0cyBpbiBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzAvMQorICovCisjZGVmaW5lIERFU0NfU1RBVFVTX0lETEUJCTAKKyNkZWZpbmUgREVTQ19TVEFUVVNfQUNUSVZFCQkxCisjZGVmaW5lIERFU0NfU1RBVFVTX0RFU1RJTkFUSU9OX1RJTUVPVVQJMgorI2RlZmluZSBERVNDX1NUQVRVU19TT1VSQ0VfVElNRU9VVAkzCisKKy8qCisgKiBzb3VyY2Ugc2lkZSB0aHJlc2hob2xkcyBhdCB3aGljaCBtZXNzYWdlIHJldHJpZXMgcHJpbnQgYSB3YXJuaW5nCisgKi8KKyNkZWZpbmUgU09VUkNFX1RJTUVPVVRfTElNSVQJCTIwCisjZGVmaW5lIERFU1RJTkFUSU9OX1RJTUVPVVRfTElNSVQJMjAKKworLyoKKyAqIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBkZXN0aW5hdGlvbiBzaWRlIHBheWxvYWQgcXVldWUKKyAqLworI2RlZmluZSBERVNUX1FfU0laRQkJCTE3CisvKgorICogbnVtYmVyIG9mIGRlc3RpbmF0aW9uIHNpZGUgc29mdHdhcmUgYWNrIHJlc291cmNlcworICovCisjZGVmaW5lIERFU1RfTlVNX1JFU09VUkNFUwkJOAorI2RlZmluZSBNQVhfQ1BVU19QRVJfTk9ERQkJMzIKKy8qCisgKiBjb21wbGV0aW9uIHN0YXR1c2VzIGZvciBzZW5kaW5nIGEgVExCIGZsdXNoIG1lc3NhZ2UKKyAqLworI2RlZmluZQlGTFVTSF9SRVRSWQkJCTEKKyNkZWZpbmUJRkxVU0hfR0lWRVVQCQkJMgorI2RlZmluZQlGTFVTSF9DT01QTEVURQkJCTMKKworLyoKKyAqIERpc3RyaWJ1dGlvbjogMzIgYnl0ZXMgKDI1NiBiaXRzKSAoYnl0ZXMgMC0weDFmIG9mIGRlc2NyaXB0b3IpCisgKiBJZiB0aGUgJ211bHRpbGV2ZWwnIGZsYWcgaW4gdGhlIGhlYWRlciBwb3J0aW9uIG9mIHRoZSBkZXNjcmlwdG9yCisgKiBoYXMgYmVlbiBzZXQgdG8gMCwgdGhlbiBlbmRwb2ludCBtdWx0aS11bmljYXN0IG1vZGUgaXMgc2VsZWN0ZWQuCisgKiBUaGUgZGlzdHJpYnV0aW9uIHNwZWNpZmljYXRpb24gKDMyIGJ5dGVzKSBpcyBpbnRlcnByZXRlZCBhcyBhIDI1Ni1iaXQKKyAqIGRpc3RyaWJ1dGlvbiB2ZWN0b3IuIEFkamFjZW50IGJpdHMgY29ycmVzcG9uZCB0byBjb25zZWN1dGl2ZSBldmVuIG51bWJlcmVkCisgKiBub2RlSURzLiBUaGUgcmVzdWx0IG9mIGFkZGluZyB0aGUgaW5kZXggb2YgYSBnaXZlbiBiaXQgdG8gdGhlIDE1LWJpdAorICogJ2Jhc2VfZGVzdF9ub2RlaWQnIGZpZWxkIG9mIHRoZSBoZWFkZXIgY29ycmVzcG9uZHMgdG8gdGhlCisgKiBkZXN0aW5hdGlvbiBub2RlSUQgYXNzb2NpYXRlZCB3aXRoIHRoYXQgc3BlY2lmaWVkIGJpdC4KKyAqLworc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgeworCXVuc2lnbmVkIGxvbmcgYml0c1tCSVRTX1RPX0xPTkdTKDI1NildOworfTsKKworLyoKKyAqIG1hc2sgb2YgY3B1J3Mgb24gYSBub2RlCisgKiAoZHVyaW5nIGluaXRpYWxpemF0aW9uIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB1bnNpZ25lZCBsb25nIGhhcworICogIGVub3VnaCBiaXRzIGZvciBtYXguIGNwdSdzIHBlciBub2RlKQorICovCitzdHJ1Y3QgYmF1X2xvY2FsX2NwdW1hc2sgeworCXVuc2lnbmVkIGxvbmcgYml0czsKK307CisKKy8qCisgKiBQYXlsb2FkOiAxNiBieXRlcyAoMTI4IGJpdHMpIChieXRlcyAweDIwLTB4MmYgb2YgZGVzY3JpcHRvcikKKyAqIG9ubHkgMTIgYnl0ZXMgKDk2IGJpdHMpIG9mIHRoZSBwYXlsb2FkIGFyZWEgYXJlIHVzYWJsZS4KKyAqIEFuIGFkZGl0aW9uYWwgMyBieXRlcyAoYml0cyAyNzo0KSBvZiB0aGUgaGVhZGVyIGFkZHJlc3MgYXJlIGNhcnJpZWQKKyAqIHRvIHRoZSBuZXh0IGJ5dGVzIG9mIHRoZSBkZXN0aW5hdGlvbiBwYXlsb2FkIHF1ZXVlLgorICogQW5kIGFuIGFkZGl0aW9uYWwgMiBieXRlcyBvZiB0aGUgaGVhZGVyIFN1cHBsX0EgZmllbGQgYXJlIGFsc28KKyAqIGNhcnJpZWQgdG8gdGhlIGRlc3RpbmF0aW9uIHBheWxvYWQgcXVldWUuCisgKiBCdXQgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIFN1cHBsX0EgYmVjb21lcyBiaXRzIDEyNzoxMjAgKHRoZSAxNnRoIGJ5dGUpCisgKiBvZiB0aGUgZGVzdGluYXRpb24gcGF5bG9hZCBxdWV1ZSwgd2hpY2ggaXMgd3JpdHRlbiBieSB0aGUgaGFyZHdhcmUKKyAqIHdpdGggdGhlIHMvdyBhY2sgcmVzb3VyY2UgYml0IHZlY3Rvci4KKyAqIFsgZWZmZWN0aXZlIG1lc3NhZ2UgY29udGVudHMgKDE2IGJ5dGVzICgxMjggYml0cykgbWF4aW11bSksIG5vdCBjb3VudGluZworICogICB0aGUgcy93IGFjayBiaXQgdmVjdG9yICBdCisgKi8KKworLyoKKyAqIFRoZSBwYXlsb2FkIGlzIHNvZnR3YXJlLWRlZmluZWQgZm9yIElOVEQgdHJhbnNhY3Rpb25zCisgKi8KK3N0cnVjdCBiYXVfbXNnX3BheWxvYWQgeworCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsJCS8qIHNpZ25pZmllcyBhIHBhZ2Ugb3IgYWxsIFRMQidzCisJCQkJCQlvZiB0aGUgY3B1ICovCisJLyogNjQgYml0cyAqLworCXVuc2lnbmVkIHNob3J0IHNlbmRpbmdfY3B1OwkvKiBmaWxsZWQgaW4gYnkgc2VuZGVyICovCisJLyogMTYgYml0cyAqLworCXVuc2lnbmVkIHNob3J0IGFja25vd2xlZGdlX2NvdW50Oy8qIGZpbGxlZCBpbiBieSBkZXN0aW5hdGlvbiAqLworCS8qIDE2IGJpdHMgKi8KKwl1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQxOjMyOwkvKiBub3QgdXNhYmxlICovCit9OworCisKKy8qCisgKiBNZXNzYWdlIGhlYWRlcjogIDE2IGJ5dGVzICgxMjggYml0cykgKGJ5dGVzIDB4MzAtMHgzZiBvZiBkZXNjcmlwdG9yKQorICogc2VlIHRhYmxlIDQuMi4zLjAuMSBpbiBicm9hY2FzdF9hc3Npc3Qgc3BlYy4KKyAqLworc3RydWN0IGJhdV9tc2dfaGVhZGVyIHsKKwlpbnQgZGVzdF9zdWJub2RlaWQ6NjsJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyA1OjAgKi8KKwlpbnQgYmFzZV9kZXN0X25vZGVpZDoxNTsgLyogbmFzaWQ+PjEgKHBub2RlKSBvZiBmaXJzdCBiaXQgaW4gbm9kZV9tYXAgKi8KKwkvKiBiaXRzIDIwOjYgKi8KKwlpbnQgY29tbWFuZDo4OwkJLyogbWVzc2FnZSB0eXBlICovCisJLyogYml0cyAyODoyMSAqLworCQkJCS8qIDB4Mzg6IFNOM25ldCBFbmRQb2ludCBNZXNzYWdlICovCisJaW50IHJzdmRfMTozOwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyAzMToyOSAqLworCQkJCS8qIGludCB3aWxsIGFsaWduIG9uIDMyIGJpdHMgKi8KKwlpbnQgcnN2ZF8yOjk7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDQwOjMyICovCisJCQkJLyogU3VwcGxfQSBpcyA1Ni00MSAqLworCWludCBwYXlsb2FkXzJhOjg7CS8qIGJlY29tZXMgYnl0ZSAxNiBvZiBtc2cgKi8KKwkvKiBiaXRzIDQ4OjQxICovCS8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwlpbnQgcGF5bG9hZF8yYjo4OwkvKiBiZWNvbWVzIGJ5dGUgMTcgb2YgbXNnICovCisJLyogYml0cyA1Njo0OSAqLwkvKiBub3QgY3VycmVudGx5IHVzaW5nICovCisJCQkJLyogQWRkcmVzcyBmaWVsZCAoOTY6NTcpIGlzIG5ldmVyIHVzZWQgYXMgYW4KKwkJCQkgICBhZGRyZXNzICh0aGVzZSBhcmUgYWRkcmVzcyBiaXRzIDQyOjMpICovCisJaW50IHJzdmRfMzoxOwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0IDU3ICovCisJCQkJLyogYWRkcmVzcyBiaXRzIDI3OjQgYXJlIHBheWxvYWQgKi8KKwkJCQkvKiB0aGVzZSAyNCBiaXRzIGJlY29tZSBieXRlcyAxMi0xNCBvZiBtc2cgKi8KKwlpbnQgcmVwbGllZF90bzoxOwkvKiBzZW50IGFzIDAgYnkgdGhlIHNvdXJjZSB0byBieXRlIDEyICovCisJLyogYml0IDU4ICovCisKKwlpbnQgcGF5bG9hZF8xYTo1OwkvKiBub3QgY3VycmVudGx5IHVzZWQgKi8KKwkvKiBiaXRzIDYzOjU5ICovCisJaW50IHBheWxvYWRfMWI6ODsJLyogbm90IGN1cnJlbnRseSB1c2VkICovCisJLyogYml0cyA3MTo2NCAqLworCWludCBwYXlsb2FkXzFjOjg7CS8qIG5vdCBjdXJyZW50bHkgdXNlZCAqLworCS8qIGJpdHMgNzk6NzIgKi8KKwlpbnQgcGF5bG9hZF8xZDoyOwkvKiBub3QgY3VycmVudGx5IHVzZWQgKi8KKwkvKiBiaXRzIDgxOjgwICovCisKKwlpbnQgcnN2ZF80Ojc7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDg4OjgyICovCisJaW50IHN3X2Fja19mbGFnOjE7CS8qIHNvZnR3YXJlIGFja25vd2xlZGdlIGZsYWcgKi8KKwkvKiBiaXQgODkgKi8KKwkJCQkvKiBJTlREIHRyYXNhY3Rpb25zIGF0IGRlc3RpbmF0aW9uIGFyZSB0bworCQkJCSAgIHdhaXQgZm9yIHNvZnR3YXJlIGFja25vd2xlZGdlICovCisJaW50IHJzdmRfNTo2OwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyA5NTo5MCAqLworCWludCByc3ZkXzY6NTsJCS8qIG11c3QgYmUgemVybyAqLworCS8qIGJpdHMgMTAwOjk2ICovCisJaW50IGludF9ib3RoOjE7CQkvKiBpZiAxLCBpbnRlcnJ1cHQgYm90aCBzb2NrZXRzIG9uIHRoZSBibGFkZSAqLworCS8qIGJpdCAxMDEqLworCWludCBmYWlybmVzczozOwkJLyogdXN1YWxseSB6ZXJvICovCisJLyogYml0cyAxMDQ6MTAyICovCisJaW50IG11bHRpbGV2ZWw6MTsJLyogbXVsdGktbGV2ZWwgbXVsdGljYXN0IGZvcm1hdCAqLworCS8qIGJpdCAxMDUgKi8KKwkJCQkvKiAwIGZvciBUTEI6IGVuZHBvaW50IG11bHRpLXVuaWNhc3QgbWVzc2FnZXMgKi8KKwlpbnQgY2hhaW5pbmc6MTsJCS8qIG5leHQgZGVzY3JpcHRvciBpcyBwYXJ0IG9mIHRoaXMgYWN0aXZhdGlvbiovCisJLyogYml0IDEwNiAqLworCWludCByc3ZkXzc6MjE7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDEyNzoxMDcgKi8KK307CisKKy8qCisgKiBUaGUgYWN0aXZhdGlvbiBkZXNjcmlwdG9yOgorICogVGhlIGZvcm1hdCBvZiB0aGUgbWVzc2FnZSB0byBzZW5kLCBwbHVzIGFsbCBhY2NvbXBhbnlpbmcgY29udHJvbAorICogU2hvdWxkIGJlIDY0IGJ5dGVzCisgKi8KK3N0cnVjdCBiYXVfZGVzYyB7CisJc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgZGlzdHJpYnV0aW9uOworCS8qCisJICogbWVzc2FnZSB0ZW1wbGF0ZSwgY29uc2lzdGluZyBvZiBoZWFkZXIgYW5kIHBheWxvYWQ6CisJICovCisJc3RydWN0IGJhdV9tc2dfaGVhZGVyIGhlYWRlcjsKKwlzdHJ1Y3QgYmF1X21zZ19wYXlsb2FkIHBheWxvYWQ7Cit9OworLyoKKyAqICAgLXBheWxvYWQtLSAgICAtLS0tLS0tLS1oZWFkZXItLS0tLS0KKyAqICAgYnl0ZXMgMC0xMSAgICBiaXRzIDQxLTU2ICBiaXRzIDU4LTgxCisgKiAgICAgICBBICAgICAgICAgICBCICAoMikgICAgICBDICgzKQorICoKKyAqICAgICAgICAgICAgQS9CL0MgYXJlIG1vdmVkIHRvOgorICogICAgICAgQSAgICAgICAgICAgIEMgICAgICAgICAgQgorICogICBieXRlcyAwLTExICBieXRlcyAxMi0xNCAgYnl0ZXMgMTYtMTcgIChieXRlIDE1IGZpbGxlZCBpbiBieSBodyBhcyB2ZWN0b3IpCisgKiAgIC0tLS0tLS0tLS0tLXBheWxvYWQgcXVldWUtLS0tLS0tLS0tLQorICovCisKKy8qCisgKiBUaGUgcGF5bG9hZCBxdWV1ZSBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBhbiBhcnJheSBvZiB0aGVzZS4KKyAqIFdpdGggQkFVX01JU0NfQ09OVFJPTCBzZXQgZm9yIHNvZnR3YXJlIGFja25vd2xlZGdlIG1vZGUsIHRoZSBtZXNzYWdlcworICogYXJlIDMyIGJ5dGVzICgyIG1pY3JvcGFja2V0cykgKDI1NiBiaXRzKSBpbiBsZW5ndGgsIGJ1dCBjb250YWluIG9ubHkgMTcKKyAqIGJ5dGVzIG9mIHVzYWJsZSBkYXRhLCBpbmNsdWRpbmcgdGhlIHN3IGFjayB2ZWN0b3IgaW4gYnl0ZSAxNSAoYml0cyAxMjc6MTIwKQorICogKDEyIGJ5dGVzIGNvbWUgZnJvbSBiYXVfbXNnX3BheWxvYWQsIDMgZnJvbSBwYXlsb2FkXzEsIDIgZnJvbQorICogIHN3X2Fja192ZWN0b3IgYW5kIHBheWxvYWRfMikKKyAqICJFbmFibGluZyBTb2Z0d2FyZSBBY2tub3dsZWRnbWVudCBtb2RlIChzZWUgU2VjdGlvbiA0LjMuMyBTb2Z0d2FyZQorICogIEFja25vd2xlZGdlIFByb2Nlc3NpbmcpIGFsc28gc2VsZWN0cyAzMiBieXRlICgxNyBieXRlcyB1c2FibGUpIHBheWxvYWQKKyAqICBvcGVyYXRpb24uIgorICovCitzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgeworCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsJCS8qIHNpZ25pZmllcyBhIHBhZ2Ugb3IgYWxsIFRMQidzCisJCQkJCQlvZiB0aGUgY3B1ICovCisJLyogNjQgYml0cywgYnl0ZXMgMC03ICovCisKKwl1bnNpZ25lZCBzaG9ydCBzZW5kaW5nX2NwdTsJLyogY3B1IHRoYXQgc2VudCB0aGUgbWVzc2FnZSAqLworCS8qIDE2IGJpdHMsIGJ5dGVzIDgtOSAqLworCisJdW5zaWduZWQgc2hvcnQgYWNrbm93bGVkZ2VfY291bnQ7IC8qIGZpbGxlZCBpbiBieSBkZXN0aW5hdGlvbiAqLworCS8qIDE2IGJpdHMsIGJ5dGVzIDEwLTExICovCisKKwl1bnNpZ25lZCBzaG9ydCByZXBsaWVkX3RvOjE7CS8qIHNlbnQgYXMgMCBieSB0aGUgc291cmNlICovCisJLyogMSBiaXQgKi8KKwl1bnNpZ25lZCBzaG9ydCB1bnVzZWQxOjc7ICAgICAgIC8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwkvKiA3IGJpdHM6IGJ5dGUgMTIpICovCisKKwl1bnNpZ25lZCBjaGFyIHVudXNlZDJbMl07CS8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwkvKiBieXRlcyAxMy0xNCAqLworCisJdW5zaWduZWQgY2hhciBzd19hY2tfdmVjdG9yOwkvKiBmaWxsZWQgaW4gYnkgdGhlIGhhcmR3YXJlICovCisJLyogYnl0ZSAxNSAoYml0cyAxMjc6MTIwKSAqLworCisJdW5zaWduZWQgY2hhciB1bnVzZWQ0WzNdOwkvKiBub3QgY3VycmVudGx5IHVzaW5nIGJ5dGVzIDE3LTE5ICovCisJLyogYnl0ZXMgMTctMTkgKi8KKworCWludCBudW1iZXJfb2ZfY3B1czsJCS8qIGZpbGxlZCBpbiBhdCBkZXN0aW5hdGlvbiAqLworCS8qIDMyIGJpdHMsIGJ5dGVzIDIwLTIzIChhbGlnbmVkKSAqLworCisJdW5zaWduZWQgY2hhciB1bnVzZWQ1WzhdOyAgICAgICAvKiBub3QgdXNpbmcgKi8KKwkvKiBieXRlcyAyNC0zMSAqLworfTsKKworLyoKKyAqIG9uZSBmb3IgZXZlcnkgc2xvdCBpbiB0aGUgZGVzdGluYXRpb24gcGF5bG9hZCBxdWV1ZQorICovCitzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgeworCXN0cnVjdCBiYXVfbG9jYWxfY3B1bWFzayBzZWVuX2J5OwkvKiBtYXAgb2YgY3B1J3MgKi8KK307CisKKy8qCisgKiBvbmUgZm9yIGV2ZXJ5IHNsb3QgaW4gdGhlIGRlc3RpbmF0aW9uIHNvZnR3YXJlIGFjayByZXNvdXJjZXMKKyAqLworc3RydWN0IGJhdV9zd19hY2tfc3RhdHVzIHsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZzsJLyogYXNzb2NpYXRlZCBtZXNzYWdlICovCisJaW50IHdhdGNoZXI7CQkJCS8qIGNwdSBtb25pdG9yaW5nLCBvciAtMSAqLworfTsKKworLyoKKyAqIG9uZSBvbiBldmVyeSBub2RlIGFuZCBwZXItY3B1OyB0byBsb2NhdGUgdGhlIHNvZnR3YXJlIHRhYmxlcworICovCitzdHJ1Y3QgYmF1X2NvbnRyb2wgeworCXN0cnVjdCBiYXVfZGVzYyAqZGVzY3JpcHRvcl9iYXNlOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqYmF1X21zZ19oZWFkOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqdmFfcXVldWVfZmlyc3Q7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICp2YV9xdWV1ZV9sYXN0OworCXN0cnVjdCBiYXVfbXNnX3N0YXR1cyAqbXNnX3N0YXR1c2VzOworCWludCAqd2F0Y2hpbmc7IC8qIHBvaW50ZXIgdG8gYXJyYXkgKi8KK307CisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSBpcyBhbGxvY2F0ZWQgcGVyX2NwdSBmb3IgVVYgVExCIHNob290ZG93biBzdGF0aXN0aWNzLgorICovCitzdHJ1Y3QgcHRjX3N0YXRzIHsKKwl1bnNpZ25lZCBsb25nIHB0Y19pOwkvKiBudW1iZXIgb2YgSVBJLXN0eWxlIGZsdXNoZXMgKi8KKwl1bnNpZ25lZCBsb25nIHJlcXVlc3RvcjsJLyogbnVtYmVyIG9mIG5vZGVzIHRoaXMgY3B1IHNlbnQgdG8gKi8KKwl1bnNpZ25lZCBsb25nIHJlcXVlc3RlZTsJLyogdGltZXMgY3B1IHdhcyByZW1vdGVseSByZXF1ZXN0ZWQgKi8KKwl1bnNpZ25lZCBsb25nIGFsbHRsYjsJLyogdGltZXMgYWxsIHRsYidzIG9uIHRoaXMgY3B1IHdlcmUgZmx1c2hlZCAqLworCXVuc2lnbmVkIGxvbmcgb25ldGxiOwkvKiB0aW1lcyBqdXN0IG9uZSB0bGIgb24gdGhpcyBjcHUgd2FzIGZsdXNoZWQgKi8KKwl1bnNpZ25lZCBsb25nIHNfcmV0cnk7CS8qIHJldHJpZXMgb24gc291cmNlIHNpZGUgdGltZW91dHMgKi8KKwl1bnNpZ25lZCBsb25nIGRfcmV0cnk7CS8qIHJldHJpZXMgb24gZGVzdGluYXRpb24gc2lkZSB0aW1lb3V0cyAqLworCXVuc2lnbmVkIGxvbmcgc2ZsdXNoOwkvKiBjeWNsZXMgc3BlbnQgaW4gdXZfZmx1c2hfdGxiX290aGVycyAqLworCXVuc2lnbmVkIGxvbmcgZGZsdXNoOwkvKiBjeWNsZXMgc3BlbnQgb24gZGVzdGluYXRpb24gc2lkZSAqLworCXVuc2lnbmVkIGxvbmcgcmV0cmllc29rOyAvKiBzdWNjZXNzZXMgb24gcmV0cmllcyAqLworCXVuc2lnbmVkIGxvbmcgbm9tc2c7CS8qIGludGVycnVwdHMgd2l0aCBubyBtZXNzYWdlICovCisJdW5zaWduZWQgbG9uZyBtdWx0bXNnOwkvKiBpbnRlcnJ1cHRzIHdpdGggbXVsdGlwbGUgbWVzc2FnZXMgKi8KKwl1bnNpZ25lZCBsb25nIG50YXJnZXRlZDsvKiBub2RlcyB0YXJnZXRlZCAqLworfTsKKworc3RhdGljIGlubGluZSBpbnQgYmF1X25vZGVfaXNzZXQoaW50IG5vZGUsIHN0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrICpkc3RwKQoreworCXJldHVybiBjb25zdGFudF90ZXN0X2JpdChub2RlLCAmZHN0cC0+Yml0c1swXSk7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQgYmF1X25vZGVfc2V0KGludCBub2RlLCBzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZHN0cCkKK3sKKwlfX3NldF9iaXQobm9kZSwgJmRzdHAtPmJpdHNbMF0pOworfQorc3RhdGljIGlubGluZSB2b2lkIGJhdV9ub2Rlc19jbGVhcihzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZHN0cCwgaW50IG5iaXRzKQoreworCWJpdG1hcF96ZXJvKCZkc3RwLT5iaXRzWzBdLCBuYml0cyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBiYXVfY3B1Yml0c19jbGVhcihzdHJ1Y3QgYmF1X2xvY2FsX2NwdW1hc2sgKmRzdHAsIGludCBuYml0cykKK3sKKwliaXRtYXBfemVybygmZHN0cC0+Yml0cywgbmJpdHMpOworfQorCisjZGVmaW5lIGNwdWJpdF9pc3NldChjcHUsIGJhdV9sb2NhbF9jcHVtYXNrKSBcCisJdGVzdF9iaXQoKGNwdSksIChiYXVfbG9jYWxfY3B1bWFzaykuYml0cykKKworZXh0ZXJuIGludCB1dl9mbHVzaF90bGJfb3RoZXJzKGNwdW1hc2tfdCAqLCBzdHJ1Y3QgbW1fc3RydWN0ICosIHVuc2lnbmVkIGxvbmcpOworZXh0ZXJuIHZvaWQgdXZfYmF1X21lc3NhZ2VfaW50cjEodm9pZCk7CitleHRlcm4gdm9pZCB1dl9iYXVfdGltZW91dF9pbnRyMSh2b2lkKTsKKworI2VuZGlmIC8qIF9fQVNNX1g4Nl9VVl9CQVVfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3V2L3V2X2h1Yi5oIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X2h1Yi5oCmluZGV4IDI2YjkyNDAuLmE0ZWYyNmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9odWIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdXYvdXZfaHViLmgKQEAgLTUsNyArNSw3IEBACiAgKgogICogU0dJIFVWIGFyY2hpdGVjdHVyYWwgZGVmaW5pdGlvbnMKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICovCiAKICNpZm5kZWYgX19BU01fWDg2X1VWX0hVQl9IX18KQEAgLTIwLDI2ICsyMCw0OSBAQAogLyoKICAqIEFkZHJlc3NpbmcgVGVybWlub2xvZ3kKICAqCi0gKiAJTkFTSUQgLSBuZXR3b3JrIElEIG9mIGEgcm91dGVyLCBNYnJpY2sgb3IgQ2JyaWNrLiBOYXNpZCB2YWx1ZXMgb2YKLSAqIAkJcm91dGVycyBhbHdheXMgaGF2ZSBsb3cgYml0IG9mIDEsIEMvTUJyaWNrcyBoYXZlIGxvdyBiaXQKLSAqIAkJZXF1YWwgdG8gMC4gTW9zdCBhZGRyZXNzaW5nIG1hY3JvcyB0aGF0IHRhcmdldCBVViBodWIgY2hpcHMKLSAqIAkJcmlnaHQgc2hpZnQgdGhlIE5BU0lEIGJ5IDEgdG8gZXhjbHVkZSB0aGUgYWx3YXlzLXplcm8gYml0LgorICoJTSAgICAgICAtIFRoZSBsb3cgTSBiaXRzIG9mIGEgcGh5c2ljYWwgYWRkcmVzcyByZXByZXNlbnQgdGhlIG9mZnNldAorICoJCSAgaW50byB0aGUgYmxhZGUgbG9jYWwgbWVtb3J5LiBSQU0gbWVtb3J5IG9uIGEgYmxhZGUgaXMgcGh5c2ljYWxseQorICoJCSAgY29udGlndW91cyAoYWx0aG91Z2ggdmFyaW91cyBJTyBzcGFjZXMgbWF5IHB1bmNoIGhvbGVzIGluCisgKgkJICBpdCkuLgogICoKLSAqCVNOQVNJRCAtIE5BU0lEIHJpZ2h0IHNoaWZ0ZWQgYnkgMSBiaXQuCisgKiAJTgktIE51bWJlciBvZiBiaXRzIGluIHRoZSBub2RlIHBvcnRpb24gb2YgYSBzb2NrZXQgcGh5c2ljYWwKKyAqIAkJICBhZGRyZXNzLgorICoKKyAqIAlOQVNJRCAgIC0gbmV0d29yayBJRCBvZiBhIHJvdXRlciwgTWJyaWNrIG9yIENicmljay4gTmFzaWQgdmFsdWVzIG9mCisgKiAJIAkgIHJvdXRlcnMgYWx3YXlzIGhhdmUgbG93IGJpdCBvZiAxLCBDL01Ccmlja3MgaGF2ZSBsb3cgYml0CisgKiAJCSAgZXF1YWwgdG8gMC4gTW9zdCBhZGRyZXNzaW5nIG1hY3JvcyB0aGF0IHRhcmdldCBVViBodWIgY2hpcHMKKyAqIAkJICByaWdodCBzaGlmdCB0aGUgTkFTSUQgYnkgMSB0byBleGNsdWRlIHRoZSBhbHdheXMtemVybyBiaXQuCisgKiAJCSAgTkFTSURzIGNvbnRhaW4gdXAgdG8gMTUgYml0cy4KKyAqCisgKglHTk9ERSAgIC0gTkFTSUQgcmlnaHQgc2hpZnRlZCBieSAxIGJpdC4gTW9zdCBtbXJzIGNvbnRhaW4gZ25vZGVzIGluc3RlYWQKKyAqCQkgIG9mIG5hc2lkcy4KKyAqCisgKiAJUE5PREUgICAtIHRoZSBsb3cgTiBiaXRzIG9mIHRoZSBHTk9ERS4gVGhlIFBOT0RFIGlzIHRoZSBtb3N0IHVzZWZ1bCB2YXJpYW50CisgKiAJCSAgb2YgdGhlIG5hc2lkIGZvciBzb2NrZXQgdXNhZ2UuCisgKgorICoKKyAqICBOdW1hTGluayBHbG9iYWwgUGh5c2ljYWwgQWRkcmVzcyBGb3JtYXQ6CisgKiAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICB8MDAuLjAwMHwgICAgICBHTk9ERSAgICAgICAgICAgICB8ICAgICAgTm9kZU9mZnNldCAgICAgfAorICogICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICAgICAgICB8PC0tLS0tLS01MyAtIE0gYml0cyAtLS0+fDwtLS0tLS0tLU0gYml0cyAtLS0tLT4KKyAqCisgKglNIC0gbnVtYmVyIG9mIG5vZGUgb2Zmc2V0IGJpdHMgKDM1IC4uIDQwKQogICoKICAqCiAgKiAgTWVtb3J5L1VWLUhVQiBQcm9jZXNzb3IgU29ja2V0IEFkZHJlc3MgRm9ybWF0OgotICogICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICogIHwwMC4uMDAwMHwgICAgU05BU0lEICAgICB8ICAgICAgTm9kZU9mZnNldCAgICAgfAotICogICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICogICAgICAgICAgIDwtLS0gTiBiaXRzIC0tLT58PC0tLS0tLS0tTSBiaXRzIC0tLS0tPgorICogICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgfDAwLi4wMDAwMDAwMDAwMDB8ICAgUE5PREUgICAgICAgfCAgICAgIE5vZGVPZmZzZXQgICAgIHwKKyAqICArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogICAgICAgICAgICAgICAgICAgPC0tLSBOIGJpdHMgLS0tPnw8LS0tLS0tLS1NIGJpdHMgLS0tLS0+CiAgKgotICoJTSBudW1iZXIgb2Ygbm9kZSBvZmZzZXQgYml0cyAoMzUgLi4gNDApCi0gKglOIG51bWJlciBvZiBTTkFTSUQgYml0cyAoMCAuLiAxMCkKKyAqCU0gLSBudW1iZXIgb2Ygbm9kZSBvZmZzZXQgYml0cyAoMzUgLi4gNDApCisgKglOIC0gbnVtYmVyIG9mIFBOT0RFIGJpdHMgKDAgLi4gMTApCiAgKgogICoJCU5vdGU6IE0gKyBOIGNhbm5vdCBjdXJyZW50bHkgZXhjZWVkIDQ0ICh4ODZfNjQpIG9yIDQ2IChJQTY0KS4KICAqCQlUaGUgYWN0dWFsIHZhbHVlcyBhcmUgY29uZmlndXJhdGlvbiBkZXBlbmRlbnQgYW5kIGFyZSBzZXQgYXQKLSAqCQlib290IHRpbWUKKyAqCQlib290IHRpbWUuIE0gJiBOIHZhbHVlcyBhcmUgc2V0IGJ5IHRoZSBoYXJkd2FyZS9CSU9TIGF0IGJvb3QuCisgKgogICoKICAqIEFQSUNJRCBmb3JtYXQKICAqIAlOT1RFISEhISEhIFRoaXMgaXMgdGhlIGN1cnJlbnQgZm9ybWF0IG9mIHRoZSBBUElDSUQuIEhvd2V2ZXIsIGNvZGUKQEAgLTQ4LDE0ICs3MSwxNCBAQAogICoKICAqIAkJMTExMTExMDAwMDAwMDAwMAogICogCQk1NDMyMTA5ODc2NTQzMjEwCi0gKgkJbm5ubm5ubm5ubmxjMGNjaAorICoJCXBwcHBwcHBwcHBsYzBjY2gKICAqCQlzc3Nzc3Nzc3NzcwogICoKLSAqCQkJbiAgPSBzbmFzaWQgYml0cworICoJCQlwICA9IHBub2RlIGJpdHMKICAqCQkJbCA9ICBzb2NrZXQgbnVtYmVyIG9uIGJvYXJkCiAgKgkJCWMgID0gY29yZQogICoJCQloICA9IGh5cGVydGhyZWFkCi0gKgkJCXMgID0gYml0cyB0aGF0IGFyZSBpbiB0aGUgc29ja2V0IENTUgorICoJCQlzICA9IGJpdHMgdGhhdCBhcmUgaW4gdGhlIFNPQ0tFVF9JRCBDU1IKICAqCiAgKglOb3RlOiBQcm9jZXNzb3Igb25seSBzdXBwb3J0cyAxMiBiaXRzIGluIHRoZSBBUElDSUQgcmVnaXN0ZXIuIFRoZSBBQ1BJCiAgKgkgICAgICB0YWJsZXMgaG9sZCBhbGwgMTYgYml0cy4gU29mdHdhcmUgbmVlZHMgdG8gYmUgYXdhcmUgb2YgdGhpcy4KQEAgLTc0LDcgKzk3LDcgQEAKICAqIFRoaXMgdmFsdWUgaXMgYWxzbyB0aGUgdmFsdWUgb2YgdGhlIG1heGltdW0gbnVtYmVyIG9mIG5vbi1yb3V0ZXIgTkFTSURzCiAgKiBpbiB0aGUgbnVtYWxpbmsgZmFicmljLgogICoKLSAqIE5PVEU6IGEgYnJpY2sgbWF5IGJlIDEgb3IgMiBPUyBub2Rlcy4gRG9uJ3QgZ2V0IHRoZXNlIGNvbmZ1c2VkLgorICogTk9URTogYSBicmljayBtYXkgY29udGFpbiAxIG9yIDIgT1Mgbm9kZXMuIERvbid0IGdldCB0aGVzZSBjb25mdXNlZC4KICAqLwogI2RlZmluZSBVVl9NQVhfTlVNQUxJTktfQkxBREVTCTE2Mzg0CiAKQEAgLTk2LDggKzExOSwxMiBAQAogICovCiBzdHJ1Y3QgdXZfaHViX2luZm9fcyB7CiAJdW5zaWduZWQgbG9uZwlnbG9iYWxfbW1yX2Jhc2U7Ci0JdW5zaWduZWQgc2hvcnQJbG9jYWxfbmFzaWQ7Ci0JdW5zaWduZWQgc2hvcnQJZ25vZGVfdXBwZXI7CisJdW5zaWduZWQgbG9uZwlncGFfbWFzazsKKwl1bnNpZ25lZCBsb25nCWdub2RlX3VwcGVyOworCXVuc2lnbmVkIGxvbmcJbG93bWVtX3JlbWFwX3RvcDsKKwl1bnNpZ25lZCBsb25nCWxvd21lbV9yZW1hcF9iYXNlOworCXVuc2lnbmVkIHNob3J0CXBub2RlOworCXVuc2lnbmVkIHNob3J0CXBub2RlX21hc2s7CiAJdW5zaWduZWQgc2hvcnQJY29oZXJlbmN5X2RvbWFpbl9udW1iZXI7CiAJdW5zaWduZWQgc2hvcnQJbnVtYV9ibGFkZV9pZDsKIAl1bnNpZ25lZCBjaGFyCWJsYWRlX3Byb2Nlc3Nvcl9pZDsKQEAgLTExMiw4MyArMTM5LDEyNiBAQAogICogTG9jYWwgJiBHbG9iYWwgTU1SIHNwYWNlIG1hY3Jvcy4KICAqIAlOb3RlOiBtYWNyb3MgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgT05MWSBieSBpbmxpbmUgZnVuY3Rpb25zCiAgKiAJaW4gdGhpcyBmaWxlIC0gbm90IGJ5IG90aGVyIGtlcm5lbCBjb2RlLgorICogCQluIC0gIE5BU0lEIChmdWxsIDE1LWJpdCBnbG9iYWwgbmFzaWQpCisgKiAJCWcgLSAgR05PREUgKGZ1bGwgMTUtYml0IGdsb2JhbCBuYXNpZCwgcmlnaHQgc2hpZnRlZCAxKQorICogCQlwIC0gIFBOT0RFIChsb2NhbCBwYXJ0IG9mIG5zaWRzLCByaWdodCBzaGlmdGVkIDEpCiAgKi8KLSNkZWZpbmUgVVZfU05BU0lEKG4pCQkJKChuKSA+PiAxKQotI2RlZmluZSBVVl9OQVNJRChuKQkJCSgobikgPDwgMSkKKyNkZWZpbmUgVVZfTkFTSURfVE9fUE5PREUobikJCSgoKG4pID4+IDEpICYgdXZfaHViX2luZm8tPnBub2RlX21hc2spCisjZGVmaW5lIFVWX1BOT0RFX1RPX05BU0lEKHApCQkoKChwKSA8PCAxKSB8IHV2X2h1Yl9pbmZvLT5nbm9kZV91cHBlcikKIAogI2RlZmluZSBVVl9MT0NBTF9NTVJfQkFTRQkJMHhmNDAwMDAwMFVMCiAjZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9CQVNFCQkweGY4MDAwMDAwVUwKICNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X0JBU0UJCSh1dl9odWJfaW5mby0+Z2xvYmFsX21tcl9iYXNlKQorI2RlZmluZSBVVl9MT0NBTF9NTVJfU0laRQkJKDY0VUwgKiAxMDI0ICogMTAyNCkKKyNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX1NJWkUJCSg2NFVMICogMTAyNCAqIDEwMjQpCiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9NQVNLCTB4M2ZmCi0jZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9TTkFTSURfU0hJRlQJMTUKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X1NOQVNJRF9TSElGVAkyNgorI2RlZmluZSBVVl9HTE9CQUxfTU1SMzJfUE5PREVfU0hJRlQJMTUKKyNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X1BOT0RFX1NISUZUCTI2CiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX05BU0lEX0JJVFMobikJCQkJCVwKLQkJKCgoVVZfU05BU0lEKG4pICYgVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9NQVNLKSkgPDwJXAotCQkoVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9TSElGVCkpCisjZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9CSVRTKHApCSgocCkgPDwgKFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9TSElGVCkpCiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X05BU0lEX0JJVFMobikJCQkJCVwKLQkoKHVuc2lnbmVkIGxvbmcpVVZfU05BU0lEKG4pIDw8IFVWX0dMT0JBTF9NTVI2NF9TTkFTSURfU0hJRlQpCisjZGVmaW5lIFVWX0dMT0JBTF9NTVI2NF9QTk9ERV9CSVRTKHApCQkJCQlcCisJKCh1bnNpZ25lZCBsb25nKShwKSA8PCBVVl9HTE9CQUxfTU1SNjRfUE5PREVfU0hJRlQpCiAKLSNkZWZpbmUgVVZfQVBJQ19OQVNJRF9TSElGVAk2CisjZGVmaW5lIFVWX0FQSUNfUE5PREVfU0hJRlQJNgogCiAvKgotICogRXh0cmFjdCBhIE5BU0lEIGZyb20gYW4gQVBJQ0lEIChmdWxsIGFwaWNpZCwgbm90IHByb2Nlc3NvciBzdWJzZXQpCisgKiBNYWNyb3MgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBrZXJuZWwgdmlydHVhbCBhZGRyZXNzZXMsIHNvY2tldCBsb2NhbCBwaHlzaWNhbAorICogYWRkcmVzc2VzLCBhbmQgVVYgZ2xvYmFsIHBoeXNpY2FsIGFkZHJlc3Nlcy4KKyAqIAlOb3RlOiB1c2UgdGhlIHN0YW5kYXJkIF9fcGEoKSAmIF9fdmEoKSBtYWNyb3MgZm9yIGNvbnZlcnRpbmcKKyAqIAkgICAgICBiZXR3ZWVuIHNvY2tldCB2aXJ0dWFsIGFuZCBzb2NrZXQgcGh5c2ljYWwgYWRkcmVzc2VzLgogICovCi1zdGF0aWMgaW5saW5lIGludCB1dl9hcGljaWRfdG9fbmFzaWQoaW50IGFwaWNpZCkKKworLyogc29ja2V0IHBoeXMgUkFNIC0tPiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHV2X3NvY19waHlzX3JhbV90b19ncGEodW5zaWduZWQgbG9uZyBwYWRkcikKIHsKLQlyZXR1cm4gKFVWX05BU0lEKGFwaWNpZCA+PiBVVl9BUElDX05BU0lEX1NISUZUKSk7CisJaWYgKHBhZGRyIDwgdXZfaHViX2luZm8tPmxvd21lbV9yZW1hcF90b3ApCisJCXBhZGRyICs9IHV2X2h1Yl9pbmZvLT5sb3dtZW1fcmVtYXBfYmFzZTsKKwlyZXR1cm4gcGFkZHIgfCB1dl9odWJfaW5mby0+Z25vZGVfdXBwZXI7Cit9CisKKworLyogc29ja2V0IHZpcnR1YWwgLS0+IFVWIGdsb2JhbCBwaHlzaWNhbCBhZGRyZXNzICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdXZfZ3BhKHZvaWQgKnYpCit7CisJcmV0dXJuIF9fcGEodikgfCB1dl9odWJfaW5mby0+Z25vZGVfdXBwZXI7Cit9CisKKy8qIHNvY2tldCB2aXJ0dWFsIC0tPiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAqLworc3RhdGljIGlubGluZSB2b2lkICp1dl92Z3BhKHZvaWQgKnYpCit7CisJcmV0dXJuICh2b2lkICopdXZfZ3BhKHYpOworfQorCisvKiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAtLT4gc29ja2V0IHZpcnR1YWwgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCAqdXZfdmEodW5zaWduZWQgbG9uZyBncGEpCit7CisJcmV0dXJuIF9fdmEoZ3BhICYgdXZfaHViX2luZm8tPmdwYV9tYXNrKTsKK30KKworLyogcG5vZGUsIG9mZnNldCAtLT4gc29ja2V0IHZpcnR1YWwgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCAqdXZfcG5vZGVfb2Zmc2V0X3RvX3ZhZGRyKGludCBwbm9kZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJcmV0dXJuIF9fdmEoKCh1bnNpZ25lZCBsb25nKXBub2RlIDw8IHV2X2h1Yl9pbmZvLT5tX3ZhbCkgfCBvZmZzZXQpOworfQorCisKKy8qCisgKiBFeHRyYWN0IGEgUE5PREUgZnJvbSBhbiBBUElDSUQgKGZ1bGwgYXBpY2lkLCBub3QgcHJvY2Vzc29yIHN1YnNldCkKKyAqLworc3RhdGljIGlubGluZSBpbnQgdXZfYXBpY2lkX3RvX3Bub2RlKGludCBhcGljaWQpCit7CisJcmV0dXJuIChhcGljaWQgPj4gVVZfQVBJQ19QTk9ERV9TSElGVCk7CiB9CiAKIC8qCiAgKiBBY2Nlc3MgZ2xvYmFsIE1NUnMgdXNpbmcgdGhlIGxvdyBtZW1vcnkgTU1SMzIgc3BhY2UuIFRoaXMgcmVnaW9uIHN1cHBvcnRzCiAgKiBmYXN0ZXIgTU1SIGFjY2VzcyBidXQgbm90IGFsbCBNTVJzIGFyZSBhY2Nlc3NpYmxlIGluIHRoaXMgc3BhY2UuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqdXZfZ2xvYmFsX21tcjMyX2FkZHJlc3MoaW50IG5hc2lkLAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhpbnQgcG5vZGUsCiAJCQkJdW5zaWduZWQgbG9uZyBvZmZzZXQpCiB7CiAJcmV0dXJuIF9fdmEoVVZfR0xPQkFMX01NUjMyX0JBU0UgfAotCQkgICAgICAgVVZfR0xPQkFMX01NUjMyX05BU0lEX0JJVFMobmFzaWQpIHwgb2Zmc2V0KTsKKwkJICAgICAgIFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9CSVRTKHBub2RlKSB8IG9mZnNldCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB1dl93cml0ZV9nbG9iYWxfbW1yMzIoaW50IG5hc2lkLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKK3N0YXRpYyBpbmxpbmUgdm9pZCB1dl93cml0ZV9nbG9iYWxfbW1yMzIoaW50IHBub2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKIAkJCQkgdW5zaWduZWQgbG9uZyB2YWwpCiB7Ci0JKnV2X2dsb2JhbF9tbXIzMl9hZGRyZXNzKG5hc2lkLCBvZmZzZXQpID0gdmFsOworCSp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhwbm9kZSwgb2Zmc2V0KSA9IHZhbDsKIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHV2X3JlYWRfZ2xvYmFsX21tcjMyKGludCBuYXNpZCwKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB1dl9yZWFkX2dsb2JhbF9tbXIzMihpbnQgcG5vZGUsCiAJCQkJCQkgdW5zaWduZWQgbG9uZyBvZmZzZXQpCiB7Ci0JcmV0dXJuICp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhuYXNpZCwgb2Zmc2V0KTsKKwlyZXR1cm4gKnV2X2dsb2JhbF9tbXIzMl9hZGRyZXNzKHBub2RlLCBvZmZzZXQpOwogfQogCiAvKgogICogQWNjZXNzIEdsb2JhbCBNTVIgc3BhY2UgdXNpbmcgdGhlIE1NUiBzcGFjZSBsb2NhdGVkIGF0IHRoZSB0b3Agb2YgcGh5c2ljYWwKICAqIG1lbW9yeS4KICAqLwotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhpbnQgbmFzaWQsCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgKnV2X2dsb2JhbF9tbXI2NF9hZGRyZXNzKGludCBwbm9kZSwKIAkJCQl1bnNpZ25lZCBsb25nIG9mZnNldCkKIHsKIAlyZXR1cm4gX192YShVVl9HTE9CQUxfTU1SNjRfQkFTRSB8Ci0JCSAgICAgICBVVl9HTE9CQUxfTU1SNjRfTkFTSURfQklUUyhuYXNpZCkgfCBvZmZzZXQpOworCQkgICAgVVZfR0xPQkFMX01NUjY0X1BOT0RFX0JJVFMocG5vZGUpIHwgb2Zmc2V0KTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHV2X3dyaXRlX2dsb2JhbF9tbXI2NChpbnQgbmFzaWQsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAorc3RhdGljIGlubGluZSB2b2lkIHV2X3dyaXRlX2dsb2JhbF9tbXI2NChpbnQgcG5vZGUsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogCQkJCXVuc2lnbmVkIGxvbmcgdmFsKQogewotCSp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhuYXNpZCwgb2Zmc2V0KSA9IHZhbDsKKwkqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MocG5vZGUsIG9mZnNldCkgPSB2YWw7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB1dl9yZWFkX2dsb2JhbF9tbXI2NChpbnQgbmFzaWQsCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdXZfcmVhZF9nbG9iYWxfbW1yNjQoaW50IHBub2RlLAogCQkJCQkJIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQogewotCXJldHVybiAqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MobmFzaWQsIG9mZnNldCk7CisJcmV0dXJuICp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhwbm9kZSwgb2Zmc2V0KTsKIH0KIAogLyoKLSAqIEFjY2VzcyBub2RlIGxvY2FsIE1NUnMuIEZhc3RlciB0aGFuIHVzaW5nIGdsb2JhbCBzcGFjZSBidXQgb25seSBsb2NhbCBNTVJzCisgKiBBY2Nlc3MgaHViIGxvY2FsIE1NUnMuIEZhc3RlciB0aGFuIHVzaW5nIGdsb2JhbCBzcGFjZSBidXQgb25seSBsb2NhbCBNTVJzCiAgKiBhcmUgYWNjZXNzaWJsZS4KICAqLwogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9sb2NhbF9tbXJfYWRkcmVzcyh1bnNpZ25lZCBsb25nIG9mZnNldCkKQEAgLTIwNywxNSArMjc3LDE1IEBACiB9CiAKIC8qCi0gKiBTdHJ1Y3R1cmVzIGFuZCBkZWZpbml0aW9ucyBmb3IgY29udmVydGluZyBiZXR3ZWVuIGNwdSwgbm9kZSwgYW5kIGJsYWRlCisgKiBTdHJ1Y3R1cmVzIGFuZCBkZWZpbml0aW9ucyBmb3IgY29udmVydGluZyBiZXR3ZWVuIGNwdSwgbm9kZSwgcG5vZGUsIGFuZCBibGFkZQogICogbnVtYmVycy4KICAqLwogc3RydWN0IHV2X2JsYWRlX2luZm8gewotCXVuc2lnbmVkIHNob3J0CW5yX3Bvc2libGVfY3B1czsKKwl1bnNpZ25lZCBzaG9ydAlucl9wb3NzaWJsZV9jcHVzOwogCXVuc2lnbmVkIHNob3J0CW5yX29ubGluZV9jcHVzOwotCXVuc2lnbmVkIHNob3J0CW5hc2lkOworCXVuc2lnbmVkIHNob3J0CXBub2RlOwogfTsKLXN0cnVjdCB1dl9ibGFkZV9pbmZvICp1dl9ibGFkZV9pbmZvOworZXh0ZXJuIHN0cnVjdCB1dl9ibGFkZV9pbmZvICp1dl9ibGFkZV9pbmZvOwogZXh0ZXJuIHNob3J0ICp1dl9ub2RlX3RvX2JsYWRlOwogZXh0ZXJuIHNob3J0ICp1dl9jcHVfdG9fYmxhZGU7CiBleHRlcm4gc2hvcnQgdXZfcG9zc2libGVfYmxhZGVzOwpAQCAtMjQ0LDE2ICszMTQsMTYgQEAKIAlyZXR1cm4gdXZfbm9kZV90b19ibGFkZVtuaWRdOwogfQogCi0vKiBDb252ZXJ0IGEgYmxhZGUgaWQgdG8gdGhlIE5BU0lEIG9mIHRoZSBibGFkZSAqLwotc3RhdGljIGlubGluZSBpbnQgdXZfYmxhZGVfdG9fbmFzaWQoaW50IGJpZCkKKy8qIENvbnZlcnQgYSBibGFkZSBpZCB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlICovCitzdGF0aWMgaW5saW5lIGludCB1dl9ibGFkZV90b19wbm9kZShpbnQgYmlkKQogewotCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ubmFzaWQ7CisJcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5wbm9kZTsKIH0KIAogLyogRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY3B1cyBvbiBhIGJsYWRlICovCiBzdGF0aWMgaW5saW5lIGludCB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGludCBiaWQpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5ucl9wb3NpYmxlX2NwdXM7CisJcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5ucl9wb3NzaWJsZV9jcHVzOwogfQogCiAvKiBEZXRlcm1pbmUgdGhlIG51bWJlciBvZiBvbmxpbmUgY3B1cyBvbiBhIGJsYWRlICovCkBAIC0yNjIsMTYgKzMzMiwxNiBAQAogCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ubnJfb25saW5lX2NwdXM7CiB9CiAKLS8qIENvbnZlcnQgYSBjcHUgaWQgdG8gdGhlIE5BU0lEIG9mIHRoZSBibGFkZSBjb250YWluaW5nIHRoZSBjcHUgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHV2X2NwdV90b19uYXNpZChpbnQgY3B1KQorLyogQ29udmVydCBhIGNwdSBpZCB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlIGNvbnRhaW5pbmcgdGhlIGNwdSAqLworc3RhdGljIGlubGluZSBpbnQgdXZfY3B1X3RvX3Bub2RlKGludCBjcHUpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bdXZfY3B1X3RvX2JsYWRlX2lkKGNwdSldLm5hc2lkOworCXJldHVybiB1dl9ibGFkZV9pbmZvW3V2X2NwdV90b19ibGFkZV9pZChjcHUpXS5wbm9kZTsKIH0KIAotLyogQ29udmVydCBhIG5vZGUgbnVtYmVyIHRvIHRoZSBOQVNJRCBvZiB0aGUgYmxhZGUgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHV2X25vZGVfdG9fbmFzaWQoaW50IG5pZCkKKy8qIENvbnZlcnQgYSBsaW51eCBub2RlIG51bWJlciB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlICovCitzdGF0aWMgaW5saW5lIGludCB1dl9ub2RlX3RvX3Bub2RlKGludCBuaWQpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bdXZfbm9kZV90b19ibGFkZV9pZChuaWQpXS5uYXNpZDsKKwlyZXR1cm4gdXZfYmxhZGVfaW5mb1t1dl9ub2RlX3RvX2JsYWRlX2lkKG5pZCldLnBub2RlOwogfQogCiAvKiBNYXhpbXVtIHBvc3NpYmxlIG51bWJlciBvZiBibGFkZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9tbXJzLmggYi9pbmNsdWRlL2FzbS14ODYvdXYvdXZfbW1ycy5oCmluZGV4IDNiNjlmZTYuLjE1MWZkN2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9tbXJzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X21tcnMuaApAQCAtMTEsMTcgKzExLDI5MCBAQAogI2lmbmRlZiBfX0FTTV9YODZfVVZfTU1SU19fCiAjZGVmaW5lIF9fQVNNX1g4Nl9VVl9NTVJTX18KIAotLyoKLSAqICAgICAgIEFVVE8gR0VORVJBVEVEIC0gRG8gbm90IGVkaXQKLSAqLworI2RlZmluZSBVVl9NTVJfRU5BQkxFCQkoMVVMIDw8IDYzKQogCi0gI2RlZmluZSBVVl9NTVJfRU5BQkxFCQkoMVVMIDw8IDYzKQorLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfQkFVX0RBVEFfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHIDB4NjE2ODBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHXzMyIDB4MDQzOAorCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfVkVDVE9SX1NIRlQgMAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1ZFQ1RPUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDBmZlVMCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfRE1fTUFTSyAweDAwMDAwMDAwMDAwMDA3MDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0RFU1RNT0RFX1NIRlQgMTEKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfU1RBVFVTX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19TVEFUVVNfTUFTSyAweDAwMDAwMDAwMDAwMDEwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1BfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1RfU0hGVCAxNQorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX01fU0hGVCAxNgorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX01fTUFTSyAweDAwMDAwMDAwMDAwMTAwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0FQSUNfSURfTUFTSyAweGZmZmZmZmZmMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfYmF1X2RhdGFfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2JhdV9kYXRhX2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9FVkVOVF9PQ0NVUlJFRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDAgMHg3MDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfMzIgMHgwMDVlOAorCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSENFUlJfU0hGVCAwCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDFVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMF9IQ0VSUl9TSEZUIDEKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDJVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMV9IQ0VSUl9TSEZUIDIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDRVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0hDRVJSX1NIRlQgMworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA4VUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9IQ0VSUl9TSEZUIDQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAxMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fSENFUlJfU0hGVCA1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMjBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0hDRVJSX1NIRlQgNgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDQwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9BT0VSUjBfU0hGVCA3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMDgwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIwX1NIRlQgOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDAxMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMV9BT0VSUjBfU0hGVCA5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IxX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDIwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEhfQU9FUlIwX1NIRlQgMTAKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1JIX0FPRVJSMF9TSEZUIDExCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9YTl9BT0VSUjBfU0hGVCAxMgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU0lfQU9FUlIwX1NIRlQgMTMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0FPRVJSMV9TSEZUIDE0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDA0MDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIxX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfQU9FUlIxX1NIRlQgMTYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9BT0VSUjFfU0hGVCAxNworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAyMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfQU9FUlIxX1NIRlQgMTgKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwNDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0FPRVJSMV9TSEZUIDE5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDgwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9BT0VSUjFfU0hGVCAyMAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDEwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfVlBJX0lOVF9TSEZUIDIxCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfVlBJX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDIwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU1lTVEVNX1NIVVRET1dOX0lOVF9TSEZUIDIyCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU1lTVEVNX1NIVVRET1dOX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDQwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8wX1NIRlQgMjMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzBfTUFTSyAweDAwMDAwMDAwMDA4MDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMV9TSEZUIDI0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8xX01BU0sgMHgwMDAwMDAwMDAxMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzJfU0hGVCAyNQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMl9NQVNLIDB4MDAwMDAwMDAwMjAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8zX1NIRlQgMjYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzNfTUFTSyAweDAwMDAwMDAwMDQwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfNF9TSEZUIDI3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF80X01BU0sgMHgwMDAwMDAwMDA4MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzVfU0hGVCAyOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfNV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF82X1NIRlQgMjkKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzZfTUFTSyAweDAwMDAwMDAwMjAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfN19TSEZUIDMwCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF83X01BU0sgMHgwMDAwMDAwMDQwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzhfU0hGVCAzMQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfOF9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF85X1NIRlQgMzIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzlfTUFTSyAweDAwMDAwMDAxMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTBfU0hGVCAzMworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTBfTUFTSyAweDAwMDAwMDAyMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTFfU0hGVCAzNAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTFfTUFTSyAweDAwMDAwMDA0MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTJfU0hGVCAzNQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTJfTUFTSyAweDAwMDAwMDA4MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTNfU0hGVCAzNgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTNfTUFTSyAweDAwMDAwMDEwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTRfU0hGVCAzNworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTRfTUFTSyAweDAwMDAwMDIwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTVfU0hGVCAzOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTVfTUFTSyAweDAwMDAwMDQwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX05NSV9JTlRfU0hGVCAzOQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX05NSV9JTlRfTUFTSyAweDAwMDAwMDgwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NUT1BfQ0xPQ0tfU0hGVCA0MAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NUT1BfQ0xPQ0tfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FTSUNfVE9fTDFfU0hGVCA0MQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FTSUNfVE9fTDFfTUFTSyAweDAwMDAwMjAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX1RPX0FTSUNfU0hGVCA0MgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX1RPX0FTSUNfTUFTSyAweDAwMDAwNDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xUQ19JTlRfU0hGVCA0MworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xUQ19JTlRfTUFTSyAweDAwMDAwODAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xBX1NFUV9UUklHR0VSX1NIRlQgNDQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQV9TRVFfVFJJR0dFUl9NQVNLIDB4MDAwMDEwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfSVBJX0lOVF9TSEZUIDQ1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfSVBJX0lOVF9NQVNLIDB4MDAwMDIwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMF9TSEZUIDQ2CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMF9NQVNLIDB4MDAwMDQwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMV9TSEZUIDQ3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMV9NQVNLIDB4MDAwMDgwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMl9TSEZUIDQ4CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMl9NQVNLIDB4MDAwMTAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UM19TSEZUIDQ5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UM19NQVNLIDB4MDAwMjAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUFJPRklMRV9JTlRfU0hGVCA1MAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1BST0ZJTEVfSU5UX01BU0sgMHgwMDA0MDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMwX1NIRlQgNTEKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMwX01BU0sgMHgwMDA4MDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMxX1NIRlQgNTIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMxX01BU0sgMHgwMDEwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMyX1NIRlQgNTMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMyX01BU0sgMHgwMDIwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMzX1NIRlQgNTQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMzX01BU0sgMHgwMDQwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9CQVVfREFUQV9TSEZUIDU1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfQkFVX0RBVEFfTUFTSyAweDAwODAwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1BPV0VSX01BTkFHRU1FTlRfUkVRX1NIRlQgNTYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9QT1dFUl9NQU5BR0VNRU5UX1JFUV9NQVNLIDB4MDEwMDAwMDAwMDAwMDAwMFVMCit1bmlvbiB1dmhfZXZlbnRfb2NjdXJyZWQwX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2V2ZW50X29jY3VycmVkMF9zIHsKKwl1bnNpZ25lZCBsb25nCWxiX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlncjBfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZ3IxX2hjZXJyICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxoX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlyaF9oY2VyciAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJeG5faGNlcnIgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXNpX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZ3IwX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWdyMV9hb2VycjAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsaF9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcmhfYW9lcnIwICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXhuX2FvZXJyMCAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzaV9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWdyMF9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlncjFfYW9lcnIxICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGhfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJoX2FvZXJyMSAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwl4bl9hb2VycjEgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJc2lfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJoX3ZwaV9pbnQgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzeXN0ZW1fc2h1dGRvd25faW50ICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8wICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMSAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzIgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8zICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNCAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzUgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF82ICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNyAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzggICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF85ICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzExICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMiAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTMgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzE0ICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xNSAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWwxX25taV9pbnQgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzdG9wX2Nsb2NrICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJYXNpY190b19sMSAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWwxX3RvX2FzaWMgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsdGNfaW50ICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGFfc2VxX3RyaWdnZXIgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWlwaV9pbnQgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlleHRpb19pbnQwICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZXh0aW9faW50MSAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWV4dGlvX2ludDIgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlleHRpb19pbnQzICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcHJvZmlsZV9pbnQgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJ0YzAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlydGMxICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcnRjMiAgICAgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJ0YzMgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwliYXVfZGF0YSAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcG93ZXJfbWFuYWdlbWVudF9yZXEgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTdfNjMgICAgICAgICAgIDogIDc7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0VWRU5UX09DQ1VSUkVEMF9BTElBUyAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9BTElBUyAweDAwMDAwMDAwMDAwNzAwMDhVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FMSUFTXzMyIDB4MDA1ZjAKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0lOVF9DTVBCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfSU5UX0NNUEIgMHgyMjA4MFVMCisKKyNkZWZpbmUgVVZIX0lOVF9DTVBCX1JFQUxfVElNRV9DTVBCX1NIRlQgMAorI2RlZmluZSBVVkhfSU5UX0NNUEJfUkVBTF9USU1FX0NNUEJfTUFTSyAweDAwZmZmZmZmZmZmZmZmZmZVTAorCit1bmlvbiB1dmhfaW50X2NtcGJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfaW50X2NtcGJfcyB7CisJdW5zaWduZWQgbG9uZwlyZWFsX3RpbWVfY21wYiA6IDU2OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTZfNjMgICAgIDogIDg7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9JTlRfQ01QQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0lOVF9DTVBDIDB4MjIxMDBVTAorCisjZGVmaW5lIFVWSF9JTlRfQ01QQ19SRUFMX1RJTUVfQ01QQ19TSEZUIDAKKyNkZWZpbmUgVVZIX0lOVF9DTVBDX1JFQUxfVElNRV9DTVBDX01BU0sgMHgwMGZmZmZmZmZmZmZmZmZmVUwKKwordW5pb24gdXZoX2ludF9jbXBjX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2ludF9jbXBjX3MgeworCXVuc2lnbmVkIGxvbmcJcmVhbF90aW1lX2NtcGMgOiA1NjsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzU2XzYzICAgICA6ICA4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfSU5UX0NNUEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9JTlRfQ01QRCAweDIyMTgwVUwKKworI2RlZmluZSBVVkhfSU5UX0NNUERfUkVBTF9USU1FX0NNUERfU0hGVCAwCisjZGVmaW5lIFVWSF9JTlRfQ01QRF9SRUFMX1RJTUVfQ01QRF9NQVNLIDB4MDBmZmZmZmZmZmZmZmZmZlVMCisKK3VuaW9uIHV2aF9pbnRfY21wZF91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9pbnRfY21wZF9zIHsKKwl1bnNpZ25lZCBsb25nCXJlYWxfdGltZV9jbXBkIDogNTY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81Nl82MyAgICAgOiAgODsgIC8qICAgICovCisgICAgfSBzOworfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0lQSV9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfSVBJX0lOVCAweDYwNTAwVUwKLSNkZWZpbmUgVVZIX0lQSV9JTlRfMzIgMHgwMzYwCisjZGVmaW5lIFVWSF9JUElfSU5UXzMyIDB4MDM0OAogCiAjZGVmaW5lIFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUIDAKICNkZWZpbmUgVVZIX0lQSV9JTlRfVkVDVE9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMGZmVUwKQEAgLTUxLDcgKzMyNCw3IEBACiAvKiAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVCAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0ZJUlNUIDB4MzIwMDUwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfMzIgMHgwMDlmMAorI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVF8zMiAweDAwOWMwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfQUREUkVTU19TSEZUIDQKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfQUREUkVTU19NQVNLIDB4MDAwMDA3ZmZmZmZmZmZmMFVMCkBAIC03Myw3ICszNDYsNyBAQAogLyogICAgICAgICAgICAgICAgICAgIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1QgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNUIDB4MzIwMDYwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfTEFTVF8zMiAweDAwOWY4CisjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1RfMzIgMHgwMDljOAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1RfQUREUkVTU19TSEZUIDQKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfTEFTVF9BRERSRVNTX01BU0sgMHgwMDAwMDdmZmZmZmZmZmYwVUwKQEAgLTkxLDcgKzM2NCw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTCAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX1RBSUwgMHgzMjAwNzBVTAotI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMXzMyIDB4MDBhMDAKKyNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTF8zMiAweDAwOWQwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTF9BRERSRVNTX1NIRlQgNAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMX0FERFJFU1NfTUFTSyAweDAwMDAwN2ZmZmZmZmZmZjBVTApAQCAtMTA5LDYgKzM4Miw3IEBACiAvKiAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0UgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRSAweDMyMDA4MFVMCisjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRV8zMiAweDBhNjgKIAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfUEVORElOR18wX1NIRlQgMAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfUEVORElOR18wX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAxVUwKQEAgLTE2OSwxMiArNDQzLDEzIEBACiAvKiAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVMgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRV9BTElBUyAweDAwMDAwMDAwMDAzMjAwODhVTAorI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVNfMzIgMHgwYTcwCiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wgMHgzMjAwMjBVTAotI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTF8zMiAweDAwOWQ4CisjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MXzMyIDB4MDA5YTgKIAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTF9JTkRFWF9TSEZUIDAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0xfSU5ERVhfTUFTSyAweDAwMDAwMDAwMDAwMDAwM2ZVTApAQCAtMTk3LDcgKzQ3Miw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMCAweDMyMDAzMFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMF8zMiAweDAwOWUwCisjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMF8zMiAweDAwOWIwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wX1NUQVRVU19TSEZUIDAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wX1NUQVRVU19NQVNLIDB4ZmZmZmZmZmZmZmZmZmZmZlVMCkBAIC0yMTMsNyArNDg4LDcgQEAKIC8qICAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzEgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xIDB4MzIwMDQwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xXzMyIDB4MDA5ZTgKKyNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xXzMyIDB4MDA5YjgKIAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzFfU1RBVFVTX1NIRlQgMAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzFfU1RBVFVTX01BU0sgMHhmZmZmZmZmZmZmZmZmZmZmVUwKQEAgLTIyOSw3ICs1MDQsNyBAQAogLyogICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRSAweDMyMDAxMFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFXzMyIDB4MDA5ZDAKKyNkZWZpbmUgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0VfMzIgMHgwMDlhMAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFX1BBR0VfQUREUkVTU19TSEZUIDEyCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFX1BBR0VfQUREUkVTU19NQVNLIDB4MDAwMDA3ZmZmZmZmZjAwMFVMCkBAIC0yNDgsNiArNTIzLDMzNCBAQAogfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEUgMHg1MGIyMFVMCisKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX09CRVNFX01TR19TSEZUIDAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDAwMDAwMVVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9EQVRBX1NCX0VSUl9TSEZUIDEKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX0RBVEFfU0JfRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAyVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX05BQ0tfQlVGRl9QQVJJVFlfU0hGVCAyCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9OQUNLX0JVRkZfUEFSSVRZX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA0VUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1RJTUVPVVRfU0hGVCAzCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA4VUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX0lOQUNUSVZFX1JFUExZX1NIRlQgNAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfSU5BQ1RJVkVfUkVQTFlfTUFTSyAweDAwMDAwMDAwMDAwMDAwMTBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfVVBHUkFERV9FUlJPUl9TSEZUIDUKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1VQR1JBREVfRVJST1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwMjBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfUkVHX0NPVU5UX1VOREVSRkxPV19TSEZUIDYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1JFR19DT1VOVF9VTkRFUkZMT1dfTUFTSyAweDAwMDAwMDAwMDAwMDAwNDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfUkVQX09CRVNFX01TR19TSEZUIDcKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1JFUF9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMDAwODBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUV9SVU5UX01TR19TSEZUIDgKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVFfUlVOVF9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMDAxMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUV9PQkVTRV9NU0dfU0hGVCA5CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVRX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDAwMDIwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVRX0RBVEFfU0JfRVJSX1NIRlQgMTAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVFfREFUQV9TQl9FUlJfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUF9SVU5UX01TR19TSEZUIDExCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX1JVTlRfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfT0JFU0VfTVNHX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfT0JFU0VfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfREFUQV9TQl9FUlJfU0hGVCAxMworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUF9EQVRBX1NCX0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX0NPTU1BTkRfRVJSX1NIRlQgMTQKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfQ09NTUFORF9FUlJfTUFTSyAweDAwMDAwMDAwMDAwMDQwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1BFTkRfVElNRU9VVF9TSEZUIDE1CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUEVORF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX1JVTlRfTVNHX1NIRlQgMTYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX1JVTlRfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX09CRVNFX01TR19TSEZUIDE3CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUV9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMjAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVFfREFUQV9TQl9FUlJfU0hGVCAxOAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVFfREFUQV9TQl9FUlJfTUFTSyAweDAwMDAwMDAwMDAwNDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfUlVOVF9NU0dfU0hGVCAxOQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfUlVOVF9NU0dfTUFTSyAweDAwMDAwMDAwMDAwODAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfT0JFU0VfTVNHX1NIRlQgMjAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVQX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDEwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUF9EQVRBX1NCX0VSUl9TSEZUIDIxCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUF9EQVRBX1NCX0VSUl9NQVNLIDB4MDAwMDAwMDAwMDIwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX0FNT19USU1FT1VUX1NIRlQgMjIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfQU1PX1RJTUVPVVRfTUFTSyAweDAwMDAwMDAwMDA0MDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19QVVRfVElNRU9VVF9TSEZUIDIzCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1BVVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwODAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfU1BVUklPVVNfRVZFTlRfU0hGVCAyNAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19TUFVSSU9VU19FVkVOVF9NQVNLIDB4MDAwMDAwMDAwMTAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JT0hfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMjUKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPSF9ERVNUSU5BVElPTl9UQUJMRV9QQVJJVFlfTUFTSyAweDAwMDAwMDAwMDIwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfR0VUX0hBRF9FUlJPUl9SRVBMWV9TSEZUIDI2CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9HRVRfSEFEX0VSUk9SX1JFUExZX01BU0sgMHgwMDAwMDAwMDA0MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0dFVF9USU1FT1VUX1NIRlQgMjcKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0dFVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDA4MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0xPQ0tfTUFOQUdFUl9IQURfRVJST1JfUkVQTFlfU0hGVCAyOAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTE9DS19NQU5BR0VSX0hBRF9FUlJPUl9SRVBMWV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9QVVRfSEFEX0VSUk9SX1JFUExZX1NIRlQgMjkKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1BVVF9IQURfRVJST1JfUkVQTFlfTUFTSyAweDAwMDAwMDAwMjAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfUFVUX1RJTUVPVVRfU0hGVCAzMAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfUFVUX1RJTUVPVVRfTUFTSyAweDAwMDAwMDAwNDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfU0JfQUNUSVZBVElPTl9PVkVSUlVOX1NIRlQgMzEKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1NCX0FDVElWQVRJT05fT1ZFUlJVTl9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9DT01QTEVURURfR0JfQUNUSVZBVElPTl9IQURfRVJST1JfUkVQTFlfU0hGVCAzMgorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQ09NUExFVEVEX0dCX0FDVElWQVRJT05fSEFEX0VSUk9SX1JFUExZX01BU0sgMHgwMDAwMDAwMTAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0NPTVBMRVRFRF9HQl9BQ1RJVkFUSU9OX1RJTUVPVVRfU0hGVCAzMworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQ09NUExFVEVEX0dCX0FDVElWQVRJT05fVElNRU9VVF9NQVNLIDB4MDAwMDAwMDIwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8wX1BBUklUWV9TSEZUIDM0CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8wX1BBUklUWV9NQVNLIDB4MDAwMDAwMDQwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8xX1BBUklUWV9TSEZUIDM1CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8xX1BBUklUWV9NQVNLIDB4MDAwMDAwMDgwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9TT0NLRVRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMzYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1NPQ0tFVF9ERVNUSU5BVElPTl9UQUJMRV9QQVJJVFlfTUFTSyAweDAwMDAwMDEwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQkFVX1JFUExZX1BBWUxPQURfQ09SUlVQVElPTl9TSEZUIDM3CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9CQVVfUkVQTFlfUEFZTE9BRF9DT1JSVVBUSU9OX01BU0sgMHgwMDAwMDAyMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPX1BPUlRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMzgKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPX1BPUlRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX01BU0sgMHgwMDAwMDA0MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVERfU09GVF9BQ0tfVElNRU9VVF9TSEZUIDM5CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlREX1NPRlRfQUNLX1RJTUVPVVRfTUFTSyAweDAwMDAwMDgwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9PQkVTRV9NU0dfU0hGVCA0MAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9DT01NQU5EX0VSUl9TSEZUIDQxCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlRfUkVQX0NPTU1BTkRfRVJSX01BU0sgMHgwMDAwMDIwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9USU1FT1VUX1NIRlQgNDIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9USU1FT1VUX01BU0sgMHgwMDAwMDQwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX2xiX21jYXN0X2FvZXJyMF9ycHRfZW5hYmxlX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2xiX21jYXN0X2FvZXJyMF9ycHRfZW5hYmxlX3MgeworCXVuc2lnbmVkIGxvbmcJbWNhc3Rfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfbmFja19idWZmX3Bhcml0eSAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfaW5hY3RpdmVfcmVwbHkgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfdXBncmFkZV9lcnJvciAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfcmVnX2NvdW50X3VuZGVyZmxvdyAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfcmVwX29iZXNlX21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9ydW50X21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9kYXRhX3NiX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9ydW50X21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9kYXRhX3NiX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9jb21tYW5kX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3BlbmRfdGltZW91dCAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfcnVudF9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfcnVudF9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19hbW9fdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19wdXRfdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19zcHVyaW91c19ldmVudCAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW9oX2Rlc3RpbmF0aW9uX3RhYmxlX3Bhcml0eSAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ2V0X2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ2V0X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbG9ja19tYW5hZ2VyX2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcHV0X2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcHV0X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc2JfYWN0aXZhdGlvbl9vdmVycnVuICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJY29tcGxldGVkX2diX2FjdGl2YXRpb25faGFkX2Vycm9yX3JlcGx5IDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJY29tcGxldGVkX2diX2FjdGl2YXRpb25fdGltZW91dCAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzY3JpcHRvcl9idWZmZXJfMF9wYXJpdHkgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzY3JpcHRvcl9idWZmZXJfMV9wYXJpdHkgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc29ja2V0X2Rlc3RpbmF0aW9uX3RhYmxlX3Bhcml0eSAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJYmF1X3JlcGx5X3BheWxvYWRfY29ycnVwdGlvbiAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW9fcG9ydF9kZXN0aW5hdGlvbl90YWJsZV9wYXJpdHkgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50ZF9zb2Z0X2Fja190aW1lb3V0ICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3JlcF9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3JlcF9jb21tYW5kX2VyciAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF80M182MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMjE7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfTE9DQUxfSU5UMF9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHIDB4NjEwMDBVTAorCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19WRUNUT1JfU0hGVCAwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19WRUNUT1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwZmZVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ETV9NQVNLIDB4MDAwMDAwMDAwMDAwMDcwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ERVNUTU9ERV9TSEZUIDExCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19TVEFUVVNfU0hGVCAxMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfU1RBVFVTX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfUF9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19UX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfTV9TSEZUIDE2CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19NX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfQVBJQ19JRF9NQVNLIDB4ZmZmZmZmZmYwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9sb2NhbF9pbnQwX2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9sb2NhbF9pbnQwX2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRSAweDY1MDAwVUwKKworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSENFUlJfU0hGVCAwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwMVVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfSENFUlJfU0hGVCAxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDJVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0hDRVJSX1NIRlQgMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA0VUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0hDRVJSX1NIRlQgMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEhfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDhVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfSENFUlJfU0hGVCA0CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9SSF9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAxMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9IQ0VSUl9TSEZUIDUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1hOX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDIwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0hDRVJSX1NIRlQgNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU0lfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwNDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIwX1NIRlQgNworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMDgwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMF9BT0VSUjBfU0hGVCA4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMTAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMV9BT0VSUjBfU0hGVCA5CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjFfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMjAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0FPRVJSMF9TSEZUIDEwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfQU9FUlIwX1NIRlQgMTEKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9BT0VSUjBfU0hGVCAxMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0FPRVJSMF9TSEZUIDEzCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIxX1NIRlQgMTQKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAwNDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfQU9FUlIxX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0FPRVJSMV9TSEZUIDE2CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjFfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0FPRVJSMV9TSEZUIDE3CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwMjAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfQU9FUlIxX1NIRlQgMTgKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDA0MDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9BT0VSUjFfU0hGVCAxOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDgwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0FPRVJSMV9TSEZUIDIwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAxMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfVlBJX0lOVF9TSEZUIDIxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9SSF9WUElfSU5UX01BU0sgMHgwMDAwMDAwMDAwMjAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NZU1RFTV9TSFVURE9XTl9JTlRfU0hGVCAyMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU1lTVEVNX1NIVVRET1dOX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDQwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzBfU0hGVCAyMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8wX01BU0sgMHgwMDAwMDAwMDAwODAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMV9TSEZUIDI0CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzFfTUFTSyAweDAwMDAwMDAwMDEwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8yX1NIRlQgMjUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMl9NQVNLIDB4MDAwMDAwMDAwMjAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzNfU0hGVCAyNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8zX01BU0sgMHgwMDAwMDAwMDA0MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfNF9TSEZUIDI3CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzRfTUFTSyAweDAwMDAwMDAwMDgwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF81X1NIRlQgMjgKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfNV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzZfU0hGVCAyOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF82X01BU0sgMHgwMDAwMDAwMDIwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfN19TSEZUIDMwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzdfTUFTSyAweDAwMDAwMDAwNDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF84X1NIRlQgMzEKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfOF9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzlfU0hGVCAzMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF85X01BU0sgMHgwMDAwMDAwMTAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTBfU0hGVCAzMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xMF9NQVNLIDB4MDAwMDAwMDIwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzExX1NIRlQgMzQKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTFfTUFTSyAweDAwMDAwMDA0MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xMl9TSEZUIDM1CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzEyX01BU0sgMHgwMDAwMDAwODAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTNfU0hGVCAzNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xM19NQVNLIDB4MDAwMDAwMTAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzE0X1NIRlQgMzcKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTRfTUFTSyAweDAwMDAwMDIwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xNV9TSEZUIDM4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzE1X01BU0sgMHgwMDAwMDA0MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0wxX05NSV9JTlRfU0hGVCAzOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTDFfTk1JX0lOVF9NQVNLIDB4MDAwMDAwODAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TVE9QX0NMT0NLX1NIRlQgNDAKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NUT1BfQ0xPQ0tfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfQVNJQ19UT19MMV9TSEZUIDQxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9BU0lDX1RPX0wxX01BU0sgMHgwMDAwMDIwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0wxX1RPX0FTSUNfU0hGVCA0MgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTDFfVE9fQVNJQ19NQVNLIDB4MDAwMDA0MDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MVENfSU5UX1NIRlQgNDMKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xUQ19JTlRfTUFTSyAweDAwMDAwODAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEFfU0VRX1RSSUdHRVJfU0hGVCA0NAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEFfU0VRX1RSSUdHRVJfTUFTSyAweDAwMDAxMDAwMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfbG9jYWxfaW50MF9lbmFibGVfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfbG9jYWxfaW50MF9lbmFibGVfcyB7CisJdW5zaWduZWQgbG9uZwlsYl9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ3IwX2hjZXJyICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdyMV9oY2VyciAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsaF9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcmhfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXhuX2hjZXJyICAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzaV9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdyMF9hb2VycjAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlncjFfYW9lcnIwICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGhfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJoX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwl4bl9hb2VycjAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc2lfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlncjBfYW9lcnIxICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ3IxX2FvZXJyMSAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxoX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyaF9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJeG5fYW9lcnIxICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXNpX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyaF92cGlfaW50ICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3lzdGVtX3NodXRkb3duX2ludCA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMCAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8yICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMyAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzQgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF81ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNiAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzcgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF84ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfOSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEwICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMSAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTIgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEzICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xNCAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTUgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsMV9ubWlfaW50ICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3RvcF9jbG9jayAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWFzaWNfdG9fbDEgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsMV90b19hc2ljICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbHRjX2ludCAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxhX3NlcV90cmlnZ2VyICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzQ1XzYzICAgICAgICAgIDogMTk7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9OT0RFX0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX05PREVfSUQgMHgwVUwKQEAgLTI4NCwxNCArODg3LDEwMSBAQAogfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFIDB4MTQwMFVMCisjZGVmaW5lIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEVfREVQVEggMTYKKworI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX05PREVTX1NIRlQgMAorI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX05PREVTX01BU0sgMHhmZmZmZmZmZmZmZmZmZmZmVUwKKwordW5pb24gdXZoX25vZGVfcHJlc2VudF90YWJsZV91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ub2RlX3ByZXNlbnRfdGFibGVfcyB7CisJdW5zaWduZWQgbG9uZwlub2RlcyA6IDY0OyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzBfTU1SIDB4MTYwMDBkMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMF9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18wX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18xX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzFfTU1SIDB4MTYwMDBlMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMV9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMV9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMV9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18xX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18yX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzJfTU1SIDB4MTYwMDBmMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMl9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18yX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUiAweDE2MDAwMjBVTAorCisjZGVmaW5lIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQgMjYKKyNkZWZpbmUgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfTUFTSyAweDAwMDAzZmZmZmMwMDAwMDBVTAorI2RlZmluZSBVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SX0VOQUJMRV9NQVNLIDB4ODAwMDAwMDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yNTogMjY7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgIDogMjA7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF80Nl82MjogMTc7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVIgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAxMFVMCiAKICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfU0hGVCAyOAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9NQVNLIDB4MDAwMDNmZmZmMDAwMDAwMFVMCi0jZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9HUjRfU0hGVCA0NgotI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfR1I0X01BU0sgMHgwMDAwNDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0dSNF9TSEZUIDQ4CisjZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9HUjRfTUFTSyAweDAwMDEwMDAwMDAwMDAwMDBVTAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfTl9HUlVfU0hGVCA1MgogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfTl9HUlVfTUFTSyAweDAwZjAwMDAwMDAwMDAwMDBVTAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKQEAgLTMwMiw4ICs5OTIsOSBAQAogICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2dydV9vdmVybGF5X2NvbmZpZ19tbXJfcyB7CiAJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjc6IDI4OyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWJhc2UgICA6IDE4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNDc6ICAyOyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWdyNCAgICA6ICAxOyAgLyogUlcgKi8KLQl1bnNpZ25lZCBsb25nCXJzdmRfNDdfNTE6ICA1OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDlfNTE6ICAzOyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCW5fZ3J1ICA6ICA0OyAgLyogUlcgKi8KIAl1bnNpZ25lZCBsb25nCXJzdmRfNTZfNjI6ICA3OyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWVuYWJsZSA6ICAxOyAgLyogUlcgKi8KQEAgLTMxMSw2ICsxMDAyLDMyIEBACiB9OwogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUiAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAzMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUIDMwCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfTUFTSyAweDAwMDAzZmZmYzAwMDAwMDBVTAorI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9NX0lPX1NIRlQgNDYKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfTV9JT19NQVNLIDB4MDAwZmMwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX05fSU9fU0hGVCA1MgorI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9OX0lPX01BU0sgMHgwMGYwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX01BU0sgMHg4MDAwMDAwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9tbWlvaF9vdmVybGF5X2NvbmZpZ19tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX21taW9oX292ZXJsYXlfY29uZmlnX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yOTogMzA7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgIDogMTY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbV9pbyAgIDogIDY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbl9pbyAgIDogIDQ7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81Nl82MjogIDc7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVIgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX1JIX0dBTV9NTVJfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAyOFVMCkBAIC0zMzYsNyArMTA1Myw3IEBACiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0jZGVmaW5lIFVWSF9SVEMgMHgyODAwMFVMCisjZGVmaW5lIFVWSF9SVEMgMHgzNDAwMDBVTAogCiAjZGVmaW5lIFVWSF9SVENfUkVBTF9USU1FX0NMT0NLX1NIRlQgMAogI2RlZmluZSBVVkhfUlRDX1JFQUxfVElNRV9DTE9DS19NQVNLIDB4MDBmZmZmZmZmZmZmZmZmZlVMCkBAIC0zNTAsNiArMTA2NywxMzkgQEAKIH07CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX1JUQzFfSU5UX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJRyAweDYxNWMwVUwKKworI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX1ZFQ1RPUl9TSEZUIDAKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19WRUNUT1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwZmZVTAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX0RNX1NIRlQgOAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX0RNX01BU0sgMHgwMDAwMDAwMDAwMDAwNzAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19ERVNUTU9ERV9TSEZUIDExCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfREVTVE1PREVfTUFTSyAweDAwMDAwMDAwMDAwMDA4MDBVTAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX1NUQVRVU19TSEZUIDEyCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfU1RBVFVTX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19QX1NIRlQgMTMKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19QX01BU0sgMHgwMDAwMDAwMDAwMDAyMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19UX1NIRlQgMTUKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19UX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19NX1NIRlQgMTYKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19NX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19BUElDX0lEX1NIRlQgMzIKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19BUElDX0lEX01BU0sgMHhmZmZmZmZmZjAwMDAwMDAwVUwKKwordW5pb24gdXZoX3J0YzFfaW50X2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ydGMxX2ludF9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwl2ZWN0b3JfICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRtICAgICAgIDogIDM7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzdG1vZGUgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzdGF0dXMgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXAgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xNCAgOiAgMTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwl0ICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCW0gICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xN18zMTogMTU7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYXBpY19pZCAgOiAzMjsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfUlRDMl9JTlRfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHIDB4NjE2MDBVTAorCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfVkVDVE9SX1NIRlQgMAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1ZFQ1RPUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDBmZlVMCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfRE1fTUFTSyAweDAwMDAwMDAwMDAwMDA3MDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0RFU1RNT0RFX1NIRlQgMTEKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfU1RBVFVTX1NIRlQgMTIKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19TVEFUVVNfTUFTSyAweDAwMDAwMDAwMDAwMDEwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1BfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1RfU0hGVCAxNQorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX01fU0hGVCAxNgorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX01fTUFTSyAweDAwMDAwMDAwMDAwMTAwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0FQSUNfSURfTUFTSyAweGZmZmZmZmZmMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfcnRjMl9pbnRfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3J0YzJfaW50X2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVEMzX0lOVF9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUcgMHg2MTY0MFVMCisKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19WRUNUT1JfU0hGVCAwCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVkVDVE9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMGZmVUwKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19ETV9TSEZUIDgKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19ETV9NQVNLIDB4MDAwMDAwMDAwMDAwMDcwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfREVTVE1PREVfU0hGVCAxMQorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX0RFU1RNT0RFX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19TVEFUVVNfU0hGVCAxMgorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX1NUQVRVU19NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfUF9TSEZUIDEzCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfUF9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVF9TSEZUIDE1CisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVF9NQVNLIDB4MDAwMDAwMDAwMDAwODAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfTV9TSEZUIDE2CisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfTV9NQVNLIDB4MDAwMDAwMDAwMDAxMDAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfQVBJQ19JRF9TSEZUIDMyCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfQVBJQ19JRF9NQVNLIDB4ZmZmZmZmZmYwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9ydGMzX2ludF9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcnRjM19pbnRfY29uZmlnX3MgeworCXVuc2lnbmVkIGxvbmcJdmVjdG9yXyAgOiAgODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkbSAgICAgICA6ICAzOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3Rtb2RlIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3RhdHVzICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlwICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMTQgIDogIDE7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJdCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwltICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMTdfMzE6IDE1OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWFwaWNfaWQgIDogMzI7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVENfSU5DX1JBVElPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1JUQ19JTkNfUkFUSU8gMHgzNTAwMDBVTAorCisjZGVmaW5lIFVWSF9SVENfSU5DX1JBVElPX0ZSQUNUSU9OX1NIRlQgMAorI2RlZmluZSBVVkhfUlRDX0lOQ19SQVRJT19GUkFDVElPTl9NQVNLIDB4MDAwMDAwMDAwMDBmZmZmZlVMCisjZGVmaW5lIFVWSF9SVENfSU5DX1JBVElPX1JBVElPX1NIRlQgMjAKKyNkZWZpbmUgVVZIX1JUQ19JTkNfUkFUSU9fUkFUSU9fTUFTSyAweDAwMDAwMDAwMDA3MDAwMDBVTAorCit1bmlvbiB1dmhfcnRjX2luY19yYXRpb191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ydGNfaW5jX3JhdGlvX3MgeworCXVuc2lnbmVkIGxvbmcJZnJhY3Rpb24gOiAyMDsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyYXRpbyAgICA6ICAzOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMjNfNjM6IDQxOyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX1NJX0FERFJfTUFQX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9TSV9BRERSX01BUF9DT05GSUcgMHhjODAwMDBVTApAQCAtMzY5LDUgKzEyMTksNzcgQEAKICAgICB9IHM7CiB9OwogCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUcgMHhjODAwMDhVTAorCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfQkFTRV9TSEZUIDI0CisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfQkFTRV9NQVNLIDB4MDAwMDAwMDBmZjAwMDAwMFVMCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfTV9BTElBU19TSEZUIDQ4CisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfTV9BTElBU19NQVNLIDB4MDAxZjAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJR19FTkFCTEVfTUFTSyAweDgwMDAwMDAwMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfc2lfYWxpYXMwX292ZXJsYXlfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3NpX2FsaWFzMF9vdmVybGF5X2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMzogMjQ7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMzJfNDc6IDE2OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCW1fYWxpYXMgOiAgNTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzUzXzYyOiAxMDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwllbmFibGUgIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJRyAweGM4MDAxMFVMCisKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19CQVNFX01BU0sgMHgwMDAwMDAwMGZmMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19NX0FMSUFTX1NIRlQgNDgKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19NX0FMSUFTX01BU0sgMHgwMDFmMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19FTkFCTEVfU0hGVCA2MworI2RlZmluZSBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHX0VOQUJMRV9NQVNLIDB4ODAwMDAwMDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9zaV9hbGlhczFfb3ZlcmxheV9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfc2lfYWxpYXMxX292ZXJsYXlfY29uZmlnX3MgeworCXVuc2lnbmVkIGxvbmcJcnN2ZF8wXzIzOiAyNDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwliYXNlICAgIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8zMl80NzogMTY7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJbV9hbGlhcyA6ICA1OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTNfNjI6IDEwOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWVuYWJsZSAgOiAgMTsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHIDB4YzgwMDE4VUwKKworI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0JBU0VfU0hGVCAyNAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0JBU0VfTUFTSyAweDAwMDAwMDAwZmYwMDAwMDBVTAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX01fQUxJQVNfU0hGVCA0OAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX01fQUxJQVNfTUFTSyAweDAwMWYwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0VOQUJMRV9TSEZUIDYzCisjZGVmaW5lIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUdfRU5BQkxFX01BU0sgMHg4MDAwMDAwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX3NpX2FsaWFzMl9vdmVybGF5X2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9zaV9hbGlhczJfb3ZlcmxheV9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjM6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWJhc2UgICAgOiAgODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzMyXzQ3OiAxNjsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwltX2FsaWFzIDogIDU7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81M182MjogMTA7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlICA6ICAxOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCiAKICNlbmRpZiAvKiBfX0FTTV9YODZfVVZfTU1SU19fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9jb2JhbHQuaCBiL2luY2x1ZGUvYXNtLXg4Ni92aXN3cy9jb2JhbHQuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvY29iYWx0LmgKcmVuYW1lIHRvIGluY2x1ZGUvYXNtLXg4Ni92aXN3cy9jb2JhbHQuaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbGl0aGl1bS5oIGIvaW5jbHVkZS9hc20teDg2L3Zpc3dzL2xpdGhpdW0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbGl0aGl1bS5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS14ODYvdmlzd3MvbGl0aGl1bS5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9waWl4NC5oIGIvaW5jbHVkZS9hc20teDg2L3Zpc3dzL3BpaXg0LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3BpaXg0LmgKcmVuYW1lIHRvIGluY2x1ZGUvYXNtLXg4Ni92aXN3cy9waWl4NC5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdmlzd3Mvc2dpdncuaCBiL2luY2x1ZGUvYXNtLXg4Ni92aXN3cy9zZ2l2dy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYmY2M2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvdmlzd3Mvc2dpdncuaApAQCAtMCwwICsxLDUgQEAKKy8qCisgKiBGcmFtZSBidWZmZXIgcG9zaXRpb24gYW5kIHNpemU6CisgKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3BoeXM7CitleHRlcm4gdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9zaXplOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3ZtODYuaCBiL2luY2x1ZGUvYXNtLXg4Ni92bTg2LmgKaW5kZXggMDc0YjM1Ny4uNWNlMzUxMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3ZtODYuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdm04Ni5oCkBAIC0xNCwxMiArMTQsNiBAQAogCiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogCi0jaWZkZWYgQ09ORklHX1ZNODYKLSNkZWZpbmUgWDg2X1ZNX01BU0sJWDg2X0VGTEFHU19WTQotI2Vsc2UKLSNkZWZpbmUgWDg2X1ZNX01BU0sJMCAvKiBObyBWTTg2IHN1cHBvcnQgKi8KLSNlbmRpZgotCiAjZGVmaW5lIEJJT1NTRUcJCTB4MGYwMDAKIAogI2RlZmluZSBDUFVfMDg2CQkwCkBAIC0xMjEsNyArMTE1LDYgQEAKIAl1bnNpZ25lZCBsb25nIGlzX3ZtODZwdXM6MTsJICAgICAgLyogZm9yIHZtODYgaW50ZXJuYWwgdXNlICovCiAJdW5zaWduZWQgY2hhciB2bTg2ZGJnX2ludHh4dGFiWzMyXTsgICAvKiBmb3IgZGVidWdnZXIgKi8KIH07Ci0KIHN0cnVjdCB2bTg2cGx1c19zdHJ1Y3QgewogCXN0cnVjdCB2bTg2X3JlZ3MgcmVnczsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtMTMzLDYgKzEyNiw5IEBACiB9OwogCiAjaWZkZWYgX19LRVJORUxfXworCisjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorCiAvKgogICogVGhpcyBpcyB0aGUgKGtlcm5lbCkgc3RhY2stbGF5b3V0IHdoZW4gd2UgaGF2ZSBkb25lIGEgIlNBVkVfQUxMIiBmcm9tIHZtODYKICAqIG1vZGUgLSB0aGUgbWFpbiBjaGFuZ2UgaXMgdGhhdCB0aGUgb2xkIHNlZ21lbnQgZGVzY3JpcHRvcnMgYXJlbid0CkBAIC0xNDEsNyArMTM3LDYgQEAKICAqIGF0IHRoZSBlbmQgb2YgdGhlIHN0cnVjdHVyZS4gTG9vayBhdCBwdHJhY2UuaCB0byBzZWUgdGhlICJub3JtYWwiCiAgKiBzZXR1cC4gRm9yIHVzZXIgc3BhY2UgbGF5b3V0IHNlZSAnc3RydWN0IHZtODZfcmVncycgYWJvdmUuCiAgKi8KLSNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAKIHN0cnVjdCBrZXJuZWxfdm04Nl9yZWdzIHsKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdm1pX3RpbWUuaCBiL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCmluZGV4IDQ3ODE4ODEuLmMzMTE4YzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCkBAIC01MCw3ICs1MCw3IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfZ2V0X3dhbGxjbG9jayh2b2lkKTsKIGV4dGVybiBpbnQgdm1pX3NldF93YWxsY2xvY2sodW5zaWduZWQgbG9uZyBub3cpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyB2bWlfc2NoZWRfY2xvY2sodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfY3B1X2toeih2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIHZtaV90c2Nfa2h6KHZvaWQpOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiBleHRlcm4gdm9pZCBfX2RldmluaXQgdm1pX3RpbWVfYnNwX2luaXQodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdnN5c2NhbGwuaCBiL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCmluZGV4IDE3YjM3MDAuLjZiNjZmZjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCkBAIC0yNCw3ICsyNCw4IEBACiAJKCh1bnVzZWQsIF9fc2VjdGlvbl9fICgiLnZzeXNjYWxsX2d0b2RfZGF0YSIpLGFsaWduZWQoMTYpKSkKICNkZWZpbmUgX19zZWN0aW9uX3ZzeXNjYWxsX2Nsb2NrIF9fYXR0cmlidXRlX18gXAogCSgodW51c2VkLCBfX3NlY3Rpb25fXyAoIi52c3lzY2FsbF9jbG9jayIpLGFsaWduZWQoMTYpKSkKLSNkZWZpbmUgX192c3lzY2FsbF9mbiBfX2F0dHJpYnV0ZV9fICgodW51c2VkLF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfZm4iKSkpCisjZGVmaW5lIF9fdnN5c2NhbGxfZm4gXAorCV9fYXR0cmlidXRlX18gKCh1bnVzZWQsIF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfZm4iKSkpIG5vdHJhY2UKIAogI2RlZmluZSBWR0VUQ1BVX1JEVFNDUAkxCiAjZGVmaW5lIFZHRVRDUFVfTFNMCTIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vZXZlbnRzLmggYi9pbmNsdWRlL2FzbS14ODYveGVuL2V2ZW50cy5oCmluZGV4IDU5NjMxMmEuLmY4ZDU3ZWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vZXZlbnRzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hlbi9ldmVudHMuaApAQCAtNCw2ICs0LDcgQEAKIGVudW0gaXBpX3ZlY3RvciB7CiAJWEVOX1JFU0NIRURVTEVfVkVDVE9SLAogCVhFTl9DQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwKKwlYRU5fQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SLAogCiAJWEVOX05SX0lQSVMsCiB9OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hlbi9oeXBlcmNhbGwuaCBiL2luY2x1ZGUvYXNtLXg4Ni94ZW4vaHlwZXJjYWxsLmgKaW5kZXggYzJjY2Q5OS4uMmE0ZjliNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3hlbi9oeXBlcmNhbGwuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveGVuL2h5cGVyY2FsbC5oCkBAIC0xNzYsOSArMTc2LDkgQEAKIH0KIAogc3RhdGljIGlubGluZSBpbnQKLUhZUEVSVklTT1Jfc2NoZWRfb3AoaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCitIWVBFUlZJU09SX3NjaGVkX29wKGludCBjbWQsIHZvaWQgKmFyZykKIHsKLQlyZXR1cm4gX2h5cGVyY2FsbDIoaW50LCBzY2hlZF9vcCwgY21kLCBhcmcpOworCXJldHVybiBfaHlwZXJjYWxsMihpbnQsIHNjaGVkX29wX25ldywgY21kLCBhcmcpOwogfQogCiBzdGF0aWMgaW5saW5lIGxvbmcKQEAgLTMxNSw2ICszMTUsMTMgQEAKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCitNVUxUSV9mcHVfdGFza3N3aXRjaChzdHJ1Y3QgbXVsdGljYWxsX2VudHJ5ICptY2wsIGludCBzZXQpCit7CisJbWNsLT5vcCA9IF9fSFlQRVJWSVNPUl9mcHVfdGFza3N3aXRjaDsKKwltY2wtPmFyZ3NbMF0gPSBzZXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAogTVVMVElfdXBkYXRlX3ZhX21hcHBpbmcoc3RydWN0IG11bHRpY2FsbF9lbnRyeSAqbWNsLCB1bnNpZ25lZCBsb25nIHZhLAogCQkJcHRlX3QgbmV3X3ZhbCwgdW5zaWduZWQgbG9uZyBmbGFncykKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oIGIvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKaW5kZXggZTExZjI0MC4uMzc3YzA0NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKQEAgLTI2LDE1ICsyNiwyMCBAQAogI2RlZmluZSBGT1JFSUdOX0ZSQU1FX0JJVAkoMVVMPDwzMSkKICNkZWZpbmUgRk9SRUlHTl9GUkFNRShtKQkoKG0pIHwgRk9SRUlHTl9GUkFNRV9CSVQpCiAKLWV4dGVybiB1bnNpZ25lZCBsb25nICpwaHlzX3RvX21hY2hpbmVfbWFwcGluZzsKKy8qIE1heGltdW0gYW1vdW50IG9mIG1lbW9yeSB3ZSBjYW4gaGFuZGxlIGluIGEgZG9tYWluIGluIHBhZ2VzICovCisjZGVmaW5lIE1BWF9ET01BSU5fUEFHRVMJCQkJCQlcCisgICAgKCh1bnNpZ25lZCBsb25nKSgodTY0KUNPTkZJR19YRU5fTUFYX0RPTUFJTl9NRU1PUlkgKiAxMDI0ICogMTAyNCAqIDEwMjQgLyBQQUdFX1NJWkUpKQorCisKK2V4dGVybiB1bnNpZ25lZCBsb25nIGdldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4pOworZXh0ZXJuIHZvaWQgc2V0X3BoeXNfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIHBmbiwgdW5zaWduZWQgbG9uZyBtZm4pOwogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcGZuX3RvX21mbih1bnNpZ25lZCBsb25nIHBmbikKIHsKIAlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpCiAJCXJldHVybiBwZm47CiAKLQlyZXR1cm4gcGh5c190b19tYWNoaW5lX21hcHBpbmdbKHVuc2lnbmVkIGludCkocGZuKV0gJgotCQl+Rk9SRUlHTl9GUkFNRV9CSVQ7CisJcmV0dXJuIGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAmIH5GT1JFSUdOX0ZSQU1FX0JJVDsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcGh5c190b19tYWNoaW5lX21hcHBpbmdfdmFsaWQodW5zaWduZWQgbG9uZyBwZm4pCkBAIC00Miw3ICs0Nyw3IEBACiAJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKQogCQlyZXR1cm4gMTsKIAotCXJldHVybiAocGh5c190b19tYWNoaW5lX21hcHBpbmdbcGZuXSAhPSBJTlZBTElEX1AyTV9FTlRSWSk7CisJcmV0dXJuIGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAhPSBJTlZBTElEX1AyTV9FTlRSWTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIG1mbl90b19wZm4odW5zaWduZWQgbG9uZyBtZm4pCkBAIC0xMDYsMjAgKzExMSwxMiBAQAogCXVuc2lnbmVkIGxvbmcgcGZuID0gbWZuX3RvX3BmbihtZm4pOwogCWlmICgocGZuIDwgbWF4X21hcG5yKQogCSAgICAmJiAheGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkKLQkgICAgJiYgKHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nW3Bmbl0gIT0gbWZuKSkKKwkgICAgJiYgKGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAhPSBtZm4pKQogCQlyZXR1cm4gbWF4X21hcG5yOyAvKiBmb3JjZSAhcGZuX3ZhbGlkKCkgKi8KKwkvKiBYWFggZml4bWU7IG5vdCB0cnVlIHdpdGggc3BhcnNlbWVtICovCiAJcmV0dXJuIHBmbjsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHNldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKQotewotCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkgewotCQlCVUdfT04ocGZuICE9IG1mbiAmJiBtZm4gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOwotCQlyZXR1cm47Ci0JfQotCXBoeXNfdG9fbWFjaGluZV9tYXBwaW5nW3Bmbl0gPSBtZm47Ci19Ci0KIC8qIFZJUlQgPC0+IE1BQ0hJTkUgY29udmVyc2lvbiAqLwogI2RlZmluZSB2aXJ0X3RvX21hY2hpbmUodikJKHBoeXNfdG9fbWFjaGluZShYUEFERFIoX19wYSh2KSkpKQogI2RlZmluZSB2aXJ0X3RvX21mbih2KQkJKHBmbl90b19tZm4oUEZOX0RPV04oX19wYSh2KSkpKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hvcl8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3hvcl8zMi5oCmluZGV4IDA2N2I1YzEuLjkyMWI0NTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveG9yXzMyLmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIEFTTV9YODZfX1hPUl8zMl9ICisjZGVmaW5lIEFTTV9YODZfX1hPUl8zMl9ICisKIC8qCiAgKiBPcHRpbWl6ZWQgUkFJRC01IGNoZWNrc3VtbWluZyBmdW5jdGlvbnMgZm9yIE1NWCBhbmQgU1NFLgogICoKQEAgLTg4MSwzICs4ODQsNSBAQAogICAgZGVhbHMgd2l0aCBhIGxvYWQgdG8gYSBsaW5lIHRoYXQgaXMgYmVpbmcgcHJlZmV0Y2hlZC4gICovCiAjZGVmaW5lIFhPUl9TRUxFQ1RfVEVNUExBVEUoRkFTVEVTVCkJCQlcCiAJKGNwdV9oYXNfeG1tID8gJnhvcl9ibG9ja19wSUlJX3NzZSA6IEZBU1RFU1QpCisKKyNlbmRpZiAvKiBBU01fWDg2X19YT1JfMzJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hvcl82NC5oIGIvaW5jbHVkZS9hc20teDg2L3hvcl82NC5oCmluZGV4IDI0OTU3ZTMuLjJkM2ExOGQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveG9yXzY0LmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIEFTTV9YODZfX1hPUl82NF9ICisjZGVmaW5lIEFTTV9YODZfX1hPUl82NF9ICisKIC8qCiAgKiBPcHRpbWl6ZWQgUkFJRC01IGNoZWNrc3VtbWluZyBmdW5jdGlvbnMgZm9yIE1NWCBhbmQgU1NFLgogICoKQEAgLTM1NCwzICszNTcsNSBAQAogICAgV2UgbWF5IGFsc28gYmUgYWJsZSB0byBsb2FkIGludG8gdGhlIEwxIG9ubHkgZGVwZW5kaW5nIG9uIGhvdyB0aGUgY3B1CiAgICBkZWFscyB3aXRoIGEgbG9hZCB0byBhIGxpbmUgdGhhdCBpcyBiZWluZyBwcmVmZXRjaGVkLiAgKi8KICNkZWZpbmUgWE9SX1NFTEVDVF9URU1QTEFURShGQVNURVNUKSAoJnhvcl9ibG9ja19zc2UpCisKKyNlbmRpZiAvKiBBU01fWDg2X19YT1JfNjRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jcnlwdG8vaGFzaC5oIGIvaW5jbHVkZS9jcnlwdG8vaGFzaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxMjQ5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NyeXB0by9oYXNoLmgKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBIYXNoOiBIYXNoIGFsZ29yaXRobXMgdW5kZXIgdGhlIGNyeXB0byBBUEkKKyAqIAorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2lmbmRlZiBfQ1JZUFRPX0hBU0hfSAorI2RlZmluZSBfQ1JZUFRPX0hBU0hfSAorCisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisKK3N0cnVjdCBjcnlwdG9fYWhhc2ggeworCXN0cnVjdCBjcnlwdG9fdGZtIGJhc2U7Cit9OworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdG9fYWhhc2ggKl9fY3J5cHRvX2FoYXNoX2Nhc3Qoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlyZXR1cm4gKHN0cnVjdCBjcnlwdG9fYWhhc2ggKil0Zm07Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNyeXB0b19haGFzaCAqY3J5cHRvX2FsbG9jX2FoYXNoKGNvbnN0IGNoYXIgKmFsZ19uYW1lLAorCQkJCQkJICAgICAgdTMyIHR5cGUsIHUzMiBtYXNrKQoreworCXR5cGUgJj0gfkNSWVBUT19BTEdfVFlQRV9NQVNLOworCW1hc2sgJj0gfkNSWVBUT19BTEdfVFlQRV9NQVNLOworCXR5cGUgfD0gQ1JZUFRPX0FMR19UWVBFX0FIQVNIOworCW1hc2sgfD0gQ1JZUFRPX0FMR19UWVBFX0FIQVNIX01BU0s7CisKKwlyZXR1cm4gX19jcnlwdG9fYWhhc2hfY2FzdChjcnlwdG9fYWxsb2NfYmFzZShhbGdfbmFtZSwgdHlwZSwgbWFzaykpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdG9fdGZtICpjcnlwdG9fYWhhc2hfdGZtKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gJnRmbS0+YmFzZTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGNyeXB0b19mcmVlX2FoYXNoKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwljcnlwdG9fZnJlZV90Zm0oY3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgY3J5cHRvX2FoYXNoX2FsaWdubWFzaygKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1fYWxnX2FsaWdubWFzayhjcnlwdG9fYWhhc2hfdGZtKHRmbSkpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBhaGFzaF90Zm0gKmNyeXB0b19haGFzaF9jcnQoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiAmY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLT5jcnRfYWhhc2g7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX2FoYXNoX2NydCh0Zm0pLT5kaWdlc3RzaXplOworfQorCitzdGF0aWMgaW5saW5lIHUzMiBjcnlwdG9fYWhhc2hfZ2V0X2ZsYWdzKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX3RmbV9nZXRfZmxhZ3MoY3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGNyeXB0b19haGFzaF9zZXRfZmxhZ3Moc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCB1MzIgZmxhZ3MpCit7CisJY3J5cHRvX3RmbV9zZXRfZmxhZ3MoY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3Moc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCB1MzIgZmxhZ3MpCit7CisJY3J5cHRvX3RmbV9jbGVhcl9mbGFncyhjcnlwdG9fYWhhc2hfdGZtKHRmbSksIGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRvX2FoYXNoICpjcnlwdG9fYWhhc2hfcmVxdGZtKAorCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIF9fY3J5cHRvX2FoYXNoX2Nhc3QocmVxLT5iYXNlLnRmbSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9yZXFzaXplKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX2FoYXNoX2NydCh0Zm0pLT5yZXFzaXplOworfQorCitzdGF0aWMgaW5saW5lIGludCBjcnlwdG9fYWhhc2hfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwKKwkJCQkgICAgICBjb25zdCB1OCAqa2V5LCB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBhaGFzaF90Zm0gKmNydCA9IGNyeXB0b19haGFzaF9jcnQodGZtKTsKKworCXJldHVybiBjcnQtPnNldGtleSh0Zm0sIGtleSwga2V5bGVuKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgY3J5cHRvX2FoYXNoX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBhaGFzaF90Zm0gKmNydCA9IGNyeXB0b19haGFzaF9jcnQoY3J5cHRvX2FoYXNoX3JlcXRmbShyZXEpKTsKKwlyZXR1cm4gY3J0LT5kaWdlc3QocmVxKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFoYXNoX3JlcXVlc3Rfc2V0X3RmbShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCQkgc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJlcS0+YmFzZS50Zm0gPSBjcnlwdG9fYWhhc2hfdGZtKHRmbSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX3JlcXVlc3QgKmFoYXNoX3JlcXVlc3RfYWxsb2MoCisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBnZnBfdCBnZnApCit7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcTsKKworCXJlcSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhaGFzaF9yZXF1ZXN0KSArCisJCSAgICAgIGNyeXB0b19haGFzaF9yZXFzaXplKHRmbSksIGdmcCk7CisKKwlpZiAobGlrZWx5KHJlcSkpCisJCWFoYXNoX3JlcXVlc3Rfc2V0X3RmbShyZXEsIHRmbSk7CisKKwlyZXR1cm4gcmVxOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWhhc2hfcmVxdWVzdF9mcmVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJa2ZyZWUocmVxKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqYWhhc2hfcmVxdWVzdF9jYXN0KAorCXN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjb250YWluZXJfb2YocmVxLCBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCwgYmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhaGFzaF9yZXF1ZXN0X3NldF9jYWxsYmFjayhzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCQkgICAgICB1MzIgZmxhZ3MsCisJCQkJCSAgICAgIGNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGUsCisJCQkJCSAgICAgIHZvaWQgKmRhdGEpCit7CisJcmVxLT5iYXNlLmNvbXBsZXRlID0gY29tcGxldGU7CisJcmVxLT5iYXNlLmRhdGEgPSBkYXRhOworCXJlcS0+YmFzZS5mbGFncyA9IGZsYWdzOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWhhc2hfcmVxdWVzdF9zZXRfY3J5cHQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCQkJICAgc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsIHU4ICpyZXN1bHQsCisJCQkJCSAgIHVuc2lnbmVkIGludCBuYnl0ZXMpCit7CisJcmVxLT5zcmMgPSBzcmM7CisJcmVxLT5uYnl0ZXMgPSBuYnl0ZXM7CisJcmVxLT5yZXN1bHQgPSByZXN1bHQ7Cit9CisKKyNlbmRpZgkvKiBfQ1JZUFRPX0hBU0hfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jcnlwdG8vaW50ZXJuYWwvaGFzaC5oIGIvaW5jbHVkZS9jcnlwdG8vaW50ZXJuYWwvaGFzaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxN2FlNTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NyeXB0by9pbnRlcm5hbC9oYXNoLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIEhhc2ggYWxnb3JpdGhtcy4KKyAqIAorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2lmbmRlZiBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSAorI2RlZmluZSBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSAorCisjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGNyeXB0by9oYXNoLmg+CisKK3N0cnVjdCBhaGFzaF9yZXF1ZXN0Oworc3RydWN0IHNjYXR0ZXJsaXN0OworCitzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayB7CisJY2hhciAqZGF0YTsKKworCXVuc2lnbmVkIGludCBvZmZzZXQ7CisJdW5zaWduZWQgaW50IGFsaWdubWFzazsKKworCXN0cnVjdCBwYWdlICpwZzsKKwl1bnNpZ25lZCBpbnQgZW50cnlsZW47CisKKwl1bnNpZ25lZCBpbnQgdG90YWw7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKworCXVuc2lnbmVkIGludCBmbGFnczsKK307CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgY3J5cHRvX3R5cGUgY3J5cHRvX2FoYXNoX3R5cGU7CisKK2ludCBjcnlwdG9faGFzaF93YWxrX2RvbmUoc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGssIGludCBlcnIpOworaW50IGNyeXB0b19oYXNoX3dhbGtfZmlyc3Qoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCSAgIHN0cnVjdCBjcnlwdG9faGFzaF93YWxrICp3YWxrKTsKKworc3RhdGljIGlubGluZSB2b2lkICpjcnlwdG9fYWhhc2hfY3R4KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX3RmbV9jdHgoJnRmbS0+YmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX2FsZyAqY3J5cHRvX2FoYXNoX2FsZygKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuICZjcnlwdG9fYWhhc2hfdGZtKHRmbSktPl9fY3J0X2FsZy0+Y3JhX2FoYXNoOworfQorCitzdGF0aWMgaW5saW5lIGludCBhaGFzaF9lbnF1ZXVlX3JlcXVlc3Qoc3RydWN0IGNyeXB0b19xdWV1ZSAqcXVldWUsCisJCQkJCSAgICAgc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcXVlc3QpCit7CisJcmV0dXJuIGNyeXB0b19lbnF1ZXVlX3JlcXVlc3QocXVldWUsICZyZXF1ZXN0LT5iYXNlKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqYWhhc2hfZGVxdWV1ZV9yZXF1ZXN0KAorCXN0cnVjdCBjcnlwdG9fcXVldWUgKnF1ZXVlKQoreworCXJldHVybiBhaGFzaF9yZXF1ZXN0X2Nhc3QoY3J5cHRvX2RlcXVldWVfcmVxdWVzdChxdWV1ZSkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgKmFoYXNoX3JlcXVlc3RfY3R4KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIHJlcS0+X19jdHg7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGFoYXNoX3RmbV9pbl9xdWV1ZShzdHJ1Y3QgY3J5cHRvX3F1ZXVlICpxdWV1ZSwKKwkJCQkJICBzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1faW5fcXVldWUocXVldWUsIGNyeXB0b19haGFzaF90Zm0odGZtKSk7Cit9CisKKyNlbmRpZgkvKiBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9LYnVpbGQgYi9pbmNsdWRlL2RybS9LYnVpbGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJiNjk4MwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZHJtL0tidWlsZApAQCAtMCwwICsxLDEwIEBACit1bmlmZGVmLXkgKz0gZHJtLmggZHJtX3NhcmVhLmgKK3VuaWZkZWYteSArPSBpODEwX2RybS5oCit1bmlmZGVmLXkgKz0gaTgzMF9kcm0uaAordW5pZmRlZi15ICs9IGk5MTVfZHJtLmgKK3VuaWZkZWYteSArPSBtZ2FfZHJtLmgKK3VuaWZkZWYteSArPSByMTI4X2RybS5oCit1bmlmZGVmLXkgKz0gcmFkZW9uX2RybS5oCit1bmlmZGVmLXkgKz0gc2lzX2RybS5oCit1bmlmZGVmLXkgKz0gc2F2YWdlX2RybS5oCit1bmlmZGVmLXkgKz0gdmlhX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybS5oIGIvaW5jbHVkZS9kcm0vZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybVAuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtUC5oCmluZGV4IDA3NjRiNjYuLjFjMWIxM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybVAuaApAQCAtMTA4OSw2ICsxMDg5LDcgQEAKIGV4dGVybiBpbnQgZHJtX21tX2FkZF9zcGFjZV90b190YWlsKHN0cnVjdCBkcm1fbW0gKm1tLCB1bnNpZ25lZCBsb25nIHNpemUpOwogCiBleHRlcm4gdm9pZCBkcm1fY29yZV9pb3JlbWFwKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOworZXh0ZXJuIHZvaWQgZHJtX2NvcmVfaW9yZW1hcF93YyhzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGV4dGVybiB2b2lkIGRybV9jb3JlX2lvcmVtYXBmcmVlKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCiBzdGF0aWMgX19pbmxpbmVfXyBzdHJ1Y3QgZHJtX21hcCAqZHJtX2NvcmVfZmluZG1hcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fY29yZS5oIGIvaW5jbHVkZS9kcm0vZHJtX2NvcmUuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fY29yZS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fY29yZS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmggYi9pbmNsdWRlL2RybS9kcm1faGFzaHRhYi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9oYXNodGFiLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeS5oIGIvaW5jbHVkZS9kcm0vZHJtX21lbW9yeS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX21lbW9yeS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnlfZGVidWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tZW1vcnlfZGVidWcuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5X2RlYnVnLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9tZW1vcnlfZGVidWcuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fb3NfbGludXguaCBiL2luY2x1ZGUvZHJtL2RybV9vc19saW51eC5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9vc19saW51eC5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fb3NfbGludXguaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fcGNpaWRzLmggYi9pbmNsdWRlL2RybS9kcm1fcGNpaWRzLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3BjaWlkcy5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fcGNpaWRzLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NhcmVhLmggYi9pbmNsdWRlL2RybS9kcm1fc2FyZWEuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc2FyZWEuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX3NhcmVhLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uaCBiL2luY2x1ZGUvZHJtL2RybV9zbWFuLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX3NtYW4uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODEwX2RybS5oIGIvaW5jbHVkZS9kcm0vaTgxMF9kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODEwX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9pODEwX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJtLmggYi9pbmNsdWRlL2RybS9pODMwX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2k4MzBfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvZHJtL2k5MTVfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vaTkxNV9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJtLmggYi9pbmNsdWRlL2RybS9tZ2FfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9tZ2FfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9kcm0uaCBiL2luY2x1ZGUvZHJtL3IxMjhfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vcjEyOF9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJtLmggYi9pbmNsdWRlL2RybS9yYWRlb25fZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9yYWRlb25fZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2RybS5oIGIvaW5jbHVkZS9kcm0vc2F2YWdlX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vc2F2YWdlX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3Npc19kcm0uaCBiL2luY2x1ZGUvZHJtL3Npc19kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zaXNfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL3Npc19kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZHJtLmggYi9pbmNsdWRlL2RybS92aWFfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS92aWFfZHJtLmgKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYWNwaS5oIGIvaW5jbHVkZS9saW51eC9hY3BpLmgKaW5kZXggNDFmN2NlNy4uMDYwMTA3NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9hY3BpLmgKKysrIGIvaW5jbHVkZS9saW51eC9hY3BpLmgKQEAgLTgyLDYgKzgyLDcgQEAKIGludCBlYXJseV9hY3BpX2Jvb3RfaW5pdCh2b2lkKTsKIGludCBhY3BpX2Jvb3RfaW5pdCAodm9pZCk7CiBpbnQgYWNwaV9ib290X3RhYmxlX2luaXQgKHZvaWQpOworaW50IGFjcGlfbXBzX2NoZWNrICh2b2lkKTsKIGludCBhY3BpX251bWFfaW5pdCAodm9pZCk7CiAKIGludCBhY3BpX3RhYmxlX2luaXQgKHZvaWQpOwpAQCAtMjUwLDYgKzI1MSwxMSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIGludCBhY3BpX21wc19jaGVjayh2b2lkKQoreworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW5saW5lIGludCBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KHN0cnVjdCByZXNvdXJjZSAqcmVzKQogewogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9iaW8uaCBiL2luY2x1ZGUvbGludXgvYmlvLmgKaW5kZXggNjFjMTVlYS4uMDkzM2ExNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9iaW8uaAorKysgYi9pbmNsdWRlL2xpbnV4L2Jpby5oCkBAIC02NCw2ICs2NCw3IEBACiAKIHN0cnVjdCBiaW9fc2V0Owogc3RydWN0IGJpbzsKK3N0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQ7CiB0eXBlZGVmIHZvaWQgKGJpb19lbmRfaW9fdCkgKHN0cnVjdCBiaW8gKiwgaW50KTsKIHR5cGVkZWYgdm9pZCAoYmlvX2Rlc3RydWN0b3JfdCkgKHN0cnVjdCBiaW8gKik7CiAKQEAgLTExMiw2ICsxMTMsOSBAQAogCWF0b21pY190CQliaV9jbnQ7CQkvKiBwaW4gY291bnQgKi8KIAogCXZvaWQJCQkqYmlfcHJpdmF0ZTsKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaV9pbnRlZ3JpdHk7ICAvKiBkYXRhIGludGVncml0eSAqLworI2VuZGlmCiAKIAliaW9fZGVzdHJ1Y3Rvcl90CSpiaV9kZXN0cnVjdG9yOwkvKiBkZXN0cnVjdG9yICovCiB9OwpAQCAtMjcxLDYgKzI3NSwyOSBAQAogICovCiAjZGVmaW5lIGJpb19nZXQoYmlvKQlhdG9taWNfaW5jKCYoYmlvKS0+YmlfY250KQogCisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisvKgorICogYmlvIGludGVncml0eSBwYXlsb2FkCisgKi8KK3N0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgeworCXN0cnVjdCBiaW8JCSpiaXBfYmlvOwkvKiBwYXJlbnQgYmlvICovCisJc3RydWN0IGJpb192ZWMJCSpiaXBfdmVjOwkvKiBpbnRlZ3JpdHkgZGF0YSB2ZWN0b3IgKi8KKworCXNlY3Rvcl90CQliaXBfc2VjdG9yOwkvKiB2aXJ0dWFsIHN0YXJ0IHNlY3RvciAqLworCisJdm9pZAkJCSpiaXBfYnVmOwkvKiBnZW5lcmF0ZWQgaW50ZWdyaXR5IGRhdGEgKi8KKwliaW9fZW5kX2lvX3QJCSpiaXBfZW5kX2lvOwkvKiBzYXZlZCBJL08gY29tcGxldGlvbiBmbiAqLworCisJaW50CQkJYmlwX2Vycm9yOwkvKiBzYXZlZCBJL08gZXJyb3IgKi8KKwl1bnNpZ25lZCBpbnQJCWJpcF9zaXplOworCisJdW5zaWduZWQgc2hvcnQJCWJpcF9wb29sOwkvKiBwb29sIHRoZSBpdmVjIGNhbWUgZnJvbSAqLworCXVuc2lnbmVkIHNob3J0CQliaXBfdmNudDsJLyogIyBvZiBpbnRlZ3JpdHkgYmlvX3ZlY3MgKi8KKwl1bnNpZ25lZCBzaG9ydAkJYmlwX2lkeDsJLyogY3VycmVudCBiaXBfdmVjIGluZGV4ICovCisKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QJYmlwX3dvcms7CS8qIEkvTyBjb21wbGV0aW9uICovCit9OworI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSAqLwogCiAvKgogICogQSBiaW9fcGFpciBpcyB1c2VkIHdoZW4gd2UgbmVlZCB0byBzcGxpdCBhIGJpby4KQEAgLTI4MywxMCArMzEwLDE0IEBACiAgKiAgIGluIGJpbzIuYmlfcHJpdmF0ZQogICovCiBzdHJ1Y3QgYmlvX3BhaXIgewotCXN0cnVjdCBiaW8JYmlvMSwgYmlvMjsKLQlzdHJ1Y3QgYmlvX3ZlYwlidjEsIGJ2MjsKLQlhdG9taWNfdAljbnQ7Ci0JaW50CQllcnJvcjsKKwlzdHJ1Y3QgYmlvCQkJYmlvMSwgYmlvMjsKKwlzdHJ1Y3QgYmlvX3ZlYwkJCWJ2MSwgYnYyOworI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQJYmlwMSwgYmlwMjsKKwlzdHJ1Y3QgYmlvX3ZlYwkJCWl2MSwgaXYyOworI2VuZGlmCisJYXRvbWljX3QJCQljbnQ7CisJaW50CQkJCWVycm9yOwogfTsKIGV4dGVybiBzdHJ1Y3QgYmlvX3BhaXIgKmJpb19zcGxpdChzdHJ1Y3QgYmlvICpiaSwgbWVtcG9vbF90ICpwb29sLAogCQkJCSAgaW50IGZpcnN0X3NlY3RvcnMpOwpAQCAtMzMzLDYgKzM2NCwzOSBAQAogCQkJCSAgICAgaW50LCBpbnQpOwogZXh0ZXJuIGludCBiaW9fdW5jb3B5X3VzZXIoc3RydWN0IGJpbyAqKTsKIHZvaWQgemVyb19maWxsX2JpbyhzdHJ1Y3QgYmlvICpiaW8pOworZXh0ZXJuIHN0cnVjdCBiaW9fdmVjICpidmVjX2FsbG9jX2JzKGdmcF90LCBpbnQsIHVuc2lnbmVkIGxvbmcgKiwgc3RydWN0IGJpb19zZXQgKik7CitleHRlcm4gdW5zaWduZWQgaW50IGJ2ZWNfbnJfdmVjcyh1bnNpZ25lZCBzaG9ydCBpZHgpOworCisvKgorICogYmlvX3NldCBpcyB1c2VkIHRvIGFsbG93IG90aGVyIHBvcnRpb25zIG9mIHRoZSBJTyBzeXN0ZW0gdG8KKyAqIGFsbG9jYXRlIHRoZWlyIG93biBwcml2YXRlIG1lbW9yeSBwb29scyBmb3IgYmlvIGFuZCBpb3ZlYyBzdHJ1Y3R1cmVzLgorICogVGhlc2UgbWVtb3J5IHBvb2xzIGluIHR1cm4gYWxsIGFsbG9jYXRlIGZyb20gdGhlIGJpb19zbGFiCisgKiBhbmQgdGhlIGJ2ZWNfc2xhYnNbXS4KKyAqLworI2RlZmluZSBCSU9fUE9PTF9TSVpFIDIKKyNkZWZpbmUgQklPVkVDX05SX1BPT0xTIDYKKworc3RydWN0IGJpb19zZXQgeworCW1lbXBvb2xfdCAqYmlvX3Bvb2w7CisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisJbWVtcG9vbF90ICpiaW9faW50ZWdyaXR5X3Bvb2w7CisjZW5kaWYKKwltZW1wb29sX3QgKmJ2ZWNfcG9vbHNbQklPVkVDX05SX1BPT0xTXTsKK307CisKK3N0cnVjdCBiaW92ZWNfc2xhYiB7CisJaW50IG5yX3ZlY3M7CisJY2hhciAqbmFtZTsKKwlzdHJ1Y3Qga21lbV9jYWNoZSAqc2xhYjsKK307CisKK2V4dGVybiBzdHJ1Y3QgYmlvX3NldCAqZnNfYmlvX3NldDsKKworLyoKKyAqIGEgc21hbGwgbnVtYmVyIG9mIGVudHJpZXMgaXMgZmluZSwgbm90IGdvaW5nIHRvIGJlIHBlcmZvcm1hbmNlIGNyaXRpY2FsLgorICogYmFzaWNhbGx5IHdlIGp1c3QgbmVlZCB0byBzdXJ2aXZlCisgKi8KKyNkZWZpbmUgQklPX1NQTElUX0VOVFJJRVMgMgogCiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIC8qCkBAIC0zODEsNSArNDQ1LDYzIEBACiAJX19iaW9fa21hcF9pcnEoKGJpbyksIChiaW8pLT5iaV9pZHgsIChmbGFncykpCiAjZGVmaW5lIGJpb19rdW5tYXBfaXJxKGJ1ZixmbGFncykJX19iaW9fa3VubWFwX2lycShidWYsIGZsYWdzKQogCisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisKKyNkZWZpbmUgYmlwX3ZlY19pZHgoYmlwLCBpZHgpCSgmKGJpcC0+YmlwX3ZlY1soaWR4KV0pKQorI2RlZmluZSBiaXBfdmVjKGJpcCkJCWJpcF92ZWNfaWR4KGJpcCwgMCkKKworI2RlZmluZSBfX2JpcF9mb3JfZWFjaF92ZWMoYnZsLCBiaXAsIGksIHN0YXJ0X2lkeCkJCQlcCisJZm9yIChidmwgPSBiaXBfdmVjX2lkeCgoYmlwKSwgKHN0YXJ0X2lkeCkpLCBpID0gKHN0YXJ0X2lkeCk7CVwKKwkgICAgIGkgPCAoYmlwKS0+YmlwX3ZjbnQ7CQkJCQlcCisJICAgICBidmwrKywgaSsrKQorCisjZGVmaW5lIGJpcF9mb3JfZWFjaF92ZWMoYnZsLCBiaXAsIGkpCQkJCQlcCisJX19iaXBfZm9yX2VhY2hfdmVjKGJ2bCwgYmlwLCBpLCAoYmlwKS0+YmlwX2lkeCkKKworc3RhdGljIGlubGluZSBpbnQgYmlvX2ludGVncml0eShzdHJ1Y3QgYmlvICpiaW8pCit7CisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisJcmV0dXJuIGJpby0+YmlfaW50ZWdyaXR5ICE9IE5VTEw7CisjZWxzZQorCXJldHVybiAwOworI2VuZGlmCit9CisKK2V4dGVybiBzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldChzdHJ1Y3QgYmlvICosIGdmcF90LCB1bnNpZ25lZCBpbnQsIHN0cnVjdCBiaW9fc2V0ICopOworZXh0ZXJuIHN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpb19pbnRlZ3JpdHlfYWxsb2Moc3RydWN0IGJpbyAqLCBnZnBfdCwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW9fc2V0ICopOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2FkZF9wYWdlKHN0cnVjdCBiaW8gKiwgc3RydWN0IHBhZ2UgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2VuYWJsZWQoc3RydWN0IGJpbyAqYmlvKTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9zZXRfdGFnKHN0cnVjdCBiaW8gKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2dldF90YWcoc3RydWN0IGJpbyAqLCB2b2lkICosIHVuc2lnbmVkIGludCk7CitleHRlcm4gaW50IGJpb19pbnRlZ3JpdHlfcHJlcChzdHJ1Y3QgYmlvICopOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV9lbmRpbyhzdHJ1Y3QgYmlvICosIGludCk7CitleHRlcm4gdm9pZCBiaW9faW50ZWdyaXR5X2FkdmFuY2Uoc3RydWN0IGJpbyAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV90cmltKHN0cnVjdCBiaW8gKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV9zcGxpdChzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW9fcGFpciAqLCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2Nsb25lKHN0cnVjdCBiaW8gKiwgc3RydWN0IGJpbyAqLCBzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiBpbnQgYmlvc2V0X2ludGVncml0eV9jcmVhdGUoc3RydWN0IGJpb19zZXQgKiwgaW50KTsKK2V4dGVybiB2b2lkIGJpb3NldF9pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfaW5pdF9zbGFiKHZvaWQpOworCisjZWxzZSAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KKworI2RlZmluZSBiaW9faW50ZWdyaXR5KGEpCQkoMCkKKyNkZWZpbmUgYmlvc2V0X2ludGVncml0eV9jcmVhdGUoYSwgYikJKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfcHJlcChhKQkJKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfZW5hYmxlZChhKQkoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9jbG9uZShhLCBiLCBjKQkoMCkKKyNkZWZpbmUgYmlvc2V0X2ludGVncml0eV9mcmVlKGEpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9mcmVlKGEsIGIpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9lbmRpbyhhLCBiKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfYWR2YW5jZShhLCBiKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfdHJpbShhLCBiLCBjKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfc3BsaXQoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3NldF90YWcoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2dldF90YWcoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2luaXRfc2xhYihhKQlkbyB7IH0gd2hpbGUgKDApCisKKyNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KKwogI2VuZGlmIC8qIENPTkZJR19CTE9DSyAqLwogI2VuZGlmIC8qIF9fTElOVVhfQklPX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYmxrZGV2LmggYi9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCmluZGV4IGQyYTFiNzEuLjMyYTQ0MWIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKKysrIGIvaW5jbHVkZS9saW51eC9ibGtkZXYuaApAQCAtMjMsNyArMjMsNiBAQAogc3RydWN0IHNjc2lfaW9jdGxfY29tbWFuZDsKIAogc3RydWN0IHJlcXVlc3RfcXVldWU7Ci10eXBlZGVmIHN0cnVjdCByZXF1ZXN0X3F1ZXVlIHJlcXVlc3RfcXVldWVfdCBfX2RlcHJlY2F0ZWQ7CiBzdHJ1Y3QgZWxldmF0b3JfcXVldWU7CiB0eXBlZGVmIHN0cnVjdCBlbGV2YXRvcl9xdWV1ZSBlbGV2YXRvcl90Owogc3RydWN0IHJlcXVlc3RfcG1fc3RhdGU7CkBAIC0zNCwxMiArMzMsNiBAQAogI2RlZmluZSBCTEtERVZfTUlOX1JRCTQKICNkZWZpbmUgQkxLREVWX01BWF9SUQkxMjgJLyogRGVmYXVsdCBtYXhpbXVtICovCiAKLWludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKTsKLXZvaWQgZXhpdF9pb19jb250ZXh0KHZvaWQpOwotc3RydWN0IGlvX2NvbnRleHQgKmdldF9pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOwotc3RydWN0IGlvX2NvbnRleHQgKmFsbG9jX2lvX2NvbnRleHQoZ2ZwX3QgZ2ZwX2ZsYWdzLCBpbnQgbm9kZSk7Ci12b2lkIGNvcHlfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqKnBkc3QsIHN0cnVjdCBpb19jb250ZXh0ICoqcHNyYyk7Ci0KIHN0cnVjdCByZXF1ZXN0OwogdHlwZWRlZiB2b2lkIChycV9lbmRfaW9fZm4pKHN0cnVjdCByZXF1ZXN0ICosIGludCk7CiAKQEAgLTExMyw2ICsxMDYsNyBAQAogCV9fUkVRX0FMTE9DRUQsCQkvKiByZXF1ZXN0IGNhbWUgZnJvbSBvdXIgYWxsb2MgcG9vbCAqLwogCV9fUkVRX1JXX01FVEEsCQkvKiBtZXRhZGF0YSBpbyByZXF1ZXN0ICovCiAJX19SRVFfQ09QWV9VU0VSLAkvKiBjb250YWlucyBjb3BpZXMgb2YgdXNlciBwYWdlcyAqLworCV9fUkVRX0lOVEVHUklUWSwJLyogaW50ZWdyaXR5IG1ldGFkYXRhIGhhcyBiZWVuIHJlbWFwcGVkICovCiAJX19SRVFfTlJfQklUUywJCS8qIHN0b3BzIGhlcmUgKi8KIH07CiAKQEAgLTEzNSw2ICsxMjksNyBAQAogI2RlZmluZSBSRVFfQUxMT0NFRAkoMSA8PCBfX1JFUV9BTExPQ0VEKQogI2RlZmluZSBSRVFfUldfTUVUQQkoMSA8PCBfX1JFUV9SV19NRVRBKQogI2RlZmluZSBSRVFfQ09QWV9VU0VSCSgxIDw8IF9fUkVRX0NPUFlfVVNFUikKKyNkZWZpbmUgUkVRX0lOVEVHUklUWQkoMSA8PCBfX1JFUV9JTlRFR1JJVFkpCiAKICNkZWZpbmUgQkxLX01BWF9DREIJMTYKIApAQCAtMjU5LDcgKzI1NCwxNCBAQAogdHlwZWRlZiB2b2lkICh1bnBsdWdfZm4pIChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqKTsKIAogc3RydWN0IGJpb192ZWM7Ci10eXBlZGVmIGludCAobWVyZ2VfYnZlY19mbikgKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCBiaW8gKiwgc3RydWN0IGJpb192ZWMgKik7CitzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhIHsKKwlzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiaV9iZGV2OworCXNlY3Rvcl90IGJpX3NlY3RvcjsKKwl1bnNpZ25lZCBiaV9zaXplOworCXVuc2lnbmVkIGxvbmcgYmlfcnc7Cit9OwordHlwZWRlZiBpbnQgKG1lcmdlX2J2ZWNfZm4pIChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICosCisJCQkgICAgIHN0cnVjdCBiaW9fdmVjICopOwogdHlwZWRlZiB2b2lkIChwcmVwYXJlX2ZsdXNoX2ZuKSAoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7CiB0eXBlZGVmIHZvaWQgKHNvZnRpcnFfZG9uZV9mbikoc3RydWN0IHJlcXVlc3QgKik7CiB0eXBlZGVmIGludCAoZG1hX2RyYWluX25lZWRlZF9mbikoc3RydWN0IHJlcXVlc3QgKik7CkBAIC00MjYsNiArNDI4LDMyIEBACiAJX19zZXRfYml0KGZsYWcsICZxLT5xdWV1ZV9mbGFncyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHF1ZXVlX2ZsYWdfdGVzdF9hbmRfY2xlYXIodW5zaWduZWQgaW50IGZsYWcsCisJCQkJCSAgICBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkKK3sKKwlXQVJOX09OX09OQ0UoIXF1ZXVlX2lzX2xvY2tlZChxKSk7CisKKwlpZiAodGVzdF9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKSkgeworCQlfX2NsZWFyX2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpOworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQodW5zaWduZWQgaW50IGZsYWcsCisJCQkJCSAgc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpCit7CisJV0FSTl9PTl9PTkNFKCFxdWV1ZV9pc19sb2NrZWQocSkpOworCisJaWYgKCF0ZXN0X2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpKSB7CisJCV9fc2V0X2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpOworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIHF1ZXVlX2ZsYWdfc2V0KHVuc2lnbmVkIGludCBmbGFnLCBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkKIHsKIAlXQVJOX09OX09OQ0UoIXF1ZXVlX2lzX2xvY2tlZChxKSk7CkBAIC02MjMsNyArNjUxLDYgQEAKIGV4dGVybiB2b2lkIGJsa19ycV9pbml0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpOwogZXh0ZXJuIHZvaWQgYmxrX3B1dF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0ICopOwogZXh0ZXJuIHZvaWQgX19ibGtfcHV0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7Ci1leHRlcm4gdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpOwogZXh0ZXJuIHN0cnVjdCByZXF1ZXN0ICpibGtfZ2V0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgaW50LCBnZnBfdCk7CiBleHRlcm4gdm9pZCBibGtfaW5zZXJ0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKiwgaW50LCB2b2lkICopOwogZXh0ZXJuIHZvaWQgYmxrX3JlcXVldWVfcmVxdWVzdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKQEAgLTY3Niw3ICs3MDMsNiBAQAogCQkJICBzdHJ1Y3QgcmVxdWVzdCAqLCBpbnQpOwogZXh0ZXJuIHZvaWQgYmxrX2V4ZWN1dGVfcnFfbm93YWl0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCBnZW5kaXNrICosCiAJCQkJICBzdHJ1Y3QgcmVxdWVzdCAqLCBpbnQsIHJxX2VuZF9pb19mbiAqKTsKLWV4dGVybiBpbnQgYmxrX3ZlcmlmeV9jb21tYW5kKHVuc2lnbmVkIGNoYXIgKiwgaW50KTsKIGV4dGVybiB2b2lkIGJsa191bnBsdWcoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpOwogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpiZGV2X2dldF9xdWV1ZShzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQpAQCAtNzQ5LDYgKzc3NSw3IEBACiBleHRlcm4gdm9pZCBibGtfcXVldWVfaGFyZHNlY3Rfc2l6ZShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCB1bnNpZ25lZCBzaG9ydCk7CiBleHRlcm4gdm9pZCBibGtfcXVldWVfc3RhY2tfbGltaXRzKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICp0LCBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqYik7CiBleHRlcm4gdm9pZCBibGtfcXVldWVfZG1hX3BhZChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHVuc2lnbmVkIGludCk7CiBleHRlcm4gaW50IGJsa19xdWV1ZV9kbWFfZHJhaW4oc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCiAJCQkgICAgICAgZG1hX2RyYWluX25lZWRlZF9mbiAqZG1hX2RyYWluX25lZWRlZCwKIAkJCSAgICAgICB2b2lkICpidWYsIHVuc2lnbmVkIGludCBzaXplKTsKQEAgLTgwMiw2ICs4MjksMTUgQEAKIAogZXh0ZXJuIGludCBibGtkZXZfaXNzdWVfZmx1c2goc3RydWN0IGJsb2NrX2RldmljZSAqLCBzZWN0b3JfdCAqKTsKIAorLyoKKyogY29tbWFuZCBmaWx0ZXIgZnVuY3Rpb25zCisqLworZXh0ZXJuIGludCBibGtfdmVyaWZ5X2NvbW1hbmQoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGNoYXIgKmNtZCk7CitleHRlcm4gaW50IGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsCisJCQkJCSB1bnNpZ25lZCBjaGFyICpjbWQsIG1vZGVfdCAqZl9tb2RlKTsKK2V4dGVybiBpbnQgYmxrX3JlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzayk7CitleHRlcm4gdm9pZCBibGtfdW5yZWdpc3Rlcl9maWx0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spOworCiAjZGVmaW5lIE1BWF9QSFlTX1NFR01FTlRTIDEyOAogI2RlZmluZSBNQVhfSFdfU0VHTUVOVFMgMTI4CiAjZGVmaW5lIFNBRkVfTUFYX1NFQ1RPUlMgMjU1CkBAIC04NjUsNiArOTAxLDEwNSBAQAogI2RlZmluZSBNT0RVTEVfQUxJQVNfQkxPQ0tERVZfTUFKT1IobWFqb3IpIFwKIAlNT0RVTEVfQUxJQVMoImJsb2NrLW1ham9yLSIgX19zdHJpbmdpZnkobWFqb3IpICItKiIpCiAKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKworI2RlZmluZSBJTlRFR1JJVFlfRkxBR19SRUFECTIJLyogdmVyaWZ5IGRhdGEgaW50ZWdyaXR5IG9uIHJlYWQgKi8KKyNkZWZpbmUgSU5URUdSSVRZX0ZMQUdfV1JJVEUJNAkvKiBnZW5lcmF0ZSBkYXRhIGludGVncml0eSBvbiB3cml0ZSAqLworCitzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyB7CisJdm9pZAkJCSpwcm90X2J1ZjsKKwl2b2lkCQkJKmRhdGFfYnVmOworCXNlY3Rvcl90CQlzZWN0b3I7CisJdW5zaWduZWQgaW50CQlkYXRhX3NpemU7CisJdW5zaWduZWQgc2hvcnQJCXNlY3Rvcl9zaXplOworCWNvbnN0IGNoYXIJCSpkaXNrX25hbWU7Cit9OworCit0eXBlZGVmIHZvaWQgKGludGVncml0eV9nZW5fZm4pIChzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyAqKTsKK3R5cGVkZWYgaW50IChpbnRlZ3JpdHlfdnJmeV9mbikgKHN0cnVjdCBibGtfaW50ZWdyaXR5X2V4Y2hnICopOwordHlwZWRlZiB2b2lkIChpbnRlZ3JpdHlfc2V0X3RhZ19mbikgKHZvaWQgKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOwordHlwZWRlZiB2b2lkIChpbnRlZ3JpdHlfZ2V0X3RhZ19mbikgKHZvaWQgKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOworCitzdHJ1Y3QgYmxrX2ludGVncml0eSB7CisJaW50ZWdyaXR5X2dlbl9mbgkqZ2VuZXJhdGVfZm47CisJaW50ZWdyaXR5X3ZyZnlfZm4JKnZlcmlmeV9mbjsKKwlpbnRlZ3JpdHlfc2V0X3RhZ19mbgkqc2V0X3RhZ19mbjsKKwlpbnRlZ3JpdHlfZ2V0X3RhZ19mbgkqZ2V0X3RhZ19mbjsKKworCXVuc2lnbmVkIHNob3J0CQlmbGFnczsKKwl1bnNpZ25lZCBzaG9ydAkJdHVwbGVfc2l6ZTsKKwl1bnNpZ25lZCBzaG9ydAkJc2VjdG9yX3NpemU7CisJdW5zaWduZWQgc2hvcnQJCXRhZ19zaXplOworCisJY29uc3QgY2hhcgkJKm5hbWU7CisKKwlzdHJ1Y3Qga29iamVjdAkJa29iajsKK307CisKK2V4dGVybiBpbnQgYmxrX2ludGVncml0eV9yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqLCBzdHJ1Y3QgYmxrX2ludGVncml0eSAqKTsKK2V4dGVybiB2b2lkIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqKTsKK2V4dGVybiBpbnQgYmxrX2ludGVncml0eV9jb21wYXJlKHN0cnVjdCBibG9ja19kZXZpY2UgKiwgc3RydWN0IGJsb2NrX2RldmljZSAqKTsKK2V4dGVybiBpbnQgYmxrX3JxX21hcF9pbnRlZ3JpdHlfc2coc3RydWN0IHJlcXVlc3QgKiwgc3RydWN0IHNjYXR0ZXJsaXN0ICopOworZXh0ZXJuIGludCBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKHN0cnVjdCByZXF1ZXN0ICopOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNob3J0IGJsa19pbnRlZ3JpdHlfdHVwbGVfc2l6ZShzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkpCit7CisJaWYgKGJpKQorCQlyZXR1cm4gYmktPnR1cGxlX3NpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmRldl9nZXRfaW50ZWdyaXR5KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCit7CisJcmV0dXJuIGJkZXYtPmJkX2Rpc2stPmludGVncml0eTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYmRldl9nZXRfdGFnX3NpemUoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmRldik7CisKKwlpZiAoYmkpCisJCXJldHVybiBiaS0+dGFnX3NpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgYmRldl9pbnRlZ3JpdHlfZW5hYmxlZChzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBpbnQgcncpCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJkZXYpOworCisJaWYgKGJpID09IE5VTEwpCisJCXJldHVybiAwOworCisJaWYgKHJ3ID09IFJFQUQgJiYgYmktPnZlcmlmeV9mbiAhPSBOVUxMICYmCisJICAgIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19SRUFEKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAocncgPT0gV1JJVEUgJiYgYmktPmdlbmVyYXRlX2ZuICE9IE5VTEwgJiYKKwkgICAgKGJpLT5mbGFncyAmIElOVEVHUklUWV9GTEFHX1dSSVRFKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgYmxrX2ludGVncml0eV9ycShzdHJ1Y3QgcmVxdWVzdCAqcnEpCit7CisJcmV0dXJuIGJpb19pbnRlZ3JpdHkocnEtPmJpbyk7Cit9CisKKyNlbHNlIC8qIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSAqLworCisjZGVmaW5lIGJsa19pbnRlZ3JpdHlfcnEocnEpCQkJKDApCisjZGVmaW5lIGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2coYSkJCSgwKQorI2RlZmluZSBibGtfcnFfbWFwX2ludGVncml0eV9zZyhhLCBiKQkJKDApCisjZGVmaW5lIGJkZXZfZ2V0X2ludGVncml0eShhKQkJCSgwKQorI2RlZmluZSBiZGV2X2dldF90YWdfc2l6ZShhKQkJCSgwKQorI2RlZmluZSBibGtfaW50ZWdyaXR5X2NvbXBhcmUoYSwgYikJCSgwKQorI2RlZmluZSBibGtfaW50ZWdyaXR5X3JlZ2lzdGVyKGEsIGIpCQkoMCkKKyNkZWZpbmUgYmxrX2ludGVncml0eV91bnJlZ2lzdGVyKGEpCQlkbyB7IH0gd2hpbGUgKDApOworCisjZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5URUdSSVRZICovCiAKICNlbHNlIC8qIENPTkZJR19CTE9DSyAqLwogLyoKQEAgLTg3NywxNyArMTAxMiw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBleGl0X2lvX2NvbnRleHQodm9pZCkKLXsKLX0KLQotc3RydWN0IGlvX2NvbnRleHQ7Ci1zdGF0aWMgaW5saW5lIGludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKQotewotCXJldHVybiAxOwotfQotCi0KICNlbmRpZiAvKiBDT05GSUdfQkxPQ0sgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Jsa3RyYWNlX2FwaS5oIGIvaW5jbHVkZS9saW51eC9ibGt0cmFjZV9hcGkuaAppbmRleCBlM2VmOTAzLi5kMDg0YjhkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jsa3RyYWNlX2FwaS5oCisrKyBiL2luY2x1ZGUvbGludXgvYmxrdHJhY2VfYXBpLmgKQEAgLTEyOSw2ICsxMjksNyBAQAogCXUzMiBkZXY7CiAJc3RydWN0IGRlbnRyeSAqZGlyOwogCXN0cnVjdCBkZW50cnkgKmRyb3BwZWRfZmlsZTsKKwlzdHJ1Y3QgZGVudHJ5ICptc2dfZmlsZTsKIAlhdG9taWNfdCBkcm9wcGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9ib290bWVtLmggYi9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaAppbmRleCA2ODY4OTViLi5hMWQ5Yjc5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaApAQCAtODQsNiArODQsOCBAQAogCV9fYWxsb2NfYm9vdG1lbV9sb3coeCwgUEFHRV9TSVpFLCAwKQogI2VuZGlmIC8qICFDT05GSUdfSEFWRV9BUkNIX0JPT1RNRU1fTk9ERSAqLwogCitleHRlcm4gaW50IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCSAgIGludCBmbGFncyk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBmcmVlX2FsbF9ib290bWVtKHZvaWQpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZnJlZV9hbGxfYm9vdG1lbV9ub2RlKHBnX2RhdGFfdCAqcGdkYXQpOwogZXh0ZXJuIHZvaWQgKl9fYWxsb2NfYm9vdG1lbV9ub2RlKHBnX2RhdGFfdCAqcGdkYXQsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaCBiL2luY2x1ZGUvbGludXgvY29uc29sZS5oCmluZGV4IGE0ZjI3ZmIuLjI0OGU2ZTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvY29uc29sZS5oCisrKyBiL2luY2x1ZGUvbGludXgvY29uc29sZS5oCkBAIC0xMDgsNiArMTA4LDggQEAKIAlzdHJ1Y3QJIGNvbnNvbGUgKm5leHQ7CiB9OwogCitleHRlcm4gaW50IGNvbnNvbGVfc2V0X29uX2NtZGxpbmU7CisKIGV4dGVybiBpbnQgYWRkX3ByZWZlcnJlZF9jb25zb2xlKGNoYXIgKm5hbWUsIGludCBpZHgsIGNoYXIgKm9wdGlvbnMpOwogZXh0ZXJuIGludCB1cGRhdGVfY29uc29sZV9jbWRsaW5lKGNoYXIgKm5hbWUsIGludCBpZHgsIGNoYXIgKm5hbWVfbmV3LCBpbnQgaWR4X25ldywgY2hhciAqb3B0aW9ucyk7CiBleHRlcm4gdm9pZCByZWdpc3Rlcl9jb25zb2xlKHN0cnVjdCBjb25zb2xlICopOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jcnlwdG8uaCBiL2luY2x1ZGUvbGludXgvY3J5cHRvLmgKaW5kZXggNDI1ODI0Yi4uYzQzZGM0NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jcnlwdG8uaAorKysgYi9pbmNsdWRlL2xpbnV4L2NyeXB0by5oCkBAIC0zMCwxNSArMzAsMTcgQEAKICAqLwogI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfTUFTSwkJMHgwMDAwMDAwZgogI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQ0lQSEVSCQkweDAwMDAwMDAxCi0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9ESUdFU1QJCTB4MDAwMDAwMDIKLSNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0gJCTB4MDAwMDAwMDMKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0NPTVBSRVNTCTB4MDAwMDAwMDIKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0FFQUQJCTB4MDAwMDAwMDMKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUgkweDAwMDAwMDA0CiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BQkxLQ0lQSEVSCTB4MDAwMDAwMDUKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0dJVkNJUEhFUgkweDAwMDAwMDA2Ci0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9DT01QUkVTUwkweDAwMDAwMDA4Ci0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BRUFECQkweDAwMDAwMDA5CisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9ESUdFU1QJCTB4MDAwMDAwMDgKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0gJCTB4MDAwMDAwMDkKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0FIQVNICQkweDAwMDAwMDBhCiAKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSwkweDAwMDAwMDBlCisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BSEFTSF9NQVNLCTB4MDAwMDAwMGMKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUl9NQVNLCTB4MDAwMDAwMGMKIAogI2RlZmluZSBDUllQVE9fQUxHX0xBUlZBTAkJMHgwMDAwMDAxMApAQCAtMTAyLDYgKzEwNCw3IEBACiBzdHJ1Y3QgY3J5cHRvX2FlYWQ7CiBzdHJ1Y3QgY3J5cHRvX2Jsa2NpcGhlcjsKIHN0cnVjdCBjcnlwdG9faGFzaDsKK3N0cnVjdCBjcnlwdG9fYWhhc2g7CiBzdHJ1Y3QgY3J5cHRvX3RmbTsKIHN0cnVjdCBjcnlwdG9fdHlwZTsKIHN0cnVjdCBhZWFkX2dpdmNyeXB0X3JlcXVlc3Q7CkBAIC0xMzEsNiArMTM0LDE2IEBACiAJdm9pZCAqX19jdHhbXSBDUllQVE9fTUlOQUxJR05fQVRUUjsKIH07CiAKK3N0cnVjdCBhaGFzaF9yZXF1ZXN0IHsKKwlzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgYmFzZTsKKworCXVuc2lnbmVkIGludCBuYnl0ZXM7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmM7CisJdTgJCSAgICpyZXN1bHQ7CisKKwl2b2lkICpfX2N0eFtdIENSWVBUT19NSU5BTElHTl9BVFRSOworfTsKKwogLyoqCiAgKglzdHJ1Y3QgYWVhZF9yZXF1ZXN0IC0gQUVBRCByZXF1ZXN0CiAgKglAYmFzZTogQ29tbW9uIGF0dHJpYnV0ZXMgZm9yIGFzeW5jIGNyeXB0byByZXF1ZXN0cwpAQCAtMTk1LDYgKzIwOCwxNyBAQAogCXVuc2lnbmVkIGludCBpdnNpemU7CiB9OwogCitzdHJ1Y3QgYWhhc2hfYWxnIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCp1cGRhdGUpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKmZpbmFsKShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpkaWdlc3QpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKnNldGtleSkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbik7CisKKwl1bnNpZ25lZCBpbnQgZGlnZXN0c2l6ZTsKK307CisKIHN0cnVjdCBhZWFkX2FsZyB7CiAJaW50ICgqc2V0a2V5KShzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSwgY29uc3QgdTggKmtleSwKIAkgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBrZXlsZW4pOwpAQCAtMjcyLDYgKzI5Niw3IEBACiAjZGVmaW5lIGNyYV9jaXBoZXIJY3JhX3UuY2lwaGVyCiAjZGVmaW5lIGNyYV9kaWdlc3QJY3JhX3UuZGlnZXN0CiAjZGVmaW5lIGNyYV9oYXNoCWNyYV91Lmhhc2gKKyNkZWZpbmUgY3JhX2FoYXNoCWNyYV91LmFoYXNoCiAjZGVmaW5lIGNyYV9jb21wcmVzcwljcmFfdS5jb21wcmVzcwogCiBzdHJ1Y3QgY3J5cHRvX2FsZyB7CkBAIC0yOTgsNiArMzIzLDcgQEAKIAkJc3RydWN0IGNpcGhlcl9hbGcgY2lwaGVyOwogCQlzdHJ1Y3QgZGlnZXN0X2FsZyBkaWdlc3Q7CiAJCXN0cnVjdCBoYXNoX2FsZyBoYXNoOworCQlzdHJ1Y3QgYWhhc2hfYWxnIGFoYXNoOwogCQlzdHJ1Y3QgY29tcHJlc3NfYWxnIGNvbXByZXNzOwogCX0gY3JhX3U7CiAKQEAgLTM4Myw2ICs0MDksMTggQEAKIAl1bnNpZ25lZCBpbnQgZGlnZXN0c2l6ZTsKIH07CiAKK3N0cnVjdCBhaGFzaF90Zm0geworCWludCAoKmluaXQpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKnVwZGF0ZSkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqZmluYWwpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKmRpZ2VzdCkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqc2V0a2V5KShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0sIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKTsKKworCXVuc2lnbmVkIGludCBkaWdlc3RzaXplOworCXVuc2lnbmVkIGludCByZXFzaXplOworfTsKKwogc3RydWN0IGNvbXByZXNzX3RmbSB7CiAJaW50ICgqY290X2NvbXByZXNzKShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLAogCSAgICAgICAgICAgICAgICAgICAgY29uc3QgdTggKnNyYywgdW5zaWduZWQgaW50IHNsZW4sCkBAIC0zOTcsNiArNDM1LDcgQEAKICNkZWZpbmUgY3J0X2Jsa2NpcGhlcgljcnRfdS5ibGtjaXBoZXIKICNkZWZpbmUgY3J0X2NpcGhlcgljcnRfdS5jaXBoZXIKICNkZWZpbmUgY3J0X2hhc2gJY3J0X3UuaGFzaAorI2RlZmluZSBjcnRfYWhhc2gJY3J0X3UuYWhhc2gKICNkZWZpbmUgY3J0X2NvbXByZXNzCWNydF91LmNvbXByZXNzCiAKIHN0cnVjdCBjcnlwdG9fdGZtIHsKQEAgLTQwOSw2ICs0NDgsNyBAQAogCQlzdHJ1Y3QgYmxrY2lwaGVyX3RmbSBibGtjaXBoZXI7CiAJCXN0cnVjdCBjaXBoZXJfdGZtIGNpcGhlcjsKIAkJc3RydWN0IGhhc2hfdGZtIGhhc2g7CisJCXN0cnVjdCBhaGFzaF90Zm0gYWhhc2g7CiAJCXN0cnVjdCBjb21wcmVzc190Zm0gY29tcHJlc3M7CiAJfSBjcnRfdTsKIAkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZGNhY2hlLmggYi9pbmNsdWRlL2xpbnV4L2RjYWNoZS5oCmluZGV4IGQ5ODJlYjguLjk4MjAyYzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZGNhY2hlLmgKKysrIGIvaW5jbHVkZS9saW51eC9kY2FjaGUuaApAQCAtMyw2ICszLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvY2FjaGUuaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kZWxheS5oIGIvaW5jbHVkZS9saW51eC9kZWxheS5oCmluZGV4IDU0NTUyZDIuLmZkODMyYzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZGVsYXkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2RlbGF5LmgKQEAgLTQxLDYgKzQxLDcgQEAKICNkZWZpbmUgbmRlbGF5KHgpIG5kZWxheSh4KQogI2VuZGlmCiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIGxwal9maW5lOwogdm9pZCBjYWxpYnJhdGVfZGVsYXkodm9pZCk7CiB2b2lkIG1zbGVlcCh1bnNpZ25lZCBpbnQgbXNlY3MpOwogdW5zaWduZWQgbG9uZyBtc2xlZXBfaW50ZXJydXB0aWJsZSh1bnNpZ25lZCBpbnQgbXNlY3MpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9lZmkuaCBiL2luY2x1ZGUvbGludXgvZWZpLmgKaW5kZXggYTVmMzU5YS4uODA3MzczZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9lZmkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2VmaS5oCkBAIC0yODcsNyArMjg3LDYgQEAKIGV4dGVybiB2b2lkIGVmaV9pbml0ICh2b2lkKTsKIGV4dGVybiB2b2lkICplZmlfZ2V0X3BhbF9hZGRyICh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9tYXBfcGFsX2NvZGUgKHZvaWQpOwotZXh0ZXJuIHZvaWQgZWZpX21hcF9tZW1tYXAodm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfbWVtbWFwX3dhbGsgKGVmaV9mcmVlbWVtX2NhbGxiYWNrX3QgY2FsbGJhY2ssIHZvaWQgKmFyZyk7CiBleHRlcm4gdm9pZCBlZmlfZ2V0dGltZW9mZGF5IChzdHJ1Y3QgdGltZXNwZWMgKnRzKTsKIGV4dGVybiB2b2lkIGVmaV9lbnRlcl92aXJ0dWFsX21vZGUgKHZvaWQpOwkvKiBzd2l0Y2ggRUZJIHRvIHZpcnR1YWwgbW9kZSwgaWYgcG9zc2libGUgKi8KQEAgLTI5NSwxNCArMjk0LDExIEBACiBleHRlcm4gdTMyIGVmaV9tZW1fdHlwZSAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIpOwogZXh0ZXJuIHU2NCBlZmlfbWVtX2F0dHJpYnV0ZXMgKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyKTsKIGV4dGVybiB1NjQgZWZpX21lbV9hdHRyaWJ1dGUgKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIGludCBlZmlfbWVtX2F0dHJpYnV0ZV9yYW5nZSAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQkJCQkgICAgdTY0IGF0dHIpOwogZXh0ZXJuIGludCBfX2luaXQgZWZpX3VhcnRfY29uc29sZV9vbmx5ICh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9pbml0aWFsaXplX2lvbWVtX3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKmNvZGVfcmVzb3VyY2UsCiAJCXN0cnVjdCByZXNvdXJjZSAqZGF0YV9yZXNvdXJjZSwgc3RydWN0IHJlc291cmNlICpic3NfcmVzb3VyY2UpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZWZpX2dldF90aW1lKHZvaWQpOwogZXh0ZXJuIGludCBlZmlfc2V0X3J0Y19tbXNzKHVuc2lnbmVkIGxvbmcgbm93dGltZSk7Ci1leHRlcm4gaW50IGlzX2F2YWlsYWJsZV9tZW1vcnkoZWZpX21lbW9yeV9kZXNjX3QgKiBtZCk7CiBleHRlcm4gc3RydWN0IGVmaV9tZW1vcnlfbWFwIG1lbW1hcDsKIAogLyoqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLW1hcC5oIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2JkYmNjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaApAQCAtMCwwICsxLDc0IEBACisvKgorICogaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaDoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU1VTRSBMSU5VWCBQcm9kdWN0cyBHbWJICisgKiAgYnkgQmVybmhhcmQgV2FsbGUgPGJ3YWxsZUBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyLjAgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKi8KKyNpZm5kZWYgX0xJTlVYX0ZJUk1XQVJFX01BUF9ICisjZGVmaW5lIF9MSU5VWF9GSVJNV0FSRV9NQVBfSAorCisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KKworLyoKKyAqIHByb3ZpZGUgYSBkdW1teSBpbnRlcmZhY2UgaWYgQ09ORklHX0ZJUk1XQVJFX01FTU1BUCBpcyBkaXNhYmxlZAorICovCisjaWZkZWYgQ09ORklHX0ZJUk1XQVJFX01FTU1BUAorCisvKioKKyAqIEFkZHMgYSBmaXJtd2FyZSBtYXBwaW5nIGVudHJ5LiBUaGlzIGZ1bmN0aW9uIHVzZXMga21hbGxvYygpIGZvciBtZW1vcnkKKyAqIGFsbG9jYXRpb24uIFVzZSBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KCkgaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBib290bWVtCisgKiBhbGxvY2F0b3IuCisgKgorICogVGhhdCBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgbGF0ZV9pbml0Y2FsbC4KKyAqCisgKiBAc3RhcnQ6IFN0YXJ0IG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAZW5kOiAgIEVuZCBvZiB0aGUgbWVtb3J5IHJhbmdlIChpbmNsdXNpdmUpLgorICogQHR5cGU6ICBUeXBlIG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIC1FTk9NRU0gaWYgbm8gbWVtb3J5IGNvdWxkIGJlIGFsbG9jYXRlZC4KKyAqLworaW50IGZpcm13YXJlX21hcF9hZGQocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkgICAgIGNvbnN0IGNoYXIgKnR5cGUpOworCisvKioKKyAqIEFkZHMgYSBmaXJtd2FyZSBtYXBwaW5nIGVudHJ5LiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIGJvb3RtZW0gYWxsb2NhdG9yCisgKiBmb3IgbWVtb3J5IGFsbG9jYXRpb24uIFVzZSBmaXJtd2FyZV9tYXBfYWRkKCkgaWYgeW91IHdhbnQgdG8gdXNlIGttYWxsb2MoKS4KKyAqCisgKiBUaGF0IGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBsYXRlX2luaXRjYWxsLgorICoKKyAqIEBzdGFydDogU3RhcnQgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqIEBlbmQ6ICAgRW5kIG9mIHRoZSBtZW1vcnkgcmFuZ2UgKGluY2x1c2l2ZSkuCisgKiBAdHlwZTogIFR5cGUgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgLUVOT01FTSBpZiBubyBtZW1vcnkgY291bGQgYmUgYWxsb2NhdGVkLgorICovCitpbnQgZmlybXdhcmVfbWFwX2FkZF9lYXJseShyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIHJlc291cmNlX3NpemVfdCBlbmQsCisJCQkgICBjb25zdCBjaGFyICp0eXBlKTsKKworI2Vsc2UgLyogQ09ORklHX0ZJUk1XQVJFX01FTU1BUCAqLworCitzdGF0aWMgaW5saW5lIGludCBmaXJtd2FyZV9tYXBfYWRkKHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJCQkgICBjb25zdCBjaGFyICp0eXBlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KHJlc291cmNlX3NpemVfdCBzdGFydCwKKwkJCQkJIHJlc291cmNlX3NpemVfdCBlbmQsIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfRklSTVdBUkVfTUVNTUFQICovCisKKyNlbmRpZiAvKiBfTElOVVhfRklSTVdBUkVfTUFQX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZmlybXdhcmUuaCBiL2luY2x1ZGUvbGludXgvZmlybXdhcmUuaAppbmRleCA2YzdlZmYyLi5jOGVjZjViIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLmgKKysrIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS5oCkBAIC0xLDE4ICsxLDM5IEBACiAjaWZuZGVmIF9MSU5VWF9GSVJNV0FSRV9ICiAjZGVmaW5lIF9MSU5VWF9GSVJNV0FSRV9ICisKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisKICNkZWZpbmUgRklSTVdBUkVfTkFNRV9NQVggMzAgCiAjZGVmaW5lIEZXX0FDVElPTl9OT0hPVFBMVUcgMAogI2RlZmluZSBGV19BQ1RJT05fSE9UUExVRyAxCiAKIHN0cnVjdCBmaXJtd2FyZSB7CiAJc2l6ZV90IHNpemU7Ci0JdTggKmRhdGE7CisJY29uc3QgdTggKmRhdGE7CiB9OwogCiBzdHJ1Y3QgZGV2aWNlOwogCitzdHJ1Y3QgYnVpbHRpbl9mdyB7CisJY2hhciAqbmFtZTsKKwl2b2lkICpkYXRhOworCXVuc2lnbmVkIGxvbmcgc2l6ZTsKK307CisKKy8qIFdlIGhhdmUgdG8gcGxheSB0cmlja3MgaGVyZSBtdWNoIGxpa2Ugc3RyaW5naWZ5KCkgdG8gZ2V0IHRoZQorICAgX19DT1VOVEVSX18gbWFjcm8gdG8gYmUgZXhwYW5kZWQgYXMgd2Ugd2FudCBpdCAqLworI2RlZmluZSBfX2Z3X2NvbmNhdDEoeCwgeSkgeCMjeQorI2RlZmluZSBfX2Z3X2NvbmNhdCh4LCB5KSBfX2Z3X2NvbmNhdDEoeCwgeSkKKworI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fRklSTVdBUkUobmFtZSwgYmxvYikJCQkJICAgICBcCisJREVDTEFSRV9CVUlMVElOX0ZJUk1XQVJFX1NJWkUobmFtZSwgJihibG9iKSwgc2l6ZW9mKGJsb2IpKQorCisjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9GSVJNV0FSRV9TSVpFKG5hbWUsIGJsb2IsIHNpemUpCQkJICAgICBcCisJc3RhdGljIGNvbnN0IHN0cnVjdCBidWlsdGluX2Z3IF9fZndfY29uY2F0KF9fYnVpbHRpbl9mdyxfX0NPVU5URVJfXykgXAorCV9fdXNlZCBfX3NlY3Rpb24oLmJ1aWx0aW5fZncpID0geyBuYW1lLCBibG9iLCBzaXplIH0KKwogI2lmIGRlZmluZWQoQ09ORklHX0ZXX0xPQURFUikgfHwgKGRlZmluZWQoQ09ORklHX0ZXX0xPQURFUl9NT0RVTEUpICYmIGRlZmluZWQoTU9EVUxFKSkKIGludCByZXF1ZXN0X2Zpcm13YXJlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqKmZ3LCBjb25zdCBjaGFyICpuYW1lLAogCQkgICAgIHN0cnVjdCBkZXZpY2UgKmRldmljZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ZzLmggYi9pbmNsdWRlL2xpbnV4L2ZzLmgKaW5kZXggZDhlMjc2Mi4uNTJlNTEwYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9mcy5oCisrKyBiL2luY2x1ZGUvbGludXgvZnMuaApAQCAtMTc0MCw2ICsxNzQwLDggQEAKIAkJCQlwZ29mZl90IHN0YXJ0LCBwZ29mZl90IGVuZCk7CiBleHRlcm4gaW50IF9fZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAogCQkJCWxvZmZfdCBzdGFydCwgbG9mZl90IGVuZCwgaW50IHN5bmNfbW9kZSk7CitleHRlcm4gaW50IGZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCQlsb2ZmX3Qgc3RhcnQsIGxvZmZfdCBlbmQpOwogCiBleHRlcm4gbG9uZyBkb19mc3luYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGRhdGFzeW5jKTsKIGV4dGVybiB2b2lkIHN5bmNfc3VwZXJzKHZvaWQpOwpAQCAtMTg3MCw3ICsxODcyLDggQEAKIGZpbGVfcmFfc3RhdGVfaW5pdChzdHJ1Y3QgZmlsZV9yYV9zdGF0ZSAqcmEsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nKTsKIGV4dGVybiBsb2ZmX3Qgbm9fbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKTsKIGV4dGVybiBsb2ZmX3QgZ2VuZXJpY19maWxlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbik7Ci1leHRlcm4gbG9mZl90IHJlbW90ZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pOworZXh0ZXJuIGxvZmZfdCBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LAorCQkJaW50IG9yaWdpbik7CiBleHRlcm4gaW50IGdlbmVyaWNfZmlsZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApOwogZXh0ZXJuIGludCBub25zZWVrYWJsZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Z0cmFjZS5oIGIvaW5jbHVkZS9saW51eC9mdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzY4ZDA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9mdHJhY2UuaApAQCAtMCwwICsxLDE0NCBAQAorI2lmbmRlZiBfTElOVVhfRlRSQUNFX0gKKyNkZWZpbmUgX0xJTlVYX0ZUUkFDRV9ICisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisKKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworZXh0ZXJuIGludCBmdHJhY2VfZW5hYmxlZDsKK2V4dGVybiBpbnQKK2Z0cmFjZV9lbmFibGVfc3lzY3RsKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCisJCSAgICAgc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKKwkJICAgICBsb2ZmX3QgKnBwb3MpOworCit0eXBlZGVmIHZvaWQgKCpmdHJhY2VfZnVuY190KSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCk7CisKK3N0cnVjdCBmdHJhY2Vfb3BzIHsKKwlmdHJhY2VfZnVuY190CSAgZnVuYzsKKwlzdHJ1Y3QgZnRyYWNlX29wcyAqbmV4dDsKK307CisKKy8qCisgKiBUaGUgZnRyYWNlX29wcyBtdXN0IGJlIGEgc3RhdGljIGFuZCBzaG91bGQgYWxzbworICogYmUgcmVhZF9tb3N0bHkuICBUaGVzZSBmdW5jdGlvbnMgZG8gbW9kaWZ5IHJlYWRfbW9zdGx5IHZhcmlhYmxlcworICogc28gdXNlIHRoZW0gc3BhcmVseS4gTmV2ZXIgZnJlZSBhbiBmdHJhY2Vfb3Agb3IgbW9kaWZ5IHRoZQorICogbmV4dCBwb2ludGVyIGFmdGVyIGl0IGhhcyBiZWVuIHJlZ2lzdGVyZWQuIEV2ZW4gYWZ0ZXIgdW5yZWdpc3RlcmluZworICogaXQsIHRoZSBuZXh0IHBvaW50ZXIgbWF5IHN0aWxsIGJlIHVzZWQgaW50ZXJuYWxseS4KKyAqLworaW50IHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKTsKK2ludCB1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKTsKK3ZvaWQgY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKHZvaWQpOworCitleHRlcm4gdm9pZCBmdHJhY2Vfc3R1Yih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKworI2Vsc2UgLyogIUNPTkZJR19GVFJBQ0UgKi8KKyMgZGVmaW5lIHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihvcHMpIGRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKG9wcykgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKG9wcykgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorIyBkZWZpbmUgRlRSQUNFX0hBU0hCSVRTCTEwCisjIGRlZmluZSBGVFJBQ0VfSEFTSFNJWkUJKDE8PEZUUkFDRV9IQVNIQklUUykKKworZW51bSB7CisJRlRSQUNFX0ZMX0ZSRUUJCT0gKDEgPDwgMCksCisJRlRSQUNFX0ZMX0ZBSUxFRAk9ICgxIDw8IDEpLAorCUZUUkFDRV9GTF9GSUxURVIJPSAoMSA8PCAyKSwKKwlGVFJBQ0VfRkxfRU5BQkxFRAk9ICgxIDw8IDMpLAorCUZUUkFDRV9GTF9OT1RSQUNFCT0gKDEgPDwgNCksCisJRlRSQUNFX0ZMX0NPTlZFUlRFRAk9ICgxIDw8IDUpLAorCUZUUkFDRV9GTF9GUk9aRU4JPSAoMSA8PCA2KSwKK307CisKK3N0cnVjdCBkeW5fZnRyYWNlIHsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSBub2RlOworCXVuc2lnbmVkIGxvbmcJICBpcDsgLyogYWRkcmVzcyBvZiBtY291bnQgY2FsbC1zaXRlICovCisJdW5zaWduZWQgbG9uZwkgIGZsYWdzOworfTsKKworaW50IGZ0cmFjZV9mb3JjZV91cGRhdGUodm9pZCk7Cit2b2lkIGZ0cmFjZV9zZXRfZmlsdGVyKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IHJlc2V0KTsKKworLyogZGVmaW5lZCBpbiBhcmNoICovCitleHRlcm4gaW50IGZ0cmFjZV9pcF9jb252ZXJ0ZWQodW5zaWduZWQgbG9uZyBpcCk7CitleHRlcm4gdW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKTsKK2V4dGVybiBpbnQgZnRyYWNlX2R5bl9hcmNoX2luaXQodm9pZCAqZGF0YSk7CitleHRlcm4gaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpOworZXh0ZXJuIGludCBmdHJhY2VfbW9kaWZ5X2NvZGUodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgY2hhciAqb2xkX2NvZGUsCisJCQkgICAgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSk7CitleHRlcm4gaW50IGZ0cmFjZV91cGRhdGVfZnRyYWNlX2Z1bmMoZnRyYWNlX2Z1bmNfdCBmdW5jKTsKK2V4dGVybiB2b2lkIGZ0cmFjZV9jYWxsZXIodm9pZCk7CitleHRlcm4gdm9pZCBmdHJhY2VfY2FsbCh2b2lkKTsKK2V4dGVybiB2b2lkIG1jb3VudF9jYWxsKHZvaWQpOworCitleHRlcm4gaW50IHNraXBfdHJhY2UodW5zaWduZWQgbG9uZyBpcCk7CisKK3ZvaWQgZnRyYWNlX2Rpc2FibGVfZGFlbW9uKHZvaWQpOwordm9pZCBmdHJhY2VfZW5hYmxlX2RhZW1vbih2b2lkKTsKKworI2Vsc2UKKyMgZGVmaW5lIHNraXBfdHJhY2UoaXApCQkJCSh7IDA7IH0pCisjIGRlZmluZSBmdHJhY2VfZm9yY2VfdXBkYXRlKCkJCQkoeyAwOyB9KQorIyBkZWZpbmUgZnRyYWNlX3NldF9maWx0ZXIoYnVmLCBsZW4sIHJlc2V0KQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2VfZGlzYWJsZV9kYWVtb24oKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX2VuYWJsZV9kYWVtb24oKQkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworLyogdG90YWxseSBkaXNhYmxlIGZ0cmFjZSAtIGNhbiBub3QgcmUtZW5hYmxlIGFmdGVyIHRoaXMgKi8KK3ZvaWQgZnRyYWNlX2tpbGwodm9pZCk7Cit2b2lkIGZ0cmFjZV9raWxsX2F0b21pYyh2b2lkKTsKKworc3RhdGljIGlubGluZSB2b2lkIHRyYWNlcl9kaXNhYmxlKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCWZ0cmFjZV9lbmFibGVkID0gMDsKKyNlbmRpZgorfQorCisjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKKy8qIFRPRE86IG5lZWQgdG8gZml4IHRoaXMgZm9yIEFSTSAqLworIyBkZWZpbmUgQ0FMTEVSX0FERFIwICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpCisjIGRlZmluZSBDQUxMRVJfQUREUjEgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygxKSkKKyMgZGVmaW5lIENBTExFUl9BRERSMiAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDIpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFIzICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMykpCisjIGRlZmluZSBDQUxMRVJfQUREUjQgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcyg0KSkKKyMgZGVmaW5lIENBTExFUl9BRERSNSAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDUpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFI2ICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoNikpCisjZWxzZQorIyBkZWZpbmUgQ0FMTEVSX0FERFIwICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpCisjIGRlZmluZSBDQUxMRVJfQUREUjEgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjIgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjMgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjQgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjUgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjYgMFVMCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorICBleHRlcm4gdm9pZCB0aW1lX2hhcmRpcnFzX29uKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworICBleHRlcm4gdm9pZCB0aW1lX2hhcmRpcnFzX29mZih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKyNlbHNlCisjIGRlZmluZSB0aW1lX2hhcmRpcnFzX29uKGEwLCBhMSkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHRpbWVfaGFyZGlycXNfb2ZmKGEwLCBhMSkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCisgIGV4dGVybiB2b2lkIHRyYWNlX3ByZWVtcHRfb24odW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSk7CisgIGV4dGVybiB2b2lkIHRyYWNlX3ByZWVtcHRfb2ZmKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworI2Vsc2UKKyMgZGVmaW5lIHRyYWNlX3ByZWVtcHRfb24oYTAsIGExKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgdHJhY2VfcHJlZW1wdF9vZmYoYTAsIGExKQkJZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfVFJBQ0lORworZXh0ZXJuIHZvaWQKK2Z0cmFjZV9zcGVjaWFsKHVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZAorZnRyYWNlX3NwZWNpYWwodW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMykgeyB9CisjZW5kaWYKKworI2VuZGlmIC8qIF9MSU5VWF9GVFJBQ0VfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9nZW5oZC5oIGIvaW5jbHVkZS9saW51eC9nZW5oZC5oCmluZGV4IGFlN2FlYzMuLmU4Nzg3NDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZ2VuaGQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2dlbmhkLmgKQEAgLTExMCw2ICsxMTAsMTQgQEAKICNkZWZpbmUgR0VOSERfRkxfU1VQUFJFU1NfUEFSVElUSU9OX0lORk8JMzIKICNkZWZpbmUgR0VOSERfRkxfRkFJTAkJCQk2NAogCisjZGVmaW5lIEJMS19TQ1NJX01BWF9DTURTCSgyNTYpCisjZGVmaW5lIEJMS19TQ1NJX0NNRF9QRVJfTE9ORwkoQkxLX1NDU0lfTUFYX0NNRFMgLyAoc2l6ZW9mKGxvbmcpICogOCkpCisKK3N0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyIHsKKwl1bnNpZ25lZCBsb25nIHJlYWRfb2tbQkxLX1NDU0lfQ01EX1BFUl9MT05HXTsKKwl1bnNpZ25lZCBsb25nIHdyaXRlX29rW0JMS19TQ1NJX0NNRF9QRVJfTE9OR107CisJc3RydWN0IGtvYmplY3Qga29iajsKK307CiAKIHN0cnVjdCBnZW5kaXNrIHsKIAlpbnQgbWFqb3I7CQkJLyogbWFqb3IgbnVtYmVyIG9mIGRyaXZlciAqLwpAQCAtMTIwLDYgKzEyOCw3IEBACiAJc3RydWN0IGhkX3N0cnVjdCAqKnBhcnQ7CS8qIFtpbmRleGVkIGJ5IG1pbm9yXSAqLwogCXN0cnVjdCBibG9ja19kZXZpY2Vfb3BlcmF0aW9ucyAqZm9wczsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcXVldWU7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgY21kX2ZpbHRlcjsKIAl2b2lkICpwcml2YXRlX2RhdGE7CiAJc2VjdG9yX3QgY2FwYWNpdHk7CiAKQEAgLTE0MSw2ICsxNTAsOSBAQAogCXN0cnVjdCBkaXNrX3N0YXRzIGRrc3RhdHM7CiAjZW5kaWYKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgYXN5bmNfbm90aWZ5OworI2lmZGVmICBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqaW50ZWdyaXR5OworI2VuZGlmCiB9OwogCiAvKiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjLWFsZ28tcGNmLmggYi9pbmNsdWRlL2xpbnV4L2kyYy1hbGdvLXBjZi5oCmluZGV4IDc3YWZiYjYuLjAxNzdkMjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLWFsZ28tcGNmLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMtYWxnby1wY2YuaApAQCAtMzMsOSArMzMsMTEgQEAKIAlpbnQgICgqZ2V0Y2xvY2spICh2b2lkICpkYXRhKTsKIAl2b2lkICgqd2FpdGZvcnBpbikgKHZvaWQpOwogCi0JLyogbG9jYWwgc2V0dGluZ3MgKi8KLQlpbnQgdWRlbGF5OwotCWludCB0aW1lb3V0OworCS8qIE11bHRpLW1hc3RlciBsb3N0IGFyYml0cmF0aW9uIGJhY2stb2ZmIGRlbGF5IChtc2VjcykKKwkgKiBUaGlzIHNob3VsZCBiZSBzZXQgYnkgdGhlIGJ1cyBhZGFwdGVyIG9yIGtub3dsZWRnYWJsZSBjbGllbnQKKwkgKiBpZiBidXMgaXMgbXVsdGktbWFzdGVyZWQsIGVsc2UgemVybworCSAqLworCXVuc2lnbmVkIGxvbmcgbGFiX21kZWxheTsKIH07CiAKIGludCBpMmNfcGNmX2FkZF9idXMoc3RydWN0IGkyY19hZGFwdGVyICopOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pMmMtaWQuaCBiL2luY2x1ZGUvbGludXgvaTJjLWlkLmgKaW5kZXggNTgwYWNjOS4uZWYxM2I3YzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLWlkLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMtaWQuaApAQCAtOTEsOCArOTEsNiBAQAogI2RlZmluZSBJMkNfRFJJVkVSSURfTTUyNzkwIAk5NSAgICAgIC8qIE1pdHN1YmlzaGkgTTUyNzkwU1AvRlAgQVYgc3dpdGNoICovCiAjZGVmaW5lIEkyQ19EUklWRVJJRF9DUzUzNDUJOTYJLyogY3M1MzQ1IGF1ZGlvIHByb2Nlc3NvcgkqLwogCi0jZGVmaW5lIEkyQ19EUklWRVJJRF9JMkNERVYJOTAwCi0KICNkZWZpbmUgSTJDX0RSSVZFUklEX09WNzY3MCAxMDQ4CS8qIE9tbml2aXNpb24gNzY3MCBjYW1lcmEgKi8KIAogLyoKQEAgLTExMSw3ICsxMDksNiBAQAogI2RlZmluZSBJMkNfSFdfQl9SSVZBCQkweDAxMDAxMCAvKiBSaXZhIGJhc2VkIGdyYXBoaWNzIGNhcmRzICovCiAjZGVmaW5lIEkyQ19IV19CX0lPQwkJMHgwMTAwMTEgLyogSU9DIGJpdC13aWdnbGluZyAqLwogI2RlZmluZSBJMkNfSFdfQl9JWFAyMDAwCTB4MDEwMDE2IC8qIEdQSU8gb24gSVhQMjAwMCBzeXN0ZW1zICovCi0jZGVmaW5lIEkyQ19IV19CX1MzVklBCQkweDAxMDAxOCAvKiBTM1ZpYSBQcm9TYXZhZ2UgYWRhcHRlciAqLwogI2RlZmluZSBJMkNfSFdfQl9aUjM2MDY3CTB4MDEwMDE5IC8qIFpvcmFuLTM2MDU3LzM2MDY3IGJhc2VkIGJvYXJkcyAqLwogI2RlZmluZSBJMkNfSFdfQl9QQ0lMWU5YCTB4MDEwMDFhIC8qIFRJIFBDSUx5bnggSTJDIGFkYXB0ZXIgKi8KICNkZWZpbmUgSTJDX0hXX0JfQ1gyMzg4eAkweDAxMDAxYiAvKiBjb25uZXhhbnQgMjM4OHggYmFzZWQgdHYgY2FyZHMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjLmggYi9pbmNsdWRlL2xpbnV4L2kyYy5oCmluZGV4IDhkYzczMDEuLjA4YmUwZDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMuaApAQCAtMzUsNiArMzUsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CS8qIGZvciBjb21wbGV0aW9uICovCiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KIAorZXh0ZXJuIHN0cnVjdCBidXNfdHlwZSBpMmNfYnVzX3R5cGU7CisKIC8qIC0tLSBHZW5lcmFsIG9wdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCSovCiAKIHN0cnVjdCBpMmNfbXNnOwpAQCAtNDMsNiArNDUsNyBAQAogc3RydWN0IGkyY19jbGllbnQ7CiBzdHJ1Y3QgaTJjX2RyaXZlcjsKIHVuaW9uIGkyY19zbWJ1c19kYXRhOworc3RydWN0IGkyY19ib2FyZF9pbmZvOwogCiAvKgogICogVGhlIG1hc3RlciByb3V0aW5lcyBhcmUgdGhlIG9uZXMgbm9ybWFsbHkgdXNlZCB0byB0cmFuc21pdCBkYXRhIHRvIGRldmljZXMKQEAgLTY5LDkgKzcyLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSk7CiAKIC8qIE5vdyBmb2xsb3cgdGhlICduaWNlJyBhY2Nlc3Mgcm91dGluZXMuIFRoZXNlIGFsc28gZG9jdW1lbnQgdGhlIGNhbGxpbmcKLSAgIGNvbnZlbnRpb25zIG9mIHNtYnVzX2FjY2Vzcy4gKi8KKyAgIGNvbnZlbnRpb25zIG9mIGkyY19zbWJ1c194ZmVyLiAqLwogCi1leHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50KTsKIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IHZhbHVlKTsKIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCBjb21tYW5kKTsKQEAgLTkzLDE1ICs5NSwzMyBAQAogCQkJCQkgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKIAkJCQkJICBjb25zdCB1OCAqdmFsdWVzKTsKIAotLyoKLSAqIEEgZHJpdmVyIGlzIGNhcGFibGUgb2YgaGFuZGxpbmcgb25lIG9yIG1vcmUgcGh5c2ljYWwgZGV2aWNlcyBwcmVzZW50IG9uCi0gKiBJMkMgYWRhcHRlcnMuIFRoaXMgaW5mb3JtYXRpb24gaXMgdXNlZCB0byBpbmZvcm0gdGhlIGRyaXZlciBvZiBhZGFwdGVyCi0gKiBldmVudHMuCisvKioKKyAqIHN0cnVjdCBpMmNfZHJpdmVyIC0gcmVwcmVzZW50IGFuIEkyQyBkZXZpY2UgZHJpdmVyCisgKiBAY2xhc3M6IFdoYXQga2luZCBvZiBpMmMgZGV2aWNlIHdlIGluc3RhbnRpYXRlIChmb3IgZGV0ZWN0KQorICogQGRldGVjdDogQ2FsbGJhY2sgZm9yIGRldmljZSBkZXRlY3Rpb24KKyAqIEBhZGRyZXNzX2RhdGE6IFRoZSBJMkMgYWRkcmVzc2VzIHRvIHByb2JlLCBpZ25vcmUgb3IgZm9yY2UgKGZvciBkZXRlY3QpCisgKiBAY2xpZW50czogTGlzdCBvZiBkZXRlY3RlZCBjbGllbnRzIHdlIGNyZWF0ZWQgKGZvciBpMmMtY29yZSB1c2Ugb25seSkKICAqCiAgKiBUaGUgZHJpdmVyLm93bmVyIGZpZWxkIHNob3VsZCBiZSBzZXQgdG8gdGhlIG1vZHVsZSBvd25lciBvZiB0aGlzIGRyaXZlci4KICAqIFRoZSBkcml2ZXIubmFtZSBmaWVsZCBzaG91bGQgYmUgc2V0IHRvIHRoZSBuYW1lIG9mIHRoaXMgZHJpdmVyLgorICoKKyAqIEZvciBhdXRvbWF0aWMgZGV2aWNlIGRldGVjdGlvbiwgYm90aCBAZGV0ZWN0IGFuZCBAYWRkcmVzc19kYXRhIG11c3QKKyAqIGJlIGRlZmluZWQuIEBjbGFzcyBzaG91bGQgYWxzbyBiZSBzZXQsIG90aGVyd2lzZSBvbmx5IGRldmljZXMgZm9yY2VkCisgKiB3aXRoIG1vZHVsZSBwYXJhbWV0ZXJzIHdpbGwgYmUgY3JlYXRlZC4gVGhlIGRldGVjdCBmdW5jdGlvbiBtdXN0CisgKiBmaWxsIGF0IGxlYXN0IHRoZSBuYW1lIGZpZWxkIG9mIHRoZSBpMmNfYm9hcmRfaW5mbyBzdHJ1Y3R1cmUgaXQgaXMKKyAqIGhhbmRlZCB1cG9uIHN1Y2Nlc3NmdWwgZGV0ZWN0aW9uLCBhbmQgcG9zc2libHkgYWxzbyB0aGUgZmxhZ3MgZmllbGQuCisgKgorICogSWYgQGRldGVjdCBpcyBtaXNzaW5nLCB0aGUgZHJpdmVyIHdpbGwgc3RpbGwgd29yayBmaW5lIGZvciBlbnVtZXJhdGVkCisgKiBkZXZpY2VzLiBEZXRlY3RlZCBkZXZpY2VzIHNpbXBseSB3b24ndCBiZSBzdXBwb3J0ZWQuIFRoaXMgaXMgZXhwZWN0ZWQKKyAqIGZvciB0aGUgbWFueSBJMkMvU01CdXMgZGV2aWNlcyB3aGljaCBjYW4ndCBiZSBkZXRlY3RlZCByZWxpYWJseSwgYW5kCisgKiB0aGUgb25lcyB3aGljaCBjYW4gYWx3YXlzIGJlIGVudW1lcmF0ZWQgaW4gcHJhY3RpY2UuCisgKgorICogVGhlIGkyY19jbGllbnQgc3RydWN0dXJlIHdoaWNoIGlzIGhhbmRlZCB0byB0aGUgQGRldGVjdCBjYWxsYmFjayBpcworICogbm90IGEgcmVhbCBpMmNfY2xpZW50LiBJdCBpcyBpbml0aWFsaXplZCBqdXN0IGVub3VnaCBzbyB0aGF0IHlvdSBjYW4KKyAqIGNhbGwgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhIGFuZCBmcmllbmRzIG9uIGl0LiBEb24ndCBkbyBhbnl0aGluZworICogZWxzZSB3aXRoIGl0LiBJbiBwYXJ0aWN1bGFyLCBjYWxsaW5nIGRldl9kYmcgYW5kIGZyaWVuZHMgb24gaXQgaXMKKyAqIG5vdCBhbGxvd2VkLgogICovCi0KIHN0cnVjdCBpMmNfZHJpdmVyIHsKIAlpbnQgaWQ7CiAJdW5zaWduZWQgaW50IGNsYXNzOwpAQCAtMTQxLDYgKzE2MSwxMSBAQAogCiAJc3RydWN0IGRldmljZV9kcml2ZXIgZHJpdmVyOwogCWNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZF90YWJsZTsKKworCS8qIERldmljZSBkZXRlY3Rpb24gY2FsbGJhY2sgZm9yIGF1dG9tYXRpYyBkZXZpY2UgY3JlYXRpb24gKi8KKwlpbnQgKCpkZXRlY3QpKHN0cnVjdCBpMmNfY2xpZW50ICosIGludCBraW5kLCBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gKik7CisJY29uc3Qgc3RydWN0IGkyY19jbGllbnRfYWRkcmVzc19kYXRhICphZGRyZXNzX2RhdGE7CisJc3RydWN0IGxpc3RfaGVhZCBjbGllbnRzOwogfTsKICNkZWZpbmUgdG9faTJjX2RyaXZlcihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IGkyY19kcml2ZXIsIGRyaXZlcikKIApAQCAtMTU2LDYgKzE4MSw3IEBACiAgKiBAZGV2OiBEcml2ZXIgbW9kZWwgZGV2aWNlIG5vZGUgZm9yIHRoZSBzbGF2ZS4KICAqIEBpcnE6IGluZGljYXRlcyB0aGUgSVJRIGdlbmVyYXRlZCBieSB0aGlzIGRldmljZSAoaWYgYW55KQogICogQGxpc3Q6IGxpc3Qgb2YgYWN0aXZlL2J1c3kgY2xpZW50cyAoREVQUkVDQVRFRCkKKyAqIEBkZXRlY3RlZDogbWVtYmVyIG9mIGFuIGkyY19kcml2ZXIuY2xpZW50cyBsaXN0CiAgKiBAcmVsZWFzZWQ6IHVzZWQgdG8gc3luY2hyb25pemUgY2xpZW50IHJlbGVhc2VzICYgZGV0YWNoZXMgYW5kIHJlZmVyZW5jZXMKICAqCiAgKiBBbiBpMmNfY2xpZW50IGlkZW50aWZpZXMgYSBzaW5nbGUgZGV2aWNlIChpLmUuIGNoaXApIGNvbm5lY3RlZCB0byBhbgpAQCAtMTczLDYgKzE5OSw3IEBACiAJc3RydWN0IGRldmljZSBkZXY7CQkvKiB0aGUgZGV2aWNlIHN0cnVjdHVyZQkJKi8KIAlpbnQgaXJxOwkJCS8qIGlycSBpc3N1ZWQgYnkgZGV2aWNlCQkqLwogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsJCS8qIERFUFJFQ0FURUQgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGRldGVjdGVkOwogCXN0cnVjdCBjb21wbGV0aW9uIHJlbGVhc2VkOwogfTsKICNkZWZpbmUgdG9faTJjX2NsaWVudChkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IGkyY19jbGllbnQsIGRldikKQEAgLTM1MCwxMCArMzc3LDExIEBACiAjZGVmaW5lIEkyQ19DTEFTU19IV01PTgkJKDE8PDApCS8qIGxtX3NlbnNvcnMsIC4uLiAqLwogI2RlZmluZSBJMkNfQ0xBU1NfVFZfQU5BTE9HCSgxPDwxKQkvKiBidHR2ICsgZnJpZW5kcyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfVFZfRElHSVRBTAkoMTw8MikJLyogZHZiIGNhcmRzICovCi0jZGVmaW5lIEkyQ19DTEFTU19EREMJCSgxPDwzKQkvKiBpMmMtbWF0cm94ZmIgPyAqLworI2RlZmluZSBJMkNfQ0xBU1NfRERDCQkoMTw8MykJLyogRERDIGJ1cyBvbiBncmFwaGljcyBhZGFwdGVycyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQ0FNX0FOQUxPRwkoMTw8NCkJLyogY2FtZXJhIHdpdGggYW5hbG9nIENDRCAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQ0FNX0RJR0lUQUwJKDE8PDUpCS8qIG1vc3Qgd2ViY2FtcyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfU09VTkQJCSgxPDw2KQkvKiBzb3VuZCBkZXZpY2VzICovCisjZGVmaW5lIEkyQ19DTEFTU19TUEQJCSgxPDw3KQkvKiBTUEQgRUVQUk9NcyBhbmQgc2ltaWxhciAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQUxMCQkoVUlOVF9NQVgpIC8qIGFsbCBvZiB0aGUgYWJvdmUgKi8KIAogLyogaTJjX2NsaWVudF9hZGRyZXNzX2RhdGEgaXMgdGhlIHN0cnVjdCBmb3IgaG9sZGluZyBkZWZhdWx0IGNsaWVudApAQCAtNTM3LDcgKzU2NSw3IEBACiAJICAgICAgICAgICAgICAgICAgICAgICAvKiBhbmQgb25lIG1vcmUgZm9yIHVzZXItc3BhY2UgY29tcGF0aWJpbGl0eSAqLwogfTsKIAotLyogc21idXNfYWNjZXNzIHJlYWQgb3Igd3JpdGUgbWFya2VycyAqLworLyogaTJjX3NtYnVzX3hmZXIgcmVhZCBvciB3cml0ZSBtYXJrZXJzICovCiAjZGVmaW5lIEkyQ19TTUJVU19SRUFECTEKICNkZWZpbmUgSTJDX1NNQlVTX1dSSVRFCTAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pMmMvYXQyNC5oIGIvaW5jbHVkZS9saW51eC9pMmMvYXQyNC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZWRkNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2kyYy9hdDI0LmgKQEAgLTAsMCArMSwyOCBAQAorI2lmbmRlZiBfTElOVVhfQVQyNF9ICisjZGVmaW5lIF9MSU5VWF9BVDI0X0gKKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKy8qCisgKiBBcyBzZWVuIHRocm91Z2ggTGludXggSTJDLCBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBtb3N0IGNvbW1vbiB0eXBlcyBvZiBJMkMKKyAqIG1lbW9yeSBpbmNsdWRlOgorICogLSBIb3cgbXVjaCBtZW1vcnkgaXMgYXZhaWxhYmxlICh1c3VhbGx5IHNwZWNpZmllZCBpbiBiaXQpPworICogLSBXaGF0IHdyaXRlIHBhZ2Ugc2l6ZSBkb2VzIGl0IHN1cHBvcnQ/CisgKiAtIFNwZWNpYWwgZmxhZ3MgKDE2IGJpdCBhZGRyZXNzZXMsIHJlYWRfb25seSwgd29ybGQgcmVhZGFibGUuLi4pPworICoKKyAqIElmIHlvdSBzZXQgdXAgYSBjdXN0b20gZWVwcm9tIHR5cGUsIHBsZWFzZSBkb3VibGUtY2hlY2sgdGhlIHBhcmFtZXRlcnMuCisgKiBFc3BlY2lhbGx5IHBhZ2Vfc2l6ZSBuZWVkcyBleHRyYSBjYXJlLCBhcyB5b3UgcmlzayBkYXRhIGxvc3MgaWYgeW91ciB2YWx1ZQorICogaXMgYmlnZ2VyIHRoYW4gd2hhdCB0aGUgY2hpcCBhY3R1YWxseSBzdXBwb3J0cyEKKyAqLworCitzdHJ1Y3QgYXQyNF9wbGF0Zm9ybV9kYXRhIHsKKwl1MzIJCWJ5dGVfbGVuOwkJLyogc2l6ZSAoc3VtIG9mIGFsbCBhZGRyKSAqLworCXUxNgkJcGFnZV9zaXplOwkJLyogZm9yIHdyaXRlcyAqLworCXU4CQlmbGFnczsKKyNkZWZpbmUgQVQyNF9GTEFHX0FERFIxNgkweDgwCS8qIGFkZHJlc3MgcG9pbnRlciBpcyAxNiBiaXQgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX1JFQURPTkxZCTB4NDAJLyogc3lzZnMtZW50cnkgd2lsbCBiZSByZWFkLW9ubHkgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX0lSVUdPCQkweDIwCS8qIHN5c2ZzLWVudHJ5IHdpbGwgYmUgd29ybGQtcmVhZGFibGUgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX1RBS0U4QUREUgkweDEwCS8qIHRha2UgYWx3YXlzIDggYWRkcmVzc2VzICgyNGMwMCkgKi8KK307CisKKyNlbmRpZiAvKiBfTElOVVhfQVQyNF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2lkZS5oIGIvaW5jbHVkZS9saW51eC9pZGUuaAppbmRleCBlZGRiNmRhLi5hYzRlZWIyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2lkZS5oCisrKyBiL2luY2x1ZGUvbGludXgvaWRlLmgKQEAgLTM2NCw3ICszNjQsNiBAQAogICAgICAgICB1OAl3Y2FjaGU7CQkvKiBzdGF0dXMgb2Ygd3JpdGUgY2FjaGUgKi8KIAl1OAlhY291c3RpYzsJLyogYWNvdXN0aWMgbWFuYWdlbWVudCAqLwogCXU4CW1lZGlhOwkJLyogZGlzaywgY2Ryb20sIHRhcGUsIGZsb3BweSwgLi4uICovCi0JdTgJY3RsOwkJLyogIm5vcm1hbCIgdmFsdWUgZm9yIENvbnRyb2wgcmVnaXN0ZXIgKi8KIAl1OAlyZWFkeV9zdGF0OwkvKiBtaW4gc3RhdHVzIHZhbHVlIGZvciBkcml2ZSByZWFkeSAqLwogCXU4CW11bHRfY291bnQ7CS8qIGN1cnJlbnQgbXVsdGlwbGUgc2VjdG9yIHNldHRpbmcgKi8KIAl1OAltdWx0X3JlcTsJLyogcmVxdWVzdGVkIG11bHRpcGxlIHNlY3RvciBzZXR0aW5nICovCkBAIC00OTMsNyArNDkyLDcgQEAKIAl2b2lkICgqaWRlX2RtYV9jbGVhcl9pcnEpKGlkZV9kcml2ZV90ICpkcml2ZSk7CiAKIAl2b2lkICgqT1VUQikodTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KTsKLQl2b2lkICgqT1VUQlNZTkMpKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KTsKKwl2b2lkICgqT1VUQlNZTkMpKHN0cnVjdCBod2lmX3MgKmh3aWYsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCk7CiAKIAl1OCAgKCpJTkIpKHVuc2lnbmVkIGxvbmcgcG9ydCk7CiAKQEAgLTUzMiw3ICs1MzEsNiBAQAogCXVuc2lnbmVkCXNlcmlhbGl6ZWQgOiAxOwkvKiBzZXJpYWxpemVkIGFsbCBjaGFubmVsIG9wZXJhdGlvbiAqLwogCXVuc2lnbmVkCXNoYXJpbmdfaXJxOiAxOwkvKiAxID0gc2hhcmluZyBpcnEgd2l0aCBhbm90aGVyIGh3aWYgKi8KIAl1bnNpZ25lZAlzZ19tYXBwZWQgIDogMTsJLyogc2dfdGFibGUgYW5kIHNnX25lbnRzIGFyZSByZWFkeSAqLwotCXVuc2lnbmVkCW1taW8gICAgICAgOiAxOyAvKiBob3N0IHVzZXMgTU1JTyAqLwogCiAJc3RydWN0IGRldmljZQkJZ2VuZGV2OwogCXN0cnVjdCBkZXZpY2UJCSpwb3J0ZGV2OwpAQCAtNjA0LDEyICs2MDIsMTMgQEAKIAlQQ19GTEFHX1NVUFBSRVNTX0VSUk9SCQk9ICgxIDw8IDEpLAogCVBDX0ZMQUdfV0FJVF9GT1JfRFNDCQk9ICgxIDw8IDIpLAogCVBDX0ZMQUdfRE1BX09LCQkJPSAoMSA8PCAzKSwKLQlQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRAkJPSAoMSA8PCA0KSwKLQlQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUwkJPSAoMSA8PCA1KSwKLQlQQ19GTEFHX0RNQV9FUlJPUgkJPSAoMSA8PCA2KSwKLQlQQ19GTEFHX1dSSVRJTkcJCQk9ICgxIDw8IDcpLAorCVBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTCQk9ICgxIDw8IDQpLAorCVBDX0ZMQUdfRE1BX0VSUk9SCQk9ICgxIDw8IDUpLAorCVBDX0ZMQUdfV1JJVElORwkJCT0gKDEgPDwgNiksCiAJLyogY29tbWFuZCB0aW1lZCBvdXQgKi8KLQlQQ19GTEFHX1RJTUVET1VUCQk9ICgxIDw8IDgpLAorCVBDX0ZMQUdfVElNRURPVVQJCT0gKDEgPDwgNyksCisJUENfRkxBR19aSVBfRFJJVkUJCT0gKDEgPDwgOCksCisJUENfRkxBR19EUlFfSU5URVJSVVBUCQk9ICgxIDw8IDkpLAogfTsKIAogc3RydWN0IGlkZV9hdGFwaV9wYyB7CkBAIC02NDIsOCArNjQxLDggQEAKIAkgKiB0byBjaGFuZ2UvcmVtb3ZhbCBsYXRlci4KIAkgKi8KIAl1OCBwY19idWZbMjU2XTsKLQl2b2lkICgqaWRlZmxvcHB5X2NhbGxiYWNrKSAoaWRlX2RyaXZlX3QgKik7Ci0JaWRlX3N0YXJ0c3RvcF90ICgqaWRldGFwZV9jYWxsYmFjaykgKGlkZV9kcml2ZV90ICopOworCisJdm9pZCAoKmNhbGxiYWNrKShpZGVfZHJpdmVfdCAqKTsKIAogCS8qIGlkZXRhcGUgb25seSAqLwogCXN0cnVjdCBpZGV0YXBlX2JoICpiaDsKQEAgLTgxMywxMCArODEyLDYgQEAKICNpZm5kZWYgX0lERV9DCiBleHRlcm4JaWRlX2h3aWZfdAlpZGVfaHdpZnNbXTsJCS8qIG1hc3RlciBkYXRhIHJlcG9zaXRvcnkgKi8KICNlbmRpZgotZXh0ZXJuIGludCBpZGVfbm9hY3BpOwotZXh0ZXJuIGludCBpZGVfYWNwaWd0ZjsKLWV4dGVybiBpbnQgaWRlX2FjcGlvbmJvb3Q7Ci1leHRlcm4gaW50IG5vYXV0b2RtYTsKIAogZXh0ZXJuIGludCBpZGVfdmxiX2NsazsKIGV4dGVybiBpbnQgaWRlX3BjaV9jbGs7CkBAIC04NTcsMjUgKzg1MiwxMiBAQAogCiBleHRlcm4gaWRlX3N0YXJ0c3RvcF90IGlkZV9kb19yZXNldCAoaWRlX2RyaXZlX3QgKik7CiAKLWV4dGVybiB2b2lkIGlkZV9pbml0X2RyaXZlX2NtZCAoc3RydWN0IHJlcXVlc3QgKnJxKTsKLQotLyoKLSAqICJhY3Rpb24iIHBhcmFtZXRlciB0eXBlIGZvciBpZGVfZG9fZHJpdmVfY21kKCkgYmVsb3cuCi0gKi8KLXR5cGVkZWYgZW51bSB7Ci0JaWRlX3dhaXQsCS8qIGluc2VydCBycSBhdCBlbmQgb2YgbGlzdCwgYW5kIHdhaXQgZm9yIGl0ICovCi0JaWRlX3ByZWVtcHQsCS8qIGluc2VydCBycSBpbiBmcm9udCBvZiBjdXJyZW50IHJlcXVlc3QgKi8KLQlpZGVfaGVhZF93YWl0LAkvKiBpbnNlcnQgcnEgaW4gZnJvbnQgb2YgY3VycmVudCByZXF1ZXN0IGFuZCB3YWl0IGZvciBpdCAqLwotCWlkZV9lbmQJCS8qIGluc2VydCBycSBhdCBlbmQgb2YgbGlzdCwgYnV0IGRvbid0IHdhaXQgZm9yIGl0ICovCi19IGlkZV9hY3Rpb25fdDsKLQotZXh0ZXJuIGludCBpZGVfZG9fZHJpdmVfY21kKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICosIGlkZV9hY3Rpb25fdCk7CitleHRlcm4gdm9pZCBpZGVfZG9fZHJpdmVfY21kKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICopOwogCiBleHRlcm4gdm9pZCBpZGVfZW5kX2RyaXZlX2NtZChpZGVfZHJpdmVfdCAqLCB1OCwgdTgpOwogCiBlbnVtIHsKIAlJREVfVEZMQUdfTEJBNDgJCQk9ICgxIDw8IDApLAotCUlERV9URkxBR19OT19TRUxFQ1RfTUFTSwk9ICgxIDw8IDEpLAogCUlERV9URkxBR19GTEFHR0VECQk9ICgxIDw8IDIpLAogCUlERV9URkxBR19PVVRfREFUQQkJPSAoMSA8PCAzKSwKIAlJREVfVEZMQUdfT1VUX0hPQl9GRUFUVVJFCT0gKDEgPDwgNCksCkBAIC05ODAsMTEgKzk2MiwyMyBAQAogdm9pZCBpZGVfdGZfZHVtcChjb25zdCBjaGFyICosIHN0cnVjdCBpZGVfdGFza2ZpbGUgKik7CiAKIGV4dGVybiB2b2lkIFNFTEVDVF9EUklWRShpZGVfZHJpdmVfdCAqKTsKK3ZvaWQgU0VMRUNUX01BU0soaWRlX2RyaXZlX3QgKiwgaW50KTsKIAogZXh0ZXJuIGludCBkcml2ZV9pc19yZWFkeShpZGVfZHJpdmVfdCAqKTsKIAogdm9pZCBpZGVfcGt0Y21kX3RmX2xvYWQoaWRlX2RyaXZlX3QgKiwgdTMyLCB1MTYsIHU4KTsKIAoraWRlX3N0YXJ0c3RvcF90IGlkZV9wY19pbnRyKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJaWRlX2hhbmRsZXJfdCAqaGFuZGxlciwgdW5zaWduZWQgaW50IHRpbWVvdXQsIGlkZV9leHBpcnlfdCAqZXhwaXJ5LAorCXZvaWQgKCp1cGRhdGVfYnVmZmVycykoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqKSwKKwl2b2lkICgqcmV0cnlfcGMpKGlkZV9kcml2ZV90ICopLCB2b2lkICgqZHNjX2hhbmRsZSkoaWRlX2RyaXZlX3QgKiksCisJdm9pZCAoKmlvX2J1ZmZlcnMpKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwgdW5zaWduZWQgaW50LAorCQkJICAgaW50KSk7CitpZGVfc3RhcnRzdG9wX3QgaWRlX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwKKwkJCQlpZGVfaGFuZGxlcl90ICosIHVuc2lnbmVkIGludCwgaWRlX2V4cGlyeV90ICopOworaWRlX3N0YXJ0c3RvcF90IGlkZV9pc3N1ZV9wYyhpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosCisJCQkgICAgIGlkZV9oYW5kbGVyX3QgKiwgdW5zaWduZWQgaW50LCBpZGVfZXhwaXJ5X3QgKik7CisKIGlkZV9zdGFydHN0b3BfdCBkb19yd190YXNrZmlsZShpZGVfZHJpdmVfdCAqLCBpZGVfdGFza190ICopOwogCiB2b2lkIHRhc2tfZW5kX3JlcXVlc3QoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3QgKiwgdTgpOwpAQCAtOTk2LDggKzk5MCw2IEBACiBpbnQgaWRlX2NtZF9pb2N0bChpZGVfZHJpdmVfdCAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwogaW50IGlkZV90YXNrX2lvY3RsKGlkZV9kcml2ZV90ICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7CiAKLWV4dGVybiBpbnQgc3lzdGVtX2J1c19jbG9jayh2b2lkKTsKLQogZXh0ZXJuIGludCBpZGVfZHJpdmVpZF91cGRhdGUoaWRlX2RyaXZlX3QgKik7CiBleHRlcm4gaW50IGlkZV9jb25maWdfZHJpdmVfc3BlZWQoaWRlX2RyaXZlX3QgKiwgdTgpOwogZXh0ZXJuIHU4IGVpZ2h0eV9uaW50eV90aHJlZSAoaWRlX2RyaXZlX3QgKik7CkBAIC0xMzQ5LDcgKzEzNDEsOCBAQAogewogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAotCWh3aWYtPk9VVEIoZHJpdmUtPmN0bCB8IChvbiA/IDAgOiAyKSwgaHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEFUQV9ERVZDVExfT0JTIHwgKG9uID8gMCA6IDIpLAorCQkgICAgICAgaHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOwogfQogCiBzdGF0aWMgaW5saW5lIHU4IGlkZV9yZWFkX3N0YXR1cyhpZGVfZHJpdmVfdCAqZHJpdmUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2loZXguaCBiL2luY2x1ZGUvbGludXgvaWhleC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiYWFjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2loZXguaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29tcGFjdCBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleCByZWNvcmRzLiBTb21lIGRldmljZXMgbmVlZCB0aGVpcgorICogZmlybXdhcmUgbG9hZGVkIGluIHN0cmFuZ2Ugb3JkZXJzIHJhdGhlciB0aGFuIGEgc2luZ2xlIGJpZyBibG9iLCBidXQKKyAqIGFjdHVhbGx5IHBhcnNpbmcgaWhleC1hcy10ZXh0IHdpdGhpbiB0aGUga2VybmVsIHNlZW1zIHNpbGx5LiBUaHVzLC4uLgorICovCisKKyNpZm5kZWYgX19MSU5VWF9JSEVYX0hfXworI2RlZmluZSBfX0xJTlVYX0lIRVhfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisKKy8qIEludGVsIEhFWCBmaWxlcyBhY3R1YWxseSBsaW1pdCB0aGUgbGVuZ3RoIHRvIDI1NiBieXRlcywgYnV0IHdlIGhhdmUKKyAgIGRyaXZlcnMgd2hpY2ggd291bGQgYmVuZWZpdCBmcm9tIHVzaW5nIHNlcGFyYXRlIHJlY29yZHMgd2hpY2ggYXJlCisgICBsb25nZXIgdGhhbiB0aGF0LCBzbyB3ZSBleHRlbmQgdG8gMTYgYml0cyBvZiBsZW5ndGggKi8KK3N0cnVjdCBpaGV4X2JpbnJlYyB7CisJX19iZTMyIGFkZHI7CisJX19iZTE2IGxlbjsKKwl1aW50OF90IGRhdGFbMF07Cit9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoNCkpKTsKKworLyogRmluZCB0aGUgbmV4dCByZWNvcmQsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIDQtYnl0ZSBhbGlnbm1lbnQgKi8KK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICoKK2loZXhfbmV4dF9iaW5yZWMoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWMpCit7CisJaW50IG5leHQgPSAoKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSArIDUpICYgfjMpIC0gMjsKKwlyZWMgPSAodm9pZCAqKSZyZWMtPmRhdGFbbmV4dF07CisKKwlyZXR1cm4gYmUxNl90b19jcHUocmVjLT5sZW4pID8gcmVjIDogTlVMTDsKK30KKworLyogQ2hlY2sgdGhhdCBpaGV4X25leHRfYmlucmVjKCkgd29uJ3QgdGFrZSB1cyBvZmYgdGhlIGVuZCBvZiB0aGUgaW1hZ2UuLi4gKi8KK3N0YXRpYyBpbmxpbmUgaW50IGloZXhfdmFsaWRhdGVfZncoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKK3sKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwlzaXplX3Qgb2ZzID0gMDsKKworCXdoaWxlIChvZnMgPD0gZnctPnNpemUgLSBzaXplb2YoKnJlYykpIHsKKwkJcmVjID0gKHZvaWQgKikmZnctPmRhdGFbb2ZzXTsKKworCQkvKiBaZXJvIGxlbmd0aCBtYXJrcyBlbmQgb2YgcmVjb3JkcyAqLworCQlpZiAoIWJlMTZfdG9fY3B1KHJlYy0+bGVuKSkKKwkJCXJldHVybiAwOworCisJCS8qIFBvaW50IHRvIG5leHQgcmVjb3JkLi4uICovCisJCW9mcyArPSAoc2l6ZW9mKCpyZWMpICsgYmUxNl90b19jcHUocmVjLT5sZW4pICsgMykgJiB+MzsKKwl9CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKy8qIFJlcXVlc3QgZmlybXdhcmUgYW5kIHZhbGlkYXRlIGl0IHNvIHRoYXQgd2UgY2FuIHRydXN0IHdlIHdvbid0CisgKiBydW4gb2ZmIHRoZSBlbmQgd2hpbGUgcmVhZGluZyByZWNvcmRzLi4uICovCitzdGF0aWMgaW5saW5lIGludCByZXF1ZXN0X2loZXhfZmlybXdhcmUoY29uc3Qgc3RydWN0IGZpcm13YXJlICoqZncsCisJCQkJCWNvbnN0IGNoYXIgKmZ3X25hbWUsCisJCQkJCXN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmxmdzsKKwlpbnQgcmV0OworCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmbGZ3LCBmd19uYW1lLCBkZXYpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJcmV0ID0gaWhleF92YWxpZGF0ZV9mdyhsZncpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihkZXYsICJGaXJtd2FyZSBcIiVzXCIgbm90IHZhbGlkIElIRVggcmVjb3Jkc1xuIiwKKwkJCWZ3X25hbWUpOworCQlyZWxlYXNlX2Zpcm13YXJlKGxmdyk7CisJCXJldHVybiByZXQ7CisJfQorCSpmdyA9IGxmdzsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBfX0xJTlVYX0lIRVhfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oIGIvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAppbmRleCBmMWZjNzQ3Li42MmFhNGY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCisrKyBiL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKQEAgLTEwNCw4ICsxMDQsMTEgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfR0VORVJJQ19IQVJESVJRUykKIAorZXh0ZXJuIGNwdW1hc2tfdCBpcnFfZGVmYXVsdF9hZmZpbml0eTsKKwogZXh0ZXJuIGludCBpcnFfc2V0X2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEsIGNwdW1hc2tfdCBjcHVtYXNrKTsKIGV4dGVybiBpbnQgaXJxX2Nhbl9zZXRfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gaW50IGlycV9zZWxlY3RfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSk7CiAKICNlbHNlIC8qIENPTkZJR19TTVAgKi8KIApAQCAtMTE5LDYgKzEyMiw4IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IGlycV9zZWxlY3RfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSkgIHsgcmV0dXJuIDA7IH0KKwogI2VuZGlmIC8qIENPTkZJR19TTVAgJiYgQ09ORklHX0dFTkVSSUNfSEFSRElSUVMgKi8KIAogI2lmZGVmIENPTkZJR19HRU5FUklDX0hBUkRJUlFTCkBAIC0yODUsMTIgKzI5MCwxMSBAQAogc3RydWN0IHNvZnRpcnFfYWN0aW9uCiB7CiAJdm9pZAkoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uICopOwotCXZvaWQJKmRhdGE7CiB9OwogCiBhc21saW5rYWdlIHZvaWQgZG9fc29mdGlycSh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBfX2RvX3NvZnRpcnEodm9pZCk7Ci1leHRlcm4gdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24qKSwgdm9pZCAqZGF0YSk7CitleHRlcm4gdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKikpOwogZXh0ZXJuIHZvaWQgc29mdGlycV9pbml0KHZvaWQpOwogI2RlZmluZSBfX3JhaXNlX3NvZnRpcnFfaXJxb2ZmKG5yKSBkbyB7IG9yX3NvZnRpcnFfcGVuZGluZygxVUwgPDwgKG5yKSk7IH0gd2hpbGUgKDApCiBleHRlcm4gdm9pZCByYWlzZV9zb2Z0aXJxX2lycW9mZih1bnNpZ25lZCBpbnQgbnIpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pb2NvbnRleHQuaCBiL2luY2x1ZGUvbGludXgvaW9jb250ZXh0LmgKaW5kZXggMmI3YTExOC4uMDhiOTg3YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pb2NvbnRleHQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lvY29udGV4dC5oCkBAIC05OSw0ICs5OSwyMiBAQAogCXJldHVybiBOVUxMOwogfQogCisjaWZkZWYgQ09ORklHX0JMT0NLCitpbnQgcHV0X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKmlvYyk7Cit2b2lkIGV4aXRfaW9fY29udGV4dCh2b2lkKTsKK3N0cnVjdCBpb19jb250ZXh0ICpnZXRfaW9fY29udGV4dChnZnBfdCBnZnBfZmxhZ3MsIGludCBub2RlKTsKK3N0cnVjdCBpb19jb250ZXh0ICphbGxvY19pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOwordm9pZCBjb3B5X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKipwZHN0LCBzdHJ1Y3QgaW9fY29udGV4dCAqKnBzcmMpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBleGl0X2lvX2NvbnRleHQodm9pZCkKK3sKK30KKworc3RydWN0IGlvX2NvbnRleHQ7CitzdGF0aWMgaW5saW5lIGludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKQoreworCXJldHVybiAxOworfQorI2VuZGlmCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pcnEuaCBiL2luY2x1ZGUvbGludXgvaXJxLmgKaW5kZXggNTUyZTBlYy4uOGNjYjQ2MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pcnEuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lycS5oCkBAIC0yNDQsMTUgKzI0NCw2IEBACiB9CiAjZW5kaWYKIAotI2lmZGVmIENPTkZJR19BVVRPX0lSUV9BRkZJTklUWQotZXh0ZXJuIGludCBzZWxlY3Rfc21wX2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpOwotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgaW50IHNlbGVjdF9zbXBfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSkKLXsKLQlyZXR1cm4gMTsKLX0KLSNlbmRpZgotCiBleHRlcm4gaW50IG5vX2lycV9hZmZpbml0eTsKIAogc3RhdGljIGlubGluZSBpbnQgaXJxX2JhbGFuY2luZ19kaXNhYmxlZCh1bnNpZ25lZCBpbnQgaXJxKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oIGIvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCmluZGV4IGU2MDBjNGUuLjJiMWMyZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaXJxZmxhZ3MuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lycWZsYWdzLmgKQEAgLTEyLDEwICsxMiwxMCBAQAogI2RlZmluZSBfTElOVVhfVFJBQ0VfSVJRRkxBR1NfSAogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0gIGV4dGVybiB2b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpOwotICBleHRlcm4gdm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCk7CiAgIGV4dGVybiB2b2lkIHRyYWNlX3NvZnRpcnFzX29uKHVuc2lnbmVkIGxvbmcgaXApOwogICBleHRlcm4gdm9pZCB0cmFjZV9zb2Z0aXJxc19vZmYodW5zaWduZWQgbG9uZyBpcCk7CisgIGV4dGVybiB2b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpOworICBleHRlcm4gdm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCk7CiAjIGRlZmluZSB0cmFjZV9oYXJkaXJxX2NvbnRleHQocCkJKChwKS0+aGFyZGlycV9jb250ZXh0KQogIyBkZWZpbmUgdHJhY2Vfc29mdGlycV9jb250ZXh0KHApCSgocCktPnNvZnRpcnFfY29udGV4dCkKICMgZGVmaW5lIHRyYWNlX2hhcmRpcnFzX2VuYWJsZWQocCkJKChwKS0+aGFyZGlycXNfZW5hYmxlZCkKQEAgLTQxLDYgKzQxLDE1IEBACiAjIGRlZmluZSBJTklUX1RSQUNFX0lSUUZMQUdTCiAjZW5kaWYKIAorI2lmIGRlZmluZWQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSB8fCBcCisJZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCisgZXh0ZXJuIHZvaWQgc3RvcF9jcml0aWNhbF90aW1pbmdzKHZvaWQpOworIGV4dGVybiB2b2lkIHN0YXJ0X2NyaXRpY2FsX3RpbWluZ3Modm9pZCk7CisjZWxzZQorIyBkZWZpbmUgc3RvcF9jcml0aWNhbF90aW1pbmdzKCkgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgc3RhcnRfY3JpdGljYWxfdGltaW5ncygpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQKIAogI2luY2x1ZGUgPGFzbS9pcnFmbGFncy5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9qYmQyLmggYi9pbmNsdWRlL2xpbnV4L2piZDIuaAppbmRleCBkMTQ3ZjBmLi4zZGQyMDkwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2piZDIuaAorKysgYi9pbmNsdWRlL2xpbnV4L2piZDIuaApAQCAtMTY4LDYgKzE2OCw4IEBACiAJdW5zaWduZWQgY2hhciAgIGhfY2hrc3VtX3NpemU7CiAJdW5zaWduZWQgY2hhciAJaF9wYWRkaW5nWzJdOwogCV9fYmUzMiAJCWhfY2hrc3VtW0pCRDJfQ0hFQ0tTVU1fQllURVNdOworCV9fYmU2NAkJaF9jb21taXRfc2VjOworCV9fYmUzMgkJaF9jb21taXRfbnNlYzsKIH07CiAKIC8qCkBAIC0zNzksNiArMzgxLDM4IEBACiAJYml0X3NwaW5fdW5sb2NrKEJIX0pvdXJuYWxIZWFkLCAmYmgtPmJfc3RhdGUpOwogfQogCisvKiBGbGFncyBpbiBqYmRfaW5vZGUtPmlfZmxhZ3MgKi8KKyNkZWZpbmUgX19KSV9DT01NSVRfUlVOTklORyAwCisvKiBDb21taXQgb2YgdGhlIGlub2RlIGRhdGEgaW4gcHJvZ3Jlc3MuIFdlIHVzZSB0aGlzIGZsYWcgdG8gcHJvdGVjdCB1cyBmcm9tCisgKiBjb25jdXJyZW50IGRlbGV0aW9uIG9mIGlub2RlLiBXZSBjYW5ub3QgdXNlIHJlZmVyZW5jZSB0byBpbm9kZSBmb3IgdGhpcworICogc2luY2Ugd2UgY2Fubm90IGFmZm9yZCBkb2luZyBsYXN0IGlwdXQoKSBvbiBiZWhhbGYgb2Yga2pvdXJuYWxkCisgKi8KKyNkZWZpbmUgSklfQ09NTUlUX1JVTk5JTkcgKDEgPDwgX19KSV9DT01NSVRfUlVOTklORykKKworLyoqCisgKiBzdHJ1Y3QgamJkX2lub2RlIGlzIHRoZSBzdHJ1Y3R1cmUgbGlua2luZyBpbm9kZXMgaW4gb3JkZXJlZCBtb2RlCisgKiAgIHByZXNlbnQgaW4gYSB0cmFuc2FjdGlvbiBzbyB0aGF0IHdlIGNhbiBzeW5jIHRoZW0gZHVyaW5nIGNvbW1pdC4KKyAqLworc3RydWN0IGpiZDJfaW5vZGUgeworCS8qIFdoaWNoIHRyYW5zYWN0aW9uIGRvZXMgdGhpcyBpbm9kZSBiZWxvbmcgdG8/IEVpdGhlciB0aGUgcnVubmluZworCSAqIHRyYW5zYWN0aW9uIG9yIHRoZSBjb21taXR0aW5nIG9uZS4gW2pfbGlzdF9sb2NrXSAqLworCXRyYW5zYWN0aW9uX3QgKmlfdHJhbnNhY3Rpb247CisKKwkvKiBQb2ludGVyIHRvIHRoZSBydW5uaW5nIHRyYW5zYWN0aW9uIG1vZGlmeWluZyBpbm9kZSdzIGRhdGEgaW4gY2FzZQorCSAqIHRoZXJlIGlzIGFscmVhZHkgYSBjb21taXR0aW5nIHRyYW5zYWN0aW9uIHRvdWNoaW5nIGl0LiBbal9saXN0X2xvY2tdICovCisJdHJhbnNhY3Rpb25fdCAqaV9uZXh0X3RyYW5zYWN0aW9uOworCisJLyogTGlzdCBvZiBpbm9kZXMgaW4gdGhlIGlfdHJhbnNhY3Rpb24gW2pfbGlzdF9sb2NrXSAqLworCXN0cnVjdCBsaXN0X2hlYWQgaV9saXN0OworCisJLyogVkZTIGlub2RlIHRoaXMgaW5vZGUgYmVsb25ncyB0byBbY29uc3RhbnQgZHVyaW5nIHRoZSBsaWZldGltZQorCSAqIG9mIHRoZSBzdHJ1Y3R1cmVdICovCisJc3RydWN0IGlub2RlICppX3Zmc19pbm9kZTsKKworCS8qIEZsYWdzIG9mIGlub2RlIFtqX2xpc3RfbG9ja10gKi8KKwl1bnNpZ25lZCBpbnQgaV9mbGFnczsKK307CisKIHN0cnVjdCBqYmQyX3Jldm9rZV90YWJsZV9zOwogCiAvKioKQEAgLTUwOSwyNCArNTQzLDEyIEBACiAJc3RydWN0IGpvdXJuYWxfaGVhZAkqdF9yZXNlcnZlZF9saXN0OwogCiAJLyoKLQkgKiBEb3VibHktbGlua2VkIGNpcmN1bGFyIGxpc3Qgb2YgYWxsIGJ1ZmZlcnMgdW5kZXIgd3JpdGVvdXQgZHVyaW5nCi0JICogY29tbWl0IFtqX2xpc3RfbG9ja10KLQkgKi8KLQlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2xvY2tlZF9saXN0OwotCi0JLyoKIAkgKiBEb3VibHktbGlua2VkIGNpcmN1bGFyIGxpc3Qgb2YgYWxsIG1ldGFkYXRhIGJ1ZmZlcnMgb3duZWQgYnkgdGhpcwogCSAqIHRyYW5zYWN0aW9uIFtqX2xpc3RfbG9ja10KIAkgKi8KIAlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2J1ZmZlcnM7CiAKIAkvKgotCSAqIERvdWJseS1saW5rZWQgY2lyY3VsYXIgbGlzdCBvZiBhbGwgZGF0YSBidWZmZXJzIHN0aWxsIHRvIGJlCi0JICogZmx1c2hlZCBiZWZvcmUgdGhpcyB0cmFuc2FjdGlvbiBjYW4gYmUgY29tbWl0dGVkIFtqX2xpc3RfbG9ja10KLQkgKi8KLQlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X3N5bmNfZGF0YWxpc3Q7Ci0KLQkvKgogCSAqIERvdWJseS1saW5rZWQgY2lyY3VsYXIgbGlzdCBvZiBhbGwgZm9yZ2V0IGJ1ZmZlcnMgKHN1cGVyc2VkZWQKIAkgKiBidWZmZXJzIHdoaWNoIHdlIGNhbiB1bi1jaGVja3BvaW50IG9uY2UgdGhpcyB0cmFuc2FjdGlvbiBjb21taXRzKQogCSAqIFtqX2xpc3RfbG9ja10KQEAgLTU2NSw2ICs1ODcsMTIgQEAKIAlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2xvZ19saXN0OwogCiAJLyoKKwkgKiBMaXN0IG9mIGlub2RlcyB3aG9zZSBkYXRhIHdlJ3ZlIG1vZGlmaWVkIGluIGRhdGE9b3JkZXJlZCBtb2RlLgorCSAqIFtqX2xpc3RfbG9ja10KKwkgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCXRfaW5vZGVfbGlzdDsKKworCS8qCiAJICogUHJvdGVjdHMgaW5mbyByZWxhdGVkIHRvIGhhbmRsZXMKIAkgKi8KIAlzcGlubG9ja190CQl0X2hhbmRsZV9sb2NrOwpAQCAtMTAwNCw3ICsxMDMyLDYgQEAKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2dldF91bmRvX2FjY2VzcyhoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7Ci1leHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2RpcnR5X21ldGFkYXRhIChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gdm9pZAkgamJkMl9qb3VybmFsX3JlbGVhc2VfYnVmZmVyIChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZm9yZ2V0IChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CkBAIC0xMDQ0LDYgKzEwNzEsMTAgQEAKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2NsZWFyX2VyciAgKGpvdXJuYWxfdCAqKTsKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2JtYXAoam91cm5hbF90ICosIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcgbG9uZyAqKTsKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2ZvcmNlX2NvbW1pdChqb3VybmFsX3QgKik7CitleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9maWxlX2lub2RlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBqYmQyX2lub2RlICppbm9kZSk7CitleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKHN0cnVjdCBqYmQyX2lub2RlICppbm9kZSwgbG9mZl90IG5ld19zaXplKTsKK2V4dGVybiB2b2lkCSAgIGpiZDJfam91cm5hbF9pbml0X2piZF9pbm9kZShzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKK2V4dGVybiB2b2lkCSAgIGpiZDJfam91cm5hbF9yZWxlYXNlX2piZF9pbm9kZShqb3VybmFsX3QgKmpvdXJuYWwsIHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUpOwogCiAvKgogICogam91cm5hbF9oZWFkIG1hbmFnZW1lbnQKQEAgLTExNzksMTUgKzEyMTAsMTMgQEAKIAogLyogam91cm5hbGluZyBidWZmZXIgdHlwZXMgKi8KICNkZWZpbmUgQkpfTm9uZQkJMAkvKiBOb3Qgam91cm5hbGVkICovCi0jZGVmaW5lIEJKX1N5bmNEYXRhCTEJLyogTm9ybWFsIGRhdGE6IGZsdXNoIGJlZm9yZSBjb21taXQgKi8KLSNkZWZpbmUgQkpfTWV0YWRhdGEJMgkvKiBOb3JtYWwgam91cm5hbGVkIG1ldGFkYXRhICovCi0jZGVmaW5lIEJKX0ZvcmdldAkzCS8qIEJ1ZmZlciBzdXBlcnNlZGVkIGJ5IHRoaXMgdHJhbnNhY3Rpb24gKi8KLSNkZWZpbmUgQkpfSU8JCTQJLyogQnVmZmVyIGlzIGZvciB0ZW1wb3JhcnkgSU8gdXNlICovCi0jZGVmaW5lIEJKX1NoYWRvdwk1CS8qIEJ1ZmZlciBjb250ZW50cyBiZWluZyBzaGFkb3dlZCB0byB0aGUgbG9nICovCi0jZGVmaW5lIEJKX0xvZ0N0bAk2CS8qIEJ1ZmZlciBjb250YWlucyBsb2cgZGVzY3JpcHRvcnMgKi8KLSNkZWZpbmUgQkpfUmVzZXJ2ZWQJNwkvKiBCdWZmZXIgaXMgcmVzZXJ2ZWQgZm9yIGFjY2VzcyBieSBqb3VybmFsICovCi0jZGVmaW5lIEJKX0xvY2tlZAk4CS8qIExvY2tlZCBmb3IgSS9PIGR1cmluZyBjb21taXQgKi8KLSNkZWZpbmUgQkpfVHlwZXMJOQorI2RlZmluZSBCSl9NZXRhZGF0YQkxCS8qIE5vcm1hbCBqb3VybmFsZWQgbWV0YWRhdGEgKi8KKyNkZWZpbmUgQkpfRm9yZ2V0CTIJLyogQnVmZmVyIHN1cGVyc2VkZWQgYnkgdGhpcyB0cmFuc2FjdGlvbiAqLworI2RlZmluZSBCSl9JTwkJMwkvKiBCdWZmZXIgaXMgZm9yIHRlbXBvcmFyeSBJTyB1c2UgKi8KKyNkZWZpbmUgQkpfU2hhZG93CTQJLyogQnVmZmVyIGNvbnRlbnRzIGJlaW5nIHNoYWRvd2VkIHRvIHRoZSBsb2cgKi8KKyNkZWZpbmUgQkpfTG9nQ3RsCTUJLyogQnVmZmVyIGNvbnRhaW5zIGxvZyBkZXNjcmlwdG9ycyAqLworI2RlZmluZSBCSl9SZXNlcnZlZAk2CS8qIEJ1ZmZlciBpcyByZXNlcnZlZCBmb3IgYWNjZXNzIGJ5IGpvdXJuYWwgKi8KKyNkZWZpbmUgQkpfVHlwZXMJNwogCiBleHRlcm4gaW50IGpiZF9ibG9ja3NfcGVyX3BhZ2Uoc3RydWN0IGlub2RlICppbm9kZSk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgva2VybmVsLmggYi9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oCmluZGV4IDJlNzAwMDYuLmY5Y2Q3YTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva2VybmVsLmgKKysrIGIvaW5jbHVkZS9saW51eC9rZXJuZWwuaApAQCAtMTg3LDkgKzE4Nyw2IEBACiAJX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCAocHJpbnRmLCAxLCAwKSkpOwogYXNtbGlua2FnZSBpbnQgcHJpbnRrKGNvbnN0IGNoYXIgKiBmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSkgX19jb2xkOwotZXh0ZXJuIGludCBsb2dfYnVmX2dldF9sZW4odm9pZCk7Ci1leHRlcm4gaW50IGxvZ19idWZfcmVhZChpbnQgaWR4KTsKLWV4dGVybiBpbnQgbG9nX2J1Zl9jb3B5KGNoYXIgKmRlc3QsIGludCBpZHgsIGludCBsZW4pOwogCiBleHRlcm4gaW50IHByaW50a19yYXRlbGltaXRfamlmZmllczsKIGV4dGVybiBpbnQgcHJpbnRrX3JhdGVsaW1pdF9idXJzdDsKQEAgLTIwNSw5ICsyMDIsNiBAQAogc3RhdGljIGlubGluZSBpbnQgcHJpbnRrKGNvbnN0IGNoYXIgKnMsIC4uLikKIAlfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CiBzdGF0aWMgaW5saW5lIGludCBfX2NvbGQgcHJpbnRrKGNvbnN0IGNoYXIgKnMsIC4uLikgeyByZXR1cm4gMDsgfQotc3RhdGljIGlubGluZSBpbnQgbG9nX2J1Zl9nZXRfbGVuKHZvaWQpIHsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IGxvZ19idWZfcmVhZChpbnQgaWR4KSB7IHJldHVybiAwOyB9Ci1zdGF0aWMgaW5saW5lIGludCBsb2dfYnVmX2NvcHkoY2hhciAqZGVzdCwgaW50IGlkeCwgaW50IGxlbikgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSBpbnQgcHJpbnRrX3JhdGVsaW1pdCh2b2lkKSB7IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBfX3ByaW50a19yYXRlbGltaXQoaW50IHJhdGVsaW1pdF9qaWZmaWVzLCBcCiAJCQkJICAgICBpbnQgcmF0ZWxpbWl0X2J1cnN0KSB7IHJldHVybiAwOyB9CkBAIC0yMTYsNyArMjEwLDcgQEAKIAkJeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCi1leHRlcm4gdm9pZCBfX2F0dHJpYnV0ZV9fKChmb3JtYXQocHJpbnRmLCAxLCAyKSkpCitleHRlcm4gdm9pZCBhc21saW5rYWdlIF9fYXR0cmlidXRlX18oKGZvcm1hdChwcmludGYsIDEsIDIpKSkKIAllYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pOwogCiB1bnNpZ25lZCBsb25nIGludF9zcXJ0KHVuc2lnbmVkIGxvbmcpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rZXJuZWxfc3RhdC5oIGIvaW5jbHVkZS9saW51eC9rZXJuZWxfc3RhdC5oCmluZGV4IGU4ZmZjZTguLmNmOWY0MGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva2VybmVsX3N0YXQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2tlcm5lbF9zdGF0LmgKQEAgLTEsMTEgKzEsMTEgQEAKICNpZm5kZWYgX0xJTlVYX0tFUk5FTF9TVEFUX0gKICNkZWZpbmUgX0xJTlVYX0tFUk5FTF9TVEFUX0gKIAotI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vY3B1dGltZS5oPgogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rcHJvYmVzLmggYi9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaAppbmRleCAxMDM2NjMxLi4wNGEzNTU2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaAorKysgYi9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaApAQCAtMjU5LDYgKzI1OSwxMCBAQAogc3RydWN0IGpwcm9iZTsKIHN0cnVjdCBrcmV0cHJvYmU7CiAKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGtwcm9iZSAqZ2V0X2twcm9iZSh2b2lkICphZGRyKQoreworCXJldHVybiBOVUxMOworfQogc3RhdGljIGlubGluZSBzdHJ1Y3Qga3Byb2JlICprcHJvYmVfcnVubmluZyh2b2lkKQogewogCXJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9saWJhdGEuaCBiL2luY2x1ZGUvbGludXgvbGliYXRhLmgKaW5kZXggZTU3ZTVkMC4uNWIyNDdiOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9saWJhdGEuaAorKysgYi9pbmNsdWRlL2xpbnV4L2xpYmF0YS5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIF9fTElOVVhfTElCQVRBX0hfXwogCiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgpAQCAtMTE1LDcgKzExNiw3IEBACiAJLyogdGFnIEFUQV9NQVhfUVVFVUUgLSAxIGlzIHJlc2VydmVkIGZvciBpbnRlcm5hbCBjb21tYW5kcyAqLwogCUFUQV9NQVhfUVVFVUUJCT0gMzIsCiAJQVRBX1RBR19JTlRFUk5BTAk9IEFUQV9NQVhfUVVFVUUgLSAxLAotCUFUQV9TSE9SVF9QQVVTRQkJPSAoSFogPj4gNikgKyAxLAorCUFUQV9TSE9SVF9QQVVTRQkJPSAxNiwKIAogCUFUQVBJX01BWF9EUkFJTgkJPSAxNiA8PCAxMCwKIApAQCAtMTY4LDYgKzE2OSw3IEBACiAJQVRBX0xGTEFHX0FTU1VNRV9DTEFTUwk9IEFUQV9MRkxBR19BU1NVTUVfQVRBIHwgQVRBX0xGTEFHX0FTU1VNRV9TRU1CLAogCUFUQV9MRkxBR19OT19SRVRSWQk9ICgxIDw8IDUpLCAvKiBkb24ndCByZXRyeSB0aGlzIGxpbmsgKi8KIAlBVEFfTEZMQUdfRElTQUJMRUQJPSAoMSA8PCA2KSwgLyogbGluayBpcyBkaXNhYmxlZCAqLworCUFUQV9MRkxBR19TV19BQ1RJVklUWQk9ICgxIDw8IDcpLCAvKiBrZWVwIGFjdGl2aXR5IHN0YXRzICovCiAKIAkvKiBzdHJ1Y3QgYXRhX3BvcnQgZmxhZ3MgKi8KIAlBVEFfRkxBR19TTEFWRV9QT1NTCT0gKDEgPDwgMCksIC8qIGhvc3Qgc3VwcG9ydHMgc2xhdmUgZGV2ICovCkBAIC0xOTAsNiArMTkyLDEwIEBACiAJQVRBX0ZMQUdfQU4JCT0gKDEgPDwgMTgpLCAvKiBjb250cm9sbGVyIHN1cHBvcnRzIEFOICovCiAJQVRBX0ZMQUdfUE1QCQk9ICgxIDw8IDE5KSwgLyogY29udHJvbGxlciBzdXBwb3J0cyBQTVAgKi8KIAlBVEFfRkxBR19JUE0JCT0gKDEgPDwgMjApLCAvKiBkcml2ZXIgY2FuIGhhbmRsZSBJUE0gKi8KKwlBVEFfRkxBR19FTQkJPSAoMSA8PCAyMSksIC8qIGRyaXZlciBzdXBwb3J0cyBlbmNsb3N1cmUKKwkJCQkJICAgICAgKiBtYW5hZ2VtZW50ICovCisJQVRBX0ZMQUdfU1dfQUNUSVZJVFkJPSAoMSA8PCAyMiksIC8qIGRyaXZlciBzdXBwb3J0cyBzdyBhY3Rpdml0eQorCQkJCQkgICAgICAqIGxlZCAqLwogCiAJLyogVGhlIGZvbGxvd2luZyBmbGFnIGJlbG9uZ3MgdG8gYXAtPnBmbGFncyBidXQgaXMga2VwdCBpbgogCSAqIGFwLT5mbGFncyBiZWNhdXNlIGl0J3MgcmVmZXJlbmNlZCBpbiBtYW55IExMRHMgYW5kIHdpbGwgYmUKQEAgLTIzNCwxNyArMjQwLDE2IEBACiAJLyogYml0cyAyNDozMSBvZiBob3N0LT5mbGFncyBhcmUgcmVzZXJ2ZWQgZm9yIExMRCBzcGVjaWZpYyBmbGFncyAqLwogCiAJLyogdmFyaW91cyBsZW5ndGhzIG9mIHRpbWUgKi8KLQlBVEFfVE1PVVRfQk9PVAkJPSAzMCAqIEhaLAkvKiBoZXVyaXN0aWMgKi8KLQlBVEFfVE1PVVRfQk9PVF9RVUlDSwk9IDcgKiBIWiwJLyogaGV1cmlzdGljICovCi0JQVRBX1RNT1VUX0lOVEVSTkFMCT0gMzAgKiBIWiwKLQlBVEFfVE1PVVRfSU5URVJOQUxfUVVJQ0sgPSA1ICogSFosCisJQVRBX1RNT1VUX0JPT1QJCT0gMzAwMDAsCS8qIGhldXJpc3RpYyAqLworCUFUQV9UTU9VVF9CT09UX1FVSUNLCT0gIDcwMDAsCS8qIGhldXJpc3RpYyAqLworCUFUQV9UTU9VVF9JTlRFUk5BTF9RVUlDSyA9IDUwMDAsCiAKIAkvKiBGSVhNRTogR29WYXVsdCBuZWVkcyAycyBidXQgd2UgY2FuJ3QgYWZmb3JkIHRoYXQgd2l0aG91dAogCSAqIHBhcmFsbGVsIHByb2JpbmcuICA4MDBtcyBpcyBlbm91Z2ggZm9yIGlWRFIgZGlzawogCSAqIEhIRDQyNDAyMEY3U1YwMC4gIEluY3JlYXNlIHRvIDJzZWNzIHdoZW4gcGFyYWxsZWwgcHJvYmluZwogCSAqIGlzIGluIHBsYWNlLgogCSAqLwotCUFUQV9UTU9VVF9GRl9XQUlUCT0gNCAqIEhaIC8gNSwKKwlBVEFfVE1PVVRfRkZfV0FJVAk9ICA4MDAsCiAKIAkvKiBTcGVjIG1hbmRhdGVzIHRvIHdhaXQgZm9yICI+PSAybXMiIGJlZm9yZSBjaGVja2luZyBzdGF0dXMKIAkgKiBhZnRlciByZXNldC4gIFdlIHdhaXQgMTUwbXMsIGJlY2F1c2UgdGhhdCB3YXMgdGhlIG1hZ2ljCkBAIC0yNTYsMTQgKzI2MSwxNCBAQAogCSAqCiAJICogT2xkIGRyaXZlcnMvaWRlIHVzZXMgdGhlIDJtUyBydWxlIGFuZCB0aGVuIHdhaXRzIGZvciByZWFkeS4KIAkgKi8KLQlBVEFfV0FJVF9BRlRFUl9SRVNFVF9NU0VDUyA9IDE1MCwKKwlBVEFfV0FJVF9BRlRFUl9SRVNFVAk9ICAxNTAsCiAKIAkvKiBJZiBQTVAgaXMgc3VwcG9ydGVkLCB3ZSBoYXZlIHRvIGRvIGZvbGxvdy11cCBTUlNULiAgQXMgc29tZQogCSAqIFBNUHMgZG9uJ3Qgc2VuZCBEMkggUmVnIEZJUyBhZnRlciBoYXJkcmVzZXQsIExMRHMgYXJlCiAJICogYWR2aXNlZCB0byB3YWl0IG9ubHkgZm9yIHRoZSBmb2xsb3dpbmcgZHVyYXRpb24gYmVmb3JlCiAJICogZG9pbmcgU1JTVC4KIAkgKi8KLQlBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVAk9IDEgKiBIWiwKKwlBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVAk9IDEwMDAsCiAKIAkvKiBBVEEgYnVzIHN0YXRlcyAqLwogCUJVU19VTktOT1dOCQk9IDAsCkBAIC0zNDAsNiArMzQ1LDExIEBACiAKIAlTQVRBX1BNUF9SV19USU1FT1VUCT0gMzAwMCwJCS8qIFBNUCByZWFkL3dyaXRlIHRpbWVvdXQgKi8KIAorCS8qIFRoaXMgc2hvdWxkIG1hdGNoIHRoZSBhY3R1YWwgdGFibGUgc2l6ZSBvZgorCSAqIGF0YV9laF9jbWRfdGltZW91dF90YWJsZSBpbiBsaWJhdGEtZWguYy4KKwkgKi8KKwlBVEFfRUhfQ01EX1RJTUVPVVRfVEFCTEVfU0laRSA9IDUsCisKIAkvKiBIb3JrYWdlIHR5cGVzLiBNYXkgYmUgc2V0IGJ5IGxpYmF0YSBvciBjb250cm9sbGVyIG9uIGRyaXZlcwogCSAgIChzb21lIGhvcmthZ2UgbWF5IGJlIGRyaXZlL2NvbnRyb2xsZXIgcGFpciBkZXBlbmRhbnQgKi8KIApAQCAtNDQxLDYgKzQ1MSwxNSBAQAogCU1FRElVTV9QT1dFUiwKIH07CiBleHRlcm4gc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfbGlua19wb3dlcl9tYW5hZ2VtZW50X3BvbGljeTsKK2V4dGVybiBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9lbV9tZXNzYWdlX3R5cGU7CitleHRlcm4gc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfZW1fbWVzc2FnZTsKK2V4dGVybiBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9zd19hY3Rpdml0eTsKKworZW51bSBzd19hY3Rpdml0eSB7CisJT0ZGLAorCUJMSU5LX09OLAorCUJMSU5LX09GRiwKK307CiAKICNpZmRlZiBDT05GSUdfQVRBX1NGRgogc3RydWN0IGF0YV9pb3BvcnRzIHsKQEAgLTU5NywxMCArNjE2LDE0IEBACiBzdHJ1Y3QgYXRhX2VoX2NvbnRleHQgewogCXN0cnVjdCBhdGFfZWhfaW5mbwlpOwogCWludAkJCXRyaWVzW0FUQV9NQVhfREVWSUNFU107CisJaW50CQkJY21kX3RpbWVvdXRfaWR4W0FUQV9NQVhfREVWSUNFU10KKwkJCQkJICAgICAgIFtBVEFfRUhfQ01EX1RJTUVPVVRfVEFCTEVfU0laRV07CiAJdW5zaWduZWQgaW50CQljbGFzc2VzW0FUQV9NQVhfREVWSUNFU107CiAJdW5zaWduZWQgaW50CQlkaWRfcHJvYmVfbWFzazsKIAl1bnNpZ25lZCBpbnQJCXNhdmVkX25jcV9lbmFibGVkOwogCXU4CQkJc2F2ZWRfeGZlcl9tb2RlW0FUQV9NQVhfREVWSUNFU107CisJLyogdGltZXN0YW1wIGZvciB0aGUgbGFzdCByZXNldCBhdHRlbXB0IG9yIHN1Y2Nlc3MgKi8KKwl1bnNpZ25lZCBsb25nCQlsYXN0X3Jlc2V0OwogfTsKIAogc3RydWN0IGF0YV9hY3BpX2RyaXZlCkBAIC02OTIsNiArNzE1LDcgQEAKIAlzdHJ1Y3QgdGltZXJfbGlzdAlmYXN0ZHJhaW5fdGltZXI7CiAJdW5zaWduZWQgbG9uZwkJZmFzdGRyYWluX2NudDsKIAorCWludAkJCWVtX21lc3NhZ2VfdHlwZTsKIAl2b2lkCQkJKnByaXZhdGVfZGF0YTsKIAogI2lmZGVmIENPTkZJR19BVEFfQUNQSQpAQCAtNzgzLDYgKzgwNywxMiBAQAogCXU4ICAgKCpibWRtYV9zdGF0dXMpKHN0cnVjdCBhdGFfcG9ydCAqYXApOwogI2VuZGlmIC8qIENPTkZJR19BVEFfU0ZGICovCiAKKwlzc2l6ZV90ICgqZW1fc2hvdykoc3RydWN0IGF0YV9wb3J0ICphcCwgY2hhciAqYnVmKTsKKwlzc2l6ZV90ICgqZW1fc3RvcmUpKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCQkgICAgc2l6ZV90IHNpemUpOworCXNzaXplX3QgKCpzd19hY3Rpdml0eV9zaG93KShzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBjaGFyICpidWYpOworCXNzaXplX3QgKCpzd19hY3Rpdml0eV9zdG9yZSkoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwKKwkJCQkgICAgIGVudW0gc3dfYWN0aXZpdHkgdmFsKTsKIAkvKgogCSAqIE9ic29sZXRlCiAJICovCkBAIC04OTUsOCArOTI1LDcgQEAKICNlbmRpZgogZXh0ZXJuIGludCBhdGFfcmF0ZWxpbWl0KHZvaWQpOwogZXh0ZXJuIHUzMiBhdGFfd2FpdF9yZWdpc3Rlcih2b2lkIF9faW9tZW0gKnJlZywgdTMyIG1hc2ssIHUzMiB2YWwsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWxfbXNlYywKLQkJCSAgICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0X21zZWMpOworCQkJICAgICB1bnNpZ25lZCBsb25nIGludGVydmFsLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpOwogZXh0ZXJuIGludCBhdGFwaV9jbWRfdHlwZSh1OCBvcGNvZGUpOwogZXh0ZXJuIHZvaWQgYXRhX3RmX3RvX2Zpcyhjb25zdCBzdHJ1Y3QgYXRhX3Rhc2tmaWxlICp0ZiwKIAkJCSAgdTggcG1wLCBpbnQgaXNfY21kLCB1OCAqZmlzKTsKQEAgLTEzODksNiArMTQxOCwxMiBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgYXRhX2RlYWRsaW5lKHVuc2lnbmVkIGxvbmcgZnJvbV9qaWZmaWVzLAorCQkJCQkgdW5zaWduZWQgbG9uZyB0aW1lb3V0X21zZWNzKQoreworCXJldHVybiBmcm9tX2ppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKHRpbWVvdXRfbXNlY3MpOworfQorCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUE1QIC0gZHJpdmVycy9hdGEvbGliYXRhLXBtcC5jCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xpbmthZ2UuaCBiL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCmluZGV4IDIxMTk2MTAuLjU2YmEzNzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCkBAIC0xLDggKzEsMTEgQEAKICNpZm5kZWYgX0xJTlVYX0xJTktBR0VfSAogI2RlZmluZSBfTElOVVhfTElOS0FHRV9ICiAKKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgogI2luY2x1ZGUgPGFzbS9saW5rYWdlLmg+CiAKKyNkZWZpbmUgbm90cmFjZSBfX2F0dHJpYnV0ZV9fKChub19pbnN0cnVtZW50X2Z1bmN0aW9uKSkKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiAjZGVmaW5lIENQUF9BU01MSU5LQUdFIGV4dGVybiAiQyIKICNlbHNlCkBAIC0xNyw2ICsyMCw5IEBACiAjIGRlZmluZSBhc21yZWdwYXJtCiAjZW5kaWYKIAorI2RlZmluZSBfX3BhZ2VfYWxpZ25lZF9kYXRhCV9fc2VjdGlvbiguZGF0YS5wYWdlX2FsaWduZWQpIF9fYWxpZ25lZChQQUdFX1NJWkUpCisjZGVmaW5lIF9fcGFnZV9hbGlnbmVkX2JzcwlfX3NlY3Rpb24oLmJzcy5wYWdlX2FsaWduZWQpIF9fYWxpZ25lZChQQUdFX1NJWkUpCisKIC8qCiAgKiBUaGlzIGlzIHVzZWQgYnkgYXJjaGl0ZWN0dXJlcyB0byBrZWVwIGFyZ3VtZW50cyBvbiB0aGUgc3RhY2sKICAqIHVudG91Y2hlZCBieSB0aGUgY29tcGlsZXIgYnkga2VlcGluZyB0aGVtIGxpdmUgdW50aWwgdGhlIGVuZC4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbGlzdC5oIGIvaW5jbHVkZS9saW51eC9saXN0LmgKaW5kZXggMDhjZjRmNi4uMTM5ZWM0MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9saXN0LmgKKysrIGIvaW5jbHVkZS9saW51eC9saXN0LmgKQEAgLTg1LDY1ICs4NSw2IEBACiB9CiAKIC8qCi0gKiBJbnNlcnQgYSBuZXcgZW50cnkgYmV0d2VlbiB0d28ga25vd24gY29uc2VjdXRpdmUgZW50cmllcy4KLSAqCi0gKiBUaGlzIGlzIG9ubHkgZm9yIGludGVybmFsIGxpc3QgbWFuaXB1bGF0aW9uIHdoZXJlIHdlIGtub3cKLSAqIHRoZSBwcmV2L25leHQgZW50cmllcyBhbHJlYWR5IQotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19saXN0X2FkZF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqIG5ldywKLQkJc3RydWN0IGxpc3RfaGVhZCAqIHByZXYsIHN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0KQotewotCW5ldy0+bmV4dCA9IG5leHQ7Ci0JbmV3LT5wcmV2ID0gcHJldjsKLQlzbXBfd21iKCk7Ci0JbmV4dC0+cHJldiA9IG5ldzsKLQlwcmV2LT5uZXh0ID0gbmV3OwotfQotCi0vKioKLSAqIGxpc3RfYWRkX3JjdSAtIGFkZCBhIG5ldyBlbnRyeSB0byByY3UtcHJvdGVjdGVkIGxpc3QKLSAqIEBuZXc6IG5ldyBlbnRyeSB0byBiZSBhZGRlZAotICogQGhlYWQ6IGxpc3QgaGVhZCB0byBhZGQgaXQgYWZ0ZXIKLSAqCi0gKiBJbnNlcnQgYSBuZXcgZW50cnkgYWZ0ZXIgdGhlIHNwZWNpZmllZCBoZWFkLgotICogVGhpcyBpcyBnb29kIGZvciBpbXBsZW1lbnRpbmcgc3RhY2tzLgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCi0gKiBvciBsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCkuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2FkZF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQotewotCV9fbGlzdF9hZGRfcmN1KG5ldywgaGVhZCwgaGVhZC0+bmV4dCk7Ci19Ci0KLS8qKgotICogbGlzdF9hZGRfdGFpbF9yY3UgLSBhZGQgYSBuZXcgZW50cnkgdG8gcmN1LXByb3RlY3RlZCBsaXN0Ci0gKiBAbmV3OiBuZXcgZW50cnkgdG8gYmUgYWRkZWQKLSAqIEBoZWFkOiBsaXN0IGhlYWQgdG8gYWRkIGl0IGJlZm9yZQotICoKLSAqIEluc2VydCBhIG5ldyBlbnRyeSBiZWZvcmUgdGhlIHNwZWNpZmllZCBoZWFkLgotICogVGhpcyBpcyB1c2VmdWwgZm9yIGltcGxlbWVudGluZyBxdWV1ZXMuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgbGlzdF9hZGRfdGFpbF9yY3UoKQotICogb3IgbGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9hZGRfdGFpbF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LAotCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQotewotCV9fbGlzdF9hZGRfcmN1KG5ldywgaGVhZC0+cHJldiwgaGVhZCk7Ci19Ci0KLS8qCiAgKiBEZWxldGUgYSBsaXN0IGVudHJ5IGJ5IG1ha2luZyB0aGUgcHJldi9uZXh0IGVudHJpZXMKICAqIHBvaW50IHRvIGVhY2ggb3RoZXIuCiAgKgpAQCAtMTc0LDM2ICsxMTUsNiBAQAogI2VuZGlmCiAKIC8qKgotICogbGlzdF9kZWxfcmN1IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGxpc3Qgd2l0aG91dCByZS1pbml0aWFsaXphdGlvbgotICogQGVudHJ5OiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KLSAqCi0gKiBOb3RlOiBsaXN0X2VtcHR5KCkgb24gZW50cnkgZG9lcyBub3QgcmV0dXJuIHRydWUgYWZ0ZXIgdGhpcywKLSAqIHRoZSBlbnRyeSBpcyBpbiBhbiB1bmRlZmluZWQgc3RhdGUuIEl0IGlzIHVzZWZ1bCBmb3IgUkNVIGJhc2VkCi0gKiBsb2NrZnJlZSB0cmF2ZXJzYWwuCi0gKgotICogSW4gcGFydGljdWxhciwgaXQgbWVhbnMgdGhhdCB3ZSBjYW4gbm90IHBvaXNvbiB0aGUgZm9yd2FyZAotICogcG9pbnRlcnMgdGhhdCBtYXkgc3RpbGwgYmUgdXNlZCBmb3Igd2Fsa2luZyB0aGUgbGlzdC4KLSAqCi0gKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5Ci0gKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKLSAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBsaXN0X2RlbF9yY3UoKQotICogb3IgbGlzdF9hZGRfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgotICoKLSAqIE5vdGUgdGhhdCB0aGUgY2FsbGVyIGlzIG5vdCBwZXJtaXR0ZWQgdG8gaW1tZWRpYXRlbHkgZnJlZQotICogdGhlIG5ld2x5IGRlbGV0ZWQgZW50cnkuICBJbnN0ZWFkLCBlaXRoZXIgc3luY2hyb25pemVfcmN1KCkKLSAqIG9yIGNhbGxfcmN1KCkgbXVzdCBiZSB1c2VkIHRvIGRlZmVyIGZyZWVpbmcgdW50aWwgYW4gUkNVCi0gKiBncmFjZSBwZXJpb2QgaGFzIGVsYXBzZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2RlbF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqZW50cnkpCi17Ci0JX19saXN0X2RlbChlbnRyeS0+cHJldiwgZW50cnktPm5leHQpOwotCWVudHJ5LT5wcmV2ID0gTElTVF9QT0lTT04yOwotfQotCi0vKioKICAqIGxpc3RfcmVwbGFjZSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKICAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAogICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKQEAgLTIyNywyNSArMTM4LDYgQEAKIH0KIAogLyoqCi0gKiBsaXN0X3JlcGxhY2VfcmN1IC0gcmVwbGFjZSBvbGQgZW50cnkgYnkgbmV3IG9uZQotICogQG9sZCA6IHRoZSBlbGVtZW50IHRvIGJlIHJlcGxhY2VkCi0gKiBAbmV3IDogdGhlIG5ldyBlbGVtZW50IHRvIGluc2VydAotICoKLSAqIFRoZSBAb2xkIGVudHJ5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgQG5ldyBlbnRyeSBhdG9taWNhbGx5LgotICogTm90ZTogQG9sZCBzaG91bGQgbm90IGJlIGVtcHR5LgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9yZXBsYWNlX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpvbGQsCi0JCQkJc3RydWN0IGxpc3RfaGVhZCAqbmV3KQotewotCW5ldy0+bmV4dCA9IG9sZC0+bmV4dDsKLQluZXctPnByZXYgPSBvbGQtPnByZXY7Ci0Jc21wX3dtYigpOwotCW5ldy0+bmV4dC0+cHJldiA9IG5ldzsKLQluZXctPnByZXYtPm5leHQgPSBuZXc7Ci0Jb2xkLT5wcmV2ID0gTElTVF9QT0lTT04yOwotfQotCi0vKioKICAqIGxpc3RfZGVsX2luaXQgLSBkZWxldGVzIGVudHJ5IGZyb20gbGlzdCBhbmQgcmVpbml0aWFsaXplIGl0LgogICogQGVudHJ5OiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KICAqLwpAQCAtMzY5LDYyICsyNjEsNiBAQAogfQogCiAvKioKLSAqIGxpc3Rfc3BsaWNlX2luaXRfcmN1IC0gc3BsaWNlIGFuIFJDVS1wcm90ZWN0ZWQgbGlzdCBpbnRvIGFuIGV4aXN0aW5nIGxpc3QuCi0gKiBAbGlzdDoJdGhlIFJDVS1wcm90ZWN0ZWQgbGlzdCB0byBzcGxpY2UKLSAqIEBoZWFkOgl0aGUgcGxhY2UgaW4gdGhlIGxpc3QgdG8gc3BsaWNlIHRoZSBmaXJzdCBsaXN0IGludG8KLSAqIEBzeW5jOglmdW5jdGlvbiB0byBzeW5jOiBzeW5jaHJvbml6ZV9yY3UoKSwgc3luY2hyb25pemVfc2NoZWQoKSwgLi4uCi0gKgotICogQGhlYWQgY2FuIGJlIFJDVS1yZWFkIHRyYXZlcnNlZCBjb25jdXJyZW50bHkgd2l0aCB0aGlzIGZ1bmN0aW9uLgotICoKLSAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGJsb2Nrcy4KLSAqCi0gKiBJbXBvcnRhbnQgbm90ZTogdGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgYWN0aW9uIGlzIG5lY2Vzc2FyeSB0bwotICoJcHJldmVudCBhbnkgb3RoZXIgdXBkYXRlcyB0byBAaGVhZC4gIEluIHByaW5jaXBsZSwgaXQgaXMgcG9zc2libGUKLSAqCXRvIG1vZGlmeSB0aGUgbGlzdCBhcyBzb29uIGFzIHN5bmMoKSBiZWdpbnMgZXhlY3V0aW9uLgotICoJSWYgdGhpcyBzb3J0IG9mIHRoaW5nIGJlY29tZXMgbmVjZXNzYXJ5LCBhbiBhbHRlcm5hdGl2ZSB2ZXJzaW9uCi0gKgliYXNlZCBvbiBjYWxsX3JjdSgpIGNvdWxkIGJlIGNyZWF0ZWQuICBCdXQgb25seSBpZiAtcmVhbGx5LQotICoJbmVlZGVkIC0tIHRoZXJlIGlzIG5vIHNob3J0YWdlIG9mIFJDVSBBUEkgbWVtYmVycy4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGxpc3Rfc3BsaWNlX2luaXRfcmN1KHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QsCi0JCQkJCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsCi0JCQkJCXZvaWQgKCpzeW5jKSh2b2lkKSkKLXsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpmaXJzdCA9IGxpc3QtPm5leHQ7Ci0Jc3RydWN0IGxpc3RfaGVhZCAqbGFzdCA9IGxpc3QtPnByZXY7Ci0Jc3RydWN0IGxpc3RfaGVhZCAqYXQgPSBoZWFkLT5uZXh0OwotCi0JaWYgKGxpc3RfZW1wdHkoaGVhZCkpCi0JCXJldHVybjsKLQotCS8qICJmaXJzdCIgYW5kICJsYXN0IiB0cmFja2luZyBsaXN0LCBzbyBpbml0aWFsaXplIGl0LiAqLwotCi0JSU5JVF9MSVNUX0hFQUQobGlzdCk7Ci0KLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQsIHRoZSBsaXN0IGJvZHkgc3RpbGwgcG9pbnRzIHRvIHRoZSBzb3VyY2UgbGlzdC4KLQkgKiBXYWl0IGZvciBhbnkgcmVhZGVycyB0byBmaW5pc2ggdXNpbmcgdGhlIGxpc3QgYmVmb3JlIHNwbGljaW5nCi0JICogdGhlIGxpc3QgYm9keSBpbnRvIHRoZSBuZXcgbGlzdC4gIEFueSBuZXcgcmVhZGVycyB3aWxsIHNlZQotCSAqIGFuIGVtcHR5IGxpc3QuCi0JICovCi0KLQlzeW5jKCk7Ci0KLQkvKgotCSAqIFJlYWRlcnMgYXJlIGZpbmlzaGVkIHdpdGggdGhlIHNvdXJjZSBsaXN0LCBzbyBwZXJmb3JtIHNwbGljZS4KLQkgKiBUaGUgb3JkZXIgaXMgaW1wb3J0YW50IGlmIHRoZSBuZXcgbGlzdCBpcyBnbG9iYWwgYW5kIGFjY2Vzc2libGUKLQkgKiB0byBjb25jdXJyZW50IFJDVSByZWFkZXJzLiAgTm90ZSB0aGF0IFJDVSByZWFkZXJzIGFyZSBub3QKLQkgKiBwZXJtaXR0ZWQgdG8gdHJhdmVyc2UgdGhlIHByZXYgcG9pbnRlcnMgd2l0aG91dCBleGNsdWRpbmcKLQkgKiB0aGlzIGZ1bmN0aW9uLgotCSAqLwotCi0JbGFzdC0+bmV4dCA9IGF0OwotCXNtcF93bWIoKTsKLQloZWFkLT5uZXh0ID0gZmlyc3Q7Ci0JZmlyc3QtPnByZXYgPSBoZWFkOwotCWF0LT5wcmV2ID0gbGFzdDsKLX0KLQotLyoqCiAgKiBsaXN0X2VudHJ5IC0gZ2V0IHRoZSBzdHJ1Y3QgZm9yIHRoaXMgZW50cnkKICAqIEBwdHI6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCBwb2ludGVyLgogICogQHR5cGU6CXRoZSB0eXBlIG9mIHRoZSBzdHJ1Y3QgdGhpcyBpcyBlbWJlZGRlZCBpbi4KQEAgLTYyOSw1NyArNDY1LDYgQEAKIAkgICAgICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7IAkJCQkJXAogCSAgICAgcG9zID0gbiwgbiA9IGxpc3RfZW50cnkobi0+bWVtYmVyLnByZXYsIHR5cGVvZigqbiksIG1lbWJlcikpCiAKLS8qKgotICogbGlzdF9mb3JfZWFjaF9yY3UJLQlpdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0Ci0gKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCi0gKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KLSAqCi0gKiBUaGlzIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtYXkgc2FmZWx5IHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmVzIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKLSAqIGFzIGxvbmcgYXMgdGhlIHRyYXZlcnNhbCBpcyBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KLSAqLwotI2RlZmluZSBsaXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCi0JCXByZWZldGNoKHBvcy0+bmV4dCksIHBvcyAhPSAoaGVhZCk7IFwKLQkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCi0KLSNkZWZpbmUgX19saXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCi0JCXBvcyAhPSAoaGVhZCk7IFwKLQkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCi0KLS8qKgotICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UJLQlpdGVyYXRlIG92ZXIgcmN1IGxpc3Qgb2YgZ2l2ZW4gdHlwZQotICogQHBvczoJdGhlIHR5cGUgKiB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KLSAqIEBoZWFkOgl0aGUgaGVhZCBmb3IgeW91ciBsaXN0LgotICogQG1lbWJlcjoJdGhlIG5hbWUgb2YgdGhlIGxpc3Rfc3RydWN0IHdpdGhpbiB0aGUgc3RydWN0LgotICoKLSAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBsaXN0X2FkZF9yY3UoKQotICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgotICovCi0jZGVmaW5lIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHBvcywgaGVhZCwgbWVtYmVyKSBcCi0JZm9yIChwb3MgPSBsaXN0X2VudHJ5KHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpLCB0eXBlb2YoKnBvcyksIG1lbWJlcik7IFwKLQkJcHJlZmV0Y2gocG9zLT5tZW1iZXIubmV4dCksICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7IFwKLQkJcG9zID0gbGlzdF9lbnRyeShyY3VfZGVyZWZlcmVuY2UocG9zLT5tZW1iZXIubmV4dCksIHR5cGVvZigqcG9zKSwgbWVtYmVyKSkKLQotCi0vKioKLSAqIGxpc3RfZm9yX2VhY2hfY29udGludWVfcmN1Ci0gKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCi0gKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KLSAqCi0gKiBJdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0LCBjb250aW51aW5nIGFmdGVyIGN1cnJlbnQgcG9pbnQuCi0gKgotICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCi0gKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCi0gKi8KLSNkZWZpbmUgbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UocG9zLCBoZWFkKSBcCi0JZm9yICgocG9zKSA9IHJjdV9kZXJlZmVyZW5jZSgocG9zKS0+bmV4dCk7IFwKLQkJcHJlZmV0Y2goKHBvcyktPm5leHQpLCAocG9zKSAhPSAoaGVhZCk7IFwKLQkJKHBvcykgPSByY3VfZGVyZWZlcmVuY2UoKHBvcyktPm5leHQpKQotCiAvKgogICogRG91YmxlIGxpbmtlZCBsaXN0cyB3aXRoIGEgc2luZ2xlIHBvaW50ZXIgbGlzdCBoZWFkLgogICogTW9zdGx5IHVzZWZ1bCBmb3IgaGFzaCB0YWJsZXMgd2hlcmUgdGhlIHR3byBwb2ludGVyIGxpc3QgaGVhZCBpcwpAQCAtNzMwLDMxICs1MTUsNiBAQAogCW4tPnBwcmV2ID0gTElTVF9QT0lTT04yOwogfQogCi0vKioKLSAqIGhsaXN0X2RlbF9yY3UgLSBkZWxldGVzIGVudHJ5IGZyb20gaGFzaCBsaXN0IHdpdGhvdXQgcmUtaW5pdGlhbGl6YXRpb24KLSAqIEBuOiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgaGFzaCBsaXN0LgotICoKLSAqIE5vdGU6IGxpc3RfdW5oYXNoZWQoKSBvbiBlbnRyeSBkb2VzIG5vdCByZXR1cm4gdHJ1ZSBhZnRlciB0aGlzLAotICogdGhlIGVudHJ5IGlzIGluIGFuIHVuZGVmaW5lZCBzdGF0ZS4gSXQgaXMgdXNlZnVsIGZvciBSQ1UgYmFzZWQKLSAqIGxvY2tmcmVlIHRyYXZlcnNhbC4KLSAqCi0gKiBJbiBwYXJ0aWN1bGFyLCBpdCBtZWFucyB0aGF0IHdlIGNhbiBub3QgcG9pc29uIHRoZSBmb3J3YXJkCi0gKiBwb2ludGVycyB0aGF0IG1heSBzdGlsbCBiZSB1c2VkIGZvciB3YWxraW5nIHRoZSBoYXNoIGxpc3QuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKLSAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KCkuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9kZWxfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuKQotewotCV9faGxpc3RfZGVsKG4pOwotCW4tPnBwcmV2ID0gTElTVF9QT0lTT04yOwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfZGVsX2luaXQoc3RydWN0IGhsaXN0X25vZGUgKm4pCiB7CiAJaWYgKCFobGlzdF91bmhhc2hlZChuKSkgewpAQCAtNzYzLDI3ICs1MjMsNiBAQAogCX0KIH0KIAotLyoqCi0gKiBobGlzdF9yZXBsYWNlX3JjdSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKLSAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAotICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKLSAqCi0gKiBUaGUgQG9sZCBlbnRyeSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIEBuZXcgZW50cnkgYXRvbWljYWxseS4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X3JlcGxhY2VfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpvbGQsCi0JCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXcpCi17Ci0Jc3RydWN0IGhsaXN0X25vZGUgKm5leHQgPSBvbGQtPm5leHQ7Ci0KLQluZXctPm5leHQgPSBuZXh0OwotCW5ldy0+cHByZXYgPSBvbGQtPnBwcmV2OwotCXNtcF93bWIoKTsKLQlpZiAobmV4dCkKLQkJbmV3LT5uZXh0LT5wcHJldiA9ICZuZXctPm5leHQ7Ci0JKm5ldy0+cHByZXYgPSBuZXc7Ci0Jb2xkLT5wcHJldiA9IExJU1RfUE9JU09OMjsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9oZWFkKHN0cnVjdCBobGlzdF9ub2RlICpuLCBzdHJ1Y3QgaGxpc3RfaGVhZCAqaCkKIHsKIAlzdHJ1Y3QgaGxpc3Rfbm9kZSAqZmlyc3QgPSBoLT5maXJzdDsKQEAgLTc5NCwzOCArNTMzLDYgQEAKIAluLT5wcHJldiA9ICZoLT5maXJzdDsKIH0KIAotCi0vKioKLSAqIGhsaXN0X2FkZF9oZWFkX3JjdQotICogQG46IHRoZSBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgotICogQGg6IHRoZSBsaXN0IHRvIGFkZCB0by4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QsCi0gKiB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCi0gKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQotICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4gIFJlZ2FyZGxlc3Mgb2YgdGhlIHR5cGUgb2YgQ1BVLCB0aGUKLSAqIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtdXN0IGJlIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2hlYWRfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuLAotCQkJCQlzdHJ1Y3QgaGxpc3RfaGVhZCAqaCkKLXsKLQlzdHJ1Y3QgaGxpc3Rfbm9kZSAqZmlyc3QgPSBoLT5maXJzdDsKLQluLT5uZXh0ID0gZmlyc3Q7Ci0Jbi0+cHByZXYgPSAmaC0+Zmlyc3Q7Ci0Jc21wX3dtYigpOwotCWlmIChmaXJzdCkKLQkJZmlyc3QtPnBwcmV2ID0gJm4tPm5leHQ7Ci0JaC0+Zmlyc3QgPSBuOwotfQotCiAvKiBuZXh0IG11c3QgYmUgIT0gTlVMTCAqLwogc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9iZWZvcmUoc3RydWN0IGhsaXN0X25vZGUgKm4sCiAJCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXh0KQpAQCAtODQ3LDYzICs1NTQsNiBAQAogCQluZXh0LT5uZXh0LT5wcHJldiAgPSAmbmV4dC0+bmV4dDsKIH0KIAotLyoqCi0gKiBobGlzdF9hZGRfYmVmb3JlX3JjdQotICogQG46IHRoZSBuZXcgZWxlbWVudCB0byBhZGQgdG8gdGhlIGhhc2ggbGlzdC4KLSAqIEBuZXh0OiB0aGUgZXhpc3RpbmcgZWxlbWVudCB0byBhZGQgdGhlIG5ldyBlbGVtZW50IGJlZm9yZS4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QKLSAqIGJlZm9yZSB0aGUgc3BlY2lmaWVkIG5vZGUgd2hpbGUgcGVybWl0dGluZyByYWNpbmcgdHJhdmVyc2Fscy4KLSAqCi0gKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5Ci0gKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKLSAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQotICogb3IgaGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgotICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcwotICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksIHVzZWQgdG8gcHJldmVudCBtZW1vcnktY29uc2lzdGVuY3kKLSAqIHByb2JsZW1zIG9uIEFscGhhIENQVXMuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9hZGRfYmVmb3JlX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqbiwKLQkJCQkJc3RydWN0IGhsaXN0X25vZGUgKm5leHQpCi17Ci0Jbi0+cHByZXYgPSBuZXh0LT5wcHJldjsKLQluLT5uZXh0ID0gbmV4dDsKLQlzbXBfd21iKCk7Ci0JbmV4dC0+cHByZXYgPSAmbi0+bmV4dDsKLQkqKG4tPnBwcmV2KSA9IG47Ci19Ci0KLS8qKgotICogaGxpc3RfYWRkX2FmdGVyX3JjdQotICogQHByZXY6IHRoZSBleGlzdGluZyBlbGVtZW50IHRvIGFkZCB0aGUgbmV3IGVsZW1lbnQgYWZ0ZXIuCi0gKiBAbjogdGhlIG5ldyBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgotICoKLSAqIERlc2NyaXB0aW9uOgotICogQWRkcyB0aGUgc3BlY2lmaWVkIGVsZW1lbnQgdG8gdGhlIHNwZWNpZmllZCBobGlzdAotICogYWZ0ZXIgdGhlIHNwZWNpZmllZCBub2RlIHdoaWxlIHBlcm1pdHRpbmcgcmFjaW5nIHRyYXZlcnNhbHMuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKLSAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLCB1c2VkIHRvIHByZXZlbnQgbWVtb3J5LWNvbnNpc3RlbmN5Ci0gKiBwcm9ibGVtcyBvbiBBbHBoYSBDUFVzLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2FmdGVyX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqcHJldiwKLQkJCQkgICAgICAgc3RydWN0IGhsaXN0X25vZGUgKm4pCi17Ci0Jbi0+bmV4dCA9IHByZXYtPm5leHQ7Ci0Jbi0+cHByZXYgPSAmcHJldi0+bmV4dDsKLQlzbXBfd21iKCk7Ci0JcHJldi0+bmV4dCA9IG47Ci0JaWYgKG4tPm5leHQpCi0JCW4tPm5leHQtPnBwcmV2ID0gJm4tPm5leHQ7Ci19Ci0KICNkZWZpbmUgaGxpc3RfZW50cnkocHRyLCB0eXBlLCBtZW1iZXIpIGNvbnRhaW5lcl9vZihwdHIsdHlwZSxtZW1iZXIpCiAKICNkZWZpbmUgaGxpc3RfZm9yX2VhY2gocG9zLCBoZWFkKSBcCkBAIC05NjQsMjEgKzYxNCw0IEBACiAJCSh7IHRwb3MgPSBobGlzdF9lbnRyeShwb3MsIHR5cGVvZigqdHBvcyksIG1lbWJlcik7IDE7fSk7IFwKIAkgICAgIHBvcyA9IG4pCiAKLS8qKgotICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1IC0gaXRlcmF0ZSBvdmVyIHJjdSBsaXN0IG9mIGdpdmVuIHR5cGUKLSAqIEB0cG9zOgl0aGUgdHlwZSAqIHRvIHVzZSBhcyBhIGxvb3AgY3Vyc29yLgotICogQHBvczoJdGhlICZzdHJ1Y3QgaGxpc3Rfbm9kZSB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KLSAqIEBoZWFkOgl0aGUgaGVhZCBmb3IgeW91ciBsaXN0LgotICogQG1lbWJlcjoJdGhlIG5hbWUgb2YgdGhlIGhsaXN0X25vZGUgd2l0aGluIHRoZSBzdHJ1Y3QuCi0gKgotICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCi0gKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCi0gKi8KLSNkZWZpbmUgaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHRwb3MsIHBvcywgaGVhZCwgbWVtYmVyKQkJIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPmZpcnN0KTsJCQkgXAotCSAgICAgICAgcG9zICYmICh7IHByZWZldGNoKHBvcy0+bmV4dCk7IDE7fSkgJiYJCQkgXAotCQkoeyB0cG9zID0gaGxpc3RfZW50cnkocG9zLCB0eXBlb2YoKnRwb3MpLCBtZW1iZXIpOyAxO30pOyBcCi0JICAgICBwb3MgPSByY3VfZGVyZWZlcmVuY2UocG9zLT5uZXh0KSkKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xtX2ludGVyZmFjZS5oIGIvaW5jbHVkZS9saW51eC9sbV9pbnRlcmZhY2UuaAppbmRleCBmMjc0OTk3Li4yZWQ4ZmExIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2xtX2ludGVyZmFjZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbG1faW50ZXJmYWNlLmgKQEAgLTEyMiwxMSArMTIyLDkgQEAKICAqLwogCiAjZGVmaW5lIExNX09VVF9TVF9NQVNLCQkweDAwMDAwMDAzCi0jZGVmaW5lIExNX09VVF9DQUNIRUFCTEUJMHgwMDAwMDAwNAogI2RlZmluZSBMTV9PVVRfQ0FOQ0VMRUQJCTB4MDAwMDAwMDgKICNkZWZpbmUgTE1fT1VUX0FTWU5DCQkweDAwMDAwMDgwCiAjZGVmaW5lIExNX09VVF9FUlJPUgkJMHgwMDAwMDEwMAotI2RlZmluZSBMTV9PVVRfQ09OVl9ERUFETEsJMHgwMDAwMDIwMAogCiAvKgogICogbG1fY2FsbGJhY2tfdCB0eXBlcwpAQCAtMTM4LDkgKzEzNiw2IEBACiAgKiBMTV9DQl9ORUVEX1JFQ09WRVJZCiAgKiBUaGUgZ2l2ZW4gam91cm5hbCBuZWVkcyB0byBiZSByZWNvdmVyZWQuCiAgKgotICogTE1fQ0JfRFJPUExPQ0tTCi0gKiBSZWR1Y2UgdGhlIG51bWJlciBvZiBjYWNoZWQgbG9ja3MuCi0gKgogICogTE1fQ0JfQVNZTkMKICAqIFRoZSBnaXZlbiBsb2NrIGhhcyBiZWVuIGdyYW50ZWQuCiAgKi8KQEAgLTE0OSw3ICsxNDQsNiBAQAogI2RlZmluZSBMTV9DQl9ORUVEX0QJCTI1OAogI2RlZmluZSBMTV9DQl9ORUVEX1MJCTI1OQogI2RlZmluZSBMTV9DQl9ORUVEX1JFQ09WRVJZCTI2MAotI2RlZmluZSBMTV9DQl9EUk9QTE9DS1MJCTI2MQogI2RlZmluZSBMTV9DQl9BU1lOQwkJMjYyCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xvY2tkZXAuaCBiL2luY2x1ZGUvbGludXgvbG9ja2RlcC5oCmluZGV4IDRjNGQyMzYuLjI0ODZlYjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbG9ja2RlcC5oCisrKyBiL2luY2x1ZGUvbGludXgvbG9ja2RlcC5oCkBAIC0xODIsNiArMTgyLDkgQEAKICAqIFdlIHJlY29yZCBsb2NrIGRlcGVuZGVuY3kgY2hhaW5zLCBzbyB0aGF0IHdlIGNhbiBjYWNoZSB0aGVtOgogICovCiBzdHJ1Y3QgbG9ja19jaGFpbiB7CisJdTgJCQkJaXJxX2NvbnRleHQ7CisJdTgJCQkJZGVwdGg7CisJdTE2CQkJCWJhc2U7CiAJc3RydWN0IGxpc3RfaGVhZAkJZW50cnk7CiAJdTY0CQkJCWNoYWluX2tleTsKIH07CkBAIC0yNzYsMTQgKzI3OSw2IEBACiAJCQkJIChsb2NrKS0+ZGVwX21hcC5rZXksIHN1YikKIAogLyoKLSAqIFRvIGluaXRpYWxpemUgYSBsb2NrZGVwX21hcCBzdGF0aWNhbGx5IHVzZSB0aGlzIG1hY3JvLgotICogTm90ZSB0aGF0IF9uYW1lIG11c3Qgbm90IGJlIE5VTEwuCi0gKi8KLSNkZWZpbmUgU1RBVElDX0xPQ0tERVBfTUFQX0lOSVQoX25hbWUsIF9rZXkpIFwKLQl7IC5uYW1lID0gKF9uYW1lKSwgLmtleSA9ICh2b2lkICopKF9rZXkpLCB9Ci0KLQotLyoKICAqIEFjcXVpcmUgYSBsb2NrLgogICoKICAqIFZhbHVlcyBmb3IgInJlYWQiOgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tYXJrZXIuaCBiL2luY2x1ZGUvbGludXgvbWFya2VyLmgKaW5kZXggNDMwZjZhZC4uMTI5MDY1MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tYXJrZXIuaAorKysgYi9pbmNsdWRlL2xpbnV4L21hcmtlci5oCkBAIC00NCw4ICs0NCw4IEBACiAJCQkJICovCiAJY2hhciBzdGF0ZTsJCS8qIE1hcmtlciBzdGF0ZS4gKi8KIAljaGFyIHB0eXBlOwkJLyogcHJvYmUgdHlwZSA6IDAgOiBzaW5nbGUsIDEgOiBtdWx0aSAqLwotCXZvaWQgKCpjYWxsKShjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwJLyogUHJvYmUgd3JhcHBlciAqLwotCQl2b2lkICpjYWxsX3ByaXZhdGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwkJCQkvKiBQcm9iZSB3cmFwcGVyICovCisJdm9pZCAoKmNhbGwpKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLCB2b2lkICpjYWxsX3ByaXZhdGUsIC4uLik7CiAJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlIHNpbmdsZTsKIAlzdHJ1Y3QgbWFya2VyX3Byb2JlX2Nsb3N1cmUgKm11bHRpOwogfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CkBAIC01OCw4ICs1OCwxMiBAQAogICogTWFrZSBzdXJlIHRoZSBhbGlnbm1lbnQgb2YgdGhlIHN0cnVjdHVyZSBpbiB0aGUgX19tYXJrZXJzIHNlY3Rpb24gd2lsbAogICogbm90IGFkZCB1bndhbnRlZCBwYWRkaW5nIGJldHdlZW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgc2VjdGlvbiBhbmQgdGhlCiAgKiBzdHJ1Y3R1cmUuIEZvcmNlIGFsaWdubWVudCB0byB0aGUgc2FtZSBhbGlnbm1lbnQgYXMgdGhlIHNlY3Rpb24gc3RhcnQuCisgKgorICogVGhlICJnZW5lcmljIiBhcmd1bWVudCBjb250cm9scyB3aGljaCBtYXJrZXIgZW5hYmxpbmcgbWVjaGFuaXNtIG11c3QgYmUgdXNlZC4KKyAqIElmIGdlbmVyaWMgaXMgdHJ1ZSwgYSB2YXJpYWJsZSByZWFkIGlzIHVzZWQuCisgKiBJZiBnZW5lcmljIGlzIGZhbHNlLCBpbW1lZGlhdGUgdmFsdWVzIGFyZSB1c2VkLgogICovCi0jZGVmaW5lIF9fdHJhY2VfbWFyayhuYW1lLCBjYWxsX3ByaXZhdGUsIGZvcm1hdCwgYXJncy4uLikJCVwKKyNkZWZpbmUgX190cmFjZV9tYXJrKGdlbmVyaWMsIG5hbWUsIGNhbGxfcHJpdmF0ZSwgZm9ybWF0LCBhcmdzLi4uKQlcCiAJZG8gewkJCQkJCQkJXAogCQlzdGF0aWMgY29uc3QgY2hhciBfX21zdHJ0YWJfIyNuYW1lW10JCQlcCiAJCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIl9fbWFya2Vyc19zdHJpbmdzIikpKQkJXApAQCAtNzIsMTUgKzc2LDE0IEBACiAJCV9fbWFya19jaGVja19mb3JtYXQoZm9ybWF0LCAjIyBhcmdzKTsJCQlcCiAJCWlmICh1bmxpa2VseShfX21hcmtfIyNuYW1lLnN0YXRlKSkgewkJCVwKIAkJCSgqX19tYXJrXyMjbmFtZS5jYWxsKQkJCQlcCi0JCQkJKCZfX21hcmtfIyNuYW1lLCBjYWxsX3ByaXZhdGUsCQlcCi0JCQkJZm9ybWF0LCAjIyBhcmdzKTsJCQlcCisJCQkJKCZfX21hcmtfIyNuYW1lLCBjYWxsX3ByaXZhdGUsICMjIGFyZ3MpO1wKIAkJfQkJCQkJCQlcCiAJfSB3aGlsZSAoMCkKIAogZXh0ZXJuIHZvaWQgbWFya2VyX3VwZGF0ZV9wcm9iZV9yYW5nZShzdHJ1Y3QgbWFya2VyICpiZWdpbiwKIAlzdHJ1Y3QgbWFya2VyICplbmQpOwogI2Vsc2UgLyogIUNPTkZJR19NQVJLRVJTICovCi0jZGVmaW5lIF9fdHJhY2VfbWFyayhuYW1lLCBjYWxsX3ByaXZhdGUsIGZvcm1hdCwgYXJncy4uLikgXAorI2RlZmluZSBfX3RyYWNlX21hcmsoZ2VuZXJpYywgbmFtZSwgY2FsbF9wcml2YXRlLCBmb3JtYXQsIGFyZ3MuLi4pIFwKIAkJX19tYXJrX2NoZWNrX2Zvcm1hdChmb3JtYXQsICMjIGFyZ3MpCiBzdGF0aWMgaW5saW5lIHZvaWQgbWFya2VyX3VwZGF0ZV9wcm9iZV9yYW5nZShzdHJ1Y3QgbWFya2VyICpiZWdpbiwKIAlzdHJ1Y3QgbWFya2VyICplbmQpCkBAIC04OCwxNSArOTEsMzAgQEAKICNlbmRpZiAvKiBDT05GSUdfTUFSS0VSUyAqLwogCiAvKioKLSAqIHRyYWNlX21hcmsgLSBNYXJrZXIKKyAqIHRyYWNlX21hcmsgLSBNYXJrZXIgdXNpbmcgY29kZSBwYXRjaGluZwogICogQG5hbWU6IG1hcmtlciBuYW1lLCBub3QgcXVvdGVkLgogICogQGZvcm1hdDogZm9ybWF0IHN0cmluZwogICogQGFyZ3MuLi46IHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QKICAqCi0gKiBQbGFjZXMgYSBtYXJrZXIuCisgKiBQbGFjZXMgYSBtYXJrZXIgdXNpbmcgb3B0aW1pemVkIGNvZGUgcGF0Y2hpbmcgdGVjaG5pcXVlIChpbXZfcmVhZCgpKQorICogdG8gYmUgZW5hYmxlZCB3aGVuIGltbWVkaWF0ZSB2YWx1ZXMgYXJlIHByZXNlbnQuCiAgKi8KICNkZWZpbmUgdHJhY2VfbWFyayhuYW1lLCBmb3JtYXQsIGFyZ3MuLi4pIFwKLQlfX3RyYWNlX21hcmsobmFtZSwgTlVMTCwgZm9ybWF0LCAjIyBhcmdzKQorCV9fdHJhY2VfbWFyaygwLCBuYW1lLCBOVUxMLCBmb3JtYXQsICMjIGFyZ3MpCisKKy8qKgorICogX3RyYWNlX21hcmsgLSBNYXJrZXIgdXNpbmcgdmFyaWFibGUgcmVhZAorICogQG5hbWU6IG1hcmtlciBuYW1lLCBub3QgcXVvdGVkLgorICogQGZvcm1hdDogZm9ybWF0IHN0cmluZworICogQGFyZ3MuLi46IHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QKKyAqCisgKiBQbGFjZXMgYSBtYXJrZXIgdXNpbmcgYSBzdGFuZGFyZCBtZW1vcnkgcmVhZCAoX2ltdl9yZWFkKCkpIHRvIGJlCisgKiBlbmFibGVkLiBTaG91bGQgYmUgdXNlZCBmb3IgbWFya2VycyBpbiBjb2RlIHBhdGhzIHdoZXJlIGluc3RydWN0aW9uCisgKiBtb2RpZmljYXRpb24gYmFzZWQgZW5hYmxpbmcgaXMgbm90IHdlbGNvbWUuIChfX2luaXQgYW5kIF9fZXhpdCBmdW5jdGlvbnMsCisgKiBsb2NrZGVwLCBzb21lIHRyYXBzLCBwcmludGspLgorICovCisjZGVmaW5lIF90cmFjZV9tYXJrKG5hbWUsIGZvcm1hdCwgYXJncy4uLikgXAorCV9fdHJhY2VfbWFyaygxLCBuYW1lLCBOVUxMLCBmb3JtYXQsICMjIGFyZ3MpCiAKIC8qKgogICogTUFSS19OT0FSR1MgLSBGb3JtYXQgc3RyaW5nIGZvciBhIG1hcmtlciB3aXRoIG5vIGFyZ3VtZW50LgpAQCAtMTE3LDkgKzEzNSw5IEBACiBleHRlcm4gbWFya2VyX3Byb2JlX2Z1bmMgX19tYXJrX2VtcHR5X2Z1bmN0aW9uOwogCiBleHRlcm4gdm9pZCBtYXJrZXJfcHJvYmVfY2IoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsCi0Jdm9pZCAqY2FsbF9wcml2YXRlLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisJdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pOwogZXh0ZXJuIHZvaWQgbWFya2VyX3Byb2JlX2NiX25vYXJnKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLAotCXZvaWQgKmNhbGxfcHJpdmF0ZSwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCXZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKTsKIAogLyoKICAqIENvbm5lY3QgYSBwcm9iZSB0byBhIG1hcmtlci4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWx4NC9kZXZpY2UuaCBiL2luY2x1ZGUvbGludXgvbWx4NC9kZXZpY2UuaAppbmRleCBhNzQ0MzgzLi44MWIzZGQ1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21seDQvZGV2aWNlLmgKKysrIGIvaW5jbHVkZS9saW51eC9tbHg0L2RldmljZS5oCkBAIC0zOTgsNyArMzk4LDggQEAKIGludCBtbHg0X0lOSVRfUE9SVChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgaW50IHBvcnQpOwogaW50IG1seDRfQ0xPU0VfUE9SVChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgaW50IHBvcnQpOwogCi1pbnQgbWx4NF9tdWx0aWNhc3RfYXR0YWNoKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9xcCAqcXAsIHU4IGdpZFsxNl0pOworaW50IG1seDRfbXVsdGljYXN0X2F0dGFjaChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfcXAgKnFwLCB1OCBnaWRbMTZdLAorCQkJICBpbnQgYmxvY2tfbWNhc3RfbG9vcGJhY2spOwogaW50IG1seDRfbXVsdGljYXN0X2RldGFjaChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfcXAgKnFwLCB1OCBnaWRbMTZdKTsKIAogaW50IG1seDRfbWFwX3BoeXNfZm1yKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9mbXIgKmZtciwgdTY0ICpwYWdlX2xpc3QsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tLmggYi9pbmNsdWRlL2xpbnV4L21tLmgKaW5kZXggNTg2YTk0My4uY2YxY2QzYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tbS5oCisrKyBiL2luY2x1ZGUvbGludXgvbW0uaApAQCAtOTk4LDggKzk5OCw4IEBACiBleHRlcm4gdm9pZCBmcmVlX2FyZWFfaW5pdF9ub2Rlcyh1bnNpZ25lZCBsb25nICptYXhfem9uZV9wZm4pOwogZXh0ZXJuIHZvaWQgYWRkX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKIAkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKLWV4dGVybiB2b2lkIHNocmlua19hY3RpdmVfcmFuZ2UodW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBvbGRfZW5kX3BmbiwKLQkJCQkJCXVuc2lnbmVkIGxvbmcgbmV3X2VuZF9wZm4pOworZXh0ZXJuIHZvaWQgcmVtb3ZlX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKIGV4dGVybiB2b2lkIHB1c2hfbm9kZV9ib3VuZGFyaWVzKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAogCQkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwogZXh0ZXJuIHZvaWQgcmVtb3ZlX2FsbF9hY3RpdmVfcmFuZ2VzKHZvaWQpOwpAQCAtMTAxMSw2ICsxMDExLDggQEAKIGV4dGVybiB1bnNpZ25lZCBsb25nIGZpbmRfbWF4X3Bmbl93aXRoX2FjdGl2ZV9yZWdpb25zKHZvaWQpOwogZXh0ZXJuIHZvaWQgZnJlZV9ib290bWVtX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwKIAkJCQkJCXVuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm4pOwordHlwZWRlZiBpbnQgKCp3b3JrX2ZuX3QpKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHZvaWQgKik7CitleHRlcm4gdm9pZCB3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgd29ya19mbl90IHdvcmtfZm4sIHZvaWQgKmRhdGEpOwogZXh0ZXJuIHZvaWQgc3BhcnNlX21lbW9yeV9wcmVzZW50X3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCk7CiAjaWZuZGVmIENPTkZJR19IQVZFX0FSQ0hfRUFSTFlfUEZOX1RPX05JRAogZXh0ZXJuIGludCBlYXJseV9wZm5fdG9fbmlkKHVuc2lnbmVkIGxvbmcgcGZuKTsKQEAgLTEwMjQsNiArMTAyNiw3IEBACiBleHRlcm4gdm9pZCBzaG93X21lbSh2b2lkKTsKIGV4dGVybiB2b2lkIHNpX21lbWluZm8oc3RydWN0IHN5c2luZm8gKiB2YWwpOwogZXh0ZXJuIHZvaWQgc2lfbWVtaW5mb19ub2RlKHN0cnVjdCBzeXNpbmZvICp2YWwsIGludCBuaWQpOworZXh0ZXJuIGludCBhZnRlcl9ib290bWVtOwogCiAjaWZkZWYgQ09ORklHX05VTUEKIGV4dGVybiB2b2lkIHNldHVwX3Blcl9jcHVfcGFnZXNldCh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW1pb3RyYWNlLmggYi9pbmNsdWRlL2xpbnV4L21taW90cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxZDE5ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L21taW90cmFjZS5oCkBAIC0wLDAgKzEsODUgQEAKKyNpZm5kZWYgTU1JT1RSQUNFX0gKKyNkZWZpbmUgTU1JT1RSQUNFX0gKKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorCitzdHJ1Y3Qga21taW9fcHJvYmU7CitzdHJ1Y3QgcHRfcmVnczsKKwordHlwZWRlZiB2b2lkICgqa21taW9fcHJlX2hhbmRsZXJfdCkoc3RydWN0IGttbWlvX3Byb2JlICosCisJCQkJc3RydWN0IHB0X3JlZ3MgKiwgdW5zaWduZWQgbG9uZyBhZGRyKTsKK3R5cGVkZWYgdm9pZCAoKmttbWlvX3Bvc3RfaGFuZGxlcl90KShzdHJ1Y3Qga21taW9fcHJvYmUgKiwKKwkJCQl1bnNpZ25lZCBsb25nIGNvbmRpdGlvbiwgc3RydWN0IHB0X3JlZ3MgKik7CisKK3N0cnVjdCBrbW1pb19wcm9iZSB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OyAvKiBrbW1pbyBpbnRlcm5hbCBsaXN0ICovCisJdW5zaWduZWQgbG9uZyBhZGRyOyAvKiBzdGFydCBsb2NhdGlvbiBvZiB0aGUgcHJvYmUgcG9pbnQgKi8KKwl1bnNpZ25lZCBsb25nIGxlbjsgLyogbGVuZ3RoIG9mIHRoZSBwcm9iZSByZWdpb24gKi8KKwlrbW1pb19wcmVfaGFuZGxlcl90IHByZV9oYW5kbGVyOyAvKiBDYWxsZWQgYmVmb3JlIGFkZHIgaXMgZXhlY3V0ZWQuICovCisJa21taW9fcG9zdF9oYW5kbGVyX3QgcG9zdF9oYW5kbGVyOyAvKiBDYWxsZWQgYWZ0ZXIgYWRkciBpcyBleGVjdXRlZCAqLworCXZvaWQgKnByaXZhdGU7Cit9OworCisvKiBrbW1pbyBpcyBhY3RpdmUgYnkgc29tZSBrbW1pb19wcm9iZXM/ICovCitzdGF0aWMgaW5saW5lIGludCBpc19rbW1pb19hY3RpdmUodm9pZCkKK3sKKwlleHRlcm4gdW5zaWduZWQgaW50IGttbWlvX2NvdW50OworCXJldHVybiBrbW1pb19jb3VudDsKK30KKworZXh0ZXJuIGludCByZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApOworZXh0ZXJuIHZvaWQgdW5yZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApOworCisvKiBDYWxsZWQgZnJvbSBwYWdlIGZhdWx0IGhhbmRsZXIuICovCitleHRlcm4gaW50IGttbWlvX2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcik7CisKKy8qIENhbGxlZCBmcm9tIGlvcmVtYXAuYyAqLworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0UKK2V4dGVybiB2b2lkIG1taW90cmFjZV9pb3JlbWFwKHJlc291cmNlX3NpemVfdCBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCQkJCQl2b2lkIF9faW9tZW0gKmFkZHIpOworZXh0ZXJuIHZvaWQgbW1pb3RyYWNlX2lvdW5tYXAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgbW1pb3RyYWNlX2lvcmVtYXAocmVzb3VyY2Vfc2l6ZV90IG9mZnNldCwKKwkJCQkJdW5zaWduZWQgbG9uZyBzaXplLCB2b2lkIF9faW9tZW0gKmFkZHIpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBtbWlvdHJhY2VfaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCit7Cit9CisjZW5kaWYgLyogQ09ORklHX01NSU9UUkFDRV9IT09LUyAqLworCitlbnVtIG1tX2lvX29wY29kZSB7CisJTU1JT19SRUFEID0gMHgxLCAgICAgLyogc3RydWN0IG1taW90cmFjZV9ydyAqLworCU1NSU9fV1JJVEUgPSAweDIsICAgIC8qIHN0cnVjdCBtbWlvdHJhY2VfcncgKi8KKwlNTUlPX1BST0JFID0gMHgzLCAgICAvKiBzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqLworCU1NSU9fVU5QUk9CRSA9IDB4NCwgIC8qIHN0cnVjdCBtbWlvdHJhY2VfbWFwICovCisJTU1JT19NQVJLRVIgPSAweDUsICAgLyogcmF3IGNoYXIgZGF0YSAqLworCU1NSU9fVU5LTk9XTl9PUCA9IDB4NiwgLyogc3RydWN0IG1taW90cmFjZV9ydyAqLworfTsKKworc3RydWN0IG1taW90cmFjZV9ydyB7CisJcmVzb3VyY2Vfc2l6ZV90IHBoeXM7CS8qIFBDSSBhZGRyZXNzIG9mIHJlZ2lzdGVyICovCisJdW5zaWduZWQgbG9uZyB2YWx1ZTsKKwl1bnNpZ25lZCBsb25nIHBjOwkvKiBvcHRpb25hbCBwcm9ncmFtIGNvdW50ZXIgKi8KKwlpbnQgbWFwX2lkOworCXVuc2lnbmVkIGNoYXIgb3Bjb2RlOwkvKiBvbmUgb2YgTU1JT197UkVBRCxXUklURSxVTktOT1dOX09QfSAqLworCXVuc2lnbmVkIGNoYXIgd2lkdGg7CS8qIHNpemUgb2YgcmVnaXN0ZXIgYWNjZXNzIGluIGJ5dGVzICovCit9OworCitzdHJ1Y3QgbW1pb3RyYWNlX21hcCB7CisJcmVzb3VyY2Vfc2l6ZV90IHBoeXM7CS8qIGJhc2UgYWRkcmVzcyBpbiBQQ0kgc3BhY2UgKi8KKwl1bnNpZ25lZCBsb25nIHZpcnQ7CS8qIGJhc2UgdmlydHVhbCBhZGRyZXNzICovCisJdW5zaWduZWQgbG9uZyBsZW47CS8qIG1hcHBpbmcgc2l6ZSAqLworCWludCBtYXBfaWQ7CisJdW5zaWduZWQgY2hhciBvcGNvZGU7CS8qIE1NSU9fUFJPQkUgb3IgTU1JT19VTlBST0JFICovCit9OworCisvKiBpbiBrZXJuZWwvdHJhY2UvdHJhY2VfbW1pb3RyYWNlLmMgKi8KK2V4dGVybiB2b2lkIGVuYWJsZV9tbWlvdHJhY2Uodm9pZCk7CitleHRlcm4gdm9pZCBkaXNhYmxlX21taW90cmFjZSh2b2lkKTsKK2V4dGVybiB2b2lkIG1taW9fdHJhY2Vfcncoc3RydWN0IG1taW90cmFjZV9ydyAqcncpOworZXh0ZXJuIHZvaWQgbW1pb190cmFjZV9tYXBwaW5nKHN0cnVjdCBtbWlvdHJhY2VfbWFwICptYXApOworCisjZW5kaWYgLyogTU1JT1RSQUNFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmggYi9pbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oCmluZGV4IDY5YjIzNDIuLmM0ZGI1ODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKKysrIGIvaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaApAQCAtMTU5LDYgKzE1OSwxNSBAQAogCiAjZGVmaW5lIEFQX0RFVklDRV9JRF9NQVRDSF9ERVZJQ0VfVFlQRQkJMHgwMQogCisvKiBzMzkwIGNzcyBidXMgZGV2aWNlcyAoc3ViY2hhbm5lbHMpICovCitzdHJ1Y3QgY3NzX2RldmljZV9pZCB7CisJX191OCBtYXRjaF9mbGFnczsKKwlfX3U4IHR5cGU7IC8qIHN1YmNoYW5uZWwgdHlwZSAqLworCV9fdTE2IHBhZDI7CisJX191MzIgcGFkMzsKKwlrZXJuZWxfdWxvbmdfdCBkcml2ZXJfZGF0YTsKK307CisKICNkZWZpbmUgQUNQSV9JRF9MRU4JMTYgLyogb25seSA5IGJ5dGVzIG5lZWRlZCBoZXJlLCAxNiBieXRlcyBhcmUgdXNlZCAqLwogCQkJICAgLyogdG8gd29ya2Fyb3VuZCBjcm9zc2NvbXBpbGUgaXNzdWVzICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbXBhZ2UuaCBiL2luY2x1ZGUvbGludXgvbXBhZ2UuaAppbmRleCAwNjhhMGM5Li41YzQyODIxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21wYWdlLmgKKysrIGIvaW5jbHVkZS9saW51eC9tcGFnZS5oCkBAIC0xMSwxMSArMTEsMjEgQEAKICAqLwogI2lmZGVmIENPTkZJR19CTE9DSwogCitzdHJ1Y3QgbXBhZ2VfZGF0YSB7CisJc3RydWN0IGJpbyAqYmlvOworCXNlY3Rvcl90IGxhc3RfYmxvY2tfaW5fYmlvOworCWdldF9ibG9ja190ICpnZXRfYmxvY2s7CisJdW5zaWduZWQgdXNlX3dyaXRlcGFnZTsKK307CisKIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbDsKIAorc3RydWN0IGJpbyAqbXBhZ2VfYmlvX3N1Ym1pdChpbnQgcncsIHN0cnVjdCBiaW8gKmJpbyk7CiBpbnQgbXBhZ2VfcmVhZHBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBzdHJ1Y3QgbGlzdF9oZWFkICpwYWdlcywKIAkJCQl1bnNpZ25lZCBucl9wYWdlcywgZ2V0X2Jsb2NrX3QgZ2V0X2Jsb2NrKTsKIGludCBtcGFnZV9yZWFkcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgZ2V0X2Jsb2NrX3QgZ2V0X2Jsb2NrKTsKK2ludCBfX21wYWdlX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsCisJCSAgICAgIHZvaWQgKmRhdGEpOwogaW50IG1wYWdlX3dyaXRlcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCiAJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLCBnZXRfYmxvY2tfdCBnZXRfYmxvY2spOwogaW50IG1wYWdlX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgZ2V0X2Jsb2NrX3QgKmdldF9ibG9jaywKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oIGIvaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmgKaW5kZXggZjMxZGViZi4uMGQyYTRlNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmgKKysrIGIvaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmgKQEAgLTE1Nyw2ICsxNTcsNyBAQAogX19QQUdFRkxBRyhTbGFiLCBzbGFiKQogUEFHRUZMQUcoQ2hlY2tlZCwgb3duZXJfcHJpdl8xKQkJLyogVXNlZCBieSBzb21lIGZpbGVzeXN0ZW1zICovCiBQQUdFRkxBRyhQaW5uZWQsIG93bmVyX3ByaXZfMSkgVEVTVFNDRkxBRyhQaW5uZWQsIG93bmVyX3ByaXZfMSkgLyogWGVuICovCitQQUdFRkxBRyhTYXZlUGlubmVkLCBkaXJ0eSk7CQkJCQkvKiBYZW4gKi8KIFBBR0VGTEFHKFJlc2VydmVkLCByZXNlcnZlZCkgX19DTEVBUlBBR0VGTEFHKFJlc2VydmVkLCByZXNlcnZlZCkKIFBBR0VGTEFHKFByaXZhdGUsIHByaXZhdGUpIF9fQ0xFQVJQQUdFRkxBRyhQcml2YXRlLCBwcml2YXRlKQogCV9fU0VUUEFHRUZMQUcoUHJpdmF0ZSwgcHJpdmF0ZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGFnZWJsb2NrLWZsYWdzLmggYi9pbmNsdWRlL2xpbnV4L3BhZ2VibG9jay1mbGFncy5oCmluZGV4IGU4NzU5MDUuLmU4YzA2MTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcGFnZWJsb2NrLWZsYWdzLmgKKysrIGIvaW5jbHVkZS9saW51eC9wYWdlYmxvY2stZmxhZ3MuaApAQCAtMjUsMTMgKzI1LDExIEBACiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCi0vKiBNYWNybyB0byBhaWQgdGhlIGRlZmluaXRpb24gb2YgcmFuZ2VzIG9mIGJpdHMgKi8KLSNkZWZpbmUgUEJfcmFuZ2UobmFtZSwgcmVxdWlyZWRfYml0cykgXAotCW5hbWUsIG5hbWUgIyMgX2VuZCA9IChuYW1lICsgcmVxdWlyZWRfYml0cykgLSAxCi0KIC8qIEJpdCBpbmRpY2VzIHRoYXQgYWZmZWN0IGEgd2hvbGUgYmxvY2sgb2YgcGFnZXMgKi8KIGVudW0gcGFnZWJsb2NrX2JpdHMgewotCVBCX3JhbmdlKFBCX21pZ3JhdGUsIDMpLCAvKiAzIGJpdHMgcmVxdWlyZWQgZm9yIG1pZ3JhdGUgdHlwZXMgKi8KKwlQQl9taWdyYXRlLAorCVBCX21pZ3JhdGVfZW5kID0gUEJfbWlncmF0ZSArIDMgLSAxLAorCQkJLyogMyBiaXRzIHJlcXVpcmVkIGZvciBtaWdyYXRlIHR5cGVzICovCiAJTlJfUEFHRUJMT0NLX0JJVFMKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGVyY3B1X2NvdW50ZXIuaCBiL2luY2x1ZGUvbGludXgvcGVyY3B1X2NvdW50ZXIuaAppbmRleCA5MDA3Y2NkLi4yMDgzODg4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BlcmNwdV9jb3VudGVyLmgKKysrIGIvaW5jbHVkZS9saW51eC9wZXJjcHVfY291bnRlci5oCkBAIC0zNSw3ICszNSw3IEBACiB2b2lkIHBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpOwogdm9pZCBwZXJjcHVfY291bnRlcl9zZXQoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMsIHM2NCBhbW91bnQpOwogdm9pZCBfX3BlcmNwdV9jb3VudGVyX2FkZChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYywgczY0IGFtb3VudCwgczMyIGJhdGNoKTsKLXM2NCBfX3BlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYyk7CitzNjQgX19wZXJjcHVfY291bnRlcl9zdW0oc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMsIGludCBzZXQpOwogCiBzdGF0aWMgaW5saW5lIHZvaWQgcGVyY3B1X2NvdW50ZXJfYWRkKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBzNjQgYW1vdW50KQogewpAQCAtNDQsMTMgKzQ0LDE5IEBACiAKIHN0YXRpYyBpbmxpbmUgczY0IHBlcmNwdV9jb3VudGVyX3N1bV9wb3NpdGl2ZShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKIHsKLQlzNjQgcmV0ID0gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjKTsKKwlzNjQgcmV0ID0gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjLCAwKTsKIAlyZXR1cm4gcmV0IDwgMCA/IDAgOiByZXQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgczY0IHBlcmNwdV9jb3VudGVyX3N1bV9hbmRfc2V0KHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKQoreworCXJldHVybiBfX3BlcmNwdV9jb3VudGVyX3N1bShmYmMsIDEpOworfQorCisKIHN0YXRpYyBpbmxpbmUgczY0IHBlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKIHsKLQlyZXR1cm4gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjKTsKKwlyZXR1cm4gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjLCAwKTsKIH0KIAogc3RhdGljIGlubGluZSBzNjQgcGVyY3B1X2NvdW50ZXJfcmVhZChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oIGIvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKaW5kZXggMjNmMGM1NC4uNzJiMWExMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKKysrIGIvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKQEAgLTEwLDcgKzEwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogCi0jaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKKyNpZiBkZWZpbmVkKENPTkZJR19ERUJVR19QUkVFTVBUKSB8fCBkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikKICAgZXh0ZXJuIHZvaWQgYWRkX3ByZWVtcHRfY291bnQoaW50IHZhbCk7CiAgIGV4dGVybiB2b2lkIHN1Yl9wcmVlbXB0X2NvdW50KGludCB2YWwpOwogI2Vsc2UKQEAgLTUyLDYgKzUyLDM0IEBACiAJcHJlZW1wdF9jaGVja19yZXNjaGVkKCk7IFwKIH0gd2hpbGUgKDApCiAKKy8qIEZvciBkZWJ1Z2dpbmcgYW5kIHRyYWNlciBpbnRlcm5hbHMgb25seSEgKi8KKyNkZWZpbmUgYWRkX3ByZWVtcHRfY291bnRfbm90cmFjZSh2YWwpCQkJXAorCWRvIHsgcHJlZW1wdF9jb3VudCgpICs9ICh2YWwpOyB9IHdoaWxlICgwKQorI2RlZmluZSBzdWJfcHJlZW1wdF9jb3VudF9ub3RyYWNlKHZhbCkJCQlcCisJZG8geyBwcmVlbXB0X2NvdW50KCkgLT0gKHZhbCk7IH0gd2hpbGUgKDApCisjZGVmaW5lIGluY19wcmVlbXB0X2NvdW50X25vdHJhY2UoKSBhZGRfcHJlZW1wdF9jb3VudF9ub3RyYWNlKDEpCisjZGVmaW5lIGRlY19wcmVlbXB0X2NvdW50X25vdHJhY2UoKSBzdWJfcHJlZW1wdF9jb3VudF9ub3RyYWNlKDEpCisKKyNkZWZpbmUgcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKSBcCitkbyB7IFwKKwlpbmNfcHJlZW1wdF9jb3VudF9ub3RyYWNlKCk7IFwKKwliYXJyaWVyKCk7IFwKK30gd2hpbGUgKDApCisKKyNkZWZpbmUgcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCkgXAorZG8geyBcCisJYmFycmllcigpOyBcCisJZGVjX3ByZWVtcHRfY291bnRfbm90cmFjZSgpOyBcCit9IHdoaWxlICgwKQorCisvKiBwcmVlbXB0X2NoZWNrX3Jlc2NoZWQgaXMgT0sgdG8gdHJhY2UgKi8KKyNkZWZpbmUgcHJlZW1wdF9lbmFibGVfbm90cmFjZSgpIFwKK2RvIHsgXAorCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpOyBcCisJYmFycmllcigpOyBcCisJcHJlZW1wdF9jaGVja19yZXNjaGVkKCk7IFwKK30gd2hpbGUgKDApCisKICNlbHNlCiAKICNkZWZpbmUgcHJlZW1wdF9kaXNhYmxlKCkJCWRvIHsgfSB3aGlsZSAoMCkKQEAgLTU5LDYgKzg3LDEwIEBACiAjZGVmaW5lIHByZWVtcHRfZW5hYmxlKCkJCWRvIHsgfSB3aGlsZSAoMCkKICNkZWZpbmUgcHJlZW1wdF9jaGVja19yZXNjaGVkKCkJCWRvIHsgfSB3aGlsZSAoMCkKIAorI2RlZmluZSBwcmVlbXB0X2Rpc2FibGVfbm90cmFjZSgpCQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgcHJlZW1wdF9lbmFibGVfbm90cmFjZSgpCQlkbyB7IH0gd2hpbGUgKDApCisKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1BSRUVNUFRfTk9USUZJRVJTCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3B0cmFjZS5oIGIvaW5jbHVkZS9saW51eC9wdHJhY2UuaAppbmRleCBmOTg1MDFiLi5jNmY1ZjlkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3B0cmFjZS5oCisrKyBiL2luY2x1ZGUvbGludXgvcHRyYWNlLmgKQEAgLTk1LDggKzk1LDEyIEBACiAJCQkgIHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV3X3BhcmVudCk7CiBleHRlcm4gdm9pZCBfX3B0cmFjZV91bmxpbmsoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7CiBleHRlcm4gdm9pZCBwdHJhY2VfdW50cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKTsKLWV4dGVybiBpbnQgcHRyYWNlX21heV9hdHRhY2goc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKTsKLWV4dGVybiBpbnQgX19wdHJhY2VfbWF5X2F0dGFjaChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spOworI2RlZmluZSBQVFJBQ0VfTU9ERV9SRUFEICAgMQorI2RlZmluZSBQVFJBQ0VfTU9ERV9BVFRBQ0ggMgorLyogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC1lcnJubyBvbiBkZW5pYWwuICovCitleHRlcm4gaW50IF9fcHRyYWNlX21heV9hY2Nlc3Moc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBpbnQgbW9kZSk7CisvKiBSZXR1cm5zIHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb24gZGVuaWFsLiAqLworZXh0ZXJuIGJvb2wgcHRyYWNlX21heV9hY2Nlc3Moc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBpbnQgbW9kZSk7CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0cmFjZV9yZXBhcmVudGVkKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCiB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3B3bS5oIGIvaW5jbHVkZS9saW51eC9wd20uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTQ1ZjgwCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9wd20uaApAQCAtMCwwICsxLDMxIEBACisjaWZuZGVmIF9fTElOVVhfUFdNX0gKKyNkZWZpbmUgX19MSU5VWF9QV01fSAorCitzdHJ1Y3QgcHdtX2RldmljZTsKKworLyoKKyAqIHB3bV9yZXF1ZXN0IC0gcmVxdWVzdCBhIFBXTSBkZXZpY2UKKyAqLworc3RydWN0IHB3bV9kZXZpY2UgKnB3bV9yZXF1ZXN0KGludCBwd21faWQsIGNvbnN0IGNoYXIgKmxhYmVsKTsKKworLyoKKyAqIHB3bV9mcmVlIC0gZnJlZSBhIFBXTSBkZXZpY2UKKyAqLwordm9pZCBwd21fZnJlZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKTsKKworLyoKKyAqIHB3bV9jb25maWcgLSBjaGFuZ2UgYSBQV00gZGV2aWNlIGNvbmZpZ3VyYXRpb24KKyAqLworaW50IHB3bV9jb25maWcoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgaW50IGR1dHlfbnMsIGludCBwZXJpb2RfbnMpOworCisvKgorICogcHdtX2VuYWJsZSAtIHN0YXJ0IGEgUFdNIG91dHB1dCB0b2dnbGluZworICovCitpbnQgcHdtX2VuYWJsZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKTsKKworLyoKKyAqIHB3bV9kaXNhYmxlIC0gc3RvcCBhIFBXTSBvdXRwdXQgdG9nZ2xpbmcKKyAqLwordm9pZCBwd21fZGlzYWJsZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKTsKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfUFdNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcHdtX2JhY2tsaWdodC5oIGIvaW5jbHVkZS9saW51eC9wd21fYmFja2xpZ2h0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5NzU0YwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvcHdtX2JhY2tsaWdodC5oCkBAIC0wLDAgKzEsMTcgQEAKKy8qCisgKiBHZW5lcmljIFBXTSBiYWNrbGlnaHQgZHJpdmVyIGRhdGEgLSBzZWUgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKKyAqLworI2lmbmRlZiBfX0xJTlVYX1BXTV9CQUNLTElHSFRfSAorI2RlZmluZSBfX0xJTlVYX1BXTV9CQUNLTElHSFRfSAorCitzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIHsKKwlpbnQgcHdtX2lkOworCXVuc2lnbmVkIGludCBtYXhfYnJpZ2h0bmVzczsKKwl1bnNpZ25lZCBpbnQgZGZ0X2JyaWdodG5lc3M7CisJdW5zaWduZWQgaW50IHB3bV9wZXJpb2RfbnM7CisJaW50ICgqaW5pdCkoc3RydWN0IGRldmljZSAqZGV2KTsKKwlpbnQgKCpub3RpZnkpKGludCBicmlnaHRuZXNzKTsKKwl2b2lkICgqZXhpdCkoc3RydWN0IGRldmljZSAqZGV2KTsKK307CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yY3VjbGFzc2ljLmggYi9pbmNsdWRlL2xpbnV4L3JjdWNsYXNzaWMuaAppbmRleCBiM2FhMDViLi44Yzc3NDkwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3JjdWNsYXNzaWMuaAorKysgYi9pbmNsdWRlL2xpbnV4L3JjdWNsYXNzaWMuaApAQCAtMTUxLDcgKzE1MSwxMCBAQAogCiAjZGVmaW5lIF9fc3luY2hyb25pemVfc2NoZWQoKSBzeW5jaHJvbml6ZV9yY3UoKQogCisjZGVmaW5lIGNhbGxfcmN1X3NjaGVkKGhlYWQsIGZ1bmMpIGNhbGxfcmN1KGhlYWQsIGZ1bmMpCisKIGV4dGVybiB2b2lkIF9fcmN1X2luaXQodm9pZCk7CisjZGVmaW5lIHJjdV9pbml0X3NjaGVkKCkJZG8geyB9IHdoaWxlICgwKQogZXh0ZXJuIHZvaWQgcmN1X2NoZWNrX2NhbGxiYWNrcyhpbnQgY3B1LCBpbnQgdXNlcik7CiBleHRlcm4gdm9pZCByY3VfcmVzdGFydF9jcHUoaW50IGNwdSk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcmN1bGlzdC5oIGIvaW5jbHVkZS9saW51eC9yY3VsaXN0LmgKaW5kZXggYmRlNDU4Ni4uYjBmMzliZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9yY3VsaXN0LmgKKysrIGIvaW5jbHVkZS9saW51eC9yY3VsaXN0LmgKQEAgLTEsNiArMSwzNzMgQEAKICNpZm5kZWYgX0xJTlVYX1JDVUxJU1RfSAogI2RlZmluZSBfTElOVVhfUkNVTElTVF9ICiAKLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaWZkZWYgX19LRVJORUxfXwogCi0jZW5kaWYJLyogX0xJTlVYX1JDVUxJU1RfSCAqLworLyoKKyAqIFJDVS1wcm90ZWN0ZWQgbGlzdCB2ZXJzaW9uCisgKi8KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KKworLyoKKyAqIEluc2VydCBhIG5ldyBlbnRyeSBiZXR3ZWVuIHR3byBrbm93biBjb25zZWN1dGl2ZSBlbnRyaWVzLgorICoKKyAqIFRoaXMgaXMgb25seSBmb3IgaW50ZXJuYWwgbGlzdCBtYW5pcHVsYXRpb24gd2hlcmUgd2Uga25vdworICogdGhlIHByZXYvbmV4dCBlbnRyaWVzIGFscmVhZHkhCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2xpc3RfYWRkX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpuZXcsCisJCXN0cnVjdCBsaXN0X2hlYWQgKnByZXYsIHN0cnVjdCBsaXN0X2hlYWQgKm5leHQpCit7CisJbmV3LT5uZXh0ID0gbmV4dDsKKwluZXctPnByZXYgPSBwcmV2OworCXJjdV9hc3NpZ25fcG9pbnRlcihwcmV2LT5uZXh0LCBuZXcpOworCW5leHQtPnByZXYgPSBuZXc7Cit9CisKKy8qKgorICogbGlzdF9hZGRfcmN1IC0gYWRkIGEgbmV3IGVudHJ5IHRvIHJjdS1wcm90ZWN0ZWQgbGlzdAorICogQG5ldzogbmV3IGVudHJ5IHRvIGJlIGFkZGVkCisgKiBAaGVhZDogbGlzdCBoZWFkIHRvIGFkZCBpdCBhZnRlcgorICoKKyAqIEluc2VydCBhIG5ldyBlbnRyeSBhZnRlciB0aGUgc3BlY2lmaWVkIGhlYWQuCisgKiBUaGlzIGlzIGdvb2QgZm9yIGltcGxlbWVudGluZyBzdGFja3MuCisgKgorICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQorICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCisgKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKKyAqIG9yIGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgorICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAorICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcworICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGxpc3RfYWRkX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpuZXcsIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJX19saXN0X2FkZF9yY3UobmV3LCBoZWFkLCBoZWFkLT5uZXh0KTsKK30KKworLyoqCisgKiBsaXN0X2FkZF90YWlsX3JjdSAtIGFkZCBhIG5ldyBlbnRyeSB0byByY3UtcHJvdGVjdGVkIGxpc3QKKyAqIEBuZXc6IG5ldyBlbnRyeSB0byBiZSBhZGRlZAorICogQGhlYWQ6IGxpc3QgaGVhZCB0byBhZGQgaXQgYmVmb3JlCisgKgorICogSW5zZXJ0IGEgbmV3IGVudHJ5IGJlZm9yZSB0aGUgc3BlY2lmaWVkIGhlYWQuCisgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgaW1wbGVtZW50aW5nIHF1ZXVlcy4KKyAqCisgKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5CisgKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKKyAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBsaXN0X2FkZF90YWlsX3JjdSgpCisgKiBvciBsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2FkZF90YWlsX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpuZXcsCisJCQkJCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJX19saXN0X2FkZF9yY3UobmV3LCBoZWFkLT5wcmV2LCBoZWFkKTsKK30KKworLyoqCisgKiBsaXN0X2RlbF9yY3UgLSBkZWxldGVzIGVudHJ5IGZyb20gbGlzdCB3aXRob3V0IHJlLWluaXRpYWxpemF0aW9uCisgKiBAZW50cnk6IHRoZSBlbGVtZW50IHRvIGRlbGV0ZSBmcm9tIHRoZSBsaXN0LgorICoKKyAqIE5vdGU6IGxpc3RfZW1wdHkoKSBvbiBlbnRyeSBkb2VzIG5vdCByZXR1cm4gdHJ1ZSBhZnRlciB0aGlzLAorICogdGhlIGVudHJ5IGlzIGluIGFuIHVuZGVmaW5lZCBzdGF0ZS4gSXQgaXMgdXNlZnVsIGZvciBSQ1UgYmFzZWQKKyAqIGxvY2tmcmVlIHRyYXZlcnNhbC4KKyAqCisgKiBJbiBwYXJ0aWN1bGFyLCBpdCBtZWFucyB0aGF0IHdlIGNhbiBub3QgcG9pc29uIHRoZSBmb3J3YXJkCisgKiBwb2ludGVycyB0aGF0IG1heSBzdGlsbCBiZSB1c2VkIGZvciB3YWxraW5nIHRoZSBsaXN0LgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGxpc3RfZGVsX3JjdSgpCisgKiBvciBsaXN0X2FkZF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCkuCisgKgorICogTm90ZSB0aGF0IHRoZSBjYWxsZXIgaXMgbm90IHBlcm1pdHRlZCB0byBpbW1lZGlhdGVseSBmcmVlCisgKiB0aGUgbmV3bHkgZGVsZXRlZCBlbnRyeS4gIEluc3RlYWQsIGVpdGhlciBzeW5jaHJvbml6ZV9yY3UoKQorICogb3IgY2FsbF9yY3UoKSBtdXN0IGJlIHVzZWQgdG8gZGVmZXIgZnJlZWluZyB1bnRpbCBhbiBSQ1UKKyAqIGdyYWNlIHBlcmlvZCBoYXMgZWxhcHNlZC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGxpc3RfZGVsX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICplbnRyeSkKK3sKKwlfX2xpc3RfZGVsKGVudHJ5LT5wcmV2LCBlbnRyeS0+bmV4dCk7CisJZW50cnktPnByZXYgPSBMSVNUX1BPSVNPTjI7Cit9CisKKy8qKgorICogbGlzdF9yZXBsYWNlX3JjdSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKKyAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAorICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKKyAqCisgKiBUaGUgQG9sZCBlbnRyeSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIEBuZXcgZW50cnkgYXRvbWljYWxseS4KKyAqIE5vdGU6IEBvbGQgc2hvdWxkIG5vdCBiZSBlbXB0eS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGxpc3RfcmVwbGFjZV9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqb2xkLAorCQkJCXN0cnVjdCBsaXN0X2hlYWQgKm5ldykKK3sKKwluZXctPm5leHQgPSBvbGQtPm5leHQ7CisJbmV3LT5wcmV2ID0gb2xkLT5wcmV2OworCXJjdV9hc3NpZ25fcG9pbnRlcihuZXctPnByZXYtPm5leHQsIG5ldyk7CisJbmV3LT5uZXh0LT5wcmV2ID0gbmV3OworCW9sZC0+cHJldiA9IExJU1RfUE9JU09OMjsKK30KKworLyoqCisgKiBsaXN0X3NwbGljZV9pbml0X3JjdSAtIHNwbGljZSBhbiBSQ1UtcHJvdGVjdGVkIGxpc3QgaW50byBhbiBleGlzdGluZyBsaXN0LgorICogQGxpc3Q6CXRoZSBSQ1UtcHJvdGVjdGVkIGxpc3QgdG8gc3BsaWNlCisgKiBAaGVhZDoJdGhlIHBsYWNlIGluIHRoZSBsaXN0IHRvIHNwbGljZSB0aGUgZmlyc3QgbGlzdCBpbnRvCisgKiBAc3luYzoJZnVuY3Rpb24gdG8gc3luYzogc3luY2hyb25pemVfcmN1KCksIHN5bmNocm9uaXplX3NjaGVkKCksIC4uLgorICoKKyAqIEBoZWFkIGNhbiBiZSBSQ1UtcmVhZCB0cmF2ZXJzZWQgY29uY3VycmVudGx5IHdpdGggdGhpcyBmdW5jdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBibG9ja3MuCisgKgorICogSW1wb3J0YW50IG5vdGU6IHRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIGFjdGlvbiBpcyBuZWNlc3NhcnkgdG8KKyAqCXByZXZlbnQgYW55IG90aGVyIHVwZGF0ZXMgdG8gQGhlYWQuICBJbiBwcmluY2lwbGUsIGl0IGlzIHBvc3NpYmxlCisgKgl0byBtb2RpZnkgdGhlIGxpc3QgYXMgc29vbiBhcyBzeW5jKCkgYmVnaW5zIGV4ZWN1dGlvbi4KKyAqCUlmIHRoaXMgc29ydCBvZiB0aGluZyBiZWNvbWVzIG5lY2Vzc2FyeSwgYW4gYWx0ZXJuYXRpdmUgdmVyc2lvbgorICoJYmFzZWQgb24gY2FsbF9yY3UoKSBjb3VsZCBiZSBjcmVhdGVkLiAgQnV0IG9ubHkgaWYgLXJlYWxseS0KKyAqCW5lZWRlZCAtLSB0aGVyZSBpcyBubyBzaG9ydGFnZSBvZiBSQ1UgQVBJIG1lbWJlcnMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X3NwbGljZV9pbml0X3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0LAorCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLAorCQkJCQl2b2lkICgqc3luYykodm9pZCkpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqZmlyc3QgPSBsaXN0LT5uZXh0OworCXN0cnVjdCBsaXN0X2hlYWQgKmxhc3QgPSBsaXN0LT5wcmV2OworCXN0cnVjdCBsaXN0X2hlYWQgKmF0ID0gaGVhZC0+bmV4dDsKKworCWlmIChsaXN0X2VtcHR5KGhlYWQpKQorCQlyZXR1cm47CisKKwkvKiAiZmlyc3QiIGFuZCAibGFzdCIgdHJhY2tpbmcgbGlzdCwgc28gaW5pdGlhbGl6ZSBpdC4gKi8KKworCUlOSVRfTElTVF9IRUFEKGxpc3QpOworCisJLyoKKwkgKiBBdCB0aGlzIHBvaW50LCB0aGUgbGlzdCBib2R5IHN0aWxsIHBvaW50cyB0byB0aGUgc291cmNlIGxpc3QuCisJICogV2FpdCBmb3IgYW55IHJlYWRlcnMgdG8gZmluaXNoIHVzaW5nIHRoZSBsaXN0IGJlZm9yZSBzcGxpY2luZworCSAqIHRoZSBsaXN0IGJvZHkgaW50byB0aGUgbmV3IGxpc3QuICBBbnkgbmV3IHJlYWRlcnMgd2lsbCBzZWUKKwkgKiBhbiBlbXB0eSBsaXN0LgorCSAqLworCisJc3luYygpOworCisJLyoKKwkgKiBSZWFkZXJzIGFyZSBmaW5pc2hlZCB3aXRoIHRoZSBzb3VyY2UgbGlzdCwgc28gcGVyZm9ybSBzcGxpY2UuCisJICogVGhlIG9yZGVyIGlzIGltcG9ydGFudCBpZiB0aGUgbmV3IGxpc3QgaXMgZ2xvYmFsIGFuZCBhY2Nlc3NpYmxlCisJICogdG8gY29uY3VycmVudCBSQ1UgcmVhZGVycy4gIE5vdGUgdGhhdCBSQ1UgcmVhZGVycyBhcmUgbm90CisJICogcGVybWl0dGVkIHRvIHRyYXZlcnNlIHRoZSBwcmV2IHBvaW50ZXJzIHdpdGhvdXQgZXhjbHVkaW5nCisJICogdGhpcyBmdW5jdGlvbi4KKwkgKi8KKworCWxhc3QtPm5leHQgPSBhdDsKKwlyY3VfYXNzaWduX3BvaW50ZXIoaGVhZC0+bmV4dCwgZmlyc3QpOworCWZpcnN0LT5wcmV2ID0gaGVhZDsKKwlhdC0+cHJldiA9IGxhc3Q7Cit9CisKKy8qKgorICogbGlzdF9mb3JfZWFjaF9yY3UJLQlpdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0CisgKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqCisgKiBUaGlzIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtYXkgc2FmZWx5IHJ1biBjb25jdXJyZW50bHkgd2l0aAorICogdGhlIF9yY3UgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmVzIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKKyAqIGFzIGxvbmcgYXMgdGhlIHRyYXZlcnNhbCBpcyBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KKyAqLworI2RlZmluZSBsaXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKKwlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCisJCXByZWZldGNoKHBvcy0+bmV4dCksIHBvcyAhPSAoaGVhZCk7IFwKKwkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCisKKyNkZWZpbmUgX19saXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKKwlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCisJCXBvcyAhPSAoaGVhZCk7IFwKKwkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCisKKy8qKgorICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UJLQlpdGVyYXRlIG92ZXIgcmN1IGxpc3Qgb2YgZ2l2ZW4gdHlwZQorICogQHBvczoJdGhlIHR5cGUgKiB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KKyAqIEBoZWFkOgl0aGUgaGVhZCBmb3IgeW91ciBsaXN0LgorICogQG1lbWJlcjoJdGhlIG5hbWUgb2YgdGhlIGxpc3Rfc3RydWN0IHdpdGhpbiB0aGUgc3RydWN0LgorICoKKyAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBsaXN0X2FkZF9yY3UoKQorICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgorICovCisjZGVmaW5lIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHBvcywgaGVhZCwgbWVtYmVyKSBcCisJZm9yIChwb3MgPSBsaXN0X2VudHJ5KHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpLCB0eXBlb2YoKnBvcyksIG1lbWJlcik7IFwKKwkJcHJlZmV0Y2gocG9zLT5tZW1iZXIubmV4dCksICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7IFwKKwkJcG9zID0gbGlzdF9lbnRyeShyY3VfZGVyZWZlcmVuY2UocG9zLT5tZW1iZXIubmV4dCksIHR5cGVvZigqcG9zKSwgbWVtYmVyKSkKKworCisvKioKKyAqIGxpc3RfZm9yX2VhY2hfY29udGludWVfcmN1CisgKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqCisgKiBJdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0LCBjb250aW51aW5nIGFmdGVyIGN1cnJlbnQgcG9pbnQuCisgKgorICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCisgKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCisgKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UocG9zLCBoZWFkKSBcCisJZm9yICgocG9zKSA9IHJjdV9kZXJlZmVyZW5jZSgocG9zKS0+bmV4dCk7IFwKKwkJcHJlZmV0Y2goKHBvcyktPm5leHQpLCAocG9zKSAhPSAoaGVhZCk7IFwKKwkJKHBvcykgPSByY3VfZGVyZWZlcmVuY2UoKHBvcyktPm5leHQpKQorCisvKioKKyAqIGhsaXN0X2RlbF9yY3UgLSBkZWxldGVzIGVudHJ5IGZyb20gaGFzaCBsaXN0IHdpdGhvdXQgcmUtaW5pdGlhbGl6YXRpb24KKyAqIEBuOiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgaGFzaCBsaXN0LgorICoKKyAqIE5vdGU6IGxpc3RfdW5oYXNoZWQoKSBvbiBlbnRyeSBkb2VzIG5vdCByZXR1cm4gdHJ1ZSBhZnRlciB0aGlzLAorICogdGhlIGVudHJ5IGlzIGluIGFuIHVuZGVmaW5lZCBzdGF0ZS4gSXQgaXMgdXNlZnVsIGZvciBSQ1UgYmFzZWQKKyAqIGxvY2tmcmVlIHRyYXZlcnNhbC4KKyAqCisgKiBJbiBwYXJ0aWN1bGFyLCBpdCBtZWFucyB0aGF0IHdlIGNhbiBub3QgcG9pc29uIHRoZSBmb3J3YXJkCisgKiBwb2ludGVycyB0aGF0IG1heSBzdGlsbCBiZSB1c2VkIGZvciB3YWxraW5nIHRoZSBoYXNoIGxpc3QuCisgKgorICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQorICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCisgKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKKyAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9kZWxfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuKQoreworCV9faGxpc3RfZGVsKG4pOworCW4tPnBwcmV2ID0gTElTVF9QT0lTT04yOworfQorCisvKioKKyAqIGhsaXN0X3JlcGxhY2VfcmN1IC0gcmVwbGFjZSBvbGQgZW50cnkgYnkgbmV3IG9uZQorICogQG9sZCA6IHRoZSBlbGVtZW50IHRvIGJlIHJlcGxhY2VkCisgKiBAbmV3IDogdGhlIG5ldyBlbGVtZW50IHRvIGluc2VydAorICoKKyAqIFRoZSBAb2xkIGVudHJ5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgQG5ldyBlbnRyeSBhdG9taWNhbGx5LgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfcmVwbGFjZV9yY3Uoc3RydWN0IGhsaXN0X25vZGUgKm9sZCwKKwkJCQkJc3RydWN0IGhsaXN0X25vZGUgKm5ldykKK3sKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqbmV4dCA9IG9sZC0+bmV4dDsKKworCW5ldy0+bmV4dCA9IG5leHQ7CisJbmV3LT5wcHJldiA9IG9sZC0+cHByZXY7CisJcmN1X2Fzc2lnbl9wb2ludGVyKCpuZXctPnBwcmV2LCBuZXcpOworCWlmIChuZXh0KQorCQluZXctPm5leHQtPnBwcmV2ID0gJm5ldy0+bmV4dDsKKwlvbGQtPnBwcmV2ID0gTElTVF9QT0lTT04yOworfQorCisvKioKKyAqIGhsaXN0X2FkZF9oZWFkX3JjdQorICogQG46IHRoZSBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgorICogQGg6IHRoZSBsaXN0IHRvIGFkZCB0by4KKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QsCisgKiB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCisgKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCisgKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCisgKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQorICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4gIFJlZ2FyZGxlc3Mgb2YgdGhlIHR5cGUgb2YgQ1BVLCB0aGUKKyAqIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtdXN0IGJlIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2hlYWRfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuLAorCQkJCQlzdHJ1Y3QgaGxpc3RfaGVhZCAqaCkKK3sKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqZmlyc3QgPSBoLT5maXJzdDsKKworCW4tPm5leHQgPSBmaXJzdDsKKwluLT5wcHJldiA9ICZoLT5maXJzdDsKKwlyY3VfYXNzaWduX3BvaW50ZXIoaC0+Zmlyc3QsIG4pOworCWlmIChmaXJzdCkKKwkJZmlyc3QtPnBwcmV2ID0gJm4tPm5leHQ7Cit9CisKKy8qKgorICogaGxpc3RfYWRkX2JlZm9yZV9yY3UKKyAqIEBuOiB0aGUgbmV3IGVsZW1lbnQgdG8gYWRkIHRvIHRoZSBoYXNoIGxpc3QuCisgKiBAbmV4dDogdGhlIGV4aXN0aW5nIGVsZW1lbnQgdG8gYWRkIHRoZSBuZXcgZWxlbWVudCBiZWZvcmUuCisgKgorICogRGVzY3JpcHRpb246CisgKiBBZGRzIHRoZSBzcGVjaWZpZWQgZWxlbWVudCB0byB0aGUgc3BlY2lmaWVkIGhsaXN0CisgKiBiZWZvcmUgdGhlIHNwZWNpZmllZCBub2RlIHdoaWxlIHBlcm1pdHRpbmcgcmFjaW5nIHRyYXZlcnNhbHMuCisgKgorICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQorICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCisgKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKKyAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLCB1c2VkIHRvIHByZXZlbnQgbWVtb3J5LWNvbnNpc3RlbmN5CisgKiBwcm9ibGVtcyBvbiBBbHBoYSBDUFVzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2JlZm9yZV9yY3Uoc3RydWN0IGhsaXN0X25vZGUgKm4sCisJCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXh0KQoreworCW4tPnBwcmV2ID0gbmV4dC0+cHByZXY7CisJbi0+bmV4dCA9IG5leHQ7CisJcmN1X2Fzc2lnbl9wb2ludGVyKCoobi0+cHByZXYpLCBuKTsKKwluZXh0LT5wcHJldiA9ICZuLT5uZXh0OworfQorCisvKioKKyAqIGhsaXN0X2FkZF9hZnRlcl9yY3UKKyAqIEBwcmV2OiB0aGUgZXhpc3RpbmcgZWxlbWVudCB0byBhZGQgdGhlIG5ldyBlbGVtZW50IGFmdGVyLgorICogQG46IHRoZSBuZXcgZWxlbWVudCB0byBhZGQgdG8gdGhlIGhhc2ggbGlzdC4KKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QKKyAqIGFmdGVyIHRoZSBzcGVjaWZpZWQgbm9kZSB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCisgKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCisgKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCisgKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQorICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9hZnRlcl9yY3Uoc3RydWN0IGhsaXN0X25vZGUgKnByZXYsCisJCQkJICAgICAgIHN0cnVjdCBobGlzdF9ub2RlICpuKQoreworCW4tPm5leHQgPSBwcmV2LT5uZXh0OworCW4tPnBwcmV2ID0gJnByZXYtPm5leHQ7CisJcmN1X2Fzc2lnbl9wb2ludGVyKHByZXYtPm5leHQsIG4pOworCWlmIChuLT5uZXh0KQorCQluLT5uZXh0LT5wcHJldiA9ICZuLT5uZXh0OworfQorCisvKioKKyAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSAtIGl0ZXJhdGUgb3ZlciByY3UgbGlzdCBvZiBnaXZlbiB0eXBlCisgKiBAdHBvczoJdGhlIHR5cGUgKiB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KKyAqIEBwb3M6CXRoZSAmc3RydWN0IGhsaXN0X25vZGUgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqIEBtZW1iZXI6CXRoZSBuYW1lIG9mIHRoZSBobGlzdF9ub2RlIHdpdGhpbiB0aGUgc3RydWN0LgorICoKKyAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQorICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgorICovCisjZGVmaW5lIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSh0cG9zLCBwb3MsIGhlYWQsIG1lbWJlcikJCSBcCisJZm9yIChwb3MgPSByY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5maXJzdCk7CQkJIFwKKwkJcG9zICYmICh7IHByZWZldGNoKHBvcy0+bmV4dCk7IDE7IH0pICYmCQkJIFwKKwkJKHsgdHBvcyA9IGhsaXN0X2VudHJ5KHBvcywgdHlwZW9mKCp0cG9zKSwgbWVtYmVyKTsgMTsgfSk7IFwKKwkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCisKKyNlbmRpZgkvKiBfX0tFUk5FTF9fICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcmN1cGRhdGUuaCBiL2luY2x1ZGUvbGludXgvcmN1cGRhdGUuaAppbmRleCBkNDJkYmVjLi5lOGI0MDM5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKKysrIGIvaW5jbHVkZS9saW51eC9yY3VwZGF0ZS5oCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcWxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9sb2NrZGVwLmg+CisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogCiAvKioKICAqIHN0cnVjdCByY3VfaGVhZCAtIGNhbGxiYWNrIHN0cnVjdHVyZSBmb3IgdXNlIHdpdGggUkNVCkBAIC0xNjgsNiArMTY5LDI3IEBACiAJCShwKSA9ICh2KTsgXAogCX0pCiAKKy8qIEluZnJhc3RydWN0dXJlIHRvIGltcGxlbWVudCB0aGUgc3luY2hyb25pemVfKCkgcHJpbWl0aXZlcy4gKi8KKworc3RydWN0IHJjdV9zeW5jaHJvbml6ZSB7CisJc3RydWN0IHJjdV9oZWFkIGhlYWQ7CisJc3RydWN0IGNvbXBsZXRpb24gY29tcGxldGlvbjsKK307CisKK2V4dGVybiB2b2lkIHdha2VtZV9hZnRlcl9yY3Uoc3RydWN0IHJjdV9oZWFkICAqaGVhZCk7CisKKyNkZWZpbmUgc3luY2hyb25pemVfcmN1X3h4eChuYW1lLCBmdW5jKSBcCit2b2lkIG5hbWUodm9pZCkgXAoreyBcCisJc3RydWN0IHJjdV9zeW5jaHJvbml6ZSByY3U7IFwKKwlcCisJaW5pdF9jb21wbGV0aW9uKCZyY3UuY29tcGxldGlvbik7IFwKKwkvKiBXaWxsIHdha2UgbWUgYWZ0ZXIgUkNVIGZpbmlzaGVkLiAqLyBcCisJZnVuYygmcmN1LmhlYWQsIHdha2VtZV9hZnRlcl9yY3UpOyBcCisJLyogV2FpdCBmb3IgaXQuICovIFwKKwl3YWl0X2Zvcl9jb21wbGV0aW9uKCZyY3UuY29tcGxldGlvbik7IFwKK30KKwogLyoqCiAgKiBzeW5jaHJvbml6ZV9zY2hlZCAtIGJsb2NrIHVudGlsIGFsbCBDUFVzIGhhdmUgZXhpdGVkIGFueSBub24tcHJlZW1wdGl2ZQogICoga2VybmVsIGNvZGUgc2VxdWVuY2VzLgpAQCAtMjI0LDggKzI0Niw4IEBACiAvKiBFeHBvcnRlZCBjb21tb24gaW50ZXJmYWNlcyAqLwogZXh0ZXJuIHZvaWQgc3luY2hyb25pemVfcmN1KHZvaWQpOwogZXh0ZXJuIHZvaWQgcmN1X2JhcnJpZXIodm9pZCk7Ci1leHRlcm4gbG9uZyByY3VfYmF0Y2hlc19jb21wbGV0ZWQodm9pZCk7Ci1leHRlcm4gbG9uZyByY3VfYmF0Y2hlc19jb21wbGV0ZWRfYmgodm9pZCk7CitleHRlcm4gdm9pZCByY3VfYmFycmllcl9iaCh2b2lkKTsKK2V4dGVybiB2b2lkIHJjdV9iYXJyaWVyX3NjaGVkKHZvaWQpOwogCiAvKiBJbnRlcm5hbCB0byBrZXJuZWwgKi8KIGV4dGVybiB2b2lkIHJjdV9pbml0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yY3VwcmVlbXB0LmggYi9pbmNsdWRlL2xpbnV4L3JjdXByZWVtcHQuaAppbmRleCA4YTA1YzdlLi5mMDRiNjRlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3JjdXByZWVtcHQuaAorKysgYi9pbmNsdWRlL2xpbnV4L3JjdXByZWVtcHQuaApAQCAtNDAsMTAgKzQwLDM5IEBACiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcWxvY2suaD4KIAotI2RlZmluZSByY3VfcXNjdHJfaW5jKGNwdSkKK3N0cnVjdCByY3VfZHludGlja19zY2hlZCB7CisJaW50IGR5bnRpY2tzOworCWludCBkeW50aWNrc19zbmFwOworCWludCBzY2hlZF9xczsKKwlpbnQgc2NoZWRfcXNfc25hcDsKKwlpbnQgc2NoZWRfZHludGlja3Nfc25hcDsKK307CisKK0RFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQsIHJjdV9keW50aWNrX3NjaGVkKTsKKworc3RhdGljIGlubGluZSB2b2lkIHJjdV9xc2N0cl9pbmMoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwlyZHNzcC0+c2NoZWRfcXMrKzsKK30KICNkZWZpbmUgcmN1X2JoX3FzY3RyX2luYyhjcHUpCiAjZGVmaW5lIGNhbGxfcmN1X2JoKGhlYWQsIHJjdSkgY2FsbF9yY3UoaGVhZCwgcmN1KQogCisvKioKKyAqIGNhbGxfcmN1X3NjaGVkIC0gUXVldWUgUkNVIGNhbGxiYWNrIGZvciBpbnZvY2F0aW9uIGFmdGVyIHNjaGVkIGdyYWNlIHBlcmlvZC4KKyAqIEBoZWFkOiBzdHJ1Y3R1cmUgdG8gYmUgdXNlZCBmb3IgcXVldWVpbmcgdGhlIFJDVSB1cGRhdGVzLgorICogQGZ1bmM6IGFjdHVhbCB1cGRhdGUgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCBhZnRlciB0aGUgZ3JhY2UgcGVyaW9kCisgKgorICogVGhlIHVwZGF0ZSBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgc29tZSB0aW1lIGFmdGVyIGEgZnVsbAorICogc3luY2hyb25pemVfc2NoZWQoKS1zdHlsZSBncmFjZSBwZXJpb2QgZWxhcHNlcywgaW4gb3RoZXIgd29yZHMgYWZ0ZXIKKyAqIGFsbCBjdXJyZW50bHkgZXhlY3V0aW5nIHByZWVtcHQtZGlzYWJsZWQgc2VjdGlvbnMgb2YgY29kZSAoaW5jbHVkaW5nCisgKiBoYXJkaXJxIGhhbmRsZXJzLCBOTUkgaGFuZGxlcnMsIGFuZCBsb2NhbF9pcnFfc2F2ZSgpIGJsb2NrcykgaGF2ZQorICogY29tcGxldGVkLgorICovCitleHRlcm4gdm9pZCBjYWxsX3JjdV9zY2hlZChzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQsCisJCQkgICB2b2lkICgqZnVuYykoc3RydWN0IHJjdV9oZWFkICpoZWFkKSk7CisKIGV4dGVybiB2b2lkIF9fcmN1X3JlYWRfbG9jayh2b2lkKQlfX2FjcXVpcmVzKFJDVSk7CiBleHRlcm4gdm9pZCBfX3JjdV9yZWFkX3VubG9jayh2b2lkKQlfX3JlbGVhc2VzKFJDVSk7CiBleHRlcm4gaW50IHJjdV9wZW5kaW5nKGludCBjcHUpOwpAQCAtNTUsNiArODQsNyBAQAogZXh0ZXJuIHZvaWQgX19zeW5jaHJvbml6ZV9zY2hlZCh2b2lkKTsKIAogZXh0ZXJuIHZvaWQgX19yY3VfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIHJjdV9pbml0X3NjaGVkKHZvaWQpOwogZXh0ZXJuIHZvaWQgcmN1X2NoZWNrX2NhbGxiYWNrcyhpbnQgY3B1LCBpbnQgdXNlcik7CiBleHRlcm4gdm9pZCByY3VfcmVzdGFydF9jcHUoaW50IGNwdSk7CiBleHRlcm4gbG9uZyByY3VfYmF0Y2hlc19jb21wbGV0ZWQodm9pZCk7CkBAIC04MSwyMCArMTExLDIwIEBACiBzdHJ1Y3Qgc29mdGlycV9hY3Rpb247CiAKICNpZmRlZiBDT05GSUdfTk9fSFoKLURFQ0xBUkVfUEVSX0NQVShsb25nLCBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyKTsKK0RFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQsIHJjdV9keW50aWNrX3NjaGVkKTsKIAogc3RhdGljIGlubGluZSB2b2lkIHJjdV9lbnRlcl9ub2h6KHZvaWQpCiB7CiAJc21wX21iKCk7IC8qIENQVXMgc2VlaW5nICsrIG11c3Qgc2VlIHByaW9yIFJDVSByZWFkLXNpZGUgY3JpdCBzZWN0cyAqLwotCV9fZ2V0X2NwdV92YXIoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlcikrKzsKLQlXQVJOX09OKF9fZ2V0X2NwdV92YXIoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlcikgJiAweDEpOworCV9fZ2V0X2NwdV92YXIocmN1X2R5bnRpY2tfc2NoZWQpLmR5bnRpY2tzKys7CisJV0FSTl9PTihfX2dldF9jcHVfdmFyKHJjdV9keW50aWNrX3NjaGVkKS5keW50aWNrcyAmIDB4MSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCByY3VfZXhpdF9ub2h6KHZvaWQpCiB7Ci0JX19nZXRfY3B1X3ZhcihkeW50aWNrc19wcm9ncmVzc19jb3VudGVyKSsrOwogCXNtcF9tYigpOyAvKiBDUFVzIHNlZWluZyArKyBtdXN0IHNlZSBsYXRlciBSQ1UgcmVhZC1zaWRlIGNyaXQgc2VjdHMgKi8KLQlXQVJOX09OKCEoX19nZXRfY3B1X3ZhcihkeW50aWNrc19wcm9ncmVzc19jb3VudGVyKSAmIDB4MSkpOworCV9fZ2V0X2NwdV92YXIocmN1X2R5bnRpY2tfc2NoZWQpLmR5bnRpY2tzKys7CisJV0FSTl9PTighKF9fZ2V0X2NwdV92YXIocmN1X2R5bnRpY2tfc2NoZWQpLmR5bnRpY2tzICYgMHgxKSk7CiB9CiAKICNlbHNlIC8qIENPTkZJR19OT19IWiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yZXN1bWUtdHJhY2UuaCBiL2luY2x1ZGUvbGludXgvcmVzdW1lLXRyYWNlLmgKaW5kZXggZjNmNGYyOC4uYzliYTJmZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9yZXN1bWUtdHJhY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L3Jlc3VtZS10cmFjZS5oCkBAIC04LDcgKzgsNyBAQAogCiBzdHJ1Y3QgZGV2aWNlOwogZXh0ZXJuIHZvaWQgc2V0X3RyYWNlX2RldmljZShzdHJ1Y3QgZGV2aWNlICopOwotZXh0ZXJuIHZvaWQgZ2VuZXJhdGVfcmVzdW1lX3RyYWNlKHZvaWQgKnRyYWNlZGF0YSwgdW5zaWduZWQgaW50IHVzZXIpOworZXh0ZXJuIHZvaWQgZ2VuZXJhdGVfcmVzdW1lX3RyYWNlKGNvbnN0IHZvaWQgKnRyYWNlZGF0YSwgdW5zaWduZWQgaW50IHVzZXIpOwogCiAjZGVmaW5lIFRSQUNFX0RFVklDRShkZXYpIGRvIHsgXAogCWlmIChwbV90cmFjZV9lbmFibGVkKSBcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmggYi9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKaW5kZXggYzVkM2Y4NC4uMjEzNDkxNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zY2hlZC5oCisrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaApAQCAtMTM0LDcgKzEzNCw2IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl91bmludGVycnVwdGlibGUodm9pZCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9hY3RpdmUodm9pZCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9pb3dhaXQodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyB3ZWlnaHRlZF9jcHVsb2FkKGNvbnN0IGludCBjcHUpOwogCiBzdHJ1Y3Qgc2VxX2ZpbGU7CiBzdHJ1Y3QgY2ZzX3JxOwpAQCAtMjQ2LDYgKzI0NSw4IEBACiBleHRlcm4gdm9pZCBpbml0X2lkbGUoc3RydWN0IHRhc2tfc3RydWN0ICppZGxlLCBpbnQgY3B1KTsKIGV4dGVybiB2b2lkIGluaXRfaWRsZV9ib290dXBfdGFzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmlkbGUpOwogCitleHRlcm4gaW50IHJ1bnF1ZXVlX2lzX2xvY2tlZCh2b2lkKTsKKwogZXh0ZXJuIGNwdW1hc2tfdCBub2h6X2NwdV9tYXNrOwogI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfTk9fSFopCiBleHRlcm4gaW50IHNlbGVjdF9ub2h6X2xvYWRfYmFsYW5jZXIoaW50IGNwdSk7CkBAIC03ODQsNiArNzg1LDggQEAKIAl1bnNpZ25lZCBpbnQgYmFsYW5jZV9pbnRlcnZhbDsJLyogaW5pdGlhbGlzZSB0byAxLiB1bml0cyBpbiBtcy4gKi8KIAl1bnNpZ25lZCBpbnQgbnJfYmFsYW5jZV9mYWlsZWQ7IC8qIGluaXRpYWxpc2UgdG8gMCAqLwogCisJdTY0IGxhc3RfdXBkYXRlOworCiAjaWZkZWYgQ09ORklHX1NDSEVEU1RBVFMKIAkvKiBsb2FkX2JhbGFuY2UoKSBzdGF0cyAqLwogCXVuc2lnbmVkIGludCBsYl9jb3VudFtDUFVfTUFYX0lETEVfVFlQRVNdOwpAQCAtODIzLDIzICs4MjYsNiBAQAogCiAjZW5kaWYJLyogQ09ORklHX1NNUCAqLwogCi0vKgotICogQSBydW5xdWV1ZSBsYWRlbiB3aXRoIGEgc2luZ2xlIG5pY2UgMCB0YXNrIHNjb3JlcyBhIHdlaWdodGVkX2NwdWxvYWQgb2YKLSAqIFNDSEVEX0xPQURfU0NBTEUuIFRoaXMgZnVuY3Rpb24gcmV0dXJucyAxIGlmIGFueSBjcHUgaXMgbGFkZW4gd2l0aCBhCi0gKiB0YXNrIG9mIG5pY2UgMCBvciBlbm91Z2ggbG93ZXIgcHJpb3JpdHkgdGFza3MgdG8gYnJpbmcgdXAgdGhlCi0gKiB3ZWlnaHRlZF9jcHVsb2FkCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGFib3ZlX2JhY2tncm91bmRfbG9hZCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgY3B1OwotCi0JZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKLQkJaWYgKHdlaWdodGVkX2NwdWxvYWQoY3B1KSA+PSBTQ0hFRF9MT0FEX1NDQUxFKQotCQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotCiBzdHJ1Y3QgaW9fY29udGV4dDsJCQkvKiBTZWUgYmxrZGV2LmggKi8KICNkZWZpbmUgTkdST1VQU19TTUFMTAkJMzIKICNkZWZpbmUgTkdST1VQU19QRVJfQkxPQ0sJKCh1bnNpZ25lZCBpbnQpKFBBR0VfU0laRSAvIHNpemVvZihnaWRfdCkpKQpAQCAtOTIxLDggKzkwNyw4IEBACiAJdm9pZCAoKnNldF9jcHVzX2FsbG93ZWQpKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwKIAkJCQkgY29uc3QgY3B1bWFza190ICpuZXdtYXNrKTsKIAotCXZvaWQgKCpqb2luX2RvbWFpbikoc3RydWN0IHJxICpycSk7Ci0Jdm9pZCAoKmxlYXZlX2RvbWFpbikoc3RydWN0IHJxICpycSk7CisJdm9pZCAoKnJxX29ubGluZSkoc3RydWN0IHJxICpycSk7CisJdm9pZCAoKnJxX29mZmxpbmUpKHN0cnVjdCBycSAqcnEpOwogCiAJdm9pZCAoKnN3aXRjaGVkX2Zyb20pIChzdHJ1Y3QgcnEgKnRoaXNfcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKIAkJCSAgICAgICBpbnQgcnVubmluZyk7CkBAIC0xMDM5LDYgKzEwMjUsNyBAQAogI2VuZGlmCiAKIAlpbnQgcHJpbywgc3RhdGljX3ByaW8sIG5vcm1hbF9wcmlvOworCXVuc2lnbmVkIGludCBydF9wcmlvcml0eTsKIAljb25zdCBzdHJ1Y3Qgc2NoZWRfY2xhc3MgKnNjaGVkX2NsYXNzOwogCXN0cnVjdCBzY2hlZF9lbnRpdHkgc2U7CiAJc3RydWN0IHNjaGVkX3J0X2VudGl0eSBydDsKQEAgLTExMjIsNyArMTEwOSw2IEBACiAJaW50IF9fdXNlciAqc2V0X2NoaWxkX3RpZDsJCS8qIENMT05FX0NISUxEX1NFVFRJRCAqLwogCWludCBfX3VzZXIgKmNsZWFyX2NoaWxkX3RpZDsJCS8qIENMT05FX0NISUxEX0NMRUFSVElEICovCiAKLQl1bnNpZ25lZCBpbnQgcnRfcHJpb3JpdHk7CiAJY3B1dGltZV90IHV0aW1lLCBzdGltZSwgdXRpbWVzY2FsZWQsIHN0aW1lc2NhbGVkOwogCWNwdXRpbWVfdCBndGltZTsKIAljcHV0aW1lX3QgcHJldl91dGltZSwgcHJldl9zdGltZTsKQEAgLTExNDEsMTIgKzExMjcsMTIgQEAKIAlnaWRfdCBnaWQsZWdpZCxzZ2lkLGZzZ2lkOwogCXN0cnVjdCBncm91cF9pbmZvICpncm91cF9pbmZvOwogCWtlcm5lbF9jYXBfdCAgIGNhcF9lZmZlY3RpdmUsIGNhcF9pbmhlcml0YWJsZSwgY2FwX3Blcm1pdHRlZCwgY2FwX2JzZXQ7Ci0JdW5zaWduZWQgc2VjdXJlYml0czsKIAlzdHJ1Y3QgdXNlcl9zdHJ1Y3QgKnVzZXI7CisJdW5zaWduZWQgc2VjdXJlYml0czsKICNpZmRlZiBDT05GSUdfS0VZUworCXVuc2lnbmVkIGNoYXIgaml0X2tleXJpbmc7CS8qIGRlZmF1bHQga2V5cmluZyB0byBhdHRhY2ggcmVxdWVzdGVkIGtleXMgdG8gKi8KIAlzdHJ1Y3Qga2V5ICpyZXF1ZXN0X2tleV9hdXRoOwkvKiBhc3N1bWVkIHJlcXVlc3Rfa2V5IGF1dGhvcml0eSAqLwogCXN0cnVjdCBrZXkgKnRocmVhZF9rZXlyaW5nOwkvKiBrZXlyaW5nIHByaXZhdGUgdG8gdGhpcyB0aHJlYWQgKi8KLQl1bnNpZ25lZCBjaGFyIGppdF9rZXlyaW5nOwkvKiBkZWZhdWx0IGtleXJpbmcgdG8gYXR0YWNoIHJlcXVlc3RlZCBrZXlzIHRvICovCiAjZW5kaWYKIAljaGFyIGNvbW1bVEFTS19DT01NX0xFTl07IC8qIGV4ZWN1dGFibGUgbmFtZSBleGNsdWRpbmcgcGF0aAogCQkJCSAgICAgLSBhY2Nlc3Mgd2l0aCBbZ3NdZXRfdGFza19jb21tICh3aGljaCBsb2NrCkBAIC0xMjMzLDggKzEyMTksOCBAQAogIyBkZWZpbmUgTUFYX0xPQ0tfREVQVEggNDhVTAogCXU2NCBjdXJyX2NoYWluX2tleTsKIAlpbnQgbG9ja2RlcF9kZXB0aDsKLQlzdHJ1Y3QgaGVsZF9sb2NrIGhlbGRfbG9ja3NbTUFYX0xPQ0tfREVQVEhdOwogCXVuc2lnbmVkIGludCBsb2NrZGVwX3JlY3Vyc2lvbjsKKwlzdHJ1Y3QgaGVsZF9sb2NrIGhlbGRfbG9ja3NbTUFYX0xPQ0tfREVQVEhdOwogI2VuZGlmCiAKIC8qIGpvdXJuYWxsaW5nIGZpbGVzeXN0ZW0gaW5mbyAqLwpAQCAtMTI2MiwxMCArMTI0OCw2IEBACiAJdTY0IGFjY3Rfdm1fbWVtMTsJLyogYWNjdW11bGF0ZWQgdmlydHVhbCBtZW1vcnkgdXNhZ2UgKi8KIAljcHV0aW1lX3QgYWNjdF9zdGltZXhwZDsvKiBzdGltZSBzaW5jZSBsYXN0IHVwZGF0ZSAqLwogI2VuZGlmCi0jaWZkZWYgQ09ORklHX05VTUEKLSAgCXN0cnVjdCBtZW1wb2xpY3kgKm1lbXBvbGljeTsKLQlzaG9ydCBpbF9uZXh0OwotI2VuZGlmCiAjaWZkZWYgQ09ORklHX0NQVVNFVFMKIAlub2RlbWFza190IG1lbXNfYWxsb3dlZDsKIAlpbnQgY3B1c2V0X21lbXNfZ2VuZXJhdGlvbjsKQEAgLTEyODUsNiArMTI2NywxMCBAQAogCXN0cnVjdCBsaXN0X2hlYWQgcGlfc3RhdGVfbGlzdDsKIAlzdHJ1Y3QgZnV0ZXhfcGlfc3RhdGUgKnBpX3N0YXRlX2NhY2hlOwogI2VuZGlmCisjaWZkZWYgQ09ORklHX05VTUEKKwlzdHJ1Y3QgbWVtcG9saWN5ICptZW1wb2xpY3k7CisJc2hvcnQgaWxfbmV4dDsKKyNlbmRpZgogCWF0b21pY190IGZzX2V4Y2w7CS8qIGhvbGRpbmcgZnMgZXhjbHVzaXZlIHJlc291cmNlcyAqLwogCXN0cnVjdCByY3VfaGVhZCByY3U7CiAKQEAgLTE1MDQsNiArMTQ5MCw3IEBACiAjZGVmaW5lIFBGX1NXQVBXUklURQkweDAwODAwMDAwCS8qIEFsbG93ZWQgdG8gd3JpdGUgdG8gc3dhcCAqLwogI2RlZmluZSBQRl9TUFJFQURfUEFHRQkweDAxMDAwMDAwCS8qIFNwcmVhZCBwYWdlIGNhY2hlIG92ZXIgY3B1c2V0ICovCiAjZGVmaW5lIFBGX1NQUkVBRF9TTEFCCTB4MDIwMDAwMDAJLyogU3ByZWFkIHNvbWUgc2xhYiBjYWNoZXMgb3ZlciBjcHVzZXQgKi8KKyNkZWZpbmUgUEZfVEhSRUFEX0JPVU5ECTB4MDQwMDAwMDAJLyogVGhyZWFkIGJvdW5kIHRvIHNwZWNpZmljIGNwdSAqLwogI2RlZmluZSBQRl9NRU1QT0xJQ1kJMHgxMDAwMDAwMAkvKiBOb24tZGVmYXVsdCBOVU1BIG1lbXBvbGljeSAqLwogI2RlZmluZSBQRl9NVVRFWF9URVNURVIJMHgyMDAwMDAwMAkvKiBUaHJlYWQgYmVsb25ncyB0byB0aGUgcnQgbXV0ZXggdGVzdGVyICovCiAjZGVmaW5lIFBGX0ZSRUVaRVJfU0tJUAkweDQwMDAwMDAwCS8qIEZyZWV6ZXIgc2hvdWxkIG5vdCBjb3VudCBpdCBhcyBmcmVlemVhYmxlICovCkBAIC0xNTczLDEzICsxNTYwLDI4IEBACiBzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfY2xvY2tfaWRsZV93YWtldXBfZXZlbnQodTY0IGRlbHRhX25zKQogewogfQotI2Vsc2UKKworI2lmZGVmIENPTkZJR19OT19IWgorc3RhdGljIGlubGluZSB2b2lkIHNjaGVkX2Nsb2NrX3RpY2tfc3RvcChpbnQgY3B1KQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfY2xvY2tfdGlja19zdGFydChpbnQgY3B1KQoreworfQorI2VuZGlmCisKKyNlbHNlIC8qIENPTkZJR19IQVZFX1VOU1RBQkxFX1NDSEVEX0NMT0NLICovCiBleHRlcm4gdm9pZCBzY2hlZF9jbG9ja19pbml0KHZvaWQpOwogZXh0ZXJuIHU2NCBzY2hlZF9jbG9ja19jcHUoaW50IGNwdSk7CiBleHRlcm4gdm9pZCBzY2hlZF9jbG9ja190aWNrKHZvaWQpOwogZXh0ZXJuIHZvaWQgc2NoZWRfY2xvY2tfaWRsZV9zbGVlcF9ldmVudCh2b2lkKTsKIGV4dGVybiB2b2lkIHNjaGVkX2Nsb2NrX2lkbGVfd2FrZXVwX2V2ZW50KHU2NCBkZWx0YV9ucyk7CisjaWZkZWYgQ09ORklHX05PX0haCitleHRlcm4gdm9pZCBzY2hlZF9jbG9ja190aWNrX3N0b3AoaW50IGNwdSk7CitleHRlcm4gdm9pZCBzY2hlZF9jbG9ja190aWNrX3N0YXJ0KGludCBjcHUpOwogI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0hBVkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0sgKi8KIAogLyoKICAqIEZvciBrZXJuZWwtaW50ZXJuYWwgdXNlOiBoaWdoLXNwZWVkIChidXQgc2xpZ2h0bHkgaW5jb3JyZWN0KSBwZXItY3B1CkBAIC0xNjIyLDYgKzE2MjQsNyBAQAogZXh0ZXJuIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfZmVhdHVyZXM7CiBleHRlcm4gdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9taWdyYXRpb25fY29zdDsKIGV4dGVybiB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX25yX21pZ3JhdGU7CitleHRlcm4gdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9zaGFyZXNfcmF0ZWxpbWl0OwogCiBpbnQgc2NoZWRfbnJfbGF0ZW5jeV9oYW5kbGVyKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCiAJCXN0cnVjdCBmaWxlICpmaWxlLCB2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgKmxlbmd0aCwKQEAgLTE2NTUsNiArMTY1OCw4IEBACiBleHRlcm4gaW50IHRhc2tfY3Vycihjb25zdCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApOwogZXh0ZXJuIGludCBpZGxlX2NwdShpbnQgY3B1KTsKIGV4dGVybiBpbnQgc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBpbnQsIHN0cnVjdCBzY2hlZF9wYXJhbSAqKTsKK2V4dGVybiBpbnQgc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2soc3RydWN0IHRhc2tfc3RydWN0ICosIGludCwKKwkJCQkgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKik7CiBleHRlcm4gc3RydWN0IHRhc2tfc3RydWN0ICppZGxlX3Rhc2soaW50IGNwdSk7CiBleHRlcm4gc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyX3Rhc2soaW50IGNwdSk7CiBleHRlcm4gdm9pZCBzZXRfY3Vycl90YXNrKGludCBjcHUsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCk7CkBAIC0yMTMxLDYgKzIxMzYsMTggQEAKIH0KICNlbmRpZgogCisjaWZkZWYgQ09ORklHX1RSQUNJTkcKK2V4dGVybiB2b2lkCitfX3RyYWNlX3NwZWNpYWwodm9pZCAqX190ciwgdm9pZCAqX19kYXRhLAorCQl1bnNpZ25lZCBsb25nIGFyZzEsIHVuc2lnbmVkIGxvbmcgYXJnMiwgdW5zaWduZWQgbG9uZyBhcmczKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQKK19fdHJhY2Vfc3BlY2lhbCh2b2lkICpfX3RyLCB2b2lkICpfX2RhdGEsCisJCXVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpCit7Cit9CisjZW5kaWYKKwogZXh0ZXJuIGxvbmcgc2NoZWRfc2V0YWZmaW5pdHkocGlkX3QgcGlkLCBjb25zdCBjcHVtYXNrX3QgKm5ld19tYXNrKTsKIGV4dGVybiBsb25nIHNjaGVkX2dldGFmZmluaXR5KHBpZF90IHBpZCwgY3B1bWFza190ICptYXNrKTsKIApAQCAtMjIyNSw2ICsyMjQyLDggQEAKIH0KICNlbmRpZiAvKiBDT05GSUdfTU1fT1dORVIgKi8KIAorI2RlZmluZSBUQVNLX1NUQVRFX1RPX0NIQVJfU1RSICJSU0RUdFpYIgorCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaCBiL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaAppbmRleCA1MDczN2M3Li4zMWM4ODUxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NlY3VyaXR5LmgKKysrIGIvaW5jbHVkZS9saW51eC9zZWN1cml0eS5oCkBAIC00Niw3ICs0Niw4IEBACiAgKi8KIGV4dGVybiBpbnQgY2FwX2NhcGFibGUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjYXApOwogZXh0ZXJuIGludCBjYXBfc2V0dGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzLCBzdHJ1Y3QgdGltZXpvbmUgKnR6KTsKLWV4dGVybiBpbnQgY2FwX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7CitleHRlcm4gaW50IGNhcF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCSAgICAgIHVuc2lnbmVkIGludCBtb2RlKTsKIGV4dGVybiBpbnQgY2FwX2NhcGdldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwga2VybmVsX2NhcF90ICplZmZlY3RpdmUsIGtlcm5lbF9jYXBfdCAqaW5oZXJpdGFibGUsIGtlcm5lbF9jYXBfdCAqcGVybWl0dGVkKTsKIGV4dGVybiBpbnQgY2FwX2NhcHNldF9jaGVjayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwga2VybmVsX2NhcF90ICplZmZlY3RpdmUsIGtlcm5lbF9jYXBfdCAqaW5oZXJpdGFibGUsIGtlcm5lbF9jYXBfdCAqcGVybWl0dGVkKTsKIGV4dGVybiB2b2lkIGNhcF9jYXBzZXRfc2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBrZXJuZWxfY2FwX3QgKmVmZmVjdGl2ZSwga2VybmVsX2NhcF90ICppbmhlcml0YWJsZSwga2VybmVsX2NhcF90ICpwZXJtaXR0ZWQpOwpAQCAtNzksNiArODAsNyBAQAogc3RydWN0IHhmcm1fcG9saWN5Owogc3RydWN0IHhmcm1fc3RhdGU7CiBzdHJ1Y3QgeGZybV91c2VyX3NlY19jdHg7CitzdHJ1Y3Qgc2VxX2ZpbGU7CiAKIGV4dGVybiBpbnQgY2FwX25ldGxpbmtfc2VuZChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpOwogZXh0ZXJuIGludCBjYXBfbmV0bGlua19yZWN2KHN0cnVjdCBza19idWZmICpza2IsIGludCBjYXApOwpAQCAtMjg5LDEwICsyOTEsNiBAQAogICoJVXBkYXRlIG1vZHVsZSBzdGF0ZSBhZnRlciBhIHN1Y2Nlc3NmdWwgcGl2b3QuCiAgKglAb2xkX3BhdGggY29udGFpbnMgdGhlIHBhdGggZm9yIHRoZSBvbGQgcm9vdC4KICAqCUBuZXdfcGF0aCBjb250YWlucyB0aGUgcGF0aCBmb3IgdGhlIG5ldyByb290LgotICogQHNiX2dldF9tbnRfb3B0czoKLSAqCUdldCB0aGUgc2VjdXJpdHkgcmVsZXZhbnQgbW91bnQgb3B0aW9ucyB1c2VkIGZvciBhIHN1cGVyYmxvY2sKLSAqCUBzYiB0aGUgc3VwZXJibG9jayB0byBnZXQgc2VjdXJpdHkgbW91bnQgb3B0aW9ucyBmcm9tCi0gKglAb3B0cyBiaW5hcnkgZGF0YSBzdHJ1Y3R1cmUgY29udGFpbmluZyBhbGwgbHNtIG1vdW50IGRhdGEKICAqIEBzYl9zZXRfbW50X29wdHM6CiAgKglTZXQgdGhlIHNlY3VyaXR5IHJlbGV2YW50IG1vdW50IG9wdGlvbnMgdXNlZCBmb3IgYSBzdXBlcmJsb2NrCiAgKglAc2IgdGhlIHN1cGVyYmxvY2sgdG8gc2V0IHNlY3VyaXR5IG1vdW50IG9wdGlvbnMgZm9yCkBAIC0xMTcwLDYgKzExNjgsNyBAQAogICoJYXR0cmlidXRlcyB3b3VsZCBiZSBjaGFuZ2VkIGJ5IHRoZSBleGVjdmUuCiAgKglAcGFyZW50IGNvbnRhaW5zIHRoZSB0YXNrX3N0cnVjdCBzdHJ1Y3R1cmUgZm9yIHBhcmVudCBwcm9jZXNzLgogICoJQGNoaWxkIGNvbnRhaW5zIHRoZSB0YXNrX3N0cnVjdCBzdHJ1Y3R1cmUgZm9yIGNoaWxkIHByb2Nlc3MuCisgKglAbW9kZSBjb250YWlucyB0aGUgUFRSQUNFX01PREUgZmxhZ3MgaW5kaWNhdGluZyB0aGUgZm9ybSBvZiBhY2Nlc3MuCiAgKglSZXR1cm4gMCBpZiBwZXJtaXNzaW9uIGlzIGdyYW50ZWQuCiAgKiBAY2FwZ2V0OgogICoJR2V0IHRoZSBAZWZmZWN0aXZlLCBAaW5oZXJpdGFibGUsIGFuZCBAcGVybWl0dGVkIGNhcGFiaWxpdHkgc2V0cyBmb3IKQEAgLTEyNDAsMTEgKzEyMzksNiBAQAogICoJQHBhZ2VzIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YgcGFnZXMuCiAgKglSZXR1cm4gMCBpZiBwZXJtaXNzaW9uIGlzIGdyYW50ZWQuCiAgKgotICogQHJlZ2lzdGVyX3NlY3VyaXR5OgotICoJYWxsb3cgbW9kdWxlIHN0YWNraW5nLgotICoJQG5hbWUgY29udGFpbnMgdGhlIG5hbWUgb2YgdGhlIHNlY3VyaXR5IG1vZHVsZSBiZWluZyBzdGFja2VkLgotICoJQG9wcyBjb250YWlucyBhIHBvaW50ZXIgdG8gdGhlIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIG9mIHRoZSBtb2R1bGUgdG8gc3RhY2suCi0gKgogICogQHNlY2lkX3RvX3NlY2N0eDoKICAqCUNvbnZlcnQgc2VjaWQgdG8gc2VjdXJpdHkgY29udGV4dC4KICAqCUBzZWNpZCBjb250YWlucyB0aGUgc2VjdXJpdHkgSUQuCkBAIC0xMjk1LDcgKzEyODksOCBAQAogc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgewogCWNoYXIgbmFtZVtTRUNVUklUWV9OQU1FX01BWCArIDFdOwogCi0JaW50ICgqcHRyYWNlKSAoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpOworCWludCAoKnB0cmFjZSkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkgICAgICAgdW5zaWduZWQgaW50IG1vZGUpOwogCWludCAoKmNhcGdldCkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAogCQkgICAgICAga2VybmVsX2NhcF90ICplZmZlY3RpdmUsCiAJCSAgICAgICBrZXJuZWxfY2FwX3QgKmluaGVyaXRhYmxlLCBrZXJuZWxfY2FwX3QgKnBlcm1pdHRlZCk7CkBAIC0xMzI4LDYgKzEzMjMsNyBAQAogCXZvaWQgKCpzYl9mcmVlX3NlY3VyaXR5KSAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CiAJaW50ICgqc2JfY29weV9kYXRhKSAoY2hhciAqb3JpZywgY2hhciAqY29weSk7CiAJaW50ICgqc2Jfa2Vybl9tb3VudCkgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEpOworCWludCAoKnNiX3Nob3dfb3B0aW9ucykgKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CiAJaW50ICgqc2Jfc3RhdGZzKSAoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsKIAlpbnQgKCpzYl9tb3VudCkgKGNoYXIgKmRldl9uYW1lLCBzdHJ1Y3QgcGF0aCAqcGF0aCwKIAkJCSBjaGFyICp0eXBlLCB1bnNpZ25lZCBsb25nIGZsYWdzLCB2b2lkICpkYXRhKTsKQEAgLTEzNDMsOCArMTMzOSw2IEBACiAJCQkgICAgIHN0cnVjdCBwYXRoICpuZXdfcGF0aCk7CiAJdm9pZCAoKnNiX3Bvc3RfcGl2b3Ryb290KSAoc3RydWN0IHBhdGggKm9sZF9wYXRoLAogCQkJCSAgIHN0cnVjdCBwYXRoICpuZXdfcGF0aCk7Ci0JaW50ICgqc2JfZ2V0X21udF9vcHRzKSAoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpOwogCWludCAoKnNiX3NldF9tbnRfb3B0cykgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKTsKIAl2b2lkICgqc2JfY2xvbmVfbW50X29wdHMpIChjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm9sZHNiLApAQCAtMTQ3MiwxMCArMTQ2Niw2IEBACiAJaW50ICgqbmV0bGlua19zZW5kKSAoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKTsKIAlpbnQgKCpuZXRsaW5rX3JlY3YpIChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgY2FwKTsKIAotCS8qIGFsbG93IG1vZHVsZSBzdGFja2luZyAqLwotCWludCAoKnJlZ2lzdGVyX3NlY3VyaXR5KSAoY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpOwotCiAJdm9pZCAoKmRfaW5zdGFudGlhdGUpIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpOwogCiAJaW50ICgqZ2V0cHJvY2F0dHIpIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIGNoYXIgKip2YWx1ZSk7CkBAIC0xNTY1LDcgKzE1NTUsNiBAQAogZXh0ZXJuIGludCBzZWN1cml0eV9pbml0KHZvaWQpOwogZXh0ZXJuIGludCBzZWN1cml0eV9tb2R1bGVfZW5hYmxlKHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpOwogZXh0ZXJuIGludCByZWdpc3Rlcl9zZWN1cml0eShzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKTsKLWV4dGVybiBpbnQgbW9kX3JlZ19zZWN1cml0eShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKTsKIGV4dGVybiBzdHJ1Y3QgZGVudHJ5ICpzZWN1cml0eWZzX2NyZWF0ZV9maWxlKGNvbnN0IGNoYXIgKm5hbWUsIG1vZGVfdCBtb2RlLAogCQkJCQkgICAgIHN0cnVjdCBkZW50cnkgKnBhcmVudCwgdm9pZCAqZGF0YSwKIAkJCQkJICAgICBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpmb3BzKTsKQEAgLTE1NzMsNyArMTU2Miw4IEBACiBleHRlcm4gdm9pZCBzZWN1cml0eWZzX3JlbW92ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpOwogCiAvKiBTZWN1cml0eSBvcGVyYXRpb25zICovCi1pbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKTsKK2ludCBzZWN1cml0eV9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCSAgICB1bnNpZ25lZCBpbnQgbW9kZSk7CiBpbnQgc2VjdXJpdHlfY2FwZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAogCQkgICAga2VybmVsX2NhcF90ICplZmZlY3RpdmUsCiAJCSAgICBrZXJuZWxfY2FwX3QgKmluaGVyaXRhYmxlLApAQCAtMTYwNiw2ICsxNTk2LDcgQEAKIHZvaWQgc2VjdXJpdHlfc2JfZnJlZShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIGludCBzZWN1cml0eV9zYl9jb3B5X2RhdGEoY2hhciAqb3JpZywgY2hhciAqY29weSk7CiBpbnQgc2VjdXJpdHlfc2Jfa2Vybl9tb3VudChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhKTsKK2ludCBzZWN1cml0eV9zYl9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIGludCBzZWN1cml0eV9zYl9zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsKIGludCBzZWN1cml0eV9zYl9tb3VudChjaGFyICpkZXZfbmFtZSwgc3RydWN0IHBhdGggKnBhdGgsCiAJCSAgICAgIGNoYXIgKnR5cGUsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsIHZvaWQgKmRhdGEpOwpAQCAtMTYxNyw4ICsxNjA4LDYgQEAKIHZvaWQgc2VjdXJpdHlfc2JfcG9zdF9hZGRtb3VudChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IHBhdGggKm1vdW50cG9pbnQpOwogaW50IHNlY3VyaXR5X3NiX3Bpdm90cm9vdChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCk7CiB2b2lkIHNlY3VyaXR5X3NiX3Bvc3RfcGl2b3Ryb290KHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKTsKLWludCBzZWN1cml0eV9zYl9nZXRfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpOwogaW50IHNlY3VyaXR5X3NiX3NldF9tbnRfb3B0cyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpOwogdm9pZCBzZWN1cml0eV9zYl9jbG9uZV9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm9sZHNiLAogCQkJCXN0cnVjdCBzdXBlcl9ibG9jayAqbmV3c2IpOwpAQCAtMTc1NSw5ICsxNzQ0LDExIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKK3N0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwKKwkJCQkgIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkJICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKLQlyZXR1cm4gY2FwX3B0cmFjZShwYXJlbnQsIGNoaWxkKTsKKwlyZXR1cm4gY2FwX3B0cmFjZShwYXJlbnQsIGNoaWxkLCBtb2RlKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfY2FwZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LApAQCAtMTg4MSw2ICsxODcyLDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3NiX3Nob3dfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCisJCQkJCSAgIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3NiX3N0YXRmcyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJcmV0dXJuIDA7CkBAIC0xOTI3LDEyICsxOTI0LDYgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzZWN1cml0eV9zYl9wb3N0X3Bpdm90cm9vdChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsCiAJCQkJCSAgICAgIHN0cnVjdCBwYXRoICpuZXdfcGF0aCkKIHsgfQotc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfc2JfZ2V0X21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJCSAgIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlzZWN1cml0eV9pbml0X21udF9vcHRzKG9wdHMpOwotCXJldHVybiAwOwotfQogCiBzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQkJICAgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zbXAuaCBiL2luY2x1ZGUvbGludXgvc21wLmgKaW5kZXggNTUyMzJjYy4uNDgyNjJmOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zbXAuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NtcC5oCkBAIC03LDkgKzcsMTggQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogCiBleHRlcm4gdm9pZCBjcHVfaWRsZSh2b2lkKTsKIAorc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOworCXZvaWQgKmluZm87CisJdW5zaWduZWQgaW50IGZsYWdzOworfTsKKwogI2lmZGVmIENPTkZJR19TTVAKIAogI2luY2x1ZGUgPGxpbnV4L3ByZWVtcHQuaD4KQEAgLTUyLDE1ICs2MSwzNCBAQAogLyoKICAqIENhbGwgYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgcHJvY2Vzc29ycwogICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCByZXRyeSwgaW50IHdhaXQpOwotCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCB3YWl0KTsKK2ludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBtYXNrLCB2b2lkKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKKwkJCQlpbnQgd2FpdCk7CiBpbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHVpZCwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQlpbnQgcmV0cnksIGludCB3YWl0KTsKKwkJCQlpbnQgd2FpdCk7Cit2b2lkIF9fc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHVpZCwgc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgKmRhdGEpOworCisvKgorICogR2VuZXJpYyBhbmQgYXJjaCBoZWxwZXJzCisgKi8KKyNpZmRlZiBDT05GSUdfVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKK3ZvaWQgZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpOwordm9pZCBnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKK3ZvaWQgaW5pdF9jYWxsX3NpbmdsZV9kYXRhKHZvaWQpOwordm9pZCBpcGlfY2FsbF9sb2NrKHZvaWQpOwordm9pZCBpcGlfY2FsbF91bmxvY2sodm9pZCk7Cit2b2lkIGlwaV9jYWxsX2xvY2tfaXJxKHZvaWQpOwordm9pZCBpcGlfY2FsbF91bmxvY2tfaXJxKHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbml0X2NhbGxfc2luZ2xlX2RhdGEodm9pZCkKK3sKK30KKyNlbmRpZgogCiAvKgogICogQ2FsbCBhIGZ1bmN0aW9uIG9uIGFsbCBwcm9jZXNzb3JzCiAgKi8KLWludCBvbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KTsKK2ludCBvbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCk7CiAKICNkZWZpbmUgTVNHX0FMTF9CVVRfU0VMRgkweDgwMDAJLyogQXNzdW1lIDwzMjc2OCBDUFUncyAqLwogI2RlZmluZSBNU0dfQUxMCQkJMHg4MDAxCkBAIC05MCw5ICsxMTgsOSBAQAogewogCXJldHVybiAwOwogfQotI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCkgXAorI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCB3YWl0KSBcCiAJCQkodXBfc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbykpCi0jZGVmaW5lIG9uX2VhY2hfY3B1KGZ1bmMsaW5mbyxyZXRyeSx3YWl0KQlcCisjZGVmaW5lIG9uX2VhY2hfY3B1KGZ1bmMsaW5mbyx3YWl0KQkJXAogCSh7CQkJCQlcCiAJCWxvY2FsX2lycV9kaXNhYmxlKCk7CQlcCiAJCWZ1bmMoaW5mbyk7CQkJXApAQCAtMTAyLDcgKzEzMCw3IEBACiBzdGF0aWMgaW5saW5lIHZvaWQgc21wX3NlbmRfcmVzY2hlZHVsZShpbnQgY3B1KSB7IH0KICNkZWZpbmUgbnVtX2Jvb3RpbmdfY3B1cygpCQkJMQogI2RlZmluZSBzbXBfcHJlcGFyZV9ib290X2NwdSgpCQkJZG8ge30gd2hpbGUgKDApCi0jZGVmaW5lIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHVpZCwgZnVuYywgaW5mbywgcmV0cnksIHdhaXQpIFwKKyNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdWlkLCBmdW5jLCBpbmZvLCB3YWl0KSBcCiAoeyBcCiAJV0FSTl9PTihjcHVpZCAhPSAwKTsJXAogCWxvY2FsX2lycV9kaXNhYmxlKCk7CVwKQEAgLTExMiw3ICsxNDAsOSBAQAogfSkKICNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhtYXNrLCBmdW5jLCBpbmZvLCB3YWl0KSBcCiAJCQkodXBfc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbykpCi0KK3N0YXRpYyBpbmxpbmUgdm9pZCBpbml0X2NhbGxfc2luZ2xlX2RhdGEodm9pZCkKK3sKK30KICNlbmRpZiAvKiAhU01QICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NtcF9sb2NrLmggYi9pbmNsdWRlL2xpbnV4L3NtcF9sb2NrLmgKaW5kZXggYWFiM2E0Yy4uODEzYmU1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zbXBfbG9jay5oCisrKyBiL2luY2x1ZGUvbGludXgvc21wX2xvY2suaApAQCAtMjcsMTEgKzI3LDI0IEBACiBleHRlcm4gdm9pZCBfX2xvY2tmdW5jIGxvY2tfa2VybmVsKHZvaWQpCV9fYWNxdWlyZXMoa2VybmVsX2xvY2spOwogZXh0ZXJuIHZvaWQgX19sb2NrZnVuYyB1bmxvY2tfa2VybmVsKHZvaWQpCV9fcmVsZWFzZXMoa2VybmVsX2xvY2spOwogCisvKgorICogVmFyaW91cyBsZWdhY3kgZHJpdmVycyBkb24ndCByZWFsbHkgbmVlZCB0aGUgQktMIGluIGEgc3BlY2lmaWMKKyAqIGZ1bmN0aW9uLCBidXQgdGhleSAqZG8qIG5lZWQgdG8ga25vdyB0aGF0IHRoZSBCS0wgYmVjYW1lIGF2YWlsYWJsZS4KKyAqIFRoaXMgZnVuY3Rpb24ganVzdCBhdm9pZHMgd3JhcHBpbmcgYSBidW5jaCBvZiBsb2NrL3VubG9jayBwYWlycworICogYXJvdW5kIGNvZGUgd2hpY2ggZG9lc24ndCByZWFsbHkgbmVlZCBpdC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGN5Y2xlX2tlcm5lbF9sb2NrKHZvaWQpCit7CisJbG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfa2VybmVsKCk7Cit9CisKICNlbHNlCiAKICNkZWZpbmUgbG9ja19rZXJuZWwoKQkJCQlkbyB7IH0gd2hpbGUoMCkKICNkZWZpbmUgdW5sb2NrX2tlcm5lbCgpCQkJCWRvIHsgfSB3aGlsZSgwKQogI2RlZmluZSByZWxlYXNlX2tlcm5lbF9sb2NrKHRhc2spCQlkbyB7IH0gd2hpbGUoMCkKKyNkZWZpbmUgY3ljbGVfa2VybmVsX2xvY2soKQkJCWRvIHsgfSB3aGlsZSgwKQogI2RlZmluZSByZWFjcXVpcmVfa2VybmVsX2xvY2sodGFzaykJCTAKICNkZWZpbmUga2VybmVsX2xvY2tlZCgpCQkJCTEKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC90b3BvbG9neS5oIGIvaW5jbHVkZS9saW51eC90b3BvbG9neS5oCmluZGV4IDI0ZjNkMjIuLjIxNThmYzAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvdG9wb2xvZ3kuaAorKysgYi9pbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKQEAgLTE3OSw0ICsxNzksMTcgQEAKICNlbmRpZgogI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKKyNpZm5kZWYgdG9wb2xvZ3lfcGh5c2ljYWxfcGFja2FnZV9pZAorI2RlZmluZSB0b3BvbG9neV9waHlzaWNhbF9wYWNrYWdlX2lkKGNwdSkJKCh2b2lkKShjcHUpLCAtMSkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV9jb3JlX2lkCisjZGVmaW5lIHRvcG9sb2d5X2NvcmVfaWQoY3B1KQkJCSgodm9pZCkoY3B1KSwgMCkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV90aHJlYWRfc2libGluZ3MKKyNkZWZpbmUgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzKGNwdSkJCWNwdW1hc2tfb2ZfY3B1KGNwdSkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV9jb3JlX3NpYmxpbmdzCisjZGVmaW5lIHRvcG9sb2d5X2NvcmVfc2libGluZ3MoY3B1KQkJY3B1bWFza19vZl9jcHUoY3B1KQorI2VuZGlmCisKICNlbmRpZiAvKiBfTElOVVhfVE9QT0xPR1lfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC93cml0ZWJhY2suaCBiL2luY2x1ZGUvbGludXgvd3JpdGViYWNrLmgKaW5kZXggZjQ2MjQzOS4uMTJiMTVjNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC93cml0ZWJhY2suaAorKysgYi9pbmNsdWRlL2xpbnV4L3dyaXRlYmFjay5oCkBAIC02Myw2ICs2Myw3IEBACiAJdW5zaWduZWQgZm9yX3dyaXRlcGFnZXM6MTsJLyogVGhpcyBpcyBhIHdyaXRlcGFnZXMoKSBjYWxsICovCiAJdW5zaWduZWQgcmFuZ2VfY3ljbGljOjE7CS8qIHJhbmdlX3N0YXJ0IGlzIGN5Y2xpYyAqLwogCXVuc2lnbmVkIG1vcmVfaW86MTsJCS8qIG1vcmUgaW8gdG8gYmUgZGlzcGF0Y2hlZCAqLworCXVuc2lnbmVkIHJhbmdlX2NvbnQ6MTsKIH07CiAKIC8qCkBAIC0xMDUsNiArMTA2LDggQEAKIGV4dGVybiBpbnQgYmxvY2tfZHVtcDsKIGV4dGVybiBpbnQgbGFwdG9wX21vZGU7CiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIGRldGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KHZvaWQpOworCiBleHRlcm4gaW50IGRpcnR5X3JhdGlvX2hhbmRsZXIoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKIAkJc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKIAkJbG9mZl90ICpwcG9zKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgveGZybS5oIGIvaW5jbHVkZS9saW51eC94ZnJtLmgKaW5kZXggMmNhNmJhZS4uZmIwYzIxNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC94ZnJtLmgKKysrIGIvaW5jbHVkZS9saW51eC94ZnJtLmgKQEAgLTMzOSw2ICszMzksNyBAQAogI2RlZmluZSBYRlJNX1NUQVRFX05PUE1UVURJU0MJNAogI2RlZmluZSBYRlJNX1NUQVRFX1dJTERSRUNWCTgKICNkZWZpbmUgWEZSTV9TVEFURV9JQ01QCQkxNgorI2RlZmluZSBYRlJNX1NUQVRFX0FGX1VOU1BFQwkzMgogfTsKIAogc3RydWN0IHhmcm1fdXNlcnNhX2lkIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2J1bGttZW0uaCBiL2luY2x1ZGUvcGNtY2lhL2J1bGttZW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmJjNzQ3Mi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL3BjbWNpYS9idWxrbWVtLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKgotICogYnVsa21lbS5oIC0tIERlZmluaXRpb25zIGZvciBidWxrIG1lbW9yeSBzZXJ2aWNlcwotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhlIGluaXRpYWwgZGV2ZWxvcGVyIG9mIHRoZSBvcmlnaW5hbCBjb2RlIGlzIERhdmlkIEEuIEhpbmRzCi0gKiA8ZGFoaW5kc0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+LiAgUG9ydGlvbnMgY3JlYXRlZCBieSBEYXZpZCBBLiBIaW5kcwotICogYXJlIENvcHlyaWdodCAoQykgMTk5OSBEYXZpZCBBLiBIaW5kcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogKEMpIDE5OTkJCURhdmlkIEEuIEhpbmRzCi0gKi8KLQotI2lmbmRlZiBfTElOVVhfQlVMS01FTV9ICi0jZGVmaW5lIF9MSU5VWF9CVUxLTUVNX0gKLQotLyogRm9yIEdldEZpcnN0UmVnaW9uIGFuZCBHZXROZXh0UmVnaW9uICovCi10eXBlZGVmIHN0cnVjdCByZWdpb25faW5mb190IHsKLSAgICB1X2ludAkJQXR0cmlidXRlczsKLSAgICB1X2ludAkJQ2FyZE9mZnNldDsKLSAgICB1X2ludAkJUmVnaW9uU2l6ZTsKLSAgICB1X2ludAkJQWNjZXNzU3BlZWQ7Ci0gICAgdV9pbnQJCUJsb2NrU2l6ZTsKLSAgICB1X2ludAkJUGFydE11bHRpcGxlOwotICAgIHVfY2hhcgkJSmVkZWNNZnIsIEplZGVjSW5mbzsKLSAgICBtZW1vcnlfaGFuZGxlX3QJbmV4dDsKLX0gcmVnaW9uX2luZm9fdDsKLQotI2RlZmluZSBSRUdJT05fVFlQRQkJMHgwMDAxCi0jZGVmaW5lIFJFR0lPTl9UWVBFX0NNCQkweDAwMDAKLSNkZWZpbmUgUkVHSU9OX1RZUEVfQU0JCTB4MDAwMQotI2RlZmluZSBSRUdJT05fUFJFRkVUQ0gJCTB4MDAwOAotI2RlZmluZSBSRUdJT05fQ0FDSEVBQkxFCTB4MDAxMAotI2RlZmluZSBSRUdJT05fQkFSX01BU0sJCTB4ZTAwMAotI2RlZmluZSBSRUdJT05fQkFSX1NISUZUCTEzCi0KLWludCBwY21jaWFfZ2V0X2ZpcnN0X3JlZ2lvbihzdHJ1Y3QgcGNtY2lhX2RldmljZSAqaGFuZGxlLCByZWdpb25faW5mb190ICpyZ24pOwotaW50IHBjbWNpYV9nZXRfbmV4dF9yZWdpb24oc3RydWN0IHBjbWNpYV9kZXZpY2UgKmhhbmRsZSwgcmVnaW9uX2luZm9fdCAqcmduKTsKLQotI2VuZGlmIC8qIF9MSU5VWF9CVUxLTUVNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2Npc3RwbC5oIGIvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKaW5kZXggZDNiYmIxOS4uZTJlMTBjMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKKysrIGIvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKQEAgLTU5NSw3ICs1OTUsNyBAQAogaW50IHBjY2FyZF9nZXRfdHVwbGVfZGF0YShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdHVwbGVfdCAqdHVwbGUpOwogaW50IHBjY2FyZF9wYXJzZV90dXBsZSh0dXBsZV90ICp0dXBsZSwgY2lzcGFyc2VfdCAqcGFyc2UpOwogCi1pbnQgcGNjYXJkX3ZhbGlkYXRlX2NpcyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdW5zaWduZWQgaW50IGZ1bmN0aW9uLCBjaXNpbmZvX3QgKmluZm8pOworaW50IHBjY2FyZF92YWxpZGF0ZV9jaXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHVuc2lnbmVkIGludCBmdW5jdGlvbiwgdW5zaWduZWQgaW50ICpjb3VudCk7CiAKIC8qIC4uLiBidXQgdXNlIHRoZXNlIHdyYXBwZXJzIGluc3RlYWQgKi8KICNkZWZpbmUgcGNtY2lhX2dldF9maXJzdF90dXBsZShwX2RldiwgdHVwbGUpIFwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2NzLmggYi9pbmNsdWRlL3BjbWNpYS9jcy5oCmluZGV4IDg3YTI2MGUuLjQ1ZDg0YjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcGNtY2lhL2NzLmgKKysrIGIvaW5jbHVkZS9wY21jaWEvY3MuaApAQCAtMzczLDkgKzM3Myw2IEBACiAKIGludCBwY21jaWFfYWNjZXNzX2NvbmZpZ3VyYXRpb25fcmVnaXN0ZXIoc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBjb25mX3JlZ190ICpyZWcpOwogaW50IHBjbWNpYV9nZXRfY29uZmlndXJhdGlvbl9pbmZvKHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgY29uZmlnX2luZm9fdCAqY29uZmlnKTsKLWludCBwY21jaWFfZ2V0X2ZpcnN0X3dpbmRvdyh3aW5kb3dfaGFuZGxlX3QgKndpbiwgd2luX3JlcV90ICpyZXEpOwotaW50IHBjbWNpYV9nZXRfbmV4dF93aW5kb3cod2luZG93X2hhbmRsZV90ICp3aW4sIHdpbl9yZXFfdCAqcmVxKTsKLWludCBwY21jaWFfZ2V0X3N0YXR1cyhzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsIGNzX3N0YXR1c190ICpzdGF0dXMpOwogaW50IHBjbWNpYV9nZXRfbWVtX3BhZ2Uod2luZG93X2hhbmRsZV90IHdpbiwgbWVtcmVxX3QgKnJlcSk7CiBpbnQgcGNtY2lhX21hcF9tZW1fcGFnZSh3aW5kb3dfaGFuZGxlX3Qgd2luLCBtZW1yZXFfdCAqcmVxKTsKIGludCBwY21jaWFfbW9kaWZ5X2NvbmZpZ3VyYXRpb24oc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBtb2Rjb25mX3QgKm1vZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9jc190eXBlcy5oIGIvaW5jbHVkZS9wY21jaWEvY3NfdHlwZXMuaAppbmRleCA5YTZiY2M0Li5mNDAyYTBmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9jc190eXBlcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL2NzX3R5cGVzLmgKQEAgLTIxLDcgKzIxLDggQEAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNlbmRpZgogCi0jaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fYXZyMzJfXykKKyNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19hdnIzMl9fKSB8fCBcCisJZGVmaW5lZChfX2JmaW5fXykKIC8qIFRoaXMgKGlvYWRkcl90KSBpcyBleHBvc2VkIHRvIHVzZXJzcGFjZSAmIGhlbmNlIGNhbm5vdCBiZSBjaGFuZ2VkLiAqLwogdHlwZWRlZiB1X2ludCAgIGlvYWRkcl90OwogI2Vsc2UKQEAgLTMzLDkgKzM0LDYgQEAKIHR5cGVkZWYgdV9jaGFyCWNpc2RhdGFfdDsKIHR5cGVkZWYgdV9zaG9ydAlwYWdlX3Q7CiAKLXN0cnVjdCBwY21jaWFfZGV2aWNlOwotdHlwZWRlZiBzdHJ1Y3QgcGNtY2lhX2RldmljZSAqY2xpZW50X2hhbmRsZV90OwotCiBzdHJ1Y3Qgd2luZG93X3Q7CiB0eXBlZGVmIHN0cnVjdCB3aW5kb3dfdCAqd2luZG93X2hhbmRsZV90OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9kcy5oIGIvaW5jbHVkZS9wY21jaWEvZHMuaAppbmRleCBmMDQ3YTFmLi5iMzE2MDI3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9kcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL2RzLmgKQEAgLTIwLDcgKzIwLDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvZGV2aWNlX2lkLmg+CiAKQEAgLTUxLDYgKzUwLDI0IEBACiAgICAgdV9pbnQJCUNhcmRPZmZzZXQ7CiB9IG10ZF9pbmZvX3Q7CiAKK3R5cGVkZWYgc3RydWN0IHJlZ2lvbl9pbmZvX3QgeworICAgIHVfaW50CQlBdHRyaWJ1dGVzOworICAgIHVfaW50CQlDYXJkT2Zmc2V0OworICAgIHVfaW50CQlSZWdpb25TaXplOworICAgIHVfaW50CQlBY2Nlc3NTcGVlZDsKKyAgICB1X2ludAkJQmxvY2tTaXplOworICAgIHVfaW50CQlQYXJ0TXVsdGlwbGU7CisgICAgdV9jaGFyCQlKZWRlY01mciwgSmVkZWNJbmZvOworICAgIG1lbW9yeV9oYW5kbGVfdAluZXh0OworfSByZWdpb25faW5mb190OworI2RlZmluZSBSRUdJT05fVFlQRQkJMHgwMDAxCisjZGVmaW5lIFJFR0lPTl9UWVBFX0NNCQkweDAwMDAKKyNkZWZpbmUgUkVHSU9OX1RZUEVfQU0JCTB4MDAwMQorI2RlZmluZSBSRUdJT05fUFJFRkVUQ0gJCTB4MDAwOAorI2RlZmluZSBSRUdJT05fQ0FDSEVBQkxFCTB4MDAxMAorI2RlZmluZSBSRUdJT05fQkFSX01BU0sJCTB4ZTAwMAorI2RlZmluZSBSRUdJT05fQkFSX1NISUZUCTEzCisKIHR5cGVkZWYgdW5pb24gZHNfaW9jdGxfYXJnX3QgewogICAgIGFkanVzdF90CQlhZGp1c3Q7CiAgICAgY29uZmlnX2luZm9fdAljb25maWc7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9zcy5oIGIvaW5jbHVkZS9wY21jaWEvc3MuaAppbmRleCBmOTVkY2EwLi5lZDkxOWRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9zcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL3NzLmgKQEAgLTIxLDcgKzIxLDYgQEAKIAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaWZkZWYgQ09ORklHX0NBUkRCVVMKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNlbmRpZgpAQCAtMTM2LDggKzEzNSwxNCBAQAogCXN0cnVjdCByZXNvdXJjZSogKCpmaW5kX21lbSkJKHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBudW0sCiAJCQkJCSB1bnNpZ25lZCBsb25nIGFsaWduLCBpbnQgbG93LAogCQkJCQkgc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpOwotCWludAkoKmFkanVzdF9yZXNvdXJjZSkJKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAotCQkJCQkgYWRqdXN0X3QgKmFkaik7CisJaW50CSgqYWRkX2lvKQkJKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAorCQkJCQkgdW5zaWduZWQgaW50IGFjdGlvbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgcl9zdGFydCwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgcl9lbmQpOworCWludAkoKmFkZF9tZW0pCQkoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsCisJCQkJCSB1bnNpZ25lZCBpbnQgYWN0aW9uLAorCQkJCQkgdW5zaWduZWQgbG9uZyByX3N0YXJ0LAorCQkJCQkgdW5zaWduZWQgbG9uZyByX2VuZCk7CiAJaW50CSgqaW5pdCkJCQkoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpOwogCXZvaWQJKCpleGl0KQkJCShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcyk7CiB9OwpAQCAtMjQ1LDcgKzI1MCw2IEBACiAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QJCSp0aHJlYWQ7CiAJc3RydWN0IGNvbXBsZXRpb24JCXRocmVhZF9kb25lOwotCXdhaXRfcXVldWVfaGVhZF90CQl0aHJlYWRfd2FpdDsKIAlzcGlubG9ja190CQkJdGhyZWFkX2xvY2s7CS8qIHByb3RlY3RzIHRocmVhZF9ldmVudHMgKi8KIAl1bnNpZ25lZCBpbnQJCQl0aHJlYWRfZXZlbnRzOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS92ZXJzaW9uLmggYi9pbmNsdWRlL3BjbWNpYS92ZXJzaW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZDljNWUuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9wY21jaWEvdmVyc2lvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0vKiB2ZXJzaW9uLmggMS45NCAyMDAwLzEwLzAzIDE3OjU1OjQ4IChEYXZpZCBIaW5kcykgKi8KLQotLyogVGhpcyBmaWxlIHdpbGwgYmUgcmVtb3ZlZCwgcGxlYXNlIGRvbid0IGluY2x1ZGUgaXQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9hZGRyLmggYi9pbmNsdWRlL3JkbWEvaWJfYWRkci5oCmluZGV4IGMzNjc1MGYuLjQ4MzA1N2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9hZGRyLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX2FkZHIuaApAQCAtMiwyOSArMiwzMyBAQAogICogQ29weXJpZ2h0IChjKSAyMDA1IFZvbHRhaXJlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgSW50ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFRoaXMgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXM6CisgKiBUaGlzIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bworICogbGljZW5zZXMuICBZb3UgbWF5IGNob29zZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIsIGF2YWlsYWJsZSBmcm9tIHRoZSBmaWxlCisgKiBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLCBvciB0aGUKKyAqIE9wZW5JQi5vcmcgQlNEIGxpY2Vuc2UgYmVsb3c6CiAgKgotICogMSkgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiQ29tbW9uIFB1YmxpYyBMaWNlbnNlIDEuMCIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2NwbC5waHAuCisgKiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgorICogICAgIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZworICogICAgIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAqCi0gKiAyKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJUaGUgQlNEIExpY2Vuc2UiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lci4KICAqCi0gKiAzKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIiIGEKLSAqICAgIGNvcHkgb2Ygd2hpY2ggaXMgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICoKLSAqIExpY2Vuc2VlIGhhcyB0aGUgcmlnaHQgdG8gY2hvb3NlIG9uZSBvZiB0aGUgYWJvdmUgbGljZW5zZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSBhbmQgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGJvdGggdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbgotICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisgKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FSRS4KICAqLwogCiAjaWYgIWRlZmluZWQoSUJfQUREUl9IKQpAQCAtNTcsNiArNjEsNyBAQAogCXVuc2lnbmVkIGNoYXIgZHN0X2Rldl9hZGRyW01BWF9BRERSX0xFTl07CiAJdW5zaWduZWQgY2hhciBicm9hZGNhc3RbTUFYX0FERFJfTEVOXTsKIAllbnVtIHJkbWFfbm9kZV90eXBlIGRldl90eXBlOworCXN0cnVjdCBuZXRfZGV2aWNlICpzcmNfZGV2OwogfTsKIAogLyoqCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfY2FjaGUuaCBiL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCmluZGV4IGYxNzlkMjMuLjAwYTJiOGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9jYWNoZS5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIF9JQl9DQUNIRV9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfY20uaCBiL2luY2x1ZGUvcmRtYS9pYl9jbS5oCmluZGV4IGE2MjdjODYuLmVjN2M2ZDkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9jbS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9jbS5oCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9jbS5oIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KICNpZiAhZGVmaW5lZChJQl9DTV9IKQogI2RlZmluZSBJQl9DTV9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfZm1yX3Bvb2wuaCBiL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCmluZGV4IDAwZGFkYmYuLmY2MmI4NDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9mbXJfcG9vbC5oIDI3MzAgMjAwNS0wNi0yOCAxNjo0MzowM1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmICFkZWZpbmVkKElCX0ZNUl9QT09MX0gpCkBAIC02MSw3ICs1OSw3IEBACiAJaW50ICAgICAgICAgICAgICAgICAgICAgcG9vbF9zaXplOwogCWludCAgICAgICAgICAgICAgICAgICAgIGRpcnR5X3dhdGVybWFyazsKIAl2b2lkICAgICAgICAgICAgICAgICAgKCpmbHVzaF9mdW5jdGlvbikoc3RydWN0IGliX2Ztcl9wb29sICpwb29sLAotCQkJCQkJdm9pZCAqICAgICAgICAgICAgICBhcmcpOworCQkJCQkJdm9pZCAgICAgICAgICAgICAgICphcmcpOwogCXZvaWQgICAgICAgICAgICAgICAgICAgKmZsdXNoX2FyZzsKIAl1bnNpZ25lZCAgICAgICAgICAgICAgICBjYWNoZToxOwogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9tYWQuaCBiL2luY2x1ZGUvcmRtYS9pYl9tYWQuaAppbmRleCA3MjI4YzA1Li41ZjZjNDBmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfbWFkLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX21hZC5oCkBAIC0zMiwxMSArMzIsOSBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfbWFkLmggNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCi0jaWYgIWRlZmluZWQoIElCX01BRF9IICkKKyNpZiAhZGVmaW5lZChJQl9NQURfSCkKICNkZWZpbmUgSUJfTUFEX0gKIAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KQEAgLTE5NCw4ICsxOTIsNyBAQAogCXU4CQkJZGF0YVtJQl9NR01UX1ZFTkRPUl9EQVRBXTsKIH07CiAKLXN0cnVjdCBpYl9jbGFzc19wb3J0X2luZm8KLXsKK3N0cnVjdCBpYl9jbGFzc19wb3J0X2luZm8gewogCXU4CQkJYmFzZV92ZXJzaW9uOwogCXU4CQkJY2xhc3NfdmVyc2lvbjsKIAlfX2JlMTYJCQljYXBhYmlsaXR5X21hc2s7CkBAIC02MTQsMTEgKzYxMSwxMSBAQAogICogYW55IGNsYXNzIHNwZWNpZmljIGhlYWRlciwgYW5kIE1BRCBkYXRhIGFyZWEuCiAgKiBJZiBAcm1wcF9hY3RpdmUgaXMgc2V0LCB0aGUgUk1QUCBoZWFkZXIgd2lsbCBiZSBpbml0aWFsaXplZCBmb3Igc2VuZGluZy4KICAqLwotc3RydWN0IGliX21hZF9zZW5kX2J1ZiAqIGliX2NyZWF0ZV9zZW5kX21hZChzdHJ1Y3QgaWJfbWFkX2FnZW50ICptYWRfYWdlbnQsCi0JCQkJCSAgICB1MzIgcmVtb3RlX3FwbiwgdTE2IHBrZXlfaW5kZXgsCi0JCQkJCSAgICBpbnQgcm1wcF9hY3RpdmUsCi0JCQkJCSAgICBpbnQgaGRyX2xlbiwgaW50IGRhdGFfbGVuLAotCQkJCQkgICAgZ2ZwX3QgZ2ZwX21hc2spOworc3RydWN0IGliX21hZF9zZW5kX2J1ZiAqaWJfY3JlYXRlX3NlbmRfbWFkKHN0cnVjdCBpYl9tYWRfYWdlbnQgKm1hZF9hZ2VudCwKKwkJCQkJICAgdTMyIHJlbW90ZV9xcG4sIHUxNiBwa2V5X2luZGV4LAorCQkJCQkgICBpbnQgcm1wcF9hY3RpdmUsCisJCQkJCSAgIGludCBoZHJfbGVuLCBpbnQgZGF0YV9sZW4sCisJCQkJCSAgIGdmcF90IGdmcF9tYXNrKTsKIAogLyoqCiAgKiBpYl9pc19tYWRfY2xhc3Nfcm1wcCAtIHJldHVybnMgd2hldGhlciBnaXZlbiBtYW5hZ2VtZW50IGNsYXNzCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfcGFjay5oIGIvaW5jbHVkZS9yZG1hL2liX3BhY2suaAppbmRleCBmOTI2MDIwLi5kN2ZjNDVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfcGFjay5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9wYWNrLmgKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3BhY2suaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBJQl9QQUNLX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9zYS5oIGIvaW5jbHVkZS9yZG1hL2liX3NhLmgKaW5kZXggOTQyNjkyYi4uMzg0MWMxYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3NhLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3NhLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3NhLmggMjgxMSAyMDA1LTA3LTA2IDE4OjExOjQzWiBoYWxyICQKICAqLwogCiAjaWZuZGVmIElCX1NBX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9zbWkuaCBiL2luY2x1ZGUvcmRtYS9pYl9zbWkuaAppbmRleCBmMjlhZjEzLi5hYWNhMDg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfc21pLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3NtaS5oCkBAIC0zMiwxMSArMzIsOSBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfc21pLmggMTM4OSAyMDA0LTEyLTI3IDIyOjU2OjQ3WiByb2xhbmQgJAogICovCiAKLSNpZiAhZGVmaW5lZCggSUJfU01JX0ggKQorI2lmICFkZWZpbmVkKElCX1NNSV9IKQogI2RlZmluZSBJQl9TTUlfSAogCiAjaW5jbHVkZSA8cmRtYS9pYl9tYWQuaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX2NtLmggYi9pbmNsdWRlL3JkbWEvaWJfdXNlcl9jbS5oCmluZGV4IDM3NjUwYWYuLmJkM2QzODAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX2NtLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfY20uaApAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdXNlcl9jbS5oIDQwMTkgMjAwNS0xMS0xMSAwMDozMzowOVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmbmRlZiBJQl9VU0VSX0NNX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX21hZC5oIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKaW5kZXggMjlkMmM3Mi4uZDZmY2UxYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3VzZXJfbWFkLmggMjgxNCAyMDA1LTA3LTA2IDE5OjE0OjA5WiBoYWxyICQKICAqLwogCiAjaWZuZGVmIElCX1VTRVJfTUFEX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX3ZlcmJzLmggYi9pbmNsdWRlL3JkbWEvaWJfdXNlcl92ZXJicy5oCmluZGV4IDhkNjViZjAuLmExN2Y3NzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX3ZlcmJzLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfdmVyYnMuaApAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdXNlcl92ZXJicy5oIDQwMTkgMjAwNS0xMS0xMSAwMDozMzowOVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmbmRlZiBJQl9VU0VSX1ZFUkJTX0gKQEAgLTI5MSw3ICsyODksMTAgQEAKIAlfX3UzMiBvcGNvZGU7CiAJX191MzIgdmVuZG9yX2VycjsKIAlfX3UzMiBieXRlX2xlbjsKLQlfX3UzMiBpbW1fZGF0YTsKKwl1bmlvbiB7CisJCV9fdTMyIGltbV9kYXRhOworCQlfX3UzMiBpbnZhbGlkYXRlX3JrZXk7CisJfSBleDsKIAlfX3UzMiBxcF9udW07CiAJX191MzIgc3JjX3FwOwogCV9fdTMyIHdjX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL2liX3ZlcmJzLmggYi9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaAppbmRleCAzMWQzMGIxLi45MGI1MjlmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaAorKysgYi9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaApAQCAtMzQsOCArMzQsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdmVyYnMuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmICFkZWZpbmVkKElCX1ZFUkJTX0gpCkBAIC05Myw3ICs5MSw3IEBACiAJSUJfREVWSUNFX1JDX1JOUl9OQUtfR0VOCT0gKDE8PDEyKSwKIAlJQl9ERVZJQ0VfU1JRX1JFU0laRQkJPSAoMTw8MTMpLAogCUlCX0RFVklDRV9OX05PVElGWV9DUQkJPSAoMTw8MTQpLAotCUlCX0RFVklDRV9aRVJPX1NUQUcJCT0gKDE8PDE1KSwKKwlJQl9ERVZJQ0VfTE9DQUxfRE1BX0xLRVkJPSAoMTw8MTUpLAogCUlCX0RFVklDRV9SRVNFUlZFRAkJPSAoMTw8MTYpLCAvKiBvbGQgU0VORF9XX0lOViAqLwogCUlCX0RFVklDRV9NRU1fV0lORE9XCQk9ICgxPDwxNyksCiAJLyoKQEAgLTEwNSw2ICsxMDMsOCBAQAogCSAqLwogCUlCX0RFVklDRV9VRF9JUF9DU1VNCQk9ICgxPDwxOCksCiAJSUJfREVWSUNFX1VEX1RTTwkJPSAoMTw8MTkpLAorCUlCX0RFVklDRV9NRU1fTUdUX0VYVEVOU0lPTlMJPSAoMTw8MjEpLAorCUlCX0RFVklDRV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0sgPSAoMTw8MjIpLAogfTsKIAogZW51bSBpYl9hdG9taWNfY2FwIHsKQEAgLTE1MCw2ICsxNTAsNyBAQAogCWludAkJCW1heF9zcnE7CiAJaW50CQkJbWF4X3NycV93cjsKIAlpbnQJCQltYXhfc3JxX3NnZTsKKwl1bnNpZ25lZCBpbnQJCW1heF9mYXN0X3JlZ19wYWdlX2xpc3RfbGVuOwogCXUxNgkJCW1heF9wa2V5czsKIAl1OAkJCWxvY2FsX2NhX2Fja19kZWxheTsKIH07CkBAIC0yMjYsNiArMjI3LDU3IEBACiAJfQogfQogCitzdHJ1Y3QgaWJfcHJvdG9jb2xfc3RhdHMgeworCS8qIFRCRC4uLiAqLworfTsKKworc3RydWN0IGl3X3Byb3RvY29sX3N0YXRzIHsKKwl1NjQJaXBJblJlY2VpdmVzOworCXU2NAlpcEluSGRyRXJyb3JzOworCXU2NAlpcEluVG9vQmlnRXJyb3JzOworCXU2NAlpcEluTm9Sb3V0ZXM7CisJdTY0CWlwSW5BZGRyRXJyb3JzOworCXU2NAlpcEluVW5rbm93blByb3RvczsKKwl1NjQJaXBJblRydW5jYXRlZFBrdHM7CisJdTY0CWlwSW5EaXNjYXJkczsKKwl1NjQJaXBJbkRlbGl2ZXJzOworCXU2NAlpcE91dEZvcndEYXRhZ3JhbXM7CisJdTY0CWlwT3V0UmVxdWVzdHM7CisJdTY0CWlwT3V0RGlzY2FyZHM7CisJdTY0CWlwT3V0Tm9Sb3V0ZXM7CisJdTY0CWlwUmVhc21UaW1lb3V0OworCXU2NAlpcFJlYXNtUmVxZHM7CisJdTY0CWlwUmVhc21PS3M7CisJdTY0CWlwUmVhc21GYWlsczsKKwl1NjQJaXBGcmFnT0tzOworCXU2NAlpcEZyYWdGYWlsczsKKwl1NjQJaXBGcmFnQ3JlYXRlczsKKwl1NjQJaXBJbk1jYXN0UGt0czsKKwl1NjQJaXBPdXRNY2FzdFBrdHM7CisJdTY0CWlwSW5CY2FzdFBrdHM7CisJdTY0CWlwT3V0QmNhc3RQa3RzOworCisJdTY0CXRjcFJ0b0FsZ29yaXRobTsKKwl1NjQJdGNwUnRvTWluOworCXU2NAl0Y3BSdG9NYXg7CisJdTY0CXRjcE1heENvbm47CisJdTY0CXRjcEFjdGl2ZU9wZW5zOworCXU2NAl0Y3BQYXNzaXZlT3BlbnM7CisJdTY0CXRjcEF0dGVtcHRGYWlsczsKKwl1NjQJdGNwRXN0YWJSZXNldHM7CisJdTY0CXRjcEN1cnJFc3RhYjsKKwl1NjQJdGNwSW5TZWdzOworCXU2NAl0Y3BPdXRTZWdzOworCXU2NAl0Y3BSZXRyYW5zU2VnczsKKwl1NjQJdGNwSW5FcnJzOworCXU2NAl0Y3BPdXRSc3RzOworfTsKKwordW5pb24gcmRtYV9wcm90b2NvbF9zdGF0cyB7CisJc3RydWN0IGliX3Byb3RvY29sX3N0YXRzCWliOworCXN0cnVjdCBpd19wcm90b2NvbF9zdGF0cwlpdzsKK307CisKIHN0cnVjdCBpYl9wb3J0X2F0dHIgewogCWVudW0gaWJfcG9ydF9zdGF0ZQlzdGF0ZTsKIAllbnVtIGliX210dQkJbWF4X210dTsKQEAgLTQxMyw2ICs0NjUsOCBAQAogCUlCX1dDX0ZFVENIX0FERCwKIAlJQl9XQ19CSU5EX01XLAogCUlCX1dDX0xTTywKKwlJQl9XQ19MT0NBTF9JTlYsCisJSUJfV0NfRkFTVF9SRUdfTVIsCiAvKgogICogU2V0IHZhbHVlIG9mIElCX1dDX1JFQ1Ygc28gY29uc3VtZXJzIGNhbiB0ZXN0IGlmIGEgY29tcGxldGlvbiBpcyBhCiAgKiByZWNlaXZlIGJ5IHRlc3RpbmcgKG9wY29kZSAmIElCX1dDX1JFQ1YpLgpAQCAtNDIzLDcgKzQ3Nyw4IEBACiAKIGVudW0gaWJfd2NfZmxhZ3MgewogCUlCX1dDX0dSSAkJPSAxLAotCUlCX1dDX1dJVEhfSU1NCQk9ICgxPDwxKQorCUlCX1dDX1dJVEhfSU1NCQk9ICgxPDwxKSwKKwlJQl9XQ19XSVRIX0lOVkFMSURBVEUJPSAoMTw8MiksCiB9OwogCiBzdHJ1Y3QgaWJfd2MgewpAQCAtNDMzLDcgKzQ4OCwxMCBAQAogCXUzMgkJCXZlbmRvcl9lcnI7CiAJdTMyCQkJYnl0ZV9sZW47CiAJc3RydWN0IGliX3FwCSAgICAgICAqcXA7Ci0JX19iZTMyCQkJaW1tX2RhdGE7CisJdW5pb24geworCQlfX2JlMzIJCWltbV9kYXRhOworCQl1MzIJCWludmFsaWRhdGVfcmtleTsKKwl9IGV4OwogCXUzMgkJCXNyY19xcDsKIAlpbnQJCQl3Y19mbGFnczsKIAl1MTYJCQlwa2V5X2luZGV4OwpAQCAtNDk4LDcgKzU1Niw4IEBACiB9OwogCiBlbnVtIGliX3FwX2NyZWF0ZV9mbGFncyB7Ci0JSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTwk9IDEgPDwgMCwKKwlJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPCQk9IDEgPDwgMCwKKwlJQl9RUF9DUkVBVEVfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLCT0gMSA8PCAxLAogfTsKIAogc3RydWN0IGliX3FwX2luaXRfYXR0ciB7CkBAIC02MjcsNiArNjg2LDkgQEAKIAlJQl9XUl9BVE9NSUNfRkVUQ0hfQU5EX0FERCwKIAlJQl9XUl9MU08sCiAJSUJfV1JfU0VORF9XSVRIX0lOViwKKwlJQl9XUl9SRE1BX1JFQURfV0lUSF9JTlYsCisJSUJfV1JfTE9DQUxfSU5WLAorCUlCX1dSX0ZBU1RfUkVHX01SLAogfTsKIAogZW51bSBpYl9zZW5kX2ZsYWdzIHsKQEAgLTY0Myw2ICs3MDUsMTIgQEAKIAl1MzIJbGtleTsKIH07CiAKK3N0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgeworCXN0cnVjdCBpYl9kZXZpY2UgICAgICAgKmRldmljZTsKKwl1NjQJCSAgICAgICAqcGFnZV9saXN0OworCXVuc2lnbmVkIGludAkJbWF4X3BhZ2VfbGlzdF9sZW47Cit9OworCiBzdHJ1Y3QgaWJfc2VuZF93ciB7CiAJc3RydWN0IGliX3NlbmRfd3IgICAgICAqbmV4dDsKIAl1NjQJCQl3cl9pZDsKQEAgLTY3NSw2ICs3NDMsMTUgQEAKIAkJCXUxNglwa2V5X2luZGV4OyAvKiB2YWxpZCBmb3IgR1NJIG9ubHkgKi8KIAkJCXU4CXBvcnRfbnVtOyAgIC8qIHZhbGlkIGZvciBEUiBTTVBzIG9uIHN3aXRjaCBvbmx5ICovCiAJCX0gdWQ7CisJCXN0cnVjdCB7CisJCQl1NjQJCQkJaW92YV9zdGFydDsKKwkJCXN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgICAqcGFnZV9saXN0OworCQkJdW5zaWduZWQgaW50CQkJcGFnZV9zaGlmdDsKKwkJCXVuc2lnbmVkIGludAkJCXBhZ2VfbGlzdF9sZW47CisJCQl1MzIJCQkJbGVuZ3RoOworCQkJaW50CQkJCWFjY2Vzc19mbGFnczsKKwkJCXUzMgkJCQlya2V5OworCQl9IGZhc3RfcmVnOwogCX0gd3I7CiB9OwogCkBAIC03NzcsNyArODU0LDcgQEAKIAlzdHJ1Y3QgaWJfdW9iamVjdCAgICAgICp1b2JqZWN0OwogCWliX2NvbXBfaGFuZGxlciAgIAljb21wX2hhbmRsZXI7CiAJdm9pZCAgICAgICAgICAgICAgICAgICgqZXZlbnRfaGFuZGxlcikoc3RydWN0IGliX2V2ZW50ICosIHZvaWQgKik7Ci0Jdm9pZCAqICAgICAgICAgICAgCWNxX2NvbnRleHQ7CisJdm9pZCAgICAgICAgICAgICAgICAgICAqY3FfY29udGV4dDsKIAlpbnQgICAgICAgICAgICAgICAJY3FlOwogCWF0b21pY190ICAgICAgICAgIAl1c2VjbnQ7IC8qIGNvdW50IG51bWJlciBvZiB3b3JrIHF1ZXVlcyAqLwogfTsKQEAgLTg4Myw3ICs5NjAsNyBAQAogCXZvaWQJCSgqc3luY19zaW5nbGVfZm9yX2NwdSkoc3RydWN0IGliX2RldmljZSAqZGV2LAogCQkJCQkgICAgICAgdTY0IGRtYV9oYW5kbGUsCiAJCQkJCSAgICAgICBzaXplX3Qgc2l6ZSwKLQkJCQkgICAgICAgICAgICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpOworCQkJCQkgICAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKIAl2b2lkCQkoKnN5bmNfc2luZ2xlX2Zvcl9kZXZpY2UpKHN0cnVjdCBpYl9kZXZpY2UgKmRldiwKIAkJCQkJCSAgdTY0IGRtYV9oYW5kbGUsCiAJCQkJCQkgIHNpemVfdCBzaXplLApAQCAtOTE5LDYgKzk5Niw4IEBACiAKIAlzdHJ1Y3QgaXdfY21fdmVyYnMJICAgICAqaXdjbTsKIAorCWludAkJICAgICAgICAgICAoKmdldF9wcm90b2NvbF9zdGF0cykoc3RydWN0IGliX2RldmljZSAqZGV2aWNlLAorCQkJCQkJCSB1bmlvbiByZG1hX3Byb3RvY29sX3N0YXRzICpzdGF0cyk7CiAJaW50CQkgICAgICAgICAgICgqcXVlcnlfZGV2aWNlKShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCiAJCQkJCQkgICBzdHJ1Y3QgaWJfZGV2aWNlX2F0dHIgKmRldmljZV9hdHRyKTsKIAlpbnQJCSAgICAgICAgICAgKCpxdWVyeV9wb3J0KShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCkBAIC0xMDEzLDYgKzEwOTIsMTEgQEAKIAlpbnQgICAgICAgICAgICAgICAgICAgICAgICAoKnF1ZXJ5X21yKShzdHJ1Y3QgaWJfbXIgKm1yLAogCQkJCQkgICAgICAgc3RydWN0IGliX21yX2F0dHIgKm1yX2F0dHIpOwogCWludCAgICAgICAgICAgICAgICAgICAgICAgICgqZGVyZWdfbXIpKHN0cnVjdCBpYl9tciAqbXIpOworCXN0cnVjdCBpYl9tciAqCQkgICAoKmFsbG9jX2Zhc3RfcmVnX21yKShzdHJ1Y3QgaWJfcGQgKnBkLAorCQkJCQkgICAgICAgaW50IG1heF9wYWdlX2xpc3RfbGVuKTsKKwlzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICogKCphbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QpKHN0cnVjdCBpYl9kZXZpY2UgKmRldmljZSwKKwkJCQkJCQkJICAgaW50IHBhZ2VfbGlzdF9sZW4pOworCXZvaWQJCQkgICAoKmZyZWVfZmFzdF9yZWdfcGFnZV9saXN0KShzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpOwogCWludCAgICAgICAgICAgICAgICAgICAgICAgICgqcmVyZWdfcGh5c19tcikoc3RydWN0IGliX21yICptciwKIAkJCQkJCSAgICBpbnQgbXJfcmVyZWdfbWFzaywKIAkJCQkJCSAgICBzdHJ1Y3QgaWJfcGQgKnBkLApAQCAtMTA2NSw2ICsxMTQ5LDcgQEAKIAogCWNoYXIJCQkgICAgIG5vZGVfZGVzY1s2NF07CiAJX19iZTY0CQkJICAgICBub2RlX2d1aWQ7CisJdTMyCQkJICAgICBsb2NhbF9kbWFfbGtleTsKIAl1OCAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVfdHlwZTsKIAl1OCAgICAgICAgICAgICAgICAgICAgICAgICAgIHBoeXNfcG9ydF9jbnQ7CiB9OwpAQCAtMTgwNyw2ICsxODkyLDU0IEBACiBpbnQgaWJfZGVyZWdfbXIoc3RydWN0IGliX21yICptcik7CiAKIC8qKgorICogaWJfYWxsb2NfZmFzdF9yZWdfbXIgLSBBbGxvY2F0ZXMgbWVtb3J5IHJlZ2lvbiB1c2FibGUgd2l0aCB0aGUKKyAqICAgSUJfV1JfRkFTVF9SRUdfTVIgc2VuZCB3b3JrIHJlcXVlc3QuCisgKiBAcGQ6IFRoZSBwcm90ZWN0aW9uIGRvbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZ2lvbi4KKyAqIEBtYXhfcGFnZV9saXN0X2xlbjogcmVxdWVzdGVkIG1heCBwaHlzaWNhbCBidWZmZXIgbGlzdCBsZW5ndGggdG8gYmUKKyAqICAgdXNlZCB3aXRoIGZhc3QgcmVnaXN0ZXIgd29yayByZXF1ZXN0cyBmb3IgdGhpcyBNUi4KKyAqLworc3RydWN0IGliX21yICppYl9hbGxvY19mYXN0X3JlZ19tcihzdHJ1Y3QgaWJfcGQgKnBkLCBpbnQgbWF4X3BhZ2VfbGlzdF9sZW4pOworCisvKioKKyAqIGliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCAtIEFsbG9jYXRlcyBhIHBhZ2UgbGlzdCBhcnJheQorICogQGRldmljZSAtIGliIGRldmljZSBwb2ludGVyLgorICogQHBhZ2VfbGlzdF9sZW4gLSBzaXplIG9mIHRoZSBwYWdlIGxpc3QgYXJyYXkgdG8gYmUgYWxsb2NhdGVkLgorICoKKyAqIFRoaXMgYWxsb2NhdGVzIGFuZCByZXR1cm5zIGEgc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqIGFuZCBhCisgKiBwYWdlX2xpc3QgYXJyYXkgdGhhdCBpcyBhdCBsZWFzdCBwYWdlX2xpc3RfbGVuIGluIHNpemUuICBUaGUgYWN0dWFsCisgKiBzaXplIGlzIHJldHVybmVkIGluIG1heF9wYWdlX2xpc3RfbGVuLiAgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZQorICogZm9yIGluaXRpYWxpemluZyB0aGUgY29udGVudHMgb2YgdGhlIHBhZ2VfbGlzdCBhcnJheSBiZWZvcmUgcG9zdGluZworICogYSBzZW5kIHdvcmsgcmVxdWVzdCB3aXRoIHRoZSBJQl9XQ19GQVNUX1JFR19NUiBvcGNvZGUuCisgKgorICogVGhlIHBhZ2VfbGlzdCBhcnJheSBlbnRyaWVzIG11c3QgYmUgdHJhbnNsYXRlZCB1c2luZyBvbmUgb2YgdGhlCisgKiBpYl9kbWFfKigpIGZ1bmN0aW9ucyBqdXN0IGxpa2UgdGhlIGFkZHJlc3NlcyBwYXNzZWQgdG8KKyAqIGliX21hcF9waHlzX2ZtcigpLiAgT25jZSB0aGUgaWJfcG9zdF9zZW5kKCkgaXMgaXNzdWVkLCB0aGUgc3RydWN0CisgKiBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgbXVzdCBub3QgYmUgbW9kaWZpZWQgYnkgdGhlIGNhbGxlciB1bnRpbCB0aGUKKyAqIElCX1dDX0ZBU1RfUkVHX01SIHdvcmsgcmVxdWVzdCBjb21wbGV0ZXMuCisgKi8KK3N0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKmliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCgKKwkJCQlzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsIGludCBwYWdlX2xpc3RfbGVuKTsKKworLyoqCisgKiBpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdCAtIERlYWxsb2NhdGVzIGEgcHJldmlvdXNseSBhbGxvY2F0ZWQKKyAqICAgcGFnZSBsaXN0IGFycmF5LgorICogQHBhZ2VfbGlzdCAtIHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgcG9pbnRlciB0byBiZSBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdChzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpOworCisvKioKKyAqIGliX3VwZGF0ZV9mYXN0X3JlZ19rZXkgLSB1cGRhdGVzIHRoZSBrZXkgcG9ydGlvbiBvZiB0aGUgZmFzdF9yZWcgTVIKKyAqICAgUl9LZXkgYW5kIExfS2V5LgorICogQG1yIC0gc3RydWN0IGliX21yIHBvaW50ZXIgdG8gYmUgdXBkYXRlZC4KKyAqIEBuZXdrZXkgLSBuZXcga2V5IHRvIGJlIHVzZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBpYl91cGRhdGVfZmFzdF9yZWdfa2V5KHN0cnVjdCBpYl9tciAqbXIsIHU4IG5ld2tleSkKK3sKKwltci0+bGtleSA9IChtci0+bGtleSAmIDB4ZmZmZmZmMDApIHwgbmV3a2V5OworCW1yLT5ya2V5ID0gKG1yLT5ya2V5ICYgMHhmZmZmZmYwMCkgfCBuZXdrZXk7Cit9CisKKy8qKgogICogaWJfYWxsb2NfbXcgLSBBbGxvY2F0ZXMgYSBtZW1vcnkgd2luZG93LgogICogQHBkOiBUaGUgcHJvdGVjdGlvbiBkb21haW4gYXNzb2NpYXRlZCB3aXRoIHRoZSBtZW1vcnkgd2luZG93LgogICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaXdfY20uaCBiL2luY2x1ZGUvcmRtYS9pd19jbS5oCmluZGV4IGFlZWZhOWIuLmNiYjgyMmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pd19jbS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pd19jbS5oCkBAIC02Miw3ICs2Miw3IEBACiAJc3RydWN0IHNvY2thZGRyX2luIHJlbW90ZV9hZGRyOwogCXZvaWQgKnByaXZhdGVfZGF0YTsKIAl1OCBwcml2YXRlX2RhdGFfbGVuOwotCXZvaWQqIHByb3ZpZGVyX2RhdGE7CisJdm9pZCAqcHJvdmlkZXJfZGF0YTsKIH07CiAKIC8qKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL3JkbWFfY20uaCBiL2luY2x1ZGUvcmRtYS9yZG1hX2NtLmgKaW5kZXggMDEwZjg3Ni4uMjJiYjJlNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL3JkbWFfY20uaAorKysgYi9pbmNsdWRlL3JkbWEvcmRtYV9jbS5oCkBAIC0yLDI5ICsyLDMzIEBACiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgVm9sdGFpcmUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNSBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKyAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKyAqIFNPRlRXQVJFLgogICovCiAKICNpZiAhZGVmaW5lZChSRE1BX0NNX0gpCkBAIC01NywxMSArNjEsMTEgQEAKIH07CiAKIGVudW0gcmRtYV9wb3J0X3NwYWNlIHsKLQlSRE1BX1BTX1NEUCAgPSAweDAwMDEsCi0JUkRNQV9QU19JUE9JQj0gMHgwMDAyLAotCVJETUFfUFNfVENQICA9IDB4MDEwNiwKLQlSRE1BX1BTX1VEUCAgPSAweDAxMTEsCi0JUkRNQV9QU19TQ1RQID0gMHgwMTgzCisJUkRNQV9QU19TRFAgICA9IDB4MDAwMSwKKwlSRE1BX1BTX0lQT0lCID0gMHgwMDAyLAorCVJETUFfUFNfVENQICAgPSAweDAxMDYsCisJUkRNQV9QU19VRFAgICA9IDB4MDExMSwKKwlSRE1BX1BTX1NDVFAgID0gMHgwMTgzCiB9OwogCiBzdHJ1Y3QgcmRtYV9hZGRyIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9yZG1hX2NtX2liLmggYi9pbmNsdWRlL3JkbWEvcmRtYV9jbV9pYi5oCmluZGV4IDk1MDQyNGIuLjIzODljM2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9yZG1hX2NtX2liLmgKKysrIGIvaW5jbHVkZS9yZG1hL3JkbWFfY21faWIuaApAQCAtMSwyOSArMSwzMyBAQAogLyoKICAqIENvcHlyaWdodCAoYykgMjAwNiBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKyAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKyAqIFNPRlRXQVJFLgogICovCiAKICNpZiAhZGVmaW5lZChSRE1BX0NNX0lCX0gpCmRpZmYgLS1naXQgYS9pbmNsdWRlL3Njc2kvc2NzaV9kZXZpY2UuaCBiL2luY2x1ZGUvc2NzaS9zY3NpX2RldmljZS5oCmluZGV4IGY2YTlmZTAuLjAwYjc4NzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc2NzaS9zY3NpX2RldmljZS5oCisrKyBiL2luY2x1ZGUvc2NzaS9zY3NpX2RldmljZS5oCkBAIC0xMzQsNiArMTM0LDcgQEAKIAl1bnNpZ25lZCBub19zdGFydF9vbl9hZGQ6MTsJLyogZG8gbm90IGlzc3VlIHN0YXJ0IG9uIGFkZCAqLwogCXVuc2lnbmVkIGFsbG93X3Jlc3RhcnQ6MTsgLyogaXNzdWUgU1RBUlRfVU5JVCBpbiBlcnJvciBoYW5kbGVyICovCiAJdW5zaWduZWQgbWFuYWdlX3N0YXJ0X3N0b3A6MTsJLyogTGV0IEhMRCAoc2QpIG1hbmFnZSBzdGFydC9zdG9wICovCisJdW5zaWduZWQgc3RhcnRfc3RvcF9wd3JfY29uZDoxOwkvKiBTZXQgcG93ZXIgY29uZC4gaW4gU1RBUlRfU1RPUF9VTklUICovCiAJdW5zaWduZWQgbm9fdWxkX2F0dGFjaDoxOyAvKiBkaXNhYmxlIGNvbm5lY3RpbmcgdG8gdXBwZXIgbGV2ZWwgZHJpdmVycyAqLwogCXVuc2lnbmVkIHNlbGVjdF9ub19hdG46MTsKIAl1bnNpZ25lZCBmaXhfY2FwYWNpdHk6MTsJLyogUkVBRF9DQVBBQ0lUWSBpcyB0b28gaGlnaCBieSAxICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2FkMTg0My5oIGIvaW5jbHVkZS9zb3VuZC9hZDE4NDMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjM2YTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zb3VuZC9hZDE4NDMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UuICBTZWUgdGhlIGZpbGUgIkNPUFlJTkciIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUKKyAqIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogQ29weXJpZ2h0IDIwMDMgVml2aWVuIENoYXBwZWxpZXIgPHZpdmllbi5jaGFwcGVsaWVyQGxpbnV4LW1pcHMub3JnPgorICogQ29weXJpZ2h0IDIwMDggVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRAZnJhbmtlbi5kZT4KKyAqLworCisjaWZuZGVmIF9fU09VTkRfQUQxODQzX0gKKyNkZWZpbmUgX19TT1VORF9BRDE4NDNfSAorCitzdHJ1Y3Qgc25kX2FkMTg0MyB7CisJdm9pZCAqY2hpcDsKKwlpbnQgKCpyZWFkKSh2b2lkICpjaGlwLCBpbnQgcmVnKTsKKwlpbnQgKCp3cml0ZSkodm9pZCAqY2hpcCwgaW50IHJlZywgaW50IHZhbCk7Cit9OworCisjZGVmaW5lIEFEMTg0M19HQUlOX1JFQ0xFViAwCisjZGVmaW5lIEFEMTg0M19HQUlOX0xJTkUgICAxCisjZGVmaW5lIEFEMTg0M19HQUlOX0xJTkVfMiAyCisjZGVmaW5lIEFEMTg0M19HQUlOX01JQyAgICAzCisjZGVmaW5lIEFEMTg0M19HQUlOX1BDTV8wICA0CisjZGVmaW5lIEFEMTg0M19HQUlOX1BDTV8xICA1CisjZGVmaW5lIEFEMTg0M19HQUlOX1NJWkUgICAoQUQxODQzX0dBSU5fUENNXzErMSkKKworaW50IGFkMTg0M19nZXRfZ2Fpbl9tYXgoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKTsKK2ludCBhZDE4NDNfZ2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKTsKK2ludCBhZDE4NDNfc2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkLCBpbnQgbmV3dmFsKTsKK2ludCBhZDE4NDNfZ2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKK2ludCBhZDE4NDNfc2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgbmV3c3JjKTsKK3ZvaWQgYWQxODQzX3NldHVwX2RhYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkgICAgICB1bnNpZ25lZCBpbnQgaWQsCisJCSAgICAgIHVuc2lnbmVkIGludCBmcmFtZXJhdGUsCisJCSAgICAgIHNuZF9wY21fZm9ybWF0X3QgZm10LAorCQkgICAgICB1bnNpZ25lZCBpbnQgY2hhbm5lbHMpOwordm9pZCBhZDE4NDNfc2h1dGRvd25fZGFjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsCisJCQkgdW5zaWduZWQgaW50IGlkKTsKK3ZvaWQgYWQxODQzX3NldHVwX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkgICAgICB1bnNpZ25lZCBpbnQgZnJhbWVyYXRlLAorCQkgICAgICBzbmRfcGNtX2Zvcm1hdF90IGZtdCwKKwkJICAgICAgdW5zaWduZWQgaW50IGNoYW5uZWxzKTsKK3ZvaWQgYWQxODQzX3NodXRkb3duX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKK2ludCBhZDE4NDNfaW5pdChzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKKworI2VuZGlmIC8qIF9fU09VTkRfQUQxODQzX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvY29udHJvbC5oIGIvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKaW5kZXggM2RjMTI5MS4uNDcyMWI0YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKKysrIGIvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKQEAgLTEyOSw5ICsxMjksNiBAQAogI2RlZmluZSBzbmRfY3RsX3VucmVnaXN0ZXJfaW9jdGxfY29tcGF0KGZjbikKICNlbmRpZgogCi1pbnQgc25kX2N0bF9lbGVtX3JlYWQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKTsKLWludCBzbmRfY3RsX2VsZW1fd3JpdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9maWxlICpmaWxlLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKTsKLQogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgc25kX2N0bF9nZXRfaW9mZm51bShzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2lkICppZCkKIHsKIAlyZXR1cm4gaWQtPm51bWlkIC0ga2N0bC0+aWQubnVtaWQ7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NvcmUuaCBiL2luY2x1ZGUvc291bmQvY29yZS5oCmluZGV4IDY5NWVlNTMuLjU1OGI5NjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvY29yZS5oCisrKyBiL2luY2x1ZGUvc291bmQvY29yZS5oCkBAIC00MTIsMTMgKzQxMiwxMyBAQAogCiAjZW5kaWYgLyogQ09ORklHX1NORF9ERUJVRyAqLwogCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIC8qKgogICogc25kX3ByaW50ZGQgLSBkZWJ1ZyBwcmludGsKICAqIEBmb3JtYXQ6IGZvcm1hdCBzdHJpbmcKICAqCiAgKiBXb3JrcyBsaWtlIHNuZF9wcmludGsoKSBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLgotICogSWdub3JlZCB3aGVuIENPTkZJR19TTkRfREVCVUdfREVURUNUIGlzIG5vdCBzZXQuCisgKiBJZ25vcmVkIHdoZW4gQ09ORklHX1NORF9ERUJVR19WRVJCT1NFIGlzIG5vdCBzZXQuCiAgKi8KICNkZWZpbmUgc25kX3ByaW50ZGQoZm9ybWF0LCBhcmdzLi4uKSBzbmRfcHJpbnRrKGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKQEAgLTQ0Miw3ICs0NDIsNyBAQAogCXVuc2lnbmVkIHNob3J0IHN1YnZlbmRvcjsJLyogUENJIHN1YnZlbmRvciBJRCAqLwogCXVuc2lnbmVkIHNob3J0IHN1YmRldmljZTsJLyogUENJIHN1YmRldmljZSBJRCAqLwogCWludCB2YWx1ZTsJCQkvKiB2YWx1ZSAqLwotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJY29uc3QgY2hhciAqbmFtZTsJCS8qIG5hbWUgb2YgdGhlIGRldmljZSAob3B0aW9uYWwpICovCiAjZW5kaWYKIH07CkBAIC00NTAsNyArNDUwLDcgQEAKICNkZWZpbmUgX1NORF9QQ0lfUVVJUktfSUQodmVuZCxkZXYpIFwKIAkuc3VidmVuZG9yID0gKHZlbmQpLCAuc3ViZGV2aWNlID0gKGRldikKICNkZWZpbmUgU05EX1BDSV9RVUlSS19JRCh2ZW5kLGRldikge19TTkRfUENJX1FVSVJLX0lEKHZlbmQsIGRldil9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKICNkZWZpbmUgU05EX1BDSV9RVUlSSyh2ZW5kLGRldix4bmFtZSx2YWwpIFwKIAl7X1NORF9QQ0lfUVVJUktfSUQodmVuZCwgZGV2KSwgLnZhbHVlID0gKHZhbCksIC5uYW1lID0gKHhuYW1lKX0KICNlbHNlCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS1yZWdzLmggYi9pbmNsdWRlL3NvdW5kL2NzNDIzMS1yZWdzLmgKaW5kZXggZThkMWYzZS4uOTI2NDc1MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9jczQyMzEtcmVncy5oCisrKyBiL2luY2x1ZGUvc291bmQvY3M0MjMxLXJlZ3MuaApAQCAtMTc3LDQgKzE3NywxMiBAQAogI2RlZmluZSBDUzQyMzZfUklHSFRfV0FWRQkweDFjCS8qIHJpZ2h0IHdhdmV0YWJsZSBzZXJpYWwgcG9ydCB2b2x1bWUgKi8KICNkZWZpbmUgQ1M0MjM2X1ZFUlNJT04JCTB4OWMJLyogY2hpcCB2ZXJzaW9uIGFuZCBJRCAqLwogCisvKiBkZWZpbml0aW9ucyBmb3IgZXh0ZW5kZWQgcmVnaXN0ZXJzIC0gT1BUSTkzWCAqLworI2RlZmluZSBPUFRpOTMxX0FVWF9MRUZUX0lOUFVUCTB4MTAKKyNkZWZpbmUgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQJMHgxMQorI2RlZmluZSBPUFRpOTNYX01JQ19MRUZUX0lOUFVUCTB4MTQKKyNkZWZpbmUgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQJMHgxNQorI2RlZmluZSBPUFRpOTNYX09VVF9MRUZUCTB4MTYKKyNkZWZpbmUgT1BUaTkzWF9PVVRfUklHSFQJMHgxNworCiAjZW5kaWYgLyogX19TT1VORF9DUzQyMzFfUkVHU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS5oIGIvaW5jbHVkZS9zb3VuZC9jczQyMzEuaAppbmRleCA2NjA1NWQ3Li5mMDc4NWY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS5oCisrKyBiL2luY2x1ZGUvc291bmQvY3M0MjMxLmgKQEAgLTU4LDYgKzU4LDcgQEAKIC8qIGNvbXBhdGlibGUsIGJ1dCBjbG9uZXMgKi8KICNkZWZpbmUgQ1M0MjMxX0hXX0lOVEVSV0FWRSAgICAgMHgxMDAwCS8qIEludGVyV2F2ZSBjaGlwICovCiAjZGVmaW5lIENTNDIzMV9IV19PUEwzU0EyICAgICAgIDB4MTEwMQkvKiBPUEwzLVNBMiBjaGlwLCBzaW1pbGFyIHRvIGNzNDIzMSAqLworI2RlZmluZSBDUzQyMzFfSFdfT1BUSTkzWCAJMHgxMTAyCS8qIE9wdGkgOTMwLzkzMS85MzMgKi8KIAogLyogZGVmaW5lcyBmb3IgY29kZWMuaHdzaGFyZSAqLwogI2RlZmluZSBDUzQyMzFfSFdTSEFSRV9JUlEJKDE8PDApCkBAIC0xMjAsNiArMTIxLDggQEAKIHZvaWQgc25kX2NzNDIzMV9tY2VfdXAoc3RydWN0IHNuZF9jczQyMzEgKmNoaXApOwogdm9pZCBzbmRfY3M0MjMxX21jZV9kb3duKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKTsKIAordm9pZCBzbmRfY3M0MjMxX292ZXJyYW5nZShzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCk7CisKIGlycXJldHVybl90IHNuZF9jczQyMzFfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7CiAKIGNvbnN0IGNoYXIgKnNuZF9jczQyMzFfY2hpcF9pZChzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2VtdTEwazEuaCBiL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCmluZGV4IDdiN2I5YjEuLjEwZWUyOGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCisrKyBiL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCkBAIC0xNjcwLDYgKzE2NzAsNyBAQAogCXVuc2lnbmVkIGNoYXIgc3BpX2RhYzsgICAgICAvKiBTUEkgaW50ZXJmYWNlIGZvciBEQUMgKi8KIAl1bnNpZ25lZCBjaGFyIGkyY19hZGM7ICAgICAgLyogSTJDIGludGVyZmFjZSBmb3IgQURDICovCiAJdW5zaWduZWQgY2hhciBhZGNfMTM2MXQ7ICAgIC8qIFVzZSBQaGlsaXBzIDEzNjFUIEFEQyAqLworCXVuc2lnbmVkIGNoYXIgaW52ZXJ0X3NoYXJlZF9zcGRpZjsgLyogYW5hbG9nL2RpZ2l0YWwgc3dpdGNoIGludmVydGVkICovCiAJY29uc3QgY2hhciAqZHJpdmVyOwogCWNvbnN0IGNoYXIgKm5hbWU7CiAJY29uc3QgY2hhciAqaWQ7CQkvKiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAtIGNhbiBiZSBOVUxMIGlmIG5vdCBuZWVkZWQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvc2VxX2tlcm5lbC5oIGIvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKaW5kZXggZjAyM2MxYi4uM2Q5YWZiNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKKysrIGIvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJICAgICAgaW50IGNhcCwgaW50IHR5cGUsIGludCBtaWRpX2NoYW5uZWxzLCBpbnQgbWlkaV92b2ljZXMsIGNoYXIgKnBvcnRuYW1lKTsKIGludCBzbmRfc2VxX2V2ZW50X3BvcnRfZGV0YWNoKGludCBjbGllbnQsIGludCBwb3J0KTsKIAotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIHZvaWQgc25kX3NlcV9hdXRvbG9hZF9sb2NrKHZvaWQpOwogdm9pZCBzbmRfc2VxX2F1dG9sb2FkX3VubG9jayh2b2lkKTsKICNlbHNlCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3NvYy1kYXBtLmggYi9pbmNsdWRlL3NvdW5kL3NvYy1kYXBtLmgKaW5kZXggYTEwNWIwMS4uMzAzMGZkYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zb2MtZGFwbS5oCisrKyBiL2luY2x1ZGUvc291bmQvc29jLWRhcG0uaApAQCAtMTMwLDYgKzEzMCwxMyBAQAogewkuaWQgPSBzbmRfc29jX2RhcG1fYWRjLCAubmFtZSA9IHduYW1lLCAuc25hbWUgPSBzdG5hbWUsIC5yZWcgPSB3cmVnLCBcCiAJLnNoaWZ0ID0gd3NoaWZ0LCAuaW52ZXJ0ID0gd2ludmVydH0KIAorLyogZ2VuZXJpYyByZWdpc3RlciBtb2RpZmllciB3aWRnZXQgKi8KKyNkZWZpbmUgU05EX1NPQ19EQVBNX1JFRyh3aWQsIHduYW1lLCB3cmVnLCB3c2hpZnQsIHdtYXNrLCB3b25fdmFsLCB3b2ZmX3ZhbCkgXAorewkuaWQgPSB3aWQsIC5uYW1lID0gd25hbWUsIC5rY29udHJvbHMgPSBOVUxMLCAubnVtX2tjb250cm9scyA9IDAsIFwKKwkucmVnID0gLSgod3JlZykgKyAxKSwgLnNoaWZ0ID0gd3NoaWZ0LCAubWFzayA9IHdtYXNrLCBcCisJLm9uX3ZhbCA9IHdvbl92YWwsIC5vZmZfdmFsID0gd29mZl92YWwsIC5ldmVudCA9IGRhcG1fcmVnX2V2ZW50LCBcCisJLmV2ZW50X2ZsYWdzID0gU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUR9CisKIC8qIGRhcG0ga2NvbnRyb2wgdHlwZXMgKi8KICNkZWZpbmUgU09DX0RBUE1fU0lOR0xFKHhuYW1lLCByZWcsIHNoaWZ0LCBtYXgsIGludmVydCkgXAogewkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFtZSwgXApAQCAtMTkzLDYgKzIwMCw3IEBACiBlbnVtIHNuZF9zb2NfZGFwbV90eXBlOwogc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoOwogc3RydWN0IHNuZF9zb2NfZGFwbV9waW47CitzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlOwogCiAvKiBkYXBtIGNvbnRyb2xzICovCiBpbnQgc25kX3NvY19kYXBtX3B1dF92b2xzdyhzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKQEAgLTIwNSwyNSArMjEzLDMyIEBACiAJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpOwogaW50IHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCiAJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndpZGdldCk7CitpbnQgc25kX3NvY19kYXBtX25ld19jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndpZGdldCwKKwlpbnQgbnVtKTsKIAogLyogZGFwbSBwYXRoIHNldHVwICovCi1pbnQgc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAoraW50ICBfX2RlcHJlY2F0ZWQgc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAogCWNvbnN0IGNoYXIgKnNpbmtfbmFtZSwgY29uc3QgY2hhciAqY29udHJvbF9uYW1lLCBjb25zdCBjaGFyICpzcmNfbmFtZSk7CiBpbnQgc25kX3NvY19kYXBtX25ld193aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CiB2b2lkIHNuZF9zb2NfZGFwbV9mcmVlKHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KTsKK2ludCBzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkgICAgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSAqcm91dGUsIGludCBudW0pOwogCiAvKiBkYXBtIGV2ZW50cyAqLwogaW50IHNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpzdHJlYW0sCiAJaW50IGV2ZW50KTsKLWludCBzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2LCBpbnQgZXZlbnQpOworaW50IHNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiwKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCk7CiAKIC8qIGRhcG0gc3lzIGZzIC0gdXNlZCBieSB0aGUgY29yZSAqLwogaW50IHNuZF9zb2NfZGFwbV9zeXNfYWRkKHN0cnVjdCBkZXZpY2UgKmRldik7CiAKLS8qIGRhcG0gYXVkaW8gZW5kcG9pbnQgY29udHJvbCAqLwotaW50IHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAotCWNoYXIgKnBpbiwgaW50IHN0YXR1cyk7Ci1pbnQgc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CisvKiBkYXBtIGF1ZGlvIHBpbiBjb250cm9sIGFuZCBzdGF0dXMgKi8KK2ludCBzbmRfc29jX2RhcG1fZW5hYmxlX3BpbihzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNoYXIgKnBpbik7CitpbnQgc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKTsKK2ludCBzbmRfc29jX2RhcG1fZ2V0X3Bpbl9zdGF0dXMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpwaW4pOworaW50IHNuZF9zb2NfZGFwbV9zeW5jKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CiAKIC8qIGRhcG0gd2lkZ2V0IHR5cGVzICovCiBlbnVtIHNuZF9zb2NfZGFwbV90eXBlIHsKQEAgLTI0NSw2ICsyNjAsMTggQEAKIAlzbmRfc29jX2RhcG1fcG9zdCwJCQkvKiBtYWNoaW5lIHNwZWNpZmljIHBvc3Qgd2lkZ2V0IC0gZXhlYyBsYXN0ICovCiB9OwogCisvKgorICogREFQTSBhdWRpbyByb3V0ZSBkZWZpbml0aW9uLgorICoKKyAqIERlZmluZXMgYW4gYXVkaW8gcm91dGUgb3JpZ2luYXRpbmcgYXQgc291cmNlIHZpYSBjb250cm9sIGFuZCBmaW5pc2hpbmcKKyAqIGF0IHNpbmsuCisgKi8KK3N0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgeworCWNvbnN0IGNoYXIgKnNpbms7CisJY29uc3QgY2hhciAqY29udHJvbDsKKwljb25zdCBjaGFyICpzb3VyY2U7Cit9OworCiAvKiBkYXBtIGF1ZGlvIHBhdGggYmV0d2VlbiB0d28gd2lkZ2V0cyAqLwogc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoIHsKIAljaGFyICpuYW1lOwpAQCAtMjc3LDYgKzMwNCw5IEBACiAJdW5zaWduZWQgY2hhciBzaGlmdDsJCQkvKiBiaXRzIHRvIHNoaWZ0ICovCiAJdW5zaWduZWQgaW50IHNhdmVkX3ZhbHVlOwkJLyogd2lkZ2V0IHNhdmVkIHZhbHVlICovCiAJdW5zaWduZWQgaW50IHZhbHVlOwkJCQkvKiB3aWRnZXQgY3VycmVudCB2YWx1ZSAqLworCXVuc2lnbmVkIGludCBtYXNrOwkJCS8qIG5vbi1zaGlmdGVkIG1hc2sgKi8KKwl1bnNpZ25lZCBpbnQgb25fdmFsOwkJCS8qIG9uIHN0YXRlIHZhbHVlICovCisJdW5zaWduZWQgaW50IG9mZl92YWw7CQkJLyogb2ZmIHN0YXRlIHZhbHVlICovCiAJdW5zaWduZWQgY2hhciBwb3dlcjoxOwkJCS8qIGJsb2NrIHBvd2VyIHN0YXR1cyAqLwogCXVuc2lnbmVkIGNoYXIgaW52ZXJ0OjE7CQkJLyogaW52ZXJ0IHRoZSBwb3dlciBiaXQgKi8KIAl1bnNpZ25lZCBjaGFyIGFjdGl2ZToxOwkJCS8qIGFjdGl2ZSBzdHJlYW0gb24gREFDLCBBREMncyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9zb2MuaCBiL2luY2x1ZGUvc291bmQvc29jLmgKaW5kZXggZDNjOGMwMy4uMTg5MGQ4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zb2MuaAorKysgYi9pbmNsdWRlL3NvdW5kL3NvYy5oCkBAIC03Myw2ICs3MywxNSBAQAogCS5nZXQgPSBzbmRfc29jX2dldF92b2xzd18yciwgLnB1dCA9IHNuZF9zb2NfcHV0X3ZvbHN3XzJyLCBcCiAJLnByaXZhdGVfdmFsdWUgPSAocmVnX2xlZnQpIHwgKChzaGlmdCkgPDwgOCkgIHwgXAogCQkoKG1heCkgPDwgMTIpIHwgKChpbnZlcnQpIDw8IDIwKSB8ICgocmVnX3JpZ2h0KSA8PCAyNCkgfQorI2RlZmluZSBTT0NfRE9VQkxFX1M4X1RMVih4bmFtZSwgcmVnLCBtaW4sIG1heCwgdGx2X2FycmF5KSBcCit7CS5pZmFjZSAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSAoeG5hbWUpLCBcCisJLmFjY2VzcyA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRCB8IFwKKwkJICBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLCBcCisJLnRsdi5wICA9ICh0bHZfYXJyYXkpLCBcCisJLmluZm8gICA9IHNuZF9zb2NfaW5mb192b2xzd19zOCwgLmdldCA9IHNuZF9zb2NfZ2V0X3ZvbHN3X3M4LCBcCisJLnB1dCAgICA9IHNuZF9zb2NfcHV0X3ZvbHN3X3M4LCBcCisJLnByaXZhdGVfdmFsdWUgPSAocmVnKSB8ICgoKHNpZ25lZCBjaGFyKW1heCkgPDwgMTYpIHwgXAorCQkJICgoKHNpZ25lZCBjaGFyKW1pbikgPDwgMjQpIH0KICNkZWZpbmUgU09DX0VOVU1fRE9VQkxFKHhyZWcsIHhzaGlmdF9sLCB4c2hpZnRfciwgeG1hc2ssIHh0ZXh0cykgXAogewkucmVnID0geHJlZywgLnNoaWZ0X2wgPSB4c2hpZnRfbCwgLnNoaWZ0X3IgPSB4c2hpZnRfciwgXAogCS5tYXNrID0geG1hc2ssIC50ZXh0cyA9IHh0ZXh0cyB9CkBAIC05MSw2ICsxMDAsMTUgQEAKIAkuaW5mbyA9IHNuZF9zb2NfaW5mb192b2xzdywgXAogCS5nZXQgPSB4aGFuZGxlcl9nZXQsIC5wdXQgPSB4aGFuZGxlcl9wdXQsIFwKIAkucHJpdmF0ZV92YWx1ZSA9IFNPQ19TSU5HTEVfVkFMVUUoeHJlZywgeHNoaWZ0LCB4bWFzaywgeGludmVydCkgfQorI2RlZmluZSBTT0NfU0lOR0xFX0VYVF9UTFYoeG5hbWUsIHhyZWcsIHhzaGlmdCwgeG1hc2ssIHhpbnZlcnQsXAorCSB4aGFuZGxlcl9nZXQsIHhoYW5kbGVyX3B1dCwgdGx2X2FycmF5KSBcCit7CS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCBcCisJLmFjY2VzcyA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRCB8XAorCQkgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSxcCisJLnRsdi5wID0gKHRsdl9hcnJheSksIFwKKwkuaW5mbyA9IHNuZF9zb2NfaW5mb192b2xzdywgXAorCS5nZXQgPSB4aGFuZGxlcl9nZXQsIC5wdXQgPSB4aGFuZGxlcl9wdXQsIFwKKwkucHJpdmF0ZV92YWx1ZSA9IFNPQ19TSU5HTEVfVkFMVUUoeHJlZywgeHNoaWZ0LCB4bWFzaywgeGludmVydCkgfQogI2RlZmluZSBTT0NfU0lOR0xFX0JPT0xfRVhUKHhuYW1lLCB4ZGF0YSwgeGhhbmRsZXJfZ2V0LCB4aGFuZGxlcl9wdXQpIFwKIHsJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIFwKIAkuaW5mbyA9IHNuZF9zb2NfaW5mb19ib29sX2V4dCwgXApAQCAtMTAzLDYgKzEyMSwyNCBAQAogCS5wcml2YXRlX3ZhbHVlID0gKHVuc2lnbmVkIGxvbmcpJnhlbnVtIH0KIAogLyoKKyAqIEJpYXMgbGV2ZWxzCisgKgorICogQE9OOiAgICAgIEJpYXMgaXMgZnVsbHkgb24gZm9yIGF1ZGlvIHBsYXliYWNrIGFuZCBjYXB0dXJlIG9wZXJhdGlvbnMuCisgKiBAUFJFUEFSRTogUHJlcGFyZSBmb3IgYXVkaW8gb3BlcmF0aW9ucy4gQ2FsbGVkIGJlZm9yZSBEQVBNIHN3aXRjaGluZyBmb3IKKyAqICAgICAgICAgICBzdHJlYW0gc3RhcnQgYW5kIHN0b3Agb3BlcmF0aW9ucy4KKyAqIEBTVEFOREJZOiBMb3cgcG93ZXIgc3RhbmRieSBzdGF0ZSB3aGVuIG5vIHBsYXliYWNrL2NhcHR1cmUgb3BlcmF0aW9ucyBhcmUKKyAqICAgICAgICAgICBpbiBwcm9ncmVzcy4gTk9URTogVGhlIHRyYW5zaXRpb24gdGltZSBiZXR3ZWVuIFNUQU5EQlkgYW5kIE9OCisgKiAgICAgICAgICAgc2hvdWxkIGJlIGFzIGZhc3QgYXMgcG9zc2libGUgYW5kIG5vIGxvbmdlciB0aGFuIDEwbXMuCisgKiBAT0ZGOiAgICAgUG93ZXIgT2ZmLiBObyByZXN0cmljdGlvbnMgb24gdHJhbnNpdGlvbiB0aW1lcy4KKyAqLworZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgeworCVNORF9TT0NfQklBU19PTiwKKwlTTkRfU09DX0JJQVNfUFJFUEFSRSwKKwlTTkRfU09DX0JJQVNfU1RBTkRCWSwKKwlTTkRfU09DX0JJQVNfT0ZGLAorfTsKKworLyoKICAqIERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlIChEQUkpIHR5cGVzCiAgKi8KICNkZWZpbmUgU05EX1NPQ19EQUlfQUM5NwkweDEKQEAgLTE4NSw4ICsyMjEsNyBAQAogc3RydWN0IHNuZF9zb2Nfb3BzOwogc3RydWN0IHNuZF9zb2NfZGFpX21vZGU7CiBzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZTsKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaTsKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWk7CitzdHJ1Y3Qgc25kX3NvY19kYWk7CiBzdHJ1Y3Qgc25kX3NvY19jb2RlYzsKIHN0cnVjdCBzbmRfc29jX21hY2hpbmVfY29uZmlnOwogc3RydWN0IHNvY19lbnVtOwpAQCAtMjIxLDYgKzI1NiwyNyBAQAogCXN0cnVjdCBzbmRfYWM5N19idXNfb3BzICpvcHMsIGludCBudW0pOwogdm9pZCBzbmRfc29jX2ZyZWVfYWM5N19jb2RlYyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpOwogCisvKiBEaWdpdGFsIEF1ZGlvIEludGVyZmFjZSBjbG9ja2luZyBBUEkuKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgY2xrX2lkLAorCXVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKTsKKworaW50IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJaW50IGRpdl9pZCwgaW50IGRpdik7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpOworCisvKiBEaWdpdGFsIEF1ZGlvIGludGVyZmFjZSBmb3JtYXR0aW5nICovCitpbnQgc25kX3NvY19kYWlfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCk7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfdGRtX3Nsb3Qoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cyk7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfdHJpc3RhdGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCB0cmlzdGF0ZSk7CisKKy8qIERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlIG11dGUgKi8KK2ludCBzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKTsKKwogLyoKICAqQ29udHJvbHMKICAqLwpAQCAtMjQ5LDYgKzMwNSwxMiBAQAogCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKTsKIGludCBzbmRfc29jX3B1dF92b2xzd18ycihzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKIAlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCk7CitpbnQgc25kX3NvY19pbmZvX3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pOworaW50IHNuZF9zb2NfZ2V0X3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKTsKK2ludCBzbmRfc29jX3B1dF92b2xzd19zOChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCk7CiAKIC8qIFNvQyBQQ00gc3RyZWFtIGluZm9ybWF0aW9uICovCiBzdHJ1Y3Qgc25kX3NvY19wY21fc3RyZWFtIHsKQEAgLTI3Miw4NyArMzM0LDQ1IEBACiAJaW50ICgqdHJpZ2dlcikoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICosIGludCk7CiB9OwogCi0vKiBBU29DIGNvZGVjIERBSSBvcHMgKi8KLXN0cnVjdCBzbmRfc29jX2NvZGVjX29wcyB7Ci0JLyogY29kZWMgREFJIGNsb2NraW5nIGNvbmZpZ3VyYXRpb24gKi8KLQlpbnQgKCpzZXRfc3lzY2xrKShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKKy8qIEFTb0MgREFJIG9wcyAqLworc3RydWN0IHNuZF9zb2NfZGFpX29wcyB7CisJLyogREFJIGNsb2NraW5nIGNvbmZpZ3VyYXRpb24gKi8KKwlpbnQgKCpzZXRfc3lzY2xrKShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpOwotCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KTsKLQlpbnQgKCpzZXRfY2xrZGl2KShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKLQkJaW50IGRpdl9pZCwgaW50IGRpdik7CisJaW50ICgqc2V0X2Nsa2Rpdikoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBkaXZfaWQsIGludCBkaXYpOwogCi0JLyogQ1BVIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLwotCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAotCQl1bnNpZ25lZCBpbnQgZm10KTsKLQlpbnQgKCpzZXRfdGRtX3Nsb3QpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorCS8qIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLworCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCB1bnNpZ25lZCBpbnQgZm10KTsKKwlpbnQgKCpzZXRfdGRtX3Nsb3QpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCQl1bnNpZ25lZCBpbnQgbWFzaywgaW50IHNsb3RzKTsKLQlpbnQgKCpzZXRfdHJpc3RhdGUpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqLCBpbnQgdHJpc3RhdGUpOworCWludCAoKnNldF90cmlzdGF0ZSkoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCB0cmlzdGF0ZSk7CiAKIAkvKiBkaWdpdGFsIG11dGUgKi8KLQlpbnQgKCpkaWdpdGFsX211dGUpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqLCBpbnQgbXV0ZSk7CisJaW50ICgqZGlnaXRhbF9tdXRlKShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpOwogfTsKIAotLyogQVNvQyBjcHUgREFJIG9wcyAqLwotc3RydWN0IHNuZF9zb2NfY3B1X29wcyB7Ci0JLyogQ1BVIERBSSBjbG9ja2luZyBjb25maWd1cmF0aW9uICovCi0JaW50ICgqc2V0X3N5c2Nsaykoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKLQkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpOwotCWludCAoKnNldF9jbGtkaXYpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCWludCBkaXZfaWQsIGludCBkaXYpOwotCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpOwotCi0JLyogQ1BVIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLwotCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCXVuc2lnbmVkIGludCBmbXQpOwotCWludCAoKnNldF90ZG1fc2xvdCkoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKLQkJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cyk7Ci0JaW50ICgqc2V0X3RyaXN0YXRlKShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICosIGludCB0cmlzdGF0ZSk7Ci19OwotCi0vKiBTb0MgQ29kZWMgREFJICovCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgewotCWNoYXIgKm5hbWU7Ci0JaW50IGlkOwotCXVuc2lnbmVkIGNoYXIgdHlwZTsKLQotCS8qIERBSSBjYXBhYmlsaXRpZXMgKi8KLQlzdHJ1Y3Qgc25kX3NvY19wY21fc3RyZWFtIHBsYXliYWNrOwotCXN0cnVjdCBzbmRfc29jX3BjbV9zdHJlYW0gY2FwdHVyZTsKLQotCS8qIERBSSBydW50aW1lIGluZm8gKi8KLQlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7Ci0JdW5zaWduZWQgaW50IGFjdGl2ZTsKLQl1bnNpZ25lZCBjaGFyIHBvcF93YWl0OjE7Ci0KLQkvKiBvcHMgKi8KLQlzdHJ1Y3Qgc25kX3NvY19vcHMgb3BzOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX29wcyBkYWlfb3BzOwotCi0JLyogREFJIHByaXZhdGUgZGF0YSAqLwotCXZvaWQgKnByaXZhdGVfZGF0YTsKLX07Ci0KLS8qIFNvQyBDUFUgREFJICovCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHsKLQorLyogU29DICBEQUkgKERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlKSAqLworc3RydWN0IHNuZF9zb2NfZGFpIHsKIAkvKiBEQUkgZGVzY3JpcHRpb24gKi8KIAljaGFyICpuYW1lOwogCXVuc2lnbmVkIGludCBpZDsKIAl1bnNpZ25lZCBjaGFyIHR5cGU7CiAKIAkvKiBEQUkgY2FsbGJhY2tzICovCi0JaW50ICgqcHJvYmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOwotCXZvaWQgKCpyZW1vdmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCWludCAoKnByb2JlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKKwl2b2lkICgqcmVtb3ZlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCWludCAoKnN1c3BlbmQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpOworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSk7CiAJaW50ICgqcmVzdW1lKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCiAJLyogb3BzICovCiAJc3RydWN0IHNuZF9zb2Nfb3BzIG9wczsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfb3BzIGRhaV9vcHM7CisJc3RydWN0IHNuZF9zb2NfZGFpX29wcyBkYWlfb3BzOwogCiAJLyogREFJIGNhcGFiaWxpdGllcyAqLwogCXN0cnVjdCBzbmRfc29jX3BjbV9zdHJlYW0gY2FwdHVyZTsKQEAgLTM2MCw3ICszODAsOSBAQAogCiAJLyogREFJIHJ1bnRpbWUgaW5mbyAqLwogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWU7Ci0JdW5zaWduZWQgY2hhciBhY3RpdmU6MTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJdW5zaWduZWQgaW50IGFjdGl2ZTsKKwl1bnNpZ25lZCBjaGFyIHBvcF93YWl0OjE7CiAJdm9pZCAqZG1hX2RhdGE7CiAKIAkvKiBEQUkgcHJpdmF0ZSBkYXRhICovCkBAIC0zNzQsNyArMzk2LDggQEAKIAlzdHJ1Y3QgbXV0ZXggbXV0ZXg7CiAKIAkvKiBjYWxsYmFja3MgKi8KLQlpbnQgKCpkYXBtX2V2ZW50KShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCk7CisJaW50ICgqc2V0X2JpYXNfbGV2ZWwpKHN0cnVjdCBzbmRfc29jX2NvZGVjICosCisJCQkgICAgICBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCk7CiAKIAkvKiBydW50aW1lICovCiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwpAQCAtMzk2LDEyICs0MTksMTIgQEAKIAkvKiBkYXBtICovCiAJc3RydWN0IGxpc3RfaGVhZCBkYXBtX3dpZGdldHM7CiAJc3RydWN0IGxpc3RfaGVhZCBkYXBtX3BhdGhzOwotCXVuc2lnbmVkIGludCBkYXBtX3N0YXRlOwotCXVuc2lnbmVkIGludCBzdXNwZW5kX2RhcG1fc3RhdGU7CisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgYmlhc19sZXZlbDsKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBzdXNwZW5kX2JpYXNfbGV2ZWw7CiAJc3RydWN0IGRlbGF5ZWRfd29yayBkZWxheWVkX3dvcms7CiAKIAkvKiBjb2RlYyBEQUkncyAqLwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpOwogCXVuc2lnbmVkIGludCBudW1fZGFpOwogfTsKIApAQCAtNDIwLDEyICs0NDMsMTIgQEAKIAlpbnQgKCpwcm9iZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CiAJaW50ICgqcmVtb3ZlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKIAlpbnQgKCpzdXNwZW5kKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCWludCAoKnJlc3VtZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKIAogCS8qIHBjbSBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gKi8KLQlpbnQgKCpwY21fbmV3KShzdHJ1Y3Qgc25kX2NhcmQgKiwgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICosCisJaW50ICgqcGNtX25ldykoc3RydWN0IHNuZF9jYXJkICosIHN0cnVjdCBzbmRfc29jX2RhaSAqLAogCQlzdHJ1Y3Qgc25kX3BjbSAqKTsKIAl2b2lkICgqcGNtX2ZyZWUpKHN0cnVjdCBzbmRfcGNtICopOwogCkBAIC00MzksOCArNDYyLDggQEAKIAljaGFyICpzdHJlYW1fbmFtZTsJCS8qIFN0cmVhbSBuYW1lICovCiAKIAkvKiBEQUkgKi8KLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaTsKIAogCS8qIG1hY2hpbmUgc3RyZWFtIG9wZXJhdGlvbnMgKi8KIAlzdHJ1Y3Qgc25kX3NvY19vcHMgKm9wczsKQEAgLTQ2Nyw3ICs0OTAsOCBAQAogCWludCAoKnJlc3VtZV9wb3N0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKIAogCS8qIGNhbGxiYWNrcyAqLwotCWludCAoKmRhcG1fZXZlbnQpKHN0cnVjdCBzbmRfc29jX21hY2hpbmUgKiwgaW50IGV2ZW50KTsKKwlpbnQgKCpzZXRfYmlhc19sZXZlbCkoc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqLAorCQkJICAgICAgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpOwogCiAJLyogQ1BVIDwtLT4gQ29kZWMgREFJIGxpbmtzICAqLwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICpkYWlfbGluazsKQEAgLTQ4Miw2ICs1MDYsNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYzsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2UgKmNvZGVjX2RldjsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGRlbGF5ZWRfd29yazsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZGVmZXJyZWRfcmVzdW1lX3dvcms7CiAJdm9pZCAqY29kZWNfZGF0YTsKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvdWRhMTM0MS5oIGIvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKaW5kZXggMmU1NjRiZi4uMTEwZDVkYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKKysrIGIvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKQEAgLTE1LDggKzE1LDYgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZXMgc3VwcG9ydAogICovCiAKLS8qICRJZDogdWRhMTM0MS5oLHYgMS44IDIwMDUvMTEvMTcgMTQ6MTc6MjEgdGl3YWkgRXhwICQgKi8KLQogI2RlZmluZSBVREExMzQxX0FMU0FfTkFNRSAic25kLXVkYTEzNDEiCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3ZlcnNpb24uaCBiL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCmluZGV4IGVkNmZiMmUuLjZiNzhhZmYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCisrKyBiL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCkBAIC0xLDMgKzEsMyBAQAotLyogaW5jbHVkZS92ZXJzaW9uLmguICBHZW5lcmF0ZWQgYnkgYWxzYS9rc3luYyBzY3JpcHQuICAqLwotI2RlZmluZSBDT05GSUdfU05EX1ZFUlNJT04gIjEuMC4xNiIKKy8qIGluY2x1ZGUvdmVyc2lvbi5oICovCisjZGVmaW5lIENPTkZJR19TTkRfVkVSU0lPTiAiMS4wLjE3IgogI2RlZmluZSBDT05GSUdfU05EX0RBVEUgIiIKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2V2ZW50cy5oIGIvaW5jbHVkZS94ZW4vZXZlbnRzLmgKaW5kZXggYWNkOGUwNi4uNjdjNDQzNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vZXZlbnRzLmgKKysrIGIvaW5jbHVkZS94ZW4vZXZlbnRzLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogdm9pZCB4ZW5fc2VuZF9JUElfb25lKHVuc2lnbmVkIGludCBjcHUsIGVudW0gaXBpX3ZlY3RvciB2ZWN0b3IpOwogaW50IHJlc2VuZF9pcnFfb25fZXZ0Y2huKHVuc2lnbmVkIGludCBpcnEpOwordm9pZCByZWJpbmRfZXZ0Y2huX2lycShpbnQgZXZ0Y2huLCBpbnQgaXJxKTsKIAogc3RhdGljIGlubGluZSB2b2lkIG5vdGlmeV9yZW1vdGVfdmlhX2V2dGNobihpbnQgcG9ydCkKIHsKQEAgLTQwLDQgKzQxLDcgQEAKIH0KIAogZXh0ZXJuIHZvaWQgbm90aWZ5X3JlbW90ZV92aWFfaXJxKGludCBpcnEpOworCitleHRlcm4gdm9pZCB4ZW5faXJxX3Jlc3VtZSh2b2lkKTsKKwogI2VuZGlmCS8qIF9YRU5fRVZFTlRTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggYi9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oCmluZGV4IDQ2NjIwNDguLmE0MGYxY2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKKysrIGIvaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaApAQCAtNTEsNiArNTEsOSBAQAogCXUxNiBjb3VudDsKIH07CiAKK2ludCBnbnR0YWJfc3VzcGVuZCh2b2lkKTsKK2ludCBnbnR0YWJfcmVzdW1lKHZvaWQpOworCiBpbnQgZ250dGFiX2dyYW50X2ZvcmVpZ25fYWNjZXNzKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGxvbmcgZnJhbWUsCiAJCQkJaW50IHJlYWRvbmx5KTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaHZjLWNvbnNvbGUuaCBiL2luY2x1ZGUveGVuL2h2Yy1jb25zb2xlLmgKaW5kZXggMjFjMGVjZi4uOThiNzliYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaHZjLWNvbnNvbGUuaAorKysgYi9pbmNsdWRlL3hlbi9odmMtY29uc29sZS5oCkBAIC0zLDQgKzMsMTMgQEAKIAogZXh0ZXJuIHN0cnVjdCBjb25zb2xlIHhlbmJvb3RfY29uc29sZTsKIAorI2lmZGVmIENPTkZJR19IVkNfWEVOCit2b2lkIHhlbl9jb25zb2xlX3Jlc3VtZSh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2NvbnNvbGVfcmVzdW1lKHZvaWQpIHsgfQorI2VuZGlmCisKK3ZvaWQgeGVuX3Jhd19jb25zb2xlX3dyaXRlKGNvbnN0IGNoYXIgKnN0cik7Cit2b2lkIHhlbl9yYXdfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwogI2VuZGlmCS8qIFhFTl9IVkNfQ09OU09MRV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaAppbmRleCBhNjRkM2RmLi43YTgyNjJjIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9lbGZub3RlLmgKQEAgLTEyMCw2ICsxMjAsMjYgQEAKICAqLwogI2RlZmluZSBYRU5fRUxGTk9URV9CU0RfU1lNVEFCICAgIDExCiAKKy8qCisgKiBUaGUgbG93ZXN0IGFkZHJlc3MgdGhlIGh5cGVydmlzb3IgaG9sZSBjYW4gYmVnaW4gYXQgKG51bWVyaWMpLgorICoKKyAqIFRoaXMgbXVzdCBub3QgYmUgc2V0IGhpZ2hlciB0aGFuIEhZUEVSVklTT1JfVklSVF9TVEFSVC4gSXRzIHByZXNlbmNlCisgKiBhbHNvIGluZGljYXRlcyB0byB0aGUgaHlwZXJ2aXNvciB0aGF0IHRoZSBrZXJuZWwgY2FuIGRlYWwgd2l0aCB0aGUKKyAqIGhvbGUgc3RhcnRpbmcgYXQgYSBoaWdoZXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9IVl9TVEFSVF9MT1cgIDEyCisKKy8qCisgKiBMaXN0IG9mIG1hZGRyX3Qtc2l6ZWQgbWFzay92YWx1ZSBwYWlycyBkZXNjcmliaW5nIGhvdyB0byByZWNvZ25pemUKKyAqIChub24tcHJlc2VudCkgTDEgcGFnZSB0YWJsZSBlbnRyaWVzIGNhcnJ5aW5nIHZhbGlkIE1GTnMgKG51bWVyaWMpLgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX0wxX01GTl9WQUxJRCAgMTMKKworLyoKKyAqIFdoZXRoZXIgb3Igbm90IHRoZSBndWVzdCBzdXBwb3J0cyBjb29wZXJhdGl2ZSBzdXNwZW5kIGNhbmNlbGxhdGlvbi4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9TVVNQRU5EX0NBTkNFTCAxNAorCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX0VMRk5PVEVfSF9fICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZmVhdHVyZXMuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCmluZGV4IGQ3MzIyOGQuLmY1MWI2NDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCkBAIC0zOCw2ICszOCw5IEBACiAgKi8KICNkZWZpbmUgWEVORkVBVF9wYWVfcGdkaXJfYWJvdmVfNGdiICAgICAgICA0CiAKKy8qIHg4NjogRG9lcyB0aGlzIFhlbiBob3N0IHN1cHBvcnQgdGhlIE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQgaHlwZXJjYWxsPyAqLworI2RlZmluZSBYRU5GRUFUX21tdV9wdF91cGRhdGVfcHJlc2VydmVfYWQgIDUKKwogI2RlZmluZSBYRU5GRUFUX05SX1NVQk1BUFMgMQogCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX0ZFQVRVUkVTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2ZiaWYuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9mYmlmLmgKaW5kZXggNWE5MzRkZC4uOTc0YTUxZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2ZiaWYuaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvaW8vZmJpZi5oCkBAIC00OSwxMSArNDksMjcgQEAKIAlpbnQzMl90IGhlaWdodDsJCS8qIHJlY3QgaGVpZ2h0ICovCiB9OwogCisvKgorICogRnJhbWVidWZmZXIgcmVzaXplIG5vdGlmaWNhdGlvbiBldmVudAorICogQ2FwYWJsZSBiYWNrZW5kIHNldHMgZmVhdHVyZS1yZXNpemUgaW4geGVuc3RvcmUuCisgKi8KKyNkZWZpbmUgWEVORkJfVFlQRV9SRVNJWkUgMworCitzdHJ1Y3QgeGVuZmJfcmVzaXplIHsKKwl1aW50OF90IHR5cGU7CQkvKiBYRU5GQl9UWVBFX1JFU0laRSAqLworCWludDMyX3Qgd2lkdGg7CQkvKiB3aWR0aCBpbiBwaXhlbHMgKi8KKwlpbnQzMl90IGhlaWdodDsJCS8qIGhlaWdodCBpbiBwaXhlbHMgKi8KKwlpbnQzMl90IHN0cmlkZTsJCS8qIHN0cmlkZSBpbiBieXRlcyAqLworCWludDMyX3QgZGVwdGg7CQkvKiBkZXB0aCBpbiBiaXRzICovCisJaW50MzJfdCBvZmZzZXQ7CQkvKiBzdGFydCBvZmZzZXQgd2l0aGluIGZyYW1lYnVmZmVyICovCit9OworCiAjZGVmaW5lIFhFTkZCX09VVF9FVkVOVF9TSVpFIDQwCiAKIHVuaW9uIHhlbmZiX291dF9ldmVudCB7CiAJdWludDhfdCB0eXBlOwogCXN0cnVjdCB4ZW5mYl91cGRhdGUgdXBkYXRlOworCXN0cnVjdCB4ZW5mYl9yZXNpemUgcmVzaXplOwogCWNoYXIgcGFkW1hFTkZCX09VVF9FVkVOVF9TSVpFXTsKIH07CiAKQEAgLTEwNSwxNSArMTIxLDE4IEBACiAJICogRWFjaCBkaXJlY3RvcnkgcGFnZSBob2xkcyBQQUdFX1NJWkUgLyBzaXplb2YoKnBkKQogCSAqIGZyYW1lYnVmZmVyIHBhZ2VzLCBhbmQgY2FuIHRodXMgbWFwIHVwIHRvIFBBR0VfU0laRSAqCiAJICogUEFHRV9TSVpFIC8gc2l6ZW9mKCpwZCkgYnl0ZXMuICBXaXRoIFBBR0VfU0laRSA9PSA0MDk2IGFuZAotCSAqIHNpemVvZih1bnNpZ25lZCBsb25nKSA9PSA0LCB0aGF0J3MgNCBNZWdzLiAgVHdvIGRpcmVjdG9yeQotCSAqIHBhZ2VzIHNob3VsZCBiZSBlbm91Z2ggZm9yIGEgd2hpbGUuCisJICogc2l6ZW9mKHVuc2lnbmVkIGxvbmcpID09IDQvOCwgdGhhdCdzIDQgTWVncyAzMiBiaXQgYW5kIDIKKwkgKiBNZWdzIDY0IGJpdC4gIDI1NiBkaXJlY3RvcmllcyBnaXZlIGVub3VnaCByb29tIGZvciBhIDUxMgorCSAqIE1lZyBmcmFtZWJ1ZmZlciB3aXRoIGEgbWF4IHJlc29sdXRpb24gb2YgMTIsODAweDEwLDI0MC4KKwkgKiBTaG91bGQgYmUgZW5vdWdoIGZvciBhIHdoaWxlIHdpdGggcm9vbSBsZWZ0b3ZlciBmb3IKKwkgKiBleHBhbnNpb24uCiAJICovCi0JdW5zaWduZWQgbG9uZyBwZFsyXTsKKwl1bnNpZ25lZCBsb25nIHBkWzI1Nl07CiB9OwogCiAvKgotICogV2FydDogeGVua2JkIG5lZWRzIHRvIGtub3cgcmVzb2x1dGlvbi4gIFB1dCBpdCBoZXJlIHVudGlsIGEgYmV0dGVyCi0gKiBzb2x1dGlvbiBpcyBmb3VuZCwgYnV0IGRvbid0IGxlYWsgaXQgdG8gdGhlIGJhY2tlbmQuCisgKiBXYXJ0OiB4ZW5rYmQgbmVlZHMgdG8ga25vdyBkZWZhdWx0IHJlc29sdXRpb24uICBQdXQgaXQgaGVyZSB1bnRpbCBhCisgKiBiZXR0ZXIgc29sdXRpb24gaXMgZm91bmQsIGJ1dCBkb24ndCBsZWFrIGl0IHRvIHRoZSBiYWNrZW5kLgogICovCiAjaWZkZWYgX19LRVJORUxfXwogI2RlZmluZSBYRU5GQl9XSURUSCA4MDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9rYmRpZi5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKaW5kZXggZmI5N2Y0Mi4uODA2NmM3OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKQEAgLTQ5LDYgKzQ5LDcgQEAKIAl1aW50OF90IHR5cGU7CQkvKiBYRU5LQkRfVFlQRV9NT1RJT04gKi8KIAlpbnQzMl90IHJlbF94OwkJLyogcmVsYXRpdmUgWCBtb3Rpb24gKi8KIAlpbnQzMl90IHJlbF95OwkJLyogcmVsYXRpdmUgWSBtb3Rpb24gKi8KKwlpbnQzMl90IHJlbF96OwkJLyogcmVsYXRpdmUgWiBtb3Rpb24gKHdoZWVsKSAqLwogfTsKIAogc3RydWN0IHhlbmtiZF9rZXkgewpAQCAtNjEsNiArNjIsNyBAQAogCXVpbnQ4X3QgdHlwZTsJCS8qIFhFTktCRF9UWVBFX1BPUyAqLwogCWludDMyX3QgYWJzX3g7CQkvKiBhYnNvbHV0ZSBYIHBvc2l0aW9uIChpbiBGQiBwaXhlbHMpICovCiAJaW50MzJfdCBhYnNfeTsJCS8qIGFic29sdXRlIFkgcG9zaXRpb24gKGluIEZCIHBpeGVscykgKi8KKwlpbnQzMl90IHJlbF96OwkJLyogcmVsYXRpdmUgWiBtb3Rpb24gKHdoZWVsKSAqLwogfTsKIAogI2RlZmluZSBYRU5LQkRfSU5fRVZFTlRfU0laRSA0MApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL21lbW9yeS5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL21lbW9yeS5oCmluZGV4IGRhNzY4NDYuLmFmMzZlYWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9tZW1vcnkuaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvbWVtb3J5LmgKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgKiAgIE9VVDogR01GTiBiYXNlcyBvZiBleHRlbnRzIHRoYXQgd2VyZSBhbGxvY2F0ZWQKICAgICAgKiAgIChOQi4gVGhpcyBjb21tYW5kIGFsc28gdXBkYXRlcyB0aGUgbWFjaF90b19waHlzIHRyYW5zbGF0aW9uIHRhYmxlKQogICAgICAqLwotICAgIHVsb25nIGV4dGVudF9zdGFydDsKKyAgICBHVUVTVF9IQU5ETEUodWxvbmcpIGV4dGVudF9zdGFydDsKIAogICAgIC8qIE51bWJlciBvZiBleHRlbnRzLCBhbmQgc2l6ZS9hbGlnbm1lbnQgb2YgZWFjaCAoMl5leHRlbnRfb3JkZXIgcGFnZXMpLiAqLwogICAgIHVuc2lnbmVkIGxvbmcgIG5yX2V4dGVudHM7CkBAIC01MCw2ICs1MCw3IEBACiAgICAgZG9taWRfdCAgICAgICAgZG9taWQ7CiAKIH07CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fbWVtb3J5X3Jlc2VydmF0aW9uKTsKIAogLyoKICAqIFJldHVybnMgdGhlIG1heGltdW0gbWFjaGluZSBmcmFtZSBudW1iZXIgb2YgbWFwcGVkIFJBTSBpbiB0aGlzIHN5c3RlbS4KQEAgLTg1LDcgKzg2LDcgQEAKICAgICAgKiBhbnkgbGFyZ2UgZGlzY29udGlndWl0aWVzIGluIHRoZSBtYWNoaW5lIGFkZHJlc3Mgc3BhY2UsIDJNQiBnYXBzIGluCiAgICAgICogdGhlIG1hY2hwaHlzIHRhYmxlIHdpbGwgYmUgcmVwcmVzZW50ZWQgYnkgYW4gTUZOIGJhc2Ugb2YgemVyby4KICAgICAgKi8KLSAgICB1bG9uZyBleHRlbnRfc3RhcnQ7CisgICAgR1VFU1RfSEFORExFKHVsb25nKSBleHRlbnRfc3RhcnQ7CiAKICAgICAvKgogICAgICAqIE51bWJlciBvZiBleHRlbnRzIHdyaXR0ZW4gdG8gdGhlIGFib3ZlIGFycmF5LiBUaGlzIHdpbGwgYmUgc21hbGxlcgpAQCAtOTMsNiArOTQsNyBAQAogICAgICAqLwogICAgIHVuc2lnbmVkIGludCBucl9leHRlbnRzOwogfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhlbl9tYWNocGh5c19tZm5fbGlzdCk7CiAKIC8qCiAgKiBTZXRzIHRoZSBHUEZOIGF0IHdoaWNoIGEgcGFydGljdWxhciBwYWdlIGFwcGVhcnMgaW4gdGhlIHNwZWNpZmllZCBndWVzdCdzCkBAIC0xMTUsNiArMTE3LDcgQEAKICAgICAvKiBHUEZOIHdoZXJlIHRoZSBzb3VyY2UgbWFwcGluZyBwYWdlIHNob3VsZCBhcHBlYXIuICovCiAgICAgdW5zaWduZWQgbG9uZyBncGZuOwogfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhlbl9hZGRfdG9fcGh5c21hcCk7CiAKIC8qCiAgKiBUcmFuc2xhdGVzIGEgbGlzdCBvZiBkb21haW4tc3BlY2lmaWMgR1BGTnMgaW50byBNRk5zLiBSZXR1cm5zIGEgLXZlIGVycm9yCkBAIC0xMjksMTMgKzEzMiwxNCBAQAogICAgIHVuc2lnbmVkIGxvbmcgbnJfZ3BmbnM7CiAKICAgICAvKiBMaXN0IG9mIEdQRk5zIHRvIHRyYW5zbGF0ZS4gKi8KLSAgICB1bG9uZyBncGZuX2xpc3Q7CisgICAgR1VFU1RfSEFORExFKHVsb25nKSBncGZuX2xpc3Q7CiAKICAgICAvKgogICAgICAqIE91dHB1dCBsaXN0IHRvIGNvbnRhaW4gTUZOIHRyYW5zbGF0aW9ucy4gTWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBpbnB1dAogICAgICAqIGxpc3QgKGluIHdoaWNoIGNhc2UgZWFjaCBpbnB1dCBHUEZOIGlzIG92ZXJ3cml0dGVuIHdpdGggdGhlIG91dHB1dCBNRk4pLgogICAgICAqLwotICAgIHVsb25nIG1mbl9saXN0OworICAgIEdVRVNUX0hBTkRMRSh1bG9uZykgbWZuX2xpc3Q7CiB9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX3RyYW5zbGF0ZV9ncGZuX2xpc3QpOwogCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX01FTU9SWV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaAppbmRleCA4MTlhMDMzLi4yYmVmYTNlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oCkBAIC0xMTQsOSArMTE0LDE0IEBACiAgKiBwdHJbOjJdICAtLSBNYWNoaW5lIGFkZHJlc3Mgd2l0aGluIHRoZSBmcmFtZSB3aG9zZSBtYXBwaW5nIHRvIG1vZGlmeS4KICAqICAgICAgICAgICAgIFRoZSBmcmFtZSBtdXN0IGJlbG9uZyB0byB0aGUgRkQsIGlmIG9uZSBpcyBzcGVjaWZpZWQuCiAgKiB2YWwgICAgICAtLSBWYWx1ZSB0byB3cml0ZSBpbnRvIHRoZSBtYXBwaW5nIGVudHJ5LgorICoKKyAqIHB0clsxOjBdID09IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQ6CisgKiBBcyBNTVVfTk9STUFMX1BUX1VQREFURSBhYm92ZSwgYnV0IEEvRCBiaXRzIGN1cnJlbnRseSBpbiB0aGUgUFRFIGFyZSBPUmVkCisgKiB3aXRoIHRob3NlIGluIEB2YWwuCiAgKi8KLSNkZWZpbmUgTU1VX05PUk1BTF9QVF9VUERBVEUgICAgIDAgLyogY2hlY2tlZCAnKnB0ciA9IHZhbCcuIHB0ciBpcyBNQS4gICAgICAgKi8KLSNkZWZpbmUgTU1VX01BQ0hQSFlTX1VQREFURSAgICAgIDEgLyogcHRyID0gTUEgb2YgZnJhbWUgdG8gbW9kaWZ5IGVudHJ5IGZvciAgKi8KKyNkZWZpbmUgTU1VX05PUk1BTF9QVF9VUERBVEUgICAgICAwIC8qIGNoZWNrZWQgJypwdHIgPSB2YWwnLiBwdHIgaXMgTUEuICAgICAgICovCisjZGVmaW5lIE1NVV9NQUNIUEhZU19VUERBVEUgICAgICAgMSAvKiBwdHIgPSBNQSBvZiBmcmFtZSB0byBtb2RpZnkgZW50cnkgZm9yICAqLworI2RlZmluZSBNTVVfUFRfVVBEQVRFX1BSRVNFUlZFX0FEIDIgLyogYXRvbWljYWxseTogKnB0ciA9IHZhbCB8ICgqcHRyJihBfEQpKSAqLwogCiAvKgogICogTU1VIEVYVEVOREVEIE9QRVJBVElPTlMKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL3hlbi1vcHMuaCBiL2luY2x1ZGUveGVuL3hlbi1vcHMuaAppbmRleCAxMGRkZmUwLi5hNzA2ZDZhIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi94ZW4tb3BzLmgKKysrIGIvaW5jbHVkZS94ZW4veGVuLW9wcy5oCkBAIC01LDQgKzUsMTAgQEAKIAogREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB2Y3B1X2luZm8gKiwgeGVuX3ZjcHUpOwogCit2b2lkIHhlbl9wcmVfc3VzcGVuZCh2b2lkKTsKK3ZvaWQgeGVuX3Bvc3Rfc3VzcGVuZChpbnQgc3VzcGVuZF9jYW5jZWxsZWQpOworCit2b2lkIHhlbl9tbV9waW5fYWxsKHZvaWQpOwordm9pZCB4ZW5fbW1fdW5waW5fYWxsKHZvaWQpOworCiAjZW5kaWYgLyogSU5DTFVERV9YRU5fT1BTX0ggKi8KZGlmZiAtLWdpdCBhL2luaXQvY2FsaWJyYXRlLmMgYi9pbml0L2NhbGlicmF0ZS5jCmluZGV4IGVjYjM4MjIuLjc5NjNlM2YgMTAwNjQ0Ci0tLSBhL2luaXQvY2FsaWJyYXRlLmMKKysrIGIvaW5pdC9jYWxpYnJhdGUuYwpAQCAtOCw3ICs4LDkgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCit1bnNpZ25lZCBsb25nIGxwal9maW5lOwogdW5zaWduZWQgbG9uZyBwcmVzZXRfbHBqOwogc3RhdGljIGludCBfX2luaXQgbHBqX3NldHVwKGNoYXIgKnN0cikKIHsKQEAgLTMzLDkgKzM1LDkgQEAKIAl1bnNpZ25lZCBsb25nIHByZV9zdGFydCwgc3RhcnQsIHBvc3Rfc3RhcnQ7CiAJdW5zaWduZWQgbG9uZyBwcmVfZW5kLCBlbmQsIHBvc3RfZW5kOwogCXVuc2lnbmVkIGxvbmcgc3RhcnRfamlmZmllczsKLQl1bnNpZ25lZCBsb25nIHRzY19yYXRlX21pbiwgdHNjX3JhdGVfbWF4OwotCXVuc2lnbmVkIGxvbmcgZ29vZF90c2Nfc3VtID0gMDsKLQl1bnNpZ25lZCBsb25nIGdvb2RfdHNjX2NvdW50ID0gMDsKKwl1bnNpZ25lZCBsb25nIHRpbWVyX3JhdGVfbWluLCB0aW1lcl9yYXRlX21heDsKKwl1bnNpZ25lZCBsb25nIGdvb2RfdGltZXJfc3VtID0gMDsKKwl1bnNpZ25lZCBsb25nIGdvb2RfdGltZXJfY291bnQgPSAwOwogCWludCBpOwogCiAJaWYgKHJlYWRfY3VycmVudF90aW1lcigmcHJlX3N0YXJ0KSA8IDAgKQpAQCAtNzksMjIgKzgxLDI0IEBACiAJCX0KIAkJcmVhZF9jdXJyZW50X3RpbWVyKCZwb3N0X2VuZCk7CiAKLQkJdHNjX3JhdGVfbWF4ID0gKHBvc3RfZW5kIC0gcHJlX3N0YXJ0KSAvIERFTEFZX0NBTElCUkFUSU9OX1RJQ0tTOwotCQl0c2NfcmF0ZV9taW4gPSAocHJlX2VuZCAtIHBvc3Rfc3RhcnQpIC8gREVMQVlfQ0FMSUJSQVRJT05fVElDS1M7CisJCXRpbWVyX3JhdGVfbWF4ID0gKHBvc3RfZW5kIC0gcHJlX3N0YXJ0KSAvCisJCQkJCURFTEFZX0NBTElCUkFUSU9OX1RJQ0tTOworCQl0aW1lcl9yYXRlX21pbiA9IChwcmVfZW5kIC0gcG9zdF9zdGFydCkgLworCQkJCQlERUxBWV9DQUxJQlJBVElPTl9USUNLUzsKIAogCQkvKgotCSAJICogSWYgdGhlIHVwcGVyIGxpbWl0IGFuZCBsb3dlciBsaW1pdCBvZiB0aGUgdHNjX3JhdGUgaXMKKwkJICogSWYgdGhlIHVwcGVyIGxpbWl0IGFuZCBsb3dlciBsaW1pdCBvZiB0aGUgdGltZXJfcmF0ZSBpcwogCQkgKiA+PSAxMi41JSBhcGFydCwgcmVkbyBjYWxpYnJhdGlvbi4KIAkJICovCiAJCWlmIChwcmVfc3RhcnQgIT0gMCAmJiBwcmVfZW5kICE9IDAgJiYKLQkJICAgICh0c2NfcmF0ZV9tYXggLSB0c2NfcmF0ZV9taW4pIDwgKHRzY19yYXRlX21heCA+PiAzKSkgewotCQkJZ29vZF90c2NfY291bnQrKzsKLQkJCWdvb2RfdHNjX3N1bSArPSB0c2NfcmF0ZV9tYXg7CisJCSAgICAodGltZXJfcmF0ZV9tYXggLSB0aW1lcl9yYXRlX21pbikgPCAodGltZXJfcmF0ZV9tYXggPj4gMykpIHsKKwkJCWdvb2RfdGltZXJfY291bnQrKzsKKwkJCWdvb2RfdGltZXJfc3VtICs9IHRpbWVyX3JhdGVfbWF4OwogCQl9CiAJfQogCi0JaWYgKGdvb2RfdHNjX2NvdW50KQotCQlyZXR1cm4gKGdvb2RfdHNjX3N1bS9nb29kX3RzY19jb3VudCk7CisJaWYgKGdvb2RfdGltZXJfY291bnQpCisJCXJldHVybiAoZ29vZF90aW1lcl9zdW0vZ29vZF90aW1lcl9jb3VudCk7CiAKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjYWxpYnJhdGVfZGVsYXlfZGlyZWN0KCkgZmFpbGVkIHRvIGdldCBhIGdvb2QgIgogCSAgICAgICAiZXN0aW1hdGUgZm9yIGxvb3BzX3Blcl9qaWZmeS5cblByb2JhYmx5IGR1ZSB0byBsb25nIHBsYXRmb3JtIGludGVycnVwdHMuIENvbnNpZGVyIHVzaW5nIFwibHBqPVwiIGJvb3Qgb3B0aW9uLlxuIik7CkBAIC0xMDgsNiArMTEyLDEwIEBACiAgKiBUaGlzIGlzIHRoZSBudW1iZXIgb2YgYml0cyBvZiBwcmVjaXNpb24gZm9yIHRoZSBsb29wc19wZXJfamlmZnkuICBFYWNoCiAgKiBiaXQgdGFrZXMgb24gYXZlcmFnZSAxLjUvSFogc2Vjb25kcy4gIFRoaXMgKGxpa2UgdGhlIG9yaWdpbmFsKSBpcyBhIGxpdHRsZQogICogYmV0dGVyIHRoYW4gMSUKKyAqIEZvciB0aGUgYm9vdCBjcHUgd2UgY2FuIHNraXAgdGhlIGRlbGF5IGNhbGlicmF0aW9uIGFuZCBhc3NpZ24gaXQgYSB2YWx1ZQorICogY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdGltZXIgZnJlcXVlbmN5LgorICogRm9yIHRoZSByZXN0IG9mIHRoZSBDUFVzIHdlIGNhbm5vdCBhc3N1bWUgdGhhdCB0aGUgdGltZXIgZnJlcXVlbmN5IGlzIHNhbWUgYXMKKyAqIHRoZSBjcHUgZnJlcXVlbmN5LCBoZW5jZSBkbyB0aGUgY2FsaWJyYXRpb24gZm9yIHRob3NlLgogICovCiAjZGVmaW5lIExQU19QUkVDIDgKIApAQCAtMTE4LDIwICsxMjYsMjAgQEAKIAogCWlmIChwcmVzZXRfbHBqKSB7CiAJCWxvb3BzX3Blcl9qaWZmeSA9IHByZXNldF9scGo7Ci0JCXByaW50aygiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCkuLi4gIgotCQkJIiVsdS4lMDJsdSBCb2dvTUlQUyBwcmVzZXRcbiIsCi0JCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCi0JCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDApOworCQlwcmludGsoS0VSTl9JTkZPCisJCQkiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCkgcHJlc2V0IHZhbHVlLi4gIik7CisJfSBlbHNlIGlmICgoc21wX3Byb2Nlc3Nvcl9pZCgpID09IDApICYmIGxwal9maW5lKSB7CisJCWxvb3BzX3Blcl9qaWZmeSA9IGxwal9maW5lOworCQlwcmludGsoS0VSTl9JTkZPCisJCQkiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksICIKKwkJCSJ2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRpbWVyIGZyZXF1ZW5jeS4uICIpOwogCX0gZWxzZSBpZiAoKGxvb3BzX3Blcl9qaWZmeSA9IGNhbGlicmF0ZV9kZWxheV9kaXJlY3QoKSkgIT0gMCkgewotCQlwcmludGsoIkNhbGlicmF0aW5nIGRlbGF5IHVzaW5nIHRpbWVyIHNwZWNpZmljIHJvdXRpbmUuLiAiKTsKLQkJcHJpbnRrKCIlbHUuJTAybHUgQm9nb01JUFMgKGxwaj0lbHUpXG4iLAotCQkJbG9vcHNfcGVyX2ppZmZ5Lyg1MDAwMDAvSFopLAotCQkJKGxvb3BzX3Blcl9qaWZmeS8oNTAwMC9IWikpICUgMTAwLAotCQkJbG9vcHNfcGVyX2ppZmZ5KTsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkJIkNhbGlicmF0aW5nIGRlbGF5IHVzaW5nIHRpbWVyIHNwZWNpZmljIHJvdXRpbmUuLiAiKTsKIAl9IGVsc2UgewogCQlsb29wc19wZXJfamlmZnkgPSAoMTw8MTIpOwogCi0JCXByaW50ayhLRVJOX0RFQlVHICJDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uICIpOworCQlwcmludGsoS0VSTl9JTkZPICJDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uICIpOwogCQl3aGlsZSAoKGxvb3BzX3Blcl9qaWZmeSA8PD0gMSkgIT0gMCkgewogCQkJLyogd2FpdCBmb3IgInN0YXJ0IG9mIiBjbG9jayB0aWNrICovCiAJCQl0aWNrcyA9IGppZmZpZXM7CkBAIC0xNjEsMTIgKzE2OSw4IEBACiAJCQlpZiAoamlmZmllcyAhPSB0aWNrcykJLyogbG9uZ2VyIHRoYW4gMSB0aWNrICovCiAJCQkJbG9vcHNfcGVyX2ppZmZ5ICY9IH5sb29wYml0OwogCQl9Ci0KLQkJLyogUm91bmQgdGhlIHZhbHVlIGFuZCBwcmludCBpdCAqLwotCQlwcmludGsoIiVsdS4lMDJsdSBCb2dvTUlQUyAobHBqPSVsdSlcbiIsCi0JCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCi0JCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDAsCi0JCQlsb29wc19wZXJfamlmZnkpOwogCX0KLQorCXByaW50ayhLRVJOX0lORk8gIiVsdS4lMDJsdSBCb2dvTUlQUyAobHBqPSVsdSlcbiIsCisJCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCisJCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDAsIGxvb3BzX3Blcl9qaWZmeSk7CiB9CmRpZmYgLS1naXQgYS9pbml0L21haW4uYyBiL2luaXQvbWFpbi5jCmluZGV4IGY3ZmIyMDAuLmVkZWFjZTAgMTAwNjQ0Ci0tLSBhL2luaXQvbWFpbi5jCisrKyBiL2luaXQvbWFpbi5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFydF9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgpAQCAtNzU4LDYgKzc1OSw3IEBACiAgKi8KIHN0YXRpYyB2b2lkIF9faW5pdCBkb19iYXNpY19zZXR1cCh2b2lkKQogeworCXJjdV9pbml0X3NjaGVkKCk7IC8qIG5lZWRlZCBieSBtb2R1bGVfaW5pdCBzdGFnZS4gKi8KIAkvKiBkcml2ZXJzIHdpbGwgc2VuZCBob3RwbHVnIGV2ZW50cyAqLwogCWluaXRfd29ya3F1ZXVlcygpOwogCXVzZXJtb2RlaGVscGVyX2luaXQoKTsKQEAgLTc3OSw2ICs3ODEsNyBAQAogewogCWV4dGVybiBpbnQgc3Bhd25fa3NvZnRpcnFkKHZvaWQpOwogCisJaW5pdF9jYWxsX3NpbmdsZV9kYXRhKCk7CiAJbWlncmF0aW9uX2luaXQoKTsKIAlzcGF3bl9rc29mdGlycWQoKTsKIAlpZiAoIW5vc29mdGxvY2t1cCkKZGlmZiAtLWdpdCBhL2tlcm5lbC9NYWtlZmlsZSBiL2tlcm5lbC9NYWtlZmlsZQppbmRleCAxYzk5MzhhLi4wYTdlZDgzIDEwMDY0NAotLS0gYS9rZXJuZWwvTWFrZWZpbGUKKysrIGIva2VybmVsL01ha2VmaWxlCkBAIC0zLDcgKzMsNyBAQAogIwogCiBvYmoteSAgICAgPSBzY2hlZC5vIGZvcmsubyBleGVjX2RvbWFpbi5vIHBhbmljLm8gcHJpbnRrLm8gcHJvZmlsZS5vIFwKLQkgICAgZXhpdC5vIGl0aW1lci5vIHRpbWUubyBzb2Z0aXJxLm8gcmVzb3VyY2UubyBcCisJICAgIGNwdS5vIGV4aXQubyBpdGltZXIubyB0aW1lLm8gc29mdGlycS5vIHJlc291cmNlLm8gXAogCSAgICBzeXNjdGwubyBjYXBhYmlsaXR5Lm8gcHRyYWNlLm8gdGltZXIubyB1c2VyLm8gXAogCSAgICBzaWduYWwubyBzeXMubyBrbW9kLm8gd29ya3F1ZXVlLm8gcGlkLm8gXAogCSAgICByY3VwZGF0ZS5vIGV4dGFibGUubyBwYXJhbXMubyBwb3NpeC10aW1lcnMubyBcCkBAIC0xMSw2ICsxMSwxOCBAQAogCSAgICBocnRpbWVyLm8gcndzZW0ubyBuc3Byb3h5Lm8gc3JjdS5vIHNlbWFwaG9yZS5vIFwKIAkgICAgbm90aWZpZXIubyBrc3lzZnMubyBwbV9xb3NfcGFyYW1zLm8gc2NoZWRfY2xvY2subwogCitDRkxBR1NfUkVNT1ZFX3NjaGVkLm8gPSAtbW5vLXNwZQorCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCB0cmFjZSBkZWJ1ZyBmaWxlcyBhbmQgaW50ZXJuYWwgZnRyYWNlIGZpbGVzCitDRkxBR1NfUkVNT1ZFX2xvY2tkZXAubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9sb2NrZGVwX3Byb2MubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9tdXRleC1kZWJ1Zy5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX3J0bXV0ZXgtZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9jZ3JvdXAtZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9zY2hlZF9jbG9jay5vID0gLXBnCitlbmRpZgorCiBvYmotJChDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0spICs9IHN5c2N0bF9jaGVjay5vCiBvYmotJChDT05GSUdfU1RBQ0tUUkFDRSkgKz0gc3RhY2t0cmFjZS5vCiBvYmoteSArPSB0aW1lLwpAQCAtMjcsNyArMzksOCBAQAogb2JqLSQoQ09ORklHX0RFQlVHX1JUX01VVEVYRVMpICs9IHJ0bXV0ZXgtZGVidWcubwogb2JqLSQoQ09ORklHX1JUX01VVEVYX1RFU1RFUikgKz0gcnRtdXRleC10ZXN0ZXIubwogb2JqLSQoQ09ORklHX0dFTkVSSUNfSVNBX0RNQSkgKz0gZG1hLm8KLW9iai0kKENPTkZJR19TTVApICs9IGNwdS5vIHNwaW5sb2NrLm8KK29iai0kKENPTkZJR19VU0VfR0VORVJJQ19TTVBfSEVMUEVSUykgKz0gc21wLm8KK29iai0kKENPTkZJR19TTVApICs9IHNwaW5sb2NrLm8KIG9iai0kKENPTkZJR19ERUJVR19TUElOTE9DSykgKz0gc3BpbmxvY2subwogb2JqLSQoQ09ORklHX1BST1ZFX0xPQ0tJTkcpICs9IHNwaW5sb2NrLm8KIG9iai0kKENPTkZJR19VSUQxNikgKz0gdWlkMTYubwpAQCAtNjksNiArODIsOSBAQAogb2JqLSQoQ09ORklHX1RBU0tTVEFUUykgKz0gdGFza3N0YXRzLm8gdHNhY2N0Lm8KIG9iai0kKENPTkZJR19NQVJLRVJTKSArPSBtYXJrZXIubwogb2JqLSQoQ09ORklHX0xBVEVOQ1lUT1ApICs9IGxhdGVuY3l0b3Aubworb2JqLSQoQ09ORklHX0ZUUkFDRSkgKz0gdHJhY2UvCitvYmotJChDT05GSUdfVFJBQ0lORykgKz0gdHJhY2UvCitvYmotJChDT05GSUdfU01QKSArPSBzY2hlZF9jcHVwcmkubwogCiBpZm5lcSAoJChDT05GSUdfU0NIRURfTk9fTk9fT01JVF9GUkFNRV9QT0lOVEVSKSx5KQogIyBBY2NvcmRpbmcgdG8gQWxhbiBNb2RyYSA8YWxhbkBsaW51eGNhcmUuY29tLmF1PiwgdGhlIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIGlzCmRpZmYgLS1naXQgYS9rZXJuZWwvYmFja3RyYWNldGVzdC5jIGIva2VybmVsL2JhY2t0cmFjZXRlc3QuYwppbmRleCBkMWE3NjA1Li5hNWUwMjZiIDEwMDY0NAotLS0gYS9rZXJuZWwvYmFja3RyYWNldGVzdC5jCisrKyBiL2tlcm5lbC9iYWNrdHJhY2V0ZXN0LmMKQEAgLTEwLDMwICsxMCw3MyBAQAogICogb2YgdGhlIExpY2Vuc2UuCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CiAKLXN0YXRpYyBzdHJ1Y3QgdGltZXJfbGlzdCBiYWNrdHJhY2VfdGltZXI7CitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfdGVzdF9ub3JtYWwodm9pZCkKK3sKKwlwcmludGsoIlRlc3RpbmcgYSBiYWNrdHJhY2UgZnJvbSBwcm9jZXNzIGNvbnRleHQuXG4iKTsKKwlwcmludGsoIlRoZSBmb2xsb3dpbmcgdHJhY2UgaXMgYSBrZXJuZWwgc2VsZiB0ZXN0IGFuZCBub3QgYSBidWchXG4iKTsKIAotc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3RfdGltZXIodW5zaWduZWQgbG9uZyBkYXRhKQorCWR1bXBfc3RhY2soKTsKK30KKworc3RhdGljIERFQ0xBUkVfQ09NUExFVElPTihiYWNrdHJhY2Vfd29yayk7CisKK3N0YXRpYyB2b2lkIGJhY2t0cmFjZV90ZXN0X2lycV9jYWxsYmFjayh1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJZHVtcF9zdGFjaygpOworCWNvbXBsZXRlKCZiYWNrdHJhY2Vfd29yayk7Cit9CisKK3N0YXRpYyBERUNMQVJFX1RBU0tMRVQoYmFja3RyYWNlX3Rhc2tsZXQsICZiYWNrdHJhY2VfdGVzdF9pcnFfY2FsbGJhY2ssIDApOworCitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfdGVzdF9pcnEodm9pZCkKIHsKIAlwcmludGsoIlRlc3RpbmcgYSBiYWNrdHJhY2UgZnJvbSBpcnEgY29udGV4dC5cbiIpOwogCXByaW50aygiVGhlIGZvbGxvd2luZyB0cmFjZSBpcyBhIGtlcm5lbCBzZWxmIHRlc3QgYW5kIG5vdCBhIGJ1ZyFcbiIpOwotCWR1bXBfc3RhY2soKTsKKworCWluaXRfY29tcGxldGlvbigmYmFja3RyYWNlX3dvcmspOworCXRhc2tsZXRfc2NoZWR1bGUoJmJhY2t0cmFjZV90YXNrbGV0KTsKKwl3YWl0X2Zvcl9jb21wbGV0aW9uKCZiYWNrdHJhY2Vfd29yayk7CiB9CisKKyNpZmRlZiBDT05GSUdfU1RBQ0tUUkFDRQorc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3Rfc2F2ZWQodm9pZCkKK3sKKwlzdHJ1Y3Qgc3RhY2tfdHJhY2UgdHJhY2U7CisJdW5zaWduZWQgbG9uZyBlbnRyaWVzWzhdOworCisJcHJpbnRrKCJUZXN0aW5nIGEgc2F2ZWQgYmFja3RyYWNlLlxuIik7CisJcHJpbnRrKCJUaGUgZm9sbG93aW5nIHRyYWNlIGlzIGEga2VybmVsIHNlbGYgdGVzdCBhbmQgbm90IGEgYnVnIVxuIik7CisKKwl0cmFjZS5ucl9lbnRyaWVzID0gMDsKKwl0cmFjZS5tYXhfZW50cmllcyA9IEFSUkFZX1NJWkUoZW50cmllcyk7CisJdHJhY2UuZW50cmllcyA9IGVudHJpZXM7CisJdHJhY2Uuc2tpcCA9IDA7CisKKwlzYXZlX3N0YWNrX3RyYWNlKCZ0cmFjZSk7CisJcHJpbnRfc3RhY2tfdHJhY2UoJnRyYWNlLCAwKTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfdGVzdF9zYXZlZCh2b2lkKQoreworCXByaW50aygiU2F2ZWQgYmFja3RyYWNlIHRlc3Qgc2tpcHBlZC5cbiIpOworfQorI2VuZGlmCisKIHN0YXRpYyBpbnQgYmFja3RyYWNlX3JlZ3Jlc3Npb25fdGVzdCh2b2lkKQogewogCXByaW50aygiPT09PVsgYmFja3RyYWNlIHRlc3RpbmcgXT09PT09PT09PT09XG4iKTsKLQlwcmludGsoIlRlc3RpbmcgYSBiYWNrdHJhY2UgZnJvbSBwcm9jZXNzIGNvbnRleHQuXG4iKTsKLQlwcmludGsoIlRoZSBmb2xsb3dpbmcgdHJhY2UgaXMgYSBrZXJuZWwgc2VsZiB0ZXN0IGFuZCBub3QgYSBidWchXG4iKTsKLQlkdW1wX3N0YWNrKCk7CiAKLQlpbml0X3RpbWVyKCZiYWNrdHJhY2VfdGltZXIpOwotCWJhY2t0cmFjZV90aW1lci5mdW5jdGlvbiA9IGJhY2t0cmFjZV90ZXN0X3RpbWVyOwotCW1vZF90aW1lcigmYmFja3RyYWNlX3RpbWVyLCBqaWZmaWVzICsgMTApOworCWJhY2t0cmFjZV90ZXN0X25vcm1hbCgpOworCWJhY2t0cmFjZV90ZXN0X2lycSgpOworCWJhY2t0cmFjZV90ZXN0X3NhdmVkKCk7CiAKLQltc2xlZXAoMTApOwogCXByaW50aygiPT09PVsgZW5kIG9mIGJhY2t0cmFjZSB0ZXN0aW5nIF09PT09XG4iKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2tlcm5lbC9jcHUuYyBiL2tlcm5lbC9jcHUuYwppbmRleCBjNzdiYzNhLi5iMTFmMDZkIDEwMDY0NAotLS0gYS9rZXJuZWwvY3B1LmMKKysrIGIva2VybmVsL2NwdS5jCkBAIC0xNSw2ICsxNSwyOCBAQAogI2luY2x1ZGUgPGxpbnV4L3N0b3BfbWFjaGluZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKKy8qCisgKiBSZXByZXNlbnRzIGFsbCBjcHUncyBwcmVzZW50IGluIHRoZSBzeXN0ZW0KKyAqIEluIHN5c3RlbXMgY2FwYWJsZSBvZiBob3RwbHVnLCB0aGlzIG1hcCBjb3VsZCBkeW5hbWljYWxseSBncm93CisgKiBhcyBuZXcgY3B1J3MgYXJlIGRldGVjdGVkIGluIHRoZSBzeXN0ZW0gdmlhIGFueSBwbGF0Zm9ybSBzcGVjaWZpYworICogbWV0aG9kLCBzdWNoIGFzIEFDUEkgZm9yIGUuZy4KKyAqLworY3B1bWFza190IGNwdV9wcmVzZW50X21hcCBfX3JlYWRfbW9zdGx5OworRVhQT1JUX1NZTUJPTChjcHVfcHJlc2VudF9tYXApOworCisjaWZuZGVmIENPTkZJR19TTVAKKworLyoKKyAqIFJlcHJlc2VudHMgYWxsIGNwdSdzIHRoYXQgYXJlIGN1cnJlbnRseSBvbmxpbmUuCisgKi8KK2NwdW1hc2tfdCBjcHVfb25saW5lX21hcCBfX3JlYWRfbW9zdGx5ID0gQ1BVX01BU0tfQUxMOworRVhQT1JUX1NZTUJPTChjcHVfb25saW5lX21hcCk7CisKK2NwdW1hc2tfdCBjcHVfcG9zc2libGVfbWFwIF9fcmVhZF9tb3N0bHkgPSBDUFVfTUFTS19BTEw7CitFWFBPUlRfU1lNQk9MKGNwdV9wb3NzaWJsZV9tYXApOworCisjZWxzZSAvKiBDT05GSUdfU01QICovCisKIC8qIFNlcmlhbGl6ZXMgdGhlIHVwZGF0ZXMgdG8gY3B1X29ubGluZV9tYXAsIGNwdV9wcmVzZW50X21hcCAqLwogc3RhdGljIERFRklORV9NVVRFWChjcHVfYWRkX3JlbW92ZV9sb2NrKTsKIApAQCAtNDAzLDMgKzQyNSw1IEBACiAJY3B1X21hcHNfdXBkYXRlX2RvbmUoKTsKIH0KICNlbmRpZiAvKiBDT05GSUdfUE1fU0xFRVBfU01QICovCisKKyNlbmRpZiAvKiBDT05GSUdfU01QICovCmRpZmYgLS1naXQgYS9rZXJuZWwvY3B1c2V0LmMgYi9rZXJuZWwvY3B1c2V0LmMKaW5kZXggOWZjZWI5Ny4uNDU5ZDYwMSAxMDA2NDQKLS0tIGEva2VybmVsL2NwdXNldC5jCisrKyBiL2tlcm5lbC9jcHVzZXQuYwpAQCAtMTE5NCw2ICsxMTk0LDE1IEBACiAKIAlpZiAoY3B1c19lbXB0eShjcy0+Y3B1c19hbGxvd2VkKSB8fCBub2Rlc19lbXB0eShjcy0+bWVtc19hbGxvd2VkKSkKIAkJcmV0dXJuIC1FTk9TUEM7CisJaWYgKHRzay0+ZmxhZ3MgJiBQRl9USFJFQURfQk9VTkQpIHsKKwkJY3B1bWFza190IG1hc2s7CisKKwkJbXV0ZXhfbG9jaygmY2FsbGJhY2tfbXV0ZXgpOworCQltYXNrID0gY3MtPmNwdXNfYWxsb3dlZDsKKwkJbXV0ZXhfdW5sb2NrKCZjYWxsYmFja19tdXRleCk7CisJCWlmICghY3B1c19lcXVhbCh0c2stPmNwdXNfYWxsb3dlZCwgbWFzaykpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9CiAKIAlyZXR1cm4gc2VjdXJpdHlfdGFza19zZXRzY2hlZHVsZXIodHNrLCAwLCBOVUxMKTsKIH0KQEAgLTEyMDcsMTEgKzEyMTYsMTQgQEAKIAlzdHJ1Y3QgbW1fc3RydWN0ICptbTsKIAlzdHJ1Y3QgY3B1c2V0ICpjcyA9IGNncm91cF9jcyhjb250KTsKIAlzdHJ1Y3QgY3B1c2V0ICpvbGRjcyA9IGNncm91cF9jcyhvbGRjb250KTsKKwlpbnQgZXJyOwogCiAJbXV0ZXhfbG9jaygmY2FsbGJhY2tfbXV0ZXgpOwogCWd1YXJhbnRlZV9vbmxpbmVfY3B1cyhjcywgJmNwdXMpOwotCXNldF9jcHVzX2FsbG93ZWRfcHRyKHRzaywgJmNwdXMpOworCWVyciA9IHNldF9jcHVzX2FsbG93ZWRfcHRyKHRzaywgJmNwdXMpOwogCW11dGV4X3VubG9jaygmY2FsbGJhY2tfbXV0ZXgpOworCWlmIChlcnIpCisJCXJldHVybjsKIAogCWZyb20gPSBvbGRjcy0+bWVtc19hbGxvd2VkOwogCXRvID0gY3MtPm1lbXNfYWxsb3dlZDsKQEAgLTE4ODIsNyArMTg5NCw3IEBACiAgKiBpbiBvcmRlciB0byBtaW5pbWl6ZSB0ZXh0IHNpemUuCiAgKi8KIAotc3RhdGljIHZvaWQgY29tbW9uX2NwdV9tZW1faG90cGx1Z191bnBsdWcodm9pZCkKK3N0YXRpYyB2b2lkIGNvbW1vbl9jcHVfbWVtX2hvdHBsdWdfdW5wbHVnKGludCByZWJ1aWxkX3NkKQogewogCWNncm91cF9sb2NrKCk7CiAKQEAgLTE4OTQsNyArMTkwNiw4IEBACiAJICogU2NoZWR1bGVyIGRlc3Ryb3lzIGRvbWFpbnMgb24gaG90cGx1ZyBldmVudHMuCiAJICogUmVidWlsZCB0aGVtIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzLgogCSAqLwotCXJlYnVpbGRfc2NoZWRfZG9tYWlucygpOworCWlmIChyZWJ1aWxkX3NkKQorCQlyZWJ1aWxkX3NjaGVkX2RvbWFpbnMoKTsKIAogCWNncm91cF91bmxvY2soKTsKIH0KQEAgLTE5MTIsMTEgKzE5MjUsMjIgQEAKIHN0YXRpYyBpbnQgY3B1c2V0X2hhbmRsZV9jcHVocChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnVudXNlZF9uYiwKIAkJCQl1bnNpZ25lZCBsb25nIHBoYXNlLCB2b2lkICp1bnVzZWRfY3B1KQogewotCWlmIChwaGFzZSA9PSBDUFVfRFlJTkcgfHwgcGhhc2UgPT0gQ1BVX0RZSU5HX0ZST1pFTikKKwlzd2l0Y2ggKHBoYXNlKSB7CisJY2FzZSBDUFVfVVBfQ0FOQ0VMRUQ6CisJY2FzZSBDUFVfVVBfQ0FOQ0VMRURfRlJPWkVOOgorCWNhc2UgQ1BVX0RPV05fRkFJTEVEOgorCWNhc2UgQ1BVX0RPV05fRkFJTEVEX0ZST1pFTjoKKwljYXNlIENQVV9PTkxJTkU6CisJY2FzZSBDUFVfT05MSU5FX0ZST1pFTjoKKwljYXNlIENQVV9ERUFEOgorCWNhc2UgQ1BVX0RFQURfRlJPWkVOOgorCQljb21tb25fY3B1X21lbV9ob3RwbHVnX3VucGx1ZygxKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKIAkJcmV0dXJuIE5PVElGWV9ET05FOworCX0KIAotCWNvbW1vbl9jcHVfbWVtX2hvdHBsdWdfdW5wbHVnKCk7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIE5PVElGWV9PSzsKIH0KIAogI2lmZGVmIENPTkZJR19NRU1PUllfSE9UUExVRwpAQCAtMTkyOSw3ICsxOTUzLDcgQEAKIAogdm9pZCBjcHVzZXRfdHJhY2tfb25saW5lX25vZGVzKHZvaWQpCiB7Ci0JY29tbW9uX2NwdV9tZW1faG90cGx1Z191bnBsdWcoKTsKKwljb21tb25fY3B1X21lbV9ob3RwbHVnX3VucGx1ZygwKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9rZXJuZWwvZXhpdC5jIGIva2VybmVsL2V4aXQuYwppbmRleCA4ZjYxODVlLi5jZWIyNTg3IDEwMDY0NAotLS0gYS9rZXJuZWwvZXhpdC5jCisrKyBiL2tlcm5lbC9leGl0LmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9wZXJzb25hbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L21udF9uYW1lc3BhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pb2NvbnRleHQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXkuaD4KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgpkaWZmIC0tZ2l0IGEva2VybmVsL2ZvcmsuYyBiL2tlcm5lbC9mb3JrLmMKaW5kZXggMTk5MDhiMi4uNGJkMmY1MSAxMDA2NDQKLS0tIGEva2VybmVsL2ZvcmsuYworKysgYi9rZXJuZWwvZm9yay5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSA8bGludXgvc2VtLmg+CiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZkdGFibGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pb2NvbnRleHQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXkuaD4KICNpbmNsdWRlIDxsaW51eC9iaW5mbXRzLmg+CiAjaW5jbHVkZSA8bGludXgvbW1hbi5oPgpAQCAtOTA5LDcgKzkxMCw3IEBACiAKIAlydF9tdXRleF9pbml0X3Rhc2socCk7CiAKLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKKyNpZmRlZiBDT05GSUdfUFJPVkVfTE9DS0lORwogCURFQlVHX0xPQ0tTX1dBUk5fT04oIXAtPmhhcmRpcnFzX2VuYWJsZWQpOwogCURFQlVHX0xPQ0tTX1dBUk5fT04oIXAtPnNvZnRpcnFzX2VuYWJsZWQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9rZXJuZWwvaHJ0aW1lci5jIGIva2VybmVsL2hydGltZXIuYwppbmRleCBhYjgwNTE1Li5iOGU0ZGNlIDEwMDY0NAotLS0gYS9rZXJuZWwvaHJ0aW1lci5jCisrKyBiL2tlcm5lbC9ocnRpbWVyLmMKQEAgLTMwMCwxMSArMzAwLDEwIEBACiAgKi8KIHU2NCBrdGltZV9kaXZucyhjb25zdCBrdGltZV90IGt0LCBzNjQgZGl2KQogewotCXU2NCBkY2xjLCBpbmMsIGRuczsKKwl1NjQgZGNsYzsKIAlpbnQgc2Z0ID0gMDsKIAotCWRjbGMgPSBkbnMgPSBrdGltZV90b19ucyhrdCk7Ci0JaW5jID0gZGl2OworCWRjbGMgPSBrdGltZV90b19ucyhrdCk7CiAJLyogTWFrZSBzdXJlIHRoZSBkaXZpc29yIGlzIGxlc3MgdGhhbiAyXjMyOiAqLwogCXdoaWxlIChkaXYgPj4gMzIpIHsKIAkJc2Z0Kys7CkBAIC02MjMsNyArNjIyLDcgQEAKIHZvaWQgY2xvY2tfd2FzX3NldCh2b2lkKQogewogCS8qIFJldHJpZ2dlciB0aGUgQ1BVIGxvY2FsIGV2ZW50cyBldmVyeXdoZXJlICovCi0Jb25fZWFjaF9jcHUocmV0cmlnZ2VyX25leHRfZXZlbnQsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KHJldHJpZ2dlcl9uZXh0X2V2ZW50LCBOVUxMLCAxKTsKIH0KIAogLyoKQEAgLTYzMiw4ICs2MzEsNiBAQAogICovCiB2b2lkIGhyZXNfdGltZXJzX3Jlc3VtZSh2b2lkKQogewotCVdBUk5fT05fT05DRShudW1fb25saW5lX2NwdXMoKSA+IDEpOwotCiAJLyogUmV0cmlnZ2VyIHRoZSBDUFUgbG9jYWwgZXZlbnRzOiAqLwogCXJldHJpZ2dlcl9uZXh0X2V2ZW50KE5VTEwpOwogfQpAQCAtMTA4Niw3ICsxMDgzLDcgQEAKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGhydGltZXJfZ2V0X3JlbWFpbmluZyk7CiAKLSNpZiBkZWZpbmVkKENPTkZJR19OT19JRExFX0haKSB8fCBkZWZpbmVkKENPTkZJR19OT19IWikKKyNpZmRlZiBDT05GSUdfTk9fSFoKIC8qKgogICogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCAtIGdldCB0aGUgdGltZSB1bnRpbCBuZXh0IGV4cGlyeSBldmVudAogICoKQEAgLTE2NzcsNyArMTY3NCw3IEBACiAJCQkgICh2b2lkICopKGxvbmcpc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAlyZWdpc3Rlcl9jcHVfbm90aWZpZXIoJmhydGltZXJzX25iKTsKICNpZmRlZiBDT05GSUdfSElHSF9SRVNfVElNRVJTCi0Jb3Blbl9zb2Z0aXJxKEhSVElNRVJfU09GVElSUSwgcnVuX2hydGltZXJfc29mdGlycSwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKEhSVElNRVJfU09GVElSUSwgcnVuX2hydGltZXJfc29mdGlycSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEva2VybmVsL2lycS9tYW5hZ2UuYyBiL2tlcm5lbC9pcnEvbWFuYWdlLmMKaW5kZXggNDZkNjYxMS4uNzdhNTFiZSAxMDA2NDQKLS0tIGEva2VybmVsL2lycS9tYW5hZ2UuYworKysgYi9rZXJuZWwvaXJxL21hbmFnZS5jCkBAIC0xNyw2ICsxNyw4IEBACiAKICNpZmRlZiBDT05GSUdfU01QCiAKK2NwdW1hc2tfdCBpcnFfZGVmYXVsdF9hZmZpbml0eSA9IENQVV9NQVNLX0FMTDsKKwogLyoqCiAgKglzeW5jaHJvbml6ZV9pcnEgLSB3YWl0IGZvciBwZW5kaW5nIElSUSBoYW5kbGVycyAob24gb3RoZXIgQ1BVcykKICAqCUBpcnE6IGludGVycnVwdCBudW1iZXIgdG8gd2FpdCBmb3IKQEAgLTk1LDYgKzk3LDI3IEBACiAJcmV0dXJuIDA7CiB9CiAKKyNpZm5kZWYgQ09ORklHX0FVVE9fSVJRX0FGRklOSVRZCisvKgorICogR2VuZXJpYyB2ZXJzaW9uIG9mIHRoZSBhZmZpbml0eSBhdXRvc2VsZWN0b3IuCisgKi8KK2ludCBpcnFfc2VsZWN0X2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpCit7CisJY3B1bWFza190IG1hc2s7CisKKwlpZiAoIWlycV9jYW5fc2V0X2FmZmluaXR5KGlycSkpCisJCXJldHVybiAwOworCisJY3B1c19hbmQobWFzaywgY3B1X29ubGluZV9tYXAsIGlycV9kZWZhdWx0X2FmZmluaXR5KTsKKworCWlycV9kZXNjW2lycV0uYWZmaW5pdHkgPSBtYXNrOworCWlycV9kZXNjW2lycV0uY2hpcC0+c2V0X2FmZmluaXR5KGlycSwgbWFzayk7CisKKwlzZXRfYmFsYW5jZV9pcnFfYWZmaW5pdHkoaXJxLCBtYXNrKTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCiAjZW5kaWYKIAogLyoqCkBAIC0zNTQsNyArMzc3LDcgQEAKIAogCQkvKiBTZXR1cCB0aGUgdHlwZSAobGV2ZWwsIGVkZ2UgcG9sYXJpdHkpIGlmIGNvbmZpZ3VyZWQ6ICovCiAJCWlmIChuZXctPmZsYWdzICYgSVJRRl9UUklHR0VSX01BU0spIHsKLQkJCWlmIChkZXNjLT5jaGlwICYmIGRlc2MtPmNoaXAtPnNldF90eXBlKQorCQkJaWYgKGRlc2MtPmNoaXAtPnNldF90eXBlKQogCQkJCWRlc2MtPmNoaXAtPnNldF90eXBlKGlycSwKIAkJCQkJCW5ldy0+ZmxhZ3MgJiBJUlFGX1RSSUdHRVJfTUFTSyk7CiAJCQllbHNlCkBAIC0zNjQsOCArMzg3LDcgQEAKIAkJCQkgKi8KIAkJCQlwcmludGsoS0VSTl9XQVJOSU5HICJObyBJUlFGX1RSSUdHRVIgc2V0X3R5cGUgIgogCQkJCSAgICAgICAiZnVuY3Rpb24gZm9yIElSUSAlZCAoJXMpXG4iLCBpcnEsCi0JCQkJICAgICAgIGRlc2MtPmNoaXAgPyBkZXNjLT5jaGlwLT5uYW1lIDoKLQkJCQkgICAgICAgInVua25vd24iKTsKKwkJCQkgICAgICAgZGVzYy0+Y2hpcC0+bmFtZSk7CiAJCX0gZWxzZQogCQkJY29tcGF0X2lycV9jaGlwX3NldF9kZWZhdWx0X2hhbmRsZXIoZGVzYyk7CiAKQEAgLTM4Miw2ICs0MDQsOSBAQAogCQl9IGVsc2UKIAkJCS8qIFVuZG8gbmVzdGVkIGRpc2FibGVzOiAqLwogCQkJZGVzYy0+ZGVwdGggPSAxOworCisJCS8qIFNldCBkZWZhdWx0IGFmZmluaXR5IG1hc2sgb25jZSBldmVyeXRoaW5nIGlzIHNldHVwICovCisJCWlycV9zZWxlY3RfYWZmaW5pdHkoaXJxKTsKIAl9CiAJLyogUmVzZXQgYnJva2VuIGlycSBkZXRlY3Rpb24gd2hlbiBpbnN0YWxsaW5nIG5ldyBoYW5kbGVyICovCiAJZGVzYy0+aXJxX2NvdW50ID0gMDsKQEAgLTU3MSw4ICs1OTYsNiBAQAogCWFjdGlvbi0+bmV4dCA9IE5VTEw7CiAJYWN0aW9uLT5kZXZfaWQgPSBkZXZfaWQ7CiAKLQlzZWxlY3Rfc21wX2FmZmluaXR5KGlycSk7Ci0KICNpZmRlZiBDT05GSUdfREVCVUdfU0hJUlEKIAlpZiAoaXJxZmxhZ3MgJiBJUlFGX1NIQVJFRCkgewogCQkvKgpkaWZmIC0tZ2l0IGEva2VybmVsL2lycS9wcm9jLmMgYi9rZXJuZWwvaXJxL3Byb2MuYwppbmRleCBjMmYyY2NiLi42YzZkMzVkIDEwMDY0NAotLS0gYS9rZXJuZWwvaXJxL3Byb2MuYworKysgYi9rZXJuZWwvaXJxL3Byb2MuYwpAQCAtNDQsNyArNDQsNyBAQAogCQkJCSAgIHVuc2lnbmVkIGxvbmcgY291bnQsIHZvaWQgKmRhdGEpCiB7CiAJdW5zaWduZWQgaW50IGlycSA9IChpbnQpKGxvbmcpZGF0YSwgZnVsbF9jb3VudCA9IGNvdW50LCBlcnI7Ci0JY3B1bWFza190IG5ld192YWx1ZSwgdG1wOworCWNwdW1hc2tfdCBuZXdfdmFsdWU7CiAKIAlpZiAoIWlycV9kZXNjW2lycV0uY2hpcC0+c2V0X2FmZmluaXR5IHx8IG5vX2lycV9hZmZpbml0eSB8fAogCSAgICBpcnFfYmFsYW5jaW5nX2Rpc2FibGVkKGlycSkpCkBAIC02MiwxNyArNjIsNTEgQEAKIAkgKiB3YXkgdG8gbWFrZSB0aGUgc3lzdGVtIHVudXNhYmxlIGFjY2lkZW50YWxseSA6LSkgQXQgbGVhc3QKIAkgKiBvbmUgb25saW5lIENQVSBzdGlsbCBoYXMgdG8gYmUgdGFyZ2V0ZWQuCiAJICovCi0JY3B1c19hbmQodG1wLCBuZXdfdmFsdWUsIGNwdV9vbmxpbmVfbWFwKTsKLQlpZiAoY3B1c19lbXB0eSh0bXApKQorCWlmICghY3B1c19pbnRlcnNlY3RzKG5ld192YWx1ZSwgY3B1X29ubGluZV9tYXApKQogCQkvKiBTcGVjaWFsIGNhc2UgZm9yIGVtcHR5IHNldCAtIGFsbG93IHRoZSBhcmNoaXRlY3R1cmUKIAkJICAgY29kZSB0byBzZXQgZGVmYXVsdCBTTVAgYWZmaW5pdHkuICovCi0JCXJldHVybiBzZWxlY3Rfc21wX2FmZmluaXR5KGlycSkgPyAtRUlOVkFMIDogZnVsbF9jb3VudDsKKwkJcmV0dXJuIGlycV9zZWxlY3RfYWZmaW5pdHkoaXJxKSA/IC1FSU5WQUwgOiBmdWxsX2NvdW50OwogCiAJaXJxX3NldF9hZmZpbml0eShpcnEsIG5ld192YWx1ZSk7CiAKIAlyZXR1cm4gZnVsbF9jb3VudDsKIH0KIAorc3RhdGljIGludCBkZWZhdWx0X2FmZmluaXR5X3JlYWQoY2hhciAqcGFnZSwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmYsCisJCQkJICBpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQoreworCWludCBsZW4gPSBjcHVtYXNrX3NjbnByaW50ZihwYWdlLCBjb3VudCwgaXJxX2RlZmF1bHRfYWZmaW5pdHkpOworCWlmIChjb3VudCAtIGxlbiA8IDIpCisJCXJldHVybiAtRUlOVkFMOworCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sICJcbiIpOworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBpbnQgZGVmYXVsdF9hZmZpbml0eV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwKKwkJCQkgICB1bnNpZ25lZCBsb25nIGNvdW50LCB2b2lkICpkYXRhKQoreworCXVuc2lnbmVkIGludCBmdWxsX2NvdW50ID0gY291bnQsIGVycjsKKwljcHVtYXNrX3QgbmV3X3ZhbHVlOworCisJZXJyID0gY3B1bWFza19wYXJzZV91c2VyKGJ1ZmZlciwgY291bnQsIG5ld192YWx1ZSk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWlmICghaXNfYWZmaW5pdHlfbWFza192YWxpZChuZXdfdmFsdWUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qCisJICogRG8gbm90IGFsbG93IGRpc2FibGluZyBJUlFzIGNvbXBsZXRlbHkgLSBpdCdzIGEgdG9vIGVhc3kKKwkgKiB3YXkgdG8gbWFrZSB0aGUgc3lzdGVtIHVudXNhYmxlIGFjY2lkZW50YWxseSA6LSkgQXQgbGVhc3QKKwkgKiBvbmUgb25saW5lIENQVSBzdGlsbCBoYXMgdG8gYmUgdGFyZ2V0ZWQuCisJICovCisJaWYgKCFjcHVzX2ludGVyc2VjdHMobmV3X3ZhbHVlLCBjcHVfb25saW5lX21hcCkpCisJCXJldHVybiAtRUlOVkFMOworCisJaXJxX2RlZmF1bHRfYWZmaW5pdHkgPSBuZXdfdmFsdWU7CisKKwlyZXR1cm4gZnVsbF9jb3VudDsKK30KICNlbmRpZgogCiBzdGF0aWMgaW50IGlycV9zcHVyaW91c19yZWFkKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLApAQCAtMTcxLDYgKzIwNSwyMSBAQAogCQlyZW1vdmVfcHJvY19lbnRyeShhY3Rpb24tPmRpci0+bmFtZSwgaXJxX2Rlc2NbaXJxXS5kaXIpOwogfQogCit2b2lkIHJlZ2lzdGVyX2RlZmF1bHRfYWZmaW5pdHlfcHJvYyh2b2lkKQoreworI2lmZGVmIENPTkZJR19TTVAKKwlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKmVudHJ5OworCisJLyogY3JlYXRlIC9wcm9jL2lycS9kZWZhdWx0X3NtcF9hZmZpbml0eSAqLworCWVudHJ5ID0gY3JlYXRlX3Byb2NfZW50cnkoImRlZmF1bHRfc21wX2FmZmluaXR5IiwgMDYwMCwgcm9vdF9pcnFfZGlyKTsKKwlpZiAoZW50cnkpIHsKKwkJZW50cnktPmRhdGEgPSBOVUxMOworCQllbnRyeS0+cmVhZF9wcm9jICA9IGRlZmF1bHRfYWZmaW5pdHlfcmVhZDsKKwkJZW50cnktPndyaXRlX3Byb2MgPSBkZWZhdWx0X2FmZmluaXR5X3dyaXRlOworCX0KKyNlbmRpZgorfQorCiB2b2lkIGluaXRfaXJxX3Byb2Modm9pZCkKIHsKIAlpbnQgaTsKQEAgLTE4MCw2ICsyMjksOCBAQAogCWlmICghcm9vdF9pcnFfZGlyKQogCQlyZXR1cm47CiAKKwlyZWdpc3Rlcl9kZWZhdWx0X2FmZmluaXR5X3Byb2MoKTsKKwogCS8qCiAJICogQ3JlYXRlIGVudHJpZXMgZm9yIGFsbCBleGlzdGluZyBJUlFzLgogCSAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL2twcm9iZXMuYyBiL2tlcm5lbC9rcHJvYmVzLmMKaW5kZXggZDQ5OThmOC4uMTQ4NWNhOCAxMDA2NDQKLS0tIGEva2VybmVsL2twcm9iZXMuYworKysgYi9rZXJuZWwva3Byb2Jlcy5jCkBAIC03OSw3ICs3OSw3IEBACiAgKgogICogRm9yIHN1Y2ggY2FzZXMsIHdlIG5vdyBoYXZlIGEgYmxhY2tsaXN0CiAgKi8KLXN0cnVjdCBrcHJvYmVfYmxhY2twb2ludCBrcHJvYmVfYmxhY2tsaXN0W10gPSB7CitzdGF0aWMgc3RydWN0IGtwcm9iZV9ibGFja3BvaW50IGtwcm9iZV9ibGFja2xpc3RbXSA9IHsKIAl7InByZWVtcHRfc2NoZWR1bGUiLH0sCiAJe05VTEx9ICAgIC8qIFRlcm1pbmF0b3IgKi8KIH07CmRpZmYgLS1naXQgYS9rZXJuZWwva3RocmVhZC5jIGIva2VybmVsL2t0aHJlYWQuYwppbmRleCBiZDFiOWVhLi45Nzc0N2NkIDEwMDY0NAotLS0gYS9rZXJuZWwva3RocmVhZC5jCisrKyBiL2tlcm5lbC9rdGhyZWFkLmMKQEAgLTE4MCw2ICsxODAsNyBAQAogCXNldF90YXNrX2NwdShrLCBjcHUpOwogCWstPmNwdXNfYWxsb3dlZCA9IGNwdW1hc2tfb2ZfY3B1KGNwdSk7CiAJay0+cnQubnJfY3B1c19hbGxvd2VkID0gMTsKKwlrLT5mbGFncyB8PSBQRl9USFJFQURfQk9VTkQ7CiB9CiBFWFBPUlRfU1lNQk9MKGt0aHJlYWRfYmluZCk7CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9sb2NrZGVwLmMgYi9rZXJuZWwvbG9ja2RlcC5jCmluZGV4IDgxYTRlNGEuLmQzOGE2NDMgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9sb2NrZGVwLmMKKysrIGIva2VybmVsL2xvY2tkZXAuYwpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lycWZsYWdzLmg+CiAjaW5jbHVkZSA8bGludXgvdXRzbmFtZS5oPgogI2luY2x1ZGUgPGxpbnV4L2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KIAogI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgogCkBAIC04MSw2ICs4Miw4IEBACiAJCV9fcmF3X3NwaW5fdW5sb2NrKCZsb2NrZGVwX2xvY2spOwogCQlyZXR1cm4gMDsKIAl9CisJLyogcHJldmVudCBhbnkgcmVjdXJzaW9ucyB3aXRoaW4gbG9ja2RlcCBmcm9tIGNhdXNpbmcgZGVhZGxvY2tzICovCisJY3VycmVudC0+bG9ja2RlcF9yZWN1cnNpb24rKzsKIAlyZXR1cm4gMTsKIH0KIApAQCAtODksNiArOTIsNyBAQAogCWlmIChkZWJ1Z19sb2NrcyAmJiAhX19yYXdfc3Bpbl9pc19sb2NrZWQoJmxvY2tkZXBfbG9jaykpCiAJCXJldHVybiBERUJVR19MT0NLU19XQVJOX09OKDEpOwogCisJY3VycmVudC0+bG9ja2RlcF9yZWN1cnNpb24tLTsKIAlfX3Jhd19zcGluX3VubG9jaygmbG9ja2RlcF9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTk4Miw3ICs5ODYsNyBAQAogCXJldHVybiAxOwogfQogCi0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCisjaWYgZGVmaW5lZChDT05GSUdfVFJBQ0VfSVJRRkxBR1MpICYmIGRlZmluZWQoQ09ORklHX1BST1ZFX0xPQ0tJTkcpCiAvKgogICogRm9yd2FyZHMgYW5kIGJhY2t3YXJkcyBzdWJncmFwaCBzZWFyY2hpbmcsIGZvciB0aGUgcHVycG9zZXMgb2YKICAqIHByb3ZpbmcgdGhhdCB0d28gc3ViZ3JhcGhzIGNhbiBiZSBjb25uZWN0ZWQgYnkgYSBuZXcgZGVwZW5kZW5jeQpAQCAtMTQ1OCw3ICsxNDYyLDE0IEBACiB9CiAKIHVuc2lnbmVkIGxvbmcgbnJfbG9ja19jaGFpbnM7Ci1zdGF0aWMgc3RydWN0IGxvY2tfY2hhaW4gbG9ja19jaGFpbnNbTUFYX0xPQ0tERVBfQ0hBSU5TXTsKK3N0cnVjdCBsb2NrX2NoYWluIGxvY2tfY2hhaW5zW01BWF9MT0NLREVQX0NIQUlOU107CitpbnQgbnJfY2hhaW5faGxvY2tzOworc3RhdGljIHUxNiBjaGFpbl9obG9ja3NbTUFYX0xPQ0tERVBfQ0hBSU5fSExPQ0tTXTsKKworc3RydWN0IGxvY2tfY2xhc3MgKmxvY2tfY2hhaW5fZ2V0X2NsYXNzKHN0cnVjdCBsb2NrX2NoYWluICpjaGFpbiwgaW50IGkpCit7CisJcmV0dXJuIGxvY2tfY2xhc3NlcyArIGNoYWluX2hsb2Nrc1tjaGFpbi0+YmFzZSArIGldOworfQogCiAvKgogICogTG9vayB1cCBhIGRlcGVuZGVuY3kgY2hhaW4uIElmIHRoZSBrZXkgaXMgbm90IHByZXNlbnQgeWV0IHRoZW4KQEAgLTE0NjYsMTAgKzE0NzcsMTUgQEAKICAqIHZhbGlkYXRlZC4gSWYgdGhlIGtleSBpcyBhbHJlYWR5IGhhc2hlZCwgcmV0dXJuIDAuCiAgKiAoT24gcmV0dXJuIHdpdGggMSBncmFwaF9sb2NrIGlzIGhlbGQuKQogICovCi1zdGF0aWMgaW5saW5lIGludCBsb29rdXBfY2hhaW5fY2FjaGUodTY0IGNoYWluX2tleSwgc3RydWN0IGxvY2tfY2xhc3MgKmNsYXNzKQorc3RhdGljIGlubGluZSBpbnQgbG9va3VwX2NoYWluX2NhY2hlKHN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciwKKwkJCQkgICAgIHN0cnVjdCBoZWxkX2xvY2sgKmhsb2NrLAorCQkJCSAgICAgdTY0IGNoYWluX2tleSkKIHsKKwlzdHJ1Y3QgbG9ja19jbGFzcyAqY2xhc3MgPSBobG9jay0+Y2xhc3M7CiAJc3RydWN0IGxpc3RfaGVhZCAqaGFzaF9oZWFkID0gY2hhaW5oYXNoZW50cnkoY2hhaW5fa2V5KTsKIAlzdHJ1Y3QgbG9ja19jaGFpbiAqY2hhaW47CisJc3RydWN0IGhlbGRfbG9jayAqaGxvY2tfY3VyciwgKmhsb2NrX25leHQ7CisJaW50IGksIGosIG4sIGNuOwogCiAJaWYgKERFQlVHX0xPQ0tTX1dBUk5fT04oIWlycXNfZGlzYWJsZWQoKSkpCiAJCXJldHVybiAwOwpAQCAtMTUxNyw2ICsxNTMzLDMyIEBACiAJfQogCWNoYWluID0gbG9ja19jaGFpbnMgKyBucl9sb2NrX2NoYWlucysrOwogCWNoYWluLT5jaGFpbl9rZXkgPSBjaGFpbl9rZXk7CisJY2hhaW4tPmlycV9jb250ZXh0ID0gaGxvY2stPmlycV9jb250ZXh0OworCS8qIEZpbmQgdGhlIGZpcnN0IGhlbGRfbG9jayBvZiBjdXJyZW50IGNoYWluICovCisJaGxvY2tfbmV4dCA9IGhsb2NrOworCWZvciAoaSA9IGN1cnItPmxvY2tkZXBfZGVwdGggLSAxOyBpID49IDA7IGktLSkgeworCQlobG9ja19jdXJyID0gY3Vyci0+aGVsZF9sb2NrcyArIGk7CisJCWlmIChobG9ja19jdXJyLT5pcnFfY29udGV4dCAhPSBobG9ja19uZXh0LT5pcnFfY29udGV4dCkKKwkJCWJyZWFrOworCQlobG9ja19uZXh0ID0gaGxvY2s7CisJfQorCWkrKzsKKwljaGFpbi0+ZGVwdGggPSBjdXJyLT5sb2NrZGVwX2RlcHRoICsgMSAtIGk7CisJY24gPSBucl9jaGFpbl9obG9ja3M7CisJd2hpbGUgKGNuICsgY2hhaW4tPmRlcHRoIDw9IE1BWF9MT0NLREVQX0NIQUlOX0hMT0NLUykgeworCQluID0gY21weGNoZygmbnJfY2hhaW5faGxvY2tzLCBjbiwgY24gKyBjaGFpbi0+ZGVwdGgpOworCQlpZiAobiA9PSBjbikKKwkJCWJyZWFrOworCQljbiA9IG47CisJfQorCWlmIChsaWtlbHkoY24gKyBjaGFpbi0+ZGVwdGggPD0gTUFYX0xPQ0tERVBfQ0hBSU5fSExPQ0tTKSkgeworCQljaGFpbi0+YmFzZSA9IGNuOworCQlmb3IgKGogPSAwOyBqIDwgY2hhaW4tPmRlcHRoIC0gMTsgaisrLCBpKyspIHsKKwkJCWludCBsb2NrX2lkID0gY3Vyci0+aGVsZF9sb2Nrc1tpXS5jbGFzcyAtIGxvY2tfY2xhc3NlczsKKwkJCWNoYWluX2hsb2Nrc1tjaGFpbi0+YmFzZSArIGpdID0gbG9ja19pZDsKKwkJfQorCQljaGFpbl9obG9ja3NbY2hhaW4tPmJhc2UgKyBqXSA9IGNsYXNzIC0gbG9ja19jbGFzc2VzOworCX0KIAlsaXN0X2FkZF90YWlsX3JjdSgmY2hhaW4tPmVudHJ5LCBoYXNoX2hlYWQpOwogCWRlYnVnX2F0b21pY19pbmMoJmNoYWluX2xvb2t1cF9taXNzZXMpOwogCWluY19jaGFpbnMoKTsKQEAgLTE1MzgsNyArMTU4MCw3IEBACiAJICogZ3JhcGhfbG9jayBmb3IgdXMpCiAJICovCiAJaWYgKCFobG9jay0+dHJ5bG9jayAmJiAoaGxvY2stPmNoZWNrID09IDIpICYmCi0JCQlsb29rdXBfY2hhaW5fY2FjaGUoY2hhaW5fa2V5LCBobG9jay0+Y2xhc3MpKSB7CisJICAgIGxvb2t1cF9jaGFpbl9jYWNoZShjdXJyLCBobG9jaywgY2hhaW5fa2V5KSkgewogCQkvKgogCQkgKiBDaGVjayB3aGV0aGVyIGxhc3QgaGVsZCBsb2NrOgogCQkgKgpAQCAtMTY4MCw3ICsxNzIyLDcgQEAKIHN0YXRpYyBpbnQgbWFya19sb2NrKHN0cnVjdCB0YXNrX3N0cnVjdCAqY3Vyciwgc3RydWN0IGhlbGRfbG9jayAqdGhpcywKIAkJICAgICBlbnVtIGxvY2tfdXNhZ2VfYml0IG5ld19iaXQpOwogCi0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCisjaWYgZGVmaW5lZChDT05GSUdfVFJBQ0VfSVJRRkxBR1MpICYmIGRlZmluZWQoQ09ORklHX1BST1ZFX0xPQ0tJTkcpCiAKIC8qCiAgKiBwcmludCBpcnEgaW52ZXJzaW9uIGJ1ZzoKQEAgLTIwMTMsMTEgKzIwNTUsMTMgQEAKIC8qCiAgKiBIYXJkaXJxcyB3aWxsIGJlIGVuYWJsZWQ6CiAgKi8KLXZvaWQgdHJhY2VfaGFyZGlycXNfb24odm9pZCkKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKHVuc2lnbmVkIGxvbmcgYTApCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyID0gY3VycmVudDsKIAl1bnNpZ25lZCBsb25nIGlwOwogCisJdGltZV9oYXJkaXJxc19vbihDQUxMRVJfQUREUjAsIGEwKTsKKwogCWlmICh1bmxpa2VseSghZGVidWdfbG9ja3MgfHwgY3VycmVudC0+bG9ja2RlcF9yZWN1cnNpb24pKQogCQlyZXR1cm47CiAKQEAgLTIwNTUsMTYgKzIwOTksMjMgQEAKIAljdXJyLT5oYXJkaXJxX2VuYWJsZV9ldmVudCA9ICsrY3Vyci0+aXJxX2V2ZW50czsKIAlkZWJ1Z19hdG9taWNfaW5jKCZoYXJkaXJxc19vbl9ldmVudHMpOwogfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIpOwogCit2b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpCit7CisJdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKENBTExFUl9BRERSMCk7Cit9CiBFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29uKTsKIAogLyoKICAqIEhhcmRpcnFzIHdlcmUgZGlzYWJsZWQ6CiAgKi8KLXZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmKHZvaWQpCit2b2lkIHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIodW5zaWduZWQgbG9uZyBhMCkKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIgPSBjdXJyZW50OwogCisJdGltZV9oYXJkaXJxc19vZmYoQ0FMTEVSX0FERFIwLCBhMCk7CisKIAlpZiAodW5saWtlbHkoIWRlYnVnX2xvY2tzIHx8IGN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9uKSkKIAkJcmV0dXJuOwogCkBAIC0yMDgyLDcgKzIxMzMsMTIgQEAKIAl9IGVsc2UKIAkJZGVidWdfYXRvbWljX2luYygmcmVkdW5kYW50X2hhcmRpcnFzX29mZik7CiB9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIpOwogCit2b2lkIHRyYWNlX2hhcmRpcnFzX29mZih2b2lkKQoreworCXRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIoQ0FMTEVSX0FERFIwKTsKK30KIEVYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb2ZmKTsKIAogLyoKQEAgLTIyNDYsNyArMjMwMiw3IEBACiAgKiBNYXJrIGEgbG9jayB3aXRoIGEgdXNhZ2UgYml0LCBhbmQgdmFsaWRhdGUgdGhlIHN0YXRlIHRyYW5zaXRpb246CiAgKi8KIHN0YXRpYyBpbnQgbWFya19sb2NrKHN0cnVjdCB0YXNrX3N0cnVjdCAqY3Vyciwgc3RydWN0IGhlbGRfbG9jayAqdGhpcywKLQkJICAgICBlbnVtIGxvY2tfdXNhZ2VfYml0IG5ld19iaXQpCisJCQkgICAgIGVudW0gbG9ja191c2FnZV9iaXQgbmV3X2JpdCkKIHsKIAl1bnNpZ25lZCBpbnQgbmV3X21hc2sgPSAxIDw8IG5ld19iaXQsIHJldCA9IDE7CiAKQEAgLTI2NTAsNyArMjcwNiw4IEBACiAgKi8KIHN0YXRpYyB2b2lkIGNoZWNrX2ZsYWdzKHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiB7Ci0jaWYgZGVmaW5lZChDT05GSUdfREVCVUdfTE9DS0RFUCkgJiYgZGVmaW5lZChDT05GSUdfVFJBQ0VfSVJRRkxBR1MpCisjaWYgZGVmaW5lZChDT05GSUdfUFJPVkVfTE9DS0lORykgJiYgZGVmaW5lZChDT05GSUdfREVCVUdfTE9DS0RFUCkgJiYgXAorICAgIGRlZmluZWQoQ09ORklHX1RSQUNFX0lSUUZMQUdTKQogCWlmICghZGVidWdfbG9ja3MpCiAJCXJldHVybjsKIApAQCAtMjY4Niw3ICsyNzQzLDcgQEAKICAqIGFuZCBhbHNvIGF2b2lkIGxvY2tkZXAgcmVjdXJzaW9uOgogICovCiB2b2lkIGxvY2tfYWNxdWlyZShzdHJ1Y3QgbG9ja2RlcF9tYXAgKmxvY2ssIHVuc2lnbmVkIGludCBzdWJjbGFzcywKLQkJICBpbnQgdHJ5bG9jaywgaW50IHJlYWQsIGludCBjaGVjaywgdW5zaWduZWQgbG9uZyBpcCkKKwkJCSAgaW50IHRyeWxvY2ssIGludCByZWFkLCBpbnQgY2hlY2ssIHVuc2lnbmVkIGxvbmcgaXApCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIApAQCAtMjcwOCw3ICsyNzY1LDggQEAKIAogRVhQT1JUX1NZTUJPTF9HUEwobG9ja19hY3F1aXJlKTsKIAotdm9pZCBsb2NrX3JlbGVhc2Uoc3RydWN0IGxvY2tkZXBfbWFwICpsb2NrLCBpbnQgbmVzdGVkLCB1bnNpZ25lZCBsb25nIGlwKQordm9pZCBsb2NrX3JlbGVhc2Uoc3RydWN0IGxvY2tkZXBfbWFwICpsb2NrLCBpbnQgbmVzdGVkLAorCQkJICB1bnNpZ25lZCBsb25nIGlwKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9sb2NrZGVwX2ludGVybmFscy5oIGIva2VybmVsL2xvY2tkZXBfaW50ZXJuYWxzLmgKaW5kZXggOGNlMDliYy4uYzM2MDBhMCAxMDA2NDQKLS0tIGEva2VybmVsL2xvY2tkZXBfaW50ZXJuYWxzLmgKKysrIGIva2VybmVsL2xvY2tkZXBfaW50ZXJuYWxzLmgKQEAgLTIzLDYgKzIzLDggQEAKICNkZWZpbmUgTUFYX0xPQ0tERVBfQ0hBSU5TX0JJVFMJMTQKICNkZWZpbmUgTUFYX0xPQ0tERVBfQ0hBSU5TCSgxVUwgPDwgTUFYX0xPQ0tERVBfQ0hBSU5TX0JJVFMpCiAKKyNkZWZpbmUgTUFYX0xPQ0tERVBfQ0hBSU5fSExPQ0tTIChNQVhfTE9DS0RFUF9DSEFJTlMqNSkKKwogLyoKICAqIFN0YWNrLXRyYWNlOiB0aWdodGx5IHBhY2tlZCBhcnJheSBvZiBzdGFjayBiYWNrdHJhY2UKICAqIGFkZHJlc3Nlcy4gUHJvdGVjdGVkIGJ5IHRoZSBoYXNoX2xvY2suCkBAIC0zMCwxNSArMzIsMTkgQEAKICNkZWZpbmUgTUFYX1NUQUNLX1RSQUNFX0VOVFJJRVMJMjYyMTQ0VUwKIAogZXh0ZXJuIHN0cnVjdCBsaXN0X2hlYWQgYWxsX2xvY2tfY2xhc3NlczsKK2V4dGVybiBzdHJ1Y3QgbG9ja19jaGFpbiBsb2NrX2NoYWluc1tdOwogCiBleHRlcm4gdm9pZAogZ2V0X3VzYWdlX2NoYXJzKHN0cnVjdCBsb2NrX2NsYXNzICpjbGFzcywgY2hhciAqYzEsIGNoYXIgKmMyLCBjaGFyICpjMywgY2hhciAqYzQpOwogCiBleHRlcm4gY29uc3QgY2hhciAqIF9fZ2V0X2tleV9uYW1lKHN0cnVjdCBsb2NrZGVwX3N1YmNsYXNzX2tleSAqa2V5LCBjaGFyICpzdHIpOwogCitzdHJ1Y3QgbG9ja19jbGFzcyAqbG9ja19jaGFpbl9nZXRfY2xhc3Moc3RydWN0IGxvY2tfY2hhaW4gKmNoYWluLCBpbnQgaSk7CisKIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX2xvY2tfY2xhc3NlczsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX2xpc3RfZW50cmllczsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX2xvY2tfY2hhaW5zOworZXh0ZXJuIGludCBucl9jaGFpbl9obG9ja3M7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9zdGFja190cmFjZV9lbnRyaWVzOwogCiBleHRlcm4gdW5zaWduZWQgaW50IG5yX2hhcmRpcnFfY2hhaW5zOwpkaWZmIC0tZ2l0IGEva2VybmVsL2xvY2tkZXBfcHJvYy5jIGIva2VybmVsL2xvY2tkZXBfcHJvYy5jCmluZGV4IGRjNWQyOTYuLjliMGU5NDAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9sb2NrZGVwX3Byb2MuYworKysgYi9rZXJuZWwvbG9ja2RlcF9wcm9jLmMKQEAgLTEzOSw3ICsxMzksNyBAQAogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJmNsYXNzLT5sb2Nrc19hZnRlciwgZW50cnkpIHsKIAkJaWYgKGVudHJ5LT5kaXN0YW5jZSA9PSAxKSB7Ci0JCQlzZXFfcHJpbnRmKG0sICIgLT4gWyVwXSAiLCBlbnRyeS0+Y2xhc3MpOworCQkJc2VxX3ByaW50ZihtLCAiIC0+IFslcF0gIiwgZW50cnktPmNsYXNzLT5rZXkpOwogCQkJcHJpbnRfbmFtZShtLCBlbnRyeS0+Y2xhc3MpOwogCQkJc2VxX3B1dHMobSwgIlxuIik7CiAJCX0KQEAgLTE3OCw2ICsxNzgsOTUgQEAKIAkucmVsZWFzZQk9IHNlcV9yZWxlYXNlLAogfTsKIAorI2lmZGVmIENPTkZJR19QUk9WRV9MT0NLSU5HCitzdGF0aWMgdm9pZCAqbGNfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYsIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCBsb2NrX2NoYWluICpjaGFpbjsKKworCSgqcG9zKSsrOworCisJaWYgKHYgPT0gU0VRX1NUQVJUX1RPS0VOKQorCQljaGFpbiA9IG0tPnByaXZhdGU7CisJZWxzZSB7CisJCWNoYWluID0gdjsKKworCQlpZiAoKnBvcyA8IG5yX2xvY2tfY2hhaW5zKQorCQkJY2hhaW4gPSBsb2NrX2NoYWlucyArICpwb3M7CisJCWVsc2UKKwkJCWNoYWluID0gTlVMTDsKKwl9CisKKwlyZXR1cm4gY2hhaW47Cit9CisKK3N0YXRpYyB2b2lkICpsY19zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGxvZmZfdCAqcG9zKQoreworCWlmICgqcG9zID09IDApCisJCXJldHVybiBTRVFfU1RBUlRfVE9LRU47CisKKwlpZiAoKnBvcyA8IG5yX2xvY2tfY2hhaW5zKQorCQlyZXR1cm4gbG9ja19jaGFpbnMgKyAqcG9zOworCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIGxjX3N0b3Aoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQoreworfQorCitzdGF0aWMgaW50IGxjX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQoreworCXN0cnVjdCBsb2NrX2NoYWluICpjaGFpbiA9IHY7CisJc3RydWN0IGxvY2tfY2xhc3MgKmNsYXNzOworCWludCBpOworCisJaWYgKHYgPT0gU0VRX1NUQVJUX1RPS0VOKSB7CisJCXNlcV9wcmludGYobSwgImFsbCBsb2NrIGNoYWluczpcbiIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlzZXFfcHJpbnRmKG0sICJpcnFfY29udGV4dDogJWRcbiIsIGNoYWluLT5pcnFfY29udGV4dCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY2hhaW4tPmRlcHRoOyBpKyspIHsKKwkJY2xhc3MgPSBsb2NrX2NoYWluX2dldF9jbGFzcyhjaGFpbiwgaSk7CisJCXNlcV9wcmludGYobSwgIlslcF0gIiwgY2xhc3MtPmtleSk7CisJCXByaW50X25hbWUobSwgY2xhc3MpOworCQlzZXFfcHV0cyhtLCAiXG4iKTsKKwl9CisJc2VxX3B1dHMobSwgIlxuIik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBzZXFfb3BlcmF0aW9ucyBsb2NrZGVwX2NoYWluc19vcHMgPSB7CisJLnN0YXJ0CT0gbGNfc3RhcnQsCisJLm5leHQJPSBsY19uZXh0LAorCS5zdG9wCT0gbGNfc3RvcCwKKwkuc2hvdwk9IGxjX3Nob3csCit9OworCitzdGF0aWMgaW50IGxvY2tkZXBfY2hhaW5zX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJaW50IHJlcyA9IHNlcV9vcGVuKGZpbGUsICZsb2NrZGVwX2NoYWluc19vcHMpOworCWlmICghcmVzKSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKworCQlpZiAobnJfbG9ja19jaGFpbnMpCisJCQltLT5wcml2YXRlID0gbG9ja19jaGFpbnM7CisJCWVsc2UKKwkJCW0tPnByaXZhdGUgPSBOVUxMOworCX0KKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBwcm9jX2xvY2tkZXBfY2hhaW5zX29wZXJhdGlvbnMgPSB7CisJLm9wZW4JCT0gbG9ja2RlcF9jaGFpbnNfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNlcV9yZWxlYXNlLAorfTsKKyNlbmRpZiAvKiBDT05GSUdfUFJPVkVfTE9DS0lORyAqLworCiBzdGF0aWMgdm9pZCBsb2NrZGVwX3N0YXRzX2RlYnVnX3Nob3coc3RydWN0IHNlcV9maWxlICptKQogewogI2lmZGVmIENPTkZJR19ERUJVR19MT0NLREVQCkBAIC0yOTQsNiArMzgzLDggQEAKICNpZmRlZiBDT05GSUdfUFJPVkVfTE9DS0lORwogCXNlcV9wcmludGYobSwgIiBkZXBlbmRlbmN5IGNoYWluczogICAgICAgICAgICAgJTExbHUgW21heDogJWx1XVxuIiwKIAkJCW5yX2xvY2tfY2hhaW5zLCBNQVhfTE9DS0RFUF9DSEFJTlMpOworCXNlcV9wcmludGYobSwgIiBkZXBlbmRlbmN5IGNoYWluIGhsb2NrczogICAgICAgJTExZCBbbWF4OiAlbHVdXG4iLAorCQkJbnJfY2hhaW5faGxvY2tzLCBNQVhfTE9DS0RFUF9DSEFJTl9ITE9DS1MpOwogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKQEAgLTY2MSw2ICs3NTIsMTAgQEAKIHN0YXRpYyBpbnQgX19pbml0IGxvY2tkZXBfcHJvY19pbml0KHZvaWQpCiB7CiAJcHJvY19jcmVhdGUoImxvY2tkZXAiLCBTX0lSVVNSLCBOVUxMLCAmcHJvY19sb2NrZGVwX29wZXJhdGlvbnMpOworI2lmZGVmIENPTkZJR19QUk9WRV9MT0NLSU5HCisJcHJvY19jcmVhdGUoImxvY2tkZXBfY2hhaW5zIiwgU19JUlVTUiwgTlVMTCwKKwkJICAgICZwcm9jX2xvY2tkZXBfY2hhaW5zX29wZXJhdGlvbnMpOworI2VuZGlmCiAJcHJvY19jcmVhdGUoImxvY2tkZXBfc3RhdHMiLCBTX0lSVVNSLCBOVUxMLAogCQkgICAgJnByb2NfbG9ja2RlcF9zdGF0c19vcGVyYXRpb25zKTsKIApkaWZmIC0tZ2l0IGEva2VybmVsL21hcmtlci5jIGIva2VybmVsL21hcmtlci5jCmluZGV4IGI1YTlmZTEuLjFhYmZiOTIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9tYXJrZXIuYworKysgYi9rZXJuZWwvbWFya2VyLmMKQEAgLTU1LDggKzU1LDggQEAKIHN0cnVjdCBtYXJrZXJfZW50cnkgewogCXN0cnVjdCBobGlzdF9ub2RlIGhsaXN0OwogCWNoYXIgKmZvcm1hdDsKLQl2b2lkICgqY2FsbCkoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsCS8qIFByb2JlIHdyYXBwZXIgKi8KLQkJdm9pZCAqY2FsbF9wcml2YXRlLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisJCQkvKiBQcm9iZSB3cmFwcGVyICovCisJdm9pZCAoKmNhbGwpKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLCB2b2lkICpjYWxsX3ByaXZhdGUsIC4uLik7CiAJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlIHNpbmdsZTsKIAlzdHJ1Y3QgbWFya2VyX3Byb2JlX2Nsb3N1cmUgKm11bHRpOwogCWludCByZWZjb3VudDsJLyogTnVtYmVyIG9mIHRpbWVzIGFybWVkLiAwIGlmIGRpc2FybWVkLiAqLwpAQCAtOTEsMTUgKzkxLDEzIEBACiAgKiBtYXJrZXJfcHJvYmVfY2IgQ2FsbGJhY2sgdGhhdCBwcmVwYXJlcyB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdCBmb3IgcHJvYmVzLgogICogQG1kYXRhOiBwb2ludGVyIG9mIHR5cGUgc3RydWN0IG1hcmtlcgogICogQGNhbGxfcHJpdmF0ZTogY2FsbGVyIHNpdGUgcHJpdmF0ZSBkYXRhCi0gKiBAZm10OiBmb3JtYXQgc3RyaW5nCiAgKiBALi4uOiAgVmFyaWFibGUgYXJndW1lbnQgbGlzdC4KICAqCiAgKiBTaW5jZSB3ZSBkbyBub3QgdXNlICJ0eXBpY2FsIiBwb2ludGVyIGJhc2VkIFJDVSBpbiB0aGUgMSBhcmd1bWVudCBjYXNlLCB3ZQogICogbmVlZCB0byBwdXQgYSBmdWxsIHNtcF9ybWIoKSBpbiB0aGlzIGJyYW5jaC4gVGhpcyBpcyB3aHkgd2UgZG8gbm90IHVzZQogICogcmN1X2RlcmVmZXJlbmNlKCkgZm9yIHRoZSBwb2ludGVyIHJlYWQuCiAgKi8KLXZvaWQgbWFya2VyX3Byb2JlX2NiKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLCB2b2lkICpjYWxsX3ByaXZhdGUsCi0JY29uc3QgY2hhciAqZm10LCAuLi4pCit2b2lkIG1hcmtlcl9wcm9iZV9jYihjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pCiB7CiAJdmFfbGlzdCBhcmdzOwogCWNoYXIgcHR5cGU7CkBAIC0xMjAsOCArMTE4LDkgQEAKIAkJLyogTXVzdCByZWFkIHRoZSBwdHIgYmVmb3JlIHByaXZhdGUgZGF0YS4gVGhleSBhcmUgbm90IGRhdGEKIAkJICogZGVwZW5kYW50LCBzbyB3ZSBwdXQgYW4gZXhwbGljaXQgc21wX3JtYigpIGhlcmUuICovCiAJCXNtcF9ybWIoKTsKLQkJdmFfc3RhcnQoYXJncywgZm10KTsKLQkJZnVuYyhtZGF0YS0+c2luZ2xlLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwgZm10LCAmYXJncyk7CisJCXZhX3N0YXJ0KGFyZ3MsIGNhbGxfcHJpdmF0ZSk7CisJCWZ1bmMobWRhdGEtPnNpbmdsZS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsIG1kYXRhLT5mb3JtYXQsCisJCQkmYXJncyk7CiAJCXZhX2VuZChhcmdzKTsKIAl9IGVsc2UgewogCQlzdHJ1Y3QgbWFya2VyX3Byb2JlX2Nsb3N1cmUgKm11bHRpOwpAQCAtMTM2LDkgKzEzNSw5IEBACiAJCXNtcF9yZWFkX2JhcnJpZXJfZGVwZW5kcygpOwogCQltdWx0aSA9IG1kYXRhLT5tdWx0aTsKIAkJZm9yIChpID0gMDsgbXVsdGlbaV0uZnVuYzsgaSsrKSB7Ci0JCQl2YV9zdGFydChhcmdzLCBmbXQpOwotCQkJbXVsdGlbaV0uZnVuYyhtdWx0aVtpXS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsIGZtdCwKLQkJCQkmYXJncyk7CisJCQl2YV9zdGFydChhcmdzLCBjYWxsX3ByaXZhdGUpOworCQkJbXVsdGlbaV0uZnVuYyhtdWx0aVtpXS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsCisJCQkJbWRhdGEtPmZvcm1hdCwgJmFyZ3MpOwogCQkJdmFfZW5kKGFyZ3MpOwogCQl9CiAJfQpAQCAtMTUwLDEzICsxNDksMTEgQEAKICAqIG1hcmtlcl9wcm9iZV9jYiBDYWxsYmFjayB0aGF0IGRvZXMgbm90IHByZXBhcmUgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuCiAgKiBAbWRhdGE6IHBvaW50ZXIgb2YgdHlwZSBzdHJ1Y3QgbWFya2VyCiAgKiBAY2FsbF9wcml2YXRlOiBjYWxsZXIgc2l0ZSBwcml2YXRlIGRhdGEKLSAqIEBmbXQ6IGZvcm1hdCBzdHJpbmcKICAqIEAuLi46ICBWYXJpYWJsZSBhcmd1bWVudCBsaXN0LgogICoKICAqIFNob3VsZCBiZSBjb25uZWN0ZWQgdG8gbWFya2VycyAiTUFSS19OT0FSR1MiLgogICovCi12b2lkIG1hcmtlcl9wcm9iZV9jYl9ub2FyZyhjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwKLQl2b2lkICpjYWxsX3ByaXZhdGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBtYXJrZXJfcHJvYmVfY2Jfbm9hcmcoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsIHZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKQogewogCXZhX2xpc3QgYXJnczsJLyogbm90IGluaXRpYWxpemVkICovCiAJY2hhciBwdHlwZTsKQEAgLTE3Miw3ICsxNjksOCBAQAogCQkvKiBNdXN0IHJlYWQgdGhlIHB0ciBiZWZvcmUgcHJpdmF0ZSBkYXRhLiBUaGV5IGFyZSBub3QgZGF0YQogCQkgKiBkZXBlbmRhbnQsIHNvIHdlIHB1dCBhbiBleHBsaWNpdCBzbXBfcm1iKCkgaGVyZS4gKi8KIAkJc21wX3JtYigpOwotCQlmdW5jKG1kYXRhLT5zaW5nbGUucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLCBmbXQsICZhcmdzKTsKKwkJZnVuYyhtZGF0YS0+c2luZ2xlLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwgbWRhdGEtPmZvcm1hdCwKKwkJCSZhcmdzKTsKIAl9IGVsc2UgewogCQlzdHJ1Y3QgbWFya2VyX3Byb2JlX2Nsb3N1cmUgKm11bHRpOwogCQlpbnQgaTsKQEAgLTE4Niw4ICsxODQsOCBAQAogCQlzbXBfcmVhZF9iYXJyaWVyX2RlcGVuZHMoKTsKIAkJbXVsdGkgPSBtZGF0YS0+bXVsdGk7CiAJCWZvciAoaSA9IDA7IG11bHRpW2ldLmZ1bmM7IGkrKykKLQkJCW11bHRpW2ldLmZ1bmMobXVsdGlbaV0ucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLCBmbXQsCi0JCQkJJmFyZ3MpOworCQkJbXVsdGlbaV0uZnVuYyhtdWx0aVtpXS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsCisJCQkJbWRhdGEtPmZvcm1hdCwgJmFyZ3MpOwogCX0KIAlwcmVlbXB0X2VuYWJsZSgpOwogfQpkaWZmIC0tZ2l0IGEva2VybmVsL211dGV4LWRlYnVnLmMgYi9rZXJuZWwvbXV0ZXgtZGVidWcuYwppbmRleCAzYWFhMDZjLi4xZDk0MTYwIDEwMDY0NAotLS0gYS9rZXJuZWwvbXV0ZXgtZGVidWcuYworKysgYi9rZXJuZWwvbXV0ZXgtZGVidWcuYwpAQCAtNzksOCArNzksOCBAQAogCWlmICh1bmxpa2VseSghZGVidWdfbG9ja3MpKQogCQlyZXR1cm47CiAKLQlERUJVR19MT0NLU19XQVJOX09OKGxvY2stPm93bmVyICE9IGN1cnJlbnRfdGhyZWFkX2luZm8oKSk7CiAJREVCVUdfTE9DS1NfV0FSTl9PTihsb2NrLT5tYWdpYyAhPSBsb2NrKTsKKwlERUJVR19MT0NLU19XQVJOX09OKGxvY2stPm93bmVyICE9IGN1cnJlbnRfdGhyZWFkX2luZm8oKSk7CiAJREVCVUdfTE9DS1NfV0FSTl9PTighbG9jay0+d2FpdF9saXN0LnByZXYgJiYgIWxvY2stPndhaXRfbGlzdC5uZXh0KTsKIAlERUJVR19MT0NLU19XQVJOX09OKGxvY2stPm93bmVyICE9IGN1cnJlbnRfdGhyZWFkX2luZm8oKSk7CiB9CmRpZmYgLS1naXQgYS9rZXJuZWwvbXV0ZXguYyBiL2tlcm5lbC9tdXRleC5jCmluZGV4IGQwNDZhMzQuLmJjZGM5YWMgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9tdXRleC5jCisrKyBiL2tlcm5lbC9tdXRleC5jCkBAIC0xNjUsMTAgKzE2NSw3IEBACiAJCSAqIGdvdCBhIHNpZ25hbD8gKFRoaXMgY29kZSBnZXRzIGVsaW1pbmF0ZWQgaW4gdGhlCiAJCSAqIFRBU0tfVU5JTlRFUlJVUFRJQkxFIGNhc2UuKQogCQkgKi8KLQkJaWYgKHVubGlrZWx5KChzdGF0ZSA9PSBUQVNLX0lOVEVSUlVQVElCTEUgJiYKLQkJCQkJc2lnbmFsX3BlbmRpbmcodGFzaykpIHx8Ci0JCQkgICAgICAoc3RhdGUgPT0gVEFTS19LSUxMQUJMRSAmJgotCQkJCQlmYXRhbF9zaWduYWxfcGVuZGluZyh0YXNrKSkpKSB7CisJCWlmICh1bmxpa2VseShzaWduYWxfcGVuZGluZ19zdGF0ZShzdGF0ZSwgdGFzaykpKSB7CiAJCQltdXRleF9yZW1vdmVfd2FpdGVyKGxvY2ssICZ3YWl0ZXIsCiAJCQkJCSAgICB0YXNrX3RocmVhZF9pbmZvKHRhc2spKTsKIAkJCW11dGV4X3JlbGVhc2UoJmxvY2stPmRlcF9tYXAsIDEsIGlwKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9waWQuYyBiL2tlcm5lbC9waWQuYwppbmRleCAyMGQ1OWZhLi4zMGJkNWQ0IDEwMDY0NAotLS0gYS9rZXJuZWwvcGlkLmMKKysrIGIva2VybmVsL3BpZC5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9waWRfbmFtZXNwYWNlLmg+CmRpZmYgLS1naXQgYS9rZXJuZWwvcG1fcW9zX3BhcmFtcy5jIGIva2VybmVsL3BtX3Fvc19wYXJhbXMuYwppbmRleCAwYWZlMzJiLi44Y2I3NTcwIDEwMDY0NAotLS0gYS9rZXJuZWwvcG1fcW9zX3BhcmFtcy5jCisrKyBiL2tlcm5lbC9wbV9xb3NfcGFyYW1zLmMKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3BtX3Fvc19wYXJhbXMuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZS5oPgpAQCAtMzU4LDE1ICszNTksMTkgQEAKIAlpbnQgcmV0OwogCWxvbmcgcG1fcW9zX2NsYXNzOwogCisJbG9ja19rZXJuZWwoKTsKIAlwbV9xb3NfY2xhc3MgPSBmaW5kX3BtX3Fvc19vYmplY3RfYnlfbWlub3IoaW1pbm9yKGlub2RlKSk7CiAJaWYgKHBtX3Fvc19jbGFzcyA+PSAwKSB7CiAJCWZpbHAtPnByaXZhdGVfZGF0YSA9ICh2b2lkICopcG1fcW9zX2NsYXNzOwogCQlzcHJpbnRmKG5hbWUsICJwcm9jZXNzXyVkIiwgY3VycmVudC0+cGlkKTsKIAkJcmV0ID0gcG1fcW9zX2FkZF9yZXF1aXJlbWVudChwbV9xb3NfY2xhc3MsIG5hbWUsCiAJCQkJCVBNX1FPU19ERUZBVUxUX1ZBTFVFKTsKLQkJaWYgKHJldCA+PSAwKQorCQlpZiAocmV0ID49IDApIHsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAwOworCQl9CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAtRVBFUk07CiB9CmRpZmYgLS1naXQgYS9rZXJuZWwvcG9zaXgtY3B1LXRpbWVycy5jIGIva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYwppbmRleCBmMTUyNWFkLi5jNDJhMDNhIDEwMDY0NAotLS0gYS9rZXJuZWwvcG9zaXgtY3B1LXRpbWVycy5jCisrKyBiL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKQEAgLTEwMzcsNiArMTAzNyw5IEBACiAJCQkJc2lnLT5ybGltW1JMSU1JVF9SVFRJTUVdLnJsaW1fY3VyICs9CiAJCQkJCQkJCVVTRUNfUEVSX1NFQzsKIAkJCX0KKwkJCXByaW50ayhLRVJOX0lORk8KKwkJCQkiUlQgV2F0Y2hkb2cgVGltZW91dDogJXNbJWRdXG4iLAorCQkJCXRzay0+Y29tbSwgdGFza19waWRfbnIodHNrKSk7CiAJCQlfX2dyb3VwX3NlbmRfc2lnX2luZm8oU0lHWENQVSwgU0VORF9TSUdfUFJJViwgdHNrKTsKIAkJfQogCX0KZGlmZiAtLWdpdCBhL2tlcm5lbC9wcmludGsuYyBiL2tlcm5lbC9wcmludGsuYwppbmRleCA4ZmIwMWMzLi4wN2FkOWU3IDEwMDY0NAotLS0gYS9rZXJuZWwvcHJpbnRrLmMKKysrIGIva2VybmVsL3ByaW50ay5jCkBAIC0zOCw3ICszOCw3IEBACiAvKgogICogQXJjaGl0ZWN0dXJlcyBjYW4gb3ZlcnJpZGUgaXQ6CiAgKi8KLXZvaWQgX19hdHRyaWJ1dGVfXygod2VhaykpIGVhcmx5X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikKK3ZvaWQgYXNtbGlua2FnZSBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgZWFybHlfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogfQogCkBAIC03NSw2ICs3NSw4IEBACiBzdGF0aWMgREVDTEFSRV9NVVRFWChjb25zb2xlX3NlbSk7CiBzdGF0aWMgREVDTEFSRV9NVVRFWChzZWNvbmRhcnlfY29uc29sZV9zZW0pOwogc3RydWN0IGNvbnNvbGUgKmNvbnNvbGVfZHJpdmVyczsKK0VYUE9SVF9TWU1CT0xfR1BMKGNvbnNvbGVfZHJpdmVycyk7CisKIC8qCiAgKiBUaGlzIGlzIHVzZWQgZm9yIGRlYnVnZ2luZyB0aGUgbWVzcyB0aGF0IGlzIHRoZSBWVCBjb2RlIGJ5CiAgKiBrZWVwaW5nIHRyYWNrIGlmIHdlIGhhdmUgdGhlIGNvbnNvbGUgc2VtYXBob3JlIGhlbGQuIEl0J3MKQEAgLTEyMSw2ICsxMjMsOCBAQAogc3RhdGljIHN0cnVjdCBjb25zb2xlX2NtZGxpbmUgY29uc29sZV9jbWRsaW5lW01BWF9DTURMSU5FQ09OU09MRVNdOwogc3RhdGljIGludCBzZWxlY3RlZF9jb25zb2xlID0gLTE7CiBzdGF0aWMgaW50IHByZWZlcnJlZF9jb25zb2xlID0gLTE7CitpbnQgY29uc29sZV9zZXRfb25fY21kbGluZTsKK0VYUE9SVF9TWU1CT0woY29uc29sZV9zZXRfb25fY21kbGluZSk7CiAKIC8qIEZsYWc6IGNvbnNvbGUgY29kZSBtYXkgY2FsbCBzY2hlZHVsZSgpICovCiBzdGF0aWMgaW50IGNvbnNvbGVfbWF5X3NjaGVkdWxlOwpAQCAtMjMxLDcgKzIzNSw3IEBACiAvKgogICogUmV0dXJuIHRoZSBudW1iZXIgb2YgdW5yZWFkIGNoYXJhY3RlcnMgaW4gdGhlIGxvZyBidWZmZXIuCiAgKi8KLWludCBsb2dfYnVmX2dldF9sZW4odm9pZCkKK3N0YXRpYyBpbnQgbG9nX2J1Zl9nZXRfbGVuKHZvaWQpCiB7CiAJcmV0dXJuIGxvZ2dlZF9jaGFyczsKIH0KQEAgLTI2OCwxOSArMjcyLDYgQEAKIH0KIAogLyoKLSAqIEV4dHJhY3QgYSBzaW5nbGUgY2hhcmFjdGVyIGZyb20gdGhlIGxvZyBidWZmZXIuCi0gKi8KLWludCBsb2dfYnVmX3JlYWQoaW50IGlkeCkKLXsKLQljaGFyIHJldDsKLQotCWlmIChsb2dfYnVmX2NvcHkoJnJldCwgaWR4LCAxKSA9PSAxKQotCQlyZXR1cm4gcmV0OwotCWVsc2UKLQkJcmV0dXJuIC0xOwotfQotCi0vKgogICogQ29tbWFuZHMgdG8gZG9fc3lzbG9nOgogICoKICAqIAkwIC0tIENsb3NlIHRoZSBsb2cuICBDdXJyZW50bHkgYSBOT1AuCkBAIC02NjUsMTggKzY1NiwxNyBAQAogCXNwaW5fdW5sb2NrKCZsb2didWZfbG9jayk7CiAJcmV0dXJuIHJldHZhbDsKIH0KLQotY29uc3QgY2hhciBwcmludGtfcmVjdXJzaW9uX2J1Z19tc2cgW10gPQotCQkJS0VSTl9DUklUICJCVUc6IHJlY2VudCBwcmludGsgcmVjdXJzaW9uIVxuIjsKLXN0YXRpYyBpbnQgcHJpbnRrX3JlY3Vyc2lvbl9idWc7CitzdGF0aWMgY29uc3QgY2hhciByZWN1cnNpb25fYnVnX21zZyBbXSA9CisJCUtFUk5fQ1JJVCAiQlVHOiByZWNlbnQgcHJpbnRrIHJlY3Vyc2lvbiFcbiI7CitzdGF0aWMgaW50IHJlY3Vyc2lvbl9idWc7CisJc3RhdGljIGludCBuZXdfdGV4dF9saW5lID0gMTsKK3N0YXRpYyBjaGFyIHByaW50a19idWZbMTAyNF07CiAKIGFzbWxpbmthZ2UgaW50IHZwcmludGsoY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFyZ3MpCiB7Ci0Jc3RhdGljIGludCBsb2dfbGV2ZWxfdW5rbm93biA9IDE7Ci0Jc3RhdGljIGNoYXIgcHJpbnRrX2J1ZlsxMDI0XTsKLQotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHByaW50ZWRfbGVuID0gMDsKKwlpbnQgY3VycmVudF9sb2dfbGV2ZWwgPSBkZWZhdWx0X21lc3NhZ2VfbG9nbGV2ZWw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgdGhpc19jcHU7CiAJY2hhciAqcDsKIApAQCAtNjk5LDcgKzY4OSw3IEBACiAJCSAqIGl0IGNhbiBiZSBwcmludGVkIGF0IHRoZSBuZXh0IGFwcHJvcHJpYXRlIG1vbWVudDoKIAkJICovCiAJCWlmICghb29wc19pbl9wcm9ncmVzcykgewotCQkJcHJpbnRrX3JlY3Vyc2lvbl9idWcgPSAxOworCQkJcmVjdXJzaW9uX2J1ZyA9IDE7CiAJCQlnb3RvIG91dF9yZXN0b3JlX2lycXM7CiAJCX0KIAkJemFwX2xvY2tzKCk7CkBAIC03MDksNzAgKzY5OSw2MiBAQAogCXNwaW5fbG9jaygmbG9nYnVmX2xvY2spOwogCXByaW50a19jcHUgPSB0aGlzX2NwdTsKIAotCWlmIChwcmludGtfcmVjdXJzaW9uX2J1ZykgewotCQlwcmludGtfcmVjdXJzaW9uX2J1ZyA9IDA7Ci0JCXN0cmNweShwcmludGtfYnVmLCBwcmludGtfcmVjdXJzaW9uX2J1Z19tc2cpOwotCQlwcmludGVkX2xlbiA9IHNpemVvZihwcmludGtfcmVjdXJzaW9uX2J1Z19tc2cpOworCWlmIChyZWN1cnNpb25fYnVnKSB7CisJCXJlY3Vyc2lvbl9idWcgPSAwOworCQlzdHJjcHkocHJpbnRrX2J1ZiwgcmVjdXJzaW9uX2J1Z19tc2cpOworCQlwcmludGVkX2xlbiA9IHNpemVvZihyZWN1cnNpb25fYnVnX21zZyk7CiAJfQogCS8qIEVtaXQgdGhlIG91dHB1dCBpbnRvIHRoZSB0ZW1wb3JhcnkgYnVmZmVyICovCiAJcHJpbnRlZF9sZW4gKz0gdnNjbnByaW50ZihwcmludGtfYnVmICsgcHJpbnRlZF9sZW4sCiAJCQkJICBzaXplb2YocHJpbnRrX2J1ZikgLSBwcmludGVkX2xlbiwgZm10LCBhcmdzKTsKIAorCiAJLyoKIAkgKiBDb3B5IHRoZSBvdXRwdXQgaW50byBsb2dfYnVmLiAgSWYgdGhlIGNhbGxlciBkaWRuJ3QgcHJvdmlkZQogCSAqIGFwcHJvcHJpYXRlIGxvZyBsZXZlbCB0YWdzLCB3ZSBpbnNlcnQgdGhlbSBoZXJlCiAJICovCiAJZm9yIChwID0gcHJpbnRrX2J1ZjsgKnA7IHArKykgewotCQlpZiAobG9nX2xldmVsX3Vua25vd24pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIGxvZ19sZXZlbF91bmtub3duIHNpZ25hbHMgdGhlIHN0YXJ0IG9mIGEgbmV3IGxpbmUgKi8KKwkJaWYgKG5ld190ZXh0X2xpbmUpIHsKKwkJCS8qIElmIGEgdG9rZW4sIHNldCBjdXJyZW50X2xvZ19sZXZlbCBhbmQgc2tpcCBvdmVyICovCisJCQlpZiAocFswXSA9PSAnPCcgJiYgcFsxXSA+PSAnMCcgJiYgcFsxXSA8PSAnNycgJiYKKwkJCSAgICBwWzJdID09ICc+JykgeworCQkJCWN1cnJlbnRfbG9nX2xldmVsID0gcFsxXSAtICcwJzsKKwkJCQlwICs9IDM7CisJCQkJcHJpbnRlZF9sZW4gLT0gMzsKKwkJCX0KKworCQkJLyogQWx3YXlzIG91dHB1dCB0aGUgdG9rZW4gKi8KKwkJCWVtaXRfbG9nX2NoYXIoJzwnKTsKKwkJCWVtaXRfbG9nX2NoYXIoY3VycmVudF9sb2dfbGV2ZWwgKyAnMCcpOworCQkJZW1pdF9sb2dfY2hhcignPicpOworCQkJcHJpbnRlZF9sZW4gKz0gMzsKKwkJCW5ld190ZXh0X2xpbmUgPSAwOworCiAJCQlpZiAocHJpbnRrX3RpbWUpIHsKLQkJCQlpbnQgbG9nbGV2X2NoYXI7CisJCQkJLyogRm9sbG93IHRoZSB0b2tlbiB3aXRoIHRoZSB0aW1lICovCiAJCQkJY2hhciB0YnVmWzUwXSwgKnRwOwogCQkJCXVuc2lnbmVkIHRsZW47CiAJCQkJdW5zaWduZWQgbG9uZyBsb25nIHQ7CiAJCQkJdW5zaWduZWQgbG9uZyBuYW5vc2VjX3JlbTsKIAotCQkJCS8qCi0JCQkJICogZm9yY2UgdGhlIGxvZyBsZXZlbCB0b2tlbiB0byBiZQotCQkJCSAqIGJlZm9yZSB0aGUgdGltZSBvdXRwdXQuCi0JCQkJICovCi0JCQkJaWYgKHBbMF0gPT0gJzwnICYmIHBbMV0gPj0nMCcgJiYKLQkJCQkgICBwWzFdIDw9ICc3JyAmJiBwWzJdID09ICc+JykgewotCQkJCQlsb2dsZXZfY2hhciA9IHBbMV07Ci0JCQkJCXAgKz0gMzsKLQkJCQkJcHJpbnRlZF9sZW4gLT0gMzsKLQkJCQl9IGVsc2UgewotCQkJCQlsb2dsZXZfY2hhciA9IGRlZmF1bHRfbWVzc2FnZV9sb2dsZXZlbAotCQkJCQkJKyAnMCc7Ci0JCQkJfQogCQkJCXQgPSBjcHVfY2xvY2socHJpbnRrX2NwdSk7CiAJCQkJbmFub3NlY19yZW0gPSBkb19kaXYodCwgMTAwMDAwMDAwMCk7Ci0JCQkJdGxlbiA9IHNwcmludGYodGJ1ZiwKLQkJCQkJCSI8JWM+WyU1bHUuJTA2bHVdICIsCi0JCQkJCQlsb2dsZXZfY2hhciwKLQkJCQkJCSh1bnNpZ25lZCBsb25nKXQsCi0JCQkJCQluYW5vc2VjX3JlbS8xMDAwKTsKKwkJCQl0bGVuID0gc3ByaW50Zih0YnVmLCAiWyU1bHUuJTA2bHVdICIsCisJCQkJCQkodW5zaWduZWQgbG9uZykgdCwKKwkJCQkJCW5hbm9zZWNfcmVtIC8gMTAwMCk7CiAKIAkJCQlmb3IgKHRwID0gdGJ1ZjsgdHAgPCB0YnVmICsgdGxlbjsgdHArKykKIAkJCQkJZW1pdF9sb2dfY2hhcigqdHApOwogCQkJCXByaW50ZWRfbGVuICs9IHRsZW47Ci0JCQl9IGVsc2UgewotCQkJCWlmIChwWzBdICE9ICc8JyB8fCBwWzFdIDwgJzAnIHx8Ci0JCQkJICAgcFsxXSA+ICc3JyB8fCBwWzJdICE9ICc+JykgewotCQkJCQllbWl0X2xvZ19jaGFyKCc8Jyk7Ci0JCQkJCWVtaXRfbG9nX2NoYXIoZGVmYXVsdF9tZXNzYWdlX2xvZ2xldmVsCi0JCQkJCQkrICcwJyk7Ci0JCQkJCWVtaXRfbG9nX2NoYXIoJz4nKTsKLQkJCQkJcHJpbnRlZF9sZW4gKz0gMzsKLQkJCQl9CiAJCQl9Ci0JCQlsb2dfbGV2ZWxfdW5rbm93biA9IDA7CisKIAkJCWlmICghKnApCiAJCQkJYnJlYWs7CiAJCX0KKwogCQllbWl0X2xvZ19jaGFyKCpwKTsKIAkJaWYgKCpwID09ICdcbicpCi0JCQlsb2dfbGV2ZWxfdW5rbm93biA9IDE7CisJCQluZXdfdGV4dF9saW5lID0gMTsKIAl9CiAKIAkvKgpAQCAtODkwLDYgKzg3Miw3IEBACiAJKnMgPSAwOwogCiAJX19hZGRfcHJlZmVycmVkX2NvbnNvbGUoYnVmLCBpZHgsIG9wdGlvbnMsIGJybF9vcHRpb25zKTsKKwljb25zb2xlX3NldF9vbl9jbWRsaW5lID0gMTsKIAlyZXR1cm4gMTsKIH0KIF9fc2V0dXAoImNvbnNvbGU9IiwgY29uc29sZV9zZXR1cCk7CkBAIC0xMDQxLDcgKzEwMjQsOSBAQAogCQlfbG9nX2VuZCA9IGxvZ19lbmQ7CiAJCWNvbl9zdGFydCA9IGxvZ19lbmQ7CQkvKiBGbHVzaCAqLwogCQlzcGluX3VubG9jaygmbG9nYnVmX2xvY2spOworCQlzdG9wX2NyaXRpY2FsX3RpbWluZ3MoKTsJLyogZG9uJ3QgdHJhY2UgcHJpbnQgbGF0ZW5jeSAqLwogCQljYWxsX2NvbnNvbGVfZHJpdmVycyhfY29uX3N0YXJ0LCBfbG9nX2VuZCk7CisJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZ3MoKTsKIAkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCX0KIAljb25zb2xlX2xvY2tlZCA9IDA7CkBAIC0xMTcyLDggKzExNTcsMTEgQEAKIAkJCWNvbnNvbGUtPmluZGV4ID0gMDsKIAkJaWYgKGNvbnNvbGUtPnNldHVwID09IE5VTEwgfHwKIAkJICAgIGNvbnNvbGUtPnNldHVwKGNvbnNvbGUsIE5VTEwpID09IDApIHsKLQkJCWNvbnNvbGUtPmZsYWdzIHw9IENPTl9FTkFCTEVEIHwgQ09OX0NPTlNERVY7Ci0JCQlwcmVmZXJyZWRfY29uc29sZSA9IDA7CisJCQljb25zb2xlLT5mbGFncyB8PSBDT05fRU5BQkxFRDsKKwkJCWlmIChjb25zb2xlLT5kZXZpY2UpIHsKKwkJCQljb25zb2xlLT5mbGFncyB8PSBDT05fQ09OU0RFVjsKKwkJCQlwcmVmZXJyZWRfY29uc29sZSA9IDA7CisJCQl9CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9wcm9maWxlLmMgYi9rZXJuZWwvcHJvZmlsZS5jCmluZGV4IGFlN2VhZDguLjU4OTI2NDEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9wcm9maWxlLmMKKysrIGIva2VybmVsL3Byb2ZpbGUuYwpAQCAtMjUyLDcgKzI1Miw3IEBACiAJbXV0ZXhfbG9jaygmcHJvZmlsZV9mbGlwX211dGV4KTsKIAlqID0gcGVyX2NwdShjcHVfcHJvZmlsZV9mbGlwLCBnZXRfY3B1KCkpOwogCXB1dF9jcHUoKTsKLQlvbl9lYWNoX2NwdShfX3Byb2ZpbGVfZmxpcF9idWZmZXJzLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShfX3Byb2ZpbGVfZmxpcF9idWZmZXJzLCBOVUxMLCAxKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewogCQlzdHJ1Y3QgcHJvZmlsZV9oaXQgKmhpdHMgPSBwZXJfY3B1KGNwdV9wcm9maWxlX2hpdHMsIGNwdSlbal07CiAJCWZvciAoaSA9IDA7IGkgPCBOUl9QUk9GSUxFX0hJVDsgKytpKSB7CkBAIC0yNzUsNyArMjc1LDcgQEAKIAltdXRleF9sb2NrKCZwcm9maWxlX2ZsaXBfbXV0ZXgpOwogCWkgPSBwZXJfY3B1KGNwdV9wcm9maWxlX2ZsaXAsIGdldF9jcHUoKSk7CiAJcHV0X2NwdSgpOwotCW9uX2VhY2hfY3B1KF9fcHJvZmlsZV9mbGlwX2J1ZmZlcnMsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KF9fcHJvZmlsZV9mbGlwX2J1ZmZlcnMsIE5VTEwsIDEpOwogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CiAJCXN0cnVjdCBwcm9maWxlX2hpdCAqaGl0cyA9IHBlcl9jcHUoY3B1X3Byb2ZpbGVfaGl0cywgY3B1KVtpXTsKIAkJbWVtc2V0KGhpdHMsIDAsIE5SX1BST0ZJTEVfSElUKnNpemVvZihzdHJ1Y3QgcHJvZmlsZV9oaXQpKTsKQEAgLTU1OCw3ICs1NTgsNyBAQAogb3V0X2NsZWFudXA6CiAJcHJvZl9vbiA9IDA7CiAJc21wX21iKCk7Ci0Jb25fZWFjaF9jcHUocHJvZmlsZV9ub3AsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KHByb2ZpbGVfbm9wLCBOVUxMLCAxKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewogCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKIApkaWZmIC0tZ2l0IGEva2VybmVsL3B0cmFjZS5jIGIva2VybmVsL3B0cmFjZS5jCmluZGV4IDZjMTllOTQuLmUzMzczOTAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9wdHJhY2UuYworKysgYi9rZXJuZWwvcHRyYWNlLmMKQEAgLTEyMSw3ICsxMjEsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBfX3B0cmFjZV9tYXlfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKK2ludCBfX3B0cmFjZV9tYXlfYWNjZXNzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJLyogTWF5IHdlIGluc3BlY3QgdGhlIGdpdmVuIHRhc2s/CiAJICogVGhpcyBjaGVjayBpcyB1c2VkIGJvdGggZm9yIGF0dGFjaGluZyB3aXRoIHB0cmFjZQpAQCAtMTQ4LDE2ICsxNDgsMTYgQEAKIAlpZiAoIWR1bXBhYmxlICYmICFjYXBhYmxlKENBUF9TWVNfUFRSQUNFKSkKIAkJcmV0dXJuIC1FUEVSTTsKIAotCXJldHVybiBzZWN1cml0eV9wdHJhY2UoY3VycmVudCwgdGFzayk7CisJcmV0dXJuIHNlY3VyaXR5X3B0cmFjZShjdXJyZW50LCB0YXNrLCBtb2RlKTsKIH0KIAotaW50IHB0cmFjZV9tYXlfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKK2Jvb2wgcHRyYWNlX21heV9hY2Nlc3Moc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKIAlpbnQgZXJyOwogCXRhc2tfbG9jayh0YXNrKTsKLQllcnIgPSBfX3B0cmFjZV9tYXlfYXR0YWNoKHRhc2spOworCWVyciA9IF9fcHRyYWNlX21heV9hY2Nlc3ModGFzaywgbW9kZSk7CiAJdGFza191bmxvY2sodGFzayk7Ci0JcmV0dXJuICFlcnI7CisJcmV0dXJuICghZXJyID8gdHJ1ZSA6IGZhbHNlKTsKIH0KIAogaW50IHB0cmFjZV9hdHRhY2goc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQpAQCAtMTk1LDcgKzE5NSw3IEBACiAJLyogdGhlIHNhbWUgcHJvY2VzcyBjYW5ub3QgYmUgYXR0YWNoZWQgbWFueSB0aW1lcyAqLwogCWlmICh0YXNrLT5wdHJhY2UgJiBQVF9QVFJBQ0VEKQogCQlnb3RvIGJhZDsKLQlyZXR2YWwgPSBfX3B0cmFjZV9tYXlfYXR0YWNoKHRhc2spOworCXJldHZhbCA9IF9fcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfQVRUQUNIKTsKIAlpZiAocmV0dmFsKQogCQlnb3RvIGJhZDsKIApAQCAtNDk0LDcgKzQ5NCw4IEBACiAJICovCiAJdGFza19sb2NrKGN1cnJlbnQpOwogCWlmICghKGN1cnJlbnQtPnB0cmFjZSAmIFBUX1BUUkFDRUQpKSB7Ci0JCXJldCA9IHNlY3VyaXR5X3B0cmFjZShjdXJyZW50LT5wYXJlbnQsIGN1cnJlbnQpOworCQlyZXQgPSBzZWN1cml0eV9wdHJhY2UoY3VycmVudC0+cGFyZW50LCBjdXJyZW50LAorCQkJCSAgICAgIFBUUkFDRV9NT0RFX0FUVEFDSCk7CiAJCS8qCiAJCSAqIFNldCB0aGUgcHRyYWNlIGJpdCBpbiB0aGUgcHJvY2VzcyBwdHJhY2UgZmxhZ3MuCiAJCSAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL3JjdWNsYXNzaWMuYyBiL2tlcm5lbC9yY3VjbGFzc2ljLmMKaW5kZXggYTM4ODk1YS4uMTZlZWVhYSAxMDA2NDQKLS0tIGEva2VybmVsL3JjdWNsYXNzaWMuYworKysgYi9rZXJuZWwvcmN1Y2xhc3NpYy5jCkBAIC0zODcsNiArMzg3LDEwIEBACiAJcmN1X21vdmVfYmF0Y2godGhpc19yZHAsIHJkcC0+ZG9uZWxpc3QsIHJkcC0+ZG9uZXRhaWwpOwogCXJjdV9tb3ZlX2JhdGNoKHRoaXNfcmRwLCByZHAtPmN1cmxpc3QsIHJkcC0+Y3VydGFpbCk7CiAJcmN1X21vdmVfYmF0Y2godGhpc19yZHAsIHJkcC0+bnh0bGlzdCwgcmRwLT5ueHR0YWlsKTsKKworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJdGhpc19yZHAtPnFsZW4gKz0gcmRwLT5xbGVuOworCWxvY2FsX2lycV9lbmFibGUoKTsKIH0KIAogc3RhdGljIHZvaWQgcmN1X29mZmxpbmVfY3B1KGludCBjcHUpCkBAIC01MTYsMTAgKzUyMCwzOCBAQAogCWlmICh1c2VyIHx8CiAJICAgIChpZGxlX2NwdShjcHUpICYmICFpbl9zb2Z0aXJxKCkgJiYKIAkJCQloYXJkaXJxX2NvdW50KCkgPD0gKDEgPDwgSEFSRElSUV9TSElGVCkpKSB7CisKKwkJLyoKKwkJICogR2V0IGhlcmUgaWYgdGhpcyBDUFUgdG9vayBpdHMgaW50ZXJydXB0IGZyb20gdXNlcgorCQkgKiBtb2RlIG9yIGZyb20gdGhlIGlkbGUgbG9vcCwgYW5kIGlmIHRoaXMgaXMgbm90IGEKKwkJICogbmVzdGVkIGludGVycnVwdC4gIEluIHRoaXMgY2FzZSwgdGhlIENQVSBpcyBpbgorCQkgKiBhIHF1aWVzY2VudCBzdGF0ZSwgc28gY291bnQgaXQuCisJCSAqCisJCSAqIEFsc28gZG8gYSBtZW1vcnkgYmFycmllci4gIFRoaXMgaXMgbmVlZGVkIHRvIGhhbmRsZQorCQkgKiB0aGUgY2FzZSB3aGVyZSB3cml0ZXMgZnJvbSBhIHByZWVtcHQtZGlzYWJsZSBzZWN0aW9uCisJCSAqIG9mIGNvZGUgZ2V0IHJlb3JkZXJlZCBpbnRvIHNjaGVkdWxlKCkgYnkgdGhpcyBDUFUncworCQkgKiB3cml0ZSBidWZmZXIuICBUaGUgbWVtb3J5IGJhcnJpZXIgbWFrZXMgc3VyZSB0aGF0CisJCSAqIHRoZSByY3VfcXNjdHJfaW5jKCkgYW5kIHJjdV9iaF9xc2N0cl9pbmMoKSBhcmUgc2VlCisJCSAqIGJ5IG90aGVyIENQVXMgdG8gaGFwcGVuIGFmdGVyIGFueSBzdWNoIHdyaXRlLgorCQkgKi8KKworCQlzbXBfbWIoKTsgIC8qIFNlZSBhYm92ZSBibG9jayBjb21tZW50LiAqLwogCQlyY3VfcXNjdHJfaW5jKGNwdSk7CiAJCXJjdV9iaF9xc2N0cl9pbmMoY3B1KTsKLQl9IGVsc2UgaWYgKCFpbl9zb2Z0aXJxKCkpCisKKwl9IGVsc2UgaWYgKCFpbl9zb2Z0aXJxKCkpIHsKKworCQkvKgorCQkgKiBHZXQgaGVyZSBpZiB0aGlzIENQVSBkaWQgbm90IHRha2UgaXRzIGludGVycnVwdCBmcm9tCisJCSAqIHNvZnRpcnEsIGluIG90aGVyIHdvcmRzLCBpZiBpdCBpcyBub3QgaW50ZXJydXB0aW5nCisJCSAqIGEgcmN1X2JoIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uLiAgVGhpcyBpcyBhbiBfYmgKKwkJICogY3JpdGljYWwgc2VjdGlvbiwgc28gY291bnQgaXQuICBUaGUgbWVtb3J5IGJhcnJpZXIKKwkJICogaXMgbmVlZGVkIGZvciB0aGUgc2FtZSByZWFzb24gYXMgaXMgdGhlIGFib3ZlIG9uZS4KKwkJICovCisKKwkJc21wX21iKCk7ICAvKiBTZWUgYWJvdmUgYmxvY2sgY29tbWVudC4gKi8KIAkJcmN1X2JoX3FzY3RyX2luYyhjcHUpOworCX0KIAlyYWlzZV9yY3Vfc29mdGlycSgpOwogfQogCkBAIC01NDMsNyArNTc1LDcgQEAKIAogCXJjdV9pbml0X3BlcmNwdV9kYXRhKGNwdSwgJnJjdV9jdHJsYmxrLCByZHApOwogCXJjdV9pbml0X3BlcmNwdV9kYXRhKGNwdSwgJnJjdV9iaF9jdHJsYmxrLCBiaF9yZHApOwotCW9wZW5fc29mdGlycShSQ1VfU09GVElSUSwgcmN1X3Byb2Nlc3NfY2FsbGJhY2tzLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoUkNVX1NPRlRJUlEsIHJjdV9wcm9jZXNzX2NhbGxiYWNrcyk7CiB9CiAKIHN0YXRpYyBpbnQgX19jcHVpbml0IHJjdV9jcHVfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwKZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3VwZGF0ZS5jIGIva2VybmVsL3JjdXBkYXRlLmMKaW5kZXggYzA5NjA1Zi4uZjE0ZjM3MiAxMDA2NDQKLS0tIGEva2VybmVsL3JjdXBkYXRlLmMKKysrIGIva2VybmVsL3JjdXBkYXRlLmMKQEAgLTM5LDE2ICszOSwxNiBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgotI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKLXN0cnVjdCByY3Vfc3luY2hyb25pemUgewotCXN0cnVjdCByY3VfaGVhZCBoZWFkOwotCXN0cnVjdCBjb21wbGV0aW9uIGNvbXBsZXRpb247CitlbnVtIHJjdV9iYXJyaWVyIHsKKwlSQ1VfQkFSUklFUl9TVEQsCisJUkNVX0JBUlJJRVJfQkgsCisJUkNVX0JBUlJJRVJfU0NIRUQsCiB9OwogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHJjdV9oZWFkLCByY3VfYmFycmllcl9oZWFkKSA9IHtOVUxMfTsKQEAgLTYwLDcgKzYwLDcgQEAKICAqIEF3YWtlbiB0aGUgY29ycmVzcG9uZGluZyBzeW5jaHJvbml6ZV9yY3UoKSBpbnN0YW5jZSBub3cgdGhhdCBhCiAgKiBncmFjZSBwZXJpb2QgaGFzIGVsYXBzZWQuCiAgKi8KLXN0YXRpYyB2b2lkIHdha2VtZV9hZnRlcl9yY3Uoc3RydWN0IHJjdV9oZWFkICAqaGVhZCkKK3ZvaWQgd2FrZW1lX2FmdGVyX3JjdShzdHJ1Y3QgcmN1X2hlYWQgICpoZWFkKQogewogCXN0cnVjdCByY3Vfc3luY2hyb25pemUgKnJjdTsKIApAQCAtNzcsMTcgKzc3LDcgQEAKICAqIHNlY3Rpb25zIGFyZSBkZWxpbWl0ZWQgYnkgcmN1X3JlYWRfbG9jaygpIGFuZCByY3VfcmVhZF91bmxvY2soKSwKICAqIGFuZCBtYXkgYmUgbmVzdGVkLgogICovCi12b2lkIHN5bmNocm9uaXplX3JjdSh2b2lkKQotewotCXN0cnVjdCByY3Vfc3luY2hyb25pemUgcmN1OwotCi0JaW5pdF9jb21wbGV0aW9uKCZyY3UuY29tcGxldGlvbik7Ci0JLyogV2lsbCB3YWtlIG1lIGFmdGVyIFJDVSBmaW5pc2hlZCAqLwotCWNhbGxfcmN1KCZyY3UuaGVhZCwgd2FrZW1lX2FmdGVyX3JjdSk7Ci0KLQkvKiBXYWl0IGZvciBpdCAqLwotCXdhaXRfZm9yX2NvbXBsZXRpb24oJnJjdS5jb21wbGV0aW9uKTsKLX0KK3N5bmNocm9uaXplX3JjdV94eHgoc3luY2hyb25pemVfcmN1LCBjYWxsX3JjdSkKIEVYUE9SVF9TWU1CT0xfR1BMKHN5bmNocm9uaXplX3JjdSk7CiAKIHN0YXRpYyB2b2lkIHJjdV9iYXJyaWVyX2NhbGxiYWNrKHN0cnVjdCByY3VfaGVhZCAqbm90dXNlZCkKQEAgLTk5LDE5ICs4OSwzMCBAQAogLyoKICAqIENhbGxlZCB3aXRoIHByZWVtcHRpb24gZGlzYWJsZWQsIGFuZCBmcm9tIGNyb3NzLWNwdSBJUlEgY29udGV4dC4KICAqLwotc3RhdGljIHZvaWQgcmN1X2JhcnJpZXJfZnVuYyh2b2lkICpub3R1c2VkKQorc3RhdGljIHZvaWQgcmN1X2JhcnJpZXJfZnVuYyh2b2lkICp0eXBlKQogewogCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJc3RydWN0IHJjdV9oZWFkICpoZWFkID0gJnBlcl9jcHUocmN1X2JhcnJpZXJfaGVhZCwgY3B1KTsKIAogCWF0b21pY19pbmMoJnJjdV9iYXJyaWVyX2NwdV9jb3VudCk7Ci0JY2FsbF9yY3UoaGVhZCwgcmN1X2JhcnJpZXJfY2FsbGJhY2spOworCXN3aXRjaCAoKGVudW0gcmN1X2JhcnJpZXIpdHlwZSkgeworCWNhc2UgUkNVX0JBUlJJRVJfU1REOgorCQljYWxsX3JjdShoZWFkLCByY3VfYmFycmllcl9jYWxsYmFjayk7CisJCWJyZWFrOworCWNhc2UgUkNVX0JBUlJJRVJfQkg6CisJCWNhbGxfcmN1X2JoKGhlYWQsIHJjdV9iYXJyaWVyX2NhbGxiYWNrKTsKKwkJYnJlYWs7CisJY2FzZSBSQ1VfQkFSUklFUl9TQ0hFRDoKKwkJY2FsbF9yY3Vfc2NoZWQoaGVhZCwgcmN1X2JhcnJpZXJfY2FsbGJhY2spOworCQlicmVhazsKKwl9CiB9CiAKLS8qKgotICogcmN1X2JhcnJpZXIgLSBXYWl0IHVudGlsIGFsbCB0aGUgaW4tZmxpZ2h0IFJDVXMgYXJlIGNvbXBsZXRlLgorLyoKKyAqIE9yY2hlc3RyYXRlIHRoZSBzcGVjaWZpZWQgdHlwZSBvZiBSQ1UgYmFycmllciwgd2FpdGluZyBmb3IgYWxsCisgKiBSQ1UgY2FsbGJhY2tzIG9mIHRoZSBzcGVjaWZpZWQgdHlwZSB0byBjb21wbGV0ZS4KICAqLwotdm9pZCByY3VfYmFycmllcih2b2lkKQorc3RhdGljIHZvaWQgX3JjdV9iYXJyaWVyKGVudW0gcmN1X2JhcnJpZXIgdHlwZSkKIHsKIAlCVUdfT04oaW5faW50ZXJydXB0KCkpOwogCS8qIFRha2UgY3B1Y29udHJvbCBtdXRleCB0byBwcm90ZWN0IGFnYWluc3QgQ1BVIGhvdHBsdWcgKi8KQEAgLTEyNywxMyArMTI4LDM5IEBACiAJICogdW50aWwgYWxsIHRoZSBjYWxsYmFja3MgYXJlIHF1ZXVlZC4KIAkgKi8KIAlyY3VfcmVhZF9sb2NrKCk7Ci0Jb25fZWFjaF9jcHUocmN1X2JhcnJpZXJfZnVuYywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUocmN1X2JhcnJpZXJfZnVuYywgKHZvaWQgKil0eXBlLCAxKTsKIAlyY3VfcmVhZF91bmxvY2soKTsKIAl3YWl0X2Zvcl9jb21wbGV0aW9uKCZyY3VfYmFycmllcl9jb21wbGV0aW9uKTsKIAltdXRleF91bmxvY2soJnJjdV9iYXJyaWVyX211dGV4KTsKIH0KKworLyoqCisgKiByY3VfYmFycmllciAtIFdhaXQgdW50aWwgYWxsIGluLWZsaWdodCBjYWxsX3JjdSgpIGNhbGxiYWNrcyBjb21wbGV0ZS4KKyAqLwordm9pZCByY3VfYmFycmllcih2b2lkKQoreworCV9yY3VfYmFycmllcihSQ1VfQkFSUklFUl9TVEQpOworfQogRVhQT1JUX1NZTUJPTF9HUEwocmN1X2JhcnJpZXIpOwogCisvKioKKyAqIHJjdV9iYXJyaWVyX2JoIC0gV2FpdCB1bnRpbCBhbGwgaW4tZmxpZ2h0IGNhbGxfcmN1X2JoKCkgY2FsbGJhY2tzIGNvbXBsZXRlLgorICovCit2b2lkIHJjdV9iYXJyaWVyX2JoKHZvaWQpCit7CisJX3JjdV9iYXJyaWVyKFJDVV9CQVJSSUVSX0JIKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHJjdV9iYXJyaWVyX2JoKTsKKworLyoqCisgKiByY3VfYmFycmllcl9zY2hlZCAtIFdhaXQgZm9yIGluLWZsaWdodCBjYWxsX3JjdV9zY2hlZCgpIGNhbGxiYWNrcy4KKyAqLwordm9pZCByY3VfYmFycmllcl9zY2hlZCh2b2lkKQoreworCV9yY3VfYmFycmllcihSQ1VfQkFSUklFUl9TQ0hFRCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChyY3VfYmFycmllcl9zY2hlZCk7CisKIHZvaWQgX19pbml0IHJjdV9pbml0KHZvaWQpCiB7CiAJX19yY3VfaW5pdCgpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3JjdXByZWVtcHQuYyBiL2tlcm5lbC9yY3VwcmVlbXB0LmMKaW5kZXggNWUwMmI3Ny4uNmY2MmI3NyAxMDA2NDQKLS0tIGEva2VybmVsL3JjdXByZWVtcHQuYworKysgYi9rZXJuZWwvcmN1cHJlZW1wdC5jCkBAIC00NiwxMSArNDYsMTEgQEAKICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgogI2luY2x1ZGUgPGxpbnV4L25vdGlmaWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KICNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtODIsMTQgKzgyLDE4IEBACiAJc3BpbmxvY2tfdAlsb2NrOwkJLyogUHJvdGVjdCByY3VfZGF0YSBmaWVsZHMuICovCiAJbG9uZwkJY29tcGxldGVkOwkvKiBOdW1iZXIgb2YgbGFzdCBjb21wbGV0ZWQgYmF0Y2guICovCiAJaW50CQl3YWl0bGlzdGNvdW50OwotCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCByY3VfdGFza2xldDsKIAlzdHJ1Y3QgcmN1X2hlYWQgKm5leHRsaXN0OwogCXN0cnVjdCByY3VfaGVhZCAqKm5leHR0YWlsOwogCXN0cnVjdCByY3VfaGVhZCAqd2FpdGxpc3RbR1BfU1RBR0VTXTsKIAlzdHJ1Y3QgcmN1X2hlYWQgKip3YWl0dGFpbFtHUF9TVEFHRVNdOwotCXN0cnVjdCByY3VfaGVhZCAqZG9uZWxpc3Q7CisJc3RydWN0IHJjdV9oZWFkICpkb25lbGlzdDsJLyogZnJvbSB3YWl0bGlzdCAmIHdhaXRzY2hlZGxpc3QgKi8KIAlzdHJ1Y3QgcmN1X2hlYWQgKipkb25ldGFpbDsKIAlsb25nIHJjdV9mbGlwY3RyWzJdOworCXN0cnVjdCByY3VfaGVhZCAqbmV4dHNjaGVkbGlzdDsKKwlzdHJ1Y3QgcmN1X2hlYWQgKipuZXh0c2NoZWR0YWlsOworCXN0cnVjdCByY3VfaGVhZCAqd2FpdHNjaGVkbGlzdDsKKwlzdHJ1Y3QgcmN1X2hlYWQgKip3YWl0c2NoZWR0YWlsOworCWludCByY3Vfc2NoZWRfc2xlZXBpbmc7CiAjaWZkZWYgQ09ORklHX1JDVV9UUkFDRQogCXN0cnVjdCByY3VwcmVlbXB0X3RyYWNlIHRyYWNlOwogI2VuZGlmIC8qICNpZmRlZiBDT05GSUdfUkNVX1RSQUNFICovCkBAIC0xMzEsMTEgKzEzNSwyNCBAQAogCXJjdV90cnlfZmxpcF93YWl0bWJfc3RhdGUsCiB9OwogCisvKgorICogU3RhdGVzIGZvciByY3VfY3RybGJsay5yY3Vfc2NoZWRfc2xlZXAuCisgKi8KKworZW51bSByY3Vfc2NoZWRfc2xlZXBfc3RhdGVzIHsKKwlyY3Vfc2NoZWRfbm90X3NsZWVwaW5nLAkvKiBOb3Qgc2xlZXBpbmcsIGNhbGxiYWNrcyBuZWVkIEdQLiAgKi8KKwlyY3Vfc2NoZWRfc2xlZXBfcHJlcCwJLyogVGhpbmtpbmcgb2Ygc2xlZXBpbmcsIHJlY2hlY2tpbmcuICovCisJcmN1X3NjaGVkX3NsZWVwaW5nLAkvKiBTbGVlcGluZywgYXdha2VuIGlmIEdQIG5lZWRlZC4gKi8KK307CisKIHN0cnVjdCByY3VfY3RybGJsayB7CiAJc3BpbmxvY2tfdAlmbGlwbG9jazsJLyogUHJvdGVjdCBzdGF0ZS1tYWNoaW5lIHRyYW5zaXRpb25zLiAqLwogCWxvbmcJCWNvbXBsZXRlZDsJLyogTnVtYmVyIG9mIGxhc3QgY29tcGxldGVkIGJhdGNoLiAqLwogCWVudW0gcmN1X3RyeV9mbGlwX3N0YXRlcyByY3VfdHJ5X2ZsaXBfc3RhdGU7IC8qIFRoZSBjdXJyZW50IHN0YXRlIG9mCiAJCQkJCQkJdGhlIHJjdSBzdGF0ZSBtYWNoaW5lICovCisJc3BpbmxvY2tfdAlzY2hlZGxvY2s7CS8qIFByb3RlY3QgcmN1X3NjaGVkIHNsZWVwIHN0YXRlLiAqLworCWVudW0gcmN1X3NjaGVkX3NsZWVwX3N0YXRlcyBzY2hlZF9zbGVlcDsgLyogcmN1X3NjaGVkIHN0YXRlLiAqLworCXdhaXRfcXVldWVfaGVhZF90IHNjaGVkX3dxOwkvKiBQbGFjZSBmb3IgcmN1X3NjaGVkIHRvIHNsZWVwLiAqLwogfTsKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCByY3VfZGF0YSwgcmN1X2RhdGEpOwpAQCAtMTQzLDggKzE2MCwxMiBAQAogCS5mbGlwbG9jayA9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHJjdV9jdHJsYmxrLmZsaXBsb2NrKSwKIAkuY29tcGxldGVkID0gMCwKIAkucmN1X3RyeV9mbGlwX3N0YXRlID0gcmN1X3RyeV9mbGlwX2lkbGVfc3RhdGUsCisJLnNjaGVkbG9jayA9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHJjdV9jdHJsYmxrLnNjaGVkbG9jayksCisJLnNjaGVkX3NsZWVwID0gcmN1X3NjaGVkX25vdF9zbGVlcGluZywKKwkuc2NoZWRfd3EgPSBfX1dBSVRfUVVFVUVfSEVBRF9JTklUSUFMSVpFUihyY3VfY3RybGJsay5zY2hlZF93cSksCiB9OwogCitzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICpyY3Vfc2NoZWRfZ3JhY2VfcGVyaW9kX3Rhc2s7CiAKICNpZmRlZiBDT05GSUdfUkNVX1RSQUNFCiBzdGF0aWMgY2hhciAqcmN1X3RyeV9mbGlwX3N0YXRlX25hbWVzW10gPQpAQCAtMjA3LDYgKzIyOCw4IEBACiAgKi8KICNkZWZpbmUgUkNVX1RSQUNFX1JEUChmLCByZHApIFJDVV9UUkFDRShmLCAmKChyZHApLT50cmFjZSkpOwogCisjZGVmaW5lIFJDVV9TQ0hFRF9CQVRDSF9USU1FIChIWiAvIDUwKQorCiAvKgogICogUmV0dXJuIHRoZSBudW1iZXIgb2YgUkNVIGJhdGNoZXMgcHJvY2Vzc2VkIHRodXMgZmFyLiAgVXNlZnVsCiAgKiBmb3IgZGVidWcgYW5kIHN0YXRpc3RpY3MuCkBAIC00MTEsMzIgKzQzNCwzNCBAQAogCX0KIH0KIAotI2lmZGVmIENPTkZJR19OT19IWgorREVGSU5FX1BFUl9DUFVfU0hBUkVEX0FMSUdORUQoc3RydWN0IHJjdV9keW50aWNrX3NjaGVkLCByY3VfZHludGlja19zY2hlZCkgPSB7CisJLmR5bnRpY2tzID0gMSwKK307CiAKLURFRklORV9QRVJfQ1BVKGxvbmcsIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIpID0gMTsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShsb25nLCByY3VfZHludGlja19zbmFwc2hvdCk7CisjaWZkZWYgQ09ORklHX05PX0haCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCByY3VfdXBkYXRlX2ZsYWcpOwogCiAvKioKICAqIHJjdV9pcnFfZW50ZXIgLSBDYWxsZWQgZnJvbSBIYXJkIGlycSBoYW5kbGVycyBhbmQgTk1JL1NNSS4KICAqCiAgKiBJZiB0aGUgQ1BVIHdhcyBpZGxlIHdpdGggZHluYW1pYyB0aWNrcyBhY3RpdmUsIHRoaXMgdXBkYXRlcyB0aGUKLSAqIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIgdG8gbGV0IHRoZSBSQ1UgaGFuZGxpbmcga25vdyB0aGF0IHRoZQorICogcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MgdG8gbGV0IHRoZSBSQ1UgaGFuZGxpbmcga25vdyB0aGF0IHRoZQogICogQ1BVIGlzIGFjdGl2ZS4KICAqLwogdm9pZCByY3VfaXJxX2VudGVyKHZvaWQpCiB7CiAJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CiAKIAlpZiAocGVyX2NwdShyY3VfdXBkYXRlX2ZsYWcsIGNwdSkpCiAJCXBlcl9jcHUocmN1X3VwZGF0ZV9mbGFnLCBjcHUpKys7CiAKIAkvKgogCSAqIE9ubHkgdXBkYXRlIGlmIHdlIGFyZSBjb21pbmcgZnJvbSBhIHN0b3BwZWQgdGlja3MgbW9kZQotCSAqIChkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIGlzIGV2ZW4pLgorCSAqIChyY3VfZHludGlja19zY2hlZC5keW50aWNrcyBpcyBldmVuKS4KIAkgKi8KIAlpZiAoIWluX2ludGVycnVwdCgpICYmCi0JICAgIChwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSkgJiAweDEpID09IDApIHsKKwkgICAgKHJkc3NwLT5keW50aWNrcyAmIDB4MSkgPT0gMCkgewogCQkvKgogCQkgKiBUaGUgZm9sbG93aW5nIG1pZ2h0IHNlZW0gbGlrZSB3ZSBjb3VsZCBoYXZlIGEgcmFjZQogCQkgKiB3aXRoIE5NSS9TTUlzLiBCdXQgdGhpcyByZWFsbHkgaXNuJ3QgYSBwcm9ibGVtLgpAQCAtNDU5LDEyICs0ODQsMTIgQEAKIAkJICogUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9ucyBvbiB0aGlzIENQVSB3b3VsZAogCQkgKiBoYXZlIGFscmVhZHkgY29tcGxldGVkLgogCQkgKi8KLQkJcGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpKys7CisJCXJkc3NwLT5keW50aWNrcysrOwogCQkvKgogCQkgKiBUaGUgZm9sbG93aW5nIG1lbW9yeSBiYXJyaWVyIGVuc3VyZXMgdGhhdCBhbnkKIAkJICogcmN1X3JlYWRfbG9jaygpIHByaW1pdGl2ZXMgaW4gdGhlIGlycSBoYW5kbGVyCiAJCSAqIGFyZSBzZWVuIGJ5IG90aGVyIENQVXMgdG8gZm9sbG93IHRoZSBhYm92ZQotCQkgKiBpbmNyZW1lbnQgdG8gZHludGlja3NfcHJvZ3Jlc3NfY291bnRlci4gVGhpcyBpcworCQkgKiBpbmNyZW1lbnQgdG8gcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MuIFRoaXMgaXMKIAkJICogcmVxdWlyZWQgaW4gb3JkZXIgZm9yIG90aGVyIENQVXMgdG8gY29ycmVjdGx5CiAJCSAqIGRldGVybWluZSB3aGVuIGl0IGlzIHNhZmUgdG8gYWR2YW5jZSB0aGUgUkNVCiAJCSAqIGdyYWNlLXBlcmlvZCBzdGF0ZSBtYWNoaW5lLgpAQCAtNDcyLDcgKzQ5Nyw3IEBACiAJCXNtcF9tYigpOyAvKiBzZWUgYWJvdmUgYmxvY2sgY29tbWVudC4gKi8KIAkJLyoKIAkJICogU2luY2Ugd2UgY2FuJ3QgZGV0ZXJtaW5lIHRoZSBkeW5hbWljIHRpY2sgbW9kZSBmcm9tCi0JCSAqIHRoZSBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIGFmdGVyIHRoaXMgcm91dGluZSwKKwkJICogdGhlIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIGFmdGVyIHRoaXMgcm91dGluZSwKIAkJICogd2UgdXNlIGEgc2Vjb25kIGZsYWcgdG8gYWNrbm93bGVkZ2UgdGhhdCB3ZSBjYW1lCiAJCSAqIGZyb20gYW4gaWRsZSBzdGF0ZSB3aXRoIHRpY2tzIHN0b3BwZWQuCiAJCSAqLwpAQCAtNDgwLDcgKzUwNSw3IEBACiAJCS8qCiAJCSAqIElmIHdlIHRha2UgYW4gTk1JL1NNSSBub3csIHRoZXkgd2lsbCBhbHNvIGluY3JlbWVudAogCQkgKiB0aGUgcmN1X3VwZGF0ZV9mbGFnLCBhbmQgd2lsbCBub3QgdXBkYXRlIHRoZQotCQkgKiBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIG9uIGV4aXQuIFRoYXQgaXMgZm9yCisJCSAqIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIG9uIGV4aXQuIFRoYXQgaXMgZm9yCiAJCSAqIHRoaXMgSVJRIHRvIGRvLgogCQkgKi8KIAl9CkBAIC00OTAsMTIgKzUxNSwxMyBAQAogICogcmN1X2lycV9leGl0IC0gQ2FsbGVkIGZyb20gZXhpdGluZyBIYXJkIGlycSBjb250ZXh0LgogICoKICAqIElmIHRoZSBDUFUgd2FzIGlkbGUgd2l0aCBkeW5hbWljIHRpY2tzIGFjdGl2ZSwgdXBkYXRlIHRoZQotICogZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciB0byBwdXQgbGV0IHRoZSBSQ1UgaGFuZGxpbmcgYmUKKyAqIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIHRvIHB1dCBsZXQgdGhlIFJDVSBoYW5kbGluZyBiZQogICogYXdhcmUgdGhhdCB0aGUgQ1BVIGlzIGdvaW5nIGJhY2sgdG8gaWRsZSB3aXRoIG5vIHRpY2tzLgogICovCiB2b2lkIHJjdV9pcnFfZXhpdCh2b2lkKQogewogCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOwogCiAJLyoKIAkgKiByY3VfdXBkYXRlX2ZsYWcgaXMgc2V0IGlmIHdlIGludGVycnVwdGVkIHRoZSBDUFUKQEAgLTUwMyw3ICs1MjksNyBAQAogCSAqIE9uY2UgdGhpcyBvY2N1cnMsIHdlIGtlZXAgdHJhY2sgb2YgaW50ZXJydXB0IG5lc3RpbmcKIAkgKiBiZWNhdXNlIGEgTk1JL1NNSSBjb3VsZCBhbHNvIGNvbWUgaW4sIGFuZCB3ZSBzdGlsbAogCSAqIG9ubHkgd2FudCB0aGUgSVJRIHRoYXQgc3RhcnRlZCB0aGUgaW5jcmVtZW50IG9mIHRoZQotCSAqIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIgdG8gYmUgdGhlIG9uZSB0aGF0IG1vZGlmaWVzCisJICogcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MgdG8gYmUgdGhlIG9uZSB0aGF0IG1vZGlmaWVzCiAJICogaXQgb24gZXhpdC4KIAkgKi8KIAlpZiAocGVyX2NwdShyY3VfdXBkYXRlX2ZsYWcsIGNwdSkpIHsKQEAgLTUxNSwyOCArNTQxLDI5IEBACiAKIAkJLyoKIAkJICogSWYgYW4gTk1JL1NNSSBoYXBwZW5zIG5vdyB3ZSBhcmUgc3RpbGwKLQkJICogcHJvdGVjdGVkIGJ5IHRoZSBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIGJlaW5nIG9kZC4KKwkJICogcHJvdGVjdGVkIGJ5IHRoZSByY3VfZHludGlja19zY2hlZC5keW50aWNrcyBiZWluZyBvZGQuCiAJCSAqLwogCiAJCS8qCiAJCSAqIFRoZSBmb2xsb3dpbmcgbWVtb3J5IGJhcnJpZXIgZW5zdXJlcyB0aGF0IGFueQogCQkgKiByY3VfcmVhZF91bmxvY2soKSBwcmltaXRpdmVzIGluIHRoZSBpcnEgaGFuZGxlcgogCQkgKiBhcmUgc2VlbiBieSBvdGhlciBDUFVzIHRvIHByZWNlZWQgdGhlIGZvbGxvd2luZwotCQkgKiBpbmNyZW1lbnQgdG8gZHludGlja3NfcHJvZ3Jlc3NfY291bnRlci4gVGhpcworCQkgKiBpbmNyZW1lbnQgdG8gcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MuIFRoaXMKIAkJICogaXMgcmVxdWlyZWQgaW4gb3JkZXIgZm9yIG90aGVyIENQVXMgdG8gZGV0ZXJtaW5lCiAJCSAqIHdoZW4gaXQgaXMgc2FmZSB0byBhZHZhbmNlIHRoZSBSQ1UgZ3JhY2UtcGVyaW9kCiAJCSAqIHN0YXRlIG1hY2hpbmUuCiAJCSAqLwogCQlzbXBfbWIoKTsgLyogc2VlIGFib3ZlIGJsb2NrIGNvbW1lbnQuICovCi0JCXBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KSsrOwotCQlXQVJOX09OKHBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KSAmIDB4MSk7CisJCXJkc3NwLT5keW50aWNrcysrOworCQlXQVJOX09OKHJkc3NwLT5keW50aWNrcyAmIDB4MSk7CiAJfQogfQogCiBzdGF0aWMgdm9pZCBkeW50aWNrX3NhdmVfcHJvZ3Jlc3NfY291bnRlcihpbnQgY3B1KQogewotCXBlcl9jcHUocmN1X2R5bnRpY2tfc25hcHNob3QsIGNwdSkgPQotCQlwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSk7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOworCisJcmRzc3AtPmR5bnRpY2tzX3NuYXAgPSByZHNzcC0+ZHludGlja3M7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50CkBAIC01NDQsOSArNTcxLDEwIEBACiB7CiAJbG9uZyBjdXJyOwogCWxvbmcgc25hcDsKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CiAKLQljdXJyID0gcGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpOwotCXNuYXAgPSBwZXJfY3B1KHJjdV9keW50aWNrX3NuYXBzaG90LCBjcHUpOworCWN1cnIgPSByZHNzcC0+ZHludGlja3M7CisJc25hcCA9IHJkc3NwLT5keW50aWNrc19zbmFwOwogCXNtcF9tYigpOyAvKiBmb3JjZSBvcmRlcmluZyB3aXRoIGNwdSBlbnRlcmluZy9sZWF2aW5nIGR5bnRpY2tzLiAqLwogCiAJLyoKQEAgLTU2Nyw3ICs1OTUsNyBAQAogCSAqIHRoYXQgdGhpcyBDUFUgYWxyZWFkeSBhY2tub3dsZWRnZWQgdGhlIGNvdW50ZXIuCiAJICovCiAKLQlpZiAoKGN1cnIgLSBzbmFwKSA+IDIgfHwgKHNuYXAgJiAweDEpID09IDApCisJaWYgKChjdXJyIC0gc25hcCkgPiAyIHx8IChjdXJyICYgMHgxKSA9PSAwKQogCQlyZXR1cm4gMDsKIAogCS8qIFdlIG5lZWQgdGhpcyBDUFUgdG8gZXhwbGljaXRseSBhY2tub3dsZWRnZSB0aGUgY291bnRlciBmbGlwLiAqLwpAQCAtNTgwLDkgKzYwOCwxMCBAQAogewogCWxvbmcgY3VycjsKIAlsb25nIHNuYXA7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOwogCi0JY3VyciA9IHBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KTsKLQlzbmFwID0gcGVyX2NwdShyY3VfZHludGlja19zbmFwc2hvdCwgY3B1KTsKKwljdXJyID0gcmRzc3AtPmR5bnRpY2tzOworCXNuYXAgPSByZHNzcC0+ZHludGlja3Nfc25hcDsKIAlzbXBfbWIoKTsgLyogZm9yY2Ugb3JkZXJpbmcgd2l0aCBjcHUgZW50ZXJpbmcvbGVhdmluZyBkeW50aWNrcy4gKi8KIAogCS8qCkBAIC02MDksMTQgKzYzOCw4NiBAQAogCXJldHVybiAxOwogfQogCitzdGF0aWMgdm9pZCBkeW50aWNrX3NhdmVfcHJvZ3Jlc3NfY291bnRlcl9zY2hlZChpbnQgY3B1KQoreworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKKworCXJkc3NwLT5zY2hlZF9keW50aWNrc19zbmFwID0gcmRzc3AtPmR5bnRpY2tzOworfQorCitzdGF0aWMgaW50IHJjdV9xc2N0cl9pbmNfbmVlZGVkX2R5bnRpY2soaW50IGNwdSkKK3sKKwlsb25nIGN1cnI7CisJbG9uZyBzbmFwOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKKworCWN1cnIgPSByZHNzcC0+ZHludGlja3M7CisJc25hcCA9IHJkc3NwLT5zY2hlZF9keW50aWNrc19zbmFwOworCXNtcF9tYigpOyAvKiBmb3JjZSBvcmRlcmluZyB3aXRoIGNwdSBlbnRlcmluZy9sZWF2aW5nIGR5bnRpY2tzLiAqLworCisJLyoKKwkgKiBJZiB0aGUgQ1BVIHJlbWFpbmVkIGluIGR5bnRpY2tzIG1vZGUgZm9yIHRoZSBlbnRpcmUgdGltZQorCSAqIGFuZCBkaWRuJ3QgdGFrZSBhbnkgaW50ZXJydXB0cywgTk1JcywgU01Jcywgb3Igd2hhdGV2ZXIsCisJICogdGhlbiBpdCBjYW5ub3QgYmUgaW4gdGhlIG1pZGRsZSBvZiBhbiByY3VfcmVhZF9sb2NrKCksIHNvCisJICogdGhlIG5leHQgcmN1X3JlYWRfbG9jaygpIGl0IGV4ZWN1dGVzIG11c3QgdXNlIHRoZSBuZXcgdmFsdWUKKwkgKiBvZiB0aGUgY291bnRlci4gIFRoZXJlZm9yZSwgdGhpcyBDUFUgaGFzIGJlZW4gaW4gYSBxdWllc2NlbnQKKwkgKiBzdGF0ZSB0aGUgZW50aXJlIHRpbWUsIGFuZCB3ZSBkb24ndCBuZWVkIHRvIHdhaXQgZm9yIGl0LgorCSAqLworCisJaWYgKChjdXJyID09IHNuYXApICYmICgoY3VyciAmIDB4MSkgPT0gMCkpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBJZiB0aGUgQ1BVIHBhc3NlZCB0aHJvdWdoIG9yIGVudGVyZWQgYSBkeW50aWNrcyBpZGxlIHBoYXNlIHdpdGgKKwkgKiBubyBhY3RpdmUgaXJxIGhhbmRsZXJzLCB0aGVuLCBhcyBhYm92ZSwgdGhpcyBDUFUgaGFzIGFscmVhZHkKKwkgKiBwYXNzZWQgdGhyb3VnaCBhIHF1aWVzY2VudCBzdGF0ZS4KKwkgKi8KKworCWlmICgoY3VyciAtIHNuYXApID4gMiB8fCAoc25hcCAmIDB4MSkgPT0gMCkKKwkJcmV0dXJuIDA7CisKKwkvKiBXZSBuZWVkIHRoaXMgQ1BVIHRvIGdvIHRocm91Z2ggYSBxdWllc2NlbnQgc3RhdGUuICovCisKKwlyZXR1cm4gMTsKK30KKwogI2Vsc2UgLyogIUNPTkZJR19OT19IWiAqLwogCi0jIGRlZmluZSBkeW50aWNrX3NhdmVfcHJvZ3Jlc3NfY291bnRlcihjcHUpCWRvIHsgfSB3aGlsZSAoMCkKLSMgZGVmaW5lIHJjdV90cnlfZmxpcF93YWl0YWNrX25lZWRlZChjcHUpCSgxKQotIyBkZWZpbmUgcmN1X3RyeV9mbGlwX3dhaXRtYl9uZWVkZWQoY3B1KQkoMSkKKyMgZGVmaW5lIGR5bnRpY2tfc2F2ZV9wcm9ncmVzc19jb3VudGVyKGNwdSkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHJjdV90cnlfZmxpcF93YWl0YWNrX25lZWRlZChjcHUpCQkoMSkKKyMgZGVmaW5lIHJjdV90cnlfZmxpcF93YWl0bWJfbmVlZGVkKGNwdSkJCSgxKQorCisjIGRlZmluZSBkeW50aWNrX3NhdmVfcHJvZ3Jlc3NfY291bnRlcl9zY2hlZChjcHUpCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHJjdV9xc2N0cl9pbmNfbmVlZGVkX2R5bnRpY2soY3B1KQkJKDEpCiAKICNlbmRpZiAvKiBDT05GSUdfTk9fSFogKi8KIAorc3RhdGljIHZvaWQgc2F2ZV9xc2N0cl9zY2hlZChpbnQgY3B1KQoreworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKKworCXJkc3NwLT5zY2hlZF9xc19zbmFwID0gcmRzc3AtPnNjaGVkX3FzOworfQorCitzdGF0aWMgaW5saW5lIGludCByY3VfcXNjdHJfaW5jX25lZWRlZChpbnQgY3B1KQoreworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKKworCS8qCisJICogSWYgdGhlcmUgaGFzIGJlZW4gYSBxdWllc2NlbnQgc3RhdGUsIG5vIG1vcmUgbmVlZCB0byB3YWl0CisJICogb24gdGhpcyBDUFUuCisJICovCisKKwlpZiAocmRzc3AtPnNjaGVkX3FzICE9IHJkc3NwLT5zY2hlZF9xc19zbmFwKSB7CisJCXNtcF9tYigpOyAvKiBmb3JjZSBvcmRlcmluZyB3aXRoIGNwdSBlbnRlcmluZyBzY2hlZHVsZSgpLiAqLworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBXZSBuZWVkIHRoaXMgQ1BVIHRvIGdvIHRocm91Z2ggYSBxdWllc2NlbnQgc3RhdGUuICovCisKKwlyZXR1cm4gMTsKK30KKwogLyoKICAqIEdldCBoZXJlIHdoZW4gUkNVIGlzIGlkbGUuICBEZWNpZGUgd2hldGhlciB3ZSBuZWVkIHRvCiAgKiBtb3ZlIG91dCBvZiBpZGxlIHN0YXRlLCBhbmQgcmV0dXJuIG5vbi16ZXJvIGlmIHNvLgpAQCAtODE5LDYgKzkyMCwyNiBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IHJjdV9kYXRhICpyZHAgPSBSQ1VfREFUQV9DUFUoY3B1KTsKIAorCS8qCisJICogSWYgdGhpcyBDUFUgdG9vayBpdHMgaW50ZXJydXB0IGZyb20gdXNlciBtb2RlIG9yIGZyb20gdGhlCisJICogaWRsZSBsb29wLCBhbmQgdGhpcyBpcyBub3QgYSBuZXN0ZWQgaW50ZXJydXB0LCB0aGVuCisJICogdGhpcyBDUFUgaGFzIHRvIGhhdmUgZXhpdGVkIGFsbCBwcmlvciBwcmVlcHQtZGlzYWJsZQorCSAqIHNlY3Rpb25zIG9mIGNvZGUuICBTbyBpbmNyZW1lbnQgdGhlIGNvdW50ZXIgdG8gbm90ZSB0aGlzLgorCSAqCisJICogVGhlIG1lbW9yeSBiYXJyaWVyIGlzIG5lZWRlZCB0byBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUKKwkgKiB3cml0ZXMgZnJvbSBhIHByZWVtcHQtZGlzYWJsZSBzZWN0aW9uIG9mIGNvZGUgZ2V0IHJlb3JkZXJlZAorCSAqIGludG8gc2NoZWR1bGUoKSBieSB0aGlzIENQVSdzIHdyaXRlIGJ1ZmZlci4gIFNvIHRoZSBtZW1vcnkKKwkgKiBiYXJyaWVyIG1ha2VzIHN1cmUgdGhhdCB0aGUgcmN1X3FzY3RyX2luYygpIGlzIHNlZW4gYnkgb3RoZXIKKwkgKiBDUFVzIHRvIGhhcHBlbiBhZnRlciBhbnkgc3VjaCB3cml0ZS4KKwkgKi8KKworCWlmICh1c2VyIHx8CisJICAgIChpZGxlX2NwdShjcHUpICYmICFpbl9zb2Z0aXJxKCkgJiYKKwkgICAgIGhhcmRpcnFfY291bnQoKSA8PSAoMSA8PCBIQVJESVJRX1NISUZUKSkpIHsKKwkJc21wX21iKCk7CS8qIEd1YXJkIGFnYWluc3QgYWdncmVzc2l2ZSBzY2hlZHVsZSgpLiAqLworCSAgICAgCXJjdV9xc2N0cl9pbmMoY3B1KTsKKwl9CisKIAlyY3VfY2hlY2tfbWIoY3B1KTsKIAlpZiAocmN1X2N0cmxibGsuY29tcGxldGVkID09IHJkcC0+Y29tcGxldGVkKQogCQlyY3VfdHJ5X2ZsaXAoKTsKQEAgLTg2OSw2ICs5OTAsOCBAQAogCXN0cnVjdCByY3VfaGVhZCAqbGlzdCA9IE5VTEw7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgcmN1X2RhdGEgKnJkcCA9IFJDVV9EQVRBX0NQVShjcHUpOworCXN0cnVjdCByY3VfaGVhZCAqc2NoZWRsaXN0ID0gTlVMTDsKKwlzdHJ1Y3QgcmN1X2hlYWQgKipzY2hlZHRhaWwgPSAmc2NoZWRsaXN0OwogCXN0cnVjdCByY3VfaGVhZCAqKnRhaWwgPSAmbGlzdDsKIAogCS8qCkBAIC04ODIsNiArMTAwNSwxMSBAQAogCQlyY3Vfb2ZmbGluZV9jcHVfZW5xdWV1ZShyZHAtPndhaXRsaXN0W2ldLCByZHAtPndhaXR0YWlsW2ldLAogCQkJCQkJbGlzdCwgdGFpbCk7CiAJcmN1X29mZmxpbmVfY3B1X2VucXVldWUocmRwLT5uZXh0bGlzdCwgcmRwLT5uZXh0dGFpbCwgbGlzdCwgdGFpbCk7CisJcmN1X29mZmxpbmVfY3B1X2VucXVldWUocmRwLT53YWl0c2NoZWRsaXN0LCByZHAtPndhaXRzY2hlZHRhaWwsCisJCQkJc2NoZWRsaXN0LCBzY2hlZHRhaWwpOworCXJjdV9vZmZsaW5lX2NwdV9lbnF1ZXVlKHJkcC0+bmV4dHNjaGVkbGlzdCwgcmRwLT5uZXh0c2NoZWR0YWlsLAorCQkJCXNjaGVkbGlzdCwgc2NoZWR0YWlsKTsKKwlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IDA7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmRwLT5sb2NrLCBmbGFncyk7CiAJcmRwLT53YWl0bGlzdGNvdW50ID0gMDsKIApAQCAtOTE2LDM2ICsxMDQ0LDUwIEBACiAJICogZml4LgogCSAqLwogCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsgIC8qIGRpc2FibGUgcHJlZW1wdCB0aWxsIHdlIGtub3cgd2hhdCBsb2NrLiAqLwogCXJkcCA9IFJDVV9EQVRBX01FKCk7CiAJc3Bpbl9sb2NrKCZyZHAtPmxvY2spOwogCSpyZHAtPm5leHR0YWlsID0gbGlzdDsKIAlpZiAobGlzdCkKIAkJcmRwLT5uZXh0dGFpbCA9IHRhaWw7CisJKnJkcC0+bmV4dHNjaGVkdGFpbCA9IHNjaGVkbGlzdDsKKwlpZiAoc2NoZWRsaXN0KQorCQlyZHAtPm5leHRzY2hlZHRhaWwgPSBzY2hlZHRhaWw7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmRwLT5sb2NrLCBmbGFncyk7CiB9CiAKLXZvaWQgX19kZXZpbml0IHJjdV9vbmxpbmVfY3B1KGludCBjcHUpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZyY3VfY3RybGJsay5mbGlwbG9jaywgZmxhZ3MpOwotCWNwdV9zZXQoY3B1LCByY3VfY3B1X29ubGluZV9tYXApOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJjdV9jdHJsYmxrLmZsaXBsb2NrLCBmbGFncyk7Ci19Ci0KICNlbHNlIC8qICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUgKi8KIAogdm9pZCByY3Vfb2ZmbGluZV9jcHUoaW50IGNwdSkKIHsKIH0KIAotdm9pZCBfX2RldmluaXQgcmN1X29ubGluZV9jcHUoaW50IGNwdSkKLXsKLX0KLQogI2VuZGlmIC8qICNlbHNlICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUgKi8KIAordm9pZCBfX2NwdWluaXQgcmN1X29ubGluZV9jcHUoaW50IGNwdSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCByY3VfZGF0YSAqcmRwOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnJjdV9jdHJsYmxrLmZsaXBsb2NrLCBmbGFncyk7CisJY3B1X3NldChjcHUsIHJjdV9jcHVfb25saW5lX21hcCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmN1X2N0cmxibGsuZmxpcGxvY2ssIGZsYWdzKTsKKworCS8qCisJICogVGhlIHJjdV9zY2hlZCBncmFjZS1wZXJpb2QgcHJvY2Vzc2luZyBtaWdodCBoYXZlIGJ5cGFzc2VkCisJICogdGhpcyBDUFUsIGdpdmVuIHRoYXQgaXQgd2FzIG5vdCBpbiB0aGUgcmN1X2NwdV9vbmxpbmVfbWFwCisJICogd2hlbiB0aGUgZ3JhY2UtcGVyaW9kIHNjYW4gc3RhcnRlZC4gIFRoaXMgbWVhbnMgdGhhdCB0aGUKKwkgKiBncmFjZS1wZXJpb2QgdGFzayBtaWdodCBzbGVlcC4gIFNvIG1ha2Ugc3VyZSB0aGF0IGlmIHRoaXMKKwkgKiBzaG91bGQgaGFwcGVuLCB0aGUgZmlyc3QgY2FsbGJhY2sgcG9zdGVkIHRvIHRoaXMgQ1BVIHdpbGwKKwkgKiB3YWtlIHVwIHRoZSBncmFjZS1wZXJpb2QgdGFzayBpZiBuZWVkIGJlLgorCSAqLworCisJcmRwID0gUkNVX0RBVEFfQ1BVKGNwdSk7CisJc3Bpbl9sb2NrX2lycXNhdmUoJnJkcC0+bG9jaywgZmxhZ3MpOworCXJkcC0+cmN1X3NjaGVkX3NsZWVwaW5nID0gMTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZHAtPmxvY2ssIGZsYWdzKTsKK30KKwogc3RhdGljIHZvaWQgcmN1X3Byb2Nlc3NfY2FsbGJhY2tzKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiAqdW51c2VkKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC05ODYsMzMgKzExMjgsMTk4IEBACiAJKnJkcC0+bmV4dHRhaWwgPSBoZWFkOwogCXJkcC0+bmV4dHRhaWwgPSAmaGVhZC0+bmV4dDsKIAlSQ1VfVFJBQ0VfUkRQKHJjdXByZWVtcHRfdHJhY2VfbmV4dF9hZGQsIHJkcCk7Ci0Jc3Bpbl91bmxvY2soJnJkcC0+bG9jayk7Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoY2FsbF9yY3UpOwogCit2b2lkIGNhbGxfcmN1X3NjaGVkKHN0cnVjdCByY3VfaGVhZCAqaGVhZCwgdm9pZCAoKmZ1bmMpKHN0cnVjdCByY3VfaGVhZCAqcmN1KSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCByY3VfZGF0YSAqcmRwOworCWludCB3YWtlX2dwID0gMDsKKworCWhlYWQtPmZ1bmMgPSBmdW5jOworCWhlYWQtPm5leHQgPSBOVUxMOworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlyZHAgPSBSQ1VfREFUQV9NRSgpOworCXNwaW5fbG9jaygmcmRwLT5sb2NrKTsKKwkqcmRwLT5uZXh0c2NoZWR0YWlsID0gaGVhZDsKKwlyZHAtPm5leHRzY2hlZHRhaWwgPSAmaGVhZC0+bmV4dDsKKwlpZiAocmRwLT5yY3Vfc2NoZWRfc2xlZXBpbmcpIHsKKworCQkvKiBHcmFjZS1wZXJpb2QgcHJvY2Vzc2luZyBtaWdodCBiZSBzbGVlcGluZy4uLiAqLworCisJCXJkcC0+cmN1X3NjaGVkX3NsZWVwaW5nID0gMDsKKwkJd2FrZV9ncCA9IDE7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOworCWlmICh3YWtlX2dwKSB7CisKKwkJLyogV2FrZSB1cCBncmFjZS1wZXJpb2QgcHJvY2Vzc2luZywgdW5sZXNzIHNvbWVvbmUgYmVhdCB1cy4gKi8KKworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCWlmIChyY3VfY3RybGJsay5zY2hlZF9zbGVlcCAhPSByY3Vfc2NoZWRfc2xlZXBpbmcpCisJCQl3YWtlX2dwID0gMDsKKwkJcmN1X2N0cmxibGsuc2NoZWRfc2xlZXAgPSByY3Vfc2NoZWRfbm90X3NsZWVwaW5nOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJaWYgKHdha2VfZ3ApCisJCQl3YWtlX3VwX2ludGVycnVwdGlibGUoJnJjdV9jdHJsYmxrLnNjaGVkX3dxKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MX0dQTChjYWxsX3JjdV9zY2hlZCk7CisKIC8qCiAgKiBXYWl0IHVudGlsIGFsbCBjdXJyZW50bHkgcnVubmluZyBwcmVlbXB0X2Rpc2FibGUoKSBjb2RlIHNlZ21lbnRzCiAgKiAoaW5jbHVkaW5nIGhhcmR3YXJlLWlycS1kaXNhYmxlIHNlZ21lbnRzKSBjb21wbGV0ZS4gIE5vdGUgdGhhdAogICogaW4gLXJ0IHRoaXMgZG9lcyAtbm90LSBuZWNlc3NhcmlseSByZXN1bHQgaW4gYWxsIGN1cnJlbnRseSBleGVjdXRpbmcKICAqIGludGVycnVwdCAtaGFuZGxlcnMtIGhhdmluZyBjb21wbGV0ZWQuCiAgKi8KLXZvaWQgX19zeW5jaHJvbml6ZV9zY2hlZCh2b2lkKQotewotCWNwdW1hc2tfdCBvbGRtYXNrOwotCWludCBjcHU7Ci0KLQlpZiAoc2NoZWRfZ2V0YWZmaW5pdHkoMCwgJm9sZG1hc2spIDwgMCkKLQkJb2xkbWFzayA9IGNwdV9wb3NzaWJsZV9tYXA7Ci0JZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKLQkJc2NoZWRfc2V0YWZmaW5pdHkoMCwgJmNwdW1hc2tfb2ZfY3B1KGNwdSkpOwotCQlzY2hlZHVsZSgpOwotCX0KLQlzY2hlZF9zZXRhZmZpbml0eSgwLCAmb2xkbWFzayk7Ci19CitzeW5jaHJvbml6ZV9yY3VfeHh4KF9fc3luY2hyb25pemVfc2NoZWQsIGNhbGxfcmN1X3NjaGVkKQogRVhQT1JUX1NZTUJPTF9HUEwoX19zeW5jaHJvbml6ZV9zY2hlZCk7CiAKIC8qCisgKiBrdGhyZWFkIGZ1bmN0aW9uIHRoYXQgbWFuYWdlcyBjYWxsX3JjdV9zY2hlZCBncmFjZSBwZXJpb2RzLgorICovCitzdGF0aWMgaW50IHJjdV9zY2hlZF9ncmFjZV9wZXJpb2Qodm9pZCAqYXJnKQoreworCWludCBjb3VsZHNsZWVwOwkJLyogbWlnaHQgc2xlZXAgYWZ0ZXIgY3VycmVudCBwYXNzLiAqLworCWludCBjb3VsZHNsZWVwbmV4dCA9IDA7IC8qIG1pZ2h0IHNsZWVwIGFmdGVyIG5leHQgcGFzcy4gKi8KKwlpbnQgY3B1OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IHJjdV9kYXRhICpyZHA7CisJaW50IHJldDsKKworCS8qCisJICogRWFjaCBwYXNzIHRocm91Z2ggdGhlIGZvbGxvd2luZyBsb29wIGhhbmRsZXMgb25lCisJICogcmN1X3NjaGVkIGdyYWNlIHBlcmlvZCBjeWNsZS4KKwkgKi8KKwlkbyB7CisJCS8qIFNhdmUgZWFjaCBDUFUncyBjdXJyZW50IHN0YXRlLiAqLworCisJCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCQlkeW50aWNrX3NhdmVfcHJvZ3Jlc3NfY291bnRlcl9zY2hlZChjcHUpOworCQkJc2F2ZV9xc2N0cl9zY2hlZChjcHUpOworCQl9CisKKwkJLyoKKwkJICogU2xlZXAgZm9yIGFib3V0IGFuIFJDVSBncmFjZS1wZXJpb2QncyB3b3J0aCB0bworCQkgKiBhbGxvdyBiZXR0ZXIgYmF0Y2hpbmcgYW5kIHRvIGNvbnN1bWUgbGVzcyBDUFUuCisJCSAqLworCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUoUkNVX1NDSEVEX0JBVENIX1RJTUUpOworCisJCS8qCisJCSAqIElmIHRoZXJlIHdhcyBub3RoaW5nIHRvIGRvIGxhc3QgdGltZSwgcHJlcGFyZSB0bworCQkgKiBzbGVlcCBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGdyYWNlIHBlcmlvZCBjeWNsZS4KKwkJICovCisJCWNvdWxkc2xlZXAgPSBjb3VsZHNsZWVwbmV4dDsKKwkJY291bGRzbGVlcG5leHQgPSAxOworCQlpZiAoY291bGRzbGVlcCkgeworCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQkJcmN1X2N0cmxibGsuc2NoZWRfc2xlZXAgPSByY3Vfc2NoZWRfc2xlZXBfcHJlcDsKKwkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQl9CisKKwkJLyoKKwkJICogV2FpdCBvbiBlYWNoIENQVSBpbiB0dXJuIHRvIGhhdmUgZWl0aGVyIHZpc2l0ZWQKKwkJICogYSBxdWllc2NlbnQgc3RhdGUgb3IgYmVlbiBpbiBkeW50aWNrcy1pZGxlIG1vZGUuCisJCSAqLworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQkJd2hpbGUgKHJjdV9xc2N0cl9pbmNfbmVlZGVkKGNwdSkgJiYKKwkJCSAgICAgICByY3VfcXNjdHJfaW5jX25lZWRlZF9keW50aWNrKGNwdSkpIHsKKwkJCQkvKiByZXNjaGVkX2NwdShjcHUpOyBAQEAgKi8KKwkJCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUoMSk7CisJCQl9CisJCX0KKworCQkvKiBBZHZhbmNlIGNhbGxiYWNrcyBmb3IgZWFjaCBDUFUuICAqLworCisJCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisKKwkJCXJkcCA9IFJDVV9EQVRBX0NQVShjcHUpOworCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnJkcC0+bG9jaywgZmxhZ3MpOworCisJCQkvKgorCQkJICogV2UgYXJlIHJ1bm5pbmcgb24gdGhpcyBDUFUgaXJxLWRpc2FibGVkLCBzbyBubworCQkJICogQ1BVIGNhbiBnbyBvZmZsaW5lIHVudGlsIHdlIHJlLWVuYWJsZSBpcnFzLgorCQkJICogVGhlIGN1cnJlbnQgQ1BVIG1pZ2h0IGhhdmUgYWxyZWFkeSBnb25lCisJCQkgKiBvZmZsaW5lIChiZXR3ZWVuIHRoZSBmb3JfZWFjaF9vZmZsaW5lX2NwdSBhbmQKKwkJCSAqIHRoZSBzcGluX2xvY2tfaXJxc2F2ZSksIGJ1dCBpbiB0aGF0IGNhc2UgYWxsIGl0cworCQkJICogY2FsbGJhY2sgbGlzdHMgd2lsbCBiZSBlbXB0eSwgc28gbm8gaGFybSBkb25lLgorCQkJICoKKwkJCSAqIEFkdmFuY2UgdGhlIGNhbGxiYWNrcyEgIFdlIHNoYXJlIG5vcm1hbCBSQ1UncworCQkJICogZG9uZWxpc3QsIHNpbmNlIGNhbGxiYWNrcyBhcmUgaW52b2tlZCB0aGUKKwkJCSAqIHNhbWUgd2F5IGluIGVpdGhlciBjYXNlLgorCQkJICovCisJCQlpZiAocmRwLT53YWl0c2NoZWRsaXN0ICE9IE5VTEwpIHsKKwkJCQkqcmRwLT5kb25ldGFpbCA9IHJkcC0+d2FpdHNjaGVkbGlzdDsKKwkJCQlyZHAtPmRvbmV0YWlsID0gcmRwLT53YWl0c2NoZWR0YWlsOworCisJCQkJLyoKKwkJCQkgKiBOZXh0IHJjdV9jaGVja19jYWxsYmFja3MoKSB3aWxsCisJCQkJICogZG8gdGhlIHJlcXVpcmVkIHJhaXNlX3NvZnRpcnEoKS4KKwkJCQkgKi8KKwkJCX0KKwkJCWlmIChyZHAtPm5leHRzY2hlZGxpc3QgIT0gTlVMTCkgeworCQkJCXJkcC0+d2FpdHNjaGVkbGlzdCA9IHJkcC0+bmV4dHNjaGVkbGlzdDsKKwkJCQlyZHAtPndhaXRzY2hlZHRhaWwgPSByZHAtPm5leHRzY2hlZHRhaWw7CisJCQkJY291bGRzbGVlcCA9IDA7CisJCQkJY291bGRzbGVlcG5leHQgPSAwOworCQkJfSBlbHNlIHsKKwkJCQlyZHAtPndhaXRzY2hlZGxpc3QgPSBOVUxMOworCQkJCXJkcC0+d2FpdHNjaGVkdGFpbCA9ICZyZHAtPndhaXRzY2hlZGxpc3Q7CisJCQl9CisJCQlyZHAtPm5leHRzY2hlZGxpc3QgPSBOVUxMOworCQkJcmRwLT5uZXh0c2NoZWR0YWlsID0gJnJkcC0+bmV4dHNjaGVkbGlzdDsKKworCQkJLyogTWFyayBzbGVlcCBpbnRlbnRpb24uICovCisKKwkJCXJkcC0+cmN1X3NjaGVkX3NsZWVwaW5nID0gY291bGRzbGVlcDsKKworCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmRwLT5sb2NrLCBmbGFncyk7CisJCX0KKworCQkvKiBJZiB3ZSBzYXcgY2FsbGJhY2tzIG9uIHRoZSBsYXN0IHNjYW4sIGdvIGRlYWwgd2l0aCB0aGVtLiAqLworCisJCWlmICghY291bGRzbGVlcCkKKwkJCWNvbnRpbnVlOworCisJCS8qIEF0dGVtcHQgdG8gYmxvY2suLi4gKi8KKworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCWlmIChyY3VfY3RybGJsay5zY2hlZF9zbGVlcCAhPSByY3Vfc2NoZWRfc2xlZXBfcHJlcCkgeworCisJCQkvKgorCQkJICogU29tZW9uZSBwb3N0ZWQgYSBjYWxsYmFjayBhZnRlciB3ZSBzY2FubmVkLgorCQkJICogR28gdGFrZSBjYXJlIG9mIGl0LgorCQkJICovCisJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJCWNvdWxkc2xlZXBuZXh0ID0gMDsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogQmxvY2sgdW50aWwgdGhlIG5leHQgcGVyc29uIHBvc3RzIGEgY2FsbGJhY2suICovCisKKwkJcmN1X2N0cmxibGsuc2NoZWRfc2xlZXAgPSByY3Vfc2NoZWRfc2xlZXBpbmc7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQlyZXQgPSAwOworCQlfX3dhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShyY3VfY3RybGJsay5zY2hlZF93cSwKKwkJCXJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwICE9IHJjdV9zY2hlZF9zbGVlcGluZywKKwkJCXJldCk7CisKKwkJLyoKKwkJICogU2lnbmFscyB3b3VsZCBwcmV2ZW50IHVzIGZyb20gc2xlZXBpbmcsIGFuZCB3ZSBjYW5ub3QKKwkJICogZG8gbXVjaCB3aXRoIHRoZW0gaW4gYW55IGNhc2UuICBTbyBmbHVzaCB0aGVtLgorCQkgKi8KKwkJaWYgKHJldCkKKwkJCWZsdXNoX3NpZ25hbHMoY3VycmVudCk7CisJCWNvdWxkc2xlZXBuZXh0ID0gMDsKKworCX0gd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpOworCisJcmV0dXJuICgwKTsKK30KKworLyoKICAqIENoZWNrIHRvIHNlZSBpZiBhbnkgZnV0dXJlIFJDVS1yZWxhdGVkIHdvcmsgd2lsbCBuZWVkIHRvIGJlIGRvbmUKICAqIGJ5IHRoZSBjdXJyZW50IENQVSwgZXZlbiBpZiBub25lIG5lZWQgYmUgZG9uZSBpbW1lZGlhdGVseSwgcmV0dXJuaW5nCiAgKiAxIGlmIHNvLiAgQXNzdW1lcyB0aGF0IG5vdGlmaWVycyB3b3VsZCB0YWtlIGNhcmUgb2YgaGFuZGxpbmcgYW55CkBAIC0xMDI3LDcgKzEzMzQsOSBAQAogCiAJcmV0dXJuIChyZHAtPmRvbmVsaXN0ICE9IE5VTEwgfHwKIAkJISFyZHAtPndhaXRsaXN0Y291bnQgfHwKLQkJcmRwLT5uZXh0bGlzdCAhPSBOVUxMKTsKKwkJcmRwLT5uZXh0bGlzdCAhPSBOVUxMIHx8CisJCXJkcC0+bmV4dHNjaGVkbGlzdCAhPSBOVUxMIHx8CisJCXJkcC0+d2FpdHNjaGVkbGlzdCAhPSBOVUxMKTsKIH0KIAogaW50IHJjdV9wZW5kaW5nKGludCBjcHUpCkBAIC0xMDM4LDcgKzEzNDcsOSBAQAogCiAJaWYgKHJkcC0+ZG9uZWxpc3QgIT0gTlVMTCB8fAogCSAgICAhIXJkcC0+d2FpdGxpc3Rjb3VudCB8fAotCSAgICByZHAtPm5leHRsaXN0ICE9IE5VTEwpCisJICAgIHJkcC0+bmV4dGxpc3QgIT0gTlVMTCB8fAorCSAgICByZHAtPm5leHRzY2hlZGxpc3QgIT0gTlVMTCB8fAorCSAgICByZHAtPndhaXRzY2hlZGxpc3QgIT0gTlVMTCkKIAkJcmV0dXJuIDE7CiAKIAkvKiBUaGUgUkNVIGNvcmUgbmVlZHMgYW4gYWNrbm93bGVkZ2VtZW50IGZyb20gdGhpcyBDUFUuICovCkBAIC0xMTA1LDYgKzE0MTYsMTEgQEAKIAkJcmRwLT5kb25ldGFpbCA9ICZyZHAtPmRvbmVsaXN0OwogCQlyZHAtPnJjdV9mbGlwY3RyWzBdID0gMDsKIAkJcmRwLT5yY3VfZmxpcGN0clsxXSA9IDA7CisJCXJkcC0+bmV4dHNjaGVkbGlzdCA9IE5VTEw7CisJCXJkcC0+bmV4dHNjaGVkdGFpbCA9ICZyZHAtPm5leHRzY2hlZGxpc3Q7CisJCXJkcC0+d2FpdHNjaGVkbGlzdCA9IE5VTEw7CisJCXJkcC0+d2FpdHNjaGVkdGFpbCA9ICZyZHAtPndhaXRzY2hlZGxpc3Q7CisJCXJkcC0+cmN1X3NjaGVkX3NsZWVwaW5nID0gMDsKIAl9CiAJcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZyY3VfbmIpOwogCkBAIC0xMTIzLDE1ICsxNDM5LDE5IEBACiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCiAJCXJjdV9jcHVfbm90aWZ5KCZyY3VfbmIsIENQVV9VUF9QUkVQQVJFLAkodm9pZCAqKShsb25nKSBjcHUpOwogCi0Jb3Blbl9zb2Z0aXJxKFJDVV9TT0ZUSVJRLCByY3VfcHJvY2Vzc19jYWxsYmFja3MsIE5VTEwpOworCW9wZW5fc29mdGlycShSQ1VfU09GVElSUSwgcmN1X3Byb2Nlc3NfY2FsbGJhY2tzKTsKIH0KIAogLyoKLSAqIERlcHJlY2F0ZWQsIHVzZSBzeW5jaHJvbml6ZV9yY3UoKSBvciBzeW5jaHJvbml6ZV9zY2hlZCgpIGluc3RlYWQuCisgKiBMYXRlLWJvb3QtdGltZSBSQ1UgaW5pdGlhbGl6YXRpb24gdGhhdCBtdXN0IHdhaXQgdW50aWwgYWZ0ZXIgc2NoZWR1bGVyCisgKiBoYXMgYmVlbiBpbml0aWFsaXplZC4KICAqLwotdm9pZCBzeW5jaHJvbml6ZV9rZXJuZWwodm9pZCkKK3ZvaWQgX19pbml0IHJjdV9pbml0X3NjaGVkKHZvaWQpCiB7Ci0Jc3luY2hyb25pemVfcmN1KCk7CisJcmN1X3NjaGVkX2dyYWNlX3BlcmlvZF90YXNrID0ga3RocmVhZF9ydW4ocmN1X3NjaGVkX2dyYWNlX3BlcmlvZCwKKwkJCQkJCSAgTlVMTCwKKwkJCQkJCSAgInJjdV9zY2hlZF9ncmFjZV9wZXJpb2QiKTsKKwlXQVJOX09OKElTX0VSUihyY3Vfc2NoZWRfZ3JhY2VfcGVyaW9kX3Rhc2spKTsKIH0KIAogI2lmZGVmIENPTkZJR19SQ1VfVFJBQ0UKZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3VwcmVlbXB0X3RyYWNlLmMgYi9rZXJuZWwvcmN1cHJlZW1wdF90cmFjZS5jCmluZGV4IDQ5YWM0OTQ3Li41ZWRmODJjIDEwMDY0NAotLS0gYS9rZXJuZWwvcmN1cHJlZW1wdF90cmFjZS5jCisrKyBiL2tlcm5lbC9yY3VwcmVlbXB0X3RyYWNlLmMKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgogI2luY2x1ZGUgPGxpbnV4L25vdGlmaWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3JjdXByZWVtcHRfdHJhY2UuaD4KZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3V0b3J0dXJlLmMgYi9rZXJuZWwvcmN1dG9ydHVyZS5jCmluZGV4IDMzYWNjNDI0Li45MGI1YjEyIDEwMDY0NAotLS0gYS9rZXJuZWwvcmN1dG9ydHVyZS5jCisrKyBiL2tlcm5lbC9yY3V0b3J0dXJlLmMKQEAgLTU3LDcgKzU3LDkgQEAKIAkJCQkvKiAgRGVmYXVsdHMgdG8gIm9ubHkgYXQgZW5kIG9mIHRlc3QiLiAqLwogc3RhdGljIGludCB2ZXJib3NlOwkJLyogUHJpbnQgbW9yZSBkZWJ1ZyBpbmZvLiAqLwogc3RhdGljIGludCB0ZXN0X25vX2lkbGVfaHo7CS8qIFRlc3QgUkNVJ3Mgc3VwcG9ydCBmb3IgdGlja2xlc3MgaWRsZSBDUFVzLiAqLwotc3RhdGljIGludCBzaHVmZmxlX2ludGVydmFsID0gNTsgLyogSW50ZXJ2YWwgYmV0d2VlbiBzaHVmZmxlcyAoaW4gc2VjKSovCitzdGF0aWMgaW50IHNodWZmbGVfaW50ZXJ2YWwgPSAzOyAvKiBJbnRlcnZhbCBiZXR3ZWVuIHNodWZmbGVzIChpbiBzZWMpKi8KK3N0YXRpYyBpbnQgc3R1dHRlciA9IDU7CQkvKiBTdGFydC9zdG9wIHRlc3RpbmcgaW50ZXJ2YWwgKGluIHNlYykgKi8KK3N0YXRpYyBpbnQgaXJxcmVhZGVyID0gMTsJLyogUkNVIHJlYWRlcnMgZnJvbSBpcnEgKHRpbWVycykuICovCiBzdGF0aWMgY2hhciAqdG9ydHVyZV90eXBlID0gInJjdSI7IC8qIFdoYXQgUkNVIGltcGxlbWVudGF0aW9uIHRvIHRvcnR1cmUuICovCiAKIG1vZHVsZV9wYXJhbShucmVhZGVycywgaW50LCAwNDQ0KTsKQEAgLTcyLDYgKzc0LDEwIEBACiBNT0RVTEVfUEFSTV9ERVNDKHRlc3Rfbm9faWRsZV9oeiwgIlRlc3Qgc3VwcG9ydCBmb3IgdGlja2xlc3MgaWRsZSBDUFVzIik7CiBtb2R1bGVfcGFyYW0oc2h1ZmZsZV9pbnRlcnZhbCwgaW50LCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Moc2h1ZmZsZV9pbnRlcnZhbCwgIk51bWJlciBvZiBzZWNvbmRzIGJldHdlZW4gc2h1ZmZsZXMiKTsKK21vZHVsZV9wYXJhbShzdHV0dGVyLCBpbnQsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhzdHV0dGVyLCAiTnVtYmVyIG9mIHNlY29uZHMgdG8gcnVuL2hhbHQgdGVzdCIpOworbW9kdWxlX3BhcmFtKGlycXJlYWRlciwgaW50LCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoaXJxcmVhZGVyLCAiQWxsb3cgUkNVIHJlYWRlcnMgZnJvbSBpcnEgaGFuZGxlcnMiKTsKIG1vZHVsZV9wYXJhbSh0b3J0dXJlX3R5cGUsIGNoYXJwLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0ModG9ydHVyZV90eXBlLCAiVHlwZSBvZiBSQ1UgdG8gdG9ydHVyZSAocmN1LCByY3VfYmgsIHNyY3UpIik7CiAKQEAgLTkxLDYgKzk3LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKipyZWFkZXJfdGFza3M7CiBzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICpzdGF0c190YXNrOwogc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqc2h1ZmZsZXJfdGFzazsKK3N0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnN0dXR0ZXJfdGFzazsKIAogI2RlZmluZSBSQ1VfVE9SVFVSRV9QSVBFX0xFTiAxMAogCkBAIC0xMTcsOCArMTI0LDE4IEBACiBzdGF0aWMgYXRvbWljX3Qgbl9yY3VfdG9ydHVyZV9mcmVlOwogc3RhdGljIGF0b21pY190IG5fcmN1X3RvcnR1cmVfbWJlcnJvcjsKIHN0YXRpYyBhdG9taWNfdCBuX3JjdV90b3J0dXJlX2Vycm9yOworc3RhdGljIGxvbmcgbl9yY3VfdG9ydHVyZV90aW1lcnMgPSAwOwogc3RhdGljIHN0cnVjdCBsaXN0X2hlYWQgcmN1X3RvcnR1cmVfcmVtb3ZlZDsKIAorc3RhdGljIGludCBzdHV0dGVyX3BhdXNlX3Rlc3QgPSAwOworCisjaWYgZGVmaW5lZChNT0RVTEUpIHx8IGRlZmluZWQoQ09ORklHX1JDVV9UT1JUVVJFX1RFU1RfUlVOTkFCTEUpCisjZGVmaW5lIFJDVVRPUlRVUkVfUlVOTkFCTEVfSU5JVCAxCisjZWxzZQorI2RlZmluZSBSQ1VUT1JUVVJFX1JVTk5BQkxFX0lOSVQgMAorI2VuZGlmCitpbnQgcmN1dG9ydHVyZV9ydW5uYWJsZSA9IFJDVVRPUlRVUkVfUlVOTkFCTEVfSU5JVDsKKwogLyoKICAqIEFsbG9jYXRlIGFuIGVsZW1lbnQgZnJvbSB0aGUgcmN1X3RvcnR1cmVzIHBvb2wuCiAgKi8KQEAgLTE3OSw2ICsxOTYsMTYgQEAKIAlyZXR1cm4gc3dhaHczMihycnNwLT5ycnNfc3RhdGUpOwogfQogCitzdGF0aWMgdm9pZAorcmN1X3N0dXR0ZXJfd2FpdCh2b2lkKQoreworCXdoaWxlIChzdHV0dGVyX3BhdXNlX3Rlc3QgfHwgIXJjdXRvcnR1cmVfcnVubmFibGUpCisJCWlmIChyY3V0b3J0dXJlX3J1bm5hYmxlKQorCQkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKDEpOworCQllbHNlCisJCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUocm91bmRfamlmZmllc19yZWxhdGl2ZShIWikpOworfQorCiAvKgogICogT3BlcmF0aW9ucyB2ZWN0b3IgZm9yIHNlbGVjdGluZyBkaWZmZXJlbnQgdHlwZXMgb2YgdGVzdHMuCiAgKi8KQEAgLTE5Miw3ICsyMTksOSBAQAogCWludCAoKmNvbXBsZXRlZCkodm9pZCk7CiAJdm9pZCAoKmRlZmVycmVkZnJlZSkoc3RydWN0IHJjdV90b3J0dXJlICpwKTsKIAl2b2lkICgqc3luYykodm9pZCk7CisJdm9pZCAoKmNiX2JhcnJpZXIpKHZvaWQpOwogCWludCAoKnN0YXRzKShjaGFyICpwYWdlKTsKKwlpbnQgaXJxY2FwYWJsZTsKIAljaGFyICpuYW1lOwogfTsKIHN0YXRpYyBzdHJ1Y3QgcmN1X3RvcnR1cmVfb3BzICpjdXJfb3BzID0gTlVMTDsKQEAgLTI2NSw3ICsyOTQsOSBAQAogCS5jb21wbGV0ZWQgPSByY3VfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV90b3J0dXJlX2RlZmVycmVkX2ZyZWUsCiAJLnN5bmMgPSBzeW5jaHJvbml6ZV9yY3UsCisJLmNiX2JhcnJpZXIgPSByY3VfYmFycmllciwKIAkuc3RhdHMgPSBOVUxMLAorCS5pcnFjYXBhYmxlID0gMSwKIAkubmFtZSA9ICJyY3UiCiB9OwogCkBAIC0zMDQsNyArMzM1LDkgQEAKIAkuY29tcGxldGVkID0gcmN1X3RvcnR1cmVfY29tcGxldGVkLAogCS5kZWZlcnJlZGZyZWUgPSByY3Vfc3luY190b3J0dXJlX2RlZmVycmVkX2ZyZWUsCiAJLnN5bmMgPSBzeW5jaHJvbml6ZV9yY3UsCisJLmNiX2JhcnJpZXIgPSBOVUxMLAogCS5zdGF0cyA9IE5VTEwsCisJLmlycWNhcGFibGUgPSAxLAogCS5uYW1lID0gInJjdV9zeW5jIgogfTsKIApAQCAtMzY0LDcgKzM5Nyw5IEBACiAJLmNvbXBsZXRlZCA9IHJjdV9iaF90b3J0dXJlX2NvbXBsZXRlZCwKIAkuZGVmZXJyZWRmcmVlID0gcmN1X2JoX3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKIAkuc3luYyA9IHJjdV9iaF90b3J0dXJlX3N5bmNocm9uaXplLAorCS5jYl9iYXJyaWVyID0gcmN1X2JhcnJpZXJfYmgsCiAJLnN0YXRzID0gTlVMTCwKKwkuaXJxY2FwYWJsZSA9IDEsCiAJLm5hbWUgPSAicmN1X2JoIgogfTsKIApAQCAtMzc3LDcgKzQxMiw5IEBACiAJLmNvbXBsZXRlZCA9IHJjdV9iaF90b3J0dXJlX2NvbXBsZXRlZCwKIAkuZGVmZXJyZWRmcmVlID0gcmN1X3N5bmNfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAogCS5zeW5jID0gcmN1X2JoX3RvcnR1cmVfc3luY2hyb25pemUsCisJLmNiX2JhcnJpZXIgPSBOVUxMLAogCS5zdGF0cyA9IE5VTEwsCisJLmlycWNhcGFibGUgPSAxLAogCS5uYW1lID0gInJjdV9iaF9zeW5jIgogfTsKIApAQCAtNDU4LDYgKzQ5NSw3IEBACiAJLmNvbXBsZXRlZCA9IHNyY3VfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV9zeW5jX3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKIAkuc3luYyA9IHNyY3VfdG9ydHVyZV9zeW5jaHJvbml6ZSwKKwkuY2JfYmFycmllciA9IE5VTEwsCiAJLnN0YXRzID0gc3JjdV90b3J0dXJlX3N0YXRzLAogCS5uYW1lID0gInNyY3UiCiB9OwpAQCAtNDgyLDYgKzUyMCwxMSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCByY3Vfc2NoZWRfdG9ydHVyZV9kZWZlcnJlZF9mcmVlKHN0cnVjdCByY3VfdG9ydHVyZSAqcCkKK3sKKwljYWxsX3JjdV9zY2hlZCgmcC0+cnRvcnRfcmN1LCByY3VfdG9ydHVyZV9jYik7Cit9CisKIHN0YXRpYyB2b2lkIHNjaGVkX3RvcnR1cmVfc3luY2hyb25pemUodm9pZCkKIHsKIAlzeW5jaHJvbml6ZV9zY2hlZCgpOwpAQCAtNDk0LDEwICs1MzcsMjYgQEAKIAkucmVhZGRlbGF5ID0gcmN1X3JlYWRfZGVsYXksICAvKiBqdXN0IHJldXNlIHJjdSdzIHZlcnNpb24uICovCiAJLnJlYWR1bmxvY2sgPSBzY2hlZF90b3J0dXJlX3JlYWRfdW5sb2NrLAogCS5jb21wbGV0ZWQgPSBzY2hlZF90b3J0dXJlX2NvbXBsZXRlZCwKKwkuZGVmZXJyZWRmcmVlID0gcmN1X3NjaGVkX3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKKwkuc3luYyA9IHNjaGVkX3RvcnR1cmVfc3luY2hyb25pemUsCisJLmNiX2JhcnJpZXIgPSByY3VfYmFycmllcl9zY2hlZCwKKwkuc3RhdHMgPSBOVUxMLAorCS5pcnFjYXBhYmxlID0gMSwKKwkubmFtZSA9ICJzY2hlZCIKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmN1X3RvcnR1cmVfb3BzIHNjaGVkX29wc19zeW5jID0geworCS5pbml0ID0gcmN1X3N5bmNfdG9ydHVyZV9pbml0LAorCS5jbGVhbnVwID0gTlVMTCwKKwkucmVhZGxvY2sgPSBzY2hlZF90b3J0dXJlX3JlYWRfbG9jaywKKwkucmVhZGRlbGF5ID0gcmN1X3JlYWRfZGVsYXksICAvKiBqdXN0IHJldXNlIHJjdSdzIHZlcnNpb24uICovCisJLnJlYWR1bmxvY2sgPSBzY2hlZF90b3J0dXJlX3JlYWRfdW5sb2NrLAorCS5jb21wbGV0ZWQgPSBzY2hlZF90b3J0dXJlX2NvbXBsZXRlZCwKIAkuZGVmZXJyZWRmcmVlID0gcmN1X3N5bmNfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAogCS5zeW5jID0gc2NoZWRfdG9ydHVyZV9zeW5jaHJvbml6ZSwKKwkuY2JfYmFycmllciA9IE5VTEwsCiAJLnN0YXRzID0gTlVMTCwKLQkubmFtZSA9ICJzY2hlZCIKKwkubmFtZSA9ICJzY2hlZF9zeW5jIgogfTsKIAogLyoKQEAgLTUzNyw2ICs1OTYsNyBAQAogCQl9CiAJCXJjdV90b3J0dXJlX2N1cnJlbnRfdmVyc2lvbisrOwogCQlvbGRiYXRjaCA9IGN1cl9vcHMtPmNvbXBsZXRlZCgpOworCQlyY3Vfc3R1dHRlcl93YWl0KCk7CiAJfSB3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSAmJiAhZnVsbHN0b3ApOwogCVZFUkJPU0VfUFJJTlRLX1NUUklORygicmN1X3RvcnR1cmVfd3JpdGVyIHRhc2sgc3RvcHBpbmciKTsKIAl3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkKQEAgLTU2MCw2ICs2MjAsNyBAQAogCQlzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZSgxICsgcmN1X3JhbmRvbSgmcmFuZCklMTApOwogCQl1ZGVsYXkocmN1X3JhbmRvbSgmcmFuZCkgJiAweDNmZik7CiAJCWN1cl9vcHMtPnN5bmMoKTsKKwkJcmN1X3N0dXR0ZXJfd2FpdCgpOwogCX0gd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkgJiYgIWZ1bGxzdG9wKTsKIAogCVZFUkJPU0VfUFJJTlRLX1NUUklORygicmN1X3RvcnR1cmVfZmFrZXdyaXRlciB0YXNrIHN0b3BwaW5nIik7CkBAIC01NjksNiArNjMwLDUyIEBACiB9CiAKIC8qCisgKiBSQ1UgdG9ydHVyZSByZWFkZXIgZnJvbSB0aW1lciBoYW5kbGVyLiAgRGVyZWZlcmVuY2VzIHJjdV90b3J0dXJlX2N1cnJlbnQsCisgKiBpbmNyZW1lbnRpbmcgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBvZiB0aGUgcGlwZWxpbmUgYXJyYXkuICBUaGUKKyAqIGNvdW50ZXIgaW4gdGhlIGVsZW1lbnQgc2hvdWxkIG5ldmVyIGJlIGdyZWF0ZXIgdGhhbiAxLCBvdGhlcndpc2UsIHRoZQorICogUkNVIGltcGxlbWVudGF0aW9uIGlzIGJyb2tlbi4KKyAqLworc3RhdGljIHZvaWQgcmN1X3RvcnR1cmVfdGltZXIodW5zaWduZWQgbG9uZyB1bnVzZWQpCit7CisJaW50IGlkeDsKKwlpbnQgY29tcGxldGVkOworCXN0YXRpYyBERUZJTkVfUkNVX1JBTkRPTShyYW5kKTsKKwlzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHJhbmRfbG9jayk7CisJc3RydWN0IHJjdV90b3J0dXJlICpwOworCWludCBwaXBlX2NvdW50OworCisJaWR4ID0gY3VyX29wcy0+cmVhZGxvY2soKTsKKwljb21wbGV0ZWQgPSBjdXJfb3BzLT5jb21wbGV0ZWQoKTsKKwlwID0gcmN1X2RlcmVmZXJlbmNlKHJjdV90b3J0dXJlX2N1cnJlbnQpOworCWlmIChwID09IE5VTEwpIHsKKwkJLyogTGVhdmUgYmVjYXVzZSByY3VfdG9ydHVyZV93cml0ZXIgaXMgbm90IHlldCB1bmRlcndheSAqLworCQljdXJfb3BzLT5yZWFkdW5sb2NrKGlkeCk7CisJCXJldHVybjsKKwl9CisJaWYgKHAtPnJ0b3J0X21idGVzdCA9PSAwKQorCQlhdG9taWNfaW5jKCZuX3JjdV90b3J0dXJlX21iZXJyb3IpOworCXNwaW5fbG9jaygmcmFuZF9sb2NrKTsKKwljdXJfb3BzLT5yZWFkZGVsYXkoJnJhbmQpOworCW5fcmN1X3RvcnR1cmVfdGltZXJzKys7CisJc3Bpbl91bmxvY2soJnJhbmRfbG9jayk7CisJcHJlZW1wdF9kaXNhYmxlKCk7CisJcGlwZV9jb3VudCA9IHAtPnJ0b3J0X3BpcGVfY291bnQ7CisJaWYgKHBpcGVfY291bnQgPiBSQ1VfVE9SVFVSRV9QSVBFX0xFTikgeworCQkvKiBTaG91bGQgbm90IGhhcHBlbiwgYnV0Li4uICovCisJCXBpcGVfY291bnQgPSBSQ1VfVE9SVFVSRV9QSVBFX0xFTjsKKwl9CisJKytfX2dldF9jcHVfdmFyKHJjdV90b3J0dXJlX2NvdW50KVtwaXBlX2NvdW50XTsKKwljb21wbGV0ZWQgPSBjdXJfb3BzLT5jb21wbGV0ZWQoKSAtIGNvbXBsZXRlZDsKKwlpZiAoY29tcGxldGVkID4gUkNVX1RPUlRVUkVfUElQRV9MRU4pIHsKKwkJLyogU2hvdWxkIG5vdCBoYXBwZW4sIGJ1dC4uLiAqLworCQljb21wbGV0ZWQgPSBSQ1VfVE9SVFVSRV9QSVBFX0xFTjsKKwl9CisJKytfX2dldF9jcHVfdmFyKHJjdV90b3J0dXJlX2JhdGNoKVtjb21wbGV0ZWRdOworCXByZWVtcHRfZW5hYmxlKCk7CisJY3VyX29wcy0+cmVhZHVubG9jayhpZHgpOworfQorCisvKgogICogUkNVIHRvcnR1cmUgcmVhZGVyIGt0aHJlYWQuICBSZXBlYXRlZGx5IGRlcmVmZXJlbmNlcyByY3VfdG9ydHVyZV9jdXJyZW50LAogICogaW5jcmVtZW50aW5nIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnQgb2YgdGhlIHBpcGVsaW5lIGFycmF5LiAgVGhlCiAgKiBjb3VudGVyIGluIHRoZSBlbGVtZW50IHNob3VsZCBuZXZlciBiZSBncmVhdGVyIHRoYW4gMSwgb3RoZXJ3aXNlLCB0aGUKQEAgLTU4MiwxMSArNjg5LDE4IEBACiAJREVGSU5FX1JDVV9SQU5ET00ocmFuZCk7CiAJc3RydWN0IHJjdV90b3J0dXJlICpwOwogCWludCBwaXBlX2NvdW50OworCXN0cnVjdCB0aW1lcl9saXN0IHQ7CiAKIAlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX3JlYWRlciB0YXNrIHN0YXJ0ZWQiKTsKIAlzZXRfdXNlcl9uaWNlKGN1cnJlbnQsIDE5KTsKKwlpZiAoaXJxcmVhZGVyICYmIGN1cl9vcHMtPmlycWNhcGFibGUpCisJCXNldHVwX3RpbWVyX29uX3N0YWNrKCZ0LCByY3VfdG9ydHVyZV90aW1lciwgMCk7CiAKIAlkbyB7CisJCWlmIChpcnFyZWFkZXIgJiYgY3VyX29wcy0+aXJxY2FwYWJsZSkgeworCQkJaWYgKCF0aW1lcl9wZW5kaW5nKCZ0KSkKKwkJCQltb2RfdGltZXIoJnQsIDEpOworCQl9CiAJCWlkeCA9IGN1cl9vcHMtPnJlYWRsb2NrKCk7CiAJCWNvbXBsZXRlZCA9IGN1cl9vcHMtPmNvbXBsZXRlZCgpOwogCQlwID0gcmN1X2RlcmVmZXJlbmNlKHJjdV90b3J0dXJlX2N1cnJlbnQpOwpAQCAtNjE1LDggKzcyOSwxMSBAQAogCQlwcmVlbXB0X2VuYWJsZSgpOwogCQljdXJfb3BzLT5yZWFkdW5sb2NrKGlkeCk7CiAJCXNjaGVkdWxlKCk7CisJCXJjdV9zdHV0dGVyX3dhaXQoKTsKIAl9IHdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpICYmICFmdWxsc3RvcCk7CiAJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJyY3VfdG9ydHVyZV9yZWFkZXIgdGFzayBzdG9wcGluZyIpOworCWlmIChpcnFyZWFkZXIgJiYgY3VyX29wcy0+aXJxY2FwYWJsZSkKKwkJZGVsX3RpbWVyX3N5bmMoJnQpOwogCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKQogCQlzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZSgxKTsKIAlyZXR1cm4gMDsKQEAgLTY0NywyMCArNzY0LDIyIEBACiAJY250ICs9IHNwcmludGYoJnBhZ2VbY250XSwgIiVzJXMgIiwgdG9ydHVyZV90eXBlLCBUT1JUVVJFX0ZMQUcpOwogCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sCiAJCSAgICAgICAicnRjOiAlcCB2ZXI6ICVsZCB0ZmxlOiAlZCBydGE6ICVkIHJ0YWY6ICVkIHJ0ZjogJWQgIgotCQkgICAgICAgInJ0bWJlOiAlZCIsCisJCSAgICAgICAicnRtYmU6ICVkIG50OiAlbGQiLAogCQkgICAgICAgcmN1X3RvcnR1cmVfY3VycmVudCwKIAkJICAgICAgIHJjdV90b3J0dXJlX2N1cnJlbnRfdmVyc2lvbiwKIAkJICAgICAgIGxpc3RfZW1wdHkoJnJjdV90b3J0dXJlX2ZyZWVsaXN0KSwKIAkJICAgICAgIGF0b21pY19yZWFkKCZuX3JjdV90b3J0dXJlX2FsbG9jKSwKIAkJICAgICAgIGF0b21pY19yZWFkKCZuX3JjdV90b3J0dXJlX2FsbG9jX2ZhaWwpLAogCQkgICAgICAgYXRvbWljX3JlYWQoJm5fcmN1X3RvcnR1cmVfZnJlZSksCi0JCSAgICAgICBhdG9taWNfcmVhZCgmbl9yY3VfdG9ydHVyZV9tYmVycm9yKSk7CisJCSAgICAgICBhdG9taWNfcmVhZCgmbl9yY3VfdG9ydHVyZV9tYmVycm9yKSwKKwkJICAgICAgIG5fcmN1X3RvcnR1cmVfdGltZXJzKTsKIAlpZiAoYXRvbWljX3JlYWQoJm5fcmN1X3RvcnR1cmVfbWJlcnJvcikgIT0gMCkKIAkJY250ICs9IHNwcmludGYoJnBhZ2VbY250XSwgIiAhISEiKTsKIAljbnQgKz0gc3ByaW50ZigmcGFnZVtjbnRdLCAiXG4lcyVzICIsIHRvcnR1cmVfdHlwZSwgVE9SVFVSRV9GTEFHKTsKIAlpZiAoaSA+IDEpIHsKIAkJY250ICs9IHNwcmludGYoJnBhZ2VbY250XSwgIiEhISAiKTsKIAkJYXRvbWljX2luYygmbl9yY3VfdG9ydHVyZV9lcnJvcik7CisJCVdBUk5fT05fT05DRSgxKTsKIAl9CiAJY250ICs9IHNwcmludGYoJnBhZ2VbY250XSwgIlJlYWRlciBQaXBlOiAiKTsKIAlmb3IgKGkgPSAwOyBpIDwgUkNVX1RPUlRVUkVfUElQRV9MRU4gKyAxOyBpKyspCkBAIC03ODUsMTUgKzkwNCwzNCBAQAogCXJldHVybiAwOwogfQogCisvKiBDYXVzZSB0aGUgcmN1dG9ydHVyZSB0ZXN0IHRvICJzdHV0dGVyIiwgc3RhcnRpbmcgYW5kIHN0b3BwaW5nIGFsbAorICogdGhyZWFkcyBwZXJpb2RpY2FsbHkuCisgKi8KK3N0YXRpYyBpbnQKK3JjdV90b3J0dXJlX3N0dXR0ZXIodm9pZCAqYXJnKQoreworCVZFUkJPU0VfUFJJTlRLX1NUUklORygicmN1X3RvcnR1cmVfc3R1dHRlciB0YXNrIHN0YXJ0ZWQiKTsKKwlkbyB7CisJCXNjaGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZShzdHV0dGVyICogSFopOworCQlzdHV0dGVyX3BhdXNlX3Rlc3QgPSAxOworCQlpZiAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkKKwkJCXNjaGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZShzdHV0dGVyICogSFopOworCQlzdHV0dGVyX3BhdXNlX3Rlc3QgPSAwOworCX0gd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpOworCVZFUkJPU0VfUFJJTlRLX1NUUklORygicmN1X3RvcnR1cmVfc3R1dHRlciB0YXNrIHN0b3BwaW5nIik7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZAogcmN1X3RvcnR1cmVfcHJpbnRfbW9kdWxlX3Bhcm1zKGNoYXIgKnRhZykKIHsKIAlwcmludGsoS0VSTl9BTEVSVCAiJXMiIFRPUlRVUkVfRkxBRwogCQkiLS0tICVzOiBucmVhZGVycz0lZCBuZmFrZXdyaXRlcnM9JWQgIgogCQkic3RhdF9pbnRlcnZhbD0lZCB2ZXJib3NlPSVkIHRlc3Rfbm9faWRsZV9oej0lZCAiCi0JCSJzaHVmZmxlX2ludGVydmFsID0gJWRcbiIsCisJCSJzaHVmZmxlX2ludGVydmFsPSVkIHN0dXR0ZXI9JWQgaXJxcmVhZGVyPSVkXG4iLAogCQl0b3J0dXJlX3R5cGUsIHRhZywgbnJlYWxyZWFkZXJzLCBuZmFrZXdyaXRlcnMsCi0JCXN0YXRfaW50ZXJ2YWwsIHZlcmJvc2UsIHRlc3Rfbm9faWRsZV9oeiwgc2h1ZmZsZV9pbnRlcnZhbCk7CisJCXN0YXRfaW50ZXJ2YWwsIHZlcmJvc2UsIHRlc3Rfbm9faWRsZV9oeiwgc2h1ZmZsZV9pbnRlcnZhbCwKKwkJc3R1dHRlciwgaXJxcmVhZGVyKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTgwMiw2ICs5NDAsMTEgQEAKIAlpbnQgaTsKIAogCWZ1bGxzdG9wID0gMTsKKwlpZiAoc3R1dHRlcl90YXNrKSB7CisJCVZFUkJPU0VfUFJJTlRLX1NUUklORygiU3RvcHBpbmcgcmN1X3RvcnR1cmVfc3R1dHRlciB0YXNrIik7CisJCWt0aHJlYWRfc3RvcChzdHV0dGVyX3Rhc2spOworCX0KKwlzdHV0dGVyX3Rhc2sgPSBOVUxMOwogCWlmIChzaHVmZmxlcl90YXNrKSB7CiAJCVZFUkJPU0VfUFJJTlRLX1NUUklORygiU3RvcHBpbmcgcmN1X3RvcnR1cmVfc2h1ZmZsZSB0YXNrIik7CiAJCWt0aHJlYWRfc3RvcChzaHVmZmxlcl90YXNrKTsKQEAgLTg0OCw3ICs5OTEsOSBAQAogCXN0YXRzX3Rhc2sgPSBOVUxMOwogCiAJLyogV2FpdCBmb3IgYWxsIFJDVSBjYWxsYmFja3MgdG8gZmlyZS4gICovCi0JcmN1X2JhcnJpZXIoKTsKKworCWlmIChjdXJfb3BzLT5jYl9iYXJyaWVyICE9IE5VTEwpCisJCWN1cl9vcHMtPmNiX2JhcnJpZXIoKTsKIAogCXJjdV90b3J0dXJlX3N0YXRzX3ByaW50KCk7ICAvKiAtQWZ0ZXItIHRoZSBzdGF0cyB0aHJlYWQgaXMgc3RvcHBlZCEgKi8KIApAQCAtODY4LDcgKzEwMTMsNyBAQAogCWludCBmaXJzdGVyciA9IDA7CiAJc3RhdGljIHN0cnVjdCByY3VfdG9ydHVyZV9vcHMgKnRvcnR1cmVfb3BzW10gPQogCQl7ICZyY3Vfb3BzLCAmcmN1X3N5bmNfb3BzLCAmcmN1X2JoX29wcywgJnJjdV9iaF9zeW5jX29wcywKLQkJICAmc3JjdV9vcHMsICZzY2hlZF9vcHMsIH07CisJCSAgJnNyY3Vfb3BzLCAmc2NoZWRfb3BzLCAmc2NoZWRfb3BzX3N5bmMsIH07CiAKIAkvKiBQcm9jZXNzIGFyZ3MgYW5kIHRlbGwgdGhlIHdvcmxkIHRoYXQgdGhlIHRvcnR1cmVyIGlzIG9uIHRoZSBqb2IuICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9ydHVyZV9vcHMpOyBpKyspIHsKQEAgLTk4OCw2ICsxMTMzLDE5IEBACiAJCQlnb3RvIHVud2luZDsKIAkJfQogCX0KKwlpZiAoc3R1dHRlciA8IDApCisJCXN0dXR0ZXIgPSAwOworCWlmIChzdHV0dGVyKSB7CisJCS8qIENyZWF0ZSB0aGUgc3R1dHRlciB0aHJlYWQgKi8KKwkJc3R1dHRlcl90YXNrID0ga3RocmVhZF9ydW4ocmN1X3RvcnR1cmVfc3R1dHRlciwgTlVMTCwKKwkJCQkJICAicmN1X3RvcnR1cmVfc3R1dHRlciIpOworCQlpZiAoSVNfRVJSKHN0dXR0ZXJfdGFzaykpIHsKKwkJCWZpcnN0ZXJyID0gUFRSX0VSUihzdHV0dGVyX3Rhc2spOworCQkJVkVSQk9TRV9QUklOVEtfRVJSU1RSSU5HKCJGYWlsZWQgdG8gY3JlYXRlIHN0dXR0ZXIiKTsKKwkJCXN0dXR0ZXJfdGFzayA9IE5VTEw7CisJCQlnb3RvIHVud2luZDsKKwkJfQorCX0KIAlyZXR1cm4gMDsKIAogdW53aW5kOgpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkLmMgYi9rZXJuZWwvc2NoZWQuYwppbmRleCA5NGVhZDQzLi45OWU2ZDg1IDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWQuYworKysgYi9rZXJuZWwvc2NoZWQuYwpAQCAtNzAsMTAgKzcwLDEzIEBACiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgogCiAjaW5jbHVkZSA8YXNtL3RsYi5oPgogI2luY2x1ZGUgPGFzbS9pcnFfcmVncy5oPgogCisjaW5jbHVkZSAic2NoZWRfY3B1cHJpLmgiCisKIC8qCiAgKiBDb252ZXJ0IHVzZXItbmljZSB2YWx1ZXMgWyAtMjAgLi4uIDAgLi4uIDE5IF0KICAqIHRvIHN0YXRpYyBwcmlvcml0eSBbIE1BWF9SVF9QUklPLi5NQVhfUFJJTy0xIF0sCkBAIC0yODksMTUgKzI5MiwxNSBAQAogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBzY2hlZF9lbnRpdHksIGluaXRfc2NoZWRfZW50aXR5KTsKIC8qIERlZmF1bHQgdGFzayBncm91cCdzIGNmc19ycSBvbiBlYWNoIGNwdSAqLwogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBjZnNfcnEsIGluaXRfY2ZzX3JxKSBfX19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wOwotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIAogI2lmZGVmIENPTkZJR19SVF9HUk9VUF9TQ0hFRAogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBzY2hlZF9ydF9lbnRpdHksIGluaXRfc2NoZWRfcnRfZW50aXR5KTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgcnRfcnEsIGluaXRfcnRfcnEpIF9fX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXA7Ci0jZW5kaWYKLSNlbHNlCisjZW5kaWYgLyogQ09ORklHX1JUX0dST1VQX1NDSEVEICovCisjZWxzZSAvKiAhQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KICNkZWZpbmUgcm9vdF90YXNrX2dyb3VwIGluaXRfdGFza19ncm91cAotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIAogLyogdGFza19ncm91cF9sb2NrIHNlcmlhbGl6ZXMgYWRkL3JlbW92ZSBvZiB0YXNrIGdyb3VwcyBhbmQgYWxzbyBjaGFuZ2VzIHRvCiAgKiBhIHRhc2sgZ3JvdXAncyBjcHUgc2hhcmVzLgpAQCAtMzA3LDkgKzMxMCw5IEBACiAjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKICNpZmRlZiBDT05GSUdfVVNFUl9TQ0hFRAogIyBkZWZpbmUgSU5JVF9UQVNLX0dST1VQX0xPQUQJKDIqTklDRV8wX0xPQUQpCi0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19VU0VSX1NDSEVEICovCiAjIGRlZmluZSBJTklUX1RBU0tfR1JPVVBfTE9BRAlOSUNFXzBfTE9BRAotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1VTRVJfU0NIRUQgKi8KIAogLyoKICAqIEEgd2VpZ2h0IG9mIDAgb3IgMSBjYW4gY2F1c2UgYXJpdGhtZXRpY3MgcHJvYmxlbXMuCkBAIC0zNjMsNiArMzY2LDEwIEBACiAjZWxzZQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Rhc2tfcnEoc3RydWN0IHRhc2tfc3RydWN0ICpwLCB1bnNpZ25lZCBpbnQgY3B1KSB7IH0KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRhc2tfZ3JvdXAgKnRhc2tfZ3JvdXAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiBOVUxMOworfQogCiAjZW5kaWYJLyogQ09ORklHX0dST1VQX1NDSEVEICovCiAKQEAgLTM3Myw2ICszODAsNyBAQAogCiAJdTY0IGV4ZWNfY2xvY2s7CiAJdTY0IG1pbl92cnVudGltZTsKKwl1NjQgcGFpcl9zdGFydDsKIAogCXN0cnVjdCByYl9yb290IHRhc2tzX3RpbWVsaW5lOwogCXN0cnVjdCByYl9ub2RlICpyYl9sZWZ0bW9zdDsKQEAgLTQwMSw2ICs0MDksMzEgQEAKIAkgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGxlYWZfY2ZzX3JxX2xpc3Q7CiAJc3RydWN0IHRhc2tfZ3JvdXAgKnRnOwkvKiBncm91cCB0aGF0ICJvd25zIiB0aGlzIHJ1bnF1ZXVlICovCisKKyNpZmRlZiBDT05GSUdfU01QCisJLyoKKwkgKiB0aGUgcGFydCBvZiBsb2FkLndlaWdodCBjb250cmlidXRlZCBieSB0YXNrcworCSAqLworCXVuc2lnbmVkIGxvbmcgdGFza193ZWlnaHQ7CisKKwkvKgorCSAqICAgaF9sb2FkID0gd2VpZ2h0ICogZih0ZykKKwkgKgorCSAqIFdoZXJlIGYodGcpIGlzIHRoZSByZWN1cnNpdmUgd2VpZ2h0IGZyYWN0aW9uIGFzc2lnbmVkIHRvCisJICogdGhpcyBncm91cC4KKwkgKi8KKwl1bnNpZ25lZCBsb25nIGhfbG9hZDsKKworCS8qCisJICogdGhpcyBjcHUncyBwYXJ0IG9mIHRnLT5zaGFyZXMKKwkgKi8KKwl1bnNpZ25lZCBsb25nIHNoYXJlczsKKworCS8qCisJICogbG9hZC53ZWlnaHQgYXQgdGhlIHRpbWUgd2Ugc2V0IHNoYXJlcworCSAqLworCXVuc2lnbmVkIGxvbmcgcnFfd2VpZ2h0OworI2VuZGlmCiAjZW5kaWYKIH07CiAKQEAgLTQ1Miw2ICs0ODUsOSBAQAogCSAqLwogCWNwdW1hc2tfdCBydG9fbWFzazsKIAlhdG9taWNfdCBydG9fY291bnQ7CisjaWZkZWYgQ09ORklHX1NNUAorCXN0cnVjdCBjcHVwcmkgY3B1cHJpOworI2VuZGlmCiB9OwogCiAvKgpAQCAtNTI2LDYgKzU2Miw5IEBACiAJaW50IHB1c2hfY3B1OwogCS8qIGNwdSBvZiB0aGlzIHJ1bnF1ZXVlOiAqLwogCWludCBjcHU7CisJaW50IG9ubGluZTsKKworCXVuc2lnbmVkIGxvbmcgYXZnX2xvYWRfcGVyX3Rhc2s7CiAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm1pZ3JhdGlvbl90aHJlYWQ7CiAJc3RydWN0IGxpc3RfaGVhZCBtaWdyYXRpb25fcXVldWU7CkBAIC02MDcsNiArNjQ2LDI0IEBACiAjIGRlZmluZSBjb25zdF9kZWJ1ZyBzdGF0aWMgY29uc3QKICNlbmRpZgogCisvKioKKyAqIHJ1bnF1ZXVlX2lzX2xvY2tlZAorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBjcHUgcnVucXVldWUgaXMgbG9ja2VkLgorICogVGhpcyBpbnRlcmZhY2UgYWxsb3dzIHByaW50ayB0byBiZSBjYWxsZWQgd2l0aCB0aGUgcnVucXVldWUgbG9jaworICogaGVsZCBhbmQga25vdyB3aGV0aGVyIG9yIG5vdCBpdCBpcyBPSyB0byB3YWtlIHVwIHRoZSBrbG9nZC4KKyAqLworaW50IHJ1bnF1ZXVlX2lzX2xvY2tlZCh2b2lkKQoreworCWludCBjcHUgPSBnZXRfY3B1KCk7CisJc3RydWN0IHJxICpycSA9IGNwdV9ycShjcHUpOworCWludCByZXQ7CisKKwlyZXQgPSBzcGluX2lzX2xvY2tlZCgmcnEtPmxvY2spOworCXB1dF9jcHUoKTsKKwlyZXR1cm4gcmV0OworfQorCiAvKgogICogRGVidWdnaW5nOiB2YXJpb3VzIGZlYXR1cmUgYml0cwogICovCkBAIC03NDksNiArODA2LDEyIEBACiBjb25zdF9kZWJ1ZyB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX25yX21pZ3JhdGUgPSAzMjsKIAogLyoKKyAqIHJhdGVsaW1pdCBmb3IgdXBkYXRpbmcgdGhlIGdyb3VwIHNoYXJlcy4KKyAqIGRlZmF1bHQ6IDAuNW1zCisgKi8KK2NvbnN0X2RlYnVnIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfc2hhcmVzX3JhdGVsaW1pdCA9IDUwMDAwMDsKKworLyoKICAqIHBlcmlvZCBvdmVyIHdoaWNoIHdlIG1lYXN1cmUgLXJ0IHRhc2sgY3B1IHVzYWdlIGluIHVzLgogICogZGVmYXVsdDogMXMKICAqLwpAQCAtNzc1LDgyICs4MzgsNiBAQAogCXJldHVybiAodTY0KXN5c2N0bF9zY2hlZF9ydF9ydW50aW1lICogTlNFQ19QRVJfVVNFQzsKIH0KIAotdW5zaWduZWQgbG9uZyBsb25nIHRpbWVfc3luY190aHJlc2ggPSAxMDAwMDA7Ci0KLXN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nIGxvbmcsIHRpbWVfb2Zmc2V0KTsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nIGxvbmcsIHByZXZfY3B1X3RpbWUpOwotCi0vKgotICogR2xvYmFsIGxvY2sgd2hpY2ggd2UgdGFrZSBldmVyeSBub3cgYW5kIHRoZW4gdG8gc3luY2hyb25pemUKLSAqIHRoZSBDUFVzIHRpbWUuIFRoaXMgbWV0aG9kIGlzIG5vdCB3YXJwLXNhZmUsIGJ1dCBpdCdzIGdvb2QKLSAqIGVub3VnaCB0byBzeW5jaHJvbml6ZSBzbG93bHkgZGl2ZXJnaW5nIHRpbWUgc291cmNlcyBhbmQgdGh1cwotICogaXQncyBnb29kIGVub3VnaCBmb3IgdHJhY2luZzoKLSAqLwotc3RhdGljIERFRklORV9TUElOTE9DSyh0aW1lX3N5bmNfbG9jayk7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIHByZXZfZ2xvYmFsX3RpbWU7Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgX19zeW5jX2NwdV9jbG9jayh1bnNpZ25lZCBsb25nIGxvbmcgdGltZSwgaW50IGNwdSkKLXsKLQkvKgotCSAqIFdlIHdhbnQgdGhpcyBpbmxpbmVkLCB0byBub3QgZ2V0IHRyYWNlciBmdW5jdGlvbiBjYWxscwotCSAqIGluIHRoaXMgY3JpdGljYWwgc2VjdGlvbjoKLQkgKi8KLQlzcGluX2FjcXVpcmUoJnRpbWVfc3luY19sb2NrLmRlcF9tYXAsIDAsIDAsIF9USElTX0lQXyk7Ci0JX19yYXdfc3Bpbl9sb2NrKCZ0aW1lX3N5bmNfbG9jay5yYXdfbG9jayk7Ci0KLQlpZiAodGltZSA8IHByZXZfZ2xvYmFsX3RpbWUpIHsKLQkJcGVyX2NwdSh0aW1lX29mZnNldCwgY3B1KSArPSBwcmV2X2dsb2JhbF90aW1lIC0gdGltZTsKLQkJdGltZSA9IHByZXZfZ2xvYmFsX3RpbWU7Ci0JfSBlbHNlIHsKLQkJcHJldl9nbG9iYWxfdGltZSA9IHRpbWU7Ci0JfQotCi0JX19yYXdfc3Bpbl91bmxvY2soJnRpbWVfc3luY19sb2NrLnJhd19sb2NrKTsKLQlzcGluX3JlbGVhc2UoJnRpbWVfc3luY19sb2NrLmRlcF9tYXAsIDEsIF9USElTX0lQXyk7Ci0KLQlyZXR1cm4gdGltZTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBfX2NwdV9jbG9jayhpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBub3c7Ci0KLQkvKgotCSAqIE9ubHkgY2FsbCBzY2hlZF9jbG9jaygpIGlmIHRoZSBzY2hlZHVsZXIgaGFzIGFscmVhZHkgYmVlbgotCSAqIGluaXRpYWxpemVkIChzb21lIGNvZGUgbWlnaHQgY2FsbCBjcHVfY2xvY2soKSB2ZXJ5IGVhcmx5KToKLQkgKi8KLQlpZiAodW5saWtlbHkoIXNjaGVkdWxlcl9ydW5uaW5nKSkKLQkJcmV0dXJuIDA7Ci0KLQlub3cgPSBzY2hlZF9jbG9ja19jcHUoY3B1KTsKLQotCXJldHVybiBub3c7Ci19Ci0KLS8qCi0gKiBGb3Iga2VybmVsLWludGVybmFsIHVzZTogaGlnaC1zcGVlZCAoYnV0IHNsaWdodGx5IGluY29ycmVjdCkgcGVyLWNwdQotICogY2xvY2sgY29uc3RydWN0ZWQgZnJvbSBzY2hlZF9jbG9jaygpOgotICovCi11bnNpZ25lZCBsb25nIGxvbmcgY3B1X2Nsb2NrKGludCBjcHUpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHByZXZfY3B1X3RpbWUsIHRpbWUsIGRlbHRhX3RpbWU7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQlwcmV2X2NwdV90aW1lID0gcGVyX2NwdShwcmV2X2NwdV90aW1lLCBjcHUpOwotCXRpbWUgPSBfX2NwdV9jbG9jayhjcHUpICsgcGVyX2NwdSh0aW1lX29mZnNldCwgY3B1KTsKLQlkZWx0YV90aW1lID0gdGltZS1wcmV2X2NwdV90aW1lOwotCi0JaWYgKHVubGlrZWx5KGRlbHRhX3RpbWUgPiB0aW1lX3N5bmNfdGhyZXNoKSkgewotCQl0aW1lID0gX19zeW5jX2NwdV9jbG9jayh0aW1lLCBjcHUpOwotCQlwZXJfY3B1KHByZXZfY3B1X3RpbWUsIGNwdSkgPSB0aW1lOwotCX0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0KLQlyZXR1cm4gdGltZTsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGNwdV9jbG9jayk7Ci0KICNpZm5kZWYgcHJlcGFyZV9hcmNoX3N3aXRjaAogIyBkZWZpbmUgcHJlcGFyZV9hcmNoX3N3aXRjaChuZXh0KQlkbyB7IH0gd2hpbGUgKDApCiAjZW5kaWYKQEAgLTEzMTMsMTUgKzEzMDAsMTUgQEAKIAlpZiAoIXRza19pc19wb2xsaW5nKHJxLT5pZGxlKSkKIAkJc21wX3NlbmRfcmVzY2hlZHVsZShjcHUpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX05PX0haICovCiAKLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1NNUCAqLwogc3RhdGljIHZvaWQgX19yZXNjaGVkX3Rhc2soc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgdGlmX2JpdCkKIHsKIAlhc3NlcnRfc3Bpbl9sb2NrZWQoJnRhc2tfcnEocCktPmxvY2spOwogCXNldF90c2tfdGhyZWFkX2ZsYWcocCwgdGlmX2JpdCk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKICNpZiBCSVRTX1BFUl9MT05HID09IDMyCiAjIGRlZmluZSBXTVVMVF9DT05TVAkofjBVTCkKQEAgLTEzMzYsNiArMTMyMyw5IEBACiAgKi8KICNkZWZpbmUgU1JSKHgsIHkpICgoKHgpICsgKDFVTCA8PCAoKHkpIC0gMSkpKSA+PiAoeSkpCiAKKy8qCisgKiBkZWx0YSAqPSB3ZWlnaHQgLyBsdworICovCiBzdGF0aWMgdW5zaWduZWQgbG9uZwogY2FsY19kZWx0YV9taW5lKHVuc2lnbmVkIGxvbmcgZGVsdGFfZXhlYywgdW5zaWduZWQgbG9uZyB3ZWlnaHQsCiAJCXN0cnVjdCBsb2FkX3dlaWdodCAqbHcpCkBAIC0xMzYzLDEyICsxMzUzLDYgQEAKIAlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpbWluKHRtcCwgKHU2NCkodW5zaWduZWQgbG9uZylMT05HX01BWCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZwotY2FsY19kZWx0YV9mYWlyKHVuc2lnbmVkIGxvbmcgZGVsdGFfZXhlYywgc3RydWN0IGxvYWRfd2VpZ2h0ICpsdykKLXsKLQlyZXR1cm4gY2FsY19kZWx0YV9taW5lKGRlbHRhX2V4ZWMsIE5JQ0VfMF9MT0FELCBsdyk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfbG9hZF9hZGQoc3RydWN0IGxvYWRfd2VpZ2h0ICpsdywgdW5zaWduZWQgbG9uZyBpbmMpCiB7CiAJbHctPndlaWdodCArPSBpbmM7CkBAIC0xNDc5LDE4ICsxNDYzLDIxMiBAQAogI2lmZGVmIENPTkZJR19TTVAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHNvdXJjZV9sb2FkKGludCBjcHUsIGludCB0eXBlKTsKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHRhcmdldF9sb2FkKGludCBjcHUsIGludCB0eXBlKTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGNwdV9hdmdfbG9hZF9wZXJfdGFzayhpbnQgY3B1KTsKIHN0YXRpYyBpbnQgdGFza19ob3Qoc3RydWN0IHRhc2tfc3RydWN0ICpwLCB1NjQgbm93LCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCk7Ci0jZWxzZSAvKiBDT05GSUdfU01QICovCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNwdV9hdmdfbG9hZF9wZXJfdGFzayhpbnQgY3B1KQoreworCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKKworCWlmIChycS0+bnJfcnVubmluZykKKwkJcnEtPmF2Z19sb2FkX3Blcl90YXNrID0gcnEtPmxvYWQud2VpZ2h0IC8gcnEtPm5yX3J1bm5pbmc7CisKKwlyZXR1cm4gcnEtPmF2Z19sb2FkX3Blcl90YXNrOworfQorCisjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKKwordHlwZWRlZiB2b2lkICgqdGdfdmlzaXRvcikoc3RydWN0IHRhc2tfZ3JvdXAgKiwgaW50LCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICopOworCisvKgorICogSXRlcmF0ZSB0aGUgZnVsbCB0cmVlLCBjYWxsaW5nIEBkb3duIHdoZW4gZmlyc3QgZW50ZXJpbmcgYSBub2RlIGFuZCBAdXAgd2hlbgorICogbGVhdmluZyBpdCBmb3IgdGhlIGZpbmFsIHRpbWUuCisgKi8KK3N0YXRpYyB2b2lkCit3YWxrX3RnX3RyZWUodGdfdmlzaXRvciBkb3duLCB0Z192aXNpdG9yIHVwLCBpbnQgY3B1LCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKKwlzdHJ1Y3QgdGFza19ncm91cCAqcGFyZW50LCAqY2hpbGQ7CisKKwlyY3VfcmVhZF9sb2NrKCk7CisJcGFyZW50ID0gJnJvb3RfdGFza19ncm91cDsKK2Rvd246CisJKCpkb3duKShwYXJlbnQsIGNwdSwgc2QpOworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KGNoaWxkLCAmcGFyZW50LT5jaGlsZHJlbiwgc2libGluZ3MpIHsKKwkJcGFyZW50ID0gY2hpbGQ7CisJCWdvdG8gZG93bjsKKwordXA6CisJCWNvbnRpbnVlOworCX0KKwkoKnVwKShwYXJlbnQsIGNwdSwgc2QpOworCisJY2hpbGQgPSBwYXJlbnQ7CisJcGFyZW50ID0gcGFyZW50LT5wYXJlbnQ7CisJaWYgKHBhcmVudCkKKwkJZ290byB1cDsKKwlyY3VfcmVhZF91bmxvY2soKTsKK30KKworc3RhdGljIHZvaWQgX19zZXRfc2Vfc2hhcmVzKHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlLCB1bnNpZ25lZCBsb25nIHNoYXJlcyk7CisKKy8qCisgKiBDYWxjdWxhdGUgYW5kIHNldCB0aGUgY3B1J3MgZ3JvdXAgc2hhcmVzLgorICovCitzdGF0aWMgdm9pZAorX191cGRhdGVfZ3JvdXBfc2hhcmVzX2NwdShzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsCisJCQkgIHVuc2lnbmVkIGxvbmcgc2Rfc2hhcmVzLCB1bnNpZ25lZCBsb25nIHNkX3JxX3dlaWdodCkKK3sKKwlpbnQgYm9vc3QgPSAwOworCXVuc2lnbmVkIGxvbmcgc2hhcmVzOworCXVuc2lnbmVkIGxvbmcgcnFfd2VpZ2h0OworCisJaWYgKCF0Zy0+c2VbY3B1XSkKKwkJcmV0dXJuOworCisJcnFfd2VpZ2h0ID0gdGctPmNmc19ycVtjcHVdLT5sb2FkLndlaWdodDsKKworCS8qCisJICogSWYgdGhlcmUgYXJlIGN1cnJlbnRseSBubyB0YXNrcyBvbiB0aGUgY3B1IHByZXRlbmQgdGhlcmUgaXMgb25lIG9mCisJICogYXZlcmFnZSBsb2FkIHNvIHRoYXQgd2hlbiBhIG5ldyB0YXNrIGdldHMgdG8gcnVuIGhlcmUgaXQgd2lsbCBub3QKKwkgKiBnZXQgZGVsYXllZCBieSBncm91cCBzdGFydmF0aW9uLgorCSAqLworCWlmICghcnFfd2VpZ2h0KSB7CisJCWJvb3N0ID0gMTsKKwkJcnFfd2VpZ2h0ID0gTklDRV8wX0xPQUQ7CisJfQorCisJaWYgKHVubGlrZWx5KHJxX3dlaWdodCA+IHNkX3JxX3dlaWdodCkpCisJCXJxX3dlaWdodCA9IHNkX3JxX3dlaWdodDsKKworCS8qCisJICogICAgICAgICAgIFxTdW0gc2hhcmVzICogcnFfd2VpZ2h0CisJICogc2hhcmVzID0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJICogICAgICAgICAgICAgICBcU3VtIHJxX3dlaWdodAorCSAqCisJICovCisJc2hhcmVzID0gKHNkX3NoYXJlcyAqIHJxX3dlaWdodCkgLyAoc2RfcnFfd2VpZ2h0ICsgMSk7CisKKwkvKgorCSAqIHJlY29yZCB0aGUgYWN0dWFsIG51bWJlciBvZiBzaGFyZXMsIG5vdCB0aGUgYm9vc3RlZCBhbW91bnQuCisJICovCisJdGctPmNmc19ycVtjcHVdLT5zaGFyZXMgPSBib29zdCA/IDAgOiBzaGFyZXM7CisJdGctPmNmc19ycVtjcHVdLT5ycV93ZWlnaHQgPSBycV93ZWlnaHQ7CisKKwlpZiAoc2hhcmVzIDwgTUlOX1NIQVJFUykKKwkJc2hhcmVzID0gTUlOX1NIQVJFUzsKKwllbHNlIGlmIChzaGFyZXMgPiBNQVhfU0hBUkVTKQorCQlzaGFyZXMgPSBNQVhfU0hBUkVTOworCisJX19zZXRfc2Vfc2hhcmVzKHRnLT5zZVtjcHVdLCBzaGFyZXMpOworfQorCisvKgorICogUmUtY29tcHV0ZSB0aGUgdGFzayBncm91cCB0aGVpciBwZXIgY3B1IHNoYXJlcyBvdmVyIHRoZSBnaXZlbiBkb21haW4uCisgKiBUaGlzIG5lZWRzIHRvIGJlIGRvbmUgaW4gYSBib3R0b20tdXAgZmFzaGlvbiBiZWNhdXNlIHRoZSBycSB3ZWlnaHQgb2YgYQorICogcGFyZW50IGdyb3VwIGRlcGVuZHMgb24gdGhlIHNoYXJlcyBvZiBpdHMgY2hpbGQgZ3JvdXBzLgorICovCitzdGF0aWMgdm9pZAordGdfc2hhcmVzX3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7CisJdW5zaWduZWQgbG9uZyBycV93ZWlnaHQgPSAwOworCXVuc2lnbmVkIGxvbmcgc2hhcmVzID0gMDsKKwlpbnQgaTsKKworCWZvcl9lYWNoX2NwdV9tYXNrKGksIHNkLT5zcGFuKSB7CisJCXJxX3dlaWdodCArPSB0Zy0+Y2ZzX3JxW2ldLT5sb2FkLndlaWdodDsKKwkJc2hhcmVzICs9IHRnLT5jZnNfcnFbaV0tPnNoYXJlczsKKwl9CisKKwlpZiAoKCFzaGFyZXMgJiYgcnFfd2VpZ2h0KSB8fCBzaGFyZXMgPiB0Zy0+c2hhcmVzKQorCQlzaGFyZXMgPSB0Zy0+c2hhcmVzOworCisJaWYgKCFzZC0+cGFyZW50IHx8ICEoc2QtPnBhcmVudC0+ZmxhZ3MgJiBTRF9MT0FEX0JBTEFOQ0UpKQorCQlzaGFyZXMgPSB0Zy0+c2hhcmVzOworCisJaWYgKCFycV93ZWlnaHQpCisJCXJxX3dlaWdodCA9IGNwdXNfd2VpZ2h0KHNkLT5zcGFuKSAqIE5JQ0VfMF9MT0FEOworCisJZm9yX2VhY2hfY3B1X21hc2soaSwgc2QtPnNwYW4pIHsKKwkJc3RydWN0IHJxICpycSA9IGNwdV9ycShpKTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwkJX191cGRhdGVfZ3JvdXBfc2hhcmVzX2NwdSh0ZywgaSwgc2hhcmVzLCBycV93ZWlnaHQpOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZycS0+bG9jaywgZmxhZ3MpOworCX0KK30KKworLyoKKyAqIENvbXB1dGUgdGhlIGNwdSdzIGhpZXJhcmNoaWNhbCBsb2FkIGZhY3RvciBmb3IgZWFjaCB0YXNrIGdyb3VwLgorICogVGhpcyBuZWVkcyB0byBiZSBkb25lIGluIGEgdG9wLWRvd24gZmFzaGlvbiBiZWNhdXNlIHRoZSBsb2FkIG9mIGEgY2hpbGQKKyAqIGdyb3VwIGlzIGEgZnJhY3Rpb24gb2YgaXRzIHBhcmVudHMgbG9hZC4KKyAqLworc3RhdGljIHZvaWQKK3RnX2xvYWRfZG93bihzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXVuc2lnbmVkIGxvbmcgbG9hZDsKKworCWlmICghdGctPnBhcmVudCkgeworCQlsb2FkID0gY3B1X3JxKGNwdSktPmxvYWQud2VpZ2h0OworCX0gZWxzZSB7CisJCWxvYWQgPSB0Zy0+cGFyZW50LT5jZnNfcnFbY3B1XS0+aF9sb2FkOworCQlsb2FkICo9IHRnLT5jZnNfcnFbY3B1XS0+c2hhcmVzOworCQlsb2FkIC89IHRnLT5wYXJlbnQtPmNmc19ycVtjcHVdLT5sb2FkLndlaWdodCArIDE7CisJfQorCisJdGctPmNmc19ycVtjcHVdLT5oX2xvYWQgPSBsb2FkOworfQorCitzdGF0aWMgdm9pZAordGdfbm9wKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9zaGFyZXMoc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7CisJdTY0IG5vdyA9IGNwdV9jbG9jayhyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlzNjQgZWxhcHNlZCA9IG5vdyAtIHNkLT5sYXN0X3VwZGF0ZTsKKworCWlmIChlbGFwc2VkID49IChzNjQpKHU2NClzeXNjdGxfc2NoZWRfc2hhcmVzX3JhdGVsaW1pdCkgeworCQlzZC0+bGFzdF91cGRhdGUgPSBub3c7CisJCXdhbGtfdGdfdHJlZSh0Z19ub3AsIHRnX3NoYXJlc191cCwgMCwgc2QpOworCX0KK30KKworc3RhdGljIHZvaWQgdXBkYXRlX3NoYXJlc19sb2NrZWQoc3RydWN0IHJxICpycSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7CisJc3Bpbl91bmxvY2soJnJxLT5sb2NrKTsKKwl1cGRhdGVfc2hhcmVzKHNkKTsKKwlzcGluX2xvY2soJnJxLT5sb2NrKTsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlX2hfbG9hZChpbnQgY3B1KQoreworCXdhbGtfdGdfdHJlZSh0Z19sb2FkX2Rvd24sIHRnX25vcCwgY3B1LCBOVUxMKTsKK30KKworI2Vsc2UKKworc3RhdGljIGlubGluZSB2b2lkIHVwZGF0ZV9zaGFyZXMoc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfc2hhcmVzX2xvY2tlZChzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKK30KKworI2VuZGlmCisKKyNlbmRpZgogCiAjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKIHN0YXRpYyB2b2lkIGNmc19ycV9zZXRfc2hhcmVzKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpCiB7CisjaWZkZWYgQ09ORklHX1NNUAorCWNmc19ycS0+c2hhcmVzID0gc2hhcmVzOworI2VuZGlmCiB9CiAjZW5kaWYKIAotI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KLQogI2luY2x1ZGUgInNjaGVkX3N0YXRzLmgiCiAjaW5jbHVkZSAic2NoZWRfaWRsZXRhc2suYyIKICNpbmNsdWRlICJzY2hlZF9mYWlyLmMiCkBAIC0xNTAwLDI3ICsxNjc4LDE3IEBACiAjZW5kaWYKIAogI2RlZmluZSBzY2hlZF9jbGFzc19oaWdoZXN0ICgmcnRfc2NoZWRfY2xhc3MpCisjZGVmaW5lIGZvcl9lYWNoX2NsYXNzKGNsYXNzKSBcCisgICBmb3IgKGNsYXNzID0gc2NoZWRfY2xhc3NfaGlnaGVzdDsgY2xhc3M7IGNsYXNzID0gY2xhc3MtPm5leHQpCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBpbmNfbG9hZChzdHJ1Y3QgcnEgKnJxLCBjb25zdCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JdXBkYXRlX2xvYWRfYWRkKCZycS0+bG9hZCwgcC0+c2UubG9hZC53ZWlnaHQpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZGVjX2xvYWQoc3RydWN0IHJxICpycSwgY29uc3Qgc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXVwZGF0ZV9sb2FkX3N1YigmcnEtPmxvYWQsIHAtPnNlLmxvYWQud2VpZ2h0KTsKLX0KLQotc3RhdGljIHZvaWQgaW5jX25yX3J1bm5pbmcoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3QgcnEgKnJxKQorc3RhdGljIHZvaWQgaW5jX25yX3J1bm5pbmcoc3RydWN0IHJxICpycSkKIHsKIAlycS0+bnJfcnVubmluZysrOwotCWluY19sb2FkKHJxLCBwKTsKIH0KIAotc3RhdGljIHZvaWQgZGVjX25yX3J1bm5pbmcoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3QgcnEgKnJxKQorc3RhdGljIHZvaWQgZGVjX25yX3J1bm5pbmcoc3RydWN0IHJxICpycSkKIHsKIAlycS0+bnJfcnVubmluZy0tOwotCWRlY19sb2FkKHJxLCBwKTsKIH0KIAogc3RhdGljIHZvaWQgc2V0X2xvYWRfd2VpZ2h0KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKQEAgLTE1NDQsNiArMTcxMiwxMiBAQAogCXAtPnNlLmxvYWQuaW52X3dlaWdodCA9IHByaW9fdG9fd211bHRbcC0+c3RhdGljX3ByaW8gLSBNQVhfUlRfUFJJT107CiB9CiAKK3N0YXRpYyB2b2lkIHVwZGF0ZV9hdmcodTY0ICphdmcsIHU2NCBzYW1wbGUpCit7CisJczY0IGRpZmYgPSBzYW1wbGUgLSAqYXZnOworCSphdmcgKz0gZGlmZiA+PiAzOworfQorCiBzdGF0aWMgdm9pZCBlbnF1ZXVlX3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgd2FrZXVwKQogewogCXNjaGVkX2luZm9fcXVldWVkKHApOwpAQCAtMTU1Myw2ICsxNzI3LDEzIEBACiAKIHN0YXRpYyB2b2lkIGRlcXVldWVfdGFzayhzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBzbGVlcCkKIHsKKwlpZiAoc2xlZXAgJiYgcC0+c2UubGFzdF93YWtldXApIHsKKwkJdXBkYXRlX2F2ZygmcC0+c2UuYXZnX292ZXJsYXAsCisJCQkgICBwLT5zZS5zdW1fZXhlY19ydW50aW1lIC0gcC0+c2UubGFzdF93YWtldXApOworCQlwLT5zZS5sYXN0X3dha2V1cCA9IDA7CisJfQorCisJc2NoZWRfaW5mb19kZXF1ZXVlZChwKTsKIAlwLT5zY2hlZF9jbGFzcy0+ZGVxdWV1ZV90YXNrKHJxLCBwLCBzbGVlcCk7CiAJcC0+c2Uub25fcnEgPSAwOwogfQpAQCAtMTYxMiw3ICsxNzkzLDcgQEAKIAkJcnEtPm5yX3VuaW50ZXJydXB0aWJsZS0tOwogCiAJZW5xdWV1ZV90YXNrKHJxLCBwLCB3YWtldXApOwotCWluY19ucl9ydW5uaW5nKHAsIHJxKTsKKwlpbmNfbnJfcnVubmluZyhycSk7CiB9CiAKIC8qCkBAIC0xNjI0LDcgKzE4MDUsNyBAQAogCQlycS0+bnJfdW5pbnRlcnJ1cHRpYmxlKys7CiAKIAlkZXF1ZXVlX3Rhc2socnEsIHAsIHNsZWVwKTsKLQlkZWNfbnJfcnVubmluZyhwLCBycSk7CisJZGVjX25yX3J1bm5pbmcocnEpOwogfQogCiAvKioKQEAgLTE2MzYsMTIgKzE4MTcsNiBAQAogCXJldHVybiBjcHVfY3Vycih0YXNrX2NwdShwKSkgPT0gcDsKIH0KIAotLyogVXNlZCBpbnN0ZWFkIG9mIHNvdXJjZV9sb2FkIHdoZW4gd2Uga25vdyB0aGUgdHlwZSA9PSAwICovCi11bnNpZ25lZCBsb25nIHdlaWdodGVkX2NwdWxvYWQoY29uc3QgaW50IGNwdSkKLXsKLQlyZXR1cm4gY3B1X3JxKGNwdSktPmxvYWQud2VpZ2h0OwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgX19zZXRfdGFza19jcHUoc3RydWN0IHRhc2tfc3RydWN0ICpwLCB1bnNpZ25lZCBpbnQgY3B1KQogewogCXNldF90YXNrX3JxKHAsIGNwdSk7CkBAIC0xNjcwLDYgKzE4NDUsMTIgQEAKIAogI2lmZGVmIENPTkZJR19TTVAKIAorLyogVXNlZCBpbnN0ZWFkIG9mIHNvdXJjZV9sb2FkIHdoZW4gd2Uga25vdyB0aGUgdHlwZSA9PSAwICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyB3ZWlnaHRlZF9jcHVsb2FkKGNvbnN0IGludCBjcHUpCit7CisJcmV0dXJuIGNwdV9ycShjcHUpLT5sb2FkLndlaWdodDsKK30KKwogLyoKICAqIElzIHRoaXMgdGFzayBsaWtlbHkgY2FjaGUtaG90OgogICovCkBAIC0xODgwLDcgKzIwNjEsNyBAQAogCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKIAl1bnNpZ25lZCBsb25nIHRvdGFsID0gd2VpZ2h0ZWRfY3B1bG9hZChjcHUpOwogCi0JaWYgKHR5cGUgPT0gMCkKKwlpZiAodHlwZSA9PSAwIHx8ICFzY2hlZF9mZWF0KExCX0JJQVMpKQogCQlyZXR1cm4gdG90YWw7CiAKIAlyZXR1cm4gbWluKHJxLT5jcHVfbG9hZFt0eXBlLTFdLCB0b3RhbCk7CkBAIC0xODk1LDI1ICsyMDc2LDEzIEBACiAJc3RydWN0IHJxICpycSA9IGNwdV9ycShjcHUpOwogCXVuc2lnbmVkIGxvbmcgdG90YWwgPSB3ZWlnaHRlZF9jcHVsb2FkKGNwdSk7CiAKLQlpZiAodHlwZSA9PSAwKQorCWlmICh0eXBlID09IDAgfHwgIXNjaGVkX2ZlYXQoTEJfQklBUykpCiAJCXJldHVybiB0b3RhbDsKIAogCXJldHVybiBtYXgocnEtPmNwdV9sb2FkW3R5cGUtMV0sIHRvdGFsKTsKIH0KIAogLyoKLSAqIFJldHVybiB0aGUgYXZlcmFnZSBsb2FkIHBlciB0YXNrIG9uIHRoZSBjcHUncyBydW4gcXVldWUKLSAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgY3B1X2F2Z19sb2FkX3Blcl90YXNrKGludCBjcHUpCi17Ci0Jc3RydWN0IHJxICpycSA9IGNwdV9ycShjcHUpOwotCXVuc2lnbmVkIGxvbmcgdG90YWwgPSB3ZWlnaHRlZF9jcHVsb2FkKGNwdSk7Ci0JdW5zaWduZWQgbG9uZyBuID0gcnEtPm5yX3J1bm5pbmc7Ci0KLQlyZXR1cm4gbiA/IHRvdGFsIC8gbiA6IFNDSEVEX0xPQURfU0NBTEU7Ci19Ci0KLS8qCiAgKiBmaW5kX2lkbGVzdF9ncm91cCBmaW5kcyBhbmQgcmV0dXJucyB0aGUgbGVhc3QgYnVzeSBDUFUgZ3JvdXAgd2l0aGluIHRoZQogICogZG9tYWluLgogICovCkBAIC0yMDE5LDYgKzIxODgsOSBAQAogCQkJc2QgPSB0bXA7CiAJfQogCisJaWYgKHNkKQorCQl1cGRhdGVfc2hhcmVzKHNkKTsKKwogCXdoaWxlIChzZCkgewogCQljcHVtYXNrX3Qgc3BhbiwgdG1wbWFzazsKIAkJc3RydWN0IHNjaGVkX2dyb3VwICpncm91cDsKQEAgLTIwODUsNiArMjI1NywyMiBAQAogCWlmICghc2NoZWRfZmVhdChTWU5DX1dBS0VVUFMpKQogCQlzeW5jID0gMDsKIAorI2lmZGVmIENPTkZJR19TTVAKKwlpZiAoc2NoZWRfZmVhdChMQl9XQUtFVVBfVVBEQVRFKSkgeworCQlzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZDsKKworCQl0aGlzX2NwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJCWNwdSA9IHRhc2tfY3B1KHApOworCisJCWZvcl9lYWNoX2RvbWFpbih0aGlzX2NwdSwgc2QpIHsKKwkJCWlmIChjcHVfaXNzZXQoY3B1LCBzZC0+c3BhbikpIHsKKwkJCQl1cGRhdGVfc2hhcmVzKHNkKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKyNlbmRpZgorCiAJc21wX3dtYigpOwogCXJxID0gdGFza19ycV9sb2NrKHAsICZmbGFncyk7CiAJb2xkX3N0YXRlID0gcC0+c3RhdGU7CkBAIC0yMTMxLDcgKzIzMTksNyBAQAogCQkJfQogCQl9CiAJfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEU1RBVFMgKi8KIAogb3V0X2FjdGl2YXRlOgogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KQEAgLTIxNDksNiArMjMzNyw5IEBACiAJc3VjY2VzcyA9IDE7CiAKIG91dF9ydW5uaW5nOgorCXRyYWNlX21hcmsoa2VybmVsX3NjaGVkX3dha2V1cCwKKwkJInBpZCAlZCBzdGF0ZSAlbGQgIyMgcnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIsCisJCXAtPnBpZCwgcC0+c3RhdGUsIHJxLCBwLCBycS0+Y3Vycik7CiAJY2hlY2tfcHJlZW1wdF9jdXJyKHJxLCBwKTsKIAogCXAtPnN0YXRlID0gVEFTS19SVU5OSU5HOwpAQCAtMjE1Nyw2ICsyMzQ4LDggQEAKIAkJcC0+c2NoZWRfY2xhc3MtPnRhc2tfd2FrZV91cChycSwgcCk7CiAjZW5kaWYKIG91dDoKKwljdXJyZW50LT5zZS5sYXN0X3dha2V1cCA9IGN1cnJlbnQtPnNlLnN1bV9leGVjX3J1bnRpbWU7CisKIAl0YXNrX3JxX3VubG9jayhycSwgJmZsYWdzKTsKIAogCXJldHVybiBzdWNjZXNzOwpAQCAtMjI3Nyw4ICsyNDcwLDExIEBACiAJCSAqIG1hbmFnZW1lbnQgKGlmIGFueSk6CiAJCSAqLwogCQlwLT5zY2hlZF9jbGFzcy0+dGFza19uZXcocnEsIHApOwotCQlpbmNfbnJfcnVubmluZyhwLCBycSk7CisJCWluY19ucl9ydW5uaW5nKHJxKTsKIAl9CisJdHJhY2VfbWFyayhrZXJuZWxfc2NoZWRfd2FrZXVwX25ldywKKwkJInBpZCAlZCBzdGF0ZSAlbGQgIyMgcnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIsCisJCXAtPnBpZCwgcC0+c3RhdGUsIHJxLCBwLCBycS0+Y3Vycik7CiAJY2hlY2tfcHJlZW1wdF9jdXJyKHJxLCBwKTsKICNpZmRlZiBDT05GSUdfU01QCiAJaWYgKHAtPnNjaGVkX2NsYXNzLT50YXNrX3dha2VfdXApCkBAIC0yMzMxLDcgKzI1MjcsNyBAQAogCQlub3RpZmllci0+b3BzLT5zY2hlZF9vdXQobm90aWZpZXIsIG5leHQpOwogfQogCi0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19QUkVFTVBUX05PVElGSUVSUyAqLwogCiBzdGF0aWMgdm9pZCBmaXJlX3NjaGVkX2luX3ByZWVtcHRfbm90aWZpZXJzKHN0cnVjdCB0YXNrX3N0cnVjdCAqY3VycikKIHsKQEAgLTIzNDMsNyArMjUzOSw3IEBACiB7CiB9CiAKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19QUkVFTVBUX05PVElGSUVSUyAqLwogCiAvKioKICAqIHByZXBhcmVfdGFza19zd2l0Y2ggLSBwcmVwYXJlIHRvIHN3aXRjaCB0YXNrcwpAQCAtMjQ1MSw2ICsyNjQ3LDExIEBACiAJc3RydWN0IG1tX3N0cnVjdCAqbW0sICpvbGRtbTsKIAogCXByZXBhcmVfdGFza19zd2l0Y2gocnEsIHByZXYsIG5leHQpOworCXRyYWNlX21hcmsoa2VybmVsX3NjaGVkX3NjaGVkdWxlLAorCQkicHJldl9waWQgJWQgbmV4dF9waWQgJWQgcHJldl9zdGF0ZSAlbGQgIgorCQkiIyMgcnEgJXAgcHJldiAlcCBuZXh0ICVwIiwKKwkJcHJldi0+cGlkLCBuZXh0LT5waWQsIHByZXYtPnN0YXRlLAorCQlycSwgcHJldiwgbmV4dCk7CiAJbW0gPSBuZXh0LT5tbTsKIAlvbGRtbSA9IHByZXYtPmFjdGl2ZV9tbTsKIAkvKgpAQCAtMjc4NSw3ICsyOTg2LDcgQEAKIAkgICAgICBlbnVtIGNwdV9pZGxlX3R5cGUgaWRsZSwgaW50ICphbGxfcGlubmVkLAogCSAgICAgIGludCAqdGhpc19iZXN0X3ByaW8sIHN0cnVjdCBycV9pdGVyYXRvciAqaXRlcmF0b3IpCiB7Ci0JaW50IGxvb3BzID0gMCwgcHVsbGVkID0gMCwgcGlubmVkID0gMCwgc2tpcF9mb3JfbG9hZDsKKwlpbnQgbG9vcHMgPSAwLCBwdWxsZWQgPSAwLCBwaW5uZWQgPSAwOwogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKIAlsb25nIHJlbV9sb2FkX21vdmUgPSBtYXhfbG9hZF9tb3ZlOwogCkBAIC0yODAxLDE0ICszMDAyLDggQEAKIG5leHQ6CiAJaWYgKCFwIHx8IGxvb3BzKysgPiBzeXNjdGxfc2NoZWRfbnJfbWlncmF0ZSkKIAkJZ290byBvdXQ7Ci0JLyoKLQkgKiBUbyBoZWxwIGRpc3RyaWJ1dGUgaGlnaCBwcmlvcml0eSB0YXNrcyBhY3Jvc3MgQ1BVcyB3ZSBkb24ndAotCSAqIHNraXAgYSB0YXNrIGlmIGl0IHdpbGwgYmUgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdGFzayAoaS5lLiBzbWFsbGVzdAotCSAqIHByaW8gdmFsdWUpIG9uIGl0cyBuZXcgcXVldWUgcmVnYXJkbGVzcyBvZiBpdHMgbG9hZCB3ZWlnaHQKLQkgKi8KLQlza2lwX2Zvcl9sb2FkID0gKHAtPnNlLmxvYWQud2VpZ2h0ID4+IDEpID4gcmVtX2xvYWRfbW92ZSArCi0JCQkJCQkJIFNDSEVEX0xPQURfU0NBTEVfRlVaWjsKLQlpZiAoKHNraXBfZm9yX2xvYWQgJiYgcC0+cHJpbyA+PSAqdGhpc19iZXN0X3ByaW8pIHx8CisKKwlpZiAoKHAtPnNlLmxvYWQud2VpZ2h0ID4+IDEpID4gcmVtX2xvYWRfbW92ZSB8fAogCSAgICAhY2FuX21pZ3JhdGVfdGFzayhwLCBidXNpZXN0LCB0aGlzX2NwdSwgc2QsIGlkbGUsICZwaW5uZWQpKSB7CiAJCXAgPSBpdGVyYXRvci0+bmV4dChpdGVyYXRvci0+YXJnKTsKIAkJZ290byBuZXh0OwpAQCAtMjg2Myw2ICszMDU4LDEwIEBACiAJCQkJbWF4X2xvYWRfbW92ZSAtIHRvdGFsX2xvYWRfbW92ZWQsCiAJCQkJc2QsIGlkbGUsIGFsbF9waW5uZWQsICZ0aGlzX2Jlc3RfcHJpbyk7CiAJCWNsYXNzID0gY2xhc3MtPm5leHQ7CisKKwkJaWYgKGlkbGUgPT0gQ1BVX05FV0xZX0lETEUgJiYgdGhpc19ycS0+bnJfcnVubmluZykKKwkJCWJyZWFrOworCiAJfSB3aGlsZSAoY2xhc3MgJiYgbWF4X2xvYWRfbW92ZSA+IHRvdGFsX2xvYWRfbW92ZWQpOwogCiAJcmV0dXJuIHRvdGFsX2xvYWRfbW92ZWQgPiAwOwpAQCAtMjkzOSw2ICszMTM4LDcgQEAKIAltYXhfbG9hZCA9IHRoaXNfbG9hZCA9IHRvdGFsX2xvYWQgPSB0b3RhbF9wd3IgPSAwOwogCWJ1c2llc3RfbG9hZF9wZXJfdGFzayA9IGJ1c2llc3RfbnJfcnVubmluZyA9IDA7CiAJdGhpc19sb2FkX3Blcl90YXNrID0gdGhpc19ucl9ydW5uaW5nID0gMDsKKwogCWlmIChpZGxlID09IENQVV9OT1RfSURMRSkKIAkJbG9hZF9pZHggPSBzZC0+YnVzeV9pZHg7CiAJZWxzZSBpZiAoaWRsZSA9PSBDUFVfTkVXTFlfSURMRSkKQEAgLTI5NTMsNiArMzE1Myw4IEBACiAJCWludCBfX2dyb3VwX2ltYiA9IDA7CiAJCXVuc2lnbmVkIGludCBiYWxhbmNlX2NwdSA9IC0xLCBmaXJzdF9pZGxlX2NwdSA9IDA7CiAJCXVuc2lnbmVkIGxvbmcgc3VtX25yX3J1bm5pbmcsIHN1bV93ZWlnaHRlZF9sb2FkOworCQl1bnNpZ25lZCBsb25nIHN1bV9hdmdfbG9hZF9wZXJfdGFzazsKKwkJdW5zaWduZWQgbG9uZyBhdmdfbG9hZF9wZXJfdGFzazsKIAogCQlsb2NhbF9ncm91cCA9IGNwdV9pc3NldCh0aGlzX2NwdSwgZ3JvdXAtPmNwdW1hc2spOwogCkBAIC0yOTYxLDYgKzMxNjMsOCBAQAogCiAJCS8qIFRhbGx5IHVwIHRoZSBsb2FkIG9mIGFsbCBDUFVzIGluIHRoZSBncm91cCAqLwogCQlzdW1fd2VpZ2h0ZWRfbG9hZCA9IHN1bV9ucl9ydW5uaW5nID0gYXZnX2xvYWQgPSAwOworCQlzdW1fYXZnX2xvYWRfcGVyX3Rhc2sgPSBhdmdfbG9hZF9wZXJfdGFzayA9IDA7CisKIAkJbWF4X2NwdV9sb2FkID0gMDsKIAkJbWluX2NwdV9sb2FkID0gfjBVTDsKIApAQCAtMjk5NCw2ICszMTk4LDggQEAKIAkJCWF2Z19sb2FkICs9IGxvYWQ7CiAJCQlzdW1fbnJfcnVubmluZyArPSBycS0+bnJfcnVubmluZzsKIAkJCXN1bV93ZWlnaHRlZF9sb2FkICs9IHdlaWdodGVkX2NwdWxvYWQoaSk7CisKKwkJCXN1bV9hdmdfbG9hZF9wZXJfdGFzayArPSBjcHVfYXZnX2xvYWRfcGVyX3Rhc2soaSk7CiAJCX0KIAogCQkvKgpAQCAtMzAxNSw3ICszMjIxLDIwIEBACiAJCWF2Z19sb2FkID0gc2dfZGl2X2NwdV9wb3dlcihncm91cCwKIAkJCQlhdmdfbG9hZCAqIFNDSEVEX0xPQURfU0NBTEUpOwogCi0JCWlmICgobWF4X2NwdV9sb2FkIC0gbWluX2NwdV9sb2FkKSA+IFNDSEVEX0xPQURfU0NBTEUpCisKKwkJLyoKKwkJICogQ29uc2lkZXIgdGhlIGdyb3VwIHVuYmFsYW5jZWQgd2hlbiB0aGUgaW1iYWxhbmNlIGlzIGxhcmdlcgorCQkgKiB0aGFuIHRoZSBhdmVyYWdlIHdlaWdodCBvZiB0d28gdGFza3MuCisJCSAqCisJCSAqIEFQWjogd2l0aCBjZ3JvdXAgdGhlIGF2ZyB0YXNrIHdlaWdodCBjYW4gdmFyeSB3aWxkbHkgYW5kCisJCSAqICAgICAgbWlnaHQgbm90IGJlIGEgc3VpdGFibGUgbnVtYmVyIC0gc2hvdWxkIHdlIGtlZXAgYQorCQkgKiAgICAgIG5vcm1hbGl6ZWQgbnJfcnVubmluZyBudW1iZXIgc29tZXdoZXJlIHRoYXQgbmVnYXRlcworCQkgKiAgICAgIHRoZSBoaWVyYXJjaHk/CisJCSAqLworCQlhdmdfbG9hZF9wZXJfdGFzayA9IHNnX2Rpdl9jcHVfcG93ZXIoZ3JvdXAsCisJCQkJc3VtX2F2Z19sb2FkX3Blcl90YXNrICogU0NIRURfTE9BRF9TQ0FMRSk7CisKKwkJaWYgKChtYXhfY3B1X2xvYWQgLSBtaW5fY3B1X2xvYWQpID4gMiphdmdfbG9hZF9wZXJfdGFzaykKIAkJCV9fZ3JvdXBfaW1iID0gMTsKIAogCQlncm91cF9jYXBhY2l0eSA9IGdyb3VwLT5fX2NwdV9wb3dlciAvIFNDSEVEX0xPQURfU0NBTEU7CkBAIC0zMTU2LDkgKzMzNzUsOSBAQAogCQkJaWYgKGJ1c2llc3RfbG9hZF9wZXJfdGFzayA+IHRoaXNfbG9hZF9wZXJfdGFzaykKIAkJCQlpbWJuID0gMTsKIAkJfSBlbHNlCi0JCQl0aGlzX2xvYWRfcGVyX3Rhc2sgPSBTQ0hFRF9MT0FEX1NDQUxFOworCQkJdGhpc19sb2FkX3Blcl90YXNrID0gY3B1X2F2Z19sb2FkX3Blcl90YXNrKHRoaXNfY3B1KTsKIAotCQlpZiAobWF4X2xvYWQgLSB0aGlzX2xvYWQgKyBTQ0hFRF9MT0FEX1NDQUxFX0ZVWlogPj0KKwkJaWYgKG1heF9sb2FkIC0gdGhpc19sb2FkICsgMipidXNpZXN0X2xvYWRfcGVyX3Rhc2sgPj0KIAkJCQkJYnVzaWVzdF9sb2FkX3Blcl90YXNrICogaW1ibikgewogCQkJKmltYmFsYW5jZSA9IGJ1c2llc3RfbG9hZF9wZXJfdGFzazsKIAkJCXJldHVybiBidXNpZXN0OwpAQCAtMzI4NCw2ICszNTAzLDcgQEAKIAlzY2hlZHN0YXRfaW5jKHNkLCBsYl9jb3VudFtpZGxlXSk7CiAKIHJlZG86CisJdXBkYXRlX3NoYXJlcyhzZCk7CiAJZ3JvdXAgPSBmaW5kX2J1c2llc3RfZ3JvdXAoc2QsIHRoaXNfY3B1LCAmaW1iYWxhbmNlLCBpZGxlLCAmc2RfaWRsZSwKIAkJCQkgICBjcHVzLCBiYWxhbmNlKTsKIApAQCAtMzM4Niw4ICszNjA2LDkgQEAKIAogCWlmICghbGRfbW92ZWQgJiYgIXNkX2lkbGUgJiYgc2QtPmZsYWdzICYgU0RfU0hBUkVfQ1BVUE9XRVIgJiYKIAkgICAgIXRlc3Rfc2RfcGFyZW50KHNkLCBTRF9QT1dFUlNBVklOR1NfQkFMQU5DRSkpCi0JCXJldHVybiAtMTsKLQlyZXR1cm4gbGRfbW92ZWQ7CisJCWxkX21vdmVkID0gLTE7CisKKwlnb3RvIG91dDsKIAogb3V0X2JhbGFuY2VkOgogCXNjaGVkc3RhdF9pbmMoc2QsIGxiX2JhbGFuY2VkW2lkbGVdKTsKQEAgLTM0MDIsOCArMzYyMywxMyBAQAogCiAJaWYgKCFzZF9pZGxlICYmIHNkLT5mbGFncyAmIFNEX1NIQVJFX0NQVVBPV0VSICYmCiAJICAgICF0ZXN0X3NkX3BhcmVudChzZCwgU0RfUE9XRVJTQVZJTkdTX0JBTEFOQ0UpKQotCQlyZXR1cm4gLTE7Ci0JcmV0dXJuIDA7CisJCWxkX21vdmVkID0gLTE7CisJZWxzZQorCQlsZF9tb3ZlZCA9IDA7CitvdXQ6CisJaWYgKGxkX21vdmVkKQorCQl1cGRhdGVfc2hhcmVzKHNkKTsKKwlyZXR1cm4gbGRfbW92ZWQ7CiB9CiAKIC8qCkBAIC0zNDM4LDYgKzM2NjQsNyBAQAogCiAJc2NoZWRzdGF0X2luYyhzZCwgbGJfY291bnRbQ1BVX05FV0xZX0lETEVdKTsKIHJlZG86CisJdXBkYXRlX3NoYXJlc19sb2NrZWQodGhpc19ycSwgc2QpOwogCWdyb3VwID0gZmluZF9idXNpZXN0X2dyb3VwKHNkLCB0aGlzX2NwdSwgJmltYmFsYW5jZSwgQ1BVX05FV0xZX0lETEUsCiAJCQkJICAgJnNkX2lkbGUsIGNwdXMsIE5VTEwpOwogCWlmICghZ3JvdXApIHsKQEAgLTM0ODEsNiArMzcwOCw3IEBACiAJfSBlbHNlCiAJCXNkLT5ucl9iYWxhbmNlX2ZhaWxlZCA9IDA7CiAKKwl1cGRhdGVfc2hhcmVzX2xvY2tlZCh0aGlzX3JxLCBzZCk7CiAJcmV0dXJuIGxkX21vdmVkOwogCiBvdXRfYmFsYW5jZWQ6CkBAIC0zNjcyLDYgKzM5MDAsNyBAQAogCS8qIEVhcmxpZXN0IHRpbWUgd2hlbiB3ZSBoYXZlIHRvIGRvIHJlYmFsYW5jZSBhZ2FpbiAqLwogCXVuc2lnbmVkIGxvbmcgbmV4dF9iYWxhbmNlID0gamlmZmllcyArIDYwKkhaOwogCWludCB1cGRhdGVfbmV4dF9iYWxhbmNlID0gMDsKKwlpbnQgbmVlZF9zZXJpYWxpemU7CiAJY3B1bWFza190IHRtcDsKIAogCWZvcl9lYWNoX2RvbWFpbihjcHUsIHNkKSB7CkBAIC0zNjg5LDggKzM5MTgsOSBAQAogCQlpZiAoaW50ZXJ2YWwgPiBIWipOUl9DUFVTLzEwKQogCQkJaW50ZXJ2YWwgPSBIWipOUl9DUFVTLzEwOwogCisJCW5lZWRfc2VyaWFsaXplID0gc2QtPmZsYWdzICYgU0RfU0VSSUFMSVpFOwogCi0JCWlmIChzZC0+ZmxhZ3MgJiBTRF9TRVJJQUxJWkUpIHsKKwkJaWYgKG5lZWRfc2VyaWFsaXplKSB7CiAJCQlpZiAoIXNwaW5fdHJ5bG9jaygmYmFsYW5jaW5nKSkKIAkJCQlnb3RvIG91dDsKIAkJfQpAQCAtMzcwNiw3ICszOTM2LDcgQEAKIAkJCX0KIAkJCXNkLT5sYXN0X2JhbGFuY2UgPSBqaWZmaWVzOwogCQl9Ci0JCWlmIChzZC0+ZmxhZ3MgJiBTRF9TRVJJQUxJWkUpCisJCWlmIChuZWVkX3NlcmlhbGl6ZSkKIAkJCXNwaW5fdW5sb2NrKCZiYWxhbmNpbmcpOwogb3V0OgogCQlpZiAodGltZV9hZnRlcihuZXh0X2JhbGFuY2UsIHNkLT5sYXN0X2JhbGFuY2UgKyBpbnRlcnZhbCkpIHsKQEAgLTQwMjEsMjYgKzQyNTEsNDQgQEAKICNlbmRpZgogfQogCi0jaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVCkgJiYgZGVmaW5lZChDT05GSUdfREVCVUdfUFJFRU1QVCkKKyNpZiBkZWZpbmVkKENPTkZJR19QUkVFTVBUKSAmJiAoZGVmaW5lZChDT05GSUdfREVCVUdfUFJFRU1QVCkgfHwgXAorCQkJCWRlZmluZWQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKSkKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGdldF9wYXJlbnRfaXAodW5zaWduZWQgbG9uZyBhZGRyKQoreworCWlmIChpbl9sb2NrX2Z1bmN0aW9ucyhhZGRyKSkgeworCQlhZGRyID0gQ0FMTEVSX0FERFIyOworCQlpZiAoaW5fbG9ja19mdW5jdGlvbnMoYWRkcikpCisJCQlhZGRyID0gQ0FMTEVSX0FERFIzOworCX0KKwlyZXR1cm4gYWRkcjsKK30KIAogdm9pZCBfX2twcm9iZXMgYWRkX3ByZWVtcHRfY291bnQoaW50IHZhbCkKIHsKKyNpZmRlZiBDT05GSUdfREVCVUdfUFJFRU1QVAogCS8qCiAJICogVW5kZXJmbG93PwogCSAqLwogCWlmIChERUJVR19MT0NLU19XQVJOX09OKChwcmVlbXB0X2NvdW50KCkgPCAwKSkpCiAJCXJldHVybjsKKyNlbmRpZgogCXByZWVtcHRfY291bnQoKSArPSB2YWw7CisjaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKIAkvKgogCSAqIFNwaW5sb2NrIGNvdW50IG92ZXJmbG93aW5nIHNvb24/CiAJICovCiAJREVCVUdfTE9DS1NfV0FSTl9PTigocHJlZW1wdF9jb3VudCgpICYgUFJFRU1QVF9NQVNLKSA+PQogCQkJCVBSRUVNUFRfTUFTSyAtIDEwKTsKKyNlbmRpZgorCWlmIChwcmVlbXB0X2NvdW50KCkgPT0gdmFsKQorCQl0cmFjZV9wcmVlbXB0X29mZihDQUxMRVJfQUREUjAsIGdldF9wYXJlbnRfaXAoQ0FMTEVSX0FERFIxKSk7CiB9CiBFWFBPUlRfU1lNQk9MKGFkZF9wcmVlbXB0X2NvdW50KTsKIAogdm9pZCBfX2twcm9iZXMgc3ViX3ByZWVtcHRfY291bnQoaW50IHZhbCkKIHsKKyNpZmRlZiBDT05GSUdfREVCVUdfUFJFRU1QVAogCS8qCiAJICogVW5kZXJmbG93PwogCSAqLwpAQCAtNDA1Miw3ICs0MzAwLDEwIEBACiAJaWYgKERFQlVHX0xPQ0tTX1dBUk5fT04oKHZhbCA8IFBSRUVNUFRfTUFTSykgJiYKIAkJCSEocHJlZW1wdF9jb3VudCgpICYgUFJFRU1QVF9NQVNLKSkpCiAJCXJldHVybjsKKyNlbmRpZgogCisJaWYgKHByZWVtcHRfY291bnQoKSA9PSB2YWwpCisJCXRyYWNlX3ByZWVtcHRfb24oQ0FMTEVSX0FERFIwLCBnZXRfcGFyZW50X2lwKENBTExFUl9BRERSMSkpOwogCXByZWVtcHRfY291bnQoKSAtPSB2YWw7CiB9CiBFWFBPUlRfU1lNQk9MKHN1Yl9wcmVlbXB0X2NvdW50KTsKQEAgLTQwNzAsNiArNDMyMSw3IEBACiAJCXByZXYtPmNvbW0sIHByZXYtPnBpZCwgcHJlZW1wdF9jb3VudCgpKTsKIAogCWRlYnVnX3Nob3dfaGVsZF9sb2NrcyhwcmV2KTsKKwlwcmludF9tb2R1bGVzKCk7CiAJaWYgKGlycXNfZGlzYWJsZWQoKSkKIAkJcHJpbnRfaXJxdHJhY2VfZXZlbnRzKHByZXYpOwogCkBAIC00MTQzLDcgKzQzOTUsNyBAQAogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwgKm5leHQ7CiAJdW5zaWduZWQgbG9uZyAqc3dpdGNoX2NvdW50OwogCXN0cnVjdCBycSAqcnE7Ci0JaW50IGNwdTsKKwlpbnQgY3B1LCBocnRpY2sgPSBzY2hlZF9mZWF0KEhSVElDSyk7CiAKIG5lZWRfcmVzY2hlZDoKIAlwcmVlbXB0X2Rpc2FibGUoKTsKQEAgLTQxNTgsNyArNDQxMCw4IEBACiAKIAlzY2hlZHVsZV9kZWJ1ZyhwcmV2KTsKIAotCWhydGlja19jbGVhcihycSk7CisJaWYgKGhydGljaykKKwkJaHJ0aWNrX2NsZWFyKHJxKTsKIAogCS8qCiAJICogRG8gdGhlIHJxLWNsb2NrIHVwZGF0ZSBvdXRzaWRlIHRoZSBycSBsb2NrOgpAQCAtNDIwNCw3ICs0NDU3LDggQEAKIAl9IGVsc2UKIAkJc3Bpbl91bmxvY2tfaXJxKCZycS0+bG9jayk7CiAKLQlocnRpY2tfc2V0KHJxKTsKKwlpZiAoaHJ0aWNrKQorCQlocnRpY2tfc2V0KHJxKTsKIAogCWlmICh1bmxpa2VseShyZWFjcXVpcmVfa2VybmVsX2xvY2soY3VycmVudCkgPCAwKSkKIAkJZ290byBuZWVkX3Jlc2NoZWRfbm9ucHJlZW1wdGlibGU7CkBAIC00NTg2LDEwICs0ODQwLDggQEAKIAkJZ290byBvdXRfdW5sb2NrOwogCX0KIAlvbl9ycSA9IHAtPnNlLm9uX3JxOwotCWlmIChvbl9ycSkgeworCWlmIChvbl9ycSkKIAkJZGVxdWV1ZV90YXNrKHJxLCBwLCAwKTsKLQkJZGVjX2xvYWQocnEsIHApOwotCX0KIAogCXAtPnN0YXRpY19wcmlvID0gTklDRV9UT19QUklPKG5pY2UpOwogCXNldF9sb2FkX3dlaWdodChwKTsKQEAgLTQ1OTksNyArNDg1MSw2IEBACiAKIAlpZiAob25fcnEpIHsKIAkJZW5xdWV1ZV90YXNrKHJxLCBwLCAwKTsKLQkJaW5jX2xvYWQocnEsIHApOwogCQkvKgogCQkgKiBJZiB0aGUgdGFzayBpbmNyZWFzZWQgaXRzIHByaW9yaXR5IG9yIGlzIHJ1bm5pbmcgYW5kCiAJCSAqIGxvd2VyZWQgaXRzIHByaW9yaXR5LCB0aGVuIHJlc2NoZWR1bGUgaXRzIENQVToKQEAgLTQ3NDQsMTYgKzQ5OTUsOCBAQAogCXNldF9sb2FkX3dlaWdodChwKTsKIH0KIAotLyoqCi0gKiBzY2hlZF9zZXRzY2hlZHVsZXIgLSBjaGFuZ2UgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGFuZC9vciBSVCBwcmlvcml0eSBvZiBhIHRocmVhZC4KLSAqIEBwOiB0aGUgdGFzayBpbiBxdWVzdGlvbi4KLSAqIEBwb2xpY3k6IG5ldyBwb2xpY3kuCi0gKiBAcGFyYW06IHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBuZXcgUlQgcHJpb3JpdHkuCi0gKgotICogTk9URSB0aGF0IHRoZSB0YXNrIG1heSBiZSBhbHJlYWR5IGRlYWQuCi0gKi8KLWludCBzY2hlZF9zZXRzY2hlZHVsZXIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcG9saWN5LAotCQkgICAgICAgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSkKK3N0YXRpYyBpbnQgX19zY2hlZF9zZXRzY2hlZHVsZXIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcG9saWN5LAorCQkJCXN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0sIGJvb2wgdXNlcikKIHsKIAlpbnQgcmV0dmFsLCBvbGRwcmlvLCBvbGRwb2xpY3kgPSAtMSwgb25fcnEsIHJ1bm5pbmc7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTQ3ODUsNyArNTAyOCw3IEBACiAJLyoKIAkgKiBBbGxvdyB1bnByaXZpbGVnZWQgUlQgdGFza3MgdG8gZGVjcmVhc2UgcHJpb3JpdHk6CiAJICovCi0JaWYgKCFjYXBhYmxlKENBUF9TWVNfTklDRSkpIHsKKwlpZiAodXNlciAmJiAhY2FwYWJsZShDQVBfU1lTX05JQ0UpKSB7CiAJCWlmIChydF9wb2xpY3kocG9saWN5KSkgewogCQkJdW5zaWduZWQgbG9uZyBybGltX3J0cHJpbzsKIApAQCAtNDgyMSw3ICs1MDY0LDggQEAKIAkgKiBEbyBub3QgYWxsb3cgcmVhbHRpbWUgdGFza3MgaW50byBncm91cHMgdGhhdCBoYXZlIG5vIHJ1bnRpbWUKIAkgKiBhc3NpZ25lZC4KIAkgKi8KLQlpZiAocnRfcG9saWN5KHBvbGljeSkgJiYgdGFza19ncm91cChwKS0+cnRfYmFuZHdpZHRoLnJ0X3J1bnRpbWUgPT0gMCkKKwlpZiAodXNlcgorCSAgICAmJiBydF9wb2xpY3kocG9saWN5KSAmJiB0YXNrX2dyb3VwKHApLT5ydF9iYW5kd2lkdGgucnRfcnVudGltZSA9PSAwKQogCQlyZXR1cm4gLUVQRVJNOwogI2VuZGlmCiAKQEAgLTQ4NzAsOCArNTExNCwzOSBAQAogCiAJcmV0dXJuIDA7CiB9CisKKy8qKgorICogc2NoZWRfc2V0c2NoZWR1bGVyIC0gY2hhbmdlIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBhbmQvb3IgUlQgcHJpb3JpdHkgb2YgYSB0aHJlYWQuCisgKiBAcDogdGhlIHRhc2sgaW4gcXVlc3Rpb24uCisgKiBAcG9saWN5OiBuZXcgcG9saWN5LgorICogQHBhcmFtOiBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgbmV3IFJUIHByaW9yaXR5LgorICoKKyAqIE5PVEUgdGhhdCB0aGUgdGFzayBtYXkgYmUgYWxyZWFkeSBkZWFkLgorICovCitpbnQgc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKKwkJICAgICAgIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pCit7CisJcmV0dXJuIF9fc2NoZWRfc2V0c2NoZWR1bGVyKHAsIHBvbGljeSwgcGFyYW0sIHRydWUpOworfQogRVhQT1JUX1NZTUJPTF9HUEwoc2NoZWRfc2V0c2NoZWR1bGVyKTsKIAorLyoqCisgKiBzY2hlZF9zZXRzY2hlZHVsZXJfbm9jaGVjayAtIGNoYW5nZSB0aGUgc2NoZWR1bGluZyBwb2xpY3kgYW5kL29yIFJUIHByaW9yaXR5IG9mIGEgdGhyZWFkIGZyb20ga2VybmVsc3BhY2UuCisgKiBAcDogdGhlIHRhc2sgaW4gcXVlc3Rpb24uCisgKiBAcG9saWN5OiBuZXcgcG9saWN5LgorICogQHBhcmFtOiBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgbmV3IFJUIHByaW9yaXR5LgorICoKKyAqIEp1c3QgbGlrZSBzY2hlZF9zZXRzY2hlZHVsZXIsIG9ubHkgZG9uJ3QgYm90aGVyIGNoZWNraW5nIGlmIHRoZQorICogY3VycmVudCBjb250ZXh0IGhhcyBwZXJtaXNzaW9uLiAgRm9yIGV4YW1wbGUsIHRoaXMgaXMgbmVlZGVkIGluCisgKiBzdG9wX21hY2hpbmUoKTogd2UgY3JlYXRlIHRlbXBvcmFyeSBoaWdoIHByaW9yaXR5IHdvcmtlciB0aHJlYWRzLAorICogYnV0IG91ciBjYWxsZXIgbWlnaHQgbm90IGhhdmUgdGhhdCBjYXBhYmlsaXR5LgorICovCitpbnQgc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2soc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcG9saWN5LAorCQkJICAgICAgIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pCit7CisJcmV0dXJuIF9fc2NoZWRfc2V0c2NoZWR1bGVyKHAsIHBvbGljeSwgcGFyYW0sIGZhbHNlKTsKK30KKwogc3RhdGljIGludAogZG9fc2NoZWRfc2V0c2NoZWR1bGVyKHBpZF90IHBpZCwgaW50IHBvbGljeSwgc3RydWN0IHNjaGVkX3BhcmFtIF9fdXNlciAqcGFyYW0pCiB7CkBAIC01MDcwLDI0ICs1MzQ1LDYgQEAKIAlyZXR1cm4gc2NoZWRfc2V0YWZmaW5pdHkocGlkLCAmbmV3X21hc2spOwogfQogCi0vKgotICogUmVwcmVzZW50cyBhbGwgY3B1J3MgcHJlc2VudCBpbiB0aGUgc3lzdGVtCi0gKiBJbiBzeXN0ZW1zIGNhcGFibGUgb2YgaG90cGx1ZywgdGhpcyBtYXAgY291bGQgZHluYW1pY2FsbHkgZ3JvdwotICogYXMgbmV3IGNwdSdzIGFyZSBkZXRlY3RlZCBpbiB0aGUgc3lzdGVtIHZpYSBhbnkgcGxhdGZvcm0gc3BlY2lmaWMKLSAqIG1ldGhvZCwgc3VjaCBhcyBBQ1BJIGZvciBlLmcuCi0gKi8KLQotY3B1bWFza190IGNwdV9wcmVzZW50X21hcCBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChjcHVfcHJlc2VudF9tYXApOwotCi0jaWZuZGVmIENPTkZJR19TTVAKLWNwdW1hc2tfdCBjcHVfb25saW5lX21hcCBfX3JlYWRfbW9zdGx5ID0gQ1BVX01BU0tfQUxMOwotRVhQT1JUX1NZTUJPTChjcHVfb25saW5lX21hcCk7Ci0KLWNwdW1hc2tfdCBjcHVfcG9zc2libGVfbWFwIF9fcmVhZF9tb3N0bHkgPSBDUFVfTUFTS19BTEw7Ci1FWFBPUlRfU1lNQk9MKGNwdV9wb3NzaWJsZV9tYXApOwotI2VuZGlmCi0KIGxvbmcgc2NoZWRfZ2V0YWZmaW5pdHkocGlkX3QgcGlkLCBjcHVtYXNrX3QgKm1hc2spCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpwOwpAQCAtNTM4NCw3ICs1NjQxLDcgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1zdGF0aWMgY29uc3QgY2hhciBzdGF0X25hbVtdID0gIlJTRFR0WlgiOworc3RhdGljIGNvbnN0IGNoYXIgc3RhdF9uYW1bXSA9IFRBU0tfU1RBVEVfVE9fQ0hBUl9TVFI7CiAKIHZvaWQgc2NoZWRfc2hvd190YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIHsKQEAgLTU1NzEsNiArNTgyOCwxMiBAQAogCQlnb3RvIG91dDsKIAl9CiAKKwlpZiAodW5saWtlbHkoKHAtPmZsYWdzICYgUEZfVEhSRUFEX0JPVU5EKSAmJiBwICE9IGN1cnJlbnQgJiYKKwkJICAgICAhY3B1c19lcXVhbChwLT5jcHVzX2FsbG93ZWQsICpuZXdfbWFzaykpKSB7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0OworCX0KKwogCWlmIChwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZCkKIAkJcC0+c2NoZWRfY2xhc3MtPnNldF9jcHVzX2FsbG93ZWQocCwgbmV3X21hc2spOwogCWVsc2UgewpAQCAtNTYyMiwxMCArNTg4NSwxMCBAQAogCWRvdWJsZV9ycV9sb2NrKHJxX3NyYywgcnFfZGVzdCk7CiAJLyogQWxyZWFkeSBtb3ZlZC4gKi8KIAlpZiAodGFza19jcHUocCkgIT0gc3JjX2NwdSkKLQkJZ290byBvdXQ7CisJCWdvdG8gZG9uZTsKIAkvKiBBZmZpbml0eSBjaGFuZ2VkIChhZ2FpbikuICovCiAJaWYgKCFjcHVfaXNzZXQoZGVzdF9jcHUsIHAtPmNwdXNfYWxsb3dlZCkpCi0JCWdvdG8gb3V0OworCQlnb3RvIGZhaWw7CiAKIAlvbl9ycSA9IHAtPnNlLm9uX3JxOwogCWlmIChvbl9ycSkKQEAgLTU2MzYsOCArNTg5OSw5IEBACiAJCWFjdGl2YXRlX3Rhc2socnFfZGVzdCwgcCwgMCk7CiAJCWNoZWNrX3ByZWVtcHRfY3VycihycV9kZXN0LCBwKTsKIAl9Citkb25lOgogCXJldCA9IDE7Ci1vdXQ6CitmYWlsOgogCWRvdWJsZV9ycV91bmxvY2socnFfc3JjLCBycV9kZXN0KTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtNjA1OSw2ICs2MzIzLDM2IEBACiB9CiAjZW5kaWYKIAorc3RhdGljIHZvaWQgc2V0X3JxX29ubGluZShzdHJ1Y3QgcnEgKnJxKQoreworCWlmICghcnEtPm9ubGluZSkgeworCQljb25zdCBzdHJ1Y3Qgc2NoZWRfY2xhc3MgKmNsYXNzOworCisJCWNwdV9zZXQocnEtPmNwdSwgcnEtPnJkLT5vbmxpbmUpOworCQlycS0+b25saW5lID0gMTsKKworCQlmb3JfZWFjaF9jbGFzcyhjbGFzcykgeworCQkJaWYgKGNsYXNzLT5ycV9vbmxpbmUpCisJCQkJY2xhc3MtPnJxX29ubGluZShycSk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIHNldF9ycV9vZmZsaW5lKHN0cnVjdCBycSAqcnEpCit7CisJaWYgKHJxLT5vbmxpbmUpIHsKKwkJY29uc3Qgc3RydWN0IHNjaGVkX2NsYXNzICpjbGFzczsKKworCQlmb3JfZWFjaF9jbGFzcyhjbGFzcykgeworCQkJaWYgKGNsYXNzLT5ycV9vZmZsaW5lKQorCQkJCWNsYXNzLT5ycV9vZmZsaW5lKHJxKTsKKwkJfQorCisJCWNwdV9jbGVhcihycS0+Y3B1LCBycS0+cmQtPm9ubGluZSk7CisJCXJxLT5vbmxpbmUgPSAwOworCX0KK30KKwogLyoKICAqIG1pZ3JhdGlvbl9jYWxsIC0gY2FsbGJhY2sgdGhhdCBnZXRzIHRyaWdnZXJlZCB3aGVuIGEgQ1BVIGlzIGFkZGVkLgogICogSGVyZSB3ZSBjYW4gc3RhcnQgdXAgdGhlIG5lY2Vzc2FyeSBtaWdyYXRpb24gdGhyZWFkIGZvciB0aGUgbmV3IENQVS4KQEAgLTYwOTYsNyArNjM5MCw4IEBACiAJCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOwogCQlpZiAocnEtPnJkKSB7CiAJCQlCVUdfT04oIWNwdV9pc3NldChjcHUsIHJxLT5yZC0+c3BhbikpOwotCQkJY3B1X3NldChjcHUsIHJxLT5yZC0+b25saW5lKTsKKworCQkJc2V0X3JxX29ubGluZShycSk7CiAJCX0KIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAkJYnJlYWs7CkBAIC02MTU3LDcgKzY0NTIsNyBAQAogCQlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAkJaWYgKHJxLT5yZCkgewogCQkJQlVHX09OKCFjcHVfaXNzZXQoY3B1LCBycS0+cmQtPnNwYW4pKTsKLQkJCWNwdV9jbGVhcihjcHUsIHJxLT5yZC0+b25saW5lKTsKKwkJCXNldF9ycV9vZmZsaW5lKHJxKTsKIAkJfQogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZycS0+bG9jaywgZmxhZ3MpOwogCQlicmVhazsKQEAgLTYxOTEsNiArNjQ4NiwyOCBAQAogCiAjaWZkZWYgQ09ORklHX1NDSEVEX0RFQlVHCiAKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqc2RfbGV2ZWxfdG9fc3RyaW5nKGVudW0gc2NoZWRfZG9tYWluX2xldmVsIGx2bCkKK3sKKwlzd2l0Y2ggKGx2bCkgeworCWNhc2UgU0RfTFZfTk9ORToKKwkJCXJldHVybiAiTk9ORSI7CisJY2FzZSBTRF9MVl9TSUJMSU5HOgorCQkJcmV0dXJuICJTSUJMSU5HIjsKKwljYXNlIFNEX0xWX01DOgorCQkJcmV0dXJuICJNQyI7CisJY2FzZSBTRF9MVl9DUFU6CisJCQlyZXR1cm4gIkNQVSI7CisJY2FzZSBTRF9MVl9OT0RFOgorCQkJcmV0dXJuICJOT0RFIjsKKwljYXNlIFNEX0xWX0FMTE5PREVTOgorCQkJcmV0dXJuICJBTExOT0RFUyI7CisJY2FzZSBTRF9MVl9NQVg6CisJCQlyZXR1cm4gIk1BWCI7CisKKwl9CisJcmV0dXJuICJNQVgiOworfQorCiBzdGF0aWMgaW50IHNjaGVkX2RvbWFpbl9kZWJ1Z19vbmUoc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QsIGludCBjcHUsIGludCBsZXZlbCwKIAkJCQkgIGNwdW1hc2tfdCAqZ3JvdXBtYXNrKQogewpAQCAtNjIxMCw3ICs2NTI3LDggQEAKIAkJcmV0dXJuIC0xOwogCX0KIAotCXByaW50ayhLRVJOX0NPTlQgInNwYW4gJXNcbiIsIHN0cik7CisJcHJpbnRrKEtFUk5fQ09OVCAic3BhbiAlcyBsZXZlbCAlc1xuIiwKKwkJc3RyLCBzZF9sZXZlbF90b19zdHJpbmcoc2QtPmxldmVsKSk7CiAKIAlpZiAoIWNwdV9pc3NldChjcHUsIHNkLT5zcGFuKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkVSUk9SOiBkb21haW4tPnNwYW4gZG9lcyBub3QgY29udGFpbiAiCkBAIC02Mjk0LDkgKzY2MTIsOSBAQAogCX0KIAlrZnJlZShncm91cG1hc2spOwogfQotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfU0NIRURfREVCVUcgKi8KICMgZGVmaW5lIHNjaGVkX2RvbWFpbl9kZWJ1ZyhzZCwgY3B1KSBkbyB7IH0gd2hpbGUgKDApCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU0NIRURfREVCVUcgKi8KIAogc3RhdGljIGludCBzZF9kZWdlbmVyYXRlKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQogewpAQCAtNjM1NiwyMCArNjY3NCwxNiBAQAogc3RhdGljIHZvaWQgcnFfYXR0YWNoX3Jvb3Qoc3RydWN0IHJxICpycSwgc3RydWN0IHJvb3RfZG9tYWluICpyZCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyAqY2xhc3M7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAogCWlmIChycS0+cmQpIHsKIAkJc3RydWN0IHJvb3RfZG9tYWluICpvbGRfcmQgPSBycS0+cmQ7CiAKLQkJZm9yIChjbGFzcyA9IHNjaGVkX2NsYXNzX2hpZ2hlc3Q7IGNsYXNzOyBjbGFzcyA9IGNsYXNzLT5uZXh0KSB7Ci0JCQlpZiAoY2xhc3MtPmxlYXZlX2RvbWFpbikKLQkJCQljbGFzcy0+bGVhdmVfZG9tYWluKHJxKTsKLQkJfQorCQlpZiAoY3B1X2lzc2V0KHJxLT5jcHUsIG9sZF9yZC0+b25saW5lKSkKKwkJCXNldF9ycV9vZmZsaW5lKHJxKTsKIAogCQljcHVfY2xlYXIocnEtPmNwdSwgb2xkX3JkLT5zcGFuKTsKLQkJY3B1X2NsZWFyKHJxLT5jcHUsIG9sZF9yZC0+b25saW5lKTsKIAogCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmb2xkX3JkLT5yZWZjb3VudCkpCiAJCQlrZnJlZShvbGRfcmQpOwpAQCAtNjM4MCwxMiArNjY5NCw3IEBACiAKIAljcHVfc2V0KHJxLT5jcHUsIHJkLT5zcGFuKTsKIAlpZiAoY3B1X2lzc2V0KHJxLT5jcHUsIGNwdV9vbmxpbmVfbWFwKSkKLQkJY3B1X3NldChycS0+Y3B1LCByZC0+b25saW5lKTsKLQotCWZvciAoY2xhc3MgPSBzY2hlZF9jbGFzc19oaWdoZXN0OyBjbGFzczsgY2xhc3MgPSBjbGFzcy0+bmV4dCkgewotCQlpZiAoY2xhc3MtPmpvaW5fZG9tYWluKQotCQkJY2xhc3MtPmpvaW5fZG9tYWluKHJxKTsKLQl9CisJCXNldF9ycV9vbmxpbmUocnEpOwogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKIH0KQEAgLTYzOTYsNiArNjcwNSw4IEBACiAKIAljcHVzX2NsZWFyKHJkLT5zcGFuKTsKIAljcHVzX2NsZWFyKHJkLT5vbmxpbmUpOworCisJY3B1cHJpX2luaXQoJnJkLT5jcHVwcmkpOwogfQogCiBzdGF0aWMgdm9pZCBpbml0X2RlZnJvb3Rkb21haW4odm9pZCkKQEAgLTY1MzgsOSArNjg0OSw5IEBACiAKIAltaW5fdmFsID0gSU5UX01BWDsKIAotCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKSB7CiAJCS8qIFN0YXJ0IGF0IEBub2RlICovCi0JCW4gPSAobm9kZSArIGkpICUgTUFYX05VTU5PREVTOworCQluID0gKG5vZGUgKyBpKSAlIG5yX25vZGVfaWRzOwogCiAJCWlmICghbnJfY3B1c19ub2RlKG4pKQogCQkJY29udGludWU7CkBAIC02NTkwLDcgKzY5MDEsNyBAQAogCQljcHVzX29yKCpzcGFuLCAqc3BhbiwgKm5vZGVtYXNrKTsKIAl9CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfTlVNQSAqLwogCiBpbnQgc2NoZWRfc210X3Bvd2VyX3NhdmluZ3MgPSAwLCBzY2hlZF9tY19wb3dlcl9zYXZpbmdzID0gMDsKIApAQCAtNjYwOSw3ICs2OTIwLDcgQEAKIAkJKnNnID0gJnBlcl9jcHUoc2NoZWRfZ3JvdXBfY3B1cywgY3B1KTsKIAlyZXR1cm4gY3B1OwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEX1NNVCAqLwogCiAvKgogICogbXVsdGktY29yZSBzY2hlZC1kb21haW5zOgpAQCAtNjYxNyw3ICs2OTI4LDcgQEAKICNpZmRlZiBDT05GSUdfU0NIRURfTUMKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfZG9tYWluLCBjb3JlX2RvbWFpbnMpOwogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBzY2hlZF9ncm91cCwgc2NoZWRfZ3JvdXBfY29yZSk7Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU0NIRURfTUMgKi8KIAogI2lmIGRlZmluZWQoQ09ORklHX1NDSEVEX01DKSAmJiBkZWZpbmVkKENPTkZJR19TQ0hFRF9TTVQpCiBzdGF0aWMgaW50CkBAIC02NzE5LDcgKzcwMzAsNyBAQAogCQlzZyA9IHNnLT5uZXh0OwogCX0gd2hpbGUgKHNnICE9IGdyb3VwX2hlYWQpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX05VTUEgKi8KIAogI2lmZGVmIENPTkZJR19OVU1BCiAvKiBGcmVlIG1lbW9yeSBhbGxvY2F0ZWQgZm9yIHZhcmlvdXMgc2NoZWRfZ3JvdXAgc3RydWN0dXJlcyAqLwpAQCAtNjczNCw3ICs3MDQ1LDcgQEAKIAkJaWYgKCFzY2hlZF9ncm91cF9ub2RlcykKIAkJCWNvbnRpbnVlOwogCi0JCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykgeworCQlmb3IgKGkgPSAwOyBpIDwgbnJfbm9kZV9pZHM7IGkrKykgewogCQkJc3RydWN0IHNjaGVkX2dyb3VwICpvbGRzZywgKnNnID0gc2NoZWRfZ3JvdXBfbm9kZXNbaV07CiAKIAkJCSpub2RlbWFzayA9IG5vZGVfdG9fY3B1bWFzayhpKTsKQEAgLTY3NTYsMTEgKzcwNjcsMTEgQEAKIAkJc2NoZWRfZ3JvdXBfbm9kZXNfYnljcHVbY3B1XSA9IE5VTEw7CiAJfQogfQotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfTlVNQSAqLwogc3RhdGljIHZvaWQgZnJlZV9zY2hlZF9ncm91cHMoY29uc3QgY3B1bWFza190ICpjcHVfbWFwLCBjcHVtYXNrX3QgKm5vZGVtYXNrKQogewogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX05VTUEgKi8KIAogLyoKICAqIEluaXRpYWxpemUgc2NoZWQgZ3JvdXBzIGNwdV9wb3dlci4KQEAgLTY5MjcsNyArNzIzOCw3IEBACiAJLyoKIAkgKiBBbGxvY2F0ZSB0aGUgcGVyLW5vZGUgbGlzdCBvZiBzY2hlZCBncm91cHMKIAkgKi8KLQlzY2hlZF9ncm91cF9ub2RlcyA9IGtjYWxsb2MoTUFYX05VTU5PREVTLCBzaXplb2Yoc3RydWN0IHNjaGVkX2dyb3VwICopLAorCXNjaGVkX2dyb3VwX25vZGVzID0ga2NhbGxvYyhucl9ub2RlX2lkcywgc2l6ZW9mKHN0cnVjdCBzY2hlZF9ncm91cCAqKSwKIAkJCQkgICAgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzY2hlZF9ncm91cF9ub2RlcykgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJDYW4gbm90IGFsbG9jIHNjaGVkIGdyb3VwIG5vZGUgbGlzdFxuIik7CkBAIC03MDY2LDcgKzczNzcsNyBAQAogI2VuZGlmCiAKIAkvKiBTZXQgdXAgcGh5c2ljYWwgZ3JvdXBzICovCi0JZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IG5yX25vZGVfaWRzOyBpKyspIHsKIAkJU0NIRURfQ1BVTUFTS19WQVIobm9kZW1hc2ssIGFsbG1hc2tzKTsKIAkJU0NIRURfQ1BVTUFTS19WQVIoc2VuZF9jb3ZlcmVkLCBhbGxtYXNrcyk7CiAKQEAgLTcwOTAsNyArNzQwMSw3IEBACiAJCQkJCXNlbmRfY292ZXJlZCwgdG1wbWFzayk7CiAJfQogCi0JZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IG5yX25vZGVfaWRzOyBpKyspIHsKIAkJLyogU2V0IHVwIG5vZGUgZ3JvdXBzICovCiAJCXN0cnVjdCBzY2hlZF9ncm91cCAqc2csICpwcmV2OwogCQlTQ0hFRF9DUFVNQVNLX1ZBUihub2RlbWFzaywgYWxsbWFza3MpOwpAQCAtNzEyOSw5ICs3NDQwLDkgQEAKIAkJY3B1c19vcigqY292ZXJlZCwgKmNvdmVyZWQsICpub2RlbWFzayk7CiAJCXByZXYgPSBzZzsKIAotCQlmb3IgKGogPSAwOyBqIDwgTUFYX05VTU5PREVTOyBqKyspIHsKKwkJZm9yIChqID0gMDsgaiA8IG5yX25vZGVfaWRzOyBqKyspIHsKIAkJCVNDSEVEX0NQVU1BU0tfVkFSKG5vdGNvdmVyZWQsIGFsbG1hc2tzKTsKLQkJCWludCBuID0gKGkgKyBqKSAlIE1BWF9OVU1OT0RFUzsKKwkJCWludCBuID0gKGkgKyBqKSAlIG5yX25vZGVfaWRzOwogCQkJbm9kZV90b19jcHVtYXNrX3B0cihwbm9kZW1hc2ssIG4pOwogCiAJCQljcHVzX2NvbXBsZW1lbnQoKm5vdGNvdmVyZWQsICpjb3ZlcmVkKTsKQEAgLTcxODQsNyArNzQ5NSw3IEBACiAJfQogCiAjaWZkZWYgQ09ORklHX05VTUEKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspCisJZm9yIChpID0gMDsgaSA8IG5yX25vZGVfaWRzOyBpKyspCiAJCWluaXRfbnVtYV9zY2hlZF9ncm91cHNfcG93ZXIoc2NoZWRfZ3JvdXBfbm9kZXNbaV0pOwogCiAJaWYgKHNkX2FsbG5vZGVzKSB7CkBAIC03NDY5LDcgKzc3ODAsNyBAQAogI2VuZGlmCiAJcmV0dXJuIGVycjsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9NQyB8fCBDT05GSUdfU0NIRURfU01UICovCiAKIC8qCiAgKiBGb3JjZSBhIHJlaW5pdGlhbGl6YXRpb24gb2YgdGhlIHNjaGVkIGRvbWFpbnMgaGllcmFyY2h5LiBUaGUgZG9tYWlucwpAQCAtNzQ4MCwyMSArNzc5MSwyOCBAQAogc3RhdGljIGludCB1cGRhdGVfc2NoZWRfZG9tYWlucyhzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5mYiwKIAkJCQl1bnNpZ25lZCBsb25nIGFjdGlvbiwgdm9pZCAqaGNwdSkKIHsKKwlpbnQgY3B1ID0gKGludCkobG9uZyloY3B1OworCiAJc3dpdGNoIChhY3Rpb24pIHsKLQljYXNlIENQVV9VUF9QUkVQQVJFOgotCWNhc2UgQ1BVX1VQX1BSRVBBUkVfRlJPWkVOOgogCWNhc2UgQ1BVX0RPV05fUFJFUEFSRToKIAljYXNlIENQVV9ET1dOX1BSRVBBUkVfRlJPWkVOOgorCQlkaXNhYmxlX3J1bnRpbWUoY3B1X3JxKGNwdSkpOworCQkvKiBmYWxsLXRocm91Z2ggKi8KKwljYXNlIENQVV9VUF9QUkVQQVJFOgorCWNhc2UgQ1BVX1VQX1BSRVBBUkVfRlJPWkVOOgogCQlkZXRhY2hfZGVzdHJveV9kb21haW5zKCZjcHVfb25saW5lX21hcCk7CiAJCWZyZWVfc2NoZWRfZG9tYWlucygpOwogCQlyZXR1cm4gTk9USUZZX09LOwogCi0JY2FzZSBDUFVfVVBfQ0FOQ0VMRUQ6Ci0JY2FzZSBDUFVfVVBfQ0FOQ0VMRURfRlJPWkVOOgorCiAJY2FzZSBDUFVfRE9XTl9GQUlMRUQ6CiAJY2FzZSBDUFVfRE9XTl9GQUlMRURfRlJPWkVOOgogCWNhc2UgQ1BVX09OTElORToKIAljYXNlIENQVV9PTkxJTkVfRlJPWkVOOgorCQllbmFibGVfcnVudGltZShjcHVfcnEoY3B1KSk7CisJCS8qIGZhbGwtdGhyb3VnaCAqLworCWNhc2UgQ1BVX1VQX0NBTkNFTEVEOgorCWNhc2UgQ1BVX1VQX0NBTkNFTEVEX0ZST1pFTjoKIAljYXNlIENQVV9ERUFEOgogCWNhc2UgQ1BVX0RFQURfRlJPWkVOOgogCQkvKgpAQCAtNzY5NCw4ICs4MDEyLDggQEAKIAogCQlyb290X3Rhc2tfZ3JvdXAuY2ZzX3JxID0gKHN0cnVjdCBjZnNfcnEgKiopcHRyOwogCQlwdHIgKz0gbnJfY3B1X2lkcyAqIHNpemVvZih2b2lkICoqKTsKLSNlbmRpZgotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1VTRVJfU0NIRUQgKi8KKyNlbmRpZiAvKiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCAqLwogI2lmZGVmIENPTkZJR19SVF9HUk9VUF9TQ0hFRAogCQlpbml0X3Rhc2tfZ3JvdXAucnRfc2UgPSAoc3RydWN0IHNjaGVkX3J0X2VudGl0eSAqKilwdHI7CiAJCXB0ciArPSBucl9jcHVfaWRzICogc2l6ZW9mKHZvaWQgKiopOwpAQCAtNzcwOSw4ICs4MDI3LDggQEAKIAogCQlyb290X3Rhc2tfZ3JvdXAucnRfcnEgPSAoc3RydWN0IHJ0X3JxICoqKXB0cjsKIAkJcHRyICs9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKik7Ci0jZW5kaWYKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCisjZW5kaWYgLyogQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiAJfQogCiAjaWZkZWYgQ09ORklHX1NNUApAQCAtNzcyNiw4ICs4MDQ0LDggQEAKICNpZmRlZiBDT05GSUdfVVNFUl9TQ0hFRAogCWluaXRfcnRfYmFuZHdpZHRoKCZyb290X3Rhc2tfZ3JvdXAucnRfYmFuZHdpZHRoLAogCQkJZ2xvYmFsX3J0X3BlcmlvZCgpLCBSVU5USU1FX0lORik7Ci0jZW5kaWYKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCisjZW5kaWYgLyogQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfR1JPVVBfU0NIRUQKIAlsaXN0X2FkZCgmaW5pdF90YXNrX2dyb3VwLmxpc3QsICZ0YXNrX2dyb3Vwcyk7CkBAIC03NzM3LDggKzgwNTUsOCBAQAogCUlOSVRfTElTVF9IRUFEKCZyb290X3Rhc2tfZ3JvdXAuY2hpbGRyZW4pOwogCWluaXRfdGFza19ncm91cC5wYXJlbnQgPSAmcm9vdF90YXNrX2dyb3VwOwogCWxpc3RfYWRkKCZpbml0X3Rhc2tfZ3JvdXAuc2libGluZ3MsICZyb290X3Rhc2tfZ3JvdXAuY2hpbGRyZW4pOwotI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLworI2VuZGlmIC8qIENPTkZJR19HUk9VUF9TQ0hFRCAqLwogCiAJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpIHsKIAkJc3RydWN0IHJxICpycTsKQEAgLTc4MTgsNiArODEzNiw3IEBACiAJCXJxLT5uZXh0X2JhbGFuY2UgPSBqaWZmaWVzOwogCQlycS0+cHVzaF9jcHUgPSAwOwogCQlycS0+Y3B1ID0gaTsKKwkJcnEtPm9ubGluZSA9IDA7CiAJCXJxLT5taWdyYXRpb25fdGhyZWFkID0gTlVMTDsKIAkJSU5JVF9MSVNUX0hFQUQoJnJxLT5taWdyYXRpb25fcXVldWUpOwogCQlycV9hdHRhY2hfcm9vdChycSwgJmRlZl9yb290X2RvbWFpbik7CkBAIC03ODMzLDcgKzgxNTIsNyBAQAogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfU01QCi0Jb3Blbl9zb2Z0aXJxKFNDSEVEX1NPRlRJUlEsIHJ1bl9yZWJhbGFuY2VfZG9tYWlucywgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKFNDSEVEX1NPRlRJUlEsIHJ1bl9yZWJhbGFuY2VfZG9tYWlucyk7CiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19SVF9NVVRFWEVTCkBAIC04MDU3LDcgKzgzNzYsNyBAQAogewogCWxpc3RfZGVsX3JjdSgmdGctPmNmc19ycVtjcHVdLT5sZWFmX2Nmc19ycV9saXN0KTsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORkdfRkFJUl9HUk9VUF9TQ0hFRCAqLwogc3RhdGljIGlubGluZSB2b2lkIGZyZWVfZmFpcl9zY2hlZF9ncm91cChzdHJ1Y3QgdGFza19ncm91cCAqdGcpCiB7CiB9CkBAIC04MDc1LDcgKzgzOTQsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIHVucmVnaXN0ZXJfZmFpcl9zY2hlZF9ncm91cChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUpCiB7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX1JUX0dST1VQX1NDSEVECiBzdGF0aWMgdm9pZCBmcmVlX3J0X3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZykKQEAgLTgxNDYsNyArODQ2NSw3IEBACiB7CiAJbGlzdF9kZWxfcmN1KCZ0Zy0+cnRfcnFbY3B1XS0+bGVhZl9ydF9ycV9saXN0KTsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiBzdGF0aWMgaW5saW5lIHZvaWQgZnJlZV9ydF9zY2hlZF9ncm91cChzdHJ1Y3QgdGFza19ncm91cCAqdGcpCiB7CiB9CkBAIC04MTY0LDcgKzg0ODMsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIHVucmVnaXN0ZXJfcnRfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1KQogewogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfR1JPVVBfU0NIRUQKIHN0YXRpYyB2b2lkIGZyZWVfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnKQpAQCAtODI3NSwxNyArODU5NCwxNCBAQAogCiAJdGFza19ycV91bmxvY2socnEsICZmbGFncyk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfR1JPVVBfU0NIRUQgKi8KIAogI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECi1zdGF0aWMgdm9pZCBzZXRfc2Vfc2hhcmVzKHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlLCB1bnNpZ25lZCBsb25nIHNoYXJlcykKK3N0YXRpYyB2b2lkIF9fc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpCiB7CiAJc3RydWN0IGNmc19ycSAqY2ZzX3JxID0gc2UtPmNmc19ycTsKLQlzdHJ1Y3QgcnEgKnJxID0gY2ZzX3JxLT5ycTsKIAlpbnQgb25fcnE7CiAKLQlzcGluX2xvY2tfaXJxKCZycS0+bG9jayk7Ci0KIAlvbl9ycSA9IHNlLT5vbl9ycTsKIAlpZiAob25fcnEpCiAJCWRlcXVldWVfZW50aXR5KGNmc19ycSwgc2UsIDApOwpAQCAtODI5NSw4ICs4NjExLDE3IEBACiAKIAlpZiAob25fcnEpCiAJCWVucXVldWVfZW50aXR5KGNmc19ycSwgc2UsIDApOworfQogCi0Jc3Bpbl91bmxvY2tfaXJxKCZycS0+bG9jayk7CitzdGF0aWMgdm9pZCBzZXRfc2Vfc2hhcmVzKHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlLCB1bnNpZ25lZCBsb25nIHNoYXJlcykKK3sKKwlzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEgPSBzZS0+Y2ZzX3JxOworCXN0cnVjdCBycSAqcnEgPSBjZnNfcnEtPnJxOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwlfX3NldF9zZV9zaGFyZXMoc2UsIHNoYXJlcyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKIH0KIAogc3RhdGljIERFRklORV9NVVRFWChzaGFyZXNfbXV0ZXgpOwpAQCAtODMzNSw4ICs4NjYwLDEzIEBACiAJICogdy9vIHRyaXBwaW5nIHJlYmFsYW5jZV9zaGFyZSBvciBsb2FkX2JhbGFuY2VfZmFpci4KIAkgKi8KIAl0Zy0+c2hhcmVzID0gc2hhcmVzOwotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShpKQorCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShpKSB7CisJCS8qCisJCSAqIGZvcmNlIGEgcmViYWxhbmNlCisJCSAqLworCQljZnNfcnFfc2V0X3NoYXJlcyh0Zy0+Y2ZzX3JxW2ldLCAwKTsKIAkJc2V0X3NlX3NoYXJlcyh0Zy0+c2VbaV0sIHNoYXJlcyk7CisJfQogCiAJLyoKIAkgKiBFbmFibGUgbG9hZCBiYWxhbmNlIGFjdGl2aXR5IG9uIHRoaXMgZ3JvdXAsIGJ5IGluc2VydGluZyBpdCBiYWNrIG9uCkBAIC04Mzc1LDcgKzg3MDUsNyBAQAogI2lmZGVmIENPTkZJR19DR1JPVVBfU0NIRUQKIHN0YXRpYyBpbnQgX19ydF9zY2hlZHVsYWJsZShzdHJ1Y3QgdGFza19ncm91cCAqdGcsIHU2NCBwZXJpb2QsIHU2NCBydW50aW1lKQogewotCXN0cnVjdCB0YXNrX2dyb3VwICp0Z2ksICpwYXJlbnQgPSB0ZyA/IHRnLT5wYXJlbnQgOiBOVUxMOworCXN0cnVjdCB0YXNrX2dyb3VwICp0Z2ksICpwYXJlbnQgPSB0Zy0+cGFyZW50OwogCXVuc2lnbmVkIGxvbmcgdG90YWwgPSAwOwogCiAJaWYgKCFwYXJlbnQpIHsKQEAgLTgzOTksNyArODcyOSw3IEBACiAJfQogCXJjdV9yZWFkX3VubG9jaygpOwogCi0JcmV0dXJuIHRvdGFsICsgdG9fcmF0aW8ocGVyaW9kLCBydW50aW1lKSA8CisJcmV0dXJuIHRvdGFsICsgdG9fcmF0aW8ocGVyaW9kLCBydW50aW1lKSA8PQogCQl0b19yYXRpbyhrdGltZV90b19ucyhwYXJlbnQtPnJ0X2JhbmR3aWR0aC5ydF9wZXJpb2QpLAogCQkJCXBhcmVudC0+cnRfYmFuZHdpZHRoLnJ0X3J1bnRpbWUpOwogfQpAQCAtODUxOSwxNiArODg0OSwyMSBAQAogCiBzdGF0aWMgaW50IHNjaGVkX3J0X2dsb2JhbF9jb25zdHJhaW50cyh2b2lkKQogeworCXN0cnVjdCB0YXNrX2dyb3VwICp0ZyA9ICZyb290X3Rhc2tfZ3JvdXA7CisJdTY0IHJ0X3J1bnRpbWUsIHJ0X3BlcmlvZDsKIAlpbnQgcmV0ID0gMDsKIAorCXJ0X3BlcmlvZCA9IGt0aW1lX3RvX25zKHRnLT5ydF9iYW5kd2lkdGgucnRfcGVyaW9kKTsKKwlydF9ydW50aW1lID0gdGctPnJ0X2JhbmR3aWR0aC5ydF9ydW50aW1lOworCiAJbXV0ZXhfbG9jaygmcnRfY29uc3RyYWludHNfbXV0ZXgpOwotCWlmICghX19ydF9zY2hlZHVsYWJsZShOVUxMLCAxLCAwKSkKKwlpZiAoIV9fcnRfc2NoZWR1bGFibGUodGcsIHJ0X3BlcmlvZCwgcnRfcnVudGltZSkpCiAJCXJldCA9IC1FSU5WQUw7CiAJbXV0ZXhfdW5sb2NrKCZydF9jb25zdHJhaW50c19tdXRleCk7CiAKIAlyZXR1cm4gcmV0OwogfQotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIHN0YXRpYyBpbnQgc2NoZWRfcnRfZ2xvYmFsX2NvbnN0cmFpbnRzKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTg1NDYsNyArODg4MSw3IEBACiAKIAlyZXR1cm4gMDsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiBpbnQgc2NoZWRfcnRfaGFuZGxlcihzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLAogCQlzdHJ1Y3QgZmlsZSAqZmlscCwgdm9pZCBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90ICpsZW5wLApAQCAtODY1NCw3ICs4OTg5LDcgQEAKIAogCXJldHVybiAodTY0KSB0Zy0+c2hhcmVzOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIAogI2lmZGVmIENPTkZJR19SVF9HUk9VUF9TQ0hFRAogc3RhdGljIGludCBjcHVfcnRfcnVudGltZV93cml0ZShzdHJ1Y3QgY2dyb3VwICpjZ3JwLCBzdHJ1Y3QgY2Z0eXBlICpjZnQsCkBAIC04Njc4LDcgKzkwMTMsNyBAQAogewogCXJldHVybiBzY2hlZF9ncm91cF9ydF9wZXJpb2QoY2dyb3VwX3RnKGNncnApKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiBzdGF0aWMgc3RydWN0IGNmdHlwZSBjcHVfZmlsZXNbXSA9IHsKICNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRApkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX2Nsb2NrLmMgYi9rZXJuZWwvc2NoZWRfY2xvY2suYwppbmRleCBjZTA1MjcxLi4yMmVkNTVkIDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWRfY2xvY2suYworKysgYi9rZXJuZWwvc2NoZWRfY2xvY2suYwpAQCAtMyw2ICszLDkgQEAKICAqCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA4IFJlZCBIYXQsIEluYy4sIFBldGVyIFppamxzdHJhIDxwemlqbHN0ckByZWRoYXQuY29tPgogICoKKyAqICBVcGRhdGVzIGFuZCBlbmhhbmNlbWVudHM6CisgKiAgICBDb3B5cmlnaHQgKEMpIDIwMDggUmVkIEhhdCwgSW5jLiBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCiAgKiBCYXNlZCBvbiBjb2RlIGJ5OgogICogICBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KICAqICAgR3VpbGxhdW1lIENoYXphcmFpbiA8Z3VpY2hhekBnbWFpbC5jb20+CkBAIC0zMiw2ICszNSwxMSBAQAogCiAjaWZkZWYgQ09ORklHX0hBVkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0sKIAorI2RlZmluZSBNVUxUSV9TSElGVCAxNQorLyogTWF4IGlzIGRvdWJsZSwgTWluIGlzIDEvMiAqLworI2RlZmluZSBNQVhfTVVMVEkgKDJMTCA8PCBNVUxUSV9TSElGVCkKKyNkZWZpbmUgTUlOX01VTFRJICgxTEwgPDwgKE1VTFRJX1NISUZULTEpKQorCiBzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSB7CiAJLyoKIAkgKiBSYXcgc3BpbmxvY2sgLSB0aGlzIGlzIGEgc3BlY2lhbCBjYXNlOiB0aGlzIG1pZ2h0IGJlIGNhbGxlZApAQCAtNDAsMTEgKzQ4LDE1IEBACiAJICovCiAJcmF3X3NwaW5sb2NrX3QJCWxvY2s7CiAKLQl1bnNpZ25lZCBsb25nCQlwcmV2X2ppZmZpZXM7CisJdW5zaWduZWQgbG9uZwkJdGlja19qaWZmaWVzOwogCXU2NAkJCXByZXZfcmF3OwogCXU2NAkJCXRpY2tfcmF3OwogCXU2NAkJCXRpY2tfZ3RvZDsKIAl1NjQJCQljbG9jazsKKwlzNjQJCQltdWx0aTsKKyNpZmRlZiBDT05GSUdfTk9fSFoKKwlpbnQJCQljaGVja19tYXg7CisjZW5kaWYKIH07CiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVV9TSEFSRURfQUxJR05FRChzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSwgc2NoZWRfY2xvY2tfZGF0YSk7CkBAIC03MSw0MSArODMsOTEgQEAKIAkJc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCA9IGNwdV9zZGMoY3B1KTsKIAogCQlzY2QtPmxvY2sgPSAocmF3X3NwaW5sb2NrX3QpX19SQVdfU1BJTl9MT0NLX1VOTE9DS0VEOwotCQlzY2QtPnByZXZfamlmZmllcyA9IG5vd19qaWZmaWVzOworCQlzY2QtPnRpY2tfamlmZmllcyA9IG5vd19qaWZmaWVzOwogCQlzY2QtPnByZXZfcmF3ID0gMDsKIAkJc2NkLT50aWNrX3JhdyA9IDA7CiAJCXNjZC0+dGlja19ndG9kID0ga3RpbWVfbm93OwogCQlzY2QtPmNsb2NrID0ga3RpbWVfbm93OworCQlzY2QtPm11bHRpID0gMSA8PCBNVUxUSV9TSElGVDsKKyNpZmRlZiBDT05GSUdfTk9fSFoKKwkJc2NkLT5jaGVja19tYXggPSAxOworI2VuZGlmCiAJfQogCiAJc2NoZWRfY2xvY2tfcnVubmluZyA9IDE7CiB9CiAKKyNpZmRlZiBDT05GSUdfTk9fSFoKKy8qCisgKiBUaGUgZHluYW1pYyB0aWNrcyBtYWtlcyB0aGUgZGVsdGEgamlmZmllcyBpbmFjY3VyYXRlLiBUaGlzCisgKiBwcmV2ZW50cyB1cyBmcm9tIGNoZWNraW5nIHRoZSBtYXhpbXVtIHRpbWUgdXBkYXRlLgorICogRGlzYWJsZSB0aGUgbWF4aW11bSBjaGVjayBkdXJpbmcgc3RvcHBlZCB0aWNrcy4KKyAqLwordm9pZCBzY2hlZF9jbG9ja190aWNrX3N0b3AoaW50IGNwdSkKK3sKKwlzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkID0gY3B1X3NkYyhjcHUpOworCisJc2NkLT5jaGVja19tYXggPSAwOworfQorCit2b2lkIHNjaGVkX2Nsb2NrX3RpY2tfc3RhcnQoaW50IGNwdSkKK3sKKwlzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkID0gY3B1X3NkYyhjcHUpOworCisJc2NkLT5jaGVja19tYXggPSAxOworfQorCitzdGF0aWMgaW50IGNoZWNrX21heChzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkKQoreworCXJldHVybiBzY2QtPmNoZWNrX21heDsKK30KKyNlbHNlCitzdGF0aWMgaW50IGNoZWNrX21heChzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkKQoreworCXJldHVybiAxOworfQorI2VuZGlmIC8qIENPTkZJR19OT19IWiAqLworCiAvKgogICogdXBkYXRlIHRoZSBwZXJjcHUgc2NkIGZyb20gdGhlIHJhdyBAbm93IHZhbHVlCiAgKgogICogIC0gZmlsdGVyIG91dCBiYWNrd2FyZCBtb3Rpb24KICAqICAtIHVzZSBqaWZmaWVzIHRvIGdlbmVyYXRlIGEgbWluLG1heCB3aW5kb3cgdG8gY2xpcCB0aGUgcmF3IHZhbHVlcwogICovCi1zdGF0aWMgdm9pZCBfX3VwZGF0ZV9zY2hlZF9jbG9jayhzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkLCB1NjQgbm93KQorc3RhdGljIHZvaWQgX191cGRhdGVfc2NoZWRfY2xvY2soc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCwgdTY0IG5vdywgdTY0ICp0aW1lKQogewogCXVuc2lnbmVkIGxvbmcgbm93X2ppZmZpZXMgPSBqaWZmaWVzOwotCWxvbmcgZGVsdGFfamlmZmllcyA9IG5vd19qaWZmaWVzIC0gc2NkLT5wcmV2X2ppZmZpZXM7CisJbG9uZyBkZWx0YV9qaWZmaWVzID0gbm93X2ppZmZpZXMgLSBzY2QtPnRpY2tfamlmZmllczsKIAl1NjQgY2xvY2sgPSBzY2QtPmNsb2NrOwogCXU2NCBtaW5fY2xvY2ssIG1heF9jbG9jazsKIAlzNjQgZGVsdGEgPSBub3cgLSBzY2QtPnByZXZfcmF3OwogCiAJV0FSTl9PTl9PTkNFKCFpcnFzX2Rpc2FibGVkKCkpOwotCW1pbl9jbG9jayA9IHNjZC0+dGlja19ndG9kICsgZGVsdGFfamlmZmllcyAqIFRJQ0tfTlNFQzsKKworCS8qCisJICogQXQgc2NoZWR1bGUgdGljayB0aGUgY2xvY2sgY2FuIGJlIGp1c3QgdW5kZXIgdGhlIGd0b2QuIFdlIGRvbid0CisJICogd2FudCB0byBwdXNoIGl0IHRvbyBwcmVtYXR1cmVseS4KKwkgKi8KKwltaW5fY2xvY2sgPSBzY2QtPnRpY2tfZ3RvZCArIChkZWx0YV9qaWZmaWVzICogVElDS19OU0VDKTsKKwlpZiAobWluX2Nsb2NrID4gVElDS19OU0VDKQorCQltaW5fY2xvY2sgLT0gVElDS19OU0VDIC8gMjsKIAogCWlmICh1bmxpa2VseShkZWx0YSA8IDApKSB7CiAJCWNsb2NrKys7CiAJCWdvdG8gb3V0OwogCX0KIAotCW1heF9jbG9jayA9IG1pbl9jbG9jayArIFRJQ0tfTlNFQzsKKwkvKgorCSAqIFRoZSBjbG9jayBtdXN0IHN0YXkgd2l0aGluIGEgamlmZmllIG9mIHRoZSBndG9kLgorCSAqIEJ1dCBzaW5jZSB3ZSBtYXkgYmUgYXQgdGhlIHN0YXJ0IG9mIGEgamlmZnkgb3IgdGhlIGVuZCBvZiBvbmUKKwkgKiB3ZSBhZGQgYW5vdGhlciBqaWZmeSBidWZmZXIuCisJICovCisJbWF4X2Nsb2NrID0gc2NkLT50aWNrX2d0b2QgKyAoMiArIGRlbHRhX2ppZmZpZXMpICogVElDS19OU0VDOwogCi0JaWYgKHVubGlrZWx5KGNsb2NrICsgZGVsdGEgPiBtYXhfY2xvY2spKSB7CisJZGVsdGEgKj0gc2NkLT5tdWx0aTsKKwlkZWx0YSA+Pj0gTVVMVElfU0hJRlQ7CisKKwlpZiAodW5saWtlbHkoY2xvY2sgKyBkZWx0YSA+IG1heF9jbG9jaykgJiYgY2hlY2tfbWF4KHNjZCkpIHsKIAkJaWYgKGNsb2NrIDwgbWF4X2Nsb2NrKQogCQkJY2xvY2sgPSBtYXhfY2xvY2s7CiAJCWVsc2UKQEAgLTExOCw5ICsxODAsMTIgQEAKIAlpZiAodW5saWtlbHkoY2xvY2sgPCBtaW5fY2xvY2spKQogCQljbG9jayA9IG1pbl9jbG9jazsKIAotCXNjZC0+cHJldl9yYXcgPSBub3c7Ci0Jc2NkLT5wcmV2X2ppZmZpZXMgPSBub3dfamlmZmllczsKLQlzY2QtPmNsb2NrID0gY2xvY2s7CisJaWYgKHRpbWUpCisJCSp0aW1lID0gY2xvY2s7CisJZWxzZSB7CisJCXNjZC0+cHJldl9yYXcgPSBub3c7CisJCXNjZC0+Y2xvY2sgPSBjbG9jazsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIGxvY2tfZG91YmxlX2Nsb2NrKHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpkYXRhMSwKQEAgLTE2MCwyNSArMjI1LDMwIEBACiAJCW5vdyAtPSBteV9zY2QtPnRpY2tfcmF3OwogCQlub3cgKz0gc2NkLT50aWNrX3JhdzsKIAotCQlub3cgLT0gbXlfc2NkLT50aWNrX2d0b2Q7Ci0JCW5vdyArPSBzY2QtPnRpY2tfZ3RvZDsKKwkJbm93ICs9IG15X3NjZC0+dGlja19ndG9kOworCQlub3cgLT0gc2NkLT50aWNrX2d0b2Q7CiAKIAkJX19yYXdfc3Bpbl91bmxvY2soJm15X3NjZC0+bG9jayk7CisKKwkJX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3csICZjbG9jayk7CisKKwkJX19yYXdfc3Bpbl91bmxvY2soJnNjZC0+bG9jayk7CisKIAl9IGVsc2UgewogCQlfX3Jhd19zcGluX2xvY2soJnNjZC0+bG9jayk7CisJCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93LCBOVUxMKTsKKwkJY2xvY2sgPSBzY2QtPmNsb2NrOworCQlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKIAl9CiAKLQlfX3VwZGF0ZV9zY2hlZF9jbG9jayhzY2QsIG5vdyk7Ci0JY2xvY2sgPSBzY2QtPmNsb2NrOwotCi0JX19yYXdfc3Bpbl91bmxvY2soJnNjZC0+bG9jayk7Ci0KIAlyZXR1cm4gY2xvY2s7CiB9CiAKIHZvaWQgc2NoZWRfY2xvY2tfdGljayh2b2lkKQogewogCXN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QgPSB0aGlzX3NjZCgpOworCXVuc2lnbmVkIGxvbmcgbm93X2ppZmZpZXMgPSBqaWZmaWVzOworCXM2NCBtdWx0LCBkZWx0YV9ndG9kLCBkZWx0YV9yYXc7CiAJdTY0IG5vdywgbm93X2d0b2Q7CiAKIAlpZiAodW5saWtlbHkoIXNjaGVkX2Nsb2NrX3J1bm5pbmcpKQpAQCAtMTg2LDE4ICsyNTYsMzMgQEAKIAogCVdBUk5fT05fT05DRSghaXJxc19kaXNhYmxlZCgpKTsKIAotCW5vdyA9IHNjaGVkX2Nsb2NrKCk7CiAJbm93X2d0b2QgPSBrdGltZV90b19ucyhrdGltZV9nZXQoKSk7CisJbm93ID0gc2NoZWRfY2xvY2soKTsKIAogCV9fcmF3X3NwaW5fbG9jaygmc2NkLT5sb2NrKTsKLQlfX3VwZGF0ZV9zY2hlZF9jbG9jayhzY2QsIG5vdyk7CisJX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3csIE5VTEwpOwogCS8qCiAJICogdXBkYXRlIHRpY2tfZ3RvZCBhZnRlciBfX3VwZGF0ZV9zY2hlZF9jbG9jaygpIGJlY2F1c2UgdGhhdCB3aWxsCiAJICogYWxyZWFkeSBvYnNlcnZlIDEgbmV3IGppZmZ5OyBhZGRpbmcgYSBuZXcgdGlja19ndG9kIHRvIHRoYXQgd291bGQKIAkgKiBpbmNyZWFzZSB0aGUgY2xvY2sgMiBqaWZmaWVzLgogCSAqLworCWRlbHRhX2d0b2QgPSBub3dfZ3RvZCAtIHNjZC0+dGlja19ndG9kOworCWRlbHRhX3JhdyA9IG5vdyAtIHNjZC0+dGlja19yYXc7CisKKwlpZiAoKGxvbmcpZGVsdGFfcmF3ID4gMCkgeworCQltdWx0ID0gZGVsdGFfZ3RvZCA8PCBNVUxUSV9TSElGVDsKKwkJZG9fZGl2KG11bHQsIGRlbHRhX3Jhdyk7CisJCXNjZC0+bXVsdGkgPSBtdWx0OworCQlpZiAoc2NkLT5tdWx0aSA+IE1BWF9NVUxUSSkKKwkJCXNjZC0+bXVsdGkgPSBNQVhfTVVMVEk7CisJCWVsc2UgaWYgKHNjZC0+bXVsdGkgPCBNSU5fTVVMVEkpCisJCQlzY2QtPm11bHRpID0gTUlOX01VTFRJOworCX0gZWxzZQorCQlzY2QtPm11bHRpID0gMSA8PCBNVUxUSV9TSElGVDsKKwogCXNjZC0+dGlja19yYXcgPSBub3c7CiAJc2NkLT50aWNrX2d0b2QgPSBub3dfZ3RvZDsKKwlzY2QtPnRpY2tfamlmZmllcyA9IG5vd19qaWZmaWVzOwogCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOwogfQogCkBAIC0yMjcsNiArMzEyLDcgQEAKIAlfX3Jhd19zcGluX2xvY2soJnNjZC0+bG9jayk7CiAJc2NkLT5wcmV2X3JhdyA9IG5vdzsKIAlzY2QtPmNsb2NrICs9IGRlbHRhX25zOworCXNjZC0+bXVsdGkgPSAxIDw8IE1VTFRJX1NISUZUOwogCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOwogCiAJdG91Y2hfc29mdGxvY2t1cF93YXRjaGRvZygpOwpAQCAtMjQ0LDMgKzMzMCwxNiBAQAogewogCXJldHVybiAodW5zaWduZWQgbG9uZyBsb25nKWppZmZpZXMgKiAoTlNFQ19QRVJfU0VDIC8gSFopOwogfQorCit1bnNpZ25lZCBsb25nIGxvbmcgY3B1X2Nsb2NrKGludCBjcHUpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJY2xvY2sgPSBzY2hlZF9jbG9ja19jcHUoY3B1KTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlyZXR1cm4gY2xvY2s7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChjcHVfY2xvY2spOwpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX2NwdXByaS5jIGIva2VybmVsL3NjaGVkX2NwdXByaS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyMTU0ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvc2NoZWRfY3B1cHJpLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiAga2VybmVsL3NjaGVkX2NwdXByaS5jCisgKgorICogIENQVSBwcmlvcml0eSBtYW5hZ2VtZW50CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IE5vdmVsbAorICoKKyAqICBBdXRob3I6IEdyZWdvcnkgSGFza2lucyA8Z2hhc2tpbnNAbm92ZWxsLmNvbT4KKyAqCisgKiAgVGhpcyBjb2RlIHRyYWNrcyB0aGUgcHJpb3JpdHkgb2YgZWFjaCBDUFUgc28gdGhhdCBnbG9iYWwgbWlncmF0aW9uCisgKiAgZGVjaXNpb25zIGFyZSBlYXN5IHRvIGNhbGN1bGF0ZS4gIEVhY2ggQ1BVIGNhbiBiZSBpbiBhIHN0YXRlIGFzIGZvbGxvd3M6CisgKgorICogICAgICAgICAgICAgICAgIChJTlZBTElEKSwgSURMRSwgTk9STUFMLCBSVDEsIC4uLiBSVDk5CisgKgorICogIGdvaW5nIGZyb20gdGhlIGxvd2VzdCBwcmlvcml0eSB0byB0aGUgaGlnaGVzdC4gIENQVXMgaW4gdGhlIElOVkFMSUQgc3RhdGUKKyAqICBhcmUgbm90IGVsaWdpYmxlIGZvciByb3V0aW5nLiAgVGhlIHN5c3RlbSBtYWludGFpbnMgdGhpcyBzdGF0ZSB3aXRoCisgKiAgYSAyIGRpbWVuc2lvbmFsIGJpdG1hcCAodGhlIGZpcnN0IGZvciBwcmlvcml0eSBjbGFzcywgdGhlIHNlY29uZCBmb3IgY3B1cworICogIGluIHRoYXQgY2xhc3MpLiAgVGhlcmVmb3JlIGEgdHlwaWNhbCBhcHBsaWNhdGlvbiB3aXRob3V0IGFmZmluaXR5CisgKiAgcmVzdHJpY3Rpb25zIGNhbiBmaW5kIGEgc3VpdGFibGUgQ1BVIHdpdGggTygxKSBjb21wbGV4aXR5IChlLmcuIHR3byBiaXQKKyAqICBzZWFyY2hlcykuICBGb3IgdGFza3Mgd2l0aCBhZmZpbml0eSByZXN0cmljdGlvbnMsIHRoZSBhbGdvcml0aG0gaGFzIGEKKyAqICB3b3JzdCBjYXNlIGNvbXBsZXhpdHkgb2YgTyhtaW4oMTAyLCBucl9kb21jcHVzKSksIHRob3VnaCB0aGUgc2NlbmFyaW8gdGhhdAorICogIHlpZWxkcyB0aGUgd29yc3QgY2FzZSBzZWFyY2ggaXMgZmFpcmx5IGNvbnRyaXZlZC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMgorICogIG9mIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlICJzY2hlZF9jcHVwcmkuaCIKKworLyogQ29udmVydCBiZXR3ZWVuIGEgMTQwIGJhc2VkIHRhc2stPnByaW8sIGFuZCBvdXIgMTAyIGJhc2VkIGNwdXByaSAqLworc3RhdGljIGludCBjb252ZXJ0X3ByaW8oaW50IHByaW8pCit7CisJaW50IGNwdXByaTsKKworCWlmIChwcmlvID09IENQVVBSSV9JTlZBTElEKQorCQljcHVwcmkgPSBDUFVQUklfSU5WQUxJRDsKKwllbHNlIGlmIChwcmlvID09IE1BWF9QUklPKQorCQljcHVwcmkgPSBDUFVQUklfSURMRTsKKwllbHNlIGlmIChwcmlvID49IE1BWF9SVF9QUklPKQorCQljcHVwcmkgPSBDUFVQUklfTk9STUFMOworCWVsc2UKKwkJY3B1cHJpID0gTUFYX1JUX1BSSU8gLSBwcmlvICsgMTsKKworCXJldHVybiBjcHVwcmk7Cit9CisKKyNkZWZpbmUgZm9yX2VhY2hfY3B1cHJpX2FjdGl2ZShhcnJheSwgaWR4KSAgICAgICAgICAgICAgICAgICAgXAorICBmb3IgKGlkeCA9IGZpbmRfZmlyc3RfYml0KGFycmF5LCBDUFVQUklfTlJfUFJJT1JJVElFUyk7ICAgICBcCisgICAgICAgaWR4IDwgQ1BVUFJJX05SX1BSSU9SSVRJRVM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICBpZHggPSBmaW5kX25leHRfYml0KGFycmF5LCBDUFVQUklfTlJfUFJJT1JJVElFUywgaWR4KzEpKQorCisvKioKKyAqIGNwdXByaV9maW5kIC0gZmluZCB0aGUgYmVzdCAobG93ZXN0LXByaSkgQ1BVIGluIHRoZSBzeXN0ZW0KKyAqIEBjcDogVGhlIGNwdXByaSBjb250ZXh0CisgKiBAcDogVGhlIHRhc2sKKyAqIEBsb3dlc3RfbWFzazogQSBtYXNrIHRvIGZpbGwgaW4gd2l0aCBzZWxlY3RlZCBDUFVzCisgKgorICogTm90ZTogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZWNvbW1lbmRlZCBDUFVzIGFzIGNhbGN1bGF0ZWQgZHVyaW5nIHRoZQorICogY3VycmVudCBpbnZva2F0aW9uLiAgQnkgdGhlIHRpbWUgdGhlIGNhbGwgcmV0dXJucywgdGhlIENQVXMgbWF5IGhhdmUgaW4KKyAqIGZhY3QgY2hhbmdlZCBwcmlvcml0aWVzIGFueSBudW1iZXIgb2YgdGltZXMuICBXaGlsZSBub3QgaWRlYWwsIGl0IGlzIG5vdAorICogYW4gaXNzdWUgb2YgY29ycmVjdG5lc3Mgc2luY2UgdGhlIG5vcm1hbCByZWJhbGFuY2VyIGxvZ2ljIHdpbGwgY29ycmVjdAorICogYW55IGRpc2NyZXBhbmNpZXMgY3JlYXRlZCBieSByYWNpbmcgYWdhaW5zdCB0aGUgdW5jZXJ0YWludHkgb2YgdGhlIGN1cnJlbnQKKyAqIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24uCisgKgorICogUmV0dXJuczogKGludClib29sIC0gQ1BVcyB3ZXJlIGZvdW5kCisgKi8KK2ludCBjcHVwcmlfZmluZChzdHJ1Y3QgY3B1cHJpICpjcCwgc3RydWN0IHRhc2tfc3RydWN0ICpwLAorCQljcHVtYXNrX3QgKmxvd2VzdF9tYXNrKQoreworCWludCAgICAgICAgICAgICAgICAgIGlkeCAgICAgID0gMDsKKwlpbnQgICAgICAgICAgICAgICAgICB0YXNrX3ByaSA9IGNvbnZlcnRfcHJpbyhwLT5wcmlvKTsKKworCWZvcl9lYWNoX2NwdXByaV9hY3RpdmUoY3AtPnByaV9hY3RpdmUsIGlkeCkgeworCQlzdHJ1Y3QgY3B1cHJpX3ZlYyAqdmVjICA9ICZjcC0+cHJpX3RvX2NwdVtpZHhdOworCQljcHVtYXNrX3QgbWFzazsKKworCQlpZiAoaWR4ID49IHRhc2tfcHJpKQorCQkJYnJlYWs7CisKKwkJY3B1c19hbmQobWFzaywgcC0+Y3B1c19hbGxvd2VkLCB2ZWMtPm1hc2spOworCisJCWlmIChjcHVzX2VtcHR5KG1hc2spKQorCQkJY29udGludWU7CisKKwkJKmxvd2VzdF9tYXNrID0gbWFzazsKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogY3B1cHJpX3NldCAtIHVwZGF0ZSB0aGUgY3B1IHByaW9yaXR5IHNldHRpbmcKKyAqIEBjcDogVGhlIGNwdXByaSBjb250ZXh0CisgKiBAY3B1OiBUaGUgdGFyZ2V0IGNwdQorICogQHByaTogVGhlIHByaW9yaXR5IChJTlZBTElELVJUOTkpIHRvIGFzc2lnbiB0byB0aGlzIENQVQorICoKKyAqIE5vdGU6IEFzc3VtZXMgY3B1X3JxKGNwdSktPmxvY2sgaXMgbG9ja2VkCisgKgorICogUmV0dXJuczogKHZvaWQpCisgKi8KK3ZvaWQgY3B1cHJpX3NldChzdHJ1Y3QgY3B1cHJpICpjcCwgaW50IGNwdSwgaW50IG5ld3ByaSkKK3sKKwlpbnQgICAgICAgICAgICAgICAgICpjdXJycHJpID0gJmNwLT5jcHVfdG9fcHJpW2NwdV07CisJaW50ICAgICAgICAgICAgICAgICAgb2xkcHJpICA9ICpjdXJycHJpOworCXVuc2lnbmVkIGxvbmcgICAgICAgIGZsYWdzOworCisJbmV3cHJpID0gY29udmVydF9wcmlvKG5ld3ByaSk7CisKKwlCVUdfT04obmV3cHJpID49IENQVVBSSV9OUl9QUklPUklUSUVTKTsKKworCWlmIChuZXdwcmkgPT0gb2xkcHJpKQorCQlyZXR1cm47CisKKwkvKgorCSAqIElmIHRoZSBjcHUgd2FzIGN1cnJlbnRseSBtYXBwZWQgdG8gYSBkaWZmZXJlbnQgdmFsdWUsIHdlCisJICogZmlyc3QgbmVlZCB0byB1bm1hcCB0aGUgb2xkIHZhbHVlCisJICovCisJaWYgKGxpa2VseShvbGRwcmkgIT0gQ1BVUFJJX0lOVkFMSUQpKSB7CisJCXN0cnVjdCBjcHVwcmlfdmVjICp2ZWMgID0gJmNwLT5wcmlfdG9fY3B1W29sZHByaV07CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnZlYy0+bG9jaywgZmxhZ3MpOworCisJCXZlYy0+Y291bnQtLTsKKwkJaWYgKCF2ZWMtPmNvdW50KQorCQkJY2xlYXJfYml0KG9sZHByaSwgY3AtPnByaV9hY3RpdmUpOworCQljcHVfY2xlYXIoY3B1LCB2ZWMtPm1hc2spOworCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZlYy0+bG9jaywgZmxhZ3MpOworCX0KKworCWlmIChsaWtlbHkobmV3cHJpICE9IENQVVBSSV9JTlZBTElEKSkgeworCQlzdHJ1Y3QgY3B1cHJpX3ZlYyAqdmVjID0gJmNwLT5wcmlfdG9fY3B1W25ld3ByaV07CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnZlYy0+bG9jaywgZmxhZ3MpOworCisJCWNwdV9zZXQoY3B1LCB2ZWMtPm1hc2spOworCQl2ZWMtPmNvdW50Kys7CisJCWlmICh2ZWMtPmNvdW50ID09IDEpCisJCQlzZXRfYml0KG5ld3ByaSwgY3AtPnByaV9hY3RpdmUpOworCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZlYy0+bG9jaywgZmxhZ3MpOworCX0KKworCSpjdXJycHJpID0gbmV3cHJpOworfQorCisvKioKKyAqIGNwdXByaV9pbml0IC0gaW5pdGlhbGl6ZSB0aGUgY3B1cHJpIHN0cnVjdHVyZQorICogQGNwOiBUaGUgY3B1cHJpIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAodm9pZCkKKyAqLwordm9pZCBjcHVwcmlfaW5pdChzdHJ1Y3QgY3B1cHJpICpjcCkKK3sKKwlpbnQgaTsKKworCW1lbXNldChjcCwgMCwgc2l6ZW9mKCpjcCkpOworCisJZm9yIChpID0gMDsgaSA8IENQVVBSSV9OUl9QUklPUklUSUVTOyBpKyspIHsKKwkJc3RydWN0IGNwdXByaV92ZWMgKnZlYyA9ICZjcC0+cHJpX3RvX2NwdVtpXTsKKworCQlzcGluX2xvY2tfaW5pdCgmdmVjLT5sb2NrKTsKKwkJdmVjLT5jb3VudCA9IDA7CisJCWNwdXNfY2xlYXIodmVjLT5tYXNrKTsKKwl9CisKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkKKwkJY3AtPmNwdV90b19wcmlbaV0gPSBDUFVQUklfSU5WQUxJRDsKK30KKworCmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfY3B1cHJpLmggYi9rZXJuZWwvc2NoZWRfY3B1cHJpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI1ODExYjAKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvc2NoZWRfY3B1cHJpLmgKQEAgLTAsMCArMSwzNiBAQAorI2lmbmRlZiBfTElOVVhfQ1BVUFJJX0gKKyNkZWZpbmUgX0xJTlVYX0NQVVBSSV9ICisKKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorCisjZGVmaW5lIENQVVBSSV9OUl9QUklPUklUSUVTCShNQVhfUlRfUFJJTyArIDIpCisjZGVmaW5lIENQVVBSSV9OUl9QUklfV09SRFMJQklUU19UT19MT05HUyhDUFVQUklfTlJfUFJJT1JJVElFUykKKworI2RlZmluZSBDUFVQUklfSU5WQUxJRCAtMQorI2RlZmluZSBDUFVQUklfSURMRSAgICAgMAorI2RlZmluZSBDUFVQUklfTk9STUFMICAgMQorLyogdmFsdWVzIDItMTAxIGFyZSBSVCBwcmlvcml0aWVzIDAtOTkgKi8KKworc3RydWN0IGNwdXByaV92ZWMgeworCXNwaW5sb2NrX3QgbG9jazsKKwlpbnQgICAgICAgIGNvdW50OworCWNwdW1hc2tfdCAgbWFzazsKK307CisKK3N0cnVjdCBjcHVwcmkgeworCXN0cnVjdCBjcHVwcmlfdmVjIHByaV90b19jcHVbQ1BVUFJJX05SX1BSSU9SSVRJRVNdOworCWxvbmcgICAgICAgICAgICAgIHByaV9hY3RpdmVbQ1BVUFJJX05SX1BSSV9XT1JEU107CisJaW50ICAgICAgICAgICAgICAgY3B1X3RvX3ByaVtOUl9DUFVTXTsKK307CisKKyNpZmRlZiBDT05GSUdfU01QCitpbnQgIGNwdXByaV9maW5kKHN0cnVjdCBjcHVwcmkgKmNwLAorCQkgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBjcHVtYXNrX3QgKmxvd2VzdF9tYXNrKTsKK3ZvaWQgY3B1cHJpX3NldChzdHJ1Y3QgY3B1cHJpICpjcCwgaW50IGNwdSwgaW50IHByaSk7Cit2b2lkIGNwdXByaV9pbml0KHN0cnVjdCBjcHVwcmkgKmNwKTsKKyNlbHNlCisjZGVmaW5lIGNwdXByaV9zZXQoY3AsIGNwdSwgcHJpKSBkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGNwdXByaV9pbml0KCkgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNlbmRpZiAvKiBfTElOVVhfQ1BVUFJJX0ggKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jIGIva2VybmVsL3NjaGVkX2RlYnVnLmMKaW5kZXggOGJiNzEzMC4uYmJlNmIzMSAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX2RlYnVnLmMKKysrIGIva2VybmVsL3NjaGVkX2RlYnVnLmMKQEAgLTExOSw5ICsxMTksNyBAQAogCXN0cnVjdCBzY2hlZF9lbnRpdHkgKmxhc3Q7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotI2lmICFkZWZpbmVkKENPTkZJR19DR1JPVVBfU0NIRUQpIHx8ICFkZWZpbmVkKENPTkZJR19VU0VSX1NDSEVEKQotCVNFUV9wcmludGYobSwgIlxuY2ZzX3JxWyVkXTpcbiIsIGNwdSk7Ci0jZWxzZQorI2lmIGRlZmluZWQoQ09ORklHX0NHUk9VUF9TQ0hFRCkgJiYgZGVmaW5lZChDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCkKIAljaGFyIHBhdGhbMTI4XSA9ICIiOwogCXN0cnVjdCBjZ3JvdXAgKmNncm91cCA9IE5VTEw7CiAJc3RydWN0IHRhc2tfZ3JvdXAgKnRnID0gY2ZzX3JxLT50ZzsKQEAgLTEzMyw2ICsxMzEsOCBAQAogCQljZ3JvdXBfcGF0aChjZ3JvdXAsIHBhdGgsIHNpemVvZihwYXRoKSk7CiAKIAlTRVFfcHJpbnRmKG0sICJcbmNmc19ycVslZF06JXNcbiIsIGNwdSwgcGF0aCk7CisjZWxzZQorCVNFUV9wcmludGYobSwgIlxuY2ZzX3JxWyVkXTpcbiIsIGNwdSk7CiAjZW5kaWYKIAogCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlTGQuJTA2bGRcbiIsICJleGVjX2Nsb2NrIiwKQEAgLTE2MiwxMSArMTYyLDY0IEBACiAJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVsZFxuIiwgIm5yX3J1bm5pbmciLCBjZnNfcnEtPm5yX3J1bm5pbmcpOwogCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlbGRcbiIsICJsb2FkIiwgY2ZzX3JxLT5sb2FkLndlaWdodCk7CiAjaWZkZWYgQ09ORklHX1NDSEVEU1RBVFMKLQlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJWRcbiIsICJia2xfY291bnQiLAotCQkJcnEtPmJrbF9jb3VudCk7CisjZGVmaW5lIFAobikgU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVkXG4iLCAjbiwgcnEtPm4pOworCisJUCh5bGRfZXhwX2VtcHR5KTsKKwlQKHlsZF9hY3RfZW1wdHkpOworCVAoeWxkX2JvdGhfZW1wdHkpOworCVAoeWxkX2NvdW50KTsKKworCVAoc2NoZWRfc3dpdGNoKTsKKwlQKHNjaGVkX2NvdW50KTsKKwlQKHNjaGVkX2dvaWRsZSk7CisKKwlQKHR0d3VfY291bnQpOworCVAodHR3dV9sb2NhbCk7CisKKwlQKGJrbF9jb3VudCk7CisKKyN1bmRlZiBQCiAjZW5kaWYKIAlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJWxkXG4iLCAibnJfc3ByZWFkX292ZXIiLAogCQkJY2ZzX3JxLT5ucl9zcHJlYWRfb3Zlcik7CisjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKKyNpZmRlZiBDT05GSUdfU01QCisJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVsdVxuIiwgInNoYXJlcyIsIGNmc19ycS0+c2hhcmVzKTsKKyNlbmRpZgorI2VuZGlmCit9CisKK3ZvaWQgcHJpbnRfcnRfcnEoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1LCBzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQoreworI2lmIGRlZmluZWQoQ09ORklHX0NHUk9VUF9TQ0hFRCkgJiYgZGVmaW5lZChDT05GSUdfUlRfR1JPVVBfU0NIRUQpCisJY2hhciBwYXRoWzEyOF0gPSAiIjsKKwlzdHJ1Y3QgY2dyb3VwICpjZ3JvdXAgPSBOVUxMOworCXN0cnVjdCB0YXNrX2dyb3VwICp0ZyA9IHJ0X3JxLT50ZzsKKworCWlmICh0ZykKKwkJY2dyb3VwID0gdGctPmNzcy5jZ3JvdXA7CisKKwlpZiAoY2dyb3VwKQorCQljZ3JvdXBfcGF0aChjZ3JvdXAsIHBhdGgsIHNpemVvZihwYXRoKSk7CisKKwlTRVFfcHJpbnRmKG0sICJcbnJ0X3JxWyVkXTolc1xuIiwgY3B1LCBwYXRoKTsKKyNlbHNlCisJU0VRX3ByaW50ZihtLCAiXG5ydF9ycVslZF06XG4iLCBjcHUpOworI2VuZGlmCisKKworI2RlZmluZSBQKHgpIFwKKwlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJUxkXG4iLCAjeCwgKGxvbmcgbG9uZykocnRfcnEtPngpKQorI2RlZmluZSBQTih4KSBcCisJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVMZC4lMDZsZFxuIiwgI3gsIFNQTElUX05TKHJ0X3JxLT54KSkKKworCVAocnRfbnJfcnVubmluZyk7CisJUChydF90aHJvdHRsZWQpOworCVBOKHJ0X3RpbWUpOworCVBOKHJ0X3J1bnRpbWUpOworCisjdW5kZWYgUE4KKyN1bmRlZiBQCiB9CiAKIHN0YXRpYyB2b2lkIHByaW50X2NwdShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGludCBjcHUpCkBAIC0yMDgsNiArMjYxLDcgQEAKICN1bmRlZiBQTgogCiAJcHJpbnRfY2ZzX3N0YXRzKG0sIGNwdSk7CisJcHJpbnRfcnRfc3RhdHMobSwgY3B1KTsKIAogCXByaW50X3JxKG0sIHJxLCBjcHUpOwogfQpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX2ZhaXIuYyBiL2tlcm5lbC9zY2hlZF9mYWlyLmMKaW5kZXggMDhhZTg0OC4uZjJhYTk4NyAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX2ZhaXIuYworKysgYi9rZXJuZWwvc2NoZWRfZmFpci5jCkBAIC02MywxMyArNjMsMTMgQEAKIAogLyoKICAqIFNDSEVEX09USEVSIHdha2UtdXAgZ3JhbnVsYXJpdHkuCi0gKiAoZGVmYXVsdDogMTAgbXNlYyAqICgxICsgaWxvZyhuY3B1cykpLCB1bml0czogbmFub3NlY29uZHMpCisgKiAoZGVmYXVsdDogNSBtc2VjICogKDEgKyBpbG9nKG5jcHVzKSksIHVuaXRzOiBuYW5vc2Vjb25kcykKICAqCiAgKiBUaGlzIG9wdGlvbiBkZWxheXMgdGhlIHByZWVtcHRpb24gZWZmZWN0cyBvZiBkZWNvdXBsZWQgd29ya2xvYWRzCiAgKiBhbmQgcmVkdWNlcyB0aGVpciBvdmVyLXNjaGVkdWxpbmcuIFN5bmNocm9ub3VzIHdvcmtsb2FkcyB3aWxsIHN0aWxsCiAgKiBoYXZlIGltbWVkaWF0ZSB3YWtldXAvc2xlZXAgbGF0ZW5jaWVzLgogICovCi11bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX3dha2V1cF9ncmFudWxhcml0eSA9IDEwMDAwMDAwVUw7Cit1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX3dha2V1cF9ncmFudWxhcml0eSA9IDUwMDAwMDBVTDsKIAogY29uc3RfZGVidWcgdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9taWdyYXRpb25fY29zdCA9IDUwMDAwMFVMOwogCkBAIC0zMzQsNiArMzM0LDM0IEBACiAjZW5kaWYKIAogLyoKKyAqIGRlbHRhICo9IHcgLyBydworICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKK2NhbGNfZGVsdGFfd2VpZ2h0KHVuc2lnbmVkIGxvbmcgZGVsdGEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQoreworCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgeworCQlkZWx0YSA9IGNhbGNfZGVsdGFfbWluZShkZWx0YSwKKwkJCQlzZS0+bG9hZC53ZWlnaHQsICZjZnNfcnFfb2Yoc2UpLT5sb2FkKTsKKwl9CisKKwlyZXR1cm4gZGVsdGE7Cit9CisKKy8qCisgKiBkZWx0YSAqPSBydyAvIHcKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCitjYWxjX2RlbHRhX2ZhaXIodW5zaWduZWQgbG9uZyBkZWx0YSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCit7CisJZm9yX2VhY2hfc2NoZWRfZW50aXR5KHNlKSB7CisJCWRlbHRhID0gY2FsY19kZWx0YV9taW5lKGRlbHRhLAorCQkJCWNmc19ycV9vZihzZSktPmxvYWQud2VpZ2h0LCAmc2UtPmxvYWQpOworCX0KKworCXJldHVybiBkZWx0YTsKK30KKworLyoKICAqIFRoZSBpZGVhIGlzIHRvIHNldCBhIHBlcmlvZCBpbiB3aGljaCBlYWNoIHRhc2sgcnVucyBvbmNlLgogICoKICAqIFdoZW4gdGhlcmUgYXJlIHRvbyBtYW55IHRhc2tzIChzeXNjdGxfc2NoZWRfbnJfbGF0ZW5jeSkgd2UgaGF2ZSB0byBzdHJldGNoCkBAIC0zNjIsNDcgKzM5MCw4MCBAQAogICovCiBzdGF0aWMgdTY0IHNjaGVkX3NsaWNlKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7Ci0JdTY0IHNsaWNlID0gX19zY2hlZF9wZXJpb2QoY2ZzX3JxLT5ucl9ydW5uaW5nKTsKLQotCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgewotCQljZnNfcnEgPSBjZnNfcnFfb2Yoc2UpOwotCi0JCXNsaWNlICo9IHNlLT5sb2FkLndlaWdodDsKLQkJZG9fZGl2KHNsaWNlLCBjZnNfcnEtPmxvYWQud2VpZ2h0KTsKLQl9Ci0KLQotCXJldHVybiBzbGljZTsKKwlyZXR1cm4gY2FsY19kZWx0YV93ZWlnaHQoX19zY2hlZF9wZXJpb2QoY2ZzX3JxLT5ucl9ydW5uaW5nKSwgc2UpOwogfQogCiAvKgogICogV2UgY2FsY3VsYXRlIHRoZSB2cnVudGltZSBzbGljZSBvZiBhIHRvIGJlIGluc2VydGVkIHRhc2sKICAqCi0gKiB2cyA9IHMvdyA9IHAvcncKKyAqIHZzID0gcypydy93ID0gcAogICovCiBzdGF0aWMgdTY0IHNjaGVkX3ZzbGljZV9hZGQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKIHsKIAl1bnNpZ25lZCBsb25nIG5yX3J1bm5pbmcgPSBjZnNfcnEtPm5yX3J1bm5pbmc7Ci0JdW5zaWduZWQgbG9uZyB3ZWlnaHQ7Ci0JdTY0IHZzbGljZTsKIAogCWlmICghc2UtPm9uX3JxKQogCQlucl9ydW5uaW5nKys7CiAKLQl2c2xpY2UgPSBfX3NjaGVkX3BlcmlvZChucl9ydW5uaW5nKTsKKwlyZXR1cm4gX19zY2hlZF9wZXJpb2QobnJfcnVubmluZyk7Cit9CisKKy8qCisgKiBUaGUgZ29hbCBvZiBjYWxjX2RlbHRhX2FzeW0oKSBpcyB0byBiZSBhc3ltbWV0cmljYWxseSBhcm91bmQgTklDRV8wX0xPQUQsIGluCisgKiB0aGF0IGl0IGZhdm91cnMgPj0wIG92ZXIgPDAuCisgKgorICogICAtMjAgICAgICAgICB8CisgKiAgICAgICAgICAgICAgIHwKKyAqICAgICAwIC0tLS0tLS0tKy0tLS0tLS0KKyAqICAgICAgICAgICAgIC4nCisgKiAgICAxOSAgICAgLicKKyAqCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nCitjYWxjX2RlbHRhX2FzeW0odW5zaWduZWQgbG9uZyBkZWx0YSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCit7CisJc3RydWN0IGxvYWRfd2VpZ2h0IGx3ID0geworCQkud2VpZ2h0ID0gTklDRV8wX0xPQUQsCisJCS5pbnZfd2VpZ2h0ID0gMVVMIDw8IChXTVVMVF9TSElGVC1OSUNFXzBfU0hJRlQpCisJfTsKIAogCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgewotCQljZnNfcnEgPSBjZnNfcnFfb2Yoc2UpOworCQlzdHJ1Y3QgbG9hZF93ZWlnaHQgKnNlX2x3ID0gJnNlLT5sb2FkOworCQl1bnNpZ25lZCBsb25nIHJ3ID0gY2ZzX3JxX29mKHNlKS0+bG9hZC53ZWlnaHQ7CiAKLQkJd2VpZ2h0ID0gY2ZzX3JxLT5sb2FkLndlaWdodDsKLQkJaWYgKCFzZS0+b25fcnEpCi0JCQl3ZWlnaHQgKz0gc2UtPmxvYWQud2VpZ2h0OworI2lmZGVmIENPTkZJR19GQUlSX1NDSEVEX0dST1VQCisJCXN0cnVjdCBjZnNfcnEgKmNmc19ycSA9IHNlLT5teV9xOworCQlzdHJ1Y3QgdGFza19ncm91cCAqdGcgPSBOVUxMCiAKLQkJdnNsaWNlICo9IE5JQ0VfMF9MT0FEOwotCQlkb19kaXYodnNsaWNlLCB3ZWlnaHQpOworCQlpZiAoY2ZzX3JxKQorCQkJdGcgPSBjZnNfcnEtPnRnOworCisJCWlmICh0ZyAmJiB0Zy0+c2hhcmVzIDwgTklDRV8wX0xPQUQpIHsKKwkJCS8qCisJCQkgKiBzY2FsZSBzaGFyZXMgdG8gd2hhdCBpdCB3b3VsZCBoYXZlIGJlZW4gaGFkCisJCQkgKiB0Zy0+d2VpZ2h0IGJlZW4gTklDRV8wX0xPQUQ6CisJCQkgKgorCQkJICogICB3ZWlnaHQgPSAxMDI0ICogc2hhcmVzIC8gdGctPndlaWdodAorCQkJICovCisJCQlsdy53ZWlnaHQgKj0gc2UtPmxvYWQud2VpZ2h0OworCQkJbHcud2VpZ2h0IC89IHRnLT5zaGFyZXM7CisKKwkJCWx3Lmludl93ZWlnaHQgPSAwOworCisJCQlzZV9sdyA9ICZsdzsKKwkJCXJ3ICs9IGx3LndlaWdodCAtIHNlLT5sb2FkLndlaWdodDsKKwkJfSBlbHNlCisjZW5kaWYKKworCQlpZiAoc2UtPmxvYWQud2VpZ2h0IDwgTklDRV8wX0xPQUQpIHsKKwkJCXNlX2x3ID0gJmx3OworCQkJcncgKz0gTklDRV8wX0xPQUQgLSBzZS0+bG9hZC53ZWlnaHQ7CisJCX0KKworCQlkZWx0YSA9IGNhbGNfZGVsdGFfbWluZShkZWx0YSwgcncsIHNlX2x3KTsKIAl9CiAKLQlyZXR1cm4gdnNsaWNlOworCXJldHVybiBkZWx0YTsKIH0KIAogLyoKQEAgLTQxOSwxMSArNDgwLDcgQEAKIAogCWN1cnItPnN1bV9leGVjX3J1bnRpbWUgKz0gZGVsdGFfZXhlYzsKIAlzY2hlZHN0YXRfYWRkKGNmc19ycSwgZXhlY19jbG9jaywgZGVsdGFfZXhlYyk7Ci0JZGVsdGFfZXhlY193ZWlnaHRlZCA9IGRlbHRhX2V4ZWM7Ci0JaWYgKHVubGlrZWx5KGN1cnItPmxvYWQud2VpZ2h0ICE9IE5JQ0VfMF9MT0FEKSkgewotCQlkZWx0YV9leGVjX3dlaWdodGVkID0gY2FsY19kZWx0YV9mYWlyKGRlbHRhX2V4ZWNfd2VpZ2h0ZWQsCi0JCQkJCQkJJmN1cnItPmxvYWQpOwotCX0KKwlkZWx0YV9leGVjX3dlaWdodGVkID0gY2FsY19kZWx0YV9mYWlyKGRlbHRhX2V4ZWMsIGN1cnIpOwogCWN1cnItPnZydW50aW1lICs9IGRlbHRhX2V4ZWNfd2VpZ2h0ZWQ7CiB9CiAKQEAgLTUxMCwxMCArNTY3LDI3IEBACiAgKiBTY2hlZHVsaW5nIGNsYXNzIHF1ZXVlaW5nIG1ldGhvZHM6CiAgKi8KIAorI2lmIGRlZmluZWQgQ09ORklHX1NNUCAmJiBkZWZpbmVkIENPTkZJR19GQUlSX0dST1VQX1NDSEVECitzdGF0aWMgdm9pZAorYWRkX2Nmc190YXNrX3dlaWdodChzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHVuc2lnbmVkIGxvbmcgd2VpZ2h0KQoreworCWNmc19ycS0+dGFza193ZWlnaHQgKz0gd2VpZ2h0OworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZAorYWRkX2Nmc190YXNrX3dlaWdodChzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHVuc2lnbmVkIGxvbmcgd2VpZ2h0KQoreworfQorI2VuZGlmCisKIHN0YXRpYyB2b2lkCiBhY2NvdW50X2VudGl0eV9lbnF1ZXVlKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7CiAJdXBkYXRlX2xvYWRfYWRkKCZjZnNfcnEtPmxvYWQsIHNlLT5sb2FkLndlaWdodCk7CisJaWYgKCFwYXJlbnRfZW50aXR5KHNlKSkKKwkJaW5jX2NwdV9sb2FkKHJxX29mKGNmc19ycSksIHNlLT5sb2FkLndlaWdodCk7CisJaWYgKGVudGl0eV9pc190YXNrKHNlKSkKKwkJYWRkX2Nmc190YXNrX3dlaWdodChjZnNfcnEsIHNlLT5sb2FkLndlaWdodCk7CiAJY2ZzX3JxLT5ucl9ydW5uaW5nKys7CiAJc2UtPm9uX3JxID0gMTsKIAlsaXN0X2FkZCgmc2UtPmdyb3VwX25vZGUsICZjZnNfcnEtPnRhc2tzKTsKQEAgLTUyMyw2ICs1OTcsMTAgQEAKIGFjY291bnRfZW50aXR5X2RlcXVldWUoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKIHsKIAl1cGRhdGVfbG9hZF9zdWIoJmNmc19ycS0+bG9hZCwgc2UtPmxvYWQud2VpZ2h0KTsKKwlpZiAoIXBhcmVudF9lbnRpdHkoc2UpKQorCQlkZWNfY3B1X2xvYWQocnFfb2YoY2ZzX3JxKSwgc2UtPmxvYWQud2VpZ2h0KTsKKwlpZiAoZW50aXR5X2lzX3Rhc2soc2UpKQorCQlhZGRfY2ZzX3Rhc2tfd2VpZ2h0KGNmc19ycSwgLXNlLT5sb2FkLndlaWdodCk7CiAJY2ZzX3JxLT5ucl9ydW5uaW5nLS07CiAJc2UtPm9uX3JxID0gMDsKIAlsaXN0X2RlbF9pbml0KCZzZS0+Z3JvdXBfbm9kZSk7CkBAIC02MDksOCArNjg3LDE3IEBACiAKIAlpZiAoIWluaXRpYWwpIHsKIAkJLyogc2xlZXBzIHVwdG8gYSBzaW5nbGUgbGF0ZW5jeSBkb24ndCBjb3VudC4gKi8KLQkJaWYgKHNjaGVkX2ZlYXQoTkVXX0ZBSVJfU0xFRVBFUlMpKQotCQkJdnJ1bnRpbWUgLT0gc3lzY3RsX3NjaGVkX2xhdGVuY3k7CisJCWlmIChzY2hlZF9mZWF0KE5FV19GQUlSX1NMRUVQRVJTKSkgeworCQkJdW5zaWduZWQgbG9uZyB0aHJlc2ggPSBzeXNjdGxfc2NoZWRfbGF0ZW5jeTsKKworCQkJLyoKKwkJCSAqIGNvbnZlcnQgdGhlIHNsZWVwZXIgdGhyZXNob2xkIGludG8gdmlydHVhbCB0aW1lCisJCQkgKi8KKwkJCWlmIChzY2hlZF9mZWF0KE5PUk1BTElaRURfU0xFRVBFUikpCisJCQkJdGhyZXNoID0gY2FsY19kZWx0YV9mYWlyKHRocmVzaCwgc2UpOworCisJCQl2cnVudGltZSAtPSB0aHJlc2g7CisJCX0KIAogCQkvKiBlbnN1cmUgd2UgbmV2ZXIgZ2FpbiB0aW1lIGJ5IGJlaW5nIHBsYWNlZCBiYWNrd2FyZHMuICovCiAJCXZydW50aW1lID0gbWF4X3ZydW50aW1lKHNlLT52cnVudGltZSwgdnJ1bnRpbWUpOwpAQCAtNjM5LDIxICs3MjYsNiBAQAogCQlfX2VucXVldWVfZW50aXR5KGNmc19ycSwgc2UpOwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVfYXZnKHU2NCAqYXZnLCB1NjQgc2FtcGxlKQotewotCXM2NCBkaWZmID0gc2FtcGxlIC0gKmF2ZzsKLQkqYXZnICs9IGRpZmYgPj4gMzsKLX0KLQotc3RhdGljIHZvaWQgdXBkYXRlX2F2Z19zdGF0cyhzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQotewotCWlmICghc2UtPmxhc3Rfd2FrZXVwKQotCQlyZXR1cm47Ci0KLQl1cGRhdGVfYXZnKCZzZS0+YXZnX292ZXJsYXAsIHNlLT5zdW1fZXhlY19ydW50aW1lIC0gc2UtPmxhc3Rfd2FrZXVwKTsKLQlzZS0+bGFzdF93YWtldXAgPSAwOwotfQotCiBzdGF0aWMgdm9pZAogZGVxdWV1ZV9lbnRpdHkoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgaW50IHNsZWVwKQogewpAQCAtNjY0LDcgKzczNiw2IEBACiAKIAl1cGRhdGVfc3RhdHNfZGVxdWV1ZShjZnNfcnEsIHNlKTsKIAlpZiAoc2xlZXApIHsKLQkJdXBkYXRlX2F2Z19zdGF0cyhjZnNfcnEsIHNlKTsKICNpZmRlZiBDT05GSUdfU0NIRURTVEFUUwogCQlpZiAoZW50aXR5X2lzX3Rhc2soc2UpKSB7CiAJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IHRhc2tfb2Yoc2UpOwpAQCAtNzI2LDE3ICs3OTcsMTYgQEAKIAlzZS0+cHJldl9zdW1fZXhlY19ydW50aW1lID0gc2UtPnN1bV9leGVjX3J1bnRpbWU7CiB9CiAKLXN0YXRpYyBpbnQKLXdha2V1cF9wcmVlbXB0X2VudGl0eShzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpjdXJyLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSk7Ci0KIHN0YXRpYyBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICoKIHBpY2tfbmV4dChzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewotCWlmICghY2ZzX3JxLT5uZXh0KQotCQlyZXR1cm4gc2U7CisJc3RydWN0IHJxICpycSA9IHJxX29mKGNmc19ycSk7CisJdTY0IHBhaXJfc2xpY2UgPSBycS0+Y2xvY2sgLSBjZnNfcnEtPnBhaXJfc3RhcnQ7CiAKLQlpZiAod2FrZXVwX3ByZWVtcHRfZW50aXR5KGNmc19ycS0+bmV4dCwgc2UpICE9IDApCisJaWYgKCFjZnNfcnEtPm5leHQgfHwgcGFpcl9zbGljZSA+IHNjaGVkX3NsaWNlKGNmc19ycSwgY2ZzX3JxLT5uZXh0KSkgeworCQljZnNfcnEtPnBhaXJfc3RhcnQgPSBycS0+Y2xvY2s7CiAJCXJldHVybiBzZTsKKwl9CiAKIAlyZXR1cm4gY2ZzX3JxLT5uZXh0OwogfQpAQCAtODM1LDcgKzkwNSw3IEBACiAJCWhydGlja19zdGFydChycSwgZGVsdGEsIHJlcXVldWUpOwogCX0KIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1NDSEVEX0hSVElDSyAqLwogc3RhdGljIGlubGluZSB2b2lkCiBocnRpY2tfc3RhcnRfZmFpcihzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCiB7CkBAIC05NzYsNyArMTA0Niw3IEBACiAJfQogCXJldHVybiBjcHU7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUFSQ0hfSEFTX1NDSEVEX1dBS0VfSURMRSovCiBzdGF0aWMgaW5saW5lIGludCB3YWtlX2lkbGUoaW50IGNwdSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKQogewogCXJldHVybiBjcHU7CkBAIC05ODcsNiArMTA1Nyw4OSBAQAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNjaGVkX2NsYXNzIGZhaXJfc2NoZWRfY2xhc3M7CiAKKyNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAorLyoKKyAqIGVmZmVjdGl2ZV9sb2FkKCkgY2FsY3VsYXRlcyB0aGUgbG9hZCBjaGFuZ2UgYXMgc2VlbiBmcm9tIHRoZSByb290X3Rhc2tfZ3JvdXAKKyAqCisgKiBBZGRpbmcgbG9hZCB0byBhIGdyb3VwIGRvZXNuJ3QgbWFrZSBhIGdyb3VwIGhlYXZpZXIsIGJ1dCBjYW4gY2F1c2UgbW92ZW1lbnQKKyAqIG9mIGdyb3VwIHNoYXJlcyBiZXR3ZWVuIGNwdXMuIEFzc3VtaW5nIHRoZSBzaGFyZXMgd2VyZSBwZXJmZWN0bHkgYWxpZ25lZCBvbmUKKyAqIGNhbiBjYWxjdWxhdGUgdGhlIHNoaWZ0IGluIHNoYXJlcy4KKyAqCisgKiBUaGUgcHJvYmxlbSBpcyB0aGF0IHBlcmZlY3RseSBhbGlnbmluZyB0aGUgc2hhcmVzIGlzIHJhdGhlciBleHBlbnNpdmUsIGhlbmNlCisgKiB3ZSB0cnkgdG8gYXZvaWQgZG9pbmcgdGhhdCB0b28gb2Z0ZW4gLSBzZWUgdXBkYXRlX3NoYXJlcygpLCB3aGljaCByYXRlbGltaXRzCisgKiB0aGlzIGNoYW5nZS4KKyAqCisgKiBXZSBjb21wZW5zYXRlIHRoaXMgYnkgbm90IG9ubHkgdGFraW5nIHRoZSBjdXJyZW50IGRlbHRhIGludG8gYWNjb3VudCwgYnV0CisgKiBhbHNvIGNvbnNpZGVyaW5nIHRoZSBkZWx0YSBiZXR3ZWVuIHdoZW4gdGhlIHNoYXJlcyB3ZXJlIGxhc3QgYWRqdXN0ZWQgYW5kCisgKiBub3cuCisgKgorICogV2Ugc3RpbGwgc2F3IGEgcGVyZm9ybWFuY2UgZGlwLCBzb21lIHRyYWNpbmcgbGVhcm5lZCB1cyB0aGF0IGJldHdlZW4KKyAqIGNncm91cDovIGFuZCBjZ3JvdXA6L2ZvbyBiYWxhbmNpbmcgdGhlIG51bWJlciBvZiBhZmZpbmUgd2FrZXVwcyBpbmNyZWFzZWQKKyAqIHNpZ25pZmljYW50bHkuIFRoZXJlZm9yZSB0cnkgdG8gYmlhcyB0aGUgZXJyb3IgaW4gZGlyZWN0aW9uIG9mIGZhaWxpbmcKKyAqIHRoZSBhZmZpbmUgd2FrZXVwLgorICoKKyAqLworc3RhdGljIGxvbmcgZWZmZWN0aXZlX2xvYWQoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LAorCQlsb25nIHdsLCBsb25nIHdnKQoreworCXN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlID0gdGctPnNlW2NwdV07CisJbG9uZyBtb3JlX3c7CisKKwlpZiAoIXRnLT5wYXJlbnQpCisJCXJldHVybiB3bDsKKworCS8qCisJICogQnkgbm90IHRha2luZyB0aGUgZGVjcmVhc2Ugb2Ygc2hhcmVzIG9uIHRoZSBvdGhlciBjcHUgaW50bworCSAqIGFjY291bnQgb3VyIGVycm9yIGxlYW5zIHRvd2FyZHMgcmVkdWNpbmcgdGhlIGFmZmluZSB3YWtldXBzLgorCSAqLworCWlmICghd2wgJiYgc2NoZWRfZmVhdChBU1lNX0VGRl9MT0FEKSkKKwkJcmV0dXJuIHdsOworCisJLyoKKwkgKiBJbnN0ZWFkIG9mIHVzaW5nIHRoaXMgaW5jcmVtZW50LCBhbHNvIGFkZCB0aGUgZGlmZmVyZW5jZQorCSAqIGJldHdlZW4gd2hlbiB0aGUgc2hhcmVzIHdlcmUgbGFzdCB1cGRhdGVkIGFuZCBub3cuCisJICovCisJbW9yZV93ID0gc2UtPm15X3EtPmxvYWQud2VpZ2h0IC0gc2UtPm15X3EtPnJxX3dlaWdodDsKKwl3bCArPSBtb3JlX3c7CisJd2cgKz0gbW9yZV93OworCisJZm9yX2VhY2hfc2NoZWRfZW50aXR5KHNlKSB7CisjZGVmaW5lIEQobikgKGxpa2VseShuKSA/IChuKSA6IDEpCisKKwkJbG9uZyBTLCBydywgcywgYSwgYjsKKworCQlTID0gc2UtPm15X3EtPnRnLT5zaGFyZXM7CisJCXMgPSBzZS0+bXlfcS0+c2hhcmVzOworCQlydyA9IHNlLT5teV9xLT5ycV93ZWlnaHQ7CisKKwkJYSA9IFMqKHJ3ICsgd2wpOworCQliID0gUypydyArIHMqd2c7CisKKwkJd2wgPSBzKihhLWIpL0QoYik7CisJCS8qCisJCSAqIEFzc3VtZSB0aGUgZ3JvdXAgaXMgYWxyZWFkeSBydW5uaW5nIGFuZCB3aWxsCisJCSAqIHRodXMgYWxyZWFkeSBiZSBhY2NvdW50ZWQgZm9yIGluIHRoZSB3ZWlnaHQuCisJCSAqCisJCSAqIFRoYXQgaXMsIG1vdmluZyBzaGFyZXMgYmV0d2VlbiBDUFVzLCBkb2VzIG5vdAorCQkgKiBhbHRlciB0aGUgZ3JvdXAgd2VpZ2h0LgorCQkgKi8KKwkJd2cgPSAwOworI3VuZGVmIEQKKwl9CisKKwlyZXR1cm4gd2w7Cit9CisKKyNlbHNlCisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBlZmZlY3RpdmVfbG9hZChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsCisJCXVuc2lnbmVkIGxvbmcgd2wsIHVuc2lnbmVkIGxvbmcgd2cpCit7CisJcmV0dXJuIHdsOworfQorCisjZW5kaWYKKwogc3RhdGljIGludAogd2FrZV9hZmZpbmUoc3RydWN0IHJxICpycSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqdGhpc19zZCwgc3RydWN0IHJxICp0aGlzX3JxLAogCSAgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBwcmV2X2NwdSwgaW50IHRoaXNfY3B1LCBpbnQgc3luYywKQEAgLTk5NCw4ICsxMTQ3LDEwIEBACiAJICAgIHVuc2lnbmVkIGludCBpbWJhbGFuY2UpCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyID0gdGhpc19ycS0+Y3VycjsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGc7CiAJdW5zaWduZWQgbG9uZyB0bCA9IHRoaXNfbG9hZDsKIAl1bnNpZ25lZCBsb25nIHRsX3Blcl90YXNrOworCXVuc2lnbmVkIGxvbmcgd2VpZ2h0OwogCWludCBiYWxhbmNlZDsKIAogCWlmICghKHRoaXNfc2QtPmZsYWdzICYgU0RfV0FLRV9BRkZJTkUpIHx8ICFzY2hlZF9mZWF0KEFGRklORV9XQUtFVVBTKSkKQEAgLTEwMDYsMTkgKzExNjEsMjggQEAKIAkgKiBlZmZlY3Qgb2YgdGhlIGN1cnJlbnRseSBydW5uaW5nIHRhc2sgZnJvbSB0aGUgbG9hZAogCSAqIG9mIHRoZSBjdXJyZW50IENQVToKIAkgKi8KLQlpZiAoc3luYykKLQkJdGwgLT0gY3VycmVudC0+c2UubG9hZC53ZWlnaHQ7CisJaWYgKHN5bmMpIHsKKwkJdGcgPSB0YXNrX2dyb3VwKGN1cnJlbnQpOworCQl3ZWlnaHQgPSBjdXJyZW50LT5zZS5sb2FkLndlaWdodDsKIAotCWJhbGFuY2VkID0gMTAwKih0bCArIHAtPnNlLmxvYWQud2VpZ2h0KSA8PSBpbWJhbGFuY2UqbG9hZDsKKwkJdGwgKz0gZWZmZWN0aXZlX2xvYWQodGcsIHRoaXNfY3B1LCAtd2VpZ2h0LCAtd2VpZ2h0KTsKKwkJbG9hZCArPSBlZmZlY3RpdmVfbG9hZCh0ZywgcHJldl9jcHUsIDAsIC13ZWlnaHQpOworCX0KKworCXRnID0gdGFza19ncm91cChwKTsKKwl3ZWlnaHQgPSBwLT5zZS5sb2FkLndlaWdodDsKKworCWJhbGFuY2VkID0gMTAwKih0bCArIGVmZmVjdGl2ZV9sb2FkKHRnLCB0aGlzX2NwdSwgd2VpZ2h0LCB3ZWlnaHQpKSA8PQorCQlpbWJhbGFuY2UqKGxvYWQgKyBlZmZlY3RpdmVfbG9hZCh0ZywgcHJldl9jcHUsIDAsIHdlaWdodCkpOwogCiAJLyoKIAkgKiBJZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzayB3aWxsIHNsZWVwIHdpdGhpbgogCSAqIGEgcmVhc29uYWJsZSBhbW91bnQgb2YgdGltZSB0aGVuIGF0dHJhY3QgdGhpcyBuZXdseQogCSAqIHdva2VuIHRhc2s6CiAJICovCi0JaWYgKHN5bmMgJiYgYmFsYW5jZWQgJiYgY3Vyci0+c2NoZWRfY2xhc3MgPT0gJmZhaXJfc2NoZWRfY2xhc3MpIHsKKwlpZiAoc3luYyAmJiBiYWxhbmNlZCkgewogCQlpZiAoY3Vyci0+c2UuYXZnX292ZXJsYXAgPCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3QgJiYKLQkJCQlwLT5zZS5hdmdfb3ZlcmxhcCA8IHN5c2N0bF9zY2hlZF9taWdyYXRpb25fY29zdCkKKwkJICAgIHAtPnNlLmF2Z19vdmVybGFwIDwgc3lzY3RsX3NjaGVkX21pZ3JhdGlvbl9jb3N0KQogCQkJcmV0dXJuIDE7CiAJfQogCkBAIC0xMTExLDExICsxMjc1LDEzIEBACiAJdW5zaWduZWQgbG9uZyBncmFuID0gc3lzY3RsX3NjaGVkX3dha2V1cF9ncmFudWxhcml0eTsKIAogCS8qCi0JICogTW9yZSBlYXNpbHkgcHJlZW1wdCAtIG5pY2UgdGFza3MsIHdoaWxlIG5vdCBtYWtpbmcKLQkgKiBpdCBoYXJkZXIgZm9yICsgbmljZSB0YXNrcy4KKwkgKiBNb3JlIGVhc2lseSBwcmVlbXB0IC0gbmljZSB0YXNrcywgd2hpbGUgbm90IG1ha2luZyBpdCBoYXJkZXIgZm9yCisJICogKyBuaWNlIHRhc2tzLgogCSAqLwotCWlmICh1bmxpa2VseShzZS0+bG9hZC53ZWlnaHQgPiBOSUNFXzBfTE9BRCkpCi0JCWdyYW4gPSBjYWxjX2RlbHRhX2ZhaXIoZ3JhbiwgJnNlLT5sb2FkKTsKKwlpZiAoc2NoZWRfZmVhdChBU1lNX0dSQU4pKQorCQlncmFuID0gY2FsY19kZWx0YV9hc3ltKHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHksIHNlKTsKKwllbHNlCisJCWdyYW4gPSBjYWxjX2RlbHRhX2ZhaXIoc3lzY3RsX3NjaGVkX3dha2V1cF9ncmFudWxhcml0eSwgc2UpOwogCiAJcmV0dXJuIGdyYW47CiB9CkBAIC0xMTc3LDcgKzEzNDMsNiBAQAogCQlyZXR1cm47CiAJfQogCi0Jc2UtPmxhc3Rfd2FrZXVwID0gc2UtPnN1bV9leGVjX3J1bnRpbWU7CiAJaWYgKHVubGlrZWx5KHNlID09IHBzZSkpCiAJCXJldHVybjsKIApAQCAtMTI3NSwyMyArMTQ0MCwxOCBAQAogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcCA9IE5VTEw7CiAJc3RydWN0IHNjaGVkX2VudGl0eSAqc2U7CiAKLQlpZiAobmV4dCA9PSAmY2ZzX3JxLT50YXNrcykKLQkJcmV0dXJuIE5VTEw7Ci0KLQkvKiBTa2lwIG92ZXIgZW50aXRpZXMgdGhhdCBhcmUgbm90IHRhc2tzICovCi0JZG8geworCXdoaWxlIChuZXh0ICE9ICZjZnNfcnEtPnRhc2tzKSB7CiAJCXNlID0gbGlzdF9lbnRyeShuZXh0LCBzdHJ1Y3Qgc2NoZWRfZW50aXR5LCBncm91cF9ub2RlKTsKIAkJbmV4dCA9IG5leHQtPm5leHQ7Ci0JfSB3aGlsZSAobmV4dCAhPSAmY2ZzX3JxLT50YXNrcyAmJiAhZW50aXR5X2lzX3Rhc2soc2UpKTsKIAotCWlmIChuZXh0ID09ICZjZnNfcnEtPnRhc2tzKQotCQlyZXR1cm4gTlVMTDsKKwkJLyogU2tpcCBvdmVyIGVudGl0aWVzIHRoYXQgYXJlIG5vdCB0YXNrcyAqLworCQlpZiAoZW50aXR5X2lzX3Rhc2soc2UpKSB7CisJCQlwID0gdGFza19vZihzZSk7CisJCQlicmVhazsKKwkJfQorCX0KIAogCWNmc19ycS0+YmFsYW5jZV9pdGVyYXRvciA9IG5leHQ7Ci0KLQlpZiAoZW50aXR5X2lzX3Rhc2soc2UpKQotCQlwID0gdGFza19vZihzZSk7Ci0KIAlyZXR1cm4gcDsKIH0KIApAQCAtMTMwOSw3NSArMTQ2OSw4MiBAQAogCXJldHVybiBfX2xvYWRfYmFsYW5jZV9pdGVyYXRvcihjZnNfcnEsIGNmc19ycS0+YmFsYW5jZV9pdGVyYXRvcik7CiB9CiAKLSNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAotc3RhdGljIGludCBjZnNfcnFfYmVzdF9wcmlvKHN0cnVjdCBjZnNfcnEgKmNmc19ycSkKK3N0YXRpYyB1bnNpZ25lZCBsb25nCitfX2xvYWRfYmFsYW5jZV9mYWlyKHN0cnVjdCBycSAqdGhpc19ycSwgaW50IHRoaXNfY3B1LCBzdHJ1Y3QgcnEgKmJ1c2llc3QsCisJCXVuc2lnbmVkIGxvbmcgbWF4X2xvYWRfbW92ZSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QsCisJCWVudW0gY3B1X2lkbGVfdHlwZSBpZGxlLCBpbnQgKmFsbF9waW5uZWQsIGludCAqdGhpc19iZXN0X3ByaW8sCisJCXN0cnVjdCBjZnNfcnEgKmNmc19ycSkKIHsKLQlzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpjdXJyOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKKwlzdHJ1Y3QgcnFfaXRlcmF0b3IgY2ZzX3JxX2l0ZXJhdG9yOwogCi0JaWYgKCFjZnNfcnEtPm5yX3J1bm5pbmcgfHwgIWZpcnN0X2ZhaXIoY2ZzX3JxKSkKLQkJcmV0dXJuIE1BWF9QUklPOworCWNmc19ycV9pdGVyYXRvci5zdGFydCA9IGxvYWRfYmFsYW5jZV9zdGFydF9mYWlyOworCWNmc19ycV9pdGVyYXRvci5uZXh0ID0gbG9hZF9iYWxhbmNlX25leHRfZmFpcjsKKwljZnNfcnFfaXRlcmF0b3IuYXJnID0gY2ZzX3JxOwogCi0JY3VyciA9IGNmc19ycS0+Y3VycjsKLQlpZiAoIWN1cnIpCi0JCWN1cnIgPSBfX3BpY2tfbmV4dF9lbnRpdHkoY2ZzX3JxKTsKLQotCXAgPSB0YXNrX29mKGN1cnIpOwotCi0JcmV0dXJuIHAtPnByaW87CisJcmV0dXJuIGJhbGFuY2VfdGFza3ModGhpc19ycSwgdGhpc19jcHUsIGJ1c2llc3QsCisJCQltYXhfbG9hZF9tb3ZlLCBzZCwgaWRsZSwgYWxsX3Bpbm5lZCwKKwkJCXRoaXNfYmVzdF9wcmlvLCAmY2ZzX3JxX2l0ZXJhdG9yKTsKIH0KLSNlbmRpZgogCisjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKIHN0YXRpYyB1bnNpZ25lZCBsb25nCiBsb2FkX2JhbGFuY2VfZmFpcihzdHJ1Y3QgcnEgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgc3RydWN0IHJxICpidXNpZXN0LAogCQkgIHVuc2lnbmVkIGxvbmcgbWF4X2xvYWRfbW92ZSwKIAkJICBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCwgZW51bSBjcHVfaWRsZV90eXBlIGlkbGUsCiAJCSAgaW50ICphbGxfcGlubmVkLCBpbnQgKnRoaXNfYmVzdF9wcmlvKQogewotCXN0cnVjdCBjZnNfcnEgKmJ1c3lfY2ZzX3JxOwogCWxvbmcgcmVtX2xvYWRfbW92ZSA9IG1heF9sb2FkX21vdmU7Ci0Jc3RydWN0IHJxX2l0ZXJhdG9yIGNmc19ycV9pdGVyYXRvcjsKKwlpbnQgYnVzaWVzdF9jcHUgPSBjcHVfb2YoYnVzaWVzdCk7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnRnOwogCi0JY2ZzX3JxX2l0ZXJhdG9yLnN0YXJ0ID0gbG9hZF9iYWxhbmNlX3N0YXJ0X2ZhaXI7Ci0JY2ZzX3JxX2l0ZXJhdG9yLm5leHQgPSBsb2FkX2JhbGFuY2VfbmV4dF9mYWlyOworCXJjdV9yZWFkX2xvY2soKTsKKwl1cGRhdGVfaF9sb2FkKGJ1c2llc3RfY3B1KTsKIAotCWZvcl9lYWNoX2xlYWZfY2ZzX3JxKGJ1c2llc3QsIGJ1c3lfY2ZzX3JxKSB7Ci0jaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKLQkJc3RydWN0IGNmc19ycSAqdGhpc19jZnNfcnE7Ci0JCWxvbmcgaW1iYWxhbmNlOwotCQl1bnNpZ25lZCBsb25nIG1heGxvYWQ7CisJbGlzdF9mb3JfZWFjaF9lbnRyeSh0ZywgJnRhc2tfZ3JvdXBzLCBsaXN0KSB7CisJCXN0cnVjdCBjZnNfcnEgKmJ1c2llc3RfY2ZzX3JxID0gdGctPmNmc19ycVtidXNpZXN0X2NwdV07CisJCXVuc2lnbmVkIGxvbmcgYnVzaWVzdF9oX2xvYWQgPSBidXNpZXN0X2Nmc19ycS0+aF9sb2FkOworCQl1bnNpZ25lZCBsb25nIGJ1c2llc3Rfd2VpZ2h0ID0gYnVzaWVzdF9jZnNfcnEtPmxvYWQud2VpZ2h0OworCQl1NjQgcmVtX2xvYWQsIG1vdmVkX2xvYWQ7CiAKLQkJdGhpc19jZnNfcnEgPSBjcHVfY2ZzX3JxKGJ1c3lfY2ZzX3JxLCB0aGlzX2NwdSk7Ci0KLQkJaW1iYWxhbmNlID0gYnVzeV9jZnNfcnEtPmxvYWQud2VpZ2h0IC0gdGhpc19jZnNfcnEtPmxvYWQud2VpZ2h0OwotCQkvKiBEb24ndCBwdWxsIGlmIHRoaXNfY2ZzX3JxIGhhcyBtb3JlIGxvYWQgdGhhbiBidXN5X2Nmc19ycSAqLwotCQlpZiAoaW1iYWxhbmNlIDw9IDApCisJCS8qCisJCSAqIGVtcHR5IGdyb3VwCisJCSAqLworCQlpZiAoIWJ1c2llc3RfY2ZzX3JxLT50YXNrX3dlaWdodCkKIAkJCWNvbnRpbnVlOwogCi0JCS8qIERvbid0IHB1bGwgbW9yZSB0aGFuIGltYmFsYW5jZS8yICovCi0JCWltYmFsYW5jZSAvPSAyOwotCQltYXhsb2FkID0gbWluKHJlbV9sb2FkX21vdmUsIGltYmFsYW5jZSk7CisJCXJlbV9sb2FkID0gKHU2NClyZW1fbG9hZF9tb3ZlICogYnVzaWVzdF93ZWlnaHQ7CisJCXJlbV9sb2FkID0gZGl2X3U2NChyZW1fbG9hZCwgYnVzaWVzdF9oX2xvYWQgKyAxKTsKIAotCQkqdGhpc19iZXN0X3ByaW8gPSBjZnNfcnFfYmVzdF9wcmlvKHRoaXNfY2ZzX3JxKTsKLSNlbHNlCi0jIGRlZmluZSBtYXhsb2FkIHJlbV9sb2FkX21vdmUKLSNlbmRpZgotCQkvKgotCQkgKiBwYXNzIGJ1c3lfY2ZzX3JxIGFyZ3VtZW50IGludG8KLQkJICogbG9hZF9iYWxhbmNlX1tzdGFydHxuZXh0XV9mYWlyIGl0ZXJhdG9ycwotCQkgKi8KLQkJY2ZzX3JxX2l0ZXJhdG9yLmFyZyA9IGJ1c3lfY2ZzX3JxOwotCQlyZW1fbG9hZF9tb3ZlIC09IGJhbGFuY2VfdGFza3ModGhpc19ycSwgdGhpc19jcHUsIGJ1c2llc3QsCi0JCQkJCSAgICAgICBtYXhsb2FkLCBzZCwgaWRsZSwgYWxsX3Bpbm5lZCwKLQkJCQkJICAgICAgIHRoaXNfYmVzdF9wcmlvLAotCQkJCQkgICAgICAgJmNmc19ycV9pdGVyYXRvcik7CisJCW1vdmVkX2xvYWQgPSBfX2xvYWRfYmFsYW5jZV9mYWlyKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAorCQkJCXJlbV9sb2FkLCBzZCwgaWRsZSwgYWxsX3Bpbm5lZCwgdGhpc19iZXN0X3ByaW8sCisJCQkJdGctPmNmc19ycVtidXNpZXN0X2NwdV0pOwogCi0JCWlmIChyZW1fbG9hZF9tb3ZlIDw9IDApCisJCWlmICghbW92ZWRfbG9hZCkKKwkJCWNvbnRpbnVlOworCisJCW1vdmVkX2xvYWQgKj0gYnVzaWVzdF9oX2xvYWQ7CisJCW1vdmVkX2xvYWQgPSBkaXZfdTY0KG1vdmVkX2xvYWQsIGJ1c2llc3Rfd2VpZ2h0ICsgMSk7CisKKwkJcmVtX2xvYWRfbW92ZSAtPSBtb3ZlZF9sb2FkOworCQlpZiAocmVtX2xvYWRfbW92ZSA8IDApCiAJCQlicmVhazsKIAl9CisJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlyZXR1cm4gbWF4X2xvYWRfbW92ZSAtIHJlbV9sb2FkX21vdmU7CiB9CisjZWxzZQorc3RhdGljIHVuc2lnbmVkIGxvbmcKK2xvYWRfYmFsYW5jZV9mYWlyKHN0cnVjdCBycSAqdGhpc19ycSwgaW50IHRoaXNfY3B1LCBzdHJ1Y3QgcnEgKmJ1c2llc3QsCisJCSAgdW5zaWduZWQgbG9uZyBtYXhfbG9hZF9tb3ZlLAorCQkgIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkLCBlbnVtIGNwdV9pZGxlX3R5cGUgaWRsZSwKKwkJICBpbnQgKmFsbF9waW5uZWQsIGludCAqdGhpc19iZXN0X3ByaW8pCit7CisJcmV0dXJuIF9fbG9hZF9iYWxhbmNlX2ZhaXIodGhpc19ycSwgdGhpc19jcHUsIGJ1c2llc3QsCisJCQltYXhfbG9hZF9tb3ZlLCBzZCwgaWRsZSwgYWxsX3Bpbm5lZCwKKwkJCXRoaXNfYmVzdF9wcmlvLCAmYnVzaWVzdC0+Y2ZzKTsKK30KKyNlbmRpZgogCiBzdGF0aWMgaW50CiBtb3ZlX29uZV90YXNrX2ZhaXIoc3RydWN0IHJxICp0aGlzX3JxLCBpbnQgdGhpc19jcHUsIHN0cnVjdCBycSAqYnVzaWVzdCwKQEAgLTE0MDIsNyArMTU2OSw3IEBACiAKIAlyZXR1cm4gMDsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAogLyoKICAqIHNjaGVkdWxlciB0aWNrIGhpdHRpbmcgYSB0YXNrIG9mIG91ciBzY2hlZHVsaW5nIGNsYXNzOgpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmggYi9rZXJuZWwvc2NoZWRfZmVhdHVyZXMuaAppbmRleCAxYzcyODNjLi44NjJiMDZiIDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWRfZmVhdHVyZXMuaAorKysgYi9rZXJuZWwvc2NoZWRfZmVhdHVyZXMuaApAQCAtMSw0ICsxLDUgQEAKIFNDSEVEX0ZFQVQoTkVXX0ZBSVJfU0xFRVBFUlMsIDEpCitTQ0hFRF9GRUFUKE5PUk1BTElaRURfU0xFRVBFUiwgMSkKIFNDSEVEX0ZFQVQoV0FLRVVQX1BSRUVNUFQsIDEpCiBTQ0hFRF9GRUFUKFNUQVJUX0RFQklULCAxKQogU0NIRURfRkVBVChBRkZJTkVfV0FLRVVQUywgMSkKQEAgLTYsNSArNyw3IEBACiBTQ0hFRF9GRUFUKFNZTkNfV0FLRVVQUywgMSkKIFNDSEVEX0ZFQVQoSFJUSUNLLCAxKQogU0NIRURfRkVBVChET1VCTEVfVElDSywgMCkKLVNDSEVEX0ZFQVQoTk9STUFMSVpFRF9TTEVFUEVSLCAxKQotU0NIRURfRkVBVChERUFETElORSwgMSkKK1NDSEVEX0ZFQVQoQVNZTV9HUkFOLCAxKQorU0NIRURfRkVBVChMQl9CSUFTLCAwKQorU0NIRURfRkVBVChMQl9XQUtFVVBfVVBEQVRFLCAxKQorU0NIRURfRkVBVChBU1lNX0VGRl9MT0FELCAxKQpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX3J0LmMgYi9rZXJuZWwvc2NoZWRfcnQuYwppbmRleCAwZjNjMTkxLi40N2NlYWM5IDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWRfcnQuYworKysgYi9rZXJuZWwvc2NoZWRfcnQuYwpAQCAtMTIsNiArMTIsOSBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgcnRfc2V0X292ZXJsb2FkKHN0cnVjdCBycSAqcnEpCiB7CisJaWYgKCFycS0+b25saW5lKQorCQlyZXR1cm47CisKIAljcHVfc2V0KHJxLT5jcHUsIHJxLT5yZC0+cnRvX21hc2spOwogCS8qCiAJICogTWFrZSBzdXJlIHRoZSBtYXNrIGlzIHZpc2libGUgYmVmb3JlIHdlIHNldApAQCAtMjYsNiArMjksOSBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgcnRfY2xlYXJfb3ZlcmxvYWQoc3RydWN0IHJxICpycSkKIHsKKwlpZiAoIXJxLT5vbmxpbmUpCisJCXJldHVybjsKKwogCS8qIHRoZSBvcmRlciBoZXJlIHJlYWxseSBkb2Vzbid0IG1hdHRlciAqLwogCWF0b21pY19kZWMoJnJxLT5yZC0+cnRvX2NvdW50KTsKIAljcHVfY2xlYXIocnEtPmNwdSwgcnEtPnJkLT5ydG9fbWFzayk7CkBAIC0xNTUsNyArMTYxLDcgQEAKIAlyZXR1cm4gJnJ0X3JxLT50Zy0+cnRfYmFuZHdpZHRoOwogfQogCi0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiBzdGF0aWMgaW5saW5lIHU2NCBzY2hlZF9ydF9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCiB7CkBAIC0yMjAsNyArMjI2LDE2MCBAQAogCXJldHVybiAmZGVmX3J0X2JhbmR3aWR0aDsKIH0KIAotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1JUX0dST1VQX1NDSEVEICovCisKKyNpZmRlZiBDT05GSUdfU01QCitzdGF0aWMgaW50IGRvX2JhbGFuY2VfcnVudGltZShzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQoreworCXN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IgPSBzY2hlZF9ydF9iYW5kd2lkdGgocnRfcnEpOworCXN0cnVjdCByb290X2RvbWFpbiAqcmQgPSBjcHVfcnEoc21wX3Byb2Nlc3Nvcl9pZCgpKS0+cmQ7CisJaW50IGksIHdlaWdodCwgbW9yZSA9IDA7CisJdTY0IHJ0X3BlcmlvZDsKKworCXdlaWdodCA9IGNwdXNfd2VpZ2h0KHJkLT5zcGFuKTsKKworCXNwaW5fbG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwlydF9wZXJpb2QgPSBrdGltZV90b19ucyhydF9iLT5ydF9wZXJpb2QpOworCWZvcl9lYWNoX2NwdV9tYXNrKGksIHJkLT5zcGFuKSB7CisJCXN0cnVjdCBydF9ycSAqaXRlciA9IHNjaGVkX3J0X3BlcmlvZF9ydF9ycShydF9iLCBpKTsKKwkJczY0IGRpZmY7CisKKwkJaWYgKGl0ZXIgPT0gcnRfcnEpCisJCQljb250aW51ZTsKKworCQlzcGluX2xvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7CisJCWlmIChpdGVyLT5ydF9ydW50aW1lID09IFJVTlRJTUVfSU5GKQorCQkJZ290byBuZXh0OworCisJCWRpZmYgPSBpdGVyLT5ydF9ydW50aW1lIC0gaXRlci0+cnRfdGltZTsKKwkJaWYgKGRpZmYgPiAwKSB7CisJCQlkb19kaXYoZGlmZiwgd2VpZ2h0KTsKKwkJCWlmIChydF9ycS0+cnRfcnVudGltZSArIGRpZmYgPiBydF9wZXJpb2QpCisJCQkJZGlmZiA9IHJ0X3BlcmlvZCAtIHJ0X3JxLT5ydF9ydW50aW1lOworCQkJaXRlci0+cnRfcnVudGltZSAtPSBkaWZmOworCQkJcnRfcnEtPnJ0X3J1bnRpbWUgKz0gZGlmZjsKKwkJCW1vcmUgPSAxOworCQkJaWYgKHJ0X3JxLT5ydF9ydW50aW1lID09IHJ0X3BlcmlvZCkgeworCQkJCXNwaW5fdW5sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCQkJCWJyZWFrOworCQkJfQorCQl9CituZXh0OgorCQlzcGluX3VubG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKKwl9CisJc3Bpbl91bmxvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7CisKKwlyZXR1cm4gbW9yZTsKK30KKworc3RhdGljIHZvaWQgX19kaXNhYmxlX3J1bnRpbWUoc3RydWN0IHJxICpycSkKK3sKKwlzdHJ1Y3Qgcm9vdF9kb21haW4gKnJkID0gcnEtPnJkOworCXN0cnVjdCBydF9ycSAqcnRfcnE7CisKKwlpZiAodW5saWtlbHkoIXNjaGVkdWxlcl9ydW5uaW5nKSkKKwkJcmV0dXJuOworCisJZm9yX2VhY2hfbGVhZl9ydF9ycShydF9ycSwgcnEpIHsKKwkJc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiA9IHNjaGVkX3J0X2JhbmR3aWR0aChydF9ycSk7CisJCXM2NCB3YW50OworCQlpbnQgaTsKKworCQlzcGluX2xvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7CisJCXNwaW5fbG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisJCWlmIChydF9ycS0+cnRfcnVudGltZSA9PSBSVU5USU1FX0lORiB8fAorCQkJCXJ0X3JxLT5ydF9ydW50aW1lID09IHJ0X2ItPnJ0X3J1bnRpbWUpCisJCQlnb3RvIGJhbGFuY2VkOworCQlzcGluX3VubG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisKKwkJd2FudCA9IHJ0X2ItPnJ0X3J1bnRpbWUgLSBydF9ycS0+cnRfcnVudGltZTsKKworCQlmb3JfZWFjaF9jcHVfbWFzayhpLCByZC0+c3BhbikgeworCQkJc3RydWN0IHJ0X3JxICppdGVyID0gc2NoZWRfcnRfcGVyaW9kX3J0X3JxKHJ0X2IsIGkpOworCQkJczY0IGRpZmY7CisKKwkJCWlmIChpdGVyID09IHJ0X3JxKQorCQkJCWNvbnRpbnVlOworCisJCQlzcGluX2xvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7CisJCQlpZiAod2FudCA+IDApIHsKKwkJCQlkaWZmID0gbWluX3QoczY0LCBpdGVyLT5ydF9ydW50aW1lLCB3YW50KTsKKwkJCQlpdGVyLT5ydF9ydW50aW1lIC09IGRpZmY7CisJCQkJd2FudCAtPSBkaWZmOworCQkJfSBlbHNlIHsKKwkJCQlpdGVyLT5ydF9ydW50aW1lIC09IHdhbnQ7CisJCQkJd2FudCAtPSB3YW50OworCQkJfQorCQkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7CisKKwkJCWlmICghd2FudCkKKwkJCQlicmVhazsKKwkJfQorCisJCXNwaW5fbG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisJCUJVR19PTih3YW50KTsKK2JhbGFuY2VkOgorCQlydF9ycS0+cnRfcnVudGltZSA9IFJVTlRJTUVfSU5GOworCQlzcGluX3VubG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisJCXNwaW5fdW5sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCX0KK30KKworc3RhdGljIHZvaWQgZGlzYWJsZV9ydW50aW1lKHN0cnVjdCBycSAqcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOworCV9fZGlzYWJsZV9ydW50aW1lKHJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZycS0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBfX2VuYWJsZV9ydW50aW1lKHN0cnVjdCBycSAqcnEpCit7CisJc3RydWN0IHJ0X3JxICpydF9ycTsKKworCWlmICh1bmxpa2VseSghc2NoZWR1bGVyX3J1bm5pbmcpKQorCQlyZXR1cm47CisKKwlmb3JfZWFjaF9sZWFmX3J0X3JxKHJ0X3JxLCBycSkgeworCQlzdHJ1Y3QgcnRfYmFuZHdpZHRoICpydF9iID0gc2NoZWRfcnRfYmFuZHdpZHRoKHJ0X3JxKTsKKworCQlzcGluX2xvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7CisJCXNwaW5fbG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisJCXJ0X3JxLT5ydF9ydW50aW1lID0gcnRfYi0+cnRfcnVudGltZTsKKwkJcnRfcnEtPnJ0X3RpbWUgPSAwOworCQlzcGluX3VubG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisJCXNwaW5fdW5sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCX0KK30KKworc3RhdGljIHZvaWQgZW5hYmxlX3J1bnRpbWUoc3RydWN0IHJxICpycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CisJX19lbmFibGVfcnVudGltZShycSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIGludCBiYWxhbmNlX3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKwlpbnQgbW9yZSA9IDA7CisKKwlpZiAocnRfcnEtPnJ0X3RpbWUgPiBydF9ycS0+cnRfcnVudGltZSkgeworCQlzcGluX3VubG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisJCW1vcmUgPSBkb19iYWxhbmNlX3J1bnRpbWUocnRfcnEpOworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCX0KKworCXJldHVybiBtb3JlOworfQorI2Vsc2UgLyogIUNPTkZJR19TTVAgKi8KK3N0YXRpYyBpbmxpbmUgaW50IGJhbGFuY2VfcnVudGltZShzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQoreworCXJldHVybiAwOworfQorI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAogc3RhdGljIGludCBkb19zY2hlZF9ydF9wZXJpb2RfdGltZXIoc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiwgaW50IG92ZXJydW4pCiB7CkBAIC0yNDEsNiArNDAwLDggQEAKIAkJCXU2NCBydW50aW1lOwogCiAJCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQkJaWYgKHJ0X3JxLT5ydF90aHJvdHRsZWQpCisJCQkJYmFsYW5jZV9ydW50aW1lKHJ0X3JxKTsKIAkJCXJ1bnRpbWUgPSBydF9ycS0+cnRfcnVudGltZTsKIAkJCXJ0X3JxLT5ydF90aW1lIC09IG1pbihydF9ycS0+cnRfdGltZSwgb3ZlcnJ1bipydW50aW1lKTsKIAkJCWlmIChydF9ycS0+cnRfdGhyb3R0bGVkICYmIHJ0X3JxLT5ydF90aW1lIDwgcnVudGltZSkgewpAQCAtMjYxLDQ3ICs0MjIsNiBAQAogCXJldHVybiBpZGxlOwogfQogCi0jaWZkZWYgQ09ORklHX1NNUAotc3RhdGljIGludCBiYWxhbmNlX3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKLXsKLQlzdHJ1Y3QgcnRfYmFuZHdpZHRoICpydF9iID0gc2NoZWRfcnRfYmFuZHdpZHRoKHJ0X3JxKTsKLQlzdHJ1Y3Qgcm9vdF9kb21haW4gKnJkID0gY3B1X3JxKHNtcF9wcm9jZXNzb3JfaWQoKSktPnJkOwotCWludCBpLCB3ZWlnaHQsIG1vcmUgPSAwOwotCXU2NCBydF9wZXJpb2Q7Ci0KLQl3ZWlnaHQgPSBjcHVzX3dlaWdodChyZC0+c3Bhbik7Ci0KLQlzcGluX2xvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7Ci0JcnRfcGVyaW9kID0ga3RpbWVfdG9fbnMocnRfYi0+cnRfcGVyaW9kKTsKLQlmb3JfZWFjaF9jcHVfbWFzayhpLCByZC0+c3BhbikgewotCQlzdHJ1Y3QgcnRfcnEgKml0ZXIgPSBzY2hlZF9ydF9wZXJpb2RfcnRfcnEocnRfYiwgaSk7Ci0JCXM2NCBkaWZmOwotCi0JCWlmIChpdGVyID09IHJ0X3JxKQotCQkJY29udGludWU7Ci0KLQkJc3Bpbl9sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOwotCQlkaWZmID0gaXRlci0+cnRfcnVudGltZSAtIGl0ZXItPnJ0X3RpbWU7Ci0JCWlmIChkaWZmID4gMCkgewotCQkJZG9fZGl2KGRpZmYsIHdlaWdodCk7Ci0JCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgKyBkaWZmID4gcnRfcGVyaW9kKQotCQkJCWRpZmYgPSBydF9wZXJpb2QgLSBydF9ycS0+cnRfcnVudGltZTsKLQkJCWl0ZXItPnJ0X3J1bnRpbWUgLT0gZGlmZjsKLQkJCXJ0X3JxLT5ydF9ydW50aW1lICs9IGRpZmY7Ci0JCQltb3JlID0gMTsKLQkJCWlmIChydF9ycS0+cnRfcnVudGltZSA9PSBydF9wZXJpb2QpIHsKLQkJCQlzcGluX3VubG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKLQkJCQlicmVhazsKLQkJCX0KLQkJfQotCQlzcGluX3VubG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKLQl9Ci0Jc3Bpbl91bmxvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7Ci0KLQlyZXR1cm4gbW9yZTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgaW5saW5lIGludCBydF9zZV9wcmlvKHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKnJ0X3NlKQogewogI2lmZGVmIENPTkZJR19SVF9HUk9VUF9TQ0hFRApAQCAtMzI3LDE4ICs0NDcsMTAgQEAKIAlpZiAoc2NoZWRfcnRfcnVudGltZShydF9ycSkgPj0gc2NoZWRfcnRfcGVyaW9kKHJ0X3JxKSkKIAkJcmV0dXJuIDA7CiAKLSNpZmRlZiBDT05GSUdfU01QCi0JaWYgKHJ0X3JxLT5ydF90aW1lID4gcnVudGltZSkgewotCQlpbnQgbW9yZTsKLQotCQlzcGluX3VubG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7Ci0JCW1vcmUgPSBiYWxhbmNlX3J1bnRpbWUocnRfcnEpOwotCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOwotCi0JCWlmIChtb3JlKQotCQkJcnVudGltZSA9IHNjaGVkX3J0X3J1bnRpbWUocnRfcnEpOwotCX0KLSNlbmRpZgorCWJhbGFuY2VfcnVudGltZShydF9ycSk7CisJcnVudGltZSA9IHNjaGVkX3J0X3J1bnRpbWUocnRfcnEpOworCWlmIChydW50aW1lID09IFJVTlRJTUVfSU5GKQorCQlyZXR1cm4gMDsKIAogCWlmIChydF9ycS0+cnRfdGltZSA+IHJ1bnRpbWUpIHsKIAkJcnRfcnEtPnJ0X3Rocm90dGxlZCA9IDE7CkBAIC0zOTIsMTIgKzUwNCwyMSBAQAogCVdBUk5fT04oIXJ0X3ByaW8ocnRfc2VfcHJpbyhydF9zZSkpKTsKIAlydF9ycS0+cnRfbnJfcnVubmluZysrOwogI2lmIGRlZmluZWQgQ09ORklHX1NNUCB8fCBkZWZpbmVkIENPTkZJR19SVF9HUk9VUF9TQ0hFRAotCWlmIChydF9zZV9wcmlvKHJ0X3NlKSA8IHJ0X3JxLT5oaWdoZXN0X3ByaW8pCisJaWYgKHJ0X3NlX3ByaW8ocnRfc2UpIDwgcnRfcnEtPmhpZ2hlc3RfcHJpbykgeworCQlzdHJ1Y3QgcnEgKnJxID0gcnFfb2ZfcnRfcnEocnRfcnEpOworCiAJCXJ0X3JxLT5oaWdoZXN0X3ByaW8gPSBydF9zZV9wcmlvKHJ0X3NlKTsKKyNpZmRlZiBDT05GSUdfU01QCisJCWlmIChycS0+b25saW5lKQorCQkJY3B1cHJpX3NldCgmcnEtPnJkLT5jcHVwcmksIHJxLT5jcHUsCisJCQkJICAgcnRfc2VfcHJpbyhydF9zZSkpOworI2VuZGlmCisJfQogI2VuZGlmCiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChydF9zZS0+bnJfY3B1c19hbGxvd2VkID4gMSkgewogCQlzdHJ1Y3QgcnEgKnJxID0gcnFfb2ZfcnRfcnEocnRfcnEpOworCiAJCXJxLT5ydC5ydF9ucl9taWdyYXRvcnkrKzsKIAl9CiAKQEAgLTQxNyw2ICs1MzgsMTAgQEAKIHN0YXRpYyBpbmxpbmUKIHZvaWQgZGVjX3J0X3Rhc2tzKHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKnJ0X3NlLCBzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQogeworI2lmZGVmIENPTkZJR19TTVAKKwlpbnQgaGlnaGVzdF9wcmlvID0gcnRfcnEtPmhpZ2hlc3RfcHJpbzsKKyNlbmRpZgorCiAJV0FSTl9PTighcnRfcHJpbyhydF9zZV9wcmlvKHJ0X3NlKSkpOwogCVdBUk5fT04oIXJ0X3JxLT5ydF9ucl9ydW5uaW5nKTsKIAlydF9ycS0+cnRfbnJfcnVubmluZy0tOwpAQCAtNDQwLDYgKzU2NSwxNCBAQAogCQlycS0+cnQucnRfbnJfbWlncmF0b3J5LS07CiAJfQogCisJaWYgKHJ0X3JxLT5oaWdoZXN0X3ByaW8gIT0gaGlnaGVzdF9wcmlvKSB7CisJCXN0cnVjdCBycSAqcnEgPSBycV9vZl9ydF9ycShydF9ycSk7CisKKwkJaWYgKHJxLT5vbmxpbmUpCisJCQljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXByaSwgcnEtPmNwdSwKKwkJCQkgICBydF9ycS0+aGlnaGVzdF9wcmlvKTsKKwl9CisKIAl1cGRhdGVfcnRfbWlncmF0aW9uKHJxX29mX3J0X3JxKHJ0X3JxKSk7CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogI2lmZGVmIENPTkZJR19SVF9HUk9VUF9TQ0hFRApAQCAtNDU1LDYgKzU4OCw3IEBACiAJc3RydWN0IHJ0X3JxICpydF9ycSA9IHJ0X3JxX29mX3NlKHJ0X3NlKTsKIAlzdHJ1Y3QgcnRfcHJpb19hcnJheSAqYXJyYXkgPSAmcnRfcnEtPmFjdGl2ZTsKIAlzdHJ1Y3QgcnRfcnEgKmdyb3VwX3JxID0gZ3JvdXBfcnRfcnEocnRfc2UpOworCXN0cnVjdCBsaXN0X2hlYWQgKnF1ZXVlID0gYXJyYXktPnF1ZXVlICsgcnRfc2VfcHJpbyhydF9zZSk7CiAKIAkvKgogCSAqIERvbid0IGVucXVldWUgdGhlIGdyb3VwIGlmIGl0cyB0aHJvdHRsZWQsIG9yIHdoZW4gZW1wdHkuCkBAIC00NjUsNyArNTk5LDExIEBACiAJaWYgKGdyb3VwX3JxICYmIChydF9ycV90aHJvdHRsZWQoZ3JvdXBfcnEpIHx8ICFncm91cF9ycS0+cnRfbnJfcnVubmluZykpCiAJCXJldHVybjsKIAotCWxpc3RfYWRkX3RhaWwoJnJ0X3NlLT5ydW5fbGlzdCwgYXJyYXktPnF1ZXVlICsgcnRfc2VfcHJpbyhydF9zZSkpOworCWlmIChydF9zZS0+bnJfY3B1c19hbGxvd2VkID09IDEpCisJCWxpc3RfYWRkKCZydF9zZS0+cnVuX2xpc3QsIHF1ZXVlKTsKKwllbHNlCisJCWxpc3RfYWRkX3RhaWwoJnJ0X3NlLT5ydW5fbGlzdCwgcXVldWUpOworCiAJX19zZXRfYml0KHJ0X3NlX3ByaW8ocnRfc2UpLCBhcnJheS0+Yml0bWFwKTsKIAogCWluY19ydF90YXNrcyhydF9zZSwgcnRfcnEpOwpAQCAtNTMyLDYgKzY3MCw4IEBACiAJCXJ0X3NlLT50aW1lb3V0ID0gMDsKIAogCWVucXVldWVfcnRfZW50aXR5KHJ0X3NlKTsKKworCWluY19jcHVfbG9hZChycSwgcC0+c2UubG9hZC53ZWlnaHQpOwogfQogCiBzdGF0aWMgdm9pZCBkZXF1ZXVlX3Rhc2tfcnQoc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgc2xlZXApCkBAIC01NDAsNiArNjgwLDggQEAKIAogCXVwZGF0ZV9jdXJyX3J0KHJxKTsKIAlkZXF1ZXVlX3J0X2VudGl0eShydF9zZSk7CisKKwlkZWNfY3B1X2xvYWQocnEsIHAtPnNlLmxvYWQud2VpZ2h0KTsKIH0KIAogLyoKQEAgLTU1MCwxMCArNjkyLDEyIEBACiB2b2lkIHJlcXVldWVfcnRfZW50aXR5KHN0cnVjdCBydF9ycSAqcnRfcnEsIHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKnJ0X3NlKQogewogCXN0cnVjdCBydF9wcmlvX2FycmF5ICphcnJheSA9ICZydF9ycS0+YWN0aXZlOwotCXN0cnVjdCBsaXN0X2hlYWQgKnF1ZXVlID0gYXJyYXktPnF1ZXVlICsgcnRfc2VfcHJpbyhydF9zZSk7CiAKLQlpZiAob25fcnRfcnEocnRfc2UpKQotCQlsaXN0X21vdmVfdGFpbCgmcnRfc2UtPnJ1bl9saXN0LCBxdWV1ZSk7CisJaWYgKG9uX3J0X3JxKHJ0X3NlKSkgeworCQlsaXN0X2RlbF9pbml0KCZydF9zZS0+cnVuX2xpc3QpOworCQlsaXN0X2FkZF90YWlsKCZydF9zZS0+cnVuX2xpc3QsCisJCQkgICAgICBhcnJheS0+cXVldWUgKyBydF9zZV9wcmlvKHJ0X3NlKSk7CisJfQogfQogCiBzdGF0aWMgdm9pZCByZXF1ZXVlX3Rhc2tfcnQoc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKQpAQCAtNjE2LDggKzc2MCwzNyBAQAogICovCiBzdGF0aWMgdm9pZCBjaGVja19wcmVlbXB0X2N1cnJfcnQoc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKQogewotCWlmIChwLT5wcmlvIDwgcnEtPmN1cnItPnByaW8pCisJaWYgKHAtPnByaW8gPCBycS0+Y3Vyci0+cHJpbykgewogCQlyZXNjaGVkX3Rhc2socnEtPmN1cnIpOworCQlyZXR1cm47CisJfQorCisjaWZkZWYgQ09ORklHX1NNUAorCS8qCisJICogSWY6CisJICoKKwkgKiAtIHRoZSBuZXdseSB3b2tlbiB0YXNrIGlzIG9mIGVxdWFsIHByaW9yaXR5IHRvIHRoZSBjdXJyZW50IHRhc2sKKwkgKiAtIHRoZSBuZXdseSB3b2tlbiB0YXNrIGlzIG5vbi1taWdyYXRhYmxlIHdoaWxlIGN1cnJlbnQgaXMgbWlncmF0YWJsZQorCSAqIC0gY3VycmVudCB3aWxsIGJlIHByZWVtcHRlZCBvbiB0aGUgbmV4dCByZXNjaGVkdWxlCisJICoKKwkgKiB3ZSBzaG91bGQgY2hlY2sgdG8gc2VlIGlmIGN1cnJlbnQgY2FuIHJlYWRpbHkgbW92ZSB0byBhIGRpZmZlcmVudAorCSAqIGNwdS4gIElmIHNvLCB3ZSB3aWxsIHJlc2NoZWR1bGUgdG8gYWxsb3cgdGhlIHB1c2ggbG9naWMgdG8gdHJ5CisJICogdG8gbW92ZSBjdXJyZW50IHNvbWV3aGVyZSBlbHNlLCBtYWtpbmcgcm9vbSBmb3Igb3VyIG5vbi1taWdyYXRhYmxlCisJICogdGFzay4KKwkgKi8KKwlpZigocC0+cHJpbyA9PSBycS0+Y3Vyci0+cHJpbykKKwkgICAmJiBwLT5ydC5ucl9jcHVzX2FsbG93ZWQgPT0gMQorCSAgICYmIHJxLT5jdXJyLT5ydC5ucl9jcHVzX2FsbG93ZWQgIT0gMSkgeworCQljcHVtYXNrX3QgbWFzazsKKworCQlpZiAoY3B1cHJpX2ZpbmQoJnJxLT5yZC0+Y3B1cHJpLCBycS0+Y3VyciwgJm1hc2spKQorCQkJLyoKKwkJCSAqIFRoZXJlIGFwcGVhcnMgdG8gYmUgb3RoZXIgY3B1cyB0aGF0IGNhbiBhY2NlcHQKKwkJCSAqIGN1cnJlbnQsIHNvIGxldHMgcmVzY2hlZHVsZSB0byB0cnkgYW5kIHB1c2ggaXQgYXdheQorCQkJICovCisJCQlyZXNjaGVkX3Rhc2socnEtPmN1cnIpOworCX0KKyNlbmRpZgogfQogCiBzdGF0aWMgc3RydWN0IHNjaGVkX3J0X2VudGl0eSAqcGlja19uZXh0X3J0X2VudGl0eShzdHJ1Y3QgcnEgKnJxLApAQCAtNzIwLDczICs4OTMsNiBAQAogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoY3B1bWFza190LCBsb2NhbF9jcHVfbWFzayk7CiAKLXN0YXRpYyBpbnQgZmluZF9sb3dlc3RfY3B1cyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIGNwdW1hc2tfdCAqbG93ZXN0X21hc2spCi17Ci0JaW50ICAgICAgIGxvd2VzdF9wcmlvID0gLTE7Ci0JaW50ICAgICAgIGxvd2VzdF9jcHUgID0gLTE7Ci0JaW50ICAgICAgIGNvdW50ICAgICAgID0gMDsKLQlpbnQgICAgICAgY3B1OwotCi0JY3B1c19hbmQoKmxvd2VzdF9tYXNrLCB0YXNrX3JxKHRhc2spLT5yZC0+b25saW5lLCB0YXNrLT5jcHVzX2FsbG93ZWQpOwotCi0JLyoKLQkgKiBTY2FuIGVhY2ggcnEgZm9yIHRoZSBsb3dlc3QgcHJpby4KLQkgKi8KLQlmb3JfZWFjaF9jcHVfbWFzayhjcHUsICpsb3dlc3RfbWFzaykgewotCQlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7Ci0KLQkJLyogV2UgbG9vayBmb3IgbG93ZXN0IFJUIHByaW8gb3Igbm9uLXJ0IENQVSAqLwotCQlpZiAocnEtPnJ0LmhpZ2hlc3RfcHJpbyA+PSBNQVhfUlRfUFJJTykgewotCQkJLyoKLQkJCSAqIGlmIHdlIGFscmVhZHkgZm91bmQgYSBsb3cgUlQgcXVldWUKLQkJCSAqIGFuZCBub3cgd2UgZm91bmQgdGhpcyBub24tcnQgcXVldWUKLQkJCSAqIGNsZWFyIHRoZSBtYXNrIGFuZCBzZXQgb3VyIGJpdC4KLQkJCSAqIE90aGVyd2lzZSBqdXN0IHJldHVybiB0aGUgcXVldWUgYXMgaXMKLQkJCSAqIGFuZCB0aGUgY291bnQ9PTEgd2lsbCBjYXVzZSB0aGUgYWxnb3JpdGhtCi0JCQkgKiB0byB1c2UgdGhlIGZpcnN0IGJpdCBmb3VuZC4KLQkJCSAqLwotCQkJaWYgKGxvd2VzdF9jcHUgIT0gLTEpIHsKLQkJCQljcHVzX2NsZWFyKCpsb3dlc3RfbWFzayk7Ci0JCQkJY3B1X3NldChycS0+Y3B1LCAqbG93ZXN0X21hc2spOwotCQkJfQotCQkJcmV0dXJuIDE7Ci0JCX0KLQotCQkvKiBubyBsb2NraW5nIGZvciBub3cgKi8KLQkJaWYgKChycS0+cnQuaGlnaGVzdF9wcmlvID4gdGFzay0+cHJpbykKLQkJICAgICYmIChycS0+cnQuaGlnaGVzdF9wcmlvID49IGxvd2VzdF9wcmlvKSkgewotCQkJaWYgKHJxLT5ydC5oaWdoZXN0X3ByaW8gPiBsb3dlc3RfcHJpbykgewotCQkJCS8qIG5ldyBsb3cgLSBjbGVhciBvbGQgZGF0YSAqLwotCQkJCWxvd2VzdF9wcmlvID0gcnEtPnJ0LmhpZ2hlc3RfcHJpbzsKLQkJCQlsb3dlc3RfY3B1ID0gY3B1OwotCQkJCWNvdW50ID0gMDsKLQkJCX0KLQkJCWNvdW50Kys7Ci0JCX0gZWxzZQotCQkJY3B1X2NsZWFyKGNwdSwgKmxvd2VzdF9tYXNrKTsKLQl9Ci0KLQkvKgotCSAqIENsZWFyIG91dCBhbGwgdGhlIHNldCBiaXRzIHRoYXQgcmVwcmVzZW50Ci0JICogcnVucXVldWVzIHRoYXQgd2VyZSBvZiBoaWdoZXIgcHJpbyB0aGFuCi0JICogdGhlIGxvd2VzdF9wcmlvLgotCSAqLwotCWlmIChsb3dlc3RfY3B1ID4gMCkgewotCQkvKgotCQkgKiBQZXJoYXBzIHdlIGNvdWxkIGFkZCBhbm90aGVyIGNwdW1hc2sgb3AgdG8KLQkJICogemVybyBvdXQgYml0cy4gTGlrZSBjcHVfemVyb19iaXRzKGNwdW1hc2ssIG5yYml0cyk7Ci0JCSAqIFRoZW4gdGhhdCBjb3VsZCBiZSBvcHRpbWl6ZWQgdG8gdXNlIG1lbXNldCBhbmQgc3VjaC4KLQkJICovCi0JCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgKmxvd2VzdF9tYXNrKSB7Ci0JCQlpZiAoY3B1ID49IGxvd2VzdF9jcHUpCi0JCQkJYnJlYWs7Ci0JCQljcHVfY2xlYXIoY3B1LCAqbG93ZXN0X21hc2spOwotCQl9Ci0JfQotCi0JcmV0dXJuIGNvdW50OwotfQotCiBzdGF0aWMgaW5saW5lIGludCBwaWNrX29wdGltYWxfY3B1KGludCB0aGlzX2NwdSwgY3B1bWFza190ICptYXNrKQogewogCWludCBmaXJzdDsKQEAgLTgwOCwxOSArOTE0LDE0IEBACiAJY3B1bWFza190ICpsb3dlc3RfbWFzayA9ICZfX2dldF9jcHVfdmFyKGxvY2FsX2NwdV9tYXNrKTsKIAlpbnQgdGhpc19jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJaW50IGNwdSAgICAgID0gdGFza19jcHUodGFzayk7Ci0JaW50IGNvdW50ICAgID0gZmluZF9sb3dlc3RfY3B1cyh0YXNrLCBsb3dlc3RfbWFzayk7CiAKLQlpZiAoIWNvdW50KQorCWlmICh0YXNrLT5ydC5ucl9jcHVzX2FsbG93ZWQgPT0gMSkKKwkJcmV0dXJuIC0xOyAvKiBObyBvdGhlciB0YXJnZXRzIHBvc3NpYmxlICovCisKKwlpZiAoIWNwdXByaV9maW5kKCZ0YXNrX3JxKHRhc2spLT5yZC0+Y3B1cHJpLCB0YXNrLCBsb3dlc3RfbWFzaykpCiAJCXJldHVybiAtMTsgLyogTm8gdGFyZ2V0cyBmb3VuZCAqLwogCiAJLyoKLQkgKiBUaGVyZSBpcyBubyBzZW5zZSBpbiBwZXJmb3JtaW5nIGFuIG9wdGltYWwgc2VhcmNoIGlmIG9ubHkgb25lCi0JICogdGFyZ2V0IGlzIGZvdW5kLgotCSAqLwotCWlmIChjb3VudCA9PSAxKQotCQlyZXR1cm4gZmlyc3RfY3B1KCpsb3dlc3RfbWFzayk7Ci0KLQkvKgogCSAqIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBidWlsdCBhIG1hc2sgb2YgY3B1cyByZXByZXNlbnRpbmcgdGhlCiAJICogbG93ZXN0IHByaW9yaXR5IHRhc2tzIGluIHRoZSBzeXN0ZW0uICBOb3cgd2Ugd2FudCB0byBlbGVjdAogCSAqIHRoZSBiZXN0IG9uZSBiYXNlZCBvbiBvdXIgYWZmaW5pdHkgYW5kIHRvcG9sb2d5LgpAQCAtMTE2MywxNyArMTI2NCwyNSBAQAogfQogCiAvKiBBc3N1bWVzIHJxLT5sb2NrIGlzIGhlbGQgKi8KLXN0YXRpYyB2b2lkIGpvaW5fZG9tYWluX3J0KHN0cnVjdCBycSAqcnEpCitzdGF0aWMgdm9pZCBycV9vbmxpbmVfcnQoc3RydWN0IHJxICpycSkKIHsKIAlpZiAocnEtPnJ0Lm92ZXJsb2FkZWQpCiAJCXJ0X3NldF9vdmVybG9hZChycSk7CisKKwlfX2VuYWJsZV9ydW50aW1lKHJxKTsKKworCWNwdXByaV9zZXQoJnJxLT5yZC0+Y3B1cHJpLCBycS0+Y3B1LCBycS0+cnQuaGlnaGVzdF9wcmlvKTsKIH0KIAogLyogQXNzdW1lcyBycS0+bG9jayBpcyBoZWxkICovCi1zdGF0aWMgdm9pZCBsZWF2ZV9kb21haW5fcnQoc3RydWN0IHJxICpycSkKK3N0YXRpYyB2b2lkIHJxX29mZmxpbmVfcnQoc3RydWN0IHJxICpycSkKIHsKIAlpZiAocnEtPnJ0Lm92ZXJsb2FkZWQpCiAJCXJ0X2NsZWFyX292ZXJsb2FkKHJxKTsKKworCV9fZGlzYWJsZV9ydW50aW1lKHJxKTsKKworCWNwdXByaV9zZXQoJnJxLT5yZC0+Y3B1cHJpLCBycS0+Y3B1LCBDUFVQUklfSU5WQUxJRCk7CiB9CiAKIC8qCkBAIC0xMzM2LDggKzE0NDUsOCBAQAogCS5sb2FkX2JhbGFuY2UJCT0gbG9hZF9iYWxhbmNlX3J0LAogCS5tb3ZlX29uZV90YXNrCQk9IG1vdmVfb25lX3Rhc2tfcnQsCiAJLnNldF9jcHVzX2FsbG93ZWQgICAgICAgPSBzZXRfY3B1c19hbGxvd2VkX3J0LAotCS5qb2luX2RvbWFpbiAgICAgICAgICAgID0gam9pbl9kb21haW5fcnQsCi0JLmxlYXZlX2RvbWFpbiAgICAgICAgICAgPSBsZWF2ZV9kb21haW5fcnQsCisJLnJxX29ubGluZSAgICAgICAgICAgICAgPSBycV9vbmxpbmVfcnQsCisJLnJxX29mZmxpbmUgICAgICAgICAgICAgPSBycV9vZmZsaW5lX3J0LAogCS5wcmVfc2NoZWR1bGUJCT0gcHJlX3NjaGVkdWxlX3J0LAogCS5wb3N0X3NjaGVkdWxlCQk9IHBvc3Rfc2NoZWR1bGVfcnQsCiAJLnRhc2tfd2FrZV91cAkJPSB0YXNrX3dha2VfdXBfcnQsCkBAIC0xMzUwLDMgKzE0NTksMTcgQEAKIAkucHJpb19jaGFuZ2VkCQk9IHByaW9fY2hhbmdlZF9ydCwKIAkuc3dpdGNoZWRfdG8JCT0gc3dpdGNoZWRfdG9fcnQsCiB9OworCisjaWZkZWYgQ09ORklHX1NDSEVEX0RFQlVHCitleHRlcm4gdm9pZCBwcmludF9ydF9ycShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGludCBjcHUsIHN0cnVjdCBydF9ycSAqcnRfcnEpOworCitzdGF0aWMgdm9pZCBwcmludF9ydF9zdGF0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGludCBjcHUpCit7CisJc3RydWN0IHJ0X3JxICpydF9ycTsKKworCXJjdV9yZWFkX2xvY2soKTsKKwlmb3JfZWFjaF9sZWFmX3J0X3JxKHJ0X3JxLCBjcHVfcnEoY3B1KSkKKwkJcHJpbnRfcnRfcnEobSwgY3B1LCBydF9ycSk7CisJcmN1X3JlYWRfdW5sb2NrKCk7Cit9CisjZW5kaWYgLyogQ09ORklHX1NDSEVEX0RFQlVHICovCmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfc3RhdHMuaCBiL2tlcm5lbC9zY2hlZF9zdGF0cy5oCmluZGV4IDgwMTc5ZWYuLjgzODVkNDMgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9zdGF0cy5oCisrKyBiL2tlcm5lbC9zY2hlZF9zdGF0cy5oCkBAIC0xMTgsNiArMTE4LDEzIEBACiAJaWYgKHJxKQogCQlycS0+cnFfc2NoZWRfaW5mby5jcHVfdGltZSArPSBkZWx0YTsKIH0KKworc3RhdGljIGlubGluZSB2b2lkCitycV9zY2hlZF9pbmZvX2RlcXVldWVkKHN0cnVjdCBycSAqcnEsIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSkKK3sKKwlpZiAocnEpCisJCXJxLT5ycV9zY2hlZF9pbmZvLnJ1bl9kZWxheSArPSBkZWx0YTsKK30KICMgZGVmaW5lIHNjaGVkc3RhdF9pbmMocnEsIGZpZWxkKQlkbyB7IChycSktPmZpZWxkKys7IH0gd2hpbGUgKDApCiAjIGRlZmluZSBzY2hlZHN0YXRfYWRkKHJxLCBmaWVsZCwgYW10KQlkbyB7IChycSktPmZpZWxkICs9IChhbXQpOyB9IHdoaWxlICgwKQogIyBkZWZpbmUgc2NoZWRzdGF0X3NldCh2YXIsIHZhbCkJZG8geyB2YXIgPSAodmFsKTsgfSB3aGlsZSAoMCkKQEAgLTEyNiw2ICsxMzMsOSBAQAogcnFfc2NoZWRfaW5mb19hcnJpdmUoc3RydWN0IHJxICpycSwgdW5zaWduZWQgbG9uZyBsb25nIGRlbHRhKQoge30KIHN0YXRpYyBpbmxpbmUgdm9pZAorcnFfc2NoZWRfaW5mb19kZXF1ZXVlZChzdHJ1Y3QgcnEgKnJxLCB1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEpCit7fQorc3RhdGljIGlubGluZSB2b2lkCiBycV9zY2hlZF9pbmZvX2RlcGFydChzdHJ1Y3QgcnEgKnJxLCB1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEpCiB7fQogIyBkZWZpbmUgc2NoZWRzdGF0X2luYyhycSwgZmllbGQpCWRvIHsgfSB3aGlsZSAoMCkKQEAgLTEzNCw2ICsxNDQsMTEgQEAKICNlbmRpZgogCiAjaWYgZGVmaW5lZChDT05GSUdfU0NIRURTVEFUUykgfHwgZGVmaW5lZChDT05GSUdfVEFTS19ERUxBWV9BQ0NUKQorc3RhdGljIGlubGluZSB2b2lkIHNjaGVkX2luZm9fcmVzZXRfZGVxdWV1ZWQoc3RydWN0IHRhc2tfc3RydWN0ICp0KQoreworCXQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQgPSAwOworfQorCiAvKgogICogQ2FsbGVkIHdoZW4gYSBwcm9jZXNzIGlzIGRlcXVldWVkIGZyb20gdGhlIGFjdGl2ZSBhcnJheSBhbmQgZ2l2ZW4KICAqIHRoZSBjcHUuICBXZSBzaG91bGQgbm90ZSB0aGF0IHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBpbnRlcmFjdGl2ZQpAQCAtMTQzLDE1ICsxNTgsMjIgQEAKICAqIGFjdGl2ZSBxdWV1ZSwgdGh1cyBkZWxheWluZyB0YXNrcyBpbiB0aGUgZXhwaXJlZCBxdWV1ZSBmcm9tIHJ1bm5pbmc7CiAgKiBzZWUgc2NoZWR1bGVyX3RpY2soKSkuCiAgKgotICogVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBmcm9tIHNjaGVkX2luZm9fYXJyaXZlKCksIHJhdGhlciB0aGFuCi0gKiBkZXF1ZXVlX3Rhc2soKS4gRXZlbiB0aG91Z2ggYSB0YXNrIG1heSBiZSBxdWV1ZWQgYW5kIGRlcXVldWVkIG11bHRpcGxlCi0gKiB0aW1lcyBhcyBpdCBpcyBzaHVmZmxlZCBhYm91dCwgd2UncmUgcmVhbGx5IGludGVyZXN0ZWQgaW4ga25vd2luZyBob3cKLSAqIGxvbmcgaXQgd2FzIGZyb20gdGhlICpmaXJzdCogdGltZSBpdCB3YXMgcXVldWVkIHRvIHRoZSB0aW1lIHRoYXQgaXQKLSAqIGZpbmFsbHkgaGl0IGEgY3B1LgorICogVGhvdWdoIHdlIGFyZSBpbnRlcmVzdGVkIGluIGtub3dpbmcgaG93IGxvbmcgaXQgd2FzIGZyb20gdGhlICpmaXJzdCogdGltZSBhCisgKiB0YXNrIHdhcyBxdWV1ZWQgdG8gdGhlIHRpbWUgdGhhdCBpdCBmaW5hbGx5IGhpdCBhIGNwdSwgd2UgY2FsbCB0aGlzIHJvdXRpbmUKKyAqIGZyb20gZGVxdWV1ZV90YXNrKCkgdG8gYWNjb3VudCBmb3IgcG9zc2libGUgcnEtPmNsb2NrIHNrZXcgYWNyb3NzIGNwdXMuIFRoZQorICogZGVsdGEgdGFrZW4gb24gZWFjaCBjcHUgd291bGQgYW5udWwgdGhlIHNrZXcuCiAgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9pbmZvX2RlcXVldWVkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdCkKIHsKLQl0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkID0gMDsKKwl1bnNpZ25lZCBsb25nIGxvbmcgbm93ID0gdGFza19ycSh0KS0+Y2xvY2ssIGRlbHRhID0gMDsKKworCWlmICh1bmxpa2VseShzY2hlZF9pbmZvX29uKCkpKQorCQlpZiAodC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZCkKKwkJCWRlbHRhID0gbm93IC0gdC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZDsKKwlzY2hlZF9pbmZvX3Jlc2V0X2RlcXVldWVkKHQpOworCXQtPnNjaGVkX2luZm8ucnVuX2RlbGF5ICs9IGRlbHRhOworCisJcnFfc2NoZWRfaW5mb19kZXF1ZXVlZCh0YXNrX3JxKHQpLCBkZWx0YSk7CiB9CiAKIC8qCkBAIC0xNjUsNyArMTg3LDcgQEAKIAogCWlmICh0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkKQogCQlkZWx0YSA9IG5vdyAtIHQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQ7Ci0Jc2NoZWRfaW5mb19kZXF1ZXVlZCh0KTsKKwlzY2hlZF9pbmZvX3Jlc2V0X2RlcXVldWVkKHQpOwogCXQtPnNjaGVkX2luZm8ucnVuX2RlbGF5ICs9IGRlbHRhOwogCXQtPnNjaGVkX2luZm8ubGFzdF9hcnJpdmFsID0gbm93OwogCXQtPnNjaGVkX2luZm8ucGNvdW50Kys7CkBAIC0yNDIsNyArMjY0LDkgQEAKIAkJX19zY2hlZF9pbmZvX3N3aXRjaChwcmV2LCBuZXh0KTsKIH0KICNlbHNlCi0jZGVmaW5lIHNjaGVkX2luZm9fcXVldWVkKHQpCQlkbyB7IH0gd2hpbGUgKDApCi0jZGVmaW5lIHNjaGVkX2luZm9fc3dpdGNoKHQsIG5leHQpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc2NoZWRfaW5mb19xdWV1ZWQodCkJCQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHNjaGVkX2luZm9fcmVzZXRfZGVxdWV1ZWQodCkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBzY2hlZF9pbmZvX2RlcXVldWVkKHQpCQkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBzY2hlZF9pbmZvX3N3aXRjaCh0LCBuZXh0KQkJZG8geyB9IHdoaWxlICgwKQogI2VuZGlmIC8qIENPTkZJR19TQ0hFRFNUQVRTIHx8IENPTkZJR19UQVNLX0RFTEFZX0FDQ1QgKi8KIApkaWZmIC0tZ2l0IGEva2VybmVsL3NlbWFwaG9yZS5jIGIva2VybmVsL3NlbWFwaG9yZS5jCmluZGV4IDVjMjk0MmUuLmFhYWVhZTggMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zZW1hcGhvcmUuYworKysgYi9rZXJuZWwvc2VtYXBob3JlLmMKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlbWFwaG9yZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CiAKIHN0YXRpYyBub2lubGluZSB2b2lkIF9fZG93bihzdHJ1Y3Qgc2VtYXBob3JlICpzZW0pOwogc3RhdGljIG5vaW5saW5lIGludCBfX2Rvd25faW50ZXJydXB0aWJsZShzdHJ1Y3Qgc2VtYXBob3JlICpzZW0pOwpkaWZmIC0tZ2l0IGEva2VybmVsL3NtcC5jIGIva2VybmVsL3NtcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MmM3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvc21wLmMKQEAgLTAsMCArMSwzODMgQEAKKy8qCisgKiBHZW5lcmljIGhlbHBlcnMgZm9yIHNtcCBpcGkgY2FsbHMKKyAqCisgKiAoQykgSmVucyBBeGJvZSA8amVucy5heGJvZUBvcmFjbGUuY29tPiAyMDA4CisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGNhbGxfc2luZ2xlX3F1ZXVlLCBjYWxsX3NpbmdsZV9xdWV1ZSk7CitzdGF0aWMgTElTVF9IRUFEKGNhbGxfZnVuY3Rpb25fcXVldWUpOworX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgREVGSU5FX1NQSU5MT0NLKGNhbGxfZnVuY3Rpb25fbG9jayk7CisKK2VudW0geworCUNTRF9GTEFHX1dBSVQJCT0gMHgwMSwKKwlDU0RfRkxBR19BTExPQwkJPSAweDAyLAorfTsKKworc3RydWN0IGNhbGxfZnVuY3Rpb25fZGF0YSB7CisJc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgY3NkOworCXNwaW5sb2NrX3QgbG9jazsKKwl1bnNpZ25lZCBpbnQgcmVmczsKKwljcHVtYXNrX3QgY3B1bWFzazsKKwlzdHJ1Y3QgcmN1X2hlYWQgcmN1X2hlYWQ7Cit9OworCitzdHJ1Y3QgY2FsbF9zaW5nbGVfcXVldWUgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzcGlubG9ja190IGxvY2s7Cit9OworCit2b2lkIF9fY3B1aW5pdCBpbml0X2NhbGxfc2luZ2xlX2RhdGEodm9pZCkKK3sKKwlpbnQgaTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShpKSB7CisJCXN0cnVjdCBjYWxsX3NpbmdsZV9xdWV1ZSAqcSA9ICZwZXJfY3B1KGNhbGxfc2luZ2xlX3F1ZXVlLCBpKTsKKworCQlzcGluX2xvY2tfaW5pdCgmcS0+bG9jayk7CisJCUlOSVRfTElTVF9IRUFEKCZxLT5saXN0KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGNzZF9mbGFnX3dhaXQoc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgKmRhdGEpCit7CisJLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KKwlkbyB7CisJCS8qCisJCSAqIFdlIG5lZWQgdG8gc2VlIHRoZSBmbGFncyBzdG9yZSBpbiB0aGUgSVBJIGhhbmRsZXIKKwkJICovCisJCXNtcF9tYigpOworCQlpZiAoIShkYXRhLT5mbGFncyAmIENTRF9GTEFHX1dBSVQpKQorCQkJYnJlYWs7CisJCWNwdV9yZWxheCgpOworCX0gd2hpbGUgKDEpOworfQorCisvKgorICogSW5zZXJ0IGEgcHJldmlvdXNseSBhbGxvY2F0ZWQgY2FsbF9zaW5nbGVfZGF0YSBlbGVtZW50IGZvciBleGVjdXRpb24KKyAqIG9uIHRoZSBnaXZlbiBDUFUuIGRhdGEgbXVzdCBhbHJlYWR5IGhhdmUgLT5mdW5jLCAtPmluZm8sIGFuZCAtPmZsYWdzIHNldC4KKyAqLworc3RhdGljIHZvaWQgZ2VuZXJpY19leGVjX3NpbmdsZShpbnQgY3B1LCBzdHJ1Y3QgY2FsbF9zaW5nbGVfZGF0YSAqZGF0YSkKK3sKKwlzdHJ1Y3QgY2FsbF9zaW5nbGVfcXVldWUgKmRzdCA9ICZwZXJfY3B1KGNhbGxfc2luZ2xlX3F1ZXVlLCBjcHUpOworCWludCB3YWl0ID0gZGF0YS0+ZmxhZ3MgJiBDU0RfRkxBR19XQUlULCBpcGk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkc3QtPmxvY2ssIGZsYWdzKTsKKwlpcGkgPSBsaXN0X2VtcHR5KCZkc3QtPmxpc3QpOworCWxpc3RfYWRkX3RhaWwoJmRhdGEtPmxpc3QsICZkc3QtPmxpc3QpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRzdC0+bG9jaywgZmxhZ3MpOworCisJaWYgKGlwaSkKKwkJYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShjcHUpOworCisJaWYgKHdhaXQpCisJCWNzZF9mbGFnX3dhaXQoZGF0YSk7Cit9CisKK3N0YXRpYyB2b2lkIHJjdV9mcmVlX2NhbGxfZGF0YShzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCit7CisJc3RydWN0IGNhbGxfZnVuY3Rpb25fZGF0YSAqZGF0YTsKKworCWRhdGEgPSBjb250YWluZXJfb2YoaGVhZCwgc3RydWN0IGNhbGxfZnVuY3Rpb25fZGF0YSwgcmN1X2hlYWQpOworCisJa2ZyZWUoZGF0YSk7Cit9CisKKy8qCisgKiBJbnZva2VkIGJ5IGFyY2ggdG8gaGFuZGxlIGFuIElQSSBmb3IgY2FsbCBmdW5jdGlvbi4gTXVzdCBiZSBjYWxsZWQgd2l0aAorICogaW50ZXJydXB0cyBkaXNhYmxlZC4KKyAqLwordm9pZCBnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKQoreworCXN0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEgKmRhdGE7CisJaW50IGNwdSA9IGdldF9jcHUoKTsKKworCS8qCisJICogSXQncyBvayB0byB1c2UgbGlzdF9mb3JfZWFjaF9yY3UoKSBoZXJlIGV2ZW4gdGhvdWdoIHdlIG1heSBkZWxldGUKKwkgKiAncG9zJywgc2luY2UgbGlzdF9kZWxfcmN1KCkgZG9lc24ndCBjbGVhciAtPm5leHQKKwkgKi8KKwlyY3VfcmVhZF9sb2NrKCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoZGF0YSwgJmNhbGxfZnVuY3Rpb25fcXVldWUsIGNzZC5saXN0KSB7CisJCWludCByZWZzOworCisJCWlmICghY3B1X2lzc2V0KGNwdSwgZGF0YS0+Y3B1bWFzaykpCisJCQljb250aW51ZTsKKworCQlkYXRhLT5jc2QuZnVuYyhkYXRhLT5jc2QuaW5mbyk7CisKKwkJc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKwkJY3B1X2NsZWFyKGNwdSwgZGF0YS0+Y3B1bWFzayk7CisJCVdBUk5fT04oZGF0YS0+cmVmcyA9PSAwKTsKKwkJZGF0YS0+cmVmcy0tOworCQlyZWZzID0gZGF0YS0+cmVmczsKKwkJc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCisJCWlmIChyZWZzKQorCQkJY29udGludWU7CisKKwkJc3Bpbl9sb2NrKCZjYWxsX2Z1bmN0aW9uX2xvY2spOworCQlsaXN0X2RlbF9yY3UoJmRhdGEtPmNzZC5saXN0KTsKKwkJc3Bpbl91bmxvY2soJmNhbGxfZnVuY3Rpb25fbG9jayk7CisKKwkJaWYgKGRhdGEtPmNzZC5mbGFncyAmIENTRF9GTEFHX1dBSVQpIHsKKwkJCS8qCisJCQkgKiBzZXJpYWxpemUgc3RvcmVzIHRvIGRhdGEgd2l0aCB0aGUgZmxhZyBjbGVhcgorCQkJICogYW5kIHdha2V1cAorCQkJICovCisJCQlzbXBfd21iKCk7CisJCQlkYXRhLT5jc2QuZmxhZ3MgJj0gfkNTRF9GTEFHX1dBSVQ7CisJCX0gZWxzZQorCQkJY2FsbF9yY3UoJmRhdGEtPnJjdV9oZWFkLCByY3VfZnJlZV9jYWxsX2RhdGEpOworCX0KKwlyY3VfcmVhZF91bmxvY2soKTsKKworCXB1dF9jcHUoKTsKK30KKworLyoKKyAqIEludm9rZWQgYnkgYXJjaCB0byBoYW5kbGUgYW4gSVBJIGZvciBjYWxsIGZ1bmN0aW9uIHNpbmdsZS4gTXVzdCBiZSBjYWxsZWQKKyAqIGZyb20gdGhlIGFyY2ggd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkLgorICovCit2b2lkIGdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCh2b2lkKQoreworCXN0cnVjdCBjYWxsX3NpbmdsZV9xdWV1ZSAqcSA9ICZfX2dldF9jcHVfdmFyKGNhbGxfc2luZ2xlX3F1ZXVlKTsKKwlMSVNUX0hFQUQobGlzdCk7CisKKwkvKgorCSAqIE5lZWQgdG8gc2VlIG90aGVyIHN0b3JlcyB0byBsaXN0IGhlYWQgZm9yIGNoZWNraW5nIHdoZXRoZXIKKwkgKiBsaXN0IGlzIGVtcHR5IHdpdGhvdXQgaG9sZGluZyBxLT5sb2NrCisJICovCisJc21wX21iKCk7CisJd2hpbGUgKCFsaXN0X2VtcHR5KCZxLT5saXN0KSkgeworCQl1bnNpZ25lZCBpbnQgZGF0YV9mbGFnczsKKworCQlzcGluX2xvY2soJnEtPmxvY2spOworCQlsaXN0X3JlcGxhY2VfaW5pdCgmcS0+bGlzdCwgJmxpc3QpOworCQlzcGluX3VubG9jaygmcS0+bG9jayk7CisKKwkJd2hpbGUgKCFsaXN0X2VtcHR5KCZsaXN0KSkgeworCQkJc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgKmRhdGE7CisKKwkJCWRhdGEgPSBsaXN0X2VudHJ5KGxpc3QubmV4dCwgc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEsCisJCQkJCQlsaXN0KTsKKwkJCWxpc3RfZGVsKCZkYXRhLT5saXN0KTsKKworCQkJLyoKKwkJCSAqICdkYXRhJyBjYW4gYmUgaW52YWxpZCBhZnRlciB0aGlzIGNhbGwgaWYKKwkJCSAqIGZsYWdzID09IDAgKHdoZW4gY2FsbGVkIHRocm91Z2gKKwkJCSAqIGdlbmVyaWNfZXhlY19zaW5nbGUoKSwgc28gc2F2ZSB0aGVtIGF3YXkgYmVmb3JlCisJCQkgKiBtYWtpbmcgdGhlIGNhbGwuCisJCQkgKi8KKwkJCWRhdGFfZmxhZ3MgPSBkYXRhLT5mbGFnczsKKworCQkJZGF0YS0+ZnVuYyhkYXRhLT5pbmZvKTsKKworCQkJaWYgKGRhdGFfZmxhZ3MgJiBDU0RfRkxBR19XQUlUKSB7CisJCQkJc21wX3dtYigpOworCQkJCWRhdGEtPmZsYWdzICY9IH5DU0RfRkxBR19XQUlUOworCQkJfSBlbHNlIGlmIChkYXRhX2ZsYWdzICYgQ1NEX0ZMQUdfQUxMT0MpCisJCQkJa2ZyZWUoZGF0YSk7CisJCX0KKwkJLyoKKwkJICogU2VlIGNvbW1lbnQgb24gb3V0ZXIgbG9vcAorCQkgKi8KKwkJc21wX21iKCk7CisJfQorfQorCisvKgorICogc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlIC0gUnVuIGEgZnVuY3Rpb24gb24gYSBzcGVjaWZpYyBDUFUKKyAqIEBmdW5jOiBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgorICogQGluZm86IEFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgorICogQHdhaXQ6IElmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuIE5vdGUgdGhhdCBAd2FpdAorICogd2lsbCBiZSBpbXBsaWNpdGx5IHR1cm5lZCBvbiBpbiBjYXNlIG9mIGFsbG9jYXRpb24gZmFpbHVyZXMsIHNpbmNlCisgKiB3ZSBmYWxsIGJhY2sgdG8gb24tc3RhY2sgYWxsb2NhdGlvbi4KKyAqLworaW50IHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAorCQkJICAgICBpbnQgd2FpdCkKK3sKKwlzdHJ1Y3QgY2FsbF9zaW5nbGVfZGF0YSBkOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJLyogcHJldmVudCBwcmVlbXB0aW9uIGFuZCByZXNjaGVkdWxlIG9uIGFub3RoZXIgcHJvY2Vzc29yICovCisJaW50IG1lID0gZ2V0X2NwdSgpOworCisJLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLworCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKKworCWlmIChjcHUgPT0gbWUpIHsKKwkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCQlmdW5jKGluZm8pOworCQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJfSBlbHNlIHsKKwkJc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgKmRhdGEgPSBOVUxMOworCisJCWlmICghd2FpdCkgeworCQkJZGF0YSA9IGttYWxsb2Moc2l6ZW9mKCpkYXRhKSwgR0ZQX0FUT01JQyk7CisJCQlpZiAoZGF0YSkKKwkJCQlkYXRhLT5mbGFncyA9IENTRF9GTEFHX0FMTE9DOworCQl9CisJCWlmICghZGF0YSkgeworCQkJZGF0YSA9ICZkOworCQkJZGF0YS0+ZmxhZ3MgPSBDU0RfRkxBR19XQUlUOworCQl9CisKKwkJZGF0YS0+ZnVuYyA9IGZ1bmM7CisJCWRhdGEtPmluZm8gPSBpbmZvOworCQlnZW5lcmljX2V4ZWNfc2luZ2xlKGNwdSwgZGF0YSk7CisJfQorCisJcHV0X2NwdSgpOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOworCisvKioKKyAqIF9fc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGFub3RoZXIgQ1BVCisgKiBAY3B1OiBUaGUgQ1BVIHRvIHJ1biBvbi4KKyAqIEBkYXRhOiBQcmUtYWxsb2NhdGVkIGFuZCBzZXR1cCBkYXRhIHN0cnVjdHVyZQorICoKKyAqIExpa2Ugc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKCksIGJ1dCBhbGxvdyBjYWxsZXIgdG8gcGFzcyBpbiBhIHByZS1hbGxvY2F0ZWQKKyAqIGRhdGEgc3RydWN0dXJlLiBVc2VmdWwgZm9yIGVtYmVkZGluZyBAZGF0YSBpbnNpZGUgb3RoZXIgc3RydWN0dXJlcywgZm9yCisgKiBpbnN0YW5jZS4KKyAqCisgKi8KK3ZvaWQgX19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgKmRhdGEpCit7CisJLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLworCVdBUk5fT04oKGRhdGEtPmZsYWdzICYgQ1NEX0ZMQUdfV0FJVCkgJiYgaXJxc19kaXNhYmxlZCgpKTsKKworCWdlbmVyaWNfZXhlY19zaW5nbGUoY3B1LCBkYXRhKTsKK30KKworLyoqCisgKiBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGEgc2V0IG9mIG90aGVyIENQVXMuCisgKiBAbWFzazogVGhlIHNldCBvZiBjcHVzIHRvIHJ1biBvbi4KKyAqIEBmdW5jOiBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgorICogQGluZm86IEFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgorICogQHdhaXQ6IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgorICoKKyAqIElmIEB3YWl0IGlzIHRydWUsIHRoZW4gcmV0dXJucyBvbmNlIEBmdW5jIGhhcyByZXR1cm5lZC4gTm90ZSB0aGF0IEB3YWl0CisgKiB3aWxsIGJlIGltcGxpY2l0bHkgdHVybmVkIG9uIGluIGNhc2Ugb2YgYWxsb2NhdGlvbiBmYWlsdXJlcywgc2luY2UKKyAqIHdlIGZhbGwgYmFjayB0byBvbi1zdGFjayBhbGxvY2F0aW9uLgorICoKKyAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQorICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuIFByZWVtcHRpb24KKyAqIG11c3QgYmUgZGlzYWJsZWQgd2hlbiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCisgKi8KK2ludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBtYXNrLCB2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywKKwkJCSAgIGludCB3YWl0KQoreworCXN0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEgZDsKKwlzdHJ1Y3QgY2FsbF9mdW5jdGlvbl9kYXRhICpkYXRhID0gTlVMTDsKKwljcHVtYXNrX3QgYWxsYnV0c2VsZjsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCBjcHUsIG51bV9jcHVzOworCisJLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLworCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKKworCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwlhbGxidXRzZWxmID0gY3B1X29ubGluZV9tYXA7CisJY3B1X2NsZWFyKGNwdSwgYWxsYnV0c2VsZik7CisJY3B1c19hbmQobWFzaywgbWFzaywgYWxsYnV0c2VsZik7CisJbnVtX2NwdXMgPSBjcHVzX3dlaWdodChtYXNrKTsKKworCS8qCisJICogSWYgemVybyBDUFVzLCByZXR1cm4uIElmIGp1c3QgYSBzaW5nbGUgQ1BVLCB0dXJuIHRoaXMgcmVxdWVzdAorCSAqIGludG8gYSB0YXJnZXR0ZWQgc2luZ2xlIGNhbGwgaW5zdGVhZCBzaW5jZSBpdCdzIGZhc3Rlci4KKwkgKi8KKwlpZiAoIW51bV9jcHVzKQorCQlyZXR1cm4gMDsKKwllbHNlIGlmIChudW1fY3B1cyA9PSAxKSB7CisJCWNwdSA9IGZpcnN0X2NwdShtYXNrKTsKKwkJcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGZ1bmMsIGluZm8sIHdhaXQpOworCX0KKworCWlmICghd2FpdCkgeworCQlkYXRhID0ga21hbGxvYyhzaXplb2YoKmRhdGEpLCBHRlBfQVRPTUlDKTsKKwkJaWYgKGRhdGEpCisJCQlkYXRhLT5jc2QuZmxhZ3MgPSBDU0RfRkxBR19BTExPQzsKKwl9CisJaWYgKCFkYXRhKSB7CisJCWRhdGEgPSAmZDsKKwkJZGF0YS0+Y3NkLmZsYWdzID0gQ1NEX0ZMQUdfV0FJVDsKKwkJd2FpdCA9IDE7CisJfQorCisJc3Bpbl9sb2NrX2luaXQoJmRhdGEtPmxvY2spOworCWRhdGEtPmNzZC5mdW5jID0gZnVuYzsKKwlkYXRhLT5jc2QuaW5mbyA9IGluZm87CisJZGF0YS0+cmVmcyA9IG51bV9jcHVzOworCWRhdGEtPmNwdW1hc2sgPSBtYXNrOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNhbGxfZnVuY3Rpb25fbG9jaywgZmxhZ3MpOworCWxpc3RfYWRkX3RhaWxfcmN1KCZkYXRhLT5jc2QubGlzdCwgJmNhbGxfZnVuY3Rpb25fcXVldWUpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNhbGxfZnVuY3Rpb25fbG9jaywgZmxhZ3MpOworCisJLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIENQVXMgaW4gdGhlIG1hcCAqLworCWFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShtYXNrKTsKKworCS8qIG9wdGlvbmFsbHkgd2FpdCBmb3IgdGhlIENQVXMgdG8gY29tcGxldGUgKi8KKwlpZiAod2FpdCkKKwkJY3NkX2ZsYWdfd2FpdCgmZGF0YS0+Y3NkKTsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKTsKKworLyoqCisgKiBzbXBfY2FsbF9mdW5jdGlvbigpOiBSdW4gYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgQ1BVcy4KKyAqIEBmdW5jOiBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgorICogQGluZm86IEFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgorICogQHdhaXQ6IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgorICoKKyAqIElmIEB3YWl0IGlzIHRydWUsIHRoZW4gcmV0dXJucyBvbmNlIEBmdW5jIGhhcyByZXR1cm5lZDsgb3RoZXJ3aXNlCisgKiBpdCByZXR1cm5zIGp1c3QgYmVmb3JlIHRoZSB0YXJnZXQgY3B1IGNhbGxzIEBmdW5jLiBJbiBjYXNlIG9mIGFsbG9jYXRpb24KKyAqIGZhaWx1cmUsIEB3YWl0IHdpbGwgYmUgaW1wbGljaXRseSB0dXJuZWQgb24uCisgKgorICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCisgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KKyAqLworaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKK3sKKwlpbnQgcmV0OworCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVfb25saW5lX21hcCwgZnVuYywgaW5mbywgd2FpdCk7CisJcHJlZW1wdF9lbmFibGUoKTsKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7CisKK3ZvaWQgaXBpX2NhbGxfbG9jayh2b2lkKQoreworCXNwaW5fbG9jaygmY2FsbF9mdW5jdGlvbl9sb2NrKTsKK30KKwordm9pZCBpcGlfY2FsbF91bmxvY2sodm9pZCkKK3sKKwlzcGluX3VubG9jaygmY2FsbF9mdW5jdGlvbl9sb2NrKTsKK30KKwordm9pZCBpcGlfY2FsbF9sb2NrX2lycSh2b2lkKQoreworCXNwaW5fbG9ja19pcnEoJmNhbGxfZnVuY3Rpb25fbG9jayk7Cit9CisKK3ZvaWQgaXBpX2NhbGxfdW5sb2NrX2lycSh2b2lkKQoreworCXNwaW5fdW5sb2NrX2lycSgmY2FsbF9mdW5jdGlvbl9sb2NrKTsKK30KZGlmZiAtLWdpdCBhL2tlcm5lbC9zb2Z0aXJxLmMgYi9rZXJuZWwvc29mdGlycS5jCmluZGV4IDM2ZTA2MTcuLjgxZTJmZTAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zb2Z0aXJxLmMKKysrIGIva2VybmVsL3NvZnRpcnEuYwpAQCAtMTMxLDQ4ICsxMzEsMTEgQEAKIAogRVhQT1JUX1NZTUJPTChfbG9jYWxfYmhfZW5hYmxlKTsKIAotdm9pZCBsb2NhbF9iaF9lbmFibGUodm9pZCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBfbG9jYWxfYmhfZW5hYmxlX2lwKHVuc2lnbmVkIGxvbmcgaXApCiB7CisJV0FSTl9PTl9PTkNFKGluX2lycSgpIHx8IGlycXNfZGlzYWJsZWQoKSk7CiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCVdBUk5fT05fT05DRShpbl9pcnEoKSk7Ci0jZW5kaWYKLQlXQVJOX09OX09OQ0UoaXJxc19kaXNhYmxlZCgpKTsKLQotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLSNlbmRpZgotCS8qCi0JICogQXJlIHNvZnRpcnFzIGdvaW5nIHRvIGJlIHR1cm5lZCBvbiBub3c6Ci0JICovCi0JaWYgKHNvZnRpcnFfY291bnQoKSA9PSBTT0ZUSVJRX09GRlNFVCkKLQkJdHJhY2Vfc29mdGlycXNfb24oKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKLQkvKgotCSAqIEtlZXAgcHJlZW1wdGlvbiBkaXNhYmxlZCB1bnRpbCB3ZSBhcmUgZG9uZSB3aXRoCi0JICogc29mdGlycSBwcm9jZXNzaW5nOgotIAkgKi8KLSAJc3ViX3ByZWVtcHRfY291bnQoU09GVElSUV9PRkZTRVQgLSAxKTsKLQotCWlmICh1bmxpa2VseSghaW5faW50ZXJydXB0KCkgJiYgbG9jYWxfc29mdGlycV9wZW5kaW5nKCkpKQotCQlkb19zb2Z0aXJxKCk7Ci0KLQlkZWNfcHJlZW1wdF9jb3VudCgpOwotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLSNlbmRpZgotCXByZWVtcHRfY2hlY2tfcmVzY2hlZCgpOwotfQotRVhQT1JUX1NZTUJPTChsb2NhbF9iaF9lbmFibGUpOwotCi12b2lkIGxvY2FsX2JoX2VuYWJsZV9pcCh1bnNpZ25lZCBsb25nIGlwKQotewotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlXQVJOX09OX09OQ0UoaW5faXJxKCkpOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAjZW5kaWYKIAkvKgogCSAqIEFyZSBzb2Z0aXJxcyBnb2luZyB0byBiZSB0dXJuZWQgb24gbm93OgpAQCAtMTkwLDEwICsxNTMsMjEgQEAKIAogCWRlY19wcmVlbXB0X2NvdW50KCk7CiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCWxvY2FsX2lycV9lbmFibGUoKTsKICNlbmRpZgogCXByZWVtcHRfY2hlY2tfcmVzY2hlZCgpOwogfQorCit2b2lkIGxvY2FsX2JoX2VuYWJsZSh2b2lkKQoreworCV9sb2NhbF9iaF9lbmFibGVfaXAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKK30KK0VYUE9SVF9TWU1CT0wobG9jYWxfYmhfZW5hYmxlKTsKKwordm9pZCBsb2NhbF9iaF9lbmFibGVfaXAodW5zaWduZWQgbG9uZyBpcCkKK3sKKwlfbG9jYWxfYmhfZW5hYmxlX2lwKGlwKTsKK30KIEVYUE9SVF9TWU1CT0wobG9jYWxfYmhfZW5hYmxlX2lwKTsKIAogLyoKQEAgLTM0Nyw5ICszMjEsOCBAQAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIAotdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24qKSwgdm9pZCAqZGF0YSkKK3ZvaWQgb3Blbl9zb2Z0aXJxKGludCBuciwgdm9pZCAoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uICopKQogewotCXNvZnRpcnFfdmVjW25yXS5kYXRhID0gZGF0YTsKIAlzb2Z0aXJxX3ZlY1tucl0uYWN0aW9uID0gYWN0aW9uOwogfQogCkBAIC0zNjAsMTAgKzMzMyw4IEBACiAJc3RydWN0IHRhc2tsZXRfc3RydWN0ICoqdGFpbDsKIH07CiAKLS8qIFNvbWUgY29tcGlsZXJzIGRpc29iZXkgc2VjdGlvbiBhdHRyaWJ1dGUgb24gc3RhdGljcyB3aGVuIG5vdAotICAgaW5pdGlhbGl6ZWQgLS0gUlIgKi8KLXN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza2xldF9oZWFkLCB0YXNrbGV0X3ZlYykgPSB7IE5VTEwgfTsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza2xldF9oZWFkLCB0YXNrbGV0X2hpX3ZlYykgPSB7IE5VTEwgfTsKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza2xldF9oZWFkLCB0YXNrbGV0X3ZlYyk7CitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRhc2tsZXRfaGVhZCwgdGFza2xldF9oaV92ZWMpOwogCiB2b2lkIF9fdGFza2xldF9zY2hlZHVsZShzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgKnQpCiB7CkBAIC01MDMsOCArNDc0LDggQEAKIAkJCSZwZXJfY3B1KHRhc2tsZXRfaGlfdmVjLCBjcHUpLmhlYWQ7CiAJfQogCi0Jb3Blbl9zb2Z0aXJxKFRBU0tMRVRfU09GVElSUSwgdGFza2xldF9hY3Rpb24sIE5VTEwpOwotCW9wZW5fc29mdGlycShISV9TT0ZUSVJRLCB0YXNrbGV0X2hpX2FjdGlvbiwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKFRBU0tMRVRfU09GVElSUSwgdGFza2xldF9hY3Rpb24pOworCW9wZW5fc29mdGlycShISV9TT0ZUSVJRLCB0YXNrbGV0X2hpX2FjdGlvbik7CiB9CiAKIHN0YXRpYyBpbnQga3NvZnRpcnFkKHZvaWQgKiBfX2JpbmRfY3B1KQpAQCAtNjQ1LDcgKzYxNiw3IEBACiAKIAkJcCA9IHBlcl9jcHUoa3NvZnRpcnFkLCBob3RjcHUpOwogCQlwZXJfY3B1KGtzb2Z0aXJxZCwgaG90Y3B1KSA9IE5VTEw7Ci0JCXNjaGVkX3NldHNjaGVkdWxlcihwLCBTQ0hFRF9GSUZPLCAmcGFyYW0pOworCQlzY2hlZF9zZXRzY2hlZHVsZXJfbm9jaGVjayhwLCBTQ0hFRF9GSUZPLCAmcGFyYW0pOwogCQlrdGhyZWFkX3N0b3AocCk7CiAJCXRha2VvdmVyX3Rhc2tsZXRzKGhvdGNwdSk7CiAJCWJyZWFrOwpAQCAtNjc0LDEyICs2NDUsMTIgQEAKIC8qCiAgKiBDYWxsIGEgZnVuY3Rpb24gb24gYWxsIHByb2Nlc3NvcnMKICAqLwotaW50IG9uX2VhY2hfY3B1KHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCByZXRyeSwgaW50IHdhaXQpCitpbnQgb25fZWFjaF9jcHUodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCiB7CiAJaW50IHJldCA9IDA7CiAKIAlwcmVlbXB0X2Rpc2FibGUoKTsKLQlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCk7CisJcmV0ID0gc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgd2FpdCk7CiAJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAlmdW5jKGluZm8pOwogCWxvY2FsX2lycV9lbmFibGUoKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zcGlubG9jay5jIGIva2VybmVsL3NwaW5sb2NrLmMKaW5kZXggYWUyOGM4Mi4uYTFmYjU0YyAxMDA2NDQKLS0tIGEva2VybmVsL3NwaW5sb2NrLmMKKysrIGIva2VybmVsL3NwaW5sb2NrLmMKQEAgLTQzNiw3ICs0MzYsNyBAQAogfQogRVhQT1JUX1NZTUJPTChfc3Bpbl90cnlsb2NrX2JoKTsKIAotaW50IGluX2xvY2tfZnVuY3Rpb25zKHVuc2lnbmVkIGxvbmcgYWRkcikKK25vdHJhY2UgaW50IGluX2xvY2tfZnVuY3Rpb25zKHVuc2lnbmVkIGxvbmcgYWRkcikKIHsKIAkvKiBMaW5rZXIgYWRkcyB0aGVzZTogc3RhcnQgYW5kIGVuZCBvZiBfX2xvY2tmdW5jIGZ1bmN0aW9ucyAqLwogCWV4dGVybiBjaGFyIF9fbG9ja190ZXh0X3N0YXJ0W10sIF9fbG9ja190ZXh0X2VuZFtdOwpkaWZmIC0tZ2l0IGEva2VybmVsL3N0YWNrdHJhY2UuYyBiL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggYjcxODE2ZS4uOTRiNTI3ZSAxMDA2NDQKLS0tIGEva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC02LDE5ICs2LDIxIEBACiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2IFJlZCBIYXQsIEluYy4sIEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgogICovCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgogI2luY2x1ZGUgPGxpbnV4L3N0YWNrdHJhY2UuaD4KIAogdm9pZCBwcmludF9zdGFja190cmFjZShzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlLCBpbnQgc3BhY2VzKQogewotCWludCBpLCBqOworCWludCBpOworCisJaWYgKFdBUk5fT04oIXRyYWNlLT5lbnRyaWVzKSkKKwkJcmV0dXJuOwogCiAJZm9yIChpID0gMDsgaSA8IHRyYWNlLT5ucl9lbnRyaWVzOyBpKyspIHsKLQkJdW5zaWduZWQgbG9uZyBpcCA9IHRyYWNlLT5lbnRyaWVzW2ldOwotCi0JCWZvciAoaiA9IDA7IGogPCBzcGFjZXMgKyAxOyBqKyspCi0JCQlwcmludGsoIiAiKTsKLQkJcHJpbnRfaXBfc3ltKGlwKTsKKwkJcHJpbnRrKCIlKmMiLCAxICsgc3BhY2VzLCAnICcpOworCQlwcmludF9pcF9zeW0odHJhY2UtPmVudHJpZXNbaV0pOwogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHByaW50X3N0YWNrX3RyYWNlKTsKIApkaWZmIC0tZ2l0IGEva2VybmVsL3N0b3BfbWFjaGluZS5jIGIva2VybmVsL3N0b3BfbWFjaGluZS5jCmluZGV4IGI3MzUwYmIuLmJhOWIyMDUgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zdG9wX21hY2hpbmUuYworKysgYi9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKQEAgLTE4Nyw3ICsxODcsNyBAQAogCQlzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW0gPSB7IC5zY2hlZF9wcmlvcml0eSA9IE1BWF9SVF9QUklPLTEgfTsKIAogCQkvKiBPbmUgaGlnaC1wcmlvIHRocmVhZCBwZXIgY3B1LiAgV2UnbGwgZG8gdGhpcyBvbmUuICovCi0JCXNjaGVkX3NldHNjaGVkdWxlcihwLCBTQ0hFRF9GSUZPLCAmcGFyYW0pOworCQlzY2hlZF9zZXRzY2hlZHVsZXJfbm9jaGVjayhwLCBTQ0hFRF9GSUZPLCAmcGFyYW0pOwogCQlrdGhyZWFkX2JpbmQocCwgY3B1KTsKIAkJd2FrZV91cF9wcm9jZXNzKHApOwogCQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZzbWRhdGEuZG9uZSk7CmRpZmYgLS1naXQgYS9rZXJuZWwvc3lzY3RsLmMgYi9rZXJuZWwvc3lzY3RsLmMKaW5kZXggMjkxMTY2NS4uNmIxNmUxNiAxMDA2NDQKLS0tIGEva2VybmVsL3N5c2N0bC5jCisrKyBiL2tlcm5lbC9zeXNjdGwuYwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L25mc19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgpAQCAtODIsNiArODMsOSBAQAogZXh0ZXJuIGludCBzeXNjdGxfc3RhdF9pbnRlcnZhbDsKIGV4dGVybiBpbnQgbGF0ZW5jeXRvcF9lbmFibGVkOwogZXh0ZXJuIGludCBzeXNjdGxfbnJfb3Blbl9taW4sIHN5c2N0bF9ucl9vcGVuX21heDsKKyNpZmRlZiBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVAorZXh0ZXJuIGludCByY3V0b3J0dXJlX3J1bm5hYmxlOworI2VuZGlmIC8qICNpZmRlZiBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCAqLwogCiAvKiBDb25zdGFudHMgdXNlZCBmb3IgbWluaW11bSBhbmQgIG1heGltdW0gKi8KICNpZiBkZWZpbmVkKENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCkgfHwgZGVmaW5lZChDT05GSUdfSElHSE1FTSkKQEAgLTEzMiw4ICsxMzYsNiBAQAogZXh0ZXJuIGludCBzcGluX3JldHJ5OwogI2VuZGlmCiAKLWV4dGVybiBpbnQgc3lzY3RsX2h6X3RpbWVyOwotCiAjaWZkZWYgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QKIGV4dGVybiBpbnQgYWNjdF9wYXJtW107CiAjZW5kaWYKQEAgLTI2Niw2ICsyNjgsMTQgQEAKIAl9LAogCXsKIAkJLmN0bF9uYW1lCT0gQ1RMX1VOTlVNQkVSRUQsCisJCS5wcm9jbmFtZQk9ICJzY2hlZF9zaGFyZXNfcmF0ZWxpbWl0IiwKKwkJLmRhdGEJCT0gJnN5c2N0bF9zY2hlZF9zaGFyZXNfcmF0ZWxpbWl0LAorCQkubWF4bGVuCQk9IHNpemVvZih1bnNpZ25lZCBpbnQpLAorCQkubW9kZQkJPSAwNjQ0LAorCQkucHJvY19oYW5kbGVyCT0gJnByb2NfZG9pbnR2ZWMsCisJfSwKKwl7CisJCS5jdGxfbmFtZQk9IENUTF9VTk5VTUJFUkVELAogCQkucHJvY25hbWUJPSAic2NoZWRfY2hpbGRfcnVuc19maXJzdCIsCiAJCS5kYXRhCQk9ICZzeXNjdGxfc2NoZWRfY2hpbGRfcnVuc19maXJzdCwKIAkJLm1heGxlbgkJPSBzaXplb2YodW5zaWduZWQgaW50KSwKQEAgLTQ1NSw2ICs0NjUsMTYgQEAKIAkJLm1vZGUJCT0gMDY0NCwKIAkJLnByb2NfaGFuZGxlcgk9ICZwcm9jX2RvaW50dmVjLAogCX0sCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCXsKKwkJLmN0bF9uYW1lCT0gQ1RMX1VOTlVNQkVSRUQsCisJCS5wcm9jbmFtZQk9ICJmdHJhY2VfZW5hYmxlZCIsCisJCS5kYXRhCQk9ICZmdHJhY2VfZW5hYmxlZCwKKwkJLm1heGxlbgkJPSBzaXplb2YoaW50KSwKKwkJLm1vZGUJCT0gMDY0NCwKKwkJLnByb2NfaGFuZGxlcgk9ICZmdHJhY2VfZW5hYmxlX3N5c2N0bCwKKwl9LAorI2VuZGlmCiAjaWZkZWYgQ09ORklHX0tNT0QKIAl7CiAJCS5jdGxfbmFtZQk9IEtFUk5fTU9EUFJPQkUsCkBAIC01NjMsMTYgKzU4Myw2IEBACiAJCS5wcm9jX2hhbmRsZXIJPSAmcHJvY19kb2ludHZlYywKIAl9LAogI2VuZGlmCi0jaWZkZWYgQ09ORklHX05PX0lETEVfSFoKLQl7Ci0JCS5jdGxfbmFtZSAgICAgICA9IEtFUk5fSFpfVElNRVIsCi0JCS5wcm9jbmFtZSAgICAgICA9ICJoel90aW1lciIsCi0JCS5kYXRhICAgICAgICAgICA9ICZzeXNjdGxfaHpfdGltZXIsCi0JCS5tYXhsZW4gICAgICAgICA9IHNpemVvZihpbnQpLAotCQkubW9kZSAgICAgICAgICAgPSAwNjQ0LAotCQkucHJvY19oYW5kbGVyICAgPSAmcHJvY19kb2ludHZlYywKLQl9LAotI2VuZGlmCiAJewogCQkuY3RsX25hbWUJPSBLRVJOX1MzOTBfVVNFUl9ERUJVR19MT0dHSU5HLAogCQkucHJvY25hbWUJPSAidXNlcnByb2Nlc3NfZGVidWciLApAQCAtODEzLDYgKzgyMywxNiBAQAogCQkuY2hpbGQJCT0ga2V5X3N5c2N0bHMsCiAJfSwKICNlbmRpZgorI2lmZGVmIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUCisJeworCQkuY3RsX25hbWUgICAgICAgPSBDVExfVU5OVU1CRVJFRCwKKwkJLnByb2NuYW1lICAgICAgID0gInJjdXRvcnR1cmVfcnVubmFibGUiLAorCQkuZGF0YSAgICAgICAgICAgPSAmcmN1dG9ydHVyZV9ydW5uYWJsZSwKKwkJLm1heGxlbiAgICAgICAgID0gc2l6ZW9mKGludCksCisJCS5tb2RlICAgICAgICAgICA9IDA2NDQsCisJCS5wcm9jX2hhbmRsZXIgICA9ICZwcm9jX2RvaW50dmVjLAorCX0sCisjZW5kaWYKIC8qCiAgKiBOT1RFOiBkbyBub3QgYWRkIG5ldyBlbnRyaWVzIHRvIHRoaXMgdGFibGUgdW5sZXNzIHlvdSBoYXZlIHJlYWQKICAqIERvY3VtZW50YXRpb24vc3lzY3RsL2N0bF91bm51bWJlcmVkLnR4dApkaWZmIC0tZ2l0IGEva2VybmVsL3RpbWUvdGljay1icm9hZGNhc3QuYyBiL2tlcm5lbC90aW1lL3RpY2stYnJvYWRjYXN0LmMKaW5kZXggNTdhMWYwMi4uZjQ4ZDBmMCAxMDA2NDQKLS0tIGEva2VybmVsL3RpbWUvdGljay1icm9hZGNhc3QuYworKysgYi9rZXJuZWwvdGltZS90aWNrLWJyb2FkY2FzdC5jCkBAIC0zMCw2ICszMCw3IEBACiBzdHJ1Y3QgdGlja19kZXZpY2UgdGlja19icm9hZGNhc3RfZGV2aWNlOwogc3RhdGljIGNwdW1hc2tfdCB0aWNrX2Jyb2FkY2FzdF9tYXNrOwogc3RhdGljIERFRklORV9TUElOTE9DSyh0aWNrX2Jyb2FkY2FzdF9sb2NrKTsKK3N0YXRpYyBpbnQgdGlja19icm9hZGNhc3RfZm9yY2U7CiAKICNpZmRlZiBDT05GSUdfVElDS19PTkVTSE9UCiBzdGF0aWMgdm9pZCB0aWNrX2Jyb2FkY2FzdF9jbGVhcl9vbmVzaG90KGludCBjcHUpOwpAQCAtMjMyLDEwICsyMzMsMTEgQEAKIAkJCQkJCSAgICAgQ0xPQ0tfRVZUX01PREVfU0hVVERPV04pOwogCQl9CiAJCWlmICgqcmVhc29uID09IENMT0NLX0VWVF9OT1RJRllfQlJPQURDQVNUX0ZPUkNFKQotCQkJZGV2LT5mZWF0dXJlcyB8PSBDTE9DS19FVlRfRkVBVF9EVU1NWTsKKwkJCXRpY2tfYnJvYWRjYXN0X2ZvcmNlID0gMTsKIAkJYnJlYWs7CiAJY2FzZSBDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9PRkY6Ci0JCWlmIChjcHVfaXNzZXQoY3B1LCB0aWNrX2Jyb2FkY2FzdF9tYXNrKSkgeworCQlpZiAoIXRpY2tfYnJvYWRjYXN0X2ZvcmNlICYmCisJCSAgICBjcHVfaXNzZXQoY3B1LCB0aWNrX2Jyb2FkY2FzdF9tYXNrKSkgewogCQkJY3B1X2NsZWFyKGNwdSwgdGlja19icm9hZGNhc3RfbWFzayk7CiAJCQlpZiAodGQtPm1vZGUgPT0gVElDS0RFVl9NT0RFX1BFUklPRElDKQogCQkJCXRpY2tfc2V0dXBfcGVyaW9kaWMoZGV2LCAwKTsKQEAgLTI2Niw3ICsyNjgsNyBAQAogCQkgICAgICAgIm9mZmxpbmUgQ1BVICMlZFxuIiwgKm9uY3B1KTsKIAllbHNlCiAJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgqb25jcHUsIHRpY2tfZG9fYnJvYWRjYXN0X29uX29mZiwKLQkJCQkJICZyZWFzb24sIDEsIDEpOworCQkJCQkgJnJlYXNvbiwgMSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMgYi9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMKaW5kZXggYjg1NGE4OS4uYmVlZjdjYyAxMDA2NDQKLS0tIGEva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCisrKyBiL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYwpAQCAtNDgsNiArNDgsMTMgQEAKIAl1bnNpZ25lZCBsb25nIHRpY2tzID0gMDsKIAlrdGltZV90IGRlbHRhOwogCisJLyoKKwkgKiBEbyBhIHF1aWNrIGNoZWNrIHdpdGhvdXQgaG9sZGluZyB4dGltZV9sb2NrOgorCSAqLworCWRlbHRhID0ga3RpbWVfc3ViKG5vdywgbGFzdF9qaWZmaWVzX3VwZGF0ZSk7CisJaWYgKGRlbHRhLnR2NjQgPCB0aWNrX3BlcmlvZC50djY0KQorCQlyZXR1cm47CisKIAkvKiBSZWV2YWx1dGUgd2l0aCB4dGltZV9sb2NrIGhlbGQgKi8KIAl3cml0ZV9zZXFsb2NrKCZ4dGltZV9sb2NrKTsKIApAQCAtMjI4LDYgKzIzNSw3IEBACiAJCQkgICAgICAgbG9jYWxfc29mdGlycV9wZW5kaW5nKCkpOwogCQkJcmF0ZWxpbWl0Kys7CiAJCX0KKwkJZ290byBlbmQ7CiAJfQogCiAJdHMtPmlkbGVfY2FsbHMrKzsKQEAgLTI3Niw2ICsyODQsNyBAQAogCQkJdHMtPnRpY2tfc3RvcHBlZCA9IDE7CiAJCQl0cy0+aWRsZV9qaWZmaWVzID0gbGFzdF9qaWZmaWVzOwogCQkJcmN1X2VudGVyX25vaHooKTsKKwkJCXNjaGVkX2Nsb2NrX3RpY2tfc3RvcChjcHUpOwogCQl9CiAKIAkJLyoKQEAgLTM3NSw2ICszODQsNyBAQAogCXNlbGVjdF9ub2h6X2xvYWRfYmFsYW5jZXIoMCk7CiAJbm93ID0ga3RpbWVfZ2V0KCk7CiAJdGlja19kb191cGRhdGVfamlmZmllczY0KG5vdyk7CisJc2NoZWRfY2xvY2tfdGlja19zdGFydChjcHUpOwogCWNwdV9jbGVhcihjcHUsIG5vaHpfY3B1X21hc2spOwogCiAJLyoKZGlmZiAtLWdpdCBhL2tlcm5lbC90aW1lci5jIGIva2VybmVsL3RpbWVyLmMKaW5kZXggY2VhY2M2Ni4uMDNiYzdmMSAxMDA2NDQKLS0tIGEva2VybmVsL3RpbWVyLmMKKysrIGIva2VybmVsL3RpbWVyLmMKQEAgLTgxMiw3ICs4MTIsNyBAQAogCXNwaW5fdW5sb2NrX2lycSgmYmFzZS0+bG9jayk7CiB9CiAKLSNpZiBkZWZpbmVkKENPTkZJR19OT19JRExFX0haKSB8fCBkZWZpbmVkKENPTkZJR19OT19IWikKKyNpZmRlZiBDT05GSUdfTk9fSFoKIC8qCiAgKiBGaW5kIG91dCB3aGVuIHRoZSBuZXh0IHRpbWVyIGV2ZW50IGlzIGR1ZSB0byBoYXBwZW4uIFRoaXMKICAqIGlzIHVzZWQgb24gUy8zOTAgdG8gc3RvcCBhbGwgYWN0aXZpdHkgd2hlbiBhIGNwdXMgaXMgaWRsZS4KQEAgLTk0NywxNCArOTQ3LDYgQEAKIAogCXJldHVybiBjbXBfbmV4dF9ocnRpbWVyX2V2ZW50KG5vdywgZXhwaXJlcyk7CiB9Ci0KLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotdW5zaWduZWQgbG9uZyBuZXh0X3RpbWVyX2ludGVycnVwdCh2b2lkKQotewotCXJldHVybiBnZXRfbmV4dF90aW1lcl9pbnRlcnJ1cHQoamlmZmllcyk7Ci19Ci0jZW5kaWYKLQogI2VuZGlmCiAKICNpZm5kZWYgQ09ORklHX1ZJUlRfQ1BVX0FDQ09VTlRJTkcKQEAgLTE1MDIsNyArMTQ5NCw3IEBACiAKIAlCVUdfT04oZXJyID09IE5PVElGWV9CQUQpOwogCXJlZ2lzdGVyX2NwdV9ub3RpZmllcigmdGltZXJzX25iKTsKLQlvcGVuX3NvZnRpcnEoVElNRVJfU09GVElSUSwgcnVuX3RpbWVyX3NvZnRpcnEsIE5VTEwpOworCW9wZW5fc29mdGlycShUSU1FUl9TT0ZUSVJRLCBydW5fdGltZXJfc29mdGlycSk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL0tjb25maWcgYi9rZXJuZWwvdHJhY2UvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjNlOWU2Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL0tjb25maWcKQEAgLTAsMCArMSwxMzUgQEAKKyMKKyMgQXJjaGl0ZWN0dXJlcyB0aGF0IG9mZmVyIGFuIEZUUkFDRSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgc2VsZWN0IEhBVkVfRlRSQUNFOgorIworY29uZmlnIEhBVkVfRlRSQUNFCisJYm9vbAorCitjb25maWcgSEFWRV9EWU5BTUlDX0ZUUkFDRQorCWJvb2wKKworY29uZmlnIFRSQUNFUl9NQVhfVFJBQ0UKKwlib29sCisKK2NvbmZpZyBUUkFDSU5HCisJYm9vbAorCXNlbGVjdCBERUJVR19GUworCXNlbGVjdCBTVEFDS1RSQUNFCisKK2NvbmZpZyBGVFJBQ0UKKwlib29sICJLZXJuZWwgRnVuY3Rpb24gVHJhY2VyIgorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgRlJBTUVfUE9JTlRFUgorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IENPTlRFWFRfU1dJVENIX1RSQUNFUgorCWhlbHAKKwkgIEVuYWJsZSB0aGUga2VybmVsIHRvIHRyYWNlIGV2ZXJ5IGtlcm5lbCBmdW5jdGlvbi4gVGhpcyBpcyBkb25lCisJICBieSB1c2luZyBhIGNvbXBpbGVyIGZlYXR1cmUgdG8gaW5zZXJ0IGEgc21hbGwsIDUtYnl0ZSBOby1PcGVyYXRpb24KKwkgIGluc3RydWN0aW9uIHRvIHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkga2VybmVsIGZ1bmN0aW9uLCB3aGljaCBOT1AKKwkgIHNlcXVlbmNlIGlzIHRoZW4gZHluYW1pY2FsbHkgcGF0Y2hlZCBpbnRvIGEgdHJhY2VyIGNhbGwgd2hlbgorCSAgdHJhY2luZyBpcyBlbmFibGVkIGJ5IHRoZSBhZG1pbmlzdHJhdG9yLiBJZiBpdCdzIHJ1bnRpbWUgZGlzYWJsZWQKKwkgICh0aGUgYm9vdHVwIGRlZmF1bHQpLCB0aGVuIHRoZSBvdmVyaGVhZCBvZiB0aGUgaW5zdHJ1Y3Rpb25zIGlzIHZlcnkKKwkgIHNtYWxsIGFuZCBub3QgbWVhc3VyYWJsZSBldmVuIGluIG1pY3JvLWJlbmNobWFya3MuCisKK2NvbmZpZyBJUlFTT0ZGX1RSQUNFUgorCWJvb2wgIkludGVycnVwdHMtb2ZmIExhdGVuY3kgVHJhY2VyIgorCWRlZmF1bHQgbgorCWRlcGVuZHMgb24gVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVAorCWRlcGVuZHMgb24gR0VORVJJQ19USU1FCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBUUkFDRV9JUlFGTEFHUworCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IFRSQUNFUl9NQVhfVFJBQ0UKKwloZWxwCisJICBUaGlzIG9wdGlvbiBtZWFzdXJlcyB0aGUgdGltZSBzcGVudCBpbiBpcnFzLW9mZiBjcml0aWNhbAorCSAgc2VjdGlvbnMsIHdpdGggbWljcm9zZWNvbmQgYWNjdXJhY3kuCisKKwkgIFRoZSBkZWZhdWx0IG1lYXN1cmVtZW50IG1ldGhvZCBpcyBhIG1heGltdW0gc2VhcmNoLCB3aGljaCBpcworCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgY2FuIGJlIHJ1bnRpbWUgKHJlLSlzdGFydGVkCisJICB2aWE6CisKKwkgICAgICBlY2hvIDAgPiAvZGVidWdmcy90cmFjaW5nL3RyYWNpbmdfbWF4X2xhdGVuY3kKKworCSAgKE5vdGUgdGhhdCBrZXJuZWwgc2l6ZSBhbmQgb3ZlcmhlYWQgaW5jcmVhc2VzIHdpdGggdGhpcyBvcHRpb24KKwkgIGVuYWJsZWQuIFRoaXMgb3B0aW9uIGFuZCB0aGUgcHJlZW1wdC1vZmYgdGltaW5nIG9wdGlvbiBjYW4gYmUKKwkgIHVzZWQgdG9nZXRoZXIgb3Igc2VwYXJhdGVseS4pCisKK2NvbmZpZyBQUkVFTVBUX1RSQUNFUgorCWJvb2wgIlByZWVtcHRpb24tb2ZmIExhdGVuY3kgVHJhY2VyIgorCWRlZmF1bHQgbgorCWRlcGVuZHMgb24gR0VORVJJQ19USU1FCisJZGVwZW5kcyBvbiBQUkVFTVBUCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IFRSQUNFUl9NQVhfVFJBQ0UKKwloZWxwCisJICBUaGlzIG9wdGlvbiBtZWFzdXJlcyB0aGUgdGltZSBzcGVudCBpbiBwcmVlbXB0aW9uIG9mZiBjcml0aWNhbAorCSAgc2VjdGlvbnMsIHdpdGggbWljcm9zZWNvbmQgYWNjdXJhY3kuCisKKwkgIFRoZSBkZWZhdWx0IG1lYXN1cmVtZW50IG1ldGhvZCBpcyBhIG1heGltdW0gc2VhcmNoLCB3aGljaCBpcworCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgY2FuIGJlIHJ1bnRpbWUgKHJlLSlzdGFydGVkCisJICB2aWE6CisKKwkgICAgICBlY2hvIDAgPiAvZGVidWdmcy90cmFjaW5nL3RyYWNpbmdfbWF4X2xhdGVuY3kKKworCSAgKE5vdGUgdGhhdCBrZXJuZWwgc2l6ZSBhbmQgb3ZlcmhlYWQgaW5jcmVhc2VzIHdpdGggdGhpcyBvcHRpb24KKwkgIGVuYWJsZWQuIFRoaXMgb3B0aW9uIGFuZCB0aGUgaXJxcy1vZmYgdGltaW5nIG9wdGlvbiBjYW4gYmUKKwkgIHVzZWQgdG9nZXRoZXIgb3Igc2VwYXJhdGVseS4pCisKK2NvbmZpZyBTWVNQUk9GX1RSQUNFUgorCWJvb2wgIlN5c3Byb2YgVHJhY2VyIgorCWRlcGVuZHMgb24gWDg2CisJc2VsZWN0IFRSQUNJTkcKKwloZWxwCisJICBUaGlzIHRyYWNlciBwcm92aWRlcyB0aGUgdHJhY2UgbmVlZGVkIGJ5IHRoZSAnU3lzcHJvZicgdXNlcnNwYWNlCisJICB0b29sLgorCitjb25maWcgU0NIRURfVFJBQ0VSCisJYm9vbCAiU2NoZWR1bGluZyBMYXRlbmN5IFRyYWNlciIKKwlkZXBlbmRzIG9uIEhBVkVfRlRSQUNFCisJc2VsZWN0IFRSQUNJTkcKKwlzZWxlY3QgQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCisJc2VsZWN0IFRSQUNFUl9NQVhfVFJBQ0UKKwloZWxwCisJICBUaGlzIHRyYWNlciB0cmFja3MgdGhlIGxhdGVuY3kgb2YgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdGFzaworCSAgdG8gYmUgc2NoZWR1bGVkIGluLCBzdGFydGluZyBmcm9tIHRoZSBwb2ludCBpdCBoYXMgd29rZW4gdXAuCisKK2NvbmZpZyBDT05URVhUX1NXSVRDSF9UUkFDRVIKKwlib29sICJUcmFjZSBwcm9jZXNzIGNvbnRleHQgc3dpdGNoZXMiCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IE1BUktFUlMKKwloZWxwCisJICBUaGlzIHRyYWNlciBnZXRzIGNhbGxlZCBmcm9tIHRoZSBjb250ZXh0IHN3aXRjaCBhbmQgcmVjb3JkcworCSAgYWxsIHN3aXRjaGluZyBvZiB0YXNrcy4KKworY29uZmlnIERZTkFNSUNfRlRSQUNFCisJYm9vbCAiZW5hYmxlL2Rpc2FibGUgZnRyYWNlIHRyYWNlcG9pbnRzIGR5bmFtaWNhbGx5IgorCWRlcGVuZHMgb24gRlRSQUNFCisJZGVwZW5kcyBvbiBIQVZFX0RZTkFNSUNfRlRSQUNFCisJZGVmYXVsdCB5CisJaGVscAorICAgICAgICAgVGhpcyBvcHRpb24gd2lsbCBtb2RpZnkgYWxsIHRoZSBjYWxscyB0byBmdHJhY2UgZHluYW1pY2FsbHkKKwkgKHdpbGwgcGF0Y2ggdGhlbSBvdXQgb2YgdGhlIGJpbmFyeSBpbWFnZSBhbmQgcmVwbGFjZXMgdGhlbQorCSB3aXRoIGEgTm8tT3AgaW5zdHJ1Y3Rpb24pIGFzIHRoZXkgYXJlIGNhbGxlZC4gQSB0YWJsZSBpcworCSBjcmVhdGVkIHRvIGR5bmFtaWNhbGx5IGVuYWJsZSB0aGVtIGFnYWluLgorCisJIFRoaXMgd2F5IGEgQ09ORklHX0ZUUkFDRSBrZXJuZWwgaXMgc2xpZ2h0bHkgbGFyZ2VyLCBidXQgb3RoZXJ3aXNlCisJIGhhcyBuYXRpdmUgcGVyZm9ybWFuY2UgYXMgbG9uZyBhcyBubyB0cmFjaW5nIGlzIGFjdGl2ZS4KKworCSBUaGUgY2hhbmdlcyB0byB0aGUgY29kZSBhcmUgZG9uZSBieSBhIGtlcm5lbCB0aHJlYWQgdGhhdAorCSB3YWtlcyB1cCBvbmNlIGEgc2Vjb25kIGFuZCBjaGVja3MgdG8gc2VlIGlmIGFueSBmdHJhY2UgY2FsbHMKKwkgd2VyZSBtYWRlLiBJZiBzbywgaXQgcnVucyBzdG9wX21hY2hpbmUgKHN0b3BzIGFsbCBDUFVTKQorCSBhbmQgbW9kaWZpZXMgdGhlIGNvZGUgdG8ganVtcCBvdmVyIHRoZSBjYWxsIHRvIGZ0cmFjZS4KKworY29uZmlnIEZUUkFDRV9TRUxGVEVTVAorCWJvb2wKKworY29uZmlnIEZUUkFDRV9TVEFSVFVQX1RFU1QKKwlib29sICJQZXJmb3JtIGEgc3RhcnR1cCB0ZXN0IG9uIGZ0cmFjZSIKKwlkZXBlbmRzIG9uIFRSQUNJTkcKKwlzZWxlY3QgRlRSQUNFX1NFTEZURVNUCisJaGVscAorCSAgVGhpcyBvcHRpb24gcGVyZm9ybXMgYSBzZXJpZXMgb2Ygc3RhcnR1cCB0ZXN0cyBvbiBmdHJhY2UuIE9uIGJvb3R1cAorCSAgYSBzZXJpZXMgb2YgdGVzdHMgYXJlIG1hZGUgdG8gdmVyaWZ5IHRoYXQgdGhlIHRyYWNlciBpcworCSAgZnVuY3Rpb25pbmcgcHJvcGVybHkuIEl0IHdpbGwgZG8gdGVzdHMgb24gYWxsIHRoZSBjb25maWd1cmVkCisJICB0cmFjZXJzIG9mIGZ0cmFjZS4KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS9NYWtlZmlsZSBiL2tlcm5lbC90cmFjZS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MWQxN2RlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL01ha2VmaWxlCkBAIC0wLDAgKzEsMjQgQEAKKworIyBEbyBub3QgaW5zdHJ1bWVudCB0aGUgdHJhY2VyIGl0c2VsZjoKKworaWZkZWYgQ09ORklHX0ZUUkFDRQorT1JJR19DRkxBR1MgOj0gJChLQlVJTERfQ0ZMQUdTKQorS0JVSUxEX0NGTEFHUyA9ICQoc3Vic3QgLXBnLCwkKE9SSUdfQ0ZMQUdTKSkKKworIyBzZWxmdGVzdCBuZWVkcyBpbnN0cnVtZW50YXRpb24KK0NGTEFHU190cmFjZV9zZWxmdGVzdF9keW5hbWljLm8gPSAtcGcKK29iai15ICs9IHRyYWNlX3NlbGZ0ZXN0X2R5bmFtaWMubworZW5kaWYKKworb2JqLSQoQ09ORklHX0ZUUkFDRSkgKz0gbGliZnRyYWNlLm8KKworb2JqLSQoQ09ORklHX1RSQUNJTkcpICs9IHRyYWNlLm8KK29iai0kKENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIpICs9IHRyYWNlX3NjaGVkX3N3aXRjaC5vCitvYmotJChDT05GSUdfU1lTUFJPRl9UUkFDRVIpICs9IHRyYWNlX3N5c3Byb2Yubworb2JqLSQoQ09ORklHX0ZUUkFDRSkgKz0gdHJhY2VfZnVuY3Rpb25zLm8KK29iai0kKENPTkZJR19JUlFTT0ZGX1RSQUNFUikgKz0gdHJhY2VfaXJxc29mZi5vCitvYmotJChDT05GSUdfUFJFRU1QVF9UUkFDRVIpICs9IHRyYWNlX2lycXNvZmYubworb2JqLSQoQ09ORklHX1NDSEVEX1RSQUNFUikgKz0gdHJhY2Vfc2NoZWRfd2FrZXVwLm8KK29iai0kKENPTkZJR19NTUlPVFJBQ0UpICs9IHRyYWNlX21taW90cmFjZS5vCisKK2xpYmZ0cmFjZS15IDo9IGZ0cmFjZS5vCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvZnRyYWNlLmMgYi9rZXJuZWwvdHJhY2UvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIzMWEzZAotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS9mdHJhY2UuYwpAQCAtMCwwICsxLDE3MjcgQEAKKy8qCisgKiBJbmZyYXN0cnVjdHVyZSBmb3IgcHJvZmlsaW5nIGNvZGUgaW5zZXJ0ZWQgYnkgJ2djYyAtcGcnLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogT3JpZ2luYWxseSBwb3J0ZWQgZnJvbSB0aGUgLXJ0IHBhdGNoIGJ5OgorICogICBDb3B5cmlnaHQgKEMpIDIwMDcgQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQHJlZGhhdC5jb20+CisgKgorICogQmFzZWQgb24gY29kZSBpbiB0aGUgbGF0ZW5jeV90cmFjZXIsIHRoYXQgaXM6CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEluZ28gTW9sbmFyCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0IFdpbGxpYW0gTGVlIElyd2luIElJSQorICovCisKKyNpbmNsdWRlIDxsaW51eC9zdG9wX21hY2hpbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgorI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+CisjaW5jbHVkZSA8bGludXgvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKKy8qIGZ0cmFjZV9lbmFibGVkIGlzIGEgbWV0aG9kIHRvIHR1cm4gZnRyYWNlIG9uIG9yIG9mZiAqLworaW50IGZ0cmFjZV9lbmFibGVkIF9fcmVhZF9tb3N0bHk7CitzdGF0aWMgaW50IGxhc3RfZnRyYWNlX2VuYWJsZWQ7CisKKy8qCisgKiBmdHJhY2VfZGlzYWJsZWQgaXMgc2V0IHdoZW4gYW4gYW5vbWFseSBpcyBkaXNjb3ZlcmVkLgorICogZnRyYWNlX2Rpc2FibGVkIGlzIG11Y2ggc3Ryb25nZXIgdGhhbiBmdHJhY2VfZW5hYmxlZC4KKyAqLworc3RhdGljIGludCBmdHJhY2VfZGlzYWJsZWQgX19yZWFkX21vc3RseTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhmdHJhY2VfbG9jayk7CitzdGF0aWMgREVGSU5FX01VVEVYKGZ0cmFjZV9zeXNjdGxfbG9jayk7CisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX29wcyBmdHJhY2VfbGlzdF9lbmQgX19yZWFkX21vc3RseSA9Cit7CisJLmZ1bmMgPSBmdHJhY2Vfc3R1YiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX29wcyAqZnRyYWNlX2xpc3QgX19yZWFkX21vc3RseSA9ICZmdHJhY2VfbGlzdF9lbmQ7CitmdHJhY2VfZnVuY190IGZ0cmFjZV90cmFjZV9mdW5jdGlvbiBfX3JlYWRfbW9zdGx5ID0gZnRyYWNlX3N0dWI7CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9saXN0X2Z1bmModW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJc3RydWN0IGZ0cmFjZV9vcHMgKm9wID0gZnRyYWNlX2xpc3Q7CisKKwkvKiBpbiBjYXNlIHNvbWVvbmUgYWN0dWFsbHkgcG9ydHMgdGhpcyB0byBhbHBoYSEgKi8KKwlyZWFkX2JhcnJpZXJfZGVwZW5kcygpOworCisJd2hpbGUgKG9wICE9ICZmdHJhY2VfbGlzdF9lbmQpIHsKKwkJLyogc2lsbHkgYWxwaGEgKi8KKwkJcmVhZF9iYXJyaWVyX2RlcGVuZHMoKTsKKwkJb3AtPmZ1bmMoaXAsIHBhcmVudF9pcCk7CisJCW9wID0gb3AtPm5leHQ7CisJfTsKK30KKworLyoqCisgKiBjbGVhcl9mdHJhY2VfZnVuY3Rpb24gLSByZXNldCB0aGUgZnRyYWNlIGZ1bmN0aW9uCisgKgorICogVGhpcyBOVUxMcyB0aGUgZnRyYWNlIGZ1bmN0aW9uIGFuZCBpbiBlc3NlbmNlIHN0b3BzCisgKiB0cmFjaW5nLiAgVGhlcmUgbWF5IGJlIGxhZworICovCit2b2lkIGNsZWFyX2Z0cmFjZV9mdW5jdGlvbih2b2lkKQoreworCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9zdHViOworfQorCitzdGF0aWMgaW50IF9fcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpCit7CisJLyogU2hvdWxkIG5ldmVyIGJlIGNhbGxlZCBieSBpbnRlcnJ1cHRzICovCisJc3Bpbl9sb2NrKCZmdHJhY2VfbG9jayk7CisKKwlvcHMtPm5leHQgPSBmdHJhY2VfbGlzdDsKKwkvKgorCSAqIFdlIGFyZSBlbnRlcmluZyBvcHMgaW50byB0aGUgZnRyYWNlX2xpc3QgYnV0IGFub3RoZXIKKwkgKiBDUFUgbWlnaHQgYmUgd2Fsa2luZyB0aGF0IGxpc3QuIFdlIG5lZWQgdG8gbWFrZSBzdXJlCisJICogdGhlIG9wcy0+bmV4dCBwb2ludGVyIGlzIHZhbGlkIGJlZm9yZSBhbm90aGVyIENQVSBzZWVzCisJICogdGhlIG9wcyBwb2ludGVyIGluY2x1ZGVkIGludG8gdGhlIGZ0cmFjZV9saXN0LgorCSAqLworCXNtcF93bWIoKTsKKwlmdHJhY2VfbGlzdCA9IG9wczsKKworCWlmIChmdHJhY2VfZW5hYmxlZCkgeworCQkvKgorCQkgKiBGb3Igb25lIGZ1bmMsIHNpbXBseSBjYWxsIGl0IGRpcmVjdGx5LgorCQkgKiBGb3IgbW9yZSB0aGFuIG9uZSBmdW5jLCBjYWxsIHRoZSBjaGFpbi4KKwkJICovCisJCWlmIChvcHMtPm5leHQgPT0gJmZ0cmFjZV9saXN0X2VuZCkKKwkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IG9wcy0+ZnVuYzsKKwkJZWxzZQorCQkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX2xpc3RfZnVuYzsKKwl9CisKKwlzcGluX3VubG9jaygmZnRyYWNlX2xvY2spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX191bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKQoreworCXN0cnVjdCBmdHJhY2Vfb3BzICoqcDsKKwlpbnQgcmV0ID0gMDsKKworCXNwaW5fbG9jaygmZnRyYWNlX2xvY2spOworCisJLyoKKwkgKiBJZiB3ZSBhcmUgcmVtb3ZpbmcgdGhlIGxhc3QgZnVuY3Rpb24sIHRoZW4gc2ltcGx5IHBvaW50CisJICogdG8gdGhlIGZ0cmFjZV9zdHViLgorCSAqLworCWlmIChmdHJhY2VfbGlzdCA9PSBvcHMgJiYgb3BzLT5uZXh0ID09ICZmdHJhY2VfbGlzdF9lbmQpIHsKKwkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX3N0dWI7CisJCWZ0cmFjZV9saXN0ID0gJmZ0cmFjZV9saXN0X2VuZDsKKwkJZ290byBvdXQ7CisJfQorCisJZm9yIChwID0gJmZ0cmFjZV9saXN0OyAqcCAhPSAmZnRyYWNlX2xpc3RfZW5kOyBwID0gJigqcCktPm5leHQpCisJCWlmICgqcCA9PSBvcHMpCisJCQlicmVhazsKKworCWlmICgqcCAhPSBvcHMpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKworCSpwID0gKCpwKS0+bmV4dDsKKworCWlmIChmdHJhY2VfZW5hYmxlZCkgeworCQkvKiBJZiB3ZSBvbmx5IGhhdmUgb25lIGZ1bmMgbGVmdCwgdGhlbiBjYWxsIHRoYXQgZGlyZWN0bHkgKi8KKwkJaWYgKGZ0cmFjZV9saXN0ID09ICZmdHJhY2VfbGlzdF9lbmQgfHwKKwkJICAgIGZ0cmFjZV9saXN0LT5uZXh0ID09ICZmdHJhY2VfbGlzdF9lbmQpCisJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2VfbGlzdC0+ZnVuYzsKKwl9CisKKyBvdXQ6CisJc3Bpbl91bmxvY2soJmZ0cmFjZV9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKworc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqZnRyYWNlZF90YXNrOworCitlbnVtIHsKKwlGVFJBQ0VfRU5BQkxFX0NBTExTCQk9ICgxIDw8IDApLAorCUZUUkFDRV9ESVNBQkxFX0NBTExTCQk9ICgxIDw8IDEpLAorCUZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQwk9ICgxIDw8IDIpLAorCUZUUkFDRV9FTkFCTEVfTUNPVU5UCQk9ICgxIDw8IDMpLAorCUZUUkFDRV9ESVNBQkxFX01DT1VOVAkJPSAoMSA8PCA0KSwKK307CisKK3N0YXRpYyBpbnQgZnRyYWNlX2ZpbHRlcmVkOworc3RhdGljIGludCB0cmFjaW5nX29uOworc3RhdGljIGludCBmcm96ZW5fcmVjb3JkX2NvdW50OworCitzdGF0aWMgc3RydWN0IGhsaXN0X2hlYWQgZnRyYWNlX2hhc2hbRlRSQUNFX0hBU0hTSVpFXTsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgZnRyYWNlX3NodXRkb3duX2Rpc2FibGVfY3B1KTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhmdHJhY2Vfc2h1dGRvd25fbG9jayk7CitzdGF0aWMgREVGSU5FX01VVEVYKGZ0cmFjZWRfbG9jayk7CitzdGF0aWMgREVGSU5FX01VVEVYKGZ0cmFjZV9yZWdleF9sb2NrKTsKKworc3RydWN0IGZ0cmFjZV9wYWdlIHsKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UJKm5leHQ7CisJdW5zaWduZWQgbG9uZwkJaW5kZXg7CisJc3RydWN0IGR5bl9mdHJhY2UJcmVjb3Jkc1tdOworfTsKKworI2RlZmluZSBFTlRSSUVTX1BFUl9QQUdFIFwKKyAgKChQQUdFX1NJWkUgLSBzaXplb2Yoc3RydWN0IGZ0cmFjZV9wYWdlKSkgLyBzaXplb2Yoc3RydWN0IGR5bl9mdHJhY2UpKQorCisvKiBlc3RpbWF0ZSBmcm9tIHJ1bm5pbmcgZGlmZmVyZW50IGtlcm5lbHMgKi8KKyNkZWZpbmUgTlJfVE9fSU5JVAkJMTAwMDAKKworc3RhdGljIHN0cnVjdCBmdHJhY2VfcGFnZQkqZnRyYWNlX3BhZ2VzX3N0YXJ0Oworc3RhdGljIHN0cnVjdCBmdHJhY2VfcGFnZQkqZnRyYWNlX3BhZ2VzOworCitzdGF0aWMgaW50IGZ0cmFjZWRfdHJpZ2dlcjsKK3N0YXRpYyBpbnQgZnRyYWNlZF9zdXNwZW5kOworc3RhdGljIGludCBmdHJhY2VkX3N0b3A7CisKK3N0YXRpYyBpbnQgZnRyYWNlX3JlY29yZF9zdXNwZW5kOworCitzdGF0aWMgc3RydWN0IGR5bl9mdHJhY2UgKmZ0cmFjZV9mcmVlX3JlY29yZHM7CisKKworI2lmZGVmIENPTkZJR19LUFJPQkVTCitzdGF0aWMgaW5saW5lIHZvaWQgZnJlZXplX3JlY29yZChzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQoreworCWlmICghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJPWkVOKSkgeworCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9GUk9aRU47CisJCWZyb3plbl9yZWNvcmRfY291bnQrKzsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB1bmZyZWV6ZV9yZWNvcmQoc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GUk9aRU4pIHsKKwkJcmVjLT5mbGFncyAmPSB+RlRSQUNFX0ZMX0ZST1pFTjsKKwkJZnJvemVuX3JlY29yZF9jb3VudC0tOworCX0KK30KKworc3RhdGljIGlubGluZSBpbnQgcmVjb3JkX2Zyb3plbihzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQoreworCXJldHVybiByZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZST1pFTjsKK30KKyNlbHNlCisjIGRlZmluZSBmcmVlemVfcmVjb3JkKHJlYykJCQkoeyAwOyB9KQorIyBkZWZpbmUgdW5mcmVlemVfcmVjb3JkKHJlYykJCQkoeyAwOyB9KQorIyBkZWZpbmUgcmVjb3JkX2Zyb3plbihyZWMpCQkJKHsgMDsgfSkKKyNlbmRpZiAvKiBDT05GSUdfS1BST0JFUyAqLworCitpbnQgc2tpcF90cmFjZSh1bnNpZ25lZCBsb25nIGlwKQoreworCXVuc2lnbmVkIGxvbmcgZmw7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYzsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqdDsKKwlzdHJ1Y3QgaGxpc3RfaGVhZCAqaGVhZDsKKworCWlmIChmcm96ZW5fcmVjb3JkX2NvdW50ID09IDApCisJCXJldHVybiAwOworCisJaGVhZCA9ICZmdHJhY2VfaGFzaFtoYXNoX2xvbmcoaXAsIEZUUkFDRV9IQVNIQklUUyldOworCWhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShyZWMsIHQsIGhlYWQsIG5vZGUpIHsKKwkJaWYgKHJlYy0+aXAgPT0gaXApIHsKKwkJCWlmIChyZWNvcmRfZnJvemVuKHJlYykpIHsKKwkJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJCXJldHVybiAxOworCisJCQkJaWYgKCEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9DT05WRVJURUQpKQorCQkJCQlyZXR1cm4gMTsKKworCQkJCWlmICghdHJhY2luZ19vbiB8fCAhZnRyYWNlX2VuYWJsZWQpCisJCQkJCXJldHVybiAxOworCisJCQkJaWYgKGZ0cmFjZV9maWx0ZXJlZCkgeworCQkJCQlmbCA9IHJlYy0+ZmxhZ3MgJiAoRlRSQUNFX0ZMX0ZJTFRFUiB8CisJCQkJCQkJICAgRlRSQUNFX0ZMX05PVFJBQ0UpOworCQkJCQlpZiAoIWZsIHx8IChmbCAmIEZUUkFDRV9GTF9OT1RSQUNFKSkKKwkJCQkJCXJldHVybiAxOworCQkJCX0KKwkJCX0KKwkJCWJyZWFrOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50CitmdHJhY2VfaXBfaW5faGFzaCh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIGtleSkKK3sKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcDsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqdDsKKwlpbnQgZm91bmQgPSAwOworCisJaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHAsIHQsICZmdHJhY2VfaGFzaFtrZXldLCBub2RlKSB7CisJCWlmIChwLT5pcCA9PSBpcCkgeworCQkJZm91bmQgPSAxOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlyZXR1cm4gZm91bmQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorZnRyYWNlX2FkZF9oYXNoKHN0cnVjdCBkeW5fZnRyYWNlICpub2RlLCB1bnNpZ25lZCBsb25nIGtleSkKK3sKKwlobGlzdF9hZGRfaGVhZF9yY3UoJm5vZGUtPm5vZGUsICZmdHJhY2VfaGFzaFtrZXldKTsKK30KKworLyogY2FsbGVkIGZyb20ga3N0b3BfbWFjaGluZSAqLworc3RhdGljIGlubGluZSB2b2lkIGZ0cmFjZV9kZWxfaGFzaChzdHJ1Y3QgZHluX2Z0cmFjZSAqbm9kZSkKK3sKKwlobGlzdF9kZWwoJm5vZGUtPm5vZGUpOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2VfZnJlZV9yZWMoc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwkvKiBubyBsb2NraW5nLCBvbmx5IGNhbGxlZCBmcm9tIGtzdG9wX21hY2hpbmUgKi8KKworCXJlYy0+aXAgPSAodW5zaWduZWQgbG9uZylmdHJhY2VfZnJlZV9yZWNvcmRzOworCWZ0cmFjZV9mcmVlX3JlY29yZHMgPSByZWM7CisJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRlJFRTsKK30KKworc3RhdGljIHN0cnVjdCBkeW5fZnRyYWNlICpmdHJhY2VfYWxsb2NfZHluX25vZGUodW5zaWduZWQgbG9uZyBpcCkKK3sKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCisJLyogRmlyc3QgY2hlY2sgZm9yIGZyZWVkIHJlY29yZHMgKi8KKwlpZiAoZnRyYWNlX2ZyZWVfcmVjb3JkcykgeworCQlyZWMgPSBmdHJhY2VfZnJlZV9yZWNvcmRzOworCisJCWlmICh1bmxpa2VseSghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJFRSkpKSB7CisJCQlXQVJOX09OX09OQ0UoMSk7CisJCQlmdHJhY2VfZnJlZV9yZWNvcmRzID0gTlVMTDsKKwkJCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJCQlmdHJhY2VfZW5hYmxlZCA9IDA7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCisJCWZ0cmFjZV9mcmVlX3JlY29yZHMgPSAodm9pZCAqKXJlYy0+aXA7CisJCW1lbXNldChyZWMsIDAsIHNpemVvZigqcmVjKSk7CisJCXJldHVybiByZWM7CisJfQorCisJaWYgKGZ0cmFjZV9wYWdlcy0+aW5kZXggPT0gRU5UUklFU19QRVJfUEFHRSkgeworCQlpZiAoIWZ0cmFjZV9wYWdlcy0+bmV4dCkKKwkJCXJldHVybiBOVUxMOworCQlmdHJhY2VfcGFnZXMgPSBmdHJhY2VfcGFnZXMtPm5leHQ7CisJfQorCisJcmV0dXJuICZmdHJhY2VfcGFnZXMtPnJlY29yZHNbZnRyYWNlX3BhZ2VzLT5pbmRleCsrXTsKK30KKworc3RhdGljIHZvaWQKK2Z0cmFjZV9yZWNvcmRfaXAodW5zaWduZWQgbG9uZyBpcCkKK3sKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqbm9kZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcga2V5OworCWludCByZXNjaGVkOworCWludCBhdG9taWM7CisJaW50IGNwdTsKKworCWlmICghZnRyYWNlX2VuYWJsZWQgfHwgZnRyYWNlX2Rpc2FibGVkKQorCQlyZXR1cm47CisKKwlyZXNjaGVkID0gbmVlZF9yZXNjaGVkKCk7CisJcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKTsKKworCS8qCisJICogV2Ugc2ltcGx5IG5lZWQgdG8gcHJvdGVjdCBhZ2FpbnN0IHJlY3Vyc2lvbi4KKwkgKiBVc2UgdGhlIHRoZSByYXcgdmVyc2lvbiBvZiBzbXBfcHJvY2Vzc29yX2lkIGFuZCBub3QKKwkgKiBfX2dldF9jcHVfdmFyIHdoaWNoIGNhbiBjYWxsIGRlYnVnIGhvb2tzIHRoYXQgY2FuCisJICogY2F1c2UgYSByZWN1cnNpdmUgY3Jhc2ggaGVyZS4KKwkgKi8KKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCXBlcl9jcHUoZnRyYWNlX3NodXRkb3duX2Rpc2FibGVfY3B1LCBjcHUpKys7CisJaWYgKHBlcl9jcHUoZnRyYWNlX3NodXRkb3duX2Rpc2FibGVfY3B1LCBjcHUpICE9IDEpCisJCWdvdG8gb3V0OworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9yZWNvcmRfc3VzcGVuZCkpCisJCWdvdG8gb3V0OworCisJa2V5ID0gaGFzaF9sb25nKGlwLCBGVFJBQ0VfSEFTSEJJVFMpOworCisJV0FSTl9PTl9PTkNFKGtleSA+PSBGVFJBQ0VfSEFTSFNJWkUpOworCisJaWYgKGZ0cmFjZV9pcF9pbl9oYXNoKGlwLCBrZXkpKQorCQlnb3RvIG91dDsKKworCWF0b21pYyA9IGlycXNfZGlzYWJsZWQoKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZmdHJhY2Vfc2h1dGRvd25fbG9jaywgZmxhZ3MpOworCisJLyogVGhpcyBpcCBtYXkgaGF2ZSBoaXQgdGhlIGhhc2ggYmVmb3JlIHRoZSBsb2NrICovCisJaWYgKGZ0cmFjZV9pcF9pbl9oYXNoKGlwLCBrZXkpKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlub2RlID0gZnRyYWNlX2FsbG9jX2R5bl9ub2RlKGlwKTsKKwlpZiAoIW5vZGUpCisJCWdvdG8gb3V0X3VubG9jazsKKworCW5vZGUtPmlwID0gaXA7CisKKwlmdHJhY2VfYWRkX2hhc2gobm9kZSwga2V5KTsKKworCWZ0cmFjZWRfdHJpZ2dlciA9IDE7CisKKyBvdXRfdW5sb2NrOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZ0cmFjZV9zaHV0ZG93bl9sb2NrLCBmbGFncyk7Cisgb3V0OgorCXBlcl9jcHUoZnRyYWNlX3NodXRkb3duX2Rpc2FibGVfY3B1LCBjcHUpLS07CisKKwkvKiBwcmV2ZW50IHJlY3Vyc2lvbiB3aXRoIHNjaGVkdWxlciAqLworCWlmIChyZXNjaGVkKQorCQlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKTsKKwllbHNlCisJCXByZWVtcHRfZW5hYmxlX25vdHJhY2UoKTsKK30KKworI2RlZmluZSBGVFJBQ0VfQUREUiAoKGxvbmcpKGZ0cmFjZV9jYWxsZXIpKQorCitzdGF0aWMgaW50CitfX2Z0cmFjZV9yZXBsYWNlX2NvZGUoc3RydWN0IGR5bl9mdHJhY2UgKnJlYywKKwkJICAgICAgdW5zaWduZWQgY2hhciAqb2xkLCB1bnNpZ25lZCBjaGFyICpuZXcsIGludCBlbmFibGUpCit7CisJdW5zaWduZWQgbG9uZyBpcCwgZmw7CisKKwlpcCA9IHJlYy0+aXA7CisKKwlpZiAoZnRyYWNlX2ZpbHRlcmVkICYmIGVuYWJsZSkgeworCQkvKgorCQkgKiBJZiBmaWx0ZXJpbmcgaXMgb246CisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCB0byBiZSBmaWx0ZXJlZCBhbmQKKwkJICogaXMgZW5hYmxlZCB0aGVuIGRvIG5vdGhpbmcuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCB0byBiZSBmaWx0ZXJlZCBhbmQKKwkJICogaXQgaXMgbm90IGVuYWJsZWQsIGVuYWJsZSBpdC4KKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgbm90IHNldCB0byBiZSBmaWx0ZXJlZAorCQkgKiBhbmQgaXQgaXMgbm90IGVuYWJsZWQgZG8gbm90aGluZy4KKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgc2V0IG5vdCB0byB0cmFjZSB0aGVuCisJCSAqIGRvIG5vdGhpbmcuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCBub3QgdG8gdHJhY2UgYW5kCisJCSAqIGl0IGlzIGVuYWJsZWQgdGhlbiBkaXNhYmxlIGl0LgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBub3Qgc2V0IHRvIGJlIGZpbHRlcmVkIGFuZAorCQkgKiBpdCBpcyBlbmFibGVkLCBkaXNhYmxlIGl0LgorCQkgKi8KKworCQlmbCA9IHJlYy0+ZmxhZ3MgJiAoRlRSQUNFX0ZMX0ZJTFRFUiB8IEZUUkFDRV9GTF9OT1RSQUNFIHwKKwkJCQkgICBGVFJBQ0VfRkxfRU5BQkxFRCk7CisKKwkJaWYgKChmbCA9PSAgKEZUUkFDRV9GTF9GSUxURVIgfCBGVFJBQ0VfRkxfRU5BQkxFRCkpIHx8CisJCSAgICAoZmwgPT0gIChGVFJBQ0VfRkxfRklMVEVSIHwgRlRSQUNFX0ZMX05PVFJBQ0UpKSB8fAorCQkgICAgIWZsIHx8IChmbCA9PSBGVFJBQ0VfRkxfTk9UUkFDRSkpCisJCQlyZXR1cm4gMDsKKworCQkvKgorCQkgKiBJZiBpdCBpcyBlbmFibGVkIGRpc2FibGUgaXQsCisJCSAqIG90aGVyd2lzZSBlbmFibGUgaXQhCisJCSAqLworCQlpZiAoZmwgJiBGVFJBQ0VfRkxfRU5BQkxFRCkgeworCQkJLyogc3dhcCBuZXcgYW5kIG9sZCAqLworCQkJbmV3ID0gb2xkOworCQkJb2xkID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgRlRSQUNFX0FERFIpOworCQkJcmVjLT5mbGFncyAmPSB+RlRSQUNFX0ZMX0VOQUJMRUQ7CisJCX0gZWxzZSB7CisJCQluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCBGVFJBQ0VfQUREUik7CisJCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9FTkFCTEVEOworCQl9CisJfSBlbHNlIHsKKworCQlpZiAoZW5hYmxlKSB7CisJCQkvKgorCQkJICogSWYgdGhpcyByZWNvcmQgaXMgc2V0IG5vdCB0byB0cmFjZSBhbmQgaXMKKwkJCSAqIG5vdCBlbmFibGVkLCBkbyBub3RoaW5nLgorCQkJICovCisJCQlmbCA9IHJlYy0+ZmxhZ3MgJiAoRlRSQUNFX0ZMX05PVFJBQ0UgfCBGVFJBQ0VfRkxfRU5BQkxFRCk7CisJCQlpZiAoZmwgPT0gRlRSQUNFX0ZMX05PVFJBQ0UpCisJCQkJcmV0dXJuIDA7CisKKwkJCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsIEZUUkFDRV9BRERSKTsKKwkJfSBlbHNlCisJCQlvbGQgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCBGVFJBQ0VfQUREUik7CisKKwkJaWYgKGVuYWJsZSkgeworCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRU5BQkxFRCkKKwkJCQlyZXR1cm4gMDsKKwkJCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0VOQUJMRUQ7CisJCX0gZWxzZSB7CisJCQlpZiAoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0VOQUJMRUQpKQorCQkJCXJldHVybiAwOworCQkJcmVjLT5mbGFncyAmPSB+RlRSQUNFX0ZMX0VOQUJMRUQ7CisJCX0KKwl9CisKKwlyZXR1cm4gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9yZXBsYWNlX2NvZGUoaW50IGVuYWJsZSkKK3sKKwlpbnQgaSwgZmFpbGVkOworCXVuc2lnbmVkIGNoYXIgKm5ldyA9IE5VTEwsICpvbGQgPSBOVUxMOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisJc3RydWN0IGZ0cmFjZV9wYWdlICpwZzsKKworCWlmIChlbmFibGUpCisJCW9sZCA9IGZ0cmFjZV9ub3BfcmVwbGFjZSgpOworCWVsc2UKKwkJbmV3ID0gZnRyYWNlX25vcF9yZXBsYWNlKCk7CisKKwlmb3IgKHBnID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OyBwZzsgcGcgPSBwZy0+bmV4dCkgeworCQlmb3IgKGkgPSAwOyBpIDwgcGctPmluZGV4OyBpKyspIHsKKwkJCXJlYyA9ICZwZy0+cmVjb3Jkc1tpXTsKKworCQkJLyogZG9uJ3QgbW9kaWZ5IGNvZGUgdGhhdCBoYXMgYWxyZWFkeSBmYXVsdGVkICovCisJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJY29udGludWU7CisKKwkJCS8qIGlnbm9yZSB1cGRhdGVzIHRvIHRoaXMgcmVjb3JkJ3MgbWNvdW50IHNpdGUgKi8KKwkJCWlmIChnZXRfa3Byb2JlKCh2b2lkICopcmVjLT5pcCkpIHsKKwkJCQlmcmVlemVfcmVjb3JkKHJlYyk7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UgeworCQkJCXVuZnJlZXplX3JlY29yZChyZWMpOworCQkJfQorCisJCQlmYWlsZWQgPSBfX2Z0cmFjZV9yZXBsYWNlX2NvZGUocmVjLCBvbGQsIG5ldywgZW5hYmxlKTsKKwkJCWlmIChmYWlsZWQgJiYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfQ09OVkVSVEVEKSkgeworCQkJCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0ZBSUxFRDsKKwkJCQlpZiAoKHN5c3RlbV9zdGF0ZSA9PSBTWVNURU1fQk9PVElORykgfHwKKwkJCQkgICAgIWNvcmVfa2VybmVsX3RleHQocmVjLT5pcCkpIHsKKwkJCQkJZnRyYWNlX2RlbF9oYXNoKHJlYyk7CisJCQkJCWZ0cmFjZV9mcmVlX3JlYyhyZWMpOworCQkJCX0KKwkJCX0KKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3NodXRkb3duX3JlcGxlbmlzaCh2b2lkKQoreworCWlmIChmdHJhY2VfcGFnZXMtPm5leHQpCisJCXJldHVybjsKKworCS8qIGFsbG9jYXRlIGFub3RoZXIgcGFnZSAqLworCWZ0cmFjZV9wYWdlcy0+bmV4dCA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfY29kZV9kaXNhYmxlKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpCit7CisJdW5zaWduZWQgbG9uZyBpcDsKKwl1bnNpZ25lZCBjaGFyICpub3AsICpjYWxsOworCWludCBmYWlsZWQ7CisKKwlpcCA9IHJlYy0+aXA7CisKKwlub3AgPSBmdHJhY2Vfbm9wX3JlcGxhY2UoKTsKKwljYWxsID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgTUNPVU5UX0FERFIpOworCisJZmFpbGVkID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBjYWxsLCBub3ApOworCWlmIChmYWlsZWQpIHsKKwkJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRkFJTEVEOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgX19mdHJhY2VfdXBkYXRlX2NvZGUodm9pZCAqaWdub3JlKTsKKworc3RhdGljIGludCBfX2Z0cmFjZV9tb2RpZnlfY29kZSh2b2lkICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKwlpbnQgKmNvbW1hbmQgPSBkYXRhOworCisJaWYgKCpjb21tYW5kICYgRlRSQUNFX0VOQUJMRV9DQUxMUykgeworCQkvKgorCQkgKiBVcGRhdGUgYW55IHJlY29yZGVkIGlwcyBub3cgdGhhdCB3ZSBoYXZlIHRoZQorCQkgKiBtYWNoaW5lIHN0b3BwZWQKKwkJICovCisJCV9fZnRyYWNlX3VwZGF0ZV9jb2RlKE5VTEwpOworCQlmdHJhY2VfcmVwbGFjZV9jb2RlKDEpOworCQl0cmFjaW5nX29uID0gMTsKKwl9IGVsc2UgaWYgKCpjb21tYW5kICYgRlRSQUNFX0RJU0FCTEVfQ0FMTFMpIHsKKwkJZnRyYWNlX3JlcGxhY2VfY29kZSgwKTsKKwkJdHJhY2luZ19vbiA9IDA7CisJfQorCisJaWYgKCpjb21tYW5kICYgRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DKQorCQlmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV90cmFjZV9mdW5jdGlvbik7CisKKwlpZiAoKmNvbW1hbmQgJiBGVFJBQ0VfRU5BQkxFX01DT1VOVCkgeworCQlhZGRyID0gKHVuc2lnbmVkIGxvbmcpZnRyYWNlX3JlY29yZF9pcDsKKwkJZnRyYWNlX21jb3VudF9zZXQoJmFkZHIpOworCX0gZWxzZSBpZiAoKmNvbW1hbmQgJiBGVFJBQ0VfRElTQUJMRV9NQ09VTlQpIHsKKwkJYWRkciA9ICh1bnNpZ25lZCBsb25nKWZ0cmFjZV9zdHViOworCQlmdHJhY2VfbWNvdW50X3NldCgmYWRkcik7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoaW50IGNvbW1hbmQpCit7CisJc3RvcF9tYWNoaW5lX3J1bihfX2Z0cmFjZV9tb2RpZnlfY29kZSwgJmNvbW1hbmQsIE5SX0NQVVMpOworfQorCit2b2lkIGZ0cmFjZV9kaXNhYmxlX2RhZW1vbih2b2lkKQoreworCS8qIFN0b3AgdGhlIGRhZW1vbiBmcm9tIGNhbGxpbmcga3N0b3BfbWFjaGluZSAqLworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJZnRyYWNlZF9zdG9wID0gMTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisKKwlmdHJhY2VfZm9yY2VfdXBkYXRlKCk7Cit9CisKK3ZvaWQgZnRyYWNlX2VuYWJsZV9kYWVtb24odm9pZCkKK3sKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCWZ0cmFjZWRfc3RvcCA9IDA7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCisJZnRyYWNlX2ZvcmNlX3VwZGF0ZSgpOworfQorCitzdGF0aWMgZnRyYWNlX2Z1bmNfdCBzYXZlZF9mdHJhY2VfZnVuYzsKKworc3RhdGljIHZvaWQgZnRyYWNlX3N0YXJ0dXAodm9pZCkKK3sKKwlpbnQgY29tbWFuZCA9IDA7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwlmdHJhY2VkX3N1c3BlbmQrKzsKKwlpZiAoZnRyYWNlZF9zdXNwZW5kID09IDEpCisJCWNvbW1hbmQgfD0gRlRSQUNFX0VOQUJMRV9DQUxMUzsKKworCWlmIChzYXZlZF9mdHJhY2VfZnVuYyAhPSBmdHJhY2VfdHJhY2VfZnVuY3Rpb24pIHsKKwkJc2F2ZWRfZnRyYWNlX2Z1bmMgPSBmdHJhY2VfdHJhY2VfZnVuY3Rpb247CisJCWNvbW1hbmQgfD0gRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DOworCX0KKworCWlmICghY29tbWFuZCB8fCAhZnRyYWNlX2VuYWJsZWQpCisJCWdvdG8gb3V0OworCisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2Vfc2h1dGRvd24odm9pZCkKK3sKKwlpbnQgY29tbWFuZCA9IDA7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwlmdHJhY2VkX3N1c3BlbmQtLTsKKwlpZiAoIWZ0cmFjZWRfc3VzcGVuZCkKKwkJY29tbWFuZCB8PSBGVFJBQ0VfRElTQUJMRV9DQUxMUzsKKworCWlmIChzYXZlZF9mdHJhY2VfZnVuYyAhPSBmdHJhY2VfdHJhY2VfZnVuY3Rpb24pIHsKKwkJc2F2ZWRfZnRyYWNlX2Z1bmMgPSBmdHJhY2VfdHJhY2VfZnVuY3Rpb247CisJCWNvbW1hbmQgfD0gRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DOworCX0KKworCWlmICghY29tbWFuZCB8fCAhZnRyYWNlX2VuYWJsZWQpCisJCWdvdG8gb3V0OworCisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2Vfc3RhcnR1cF9zeXNjdGwodm9pZCkKK3sKKwlpbnQgY29tbWFuZCA9IEZUUkFDRV9FTkFCTEVfTUNPVU5UOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJLyogRm9yY2UgdXBkYXRlIG5leHQgdGltZSAqLworCXNhdmVkX2Z0cmFjZV9mdW5jID0gTlVMTDsKKwkvKiBmdHJhY2VkX3N1c3BlbmQgaXMgdHJ1ZSBpZiB3ZSB3YW50IGZ0cmFjZSBydW5uaW5nICovCisJaWYgKGZ0cmFjZWRfc3VzcGVuZCkKKwkJY29tbWFuZCB8PSBGVFJBQ0VfRU5BQkxFX0NBTExTOworCisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9zaHV0ZG93bl9zeXNjdGwodm9pZCkKK3sKKwlpbnQgY29tbWFuZCA9IEZUUkFDRV9ESVNBQkxFX01DT1VOVDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCS8qIGZ0cmFjZWRfc3VzcGVuZCBpcyB0cnVlIGlmIGZ0cmFjZSBpcyBydW5uaW5nICovCisJaWYgKGZ0cmFjZWRfc3VzcGVuZCkKKwkJY29tbWFuZCB8PSBGVFJBQ0VfRElTQUJMRV9DQUxMUzsKKworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworfQorCitzdGF0aWMgY3ljbGVfdAkJZnRyYWNlX3VwZGF0ZV90aW1lOworc3RhdGljIHVuc2lnbmVkIGxvbmcJZnRyYWNlX3VwZGF0ZV9jbnQ7Cit1bnNpZ25lZCBsb25nCQlmdHJhY2VfdXBkYXRlX3RvdF9jbnQ7CisKK3N0YXRpYyBpbnQgX19mdHJhY2VfdXBkYXRlX2NvZGUodm9pZCAqaWdub3JlKQoreworCWludCBpLCBzYXZlX2Z0cmFjZV9lbmFibGVkOworCWN5Y2xlX3Qgc3RhcnQsIHN0b3A7CisJc3RydWN0IGR5bl9mdHJhY2UgKnA7CisJc3RydWN0IGhsaXN0X25vZGUgKnQsICpuOworCXN0cnVjdCBobGlzdF9oZWFkICpoZWFkLCB0ZW1wX2xpc3Q7CisKKwkvKiBEb24ndCBiZSByZWNvcmRpbmcgZnVuY3Mgbm93ICovCisJZnRyYWNlX3JlY29yZF9zdXNwZW5kKys7CisJc2F2ZV9mdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9lbmFibGVkOworCWZ0cmFjZV9lbmFibGVkID0gMDsKKworCXN0YXJ0ID0gZnRyYWNlX25vdyhyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlmdHJhY2VfdXBkYXRlX2NudCA9IDA7CisKKwkvKiBObyBsb2NrcyBuZWVkZWQsIHRoZSBtYWNoaW5lIGlzIHN0b3BwZWQhICovCisJZm9yIChpID0gMDsgaSA8IEZUUkFDRV9IQVNIU0laRTsgaSsrKSB7CisJCUlOSVRfSExJU1RfSEVBRCgmdGVtcF9saXN0KTsKKwkJaGVhZCA9ICZmdHJhY2VfaGFzaFtpXTsKKworCQkvKiBhbGwgQ1BVUyBhcmUgc3RvcHBlZCwgd2UgYXJlIHNhZmUgdG8gbW9kaWZ5IGNvZGUgKi8KKwkJaGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwLCB0LCBuLCBoZWFkLCBub2RlKSB7CisJCQkvKiBTa2lwIG92ZXIgZmFpbGVkIHJlY29yZHMgd2hpY2ggaGF2ZSBub3QgYmVlbgorCQkJICogZnJlZWQuICovCisJCQlpZiAocC0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBVbmNvbnZlcnRlZCByZWNvcmRzIGFyZSBhbHdheXMgYXQgdGhlIGhlYWQgb2YgdGhlCisJCQkgKiBoYXNoIGJ1Y2tldC4gT25jZSB3ZSBlbmNvdW50ZXIgYSBjb252ZXJ0ZWQgcmVjb3JkLAorCQkJICogc2ltcGx5IHNraXAgb3ZlciB0byB0aGUgbmV4dCBidWNrZXQuIFNhdmVzIGZ0cmFjZWQKKwkJCSAqIHNvbWUgcHJvY2Vzc29yIGN5Y2xlcyAoZnRyYWNlIGRvZXMgaXRzIGJpZCBmb3IKKwkJCSAqIGdsb2JhbCB3YXJtaW5nIDotcCApLiAqLworCQkJaWYgKHAtPmZsYWdzICYgKEZUUkFDRV9GTF9DT05WRVJURUQpKQorCQkJCWJyZWFrOworCisJCQkvKiBJZ25vcmUgdXBkYXRlcyB0byB0aGlzIHJlY29yZCdzIG1jb3VudCBzaXRlLgorCQkJICogUmVpbnRyb2R1Y2UgdGhpcyByZWNvcmQgYXQgdGhlIGhlYWQgb2YgdGhpcworCQkJICogYnVja2V0IHRvIGF0dGVtcHQgdG8gImNvbnZlcnQiIGl0IGFnYWluIGlmCisJCQkgKiB0aGUga3Byb2JlIG9uIGl0IGlzIHVucmVnaXN0ZXJlZCBiZWZvcmUgdGhlCisJCQkgKiBuZXh0IHJ1bi4gKi8KKwkJCWlmIChnZXRfa3Byb2JlKCh2b2lkICopcC0+aXApKSB7CisJCQkJZnRyYWNlX2RlbF9oYXNoKHApOworCQkJCUlOSVRfSExJU1RfTk9ERSgmcC0+bm9kZSk7CisJCQkJaGxpc3RfYWRkX2hlYWQoJnAtPm5vZGUsICZ0ZW1wX2xpc3QpOworCQkJCWZyZWV6ZV9yZWNvcmQocCk7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UgeworCQkJCXVuZnJlZXplX3JlY29yZChwKTsKKwkJCX0KKworCQkJLyogY29udmVydCByZWNvcmQgKGkuZSwgcGF0Y2ggbWNvdW50LWNhbGwgd2l0aCBOT1ApICovCisJCQlpZiAoZnRyYWNlX2NvZGVfZGlzYWJsZShwKSkgeworCQkJCXAtPmZsYWdzIHw9IEZUUkFDRV9GTF9DT05WRVJURUQ7CisJCQkJZnRyYWNlX3VwZGF0ZV9jbnQrKzsKKwkJCX0gZWxzZSB7CisJCQkJaWYgKChzeXN0ZW1fc3RhdGUgPT0gU1lTVEVNX0JPT1RJTkcpIHx8CisJCQkJICAgICFjb3JlX2tlcm5lbF90ZXh0KHAtPmlwKSkgeworCQkJCQlmdHJhY2VfZGVsX2hhc2gocCk7CisJCQkJCWZ0cmFjZV9mcmVlX3JlYyhwKTsKKwkJCQl9CisJCQl9CisJCX0KKworCQlobGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHAsIHQsIG4sICZ0ZW1wX2xpc3QsIG5vZGUpIHsKKwkJCWhsaXN0X2RlbCgmcC0+bm9kZSk7CisJCQlJTklUX0hMSVNUX05PREUoJnAtPm5vZGUpOworCQkJaGxpc3RfYWRkX2hlYWQoJnAtPm5vZGUsIGhlYWQpOworCQl9CisJfQorCisJc3RvcCA9IGZ0cmFjZV9ub3cocmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJZnRyYWNlX3VwZGF0ZV90aW1lID0gc3RvcCAtIHN0YXJ0OworCWZ0cmFjZV91cGRhdGVfdG90X2NudCArPSBmdHJhY2VfdXBkYXRlX2NudDsKKwlmdHJhY2VkX3RyaWdnZXIgPSAwOworCisJZnRyYWNlX2VuYWJsZWQgPSBzYXZlX2Z0cmFjZV9lbmFibGVkOworCWZ0cmFjZV9yZWNvcmRfc3VzcGVuZC0tOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZnRyYWNlX3VwZGF0ZV9jb2RlKHZvaWQpCit7CisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkgfHwKKwkgICAgIWZ0cmFjZV9lbmFibGVkIHx8ICFmdHJhY2VkX3RyaWdnZXIpCisJCXJldHVybiAwOworCisJc3RvcF9tYWNoaW5lX3J1bihfX2Z0cmFjZV91cGRhdGVfY29kZSwgTlVMTCwgTlJfQ1BVUyk7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBmdHJhY2VkKHZvaWQgKmlnbm9yZSkKK3sKKwl1bnNpZ25lZCBsb25nIHVzZWNzOworCisJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKKworCQlzZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVSUlVQVElCTEUpOworCisJCS8qIGNoZWNrIG9uY2UgYSBzZWNvbmQgKi8KKwkJc2NoZWR1bGVfdGltZW91dChIWik7CisKKwkJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCQljb250aW51ZTsKKworCQltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCQltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCQlpZiAoIWZ0cmFjZWRfc3VzcGVuZCAmJiAhZnRyYWNlZF9zdG9wICYmCisJCSAgICBmdHJhY2VfdXBkYXRlX2NvZGUoKSkgeworCQkJdXNlY3MgPSBuc2Vjc190b191c2VjcyhmdHJhY2VfdXBkYXRlX3RpbWUpOworCQkJaWYgKGZ0cmFjZV91cGRhdGVfdG90X2NudCA+IDEwMDAwMCkgeworCQkJCWZ0cmFjZV91cGRhdGVfdG90X2NudCA9IDA7CisJCQkJcHJfaW5mbygiaG0sIGRmdHJhY2Ugb3ZlcmZsb3c6ICVsdSBjaGFuZ2UlcyIKKwkJCQkJIiAoJWx1IHRvdGFsKSBpbiAlbHUgdXNlYyVzXG4iLAorCQkJCQlmdHJhY2VfdXBkYXRlX2NudCwKKwkJCQkJZnRyYWNlX3VwZGF0ZV9jbnQgIT0gMSA/ICJzIiA6ICIiLAorCQkJCQlmdHJhY2VfdXBkYXRlX3RvdF9jbnQsCisJCQkJCXVzZWNzLCB1c2VjcyAhPSAxID8gInMiIDogIiIpOworCQkJCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJCQkJV0FSTl9PTl9PTkNFKDEpOworCQkJfQorCQl9CisJCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKwkJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJCWZ0cmFjZV9zaHV0ZG93bl9yZXBsZW5pc2goKTsKKwl9CisJX19zZXRfY3VycmVudF9zdGF0ZShUQVNLX1JVTk5JTkcpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmdHJhY2VfZHluX3RhYmxlX2FsbG9jKHZvaWQpCit7CisJc3RydWN0IGZ0cmFjZV9wYWdlICpwZzsKKwlpbnQgY250OworCWludCBpOworCisJLyogYWxsb2NhdGUgYSBmZXcgcGFnZXMgKi8KKwlmdHJhY2VfcGFnZXNfc3RhcnQgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwlpZiAoIWZ0cmFjZV9wYWdlc19zdGFydCkKKwkJcmV0dXJuIC0xOworCisJLyoKKwkgKiBBbGxvY2F0ZSBhIGZldyBtb3JlIHBhZ2VzLgorCSAqCisJICogVE9ETzogaGF2ZSBzb21lIHBhcnNlciBzZWFyY2ggdm1saW51eCBiZWZvcmUKKwkgKiAgIGZpbmFsIGxpbmtpbmcgdG8gZmluZCBhbGwgY2FsbHMgdG8gZnRyYWNlLgorCSAqICAgVGhlbiB3ZSBjYW46CisJICogICAgYSkga25vdyBob3cgbWFueSBwYWdlcyB0byBhbGxvY2F0ZS4KKwkgKiAgICAgYW5kL29yCisJICogICAgYikgc2V0IHVwIHRoZSB0YWJsZSB0aGVuLgorCSAqCisJICogIFRoZSBkeW5hbWljIGNvZGUgaXMgc3RpbGwgbmVjZXNzYXJ5IGZvcgorCSAqICBtb2R1bGVzLgorCSAqLworCisJcGcgPSBmdHJhY2VfcGFnZXMgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisKKwljbnQgPSBOUl9UT19JTklUIC8gRU5UUklFU19QRVJfUEFHRTsKKworCWZvciAoaSA9IDA7IGkgPCBjbnQ7IGkrKykgeworCQlwZy0+bmV4dCA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCisJCS8qIElmIHdlIGZhaWwsIHdlJ2xsIHRyeSBsYXRlciBhbnl3YXkgKi8KKwkJaWYgKCFwZy0+bmV4dCkKKwkJCWJyZWFrOworCisJCXBnID0gcGctPm5leHQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2VudW0geworCUZUUkFDRV9JVEVSX0ZJTFRFUgk9ICgxIDw8IDApLAorCUZUUkFDRV9JVEVSX0NPTlQJPSAoMSA8PCAxKSwKKwlGVFJBQ0VfSVRFUl9OT1RSQUNFCT0gKDEgPDwgMiksCisJRlRSQUNFX0lURVJfRkFJTFVSRVMJPSAoMSA8PCAzKSwKK307CisKKyNkZWZpbmUgRlRSQUNFX0JVRkZfTUFYIChLU1lNX1NZTUJPTF9MRU4rNCkgLyogcm9vbSBmb3Igd2lsZGNhcmRzICovCisKK3N0cnVjdCBmdHJhY2VfaXRlcmF0b3IgeworCWxvZmZfdAkJCXBvczsKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UJKnBnOworCXVuc2lnbmVkCQlpZHg7CisJdW5zaWduZWQJCWZsYWdzOworCXVuc2lnbmVkIGNoYXIJCWJ1ZmZlcltGVFJBQ0VfQlVGRl9NQVgrMV07CisJdW5zaWduZWQJCWJ1ZmZlcl9pZHg7CisJdW5zaWduZWQJCWZpbHRlcmVkOworfTsKKworc3RhdGljIHZvaWQgKgordF9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYyA9IE5VTEw7CisKKwkoKnBvcykrKzsKKworIHJldHJ5OgorCWlmIChpdGVyLT5pZHggPj0gaXRlci0+cGctPmluZGV4KSB7CisJCWlmIChpdGVyLT5wZy0+bmV4dCkgeworCQkJaXRlci0+cGcgPSBpdGVyLT5wZy0+bmV4dDsKKwkJCWl0ZXItPmlkeCA9IDA7CisJCQlnb3RvIHJldHJ5OworCQl9CisJfSBlbHNlIHsKKwkJcmVjID0gJml0ZXItPnBnLT5yZWNvcmRzW2l0ZXItPmlkeCsrXTsKKwkJaWYgKCghKGl0ZXItPmZsYWdzICYgRlRSQUNFX0lURVJfRkFJTFVSRVMpICYmCisJCSAgICAgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKSkgfHwKKworCQkgICAgKChpdGVyLT5mbGFncyAmIEZUUkFDRV9JVEVSX0ZBSUxVUkVTKSAmJgorCQkgICAgICghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKSB8fAorCQkgICAgICAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GUkVFKSkpIHx8CisKKwkJICAgICgoaXRlci0+ZmxhZ3MgJiBGVFJBQ0VfSVRFUl9GSUxURVIpICYmCisJCSAgICAgIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZJTFRFUikpIHx8CisKKwkJICAgICgoaXRlci0+ZmxhZ3MgJiBGVFJBQ0VfSVRFUl9OT1RSQUNFKSAmJgorCQkgICAgICEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9OT1RSQUNFKSkpIHsKKwkJCXJlYyA9IE5VTEw7CisJCQlnb3RvIHJldHJ5OworCQl9CisJfQorCisJaXRlci0+cG9zID0gKnBvczsKKworCXJldHVybiByZWM7Cit9CisKK3N0YXRpYyB2b2lkICp0X3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqbSwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisJdm9pZCAqcCA9IE5VTEw7CisJbG9mZl90IGwgPSAtMTsKKworCWlmICgqcG9zICE9IGl0ZXItPnBvcykgeworCQlmb3IgKHAgPSB0X25leHQobSwgcCwgJmwpOyBwICYmIGwgPCAqcG9zOyBwID0gdF9uZXh0KG0sIHAsICZsKSkKKwkJCTsKKwl9IGVsc2UgeworCQlsID0gKnBvczsKKwkJcCA9IHRfbmV4dChtLCBwLCAmbCk7CisJfQorCisJcmV0dXJuIHA7Cit9CisKK3N0YXRpYyB2b2lkIHRfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnApCit7Cit9CisKK3N0YXRpYyBpbnQgdF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjID0gdjsKKwljaGFyIHN0cltLU1lNX1NZTUJPTF9MRU5dOworCisJaWYgKCFyZWMpCisJCXJldHVybiAwOworCisJa2FsbHN5bXNfbG9va3VwKHJlYy0+aXAsIE5VTEwsIE5VTEwsIE5VTEwsIHN0cik7CisKKwlzZXFfcHJpbnRmKG0sICIlc1xuIiwgc3RyKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHNlcV9vcGVyYXRpb25zIHNob3dfZnRyYWNlX3NlcV9vcHMgPSB7CisJLnN0YXJ0ID0gdF9zdGFydCwKKwkubmV4dCA9IHRfbmV4dCwKKwkuc3RvcCA9IHRfc3RvcCwKKwkuc2hvdyA9IHRfc2hvdywKK307CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9hdmFpbF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisJaW50IHJldDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWl0ZXIgPSBremFsbG9jKHNpemVvZigqaXRlciksIEdGUF9LRVJORUwpOworCWlmICghaXRlcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpdGVyLT5wZyA9IGZ0cmFjZV9wYWdlc19zdGFydDsKKwlpdGVyLT5wb3MgPSAtMTsKKworCXJldCA9IHNlcV9vcGVuKGZpbGUsICZzaG93X2Z0cmFjZV9zZXFfb3BzKTsKKwlpZiAoIXJldCkgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwkJbS0+cHJpdmF0ZSA9IGl0ZXI7CisJfSBlbHNlIHsKKwkJa2ZyZWUoaXRlcik7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworaW50IGZ0cmFjZV9hdmFpbF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCBzZXFfZmlsZSAqbSA9IChzdHJ1Y3Qgc2VxX2ZpbGUgKilmaWxlLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisKKwlzZXFfcmVsZWFzZShpbm9kZSwgZmlsZSk7CisJa2ZyZWUoaXRlcik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorZnRyYWNlX2ZhaWx1cmVzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJaW50IHJldDsKKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm07CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlcjsKKworCXJldCA9IGZ0cmFjZV9hdmFpbF9vcGVuKGlub2RlLCBmaWxlKTsKKwlpZiAoIXJldCkgeworCQltID0gKHN0cnVjdCBzZXFfZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YTsKKwkJaXRlciA9IChzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICopbS0+cHJpdmF0ZTsKKwkJaXRlci0+ZmxhZ3MgPSBGVFJBQ0VfSVRFUl9GQUlMVVJFUzsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9maWx0ZXJfcmVzZXQoaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UgKnBnOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisJdW5zaWduZWQgbG9uZyB0eXBlID0gZW5hYmxlID8gRlRSQUNFX0ZMX0ZJTFRFUiA6IEZUUkFDRV9GTF9OT1RSQUNFOworCXVuc2lnbmVkIGk7CisKKwkvKiBrZWVwIGtzdG9wIG1hY2hpbmUgZnJvbSBydW5uaW5nICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJaWYgKGVuYWJsZSkKKwkJZnRyYWNlX2ZpbHRlcmVkID0gMDsKKwlwZyA9IGZ0cmFjZV9wYWdlc19zdGFydDsKKwl3aGlsZSAocGcpIHsKKwkJZm9yIChpID0gMDsgaSA8IHBnLT5pbmRleDsgaSsrKSB7CisJCQlyZWMgPSAmcGctPnJlY29yZHNbaV07CisJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJY29udGludWU7CisJCQlyZWMtPmZsYWdzICY9IH50eXBlOworCQl9CisJCXBnID0gcGctPm5leHQ7CisJfQorCXByZWVtcHRfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9yZWdleF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgZW5hYmxlKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisJaW50IHJldCA9IDA7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlpdGVyID0ga3phbGxvYyhzaXplb2YoKml0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWl0ZXIpCisJCXJldHVybiAtRU5PTUVNOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCWlmICgoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpICYmCisJICAgICEoZmlsZS0+Zl9mbGFncyAmIE9fQVBQRU5EKSkKKwkJZnRyYWNlX2ZpbHRlcl9yZXNldChlbmFibGUpOworCisJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1JFQUQpIHsKKwkJaXRlci0+cGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisJCWl0ZXItPnBvcyA9IC0xOworCQlpdGVyLT5mbGFncyA9IGVuYWJsZSA/IEZUUkFDRV9JVEVSX0ZJTFRFUiA6CisJCQlGVFJBQ0VfSVRFUl9OT1RSQUNFOworCisJCXJldCA9IHNlcV9vcGVuKGZpbGUsICZzaG93X2Z0cmFjZV9zZXFfb3BzKTsKKwkJaWYgKCFyZXQpIHsKKwkJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJCW0tPnByaXZhdGUgPSBpdGVyOworCQl9IGVsc2UKKwkJCWtmcmVlKGl0ZXIpOworCX0gZWxzZQorCQlmaWxlLT5wcml2YXRlX2RhdGEgPSBpdGVyOworCW11dGV4X3VubG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludAorZnRyYWNlX2ZpbHRlcl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfb3Blbihpbm9kZSwgZmlsZSwgMSk7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9ub3RyYWNlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF9vcGVuKGlub2RlLCBmaWxlLCAwKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZV9yZWdleF9yZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfUkVBRCkKKwkJcmV0dXJuIHNlcV9yZWFkKGZpbGUsIHVidWYsIGNudCwgcHBvcyk7CisJZWxzZQorCQlyZXR1cm4gLUVQRVJNOworfQorCitzdGF0aWMgbG9mZl90CitmdHJhY2VfcmVnZXhfbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCit7CisJbG9mZl90IHJldDsKKworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKQorCQlyZXQgPSBzZXFfbHNlZWsoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCWVsc2UKKwkJZmlsZS0+Zl9wb3MgPSByZXQgPSAxOworCisJcmV0dXJuIHJldDsKK30KKworZW51bSB7CisJTUFUQ0hfRlVMTCwKKwlNQVRDSF9GUk9OVF9PTkxZLAorCU1BVENIX01JRERMRV9PTkxZLAorCU1BVENIX0VORF9PTkxZLAorfTsKKworc3RhdGljIHZvaWQKK2Z0cmFjZV9tYXRjaCh1bnNpZ25lZCBjaGFyICpidWZmLCBpbnQgbGVuLCBpbnQgZW5hYmxlKQoreworCWNoYXIgc3RyW0tTWU1fU1lNQk9MX0xFTl07CisJY2hhciAqc2VhcmNoID0gTlVMTDsKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UgKnBnOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisJaW50IHR5cGUgPSBNQVRDSF9GVUxMOworCXVuc2lnbmVkIGxvbmcgZmxhZyA9IGVuYWJsZSA/IEZUUkFDRV9GTF9GSUxURVIgOiBGVFJBQ0VfRkxfTk9UUkFDRTsKKwl1bnNpZ25lZCBpLCBtYXRjaCA9IDAsIHNlYXJjaF9sZW4gPSAwOworCisJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisJCWlmIChidWZmW2ldID09ICcqJykgeworCQkJaWYgKCFpKSB7CisJCQkJc2VhcmNoID0gYnVmZiArIGkgKyAxOworCQkJCXR5cGUgPSBNQVRDSF9FTkRfT05MWTsKKwkJCQlzZWFyY2hfbGVuID0gbGVuIC0gKGkgKyAxKTsKKwkJCX0gZWxzZSB7CisJCQkJaWYgKHR5cGUgPT0gTUFUQ0hfRU5EX09OTFkpIHsKKwkJCQkJdHlwZSA9IE1BVENIX01JRERMRV9PTkxZOworCQkJCX0gZWxzZSB7CisJCQkJCW1hdGNoID0gaTsKKwkJCQkJdHlwZSA9IE1BVENIX0ZST05UX09OTFk7CisJCQkJfQorCQkJCWJ1ZmZbaV0gPSAwOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCisJLyoga2VlcCBrc3RvcCBtYWNoaW5lIGZyb20gcnVubmluZyAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCWlmIChlbmFibGUpCisJCWZ0cmFjZV9maWx0ZXJlZCA9IDE7CisJcGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisJd2hpbGUgKHBnKSB7CisJCWZvciAoaSA9IDA7IGkgPCBwZy0+aW5kZXg7IGkrKykgeworCQkJaW50IG1hdGNoZWQgPSAwOworCQkJY2hhciAqcHRyOworCisJCQlyZWMgPSAmcGctPnJlY29yZHNbaV07CisJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJY29udGludWU7CisJCQlrYWxsc3ltc19sb29rdXAocmVjLT5pcCwgTlVMTCwgTlVMTCwgTlVMTCwgc3RyKTsKKwkJCXN3aXRjaCAodHlwZSkgeworCQkJY2FzZSBNQVRDSF9GVUxMOgorCQkJCWlmIChzdHJjbXAoc3RyLCBidWZmKSA9PSAwKQorCQkJCQltYXRjaGVkID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgTUFUQ0hfRlJPTlRfT05MWToKKwkJCQlpZiAobWVtY21wKHN0ciwgYnVmZiwgbWF0Y2gpID09IDApCisJCQkJCW1hdGNoZWQgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSBNQVRDSF9NSURETEVfT05MWToKKwkJCQlpZiAoc3Ryc3RyKHN0ciwgc2VhcmNoKSkKKwkJCQkJbWF0Y2hlZCA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlIE1BVENIX0VORF9PTkxZOgorCQkJCXB0ciA9IHN0cnN0cihzdHIsIHNlYXJjaCk7CisJCQkJaWYgKHB0ciAmJiAocHRyW3NlYXJjaF9sZW5dID09IDApKQorCQkJCQltYXRjaGVkID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmIChtYXRjaGVkKQorCQkJCXJlYy0+ZmxhZ3MgfD0gZmxhZzsKKwkJfQorCQlwZyA9IHBnLT5uZXh0OworCX0KKwlwcmVlbXB0X2VuYWJsZSgpOworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlX3JlZ2V4X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zLCBpbnQgZW5hYmxlKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisJY2hhciBjaDsKKwlzaXplX3QgcmVhZCA9IDA7CisJc3NpemVfdCByZXQ7CisKKwlpZiAoIWNudCB8fCBjbnQgPCAwKQorCQlyZXR1cm4gMDsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJaXRlciA9IG0tPnByaXZhdGU7CisJfSBlbHNlCisJCWl0ZXIgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwlpZiAoISpwcG9zKSB7CisJCWl0ZXItPmZsYWdzICY9IH5GVFJBQ0VfSVRFUl9DT05UOworCQlpdGVyLT5idWZmZXJfaWR4ID0gMDsKKwl9CisKKwlyZXQgPSBnZXRfdXNlcihjaCwgdWJ1ZisrKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZWFkKys7CisJY250LS07CisKKwlpZiAoIShpdGVyLT5mbGFncyAmIH5GVFJBQ0VfSVRFUl9DT05UKSkgeworCQkvKiBza2lwIHdoaXRlIHNwYWNlICovCisJCXdoaWxlIChjbnQgJiYgaXNzcGFjZShjaCkpIHsKKwkJCXJldCA9IGdldF91c2VyKGNoLCB1YnVmKyspOworCQkJaWYgKHJldCkKKwkJCQlnb3RvIG91dDsKKwkJCXJlYWQrKzsKKwkJCWNudC0tOworCQl9CisKKwkJaWYgKGlzc3BhY2UoY2gpKSB7CisJCQlmaWxlLT5mX3BvcyArPSByZWFkOworCQkJcmV0ID0gcmVhZDsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJaXRlci0+YnVmZmVyX2lkeCA9IDA7CisJfQorCisJd2hpbGUgKGNudCAmJiAhaXNzcGFjZShjaCkpIHsKKwkJaWYgKGl0ZXItPmJ1ZmZlcl9pZHggPCBGVFJBQ0VfQlVGRl9NQVgpCisJCQlpdGVyLT5idWZmZXJbaXRlci0+YnVmZmVyX2lkeCsrXSA9IGNoOworCQllbHNlIHsKKwkJCXJldCA9IC1FSU5WQUw7CisJCQlnb3RvIG91dDsKKwkJfQorCQlyZXQgPSBnZXRfdXNlcihjaCwgdWJ1ZisrKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gb3V0OworCQlyZWFkKys7CisJCWNudC0tOworCX0KKworCWlmIChpc3NwYWNlKGNoKSkgeworCQlpdGVyLT5maWx0ZXJlZCsrOworCQlpdGVyLT5idWZmZXJbaXRlci0+YnVmZmVyX2lkeF0gPSAwOworCQlmdHJhY2VfbWF0Y2goaXRlci0+YnVmZmVyLCBpdGVyLT5idWZmZXJfaWR4LCBlbmFibGUpOworCQlpdGVyLT5idWZmZXJfaWR4ID0gMDsKKwl9IGVsc2UKKwkJaXRlci0+ZmxhZ3MgfD0gRlRSQUNFX0lURVJfQ09OVDsKKworCisJZmlsZS0+Zl9wb3MgKz0gcmVhZDsKKworCXJldCA9IHJlYWQ7Cisgb3V0OgorCW11dGV4X3VubG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZV9maWx0ZXJfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfd3JpdGUoZmlsZSwgdWJ1ZiwgY250LCBwcG9zLCAxKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZV9ub3RyYWNlX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF93cml0ZShmaWxlLCB1YnVmLCBjbnQsIHBwb3MsIDApOworfQorCitzdGF0aWMgdm9pZAorZnRyYWNlX3NldF9yZWdleCh1bnNpZ25lZCBjaGFyICpidWYsIGludCBsZW4sIGludCByZXNldCwgaW50IGVuYWJsZSkKK3sKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCWlmIChyZXNldCkKKwkJZnRyYWNlX2ZpbHRlcl9yZXNldChlbmFibGUpOworCWlmIChidWYpCisJCWZ0cmFjZV9tYXRjaChidWYsIGxlbiwgZW5hYmxlKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKK30KKworLyoqCisgKiBmdHJhY2Vfc2V0X2ZpbHRlciAtIHNldCBhIGZ1bmN0aW9uIHRvIGZpbHRlciBvbiBpbiBmdHJhY2UKKyAqIEBidWYgLSB0aGUgc3RyaW5nIHRoYXQgaG9sZHMgdGhlIGZ1bmN0aW9uIGZpbHRlciB0ZXh0LgorICogQGxlbiAtIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZy4KKyAqIEByZXNldCAtIG5vbiB6ZXJvIHRvIHJlc2V0IGFsbCBmaWx0ZXJzIGJlZm9yZSBhcHBseWluZyB0aGlzIGZpbHRlci4KKyAqCisgKiBGaWx0ZXJzIGRlbm90ZSB3aGljaCBmdW5jdGlvbnMgc2hvdWxkIGJlIGVuYWJsZWQgd2hlbiB0cmFjaW5nIGlzIGVuYWJsZWQuCisgKiBJZiBAYnVmIGlzIE5VTEwgYW5kIHJlc2V0IGlzIHNldCwgYWxsIGZ1bmN0aW9ucyB3aWxsIGJlIGVuYWJsZWQgZm9yIHRyYWNpbmcuCisgKi8KK3ZvaWQgZnRyYWNlX3NldF9maWx0ZXIodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuLCBpbnQgcmVzZXQpCit7CisJZnRyYWNlX3NldF9yZWdleChidWYsIGxlbiwgcmVzZXQsIDEpOworfQorCisvKioKKyAqIGZ0cmFjZV9zZXRfbm90cmFjZSAtIHNldCBhIGZ1bmN0aW9uIHRvIG5vdCB0cmFjZSBpbiBmdHJhY2UKKyAqIEBidWYgLSB0aGUgc3RyaW5nIHRoYXQgaG9sZHMgdGhlIGZ1bmN0aW9uIG5vdHJhY2UgdGV4dC4KKyAqIEBsZW4gLSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuCisgKiBAcmVzZXQgLSBub24gemVybyB0byByZXNldCBhbGwgZmlsdGVycyBiZWZvcmUgYXBwbHlpbmcgdGhpcyBmaWx0ZXIuCisgKgorICogTm90cmFjZSBGaWx0ZXJzIGRlbm90ZSB3aGljaCBmdW5jdGlvbnMgc2hvdWxkIG5vdCBiZSBlbmFibGVkIHdoZW4gdHJhY2luZworICogaXMgZW5hYmxlZC4gSWYgQGJ1ZiBpcyBOVUxMIGFuZCByZXNldCBpcyBzZXQsIGFsbCBmdW5jdGlvbnMgd2lsbCBiZSBlbmFibGVkCisgKiBmb3IgdHJhY2luZy4KKyAqLwordm9pZCBmdHJhY2Vfc2V0X25vdHJhY2UodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuLCBpbnQgcmVzZXQpCit7CisJZnRyYWNlX3NldF9yZWdleChidWYsIGxlbiwgcmVzZXQsIDApOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfcmVnZXhfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSAoc3RydWN0IHNlcV9maWxlICopZmlsZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisKKwltdXRleF9sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1JFQUQpIHsKKwkJaXRlciA9IG0tPnByaXZhdGU7CisKKwkJc2VxX3JlbGVhc2UoaW5vZGUsIGZpbGUpOworCX0gZWxzZQorCQlpdGVyID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJaWYgKGl0ZXItPmJ1ZmZlcl9pZHgpIHsKKwkJaXRlci0+ZmlsdGVyZWQrKzsKKwkJaXRlci0+YnVmZmVyW2l0ZXItPmJ1ZmZlcl9pZHhdID0gMDsKKwkJZnRyYWNlX21hdGNoKGl0ZXItPmJ1ZmZlciwgaXRlci0+YnVmZmVyX2lkeCwgZW5hYmxlKTsKKwl9CisKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJaWYgKGl0ZXItPmZpbHRlcmVkICYmIGZ0cmFjZWRfc3VzcGVuZCAmJiBmdHJhY2VfZW5hYmxlZCkKKwkJZnRyYWNlX3J1bl91cGRhdGVfY29kZShGVFJBQ0VfRU5BQkxFX0NBTExTKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJa2ZyZWUoaXRlcik7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9maWx0ZXJfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X3JlbGVhc2UoaW5vZGUsIGZpbGUsIDEpOworfQorCitzdGF0aWMgaW50CitmdHJhY2Vfbm90cmFjZV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfcmVsZWFzZShpbm9kZSwgZmlsZSwgMCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2VkX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwkvKiBkb24ndCB3b3JyeSBhYm91dCByYWNlcyAqLworCWNoYXIgKmJ1ZiA9IGZ0cmFjZWRfc3RvcCA/ICJkaXNhYmxlZFxuIiA6ICJlbmFibGVkXG4iOworCWludCByID0gc3RybGVuKGJ1Zik7CisKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlZF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyIGJ1Zls2NF07CisJbG9uZyB2YWw7CisJaW50IHJldDsKKworCWlmIChjbnQgPj0gc2l6ZW9mKGJ1ZikpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJaWYgKHN0cm5jbXAoYnVmLCAiZW5hYmxlIiwgNikgPT0gMCkKKwkJdmFsID0gMTsKKwllbHNlIGlmIChzdHJuY21wKGJ1ZiwgImRpc2FibGUiLCA3KSA9PSAwKQorCQl2YWwgPSAwOworCWVsc2UgeworCQlidWZbY250XSA9IDA7CisKKwkJcmV0ID0gc3RyaWN0X3N0cnRvdWwoYnVmLCAxMCwgJnZhbCk7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKKworCQl2YWwgPSAhIXZhbDsKKwl9CisKKwlpZiAodmFsKQorCQlmdHJhY2VfZW5hYmxlX2RhZW1vbigpOworCWVsc2UKKwkJZnRyYWNlX2Rpc2FibGVfZGFlbW9uKCk7CisKKwlmaWxwLT5mX3BvcyArPSBjbnQ7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2VfYXZhaWxfZm9wcyA9IHsKKwkub3BlbiA9IGZ0cmFjZV9hdmFpbF9vcGVuLAorCS5yZWFkID0gc2VxX3JlYWQsCisJLmxsc2VlayA9IHNlcV9sc2VlaywKKwkucmVsZWFzZSA9IGZ0cmFjZV9hdmFpbF9yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZnRyYWNlX2ZhaWx1cmVzX2ZvcHMgPSB7CisJLm9wZW4gPSBmdHJhY2VfZmFpbHVyZXNfb3BlbiwKKwkucmVhZCA9IHNlcV9yZWFkLAorCS5sbHNlZWsgPSBzZXFfbHNlZWssCisJLnJlbGVhc2UgPSBmdHJhY2VfYXZhaWxfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZ0cmFjZV9maWx0ZXJfZm9wcyA9IHsKKwkub3BlbiA9IGZ0cmFjZV9maWx0ZXJfb3BlbiwKKwkucmVhZCA9IGZ0cmFjZV9yZWdleF9yZWFkLAorCS53cml0ZSA9IGZ0cmFjZV9maWx0ZXJfd3JpdGUsCisJLmxsc2VlayA9IGZ0cmFjZV9yZWdleF9sc2VlaywKKwkucmVsZWFzZSA9IGZ0cmFjZV9maWx0ZXJfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZ0cmFjZV9ub3RyYWNlX2ZvcHMgPSB7CisJLm9wZW4gPSBmdHJhY2Vfbm90cmFjZV9vcGVuLAorCS5yZWFkID0gZnRyYWNlX3JlZ2V4X3JlYWQsCisJLndyaXRlID0gZnRyYWNlX25vdHJhY2Vfd3JpdGUsCisJLmxsc2VlayA9IGZ0cmFjZV9yZWdleF9sc2VlaywKKwkucmVsZWFzZSA9IGZ0cmFjZV9ub3RyYWNlX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2VkX2ZvcHMgPSB7CisJLm9wZW4gPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZCA9IGZ0cmFjZWRfcmVhZCwKKwkud3JpdGUgPSBmdHJhY2VkX3dyaXRlLAorfTsKKworLyoqCisgKiBmdHJhY2VfZm9yY2VfdXBkYXRlIC0gZm9yY2UgYW4gdXBkYXRlIHRvIGFsbCByZWNvcmRpbmcgZnRyYWNlIGZ1bmN0aW9ucworICovCitpbnQgZnRyYWNlX2ZvcmNlX3VwZGF0ZSh2b2lkKQoreworCWludCByZXQgPSAwOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtRU5PREVWOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCisJLyoKKwkgKiBJZiBmdHJhY2VkX3RyaWdnZXIgaXMgbm90IHNldCwgdGhlbiB0aGVyZSBpcyBub3RoaW5nCisJICogdG8gdXBkYXRlLgorCSAqLworCWlmIChmdHJhY2VkX3RyaWdnZXIgJiYgIWZ0cmFjZV91cGRhdGVfY29kZSgpKQorCQlyZXQgPSAtRUJVU1k7CisKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX2ZvcmNlX3NodXRkb3duKHZvaWQpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOworCWludCBjb21tYW5kID0gRlRSQUNFX0RJU0FCTEVfQ0FMTFMgfCBGVFJBQ0VfVVBEQVRFX1RSQUNFX0ZVTkM7CisKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCXRhc2sgPSBmdHJhY2VkX3Rhc2s7CisJZnRyYWNlZF90YXNrID0gTlVMTDsKKwlmdHJhY2VkX3N1c3BlbmQgPSAtMTsKKwlmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGNvbW1hbmQpOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKworCWlmICh0YXNrKQorCQlrdGhyZWFkX3N0b3AodGFzayk7Cit9CisKK3N0YXRpYyBfX2luaXQgaW50IGZ0cmFjZV9pbml0X2RlYnVnZnModm9pZCkKK3sKKwlzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcjsKKwlzdHJ1Y3QgZGVudHJ5ICplbnRyeTsKKworCWRfdHJhY2VyID0gdHJhY2luZ19pbml0X2RlbnRyeSgpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJhdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucyIsIDA0NDQsCisJCQkJICAgIGRfdHJhY2VyLCBOVUxMLCAmZnRyYWNlX2F2YWlsX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ2F2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImZhaWx1cmVzIiwgMDQ0NCwKKwkJCQkgICAgZF90cmFjZXIsIE5VTEwsICZmdHJhY2VfZmFpbHVyZXNfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdmYWlsdXJlcycgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzZXRfZnRyYWNlX2ZpbHRlciIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmZnRyYWNlX2ZpbHRlcl9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIidzZXRfZnRyYWNlX2ZpbHRlcicgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzZXRfZnRyYWNlX25vdHJhY2UiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJmZ0cmFjZV9ub3RyYWNlX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3NldF9mdHJhY2Vfbm90cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJmdHJhY2VkX2VuYWJsZWQiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJmZ0cmFjZWRfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICInZnRyYWNlZF9lbmFibGVkJyBlbnRyeVxuIik7CisJcmV0dXJuIDA7Cit9CisKK2ZzX2luaXRjYWxsKGZ0cmFjZV9pbml0X2RlYnVnZnMpOworCitzdGF0aWMgaW50IF9faW5pdCBmdHJhY2VfZHluYW1pY19pbml0KHZvaWQpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwOworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKwlpbnQgcmV0OworCisJYWRkciA9ICh1bnNpZ25lZCBsb25nKWZ0cmFjZV9yZWNvcmRfaXA7CisKKwlzdG9wX21hY2hpbmVfcnVuKGZ0cmFjZV9keW5fYXJjaF9pbml0LCAmYWRkciwgTlJfQ1BVUyk7CisKKwkvKiBmdHJhY2VfZHluX2FyY2hfaW5pdCBwbGFjZXMgdGhlIHJldHVybiBjb2RlIGluIGFkZHIgKi8KKwlpZiAoYWRkcikgeworCQlyZXQgPSAoaW50KWFkZHI7CisJCWdvdG8gZmFpbGVkOworCX0KKworCXJldCA9IGZ0cmFjZV9keW5fdGFibGVfYWxsb2MoKTsKKwlpZiAocmV0KQorCQlnb3RvIGZhaWxlZDsKKworCXAgPSBrdGhyZWFkX3J1bihmdHJhY2VkLCBOVUxMLCAiZnRyYWNlZCIpOworCWlmIChJU19FUlIocCkpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZmFpbGVkOworCX0KKworCWxhc3RfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZCA9IDE7CisJZnRyYWNlZF90YXNrID0gcDsKKworCXJldHVybiAwOworCisgZmFpbGVkOgorCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJcmV0dXJuIHJldDsKK30KKworY29yZV9pbml0Y2FsbChmdHJhY2VfZHluYW1pY19pbml0KTsKKyNlbHNlCisjIGRlZmluZSBmdHJhY2Vfc3RhcnR1cCgpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2Vfc2h1dGRvd24oKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX3N0YXJ0dXBfc3lzY3RsKCkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX3NodXRkb3duX3N5c2N0bCgpCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9mb3JjZV9zaHV0ZG93bigpCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworLyoqCisgKiBmdHJhY2Vfa2lsbF9hdG9taWMgLSBraWxsIGZ0cmFjZSBmcm9tIGNyaXRpY2FsIHNlY3Rpb25zCisgKgorICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCBieSBwYW5pYyBjb2RlLiBJdCBzdG9wcyBmdHJhY2UKKyAqIGJ1dCBpbiBhIG5vdCBzbyBuaWNlIHdheS4gSWYgeW91IG5lZWQgdG8gc2ltcGx5IGtpbGwgZnRyYWNlCisgKiBmcm9tIGEgbm9uLWF0b21pYyBzZWN0aW9uLCB1c2UgZnRyYWNlX2tpbGwuCisgKi8KK3ZvaWQgZnRyYWNlX2tpbGxfYXRvbWljKHZvaWQpCit7CisJZnRyYWNlX2Rpc2FibGVkID0gMTsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisJZnRyYWNlZF9zdXNwZW5kID0gLTE7CisjZW5kaWYKKwljbGVhcl9mdHJhY2VfZnVuY3Rpb24oKTsKK30KKworLyoqCisgKiBmdHJhY2Vfa2lsbCAtIHRvdGFsbHkgc2h1dGRvd24gZnRyYWNlCisgKgorICogVGhpcyBpcyBhIHNhZmV0eSBtZWFzdXJlLiBJZiBzb21ldGhpbmcgd2FzIGRldGVjdGVkIHRoYXQgc2VlbXMKKyAqIHdyb25nLCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gd2lsbCBrZWVwIGZ0cmFjZSBmcm9tIGRvaW5nCisgKiBhbnkgbW9yZSBtb2RpZmljYXRpb25zLCBhbmQgdXBkYXRlcy4KKyAqIHVzZWQgd2hlbiBzb21ldGhpbmcgd2VudCB3cm9uZy4KKyAqLwordm9pZCBmdHJhY2Vfa2lsbCh2b2lkKQoreworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJZnRyYWNlX2Rpc2FibGVkID0gMTsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisKKwljbGVhcl9mdHJhY2VfZnVuY3Rpb24oKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwkvKiBUcnkgdG8gdG90YWxseSBkaXNhYmxlIGZ0cmFjZSAqLworCWZ0cmFjZV9mb3JjZV9zaHV0ZG93bigpOworfQorCisvKioKKyAqIHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbiAtIHJlZ2lzdGVyIGEgZnVuY3Rpb24gZm9yIHByb2ZpbGluZworICogQG9wcyAtIG9wcyBzdHJ1Y3R1cmUgdGhhdCBob2xkcyB0aGUgZnVuY3Rpb24gZm9yIHByb2ZpbGluZy4KKyAqCisgKiBSZWdpc3RlciBhIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBieSBhbGwgZnVuY3Rpb25zIGluIHRoZQorICoga2VybmVsLgorICoKKyAqIE5vdGU6IEBvcHMtPmZ1bmMgYW5kIGFsbCB0aGUgZnVuY3Rpb25zIGl0IGNhbGxzIG11c3QgYmUgbGFiZWxlZAorICogICAgICAgd2l0aCAibm90cmFjZSIsIG90aGVyd2lzZSBpdCB3aWxsIGdvIGludG8gYQorICogICAgICAgcmVjdXJzaXZlIGxvb3AuCisgKi8KK2ludCByZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcykKK3sKKwlpbnQgcmV0OworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtMTsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJcmV0ID0gX19yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24ob3BzKTsKKwlmdHJhY2Vfc3RhcnR1cCgpOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qKgorICogdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24gLSB1bnJlc2dpc3RlciBhIGZ1bmN0aW9uIGZvciBwcm9maWxpbmcuCisgKiBAb3BzIC0gb3BzIHN0cnVjdHVyZSB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvbiB0byB1bnJlZ2lzdGVyCisgKgorICogVW5yZWdpc3RlciBhIGZ1bmN0aW9uIHRoYXQgd2FzIGFkZGVkIHRvIGJlIGNhbGxlZCBieSBmdHJhY2UgcHJvZmlsaW5nLgorICovCitpbnQgdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcykKK3sKKwlpbnQgcmV0OworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwlyZXQgPSBfX3VucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKG9wcyk7CisJZnRyYWNlX3NodXRkb3duKCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworaW50CitmdHJhY2VfZW5hYmxlX3N5c2N0bChzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLAorCQkgICAgIHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgKmxlbnAsCisJCSAgICAgbG9mZl90ICpwcG9zKQoreworCWludCByZXQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJcmV0ICA9IHByb2NfZG9pbnR2ZWModGFibGUsIHdyaXRlLCBmaWxlLCBidWZmZXIsIGxlbnAsIHBwb3MpOworCisJaWYgKHJldCB8fCAhd3JpdGUgfHwgKGxhc3RfZnRyYWNlX2VuYWJsZWQgPT0gZnRyYWNlX2VuYWJsZWQpKQorCQlnb3RvIG91dDsKKworCWxhc3RfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZDsKKworCWlmIChmdHJhY2VfZW5hYmxlZCkgeworCisJCWZ0cmFjZV9zdGFydHVwX3N5c2N0bCgpOworCisJCS8qIHdlIGFyZSBzdGFydGluZyBmdHJhY2UgYWdhaW4gKi8KKwkJaWYgKGZ0cmFjZV9saXN0ICE9ICZmdHJhY2VfbGlzdF9lbmQpIHsKKwkJCWlmIChmdHJhY2VfbGlzdC0+bmV4dCA9PSAmZnRyYWNlX2xpc3RfZW5kKQorCQkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9saXN0LT5mdW5jOworCQkJZWxzZQorCQkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9saXN0X2Z1bmM7CisJCX0KKworCX0gZWxzZSB7CisJCS8qIHN0b3BwaW5nIGZ0cmFjZSBjYWxscyAoanVzdCBzZW5kIHRvIGZ0cmFjZV9zdHViKSAqLworCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2Vfc3R1YjsKKworCQlmdHJhY2Vfc2h1dGRvd25fc3lzY3RsKCk7CisJfQorCisgb3V0OgorCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjhlMTIxCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlLmMKQEAgLTAsMCArMSwzMTYxIEBACisvKgorICogcmluZyBidWZmZXIgYmFzZWQgZnVuY3Rpb24gdHJhY2VyCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogT3JpZ2luYWxseSB0YWtlbiBmcm9tIHRoZSBSVCBwYXRjaCBieToKKyAqICAgIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUByZWRoYXQuY29tPgorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSB0aGUgbGF0ZW5jeV90cmFjZXIsIHRoYXQgaXM6CisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgSW5nbyBNb2xuYXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgV2lsbGlhbSBMZWUgSXJ3aW4gSUlJCisgKi8KKyNpbmNsdWRlIDxsaW51eC91dHNyZWxlYXNlLmg+CisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+CisjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgorI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPGxpbnV4L2dmcC5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgorCisjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKwordW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5CXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAoY3ljbGVfdClVTE9OR19NQVg7Cit1bnNpZ25lZCBsb25nIF9fcmVhZF9tb3N0bHkJdHJhY2luZ190aHJlc2g7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fcmVhZF9tb3N0bHkJdHJhY2luZ19ucl9idWZmZXJzOworc3RhdGljIGNwdW1hc2tfdCBfX3JlYWRfbW9zdGx5CQl0cmFjaW5nX2J1ZmZlcl9tYXNrOworCisjZGVmaW5lIGZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkJXAorCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgdHJhY2luZ19idWZmZXJfbWFzaykKKworc3RhdGljIGludCB0cmFjZV9hbGxvY19wYWdlKHZvaWQpOworc3RhdGljIGludCB0cmFjZV9mcmVlX3BhZ2Uodm9pZCk7CisKK3N0YXRpYyBpbnQgdHJhY2luZ19kaXNhYmxlZCA9IDE7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkOworCitsb25nCituczJ1c2VjcyhjeWNsZV90IG5zZWMpCit7CisJbnNlYyArPSA1MDA7CisJZG9fZGl2KG5zZWMsIDEwMDApOworCXJldHVybiBuc2VjOworfQorCitjeWNsZV90IGZ0cmFjZV9ub3coaW50IGNwdSkKK3sKKwlyZXR1cm4gY3B1X2Nsb2NrKGNwdSk7Cit9CisKKy8qCisgKiBUaGUgZ2xvYmFsX3RyYWNlIGlzIHRoZSBkZXNjcmlwdG9yIHRoYXQgaG9sZHMgdGhlIHRyYWNpbmcKKyAqIGJ1ZmZlcnMgZm9yIHRoZSBsaXZlIHRyYWNpbmcuIEZvciBlYWNoIENQVSwgaXQgY29udGFpbnMKKyAqIGEgbGluayBsaXN0IG9mIHBhZ2VzIHRoYXQgd2lsbCBzdG9yZSB0cmFjZSBlbnRyaWVzLiBUaGUKKyAqIHBhZ2UgZGVzY3JpcHRvciBvZiB0aGUgcGFnZXMgaW4gdGhlIG1lbW9yeSBpcyB1c2VkIHRvIGhvbGQKKyAqIHRoZSBsaW5rIGxpc3QgYnkgbGlua2luZyB0aGUgbHJ1IGl0ZW0gaW4gdGhlIHBhZ2UgZGVzY3JpcHRvcgorICogdG8gZWFjaCBvZiB0aGUgcGFnZXMgaW4gdGhlIGJ1ZmZlciBwZXIgQ1BVLgorICoKKyAqIEZvciBlYWNoIGFjdGl2ZSBDUFUgdGhlcmUgaXMgYSBkYXRhIGZpZWxkIHRoYXQgaG9sZHMgdGhlCisgKiBwYWdlcyBmb3IgdGhlIGJ1ZmZlciBmb3IgdGhhdCBDUFUuIEVhY2ggQ1BVIGhhcyB0aGUgc2FtZSBudW1iZXIKKyAqIG9mIHBhZ2VzIGFsbG9jYXRlZCBmb3IgaXRzIGJ1ZmZlci4KKyAqLworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQlnbG9iYWxfdHJhY2U7CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1LCBnbG9iYWxfdHJhY2VfY3B1KTsKKworLyoKKyAqIFRoZSBtYXhfdHIgaXMgdXNlZCB0byBzbmFwc2hvdCB0aGUgZ2xvYmFsX3RyYWNlIHdoZW4gYSBtYXhpbXVtCisgKiBsYXRlbmN5IGlzIHJlYWNoZWQuIFNvbWUgdHJhY2VycyB3aWxsIHVzZSB0aGlzIHRvIHN0b3JlIGEgbWF4aW11bQorICogdHJhY2Ugd2hpbGUgaXQgY29udGludWVzIGV4YW1pbmluZyBsaXZlIHRyYWNlcy4KKyAqCisgKiBUaGUgYnVmZmVycyBmb3IgdGhlIG1heF90ciBhcmUgc2V0IHVwIHRoZSBzYW1lIGFzIHRoZSBnbG9iYWxfdHJhY2UuCisgKiBXaGVuIGEgc25hcHNob3QgaXMgdGFrZW4sIHRoZSBsaW5rIGxpc3Qgb2YgdGhlIG1heF90ciBpcyBzd2FwcGVkCisgKiB3aXRoIHRoZSBsaW5rIGxpc3Qgb2YgdGhlIGdsb2JhbF90cmFjZSBhbmQgdGhlIGJ1ZmZlcnMgYXJlIHJlc2V0IGZvcgorICogdGhlIGdsb2JhbF90cmFjZSBzbyB0aGUgdHJhY2luZyBjYW4gY29udGludWUuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJbWF4X3RyOworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRyYWNlX2FycmF5X2NwdSwgbWF4X2RhdGEpOworCisvKiB0cmFjZXJfZW5hYmxlZCBpcyB1c2VkIHRvIHRvZ2dsZSBhY3RpdmF0aW9uIG9mIGEgdHJhY2VyICovCitzdGF0aWMgaW50CQkJdHJhY2VyX2VuYWJsZWQgPSAxOworCisvKiBmdW5jdGlvbiB0cmFjaW5nIGVuYWJsZWQgKi8KK2ludAkJCQlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZDsKKworLyoKKyAqIHRyYWNlX25yX2VudHJpZXMgaXMgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoYXQgaXMgYWxsb2NhdGVkCisgKiBmb3IgYSBidWZmZXIuIE5vdGUsIHRoZSBudW1iZXIgb2YgZW50cmllcyBpcyBhbHdheXMgcm91bmRlZAorICogdG8gRU5UUklFU19QRVJfUEFHRS4KKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcJCXRyYWNlX25yX2VudHJpZXMgPSA2NTUzNlVMOworCisvKiB0cmFjZV90eXBlcyBob2xkcyBhIGxpbmsgbGlzdCBvZiBhdmFpbGFibGUgdHJhY2Vycy4gKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyCQkqdHJhY2VfdHlwZXMgX19yZWFkX21vc3RseTsKKworLyogY3VycmVudF90cmFjZSBwb2ludHMgdG8gdGhlIHRyYWNlciB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmUgKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyCQkqY3VycmVudF90cmFjZSBfX3JlYWRfbW9zdGx5OworCisvKgorICogbWF4X3RyYWNlcl90eXBlX2xlbiBpcyB1c2VkIHRvIHNpbXBsaWZ5IHRoZSBhbGxvY2F0aW5nIG9mCisgKiBidWZmZXJzIHRvIHJlYWQgdXNlcnNwYWNlIHRyYWNlciBuYW1lcy4gV2Uga2VlcCB0cmFjayBvZgorICogdGhlIGxvbmdlc3QgdHJhY2VyIG5hbWUgcmVnaXN0ZXJlZC4KKyAqLworc3RhdGljIGludAkJCW1heF90cmFjZXJfdHlwZV9sZW47CisKKy8qCisgKiB0cmFjZV90eXBlc19sb2NrIGlzIHVzZWQgdG8gcHJvdGVjdCB0aGUgdHJhY2VfdHlwZXMgbGlzdC4KKyAqIFRoaXMgbG9jayBpcyBhbHNvIHVzZWQgdG8ga2VlcCB1c2VyIGFjY2VzcyBzZXJpYWxpemVkLgorICogQWNjZXNzZXMgZnJvbSB1c2Vyc3BhY2Ugd2lsbCBncmFiIHRoaXMgbG9jayB3aGlsZSB1c2Vyc3BhY2UKKyAqIGFjdGl2aXRpZXMgaGFwcGVuIGluc2lkZSB0aGUga2VybmVsLgorICovCitzdGF0aWMgREVGSU5FX01VVEVYKHRyYWNlX3R5cGVzX2xvY2spOworCisvKiB0cmFjZV93YWl0IGlzIGEgd2FpdHF1ZXVlIGZvciB0YXNrcyBibG9ja2VkIG9uIHRyYWNlX3BvbGwgKi8KK3N0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRCh0cmFjZV93YWl0KTsKKworLyogdHJhY2VfZmxhZ3MgaG9sZHMgaXRlcl9jdHJsIG9wdGlvbnMgKi8KK3Vuc2lnbmVkIGxvbmcgdHJhY2VfZmxhZ3MgPSBUUkFDRV9JVEVSX1BSSU5UX1BBUkVOVDsKKworc3RhdGljIG5vdHJhY2Ugdm9pZCBub190cmFjZV9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMDsKKwlpZih0ci0+Y3RybCkKKwkJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCisJCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworCXRyYWNlcl9lbmFibGVkID0gMDsKK30KKworLyogZHVtbXkgdHJhY2UgdG8gZGlzYWJsZSB0cmFjaW5nICovCitzdGF0aWMgc3RydWN0IHRyYWNlciBub190cmFjZXIgX19yZWFkX21vc3RseSA9IHsKKwkubmFtZQkJPSAibm9uZSIsCisJLmluaXQJCT0gbm9fdHJhY2VfaW5pdAorfTsKKworCisvKioKKyAqIHRyYWNlX3dha2VfdXAgLSB3YWtlIHVwIHRhc2tzIHdhaXRpbmcgZm9yIHRyYWNlIGlucHV0CisgKgorICogU2ltcGx5IHdha2VzIHVwIGFueSB0YXNrIHRoYXQgaXMgYmxvY2tlZCBvbiB0aGUgdHJhY2Vfd2FpdAorICogcXVldWUuIFRoZXNlIGlzIHVzZWQgd2l0aCB0cmFjZV9wb2xsIGZvciB0YXNrcyBwb2xsaW5nIHRoZSB0cmFjZS4KKyAqLwordm9pZCB0cmFjZV93YWtlX3VwKHZvaWQpCit7CisJLyoKKwkgKiBUaGUgcnVucXVldWVfaXNfbG9ja2VkKCkgY2FuIGZhaWwsIGJ1dCB0aGlzIGlzIHRoZSBiZXN0IHdlCisJICogaGF2ZSBmb3Igbm93OgorCSAqLworCWlmICghKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9CTE9DSykgJiYgIXJ1bnF1ZXVlX2lzX2xvY2tlZCgpKQorCQl3YWtlX3VwKCZ0cmFjZV93YWl0KTsKK30KKworI2RlZmluZSBFTlRSSUVTX1BFUl9QQUdFIChQQUdFX1NJWkUgLyBzaXplb2Yoc3RydWN0IHRyYWNlX2VudHJ5KSkKKworc3RhdGljIGludCBfX2luaXQgc2V0X25yX2VudHJpZXMoY2hhciAqc3RyKQoreworCXVuc2lnbmVkIGxvbmcgbnJfZW50cmllczsKKwlpbnQgcmV0OworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCXJldCA9IHN0cmljdF9zdHJ0b3VsKHN0ciwgMCwgJm5yX2VudHJpZXMpOworCS8qIG5yX2VudHJpZXMgY2FuIG5vdCBiZSB6ZXJvICovCisJaWYgKHJldCA8IDAgfHwgbnJfZW50cmllcyA9PSAwKQorCQlyZXR1cm4gMDsKKwl0cmFjZV9ucl9lbnRyaWVzID0gbnJfZW50cmllczsKKwlyZXR1cm4gMTsKK30KK19fc2V0dXAoInRyYWNlX2VudHJpZXM9Iiwgc2V0X25yX2VudHJpZXMpOworCit1bnNpZ25lZCBsb25nIG5zZWNzX3RvX3VzZWNzKHVuc2lnbmVkIGxvbmcgbnNlY3MpCit7CisJcmV0dXJuIG5zZWNzIC8gMTAwMDsKK30KKworLyoKKyAqIHRyYWNlX2ZsYWdfdHlwZSBpcyBhbiBlbnVtZXJhdGlvbiB0aGF0IGhvbGRzIGRpZmZlcmVudAorICogc3RhdGVzIHdoZW4gYSB0cmFjZSBvY2N1cnMuIFRoZXNlIGFyZToKKyAqICBJUlFTX09GRgktIGludGVycnVwdHMgd2VyZSBkaXNhYmxlZAorICogIE5FRURfUkVTQ0VEIC0gcmVzY2hlZHVsZSBpcyByZXF1ZXN0ZWQKKyAqICBIQVJESVJRCS0gaW5zaWRlIGFuIGludGVycnVwdCBoYW5kbGVyCisgKiAgU09GVElSUQktIGluc2lkZSBhIHNvZnRpcnEgaGFuZGxlcgorICovCitlbnVtIHRyYWNlX2ZsYWdfdHlwZSB7CisJVFJBQ0VfRkxBR19JUlFTX09GRgkJPSAweDAxLAorCVRSQUNFX0ZMQUdfTkVFRF9SRVNDSEVECQk9IDB4MDIsCisJVFJBQ0VfRkxBR19IQVJESVJRCQk9IDB4MDQsCisJVFJBQ0VfRkxBR19TT0ZUSVJRCQk9IDB4MDgsCit9OworCisvKgorICogVFJBQ0VfSVRFUl9TWU1fTUFTSyBtYXNrcyB0aGUgb3B0aW9ucyBpbiB0cmFjZV9mbGFncyB0aGF0CisgKiBjb250cm9sIHRoZSBvdXRwdXQgb2Yga2VybmVsIHN5bWJvbHMuCisgKi8KKyNkZWZpbmUgVFJBQ0VfSVRFUl9TWU1fTUFTSyBcCisJKFRSQUNFX0lURVJfUFJJTlRfUEFSRU5UfFRSQUNFX0lURVJfU1lNX09GRlNFVHxUUkFDRV9JVEVSX1NZTV9BRERSKQorCisvKiBUaGVzZSBtdXN0IG1hdGNoIHRoZSBiaXQgcG9zdGlvbnMgaW4gdHJhY2VfaXRlcmF0b3JfZmxhZ3MgKi8KK3N0YXRpYyBjb25zdCBjaGFyICp0cmFjZV9vcHRpb25zW10gPSB7CisJInByaW50LXBhcmVudCIsCisJInN5bS1vZmZzZXQiLAorCSJzeW0tYWRkciIsCisJInZlcmJvc2UiLAorCSJyYXciLAorCSJoZXgiLAorCSJiaW4iLAorCSJibG9jayIsCisJInN0YWNrdHJhY2UiLAorCSJzY2hlZC10cmVlIiwKKwlOVUxMCit9OworCisvKgorICogZnRyYWNlX21heF9sb2NrIGlzIHVzZWQgdG8gcHJvdGVjdCB0aGUgc3dhcHBpbmcgb2YgYnVmZmVycworICogd2hlbiB0YWtpbmcgYSBtYXggc25hcHNob3QuIFRoZSBidWZmZXJzIHRoZW1zZWx2ZXMgYXJlCisgKiBwcm90ZWN0ZWQgYnkgcGVyX2NwdSBzcGlubG9ja3MuIEJ1dCB0aGUgYWN0aW9uIG9mIHRoZSBzd2FwCisgKiBuZWVkcyBpdHMgb3duIGxvY2suCisgKgorICogVGhpcyBpcyBkZWZpbmVkIGFzIGEgcmF3X3NwaW5sb2NrX3QgaW4gb3JkZXIgdG8gaGVscAorICogd2l0aCBwZXJmb3JtYW5jZSB3aGVuIGxvY2tkZXAgZGVidWdnaW5nIGlzIGVuYWJsZWQuCisgKi8KK3N0YXRpYyByYXdfc3BpbmxvY2tfdCBmdHJhY2VfbWF4X2xvY2sgPQorCShyYXdfc3BpbmxvY2tfdClfX1JBV19TUElOX0xPQ0tfVU5MT0NLRUQ7CisKKy8qCisgKiBDb3B5IHRoZSBuZXcgbWF4aW11bSB0cmFjZSBpbnRvIHRoZSBzZXBhcmF0ZSBtYXhpbXVtLXRyYWNlCisgKiBzdHJ1Y3R1cmUuICh0aGlzIHdheSB0aGUgbWF4aW11bSB0cmFjZSBpcyBwZXJtYW5lbnRseSBzYXZlZCwKKyAqIGZvciBsYXRlciByZXRyaWV2YWwgdmlhIC9kZWJ1Z2ZzL3RyYWNpbmcvbGF0ZW5jeV90cmFjZSkKKyAqLworc3RhdGljIHZvaWQKK19fdXBkYXRlX21heF90cihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gdHItPmRhdGFbY3B1XTsKKworCW1heF90ci5jcHUgPSBjcHU7CisJbWF4X3RyLnRpbWVfc3RhcnQgPSBkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcDsKKworCWRhdGEgPSBtYXhfdHIuZGF0YVtjcHVdOworCWRhdGEtPnNhdmVkX2xhdGVuY3kgPSB0cmFjaW5nX21heF9sYXRlbmN5OworCisJbWVtY3B5KGRhdGEtPmNvbW0sIHRzay0+Y29tbSwgVEFTS19DT01NX0xFTik7CisJZGF0YS0+cGlkID0gdHNrLT5waWQ7CisJZGF0YS0+dWlkID0gdHNrLT51aWQ7CisJZGF0YS0+bmljZSA9IHRzay0+c3RhdGljX3ByaW8gLSAyMCAtIE1BWF9SVF9QUklPOworCWRhdGEtPnBvbGljeSA9IHRzay0+cG9saWN5OworCWRhdGEtPnJ0X3ByaW9yaXR5ID0gdHNrLT5ydF9wcmlvcml0eTsKKworCS8qIHJlY29yZCB0aGlzIHRhc2tzIGNvbW0gKi8KKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKGN1cnJlbnQpOworfQorCisjZGVmaW5lIENIRUNLX0NPTkQoY29uZCkJCQlcCisJaWYgKHVubGlrZWx5KGNvbmQpKSB7CQkJXAorCQl0cmFjaW5nX2Rpc2FibGVkID0gMTsJCVwKKwkJV0FSTl9PTigxKTsJCQlcCisJCXJldHVybiAtMTsJCQlcCisJfQorCisvKioKKyAqIGNoZWNrX3BhZ2VzIC0gaW50ZWdyaXR5IGNoZWNrIG9mIHRyYWNlIGJ1ZmZlcnMKKyAqCisgKiBBcyBhIHNhZnR5IG1lYXN1cmUgd2UgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBkYXRhIHBhZ2VzIGhhdmUgbm90CisgKiBiZWVuIGNvcnJ1cHRlZC4KKyAqLworaW50IGNoZWNrX3BhZ2VzKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJc3RydWN0IHBhZ2UgKnBhZ2UsICp0bXA7CisKKwlDSEVDS19DT05EKGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQtPnByZXYgIT0gJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwlDSEVDS19DT05EKGRhdGEtPnRyYWNlX3BhZ2VzLnByZXYtPm5leHQgIT0gJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwYWdlLCB0bXAsICZkYXRhLT50cmFjZV9wYWdlcywgbHJ1KSB7CisJCUNIRUNLX0NPTkQocGFnZS0+bHJ1Lm5leHQtPnByZXYgIT0gJnBhZ2UtPmxydSk7CisJCUNIRUNLX0NPTkQocGFnZS0+bHJ1LnByZXYtPm5leHQgIT0gJnBhZ2UtPmxydSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogaGVhZF9wYWdlIC0gcGFnZSBhZGRyZXNzIG9mIHRoZSBmaXJzdCBwYWdlIGluIHBlcl9jcHUgYnVmZmVyLgorICoKKyAqIGhlYWRfcGFnZSByZXR1cm5zIHRoZSBwYWdlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IHBhZ2UgaW4KKyAqIGEgcGVyX2NwdSBidWZmZXIuIFRoaXMgYWxzbyBwcmVmb3JtcyB2YXJpb3VzIGNvbnNpc3RlbmN5CisgKiBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBidWZmZXIgaGFzIG5vdCBiZWVuIGNvcnJ1cHRlZC4KKyAqLwordm9pZCAqaGVhZF9wYWdlKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisKKwlpZiAobGlzdF9lbXB0eSgmZGF0YS0+dHJhY2VfcGFnZXMpKQorCQlyZXR1cm4gTlVMTDsKKworCXBhZ2UgPSBsaXN0X2VudHJ5KGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCUJVR19PTigmcGFnZS0+bHJ1ID09ICZkYXRhLT50cmFjZV9wYWdlcyk7CisKKwlyZXR1cm4gcGFnZV9hZGRyZXNzKHBhZ2UpOworfQorCisvKioKKyAqIHRyYWNlX3NlcV9wcmludGYgLSBzZXF1ZW5jZSBwcmludGluZyBvZiB0cmFjZSBpbmZvcm1hdGlvbgorICogQHM6IHRyYWNlIHNlcXVlbmNlIGRlc2NyaXB0b3IKKyAqIEBmbXQ6IHByaW50ZiBmb3JtYXQgc3RyaW5nCisgKgorICogVGhlIHRyYWNlciBtYXkgdXNlIGVpdGhlciBzZXF1ZW5jZSBvcGVyYXRpb25zIG9yIGl0cyBvd24KKyAqIGNvcHkgdG8gdXNlciByb3V0aW5lcy4gVG8gc2ltcGxpZnkgZm9ybWF0aW5nIG9mIGEgdHJhY2UKKyAqIHRyYWNlX3NlcV9wcmludGYgaXMgdXNlZCB0byBzdG9yZSBzdHJpbmdzIGludG8gYSBzcGVjaWFsCisgKiBidWZmZXIgKEBzKS4gVGhlbiB0aGUgb3V0cHV0IG1heSBiZSBlaXRoZXIgdXNlZCBieQorICogdGhlIHNlcXVlbmNlciBvciBwdWxsZWQgaW50byBhbm90aGVyIGJ1ZmZlci4KKyAqLworaW50Cit0cmFjZV9zZXFfcHJpbnRmKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCWludCBsZW4gPSAoUEFHRV9TSVpFIC0gMSkgLSBzLT5sZW47CisJdmFfbGlzdCBhcDsKKwlpbnQgcmV0OworCisJaWYgKCFsZW4pCisJCXJldHVybiAwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJcmV0ID0gdnNucHJpbnRmKHMtPmJ1ZmZlciArIHMtPmxlbiwgbGVuLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCisJLyogSWYgd2UgY2FuJ3Qgd3JpdGUgaXQgYWxsLCBkb24ndCBib3RoZXIgd3JpdGluZyBhbnl0aGluZyAqLworCWlmIChyZXQgPj0gbGVuKQorCQlyZXR1cm4gMDsKKworCXMtPmxlbiArPSByZXQ7CisKKwlyZXR1cm4gbGVuOworfQorCisvKioKKyAqIHRyYWNlX3NlcV9wdXRzIC0gdHJhY2Ugc2VxdWVuY2UgcHJpbnRpbmcgb2Ygc2ltcGxlIHN0cmluZworICogQHM6IHRyYWNlIHNlcXVlbmNlIGRlc2NyaXB0b3IKKyAqIEBzdHI6IHNpbXBsZSBzdHJpbmcgdG8gcmVjb3JkCisgKgorICogVGhlIHRyYWNlciBtYXkgdXNlIGVpdGhlciB0aGUgc2VxdWVuY2Ugb3BlcmF0aW9ucyBvciBpdHMgb3duCisgKiBjb3B5IHRvIHVzZXIgcm91dGluZXMuIFRoaXMgZnVuY3Rpb24gcmVjb3JkcyBhIHNpbXBsZSBzdHJpbmcKKyAqIGludG8gYSBzcGVjaWFsIGJ1ZmZlciAoQHMpIGZvciBsYXRlciByZXRyaWV2YWwgYnkgYSBzZXF1ZW5jZXIKKyAqIG9yIG90aGVyIG1lY2hhbmlzbS4KKyAqLworc3RhdGljIGludAordHJhY2Vfc2VxX3B1dHMoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqc3RyKQoreworCWludCBsZW4gPSBzdHJsZW4oc3RyKTsKKworCWlmIChsZW4gPiAoKFBBR0VfU0laRSAtIDEpIC0gcy0+bGVuKSkKKwkJcmV0dXJuIDA7CisKKwltZW1jcHkocy0+YnVmZmVyICsgcy0+bGVuLCBzdHIsIGxlbik7CisJcy0+bGVuICs9IGxlbjsKKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBpbnQKK3RyYWNlX3NlcV9wdXRjKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHVuc2lnbmVkIGNoYXIgYykKK3sKKwlpZiAocy0+bGVuID49IChQQUdFX1NJWkUgLSAxKSkKKwkJcmV0dXJuIDA7CisKKwlzLT5idWZmZXJbcy0+bGVuKytdID0gYzsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50Cit0cmFjZV9zZXFfcHV0bWVtKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHZvaWQgKm1lbSwgc2l6ZV90IGxlbikKK3sKKwlpZiAobGVuID4gKChQQUdFX1NJWkUgLSAxKSAtIHMtPmxlbikpCisJCXJldHVybiAwOworCisJbWVtY3B5KHMtPmJ1ZmZlciArIHMtPmxlbiwgbWVtLCBsZW4pOworCXMtPmxlbiArPSBsZW47CisKKwlyZXR1cm4gbGVuOworfQorCisjZGVmaW5lIEhFWF9DSEFSUyAxNworc3RhdGljIGNvbnN0IGNoYXIgaGV4MmFzY1tdID0gIjAxMjM0NTY3ODlhYmNkZWYiOworCitzdGF0aWMgaW50Cit0cmFjZV9zZXFfcHV0bWVtX2hleChzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB2b2lkICptZW0sIHNpemVfdCBsZW4pCit7CisJdW5zaWduZWQgY2hhciBoZXhbSEVYX0NIQVJTXTsKKwl1bnNpZ25lZCBjaGFyICpkYXRhID0gbWVtOworCXVuc2lnbmVkIGNoYXIgYnl0ZTsKKwlpbnQgaSwgajsKKworCUJVR19PTihsZW4gPj0gSEVYX0NIQVJTKTsKKworI2lmZGVmIF9fQklHX0VORElBTgorCWZvciAoaSA9IDAsIGogPSAwOyBpIDwgbGVuOyBpKyspIHsKKyNlbHNlCisJZm9yIChpID0gbGVuLTEsIGogPSAwOyBpID49IDA7IGktLSkgeworI2VuZGlmCisJCWJ5dGUgPSBkYXRhW2ldOworCisJCWhleFtqKytdID0gaGV4MmFzY1tieXRlICYgMHgwZl07CisJCWhleFtqKytdID0gaGV4MmFzY1tieXRlID4+IDRdOworCX0KKwloZXhbaisrXSA9ICcgJzsKKworCXJldHVybiB0cmFjZV9zZXFfcHV0bWVtKHMsIGhleCwgaik7Cit9CisKK3N0YXRpYyB2b2lkCit0cmFjZV9zZXFfcmVzZXQoc3RydWN0IHRyYWNlX3NlcSAqcykKK3sKKwlzLT5sZW4gPSAwOworCXMtPnJlYWRwb3MgPSAwOworfQorCitzc2l6ZV90IHRyYWNlX3NlcV90b191c2VyKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNoYXIgX191c2VyICp1YnVmLCBzaXplX3QgY250KQoreworCWludCBsZW47CisJaW50IHJldDsKKworCWlmIChzLT5sZW4gPD0gcy0+cmVhZHBvcykKKwkJcmV0dXJuIC1FQlVTWTsKKworCWxlbiA9IHMtPmxlbiAtIHMtPnJlYWRwb3M7CisJaWYgKGNudCA+IGxlbikKKwkJY250ID0gbGVuOworCXJldCA9IGNvcHlfdG9fdXNlcih1YnVmLCBzLT5idWZmZXIgKyBzLT5yZWFkcG9zLCBjbnQpOworCWlmIChyZXQpCisJCXJldHVybiAtRUZBVUxUOworCisJcy0+cmVhZHBvcyArPSBsZW47CisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHZvaWQKK3RyYWNlX3ByaW50X3NlcShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCB0cmFjZV9zZXEgKnMpCit7CisJaW50IGxlbiA9IHMtPmxlbiA+PSBQQUdFX1NJWkUgPyBQQUdFX1NJWkUgLSAxIDogcy0+bGVuOworCisJcy0+YnVmZmVyW2xlbl0gPSAwOworCXNlcV9wdXRzKG0sIHMtPmJ1ZmZlcik7CisKKwl0cmFjZV9zZXFfcmVzZXQocyk7Cit9CisKKy8qCisgKiBmbGlwIHRoZSB0cmFjZSBidWZmZXJzIGJldHdlZW4gdHdvIHRyYWNlIGRlc2NyaXB0b3JzLgorICogVGhpcyB1c3VhbGx5IGlzIHRoZSBidWZmZXJzIGJldHdlZW4gdGhlIGdsb2JhbF90cmFjZSBhbmQKKyAqIHRoZSBtYXhfdHIgdG8gcmVjb3JkIGEgc25hcHNob3Qgb2YgYSBjdXJyZW50IHRyYWNlLgorICoKKyAqIFRoZSBmdHJhY2VfbWF4X2xvY2sgbXVzdCBiZSBoZWxkLgorICovCitzdGF0aWMgdm9pZAorZmxpcF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICp0cjEsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKnRyMikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkIGZsaXBfcGFnZXM7CisKKwlJTklUX0xJU1RfSEVBRCgmZmxpcF9wYWdlcyk7CisKKwltZW1jcHkoJnRyMS0+dHJhY2VfaGVhZF9pZHgsICZ0cjItPnRyYWNlX2hlYWRfaWR4LAorCQlzaXplb2Yoc3RydWN0IHRyYWNlX2FycmF5X2NwdSkgLQorCQlvZmZzZXRvZihzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1LCB0cmFjZV9oZWFkX2lkeCkpOworCisJY2hlY2tfcGFnZXModHIxKTsKKwljaGVja19wYWdlcyh0cjIpOworCWxpc3Rfc3BsaWNlX2luaXQoJnRyMS0+dHJhY2VfcGFnZXMsICZmbGlwX3BhZ2VzKTsKKwlsaXN0X3NwbGljZV9pbml0KCZ0cjItPnRyYWNlX3BhZ2VzLCAmdHIxLT50cmFjZV9wYWdlcyk7CisJbGlzdF9zcGxpY2VfaW5pdCgmZmxpcF9wYWdlcywgJnRyMi0+dHJhY2VfcGFnZXMpOworCUJVR19PTighbGlzdF9lbXB0eSgmZmxpcF9wYWdlcykpOworCWNoZWNrX3BhZ2VzKHRyMSk7CisJY2hlY2tfcGFnZXModHIyKTsKK30KKworLyoqCisgKiB1cGRhdGVfbWF4X3RyIC0gc25hcHNob3QgYWxsIHRyYWNlIGJ1ZmZlcnMgZnJvbSBnbG9iYWxfdHJhY2UgdG8gbWF4X3RyCisgKiBAdHI6IHRyYWNlcgorICogQHRzazogdGhlIHRhc2sgd2l0aCB0aGUgbGF0ZW5jeQorICogQGNwdTogVGhlIGNwdSB0aGF0IGluaXRpYXRlZCB0aGUgdHJhY2UuCisgKgorICogRmxpcCB0aGUgYnVmZmVycyBiZXR3ZWVuIHRoZSBAdHIgYW5kIHRoZSBtYXhfdHIgYW5kIHJlY29yZCBpbmZvcm1hdGlvbgorICogYWJvdXQgd2hpY2ggdGFzayB3YXMgdGhlIGNhdXNlIG9mIHRoaXMgbGF0ZW5jeS4KKyAqLwordm9pZAordXBkYXRlX21heF90cihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCWludCBpOworCisJV0FSTl9PTl9PTkNFKCFpcnFzX2Rpc2FibGVkKCkpOworCV9fcmF3X3NwaW5fbG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwkvKiBjbGVhciBvdXQgYWxsIHRoZSBwcmV2aW91cyB0cmFjZXMgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWRhdGEgPSB0ci0+ZGF0YVtpXTsKKwkJZmxpcF90cmFjZShtYXhfdHIuZGF0YVtpXSwgZGF0YSk7CisJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJfQorCisJX191cGRhdGVfbWF4X3RyKHRyLCB0c2ssIGNwdSk7CisJX19yYXdfc3Bpbl91bmxvY2soJmZ0cmFjZV9tYXhfbG9jayk7Cit9CisKKy8qKgorICogdXBkYXRlX21heF90cl9zaW5nbGUgLSBvbmx5IGNvcHkgb25lIHRyYWNlIG92ZXIsIGFuZCByZXNldCB0aGUgcmVzdAorICogQHRyIC0gdHJhY2VyCisgKiBAdHNrIC0gdGFzayB3aXRoIHRoZSBsYXRlbmN5CisgKiBAY3B1IC0gdGhlIGNwdSBvZiB0aGUgYnVmZmVyIHRvIGNvcHkuCisgKgorICogRmxpcCB0aGUgdHJhY2Ugb2YgYSBzaW5nbGUgQ1BVIGJ1ZmZlciBiZXR3ZWVuIHRoZSBAdHIgYW5kIHRoZSBtYXhfdHIuCisgKi8KK3ZvaWQKK3VwZGF0ZV9tYXhfdHJfc2luZ2xlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY3B1KQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWludCBpOworCisJV0FSTl9PTl9PTkNFKCFpcnFzX2Rpc2FibGVkKCkpOworCV9fcmF3X3NwaW5fbG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKQorCQl0cmFjaW5nX3Jlc2V0KG1heF90ci5kYXRhW2ldKTsKKworCWZsaXBfdHJhY2UobWF4X3RyLmRhdGFbY3B1XSwgZGF0YSk7CisJdHJhY2luZ19yZXNldChkYXRhKTsKKworCV9fdXBkYXRlX21heF90cih0ciwgdHNrLCBjcHUpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworfQorCisvKioKKyAqIHJlZ2lzdGVyX3RyYWNlciAtIHJlZ2lzdGVyIGEgdHJhY2VyIHdpdGggdGhlIGZ0cmFjZSBzeXN0ZW0uCisgKiBAdHlwZSAtIHRoZSBwbHVnaW4gZm9yIHRoZSB0cmFjZXIKKyAqCisgKiBSZWdpc3RlciBhIG5ldyBwbHVnaW4gdHJhY2VyLgorICovCitpbnQgcmVnaXN0ZXJfdHJhY2VyKHN0cnVjdCB0cmFjZXIgKnR5cGUpCit7CisJc3RydWN0IHRyYWNlciAqdDsKKwlpbnQgbGVuOworCWludCByZXQgPSAwOworCisJaWYgKCF0eXBlLT5uYW1lKSB7CisJCXByX2luZm8oIlRyYWNlciBtdXN0IGhhdmUgYSBuYW1lXG4iKTsKKwkJcmV0dXJuIC0xOworCX0KKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWZvciAodCA9IHRyYWNlX3R5cGVzOyB0OyB0ID0gdC0+bmV4dCkgeworCQlpZiAoc3RyY21wKHR5cGUtPm5hbWUsIHQtPm5hbWUpID09IDApIHsKKwkJCS8qIGFscmVhZHkgZm91bmQgKi8KKwkJCXByX2luZm8oIlRyYWNlICVzIGFscmVhZHkgcmVnaXN0ZXJlZFxuIiwKKwkJCQl0eXBlLT5uYW1lKTsKKwkJCXJldCA9IC0xOworCQkJZ290byBvdXQ7CisJCX0KKwl9CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NUQVJUVVBfVEVTVAorCWlmICh0eXBlLT5zZWxmdGVzdCkgeworCQlzdHJ1Y3QgdHJhY2VyICpzYXZlZF90cmFjZXIgPSBjdXJyZW50X3RyYWNlOworCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCQlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gJmdsb2JhbF90cmFjZTsKKwkJaW50IHNhdmVkX2N0cmwgPSB0ci0+Y3RybDsKKwkJaW50IGk7CisJCS8qCisJCSAqIFJ1biBhIHNlbGZ0ZXN0IG9uIHRoaXMgdHJhY2VyLgorCQkgKiBIZXJlIHdlIHJlc2V0IHRoZSB0cmFjZSBidWZmZXIsIGFuZCBzZXQgdGhlIGN1cnJlbnQKKwkJICogdHJhY2VyIHRvIGJlIHRoaXMgdHJhY2VyLiBUaGUgdHJhY2VyIGNhbiB0aGVuIHJ1biBzb21lCisJCSAqIGludGVybmFsIHRyYWNpbmcgdG8gdmVyaWZ5IHRoYXQgZXZlcnl0aGluZyBpcyBpbiBvcmRlci4KKwkJICogSWYgd2UgZmFpbCwgd2UgZG8gbm90IHJlZ2lzdGVyIHRoaXMgdHJhY2VyLgorCQkgKi8KKwkJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQkJZGF0YSA9IHRyLT5kYXRhW2ldOworCQkJaWYgKCFoZWFkX3BhZ2UoZGF0YSkpCisJCQkJY29udGludWU7CisJCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCQl9CisJCWN1cnJlbnRfdHJhY2UgPSB0eXBlOworCQl0ci0+Y3RybCA9IDA7CisJCS8qIHRoZSB0ZXN0IGlzIHJlc3BvbnNpYmxlIGZvciBpbml0aWFsaXppbmcgYW5kIGVuYWJsaW5nICovCisJCXByX2luZm8oIlRlc3RpbmcgdHJhY2VyICVzOiAiLCB0eXBlLT5uYW1lKTsKKwkJcmV0ID0gdHlwZS0+c2VsZnRlc3QodHlwZSwgdHIpOworCQkvKiB0aGUgdGVzdCBpcyByZXNwb25zaWJsZSBmb3IgcmVzZXR0aW5nIHRvbyAqLworCQljdXJyZW50X3RyYWNlID0gc2F2ZWRfdHJhY2VyOworCQl0ci0+Y3RybCA9IHNhdmVkX2N0cmw7CisJCWlmIChyZXQpIHsKKwkJCXByaW50ayhLRVJOX0NPTlQgIkZBSUxFRCFcbiIpOworCQkJZ290byBvdXQ7CisJCX0KKwkJLyogT25seSByZXNldCBvbiBwYXNzaW5nLCB0byBhdm9pZCB0b3VjaGluZyBjb3JydXB0ZWQgYnVmZmVycyAqLworCQlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCQlkYXRhID0gdHItPmRhdGFbaV07CisJCQlpZiAoIWhlYWRfcGFnZShkYXRhKSkKKwkJCQljb250aW51ZTsKKwkJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJCX0KKwkJcHJpbnRrKEtFUk5fQ09OVCAiUEFTU0VEXG4iKTsKKwl9CisjZW5kaWYKKworCXR5cGUtPm5leHQgPSB0cmFjZV90eXBlczsKKwl0cmFjZV90eXBlcyA9IHR5cGU7CisJbGVuID0gc3RybGVuKHR5cGUtPm5hbWUpOworCWlmIChsZW4gPiBtYXhfdHJhY2VyX3R5cGVfbGVuKQorCQltYXhfdHJhY2VyX3R5cGVfbGVuID0gbGVuOworCisgb3V0OgorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCit2b2lkIHVucmVnaXN0ZXJfdHJhY2VyKHN0cnVjdCB0cmFjZXIgKnR5cGUpCit7CisJc3RydWN0IHRyYWNlciAqKnQ7CisJaW50IGxlbjsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWZvciAodCA9ICZ0cmFjZV90eXBlczsgKnQ7IHQgPSAmKCp0KS0+bmV4dCkgeworCQlpZiAoKnQgPT0gdHlwZSkKKwkJCWdvdG8gZm91bmQ7CisJfQorCXByX2luZm8oIlRyYWNlICVzIG5vdCByZWdpc3RlcmVkXG4iLCB0eXBlLT5uYW1lKTsKKwlnb3RvIG91dDsKKworIGZvdW5kOgorCSp0ID0gKCp0KS0+bmV4dDsKKwlpZiAoc3RybGVuKHR5cGUtPm5hbWUpICE9IG1heF90cmFjZXJfdHlwZV9sZW4pCisJCWdvdG8gb3V0OworCisJbWF4X3RyYWNlcl90eXBlX2xlbiA9IDA7CisJZm9yICh0ID0gJnRyYWNlX3R5cGVzOyAqdDsgdCA9ICYoKnQpLT5uZXh0KSB7CisJCWxlbiA9IHN0cmxlbigoKnQpLT5uYW1lKTsKKwkJaWYgKGxlbiA+IG1heF90cmFjZXJfdHlwZV9sZW4pCisJCQltYXhfdHJhY2VyX3R5cGVfbGVuID0gbGVuOworCX0KKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKK30KKwordm9pZCB0cmFjaW5nX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJZGF0YS0+dHJhY2VfaWR4ID0gMDsKKwlkYXRhLT5vdmVycnVuID0gMDsKKwlkYXRhLT50cmFjZV9oZWFkID0gZGF0YS0+dHJhY2VfdGFpbCA9IGhlYWRfcGFnZShkYXRhKTsKKwlkYXRhLT50cmFjZV9oZWFkX2lkeCA9IDA7CisJZGF0YS0+dHJhY2VfdGFpbF9pZHggPSAwOworfQorCisjZGVmaW5lIFNBVkVEX0NNRExJTkVTIDEyOAorc3RhdGljIHVuc2lnbmVkIG1hcF9waWRfdG9fY21kbGluZVtQSURfTUFYX0RFRkFVTFQrMV07CitzdGF0aWMgdW5zaWduZWQgbWFwX2NtZGxpbmVfdG9fcGlkW1NBVkVEX0NNRExJTkVTXTsKK3N0YXRpYyBjaGFyIHNhdmVkX2NtZGxpbmVzW1NBVkVEX0NNRExJTkVTXVtUQVNLX0NPTU1fTEVOXTsKK3N0YXRpYyBpbnQgY21kbGluZV9pZHg7CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHRyYWNlX2NtZGxpbmVfbG9jayk7CisKKy8qIHRlbXBvcmFyeSBkaXNhYmxlIHJlY29yZGluZyAqLworYXRvbWljX3QgdHJhY2VfcmVjb3JkX2NtZGxpbmVfZGlzYWJsZWQgX19yZWFkX21vc3RseTsKKworc3RhdGljIHZvaWQgdHJhY2VfaW5pdF9jbWRsaW5lcyh2b2lkKQoreworCW1lbXNldCgmbWFwX3BpZF90b19jbWRsaW5lLCAtMSwgc2l6ZW9mKG1hcF9waWRfdG9fY21kbGluZSkpOworCW1lbXNldCgmbWFwX2NtZGxpbmVfdG9fcGlkLCAtMSwgc2l6ZW9mKG1hcF9jbWRsaW5lX3RvX3BpZCkpOworCWNtZGxpbmVfaWR4ID0gMDsKK30KKwordm9pZCB0cmFjZV9zdG9wX2NtZGxpbmVfcmVjb3JkaW5nKHZvaWQpOworCitzdGF0aWMgdm9pZCB0cmFjZV9zYXZlX2NtZGxpbmUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCit7CisJdW5zaWduZWQgbWFwOworCXVuc2lnbmVkIGlkeDsKKworCWlmICghdHNrLT5waWQgfHwgdW5saWtlbHkodHNrLT5waWQgPiBQSURfTUFYX0RFRkFVTFQpKQorCQlyZXR1cm47CisKKwkvKgorCSAqIEl0J3Mgbm90IHRoZSBlbmQgb2YgdGhlIHdvcmxkIGlmIHdlIGRvbid0IGdldAorCSAqIHRoZSBsb2NrLCBidXQgd2UgYWxzbyBkb24ndCB3YW50IHRvIHNwaW4KKwkgKiBub3IgZG8gd2Ugd2FudCB0byBkaXNhYmxlIGludGVycnVwdHMsCisJICogc28gaWYgd2UgbWlzcyBoZXJlLCB0aGVuIGJldHRlciBsdWNrIG5leHQgdGltZS4KKwkgKi8KKwlpZiAoIXNwaW5fdHJ5bG9jaygmdHJhY2VfY21kbGluZV9sb2NrKSkKKwkJcmV0dXJuOworCisJaWR4ID0gbWFwX3BpZF90b19jbWRsaW5lW3Rzay0+cGlkXTsKKwlpZiAoaWR4ID49IFNBVkVEX0NNRExJTkVTKSB7CisJCWlkeCA9IChjbWRsaW5lX2lkeCArIDEpICUgU0FWRURfQ01ETElORVM7CisKKwkJbWFwID0gbWFwX2NtZGxpbmVfdG9fcGlkW2lkeF07CisJCWlmIChtYXAgPD0gUElEX01BWF9ERUZBVUxUKQorCQkJbWFwX3BpZF90b19jbWRsaW5lW21hcF0gPSAodW5zaWduZWQpLTE7CisKKwkJbWFwX3BpZF90b19jbWRsaW5lW3Rzay0+cGlkXSA9IGlkeDsKKworCQljbWRsaW5lX2lkeCA9IGlkeDsKKwl9CisKKwltZW1jcHkoJnNhdmVkX2NtZGxpbmVzW2lkeF0sIHRzay0+Y29tbSwgVEFTS19DT01NX0xFTik7CisKKwlzcGluX3VubG9jaygmdHJhY2VfY21kbGluZV9sb2NrKTsKK30KKworc3RhdGljIGNoYXIgKnRyYWNlX2ZpbmRfY21kbGluZShpbnQgcGlkKQoreworCWNoYXIgKmNtZGxpbmUgPSAiPC4uLj4iOworCXVuc2lnbmVkIG1hcDsKKworCWlmICghcGlkKQorCQlyZXR1cm4gIjxpZGxlPiI7CisKKwlpZiAocGlkID4gUElEX01BWF9ERUZBVUxUKQorCQlnb3RvIG91dDsKKworCW1hcCA9IG1hcF9waWRfdG9fY21kbGluZVtwaWRdOworCWlmIChtYXAgPj0gU0FWRURfQ01ETElORVMpCisJCWdvdG8gb3V0OworCisJY21kbGluZSA9IHNhdmVkX2NtZGxpbmVzW21hcF07CisKKyBvdXQ6CisJcmV0dXJuIGNtZGxpbmU7Cit9CisKK3ZvaWQgdHJhY2luZ19yZWNvcmRfY21kbGluZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKK3sKKwlpZiAoYXRvbWljX3JlYWQoJnRyYWNlX3JlY29yZF9jbWRsaW5lX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJdHJhY2Vfc2F2ZV9jbWRsaW5lKHRzayk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGxpc3RfaGVhZCAqCit0cmFjZV9uZXh0X2xpc3Qoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwgc3RydWN0IGxpc3RfaGVhZCAqbmV4dCkKK3sKKwkvKgorCSAqIFJvdW5kcm9iaW4gLSBidXQgc2tpcCB0aGUgaGVhZCAod2hpY2ggaXMgbm90IGEgcmVhbCBwYWdlKToKKwkgKi8KKwluZXh0ID0gbmV4dC0+bmV4dDsKKwlpZiAodW5saWtlbHkobmV4dCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpKQorCQluZXh0ID0gbmV4dC0+bmV4dDsKKwlCVUdfT04obmV4dCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpOworCisJcmV0dXJuIG5leHQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCAqCit0cmFjZV9uZXh0X3BhZ2Uoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwgdm9pZCAqYWRkcikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpuZXh0OworCXN0cnVjdCBwYWdlICpwYWdlOworCisJcGFnZSA9IHZpcnRfdG9fcGFnZShhZGRyKTsKKworCW5leHQgPSB0cmFjZV9uZXh0X2xpc3QoZGF0YSwgJnBhZ2UtPmxydSk7CisJcGFnZSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisKKwlyZXR1cm4gcGFnZV9hZGRyZXNzKHBhZ2UpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCB0cmFjZV9lbnRyeSAqCit0cmFjaW5nX2dldF90cmFjZV9lbnRyeShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgaWR4LCBpZHhfbmV4dDsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCisJZGF0YS0+dHJhY2VfaWR4Kys7CisJaWR4ID0gZGF0YS0+dHJhY2VfaGVhZF9pZHg7CisJaWR4X25leHQgPSBpZHggKyAxOworCisJQlVHX09OKGlkeCAqIFRSQUNFX0VOVFJZX1NJWkUgPj0gUEFHRV9TSVpFKTsKKworCWVudHJ5ID0gZGF0YS0+dHJhY2VfaGVhZCArIGlkeCAqIFRSQUNFX0VOVFJZX1NJWkU7CisKKwlpZiAodW5saWtlbHkoaWR4X25leHQgPj0gRU5UUklFU19QRVJfUEFHRSkpIHsKKwkJZGF0YS0+dHJhY2VfaGVhZCA9IHRyYWNlX25leHRfcGFnZShkYXRhLCBkYXRhLT50cmFjZV9oZWFkKTsKKwkJaWR4X25leHQgPSAwOworCX0KKworCWlmIChkYXRhLT50cmFjZV9oZWFkID09IGRhdGEtPnRyYWNlX3RhaWwgJiYKKwkgICAgaWR4X25leHQgPT0gZGF0YS0+dHJhY2VfdGFpbF9pZHgpIHsKKwkJLyogb3ZlcnJ1biAqLworCQlkYXRhLT5vdmVycnVuKys7CisJCWRhdGEtPnRyYWNlX3RhaWxfaWR4Kys7CisJCWlmIChkYXRhLT50cmFjZV90YWlsX2lkeCA+PSBFTlRSSUVTX1BFUl9QQUdFKSB7CisJCQlkYXRhLT50cmFjZV90YWlsID0KKwkJCQl0cmFjZV9uZXh0X3BhZ2UoZGF0YSwgZGF0YS0+dHJhY2VfdGFpbCk7CisJCQlkYXRhLT50cmFjZV90YWlsX2lkeCA9IDA7CisJCX0KKwl9CisKKwlkYXRhLT50cmFjZV9oZWFkX2lkeCA9IGlkeF9uZXh0OworCisJcmV0dXJuIGVudHJ5OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3RyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSwgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IGN1cnJlbnQ7CisJdW5zaWduZWQgbG9uZyBwYzsKKworCXBjID0gcHJlZW1wdF9jb3VudCgpOworCisJZW50cnktPnByZWVtcHRfY291bnQJPSBwYyAmIDB4ZmY7CisJZW50cnktPnBpZAkJPSAodHNrKSA/IHRzay0+cGlkIDogMDsKKwllbnRyeS0+dAkJPSBmdHJhY2Vfbm93KHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOworCWVudHJ5LT5mbGFncyA9IChpcnFzX2Rpc2FibGVkX2ZsYWdzKGZsYWdzKSA/IFRSQUNFX0ZMQUdfSVJRU19PRkYgOiAwKSB8CisJCSgocGMgJiBIQVJESVJRX01BU0spID8gVFJBQ0VfRkxBR19IQVJESVJRIDogMCkgfAorCQkoKHBjICYgU09GVElSUV9NQVNLKSA/IFRSQUNFX0ZMQUdfU09GVElSUSA6IDApIHwKKwkJKG5lZWRfcmVzY2hlZCgpID8gVFJBQ0VfRkxBR19ORUVEX1JFU0NIRUQgOiAwKTsKK30KKwordm9pZAordHJhY2VfZnVuY3Rpb24oc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkgICAgICAgdW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShpcnFfZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCBmbGFncyk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfRk47CisJZW50cnktPmZuLmlwCQk9IGlwOworCWVudHJ5LT5mbi5wYXJlbnRfaXAJPSBwYXJlbnRfaXA7CisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworfQorCit2b2lkCitmdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKyAgICAgICB1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCwgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlpZiAobGlrZWx5KCFhdG9taWNfcmVhZCgmZGF0YS0+ZGlzYWJsZWQpKSkKKwkJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKK30KKworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0UKK3ZvaWQgX190cmFjZV9tbWlvdHJhY2Vfcncoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQkJCXN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3KQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCAwKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9NTUlPX1JXOworCWVudHJ5LT5tbWlvcncJCT0gKnJ3OworCisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworCisJdHJhY2Vfd2FrZV91cCgpOworfQorCit2b2lkIF9fdHJhY2VfbW1pb3RyYWNlX21hcChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCQkJc3RydWN0IG1taW90cmFjZV9tYXAgKm1hcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgMCk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfTU1JT19NQVA7CisJZW50cnktPm1taW9tYXAJCT0gKm1hcDsKKworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKKworCXRyYWNlX3dha2VfdXAoKTsKK30KKyNlbmRpZgorCit2b2lkIF9fdHJhY2Vfc3RhY2soc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJICAgdW5zaWduZWQgbG9uZyBmbGFncywKKwkJICAgaW50IHNraXApCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwlzdHJ1Y3Qgc3RhY2tfdHJhY2UgdHJhY2U7CisKKwlpZiAoISh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfU1RBQ0tUUkFDRSkpCisJCXJldHVybjsKKworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgZmxhZ3MpOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX1NUQUNLOworCisJbWVtc2V0KCZlbnRyeS0+c3RhY2ssIDAsIHNpemVvZihlbnRyeS0+c3RhY2spKTsKKworCXRyYWNlLm5yX2VudHJpZXMJPSAwOworCXRyYWNlLm1heF9lbnRyaWVzCT0gRlRSQUNFX1NUQUNLX0VOVFJJRVM7CisJdHJhY2Uuc2tpcAkJPSBza2lwOworCXRyYWNlLmVudHJpZXMJCT0gZW50cnktPnN0YWNrLmNhbGxlcjsKKworCXNhdmVfc3RhY2tfdHJhY2UoJnRyYWNlKTsKK30KKwordm9pZAorX190cmFjZV9zcGVjaWFsKHZvaWQgKl9fdHIsIHZvaWQgKl9fZGF0YSwKKwkJdW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gX19kYXRhOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBfX3RyOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgMCk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfU1BFQ0lBTDsKKwllbnRyeS0+c3BlY2lhbC5hcmcxCT0gYXJnMTsKKwllbnRyeS0+c3BlY2lhbC5hcmcyCT0gYXJnMjsKKwllbnRyeS0+c3BlY2lhbC5hcmczCT0gYXJnMzsKKwlfX3RyYWNlX3N0YWNrKHRyLCBkYXRhLCBpcnFfZmxhZ3MsIDQpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKKworCXRyYWNlX3dha2VfdXAoKTsKK30KKwordm9pZAordHJhY2luZ19zY2hlZF9zd2l0Y2hfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCSAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQsCisJCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgZmxhZ3MpOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX0NUWDsKKwllbnRyeS0+Y3R4LnByZXZfcGlkCT0gcHJldi0+cGlkOworCWVudHJ5LT5jdHgucHJldl9wcmlvCT0gcHJldi0+cHJpbzsKKwllbnRyeS0+Y3R4LnByZXZfc3RhdGUJPSBwcmV2LT5zdGF0ZTsKKwllbnRyeS0+Y3R4Lm5leHRfcGlkCT0gbmV4dC0+cGlkOworCWVudHJ5LT5jdHgubmV4dF9wcmlvCT0gbmV4dC0+cHJpbzsKKwllbnRyeS0+Y3R4Lm5leHRfc3RhdGUJPSBuZXh0LT5zdGF0ZTsKKwlfX3RyYWNlX3N0YWNrKHRyLCBkYXRhLCBmbGFncywgNSk7CisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworfQorCit2b2lkCit0cmFjaW5nX3NjaGVkX3dha2V1cF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqd2FrZWUsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIsCisJCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgZmxhZ3MpOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX1dBS0U7CisJZW50cnktPmN0eC5wcmV2X3BpZAk9IGN1cnItPnBpZDsKKwllbnRyeS0+Y3R4LnByZXZfcHJpbwk9IGN1cnItPnByaW87CisJZW50cnktPmN0eC5wcmV2X3N0YXRlCT0gY3Vyci0+c3RhdGU7CisJZW50cnktPmN0eC5uZXh0X3BpZAk9IHdha2VlLT5waWQ7CisJZW50cnktPmN0eC5uZXh0X3ByaW8JPSB3YWtlZS0+cHJpbzsKKwllbnRyeS0+Y3R4Lm5leHRfc3RhdGUJPSB3YWtlZS0+c3RhdGU7CisJX190cmFjZV9zdGFjayh0ciwgZGF0YSwgZmxhZ3MsIDYpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKKworCXRyYWNlX3dha2VfdXAoKTsKK30KKwordm9pZAorZnRyYWNlX3NwZWNpYWwodW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gJmdsb2JhbF90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQgfHwgY3VycmVudF90cmFjZSA9PSAmbm9fdHJhY2VyIHx8ICF0ci0+Y3RybCkKKwkJcmV0dXJuOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCBhcmcxLCBhcmcyLCBhcmczKTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitzdGF0aWMgdm9pZAorZnVuY3Rpb25fdHJhY2VfY2FsbCh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gJmdsb2JhbF90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJaWYgKHVubGlrZWx5KCFmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCkpCisJCXJldHVybjsKKworCWlmIChza2lwX3RyYWNlKGlwKSkKKwkJcmV0dXJuOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX29wcyB0cmFjZV9vcHMgX19yZWFkX21vc3RseSA9Cit7CisJLmZ1bmMgPSBmdW5jdGlvbl90cmFjZV9jYWxsLAorfTsKKwordm9pZCB0cmFjaW5nX3N0YXJ0X2Z1bmN0aW9uX3RyYWNlKHZvaWQpCit7CisJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAwOworCXJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbigmdHJhY2Vfb3BzKTsKKwlpZiAodHJhY2VyX2VuYWJsZWQpCisJCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMTsKK30KKwordm9pZCB0cmFjaW5nX3N0b3BfZnVuY3Rpb25fdHJhY2Uodm9pZCkKK3sKKwlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDA7CisJdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7Cit9CisjZW5kaWYKKworZW51bSB0cmFjZV9maWxlX3R5cGUgeworCVRSQUNFX0ZJTEVfTEFUX0ZNVAk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHRyYWNlX2VudHJ5ICoKK3RyYWNlX2VudHJ5X2lkeChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIsIGludCBjcHUpCit7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJc3RydWN0IHRyYWNlX2VudHJ5ICphcnJheTsKKworCWlmIChpdGVyLT5uZXh0X2lkeFtjcHVdID49IHRyLT5lbnRyaWVzIHx8CisJICAgIGl0ZXItPm5leHRfaWR4W2NwdV0gPj0gZGF0YS0+dHJhY2VfaWR4IHx8CisJICAgIChkYXRhLT50cmFjZV9oZWFkID09IGRhdGEtPnRyYWNlX3RhaWwgJiYKKwkgICAgIGRhdGEtPnRyYWNlX2hlYWRfaWR4ID09IGRhdGEtPnRyYWNlX3RhaWxfaWR4KSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIWl0ZXItPm5leHRfcGFnZVtjcHVdKSB7CisJCS8qIEluaXRpYWxpemUgdGhlIGl0ZXJhdG9yIGZvciB0aGlzIGNwdSB0cmFjZSBidWZmZXIgKi8KKwkJV0FSTl9PTighZGF0YS0+dHJhY2VfdGFpbCk7CisJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoZGF0YS0+dHJhY2VfdGFpbCk7CisJCWl0ZXItPm5leHRfcGFnZVtjcHVdID0gJnBhZ2UtPmxydTsKKwkJaXRlci0+bmV4dF9wYWdlX2lkeFtjcHVdID0gZGF0YS0+dHJhY2VfdGFpbF9pZHg7CisJfQorCisJcGFnZSA9IGxpc3RfZW50cnkoaXRlci0+bmV4dF9wYWdlW2NwdV0sIHN0cnVjdCBwYWdlLCBscnUpOworCUJVR19PTigmZGF0YS0+dHJhY2VfcGFnZXMgPT0gJnBhZ2UtPmxydSk7CisKKwlhcnJheSA9IHBhZ2VfYWRkcmVzcyhwYWdlKTsKKworCVdBUk5fT04oaXRlci0+bmV4dF9wYWdlX2lkeFtjcHVdID49IEVOVFJJRVNfUEVSX1BBR0UpOworCXJldHVybiAmYXJyYXlbaXRlci0+bmV4dF9wYWdlX2lkeFtjcHVdXTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZV9lbnRyeSAqCitmaW5kX25leHRfZW50cnkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLCBpbnQgKmVudF9jcHUpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGl0ZXItPnRyOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50LCAqbmV4dCA9IE5VTEw7CisJaW50IG5leHRfY3B1ID0gLTE7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkgeworCQlpZiAoIWhlYWRfcGFnZSh0ci0+ZGF0YVtjcHVdKSkKKwkJCWNvbnRpbnVlOworCQllbnQgPSB0cmFjZV9lbnRyeV9pZHgodHIsIHRyLT5kYXRhW2NwdV0sIGl0ZXIsIGNwdSk7CisJCS8qCisJCSAqIFBpY2sgdGhlIGVudHJ5IHdpdGggdGhlIHNtYWxsZXN0IHRpbWVzdGFtcDoKKwkJICovCisJCWlmIChlbnQgJiYgKCFuZXh0IHx8IGVudC0+dCA8IG5leHQtPnQpKSB7CisJCQluZXh0ID0gZW50OworCQkJbmV4dF9jcHUgPSBjcHU7CisJCX0KKwl9CisKKwlpZiAoZW50X2NwdSkKKwkJKmVudF9jcHUgPSBuZXh0X2NwdTsKKworCXJldHVybiBuZXh0OworfQorCitzdGF0aWMgdm9pZCB0cmFjZV9pdGVyYXRvcl9pbmNyZW1lbnQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCWl0ZXItPmlkeCsrOworCWl0ZXItPm5leHRfaWR4W2l0ZXItPmNwdV0rKzsKKwlpdGVyLT5uZXh0X3BhZ2VfaWR4W2l0ZXItPmNwdV0rKzsKKworCWlmIChpdGVyLT5uZXh0X3BhZ2VfaWR4W2l0ZXItPmNwdV0gPj0gRU5UUklFU19QRVJfUEFHRSkgeworCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gaXRlci0+dHItPmRhdGFbaXRlci0+Y3B1XTsKKworCQlpdGVyLT5uZXh0X3BhZ2VfaWR4W2l0ZXItPmNwdV0gPSAwOworCQlpdGVyLT5uZXh0X3BhZ2VbaXRlci0+Y3B1XSA9CisJCQl0cmFjZV9uZXh0X2xpc3QoZGF0YSwgaXRlci0+bmV4dF9wYWdlW2l0ZXItPmNwdV0pOworCX0KK30KKworc3RhdGljIHZvaWQgdHJhY2VfY29uc3VtZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2l0ZXItPmNwdV07CisKKwlkYXRhLT50cmFjZV90YWlsX2lkeCsrOworCWlmIChkYXRhLT50cmFjZV90YWlsX2lkeCA+PSBFTlRSSUVTX1BFUl9QQUdFKSB7CisJCWRhdGEtPnRyYWNlX3RhaWwgPSB0cmFjZV9uZXh0X3BhZ2UoZGF0YSwgZGF0YS0+dHJhY2VfdGFpbCk7CisJCWRhdGEtPnRyYWNlX3RhaWxfaWR4ID0gMDsKKwl9CisKKwkvKiBDaGVjayBpZiB3ZSBlbXB0eSBpdCwgdGhlbiByZXNldCB0aGUgaW5kZXggKi8KKwlpZiAoZGF0YS0+dHJhY2VfaGVhZCA9PSBkYXRhLT50cmFjZV90YWlsICYmCisJICAgIGRhdGEtPnRyYWNlX2hlYWRfaWR4ID09IGRhdGEtPnRyYWNlX3RhaWxfaWR4KQorCQlkYXRhLT50cmFjZV9pZHggPSAwOworfQorCitzdGF0aWMgdm9pZCAqZmluZF9uZXh0X2VudHJ5X2luYyhzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICpuZXh0OworCWludCBuZXh0X2NwdSA9IC0xOworCisJbmV4dCA9IGZpbmRfbmV4dF9lbnRyeShpdGVyLCAmbmV4dF9jcHUpOworCisJaXRlci0+cHJldl9lbnQgPSBpdGVyLT5lbnQ7CisJaXRlci0+cHJldl9jcHUgPSBpdGVyLT5jcHU7CisKKwlpdGVyLT5lbnQgPSBuZXh0OworCWl0ZXItPmNwdSA9IG5leHRfY3B1OworCisJaWYgKG5leHQpCisJCXRyYWNlX2l0ZXJhdG9yX2luY3JlbWVudChpdGVyKTsKKworCXJldHVybiBuZXh0ID8gaXRlciA6IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkICpzX25leHQoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2LCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCXZvaWQgKmxhc3RfZW50ID0gaXRlci0+ZW50OworCWludCBpID0gKGludCkqcG9zOworCXZvaWQgKmVudDsKKworCSgqcG9zKSsrOworCisJLyogY2FuJ3QgZ28gYmFja3dhcmRzICovCisJaWYgKGl0ZXItPmlkeCA+IGkpCisJCXJldHVybiBOVUxMOworCisJaWYgKGl0ZXItPmlkeCA8IDApCisJCWVudCA9IGZpbmRfbmV4dF9lbnRyeV9pbmMoaXRlcik7CisJZWxzZQorCQllbnQgPSBpdGVyOworCisJd2hpbGUgKGVudCAmJiBpdGVyLT5pZHggPCBpKQorCQllbnQgPSBmaW5kX25leHRfZW50cnlfaW5jKGl0ZXIpOworCisJaXRlci0+cG9zID0gKnBvczsKKworCWlmIChsYXN0X2VudCAmJiAhZW50KQorCQlzZXFfcHV0cyhtLCAiXG5cbnZpbTpmdD1oZWxwXG4iKTsKKworCXJldHVybiBlbnQ7Cit9CisKK3N0YXRpYyB2b2lkICpzX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqbSwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKwl2b2lkICpwID0gTlVMTDsKKwlsb2ZmX3QgbCA9IDA7CisJaW50IGk7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCWlmICghY3VycmVudF90cmFjZSB8fCBjdXJyZW50X3RyYWNlICE9IGl0ZXItPnRyYWNlKSB7CisJCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJCXJldHVybiBOVUxMOworCX0KKworCWF0b21pY19pbmMoJnRyYWNlX3JlY29yZF9jbWRsaW5lX2Rpc2FibGVkKTsKKworCS8qIGxldCB0aGUgdHJhY2VyIGdyYWIgbG9ja3MgaGVyZSBpZiBuZWVkZWQgKi8KKwlpZiAoY3VycmVudF90cmFjZS0+c3RhcnQpCisJCWN1cnJlbnRfdHJhY2UtPnN0YXJ0KGl0ZXIpOworCisJaWYgKCpwb3MgIT0gaXRlci0+cG9zKSB7CisJCWl0ZXItPmVudCA9IE5VTEw7CisJCWl0ZXItPmNwdSA9IDA7CisJCWl0ZXItPmlkeCA9IC0xOworCQlpdGVyLT5wcmV2X2VudCA9IE5VTEw7CisJCWl0ZXItPnByZXZfY3B1ID0gLTE7CisKKwkJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQkJaXRlci0+bmV4dF9pZHhbaV0gPSAwOworCQkJaXRlci0+bmV4dF9wYWdlW2ldID0gTlVMTDsKKwkJfQorCisJCWZvciAocCA9IGl0ZXI7IHAgJiYgbCA8ICpwb3M7IHAgPSBzX25leHQobSwgcCwgJmwpKQorCQkJOworCisJfSBlbHNlIHsKKwkJbCA9ICpwb3MgLSAxOworCQlwID0gc19uZXh0KG0sIHAsICZsKTsKKwl9CisKKwlyZXR1cm4gcDsKK30KKworc3RhdGljIHZvaWQgc19zdG9wKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCisJYXRvbWljX2RlYygmdHJhY2VfcmVjb3JkX2NtZGxpbmVfZGlzYWJsZWQpOworCisJLyogbGV0IHRoZSB0cmFjZXIgcmVsZWFzZSBsb2NrcyBoZXJlIGlmIG5lZWRlZCAqLworCWlmIChjdXJyZW50X3RyYWNlICYmIGN1cnJlbnRfdHJhY2UgPT0gaXRlci0+dHJhY2UgJiYgaXRlci0+dHJhY2UtPnN0b3ApCisJCWl0ZXItPnRyYWNlLT5zdG9wKGl0ZXIpOworCisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKK30KKworI2RlZmluZSBLUkVUUFJPQkVfTVNHICJbdW5rbm93bi9rcmV0cHJvYmUnZF0iCisKKyNpZmRlZiBDT05GSUdfS1JFVFBST0JFUworc3RhdGljIGlubGluZSBpbnQga3JldHByb2JlZCh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuIGFkZHIgPT0gKHVuc2lnbmVkIGxvbmcpa3JldHByb2JlX3RyYW1wb2xpbmU7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQga3JldHByb2JlZCh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogQ09ORklHX0tSRVRQUk9CRVMgKi8KKworc3RhdGljIGludAorc2VxX3ByaW50X3N5bV9zaG9ydChzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBjaGFyICpmbXQsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3sKKyNpZmRlZiBDT05GSUdfS0FMTFNZTVMKKwljaGFyIHN0cltLU1lNX1NZTUJPTF9MRU5dOworCisJa2FsbHN5bXNfbG9va3VwKGFkZHJlc3MsIE5VTEwsIE5VTEwsIE5VTEwsIHN0cik7CisKKwlyZXR1cm4gdHJhY2Vfc2VxX3ByaW50ZihzLCBmbXQsIHN0cik7CisjZW5kaWYKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludAorc2VxX3ByaW50X3N5bV9vZmZzZXQoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqZm10LAorCQkgICAgIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3sKKyNpZmRlZiBDT05GSUdfS0FMTFNZTVMKKwljaGFyIHN0cltLU1lNX1NZTUJPTF9MRU5dOworCisJc3ByaW50X3N5bWJvbChzdHIsIGFkZHJlc3MpOworCXJldHVybiB0cmFjZV9zZXFfcHJpbnRmKHMsIGZtdCwgc3RyKTsKKyNlbmRpZgorCXJldHVybiAxOworfQorCisjaWZuZGVmIENPTkZJR182NEJJVAorIyBkZWZpbmUgSVBfRk1UICIlMDhseCIKKyNlbHNlCisjIGRlZmluZSBJUF9GTVQgIiUwMTZseCIKKyNlbmRpZgorCitzdGF0aWMgaW50CitzZXFfcHJpbnRfaXBfc3ltKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgc3ltX2ZsYWdzKQoreworCWludCByZXQ7CisKKwlpZiAoIWlwKQorCQlyZXR1cm4gdHJhY2Vfc2VxX3ByaW50ZihzLCAiMCIpOworCisJaWYgKHN5bV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX09GRlNFVCkKKwkJcmV0ID0gc2VxX3ByaW50X3N5bV9vZmZzZXQocywgIiVzIiwgaXApOworCWVsc2UKKwkJcmV0ID0gc2VxX3ByaW50X3N5bV9zaG9ydChzLCAiJXMiLCBpcCk7CisKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoc3ltX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fQUREUikKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIDwiIElQX0ZNVCAiPiIsIGlwKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBwcmludF9sYXRfaGVscF9oZWFkZXIoc3RydWN0IHNlcV9maWxlICptKQoreworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjICAgICAgICAgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYgICAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZCAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aCAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHx8fHwgLyAgICAgICAgICAgICAgICAgICAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkgICAgICAgICAgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlciAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgIFxcICAgLyAgICB8fHx8fCAgIFxcICAgfCAgIC8gICAgICAgICAgIFxuIik7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X2Z1bmNfaGVscF9oZWFkZXIoc3RydWN0IHNlcV9maWxlICptKQoreworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICBUQVNLLVBJRCAgIENQVSMgICAgVElNRVNUQU1QICBGVU5DVElPTlxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHxcbiIpOworfQorCisKK3N0YXRpYyB2b2lkCitwcmludF90cmFjZV9oZWFkZXIoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJdW5zaWduZWQgbG9uZyBzeW1fZmxhZ3MgPSAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1NZTV9NQVNLKTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXRlci0+dHI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IHRyLT5kYXRhW3RyLT5jcHVdOworCXN0cnVjdCB0cmFjZXIgKnR5cGUgPSBjdXJyZW50X3RyYWNlOworCXVuc2lnbmVkIGxvbmcgdG90YWwgICA9IDA7CisJdW5zaWduZWQgbG9uZyBlbnRyaWVzID0gMDsKKwlpbnQgY3B1OworCWNvbnN0IGNoYXIgKm5hbWUgPSAicHJlZW1wdGlvbiI7CisKKwlpZiAodHlwZSkKKwkJbmFtZSA9IHR5cGUtPm5hbWU7CisKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJaWYgKGhlYWRfcGFnZSh0ci0+ZGF0YVtjcHVdKSkgeworCQkJdG90YWwgKz0gdHItPmRhdGFbY3B1XS0+dHJhY2VfaWR4OworCQkJaWYgKHRyLT5kYXRhW2NwdV0tPnRyYWNlX2lkeCA+IHRyLT5lbnRyaWVzKQorCQkJCWVudHJpZXMgKz0gdHItPmVudHJpZXM7CisJCQllbHNlCisJCQkJZW50cmllcyArPSB0ci0+ZGF0YVtjcHVdLT50cmFjZV9pZHg7CisJCX0KKwl9CisKKwlzZXFfcHJpbnRmKG0sICIlcyBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAlc1xuIiwKKwkJICAgbmFtZSwgVVRTX1JFTEVBU0UpOworCXNlcV9wdXRzKG0sICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKwkJICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOworCXNlcV9wcmludGYobSwgIiBsYXRlbmN5OiAlbHUgdXMsICMlbHUvJWx1LCBDUFUjJWQgfCIKKwkJICAgIiAoTTolcyBWUDolZCwgS1A6JWQsIFNQOiVkIEhQOiVkIiwKKwkJICAgbnNlY3NfdG9fdXNlY3MoZGF0YS0+c2F2ZWRfbGF0ZW5jeSksCisJCSAgIGVudHJpZXMsCisJCSAgIHRvdGFsLAorCQkgICB0ci0+Y3B1LAorI2lmIGRlZmluZWQoQ09ORklHX1BSRUVNUFRfTk9ORSkKKwkJICAgInNlcnZlciIsCisjZWxpZiBkZWZpbmVkKENPTkZJR19QUkVFTVBUX1ZPTFVOVEFSWSkKKwkJICAgImRlc2t0b3AiLAorI2VsaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVCkKKwkJICAgInByZWVtcHQiLAorI2Vsc2UKKwkJICAgInVua25vd24iLAorI2VuZGlmCisJCSAgIC8qIFRoZXNlIGFyZSByZXNlcnZlZCBmb3IgbGF0ZXIgdXNlICovCisJCSAgIDAsIDAsIDAsIDApOworI2lmZGVmIENPTkZJR19TTVAKKwlzZXFfcHJpbnRmKG0sICIgI1A6JWQpXG4iLCBudW1fb25saW5lX2NwdXMoKSk7CisjZWxzZQorCXNlcV9wdXRzKG0sICIpXG4iKTsKKyNlbmRpZgorCXNlcV9wdXRzKG0sICIgICAgLS0tLS0tLS0tLS0tLS0tLS1cbiIpOworCXNlcV9wcmludGYobSwgIiAgICB8IHRhc2s6ICUuMTZzLSVkICIKKwkJICAgIih1aWQ6JWQgbmljZTolbGQgcG9saWN5OiVsZCBydF9wcmlvOiVsZClcbiIsCisJCSAgIGRhdGEtPmNvbW0sIGRhdGEtPnBpZCwgZGF0YS0+dWlkLCBkYXRhLT5uaWNlLAorCQkgICBkYXRhLT5wb2xpY3ksIGRhdGEtPnJ0X3ByaW9yaXR5KTsKKwlzZXFfcHV0cyhtLCAiICAgIC0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKworCWlmIChkYXRhLT5jcml0aWNhbF9zdGFydCkgeworCQlzZXFfcHV0cyhtLCAiID0+IHN0YXJ0ZWQgYXQ6ICIpOworCQlzZXFfcHJpbnRfaXBfc3ltKCZpdGVyLT5zZXEsIGRhdGEtPmNyaXRpY2FsX3N0YXJ0LCBzeW1fZmxhZ3MpOworCQl0cmFjZV9wcmludF9zZXEobSwgJml0ZXItPnNlcSk7CisJCXNlcV9wdXRzKG0sICJcbiA9PiBlbmRlZCBhdDogICAiKTsKKwkJc2VxX3ByaW50X2lwX3N5bSgmaXRlci0+c2VxLCBkYXRhLT5jcml0aWNhbF9lbmQsIHN5bV9mbGFncyk7CisJCXRyYWNlX3ByaW50X3NlcShtLCAmaXRlci0+c2VxKTsKKwkJc2VxX3B1dHMobSwgIlxuIik7CisJfQorCisJc2VxX3B1dHMobSwgIlxuIik7Cit9CisKK3N0YXRpYyB2b2lkCitsYXRfcHJpbnRfZ2VuZXJpYyhzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5LCBpbnQgY3B1KQoreworCWludCBoYXJkaXJxLCBzb2Z0aXJxOworCWNoYXIgKmNvbW07CisKKwljb21tID0gdHJhY2VfZmluZF9jbWRsaW5lKGVudHJ5LT5waWQpOworCisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJTguOHMtJS01ZCAiLCBjb21tLCBlbnRyeS0+cGlkKTsKKwl0cmFjZV9zZXFfcHJpbnRmKHMsICIlZCIsIGNwdSk7CisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJWMlYyIsCisJCQkoZW50cnktPmZsYWdzICYgVFJBQ0VfRkxBR19JUlFTX09GRikgPyAnZCcgOiAnLicsCisJCQkoKGVudHJ5LT5mbGFncyAmIFRSQUNFX0ZMQUdfTkVFRF9SRVNDSEVEKSA/ICdOJyA6ICcuJykpOworCisJaGFyZGlycSA9IGVudHJ5LT5mbGFncyAmIFRSQUNFX0ZMQUdfSEFSRElSUTsKKwlzb2Z0aXJxID0gZW50cnktPmZsYWdzICYgVFJBQ0VfRkxBR19TT0ZUSVJROworCWlmIChoYXJkaXJxICYmIHNvZnRpcnEpIHsKKwkJdHJhY2Vfc2VxX3B1dGMocywgJ0gnKTsKKwl9IGVsc2UgeworCQlpZiAoaGFyZGlycSkgeworCQkJdHJhY2Vfc2VxX3B1dGMocywgJ2gnKTsKKwkJfSBlbHNlIHsKKwkJCWlmIChzb2Z0aXJxKQorCQkJCXRyYWNlX3NlcV9wdXRjKHMsICdzJyk7CisJCQllbHNlCisJCQkJdHJhY2Vfc2VxX3B1dGMocywgJy4nKTsKKwkJfQorCX0KKworCWlmIChlbnRyeS0+cHJlZW1wdF9jb3VudCkKKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJXgiLCBlbnRyeS0+cHJlZW1wdF9jb3VudCk7CisJZWxzZQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiLiIpOworfQorCit1bnNpZ25lZCBsb25nIHByZWVtcHRfbWFya190aHJlc2ggPSAxMDA7CisKK3N0YXRpYyB2b2lkCitsYXRfcHJpbnRfdGltZXN0YW1wKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHVuc2lnbmVkIGxvbmcgbG9uZyBhYnNfdXNlY3MsCisJCSAgICB1bnNpZ25lZCBsb25nIHJlbF91c2VjcykKK3sKKwl0cmFjZV9zZXFfcHJpbnRmKHMsICIgJTRsbGR1cyIsIGFic191c2Vjcyk7CisJaWYgKHJlbF91c2VjcyA+IHByZWVtcHRfbWFya190aHJlc2gpCisJCXRyYWNlX3NlcV9wdXRzKHMsICIhOiAiKTsKKwllbHNlIGlmIChyZWxfdXNlY3MgPiAxKQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiKzogIik7CisJZWxzZQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiIDogIik7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyIHN0YXRlX3RvX2NoYXJbXSA9IFRBU0tfU1RBVEVfVE9fQ0hBUl9TVFI7CisKK3N0YXRpYyBpbnQKK3ByaW50X2xhdF9mbXQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLCB1bnNpZ25lZCBpbnQgdHJhY2VfaWR4LCBpbnQgY3B1KQoreworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgc3ltX2ZsYWdzID0gKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fTUFTSyk7CisJc3RydWN0IHRyYWNlX2VudHJ5ICpuZXh0X2VudHJ5ID0gZmluZF9uZXh0X2VudHJ5KGl0ZXIsIE5VTEwpOworCXVuc2lnbmVkIGxvbmcgdmVyYm9zZSA9ICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfVkVSQk9TRSk7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSA9IGl0ZXItPmVudDsKKwl1bnNpZ25lZCBsb25nIGFic191c2VjczsKKwl1bnNpZ25lZCBsb25nIHJlbF91c2VjczsKKwljaGFyICpjb21tOworCWludCBTLCBUOworCWludCBpOworCXVuc2lnbmVkIHN0YXRlOworCisJaWYgKCFuZXh0X2VudHJ5KQorCQluZXh0X2VudHJ5ID0gZW50cnk7CisJcmVsX3VzZWNzID0gbnMydXNlY3MobmV4dF9lbnRyeS0+dCAtIGVudHJ5LT50KTsKKwlhYnNfdXNlY3MgPSBuczJ1c2VjcyhlbnRyeS0+dCAtIGl0ZXItPnRyLT50aW1lX3N0YXJ0KTsKKworCWlmICh2ZXJib3NlKSB7CisJCWNvbW0gPSB0cmFjZV9maW5kX2NtZGxpbmUoZW50cnktPnBpZCk7CisJCXRyYWNlX3NlcV9wcmludGYocywgIiUxNnMgJTVkICVkICVkICUwOHggJTA4eCBbJTA4bHhdIgorCQkJCSAiICVsZC4lMDNsZG1zICgrJWxkLiUwM2xkbXMpOiAiLAorCQkJCSBjb21tLAorCQkJCSBlbnRyeS0+cGlkLCBjcHUsIGVudHJ5LT5mbGFncywKKwkJCQkgZW50cnktPnByZWVtcHRfY291bnQsIHRyYWNlX2lkeCwKKwkJCQkgbnMydXNlY3MoZW50cnktPnQpLAorCQkJCSBhYnNfdXNlY3MvMTAwMCwKKwkJCQkgYWJzX3VzZWNzICUgMTAwMCwgcmVsX3VzZWNzLzEwMDAsCisJCQkJIHJlbF91c2VjcyAlIDEwMDApOworCX0gZWxzZSB7CisJCWxhdF9wcmludF9nZW5lcmljKHMsIGVudHJ5LCBjcHUpOworCQlsYXRfcHJpbnRfdGltZXN0YW1wKHMsIGFic191c2VjcywgcmVsX3VzZWNzKTsKKwl9CisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCXNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPmZuLmlwLCBzeW1fZmxhZ3MpOworCQl0cmFjZV9zZXFfcHV0cyhzLCAiICgiKTsKKwkJaWYgKGtyZXRwcm9iZWQoZW50cnktPmZuLnBhcmVudF9pcCkpCisJCQl0cmFjZV9zZXFfcHV0cyhzLCBLUkVUUFJPQkVfTVNHKTsKKwkJZWxzZQorCQkJc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+Zm4ucGFyZW50X2lwLCBzeW1fZmxhZ3MpOworCQl0cmFjZV9zZXFfcHV0cyhzLCAiKVxuIik7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfQ1RYOgorCWNhc2UgVFJBQ0VfV0FLRToKKwkJVCA9IGVudHJ5LT5jdHgubmV4dF9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgubmV4dF9zdGF0ZV0gOiAnWCc7CisKKwkJc3RhdGUgPSBlbnRyeS0+Y3R4LnByZXZfc3RhdGUgPyBfX2ZmcyhlbnRyeS0+Y3R4LnByZXZfc3RhdGUpICsgMSA6IDA7CisJCVMgPSBzdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSAtIDEgPyBzdGF0ZV90b19jaGFyW3N0YXRlXSA6ICdYJzsKKwkJY29tbSA9IHRyYWNlX2ZpbmRfY21kbGluZShlbnRyeS0+Y3R4Lm5leHRfcGlkKTsKKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiICU1ZDolM2Q6JWMgJXMgJTVkOiUzZDolYyAlc1xuIiwKKwkJCQkgZW50cnktPmN0eC5wcmV2X3BpZCwKKwkJCQkgZW50cnktPmN0eC5wcmV2X3ByaW8sCisJCQkJIFMsIGVudHJ5LT50eXBlID09IFRSQUNFX0NUWCA/ICI9PT4iIDogIiAgKyIsCisJCQkJIGVudHJ5LT5jdHgubmV4dF9waWQsCisJCQkJIGVudHJ5LT5jdHgubmV4dF9wcmlvLAorCQkJCSBULCBjb21tKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCQl0cmFjZV9zZXFfcHJpbnRmKHMsICIjICVsZCAlbGQgJWxkXG4iLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcxLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcyLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJZm9yIChpID0gMDsgaSA8IEZUUkFDRV9TVEFDS19FTlRSSUVTOyBpKyspIHsKKwkJCWlmIChpKQorCQkJCXRyYWNlX3NlcV9wdXRzKHMsICIgPD0gIik7CisJCQlzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5zdGFjay5jYWxsZXJbaV0sIHN5bV9mbGFncyk7CisJCX0KKwkJdHJhY2Vfc2VxX3B1dHMocywgIlxuIik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXRyYWNlX3NlcV9wcmludGYocywgIlVua25vd24gdHlwZSAlZFxuIiwgZW50cnktPnR5cGUpOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcmludF90cmFjZV9mbXQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgc3ltX2ZsYWdzID0gKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fTUFTSyk7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIHVzZWNfcmVtOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0OworCXVuc2lnbmVkIGxvbmcgc2VjczsKKwljaGFyICpjb21tOworCWludCByZXQ7CisJaW50IFMsIFQ7CisJaW50IGk7CisKKwllbnRyeSA9IGl0ZXItPmVudDsKKworCWNvbW0gPSB0cmFjZV9maW5kX2NtZGxpbmUoaXRlci0+ZW50LT5waWQpOworCisJdCA9IG5zMnVzZWNzKGVudHJ5LT50KTsKKwl1c2VjX3JlbSA9IGRvX2Rpdih0LCAxMDAwMDAwVUxMKTsKKwlzZWNzID0gKHVuc2lnbmVkIGxvbmcpdDsKKworCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiUxNnMtJS01ZCAiLCBjb21tLCBlbnRyeS0+cGlkKTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiWyUwMmRdICIsIGl0ZXItPmNwdSk7CisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiU1bHUuJTA2bHU6ICIsIHNlY3MsIHVzZWNfcmVtKTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwkJcmV0ID0gc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+Zm4uaXAsIHN5bV9mbGFncyk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWlmICgoc3ltX2ZsYWdzICYgVFJBQ0VfSVRFUl9QUklOVF9QQVJFTlQpICYmCisJCQkJCQllbnRyeS0+Zm4ucGFyZW50X2lwKSB7CisJCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgPC0iKTsKKwkJCWlmICghcmV0KQorCQkJCXJldHVybiAwOworCQkJaWYgKGtyZXRwcm9iZWQoZW50cnktPmZuLnBhcmVudF9pcCkpCisJCQkJcmV0ID0gdHJhY2Vfc2VxX3B1dHMocywgS1JFVFBST0JFX01TRyk7CisJCQllbHNlCisJCQkJcmV0ID0gc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+Zm4ucGFyZW50X2lwLAorCQkJCQkJICAgICAgIHN5bV9mbGFncyk7CisJCQlpZiAoIXJldCkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJcbiIpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJCVMgPSBlbnRyeS0+Y3R4LnByZXZfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4LnByZXZfc3RhdGVdIDogJ1gnOworCQlUID0gZW50cnktPmN0eC5uZXh0X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5uZXh0X3N0YXRlXSA6ICdYJzsKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiICU1ZDolM2Q6JWMgJXMgJTVkOiUzZDolY1xuIiwKKwkJCQkgICAgICAgZW50cnktPmN0eC5wcmV2X3BpZCwKKwkJCQkgICAgICAgZW50cnktPmN0eC5wcmV2X3ByaW8sCisJCQkJICAgICAgIFMsCisJCQkJICAgICAgIGVudHJ5LT50eXBlID09IFRSQUNFX0NUWCA/ICI9PT4iIDogIiAgKyIsCisJCQkJICAgICAgIGVudHJ5LT5jdHgubmV4dF9waWQsCisJCQkJICAgICAgIGVudHJ5LT5jdHgubmV4dF9wcmlvLAorCQkJCSAgICAgICBUKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIjICVsZCAlbGQgJWxkXG4iLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcxLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcyLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJZm9yIChpID0gMDsgaSA8IEZUUkFDRV9TVEFDS19FTlRSSUVTOyBpKyspIHsKKwkJCWlmIChpKSB7CisJCQkJcmV0ID0gdHJhY2Vfc2VxX3B1dHMocywgIiA8PSAiKTsKKwkJCQlpZiAoIXJldCkKKwkJCQkJcmV0dXJuIDA7CisJCQl9CisJCQlyZXQgPSBzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5zdGFjay5jYWxsZXJbaV0sCisJCQkJCSAgICAgICBzeW1fZmxhZ3MpOworCQkJaWYgKCFyZXQpCisJCQkJcmV0dXJuIDA7CisJCX0KKwkJcmV0ID0gdHJhY2Vfc2VxX3B1dHMocywgIlxuIik7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcmludF9yYXdfZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCWludCByZXQ7CisJaW50IFMsIFQ7CisKKwllbnRyeSA9IGl0ZXItPmVudDsKKworCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiVkICVkICVsbHUgIiwKKwkJZW50cnktPnBpZCwgaXRlci0+Y3B1LCBlbnRyeS0+dCk7CisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiV4ICV4XG4iLAorCQkJCQllbnRyeS0+Zm4uaXAsIGVudHJ5LT5mbi5wYXJlbnRfaXApOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJCVMgPSBlbnRyeS0+Y3R4LnByZXZfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4LnByZXZfc3RhdGVdIDogJ1gnOworCQlUID0gZW50cnktPmN0eC5uZXh0X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5uZXh0X3N0YXRlXSA6ICdYJzsKKwkJaWYgKGVudHJ5LT50eXBlID09IFRSQUNFX1dBS0UpCisJCQlTID0gJysnOworCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIlZCAlZCAlYyAlZCAlZCAlY1xuIiwKKwkJCQkgICAgICAgZW50cnktPmN0eC5wcmV2X3BpZCwKKwkJCQkgICAgICAgZW50cnktPmN0eC5wcmV2X3ByaW8sCisJCQkJICAgICAgIFMsCisJCQkJICAgICAgIGVudHJ5LT5jdHgubmV4dF9waWQsCisJCQkJICAgICAgIGVudHJ5LT5jdHgubmV4dF9wcmlvLAorCQkJCSAgICAgICBUKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiMgJWxkICVsZCAlbGRcbiIsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzEsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzIsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzMpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwl9CisJcmV0dXJuIDE7Cit9CisKKyNkZWZpbmUgU0VRX1BVVF9GSUVMRF9SRVQocywgeCkJCQkJXAorZG8gewkJCQkJCQlcCisJaWYgKCF0cmFjZV9zZXFfcHV0bWVtKHMsICYoeCksIHNpemVvZih4KSkpCVwKKwkJcmV0dXJuIDA7CQkJCVwKK30gd2hpbGUgKDApCisKKyNkZWZpbmUgU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIHgpCQkJXAorZG8gewkJCQkJCQlcCisJaWYgKCF0cmFjZV9zZXFfcHV0bWVtX2hleChzLCAmKHgpLCBzaXplb2YoeCkpKQlcCisJCXJldHVybiAwOwkJCQlcCit9IHdoaWxlICgwKQorCitzdGF0aWMgaW50IHByaW50X2hleF9mbXQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGNoYXIgbmV3bGluZSA9ICdcbic7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwlpbnQgUywgVDsKKworCWVudHJ5ID0gaXRlci0+ZW50OworCisJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5waWQpOworCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBpdGVyLT5jcHUpOworCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+dCk7CisKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5pcCk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Zm4ucGFyZW50X2lwKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCQlTID0gZW50cnktPmN0eC5wcmV2X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5wcmV2X3N0YXRlXSA6ICdYJzsKKwkJVCA9IGVudHJ5LT5jdHgubmV4dF9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgubmV4dF9zdGF0ZV0gOiAnWCc7CisJCWlmIChlbnRyeS0+dHlwZSA9PSBUUkFDRV9XQUtFKQorCQkJUyA9ICcrJzsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgucHJldl9waWQpOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3ByaW8pOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgUyk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfcGlkKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgubmV4dF9wcmlvKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5wYXJlbnRfaXApOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgVCk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwljYXNlIFRSQUNFX1NUQUNLOgorCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMSk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmcyKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzMpOworCQlicmVhazsKKwl9CisJU0VRX1BVVF9GSUVMRF9SRVQocywgbmV3bGluZSk7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcmludF9iaW5fZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCisJZW50cnkgPSBpdGVyLT5lbnQ7CisKKwlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+cGlkKTsKKwlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3B1KTsKKwlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+dCk7CisKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmZuLmlwKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmZuLnBhcmVudF9pcCk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfQ1RYOgorCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4LnByZXZfcGlkKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3ByaW8pOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4LnByZXZfc3RhdGUpOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfcGlkKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3ByaW8pOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfc3RhdGUpOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMSk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzIpOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHRyYWNlX2VtcHR5KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCWludCBjcHU7CisKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2NwdV07CisKKwkJaWYgKGhlYWRfcGFnZShkYXRhKSAmJiBkYXRhLT50cmFjZV9pZHggJiYKKwkJICAgIChkYXRhLT50cmFjZV90YWlsICE9IGRhdGEtPnRyYWNlX2hlYWQgfHwKKwkJICAgICBkYXRhLT50cmFjZV90YWlsX2lkeCAhPSBkYXRhLT50cmFjZV9oZWFkX2lkeCkpCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfdHJhY2VfbGluZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJaWYgKGl0ZXItPnRyYWNlICYmIGl0ZXItPnRyYWNlLT5wcmludF9saW5lKQorCQlyZXR1cm4gaXRlci0+dHJhY2UtPnByaW50X2xpbmUoaXRlcik7CisKKwlpZiAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX0JJTikKKwkJcmV0dXJuIHByaW50X2Jpbl9mbXQoaXRlcik7CisKKwlpZiAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX0hFWCkKKwkJcmV0dXJuIHByaW50X2hleF9mbXQoaXRlcik7CisKKwlpZiAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1JBVykKKwkJcmV0dXJuIHByaW50X3Jhd19mbXQoaXRlcik7CisKKwlpZiAoaXRlci0+aXRlcl9mbGFncyAmIFRSQUNFX0ZJTEVfTEFUX0ZNVCkKKwkJcmV0dXJuIHByaW50X2xhdF9mbXQoaXRlciwgaXRlci0+aWR4LCBpdGVyLT5jcHUpOworCisJcmV0dXJuIHByaW50X3RyYWNlX2ZtdChpdGVyKTsKK30KKworc3RhdGljIGludCBzX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IHY7CisKKwlpZiAoaXRlci0+ZW50ID09IE5VTEwpIHsKKwkJaWYgKGl0ZXItPnRyKSB7CisJCQlzZXFfcHJpbnRmKG0sICIjIHRyYWNlcjogJXNcbiIsIGl0ZXItPnRyYWNlLT5uYW1lKTsKKwkJCXNlcV9wdXRzKG0sICIjXG4iKTsKKwkJfQorCQlpZiAoaXRlci0+aXRlcl9mbGFncyAmIFRSQUNFX0ZJTEVfTEFUX0ZNVCkgeworCQkJLyogcHJpbnQgbm90aGluZyBpZiB0aGUgYnVmZmVycyBhcmUgZW1wdHkgKi8KKwkJCWlmICh0cmFjZV9lbXB0eShpdGVyKSkKKwkJCQlyZXR1cm4gMDsKKwkJCXByaW50X3RyYWNlX2hlYWRlcihtLCBpdGVyKTsKKwkJCWlmICghKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9WRVJCT1NFKSkKKwkJCQlwcmludF9sYXRfaGVscF9oZWFkZXIobSk7CisJCX0gZWxzZSB7CisJCQlpZiAoISh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfVkVSQk9TRSkpCisJCQkJcHJpbnRfZnVuY19oZWxwX2hlYWRlcihtKTsKKwkJfQorCX0gZWxzZSB7CisJCXByaW50X3RyYWNlX2xpbmUoaXRlcik7CisJCXRyYWNlX3ByaW50X3NlcShtLCAmaXRlci0+c2VxKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzZXFfb3BlcmF0aW9ucyB0cmFjZXJfc2VxX29wcyA9IHsKKwkuc3RhcnQJCT0gc19zdGFydCwKKwkubmV4dAkJPSBzX25leHQsCisJLnN0b3AJCT0gc19zdG9wLAorCS5zaG93CQk9IHNfc2hvdywKK307CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKgorX190cmFjaW5nX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIGludCAqcmV0KQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcjsKKworCWlmICh0cmFjaW5nX2Rpc2FibGVkKSB7CisJCSpyZXQgPSAtRU5PREVWOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpdGVyID0ga3phbGxvYyhzaXplb2YoKml0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWl0ZXIpIHsKKwkJKnJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWlmIChjdXJyZW50X3RyYWNlICYmIGN1cnJlbnRfdHJhY2UtPnByaW50X21heCkKKwkJaXRlci0+dHIgPSAmbWF4X3RyOworCWVsc2UKKwkJaXRlci0+dHIgPSBpbm9kZS0+aV9wcml2YXRlOworCWl0ZXItPnRyYWNlID0gY3VycmVudF90cmFjZTsKKwlpdGVyLT5wb3MgPSAtMTsKKworCS8qIFRPRE8gc3RvcCB0cmFjZXIgKi8KKwkqcmV0ID0gc2VxX29wZW4oZmlsZSwgJnRyYWNlcl9zZXFfb3BzKTsKKwlpZiAoISpyZXQpIHsKKwkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCQltLT5wcml2YXRlID0gaXRlcjsKKworCQkvKiBzdG9wIHRoZSB0cmFjZSB3aGlsZSBkdW1waW5nICovCisJCWlmIChpdGVyLT50ci0+Y3RybCkgeworCQkJdHJhY2VyX2VuYWJsZWQgPSAwOworCQkJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAwOworCQl9CisKKwkJaWYgKGl0ZXItPnRyYWNlICYmIGl0ZXItPnRyYWNlLT5vcGVuKQorCQkJaXRlci0+dHJhY2UtPm9wZW4oaXRlcik7CisJfSBlbHNlIHsKKwkJa2ZyZWUoaXRlcik7CisJCWl0ZXIgPSBOVUxMOworCX0KKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisgb3V0OgorCXJldHVybiBpdGVyOworfQorCitpbnQgdHJhY2luZ19vcGVuX2dlbmVyaWMoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpCisJCXJldHVybiAtRU5PREVWOworCisJZmlscC0+cHJpdmF0ZV9kYXRhID0gaW5vZGUtPmlfcHJpdmF0ZTsKKwlyZXR1cm4gMDsKK30KKworaW50IHRyYWNpbmdfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSAoc3RydWN0IHNlcV9maWxlICopZmlsZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAoaXRlci0+dHJhY2UgJiYgaXRlci0+dHJhY2UtPmNsb3NlKQorCQlpdGVyLT50cmFjZS0+Y2xvc2UoaXRlcik7CisKKwkvKiByZWVuYWJsZSB0cmFjaW5nIGlmIGl0IHdhcyBwcmV2aW91c2x5IGVuYWJsZWQgKi8KKwlpZiAoaXRlci0+dHItPmN0cmwpIHsKKwkJdHJhY2VyX2VuYWJsZWQgPSAxOworCQkvKgorCQkgKiBJdCBpcyBzYWZlIHRvIGVuYWJsZSBmdW5jdGlvbiB0cmFjaW5nIGV2ZW4gaWYgaXQKKwkJICogaXNuJ3QgdXNlZAorCQkgKi8KKwkJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAxOworCX0KKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJc2VxX3JlbGVhc2UoaW5vZGUsIGZpbGUpOworCWtmcmVlKGl0ZXIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRyYWNpbmdfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlpbnQgcmV0OworCisJX190cmFjaW5nX29wZW4oaW5vZGUsIGZpbGUsICZyZXQpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCB0cmFjaW5nX2x0X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyOworCWludCByZXQ7CisKKwlpdGVyID0gX190cmFjaW5nX29wZW4oaW5vZGUsIGZpbGUsICZyZXQpOworCisJaWYgKCFyZXQpCisJCWl0ZXItPml0ZXJfZmxhZ3MgfD0gVFJBQ0VfRklMRV9MQVRfRk1UOworCisJcmV0dXJuIHJldDsKK30KKworCitzdGF0aWMgdm9pZCAqCit0X25leHQoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2LCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VyICp0ID0gbS0+cHJpdmF0ZTsKKworCSgqcG9zKSsrOworCisJaWYgKHQpCisJCXQgPSB0LT5uZXh0OworCisJbS0+cHJpdmF0ZSA9IHQ7CisKKwlyZXR1cm4gdDsKK30KKworc3RhdGljIHZvaWQgKnRfc3RhcnQoc3RydWN0IHNlcV9maWxlICptLCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VyICp0ID0gbS0+cHJpdmF0ZTsKKwlsb2ZmX3QgbCA9IDA7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlmb3IgKDsgdCAmJiBsIDwgKnBvczsgdCA9IHRfbmV4dChtLCB0LCAmbCkpCisJCTsKKworCXJldHVybiB0OworfQorCitzdGF0aWMgdm9pZCB0X3N0b3Aoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpwKQoreworCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7Cit9CisKK3N0YXRpYyBpbnQgdF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKKwlzdHJ1Y3QgdHJhY2VyICp0ID0gdjsKKworCWlmICghdCkKKwkJcmV0dXJuIDA7CisKKwlzZXFfcHJpbnRmKG0sICIlcyIsIHQtPm5hbWUpOworCWlmICh0LT5uZXh0KQorCQlzZXFfcHV0YyhtLCAnICcpOworCWVsc2UKKwkJc2VxX3B1dGMobSwgJ1xuJyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzZXFfb3BlcmF0aW9ucyBzaG93X3RyYWNlc19zZXFfb3BzID0geworCS5zdGFydAkJPSB0X3N0YXJ0LAorCS5uZXh0CQk9IHRfbmV4dCwKKwkuc3RvcAkJPSB0X3N0b3AsCisJLnNob3cJCT0gdF9zaG93LAorfTsKKworc3RhdGljIGludCBzaG93X3RyYWNlc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWludCByZXQ7CisKKwlpZiAodHJhY2luZ19kaXNhYmxlZCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlyZXQgPSBzZXFfb3BlbihmaWxlLCAmc2hvd190cmFjZXNfc2VxX29wcyk7CisJaWYgKCFyZXQpIHsKKwkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCQltLT5wcml2YXRlID0gdHJhY2VfdHlwZXM7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHRyYWNpbmdfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfbHRfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX2x0X29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSB0cmFjaW5nX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzaG93X3RyYWNlc19mb3BzID0geworCS5vcGVuCQk9IHNob3dfdHJhY2VzX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLnJlbGVhc2UJPSBzZXFfcmVsZWFzZSwKK307CisKKy8qCisgKiBPbmx5IHRyYWNlIG9uIGEgQ1BVIGlmIHRoZSBiaXRtYXNrIGlzIHNldDoKKyAqLworc3RhdGljIGNwdW1hc2tfdCB0cmFjaW5nX2NwdW1hc2sgPSBDUFVfTUFTS19BTEw7CisKKy8qCisgKiBXaGVuIHRyYWNpbmcvdHJhY2luZ19jcHVfbWFzayBpcyBtb2RpZmllZCB0aGVuIHRoaXMgaG9sZHMKKyAqIHRoZSBuZXcgYml0bWFzayB3ZSBhcmUgYWJvdXQgdG8gaW5zdGFsbDoKKyAqLworc3RhdGljIGNwdW1hc2tfdCB0cmFjaW5nX2NwdW1hc2tfbmV3OworCisvKgorICogVGhlIHRyYWNlciBpdHNlbGYgd2lsbCBub3QgdGFrZSB0aGlzIGxvY2ssIGJ1dCBzdGlsbCB3ZSB3YW50CisgKiB0byBwcm92aWRlIGEgY29uc2lzdGVudCBjcHVtYXNrIHRvIHVzZXItc3BhY2U6CisgKi8KK3N0YXRpYyBERUZJTkVfTVVURVgodHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworLyoKKyAqIFRlbXBvcmFyeSBzdG9yYWdlIGZvciB0aGUgY2hhcmFjdGVyIHJlcHJlc2VudGF0aW9uIG9mIHRoZQorICogQ1BVIGJpdG1hc2sgKGFuZCBvbmUgbW9yZSBieXRlIGZvciB0aGUgbmV3bGluZSk6CisgKi8KK3N0YXRpYyBjaGFyIG1hc2tfc3RyW05SX0NQVVMgKyAxXTsKKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfY3B1bWFza19yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwlpbnQgbGVuOworCisJbXV0ZXhfbG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworCWxlbiA9IGNwdW1hc2tfc2NucHJpbnRmKG1hc2tfc3RyLCBjb3VudCwgdHJhY2luZ19jcHVtYXNrKTsKKwlpZiAoY291bnQgLSBsZW4gPCAyKSB7CisJCWNvdW50ID0gLUVJTlZBTDsKKwkJZ290byBvdXRfZXJyOworCX0KKwlsZW4gKz0gc3ByaW50ZihtYXNrX3N0ciArIGxlbiwgIlxuIik7CisJY291bnQgPSBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjb3VudCwgcHBvcywgbWFza19zdHIsIE5SX0NQVVMrMSk7CisKK291dF9lcnI6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19jcHVtYXNrX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCit7CisJaW50IGVyciwgY3B1OworCisJbXV0ZXhfbG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKwllcnIgPSBjcHVtYXNrX3BhcnNlX3VzZXIodWJ1ZiwgY291bnQsIHRyYWNpbmdfY3B1bWFza19uZXcpOworCWlmIChlcnIpCisJCWdvdG8gZXJyX3VubG9jazsKKworCXJhd19sb2NhbF9pcnFfZGlzYWJsZSgpOworCV9fcmF3X3NwaW5fbG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJLyoKKwkJICogSW5jcmVhc2UvZGVjcmVhc2UgdGhlIGRpc2FibGVkIGNvdW50ZXIgaWYgd2UgYXJlCisJCSAqIGFib3V0IHRvIGZsaXAgYSBiaXQgaW4gdGhlIGNwdW1hc2s6CisJCSAqLworCQlpZiAoY3B1X2lzc2V0KGNwdSwgdHJhY2luZ19jcHVtYXNrKSAmJgorCQkJCSFjcHVfaXNzZXQoY3B1LCB0cmFjaW5nX2NwdW1hc2tfbmV3KSkgeworCQkJYXRvbWljX2luYygmZ2xvYmFsX3RyYWNlLmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworCQl9CisJCWlmICghY3B1X2lzc2V0KGNwdSwgdHJhY2luZ19jcHVtYXNrKSAmJgorCQkJCWNwdV9pc3NldChjcHUsIHRyYWNpbmdfY3B1bWFza19uZXcpKSB7CisJCQlhdG9taWNfZGVjKCZnbG9iYWxfdHJhY2UuZGF0YVtjcHVdLT5kaXNhYmxlZCk7CisJCX0KKwl9CisJX19yYXdfc3Bpbl91bmxvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJcmF3X2xvY2FsX2lycV9lbmFibGUoKTsKKworCXRyYWNpbmdfY3B1bWFzayA9IHRyYWNpbmdfY3B1bWFza19uZXc7CisKKwltdXRleF91bmxvY2soJnRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisKKwlyZXR1cm4gY291bnQ7CisKK2Vycl91bmxvY2s6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19jcHVtYXNrX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19jcHVtYXNrX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfY3B1bWFza193cml0ZSwKK307CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2l0ZXJfY3RybF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyICpidWY7CisJaW50IHIgPSAwOworCWludCBsZW4gPSAwOworCWludCBpOworCisJLyogY2FsdWxhdGUgbWF4IHNpemUgKi8KKwlmb3IgKGkgPSAwOyB0cmFjZV9vcHRpb25zW2ldOyBpKyspIHsKKwkJbGVuICs9IHN0cmxlbih0cmFjZV9vcHRpb25zW2ldKTsKKwkJbGVuICs9IDM7IC8qICJubyIgYW5kIHNwYWNlICovCisJfQorCisJLyogKzIgZm9yIFxuIGFuZCBcMCAqLworCWJ1ZiA9IGttYWxsb2MobGVuICsgMiwgR0ZQX0tFUk5FTCk7CisJaWYgKCFidWYpCisJCXJldHVybiAtRU5PTUVNOworCisJZm9yIChpID0gMDsgdHJhY2Vfb3B0aW9uc1tpXTsgaSsrKSB7CisJCWlmICh0cmFjZV9mbGFncyAmICgxIDw8IGkpKQorCQkJciArPSBzcHJpbnRmKGJ1ZiArIHIsICIlcyAiLCB0cmFjZV9vcHRpb25zW2ldKTsKKwkJZWxzZQorCQkJciArPSBzcHJpbnRmKGJ1ZiArIHIsICJubyVzICIsIHRyYWNlX29wdGlvbnNbaV0pOworCX0KKworCXIgKz0gc3ByaW50ZihidWYgKyByLCAiXG4iKTsKKwlXQVJOX09OKHIgPj0gbGVuICsgMik7CisKKwlyID0gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworCisJa2ZyZWUoYnVmKTsKKworCXJldHVybiByOworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19pdGVyX2N0cmxfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkJc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmWzY0XTsKKwljaGFyICpjbXAgPSBidWY7CisJaW50IG5lZyA9IDA7CisJaW50IGk7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCWlmIChzdHJuY21wKGJ1ZiwgIm5vIiwgMikgPT0gMCkgeworCQluZWcgPSAxOworCQljbXAgKz0gMjsKKwl9CisKKwlmb3IgKGkgPSAwOyB0cmFjZV9vcHRpb25zW2ldOyBpKyspIHsKKwkJaW50IGxlbiA9IHN0cmxlbih0cmFjZV9vcHRpb25zW2ldKTsKKworCQlpZiAoc3RybmNtcChjbXAsIHRyYWNlX29wdGlvbnNbaV0sIGxlbikgPT0gMCkgeworCQkJaWYgKG5lZykKKwkJCQl0cmFjZV9mbGFncyAmPSB+KDEgPDwgaSk7CisJCQllbHNlCisJCQkJdHJhY2VfZmxhZ3MgfD0gKDEgPDwgaSk7CisJCQlicmVhazsKKwkJfQorCX0KKwkvKgorCSAqIElmIG5vIG9wdGlvbiBjb3VsZCBiZSBzZXQsIHJldHVybiBhbiBlcnJvcjoKKwkgKi8KKwlpZiAoIXRyYWNlX29wdGlvbnNbaV0pCisJCXJldHVybiAtRUlOVkFMOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19pdGVyX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19pdGVyX2N0cmxfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19pdGVyX2N0cmxfd3JpdGUsCit9OworCitzdGF0aWMgY29uc3QgY2hhciByZWFkbWVfbXNnW10gPQorCSJ0cmFjaW5nIG1pbmktSE9XVE86XG5cbiIKKwkiIyBta2RpciAvZGVidWdcbiIKKwkiIyBtb3VudCAtdCBkZWJ1Z2ZzIG5vZGV2IC9kZWJ1Z1xuXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL2F2YWlsYWJsZV90cmFjZXJzXG4iCisJIndha2V1cCBwcmVlbXB0aXJxc29mZiBwcmVlbXB0b2ZmIGlycXNvZmYgZnRyYWNlIHNjaGVkX3N3aXRjaCBub25lXG5cbiIKKwkiIyBjYXQgL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXJcbiIKKwkibm9uZVxuIgorCSIjIGVjaG8gc2NoZWRfc3dpdGNoID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXJcbiIKKwkiIyBjYXQgL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXJcbiIKKwkic2NoZWRfc3dpdGNoXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybFxuIgorCSJub3ByaW50LXBhcmVudCBub3N5bS1vZmZzZXQgbm9zeW0tYWRkciBub3ZlcmJvc2VcbiIKKwkiIyBlY2hvIHByaW50LXBhcmVudCA+IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybFxuIgorCSIjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZFxuIgorCSIjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZSA+IC90bXAvdHJhY2UudHh0XG4iCisJImVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZFxuIgorOworCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19yZWFkbWVfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywKKwkJCQkJcmVhZG1lX21zZywgc3RybGVuKHJlYWRtZV9tc2cpKTsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19yZWFkbWVfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX3JlYWRtZV9yZWFkLAorfTsKKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfY3RybF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJaW50IHI7CisKKwlyID0gc3ByaW50ZihidWYsICIlbGRcbiIsIHRyLT5jdHJsKTsKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19jdHJsX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWxvbmcgdmFsOworCWludCByZXQ7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCXJldCA9IHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJdmFsID0gISF2YWw7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAodHItPmN0cmwgXiB2YWwpIHsKKwkJaWYgKHZhbCkKKwkJCXRyYWNlcl9lbmFibGVkID0gMTsKKwkJZWxzZQorCQkJdHJhY2VyX2VuYWJsZWQgPSAwOworCisJCXRyLT5jdHJsID0gdmFsOworCisJCWlmIChjdXJyZW50X3RyYWNlICYmIGN1cnJlbnRfdHJhY2UtPmN0cmxfdXBkYXRlKQorCQkJY3VycmVudF90cmFjZS0+Y3RybF91cGRhdGUodHIpOworCX0KKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfc2V0X3RyYWNlX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmW21heF90cmFjZXJfdHlwZV9sZW4rMl07CisJaW50IHI7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAoY3VycmVudF90cmFjZSkKKwkJciA9IHNwcmludGYoYnVmLCAiJXNcbiIsIGN1cnJlbnRfdHJhY2UtPm5hbWUpOworCWVsc2UKKwkJciA9IHNwcmludGYoYnVmLCAiXG4iKTsKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfc2V0X3RyYWNlX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJCXNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gJmdsb2JhbF90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VyICp0OworCWNoYXIgYnVmW21heF90cmFjZXJfdHlwZV9sZW4rMV07CisJaW50IGk7CisKKwlpZiAoY250ID4gbWF4X3RyYWNlcl90eXBlX2xlbikKKwkJY250ID0gbWF4X3RyYWNlcl90eXBlX2xlbjsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCS8qIHN0cmlwIGVuZGluZyB3aGl0ZXNwYWNlLiAqLworCWZvciAoaSA9IGNudCAtIDE7IGkgPiAwICYmIGlzc3BhY2UoYnVmW2ldKTsgaS0tKQorCQlidWZbaV0gPSAwOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJZm9yICh0ID0gdHJhY2VfdHlwZXM7IHQ7IHQgPSB0LT5uZXh0KSB7CisJCWlmIChzdHJjbXAodC0+bmFtZSwgYnVmKSA9PSAwKQorCQkJYnJlYWs7CisJfQorCWlmICghdCB8fCB0ID09IGN1cnJlbnRfdHJhY2UpCisJCWdvdG8gb3V0OworCisJaWYgKGN1cnJlbnRfdHJhY2UgJiYgY3VycmVudF90cmFjZS0+cmVzZXQpCisJCWN1cnJlbnRfdHJhY2UtPnJlc2V0KHRyKTsKKworCWN1cnJlbnRfdHJhY2UgPSB0OworCWlmICh0LT5pbml0KQorCQl0LT5pbml0KHRyKTsKKworIG91dDoKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfbWF4X2xhdF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJdW5zaWduZWQgbG9uZyAqcHRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgcjsKKworCXIgPSBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWxkXG4iLAorCQkgICAgICpwdHIgPT0gKHVuc2lnbmVkIGxvbmcpLTEgPyAtMSA6IG5zZWNzX3RvX3VzZWNzKCpwdHIpKTsKKwlpZiAociA+IHNpemVvZihidWYpKQorCQlyID0gc2l6ZW9mKGJ1Zik7CisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfbWF4X2xhdF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlsb25nICpwdHIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWxvbmcgdmFsOworCWludCByZXQ7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCXJldCA9IHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJKnB0ciA9IHZhbCAqIDEwMDA7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgYXRvbWljX3QgdHJhY2luZ19yZWFkZXI7CisKK3N0YXRpYyBpbnQgdHJhY2luZ19vcGVuX3BpcGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyOworCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpCisJCXJldHVybiAtRU5PREVWOworCisJLyogV2Ugb25seSBhbGxvdyBmb3IgcmVhZGVyIG9mIHRoZSBwaXBlICovCisJaWYgKGF0b21pY19pbmNfcmV0dXJuKCZ0cmFjaW5nX3JlYWRlcikgIT0gMSkgeworCQlhdG9taWNfZGVjKCZ0cmFjaW5nX3JlYWRlcik7CisJCXJldHVybiAtRUJVU1k7CisJfQorCisJLyogY3JlYXRlIGEgYnVmZmVyIHRvIHN0b3JlIHRoZSBpbmZvcm1hdGlvbiB0byBwYXNzIHRvIHVzZXJzcGFjZSAqLworCWl0ZXIgPSBremFsbG9jKHNpemVvZigqaXRlciksIEdGUF9LRVJORUwpOworCWlmICghaXRlcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpdGVyLT50ciA9ICZnbG9iYWxfdHJhY2U7CisJaXRlci0+dHJhY2UgPSBjdXJyZW50X3RyYWNlOworCWZpbHAtPnByaXZhdGVfZGF0YSA9IGl0ZXI7CisKKwlpZiAoaXRlci0+dHJhY2UtPnBpcGVfb3BlbikKKwkJaXRlci0+dHJhY2UtPnBpcGVfb3BlbihpdGVyKTsKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdHJhY2luZ19yZWxlYXNlX3BpcGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJa2ZyZWUoaXRlcik7CisJYXRvbWljX2RlYygmdHJhY2luZ19yZWFkZXIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQKK3RyYWNpbmdfcG9sbF9waXBlKHN0cnVjdCBmaWxlICpmaWxwLCBwb2xsX3RhYmxlICpwb2xsX3RhYmxlKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKworCWlmICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfQkxPQ0spIHsKKwkJLyoKKwkJICogQWx3YXlzIHNlbGVjdCBhcyByZWFkYWJsZSB3aGVuIGluIGJsb2NraW5nIG1vZGUKKwkJICovCisJCXJldHVybiBQT0xMSU4gfCBQT0xMUkROT1JNOworCX0gZWxzZSB7CisJCWlmICghdHJhY2VfZW1wdHkoaXRlcikpCisJCQlyZXR1cm4gUE9MTElOIHwgUE9MTFJETk9STTsKKwkJcG9sbF93YWl0KGZpbHAsICZ0cmFjZV93YWl0LCBwb2xsX3RhYmxlKTsKKwkJaWYgKCF0cmFjZV9lbXB0eShpdGVyKSkKKwkJCXJldHVybiBQT0xMSU4gfCBQT0xMUkROT1JNOworCisJCXJldHVybiAwOworCX0KK30KKworLyoKKyAqIENvbnN1bWVyIHJlYWRlci4KKyAqLworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfcmVhZF9waXBlKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJc3RhdGljIGNwdW1hc2tfdCBtYXNrOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCWludCBmdHJhY2Vfc2F2ZTsKKyNlbmRpZgorCWludCBjcHU7CisJc3NpemVfdCBzcmV0OworCisJLyogcmV0dXJuIGFueSBsZWZ0b3ZlciBkYXRhICovCisJc3JldCA9IHRyYWNlX3NlcV90b191c2VyKCZpdGVyLT5zZXEsIHVidWYsIGNudCk7CisJaWYgKHNyZXQgIT0gLUVCVVNZKQorCQlyZXR1cm4gc3JldDsKKwlzcmV0ID0gMDsKKworCXRyYWNlX3NlcV9yZXNldCgmaXRlci0+c2VxKTsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWlmIChpdGVyLT50cmFjZS0+cmVhZCkgeworCQlzcmV0ID0gaXRlci0+dHJhY2UtPnJlYWQoaXRlciwgZmlscCwgdWJ1ZiwgY250LCBwcG9zKTsKKwkJaWYgKHNyZXQpCisJCQlnb3RvIG91dDsKKwl9CisKKwl3aGlsZSAodHJhY2VfZW1wdHkoaXRlcikpIHsKKworCQlpZiAoKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSkgeworCQkJc3JldCA9IC1FQUdBSU47CisJCQlnb3RvIG91dDsKKwkJfQorCisJCS8qCisJCSAqIFRoaXMgaXMgYSBtYWtlLXNoaWZ0IHdhaXRxdWV1ZS4gVGhlIHJlYXNvbiB3ZSBkb24ndCB1c2UKKwkJICogYW4gYWN0dWFsIHdhaXQgcXVldWUgaXMgYmVjYXVzZToKKwkJICogIDEpIHdlIG9ubHkgZXZlciBoYXZlIG9uZSB3YWl0ZXIKKwkJICogIDIpIHRoZSB0cmFjaW5nLCB0cmFjZXMgYWxsIGZ1bmN0aW9ucywgd2UgZG9uJ3Qgd2FudAorCQkgKiAgICAgdGhlIG92ZXJoZWFkIG9mIGNhbGxpbmcgd2FrZV91cCBhbmQgZnJpZW5kcworCQkgKiAgICAgKGFuZCB0cmFjaW5nIHRoZW0gdG9vKQorCQkgKiAgICAgQW55d2F5LCB0aGlzIGlzIHJlYWxseSB2ZXJ5IHByaW1pdGl2ZSB3YWtldXAuCisJCSAqLworCQlzZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVSUlVQVElCTEUpOworCQlpdGVyLT50ci0+d2FpdGVyID0gY3VycmVudDsKKworCQltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJCS8qIHNsZWVwIGZvciAxMDAgbXNlY3MsIGFuZCB0cnkgYWdhaW4uICovCisJCXNjaGVkdWxlX3RpbWVvdXQoSFovMTApOworCisJCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJCWl0ZXItPnRyLT53YWl0ZXIgPSBOVUxMOworCisJCWlmIChzaWduYWxfcGVuZGluZyhjdXJyZW50KSkgeworCQkJc3JldCA9IC1FSU5UUjsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJaWYgKGl0ZXItPnRyYWNlICE9IGN1cnJlbnRfdHJhY2UpCisJCQlnb3RvIG91dDsKKworCQkvKgorCQkgKiBXZSBibG9jayB1bnRpbCB3ZSByZWFkIHNvbWV0aGluZyBhbmQgdHJhY2luZyBpcyBkaXNhYmxlZC4KKwkJICogV2Ugc3RpbGwgYmxvY2sgaWYgdHJhY2luZyBpcyBkaXNhYmxlZCwgYnV0IHdlIGhhdmUgbmV2ZXIKKwkJICogcmVhZCBhbnl0aGluZy4gVGhpcyBhbGxvd3MgYSB1c2VyIHRvIGNhdCB0aGlzIGZpbGUsIGFuZAorCQkgKiB0aGVuIGVuYWJsZSB0cmFjaW5nLiBCdXQgYWZ0ZXIgd2UgaGF2ZSByZWFkIHNvbWV0aGluZywKKwkJICogd2UgZ2l2ZSBhbiBFT0Ygd2hlbiB0cmFjaW5nIGlzIGFnYWluIGRpc2FibGVkLgorCQkgKgorCQkgKiBpdGVyLT5wb3Mgd2lsbCBiZSAwIGlmIHdlIGhhdmVuJ3QgcmVhZCBhbnl0aGluZy4KKwkJICovCisJCWlmICghdHJhY2VyX2VuYWJsZWQgJiYgaXRlci0+cG9zKQorCQkJYnJlYWs7CisKKwkJY29udGludWU7CisJfQorCisJLyogc3RvcCB3aGVuIHRyYWNpbmcgaXMgZmluaXNoZWQgKi8KKwlpZiAodHJhY2VfZW1wdHkoaXRlcikpCisJCWdvdG8gb3V0OworCisJaWYgKGNudCA+PSBQQUdFX1NJWkUpCisJCWNudCA9IFBBR0VfU0laRSAtIDE7CisKKwkvKiByZXNldCBhbGwgYnV0IHRyLCB0cmFjZSwgYW5kIG92ZXJydW5zICovCisJbWVtc2V0KCZpdGVyLT5zZXEsIDAsCisJICAgICAgIHNpemVvZihzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IpIC0KKwkgICAgICAgb2Zmc2V0b2Yoc3RydWN0IHRyYWNlX2l0ZXJhdG9yLCBzZXEpKTsKKwlpdGVyLT5wb3MgPSAtMTsKKworCS8qCisJICogV2UgbmVlZCB0byBzdG9wIGFsbCB0cmFjaW5nIG9uIGFsbCBDUFVTIHRvIHJlYWQgdGhlCisJICogdGhlIG5leHQgYnVmZmVyLiBUaGlzIGlzIGEgYml0IGV4cGVuc2l2ZSwgYnV0IGlzCisJICogbm90IGRvbmUgb2Z0ZW4uIFdlIGZpbGwgYWxsIHdoYXQgd2UgY2FuIHJlYWQsCisJICogYW5kIHRoZW4gcmVsZWFzZSB0aGUgbG9ja3MgYWdhaW4uCisJICovCisKKwljcHVzX2NsZWFyKG1hc2spOworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJZnRyYWNlX3NhdmUgPSBmdHJhY2VfZW5hYmxlZDsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisjZW5kaWYKKwlzbXBfd21iKCk7CisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCisJCWlmICghaGVhZF9wYWdlKGRhdGEpIHx8ICFkYXRhLT50cmFjZV9pZHgpCisJCQljb250aW51ZTsKKworCQlhdG9taWNfaW5jKCZkYXRhLT5kaXNhYmxlZCk7CisJCWNwdV9zZXQoY3B1LCBtYXNrKTsKKwl9CisKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spIHsKKwkJZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2NwdV07CisJCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisKKwkJaWYgKGRhdGEtPm92ZXJydW4gPiBpdGVyLT5sYXN0X292ZXJydW5bY3B1XSkKKwkJCWl0ZXItPm92ZXJydW5bY3B1XSArPQorCQkJCWRhdGEtPm92ZXJydW4gLSBpdGVyLT5sYXN0X292ZXJydW5bY3B1XTsKKwkJaXRlci0+bGFzdF9vdmVycnVuW2NwdV0gPSBkYXRhLT5vdmVycnVuOworCX0KKworCXdoaWxlIChmaW5kX25leHRfZW50cnlfaW5jKGl0ZXIpICE9IE5VTEwpIHsKKwkJaW50IHJldDsKKwkJaW50IGxlbiA9IGl0ZXItPnNlcS5sZW47CisKKwkJcmV0ID0gcHJpbnRfdHJhY2VfbGluZShpdGVyKTsKKwkJaWYgKCFyZXQpIHsKKwkJCS8qIGRvbid0IHByaW50IHBhcnRpYWwgbGluZXMgKi8KKwkJCWl0ZXItPnNlcS5sZW4gPSBsZW47CisJCQlicmVhazsKKwkJfQorCisJCXRyYWNlX2NvbnN1bWUoaXRlcik7CisKKwkJaWYgKGl0ZXItPnNlcS5sZW4gPj0gY250KQorCQkJYnJlYWs7CisJfQorCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCQlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJfQorCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCQlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJfQorI2lmZGVmIENPTkZJR19GVFJBQ0UKKwlmdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9zYXZlOworI2VuZGlmCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJLyogTm93IGNvcHkgd2hhdCB3ZSBoYXZlIHRvIHRoZSB1c2VyICovCisJc3JldCA9IHRyYWNlX3NlcV90b191c2VyKCZpdGVyLT5zZXEsIHVidWYsIGNudCk7CisJaWYgKGl0ZXItPnNlcS5yZWFkcG9zID49IGl0ZXItPnNlcS5sZW4pCisJCXRyYWNlX3NlcV9yZXNldCgmaXRlci0+c2VxKTsKKwlpZiAoc3JldCA9PSAtRUJVU1kpCisJCXNyZXQgPSAwOworCitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiBzcmV0OworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19lbnRyaWVzX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgcjsKKworCXIgPSBzcHJpbnRmKGJ1ZiwgIiVsdVxuIiwgdHItPmVudHJpZXMpOworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2VudHJpZXNfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJdW5zaWduZWQgbG9uZyB2YWw7CisJY2hhciBidWZbNjRdOworCWludCBpLCByZXQ7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCXJldCA9IHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJLyogbXVzdCBoYXZlIGF0IGxlYXN0IDEgZW50cnkgKi8KKwlpZiAoIXZhbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCWlmIChjdXJyZW50X3RyYWNlICE9ICZub190cmFjZXIpIHsKKwkJY250ID0gLUVCVVNZOworCQlwcl9pbmZvKCJmdHJhY2U6IHNldCBjdXJyZW50X3RyYWNlciB0byBub25lIgorCQkJIiBiZWZvcmUgbW9kaWZ5aW5nIGJ1ZmZlciBzaXplXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKHZhbCA+IGdsb2JhbF90cmFjZS5lbnRyaWVzKSB7CisJCWxvbmcgcGFnZXNfcmVxdWVzdGVkOworCQl1bnNpZ25lZCBsb25nIGZyZWVhYmxlX3BhZ2VzOworCisJCS8qIG1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCBtZW1vcnkgYmVmb3JlIG1hcHBpbmcgKi8KKwkJcGFnZXNfcmVxdWVzdGVkID0KKwkJCSh2YWwgKyAoRU5UUklFU19QRVJfUEFHRS0xKSkgLyBFTlRSSUVTX1BFUl9QQUdFOworCisJCS8qIGFjY291bnQgZm9yIGVhY2ggYnVmZmVyIChhbmQgbWF4X3RyKSAqLworCQlwYWdlc19yZXF1ZXN0ZWQgKj0gdHJhY2luZ19ucl9idWZmZXJzICogMjsKKworCQkvKiBDaGVjayBmb3Igb3ZlcmZsb3cgKi8KKwkJaWYgKHBhZ2VzX3JlcXVlc3RlZCA8IDApIHsKKwkJCWNudCA9IC1FTk9NRU07CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWZyZWVhYmxlX3BhZ2VzID0gZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkoKTsKKworCQkvKiB3ZSBvbmx5IGFsbG93IHRvIHJlcXVlc3QgMS80IG9mIHVzZWFibGUgbWVtb3J5ICovCisJCWlmIChwYWdlc19yZXF1ZXN0ZWQgPgorCQkgICAgKChmcmVlYWJsZV9wYWdlcyArIHRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkKSAvIDQpKSB7CisJCQljbnQgPSAtRU5PTUVNOworCQkJZ290byBvdXQ7CisJCX0KKworCQl3aGlsZSAoZ2xvYmFsX3RyYWNlLmVudHJpZXMgPCB2YWwpIHsKKwkJCWlmICh0cmFjZV9hbGxvY19wYWdlKCkpIHsKKwkJCQljbnQgPSAtRU5PTUVNOworCQkJCWdvdG8gb3V0OworCQkJfQorCQkJLyogZG91YmxlIGNoZWNrIHRoYXQgd2UgZG9uJ3QgZ28gb3ZlciB0aGUga25vd24gcGFnZXMgKi8KKwkJCWlmICh0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZCA+IHBhZ2VzX3JlcXVlc3RlZCkKKwkJCQlicmVhazsKKwkJfQorCisJfSBlbHNlIHsKKwkJLyogaW5jbHVkZSB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gdmFsIChpbmMgb2YgcGFnZSBlbnRyaWVzKSAqLworCQl3aGlsZSAoZ2xvYmFsX3RyYWNlLmVudHJpZXMgPiB2YWwgKyAoRU5UUklFU19QRVJfUEFHRSAtIDEpKQorCQkJdHJhY2VfZnJlZV9wYWdlKCk7CisJfQorCisJLyogY2hlY2sgaW50ZWdyaXR5ICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkKKwkJY2hlY2tfcGFnZXMoZ2xvYmFsX3RyYWNlLmRhdGFbaV0pOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJLyogSWYgY2hlY2sgcGFnZXMgZmFpbGVkLCByZXR1cm4gRU5PTUVNICovCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpCisJCWNudCA9IC1FTk9NRU07Cisgb3V0OgorCW1heF90ci5lbnRyaWVzID0gZ2xvYmFsX3RyYWNlLmVudHJpZXM7CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfbWF4X2xhdF9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfbWF4X2xhdF9yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX21heF9sYXRfd3JpdGUsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2N0cmxfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX2N0cmxfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19jdHJsX3dyaXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc2V0X3RyYWNlcl9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfc2V0X3RyYWNlX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfc2V0X3RyYWNlX3dyaXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19waXBlX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX3BpcGUsCisJLnBvbGwJCT0gdHJhY2luZ19wb2xsX3BpcGUsCisJLnJlYWQJCT0gdHJhY2luZ19yZWFkX3BpcGUsCisJLnJlbGVhc2UJPSB0cmFjaW5nX3JlbGVhc2VfcGlwZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfZW50cmllc19mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfZW50cmllc19yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX2VudHJpZXNfd3JpdGUsCit9OworCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3JlYWRfbG9uZyhzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXVuc2lnbmVkIGxvbmcgKnAgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWludCByOworCisJciA9IHNwcmludGYoYnVmLCAiJWxkXG4iLCAqcCk7CisKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX3JlYWRfbG9uZ19mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfcmVhZF9sb25nLAorfTsKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IGRlbnRyeSAqZF90cmFjZXI7CisKK3N0cnVjdCBkZW50cnkgKnRyYWNpbmdfaW5pdF9kZW50cnkodm9pZCkKK3sKKwlzdGF0aWMgaW50IG9uY2U7CisKKwlpZiAoZF90cmFjZXIpCisJCXJldHVybiBkX3RyYWNlcjsKKworCWRfdHJhY2VyID0gZGVidWdmc19jcmVhdGVfZGlyKCJ0cmFjaW5nIiwgTlVMTCk7CisKKwlpZiAoIWRfdHJhY2VyICYmICFvbmNlKSB7CisJCW9uY2UgPSAxOworCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgZGlyZWN0b3J5ICd0cmFjaW5nJ1xuIik7CisJCXJldHVybiBOVUxMOworCX0KKworCXJldHVybiBkX3RyYWNlcjsKK30KKworI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKy8qIExldCBzZWxmdGVzdCBoYXZlIGFjY2VzcyB0byBzdGF0aWMgZnVuY3Rpb25zIGluIHRoaXMgZmlsZSAqLworI2luY2x1ZGUgInRyYWNlX3NlbGZ0ZXN0LmMiCisjZW5kaWYKKworc3RhdGljIF9faW5pdCB2b2lkIHRyYWNlcl9pbml0X2RlYnVnZnModm9pZCkKK3sKKwlzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcjsKKwlzdHJ1Y3QgZGVudHJ5ICplbnRyeTsKKworCWRfdHJhY2VyID0gdHJhY2luZ19pbml0X2RlbnRyeSgpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjaW5nX2VuYWJsZWQiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmdsb2JhbF90cmFjZSwgJnRyYWNpbmdfY3RybF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNpbmdfZW5hYmxlZCcgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJpdGVyX2N0cmwiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJnRyYWNpbmdfaXRlcl9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ2l0ZXJfY3RybCcgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjaW5nX2NwdW1hc2siLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJnRyYWNpbmdfY3B1bWFza19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNpbmdfY3B1bWFzaycgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJsYXRlbmN5X3RyYWNlIiwgMDQ0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZ0cmFjaW5nX2x0X2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAnbGF0ZW5jeV90cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjZSIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmdHJhY2luZ19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNlJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImF2YWlsYWJsZV90cmFjZXJzIiwgMDQ0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZzaG93X3RyYWNlc19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNlJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImN1cnJlbnRfdHJhY2VyIiwgMDQ0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZzZXRfdHJhY2VyX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAndHJhY2UnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2luZ19tYXhfbGF0ZW5jeSIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmdHJhY2luZ19tYXhfbGF0ZW5jeSwKKwkJCQkgICAgJnRyYWNpbmdfbWF4X2xhdF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIid0cmFjaW5nX21heF9sYXRlbmN5JyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNpbmdfdGhyZXNoIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgICZ0cmFjaW5nX3RocmVzaCwgJnRyYWNpbmdfbWF4X2xhdF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIid0cmFjaW5nX3RocmVhc2gnIGVudHJ5XG4iKTsKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoIlJFQURNRSIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmdHJhY2luZ19yZWFkbWVfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdSRUFETUUnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2VfcGlwZSIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmdHJhY2luZ19waXBlX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3RyYWNpbmdfdGhyZWFzaCcgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjZV9lbnRyaWVzIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZ0cmFjaW5nX2VudHJpZXNfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICIndHJhY2luZ190aHJlYXNoJyBlbnRyeVxuIik7CisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImR5bl9mdHJhY2VfdG90YWxfaW5mbyIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZnRyYWNlX3VwZGF0ZV90b3RfY250LAorCQkJCSAgICAmdHJhY2luZ19yZWFkX2xvbmdfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICInZHluX2Z0cmFjZV90b3RhbF9pbmZvJyBlbnRyeVxuIik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfU1lTUFJPRl9UUkFDRVIKKwlpbml0X3RyYWNlcl9zeXNwcm9mX2RlYnVnZnMoZF90cmFjZXIpOworI2VuZGlmCit9CisKK3N0YXRpYyBpbnQgdHJhY2VfYWxsb2NfcGFnZSh2b2lkKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJc3RydWN0IHBhZ2UgKnBhZ2UsICp0bXA7CisJTElTVF9IRUFEKHBhZ2VzKTsKKwl2b2lkICphcnJheTsKKwl1bnNpZ25lZCBwYWdlc19hbGxvY2F0ZWQgPSAwOworCWludCBpOworCisJLyogZmlyc3QgYWxsb2NhdGUgYSBwYWdlIGZvciBlYWNoIENQVSAqLworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJYXJyYXkgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKGFycmF5ID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAidHJhY2VyOiBmYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSIKKwkJCSAgICAgICAiZm9yIHRyYWNlIGJ1ZmZlciFcbiIpOworCQkJZ290byBmcmVlX3BhZ2VzOworCQl9CisKKwkJcGFnZXNfYWxsb2NhdGVkKys7CisJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoYXJyYXkpOworCQlsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmcGFnZXMpOworCisvKiBPbmx5IGFsbG9jYXRlIGlmIHdlIGFyZSBhY3R1YWxseSB1c2luZyB0aGUgbWF4IHRyYWNlICovCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJYXJyYXkgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKGFycmF5ID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAidHJhY2VyOiBmYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSIKKwkJCSAgICAgICAiZm9yIHRyYWNlIGJ1ZmZlciFcbiIpOworCQkJZ290byBmcmVlX3BhZ2VzOworCQl9CisJCXBhZ2VzX2FsbG9jYXRlZCsrOworCQlwYWdlID0gdmlydF90b19wYWdlKGFycmF5KTsKKwkJbGlzdF9hZGQoJnBhZ2UtPmxydSwgJnBhZ2VzKTsKKyNlbmRpZgorCX0KKworCS8qIE5vdyB0aGF0IHdlIHN1Y2Nlc3NmdWxseSBhbGxvY2F0ZSBhIHBhZ2UgcGVyIENQVSwgYWRkIHRoZW0gKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWRhdGEgPSBnbG9iYWxfdHJhY2UuZGF0YVtpXTsKKwkJcGFnZSA9IGxpc3RfZW50cnkocGFnZXMubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCWxpc3RfYWRkX3RhaWwoJnBhZ2UtPmxydSwgJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwkJQ2xlYXJQYWdlTFJVKHBhZ2UpOworCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJZGF0YSA9IG1heF90ci5kYXRhW2ldOworCQlwYWdlID0gbGlzdF9lbnRyeShwYWdlcy5uZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJbGlzdF9kZWxfaW5pdCgmcGFnZS0+bHJ1KTsKKwkJbGlzdF9hZGRfdGFpbCgmcGFnZS0+bHJ1LCAmZGF0YS0+dHJhY2VfcGFnZXMpOworCQlTZXRQYWdlTFJVKHBhZ2UpOworI2VuZGlmCisJfQorCXRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkICs9IHBhZ2VzX2FsbG9jYXRlZDsKKwlnbG9iYWxfdHJhY2UuZW50cmllcyArPSBFTlRSSUVTX1BFUl9QQUdFOworCisJcmV0dXJuIDA7CisKKyBmcmVlX3BhZ2VzOgorCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwYWdlLCB0bXAsICZwYWdlcywgbHJ1KSB7CisJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCV9fZnJlZV9wYWdlKHBhZ2UpOworCX0KKwlyZXR1cm4gLUVOT01FTTsKK30KKworc3RhdGljIGludCB0cmFjZV9mcmVlX3BhZ2Uodm9pZCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXN0cnVjdCBwYWdlICpwYWdlOworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisJaW50IGk7CisJaW50IHJldCA9IDA7CisKKwkvKiBmcmVlIG9uZSBwYWdlIGZyb20gZWFjaCBidWZmZXIgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWRhdGEgPSBnbG9iYWxfdHJhY2UuZGF0YVtpXTsKKwkJcCA9IGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQ7CisJCWlmIChwID09ICZkYXRhLT50cmFjZV9wYWdlcykgeworCQkJLyogc2hvdWxkIG5ldmVyIGhhcHBlbiAqLworCQkJV0FSTl9PTigxKTsKKwkJCXRyYWNpbmdfZGlzYWJsZWQgPSAxOworCQkJcmV0ID0gLTE7CisJCQlicmVhazsKKwkJfQorCQlwYWdlID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJQ2xlYXJQYWdlTFJVKHBhZ2UpOworCQlsaXN0X2RlbCgmcGFnZS0+bHJ1KTsKKwkJdHJhY2luZ19wYWdlc19hbGxvY2F0ZWQtLTsKKwkJdHJhY2luZ19wYWdlc19hbGxvY2F0ZWQtLTsKKwkJX19mcmVlX3BhZ2UocGFnZSk7CisKKwkJdHJhY2luZ19yZXNldChkYXRhKTsKKworI2lmZGVmIENPTkZJR19UUkFDRVJfTUFYX1RSQUNFCisJCWRhdGEgPSBtYXhfdHIuZGF0YVtpXTsKKwkJcCA9IGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQ7CisJCWlmIChwID09ICZkYXRhLT50cmFjZV9wYWdlcykgeworCQkJLyogc2hvdWxkIG5ldmVyIGhhcHBlbiAqLworCQkJV0FSTl9PTigxKTsKKwkJCXRyYWNpbmdfZGlzYWJsZWQgPSAxOworCQkJcmV0ID0gLTE7CisJCQlicmVhazsKKwkJfQorCQlwYWdlID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJQ2xlYXJQYWdlTFJVKHBhZ2UpOworCQlsaXN0X2RlbCgmcGFnZS0+bHJ1KTsKKwkJX19mcmVlX3BhZ2UocGFnZSk7CisKKwkJdHJhY2luZ19yZXNldChkYXRhKTsKKyNlbmRpZgorCX0KKwlnbG9iYWxfdHJhY2UuZW50cmllcyAtPSBFTlRSSUVTX1BFUl9QQUdFOworCisJcmV0dXJuIHJldDsKK30KKworX19pbml0IHN0YXRpYyBpbnQgdHJhY2VyX2FsbG9jX2J1ZmZlcnModm9pZCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXZvaWQgKmFycmF5OworCXN0cnVjdCBwYWdlICpwYWdlOworCWludCBwYWdlcyA9IDA7CisJaW50IHJldCA9IC1FTk9NRU07CisJaW50IGk7CisKKwkvKiBUT0RPOiBtYWtlIHRoZSBudW1iZXIgb2YgYnVmZmVycyBob3QgcGx1Z2dhYmxlIHdpdGggQ1BVUyAqLworCXRyYWNpbmdfbnJfYnVmZmVycyA9IG51bV9wb3NzaWJsZV9jcHVzKCk7CisJdHJhY2luZ19idWZmZXJfbWFzayA9IGNwdV9wb3NzaWJsZV9tYXA7CisKKwkvKiBBbGxvY2F0ZSB0aGUgZmlyc3QgcGFnZSBmb3IgYWxsIGJ1ZmZlcnMgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWRhdGEgPSBnbG9iYWxfdHJhY2UuZGF0YVtpXSA9ICZwZXJfY3B1KGdsb2JhbF90cmFjZV9jcHUsIGkpOworCQltYXhfdHIuZGF0YVtpXSA9ICZwZXJfY3B1KG1heF9kYXRhLCBpKTsKKworCQlhcnJheSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoYXJyYXkgPT0gTlVMTCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJ0cmFjZXI6IGZhaWxlZCB0byBhbGxvY2F0ZSBwYWdlIgorCQkJICAgICAgICJmb3IgdHJhY2UgYnVmZmVyIVxuIik7CisJCQlnb3RvIGZyZWVfYnVmZmVyczsKKwkJfQorCisJCS8qIHNldCB0aGUgYXJyYXkgdG8gdGhlIGxpc3QgKi8KKwkJSU5JVF9MSVNUX0hFQUQoJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwkJcGFnZSA9IHZpcnRfdG9fcGFnZShhcnJheSk7CisJCWxpc3RfYWRkKCZwYWdlLT5scnUsICZkYXRhLT50cmFjZV9wYWdlcyk7CisJCS8qIHVzZSB0aGUgTFJVIGZsYWcgdG8gZGlmZmVyZW50aWF0ZSB0aGUgdHdvIGJ1ZmZlcnMgKi8KKwkJQ2xlYXJQYWdlTFJVKHBhZ2UpOworCisJCWRhdGEtPmxvY2sgPSAocmF3X3NwaW5sb2NrX3QpX19SQVdfU1BJTl9MT0NLX1VOTE9DS0VEOworCQltYXhfdHIuZGF0YVtpXS0+bG9jayA9IChyYXdfc3BpbmxvY2tfdClfX1JBV19TUElOX0xPQ0tfVU5MT0NLRUQ7CisKKy8qIE9ubHkgYWxsb2NhdGUgaWYgd2UgYXJlIGFjdHVhbGx5IHVzaW5nIHRoZSBtYXggdHJhY2UgKi8KKyNpZmRlZiBDT05GSUdfVFJBQ0VSX01BWF9UUkFDRQorCQlhcnJheSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoYXJyYXkgPT0gTlVMTCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJ0cmFjZXI6IGZhaWxlZCB0byBhbGxvY2F0ZSBwYWdlIgorCQkJICAgICAgICJmb3IgdHJhY2UgYnVmZmVyIVxuIik7CisJCQlnb3RvIGZyZWVfYnVmZmVyczsKKwkJfQorCisJCUlOSVRfTElTVF9IRUFEKCZtYXhfdHIuZGF0YVtpXS0+dHJhY2VfcGFnZXMpOworCQlwYWdlID0gdmlydF90b19wYWdlKGFycmF5KTsKKwkJbGlzdF9hZGQoJnBhZ2UtPmxydSwgJm1heF90ci5kYXRhW2ldLT50cmFjZV9wYWdlcyk7CisJCVNldFBhZ2VMUlUocGFnZSk7CisjZW5kaWYKKwl9CisKKwkvKgorCSAqIFNpbmNlIHdlIGFsbG9jYXRlIGJ5IG9yZGVycyBvZiBwYWdlcywgd2UgbWF5IGJlIGFibGUgdG8KKwkgKiByb3VuZCB1cCBhIGJpdC4KKwkgKi8KKwlnbG9iYWxfdHJhY2UuZW50cmllcyA9IEVOVFJJRVNfUEVSX1BBR0U7CisJcGFnZXMrKzsKKworCXdoaWxlIChnbG9iYWxfdHJhY2UuZW50cmllcyA8IHRyYWNlX25yX2VudHJpZXMpIHsKKwkJaWYgKHRyYWNlX2FsbG9jX3BhZ2UoKSkKKwkJCWJyZWFrOworCQlwYWdlcysrOworCX0KKwltYXhfdHIuZW50cmllcyA9IGdsb2JhbF90cmFjZS5lbnRyaWVzOworCisJcHJfaW5mbygidHJhY2VyOiAlZCBwYWdlcyBhbGxvY2F0ZWQgZm9yICVsZCBlbnRyaWVzIG9mICVsZCBieXRlc1xuIiwKKwkJcGFnZXMsIHRyYWNlX25yX2VudHJpZXMsIChsb25nKVRSQUNFX0VOVFJZX1NJWkUpOworCXByX2luZm8oIiAgIGFjdHVhbCBlbnRyaWVzICVsZFxuIiwgZ2xvYmFsX3RyYWNlLmVudHJpZXMpOworCisJdHJhY2VyX2luaXRfZGVidWdmcygpOworCisJdHJhY2VfaW5pdF9jbWRsaW5lcygpOworCisJcmVnaXN0ZXJfdHJhY2VyKCZub190cmFjZXIpOworCWN1cnJlbnRfdHJhY2UgPSAmbm9fdHJhY2VyOworCisJLyogQWxsIHNlZW1zIE9LLCBlbmFibGUgdHJhY2luZyAqLworCWdsb2JhbF90cmFjZS5jdHJsID0gdHJhY2VyX2VuYWJsZWQ7CisJdHJhY2luZ19kaXNhYmxlZCA9IDA7CisKKwlyZXR1cm4gMDsKKworIGZyZWVfYnVmZmVyczoKKwlmb3IgKGktLSA7IGkgPj0gMDsgaS0tKSB7CisJCXN0cnVjdCBwYWdlICpwYWdlLCAqdG1wOworCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gZ2xvYmFsX3RyYWNlLmRhdGFbaV07CisKKwkJaWYgKGRhdGEpIHsKKwkJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwYWdlLCB0bXAsCisJCQkJCQkgJmRhdGEtPnRyYWNlX3BhZ2VzLCBscnUpIHsKKwkJCQlsaXN0X2RlbF9pbml0KCZwYWdlLT5scnUpOworCQkJCV9fZnJlZV9wYWdlKHBhZ2UpOworCQkJfQorCQl9CisKKyNpZmRlZiBDT05GSUdfVFJBQ0VSX01BWF9UUkFDRQorCQlkYXRhID0gbWF4X3RyLmRhdGFbaV07CisJCWlmIChkYXRhKSB7CisJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGFnZSwgdG1wLAorCQkJCQkJICZkYXRhLT50cmFjZV9wYWdlcywgbHJ1KSB7CisJCQkJbGlzdF9kZWxfaW5pdCgmcGFnZS0+bHJ1KTsKKwkJCQlfX2ZyZWVfcGFnZShwYWdlKTsKKwkJCX0KKwkJfQorI2VuZGlmCisJfQorCXJldHVybiByZXQ7Cit9Citmc19pbml0Y2FsbCh0cmFjZXJfYWxsb2NfYnVmZmVycyk7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2UuaCBiL2tlcm5lbC90cmFjZS90cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2OWY4NjcKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2UuaApAQCAtMCwwICsxLDMzOSBAQAorI2lmbmRlZiBfTElOVVhfS0VSTkVMX1RSQUNFX0gKKyNkZWZpbmUgX0xJTlVYX0tFUk5FTF9UUkFDRV9ICisKKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CisKK2VudW0gdHJhY2VfdHlwZSB7CisJX19UUkFDRV9GSVJTVF9UWVBFID0gMCwKKworCVRSQUNFX0ZOLAorCVRSQUNFX0NUWCwKKwlUUkFDRV9XQUtFLAorCVRSQUNFX1NUQUNLLAorCVRSQUNFX1NQRUNJQUwsCisJVFJBQ0VfTU1JT19SVywKKwlUUkFDRV9NTUlPX01BUCwKKworCV9fVFJBQ0VfTEFTVF9UWVBFCit9OworCisvKgorICogRnVuY3Rpb24gdHJhY2UgZW50cnkgLSBmdW5jdGlvbiBhZGRyZXNzIGFuZCBwYXJlbnQgZnVuY3Rpb24gYWRkcmVzOgorICovCitzdHJ1Y3QgZnRyYWNlX2VudHJ5IHsKKwl1bnNpZ25lZCBsb25nCQlpcDsKKwl1bnNpZ25lZCBsb25nCQlwYXJlbnRfaXA7Cit9OworCisvKgorICogQ29udGV4dCBzd2l0Y2ggdHJhY2UgZW50cnkgLSB3aGljaCB0YXNrIChhbmQgcHJpbykgd2Ugc3dpdGNoZWQgZnJvbS90bzoKKyAqLworc3RydWN0IGN0eF9zd2l0Y2hfZW50cnkgeworCXVuc2lnbmVkIGludAkJcHJldl9waWQ7CisJdW5zaWduZWQgY2hhcgkJcHJldl9wcmlvOworCXVuc2lnbmVkIGNoYXIJCXByZXZfc3RhdGU7CisJdW5zaWduZWQgaW50CQluZXh0X3BpZDsKKwl1bnNpZ25lZCBjaGFyCQluZXh0X3ByaW87CisJdW5zaWduZWQgY2hhcgkJbmV4dF9zdGF0ZTsKK307CisKKy8qCisgKiBTcGVjaWFsIChmcmVlLWZvcm0pIHRyYWNlIGVudHJ5OgorICovCitzdHJ1Y3Qgc3BlY2lhbF9lbnRyeSB7CisJdW5zaWduZWQgbG9uZwkJYXJnMTsKKwl1bnNpZ25lZCBsb25nCQlhcmcyOworCXVuc2lnbmVkIGxvbmcJCWFyZzM7Cit9OworCisvKgorICogU3RhY2stdHJhY2UgZW50cnk6CisgKi8KKworI2RlZmluZSBGVFJBQ0VfU1RBQ0tfRU5UUklFUwk4CisKK3N0cnVjdCBzdGFja19lbnRyeSB7CisJdW5zaWduZWQgbG9uZwkJY2FsbGVyW0ZUUkFDRV9TVEFDS19FTlRSSUVTXTsKK307CisKKy8qCisgKiBUaGUgdHJhY2UgZW50cnkgLSB0aGUgbW9zdCBiYXNpYyB1bml0IG9mIHRyYWNpbmcuIFRoaXMgaXMgd2hhdAorICogaXMgcHJpbnRlZCBpbiB0aGUgZW5kIGFzIGEgc2luZ2xlIGxpbmUgaW4gdGhlIHRyYWNlIG91dHB1dCwgc3VjaCBhczoKKyAqCisgKiAgICAgYmFzaC0xNTgxNiBbMDFdICAgMjM1LjE5NzU4NTogaWRsZV9jcHUgPC0gaXJxX2VudGVyCisgKi8KK3N0cnVjdCB0cmFjZV9lbnRyeSB7CisJY2hhcgkJCXR5cGU7CisJY2hhcgkJCWNwdTsKKwljaGFyCQkJZmxhZ3M7CisJY2hhcgkJCXByZWVtcHRfY291bnQ7CisJaW50CQkJcGlkOworCWN5Y2xlX3QJCQl0OworCXVuaW9uIHsKKwkJc3RydWN0IGZ0cmFjZV9lbnRyeQkJZm47CisJCXN0cnVjdCBjdHhfc3dpdGNoX2VudHJ5CQljdHg7CisJCXN0cnVjdCBzcGVjaWFsX2VudHJ5CQlzcGVjaWFsOworCQlzdHJ1Y3Qgc3RhY2tfZW50cnkJCXN0YWNrOworCQlzdHJ1Y3QgbW1pb3RyYWNlX3J3CQltbWlvcnc7CisJCXN0cnVjdCBtbWlvdHJhY2VfbWFwCQltbWlvbWFwOworCX07Cit9OworCisjZGVmaW5lIFRSQUNFX0VOVFJZX1NJWkUJc2l6ZW9mKHN0cnVjdCB0cmFjZV9lbnRyeSkKKworLyoKKyAqIFRoZSBDUFUgdHJhY2UgYXJyYXkgLSBpdCBjb25zaXN0cyBvZiB0aG91c2FuZHMgb2YgdHJhY2UgZW50cmllcworICogcGx1cyBzb21lIG90aGVyIGRlc2NyaXB0b3IgZGF0YTogKGZvciBleGFtcGxlIHdoaWNoIHRhc2sgc3RhcnRlZAorICogdGhlIHRyYWNlLCBldGMuKQorICovCitzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkCXRyYWNlX3BhZ2VzOworCWF0b21pY190CQlkaXNhYmxlZDsKKwlyYXdfc3BpbmxvY2tfdAkJbG9jazsKKwlzdHJ1Y3QgbG9ja19jbGFzc19rZXkJbG9ja19rZXk7CisKKwkvKiB0aGVzZSBmaWVsZHMgZ2V0IGNvcGllZCBpbnRvIG1heC10cmFjZTogKi8KKwl1bnNpZ25lZAkJdHJhY2VfaGVhZF9pZHg7CisJdW5zaWduZWQJCXRyYWNlX3RhaWxfaWR4OworCXZvaWQJCQkqdHJhY2VfaGVhZDsgLyogcHJvZHVjZXIgKi8KKwl2b2lkCQkJKnRyYWNlX3RhaWw7IC8qIGNvbnN1bWVyICovCisJdW5zaWduZWQgbG9uZwkJdHJhY2VfaWR4OworCXVuc2lnbmVkIGxvbmcJCW92ZXJydW47CisJdW5zaWduZWQgbG9uZwkJc2F2ZWRfbGF0ZW5jeTsKKwl1bnNpZ25lZCBsb25nCQljcml0aWNhbF9zdGFydDsKKwl1bnNpZ25lZCBsb25nCQljcml0aWNhbF9lbmQ7CisJdW5zaWduZWQgbG9uZwkJY3JpdGljYWxfc2VxdWVuY2U7CisJdW5zaWduZWQgbG9uZwkJbmljZTsKKwl1bnNpZ25lZCBsb25nCQlwb2xpY3k7CisJdW5zaWduZWQgbG9uZwkJcnRfcHJpb3JpdHk7CisJY3ljbGVfdAkJCXByZWVtcHRfdGltZXN0YW1wOworCXBpZF90CQkJcGlkOworCXVpZF90CQkJdWlkOworCWNoYXIJCQljb21tW1RBU0tfQ09NTV9MRU5dOworfTsKKworc3RydWN0IHRyYWNlX2l0ZXJhdG9yOworCisvKgorICogVGhlIHRyYWNlIGFycmF5IC0gYW4gYXJyYXkgb2YgcGVyLUNQVSB0cmFjZSBhcnJheXMuIFRoaXMgaXMgdGhlCisgKiBoaWdoZXN0IGxldmVsIGRhdGEgc3RydWN0dXJlIHRoYXQgaW5kaXZpZHVhbCB0cmFjZXJzIGRlYWwgd2l0aC4KKyAqIFRoZXkgaGF2ZSBvbi9vZmYgc3RhdGUgYXMgd2VsbDoKKyAqLworc3RydWN0IHRyYWNlX2FycmF5IHsKKwl1bnNpZ25lZCBsb25nCQllbnRyaWVzOworCWxvbmcJCQljdHJsOworCWludAkJCWNwdTsKKwljeWNsZV90CQkJdGltZV9zdGFydDsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QJKndhaXRlcjsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1CSpkYXRhW05SX0NQVVNdOworfTsKKworLyoKKyAqIEEgc3BlY2lmaWMgdHJhY2VyLCByZXByZXNlbnRlZCBieSBtZXRob2RzIHRoYXQgb3BlcmF0ZSBvbiBhIHRyYWNlIGFycmF5OgorICovCitzdHJ1Y3QgdHJhY2VyIHsKKwljb25zdCBjaGFyCQkqbmFtZTsKKwl2b2lkCQkJKCppbml0KShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKwl2b2lkCQkJKCpyZXNldCkoc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisJdm9pZAkJCSgqb3Blbikoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwl2b2lkCQkJKCpwaXBlX29wZW4pKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJdm9pZAkJCSgqY2xvc2UpKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJdm9pZAkJCSgqc3RhcnQpKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJdm9pZAkJCSgqc3RvcCkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwlzc2l6ZV90CQkJKCpyZWFkKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIsCisJCQkJCXN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJCQkJc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKTsKKwl2b2lkCQkJKCpjdHJsX3VwZGF0ZSkoc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TVEFSVFVQX1RFU1QKKwlpbnQJCQkoKnNlbGZ0ZXN0KShzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisJaW50CQkJKCpwcmludF9saW5lKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXN0cnVjdCB0cmFjZXIJCSpuZXh0OworCWludAkJCXByaW50X21heDsKK307CisKK3N0cnVjdCB0cmFjZV9zZXEgeworCXVuc2lnbmVkIGNoYXIJCWJ1ZmZlcltQQUdFX1NJWkVdOworCXVuc2lnbmVkIGludAkJbGVuOworCXVuc2lnbmVkIGludAkJcmVhZHBvczsKK307CisKKy8qCisgKiBUcmFjZSBpdGVyYXRvciAtIHVzZWQgYnkgcHJpbnRvdXQgcm91dGluZXMgd2hvIHByZXNlbnQgdHJhY2UKKyAqIHJlc3VsdHMgdG8gdXNlcnMgYW5kIHdoaWNoIHJvdXRpbmVzIG1pZ2h0IHNsZWVwLCBldGM6CisgKi8KK3N0cnVjdCB0cmFjZV9pdGVyYXRvciB7CisJc3RydWN0IHRyYWNlX2FycmF5CSp0cjsKKwlzdHJ1Y3QgdHJhY2VyCQkqdHJhY2U7CisJdm9pZAkJCSpwcml2YXRlOworCWxvbmcJCQlsYXN0X292ZXJydW5bTlJfQ1BVU107CisJbG9uZwkJCW92ZXJydW5bTlJfQ1BVU107CisKKwkvKiBUaGUgYmVsb3cgaXMgemVyb2VkIG91dCBpbiBwaXBlX3JlYWQgKi8KKwlzdHJ1Y3QgdHJhY2Vfc2VxCXNlcTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkJKmVudDsKKwlpbnQJCQljcHU7CisKKwlzdHJ1Y3QgdHJhY2VfZW50cnkJKnByZXZfZW50OworCWludAkJCXByZXZfY3B1OworCisJdW5zaWduZWQgbG9uZwkJaXRlcl9mbGFnczsKKwlsb2ZmX3QJCQlwb3M7CisJdW5zaWduZWQgbG9uZwkJbmV4dF9pZHhbTlJfQ1BVU107CisJc3RydWN0IGxpc3RfaGVhZAkqbmV4dF9wYWdlW05SX0NQVVNdOworCXVuc2lnbmVkCQluZXh0X3BhZ2VfaWR4W05SX0NQVVNdOworCWxvbmcJCQlpZHg7Cit9OworCit2b2lkIHRyYWNpbmdfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSk7CitpbnQgdHJhY2luZ19vcGVuX2dlbmVyaWMoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApOworc3RydWN0IGRlbnRyeSAqdHJhY2luZ19pbml0X2RlbnRyeSh2b2lkKTsKK3ZvaWQgaW5pdF90cmFjZXJfc3lzcHJvZl9kZWJ1Z2ZzKHN0cnVjdCBkZW50cnkgKmRfdHJhY2VyKTsKKwordm9pZCBmdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCSAgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJICAgIHVuc2lnbmVkIGxvbmcgaXAsCisJCQkgICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsCisJCQkgICAgdW5zaWduZWQgbG9uZyBmbGFncyk7Cit2b2lkIHRyYWNpbmdfc2NoZWRfc3dpdGNoX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0LAorCQkJCXVuc2lnbmVkIGxvbmcgZmxhZ3MpOwordm9pZCB0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKTsKKwordm9pZCB0cmFjaW5nX3NjaGVkX3dha2V1cF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICp3YWtlZSwKKwkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1ciwKKwkJCQl1bnNpZ25lZCBsb25nIGZsYWdzKTsKK3ZvaWQgdHJhY2Vfc3BlY2lhbChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkgICB1bnNpZ25lZCBsb25nIGFyZzEsCisJCSAgIHVuc2lnbmVkIGxvbmcgYXJnMiwKKwkJICAgdW5zaWduZWQgbG9uZyBhcmczKTsKK3ZvaWQgdHJhY2VfZnVuY3Rpb24oc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJICAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCSAgICB1bnNpZ25lZCBsb25nIGlwLAorCQkgICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsCisJCSAgICB1bnNpZ25lZCBsb25nIGZsYWdzKTsKKwordm9pZCB0cmFjaW5nX3N0YXJ0X2NtZGxpbmVfcmVjb3JkKHZvaWQpOwordm9pZCB0cmFjaW5nX3N0b3BfY21kbGluZV9yZWNvcmQodm9pZCk7CitpbnQgcmVnaXN0ZXJfdHJhY2VyKHN0cnVjdCB0cmFjZXIgKnR5cGUpOwordm9pZCB1bnJlZ2lzdGVyX3RyYWNlcihzdHJ1Y3QgdHJhY2VyICp0eXBlKTsKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnNlY3NfdG9fdXNlY3ModW5zaWduZWQgbG9uZyBuc2Vjcyk7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIHRyYWNpbmdfbWF4X2xhdGVuY3k7CitleHRlcm4gdW5zaWduZWQgbG9uZyB0cmFjaW5nX3RocmVzaDsKKwordm9pZCB1cGRhdGVfbWF4X3RyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY3B1KTsKK3ZvaWQgdXBkYXRlX21heF90cl9zaW5nbGUoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCSAgc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjcHUpOworCitleHRlcm4gY3ljbGVfdCBmdHJhY2Vfbm93KGludCBjcHUpOworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQordm9pZCB0cmFjaW5nX3N0YXJ0X2Z1bmN0aW9uX3RyYWNlKHZvaWQpOwordm9pZCB0cmFjaW5nX3N0b3BfZnVuY3Rpb25fdHJhY2Uodm9pZCk7CisjZWxzZQorIyBkZWZpbmUgdHJhY2luZ19zdGFydF9mdW5jdGlvbl90cmFjZSgpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSB0cmFjaW5nX3N0b3BfZnVuY3Rpb25fdHJhY2UoKQkJZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCit0eXBlZGVmIHZvaWQKKygqdHJhY2VyX3N3aXRjaF9mdW5jX3QpKHZvaWQgKnByaXZhdGUsCisJCQl2b2lkICpfX3JxLAorCQkJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCQkJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0KTsKKworc3RydWN0IHRyYWNlcl9zd2l0Y2hfb3BzIHsKKwl0cmFjZXJfc3dpdGNoX2Z1bmNfdAkJZnVuYzsKKwl2b2lkCQkJCSpwcml2YXRlOworCXN0cnVjdCB0cmFjZXJfc3dpdGNoX29wcwkqbmV4dDsKK307CisKKyNlbmRpZiAvKiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK2V4dGVybiB1bnNpZ25lZCBsb25nIGZ0cmFjZV91cGRhdGVfdG90X2NudDsKKyNkZWZpbmUgRFlOX0ZUUkFDRV9URVNUX05BTUUgdHJhY2Vfc2VsZnRlc3RfZHluYW1pY190ZXN0X2Z1bmMKK2V4dGVybiBpbnQgRFlOX0ZUUkFDRV9URVNUX05BTUUodm9pZCk7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0UKK2V4dGVybiB2b2lkIF9fdHJhY2VfbW1pb3RyYWNlX3J3KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQlzdHJ1Y3QgbW1pb3RyYWNlX3J3ICpydyk7CitleHRlcm4gdm9pZCBfX3RyYWNlX21taW90cmFjZV9tYXAoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCXN0cnVjdCBtbWlvdHJhY2VfbWFwICptYXApOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NUQVJUVVBfVEVTVAorI2lmZGVmIENPTkZJR19GVFJBQ0UKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9mdW5jdGlvbihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfSVJRU09GRl9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9pcnFzb2ZmKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdG9mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmIGRlZmluZWQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSAmJiBkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0aXJxc29mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJCSBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19TQ0hFRF9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF93YWtldXAoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zY2hlZF9zd2l0Y2goc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19TWVNQUk9GX1RSQUNFUgorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3N5c3Byb2Yoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUICovCisKK2V4dGVybiB2b2lkICpoZWFkX3BhZ2Uoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSk7CitleHRlcm4gaW50IHRyYWNlX3NlcV9wcmludGYoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqZm10LCAuLi4pOworZXh0ZXJuIHNzaXplX3QgdHJhY2Vfc2VxX3RvX3VzZXIoc3RydWN0IHRyYWNlX3NlcSAqcywgY2hhciBfX3VzZXIgKnVidWYsCisJCQkJIHNpemVfdCBjbnQpOworZXh0ZXJuIGxvbmcgbnMydXNlY3MoY3ljbGVfdCBuc2VjKTsKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdHJhY2VfZmxhZ3M7CisKKy8qCisgKiB0cmFjZV9pdGVyYXRvcl9mbGFncyBpcyBhbiBlbnVtZXJhdGlvbiB0aGF0IGRlZmluZXMgYml0CisgKiBwb3NpdGlvbnMgaW50byB0cmFjZV9mbGFncyB0aGF0IGNvbnRyb2xzIHRoZSBvdXRwdXQuCisgKgorICogTk9URTogVGhlc2UgYml0cyBtdXN0IG1hdGNoIHRoZSB0cmFjZV9vcHRpb25zIGFycmF5IGluCisgKiAgICAgICB0cmFjZS5jLgorICovCitlbnVtIHRyYWNlX2l0ZXJhdG9yX2ZsYWdzIHsKKwlUUkFDRV9JVEVSX1BSSU5UX1BBUkVOVAkJPSAweDAxLAorCVRSQUNFX0lURVJfU1lNX09GRlNFVAkJPSAweDAyLAorCVRSQUNFX0lURVJfU1lNX0FERFIJCT0gMHgwNCwKKwlUUkFDRV9JVEVSX1ZFUkJPU0UJCT0gMHgwOCwKKwlUUkFDRV9JVEVSX1JBVwkJCT0gMHgxMCwKKwlUUkFDRV9JVEVSX0hFWAkJCT0gMHgyMCwKKwlUUkFDRV9JVEVSX0JJTgkJCT0gMHg0MCwKKwlUUkFDRV9JVEVSX0JMT0NLCQk9IDB4ODAsCisJVFJBQ0VfSVRFUl9TVEFDS1RSQUNFCQk9IDB4MTAwLAorCVRSQUNFX0lURVJfU0NIRURfVFJFRQkJPSAweDIwMCwKK307CisKKyNlbmRpZiAvKiBfTElOVVhfS0VSTkVMX1RSQUNFX0ggKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9mdW5jdGlvbnMuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9mdW5jdGlvbnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTIxNDQ4Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX2Z1bmN0aW9ucy5jCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiByaW5nIGJ1ZmZlciBiYXNlZCBmdW5jdGlvbiB0cmFjZXIKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiBjb2RlIGZyb20gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyB2b2lkIGZ1bmN0aW9uX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCXRyLT50aW1lX3N0YXJ0ID0gZnRyYWNlX25vdyh0ci0+Y3B1KTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworfQorCitzdGF0aWMgdm9pZCBzdGFydF9mdW5jdGlvbl90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyLT5jcHUgPSBnZXRfY3B1KCk7CisJZnVuY3Rpb25fcmVzZXQodHIpOworCXB1dF9jcHUoKTsKKworCXRyYWNpbmdfc3RhcnRfY21kbGluZV9yZWNvcmQoKTsKKwl0cmFjaW5nX3N0YXJ0X2Z1bmN0aW9uX3RyYWNlKCk7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3BfZnVuY3Rpb25fdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjaW5nX3N0b3BfZnVuY3Rpb25fdHJhY2UoKTsKKwl0cmFjaW5nX3N0b3BfY21kbGluZV9yZWNvcmQoKTsKK30KKworc3RhdGljIHZvaWQgZnVuY3Rpb25fdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfZnVuY3Rpb25fdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBmdW5jdGlvbl90cmFjZV9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RvcF9mdW5jdGlvbl90cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIGZ1bmN0aW9uX3RyYWNlX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9mdW5jdGlvbl90cmFjZSh0cik7CisJZWxzZQorCQlzdG9wX2Z1bmN0aW9uX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgZnVuY3Rpb25fdHJhY2UgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJICAgICA9ICJmdHJhY2UiLAorCS5pbml0CSAgICAgPSBmdW5jdGlvbl90cmFjZV9pbml0LAorCS5yZXNldAkgICAgID0gZnVuY3Rpb25fdHJhY2VfcmVzZXQsCisJLmN0cmxfdXBkYXRlID0gZnVuY3Rpb25fdHJhY2VfY3RybF91cGRhdGUsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZnVuY3Rpb24sCisjZW5kaWYKK307CisKK3N0YXRpYyBfX2luaXQgaW50IGluaXRfZnVuY3Rpb25fdHJhY2Uodm9pZCkKK3sKKwlyZXR1cm4gcmVnaXN0ZXJfdHJhY2VyKCZmdW5jdGlvbl90cmFjZSk7Cit9CisKK2RldmljZV9pbml0Y2FsbChpbml0X2Z1bmN0aW9uX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2VfaXJxc29mZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyMWQ2ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2VfaXJxc29mZi5jCkBAIC0wLDAgKzEsNDg2IEBACisvKgorICogdHJhY2UgaXJxcyBvZmYgY3JpdGljYWxsIHRpbWluZ3MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqCisgKiBGcm9tIGNvZGUgaW4gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQkJKmlycXNvZmZfdHJhY2UgX19yZWFkX21vc3RseTsKK3N0YXRpYyBpbnQJCQkJdHJhY2VyX2VuYWJsZWQgX19yZWFkX21vc3RseTsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgdHJhY2luZ19jcHUpOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG1heF90cmFjZV9sb2NrKTsKKworZW51bSB7CisJVFJBQ0VSX0lSUVNfT0ZGCQk9ICgxIDw8IDEpLAorCVRSQUNFUl9QUkVFTVBUX09GRgk9ICgxIDw8IDIpLAorfTsKKworc3RhdGljIGludCB0cmFjZV90eXBlIF9fcmVhZF9tb3N0bHk7CisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKK3N0YXRpYyBpbmxpbmUgaW50CitwcmVlbXB0X3RyYWNlKHZvaWQpCit7CisJcmV0dXJuICgodHJhY2VfdHlwZSAmIFRSQUNFUl9QUkVFTVBUX09GRikgJiYgcHJlZW1wdF9jb3VudCgpKTsKK30KKyNlbHNlCisjIGRlZmluZSBwcmVlbXB0X3RyYWNlKCkgKDApCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorc3RhdGljIGlubGluZSBpbnQKK2lycV90cmFjZSh2b2lkKQoreworCXJldHVybiAoKHRyYWNlX3R5cGUgJiBUUkFDRVJfSVJRU19PRkYpICYmCisJCWlycXNfZGlzYWJsZWQoKSk7Cit9CisjZWxzZQorIyBkZWZpbmUgaXJxX3RyYWNlKCkgKDApCisjZW5kaWYKKworLyoKKyAqIFNlcXVlbmNlIGNvdW50IC0gd2UgcmVjb3JkIGl0IHdoZW4gc3RhcnRpbmcgYSBtZWFzdXJlbWVudCBhbmQKKyAqIHNraXAgdGhlIGxhdGVuY3kgaWYgdGhlIHNlcXVlbmNlIGhhcyBjaGFuZ2VkIC0gc29tZSBvdGhlciBzZWN0aW9uCisgKiBkaWQgYSBtYXhpbXVtIGFuZCBjb3VsZCBkaXN0dXJiIG91ciBtZWFzdXJlbWVudCB3aXRoIHNlcmlhbCBjb25zb2xlCisgKiBwcmludG91dHMsIGV0Yy4gVHJ1bHkgY29pbmNpZGluZyBtYXhpbXVtIGxhdGVuY2llcyBzaG91bGQgYmUgcmFyZQorICogYW5kIHdoYXQgaGFwcGVucyB0b2dldGhlciBoYXBwZW5zIHNlcGFyYXRlbHkgYXMgd2VsbCwgc28gdGhpcyBkb2VzbnQKKyAqIGRlY3JlYXNlIHRoZSB2YWxpZGl0eSBvZiB0aGUgbWF4aW11bSBmb3VuZDoKKyAqLworc3RhdGljIF9fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wCXVuc2lnbmVkIGxvbmcgbWF4X3NlcXVlbmNlOworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorLyoKKyAqIGlycXNvZmYgdXNlcyBpdHMgb3duIHRyYWNlciBmdW5jdGlvbiB0byBrZWVwIHRoZSBvdmVyaGVhZCBkb3duOgorICovCitzdGF0aWMgdm9pZAoraXJxc29mZl90cmFjZXJfY2FsbCh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXJxc29mZl90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJLyoKKwkgKiBEb2VzIG5vdCBtYXR0ZXIgaWYgd2UgcHJlZW1wdC4gV2UgdGVzdCB0aGUgZmxhZ3MKKwkgKiBhZnRlcndhcmQsIHRvIHNlZSBpZiBpcnFzIGFyZSBkaXNhYmxlZCBvciBub3QuCisJICogSWYgd2UgcHJlZW1wdCBhbmQgZ2V0IGEgZmFsc2UgcG9zaXRpdmUsIHRoZSBmbGFncworCSAqIHRlc3Qgd2lsbCBmYWlsLgorCSAqLworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJaWYgKGxpa2VseSghcGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSkpCisJCXJldHVybjsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCS8qIHNsaWdodCBjaGFuY2UgdG8gZ2V0IGEgZmFsc2UgcG9zaXRpdmUgb24gdHJhY2luZ19jcHUgKi8KKwlpZiAoIWlycXNfZGlzYWJsZWRfZmxhZ3MoZmxhZ3MpKQorCQlyZXR1cm47CisKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlpZiAobGlrZWx5KGRpc2FibGVkID09IDEpKQorCQl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgaXAsIHBhcmVudF9pcCwgZmxhZ3MpOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworfQorCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgdHJhY2Vfb3BzIF9fcmVhZF9tb3N0bHkgPQoreworCS5mdW5jID0gaXJxc29mZl90cmFjZXJfY2FsbCwKK307CisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisvKgorICogU2hvdWxkIHRoaXMgbmV3IGxhdGVuY3kgYmUgcmVwb3J0ZWQvcmVjb3JkZWQ/CisgKi8KK3N0YXRpYyBpbnQgcmVwb3J0X2xhdGVuY3koY3ljbGVfdCBkZWx0YSkKK3sKKwlpZiAodHJhY2luZ190aHJlc2gpIHsKKwkJaWYgKGRlbHRhIDwgdHJhY2luZ190aHJlc2gpCisJCQlyZXR1cm4gMDsKKwl9IGVsc2UgeworCQlpZiAoZGVsdGEgPD0gdHJhY2luZ19tYXhfbGF0ZW5jeSkKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX2NyaXRpY2FsX3RpbWluZyhzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkgICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkgICAgICB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCwKKwkJICAgICAgaW50IGNwdSkKK3sKKwl1bnNpZ25lZCBsb25nIGxhdGVuY3ksIHQwLCB0MTsKKwljeWNsZV90IFQwLCBUMSwgZGVsdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qCisJICogdXNlY3MgY29udmVyc2lvbiBpcyBzbG93IHNvIHdlIHRyeSB0byBkZWxheSB0aGUgY29udmVyc2lvbgorCSAqIGFzIGxvbmcgYXMgcG9zc2libGU6CisJICovCisJVDAgPSBkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcDsKKwlUMSA9IGZ0cmFjZV9ub3coY3B1KTsKKwlkZWx0YSA9IFQxLVQwOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisKKwlpZiAoIXJlcG9ydF9sYXRlbmN5KGRlbHRhKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmbWF4X3RyYWNlX2xvY2ssIGZsYWdzKTsKKworCS8qIGNoZWNrIGlmIHdlIGFyZSBzdGlsbCB0aGUgbWF4IGxhdGVuY3kgKi8KKwlpZiAoIXJlcG9ydF9sYXRlbmN5KGRlbHRhKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIENBTExFUl9BRERSMCwgcGFyZW50X2lwLCBmbGFncyk7CisKKwlsYXRlbmN5ID0gbnNlY3NfdG9fdXNlY3MoZGVsdGEpOworCisJaWYgKGRhdGEtPmNyaXRpY2FsX3NlcXVlbmNlICE9IG1heF9zZXF1ZW5jZSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IGRlbHRhOworCXQwID0gbnNlY3NfdG9fdXNlY3MoVDApOworCXQxID0gbnNlY3NfdG9fdXNlY3MoVDEpOworCisJZGF0YS0+Y3JpdGljYWxfZW5kID0gcGFyZW50X2lwOworCisJdXBkYXRlX21heF90cl9zaW5nbGUodHIsIGN1cnJlbnQsIGNwdSk7CisKKwltYXhfc2VxdWVuY2UrKzsKKworb3V0X3VubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZtYXhfdHJhY2VfbG9jaywgZmxhZ3MpOworCitvdXQ6CisJZGF0YS0+Y3JpdGljYWxfc2VxdWVuY2UgPSBtYXhfc2VxdWVuY2U7CisJZGF0YS0+cHJlZW1wdF90aW1lc3RhbXAgPSBmdHJhY2Vfbm93KGNwdSk7CisJdHJhY2luZ19yZXNldChkYXRhKTsKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgQ0FMTEVSX0FERFIwLCBwYXJlbnRfaXAsIGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzdGFydF9jcml0aWNhbF90aW1pbmcodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJaW50IGNwdTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXJxc29mZl90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAobGlrZWx5KCF0cmFjZXJfZW5hYmxlZCkpCisJCXJldHVybjsKKworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisKKwlpZiAocGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSkKKwkJcmV0dXJuOworCisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisKKwlpZiAodW5saWtlbHkoIWRhdGEpIHx8IGF0b21pY19yZWFkKCZkYXRhLT5kaXNhYmxlZCkpCisJCXJldHVybjsKKworCWF0b21pY19pbmMoJmRhdGEtPmRpc2FibGVkKTsKKworCWRhdGEtPmNyaXRpY2FsX3NlcXVlbmNlID0gbWF4X3NlcXVlbmNlOworCWRhdGEtPnByZWVtcHRfdGltZXN0YW1wID0gZnRyYWNlX25vdyhjcHUpOworCWRhdGEtPmNyaXRpY2FsX3N0YXJ0ID0gcGFyZW50X2lwID8gOiBpcDsKKwl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgaXAsIHBhcmVudF9pcCwgZmxhZ3MpOworCisJcGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSA9IDE7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc3RvcF9jcml0aWNhbF90aW1pbmcodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJaW50IGNwdTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXJxc29mZl90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCS8qIEFsd2F5cyBjbGVhciB0aGUgdHJhY2luZyBjcHUgb24gc3RvcHBpbmcgdGhlIHRyYWNlICovCisJaWYgKHVubGlrZWx5KHBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkpKQorCQlwZXJfY3B1KHRyYWNpbmdfY3B1LCBjcHUpID0gMDsKKwllbHNlCisJCXJldHVybjsKKworCWlmICghdHJhY2VyX2VuYWJsZWQpCisJCXJldHVybjsKKworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCisJaWYgKHVubGlrZWx5KCFkYXRhKSB8fCB1bmxpa2VseSghaGVhZF9wYWdlKGRhdGEpKSB8fAorCSAgICAhZGF0YS0+Y3JpdGljYWxfc3RhcnQgfHwgYXRvbWljX3JlYWQoJmRhdGEtPmRpc2FibGVkKSkKKwkJcmV0dXJuOworCisJYXRvbWljX2luYygmZGF0YS0+ZGlzYWJsZWQpOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKwljaGVja19jcml0aWNhbF90aW1pbmcodHIsIGRhdGEsIHBhcmVudF9pcCA/IDogaXAsIGNwdSk7CisJZGF0YS0+Y3JpdGljYWxfc3RhcnQgPSAwOworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKK30KKworLyogc3RhcnQgYW5kIHN0b3AgY3JpdGljYWwgdGltaW5ncyB1c2VkIHRvIGZvciBzdG9wcGFnZSAoaW4gaWRsZSkgKi8KK3ZvaWQgc3RhcnRfY3JpdGljYWxfdGltaW5ncyh2b2lkKQoreworCWlmIChwcmVlbXB0X3RyYWNlKCkgfHwgaXJxX3RyYWNlKCkpCisJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIENBTExFUl9BRERSMSk7Cit9CisKK3ZvaWQgc3RvcF9jcml0aWNhbF90aW1pbmdzKHZvaWQpCit7CisJaWYgKHByZWVtcHRfdHJhY2UoKSB8fCBpcnFfdHJhY2UoKSkKKwkJc3RvcF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBDQUxMRVJfQUREUjEpOworfQorCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCisjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKK3ZvaWQgdGltZV9oYXJkaXJxc19vbih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdG9wX2NyaXRpY2FsX3RpbWluZyhhMCwgYTEpOworfQorCit2b2lkIHRpbWVfaGFyZGlycXNfb2ZmKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZyhhMCwgYTEpOworfQorCisjZWxzZSAvKiAhQ09ORklHX1BST1ZFX0xPQ0tJTkcgKi8KKworLyoKKyAqIFN0dWJzOgorICovCisKK3ZvaWQgZWFybHlfYm9vdF9pcnFzX29mZih2b2lkKQoreworfQorCit2b2lkIGVhcmx5X2Jvb3RfaXJxc19vbih2b2lkKQoreworfQorCit2b2lkIHRyYWNlX3NvZnRpcnFzX29uKHVuc2lnbmVkIGxvbmcgaXApCit7Cit9CisKK3ZvaWQgdHJhY2Vfc29mdGlycXNfb2ZmKHVuc2lnbmVkIGxvbmcgaXApCit7Cit9CisKK2lubGluZSB2b2lkIHByaW50X2lycXRyYWNlX2V2ZW50cyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIpCit7Cit9CisKKy8qCisgKiBXZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIGhhcmRpcnEgb24vb2ZmIGV2ZW50czoKKyAqLwordm9pZCB0cmFjZV9oYXJkaXJxc19vbih2b2lkKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdG9wX2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIENBTExFUl9BRERSMSk7Cit9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29uKTsKKwordm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCkKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RhcnRfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgQ0FMTEVSX0FERFIxKTsKK30KK0VYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb2ZmKTsKKwordm9pZCB0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIodW5zaWduZWQgbG9uZyBjYWxsZXJfYWRkcikKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RvcF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBjYWxsZXJfYWRkcik7Cit9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcik7CisKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcih1bnNpZ25lZCBsb25nIGNhbGxlcl9hZGRyKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdGFydF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBjYWxsZXJfYWRkcik7Cit9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIpOworCisjZW5kaWYgLyogQ09ORklHX1BST1ZFX0xPQ0tJTkcgKi8KKyNlbmRpZiAvKiAgQ09ORklHX0lSUVNPRkZfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKK3ZvaWQgdHJhY2VfcHJlZW1wdF9vbih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKQoreworCXN0b3BfY3JpdGljYWxfdGltaW5nKGEwLCBhMSk7Cit9CisKK3ZvaWQgdHJhY2VfcHJlZW1wdF9vZmYodW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSkKK3sKKwlzdGFydF9jcml0aWNhbF90aW1pbmcoYTAsIGExKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfUFJFRU1QVF9UUkFDRVIgKi8KKworc3RhdGljIHZvaWQgc3RhcnRfaXJxc29mZl90cmFjZXIoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlyZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7CisJdHJhY2VyX2VuYWJsZWQgPSAxOworfQorCitzdGF0aWMgdm9pZCBzdG9wX2lycXNvZmZfdHJhY2VyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworCXVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworfQorCitzdGF0aWMgdm9pZCBfX2lycXNvZmZfdHJhY2VyX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpcnFzb2ZmX3RyYWNlID0gdHI7CisJLyogbWFrZSBzdXJlIHRoYXQgdGhlIHRyYWNlciBpcyB2aXNpYmxlICovCisJc21wX3dtYigpOworCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9pcnFzb2ZmX3RyYWNlcih0cik7Cit9CisKK3N0YXRpYyB2b2lkIGlycXNvZmZfdHJhY2VyX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdG9wX2lycXNvZmZfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X2lycXNvZmZfdHJhY2VyKHRyKTsKKwllbHNlCisJCXN0b3BfaXJxc29mZl90cmFjZXIodHIpOworfQorCitzdGF0aWMgdm9pZCBpcnFzb2ZmX3RyYWNlcl9vcGVuKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwkvKiBzdG9wIHRoZSB0cmFjZSB3aGlsZSBkdW1waW5nICovCisJaWYgKGl0ZXItPnRyLT5jdHJsKQorCQlzdG9wX2lycXNvZmZfdHJhY2VyKGl0ZXItPnRyKTsKK30KKworc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfY2xvc2Uoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCWlmIChpdGVyLT50ci0+Y3RybCkKKwkJc3RhcnRfaXJxc29mZl90cmFjZXIoaXRlci0+dHIpOworfQorCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCitzdGF0aWMgdm9pZCBpcnFzb2ZmX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VfdHlwZSA9IFRSQUNFUl9JUlFTX09GRjsKKworCV9faXJxc29mZl90cmFjZXJfaW5pdCh0cik7Cit9CitzdGF0aWMgc3RydWN0IHRyYWNlciBpcnFzb2ZmX3RyYWNlciBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAiaXJxc29mZiIsCisJLmluaXQJCT0gaXJxc29mZl90cmFjZXJfaW5pdCwKKwkucmVzZXQJCT0gaXJxc29mZl90cmFjZXJfcmVzZXQsCisJLm9wZW4JCT0gaXJxc29mZl90cmFjZXJfb3BlbiwKKwkuY2xvc2UJCT0gaXJxc29mZl90cmFjZXJfY2xvc2UsCisJLmN0cmxfdXBkYXRlCT0gaXJxc29mZl90cmFjZXJfY3RybF91cGRhdGUsCisJLnByaW50X21heAk9IDEsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfaXJxc29mZiwKKyNlbmRpZgorfTsKKyMgZGVmaW5lIHJlZ2lzdGVyX2lycXNvZmYodHJhY2UpIHJlZ2lzdGVyX3RyYWNlcigmdHJhY2UpCisjZWxzZQorIyBkZWZpbmUgcmVnaXN0ZXJfaXJxc29mZih0cmFjZSkgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKK3N0YXRpYyB2b2lkIHByZWVtcHRvZmZfdHJhY2VyX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZV90eXBlID0gVFJBQ0VSX1BSRUVNUFRfT0ZGOworCisJX19pcnFzb2ZmX3RyYWNlcl9pbml0KHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgcHJlZW1wdG9mZl90cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gInByZWVtcHRvZmYiLAorCS5pbml0CQk9IHByZWVtcHRvZmZfdHJhY2VyX2luaXQsCisJLnJlc2V0CQk9IGlycXNvZmZfdHJhY2VyX3Jlc2V0LAorCS5vcGVuCQk9IGlycXNvZmZfdHJhY2VyX29wZW4sCisJLmNsb3NlCQk9IGlycXNvZmZfdHJhY2VyX2Nsb3NlLAorCS5jdHJsX3VwZGF0ZQk9IGlycXNvZmZfdHJhY2VyX2N0cmxfdXBkYXRlLAorCS5wcmludF9tYXgJPSAxLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRvZmYsCisjZW5kaWYKK307CisjIGRlZmluZSByZWdpc3Rlcl9wcmVlbXB0b2ZmKHRyYWNlKSByZWdpc3Rlcl90cmFjZXIoJnRyYWNlKQorI2Vsc2UKKyMgZGVmaW5lIHJlZ2lzdGVyX3ByZWVtcHRvZmYodHJhY2UpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfSVJRU09GRl9UUkFDRVIpICYmIFwKKwlkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikKKworc3RhdGljIHZvaWQgcHJlZW1wdGlycXNvZmZfdHJhY2VyX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZV90eXBlID0gVFJBQ0VSX0lSUVNfT0ZGIHwgVFJBQ0VSX1BSRUVNUFRfT0ZGOworCisJX19pcnFzb2ZmX3RyYWNlcl9pbml0KHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgcHJlZW1wdGlycXNvZmZfdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJwcmVlbXB0aXJxc29mZiIsCisJLmluaXQJCT0gcHJlZW1wdGlycXNvZmZfdHJhY2VyX2luaXQsCisJLnJlc2V0CQk9IGlycXNvZmZfdHJhY2VyX3Jlc2V0LAorCS5vcGVuCQk9IGlycXNvZmZfdHJhY2VyX29wZW4sCisJLmNsb3NlCQk9IGlycXNvZmZfdHJhY2VyX2Nsb3NlLAorCS5jdHJsX3VwZGF0ZQk9IGlycXNvZmZfdHJhY2VyX2N0cmxfdXBkYXRlLAorCS5wcmludF9tYXgJPSAxLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRpcnFzb2ZmLAorI2VuZGlmCit9OworCisjIGRlZmluZSByZWdpc3Rlcl9wcmVlbXB0aXJxc29mZih0cmFjZSkgcmVnaXN0ZXJfdHJhY2VyKCZ0cmFjZSkKKyNlbHNlCisjIGRlZmluZSByZWdpc3Rlcl9wcmVlbXB0aXJxc29mZih0cmFjZSkgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKK19faW5pdCBzdGF0aWMgaW50IGluaXRfaXJxc29mZl90cmFjZXIodm9pZCkKK3sKKwlyZWdpc3Rlcl9pcnFzb2ZmKGlycXNvZmZfdHJhY2VyKTsKKwlyZWdpc3Rlcl9wcmVlbXB0b2ZmKHByZWVtcHRvZmZfdHJhY2VyKTsKKwlyZWdpc3Rlcl9wcmVlbXB0aXJxc29mZihwcmVlbXB0aXJxc29mZl90cmFjZXIpOworCisJcmV0dXJuIDA7Cit9CitkZXZpY2VfaW5pdGNhbGwoaW5pdF9pcnFzb2ZmX3RyYWNlcik7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2VfbW1pb3RyYWNlLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2VfbW1pb3RyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjEzZGMxOQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9tbWlvdHJhY2UuYwpAQCAtMCwwICsxLDI5NSBAQAorLyoKKyAqIE1lbW9yeSBtYXBwZWQgSS9PIHRyYWNpbmcKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggUGVra2EgUGFhbGFuZW4gPHBxQGlraS5maT4KKyAqLworCisjZGVmaW5lIERFQlVHIDEKKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21taW90cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RydWN0IGhlYWRlcl9pdGVyIHsKKwlzdHJ1Y3QgcGNpX2RldiAqZGV2OworfTsKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheSAqbW1pb190cmFjZV9hcnJheTsKK3N0YXRpYyBib29sIG92ZXJydW5fZGV0ZWN0ZWQ7CisKK3N0YXRpYyB2b2lkIG1taW9fcmVzZXRfZGF0YShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwlvdmVycnVuX2RldGVjdGVkID0gZmFsc2U7CisJdHItPnRpbWVfc3RhcnQgPSBmdHJhY2Vfbm93KHRyLT5jcHUpOworCisJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCisJCXRyYWNpbmdfcmVzZXQodHItPmRhdGFbY3B1XSk7Cit9CisKK3N0YXRpYyB2b2lkIG1taW9fdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXByX2RlYnVnKCJpbiAlc1xuIiwgX19mdW5jX18pOworCW1taW9fdHJhY2VfYXJyYXkgPSB0cjsKKwlpZiAodHItPmN0cmwpIHsKKwkJbW1pb19yZXNldF9kYXRhKHRyKTsKKwkJZW5hYmxlX21taW90cmFjZSgpOworCX0KK30KKworc3RhdGljIHZvaWQgbW1pb190cmFjZV9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXByX2RlYnVnKCJpbiAlc1xuIiwgX19mdW5jX18pOworCWlmICh0ci0+Y3RybCkKKwkJZGlzYWJsZV9tbWlvdHJhY2UoKTsKKwltbWlvX3Jlc2V0X2RhdGEodHIpOworCW1taW9fdHJhY2VfYXJyYXkgPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCBtbWlvX3RyYWNlX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJcHJfZGVidWcoImluICVzXG4iLCBfX2Z1bmNfXyk7CisJaWYgKHRyLT5jdHJsKSB7CisJCW1taW9fcmVzZXRfZGF0YSh0cik7CisJCWVuYWJsZV9tbWlvdHJhY2UoKTsKKwl9IGVsc2UgeworCQlkaXNhYmxlX21taW90cmFjZSgpOworCX0KK30KKworc3RhdGljIGludCBtbWlvX3ByaW50X3BjaWRldihzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqZGV2KQoreworCWludCByZXQgPSAwOworCWludCBpOworCXJlc291cmNlX3NpemVfdCBzdGFydCwgZW5kOworCWNvbnN0IHN0cnVjdCBwY2lfZHJpdmVyICpkcnYgPSBwY2lfZGV2X2RyaXZlcihkZXYpOworCisJLyogWFhYOiBpbmNvbXBsZXRlIGNoZWNrcyBmb3IgdHJhY2Vfc2VxX3ByaW50ZigpIHJldHVybiB2YWx1ZSAqLworCXJldCArPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJQQ0lERVYgJTAyeCUwMnggJTA0eCUwNHggJXgiLAorCQkJCWRldi0+YnVzLT5udW1iZXIsIGRldi0+ZGV2Zm4sCisJCQkJZGV2LT52ZW5kb3IsIGRldi0+ZGV2aWNlLCBkZXYtPmlycSk7CisJLyoKKwkgKiBYWFg6IGlzIHBjaV9yZXNvdXJjZV90b191c2VyKCkgYXBwcm9wcmlhdGUsIHNpbmNlIHdlIGFyZQorCSAqIHN1cHBvc2VkIHRvIGludGVycHJldCB0aGUgX19pb3JlbWFwKCkgcGh5c19hZGRyIGFyZ3VtZW50IGJhc2VkIG9uCisJICogdGhlc2UgcHJpbnRlZCB2YWx1ZXM/CisJICovCisJZm9yIChpID0gMDsgaSA8IDc7IGkrKykgeworCQlwY2lfcmVzb3VyY2VfdG9fdXNlcihkZXYsIGksICZkZXYtPnJlc291cmNlW2ldLCAmc3RhcnQsICZlbmQpOworCQlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiICVsbHgiLAorCQkJKHVuc2lnbmVkIGxvbmcgbG9uZykoc3RhcnQgfAorCQkJKGRldi0+cmVzb3VyY2VbaV0uZmxhZ3MgJiBQQ0lfUkVHSU9OX0ZMQUdfTUFTSykpKTsKKwl9CisJZm9yIChpID0gMDsgaSA8IDc7IGkrKykgeworCQlwY2lfcmVzb3VyY2VfdG9fdXNlcihkZXYsIGksICZkZXYtPnJlc291cmNlW2ldLCAmc3RhcnQsICZlbmQpOworCQlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiICVsbHgiLAorCQkJZGV2LT5yZXNvdXJjZVtpXS5zdGFydCA8IGRldi0+cmVzb3VyY2VbaV0uZW5kID8KKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpKGVuZCAtIHN0YXJ0KSArIDEgOiAwKTsKKwl9CisJaWYgKGRydikKKwkJcmV0ICs9IHRyYWNlX3NlcV9wcmludGYocywgIiAlc1xuIiwgZHJ2LT5uYW1lKTsKKwllbHNlCisJCXJldCArPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgXG4iKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBkZXN0cm95X2hlYWRlcl9pdGVyKHN0cnVjdCBoZWFkZXJfaXRlciAqaGl0ZXIpCit7CisJaWYgKCFoaXRlcikKKwkJcmV0dXJuOworCXBjaV9kZXZfcHV0KGhpdGVyLT5kZXYpOworCWtmcmVlKGhpdGVyKTsKK30KKworc3RhdGljIHZvaWQgbW1pb19waXBlX29wZW4oc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCBoZWFkZXJfaXRlciAqaGl0ZXI7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisKKwl0cmFjZV9zZXFfcHJpbnRmKHMsICJWRVJTSU9OIDIwMDcwODI0XG4iKTsKKworCWhpdGVyID0ga3phbGxvYyhzaXplb2YoKmhpdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFoaXRlcikKKwkJcmV0dXJuOworCisJaGl0ZXItPmRldiA9IHBjaV9nZXRfZGV2aWNlKFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIE5VTEwpOworCWl0ZXItPnByaXZhdGUgPSBoaXRlcjsKK30KKworLyogWFhYOiBUaGlzIGlzIG5vdCBjYWxsZWQgd2hlbiB0aGUgcGlwZSBpcyBjbG9zZWQhICovCitzdGF0aWMgdm9pZCBtbWlvX2Nsb3NlKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgaGVhZGVyX2l0ZXIgKmhpdGVyID0gaXRlci0+cHJpdmF0ZTsKKwlkZXN0cm95X2hlYWRlcl9pdGVyKGhpdGVyKTsKKwlpdGVyLT5wcml2YXRlID0gTlVMTDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY291bnRfb3ZlcnJ1bnMoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCWludCBjcHU7CisJdW5zaWduZWQgbG9uZyBjbnQgPSAwOworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCWNudCArPSBpdGVyLT5vdmVycnVuW2NwdV07CisJCWl0ZXItPm92ZXJydW5bY3B1XSA9IDA7CisJfQorCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IG1taW9fcmVhZChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIsIHN0cnVjdCBmaWxlICpmaWxwLAorCQkJCWNoYXIgX191c2VyICp1YnVmLCBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3NpemVfdCByZXQ7CisJc3RydWN0IGhlYWRlcl9pdGVyICpoaXRlciA9IGl0ZXItPnByaXZhdGU7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJdW5zaWduZWQgbG9uZyBuOworCisJbiA9IGNvdW50X292ZXJydW5zKGl0ZXIpOworCWlmIChuKSB7CisJCS8qIFhYWDogVGhpcyBpcyBsYXRlciB0aGFuIHdoZXJlIGV2ZW50cyB3ZXJlIGxvc3QuICovCisJCXRyYWNlX3NlcV9wcmludGYocywgIk1BUksgMC4wMDAwMDAgTG9zdCAlbHUgZXZlbnRzLlxuIiwgbik7CisJCWlmICghb3ZlcnJ1bl9kZXRlY3RlZCkKKwkJCXByX3dhcm5pbmcoIm1taW90cmFjZSBoYXMgbG9zdCBldmVudHMuXG4iKTsKKwkJb3ZlcnJ1bl9kZXRlY3RlZCA9IHRydWU7CisJCWdvdG8gcHJpbnRfb3V0OworCX0KKworCWlmICghaGl0ZXIpCisJCXJldHVybiAwOworCisJbW1pb19wcmludF9wY2lkZXYocywgaGl0ZXItPmRldik7CisJaGl0ZXItPmRldiA9IHBjaV9nZXRfZGV2aWNlKFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIGhpdGVyLT5kZXYpOworCisJaWYgKCFoaXRlci0+ZGV2KSB7CisJCWRlc3Ryb3lfaGVhZGVyX2l0ZXIoaGl0ZXIpOworCQlpdGVyLT5wcml2YXRlID0gTlVMTDsKKwl9CisKK3ByaW50X291dDoKKwlyZXQgPSB0cmFjZV9zZXFfdG9fdXNlcihzLCB1YnVmLCBjbnQpOworCXJldHVybiAocmV0ID09IC1FQlVTWSkgPyAwIDogcmV0OworfQorCitzdGF0aWMgaW50IG1taW9fcHJpbnRfcncoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnkgPSBpdGVyLT5lbnQ7CisJc3RydWN0IG1taW90cmFjZV9ydyAqcncJPSAmZW50cnktPm1taW9ydzsKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzCT0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdAk9IG5zMnVzZWNzKGVudHJ5LT50KTsKKwl1bnNpZ25lZCBsb25nIHVzZWNfcmVtCT0gZG9fZGl2KHQsIDEwMDAwMDBVTEwpOworCXVuc2lnbmVkIHNlY3MJCT0gKHVuc2lnbmVkIGxvbmcpdDsKKwlpbnQgcmV0ID0gMTsKKworCXN3aXRjaCAoZW50cnktPm1taW9ydy5vcGNvZGUpIHsKKwljYXNlIE1NSU9fUkVBRDoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLAorCQkJIlIgJWQgJWx1LiUwNmx1ICVkIDB4JWxseCAweCVseCAweCVseCAlZFxuIiwKKwkJCXJ3LT53aWR0aCwgc2VjcywgdXNlY19yZW0sIHJ3LT5tYXBfaWQsCisJCQkodW5zaWduZWQgbG9uZyBsb25nKXJ3LT5waHlzLAorCQkJcnctPnZhbHVlLCBydy0+cGMsIDApOworCQlicmVhazsKKwljYXNlIE1NSU9fV1JJVEU6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJXICVkICVsdS4lMDZsdSAlZCAweCVsbHggMHglbHggMHglbHggJWRcbiIsCisJCQlydy0+d2lkdGgsIHNlY3MsIHVzZWNfcmVtLCBydy0+bWFwX2lkLAorCQkJKHVuc2lnbmVkIGxvbmcgbG9uZylydy0+cGh5cywKKwkJCXJ3LT52YWx1ZSwgcnctPnBjLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBNTUlPX1VOS05PV05fT1A6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJVTktOT1dOICVsdS4lMDZsdSAlZCAweCVsbHggJTAyeCwlMDJ4LCUwMnggMHglbHggJWRcbiIsCisJCQlzZWNzLCB1c2VjX3JlbSwgcnctPm1hcF9pZCwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpcnctPnBoeXMsCisJCQkocnctPnZhbHVlID4+IDE2KSAmIDB4ZmYsIChydy0+dmFsdWUgPj4gOCkgJiAweGZmLAorCQkJKHJ3LT52YWx1ZSA+PiAwKSAmIDB4ZmYsIHJ3LT5wYywgMCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgInJ3IHdoYXQ/XG4iKTsKKwkJYnJlYWs7CisJfQorCWlmIChyZXQpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG1taW9fcHJpbnRfbWFwKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5ID0gaXRlci0+ZW50OworCXN0cnVjdCBtbWlvdHJhY2VfbWFwICptCT0gJmVudHJ5LT5tbWlvbWFwOworCXN0cnVjdCB0cmFjZV9zZXEgKnMJPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0CT0gbnMydXNlY3MoZW50cnktPnQpOworCXVuc2lnbmVkIGxvbmcgdXNlY19yZW0JPSBkb19kaXYodCwgMTAwMDAwMFVMTCk7CisJdW5zaWduZWQgc2VjcwkJPSAodW5zaWduZWQgbG9uZyl0OworCWludCByZXQgPSAxOworCisJc3dpdGNoIChlbnRyeS0+bW1pb3J3Lm9wY29kZSkgeworCWNhc2UgTU1JT19QUk9CRToKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLAorCQkJIk1BUCAlbHUuJTA2bHUgJWQgMHglbGx4IDB4JWx4IDB4JWx4IDB4JWx4ICVkXG4iLAorCQkJc2VjcywgdXNlY19yZW0sIG0tPm1hcF9pZCwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpbS0+cGh5cywgbS0+dmlydCwgbS0+bGVuLAorCQkJMFVMLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBNTUlPX1VOUFJPQkU6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJVTk1BUCAlbHUuJTA2bHUgJWQgMHglbHggJWRcbiIsCisJCQlzZWNzLCB1c2VjX3JlbSwgbS0+bWFwX2lkLCAwVUwsIDApOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJtYXAgd2hhdD9cbiIpOworCQlicmVhazsKKwl9CisJaWYgKHJldCkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKy8qIHJldHVybiAwIHRvIGFib3J0IHByaW50aW5nIHdpdGhvdXQgY29uc3VtaW5nIGN1cnJlbnQgZW50cnkgaW4gcGlwZSBtb2RlICovCitzdGF0aWMgaW50IG1taW9fcHJpbnRfbGluZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3dpdGNoIChpdGVyLT5lbnQtPnR5cGUpIHsKKwljYXNlIFRSQUNFX01NSU9fUlc6CisJCXJldHVybiBtbWlvX3ByaW50X3J3KGl0ZXIpOworCWNhc2UgVFJBQ0VfTU1JT19NQVA6CisJCXJldHVybiBtbWlvX3ByaW50X21hcChpdGVyKTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMTsgLyogaWdub3JlIHVua25vd24gZW50cmllcyAqLworCX0KK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgbW1pb190cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gIm1taW90cmFjZSIsCisJLmluaXQJCT0gbW1pb190cmFjZV9pbml0LAorCS5yZXNldAkJPSBtbWlvX3RyYWNlX3Jlc2V0LAorCS5waXBlX29wZW4JPSBtbWlvX3BpcGVfb3BlbiwKKwkuY2xvc2UJCT0gbW1pb19jbG9zZSwKKwkucmVhZAkJPSBtbWlvX3JlYWQsCisJLmN0cmxfdXBkYXRlCT0gbW1pb190cmFjZV9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbGluZQk9IG1taW9fcHJpbnRfbGluZSwKK307CisKK19faW5pdCBzdGF0aWMgaW50IGluaXRfbW1pb190cmFjZSh2b2lkKQoreworCXJldHVybiByZWdpc3Rlcl90cmFjZXIoJm1taW9fdHJhY2VyKTsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X21taW9fdHJhY2UpOworCit2b2lkIG1taW9fdHJhY2Vfcncoc3RydWN0IG1taW90cmFjZV9ydyAqcncpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IG1taW9fdHJhY2VfYXJyYXk7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IHRyLT5kYXRhW3NtcF9wcm9jZXNzb3JfaWQoKV07CisJX190cmFjZV9tbWlvdHJhY2VfcncodHIsIGRhdGEsIHJ3KTsKK30KKwordm9pZCBtbWlvX3RyYWNlX21hcHBpbmcoc3RydWN0IG1taW90cmFjZV9tYXAgKm1hcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gbW1pb190cmFjZV9hcnJheTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJZGF0YSA9IHRyLT5kYXRhW3NtcF9wcm9jZXNzb3JfaWQoKV07CisJX190cmFjZV9tbWlvdHJhY2VfbWFwKHRyLCBkYXRhLCBtYXApOworCXByZWVtcHRfZW5hYmxlKCk7Cit9CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfc3dpdGNoLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfc3dpdGNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I4MTdhMgotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF9zd2l0Y2guYwpAQCAtMCwwICsxLDI4NiBAQAorLyoKKyAqIHRyYWNlIGNvbnRleHQgc3dpdGNoCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L21hcmtlci5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQkqY3R4X3RyYWNlOworc3RhdGljIGludCBfX3JlYWRfbW9zdGx5CXRyYWNlcl9lbmFibGVkOworc3RhdGljIGF0b21pY190CQkJc2NoZWRfcmVmOworCitzdGF0aWMgdm9pZAorc2NoZWRfc3dpdGNoX2Z1bmModm9pZCAqcHJpdmF0ZSwgdm9pZCAqX19ycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCQkJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0KQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqKnB0ciA9IHByaXZhdGU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICpwdHI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUocHJldik7CisJdHJhY2luZ19yZWNvcmRfY21kbGluZShuZXh0KTsKKworCWlmICghdHJhY2VyX2VuYWJsZWQpCisJCXJldHVybjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCXRyYWNpbmdfc2NoZWRfc3dpdGNoX3RyYWNlKHRyLCBkYXRhLCBwcmV2LCBuZXh0LCBmbGFncyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgbm90cmFjZSB2b2lkCitzY2hlZF9zd2l0Y2hfY2FsbGJhY2sodm9pZCAqcHJvYmVfZGF0YSwgdm9pZCAqY2FsbF9kYXRhLAorCQkgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgKmFyZ3MpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2OworCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dDsKKwlzdHJ1Y3QgcnEgKl9fcnE7CisKKwlpZiAoIWF0b21pY19yZWFkKCZzY2hlZF9yZWYpKQorCQlyZXR1cm47CisKKwkvKiBza2lwIHByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICovCisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGxvbmcpOworCV9fcnEgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihfX3JxKSk7CisJcHJldiA9IHZhX2FyZygqYXJncywgdHlwZW9mKHByZXYpKTsKKwluZXh0ID0gdmFfYXJnKCphcmdzLCB0eXBlb2YobmV4dCkpOworCisJLyoKKwkgKiBJZiB0cmFjZXJfc3dpdGNoX2Z1bmMgb25seSBwb2ludHMgdG8gdGhlIGxvY2FsCisJICogc3dpdGNoIGZ1bmMsIGl0IHN0aWxsIG5lZWRzIHRoZSBwdHIgcGFzc2VkIHRvIGl0LgorCSAqLworCXNjaGVkX3N3aXRjaF9mdW5jKHByb2JlX2RhdGEsIF9fcnEsIHByZXYsIG5leHQpOworfQorCitzdGF0aWMgdm9pZAord2FrZXVwX2Z1bmModm9pZCAqcHJpdmF0ZSwgdm9pZCAqX19ycSwgc3RydWN0IHRhc2tfc3RydWN0ICp3YWtlZSwgc3RydWN0CisJCQl0YXNrX3N0cnVjdCAqY3VycikKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKipwdHIgPSBwcml2YXRlOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAqcHRyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwlpZiAoIXRyYWNlcl9lbmFibGVkKQorCQlyZXR1cm47CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKGN1cnIpOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJdHJhY2luZ19zY2hlZF93YWtldXBfdHJhY2UodHIsIGRhdGEsIHdha2VlLCBjdXJyLCBmbGFncyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgbm90cmFjZSB2b2lkCit3YWtlX3VwX2NhbGxiYWNrKHZvaWQgKnByb2JlX2RhdGEsIHZvaWQgKmNhbGxfZGF0YSwKKwkJIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCAqYXJncykKK3sKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnI7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOworCXN0cnVjdCBycSAqX19ycTsKKworCWlmIChsaWtlbHkoIXRyYWNlcl9lbmFibGVkKSkKKwkJcmV0dXJuOworCisJLyogU2tpcCBwaWQgJWQgc3RhdGUgJWxkICovCisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgbG9uZyk7CisJLyogbm93IGdldCB0aGUgbWVhdDogInJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiICovCisJX19ycSA9IHZhX2FyZygqYXJncywgdHlwZW9mKF9fcnEpKTsKKwl0YXNrID0gdmFfYXJnKCphcmdzLCB0eXBlb2YodGFzaykpOworCWN1cnIgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihjdXJyKSk7CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHRhc2spOworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoY3Vycik7CisKKwl3YWtldXBfZnVuYyhwcm9iZV9kYXRhLCBfX3JxLCB0YXNrLCBjdXJyKTsKK30KKworc3RhdGljIHZvaWQgc2NoZWRfc3dpdGNoX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCXRyLT50aW1lX3N0YXJ0ID0gZnRyYWNlX25vdyh0ci0+Y3B1KTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworfQorCitzdGF0aWMgaW50IHRyYWNpbmdfc2NoZWRfcmVnaXN0ZXIodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCSZjdHhfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygid2FrZXVwIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfd2FrZXVwXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCSZjdHhfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygid2FrZXVwIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfd2FrZXVwX25ld1xuIik7CisJCWdvdG8gZmFpbF9kZXByb2JlOworCX0KKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3NjaGVkdWxlIiwKKwkJInByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICIKKwkJIiMjIHJxICVwIHByZXYgJXAgbmV4dCAlcCIsCisJCXNjaGVkX3N3aXRjaF9jYWxsYmFjaywKKwkJJmN0eF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJzY2hlZCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3NjaGVkdWxlXG4iKTsKKwkJZ290byBmYWlsX2RlcHJvYmVfd2FrZV9uZXc7CisJfQorCisJcmV0dXJuIHJldDsKK2ZhaWxfZGVwcm9iZV93YWtlX25ldzoKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7CitmYWlsX2RlcHJvYmU6CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgdHJhY2luZ19zY2hlZF91bnJlZ2lzdGVyKHZvaWQpCit7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF9zY2hlZHVsZSIsCisJCQkJc2NoZWRfc3dpdGNoX2NhbGxiYWNrLAorCQkJCSZjdHhfdHJhY2UpOworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmY3R4X3RyYWNlKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmY3R4X3RyYWNlKTsKK30KKworc3RhdGljIHZvaWQgdHJhY2luZ19zdGFydF9zY2hlZF9zd2l0Y2godm9pZCkKK3sKKwlsb25nIHJlZjsKKworCXJlZiA9IGF0b21pY19pbmNfcmV0dXJuKCZzY2hlZF9yZWYpOworCWlmIChyZWYgPT0gMSkKKwkJdHJhY2luZ19zY2hlZF9yZWdpc3RlcigpOworfQorCitzdGF0aWMgdm9pZCB0cmFjaW5nX3N0b3Bfc2NoZWRfc3dpdGNoKHZvaWQpCit7CisJbG9uZyByZWY7CisKKwlyZWYgPSBhdG9taWNfZGVjX2FuZF90ZXN0KCZzY2hlZF9yZWYpOworCWlmIChyZWYpCisJCXRyYWNpbmdfc2NoZWRfdW5yZWdpc3RlcigpOworfQorCit2b2lkIHRyYWNpbmdfc3RhcnRfY21kbGluZV9yZWNvcmQodm9pZCkKK3sKKwl0cmFjaW5nX3N0YXJ0X3NjaGVkX3N3aXRjaCgpOworfQorCit2b2lkIHRyYWNpbmdfc3RvcF9jbWRsaW5lX3JlY29yZCh2b2lkKQoreworCXRyYWNpbmdfc3RvcF9zY2hlZF9zd2l0Y2goKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfc2NoZWRfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlzY2hlZF9zd2l0Y2hfcmVzZXQodHIpOworCXRyYWNpbmdfc3RhcnRfY21kbGluZV9yZWNvcmQoKTsKKwl0cmFjZXJfZW5hYmxlZCA9IDE7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3Bfc2NoZWRfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZXJfZW5hYmxlZCA9IDA7CisJdHJhY2luZ19zdG9wX2NtZGxpbmVfcmVjb3JkKCk7Cit9CisKK3N0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF90cmFjZV9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJY3R4X3RyYWNlID0gdHI7CisKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3NjaGVkX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgc2NoZWRfc3dpdGNoX3RyYWNlX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdG9wX3NjaGVkX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgc2NoZWRfc3dpdGNoX3RyYWNlX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJLyogV2hlbiBzdGFydGluZyBhIG5ldyB0cmFjZSwgcmVzZXQgdGhlIGJ1ZmZlcnMgKi8KKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3NjaGVkX3RyYWNlKHRyKTsKKwllbHNlCisJCXN0b3Bfc2NoZWRfdHJhY2UodHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciBzY2hlZF9zd2l0Y2hfdHJhY2UgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gInNjaGVkX3N3aXRjaCIsCisJLmluaXQJCT0gc2NoZWRfc3dpdGNoX3RyYWNlX2luaXQsCisJLnJlc2V0CQk9IHNjaGVkX3N3aXRjaF90cmFjZV9yZXNldCwKKwkuY3RybF91cGRhdGUJPSBzY2hlZF9zd2l0Y2hfdHJhY2VfY3RybF91cGRhdGUsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc2NoZWRfc3dpdGNoLAorI2VuZGlmCit9OworCitfX2luaXQgc3RhdGljIGludCBpbml0X3NjaGVkX3N3aXRjaF90cmFjZSh2b2lkKQoreworCWludCByZXQgPSAwOworCisJaWYgKGF0b21pY19yZWFkKCZzY2hlZF9yZWYpKQorCQlyZXQgPSB0cmFjaW5nX3NjaGVkX3JlZ2lzdGVyKCk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJlcnJvciByZWdpc3RlcmluZyBzY2hlZHVsZXIgdHJhY2VcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKwlyZXR1cm4gcmVnaXN0ZXJfdHJhY2VyKCZzY2hlZF9zd2l0Y2hfdHJhY2UpOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfc2NoZWRfc3dpdGNoX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF93YWtldXAuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF93YWtldXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzhkNjFkCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3dha2V1cC5jCkBAIC0wLDAgKzEsNDQ4IEBACisvKgorICogdHJhY2UgdGFzayB3YWtldXAgdGltaW5ncworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSB0aGUgbGF0ZW5jeV90cmFjZXIsIHRoYXQgaXM6CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEluZ28gTW9sbmFyCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0IFdpbGxpYW0gTGVlIElyd2luIElJSQorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbWFya2VyLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CSp3YWtldXBfdHJhY2U7CitzdGF0aWMgaW50IF9fcmVhZF9tb3N0bHkJdHJhY2VyX2VuYWJsZWQ7CisKK3N0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QJKndha2V1cF90YXNrOworc3RhdGljIGludAkJCXdha2V1cF9jcHU7CitzdGF0aWMgdW5zaWduZWQJCQl3YWtldXBfcHJpbyA9IC0xOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHdha2V1cF9sb2NrKTsKKworc3RhdGljIHZvaWQgX193YWtldXBfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisvKgorICogaXJxc29mZiB1c2VzIGl0cyBvd24gdHJhY2VyIGZ1bmN0aW9uIHRvIGtlZXAgdGhlIG92ZXJoZWFkIGRvd246CisgKi8KK3N0YXRpYyB2b2lkCit3YWtldXBfdHJhY2VyX2NhbGwodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IHdha2V1cF90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgcmVzY2hlZDsKKwlpbnQgY3B1OworCisJaWYgKGxpa2VseSghd2FrZXVwX3Rhc2spKQorCQlyZXR1cm47CisKKwlyZXNjaGVkID0gbmVlZF9yZXNjaGVkKCk7CisJcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKTsKKworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCWlmICh1bmxpa2VseShkaXNhYmxlZCAhPSAxKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKKworCWlmICh1bmxpa2VseSghd2FrZXVwX3Rhc2spKQorCQlnb3RvIHVubG9jazsKKworCS8qCisJICogVGhlIHRhc2sgY2FuJ3QgZGlzYXBwZWFyIGJlY2F1c2UgaXQgbmVlZHMgdG8KKwkgKiB3YWtlIHVwIGZpcnN0LCBhbmQgd2UgaGF2ZSB0aGUgd2FrZXVwX2xvY2suCisJICovCisJaWYgKHRhc2tfY3B1KHdha2V1cF90YXNrKSAhPSBjcHUpCisJCWdvdG8gdW5sb2NrOworCisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworIHVubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworCisgb3V0OgorCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKworCS8qCisJICogVG8gcHJldmVudCByZWN1cnNpb24gZnJvbSB0aGUgc2NoZWR1bGVyLCBpZiB0aGUKKwkgKiByZXNjaGVkIGZsYWcgd2FzIHNldCBiZWZvcmUgd2UgZW50ZXJlZCwgdGhlbgorCSAqIGRvbid0IHJlc2NoZWR1bGUuCisJICovCisJaWYgKHJlc2NoZWQpCisJCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpOworCWVsc2UKKwkJcHJlZW1wdF9lbmFibGVfbm90cmFjZSgpOworfQorCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgdHJhY2Vfb3BzIF9fcmVhZF9tb3N0bHkgPQoreworCS5mdW5jID0gd2FrZXVwX3RyYWNlcl9jYWxsLAorfTsKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKKy8qCisgKiBTaG91bGQgdGhpcyBuZXcgbGF0ZW5jeSBiZSByZXBvcnRlZC9yZWNvcmRlZD8KKyAqLworc3RhdGljIGludCByZXBvcnRfbGF0ZW5jeShjeWNsZV90IGRlbHRhKQoreworCWlmICh0cmFjaW5nX3RocmVzaCkgeworCQlpZiAoZGVsdGEgPCB0cmFjaW5nX3RocmVzaCkKKwkJCXJldHVybiAwOworCX0gZWxzZSB7CisJCWlmIChkZWx0YSA8PSB0cmFjaW5nX21heF9sYXRlbmN5KQorCQkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBub3RyYWNlCit3YWtldXBfc2NoZWRfc3dpdGNoKHZvaWQgKnByaXZhdGUsIHZvaWQgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0KQoreworCXVuc2lnbmVkIGxvbmcgbGF0ZW5jeSA9IDAsIHQwID0gMCwgdDEgPSAwOworCXN0cnVjdCB0cmFjZV9hcnJheSAqKnB0ciA9IHByaXZhdGU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICpwdHI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwljeWNsZV90IFQwLCBUMSwgZGVsdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwlpZiAodW5saWtlbHkoIXRyYWNlcl9lbmFibGVkKSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBXaGVuIHdlIHN0YXJ0IGEgbmV3IHRyYWNlLCB3ZSBzZXQgd2FrZXVwX3Rhc2sgdG8gTlVMTAorCSAqIGFuZCB0aGVuIHNldCB0cmFjZXJfZW5hYmxlZCA9IDEuIFdlIHdhbnQgdG8gbWFrZSBzdXJlCisJICogdGhhdCBhbm90aGVyIENQVSBkb2VzIG5vdCBzZWUgdGhlIHRyYWNlcl9lbmFibGVkID0gMQorCSAqIGFuZCB0aGUgd2FrZXVwX3Rhc2sgd2l0aCBhbiBvbGRlciB0YXNrLCB0aGF0IG1pZ2h0CisJICogYWN0dWFsbHkgYmUgdGhlIHNhbWUgYXMgbmV4dC4KKwkgKi8KKwlzbXBfcm1iKCk7CisKKwlpZiAobmV4dCAhPSB3YWtldXBfdGFzaykKKwkJcmV0dXJuOworCisJLyogVGhlIHRhc2sgd2UgYXJlIHdhaXRpbmcgZm9yIGlzIHdha2luZyB1cCAqLworCWRhdGEgPSB0ci0+ZGF0YVt3YWtldXBfY3B1XTsKKworCS8qIGRpc2FibGUgbG9jYWwgZGF0YSwgbm90IHdha2V1cF9jcHUgZGF0YSAqLworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmdHItPmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworCWlmIChsaWtlbHkoZGlzYWJsZWQgIT0gMSkpCisJCWdvdG8gb3V0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJndha2V1cF9sb2NrLCBmbGFncyk7CisKKwkvKiBXZSBjb3VsZCByYWNlIHdpdGggZ3JhYmJpbmcgd2FrZXVwX2xvY2sgKi8KKwlpZiAodW5saWtlbHkoIXRyYWNlcl9lbmFibGVkIHx8IG5leHQgIT0gd2FrZXVwX3Rhc2spKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgQ0FMTEVSX0FERFIxLCBDQUxMRVJfQUREUjIsIGZsYWdzKTsKKworCS8qCisJICogdXNlY3MgY29udmVyc2lvbiBpcyBzbG93IHNvIHdlIHRyeSB0byBkZWxheSB0aGUgY29udmVyc2lvbgorCSAqIGFzIGxvbmcgYXMgcG9zc2libGU6CisJICovCisJVDAgPSBkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcDsKKwlUMSA9IGZ0cmFjZV9ub3coY3B1KTsKKwlkZWx0YSA9IFQxLVQwOworCisJaWYgKCFyZXBvcnRfbGF0ZW5jeShkZWx0YSkpCisJCWdvdG8gb3V0X3VubG9jazsKKworCWxhdGVuY3kgPSBuc2Vjc190b191c2VjcyhkZWx0YSk7CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gZGVsdGE7CisJdDAgPSBuc2Vjc190b191c2VjcyhUMCk7CisJdDEgPSBuc2Vjc190b191c2VjcyhUMSk7CisKKwl1cGRhdGVfbWF4X3RyKHRyLCB3YWtldXBfdGFzaywgd2FrZXVwX2NwdSk7CisKK291dF91bmxvY2s6CisJX193YWtldXBfcmVzZXQodHIpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJndha2V1cF9sb2NrLCBmbGFncyk7CitvdXQ6CisJYXRvbWljX2RlYygmdHItPmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworfQorCitzdGF0aWMgbm90cmFjZSB2b2lkCitzY2hlZF9zd2l0Y2hfY2FsbGJhY2sodm9pZCAqcHJvYmVfZGF0YSwgdm9pZCAqY2FsbF9kYXRhLAorCQkgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgKmFyZ3MpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2OworCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dDsKKwlzdHJ1Y3QgcnEgKl9fcnE7CisKKwkvKiBza2lwIHByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICovCisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGxvbmcpOworCV9fcnEgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihfX3JxKSk7CisJcHJldiA9IHZhX2FyZygqYXJncywgdHlwZW9mKHByZXYpKTsKKwluZXh0ID0gdmFfYXJnKCphcmdzLCB0eXBlb2YobmV4dCkpOworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZShwcmV2KTsKKworCS8qCisJICogSWYgdHJhY2VyX3N3aXRjaF9mdW5jIG9ubHkgcG9pbnRzIHRvIHRoZSBsb2NhbAorCSAqIHN3aXRjaCBmdW5jLCBpdCBzdGlsbCBuZWVkcyB0aGUgcHRyIHBhc3NlZCB0byBpdC4KKwkgKi8KKwl3YWtldXBfc2NoZWRfc3dpdGNoKHByb2JlX2RhdGEsIF9fcnEsIHByZXYsIG5leHQpOworfQorCitzdGF0aWMgdm9pZCBfX3dha2V1cF9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJaW50IGNwdTsKKworCWFzc2VydF9zcGluX2xvY2tlZCgmd2FrZXVwX2xvY2spOworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwkJdHJhY2luZ19yZXNldChkYXRhKTsKKwl9CisKKwl3YWtldXBfY3B1ID0gLTE7CisJd2FrZXVwX3ByaW8gPSAtMTsKKworCWlmICh3YWtldXBfdGFzaykKKwkJcHV0X3Rhc2tfc3RydWN0KHdha2V1cF90YXNrKTsKKworCXdha2V1cF90YXNrID0gTlVMTDsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworCV9fd2FrZXVwX3Jlc2V0KHRyKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZAord2FrZXVwX2NoZWNrX3N0YXJ0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwKKwkJICAgc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyKQoreworCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCisJaWYgKGxpa2VseSghcnRfdGFzayhwKSkgfHwKKwkJCXAtPnByaW8gPj0gd2FrZXVwX3ByaW8gfHwKKwkJCXAtPnByaW8gPj0gY3Vyci0+cHJpbykKKwkJcmV0dXJuOworCisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmdHItPmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworCWlmICh1bmxpa2VseShkaXNhYmxlZCAhPSAxKSkKKwkJZ290byBvdXQ7CisKKwkvKiBpbnRlcnJ1cHRzIHNob3VsZCBiZSBvZmYgZnJvbSB0cnlfdG9fd2FrZV91cCAqLworCXNwaW5fbG9jaygmd2FrZXVwX2xvY2spOworCisJLyogY2hlY2sgZm9yIHJhY2VzLiAqLworCWlmICghdHJhY2VyX2VuYWJsZWQgfHwgcC0+cHJpbyA+PSB3YWtldXBfcHJpbykKKwkJZ290byBvdXRfbG9ja2VkOworCisJLyogcmVzZXQgdGhlIHRyYWNlICovCisJX193YWtldXBfcmVzZXQodHIpOworCisJd2FrZXVwX2NwdSA9IHRhc2tfY3B1KHApOworCXdha2V1cF9wcmlvID0gcC0+cHJpbzsKKworCXdha2V1cF90YXNrID0gcDsKKwlnZXRfdGFza19zdHJ1Y3Qod2FrZXVwX3Rhc2spOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisKKwl0ci0+ZGF0YVt3YWtldXBfY3B1XS0+cHJlZW1wdF90aW1lc3RhbXAgPSBmdHJhY2Vfbm93KGNwdSk7CisJdHJhY2VfZnVuY3Rpb24odHIsIHRyLT5kYXRhW3dha2V1cF9jcHVdLAorCQkgICAgICAgQ0FMTEVSX0FERFIxLCBDQUxMRVJfQUREUjIsIGZsYWdzKTsKKworb3V0X2xvY2tlZDoKKwlzcGluX3VubG9jaygmd2FrZXVwX2xvY2spOworb3V0OgorCWF0b21pY19kZWMoJnRyLT5kYXRhW2NwdV0tPmRpc2FibGVkKTsKK30KKworc3RhdGljIG5vdHJhY2Ugdm9pZAord2FrZV91cF9jYWxsYmFjayh2b2lkICpwcm9iZV9kYXRhLCB2b2lkICpjYWxsX2RhdGEsCisJCSBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgKmFyZ3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICoqcHRyID0gcHJvYmVfZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gKnB0cjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnI7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOworCXN0cnVjdCBycSAqX19ycTsKKworCWlmIChsaWtlbHkoIXRyYWNlcl9lbmFibGVkKSkKKwkJcmV0dXJuOworCisJLyogU2tpcCBwaWQgJWQgc3RhdGUgJWxkICovCisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgbG9uZyk7CisJLyogbm93IGdldCB0aGUgbWVhdDogInJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiICovCisJX19ycSA9IHZhX2FyZygqYXJncywgdHlwZW9mKF9fcnEpKTsKKwl0YXNrID0gdmFfYXJnKCphcmdzLCB0eXBlb2YodGFzaykpOworCWN1cnIgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihjdXJyKSk7CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHRhc2spOworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoY3Vycik7CisKKwl3YWtldXBfY2hlY2tfc3RhcnQodHIsIHRhc2ssIGN1cnIpOworfQorCitzdGF0aWMgdm9pZCBzdGFydF93YWtldXBfdHJhY2VyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IHJldDsKKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkmd2FrZXVwX3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oIndha2V1cCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3dha2V1cFxuIik7CisJCXJldHVybjsKKwl9CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCSZ3YWtldXBfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygid2FrZXVwIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfd2FrZXVwX25ld1xuIik7CisJCWdvdG8gZmFpbF9kZXByb2JlOworCX0KKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3NjaGVkdWxlIiwKKwkJInByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICIKKwkJIiMjIHJxICVwIHByZXYgJXAgbmV4dCAlcCIsCisJCXNjaGVkX3N3aXRjaF9jYWxsYmFjaywKKwkJJndha2V1cF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJzY2hlZCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3NjaGVkdWxlXG4iKTsKKwkJZ290byBmYWlsX2RlcHJvYmVfd2FrZV9uZXc7CisJfQorCisJd2FrZXVwX3Jlc2V0KHRyKTsKKworCS8qCisJICogRG9uJ3QgbGV0IHRoZSB0cmFjZXJfZW5hYmxlZCA9IDEgc2hvdyB1cCBiZWZvcmUKKwkgKiB0aGUgd2FrZXVwX3Rhc2sgaXMgcmVzZXQuIFRoaXMgbWF5IGJlIG92ZXJraWxsIHNpbmNlCisJICogd2FrZXVwX3Jlc2V0IGRvZXMgYSBzcGluX3VubG9jayBhZnRlciBzZXR0aW5nIHRoZQorCSAqIHdha2V1cF90YXNrIHRvIE5VTEwsIGJ1dCBJIHdhbnQgdG8gYmUgc2FmZS4KKwkgKiBUaGlzIGlzIGEgc2xvdyBwYXRoIGFueXdheS4KKwkgKi8KKwlzbXBfd21iKCk7CisKKwlyZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7CisKKwl0cmFjZXJfZW5hYmxlZCA9IDE7CisKKwlyZXR1cm47CitmYWlsX2RlcHJvYmVfd2FrZV9uZXc6CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZ3YWtldXBfdHJhY2UpOworZmFpbF9kZXByb2JlOgorCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZ3YWtldXBfdHJhY2UpOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3dha2V1cF90cmFjZXIoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZXJfZW5hYmxlZCA9IDA7CisJdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF9zY2hlZHVsZSIsCisJCQkJc2NoZWRfc3dpdGNoX2NhbGxiYWNrLAorCQkJCSZ3YWtldXBfdHJhY2UpOworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJd2FrZXVwX3RyYWNlID0gdHI7CisKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3dha2V1cF90cmFjZXIodHIpOworfQorCitzdGF0aWMgdm9pZCB3YWtldXBfdHJhY2VyX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKSB7CisJCXN0b3Bfd2FrZXVwX3RyYWNlcih0cik7CisJCS8qIG1ha2Ugc3VyZSB3ZSBwdXQgYmFjayBhbnkgdGFza3Mgd2UgYXJlIHRyYWNpbmcgKi8KKwkJd2FrZXVwX3Jlc2V0KHRyKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF90cmFjZXJfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3dha2V1cF90cmFjZXIodHIpOworCWVsc2UKKwkJc3RvcF93YWtldXBfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9vcGVuKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwkvKiBzdG9wIHRoZSB0cmFjZSB3aGlsZSBkdW1waW5nICovCisJaWYgKGl0ZXItPnRyLT5jdHJsKQorCQlzdG9wX3dha2V1cF90cmFjZXIoaXRlci0+dHIpOworfQorCitzdGF0aWMgdm9pZCB3YWtldXBfdHJhY2VyX2Nsb3NlKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwkvKiBmb3JnZXQgYWJvdXQgYW55IHByb2Nlc3NlcyB3ZSB3ZXJlIHJlY29yZGluZyAqLworCWlmIChpdGVyLT50ci0+Y3RybCkKKwkJc3RhcnRfd2FrZXVwX3RyYWNlcihpdGVyLT50cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHdha2V1cF90cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gIndha2V1cCIsCisJLmluaXQJCT0gd2FrZXVwX3RyYWNlcl9pbml0LAorCS5yZXNldAkJPSB3YWtldXBfdHJhY2VyX3Jlc2V0LAorCS5vcGVuCQk9IHdha2V1cF90cmFjZXJfb3BlbiwKKwkuY2xvc2UJCT0gd2FrZXVwX3RyYWNlcl9jbG9zZSwKKwkuY3RybF91cGRhdGUJPSB3YWtldXBfdHJhY2VyX2N0cmxfdXBkYXRlLAorCS5wcmludF9tYXgJPSAxLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3dha2V1cCwKKyNlbmRpZgorfTsKKworX19pbml0IHN0YXRpYyBpbnQgaW5pdF93YWtldXBfdHJhY2VyKHZvaWQpCit7CisJaW50IHJldDsKKworCXJldCA9IHJlZ2lzdGVyX3RyYWNlcigmd2FrZXVwX3RyYWNlcik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiAwOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfd2FrZXVwX3RyYWNlcik7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3QuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9zZWxmdGVzdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5MTFiN2UKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3QuYwpAQCAtMCwwICsxLDU2MyBAQAorLyogSW5jbHVkZSBpbiB0cmFjZS5jICovCisKKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKworc3RhdGljIGlubGluZSBpbnQgdHJhY2VfdmFsaWRfZW50cnkoc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSkKK3sKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJY2FzZSBUUkFDRV9TVEFDSzoKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAordHJhY2VfdGVzdF9idWZmZXJfY3B1KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyaWVzOworCXN0cnVjdCBwYWdlICpwYWdlOworCWludCBpZHggPSAwOworCWludCBpOworCisJQlVHX09OKGxpc3RfZW1wdHkoJmRhdGEtPnRyYWNlX3BhZ2VzKSk7CisJcGFnZSA9IGxpc3RfZW50cnkoZGF0YS0+dHJhY2VfcGFnZXMubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJZW50cmllcyA9IHBhZ2VfYWRkcmVzcyhwYWdlKTsKKworCWNoZWNrX3BhZ2VzKGRhdGEpOworCWlmIChoZWFkX3BhZ2UoZGF0YSkgIT0gZW50cmllcykKKwkJZ290byBmYWlsZWQ7CisKKwkvKgorCSAqIFRoZSBzdGFydGluZyB0cmFjZSBidWZmZXIgYWx3YXlzIGhhcyB2YWxpZCBlbGVtZW50cywKKwkgKiBpZiBhbnkgZWxlbWVudCBleGlzdHMuCisJICovCisJZW50cmllcyA9IGhlYWRfcGFnZShkYXRhKTsKKworCWZvciAoaSA9IDA7IGkgPCB0ci0+ZW50cmllczsgaSsrKSB7CisKKwkJaWYgKGkgPCBkYXRhLT50cmFjZV9pZHggJiYgIXRyYWNlX3ZhbGlkX2VudHJ5KCZlbnRyaWVzW2lkeF0pKSB7CisJCQlwcmludGsoS0VSTl9DT05UICIuLiBpbnZhbGlkIGVudHJ5ICVkICIsCisJCQkJZW50cmllc1tpZHhdLnR5cGUpOworCQkJZ290byBmYWlsZWQ7CisJCX0KKworCQlpZHgrKzsKKwkJaWYgKGlkeCA+PSBFTlRSSUVTX1BFUl9QQUdFKSB7CisJCQlwYWdlID0gdmlydF90b19wYWdlKGVudHJpZXMpOworCQkJaWYgKHBhZ2UtPmxydS5uZXh0ID09ICZkYXRhLT50cmFjZV9wYWdlcykgeworCQkJCWlmIChpICE9IHRyLT5lbnRyaWVzIC0gMSkgeworCQkJCQlwcmludGsoS0VSTl9DT05UICIuLiBlbnRyaWVzIGJ1ZmZlciBtaXNtYXRjaCIpOworCQkJCQlnb3RvIGZhaWxlZDsKKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCXBhZ2UgPSBsaXN0X2VudHJ5KHBhZ2UtPmxydS5uZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJCQllbnRyaWVzID0gcGFnZV9hZGRyZXNzKHBhZ2UpOworCQkJfQorCQkJaWR4ID0gMDsKKwkJfQorCX0KKworCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoZW50cmllcyk7CisJaWYgKHBhZ2UtPmxydS5uZXh0ICE9ICZkYXRhLT50cmFjZV9wYWdlcykgeworCQlwcmludGsoS0VSTl9DT05UICIuLiB0b28gbWFueSBlbnRyaWVzIik7CisJCWdvdG8gZmFpbGVkOworCX0KKworCXJldHVybiAwOworCisgZmFpbGVkOgorCS8qIGRpc2FibGUgdHJhY2luZyAqLworCXRyYWNpbmdfZGlzYWJsZWQgPSAxOworCXByaW50ayhLRVJOX0NPTlQgIi4uIGNvcnJ1cHRlZCB0cmFjZSBidWZmZXIgLi4gIik7CisJcmV0dXJuIC0xOworfQorCisvKgorICogVGVzdCB0aGUgdHJhY2UgYnVmZmVyIHRvIHNlZSBpZiBhbGwgdGhlIGVsZW1lbnRzCisgKiBhcmUgc3RpbGwgc2FuZS4KKyAqLworc3RhdGljIGludCB0cmFjZV90ZXN0X2J1ZmZlcihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCB1bnNpZ25lZCBsb25nICpjb3VudCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCBjbnQgPSAwOworCWludCBjcHUsIHJldCA9IDA7CisKKwkvKiBEb24ndCBhbGxvdyBmbGlwcGluZyBvZiBtYXggdHJhY2VzIG5vdyAqLworCXJhd19sb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKwkJaWYgKCFoZWFkX3BhZ2UodHItPmRhdGFbY3B1XSkpCisJCQljb250aW51ZTsKKworCQljbnQgKz0gdHItPmRhdGFbY3B1XS0+dHJhY2VfaWR4OworCisJCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyX2NwdSh0ciwgdHItPmRhdGFbY3B1XSk7CisJCWlmIChyZXQpCisJCQlicmVhazsKKwl9CisJX19yYXdfc3Bpbl91bmxvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCWlmIChjb3VudCkKKwkJKmNvdW50ID0gY250OworCisJcmV0dXJuIHJldDsKK30KKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCisjZGVmaW5lIF9fU1RSKHgpICN4CisjZGVmaW5lIFNUUih4KSBfX1NUUih4KQorCisvKiBUZXN0IGR5bmFtaWMgY29kZSBtb2RpZmljYXRpb24gYW5kIGZ0cmFjZSBmaWx0ZXJzICovCitpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9keW5hbWljX3RyYWNpbmcoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJCSAgIGludCAoKmZ1bmMpKHZvaWQpKQoreworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKwlpbnQgc2F2ZV9mdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9lbmFibGVkOworCWludCBzYXZlX3RyYWNlcl9lbmFibGVkID0gdHJhY2VyX2VuYWJsZWQ7CisJY2hhciAqZnVuY19uYW1lOworCisJLyogVGhlIGZ0cmFjZSB0ZXN0IFBBU1NFRCAqLworCXByaW50ayhLRVJOX0NPTlQgIlBBU1NFRFxuIik7CisJcHJfaW5mbygiVGVzdGluZyBkeW5hbWljIGZ0cmFjZTogIik7CisKKwkvKiBlbmFibGUgdHJhY2luZywgYW5kIHJlY29yZCB0aGUgZmlsdGVyIGZ1bmN0aW9uICovCisJZnRyYWNlX2VuYWJsZWQgPSAxOworCXRyYWNlcl9lbmFibGVkID0gMTsKKworCS8qIHBhc3NlZCBpbiBieSBwYXJhbWV0ZXIgdG8gZm9vbCBnY2MgZnJvbSBvcHRpbWl6aW5nICovCisJZnVuYygpOworCisJLyogdXBkYXRlIHRoZSByZWNvcmRzICovCisJcmV0ID0gZnRyYWNlX2ZvcmNlX3VwZGF0ZSgpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gZnRyYWNlZCBmYWlsZWQgLi4gIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyoKKwkgKiBTb21lIGFyY2hzICpjb3VnaCpQb3dlclBDKmNvdWdoKiBhZGQgY2hhcmFjaHRlcnMgdG8gdGhlCisJICogc3RhcnQgb2YgdGhlIGZ1bmN0aW9uIG5hbWVzLiBXZSBzaW1wbHkgcHV0IGEgJyonIHRvCisJICogYWNjb21vZGF0ZSB0aGVtLgorCSAqLworCWZ1bmNfbmFtZSA9ICIqIiBTVFIoRFlOX0ZUUkFDRV9URVNUX05BTUUpOworCisJLyogZmlsdGVyIG9ubHkgb24gb3VyIGZ1bmN0aW9uICovCisJZnRyYWNlX3NldF9maWx0ZXIoZnVuY19uYW1lLCBzdHJsZW4oZnVuY19uYW1lKSwgMSk7CisKKwkvKiBlbmFibGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogU2xlZXAgZm9yIGEgMS8xMCBvZiBhIHNlY29uZCAqLworCW1zbGVlcCgxMDApOworCisJLyogd2Ugc2hvdWxkIGhhdmUgbm90aGluZyBpbiB0aGUgYnVmZmVyICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsICZjb3VudCk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlpZiAoY291bnQpIHsKKwkJcmV0ID0gLTE7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIGZpbHRlciBkaWQgbm90IGZpbHRlciAuLiAiKTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogY2FsbCBvdXIgZnVuY3Rpb24gYWdhaW4gKi8KKwlmdW5jKCk7CisKKwkvKiBzbGVlcCBhZ2FpbiAqLworCW1zbGVlcCgxMDApOworCisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisKKwkvKiBjaGVjayB0aGUgdHJhY2UgYnVmZmVyICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCS8qIHdlIHNob3VsZCBvbmx5IGhhdmUgb25lIGl0ZW0gKi8KKwlpZiAoIXJldCAmJiBjb3VudCAhPSAxKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIGZpbHRlciBmYWlsZWQgY291bnQ9JWxkIC4uIiwgY291bnQpOworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorIG91dDoKKwlmdHJhY2VfZW5hYmxlZCA9IHNhdmVfZnRyYWNlX2VuYWJsZWQ7CisJdHJhY2VyX2VuYWJsZWQgPSBzYXZlX3RyYWNlcl9lbmFibGVkOworCisJLyogRW5hYmxlIHRyYWNpbmcgb24gYWxsIGZ1bmN0aW9ucyBhZ2FpbiAqLworCWZ0cmFjZV9zZXRfZmlsdGVyKE5VTEwsIDAsIDEpOworCisJcmV0dXJuIHJldDsKK30KKyNlbHNlCisjIGRlZmluZSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2R5bmFtaWNfdHJhY2luZyh0cmFjZSwgdHIsIGZ1bmMpICh7IDA7IH0pCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisvKgorICogU2ltcGxlIHZlcmlmaWNhdGlvbiB0ZXN0IG9mIGZ0cmFjZSBmdW5jdGlvbiB0cmFjZXIuCisgKiBFbmFibGUgZnRyYWNlLCBzbGVlcCAxLzEwIHNlY29uZCwgYW5kIHRoZW4gcmVhZCB0aGUgdHJhY2UKKyAqIGJ1ZmZlciB0byBzZWUgaWYgYWxsIGlzIGluIG9yZGVyLgorICovCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZnVuY3Rpb24oc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCWludCBzYXZlX2Z0cmFjZV9lbmFibGVkID0gZnRyYWNlX2VuYWJsZWQ7CisJaW50IHNhdmVfdHJhY2VyX2VuYWJsZWQgPSB0cmFjZXJfZW5hYmxlZDsKKworCS8qIG1ha2Ugc3VyZSBtc2xlZXAgaGFzIGJlZW4gcmVjb3JkZWQgKi8KKwltc2xlZXAoMSk7CisKKwkvKiBmb3JjZSB0aGUgcmVjb3JkZWQgZnVuY3Rpb25zIHRvIGJlIHRyYWNlZCAqLworCXJldCA9IGZ0cmFjZV9mb3JjZV91cGRhdGUoKTsKKwlpZiAocmV0KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIGZ0cmFjZWQgZmFpbGVkIC4uICIpOworCQlyZXR1cm4gcmV0OworCX0KKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJZnRyYWNlX2VuYWJsZWQgPSAxOworCXRyYWNlcl9lbmFibGVkID0gMTsKKworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogU2xlZXAgZm9yIGEgMS8xMCBvZiBhIHNlY29uZCAqLworCW1zbGVlcCgxMDApOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworCisJLyogY2hlY2sgdGhlIHRyYWNlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorCisJcmV0ID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9keW5hbWljX3RyYWNpbmcodHJhY2UsIHRyLAorCQkJCQkJICAgICBEWU5fRlRSQUNFX1RFU1RfTkFNRSk7CisKKyBvdXQ6CisJZnRyYWNlX2VuYWJsZWQgPSBzYXZlX2Z0cmFjZV9lbmFibGVkOworCXRyYWNlcl9lbmFibGVkID0gc2F2ZV90cmFjZXJfZW5hYmxlZDsKKworCS8qIGtpbGwgZnRyYWNlIHRvdGFsbHkgaWYgd2UgZmFpbGVkICovCisJaWYgKHJldCkKKwkJZnRyYWNlX2tpbGwoKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfaXJxc29mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIHNhdmVfbWF4ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogcmVzZXQgdGhlIG1heCBsYXRlbmN5ICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisJLyogZGlzYWJsZSBpbnRlcnJ1cHRzIGZvciBhIGJpdCAqLworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJdWRlbGF5KDEwMCk7CisJbG9jYWxfaXJxX2VuYWJsZSgpOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmICghcmV0KQorCQlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcigmbWF4X3RyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwl9CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gc2F2ZV9tYXg7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19JUlFTT0ZGX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdG9mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIHNhdmVfbWF4ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogcmVzZXQgdGhlIG1heCBsYXRlbmN5ICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisJLyogZGlzYWJsZSBwcmVlbXB0aW9uIGZvciBhIGJpdCAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCXVkZWxheSgxMDApOworCXByZWVtcHRfZW5hYmxlKCk7CisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayBib3RoIHRyYWNlIGJ1ZmZlcnMgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgTlVMTCk7CisJaWYgKCFyZXQpCisJCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKCZtYXhfdHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCX0KKworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBzYXZlX21heDsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX1BSRUVNUFRfVFJBQ0VSICovCisKKyNpZiBkZWZpbmVkKENPTkZJR19JUlFTT0ZGX1RSQUNFUikgJiYgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdGlycXNvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBzYXZlX21heCA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCisJLyogcmVzZXQgdGhlIG1heCBsYXRlbmN5ICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisKKwkvKiBkaXNhYmxlIHByZWVtcHRpb24gYW5kIGludGVycnVwdHMgZm9yIGEgYml0ICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwl1ZGVsYXkoMTAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCS8qIHJldmVyc2UgdGhlIG9yZGVyIG9mIHByZWVtcHQgdnMgaXJxcyAqLworCWxvY2FsX2lycV9lbmFibGUoKTsKKworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiBkbyB0aGUgdGVzdCBieSBkaXNhYmxpbmcgaW50ZXJydXB0cyBmaXJzdCB0aGlzIHRpbWUgKi8KKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gMDsKKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCXVkZWxheSgxMDApOworCXByZWVtcHRfZW5hYmxlKCk7CisJLyogcmV2ZXJzZSB0aGUgb3JkZXIgb2YgcHJlZW1wdCB2cyBpcnFzICovCisJbG9jYWxfaXJxX2VuYWJsZSgpOworCisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayBib3RoIHRyYWNlIGJ1ZmZlcnMgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgTlVMTCk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcigmbWF4X3RyLCAmY291bnQpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKworIG91dDoKKwl0cmFjZS0+cmVzZXQodHIpOworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBzYXZlX21heDsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX0lSUVNPRkZfVFJBQ0VSICYmIENPTkZJR19QUkVFTVBUX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX1NDSEVEX1RSQUNFUgorc3RhdGljIGludCB0cmFjZV93YWtldXBfdGVzdF90aHJlYWQodm9pZCAqZGF0YSkKK3sKKwkvKiBNYWtlIHRoaXMgYSBSVCB0aHJlYWQsIGRvZXNuJ3QgbmVlZCB0byBiZSB0b28gaGlnaCAqLworCXN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbSA9IHsgLnNjaGVkX3ByaW9yaXR5ID0gNSB9OworCXN0cnVjdCBjb21wbGV0aW9uICp4ID0gZGF0YTsKKworCXNjaGVkX3NldHNjaGVkdWxlcihjdXJyZW50LCBTQ0hFRF9GSUZPLCAmcGFyYW0pOworCisJLyogTWFrZSBpdCBrbm93IHdlIGhhdmUgYSBuZXcgcHJpbyAqLworCWNvbXBsZXRlKHgpOworCisJLyogbm93IGdvIHRvIHNsZWVwIGFuZCBsZXQgdGhlIHRlc3Qgd2FrZSB1cyB1cCAqLworCXNldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJSVVBUSUJMRSk7CisJc2NoZWR1bGUoKTsKKworCS8qIHdlIGFyZSBhd2FrZSwgbm93IHdhaXQgdG8gZGlzYXBwZWFyICovCisJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKKwkJLyoKKwkJICogVGhpcyBpcyBhbiBSVCB0YXNrLCBkbyBzaG9ydCBzbGVlcHMgdG8gbGV0CisJCSAqIG90aGVycyBydW4uCisJCSAqLworCQltc2xlZXAoMTAwKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworaW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3dha2V1cChzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIHNhdmVfbWF4ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CisJc3RydWN0IGNvbXBsZXRpb24gaXNydDsKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwlpbml0X2NvbXBsZXRpb24oJmlzcnQpOworCisJLyogY3JlYXRlIGEgaGlnaCBwcmlvIHRocmVhZCAqLworCXAgPSBrdGhyZWFkX3J1bih0cmFjZV93YWtldXBfdGVzdF90aHJlYWQsICZpc3J0LCAiZnRyYWNlLXRlc3QiKTsKKwlpZiAoSVNfRVJSKHApKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIkZhaWxlZCB0byBjcmVhdGUgZnRyYWNlIHdha2V1cCB0ZXN0IHRocmVhZCAiKTsKKwkJcmV0dXJuIC0xOworCX0KKworCS8qIG1ha2Ugc3VyZSB0aGUgdGhyZWFkIGlzIHJ1bm5pbmcgYXQgYW4gUlQgcHJpbyAqLworCXdhaXRfZm9yX2NvbXBsZXRpb24oJmlzcnQpOworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIHJlc2V0IHRoZSBtYXggbGF0ZW5jeSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCisJLyogc2xlZXAgdG8gbGV0IHRoZSBSVCB0aHJlYWQgc2xlZXAgdG9vICovCisJbXNsZWVwKDEwMCk7CisKKwkvKgorCSAqIFllcyB0aGlzIGlzIHNsaWdodGx5IHJhY3kuIEl0IGlzIHBvc3NpYmxlIHRoYXQgZm9yIHNvbWUKKwkgKiBzdHJhbmdlIHJlYXNvbiB0aGF0IHRoZSBSVCB0aHJlYWQgd2UgY3JlYXRlZCwgZGlkIG5vdAorCSAqIGNhbGwgc2NoZWR1bGUgZm9yIDEwMG1zIGFmdGVyIGRvaW5nIHRoZSBjb21wbGV0aW9uLAorCSAqIGFuZCB3ZSBkbyBhIHdha2V1cCBvbiBhIHRhc2sgdGhhdCBhbHJlYWR5IGlzIGF3YWtlLgorCSAqIEJ1dCB0aGF0IGlzIGV4dHJlbWVseSB1bmxpa2VseSwgYW5kIHRoZSB3b3JzdCB0aGluZyB0aGF0CisJICogaGFwcGVucyBpbiBzdWNoIGEgY2FzZSwgaXMgdGhhdCB3ZSBkaXNhYmxlIHRyYWNpbmcuCisJICogSG9uZXN0bHksIGlmIHRoaXMgcmFjZSBkb2VzIGhhcHBlbiBzb21ldGhpbmcgaXMgaG9ycmlibGUKKwkgKiB3cm9uZyB3aXRoIHRoZSBzeXN0ZW0uCisJICovCisKKwl3YWtlX3VwX3Byb2Nlc3MocCk7CisKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIGJvdGggdHJhY2UgYnVmZmVycyAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCBOVUxMKTsKKwlpZiAoIXJldCkKKwkJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKworCisJdHJhY2UtPnJlc2V0KHRyKTsKKworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBzYXZlX21heDsKKworCS8qIGtpbGwgdGhlIHRocmVhZCAqLworCWt0aHJlYWRfc3RvcChwKTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCX0KKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX1NDSEVEX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUgoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3NjaGVkX3N3aXRjaChzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogU2xlZXAgZm9yIGEgMS8xMCBvZiBhIHNlY29uZCAqLworCW1zbGVlcCgxMDApOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgdGhlIHRyYWNlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19TWVNQUk9GX1RSQUNFUgoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3N5c3Byb2Yoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIFNsZWVwIGZvciBhIDEvMTAgb2YgYSBzZWNvbmQgKi8KKwltc2xlZXAoMTAwKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIHRoZSB0cmFjZSBidWZmZXIgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfU1lTUFJPRl9UUkFDRVIgKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9zZWxmdGVzdF9keW5hbWljLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZGQ3N2MKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgInRyYWNlLmgiCisKK2ludCBEWU5fRlRSQUNFX1RFU1RfTkFNRSh2b2lkKQoreworCS8qIHVzZWQgdG8gY2FsbCBtY291bnQgKi8KKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9zeXNwcm9mLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc3lzcHJvZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzMDFlMWUKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc3lzcHJvZi5jCkBAIC0wLDAgKzEsMzYzIEBACisvKgorICogdHJhY2Ugc3RhY2sgdHJhY2VzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDgsIFNvZXJlbiBTYW5kbWFubgorICogQ29weXJpZ2h0IChDKSAyMDA3IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICovCisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvaHJ0aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCisjaW5jbHVkZSA8YXNtL3N0YWNrdHJhY2UuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJKnN5c3Byb2ZfdHJhY2U7CitzdGF0aWMgaW50IF9fcmVhZF9tb3N0bHkJdHJhY2VyX2VuYWJsZWQ7CisKKy8qCisgKiAxIG1zZWMgc2FtcGxlIGludGVydmFsIGJ5IGRlZmF1bHQ6CisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIHNhbXBsZV9wZXJpb2QgPSAxMDAwMDAwOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBzYW1wbGVfbWF4X2RlcHRoID0gNTEyOworCitzdGF0aWMgREVGSU5FX01VVEVYKHNhbXBsZV90aW1lcl9sb2NrKTsKKy8qCisgKiBQZXIgQ1BVIGhydGltZXJzIHRoYXQgZG8gdGhlIHByb2ZpbGluZzoKKyAqLworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBocnRpbWVyLCBzdGFja190cmFjZV9ocnRpbWVyKTsKKworc3RydWN0IHN0YWNrX2ZyYW1lIHsKKwljb25zdCB2b2lkIF9fdXNlcgkqbmV4dF9mcDsKKwl1bnNpZ25lZCBsb25nCQlyZXR1cm5fYWRkcmVzczsKK307CisKK3N0YXRpYyBpbnQgY29weV9zdGFja19mcmFtZShjb25zdCB2b2lkIF9fdXNlciAqZnAsIHN0cnVjdCBzdGFja19mcmFtZSAqZnJhbWUpCit7CisJaW50IHJldDsKKworCWlmICghYWNjZXNzX29rKFZFUklGWV9SRUFELCBmcCwgc2l6ZW9mKCpmcmFtZSkpKQorCQlyZXR1cm4gMDsKKworCXJldCA9IDE7CisJcGFnZWZhdWx0X2Rpc2FibGUoKTsKKwlpZiAoX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYyhmcmFtZSwgZnAsIHNpemVvZigqZnJhbWUpKSkKKwkJcmV0ID0gMDsKKwlwYWdlZmF1bHRfZW5hYmxlKCk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdHJ1Y3QgYmFja3RyYWNlX2luZm8geworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUJKmRhdGE7CisJc3RydWN0IHRyYWNlX2FycmF5CSp0cjsKKwlpbnQJCQlwb3M7Cit9OworCitzdGF0aWMgdm9pZAorYmFja3RyYWNlX3dhcm5pbmdfc3ltYm9sKHZvaWQgKmRhdGEsIGNoYXIgKm1zZywgdW5zaWduZWQgbG9uZyBzeW1ib2wpCit7CisJLyogSWdub3JlIHdhcm5pbmdzICovCit9CisKK3N0YXRpYyB2b2lkIGJhY2t0cmFjZV93YXJuaW5nKHZvaWQgKmRhdGEsIGNoYXIgKm1zZykKK3sKKwkvKiBJZ25vcmUgd2FybmluZ3MgKi8KK30KKworc3RhdGljIGludCBiYWNrdHJhY2Vfc3RhY2sodm9pZCAqZGF0YSwgY2hhciAqbmFtZSkKK3sKKwkvKiBEb24ndCBib3RoZXIgd2l0aCBJUlEgc3RhY2tzIGZvciBub3cgKi8KKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIGJhY2t0cmFjZV9hZGRyZXNzKHZvaWQgKmRhdGEsIHVuc2lnbmVkIGxvbmcgYWRkciwgaW50IHJlbGlhYmxlKQoreworCXN0cnVjdCBiYWNrdHJhY2VfaW5mbyAqaW5mbyA9IGRhdGE7CisKKwlpZiAoaW5mby0+cG9zIDwgc2FtcGxlX21heF9kZXB0aCAmJiByZWxpYWJsZSkgeworCQlfX3RyYWNlX3NwZWNpYWwoaW5mby0+dHIsIGluZm8tPmRhdGEsIDEsIGFkZHIsIDApOworCisJCWluZm8tPnBvcysrOworCX0KK30KKworY29uc3Qgc3RhdGljIHN0cnVjdCBzdGFja3RyYWNlX29wcyBiYWNrdHJhY2Vfb3BzID0geworCS53YXJuaW5nCQk9IGJhY2t0cmFjZV93YXJuaW5nLAorCS53YXJuaW5nX3N5bWJvbAkJPSBiYWNrdHJhY2Vfd2FybmluZ19zeW1ib2wsCisJLnN0YWNrCQkJPSBiYWNrdHJhY2Vfc3RhY2ssCisJLmFkZHJlc3MJCT0gYmFja3RyYWNlX2FkZHJlc3MsCit9OworCitzdGF0aWMgaW50Cit0cmFjZV9rZXJuZWwoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXN0cnVjdCBiYWNrdHJhY2VfaW5mbyBpbmZvOworCXVuc2lnbmVkIGxvbmcgYnA7CisJY2hhciAqc3RhY2s7CisKKwlpbmZvLnRyID0gdHI7CisJaW5mby5kYXRhID0gZGF0YTsKKwlpbmZvLnBvcyA9IDE7CisKKwlfX3RyYWNlX3NwZWNpYWwoaW5mby50ciwgaW5mby5kYXRhLCAxLCByZWdzLT5pcCwgMCk7CisKKwlzdGFjayA9ICgoY2hhciAqKXJlZ3MgKyBzaXplb2Yoc3RydWN0IHB0X3JlZ3MpKTsKKyNpZmRlZiBDT05GSUdfRlJBTUVfUE9JTlRFUgorCWJwID0gcmVncy0+YnA7CisjZWxzZQorCWJwID0gMDsKKyNlbmRpZgorCisJZHVtcF90cmFjZShOVUxMLCByZWdzLCAodm9pZCAqKXN0YWNrLCBicCwgJmJhY2t0cmFjZV9vcHMsICZpbmZvKTsKKworCXJldHVybiBpbmZvLnBvczsKK30KKworc3RhdGljIHZvaWQgdGltZXJfbm90aWZ5KHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJc3RydWN0IHN0YWNrX2ZyYW1lIGZyYW1lOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHI7CisJY29uc3Qgdm9pZCBfX3VzZXIgKmZwOworCWludCBpc191c2VyOworCWludCBpOworCisJaWYgKCFyZWdzKQorCQlyZXR1cm47CisKKwl0ciA9IHN5c3Byb2ZfdHJhY2U7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJaXNfdXNlciA9IHVzZXJfbW9kZShyZWdzKTsKKworCWlmICghY3VycmVudCB8fCBjdXJyZW50LT5waWQgPT0gMCkKKwkJcmV0dXJuOworCisJaWYgKGlzX3VzZXIgJiYgY3VycmVudC0+c3RhdGUgIT0gVEFTS19SVU5OSU5HKQorCQlyZXR1cm47CisKKwlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIDAsIDAsIGN1cnJlbnQtPnBpZCk7CisKKwlpZiAoIWlzX3VzZXIpCisJCWkgPSB0cmFjZV9rZXJuZWwocmVncywgdHIsIGRhdGEpOworCWVsc2UKKwkJaSA9IDA7CisKKwkvKgorCSAqIFRyYWNlIHVzZXIgc3RhY2sgaWYgd2UgYXJlIG5vdCBhIGtlcm5lbCB0aHJlYWQKKwkgKi8KKwlpZiAoY3VycmVudC0+bW0gJiYgaSA8IHNhbXBsZV9tYXhfZGVwdGgpIHsKKwkJcmVncyA9IChzdHJ1Y3QgcHRfcmVncyAqKWN1cnJlbnQtPnRocmVhZC5zcDAgLSAxOworCisJCWZwID0gKHZvaWQgX191c2VyICopcmVncy0+YnA7CisKKwkJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAyLCByZWdzLT5pcCwgMCk7CisKKwkJd2hpbGUgKGkgPCBzYW1wbGVfbWF4X2RlcHRoKSB7CisJCQlmcmFtZS5uZXh0X2ZwID0gMDsKKwkJCWZyYW1lLnJldHVybl9hZGRyZXNzID0gMDsKKwkJCWlmICghY29weV9zdGFja19mcmFtZShmcCwgJmZyYW1lKSkKKwkJCQlicmVhazsKKwkJCWlmICgodW5zaWduZWQgbG9uZylmcCA8IHJlZ3MtPnNwKQorCQkJCWJyZWFrOworCisJCQlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIDIsIGZyYW1lLnJldHVybl9hZGRyZXNzLAorCQkJCQkodW5zaWduZWQgbG9uZylmcCk7CisJCQlmcCA9IGZyYW1lLm5leHRfZnA7CisKKwkJCWkrKzsKKwkJfQorCisJfQorCisJLyoKKwkgKiBTcGVjaWFsIHRyYWNlIGVudHJ5IGlmIHdlIG92ZXJmbG93IHRoZSBtYXggZGVwdGg6CisJICovCisJaWYgKGkgPT0gc2FtcGxlX21heF9kZXB0aCkKKwkJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAtMSwgLTEsIC0xKTsKKworCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgMywgY3VycmVudC0+cGlkLCBpKTsKK30KKworc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IHN0YWNrX3RyYWNlX3RpbWVyX2ZuKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKQoreworCS8qIHRyYWNlIGhlcmUgKi8KKwl0aW1lcl9ub3RpZnkoZ2V0X2lycV9yZWdzKCksIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisKKwlocnRpbWVyX2ZvcndhcmRfbm93KGhydGltZXIsIG5zX3RvX2t0aW1lKHNhbXBsZV9wZXJpb2QpKTsKKworCXJldHVybiBIUlRJTUVSX1JFU1RBUlQ7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X3N0YWNrX3RpbWVyKGludCBjcHUpCit7CisJc3RydWN0IGhydGltZXIgKmhydGltZXIgPSAmcGVyX2NwdShzdGFja190cmFjZV9ocnRpbWVyLCBjcHUpOworCisJaHJ0aW1lcl9pbml0KGhydGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX1JFTCk7CisJaHJ0aW1lci0+ZnVuY3Rpb24gPSBzdGFja190cmFjZV90aW1lcl9mbjsKKwlocnRpbWVyLT5jYl9tb2RlID0gSFJUSU1FUl9DQl9JUlFTQUZFX05PX1NPRlRJUlE7CisKKwlocnRpbWVyX3N0YXJ0KGhydGltZXIsIG5zX3RvX2t0aW1lKHNhbXBsZV9wZXJpb2QpLCBIUlRJTUVSX01PREVfUkVMKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfc3RhY2tfdGltZXJzKHZvaWQpCit7CisJY3B1bWFza190IHNhdmVkX21hc2sgPSBjdXJyZW50LT5jcHVzX2FsbG93ZWQ7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCXNldF9jcHVzX2FsbG93ZWRfcHRyKGN1cnJlbnQsICZjcHVtYXNrX29mX2NwdShjcHUpKTsKKwkJc3RhcnRfc3RhY2tfdGltZXIoY3B1KTsKKwl9CisJc2V0X2NwdXNfYWxsb3dlZF9wdHIoY3VycmVudCwgJnNhdmVkX21hc2spOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3N0YWNrX3RpbWVyKGludCBjcHUpCit7CisJc3RydWN0IGhydGltZXIgKmhydGltZXIgPSAmcGVyX2NwdShzdGFja190cmFjZV9ocnRpbWVyLCBjcHUpOworCisJaHJ0aW1lcl9jYW5jZWwoaHJ0aW1lcik7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3Bfc3RhY2tfdGltZXJzKHZvaWQpCit7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQlzdG9wX3N0YWNrX3RpbWVyKGNwdSk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YWNrX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCXRyLT50aW1lX3N0YXJ0ID0gZnRyYWNlX25vdyh0ci0+Y3B1KTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworfQorCitzdGF0aWMgdm9pZCBzdGFydF9zdGFja190cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCW11dGV4X2xvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKKwlzdGFja19yZXNldCh0cik7CisJc3RhcnRfc3RhY2tfdGltZXJzKCk7CisJdHJhY2VyX2VuYWJsZWQgPSAxOworCW11dGV4X3VubG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3N0YWNrX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJbXV0ZXhfbG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworCXN0b3Bfc3RhY2tfdGltZXJzKCk7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworCW11dGV4X3VubG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBzdGFja190cmFjZV9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJc3lzcHJvZl90cmFjZSA9IHRyOworCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9zdGFja190cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIHN0YWNrX3RyYWNlX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdG9wX3N0YWNrX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgc3RhY2tfdHJhY2VfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwkvKiBXaGVuIHN0YXJ0aW5nIGEgbmV3IHRyYWNlLCByZXNldCB0aGUgYnVmZmVycyAqLworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfc3RhY2tfdHJhY2UodHIpOworCWVsc2UKKwkJc3RvcF9zdGFja190cmFjZSh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHN0YWNrX3RyYWNlIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJzeXNwcm9mIiwKKwkuaW5pdAkJPSBzdGFja190cmFjZV9pbml0LAorCS5yZXNldAkJPSBzdGFja190cmFjZV9yZXNldCwKKwkuY3RybF91cGRhdGUJPSBzdGFja190cmFjZV9jdHJsX3VwZGF0ZSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zeXNwcm9mLAorI2VuZGlmCit9OworCitfX2luaXQgc3RhdGljIGludCBpbml0X3N0YWNrX3RyYWNlKHZvaWQpCit7CisJcmV0dXJuIHJlZ2lzdGVyX3RyYWNlcigmc3RhY2tfdHJhY2UpOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfc3RhY2tfdHJhY2UpOworCisjZGVmaW5lIE1BWF9MT05HX0RJR0lUUyAyMgorCitzdGF0aWMgc3NpemVfdAorc3lzcHJvZl9zYW1wbGVfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciBidWZbTUFYX0xPTkdfRElHSVRTXTsKKwlpbnQgcjsKKworCXIgPSBzcHJpbnRmKGJ1ZiwgIiVsZFxuIiwgbnNlY3NfdG9fdXNlY3Moc2FtcGxlX3BlcmlvZCkpOworCisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3N5c3Byb2Zfc2FtcGxlX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciBidWZbTUFYX0xPTkdfRElHSVRTXTsKKwl1bnNpZ25lZCBsb25nIHZhbDsKKworCWlmIChjbnQgPiBNQVhfTE9OR19ESUdJVFMtMSkKKwkJY250ID0gTUFYX0xPTkdfRElHSVRTLTE7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwl2YWwgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDEwKTsKKwkvKgorCSAqIEVuZm9yY2UgYSBtaW5pbXVtIHNhbXBsZSBwZXJpb2Qgb2YgMTAwIHVzZWNzOgorCSAqLworCWlmICh2YWwgPCAxMDApCisJCXZhbCA9IDEwMDsKKworCW11dGV4X2xvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKKwlzdG9wX3N0YWNrX3RpbWVycygpOworCXNhbXBsZV9wZXJpb2QgPSB2YWwgKiAxMDAwOworCXN0YXJ0X3N0YWNrX3RpbWVycygpOworCW11dGV4X3VubG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc3lzcHJvZl9zYW1wbGVfZm9wcyA9IHsKKwkucmVhZAkJPSBzeXNwcm9mX3NhbXBsZV9yZWFkLAorCS53cml0ZQkJPSBzeXNwcm9mX3NhbXBsZV93cml0ZSwKK307CisKK3ZvaWQgaW5pdF90cmFjZXJfc3lzcHJvZl9kZWJ1Z2ZzKHN0cnVjdCBkZW50cnkgKmRfdHJhY2VyKQoreworCXN0cnVjdCBkZW50cnkgKmVudHJ5OworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzeXNwcm9mX3NhbXBsZV9wZXJpb2QiLCAwNjQ0LAorCQkJZF90cmFjZXIsIE5VTEwsICZzeXNwcm9mX3NhbXBsZV9mb3BzKTsKKwlpZiAoZW50cnkpCisJCXJldHVybjsKKwlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ2R5bl9mdHJhY2VfdG90YWxfaW5mbycgZW50cnlcbiIpOworfQpkaWZmIC0tZ2l0IGEvbGliL0tjb25maWcuZGVidWcgYi9saWIvS2NvbmZpZy5kZWJ1ZwppbmRleCBkMjA5OWY0Li5kZjI3MTMyIDEwMDY0NAotLS0gYS9saWIvS2NvbmZpZy5kZWJ1ZworKysgYi9saWIvS2NvbmZpZy5kZWJ1ZwpAQCAtNDE5LDcgKzQxOSw2IEBACiAKIGNvbmZpZyBTVEFDS1RSQUNFCiAJYm9vbAotCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCiAJZGVwZW5kcyBvbiBTVEFDS1RSQUNFX1NVUFBPUlQKIAogY29uZmlnIERFQlVHX0tPQkpFQ1QKQEAgLTUzMSwxNiArNTMwLDM0IEBACiBjb25maWcgUkNVX1RPUlRVUkVfVEVTVAogCXRyaXN0YXRlICJ0b3J0dXJlIHRlc3RzIGZvciBSQ1UiCiAJZGVwZW5kcyBvbiBERUJVR19LRVJORUwKLQlkZXBlbmRzIG9uIG0KIAlkZWZhdWx0IG4KIAloZWxwCiAJICBUaGlzIG9wdGlvbiBwcm92aWRlcyBhIGtlcm5lbCBtb2R1bGUgdGhhdCBydW5zIHRvcnR1cmUgdGVzdHMKIAkgIG9uIHRoZSBSQ1UgaW5mcmFzdHJ1Y3R1cmUuICBUaGUga2VybmVsIG1vZHVsZSBtYXkgYmUgYnVpbHQKIAkgIGFmdGVyIHRoZSBmYWN0IG9uIHRoZSBydW5uaW5nIGtlcm5lbCB0byBiZSB0ZXN0ZWQsIGlmIGRlc2lyZWQuCiAKKwkgIFNheSBZIGhlcmUgaWYgeW91IHdhbnQgUkNVIHRvcnR1cmUgdGVzdHMgdG8gYmUgYnVpbHQgaW50bworCSAgdGhlIGtlcm5lbC4KIAkgIFNheSBNIGlmIHlvdSB3YW50IHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cyB0byBidWlsZCBhcyBhIG1vZHVsZS4KIAkgIFNheSBOIGlmIHlvdSBhcmUgdW5zdXJlLgogCitjb25maWcgUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRQorCWJvb2wgInRvcnR1cmUgdGVzdHMgZm9yIFJDVSBydW5uYWJsZSBieSBkZWZhdWx0IgorCWRlcGVuZHMgb24gUkNVX1RPUlRVUkVfVEVTVCA9IHkKKwlkZWZhdWx0IG4KKwloZWxwCisJICBUaGlzIG9wdGlvbiBwcm92aWRlcyBhIHdheSB0byBidWlsZCB0aGUgUkNVIHRvcnR1cmUgdGVzdHMKKwkgIGRpcmVjdGx5IGludG8gdGhlIGtlcm5lbCB3aXRob3V0IHRoZW0gc3RhcnRpbmcgdXAgYXQgYm9vdAorCSAgdGltZS4gIFlvdSBjYW4gdXNlIC9wcm9jL3N5cy9rZXJuZWwvcmN1dG9ydHVyZV9ydW5uYWJsZQorCSAgdG8gbWFudWFsbHkgb3ZlcnJpZGUgdGhpcyBzZXR0aW5nLiAgVGhpcyAvcHJvYyBmaWxlIGlzCisJICBhdmFpbGFibGUgb25seSB3aGVuIHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cyBoYXZlIGJlZW4gYnVpbHQKKwkgIGludG8gdGhlIGtlcm5lbC4KKworCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgdG8gc3RhcnQgZHVyaW5nCisJICBib290ICh5b3UgcHJvYmFibHkgZG9uJ3QpLgorCSAgU2F5IE4gaGVyZSBpZiB5b3Ugd2FudCB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgdG8gc3RhcnQgb25seQorCSAgYWZ0ZXIgYmVpbmcgbWFudWFsbHkgZW5hYmxlZCB2aWEgL3Byb2MuCisKIGNvbmZpZyBLUFJPQkVTX1NBTklUWV9URVNUCiAJYm9vbCAiS3Byb2JlcyBzYW5pdHkgdGVzdHMiCiAJZGVwZW5kcyBvbiBERUJVR19LRVJORUwKQEAgLTU2Myw2ICs1ODAsOSBAQAogCSAgZm9yIGRpc3RyaWJ1dGlvbnMgb3IgZ2VuZXJhbCBrZXJuZWxzLCBidXQgb25seSBmb3Iga2VybmVsCiAJICBkZXZlbG9wZXJzIHdvcmtpbmcgb24gYXJjaGl0ZWN0dXJlIGNvZGUuCiAKKwkgIE5vdGUgdGhhdCBpZiB5b3Ugd2FudCB0byBhbHNvIHRlc3Qgc2F2ZWQgYmFja3RyYWNlcywgeW91IHdpbGwKKwkgIGhhdmUgdG8gZW5hYmxlIFNUQUNLVFJBQ0UgYXMgd2VsbC4KKwogCSAgU2F5IE4gaWYgeW91IGFyZSB1bnN1cmUuCiAKIGNvbmZpZyBMS0RUTQpAQCAtNjM0LDYgKzY1NCw4IEBACiAJICBFbmFibGUgdGhpcyBvcHRpb24gaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBMYXRlbmN5VE9QIHRvb2wKIAkgIHRvIGZpbmQgb3V0IHdoaWNoIHVzZXJzcGFjZSBpcyBibG9ja2luZyBvbiB3aGF0IGtlcm5lbCBvcGVyYXRpb25zLgogCitzb3VyY2Uga2VybmVsL3RyYWNlL0tjb25maWcKKwogY29uZmlnIFBST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQKIAlib29sICJSZW1vdGUgZGVidWdnaW5nIG92ZXIgRmlyZVdpcmUgZWFybHkgb24gYm9vdCIKIAlkZXBlbmRzIG9uIFBDSSAmJiBYODYKZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZSBiL2xpYi9NYWtlZmlsZQppbmRleCA3NGIwY2ZiLi40YjgzNmE1IDEwMDY0NAotLS0gYS9saWIvTWFrZWZpbGUKKysrIGIvbGliL01ha2VmaWxlCkBAIC04LDYgKzgsMTUgQEAKIAkgc2hhMS5vIGlycV9yZWdzLm8gcmVjaXByb2NhbF9kaXYubyBhcmd2X3NwbGl0Lm8gXAogCSBwcm9wb3J0aW9ucy5vIHByaW9faGVhcC5vIHJhdGVsaW1pdC5vCiAKK2lmZGVmIENPTkZJR19GVFJBQ0UKKyMgRG8gbm90IHByb2ZpbGUgc3RyaW5nLm8sIHNpbmNlIGl0IG1heSBiZSB1c2VkIGluIGVhcmx5IGJvb3Qgb3IgdmRzbworQ0ZMQUdTX1JFTU9WRV9zdHJpbmcubyA9IC1wZworIyBBbHNvIGRvIG5vdCBwcm9maWxlIGFueSBkZWJ1ZyB1dGlsaXRpZXMKK0NGTEFHU19SRU1PVkVfc3BpbmxvY2tfZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9saXN0X2RlYnVnLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfZGVidWdvYmplY3RzLm8gPSAtcGcKK2VuZGlmCisKIGxpYi0kKENPTkZJR19NTVUpICs9IGlvcmVtYXAubwogbGliLSQoQ09ORklHX1NNUCkgKz0gY3B1bWFzay5vCiAKZGlmZiAtLWdpdCBhL2xpYi9wZXJjcHVfY291bnRlci5jIGIvbGliL3BlcmNwdV9jb3VudGVyLmMKaW5kZXggMTE5MTc0NC4uNGE4YmE0YiAxMDA2NDQKLS0tIGEvbGliL3BlcmNwdV9jb3VudGVyLmMKKysrIGIvbGliL3BlcmNwdV9jb3VudGVyLmMKQEAgLTUyLDcgKzUyLDcgQEAKICAqIEFkZCB1cCBhbGwgdGhlIHBlci1jcHUgY291bnRzLCByZXR1cm4gdGhlIHJlc3VsdC4gIFRoaXMgaXMgYSBtb3JlIGFjY3VyYXRlCiAgKiBidXQgbXVjaCBzbG93ZXIgdmVyc2lvbiBvZiBwZXJjcHVfY291bnRlcl9yZWFkX3Bvc2l0aXZlKCkKICAqLwotczY0IF9fcGVyY3B1X2NvdW50ZXJfc3VtKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKQorczY0IF9fcGVyY3B1X2NvdW50ZXJfc3VtKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBpbnQgc2V0KQogewogCXM2NCByZXQ7CiAJaW50IGNwdTsKQEAgLTYyLDcgKzYyLDEyIEBACiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJczMyICpwY291bnQgPSBwZXJfY3B1X3B0cihmYmMtPmNvdW50ZXJzLCBjcHUpOwogCQlyZXQgKz0gKnBjb3VudDsKKwkJaWYgKHNldCkKKwkJCSpwY291bnQgPSAwOwogCX0KKwlpZiAoc2V0KQorCQlmYmMtPmNvdW50ID0gcmV0OworCiAJc3Bpbl91bmxvY2soJmZiYy0+bG9jayk7CiAJcmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBhL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMgYi9saWIvc21wX3Byb2Nlc3Nvcl9pZC5jCmluZGV4IDZjOTBmYjkuLjNiNGRjMDkgMTAwNjQ0Ci0tLSBhL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMKKysrIGIvbGliL3NtcF9wcm9jZXNzb3JfaWQuYwpAQCAtNyw3ICs3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAKLXVuc2lnbmVkIGludCBkZWJ1Z19zbXBfcHJvY2Vzc29yX2lkKHZvaWQpCitub3RyYWNlIHVuc2lnbmVkIGludCBkZWJ1Z19zbXBfcHJvY2Vzc29yX2lkKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBwcmVlbXB0X2NvdW50ID0gcHJlZW1wdF9jb3VudCgpOwogCWludCB0aGlzX2NwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CkBAIC0zNyw3ICszNyw3IEBACiAJLyoKIAkgKiBBdm9pZCByZWN1cnNpb246CiAJICovCi0JcHJlZW1wdF9kaXNhYmxlKCk7CisJcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKTsKIAogCWlmICghcHJpbnRrX3JhdGVsaW1pdCgpKQogCQlnb3RvIG91dF9lbmFibGU7CkBAIC00OSw3ICs0OSw3IEBACiAJZHVtcF9zdGFjaygpOwogCiBvdXRfZW5hYmxlOgotCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKTsKIG91dDoKIAlyZXR1cm4gdGhpc19jcHU7CiB9CmRpZmYgLS1naXQgYS9saWIvdGV4dHNlYXJjaC5jIGIvbGliL3RleHRzZWFyY2guYwppbmRleCBiZThiZGEzLi5hM2U1MDBhIDEwMDY0NAotLS0gYS9saWIvdGV4dHNlYXJjaC5jCisrKyBiL2xpYi90ZXh0c2VhcmNoLmMKQEAgLTk3LDYgKzk3LDcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC90ZXh0c2VhcmNoLmg+CmRpZmYgLS1naXQgYS9tbS9LY29uZmlnIGIvbW0vS2NvbmZpZwppbmRleCAzYWE4MTlkLi5jNGRlODUyIDEwMDY0NAotLS0gYS9tbS9LY29uZmlnCisrKyBiL21tL0tjb25maWcKQEAgLTEyOSw3ICsxMjksNyBAQAogCWJvb2wgIkFsbG93IGZvciBtZW1vcnkgaG90LWFkZCIKIAlkZXBlbmRzIG9uIFNQQVJTRU1FTSB8fCBYODZfNjRfQUNQSV9OVU1BCiAJZGVwZW5kcyBvbiBIT1RQTFVHICYmICFISUJFUk5BVElPTiAmJiBBUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRwotCWRlcGVuZHMgb24gKElBNjQgfHwgWDg2IHx8IFBQQzY0IHx8IFNVUEVSSCkKKwlkZXBlbmRzIG9uIChJQTY0IHx8IFg4NiB8fCBQUEM2NCB8fCBTVVBFUkggfHwgUzM5MCkKIAogY29tbWVudCAiTWVtb3J5IGhvdHBsdWcgaXMgY3VycmVudGx5IGluY29tcGF0aWJsZSB3aXRoIFNvZnR3YXJlIFN1c3BlbmQiCiAJZGVwZW5kcyBvbiBTUEFSU0VNRU0gJiYgSE9UUExVRyAmJiBISUJFUk5BVElPTgpAQCAtMTk5LDcgKzE5OSw3IEBACiBjb25maWcgTlJfUVVJQ0sKIAlpbnQKIAlkZXBlbmRzIG9uIFFVSUNLTElTVAotCWRlZmF1bHQgIjIiIGlmIFNVUEVSSAorCWRlZmF1bHQgIjIiIGlmIFNVUEVSSCB8fCBBVlIzMgogCWRlZmF1bHQgIjEiCiAKIGNvbmZpZyBWSVJUX1RPX0JVUwpkaWZmIC0tZ2l0IGEvbW0vZmlsZW1hcC5jIGIvbW0vZmlsZW1hcC5jCmluZGV4IDFlNmE3ZDMuLjY1ZDlkOWUgMTAwNjQ0Ci0tLSBhL21tL2ZpbGVtYXAuYworKysgYi9tbS9maWxlbWFwLmMKQEAgLTIzNiwxMSArMjM2LDEyIEBACiB9CiBFWFBPUlRfU1lNQk9MKGZpbGVtYXBfZmRhdGF3cml0ZSk7CiAKLXN0YXRpYyBpbnQgZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3Qgc3RhcnQsCitpbnQgZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3Qgc3RhcnQsCiAJCQkJbG9mZl90IGVuZCkKIHsKIAlyZXR1cm4gX19maWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2UobWFwcGluZywgc3RhcnQsIGVuZCwgV0JfU1lOQ19BTEwpOwogfQorRVhQT1JUX1NZTUJPTChmaWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2UpOwogCiAvKioKICAqIGZpbGVtYXBfZmx1c2ggLSBtb3N0bHkgYSBub24tYmxvY2tpbmcgZmx1c2gKZGlmZiAtLWdpdCBhL21tL21wcm90ZWN0LmMgYi9tbS9tcHJvdGVjdC5jCmluZGV4IGE1YmYzMWMuLmFjZmU3YzggMTAwNjQ0Ci0tLSBhL21tL21wcm90ZWN0LmMKKysrIGIvbW0vbXByb3RlY3QuYwpAQCAtNDcsMTkgKzQ3LDE3IEBACiAJCWlmIChwdGVfcHJlc2VudChvbGRwdGUpKSB7CiAJCQlwdGVfdCBwdGVudDsKIAotCQkJLyogQXZvaWQgYW4gU01QIHJhY2Ugd2l0aCBoYXJkd2FyZSB1cGRhdGVkIGRpcnR5L2NsZWFuCi0JCQkgKiBiaXRzIGJ5IHdpcGluZyB0aGUgcHRlIGFuZCB0aGVuIHNldHRpbmcgdGhlIG5ldyBwdGUKLQkJCSAqIGludG8gcGxhY2UuCi0JCQkgKi8KLQkJCXB0ZW50ID0gcHRlcF9nZXRfYW5kX2NsZWFyKG1tLCBhZGRyLCBwdGUpOworCQkJcHRlbnQgPSBwdGVwX21vZGlmeV9wcm90X3N0YXJ0KG1tLCBhZGRyLCBwdGUpOwogCQkJcHRlbnQgPSBwdGVfbW9kaWZ5KHB0ZW50LCBuZXdwcm90KTsKKwogCQkJLyoKIAkJCSAqIEF2b2lkIHRha2luZyB3cml0ZSBmYXVsdHMgZm9yIHBhZ2VzIHdlIGtub3cgdG8gYmUKIAkJCSAqIGRpcnR5LgogCQkJICovCiAJCQlpZiAoZGlydHlfYWNjb3VudGFibGUgJiYgcHRlX2RpcnR5KHB0ZW50KSkKIAkJCQlwdGVudCA9IHB0ZV9ta3dyaXRlKHB0ZW50KTsKLQkJCXNldF9wdGVfYXQobW0sIGFkZHIsIHB0ZSwgcHRlbnQpOworCisJCQlwdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlLCBwdGVudCk7CiAjaWZkZWYgQ09ORklHX01JR1JBVElPTgogCQl9IGVsc2UgaWYgKCFwdGVfZmlsZShvbGRwdGUpKSB7CiAJCQlzd3BfZW50cnlfdCBlbnRyeSA9IHB0ZV90b19zd3BfZW50cnkob2xkcHRlKTsKZGlmZiAtLWdpdCBhL21tL3BhZ2Utd3JpdGViYWNrLmMgYi9tbS9wYWdlLXdyaXRlYmFjay5jCmluZGV4IDc4OWI2YWQuLjk0YzZkODkgMTAwNjQ0Ci0tLSBhL21tL3BhZ2Utd3JpdGViYWNrLmMKKysrIGIvbW0vcGFnZS13cml0ZWJhY2suYwpAQCAtMTI2LDggKzEyNiw2IEBACiBzdGF0aWMgc3RydWN0IHByb3BfZGVzY3JpcHRvciB2bV9jb21wbGV0aW9uczsKIHN0YXRpYyBzdHJ1Y3QgcHJvcF9kZXNjcmlwdG9yIHZtX2RpcnRpZXM7CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGRldGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KHZvaWQpOwotCiAvKgogICogY291cGxlIHRoZSBwZXJpb2QgdG8gdGhlIGRpcnR5X3JhdGlvOgogICoKQEAgLTM0Nyw3ICszNDUsMTMgQEAKICNlbmRpZgogfQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKQorLyoqCisgKiBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSAtIGFtb3VudCBvZiBtZW1vcnkgdGhhdCBtYXkgYmUgdXNlZAorICoKKyAqIFJldHVybnMgdGhlIG51bWViciBvZiBwYWdlcyB0aGF0IGNhbiBjdXJyZW50bHkgYmUgZnJlZWQgYW5kIHVzZWQKKyAqIGJ5IHRoZSBrZXJuZWwgZm9yIGRpcmVjdCBtYXBwaW5ncy4KKyAqLwordW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgeDsKIApAQCAtOTU2LDYgKzk2MCw5IEBACiAJfQogCWlmICh3YmMtPnJhbmdlX2N5Y2xpYyB8fCAocmFuZ2Vfd2hvbGUgJiYgd2JjLT5ucl90b193cml0ZSA+IDApKQogCQltYXBwaW5nLT53cml0ZWJhY2tfaW5kZXggPSBpbmRleDsKKworCWlmICh3YmMtPnJhbmdlX2NvbnQpCisJCXdiYy0+cmFuZ2Vfc3RhcnQgPSBpbmRleCA8PCBQQUdFX0NBQ0hFX1NISUZUOwogCXJldHVybiByZXQ7CiB9CiBFWFBPUlRfU1lNQk9MKHdyaXRlX2NhY2hlX3BhZ2VzKTsKZGlmZiAtLWdpdCBhL21tL3BhZ2VfYWxsb2MuYyBiL21tL3BhZ2VfYWxsb2MuYwppbmRleCBmMzJmYWUzLi43OWFjNGFmIDEwMDY0NAotLS0gYS9tbS9wYWdlX2FsbG9jLmMKKysrIGIvbW0vcGFnZV9hbGxvYy5jCkBAIC05MTgsNyArOTE4LDcgQEAKICAqLwogdm9pZCBkcmFpbl9hbGxfcGFnZXModm9pZCkKIHsKLQlvbl9lYWNoX2NwdShkcmFpbl9sb2NhbF9wYWdlcywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoZHJhaW5fbG9jYWxfcGFnZXMsIE5VTEwsIDEpOwogfQogCiAjaWZkZWYgQ09ORklHX0hJQkVSTkFUSU9OCkBAIC0yOTI5LDYgKzI5MjksMTggQEAKIAl9CiB9CiAKK3ZvaWQgX19pbml0IHdvcmtfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB3b3JrX2ZuX3Qgd29ya19mbiwgdm9pZCAqZGF0YSkKK3sKKwlpbnQgaTsKKwlpbnQgcmV0OworCisJZm9yX2VhY2hfYWN0aXZlX3JhbmdlX2luZGV4X2luX25pZChpLCBuaWQpIHsKKwkJcmV0ID0gd29ya19mbihlYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4sCisJCQkgICAgICBlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuLCBkYXRhKTsKKwkJaWYgKHJldCkKKwkJCWJyZWFrOworCX0KK30KIC8qKgogICogc3BhcnNlX21lbW9yeV9wcmVzZW50X3dpdGhfYWN0aXZlX3JlZ2lvbnMgLSBDYWxsIG1lbW9yeV9wcmVzZW50IGZvciBlYWNoIGFjdGl2ZSByYW5nZQogICogQG5pZDogVGhlIG5vZGUgdG8gY2FsbCBtZW1vcnlfcHJlc2VudCBmb3IuIElmIE1BWF9OVU1OT0RFUywgYWxsIG5vZGVzIHdpbGwgYmUgdXNlZC4KQEAgLTM0NjEsNiArMzQ3MywxMSBAQAogCWNhbGN1bGF0ZV9ub2RlX3RvdGFscGFnZXMocGdkYXQsIHpvbmVzX3NpemUsIHpob2xlc19zaXplKTsKIAogCWFsbG9jX25vZGVfbWVtX21hcChwZ2RhdCk7CisjaWZkZWYgQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQCisJcHJpbnRrKEtFUk5fREVCVUcgImZyZWVfYXJlYV9pbml0X25vZGU6IG5vZGUgJWQsIHBnZGF0ICUwOGx4LCBub2RlX21lbV9tYXAgJTA4bHhcbiIsCisJCW5pZCwgKHVuc2lnbmVkIGxvbmcpcGdkYXQsCisJCSh1bnNpZ25lZCBsb25nKXBnZGF0LT5ub2RlX21lbV9tYXApOworI2VuZGlmCiAKIAlmcmVlX2FyZWFfaW5pdF9jb3JlKHBnZGF0LCB6b25lc19zaXplLCB6aG9sZXNfc2l6ZSk7CiB9CkBAIC0zNTAzLDcgKzM1MjAsNyBAQAogewogCWludCBpOwogCi0JcHJpbnRrKEtFUk5fREVCVUcgIkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2UoJWQsICVsdSwgJWx1KSAiCisJcHJpbnRrKEtFUk5fREVCVUcgIkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2UoJWQsICUjbHgsICUjbHgpICIKIAkJCSAgIiVkIGVudHJpZXMgb2YgJWQgdXNlZFxuIiwKIAkJCSAgbmlkLCBzdGFydF9wZm4sIGVuZF9wZm4sCiAJCQkgIG5yX25vZGVtYXBfZW50cmllcywgTUFYX0FDVElWRV9SRUdJT05TKTsKQEAgLTM1NDcsMjcgKzM1NjQsNjggQEAKIH0KIAogLyoqCi0gKiBzaHJpbmtfYWN0aXZlX3JhbmdlIC0gU2hyaW5rIGFuIGV4aXN0aW5nIHJlZ2lzdGVyZWQgcmFuZ2Ugb2YgUEZOcworICogcmVtb3ZlX2FjdGl2ZV9yYW5nZSAtIFNocmluayBhbiBleGlzdGluZyByZWdpc3RlcmVkIHJhbmdlIG9mIFBGTnMKICAqIEBuaWQ6IFRoZSBub2RlIGlkIHRoZSByYW5nZSBpcyBvbiB0aGF0IHNob3VsZCBiZSBzaHJ1bmsKLSAqIEBvbGRfZW5kX3BmbjogVGhlIG9sZCBlbmQgUEZOIG9mIHRoZSByYW5nZQotICogQG5ld19lbmRfcGZuOiBUaGUgbmV3IFBGTiBvZiB0aGUgcmFuZ2UKKyAqIEBzdGFydF9wZm46IFRoZSBuZXcgUEZOIG9mIHRoZSByYW5nZQorICogQGVuZF9wZm46IFRoZSBuZXcgUEZOIG9mIHRoZSByYW5nZQogICoKICAqIGkzODYgd2l0aCBOVU1BIHVzZSBhbGxvY19yZW1hcCgpIHRvIHN0b3JlIGEgbm9kZV9tZW1fbWFwIG9uIGEgbG9jYWwgbm9kZS4KLSAqIFRoZSBtYXAgaXMga2VwdCBhdCB0aGUgZW5kIHBoeXNpY2FsIHBhZ2UgcmFuZ2UgdGhhdCBoYXMgYWxyZWFkeSBiZWVuCi0gKiByZWdpc3RlcmVkIHdpdGggYWRkX2FjdGl2ZV9yYW5nZSgpLiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBhbiBhcmNoIHRvIHNocmluawotICogYW4gZXhpc3RpbmcgcmVnaXN0ZXJlZCByYW5nZS4KKyAqIFRoZSBtYXAgaXMga2VwdCBuZWFyIHRoZSBlbmQgcGh5c2ljYWwgcGFnZSByYW5nZSB0aGF0IGhhcyBhbHJlYWR5IGJlZW4KKyAqIHJlZ2lzdGVyZWQuIFRoaXMgZnVuY3Rpb24gYWxsb3dzIGFuIGFyY2ggdG8gc2hyaW5rIGFuIGV4aXN0aW5nIHJlZ2lzdGVyZWQKKyAqIHJhbmdlLgogICovCi12b2lkIF9faW5pdCBzaHJpbmtfYWN0aXZlX3JhbmdlKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgb2xkX2VuZF9wZm4sCi0JCQkJCQl1bnNpZ25lZCBsb25nIG5ld19lbmRfcGZuKQordm9pZCBfX2luaXQgcmVtb3ZlX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pCiB7Ci0JaW50IGk7CisJaW50IGksIGo7CisJaW50IHJlbW92ZWQgPSAwOworCisJcHJpbnRrKEtFUk5fREVCVUcgInJlbW92ZV9hY3RpdmVfcmFuZ2UgKCVkLCAlbHUsICVsdSlcbiIsCisJCQkgIG5pZCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKIAogCS8qIEZpbmQgdGhlIG9sZCBhY3RpdmUgcmVnaW9uIGVuZCBhbmQgc2hyaW5rICovCi0JZm9yX2VhY2hfYWN0aXZlX3JhbmdlX2luZGV4X2luX25pZChpLCBuaWQpCi0JCWlmIChlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID09IG9sZF9lbmRfcGZuKSB7Ci0JCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID0gbmV3X2VuZF9wZm47Ci0JCQlicmVhazsKKwlmb3JfZWFjaF9hY3RpdmVfcmFuZ2VfaW5kZXhfaW5fbmlkKGksIG5pZCkgeworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID49IHN0YXJ0X3BmbiAmJgorCQkgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA8PSBlbmRfcGZuKSB7CisJCQkvKiBjbGVhciBpdCAqLworCQkJZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID0gMDsKKwkJCWVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4gPSAwOworCQkJcmVtb3ZlZCA9IDE7CisJCQljb250aW51ZTsKIAkJfQorCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuIDwgc3RhcnRfcGZuICYmCisJCSAgICBlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID4gc3RhcnRfcGZuKSB7CisJCQl1bnNpZ25lZCBsb25nIHRlbXBfZW5kX3BmbiA9IGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm47CisJCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID0gc3RhcnRfcGZuOworCQkJaWYgKHRlbXBfZW5kX3BmbiA+IGVuZF9wZm4pCisJCQkJYWRkX2FjdGl2ZV9yYW5nZShuaWQsIGVuZF9wZm4sIHRlbXBfZW5kX3Bmbik7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID49IHN0YXJ0X3BmbiAmJgorCQkgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA+IGVuZF9wZm4gJiYKKwkJICAgIGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA8IGVuZF9wZm4pIHsKKwkJCWVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA9IGVuZF9wZm47CisJCQljb250aW51ZTsKKwkJfQorCX0KKworCWlmICghcmVtb3ZlZCkKKwkJcmV0dXJuOworCisJLyogcmVtb3ZlIHRoZSBibGFuayBvbmVzICovCisJZm9yIChpID0gbnJfbm9kZW1hcF9lbnRyaWVzIC0gMTsgaSA+IDA7IGktLSkgeworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0ubmlkICE9IG5pZCkKKwkJCWNvbnRpbnVlOworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbikKKwkJCWNvbnRpbnVlOworCQkvKiB3ZSBmb3VuZCBpdCwgZ2V0IHJpZCBvZiBpdCAqLworCQlmb3IgKGogPSBpOyBqIDwgbnJfbm9kZW1hcF9lbnRyaWVzIC0gMTsgaisrKQorCQkJbWVtY3B5KCZlYXJseV9ub2RlX21hcFtqXSwgJmVhcmx5X25vZGVfbWFwW2orMV0sCisJCQkJc2l6ZW9mKGVhcmx5X25vZGVfbWFwW2pdKSk7CisJCWogPSBucl9ub2RlbWFwX2VudHJpZXMgLSAxOworCQltZW1zZXQoJmVhcmx5X25vZGVfbWFwW2pdLCAwLCBzaXplb2YoZWFybHlfbm9kZV9tYXBbal0pKTsKKwkJbnJfbm9kZW1hcF9lbnRyaWVzLS07CisJfQogfQogCiAvKioKQEAgLTM2MTEsNyArMzY2OSw3IEBACiB9CiAKIC8qIEZpbmQgdGhlIGxvd2VzdCBwZm4gZm9yIGEgbm9kZSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9taW5fcGZuX2Zvcl9ub2RlKHVuc2lnbmVkIGxvbmcgbmlkKQordW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9taW5fcGZuX2Zvcl9ub2RlKGludCBuaWQpCiB7CiAJaW50IGk7CiAJdW5zaWduZWQgbG9uZyBtaW5fcGZuID0gVUxPTkdfTUFYOwpAQCAtMzYyMiw3ICszNjgwLDcgQEAKIAogCWlmIChtaW5fcGZuID09IFVMT05HX01BWCkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCQkiQ291bGQgbm90IGZpbmQgc3RhcnRfcGZuIGZvciBub2RlICVsdVxuIiwgbmlkKTsKKwkJCSJDb3VsZCBub3QgZmluZCBzdGFydF9wZm4gZm9yIG5vZGUgJWRcbiIsIG5pZCk7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMzg3OCw3ICszOTM2LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgTUFYX05SX1pPTkVTOyBpKyspIHsKIAkJaWYgKGkgPT0gWk9ORV9NT1ZBQkxFKQogCQkJY29udGludWU7Ci0JCXByaW50aygiICAlLThzICU4bHUgLT4gJThsdVxuIiwKKwkJcHJpbnRrKCIgICUtOHMgJTAjMTBseCAtPiAlMCMxMGx4XG4iLAogCQkJCXpvbmVfbmFtZXNbaV0sCiAJCQkJYXJjaF96b25lX2xvd2VzdF9wb3NzaWJsZV9wZm5baV0sCiAJCQkJYXJjaF96b25lX2hpZ2hlc3RfcG9zc2libGVfcGZuW2ldKTsKQEAgLTM4OTQsNyArMzk1Miw3IEBACiAJLyogUHJpbnQgb3V0IHRoZSBlYXJseV9ub2RlX21hcFtdICovCiAJcHJpbnRrKCJlYXJseV9ub2RlX21hcFslZF0gYWN0aXZlIFBGTiByYW5nZXNcbiIsIG5yX25vZGVtYXBfZW50cmllcyk7CiAJZm9yIChpID0gMDsgaSA8IG5yX25vZGVtYXBfZW50cmllczsgaSsrKQotCQlwcmludGsoIiAgJTNkOiAlOGx1IC0+ICU4bHVcbiIsIGVhcmx5X25vZGVfbWFwW2ldLm5pZCwKKwkJcHJpbnRrKCIgICUzZDogJTAjMTBseCAtPiAlMCMxMGx4XG4iLCBlYXJseV9ub2RlX21hcFtpXS5uaWQsCiAJCQkJCQllYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4sCiAJCQkJCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuKTsKIApkaWZmIC0tZ2l0IGEvbW0vc2xhYi5jIGIvbW0vc2xhYi5jCmluZGV4IDA0NjYwN2YuLjA1MmU3ZDYgMTAwNjQ0Ci0tLSBhL21tL3NsYWIuYworKysgYi9tbS9zbGFiLmMKQEAgLTE5MDEsMTUgKzE5MDEsNyBAQAogI2VuZGlmCiAKICNpZiBERUJVRwotLyoqCi0gKiBzbGFiX2Rlc3Ryb3lfb2JqcyAtIGRlc3Ryb3kgYSBzbGFiIGFuZCBpdHMgb2JqZWN0cwotICogQGNhY2hlcDogY2FjaGUgcG9pbnRlciBiZWluZyBkZXN0cm95ZWQKLSAqIEBzbGFicDogc2xhYiBwb2ludGVyIGJlaW5nIGRlc3Ryb3llZAotICoKLSAqIENhbGwgdGhlIHJlZ2lzdGVyZWQgZGVzdHJ1Y3RvciBmb3IgZWFjaCBvYmplY3QgaW4gYSBzbGFiIHRoYXQgaXMgYmVpbmcKLSAqIGRlc3Ryb3llZC4KLSAqLwotc3RhdGljIHZvaWQgc2xhYl9kZXN0cm95X29ianMoc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlcCwgc3RydWN0IHNsYWIgKnNsYWJwKQorc3RhdGljIHZvaWQgc2xhYl9kZXN0cm95X2RlYnVnY2hlY2soc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlcCwgc3RydWN0IHNsYWIgKnNsYWJwKQogewogCWludCBpOwogCWZvciAoaSA9IDA7IGkgPCBjYWNoZXAtPm51bTsgaSsrKSB7CkBAIC0xOTM4LDcgKzE5MzAsNyBAQAogCX0KIH0KICNlbHNlCi1zdGF0aWMgdm9pZCBzbGFiX2Rlc3Ryb3lfb2JqcyhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGVwLCBzdHJ1Y3Qgc2xhYiAqc2xhYnApCitzdGF0aWMgdm9pZCBzbGFiX2Rlc3Ryb3lfZGVidWdjaGVjayhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGVwLCBzdHJ1Y3Qgc2xhYiAqc2xhYnApCiB7CiB9CiAjZW5kaWYKQEAgLTE5NTYsNyArMTk0OCw3IEBACiB7CiAJdm9pZCAqYWRkciA9IHNsYWJwLT5zX21lbSAtIHNsYWJwLT5jb2xvdXJvZmY7CiAKLQlzbGFiX2Rlc3Ryb3lfb2JqcyhjYWNoZXAsIHNsYWJwKTsKKwlzbGFiX2Rlc3Ryb3lfZGVidWdjaGVjayhjYWNoZXAsIHNsYWJwKTsKIAlpZiAodW5saWtlbHkoY2FjaGVwLT5mbGFncyAmIFNMQUJfREVTVFJPWV9CWV9SQ1UpKSB7CiAJCXN0cnVjdCBzbGFiX3JjdSAqc2xhYl9yY3U7CiAKQEAgLTI0NTQsNyArMjQ0Niw3IEBACiAJc3RydWN0IGttZW1fbGlzdDMgKmwzOwogCWludCBub2RlOwogCi0Jb25fZWFjaF9jcHUoZG9fZHJhaW4sIGNhY2hlcCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZG9fZHJhaW4sIGNhY2hlcCwgMSk7CiAJY2hlY2tfaXJxX29uKCk7CiAJZm9yX2VhY2hfb25saW5lX25vZGUobm9kZSkgewogCQlsMyA9IGNhY2hlcC0+bm9kZWxpc3RzW25vZGVdOwpAQCAtMzkzOSw3ICszOTMxLDcgQEAKIAl9CiAJbmV3LT5jYWNoZXAgPSBjYWNoZXA7CiAKLQlvbl9lYWNoX2NwdShkb19jY3VwZGF0ZV9sb2NhbCwgKHZvaWQgKiluZXcsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2NjdXBkYXRlX2xvY2FsLCAodm9pZCAqKW5ldywgMSk7CiAKIAljaGVja19pcnFfb24oKTsKIAljYWNoZXAtPmJhdGNoY291bnQgPSBiYXRjaGNvdW50OwpkaWZmIC0tZ2l0IGEvbW0vc2x1Yi5jIGIvbW0vc2x1Yi5jCmluZGV4IDFhNDI3YzAuLjM1YWIzOGEgMTAwNjQ0Ci0tLSBhL21tL3NsdWIuYworKysgYi9tbS9zbHViLmMKQEAgLTQxMSw3ICs0MTEsNyBAQAogCWlmIChhZGRyKSB7CiAJCXAtPmFkZHIgPSBhZGRyOwogCQlwLT5jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0JCXAtPnBpZCA9IGN1cnJlbnQgPyBjdXJyZW50LT5waWQgOiAtMTsKKwkJcC0+cGlkID0gY3VycmVudC0+cGlkOwogCQlwLT53aGVuID0gamlmZmllczsKIAl9IGVsc2UKIAkJbWVtc2V0KHAsIDAsIHNpemVvZihzdHJ1Y3QgdHJhY2spKTsKQEAgLTQzMSw5ICs0MzEsOCBAQAogCWlmICghdC0+YWRkcikKIAkJcmV0dXJuOwogCi0JcHJpbnRrKEtFUk5fRVJSICJJTkZPOiAlcyBpbiAiLCBzKTsKLQlfX3ByaW50X3N5bWJvbCgiJXMiLCAodW5zaWduZWQgbG9uZyl0LT5hZGRyKTsKLQlwcmludGsoIiBhZ2U9JWx1IGNwdT0ldSBwaWQ9JWRcbiIsIGppZmZpZXMgLSB0LT53aGVuLCB0LT5jcHUsIHQtPnBpZCk7CisJcHJpbnRrKEtFUk5fRVJSICJJTkZPOiAlcyBpbiAlcFMgYWdlPSVsdSBjcHU9JXUgcGlkPSVkXG4iLAorCQlzLCB0LT5hZGRyLCBqaWZmaWVzIC0gdC0+d2hlbiwgdC0+Y3B1LCB0LT5waWQpOwogfQogCiBzdGF0aWMgdm9pZCBwcmludF90cmFja2luZyhzdHJ1Y3Qga21lbV9jYWNoZSAqcywgdm9pZCAqb2JqZWN0KQpAQCAtMTQ5Nyw3ICsxNDk2LDcgQEAKIHN0YXRpYyB2b2lkIGZsdXNoX2FsbChzdHJ1Y3Qga21lbV9jYWNoZSAqcykKIHsKICNpZmRlZiBDT05GSUdfU01QCi0Jb25fZWFjaF9jcHUoZmx1c2hfY3B1X3NsYWIsIHMsIDEsIDEpOworCW9uX2VhY2hfY3B1KGZsdXNoX2NwdV9zbGFiLCBzLCAxKTsKICNlbHNlCiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIApAQCAtMTYyOCw5ICsxNjI3LDExIEBACiAJdm9pZCAqKm9iamVjdDsKIAlzdHJ1Y3Qga21lbV9jYWNoZV9jcHUgKmM7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBpbnQgb2Jqc2l6ZTsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAljID0gZ2V0X2NwdV9zbGFiKHMsIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJb2Jqc2l6ZSA9IGMtPm9ianNpemU7CiAJaWYgKHVubGlrZWx5KCFjLT5mcmVlbGlzdCB8fCAhbm9kZV9tYXRjaChjLCBub2RlKSkpCiAKIAkJb2JqZWN0ID0gX19zbGFiX2FsbG9jKHMsIGdmcGZsYWdzLCBub2RlLCBhZGRyLCBjKTsKQEAgLTE2NDMsNyArMTY0NCw3IEBACiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCiAJaWYgKHVubGlrZWx5KChnZnBmbGFncyAmIF9fR0ZQX1pFUk8pICYmIG9iamVjdCkpCi0JCW1lbXNldChvYmplY3QsIDAsIGMtPm9ianNpemUpOworCQltZW1zZXQob2JqZWN0LCAwLCBvYmpzaXplKTsKIAogCXJldHVybiBvYmplY3Q7CiB9CkBAIC0yNzY1LDYgKzI3NjYsNyBAQAogCiAJcGFnZSA9IHZpcnRfdG9faGVhZF9wYWdlKHgpOwogCWlmICh1bmxpa2VseSghUGFnZVNsYWIocGFnZSkpKSB7CisJCUJVR19PTighUGFnZUNvbXBvdW5kKHBhZ2UpKTsKIAkJcHV0X3BhZ2UocGFnZSk7CiAJCXJldHVybjsKIAl9CmRpZmYgLS1naXQgYS9uZXQvODAyL3BzbmFwLmMgYi9uZXQvODAyL3BzbmFwLmMKaW5kZXggMzExMjhjYi4uZWE0NjQzOSAxMDA2NDQKLS0tIGEvbmV0LzgwMi9wc25hcC5jCisrKyBiL25ldC84MDIvcHNuYXAuYwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvaW4uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogCiBzdGF0aWMgTElTVF9IRUFEKHNuYXBfbGlzdCk7CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHNuYXBfbG9jayk7CmRpZmYgLS1naXQgYS9uZXQvODAyMXEvdmxhbi5jIGIvbmV0LzgwMjFxL3ZsYW4uYwppbmRleCBhYjIyMjVkLi4wOGYxNGY2IDEwMDY0NAotLS0gYS9uZXQvODAyMXEvdmxhbi5jCisrKyBiL25ldC84MDIxcS92bGFuLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxuZXQvcDgwMjIuaD4KICNpbmNsdWRlIDxuZXQvYXJwLmg+CiAjaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+CmRpZmYgLS1naXQgYS9uZXQvYnJpZGdlL2JyX2ZkYi5jIGIvbmV0L2JyaWRnZS9icl9mZGIuYwppbmRleCA3MmM1OTc2Li4xNDIwNjBmIDEwMDY0NAotLS0gYS9uZXQvYnJpZGdlL2JyX2ZkYi5jCisrKyBiL25ldC9icmlkZ2UvYnJfZmRiLmMKQEAgLTE1LDYgKzE1LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC90aW1lcy5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGRldmljZS5oPgpkaWZmIC0tZ2l0IGEvbmV0L2JyaWRnZS9icl9zdHAuYyBiL25ldC9icmlkZ2UvYnJfc3RwLmMKaW5kZXggZTM4MDM0YS4uOWU5NmZmYyAxMDA2NDQKLS0tIGEvbmV0L2JyaWRnZS9icl9zdHAuYworKysgYi9uZXQvYnJpZGdlL2JyX3N0cC5jCkBAIC0xMyw2ICsxMyw3IEBACiAgKgkyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICovCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogCiAjaW5jbHVkZSAiYnJfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImJyX3ByaXZhdGVfc3RwLmgiCmRpZmYgLS1naXQgYS9uZXQvY29yZS9kZXYuYyBiL25ldC9jb3JlL2Rldi5jCmluZGV4IGZjYTIzYTMuLjgyMWNiMTYgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2Rldi5jCisrKyBiL25ldC9jb3JlL2Rldi5jCkBAIC00NTg1LDggKzQ1ODUsOCBAQAogCiAJZGV2X2Jvb3RfcGhhc2UgPSAwOwogCi0Jb3Blbl9zb2Z0aXJxKE5FVF9UWF9TT0ZUSVJRLCBuZXRfdHhfYWN0aW9uLCBOVUxMKTsKLQlvcGVuX3NvZnRpcnEoTkVUX1JYX1NPRlRJUlEsIG5ldF9yeF9hY3Rpb24sIE5VTEwpOworCW9wZW5fc29mdGlycShORVRfVFhfU09GVElSUSwgbmV0X3R4X2FjdGlvbik7CisJb3Blbl9zb2Z0aXJxKE5FVF9SWF9TT0ZUSVJRLCBuZXRfcnhfYWN0aW9uKTsKIAogCWhvdGNwdV9ub3RpZmllcihkZXZfY3B1X2NhbGxiYWNrLCAwKTsKIAlkc3RfaW5pdCgpOwpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZmxvdy5jIGIvbmV0L2NvcmUvZmxvdy5jCmluZGV4IDE5OTkxMTcuLjVjZjgxMDUgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2Zsb3cuYworKysgYi9uZXQvY29yZS9mbG93LmMKQEAgLTI5OCw3ICsyOTgsNyBAQAogCWluaXRfY29tcGxldGlvbigmaW5mby5jb21wbGV0aW9uKTsKIAogCWxvY2FsX2JoX2Rpc2FibGUoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbihmbG93X2NhY2hlX2ZsdXNoX3Blcl9jcHUsICZpbmZvLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmbG93X2NhY2hlX2ZsdXNoX3Blcl9jcHUsICZpbmZvLCAwKTsKIAlmbG93X2NhY2hlX2ZsdXNoX3Rhc2tsZXQoKHVuc2lnbmVkIGxvbmcpJmluZm8pOwogCWxvY2FsX2JoX2VuYWJsZSgpOwogCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9maWJfdHJpZS5jIGIvbmV0L2lwdjQvZmliX3RyaWUuYwppbmRleCA0YjAyZDE0Li5lMTYwMGFkIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9maWJfdHJpZS5jCisrKyBiL25ldC9pcHY0L2ZpYl90cmllLmMKQEAgLTEzNTksMTcgKzEzNTksMTcgQEAKIAkJCXQtPnN0YXRzLnNlbWFudGljX21hdGNoX21pc3MrKzsKICNlbmRpZgogCQlpZiAoZXJyIDw9IDApCi0JCQlyZXR1cm4gcGxlbjsKKwkJCXJldHVybiBlcnI7CiAJfQogCi0JcmV0dXJuIC0xOworCXJldHVybiAxOwogfQogCiBzdGF0aWMgaW50IGZuX3RyaWVfbG9va3VwKHN0cnVjdCBmaWJfdGFibGUgKnRiLCBjb25zdCBzdHJ1Y3QgZmxvd2kgKmZscCwKIAkJCSAgc3RydWN0IGZpYl9yZXN1bHQgKnJlcykKIHsKIAlzdHJ1Y3QgdHJpZSAqdCA9IChzdHJ1Y3QgdHJpZSAqKSB0Yi0+dGJfZGF0YTsKLQlpbnQgcGxlbiwgcmV0ID0gMDsKKwlpbnQgcmV0OwogCXN0cnVjdCBub2RlICpuOwogCXN0cnVjdCB0bm9kZSAqcG47CiAJaW50IHBvcywgYml0czsKQEAgLTEzOTMsMTAgKzEzOTMsNyBAQAogCiAJLyogSnVzdCBhIGxlYWY/ICovCiAJaWYgKElTX0xFQUYobikpIHsKLQkJcGxlbiA9IGNoZWNrX2xlYWYodCwgKHN0cnVjdCBsZWFmICopbiwga2V5LCBmbHAsIHJlcyk7Ci0JCWlmIChwbGVuIDwgMCkKLQkJCWdvdG8gZmFpbGVkOwotCQlyZXQgPSAwOworCQlyZXQgPSBjaGVja19sZWFmKHQsIChzdHJ1Y3QgbGVhZiAqKW4sIGtleSwgZmxwLCByZXMpOwogCQlnb3RvIGZvdW5kOwogCX0KIApAQCAtMTQyMSwxMSArMTQxOCw5IEBACiAJCX0KIAogCQlpZiAoSVNfTEVBRihuKSkgewotCQkJcGxlbiA9IGNoZWNrX2xlYWYodCwgKHN0cnVjdCBsZWFmICopbiwga2V5LCBmbHAsIHJlcyk7Ci0JCQlpZiAocGxlbiA8IDApCisJCQlyZXQgPSBjaGVja19sZWFmKHQsIChzdHJ1Y3QgbGVhZiAqKW4sIGtleSwgZmxwLCByZXMpOworCQkJaWYgKHJldCA+IDApCiAJCQkJZ290byBiYWNrdHJhY2U7Ci0KLQkJCXJldCA9IDA7CiAJCQlnb3RvIGZvdW5kOwogCQl9CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY0L25ldGZpbHRlci9uZl9uYXRfc25tcF9iYXNpYy5jIGIvbmV0L2lwdjQvbmV0ZmlsdGVyL25mX25hdF9zbm1wX2Jhc2ljLmMKaW5kZXggNzc1MGM5Ny4uZmZlYWZmYyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvbmV0ZmlsdGVyL25mX25hdF9zbm1wX2Jhc2ljLmMKKysrIGIvbmV0L2lwdjQvbmV0ZmlsdGVyL25mX25hdF9zbm1wX2Jhc2ljLmMKQEAgLTQzOSw4ICs0MzksOCBAQAogCQkJCSAgICAgdW5zaWduZWQgaW50ICpsZW4pCiB7CiAJdW5zaWduZWQgbG9uZyBzdWJpZDsKLQl1bnNpZ25lZCBpbnQgIHNpemU7CiAJdW5zaWduZWQgbG9uZyAqb3B0cjsKKwlzaXplX3Qgc2l6ZTsKIAogCXNpemUgPSBlb2MgLSBjdHgtPnBvaW50ZXIgKyAxOwogCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfcHJvYmUuYyBiL25ldC9pcHY0L3RjcF9wcm9iZS5jCmluZGV4IDVmZjBjZTYuLjdkZGMzMGYgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcF9wcm9iZS5jCisrKyBiL25ldC9pcHY0L3RjcF9wcm9iZS5jCkBAIC0yMjQsNyArMjI0LDcgQEAKIAlpZiAoYnVmc2l6ZSA8IDApCiAJCXJldHVybiAtRUlOVkFMOwogCi0JdGNwX3Byb2JlLmxvZyA9IGtjYWxsb2Moc2l6ZW9mKHN0cnVjdCB0Y3BfbG9nKSwgYnVmc2l6ZSwgR0ZQX0tFUk5FTCk7CisJdGNwX3Byb2JlLmxvZyA9IGtjYWxsb2MoYnVmc2l6ZSwgc2l6ZW9mKHN0cnVjdCB0Y3BfbG9nKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCF0Y3BfcHJvYmUubG9nKQogCQlnb3RvIGVycjA7CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2FkZHJjb25mLmMgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCmluZGV4IDE0NzU4OGYuLmZmNjFhNWMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2FkZHJjb25mLmMKKysrIGIvbmV0L2lwdjYvYWRkcmNvbmYuYwpAQCAtNzQ5LDEyICs3NDksMTIgQEAKIAl9CiAJd3JpdGVfdW5sb2NrX2JoKCZpZGV2LT5sb2NrKTsKIAorCWFkZHJjb25mX2RlbF90aW1lcihpZnApOworCiAJaXB2Nl9pZmFfbm90aWZ5KFJUTV9ERUxBRERSLCBpZnApOwogCiAJYXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4oJmluZXQ2YWRkcl9jaGFpbiwgTkVUREVWX0RPV04sIGlmcCk7CiAKLQlhZGRyY29uZl9kZWxfdGltZXIoaWZwKTsKLQogCS8qCiAJICogUHVyZ2Ugb3IgdXBkYXRlIGNvcnJlc3BvbmRpbmcgcHJlZml4CiAJICoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2V4dGhkcnMuYyBiL25ldC9pcHY2L2V4dGhkcnMuYwppbmRleCAzY2QxYzk5Li5kY2Y5NGZkIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9leHRoZHJzLmMKKysrIGIvbmV0L2lwdjYvZXh0aGRycy5jCkBAIC00NDUsNyArNDQ1LDcgQEAKIAkJCWtmcmVlX3NrYihza2IpOwogCQkJcmV0dXJuIC0xOwogCQl9Ci0JCWlmICghaXB2Nl9jaGtfaG9tZV9hZGRyKCZpbml0X25ldCwgYWRkcikpIHsKKwkJaWYgKCFpcHY2X2Noa19ob21lX2FkZHIoZGV2X25ldChza2ItPmRzdC0+ZGV2KSwgYWRkcikpIHsKIAkJCUlQNl9JTkNfU1RBVFNfQkgoaXA2X2RzdF9pZGV2KHNrYi0+ZHN0KSwKIAkJCQkJIElQU1RBVFNfTUlCX0lOQUREUkVSUk9SUyk7CiAJCQlrZnJlZV9za2Ioc2tiKTsKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybmV0L2lybmV0LmggYi9uZXQvaXJkYS9pcm5ldC9pcm5ldC5oCmluZGV4IGIwMDFjMzYuLmJjY2Y0ZDAgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybmV0L2lybmV0LmgKKysrIGIvbmV0L2lyZGEvaXJuZXQvaXJuZXQuaApAQCAtMjQxLDYgKzI0MSw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybmV0L2lybmV0X3BwcC5jIGIvbmV0L2lyZGEvaXJuZXQvaXJuZXRfcHBwLmMKaW5kZXggZTBlYWI1OS4uZTg0YTcwZCAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJuZXQvaXJuZXRfcHBwLmMKKysrIGIvbmV0L2lyZGEvaXJuZXQvaXJuZXRfcHBwLmMKQEAgLTQ3OSw2ICs0NzksNyBAQAogICBhcCA9IGt6YWxsb2Moc2l6ZW9mKCphcCksIEdGUF9LRVJORUwpOwogICBEQUJPUlQoYXAgPT0gTlVMTCwgLUVOT01FTSwgRlNfRVJST1IsICJDYW4ndCBhbGxvY2F0ZSBzdHJ1Y3QgaXJuZXQuLi5cbiIpOwogCisgIGxvY2tfa2VybmVsKCk7CiAgIC8qIGluaXRpYWxpemUgdGhlIGlybmV0IHN0cnVjdHVyZSAqLwogICBhcC0+ZmlsZSA9IGZpbGU7CiAKQEAgLTUwMCw2ICs1MDEsNyBAQAogICAgIHsKICAgICAgIERFUlJPUihGU19FUlJPUiwgIkNhbid0IHNldHVwIElyREEgbGluay4uLlxuIik7CiAgICAgICBrZnJlZShhcCk7CisgICAgICB1bmxvY2tfa2VybmVsKCk7CiAgICAgICByZXR1cm4gZXJyOwogICAgIH0KIApAQCAtNTEwLDYgKzUxMiw3IEBACiAgIGZpbGUtPnByaXZhdGVfZGF0YSA9IGFwOwogCiAgIERFWElUKEZTX1RSQUNFLCAiIC0gYXA9MHglcFxuIiwgYXApOworICB1bmxvY2tfa2VybmVsKCk7CiAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9uZXQvaXJkYS9pcm5ldGxpbmsuYyBiL25ldC9pcmRhL2lybmV0bGluay5jCmluZGV4IDllMWZiODIuLjJmMDVlYzEgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybmV0bGluay5jCisrKyBiL25ldC9pcmRhL2lybmV0bGluay5jCkBAIC0xMDEsOCArMTAxLDggQEAKIAogCWhkciA9IGdlbmxtc2dfcHV0KG1zZywgaW5mby0+c25kX3BpZCwgaW5mby0+c25kX3NlcSwKIAkJCSAgJmlyZGFfbmxfZmFtaWx5LCAwLCAgSVJEQV9OTF9DTURfR0VUX01PREUpOwotCWlmIChJU19FUlIoaGRyKSkgewotCQlyZXQgPSBQVFJfRVJSKGhkcik7CisJaWYgKGhkciA9PSBOVUxMKSB7CisJCXJldCA9IC1FTVNHU0laRTsKIAkJZ290byBlcnJfb3V0OwogCX0KIApkaWZmIC0tZ2l0IGEvbmV0L2l1Y3YvYWZfaXVjdi5jIGIvbmV0L2l1Y3YvYWZfaXVjdi5jCmluZGV4IDdiMDAzOGYuLmJkYTcxMDEgMTAwNjQ0Ci0tLSBhL25ldC9pdWN2L2FmX2l1Y3YuYworKysgYi9uZXQvaXVjdi9hZl9pdWN2LmMKQEAgLTExMzUsOCArMTEzNSw3IEBACiAJCWlmICh0aGlzKQogCQkJa2ZyZWVfc2tiKHRoaXMpOwogCX0KLQlpZiAoIXRoaXMpCi0JCXByaW50ayhLRVJOX0VSUiAiQUZfSVVDViBtc2cgdGFnICV1IG5vdCBmb3VuZFxuIiwgbXNnLT50YWcpOworCUJVR19PTighdGhpcyk7CiAKIAlpZiAoc2stPnNrX3N0YXRlID09IElVQ1ZfQ0xPU0lORykgewogCQlpZiAoc2tiX3F1ZXVlX2VtcHR5KCZpdWN2X3NrKHNrKS0+c2VuZF9za2JfcSkpIHsKQEAgLTExOTYsNyArMTE5NSw3IEBACiAJfQogCWNwY21kKCJRVUVSWSBVU0VSSUQiLCBpdWN2X3VzZXJpZCwgc2l6ZW9mKGl1Y3ZfdXNlcmlkKSwgJmVycik7CiAJaWYgKHVubGlrZWx5KGVycikpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJBRl9JVUNWIG5lZWRzIHRoZSBWTSB1c2VyaWRcbiIpOworCQlXQVJOX09OKGVycik7CiAJCWVyciA9IC1FUFJPVE9OT1NVUFBPUlQ7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEyMTAsNyArMTIwOSw2IEBACiAJZXJyID0gc29ja19yZWdpc3RlcigmaXVjdl9zb2NrX2ZhbWlseV9vcHMpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3Byb3RvOwotCXByaW50ayhLRVJOX0lORk8gIkFGX0lVQ1YgbG93bGV2ZWwgZHJpdmVyIGluaXRpYWxpemVkXG4iKTsKIAlyZXR1cm4gMDsKIAogb3V0X3Byb3RvOgpAQCAtMTIyNiw4ICsxMjI0LDYgQEAKIAlzb2NrX3VucmVnaXN0ZXIoUEZfSVVDVik7CiAJcHJvdG9fdW5yZWdpc3RlcigmaXVjdl9wcm90byk7CiAJaXVjdl91bnJlZ2lzdGVyKCZhZl9pdWN2X2hhbmRsZXIsIDApOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQUZfSVVDViBsb3dsZXZlbCBkcml2ZXIgdW5sb2FkZWRcbiIpOwogfQogCiBtb2R1bGVfaW5pdChhZml1Y3ZfaW5pdCk7CmRpZmYgLS1naXQgYS9uZXQvaXVjdi9pdWN2LmMgYi9uZXQvaXVjdi9pdWN2LmMKaW5kZXggOTE4OTcwNy4uY2MzNGFjNyAxMDA2NDQKLS0tIGEvbmV0L2l1Y3YvaXVjdi5jCisrKyBiL25ldC9pdWN2L2l1Y3YuYwpAQCAtNDgwLDcgKzQ4MCw3IEBACiAJCWlmIChjcHVfaXNzZXQoY3B1LCBpdWN2X2J1ZmZlcl9jcHVtYXNrKSAmJgogCQkgICAgIWNwdV9pc3NldChjcHUsIGl1Y3ZfaXJxX2NwdW1hc2spKQogCQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9hbGxvd19jcHUsCi0JCQkJCQkgTlVMTCwgMCwgMSk7CisJCQkJCQkgTlVMTCwgMSk7CiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIApAQCAtNDk4LDcgKzQ5OCw3IEBACiAJY3B1bWFzayA9IGl1Y3ZfaXJxX2NwdW1hc2s7CiAJY3B1X2NsZWFyKGZpcnN0X2NwdShpdWN2X2lycV9jcHVtYXNrKSwgY3B1bWFzayk7CiAJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBjcHVtYXNrKQotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2Jsb2NrX2NwdSwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfYmxvY2tfY3B1LCBOVUxMLCAxKTsKIH0KIAogLyoqCkBAIC01MjMsNyArNTIzLDcgQEAKIAlyYyA9IC1FSU87CiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCi0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfZGVjbGFyZV9jcHUsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2RlY2xhcmVfY3B1LCBOVUxMLCAxKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogCWlmIChjcHVzX2VtcHR5KGl1Y3ZfYnVmZmVyX2NwdW1hc2spKQogCQkvKiBObyBjcHUgY291bGQgZGVjbGFyZSBhbiBpdWN2IGJ1ZmZlci4gKi8KQEAgLTU0NSw3ICs1NDUsNyBAQAogICovCiBzdGF0aWMgdm9pZCBpdWN2X2Rpc2FibGUodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShpdWN2X3JldHJpZXZlX2NwdSwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoaXVjdl9yZXRyaWV2ZV9jcHUsIE5VTEwsIDEpOwogCWtmcmVlKGl1Y3ZfcGF0aF90YWJsZSk7CiB9CiAKQEAgLTU4MCw3ICs1ODAsNyBAQAogCWNhc2UgQ1BVX09OTElORV9GUk9aRU46CiAJY2FzZSBDUFVfRE9XTl9GQUlMRUQ6CiAJY2FzZSBDUFVfRE9XTl9GQUlMRURfRlJPWkVOOgotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2RlY2xhcmVfY3B1LCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9kZWNsYXJlX2NwdSwgTlVMTCwgMSk7CiAJCWJyZWFrOwogCWNhc2UgQ1BVX0RPV05fUFJFUEFSRToKIAljYXNlIENQVV9ET1dOX1BSRVBBUkVfRlJPWkVOOgpAQCAtNTg5LDEwICs1ODksMTAgQEAKIAkJaWYgKGNwdXNfZW1wdHkoY3B1bWFzaykpCiAJCQkvKiBDYW4ndCBvZmZsaW5lIGxhc3QgSVVDViBlbmFibGVkIGNwdS4gKi8KIAkJCXJldHVybiBOT1RJRllfQkFEOwotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X3JldHJpZXZlX2NwdSwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfcmV0cmlldmVfY3B1LCBOVUxMLCAxKTsKIAkJaWYgKGNwdXNfZW1wdHkoaXVjdl9pcnFfY3B1bWFzaykpCiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoZmlyc3RfY3B1KGl1Y3ZfYnVmZmVyX2NwdW1hc2spLAotCQkJCQkJIGl1Y3ZfYWxsb3dfY3B1LCBOVUxMLCAwLCAxKTsKKwkJCQkJCSBpdWN2X2FsbG93X2NwdSwgTlVMTCwgMSk7CiAJCWJyZWFrOwogCX0KIAlyZXR1cm4gTk9USUZZX09LOwpAQCAtNjUyLDcgKzY1Miw3IEBACiAJICogcGVuZGluZyBpbnRlcnJ1cHRzIGZvcmNlIHRoZW0gdG8gdGhlIHdvcmsgcXVldWUgYnkgY2FsbGluZwogCSAqIGFuIGVtcHR5IGZ1bmN0aW9uIG9uIGFsbCBjcHVzLgogCSAqLwotCXNtcF9jYWxsX2Z1bmN0aW9uKF9faXVjdl9jbGVhbnVwX3F1ZXVlLCBOVUxMLCAwLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihfX2l1Y3ZfY2xlYW51cF9xdWV1ZSwgTlVMTCwgMSk7CiAJc3Bpbl9sb2NrX2lycSgmaXVjdl9xdWV1ZV9sb2NrKTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocCwgbiwgJml1Y3ZfdGFza19xdWV1ZSwgbGlzdCkgewogCQkvKiBSZW1vdmUgc3RhbGUgd29yayBpdGVtcyBmcm9tIHRoZSB0YXNrIHF1ZXVlLiAqLwpAQCAtMTU1OSwxNiArMTU1OSwxMSBAQAogCiAJcCA9IGl1Y3ZfaXJxX2RhdGFbc21wX3Byb2Nlc3Nvcl9pZCgpXTsKIAlpZiAocC0+aXBwYXRoaWQgPj0gaXVjdl9tYXhfcGF0aGlkKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIml1Y3ZfZG9faW50OiBHb3QgaW50ZXJydXB0IHdpdGggIgotCQkgICAgICAgInBhdGhpZCAlZCA+IG1heF9jb25uZWN0aW9ucyAoJWxkKVxuIiwKLQkJICAgICAgIHAtPmlwcGF0aGlkLCBpdWN2X21heF9wYXRoaWQgLSAxKTsKKwkJV0FSTl9PTihwLT5pcHBhdGhpZCA+PSBpdWN2X21heF9wYXRoaWQpOwogCQlpdWN2X3NldmVyX3BhdGhpZChwLT5pcHBhdGhpZCwgaXVjdl9lcnJvcl9ub19saXN0ZW5lcik7CiAJCXJldHVybjsKIAl9Ci0JaWYgKHAtPmlwdHlwZSAgPCAweDAxIHx8IHAtPmlwdHlwZSA+IDB4MDkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpdWN2X2RvX2ludDogdW5rbm93biBpdWN2IGludGVycnVwdFxuIik7Ci0JCXJldHVybjsKLQl9CisJQlVHX09OKHAtPmlwdHlwZSAgPCAweDAxIHx8IHAtPmlwdHlwZSA+IDB4MDkpOwogCXdvcmsgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgaXVjdl9pcnFfbGlzdCksIEdGUF9BVE9NSUMpOwogCWlmICghd29yaykgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJpdWN2X2V4dGVybmFsX2ludGVycnVwdDogb3V0IG9mIG1lbW9yeVxuIik7CmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvbWFpbi5jIGIvbmV0L21hYzgwMjExL21haW4uYwppbmRleCA5OGMwYjVlLi5kZjA4MzZmIDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvbWFpbi5jCisrKyBiL25ldC9tYWM4MDIxMS9tYWluLmMKQEAgLTUzMCw4ICs1MzAsNiBAQAogCQkJCWxvY2FsLT5zdGFfaHdfc2Nhbm5pbmcgPSAwOwogCQl9CiAKLQkJZmx1c2hfd29ya3F1ZXVlKGxvY2FsLT5ody53b3JrcXVldWUpOwotCiAJCXNkYXRhLT51LnN0YS5mbGFncyAmPSB+SUVFRTgwMjExX1NUQV9QUklWQUNZX0lOVk9LRUQ7CiAJCWtmcmVlKHNkYXRhLT51LnN0YS5leHRyYV9pZSk7CiAJCXNkYXRhLT51LnN0YS5leHRyYV9pZSA9IE5VTEw7CkBAIC01NTUsNiArNTUzLDggQEAKIAogCQlpZWVlODAyMTFfbGVkX3JhZGlvKGxvY2FsLCAwKTsKIAorCQlmbHVzaF93b3JrcXVldWUobG9jYWwtPmh3LndvcmtxdWV1ZSk7CisKIAkJdGFza2xldF9kaXNhYmxlKCZsb2NhbC0+dHhfcGVuZGluZ190YXNrbGV0KTsKIAkJdGFza2xldF9kaXNhYmxlKCZsb2NhbC0+dGFza2xldCk7CiAJfQpkaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL21sbWUuYyBiL25ldC9tYWM4MDIxMS9tbG1lLmMKaW5kZXggNGQyYjU4Mi4uYjQwNDUzNyAxMDA2NDQKLS0tIGEvbmV0L21hYzgwMjExL21sbWUuYworKysgYi9uZXQvbWFjODAyMTEvbWxtZS5jCkBAIC01NDcsMTUgKzU0NywxNCBAQAogCQkJc2RhdGEtPmJzc19jb25mLmh0X2Jzc19jb25mID0gJmNvbmYtPmh0X2Jzc19jb25mOwogCQl9CiAKLQkJbmV0aWZfY2Fycmllcl9vbihkZXYpOwogCQlpZnN0YS0+ZmxhZ3MgfD0gSUVFRTgwMjExX1NUQV9QUkVWX0JTU0lEX1NFVDsKIAkJbWVtY3B5KGlmc3RhLT5wcmV2X2Jzc2lkLCBzZGF0YS0+dS5zdGEuYnNzaWQsIEVUSF9BTEVOKTsKIAkJbWVtY3B5KHdycXUuYXBfYWRkci5zYV9kYXRhLCBzZGF0YS0+dS5zdGEuYnNzaWQsIEVUSF9BTEVOKTsKIAkJaWVlZTgwMjExX3N0YV9zZW5kX2Fzc29jaW5mbyhkZXYsIGlmc3RhKTsKIAl9IGVsc2UgeworCQluZXRpZl9jYXJyaWVyX29mZihkZXYpOwogCQlpZWVlODAyMTFfc3RhX3RlYXJfZG93bl9CQV9zZXNzaW9ucyhkZXYsIGlmc3RhLT5ic3NpZCk7CiAJCWlmc3RhLT5mbGFncyAmPSB+SUVFRTgwMjExX1NUQV9BU1NPQ0lBVEVEOwotCQluZXRpZl9jYXJyaWVyX29mZihkZXYpOwogCQlpZWVlODAyMTFfcmVzZXRfZXJwX2luZm8oZGV2KTsKIAogCQlzZGF0YS0+YnNzX2NvbmYuYXNzb2NfaHQgPSAwOwpAQCAtNTY5LDYgKzU2OCwxMCBAQAogCiAJc2RhdGEtPmJzc19jb25mLmFzc29jID0gYXNzb2M7CiAJaWVlZTgwMjExX2Jzc19pbmZvX2NoYW5nZV9ub3RpZnkoc2RhdGEsIGNoYW5nZWQpOworCisJaWYgKGFzc29jKQorCQluZXRpZl9jYXJyaWVyX29uKGRldik7CisKIAl3cnF1LmFwX2FkZHIuc2FfZmFtaWx5ID0gQVJQSFJEX0VUSEVSOwogCXdpcmVsZXNzX3NlbmRfZXZlbnQoZGV2LCBTSU9DR0lXQVAsICZ3cnF1LCBOVUxMKTsKIH0KQEAgLTM2MTEsOCArMzYxNCwxMCBAQAogCXNwaW5fdW5sb2NrX2JoKCZsb2NhbC0+c3RhX2Jzc19sb2NrKTsKIAogI2lmZGVmIENPTkZJR19NQUM4MDIxMV9JQlNTX0RFQlVHCi0JcHJpbnRrKEtFUk5fREVCVUcgIiAgIHN0YV9maW5kX2lic3M6IHNlbGVjdGVkICVzIGN1cnJlbnQgIgotCSAgICAgICAiJXNcbiIsIHByaW50X21hYyhtYWMsIGJzc2lkKSwgcHJpbnRfbWFjKG1hYzIsIGlmc3RhLT5ic3NpZCkpOworCWlmIChmb3VuZCkKKwkJcHJpbnRrKEtFUk5fREVCVUcgIiAgIHN0YV9maW5kX2lic3M6IHNlbGVjdGVkICVzIGN1cnJlbnQgIgorCQkgICAgICAgIiVzXG4iLCBwcmludF9tYWMobWFjLCBic3NpZCksCisJCSAgICAgICBwcmludF9tYWMobWFjMiwgaWZzdGEtPmJzc2lkKSk7CiAjZW5kaWYgLyogQ09ORklHX01BQzgwMjExX0lCU1NfREVCVUcgKi8KIAlpZiAoZm91bmQgJiYgbWVtY21wKGlmc3RhLT5ic3NpZCwgYnNzaWQsIEVUSF9BTEVOKSAhPSAwICYmCiAJICAgIChic3MgPSBpZWVlODAyMTFfcnhfYnNzX2dldChkZXYsIGJzc2lkLApkaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL3JjODAyMTFfcGlkLmggYi9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWQuaAppbmRleCAwNGFmYzEzLi40ZWE3Yjk3IDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWQuaAorKysgYi9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWQuaApAQCAtMTQxLDcgKzE0MSw2IEBACiAgKglyYXRlIGJlaGF2aW91ciB2YWx1ZXMgKGxvd2VyIG1lYW5zIHdlIHNob3VsZCB0cnVzdCBtb3JlIHdoYXQgd2UgbGVhcm50CiAgKglhYm91dCBiZWhhdmlvdXIgb2YgcmF0ZXMsIGhpZ2hlciBtZWFucyB3ZSBzaG91bGQgdHJ1c3QgbW9yZSB0aGUgbmF0dXJhbAogICoJb3JkZXJpbmcgb2YgcmF0ZXMpCi0gKiBAZmFzdF9zdGFydDogaWYgWSwgcHVzaCBoaWdoIHJhdGVzIHJpZ2h0IGFmdGVyIGluaXRpYWxpemF0aW9uCiAgKi8KIHN0cnVjdCByY19waWRfZGVidWdmc19lbnRyaWVzIHsKIAlzdHJ1Y3QgZGVudHJ5ICpkaXI7CkBAIC0xNTQsNyArMTUzLDYgQEAKIAlzdHJ1Y3QgZGVudHJ5ICpzaGFycGVuX2ZhY3RvcjsKIAlzdHJ1Y3QgZGVudHJ5ICpzaGFycGVuX2R1cmF0aW9uOwogCXN0cnVjdCBkZW50cnkgKm5vcm1fb2Zmc2V0OwotCXN0cnVjdCBkZW50cnkgKmZhc3Rfc3RhcnQ7CiB9OwogCiB2b2lkIHJhdGVfY29udHJvbF9waWRfZXZlbnRfdHhfc3RhdHVzKHN0cnVjdCByY19waWRfZXZlbnRfYnVmZmVyICpidWYsCkBAIC0yNjcsOSArMjY1LDYgQEAKIAkvKiBOb3JtYWxpemF0aW9uIG9mZnNldC4gKi8KIAl1bnNpZ25lZCBpbnQgbm9ybV9vZmZzZXQ7CiAKLQkvKiBGYXN0IHN0YXJzdCBwYXJhbWV0ZXIuICovCi0JdW5zaWduZWQgaW50IGZhc3Rfc3RhcnQ7Ci0KIAkvKiBSYXRlcyBpbmZvcm1hdGlvbi4gKi8KIAlzdHJ1Y3QgcmNfcGlkX3JhdGVpbmZvICpyaW5mbzsKIApkaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL3JjODAyMTFfcGlkX2FsZ28uYyBiL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZF9hbGdvLmMKaW5kZXggYTg0OWI3NC4uYmNkMjdjMSAxMDA2NDQKLS0tIGEvbmV0L21hYzgwMjExL3JjODAyMTFfcGlkX2FsZ28uYworKysgYi9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWRfYWxnby5jCkBAIC0zOTgsMTMgKzM5OCwyNSBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKKwlwaW5mby0+dGFyZ2V0ID0gUkNfUElEX1RBUkdFVF9QRjsKKwlwaW5mby0+c2FtcGxpbmdfcGVyaW9kID0gUkNfUElEX0lOVEVSVkFMOworCXBpbmZvLT5jb2VmZl9wID0gUkNfUElEX0NPRUZGX1A7CisJcGluZm8tPmNvZWZmX2kgPSBSQ19QSURfQ09FRkZfSTsKKwlwaW5mby0+Y29lZmZfZCA9IFJDX1BJRF9DT0VGRl9EOworCXBpbmZvLT5zbW9vdGhpbmdfc2hpZnQgPSBSQ19QSURfU01PT1RISU5HX1NISUZUOworCXBpbmZvLT5zaGFycGVuX2ZhY3RvciA9IFJDX1BJRF9TSEFSUEVOSU5HX0ZBQ1RPUjsKKwlwaW5mby0+c2hhcnBlbl9kdXJhdGlvbiA9IFJDX1BJRF9TSEFSUEVOSU5HX0RVUkFUSU9OOworCXBpbmZvLT5ub3JtX29mZnNldCA9IFJDX1BJRF9OT1JNX09GRlNFVDsKKwlwaW5mby0+cmluZm8gPSByaW5mbzsKKwlwaW5mby0+b2xkcmF0ZSA9IDA7CisKIAkvKiBTb3J0IHRoZSByYXRlcy4gVGhpcyBpcyBvcHRpbWl6ZWQgZm9yIHRoZSBtb3N0IGNvbW1vbiBjYXNlIChpLmUuCiAJICogYWxtb3N0LXNvcnRlZCBDQ0srT0ZETSByYXRlcykuIEtpbmQgb2YgYnViYmxlLXNvcnQgd2l0aCByZXZlcnNlZAogCSAqIG1hcHBpbmcgdG9vLiAqLwogCWZvciAoaSA9IDA7IGkgPCBzYmFuZC0+bl9iaXRyYXRlczsgaSsrKSB7CiAJCXJpbmZvW2ldLmluZGV4ID0gaTsKIAkJcmluZm9baV0ucmV2X2luZGV4ID0gaTsKLQkJaWYgKHBpbmZvLT5mYXN0X3N0YXJ0KQorCQlpZiAoUkNfUElEX0ZBU1RfU1RBUlQpCiAJCQlyaW5mb1tpXS5kaWZmID0gMDsKIAkJZWxzZQogCQkJcmluZm9baV0uZGlmZiA9IGkgKiBwaW5mby0+bm9ybV9vZmZzZXQ7CkBAIC00MjUsMTkgKzQzNyw2IEBACiAJCQlicmVhazsKIAl9CiAKLQlwaW5mby0+dGFyZ2V0ID0gUkNfUElEX1RBUkdFVF9QRjsKLQlwaW5mby0+c2FtcGxpbmdfcGVyaW9kID0gUkNfUElEX0lOVEVSVkFMOwotCXBpbmZvLT5jb2VmZl9wID0gUkNfUElEX0NPRUZGX1A7Ci0JcGluZm8tPmNvZWZmX2kgPSBSQ19QSURfQ09FRkZfSTsKLQlwaW5mby0+Y29lZmZfZCA9IFJDX1BJRF9DT0VGRl9EOwotCXBpbmZvLT5zbW9vdGhpbmdfc2hpZnQgPSBSQ19QSURfU01PT1RISU5HX1NISUZUOwotCXBpbmZvLT5zaGFycGVuX2ZhY3RvciA9IFJDX1BJRF9TSEFSUEVOSU5HX0ZBQ1RPUjsKLQlwaW5mby0+c2hhcnBlbl9kdXJhdGlvbiA9IFJDX1BJRF9TSEFSUEVOSU5HX0RVUkFUSU9OOwotCXBpbmZvLT5ub3JtX29mZnNldCA9IFJDX1BJRF9OT1JNX09GRlNFVDsKLQlwaW5mby0+ZmFzdF9zdGFydCA9IFJDX1BJRF9GQVNUX1NUQVJUOwotCXBpbmZvLT5yaW5mbyA9IHJpbmZvOwotCXBpbmZvLT5vbGRyYXRlID0gMDsKLQogI2lmZGVmIENPTkZJR19NQUM4MDIxMV9ERUJVR0ZTCiAJZGUgPSAmcGluZm8tPmRlbnRyaWVzOwogCWRlLT5kaXIgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoInJjODAyMTFfcGlkIiwKQEAgLTQ2NSw5ICs0NjQsNiBAQAogCWRlLT5ub3JtX29mZnNldCA9IGRlYnVnZnNfY3JlYXRlX3UzMigibm9ybV9vZmZzZXQiLAogCQkJCQkgICAgIFNfSVJVU1IgfCBTX0lXVVNSLCBkZS0+ZGlyLAogCQkJCQkgICAgICZwaW5mby0+bm9ybV9vZmZzZXQpOwotCWRlLT5mYXN0X3N0YXJ0ID0gZGVidWdmc19jcmVhdGVfYm9vbCgiZmFzdF9zdGFydCIsCi0JCQkJCSAgICAgU19JUlVTUiB8IFNfSVdVU1IsIGRlLT5kaXIsCi0JCQkJCSAgICAgJnBpbmZvLT5mYXN0X3N0YXJ0KTsKICNlbmRpZgogCiAJcmV0dXJuIHBpbmZvOwpAQCAtNDc5LDcgKzQ3NSw2IEBACiAjaWZkZWYgQ09ORklHX01BQzgwMjExX0RFQlVHRlMKIAlzdHJ1Y3QgcmNfcGlkX2RlYnVnZnNfZW50cmllcyAqZGUgPSAmcGluZm8tPmRlbnRyaWVzOwogCi0JZGVidWdmc19yZW1vdmUoZGUtPmZhc3Rfc3RhcnQpOwogCWRlYnVnZnNfcmVtb3ZlKGRlLT5ub3JtX29mZnNldCk7CiAJZGVidWdmc19yZW1vdmUoZGUtPnNoYXJwZW5fZHVyYXRpb24pOwogCWRlYnVnZnNfcmVtb3ZlKGRlLT5zaGFycGVuX2ZhY3Rvcik7CmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jCmluZGV4IDdkMWIxMTcuLjhlMGI0YzggMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jCisrKyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogCiAjaW5jbHVkZSA8bmV0L25ldGZpbHRlci9uZl9jb25udHJhY2suaD4KICNpbmNsdWRlIDxuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19sM3Byb3RvLmg+CmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19uZXRsaW5rLmMgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19uZXRsaW5rLmMKaW5kZXggMGVkZWZjZi4uMDc3YmNkMiAxMDA2NDQKLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jCisrKyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgpkaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHJvdG9fdGNwLmMgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcm90b190Y3AuYwppbmRleCAyNzFjZDAxLi5kZDI4ZmIyIDEwMDY0NAotLS0gYS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcm90b190Y3AuYworKysgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcm90b190Y3AuYwpAQCAtODQ0LDkgKzg0NCwxNSBAQAogCQkJLyogQXR0ZW1wdCB0byByZW9wZW4gYSBjbG9zZWQvYWJvcnRlZCBjb25uZWN0aW9uLgogCQkJICogRGVsZXRlIHRoaXMgY29ubmVjdGlvbiBhbmQgbG9vayB1cCBhZ2Fpbi4gKi8KIAkJCXdyaXRlX3VubG9ja19iaCgmdGNwX2xvY2spOwotCQkJaWYgKGRlbF90aW1lcigmY3QtPnRpbWVvdXQpKQorCQkJLyogT25seSByZXBlYXQgaWYgd2UgY2FuIGFjdHVhbGx5IHJlbW92ZSB0aGUgdGltZXIuCisJCQkgKiBEZXN0cnVjdGlvbiBtYXkgYWxyZWFkeSBiZSBpbiBwcm9ncmVzcyBpbiBwcm9jZXNzCisJCQkgKiBjb250ZXh0IGFuZCB3ZSBtdXN0IGdpdmUgaXQgYSBjaGFuY2UgdG8gdGVybWluYXRlLgorCQkJICovCisJCQlpZiAoZGVsX3RpbWVyKCZjdC0+dGltZW91dCkpIHsKIAkJCQljdC0+dGltZW91dC5mdW5jdGlvbigodW5zaWduZWQgbG9uZyljdCk7Ci0JCQlyZXR1cm4gLU5GX1JFUEVBVDsKKwkJCQlyZXR1cm4gLU5GX1JFUEVBVDsKKwkJCX0KKwkJCXJldHVybiAtTkZfRFJPUDsKIAkJfQogCQkvKiBGYWxsIHRocm91Z2ggKi8KIAljYXNlIFRDUF9DT05OVFJBQ0tfSUdOT1JFOgpkaWZmIC0tZ2l0IGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX2NpcHNvX3Y0LmMgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfY2lwc29fdjQuYwppbmRleCBmZGMxNGEwLi45MDgwYzYxIDEwMDY0NAotLS0gYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfY2lwc29fdjQuYworKysgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfY2lwc29fdjQuYwpAQCAtNTg0LDEyICs1ODQsNyBAQAogCXJjdV9yZWFkX3VubG9jaygpOwogCiAJZ2VubG1zZ19lbmQoYW5zX3NrYiwgZGF0YSk7Ci0KLQlyZXRfdmFsID0gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKLQlpZiAocmV0X3ZhbCAhPSAwKQotCQlnb3RvIGxpc3RfZmFpbHVyZTsKLQotCXJldHVybiAwOworCXJldHVybiBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwogCiBsaXN0X3JldHJ5OgogCS8qIFhYWCAtIHRoaXMgbGltaXQgaXMgYSBndWVzc3RpbWF0ZSAqLwpkaWZmIC0tZ2l0IGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX2RvbWFpbmhhc2guYyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9kb21haW5oYXNoLmMKaW5kZXggMDJjMmY3Yy4uNjQzYzAzMiAxMDA2NDQKLS0tIGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX2RvbWFpbmhhc2guYworKysgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfZG9tYWluaGFzaC5jCkBAIC0zMCw4ICszMCw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfbWdtdC5jIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX21nbXQuYwppbmRleCAyMmMxOTEyLi40NGJlNWQ1IDEwMDY0NAotLS0gYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfbWdtdC5jCisrKyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9tZ210LmMKQEAgLTM4NiwxMSArMzg2LDcgQEAKIAlyY3VfcmVhZF91bmxvY2soKTsKIAogCWdlbmxtc2dfZW5kKGFuc19za2IsIGRhdGEpOwotCi0JcmV0X3ZhbCA9IGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7Ci0JaWYgKHJldF92YWwgIT0gMCkKLQkJZ290byBsaXN0ZGVmX2ZhaWx1cmU7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7CiAKIGxpc3RkZWZfZmFpbHVyZV9sb2NrOgogCXJjdV9yZWFkX3VubG9jaygpOwpAQCAtNTAxLDExICs0OTcsNyBAQAogCQlnb3RvIHZlcnNpb25fZmFpbHVyZTsKIAogCWdlbmxtc2dfZW5kKGFuc19za2IsIGRhdGEpOwotCi0JcmV0X3ZhbCA9IGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7Ci0JaWYgKHJldF92YWwgIT0gMCkKLQkJZ290byB2ZXJzaW9uX2ZhaWx1cmU7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7CiAKIHZlcnNpb25fZmFpbHVyZToKIAlrZnJlZV9za2IoYW5zX3NrYik7CmRpZmYgLS1naXQgYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfdW5sYWJlbGVkLmMgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfdW5sYWJlbGVkLmMKaW5kZXggNTJiMjYxMS4uNTZmODA4NyAxMDA2NDQKLS0tIGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX3VubGFiZWxlZC5jCisrKyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF91bmxhYmVsZWQuYwpAQCAtMTEwNywxMSArMTEwNyw3IEBACiAJCWdvdG8gbGlzdF9mYWlsdXJlOwogCiAJZ2VubG1zZ19lbmQoYW5zX3NrYiwgZGF0YSk7Ci0KLQlyZXRfdmFsID0gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKLQlpZiAocmV0X3ZhbCAhPSAwKQotCQlnb3RvIGxpc3RfZmFpbHVyZTsKLQlyZXR1cm4gMDsKKwlyZXR1cm4gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKIAogbGlzdF9mYWlsdXJlOgogCWtmcmVlX3NrYihhbnNfc2tiKTsKZGlmZiAtLWdpdCBhL25ldC9zY3RwL3NtX3N0YXRlZnVucy5jIGIvbmV0L3NjdHAvc21fc3RhdGVmdW5zLmMKaW5kZXggMGM5ZDVhNi4uZmNkYjQ1ZCAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvc21fc3RhdGVmdW5zLmMKKysrIGIvbmV0L3NjdHAvc21fc3RhdGVmdW5zLmMKQEAgLTU4OTksMTIgKzU4OTksNiBAQAogCQlyZXR1cm4gU0NUUF9JRVJST1JfTk9fREFUQTsKIAl9CiAKLQkvKiBJZiBkZWZpbmF0ZWx5IGFjY2VwdGluZyB0aGUgREFUQSBjaHVuaywgcmVjb3JkIGl0cyBUU04sIG90aGVyd2lzZQotCSAqIHdhaXQgZm9yIHJlbmVnZSBwcm9jZXNzaW5nLgotCSAqLwotCWlmIChTQ1RQX0NNRF9DSFVOS19VTFAgPT0gZGVsaXZlcikKLQkJc2N0cF9hZGRfY21kX3NmKGNvbW1hbmRzLCBTQ1RQX0NNRF9SRVBPUlRfVFNOLCBTQ1RQX1UzMih0c24pKTsKLQogCWNodW5rLT5kYXRhX2FjY2VwdGVkID0gMTsKIAogCS8qIE5vdGU6IFNvbWUgY2h1bmtzIG1heSBnZXQgb3ZlcmNvdW50ZWQgKGlmIHdlIGRyb3ApIG9yIG92ZXJjb3VudGVkCkBAIC01OTI0LDYgKzU5MTgsOSBAQAogCSAqIGFuZCBkaXNjYXJkIHRoZSBEQVRBIGNodW5rLgogCSAqLwogCWlmIChudG9ocyhkYXRhX2hkci0+c3RyZWFtKSA+PSBhc29jLT5jLnNpbml0X21heF9pbnN0cmVhbXMpIHsKKwkJLyogTWFyayB0c24gYXMgcmVjZWl2ZWQgZXZlbiB0aG91Z2ggd2UgZHJvcCBpdCAqLworCQlzY3RwX2FkZF9jbWRfc2YoY29tbWFuZHMsIFNDVFBfQ01EX1JFUE9SVF9UU04sIFNDVFBfVTMyKHRzbikpOworCiAJCWVyciA9IHNjdHBfbWFrZV9vcF9lcnJvcihhc29jLCBjaHVuaywgU0NUUF9FUlJPUl9JTlZfU1RSTSwKIAkJCQkJICZkYXRhX2hkci0+c3RyZWFtLAogCQkJCQkgc2l6ZW9mKGRhdGFfaGRyLT5zdHJlYW0pKTsKZGlmZiAtLWdpdCBhL25ldC9zY3RwL3VscGV2ZW50LmMgYi9uZXQvc2N0cC91bHBldmVudC5jCmluZGV4IGNlNmNkYTYuLmExZjY1NGEgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3VscGV2ZW50LmMKKysrIGIvbmV0L3NjdHAvdWxwZXZlbnQuYwpAQCAtNzEwLDYgKzcxMCwxMSBAQAogCWlmICghc2tiKQogCQlnb3RvIGZhaWw7CiAKKwkvKiBOb3cgdGhhdCBhbGwgbWVtb3J5IGFsbG9jYXRpb25zIGZvciB0aGlzIGNodW5rIHN1Y2NlZWRlZCwgd2UKKwkgKiBjYW4gbWFyayBpdCBhcyByZWNlaXZlZCBzbyB0aGUgdHNuX21hcCBpcyB1cGRhdGVkIGNvcnJlY3RseS4KKwkgKi8KKwlzY3RwX3Rzbm1hcF9tYXJrKCZhc29jLT5wZWVyLnRzbl9tYXAsIG50b2hsKGNodW5rLT5zdWJoLmRhdGFfaGRyLT50c24pKTsKKwogCS8qIEZpcnN0IGNhbGN1bGF0ZSB0aGUgcGFkZGluZywgc28gd2UgZG9uJ3QgaW5hZHZlcnRlbnRseQogCSAqIHBhc3MgdXAgdGhlIHdyb25nIGxlbmd0aCB0byB0aGUgdXNlci4KIAkgKgpkaWZmIC0tZ2l0IGEvbmV0L3hmcm0veGZybV91c2VyLmMgYi9uZXQveGZybS94ZnJtX3VzZXIuYwppbmRleCBiOTc2ZDllLi4wNGM0MTUwIDEwMDY0NAotLS0gYS9uZXQveGZybS94ZnJtX3VzZXIuYworKysgYi9uZXQveGZybS94ZnJtX3VzZXIuYwpAQCAtMjc3LDkgKzI3Nyw4IEBACiAJbWVtY3B5KCZ4LT5wcm9wcy5zYWRkciwgJnAtPnNhZGRyLCBzaXplb2YoeC0+cHJvcHMuc2FkZHIpKTsKIAl4LT5wcm9wcy5mbGFncyA9IHAtPmZsYWdzOwogCi0JaWYgKCF4LT5zZWwuZmFtaWx5KQorCWlmICgheC0+c2VsLmZhbWlseSAmJiAhKHAtPmZsYWdzICYgWEZSTV9TVEFURV9BRl9VTlNQRUMpKQogCQl4LT5zZWwuZmFtaWx5ID0gcC0+ZmFtaWx5OwotCiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdCBiL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkMmY0NjAKLS0tIC9kZXYvbnVsbAorKysgYi9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdApAQCAtMCwwICsxLDQ1IEBACisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIEluc3RhbGxpbmcgZmlybXdhcmUKKyMKKyMgV2UgZG9uJ3QgaW5jbHVkZSB0aGUgLmNvbmZpZywgc28gYWxsIGZpcm13YXJlIGZpbGVzIGFyZSBpbiAkKGZ3LXNoaXBwZWQtKQorIyByYXRoZXIgdGhhbiBpbiAkKGZ3LXNoaXBwZWQteSkgb3IgJChmdy1zaGlwcGVkLW4pLgorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitJTlNUQUxMIDo9IGluc3RhbGwKK3NyYyA6PSAkKG9iaikKKworIyBGb3IgbW9kdWxlc19pbnN0YWxsIGluc3RhbGxpbmcgZmlybXdhcmUsIHdlIHdhbnQgdG8gc2VlIC5jb25maWcKKyMgQnV0IGZvciBmaXJtd2FyZV9pbnN0YWxsLCB3ZSBkb24ndCBjYXJlLCBidXQgZG9uJ3Qgd2FudCB0byByZXF1aXJlIGl0LgorLWluY2x1ZGUgJChvYmp0cmVlKS8uY29uZmlnCisKK2luY2x1ZGUgc2NyaXB0cy9LYnVpbGQuaW5jbHVkZQoraW5jbHVkZSAkKHNyY3RyZWUpLyQob2JqKS9NYWtlZmlsZQorCitpbmNsdWRlIHNjcmlwdHMvTWFrZWZpbGUuaG9zdAorCittb2QtZncgOj0gJChhZGRwcmVmaXggJChJTlNUQUxMX0ZXX1BBVEgpLywkKGZ3LXNoaXBwZWQtbSkpCisKKyMgSWYgQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTCBpc24ndCBzZXQsIHRoZW4gaW5zdGFsbCB0aGUgCisjIGZpcm13YXJlIGZvciBpbi1rZXJuZWwgZHJpdmVycyB0b28uCitpZm5kZWYgQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTAorbW9kLWZ3ICs9ICQoYWRkcHJlZml4ICQoSU5TVEFMTF9GV19QQVRIKS8sJChmdy1zaGlwcGVkLXkpKQorZW5kaWYKKworaW5zdGFsbGVkLWZ3IDo9ICQoYWRkcHJlZml4ICQoSU5TVEFMTF9GV19QQVRIKS8sJChmdy1zaGlwcGVkLWFsbCkpCitpbnN0YWxsZWQtZnctZGlycyA6PSAkKHNvcnQgJChkaXIgJChpbnN0YWxsZWQtZncpKSkgJChJTlNUQUxMX0ZXX1BBVEgpLy4KKworcXVpZXRfY21kX2luc3RhbGwgPSBJTlNUQUxMICQoc3Vic3QgJChzcmN0cmVlKS8sLCRAKQorICAgICAgY21kX2luc3RhbGwgPSAkKElOU1RBTEwpIC1tMDY0NCAkPCAkQAorCiskKGluc3RhbGxlZC1mdy1kaXJzKToKKwkkKGNhbGwgY21kLG1rZGlyKQorCiskKGluc3RhbGxlZC1mdyk6ICQoSU5TVEFMTF9GV19QQVRIKS8lOiAkKG9iaikvJSB8ICQoSU5TVEFMTF9GV19QQVRIKS8kJChkaXIgJSkvCisJJChjYWxsIGNtZCxpbnN0YWxsKQorCisuUEhPTlk6IF9fZndfaW5zdGFsbCBfX2Z3X21vZGluc3QgRk9SQ0UKKworX19md19pbnN0YWxsOiAkKGluc3RhbGxlZC1mdykKK19fZndfbW9kaW5zdDogJChtb2QtZncpCisKK0ZPUkNFOgpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9NYWtlZmlsZS5saWIgYi9zY3JpcHRzL01ha2VmaWxlLmxpYgppbmRleCA4ZTQ0MDIzLi5lYTQ4YjgyIDEwMDY0NAotLS0gYS9zY3JpcHRzL01ha2VmaWxlLmxpYgorKysgYi9zY3JpcHRzL01ha2VmaWxlLmxpYgpAQCAtOTYsNyArOTYsOCBAQAogbW9kbmFtZV9mbGFncyAgPSAkKGlmICQoZmlsdGVyIDEsJCh3b3JkcyAkKG1vZG5hbWUpKSksXAogICAgICAgICAgICAgICAgICAtRCJLQlVJTERfTU9ETkFNRT1LQlVJTERfU1RSKCQoY2FsbCBuYW1lLWZpeCwkKG1vZG5hbWUpKSkiKQogCi1fY19mbGFncyAgICAgICA9ICQoS0JVSUxEX0NGTEFHUykgJChjY2ZsYWdzLXkpICQoQ0ZMQUdTXyQoYmFzZXRhcmdldCkubykKK29yaWdfY19mbGFncyAgID0gJChLQlVJTERfQ0ZMQUdTKSAkKGNjZmxhZ3MteSkgJChDRkxBR1NfJChiYXNldGFyZ2V0KS5vKQorX2NfZmxhZ3MgICAgICAgPSAkKGZpbHRlci1vdXQgJChDRkxBR1NfUkVNT1ZFXyQoYmFzZXRhcmdldCkubyksICQob3JpZ19jX2ZsYWdzKSkKIF9hX2ZsYWdzICAgICAgID0gJChLQlVJTERfQUZMQUdTKSAkKGFzZmxhZ3MteSkgJChBRkxBR1NfJChiYXNldGFyZ2V0KS5vKQogX2NwcF9mbGFncyAgICAgPSAkKEtCVUlMRF9DUFBGTEFHUykgJChjcHBmbGFncy15KSAkKENQUEZMQUdTXyQoQEYpKQogCmRpZmYgLS1naXQgYS9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMgYi9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMKaW5kZXggY2VhNGE3OS4uMzdkNWMzNiAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tb2QvZmlsZTJhbGlhcy5jCisrKyBiL3NjcmlwdHMvbW9kL2ZpbGUyYWxpYXMuYwpAQCAtMzA0LDYgKzMwNCwxNCBAQAogCXJldHVybiAxOwogfQogCisvKiBsb29rcyBsaWtlOiAiY3NzOnROIiAqLworc3RhdGljIGludCBkb19jc3NfZW50cnkoY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQlzdHJ1Y3QgY3NzX2RldmljZV9pZCAqaWQsIGNoYXIgKmFsaWFzKQoreworCXNwcmludGYoYWxpYXMsICJjc3M6dCUwMVgiLCBpZC0+dHlwZSk7CisJcmV0dXJuIDE7Cit9CisKIC8qIExvb2tzIGxpa2U6ICJzZXJpbzp0eU5wck5pZE5leE4iICovCiBzdGF0aWMgaW50IGRvX3NlcmlvX2VudHJ5KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAogCQkJICBzdHJ1Y3Qgc2VyaW9fZGV2aWNlX2lkICppZCwgY2hhciAqYWxpYXMpCkBAIC02ODAsNiArNjg4LDEwIEBACiAJCWRvX3RhYmxlKHN5bXZhbCwgc3ltLT5zdF9zaXplLAogCQkJIHNpemVvZihzdHJ1Y3QgYXBfZGV2aWNlX2lkKSwgImFwIiwKIAkJCSBkb19hcF9lbnRyeSwgbW9kKTsKKwllbHNlIGlmIChzeW1faXMoc3ltbmFtZSwgIl9fbW9kX2Nzc19kZXZpY2VfdGFibGUiKSkKKwkJZG9fdGFibGUoc3ltdmFsLCBzeW0tPnN0X3NpemUsCisJCQkgc2l6ZW9mKHN0cnVjdCBjc3NfZGV2aWNlX2lkKSwgImNzcyIsCisJCQkgZG9fY3NzX2VudHJ5LCBtb2QpOwogCWVsc2UgaWYgKHN5bV9pcyhzeW1uYW1lLCAiX19tb2Rfc2VyaW9fZGV2aWNlX3RhYmxlIikpCiAJCWRvX3RhYmxlKHN5bXZhbCwgc3ltLT5zdF9zaXplLAogCQkJIHNpemVvZihzdHJ1Y3Qgc2VyaW9fZGV2aWNlX2lkKSwgInNlcmlvIiwKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L0tjb25maWcgYi9zZWN1cml0eS9LY29uZmlnCmluZGV4IDQ5YjUxZjkuLjYyZWQ0NzEgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L0tjb25maWcKKysrIGIvc2VjdXJpdHkvS2NvbmZpZwpAQCAtNzMsMTcgKzczLDkgQEAKIAkgIElQU2VjLgogCSAgSWYgeW91IGFyZSB1bnN1cmUgaG93IHRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uLCBhbnN3ZXIgTi4KIAotY29uZmlnIFNFQ1VSSVRZX0NBUEFCSUxJVElFUwotCWJvb2wgIkRlZmF1bHQgTGludXggQ2FwYWJpbGl0aWVzIgotCWRlcGVuZHMgb24gU0VDVVJJVFkKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBUaGlzIGVuYWJsZXMgdGhlICJkZWZhdWx0IiBMaW51eCBjYXBhYmlsaXRpZXMgZnVuY3Rpb25hbGl0eS4KLQkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIFkuCi0KIGNvbmZpZyBTRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUwogCWJvb2wgIkZpbGUgUE9TSVggQ2FwYWJpbGl0aWVzIChFWFBFUklNRU5UQUwpIgotCWRlcGVuZHMgb24gKFNFQ1VSSVRZPW4gfHwgU0VDVVJJVFlfQ0FQQUJJTElUSUVTIT1uKSAmJiBFWFBFUklNRU5UQUwKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAogCWRlZmF1bHQgbgogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBmaWxlc3lzdGVtIGNhcGFiaWxpdGllcywgYWxsb3dpbmcgeW91IHRvIGdpdmUKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L01ha2VmaWxlIGIvc2VjdXJpdHkvTWFrZWZpbGUKaW5kZXggN2VmMTEwNy4uZjY1NDI2MCAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvTWFrZWZpbGUKKysrIGIvc2VjdXJpdHkvTWFrZWZpbGUKQEAgLTYsMTYgKzYsMTMgQEAKIHN1YmRpci0kKENPTkZJR19TRUNVUklUWV9TRUxJTlVYKQkrPSBzZWxpbnV4CiBzdWJkaXItJChDT05GSUdfU0VDVVJJVFlfU01BQ0spCQkrPSBzbWFjawogCi0jIGlmIHdlIGRvbid0IHNlbGVjdCBhIHNlY3VyaXR5IG1vZGVsLCB1c2UgdGhlIGRlZmF1bHQgY2FwYWJpbGl0aWVzCi1pZm5lcSAoJChDT05GSUdfU0VDVVJJVFkpLHkpCisjIGFsd2F5cyBlbmFibGUgZGVmYXVsdCBjYXBhYmlsaXRpZXMKIG9iai15CQkrPSBjb21tb25jYXAubwotZW5kaWYKIAogIyBPYmplY3QgZmlsZSBsaXN0cwotb2JqLSQoQ09ORklHX1NFQ1VSSVRZKQkJCSs9IHNlY3VyaXR5Lm8gZHVtbXkubyBpbm9kZS5vCitvYmotJChDT05GSUdfU0VDVVJJVFkpCQkJKz0gc2VjdXJpdHkubyBjYXBhYmlsaXR5Lm8gaW5vZGUubwogIyBNdXN0IHByZWNlZGUgY2FwYWJpbGl0eS5vIGluIG9yZGVyIHRvIHN0YWNrIHByb3Blcmx5Lgogb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1NFTElOVVgpCQkrPSBzZWxpbnV4L2J1aWx0LWluLm8KLW9iai0kKENPTkZJR19TRUNVUklUWV9TTUFDSykJCSs9IGNvbW1vbmNhcC5vIHNtYWNrL2J1aWx0LWluLm8KLW9iai0kKENPTkZJR19TRUNVUklUWV9DQVBBQklMSVRJRVMpCSs9IGNvbW1vbmNhcC5vIGNhcGFiaWxpdHkubwotb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHKQkJKz0gY29tbW9uY2FwLm8gcm9vdF9wbHVnLm8KK29iai0kKENPTkZJR19TRUNVUklUWV9TTUFDSykJCSs9IHNtYWNrL2J1aWx0LWluLm8KK29iai0kKENPTkZJR19TRUNVUklUWV9ST09UUExVRykJCSs9IHJvb3RfcGx1Zy5vCiBvYmotJChDT05GSUdfQ0dST1VQX0RFVklDRSkJCSs9IGRldmljZV9jZ3JvdXAubwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvY2FwYWJpbGl0eS5jIGIvc2VjdXJpdHkvY2FwYWJpbGl0eS5jCmluZGV4IDM4YWM1NGUuLjViMDFjMGIgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2NhcGFiaWxpdHkuYworKysgYi9zZWN1cml0eS9jYXBhYmlsaXR5LmMKQEAgLTEsNiArMSw4IEBACiAvKgogICogIENhcGFiaWxpdGllcyBMaW51eCBTZWN1cml0eSBNb2R1bGUKICAqCisgKiAgVGhpcyBpcyB0aGUgZGVmYXVsdCBzZWN1cml0eSBtb2R1bGUgaW4gY2FzZSBubyBvdGhlciBtb2R1bGUgaXMgbG9hZGVkLgorICoKICAqCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKQEAgLTgsNzUgKzEwLDk4OCBAQAogICoKICAqLwogCi0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+Ci0jaW5jbHVkZSA8bGludXgvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvbW1hbi5oPgotI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KLSNpbmNsdWRlIDxsaW51eC9zd2FwLmg+Ci0jaW5jbHVkZSA8bGludXgvc2tidWZmLmg+Ci0jaW5jbHVkZSA8bGludXgvbmV0bGluay5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAKLXN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBjYXBhYmlsaXR5X29wcyA9IHsKLQkucHRyYWNlID0JCQljYXBfcHRyYWNlLAotCS5jYXBnZXQgPQkJCWNhcF9jYXBnZXQsCi0JLmNhcHNldF9jaGVjayA9CQkJY2FwX2NhcHNldF9jaGVjaywKLQkuY2Fwc2V0X3NldCA9CQkJY2FwX2NhcHNldF9zZXQsCi0JLmNhcGFibGUgPQkJCWNhcF9jYXBhYmxlLAotCS5zZXR0aW1lID0JCQljYXBfc2V0dGltZSwKLQkubmV0bGlua19zZW5kID0JCQljYXBfbmV0bGlua19zZW5kLAotCS5uZXRsaW5rX3JlY3YgPQkJCWNhcF9uZXRsaW5rX3JlY3YsCi0KLQkuYnBybV9hcHBseV9jcmVkcyA9CQljYXBfYnBybV9hcHBseV9jcmVkcywKLQkuYnBybV9zZXRfc2VjdXJpdHkgPQkJY2FwX2Jwcm1fc2V0X3NlY3VyaXR5LAotCS5icHJtX3NlY3VyZWV4ZWMgPQkJY2FwX2Jwcm1fc2VjdXJlZXhlYywKLQotCS5pbm9kZV9zZXR4YXR0ciA9CQljYXBfaW5vZGVfc2V0eGF0dHIsCi0JLmlub2RlX3JlbW92ZXhhdHRyID0JCWNhcF9pbm9kZV9yZW1vdmV4YXR0ciwKLQkuaW5vZGVfbmVlZF9raWxscHJpdiA9CQljYXBfaW5vZGVfbmVlZF9raWxscHJpdiwKLQkuaW5vZGVfa2lsbHByaXYgPQkJY2FwX2lub2RlX2tpbGxwcml2LAotCi0JLnRhc2tfc2V0c2NoZWR1bGVyID0JCWNhcF90YXNrX3NldHNjaGVkdWxlciwKLQkudGFza19zZXRpb3ByaW8gPQkJY2FwX3Rhc2tfc2V0aW9wcmlvLAotCS50YXNrX3NldG5pY2UgPQkJCWNhcF90YXNrX3NldG5pY2UsCi0JLnRhc2tfcG9zdF9zZXR1aWQgPQkJY2FwX3Rhc2tfcG9zdF9zZXR1aWQsCi0JLnRhc2tfcHJjdGwgPSAgICAgICAgICAgICAgICAgICBjYXBfdGFza19wcmN0bCwKLQkudGFza19yZXBhcmVudF90b19pbml0ID0JY2FwX3Rhc2tfcmVwYXJlbnRfdG9faW5pdCwKLQotCS5zeXNsb2cgPSAgICAgICAgICAgICAgICAgICAgICAgY2FwX3N5c2xvZywKLQotCS52bV9lbm91Z2hfbWVtb3J5ID0gICAgICAgICAgICAgY2FwX3ZtX2Vub3VnaF9tZW1vcnksCi19OwotCi0vKiBmbGFnIHRvIGtlZXAgdHJhY2sgb2YgaG93IHdlIHdlcmUgcmVnaXN0ZXJlZCAqLwotc3RhdGljIGludCBzZWNvbmRhcnk7Ci0KLXN0YXRpYyBpbnQgY2FwYWJpbGl0eV9kaXNhYmxlOwotbW9kdWxlX3BhcmFtX25hbWVkKGRpc2FibGUsIGNhcGFiaWxpdHlfZGlzYWJsZSwgaW50LCAwKTsKLQotc3RhdGljIGludCBfX2luaXQgY2FwYWJpbGl0eV9pbml0ICh2b2lkKQorc3RhdGljIGludCBjYXBfYWNjdChzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZiAoY2FwYWJpbGl0eV9kaXNhYmxlKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIkNhcGFiaWxpdGllcyBkaXNhYmxlZCBhdCBpbml0aWFsaXphdGlvblxuIik7Ci0JCXJldHVybiAwOwotCX0KLQkvKiByZWdpc3RlciBvdXJzZWx2ZXMgd2l0aCB0aGUgc2VjdXJpdHkgZnJhbWV3b3JrICovCi0JaWYgKHJlZ2lzdGVyX3NlY3VyaXR5ICgmY2FwYWJpbGl0eV9vcHMpKSB7Ci0JCS8qIHRyeSByZWdpc3RlcmluZyB3aXRoIHByaW1hcnkgbW9kdWxlICovCi0JCWlmIChtb2RfcmVnX3NlY3VyaXR5IChLQlVJTERfTU9ETkFNRSwgJmNhcGFiaWxpdHlfb3BzKSkgewotCQkJcHJpbnRrIChLRVJOX0lORk8gIkZhaWx1cmUgcmVnaXN0ZXJpbmcgY2FwYWJpbGl0aWVzICIKLQkJCQkid2l0aCBwcmltYXJ5IHNlY3VyaXR5IG1vZHVsZS5cbiIpOwotCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KLQkJc2Vjb25kYXJ5ID0gMTsKLQl9Ci0JcHJpbnRrIChLRVJOX0lORk8gIkNhcGFiaWxpdHkgTFNNIGluaXRpYWxpemVkJXNcbiIsCi0JCXNlY29uZGFyeSA/ICIgYXMgc2Vjb25kYXJ5IiA6ICIiKTsKIAlyZXR1cm4gMDsKIH0KIAotc2VjdXJpdHlfaW5pdGNhbGwgKGNhcGFiaWxpdHlfaW5pdCk7CitzdGF0aWMgaW50IGNhcF9zeXNjdGwoY3RsX3RhYmxlICp0YWJsZSwgaW50IG9wKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9xdW90YWN0bChpbnQgY21kcywgaW50IHR5cGUsIGludCBpZCwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfcXVvdGFfb24oc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9icHJtX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9icHJtX2ZyZWVfc2VjdXJpdHkoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX2Jwcm1fcG9zdF9hcHBseV9jcmVkcyhzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQoreworfQorCitzdGF0aWMgaW50IGNhcF9icHJtX2NoZWNrX3NlY3VyaXR5KHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl9mcmVlX3NlY3VyaXR5KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX2NvcHlfZGF0YShjaGFyICpvcmlnLCBjaGFyICpjb3B5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl9rZXJuX21vdW50KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3Nob3dfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3N0YXRmcyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX21vdW50KGNoYXIgKmRldl9uYW1lLCBzdHJ1Y3QgcGF0aCAqcGF0aCwgY2hhciAqdHlwZSwKKwkJCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHZvaWQgKmRhdGEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX2NoZWNrX3NiKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqcGF0aCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2JfdW1vdW50KHN0cnVjdCB2ZnNtb3VudCAqbW50LCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl91bW91bnRfY2xvc2Uoc3RydWN0IHZmc21vdW50ICptbnQpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl91bW91bnRfYnVzeShzdHJ1Y3QgdmZzbW91bnQgKm1udCkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Bvc3RfcmVtb3VudChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgdW5zaWduZWQgbG9uZyBmbGFncywKKwkJCQl2b2lkICpkYXRhKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfcG9zdF9hZGRtb3VudChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IHBhdGggKnBhdGgpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3Bpdm90cm9vdChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Bvc3RfcGl2b3Ryb290KHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKKwkJCSAgICAgICBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCit7CisJaWYgKHVubGlrZWx5KG9wdHMtPm51bV9tbnRfb3B0cykpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX2Nsb25lX21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqb2xkc2IsCisJCQkJICBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm5ld3NiKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zYl9wYXJzZV9vcHRzX3N0cihjaGFyICpvcHRpb25zLCBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbm9kZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2luaXRfc2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGlub2RlICpkaXIsCisJCQkJICAgY2hhciAqKm5hbWUsIHZvaWQgKip2YWx1ZSwgc2l6ZV90ICpsZW4pCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9jcmVhdGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJICAgIGludCBtYXNrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9saW5rKHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkgIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3VubGluayhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3N5bWxpbmsoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJICAgICBjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9ta2RpcihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkgICBpbnQgbWFzaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfcm1kaXIoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9ta25vZChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkgICBpbnQgbW9kZSwgZGV2X3QgZGV2KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9yZW5hbWUoc3RydWN0IGlub2RlICpvbGRfaW5vZGUsIHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksCisJCQkgICAgc3RydWN0IGlub2RlICpuZXdfaW5vZGUsIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3JlYWRsaW5rKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfZm9sbG93X2xpbmsoc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJCSBzdHJ1Y3QgbmFtZWlkYXRhICpuYW1laWRhdGEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2ssCisJCQkJc3RydWN0IG5hbWVpZGF0YSAqbmQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3NldGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaWF0dHIgKmlhdHRyKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9nZXRhdHRyKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbm9kZV9kZWxldGUoc3RydWN0IGlub2RlICppbm8pCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbm9kZV9wb3N0X3NldHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgICAgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2dldHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfbGlzdHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfZ2V0c2VjdXJpdHkoY29uc3Qgc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgdm9pZCAqKmJ1ZmZlciwgYm9vbCBhbGxvYykKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3NldHNlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfbGlzdHNlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNoYXIgKmJ1ZmZlciwKKwkJCQkgIHNpemVfdCBidWZmZXJfc2l6ZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2lub2RlX2dldHNlY2lkKGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUsIHUzMiAqc2VjaWQpCit7CisJKnNlY2lkID0gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9wZXJtaXNzaW9uKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgbWFzaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2ZpbGVfZnJlZV9zZWN1cml0eShzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNvbW1hbmQsCisJCQkgIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX21tYXAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKKwkJCSB1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCisJCQkgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGFkZHJfb25seSkKK3sKKwlpZiAoKGFkZHIgPCBtbWFwX21pbl9hZGRyKSAmJiAhY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKKwkJcmV0dXJuIC1FQUNDRVM7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfbXByb3RlY3Qoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKKwkJCSAgICAgdW5zaWduZWQgbG9uZyBwcm90KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX2xvY2soc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfZmNudGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCisJCQkgIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX3NldF9mb3duZXIoc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfc2VuZF9zaWdpb3Rhc2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssCisJCQkJICAgc3RydWN0IGZvd25fc3RydWN0ICpmb3duLCBpbnQgc2lnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX3JlY2VpdmUoc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2RlbnRyeV9vcGVuKHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2NyZWF0ZSh1bnNpZ25lZCBsb25nIGNsb25lX2ZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3Rhc2tfZnJlZV9zZWN1cml0eShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0dWlkKHVpZF90IGlkMCwgdWlkX3QgaWQxLCB1aWRfdCBpZDIsIGludCBmbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19zZXRnaWQoZ2lkX3QgaWQwLCBnaWRfdCBpZDEsIGdpZF90IGlkMiwgaW50IGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldHBnaWQoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBwaWRfdCBwZ2lkKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2dldHBnaWQoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2dldHNpZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF90YXNrX2dldHNlY2lkKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdTMyICpzZWNpZCkKK3sKKwkqc2VjaWQgPSAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldGdyb3VwcyhzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ3JvdXBfaW5mbykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19nZXRpb3ByaW8oc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldHJsaW1pdCh1bnNpZ25lZCBpbnQgcmVzb3VyY2UsIHN0cnVjdCBybGltaXQgKm5ld19ybGltKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2dldHNjaGVkdWxlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfbW92ZW1lbW9yeShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfd2FpdChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfa2lsbChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBzaWdpbmZvICppbmZvLAorCQkJIGludCBzaWcsIHUzMiBzZWNpZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3Rhc2tfdG9faW5vZGUoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworfQorCitzdGF0aWMgaW50IGNhcF9pcGNfcGVybWlzc2lvbihzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcCwgc2hvcnQgZmxhZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2lwY19nZXRzZWNpZChzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcCwgdTMyICpzZWNpZCkKK3sKKwkqc2VjaWQgPSAwOworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfbXNnX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBtc2dfbXNnICptc2cpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9tc2dfbXNnX2ZyZWVfc2VjdXJpdHkoc3RydWN0IG1zZ19tc2cgKm1zZykKK3sKK30KKworc3RhdGljIGludCBjYXBfbXNnX3F1ZXVlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBtc2dfcXVldWUgKm1zcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX21zZ19xdWV1ZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBtc2dfcXVldWUgKm1zcSkKK3sKK30KKworc3RhdGljIGludCBjYXBfbXNnX3F1ZXVlX2Fzc29jaWF0ZShzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIGludCBtc3FmbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19xdWV1ZV9tc2djdGwoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBpbnQgY21kKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfbXNnc25kKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgc3RydWN0IG1zZ19tc2cgKm1zZywKKwkJCQlpbnQgbXNnZmxnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfbXNncmN2KHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgc3RydWN0IG1zZ19tc2cgKm1zZywKKwkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwgbG9uZyB0eXBlLCBpbnQgbW9kZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2htX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NobV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCkKK3sKK30KKworc3RhdGljIGludCBjYXBfc2htX2Fzc29jaWF0ZShzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGludCBzaG1mbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NobV9zaG1jdGwoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBpbnQgY21kKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zaG1fc2htYXQoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBjaGFyIF9fdXNlciAqc2htYWRkciwKKwkJCSBpbnQgc2htZmxnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zZW1fYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHNlbV9hcnJheSAqc21hKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2VtX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHNlbV9hcnJheSAqc21hKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zZW1fYXNzb2NpYXRlKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgaW50IHNlbWZsZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2VtX3NlbWN0bChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIGludCBjbWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlbV9zZW1vcChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIHN0cnVjdCBzZW1idWYgKnNvcHMsCisJCQkgdW5zaWduZWQgbnNvcHMsIGludCBhbHRlcikKK3sKKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLCitzdGF0aWMgaW50IGNhcF91bml4X3N0cmVhbV9jb25uZWN0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm90aGVyLAorCQkJCSAgIHN0cnVjdCBzb2NrICpuZXdzaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdW5peF9tYXlfc2VuZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpvdGhlcikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2NyZWF0ZShpbnQgZmFtaWx5LCBpbnQgdHlwZSwgaW50IHByb3RvY29sLCBpbnQga2VybikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3Bvc3RfY3JlYXRlKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBmYW1pbHksIGludCB0eXBlLAorCQkJCSAgaW50IHByb3RvY29sLCBpbnQga2VybikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2JpbmQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyZXNzLAorCQkJICAgaW50IGFkZHJsZW4pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9jb25uZWN0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkcmVzcywKKwkJCSAgICAgIGludCBhZGRybGVuKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfbGlzdGVuKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBiYWNrbG9nKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfYWNjZXB0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm5ld3NvY2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zb2NrZXRfcG9zdF9hY2NlcHQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqbmV3c29jaykKK3sKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3NlbmRtc2coc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IG1zZ2hkciAqbXNnLCBpbnQgc2l6ZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3JlY3Ztc2coc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IG1zZ2hkciAqbXNnLAorCQkJICAgICAgaW50IHNpemUsIGludCBmbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2dldHNvY2tuYW1lKHN0cnVjdCBzb2NrZXQgKnNvY2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRwZWVybmFtZShzdHJ1Y3Qgc29ja2V0ICpzb2NrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfc2V0c29ja29wdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfZ2V0c29ja29wdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfc2h1dGRvd24oc3RydWN0IHNvY2tldCAqc29jaywgaW50IGhvdykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3NvY2tfcmN2X3NrYihzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRwZWVyc2VjX3N0cmVhbShzdHJ1Y3Qgc29ja2V0ICpzb2NrLAorCQkJCQljaGFyIF9fdXNlciAqb3B0dmFsLAorCQkJCQlpbnQgX191c2VyICpvcHRsZW4sIHVuc2lnbmVkIGxlbikKK3sKKwlyZXR1cm4gLUVOT1BST1RPT1BUOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfZ2V0cGVlcnNlY19kZ3JhbShzdHJ1Y3Qgc29ja2V0ICpzb2NrLAorCQkJCSAgICAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgKnNlY2lkKQoreworCXJldHVybiAtRU5PUFJPVE9PUFQ7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NrX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBzb2NrICpzaywgaW50IGZhbWlseSwgZ2ZwX3QgcHJpb3JpdHkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9za19mcmVlX3NlY3VyaXR5KHN0cnVjdCBzb2NrICpzaykKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NrX2Nsb25lX3NlY3VyaXR5KGNvbnN0IHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2sgKm5ld3NrKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2tfZ2V0c2VjaWQoc3RydWN0IHNvY2sgKnNrLCB1MzIgKnNlY2lkKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc29ja19ncmFmdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrZXQgKnBhcmVudCkKK3sKK30KKworc3RhdGljIGludCBjYXBfaW5ldF9jb25uX3JlcXVlc3Qoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAorCQkJCSBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbmV0X2Nza19jbG9uZShzdHJ1Y3Qgc29jayAqbmV3c2ssCisJCQkgICAgICAgY29uc3Qgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfaW5ldF9jb25uX2VzdGFibGlzaGVkKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3JlcV9jbGFzc2lmeV9mbG93KGNvbnN0IHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSwKKwkJCQkgIHN0cnVjdCBmbG93aSAqZmwpCit7Cit9CisjZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgKi8KKworI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0KK3N0YXRpYyBpbnQgY2FwX3hmcm1fcG9saWN5X2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKipjdHhwLAorCQkJCQkgIHN0cnVjdCB4ZnJtX3VzZXJfc2VjX2N0eCAqc2VjX2N0eCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9wb2xpY3lfY2xvbmVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqb2xkX2N0eCwKKwkJCQkJICBzdHJ1Y3QgeGZybV9zZWNfY3R4ICoqbmV3X2N0eHApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF94ZnJtX3BvbGljeV9mcmVlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCkKK3sKK30KKworc3RhdGljIGludCBjYXBfeGZybV9wb2xpY3lfZGVsZXRlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9zdGF0ZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCwKKwkJCQkJIHN0cnVjdCB4ZnJtX3VzZXJfc2VjX2N0eCAqc2VjX2N0eCwKKwkJCQkJIHUzMiBzZWNpZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3hmcm1fc3RhdGVfZnJlZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCkKK3sKK30KKworc3RhdGljIGludCBjYXBfeGZybV9zdGF0ZV9kZWxldGVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc3RhdGUgKngpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fcG9saWN5X2xvb2t1cChzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgsIHUzMiBza19zaWQsIHU4IGRpcikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9zdGF0ZV9wb2xfZmxvd19tYXRjaChzdHJ1Y3QgeGZybV9zdGF0ZSAqeCwKKwkJCQkJIHN0cnVjdCB4ZnJtX3BvbGljeSAqeHAsCisJCQkJCSBzdHJ1Y3QgZmxvd2kgKmZsKQoreworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX2RlY29kZV9zZXNzaW9uKHN0cnVjdCBza19idWZmICpza2IsIHUzMiAqZmwsIGludCBja2FsbCkKK3sKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gKi8KK3N0YXRpYyB2b2lkIGNhcF9kX2luc3RhbnRpYXRlKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSkKK3sKK30KKworc3RhdGljIGludCBjYXBfZ2V0cHJvY2F0dHIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBjaGFyICpuYW1lLCBjaGFyICoqdmFsdWUpCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NldHByb2NhdHRyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsCisJCQkgICBzaXplX3Qgc2l6ZSkKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludCBjYXBfc2VjaWRfdG9fc2VjY3R4KHUzMiBzZWNpZCwgY2hhciAqKnNlY2RhdGEsIHUzMiAqc2VjbGVuKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKworc3RhdGljIGludCBjYXBfc2VjY3R4X3RvX3NlY2lkKGNvbnN0IGNoYXIgKnNlY2RhdGEsIHUzMiBzZWNsZW4sIHUzMiAqc2VjaWQpCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgdm9pZCBjYXBfcmVsZWFzZV9zZWNjdHgoY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbikKK3sKK30KKworI2lmZGVmIENPTkZJR19LRVlTCitzdGF0aWMgaW50IGNhcF9rZXlfYWxsb2Moc3RydWN0IGtleSAqa2V5LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN0eCwKKwkJCSB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfa2V5X2ZyZWUoc3RydWN0IGtleSAqa2V5KQoreworfQorCitzdGF0aWMgaW50IGNhcF9rZXlfcGVybWlzc2lvbihrZXlfcmVmX3Qga2V5X3JlZiwgc3RydWN0IHRhc2tfc3RydWN0ICpjb250ZXh0LAorCQkJICAgICAga2V5X3Blcm1fdCBwZXJtKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9rZXlfZ2V0c2VjdXJpdHkoc3RydWN0IGtleSAqa2V5LCBjaGFyICoqX2J1ZmZlcikKK3sKKwkqX2J1ZmZlciA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfS0VZUyAqLworCisjaWZkZWYgQ09ORklHX0FVRElUCitzdGF0aWMgaW50IGNhcF9hdWRpdF9ydWxlX2luaXQodTMyIGZpZWxkLCB1MzIgb3AsIGNoYXIgKnJ1bGVzdHIsIHZvaWQgKipsc21ydWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9hdWRpdF9ydWxlX2tub3duKHN0cnVjdCBhdWRpdF9rcnVsZSAqa3J1bGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNlY2lkLCB1MzIgZmllbGQsIHUzMiBvcCwgdm9pZCAqbHNtcnVsZSwKKwkJCQlzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2F1ZGl0X3J1bGVfZnJlZSh2b2lkICpsc21ydWxlKQoreworfQorI2VuZGlmIC8qIENPTkZJR19BVURJVCAqLworCitzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBkZWZhdWx0X3NlY3VyaXR5X29wcyA9IHsKKwkubmFtZQk9ICJkZWZhdWx0IiwKK307CisKKyNkZWZpbmUgc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZnVuY3Rpb24pCQkJCVwKKwlkbyB7CQkJCQkJCQlcCisJCWlmICghb3BzLT5mdW5jdGlvbikgewkJCQkJXAorCQkJb3BzLT5mdW5jdGlvbiA9IGNhcF8jI2Z1bmN0aW9uOwkJCVwKKwkJCXByX2RlYnVnKCJIYWQgdG8gb3ZlcnJpZGUgdGhlICIgI2Z1bmN0aW9uCVwKKwkJCQkgIiBzZWN1cml0eSBvcGVyYXRpb24gd2l0aCB0aGUgZGVmYXVsdC5cbiIpO1wKKwkJCX0JCQkJCQlcCisJfSB3aGlsZSAoMCkKKwordm9pZCBzZWN1cml0eV9maXh1cF9vcHMoc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKK3sKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBwdHJhY2UpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGNhcGdldCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgY2Fwc2V0X2NoZWNrKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBjYXBzZXRfc2V0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhY2N0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBjYXBhYmxlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBxdW90YWN0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgcXVvdGFfb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHN5c2N0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc3lzbG9nKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZXR0aW1lKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB2bV9lbm91Z2hfbWVtb3J5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fYXBwbHlfY3JlZHMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fcG9zdF9hcHBseV9jcmVkcyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9zZXRfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fY2hlY2tfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fc2VjdXJlZXhlYyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2NvcHlfZGF0YSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2Jfa2Vybl9tb3VudCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2Jfc2hvd19vcHRpb25zKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9zdGF0ZnMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX21vdW50KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9jaGVja19zYik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfdW1vdW50KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl91bW91bnRfY2xvc2UpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Vtb3VudF9idXN5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9wb3N0X3JlbW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Bvc3RfYWRkbW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Bpdm90cm9vdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcG9zdF9waXZvdHJvb3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3NldF9tbnRfb3B0cyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfY2xvbmVfbW50X29wdHMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3BhcnNlX29wdHNfc3RyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfaW5pdF9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfY3JlYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9saW5rKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV91bmxpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3N5bWxpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX21rZGlyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9ybWRpcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbWtub2QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3JlbmFtZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfcmVhZGxpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2ZvbGxvd19saW5rKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9wZXJtaXNzaW9uKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9zZXRhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9nZXRhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9kZWxldGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3NldHhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9wb3N0X3NldHhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9nZXR4YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbGlzdHhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9yZW1vdmV4YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbmVlZF9raWxscHJpdik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfa2lsbHByaXYpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2dldHNlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9zZXRzZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbGlzdHNlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9nZXRzZWNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9wZXJtaXNzaW9uKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfaW9jdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfbW1hcCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9tcHJvdGVjdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9sb2NrKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2ZjbnRsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX3NldF9mb3duZXIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfc2VuZF9zaWdpb3Rhc2spOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfcmVjZWl2ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZGVudHJ5X29wZW4pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfY3JlYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0dWlkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3Bvc3Rfc2V0dWlkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldGdpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRwZ2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldHBnaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldHNlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldGdyb3Vwcyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRuaWNlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldGlvcHJpbyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19nZXRpb3ByaW8pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0cmxpbWl0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldHNjaGVkdWxlcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19nZXRzY2hlZHVsZXIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfbW92ZW1lbW9yeSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza193YWl0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2tpbGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfcHJjdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfcmVwYXJlbnRfdG9faW5pdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza190b19pbm9kZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaXBjX3Blcm1pc3Npb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlwY19nZXRzZWNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX21zZ19hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX21zZ19mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfYXNzb2NpYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNnY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNnc25kKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNncmN2KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fYXNzb2NpYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fc2htY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fc2htYXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9hc3NvY2lhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9zZW1jdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9zZW1vcCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbmV0bGlua19zZW5kKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBuZXRsaW5rX3JlY3YpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGRfaW5zdGFudGlhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGdldHByb2NhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZXRwcm9jYXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VjaWRfdG9fc2VjY3R4KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZWNjdHhfdG9fc2VjaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHJlbGVhc2Vfc2VjY3R4KTsKKyNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHVuaXhfc3RyZWFtX2Nvbm5lY3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHVuaXhfbWF5X3NlbmQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9jcmVhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9wb3N0X2NyZWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2JpbmQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9jb25uZWN0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfbGlzdGVuKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfYWNjZXB0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfcG9zdF9hY2NlcHQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9zZW5kbXNnKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfcmVjdm1zZyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2dldHNvY2tuYW1lKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcm5hbWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9zZXRzb2Nrb3B0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0c29ja29wdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3NodXRkb3duKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfc29ja19yY3Zfc2tiKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcnNlY19zdHJlYW0pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVyc2VjX2RncmFtKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBza19hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2tfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2tfY2xvbmVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNrX2dldHNlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrX2dyYWZ0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbmV0X2Nvbm5fcmVxdWVzdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5ldF9jc2tfY2xvbmUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGluZXRfY29ubl9lc3RhYmxpc2hlZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgcmVxX2NsYXNzaWZ5X2Zsb3cpOworI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLICovCisjaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTQorCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9jbG9uZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfZGVsZXRlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfZGVsZXRlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9sb29rdXApOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfcG9sX2Zsb3dfbWF0Y2gpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fZGVjb2RlX3Nlc3Npb24pOworI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gKi8KKyNpZmRlZiBDT05GSUdfS0VZUworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGtleV9hbGxvYyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywga2V5X2ZyZWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGtleV9wZXJtaXNzaW9uKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBrZXlfZ2V0c2VjdXJpdHkpOworI2VuZGlmCS8qIENPTkZJR19LRVlTICovCisjaWZkZWYgQ09ORklHX0FVRElUCisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9pbml0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2tub3duKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhdWRpdF9ydWxlX21hdGNoKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2ZyZWUpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9zZWN1cml0eS9jb21tb25jYXAuYyBiL3NlY3VyaXR5L2NvbW1vbmNhcC5jCmluZGV4IDMzZDM0MzMuLjBiNjUzN2EgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2NvbW1vbmNhcC5jCisrKyBiL3NlY3VyaXR5L2NvbW1vbmNhcC5jCkBAIC02Myw3ICs2Myw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBjYXBfcHRyYWNlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKK2ludCBjYXBfcHRyYWNlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJLyogRGVyaXZlZCBmcm9tIGFyY2gvaTM4Ni9rZXJuZWwvcHRyYWNlLmM6c3lzX3B0cmFjZS4gKi8KIAlpZiAoIWNhcF9pc3N1YnNldChjaGlsZC0+Y2FwX3Blcm1pdHRlZCwgcGFyZW50LT5jYXBfcGVybWl0dGVkKSAmJgpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvZGV2aWNlX2Nncm91cC5jIGIvc2VjdXJpdHkvZGV2aWNlX2Nncm91cC5jCmluZGV4IGZkNzY0YTAuLmRkZDkyY2UgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2RldmljZV9jZ3JvdXAuYworKysgYi9zZWN1cml0eS9kZXZpY2VfY2dyb3VwLmMKQEAgLTIyMiw3ICsyMjIsNyBAQAogI2RlZmluZSBERVZDR19ERU5ZIDIKICNkZWZpbmUgREVWQ0dfTElTVCAzCiAKLSNkZWZpbmUgTUFKTUlOTEVOIDEwCisjZGVmaW5lIE1BSk1JTkxFTiAxMwogI2RlZmluZSBBQ0NMRU4gNAogCiBzdGF0aWMgdm9pZCBzZXRfYWNjZXNzKGNoYXIgKmFjYywgc2hvcnQgYWNjZXNzKQpAQCAtMjU0LDcgKzI1NCw3IEBACiAJaWYgKG0gPT0gfjApCiAJCXNwcmludGYoc3RyLCAiKiIpOwogCWVsc2UKLQkJc25wcmludGYoc3RyLCBNQUpNSU5MRU4sICIlZCIsIG0pOworCQlzbnByaW50ZihzdHIsIE1BSk1JTkxFTiwgIiV1IiwgbSk7CiB9CiAKIHN0YXRpYyBpbnQgZGV2Y2dyb3VwX3NlcV9yZWFkKHN0cnVjdCBjZ3JvdXAgKmNncm91cCwgc3RydWN0IGNmdHlwZSAqY2Z0LApAQCAtMzAwLDcgKzMwMCw3IEBACiAJCQljb250aW51ZTsKIAkJaWYgKHdoaXRlbS0+bWlub3IgIT0gfjAgJiYgd2hpdGVtLT5taW5vciAhPSByZWZ3aC0+bWlub3IpCiAJCQljb250aW51ZTsKLQkJaWYgKHJlZndoLT5hY2Nlc3MgJiAofih3aGl0ZW0tPmFjY2VzcyB8IEFDQ19NQVNLKSkpCisJCWlmIChyZWZ3aC0+YWNjZXNzICYgKH53aGl0ZW0tPmFjY2VzcykpCiAJCQljb250aW51ZTsKIAkJcmV0dXJuIDE7CiAJfQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvZHVtbXkuYyBiL3NlY3VyaXR5L2R1bW15LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4OTE2ODguLjAwMDAwMDAKLS0tIGEvc2VjdXJpdHkvZHVtbXkuYworKysgL2Rldi9udWxsCkBAIC0xLDEyNTEgKzAsMCBAQAotLyoKLSAqIFN0dWIgZnVuY3Rpb25zIGZvciB0aGUgZGVmYXVsdCBzZWN1cml0eSBmdW5jdGlvbiBwb2ludGVycyBpbiBjYXNlIG5vCi0gKiBzZWN1cml0eSBtb2RlbCBpcyBsb2FkZWQuCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAxIFdpcmVYIENvbW11bmljYXRpb25zLCBJbmMgPGNocmlzQHdpcmV4LmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAwMS0yMDAyICBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdAa3JvYWguY29tPgotICogQ29weXJpZ2h0IChDKSAyMDAxIE5ldHdvcmtzIEFzc29jaWF0ZXMgVGVjaG5vbG9neSwgSW5jIDxzc21hbGxleUBuYWkuY29tPgotICoKLSAqCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKi8KLQotI3VuZGVmIERFQlVHCi0KLSNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW1hbi5oPgotI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KLSNpbmNsdWRlIDxsaW51eC9zd2FwLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KLSNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KLSNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+Ci0jaW5jbHVkZSA8bmV0L3NvY2suaD4KLSNpbmNsdWRlIDxsaW51eC94YXR0ci5oPgotI2luY2x1ZGUgPGxpbnV4L2h1Z2V0bGIuaD4KLSNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvcHJjdGwuaD4KLSNpbmNsdWRlIDxsaW51eC9zZWN1cmViaXRzLmg+Ci0KLXN0YXRpYyBpbnQgZHVtbXlfcHRyYWNlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9jYXBnZXQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBrZXJuZWxfY2FwX3QgKiBlZmZlY3RpdmUsCi0JCQkga2VybmVsX2NhcF90ICogaW5oZXJpdGFibGUsIGtlcm5lbF9jYXBfdCAqIHBlcm1pdHRlZCkKLXsKLQlpZiAodGFyZ2V0LT5ldWlkID09IDApIHsKLQkJY2FwX3NldF9mdWxsKCpwZXJtaXR0ZWQpOwotCQljYXBfc2V0X2luaXRfZWZmKCplZmZlY3RpdmUpOwotCX0gZWxzZSB7Ci0JCWNhcF9jbGVhcigqcGVybWl0dGVkKTsKLQkJY2FwX2NsZWFyKCplZmZlY3RpdmUpOwotCX0KLQotCWNhcF9jbGVhcigqaW5oZXJpdGFibGUpOwotCi0JaWYgKHRhcmdldC0+ZnN1aWQgIT0gMCkgewotCQkqcGVybWl0dGVkID0gY2FwX2Ryb3BfZnNfc2V0KCpwZXJtaXR0ZWQpOwotCQkqZWZmZWN0aXZlID0gY2FwX2Ryb3BfZnNfc2V0KCplZmZlY3RpdmUpOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9jYXBzZXRfY2hlY2sgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAotCQkJICAgICAgIGtlcm5lbF9jYXBfdCAqIGVmZmVjdGl2ZSwKLQkJCSAgICAgICBrZXJuZWxfY2FwX3QgKiBpbmhlcml0YWJsZSwKLQkJCSAgICAgICBrZXJuZWxfY2FwX3QgKiBwZXJtaXR0ZWQpCi17Ci0JcmV0dXJuIC1FUEVSTTsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfY2Fwc2V0X3NldCAoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCi0JCQkgICAgICBrZXJuZWxfY2FwX3QgKiBlZmZlY3RpdmUsCi0JCQkgICAgICBrZXJuZWxfY2FwX3QgKiBpbmhlcml0YWJsZSwKLQkJCSAgICAgIGtlcm5lbF9jYXBfdCAqIHBlcm1pdHRlZCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfYWNjdCAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfY2FwYWJsZSAoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjYXApCi17Ci0JaWYgKGNhcF9yYWlzZWQgKHRzay0+Y2FwX2VmZmVjdGl2ZSwgY2FwKSkKLQkJcmV0dXJuIDA7Ci0JcmV0dXJuIC1FUEVSTTsKLX0KLQotc3RhdGljIGludCBkdW1teV9zeXNjdGwgKGN0bF90YWJsZSAqIHRhYmxlLCBpbnQgb3ApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfcXVvdGFjdGwgKGludCBjbWRzLCBpbnQgdHlwZSwgaW50IGlkLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3F1b3RhX29uIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc3lzbG9nIChpbnQgdHlwZSkKLXsKLQlpZiAoKHR5cGUgIT0gMyAmJiB0eXBlICE9IDEwKSAmJiBjdXJyZW50LT5ldWlkKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NldHRpbWUoc3RydWN0IHRpbWVzcGVjICp0cywgc3RydWN0IHRpbWV6b25lICp0eikKLXsKLQlpZiAoIWNhcGFibGUoQ0FQX1NZU19USU1FKSkKLQkJcmV0dXJuIC1FUEVSTTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV92bV9lbm91Z2hfbWVtb3J5KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBsb25nIHBhZ2VzKQotewotCWludCBjYXBfc3lzX2FkbWluID0gMDsKLQotCWlmIChkdW1teV9jYXBhYmxlKGN1cnJlbnQsIENBUF9TWVNfQURNSU4pID09IDApCi0JCWNhcF9zeXNfYWRtaW4gPSAxOwotCXJldHVybiBfX3ZtX2Vub3VnaF9tZW1vcnkobW0sIHBhZ2VzLCBjYXBfc3lzX2FkbWluKTsKLX0KLQotc3RhdGljIGludCBkdW1teV9icHJtX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9icHJtX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9icHJtX2FwcGx5X2NyZWRzIChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtLCBpbnQgdW5zYWZlKQotewotCWlmIChicHJtLT5lX3VpZCAhPSBjdXJyZW50LT51aWQgfHwgYnBybS0+ZV9naWQgIT0gY3VycmVudC0+Z2lkKSB7Ci0JCXNldF9kdW1wYWJsZShjdXJyZW50LT5tbSwgc3VpZF9kdW1wYWJsZSk7Ci0KLQkJaWYgKCh1bnNhZmUgJiB+TFNNX1VOU0FGRV9QVFJBQ0VfQ0FQKSAmJiAhY2FwYWJsZShDQVBfU0VUVUlEKSkgewotCQkJYnBybS0+ZV91aWQgPSBjdXJyZW50LT51aWQ7Ci0JCQlicHJtLT5lX2dpZCA9IGN1cnJlbnQtPmdpZDsKLQkJfQotCX0KLQotCWN1cnJlbnQtPnN1aWQgPSBjdXJyZW50LT5ldWlkID0gY3VycmVudC0+ZnN1aWQgPSBicHJtLT5lX3VpZDsKLQljdXJyZW50LT5zZ2lkID0gY3VycmVudC0+ZWdpZCA9IGN1cnJlbnQtPmZzZ2lkID0gYnBybS0+ZV9naWQ7Ci0KLQlkdW1teV9jYXBnZXQoY3VycmVudCwgJmN1cnJlbnQtPmNhcF9lZmZlY3RpdmUsICZjdXJyZW50LT5jYXBfaW5oZXJpdGFibGUsICZjdXJyZW50LT5jYXBfcGVybWl0dGVkKTsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfYnBybV9wb3N0X2FwcGx5X2NyZWRzIChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9icHJtX3NldF9zZWN1cml0eSAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9icHJtX2NoZWNrX3NlY3VyaXR5IChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2Jwcm1fc2VjdXJlZXhlYyAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQkvKiBUaGUgbmV3IHVzZXJsYW5kIHdpbGwgc2ltcGx5IHVzZSB0aGUgdmFsdWUgcHJvdmlkZWQKLQkgICBpbiB0aGUgQVRfU0VDVVJFIGZpZWxkIHRvIGRlY2lkZSB3aGV0aGVyIHNlY3VyZSBtb2RlCi0JICAgaXMgcmVxdWlyZWQuICBIZW5jZSwgdGhpcyBsb2dpYyBpcyByZXF1aXJlZCB0byBwcmVzZXJ2ZQotCSAgIHRoZSBsZWdhY3kgZGVjaXNpb24gYWxnb3JpdGhtIHVzZWQgYnkgdGhlIG9sZCB1c2VybGFuZC4gKi8KLQlyZXR1cm4gKGN1cnJlbnQtPmV1aWQgIT0gY3VycmVudC0+dWlkIHx8Ci0JCWN1cnJlbnQtPmVnaWQgIT0gY3VycmVudC0+Z2lkKTsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9hbGxvY19zZWN1cml0eSAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfZnJlZV9zZWN1cml0eSAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfY29weV9kYXRhIChjaGFyICpvcmlnLCBjaGFyICpjb3B5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX2tlcm5fbW91bnQgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2Jfc3RhdGZzIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfbW91bnQgKGNoYXIgKmRldl9uYW1lLCBzdHJ1Y3QgcGF0aCAqcGF0aCwgY2hhciAqdHlwZSwKLQkJCSAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MsIHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfY2hlY2tfc2IgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqcGF0aCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl91bW91bnQgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Vtb3VudF9jbG9zZSAoc3RydWN0IHZmc21vdW50ICptbnQpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl91bW91bnRfYnVzeSAoc3RydWN0IHZmc21vdW50ICptbnQpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9wb3N0X3JlbW91bnQgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCB1bnNpZ25lZCBsb25nIGZsYWdzLAotCQkJCSAgIHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuOwotfQotCi0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Bvc3RfYWRkbW91bnQgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqcGF0aCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfcGl2b3Ryb290IChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfcG9zdF9waXZvdHJvb3QgKHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9nZXRfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQkgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQotewotCXNlY3VyaXR5X2luaXRfbW50X29wdHMob3B0cyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2Jfc2V0X21udF9vcHRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlpZiAodW5saWtlbHkob3B0cy0+bnVtX21udF9vcHRzKSkKLQkJcmV0dXJuIC1FT1BOT1RTVVBQOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9jbG9uZV9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm9sZHNiLAotCQkJCSAgICBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm5ld3NiKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9wYXJzZV9vcHRzX3N0cihjaGFyICpvcHRpb25zLCBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBpbm9kZSAqaW5vZGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2lub2RlX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBpbm9kZSAqaW5vZGUpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2luaXRfc2VjdXJpdHkgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBpbm9kZSAqZGlyLAotCQkJCSAgICAgIGNoYXIgKipuYW1lLCB2b2lkICoqdmFsdWUsIHNpemVfdCAqbGVuKQotewotCXJldHVybiAtRU9QTk9UU1VQUDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9jcmVhdGUgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCSAgICAgICBpbnQgbWFzaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9saW5rIChzdHJ1Y3QgZGVudHJ5ICpvbGRfZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJICAgICBzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3VubGluayAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3N5bWxpbmsgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCQljb25zdCBjaGFyICpuYW1lKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX21rZGlyIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCQkgICAgICBpbnQgbWFzaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9ybWRpciAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX21rbm9kIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCQkgICAgICBpbnQgbW9kZSwgZGV2X3QgZGV2KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3JlbmFtZSAoc3RydWN0IGlub2RlICpvbGRfaW5vZGUsCi0JCQkgICAgICAgc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwKLQkJCSAgICAgICBzdHJ1Y3QgaW5vZGUgKm5ld19pbm9kZSwKLQkJCSAgICAgICBzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3JlYWRsaW5rIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfZm9sbG93X2xpbmsgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCQkgICAgc3RydWN0IG5hbWVpZGF0YSAqbmFtZWlkYXRhKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3Blcm1pc3Npb24gKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrLCBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9zZXRhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAqaWF0dHIpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfZ2V0YXR0ciAoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaW5vZGVfZGVsZXRlIChzdHJ1Y3QgaW5vZGUgKmlubykKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfc2V0eGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCi17Ci0JaWYgKCFzdHJuY21wKG5hbWUsIFhBVFRSX1NFQ1VSSVRZX1BSRUZJWCwKLQkJICAgICBzaXplb2YoWEFUVFJfU0VDVVJJVFlfUFJFRklYKSAtIDEpICYmCi0JICAgICFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9pbm9kZV9wb3N0X3NldHhhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJICAgICAgIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwKLQkJCQkgICAgICAgaW50IGZsYWdzKQotewotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2dldHhhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbGlzdHhhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcmVtb3ZleGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLQlpZiAoIXN0cm5jbXAobmFtZSwgWEFUVFJfU0VDVVJJVFlfUFJFRklYLAotCQkgICAgIHNpemVvZihYQVRUUl9TRUNVUklUWV9QUkVGSVgpIC0gMSkgJiYKLQkgICAgIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbmVlZF9raWxscHJpdihzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfa2lsbHByaXYoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2dldHNlY3VyaXR5KGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKipidWZmZXIsIGJvb2wgYWxsb2MpCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3NldHNlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQotewotCXJldHVybiAtRU9QTk9UU1VQUDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9saXN0c2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgY2hhciAqYnVmZmVyLCBzaXplX3QgYnVmZmVyX3NpemUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2lub2RlX2dldHNlY2lkKGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUsIHUzMiAqc2VjaWQpCi17Ci0JKnNlY2lkID0gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX3Blcm1pc3Npb24gKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgbWFzaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfZmlsZV9mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9pb2N0bCAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjb21tYW5kLAotCQkJICAgICB1bnNpZ25lZCBsb25nIGFyZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX21tYXAgKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBsb25nIHJlcXByb3QsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBwcm90LAotCQkJICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBhZGRyLAotCQkJICAgIHVuc2lnbmVkIGxvbmcgYWRkcl9vbmx5KQotewotCWlmICgoYWRkciA8IG1tYXBfbWluX2FkZHIpICYmICFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQotCQlyZXR1cm4gLUVBQ0NFUzsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX21wcm90ZWN0IChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKLQkJCQl1bnNpZ25lZCBsb25nIHJlcXByb3QsCi0JCQkJdW5zaWduZWQgbG9uZyBwcm90KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfbG9jayAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9mY250bCAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfc2V0X2Zvd25lciAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9zZW5kX3NpZ2lvdGFzayAoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssCi0JCQkJICAgICAgc3RydWN0IGZvd25fc3RydWN0ICpmb3duLCBpbnQgc2lnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfcmVjZWl2ZSAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZGVudHJ5X29wZW4gKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfY3JlYXRlICh1bnNpZ25lZCBsb25nIGNsb25lX2ZsYWdzKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfdGFza19mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0dWlkICh1aWRfdCBpZDAsIHVpZF90IGlkMSwgdWlkX3QgaWQyLCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19wb3N0X3NldHVpZCAodWlkX3QgaWQwLCB1aWRfdCBpZDEsIHVpZF90IGlkMiwgaW50IGZsYWdzKQotewotCWR1bW15X2NhcGdldChjdXJyZW50LCAmY3VycmVudC0+Y2FwX2VmZmVjdGl2ZSwgJmN1cnJlbnQtPmNhcF9pbmhlcml0YWJsZSwgJmN1cnJlbnQtPmNhcF9wZXJtaXR0ZWQpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0Z2lkIChnaWRfdCBpZDAsIGdpZF90IGlkMSwgZ2lkX3QgaWQyLCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRwZ2lkIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHBpZF90IHBnaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19nZXRwZ2lkIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19nZXRzaWQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfdGFza19nZXRzZWNpZCAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCB1MzIgKnNlY2lkKQotewotCSpzZWNpZCA9IDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRncm91cHMgKHN0cnVjdCBncm91cF9pbmZvICpncm91cF9pbmZvKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0bmljZSAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgbmljZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldGlvcHJpbyAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgaW9wcmlvKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfZ2V0aW9wcmlvIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRybGltaXQgKHVuc2lnbmVkIGludCByZXNvdXJjZSwgc3RydWN0IHJsaW1pdCAqbmV3X3JsaW0pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRzY2hlZHVsZXIgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKLQkJCQkgICAgc3RydWN0IHNjaGVkX3BhcmFtICpscCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2dldHNjaGVkdWxlciAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfbW92ZW1lbW9yeSAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfd2FpdCAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfa2lsbCAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3Qgc2lnaW5mbyAqaW5mbywKLQkJCSAgICBpbnQgc2lnLCB1MzIgc2VjaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19wcmN0bCAoaW50IG9wdGlvbiwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnNCwgdW5zaWduZWQgbG9uZyBhcmc1LCBsb25nICpyY19wKQotewotCXN3aXRjaCAob3B0aW9uKSB7Ci0JY2FzZSBQUl9DQVBCU0VUX1JFQUQ6Ci0JCSpyY19wID0gKGNhcF92YWxpZChhcmcyKSA/IDEgOiAtRUlOVkFMKTsKLQkJYnJlYWs7Ci0JY2FzZSBQUl9HRVRfS0VFUENBUFM6Ci0JCSpyY19wID0gaXNzZWN1cmUoU0VDVVJFX0tFRVBfQ0FQUyk7Ci0JCWJyZWFrOwotCWNhc2UgUFJfU0VUX0tFRVBDQVBTOgotCQlpZiAoYXJnMiA+IDEpCi0JCQkqcmNfcCA9IC1FSU5WQUw7Ci0JCWVsc2UgaWYgKGFyZzIpCi0JCQljdXJyZW50LT5zZWN1cmViaXRzIHw9IGlzc2VjdXJlX21hc2soU0VDVVJFX0tFRVBfQ0FQUyk7Ci0JCWVsc2UKLQkJCWN1cnJlbnQtPnNlY3VyZWJpdHMgJj0KLQkJCQl+aXNzZWN1cmVfbWFzayhTRUNVUkVfS0VFUF9DQVBTKTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3Rhc2tfcmVwYXJlbnRfdG9faW5pdCAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXAtPmV1aWQgPSBwLT5mc3VpZCA9IDA7Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV90YXNrX3RvX2lub2RlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IGlub2RlICppbm9kZSkKLXsgfQotCi1zdGF0aWMgaW50IGR1bW15X2lwY19wZXJtaXNzaW9uIChzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcCwgc2hvcnQgZmxhZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaXBjX2dldHNlY2lkKHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNwLCB1MzIgKnNlY2lkKQotewotCSpzZWNpZCA9IDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX21zZ19hbGxvY19zZWN1cml0eSAoc3RydWN0IG1zZ19tc2cgKm1zZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfbXNnX21zZ19mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgbXNnX21zZyAqbXNnKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfbXNnX3F1ZXVlX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX3F1ZXVlX2Fzc29jaWF0ZSAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCAKLQkJCQkgICAgICBpbnQgbXNxZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9tc2djdGwgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgaW50IGNtZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfbXNnc25kIChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIHN0cnVjdCBtc2dfbXNnICptc2csCi0JCQkJICAgaW50IG1zZ2ZsZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfbXNncmN2IChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIHN0cnVjdCBtc2dfbXNnICptc2csCi0JCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsIGxvbmcgdHlwZSwKLQkJCQkgICBpbnQgbW9kZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zaG1fYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2htX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2htX2Fzc29jaWF0ZSAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBpbnQgc2htZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NobV9zaG1jdGwgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgaW50IGNtZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zaG1fc2htYXQgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgY2hhciBfX3VzZXIgKnNobWFkZHIsCi0JCQkgICAgaW50IHNobWZsZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZW1fYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2VtX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VtX2Fzc29jaWF0ZSAoc3RydWN0IHNlbV9hcnJheSAqc21hLCBpbnQgc2VtZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlbV9zZW1jdGwgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgaW50IGNtZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZW1fc2Vtb3AgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgCi0JCQkgICAgc3RydWN0IHNlbWJ1ZiAqc29wcywgdW5zaWduZWQgbnNvcHMsIGludCBhbHRlcikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9uZXRsaW5rX3NlbmQgKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKLXsKLQlORVRMSU5LX0NCKHNrYikuZWZmX2NhcCA9IGN1cnJlbnQtPmNhcF9lZmZlY3RpdmU7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbmV0bGlua19yZWN2IChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgY2FwKQotewotCWlmICghY2FwX3JhaXNlZCAoTkVUTElOS19DQiAoc2tiKS5lZmZfY2FwLCBjYXApKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi0jaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksKLXN0YXRpYyBpbnQgZHVtbXlfdW5peF9zdHJlYW1fY29ubmVjdCAoc3RydWN0IHNvY2tldCAqc29jaywKLQkJCQkgICAgICBzdHJ1Y3Qgc29ja2V0ICpvdGhlciwKLQkJCQkgICAgICBzdHJ1Y3Qgc29jayAqbmV3c2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdW5peF9tYXlfc2VuZCAoc3RydWN0IHNvY2tldCAqc29jaywKLQkJCQlzdHJ1Y3Qgc29ja2V0ICpvdGhlcikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfY3JlYXRlIChpbnQgZmFtaWx5LCBpbnQgdHlwZSwKLQkJCQlpbnQgcHJvdG9jb2wsIGludCBrZXJuKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9wb3N0X2NyZWF0ZSAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGZhbWlseSwgaW50IHR5cGUsCi0JCQkJICAgICBpbnQgcHJvdG9jb2wsIGludCBrZXJuKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9iaW5kIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJlc3MsCi0JCQkgICAgICBpbnQgYWRkcmxlbikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfY29ubmVjdCAoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyZXNzLAotCQkJCSBpbnQgYWRkcmxlbikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfbGlzdGVuIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgYmFja2xvZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfYWNjZXB0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpuZXdzb2NrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zb2NrZXRfcG9zdF9hY2NlcHQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIAotCQkJCSAgICAgIHN0cnVjdCBzb2NrZXQgKm5ld3NvY2spCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9zZW5kbXNnIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csCi0JCQkJIGludCBzaXplKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9yZWN2bXNnIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csCi0JCQkJIGludCBzaXplLCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHNvY2tuYW1lIChzdHJ1Y3Qgc29ja2V0ICpzb2NrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9nZXRwZWVybmFtZSAoc3RydWN0IHNvY2tldCAqc29jaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfc2V0c29ja29wdCAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGxldmVsLCBpbnQgb3B0bmFtZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfZ2V0c29ja29wdCAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGxldmVsLCBpbnQgb3B0bmFtZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfc2h1dGRvd24gKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBob3cpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3NvY2tfcmN2X3NrYiAoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9nZXRwZWVyc2VjX3N0cmVhbShzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBjaGFyIF9fdXNlciAqb3B0dmFsLAotCQkJCQkgIGludCBfX3VzZXIgKm9wdGxlbiwgdW5zaWduZWQgbGVuKQotewotCXJldHVybiAtRU5PUFJPVE9PUFQ7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHBlZXJzZWNfZGdyYW0oc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTMyICpzZWNpZCkKLXsKLQlyZXR1cm4gLUVOT1BST1RPT1BUOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9za19hbGxvY19zZWN1cml0eSAoc3RydWN0IHNvY2sgKnNrLCBpbnQgZmFtaWx5LCBnZnBfdCBwcmlvcml0eSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3NrX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBzb2NrICpzaykKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3NrX2Nsb25lX3NlY3VyaXR5IChjb25zdCBzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrICpuZXdzaykKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3NrX2dldHNlY2lkKHN0cnVjdCBzb2NrICpzaywgdTMyICpzZWNpZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3NvY2tfZ3JhZnQoc3RydWN0IHNvY2sqIHNrLCBzdHJ1Y3Qgc29ja2V0ICpwYXJlbnQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2luZXRfY29ubl9yZXF1ZXN0KHN0cnVjdCBzb2NrICpzaywKLQkJCXN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X2luZXRfY3NrX2Nsb25lKHN0cnVjdCBzb2NrICpuZXdzaywKLQkJCWNvbnN0IHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X2luZXRfY29ubl9lc3RhYmxpc2hlZChzdHJ1Y3Qgc29jayAqc2ssCi0JCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfcmVxX2NsYXNzaWZ5X2Zsb3coY29uc3Qgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxLAotCQkJc3RydWN0IGZsb3dpICpmbCkKLXsKLX0KLSNlbmRpZgkvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSyAqLwotCi0jaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTQotc3RhdGljIGludCBkdW1teV94ZnJtX3BvbGljeV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICoqY3R4cCwKLQkJCQkJICAgIHN0cnVjdCB4ZnJtX3VzZXJfc2VjX2N0eCAqc2VjX2N0eCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfeGZybV9wb2xpY3lfY2xvbmVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqb2xkX2N0eCwKLQkJCQkJICAgc3RydWN0IHhmcm1fc2VjX2N0eCAqKm5ld19jdHhwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV94ZnJtX3BvbGljeV9mcmVlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCkKLXsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3BvbGljeV9kZWxldGVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fc3RhdGVfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHhmcm1fc3RhdGUgKngsCi0Jc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4ICpzZWNfY3R4LCB1MzIgc2VjaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3hmcm1fc3RhdGVfZnJlZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCkKLXsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3N0YXRlX2RlbGV0ZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3BvbGljeV9sb29rdXAoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4LAotCQkJCSAgICB1MzIgc2tfc2lkLCB1OCBkaXIpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9zdGF0ZV9wb2xfZmxvd19tYXRjaChzdHJ1Y3QgeGZybV9zdGF0ZSAqeCwKLQkJCQlzdHJ1Y3QgeGZybV9wb2xpY3kgKnhwLCBzdHJ1Y3QgZmxvd2kgKmZsKQotewotCXJldHVybiAxOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fZGVjb2RlX3Nlc3Npb24oc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTMyICpmbCwgaW50IGNrYWxsKQotewotCXJldHVybiAwOwotfQotCi0jZW5kaWYgLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSAqLwotc3RhdGljIGludCBkdW1teV9yZWdpc3Rlcl9zZWN1cml0eSAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlyZXR1cm4gLUVJTlZBTDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfZF9pbnN0YW50aWF0ZSAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9nZXRwcm9jYXR0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIGNoYXIgKip2YWx1ZSkKLXsKLQlyZXR1cm4gLUVJTlZBTDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZXRwcm9jYXR0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKLXsKLQlyZXR1cm4gLUVJTlZBTDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZWNpZF90b19zZWNjdHgodTMyIHNlY2lkLCBjaGFyICoqc2VjZGF0YSwgdTMyICpzZWNsZW4pCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlY2N0eF90b19zZWNpZChjb25zdCBjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuLCB1MzIgKnNlY2lkKQotewotCXJldHVybiAtRU9QTk9UU1VQUDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfcmVsZWFzZV9zZWNjdHgoY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbikKLXsKLX0KLQotI2lmZGVmIENPTkZJR19LRVlTCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9rZXlfYWxsb2Moc3RydWN0IGtleSAqa2V5LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN0eCwKLQkJCQkgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9rZXlfZnJlZShzdHJ1Y3Qga2V5ICprZXkpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2tleV9wZXJtaXNzaW9uKGtleV9yZWZfdCBrZXlfcmVmLAotCQkJCSAgICAgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNvbnRleHQsCi0JCQkJICAgICAgIGtleV9wZXJtX3QgcGVybSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9rZXlfZ2V0c2VjdXJpdHkoc3RydWN0IGtleSAqa2V5LCBjaGFyICoqX2J1ZmZlcikKLXsKLQkqX2J1ZmZlciA9IE5VTEw7Ci0JcmV0dXJuIDA7Ci19Ci0KLSNlbmRpZiAvKiBDT05GSUdfS0VZUyAqLwotCi0jaWZkZWYgQ09ORklHX0FVRElUCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9hdWRpdF9ydWxlX2luaXQodTMyIGZpZWxkLCB1MzIgb3AsIGNoYXIgKnJ1bGVzdHIsCi0JCQkJCXZvaWQgKipsc21ydWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9hdWRpdF9ydWxlX2tub3duKHN0cnVjdCBhdWRpdF9rcnVsZSAqa3J1bGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNlY2lkLCB1MzIgZmllbGQsIHUzMiBvcCwKLQkJCQkJIHZvaWQgKmxzbXJ1bGUsCi0JCQkJCSBzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X2F1ZGl0X3J1bGVfZnJlZSh2b2lkICpsc21ydWxlKQoteyB9Ci0KLSNlbmRpZiAvKiBDT05GSUdfQVVESVQgKi8KLQotc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgZHVtbXlfc2VjdXJpdHlfb3BzID0gewotCS5uYW1lID0gImR1bW15IiwKLX07Ci0KLSNkZWZpbmUgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmdW5jdGlvbikJCQkJXAotCWRvIHsJCQkJCQkJCVwKLQkJaWYgKCFvcHMtPmZ1bmN0aW9uKSB7CQkJCQlcCi0JCQlvcHMtPmZ1bmN0aW9uID0gZHVtbXlfIyNmdW5jdGlvbjsJCVwKLQkJCXByX2RlYnVnKCJIYWQgdG8gb3ZlcnJpZGUgdGhlICIgI2Z1bmN0aW9uCVwKLQkJCQkgIiBzZWN1cml0eSBvcGVyYXRpb24gd2l0aCB0aGUgZHVtbXkgb25lLlxuIik7XAotCQkJfQkJCQkJCVwKLQl9IHdoaWxlICgwKQotCi12b2lkIHNlY3VyaXR5X2ZpeHVwX29wcyAoc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHB0cmFjZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBjYXBnZXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgY2Fwc2V0X2NoZWNrKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGNhcHNldF9zZXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYWNjdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBjYXBhYmxlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHF1b3RhY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHF1b3RhX29uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHN5c2N0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzeXNsb2cpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2V0dGltZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB2bV9lbm91Z2hfbWVtb3J5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fYXBwbHlfY3JlZHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9wb3N0X2FwcGx5X2NyZWRzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fc2V0X3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fY2hlY2tfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9zZWN1cmVleGVjKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfY29weV9kYXRhKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2tlcm5fbW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2Jfc3RhdGZzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX21vdW50KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2NoZWNrX3NiKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Vtb3VudCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl91bW91bnRfY2xvc2UpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfdW1vdW50X2J1c3kpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcG9zdF9yZW1vdW50KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Bvc3RfYWRkbW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcGl2b3Ryb290KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Bvc3RfcGl2b3Ryb290KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2dldF9tbnRfb3B0cyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9zZXRfbW50X29wdHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfY2xvbmVfbW50X29wdHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcGFyc2Vfb3B0c19zdHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9pbml0X3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2NyZWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9saW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3VubGluayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9zeW1saW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX21rZGlyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3JtZGlyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX21rbm9kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3JlbmFtZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9yZWFkbGluayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9mb2xsb3dfbGluayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9wZXJtaXNzaW9uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3NldGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZ2V0YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9kZWxldGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfc2V0eGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcG9zdF9zZXR4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9nZXR4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9saXN0eGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcmVtb3ZleGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbmVlZF9raWxscHJpdik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9raWxscHJpdik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9nZXRzZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9zZXRzZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9saXN0c2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZ2V0c2VjaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9wZXJtaXNzaW9uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfaW9jdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9tbWFwKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfbXByb3RlY3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9sb2NrKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfZmNudGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9zZXRfZm93bmVyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfc2VuZF9zaWdpb3Rhc2spOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9yZWNlaXZlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGRlbnRyeV9vcGVuKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfY3JlYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0dWlkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfcG9zdF9zZXR1aWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRnaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRwZ2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0cGdpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldHNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldHNlY2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0Z3JvdXBzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0bmljZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldGlvcHJpbyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldGlvcHJpbyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldHJsaW1pdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldHNjaGVkdWxlcik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldHNjaGVkdWxlcik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX21vdmVtZW1vcnkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza193YWl0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfa2lsbCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3ByY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfcmVwYXJlbnRfdG9faW5pdCk7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza190b19pbm9kZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpcGNfcGVybWlzc2lvbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpcGNfZ2V0c2VjaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX21zZ19hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfbXNnX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9hc3NvY2lhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX21zZ2N0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNnc25kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2dyY3YpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNobV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNobV9hc3NvY2lhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX3NobWN0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzaG1fc2htYXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlbV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlbV9hc3NvY2lhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX3NlbWN0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZW1fc2Vtb3ApOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbmV0bGlua19zZW5kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG5ldGxpbmtfcmVjdik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCByZWdpc3Rlcl9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBkX2luc3RhbnRpYXRlKTsKLSAJc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBnZXRwcm9jYXR0cik7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2V0cHJvY2F0dHIpOwotIAlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlY2lkX3RvX3NlY2N0eCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZWNjdHhfdG9fc2VjaWQpOwotIAlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHJlbGVhc2Vfc2VjY3R4KTsKLSNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdW5peF9zdHJlYW1fY29ubmVjdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB1bml4X21heV9zZW5kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9jcmVhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3Bvc3RfY3JlYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9iaW5kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9jb25uZWN0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9saXN0ZW4pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2FjY2VwdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfcG9zdF9hY2NlcHQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3NlbmRtc2cpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3JlY3Ztc2cpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2dldHNvY2tuYW1lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVybmFtZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfc2V0c29ja29wdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0c29ja29wdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfc2h1dGRvd24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3NvY2tfcmN2X3NrYik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcnNlY19zdHJlYW0pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJzZWNfZGdyYW0pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2tfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2tfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBza19jbG9uZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBza19nZXRzZWNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrX2dyYWZ0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGluZXRfY29ubl9yZXF1ZXN0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGluZXRfY3NrX2Nsb25lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGluZXRfY29ubl9lc3RhYmxpc2hlZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCByZXFfY2xhc3NpZnlfZmxvdyk7Ci0gI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLICovCi0jaWZkZWYgIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0KLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2Nsb25lX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfZGVsZXRlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfZGVsZXRlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2xvb2t1cCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX3BvbF9mbG93X21hdGNoKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fZGVjb2RlX3Nlc3Npb24pOwotI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gKi8KLSNpZmRlZiBDT05GSUdfS0VZUwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywga2V5X2FsbG9jKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGtleV9mcmVlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGtleV9wZXJtaXNzaW9uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGtleV9nZXRzZWN1cml0eSk7Ci0jZW5kaWYJLyogQ09ORklHX0tFWVMgKi8KLSNpZmRlZiBDT05GSUdfQVVESVQKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfaW5pdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2tub3duKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfbWF0Y2gpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9mcmVlKTsKLSNlbmRpZgotfQotCmRpZmYgLS1naXQgYS9zZWN1cml0eS9yb290X3BsdWcuYyBiL3NlY3VyaXR5L3Jvb3RfcGx1Zy5jCmluZGV4IGE0MWNmNDIuLmJlMGViZWMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3Jvb3RfcGx1Zy5jCisrKyBiL3NlY3VyaXR5L3Jvb3RfcGx1Zy5jCkBAIC0yOCw5ICsyOCw2IEBACiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KIAotLyogZmxhZyB0byBrZWVwIHRyYWNrIG9mIGhvdyB3ZSB3ZXJlIHJlZ2lzdGVyZWQgKi8KLXN0YXRpYyBpbnQgc2Vjb25kYXJ5OwotCiAvKiBkZWZhdWx0IGlzIGEgZ2VuZXJpYyB0eXBlIG9mIHVzYiB0byBzZXJpYWwgY29udmVydGVyICovCiBzdGF0aWMgaW50IHZlbmRvcl9pZCA9IDB4MDU1NzsKIHN0YXRpYyBpbnQgcHJvZHVjdF9pZCA9IDB4MjAwODsKQEAgLTk3LDEzICs5NCw3IEBACiAJaWYgKHJlZ2lzdGVyX3NlY3VyaXR5ICgmcm9vdHBsdWdfc2VjdXJpdHlfb3BzKSkgewogCQlwcmludGsgKEtFUk5fSU5GTyAKIAkJCSJGYWlsdXJlIHJlZ2lzdGVyaW5nIFJvb3QgUGx1ZyBtb2R1bGUgd2l0aCB0aGUga2VybmVsXG4iKTsKLQkJLyogdHJ5IHJlZ2lzdGVyaW5nIHdpdGggcHJpbWFyeSBtb2R1bGUgKi8KLQkJaWYgKG1vZF9yZWdfc2VjdXJpdHkgKE1ZX05BTUUsICZyb290cGx1Z19zZWN1cml0eV9vcHMpKSB7Ci0JCQlwcmludGsgKEtFUk5fSU5GTyAiRmFpbHVyZSByZWdpc3RlcmluZyBSb290IFBsdWcgIgotCQkJCSIgbW9kdWxlIHdpdGggcHJpbWFyeSBzZWN1cml0eSBtb2R1bGUuXG4iKTsKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCXNlY29uZGFyeSA9IDE7CiAJfQogCXByaW50ayAoS0VSTl9JTkZPICJSb290IFBsdWcgbW9kdWxlIGluaXRpYWxpemVkLCAiCiAJCSJ2ZW5kb3JfaWQgPSAlNC40eCwgcHJvZHVjdCBpZCA9ICU0LjR4XG4iLCB2ZW5kb3JfaWQsIHByb2R1Y3RfaWQpOwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VjdXJpdHkuYyBiL3NlY3VyaXR5L3NlY3VyaXR5LmMKaW5kZXggNTk4MzhhOS4uNTlmMjNiNSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VjdXJpdHkuYworKysgYi9zZWN1cml0eS9zZWN1cml0eS5jCkBAIC0yMCw4ICsyMCw4IEBACiAvKiBCb290LXRpbWUgTFNNIHVzZXIgY2hvaWNlICovCiBzdGF0aWMgX19pbml0ZGF0YSBjaGFyIGNob3Nlbl9sc21bU0VDVVJJVFlfTkFNRV9NQVggKyAxXTsKIAotLyogdGhpbmdzIHRoYXQgbGl2ZSBpbiBkdW1teS5jICovCi1leHRlcm4gc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgZHVtbXlfc2VjdXJpdHlfb3BzOworLyogdGhpbmdzIHRoYXQgbGl2ZSBpbiBjYXBhYmlsaXR5LmMgKi8KK2V4dGVybiBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBkZWZhdWx0X3NlY3VyaXR5X29wczsKIGV4dGVybiB2b2lkIHNlY3VyaXR5X2ZpeHVwX29wcyhzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKTsKIAogc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKnNlY3VyaXR5X29wczsJLyogSW5pdGlhbGl6ZWQgdG8gTlVMTCAqLwpAQCAtNTcsMTMgKzU3LDggQEAKIHsKIAlwcmludGsoS0VSTl9JTkZPICJTZWN1cml0eSBGcmFtZXdvcmsgaW5pdGlhbGl6ZWRcbiIpOwogCi0JaWYgKHZlcmlmeSgmZHVtbXlfc2VjdXJpdHlfb3BzKSkgewotCQlwcmludGsoS0VSTl9FUlIgIiVzIGNvdWxkIG5vdCB2ZXJpZnkgIgotCQkgICAgICAgImR1bW15X3NlY3VyaXR5X29wcyBzdHJ1Y3R1cmUuXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRUlPOwotCX0KLQotCXNlY3VyaXR5X29wcyA9ICZkdW1teV9zZWN1cml0eV9vcHM7CisJc2VjdXJpdHlfZml4dXBfb3BzKCZkZWZhdWx0X3NlY3VyaXR5X29wcyk7CisJc2VjdXJpdHlfb3BzID0gJmRlZmF1bHRfc2VjdXJpdHlfb3BzOwogCWRvX3NlY3VyaXR5X2luaXRjYWxscygpOwogCiAJcmV0dXJuIDA7CkBAIC0xMjIsNyArMTE3LDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JaWYgKHNlY3VyaXR5X29wcyAhPSAmZHVtbXlfc2VjdXJpdHlfb3BzKQorCWlmIChzZWN1cml0eV9vcHMgIT0gJmRlZmF1bHRfc2VjdXJpdHlfb3BzKQogCQlyZXR1cm4gLUVBR0FJTjsKIAogCXNlY3VyaXR5X29wcyA9IG9wczsKQEAgLTEzMCw0MCArMTI1LDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qKgotICogbW9kX3JlZ19zZWN1cml0eSAtIGFsbG93cyBzZWN1cml0eSBtb2R1bGVzIHRvIGJlICJzdGFja2VkIgotICogQG5hbWU6IGEgcG9pbnRlciB0byBhIHN0cmluZyB3aXRoIHRoZSBuYW1lIG9mIHRoZSBzZWN1cml0eV9vcHRpb25zIHRvIGJlIHJlZ2lzdGVyZWQKLSAqIEBvcHM6IGEgcG9pbnRlciB0byB0aGUgc3RydWN0IHNlY3VyaXR5X29wdGlvbnMgdGhhdCBpcyB0byBiZSByZWdpc3RlcmVkCi0gKgotICogVGhpcyBmdW5jdGlvbiBhbGxvd3Mgc2VjdXJpdHkgbW9kdWxlcyB0byBiZSBzdGFja2VkIGlmIHRoZSBjdXJyZW50bHkgbG9hZGVkCi0gKiBzZWN1cml0eSBtb2R1bGUgYWxsb3dzIHRoaXMgdG8gaGFwcGVuLiAgSXQgcGFzc2VzIHRoZSBAbmFtZSBhbmQgQG9wcyB0byB0aGUKLSAqIHJlZ2lzdGVyX3NlY3VyaXR5IGZ1bmN0aW9uIG9mIHRoZSBjdXJyZW50bHkgbG9hZGVkIHNlY3VyaXR5IG1vZHVsZS4KLSAqCi0gKiBUaGUgcmV0dXJuIHZhbHVlIGRlcGVuZHMgb24gdGhlIGN1cnJlbnRseSBsb2FkZWQgc2VjdXJpdHkgbW9kdWxlLCB3aXRoIDAgYXMKLSAqIHN1Y2Nlc3MuCi0gKi8KLWludCBtb2RfcmVnX3NlY3VyaXR5KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCi17Ci0JaWYgKHZlcmlmeShvcHMpKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIiVzIGNvdWxkIG5vdCB2ZXJpZnkgIgotCQkgICAgICAgInNlY3VyaXR5IG9wZXJhdGlvbnMuXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWlmIChvcHMgPT0gc2VjdXJpdHlfb3BzKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIiVzIHNlY3VyaXR5IG9wZXJhdGlvbnMgIgotCQkgICAgICAgImFscmVhZHkgcmVnaXN0ZXJlZC5cbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JcmV0dXJuIHNlY3VyaXR5X29wcy0+cmVnaXN0ZXJfc2VjdXJpdHkobmFtZSwgb3BzKTsKLX0KLQogLyogU2VjdXJpdHkgb3BlcmF0aW9ucyAqLwogCi1pbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQoraW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJICAgIHVuc2lnbmVkIGludCBtb2RlKQogewotCXJldHVybiBzZWN1cml0eV9vcHMtPnB0cmFjZShwYXJlbnQsIGNoaWxkKTsKKwlyZXR1cm4gc2VjdXJpdHlfb3BzLT5wdHJhY2UocGFyZW50LCBjaGlsZCwgbW9kZSk7CiB9CiAKIGludCBzZWN1cml0eV9jYXBnZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCkBAIC0yOTEsNiArMjU4LDExIEBACiAJcmV0dXJuIHNlY3VyaXR5X29wcy0+c2Jfa2Vybl9tb3VudChzYiwgZGF0YSk7CiB9CiAKK2ludCBzZWN1cml0eV9zYl9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXJldHVybiBzZWN1cml0eV9vcHMtPnNiX3Nob3dfb3B0aW9ucyhtLCBzYik7Cit9CisKIGludCBzZWN1cml0eV9zYl9zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXJldHVybiBzZWN1cml0eV9vcHMtPnNiX3N0YXRmcyhkZW50cnkpOwpAQCAtMzQyLDEyICszMTQsNiBAQAogCXNlY3VyaXR5X29wcy0+c2JfcG9zdF9waXZvdHJvb3Qob2xkX3BhdGgsIG5ld19wYXRoKTsKIH0KIAotaW50IHNlY3VyaXR5X3NiX2dldF9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAotCQkJCXN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5zYl9nZXRfbW50X29wdHMoc2IsIG9wdHMpOwotfQotCiBpbnQgc2VjdXJpdHlfc2Jfc2V0X21udF9vcHRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQogewpAQCAtODk0LDcgKzg2MCw3IEBACiAKIHZvaWQgc2VjdXJpdHlfcmVsZWFzZV9zZWNjdHgoY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbikKIHsKLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5yZWxlYXNlX3NlY2N0eChzZWNkYXRhLCBzZWNsZW4pOworCXNlY3VyaXR5X29wcy0+cmVsZWFzZV9zZWNjdHgoc2VjZGF0YSwgc2VjbGVuKTsKIH0KIEVYUE9SVF9TWU1CT0woc2VjdXJpdHlfcmVsZWFzZV9zZWNjdHgpOwogCkBAIC0xMDExLDEyICs5NzcsMTIgQEAKIAogdm9pZCBzZWN1cml0eV9za19mcmVlKHN0cnVjdCBzb2NrICpzaykKIHsKLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5za19mcmVlX3NlY3VyaXR5KHNrKTsKKwlzZWN1cml0eV9vcHMtPnNrX2ZyZWVfc2VjdXJpdHkoc2spOwogfQogCiB2b2lkIHNlY3VyaXR5X3NrX2Nsb25lKGNvbnN0IHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2sgKm5ld3NrKQogewotCXJldHVybiBzZWN1cml0eV9vcHMtPnNrX2Nsb25lX3NlY3VyaXR5KHNrLCBuZXdzayk7CisJc2VjdXJpdHlfb3BzLT5za19jbG9uZV9zZWN1cml0eShzaywgbmV3c2spOwogfQogCiB2b2lkIHNlY3VyaXR5X3NrX2NsYXNzaWZ5X2Zsb3coc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgZmxvd2kgKmZsKQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jIGIvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jCmluZGV4IDFjODY0YzAuLjYzZjEzMWYgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKQEAgLTksNyArOSw4IEBACiAgKgkgICAgICBKYW1lcyBNb3JyaXMgPGptb3JyaXNAcmVkaGF0LmNvbT4KICAqCiAgKiAgQ29weXJpZ2h0IChDKSAyMDAxLDIwMDIgTmV0d29ya3MgQXNzb2NpYXRlcyBUZWNobm9sb2d5LCBJbmMuCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzIFJlZCBIYXQsIEluYy4sIEphbWVzIE1vcnJpcyA8am1vcnJpc0ByZWRoYXQuY29tPgorICogIENvcHlyaWdodCAoQykgMjAwMy0yMDA4IFJlZCBIYXQsIEluYy4sIEphbWVzIE1vcnJpcyA8am1vcnJpc0ByZWRoYXQuY29tPgorICoJCQkJCSAgIEVyaWMgUGFyaXMgPGVwYXJpc0ByZWRoYXQuY29tPgogICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA1IFRydXN0ZWQgQ29tcHV0ZXIgU29sdXRpb25zLCBJbmMuCiAgKgkJCSAgICA8ZGdvZWRkZWxAdHJ1c3RlZGNzLmNvbT4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgSGV3bGV0dC1QYWNrYXJkIERldmVsb3BtZW50IENvbXBhbnksIEwuUC4KQEAgLTQyLDkgKzQzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9mZHRhYmxlLmg+CiAjaW5jbHVkZSA8bGludXgvbmFtZWkuaD4KICNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgotI2luY2x1ZGUgPGxpbnV4L2V4dDJfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgva2QuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXJfaXB2NC5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGZpbHRlcl9pcHY2Lmg+CiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CkBAIC01Myw3ICs1Miw3IEBACiAjaW5jbHVkZSA8bmV0L3RjcC5oPgkJLyogc3RydWN0IG9yX2NhbGxhYmxlIHVzZWQgaW4gc29ja19yY3Zfc2tiICovCiAjaW5jbHVkZSA8bmV0L25ldF9uYW1lc3BhY2UuaD4KICNpbmNsdWRlIDxuZXQvbmV0bGFiZWwuaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW9jdGxzLmg+CiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgpAQCAtMTA0LDcgKzEwMyw5IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGVuZm9yY2luZ19zZXR1cChjaGFyICpzdHIpCiB7Ci0Jc2VsaW51eF9lbmZvcmNpbmcgPSBzaW1wbGVfc3RydG9sKHN0ciwgTlVMTCwgMCk7CisJdW5zaWduZWQgbG9uZyBlbmZvcmNpbmc7CisJaWYgKCFzdHJpY3Rfc3RydG91bChzdHIsIDAsICZlbmZvcmNpbmcpKQorCQlzZWxpbnV4X2VuZm9yY2luZyA9IGVuZm9yY2luZyA/IDEgOiAwOwogCXJldHVybiAxOwogfQogX19zZXR1cCgiZW5mb3JjaW5nPSIsIGVuZm9yY2luZ19zZXR1cCk7CkBAIC0xMTUsNyArMTE2LDkgQEAKIAogc3RhdGljIGludCBfX2luaXQgc2VsaW51eF9lbmFibGVkX3NldHVwKGNoYXIgKnN0cikKIHsKLQlzZWxpbnV4X2VuYWJsZWQgPSBzaW1wbGVfc3RydG9sKHN0ciwgTlVMTCwgMCk7CisJdW5zaWduZWQgbG9uZyBlbmFibGVkOworCWlmICghc3RyaWN0X3N0cnRvdWwoc3RyLCAwLCAmZW5hYmxlZCkpCisJCXNlbGludXhfZW5hYmxlZCA9IGVuYWJsZWQgPyAxIDogMDsKIAlyZXR1cm4gMTsKIH0KIF9fc2V0dXAoInNlbGludXg9Iiwgc2VsaW51eF9lbmFibGVkX3NldHVwKTsKQEAgLTEyMywxMyArMTI2LDExIEBACiBpbnQgc2VsaW51eF9lbmFibGVkID0gMTsKICNlbmRpZgogCi0vKiBPcmlnaW5hbCAoZHVtbXkpIHNlY3VyaXR5IG1vZHVsZS4gKi8KLXN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3JpZ2luYWxfb3BzOwogCi0vKiBNaW5pbWFsIHN1cHBvcnQgZm9yIGEgc2Vjb25kYXJ5IHNlY3VyaXR5IG1vZHVsZSwKLSAgIGp1c3QgdG8gYWxsb3cgdGhlIHVzZSBvZiB0aGUgZHVtbXkgb3IgY2FwYWJpbGl0eSBtb2R1bGVzLgotICAgVGhlIG93bHNtIG1vZHVsZSBjYW4gYWx0ZXJuYXRpdmVseSBiZSB1c2VkIGFzIGEgc2Vjb25kYXJ5Ci0gICBtb2R1bGUgYXMgbG9uZyBhcyBDT05GSUdfT1dMU01fRkQgaXMgbm90IGVuYWJsZWQuICovCisvKgorICogTWluaW1hbCBzdXBwb3J0IGZvciBhIHNlY29uZGFyeSBzZWN1cml0eSBtb2R1bGUsCisgKiBqdXN0IHRvIGFsbG93IHRoZSB1c2Ugb2YgdGhlIGNhcGFiaWxpdHkgbW9kdWxlLgorICovCiBzdGF0aWMgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKnNlY29uZGFyeV9vcHM7CiAKIC8qIExpc3RzIG9mIGlub2RlIGFuZCBzdXBlcmJsb2NrIHNlY3VyaXR5IHN0cnVjdHVyZXMgaW5pdGlhbGl6ZWQKQEAgLTU5NCw3ICs1OTUsNyBAQAogCSAqLwogCWlmIChzYnNlYy0+aW5pdGlhbGl6ZWQgJiYgKHNiLT5zX3R5cGUtPmZzX2ZsYWdzICYgRlNfQklOQVJZX01PVU5UREFUQSkKIAkgICAgJiYgKG51bV9vcHRzID09IDApKQotCSAgICAgICAgZ290byBvdXQ7CisJCWdvdG8gb3V0OwogCiAJLyoKIAkgKiBwYXJzZSB0aGUgbW91bnQgb3B0aW9ucywgY2hlY2sgaWYgdGhleSBhcmUgdmFsaWQgc2lkcy4KQEAgLTk1Niw2ICs5NTcsNTcgQEAKIAlyZXR1cm4gcmM7CiB9CiAKK3ZvaWQgc2VsaW51eF93cml0ZV9vcHRzKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQoreworCWludCBpOworCWNoYXIgKnByZWZpeDsKKworCWZvciAoaSA9IDA7IGkgPCBvcHRzLT5udW1fbW50X29wdHM7IGkrKykgeworCQljaGFyICpoYXNfY29tbWEgPSBzdHJjaHIob3B0cy0+bW50X29wdHNbaV0sICcsJyk7CisKKwkJc3dpdGNoIChvcHRzLT5tbnRfb3B0c19mbGFnc1tpXSkgeworCQljYXNlIENPTlRFWFRfTU5UOgorCQkJcHJlZml4ID0gQ09OVEVYVF9TVFI7CisJCQlicmVhazsKKwkJY2FzZSBGU0NPTlRFWFRfTU5UOgorCQkJcHJlZml4ID0gRlNDT05URVhUX1NUUjsKKwkJCWJyZWFrOworCQljYXNlIFJPT1RDT05URVhUX01OVDoKKwkJCXByZWZpeCA9IFJPT1RDT05URVhUX1NUUjsKKwkJCWJyZWFrOworCQljYXNlIERFRkNPTlRFWFRfTU5UOgorCQkJcHJlZml4ID0gREVGQ09OVEVYVF9TVFI7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCUJVRygpOworCQl9OworCQkvKiB3ZSBuZWVkIGEgY29tbWEgYmVmb3JlIGVhY2ggb3B0aW9uICovCisJCXNlcV9wdXRjKG0sICcsJyk7CisJCXNlcV9wdXRzKG0sIHByZWZpeCk7CisJCWlmIChoYXNfY29tbWEpCisJCQlzZXFfcHV0YyhtLCAnXCInKTsKKwkJc2VxX3B1dHMobSwgb3B0cy0+bW50X29wdHNbaV0pOworCQlpZiAoaGFzX2NvbW1hKQorCQkJc2VxX3B1dGMobSwgJ1wiJyk7CisJfQorfQorCitzdGF0aWMgaW50IHNlbGludXhfc2Jfc2hvd19vcHRpb25zKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgb3B0czsKKwlpbnQgcmM7CisKKwlyYyA9IHNlbGludXhfZ2V0X21udF9vcHRzKHNiLCAmb3B0cyk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlzZWxpbnV4X3dyaXRlX29wdHMobSwgJm9wdHMpOworCisJc2VjdXJpdHlfZnJlZV9tbnRfb3B0cygmb3B0cyk7CisKKwlyZXR1cm4gcmM7Cit9CisKIHN0YXRpYyBpbmxpbmUgdTE2IGlub2RlX21vZGVfdG9fc2VjdXJpdHlfY2xhc3ModW1vZGVfdCBtb2RlKQogewogCXN3aXRjaCAobW9kZSAmIFNfSUZNVCkgewpAQCAtMTY4MiwxNCArMTczNCwyMyBAQAogCiAvKiBIb29rIGZ1bmN0aW9ucyBiZWdpbiBoZXJlLiAqLwogCi1zdGF0aWMgaW50IHNlbGludXhfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQorc3RhdGljIGludCBzZWxpbnV4X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwKKwkJCSAgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJCSAgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJaW50IHJjOwogCi0JcmMgPSBzZWNvbmRhcnlfb3BzLT5wdHJhY2UocGFyZW50LCBjaGlsZCk7CisJcmMgPSBzZWNvbmRhcnlfb3BzLT5wdHJhY2UocGFyZW50LCBjaGlsZCwgbW9kZSk7CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKKwlpZiAobW9kZSA9PSBQVFJBQ0VfTU9ERV9SRUFEKSB7CisJCXN0cnVjdCB0YXNrX3NlY3VyaXR5X3N0cnVjdCAqdHNlYyA9IHBhcmVudC0+c2VjdXJpdHk7CisJCXN0cnVjdCB0YXNrX3NlY3VyaXR5X3N0cnVjdCAqY3NlYyA9IGNoaWxkLT5zZWN1cml0eTsKKwkJcmV0dXJuIGF2Y19oYXNfcGVybSh0c2VjLT5zaWQsIGNzZWMtPnNpZCwKKwkJCQkgICAgU0VDQ0xBU1NfRklMRSwgRklMRV9fUkVBRCwgTlVMTCk7CisJfQorCiAJcmV0dXJuIHRhc2tfaGFzX3Blcm0ocGFyZW50LCBjaGlsZCwgUFJPQ0VTU19fUFRSQUNFKTsKIH0KIApAQCAtMjQ5NSw3ICsyNTU2LDcgQEAKIAl9CiAKIAlpZiAodmFsdWUgJiYgbGVuKSB7Ci0JCXJjID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQobmV3c2lkLCAmY29udGV4dCwgJmNsZW4pOworCQlyYyA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2ZvcmNlKG5ld3NpZCwgJmNvbnRleHQsICZjbGVuKTsKIAkJaWYgKHJjKSB7CiAJCQlrZnJlZShuYW1lcCk7CiAJCQlyZXR1cm4gcmM7CkBAIC0yNjY5LDYgKzI3MzAsMTEgQEAKIAkJcmV0dXJuIHJjOwogCiAJcmMgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZCh2YWx1ZSwgc2l6ZSwgJm5ld3NpZCk7CisJaWYgKHJjID09IC1FSU5WQUwpIHsKKwkJaWYgKCFjYXBhYmxlKENBUF9NQUNfQURNSU4pKQorCQkJcmV0dXJuIHJjOworCQlyYyA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKHZhbHVlLCBzaXplLCAmbmV3c2lkKTsKKwl9CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKQEAgLTI2OTAsNyArMjc1Niw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIHNlbGludXhfaW5vZGVfcG9zdF9zZXR4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLAorCQkJCQljb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsCiAJCQkJCWludCBmbGFncykKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOwpAQCAtMjcwMywxMCArMjc2OSwxMSBAQAogCQlyZXR1cm47CiAJfQogCi0JcmMgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZCh2YWx1ZSwgc2l6ZSwgJm5ld3NpZCk7CisJcmMgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9mb3JjZSh2YWx1ZSwgc2l6ZSwgJm5ld3NpZCk7CiAJaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiAgdW5hYmxlIHRvIG9idGFpbiBTSUQgZm9yIGNvbnRleHQgIgotCQkgICAgICAgIiVzLCByYz0lZFxuIiwgX19mdW5jX18sIChjaGFyICopdmFsdWUsIC1yYyk7CisJCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogIHVuYWJsZSB0byBtYXAgY29udGV4dCB0byBTSUQiCisJCSAgICAgICAiZm9yICglcywgJWx1KSwgcmM9JWRcbiIsCisJCSAgICAgICBpbm9kZS0+aV9zYi0+c19pZCwgaW5vZGUtPmlfaW5vLCAtcmMpOwogCQlyZXR1cm47CiAJfQogCkBAIC0yNzM1LDkgKzI4MDIsNyBAQAogfQogCiAvKgotICogQ29weSB0aGUgaW4tY29yZSBpbm9kZSBzZWN1cml0eSBjb250ZXh0IHZhbHVlIHRvIHRoZSB1c2VyLiAgSWYgdGhlCi0gKiBnZXR4YXR0cigpIHByaW9yIHRvIHRoaXMgc3VjY2VlZGVkLCBjaGVjayB0byBzZWUgaWYgd2UgbmVlZCB0bwotICogY2Fub25pY2FsaXplIHRoZSB2YWx1ZSB0byBiZSBmaW5hbGx5IHJldHVybmVkIHRvIHRoZSB1c2VyLgorICogQ29weSB0aGUgaW5vZGUgc2VjdXJpdHkgY29udGV4dCB2YWx1ZSB0byB0aGUgdXNlci4KICAqCiAgKiBQZXJtaXNzaW9uIGNoZWNrIGlzIGhhbmRsZWQgYnkgc2VsaW51eF9pbm9kZV9nZXR4YXR0ciBob29rLgogICovCkBAIC0yNzQ2LDEyICsyODExLDMzIEBACiAJdTMyIHNpemU7CiAJaW50IGVycm9yOwogCWNoYXIgKmNvbnRleHQgPSBOVUxMOworCXN0cnVjdCB0YXNrX3NlY3VyaXR5X3N0cnVjdCAqdHNlYyA9IGN1cnJlbnQtPnNlY3VyaXR5OwogCXN0cnVjdCBpbm9kZV9zZWN1cml0eV9zdHJ1Y3QgKmlzZWMgPSBpbm9kZS0+aV9zZWN1cml0eTsKIAogCWlmIChzdHJjbXAobmFtZSwgWEFUVFJfU0VMSU5VWF9TVUZGSVgpKQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAKLQllcnJvciA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KGlzZWMtPnNpZCwgJmNvbnRleHQsICZzaXplKTsKKwkvKgorCSAqIElmIHRoZSBjYWxsZXIgaGFzIENBUF9NQUNfQURNSU4sIHRoZW4gZ2V0IHRoZSByYXcgY29udGV4dAorCSAqIHZhbHVlIGV2ZW4gaWYgaXQgaXMgbm90IGRlZmluZWQgYnkgY3VycmVudCBwb2xpY3k7IG90aGVyd2lzZSwKKwkgKiB1c2UgdGhlIGluLWNvcmUgdmFsdWUgdW5kZXIgY3VycmVudCBwb2xpY3kuCisJICogVXNlIHRoZSBub24tYXVkaXRpbmcgZm9ybXMgb2YgdGhlIHBlcm1pc3Npb24gY2hlY2tzIHNpbmNlCisJICogZ2V0eGF0dHIgbWF5IGJlIGNhbGxlZCBieSB1bnByaXZpbGVnZWQgcHJvY2Vzc2VzIGNvbW1vbmx5CisJICogYW5kIGxhY2sgb2YgcGVybWlzc2lvbiBqdXN0IG1lYW5zIHRoYXQgd2UgZmFsbCBiYWNrIHRvIHRoZQorCSAqIGluLWNvcmUgY29udGV4dCB2YWx1ZSwgbm90IGEgZGVuaWFsLgorCSAqLworCWVycm9yID0gc2Vjb25kYXJ5X29wcy0+Y2FwYWJsZShjdXJyZW50LCBDQVBfTUFDX0FETUlOKTsKKwlpZiAoIWVycm9yKQorCQllcnJvciA9IGF2Y19oYXNfcGVybV9ub2F1ZGl0KHRzZWMtPnNpZCwgdHNlYy0+c2lkLAorCQkJCQkgICAgIFNFQ0NMQVNTX0NBUEFCSUxJVFkyLAorCQkJCQkgICAgIENBUEFCSUxJVFkyX19NQUNfQURNSU4sCisJCQkJCSAgICAgMCwKKwkJCQkJICAgICBOVUxMKTsKKwlpZiAoIWVycm9yKQorCQllcnJvciA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2ZvcmNlKGlzZWMtPnNpZCwgJmNvbnRleHQsCisJCQkJCQkgICAgICAmc2l6ZSk7CisJZWxzZQorCQllcnJvciA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KGlzZWMtPnNpZCwgJmNvbnRleHQsICZzaXplKTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAllcnJvciA9IHNpemU7CkBAIC0yODY1LDQ2ICsyOTUxLDE2IEBACiBzdGF0aWMgaW50IHNlbGludXhfZmlsZV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQogewotCWludCBlcnJvciA9IDA7CisJdTMyIGF2ID0gMDsKIAotCXN3aXRjaCAoY21kKSB7Ci0JY2FzZSBGSU9OUkVBRDoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEZJQk1BUDoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEZJR0VUQlNaOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRVhUMl9JT0NfR0VURkxBR1M6Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBFWFQyX0lPQ19HRVRWRVJTSU9OOgotCQllcnJvciA9IGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgRklMRV9fR0VUQVRUUik7Ci0JCWJyZWFrOworCWlmIChfSU9DX0RJUihjbWQpICYgX0lPQ19XUklURSkKKwkJYXYgfD0gRklMRV9fV1JJVEU7CisJaWYgKF9JT0NfRElSKGNtZCkgJiBfSU9DX1JFQUQpCisJCWF2IHw9IEZJTEVfX1JFQUQ7CisJaWYgKCFhdikKKwkJYXYgPSBGSUxFX19JT0NUTDsKIAotCWNhc2UgRVhUMl9JT0NfU0VURkxBR1M6Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBFWFQyX0lPQ19TRVRWRVJTSU9OOgotCQllcnJvciA9IGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgRklMRV9fU0VUQVRUUik7Ci0JCWJyZWFrOwotCi0JLyogc3lzX2lvY3RsKCkgY2hlY2tzICovCi0JY2FzZSBGSU9OQklPOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRklPQVNZTkM6Ci0JCWVycm9yID0gZmlsZV9oYXNfcGVybShjdXJyZW50LCBmaWxlLCAwKTsKLQkJYnJlYWs7Ci0KLQljYXNlIEtEU0tCRU5UOgotCWNhc2UgS0RTS0JTRU5UOgotCQllcnJvciA9IHRhc2tfaGFzX2NhcGFiaWxpdHkoY3VycmVudCwgQ0FQX1NZU19UVFlfQ09ORklHKTsKLQkJYnJlYWs7Ci0KLQkvKiBkZWZhdWx0IGNhc2UgYXNzdW1lcyB0aGF0IHRoZSBjb21tYW5kIHdpbGwgZ28KLQkgKiB0byB0aGUgZmlsZSdzIGlvY3RsKCkgZnVuY3Rpb24uCi0JICovCi0JZGVmYXVsdDoKLQkJZXJyb3IgPSBmaWxlX2hhc19wZXJtKGN1cnJlbnQsIGZpbGUsIEZJTEVfX0lPQ1RMKTsKLQl9Ci0JcmV0dXJuIGVycm9yOworCXJldHVybiBmaWxlX2hhc19wZXJtKGN1cnJlbnQsIGZpbGUsIGF2KTsKIH0KIAogc3RhdGljIGludCBmaWxlX21hcF9wcm90X2NoZWNrKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBsb25nIHByb3QsIGludCBzaGFyZWQpCkBAIC0zNjYzLDcgKzM3MTksNyBAQAogCQlzdHJ1Y3Qgc29ja2FkZHJfaW42ICphZGRyNiA9IE5VTEw7CiAJCXVuc2lnbmVkIHNob3J0IHNudW07CiAJCXN0cnVjdCBzb2NrICpzayA9IHNvY2stPnNrOwotCQl1MzIgc2lkLCBub2RlX3Blcm0sIGFkZHJsZW47CisJCXUzMiBzaWQsIG5vZGVfcGVybTsKIAogCQl0c2VjID0gY3VycmVudC0+c2VjdXJpdHk7CiAJCWlzZWMgPSBTT0NLX0lOT0RFKHNvY2spLT5pX3NlY3VyaXR5OwpAQCAtMzY3MSwxMiArMzcyNywxMCBAQAogCQlpZiAoZmFtaWx5ID09IFBGX0lORVQpIHsKIAkJCWFkZHI0ID0gKHN0cnVjdCBzb2NrYWRkcl9pbiAqKWFkZHJlc3M7CiAJCQlzbnVtID0gbnRvaHMoYWRkcjQtPnNpbl9wb3J0KTsKLQkJCWFkZHJsZW4gPSBzaXplb2YoYWRkcjQtPnNpbl9hZGRyLnNfYWRkcik7CiAJCQlhZGRycCA9IChjaGFyICopJmFkZHI0LT5zaW5fYWRkci5zX2FkZHI7CiAJCX0gZWxzZSB7CiAJCQlhZGRyNiA9IChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopYWRkcmVzczsKIAkJCXNudW0gPSBudG9ocyhhZGRyNi0+c2luNl9wb3J0KTsKLQkJCWFkZHJsZW4gPSBzaXplb2YoYWRkcjYtPnNpbjZfYWRkci5zNl9hZGRyKTsKIAkJCWFkZHJwID0gKGNoYXIgKikmYWRkcjYtPnNpbjZfYWRkci5zNl9hZGRyOwogCQl9CiAKQEAgLTUwNDcsMjQgKzUxMDEsNiBAQAogCSpzZWNpZCA9IGlzZWMtPnNpZDsKIH0KIAotLyogbW9kdWxlIHN0YWNraW5nIG9wZXJhdGlvbnMgKi8KLXN0YXRpYyBpbnQgc2VsaW51eF9yZWdpc3Rlcl9zZWN1cml0eShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQotewotCWlmIChzZWNvbmRhcnlfb3BzICE9IG9yaWdpbmFsX29wcykgewotCQlwcmludGsoS0VSTl9FUlIgIiVzOiAgVGhlcmUgaXMgYWxyZWFkeSBhIHNlY29uZGFyeSBzZWN1cml0eSAiCi0JCSAgICAgICAibW9kdWxlIHJlZ2lzdGVyZWQuXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCXNlY29uZGFyeV9vcHMgPSBvcHM7Ci0KLQlwcmludGsoS0VSTl9JTkZPICIlczogIFJlZ2lzdGVyaW5nIHNlY29uZGFyeSBtb2R1bGUgJXNcbiIsCi0JICAgICAgIF9fZnVuY19fLAotCSAgICAgICBuYW1lKTsKLQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgdm9pZCBzZWxpbnV4X2RfaW5zdGFudGlhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewogCWlmIChpbm9kZSkKQEAgLTUxNTMsNiArNTE4OSwxMiBAQAogCQkJc2l6ZS0tOwogCQl9CiAJCWVycm9yID0gc2VjdXJpdHlfY29udGV4dF90b19zaWQodmFsdWUsIHNpemUsICZzaWQpOworCQlpZiAoZXJyb3IgPT0gLUVJTlZBTCAmJiAhc3RyY21wKG5hbWUsICJmc2NyZWF0ZSIpKSB7CisJCQlpZiAoIWNhcGFibGUoQ0FQX01BQ19BRE1JTikpCisJCQkJcmV0dXJuIGVycm9yOworCQkJZXJyb3IgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9mb3JjZSh2YWx1ZSwgc2l6ZSwKKwkJCQkJCQkgICAgICAmc2lkKTsKKwkJfQogCQlpZiAoZXJyb3IpCiAJCQlyZXR1cm4gZXJyb3I7CiAJfQpAQCAtNTE4NiwxMiArNTIyOCwxMiBAQAogCQkJc3RydWN0IHRhc2tfc3RydWN0ICpnLCAqdDsKIAkJCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tID0gcC0+bW07CiAJCQlyZWFkX2xvY2soJnRhc2tsaXN0X2xvY2spOwotCQkJZG9fZWFjaF90aHJlYWQoZywgdCkKKwkJCWRvX2VhY2hfdGhyZWFkKGcsIHQpIHsKIAkJCQlpZiAodC0+bW0gPT0gbW0gJiYgdCAhPSBwKSB7CiAJCQkJCXJlYWRfdW5sb2NrKCZ0YXNrbGlzdF9sb2NrKTsKIAkJCQkJcmV0dXJuIC1FUEVSTTsKIAkJCQl9Ci0JCQl3aGlsZV9lYWNoX3RocmVhZChnLCB0KTsKKwkJCX0gd2hpbGVfZWFjaF90aHJlYWQoZywgdCk7CiAJCQlyZWFkX3VubG9jaygmdGFza2xpc3RfbG9jayk7CiAJCX0KIApAQCAtNTM0MywxMCArNTM4NSwxMCBAQAogCS5zYl9mcmVlX3NlY3VyaXR5ID0JCXNlbGludXhfc2JfZnJlZV9zZWN1cml0eSwKIAkuc2JfY29weV9kYXRhID0JCQlzZWxpbnV4X3NiX2NvcHlfZGF0YSwKIAkuc2Jfa2Vybl9tb3VudCA9CQlzZWxpbnV4X3NiX2tlcm5fbW91bnQsCisJLnNiX3Nob3dfb3B0aW9ucyA9CQlzZWxpbnV4X3NiX3Nob3dfb3B0aW9ucywKIAkuc2Jfc3RhdGZzID0JCQlzZWxpbnV4X3NiX3N0YXRmcywKIAkuc2JfbW91bnQgPQkJCXNlbGludXhfbW91bnQsCiAJLnNiX3Vtb3VudCA9CQkJc2VsaW51eF91bW91bnQsCi0JLnNiX2dldF9tbnRfb3B0cyA9CQlzZWxpbnV4X2dldF9tbnRfb3B0cywKIAkuc2Jfc2V0X21udF9vcHRzID0JCXNlbGludXhfc2V0X21udF9vcHRzLAogCS5zYl9jbG9uZV9tbnRfb3B0cyA9CQlzZWxpbnV4X3NiX2Nsb25lX21udF9vcHRzLAogCS5zYl9wYXJzZV9vcHRzX3N0ciA9IAkJc2VsaW51eF9wYXJzZV9vcHRzX3N0ciwKQEAgLTUzNzgsNyArNTQyMCw3IEBACiAJLmlub2RlX2xpc3RzZWN1cml0eSA9CQlzZWxpbnV4X2lub2RlX2xpc3RzZWN1cml0eSwKIAkuaW5vZGVfbmVlZF9raWxscHJpdiA9CQlzZWxpbnV4X2lub2RlX25lZWRfa2lsbHByaXYsCiAJLmlub2RlX2tpbGxwcml2ID0JCXNlbGludXhfaW5vZGVfa2lsbHByaXYsCi0JLmlub2RlX2dldHNlY2lkID0gICAgICAgICAgICAgICBzZWxpbnV4X2lub2RlX2dldHNlY2lkLAorCS5pbm9kZV9nZXRzZWNpZCA9CQlzZWxpbnV4X2lub2RlX2dldHNlY2lkLAogCiAJLmZpbGVfcGVybWlzc2lvbiA9CQlzZWxpbnV4X2ZpbGVfcGVybWlzc2lvbiwKIAkuZmlsZV9hbGxvY19zZWN1cml0eSA9CQlzZWxpbnV4X2ZpbGVfYWxsb2Nfc2VjdXJpdHksCkBAIC01NDE5LDcgKzU0NjEsNyBAQAogCS50YXNrX3RvX2lub2RlID0JCXNlbGludXhfdGFza190b19pbm9kZSwKIAogCS5pcGNfcGVybWlzc2lvbiA9CQlzZWxpbnV4X2lwY19wZXJtaXNzaW9uLAotCS5pcGNfZ2V0c2VjaWQgPSAgICAgICAgICAgICAgICAgc2VsaW51eF9pcGNfZ2V0c2VjaWQsCisJLmlwY19nZXRzZWNpZCA9CQkJc2VsaW51eF9pcGNfZ2V0c2VjaWQsCiAKIAkubXNnX21zZ19hbGxvY19zZWN1cml0eSA9CXNlbGludXhfbXNnX21zZ19hbGxvY19zZWN1cml0eSwKIAkubXNnX21zZ19mcmVlX3NlY3VyaXR5ID0Jc2VsaW51eF9tc2dfbXNnX2ZyZWVfc2VjdXJpdHksCkBAIC01NDQzLDggKzU0ODUsNiBAQAogCS5zZW1fc2VtY3RsID0JCQlzZWxpbnV4X3NlbV9zZW1jdGwsCiAJLnNlbV9zZW1vcCA9CQkJc2VsaW51eF9zZW1fc2Vtb3AsCiAKLQkucmVnaXN0ZXJfc2VjdXJpdHkgPQkJc2VsaW51eF9yZWdpc3Rlcl9zZWN1cml0eSwKLQogCS5kX2luc3RhbnRpYXRlID0JCXNlbGludXhfZF9pbnN0YW50aWF0ZSwKIAogCS5nZXRwcm9jYXR0ciA9CQkJc2VsaW51eF9nZXRwcm9jYXR0ciwKQEAgLTU1MzgsNyArNTU3OCw3IEBACiAJCQkJCSAgICAwLCBTTEFCX1BBTklDLCBOVUxMKTsKIAlhdmNfaW5pdCgpOwogCi0Jb3JpZ2luYWxfb3BzID0gc2Vjb25kYXJ5X29wcyA9IHNlY3VyaXR5X29wczsKKwlzZWNvbmRhcnlfb3BzID0gc2VjdXJpdHlfb3BzOwogCWlmICghc2Vjb25kYXJ5X29wcykKIAkJcGFuaWMoIlNFTGludXg6IE5vIGluaXRpYWwgc2VjdXJpdHkgb3BlcmF0aW9uc1xuIik7CiAJaWYgKHJlZ2lzdGVyX3NlY3VyaXR5KCZzZWxpbnV4X29wcykpCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXVkaXQuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdWRpdC5oCmluZGV4IDZjOGI5ZWYuLjFiZGY5NzMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdWRpdC5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdWRpdC5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIFNFTGludXggc3VwcG9ydCBmb3IgdGhlIEF1ZGl0IExTTSBob29rcwogICoKLSAqIE1vc3Qgb2YgYmVsb3cgaGVhZGVyIHdhcyBtb3ZlZCBmcm9tIGluY2x1ZGUvbGludXgvc2VsaW51eC5oIHdoaWNoIAorICogTW9zdCBvZiBiZWxvdyBoZWFkZXIgd2FzIG1vdmVkIGZyb20gaW5jbHVkZS9saW51eC9zZWxpbnV4Lmggd2hpY2gKICAqIGlzIHJlbGVhc2VkIHVuZGVyIGJlbG93IGNvcHlyaWdodHM6CiAgKgogICogQXV0aG9yOiBKYW1lcyBNb3JyaXMgPGptb3JyaXNAcmVkaGF0LmNvbT4KQEAgLTUyLDcgKzUyLDcgQEAKICAqCS1lcnJubyBvbiBmYWlsdXJlLgogICovCiBpbnQgc2VsaW51eF9hdWRpdF9ydWxlX21hdGNoKHUzMiBzaWQsIHUzMiBmaWVsZCwgdTMyIG9wLCB2b2lkICpydWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCk7CisJCQkgICAgIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KTsKIAogLyoqCiAgKglzZWxpbnV4X2F1ZGl0X3J1bGVfa25vd24gLSBjaGVjayB0byBzZWUgaWYgcnVsZSBjb250YWlucyBzZWxpbnV4IGZpZWxkcy4KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdmMuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdmMuaAppbmRleCA4ZTIzZDdhLi43Yjk3NjlmIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXZjLmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F2Yy5oCkBAIC03NSwxMyArNzUsMTIgQEAKIAogLyogSW5pdGlhbGl6ZSBhbiBBVkMgYXVkaXQgZGF0YSBzdHJ1Y3R1cmUuICovCiAjZGVmaW5lIEFWQ19BVURJVF9EQVRBX0lOSVQoX2QsX3QpIFwKLSAgICAgICAgeyBtZW1zZXQoKF9kKSwgMCwgc2l6ZW9mKHN0cnVjdCBhdmNfYXVkaXRfZGF0YSkpOyAoX2QpLT50eXBlID0gQVZDX0FVRElUX0RBVEFfIyNfdDsgfQorCXsgbWVtc2V0KChfZCksIDAsIHNpemVvZihzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEpKTsgKF9kKS0+dHlwZSA9IEFWQ19BVURJVF9EQVRBXyMjX3Q7IH0KIAogLyoKICAqIEFWQyBzdGF0aXN0aWNzCiAgKi8KLXN0cnVjdCBhdmNfY2FjaGVfc3RhdHMKLXsKK3N0cnVjdCBhdmNfY2FjaGVfc3RhdHMgewogCXVuc2lnbmVkIGludCBsb29rdXBzOwogCXVuc2lnbmVkIGludCBoaXRzOwogCXVuc2lnbmVkIGludCBtaXNzZXM7CkBAIC05Nyw4ICs5Niw4IEBACiB2b2lkIF9faW5pdCBhdmNfaW5pdCh2b2lkKTsKIAogdm9pZCBhdmNfYXVkaXQodTMyIHNzaWQsIHUzMiB0c2lkLAotICAgICAgICAgICAgICAgdTE2IHRjbGFzcywgdTMyIHJlcXVlc3RlZCwKLSAgICAgICAgICAgICAgIHN0cnVjdCBhdl9kZWNpc2lvbiAqYXZkLCBpbnQgcmVzdWx0LCBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmF1ZGl0ZGF0YSk7CisJICAgICAgIHUxNiB0Y2xhc3MsIHUzMiByZXF1ZXN0ZWQsCisJICAgICAgIHN0cnVjdCBhdl9kZWNpc2lvbiAqYXZkLCBpbnQgcmVzdWx0LCBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmF1ZGl0ZGF0YSk7CiAKICNkZWZpbmUgQVZDX1NUUklDVCAxIC8qIElnbm9yZSBwZXJtaXNzaXZlIG1vZGUuICovCiBpbnQgYXZjX2hhc19wZXJtX25vYXVkaXQodTMyIHNzaWQsIHUzMiB0c2lkLApAQCAtMTA3LDggKzEwNiw4IEBACiAJCQkgc3RydWN0IGF2X2RlY2lzaW9uICphdmQpOwogCiBpbnQgYXZjX2hhc19wZXJtKHUzMiBzc2lkLCB1MzIgdHNpZCwKLSAgICAgICAgICAgICAgICAgdTE2IHRjbGFzcywgdTMyIHJlcXVlc3RlZCwKLSAgICAgICAgICAgICAgICAgc3RydWN0IGF2Y19hdWRpdF9kYXRhICphdWRpdGRhdGEpOworCQkgdTE2IHRjbGFzcywgdTMyIHJlcXVlc3RlZCwKKwkJIHN0cnVjdCBhdmNfYXVkaXRfZGF0YSAqYXVkaXRkYXRhKTsKIAogdTMyIGF2Y19wb2xpY3lfc2Vxbm8odm9pZCk7CiAKQEAgLTEyMiw3ICsxMjEsNyBAQAogI2RlZmluZSBBVkNfQ0FMTEJBQ0tfQVVESVRERU5ZX0RJU0FCTEUJMTI4CiAKIGludCBhdmNfYWRkX2NhbGxiYWNrKGludCAoKmNhbGxiYWNrKSh1MzIgZXZlbnQsIHUzMiBzc2lkLCB1MzIgdHNpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MTYgdGNsYXNzLCB1MzIgcGVybXMsCisJCQkJICAgICB1MTYgdGNsYXNzLCB1MzIgcGVybXMsCiAJCQkJICAgICB1MzIgKm91dF9yZXRhaW5lZCksCiAJCSAgICAgdTMyIGV2ZW50cywgdTMyIHNzaWQsIHUzMiB0c2lkLAogCQkgICAgIHUxNiB0Y2xhc3MsIHUzMiBwZXJtcyk7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvb2Jqc2VjLmggYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvb2Jqc2VjLmgKaW5kZXggMDMyYzIzNS4uOTEwNzBhYiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL29ianNlYy5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaApAQCAtNDQsNyArNDQsNiBAQAogCXUxNiBzY2xhc3M7CQkvKiBzZWN1cml0eSBjbGFzcyBvZiB0aGlzIG9iamVjdCAqLwogCXVuc2lnbmVkIGNoYXIgaW5pdGlhbGl6ZWQ7CS8qIGluaXRpYWxpemF0aW9uIGZsYWcgKi8KIAlzdHJ1Y3QgbXV0ZXggbG9jazsKLQl1bnNpZ25lZCBjaGFyIGluaGVyaXQ7CS8qIGluaGVyaXQgU0lEIGZyb20gcGFyZW50IGVudHJ5ICovCiB9OwogCiBzdHJ1Y3QgZmlsZV9zZWN1cml0eV9zdHJ1Y3QgewpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL3NlY3VyaXR5LmggYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvc2VjdXJpdHkuaAppbmRleCBhZDMwYWM0Li43YzU0MzAwIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvc2VjdXJpdHkuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvc2VjdXJpdHkuaApAQCAtOTMsMTIgKzkzLDE3IEBACiBpbnQgc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LAogCXUzMiAqc2NvbnRleHRfbGVuKTsKIAoraW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2ZvcmNlKHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwgdTMyICpzY29udGV4dF9sZW4pOworCiBpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWQoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCiAJdTMyICpvdXRfc2lkKTsKIAogaW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2RlZmF1bHQoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCiAJCQkJICAgIHUzMiAqb3V0X3NpZCwgdTMyIGRlZl9zaWQsIGdmcF90IGdmcF9mbGFncyk7CiAKK2ludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9mb3JjZShjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKKwkJCQkgIHUzMiAqc2lkKTsKKwogaW50IHNlY3VyaXR5X2dldF91c2VyX3NpZHModTMyIGNhbGxzaWQsIGNoYXIgKnVzZXJuYW1lLAogCQkJICAgdTMyICoqc2lkcywgdTMyICpuZWwpOwogCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L25ldG5vZGUuYyBiL3NlY3VyaXR5L3NlbGludXgvbmV0bm9kZS5jCmluZGV4IGI2Y2NkMDkuLjcxMDAwNzIgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvbmV0bm9kZS5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvbmV0bm9kZS5jCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSA8bGludXgvaXB2Ni5oPgogI2luY2x1ZGUgPG5ldC9pcC5oPgogI2luY2x1ZGUgPG5ldC9pcHY2Lmg+Ci0jaW5jbHVkZSA8YXNtL2J1Zy5oPgogCiAjaW5jbHVkZSAibmV0bm9kZS5oIgogI2luY2x1ZGUgIm9ianNlYy5oIgpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9uZXRwb3J0LmMgYi9zZWN1cml0eS9zZWxpbnV4L25ldHBvcnQuYwppbmRleCA5MGI0Y2ZmLi5mZTdmYmE2IDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L25ldHBvcnQuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L25ldHBvcnQuYwpAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2lwdjYuaD4KICNpbmNsdWRlIDxuZXQvaXAuaD4KICNpbmNsdWRlIDxuZXQvaXB2Ni5oPgotI2luY2x1ZGUgPGFzbS9idWcuaD4KIAogI2luY2x1ZGUgIm5ldHBvcnQuaCIKICNpbmNsdWRlICJvYmpzZWMuaCIKQEAgLTI3Miw3ICsyNzEsNyBAQAogCX0KIAogCXJldCA9IGF2Y19hZGRfY2FsbGJhY2soc2VsX25ldHBvcnRfYXZjX2NhbGxiYWNrLCBBVkNfQ0FMTEJBQ0tfUkVTRVQsCi0JICAgICAgICAgICAgICAgICAgICAgICBTRUNTSURfTlVMTCwgU0VDU0lEX05VTEwsIFNFQ0NMQVNTX05VTEwsIDApOworCQkJICAgICAgIFNFQ1NJRF9OVUxMLCBTRUNTSURfTlVMTCwgU0VDQ0xBU1NfTlVMTCwgMCk7CiAJaWYgKHJldCAhPSAwKQogCQlwYW5pYygiYXZjX2FkZF9jYWxsYmFjaygpIGZhaWxlZCwgZXJyb3IgJWRcbiIsIHJldCk7CiAKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc2VsaW51eGZzLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NlbGludXhmcy5jCmluZGV4IGFjMWNjYzEuLjY5YzlkY2MgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc2VsaW51eGZzLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zZWxpbnV4ZnMuYwpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvYXVkaXQuaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KIAogLyogc2VsaW51eGZzIHBzZXVkbyBmaWxlc3lzdGVtIGZvciBleHBvcnRpbmcgdGhlIHNlY3VyaXR5IHBvbGljeSBBUEkuCiAgICBCYXNlZCBvbiB0aGUgcHJvYyBjb2RlIGFuZCB0aGUgZnMvbmZzZC9uZnNjdGwuYyBjb2RlLiAqLwpAQCAtNTcsMTQgKzU3LDE4IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGNoZWNrcmVxcHJvdF9zZXR1cChjaGFyICpzdHIpCiB7Ci0Jc2VsaW51eF9jaGVja3JlcXByb3QgPSBzaW1wbGVfc3RydG91bChzdHIsIE5VTEwsIDApID8gMSA6IDA7CisJdW5zaWduZWQgbG9uZyBjaGVja3JlcXByb3Q7CisJaWYgKCFzdHJpY3Rfc3RydG91bChzdHIsIDAsICZjaGVja3JlcXByb3QpKQorCQlzZWxpbnV4X2NoZWNrcmVxcHJvdCA9IGNoZWNrcmVxcHJvdCA/IDEgOiAwOwogCXJldHVybiAxOwogfQogX19zZXR1cCgiY2hlY2tyZXFwcm90PSIsIGNoZWNrcmVxcHJvdF9zZXR1cCk7CiAKIHN0YXRpYyBpbnQgX19pbml0IHNlbGludXhfY29tcGF0X25ldF9zZXR1cChjaGFyICpzdHIpCiB7Ci0Jc2VsaW51eF9jb21wYXRfbmV0ID0gc2ltcGxlX3N0cnRvdWwoc3RyLCBOVUxMLCAwKSA/IDEgOiAwOworCXVuc2lnbmVkIGxvbmcgY29tcGF0X25ldDsKKwlpZiAoIXN0cmljdF9zdHJ0b3VsKHN0ciwgMCwgJmNvbXBhdF9uZXQpKQorCQlzZWxpbnV4X2NvbXBhdF9uZXQgPSBjb21wYXRfbmV0ID8gMSA6IDA7CiAJcmV0dXJuIDE7CiB9CiBfX3NldHVwKCJzZWxpbnV4X2NvbXBhdF9uZXQ9Iiwgc2VsaW51eF9jb21wYXRfbmV0X3NldHVwKTsKQEAgLTM1MiwxMSArMzU2LDYgQEAKIAkJbGVuZ3RoID0gY291bnQ7CiAKIG91dDE6Ci0KLQlwcmludGsoS0VSTl9JTkZPICJTRUxpbnV4OiBwb2xpY3kgbG9hZGVkIHdpdGggaGFuZGxlX3Vua25vd249JXNcbiIsCi0JICAgICAgIChzZWN1cml0eV9nZXRfcmVqZWN0X3Vua25vd24oKSA/ICJyZWplY3QiIDoKLQkJKHNlY3VyaXR5X2dldF9hbGxvd191bmtub3duKCkgPyAiYWxsb3ciIDogImRlbnkiKSkpOwotCiAJYXVkaXRfbG9nKGN1cnJlbnQtPmF1ZGl0X2NvbnRleHQsIEdGUF9LRVJORUwsIEFVRElUX01BQ19QT0xJQ1lfTE9BRCwKIAkJInBvbGljeSBsb2FkZWQgYXVpZD0ldSBzZXM9JXUiLAogCQlhdWRpdF9nZXRfbG9naW51aWQoY3VycmVudCksCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL2F2dGFiLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL2F2dGFiLmMKaW5kZXggOWU2NjI2My4uYTFiZTk3ZiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9hdnRhYi5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3MvYXZ0YWIuYwpAQCAtMzExLDcgKzMxMSw3IEBACiAJfQogCiAJcHJpbnRrKEtFUk5fREVCVUcgIlNFTGludXg6ICVzOiAgJWQgZW50cmllcyBhbmQgJWQvJWQgYnVja2V0cyB1c2VkLCAiCi0JICAgICAgICJsb25nZXN0IGNoYWluIGxlbmd0aCAlZCBzdW0gb2YgY2hhaW4gbGVuZ3RoXjIgJUx1XG4iLAorCSAgICAgICAibG9uZ2VzdCBjaGFpbiBsZW5ndGggJWQgc3VtIG9mIGNoYWluIGxlbmd0aF4yICVsbHVcbiIsCiAJICAgICAgIHRhZywgaC0+bmVsLCBzbG90c191c2VkLCBoLT5uc2xvdCwgbWF4X2NoYWluX2xlbiwKIAkgICAgICAgY2hhaW4yX2xlbl9zdW0pOwogfQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zcy9jb250ZXh0LmggYi9zZWN1cml0eS9zZWxpbnV4L3NzL2NvbnRleHQuaAppbmRleCBiOWE2ZjdmLi42NThjMmJkIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL2NvbnRleHQuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL2NvbnRleHQuaApAQCAtMjgsNiArMjgsOCBAQAogCXUzMiByb2xlOwogCXUzMiB0eXBlOwogCXN0cnVjdCBtbHNfcmFuZ2UgcmFuZ2U7CisJY2hhciAqc3RyOwkvKiBzdHJpbmcgcmVwcmVzZW50YXRpb24gaWYgY29udGV4dCBjYW5ub3QgYmUgbWFwcGVkLiAqLworCXUzMiBsZW47ICAgICAgICAvKiBsZW5ndGggb2Ygc3RyaW5nIGluIGJ5dGVzICovCiB9OwogCiBzdGF0aWMgaW5saW5lIHZvaWQgbWxzX2NvbnRleHRfaW5pdChzdHJ1Y3QgY29udGV4dCAqYykKQEAgLTEwNiwyMCArMTA4LDQzIEBACiAKIHN0YXRpYyBpbmxpbmUgaW50IGNvbnRleHRfY3B5KHN0cnVjdCBjb250ZXh0ICpkc3QsIHN0cnVjdCBjb250ZXh0ICpzcmMpCiB7CisJaW50IHJjOworCiAJZHN0LT51c2VyID0gc3JjLT51c2VyOwogCWRzdC0+cm9sZSA9IHNyYy0+cm9sZTsKIAlkc3QtPnR5cGUgPSBzcmMtPnR5cGU7Ci0JcmV0dXJuIG1sc19jb250ZXh0X2NweShkc3QsIHNyYyk7CisJaWYgKHNyYy0+c3RyKSB7CisJCWRzdC0+c3RyID0ga3N0cmR1cChzcmMtPnN0ciwgR0ZQX0FUT01JQyk7CisJCWlmICghZHN0LT5zdHIpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJZHN0LT5sZW4gPSBzcmMtPmxlbjsKKwl9IGVsc2UgeworCQlkc3QtPnN0ciA9IE5VTEw7CisJCWRzdC0+bGVuID0gMDsKKwl9CisJcmMgPSBtbHNfY29udGV4dF9jcHkoZHN0LCBzcmMpOworCWlmIChyYykgeworCQlrZnJlZShkc3QtPnN0cik7CisJCXJldHVybiByYzsKKwl9CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBjb250ZXh0X2Rlc3Ryb3koc3RydWN0IGNvbnRleHQgKmMpCiB7CiAJYy0+dXNlciA9IGMtPnJvbGUgPSBjLT50eXBlID0gMDsKKwlrZnJlZShjLT5zdHIpOworCWMtPnN0ciA9IE5VTEw7CisJYy0+bGVuID0gMDsKIAltbHNfY29udGV4dF9kZXN0cm95KGMpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBjb250ZXh0X2NtcChzdHJ1Y3QgY29udGV4dCAqYzEsIHN0cnVjdCBjb250ZXh0ICpjMikKIHsKKwlpZiAoYzEtPmxlbiAmJiBjMi0+bGVuKQorCQlyZXR1cm4gKGMxLT5sZW4gPT0gYzItPmxlbiAmJiAhc3RyY21wKGMxLT5zdHIsIGMyLT5zdHIpKTsKKwlpZiAoYzEtPmxlbiB8fCBjMi0+bGVuKQorCQlyZXR1cm4gMDsKIAlyZXR1cm4gKChjMS0+dXNlciA9PSBjMi0+dXNlcikgJiYKIAkJKGMxLT5yb2xlID09IGMyLT5yb2xlKSAmJgogCQkoYzEtPnR5cGUgPT0gYzItPnR5cGUpICYmCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5jIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuYwppbmRleCA4YjE3MDZiLi43N2Q3NDVkIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmMKQEAgLTIzOSw3ICsyMzksOCBAQAogICogUG9saWN5IHJlYWQtbG9jayBtdXN0IGJlIGhlbGQgZm9yIHNpZHRhYiBsb29rdXAuCiAgKgogICovCi1pbnQgbWxzX2NvbnRleHRfdG9fc2lkKGNoYXIgb2xkYywKK2ludCBtbHNfY29udGV4dF90b19zaWQoc3RydWN0IHBvbGljeWRiICpwb2wsCisJCSAgICAgICBjaGFyIG9sZGMsCiAJCSAgICAgICBjaGFyICoqc2NvbnRleHQsCiAJCSAgICAgICBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKIAkJICAgICAgIHN0cnVjdCBzaWR0YWIgKnMsCkBAIC0yODYsNyArMjg3LDcgQEAKIAkJKnArKyA9IDA7CiAKIAlmb3IgKGwgPSAwOyBsIDwgMjsgbCsrKSB7Ci0JCWxldmRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF9sZXZlbHMudGFibGUsIHNjb250ZXh0cCk7CisJCWxldmRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9sLT5wX2xldmVscy50YWJsZSwgc2NvbnRleHRwKTsKIAkJaWYgKCFsZXZkYXR1bSkgewogCQkJcmMgPSAtRUlOVkFMOwogCQkJZ290byBvdXQ7CkBAIC0zMTEsNyArMzEyLDcgQEAKIAkJCQkJKnJuZ3B0cisrID0gMDsKIAkJCQl9CiAKLQkJCQljYXRkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfY2F0cy50YWJsZSwKKwkJCQljYXRkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbC0+cF9jYXRzLnRhYmxlLAogCQkJCQkJCSAgc2NvbnRleHRwKTsKIAkJCQlpZiAoIWNhdGRhdHVtKSB7CiAJCQkJCXJjID0gLUVJTlZBTDsKQEAgLTMyNyw3ICszMjgsNyBAQAogCQkJCWlmIChybmdwdHIpIHsKIAkJCQkJaW50IGk7CiAKLQkJCQkJcm5nZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX2NhdHMudGFibGUsIHJuZ3B0cik7CisJCQkJCXJuZ2RhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9sLT5wX2NhdHMudGFibGUsIHJuZ3B0cik7CiAJCQkJCWlmICghcm5nZGF0dW0pIHsKIAkJCQkJCXJjID0gLUVJTlZBTDsKIAkJCQkJCWdvdG8gb3V0OwpAQCAtMzk1LDcgKzM5Niw3IEBACiAJaWYgKCF0bXBzdHIpIHsKIAkJcmMgPSAtRU5PTUVNOwogCX0gZWxzZSB7Ci0JCXJjID0gbWxzX2NvbnRleHRfdG9fc2lkKCc6JywgJnRtcHN0ciwgY29udGV4dCwKKwkJcmMgPSBtbHNfY29udGV4dF90b19zaWQoJnBvbGljeWRiLCAnOicsICZ0bXBzdHIsIGNvbnRleHQsCiAJCQkJCU5VTEwsIFNFQ1NJRF9OVUxMKTsKIAkJa2ZyZWUoZnJlZXN0cik7CiAJfQpAQCAtNDM2LDEzICs0MzcsMTMgQEAKIAkJc3RydWN0IG1sc19sZXZlbCAqdXNlcmNvbl9jbHIgPSAmKHVzZXJjb24tPnJhbmdlLmxldmVsWzFdKTsKIAogCQkvKiBIb25vciB0aGUgdXNlcidzIGRlZmF1bHQgbGV2ZWwgaWYgd2UgY2FuICovCi0JCWlmIChtbHNfbGV2ZWxfYmV0d2Vlbih1c2VyX2RlZiwgZnJvbWNvbl9zZW4sIGZyb21jb25fY2xyKSkgeworCQlpZiAobWxzX2xldmVsX2JldHdlZW4odXNlcl9kZWYsIGZyb21jb25fc2VuLCBmcm9tY29uX2NscikpCiAJCQkqdXNlcmNvbl9zZW4gPSAqdXNlcl9kZWY7Ci0JCX0gZWxzZSBpZiAobWxzX2xldmVsX2JldHdlZW4oZnJvbWNvbl9zZW4sIHVzZXJfZGVmLCB1c2VyX2NscikpIHsKKwkJZWxzZSBpZiAobWxzX2xldmVsX2JldHdlZW4oZnJvbWNvbl9zZW4sIHVzZXJfZGVmLCB1c2VyX2NscikpCiAJCQkqdXNlcmNvbl9zZW4gPSAqZnJvbWNvbl9zZW47Ci0JCX0gZWxzZSBpZiAobWxzX2xldmVsX2JldHdlZW4oZnJvbWNvbl9jbHIsIHVzZXJfbG93LCB1c2VyX2RlZikpIHsKKwkJZWxzZSBpZiAobWxzX2xldmVsX2JldHdlZW4oZnJvbWNvbl9jbHIsIHVzZXJfbG93LCB1c2VyX2RlZikpCiAJCQkqdXNlcmNvbl9zZW4gPSAqdXNlcl9sb3c7Ci0JCX0gZWxzZQorCQllbHNlCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAogCQkvKiBMb3dlciB0aGUgY2xlYXJhbmNlIG9mIGF2YWlsYWJsZSBjb250ZXh0cwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuaCBiL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmgKaW5kZXggMGZkZjYyNS4uMTI3NjcxNSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5oCkBAIC0zMCw3ICszMCw4IEBACiBpbnQgbWxzX3JhbmdlX2lzdmFsaWQoc3RydWN0IHBvbGljeWRiICpwLCBzdHJ1Y3QgbWxzX3JhbmdlICpyKTsKIGludCBtbHNfbGV2ZWxfaXN2YWxpZChzdHJ1Y3QgcG9saWN5ZGIgKnAsIHN0cnVjdCBtbHNfbGV2ZWwgKmwpOwogCi1pbnQgbWxzX2NvbnRleHRfdG9fc2lkKGNoYXIgb2xkYywKK2ludCBtbHNfY29udGV4dF90b19zaWQoc3RydWN0IHBvbGljeWRiICpwLAorCQkgICAgICAgY2hhciBvbGRjLAogCQkgICAgICAgY2hhciAqKnNjb250ZXh0LAogCQkgICAgICAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCiAJCSAgICAgICBzdHJ1Y3Qgc2lkdGFiICpzLApkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zcy9wb2xpY3lkYi5jIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9wb2xpY3lkYi5jCmluZGV4IDg0ZjhjYzcuLjIzOTE3NjEgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3MvcG9saWN5ZGIuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3BvbGljeWRiLmMKQEAgLTE0NzgsNyArMTQ3OCw4IEBACiAJc3RydWN0IG9jb250ZXh0ICpsLCAqYywgKm5ld2M7CiAJc3RydWN0IGdlbmZzICpnZW5mc19wLCAqZ2VuZnMsICpuZXdnZW5mczsKIAlpbnQgaSwgaiwgcmM7Ci0JX19sZTMyIGJ1Zls4XTsKKwlfX2xlMzIgYnVmWzRdOworCXUzMiBub2RlYnVmWzhdOwogCXUzMiBsZW4sIGxlbjIsIGNvbmZpZywgbnByaW0sIG5lbCwgbmVsMjsKIAljaGFyICpwb2xpY3lkYl9zdHI7CiAJc3RydWN0IHBvbGljeWRiX2NvbXBhdF9pbmZvICppbmZvOwpAQCAtMTc0OSwxMSArMTc1MCwxMSBAQAogCQkJCQlnb3RvIGJhZDsKIAkJCQlicmVhazsKIAkJCWNhc2UgT0NPTl9OT0RFOgotCQkJCXJjID0gbmV4dF9lbnRyeShidWYsIGZwLCBzaXplb2YodTMyKSAqIDIpOworCQkJCXJjID0gbmV4dF9lbnRyeShub2RlYnVmLCBmcCwgc2l6ZW9mKHUzMikgKiAyKTsKIAkJCQlpZiAocmMgPCAwKQogCQkJCQlnb3RvIGJhZDsKLQkJCQljLT51Lm5vZGUuYWRkciA9IGxlMzJfdG9fY3B1KGJ1ZlswXSk7Ci0JCQkJYy0+dS5ub2RlLm1hc2sgPSBsZTMyX3RvX2NwdShidWZbMV0pOworCQkJCWMtPnUubm9kZS5hZGRyID0gbm9kZWJ1ZlswXTsgLyogbmV0d29yayBvcmRlciAqLworCQkJCWMtPnUubm9kZS5tYXNrID0gbm9kZWJ1ZlsxXTsgLyogbmV0d29yayBvcmRlciAqLwogCQkJCXJjID0gY29udGV4dF9yZWFkX2FuZF92YWxpZGF0ZSgmYy0+Y29udGV4dFswXSwgcCwgZnApOwogCQkJCWlmIChyYykKIAkJCQkJZ290byBiYWQ7CkBAIC0xNzgyLDEzICsxNzgzLDEzIEBACiAJCQljYXNlIE9DT05fTk9ERTY6IHsKIAkJCQlpbnQgazsKIAotCQkJCXJjID0gbmV4dF9lbnRyeShidWYsIGZwLCBzaXplb2YodTMyKSAqIDgpOworCQkJCXJjID0gbmV4dF9lbnRyeShub2RlYnVmLCBmcCwgc2l6ZW9mKHUzMikgKiA4KTsKIAkJCQlpZiAocmMgPCAwKQogCQkJCQlnb3RvIGJhZDsKIAkJCQlmb3IgKGsgPSAwOyBrIDwgNDsgaysrKQotCQkJCQljLT51Lm5vZGU2LmFkZHJba10gPSBsZTMyX3RvX2NwdShidWZba10pOworCQkJCQljLT51Lm5vZGU2LmFkZHJba10gPSBub2RlYnVmW2tdOwogCQkJCWZvciAoayA9IDA7IGsgPCA0OyBrKyspCi0JCQkJCWMtPnUubm9kZTYubWFza1trXSA9IGxlMzJfdG9fY3B1KGJ1ZltrKzRdKTsKKwkJCQkJYy0+dS5ub2RlNi5tYXNrW2tdID0gbm9kZWJ1ZltrKzRdOwogCQkJCWlmIChjb250ZXh0X3JlYWRfYW5kX3ZhbGlkYXRlKCZjLT5jb250ZXh0WzBdLCBwLCBmcCkpCiAJCQkJCWdvdG8gYmFkOwogCQkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zcy9zZXJ2aWNlcy5jIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9zZXJ2aWNlcy5jCmluZGV4IGRjYzJlMWMuLmI1MmY5MjMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3Mvc2VydmljZXMuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NlcnZpY2VzLmMKQEAgLTcxLDE0ICs3MSw2IEBACiBleHRlcm4gY29uc3Qgc3RydWN0IHNlbGludXhfY2xhc3NfcGVybSBzZWxpbnV4X2NsYXNzX3Blcm07CiAKIHN0YXRpYyBERUZJTkVfUldMT0NLKHBvbGljeV9yd2xvY2spOwotI2RlZmluZSBQT0xJQ1lfUkRMT0NLIHJlYWRfbG9jaygmcG9saWN5X3J3bG9jaykKLSNkZWZpbmUgUE9MSUNZX1dSTE9DSyB3cml0ZV9sb2NrX2lycSgmcG9saWN5X3J3bG9jaykKLSNkZWZpbmUgUE9MSUNZX1JEVU5MT0NLIHJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKQotI2RlZmluZSBQT0xJQ1lfV1JVTkxPQ0sgd3JpdGVfdW5sb2NrX2lycSgmcG9saWN5X3J3bG9jaykKLQotc3RhdGljIERFRklORV9NVVRFWChsb2FkX211dGV4KTsKLSNkZWZpbmUgTE9BRF9MT0NLIG11dGV4X2xvY2soJmxvYWRfbXV0ZXgpCi0jZGVmaW5lIExPQURfVU5MT0NLIG11dGV4X3VubG9jaygmbG9hZF9tdXRleCkKIAogc3RhdGljIHN0cnVjdCBzaWR0YWIgc2lkdGFiOwogc3RydWN0IHBvbGljeWRiIHBvbGljeWRiOwpAQCAtMzMyLDcgKzMyNCw3IEBACiAJCWdvdG8gaW52YWxfY2xhc3M7CiAJaWYgKHVubGlrZWx5KHRjbGFzcyA+IHBvbGljeWRiLnBfY2xhc3Nlcy5ucHJpbSkpCiAJCWlmICh0Y2xhc3MgPiBrZGVmcy0+Y3RzX2xlbiB8fAotCQkgICAgIWtkZWZzLT5jbGFzc190b19zdHJpbmdbdGNsYXNzIC0gMV0gfHwKKwkJICAgICFrZGVmcy0+Y2xhc3NfdG9fc3RyaW5nW3RjbGFzc10gfHwKIAkJICAgICFwb2xpY3lkYi5hbGxvd191bmtub3duKQogCQkJZ290byBpbnZhbF9jbGFzczsKIApAQCAtNDE1LDkgKzQwNywxOSBAQAogCXJldHVybiAwOwogCiBpbnZhbF9jbGFzczoKLQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICVzOiAgdW5yZWNvZ25pemVkIGNsYXNzICVkXG4iLCBfX2Z1bmNfXywKLQkJdGNsYXNzKTsKLQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIXRjbGFzcyB8fCB0Y2xhc3MgPiBrZGVmcy0+Y3RzX2xlbiB8fAorCSAgICAha2RlZnMtPmNsYXNzX3RvX3N0cmluZ1t0Y2xhc3NdKSB7CisJCWlmIChwcmludGtfcmF0ZWxpbWl0KCkpCisJCQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICVzOiAgdW5yZWNvZ25pemVkIGNsYXNzICVkXG4iLAorCQkJICAgICAgIF9fZnVuY19fLCB0Y2xhc3MpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKgorCSAqIEtub3duIHRvIHRoZSBrZXJuZWwsIGJ1dCBub3QgdG8gdGhlIHBvbGljeS4KKwkgKiBIYW5kbGUgYXMgYSBkZW5pYWwgKGFsbG93ZWQgaXMgMCkuCisJICovCisJcmV0dXJuIDA7CiB9CiAKIC8qCkBAIC00MjksNyArNDMxLDcgQEAKIAl1MzIgdHlwZTsKIAlpbnQgcmM7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAljb250ZXh0ID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBzaWQpOwogCUJVR19PTighY29udGV4dCk7CkBAIC00NDEsNyArNDQzLDcgQEAKIAkgKi8KIAlyYyA9IGViaXRtYXBfZ2V0X2JpdCgmcG9saWN5ZGIucGVybWlzc2l2ZV9tYXAsIHR5cGUpOwogCi0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTQ4Niw3ICs0ODgsNyBAQAogCWlmICghc3NfaW5pdGlhbGl6ZWQpCiAJCXJldHVybiAwOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJLyoKIAkgKiBSZW1hcCBleHRlbmRlZCBOZXRsaW5rIGNsYXNzZXMgZm9yIG9sZCBwb2xpY3kgdmVyc2lvbnMuCkBAIC01NDMsNyArNTQ1LDcgQEAKIAl9CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtNTc4LDcgKzU4MCw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXNjb250ZXh0ID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBzc2lkKTsKIAlpZiAoIXNjb250ZXh0KSB7CkBAIC01OTgsNyArNjAwLDcgQEAKIAlyYyA9IGNvbnRleHRfc3RydWN0X2NvbXB1dGVfYXYoc2NvbnRleHQsIHRjb250ZXh0LCB0Y2xhc3MsCiAJCQkJICAgICAgIHJlcXVlc3RlZCwgYXZkKTsKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtNjE2LDYgKzYxOCwxNCBAQAogCSpzY29udGV4dCA9IE5VTEw7CiAJKnNjb250ZXh0X2xlbiA9IDA7CiAKKwlpZiAoY29udGV4dC0+bGVuKSB7CisJCSpzY29udGV4dF9sZW4gPSBjb250ZXh0LT5sZW47CisJCSpzY29udGV4dCA9IGtzdHJkdXAoY29udGV4dC0+c3RyLCBHRlBfQVRPTUlDKTsKKwkJaWYgKCEoKnNjb250ZXh0KSkKKwkJCXJldHVybiAtRU5PTUVNOworCQlyZXR1cm4gMDsKKwl9CisKIAkvKiBDb21wdXRlIHRoZSBzaXplIG9mIHRoZSBjb250ZXh0LiAqLwogCSpzY29udGV4dF9sZW4gKz0gc3RybGVuKHBvbGljeWRiLnBfdXNlcl92YWxfdG9fbmFtZVtjb250ZXh0LT51c2VyIC0gMV0pICsgMTsKIAkqc2NvbnRleHRfbGVuICs9IHN0cmxlbihwb2xpY3lkYi5wX3JvbGVfdmFsX3RvX25hbWVbY29udGV4dC0+cm9sZSAtIDFdKSArIDE7CkBAIC02NTUsMTcgKzY2NSw4IEBACiAJcmV0dXJuIGluaXRpYWxfc2lkX3RvX3N0cmluZ1tzaWRdOwogfQogCi0vKioKLSAqIHNlY3VyaXR5X3NpZF90b19jb250ZXh0IC0gT2J0YWluIGEgY29udGV4dCBmb3IgYSBnaXZlbiBTSUQuCi0gKiBAc2lkOiBzZWN1cml0eSBpZGVudGlmaWVyLCBTSUQKLSAqIEBzY29udGV4dDogc2VjdXJpdHkgY29udGV4dAotICogQHNjb250ZXh0X2xlbjogbGVuZ3RoIGluIGJ5dGVzCi0gKgotICogV3JpdGUgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29udGV4dCBhc3NvY2lhdGVkIHdpdGggQHNpZAotICogaW50byBhIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBzdHJpbmcgb2YgdGhlIGNvcnJlY3Qgc2l6ZS4gIFNldCBAc2NvbnRleHQKLSAqIHRvIHBvaW50IHRvIHRoaXMgc3RyaW5nIGFuZCBzZXQgQHNjb250ZXh0X2xlbiB0byB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuCi0gKi8KLWludCBzZWN1cml0eV9zaWRfdG9fY29udGV4dCh1MzIgc2lkLCBjaGFyICoqc2NvbnRleHQsIHUzMiAqc2NvbnRleHRfbGVuKQorc3RhdGljIGludCBzZWN1cml0eV9zaWRfdG9fY29udGV4dF9jb3JlKHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwKKwkJCQkJdTMyICpzY29udGV4dF9sZW4sIGludCBmb3JjZSkKIHsKIAlzdHJ1Y3QgY29udGV4dCAqY29udGV4dDsKIAlpbnQgcmMgPSAwOwpAQCAtNjkyLDggKzY5MywxMSBAQAogCQlyYyA9IC1FSU5WQUw7CiAJCWdvdG8gb3V0OwogCX0KLQlQT0xJQ1lfUkRMT0NLOwotCWNvbnRleHQgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNpZCk7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKKwlpZiAoZm9yY2UpCisJCWNvbnRleHQgPSBzaWR0YWJfc2VhcmNoX2ZvcmNlKCZzaWR0YWIsIHNpZCk7CisJZWxzZQorCQljb250ZXh0ID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBzaWQpOwogCWlmICghY29udGV4dCkgewogCQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICVzOiAgdW5yZWNvZ25pemVkIFNJRCAlZFxuIiwKIAkJCV9fZnVuY19fLCBzaWQpOwpAQCAtNzAyLDU5ICs3MDYsNTQgQEAKIAl9CiAJcmMgPSBjb250ZXh0X3N0cnVjdF90b19zdHJpbmcoY29udGV4dCwgc2NvbnRleHQsIHNjb250ZXh0X2xlbik7CiBvdXRfdW5sb2NrOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiBvdXQ6CiAJcmV0dXJuIHJjOwogCiB9CiAKLXN0YXRpYyBpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWRfY29yZShjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKLQkJCQkJdTMyICpzaWQsIHUzMiBkZWZfc2lkLCBnZnBfdCBnZnBfZmxhZ3MpCisvKioKKyAqIHNlY3VyaXR5X3NpZF90b19jb250ZXh0IC0gT2J0YWluIGEgY29udGV4dCBmb3IgYSBnaXZlbiBTSUQuCisgKiBAc2lkOiBzZWN1cml0eSBpZGVudGlmaWVyLCBTSUQKKyAqIEBzY29udGV4dDogc2VjdXJpdHkgY29udGV4dAorICogQHNjb250ZXh0X2xlbjogbGVuZ3RoIGluIGJ5dGVzCisgKgorICogV3JpdGUgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29udGV4dCBhc3NvY2lhdGVkIHdpdGggQHNpZAorICogaW50byBhIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBzdHJpbmcgb2YgdGhlIGNvcnJlY3Qgc2l6ZS4gIFNldCBAc2NvbnRleHQKKyAqIHRvIHBvaW50IHRvIHRoaXMgc3RyaW5nIGFuZCBzZXQgQHNjb250ZXh0X2xlbiB0byB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuCisgKi8KK2ludCBzZWN1cml0eV9zaWRfdG9fY29udGV4dCh1MzIgc2lkLCBjaGFyICoqc2NvbnRleHQsIHUzMiAqc2NvbnRleHRfbGVuKQogewotCWNoYXIgKnNjb250ZXh0MjsKLQlzdHJ1Y3QgY29udGV4dCBjb250ZXh0OworCXJldHVybiBzZWN1cml0eV9zaWRfdG9fY29udGV4dF9jb3JlKHNpZCwgc2NvbnRleHQsIHNjb250ZXh0X2xlbiwgMCk7Cit9CisKK2ludCBzZWN1cml0eV9zaWRfdG9fY29udGV4dF9mb3JjZSh1MzIgc2lkLCBjaGFyICoqc2NvbnRleHQsIHUzMiAqc2NvbnRleHRfbGVuKQoreworCXJldHVybiBzZWN1cml0eV9zaWRfdG9fY29udGV4dF9jb3JlKHNpZCwgc2NvbnRleHQsIHNjb250ZXh0X2xlbiwgMSk7Cit9CisKKy8qCisgKiBDYXZlYXQ6ICBNdXRhdGVzIHNjb250ZXh0LgorICovCitzdGF0aWMgaW50IHN0cmluZ190b19jb250ZXh0X3N0cnVjdChzdHJ1Y3QgcG9saWN5ZGIgKnBvbCwKKwkJCQkgICAgc3RydWN0IHNpZHRhYiAqc2lkdGFicCwKKwkJCQkgICAgY2hhciAqc2NvbnRleHQsCisJCQkJICAgIHUzMiBzY29udGV4dF9sZW4sCisJCQkJICAgIHN0cnVjdCBjb250ZXh0ICpjdHgsCisJCQkJICAgIHUzMiBkZWZfc2lkKQorewogCXN0cnVjdCByb2xlX2RhdHVtICpyb2xlOwogCXN0cnVjdCB0eXBlX2RhdHVtICp0eXBkYXR1bTsKIAlzdHJ1Y3QgdXNlcl9kYXR1bSAqdXNyZGF0dW07CiAJY2hhciAqc2NvbnRleHRwLCAqcCwgb2xkYzsKIAlpbnQgcmMgPSAwOwogCi0JaWYgKCFzc19pbml0aWFsaXplZCkgewotCQlpbnQgaTsKLQotCQlmb3IgKGkgPSAxOyBpIDwgU0VDSU5JVFNJRF9OVU07IGkrKykgewotCQkJaWYgKCFzdHJjbXAoaW5pdGlhbF9zaWRfdG9fc3RyaW5nW2ldLCBzY29udGV4dCkpIHsKLQkJCQkqc2lkID0gaTsKLQkJCQlnb3RvIG91dDsKLQkJCX0KLQkJfQotCQkqc2lkID0gU0VDSU5JVFNJRF9LRVJORUw7Ci0JCWdvdG8gb3V0OwotCX0KLQkqc2lkID0gU0VDU0lEX05VTEw7Ci0KLQkvKiBDb3B5IHRoZSBzdHJpbmcgc28gdGhhdCB3ZSBjYW4gbW9kaWZ5IHRoZSBjb3B5IGFzIHdlIHBhcnNlIGl0LgotCSAgIFRoZSBzdHJpbmcgc2hvdWxkIGFscmVhZHkgYnkgbnVsbCB0ZXJtaW5hdGVkLCBidXQgd2UgYXBwZW5kIGEKLQkgICBudWxsIHN1ZmZpeCB0byB0aGUgY29weSB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIHRoZSBleGlzdGluZwotCSAgIGF0dHIgcGFja2FnZSwgd2hpY2ggZG9lc24ndCB2aWV3IHRoZSBudWxsIHRlcm1pbmF0b3IgYXMgcGFydAotCSAgIG9mIHRoZSBhdHRyaWJ1dGUgdmFsdWUuICovCi0Jc2NvbnRleHQyID0ga21hbGxvYyhzY29udGV4dF9sZW4rMSwgZ2ZwX2ZsYWdzKTsKLQlpZiAoIXNjb250ZXh0MikgewotCQlyYyA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0OwotCX0KLQltZW1jcHkoc2NvbnRleHQyLCBzY29udGV4dCwgc2NvbnRleHRfbGVuKTsKLQlzY29udGV4dDJbc2NvbnRleHRfbGVuXSA9IDA7Ci0KLQljb250ZXh0X2luaXQoJmNvbnRleHQpOwotCSpzaWQgPSBTRUNTSURfTlVMTDsKLQotCVBPTElDWV9SRExPQ0s7CisJY29udGV4dF9pbml0KGN0eCk7CiAKIAkvKiBQYXJzZSB0aGUgc2VjdXJpdHkgY29udGV4dC4gKi8KIAogCXJjID0gLUVJTlZBTDsKLQlzY29udGV4dHAgPSAoY2hhciAqKSBzY29udGV4dDI7CisJc2NvbnRleHRwID0gKGNoYXIgKikgc2NvbnRleHQ7CiAKIAkvKiBFeHRyYWN0IHRoZSB1c2VyLiAqLwogCXAgPSBzY29udGV4dHA7CkBAIC03NjIsMTUgKzc2MSwxNSBAQAogCQlwKys7CiAKIAlpZiAoKnAgPT0gMCkKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dDsKIAogCSpwKysgPSAwOwogCi0JdXNyZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX3VzZXJzLnRhYmxlLCBzY29udGV4dHApOworCXVzcmRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9sLT5wX3VzZXJzLnRhYmxlLCBzY29udGV4dHApOwogCWlmICghdXNyZGF0dW0pCi0JCWdvdG8gb3V0X3VubG9jazsKKwkJZ290byBvdXQ7CiAKLQljb250ZXh0LnVzZXIgPSB1c3JkYXR1bS0+dmFsdWU7CisJY3R4LT51c2VyID0gdXNyZGF0dW0tPnZhbHVlOwogCiAJLyogRXh0cmFjdCByb2xlLiAqLwogCXNjb250ZXh0cCA9IHA7CkBAIC03NzgsMTQgKzc3NywxNCBAQAogCQlwKys7CiAKIAlpZiAoKnAgPT0gMCkKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dDsKIAogCSpwKysgPSAwOwogCi0Jcm9sZSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfcm9sZXMudGFibGUsIHNjb250ZXh0cCk7CisJcm9sZSA9IGhhc2h0YWJfc2VhcmNoKHBvbC0+cF9yb2xlcy50YWJsZSwgc2NvbnRleHRwKTsKIAlpZiAoIXJvbGUpCi0JCWdvdG8gb3V0X3VubG9jazsKLQljb250ZXh0LnJvbGUgPSByb2xlLT52YWx1ZTsKKwkJZ290byBvdXQ7CisJY3R4LT5yb2xlID0gcm9sZS0+dmFsdWU7CiAKIAkvKiBFeHRyYWN0IHR5cGUuICovCiAJc2NvbnRleHRwID0gcDsKQEAgLTc5NCwzNiArNzkzLDkwIEBACiAJb2xkYyA9ICpwOwogCSpwKysgPSAwOwogCi0JdHlwZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX3R5cGVzLnRhYmxlLCBzY29udGV4dHApOworCXR5cGRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9sLT5wX3R5cGVzLnRhYmxlLCBzY29udGV4dHApOwogCWlmICghdHlwZGF0dW0pCi0JCWdvdG8gb3V0X3VubG9jazsKKwkJZ290byBvdXQ7CiAKLQljb250ZXh0LnR5cGUgPSB0eXBkYXR1bS0+dmFsdWU7CisJY3R4LT50eXBlID0gdHlwZGF0dW0tPnZhbHVlOwogCi0JcmMgPSBtbHNfY29udGV4dF90b19zaWQob2xkYywgJnAsICZjb250ZXh0LCAmc2lkdGFiLCBkZWZfc2lkKTsKKwlyYyA9IG1sc19jb250ZXh0X3RvX3NpZChwb2wsIG9sZGMsICZwLCBjdHgsIHNpZHRhYnAsIGRlZl9zaWQpOwogCWlmIChyYykKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dDsKIAotCWlmICgocCAtIHNjb250ZXh0MikgPCBzY29udGV4dF9sZW4pIHsKKwlpZiAoKHAgLSBzY29udGV4dCkgPCBzY29udGV4dF9sZW4pIHsKIAkJcmMgPSAtRUlOVkFMOwotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCX0KIAogCS8qIENoZWNrIHRoZSB2YWxpZGl0eSBvZiB0aGUgbmV3IGNvbnRleHQuICovCi0JaWYgKCFwb2xpY3lkYl9jb250ZXh0X2lzdmFsaWQoJnBvbGljeWRiLCAmY29udGV4dCkpIHsKKwlpZiAoIXBvbGljeWRiX2NvbnRleHRfaXN2YWxpZChwb2wsIGN0eCkpIHsKIAkJcmMgPSAtRUlOVkFMOwotCQlnb3RvIG91dF91bmxvY2s7CisJCWNvbnRleHRfZGVzdHJveShjdHgpOworCQlnb3RvIG91dDsKIAl9Ci0JLyogT2J0YWluIHRoZSBuZXcgc2lkLiAqLwotCXJjID0gc2lkdGFiX2NvbnRleHRfdG9fc2lkKCZzaWR0YWIsICZjb250ZXh0LCBzaWQpOwotb3V0X3VubG9jazoKLQlQT0xJQ1lfUkRVTkxPQ0s7Ci0JY29udGV4dF9kZXN0cm95KCZjb250ZXh0KTsKLQlrZnJlZShzY29udGV4dDIpOworCXJjID0gMDsKIG91dDoKIAlyZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWRfY29yZShjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKKwkJCQkJdTMyICpzaWQsIHUzMiBkZWZfc2lkLCBnZnBfdCBnZnBfZmxhZ3MsCisJCQkJCWludCBmb3JjZSkKK3sKKwljaGFyICpzY29udGV4dDIsICpzdHIgPSBOVUxMOworCXN0cnVjdCBjb250ZXh0IGNvbnRleHQ7CisJaW50IHJjID0gMDsKKworCWlmICghc3NfaW5pdGlhbGl6ZWQpIHsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMTsgaSA8IFNFQ0lOSVRTSURfTlVNOyBpKyspIHsKKwkJCWlmICghc3RyY21wKGluaXRpYWxfc2lkX3RvX3N0cmluZ1tpXSwgc2NvbnRleHQpKSB7CisJCQkJKnNpZCA9IGk7CisJCQkJcmV0dXJuIDA7CisJCQl9CisJCX0KKwkJKnNpZCA9IFNFQ0lOSVRTSURfS0VSTkVMOworCQlyZXR1cm4gMDsKKwl9CisJKnNpZCA9IFNFQ1NJRF9OVUxMOworCisJLyogQ29weSB0aGUgc3RyaW5nIHNvIHRoYXQgd2UgY2FuIG1vZGlmeSB0aGUgY29weSBhcyB3ZSBwYXJzZSBpdC4gKi8KKwlzY29udGV4dDIgPSBrbWFsbG9jKHNjb250ZXh0X2xlbisxLCBnZnBfZmxhZ3MpOworCWlmICghc2NvbnRleHQyKQorCQlyZXR1cm4gLUVOT01FTTsKKwltZW1jcHkoc2NvbnRleHQyLCBzY29udGV4dCwgc2NvbnRleHRfbGVuKTsKKwlzY29udGV4dDJbc2NvbnRleHRfbGVuXSA9IDA7CisKKwlpZiAoZm9yY2UpIHsKKwkJLyogU2F2ZSBhbm90aGVyIGNvcHkgZm9yIHN0b3JpbmcgaW4gdW5pbnRlcnByZXRlZCBmb3JtICovCisJCXN0ciA9IGtzdHJkdXAoc2NvbnRleHQyLCBnZnBfZmxhZ3MpOworCQlpZiAoIXN0cikgeworCQkJa2ZyZWUoc2NvbnRleHQyKTsKKwkJCXJldHVybiAtRU5PTUVNOworCQl9CisJfQorCisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKKwlyYyA9IHN0cmluZ190b19jb250ZXh0X3N0cnVjdCgmcG9saWN5ZGIsICZzaWR0YWIsCisJCQkJICAgICAgc2NvbnRleHQyLCBzY29udGV4dF9sZW4sCisJCQkJICAgICAgJmNvbnRleHQsIGRlZl9zaWQpOworCWlmIChyYyA9PSAtRUlOVkFMICYmIGZvcmNlKSB7CisJCWNvbnRleHQuc3RyID0gc3RyOworCQljb250ZXh0LmxlbiA9IHNjb250ZXh0X2xlbjsKKwkJc3RyID0gTlVMTDsKKwl9IGVsc2UgaWYgKHJjKQorCQlnb3RvIG91dDsKKwlyYyA9IHNpZHRhYl9jb250ZXh0X3RvX3NpZCgmc2lkdGFiLCAmY29udGV4dCwgc2lkKTsKKwlpZiAocmMpCisJCWNvbnRleHRfZGVzdHJveSgmY29udGV4dCk7CitvdXQ6CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOworCWtmcmVlKHNjb250ZXh0Mik7CisJa2ZyZWUoc3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKIC8qKgogICogc2VjdXJpdHlfY29udGV4dF90b19zaWQgLSBPYnRhaW4gYSBTSUQgZm9yIGEgZ2l2ZW4gc2VjdXJpdHkgY29udGV4dC4KICAqIEBzY29udGV4dDogc2VjdXJpdHkgY29udGV4dApAQCAtODM4LDcgKzg5MSw3IEBACiBpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWQoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sIHUzMiAqc2lkKQogewogCXJldHVybiBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9jb3JlKHNjb250ZXh0LCBzY29udGV4dF9sZW4sCi0JCQkJCSAgICBzaWQsIFNFQ1NJRF9OVUxMLCBHRlBfS0VSTkVMKTsKKwkJCQkJICAgIHNpZCwgU0VDU0lEX05VTEwsIEdGUF9LRVJORUwsIDApOwogfQogCiAvKioKQEAgLTg1NSw2ICs5MDgsNyBAQAogICogVGhlIGRlZmF1bHQgU0lEIGlzIHBhc3NlZCB0byB0aGUgTUxTIGxheWVyIHRvIGJlIHVzZWQgdG8gYWxsb3cKICAqIGtlcm5lbCBsYWJlbGluZyBvZiB0aGUgTUxTIGZpZWxkIGlmIHRoZSBNTFMgZmllbGQgaXMgbm90IHByZXNlbnQKICAqIChmb3IgdXBncmFkaW5nIHRvIE1MUyB3aXRob3V0IGZ1bGwgcmVsYWJlbCkuCisgKiBJbXBsaWNpdGx5IGZvcmNlcyBhZGRpbmcgb2YgdGhlIGNvbnRleHQgZXZlbiBpZiBpdCBjYW5ub3QgYmUgbWFwcGVkIHlldC4KICAqIFJldHVybnMgLSVFSU5WQUwgaWYgdGhlIGNvbnRleHQgaXMgaW52YWxpZCwgLSVFTk9NRU0gaWYgaW5zdWZmaWNpZW50CiAgKiBtZW1vcnkgaXMgYXZhaWxhYmxlLCBvciAwIG9uIHN1Y2Nlc3MuCiAgKi8KQEAgLTg2Miw3ICs5MTYsMTQgQEAKIAkJCQkgICAgdTMyICpzaWQsIHUzMiBkZWZfc2lkLCBnZnBfdCBnZnBfZmxhZ3MpCiB7CiAJcmV0dXJuIHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2NvcmUoc2NvbnRleHQsIHNjb250ZXh0X2xlbiwKLQkJCQkJICAgIHNpZCwgZGVmX3NpZCwgZ2ZwX2ZsYWdzKTsKKwkJCQkJICAgIHNpZCwgZGVmX3NpZCwgZ2ZwX2ZsYWdzLCAxKTsKK30KKworaW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAorCQkJCSAgdTMyICpzaWQpCit7CisJcmV0dXJuIHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2NvcmUoc2NvbnRleHQsIHNjb250ZXh0X2xlbiwKKwkJCQkJICAgIHNpZCwgU0VDU0lEX05VTEwsIEdGUF9LRVJORUwsIDEpOwogfQogCiBzdGF0aWMgaW50IGNvbXB1dGVfc2lkX2hhbmRsZV9pbnZhbGlkX2NvbnRleHQoCkBAIC05MjIsNyArOTgzLDcgQEAKIAogCWNvbnRleHRfaW5pdCgmbmV3Y29udGV4dCk7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlzY29udGV4dCA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc3NpZCk7CiAJaWYgKCFzY29udGV4dCkgewpAQCAtMTAyNyw3ICsxMDg4LDcgQEAKIAkvKiBPYnRhaW4gdGhlIHNpZCBmb3IgdGhlIGNvbnRleHQuICovCiAJcmMgPSBzaWR0YWJfY29udGV4dF90b19zaWQoJnNpZHRhYiwgJm5ld2NvbnRleHQsIG91dF9zaWQpOwogb3V0X3VubG9jazoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCWNvbnRleHRfZGVzdHJveSgmbmV3Y29udGV4dCk7CiBvdXQ6CiAJcmV0dXJuIHJjOwpAQCAtMTExMCw2ICsxMTcxLDcgQEAKIAljb25zdCBzdHJ1Y3Qgc2VsaW51eF9jbGFzc19wZXJtICprZGVmcyA9ICZzZWxpbnV4X2NsYXNzX3Blcm07CiAJY29uc3QgY2hhciAqZGVmX2NsYXNzLCAqZGVmX3Blcm0sICpwb2xfY2xhc3M7CiAJc3RydWN0IHN5bXRhYiAqcGVybXM7CisJYm9vbCBwcmludF91bmtub3duX2hhbmRsZSA9IDA7CiAKIAlpZiAocC0+YWxsb3dfdW5rbm93bikgewogCQl1MzIgbnVtX2NsYXNzZXMgPSBrZGVmcy0+Y3RzX2xlbjsKQEAgLTExMzAsNiArMTE5Miw3IEBACiAJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQlpZiAocC0+YWxsb3dfdW5rbm93bikKIAkJCQlwLT51bmRlZmluZWRfcGVybXNbaS0xXSA9IH4wVTsKKwkJCXByaW50X3Vua25vd25faGFuZGxlID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9CiAJCXBvbF9jbGFzcyA9IHAtPnBfY2xhc3NfdmFsX3RvX25hbWVbaS0xXTsKQEAgLTExNTksNiArMTIyMiw3IEBACiAJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQlpZiAocC0+YWxsb3dfdW5rbm93bikKIAkJCQlwLT51bmRlZmluZWRfcGVybXNbY2xhc3NfdmFsLTFdIHw9IHBlcm1fdmFsOworCQkJcHJpbnRfdW5rbm93bl9oYW5kbGUgPSAxOwogCQkJY29udGludWU7CiAJCX0KIAkJcGVyZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwZXJtcy0+dGFibGUsIGRlZl9wZXJtKTsKQEAgLTEyMDYsNiArMTI3MCw3IEBACiAJCQkJCXJldHVybiAtRUlOVkFMOwogCQkJCWlmIChwLT5hbGxvd191bmtub3duKQogCQkJCQlwLT51bmRlZmluZWRfcGVybXNbY2xhc3NfdmFsLTFdIHw9ICgxIDw8IGopOworCQkJCXByaW50X3Vua25vd25faGFuZGxlID0gMTsKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJCXBlcmRhdHVtID0gaGFzaHRhYl9zZWFyY2gocGVybXMtPnRhYmxlLCBkZWZfcGVybSk7CkBAIC0xMjIzLDYgKzEyODgsOSBAQAogCQkJfQogCQl9CiAJfQorCWlmIChwcmludF91bmtub3duX2hhbmRsZSkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiU0VMaW51eDogdGhlIGFib3ZlIHVua25vd24gY2xhc3NlcyBhbmQgcGVybWlzc2lvbnMgd2lsbCBiZSAlc1xuIiwKKwkJCShzZWN1cml0eV9nZXRfYWxsb3dfdW5rbm93bigpID8gImFsbG93ZWQiIDogImRlbmllZCIpKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTI0Niw5ICsxMzE0LDEyIEBACiAJCWNoYXIgKnM7CiAJCXUzMiBsZW47CiAKLQkJY29udGV4dF9zdHJ1Y3RfdG9fc3RyaW5nKGNvbnRleHQsICZzLCAmbGVuKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJTRUxpbnV4OiAgY29udGV4dCAlcyBpcyBpbnZhbGlkXG4iLCBzKTsKLQkJa2ZyZWUocyk7CisJCWlmICghY29udGV4dF9zdHJ1Y3RfdG9fc3RyaW5nKGNvbnRleHQsICZzLCAmbGVuKSkgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkgICAgICAgIlNFTGludXg6ICBDb250ZXh0ICVzIHdvdWxkIGJlIGludmFsaWQgaWYgZW5mb3JjaW5nXG4iLAorCQkJICAgICAgIHMpOworCQkJa2ZyZWUocyk7CisJCX0KIAl9CiAJcmV0dXJuIHJjOwogfQpAQCAtMTI4MCw2ICsxMzUxLDM3IEBACiAKIAlhcmdzID0gcDsKIAorCWlmIChjLT5zdHIpIHsKKwkJc3RydWN0IGNvbnRleHQgY3R4OworCQlzID0ga3N0cmR1cChjLT5zdHIsIEdGUF9LRVJORUwpOworCQlpZiAoIXMpIHsKKwkJCXJjID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0OworCQl9CisJCXJjID0gc3RyaW5nX3RvX2NvbnRleHRfc3RydWN0KGFyZ3MtPm5ld3AsIE5VTEwsIHMsCisJCQkJCSAgICAgIGMtPmxlbiwgJmN0eCwgU0VDU0lEX05VTEwpOworCQlrZnJlZShzKTsKKwkJaWYgKCFyYykgeworCQkJcHJpbnRrKEtFUk5fSU5GTworCQkgICAgICAgIlNFTGludXg6ICBDb250ZXh0ICVzIGJlY2FtZSB2YWxpZCAobWFwcGVkKS5cbiIsCisJCQkgICAgICAgYy0+c3RyKTsKKwkJCS8qIFJlcGxhY2Ugc3RyaW5nIHdpdGggbWFwcGVkIHJlcHJlc2VudGF0aW9uLiAqLworCQkJa2ZyZWUoYy0+c3RyKTsKKwkJCW1lbWNweShjLCAmY3R4LCBzaXplb2YoKmMpKTsKKwkJCWdvdG8gb3V0OworCQl9IGVsc2UgaWYgKHJjID09IC1FSU5WQUwpIHsKKwkJCS8qIFJldGFpbiBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIGxhdGVyIG1hcHBpbmcuICovCisJCQlyYyA9IDA7CisJCQlnb3RvIG91dDsKKwkJfSBlbHNlIHsKKwkJCS8qIE90aGVyIGVycm9yIGNvbmRpdGlvbiwgZS5nLiBFTk9NRU0uICovCisJCQlwcmludGsoS0VSTl9FUlIKKwkJICAgICAgICJTRUxpbnV4OiAgIFVuYWJsZSB0byBtYXAgY29udGV4dCAlcywgcmMgPSAlZC5cbiIsCisJCQkgICAgICAgYy0+c3RyLCAtcmMpOworCQkJZ290byBvdXQ7CisJCX0KKwl9CisKIAlyYyA9IGNvbnRleHRfY3B5KCZvbGRjLCBjKTsKIAlpZiAocmMpCiAJCWdvdG8gb3V0OwpAQCAtMTMxOSwxMyArMTQyMSwyMSBAQAogCX0KIAogCWNvbnRleHRfZGVzdHJveSgmb2xkYyk7CisJcmMgPSAwOwogb3V0OgogCXJldHVybiByYzsKIGJhZDoKLQljb250ZXh0X3N0cnVjdF90b19zdHJpbmcoJm9sZGMsICZzLCAmbGVuKTsKKwkvKiBNYXAgb2xkIHJlcHJlc2VudGF0aW9uIHRvIHN0cmluZyBhbmQgc2F2ZSBpdC4gKi8KKwlpZiAoY29udGV4dF9zdHJ1Y3RfdG9fc3RyaW5nKCZvbGRjLCAmcywgJmxlbikpCisJCXJldHVybiAtRU5PTUVNOwogCWNvbnRleHRfZGVzdHJveSgmb2xkYyk7Ci0JcHJpbnRrKEtFUk5fRVJSICJTRUxpbnV4OiAgaW52YWxpZGF0aW5nIGNvbnRleHQgJXNcbiIsIHMpOwotCWtmcmVlKHMpOworCWNvbnRleHRfZGVzdHJveShjKTsKKwljLT5zdHIgPSBzOworCWMtPmxlbiA9IGxlbjsKKwlwcmludGsoS0VSTl9JTkZPCisJICAgICAgICJTRUxpbnV4OiAgQ29udGV4dCAlcyBiZWNhbWUgaW52YWxpZCAodW5tYXBwZWQpLlxuIiwKKwkgICAgICAgYy0+c3RyKTsKKwlyYyA9IDA7CiAJZ290byBvdXQ7CiB9CiAKQEAgLTEzNTksMTcgKzE0NjksMTMgQEAKIAlpbnQgcmMgPSAwOwogCXN0cnVjdCBwb2xpY3lfZmlsZSBmaWxlID0geyBkYXRhLCBsZW4gfSwgKmZwID0gJmZpbGU7CiAKLQlMT0FEX0xPQ0s7Ci0KIAlpZiAoIXNzX2luaXRpYWxpemVkKSB7CiAJCWF2dGFiX2NhY2hlX2luaXQoKTsKIAkJaWYgKHBvbGljeWRiX3JlYWQoJnBvbGljeWRiLCBmcCkpIHsKLQkJCUxPQURfVU5MT0NLOwogCQkJYXZ0YWJfY2FjaGVfZGVzdHJveSgpOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAkJaWYgKHBvbGljeWRiX2xvYWRfaXNpZHMoJnBvbGljeWRiLCAmc2lkdGFiKSkgewotCQkJTE9BRF9VTkxPQ0s7CiAJCQlwb2xpY3lkYl9kZXN0cm95KCZwb2xpY3lkYik7CiAJCQlhdnRhYl9jYWNoZV9kZXN0cm95KCk7CiAJCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTEzNzgsNyArMTQ4NCw2IEBACiAJCWlmICh2YWxpZGF0ZV9jbGFzc2VzKCZwb2xpY3lkYikpIHsKIAkJCXByaW50ayhLRVJOX0VSUgogCQkJICAgICAgICJTRUxpbnV4OiAgdGhlIGRlZmluaXRpb24gb2YgYSBjbGFzcyBpcyBpbmNvcnJlY3RcbiIpOwotCQkJTE9BRF9VTkxPQ0s7CiAJCQlzaWR0YWJfZGVzdHJveSgmc2lkdGFiKTsKIAkJCXBvbGljeWRiX2Rlc3Ryb3koJnBvbGljeWRiKTsKIAkJCWF2dGFiX2NhY2hlX2Rlc3Ryb3koKTsKQEAgLTEzODgsNyArMTQ5Myw2IEBACiAJCXBvbGljeWRiX2xvYWRlZF92ZXJzaW9uID0gcG9saWN5ZGIucG9saWN5dmVyczsKIAkJc3NfaW5pdGlhbGl6ZWQgPSAxOwogCQlzZXFubyA9ICsrbGF0ZXN0X2dyYW50aW5nOwotCQlMT0FEX1VOTE9DSzsKIAkJc2VsaW51eF9jb21wbGV0ZV9pbml0KCk7CiAJCWF2Y19zc19yZXNldChzZXFubyk7CiAJCXNlbG5sX25vdGlmeV9wb2xpY3lsb2FkKHNlcW5vKTsKQEAgLTE0MDEsMTIgKzE1MDUsMTMgQEAKIAlzaWR0YWJfaGFzaF9ldmFsKCZzaWR0YWIsICJzaWRzIik7CiAjZW5kaWYKIAotCWlmIChwb2xpY3lkYl9yZWFkKCZuZXdwb2xpY3lkYiwgZnApKSB7Ci0JCUxPQURfVU5MT0NLOworCWlmIChwb2xpY3lkYl9yZWFkKCZuZXdwb2xpY3lkYiwgZnApKQogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAKLQlzaWR0YWJfaW5pdCgmbmV3c2lkdGFiKTsKKwlpZiAoc2lkdGFiX2luaXQoJm5ld3NpZHRhYikpIHsKKwkJcG9saWN5ZGJfZGVzdHJveSgmbmV3cG9saWN5ZGIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CiAKIAkvKiBWZXJpZnkgdGhhdCB0aGUga2VybmVsIGRlZmluZWQgY2xhc3NlcyBhcmUgY29ycmVjdC4gKi8KIAlpZiAodmFsaWRhdGVfY2xhc3NlcygmbmV3cG9saWN5ZGIpKSB7CkBAIC0xNDI5LDI1ICsxNTM0LDI4IEBACiAJCWdvdG8gZXJyOwogCX0KIAotCS8qIENvbnZlcnQgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9ucyBvZiBjb250ZXh0cwotCSAgIGluIHRoZSBuZXcgU0lEIHRhYmxlIGFuZCByZW1vdmUgaW52YWxpZCBTSURzLiAqLworCS8qCisJICogQ29udmVydCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb25zIG9mIGNvbnRleHRzCisJICogaW4gdGhlIG5ldyBTSUQgdGFibGUuCisJICovCiAJYXJncy5vbGRwID0gJnBvbGljeWRiOwogCWFyZ3MubmV3cCA9ICZuZXdwb2xpY3lkYjsKLQlzaWR0YWJfbWFwX3JlbW92ZV9vbl9lcnJvcigmbmV3c2lkdGFiLCBjb252ZXJ0X2NvbnRleHQsICZhcmdzKTsKKwlyYyA9IHNpZHRhYl9tYXAoJm5ld3NpZHRhYiwgY29udmVydF9jb250ZXh0LCAmYXJncyk7CisJaWYgKHJjKQorCQlnb3RvIGVycjsKIAogCS8qIFNhdmUgdGhlIG9sZCBwb2xpY3lkYiBhbmQgU0lEIHRhYmxlIHRvIGZyZWUgbGF0ZXIuICovCiAJbWVtY3B5KCZvbGRwb2xpY3lkYiwgJnBvbGljeWRiLCBzaXplb2YgcG9saWN5ZGIpOwogCXNpZHRhYl9zZXQoJm9sZHNpZHRhYiwgJnNpZHRhYik7CiAKIAkvKiBJbnN0YWxsIHRoZSBuZXcgcG9saWN5ZGIgYW5kIFNJRCB0YWJsZS4gKi8KLQlQT0xJQ1lfV1JMT0NLOworCXdyaXRlX2xvY2tfaXJxKCZwb2xpY3lfcndsb2NrKTsKIAltZW1jcHkoJnBvbGljeWRiLCAmbmV3cG9saWN5ZGIsIHNpemVvZiBwb2xpY3lkYik7CiAJc2lkdGFiX3NldCgmc2lkdGFiLCAmbmV3c2lkdGFiKTsKIAlzZWN1cml0eV9sb2FkX3BvbGljeWNhcHMoKTsKIAlzZXFubyA9ICsrbGF0ZXN0X2dyYW50aW5nOwogCXBvbGljeWRiX2xvYWRlZF92ZXJzaW9uID0gcG9saWN5ZGIucG9saWN5dmVyczsKLQlQT0xJQ1lfV1JVTkxPQ0s7Ci0JTE9BRF9VTkxPQ0s7CisJd3JpdGVfdW5sb2NrX2lycSgmcG9saWN5X3J3bG9jayk7CiAKIAkvKiBGcmVlIHRoZSBvbGQgcG9saWN5ZGIgYW5kIFNJRCB0YWJsZS4gKi8KIAlwb2xpY3lkYl9kZXN0cm95KCZvbGRwb2xpY3lkYik7CkBAIC0xNDYxLDcgKzE1NjksNiBAQAogCXJldHVybiAwOwogCiBlcnI6Ci0JTE9BRF9VTkxPQ0s7CiAJc2lkdGFiX2Rlc3Ryb3koJm5ld3NpZHRhYik7CiAJcG9saWN5ZGJfZGVzdHJveSgmbmV3cG9saWN5ZGIpOwogCXJldHVybiByYzsKQEAgLTE0NzksNyArMTU4Niw3IEBACiAJc3RydWN0IG9jb250ZXh0ICpjOwogCWludCByYyA9IDA7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAljID0gcG9saWN5ZGIub2NvbnRleHRzW09DT05fUE9SVF07CiAJd2hpbGUgKGMpIHsKQEAgLTE1MDQsNyArMTYxMSw3IEBACiAJfQogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTE1MTgsNyArMTYyNSw3IEBACiAJaW50IHJjID0gMDsKIAlzdHJ1Y3Qgb2NvbnRleHQgKmM7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAljID0gcG9saWN5ZGIub2NvbnRleHRzW09DT05fTkVUSUZdOwogCXdoaWxlIChjKSB7CkBAIC0xNTQ1LDcgKzE2NTIsNyBAQAogCQkqaWZfc2lkID0gU0VDSU5JVFNJRF9ORVRJRjsKIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0xNTc3LDcgKzE2ODQsNyBAQAogCWludCByYyA9IDA7CiAJc3RydWN0IG9jb250ZXh0ICpjOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJc3dpdGNoIChkb21haW4pIHsKIAljYXNlIEFGX0lORVQ6IHsKQEAgLTE2MzIsNyArMTczOSw3IEBACiAJfQogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTE2NzEsNyArMTc3OCw5IEBACiAJaWYgKCFzc19pbml0aWFsaXplZCkKIAkJZ290byBvdXQ7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CisKKwljb250ZXh0X2luaXQoJnVzZXJjb24pOwogCiAJZnJvbWNvbiA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgZnJvbXNpZCk7CiAJaWYgKCFmcm9tY29uKSB7CkBAIC0xNzIyLDcgKzE4MzEsNyBAQAogCX0KIAogb3V0X3VubG9jazoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCWlmIChyYyB8fCAhbXluZWwpIHsKIAkJa2ZyZWUobXlzaWRzKTsKIAkJZ290byBvdXQ7CkBAIC0xNzc1LDcgKzE4ODQsNyBAQAogCXdoaWxlIChwYXRoWzBdID09ICcvJyAmJiBwYXRoWzFdID09ICcvJykKIAkJcGF0aCsrOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJZm9yIChnZW5mcyA9IHBvbGljeWRiLmdlbmZzOyBnZW5mczsgZ2VuZnMgPSBnZW5mcy0+bmV4dCkgewogCQljbXAgPSBzdHJjbXAoZnN0eXBlLCBnZW5mcy0+ZnN0eXBlKTsKQEAgLTE4MTIsNyArMTkyMSw3IEBACiAKIAkqc2lkID0gYy0+c2lkWzBdOwogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0xODMwLDcgKzE5MzksNyBAQAogCWludCByYyA9IDA7CiAJc3RydWN0IG9jb250ZXh0ICpjOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJYyA9IHBvbGljeWRiLm9jb250ZXh0c1tPQ09OX0ZTVVNFXTsKIAl3aGlsZSAoYykgewpAQCAtMTg2MCw3ICsxOTY5LDcgQEAKIAl9CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMTg2OCw3ICsxOTc3LDcgQEAKIHsKIAlpbnQgaSwgcmMgPSAtRU5PTUVNOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCSpuYW1lcyA9IE5VTEw7CiAJKnZhbHVlcyA9IE5VTEw7CiAKQEAgLTE4OTgsNyArMjAwNyw3IEBACiAJfQogCXJjID0gMDsKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIGVycjoKIAlpZiAoKm5hbWVzKSB7CkBAIC0xOTE2LDcgKzIwMjUsNyBAQAogCWludCBsZW5wLCBzZXFubyA9IDA7CiAJc3RydWN0IGNvbmRfbm9kZSAqY3VyOwogCi0JUE9MSUNZX1dSTE9DSzsKKwl3cml0ZV9sb2NrX2lycSgmcG9saWN5X3J3bG9jayk7CiAKIAlsZW5wID0gcG9saWN5ZGIucF9ib29scy5ucHJpbTsKIAlpZiAobGVuICE9IGxlbnApIHsKQEAgLTE5NTAsNyArMjA1OSw3IEBACiAJc2Vxbm8gPSArK2xhdGVzdF9ncmFudGluZzsKIAogb3V0OgotCVBPTElDWV9XUlVOTE9DSzsKKwl3cml0ZV91bmxvY2tfaXJxKCZwb2xpY3lfcndsb2NrKTsKIAlpZiAoIXJjKSB7CiAJCWF2Y19zc19yZXNldChzZXFubyk7CiAJCXNlbG5sX25vdGlmeV9wb2xpY3lsb2FkKHNlcW5vKTsKQEAgLTE5NjQsNyArMjA3Myw3IEBACiAJaW50IHJjID0gMDsKIAlpbnQgbGVuOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJbGVuID0gcG9saWN5ZGIucF9ib29scy5ucHJpbTsKIAlpZiAoYm9vbCA+PSBsZW4pIHsKQEAgLTE5NzQsNyArMjA4Myw3IEBACiAKIAlyYyA9IHBvbGljeWRiLmJvb2xfdmFsX3RvX3N0cnVjdFtib29sXS0+c3RhdGU7CiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTIwMjksNyArMjEzOCw3IEBACiAKIAljb250ZXh0X2luaXQoJm5ld2Nvbik7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAJY29udGV4dDEgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNpZCk7CiAJaWYgKCFjb250ZXh0MSkgewogCQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICVzOiAgdW5yZWNvZ25pemVkIFNJRCAlZFxuIiwKQEAgLTIwNzEsNyArMjE4MCw3IEBACiAJfQogCiBvdXRfdW5sb2NrOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJY29udGV4dF9kZXN0cm95KCZuZXdjb24pOwogb3V0OgogCXJldHVybiByYzsKQEAgLTIxMjgsNyArMjIzNyw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCW5sYmxfY3R4ID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBubGJsX3NpZCk7CiAJaWYgKCFubGJsX2N0eCkgewpAQCAtMjE0Nyw3ICsyMjU2LDcgQEAKIAlyYyA9IChtbHNfY29udGV4dF9jbXAobmxibF9jdHgsIHhmcm1fY3R4KSA/IDAgOiAtRUFDQ0VTKTsKIAogb3V0X3Nsb3dwYXRoOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJaWYgKHJjID09IDApCiAJCS8qIGF0IHByZXNlbnQgTmV0TGFiZWwgU0lEcy9sYWJlbHMgcmVhbGx5IG9ubHkgY2FycnkgTUxTCiAJCSAqIGluZm9ybWF0aW9uIHNvIGlmIHRoZSBNTFMgcG9ydGlvbiBvZiB0aGUgTmV0TGFiZWwgU0lECkBAIC0yMTc3LDcgKzIyODYsNyBAQAogewogCWludCByYyA9IC1FTk9NRU07CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAkqbmNsYXNzZXMgPSBwb2xpY3lkYi5wX2NsYXNzZXMubnByaW07CiAJKmNsYXNzZXMgPSBrY2FsbG9jKCpuY2xhc3Nlcywgc2l6ZW9mKCpjbGFzc2VzKSwgR0ZQX0FUT01JQyk7CkBAIC0yMTk0LDcgKzIzMDMsNyBAQAogCX0KIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0yMjE2LDcgKzIzMjUsNyBAQAogCWludCByYyA9IC1FTk9NRU0sIGk7CiAJc3RydWN0IGNsYXNzX2RhdHVtICptYXRjaDsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCW1hdGNoID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF9jbGFzc2VzLnRhYmxlLCBjbGFzcyk7CiAJaWYgKCFtYXRjaCkgewpAQCAtMjI0NCwxMSArMjM1MywxMSBAQAogCQlnb3RvIGVycjsKIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogCiBlcnI6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlmb3IgKGkgPSAwOyBpIDwgKm5wZXJtczsgaSsrKQogCQlrZnJlZSgoKnBlcm1zKVtpXSk7CiAJa2ZyZWUoKnBlcm1zKTsKQEAgLTIyNzksOSArMjM4OCw5IEBACiB7CiAJaW50IHJjOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCXJjID0gZWJpdG1hcF9nZXRfYml0KCZwb2xpY3lkYi5wb2xpY3ljYXBzLCByZXFfY2FwKTsKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCiAJcmV0dXJuIHJjOwogfQpAQCAtMjM0NSw3ICsyNDU0LDcgQEAKIAogCWNvbnRleHRfaW5pdCgmdG1wcnVsZS0+YXVfY3R4dCk7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAl0bXBydWxlLT5hdV9zZXFubyA9IGxhdGVzdF9ncmFudGluZzsKIApAQCAtMjM4Miw3ICsyNDkxLDcgQEAKIAkJYnJlYWs7CiAJfQogCi0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWlmIChyYykgewogCQlzZWxpbnV4X2F1ZGl0X3J1bGVfZnJlZSh0bXBydWxlKTsKQEAgLTI0MjAsNyArMjUyOSw3IEBACiB9CiAKIGludCBzZWxpbnV4X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNpZCwgdTMyIGZpZWxkLCB1MzIgb3AsIHZvaWQgKnZydWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCkKKwkJCSAgICAgc3RydWN0IGF1ZGl0X2NvbnRleHQgKmFjdHgpCiB7CiAJc3RydWN0IGNvbnRleHQgKmN0eHQ7CiAJc3RydWN0IG1sc19sZXZlbCAqbGV2ZWw7CkBAIC0yNDMzLDcgKzI1NDIsNyBAQAogCQlyZXR1cm4gLUVOT0VOVDsKIAl9CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlpZiAocnVsZS0+YXVfc2Vxbm8gPCBsYXRlc3RfZ3JhbnRpbmcpIHsKIAkJYXVkaXRfbG9nKGFjdHgsIEdGUF9BVE9NSUMsIEFVRElUX1NFTElOVVhfRVJSLApAQCAtMjUyNywxNCArMjYzNiwxNCBAQAogCX0KIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIG1hdGNoOwogfQogCiBzdGF0aWMgaW50ICgqYXVydWxlX2NhbGxiYWNrKSh2b2lkKSA9IGF1ZGl0X3VwZGF0ZV9sc21fcnVsZXM7CiAKIHN0YXRpYyBpbnQgYXVydWxlX2F2Y19jYWxsYmFjayh1MzIgZXZlbnQsIHUzMiBzc2lkLCB1MzIgdHNpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MTYgY2xhc3MsIHUzMiBwZXJtcywgdTMyICpyZXRhaW5lZCkKKwkJCSAgICAgICB1MTYgY2xhc3MsIHUzMiBwZXJtcywgdTMyICpyZXRhaW5lZCkKIHsKIAlpbnQgZXJyID0gMDsKIApAQCAtMjYxNSw3ICsyNzI0LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJaWYgKHNlY2F0dHItPmZsYWdzICYgTkVUTEJMX1NFQ0FUVFJfQ0FDSEUpIHsKIAkJKnNpZCA9ICoodTMyICopc2VjYXR0ci0+Y2FjaGUtPmRhdGE7CkBAIC0yNjYwLDcgKzI3NjksNyBAQAogCX0KIAogbmV0bGJsX3NlY2F0dHJfdG9fc2lkX3JldHVybjoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIG5ldGxibF9zZWNhdHRyX3RvX3NpZF9yZXR1cm5fY2xlYW51cDoKIAllYml0bWFwX2Rlc3Ryb3koJmN0eF9uZXcucmFuZ2UubGV2ZWxbMF0uY2F0KTsKQEAgLTI2ODUsNyArMjc5NCw3IEBACiAJaWYgKCFzc19pbml0aWFsaXplZCkKIAkJcmV0dXJuIDA7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAJY3R4ID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBzaWQpOwogCWlmIChjdHggPT0gTlVMTCkKIAkJZ290byBuZXRsYmxfc2lkX3RvX3NlY2F0dHJfZmFpbHVyZTsKQEAgLTI2OTYsMTIgKzI4MDUsMTIgQEAKIAlyYyA9IG1sc19leHBvcnRfbmV0bGJsX2NhdChjdHgsIHNlY2F0dHIpOwogCWlmIChyYyAhPSAwKQogCQlnb3RvIG5ldGxibF9zaWRfdG9fc2VjYXR0cl9mYWlsdXJlOwotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlyZXR1cm4gMDsKIAogbmV0bGJsX3NpZF90b19zZWNhdHRyX2ZhaWx1cmU6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAjZW5kaWYgLyogQ09ORklHX05FVExBQkVMICovCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5jIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuYwppbmRleCA0YTUxNmZmLi5hODFkZWQxIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmMKQEAgLTE0LDEwICsxNCw2IEBACiAjZGVmaW5lIFNJRFRBQl9IQVNIKHNpZCkgXAogKHNpZCAmIFNJRFRBQl9IQVNIX01BU0spCiAKLSNkZWZpbmUgSU5JVF9TSURUQUJfTE9DSyhzKSBzcGluX2xvY2tfaW5pdCgmcy0+bG9jaykKLSNkZWZpbmUgU0lEVEFCX0xPQ0socywgeCkgc3Bpbl9sb2NrX2lycXNhdmUoJnMtPmxvY2ssIHgpCi0jZGVmaW5lIFNJRFRBQl9VTkxPQ0socywgeCkgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgeCkKLQogaW50IHNpZHRhYl9pbml0KHN0cnVjdCBzaWR0YWIgKnMpCiB7CiAJaW50IGk7CkBAIC0zMCw3ICsyNiw3IEBACiAJcy0+bmVsID0gMDsKIAlzLT5uZXh0X3NpZCA9IDE7CiAJcy0+c2h1dGRvd24gPSAwOwotCUlOSVRfU0lEVEFCX0xPQ0socyk7CisJc3Bpbl9sb2NrX2luaXQoJnMtPmxvY2spOwogCXJldHVybiAwOwogfQogCkBAIC04Niw3ICs4Miw3IEBACiAJcmV0dXJuIHJjOwogfQogCi1zdHJ1Y3QgY29udGV4dCAqc2lkdGFiX3NlYXJjaChzdHJ1Y3Qgc2lkdGFiICpzLCB1MzIgc2lkKQorc3RhdGljIHN0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoX2NvcmUoc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCwgaW50IGZvcmNlKQogewogCWludCBodmFsdWU7CiAJc3RydWN0IHNpZHRhYl9ub2RlICpjdXI7CkBAIC05OSw3ICs5NSwxMCBAQAogCXdoaWxlIChjdXIgIT0gTlVMTCAmJiBzaWQgPiBjdXItPnNpZCkKIAkJY3VyID0gY3VyLT5uZXh0OwogCi0JaWYgKGN1ciA9PSBOVUxMIHx8IHNpZCAhPSBjdXItPnNpZCkgeworCWlmIChmb3JjZSAmJiBjdXIgJiYgc2lkID09IGN1ci0+c2lkICYmIGN1ci0+Y29udGV4dC5sZW4pCisJCXJldHVybiAmY3VyLT5jb250ZXh0OworCisJaWYgKGN1ciA9PSBOVUxMIHx8IHNpZCAhPSBjdXItPnNpZCB8fCBjdXItPmNvbnRleHQubGVuKSB7CiAJCS8qIFJlbWFwIGludmFsaWQgU0lEcyB0byB0aGUgdW5sYWJlbGVkIFNJRC4gKi8KIAkJc2lkID0gU0VDSU5JVFNJRF9VTkxBQkVMRUQ7CiAJCWh2YWx1ZSA9IFNJRFRBQl9IQVNIKHNpZCk7CkBAIC0xMTMsNiArMTEyLDE2IEBACiAJcmV0dXJuICZjdXItPmNvbnRleHQ7CiB9CiAKK3N0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQpCit7CisJcmV0dXJuIHNpZHRhYl9zZWFyY2hfY29yZShzLCBzaWQsIDApOworfQorCitzdHJ1Y3QgY29udGV4dCAqc2lkdGFiX3NlYXJjaF9mb3JjZShzdHJ1Y3Qgc2lkdGFiICpzLCB1MzIgc2lkKQoreworCXJldHVybiBzaWR0YWJfc2VhcmNoX2NvcmUocywgc2lkLCAxKTsKK30KKwogaW50IHNpZHRhYl9tYXAoc3RydWN0IHNpZHRhYiAqcywKIAkgICAgICAgaW50ICgqYXBwbHkpICh1MzIgc2lkLAogCQkJICAgICBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKQEAgLTEzOCw0MyArMTQ3LDYgQEAKIAlyZXR1cm4gcmM7CiB9CiAKLXZvaWQgc2lkdGFiX21hcF9yZW1vdmVfb25fZXJyb3Ioc3RydWN0IHNpZHRhYiAqcywKLQkJCQlpbnQgKCphcHBseSkgKHUzMiBzaWQsCi0JCQkJCSAgICAgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAotCQkJCQkgICAgICB2b2lkICphcmdzKSwKLQkJCQl2b2lkICphcmdzKQotewotCWludCBpLCByZXQ7Ci0Jc3RydWN0IHNpZHRhYl9ub2RlICpsYXN0LCAqY3VyLCAqdGVtcDsKLQotCWlmICghcykKLQkJcmV0dXJuOwotCi0JZm9yIChpID0gMDsgaSA8IFNJRFRBQl9TSVpFOyBpKyspIHsKLQkJbGFzdCA9IE5VTEw7Ci0JCWN1ciA9IHMtPmh0YWJsZVtpXTsKLQkJd2hpbGUgKGN1ciAhPSBOVUxMKSB7Ci0JCQlyZXQgPSBhcHBseShjdXItPnNpZCwgJmN1ci0+Y29udGV4dCwgYXJncyk7Ci0JCQlpZiAocmV0KSB7Ci0JCQkJaWYgKGxhc3QpCi0JCQkJCWxhc3QtPm5leHQgPSBjdXItPm5leHQ7Ci0JCQkJZWxzZQotCQkJCQlzLT5odGFibGVbaV0gPSBjdXItPm5leHQ7Ci0JCQkJdGVtcCA9IGN1cjsKLQkJCQljdXIgPSBjdXItPm5leHQ7Ci0JCQkJY29udGV4dF9kZXN0cm95KCZ0ZW1wLT5jb250ZXh0KTsKLQkJCQlrZnJlZSh0ZW1wKTsKLQkJCQlzLT5uZWwtLTsKLQkJCX0gZWxzZSB7Ci0JCQkJbGFzdCA9IGN1cjsKLQkJCQljdXIgPSBjdXItPm5leHQ7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQlyZXR1cm47Ci19Ci0KIHN0YXRpYyBpbmxpbmUgdTMyIHNpZHRhYl9zZWFyY2hfY29udGV4dChzdHJ1Y3Qgc2lkdGFiICpzLAogCQkJCQkJICBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCkKIHsKQEAgLTIwNCw3ICsxNzYsNyBAQAogCiAJc2lkID0gc2lkdGFiX3NlYXJjaF9jb250ZXh0KHMsIGNvbnRleHQpOwogCWlmICghc2lkKSB7Ci0JCVNJRFRBQl9MT0NLKHMsIGZsYWdzKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnMtPmxvY2ssIGZsYWdzKTsKIAkJLyogUmVzY2FuIG5vdyB0aGF0IHdlIGhvbGQgdGhlIGxvY2suICovCiAJCXNpZCA9IHNpZHRhYl9zZWFyY2hfY29udGV4dChzLCBjb250ZXh0KTsKIAkJaWYgKHNpZCkKQEAgLTIxNSwxMSArMTg3LDE1IEBACiAJCQlnb3RvIHVubG9ja19vdXQ7CiAJCX0KIAkJc2lkID0gcy0+bmV4dF9zaWQrKzsKKwkJaWYgKGNvbnRleHQtPmxlbikKKwkJCXByaW50ayhLRVJOX0lORk8KKwkJICAgICAgICJTRUxpbnV4OiAgQ29udGV4dCAlcyBpcyBub3QgdmFsaWQgKGxlZnQgdW5tYXBwZWQpLlxuIiwKKwkJCSAgICAgICBjb250ZXh0LT5zdHIpOwogCQlyZXQgPSBzaWR0YWJfaW5zZXJ0KHMsIHNpZCwgY29udGV4dCk7CiAJCWlmIChyZXQpCiAJCQlzLT5uZXh0X3NpZC0tOwogdW5sb2NrX291dDoKLQkJU0lEVEFCX1VOTE9DSyhzLCBmbGFncyk7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPmxvY2ssIGZsYWdzKTsKIAl9CiAKIAlpZiAocmV0KQpAQCAtMjg0LDE5ICsyNjAsMTkgQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JU0lEVEFCX0xPQ0soc3JjLCBmbGFncyk7CisJc3Bpbl9sb2NrX2lycXNhdmUoJnNyYy0+bG9jaywgZmxhZ3MpOwogCWRzdC0+aHRhYmxlID0gc3JjLT5odGFibGU7CiAJZHN0LT5uZWwgPSBzcmMtPm5lbDsKIAlkc3QtPm5leHRfc2lkID0gc3JjLT5uZXh0X3NpZDsKIAlkc3QtPnNodXRkb3duID0gMDsKLQlTSURUQUJfVU5MT0NLKHNyYywgZmxhZ3MpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNyYy0+bG9jaywgZmxhZ3MpOwogfQogCiB2b2lkIHNpZHRhYl9zaHV0ZG93bihzdHJ1Y3Qgc2lkdGFiICpzKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlTSURUQUJfTE9DSyhzLCBmbGFncyk7CisJc3Bpbl9sb2NrX2lycXNhdmUoJnMtPmxvY2ssIGZsYWdzKTsKIAlzLT5zaHV0ZG93biA9IDE7Ci0JU0lEVEFCX1VOTE9DSyhzLCBmbGFncyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuaCBiL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmgKaW5kZXggMmZlOWRmYS4uNjRlYTViMSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5oCkBAIC0zMiw2ICszMiw3IEBACiBpbnQgc2lkdGFiX2luaXQoc3RydWN0IHNpZHRhYiAqcyk7CiBpbnQgc2lkdGFiX2luc2VydChzdHJ1Y3Qgc2lkdGFiICpzLCB1MzIgc2lkLCBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCk7CiBzdHJ1Y3QgY29udGV4dCAqc2lkdGFiX3NlYXJjaChzdHJ1Y3Qgc2lkdGFiICpzLCB1MzIgc2lkKTsKK3N0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoX2ZvcmNlKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQpOwogCiBpbnQgc2lkdGFiX21hcChzdHJ1Y3Qgc2lkdGFiICpzLAogCSAgICAgICBpbnQgKCphcHBseSkgKHUzMiBzaWQsCkBAIC0zOSwxMiArNDAsNiBAQAogCQkJICAgICB2b2lkICphcmdzKSwKIAkgICAgICAgdm9pZCAqYXJncyk7CiAKLXZvaWQgc2lkdGFiX21hcF9yZW1vdmVfb25fZXJyb3Ioc3RydWN0IHNpZHRhYiAqcywKLQkJCQlpbnQgKCphcHBseSkgKHUzMiBzaWQsCi0JCQkJCSAgICAgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAotCQkJCQkgICAgICB2b2lkICphcmdzKSwKLQkJCQl2b2lkICphcmdzKTsKLQogaW50IHNpZHRhYl9jb250ZXh0X3RvX3NpZChzdHJ1Y3Qgc2lkdGFiICpzLAogCQkJICBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKIAkJCSAgdTMyICpzaWQpOwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc21hY2svc21hY2tfbHNtLmMgYi9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYwppbmRleCA0YTA5MjkzLi5lZTVhNTFjIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYworKysgYi9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYwpAQCAtOTUsMTEgKzk1LDEyIEBACiAgKgogICogRG8gdGhlIGNhcGFiaWxpdHkgY2hlY2tzLCBhbmQgcmVxdWlyZSByZWFkIGFuZCB3cml0ZS4KICAqLwotc3RhdGljIGludCBzbWFja19wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwdHAsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3RwKQorc3RhdGljIGludCBzbWFja19wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwdHAsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3RwLAorCQkJdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJaW50IHJjOwogCi0JcmMgPSBjYXBfcHRyYWNlKHB0cCwgY3RwKTsKKwlyYyA9IGNhcF9wdHJhY2UocHRwLCBjdHAsIG1vZGUpOwogCWlmIChyYyAhPSAwKQogCQlyZXR1cm4gcmM7CiAKQEAgLTE4MjEsMjcgKzE4MjIsNiBAQAogCSpzZWNpZCA9IHNtYWNrX3RvX3NlY2lkKHNtYWNrKTsKIH0KIAotLyogbW9kdWxlIHN0YWNraW5nIG9wZXJhdGlvbnMgKi8KLQotLyoqCi0gKiBzbWFja19yZWdpc3Rlcl9zZWN1cml0eSAtIHN0YWNrIGNhcGFiaWxpdHkgbW9kdWxlCi0gKiBAbmFtZTogbW9kdWxlIG5hbWUKLSAqIEBvcHM6IG1vZHVsZSBvcGVyYXRpb25zIC0gaWdub3JlZAotICoKLSAqIEFsbG93IHRoZSBjYXBhYmlsaXR5IG1vZHVsZSB0byByZWdpc3Rlci4KLSAqLwotc3RhdGljIGludCBzbWFja19yZWdpc3Rlcl9zZWN1cml0eShjb25zdCBjaGFyICpuYW1lLAotCQkJCSAgIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCi17Ci0JaWYgKHN0cmNtcChuYW1lLCAiY2FwYWJpbGl0eSIpICE9IDApCi0JCXJldHVybiAtRUlOVkFMOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiJXM6ICBSZWdpc3RlcmluZyBzZWNvbmRhcnkgbW9kdWxlICVzXG4iLAotCSAgICAgICBfX2Z1bmNfXywgbmFtZSk7Ci0KLQlyZXR1cm4gMDsKLX0KLQogLyoqCiAgKiBzbWFja19kX2luc3RhbnRpYXRlIC0gTWFrZSBzdXJlIHRoZSBibG9iIGlzIGNvcnJlY3Qgb24gYW4gaW5vZGUKICAqIEBvcHRfZGVudHJ5OiB1bnVzZWQKQEAgLTI2NzIsOCArMjY1Miw2IEBACiAJLm5ldGxpbmtfc2VuZCA9CQkJY2FwX25ldGxpbmtfc2VuZCwKIAkubmV0bGlua19yZWN2ID0gCQljYXBfbmV0bGlua19yZWN2LAogCi0JLnJlZ2lzdGVyX3NlY3VyaXR5ID0gCQlzbWFja19yZWdpc3Rlcl9zZWN1cml0eSwKLQogCS5kX2luc3RhbnRpYXRlID0gCQlzbWFja19kX2luc3RhbnRpYXRlLAogCiAJLmdldHByb2NhdHRyID0gCQkJc21hY2tfZ2V0cHJvY2F0dHIsCmRpZmYgLS1naXQgYS9zb3VuZC9LY29uZmlnIGIvc291bmQvS2NvbmZpZwppbmRleCA0MjQ3NDA2Li5hMzdiZWUwIDEwMDY0NAotLS0gYS9zb3VuZC9LY29uZmlnCisrKyBiL3NvdW5kL0tjb25maWcKQEAgLTEsMTEgKzEsOSBAQAogIyBzb3VuZC9Db25maWcuaW4KICMKIAotbWVudSAiU291bmQiCi0JZGVwZW5kcyBvbiBIQVNfSU9NRU0KLQotY29uZmlnIFNPVU5ECittZW51Y29uZmlnIFNPVU5ECiAJdHJpc3RhdGUgIlNvdW5kIGNhcmQgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEhBU19JT01FTQogCWhlbHAKIAkgIElmIHlvdSBoYXZlIGEgc291bmQgY2FyZCBpbiB5b3VyIGNvbXB1dGVyLCBpLmUuIGlmIGl0IGNhbiBzYXkgbW9yZQogCSAgdGhhbiBhbiBvY2Nhc2lvbmFsIGJlZXAsIHNheSBZLiAgQmUgc3VyZSB0byBoYXZlIGFsbCB0aGUgaW5mb3JtYXRpb24KQEAgLTI4LDIyICsyNiwyMiBAQAogCSAgYW5kIHJlYWQgPGZpbGU6RG9jdW1lbnRhdGlvbi9zb3VuZC9vc3MvUkVBRE1FLm1vZHVsZXM+OyB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzb3VuZGNvcmUuCiAKK2lmIFNPVU5ECisKIHNvdXJjZSAic291bmQvb3NzL2RtYXNvdW5kL0tjb25maWciCiAKIGlmICFNNjhLCiAKLW1lbnUgIkFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZSIKLQlkZXBlbmRzIG9uIFNPVU5EIT1uCi0KLWNvbmZpZyBTTkQKK21lbnVjb25maWcgU05ECiAJdHJpc3RhdGUgIkFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZSIKLQlkZXBlbmRzIG9uIFNPVU5ECiAJaGVscAogCSAgU2F5ICdZJyBvciAnTScgdG8gZW5hYmxlIEFMU0EgKEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZSksCiAJICB0aGUgbmV3IGJhc2Ugc291bmQgc3lzdGVtLgogCiAJICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIDxodHRwOi8vd3d3LmFsc2EtcHJvamVjdC5vcmcvPgogCitpZiBTTkQKKwogc291cmNlICJzb3VuZC9jb3JlL0tjb25maWciCiAKIHNvdXJjZSAic291bmQvZHJpdmVycy9LY29uZmlnIgpAQCAtNTgsOSArNTYsNyBAQAogCiBzb3VyY2UgInNvdW5kL2FybS9LY29uZmlnIgogCi1pZiBTUEkKIHNvdXJjZSAic291bmQvc3BpL0tjb25maWciCi1lbmRpZgogCiBzb3VyY2UgInNvdW5kL21pcHMvS2NvbmZpZyIKIApAQCAtODAsMjIgKzc2LDIwIEBACiAKIHNvdXJjZSAic291bmQvc29jL0tjb25maWciCiAKLWVuZG1lbnUKK2VuZGlmICMgU05ECiAKLW1lbnUgIk9wZW4gU291bmQgU3lzdGVtIgotCWRlcGVuZHMgb24gU09VTkQhPW4KLQotY29uZmlnIFNPVU5EX1BSSU1FCittZW51Y29uZmlnIFNPVU5EX1BSSU1FCiAJdHJpc3RhdGUgIk9wZW4gU291bmQgU3lzdGVtIChERVBSRUNBVEVEKSIKLQlkZXBlbmRzIG9uIFNPVU5ECiAJaGVscAogCSAgU2F5ICdZJyBvciAnTScgdG8gZW5hYmxlIE9wZW4gU291bmQgU3lzdGVtIGRyaXZlcnMuCiAKK2lmIFNPVU5EX1BSSU1FCisKIHNvdXJjZSAic291bmQvb3NzL0tjb25maWciCiAKLWVuZG1lbnUKK2VuZGlmICMgU09VTkRfUFJJTUUKIAotZW5kaWYKK2VuZGlmICMgIU02OEsKIAogY29uZmlnIEFDOTdfQlVTCiAJdHJpc3RhdGUKQEAgLTEwNSw0ICs5OSw0IEBACiAJICBzb3VuZCBhbHRob3VnaCB0aGV5J3JlIHNoYXJpbmcgdGhlIEFDOTcgYnVzLiBDb25jZXJuZWQgZHJpdmVycwogCSAgc2hvdWxkICJzZWxlY3QiIHRoaXMuCiAKLWVuZG1lbnUKK2VuZGlmICMgU09VTkQKZGlmZiAtLWdpdCBhL3NvdW5kL2FvYS9LY29uZmlnIGIvc291bmQvYW9hL0tjb25maWcKaW5kZXggNWQ1ODEzYy4uYzA4MWUxOCAxMDA2NDQKLS0tIGEvc291bmQvYW9hL0tjb25maWcKKysrIGIvc291bmQvYW9hL0tjb25maWcKQEAgLTEsMTggKzEsMTcgQEAKLW1lbnUgIkFwcGxlIE9uYm9hcmQgQXVkaW8gZHJpdmVyIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFBQQ19QTUFDCi0KLWNvbmZpZyBTTkRfQU9BCittZW51Y29uZmlnIFNORF9BT0EKIAl0cmlzdGF0ZSAiQXBwbGUgT25ib2FyZCBBdWRpbyBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKKwlkZXBlbmRzIG9uIFBQQ19QTUFDCiAJc2VsZWN0IFNORF9QQ00KIAktLS1oZWxwLS0tCiAJVGhpcyBvcHRpb24gZW5hYmxlcyB0aGUgbmV3IGRyaXZlciBmb3IgdGhlIHZhcmlvdXMKIAlBcHBsZSBPbmJvYXJkIEF1ZGlvIGNvbXBvbmVudHMuCiAKK2lmIFNORF9BT0EKKwogc291cmNlICJzb3VuZC9hb2EvZmFicmljcy9LY29uZmlnIgogCiBzb3VyY2UgInNvdW5kL2FvYS9jb2RlY3MvS2NvbmZpZyIKIAogc291cmNlICJzb3VuZC9hb2Evc291bmRidXMvS2NvbmZpZyIKIAotZW5kbWVudQorZW5kaWYJIyBTTkRfQU9BCmRpZmYgLS1naXQgYS9zb3VuZC9hb2EvY29kZWNzL0tjb25maWcgYi9zb3VuZC9hb2EvY29kZWNzL0tjb25maWcKaW5kZXggZDVmYmQ2MC4uODA4ZWIxMSAxMDA2NDQKLS0tIGEvc291bmQvYW9hL2NvZGVjcy9LY29uZmlnCisrKyBiL3NvdW5kL2FvYS9jb2RlY3MvS2NvbmZpZwpAQCAtMSw2ICsxLDUgQEAKIGNvbmZpZyBTTkRfQU9BX09OWVgKIAl0cmlzdGF0ZSAic3VwcG9ydCBPbnl4IGNoaXAiCi0JZGVwZW5kcyBvbiBTTkRfQU9BCiAJc2VsZWN0IEkyQwogCXNlbGVjdCBJMkNfUE9XRVJNQUMKIAktLS1oZWxwLS0tCkBAIC0xMCw3ICs5LDYgQEAKIAogI2NvbmZpZyBTTkRfQU9BX1RPUEFaCiAjCXRyaXN0YXRlICJzdXBwb3J0IFRvcGF6IGNoaXBzIgotIwlkZXBlbmRzIG9uIFNORF9BT0EKICMJLS0taGVscC0tLQogIwlUaGlzIG9wdGlvbiBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBUb3BheiAoQ1M4NHh4KQogIwljb2RlYyBjaGlwcyBmb3VuZCBpbiB0aGUgbGF0ZXN0IEFwcGxlIG1hY2hpbmVzLApAQCAtMTksNyArMTcsNiBAQAogCiBjb25maWcgU05EX0FPQV9UQVMKIAl0cmlzdGF0ZSAic3VwcG9ydCBUQVMgY2hpcHMiCi0JZGVwZW5kcyBvbiBTTkRfQU9BCiAJc2VsZWN0IEkyQwogCXNlbGVjdCBJMkNfUE9XRVJNQUMKIAktLS1oZWxwLS0tCkBAIC0yOSw3ICsyNiw2IEBACiAKIGNvbmZpZyBTTkRfQU9BX1RPT05JRQogCXRyaXN0YXRlICJzdXBwb3J0IFRvb25pZSBjaGlwIgotCWRlcGVuZHMgb24gU05EX0FPQQogCS0tLWhlbHAtLS0KIAlUaGlzIG9wdGlvbiBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSB0b29uaWUgY29kZWMKIAlmb3VuZCBpbiB0aGUgTWFjIE1pbmkuIElmIHlvdSBoYXZlIGEgTWFjIE1pbmkgYW5kCmRpZmYgLS1naXQgYS9zb3VuZC9hb2EvZmFicmljcy9LY29uZmlnIGIvc291bmQvYW9hL2ZhYnJpY3MvS2NvbmZpZwppbmRleCA1MGQ3MDIxLi4zY2E0NzVhIDEwMDY0NAotLS0gYS9zb3VuZC9hb2EvZmFicmljcy9LY29uZmlnCisrKyBiL3NvdW5kL2FvYS9mYWJyaWNzL0tjb25maWcKQEAgLTEsNiArMSw1IEBACiBjb25maWcgU05EX0FPQV9GQUJSSUNfTEFZT1VUCiAJdHJpc3RhdGUgImxheW91dC1pZCBmYWJyaWMiCi0JZGVwZW5kcyBvbiBTTkRfQU9BCiAJc2VsZWN0IFNORF9BT0FfU09VTkRCVVMKIAlzZWxlY3QgU05EX0FPQV9TT1VOREJVU19JMlMKIAktLS1oZWxwLS0tCmRpZmYgLS1naXQgYS9zb3VuZC9hb2Evc291bmRidXMvS2NvbmZpZyBiL3NvdW5kL2FvYS9zb3VuZGJ1cy9LY29uZmlnCmluZGV4IDczNjhiN2QuLjgzOWQxMTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL2FvYS9zb3VuZGJ1cy9LY29uZmlnCisrKyBiL3NvdW5kL2FvYS9zb3VuZGJ1cy9LY29uZmlnCkBAIC0xLDYgKzEsNSBAQAogY29uZmlnIFNORF9BT0FfU09VTkRCVVMKIAl0cmlzdGF0ZSAiQXBwbGUgU291bmRidXMgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5ECiAJc2VsZWN0IFNORF9QQ00KIAktLS1oZWxwLS0tCiAJVGhpcyBvcHRpb24gZW5hYmxlcyB0aGUgZ2VuZXJpYyBkcml2ZXIgZm9yIHRoZSBzb3VuZGJ1cwpkaWZmIC0tZ2l0IGEvc291bmQvYXJtL0tjb25maWcgYi9zb3VuZC9hcm0vS2NvbmZpZwppbmRleCAyZTRhNWUwLi4zNTFlMTllIDEwMDY0NAotLS0gYS9zb3VuZC9hcm0vS2NvbmZpZworKysgYi9zb3VuZC9hcm0vS2NvbmZpZwpAQCAtMSwxMSArMSwxOSBAQAogIyBBTFNBIEFSTSBkcml2ZXJzCiAKLW1lbnUgIkFMU0EgQVJNIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgQVJNCittZW51Y29uZmlnIFNORF9BUk0KKwlib29sICJBUk0gc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIEFSTQorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgc3BlY2lmaWMgdG8gQVJNIGFyY2hpdGVjdHVyZXMuCisJICBEcml2ZXJzIHRoYXQgYXJlIGltcGxlbWVudGVkIG9uIEFTb0MgY2FuIGJlIGZvdW5kIGluCisJICAiQUxTQSBmb3IgU29DIGF1ZGlvIHN1cHBvcnQiIHNlY3Rpb24uCisKK2lmIFNORF9BUk0KIAogY29uZmlnIFNORF9TQTExWFhfVURBMTM0MQogCXRyaXN0YXRlICJTQTExeHggVURBMTM0MVRTIGRyaXZlciAoaVBhcSBIMzYwMCkiCi0JZGVwZW5kcyBvbiBBUkNIX1NBMTEwMCAmJiBTTkQgJiYgTDMKKwlkZXBlbmRzIG9uIEFSQ0hfU0ExMTAwICYmIEwzCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIGlmIHlvdSBoYXZlIGEgQ29tcGFxIGlQYXEgSDN4MDAgaGFuZGhlbGQgY29tcHV0ZXIKQEAgLTE2LDcgKzI0LDcgQEAKIAogY29uZmlnIFNORF9BUk1BQUNJCiAJdHJpc3RhdGUgIkFSTSBQcmltZUNlbGwgUEwwNDEgQUMgTGluayBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05EICYmIEFSTV9BTUJBCisJZGVwZW5kcyBvbiBBUk1fQU1CQQogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAKQEAgLTI2LDExICszNCwxMiBAQAogCiBjb25maWcgU05EX1BYQTJYWF9BQzk3CiAJdHJpc3RhdGUgIkFDOTcgZHJpdmVyIGZvciB0aGUgSW50ZWwgUFhBMnh4IGNoaXAiCi0JZGVwZW5kcyBvbiBBUkNIX1BYQSAmJiBTTkQKKwlkZXBlbmRzIG9uIEFSQ0hfUFhBCiAJc2VsZWN0IFNORF9QWEEyWFhfUENNCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgb3IgTSBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IGFueSBBQzk3IGNvZGVjIGF0dGFjaGVkIHRvCiAJICB0aGUgUFhBMnh4IEFDOTcgaW50ZXJmYWNlLgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9BUk0KKwpkaWZmIC0tZ2l0IGEvc291bmQvYXJtL3NhMTF4eC11ZGExMzQxLmMgYi9zb3VuZC9hcm0vc2ExMXh4LXVkYTEzNDEuYwppbmRleCAwZWZmMzNjLi5mYWVkZGYzIDEwMDY0NAotLS0gYS9zb3VuZC9hcm0vc2ExMXh4LXVkYTEzNDEuYworKysgYi9zb3VuZC9hcm0vc2ExMXh4LXVkYTEzNDEuYwpAQCAtMjEsOCArMjEsNiBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXJnZWQgSEFMIGxheWVyIChwYXRjaGVzIGZyb20gQnJpYW4pCiAgKi8KIAotLyogJElkOiBzYTExeHgtdWRhMTM0MS5jLHYgMS4yNyAyMDA1LzEyLzA3IDA5OjEzOjQyIGNsYWRpc2NoIEV4cCAkICovCi0KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKICogVG8gdW5kZXJzdGFuZCB3aGF0IEFsc2EgRHJpdmVycyBzaG91bGQgYmUgZG9pbmcgbG9vayBhdCAiV3JpdGluZyBhbiBBbHNhIERyaXZlciIgYnkgVGFrYXNoaSBJd2FpCmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL0tjb25maWcgYi9zb3VuZC9jb3JlL0tjb25maWcKaW5kZXggYThkNzFjNi4uMzM1ZDQ1ZSAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9LY29uZmlnCisrKyBiL3NvdW5kL2NvcmUvS2NvbmZpZwpAQCAtMSwyNCArMSwxOSBAQAogIyBBTFNBIHNvdW5kY2FyZC1jb25maWd1cmF0aW9uCiBjb25maWcgU05EX1RJTUVSCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORAogCiBjb25maWcgU05EX1BDTQogCXRyaXN0YXRlCiAJc2VsZWN0IFNORF9USU1FUgotCWRlcGVuZHMgb24gU05ECiAKIGNvbmZpZyBTTkRfSFdERVAKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05ECiAKIGNvbmZpZyBTTkRfUkFXTUlESQogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkQKIAogY29uZmlnIFNORF9TRVFVRU5DRVIKIAl0cmlzdGF0ZSAiU2VxdWVuY2VyIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1RJTUVSCiAJaGVscAogCSAgU2F5IFkgb3IgTSB0byBlbmFibGUgTUlESSBzZXF1ZW5jZXIgYW5kIHJvdXRlciBzdXBwb3J0LiAgVGhpcwpAQCAtNDQsMTEgKzM5LDkgQEAKIAogY29uZmlnIFNORF9PU1NFTVVMCiAJYm9vbAotCWRlcGVuZHMgb24gU05ECiAKIGNvbmZpZyBTTkRfTUlYRVJfT1NTCiAJdHJpc3RhdGUgIk9TUyBNaXhlciBBUEkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09TU0VNVUwKIAloZWxwCiAJICBUbyBlbmFibGUgT1NTIG1peGVyIEFQSSBlbXVsYXRpb24gKC9kZXYvbWl4ZXIqKSwgc2F5IFkgaGVyZQpAQCAtNjEsNyArNTQsNiBAQAogCiBjb25maWcgU05EX1BDTV9PU1MKIAl0cmlzdGF0ZSAiT1NTIFBDTSAoZGlnaXRhbCBhdWRpbykgQVBJIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PU1NFTVVMCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC04NCw3ICs3Niw3IEBACiAKIGNvbmZpZyBTTkRfU0VRVUVOQ0VSX09TUwogCWJvb2wgIk9TUyBTZXF1ZW5jZXIgQVBJIgotCWRlcGVuZHMgb24gU05EICYmIFNORF9TRVFVRU5DRVIKKwlkZXBlbmRzIG9uIFNORF9TRVFVRU5DRVIKIAlzZWxlY3QgU05EX09TU0VNVUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGVuYWJsZSBPU1Mgc2VxdWVuY2VyIGVtdWxhdGlvbiAoYm90aApAQCAtOTgsNyArOTAsNyBAQAogCiBjb25maWcgU05EX1JUQ1RJTUVSCiAJdHJpc3RhdGUgIlJUQyBUaW1lciBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05EICYmIFJUQworCWRlcGVuZHMgb24gUlRDCiAJc2VsZWN0IFNORF9USU1FUgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIFJUQyB0aW1lciBzdXBwb3J0IGZvciBBTFNBLiAgQUxTQSB1c2VzCkBAIC0xMjMsNyArMTE1LDYgQEAKIAogY29uZmlnIFNORF9EWU5BTUlDX01JTk9SUwogCWJvb2wgIkR5bmFtaWMgZGV2aWNlIGZpbGUgbWlub3IgbnVtYmVycyIKLQlkZXBlbmRzIG9uIFNORAogCWhlbHAKIAkgIElmIHlvdSBzYXkgWSBoZXJlLCB0aGUgbWlub3IgbnVtYmVycyBvZiBBTFNBIGRldmljZSBmaWxlcyBpbgogCSAgL2Rldi9zbmQvIGFyZSBhbGxvY2F0ZWQgZHluYW1pY2FsbHkuICBUaGlzIGFsbG93cyB5b3UgdG8gaGF2ZQpAQCAtMTM0LDcgKzEyNSw2IEBACiAKIGNvbmZpZyBTTkRfU1VQUE9SVF9PTERfQVBJCiAJYm9vbCAiU3VwcG9ydCBvbGQgQUxTQSBBUEkiCi0JZGVwZW5kcyBvbiBTTkQKIAlkZWZhdWx0IHkKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIHN1cHBvcnQgdGhlIG9ic29sZXRlIEFMU0EgUENNIEFQSSAodmVyLjAuOS4wIHJjMwpAQCAtMTQyLDcgKzEzMiw3IEBACiAKIGNvbmZpZyBTTkRfVkVSQk9TRV9QUk9DRlMKIAlib29sICJWZXJib3NlIHByb2NmcyBjb250ZW50cyIKLQlkZXBlbmRzIG9uIFNORCAmJiBQUk9DX0ZTCisJZGVwZW5kcyBvbiBQUk9DX0ZTCiAJZGVmYXVsdCB5CiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGNvZGUgZm9yIHZlcmJvc2UgcHJvY2ZzIGNvbnRlbnRzIChwcm92aWRlcwpAQCAtMTUxLDcgKzE0MSw2IEBACiAKIGNvbmZpZyBTTkRfVkVSQk9TRV9QUklOVEsKIAlib29sICJWZXJib3NlIHByaW50ayIKLQlkZXBlbmRzIG9uIFNORAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIHZlcmJvc2UgbG9nIG1lc3NhZ2VzLiAgVGhlc2UgbWVzc2FnZXMKIAkgIHdpbGwgaGVscCB0byBpZGVudGlmeSBzb3VyY2UgZmlsZSBhbmQgcG9zaXRpb24gY29udGFpbmluZwpAQCAtMTYxLDE2ICsxNTAsMTcgQEAKIAogY29uZmlnIFNORF9ERUJVRwogCWJvb2wgIkRlYnVnIgotCWRlcGVuZHMgb24gU05ECiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgQUxTQSBkZWJ1ZyBjb2RlLgogCi1jb25maWcgU05EX0RFQlVHX0RFVEVDVAotCWJvb2wgIkRlYnVnIGRldGVjdGlvbiIKK2NvbmZpZyBTTkRfREVCVUdfVkVSQk9TRQorCWJvb2wgIk1vcmUgdmVyYm9zZSBkZWJ1ZyIKIAlkZXBlbmRzIG9uIFNORF9ERUJVRwogCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIGV4dHJhLXZlcmJvc2UgbG9nIG1lc3NhZ2VzIHByaW50ZWQgd2hlbgotCSAgZGV0ZWN0aW5nIGRldmljZXMuCisJICBTYXkgWSBoZXJlIHRvIGVuYWJsZSBleHRyYS12ZXJib3NlIGRlYnVnZ2luZyBtZXNzYWdlcy4KKwkgIAorCSAgTGV0IG1lIHJlcGVhdDogaXQgZW5hYmxlcyBFWFRSQS1WRVJCT1NFIERFQlVHR0lORyBtZXNzYWdlcy4KKwkgIFNvLCBzYXkgWSBvbmx5IGlmIHlvdSBhcmUgcmVhZHkgdG8gYmUgYW5ub3llZC4KIAogY29uZmlnIFNORF9QQ01fWFJVTl9ERUJVRwogCWJvb2wgIkVuYWJsZSBQQ00gcmluZyBidWZmZXIgb3ZlcnJ1bi91bmRlcnJ1biBkZWJ1Z2dpbmciCkBAIC0xODQsNCArMTc0LDMgQEAKIAogY29uZmlnIFNORF9WTUFTVEVSCiAJYm9vbAotCWRlcGVuZHMgb24gU05ECmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL2NvbnRyb2wuYyBiL3NvdW5kL2NvcmUvY29udHJvbC5jCmluZGV4IDAxYTFhNWEuLjI4MWIyZTIgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvY29udHJvbC5jCisrKyBiL3NvdW5kL2NvcmUvY29udHJvbC5jCkBAIC02ODQsNyArNjg0LDggQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1pbnQgc25kX2N0bF9lbGVtX3JlYWQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKQorc3RhdGljIGludCBzbmRfY3RsX2VsZW1fcmVhZChzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCisJCQkgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKmNvbnRyb2wpCiB7CiAJc3RydWN0IHNuZF9rY29udHJvbCAqa2N0bDsKIAlzdHJ1Y3Qgc25kX2tjb250cm9sX3ZvbGF0aWxlICp2ZDsKQEAgLTczNCw4ICs3MzUsOCBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLWludCBzbmRfY3RsX2VsZW1fd3JpdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9maWxlICpmaWxlLAotCQkgICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqY29udHJvbCkKK3N0YXRpYyBpbnQgc25kX2N0bF9lbGVtX3dyaXRlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9jdGxfZmlsZSAqZmlsZSwKKwkJCSAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKmNvbnRyb2wpCiB7CiAJc3RydWN0IHNuZF9rY29udHJvbCAqa2N0bDsKIAlzdHJ1Y3Qgc25kX2tjb250cm9sX3ZvbGF0aWxlICp2ZDsKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvaW5pdC5jIGIvc291bmQvY29yZS9pbml0LmMKaW5kZXggYWMwNTczNC4uNWMyNTRkNCAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9pbml0LmMKKysrIGIvc291bmQvY29yZS9pbml0LmMKQEAgLTQ2LDE3ICs0NiwyNCBAQAogbW9kdWxlX3BhcmFtX2FycmF5KHNsb3RzLCBjaGFycCwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHNsb3RzLCAiTW9kdWxlIG5hbWVzIGFzc2lnbmVkIHRvIHRoZSBzbG90cy4iKTsKIAotLyogcmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBnaXZlbiBpbmRleCBpcyBhbHJlYWR5IHJlc2VydmVkIGZvciBhbm90aGVyCisvKiByZXR1cm4gbm9uLXplcm8gaWYgdGhlIGdpdmVuIGluZGV4IGlzIHJlc2VydmVkIGZvciB0aGUgZ2l2ZW4KICAqIG1vZHVsZSB2aWEgc2xvdHMgb3B0aW9uCiAgKi8KLXN0YXRpYyBpbnQgbW9kdWxlX3Nsb3RfbWlzbWF0Y2goc3RydWN0IG1vZHVsZSAqbW9kdWxlLCBpbnQgaWR4KQorc3RhdGljIGludCBtb2R1bGVfc2xvdF9tYXRjaChzdHJ1Y3QgbW9kdWxlICptb2R1bGUsIGludCBpZHgpCiB7CisJaW50IG1hdGNoID0gMTsKICNpZmRlZiBNT0RVTEUKLQljaGFyICpzMSwgKnMyOworCWNvbnN0IGNoYXIgKnMxLCAqczI7CisKIAlpZiAoIW1vZHVsZSB8fCAhbW9kdWxlLT5uYW1lIHx8ICFzbG90c1tpZHhdKQogCQlyZXR1cm4gMDsKLQlzMSA9IHNsb3RzW2lkeF07Ci0JczIgPSBtb2R1bGUtPm5hbWU7CisKKwlzMSA9IG1vZHVsZS0+bmFtZTsKKwlzMiA9IHNsb3RzW2lkeF07CisJaWYgKCpzMiA9PSAnIScpIHsKKwkJbWF0Y2ggPSAwOyAvKiBuZWdhdGl2ZSBtYXRjaCAqLworCQlzMisrOworCX0KIAkvKiBjb21wYXJlIG1vZHVsZSBuYW1lIHN0cmluZ3MKIAkgKiBoeXBoZW5zIGFyZSBoYW5kbGVkIGFzIGVxdWl2YWxlbnQgd2l0aCB1bmRlcnNjb3JlCiAJICovCkBAIC02OCwxMiArNzUsMTIgQEAKIAkJaWYgKGMyID09ICctJykKIAkJCWMyID0gJ18nOwogCQlpZiAoYzEgIT0gYzIpCi0JCQlyZXR1cm4gMTsKKwkJCXJldHVybiAhbWF0Y2g7CiAJCWlmICghYzEpCiAJCQlicmVhazsKIAl9Ci0jZW5kaWYKLQlyZXR1cm4gMDsKKyNlbmRpZiAvKiBNT0RVTEUgKi8KKwlyZXR1cm4gbWF0Y2g7CiB9CiAKICNpZiBkZWZpbmVkKENPTkZJR19TTkRfTUlYRVJfT1NTKSB8fCBkZWZpbmVkKENPTkZJR19TTkRfTUlYRVJfT1NTX01PRFVMRSkKQEAgLTEyOSw3ICsxMzYsNyBAQAogCQkJIHN0cnVjdCBtb2R1bGUgKm1vZHVsZSwgaW50IGV4dHJhX3NpemUpCiB7CiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwotCWludCBlcnI7CisJaW50IGVyciwgaWR4MjsKIAogCWlmIChleHRyYV9zaXplIDwgMCkKIAkJZXh0cmFfc2l6ZSA9IDA7CkBAIC0xNDQsMzUgKzE1MSw0MSBAQAogCWVyciA9IDA7CiAJbXV0ZXhfbG9jaygmc25kX2NhcmRfbXV0ZXgpOwogCWlmIChpZHggPCAwKSB7Ci0JCWludCBpZHgyOwogCQlmb3IgKGlkeDIgPSAwOyBpZHgyIDwgU05EUlZfQ0FSRFM7IGlkeDIrKykKIAkJCS8qIGlkeCA9PSAtMSA9PSAweGZmZmYgbWVhbnM6IHRha2UgYW55IGZyZWUgc2xvdCAqLwogCQkJaWYgKH5zbmRfY2FyZHNfbG9jayAmIGlkeCAmIDE8PGlkeDIpIHsKLQkJCQlpZiAobW9kdWxlX3Nsb3RfbWlzbWF0Y2gobW9kdWxlLCBpZHgyKSkKLQkJCQkJY29udGludWU7Ci0JCQkJaWR4ID0gaWR4MjsKLQkJCQlpZiAoaWR4ID49IHNuZF9lY2FyZHNfbGltaXQpCi0JCQkJCXNuZF9lY2FyZHNfbGltaXQgPSBpZHggKyAxOwotCQkJCWJyZWFrOworCQkJCWlmIChtb2R1bGVfc2xvdF9tYXRjaChtb2R1bGUsIGlkeDIpKSB7CisJCQkJCWlkeCA9IGlkeDI7CisJCQkJCWJyZWFrOworCQkJCX0KIAkJCX0KLQl9IGVsc2UgewotCQkgaWYgKGlkeCA8IHNuZF9lY2FyZHNfbGltaXQpIHsKLQkJCWlmIChzbmRfY2FyZHNfbG9jayAmICgxIDw8IGlkeCkpCi0JCQkJZXJyID0gLUVCVVNZOwkvKiBpbnZhbGlkICovCi0JCX0gZWxzZSB7Ci0JCQlpZiAoaWR4IDwgU05EUlZfQ0FSRFMpCi0JCQkJc25kX2VjYXJkc19saW1pdCA9IGlkeCArIDE7IC8qIGluY3JlYXNlIHRoZSBsaW1pdCAqLwotCQkJZWxzZQotCQkJCWVyciA9IC1FTk9ERVY7Ci0JCX0KIAl9Ci0JaWYgKGlkeCA8IDAgfHwgZXJyIDwgMCkgeworCWlmIChpZHggPCAwKSB7CisJCWZvciAoaWR4MiA9IDA7IGlkeDIgPCBTTkRSVl9DQVJEUzsgaWR4MisrKQorCQkJLyogaWR4ID09IC0xID09IDB4ZmZmZiBtZWFuczogdGFrZSBhbnkgZnJlZSBzbG90ICovCisJCQlpZiAofnNuZF9jYXJkc19sb2NrICYgaWR4ICYgMTw8aWR4MikgeworCQkJCWlmICghc2xvdHNbaWR4Ml0gfHwgISpzbG90c1tpZHgyXSkgeworCQkJCQlpZHggPSBpZHgyOworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJfQorCWlmIChpZHggPCAwKQorCQllcnIgPSAtRU5PREVWOworCWVsc2UgaWYgKGlkeCA8IHNuZF9lY2FyZHNfbGltaXQpIHsKKwkJaWYgKHNuZF9jYXJkc19sb2NrICYgKDEgPDwgaWR4KSkKKwkJCWVyciA9IC1FQlVTWTsJLyogaW52YWxpZCAqLworCX0gZWxzZSBpZiAoaWR4ID49IFNORFJWX0NBUkRTKQorCQllcnIgPSAtRU5PREVWOworCWlmIChlcnIgPCAwKSB7CiAJCW11dGV4X3VubG9jaygmc25kX2NhcmRfbXV0ZXgpOwogCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJjYW5ub3QgZmluZCB0aGUgc2xvdCBmb3IgaW5kZXggJWQgKHJhbmdlIDAtJWkpLCBlcnJvcjogJWRcbiIsCiAJCQkgaWR4LCBzbmRfZWNhcmRzX2xpbWl0IC0gMSwgZXJyKTsKIAkJZ290byBfX2Vycm9yOwogCX0KIAlzbmRfY2FyZHNfbG9jayB8PSAxIDw8IGlkeDsJCS8qIGxvY2sgaXQgKi8KKwlpZiAoaWR4ID49IHNuZF9lY2FyZHNfbGltaXQpCisJCXNuZF9lY2FyZHNfbGltaXQgPSBpZHggKyAxOyAvKiBpbmNyZWFzZSB0aGUgbGltaXQgKi8KIAltdXRleF91bmxvY2soJnNuZF9jYXJkX211dGV4KTsKIAljYXJkLT5udW1iZXIgPSBpZHg7CiAJY2FyZC0+bW9kdWxlID0gbW9kdWxlOwpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9tZW1hbGxvYy5jIGIvc291bmQvY29yZS9tZW1hbGxvYy5jCmluZGV4IDIzYjdiYzAuLmY1ZDZkOGQgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvbWVtYWxsb2MuYworKysgYi9zb3VuZC9jb3JlL21lbWFsbG9jLmMKQEAgLTgwLDY4ICs4MCw2IEBACiAjZW5kaWYKIAogLyoKLSAqICBIYWNrcwotICovCi0KLSNpZiBkZWZpbmVkKF9faTM4Nl9fKQotLyoKLSAqIEEgaGFjayB0byBhbGxvY2F0ZSBsYXJnZSBidWZmZXJzIHZpYSBkbWFfYWxsb2NfY29oZXJlbnQoKQotICoKLSAqIHNpbmNlIGRtYV9hbGxvY19jb2hlcmVudCBhbHdheXMgdHJpZXMgR0ZQX0RNQSB3aGVuIHRoZSByZXF1ZXN0ZWQKLSAqIHBjaSBtZW1vcnkgcmVnaW9uIGlzIGJlbG93IDMyYml0LCBpdCBoYXBwZW5zIHF1aXRlIG9mdGVuIHRoYXQgZXZlbgotICogMiBvcmRlciBvZiBwYWdlcyBjYW5ub3QgYmUgYWxsb2NhdGVkLgotICoKLSAqIHNvIGluIHRoZSBmb2xsb3dpbmcsIHdlIGFsbG9jYXRlIGF0IGZpcnN0IHdpdGhvdXQgZG1hX21hc2ssIHNvIHRoYXQKLSAqIGFsbG9jYXRpb24gd2lsbCBiZSBkb25lIHdpdGhvdXQgR0ZQX0RNQS4gIGlmIHRoZSBhcmVhIGRvZXNuJ3QgbWF0Y2gKLSAqIHdpdGggdGhlIHJlcXVlc3RlZCByZWdpb24sIHRoZW4gcmVhbGxvYXRlIHdpdGggdGhlIG9yaWdpbmFsIGRtYV9tYXNrCi0gKiBhZ2Fpbi4KLSAqCi0gKiBSZWFsbHksIHdlIHdhbnQgdG8gbW92ZSB0aGlzIHR5cGUgb2YgdGhpbmcgaW50byBkbWFfYWxsb2NfY29oZXJlbnQoKQotICogc28gZG1hX21hc2sgZG9lc24ndCBoYXZlIHRvIGJlIG1lc3NlZCB3aXRoLgotICovCi0KLXN0YXRpYyB2b2lkICpzbmRfZG1hX2hhY2tfYWxsb2NfY29oZXJlbnQoc3RydWN0IGRldmljZSAqZGV2LCBzaXplX3Qgc2l6ZSwKLQkJCQkJIGRtYV9hZGRyX3QgKmRtYV9oYW5kbGUsCi0JCQkJCSBnZnBfdCBmbGFncykKLXsKLQl2b2lkICpyZXQ7Ci0JdTY0IGRtYV9tYXNrLCBjb2hlcmVudF9kbWFfbWFzazsKLQotCWlmIChkZXYgPT0gTlVMTCB8fCAhZGV2LT5kbWFfbWFzaykKLQkJcmV0dXJuIGRtYV9hbGxvY19jb2hlcmVudChkZXYsIHNpemUsIGRtYV9oYW5kbGUsIGZsYWdzKTsKLQlkbWFfbWFzayA9ICpkZXYtPmRtYV9tYXNrOwotCWNvaGVyZW50X2RtYV9tYXNrID0gZGV2LT5jb2hlcmVudF9kbWFfbWFzazsKLQkqZGV2LT5kbWFfbWFzayA9IDB4ZmZmZmZmZmY7IAkvKiBkbyB3aXRob3V0IG1hc2tpbmcgKi8KLQlkZXYtPmNvaGVyZW50X2RtYV9tYXNrID0gMHhmZmZmZmZmZjsgCS8qIGRvIHdpdGhvdXQgbWFza2luZyAqLwotCXJldCA9IGRtYV9hbGxvY19jb2hlcmVudChkZXYsIHNpemUsIGRtYV9oYW5kbGUsIGZsYWdzKTsKLQkqZGV2LT5kbWFfbWFzayA9IGRtYV9tYXNrOwkvKiByZXN0b3JlICovCi0JZGV2LT5jb2hlcmVudF9kbWFfbWFzayA9IGNvaGVyZW50X2RtYV9tYXNrOwkvKiByZXN0b3JlICovCi0JaWYgKHJldCkgewotCQkvKiBvYnRhaW5lZCBhZGRyZXNzIGlzIG91dCBvZiByYW5nZT8gKi8KLQkJaWYgKCgodW5zaWduZWQgbG9uZykqZG1hX2hhbmRsZSArIHNpemUgLSAxKSAmIH5kbWFfbWFzaykgewotCQkJLyogcmVhbGxvY2F0ZSB3aXRoIHRoZSBwcm9wZXIgbWFzayAqLwotCQkJZG1hX2ZyZWVfY29oZXJlbnQoZGV2LCBzaXplLCByZXQsICpkbWFfaGFuZGxlKTsKLQkJCXJldCA9IGRtYV9hbGxvY19jb2hlcmVudChkZXYsIHNpemUsIGRtYV9oYW5kbGUsIGZsYWdzKTsKLQkJfQotCX0gZWxzZSB7Ci0JCS8qIHdpc2ggdG8gc3VjY2VzcyBub3cgd2l0aCB0aGUgcHJvcGVyIG1hc2suLi4gKi8KLQkJaWYgKGRtYV9tYXNrICE9IDB4ZmZmZmZmZmZVTCkgewotCQkJLyogYWxsb2NhdGlvbiB3aXRoIEdGUF9BVE9NSUMgdG8gYXZvaWQgdGhlIGxvbmcgc3RhbGwgKi8KLQkJCWZsYWdzICY9IH5HRlBfS0VSTkVMOwotCQkJZmxhZ3MgfD0gR0ZQX0FUT01JQzsKLQkJCXJldCA9IGRtYV9hbGxvY19jb2hlcmVudChkZXYsIHNpemUsIGRtYV9oYW5kbGUsIGZsYWdzKTsKLQkJfQotCX0KLQlyZXR1cm4gcmV0OwotfQotCi0vKiByZWRlZmluZSBkbWFfYWxsb2NfY29oZXJlbnQgZm9yIHNvbWUgYXJjaGl0ZWN0dXJlcyAqLwotI3VuZGVmIGRtYV9hbGxvY19jb2hlcmVudAotI2RlZmluZSBkbWFfYWxsb2NfY29oZXJlbnQgc25kX2RtYV9oYWNrX2FsbG9jX2NvaGVyZW50Ci0KLSNlbmRpZiAvKiBhcmNoICovCi0KLS8qCiAgKgogICogIEdlbmVyaWMgbWVtb3J5IGFsbG9jYXRvcnMKICAqCmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3BjbV9uYXRpdmUuYyBiL3NvdW5kL2NvcmUvcGNtX25hdGl2ZS5jCmluZGV4IDYxZjVkNDIuLmM0OWI5ZDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvcGNtX25hdGl2ZS5jCisrKyBiL3NvdW5kL2NvcmUvcGNtX25hdGl2ZS5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BtX3Fvc19wYXJhbXMuaD4KICNpbmNsdWRlIDxsaW51eC91aW8uaD4KQEAgLTMyNDksMTQgKzMyNTAsMTcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9maWxlICogcGNtX2ZpbGU7CiAJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZTsKLQlpbnQgZXJyOworCWludCBlcnIgPSAtRU5YSU87CiAKKwlsb2NrX2tlcm5lbCgpOwogCXBjbV9maWxlID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXN1YnN0cmVhbSA9IHBjbV9maWxlLT5zdWJzdHJlYW07Ci0Jc25kX2Fzc2VydChzdWJzdHJlYW0gIT0gTlVMTCwgcmV0dXJuIC1FTlhJTyk7CisJc25kX2Fzc2VydChzdWJzdHJlYW0gIT0gTlVMTCwgZ290byBvdXQpOwogCXJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAKIAllcnIgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxlLCBvbiwgJnJ1bnRpbWUtPmZhc3luYyk7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCWlmIChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9zZXEvc2VxX2NsaWVudG1nci5jIGIvc291bmQvY29yZS9zZXEvc2VxX2NsaWVudG1nci5jCmluZGV4IDQ3Y2ZhNTEuLjdhMTU0NWQgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvc2VxL3NlcV9jbGllbnRtZ3IuYworKysgYi9zb3VuZC9jb3JlL3NlcS9zZXFfY2xpZW50bWdyLmMKQEAgLTE0OCw3ICsxNDgsNyBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2xpZW50c19sb2NrLCBmbGFncyk7Ci0jaWZkZWYgQ09ORklHX0tNT0QKKyNpZmRlZiBDT05GSUdfTU9EVUxFUwogCWlmICghaW5faW50ZXJydXB0KCkpIHsKIAkJc3RhdGljIGNoYXIgY2xpZW50X3JlcXVlc3RlZFtTTkRSVl9TRVFfR0xPQkFMX0NMSUVOVFNdOwogCQlzdGF0aWMgY2hhciBjYXJkX3JlcXVlc3RlZFtTTkRSVl9DQVJEU107CmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3NlcS9zZXFfZGV2aWNlLmMgYi9zb3VuZC9jb3JlL3NlcS9zZXFfZGV2aWNlLmMKaW5kZXggMmYwMGFkMi4uMDU0MTBlNSAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9zZXEvc2VxX2RldmljZS5jCisrKyBiL3NvdW5kL2NvcmUvc2VxL3NlcV9kZXZpY2UuYwpAQCAtMTI0LDcgKzEyNCw3IEBACiAgKiBsb2FkIGFsbCByZWdpc3RlcmVkIGRyaXZlcnMgKGNhbGxlZCBmcm9tIHNlcV9jbGllbnRtZ3IuYykKICAqLwogCi0jaWZkZWYgQ09ORklHX0tNT0QKKyNpZmRlZiBDT05GSUdfTU9EVUxFUwogLyogYXZvaWQgYXV0by1sb2FkaW5nIGR1cmluZyBtb2R1bGVfaW5pdCgpICovCiBzdGF0aWMgaW50IHNuZF9zZXFfaW5faW5pdDsKIHZvaWQgc25kX3NlcV9hdXRvbG9hZF9sb2NrKHZvaWQpCkBAIC0xNDAsNyArMTQwLDcgQEAKIAogdm9pZCBzbmRfc2VxX2RldmljZV9sb2FkX2RyaXZlcnModm9pZCkKIHsKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAJc3RydWN0IG9wc19saXN0ICpvcHM7CiAKIAkvKiBDYWxsaW5nIHJlcXVlc3RfbW9kdWxlIGR1cmluZyBtb2R1bGVfaW5pdCgpCkBAIC01NjYsNyArNTY2LDUgQEAKIEVYUE9SVF9TWU1CT0woc25kX3NlcV9kZXZpY2VfbmV3KTsKIEVYUE9SVF9TWU1CT0woc25kX3NlcV9kZXZpY2VfcmVnaXN0ZXJfZHJpdmVyKTsKIEVYUE9SVF9TWU1CT0woc25kX3NlcV9kZXZpY2VfdW5yZWdpc3Rlcl9kcml2ZXIpOwotI2lmZGVmIENPTkZJR19LTU9ECiBFWFBPUlRfU1lNQk9MKHNuZF9zZXFfYXV0b2xvYWRfbG9jayk7CiBFWFBPUlRfU1lNQk9MKHNuZF9zZXFfYXV0b2xvYWRfdW5sb2NrKTsKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9zb3VuZC5jIGIvc291bmQvY29yZS9zb3VuZC5jCmluZGV4IDZjOGFiNDguLjEwMDNhZTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvc291bmQuYworKysgYi9zb3VuZC9jb3JlL3NvdW5kLmMKQEAgLTIxLDYgKzIxLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KQEAgLTYwLDE0ICs2MSwxNCBAQAogc3RhdGljIHN0cnVjdCBzbmRfbWlub3IgKnNuZF9taW5vcnNbU05EUlZfT1NfTUlOT1JTXTsKIHN0YXRpYyBERUZJTkVfTVVURVgoc291bmRfbXV0ZXgpOwogCi0jaWZkZWYgQ09ORklHX0tNT0QKKyNpZmRlZiBDT05GSUdfTU9EVUxFUwogCiAvKioKICAqIHNuZF9yZXF1ZXN0X2NhcmQgLSB0cnkgdG8gbG9hZCB0aGUgY2FyZCBtb2R1bGUKICAqIEBjYXJkOiB0aGUgY2FyZCBudW1iZXIKICAqCiAgKiBUcmllcyB0byBsb2FkIHRoZSBtb2R1bGUgInNuZC1jYXJkLVgiIGZvciB0aGUgZ2l2ZW4gY2FyZCBudW1iZXIKLSAqIHZpYSBLTU9ELiAgUmV0dXJucyBpbW1lZGlhdGVseSBpZiBhbHJlYWR5IGxvYWRlZC4KKyAqIHZpYSByZXF1ZXN0X21vZHVsZS4gIFJldHVybnMgaW1tZWRpYXRlbHkgaWYgYWxyZWFkeSBsb2FkZWQuCiAgKi8KIHZvaWQgc25kX3JlcXVlc3RfY2FyZChpbnQgY2FyZCkKIHsKQEAgLTkyLDcgKzkzLDcgQEAKIAlyZXF1ZXN0X21vZHVsZShzdHIpOwogfQogCi0jZW5kaWYJCQkJLyogcmVxdWVzdF9tb2R1bGUgc3VwcG9ydCAqLworI2VuZGlmCS8qIG1vZHVsYXIga2VybmVsICovCiAKIC8qKgogICogc25kX2xvb2t1cF9taW5vcl9kYXRhIC0gZ2V0IHVzZXIgZGF0YSBvZiBhIHJlZ2lzdGVyZWQgZGV2aWNlCkBAIC0xMjEsNyArMTIyLDcgQEAKIAogRVhQT1JUX1NZTUJPTChzbmRfbG9va3VwX21pbm9yX2RhdGEpOwogCi1zdGF0aWMgaW50IHNuZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQorc3RhdGljIGludCBfX3NuZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXVuc2lnbmVkIGludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAJc3RydWN0IHNuZF9taW5vciAqbXB0ciA9IE5VTEw7CkBAIC0xMzIsNyArMTMzLDcgQEAKIAkJcmV0dXJuIC1FTk9ERVY7CiAJbXB0ciA9IHNuZF9taW5vcnNbbWlub3JdOwogCWlmIChtcHRyID09IE5VTEwpIHsKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAJCWludCBkZXYgPSBTTkRSVl9NSU5PUl9ERVZJQ0UobWlub3IpOwogCQlpZiAoZGV2ID09IFNORFJWX01JTk9SX0NPTlRST0wpIHsKIAkJCS8qIC9kZXYvYWxvYWRDPyAqLwpAQCAtMTYzLDYgKzE2NCwxOCBAQAogCXJldHVybiBlcnI7CiB9CiAKKworLyogQktMIHB1c2hkb3duOiBuYXN0eSAjaWZkZWYgYXZvaWRhbmNlIHdyYXBwZXIgKi8KK3N0YXRpYyBpbnQgc25kX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gX19zbmRfb3Blbihpbm9kZSwgZmlsZSk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHNuZF9mb3BzID0KIHsKIAkub3duZXIgPQlUSElTX01PRFVMRSwKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvdGltZXIuYyBiL3NvdW5kL2NvcmUvdGltZXIuYwppbmRleCA5ZDgxODRhLi4wYWYzMzdlIDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL3RpbWVyLmMKKysrIGIvc291bmQvY29yZS90aW1lci5jCkBAIC0xNDYsNyArMTQ2LDcgQEAKIAlyZXR1cm4gTlVMTDsKIH0KIAotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIAogc3RhdGljIHZvaWQgc25kX3RpbWVyX3JlcXVlc3Qoc3RydWN0IHNuZF90aW1lcl9pZCAqdGlkKQogewpAQCAtMjU5LDggKzI1OSw4IEBACiAJLyogb3BlbiBhIG1hc3RlciBpbnN0YW5jZSAqLwogCW11dGV4X2xvY2soJnJlZ2lzdGVyX211dGV4KTsKIAl0aW1lciA9IHNuZF90aW1lcl9maW5kKHRpZCk7Ci0jaWZkZWYgQ09ORklHX0tNT0QKLQlpZiAodGltZXIgPT0gTlVMTCkgeworI2lmZGVmIENPTkZJR19NT0RVTEVTCisJaWYgKCF0aW1lcikgewogCQltdXRleF91bmxvY2soJnJlZ2lzdGVyX211dGV4KTsKIAkJc25kX3RpbWVyX3JlcXVlc3QodGlkKTsKIAkJbXV0ZXhfbG9jaygmcmVnaXN0ZXJfbXV0ZXgpOwpkaWZmIC0tZ2l0IGEvc291bmQvZHJpdmVycy9LY29uZmlnIGIvc291bmQvZHJpdmVycy9LY29uZmlnCmluZGV4IDYwMmI1OGUuLjI1NWZkMTggMTAwNjQ0Ci0tLSBhL3NvdW5kL2RyaXZlcnMvS2NvbmZpZworKysgYi9zb3VuZC9kcml2ZXJzL0tjb25maWcKQEAgLTEsMTUgKzEsNDEgQEAKLSMgQUxTQSBnZW5lcmljIGRyaXZlcnMKK2NvbmZpZyBTTkRfTVBVNDAxX1VBUlQKKyAgICAgICAgdHJpc3RhdGUKKyAgICAgICAgc2VsZWN0IFNORF9SQVdNSURJCiAKLW1lbnUgIkdlbmVyaWMgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9bgorY29uZmlnIFNORF9PUEwzX0xJQgorCXRyaXN0YXRlCisJc2VsZWN0IFNORF9USU1FUgorCXNlbGVjdCBTTkRfSFdERVAKIAorY29uZmlnIFNORF9PUEw0X0xJQgorCXRyaXN0YXRlCisJc2VsZWN0IFNORF9USU1FUgorCXNlbGVjdCBTTkRfSFdERVAKKworY29uZmlnIFNORF9WWF9MSUIKKwl0cmlzdGF0ZQorCXNlbGVjdCBTTkRfSFdERVAKKwlzZWxlY3QgU05EX1BDTQorCitjb25maWcgU05EX0FDOTdfQ09ERUMKKwl0cmlzdGF0ZQorCXNlbGVjdCBTTkRfUENNCisJc2VsZWN0IEFDOTdfQlVTCisJc2VsZWN0IFNORF9WTUFTVEVSCisKK21lbnVjb25maWcgU05EX0RSSVZFUlMKKwlib29sICJHZW5lcmljIHNvdW5kIGRldmljZXMiCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3IgZ2VuZXJpYyBzb3VuZCBkZXZpY2VzLgorICAKK2lmIFNORF9EUklWRVJTCiAKIGNvbmZpZyBTTkRfUENTUAogCXRyaXN0YXRlICJQQy1TcGVha2VyIHN1cHBvcnQgKFJFQUQgSEVMUCEpIgogCWRlcGVuZHMgb24gUENTUEtSX1BMQVRGT1JNICYmIFg4Nl9QQyAmJiBISUdIX1JFU19USU1FUlMKIAlkZXBlbmRzIG9uIElOUFVUCiAJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgSWYgeW91IGRvbid0IGhhdmUgYSBzb3VuZCBjYXJkIGluIHlvdXIgY29tcHV0ZXIsIHlvdSBjYW4gaW5jbHVkZSBhCkBAIC0zNSwzMyArNjEsOCBAQAogCSAgU2F5IE0gaWYgeW91IGRvbid0LgogCSAgU2F5IFkgb25seSBpZiB5b3UgcmVhbGx5IGtub3cgd2hhdCB5b3UgZG8uCiAKLWNvbmZpZyBTTkRfTVBVNDAxX1VBUlQKLSAgICAgICAgdHJpc3RhdGUKLSAgICAgICAgc2VsZWN0IFNORF9SQVdNSURJCi0KLWNvbmZpZyBTTkRfT1BMM19MSUIKLQl0cmlzdGF0ZQotCXNlbGVjdCBTTkRfVElNRVIKLQlzZWxlY3QgU05EX0hXREVQCi0KLWNvbmZpZyBTTkRfT1BMNF9MSUIKLQl0cmlzdGF0ZQotCXNlbGVjdCBTTkRfVElNRVIKLQlzZWxlY3QgU05EX0hXREVQCi0KLWNvbmZpZyBTTkRfVlhfTElCCi0JdHJpc3RhdGUKLQlzZWxlY3QgU05EX0hXREVQCi0Jc2VsZWN0IFNORF9QQ00KLQotY29uZmlnIFNORF9BQzk3X0NPREVDCi0JdHJpc3RhdGUKLQlzZWxlY3QgU05EX1BDTQotCXNlbGVjdCBBQzk3X0JVUwotCiBjb25maWcgU05EX0RVTU1ZCiAJdHJpc3RhdGUgIkR1bW15ICgvZGV2L251bGwpIHNvdW5kY2FyZCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHRoZSBkdW1teSBkcml2ZXIuICBUaGlzIGRyaXZlciBkb2VzCkBAIC05MCw3ICs5MSw2IEBACiAKIGNvbmZpZyBTTkRfTVRQQVYKIAl0cmlzdGF0ZSAiTU9UVSBNaWRpVGltZVBpZWNlIEFWIG11bHRpcG9ydCBNSURJIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJaGVscAogCSAgVG8gdXNlIGEgTU9UVSBNaWRpVGltZVBpZWNlIEFWIG11bHRpcG9ydCBNSURJIGFkYXB0ZXIKQEAgLTEwMiw3ICsxMDIsNyBAQAogCiBjb25maWcgU05EX01UUzY0CiAJdHJpc3RhdGUgIkVTSSBNaWRpdGVybWluYWwgNDE0MCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUEFSUE9SVAorCWRlcGVuZHMgb24gUEFSUE9SVAogCXNlbGVjdCBTTkRfUkFXTUlESQogCWhlbHAKIAkgIFRoZSBFU0kgTWlkaXRlcm1pbmFsIDQxNDAgaXMgYSA0IEluIDQgT3V0IE1JREkgSW50ZXJmYWNlIHdpdGggCkBAIC0xMTUsNyArMTE1LDYgQEAKIAogY29uZmlnIFNORF9TRVJJQUxfVTE2NTUwCiAJdHJpc3RhdGUgIlVBUlQxNjU1MCBzZXJpYWwgTUlESSBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAloZWxwCiAJICBUbyBpbmNsdWRlIHN1cHBvcnQgZm9yIE1JREkgc2VyaWFsIHBvcnQgaW50ZXJmYWNlcywgc2F5IFkgaGVyZQpAQCAtMTMxLDcgKzEzMCw2IEBACiAKIGNvbmZpZyBTTkRfTVBVNDAxCiAJdHJpc3RhdGUgIkdlbmVyaWMgTVBVLTQwMSBVQVJUIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgTUlESSBwb3J0cyBjb21wYXRpYmxlIHdpdGgKQEAgLTE0Miw3ICsxNDAsNyBAQAogCiBjb25maWcgU05EX1BPUlRNQU4yWDQKIAl0cmlzdGF0ZSAiUG9ydG1hbiAyeDQgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EICYmIFBBUlBPUlQKKwlkZXBlbmRzIG9uIFBBUlBPUlQKIAlzZWxlY3QgU05EX1JBV01JREkKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgTWlkaW1hbiBQb3J0bWFuIDJ4NCBwYXJhbGxlbApAQCAtMTUzLDcgKzE1MSw3IEBACiAKIGNvbmZpZyBTTkRfTUw0MDNfQUM5N0NSCiAJdHJpc3RhdGUgIlhpbGlueCBNTDQwMyBBQzk3IENvbnRyb2xsZXIgUmVmZXJlbmNlIgotCWRlcGVuZHMgb24gU05EICYmIFhJTElOWF9WSVJURVgKKwlkZXBlbmRzIG9uIFhJTElOWF9WSVJURVgKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlCkBAIC0xNjMsNCArMTYxLDI1IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtbWw0MDNfYWM5N2NyLgogCi1lbmRtZW51Citjb25maWcgU05EX0FDOTdfUE9XRVJfU0FWRQorCWJvb2wgIkFDOTcgUG93ZXItU2F2aW5nIE1vZGUiCisJZGVwZW5kcyBvbiBTTkRfQUM5N19DT0RFQyAmJiBFWFBFUklNRU5UQUwKKwlkZWZhdWx0IG4KKwloZWxwCisJICBTYXkgWSBoZXJlIHRvIGVuYWJsZSB0aGUgYWdncmVzc2l2ZSBwb3dlci1zYXZpbmcgc3VwcG9ydCBvZgorCSAgQUM5NyBjb2RlY3MuICBJbiB0aGlzIG1vZGUsIHRoZSBwb3dlci1tb2RlIGlzIGR5bmFtaWNhbGx5CisJICBjb250cm9sbGVkIGF0IGVhY2ggb3Blbi9jbG9zZS4KKworCSAgVGhlIG1vZGUgaXMgYWN0aXZhdGVkIGJ5IHBhc3NpbmcgcG93ZXJfc2F2ZT0xIG9wdGlvbiB0bworCSAgc25kLWFjOTctY29kZWMgZHJpdmVyLiAgWW91IGNhbiB0b2dnbGUgaXQgZHluYW1pY2FsbHkgb3ZlcgorCSAgc3lzZnMsIHRvby4KKworY29uZmlnIFNORF9BQzk3X1BPV0VSX1NBVkVfREVGQVVMVAorCWludCAiRGVmYXVsdCB0aW1lLW91dCBmb3IgQUM5NyBwb3dlci1zYXZlIG1vZGUiCisJZGVwZW5kcyBvbiBTTkRfQUM5N19QT1dFUl9TQVZFCisJZGVmYXVsdCAwCisJaGVscAorCSAgVGhlIGRlZmF1bHQgdGltZS1vdXQgdmFsdWUgaW4gc2Vjb25kcyBmb3IgQUM5NyBhdXRvbWF0aWMKKwkgIHBvd2VyLXNhdmUgbW9kZS4gIDAgbWVhbnMgdG8gZGlzYWJsZSB0aGUgcG93ZXItc2F2ZSBtb2RlLgorCitlbmRpZgkjIFNORF9EUklWRVJTCmRpZmYgLS1naXQgYS9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2NvcmUuYyBiL3NvdW5kL2RyaXZlcnMvdngvdnhfY29yZS5jCmluZGV4IDk5NTM4ODYuLjU4NWFmMmUgMTAwNjQ0Ci0tLSBhL3NvdW5kL2RyaXZlcnMvdngvdnhfY29yZS5jCisrKyBiL3NvdW5kL2RyaXZlcnMvdngvdnhfY29yZS5jCkBAIC00NTMsNyArNDUzLDcgQEAKIAkJCXZ4X291dGIoY2hpcCwgVFhNLCAwKTsKIAkJCXZ4X291dGIoY2hpcCwgVFhMLCAwKTsKIAkJfSBlbHNlIHsKLQkJCXVuc2lnbmVkIGNoYXIgKmltYWdlID0gYm9vdC0+ZGF0YSArIGk7CisJCQljb25zdCB1bnNpZ25lZCBjaGFyICppbWFnZSA9IGJvb3QtPmRhdGEgKyBpOwogCQkJaWYgKHZ4X3dhaXRfaXNyX2JpdChjaGlwLCBJU1JfVFhfRU1QVFkpIDwgMCkgewogCQkJCXNuZF9wcmludGsoS0VSTl9FUlIgImRzcCBib290IGZhaWxlZCBhdCAlZFxuIiwgaSk7CiAJCQkJcmV0dXJuIC1FSU87CkBAIC02NzEsNyArNjcxLDcgQEAKIAl1bnNpZ25lZCBpbnQgaTsKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGludCBjc3VtID0gMDsKLQl1bnNpZ25lZCBjaGFyICppbWFnZSwgKmNwdHI7CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW1hZ2UsICpjcHRyOwogCiAJc25kX2Fzc2VydChkc3AtPnNpemUgJSAzID09IDAsIHJldHVybiAtRUlOVkFMKTsKIApkaWZmIC0tZ2l0IGEvc291bmQvZHJpdmVycy92eC92eF9od2RlcC5jIGIvc291bmQvZHJpdmVycy92eC92eF9od2RlcC5jCmluZGV4IDFkZmU2OTQuLmVmZDIyZTkgMTAwNjQ0Ci0tLSBhL3NvdW5kL2RyaXZlcnMvdngvdnhfaHdkZXAuYworKysgYi9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2h3ZGVwLmMKQEAgLTE4Myw3ICsxODMsNyBAQAogCQlrZnJlZShmdyk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KLQlpZiAoY29weV9mcm9tX3VzZXIoZnctPmRhdGEsIGRzcC0+aW1hZ2UsIGRzcC0+bGVuZ3RoKSkgeworCWlmIChjb3B5X2Zyb21fdXNlcigodm9pZCAqKWZ3LT5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKIAkJZnJlZV9mdyhmdyk7CiAJCXJldHVybiAtRUZBVUxUOwogCX0KZGlmZiAtLWdpdCBhL3NvdW5kL2kyYy9jczg0MjcuYyBiL3NvdW5kL2kyYy9jczg0MjcuYwppbmRleCBlNTdlOWNiLi45YzNkMzYxIDEwMDY0NAotLS0gYS9zb3VuZC9pMmMvY3M4NDI3LmMKKysrIGIvc291bmQvaTJjL2NzODQyNy5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGFzbS91bmFsaWduZWQuaD4KICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CiAjaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgogI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgpAQCAtMjY0LDEwICsyNjUsNyBAQAogCQlnb3RvIF9fZmFpbDsKIAl9CiAJLyogd3JpdGUgZGVmYXVsdCBjaGFubmVsIHN0YXR1cyBieXRlcyAqLwotCWJ1ZlswXSA9ICgodW5zaWduZWQgY2hhcikoU05EUlZfUENNX0RFRkFVTFRfQ09OX1NQRElGID4+IDApKTsKLQlidWZbMV0gPSAoKHVuc2lnbmVkIGNoYXIpKFNORFJWX1BDTV9ERUZBVUxUX0NPTl9TUERJRiA+PiA4KSk7Ci0JYnVmWzJdID0gKCh1bnNpZ25lZCBjaGFyKShTTkRSVl9QQ01fREVGQVVMVF9DT05fU1BESUYgPj4gMTYpKTsKLQlidWZbM10gPSAoKHVuc2lnbmVkIGNoYXIpKFNORFJWX1BDTV9ERUZBVUxUX0NPTl9TUERJRiA+PiAyNCkpOworCXB1dF91bmFsaWduZWRfbGUzMihTTkRSVl9QQ01fREVGQVVMVF9DT05fU1BESUYsIGJ1Zik7CiAJbWVtc2V0KGJ1ZiArIDQsIDAsIDI0IC0gNCk7CiAJaWYgKHNuZF9jczg0Mjdfc2VuZF9jb3J1ZGF0YShkZXZpY2UsIDAsIGJ1ZiwgMjQpIDwgMCkKIAkJZ290byBfX2ZhaWw7CmRpZmYgLS1naXQgYS9zb3VuZC9pMmMvbDMvdWRhMTM0MS5jIGIvc291bmQvaTJjL2wzL3VkYTEzNDEuYwppbmRleCBiZmE1ZDJjLi4xZjQ5NDJlIDEwMDY0NAotLS0gYS9zb3VuZC9pMmMvbDMvdWRhMTM0MS5jCisrKyBiL3NvdW5kL2kyYy9sMy91ZGExMzQxLmMKQEAgLTE3LDggKzE3LDYgQEAKICAqIDIwMDItMDUtMTIgICBUb21hcyBLYXNwYXJlayAgYW5vdGhlciBjb2RlIGNsZWFudXAKICAqLwogCi0vKiAkSWQ6IHVkYTEzNDEuYyx2IDEuMTggMjAwNS8xMS8xNyAxNDoxNzoyMSB0aXdhaSBFeHAgJCAqLwotCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CmRpZmYgLS1naXQgYS9zb3VuZC9pc2EvS2NvbmZpZyBiL3NvdW5kL2lzYS9LY29uZmlnCmluZGV4IDI2MzlhNmEuLjU3NjlhMTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL2lzYS9LY29uZmlnCisrKyBiL3NvdW5kL2lzYS9LY29uZmlnCkBAIC0yMSwxMiArMjEsMTcgQEAKICAgICAgICAgc2VsZWN0IFNORF9QQ00KICAgICAgICAgc2VsZWN0IFNORF9TQl9DT01NT04KIAotbWVudSAiSVNBIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgSVNBICYmIElTQV9ETUFfQVBJCittZW51Y29uZmlnIFNORF9JU0EKKwlib29sICJJU0Egc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIElTQSAmJiBJU0FfRE1BX0FQSQorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgY29ubmVjdGVkIHZpYSB0aGUgSVNBIGJ1cy4KKworaWYgU05EX0lTQQogCiBjb25maWcgU05EX0FETElCCiAJdHJpc3RhdGUgIkFkTGliIEZNIGNhcmQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEFkTGliIEZNIGNhcmRzLgpAQCAtMzYsNyArNDEsNyBAQAogCiBjb25maWcgU05EX0FEMTgxNkEKIAl0cmlzdGF0ZSAiQW5hbG9nIERldmljZXMgU291bmRQb3J0IEFEMTgxNkEiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IElTQVBOUAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC01MCw3ICs1NSw2IEBACiAKIGNvbmZpZyBTTkRfQUQxODQ4CiAJdHJpc3RhdGUgIkdlbmVyaWMgQUQxODQ4L0NTNDI0OCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FEMTg0OF9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQUQxODQ4IChBbmFsb2cgRGV2aWNlcykgb3IKQEAgLTY0LDcgKzY4LDcgQEAKIAogY29uZmlnIFNORF9BTFMxMDAKIAl0cmlzdGF0ZSAiQXZhbmNlIExvZ2ljIEFMUzEwMC9BTFMxMjAiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IElTQVBOUAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC03OCw3ICs4Miw3IEBACiAKIGNvbmZpZyBTTkRfQVpUMjMyMAogCXRyaXN0YXRlICJBenRlY2ggU3lzdGVtcyBBWlQyMzIwIgotCWRlcGVuZHMgb24gU05EICYmIFBOUCAmJiBJU0EKKwlkZXBlbmRzIG9uIFBOUAogCXNlbGVjdCBJU0FQTlAKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtOTIsNyArOTYsNiBAQAogCiBjb25maWcgU05EX0NNSTgzMzAKIAl0cmlzdGF0ZSAiQy1NZWRpYSBDTUk4MzMwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BRDE4NDhfTElCCiAJc2VsZWN0IFNORF9TQjE2X0RTUAogCWhlbHAKQEAgLTEwNCw3ICsxMDcsNiBAQAogCiBjb25maWcgU05EX0NTNDIzMQogCXRyaXN0YXRlICJHZW5lcmljIENpcnJ1cyBMb2dpYyBDUzQyMzEgZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgogCWhlbHAKQEAgLTExNiw3ICsxMTgsNiBAQAogCiBjb25maWcgU05EX0NTNDIzMgogCXRyaXN0YXRlICJHZW5lcmljIENpcnJ1cyBMb2dpYyBDUzQyMzIgZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKQEAgLTEyOSw3ICsxMzAsNiBAQAogCiBjb25maWcgU05EX0NTNDIzNgogCXRyaXN0YXRlICJHZW5lcmljIENpcnJ1cyBMb2dpYyBDUzQyMzYrIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCkBAIC0xNDIsNyArMTQyLDcgQEAKIAogY29uZmlnIFNORF9EVDAxOVgKIAl0cmlzdGF0ZSAiRGlhbW9uZCBUZWNobm9sb2dpZXMgRFQtMDE5WCwgQXZhbmNlIExvZ2ljIEFMUy0wMDciCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IElTQVBOUAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC0xNTYsNyArMTU2LDcgQEAKIAogY29uZmlnIFNORF9FUzk2OAogCXRyaXN0YXRlICJHZW5lcmljIEVTUyBFUzk2OCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IElTQVBOUAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1NCOF9EU1AKQEAgLTE2OCw3ICsxNjgsNiBAQAogCiBjb25maWcgU05EX0VTMTY4OAogCXRyaXN0YXRlICJHZW5lcmljIEVTUyBFUzY4OC9FUzE2ODggZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1BDTQpAQCAtMTgxLDcgKzE4MCw2IEBACiAKIGNvbmZpZyBTTkRfRVMxOFhYCiAJdHJpc3RhdGUgIkdlbmVyaWMgRVNTIEVTMTh4eCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC0xOTMsNyArMTkxLDcgQEAKIAogY29uZmlnIFNORF9TQzYwMDAKIAl0cmlzdGF0ZSAiR2FsbGFudCBTQy02MDAwLCBBdWRpbyBFeGNlbCBEU1AgMTYiCi0JZGVwZW5kcyBvbiBTTkQgJiYgSEFTX0lPUE9SVAorCWRlcGVuZHMgb24gSEFTX0lPUE9SVAogCXNlbGVjdCBTTkRfQUQxODQ4X0xJQgogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC0yMDQsMTUgKzIwMiwxMCBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLXNjNjAwMC4KIAotY29uZmlnIFNORF9HVVNfU1lOVEgKLQl0cmlzdGF0ZQotCiBjb25maWcgU05EX0dVU0NMQVNTSUMKIAl0cmlzdGF0ZSAiR3JhdmlzIFVsdHJhU291bmQgQ2xhc3NpYyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCi0Jc2VsZWN0IFNORF9HVVNfU1lOVEgKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgR3JhdmlzIFVsdHJhU291bmQgQ2xhc3NpYwogCSAgc291bmRjYXJkcy4KQEAgLTIyMiwxMSArMjE1LDkgQEAKIAogY29uZmlnIFNORF9HVVNFWFRSRU1FCiAJdHJpc3RhdGUgIkdyYXZpcyBVbHRyYVNvdW5kIEV4dHJlbWUiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCi0Jc2VsZWN0IFNORF9HVVNfU1lOVEgKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgR3JhdmlzIFVsdHJhU291bmQgRXh0cmVtZQogCSAgc291bmRjYXJkcy4KQEAgLTIzNiwxMCArMjI3LDggQEAKIAogY29uZmlnIFNORF9HVVNNQVgKIAl0cmlzdGF0ZSAiR3JhdmlzIFVsdHJhU291bmQgTUFYIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCi0Jc2VsZWN0IFNORF9HVVNfU1lOVEgKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgR3JhdmlzIFVsdHJhU291bmQgTUFYCiAJICBzb3VuZGNhcmRzLgpAQCAtMjQ5LDEwICsyMzgsOSBAQAogCiBjb25maWcgU05EX0lOVEVSV0FWRQogCXRyaXN0YXRlICJBTUQgSW50ZXJXYXZlLCBHcmF2aXMgVWx0cmFTb3VuZCBQblAiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCi0Jc2VsZWN0IFNORF9HVVNfU1lOVEgKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQU1EIEludGVyV2F2ZSBiYXNlZAogCSAgc291bmRjYXJkcyAoR3JhdmlzIFVsdHJhU291bmQgUGx1ZyAmIFBsYXksIFNUQiBTb3VuZFJhZ2UzMiwKQEAgLTI2MywxMCArMjUxLDkgQEAKIAogY29uZmlnIFNORF9JTlRFUldBVkVfU1RCCiAJdHJpc3RhdGUgIkFNRCBJbnRlcldhdmUgKyBURUE2MzMwVCAoVWx0cmFTb3VuZCAzMi1Qcm8pIgotCWRlcGVuZHMgb24gU05EICYmIFBOUCAmJiBJU0EKKwlkZXBlbmRzIG9uIFBOUAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgotCXNlbGVjdCBTTkRfR1VTX1NZTlRICiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEFNRCBJbnRlcldhdmUgYmFzZWQKIAkgIHNvdW5kY2FyZHMgd2l0aCBhIFRFQTYzMzBUIGJhc3MgYW5kIHRyZWJsZSByZWd1bGF0b3IKQEAgLTI3Nyw3ICsyNjQsNiBAQAogCiBjb25maWcgU05EX09QTDNTQTIKIAl0cmlzdGF0ZSAiWWFtYWhhIE9QTDMtU0EyL1NBMyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCkBAIC0yOTAsNyArMjc2LDYgQEAKIAogY29uZmlnIFNORF9PUFRJOTJYX0FEMTg0OAogCXRyaXN0YXRlICJPUFRpIDgyQzkyeCAtIEFEMTg0OCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX09QTDRfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtMzA0LDcgKzI4OSw2IEBACiAKIGNvbmZpZyBTTkRfT1BUSTkyWF9DUzQyMzEKIAl0cmlzdGF0ZSAiT1BUaSA4MkM5MnggLSBDUzQyMzEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9PUEw0X0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTMxOCwxMCArMzAyLDkgQEAKIAogY29uZmlnIFNORF9PUFRJOTNYCiAJdHJpc3RhdGUgIk9QVGkgODJDOTN4IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKLQlzZWxlY3QgU05EX1BDTQorCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBzb3VuZGNhcmRzIGJhc2VkIG9uIE9wdGkKIAkgIDgyQzkzeCBjaGlwcy4KQEAgLTMzMSw3ICszMTQsNiBAQAogCiBjb25maWcgU05EX01JUk8KIAl0cmlzdGF0ZSAiTWlybyBtaXJvU09VTkQgUENNMXByby9QQ00xMi9QQ00yMHJhZGlvIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMNF9MSUIKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC0zNDUsNyArMzI3LDYgQEAKIAogY29uZmlnIFNORF9TQjgKIAl0cmlzdGF0ZSAiU291bmQgQmxhc3RlciAxLjAvMi4wL1BybyAoOC1iaXQpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfU0I4X0RTUApAQCAtMzU4LDcgKzMzOSw2IEBACiAKIGNvbmZpZyBTTkRfU0IxNgogCXRyaXN0YXRlICJTb3VuZCBCbGFzdGVyIDE2IChQblApIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1NCMTZfRFNQCkBAIC0zNzEsNyArMzUxLDYgQEAKIAogY29uZmlnIFNORF9TQkFXRQogCXRyaXN0YXRlICJTb3VuZCBCbGFzdGVyIEFXRSAoMzIsNjQpIChQblApIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1NCMTZfRFNQCkBAIC0zOTEsMTggKzM3MCw4IEBACiAJICBjb3Byb2Nlc3NvciBjYW4gZG8gdmFyaWFibGUgdGFza3MgbGlrZSB2YXJpb3VzIGNvbXByZXNzaW9uIGFuZAogCSAgZGVjb21wcmVzc2lvbiBhbGdvcml0aG1zLgogCi1jb25maWcgU05EX1NCMTZfQ1NQX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWJvb2wgIkluLWtlcm5lbCBmaXJtd2FyZSBmb3IgU0IxNiBDU1AiCi0JZGVwZW5kcyBvbiBTTkRfU0IxNl9DU1AKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgdGhlIHN0YXRpYyBmaXJtd2FyZSBidWlsdCBpbiB0aGUga2VybmVsCi0JICBmb3IgdGhlIFNCMTYgQ1NQIGNvbnRyb2xsZXIuICBJZiB5b3UgY2hvb3NlIE4gaGVyZSwgeW91IG5lZWQKLQkgIHRvIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlIGFsc2EtZmlybXdhcmUgcGFja2FnZS4KLQogY29uZmlnIFNORF9TR0FMQVhZCiAJdHJpc3RhdGUgIkF6dGVjaCBTb3VuZCBHYWxheHkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FEMTg0OF9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQXp0ZWNoIFNvdW5kIEdhbGF4eQpAQCAtNDEzLDcgKzM4Miw2IEBACiAKIGNvbmZpZyBTTkRfU1NDQVBFCiAJdHJpc3RhdGUgIkVuc29uaXEgU291bmRTY2FwZSBQblAgZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKQEAgLTQyNiw3ICszOTQsNiBAQAogCiBjb25maWcgU05EX1dBVkVGUk9OVAogCXRyaXN0YXRlICJUdXJ0bGUgQmVhY2ggTWF1aSxUcm9wZXosVHJvcGV6KyAoV2F2ZWZyb250KSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtNDQ4LDQgKzQxNSw1IEBACiAJICB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBmaXJtd2FyZSBmaWxlcyBmcm9tIHRoZQogCSAgYWxzYS1maXJtd2FyZSBwYWNrYWdlLgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9JU0EKKwpkaWZmIC0tZ2l0IGEvc291bmQvaXNhL2NzNDIzeC9jczQyMzFfbGliLmMgYi9zb3VuZC9pc2EvY3M0MjN4L2NzNDIzMV9saWIuYwppbmRleCAwYWE4NjQ5Li41MjFkYjcwIDEwMDY0NAotLS0gYS9zb3VuZC9pc2EvY3M0MjN4L2NzNDIzMV9saWIuYworKysgYi9zb3VuZC9pc2EvY3M0MjN4L2NzNDIzMV9saWIuYwpAQCAtMTE5LDYgKzExOSw0MiBAQAogCTB4MDAsCQkJLyogMWYvMzEgLSBjYnJsICovCiB9OwogCitzdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfb3B0aTkzeF9vcmlnaW5hbF9pbWFnZVszMl0gPQoreworCTB4MDAsCQkvKiAwMC8wMCAtIGxfbWl4b3V0X291dGN0cmwgKi8KKwkweDAwLAkJLyogMDEvMDEgLSByX21peG91dF9vdXRjdHJsICovCisJMHg4OCwJCS8qIDAyLzAyIC0gbF9jZF9pbmN0cmwgKi8KKwkweDg4LAkJLyogMDMvMDMgLSByX2NkX2luY3RybCAqLworCTB4ODgsCQkvKiAwNC8wNCAtIGxfYTEvZm1faW5jdHJsICovCisJMHg4OCwJCS8qIDA1LzA1IC0gcl9hMS9mbV9pbmN0cmwgKi8KKwkweDgwLAkJLyogMDYvMDYgLSBsX2RhY19pbmN0cmwgKi8KKwkweDgwLAkJLyogMDcvMDcgLSByX2RhY19pbmN0cmwgKi8KKwkweDAwLAkJLyogMDgvMDggLSBwbHlfZGF0YWZvcm1fcmVnICovCisJMHgwMCwJCS8qIDA5LzA5IC0gaWZfY29uZiAqLworCTB4MDAsCQkvKiAwYS8xMCAtIHBpbl9jdHJsICovCisJMHgwMCwJCS8qIDBiLzExIC0gZXJyX2luaXRfcmVnICovCisJMHgwYSwJCS8qIDBjLzEyIC0gaWRfcmVnICovCisJMHgwMCwJCS8qIDBkLzEzIC0gcmVzZXJ2ZWQgKi8KKwkweDAwLAkJLyogMGUvMTQgLSBwbHlfdXBjb3VudF9yZWcgKi8KKwkweDAwLAkJLyogMGYvMTUgLSBwbHlfbG93Y291bnRfcmVnICovCisJMHg4OCwJCS8qIDEwLzE2IC0gcmVzZXJ2ZWQvbF9hMV9pbmN0cmwgKi8KKwkweDg4LAkJLyogMTEvMTcgLSByZXNlcnZlZC9yX2ExX2luY3RybCAqLworCTB4ODgsCQkvKiAxMi8xOCAtIGxfbGluZV9pbmN0cmwgKi8KKwkweDg4LAkJLyogMTMvMTkgLSByX2xpbmVfaW5jdHJsICovCisJMHg4OCwJCS8qIDE0LzIwIC0gbF9taWNfaW5jdHJsICovCisJMHg4OCwJCS8qIDE1LzIxIC0gcl9taWNfaW5jdHJsICovCisJMHg4MCwJCS8qIDE2LzIyIC0gbF9vdXRfb3V0Y3RybCAqLworCTB4ODAsCQkvKiAxNy8yMyAtIHJfb3V0X291dGN0cmwgKi8KKwkweDAwLAkJLyogMTgvMjQgLSByZXNlcnZlZCAqLworCTB4MDAsCQkvKiAxOS8yNSAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDFhLzI2IC0gcmVzZXJ2ZWQgKi8KKwkweDAwLAkJLyogMWIvMjcgLSByZXNlcnZlZCAqLworCTB4MDAsCQkvKiAxYy8yOCAtIGNhcF9kYXRhZm9ybV9yZWcgKi8KKwkweDAwLAkJLyogMWQvMjkgLSByZXNlcnZlZCAqLworCTB4MDAsCQkvKiAxZS8zMCAtIGNhcF91cGNvdW50X3JlZyAqLworCTB4MDAJCS8qIDFmLzMxIC0gY2FwX2xvd2NvdW50X3JlZyAqLworfTsKKwogLyoKICAqICBCYXNpYyBJL08gZnVuY3Rpb25zCiAgKi8KQEAgLTg5NSw3ICs5MzEsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBzbmRfY3M0MjMxX292ZXJyYW5nZShzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCkKK3ZvaWQgc25kX2NzNDIzMV9vdmVycmFuZ2Uoc3RydWN0IHNuZF9jczQyMzEgKmNoaXApCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1bnNpZ25lZCBjaGFyIHJlczsKQEAgLTEwNTQsOCArMTA5MCwxMSBAQAogCWNoaXAtPmltYWdlW0NTNDIzMV9JRkFDRV9DVFJMXSA9CiAJICAgIChjaGlwLT5pbWFnZVtDUzQyMzFfSUZBQ0VfQ1RSTF0gJiB+Q1M0MjMxX1NJTkdMRV9ETUEpIHwKIAkgICAgKGNoaXAtPnNpbmdsZV9kbWEgPyBDUzQyMzFfU0lOR0xFX0RNQSA6IDApOwotCWNoaXAtPmltYWdlW0NTNDIzMV9BTFRfRkVBVFVSRV8xXSA9IDB4ODA7Ci0JY2hpcC0+aW1hZ2VbQ1M0MjMxX0FMVF9GRUFUVVJFXzJdID0gY2hpcC0+aGFyZHdhcmUgPT0gQ1M0MjMxX0hXX0lOVEVSV0FWRSA/IDB4YzIgOiAweDAxOworCWlmIChjaGlwLT5oYXJkd2FyZSAhPSBDUzQyMzFfSFdfT1BUSTkzWCkgeworCQljaGlwLT5pbWFnZVtDUzQyMzFfQUxUX0ZFQVRVUkVfMV0gPSAweDgwOworCQljaGlwLT5pbWFnZVtDUzQyMzFfQUxUX0ZFQVRVUkVfMl0gPQorCQkJY2hpcC0+aGFyZHdhcmUgPT0gQ1M0MjMxX0hXX0lOVEVSV0FWRSA/IDB4YzIgOiAweDAxOworCX0KIAlwdHIgPSAodW5zaWduZWQgY2hhciAqKSAmY2hpcC0+aW1hZ2U7CiAJc25kX2NzNDIzMV9tY2VfZG93bihjaGlwKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKQEAgLTEzNzYsNiArMTQxNSw3IEBACiAJY2FzZSBDUzQyMzFfSFdfSU5URVJXQVZFOiByZXR1cm4gIkFNRCBJbnRlcldhdmUiOwogCWNhc2UgQ1M0MjMxX0hXX09QTDNTQTI6IHJldHVybiBjaGlwLT5jYXJkLT5zaG9ydG5hbWU7CiAJY2FzZSBDUzQyMzFfSFdfQUQxODQ1OiByZXR1cm4gIkFEMTg0NSI7CisJY2FzZSBDUzQyMzFfSFdfT1BUSTkzWDogcmV0dXJuICJPUFRpIDkzeCI7CiAJZGVmYXVsdDogcmV0dXJuICI/Pz8iOwogCX0KIH0KQEAgLTE0MDEsOCArMTQ0MSwxMyBAQAogCWNoaXAtPnJhdGVfY29uc3RyYWludCA9IHNuZF9jczQyMzFfeHJhdGU7CiAJY2hpcC0+c2V0X3BsYXliYWNrX2Zvcm1hdCA9IHNuZF9jczQyMzFfcGxheWJhY2tfZm9ybWF0OwogCWNoaXAtPnNldF9jYXB0dXJlX2Zvcm1hdCA9IHNuZF9jczQyMzFfY2FwdHVyZV9mb3JtYXQ7Ci0gICAgICAgIG1lbWNweSgmY2hpcC0+aW1hZ2UsICZzbmRfY3M0MjMxX29yaWdpbmFsX2ltYWdlLCBzaXplb2Yoc25kX2NzNDIzMV9vcmlnaW5hbF9pbWFnZSkpOwotICAgICAgICAKKwlpZiAoY2hpcC0+aGFyZHdhcmUgPT0gQ1M0MjMxX0hXX09QVEk5M1gpCisJCW1lbWNweSgmY2hpcC0+aW1hZ2UsICZzbmRfb3B0aTkzeF9vcmlnaW5hbF9pbWFnZSwKKwkJICAgICAgIHNpemVvZihzbmRfb3B0aTkzeF9vcmlnaW5hbF9pbWFnZSkpOworCWVsc2UKKwkJbWVtY3B5KCZjaGlwLT5pbWFnZSwgJnNuZF9jczQyMzFfb3JpZ2luYWxfaW1hZ2UsCisJCSAgICAgICBzaXplb2Yoc25kX2NzNDIzMV9vcmlnaW5hbF9pbWFnZSkpOworCiAgICAgICAgICpyY2hpcCA9IGNoaXA7CiAgICAgICAgIHJldHVybiAwOwogfQpAQCAtMTc5MCw2ICsxODM1LDQ4IEBACiBDUzQyMzFfU0lOR0xFKCJMb29wYmFjayBDYXB0dXJlIFZvbHVtZSIsIDAsIENTNDIzMV9MT09QQkFDSywgMiwgNjMsIDEpCiB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNuZF9vcHRpOTN4X2NvbnRyb2xzW10gPSB7CitDUzQyMzFfRE9VQkxFKCJNYXN0ZXIgUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBPUFRpOTNYX09VVF9MRUZULCBPUFRpOTNYX09VVF9SSUdIVCwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIiwgMCwKKwkgICAgICBPUFRpOTNYX09VVF9MRUZULCBPUFRpOTNYX09VVF9SSUdIVCwgMSwgMSwgMzEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiUENNIFBsYXliYWNrIFN3aXRjaCIsIDAsCisJICAgICAgQ1M0MjMxX0xFRlRfT1VUUFVULCBDUzQyMzFfUklHSFRfT1VUUFVULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIlBDTSBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIENTNDIzMV9MRUZUX09VVFBVVCwgQ1M0MjMxX1JJR0hUX09VVFBVVCwgMCwgMCwgMzEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiRk0gUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBDUzQyMzFfQVVYMl9MRUZUX0lOUFVULCBDUzQyMzFfQVVYMl9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJGTSBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIENTNDIzMV9BVVgyX0xFRlRfSU5QVVQsIENTNDIzMV9BVVgyX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksCitDUzQyMzFfRE9VQkxFKCJMaW5lIFBsYXliYWNrIFN3aXRjaCIsIDAsCisJICAgICAgQ1M0MjMxX0xFRlRfTElORV9JTiwgQ1M0MjMxX1JJR0hUX0xJTkVfSU4sIDcsIDcsIDEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiTGluZSBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIENTNDIzMV9MRUZUX0xJTkVfSU4sIENTNDIzMV9SSUdIVF9MSU5FX0lOLCAwLCAwLCAxNSwgMSksCitDUzQyMzFfRE9VQkxFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBPUFRpOTNYX01JQ19MRUZUX0lOUFVULCBPUFRpOTNYX01JQ19SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMCwKKwkgICAgICBPUFRpOTNYX01JQ19MRUZUX0lOUFVULCBPUFRpOTNYX01JQ19SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLAorQ1M0MjMxX0RPVUJMRSgiTWljIEJvb3N0IiwgMCwKKwkgICAgICBDUzQyMzFfTEVGVF9JTlBVVCwgQ1M0MjMxX1JJR0hUX0lOUFVULCA1LCA1LCAxLCAwKSwKK0NTNDIzMV9ET1VCTEUoIkNEIFBsYXliYWNrIFN3aXRjaCIsIDAsCisJICAgICAgQ1M0MjMxX0FVWDFfTEVGVF9JTlBVVCwgQ1M0MjMxX0FVWDFfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiQ0QgUGxheWJhY2sgVm9sdW1lIiwgMCwKKwkgICAgICBDUzQyMzFfQVVYMV9MRUZUX0lOUFVULCBDUzQyMzFfQVVYMV9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLAorQ1M0MjMxX0RPVUJMRSgiQXV4IFBsYXliYWNrIFN3aXRjaCIsIDAsCisJICAgICAgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVCwgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiQXV4IFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVCwgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKK0NTNDIzMV9ET1VCTEUoIkNhcHR1cmUgVm9sdW1lIiwgMCwKKwkgICAgICBDUzQyMzFfTEVGVF9JTlBVVCwgQ1M0MjMxX1JJR0hUX0lOUFVULCAwLCAwLCAxNSwgMCksCit7CisJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgPSAiQ2FwdHVyZSBTb3VyY2UiLAorCS5pbmZvID0gc25kX2NzNDIzMV9pbmZvX211eCwKKwkuZ2V0ID0gc25kX2NzNDIzMV9nZXRfbXV4LAorCS5wdXQgPSBzbmRfY3M0MjMxX3B1dF9tdXgsCit9Cit9OworCiBpbnQgc25kX2NzNDIzMV9taXhlcihzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCkKIHsKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CkBAIC0xODAyLDEwICsxODg5LDIyIEBACiAKIAlzdHJjcHkoY2FyZC0+bWl4ZXJuYW1lLCBjaGlwLT5wY20tPm5hbWUpOwogCi0JZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9jczQyMzFfY29udHJvbHMpOyBpZHgrKykgewotCQlpZiAoKGVyciA9IHNuZF9jdGxfYWRkKGNhcmQsIHNuZF9jdGxfbmV3MSgmc25kX2NzNDIzMV9jb250cm9sc1tpZHhdLCBjaGlwKSkpIDwgMCkKLQkJCXJldHVybiBlcnI7Ci0JfQorCWlmIChjaGlwLT5oYXJkd2FyZSA9PSBDUzQyMzFfSFdfT1BUSTkzWCkKKwkJZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9vcHRpOTN4X2NvbnRyb2xzKTsgaWR4KyspIHsKKwkJCWVyciA9IHNuZF9jdGxfYWRkKGNhcmQsCisJCQkJCXNuZF9jdGxfbmV3MSgmc25kX29wdGk5M3hfY29udHJvbHNbaWR4XSwKKwkJCQkJCSAgICAgY2hpcCkpOworCQkJaWYgKGVyciA8IDApCisJCQkJcmV0dXJuIGVycjsKKwkJfQorCWVsc2UKKwkJZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9jczQyMzFfY29udHJvbHMpOyBpZHgrKykgeworCQkJZXJyID0gc25kX2N0bF9hZGQoY2FyZCwKKwkJCQkJc25kX2N0bF9uZXcxKCZzbmRfY3M0MjMxX2NvbnRyb2xzW2lkeF0sCisJCQkJCQkgICAgIGNoaXApKTsKKwkJCWlmIChlcnIgPCAwKQorCQkJCXJldHVybiBlcnI7CisJCX0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTgxNSw2ICsxOTE0LDcgQEAKIEVYUE9SVF9TWU1CT0woc25kX2NzNDIzNl9leHRfaW4pOwogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjMxX21jZV91cCk7CiBFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzFfbWNlX2Rvd24pOworRVhQT1JUX1NZTUJPTChzbmRfY3M0MjMxX292ZXJyYW5nZSk7CiBFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzFfaW50ZXJydXB0KTsKIEVYUE9SVF9TWU1CT0woc25kX2NzNDIzMV9jaGlwX2lkKTsKIEVYUE9SVF9TWU1CT0woc25kX2NzNDIzMV9jcmVhdGUpOwpkaWZmIC0tZ2l0IGEvc291bmQvaXNhL29wdGk5eHgvb3B0aTkyeC1hZDE4NDguYyBiL3NvdW5kL2lzYS9vcHRpOXh4L29wdGk5MngtYWQxODQ4LmMKaW5kZXggZmUxYWZjMS4uNDFjMDQ3ZSAxMDA2NDQKLS0tIGEvc291bmQvaXNhL29wdGk5eHgvb3B0aTkyeC1hZDE4NDguYworKysgYi9zb3VuZC9pc2Evb3B0aTl4eC9vcHRpOTJ4LWFkMTg0OC5jCkBAIC0zMywxNSArMzMsMTAgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+CiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgotI2lmZGVmIENTNDIzMQorI2lmIGRlZmluZWQoQ1M0MjMxKSB8fCBkZWZpbmVkKE9QVGk5M1gpCiAjaW5jbHVkZSA8c291bmQvY3M0MjMxLmg+CiAjZWxzZQotI2lmbmRlZiBPUFRpOTNYCiAjaW5jbHVkZSA8c291bmQvYWQxODQ4Lmg+Ci0jZWxzZQotI2luY2x1ZGUgPHNvdW5kL2NvbnRyb2wuaD4KLSNpbmNsdWRlIDxzb3VuZC9wY20uaD4KLSNlbmRpZgkvKiBPUFRpOTNYICovCiAjZW5kaWYJLyogQ1M0MjMxICovCiAjaW5jbHVkZSA8c291bmQvbXB1NDAxLmg+CiAjaW5jbHVkZSA8c291bmQvb3BsMy5oPgpAQCAtMTA5LDcgKzEwNCw2IEBACiBNT0RVTEVfUEFSTV9ERVNDKGRtYTIsICIybmQgZG1hICMgZm9yIG9wdGk5eHggZHJpdmVyLiIpOwogI2VuZGlmCS8qIENTNDIzMSB8fCBPUFRpOTNYICovCiAKLSNkZWZpbmUgT1BUaTlYWF9IV19ERVRFQ1QJMAogI2RlZmluZSBPUFRpOVhYX0hXXzgyQzkyOAkxCiAjZGVmaW5lIE9QVGk5WFhfSFdfODJDOTI5CTIKICNkZWZpbmUgT1BUaTlYWF9IV184MkM5MjQJMwpAQCAtMTIzLDEwNSArMTE3LDEyIEBACiAKICNpZmRlZiBPUFRpOTNYCiAKLSNkZWZpbmUgT1BUaTkzWF9JTkRFWAkJCTB4MDAKLSNkZWZpbmUgT1BUaTkzWF9EQVRBCQkJMHgwMQogI2RlZmluZSBPUFRpOTNYX1NUQVRVUwkJCTB4MDIKLSNkZWZpbmUgT1BUaTkzWF9EREFUQQkJCTB4MDMKICNkZWZpbmUgT1BUaTkzWF9QT1JUKGNoaXAsIHIpCQkoKGNoaXApLT5wb3J0ICsgT1BUaTkzWF8jI3IpCiAKLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfTEVGVAkJMHgwMAotI2RlZmluZSBPUFRpOTNYX01JWE9VVF9SSUdIVAkJMHgwMQotI2RlZmluZSBPUFRpOTNYX0NEX0xFRlRfSU5QVVQJCTB4MDIKLSNkZWZpbmUgT1BUaTkzWF9DRF9SSUdIVF9JTlBVVAkJMHgwMwotI2RlZmluZSBPUFRpOTMwX0FVWF9MRUZUX0lOUFVUCQkweDA0Ci0jZGVmaW5lIE9QVGk5MzBfQVVYX1JJR0hUX0lOUFVUCQkweDA1Ci0jZGVmaW5lIE9QVGk5MzFfRk1fTEVGVF9JTlBVVAkJMHgwNAotI2RlZmluZSBPUFRpOTMxX0ZNX1JJR0hUX0lOUFVUCQkweDA1Ci0jZGVmaW5lIE9QVGk5M1hfREFDX0xFRlQJCTB4MDYKLSNkZWZpbmUgT1BUaTkzWF9EQUNfUklHSFQJCTB4MDcKLSNkZWZpbmUgT1BUaTkzWF9QTEFZX0ZPUk1BVAkJMHgwOAotI2RlZmluZSBPUFRpOTNYX0lGQUNFX0NPTkYJCTB4MDkKLSNkZWZpbmUgT1BUaTkzWF9QSU5fQ1RSTAkJMHgwYQotI2RlZmluZSBPUFRpOTNYX0VSUl9JTklUCQkweDBiCi0jZGVmaW5lIE9QVGk5M1hfSUQJCQkweDBjCi0jZGVmaW5lIE9QVGk5M1hfUExBWV9VUFJfQ05UCQkweDBlCi0jZGVmaW5lIE9QVGk5M1hfUExBWV9MV1JfQ05UCQkweDBmCi0jZGVmaW5lIE9QVGk5MzFfQVVYX0xFRlRfSU5QVVQJCTB4MTAKLSNkZWZpbmUgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQJCTB4MTEKLSNkZWZpbmUgT1BUaTkzWF9MSU5FX0xFRlRfSU5QVVQJCTB4MTIKLSNkZWZpbmUgT1BUaTkzWF9MSU5FX1JJR0hUX0lOUFVUCTB4MTMKLSNkZWZpbmUgT1BUaTkzWF9NSUNfTEVGVF9JTlBVVAkJMHgxNAotI2RlZmluZSBPUFRpOTNYX01JQ19SSUdIVF9JTlBVVAkJMHgxNQotI2RlZmluZSBPUFRpOTNYX09VVF9MRUZUCQkweDE2Ci0jZGVmaW5lIE9QVGk5M1hfT1VUX1JJR0hUCQkweDE3Ci0jZGVmaW5lIE9QVGk5M1hfQ0FQVF9GT1JNQVQJCTB4MWMKLSNkZWZpbmUgT1BUaTkzWF9DQVBUX1VQUl9DTlQJCTB4MWUKLSNkZWZpbmUgT1BUaTkzWF9DQVBUX0xXUl9DTlQJCTB4MWYKLQotI2RlZmluZSBPUFRpOTNYX1RSRAkJCTB4MjAKLSNkZWZpbmUgT1BUaTkzWF9NQ0UJCQkweDQwCi0jZGVmaW5lIE9QVGk5M1hfSU5JVAkJCTB4ODAKLQotI2RlZmluZSBPUFRpOTNYX01JWE9VVF9NSUNfR0FJTgkJMHgyMAotI2RlZmluZSBPUFRpOTNYX01JWE9VVF9MSU5FCQkweDAwCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX0NECQkweDQwCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX01JQwkJMHg4MAotI2RlZmluZSBPUFRpOTNYX01JWE9VVF9NSVhFUgkJMHhjMAotCi0jZGVmaW5lIE9QVGk5M1hfU1RFUkVPCQkJMHgxMAotI2RlZmluZSBPUFRpOTNYX0xJTkVBUl84CQkweDAwCi0jZGVmaW5lIE9QVGk5M1hfVUxBV184CQkJMHgyMAotI2RlZmluZSBPUFRpOTNYX0xJTkVBUl8xNl9MSVQJCTB4NDAKLSNkZWZpbmUgT1BUaTkzWF9BTEFXXzgJCQkweDYwCi0jZGVmaW5lIE9QVGk5M1hfQURQQ01fMTYJCTB4YTAKLSNkZWZpbmUgT1BUaTkzWF9MSU5FQVJfMTZfQklHCQkweGMwCi0KLSNkZWZpbmUgT1BUaTkzWF9DQVBUVVJFX1BJTwkJMHg4MAotI2RlZmluZSBPUFRpOTNYX1BMQVlCQUNLX1BJTwkJMHg0MAotI2RlZmluZSBPUFRpOTNYX0FVVE9DQUxJQgkJMHgwOAotI2RlZmluZSBPUFRpOTNYX1NJTkdMRV9ETUEJCTB4MDQKLSNkZWZpbmUgT1BUaTkzWF9DQVBUVVJFX0VOQUJMRQkJMHgwMgotI2RlZmluZSBPUFRpOTNYX1BMQVlCQUNLX0VOQUJMRQkJMHgwMQotCi0jZGVmaW5lIE9QVGk5M1hfSVJRX0VOQUJMRQkJMHgwMgotCi0jZGVmaW5lIE9QVGk5M1hfRE1BX1JFUVVFU1QJCTB4MTAKLSNkZWZpbmUgT1BUaTkzWF9DQUxJQl9JTl9QUk9HUkVTUwkweDIwCi0KICNkZWZpbmUgT1BUaTkzWF9JUlFfUExBWUJBQ0sJCTB4MDQKICNkZWZpbmUgT1BUaTkzWF9JUlFfQ0FQVFVSRQkJMHgwOAogCi0KLXN0cnVjdCBzbmRfb3B0aTkzeCB7Ci0JdW5zaWduZWQgbG9uZyBwb3J0OwotCXN0cnVjdCByZXNvdXJjZSAqcmVzX3BvcnQ7Ci0JaW50IGlycTsKLQlpbnQgZG1hMTsKLQlpbnQgZG1hMjsKLQotCXN0cnVjdCBzbmRfb3B0aTl4eCAqY2hpcDsKLQl1bnNpZ25lZCBzaG9ydCBoYXJkd2FyZTsKLQl1bnNpZ25lZCBjaGFyIGltYWdlWzMyXTsKLQotCXVuc2lnbmVkIGNoYXIgbWNlX2JpdDsKLQl1bnNpZ25lZCBzaG9ydCBtb2RlOwotCWludCBtdXRlOwotCi0Jc3BpbmxvY2tfdCBsb2NrOwotCi0Jc3RydWN0IHNuZF9jYXJkICpjYXJkOwotCXN0cnVjdCBzbmRfcGNtICpwY207Ci0Jc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpwbGF5YmFja19zdWJzdHJlYW07Ci0Jc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpjYXB0dXJlX3N1YnN0cmVhbTsKLQl1bnNpZ25lZCBpbnQgcF9kbWFfc2l6ZTsKLQl1bnNpZ25lZCBpbnQgY19kbWFfc2l6ZTsKLX07Ci0KLSNkZWZpbmUgT1BUaTkzWF9NT0RFX05PTkUJMHgwMAotI2RlZmluZSBPUFRpOTNYX01PREVfUExBWQkweDAxCi0jZGVmaW5lIE9QVGk5M1hfTU9ERV9DQVBUVVJFCTB4MDIKLSNkZWZpbmUgT1BUaTkzWF9NT0RFX09QRU4JKE9QVGk5M1hfTU9ERV9QTEFZIHwgT1BUaTkzWF9NT0RFX0NBUFRVUkUpCi0KICNlbmRpZiAvKiBPUFRpOTNYICovCiAKIHN0cnVjdCBzbmRfb3B0aTl4eCB7CkBAIC0yMzQsNiArMTM1LDcgQEAKIAl1bnNpZ25lZCBsb25nIG1jX2Jhc2Vfc2l6ZTsKICNpZmRlZiBPUFRpOTNYCiAJdW5zaWduZWQgbG9uZyBtY19pbmRpcl9pbmRleDsKKwlzdHJ1Y3Qgc25kX2NzNDIzMSAqY29kZWM7CiAjZW5kaWYJLyogT1BUaTkzWCAqLwogCXVuc2lnbmVkIGxvbmcgcHdkX3JlZzsKIApAQCAtNDkxLDE2ICszOTMsOSBAQAogCQlicmVhazsKIAogI2Vsc2UJLyogT1BUaTkzWCAqLwotCWNhc2UgT1BUaTlYWF9IV184MkM5MzA6CiAJY2FzZSBPUFRpOVhYX0hXXzgyQzkzMToKIAljYXNlIE9QVGk5WFhfSFdfODJDOTMzOgotCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDYpLCAweDAyLCAweDAzKTsKLQkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRygzKSwgMHgwMCwgMHhmZik7Ci0JCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoNCksIDB4MTAgfAotCQkJKGNoaXAtPmhhcmR3YXJlID09IE9QVGk5WFhfSFdfODJDOTMwID8gMHgwMCA6IDB4MDQpLAotCQkJMHgzNCk7Ci0JCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoNSksIDB4MjAsIDB4YmYpOwotCQkvKiAKKwkJLyoKIAkJICogVGhlIEJUQyAxODE3RFcgaGFzIFFTMTAwMCB3YXZldGFibGUgd2hpY2ggaXMgY29ubmVjdGVkCiAJCSAqIHRvIHRoZSBzZXJpYWwgZGlnaXRhbCBpbnB1dCBvZiB0aGUgT1BUSTkzMS4KIAkJICovCkBAIC01MTAsNiArNDA1LDEzIEBACiAJCSAqIG9yIGRpZ2l0YWwgaW5wdXQgc2lnbmFsLgogCQkgKi8KIAkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRygyNiksIDB4MDEsIDB4MDEpOworCWNhc2UgT1BUaTlYWF9IV184MkM5MzA6IC8qIEZBTEwgVEhST1VHSCAqLworCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDYpLCAweDAyLCAweDAzKTsKKwkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRygzKSwgMHgwMCwgMHhmZik7CisJCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoNCksIDB4MTAgfAorCQkJKGNoaXAtPmhhcmR3YXJlID09IE9QVGk5WFhfSFdfODJDOTMwID8gMHgwMCA6IDB4MDQpLAorCQkJMHgzNCk7CisJCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoNSksIDB4MjAsIDB4YmYpOwogCQlicmVhazsKICNlbmRpZgkvKiBPUFRpOTNYICovCiAKQEAgLTY1NCw5NzkgKzU1NiwyMyBAQAogCiAjaWZkZWYgT1BUaTkzWAogCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfb3B0aTkzeF9kZWZhdWx0X2ltYWdlWzMyXSA9Ci17Ci0JMHgwMCwJCS8qIDAwLzAwIC0gbF9taXhvdXRfb3V0Y3RybCAqLwotCTB4MDAsCQkvKiAwMS8wMSAtIHJfbWl4b3V0X291dGN0cmwgKi8KLQkweDg4LAkJLyogMDIvMDIgLSBsX2NkX2luY3RybCAqLwotCTB4ODgsCQkvKiAwMy8wMyAtIHJfY2RfaW5jdHJsICovCi0JMHg4OCwJCS8qIDA0LzA0IC0gbF9hMS9mbV9pbmN0cmwgKi8KLQkweDg4LAkJLyogMDUvMDUgLSByX2ExL2ZtX2luY3RybCAqLwotCTB4ODAsCQkvKiAwNi8wNiAtIGxfZGFjX2luY3RybCAqLwotCTB4ODAsCQkvKiAwNy8wNyAtIHJfZGFjX2luY3RybCAqLwotCTB4MDAsCQkvKiAwOC8wOCAtIHBseV9kYXRhZm9ybV9yZWcgKi8KLQkweDAwLAkJLyogMDkvMDkgLSBpZl9jb25mICovCi0JMHgwMCwJCS8qIDBhLzEwIC0gcGluX2N0cmwgKi8KLQkweDAwLAkJLyogMGIvMTEgLSBlcnJfaW5pdF9yZWcgKi8KLQkweDBhLAkJLyogMGMvMTIgLSBpZF9yZWcgKi8KLQkweDAwLAkJLyogMGQvMTMgLSByZXNlcnZlZCAqLwotCTB4MDAsCQkvKiAwZS8xNCAtIHBseV91cGNvdW50X3JlZyAqLwotCTB4MDAsCQkvKiAwZi8xNSAtIHBseV9sb3djb3VudF9yZWcgKi8KLQkweDg4LAkJLyogMTAvMTYgLSByZXNlcnZlZC9sX2ExX2luY3RybCAqLwotCTB4ODgsCQkvKiAxMS8xNyAtIHJlc2VydmVkL3JfYTFfaW5jdHJsICovCi0JMHg4OCwJCS8qIDEyLzE4IC0gbF9saW5lX2luY3RybCAqLwotCTB4ODgsCQkvKiAxMy8xOSAtIHJfbGluZV9pbmN0cmwgKi8KLQkweDg4LAkJLyogMTQvMjAgLSBsX21pY19pbmN0cmwgKi8KLQkweDg4LAkJLyogMTUvMjEgLSByX21pY19pbmN0cmwgKi8KLQkweDgwLAkJLyogMTYvMjIgLSBsX291dF9vdXRjdHJsICovCi0JMHg4MCwJCS8qIDE3LzIzIC0gcl9vdXRfb3V0Y3RybCAqLwotCTB4MDAsCQkvKiAxOC8yNCAtIHJlc2VydmVkICovCi0JMHgwMCwJCS8qIDE5LzI1IC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMWEvMjYgLSByZXNlcnZlZCAqLwotCTB4MDAsCQkvKiAxYi8yNyAtIHJlc2VydmVkICovCi0JMHgwMCwJCS8qIDFjLzI4IC0gY2FwX2RhdGFmb3JtX3JlZyAqLwotCTB4MDAsCQkvKiAxZC8yOSAtIHJlc2VydmVkICovCi0JMHgwMCwJCS8qIDFlLzMwIC0gY2FwX3VwY291bnRfcmVnICovCi0JMHgwMAkJLyogMWYvMzEgLSBjYXBfbG93Y291bnRfcmVnICovCi19OwotCi0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfYnVzeV93YWl0KHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCkKLXsKLQlpbnQgdGltZW91dDsKLQotCWZvciAodGltZW91dCA9IDI1MDsgdGltZW91dC0tID4gMDsgdWRlbGF5KDEwKSkKLQkJaWYgKCEoaW5iKE9QVGk5M1hfUE9SVChjaGlwLCBJTkRFWCkpICYgT1BUaTkzWF9JTklUKSkKLQkJCXJldHVybiAwOwotCi0Jc25kX3ByaW50aygiY2hpcCBzdGlsbCBidXN5LlxuIik7Ci0JcmV0dXJuIC1FQlVTWTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc25kX29wdGk5M3hfaW4oc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIHJlZykKLXsKLQlzbmRfb3B0aTkzeF9idXN5X3dhaXQoY2hpcCk7Ci0Jb3V0YihjaGlwLT5tY2VfYml0IHwgKHJlZyAmIDB4MWYpLCBPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKTsKLQlyZXR1cm4gaW5iKE9QVGk5M1hfUE9SVChjaGlwLCBEQVRBKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X291dChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGNoYXIgcmVnLAotCQkJICAgIHVuc2lnbmVkIGNoYXIgdmFsdWUpCi17Ci0Jc25kX29wdGk5M3hfYnVzeV93YWl0KGNoaXApOwotCW91dGIoY2hpcC0+bWNlX2JpdCB8IChyZWcgJiAweDFmKSwgT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSk7Ci0Jb3V0Yih2YWx1ZSwgT1BUaTkzWF9QT1JUKGNoaXAsIERBVEEpKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfb3V0X2ltYWdlKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgY2hhciByZWcsCi0JCQkJICB1bnNpZ25lZCBjaGFyIHZhbHVlKQotewotCXNuZF9vcHRpOTN4X291dChjaGlwLCByZWcsIGNoaXAtPmltYWdlW3JlZ10gPSB2YWx1ZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X291dF9tYXNrKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgY2hhciByZWcsCi0JCQkJIHVuc2lnbmVkIGNoYXIgbWFzaywgdW5zaWduZWQgY2hhciB2YWx1ZSkKLXsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgcmVnLAotCQkoY2hpcC0+aW1hZ2VbcmVnXSAmIH5tYXNrKSB8ICh2YWx1ZSAmIG1hc2spKTsKLX0KLQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9tY2VfdXAoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXNuZF9vcHRpOTN4X2J1c3lfd2FpdChjaGlwKTsKLQotCWNoaXAtPm1jZV9iaXQgPSBPUFRpOTNYX01DRTsKLQlpZiAoIShpbmIoT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSkgJiBPUFRpOTNYX01DRSkpCi0JCW91dGIoY2hpcC0+bWNlX2JpdCwgT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X21jZV9kb3duKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCkKLXsKLQlzbmRfb3B0aTkzeF9idXN5X3dhaXQoY2hpcCk7Ci0KLQljaGlwLT5tY2VfYml0ID0gMDsKLQlpZiAoaW5iKE9QVGk5M1hfUE9SVChjaGlwLCBJTkRFWCkpICYgT1BUaTkzWF9NQ0UpCi0JCW91dGIoY2hpcC0+bWNlX2JpdCwgT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSk7Ci19Ci0KLSNkZWZpbmUgc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgcmVnLCBtdXRlKQlcCi0Jc25kX29wdGk5M3hfb3V0KGNoaXAsIHJlZywgbXV0ZSA/IDB4ODAgOiBjaGlwLT5pbWFnZVtyZWddKTsKLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfbXV0ZShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIGludCBtdXRlKQotewotCW11dGUgPSBtdXRlID8gMSA6IDA7Ci0JaWYgKGNoaXAtPm11dGUgPT0gbXV0ZSkKLQkJcmV0dXJuOwotCi0JY2hpcC0+bXV0ZSA9IG11dGU7Ci0KLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX0NEX0xFRlRfSU5QVVQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfQ0RfUklHSFRfSU5QVVQsIG11dGUpOwotCXN3aXRjaCAoY2hpcC0+aGFyZHdhcmUpIHsKLQljYXNlIE9QVGk5WFhfSFdfODJDOTMwOgotCQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTMwX0FVWF9MRUZUX0lOUFVULCBtdXRlKTsKLQkJc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzMF9BVVhfUklHSFRfSU5QVVQsIG11dGUpOwotCQlicmVhazsKLQljYXNlIE9QVGk5WFhfSFdfODJDOTMxOgotCWNhc2UgT1BUaTlYWF9IV184MkM5MzM6Ci0JCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5MzFfRk1fTEVGVF9JTlBVVCwgbXV0ZSk7Ci0JCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5MzFfRk1fUklHSFRfSU5QVVQsIG11dGUpOwotCQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTMxX0FVWF9MRUZUX0lOUFVULCBtdXRlKTsKLQkJc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQsIG11dGUpOwotCX0KLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX0RBQ19MRUZULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX0RBQ19SSUdIVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9MSU5FX0xFRlRfSU5QVVQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfTElORV9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9NSUNfTEVGVF9JTlBVVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfT1VUX0xFRlQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfT1VUX1JJR0hULCBtdXRlKTsKLX0KLQotCi1zdGF0aWMgdW5zaWduZWQgaW50IHNuZF9vcHRpOTN4X2dldF9jb3VudCh1bnNpZ25lZCBjaGFyIGZvcm1hdCwKLQkJCQkJICB1bnNpZ25lZCBpbnQgc2l6ZSkKLXsKLQlzd2l0Y2ggKGZvcm1hdCAmIDB4ZTApIHsKLQljYXNlIE9QVGk5M1hfTElORUFSXzE2X0xJVDoKLQljYXNlIE9QVGk5M1hfTElORUFSXzE2X0JJRzoKLQkJc2l6ZSA+Pj0gMTsKLQkJYnJlYWs7Ci0JY2FzZSBPUFRpOTNYX0FEUENNXzE2OgotCQlyZXR1cm4gc2l6ZSA+PiAyOwotCX0KLQlyZXR1cm4gKGZvcm1hdCAmIE9QVGk5M1hfU1RFUkVPKSA/IChzaXplID4+IDEpIDogc2l6ZTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCByYXRlc1tdID0geyAgNTUxMiwgIDY2MTUsICA4MDAwLCAgOTYwMCwgMTEwMjUsIDE2MDAwLCAKLQkJCQkxODkwMCwgMjIwNTAsIDI3NDI4LCAzMjAwMCwgMzMwNzUsIDM3ODAwLAotCQkJCTQ0MTAwLCA0ODAwMCB9OwotI2RlZmluZSBSQVRFUyBBUlJBWV9TSVpFKHJhdGVzKQotCi1zdGF0aWMgc3RydWN0IHNuZF9wY21faHdfY29uc3RyYWludF9saXN0IGh3X2NvbnN0cmFpbnRzX3JhdGVzID0gewotCS5jb3VudCA9IFJBVEVTLAotCS5saXN0ID0gcmF0ZXMsCi0JLm1hc2sgPSAwLAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgYml0c1tdID0geyAgMHgwMSwgIDB4MGYsICAweDAwLCAgMHgwZSwgIDB4MDMsICAweDAyLAotCQkJCSAweDA1LCAgMHgwNywgIDB4MDQsICAweDA2LCAgMHgwZCwgIDB4MDksCi0JCQkJIDB4MGIsICAweDBjfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc25kX29wdGk5M3hfZ2V0X2ZyZXEodW5zaWduZWQgaW50IHJhdGUpCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgUkFURVM7IGkrKykgewotCQlpZiAocmF0ZSA9PSByYXRlc1tpXSkKLQkJCXJldHVybiBiaXRzW2ldOwotCX0KLQlzbmRfQlVHKCk7Ci0JcmV0dXJuIGJpdHNbUkFURVMtMV07Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF9vcHRpOTN4X2dldF9mb3JtYXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLAotCQkJCQkgICAgdW5zaWduZWQgaW50IGZvcm1hdCwgaW50IGNoYW5uZWxzKQotewotCXVuc2lnbmVkIGNoYXIgcmV0dmFsID0gT1BUaTkzWF9MSU5FQVJfODsKLQotCXN3aXRjaCAoZm9ybWF0KSB7Ci0JY2FzZSBTTkRSVl9QQ01fRk9STUFUX01VX0xBVzoKLQkJcmV0dmFsID0gT1BUaTkzWF9VTEFXXzg7Ci0JCWJyZWFrOwotCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9BX0xBVzoKLQkJcmV0dmFsID0gT1BUaTkzWF9BTEFXXzg7Ci0JCWJyZWFrOwotCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEU6Ci0JCXJldHZhbCA9IE9QVGk5M1hfTElORUFSXzE2X0xJVDsKLQkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9CRToKLQkJcmV0dmFsID0gT1BUaTkzWF9MSU5FQVJfMTZfQklHOwotCQlicmVhazsKLQljYXNlIFNORFJWX1BDTV9GT1JNQVRfSU1BX0FEUENNOgotCQlyZXR2YWwgPSBPUFRpOTNYX0FEUENNXzE2OwotCX0KLQlyZXR1cm4gKGNoYW5uZWxzID4gMSkgPyAocmV0dmFsIHwgT1BUaTkzWF9TVEVSRU8pIDogcmV0dmFsOwotfQotCi0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X3BsYXliYWNrX2Zvcm1hdChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGNoYXIgZm10KQotewotCXVuc2lnbmVkIGNoYXIgbWFzazsKLQotCXNuZF9vcHRpOTN4X211dGUoY2hpcCwgMSk7Ci0KLQlzbmRfb3B0aTkzeF9tY2VfdXAoY2hpcCk7Ci0JbWFzayA9IChjaGlwLT5tb2RlICYgT1BUaTkzWF9NT0RFX0NBUFRVUkUpID8gMHhmMCA6IDB4ZmY7Ci0Jc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9QTEFZX0ZPUk1BVCwgbWFzaywgZm10KTsKLQlzbmRfb3B0aTkzeF9tY2VfZG93bihjaGlwKTsKLQotCXNuZF9vcHRpOTN4X211dGUoY2hpcCwgMCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X2NhcHR1cmVfZm9ybWF0KHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgY2hhciBmbXQpCi17Ci0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAxKTsKLQotCXNuZF9vcHRpOTN4X21jZV91cChjaGlwKTsKLQlpZiAoIShjaGlwLT5tb2RlICYgT1BUaTkzWF9NT0RFX1BMQVkpKQotCQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX1BMQVlfRk9STUFULCAweDBmLCBmbXQpOwotCWVsc2UKLQkJZm10ID0gY2hpcC0+aW1hZ2VbT1BUaTkzWF9QTEFZX0ZPUk1BVF0gJiAweGYwOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX0NBUFRfRk9STUFULCBmbXQpOwotCXNuZF9vcHRpOTN4X21jZV9kb3duKGNoaXApOwotCi0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAwKTsKLX0KLQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X29wZW4oc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBpbnQgbW9kZSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQotCWlmIChjaGlwLT5tb2RlICYgbW9kZSkgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybiAtRUFHQUlOOwotCX0KLQotCWlmICghKGNoaXAtPm1vZGUgJiBPUFRpOTNYX01PREVfT1BFTikpIHsKLQkJb3V0YigweDAwLCBPUFRpOTNYX1BPUlQoY2hpcCwgU1RBVFVTKSk7Ci0JCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfUElOX0NUUkwsCi0JCQlPUFRpOTNYX0lSUV9FTkFCTEUsIE9QVGk5M1hfSVJRX0VOQUJMRSk7Ci0JCWNoaXAtPm1vZGUgPSBtb2RlOwotCX0KLQllbHNlCi0JCWNoaXAtPm1vZGUgfD0gbW9kZTsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfY2xvc2Uoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBpbnQgbW9kZSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQotCWNoaXAtPm1vZGUgJj0gfm1vZGU7Ci0JaWYgKGNoaXAtPm1vZGUgJiBPUFRpOTNYX01PREVfT1BFTikgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybjsKLQl9Ci0KLQlzbmRfb3B0aTkzeF9tdXRlKGNoaXAsIDEpOwotCi0Jb3V0YigwLCBPUFRpOTNYX1BPUlQoY2hpcCwgU1RBVFVTKSk7Ci0Jc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9QSU5fQ1RSTCwgT1BUaTkzWF9JUlFfRU5BQkxFLAotCQl+T1BUaTkzWF9JUlFfRU5BQkxFKTsKLQotCXNuZF9vcHRpOTN4X21jZV91cChjaGlwKTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9JRkFDRV9DT05GLCAweDAwKTsKLQlzbmRfb3B0aTkzeF9tY2VfZG93bihjaGlwKTsKLQljaGlwLT5tb2RlID0gMDsKLQotCXNuZF9vcHRpOTN4X211dGUoY2hpcCwgMCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIAotCQkJICAgICAgIHVuc2lnbmVkIGNoYXIgd2hhdCwgaW50IGNtZCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0KLQlzd2l0Y2ggKGNtZCkgewotCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6Ci0JY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgotCXsKLQkJdW5zaWduZWQgaW50IHdoYXQgPSAwOwotCQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnM7Ci0JCXNuZF9wY21fZ3JvdXBfZm9yX2VhY2hfZW50cnkocywgc3Vic3RyZWFtKSB7Ci0JCQlpZiAocyA9PSBjaGlwLT5wbGF5YmFja19zdWJzdHJlYW0pIHsKLQkJCQl3aGF0IHw9IE9QVGk5M1hfUExBWUJBQ0tfRU5BQkxFOwotCQkJCXNuZF9wY21fdHJpZ2dlcl9kb25lKHMsIHN1YnN0cmVhbSk7Ci0JCQl9IGVsc2UgaWYgKHMgPT0gY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0pIHsKLQkJCQl3aGF0IHw9IE9QVGk5M1hfQ0FQVFVSRV9FTkFCTEU7Ci0JCQkJc25kX3BjbV90cmlnZ2VyX2RvbmUocywgc3Vic3RyZWFtKTsKLQkJCX0KLQkJfQotCQlzcGluX2xvY2soJmNoaXAtPmxvY2spOwotCQlpZiAoY21kID09IFNORFJWX1BDTV9UUklHR0VSX1NUQVJUKSB7Ci0JCQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX0lGQUNFX0NPTkYsIHdoYXQsIHdoYXQpOwotCQkJaWYgKHdoYXQgJiBPUFRpOTNYX0NBUFRVUkVfRU5BQkxFKQotCQkJCXVkZWxheSg1MCk7Ci0JCX0gZWxzZQotCQkJc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9JRkFDRV9DT05GLCB3aGF0LCAweDAwKTsKLQkJc3Bpbl91bmxvY2soJmNoaXAtPmxvY2spOwotCQlicmVhazsKLQl9Ci0JZGVmYXVsdDoKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3BsYXliYWNrX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCi17Ci0JcmV0dXJuIHNuZF9vcHRpOTN4X3RyaWdnZXIoc3Vic3RyZWFtLAotCQkJCSAgIE9QVGk5M1hfUExBWUJBQ0tfRU5BQkxFLCBjbWQpOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2NhcHR1cmVfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKLXsKLQlyZXR1cm4gc25kX29wdGk5M3hfdHJpZ2dlcihzdWJzdHJlYW0sCi0JCQkJICAgT1BUaTkzWF9DQVBUVVJFX0VOQUJMRSwgY21kKTsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCi0JCQkJIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqaHdfcGFyYW1zKQotewotCXJldHVybiBzbmRfcGNtX2xpYl9tYWxsb2NfcGFnZXMoc3Vic3RyZWFtLCBwYXJhbXNfYnVmZmVyX2J5dGVzKGh3X3BhcmFtcykpOwotfQotCi0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfaHdfZnJlZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlzbmRfcGNtX2xpYl9mcmVlX3BhZ2VzKHN1YnN0cmVhbSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wbGF5YmFja19wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgY2hhciBmb3JtYXQ7Ci0JdW5zaWduZWQgaW50IGNvdW50ID0gc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSk7Ci0JdW5zaWduZWQgaW50IHNpemUgPSBzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKTsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0KLQljaGlwLT5wX2RtYV9zaXplID0gc2l6ZTsKLQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX0lGQUNFX0NPTkYsCi0JCU9QVGk5M1hfUExBWUJBQ0tfRU5BQkxFIHwgT1BUaTkzWF9QTEFZQkFDS19QSU8sCi0JCX4oT1BUaTkzWF9QTEFZQkFDS19FTkFCTEUgfCBPUFRpOTNYX1BMQVlCQUNLX1BJTykpOwotCi0Jc25kX2RtYV9wcm9ncmFtKGNoaXAtPmRtYTEsIHJ1bnRpbWUtPmRtYV9hZGRyLCBzaXplLAotCQlETUFfTU9ERV9XUklURSB8IERNQV9BVVRPSU5JVCk7Ci0KLQlmb3JtYXQgPSBzbmRfb3B0aTkzeF9nZXRfZnJlcShydW50aW1lLT5yYXRlKTsKLQlmb3JtYXQgfD0gc25kX29wdGk5M3hfZ2V0X2Zvcm1hdChjaGlwLCBydW50aW1lLT5mb3JtYXQsCi0JCXJ1bnRpbWUtPmNoYW5uZWxzKTsKLQlzbmRfb3B0aTkzeF9wbGF5YmFja19mb3JtYXQoY2hpcCwgZm9ybWF0KTsKLQlmb3JtYXQgPSBjaGlwLT5pbWFnZVtPUFRpOTNYX1BMQVlfRk9STUFUXTsKLQotCWNvdW50ID0gc25kX29wdGk5M3hfZ2V0X2NvdW50KGZvcm1hdCwgY291bnQpIC0gMTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9QTEFZX0xXUl9DTlQsIGNvdW50KTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9QTEFZX1VQUl9DTlQsIGNvdW50ID4+IDgpOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2NhcHR1cmVfcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0Jc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGNoYXIgZm9ybWF0OwotCXVuc2lnbmVkIGludCBjb3VudCA9IHNuZF9wY21fbGliX3BlcmlvZF9ieXRlcyhzdWJzdHJlYW0pOwotCXVuc2lnbmVkIGludCBzaXplID0gc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSk7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JY2hpcC0+Y19kbWFfc2l6ZSA9IHNpemU7Ci0Jc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9JRkFDRV9DT05GLAotCQlPUFRpOTNYX0NBUFRVUkVfRU5BQkxFIHwgT1BUaTkzWF9DQVBUVVJFX1BJTywgMCk7Ci0KLQlzbmRfZG1hX3Byb2dyYW0oY2hpcC0+ZG1hMiwgcnVudGltZS0+ZG1hX2FkZHIsIHNpemUsCi0JCURNQV9NT0RFX1JFQUQgfCBETUFfQVVUT0lOSVQpOwotCi0JZm9ybWF0ID0gc25kX29wdGk5M3hfZ2V0X2ZyZXEocnVudGltZS0+cmF0ZSk7Ci0JZm9ybWF0IHw9IHNuZF9vcHRpOTN4X2dldF9mb3JtYXQoY2hpcCwgcnVudGltZS0+Zm9ybWF0LAotCQlydW50aW1lLT5jaGFubmVscyk7Ci0Jc25kX29wdGk5M3hfY2FwdHVyZV9mb3JtYXQoY2hpcCwgZm9ybWF0KTsKLQlmb3JtYXQgPSBjaGlwLT5pbWFnZVtPUFRpOTNYX0NBUFRfRk9STUFUXTsKLQotCWNvdW50ID0gc25kX29wdGk5M3hfZ2V0X2NvdW50KGZvcm1hdCwgY291bnQpIC0gMTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9DQVBUX0xXUl9DTlQsIGNvdW50KTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9DQVBUX1VQUl9DTlQsIGNvdW50ID4+IDgpOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc25kX3BjbV91ZnJhbWVzX3Qgc25kX29wdGk5M3hfcGxheWJhY2tfcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0Jc2l6ZV90IHB0cjsKLQotCWlmICghKGNoaXAtPmltYWdlW09QVGk5M1hfSUZBQ0VfQ09ORl0gJiBPUFRpOTNYX1BMQVlCQUNLX0VOQUJMRSkpCi0JCXJldHVybiAwOwotCi0JcHRyID0gc25kX2RtYV9wb2ludGVyKGNoaXAtPmRtYTEsIGNoaXAtPnBfZG1hX3NpemUpOwotCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLCBwdHIpOwotfQotCi1zdGF0aWMgc25kX3BjbV91ZnJhbWVzX3Qgc25kX29wdGk5M3hfY2FwdHVyZV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzaXplX3QgcHRyOwotCQotCWlmICghKGNoaXAtPmltYWdlW09QVGk5M1hfSUZBQ0VfQ09ORl0gJiBPUFRpOTNYX0NBUFRVUkVfRU5BQkxFKSkKLQkJcmV0dXJuIDA7Ci0KLQlwdHIgPSBzbmRfZG1hX3BvaW50ZXIoY2hpcC0+ZG1hMiwgY2hpcC0+Y19kbWFfc2l6ZSk7Ci0JcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsIHB0cik7Ci19Ci0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfb3ZlcnJhbmdlKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQotCWlmIChzbmRfb3B0aTkzeF9pbihjaGlwLCBPUFRpOTNYX0VSUl9JTklUKSAmICgweDA4IHwgMHgwMikpCi0JCWNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtLT5ydW50aW1lLT5vdmVycmFuZ2UrKzsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLX0KLQogc3RhdGljIGlycXJldHVybl90IHNuZF9vcHRpOTN4X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjb2RlYyA9IGRldl9pZDsKKwlzdHJ1Y3Qgc25kX2NzNDIzMSAqY29kZWMgPSBkZXZfaWQ7CisJc3RydWN0IHNuZF9vcHRpOXh4ICpjaGlwID0gY29kZWMtPmNhcmQtPnByaXZhdGVfZGF0YTsKIAl1bnNpZ25lZCBjaGFyIHN0YXR1czsKIAotCXN0YXR1cyA9IHNuZF9vcHRpOXh4X3JlYWQoY29kZWMtPmNoaXAsIE9QVGk5WFhfTUNfUkVHKDExKSk7CisJc3RhdHVzID0gc25kX29wdGk5eHhfcmVhZChjaGlwLCBPUFRpOVhYX01DX1JFRygxMSkpOwogCWlmICgoc3RhdHVzICYgT1BUaTkzWF9JUlFfUExBWUJBQ0spICYmIGNvZGVjLT5wbGF5YmFja19zdWJzdHJlYW0pCiAJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY29kZWMtPnBsYXliYWNrX3N1YnN0cmVhbSk7CiAJaWYgKChzdGF0dXMgJiBPUFRpOTNYX0lSUV9DQVBUVVJFKSAmJiBjb2RlYy0+Y2FwdHVyZV9zdWJzdHJlYW0pIHsKLQkJc25kX29wdGk5M3hfb3ZlcnJhbmdlKGNvZGVjKTsKKwkJc25kX2NzNDIzMV9vdmVycmFuZ2UoY29kZWMpOwogCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGNvZGVjLT5jYXB0dXJlX3N1YnN0cmVhbSk7CiAJfQogCW91dGIoMHgwMCwgT1BUaTkzWF9QT1JUKGNvZGVjLCBTVEFUVVMpKTsKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKLQotc3RhdGljIHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIHNuZF9vcHRpOTN4X3BsYXliYWNrID0gewotCS5pbmZvID0JCQkoU05EUlZfUENNX0lORk9fTU1BUCB8IFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVEIHwKLQkJCQkgU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8IFNORFJWX1BDTV9JTkZPX1NZTkNfU1RBUlQpLAotCS5mb3JtYXRzID0JCShTTkRSVl9QQ01fRk1UQklUX01VX0xBVyB8IFNORFJWX1BDTV9GTVRCSVRfQV9MQVcgfCBTTkRSVl9QQ01fRk1UQklUX0lNQV9BRFBDTSB8Ci0JCQkJIFNORFJWX1BDTV9GTVRCSVRfVTggfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0JFKSwKLQkucmF0ZXMgPQkJU05EUlZfUENNX1JBVEVfS05PVCB8IFNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAsCi0JLnJhdGVfbWluID0JCTU1MTIsCi0JLnJhdGVfbWF4ID0JCTQ4MDAwLAotCS5jaGFubmVsc19taW4gPQkJMSwKLQkuY2hhbm5lbHNfbWF4ID0JCTIsCi0JLmJ1ZmZlcl9ieXRlc19tYXggPQkoMTI4KjEwMjQpLAotCS5wZXJpb2RfYnl0ZXNfbWluID0JNjQsCi0JLnBlcmlvZF9ieXRlc19tYXggPQkoMTI4KjEwMjQpLAotCS5wZXJpb2RzX21pbiA9CQkxLAotCS5wZXJpb2RzX21heCA9CQkxMDI0LAotCS5maWZvX3NpemUgPQkJMCwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBzbmRfb3B0aTkzeF9jYXB0dXJlID0gewotCS5pbmZvID0JCQkoU05EUlZfUENNX0lORk9fTU1BUCB8IFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVEIHwKLQkJCQkgU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8IFNORFJWX1BDTV9JTkZPX1NZTkNfU1RBUlQpLAotCS5mb3JtYXRzID0JCShTTkRSVl9QQ01fRk1UQklUX01VX0xBVyB8IFNORFJWX1BDTV9GTVRCSVRfQV9MQVcgfCBTTkRSVl9QQ01fRk1UQklUX0lNQV9BRFBDTSB8Ci0JCQkJIFNORFJWX1BDTV9GTVRCSVRfVTggfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0JFKSwKLQkucmF0ZXMgPQkJU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCwKLQkucmF0ZV9taW4gPQkJNTUxMiwKLQkucmF0ZV9tYXggPQkJNDgwMDAsCi0JLmNoYW5uZWxzX21pbiA9CQkxLAotCS5jaGFubmVsc19tYXggPQkJMiwKLQkuYnVmZmVyX2J5dGVzX21heCA9CSgxMjgqMTAyNCksCi0JLnBlcmlvZF9ieXRlc19taW4gPQk2NCwKLQkucGVyaW9kX2J5dGVzX21heCA9CSgxMjgqMTAyNCksCi0JLnBlcmlvZHNfbWluID0JCTEsCi0JLnBlcmlvZHNfbWF4ID0JCTEwMjQsCi0JLmZpZm9fc2l6ZSA9CQkwLAotfTsKLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wbGF5YmFja19vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCWludCBlcnJvcjsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0Jc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKLQotCWlmICgoZXJyb3IgPSBzbmRfb3B0aTkzeF9vcGVuKGNoaXAsIE9QVGk5M1hfTU9ERV9QTEFZKSkgPCAwKQotCQlyZXR1cm4gZXJyb3I7Ci0Jc25kX3BjbV9zZXRfc3luYyhzdWJzdHJlYW0pOwotCWNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSA9IHN1YnN0cmVhbTsKLQlydW50aW1lLT5odyA9IHNuZF9vcHRpOTN4X3BsYXliYWNrOwotCXNuZF9wY21fbGltaXRfaXNhX2RtYV9zaXplKGNoaXAtPmRtYTEsICZydW50aW1lLT5ody5idWZmZXJfYnl0ZXNfbWF4KTsKLQlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdChydW50aW1lLCAwLCBTTkRSVl9QQ01fSFdfUEFSQU1fUkFURSwgJmh3X2NvbnN0cmFpbnRzX3JhdGVzKTsKLQlyZXR1cm4gZXJyb3I7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfY2FwdHVyZV9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCWludCBlcnJvcjsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0Jc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKLQotCWlmICgoZXJyb3IgPSBzbmRfb3B0aTkzeF9vcGVuKGNoaXAsIE9QVGk5M1hfTU9ERV9DQVBUVVJFKSkgPCAwKQotCQlyZXR1cm4gZXJyb3I7Ci0JcnVudGltZS0+aHcgPSBzbmRfb3B0aTkzeF9jYXB0dXJlOwotCXNuZF9wY21fc2V0X3N5bmMoc3Vic3RyZWFtKTsKLQljaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSA9IHN1YnN0cmVhbTsKLQlzbmRfcGNtX2xpbWl0X2lzYV9kbWFfc2l6ZShjaGlwLT5kbWEyLCAmcnVudGltZS0+aHcuYnVmZmVyX2J5dGVzX21heCk7Ci0Jc25kX3BjbV9od19jb25zdHJhaW50X2xpc3QocnVudGltZSwgMCwgU05EUlZfUENNX0hXX1BBUkFNX1JBVEUsICZod19jb25zdHJhaW50c19yYXRlcyk7Ci0JcmV0dXJuIGVycm9yOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3BsYXliYWNrX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQotCWNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSA9IE5VTEw7Ci0Jc25kX29wdGk5M3hfY2xvc2UoY2hpcCwgT1BUaTkzWF9NT0RFX1BMQVkpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2NhcHR1cmVfY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCi0JY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0gPSBOVUxMOwotCXNuZF9vcHRpOTN4X2Nsb3NlKGNoaXAsIE9QVGk5M1hfTU9ERV9DQVBUVVJFKTsKLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9pbml0KHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBpOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlzbmRfb3B0aTkzeF9tY2VfdXAoY2hpcCk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykKLQkJc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIGksIHNuZF9vcHRpOTN4X2RlZmF1bHRfaW1hZ2VbaV0pOwotCi0Jc25kX29wdGk5M3hfbWNlX2Rvd24oY2hpcCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3Byb2JlKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGNoYXIgdmFsOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQl2YWwgPSBzbmRfb3B0aTkzeF9pbihjaGlwLCBPUFRpOTNYX0lEKSAmIDB4MGY7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JcmV0dXJuICh2YWwgPT0gMHgwYSkgPyAwIDogLUVOT0RFVjsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9mcmVlKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCkKLXsKLQlyZWxlYXNlX2FuZF9mcmVlX3Jlc291cmNlKGNoaXAtPnJlc19wb3J0KTsKLQlpZiAoY2hpcC0+ZG1hMSA+PSAwKSB7Ci0JCWRpc2FibGVfZG1hKGNoaXAtPmRtYTEpOwotCQlmcmVlX2RtYShjaGlwLT5kbWExKTsKLQl9Ci0JaWYgKGNoaXAtPmRtYTIgPj0gMCkgewotCQlkaXNhYmxlX2RtYShjaGlwLT5kbWEyKTsKLQkJZnJlZV9kbWEoY2hpcC0+ZG1hMik7Ci0JfQotCWlmIChjaGlwLT5pcnEgPj0gMCkgewotCSAgZnJlZV9pcnEoY2hpcC0+aXJxLCBjaGlwKTsKLQl9Ci0Ja2ZyZWUoY2hpcCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfZGV2X2ZyZWUoc3RydWN0IHNuZF9kZXZpY2UgKmRldmljZSkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBkZXZpY2UtPmRldmljZV9kYXRhOwotCXJldHVybiBzbmRfb3B0aTkzeF9mcmVlKGNoaXApOwotfQotCi1zdGF0aWMgY29uc3QgY2hhciAqc25kX29wdGk5M3hfY2hpcF9pZChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNvZGVjKQotewotCXN3aXRjaCAoY29kZWMtPmhhcmR3YXJlKSB7Ci0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMDogcmV0dXJuICI4MkM5MzAiOwotCWNhc2UgT1BUaTlYWF9IV184MkM5MzE6IHJldHVybiAiODJDOTMxIjsKLQljYXNlIE9QVGk5WFhfSFdfODJDOTMzOiByZXR1cm4gIjgyQzkzMyI7Ci0JZGVmYXVsdDoJCXJldHVybiAiPz8/IjsKLQl9Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfY3JlYXRlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9vcHRpOXh4ICpjaGlwLAotCQkJICAgICAgaW50IGRtYTEsIGludCBkbWEyLAotCQkJICAgICAgc3RydWN0IHNuZF9vcHRpOTN4ICoqcmNvZGVjKQotewotCXN0YXRpYyBzdHJ1Y3Qgc25kX2RldmljZV9vcHMgb3BzID0gewotCQkuZGV2X2ZyZWUgPQlzbmRfb3B0aTkzeF9kZXZfZnJlZSwKLQl9OwotCWludCBlcnJvcjsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNvZGVjOwotCi0JKnJjb2RlYyA9IE5VTEw7Ci0JY29kZWMgPSBremFsbG9jKHNpemVvZigqY29kZWMpLCBHRlBfS0VSTkVMKTsKLQlpZiAoY29kZWMgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0JY29kZWMtPmlycSA9IC0xOwotCWNvZGVjLT5kbWExID0gLTE7Ci0JY29kZWMtPmRtYTIgPSAtMTsKLQotCWlmICgoY29kZWMtPnJlc19wb3J0ID0gcmVxdWVzdF9yZWdpb24oY2hpcC0+d3NzX2Jhc2UgKyA0LCA0LCAiT1BUSTkzeCBDT0RFQyIpKSA9PSBOVUxMKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgIm9wdGk5eHg6IGNhbid0IGdyYWIgcG9ydCAweCVseFxuIiwgY2hpcC0+d3NzX2Jhc2UgKyA0KTsKLQkJc25kX29wdGk5M3hfZnJlZShjb2RlYyk7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCWlmIChyZXF1ZXN0X2RtYShkbWExLCAiT1BUSTkzeCAtIDEiKSkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJvcHRpOXh4OiBjYW4ndCBncmFiIERNQTEgJWRcbiIsIGRtYTEpOwotCQlzbmRfb3B0aTkzeF9mcmVlKGNvZGVjKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0JY29kZWMtPmRtYTEgPSBjaGlwLT5kbWExOwotCWlmIChyZXF1ZXN0X2RtYShkbWEyLCAiT1BUSTkzeCAtIDIiKSkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJvcHRpOXh4OiBjYW4ndCBncmFiIERNQTIgJWRcbiIsIGRtYTIpOwotCQlzbmRfb3B0aTkzeF9mcmVlKGNvZGVjKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0JY29kZWMtPmRtYTIgPSBjaGlwLT5kbWEyOwotCi0JaWYgKHJlcXVlc3RfaXJxKGNoaXAtPmlycSwgc25kX29wdGk5M3hfaW50ZXJydXB0LCBJUlFGX0RJU0FCTEVELCBERVZfTkFNRSIgLSBXU1MiLCBjb2RlYykpIHsKLQkJc25kX3ByaW50ayhLRVJOX0VSUiAib3B0aTl4eDogY2FuJ3QgZ3JhYiBJUlEgJWRcbiIsIGNoaXAtPmlycSk7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQotCWNvZGVjLT5jYXJkID0gY2FyZDsKLQljb2RlYy0+cG9ydCA9IGNoaXAtPndzc19iYXNlICsgNDsKLQljb2RlYy0+aXJxID0gY2hpcC0+aXJxOwotCi0Jc3Bpbl9sb2NrX2luaXQoJmNvZGVjLT5sb2NrKTsKLQljb2RlYy0+aGFyZHdhcmUgPSBjaGlwLT5oYXJkd2FyZTsKLQljb2RlYy0+Y2hpcCA9IGNoaXA7Ci0KLQlpZiAoKGVycm9yID0gc25kX29wdGk5M3hfcHJvYmUoY29kZWMpKSkgewotCQlzbmRfb3B0aTkzeF9mcmVlKGNvZGVjKTsKLQkJcmV0dXJuIGVycm9yOwotCX0KLQotCXNuZF9vcHRpOTN4X2luaXQoY29kZWMpOwotCi0JLyogUmVnaXN0ZXIgZGV2aWNlICovCi0JaWYgKChlcnJvciA9IHNuZF9kZXZpY2VfbmV3KGNhcmQsIFNORFJWX0RFVl9MT1dMRVZFTCwgY29kZWMsICZvcHMpKSA8IDApIHsKLQkJc25kX29wdGk5M3hfZnJlZShjb2RlYyk7Ci0JCXJldHVybiBlcnJvcjsKLQl9Ci0KLQkqcmNvZGVjID0gY29kZWM7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgc25kX29wdGk5M3hfcGxheWJhY2tfb3BzID0gewotCS5vcGVuID0JCXNuZF9vcHRpOTN4X3BsYXliYWNrX29wZW4sCi0JLmNsb3NlID0Jc25kX29wdGk5M3hfcGxheWJhY2tfY2xvc2UsCi0JLmlvY3RsID0Jc25kX3BjbV9saWJfaW9jdGwsCi0JLmh3X3BhcmFtcyA9CXNuZF9vcHRpOTN4X2h3X3BhcmFtcywKLQkuaHdfZnJlZSA9CXNuZF9vcHRpOTN4X2h3X2ZyZWUsCi0JLnByZXBhcmUgPQlzbmRfb3B0aTkzeF9wbGF5YmFja19wcmVwYXJlLAotCS50cmlnZ2VyID0Jc25kX29wdGk5M3hfcGxheWJhY2tfdHJpZ2dlciwKLQkucG9pbnRlciA9CXNuZF9vcHRpOTN4X3BsYXliYWNrX3BvaW50ZXIsCi19OwotCi1zdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIHNuZF9vcHRpOTN4X2NhcHR1cmVfb3BzID0gewotCS5vcGVuID0JCXNuZF9vcHRpOTN4X2NhcHR1cmVfb3BlbiwKLQkuY2xvc2UgPQlzbmRfb3B0aTkzeF9jYXB0dXJlX2Nsb3NlLAotCS5pb2N0bCA9CXNuZF9wY21fbGliX2lvY3RsLAotCS5od19wYXJhbXMgPQlzbmRfb3B0aTkzeF9od19wYXJhbXMsCi0JLmh3X2ZyZWUgPQlzbmRfb3B0aTkzeF9od19mcmVlLAotCS5wcmVwYXJlID0Jc25kX29wdGk5M3hfY2FwdHVyZV9wcmVwYXJlLAotCS50cmlnZ2VyID0Jc25kX29wdGk5M3hfY2FwdHVyZV90cmlnZ2VyLAotCS5wb2ludGVyID0Jc25kX29wdGk5M3hfY2FwdHVyZV9wb2ludGVyLAotfTsKLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wY20oc3RydWN0IHNuZF9vcHRpOTN4ICpjb2RlYywgaW50IGRldmljZSwgc3RydWN0IHNuZF9wY20gKipycGNtKQotewotCWludCBlcnJvcjsKLQlzdHJ1Y3Qgc25kX3BjbSAqcGNtOwotCi0JaWYgKChlcnJvciA9IHNuZF9wY21fbmV3KGNvZGVjLT5jYXJkLCAiT1BUaSA4MkM5M1giLCBkZXZpY2UsIDEsIDEsICZwY20pKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLQotCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0ssICZzbmRfb3B0aTkzeF9wbGF5YmFja19vcHMpOwotCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSwgJnNuZF9vcHRpOTN4X2NhcHR1cmVfb3BzKTsKLQotCXBjbS0+cHJpdmF0ZV9kYXRhID0gY29kZWM7Ci0JcGNtLT5pbmZvX2ZsYWdzID0gU05EUlZfUENNX0lORk9fSk9JTlRfRFVQTEVYOwotCi0Jc3RyY3B5KHBjbS0+bmFtZSwgc25kX29wdGk5M3hfY2hpcF9pZChjb2RlYykpOwotCi0Jc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfcGFnZXNfZm9yX2FsbChwY20sIFNORFJWX0RNQV9UWVBFX0RFViwKLQkJCQkJICAgICAgc25kX2RtYV9pc2FfZGF0YSgpLAotCQkJCQkgICAgICA2NCoxMDI0LCBjb2RlYy0+ZG1hMSA+IDMgfHwgY29kZWMtPmRtYTIgPiAzID8gMTI4KjEwMjQgOiA2NCoxMDI0KTsKLQotCWNvZGVjLT5wY20gPSBwY207Ci0JaWYgKHJwY20pCi0JCSpycGNtID0gcGNtOwotCXJldHVybiAwOwotfQotCi0vKgotICogIE1JWEVSIHBhcnQKLSAqLwotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2luZm9fbXV4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gKnVpbmZvKQotewotCXN0YXRpYyBjaGFyICp0ZXh0c1s0XSA9IHsKLQkJIkxpbmUxIiwgIkF1eCIsICJNaWMiLCAiTWl4IgotCX07Ci0KLQl1aW5mby0+dHlwZSA9IFNORFJWX0NUTF9FTEVNX1RZUEVfRU5VTUVSQVRFRDsKLQl1aW5mby0+Y291bnQgPSAyOwotCXVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1zID0gNDsKLQlpZiAodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbSA+IDMpCi0JCXVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW0gPSAzOwotCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCB0ZXh0c1t1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfZ2V0X211eChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQl1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdID0gKGNoaXAtPmltYWdlW09QVGk5M1hfTUlYT1VUX0xFRlRdICYgT1BUaTkzWF9NSVhPVVRfTUlYRVIpID4+IDY7Ci0JdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVsxXSA9IChjaGlwLT5pbWFnZVtPUFRpOTNYX01JWE9VVF9SSUdIVF0gJiBPUFRpOTNYX01JWE9VVF9NSVhFUikgPj4gNjsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcHV0X211eChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgc2hvcnQgbGVmdCwgcmlnaHQ7Ci0JaW50IGNoYW5nZTsKLQkKLQlpZiAodWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVswXSA+IDMgfHwKLQkgICAgdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVsxXSA+IDMpCi0JCXJldHVybiAtRUlOVkFMOwotCWxlZnQgPSB1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdIDw8IDY7Ci0JcmlnaHQgPSB1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzFdIDw8IDY7Ci0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlsZWZ0ID0gKGNoaXAtPmltYWdlW09QVGk5M1hfTUlYT1VUX0xFRlRdICYgfk9QVGk5M1hfTUlYT1VUX01JWEVSKSB8IGxlZnQ7Ci0JcmlnaHQgPSAoY2hpcC0+aW1hZ2VbT1BUaTkzWF9NSVhPVVRfUklHSFRdICYgfk9QVGk5M1hfTUlYT1VUX01JWEVSKSB8IHJpZ2h0OwotCWNoYW5nZSA9IGxlZnQgIT0gY2hpcC0+aW1hZ2VbT1BUaTkzWF9NSVhPVVRfTEVGVF0gfHwKLQkgICAgICAgICByaWdodCAhPSBjaGlwLT5pbWFnZVtPUFRpOTNYX01JWE9VVF9SSUdIVF07Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfTUlYT1VUX0xFRlQsIGxlZnQpOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX01JWE9VVF9SSUdIVCwgcmlnaHQpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gY2hhbmdlOwotfQotCi0jaWYgMAotCi0jZGVmaW5lIE9QVGk5M1hfU0lOR0xFKHhuYW1lLCB4aW5kZXgsIHJlZywgc2hpZnQsIG1hc2ssIGludmVydCkgXAoteyAuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFtZSwgLmluZGV4ID0geGluZGV4LCBcCi0gIC5pbmZvID0gc25kX29wdGk5M3hfaW5mb19zaW5nbGUsIFwKLSAgLmdldCA9IHNuZF9vcHRpOTN4X2dldF9zaW5nbGUsIC5wdXQgPSBzbmRfb3B0aTkzeF9wdXRfc2luZ2xlLCBcCi0gIC5wcml2YXRlX3ZhbHVlID0gcmVnIHwgKHNoaWZ0IDw8IDgpIHwgKG1hc2sgPDwgMTYpIHwgKGludmVydCA8PCAyNCkgfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2luZm9fc2luZ2xlKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gKnVpbmZvKQotewotCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4ZmY7Ci0KLQl1aW5mby0+dHlwZSA9IG1hc2sgPT0gMSA/IFNORFJWX0NUTF9FTEVNX1RZUEVfQk9PTEVBTiA6IFNORFJWX0NUTF9FTEVNX1RZUEVfSU5URUdFUjsKLQl1aW5mby0+Y291bnQgPSAxOwotCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1pbiA9IDA7Ci0JdWluZm8tPnZhbHVlLmludGVnZXIubWF4ID0gbWFzazsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9nZXRfc2luZ2xlKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOwotCWludCBzaGlmdCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiA4KSAmIDB4ZmY7Ci0JaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhmZjsKLQlpbnQgaW52ZXJ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmY7Ci0JCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IChjaGlwLT5pbWFnZVtyZWddID4+IHNoaWZ0KSAmIG1hc2s7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCWlmIChpbnZlcnQpCi0JCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gbWFzayAtIHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3B1dF9zaW5nbGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7Ci0JaW50IHNoaWZ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDgpICYgMHhmZjsKLQlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweGZmOwotCWludCBpbnZlcnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZjsKLQlpbnQgY2hhbmdlOwotCXVuc2lnbmVkIHNob3J0IHZhbDsKLQkKLQl2YWwgPSAodWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gJiBtYXNrKTsKLQlpZiAoaW52ZXJ0KQotCQl2YWwgPSBtYXNrIC0gdmFsOwotCXZhbCA8PD0gc2hpZnQ7Ci0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQl2YWwgPSAoY2hpcC0+aW1hZ2VbcmVnXSAmIH4obWFzayA8PCBzaGlmdCkpIHwgdmFsOwotCWNoYW5nZSA9IHZhbCAhPSBjaGlwLT5pbWFnZVtyZWddOwotCXNuZF9vcHRpOTN4X291dChjaGlwLCByZWcsIHZhbCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiBjaGFuZ2U7Ci19Ci0KLSNlbmRpZiAvKiBzaW5nbGUgKi8KLQotI2RlZmluZSBPUFRpOTNYX0RPVUJMRSh4bmFtZSwgeGluZGV4LCBsZWZ0X3JlZywgcmlnaHRfcmVnLCBzaGlmdF9sZWZ0LCBzaGlmdF9yaWdodCwgbWFzaywgaW52ZXJ0KSBcCi17IC5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCAuaW5kZXggPSB4aW5kZXgsIFwKLSAgLmluZm8gPSBzbmRfb3B0aTkzeF9pbmZvX2RvdWJsZSwgXAotICAuZ2V0ID0gc25kX29wdGk5M3hfZ2V0X2RvdWJsZSwgLnB1dCA9IHNuZF9vcHRpOTN4X3B1dF9kb3VibGUsIFwKLSAgLnByaXZhdGVfdmFsdWUgPSBsZWZ0X3JlZyB8IChyaWdodF9yZWcgPDwgOCkgfCAoc2hpZnRfbGVmdCA8PCAxNikgfCAoc2hpZnRfcmlnaHQgPDwgMTkpIHwgKG1hc2sgPDwgMjQpIHwgKGludmVydCA8PCAyMikgfQotCi0jZGVmaW5lIE9QVGk5M1hfRE9VQkxFX0lOVkVSVF9JTlZFUlQoeGN0bCkgXAotCWRvIHsgeGN0bC5wcml2YXRlX3ZhbHVlIF49IDIyOyB9IHdoaWxlICgwKQotI2RlZmluZSBPUFRpOTNYX0RPVUJMRV9DSEFOR0VfUkVHUyh4Y3RsLCBsZWZ0X3JlZywgcmlnaHRfcmVnKSBcCi0JZG8geyB4Y3RsLnByaXZhdGVfdmFsdWUgJj0gfjB4MDAwMGZmZmY7IFwKLQkgICAgIHhjdGwucHJpdmF0ZV92YWx1ZSB8PSBsZWZ0X3JlZyB8IChyaWdodF9yZWcgPDwgOCk7IH0gd2hpbGUgKDApCi0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfaW5mb19kb3VibGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCi17Ci0JaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZjsKLQotCXVpbmZvLT50eXBlID0gbWFzayA9PSAxID8gU05EUlZfQ1RMX0VMRU1fVFlQRV9CT09MRUFOIDogU05EUlZfQ1RMX0VMRU1fVFlQRV9JTlRFR0VSOwotCXVpbmZvLT5jb3VudCA9IDI7Ci0JdWluZm8tPnZhbHVlLmludGVnZXIubWluID0gMDsKLQl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSBtYXNrOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2dldF9kb3VibGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBsZWZ0X3JlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKLQlpbnQgcmlnaHRfcmVnID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDgpICYgMHhmZjsKLQlpbnQgc2hpZnRfbGVmdCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweDA3OwotCWludCBzaGlmdF9yaWdodCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxOSkgJiAweDA3OwotCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmY7Ci0JaW50IGludmVydCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyMikgJiAxOwotCQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSAoY2hpcC0+aW1hZ2VbbGVmdF9yZWddID4+IHNoaWZ0X2xlZnQpICYgbWFzazsKLQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSA9IChjaGlwLT5pbWFnZVtyaWdodF9yZWddID4+IHNoaWZ0X3JpZ2h0KSAmIG1hc2s7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCWlmIChpbnZlcnQpIHsKLQkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBtYXNrIC0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07Ci0JCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdID0gbWFzayAtIHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wdXRfZG91YmxlKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgbGVmdF9yZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7Ci0JaW50IHJpZ2h0X3JlZyA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiA4KSAmIDB4ZmY7Ci0JaW50IHNoaWZ0X2xlZnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHgwNzsKLQlpbnQgc2hpZnRfcmlnaHQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTkpICYgMHgwNzsKLQlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmOwotCWludCBpbnZlcnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjIpICYgMTsKLQlpbnQgY2hhbmdlOwotCXVuc2lnbmVkIHNob3J0IHZhbDEsIHZhbDI7Ci0JCi0JdmFsMSA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdICYgbWFzazsKLQl2YWwyID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gJiBtYXNrOwotCWlmIChpbnZlcnQpIHsKLQkJdmFsMSA9IG1hc2sgLSB2YWwxOwotCQl2YWwyID0gbWFzayAtIHZhbDI7Ci0JfQotCXZhbDEgPDw9IHNoaWZ0X2xlZnQ7Ci0JdmFsMiA8PD0gc2hpZnRfcmlnaHQ7Ci0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQl2YWwxID0gKGNoaXAtPmltYWdlW2xlZnRfcmVnXSAmIH4obWFzayA8PCBzaGlmdF9sZWZ0KSkgfCB2YWwxOwotCXZhbDIgPSAoY2hpcC0+aW1hZ2VbcmlnaHRfcmVnXSAmIH4obWFzayA8PCBzaGlmdF9yaWdodCkpIHwgdmFsMjsKLQljaGFuZ2UgPSB2YWwxICE9IGNoaXAtPmltYWdlW2xlZnRfcmVnXSB8fCB2YWwyICE9IGNoaXAtPmltYWdlW3JpZ2h0X3JlZ107Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIGxlZnRfcmVnLCB2YWwxKTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgcmlnaHRfcmVnLCB2YWwyKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIGNoYW5nZTsKLX0KLQotc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNuZF9vcHRpOTN4X2NvbnRyb2xzW10gX19kZXZpbml0ZGF0YSA9IHsKLU9QVGk5M1hfRE9VQkxFKCJNYXN0ZXIgUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzWF9PVVRfTEVGVCwgT1BUaTkzWF9PVVRfUklHSFQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTNYX09VVF9MRUZULCBPUFRpOTNYX09VVF9SSUdIVCwgMSwgMSwgMzEsIDEpLCAKLU9QVGk5M1hfRE9VQkxFKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzWF9EQUNfTEVGVCwgT1BUaTkzWF9EQUNfUklHSFQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIlBDTSBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTNYX0RBQ19MRUZULCBPUFRpOTNYX0RBQ19SSUdIVCwgMCwgMCwgMzEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkZNIFBsYXliYWNrIFN3aXRjaCIsIDAsIE9QVGk5MzFfRk1fTEVGVF9JTlBVVCwgT1BUaTkzMV9GTV9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiRk0gUGxheWJhY2sgVm9sdW1lIiwgMCwgT1BUaTkzMV9GTV9MRUZUX0lOUFVULCBPUFRpOTMxX0ZNX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiTGluZSBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTNYX0xJTkVfTEVGVF9JTlBVVCwgT1BUaTkzWF9MSU5FX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJMaW5lIFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5M1hfTElORV9MRUZUX0lOUFVULCBPUFRpOTNYX0xJTkVfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwgCi1PUFRpOTNYX0RPVUJMRSgiTWljIFBsYXliYWNrIFN3aXRjaCIsIDAsIE9QVGk5M1hfTUlDX0xFRlRfSU5QVVQsIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMCwgT1BUaTkzWF9NSUNfTEVGVF9JTlBVVCwgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwgCi1PUFRpOTNYX0RPVUJMRSgiTWljIEJvb3N0IiwgMCwgT1BUaTkzWF9NSVhPVVRfTEVGVCwgT1BUaTkzWF9NSVhPVVRfUklHSFQsIDUsIDUsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkNEIFBsYXliYWNrIFN3aXRjaCIsIDAsIE9QVGk5M1hfQ0RfTEVGVF9JTlBVVCwgT1BUaTkzWF9DRF9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiQ0QgUGxheWJhY2sgVm9sdW1lIiwgMCwgT1BUaTkzWF9DRF9MRUZUX0lOUFVULCBPUFRpOTNYX0NEX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiQXV4IFBsYXliYWNrIFN3aXRjaCIsIDAsIE9QVGk5MzFfQVVYX0xFRlRfSU5QVVQsIE9QVGk5MzFfQVVYX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJBdXggUGxheWJhY2sgVm9sdW1lIiwgMCwgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVCwgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwgCi1PUFRpOTNYX0RPVUJMRSgiQ2FwdHVyZSBWb2x1bWUiLCAwLCBPUFRpOTNYX01JWE9VVF9MRUZULCBPUFRpOTNYX01JWE9VVF9SSUdIVCwgMCwgMCwgMTUsIDApLAotewotCS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAotCS5uYW1lID0gIkNhcHR1cmUgU291cmNlIiwKLQkuaW5mbyA9IHNuZF9vcHRpOTN4X2luZm9fbXV4LAotCS5nZXQgPSBzbmRfb3B0aTkzeF9nZXRfbXV4LAotCS5wdXQgPSBzbmRfb3B0aTkzeF9wdXRfbXV4LAotfQotfTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLXN0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9vcHRpOTN4X21peGVyKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCkKLXsKLQlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7Ci0Jc3RydWN0IHNuZF9rY29udHJvbF9uZXcga25ldzsKLQlpbnQgZXJyOwotCXVuc2lnbmVkIGludCBpZHg7Ci0KLQlzbmRfYXNzZXJ0KGNoaXAgIT0gTlVMTCAmJiBjaGlwLT5jYXJkICE9IE5VTEwsIHJldHVybiAtRUlOVkFMKTsKLQotCWNhcmQgPSBjaGlwLT5jYXJkOwotCi0Jc3RyY3B5KGNhcmQtPm1peGVybmFtZSwgc25kX29wdGk5M3hfY2hpcF9pZChjaGlwKSk7Ci0KLQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX29wdGk5M3hfY29udHJvbHMpOyBpZHgrKykgewotCQlrbmV3ID0gc25kX29wdGk5M3hfY29udHJvbHNbaWR4XTsKLQkJaWYgKGNoaXAtPmhhcmR3YXJlID09IE9QVGk5WFhfSFdfODJDOTMwKSB7Ci0JCQlpZiAoc3Ryc3RyKGtuZXcubmFtZSwgIkZNIikpCS8qIHNraXAgRk0gY29udHJvbHMgKi8KLQkJCQljb250aW51ZTsKLQkJCWVsc2UgaWYgKHN0cmNtcChrbmV3Lm5hbWUsICJNaWMgUGxheWJhY2sgVm9sdW1lIikpCi0JCQkJT1BUaTkzWF9ET1VCTEVfSU5WRVJUX0lOVkVSVChrbmV3KTsKLQkJCWVsc2UgaWYgKHN0cnN0cihrbmV3Lm5hbWUsICJBdXgiKSkKLQkJCQlPUFRpOTNYX0RPVUJMRV9DSEFOR0VfUkVHUyhrbmV3LCBPUFRpOTMwX0FVWF9MRUZUX0lOUFVULCBPUFRpOTMwX0FVWF9SSUdIVF9JTlBVVCk7Ci0JCQllbHNlIGlmIChzdHJjbXAoa25ldy5uYW1lLCAiUENNIFBsYXliYWNrIFZvbHVtZSIpKQotCQkJCU9QVGk5M1hfRE9VQkxFX0lOVkVSVF9JTlZFUlQoa25ldyk7Ci0JCQllbHNlIGlmIChzdHJjbXAoa25ldy5uYW1lLCAiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIpKQotCQkJCU9QVGk5M1hfRE9VQkxFX0lOVkVSVF9JTlZFUlQoa25ldyk7Ci0JCX0KLQkJaWYgKChlcnIgPSBzbmRfY3RsX2FkZChjYXJkLCBzbmRfY3RsX25ldzEoJnNuZF9vcHRpOTN4X2NvbnRyb2xzW2lkeF0sIGNoaXApKSkgPCAwKQotCQkJcmV0dXJuIGVycjsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KICNlbmRpZiAvKiBPUFRpOTNYICovCiAKIHN0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9jYXJkX29wdGk5eHhfZGV0ZWN0KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKQEAgLTE3MzksOCArNjg1LDE2IEBACiB7CiAJc3RydWN0IHNuZF9vcHRpOXh4ICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOwogICAgICAgICAKLQlpZiAoY2hpcCkKKwlpZiAoY2hpcCkgeworI2lmZGVmIE9QVGk5M1gKKwkJc3RydWN0IHNuZF9jczQyMzEgKmNvZGVjID0gY2hpcC0+Y29kZWM7CisJCWlmIChjb2RlYy0+aXJxID4gMCkgeworCQkJZGlzYWJsZV9pcnEoY29kZWMtPmlycSk7CisJCQlmcmVlX2lycShjb2RlYy0+aXJxLCBjb2RlYyk7CisJCX0KKyNlbmRpZgogCQlyZWxlYXNlX2FuZF9mcmVlX3Jlc291cmNlKGNoaXAtPnJlc19tY19iYXNlKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9vcHRpOXh4X3Byb2JlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCkKQEAgLTE3NDgsMTEgKzcwMiwxMSBAQAogCXN0YXRpYyBsb25nIHBvc3NpYmxlX3BvcnRzW10gPSB7MHg1MzAsIDB4ZTgwLCAweGY0MCwgMHg2MDQsIC0xfTsKIAlpbnQgZXJyb3I7CiAJc3RydWN0IHNuZF9vcHRpOXh4ICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOwotI2lmIGRlZmluZWQoT1BUaTkzWCkKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNvZGVjOwotI2VsaWYgZGVmaW5lZChDUzQyMzEpCisjaWYgZGVmaW5lZChDUzQyMzEpIHx8IGRlZmluZWQoT1BUaTkzWCkKIAlzdHJ1Y3Qgc25kX2NzNDIzMSAqY29kZWM7CisjaWZkZWYgQ1M0MjMxCiAJc3RydWN0IHNuZF90aW1lciAqdGltZXI7CisjZW5kaWYKICNlbHNlCiAJc3RydWN0IHNuZF9hZDE4NDggKmNvZGVjOwogI2VuZGlmCkBAIC0xNzg0LDI2ICs3MzgsMzQgQEAKIAlpZiAoKGVycm9yID0gc25kX29wdGk5eHhfY29uZmlndXJlKGNoaXApKSkKIAkJcmV0dXJuIGVycm9yOwogCi0jaWYgZGVmaW5lZChPUFRpOTNYKQotCWlmICgoZXJyb3IgPSBzbmRfb3B0aTkzeF9jcmVhdGUoY2FyZCwgY2hpcCwgY2hpcC0+ZG1hMSwgY2hpcC0+ZG1hMiwgJmNvZGVjKSkpCi0JCXJldHVybiBlcnJvcjsKLQlpZiAoKGVycm9yID0gc25kX29wdGk5M3hfcGNtKGNvZGVjLCAwLCAmcGNtKSkgPCAwKQotCQlyZXR1cm4gZXJyb3I7Ci0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X21peGVyKGNvZGVjKSkgPCAwKQotCQlyZXR1cm4gZXJyb3I7Ci0jZWxpZiBkZWZpbmVkKENTNDIzMSkKKyNpZiBkZWZpbmVkKENTNDIzMSkgfHwgZGVmaW5lZChPUFRpOTNYKQogCWlmICgoZXJyb3IgPSBzbmRfY3M0MjMxX2NyZWF0ZShjYXJkLCBjaGlwLT53c3NfYmFzZSArIDQsIC0xLAogCQkJCSAgICAgICBjaGlwLT5pcnEsIGNoaXAtPmRtYTEsIGNoaXAtPmRtYTIsCi0JCQkJICAgICAgIENTNDIzMV9IV19ERVRFQ1QsCi0JCQkJICAgICAgIDAsCisjaWZkZWYgQ1M0MjMxCisJCQkJICAgICAgIENTNDIzMV9IV19ERVRFQ1QsIDAsCisjZWxzZSAvKiBPUFRpOTN4ICovCisJCQkJICAgICAgIENTNDIzMV9IV19PUFRJOTNYLCBDUzQyMzFfSFdTSEFSRV9JUlEsCisjZW5kaWYKIAkJCQkgICAgICAgJmNvZGVjKSkgPCAwKQogCQlyZXR1cm4gZXJyb3I7CisjaWZkZWYgT1BUaTkzWAorCWNoaXAtPmNvZGVjID0gY29kZWM7CisjZW5kaWYKIAlpZiAoKGVycm9yID0gc25kX2NzNDIzMV9wY20oY29kZWMsIDAsICZwY20pKSA8IDApCiAJCXJldHVybiBlcnJvcjsKIAlpZiAoKGVycm9yID0gc25kX2NzNDIzMV9taXhlcihjb2RlYykpIDwgMCkKIAkJcmV0dXJuIGVycm9yOworI2lmZGVmIENTNDIzMQogCWlmICgoZXJyb3IgPSBzbmRfY3M0MjMxX3RpbWVyKGNvZGVjLCAwLCAmdGltZXIpKSA8IDApCiAJCXJldHVybiBlcnJvcjsKKyNlbHNlIC8qIE9QVEk5M1ggKi8KKwllcnJvciA9IHJlcXVlc3RfaXJxKGNoaXAtPmlycSwgc25kX29wdGk5M3hfaW50ZXJydXB0LAorCQkJICAgIElSUUZfRElTQUJMRUQsIERFVl9OQU1FIiAtIFdTUyIsIGNvZGVjKTsKKwlpZiAoZXJyb3IgPCAwKSB7CisJCXNuZF9wcmludGsoS0VSTl9FUlIgIm9wdGk5eHg6IGNhbid0IGdyYWIgSVJRICVkXG4iLCBjaGlwLT5pcnEpOworCQlyZXR1cm4gZXJyb3I7CisJfQorI2VuZGlmCiAjZWxzZQogCWlmICgoZXJyb3IgPSBzbmRfYWQxODQ4X2NyZWF0ZShjYXJkLCBjaGlwLT53c3NfYmFzZSArIDQsCiAJCQkJICAgICAgIGNoaXAtPmlycSwgY2hpcC0+ZG1hMSwKZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9zYi9NYWtlZmlsZSBiL3NvdW5kL2lzYS9zYi9NYWtlZmlsZQppbmRleCBjOWQxYzk4Li4xMDk4YTU2IDEwMDY0NAotLS0gYS9zb3VuZC9pc2Evc2IvTWFrZWZpbGUKKysrIGIvc291bmQvaXNhL3NiL01ha2VmaWxlCkBAIC0zNCw1ICszNCwzIEBACiAgIG9iai0kKENPTkZJR19TTkRfU0JBV0UpICs9IHNuZC1zYjE2LWNzcC5vCiBlbmRpZgogb2JqLSQoY2FsbCBzZXF1ZW5jZXIsJChDT05GSUdfU05EX1NCQVdFKSkgKz0gc25kLWVtdTgwMDAtc3ludGgubwotCi1vYmotbSA6PSAkKHNvcnQgJChvYmotbSkpCmRpZmYgLS1naXQgYS9zb3VuZC9pc2Evc2Ivc2IxNl9jc3AuYyBiL3NvdW5kL2lzYS9zYi9zYjE2X2NzcC5jCmluZGV4IGYzZmQ3YjQuLjM1ZjNkN2IgMTAwNjQ0Ci0tLSBhL3NvdW5kL2lzYS9zYi9zYjE2X2NzcC5jCisrKyBiL3NvdW5kL2lzYS9zYi9zYjE2X2NzcC5jCkBAIC0zNSwxMyArMzUsMTEgQEAKIE1PRFVMRV9BVVRIT1IoIlVyb3MgQml6amFrIDx1cm9zQGtzcy1sb2thLnNpPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJBTFNBIGRyaXZlciBmb3IgU0IxNiBDcmVhdGl2ZSBTaWduYWwgUHJvY2Vzc29yIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0jaWZuZGVmIENPTkZJR19TTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCiBNT0RVTEVfRklSTVdBUkUoInNiMTYvbXVsYXdfbWFpbi5jc3AiKTsKIE1PRFVMRV9GSVJNV0FSRSgic2IxNi9hbGF3X21haW4uY3NwIik7CiBNT0RVTEVfRklSTVdBUkUoInNiMTYvaW1hX2FkcGNtX2luaXQuY3NwIik7CiBNT0RVTEVfRklSTVdBUkUoInNiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcCIpOwogTU9EVUxFX0ZJUk1XQVJFKCJzYjE2L2ltYV9hZHBjbV9jYXB0dXJlLmNzcCIpOwotI2VuZGlmCiAKICNpZmRlZiBTTkRSVl9MSVRUTEVfRU5ESUFOCiAjZGVmaW5lIENTUF9IRFJfVkFMVUUoYSxiLGMsZCkJKChhKSB8ICgoYik8PDgpIHwgKChjKTw8MTYpIHwgKChkKTw8MjQpKQpAQCAtMTY4LDE3ICsxNjYsMTMgQEAKICAqLwogc3RhdGljIHZvaWQgc25kX3NiX2NzcF9mcmVlKHN0cnVjdCBzbmRfaHdkZXAgKmh3ZGVwKQogewotI2lmbmRlZiBDT05GSUdfU05EX1NCMTZfQ1NQX0ZJUk1XQVJFX0lOX0tFUk5FTAogCWludCBpOwotI2VuZGlmCiAJc3RydWN0IHNuZF9zYl9jc3AgKnAgPSBod2RlcC0+cHJpdmF0ZV9kYXRhOwogCWlmIChwKSB7CiAJCWlmIChwLT5ydW5uaW5nICYgU05EUlZfU0JfQ1NQX1NUX1JVTk5JTkcpCiAJCQlzbmRfc2JfY3NwX3N0b3AocCk7Ci0jaWZuZGVmIENPTkZJR19TTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCiAJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHAtPmNzcF9wcm9ncmFtcyk7ICsraSkKIAkJCXJlbGVhc2VfZmlybXdhcmUocC0+Y3NwX3Byb2dyYW1zW2ldKTsKLSNlbmRpZgogCQlrZnJlZShwKTsKIAl9CiB9CkBAIC03MDEsMTggKzY5NSw2IEBACiAJcmV0dXJuIGVycjsKIH0KIAotI2lmZGVmIENPTkZJR19TTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCi0jaW5jbHVkZSAic2IxNl9jc3BfY29kZWNzLmgiCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgc25kX3NiX2NzcF9zdGF0aWNfcHJvZ3JhbXNbXSA9IHsKLQl7IC5kYXRhID0gbXVsYXdfbWFpbiwgLnNpemUgPSBzaXplb2YgbXVsYXdfbWFpbiB9LAotCXsgLmRhdGEgPSBhbGF3X21haW4sIC5zaXplID0gc2l6ZW9mIGFsYXdfbWFpbiB9LAotCXsgLmRhdGEgPSBpbWFfYWRwY21faW5pdCwgLnNpemUgPSBzaXplb2YgaW1hX2FkcGNtX2luaXQgfSwKLQl7IC5kYXRhID0gaW1hX2FkcGNtX3BsYXliYWNrLCAuc2l6ZSA9IHNpemVvZiBpbWFfYWRwY21fcGxheWJhY2sgfSwKLQl7IC5kYXRhID0gaW1hX2FkcGNtX2NhcHR1cmUsIC5zaXplID0gc2l6ZW9mIGltYV9hZHBjbV9jYXB0dXJlIH0sCi19OwotI2VuZGlmCi0KIHN0YXRpYyBpbnQgc25kX3NiX2NzcF9maXJtd2FyZV9sb2FkKHN0cnVjdCBzbmRfc2JfY3NwICpwLCBpbnQgaW5kZXgsIGludCBmbGFncykKIHsKIAlzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgbmFtZXNbXSA9IHsKQEAgLTcyNywxNCArNzA5LDEwIEBACiAJQlVJTERfQlVHX09OKEFSUkFZX1NJWkUobmFtZXMpICE9IENTUF9QUk9HUkFNX0NPVU5UKTsKIAlwcm9ncmFtID0gcC0+Y3NwX3Byb2dyYW1zW2luZGV4XTsKIAlpZiAoIXByb2dyYW0pIHsKLSNpZmRlZiBDT05GSUdfU05EX1NCMTZfQ1NQX0ZJUk1XQVJFX0lOX0tFUk5FTAotCQlwcm9ncmFtID0gJnNuZF9zYl9jc3Bfc3RhdGljX3Byb2dyYW1zW2luZGV4XTsKLSNlbHNlCiAJCWludCBlcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZwcm9ncmFtLCBuYW1lc1tpbmRleF0sCiAJCQkJICAgICAgIHAtPmNoaXAtPmNhcmQtPmRldik7CiAJCWlmIChlcnIgPCAwKQogCQkJcmV0dXJuIGVycjsKLSNlbmRpZgogCQlwLT5jc3BfcHJvZ3JhbXNbaW5kZXhdID0gcHJvZ3JhbTsKIAl9CiAJcmV0dXJuIHNuZF9zYl9jc3BfbG9hZChwLCBwcm9ncmFtLT5kYXRhLCBwcm9ncmFtLT5zaXplLCBmbGFncyk7CmRpZmYgLS1naXQgYS9zb3VuZC9pc2Evc2Ivc2IxNl9jc3BfY29kZWNzLmggYi9zb3VuZC9pc2Evc2Ivc2IxNl9jc3BfY29kZWNzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwZThiMGQuLjAwMDAwMDAKLS0tIGEvc291bmQvaXNhL3NiL3NiMTZfY3NwX2NvZGVjcy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTQ5ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgotICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCi0gKgotICogICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQotICoKLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBtdWxhd19tYWluW10gPSB7Ci0JMHgwMCwgMHgxMCwgMHgwMCwgMHg0NCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweGIxLCAweDAwLCAweDQ0LCAweDAwLCAweDYxLCAweDAwLCAweDQ0LAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MGQsIDB4ZjIsIDB4NjEsIDB4YTgsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDQwLCAweDQ5LCAweDM5LCAweGFjLCAweDU1LCAweDU1LCAweDcxLCAweDhiLAotCTB4NTAsIDB4MDUsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHhmZiwgMHgyZSwgMHgyMSwgMHg0OSwgMHhmZiwgMHgwZiwgMHhkNCwgMHg0OSwKLQkweDIwLCAweDAxLCAweDA5LCAweDBlLCAweDIwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YTgsIDB4MDEsIDB4YTgsIDB4ODAsIDB4ODgsIDB4MDEsIDB4YTgsIDB4ODAsCi0JMHhhOCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhkMiwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweDg4LCAweDAwLCAweGE4LCAweDgwLCAweGE4LCAweDA0LCAweGIzLCAweDgwLAotCTB4MjAsIDB4MDcsIDB4YjMsIDB4ODAsIDB4ODgsIDB4MDMsIDB4YjEsIDB4ODAsCi0JMHhjMCwgMHgwMCwgMHgwOSwgMHg1YywgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGExLCAweDAwLCAweDcxLCAweDhiLCAweGNkLCAweDAwLCAweDA0LCAweDE5LAotCTB4YTIsIDB4MjAsIDB4NzEsIDB4OGIsIDB4Y2YsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwgMHhjMiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDQwLCAweDAwLCAweDE0LCAweDA4LCAweDQwLCAweDA0LCAweDI0LAotCTB4MDAsIDB4MDAsIDB4MzQsIDB4NDksIDB4MGMsIDB4NDAsIDB4MDAsIDB4NDQsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDMyLCAweDAwLCAweDA5LCAweDVjLCAweDAwLCAweDAwLCAweDBjLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4NDAsIDB4NDAsIDB4MDksIDB4ZWYsCi0JMHhmZiwgMHgyMCwgMHgwOSwgMHhjZiwgMHgwMCwgMHgwNCwgMHg2MywgMHhhMSwKLQkweDUwLCAweDAzLCAweDMzLCAweDgwLCAweDAwLCAweDA0LCAweGEzLCAweDgwLAotCTB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsIDB4MDAsIDB4ZDAsIDB4MDQsIDB4NTQsCi0JMHgwNCwgMHhlMCwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwMywgMHg4MCwgMHhjMCwKLQkweDMwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDdhLCAweDBhLAotCTB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg5OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweGZmLCAweGMyLCAweDhiLCAweDIwLCAweDAwLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MGQsIDB4NDIsIDB4OGIsIDB4MDgsIDB4MzIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwZSwgMHg0MiwgMHg4YiwgMHgwMCwgMHhhMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDFlLCAweDQyLCAweDhiLCAweDBjLCAweGIyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4OGUsIDB4NDIsIDB4OGIsIDB4MDAsIDB4NjIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg5ZSwgMHg0MiwgMHg4YiwgMHgwOCwgMHg1MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweGJlLCAweDQyLCAweDhiLCAweDA4LCAweDUyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDQsIDB4NDIsIDB4OGIsIDB4MDQsIDB4NzIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgyNCwgMHg0MiwgMHg4YiwgMHgwMCwgMHhkMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDU1LCAweDQyLCAweDhiLCAweDAwLCAweDYwLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MjAsIDB4MDEsIDB4NzksIDB4ODAsCi0JMHgwMCwgMHgzMCwgMHg0MiwgMHg4YiwgMHgwOCwgMHg4MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDAwLCAweDAwLCAweDcxLCAweDhiLAotCTB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHgwMCwgMHhiMiwgMHgwMCwgMHhjNCwKLQkweDBmLCAweGYyLCAweGE4LCAweGE4LCAweDIwLCAweDAwLCAweGIxLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NDEsIDB4MDIsIDB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksCi0JMHhjMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDBkLCAweGYyLCAweGEzLCAweGE4LCAweDRkLCAweGYyLCAweDAwLCAweDM5LAotCTB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg2MSwgMHgwMiwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsIDB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHgxMCwgMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDYwLCAweDAwLCAweDQ0LCAweGZmLCAweDIwLCAweGUyLCAweGFiLAotCTB4NjAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NzEsIDB4YzAsCi0JMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDc5LCAweDgwLCAweDAwLCAweGUyLCAweDAwLCAweDg0LAotCTB4MDMsIDB4MDMsIDB4MDQsIDB4NDksIDB4MDgsIDB4YzIsIDB4MDAsIDB4NTQsCi0JMHgwMCwgMHg2MCwgMHgwNCwgMHg2NCwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDMsIDB4MDAsIDB4MDQsIDB4NDksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgyMCwgMHgwMSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwKLQkweDAwLCAweDIwLCAweGUyLCAweDhiLCAweDBjLCAweGYyLCAweDAwLCAweDg0LAotCTB4M2UsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzAsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwOCwgMHgwMSwgMHgwMCwgMHg0NCwgMHg2YywgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMwLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAyLCAweGUyLCAweDhiLAotCTB4MDQsIDB4MjEsIDB4MDAsIDB4ODQsIDB4ZmQsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjMiwgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgxMSwgMHgwMCwgMHg0NCwKLQkweGZlLCAweDAwLCAweDUxLCAweDhiLCAweGMyLCAweDIwLCAweDAwLCAweDM5LAotCTB4ZTUsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2QsIDB4MDAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwgMHhjOSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGNiLCAweDIwLCAweDA0LCAweDE5LCAweGMxLCAweDIwLCAweDA0LCAweDE5LAotCTB4YzMsIDB4MjAsIDB4MDQsIDB4MTksIDB4MTAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjNywgMHgyMCwgMHgwNCwgMHgxOSwgMHg1ZSwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGNmLCAweDAwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweGIxLCAweDgwLAotCTB4YzQsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzYsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjOCwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjYSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDIwLCAweDAwLCAweDcxLCAweDhiLCAweGNjLCAweDIwLCAweDA0LCAweDE5LAotCTB4MDMsIDB4MDAsIDB4MDQsIDB4NDksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwOSwgMHgwNCwgMHg2MSwgMHhhOCwgMHhjMSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDBiLCAweDA0LCAweDYxLCAweGE4LCAweGNhLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDQsIDB4NjAsIDB4MDAsIDB4ZDQsIDB4MGQsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHg5MCwgMHg0MCwgMHgwOSwgMHg4ZiwgMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwKLQkweDBmLCAweDAwLCAweDYxLCAweDBhLCAweDAwLCAweDQwLCAweDA5LCAweDhmLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsIDB4ODIsIDB4MDAsIDB4MDksIDB4MmUsCi0JMHg4MCwgMHg0MCwgMHgwOSwgMHhjZiwgMHgwMiwgMHgwMCwgMHg2MSwgMHgyMiwKLQkweDQzLCAweDI1LCAweDYxLCAweDIyLCAweDQwLCAweDMzLCAweDAwLCAweDgwLAotCTB4MDgsIDB4YTgsIDB4MDAsIDB4NDQsIDB4MjAsIDB4MzEsIDB4NDksIDB4NWMsCi0JMHg5MiwgMHgwMCwgMHgwOSwgMHg0ZSwgMHgwMiwgMHgwMywgMHgwOSwgMHgyZSwKLQkweDAwLCAweDAwLCAweGEzLCAweDAyLCAweGMwLCAweDAwLCAweDcxLCAweGMwLAotCTB4MjAsIDB4MDAsIDB4ZWIsIDB4ODAsIDB4MDAsIDB4MDQsIDB4YzIsIDB4OGIsCi0JMHgyMCwgMHgwNCwgMHg2MSwgMHg4MCwgMHgwMCwgMHgwNCwgMHg3YSwgMHgwMiwKLQkweGNiLCAweDAwLCAweGE4LCAweDU4LCAweGIwLCAweDA1LCAweGYzLCAweDgwLAotCTB4MjAsIDB4MDQsIDB4YTgsIDB4MTAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MzksCi0JMHhiMCwgMHgwMCwgMHhlMCwgMHg4YiwgMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDYzLCAweGNiLCAweDAwLCAweDAwLCAweDdhLCAweDAyLAotCTB4NDAsIDB4MDAsIDB4MDEsIDB4NWIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg0YSwgMHhjYiwgMHgyMCwgMHgwMCwgMHgxMywgMHg4MCwKLQkweDIwLCAweDAwLCAweDdhLCAweDgwLCAweGUwLCAweDIxLCAweDAwLCAweGMwLAotCTB4MDgsIDB4MDAsIDB4MDgsIDB4NDksIDB4MTAsIDB4NDEsIDB4MDksIDB4OGUsCi0JMHhmZiwgMHhmZiwgMHg2MiwgMHg4YiwgMHgwMCwgMHgwNCwgMHg2MSwgMHgyMiwKLQkweDAwLCAweDAzLCAweDAwLCAweDQ1LCAweDIyLCAweDAxLCAweDMzLCAweDgwLAotCTB4MjAsIDB4MDEsIDB4YTMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4N2EsIDB4ODAsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg4MiwgMHgwNywgMHgyMCwgMHg0MCwgMHgwYSwKLQkweDA4LCAweDgzLCAweDAwLCAweDg0LCAweDQwLCAweDIxLCAweDAwLCAweDgwLAotCTB4NDAsIDB4MDUsIDB4OTMsIDB4MTAsIDB4YzcsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwNywgMHgyMCwgMHg0MCwgMHgwYSwKLQkweDBjLCAweGEzLCAweDAwLCAweDg0LCAweDA4LCAweDAwLCAweDAwLCAweDgyLAotCTB4MGMsIDB4MjQsIDB4NjEsIDB4NTAsIDB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHhjNywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDA0LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4NDIsIDB4MDEsIDB4MDksIDB4MGUsIDB4MDIsIDB4MjAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHgwYywgMHgyMCwgMHg2MCwgMHgwYSwKLQkweDAwLCAweDczLCAweDAwLCAweDg0LCAweDAwLCAweDA0LCAweGIxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MzksIDB4MGMsIDB4NjEsIDB4MDQsIDB4ZDQsCi0JMHgwMCwgMHgyNCwgMHg3MSwgMHhjMCwgMHgyMCwgMHgzMywgMHgzMywgMHhjMCwKLQkweGUwLCAweDAxLCAweGEzLCAweDgyLCAweDIyLCAweDAzLCAweDdhLCAweDAyLAotCTB4YzMsIDB4MDEsIDB4YTMsIDB4ODIsIDB4MjAsIDB4MDEsIDB4MzMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHhjMiwgMHgwMSwgMHhiMywgMHg1MCwKLQkweGNjLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDcxLCAweDgwLAotCTB4MDAsIDB4ZjMsIDB4MDAsIDB4NDQsIDB4MGMsIDB4MjAsIDB4NjAsIDB4MGEsCi0JMHgwMCwgMHhkMywgMHgwMCwgMHg4NCwgMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDA2LCAweDM5LCAweDBjLCAweDYxLCAweDA0LCAweGQ0LAotCTB4MDAsIDB4MDAsIDB4YjMsIDB4MTAsIDB4Y2MsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwgMHgwMCwgMHhmMywgMHgwMCwgMHg0NCwKLQkweGNjLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDIwLCAweDcxLCAweGMwLAotCTB4MDAsIDB4MzAsIDB4NzEsIDB4YzAsIDB4MDAsIDB4ZjMsIDB4MDAsIDB4NDQsCi0JMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwgMHhmZiwgMHhmZiwgMHg2MiwgMHg4YiwKLQkweDIwLCAweDAxLCAweDMzLCAweDgwLCAweDAwLCAweDAwLCAweDgzLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4MjAsIDB4ZTEsIDB4MDksIDB4NWMsCi0JMHg4MiwgMHgwMCwgMHgwOSwgMHgyZiwgMHg4MCwgMHg0YSwgMHgwOSwgMHg4ZSwKLQkweGUwLCAweDAxLCAweGIzLCAweDgyLCAweDIwLCAweDA0LCAweGEzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4N2EsIDB4Y2IsIDB4MDMsIDB4MDAsIDB4YTgsIDB4MTgsCi0JMHgwMCwgMHgwMCwgMHgxMCwgMHgzOSwgMHgwOCwgMHgwNCwgMHhlYSwgMHgxMCwKLQkweDA4LCAweDA0LCAweDdhLCAweDEwLCAweDIwLCAweDAwLCAweDAwLCAweDgwLAotCTB4NDAsIDB4MDAsIDB4MjEsIDB4Y2IsIDB4MGMsIDB4MDAsIDB4ZTgsIDB4MTAsCi0JMHgwMCwgMHgwMCwgMHg0MSwgMHgwMiwgMHgwYywgMHgwMCwgMHhlYiwgMHgxMCwKLQkweGYyLCAweDAxLCAweDAwLCAweDgyLCAweDQwLCAweDIxLCAweDMzLCAweDAyLAotCTB4MDgsIDB4MjAsIDB4NjEsIDB4MGEsIDB4YzQsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHhjNywgMHgwMCwgMHgwMCwgMHg5OSwgMHgwMiwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDBjLCAweGU4LCAweDA0LCAweDE0LCAweDAxLCAweDAwLCAweDYxLCAweDBhLAotCTB4MDMsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4YjgsIDB4MDQsIDB4NTQsCi0JMHhjMywgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhiOCwgMHgwMCwgMHg0NCwKLQkweDA4LCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweGI4LCAweDA0LCAweDU0LAotCTB4YzgsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGEsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwOSwgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHg2OCwgMHgwNCwgMHg1NCwKLQkweGM5LCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweDY4LCAweDAwLCAweDQ0LAotCTB4MGIsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4NjgsIDB4MDQsIDB4NTQsCi0JMHhjYiwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwNCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDA2LCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweDc4LCAweDA0LCAweDU0LAotCTB4YzYsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4NzgsIDB4MDAsIDB4NDQsCi0JMHgwNSwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHg3OCwgMHgwNCwgMHg1NCwKLQkweGM1LCAweDAwLCAweDA0LCAweDE5LCAweDA3LCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4ZTgsIDB4MDQsIDB4NTQsCi0JMHhjYywgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhlOCwgMHgwMCwgMHg0NCwKLQkweDBlLCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweGU4LCAweDA0LCAweDU0LAotCTB4Y2UsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgyMCwgMHgxMCwgMHg3MSwgMHg4YiwgMHgwOSwgMHgzZiwgMHgwNywgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgYWxhd19tYWluW10gPSB7Ci0JMHgwMCwgMHgxMCwgMHgwMCwgMHg0NCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweGIxLCAweDAwLCAweDQ0LCAweDAwLCAweDYxLCAweDAwLCAweDQ0LAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MGQsIDB4ZjIsIDB4NjEsIDB4YTgsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDQwLCAweDQ5LCAweDM5LCAweGFjLCAweDU1LCAweDU1LCAweDcxLCAweDhiLAotCTB4NTAsIDB4MDUsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHhmZiwgMHgyZSwgMHgyMSwgMHg0OSwgMHhmZiwgMHgwZiwgMHhkNCwgMHg0OSwKLQkweDIwLCAweDAxLCAweDA5LCAweDBlLCAweDIwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YTgsIDB4MDEsIDB4YTgsIDB4ODAsIDB4ODgsIDB4MDEsIDB4YTgsIDB4ODAsCi0JMHhhOCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhkMiwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweDg4LCAweDAwLCAweGE4LCAweDgwLCAweGE4LCAweDA0LCAweGIzLCAweDgwLAotCTB4MjAsIDB4MDcsIDB4YjMsIDB4ODAsIDB4ODgsIDB4MDMsIDB4YjEsIDB4ODAsCi0JMHhjMCwgMHgwMCwgMHgwOSwgMHg1YywgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGExLCAweDAwLCAweDcxLCAweDhiLCAweGNkLCAweDAwLCAweDA0LCAweDE5LAotCTB4MjEsIDB4MjAsIDB4NzEsIDB4OGIsIDB4Y2YsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwgMHhjMiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDQwLCAweDAwLCAweDE0LCAweDA4LCAweDQwLCAweDA0LCAweDI0LAotCTB4MDAsIDB4MDAsIDB4MzQsIDB4NDksIDB4MGMsIDB4NDAsIDB4MDAsIDB4NDQsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDMyLCAweDAwLCAweDA5LCAweDVjLCAweDAwLCAweDAwLCAweDBjLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4NDAsIDB4NDAsIDB4MDksIDB4ZWYsCi0JMHhmZiwgMHgyMCwgMHgwOSwgMHhjZiwgMHgwMCwgMHgwNCwgMHg2MywgMHhhMSwKLQkweDUwLCAweDAzLCAweDMzLCAweDgwLCAweDAwLCAweDA0LCAweGEzLCAweDgwLAotCTB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsIDB4MDAsIDB4ZDAsIDB4MDQsIDB4NTQsCi0JMHgwNCwgMHhlMCwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwMywgMHg4MCwgMHhjMCwKLQkweDMwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDdhLCAweDBhLAotCTB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg5OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweGZmLCAweGMyLCAweDhiLCAweDIwLCAweDAwLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MGQsIDB4NDIsIDB4OGIsIDB4MDgsIDB4MzIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwZSwgMHg0MiwgMHg4YiwgMHgwMCwgMHhhMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDFlLCAweDQyLCAweDhiLCAweDBjLCAweGIyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4OGUsIDB4NDIsIDB4OGIsIDB4MDAsIDB4NjIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg5ZSwgMHg0MiwgMHg4YiwgMHgwOCwgMHg1MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweGJlLCAweDQyLCAweDhiLCAweDA4LCAweDUyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDQsIDB4NDIsIDB4OGIsIDB4MDQsIDB4NzIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgyNCwgMHg0MiwgMHg4YiwgMHgwMCwgMHhkMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDU1LCAweDQyLCAweDhiLCAweDAwLCAweDYwLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MjAsIDB4MDEsIDB4NzksIDB4ODAsCi0JMHgwMCwgMHgzMCwgMHg0MiwgMHg4YiwgMHgwOCwgMHg4MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDAwLCAweDAwLCAweDcxLCAweDhiLAotCTB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHgwMCwgMHhiMiwgMHgwMCwgMHhjNCwKLQkweDBmLCAweGYyLCAweGE4LCAweGE4LCAweDIwLCAweDAwLCAweGIxLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NDEsIDB4MDIsIDB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksCi0JMHhjMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDBkLCAweGYyLCAweGEzLCAweGE4LCAweDRkLCAweGYyLCAweDAwLCAweDM5LAotCTB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg2MSwgMHgwMiwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsIDB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHgxMCwgMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDYwLCAweDAwLCAweDQ0LCAweGZmLCAweDIwLCAweGUyLCAweGFiLAotCTB4NjAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NzEsIDB4YzAsCi0JMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDc5LCAweDgwLCAweDAwLCAweGUyLCAweDAwLCAweDg0LAotCTB4MDMsIDB4MDMsIDB4MDQsIDB4NDksIDB4MDQsIDB4YzIsIDB4MDAsIDB4NTQsCi0JMHgwMCwgMHg2MCwgMHgwNCwgMHg2NCwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDMsIDB4MDAsIDB4MDQsIDB4NDksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgyMCwgMHgwMSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwKLQkweDAwLCAweDIwLCAweGUyLCAweDhiLCAweDBjLCAweGYyLCAweDAwLCAweDg0LAotCTB4YmUsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzAsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwOCwgMHgwMSwgMHgwMCwgMHg0NCwgMHhlYywgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMwLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAyLCAweGUyLCAweDhiLAotCTB4MDQsIDB4MjEsIDB4MDAsIDB4ODQsIDB4M2YsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjMiwgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgxMSwgMHgwMCwgMHg0NCwKLQkweDNkLCAweDAwLCAweDUxLCAweDhiLCAweGMyLCAweDIwLCAweDAwLCAweDM5LAotCTB4ZTUsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2QsIDB4MDAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwgMHhjOSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGNiLCAweDIwLCAweDA0LCAweDE5LCAweGMxLCAweDIwLCAweDA0LCAweDE5LAotCTB4YzMsIDB4MjAsIDB4MDQsIDB4MTksIDB4MTAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjNywgMHgyMCwgMHgwNCwgMHgxOSwgMHhkZSwgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGNmLCAweDAwLCAweDAwLCAweDM5LCAweDAwLCAweDAxLCAweGIxLCAweDgwLAotCTB4YzQsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzYsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjOCwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjYSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDIwLCAweDAwLCAweDcxLCAweDhiLCAweGNjLCAweDIwLCAweDA0LCAweDE5LAotCTB4MDMsIDB4MDAsIDB4MDQsIDB4NDksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwOSwgMHgwNCwgMHg2MSwgMHhhOCwgMHhjMSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDBiLCAweDA0LCAweDYxLCAweGE4LCAweGNhLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDQsIDB4NjAsIDB4MDAsIDB4ZDQsIDB4MGQsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHg5MCwgMHg0MCwgMHgwOSwgMHg4ZiwgMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwKLQkweDBmLCAweDAwLCAweDYxLCAweDBhLCAweDAwLCAweDQwLCAweDA5LCAweDhmLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsIDB4ODIsIDB4MDAsIDB4MDksIDB4MmUsCi0JMHg4MCwgMHg0MCwgMHgwOSwgMHhjZiwgMHgwMiwgMHgwMCwgMHg2MSwgMHgyMiwKLQkweDQzLCAweDI1LCAweDYxLCAweDIyLCAweDQwLCAweDMzLCAweDAwLCAweDgwLAotCTB4MDgsIDB4NDgsIDB4MDAsIDB4NDQsIDB4MjAsIDB4YjEsIDB4NDksIDB4NWMsCi0JMHg5MiwgMHgwMCwgMHgwOSwgMHg0ZSwgMHgwMiwgMHgwMywgMHgwOSwgMHgyZSwKLQkweDAwLCAweDAwLCAweGEzLCAweDAyLCAweGMwLCAweDAwLCAweDcxLCAweGMwLAotCTB4MjAsIDB4MDAsIDB4ZWIsIDB4ODAsIDB4MDAsIDB4MDQsIDB4YzIsIDB4OGIsCi0JMHgyMCwgMHgwNCwgMHg2MSwgMHg4MCwgMHgwMCwgMHgwNCwgMHg3YSwgMHgwMiwKLQkweGMwLCAweDAwLCAweDAwLCAweDgyLCAweDBjLCAweGMzLCAweDA4LCAweDQ5LAotCTB4YjAsIDB4MDEsIDB4ZjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MzksCi0JMHgyMCwgMHgwMCwgMHgwYywgMHg4OSwgMHgwYywgMHg4OCwgMHgwOCwgMHg0OSwKLQkweDAzLCAweDAwLCAweGE4LCAweDE4LCAweDAwLCAweDAwLCAweDEwLCAweDM5LAotCTB4YmQsIDB4ZmYsIDB4NjIsIDB4OGIsIDB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg2MywgMHhjYiwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMiwKLQkweDQwLCAweDAwLCAweDAxLCAweDViLCAweDIwLCAweDAwLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NGEsIDB4Y2IsIDB4MjAsIDB4MDAsIDB4MTMsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHhlMCwgMHgyMSwgMHgwMCwgMHhjMCwKLQkweDA4LCAweDAwLCAweDA4LCAweDQ5LCAweDEwLCAweDQxLCAweDA5LCAweDhlLAotCTB4YWUsIDB4YWUsIDB4NjIsIDB4OGIsIDB4MDAsIDB4MDQsIDB4NjEsIDB4MjIsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHg0NSwgMHgyMiwgMHgwMSwgMHgzMywgMHg4MCwKLQkweDIwLCAweDAxLCAweGEzLCAweDAyLCAweDAwLCAweDAwLCAweDdhLCAweDgwLAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MDcsIDB4MjAsIDB4NDAsIDB4MGEsCi0JMHgwOCwgMHhhMywgMHgwMCwgMHg4NCwgMHg0MCwgMHgyMSwgMHgwMCwgMHg4MCwKLQkweDQwLCAweDA1LCAweDkzLCAweDEwLCAweGM3LCAweDIwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDcsIDB4MjAsIDB4NDAsIDB4MGEsCi0JMHgwYywgMHg5MywgMHgwMCwgMHg4NCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDBjLCAweDI0LCAweDYxLCAweDUwLCAweDQwLCAweDAxLCAweDAwLCAweDgwLAotCTB4YzcsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweDQyLCAweDAxLCAweDA5LCAweDBlLCAweDAyLCAweDIwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsIDB4MGMsIDB4MjAsIDB4NjAsIDB4MGEsCi0JMHgwMCwgMHhjMywgMHgwMCwgMHg4NCwgMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDA2LCAweDM5LCAweDBjLCAweDYxLCAweDA0LCAweGQ0LAotCTB4MDAsIDB4MjQsIDB4NzEsIDB4YzAsIDB4MjAsIDB4MzMsIDB4MzMsIDB4YzAsCi0JMHhlMCwgMHgwMSwgMHhhMywgMHg4MiwgMHgyMiwgMHgwMywgMHg3YSwgMHgwMiwKLQkweGMzLCAweDAxLCAweGEzLCAweDgyLCAweDIwLCAweDAxLCAweDMzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4YzIsIDB4MDEsIDB4YjMsIDB4NTAsCi0JMHhjYywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg3MSwgMHg4MCwKLQkweDAwLCAweDA4LCAweDAwLCAweDQ0LCAweDBjLCAweDIwLCAweDYwLCAweDBhLAotCTB4MDAsIDB4ZjMsIDB4MDAsIDB4ODQsIDB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwgMHgwYywgMHg2MSwgMHgwNCwgMHhkNCwKLQkweDAwLCAweDAwLCAweDcxLCAweGMwLCAweDAwLCAweDAwLCAweDkzLCAweDEwLAotCTB4Y2MsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDgsIDB4MDAsIDB4NDQsCi0JMHhjYywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgyMCwgMHgwMCwgMHhjMCwKLQkweDAwLCAweDMwLCAweDcxLCAweGMwLCAweDAwLCAweDA4LCAweDAwLCAweDQ0LAotCTB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4YWUsIDB4YWUsIDB4NjIsIDB4OGIsCi0JMHgyMCwgMHgwMSwgMHgzMywgMHg4MCwgMHgwMCwgMHgwMCwgMHg4MywgMHg4MCwKLQkweDIwLCAweDAwLCAweDdhLCAweDgwLCAweDIwLCAweGExLCAweDQ5LCAweDVjLAotCTB4ODIsIDB4MDAsIDB4MDksIDB4NmUsIDB4ODAsIDB4NGEsIDB4MDksIDB4OGUsCi0JMHhlMCwgMHgwMSwgMHhiMywgMHg4MiwgMHgyMCwgMHgwNCwgMHhhMywgMHg4MCwKLQkweDAwLCAweDAwLCAweDdhLCAweGNiLCAweDI4LCAweDA0LCAweGVhLCAweDEwLAotCTB4MGMsIDB4MDQsIDB4N2EsIDB4MTAsIDB4NzAsIDB4MDAsIDB4YzAsIDB4OGIsCi0JMHgwMCwgMHgwMCwgMHgxMCwgMHgzOSwgMHg5MCwgMHgwMywgMHgwMCwgMHg4MCwKLQkweDQwLCAweDAwLCAweDIxLCAweDViLCAweDkwLCAweDAwLCAweDYxLCAweDgwLAotCTB4MGMsIDB4OGEsIDB4MDgsIDB4NDksIDB4MDAsIDB4MDAsIDB4MWMsIDB4MTksCi0JMHg0MCwgMHgwMCwgMHgwOCwgMHg1YiwgMHgwOCwgMHgwMCwgMHgwOCwgMHg0OSwKLQkweDIwLCAweDAyLCAweDAwLCAweDgwLCAweDAzLCAweDAwLCAweGE4LCAweDE4LAotCTB4MDAsIDB4MDAsIDB4MTQsIDB4MTksIDB4NDAsIDB4MDAsIDB4MjEsIDB4Y2IsCi0JMHgwMCwgMHgwMCwgMHg0MSwgMHgwMiwgMHgwMCwgMHgwMCwgMHhlYiwgMHg4MCwKLQkweGYyLCAweDAxLCAweDAwLCAweDgyLCAweDQwLCAweDIxLCAweDMzLCAweDAyLAotCTB4MDgsIDB4MjAsIDB4NjEsIDB4MGEsIDB4YzQsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHhjNywgMHgwMCwgMHgwMCwgMHg5OSwgMHgwMiwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDBjLCAweDBhLCAweDA0LCAweDE0LCAweDAxLCAweDAwLCAweDYxLCAweDBhLAotCTB4MDMsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4NTgsIDB4MDQsIDB4NTQsCi0JMHhjMywgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHg1OCwgMHgwMCwgMHg0NCwKLQkweDA4LCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweDU4LCAweDA0LCAweDU0LAotCTB4YzgsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGEsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwOSwgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHhjOCwgMHgwNCwgMHg1NCwKLQkweGM5LCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweGM4LCAweDAwLCAweDQ0LAotCTB4MGIsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4YzgsIDB4MDQsIDB4NTQsCi0JMHhjYiwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwNCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDA2LCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweGQ4LCAweDA0LCAweDU0LAotCTB4YzYsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4ZDgsIDB4MDAsIDB4NDQsCi0JMHgwNSwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHhkOCwgMHgwNCwgMHg1NCwKLQkweGM1LCAweDAwLCAweDA0LCAweDE5LCAweDA3LCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4MGEsIDB4MDQsIDB4NTQsCi0JMHhjYywgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHgwYSwgMHgwMCwgMHg0NCwKLQkweDBlLCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweDBhLCAweDA0LCAweDU0LAotCTB4Y2UsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgyMCwgMHgxMCwgMHg3MSwgMHg4YiwgMHgwOCwgMHg0MiwgMHgwNiwgMHgwMAotfTsKLQotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBpbWFfYWRwY21faW5pdFtdID0gewotCTB4MDAsIDB4MTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweGFhLCAweGFhLCAweDcxLCAweDhiLAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHhmZiwgMHg2ZSwgMHgyMSwgMHg0OSwgMHhmZiwgMHgwZiwgMHhkNCwgMHg0OSwKLQkweDQwLCAweDQ5LCAweDM5LCAweGFjLCAweDU1LCAweDU1LCAweDcxLCAweDhiLAotCTB4NTAsIDB4MDUsIDB4YjEsIDB4ODAsIDB4NjIsIDB4MDAsIDB4MTksIDB4MGUsCi0JMHgyMSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGIwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg2MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDUwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NzAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGUwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDIyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MzIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhhMiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGIyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NjIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjMiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGYyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhhMSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDYxLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZTEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxMywgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGIzLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YzMsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxOCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDY4LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MGEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg0YSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDI5LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NzksIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5YiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDE0LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZjQsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhlNiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGU1LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZDcsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyZSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDlkLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZWYsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhiMiwgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDMzLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MmEsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzYiwgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDQ2LCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MmMsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkZCwgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAxLCAweDEwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OWEsIDB4MTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxNiwgMHgxMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDhlLCAweDEwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YzIsIDB4MzAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjOSwgMHgzMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDNjLCAweDMwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ODEsIDB4ODAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkNCwgMHg4MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDEwLCAweGEwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MzQsIDB4YTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMiwgMHg5MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDc1LCAweDkwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OWEsIDB4YjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxMiwgMHg0MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDBkLCAweDQwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4M2MsIDB4NjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhlNywgMHg1MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDBlLCAweDcwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZmYsIDB4YzAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjOCwgMHhkMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDU3LCAweGYwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YzgsIDB4MjIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhiMCwgMHgzMiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGRkLCAweDgyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OTAsIDB4YjIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg4YSwgMHg2MiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGNlLCAweDcyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YTUsIDB4ZDIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5NywgMHgyMSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGEyLCAweGExLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NWMsIDB4NDEsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmZSwgMHhjMSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDdhLCAweDIzLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NzgsIDB4OTMsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg2NywgMHg3MywgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDE3LCAweDI4LCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ODgsIDB4NDgsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkYiwgMHhmOCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDJiLCAweGJhLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZjEsIDB4MDksIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkYywgMHg2OSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDE5LCAweDhiLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZmYsIDB4ZmIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDUyLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4ZmYsIDB4ZmYsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweDEwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHg5MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweDQwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4ZmYsIDB4ZmYsIDB4NzEsIDB4OGIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4MTAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDkwLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4NDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhmZiwgMHhmYiwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDAwLCAweDA0LCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4NGEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgxMCwgMHgwMCwgMHgwOSwgMHg0ZiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAxLCAweDAwLCAweDgyLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAxLCAweDAwLCAweDgyLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDAwLCAweDEwLCAweDcxLCAweDhiLCAweGMxLCAweDMwLCAweDA0LCAweDE5LAotCTB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsIDB4Y2QsIDB4MzAsIDB4MDAsIDB4MDksCi0JMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwgMHgwMCwgMHgwMCwgMHgzNCwgMHg0OSwKLQkweDAwLCAweDA4LCAweDAwLCAweDQ0LCAweGM4LCAweDU0LCAweDExLCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBpbWFfYWRwY21fcGxheWJhY2tbXSA9IHsKLQkweDAwLCAweDEwLCAweDAwLCAweDQ0LCAweDA4LCAweDAwLCAweDAwLCAweDQ0LAotCTB4MGMsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NDQsCi0JMHgwNCwgMHg3MCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHg2MSwgMHhhOCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHhmZiwgMHgyZSwgMHgyMSwgMHg0OSwgMHhmZiwgMHgwZCwgMHhkNCwgMHg0OSwKLQkweDQwLCAweDQ5LCAweDM5LCAweGFjLCAweDU1LCAweDU1LCAweDcxLCAweDhiLAotCTB4NTAsIDB4MDEsIDB4YjEsIDB4ODAsIDB4MDAsIDB4MDEsIDB4YjEsIDB4ODAsCi0JMHhjOSwgMHgyMCwgMHgwNCwgMHgxOSwgMHg1MSwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGNkLCAweDAwLCAweDA0LCAweDE5LCAweGU0LCAweDIwLCAweDcxLCAweDhiLAotCTB4Y2YsIDB4MDAsIDB4MDQsIDB4MTksIDB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjYiwgMHgyMCwgMHgwNCwgMHgxOSwgMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGM0LCAweDIwLCAweDA0LCAweDE5LCAweDY1LCAweDAwLCAweDUxLCAweDhiLAotCTB4YzIsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsCi0JMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwKLQkweGMxLCAweGEwLCAweDA0LCAweDE5LCAweDkzLCAweDAwLCAweDAxLCAweDRmLAotCTB4Y2QsIDB4MzAsIDB4MDAsIDB4MDksIDB4Y2YsIDB4MzAsIDB4MDAsIDB4MDksCi0JMHgwNCwgMHg0MCwgMHgwMCwgMHgxNCwgMHgwYywgMHg0MCwgMHgwMCwgMHgxNCwKLQkweDAwLCAweDA0LCAweDYxLCAweGE4LCAweDAyLCAweDA0LCAweDYxLCAweGE4LAotCTB4MDQsIDB4NjAsIDB4MDQsIDB4MjQsIDB4MDAsIDB4MDAsIDB4MzQsIDB4NDksCi0JMHgwMCwgMHg1MCwgMHgwMCwgMHg0NCwgMHg0NCwgMHgwNCwgMHgwNCwgMHgzOSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MGYsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsCi0JMHg0MCwgMHg0MCwgMHgwOSwgMHhlZiwgMHhmZiwgMHgyMCwgMHgwOSwgMHhjZiwKLQkweDAwLCAweDA0LCAweDYzLCAweGExLCAweDUwLCAweDAzLCAweDMzLCAweDgwLAotCTB4MDAsIDB4MDQsIDB4YTMsIDB4ODAsIDB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsCi0JMHgwOCwgMHhmMCwgMHgwNCwgMHg1NCwgMHgwYywgMHhkMCwgMHgwMCwgMHhjNCwKLQkweDIwLCAweDAzLCAweDgwLCAweGMwLCAweDMwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4N2EsIDB4MGEsIDB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHhjMCwgMHgwMCwgMHgwMCwgMHg5OSwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweDAwLCAweGZmLCAweGMyLCAweDhiLAotCTB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MGQsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHhhMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwZSwgMHg0MiwgMHg4YiwKLQkweDBjLCAweDkyLCAweDAwLCAweGM0LCAweDAwLCAweDFlLCAweDQyLCAweDhiLAotCTB4MDQsIDB4NjIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4OGUsIDB4NDIsIDB4OGIsCi0JMHgwYywgMHg1MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHg5ZSwgMHg0MiwgMHg4YiwKLQkweDAwLCAweGMyLCAweDAwLCAweGM0LCAweDAwLCAweGJlLCAweDQyLCAweDhiLAotCTB4MDAsIDB4YzIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MDQsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHhmMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgyNCwgMHg0MiwgMHg4YiwKLQkweDAwLCAweDkxLCAweDAwLCAweGM0LCAweDAwLCAweDU1LCAweDQyLCAweDhiLAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4YzQsIDB4MDAsIDB4M2YsIDB4NDIsIDB4OGIsCi0JMHgwOCwgMHhlMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDIwLCAweDAxLCAweDc5LCAweDgwLCAweDAwLCAweDMwLCAweDQyLCAweDhiLAotCTB4MDAsIDB4OTIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweGZmLCAweDAwLCAweGUyLCAweGFiLAotCTB4MGMsIDB4NDIsIDB4MDAsIDB4YzQsIDB4MGYsIDB4ZjIsIDB4YTgsIDB4YTgsCi0JMHgyMCwgMHgwMCwgMHhiMSwgMHg4OCwgMHgwMCwgMHgwMCwgMHg0MSwgMHgwMiwKLQkweDRkLCAweGYyLCAweDAwLCAweDM5LCAweGMwLCAweDAxLCAweDAwLCAweDgyLAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MGQsIDB4ZjIsIDB4YTMsIDB4YTgsCi0JMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDAwLCAweGUyLCAweGFiLCAweDIwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NjEsIDB4MDIsIDB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweGEwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDYxLCAweDEwLAotCTB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksIDB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgyMCwgMHhlMiwgMHhhYiwgMHg2MCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDcxLCAweGMwLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGEsCi0JMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwMSwgMHhhMCwgMHg0MSwgMHgwYSwKLQkweDA0LCAweGQyLCAweDAwLCAweGM0LCAweDIwLCAweDAxLCAweGYwLCAweDgwLAotCTB4YzEsIDB4MzAsIDB4MDQsIDB4MTksIDB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgwMCwgMHg3OSwgMHg4MCwgMHgwMCwgMHhhMSwgMHgwMCwgMHg4NCwKLQkweGI1LCAweDAwLCAweDUxLCAweDhiLCAweGNmLCAweDAwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDEsIDB4YjEsIDB4ODAsIDB4ODgsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4YSwgMHgwMCwgMHgwNCwgMHgxOSwgMHhjOCwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGNhLCAweDIwLCAweDA0LCAweDE5LCAweGMyLCAweDMwLCAweDA0LCAweDE5LAotCTB4Y2QsIDB4MTAsIDB4MDQsIDB4MTksIDB4Y2YsIDB4MTAsIDB4MDQsIDB4MTksCi0JMHhiMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4YywgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDhlLCAweDAwLCAweDA0LCAweDE5LCAweDEwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzQsIDB4MjAsIDB4MDQsIDB4MTksIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwgMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweDAzLCAweDAzLCAweDA0LCAweDQ5LCAweDA0LCAweDgxLCAweDAwLCAweDU0LAotCTB4MDgsIDB4NTAsIDB4MDQsIDB4NjQsIDB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwKLQkweDAzLCAweDAwLCAweDA0LCAweDQ5LCAweDA4LCAweDUwLCAweDAwLCAweDQ0LAotCTB4MjAsIDB4MDEsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MTksCi0JMHgwMCwgMHgwMiwgMHhlMiwgMHg4YiwgMHgwOCwgMHg0MSwgMHgwMCwgMHg4NCwKLQkweDY1LCAweDAwLCAweDUxLCAweDhiLCAweGMyLCAweDIwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsIDB4YzEsIDB4YTAsIDB4MDQsIDB4MTksCi0JMHgwOCwgMHg2MSwgMHgwMCwgMHg0NCwgMHgyZCwgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMyLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweGIxLCAweDgwLAotCTB4YzEsIDB4YTAsIDB4MDQsIDB4MTksIDB4MDMsIDB4MDAsIDB4MDQsIDB4NDksCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMiwgMHgyMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDAxLCAweDAwLCAweDQ1LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDQsIDB4MDMsIDB4MDAsIDB4YzQsIDB4MDUsIDB4YjAsIDB4YzgsIDB4MTgsCi0JMHgwNCwgMHg3MSwgMHgwMCwgMHhjNCwgMHgwMCwgMHgxMywgMHgwMCwgMHg0NCwKLQkweDAwLCAweDc5LCAweDA4LCAweDQ0LCAweDAwLCAweDA0LCAweDc5LCAweDgwLAotCTB4MDAsIDB4NDksIDB4MDAsIDB4YzQsIDB4Y2EsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHg0YSwgMHgwNCwgMHgwNCwgMHgxOSwgMHhmZiwgMHgwMCwgMHhlMiwgMHg4YiwKLQkweDBjLCAweGY5LCAweDA4LCAweDQ0LCAweGNmLCAweDEwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4MmIsIDB4MDgsIDB4NDQsIDB4OGUsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwMywgMHgzMCwgMHg2MSwgMHgwYSwgMHhjOCwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDQ4LCAweDA0LCAweDAwLCAweDM5LCAweDBhLCAweDMwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4ZjksIDB4MDgsIDB4NDQsIDB4Y2QsIDB4MTAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHgyYiwgMHgwOCwgMHg0NCwgMHg4YywgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweGQ5LCAweDA4LCAweDQ0LCAweDBjLCAweDVhLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4NzksIDB4MDgsIDB4NDQsIDB4MDAsIDB4MDQsIDB4NzksIDB4ODAsCi0JMHgwMCwgMHg0OSwgMHgwMCwgMHhjNCwgMHhjMywgMHgzMCwgMHgwNCwgMHgxOSwKLQkweGNhLCAweDMwLCAweDAwLCAweDk5LCAweDBjLCAweGQ5LCAweDA4LCAweDQ0LAotCTB4NDIsIDB4MGEsIDB4MDksIDB4MGUsIDB4MDAsIDB4MDEsIDB4MzMsIDB4MTEsCi0JMHg4YywgMHgwMSwgMHhhMywgMHg4MCwgMHgwMCwgMHgwMSwgMHg3YSwgMHgxMCwKLQkweDgwLCAweDA1LCAweGIxLCAweDgwLCAweDA1LCAweGIwLCAweGUwLCAweDE4LAotCTB4MDAsIDB4OTMsIDB4MDAsIDB4ODQsIDB4MDAsIDB4NzksIDB4MDgsIDB4NDQsCi0JMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwgMHgwMCwgMHg0OSwgMHgwMCwgMHhjNCwKLQkweDBjLCAweDFiLCAweDA4LCAweDQ0LCAweDg4LCAweDAwLCAweDA0LCAweDE5LAotCTB4OGEsIDB4MDAsIDB4MDAsIDB4OTksIDB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsCi0JMHg0MiwgMHgwYSwgMHgwOSwgMHgwZSwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMwLCAweDA0LCAweGIxLCAweDgyLCAweDEwLCAweDAwLCAweGUwLCAweDBiLAotCTB4MDAsIDB4NDMsIDB4MDAsIDB4ODQsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwMSwgMHgzMCwgMHhjOCwgMHgwYSwgMHgwMCwgMHg0MywgMHgwMCwgMHg4NCwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGMyLCAweDMwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4YTgsIDB4MDAsIDB4NDQsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHhkMywgMHgwMCwgMHhjNCwgMHgwNSwgMHhiMCwgMHhjOCwgMHgxOCwKLQkweDA0LCAweDYzLCAweDAwLCAweGM0LCAweDA4LCAweGYzLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4NzksIDB4MDgsIDB4NDQsIDB4MDAsIDB4MDQsIDB4NzksIDB4ODAsCi0JMHgwMCwgMHg0OSwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweGZmLCAweDAwLCAweGUyLCAweDhiLCAweDBjLCAweGY5LCAweDA4LCAweDQ0LAotCTB4Y2QsIDB4MTAsIDB4MDQsIDB4MTksIDB4Y2YsIDB4MTAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHgyYiwgMHgwOCwgMHg0NCwgMHg4YywgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDhlLCAweDAwLCAweDA0LCAweDE5LCAweDAzLCAweDMwLCAweDYxLCAweDBhLAotCTB4YzgsIDB4MjAsIDB4MDAsIDB4MzksIDB4Y2EsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHg0OCwgMHgwNCwgMHgwMCwgMHgzOSwgMHg0YSwgMHgwNCwgMHgwMCwgMHgzOSwKLQkweDBjLCAweGQ5LCAweDA4LCAweDQ0LCAweDBjLCAweDVhLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4NzksIDB4MDgsIDB4NDQsIDB4MDAsIDB4MDQsIDB4NzksIDB4ODAsCi0JMHgwMCwgMHg0OSwgMHgwMCwgMHhjNCwgMHhjMywgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweGQ5LCAweDA4LCAweDQ0LCAweDQyLCAweDBhLCAweDA5LCAweDBlLAotCTB4MDUsIDB4YjAsIDB4ZTAsIDB4MTgsIDB4MDAsIDB4MTgsIDB4MDAsIDB4ODQsCi0JMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDQ5LCAweDAwLCAweGM0LCAweDBjLCAweDFiLCAweDA4LCAweDQ0LAotCTB4ODAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsCi0JMHg0MiwgMHgwYSwgMHgwOSwgMHgwZSwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMwLCAweDA0LCAweGIxLCAweDgyLCAweDEwLCAweDAwLCAweGUwLCAweDBiLAotCTB4MDAsIDB4ODgsIDB4MDAsIDB4ODQsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwMSwgMHgzMCwgMHhjOCwgMHgwYSwgMHgwMCwgMHg4OCwgMHgwMCwgMHg4NCwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGMyLCAweDMwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4MTEsIDB4MDAsIDB4MGYsIDB4ZTIsIDB4OGIsCi0JMHgwMCwgMHgwMCwgMHg0MSwgMHhjYiwgMHg4YywgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDQ4LCAweGNiLCAweDIwLCAweDAwLCAweDdhLCAweDgwLAotCTB4ODAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4ODIsIDB4MGMsIDB4MDksIDB4NmUsCi0JMHgwMywgMHgwOCwgMHgwOSwgMHgwZSwgMHg4MCwgMHg0MCwgMHgwOSwgMHhjZiwKLQkweDAwLCAweDAxLCAweDcxLCAweGMyLCAweDAwLCAweDA4LCAweGMyLCAweDFiLAotCTB4MDQsIDB4YjgsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDUsIDB4YTgsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHhjMiwgMHgxYiwKLQkweDA0LCAweDQ4LCAweDAwLCAweGM0LCAweDIwLCAweDA1LCAweGE4LCAweDgwLAotCTB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDAsIDB4MDIsIDB4YzIsIDB4MWIsCi0JMHgwNCwgMHg2OCwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwNSwgMHhhOCwgMHg4MCwKLQkweDIwLCAweDAxLCAweGYwLCAweDgwLCAweDIwLCAweDAzLCAweGE4LCAweDgwLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4MTEsIDB4MDAsIDB4MDQsIDB4YzIsIDB4OGIsCi0JMHgwOCwgMHg3OCwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwMCwgMHhlOSwgMHg4MCwKLQkweDA1LCAweGIwLCAweGE4LCAweDE4LCAweDAwLCAweDAwLCAweDRhLCAweGNiLAotCTB4MjAsIDB4MDAsIDB4YTgsIDB4MjIsIDB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHhjNCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweGIwLCAweDAwLCAweGUyLCAweDhiLCAweDA2LCAweDIwLCAweGE4LCAweDBhLAotCTB4MmQsIDB4MTAsIDB4NjEsIDB4MGEsIDB4ZDEsIDB4MDgsIDB4MDksIDB4MmUsCi0JMHgwMCwgMHgwMSwgMHhhOCwgMHgwMiwgMHgwYywgMHhmOSwgMHgwOCwgMHg0NCwKLQkweGNkLCAweDEwLCAweDA0LCAweDE5LCAweDBjLCAweDJiLCAweDA4LCAweDQ0LAotCTB4MDMsIDB4MDgsIDB4MDksIDB4MGUsIDB4OWEsIDB4MjUsIDB4YjEsIDB4NjAsCi0JMHhhMiwgMHgwZSwgMHgwOSwgMHg2ZSwgMHgwMywgMHgwMCwgMHgwOSwgMHgwZiwKLQkweDAwLCAweDAxLCAweDcxLCAweDgyLCAweDIwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NjEsIDB4Y2IsIDB4ODAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMywgMHgwMCwgMHgwOSwgMHgwZiwgMHgwMCwgMHgwMSwgMHg3MSwgMHhjMiwKLQkweDAwLCAweDA4LCAweGMyLCAweDFiLCAweDBjLCAweDJhLCAweDAwLCAweGM0LAotCTB4MjAsIDB4MDUsIDB4YTgsIDB4ODAsIDB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHgwMCwgMHgwMSwgMHhjMiwgMHgxYiwgMHgwYywgMHgxYSwgMHgwMCwgMHhjNCwKLQkweDIwLCAweDA1LCAweGE4LCAweDgwLCAweDIwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MDAsIDB4MDIsIDB4YzIsIDB4MWIsIDB4MGMsIDB4M2EsIDB4MDAsIDB4YzQsCi0JMHgyMCwgMHgwNSwgMHhhOCwgMHg4MCwgMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDIwLCAweDAzLCAweGE4LCAweDgwLCAweDAwLCAweDAxLCAweDAwLCAweDExLAotCTB4MDAsIDB4MDQsIDB4YzIsIDB4OGIsIDB4MDQsIDB4YWEsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHhlOSwgMHg4MCwgMHgwNSwgMHhiMCwgMHhhOCwgMHgxOCwKLQkweDAwLCAweDAwLCAweDRhLCAweGNiLCAweDIwLCAweDAwLCAweGE4LCAweDIyLAotCTB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsIDB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHhjNywgMHgwMCwgMHgwNCwgMHgxOSwgMHhiMCwgMHgwMCwgMHhlMiwgMHg4YiwKLQkweDA2LCAweDIwLCAweGE4LCAweDBhLCAweDJmLCAweDEwLCAweDYxLCAweDBhLAotCTB4ZjEsIDB4MDgsIDB4MDksIDB4MmUsIDB4MDAsIDB4MDEsIDB4YTgsIDB4MDIsCi0JMHgwYywgMHhmOSwgMHgwOCwgMHg0NCwgMHhjZiwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweDJiLCAweDA4LCAweDQ0LCAweDlmLCAweDM1LCAweGIxLCAweDYwLAotCTB4MDMsIDB4MDgsIDB4MDksIDB4MGUsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsCi0JMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMCwgMHg2MSwgMHhjYiwKLQkweDgwLCAweDAxLCAweDAwLCAweDgwLCAweGU0LCAweDIwLCAweDcxLCAweDhiLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsIDB4OTAsIDB4NDAsIDB4MDksIDB4OGYsCi0JMHgwMCwgMHgwNSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweDA4LCAweDE5LCAweDA0LCAweGQ0LCAweDkzLCAweDAwLCAweDAxLCAweDRmLAotCTB4ZTcsIDB4MDAsIDB4MDEsIDB4NmYsIDB4MGQsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgyMCwgMHgwNCwgMHg2MSwgMHhhOCwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDAyLCAweDA0LCAweDYxLCAweGE4LCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4Y2QsIDB4MzAsIDB4MDAsIDB4MDksIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDIsCi0JMHgwMiwgMHgwMCwgMHgwMCwgMHgwMiwgMHhjMCwgMHg4MCwgMHgwMCwgMHgwOSwKLQkweDIwLCAweDAwLCAweDA5LCAweDQ5LCAweDBmLCAweDMwLCAweDYxLCAweDBhLAotCTB4MGQsIDB4MzAsIDB4YzgsIDB4MGEsIDB4MDAsIDB4MjksIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg4MCwgMHhjOCwgMHgwYSwgMHgwMCwgMHgyOSwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDA0LCAweGIxLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4YzksIDB4MjAsIDB4MDQsIDB4MzksIDB4MDAsIDB4MzksIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweDAwLCAweDA0LCAweGIxLCAweDgwLCAweGM5LCAweDIwLCAweDA0LCAweDM5LAotCTB4MDAsIDB4MzksIDB4MDAsIDB4NDQsIDB4MDksIDB4MjAsIDB4MjMsIDB4MGEsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwgMHhjOSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDAyLCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4YjksIDB4MDQsIDB4MTQsIDB4MDQsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwNiwgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHhhOSwgMHgwNCwgMHg1NCwKLQkweGM2LCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweGE5LCAweDAwLCAweDQ0LAotCTB4MDUsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4YTksIDB4MDQsIDB4NTQsCi0JMHhjNSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwNywgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDBjLCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweGI5LCAweDA0LCAweDU0LAotCTB4Y2MsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4YjksIDB4MDAsIDB4NDQsCi0JMHgwZSwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHhiOSwgMHgwNCwgMHg1NCwKLQkweGNlLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweDVhLCAweDAwLCAweDQ0LAotCTB4ODIsIDB4MGQsIDB4MDksIDB4MmUsIDB4ODAsIDB4NDAsIDB4MDksIDB4Y2YsCi0JMHgwMCwgMHhkZiwgMHg3MSwgMHg4YiwgMHg4MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAyLCAweGMxLCAweDAwLCAweDIyLCAweDAzLCAweGMxLCAweDAwLCAweDIyLAotCTB4MDAsIDB4MDEsIDB4NjUsIDB4ODAsIDB4ZDIsIDB4MDUsIDB4NjUsIDB4ODIsCi0JMHg0MCwgMHgyMSwgMHgwMCwgMHg4MCwgMHhkMywgMHgwMywgMHgwMCwgMHg4MiwKLQkweDQwLCAweDMzLCAweDAwLCAweDgwLCAweDBjLCAweDVhLCAweDAwLCAweDQ0LAotCTB4MGYsIDB4MzAsIDB4NjEsIDB4MGEsIDB4MGQsIDB4MzAsIDB4YzgsIDB4MGEsCi0JMHgwOCwgMHhkOSwgMHgwMCwgMHhjNCwgMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwKLQkweGU3LCAweDAwLCAweDAxLCAweDZmLCAweDBmLCAweDMwLCAweDYxLCAweDBhLAotCTB4MjAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDIsIDB4MDAsIDB4NjEsIDB4MDIsCi0JMHgwMiwgMHgwMCwgMHgwMCwgMHgwMywgMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweDIwLCAweDAwLCAweDA5LCAweDQ5LCAweDAwLCAweDA0LCAweDYzLCAweDgwLAotCTB4MDQsIDB4ZDksIDB4MDAsIDB4NDQsIDB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDA1LCAweGIwLCAweGE4LCAweDE4LCAweGMyLCAweDMwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsIDB4MGUsIDB4MTAsIDB4YzgsIDB4MGEsCi0JMHgwYywgMHgwYiwgMHgwNCwgMHgxNCwgMHgwZSwgMHgxMCwgMHg2MSwgMHgwYSwKLQkweDA0LCAweDJiLCAweDAwLCAweDQ0LCAweDBjLCAweDEwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4MmIsIDB4MDQsIDB4NTQsIDB4MGMsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHgwMCwgMHgxMCwgMHhhOCwgMHgxOCwKLQkweGEwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAxLCAweDcxLCAweDgyLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsIDB4MDAsIDB4MDQsIDB4MzMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg4MywgMHg4MCwgMHgyMCwgMHgwNCwgMHg3YSwgMHg4MCwKLQkweDIwLCAweDAxLCAweDMzLCAweDgwLCAweDAwLCAweDAwLCAweDgzLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4MjAsIDB4MDMsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHgxNiwgMHhjZSwgMHgxMSwgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgaW1hX2FkcGNtX2NhcHR1cmVbXSA9IHsKLQkweDAwLCAweDEwLCAweDAwLCAweDQ0LCAweDA4LCAweDAwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4NzAsIDB4MDAsIDB4NDQsIDB4MDgsIDB4ZDAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHhmMCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHg2MSwgMHhhOCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHhmZiwgMHgyZSwgMHgyMSwgMHg0OSwgMHhmZiwgMHgwYywgMHhkNCwgMHg0OSwKLQkweDQwLCAweDQ5LCAweDM5LCAweGFjLCAweDU1LCAweDU1LCAweDcxLCAweDhiLAotCTB4NTAsIDB4MDEsIDB4YjEsIDB4ODAsIDB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwgMHhjMCwgMHhhMCwgMHgwNCwgMHgxOSwKLQkweGMyLCAweGEwLCAweDA0LCAweDE5LCAweDg5LCAweDAwLCAweDcxLCAweDhiLAotCTB4YzgsIDB4MzAsIDB4MDQsIDB4MTksIDB4NzEsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjZCwgMHgwMCwgMHgwNCwgMHgxOSwgMHhjZiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDgwLCAweDAwLCAweDcxLCAweDhiLCAweGNiLCAweDIwLCAweDA0LCAweDE5LAotCTB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzQsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHg0NywgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweDYzLCAweDgwLCAweGMxLCAweGEwLCAweDA0LCAweDE5LAotCTB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsIDB4Y2QsIDB4MzAsIDB4MDAsIDB4MDksCi0JMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwgMHgwYywgMHg0MCwgMHgwMCwgMHgxNCwKLQkweDAwLCAweDYwLCAweDAwLCAweDE0LCAweDAwLCAweDA0LCAweDYxLCAweGE4LAotCTB4MDIsIDB4MDQsIDB4NjEsIDB4YTgsIDB4MGMsIDB4NjAsIDB4MDQsIDB4MjQsCi0JMHgwMCwgMHgwMCwgMHgzNCwgMHg0OSwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDM5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDgsIDB4MzAsIDB4NjEsIDB4MGEsIDB4MDUsIDB4YjAsIDB4ZTgsIDB4MTgsCi0JMHgwYywgMHhjMCwgMHgwNCwgMHg1NCwgMHhjOCwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDA5LCAweDA0LCAweDAwLCAweGE4LCAweDBiLCAweDA0LCAweDAwLCAweGE4LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDksIDB4MDQsIDB4NjEsIDB4YTgsCi0JMHhjMSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYiwgMHgwNCwgMHg2MSwgMHhhOCwKLQkweGNhLCAweDAwLCAweDA0LCAweDE5LCAweDBkLCAweDAwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsIDB4MGYsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHg0MCwgMHgwOSwgMHg4ZiwgMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwKLQkweDQwLCAweDQwLCAweDA5LCAweGVmLCAweGZmLCAweDIwLCAweDA5LCAweGNmLAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4YTEsIDB4NTAsIDB4MDMsIDB4MzMsIDB4ODAsCi0JMHgwMCwgMHgwNCwgMHhhMywgMHg4MCwgMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwKLQkweDBjLCAweDEyLCAweDA0LCAweDU0LCAweDA4LCAweDEyLCAweDAwLCAweGM0LAotCTB4MjAsIDB4MDMsIDB4ODAsIDB4YzAsIDB4MzAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHgwYSwgMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweGMwLCAweDAwLCAweDAwLCAweDk5LAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwZCwgMHg0MiwgMHg4YiwKLQkweDA0LCAweDQyLCAweDAwLCAweGM0LCAweDAwLCAweDBlLCAweDQyLCAweDhiLAotCTB4MDgsIDB4NTIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MWUsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHhlMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHg4ZSwgMHg0MiwgMHg4YiwKLQkweDA4LCAweGQyLCAweDAwLCAweGM0LCAweDAwLCAweDllLCAweDQyLCAweDhiLAotCTB4MDQsIDB4ZjIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4YmUsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHhmMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwNCwgMHg0MiwgMHg4YiwKLQkweDA0LCAweDExLCAweDAwLCAweGM0LCAweDAwLCAweDI0LCAweDQyLCAweDhiLAotCTB4MGMsIDB4NjEsIDB4MDAsIDB4YzQsIDB4MDAsIDB4NTUsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHhjNCwgMHgwMCwgMHgzZiwgMHg0MiwgMHg4YiwKLQkweDBjLCAweDAxLCAweDAwLCAweGM0LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MjAsIDB4MDEsIDB4NzksIDB4ODAsIDB4MDAsIDB4MzAsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHg2MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDAwLCAweDcxLCAweDhiLCAweDQwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsCi0JMHgwOCwgMHhjMiwgMHgwMCwgMHhjNCwgMHgwZiwgMHhmMiwgMHhhOCwgMHhhOCwKLQkweDIwLCAweDAwLCAweGIxLCAweDg4LCAweDAwLCAweDAwLCAweDQxLCAweDAyLAotCTB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksIDB4YzAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHhhMywgMHhhOCwKLQkweDRkLCAweGYyLCAweDAwLCAweDM5LCAweDA0LCAweDUwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHgwMiwgMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweGZmLCAweDAwLCAweGUyLCAweGFiLAotCTB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NjEsIDB4MTAsCi0JMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwgMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDIwLCAweGUyLCAweGFiLCAweDYwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4YzAsIDB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYSwKLQkweDIwLCAweDAxLCAweGYwLCAweDgwLCAweDAxLCAweGEwLCAweDQxLCAweDBhLAotCTB4MDAsIDB4MTEsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHhjMSwgMHgzMCwgMHgwNCwgMHgxOSwgMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDc5LCAweDgwLCAweDBjLCAweDQxLCAweDAwLCAweDg0LAotCTB4ODksIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzgsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHg5NywgMHgwMCwgMHg3MSwgMHg4YiwgMHhjZCwgMHgwMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAxLCAweGIxLCAweDgwLCAweDgwLCAweDAwLCAweDA0LCAweDE5LAotCTB4ODIsIDB4MDAsIDB4MDQsIDB4MTksIDB4YzEsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjMywgMHgyMCwgMHgwNCwgMHgxOSwgMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweGNkLCAweDEwLCAweDA0LCAweDE5LCAweGNmLCAweDEwLCAweDA0LCAweDE5LAotCTB4YjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODQsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4NiwgMHgwMCwgMHgwNCwgMHgxOSwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGNiLCAweDIwLCAweDA0LCAweDE5LCAweDkzLCAweDAwLCAweDAxLCAweDRmLAotCTB4Y2QsIDB4MzAsIDB4MDAsIDB4MDksIDB4Y2YsIDB4MzAsIDB4MDAsIDB4MDksCi0JMHgwMywgMHgwMiwgMHgwNCwgMHg0OSwgMHgwOCwgMHg0MSwgMHgwMCwgMHgxNCwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweDAwLCAweDAwLCAweDYzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MTksIDB4MDMsIDB4MDAsIDB4MDQsIDB4NDksCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgyMCwgMHgwMSwgMHg2MywgMHg4MCwKLQkweDAwLCAweDAwLCAweDA2LCAweDE5LCAweDAwLCAweDIwLCAweGUyLCAweDhiLAotCTB4MDAsIDB4YzEsIDB4MDAsIDB4ODQsIDB4NDcsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwKLQkweGMxLCAweGEwLCAweDA0LCAweDE5LCAweDAwLCAweGUxLCAweDAwLCAweDQ0LAotCTB4YmQsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzAsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwgMHhjMSwgMHhhMCwgMHgwNCwgMHgxOSwKLQkweDAzLCAweDAwLCAweDA0LCAweDQ5LCAweDA0LCAweDUwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MjAsIDB4NjEsIDB4MGEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsCi0JMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwgMHgwYywgMHg4MywgMHgwMCwgMHhjNCwKLQkweDBjLCAweDc4LCAweDA4LCAweDQ0LCAweDA0LCAweDVhLCAweDA4LCAweDQ0LAotCTB4YjIsIDB4MDAsIDB4MDksIDB4NGYsIDB4MTAsIDB4NDIsIDB4MDksIDB4OGUsCi0JMHgwNSwgMHhiMCwgMHhlMCwgMHgxOCwgMHgwNCwgMHgyMywgMHgwMCwgMHg4NCwKLQkweDBjLCAweDAxLCAweDAwLCAweDExLCAweDA4LCAweDA1LCAweDYxLCAweDEwLAotCTB4MDAsIDB4NDksIDB4MDgsIDB4NDQsIDB4MDAsIDB4NDgsIDB4MDgsIDB4NDQsCi0JMHhiMiwgMHgwMCwgMHgwOSwgMHg0ZiwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMwLCAweDAwLCAweDAwLCAweDgyLCAweDBjLCAweDAxLCAweDMzLCAweDEwLAotCTB4MjgsIDB4MDEsIDB4YTMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4N2EsIDB4ODAsCi0JMHg4YywgMHgwMSwgMHgwMCwgMHg4MCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDIwLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweDgzLCAweDAwLCAweGM0LAotCTB4MDUsIDB4YjAsIDB4YzgsIDB4MTgsIDB4MDgsIDB4NDMsIDB4MDAsIDB4YzQsCi0JMHgwMSwgMHgzMCwgMHhjOCwgMHgwYSwgMHgwYywgMHgzOCwgMHgwMCwgMHhjNCwKLQkweDA4LCAweDg4LCAweDAwLCAweDQ0LCAweDBjLCAweDc4LCAweDA4LCAweDQ0LAotCTB4MDQsIDB4NWEsIDB4MDgsIDB4NDQsIDB4MDAsIDB4MDAsIDB4YTMsIDB4MTgsCi0JMHg4MCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYiwgMHgwNCwgMHg2MSwgMHhhOCwKLQkweGMzLCAweDIwLCAweDAwLCAweDM5LCAweGMzLCAweDMwLCAweDA0LCAweDE5LAotCTB4MGYsIDB4MTAsIDB4NjEsIDB4MGEsIDB4Y2EsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwOSwgMHgwNCwgMHg0MSwgMHhhOCwgMHhlMSwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweGQxLCAweDAwLCAweDA5LCAweDRmLCAweDAwLCAweDA0LCAweDYxLCAweDAyLAotCTB4MDgsIDB4NjMsIDB4MDAsIDB4NDQsIDB4MDMsIDB4MzAsIDB4NDEsIDB4MGEsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHhhMywgMHgwMCwgMHgwOSwgMHg0ZiwKLQkweDAwLCAweDA0LCAweDYxLCAweDAyLCAweDAwLCAweDQ4LCAweDA4LCAweDQ0LAotCTB4MDgsIDB4ODgsIDB4MDAsIDB4NDQsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHhjNCwgMHgwYywgMHg3OCwgMHgwOCwgMHg0NCwKLQkweDA0LCAweDVhLCAweDA4LCAweDQ0LCAweGIyLCAweDAwLCAweDA5LCAweDBmLAotCTB4MTAsIDB4NDAsIDB4MDksIDB4OGUsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NWIsCi0JMHgyMCwgMHgwNCwgMHhiMSwgMHg4MCwgMHgwMiwgMHgwMCwgMHg2MSwgMHg1YiwKLQkweDg4LCAweDAzLCAweDdhLCAweDgwLCAweGFjLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDUsIDB4YjAsIDB4ZTAsIDB4MTgsIDB4MDAsIDB4ZDMsIDB4MDAsIDB4ODQsCi0JMHgwMCwgMHg0OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHg0OCwgMHgwOCwgMHg0NCwKLQkweGIyLCAweDAwLCAweDA5LCAweDBmLCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHhjNCwgMHgwNSwgMHhiMCwgMHhjOCwgMHgxOCwKLQkweDBjLCAweDE4LCAweDAwLCAweGM0LCAweDAxLCAweDMwLCAweGM4LCAweDBhLAotCTB4MGMsIDB4MzgsIDB4MDAsIDB4YzQsIDB4MDgsIDB4ODgsIDB4MDAsIDB4NDQsCi0JMHgwYywgMHg3OCwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwMCwgMHg2MSwgMHgxOCwKLQkweDIwLCAweDA1LCAweGIxLCAweDgwLCAweDAwLCAweDAwLCAweDY4LCAweGNiLAotCTB4ODAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGQsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHhjMywgMHgzMCwgMHgwNCwgMHgxOSwgMHgwYiwgMHgwNCwgMHg0MSwgMHhhOCwKLQkweDA5LCAweDA0LCAweDQxLCAweGE4LCAweGUxLCAweDIwLCAweDAwLCAweDM5LAotCTB4MDgsIDB4MzgsIDB4MDAsIDB4NDQsIDB4MDMsIDB4MzAsIDB4NDEsIDB4MGEsCi0JMHgyMCwgMHgwNCwgMHhiMSwgMHg4MCwgMHgwMCwgMHg0OCwgMHgwOCwgMHg0NCwKLQkweDA4LCAweDg4LCAweDAwLCAweDQ0LCAweDAwLCAweDAwLCAweGIxLCAweDgwLAotCTB4YzIsIDB4MzAsIDB4MDQsIDB4MTksIDB4MGMsIDB4YjgsIDB4MDAsIDB4ZDQsCi0JMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwgMHgwZCwgMHgzMCwgMHhjOCwgMHgwYSwKLQkweDBjLCAweGI4LCAweDAwLCAweGM0LCAweDkzLCAweDAwLCAweDAxLCAweDRmLAotCTB4ZTcsIDB4MDAsIDB4MDEsIDB4NmYsIDB4MGYsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMiwgMHgwMCwgMHg2MSwgMHgwMiwKLQkweDQxLCAweDA0LCAweDA0LCAweDE5LCAweDAyLCAweDA0LCAweDYxLCAweDAyLAotCTB4NDMsIDB4MDQsIDB4MDQsIDB4MzksIDB4Y2YsIDB4MzAsIDB4MDAsIDB4MDksCi0JMHgyMCwgMHgwMCwgMHgwOSwgMHg0OSwgMHgwMCwgMHg1OSwgMHgwMCwgMHg0NCwKLQkweDkzLCAweDAwLCAweDAxLCAweDRmLCAweGU3LCAweDAwLCAweDAxLCAweDZmLAotCTB4MGQsIDB4MzAsIDB4NjEsIDB4MGEsIDB4MjAsIDB4MDAsIDB4NjEsIDB4ODgsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMywgMHgwMCwgMHg4MiwKLQkweGNkLCAweDMwLCAweDAwLCAweDA5LCAweDIwLCAweDAwLCAweDA5LCAweDQ5LAotCTB4MGYsIDB4MzAsIDB4NjEsIDB4MGEsIDB4MGQsIDB4MzAsIDB4YzgsIDB4MGEsCi0JMHgwYywgMHg1OCwgMHgwMCwgMHg4NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDA1LCAweGIwLCAweGE4LCAweDE4LCAweGMyLCAweDMwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsIDB4OTAsIDB4NDAsIDB4MDksIDB4OGYsCi0JMHgxMiwgMHgwNCwgMHgwOSwgMHg2ZSwgMHgwMywgMHgwMCwgMHgwOSwgMHgwZSwKLQkweDAwLCAweDAxLCAweDcxLCAweDgyLCAweDIwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NjEsIDB4Y2IsIDB4ODAsIDB4MDQsIDB4YjEsIDB4ODAsCi0JMHgwMCwgMHgwMSwgMHhlMCwgMHg2MCwgMHgwYywgMHhkOCwgMHgwNCwgMHgxNCwKLQkweDAwLCAweDAxLCAweGViLCAweDgwLCAweDQwLCAweDAwLCAweDUyLCAweDFiLAotCTB4ODAsIDB4MDAsIDB4NzksIDB4ODAsIDB4YzAsIDB4MDEsIDB4NzEsIDB4YzIsCi0JMHgyMCwgMHgwMCwgMHhjMCwgMHg4MCwgMHgwOCwgMHgwYSwgMHgwNCwgMHg1NCwKLQkweGMwLCAweDA0LCAweGE4LCAweDgyLCAweDgwLCAweDAwLCAweDcyLCAweDFiLAotCTB4ODAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHhjMCwgMHg4MCwgMHgwYywgMHgyYSwgMHgwNCwgMHg1NCwKLQkweGMwLCAweDA0LCAweGE4LCAweDgyLCAweDEwLCAweDAwLCAweDcyLCAweDFiLAotCTB4ODAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHhjMCwgMHg4MCwgMHgwOCwgMHgzYSwgMHgwNCwgMHg1NCwKLQkweGMwLCAweDA0LCAweGE4LCAweDgyLCAweDIwLCAweDAwLCAweDcyLCAweDFiLAotCTB4ODAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4YzAsIDB4MDMsIDB4ZjAsIDB4ODIsCi0JMHgyMCwgMHgwMCwgMHhhMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgxMSwKLQkweDQwLCAweDAwLCAweGMyLCAweDhiLCAweDAwLCAweGFhLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4ZTksIDB4ODAsIDB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsCi0JMHgwMCwgMHgwMSwgMHhhOCwgMHgyMiwgMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGYwLCAweDAwLCAweGUyLCAweDFiLCAweDA2LCAweDIwLCAweGE4LCAweDBhLAotCTB4MmQsIDB4MTAsIDB4NjEsIDB4MGEsIDB4ZDEsIDB4MDAsIDB4MDksIDB4MmUsCi0JMHgwMCwgMHgwMSwgMHhhOCwgMHgwMiwgMHgwZSwgMHgxMCwgMHhjOCwgMHgwYSwKLQkweDBjLCAweGJhLCAweDA0LCAweDE0LCAweDBlLCAweDEwLCAweDYxLCAweDBhLAotCTB4MDQsIDB4NGEsIDB4MDAsIDB4NDQsIDB4MGMsIDB4MTAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHg0YSwgMHgwNCwgMHg1NCwgMHgwYywgMHgxMCwgMHg2MSwgMHgwYSwKLQkweGQwLCAweDAxLCAweDAwLCAweDgyLCAweDAwLCAweDEwLCAweGE4LCAweDE4LAotCTB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsCi0JMHgwMywgMHgwMCwgMHgwOSwgMHgwZSwgMHg5YSwgMHgwMSwgMHgwMCwgMHg2MCwKLQkweDMyLCAweDAwLCAweDA5LCAweDJlLCAweDAwLCAweDAwLCAweDAwLCAweDQ2LAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsIDB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHhjYiwgMHg4MCwgMHgyNCwgMHhiMSwgMHhjMCwKLQkweDAwLCAweDMxLCAweGUwLCAweDYwLCAweDBjLCAweGNhLCAweDA0LCAweDE0LAotCTB4MDAsIDB4MDEsIDB4ZWIsIDB4ODAsIDB4NDAsIDB4MDAsIDB4NTIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHg3OSwgMHg4MCwgMHhjMCwgMHgwMSwgMHg3MSwgMHhjMiwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDA4LCAweGRhLCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4ODAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDBjLCAweGZhLCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4MTAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDA4LCAweDI5LCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4MjAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhjMCwgMHgwMywgMHhmMCwgMHg4MiwKLQkweDIwLCAweDAwLCAweGEwLCAweDgwLCAweDAwLCAweDAxLCAweDAwLCAweDExLAotCTB4NDAsIDB4MDAsIDB4YzIsIDB4OGIsIDB4MDAsIDB4MzksIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHhlOSwgMHg4MCwgMHgwNSwgMHhiMCwgMHhhOCwgMHgxOCwKLQkweDAwLCAweDAxLCAweGE4LCAweDIyLCAweGQwLCAweDAxLCAweDAwLCAweDgyLAotCTB4YjAsIDB4MDAsIDB4ZTIsIDB4MWIsIDB4MDYsIDB4MjAsIDB4YTgsIDB4MGEsCi0JMHgyZiwgMHgxMCwgMHg2MSwgMHgwYSwgMHhmMSwgMHgwMCwgMHgwOSwgMHgyZSwKLQkweDAwLCAweDAxLCAweGE4LCAweDAyLCAweDBlLCAweDEwLCAweGM4LCAweDBhLAotCTB4MGMsIDB4YTksIDB4MDQsIDB4MTQsIDB4MGUsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHgwNCwgMHg5OSwgMHgwMCwgMHg0NCwgMHgwYywgMHgxMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweDk5LCAweDA0LCAweDU0LCAweDBjLCAweDEwLCAweDYxLCAweDBhLAotCTB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsIDB4MDAsIDB4MTAsIDB4YTgsIDB4MTgsCi0JMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwKLQkweDlmLCAweDAxLCAweDAwLCAweDYwLCAweDAwLCAweDAwLCAweDAwLCAweDQ2LAotCTB4MDAsIDB4MDAsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHgyMCwgMHgwNywgMHgzMywgMHg4MCwKLQkweDAwLCAweDAwLCAweDgzLCAweDgwLCAweDIwLCAweDA0LCAweDdhLCAweDgwLAotCTB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsCi0JMHgwMiwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwNCwgMHgxYiwgMHgwNCwgMHgxNCwKLQkweDAxLCAweDAwLCAweDYxLCAweDBhLCAweDAzLCAweDAwLCAweDQ4LCAweDBhLAotCTB4MGMsIDB4NzksIDB4MDQsIDB4NTQsIDB4YzMsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHhjOSwgMHgwMCwgMHg0NCwgMHgwOCwgMHgwMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweGM5LCAweDA0LCAweDU0LCAweGM4LCAweDAwLCAweDA0LCAweDE5LAotCTB4MGEsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDksIDB4MDAsIDB4NDgsIDB4MGEsCi0JMHgwYywgMHhlOSwgMHgwNCwgMHg1NCwgMHhjOSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweGQ5LCAweDAwLCAweDQ0LCAweDBiLCAweDAwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4ZDksIDB4MDQsIDB4NTQsIDB4Y2IsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwNiwgMHgwMCwgMHg0OCwgMHgwYSwKLQkweDBjLCAweGY5LCAweDA0LCAweDU0LCAweGM2LCAweDAwLCAweDA0LCAweDE5LAotCTB4MDQsIDB4MGIsIDB4MDAsIDB4NDQsIDB4MDUsIDB4MDAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHgwYiwgMHgwNCwgMHg1NCwgMHhjNSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA3LCAweDAwLCAweDYxLCAweDBhLCAweDBjLCAweDAwLCAweDQ4LCAweDBhLAotCTB4MGMsIDB4MmIsIDB4MDQsIDB4NTQsIDB4Y2MsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHgxYiwgMHgwMCwgMHg0NCwgMHgwZSwgMHgwMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweDFiLCAweDA0LCAweDU0LCAweGNlLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4OTIsIDB4MjAsIDB4NzEsIDB4OGIsCi0JMHhhNiwgMHhjNSwgMHgxMSwgMHgwMAotfTsKZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS93YXZlZnJvbnQvd2F2ZWZyb250X3N5bnRoLmMgYi9zb3VuZC9pc2Evd2F2ZWZyb250L3dhdmVmcm9udF9zeW50aC5jCmluZGV4IDk1ZWVjYTEuLjBiYjliOTIgMTAwNjQ0Ci0tLSBhL3NvdW5kL2lzYS93YXZlZnJvbnQvd2F2ZWZyb250X3N5bnRoLmMKKysrIGIvc291bmQvaXNhL3dhdmVmcm9udC93YXZlZnJvbnRfc3ludGguYwpAQCAtMTkzOSw3ICsxOTM5LDcgQEAKIHdhdmVmcm9udF9kb3dubG9hZF9maXJtd2FyZSAoc25kX3dhdmVmcm9udF90ICpkZXYsIGNoYXIgKnBhdGgpCiAKIHsKLQl1bnNpZ25lZCBjaGFyICpidWY7CisJY29uc3QgdW5zaWduZWQgY2hhciAqYnVmOwogCWludCBsZW4sIGVycjsKIAlpbnQgc2VjdGlvbl9jbnRfZG93bmxvYWRlZCA9IDA7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZTsKZGlmZiAtLWdpdCBhL3NvdW5kL21pcHMvS2NvbmZpZyBiL3NvdW5kL21pcHMvS2NvbmZpZwppbmRleCA1MzFmOGJhLi5hOTgyM2ZhIDEwMDY0NAotLS0gYS9zb3VuZC9taXBzL0tjb25maWcKKysrIGIvc291bmQvbWlwcy9LY29uZmlnCkBAIC0xLDE1ICsxLDM0IEBACiAjIEFMU0EgTUlQUyBkcml2ZXJzCiAKLW1lbnUgIkFMU0EgTUlQUyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIE1JUFMKK21lbnVjb25maWcgU05EX01JUFMKKwlib29sICJNSVBTIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBNSVBTCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBvZiBNSVBTIGFyY2hpdGVjdHVyZXMuCisKK2lmIFNORF9NSVBTCisKK2NvbmZpZyBTTkRfU0dJX08yCisJdHJpc3RhdGUgIlNHSSBPMiBBdWRpbyIKKwlkZXBlbmRzIG9uIFNHSV9JUDMyCisgICAgICAgIGhlbHAKKyAgICAgICAgICAgICAgICBTb3VuZCBzdXBwb3J0IGZvciB0aGUgU0dJIE8yIFdvcmtzdGF0aW9uLiAKKworY29uZmlnIFNORF9TR0lfSEFMMgorICAgICAgICB0cmlzdGF0ZSAiU0dJIEhBTDIgQXVkaW8iCisgICAgICAgIGRlcGVuZHMgb24gU0dJX0hBU19IQUwyCisgICAgICAgIGhlbHAKKyAgICAgICAgICAgICAgICBTb3VuZCBzdXBwb3J0IGZvciB0aGUgU0dJIEluZHkgYW5kIEluZGlnbzIgV29ya3N0YXRpb24uCisKIAogY29uZmlnIFNORF9BVTFYMDAKIAl0cmlzdGF0ZSAiQXUxeDAwIEFDOTcgUG9ydCBEcml2ZXIiCi0JZGVwZW5kcyBvbiAoU09DX0FVMTAwMCB8fCBTT0NfQVUxMTAwIHx8IFNPQ19BVTE1MDApICYmIFNORAorCWRlcGVuZHMgb24gU09DX0FVMTAwMCB8fCBTT0NfQVUxMTAwIHx8IFNPQ19BVTE1MDAKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIEFMU0EgU291bmQgZHJpdmVyIGZvciB0aGUgQXUxeDAwJ3MgQUM5NyBwb3J0LgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9NSVBTCiAKZGlmZiAtLWdpdCBhL3NvdW5kL21pcHMvTWFrZWZpbGUgYi9zb3VuZC9taXBzL01ha2VmaWxlCmluZGV4IDQ3YWZlZDkuLjg2MWVjMGEgMTAwNjQ0Ci0tLSBhL3NvdW5kL21pcHMvTWFrZWZpbGUKKysrIGIvc291bmQvbWlwcy9NYWtlZmlsZQpAQCAtMyw2ICszLDEwIEBACiAjCiAKIHNuZC1hdTF4MDAtb2JqcyA6PSBhdTF4MDAubworc25kLXNnaS1vMi1vYmpzIDo9IHNnaW8yYXVkaW8ubyBhZDE4NDMubworc25kLXNnaS1oYWwyLW9ianMgOj0gaGFsMi5vCiAKICMgVG9wbGV2ZWwgTW9kdWxlIERlcGVuZGVuY3kKIG9iai0kKENPTkZJR19TTkRfQVUxWDAwKSArPSBzbmQtYXUxeDAwLm8KK29iai0kKENPTkZJR19TTkRfU0dJX08yKSArPSBzbmQtc2dpLW8yLm8KK29iai0kKENPTkZJR19TTkRfU0dJX0hBTDIpICs9IHNuZC1zZ2ktaGFsMi5vCmRpZmYgLS1naXQgYS9zb3VuZC9taXBzL2FkMTg0My5jIGIvc291bmQvbWlwcy9hZDE4NDMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjI0NTEwCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvbWlwcy9hZDE4NDMuYwpAQCAtMCwwICsxLDU2MSBAQAorLyoKKyAqICAgQUQxODQzIGxvdyBsZXZlbCBkcml2ZXIKKyAqCisgKiAgIENvcHlyaWdodCAyMDAzIFZpdmllbiBDaGFwcGVsaWVyIDx2aXZpZW4uY2hhcHBlbGllckBsaW51eC1taXBzLm9yZz4KKyAqICAgQ29weXJpZ2h0IDIwMDggVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRAYWxwaGEuZnJhbmtlbi5kZT4KKyAqCisgKiAgIGluc3BpcmVkIGZyb20gdndzbmQuYyAoU0dJIFZXIGF1ZGlvIGRyaXZlcikKKyAqICAgICBDb3B5cmlnaHQgMTk5OSBTaWxpY29uIEdyYXBoaWNzLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL2FkMTg0My5oPgorCisvKgorICogQUQxODQzIGJpdGZpZWxkIGRlZmluaXRpb25zLiAgQWxsIGFyZSBuYW1lZCBhcyBpbiB0aGUgQUQxODQzIGRhdGEKKyAqIHNoZWV0LCB3aXRoIGFkMTg0M18gcHJlcGVuZGVkIGFuZCBpbmRpdmlkdWFsIGJpdCBudW1iZXJzIHJlbW92ZWQuCisgKgorICogRS5nLiwgYml0cyBMU1MwIHRocm91Z2ggTFNTMiBiZWNvbWUgYWQxODQzX0xTUy4KKyAqCisgKiBPbmx5IHRoZSBiaXRmaWVsZHMgd2UgbmVlZCBhcmUgZGVmaW5lZC4KKyAqLworCitzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkIHsKKwljaGFyIHJlZzsKKwljaGFyIGxvX2JpdDsKKwljaGFyIG5iaXRzOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQKKwlhZDE4NDNfUEROTyAgID0geyAgMCwgMTQsICAxIH0sCS8qIENvbnZlcnRlciBQb3dlci1Eb3duIEZsYWcgKi8KKwlhZDE4NDNfSU5JVCAgID0geyAgMCwgMTUsICAxIH0sCS8qIENsb2NrIEluaXRpYWxpemF0aW9uIEZsYWcgKi8KKwlhZDE4NDNfUklHICAgID0geyAgMiwgIDAsICA0IH0sCS8qIFJpZ2h0IEFEQyBJbnB1dCBHYWluICovCisJYWQxODQzX1JNR0UgICA9IHsgIDIsICA0LCAgMSB9LAkvKiBSaWdodCBBREMgTWljIEdhaW4gRW5hYmxlICovCisJYWQxODQzX1JTUyAgICA9IHsgIDIsICA1LCAgMyB9LAkvKiBSaWdodCBBREMgU291cmNlIFNlbGVjdCAqLworCWFkMTg0M19MSUcgICAgPSB7ICAyLCAgOCwgIDQgfSwJLyogTGVmdCBBREMgSW5wdXQgR2FpbiAqLworCWFkMTg0M19MTUdFICAgPSB7ICAyLCAxMiwgIDEgfSwJLyogTGVmdCBBREMgTWljIEdhaW4gRW5hYmxlICovCisJYWQxODQzX0xTUyAgICA9IHsgIDIsIDEzLCAgMyB9LAkvKiBMZWZ0IEFEQyBTb3VyY2UgU2VsZWN0ICovCisJYWQxODQzX1JEMk0gICA9IHsgIDMsICAwLCAgNSB9LAkvKiBSaWdodCBEQUMgMiBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19SRDJNTSAgPSB7ICAzLCAgNywgIDEgfSwJLyogUmlnaHQgREFDIDIgTWl4IE11dGUgKi8KKwlhZDE4NDNfTEQyTSAgID0geyAgMywgIDgsICA1IH0sCS8qIExlZnQgREFDIDIgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfTEQyTU0gID0geyAgMywgMTUsICAxIH0sCS8qIExlZnQgREFDIDIgTWl4IE11dGUgKi8KKwlhZDE4NDNfUlgxTSAgID0geyAgNCwgIDAsICA1IH0sCS8qIFJpZ2h0IEF1eCAxIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX1JYMU1NICA9IHsgIDQsICA3LCAgMSB9LAkvKiBSaWdodCBBdXggMSBNaXggTXV0ZSAqLworCWFkMTg0M19MWDFNICAgPSB7ICA0LCAgOCwgIDUgfSwJLyogTGVmdCBBdXggMSBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19MWDFNTSAgPSB7ICA0LCAxNSwgIDEgfSwJLyogTGVmdCBBdXggMSBNaXggTXV0ZSAqLworCWFkMTg0M19SWDJNICAgPSB7ICA1LCAgMCwgIDUgfSwJLyogUmlnaHQgQXV4IDIgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfUlgyTU0gID0geyAgNSwgIDcsICAxIH0sCS8qIFJpZ2h0IEF1eCAyIE1peCBNdXRlICovCisJYWQxODQzX0xYMk0gICA9IHsgIDUsICA4LCAgNSB9LAkvKiBMZWZ0IEF1eCAyIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX0xYMk1NICA9IHsgIDUsIDE1LCAgMSB9LAkvKiBMZWZ0IEF1eCAyIE1peCBNdXRlICovCisJYWQxODQzX1JNQ00gICA9IHsgIDcsICAwLCAgNSB9LAkvKiBSaWdodCBNaWMgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfUk1DTU0gID0geyAgNywgIDcsICAxIH0sCS8qIFJpZ2h0IE1pYyBNaXggTXV0ZSAqLworCWFkMTg0M19MTUNNICAgPSB7ICA3LCAgOCwgIDUgfSwJLyogTGVmdCBNaWMgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfTE1DTU0gID0geyAgNywgMTUsICAxIH0sCS8qIExlZnQgTWljIE1peCBNdXRlICovCisJYWQxODQzX0hQT1MgICA9IHsgIDgsICA0LCAgMSB9LAkvKiBIZWFkcGhvbmUgT3V0cHV0IFZvbHRhZ2UgU3dpbmcgKi8KKwlhZDE4NDNfSFBPTSAgID0geyAgOCwgIDUsICAxIH0sCS8qIEhlYWRwaG9uZSBPdXRwdXQgTXV0ZSAqLworCWFkMTg0M19NUE9NICAgPSB7ICA4LCAgNiwgIDEgfSwJLyogTW9ubyBPdXRwdXQgTXV0ZSAqLworCWFkMTg0M19SREExRyAgPSB7ICA5LCAgMCwgIDYgfSwJLyogUmlnaHQgREFDMSBBbmFsb2cvRGlnaXRhbCBHYWluICovCisJYWQxODQzX1JEQTFHTSA9IHsgIDksICA3LCAgMSB9LAkvKiBSaWdodCBEQUMxIEFuYWxvZyBNdXRlICovCisJYWQxODQzX0xEQTFHICA9IHsgIDksICA4LCAgNiB9LAkvKiBMZWZ0IERBQzEgQW5hbG9nL0RpZ2l0YWwgR2FpbiAqLworCWFkMTg0M19MREExR00gPSB7ICA5LCAxNSwgIDEgfSwJLyogTGVmdCBEQUMxIEFuYWxvZyBNdXRlICovCisJYWQxODQzX1JEQTJHICA9IHsgMTAsICAwLCAgNiB9LAkvKiBSaWdodCBEQUMyIEFuYWxvZy9EaWdpdGFsIEdhaW4gKi8KKwlhZDE4NDNfUkRBMkdNID0geyAxMCwgIDcsICAxIH0sCS8qIFJpZ2h0IERBQzIgQW5hbG9nIE11dGUgKi8KKwlhZDE4NDNfTERBMkcgID0geyAxMCwgIDgsICA2IH0sCS8qIExlZnQgREFDMiBBbmFsb2cvRGlnaXRhbCBHYWluICovCisJYWQxODQzX0xEQTJHTSA9IHsgMTAsIDE1LCAgMSB9LAkvKiBMZWZ0IERBQzIgQW5hbG9nIE11dGUgKi8KKwlhZDE4NDNfUkRBMUFNID0geyAxMSwgIDcsICAxIH0sCS8qIFJpZ2h0IERBQzEgRGlnaXRhbCBNdXRlICovCisJYWQxODQzX0xEQTFBTSA9IHsgMTEsIDE1LCAgMSB9LAkvKiBMZWZ0IERBQzEgRGlnaXRhbCBNdXRlICovCisJYWQxODQzX1JEQTJBTSA9IHsgMTIsICA3LCAgMSB9LAkvKiBSaWdodCBEQUMyIERpZ2l0YWwgTXV0ZSAqLworCWFkMTg0M19MREEyQU0gPSB7IDEyLCAxNSwgIDEgfSwJLyogTGVmdCBEQUMyIERpZ2l0YWwgTXV0ZSAqLworCWFkMTg0M19BRExDICAgPSB7IDE1LCAgMCwgIDIgfSwJLyogQURDIExlZnQgU2FtcGxlIFJhdGUgU291cmNlICovCisJYWQxODQzX0FEUkMgICA9IHsgMTUsICAyLCAgMiB9LAkvKiBBREMgUmlnaHQgU2FtcGxlIFJhdGUgU291cmNlICovCisJYWQxODQzX0RBMUMgICA9IHsgMTUsICA4LCAgMiB9LAkvKiBEQUMxIFNhbXBsZSBSYXRlIFNvdXJjZSAqLworCWFkMTg0M19EQTJDICAgPSB7IDE1LCAxMCwgIDIgfSwJLyogREFDMiBTYW1wbGUgUmF0ZSBTb3VyY2UgKi8KKwlhZDE4NDNfQzFDICAgID0geyAxNywgIDAsIDE2IH0sCS8qIENsb2NrIDEgU2FtcGxlIFJhdGUgU2VsZWN0ICovCisJYWQxODQzX0MyQyAgICA9IHsgMjAsICAwLCAxNiB9LAkvKiBDbG9jayAyIFNhbXBsZSBSYXRlIFNlbGVjdCAqLworCWFkMTg0M19DM0MgICAgPSB7IDIzLCAgMCwgMTYgfSwJLyogQ2xvY2sgMyBTYW1wbGUgUmF0ZSBTZWxlY3QgKi8KKwlhZDE4NDNfREFBREwgID0geyAyNSwgIDQsICAyIH0sCS8qIERpZ2l0YWwgQURDIExlZnQgU291cmNlIFNlbGVjdCAqLworCWFkMTg0M19EQUFEUiAgPSB7IDI1LCAgNiwgIDIgfSwJLyogRGlnaXRhbCBBREMgUmlnaHQgU291cmNlIFNlbGVjdCAqLworCWFkMTg0M19EQU1JWCAgPSB7IDI1LCAxNCwgIDEgfSwJLyogREFDIERpZ2l0YWwgTWl4IEVuYWJsZSAqLworCWFkMTg0M19EUlNGTFQgPSB7IDI1LCAxNSwgIDEgfSwJLyogRGlnaXRhbCBSZWFtcGxlciBGaWx0ZXIgTW9kZSAqLworCWFkMTg0M19BRExGICAgPSB7IDI2LCAgMCwgIDIgfSwgLyogQURDIExlZnQgQ2hhbm5lbCBEYXRhIEZvcm1hdCAqLworCWFkMTg0M19BRFJGICAgPSB7IDI2LCAgMiwgIDIgfSwgLyogQURDIFJpZ2h0IENoYW5uZWwgRGF0YSBGb3JtYXQgKi8KKwlhZDE4NDNfQURUTEsgID0geyAyNiwgIDQsICAxIH0sCS8qIEFEQyBUcmFuc21pdCBMb2NrIE1vZGUgU2VsZWN0ICovCisJYWQxODQzX1NDRiAgICA9IHsgMjYsICA3LCAgMSB9LAkvKiBTQ0xLIEZyZXF1ZW5jeSBTZWxlY3QgKi8KKwlhZDE4NDNfREExRiAgID0geyAyNiwgIDgsICAyIH0sCS8qIERBQzEgRGF0YSBGb3JtYXQgU2VsZWN0ICovCisJYWQxODQzX0RBMkYgICA9IHsgMjYsIDEwLCAgMiB9LAkvKiBEQUMyIERhdGEgRm9ybWF0IFNlbGVjdCAqLworCWFkMTg0M19EQTFTTSAgPSB7IDI2LCAxNCwgIDEgfSwJLyogREFDMSBTdGVyZW8vTW9ubyBNb2RlIFNlbGVjdCAqLworCWFkMTg0M19EQTJTTSAgPSB7IDI2LCAxNSwgIDEgfSwJLyogREFDMiBTdGVyZW8vTW9ubyBNb2RlIFNlbGVjdCAqLworCWFkMTg0M19BRExFTiAgPSB7IDI3LCAgMCwgIDEgfSwJLyogQURDIExlZnQgQ2hhbm5lbCBFbmFibGUgKi8KKwlhZDE4NDNfQURSRU4gID0geyAyNywgIDEsICAxIH0sCS8qIEFEQyBSaWdodCBDaGFubmVsIEVuYWJsZSAqLworCWFkMTg0M19BQU1FTiAgPSB7IDI3LCAgNCwgIDEgfSwJLyogQW5hbG9nIHRvIEFuYWxvZyBNaXggRW5hYmxlICovCisJYWQxODQzX0FOQUVOICA9IHsgMjcsICA3LCAgMSB9LAkvKiBBbmFsb2cgQ2hhbm5lbCBFbmFibGUgKi8KKwlhZDE4NDNfREExRU4gID0geyAyNywgIDgsICAxIH0sCS8qIERBQzEgRW5hYmxlICovCisJYWQxODQzX0RBMkVOICA9IHsgMjcsICA5LCAgMSB9LAkvKiBEQUMyIEVuYWJsZSAqLworCWFkMTg0M19ERE1FTiAgPSB7IDI3LCAxMiwgIDEgfSwJLyogREFDMiB0byBEQUMxIE1peCAgRW5hYmxlICovCisJYWQxODQzX0MxRU4gICA9IHsgMjgsIDExLCAgMSB9LAkvKiBDbG9jayBHZW5lcmF0b3IgMSBFbmFibGUgKi8KKwlhZDE4NDNfQzJFTiAgID0geyAyOCwgMTIsICAxIH0sCS8qIENsb2NrIEdlbmVyYXRvciAyIEVuYWJsZSAqLworCWFkMTg0M19DM0VOICAgPSB7IDI4LCAxMywgIDEgfSwJLyogQ2xvY2sgR2VuZXJhdG9yIDMgRW5hYmxlICovCisJYWQxODQzX1BETkkgICA9IHsgMjgsIDE1LCAgMSB9OwkvKiBDb252ZXJ0ZXIgUG93ZXIgRG93biAqLworCisvKgorICogVGhlIHZhcmlvdXMgcmVnaXN0ZXJzIG9mIHRoZSBBRDE4NDMgdXNlIHRocmVlIGRpZmZlcmVudCBmb3JtYXRzIGZvcgorICogc3BlY2lmeWluZyBnYWluLiAgVGhlIGFkMTg0M19nYWluIHN0cnVjdHVyZSBwYXJhbWV0ZXJpemVzIHRoZQorICogZm9ybWF0cy4KKyAqLworCitzdHJ1Y3QgYWQxODQzX2dhaW4geworCWludAluZWdhdGl2ZTsJCS8qIG5vbnplcm8gaWYgZ2FpbiBpcyBuZWdhdGl2ZS4gKi8KKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpsZmllbGQ7CisJY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqcmZpZWxkOworCWNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKmxtdXRlOworCWNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKnJtdXRlOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiBhZDE4NDNfZ2Fpbl9SRUNMRVYgPSB7CisJLm5lZ2F0aXZlID0gMCwKKwkubGZpZWxkICAgPSAmYWQxODQzX0xJRywKKwkucmZpZWxkICAgPSAmYWQxODQzX1JJRworfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gYWQxODQzX2dhaW5fTElORSA9IHsKKwkubmVnYXRpdmUgPSAxLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTFgxTSwKKwkucmZpZWxkICAgPSAmYWQxODQzX1JYMU0sCisJLmxtdXRlICAgID0gJmFkMTg0M19MWDFNTSwKKwkucm11dGUgICAgPSAmYWQxODQzX1JYMU1NCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiBhZDE4NDNfZ2Fpbl9MSU5FXzIgPSB7CisJLm5lZ2F0aXZlID0gMSwKKwkubGZpZWxkICAgPSAmYWQxODQzX0xEQTJHLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUkRBMkcsCisJLmxtdXRlICAgID0gJmFkMTg0M19MREEyR00sCisJLnJtdXRlICAgID0gJmFkMTg0M19SREEyR00KK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX01JQyA9IHsKKwkubmVnYXRpdmUgPSAxLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTE1DTSwKKwkucmZpZWxkICAgPSAmYWQxODQzX1JNQ00sCisJLmxtdXRlICAgID0gJmFkMTg0M19MTUNNTSwKKwkucm11dGUgICAgPSAmYWQxODQzX1JNQ01NCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiBhZDE4NDNfZ2Fpbl9QQ01fMCA9IHsKKwkubmVnYXRpdmUgPSAxLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTERBMUcsCisJLnJmaWVsZCAgID0gJmFkMTg0M19SREExRywKKwkubG11dGUgICAgPSAmYWQxODQzX0xEQTFHTSwKKwkucm11dGUgICAgPSAmYWQxODQzX1JEQTFHTQorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gYWQxODQzX2dhaW5fUENNXzEgPSB7CisJLm5lZ2F0aXZlID0gMSwKKwkubGZpZWxkICAgPSAmYWQxODQzX0xEMk0sCisJLnJmaWVsZCAgID0gJmFkMTg0M19SRDJNLAorCS5sbXV0ZSAgICA9ICZhZDE4NDNfTEQyTU0sCisJLnJtdXRlICAgID0gJmFkMTg0M19SRDJNTQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiAqYWQxODQzX2dhaW5bQUQxODQzX0dBSU5fU0laRV0gPQoreworCSZhZDE4NDNfZ2Fpbl9SRUNMRVYsCisJJmFkMTg0M19nYWluX0xJTkUsCisJJmFkMTg0M19nYWluX0xJTkVfMiwKKwkmYWQxODQzX2dhaW5fTUlDLAorCSZhZDE4NDNfZ2Fpbl9QQ01fMCwKKwkmYWQxODQzX2dhaW5fUENNXzEsCit9OworCisvKiByZWFkIHRoZSBjdXJyZW50IHZhbHVlIG9mIGFuIEFEMTg0MyBiaXRmaWVsZC4gKi8KKworc3RhdGljIGludCBhZDE4NDNfcmVhZF9iaXRzKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsCisJCQkgICAgY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqZmllbGQpCit7CisJaW50IHc7CisKKwl3ID0gYWQxODQzLT5yZWFkKGFkMTg0My0+Y2hpcCwgZmllbGQtPnJlZyk7CisJcmV0dXJuIHcgPj4gZmllbGQtPmxvX2JpdCAmICgoMSA8PCBmaWVsZC0+bmJpdHMpIC0gMSk7Cit9CisKKy8qCisgKiB3cml0ZSBhIG5ldyB2YWx1ZSB0byBhbiBBRDE4NDMgYml0ZmllbGQgYW5kIHJldHVybiB0aGUgb2xkIHZhbHVlLgorICovCisKK3N0YXRpYyBpbnQgYWQxODQzX3dyaXRlX2JpdHMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJCSAgICAgY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqZmllbGQsCisJCQkgICAgIGludCBuZXd2YWwpCit7CisJaW50IHcsIG1hc2ssIG9sZHZhbCwgbmV3Yml0czsKKworCXcgPSBhZDE4NDMtPnJlYWQoYWQxODQzLT5jaGlwLCBmaWVsZC0+cmVnKTsKKwltYXNrID0gKCgxIDw8IGZpZWxkLT5uYml0cykgLSAxKSA8PCBmaWVsZC0+bG9fYml0OworCW9sZHZhbCA9ICh3ICYgbWFzaykgPj4gZmllbGQtPmxvX2JpdDsKKwluZXdiaXRzID0gKG5ld3ZhbCA8PCBmaWVsZC0+bG9fYml0KSAmIG1hc2s7CisJdyA9ICh3ICYgfm1hc2spIHwgbmV3Yml0czsKKwlhZDE4NDMtPndyaXRlKGFkMTg0My0+Y2hpcCwgZmllbGQtPnJlZywgdyk7CisKKwlyZXR1cm4gb2xkdmFsOworfQorCisvKgorICogYWQxODQzX3JlYWRfbXVsdGkgcmVhZHMgbXVsdGlwbGUgYml0ZmllbGRzIGZyb20gdGhlIHNhbWUgQUQxODQzCisgKiByZWdpc3Rlci4gIEl0IHVzZXMgYSBzaW5nbGUgcmVhZCBjeWNsZSB0byBkbyBpdC4gIChSZWFkaW5nIHRoZQorICogYWQxODQzIHJlcXVpcmVzIDI1NiBiaXQgdGltZXMgYXQgMTIuMjg4IE1Ieiwgb3IgbmVhcmx5IDIwCisgKiBtaWNyb3NlY29uZHMuKQorICoKKyAqIENhbGxlZCBsaWtlIHRoaXMuCisgKgorICogIGFkMTg0M19yZWFkX211bHRpKGFkMTg0MywgbmZpZWxkcywKKyAqCQkgICAgICAmYWQxODQzX0ZJRUxEMSwgJnZhbDEsCisgKgkJICAgICAgJmFkMTg0M19GSUVMRDIsICZ2YWwyLCAuLi4pOworICovCisKK3N0YXRpYyB2b2lkIGFkMTg0M19yZWFkX211bHRpKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBhcmdjb3VudCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqZnA7CisJaW50IHcgPSAwLCBtYXNrLCAqdmFsdWUsIHJlZyA9IC0xOworCisJdmFfc3RhcnQoYXAsIGFyZ2NvdW50KTsKKwl3aGlsZSAoLS1hcmdjb3VudCA+PSAwKSB7CisJCWZwID0gdmFfYXJnKGFwLCBjb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICopOworCQl2YWx1ZSA9IHZhX2FyZyhhcCwgaW50ICopOworCQlpZiAocmVnID09IC0xKSB7CisJCQlyZWcgPSBmcC0+cmVnOworCQkJdyA9IGFkMTg0My0+cmVhZChhZDE4NDMtPmNoaXAsIHJlZyk7CisJCX0KKworCQltYXNrID0gKDEgPDwgZnAtPm5iaXRzKSAtIDE7CisJCSp2YWx1ZSA9IHcgPj4gZnAtPmxvX2JpdCAmIG1hc2s7CisJfQorCXZhX2VuZChhcCk7Cit9CisKKy8qCisgKiBhZDE4NDNfd3JpdGVfbXVsdGkgc3RvcmVzIG11bHRpcGxlIGJpdGZpZWxkcyBpbnRvIHRoZSBzYW1lIEFEMTg0MworICogcmVnaXN0ZXIuICBJdCB1c2VzIG9uZSByZWFkIGFuZCBvbmUgd3JpdGUgY3ljbGUgdG8gZG8gaXQuCisgKgorICogQ2FsbGVkIGxpa2UgdGhpcy4KKyAqCisgKiAgYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgbmZpZWxkcywKKyAqCQkgICAgICAgJmFkMTg0M19GSUVMRDEsIHZhbDEsCisgKgkJICAgICAgICZhZDE4NDNfRklFTEYyLCB2YWwyLCAuLi4pOworICovCisKK3N0YXRpYyB2b2lkIGFkMTg0M193cml0ZV9tdWx0aShzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgYXJnY291bnQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCWludCByZWc7CisJY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqZnA7CisJaW50IHZhbHVlOworCWludCB3LCBtLCBtYXNrLCBiaXRzOworCisJbWFzayA9IDA7CisJYml0cyA9IDA7CisJcmVnID0gLTE7CisKKwl2YV9zdGFydChhcCwgYXJnY291bnQpOworCXdoaWxlICgtLWFyZ2NvdW50ID49IDApIHsKKwkJZnAgPSB2YV9hcmcoYXAsIGNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKik7CisJCXZhbHVlID0gdmFfYXJnKGFwLCBpbnQpOworCQlpZiAocmVnID09IC0xKQorCQkJcmVnID0gZnAtPnJlZzsKKwkJZWxzZQorCQkJQlVHX09OKHJlZyAhPSBmcC0+cmVnKTsKKwkJbSA9ICgoMSA8PCBmcC0+bmJpdHMpIC0gMSkgPDwgZnAtPmxvX2JpdDsKKwkJbWFzayB8PSBtOworCQliaXRzIHw9ICh2YWx1ZSA8PCBmcC0+bG9fYml0KSAmIG07CisJfQorCXZhX2VuZChhcCk7CisKKwlpZiAofm1hc2sgJiAweEZGRkYpCisJCXcgPSBhZDE4NDMtPnJlYWQoYWQxODQzLT5jaGlwLCByZWcpOworCWVsc2UKKwkJdyA9IDA7CisJdyA9ICh3ICYgfm1hc2spIHwgYml0czsKKwlhZDE4NDMtPndyaXRlKGFkMTg0My0+Y2hpcCwgcmVnLCB3KTsKK30KKworaW50IGFkMTg0M19nZXRfZ2Fpbl9tYXgoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKQoreworCWNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiAqZ3AgPSBhZDE4NDNfZ2FpbltpZF07CisJaW50IHJldDsKKworCXJldCA9ICgxIDw8IGdwLT5sZmllbGQtPm5iaXRzKTsKKwlpZiAoIWdwLT5sbXV0ZSkKKwkJcmV0IC09IDE7CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIGFkMTg0M19nZXRfZ2FpbiByZWFkcyB0aGUgc3BlY2lmaWVkIHJlZ2lzdGVyIGFuZCBleHRyYWN0cyB0aGUgZ2FpbiB2YWx1ZQorICogdXNpbmcgdGhlIHN1cHBsaWVkIGdhaW4gdHlwZS4KKyAqLworCitpbnQgYWQxODQzX2dldF9nYWluKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBpZCkKK3sKKwlpbnQgbGcsIHJnLCBsbSwgcm07CisJY29uc3Qgc3RydWN0IGFkMTg0M19nYWluICpncCA9IGFkMTg0M19nYWluW2lkXTsKKwl1bnNpZ25lZCBzaG9ydCBtYXNrID0gKDEgPDwgZ3AtPmxmaWVsZC0+bmJpdHMpIC0gMTsKKworCWFkMTg0M19yZWFkX211bHRpKGFkMTg0MywgMiwgZ3AtPmxmaWVsZCwgJmxnLCBncC0+cmZpZWxkLCAmcmcpOworCWlmIChncC0+bmVnYXRpdmUpIHsKKwkJbGcgPSBtYXNrIC0gbGc7CisJCXJnID0gbWFzayAtIHJnOworCX0KKwlpZiAoZ3AtPmxtdXRlKSB7CisJCWFkMTg0M19yZWFkX211bHRpKGFkMTg0MywgMiwgZ3AtPmxtdXRlLCAmbG0sIGdwLT5ybXV0ZSwgJnJtKTsKKwkJaWYgKGxtKQorCQkJbGcgPSAwOworCQlpZiAocm0pCisJCQlyZyA9IDA7CisJfQorCXJldHVybiBsZyA8PCAwIHwgcmcgPDwgODsKK30KKworLyoKKyAqIFNldCBhbiBhdWRpbyBjaGFubmVsJ3MgZ2Fpbi4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgZ2Fpbiwgd2hpY2ggbWF5IGJlIGxvd2VyIHRoYW4gdGhlIG9sZCBnYWluLgorICovCisKK2ludCBhZDE4NDNfc2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkLCBpbnQgbmV3dmFsKQoreworCWNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiAqZ3AgPSBhZDE4NDNfZ2FpbltpZF07CisJdW5zaWduZWQgc2hvcnQgbWFzayA9ICgxIDw8IGdwLT5sZmllbGQtPm5iaXRzKSAtIDE7CisKKwlpbnQgbGcgPSAobmV3dmFsID4+IDApICYgbWFzazsKKwlpbnQgcmcgPSAobmV3dmFsID4+IDgpICYgbWFzazsKKwlpbnQgbG0gPSAobGcgPT0gMCkgPyAxIDogMDsKKwlpbnQgcm0gPSAocmcgPT0gMCkgPyAxIDogMDsKKworCWlmIChncC0+bmVnYXRpdmUpIHsKKwkJbGcgPSBtYXNrIC0gbGc7CisJCXJnID0gbWFzayAtIHJnOworCX0KKwlpZiAoZ3AtPmxtdXRlKQorCQlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLCBncC0+bG11dGUsIGxtLCBncC0+cm11dGUsIHJtKTsKKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLCBncC0+bGZpZWxkLCBsZywgZ3AtPnJmaWVsZCwgcmcpOworCXJldHVybiBhZDE4NDNfZ2V0X2dhaW4oYWQxODQzLCBpZCk7Cit9CisKKy8qIFJldHVybnMgdGhlIGN1cnJlbnQgcmVjb3JkaW5nIHNvdXJjZSAqLworCitpbnQgYWQxODQzX2dldF9yZWNzcmMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MykKK3sKKwlpbnQgdmFsID0gYWQxODQzX3JlYWRfYml0cyhhZDE4NDMsICZhZDE4NDNfTFNTKTsKKworCWlmICh2YWwgPCAwIHx8IHZhbCA+IDIpIHsKKwkJdmFsID0gMjsKKwkJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwKKwkJCQkgICAmYWQxODQzX0xTUywgdmFsLCAmYWQxODQzX1JTUywgdmFsKTsKKwl9CisJcmV0dXJuIHZhbDsKK30KKworLyoKKyAqIFNldCByZWNvcmRpbmcgc291cmNlLgorICoKKyAqIFJldHVybnMgbmV3c3JjIG9uIHN1Y2Nlc3MsIC1lcnJubyBvbiBmYWlsdXJlLgorICovCisKK2ludCBhZDE4NDNfc2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgbmV3c3JjKQoreworCWlmIChuZXdzcmMgPCAwIHx8IG5ld3NyYyA+IDIpCisJCXJldHVybiAtRUlOVkFMOworCisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwgJmFkMTg0M19MU1MsIG5ld3NyYywgJmFkMTg0M19SU1MsIG5ld3NyYyk7CisJcmV0dXJuIG5ld3NyYzsKK30KKworLyogU2V0dXAgYWQxODQzIGZvciBEL0EgY29udmVyc2lvbi4gKi8KKwordm9pZCBhZDE4NDNfc2V0dXBfZGFjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsCisJCSAgICAgIHVuc2lnbmVkIGludCBpZCwKKwkJICAgICAgdW5zaWduZWQgaW50IGZyYW1lcmF0ZSwKKwkJICAgICAgc25kX3BjbV9mb3JtYXRfdCBmbXQsCisJCSAgICAgIHVuc2lnbmVkIGludCBjaGFubmVscykKK3sKKwlpbnQgYWRfZm10ID0gMCwgYWRfbW9kZSA9IDA7CisKKwlzd2l0Y2ggKGZtdCkgeworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TODoKKwkJYWRfZm10ID0gMDsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1U4OgorCQlhZF9mbXQgPSAwOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFOgorCQlhZF9mbXQgPSAxOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfTVVfTEFXOgorCQlhZF9mbXQgPSAyOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfQV9MQVc6CisJCWFkX2ZtdCA9IDM7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCXN3aXRjaCAoY2hhbm5lbHMpIHsKKwljYXNlIDI6CisJCWFkX21vZGUgPSAwOworCQlicmVhazsKKwljYXNlIDE6CisJCWFkX21vZGUgPSAxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlpZiAoaWQpIHsKKwkJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX0MyQywgZnJhbWVyYXRlKTsKKwkJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwKKwkJCQkgICAmYWQxODQzX0RBMlNNLCBhZF9tb2RlLAorCQkJCSAgICZhZDE4NDNfREEyRiwgYWRfZm10KTsKKwl9IGVsc2UgeworCQlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfQzFDLCBmcmFtZXJhdGUpOworCQlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLAorCQkJCSAgICZhZDE4NDNfREExU00sIGFkX21vZGUsCisJCQkJICAgJmFkMTg0M19EQTFGLCBhZF9mbXQpOworCX0KK30KKwordm9pZCBhZDE4NDNfc2h1dGRvd25fZGFjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIHVuc2lnbmVkIGludCBpZCkKK3sKKwlpZiAoaWQpCisJCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19EQTJGLCAxKTsKKwllbHNlCisJCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19EQTFGLCAxKTsKK30KKwordm9pZCBhZDE4NDNfc2V0dXBfYWRjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsCisJCSAgICAgIHVuc2lnbmVkIGludCBmcmFtZXJhdGUsCisJCSAgICAgIHNuZF9wY21fZm9ybWF0X3QgZm10LAorCQkgICAgICB1bnNpZ25lZCBpbnQgY2hhbm5lbHMpCit7CisJaW50IGRhX2ZtdCA9IDA7CisKKwlzd2l0Y2ggKGZtdCkgeworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TODoJZGFfZm10ID0gMDsgYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1U4OglkYV9mbXQgPSAwOyBicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFOglkYV9mbXQgPSAxOyBicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfTVVfTEFXOglkYV9mbXQgPSAyOyBicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfQV9MQVc6CWRhX2ZtdCA9IDM7IGJyZWFrOworCWRlZmF1bHQ6CQlicmVhazsKKwl9CisKKwlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfQzNDLCBmcmFtZXJhdGUpOworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsCisJCQkgICAmYWQxODQzX0FETEYsIGRhX2ZtdCwgJmFkMTg0M19BRFJGLCBkYV9mbXQpOworfQorCit2b2lkIGFkMTg0M19zaHV0ZG93bl9hZGMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MykKK3sKKwkvKiBub3RoaW5nIHRvIGRvICovCit9CisKKy8qCisgKiBGdWxseSBpbml0aWFsaXplIHRoZSBhZDE4NDMuICBBcyBkZXNjcmliZWQgaW4gdGhlIEFEMTg0MyBkYXRhCisgKiBzaGVldCwgc2VjdGlvbiAiU1RBUlQtVVAgU0VRVUVOQ0UiLiAgVGhlIG51bWJlcmVkIGNvbW1lbnRzIGFyZQorICogc3Vic2VjdGlvbiBoZWFkaW5ncyBmcm9tIHRoZSBkYXRhIHNoZWV0LiAgU2VlIHRoZSBkYXRhIHNoZWV0LCBwYWdlcworICogNTItNTQsIGZvciBtb3JlIGluZm8uCisgKgorICogcmV0dXJuIDAgb24gc3VjY2VzcywgLWVycm5vIG9uIGZhaWx1cmUuICAqLworCitpbnQgYWQxODQzX2luaXQoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MykKK3sKKwl1bnNpZ25lZCBsb25nIGxhdGVyOworCisJaWYgKGFkMTg0M19yZWFkX2JpdHMoYWQxODQzLCAmYWQxODQzX0lOSVQpICE9IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJhZDE4NDM6IEFEMTg0MyB3b24ndCBpbml0aWFsaXplXG4iKTsKKwkJcmV0dXJuIC1FSU87CisJfQorCisJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX1NDRiwgMSk7CisKKwkvKiA0LiBQdXQgdGhlIGNvbnZlcnNpb24gcmVzb3VyY2VzIGludG8gc3RhbmRieS4gKi8KKwlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfUEROSSwgMCk7CisJbGF0ZXIgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyg1MDApOworCisJd2hpbGUgKGFkMTg0M19yZWFkX2JpdHMoYWQxODQzLCAmYWQxODQzX1BETk8pKSB7CisJCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIGxhdGVyKSkgeworCQkJcHJpbnRrKEtFUk5fRVJSCisJCQkgICAgICAgImFkMTg0MzogQUQxODQzIHdvbid0IHBvd2VyIHVwXG4iKTsKKwkJCXJldHVybiAtRUlPOworCQl9CisJCXNjaGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZSg1KTsKKwl9CisKKwkvKiA1LiBQb3dlciB1cCB0aGUgY2xvY2sgZ2VuZXJhdG9ycyBhbmQgZW5hYmxlIGNsb2NrIG91dHB1dCBwaW5zLiAqLworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDMsCisJCQkgICAmYWQxODQzX0MxRU4sIDEsCisJCQkgICAmYWQxODQzX0MyRU4sIDEsCisJCQkgICAmYWQxODQzX0MzRU4sIDEpOworCisJLyogNi4gQ29uZmlndXJlIGNvbnZlcnNpb24gcmVzb3VyY2VzIHdoaWxlIHRoZXkgYXJlIGluIHN0YW5kYnkuICovCisKKwkvKiBEQUMxLzIgdXNlIGNsb2NrIDEvMiBhcyBzb3VyY2UsIEFEQyB1c2VzIGNsb2NrIDMuICBBbHdheXMuICovCisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgNCwKKwkJCSAgICZhZDE4NDNfREExQywgMSwKKwkJCSAgICZhZDE4NDNfREEyQywgMiwKKwkJCSAgICZhZDE4NDNfQURMQywgMywKKwkJCSAgICZhZDE4NDNfQURSQywgMyk7CisKKwkvKiA3LiBFbmFibGUgY29udmVyc2lvbiByZXNvdXJjZXMuICovCisJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX0FEVExLLCAxKTsKKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCA3LAorCQkJICAgJmFkMTg0M19BTkFFTiwgMSwKKwkJCSAgICZhZDE4NDNfQUFNRU4sIDEsCisJCQkgICAmYWQxODQzX0RBMUVOLCAxLAorCQkJICAgJmFkMTg0M19EQTJFTiwgMSwKKwkJCSAgICZhZDE4NDNfRERNRU4sIDEsCisJCQkgICAmYWQxODQzX0FETEVOLCAxLAorCQkJICAgJmFkMTg0M19BRFJFTiwgMSk7CisKKwkvKiA4LiBDb25maWd1cmUgY29udmVyc2lvbiByZXNvdXJjZXMgd2hpbGUgdGhleSBhcmUgZW5hYmxlZC4gKi8KKworCS8qIHNldCBnYWluIHRvIDAgZm9yIGFsbCBjaGFubmVscyAqLworCWFkMTg0M19zZXRfZ2FpbihhZDE4NDMsIEFEMTg0M19HQUlOX1JFQ0xFViwgMCk7CisJYWQxODQzX3NldF9nYWluKGFkMTg0MywgQUQxODQzX0dBSU5fTElORSwgMCk7CisJYWQxODQzX3NldF9nYWluKGFkMTg0MywgQUQxODQzX0dBSU5fTElORV8yLCAwKTsKKwlhZDE4NDNfc2V0X2dhaW4oYWQxODQzLCBBRDE4NDNfR0FJTl9NSUMsIDApOworCWFkMTg0M19zZXRfZ2FpbihhZDE4NDMsIEFEMTg0M19HQUlOX1BDTV8wLCAwKTsKKwlhZDE4NDNfc2V0X2dhaW4oYWQxODQzLCBBRDE4NDNfR0FJTl9QQ01fMSwgMCk7CisKKwkvKiBVbm11dGUgYWxsIGNoYW5uZWxzLiAqLworCS8qIERBQzEgKi8KKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLCAmYWQxODQzX0xEQTFHTSwgMCwgJmFkMTg0M19SREExR00sIDApOworCS8qIERBQzIgKi8KKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLCAmYWQxODQzX0xEQTJHTSwgMCwgJmFkMTg0M19SREEyR00sIDApOworCisJLyogU2V0IGRlZmF1bHQgcmVjb3JkaW5nIHNvdXJjZSB0byBMaW5lIEluIGFuZCBzZXQKKwkgKiBtaWMgZ2FpbiB0byArMjAgZEIuCisJICovCisJYWQxODQzX3NldF9yZWNzcmMoYWQxODQzLCAyKTsKKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLCAmYWQxODQzX0xNR0UsIDEsICZhZDE4NDNfUk1HRSwgMSk7CisKKwkvKiBTZXQgU3BlYWtlciBPdXQgbGV2ZWwgdG8gKy8tIDRWIGFuZCB1bm11dGUgaXQuICovCisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMywKKwkJCSAgICZhZDE4NDNfSFBPUywgMSwKKwkJCSAgICZhZDE4NDNfSFBPTSwgMCwKKwkJCSAgICZhZDE4NDNfTVBPTSwgMCk7CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3NvdW5kL21pcHMvaGFsMi5jIGIvc291bmQvbWlwcy9oYWwyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI0OTViZQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL21pcHMvaGFsMi5jCkBAIC0wLDAgKzEsOTQ3IEBACisvKgorICogIERyaXZlciBmb3IgQTIgYXVkaW8gc3lzdGVtIHVzZWQgaW4gU0dJIG1hY2hpbmVzCisgKiAgQ29weXJpZ2h0IChjKSAyMDA4IFRob21hcyBCb2dlbmRvZXJmZXIgPHRzYm9nZW5kQGFscGhhLmZhbmtlbi5kZT4KKyAqCisgKiAgQmFzZWQgb24gT1NTIGNvZGUgZnJvbSBMYWRpc2xhdiBNaWNobCA8bGFkaXNAbGludXgtbWlwcy5vcmc+LCB3aGljaAorICogIHdhcyBiYXNlZCBvbiBjb2RlIGZyb20gVWxmIENhcmxzc29uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisKKyNpbmNsdWRlIDxhc20vc2dpL2hwYzMuaD4KKyNpbmNsdWRlIDxhc20vc2dpL2lwMjIuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb250cm9sLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLWluZGlyZWN0Lmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorCisjaW5jbHVkZSAiaGFsMi5oIgorCitzdGF0aWMgaW50IGluZGV4ID0gU05EUlZfREVGQVVMVF9JRFgxOyAgLyogSW5kZXggMC1NQVggKi8KK3N0YXRpYyBjaGFyICppZCA9IFNORFJWX0RFRkFVTFRfU1RSMTsgICAvKiBJRCBmb3IgdGhpcyBjYXJkICovCisKK21vZHVsZV9wYXJhbShpbmRleCwgaW50LCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoaW5kZXgsICJJbmRleCB2YWx1ZSBmb3IgU0dJIEhBTDIgc291bmRjYXJkLiIpOworbW9kdWxlX3BhcmFtKGlkLCBjaGFycCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGlkLCAiSUQgc3RyaW5nIGZvciBTR0kgSEFMMiBzb3VuZGNhcmQuIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFMU0EgZHJpdmVyIGZvciBTR0kgSEFMMiBhdWRpbyIpOworTU9EVUxFX0FVVEhPUigiVGhvbWFzIEJvZ2VuZG9lcmZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworCisKKyNkZWZpbmUgSDJfQkxPQ0tfU0laRQkxMDI0CisjZGVmaW5lIEgyX0JVRl9TSVpFCTE2Mzg0CisKK3N0cnVjdCBoYWwyX3BidXMgeworCXN0cnVjdCBocGMzX3BidXNfZG1hY3JlZ3MgKnBidXM7CisJaW50IHBidXNucjsKKwl1bnNpZ25lZCBpbnQgY3RybDsJCS8qIEN1cnJlbnQgc3RhdGUgb2YgcGJ1cy0+cGJkbWFfY3RybCAqLworfTsKKworc3RydWN0IGhhbDJfZGVzYyB7CisJc3RydWN0IGhwY19kbWFfZGVzYyBkZXNjOworCXUzMiBwYWQ7CQkJLyogcGFkZGluZyAqLworfTsKKworc3RydWN0IGhhbDJfY29kZWMgeworCXN0cnVjdCBzbmRfcGNtX2luZGlyZWN0IHBjbV9pbmRpcmVjdDsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKworCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjsKKwlkbWFfYWRkcl90IGJ1ZmZlcl9kbWE7CisJc3RydWN0IGhhbDJfZGVzYyAqZGVzYzsKKwlkbWFfYWRkcl90IGRlc2NfZG1hOworCWludCBkZXNjX2NvdW50OworCXN0cnVjdCBoYWwyX3BidXMgcGJ1czsKKwlpbnQgdm9pY2VzOwkJCS8qIG1vbm8vc3RlcmVvICovCisJdW5zaWduZWQgaW50IHNhbXBsZV9yYXRlOworCXVuc2lnbmVkIGludCBtYXN0ZXI7CQkvKiBNYXN0ZXIgZnJlcXVlbmN5ICovCisJdW5zaWduZWQgc2hvcnQgbW9kOwkJLyogTU9EIHZhbHVlICovCisJdW5zaWduZWQgc2hvcnQgaW5jOwkJLyogSU5DIHZhbHVlICovCit9OworCisjZGVmaW5lIEgyX01JWF9PVVRQVVRfQVRUCTAKKyNkZWZpbmUgSDJfTUlYX0lOUFVUX0dBSU4JMQorCitzdHJ1Y3Qgc25kX2hhbDIgeworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKKworCXN0cnVjdCBoYWwyX2N0bF9yZWdzICpjdGxfcmVnczsJLyogSEFMMiBjdGwgcmVnaXN0ZXJzICovCisJc3RydWN0IGhhbDJfYWVzX3JlZ3MgKmFlc19yZWdzOwkvKiBIQUwyIGFlcyByZWdpc3RlcnMgKi8KKwlzdHJ1Y3QgaGFsMl92b2xfcmVncyAqdm9sX3JlZ3M7CS8qIEhBTDIgdm9sIHJlZ2lzdGVycyAqLworCXN0cnVjdCBoYWwyX3N5bl9yZWdzICpzeW5fcmVnczsJLyogSEFMMiBzeW4gcmVnaXN0ZXJzICovCisKKwlzdHJ1Y3QgaGFsMl9jb2RlYyBkYWM7CisJc3RydWN0IGhhbDJfY29kZWMgYWRjOworfTsKKworI2RlZmluZSBIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpCXdoaWxlIChoYWwyX3JlYWQoJnJlZ3MtPmlzcikgJiBIMl9JU1JfVFNUQVRVUyk7CisKKyNkZWZpbmUgSDJfUkVBRF9BRERSKGFkZHIpCShhZGRyIHwgKDE8PDcpKQorI2RlZmluZSBIMl9XUklURV9BRERSKGFkZHIpCShhZGRyKQorCitzdGF0aWMgaW5saW5lIHUzMiBoYWwyX3JlYWQodTMyICpyZWcpCit7CisJcmV0dXJuIF9fcmF3X3JlYWRsKHJlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBoYWwyX3dyaXRlKHUzMiB2YWwsIHUzMiAqcmVnKQoreworCV9fcmF3X3dyaXRlbCh2YWwsIHJlZyk7Cit9CisKKworc3RhdGljIHUzMiBoYWwyX2lfcmVhZDMyKHN0cnVjdCBzbmRfaGFsMiAqaGFsMiwgdTE2IGFkZHIpCit7CisJdTMyIHJldDsKKwlzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqcmVncyA9IGhhbDItPmN0bF9yZWdzOworCisJaGFsMl93cml0ZShIMl9SRUFEX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7CisJcmV0ID0gaGFsMl9yZWFkKCZyZWdzLT5pZHIwKSAmIDB4ZmZmZjsKKwloYWwyX3dyaXRlKEgyX1JFQURfQUREUihhZGRyKSB8IDB4MSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKKwlyZXQgfD0gKGhhbDJfcmVhZCgmcmVncy0+aWRyMCkgJiAweGZmZmYpIDw8IDE2OworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfaV93cml0ZTE2KHN0cnVjdCBzbmRfaGFsMiAqaGFsMiwgdTE2IGFkZHIsIHUxNiB2YWwpCit7CisJc3RydWN0IGhhbDJfY3RsX3JlZ3MgKnJlZ3MgPSBoYWwyLT5jdGxfcmVnczsKKworCWhhbDJfd3JpdGUodmFsLCAmcmVncy0+aWRyMCk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMSk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMik7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMyk7CisJaGFsMl93cml0ZShIMl9XUklURV9BRERSKGFkZHIpLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX2lfd3JpdGUzMihzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIsIHUxNiBhZGRyLCB1MzIgdmFsKQoreworCXN0cnVjdCBoYWwyX2N0bF9yZWdzICpyZWdzID0gaGFsMi0+Y3RsX3JlZ3M7CisKKwloYWwyX3dyaXRlKHZhbCAmIDB4ZmZmZiwgJnJlZ3MtPmlkcjApOworCWhhbDJfd3JpdGUodmFsID4+IDE2LCAmcmVncy0+aWRyMSk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMik7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMyk7CisJaGFsMl93cml0ZShIMl9XUklURV9BRERSKGFkZHIpLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX2lfc2V0Yml0MTYoc3RydWN0IHNuZF9oYWwyICpoYWwyLCB1MTYgYWRkciwgdTE2IGJpdCkKK3sKKwlzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqcmVncyA9IGhhbDItPmN0bF9yZWdzOworCisJaGFsMl93cml0ZShIMl9SRUFEX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7CisJaGFsMl93cml0ZSgoaGFsMl9yZWFkKCZyZWdzLT5pZHIwKSAmIDB4ZmZmZikgfCBiaXQsICZyZWdzLT5pZHIwKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIxKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIyKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIzKTsKKwloYWwyX3dyaXRlKEgyX1dSSVRFX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfaV9jbGVhcmJpdDE2KHN0cnVjdCBzbmRfaGFsMiAqaGFsMiwgdTE2IGFkZHIsIHUxNiBiaXQpCit7CisJc3RydWN0IGhhbDJfY3RsX3JlZ3MgKnJlZ3MgPSBoYWwyLT5jdGxfcmVnczsKKworCWhhbDJfd3JpdGUoSDJfUkVBRF9BRERSKGFkZHIpLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworCWhhbDJfd3JpdGUoKGhhbDJfcmVhZCgmcmVncy0+aWRyMCkgJiAweGZmZmYpICYgfmJpdCwgJnJlZ3MtPmlkcjApOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjEpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjIpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjMpOworCWhhbDJfd3JpdGUoSDJfV1JJVEVfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKK30KKworc3RhdGljIGludCBoYWwyX2dhaW5faW5mbyhzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gKnVpbmZvKQoreworCXVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9JTlRFR0VSOworCXVpbmZvLT5jb3VudCA9IDI7CisJdWluZm8tPnZhbHVlLmludGVnZXIubWluID0gMDsKKwlzd2l0Y2ggKChpbnQpa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpIHsKKwljYXNlIEgyX01JWF9PVVRQVVRfQVRUOgorCQl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSAzMTsKKwkJYnJlYWs7CisJY2FzZSBIMl9NSVhfSU5QVVRfR0FJTjoKKwkJdWluZm8tPnZhbHVlLmludGVnZXIubWF4ID0gMTU7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2dhaW5fZ2V0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwl1MzIgdG1wOworCWludCBsLCByOworCisJc3dpdGNoICgoaW50KWtjb250cm9sLT5wcml2YXRlX3ZhbHVlKSB7CisJY2FzZSBIMl9NSVhfT1VUUFVUX0FUVDoKKwkJdG1wID0gaGFsMl9pX3JlYWQzMihoYWwyLCBIMklfREFDX0MyKTsKKwkJaWYgKHRtcCAmIEgySV9DMl9NVVRFKSB7CisJCQlsID0gMDsKKwkJCXIgPSAwOworCQl9IGVsc2UgeworCQkJbCA9IDMxIC0gKCh0bXAgPj4gSDJJX0MyX0xfQVRUX1NISUZUKSAmIDMxKTsKKwkJCXIgPSAzMSAtICgodG1wID4+IEgySV9DMl9SX0FUVF9TSElGVCkgJiAzMSk7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBIMl9NSVhfSU5QVVRfR0FJTjoKKwkJdG1wID0gaGFsMl9pX3JlYWQzMihoYWwyLCBIMklfQURDX0MyKTsKKwkJbCA9ICh0bXAgPj4gSDJJX0MyX0xfR0FJTl9TSElGVCkgJiAxNTsKKwkJciA9ICh0bXAgPj4gSDJJX0MyX1JfR0FJTl9TSElGVCkgJiAxNTsKKwkJYnJlYWs7CisJfQorCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gbDsKKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSA9IHI7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2dhaW5fcHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwl1MzIgb2xkLCBuZXc7CisJaW50IGwsIHI7CisKKwlsID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07CisJciA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdOworCisJc3dpdGNoICgoaW50KWtjb250cm9sLT5wcml2YXRlX3ZhbHVlKSB7CisJY2FzZSBIMl9NSVhfT1VUUFVUX0FUVDoKKwkJb2xkID0gaGFsMl9pX3JlYWQzMihoYWwyLCBIMklfREFDX0MyKTsKKwkJbmV3ID0gb2xkICYgfihIMklfQzJfTF9BVFRfTSB8IEgySV9DMl9SX0FUVF9NIHwgSDJJX0MyX01VVEUpOworCQlpZiAobCB8IHIpIHsKKwkJCWwgPSAzMSAtIGw7CisJCQlyID0gMzEgLSByOworCQkJbmV3IHw9IChsIDw8IEgySV9DMl9MX0FUVF9TSElGVCk7CisJCQluZXcgfD0gKHIgPDwgSDJJX0MyX1JfQVRUX1NISUZUKTsKKwkJfSBlbHNlCisJCQluZXcgfD0gSDJJX0MyX0xfQVRUX00gfCBIMklfQzJfUl9BVFRfTSB8IEgySV9DMl9NVVRFOworCQloYWwyX2lfd3JpdGUzMihoYWwyLCBIMklfREFDX0MyLCBuZXcpOworCQlicmVhazsKKwljYXNlIEgyX01JWF9JTlBVVF9HQUlOOgorCQlvbGQgPSBoYWwyX2lfcmVhZDMyKGhhbDIsIEgySV9BRENfQzIpOworCQluZXcgPSBvbGQgJiB+KEgySV9DMl9MX0dBSU5fTSB8IEgySV9DMl9SX0dBSU5fTSk7CisJCW5ldyB8PSAobCA8PCBIMklfQzJfTF9HQUlOX1NISUZUKTsKKwkJbmV3IHw9IChyIDw8IEgySV9DMl9SX0dBSU5fU0hJRlQpOworCQloYWwyX2lfd3JpdGUzMihoYWwyLCBIMklfQURDX0MyLCBuZXcpOworCQlicmVhazsKKwl9CisJcmV0dXJuIG9sZCAhPSBuZXc7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBoYWwyX2N0cmxfaGVhZHBob25lIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIkhlYWRwaG9uZSBQbGF5YmFjayBWb2x1bWUiLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gSDJfTUlYX09VVFBVVF9BVFQsCisJLmluZm8gICAgICAgICAgID0gaGFsMl9nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gaGFsMl9nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBoYWwyX2dhaW5fcHV0LAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGhhbDJfY3RybF9taWMgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiTWljIENhcHR1cmUgVm9sdW1lIiwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEgyX01JWF9JTlBVVF9HQUlOLAorCS5pbmZvICAgICAgICAgICA9IGhhbDJfZ2Fpbl9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IGhhbDJfZ2Fpbl9nZXQsCisJLnB1dCAgICAgICAgICAgID0gaGFsMl9nYWluX3B1dCwKK307CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGhhbDJfbWl4ZXJfY3JlYXRlKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwlpbnQgZXJyOworCisJLyogbXV0ZSBEQUMgKi8KKwloYWwyX2lfd3JpdGUzMihoYWwyLCBIMklfREFDX0MyLAorCQkgICAgICAgSDJJX0MyX0xfQVRUX00gfCBIMklfQzJfUl9BVFRfTSB8IEgySV9DMl9NVVRFKTsKKwkvKiBtdXRlIEFEQyAqLworCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9BRENfQzIsIDApOworCisJZXJyID0gc25kX2N0bF9hZGQoaGFsMi0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZoYWwyX2N0cmxfaGVhZHBob25lLCBoYWwyKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChoYWwyLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJmhhbDJfY3RybF9taWMsIGhhbDIpKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaXJxcmV0dXJuX3QgaGFsMl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IGRldl9pZDsKKwlpcnFyZXR1cm5fdCByZXQgPSBJUlFfTk9ORTsKKworCS8qIGRlY2lkZSB3aGF0IGNhdXNlZCB0aGlzIGludGVycnVwdCAqLworCWlmIChoYWwyLT5kYWMucGJ1cy5wYnVzLT5wYmRtYV9jdHJsICYgSFBDM19QRE1BQ1RSTF9JTlQpIHsKKwkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChoYWwyLT5kYWMuc3Vic3RyZWFtKTsKKwkJcmV0ID0gSVJRX0hBTkRMRUQ7CisJfQorCWlmIChoYWwyLT5hZGMucGJ1cy5wYnVzLT5wYmRtYV9jdHJsICYgSFBDM19QRE1BQ1RSTF9JTlQpIHsKKwkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChoYWwyLT5hZGMuc3Vic3RyZWFtKTsKKwkJcmV0ID0gSVJRX0hBTkRMRUQ7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9jb21wdXRlX3JhdGUoc3RydWN0IGhhbDJfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgcmF0ZSkKK3sKKwl1bnNpZ25lZCBzaG9ydCBtb2Q7CisKKwlpZiAoNDQxMDAgJSByYXRlIDwgNDgwMDAgJSByYXRlKSB7CisJCW1vZCA9IDQgKiA0NDEwMCAvIHJhdGU7CisJCWNvZGVjLT5tYXN0ZXIgPSA0NDEwMDsKKwl9IGVsc2UgeworCQltb2QgPSA0ICogNDgwMDAgLyByYXRlOworCQljb2RlYy0+bWFzdGVyID0gNDgwMDA7CisJfQorCisJY29kZWMtPmluYyA9IDQ7CisJY29kZWMtPm1vZCA9IG1vZDsKKwlyYXRlID0gNCAqIGNvZGVjLT5tYXN0ZXIgLyBtb2Q7CisKKwlyZXR1cm4gcmF0ZTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9zZXRfZGFjX3JhdGUoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCXVuc2lnbmVkIGludCBtYXN0ZXIgPSBoYWwyLT5kYWMubWFzdGVyOworCWludCBpbmMgPSBoYWwyLT5kYWMuaW5jOworCWludCBtb2QgPSBoYWwyLT5kYWMubW9kOworCisJaGFsMl9pX3dyaXRlMTYoaGFsMiwgSDJJX0JSRVMxX0MxLCAobWFzdGVyID09IDQ0MTAwKSA/IDEgOiAwKTsKKwloYWwyX2lfd3JpdGUzMihoYWwyLCBIMklfQlJFUzFfQzIsCisJCSAgICAgICAoKDB4ZmZmZiAmIChpbmMgLSBtb2QgLSAxKSkgPDwgMTYpIHwgaW5jKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9zZXRfYWRjX3JhdGUoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCXVuc2lnbmVkIGludCBtYXN0ZXIgPSBoYWwyLT5hZGMubWFzdGVyOworCWludCBpbmMgPSBoYWwyLT5hZGMuaW5jOworCWludCBtb2QgPSBoYWwyLT5hZGMubW9kOworCisJaGFsMl9pX3dyaXRlMTYoaGFsMiwgSDJJX0JSRVMyX0MxLCAobWFzdGVyID09IDQ0MTAwKSA/IDEgOiAwKTsKKwloYWwyX2lfd3JpdGUzMihoYWwyLCBIMklfQlJFUzJfQzIsCisJCSAgICAgICAoKDB4ZmZmZiAmIChpbmMgLSBtb2QgLSAxKSkgPDwgMTYpIHwgaW5jKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9zZXR1cF9kYWMoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCXVuc2lnbmVkIGludCBmaWZvYmVnLCBmaWZvZW5kLCBoaWdod2F0ZXIsIHNhbXBsZV9zaXplOworCXN0cnVjdCBoYWwyX3BidXMgKnBidXMgPSAmaGFsMi0+ZGFjLnBidXM7CisKKwkvKiBOb3cgd2Ugc2V0IHVwIHNvbWUgUEJVUyBpbmZvcm1hdGlvbi4gVGhlIFBCVVMgbmVlZHMgaW5mb3JtYXRpb24gYWJvdXQKKwkgKiB3aGF0IHBvcnRpb24gb2YgdGhlIGZpZm8gaXQgd2lsbCB1c2UuIElmIGl0J3MgcmVjZWl2aW5nIG9yCisJICogdHJhbnNtaXR0aW5nLCBhbmQgZmluYWxseSB3aGV0aGVyIHRoZSBzdHJlYW0gaXMgbGl0dGxlIGVuZGlhbiBvciBiaWcKKwkgKiBlbmRpYW4uIFRoZSBpbmZvcm1hdGlvbiBpcyB3cml0dGVuIGxhdGVyLCBvbiB0aGUgc3RhcnQgY2FsbC4KKwkgKi8KKwlzYW1wbGVfc2l6ZSA9IDIgKiBoYWwyLT5kYWMudm9pY2VzOworCS8qIEZpZm8gc2hvdWxkIGJlIHNldCB0byBob2xkIGV4YWN0bHkgZm91ciBzYW1wbGVzLiBIaWdod2F0ZXIgbWFyaworCSAqIHNob3VsZCBiZSBzZXQgdG8gdHdvIHNhbXBsZXMuICovCisJaGlnaHdhdGVyID0gKHNhbXBsZV9zaXplICogMikgPj4gMTsJLyogaGFsZndvcmRzICovCisJZmlmb2JlZyA9IDA7CQkJCS8qIHBsYXliYWNrIGlzIGZpcnN0ICovCisJZmlmb2VuZCA9IChzYW1wbGVfc2l6ZSAqIDQpID4+IDM7CS8qIGRvdWJsZXdvcmRzICovCisJcGJ1cy0+Y3RybCA9IEhQQzNfUERNQUNUUkxfUlQgfCBIUEMzX1BETUFDVFJMX0xEIHwKKwkJICAgICAoaGlnaHdhdGVyIDw8IDgpIHwgKGZpZm9iZWcgPDwgMTYpIHwgKGZpZm9lbmQgPDwgMjQpOworCS8qIFdlIGRpc2FibGUgZXZlcnl0aGluZyBiZWZvcmUgd2UgZG8gYW55dGhpbmcgYXQgYWxsICovCisJcGJ1cy0+cGJ1cy0+cGJkbWFfY3RybCA9IEhQQzNfUERNQUNUUkxfTEQ7CisJaGFsMl9pX2NsZWFyYml0MTYoaGFsMiwgSDJJX0RNQV9QT1JUX0VOLCBIMklfRE1BX1BPUlRfRU5fQ09ERUNUWCk7CisJLyogU2V0dXAgdGhlIEhBTDIgZm9yIHBsYXliYWNrICovCisJaGFsMl9zZXRfZGFjX3JhdGUoaGFsMik7CisJLyogU2V0IGVuZGlhbmVzcyAqLworCWhhbDJfaV9jbGVhcmJpdDE2KGhhbDIsIEgySV9ETUFfRU5ELCBIMklfRE1BX0VORF9DT0RFQ1RYKTsKKwkvKiBTZXQgRE1BIGJ1cyAqLworCWhhbDJfaV9zZXRiaXQxNihoYWwyLCBIMklfRE1BX0RSViwgKDEgPDwgcGJ1cy0+cGJ1c25yKSk7CisJLyogV2UgYXJlIHVzaW5nIDFzdCBCcmVzZW5oYW0gY2xvY2sgZ2VuZXJhdG9yIGZvciBwbGF5YmFjayAqLworCWhhbDJfaV93cml0ZTE2KGhhbDIsIEgySV9EQUNfQzEsIChwYnVzLT5wYnVzbnIgPDwgSDJJX0MxX0RNQV9TSElGVCkKKwkJCXwgKDEgPDwgSDJJX0MxX0NMS0lEX1NISUZUKQorCQkJfCAoaGFsMi0+ZGFjLnZvaWNlcyA8PCBIMklfQzFfREFUQVRfU0hJRlQpKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9zZXR1cF9hZGMoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCXVuc2lnbmVkIGludCBmaWZvYmVnLCBmaWZvZW5kLCBoaWdod2F0ZXIsIHNhbXBsZV9zaXplOworCXN0cnVjdCBoYWwyX3BidXMgKnBidXMgPSAmaGFsMi0+YWRjLnBidXM7CisKKwlzYW1wbGVfc2l6ZSA9IDIgKiBoYWwyLT5hZGMudm9pY2VzOworCWhpZ2h3YXRlciA9IChzYW1wbGVfc2l6ZSAqIDIpID4+IDE7CQkvKiBoYWxmd29yZHMgKi8KKwlmaWZvYmVnID0gKDQgKiA0KSA+PiAzOwkJCQkvKiByZWNvcmQgaXMgc2Vjb25kICovCisJZmlmb2VuZCA9ICg0ICogNCArIHNhbXBsZV9zaXplICogNCkgPj4gMzsJLyogZG91Ymxld29yZHMgKi8KKwlwYnVzLT5jdHJsID0gSFBDM19QRE1BQ1RSTF9SVCB8IEhQQzNfUERNQUNUUkxfUkNWIHwgSFBDM19QRE1BQ1RSTF9MRCB8CisJCSAgICAgKGhpZ2h3YXRlciA8PCA4KSB8IChmaWZvYmVnIDw8IDE2KSB8IChmaWZvZW5kIDw8IDI0KTsKKwlwYnVzLT5wYnVzLT5wYmRtYV9jdHJsID0gSFBDM19QRE1BQ1RSTF9MRDsKKwloYWwyX2lfY2xlYXJiaXQxNihoYWwyLCBIMklfRE1BX1BPUlRfRU4sIEgySV9ETUFfUE9SVF9FTl9DT0RFQ1IpOworCS8qIFNldHVwIHRoZSBIQUwyIGZvciByZWNvcmQgKi8KKwloYWwyX3NldF9hZGNfcmF0ZShoYWwyKTsKKwkvKiBTZXQgZW5kaWFuZXNzICovCisJaGFsMl9pX2NsZWFyYml0MTYoaGFsMiwgSDJJX0RNQV9FTkQsIEgySV9ETUFfRU5EX0NPREVDUik7CisJLyogU2V0IERNQSBidXMgKi8KKwloYWwyX2lfc2V0Yml0MTYoaGFsMiwgSDJJX0RNQV9EUlYsICgxIDw8IHBidXMtPnBidXNucikpOworCS8qIFdlIGFyZSB1c2luZyAybmQgQnJlc2VuaGFtIGNsb2NrIGdlbmVyYXRvciBmb3IgcmVjb3JkICovCisJaGFsMl9pX3dyaXRlMTYoaGFsMiwgSDJJX0FEQ19DMSwgKHBidXMtPnBidXNuciA8PCBIMklfQzFfRE1BX1NISUZUKQorCQkJfCAoMiA8PCBIMklfQzFfQ0xLSURfU0hJRlQpCisJCQl8IChoYWwyLT5hZGMudm9pY2VzIDw8IEgySV9DMV9EQVRBVF9TSElGVCkpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3N0YXJ0X2RhYyhzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJc3RydWN0IGhhbDJfcGJ1cyAqcGJ1cyA9ICZoYWwyLT5kYWMucGJ1czsKKworCXBidXMtPnBidXMtPnBiZG1hX2RwdHIgPSBoYWwyLT5kYWMuZGVzY19kbWE7CisJcGJ1cy0+cGJ1cy0+cGJkbWFfY3RybCA9IHBidXMtPmN0cmwgfCBIUEMzX1BETUFDVFJMX0FDVDsKKwkvKiBlbmFibGUgREFDICovCisJaGFsMl9pX3NldGJpdDE2KGhhbDIsIEgySV9ETUFfUE9SVF9FTiwgSDJJX0RNQV9QT1JUX0VOX0NPREVDVFgpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3N0YXJ0X2FkYyhzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJc3RydWN0IGhhbDJfcGJ1cyAqcGJ1cyA9ICZoYWwyLT5hZGMucGJ1czsKKworCXBidXMtPnBidXMtPnBiZG1hX2RwdHIgPSBoYWwyLT5hZGMuZGVzY19kbWE7CisJcGJ1cy0+cGJ1cy0+cGJkbWFfY3RybCA9IHBidXMtPmN0cmwgfCBIUEMzX1BETUFDVFJMX0FDVDsKKwkvKiBlbmFibGUgQURDICovCisJaGFsMl9pX3NldGJpdDE2KGhhbDIsIEgySV9ETUFfUE9SVF9FTiwgSDJJX0RNQV9QT1JUX0VOX0NPREVDUik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBoYWwyX3N0b3BfZGFjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwloYWwyLT5kYWMucGJ1cy5wYnVzLT5wYmRtYV9jdHJsID0gSFBDM19QRE1BQ1RSTF9MRDsKKwkvKiBUaGUgSEFMMiBpdHNlbGYgbWF5IHJlbWFpbiBlbmFibGVkIHNhZmVseSAqLworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgaGFsMl9zdG9wX2FkYyhzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJaGFsMi0+YWRjLnBidXMucGJ1cy0+cGJkbWFfY3RybCA9IEhQQzNfUERNQUNUUkxfTEQ7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9hbGxvY19kbWFidWYoc3RydWN0IGhhbDJfY29kZWMgKmNvZGVjKQoreworCXN0cnVjdCBoYWwyX2Rlc2MgKmRlc2M7CisJZG1hX2FkZHJfdCBkZXNjX2RtYSwgYnVmZmVyX2RtYTsKKwlpbnQgY291bnQgPSBIMl9CVUZfU0laRSAvIEgyX0JMT0NLX1NJWkU7CisJaW50IGk7CisKKwljb2RlYy0+YnVmZmVyID0gZG1hX2FsbG9jX25vbmNvaGVyZW50KE5VTEwsIEgyX0JVRl9TSVpFLAorCQkJCQkgICAgICAmYnVmZmVyX2RtYSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjb2RlYy0+YnVmZmVyKQorCQlyZXR1cm4gLUVOT01FTTsKKwlkZXNjID0gZG1hX2FsbG9jX25vbmNvaGVyZW50KE5VTEwsIGNvdW50ICogc2l6ZW9mKHN0cnVjdCBoYWwyX2Rlc2MpLAorCQkJCSAgICAgJmRlc2NfZG1hLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWRlc2MpIHsKKwkJZG1hX2ZyZWVfbm9uY29oZXJlbnQoTlVMTCwgSDJfQlVGX1NJWkUsCisJCQkJICAgICBjb2RlYy0+YnVmZmVyLCBidWZmZXJfZG1hKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWNvZGVjLT5idWZmZXJfZG1hID0gYnVmZmVyX2RtYTsKKwljb2RlYy0+ZGVzY19kbWEgPSBkZXNjX2RtYTsKKwljb2RlYy0+ZGVzYyA9IGRlc2M7CisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJZGVzYy0+ZGVzYy5wYnVmID0gYnVmZmVyX2RtYSArIGkgKiBIMl9CTE9DS19TSVpFOworCQlkZXNjLT5kZXNjLmNudGluZm8gPSBIUENETUFfWElFIHwgSDJfQkxPQ0tfU0laRTsKKwkJZGVzYy0+ZGVzYy5wbmV4dCA9IChpID09IGNvdW50IC0gMSkgPworCQkgICAgICBkZXNjX2RtYSA6IGRlc2NfZG1hICsgKGkgKyAxKSAqIHNpemVvZihzdHJ1Y3QgaGFsMl9kZXNjKTsKKwkJZGVzYysrOworCX0KKwlkbWFfY2FjaGVfc3luYyhOVUxMLCBjb2RlYy0+ZGVzYywgY291bnQgKiBzaXplb2Yoc3RydWN0IGhhbDJfZGVzYyksCisJCSAgICAgICBETUFfVE9fREVWSUNFKTsKKwljb2RlYy0+ZGVzY19jb3VudCA9IGNvdW50OworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBoYWwyX2ZyZWVfZG1hYnVmKHN0cnVjdCBoYWwyX2NvZGVjICpjb2RlYykKK3sKKwlkbWFfZnJlZV9ub25jb2hlcmVudChOVUxMLCBjb2RlYy0+ZGVzY19jb3VudCAqIHNpemVvZihzdHJ1Y3QgaGFsMl9kZXNjKSwKKwkJCSAgICAgY29kZWMtPmRlc2MsIGNvZGVjLT5kZXNjX2RtYSk7CisJZG1hX2ZyZWVfbm9uY29oZXJlbnQoTlVMTCwgSDJfQlVGX1NJWkUsIGNvZGVjLT5idWZmZXIsCisJCQkgICAgIGNvZGVjLT5idWZmZXJfZG1hKTsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIGhhbDJfcGNtX2h3ID0geworCS5pbmZvID0gKFNORFJWX1BDTV9JTkZPX01NQVAgfAorCQkgU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8CisJCSBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCB8CisJCSBTTkRSVl9QQ01fSU5GT19CTE9DS19UUkFOU0ZFUiksCisJLmZvcm1hdHMgPSAgICAgICAgICBTTkRSVl9QQ01fRk1UQklUX1MxNl9CRSwKKwkucmF0ZXMgPSAgICAgICAgICAgIFNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAsCisJLnJhdGVfbWluID0gICAgICAgICA4MDAwLAorCS5yYXRlX21heCA9ICAgICAgICAgNDgwMDAsCisJLmNoYW5uZWxzX21pbiA9ICAgICAyLAorCS5jaGFubmVsc19tYXggPSAgICAgMiwKKwkuYnVmZmVyX2J5dGVzX21heCA9IDY1NTM2LAorCS5wZXJpb2RfYnl0ZXNfbWluID0gMTAyNCwKKwkucGVyaW9kX2J5dGVzX21heCA9IDY1NTM2LAorCS5wZXJpb2RzX21pbiA9ICAgICAgMiwKKwkucGVyaW9kc19tYXggPSAgICAgIDEwMjQsCit9OworCitzdGF0aWMgaW50IGhhbDJfcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCWludCBlcnI7CisKKwllcnIgPSBzbmRfcGNtX2xpYl9tYWxsb2NfcGFnZXMoc3Vic3RyZWFtLCBwYXJhbXNfYnVmZmVyX2J5dGVzKHBhcmFtcykpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9wY21faHdfZnJlZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlyZXR1cm4gc25kX3BjbV9saWJfZnJlZV9wYWdlcyhzdWJzdHJlYW0pOworfQorCitzdGF0aWMgaW50IGhhbDJfcGxheWJhY2tfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlpbnQgZXJyOworCisJcnVudGltZS0+aHcgPSBoYWwyX3BjbV9odzsKKworCWVyciA9IGhhbDJfYWxsb2NfZG1hYnVmKCZoYWwyLT5kYWMpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja19jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisKKwloYWwyX2ZyZWVfZG1hYnVmKCZoYWwyLT5kYWMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfcGxheWJhY2tfcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqZGFjID0gJmhhbDItPmRhYzsKKworCWRhYy0+dm9pY2VzID0gcnVudGltZS0+Y2hhbm5lbHM7CisJZGFjLT5zYW1wbGVfcmF0ZSA9IGhhbDJfY29tcHV0ZV9yYXRlKGRhYywgcnVudGltZS0+cmF0ZSk7CisJbWVtc2V0KCZkYWMtPnBjbV9pbmRpcmVjdCwgMCwgc2l6ZW9mKGRhYy0+cGNtX2luZGlyZWN0KSk7CisJZGFjLT5wY21faW5kaXJlY3QuaHdfYnVmZmVyX3NpemUgPSBIMl9CVUZfU0laRTsKKwlkYWMtPnBjbV9pbmRpcmVjdC5zd19idWZmZXJfc2l6ZSA9IHNuZF9wY21fbGliX2J1ZmZlcl9ieXRlcyhzdWJzdHJlYW0pOworCWRhYy0+c3Vic3RyZWFtID0gc3Vic3RyZWFtOworCWhhbDJfc2V0dXBfZGFjKGhhbDIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfcGxheWJhY2tfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJCWhhbDItPmRhYy5wY21faW5kaXJlY3QuaHdfaW8gPSBoYWwyLT5kYWMuYnVmZmVyX2RtYTsKKwkJaGFsMi0+ZGFjLnBjbV9pbmRpcmVjdC5od19kYXRhID0gMDsKKwkJc3Vic3RyZWFtLT5vcHMtPmFjayhzdWJzdHJlYW0pOworCQloYWwyX3N0YXJ0X2RhYyhoYWwyKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCQloYWwyX3N0b3BfZGFjKGhhbDIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdAoraGFsMl9wbGF5YmFja19wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqZGFjID0gJmhhbDItPmRhYzsKKworCXJldHVybiBzbmRfcGNtX2luZGlyZWN0X3BsYXliYWNrX3BvaW50ZXIoc3Vic3RyZWFtLCAmZGFjLT5wY21faW5kaXJlY3QsCisJCQkJCQkgZGFjLT5wYnVzLnBidXMtPnBiZG1hX2JwdHIpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3BsYXliYWNrX3RyYW5zZmVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSAgIHN0cnVjdCBzbmRfcGNtX2luZGlyZWN0ICpyZWMsIHNpemVfdCBieXRlcykKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJdW5zaWduZWQgY2hhciAqYnVmID0gaGFsMi0+ZGFjLmJ1ZmZlciArIHJlYy0+aHdfZGF0YTsKKworCW1lbWNweShidWYsIHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FyZWEgKyByZWMtPnN3X2RhdGEsIGJ5dGVzKTsKKwlkbWFfY2FjaGVfc3luYyhOVUxMLCBidWYsIGJ5dGVzLCBETUFfVE9fREVWSUNFKTsKKworfQorCitzdGF0aWMgaW50IGhhbDJfcGxheWJhY2tfYWNrKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqZGFjID0gJmhhbDItPmRhYzsKKworCWRhYy0+cGNtX2luZGlyZWN0Lmh3X3F1ZXVlX3NpemUgPSBIMl9CVUZfU0laRSAvIDI7CisJc25kX3BjbV9pbmRpcmVjdF9wbGF5YmFja190cmFuc2ZlcihzdWJzdHJlYW0sCisJCQkJCSAgICZkYWMtPnBjbV9pbmRpcmVjdCwKKwkJCQkJICAgaGFsMl9wbGF5YmFja190cmFuc2Zlcik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9jYXB0dXJlX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IGhhbDJfY29kZWMgKmFkYyA9ICZoYWwyLT5hZGM7CisJaW50IGVycjsKKworCXJ1bnRpbWUtPmh3ID0gaGFsMl9wY21faHc7CisKKwllcnIgPSBoYWwyX2FsbG9jX2RtYWJ1ZihhZGMpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9jYXB0dXJlX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKworCWhhbDJfZnJlZV9kbWFidWYoJmhhbDItPmFkYyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9jYXB0dXJlX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGhhbDJfY29kZWMgKmFkYyA9ICZoYWwyLT5hZGM7CisKKwlhZGMtPnZvaWNlcyA9IHJ1bnRpbWUtPmNoYW5uZWxzOworCWFkYy0+c2FtcGxlX3JhdGUgPSBoYWwyX2NvbXB1dGVfcmF0ZShhZGMsIHJ1bnRpbWUtPnJhdGUpOworCW1lbXNldCgmYWRjLT5wY21faW5kaXJlY3QsIDAsIHNpemVvZihhZGMtPnBjbV9pbmRpcmVjdCkpOworCWFkYy0+cGNtX2luZGlyZWN0Lmh3X2J1ZmZlcl9zaXplID0gSDJfQlVGX1NJWkU7CisJYWRjLT5wY21faW5kaXJlY3QuaHdfcXVldWVfc2l6ZSA9IEgyX0JVRl9TSVpFIC8gMjsKKwlhZGMtPnBjbV9pbmRpcmVjdC5zd19idWZmZXJfc2l6ZSA9IHNuZF9wY21fbGliX2J1ZmZlcl9ieXRlcyhzdWJzdHJlYW0pOworCWFkYy0+c3Vic3RyZWFtID0gc3Vic3RyZWFtOworCWhhbDJfc2V0dXBfYWRjKGhhbDIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfY2FwdHVyZV90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwkJaGFsMi0+YWRjLnBjbV9pbmRpcmVjdC5od19pbyA9IGhhbDItPmFkYy5idWZmZXJfZG1hOworCQloYWwyLT5hZGMucGNtX2luZGlyZWN0Lmh3X2RhdGEgPSAwOworCQlwcmludGsoS0VSTl9ERUJVRyAiYnVmZmVyX2RtYSAleFxuIiwgaGFsMi0+YWRjLmJ1ZmZlcl9kbWEpOworCQloYWwyX3N0YXJ0X2FkYyhoYWwyKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCQloYWwyX3N0b3BfYWRjKGhhbDIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdAoraGFsMl9jYXB0dXJlX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBoYWwyX2NvZGVjICphZGMgPSAmaGFsMi0+YWRjOworCisJcmV0dXJuIHNuZF9wY21faW5kaXJlY3RfY2FwdHVyZV9wb2ludGVyKHN1YnN0cmVhbSwgJmFkYy0+cGNtX2luZGlyZWN0LAorCQkJCQkJYWRjLT5wYnVzLnBidXMtPnBiZG1hX2JwdHIpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX2NhcHR1cmVfdHJhbnNmZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICBzdHJ1Y3Qgc25kX3BjbV9pbmRpcmVjdCAqcmVjLCBzaXplX3QgYnl0ZXMpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IGhhbDItPmFkYy5idWZmZXIgKyByZWMtPmh3X2RhdGE7CisKKwlkbWFfY2FjaGVfc3luYyhOVUxMLCBidWYsIGJ5dGVzLCBETUFfRlJPTV9ERVZJQ0UpOworCW1lbWNweShzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhICsgcmVjLT5zd19kYXRhLCBidWYsIGJ5dGVzKTsKK30KKworc3RhdGljIGludCBoYWwyX2NhcHR1cmVfYWNrKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqYWRjID0gJmhhbDItPmFkYzsKKworCXNuZF9wY21faW5kaXJlY3RfY2FwdHVyZV90cmFuc2ZlcihzdWJzdHJlYW0sCisJCQkJCSAgJmFkYy0+cGNtX2luZGlyZWN0LAorCQkJCQkgIGhhbDJfY2FwdHVyZV90cmFuc2Zlcik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgaGFsMl9wbGF5YmFja19vcHMgPSB7CisJLm9wZW4gPSAgICAgICAgaGFsMl9wbGF5YmFja19vcGVuLAorCS5jbG9zZSA9ICAgICAgIGhhbDJfcGxheWJhY2tfY2xvc2UsCisJLmlvY3RsID0gICAgICAgc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcyA9ICAgaGFsMl9wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gICAgIGhhbDJfcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSAgICAgaGFsMl9wbGF5YmFja19wcmVwYXJlLAorCS50cmlnZ2VyID0gICAgIGhhbDJfcGxheWJhY2tfdHJpZ2dlciwKKwkucG9pbnRlciA9ICAgICBoYWwyX3BsYXliYWNrX3BvaW50ZXIsCisJLmFjayA9ICAgICAgICAgaGFsMl9wbGF5YmFja19hY2ssCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIGhhbDJfY2FwdHVyZV9vcHMgPSB7CisJLm9wZW4gPSAgICAgICAgaGFsMl9jYXB0dXJlX29wZW4sCisJLmNsb3NlID0gICAgICAgaGFsMl9jYXB0dXJlX2Nsb3NlLAorCS5pb2N0bCA9ICAgICAgIHNuZF9wY21fbGliX2lvY3RsLAorCS5od19wYXJhbXMgPSAgIGhhbDJfcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZSA9ICAgICBoYWwyX3BjbV9od19mcmVlLAorCS5wcmVwYXJlID0gICAgIGhhbDJfY2FwdHVyZV9wcmVwYXJlLAorCS50cmlnZ2VyID0gICAgIGhhbDJfY2FwdHVyZV90cmlnZ2VyLAorCS5wb2ludGVyID0gICAgIGhhbDJfY2FwdHVyZV9wb2ludGVyLAorCS5hY2sgPSAgICAgICAgIGhhbDJfY2FwdHVyZV9hY2ssCit9OworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBoYWwyX3BjbV9jcmVhdGUoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCXN0cnVjdCBzbmRfcGNtICpwY207CisJaW50IGVycjsKKworCS8qIGNyZWF0ZSBmaXJzdCBwY20gZGV2aWNlIHdpdGggb25lIG91dHB1dHMgYW5kIG9uZSBpbnB1dCAqLworCWVyciA9IHNuZF9wY21fbmV3KGhhbDItPmNhcmQsICJTR0kgSEFMMiBBdWRpbyIsIDAsIDEsIDEsICZwY20pOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcGNtLT5wcml2YXRlX2RhdGEgPSBoYWwyOworCXN0cmNweShwY20tPm5hbWUsICJTR0kgSEFMMiIpOworCisJLyogc2V0IG9wZXJhdG9ycyAqLworCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0ssCisJCQkmaGFsMl9wbGF5YmFja19vcHMpOworCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSwKKwkJCSZoYWwyX2NhcHR1cmVfb3BzKTsKKwlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlc19mb3JfYWxsKHBjbSwgU05EUlZfRE1BX1RZUEVfQ09OVElOVU9VUywKKwkJCQkJICAgc25kX2RtYV9jb250aW51b3VzX2RhdGEoR0ZQX0tFUk5FTCksCisJCQkJCSAgIDAsIDEwMjQgKiAxMDI0KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfZGV2X2ZyZWUoc3RydWN0IHNuZF9kZXZpY2UgKmRldmljZSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBkZXZpY2UtPmRldmljZV9kYXRhOworCisJZnJlZV9pcnEoU0dJX0hQQ0RNQV9JUlEsIGhhbDIpOworCWtmcmVlKGhhbDIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9kZXZpY2Vfb3BzIGhhbDJfb3BzID0geworCS5kZXZfZnJlZSA9IGhhbDJfZGV2X2ZyZWUsCit9OworCitzdGF0aWMgdm9pZCBoYWwyX2luaXRfY29kZWMoc3RydWN0IGhhbDJfY29kZWMgKmNvZGVjLCBzdHJ1Y3QgaHBjM19yZWdzICpocGMzLAorCQkJICAgIGludCBpbmRleCkKK3sKKwljb2RlYy0+cGJ1cy5wYnVzbnIgPSBpbmRleDsKKwljb2RlYy0+cGJ1cy5wYnVzID0gJmhwYzMtPnBiZG1hW2luZGV4XTsKK30KKworc3RhdGljIGludCBoYWwyX2RldGVjdChzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgc2hvcnQgYm9hcmQsIG1ham9yLCBtaW5vcjsKKwl1bnNpZ25lZCBzaG9ydCByZXY7CisKKwkvKiByZXNldCBIQUwyICovCisJaGFsMl93cml0ZSgwLCAmaGFsMi0+Y3RsX3JlZ3MtPmlzcik7CisKKwkvKiByZWxlYXNlIHJlc2V0ICovCisJaGFsMl93cml0ZShIMl9JU1JfR0xPQkFMX1JFU0VUX04gfCBIMl9JU1JfQ09ERUNfUkVTRVRfTiwKKwkJICAgJmhhbDItPmN0bF9yZWdzLT5pc3IpOworCisKKwloYWwyX2lfd3JpdGUxNihoYWwyLCBIMklfUkVMQVlfQywgSDJJX1JFTEFZX0NfU1RBVEUpOworCXJldiA9IGhhbDJfcmVhZCgmaGFsMi0+Y3RsX3JlZ3MtPnJldik7CisJaWYgKHJldiAmIEgyX1JFVl9BVURJT19QUkVTRU5UKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWJvYXJkID0gKHJldiAmIEgyX1JFVl9CT0FSRF9NKSA+PiAxMjsKKwltYWpvciA9IChyZXYgJiBIMl9SRVZfTUFKT1JfQ0hJUF9NKSA+PiA0OworCW1pbm9yID0gKHJldiAmIEgyX1JFVl9NSU5PUl9DSElQX00pOworCisJcHJpbnRrKEtFUk5fSU5GTyAiU0dJIEhBTDIgcmV2aXNpb24gJWkuJWkuJWlcbiIsCisJICAgICAgIGJvYXJkLCBtYWpvciwgbWlub3IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9jcmVhdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2hhbDIgKipyY2hpcCkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDI7CisJc3RydWN0IGhwYzNfcmVncyAqaHBjMyA9IGhwYzNjMDsKKwlpbnQgZXJyOworCisJaGFsMiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfaGFsMiksIEdGUF9LRVJORUwpOworCWlmICghaGFsMikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwloYWwyLT5jYXJkID0gY2FyZDsKKworCWlmIChyZXF1ZXN0X2lycShTR0lfSFBDRE1BX0lSUSwgaGFsMl9pbnRlcnJ1cHQsIElSUUZfU0hBUkVELAorCQkJIlNHSSBIQUwyIiwgaGFsMikpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJIQUwyOiBDYW4ndCBnZXQgaXJxICVkXG4iLCBTR0lfSFBDRE1BX0lSUSk7CisJCWtmcmVlKGhhbDIpOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisKKwloYWwyLT5jdGxfcmVncyA9IChzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqKWhwYzMtPnBidXNfZXh0cmVnc1swXTsKKwloYWwyLT5hZXNfcmVncyA9IChzdHJ1Y3QgaGFsMl9hZXNfcmVncyAqKWhwYzMtPnBidXNfZXh0cmVnc1sxXTsKKwloYWwyLT52b2xfcmVncyA9IChzdHJ1Y3QgaGFsMl92b2xfcmVncyAqKWhwYzMtPnBidXNfZXh0cmVnc1syXTsKKwloYWwyLT5zeW5fcmVncyA9IChzdHJ1Y3QgaGFsMl9zeW5fcmVncyAqKWhwYzMtPnBidXNfZXh0cmVnc1szXTsKKworCWlmIChoYWwyX2RldGVjdChoYWwyKSA8IDApIHsKKwkJa2ZyZWUoaGFsMik7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCWhhbDJfaW5pdF9jb2RlYygmaGFsMi0+ZGFjLCBocGMzLCAwKTsKKwloYWwyX2luaXRfY29kZWMoJmhhbDItPmFkYywgaHBjMywgMSk7CisKKwkvKgorCSAqIEFsbCBETUEgY2hhbm5lbCBpbnRlcmZhY2VzIGluIEhBTDIgYXJlIGRlc2lnbmVkIHRvIG9wZXJhdGUgd2l0aAorCSAqIFBCVVMgcHJvZ3JhbW1lZCBmb3IgMiBjeWNsZXMgaW4gRDMsIDIgY3ljbGVzIGluIEQ0IGFuZCAyIGN5Y2xlcworCSAqIGluIEQ1LiBIQUwyIGlzIGEgMTYtYml0IGRldmljZSB3aGljaCBjYW4gYWNjZXB0IGJvdGggYmlnIGFuZCBsaXR0bGUKKwkgKiBlbmRpYW4gZm9ybWF0LiBJdCBhc3N1bWVzIHRoYXQgZXZlbiBhZGRyZXNzIGJ5dGVzIGFyZSBvbiBoaWdoCisJICogcG9ydGlvbiBvZiBQQlVTICgxNTo4KSBhbmQgYXNzdW1lcyB0aGF0IEhQQzMgaXMgcHJvZ3JhbW1lZCB0bworCSAqIGFjY2VwdCBhIGxpdmUgKHVuc3luY2hyb25pemVkKSB2ZXJzaW9uIG9mIFBfRFJFUV9OIGZyb20gSEFMMi4KKwkgKi8KKyNkZWZpbmUgSEFMMl9QQlVTX0RNQUNGRyAoKDAgPDwgSFBDM19ETUFDRkdfRDNSX1NISUZUKSB8IFwKKwkJCSAgKDIgPDwgSFBDM19ETUFDRkdfRDRSX1NISUZUKSB8IFwKKwkJCSAgKDIgPDwgSFBDM19ETUFDRkdfRDVSX1NISUZUKSB8IFwKKwkJCSAgKDAgPDwgSFBDM19ETUFDRkdfRDNXX1NISUZUKSB8IFwKKwkJCSAgKDIgPDwgSFBDM19ETUFDRkdfRDRXX1NISUZUKSB8IFwKKwkJCSAgKDIgPDwgSFBDM19ETUFDRkdfRDVXX1NISUZUKSB8IFwKKwkJCQlIUEMzX0RNQUNGR19EUzE2IHwgXAorCQkJCUhQQzNfRE1BQ0ZHX0VWRU5ISSB8IFwKKwkJCQlIUEMzX0RNQUNGR19SVElNRSB8IFwKKwkJCSAgKDggPDwgSFBDM19ETUFDRkdfQlVSU1RfU0hJRlQpIHwgXAorCQkJCUhQQzNfRE1BQ0ZHX0RSUUxJVkUpCisJLyoKKwkgKiBJZ25vcmUgd2hhdCdzIG1lbnRpb25lZCBpbiB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgd3JpdGUgdmFsdWUgd2hpY2gKKwkgKiB3b3JrcyBpbiBUaGUgUmVhbCBXb3JsZCAoVE0pCisJICovCisJaHBjMy0+cGJ1c19kbWFjZmdbaGFsMi0+ZGFjLnBidXMucGJ1c25yXVswXSA9IDB4ODIwODg0NDsKKwlocGMzLT5wYnVzX2RtYWNmZ1toYWwyLT5hZGMucGJ1cy5wYnVzbnJdWzBdID0gMHg4MjA4ODQ0OworCisJZXJyID0gc25kX2RldmljZV9uZXcoY2FyZCwgU05EUlZfREVWX0xPV0xFVkVMLCBoYWwyLCAmaGFsMl9vcHMpOworCWlmIChlcnIgPCAwKSB7CisJCWZyZWVfaXJxKFNHSV9IUENETUFfSVJRLCBoYWwyKTsKKwkJa2ZyZWUoaGFsMik7CisJCXJldHVybiBlcnI7CisJfQorCSpyY2hpcCA9IGhhbDI7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGhhbDJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CisJc3RydWN0IHNuZF9oYWwyICpjaGlwOworCWludCBlcnI7CisKKwljYXJkID0gc25kX2NhcmRfbmV3KGluZGV4LCBpZCwgVEhJU19NT0RVTEUsIDApOworCWlmIChjYXJkID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJZXJyID0gaGFsMl9jcmVhdGUoY2FyZCwgJmNoaXApOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCXNuZF9jYXJkX3NldF9kZXYoY2FyZCwgJnBkZXYtPmRldik7CisKKwllcnIgPSBoYWwyX3BjbV9jcmVhdGUoY2hpcCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJZXJyID0gaGFsMl9taXhlcl9jcmVhdGUoY2hpcCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlzdHJjcHkoY2FyZC0+ZHJpdmVyLCAiU0dJIEhBTDIgQXVkaW8iKTsKKwlzdHJjcHkoY2FyZC0+c2hvcnRuYW1lLCAiU0dJIEhBTDIgQXVkaW8iKTsKKwlzcHJpbnRmKGNhcmQtPmxvbmduYW1lLCAiJXMgaXJxICVpIiwKKwkJY2FyZC0+c2hvcnRuYW1lLAorCQlTR0lfSFBDRE1BX0lSUSk7CisKKwllcnIgPSBzbmRfY2FyZF9yZWdpc3RlcihjYXJkKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBjYXJkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2V4aXQgaGFsMl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgTlVMTCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGhhbDJfZHJpdmVyID0geworCS5wcm9iZQk9IGhhbDJfcHJvYmUsCisJLnJlbW92ZQk9IF9fZGV2ZXhpdF9wKGhhbDJfcmVtb3ZlKSwKKwkuZHJpdmVyID0geworCQkubmFtZQk9ICJzZ2loYWwyIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfQorfTsKKworc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX2hhbDJfaW5pdCh2b2lkKQoreworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJmhhbDJfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGFsc2FfY2FyZF9oYWwyX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmaGFsMl9kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChhbHNhX2NhcmRfaGFsMl9pbml0KTsKK21vZHVsZV9leGl0KGFsc2FfY2FyZF9oYWwyX2V4aXQpOwpkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9oYWwyLmggYi9zb3VuZC9taXBzL2hhbDIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTk4MjhiCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvbWlwcy9oYWwyLmgKQEAgLTAsMCArMSwyNDUgQEAKKyNpZm5kZWYgX19IQUwyX0gKKyNkZWZpbmUgX19IQUwyX0gKKworLyoKKyAqICBEcml2ZXIgZm9yIEhBTDIgc291bmQgcHJvY2Vzc29ycworICogIENvcHlyaWdodCAoYykgMTk5OSBVbGYgQ2FybHNzb24gPHVsZmNAYnVuLmZhbGtlbmJlcmcuc2U+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAxLCAyMDAyLCAyMDAzIExhZGlzbGF2IE1pY2hsIDxsYWRpc0BsaW51eC1taXBzLm9yZz4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisvKiBJbmRpcmVjdCBzdGF0dXMgcmVnaXN0ZXIgKi8KKworI2RlZmluZSBIMl9JU1JfVFNUQVRVUwkJMHgwMQkvKiBSTzogdHJhbnNhY3Rpb24gc3RhdHVzIDE9YnVzeSAqLworI2RlZmluZSBIMl9JU1JfVVNUQVRVUwkJMHgwMgkvKiBSTzogdXRpbWUgc3RhdHVzIGJpdCAxPWFybWVkICovCisjZGVmaW5lIEgyX0lTUl9RVUFEX01PREUJMHgwNAkvKiBjb2RlYyBtb2RlIDA9aW5kaWdvIDE9cXVhZCAqLworI2RlZmluZSBIMl9JU1JfR0xPQkFMX1JFU0VUX04JMHgwOAkvKiBjaGlwIGdsb2JhbCByZXNldCAwPXJlc2V0ICovCisjZGVmaW5lIEgyX0lTUl9DT0RFQ19SRVNFVF9OCTB4MTAJLyogY29kZWMvc3ludGggcmVzZXQgMD1yZXNldCAgKi8KKworLyogUmV2aXNpb24gcmVnaXN0ZXIgKi8KKworI2RlZmluZSBIMl9SRVZfQVVESU9fUFJFU0VOVAkweDgwMDAJLyogUk86IGF1ZGlvIHByZXNlbnQgMD1wcmVzZW50ICovCisjZGVmaW5lIEgyX1JFVl9CT0FSRF9NCQkweDcwMDAJLyogUk86IGJpdHMgMTQ6MTIsIGJvYXJkIHJldmlzaW9uICovCisjZGVmaW5lIEgyX1JFVl9NQUpPUl9DSElQX00JMHgwMEYwCS8qIFJPOiBiaXRzIDc6NCwgbWFqb3IgY2hpcCByZXZpc2lvbiAqLworI2RlZmluZSBIMl9SRVZfTUlOT1JfQ0hJUF9NCTB4MDAwRgkvKiBSTzogYml0cyAzOjAsIG1pbm9yIGNoaXAgcmV2aXNpb24gKi8KKworLyogSW5kaXJlY3QgYWRkcmVzcyByZWdpc3RlciAqLworCisvKgorICogQWRkcmVzcyBvZiBpbmRpcmVjdCBpbnRlcm5hbCByZWdpc3RlciB0byBiZSBhY2Nlc3NlZC4gQSB3cml0ZSB0byB0aGlzCisgKiByZWdpc3RlciBpbml0aWF0ZXMgcmVhZCBvciB3cml0ZSBhY2Nlc3MgdG8gdGhlIGluZGlyZWN0IHJlZ2lzdGVycyBpbiB0aGUKKyAqIEhBTDIuIE5vdGUgdGhhdCB0aGVyZSBhZiBmb3VyIGluZGlyZWN0IGRhdGEgcmVnaXN0ZXJzIGZvciB3cml0ZSBhY2Nlc3MgdG8KKyAqIHJlZ2lzdGVycyBsYXJnZXIgdGhhbiAxNiBieXRlLgorICovCisKKyNkZWZpbmUgSDJfSUFSX1RZUEVfTQkJMHhGMDAwCS8qIGJpdHMgMTU6MTIsIHR5cGUgb2YgZnVuY3Rpb25hbCAqLworCQkJCQkvKiBibG9jayB0aGUgcmVnaXN0ZXIgcmVzaWRlcyBpbiAqLworCQkJCQkvKiAxPURNQSBQb3J0ICovCisJCQkJCS8qIDk9R2xvYmFsIERNQSBDb250cm9sICovCisJCQkJCS8qIDI9QnJlc2VuaGFtICovCisJCQkJCS8qIDM9VW5peCBUaW1lciAqLworI2RlZmluZSBIMl9JQVJfTlVNX00JCTB4MEYwMAkvKiBiaXRzIDExOjggaW5zdGFuY2Ugb2YgdGhlICovCisJCQkJCS8qIGJsb2NraW4gd2hpY2ggdGhlIGluZGlyZWN0ICovCisJCQkJCS8qIHJlZ2lzdGVyIHJlc2lkZXMgKi8KKwkJCQkJLyogSWYgSUFSX1RZUEVfTT1ETUEgUG9ydDogKi8KKwkJCQkJLyogMT1TeW50aCBJbiAqLworCQkJCQkvKiAyPUFFUyBJbiAqLworCQkJCQkvKiAzPUFFUyBPdXQgKi8KKwkJCQkJLyogND1EQUMgT3V0ICovCisJCQkJCS8qIDU9QURDIE91dCAqLworCQkJCQkvKiA2PVN5bnRoIENvbnRyb2wgKi8KKwkJCQkJLyogSWYgSUFSX1RZUEVfTT1HbG9iYWwgRE1BIENvbnRyb2w6ICovCisJCQkJCS8qIDE9Q29udHJvbCAqLworCQkJCQkvKiBJZiBJQVJfVFlQRV9NPUJyZXNlbmhhbTogKi8KKwkJCQkJLyogMT1CcmVzZW5oYW0gQ2xvY2sgR2VuIDEgKi8KKwkJCQkJLyogMj1CcmVzZW5oYW0gQ2xvY2sgR2VuIDIgKi8KKwkJCQkJLyogMz1CcmVzZW5oYW0gQ2xvY2sgR2VuIDMgKi8KKwkJCQkJLyogSWYgSUFSX1RZUEVfTT1Vbml4IFRpbWVyOiAqLworCQkJCQkvKiAxPVVuaXggVGltZXIgKi8KKyNkZWZpbmUgSDJfSUFSX0FDQ0VTU19TRUxFQ1QJMHgwMDgwCS8qIDE9cmVhZCAwPXdyaXRlICovCisjZGVmaW5lIEgyX0lBUl9QQVJBTQkJMHgwMDBDCS8qIFBhcmFtZXRlciBTZWxlY3QgKi8KKyNkZWZpbmUgSDJfSUFSX1JCX0lOREVYX00JMHgwMDAzCS8qIFJlYWQgQmFjayBJbmRleCAqLworCQkJCQkvKiAwMDp3b3JkMCAqLworCQkJCQkvKiAwMTp3b3JkMSAqLworCQkJCQkvKiAxMDp3b3JkMiAqLworCQkJCQkvKiAxMTp3b3JkMyAqLworLyoKKyAqIEhBTDIgaW50ZXJuYWwgYWRkcmVzc2luZworICoKKyAqIFRoZSBIQUwyIGhhcyAiaW5kaXJlY3QgcmVnaXN0ZXJzIiAoaWRyKSB3aGljaCBhcmUgYWNjZXNzZWQgYnkgd3JpdGluZyB0byB0aGUKKyAqIEluZGlyZWN0IERhdGEgcmVnaXN0ZXJzLiBXcml0ZSB0aGUgYWRkcmVzcyB0byB0aGUgSW5kaXJlY3QgQWRkcmVzcyByZWdpc3RlcgorICogdG8gdHJhbnNmZXIgdGhlIGRhdGEuCisgKgorICogV2UgZGVmaW5lIHRoZSBIMklSXyogdG8gdGhlIHJlYWQgYWRkcmVzcyBhbmQgSDJJV18qIHRvIHRoZSB3cml0ZSBhZGRyZXNzIGFuZAorICogSDJJXyogdG8gYmUgZmllbGRzIGluIHdoYXRldmVyIHJlZ2lzdGVyIGlzIHJlZmVycmVkIHRvLgorICoKKyAqIFdoZW4gd2Ugd3JpdGUgdG8gaW5kaXJlY3QgcmVnaXN0ZXJzIHdoaWNoIGFyZSBsYXJnZXIgdGhhbiBvbmUgd29yZCAoMTYgYml0KQorICogd2UgaGF2ZSB0byBmaWxsIG1vcmUgdGhhbiBvbmUgaW5kaXJlY3QgcmVnaXN0ZXIgYmVmb3JlIHdyaXRpbmcuIFdoZW4gd2UgcmVhZAorICogYmFjayBob3dldmVyIHdlIGhhdmUgdG8gcmVhZCBzZXZlcmFsIHRpbWVzLCBlYWNoIHRpbWUgd2l0aCBkaWZmZXJlbnQgUmVhZAorICogQmFjayBJbmRleGVzICh0aGVyZSBhcmUgZGVmcyBmb3IgZG9pbmcgdGhpcyBlYXNpbHkpLgorICovCisKKy8qCisgKiBSZWxheSBDb250cm9sCisgKi8KKyNkZWZpbmUgSDJJX1JFTEFZX0MJCTB4OTEwMAorI2RlZmluZSBIMklfUkVMQVlfQ19TVEFURQkweDAxCQkvKiBzdGF0ZSBvZiBSRUxBWSBwaW4gc2lnbmFsICovCisKKy8qIERNQSBwb3J0IGVuYWJsZSAqLworCisjZGVmaW5lIEgySV9ETUFfUE9SVF9FTgkJMHg5MTA0CisjZGVmaW5lIEgySV9ETUFfUE9SVF9FTl9TWV9JTgkweDAxCQkvKiBTeW50aF9pbiBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX1BPUlRfRU5fQUVTUlgJMHgwMgkJLyogQUVTIHJlY2VpdmVyIERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfUE9SVF9FTl9BRVNUWAkweDA0CQkvKiBBRVMgdHJhbnNtaXR0ZXIgRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOX0NPREVDVFgJMHgwOAkJLyogQ09ERUMgdHJhbnNtaXQgRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOX0NPREVDUgkweDEwCQkvKiBDT0RFQyByZWNlaXZlIERNQSBwb3J0ICovCisKKyNkZWZpbmUgSDJJX0RNQV9FTkQJCTB4OTEwOCAJCS8qIGdsb2JhbCBkbWEgZW5kaWFuIHNlbGVjdCAqLworI2RlZmluZSBIMklfRE1BX0VORF9TWV9JTgkweDAxCQkvKiBTeW50aF9pbiBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX0VORF9BRVNSWAkweDAyCQkvKiBBRVMgcmVjZWl2ZXIgRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9FTkRfQUVTVFgJMHgwNAkJLyogQUVTIHRyYW5zbWl0dGVyIERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfRU5EX0NPREVDVFgJMHgwOAkJLyogQ09ERUMgdHJhbnNtaXQgRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9FTkRfQ09ERUNSCTB4MTAJCS8qIENPREVDIHJlY2VpdmUgRE1BIHBvcnQgKi8KKwkJCQkJCS8qIDA9Yl9lbmQgMT1sX2VuZCAqLworCisjZGVmaW5lIEgySV9ETUFfRFJWCQkweDkxMEMgIAkvKiBnbG9iYWwgUEJVUyBETUEgZW5hYmxlICovCisKKyNkZWZpbmUgSDJJX1NZTlRIX0MJCTB4MTEwNAkJLyogU3ludGggRE1BIGNvbnRyb2wgKi8KKworI2RlZmluZSBIMklfQUVTUlhfQwkJMHgxMjA0CSAJLyogQUVTIFJYIGRtYSBjb250cm9sICovCisKKyNkZWZpbmUgSDJJX0NfVFNfRU4JCTB4MjAJCS8qIFRpbWVzdGFtcCBlbmFibGUgKi8KKyNkZWZpbmUgSDJJX0NfVFNfRlJNVAkJMHg0MAkJLyogVGltZXN0YW1wIGZvcm1hdCAqLworI2RlZmluZSBIMklfQ19OQVVESU8JCTB4ODAJCS8qIFNpZ24gZXh0ZW5kICovCisKKy8qIEFFU1JYIENUTCwgMTYgYml0ICovCisKKyNkZWZpbmUgSDJJX0FFU1RYX0MJCTB4MTMwNAkJLyogQUVTIFRYIERNQSBjb250cm9sICovCisjZGVmaW5lIEgySV9BRVNUWF9DX0NMS0lEX1NISUZUCTMJCS8qIEJyZXNlbmhhbSBDbG9jayBHZW4gMS0zICovCisjZGVmaW5lIEgySV9BRVNUWF9DX0NMS0lEX00JMHgxOAorI2RlZmluZSBIMklfQUVTVFhfQ19EQVRBVF9TSElGVAk4CQkvKiAxPW1vbm8gMj1zdGVyZW8gKDM9cXVhZCkgKi8KKyNkZWZpbmUgSDJJX0FFU1RYX0NfREFUQVRfTQkweDMwMAorCisvKiBDT0RFQyByZWdpc3RlcnMgKi8KKworI2RlZmluZSBIMklfREFDX0MxCQkweDE0MDQgCQkvKiBEQUMgRE1BIGNvbnRyb2wsIDE2IGJpdCAqLworI2RlZmluZSBIMklfREFDX0MyCQkweDE0MDgJCS8qIERBQyBETUEgY29udHJvbCwgMzIgYml0ICovCisjZGVmaW5lIEgySV9BRENfQzEJCTB4MTUwNCAJCS8qIEFEQyBETUEgY29udHJvbCwgMTYgYml0ICovCisjZGVmaW5lIEgySV9BRENfQzIJCTB4MTUwOAkJLyogQURDIERNQSBjb250cm9sLCAzMiBiaXQgKi8KKworLyogQml0cyBpbiBDVEwxIHJlZ2lzdGVyICovCisKKyNkZWZpbmUgSDJJX0MxX0RNQV9TSElGVAkwCQkvKiBETUEgY2hhbm5lbCAqLworI2RlZmluZSBIMklfQzFfRE1BX00JCTB4NworI2RlZmluZSBIMklfQzFfQ0xLSURfU0hJRlQJMwkJLyogQnJlc2VuaGFtIENsb2NrIEdlbiAxLTMgKi8KKyNkZWZpbmUgSDJJX0MxX0NMS0lEX00JCTB4MTgKKyNkZWZpbmUgSDJJX0MxX0RBVEFUX1NISUZUCTgJCS8qIDE9bW9ubyAyPXN0ZXJlbyAoMz1xdWFkKSAqLworI2RlZmluZSBIMklfQzFfREFUQVRfTQkJMHgzMDAKKworLyogQml0cyBpbiBDVEwyIHJlZ2lzdGVyICovCisKKyNkZWZpbmUgSDJJX0MyX1JfR0FJTl9TSElGVAkwCQkvKiByaWdodCBhL2QgaW5wdXQgZ2FpbiAqLworI2RlZmluZSBIMklfQzJfUl9HQUlOX00JCTB4ZgorI2RlZmluZSBIMklfQzJfTF9HQUlOX1NISUZUCTQJCS8qIGxlZnQgYS9kIGlucHV0IGdhaW4gKi8KKyNkZWZpbmUgSDJJX0MyX0xfR0FJTl9NCQkweGYwCisjZGVmaW5lIEgySV9DMl9SX1NFTAkJMHgxMDAJCS8qIHJpZ2h0IGlucHV0IHNlbGVjdCAqLworI2RlZmluZSBIMklfQzJfTF9TRUwJCTB4MjAwCQkvKiBsZWZ0IGlucHV0IHNlbGVjdCAqLworI2RlZmluZSBIMklfQzJfTVVURQkJMHg0MDAJCS8qIG11dGUgKi8KKyNkZWZpbmUgSDJJX0MyX0RPMQkJMHgwMDAxMDAwMAkvKiBkaWdpdGFsIG91dHB1dCBwb3J0IGJpdCAwICovCisjZGVmaW5lIEgySV9DMl9ETzIJCTB4MDAwMjAwMDAJLyogZGlnaXRhbCBvdXRwdXQgcG9ydCBiaXQgMSAqLworI2RlZmluZSBIMklfQzJfUl9BVFRfU0hJRlQJMTgJCS8qIHJpZ2h0IGQvYSBvdXRwdXQgLSAqLworI2RlZmluZSBIMklfQzJfUl9BVFRfTQkJMHgwMDdjMDAwMAkvKiBhdHRlbnVhdGlvbiAqLworI2RlZmluZSBIMklfQzJfTF9BVFRfU0hJRlQJMjMJCS8qIGxlZnQgZC9hIG91dHB1dCAtICovCisjZGVmaW5lIEgySV9DMl9MX0FUVF9NCQkweDBmODAwMDAwCS8qIGF0dGVudWF0aW9uICovCisKKyNkZWZpbmUgSDJJX1NZTlRIX01BUF9DCQkweDExMDQJCS8qIHN5bnRoIGRtYSBoYW5kc2hha2UgY3RybCAqLworCisvKiBDbG9jayBnZW5lcmF0b3IgQ1RMIDEsIDE2IGJpdCAqLworCisjZGVmaW5lIEgySV9CUkVTMV9DMQkJMHgyMTA0CisjZGVmaW5lIEgySV9CUkVTMl9DMQkJMHgyMjA0CisjZGVmaW5lIEgySV9CUkVTM19DMQkJMHgyMzA0CisKKyNkZWZpbmUgSDJJX0JSRVNfQzFfU0hJRlQJMAkJLyogMD00OC4wIDE9NDQuMSAyPWFlc19yeCAqLworI2RlZmluZSBIMklfQlJFU19DMV9NCQkweDAzCisKKy8qIENsb2NrIGdlbmVyYXRvciBDVEwgMiwgMzIgYml0ICovCisKKyNkZWZpbmUgSDJJX0JSRVMxX0MyCQkweDIxMDgKKyNkZWZpbmUgSDJJX0JSRVMyX0MyCQkweDIyMDgKKyNkZWZpbmUgSDJJX0JSRVMzX0MyCQkweDIzMDgKKworI2RlZmluZSBIMklfQlJFU19DMl9JTkNfU0hJRlQJMAkJLyogaW5jcmVtZW50IHZhbHVlICovCisjZGVmaW5lIEgySV9CUkVTX0MyX0lOQ19NCTB4ZmZmZgorI2RlZmluZSBIMklfQlJFU19DMl9NT0RfU0hJRlQJMTYJCS8qIG1vZGNvbnRyb2wgdmFsdWUgKi8KKyNkZWZpbmUgSDJJX0JSRVNfQzJfTU9EX00JMHhmZmZmMDAwMAkvKiBtb2RjdHJsPTB4ZmZmZiYobW9kaW5jLTEpICovCisKKy8qIFVuaXggdGltZXIsIDY0IGJpdCAqLworCisjZGVmaW5lIEgySV9VVElNRQkJMHgzMTA0CisjZGVmaW5lIEgySV9VVElNRV8wX0xECQkweGZmZmYJCS8qIG1pY3Jvc2Vjb25kcywgTFNCJ3MgKi8KKyNkZWZpbmUgSDJJX1VUSU1FXzFfTEQwCQkweDBmCQkvKiBtaWNyb3NlY29uZHMsIE1TQidzICovCisjZGVmaW5lIEgySV9VVElNRV8xX0xEMQkJMHhmMAkJLyogdGVudGhzIG9mIG1pY3Jvc2Vjb25kcyAqLworI2RlZmluZSBIMklfVVRJTUVfMl9MRAkJMHhmZmZmCQkvKiBzZWNvbmRzLCBMU0IncyAqLworI2RlZmluZSBIMklfVVRJTUVfM19MRAkJMHhmZmZmCQkvKiBzZWNvbmRzLCBNU0IncyAqLworCitzdHJ1Y3QgaGFsMl9jdGxfcmVncyB7CisJdTMyIF91bnVzZWQwWzRdOworCXUzMiBpc3I7CQkvKiAweDEwIFN0YXR1cyBSZWdpc3RlciAqLworCXUzMiBfdW51c2VkMVszXTsKKwl1MzIgcmV2OwkJLyogMHgyMCBSZXZpc2lvbiBSZWdpc3RlciAqLworCXUzMiBfdW51c2VkMlszXTsKKwl1MzIgaWFyOwkJLyogMHgzMCBJbmRpcmVjdCBBZGRyZXNzIFJlZ2lzdGVyICovCisJdTMyIF91bnVzZWQzWzNdOworCXUzMiBpZHIwOwkJLyogMHg0MCBJbmRpcmVjdCBEYXRhIFJlZ2lzdGVyIDAgKi8KKwl1MzIgX3VudXNlZDRbM107CisJdTMyIGlkcjE7CQkvKiAweDUwIEluZGlyZWN0IERhdGEgUmVnaXN0ZXIgMSAqLworCXUzMiBfdW51c2VkNVszXTsKKwl1MzIgaWRyMjsJCS8qIDB4NjAgSW5kaXJlY3QgRGF0YSBSZWdpc3RlciAyICovCisJdTMyIF91bnVzZWQ2WzNdOworCXUzMiBpZHIzOwkJLyogMHg3MCBJbmRpcmVjdCBEYXRhIFJlZ2lzdGVyIDMgKi8KK307CisKK3N0cnVjdCBoYWwyX2Flc19yZWdzIHsKKwl1MzIgcnhfc3RhdFsyXTsJLyogU3RhdHVzIHJlZ2lzdGVycyAqLworCXUzMiByeF9jclsyXTsJCS8qIENvbnRyb2wgcmVnaXN0ZXJzICovCisJdTMyIHJ4X3VkWzRdOwkJLyogVXNlciBkYXRhIHdpbmRvdyAqLworCXUzMiByeF9zdFsyNF07CQkvKiBDaGFubmVsIHN0YXR1cyBkYXRhICovCisKKwl1MzIgdHhfc3RhdFsxXTsJLyogU3RhdHVzIHJlZ2lzdGVyICovCisJdTMyIHR4X2NyWzNdOwkJLyogQ29udHJvbCByZWdpc3RlcnMgKi8KKwl1MzIgdHhfdWRbNF07CQkvKiBVc2VyIGRhdGEgd2luZG93ICovCisJdTMyIHR4X3N0WzI0XTsJCS8qIENoYW5uZWwgc3RhdHVzIGRhdGEgKi8KK307CisKK3N0cnVjdCBoYWwyX3ZvbF9yZWdzIHsKKwl1MzIgcmlnaHQ7CQkvKiBSaWdodCB2b2x1bWUgKi8KKwl1MzIgbGVmdDsJCS8qIExlZnQgdm9sdW1lICovCit9OworCitzdHJ1Y3QgaGFsMl9zeW5fcmVncyB7CisJdTMyIF91bnVzZWQwWzJdOworCXUzMiBwYWdlOwkJLyogRE9DIFBhZ2UgcmVnaXN0ZXIgKi8KKwl1MzIgcmVnc2VsOwkJLyogRE9DIFJlZ2lzdGVyIHNlbGVjdGlvbiAqLworCXUzMiBkbG93OwkJLyogRE9DIERhdGEgbG93ICovCisJdTMyIGRoaWdoOwkJLyogRE9DIERhdGEgaGlnaCAqLworCXUzMiBpcnE7CQkvKiBJUlEgU3RhdHVzICovCisJdTMyIGRyYW07CQkvKiBEUkFNIEFjY2VzcyAqLworfTsKKworI2VuZGlmCS8qIF9fSEFMMl9IICovCmRpZmYgLS1naXQgYS9zb3VuZC9taXBzL3NnaW8yYXVkaW8uYyBiL3NvdW5kL21pcHMvc2dpbzJhdWRpby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjNjM1MDQKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9taXBzL3NnaW8yYXVkaW8uYwpAQCAtMCwwICsxLDEwMDYgQEAKKy8qCisgKiAgIFNvdW5kIGRyaXZlciBmb3IgU2lsaWNvbiBHcmFwaGljcyBPMiBXb3Jrc3RhdGlvbnMgQS9WIGJvYXJkIGF1ZGlvLgorICoKKyAqICAgQ29weXJpZ2h0IDIwMDMgVml2aWVuIENoYXBwZWxpZXIgPHZpdmllbi5jaGFwcGVsaWVyQGxpbnV4LW1pcHMub3JnPgorICogICBDb3B5cmlnaHQgMjAwOCBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0c2JvZ2VuZEBhbHBoYS5mcmFua2VuLmRlPgorICogICBNeGllciBwYXJ0IHRha2VuIGZyb20gbWFjZV9hdWRpby5jOgorICogICBDb3B5cmlnaHQgMjAwNyBUaG9yYmVuIErDpG5kbGluZyA8dGoudHJldmVseWFuQGdtYWlsLmNvbT4KKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2dmcC5oPgorI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisKKyNpbmNsdWRlIDxhc20vaXAzMi9pcDMyX2ludHMuaD4KKyNpbmNsdWRlIDxhc20vaXAzMi9tYWNlLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2RlZmluZSBTTkRSVl9HRVRfSUQKKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvYWQxODQzLmg+CisKKworTU9EVUxFX0FVVEhPUigiVml2aWVuIENoYXBwZWxpZXIgPHZpdmllbi5jaGFwcGVsaWVyQGxpbnV4LW1pcHMub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJTR0kgTzIgQXVkaW8iKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9TVVBQT1JURURfREVWSUNFKCJ7e1NpbGljb24gR3JhcGhpY3MsIE8yIEF1ZGlvfX0iKTsKKworc3RhdGljIGludCBpbmRleCA9IFNORFJWX0RFRkFVTFRfSURYMTsgIC8qIEluZGV4IDAtTUFYICovCitzdGF0aWMgY2hhciAqaWQgPSBTTkRSVl9ERUZBVUxUX1NUUjE7ICAgLyogSUQgZm9yIHRoaXMgY2FyZCAqLworCittb2R1bGVfcGFyYW0oaW5kZXgsIGludCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGluZGV4LCAiSW5kZXggdmFsdWUgZm9yIFNHSSBPMiBzb3VuZGNhcmQuIik7Cittb2R1bGVfcGFyYW0oaWQsIGNoYXJwLCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoaWQsICJJRCBzdHJpbmcgZm9yIFNHSSBPMiBzb3VuZGNhcmQuIik7CisKKworI2RlZmluZSBBVURJT19DT05UUk9MX1JFU0VUICAgICAgICAgICAgICBCSVQoMCkgLyogMTogcmVzZXQgYXVkaW8gaW50ZXJmYWNlICovCisjZGVmaW5lIEFVRElPX0NPTlRST0xfQ09ERUNfUFJFU0VOVCAgICAgIEJJVCgxKSAvKiAxOiBjb2RlYyBkZXRlY3RlZCAqLworCisjZGVmaW5lIENPREVDX0NPTlRST0xfV09SRF9TSElGVCAgICAgICAgMAorI2RlZmluZSBDT0RFQ19DT05UUk9MX1JFQUQgICAgICAgICAgICAgIEJJVCgxNikKKyNkZWZpbmUgQ09ERUNfQ09OVFJPTF9BRERSRVNTX1NISUZUICAgICAxNworCisjZGVmaW5lIENIQU5ORUxfQ09OVFJPTF9SRVNFVCAgICAgICAgICAgQklUKDEwKSAvKiAxOiByZXNldCBjaGFubmVsICovCisjZGVmaW5lIENIQU5ORUxfRE1BX0VOQUJMRSAgICAgICAgICAgICAgQklUKDkpICAvKiAxOiBlbmFibGUgRE1BIHRyYW5zZmVyICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF9ESVNBQkxFRCAgKDAgPDwgNSkgLyogaW50ZXJydXB0IGRpc2FibGVkICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF8yNSAgICAgICAgKDEgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciA+MjUlIGZ1bGwgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEXzUwICAgICAgICAoMiA8PCA1KSAvKiBpbnQgb24gYnVmZmVyID41MCUgZnVsbCAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfNzUgICAgICAgICgzIDw8IDUpIC8qIGludCBvbiBidWZmZXIgPjc1JSBmdWxsICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF9FTVBUWSAgICAgKDQgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciBlbXB0eSAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfTk9UX0VNUFRZICg1IDw8IDUpIC8qIGludCBvbiBidWZmZXIgIWVtcHR5ICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF9GVUxMICAgICAgKDYgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciBlbXB0eSAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfTk9UX0ZVTEwgICg3IDw8IDUpIC8qIGludCBvbiBidWZmZXIgIWVtcHR5ICovCisKKyNkZWZpbmUgQ0hBTk5FTF9SSU5HX1NISUZUICAgICAgICAgICAgICAxMgorI2RlZmluZSBDSEFOTkVMX1JJTkdfU0laRSAgICAgICAgICAgICAgICgxIDw8IENIQU5ORUxfUklOR19TSElGVCkKKyNkZWZpbmUgQ0hBTk5FTF9SSU5HX01BU0sgICAgICAgICAgICAgICAoQ0hBTk5FTF9SSU5HX1NJWkUgLSAxKQorCisjZGVmaW5lIENIQU5ORUxfTEVGVF9TSElGVCA0MAorI2RlZmluZSBDSEFOTkVMX1JJR0hUX1NISUZUIDgKKworc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4geworCWludCBpZHg7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJaW50IHBvczsKKwlzbmRfcGNtX3VmcmFtZXNfdCBzaXplOworCXNwaW5sb2NrX3QgbG9jazsKK307CisKKy8qIGRlZmluaXRpb24gb2YgdGhlIGNoaXAtc3BlY2lmaWMgcmVjb3JkICovCitzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8geworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKKworCS8qIGNvZGVjICovCisJc3RydWN0IHNuZF9hZDE4NDMgYWQxODQzOworCXNwaW5sb2NrX3QgYWQxODQzX2xvY2s7CisKKwkvKiBjaGFubmVscyAqLworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuIGNoYW5uZWxbM107CisKKwkvKiByZXNvdXJjZXMgKi8KKwl2b2lkICpyaW5nX2Jhc2U7CisJZG1hX2FkZHJfdCByaW5nX2Jhc2VfZG1hOworfTsKKworLyogQUQxODQzIGFjY2VzcyAqLworCisvKgorICogcmVhZF9hZDE4NDNfcmVnIHJldHVybnMgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgYSAxNiBiaXQgQUQxODQzIHJlZ2lzdGVyLgorICoKKyAqIFJldHVybnMgdW5zaWduZWQgcmVnaXN0ZXIgdmFsdWUgb24gc3VjY2VzcywgLWVycm5vIG9uIGZhaWx1cmUuCisgKi8KK3N0YXRpYyBpbnQgcmVhZF9hZDE4NDNfcmVnKHZvaWQgKnByaXYsIGludCByZWcpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gcHJpdjsKKwlpbnQgdmFsOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+YWQxODQzX2xvY2ssIGZsYWdzKTsKKworCXdyaXRlcSgocmVnIDw8IENPREVDX0NPTlRST0xfQUREUkVTU19TSElGVCkgfAorCSAgICAgICBDT0RFQ19DT05UUk9MX1JFQUQsICZtYWNlLT5wZXJpZi5hdWRpby5jb2RlY19jb250cm9sKTsKKwl3bWIoKTsKKwl2YWwgPSByZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY29kZWNfY29udHJvbCk7IC8qIGZsdXNoIGJ1cyAqLworCXVkZWxheSgyMDApOworCisJdmFsID0gcmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNvZGVjX3JlYWQpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+YWQxODQzX2xvY2ssIGZsYWdzKTsKKwlyZXR1cm4gdmFsOworfQorCisvKgorICogd3JpdGVfYWQxODQzX3JlZyB3cml0ZXMgdGhlIHNwZWNpZmllZCB2YWx1ZSB0byBhIDE2IGJpdCBBRDE4NDMgcmVnaXN0ZXIuCisgKi8KK3N0YXRpYyBpbnQgd3JpdGVfYWQxODQzX3JlZyh2b2lkICpwcml2LCBpbnQgcmVnLCBpbnQgd29yZCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBwcml2OworCWludCB2YWw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5hZDE4NDNfbG9jaywgZmxhZ3MpOworCisJd3JpdGVxKChyZWcgPDwgQ09ERUNfQ09OVFJPTF9BRERSRVNTX1NISUZUKSB8CisJICAgICAgICh3b3JkIDw8IENPREVDX0NPTlRST0xfV09SRF9TSElGVCksCisJICAgICAgICZtYWNlLT5wZXJpZi5hdWRpby5jb2RlY19jb250cm9sKTsKKwl3bWIoKTsKKwl2YWwgPSByZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY29kZWNfY29udHJvbCk7IC8qIGZsdXNoIGJ1cyAqLworCXVkZWxheSgyMDApOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+YWQxODQzX2xvY2ssIGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX2dhaW5faW5mbyhzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gKnVpbmZvKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKworCXVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9JTlRFR0VSOworCXVpbmZvLT5jb3VudCA9IDI7CisJdWluZm8tPnZhbHVlLmludGVnZXIubWluID0gMDsKKwl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSBhZDE4NDNfZ2V0X2dhaW5fbWF4KCZjaGlwLT5hZDE4NDMsCisJCQkJCSAgICAgKGludClrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpbzJhdWRpb19nYWluX2dldChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJaW50IHZvbDsKKworCXZvbCA9IGFkMTg0M19nZXRfZ2FpbigmY2hpcC0+YWQxODQzLCAoaW50KWtjb250cm9sLT5wcml2YXRlX3ZhbHVlKTsKKworCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gKHZvbCA+PiA4KSAmIDB4RkY7CisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gPSB2b2wgJiAweEZGOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpbzJhdWRpb19nYWluX3B1dChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgbmV3dm9sLCBvbGR2b2w7CisKKwlvbGR2b2wgPSBhZDE4NDNfZ2V0X2dhaW4oJmNoaXAtPmFkMTg0Mywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOworCW5ld3ZvbCA9ICh1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA8PCA4KSB8CisJCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdOworCisJbmV3dm9sID0gYWQxODQzX3NldF9nYWluKCZjaGlwLT5hZDE4NDMsIGtjb250cm9sLT5wcml2YXRlX3ZhbHVlLAorCQluZXd2b2wpOworCisJcmV0dXJuIG5ld3ZvbCAhPSBvbGR2b2w7Cit9CisKK3N0YXRpYyBpbnQgc2dpbzJhdWRpb19zb3VyY2VfaW5mbyhzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gKnVpbmZvKQoreworCXN0YXRpYyBjb25zdCBjaGFyICp0ZXh0c1szXSA9IHsKKwkJIkNhbSBNaWMiLCAiTWljIiwgIkxpbmUiCisJfTsKKwl1aW5mby0+dHlwZSA9IFNORFJWX0NUTF9FTEVNX1RZUEVfRU5VTUVSQVRFRDsKKwl1aW5mby0+Y291bnQgPSAxOworCXVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1zID0gMzsKKwlpZiAodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbSA+PSAzKQorCQl1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtID0gMTsKKwlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwKKwkgICAgICAgdGV4dHNbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNnaW8yYXVkaW9fc291cmNlX2dldChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisKKwl1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdID0gYWQxODQzX2dldF9yZWNzcmMoJmNoaXAtPmFkMTg0Myk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpbzJhdWRpb19zb3VyY2VfcHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCWludCBuZXdzcmMsIG9sZHNyYzsKKworCW9sZHNyYyA9IGFkMTg0M19nZXRfcmVjc3JjKCZjaGlwLT5hZDE4NDMpOworCW5ld3NyYyA9IGFkMTg0M19zZXRfcmVjc3JjKCZjaGlwLT5hZDE4NDMsCisJCQkJICAgdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVswXSk7CisKKwlyZXR1cm4gbmV3c3JjICE9IG9sZHNyYzsKK30KKworLyogZGFjMS9wY20wIG1peGVyIGNvbnRyb2wgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzZ2lvMmF1ZGlvX2N0cmxfcGNtMCBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJQQ00gUGxheWJhY2sgVm9sdW1lIiwKKwkuaW5kZXggICAgICAgICAgPSAwLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gQUQxODQzX0dBSU5fUENNXzAsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworLyogZGFjMi9wY20xIG1peGVyIGNvbnRyb2wgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzZ2lvMmF1ZGlvX2N0cmxfcGNtMSBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJQQ00gUGxheWJhY2sgVm9sdW1lIiwKKwkuaW5kZXggICAgICAgICAgPSAxLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gQUQxODQzX0dBSU5fUENNXzEsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworLyogcmVjb3JkIGxldmVsIG1peGVyIGNvbnRyb2wgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzZ2lvMmF1ZGlvX2N0cmxfcmVjbGV2ZWwgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiQ2FwdHVyZSBWb2x1bWUiLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gQUQxODQzX0dBSU5fUkVDTEVWLAorCS5pbmZvICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9nZXQsCisJLnB1dCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX3B1dCwKK307CisKKy8qIHJlY29yZCBsZXZlbCBzb3VyY2UgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9yZWNzb3VyY2UgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiQ2FwdHVyZSBTb3VyY2UiLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19zb3VyY2VfaW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX3NvdXJjZV9nZXQsCisJLnB1dCAgICAgICAgICAgID0gc2dpbzJhdWRpb19zb3VyY2VfcHV0LAorfTsKKworLyogbGluZSBtaXhlciBjb250cm9sICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc2dpbzJhdWRpb19jdHJsX2xpbmUgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiTGluZSBQbGF5YmFjayBWb2x1bWUiLAorCS5pbmRleCAgICAgICAgICA9IDAsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9MSU5FLAorCS5pbmZvICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9nZXQsCisJLnB1dCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX3B1dCwKK307CisKKy8qIGNkIG1peGVyIGNvbnRyb2wgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzZ2lvMmF1ZGlvX2N0cmxfY2QgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiTGluZSBQbGF5YmFjayBWb2x1bWUiLAorCS5pbmRleCAgICAgICAgICA9IDEsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9MSU5FXzIsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworLyogbWljIG1peGVyIGNvbnRyb2wgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzZ2lvMmF1ZGlvX2N0cmxfbWljIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIk1pYyBQbGF5YmFjayBWb2x1bWUiLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gQUQxODQzX0dBSU5fTUlDLAorCS5pbmZvICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9nZXQsCisJLnB1dCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX3B1dCwKK307CisKKworc3RhdGljIGludCBfX2RldmluaXQgc25kX3NnaW8yYXVkaW9fbmV3X21peGVyKHN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCkKK3sKKwlpbnQgZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfcGNtMCwgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfcGNtMSwgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfcmVjbGV2ZWwsIGNoaXApKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmc2dpbzJhdWRpb19jdHJsX3JlY3NvdXJjZSwgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCWVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmc2dpbzJhdWRpb19jdHJsX2xpbmUsIGNoaXApKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmc2dpbzJhdWRpb19jdHJsX2NkLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9taWMsIGNoaXApKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCXJldHVybiAwOworfQorCisvKiBsb3ctbGV2ZWwgYXVkaW8gaW50ZXJmYWNlIERNQSAqLworCisvKiBnZXQgZGF0YSBvdXQgb2YgYm91bmNlIGJ1ZmZlciwgY291bnQgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyICovCisvKiByZXR1cm5zIDEgaWYgYSBwZXJpb2QgaGFzIGVsYXBzZWQgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fZG1hX3B1bGxfZnJhZyhzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAsCisJCQkJCXVuc2lnbmVkIGludCBjaCwgdW5zaWduZWQgaW50IGNvdW50KQoreworCWludCByZXQ7CisJdW5zaWduZWQgbG9uZyBzcmNfYmFzZSwgc3JjX3BvcywgZHN0X21hc2s7CisJdW5zaWduZWQgY2hhciAqZHN0X2Jhc2U7CisJaW50IGRzdF9wb3M7CisJdTY0ICpzcmM7CisJczE2ICpkc3Q7CisJdTY0IHg7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gY2hpcC0+Y2hhbm5lbFtjaF0uc3Vic3RyZWFtLT5ydW50aW1lOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKworCXNyY19iYXNlID0gKHVuc2lnbmVkIGxvbmcpIGNoaXAtPnJpbmdfYmFzZSB8IChjaCA8PCBDSEFOTkVMX1JJTkdfU0hJRlQpOworCXNyY19wb3MgPSByZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0ucmVhZF9wdHIpOworCWRzdF9iYXNlID0gcnVudGltZS0+ZG1hX2FyZWE7CisJZHN0X3BvcyA9IGNoaXAtPmNoYW5uZWxbY2hdLnBvczsKKwlkc3RfbWFzayA9IGZyYW1lc190b19ieXRlcyhydW50aW1lLCBydW50aW1lLT5idWZmZXJfc2l6ZSkgLSAxOworCisJLyogY2hlY2sgaWYgYSBwZXJpb2QgaGFzIGVsYXBzZWQgKi8KKwljaGlwLT5jaGFubmVsW2NoXS5zaXplICs9IChjb3VudCA+PiAzKTsgLyogaW4gZnJhbWVzICovCisJcmV0ID0gY2hpcC0+Y2hhbm5lbFtjaF0uc2l6ZSA+PSBydW50aW1lLT5wZXJpb2Rfc2l6ZTsKKwljaGlwLT5jaGFubmVsW2NoXS5zaXplICU9IHJ1bnRpbWUtPnBlcmlvZF9zaXplOworCisJd2hpbGUgKGNvdW50KSB7CisJCXNyYyA9ICh1NjQgKikoc3JjX2Jhc2UgKyBzcmNfcG9zKTsKKwkJZHN0ID0gKHMxNiAqKShkc3RfYmFzZSArIGRzdF9wb3MpOworCisJCXggPSAqc3JjOworCQlkc3RbMF0gPSAoeCA+PiBDSEFOTkVMX0xFRlRfU0hJRlQpICYgMHhmZmZmOworCQlkc3RbMV0gPSAoeCA+PiBDSEFOTkVMX1JJR0hUX1NISUZUKSAmIDB4ZmZmZjsKKworCQlzcmNfcG9zID0gKHNyY19wb3MgKyBzaXplb2YodTY0KSkgJiBDSEFOTkVMX1JJTkdfTUFTSzsKKwkJZHN0X3BvcyA9IChkc3RfcG9zICsgMiAqIHNpemVvZihzMTYpKSAmIGRzdF9tYXNrOworCQljb3VudCAtPSBzaXplb2YodTY0KTsKKwl9CisKKwl3cml0ZXEoc3JjX3BvcywgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLnJlYWRfcHRyKTsgLyogaW4gYnl0ZXMgKi8KKwljaGlwLT5jaGFubmVsW2NoXS5wb3MgPSBkc3RfcG9zOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+Y2hhbm5lbFtjaF0ubG9jaywgZmxhZ3MpOworCXJldHVybiByZXQ7Cit9CisKKy8qIHB1dCBzb21lIERNQSBkYXRhIGluIGJvdW5jZSBidWZmZXIsIGNvdW50IG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMiAqLworLyogcmV0dXJucyAxIGlmIGEgcGVyaW9kIGhhcyBlbGFwc2VkICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2RtYV9wdXNoX2ZyYWcoc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwLAorCQkJCQl1bnNpZ25lZCBpbnQgY2gsIHVuc2lnbmVkIGludCBjb3VudCkKK3sKKwlpbnQgcmV0OworCXM2NCBsLCByOworCXVuc2lnbmVkIGxvbmcgZHN0X2Jhc2UsIGRzdF9wb3MsIHNyY19tYXNrOworCXVuc2lnbmVkIGNoYXIgKnNyY19iYXNlOworCWludCBzcmNfcG9zOworCXU2NCAqZHN0OworCXMxNiAqc3JjOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IGNoaXAtPmNoYW5uZWxbY2hdLnN1YnN0cmVhbS0+cnVudGltZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5jaGFubmVsW2NoXS5sb2NrLCBmbGFncyk7CisKKwlkc3RfYmFzZSA9ICh1bnNpZ25lZCBsb25nKWNoaXAtPnJpbmdfYmFzZSB8IChjaCA8PCBDSEFOTkVMX1JJTkdfU0hJRlQpOworCWRzdF9wb3MgPSByZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0ud3JpdGVfcHRyKTsKKwlzcmNfYmFzZSA9IHJ1bnRpbWUtPmRtYV9hcmVhOworCXNyY19wb3MgPSBjaGlwLT5jaGFubmVsW2NoXS5wb3M7CisJc3JjX21hc2sgPSBmcmFtZXNfdG9fYnl0ZXMocnVudGltZSwgcnVudGltZS0+YnVmZmVyX3NpemUpIC0gMTsKKworCS8qIGNoZWNrIGlmIGEgcGVyaW9kIGhhcyBlbGFwc2VkICovCisJY2hpcC0+Y2hhbm5lbFtjaF0uc2l6ZSArPSAoY291bnQgPj4gMyk7IC8qIGluIGZyYW1lcyAqLworCXJldCA9IGNoaXAtPmNoYW5uZWxbY2hdLnNpemUgPj0gcnVudGltZS0+cGVyaW9kX3NpemU7CisJY2hpcC0+Y2hhbm5lbFtjaF0uc2l6ZSAlPSBydW50aW1lLT5wZXJpb2Rfc2l6ZTsKKworCXdoaWxlIChjb3VudCkgeworCQlzcmMgPSAoczE2ICopKHNyY19iYXNlICsgc3JjX3Bvcyk7CisJCWRzdCA9ICh1NjQgKikoZHN0X2Jhc2UgKyBkc3RfcG9zKTsKKworCQlsID0gc3JjWzBdOyAvKiBzaWduIGV4dGVuZCAqLworCQlyID0gc3JjWzFdOyAvKiBzaWduIGV4dGVuZCAqLworCisJCSpkc3QgPSAoKGwgJiAweDAwZmZmZmZmKSA8PCBDSEFOTkVMX0xFRlRfU0hJRlQpIHwKKwkJCSgociAmIDB4MDBmZmZmZmYpIDw8IENIQU5ORUxfUklHSFRfU0hJRlQpOworCisJCWRzdF9wb3MgPSAoZHN0X3BvcyArIHNpemVvZih1NjQpKSAmIENIQU5ORUxfUklOR19NQVNLOworCQlzcmNfcG9zID0gKHNyY19wb3MgKyAyICogc2l6ZW9mKHMxNikpICYgc3JjX21hc2s7CisJCWNvdW50IC09IHNpemVvZih1NjQpOworCX0KKworCXdyaXRlcShkc3RfcG9zLCAmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0ud3JpdGVfcHRyKTsgLyogaW4gYnl0ZXMgKi8KKwljaGlwLT5jaGFubmVsW2NoXS5wb3MgPSBzcmNfcG9zOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+Y2hhbm5lbFtjaF0ubG9jaywgZmxhZ3MpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fZG1hX3N0YXJ0KHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCWludCBjaCA9IGNoYW4tPmlkeDsKKworCS8qIHJlc2V0IERNQSBjaGFubmVsICovCisJd3JpdGVxKENIQU5ORUxfQ09OVFJPTF9SRVNFVCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLmNvbnRyb2wpOworCXVkZWxheSgxMCk7CisJd3JpdGVxKDAsICZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS5jb250cm9sKTsKKworCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSB7CisJCS8qIHB1c2ggYSBmdWxsIGJ1ZmZlciAqLworCQlzbmRfc2dpbzJhdWRpb19kbWFfcHVzaF9mcmFnKGNoaXAsIGNoLCBDSEFOTkVMX1JJTkdfU0laRSAtIDMyKTsKKwl9CisJLyogc2V0IERNQSB0byB3YWtlIG9uIDUwJSBlbXB0eSBhbmQgZW5hYmxlIGludGVycnVwdCAqLworCXdyaXRlcShDSEFOTkVMX0RNQV9FTkFCTEUgfCBDSEFOTkVMX0lOVF9USFJFU0hPTERfNTAsCisJICAgICAgICZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS5jb250cm9sKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19kbWFfc3RvcChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCisJd3JpdGVxKDAsICZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoYW4tPmlkeF0uY29udHJvbCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBzbmRfc2dpbzJhdWRpb19kbWFfaW5faXNyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IGRldl9pZDsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXA7CisJaW50IGNvdW50LCBjaDsKKworCXN1YnN0cmVhbSA9IGNoYW4tPnN1YnN0cmVhbTsKKwljaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCWNoID0gY2hhbi0+aWR4OworCisJLyogZW1wdHkgdGhlIHJpbmcgKi8KKwljb3VudCA9IENIQU5ORUxfUklOR19TSVpFIC0KKwkJcmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLmRlcHRoKSAtIDMyOworCWlmIChzbmRfc2dpbzJhdWRpb19kbWFfcHVsbF9mcmFnKGNoaXAsIGNoLCBjb3VudCkpCisJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoc3Vic3RyZWFtKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGlycXJldHVybl90IHNuZF9zZ2lvMmF1ZGlvX2RtYV9vdXRfaXNyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IGRldl9pZDsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXA7CisJaW50IGNvdW50LCBjaDsKKworCXN1YnN0cmVhbSA9IGNoYW4tPnN1YnN0cmVhbTsKKwljaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCWNoID0gY2hhbi0+aWR4OworCS8qIGZpbGwgdGhlIHJpbmcgKi8KKwljb3VudCA9IENIQU5ORUxfUklOR19TSVpFIC0KKwkJcmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLmRlcHRoKSAtIDMyOworCWlmIChzbmRfc2dpbzJhdWRpb19kbWFfcHVzaF9mcmFnKGNoaXAsIGNoLCBjb3VudCkpCisJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoc3Vic3RyZWFtKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGlycXJldHVybl90IHNuZF9zZ2lvMmF1ZGlvX2Vycm9yX2lzcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gKmNoYW4gPSBkZXZfaWQ7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisKKwlzdWJzdHJlYW0gPSBjaGFuLT5zdWJzdHJlYW07CisJc25kX3NnaW8yYXVkaW9fZG1hX3N0b3Aoc3Vic3RyZWFtKTsKKwlzbmRfc2dpbzJhdWRpb19kbWFfc3RhcnQoc3Vic3RyZWFtKTsKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKKy8qIFBDTSBwYXJ0ICovCisvKiBQQ00gaGFyZHdhcmUgZGVmaW5pdGlvbiAqLworc3RhdGljIHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIHNuZF9zZ2lvMmF1ZGlvX3BjbV9odyA9IHsKKwkuaW5mbyA9IChTTkRSVl9QQ01fSU5GT19NTUFQIHwKKwkJIFNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgfAorCQkgU05EUlZfUENNX0lORk9fSU5URVJMRUFWRUQgfAorCQkgU05EUlZfUENNX0lORk9fQkxPQ0tfVFJBTlNGRVIpLAorCS5mb3JtYXRzID0gICAgICAgICAgU05EUlZfUENNX0ZNVEJJVF9TMTZfQkUsCisJLnJhdGVzID0gICAgICAgICAgICBTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwLAorCS5yYXRlX21pbiA9ICAgICAgICAgODAwMCwKKwkucmF0ZV9tYXggPSAgICAgICAgIDQ4MDAwLAorCS5jaGFubmVsc19taW4gPSAgICAgMiwKKwkuY2hhbm5lbHNfbWF4ID0gICAgIDIsCisJLmJ1ZmZlcl9ieXRlc19tYXggPSA2NTUzNiwKKwkucGVyaW9kX2J5dGVzX21pbiA9IDMyNzY4LAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gNjU1MzYsCisJLnBlcmlvZHNfbWluID0gICAgICAxLAorCS5wZXJpb2RzX21heCA9ICAgICAgMTAyNCwKK307CisKKy8qIFBDTSBwbGF5YmFjayBvcGVuIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMV9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCisJcnVudGltZS0+aHcgPSBzbmRfc2dpbzJhdWRpb19wY21faHc7CisJcnVudGltZS0+cHJpdmF0ZV9kYXRhID0gJmNoaXAtPmNoYW5uZWxbMV07CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGxheWJhY2syX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlydW50aW1lLT5odyA9IHNuZF9zZ2lvMmF1ZGlvX3BjbV9odzsKKwlydW50aW1lLT5wcml2YXRlX2RhdGEgPSAmY2hpcC0+Y2hhbm5lbFsyXTsKKwlyZXR1cm4gMDsKK30KKworLyogUENNIGNhcHR1cmUgb3BlbiBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19jYXB0dXJlX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlydW50aW1lLT5odyA9IHNuZF9zZ2lvMmF1ZGlvX3BjbV9odzsKKwlydW50aW1lLT5wcml2YXRlX2RhdGEgPSAmY2hpcC0+Y2hhbm5lbFswXTsKKwlyZXR1cm4gMDsKK30KKworLyogUENNIGNsb3NlIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX3BjbV9jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCisJcnVudGltZS0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworCisvKiBod19wYXJhbXMgY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpod19wYXJhbXMpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlpbnQgc2l6ZSA9IHBhcmFtc19idWZmZXJfYnl0ZXMoaHdfcGFyYW1zKTsKKworCS8qIGFsbG9jIHZpcnR1YWwgJ2RtYScgYXJlYSAqLworCWlmIChydW50aW1lLT5kbWFfYXJlYSkKKwkJdmZyZWUocnVudGltZS0+ZG1hX2FyZWEpOworCXJ1bnRpbWUtPmRtYV9hcmVhID0gdm1hbGxvYyhzaXplKTsKKwlpZiAocnVudGltZS0+ZG1hX2FyZWEgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisJcnVudGltZS0+ZG1hX2J5dGVzID0gc2l6ZTsKKwlyZXR1cm4gMDsKK30KKworLyogaHdfZnJlZSBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wY21faHdfZnJlZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlpZiAoc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYXJlYSkKKwkJdmZyZWUoc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYXJlYSk7CisJc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYXJlYSA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKKy8qIHByZXBhcmUgY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGNtX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gKmNoYW4gPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlpbnQgY2ggPSBjaGFuLT5pZHg7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5jaGFubmVsW2NoXS5sb2NrLCBmbGFncyk7CisKKwkvKiBTZXR1cCB0aGUgcHNldWRvLWRtYSB0cmFuc2ZlciBwb2ludGVycy4gICovCisJY2hpcC0+Y2hhbm5lbFtjaF0ucG9zID0gMDsKKwljaGlwLT5jaGFubmVsW2NoXS5zaXplID0gMDsKKwljaGlwLT5jaGFubmVsW2NoXS5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisKKwkvKiBzZXQgQUQxODQzIGZvcm1hdCAqLworCS8qIGhhcmR3YXJlIGZvcm1hdCBpcyBhbHdheXMgUzE2X0xFICovCisJc3dpdGNoIChzdWJzdHJlYW0tPnN0cmVhbSkgeworCWNhc2UgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSzoKKwkJYWQxODQzX3NldHVwX2RhYygmY2hpcC0+YWQxODQzLAorCQkJCSBjaCAtIDEsCisJCQkJIHJ1bnRpbWUtPnJhdGUsCisJCQkJIFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFLAorCQkJCSBydW50aW1lLT5jaGFubmVscyk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFOgorCQlhZDE4NDNfc2V0dXBfYWRjKCZjaGlwLT5hZDE4NDMsCisJCQkJIHJ1bnRpbWUtPnJhdGUsCisJCQkJIFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFLAorCQkJCSBydW50aW1lLT5jaGFubmVscyk7CisJCWJyZWFrOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5jaGFubmVsW2NoXS5sb2NrLCBmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKKy8qIHRyaWdnZXIgY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGNtX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICAgICAgaW50IGNtZCkKK3sKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJCS8qIHN0YXJ0IHRoZSBQQ00gZW5naW5lICovCisJCXNuZF9zZ2lvMmF1ZGlvX2RtYV9zdGFydChzdWJzdHJlYW0pOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJCS8qIHN0b3AgdGhlIFBDTSBlbmdpbmUgKi8KKwkJc25kX3NnaW8yYXVkaW9fZG1hX3N0b3Aoc3Vic3RyZWFtKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVybiAwOworfQorCisvKiBwb2ludGVyIGNhbGxiYWNrICovCitzdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QKK3NuZF9zZ2lvMmF1ZGlvX3BjbV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCisJLyogZ2V0IHRoZSBjdXJyZW50IGhhcmR3YXJlIHBvaW50ZXIgKi8KKwlyZXR1cm4gYnl0ZXNfdG9fZnJhbWVzKHN1YnN0cmVhbS0+cnVudGltZSwKKwkJCSAgICAgICBjaGlwLT5jaGFubmVsW2NoYW4tPmlkeF0ucG9zKTsKK30KKworLyogZ2V0IHRoZSBwaHlzaWNhbCBwYWdlIHBvaW50ZXIgb24gdGhlIGdpdmVuIG9mZnNldCAqLworc3RhdGljIHN0cnVjdCBwYWdlICpzbmRfc2dpbzJhdWRpb19wYWdlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCQl1bnNpZ25lZCBsb25nIG9mZnNldCkKK3sKKwlyZXR1cm4gdm1hbGxvY190b19wYWdlKHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FyZWEgKyBvZmZzZXQpOworfQorCisvKiBvcGVyYXRvcnMgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgc25kX3NnaW8yYXVkaW9fcGxheWJhY2sxX29wcyA9IHsKKwkub3BlbiA9ICAgICAgICBzbmRfc2dpbzJhdWRpb19wbGF5YmFjazFfb3BlbiwKKwkuY2xvc2UgPSAgICAgICBzbmRfc2dpbzJhdWRpb19wY21fY2xvc2UsCisJLmlvY3RsID0gICAgICAgc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcyA9ICAgc25kX3NnaW8yYXVkaW9fcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZSA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21faHdfZnJlZSwKKwkucHJlcGFyZSA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fcHJlcGFyZSwKKwkudHJpZ2dlciA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fdHJpZ2dlciwKKwkucG9pbnRlciA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fcG9pbnRlciwKKwkucGFnZSA9ICAgICAgICBzbmRfc2dpbzJhdWRpb19wYWdlLAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBzbmRfc2dpbzJhdWRpb19wbGF5YmFjazJfb3BzID0geworCS5vcGVuID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMl9vcGVuLAorCS5jbG9zZSA9ICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9jbG9zZSwKKwkuaW9jdGwgPSAgICAgICBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gICBzbmRfc2dpbzJhdWRpb19wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19mcmVlLAorCS5wcmVwYXJlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wb2ludGVyLAorCS5wYWdlID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BhZ2UsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIHNuZF9zZ2lvMmF1ZGlvX2NhcHR1cmVfb3BzID0geworCS5vcGVuID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX2NhcHR1cmVfb3BlbiwKKwkuY2xvc2UgPSAgICAgICBzbmRfc2dpbzJhdWRpb19wY21fY2xvc2UsCisJLmlvY3RsID0gICAgICAgc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcyA9ICAgc25kX3NnaW8yYXVkaW9fcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZSA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21faHdfZnJlZSwKKwkucHJlcGFyZSA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fcHJlcGFyZSwKKwkudHJpZ2dlciA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fdHJpZ2dlciwKKwkucG9pbnRlciA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fcG9pbnRlciwKKwkucGFnZSA9ICAgICAgICBzbmRfc2dpbzJhdWRpb19wYWdlLAorfTsKKworLyoKKyAqICBkZWZpbml0aW9ucyBvZiBjYXB0dXJlIGFyZSBvbWl0dGVkIGhlcmUuLi4KKyAqLworCisvKiBjcmVhdGUgYSBwY20gZGV2aWNlICovCitzdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfc2dpbzJhdWRpb19uZXdfcGNtKHN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCkKK3sKKwlzdHJ1Y3Qgc25kX3BjbSAqcGNtOworCWludCBlcnI7CisKKwkvKiBjcmVhdGUgZmlyc3QgcGNtIGRldmljZSB3aXRoIG9uZSBvdXRwdXRzIGFuZCBvbmUgaW5wdXQgKi8KKwllcnIgPSBzbmRfcGNtX25ldyhjaGlwLT5jYXJkLCAiU0dJIE8yIEF1ZGlvIiwgMCwgMSwgMSwgJnBjbSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlwY20tPnByaXZhdGVfZGF0YSA9IGNoaXA7CisJc3RyY3B5KHBjbS0+bmFtZSwgIlNHSSBPMiBEQUMxIik7CisKKwkvKiBzZXQgb3BlcmF0b3JzICovCisJc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSywKKwkJCSZzbmRfc2dpbzJhdWRpb19wbGF5YmFjazFfb3BzKTsKKwlzbmRfcGNtX3NldF9vcHMocGNtLCBTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkUsCisJCQkmc25kX3NnaW8yYXVkaW9fY2FwdHVyZV9vcHMpOworCisJLyogY3JlYXRlIHNlY29uZCAgcGNtIGRldmljZSB3aXRoIG9uZSBvdXRwdXRzIGFuZCBubyBpbnB1dCAqLworCWVyciA9IHNuZF9wY21fbmV3KGNoaXAtPmNhcmQsICJTR0kgTzIgQXVkaW8iLCAxLCAxLCAwLCAmcGNtKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCXBjbS0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKKwlzdHJjcHkocGNtLT5uYW1lLCAiU0dJIE8yIERBQzIiKTsKKworCS8qIHNldCBvcGVyYXRvcnMgKi8KKwlzbmRfcGNtX3NldF9vcHMocGNtLCBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLLAorCQkJJnNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMl9vcHMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgeworCWludCBpZHg7CisJaW50IGlycTsKKwlpcnFyZXR1cm5fdCAoKmlzcikoaW50LCB2b2lkICopOworCWNvbnN0IGNoYXIgKmRlc2M7Cit9IHNuZF9zZ2lvMl9pc3JfdGFibGVbXSA9IHsKKwl7CisJCS5pZHggPSAwLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzFfRE1BVF9JUlEsCisJCS5pc3IgPSBzbmRfc2dpbzJhdWRpb19kbWFfaW5faXNyLAorCQkuZGVzYyA9ICJDYXB0dXJlIERNQSBDaGFubmVsIDAiCisJfSwgeworCQkuaWR4ID0gMCwKKwkJLmlycSA9IE1BQ0VJU0FfQVVESU8xX09GX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2Vycm9yX2lzciwKKwkJLmRlc2MgPSAiQ2FwdHVyZSBPdmVyZmxvdyIKKwl9LCB7CisJCS5pZHggPSAxLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzJfRE1BVF9JUlEsCisJCS5pc3IgPSBzbmRfc2dpbzJhdWRpb19kbWFfb3V0X2lzciwKKwkJLmRlc2MgPSAiUGxheWJhY2sgRE1BIENoYW5uZWwgMSIKKwl9LCB7CisJCS5pZHggPSAxLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzJfTUVSUl9JUlEsCisJCS5pc3IgPSBzbmRfc2dpbzJhdWRpb19lcnJvcl9pc3IsCisJCS5kZXNjID0gIk1lbW9yeSBFcnJvciBDaGFubmVsIDEiCisJfSwgeworCQkuaWR4ID0gMiwKKwkJLmlycSA9IE1BQ0VJU0FfQVVESU8zX0RNQVRfSVJRLAorCQkuaXNyID0gc25kX3NnaW8yYXVkaW9fZG1hX291dF9pc3IsCisJCS5kZXNjID0gIlBsYXliYWNrIERNQSBDaGFubmVsIDIiCisJfSwgeworCQkuaWR4ID0gMiwKKwkJLmlycSA9IE1BQ0VJU0FfQVVESU8zX01FUlJfSVJRLAorCQkuaXNyID0gc25kX3NnaW8yYXVkaW9fZXJyb3JfaXNyLAorCQkuZGVzYyA9ICJNZW1vcnkgRXJyb3IgQ2hhbm5lbCAyIgorCX0KK307CisKKy8qIEFMU0EgZHJpdmVyICovCisKK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fZnJlZShzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXApCit7CisJaW50IGk7CisKKwkvKiByZXNldCBpbnRlcmZhY2UgKi8KKwl3cml0ZXEoQVVESU9fQ09OVFJPTF9SRVNFVCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNvbnRyb2wpOworCXVkZWxheSgxKTsKKwl3cml0ZXEoMCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNvbnRyb2wpOworCisJLyogcmVsZWFzZSBJUlEncyAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNuZF9zZ2lvMl9pc3JfdGFibGUpOyBpKyspCisJCWZyZWVfaXJxKHNuZF9zZ2lvMl9pc3JfdGFibGVbaV0uaXJxLAorCQkJICZjaGlwLT5jaGFubmVsW3NuZF9zZ2lvMl9pc3JfdGFibGVbaV0uaWR4XSk7CisKKwlkbWFfZnJlZV9jb2hlcmVudChOVUxMLCBNQUNFSVNBX1JJTkdCVUZGRVJTX1NJWkUsCisJCQkgIGNoaXAtPnJpbmdfYmFzZSwgY2hpcC0+cmluZ19iYXNlX2RtYSk7CisKKwkvKiByZWxlYXNlIGNhcmQgZGF0YSAqLworCWtmcmVlKGNoaXApOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2Rldl9mcmVlKHN0cnVjdCBzbmRfZGV2aWNlICpkZXZpY2UpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gZGV2aWNlLT5kZXZpY2VfZGF0YTsKKworCXJldHVybiBzbmRfc2dpbzJhdWRpb19mcmVlKGNoaXApOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9kZXZpY2Vfb3BzIG9wcyA9IHsKKwkuZGV2X2ZyZWUgPSBzbmRfc2dpbzJhdWRpb19kZXZfZnJlZSwKK307CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9zZ2lvMmF1ZGlvX2NyZWF0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCisJCQkJCSAgIHN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqKnJjaGlwKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcDsKKwlpbnQgaSwgZXJyOworCisJKnJjaGlwID0gTlVMTDsKKworCS8qIGNoZWNrIGlmIGEgY29kZWMgaXMgYXR0YWNoZWQgdG8gdGhlIGludGVyZmFjZSAqLworCS8qIChBdWRpbyBvciBBdWRpby9WaWRlbyBib2FyZCBwcmVzZW50KSAqLworCWlmICghKHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jb250cm9sKSAmIEFVRElPX0NPTlRST0xfQ09ERUNfUFJFU0VOVCkpCisJCXJldHVybiAtRU5PRU5UOworCisJY2hpcCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc2dpbzJhdWRpbyksIEdGUF9LRVJORUwpOworCWlmIChjaGlwID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJY2hpcC0+Y2FyZCA9IGNhcmQ7CisKKwljaGlwLT5yaW5nX2Jhc2UgPSBkbWFfYWxsb2NfY29oZXJlbnQoTlVMTCwgTUFDRUlTQV9SSU5HQlVGRkVSU19TSVpFLAorCQkJCQkgICAgICZjaGlwLT5yaW5nX2Jhc2VfZG1hLCBHRlBfVVNFUik7CisJaWYgKGNoaXAtPnJpbmdfYmFzZSA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUgorCQkgICAgICAgInNnaW8yYXVkaW86IGNvdWxkIG5vdCBhbGxvY2F0ZSByaW5nIGJ1ZmZlcnNcbiIpOworCQlrZnJlZShjaGlwKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJc3Bpbl9sb2NrX2luaXQoJmNoaXAtPmFkMTg0M19sb2NrKTsKKworCS8qIGluaXRpYWxpemUgY2hhbm5lbHMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7CisJCXNwaW5fbG9ja19pbml0KCZjaGlwLT5jaGFubmVsW2ldLmxvY2spOworCQljaGlwLT5jaGFubmVsW2ldLmlkeCA9IGk7CisJfQorCisJLyogYWxsb2NhdGUgSVJRcyAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNuZF9zZ2lvMl9pc3JfdGFibGUpOyBpKyspIHsKKwkJaWYgKHJlcXVlc3RfaXJxKHNuZF9zZ2lvMl9pc3JfdGFibGVbaV0uaXJxLAorCQkJCXNuZF9zZ2lvMl9pc3JfdGFibGVbaV0uaXNyLAorCQkJCTAsCisJCQkJc25kX3NnaW8yX2lzcl90YWJsZVtpXS5kZXNjLAorCQkJCSZjaGlwLT5jaGFubmVsW3NuZF9zZ2lvMl9pc3JfdGFibGVbaV0uaWR4XSkpIHsKKwkJCXNuZF9zZ2lvMmF1ZGlvX2ZyZWUoY2hpcCk7CisJCQlwcmludGsoS0VSTl9FUlIgInNnaW8yYXVkaW86IGNhbm5vdCBhbGxvY2F0ZSBpcnEgJWRcbiIsCisJCQkgICAgICAgc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pcnEpOworCQkJcmV0dXJuIC1FQlVTWTsKKwkJfQorCX0KKworCS8qIHJlc2V0IHRoZSBpbnRlcmZhY2UgKi8KKwl3cml0ZXEoQVVESU9fQ09OVFJPTF9SRVNFVCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNvbnRyb2wpOworCXVkZWxheSgxKTsKKwl3cml0ZXEoMCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNvbnRyb2wpOworCW1zbGVlcF9pbnRlcnJ1cHRpYmxlKDEpOyAvKiBnaXZlIHRpbWUgdG8gcmVjb3ZlciAqLworCisJLyogc2V0IHJpbmcgYmFzZSAqLworCXdyaXRlcShjaGlwLT5yaW5nX2Jhc2VfZG1hLCAmbWFjZS0+cGVyaWYuY3RybC5yaW5nYmFzZSk7CisKKwkvKiBhdHRhY2ggdGhlIEFEMTg0MyBjb2RlYyAqLworCWNoaXAtPmFkMTg0My5yZWFkID0gcmVhZF9hZDE4NDNfcmVnOworCWNoaXAtPmFkMTg0My53cml0ZSA9IHdyaXRlX2FkMTg0M19yZWc7CisJY2hpcC0+YWQxODQzLmNoaXAgPSBjaGlwOworCisJLyogaW5pdGlhbGl6ZSB0aGUgQUQxODQzIGNvZGVjICovCisJZXJyID0gYWQxODQzX2luaXQoJmNoaXAtPmFkMTg0Myk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX3NnaW8yYXVkaW9fZnJlZShjaGlwKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwllcnIgPSBzbmRfZGV2aWNlX25ldyhjYXJkLCBTTkRSVl9ERVZfTE9XTEVWRUwsIGNoaXAsICZvcHMpOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9zZ2lvMmF1ZGlvX2ZyZWUoY2hpcCk7CisJCXJldHVybiBlcnI7CisJfQorCSpyY2hpcCA9IGNoaXA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9zZ2lvMmF1ZGlvX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcDsKKwlpbnQgZXJyOworCisJY2FyZCA9IHNuZF9jYXJkX25ldyhpbmRleCwgaWQsIFRISVNfTU9EVUxFLCAwKTsKKwlpZiAoY2FyZCA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWVyciA9IHNuZF9zZ2lvMmF1ZGlvX2NyZWF0ZShjYXJkLCAmY2hpcCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJc25kX2NhcmRfc2V0X2RldihjYXJkLCAmcGRldi0+ZGV2KTsKKworCWVyciA9IHNuZF9zZ2lvMmF1ZGlvX25ld19wY20oY2hpcCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJZXJyID0gc25kX3NnaW8yYXVkaW9fbmV3X21peGVyKGNoaXApOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCisJc3RyY3B5KGNhcmQtPmRyaXZlciwgIlNHSSBPMiBBdWRpbyIpOworCXN0cmNweShjYXJkLT5zaG9ydG5hbWUsICJTR0kgTzIgQXVkaW8iKTsKKwlzcHJpbnRmKGNhcmQtPmxvbmduYW1lLCAiJXMgaXJxICVpLSVpIiwKKwkJY2FyZC0+c2hvcnRuYW1lLAorCQlNQUNFSVNBX0FVRElPMV9ETUFUX0lSUSwKKwkJTUFDRUlTQV9BVURJTzNfTUVSUl9JUlEpOworCisJZXJyID0gc25kX2NhcmRfcmVnaXN0ZXIoY2FyZCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgY2FyZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19leGl0IHNuZF9zZ2lvMmF1ZGlvX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJc25kX2NhcmRfZnJlZShjYXJkKTsKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgc2dpbzJhdWRpb19kcml2ZXIgPSB7CisJLnByb2JlCT0gc25kX3NnaW8yYXVkaW9fcHJvYmUsCisJLnJlbW92ZQk9IF9fZGV2ZXhpdF9wKHNuZF9zZ2lvMmF1ZGlvX3JlbW92ZSksCisJLmRyaXZlciA9IHsKKwkJLm5hbWUJPSAic2dpbzJhdWRpbyIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IGFsc2FfY2FyZF9zZ2lvMmF1ZGlvX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZzZ2lvMmF1ZGlvX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhbHNhX2NhcmRfc2dpbzJhdWRpb19leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnNnaW8yYXVkaW9fZHJpdmVyKTsKK30KKworbW9kdWxlX2luaXQoYWxzYV9jYXJkX3NnaW8yYXVkaW9faW5pdCkKK21vZHVsZV9leGl0KGFsc2FfY2FyZF9zZ2lvMmF1ZGlvX2V4aXQpCmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvS2NvbmZpZyBiL3NvdW5kL29zcy9LY29uZmlnCmluZGV4IDNiZTJkYzEuLjMzOTQwMTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9LY29uZmlnCisrKyBiL3NvdW5kL29zcy9LY29uZmlnCkBAIC03LDcgKzcsNyBAQAogCiBjb25maWcgU09VTkRfQkNNX0NTNDI5N0EKIAl0cmlzdGF0ZSAiQ3J5c3RhbCBTb3VuZCBDUzQyOTdhIChmb3IgU3dhcm0pIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgU0lCWVRFX1NXQVJNCisJZGVwZW5kcyBvbiBTSUJZVEVfU1dBUk0KIAloZWxwCiAJICBUaGUgQkNNOTEyNTBBIGhhcyBhIENyeXN0YWwgQ1M0Mjk3YSBvbiBzeW5jaHJvbm91cyBzZXJpYWwKIAkgIHBvcnQgQiAoaW4gYWRkaXRpb24gdG8gdGhlIERCLTkgc2VyaWFsIHBvcnQpLiAgU2F5IFkgb3IgTQpAQCAtMTcsNyArMTcsNyBAQAogCiBjb25maWcgU09VTkRfVldTTkQKIAl0cmlzdGF0ZSAiU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBTb3VuZCIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFg4Nl9WSVNXUworCWRlcGVuZHMgb24gWDg2X1ZJU1dTCiAJaGVscAogCSAgU2F5IFkgb3IgTSBpZiB5b3UgaGF2ZSBhbiBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIGFuZCB5b3Ugd2FudCB0byBiZQogCSAgYWJsZSB0byB1c2UgaXRzIG9uLWJvYXJkIGF1ZGlvLiAgUmVhZApAQCAtMjYsMTkgKzI2LDE4IEBACiAKIGNvbmZpZyBTT1VORF9IQUwyCiAJdHJpc3RhdGUgIlNHSSBIQUwyIHNvdW5kIChFWFBFUklNRU5UQUwpIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgU0dJX0lQMjIgJiYgRVhQRVJJTUVOVEFMCisJZGVwZW5kcyBvbiBTR0lfSVAyMiAmJiBFWFBFUklNRU5UQUwKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSBoYXZlIGFuIFNHSSBJbmR5IG9yIEluZGlnbzIgc3lzdGVtIGFuZCB3YW50IHRvIGJlIGFibGUgdG8KIAkgIHVzZSBpdHMgb24tYm9hcmQgQTIgYXVkaW8gc3lzdGVtLgogCiBjb25maWcgU09VTkRfQVUxNTUwX0FDOTcKIAl0cmlzdGF0ZSAiQXUxNTUwL0F1MTIwMCBBQzk3IFNvdW5kIgotCXNlbGVjdCBTTkRfQUM5N19DT0RFQwotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgKFNPQ19BVTE1NTAgfHwgU09DX0FVMTIwMCkKKwlkZXBlbmRzIG9uIFNPQ19BVTE1NTAgfHwgU09DX0FVMTIwMAogCiBjb25maWcgU09VTkRfVFJJREVOVAogCXRyaXN0YXRlICJUcmlkZW50IDREV2F2ZSBEWC9OWCwgU2lTIDcwMTggb3IgQUxpIDU0NTEgUENJIEF1ZGlvIENvcmUiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBQQ0kKKwlkZXBlbmRzIG9uIFBDSQogCS0tLWhlbHAtLS0KIAkgIFNheSBZIG9yIE0gaWYgeW91IGhhdmUgYSBQQ0kgc291bmQgY2FyZCB1dGlsaXppbmcgdGhlIFRyaWRlbnQKIAkgIDREV2F2ZS1EWC9OWCBjaGlwc2V0IG9yIHlvdXIgbW90aGVyIGJvYXJkIGNoaXBzZXQgaGFzIFNpUyA3MDE4CkBAIC03OSw3ICs3OCw3IEBACiAKIGNvbmZpZyBTT1VORF9NU05EQ0xBUwogCXRyaXN0YXRlICJTdXBwb3J0IGZvciBUdXJ0bGUgQmVhY2ggTXVsdGlTb3VuZCBDbGFzc2ljLCBUYWhpdGksIE1vbnRlcmV5IgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgKG0gfHwgIVNUQU5EQUxPTkUpICYmIElTQQorCWRlcGVuZHMgb24gKG0gfHwgIVNUQU5EQUxPTkUpICYmIElTQQogCWhlbHAKIAkgIFNheSBNIGhlcmUgaWYgeW91IGhhdmUgYSBUdXJ0bGUgQmVhY2ggTXVsdGlTb3VuZCBDbGFzc2ljLCBUYWhpdGkgb3IKIAkgIE1vbnRlcmV5IChub3QgZm9yIHRoZSBQaW5uYWNsZSBvciBGaWppKS4KQEAgLTE0Myw3ICsxNDIsNyBAQAogCiBjb25maWcgU09VTkRfTVNORFBJTgogCXRyaXN0YXRlICJTdXBwb3J0IGZvciBUdXJ0bGUgQmVhY2ggTXVsdGlTb3VuZCBQaW5uYWNsZSwgRmlqaSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIChtIHx8ICFTVEFOREFMT05FKSAmJiBJU0EKKwlkZXBlbmRzIG9uIChtIHx8ICFTVEFOREFMT05FKSAmJiBJU0EKIAloZWxwCiAJICBTYXkgTSBoZXJlIGlmIHlvdSBoYXZlIGEgVHVydGxlIEJlYWNoIE11bHRpU291bmQgUGlubmFjbGUgb3IgRmlqaS4KIAkgIFNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL3NvdW5kL29zcy9NdWx0aVNvdW5kPiBmb3IgaW1wb3J0YW50IGluZm9ybWF0aW9uCkBAIC0yMjksNyArMjI4LDcgQEAKIAkgIGNvbmZpZ3VyZSB0aGUgY2FyZCdzIHJlc291cmNlcy4KIAogY29tbWVudCAiTVNORCBQaW5uYWNsZSBEU1Agc2VjdGlvbiB3aWxsIGJlIGNvbmZpZ3VyZWQgdG8gYWJvdmUgcGFyYW1ldGVycy4iCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBTT1VORF9NU05EUElOPXkgJiYgTVNORFBJTl9OT05QTlAKKwlkZXBlbmRzIG9uIFNPVU5EX01TTkRQSU49eSAmJiBNU05EUElOX05PTlBOUAogCiBjb25maWcgTVNORFBJTl9DRkcKIAloZXggIk1TTkQgUGlubmFjbGUgY29uZmlnIHBvcnQgMjUwLDI2MCwyNzAiCkBAIC0yNDIsNyArMjQxLDcgQEAKIAkgIE1vZGUiLgogCiBjb21tZW50ICJQaW5uYWNsZS1zcGVjaWZpYyBEZXZpY2UgQ29uZmlndXJhdGlvbiAoMCBkaXNhYmxlcykiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBTT1VORF9NU05EUElOPXkgJiYgTVNORFBJTl9OT05QTlAKKwlkZXBlbmRzIG9uIFNPVU5EX01TTkRQSU49eSAmJiBNU05EUElOX05PTlBOUAogCiBjb25maWcgTVNORFBJTl9NUFVfSU8KIAloZXggIk1TTkQgUGlubmFjbGUgTVBVIEkvTyAoZS5nLiAzMzApIgpAQCAtMjk0LDcgKzI5Myw3IEBACiAKIGNvbmZpZyBNU05EX0ZJRk9TSVpFCiAJaW50ICJNU05EIGJ1ZmZlciBzaXplIChrQikiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiAoU09VTkRfTVNORFBJTj15IHx8IFNPVU5EX01TTkRDTEFTPXkpCisJZGVwZW5kcyBvbiBTT1VORF9NU05EUElOPXkgfHwgU09VTkRfTVNORENMQVM9eQogCWRlZmF1bHQgIjEyOCIKIAloZWxwCiAJICBDb25maWd1cmVzIHRoZSBzaXplIG9mIGVhY2ggYXVkaW8gYnVmZmVyLCBpbiBraWxvYnl0ZXMsIGZvcgpAQCAtMzAyLDkgKzMwMSw5IEBACiAJICBhbmQgUGlubmFjbGUpLiBMYXJnZXIgdmFsdWVzIHJlZHVjZSB0aGUgY2hhbmNlIG9mIGRhdGEgb3ZlcnJ1bnMgYXQKIAkgIHRoZSBleHBlbnNlIG9mIG92ZXJhbGwgbGF0ZW5jeS4gSWYgdW5zdXJlLCB1c2UgdGhlIGRlZmF1bHQuCiAKLWNvbmZpZyBTT1VORF9PU1MKK21lbnVjb25maWcgU09VTkRfT1NTCiAJdHJpc3RhdGUgIk9TUyBzb3VuZCBtb2R1bGVzIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgSVNBX0RNQV9BUEkgJiYgVklSVF9UT19CVVMKKwlkZXBlbmRzIG9uIElTQV9ETUFfQVBJICYmIFZJUlRfVE9fQlVTCiAJaGVscAogCSAgT1NTIGlzIHRoZSBPcGVuIFNvdW5kIFN5c3RlbSBzdWl0ZSBvZiBzb3VuZCBjYXJkIGRyaXZlcnMuICBUaGV5IG1ha2UKIAkgIHNvdW5kIHByb2dyYW1taW5nIGVhc2llciBzaW5jZSB0aGV5IHByb3ZpZGUgYSBjb21tb24gQVBJLiAgU2F5IFkgb3IKQEAgLTMxMiwxNiArMzExLDE2IEBACiAJICBkcml2ZXIgZm9yIHlvdXIgc291bmQgY2FyZCBhYm92ZSwgdGhlbiBwaWNrIHlvdXIgZHJpdmVyIGZyb20gdGhlCiAJICBsaXN0IGJlbG93LgogCitpZiBTT1VORF9PU1MKKwogY29uZmlnIFNPVU5EX1RSQUNFSU5JVAogCWJvb2wgIlZlcmJvc2UgaW5pdGlhbGlzYXRpb24iCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAloZWxwCiAJICBWZXJib3NlIHNvdW5kY2FyZCBpbml0aWFsaXphdGlvbiAtLSBhZmZlY3RzIHRoZSBmb3JtYXQgb2YgYXV0b3Byb2JlCiAJICBhbmQgaW5pdGlhbGl6YXRpb24gbWVzc2FnZXMgYXQgYm9vdCB0aW1lLgogCiBjb25maWcgU09VTkRfRE1BUAogCWJvb2wgIlBlcnNpc3RlbnQgRE1BIGJ1ZmZlcnMiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBMaW51eCBjYW4gb2Z0ZW4gaGF2ZSBwcm9ibGVtcyBhbGxvY2F0aW5nIERNQSBidWZmZXJzIGZvciBJU0Egc291bmQKIAkgIGNhcmRzIG9uIG1hY2hpbmVzIHdpdGggbW9yZSB0aGFuIDE2TUIgb2YgUkFNLiBUaGlzIGlzIGJlY2F1c2UgSVNBCkBAIC0zMzgsOCArMzM3LDYgQEAKIAogY29uZmlnIFNPVU5EX1NTQ0FQRQogCXRyaXN0YXRlICJFbnNvbmlxIFNvdW5kU2NhcGUgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwotCWRlcGVuZHMgb24gVklSVF9UT19CVVMKIAloZWxwCiAJICBBbnN3ZXIgWSBpZiB5b3UgaGF2ZSBhIHNvdW5kIGNhcmQgYmFzZWQgb24gdGhlIEVuc29uaXEgU291bmRTY2FwZQogCSAgY2hpcHNldC4gU3VjaCBjYXJkcyBhcmUgYmVpbmcgbWFudWZhY3R1cmVkIGF0IGxlYXN0IGJ5IEVuc29uaXEsIFNwZWEKQEAgLTM1MiwxMyArMzQ5LDExIEBACiAKIGNvbmZpZyBTT1VORF9WTUlESQogCXRyaXN0YXRlICJMb29wYmFjayBNSURJIGRldmljZSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgTUlESSBsb29wYmFjayBvbiBwb3J0IDEgb3IgMi4KIAogY29uZmlnIFNPVU5EX1RSSVgKIAl0cmlzdGF0ZSAiTWVkaWFUcml4IEF1ZGlvVHJpeCBQcm8gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIEFuc3dlciBZIGlmIHlvdSBoYXZlIHRoZSBBdWRpb1RyaVggUHJvIHNvdW5kIGNhcmQgbWFudWZhY3R1cmVkCiAJICBieSBNZWRpYVRyaXguCkBAIC0zODIsNyArMzc3LDYgQEAKIAogY29uZmlnIFNPVU5EX01TUwogCXRyaXN0YXRlICJNaWNyb3NvZnQgU291bmQgU3lzdGVtIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBZ2FpbiB0aGluayBjYXJlZnVsbHkgYmVmb3JlIGFuc3dlcmluZyBZIHRvIHRoaXMgcXVlc3Rpb24uICBJdCdzCiAJICBzYWZlIHRvIGFuc3dlciBZIGlmIHlvdSBoYXZlIHRoZSBvcmlnaW5hbCBXaW5kb3dzIFNvdW5kIFN5c3RlbSBjYXJkCkBAIC00MTQsNyArNDA4LDYgQEAKIAogY29uZmlnIFNPVU5EX01QVTQwMQogCXRyaXN0YXRlICJNUFUtNDAxIHN1cHBvcnQgKE5PVCBmb3IgU0IxNikiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBCZSBjYXJlZnVsIHdpdGggdGhpcyBxdWVzdGlvbi4gIFRoZSBNUFU0MDEgaW50ZXJmYWNlIGlzIHN1cHBvcnRlZCBieQogCSAgYWxsIHNvdW5kIGNhcmRzLiAgSG93ZXZlciwgc29tZSBuYXRpdmVseSBzdXBwb3J0ZWQgY2FyZHMgaGF2ZSB0aGVpcgpAQCAtNDMwLDcgKzQyMyw2IEBACiAKIGNvbmZpZyBTT1VORF9QQVMKIAl0cmlzdGF0ZSAiUHJvQXVkaW9TcGVjdHJ1bSAxNiBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgQW5zd2VyIFkgb25seSBpZiB5b3UgaGF2ZSBhIFBybyBBdWRpbyBTcGVjdHJ1bSAxNiwgUHJvQXVkaW8gU3R1ZGlvCiAJICAxNiBvciBMb2dpdGVjaCBTb3VuZE1hbiAxNiBzb3VuZCBjYXJkLiBBbnN3ZXIgTiBpZiB5b3UgaGF2ZSBzb21lCkBAIC00NTIsNyArNDQ0LDYgQEAKIAogY29uZmlnIFNPVU5EX1BTUwogCXRyaXN0YXRlICJQU1MgKEFEMTg0OCwgQURTUC0yMTE1LCBFU0M2MTQpIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAloZWxwCiAJICBBbnN3ZXIgWSBvciBNIGlmIHlvdSBoYXZlIGFuIE9yY2hpZCBTVzMyLCBDYXJkaW5hbCBEU1AxNiwgQmVldGhvdmVuCiAJICBBRFNQLTE2IG9yIHNvbWUgb3RoZXIgY2FyZCBiYXNlZCBvbiB0aGUgUFNTIGNoaXBzZXQgKEFEMTg0OCBjb2RlYyArCkBAIC00OTUsNyArNDg2LDYgQEAKIAogY29uZmlnIFNPVU5EX1NCCiAJdHJpc3RhdGUgIjEwMCUgU291bmQgQmxhc3RlciBjb21wYXRpYmxlcyAoU0IxNi8zMi82NCwgRVNTLCBKYXp6MTYpIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBbnN3ZXIgWSBpZiB5b3UgaGF2ZSBhbiBvcmlnaW5hbCBTb3VuZCBCbGFzdGVyIGNhcmQgbWFkZSBieSBDcmVhdGl2ZQogCSAgTGFicyBvciBhIDEwMCUgaGFyZHdhcmUgY29tcGF0aWJsZSBjbG9uZSAobGlrZSB0aGUgVGh1bmRlcmJvYXJkIG9yCkBAIC01MjIsNyArNTEyLDYgQEAKIAogY29uZmlnIFNPVU5EX1lNMzgxMgogCXRyaXN0YXRlICJZYW1haGEgRk0gc3ludGhlc2l6ZXIgKFlNMzgxMi9PUEwtMykgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFuc3dlciBZIGlmIHlvdXIgY2FyZCBoYXMgYSBGTSBjaGlwIG1hZGUgYnkgWWFtYWhhIChPUEwyL09QTDMvT1BMNCkuCiAJICBBbnN3ZXJpbmcgWSBpcyB1c3VhbGx5IGEgc2FmZSBhbmQgcmVjb21tZW5kZWQgY2hvaWNlLCBob3dldmVyIHNvbWUKQEAgLTUzOCw3ICs1MjcsNiBAQAogCiBjb25maWcgU09VTkRfVUFSVDY4NTAKIAl0cmlzdGF0ZSAiNjg1MCBVQVJUIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAloZWxwCiAJICBUaGlzIG9wdGlvbiBlbmFibGVzIHN1cHBvcnQgZm9yIE1JREkgaW50ZXJmYWNlcyBiYXNlZCBvbiB0aGUgNjg1MAogCSAgVUFSVCBjaGlwLiBUaGlzIGludGVyZmFjZSBpcyByYXJlbHkgZm91bmQgb24gc291bmQgY2FyZHMuIEl0J3Mgc2FmZQpAQCAtNTQ5LDcgKzUzNyw2IEBACiAKIGNvbmZpZyBTT1VORF9BRURTUDE2CiAJdHJpc3RhdGUgIkdhbGxhbnQgQXVkaW8gQ2FyZHMgKFNDLTYwMDAgYW5kIFNDLTY2MDAgYmFzZWQpIgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgQW5zd2VyIFkgaWYgeW91IGhhdmUgYSBHYWxsYW50J3MgQXVkaW8gRXhjZWwgRFNQIDE2IGNhcmQuIFRoaXMKIAkgIGRyaXZlciBzdXBwb3J0cyBBdWRpbyBFeGNlbCBEU1AgMTYgYnV0IG5vdCB0aGUgSUlJIG5vciBQblAgdmVyc2lvbnMKQEAgLTYzMCwxNCArNjE3LDE0IEBACiAKIGNvbmZpZyBTT1VORF9WSURDCiAJdHJpc3RhdGUgIlZJREMgMTYtYml0IHNvdW5kIgotCWRlcGVuZHMgb24gQVJNICYmIChBUkNIX0FDT1JOIHx8IEFSQ0hfQ0xQUzc1MDApICYmIFNPVU5EX09TUworCWRlcGVuZHMgb24gQVJNICYmIChBUkNIX0FDT1JOIHx8IEFSQ0hfQ0xQUzc1MDApCiAJaGVscAogCSAgMTYtYml0IHN1cHBvcnQgZm9yIHRoZSBWSURDIG9uYm9hcmQgc291bmQgaGFyZHdhcmUgZm91bmQgb24gQWNvcm4KIAkgIG1hY2hpbmVzLgogCiBjb25maWcgU09VTkRfV0FWRUFSVElTVAogCXRyaXN0YXRlICJOZXR3aW5kZXIgV2F2ZUFydGlzdCIKLQlkZXBlbmRzIG9uIEFSTSAmJiBTT1VORF9PU1MgJiYgQVJDSF9ORVRXSU5ERVIKKwlkZXBlbmRzIG9uIEFSTSAmJiBBUkNIX05FVFdJTkRFUgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgUm9ja3dlbGwgV2F2ZUFydGlzdCBzb3VuZAogCSAgc3lzdGVtLiAgVGhpcyBkcml2ZXIgaXMgbWFpbmx5IGZvciB0aGUgTmV0V2luZGVyLgpAQCAtNjQ2LDkgKzYzMywxMSBAQAogCXRyaXN0YXRlICJYcHJlc3NBdWRpbyBTb3VuZCBCbGFzdGVyIGVtdWxhdGlvbiIKIAlkZXBlbmRzIG9uIFNPVU5EX1NCCiAKK2VuZGlmCSMgU09VTkRfT1NTCisKIGNvbmZpZyBTT1VORF9TSF9EQUNfQVVESU8KIAl0cmlzdGF0ZSAiU3VwZXJIIERBQyBhdWRpbyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgQ1BVX1NIMworCWRlcGVuZHMgb24gQ1BVX1NIMwogCiBjb25maWcgU09VTkRfU0hfREFDX0FVRElPX0NIQU5ORUwKIAlpbnQgIkRBQyBjaGFubmVsIgpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX2NvcmUuYyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9jb3JlLmMKaW5kZXggYTAwM2MwZS4uOTVmYzVjNiAxMDA2NDQKLS0tIGEvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX2NvcmUuYworKysgYi9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfY29yZS5jCkBAIC0yMTEsMTAgKzIxMSw2IEBACiBzdGF0aWMgaW50IGlycV9pbnN0YWxsZWQ7CiAjZW5kaWYgLyogTU9EVUxFICovCiAKLS8qIHNvZnR3YXJlIGltcGxlbWVudGVkIHJlY29yZGluZyB2b2x1bWUhICovCi11aW50IHNvZnR3YXJlX2lucHV0X3ZvbHVtZSA9IFNXX0lOUFVUX1ZPTFVNRV9TQ0FMRSAqIFNXX0lOUFVUX1ZPTFVNRV9ERUZBVUxUOwotRVhQT1JUX1NZTUJPTChzb2Z0d2FyZV9pbnB1dF92b2x1bWUpOwotCiAvKiBjb250cm9sIG92ZXIgd2hvIGNhbiBtb2RpZnkgcmVzb3VyY2VzIHNoYXJlZCBiZXR3ZWVuIHBsYXkvcmVjb3JkICovCiBzdGF0aWMgbW9kZV90IHNoYXJlZF9yZXNvdXJjZV9vd25lcjsKIHN0YXRpYyBpbnQgc2hhcmVkX3Jlc291cmNlc19pbml0aWFsaXNlZDsKQEAgLTExODgsNyArMTE4NCw3IEBACiAKIC8qIHB1Ymxpc2ggdGhpcyBmdW5jdGlvbiBmb3IgdXNlIGJ5IGxvdy1sZXZlbCBjb2RlLCBpZiByZXF1aXJlZCAqLwogCi1jaGFyICpnZXRfYWZtdF9zdHJpbmcoaW50IGFmbXQpCitzdGF0aWMgY2hhciAqZ2V0X2FmbXRfc3RyaW5nKGludCBhZm10KQogewogICAgICAgICBzd2l0Y2goYWZtdCkgewogICAgICAgICAgICAgY2FzZSBBRk1UX01VX0xBVzoKQEAgLTE1NTEsNCArMTU0NywzIEBACiBFWFBPUlRfU1lNQk9MKGRtYXNvdW5kX3VsYXcyZG1hOCk7CiBFWFBPUlRfU1lNQk9MKGRtYXNvdW5kX2FsYXcyZG1hOCk7CiAjZW5kaWYKLUVYUE9SVF9TWU1CT0woZ2V0X2FmbXRfc3RyaW5nKSA7CmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcGF1bGEuYyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9wYXVsYS5jCmluZGV4IDIwMmU4MTAzLi4wNmU5ZTg4IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcGF1bGEuYworKysgYi9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcGF1bGEuYwpAQCAtNzEwLDcgKzcxMCw3IEBACiAvKioqIENvbmZpZyAmIFNldHVwICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIAotaW50IF9faW5pdCBkbWFzb3VuZF9wYXVsYV9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBkbWFzb3VuZF9wYXVsYV9pbml0KHZvaWQpCiB7CiAJaW50IGVycjsKIApkaWZmIC0tZ2l0IGEvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3E0MC5jIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3E0MC5jCmluZGV4IGIzMzc5ZGQuLjE4NTViMTQgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9xNDAuYworKysgYi9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcTQwLmMKQEAgLTYxMSw3ICs2MTEsNyBAQAogLyoqKiBDb25maWcgJiBTZXR1cCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAKLWludCBfX2luaXQgZG1hc291bmRfcTQwX2luaXQodm9pZCkKK3N0YXRpYyBpbnQgX19pbml0IGRtYXNvdW5kX3E0MF9pbml0KHZvaWQpCiB7CiAJaWYgKE1BQ0hfSVNfUTQwKSB7CiAJICAgIGRtYXNvdW5kLm1hY2ggPSBtYWNoUTQwOwpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmQuYyBiL3NvdW5kL29zcy9tc25kLmMKaW5kZXggYmEzOGQ2Mi4uZTQyODJkOSAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmQuYworKysgYi9zb3VuZC9vc3MvbXNuZC5jCkBAIC0yMCw4ICsyMCw2IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKgotICogJElkOiBtc25kLmMsdiAxLjE3IDE5OTkvMDMvMjEgMTY6NTA6MDkgYW5kcmV3dHYgRXhwICQKLSAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9tc25kLmggYi9zb3VuZC9vc3MvbXNuZC5oCmluZGV4IGQwY2E1ODIuLjYxYjM5NTUgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9tc25kLmgKKysrIGIvc291bmQvb3NzL21zbmQuaApAQCAtMjQsOCArMjQsNiBAQAogICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogICoKLSAqICRJZDogbXNuZC5oLHYgMS4zNiAxOTk5LzAzLzIxIDE3OjA1OjQyIGFuZHJld3R2IEV4cCAkCi0gKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfX01TTkRfSAogI2RlZmluZSBfX01TTkRfSApkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmRfY2xhc3NpYy5oIGIvc291bmQvb3NzL21zbmRfY2xhc3NpYy5oCmluZGV4IDdmZmVhNTIuLjFhMTdkZGUgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9tc25kX2NsYXNzaWMuaAorKysgYi9zb3VuZC9vc3MvbXNuZF9jbGFzc2ljLmgKQEAgLTI0LDggKzI0LDYgQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqIAotICogJElkOiBtc25kX2NsYXNzaWMuaCx2IDEuMTAgMTk5OS8wMy8yMSAxNzozNjowOSBhbmRyZXd0diBFeHAgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX19NU05EX0NMQVNTSUNfSAogI2RlZmluZSBfX01TTkRfQ0xBU1NJQ19ICmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5jIGIvc291bmQvb3NzL21zbmRfcGlubmFjbGUuYwppbmRleCBmMWY0OWViLi5iZjI3ZTAwIDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5jCisrKyBiL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmMKQEAgLTI5LDEzICsyOSw4IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKgotICogJElkOiBtc25kX3Bpbm5hY2xlLmMsdiAxLjggMjAwMC8xMi8zMCAwMDozMzoyMSBzeWNhbW9yZSBFeHAgJAotICoKICAqIDEyLTMtMjAwMCAgTW9kaWZpZWQgSU8gcG9ydCB2YWxpZGF0aW9uICBTdGV2ZSBTeWNhbW9yZQogICoKLSAqCi0gKiAkJCQ6IG1zbmRfcGlubmFjbGUuYyx2IDEuNzUgMTk5OS8wMy8yMSAxNjo1MDowOSBhbmRyZXd0diAkJCQgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmRfcGlubmFjbGUuaCBiL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmgKaW5kZXggY2NlOTExNC4uYzE4ZDY2YyAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmRfcGlubmFjbGUuaAorKysgYi9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5oCkBAIC0yNCw4ICsyNCw2IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKgotICogJElkOiBtc25kX3Bpbm5hY2xlLmgsdiAxLjExIDE5OTkvMDMvMjEgMTc6MzY6MDkgYW5kcmV3dHYgRXhwICQKLSAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fTVNORF9QSU5OQUNMRV9ICiAjZGVmaW5lIF9fTVNORF9QSU5OQUNMRV9ICmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvdndzbmQuYyBiL3NvdW5kL29zcy92d3NuZC5jCmluZGV4IDJjNWFhYTUuLmRjYmIzZjcgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy92d3NuZC5jCisrKyBiL3NvdW5kL29zcy92d3NuZC5jCkBAIC0xNTAsNyArMTUwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogCi0jaW5jbHVkZSA8YXNtL21hY2gtdmlzd3MvY29iYWx0Lmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgogCiAjaW5jbHVkZSAic291bmRfY29uZmlnLmgiCiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BhcmlzYy9LY29uZmlnIGIvc291bmQvcGFyaXNjL0tjb25maWcKaW5kZXggYTVhN2Y5ZC4uOWI2MWQ5NSAxMDA2NDQKLS0tIGEvc291bmQvcGFyaXNjL0tjb25maWcKKysrIGIvc291bmQvcGFyaXNjL0tjb25maWcKQEAgLTEsMTUgKzEsMjAgQEAKICMgQUxTQSBQQS1SSVNDIGRyaXZlcnMKIAotbWVudSAiR1NDIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgR1NDCittZW51Y29uZmlnIFNORF9HU0MKKwlib29sICJHU0Mgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIEdTQworCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIEdTQyBzb3VuZCBkZXZpY2VzIG9uIFBBLVJJU0MgYXJjaGl0ZWN0dXJlcy4KKworaWYgU05EX0dTQwogCiBjb25maWcgU05EX0hBUk1PTlkKIAl0cmlzdGF0ZSAiSGFybW9ueS9WaXZhY2Ugc291bmQgY2hpcCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5ICdZJyBvciAnTScgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgSGFybW9ueS9WaXZhY2Ugc291bmQKIAkgIGNoaXAgZm91bmQgaW4gbW9zdCBHU0MtYmFzZWQgUEEtUklTQyB3b3Jrc3RhdGlvbnMuICBJdCdzIGZyZXF1ZW50bHkKIAkgIHByb3ZpZGVkIGFzIHBhcnQgb2YgdGhlIExhc2kgbXVsdGktZnVuY3Rpb24gSUMuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX0dTQwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL0tjb25maWcgYi9zb3VuZC9wY2kvS2NvbmZpZwppbmRleCA3ZTQ3NDIxLi5mN2Q5NWIyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvS2NvbmZpZworKysgYi9zb3VuZC9wY2kvS2NvbmZpZwpAQCAtMSwxMSArMSwxNiBAQAogIyBBTFNBIFBDSSBkcml2ZXJzCiAKLW1lbnUgIlBDSSBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFBDSQorbWVudWNvbmZpZyBTTkRfUENJCisJYm9vbCAiUENJIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBQQ0kKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgdGhlIFBDSSBidXMuCisKK2lmIFNORF9QQ0kKIAogY29uZmlnIFNORF9BRDE4ODkKIAl0cmlzdGF0ZSAiQW5hbG9nIERldmljZXMgQUQxODg5IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIEFDOTcgc291bmQKQEAgLTE3LDcgKzIyLDYgQEAKIAogY29uZmlnIFNORF9BTFMzMDAKIAl0cmlzdGF0ZSAiQXZhbmNlIExvZ2ljIEFMUzMwMC9BTFMzMDArIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX09QTDNfTElCCkBAIC0yOSw3ICszMyw3IEBACiAKIGNvbmZpZyBTTkRfQUxTNDAwMAogCXRyaXN0YXRlICJBdmFuY2UgTG9naWMgQUxTNDAwMCIKLQlkZXBlbmRzIG9uIFNORCAmJiBJU0FfRE1BX0FQSQorCWRlcGVuZHMgb24gSVNBX0RNQV9BUEkKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC00Myw3ICs0Nyw2IEBACiAKIGNvbmZpZyBTTkRfQUxJNTQ1MQogCXRyaXN0YXRlICJBTGkgTTU0NTEgUENJIEF1ZGlvIENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtNTcsNyArNjAsNiBAQAogCiBjb25maWcgU05EX0FUSUlYUAogCXRyaXN0YXRlICJBVEkgSVhQIEFDOTcgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBBQzk3IHNvdW5kCkBAIC02OSw3ICs3MSw2IEBACiAKIGNvbmZpZyBTTkRfQVRJSVhQX01PREVNCiAJdHJpc3RhdGUgIkFUSSBJWFAgTW9kZW0iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgTUM5NyBtb2RlbSBvbgpAQCAtODAsNyArODEsNiBAQAogCiBjb25maWcgU05EX0FVODgxMAogCXRyaXN0YXRlICJBdXJlYWwgQWR2YW50YWdlIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTk1LDcgKzk1LDYgQEAKIAogY29uZmlnIFNORF9BVTg4MjAKIAl0cmlzdGF0ZSAiQXVyZWFsIFZvcnRleCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC0xMDksNyArMTA4LDYgQEAKIAogY29uZmlnIFNORF9BVTg4MzAKIAl0cmlzdGF0ZSAiQXVyZWFsIFZvcnRleCAyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTEyNCw3ICsxMjIsNiBAQAogCiBjb25maWcgU05EX0FXMgogCXRyaXN0YXRlICJFbWFnaWMgQXVkaW93ZXJrIDIiCi0JZGVwZW5kcyBvbiBTTkQKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgRW1hZ2ljIEF1ZGlvd2VyayAyIHNvdW5kY2FyZHMuCiAKQEAgLTEzOSw3ICsxMzYsNyBAQAogCiBjb25maWcgU05EX0FaVDMzMjgKIAl0cmlzdGF0ZSAiQXp0ZWNoIEFaRjMzMjggLyBQQ0kxNjggKEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiBTTkQgJiYgRVhQRVJJTUVOVEFMCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC0xNTIsNyArMTQ5LDYgQEAKIAogY29uZmlnIFNORF9CVDg3WAogCXRyaXN0YXRlICJCdDg3eCBBdWRpbyBDYXB0dXJlIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBJZiB5b3Ugd2FudCB0byByZWNvcmQgYXVkaW8gZnJvbSBUViBjYXJkcyBiYXNlZCBvbgpAQCAtMTc0LDcgKzE3MCw2IEBACiAKIGNvbmZpZyBTTkRfQ0EwMTA2CiAJdHJpc3RhdGUgIlNCIEF1ZGlneSBMUyAvIExpdmUgMjRiaXQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1ZNQVNURVIKQEAgLTE4Nyw3ICsxODIsNiBAQAogCiBjb25maWcgU05EX0NNSVBDSQogCXRyaXN0YXRlICJDLU1lZGlhIDgzMzgsIDg3MzgsIDg3NjgsIDg3NzAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC0yMDEsMTMgKzE5NSwxMSBAQAogCiBjb25maWcgU05EX09YWUdFTl9MSUIKICAgICAgICAgdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCiBjb25maWcgU05EX09YWUdFTgogCXRyaXN0YXRlICJDLU1lZGlhIDg3ODggKE94eWdlbikiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09YWUdFTl9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3Igc291bmQgY2FyZHMgYmFzZWQgb24gdGhlCkBAIC0yMjUsNyArMjE3LDYgQEAKIAogY29uZmlnIFNORF9DUzQyODEKIAl0cmlzdGF0ZSAiQ2lycnVzIExvZ2ljIChTb3VuZCBGdXNpb24pIENTNDI4MSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTIzNyw3ICsyMjgsNiBAQAogCiBjb25maWcgU05EX0NTNDZYWAogCXRyaXN0YXRlICJDaXJydXMgTG9naWMgKFNvdW5kIEZ1c2lvbikgQ1M0MjgwL0NTNDYxeC9DUzQ2MngvQ1M0NjN4IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtMjU4LDcgKzI0OCw3IEBACiAKIGNvbmZpZyBTTkRfQ1M1NTMwCiAJdHJpc3RhdGUgIkNTNTUzMCBBdWRpbyIKLQlkZXBlbmRzIG9uIFNORCAmJiBJU0FfRE1BX0FQSQorCWRlcGVuZHMgb24gSVNBX0RNQV9BUEkKIAlzZWxlY3QgU05EX1NCMTZfRFNQCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIGF1ZGlvIG9uIEN5cml4L05hdFNlbWkgQ1M1NTMwIGNoaXBzLgpAQCAtMjY4LDcgKzI1OCw3IEBACiAKIGNvbmZpZyBTTkRfQ1M1NTM1QVVESU8KIAl0cmlzdGF0ZSAiQ1M1NTM1L0NTNTUzNiBBdWRpbyIKLQlkZXBlbmRzIG9uIFNORCAmJiBYODYgJiYgIVg4Nl82NAorCWRlcGVuZHMgb24gWDg2ICYmICFYODZfNjQKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTI4Niw3ICsyNzYsNiBAQAogCiBjb25maWcgU05EX0RBUkxBMjAKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgRGFybGEyMCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTI5Nyw3ICsyODYsNiBAQAogCiBjb25maWcgU05EX0dJTkEyMAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBHaW5hMjAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC0zMDgsNyArMjk2LDYgQEAKIAogY29uZmlnIFNORF9MQVlMQTIwCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIExheWxhMjAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTMyMCw3ICszMDcsNiBAQAogCiBjb25maWcgU05EX0RBUkxBMjQKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgRGFybGEyNCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTMzMSw3ICszMTcsNiBAQAogCiBjb25maWcgU05EX0dJTkEyNAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBHaW5hMjQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC0zNDIsNyArMzI3LDYgQEAKIAogY29uZmlnIFNORF9MQVlMQTI0CiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIExheWxhMjQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTM1NCw3ICszMzgsNiBAQAogCiBjb25maWcgU05EX01PTkEKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgTW9uYSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzY2LDcgKzM0OSw2IEBACiAKIGNvbmZpZyBTTkRfTUlBCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIE1pYSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzc4LDcgKzM2MCw2IEBACiAKIGNvbmZpZyBTTkRfRUNITzNHCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIDNHIGNhcmRzIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zOTAsNyArMzcxLDYgQEAKIAogY29uZmlnIFNORF9JTkRJR08KIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgSW5kaWdvIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNDAxLDcgKzM4MSw2IEBACiAKIGNvbmZpZyBTTkRfSU5ESUdPSU8KIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgSW5kaWdvIElPIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNDEyLDcgKzM5MSw2IEBACiAKIGNvbmZpZyBTTkRfSU5ESUdPREoKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgSW5kaWdvIERKIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNDIzLDcgKzQwMSw2IEBACiAKIGNvbmZpZyBTTkRfRU1VMTBLMQogCXRyaXN0YXRlICJFbXUxMGsxIChTQiBMaXZlISwgQXVkaWd5LCBFLW11IEFQUykiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUkFXTUlESQpAQCAtNDQxLDcgKzQxOCw2IEBACiAKIGNvbmZpZyBTTkRfRU1VMTBLMVgKIAl0cmlzdGF0ZSAiRW11MTBrMVggKERlbGwgT0VNIFZlcnNpb24pIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJaGVscApAQCAtNDUzLDcgKzQyOSw2IEBACiAKIGNvbmZpZyBTTkRfRU5TMTM3MAogCXRyaXN0YXRlICIoQ3JlYXRpdmUpIEVuc29uaXEgQXVkaW9QQ0kgMTM3MCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNDY0LDcgKzQzOSw2IEBACiAKIGNvbmZpZyBTTkRfRU5TMTM3MQogCXRyaXN0YXRlICIoQ3JlYXRpdmUpIEVuc29uaXEgQXVkaW9QQ0kgMTM3MS8xMzczIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtNDc2LDcgKzQ1MCw2IEBACiAKIGNvbmZpZyBTTkRfRVMxOTM4CiAJdHJpc3RhdGUgIkVTUyBFUzE5MzgvMTk0Ni8xOTY5IChTb2xvLTEpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTQ4OSw3ICs0NjIsNiBAQAogCiBjb25maWcgU05EX0VTMTk2OAogCXRyaXN0YXRlICJFU1MgRVMxOTY4LzE5NzggKE1hZXN0cm8tMS8yLzJFKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC01MDEsNyArNDczLDYgQEAKIAogY29uZmlnIFNORF9GTTgwMQogCXRyaXN0YXRlICJGb3J0ZU1lZGlhIEZNODAxIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTUyOCw3ICs0OTksNiBAQAogCiBjb25maWcgU05EX0hEQV9JTlRFTAogCXRyaXN0YXRlICJJbnRlbCBIRCBBdWRpbyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9WTUFTVEVSCiAJaGVscApAQCAtNjM3LDcgKzYwNyw2IEBACiAKIGNvbmZpZyBTTkRfSERTUAogCXRyaXN0YXRlICJSTUUgSGFtbWVyZmFsbCBEU1AgQXVkaW8iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTY1MCw3ICs2MTksNiBAQAogCiBjb25maWcgU05EX0hEU1BNCiAJdHJpc3RhdGUgIlJNRSBIYW1tZXJmYWxsIERTUCBNQURJIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC02NjMsNyArNjMxLDYgQEAKIAogY29uZmlnIFNORF9ISUZJRVIKIAl0cmlzdGF0ZSAiVGVtcG9UZWMgSGlGaWVyIEZhbnRhc2lhIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PWFlHRU5fTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBNZWRpYVRlay9UZW1wb1RlYyBIaUZpZXIKQEAgLTY3NCw3ICs2NDEsNiBAQAogCiBjb25maWcgU05EX0lDRTE3MTIKIAl0cmlzdGF0ZSAiSUNFbnNlbWJsZSBJQ0UxNzEyIChFbnZ5MjQpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTY5MSw4ICs2NTcsNyBAQAogCiBjb25maWcgU05EX0lDRTE3MjQKIAl0cmlzdGF0ZSAiSUNFL1ZUMTcyNC8xNzIwIChFbnZ5MjRIVC9QVCkiCi0JZGVwZW5kcyBvbiBTTkQKLQlzZWxlY3QgU05EX01QVTQwMV9VQVJUCisJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJc2VsZWN0IFNORF9WTUFTVEVSCiAJaGVscApAQCAtNzA5LDcgKzY3NCw2IEBACiAKIGNvbmZpZyBTTkRfSU5URUw4WDAKIAl0cmlzdGF0ZSAiSW50ZWwvU2lTL25WaWRpYS9BTUQvQUxpIEFDOTcgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBBQzk3IHNvdW5kCkBAIC03MjIsNyArNjg2LDYgQEAKIAogY29uZmlnIFNORF9JTlRFTDhYME0KIAl0cmlzdGF0ZSAiSW50ZWwvU2lTL25WaWRpYS9BTUQgTUM5NyBNb2RlbSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBNQzk3IG1vZGVtIG9uCkBAIC03MzMsOCArNjk2LDYgQEAKIAogY29uZmlnIFNORF9LT1JHMTIxMgogCXRyaXN0YXRlICJLb3JnIDEyMTIgSU8iCi0JZGVwZW5kcyBvbiBTTkQKLQlzZWxlY3QgRldfTE9BREVSIGlmICFTTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgS29yZyAxMjEySU8gc291bmRjYXJkcy4KQEAgLTc0MiwxOSArNzAzLDggQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1rb3JnMTIxMi4KIAotY29uZmlnIFNORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKLQlib29sICJJbi1rZXJuZWwgZmlybXdhcmUgZm9yIEtvcmcxMjEyIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORF9LT1JHMTIxMgotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSB0aGUgc3RhdGljIGZpcm13YXJlIGJ1aWx0IGluIHRoZSBrZXJuZWwKLQkgIGZvciB0aGUgS29yZzEyMTIgZHJpdmVyLiAgSWYgeW91IGNob29zZSBOIGhlcmUsIHlvdSBuZWVkIHRvCi0JICBpbnN0YWxsIHRoZSBmaXJtd2FyZSBmaWxlcyBmcm9tIHRoZSBhbHNhLWZpcm13YXJlIHBhY2thZ2UuCi0KIGNvbmZpZyBTTkRfTUFFU1RSTzMKIAl0cmlzdGF0ZSAiRVNTIEFsbGVncm8vTWFlc3RybzMiCi0JZGVwZW5kcyBvbiBTTkQKLQlzZWxlY3QgRldfTE9BREVSIGlmICFTTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHNvdW5kY2FyZHMgYmFzZWQgb24gRVNTIE1hZXN0cm8gMwpAQCAtNzYzLDE4ICs3MTMsOCBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLW1hZXN0cm8zLgogCi1jb25maWcgU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWJvb2wgIkluLWtlcm5lbCBmaXJtd2FyZSBmb3IgTWFlc3RybzMgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EX01BRVNUUk8zCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHRoZSBzdGF0aWMgZmlybXdhcmUgYnVpbHQgaW4gdGhlIGtlcm5lbAotCSAgZm9yIHRoZSBNYWVzdHJvMyBkcml2ZXIuICBJZiB5b3UgY2hvb3NlIE4gaGVyZSwgeW91IG5lZWQgdG8KLQkgIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlIGFsc2EtZmlybXdhcmUgcGFja2FnZS4KLQogY29uZmlnIFNORF9NSVhBUlQKIAl0cmlzdGF0ZSAiRGlnaWdyYW0gbWlYYXJ0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNzg2LDcgKzcyNiw2IEBACiAKIGNvbmZpZyBTTkRfTk0yNTYKIAl0cmlzdGF0ZSAiTmVvTWFnaWMgTk0yNTZBVi9aWCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBOZW9NYWdpYyBOTTI1NkFWL1pYIGNoaXBzLgpAQCAtNzk2LDcgKzczNSw2IEBACiAKIGNvbmZpZyBTTkRfUENYSFIKIAl0cmlzdGF0ZSAiRGlnaWdyYW0gUENYSFIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfSFdERVAKIAloZWxwCkBAIC04MDcsNyArNzQ1LDYgQEAKIAogY29uZmlnIFNORF9SSVBUSURFCiAJdHJpc3RhdGUgIkNvbmV4YW50IFJpcHRpZGUiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTgyMCw3ICs3NTcsNiBAQAogCiBjb25maWcgU05EX1JNRTMyCiAJdHJpc3RhdGUgIlJNRSBEaWdpMzIsIDMyLzgsIDMyIFBSTyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBSTUUgRGlnaTMyLCBEaWdpMzIgUFJPIGFuZApAQCAtODMyLDcgKzc2OCw2IEBACiAKIGNvbmZpZyBTTkRfUk1FOTYKIAl0cmlzdGF0ZSAiUk1FIERpZ2k5NiwgOTYvOCwgOTYvOCBQUk8iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBSTUUgRGlnaTk2LCBEaWdpOTYvOCBhbmQKQEAgLTg0Myw3ICs3NzgsNiBAQAogCiBjb25maWcgU05EX1JNRTk2NTIKIAl0cmlzdGF0ZSAiUk1FIERpZ2k5NjUyIChIYW1tZXJmYWxsKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIFJNRSBIYW1tZXJmYWxsIChSTUUKQEAgLTg1NCw3ICs3ODgsNyBAQAogCiBjb25maWcgU05EX1NJUzcwMTkKIAl0cmlzdGF0ZSAiU2lTIDcwMTkgQXVkaW8gQWNjZWxlcmF0b3IiCi0JZGVwZW5kcyBvbiBTTkQgJiYgWDg2ICYmICFYODZfNjQKKwlkZXBlbmRzIG9uIFg4NiAmJiAhWDg2XzY0CiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBTaVMgNzAxOSBBdWRpbyBBY2NlbGVyYXRvci4KQEAgLTg2NCw3ICs3OTgsNiBAQAogCiBjb25maWcgU05EX1NPTklDVklCRVMKIAl0cmlzdGF0ZSAiUzMgU29uaWNWaWJlcyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCkBAIC04NzcsNyArODEwLDYgQEAKIAogY29uZmlnIFNORF9UUklERU5UCiAJdHJpc3RhdGUgIlRyaWRlbnQgNEQtV2F2ZSBEWC9OWDsgU2lTIDcwMTgiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtODg5LDcgKzgyMSw2IEBACiAKIGNvbmZpZyBTTkRfVklBODJYWAogCXRyaXN0YXRlICJWSUEgODJDNjg2QS9CLCA4MjMzLzgyMzUgQUM5NyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTkwMSw3ICs4MzIsNiBAQAogCiBjb25maWcgU05EX1ZJQTgyWFhfTU9ERU0KIAl0cmlzdGF0ZSAiVklBIDgyQzY4NkEvQiwgODIzMyBiYXNlZCBNb2RlbXMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgTUM5NyBtb2RlbSBvbgpAQCAtOTEyLDcgKzg0Miw2IEBACiAKIGNvbmZpZyBTTkRfVklSVFVPU08KIAl0cmlzdGF0ZSAiQXN1cyBWaXJ0dW9zbyAxMDAvMjAwIChYb25hcikiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09YWUdFTl9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3Igc291bmQgY2FyZHMgYmFzZWQgb24gdGhlCkBAIC05MjMsNyArODUyLDYgQEAKIAogY29uZmlnIFNORF9WWDIyMgogCXRyaXN0YXRlICJEaWdpZ3JhbSBWWDIyMiIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfVlhfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIERpZ2lncmFtIFZYMjIyIHNvdW5kY2FyZHMuCkBAIC05MzMsOCArODYxLDYgQEAKIAogY29uZmlnIFNORF9ZTUZQQ0kKIAl0cmlzdGF0ZSAiWWFtYWhhIFlNRjcyNC83NDAvNzQ0Lzc1NCIKLQlkZXBlbmRzIG9uIFNORAotCXNlbGVjdCBGV19MT0FERVIgaWYgIVNORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTk0NSwzNCArODcxLDQgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC15bWZwY2kuCiAKLWNvbmZpZyBTTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWJvb2wgIkluLWtlcm5lbCBmaXJtd2FyZSBmb3IgWU1GUENJIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORF9ZTUZQQ0kKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgdGhlIHN0YXRpYyBmaXJtd2FyZSBidWlsdCBpbiB0aGUga2VybmVsCi0JICBmb3IgdGhlIFlNRlBDSSBkcml2ZXIuICBJZiB5b3UgY2hvb3NlIE4gaGVyZSwgeW91IG5lZWQgdG8KLQkgIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlIGFsc2EtZmlybXdhcmUgcGFja2FnZS4KLQotY29uZmlnIFNORF9BQzk3X1BPV0VSX1NBVkUKLQlib29sICJBQzk3IFBvd2VyLVNhdmluZyBNb2RlIgotCWRlcGVuZHMgb24gU05EX0FDOTdfQ09ERUMgJiYgRVhQRVJJTUVOVEFMCi0JZGVmYXVsdCBuCi0JaGVscAotCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgdGhlIGFnZ3Jlc3NpdmUgcG93ZXItc2F2aW5nIHN1cHBvcnQgb2YKLQkgIEFDOTcgY29kZWNzLiAgSW4gdGhpcyBtb2RlLCB0aGUgcG93ZXItbW9kZSBpcyBkeW5hbWljYWxseQotCSAgY29udHJvbGxlZCBhdCBlYWNoIG9wZW4vY2xvc2UuCi0KLQkgIFRoZSBtb2RlIGlzIGFjdGl2YXRlZCBieSBwYXNzaW5nIHBvd2VyX3NhdmU9MSBvcHRpb24gdG8KLQkgIHNuZC1hYzk3LWNvZGVjIGRyaXZlci4gIFlvdSBjYW4gdG9nZ2xlIGl0IGR5bmFtaWNhbGx5IG92ZXIKLQkgIHN5c2ZzLCB0b28uCi0KLWNvbmZpZyBTTkRfQUM5N19QT1dFUl9TQVZFX0RFRkFVTFQKLQlpbnQgIkRlZmF1bHQgdGltZS1vdXQgZm9yIEFDOTcgcG93ZXItc2F2ZSBtb2RlIgotCWRlcGVuZHMgb24gU05EX0FDOTdfUE9XRVJfU0FWRQotCWRlZmF1bHQgMAotCWhlbHAKLQkgIFRoZSBkZWZhdWx0IHRpbWUtb3V0IHZhbHVlIGluIHNlY29uZHMgZm9yIEFDOTcgYXV0b21hdGljCi0JICBwb3dlci1zYXZlIG1vZGUuICAwIG1lYW5zIHRvIGRpc2FibGUgdGhlIHBvd2VyLXNhdmUgbW9kZS4KLQotZW5kbWVudQorZW5kaWYJIyBTTkRfUENJCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvTWFrZWZpbGUgYi9zb3VuZC9wY2kvTWFrZWZpbGUKaW5kZXggODVlZjE0Yi4uNjViMjVkMiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL01ha2VmaWxlCisrKyBiL3NvdW5kL3BjaS9NYWtlZmlsZQpAQCAtMTMsNyArMTMsNyBAQAogc25kLWNtaXBjaS1vYmpzIDo9IGNtaXBjaS5vCiBzbmQtY3M0MjgxLW9ianMgOj0gY3M0MjgxLm8KIHNuZC1jczU1MzAtb2JqcyA6PSBjczU1MzAubwotc25kLWVuczEzNzAtb2JqcyA6PSBlbnMxMzcwLm8KK3NuZC1lbnMxMzcwLW9ianMgOj0gZW5zMTM3MC5vIGFrNDUzMV9jb2RlYy5vCiBzbmQtZW5zMTM3MS1vYmpzIDo9IGVuczEzNzEubwogc25kLWVzMTkzOC1vYmpzIDo9IGVzMTkzOC5vCiBzbmQtZXMxOTY4LW9ianMgOj0gZXMxOTY4Lm8KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hYzk3L01ha2VmaWxlIGIvc291bmQvcGNpL2FjOTcvTWFrZWZpbGUKaW5kZXggMGJlNDhiMS4uNDFmYTMyMiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2FjOTcvTWFrZWZpbGUKKysrIGIvc291bmQvcGNpL2FjOTcvTWFrZWZpbGUKQEAgLTMsMTYgKzMsOCBAQAogIyBDb3B5cmlnaHQgKGMpIDIwMDEgYnkgSmFyb3NsYXYgS3lzZWxhIDxwZXJleEBwZXJleC5jej4KICMKIAotc25kLWFjOTctY29kZWMtb2JqcyA6PSBhYzk3X2NvZGVjLm8gYWM5N19wY20ubwotCi1pZm5lcSAoJChDT05GSUdfUFJPQ19GUyksKQotc25kLWFjOTctY29kZWMtb2JqcyArPSBhYzk3X3Byb2MubwotZW5kaWYKLQotc25kLWFrNDUzMS1jb2RlYy1vYmpzIDo9IGFrNDUzMV9jb2RlYy5vCitzbmQtYWM5Ny1jb2RlYy15IDo9IGFjOTdfY29kZWMubyBhYzk3X3BjbS5vCitzbmQtYWM5Ny1jb2RlYy0kKENPTkZJR19QUk9DX0ZTKSArPSBhYzk3X3Byb2MubwogCiAjIFRvcGxldmVsIE1vZHVsZSBEZXBlbmRlbmN5CiBvYmotJChDT05GSUdfU05EX0FDOTdfQ09ERUMpICs9IHNuZC1hYzk3LWNvZGVjLm8KLW9iai0kKENPTkZJR19TTkRfRU5TMTM3MCkgKz0gc25kLWFrNDUzMS1jb2RlYy5vCi0KLW9iai1tIDo9ICQoc29ydCAkKG9iai1tKSkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hYzk3L2FjOTdfY29kZWMuYyBiL3NvdW5kL3BjaS9hYzk3L2FjOTdfY29kZWMuYwppbmRleCA0NWZkMjkwLi4wNzM2NGMwIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYWM5Ny9hYzk3X2NvZGVjLmMKKysrIGIvc291bmQvcGNpL2FjOTcvYWM5N19jb2RlYy5jCkBAIC00OSw4ICs0OSw5IEBACiAKICNpZmRlZiBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRQogc3RhdGljIGludCBwb3dlcl9zYXZlID0gQ09ORklHX1NORF9BQzk3X1BPV0VSX1NBVkVfREVGQVVMVDsKLW1vZHVsZV9wYXJhbShwb3dlcl9zYXZlLCBib29sLCAwNjQ0KTsKLU1PRFVMRV9QQVJNX0RFU0MocG93ZXJfc2F2ZSwgIkVuYWJsZSBBQzk3IHBvd2VyLXNhdmluZyBjb250cm9sIik7Cittb2R1bGVfcGFyYW0ocG93ZXJfc2F2ZSwgaW50LCAwNjQ0KTsKK01PRFVMRV9QQVJNX0RFU0MocG93ZXJfc2F2ZSwgIkF1dG9tYXRpYyBwb3dlci1zYXZpbmcgdGltZW91dCAiCisJCSAiKGluIHNlY29uZCwgMCA9IGRpc2FibGUpLiIpOwogI2VuZGlmCiAvKgogCkBAIC0yMjk0LDkgKzIyOTUsMTEgQEAKIAlwb3dlciB8PSBBQzk3X1BEX1BSMCB8IEFDOTdfUERfUFIxOwkvKiBBREMgJiBEQUMgcG93ZXJkb3duICovCiAJc25kX2FjOTdfd3JpdGUoYWM5NywgQUM5N19QT1dFUkRPV04sIHBvd2VyKTsKIAl1ZGVsYXkoMTAwKTsKLQlwb3dlciB8PSBBQzk3X1BEX1BSMiB8IEFDOTdfUERfUFIzOwkvKiBBbmFsb2cgTWl4ZXIgcG93ZXJkb3duICovCisJcG93ZXIgfD0gQUM5N19QRF9QUjI7CS8qIEFuYWxvZyBNaXhlciBwb3dlcmRvd24gKFZyZWYgb24pICovCiAJc25kX2FjOTdfd3JpdGUoYWM5NywgQUM5N19QT1dFUkRPV04sIHBvd2VyKTsKIAlpZiAoYWM5N19pc19wb3dlcl9zYXZlX21vZGUoYWM5NykpIHsKKwkJcG93ZXIgfD0gQUM5N19QRF9QUjM7CS8qIEFuYWxvZyBNaXhlciBwb3dlcmRvd24gKi8KKwkJc25kX2FjOTdfd3JpdGUoYWM5NywgQUM5N19QT1dFUkRPV04sIHBvd2VyKTsKIAkJdWRlbGF5KDEwMCk7CiAJCS8qIEFDLWxpbmsgcG93ZXJkb3duLCBpbnRlcm5hbCBDbGsgZGlzYWJsZSAqLwogCQkvKiBGSVhNRTogdGhpcyBtYXkgY2F1c2UgY2xpY2sgbm9pc2VzIG9uIHNvbWUgYm9hcmRzICovCkBAIC0yMzYyLDcgKzIzNjUsNyBAQAogCQkgKiAgdGhhdCBvcGVuL2Nsb3NlIGZyZXF1ZW50bHkpCiAJCSAqLwogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmFjOTctPnBvd2VyX3dvcmssCi0JCQkJICAgICAgbXNlY3NfdG9famlmZmllcygyMDAwKSk7CisJCQkJICAgICAgbXNlY3NfdG9famlmZmllcyhwb3dlcl9zYXZlICogMTAwMCkpOwogCWVsc2UgewogCQljYW5jZWxfZGVsYXllZF93b3JrKCZhYzk3LT5wb3dlcl93b3JrKTsKIAkJdXBkYXRlX3Bvd2VyX3JlZ3MoYWM5Nyk7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYWM5Ny9hYzk3X3BhdGNoLmMgYi9zb3VuZC9wY2kvYWM5Ny9hYzk3X3BhdGNoLmMKaW5kZXggMTI5MmRjZS4uMDc0NmU5YyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2FjOTcvYWM5N19wYXRjaC5jCisrKyBiL3NvdW5kL3BjaS9hYzk3L2FjOTdfcGF0Y2guYwpAQCAtNjY5LDYgKzY2OSw3IEBACiBBQzk3X1NJTkdMRSgiTWljIDIgVm9sdW1lIiwgQUM5N19NSUMsIDAsIDMxLCAxKSwKIEFDOTdfU0lOR0xFKCJNaWMgMjBkQiBCb29zdCBTd2l0Y2giLCBBQzk3X01JQywgNywgMSwgMCksCiAKK0FDOTdfU0lOR0xFKCJNYXN0ZXIgTGVmdCBJbnYgU3dpdGNoIiwgQUM5N19NQVNURVIsIDYsIDEsIDApLAogQUM5N19TSU5HTEUoIk1hc3RlciBaQyBTd2l0Y2giLCBBQzk3X01BU1RFUiwgNywgMSwgMCksCiBBQzk3X1NJTkdMRSgiSGVhZHBob25lIFpDIFN3aXRjaCIsIEFDOTdfSEVBRFBIT05FLCA3LCAxLCAwKSwKIEFDOTdfU0lOR0xFKCJNb25vIFpDIFN3aXRjaCIsIEFDOTdfTUFTVEVSX01PTk8sIDcsIDEsIDApLApAQCAtMzM1Miw4ICszMzUzLDY2IEBACiBBQzk3X1NJTkdMRSgiRG93bm1peCBTdXJyb3VuZCB0byBGcm9udCIsIDB4NWEsIDExLCAxLCAwKSwKIH07CiAKK3N0YXRpYyBjb25zdCBjaGFyICpzbGF2ZV92b2xzX3Z0MTYxNltdID0geworCSJGcm9udCBQbGF5YmFjayBWb2x1bWUiLAorCSJTdXJyb3VuZCBQbGF5YmFjayBWb2x1bWUiLAorCSJDZW50ZXIgUGxheWJhY2sgVm9sdW1lIiwKKwkiTEZFIFBsYXliYWNrIFZvbHVtZSIsCisJTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKnNsYXZlX3N3c192dDE2MTZbXSA9IHsKKwkiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwKKwkiU3Vycm91bmQgUGxheWJhY2sgU3dpdGNoIiwKKwkiQ2VudGVyIFBsYXliYWNrIFN3aXRjaCIsCisJIkxGRSBQbGF5YmFjayBTd2l0Y2giLAorCU5VTEwKK307CisKKy8qIGZpbmQgYSBtaXhlciBjb250cm9sIGVsZW1lbnQgd2l0aCB0aGUgZ2l2ZW4gbmFtZSAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2wgKnNuZF9hYzk3X2ZpbmRfbWl4ZXJfY3RsKHN0cnVjdCBzbmRfYWM5NyAqYWM5NywKKwkJCQkJCSAgICBjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBzbmRfY3RsX2VsZW1faWQgaWQ7CisJbWVtc2V0KCZpZCwgMCwgc2l6ZW9mKGlkKSk7CisJaWQuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUjsKKwlzdHJjcHkoaWQubmFtZSwgbmFtZSk7CisJcmV0dXJuIHNuZF9jdGxfZmluZF9pZChhYzk3LT5idXMtPmNhcmQsICZpZCk7Cit9CisKKy8qIGNyZWF0ZSBhIHZpcnR1YWwgbWFzdGVyIGNvbnRyb2wgYW5kIGFkZCBzbGF2ZXMgKi8KK2ludCBzbmRfYWM5N19hZGRfdm1hc3RlcihzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcsIGNoYXIgKm5hbWUsCisJCQkgY29uc3QgdW5zaWduZWQgaW50ICp0bHYsIGNvbnN0IGNoYXIgKipzbGF2ZXMpCit7CisJc3RydWN0IHNuZF9rY29udHJvbCAqa2N0bDsKKwljb25zdCBjaGFyICoqczsKKwlpbnQgZXJyOworCisJa2N0bCA9IHNuZF9jdGxfbWFrZV92aXJ0dWFsX21hc3RlcihuYW1lLCB0bHYpOworCWlmICgha2N0bCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZXJyID0gc25kX2N0bF9hZGQoYWM5Ny0+YnVzLT5jYXJkLCBrY3RsKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWZvciAocyA9IHNsYXZlczsgKnM7IHMrKykgeworCQlzdHJ1Y3Qgc25kX2tjb250cm9sICpzY3RsOworCisJCXNjdGwgPSBzbmRfYWM5N19maW5kX21peGVyX2N0bChhYzk3LCAqcyk7CisJCWlmICghc2N0bCkgeworCQkJc25kX3ByaW50ZGQoIkNhbm5vdCBmaW5kIHNsYXZlICVzLCBza2lwcGVkXG4iLCAqcyk7CisJCQljb250aW51ZTsKKwkJfQorCQllcnIgPSBzbmRfY3RsX2FkZF9zbGF2ZShrY3RsLCBzY3RsKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBwYXRjaF92dDE2MTZfc3BlY2lmaWMoc3RydWN0IHNuZF9hYzk3ICogYWM5NykKIHsKKwlzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsOwogCWludCBlcnI7CiAKIAlpZiAoc25kX2FjOTdfdHJ5X2JpdChhYzk3LCAweDVhLCA5KSkKQEAgLTMzNjEsNiArMzQyMCwyNCBAQAogCQkJcmV0dXJuIGVycjsKIAlpZiAoKGVyciA9IHBhdGNoX2J1aWxkX2NvbnRyb2xzKGFjOTcsICZzbmRfYWM5N19jb250cm9sc192dDE2MTZbMV0sIEFSUkFZX1NJWkUoc25kX2FjOTdfY29udHJvbHNfdnQxNjE2KSAtIDEpKSA8IDApCiAJCXJldHVybiBlcnI7CisKKwkvKiBUaGVyZSBpcyBhbHJlYWR5IGEgbWlzbmFtZWQgbWFzdGVyIHN3aXRjaC4gIFJlbmFtZSBpdC4gICovCisJa2N0bCA9IHNuZF9hYzk3X2ZpbmRfbWl4ZXJfY3RsKGFjOTcsICJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIik7CisJaWYgKCFrY3RsKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXNuZF9hYzk3X3JlbmFtZV92b2xfY3RsKGFjOTcsICJNYXN0ZXIgUGxheWJhY2siLCAiRnJvbnQgUGxheWJhY2siKTsKKworCWVyciA9IHNuZF9hYzk3X2FkZF92bWFzdGVyKGFjOTcsICJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIiwKKwkJCQkgICBrY3RsLT50bHYucCwgc2xhdmVfdm9sc192dDE2MTYpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2FjOTdfYWRkX3ZtYXN0ZXIoYWM5NywgIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLAorCQkJCSAgIE5VTEwsIHNsYXZlX3N3c192dDE2MTYpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTM2MzMsNyArMzcxMCw3IEBACiB7CiAJYWM5Ny0+YnVpbGRfb3BzID0gJnBhdGNoX3VjYjE0MDBfb3BzOwogCS8qIGVuYWJsZSBoZWFkcGhvbmUgZHJpdmVyIGFuZCBzbWFydCBsb3cgcG93ZXIgbW9kZSBieSBkZWZhdWx0ICovCi0Jc25kX2FjOTdfd3JpdGUoYWM5NywgMHg2YSwgMHgwMDUwKTsKLQlzbmRfYWM5N193cml0ZShhYzk3LCAweDZjLCAweDAwMzApOworCXNuZF9hYzk3X3dyaXRlX2NhY2hlKGFjOTcsIDB4NmEsIDB4MDA1MCk7CisJc25kX2FjOTdfd3JpdGVfY2FjaGUoYWM5NywgMHg2YywgMHgwMDMwKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hYzk3L2FrNDUzMV9jb2RlYy5jIGIvc291bmQvcGNpL2FrNDUzMV9jb2RlYy5jCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIHNvdW5kL3BjaS9hYzk3L2FrNDUzMV9jb2RlYy5jCnJlbmFtZSB0byBzb3VuZC9wY2kvYWs0NTMxX2NvZGVjLmMKaW5kZXggYzBjMTYzMzkuLjMzZDM3YjEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9hYzk3L2FrNDUzMV9jb2RlYy5jCisrKyBiL3NvdW5kL3BjaS9hazQ1MzFfY29kZWMuYwpAQCAtMjgsOSArMjgsMTEgQEAKICNpbmNsdWRlIDxzb3VuZC9hazQ1MzFfY29kZWMuaD4KICNpbmNsdWRlIDxzb3VuZC90bHYuaD4KIAorLyoKIE1PRFVMRV9BVVRIT1IoIkphcm9zbGF2IEt5c2VsYSA8cGVyZXhAcGVyZXguY3o+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlVuaXZlcnNhbCByb3V0aW5lcyBmb3IgQUs0NTMxIGNvZGVjIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CisqLwogCiAjaWZkZWYgQ09ORklHX1BST0NfRlMKIHN0YXRpYyB2b2lkIHNuZF9hazQ1MzFfcHJvY19pbml0KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9hazQ1MzEgKmFrNDUzMSk7CkBAIC0yNzAsNyArMjcyLDcgQEAKIHN0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShkYl9zY2FsZV9tb25vLCAtMjgwMCwgNDAwLCAwKTsKIHN0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShkYl9zY2FsZV9pbnB1dCwgLTUwMDAsIDIwMCwgMCk7CiAKLXN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzbmRfYWs0NTMxX2NvbnRyb2xzW10gPSB7CitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc25kX2FrNDUzMV9jb250cm9sc1tdIF9fZGV2aW5pdGRhdGEgPSB7CiAKIEFLNDUzMV9ET1VCTEVfVExWKCJNYXN0ZXIgUGxheWJhY2sgU3dpdGNoIiwgMCwKIAkJICBBSzQ1MzFfTE1BU1RFUiwgQUs0NTMxX1JNQVNURVIsIDcsIDcsIDEsIDEsCkBAIC0zNzksOCArMzgxLDkgQEAKIAkweDAxCQkvKiAxOTogTWljIEFtcCBTZXR1cCAqLwogfTsKIAotaW50IHNuZF9hazQ1MzFfbWl4ZXIoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2FrNDUzMSAqX2FrNDUzMSwKLQkJICAgICBzdHJ1Y3Qgc25kX2FrNDUzMSAqKnJhazQ1MzEpCitpbnQgX19kZXZpbml0IHNuZF9hazQ1MzFfbWl4ZXIoc3RydWN0IHNuZF9jYXJkICpjYXJkLAorCQkJICAgICAgIHN0cnVjdCBzbmRfYWs0NTMxICpfYWs0NTMxLAorCQkJICAgICAgIHN0cnVjdCBzbmRfYWs0NTMxICoqcmFrNDUzMSkKIHsKIAl1bnNpZ25lZCBpbnQgaWR4OwogCWludCBlcnI7CkBAIC00NzYsNyArNDc5LDggQEAKIAkJICAgIGFrNDUzMS0+cmVnc1tBSzQ1MzFfTUlDX0dBSU5dICYgMSA/ICIrMzBkQiIgOiAiKzBkQiIpOwogfQogCi1zdGF0aWMgdm9pZCBzbmRfYWs0NTMxX3Byb2NfaW5pdChzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfYWs0NTMxICphazQ1MzEpCitzdGF0aWMgdm9pZCBfX2RldmluaXQKK3NuZF9hazQ1MzFfcHJvY19pbml0KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9hazQ1MzEgKmFrNDUzMSkKIHsKIAlzdHJ1Y3Qgc25kX2luZm9fZW50cnkgKmVudHJ5OwogCkBAIC00ODQsMjUgKzQ4OCwzIEBACiAJCXNuZF9pbmZvX3NldF90ZXh0X29wcyhlbnRyeSwgYWs0NTMxLCBzbmRfYWs0NTMxX3Byb2NfcmVhZCk7CiB9CiAjZW5kaWYKLQotRVhQT1JUX1NZTUJPTChzbmRfYWs0NTMxX21peGVyKTsKLSNpZmRlZiBDT05GSUdfUE0KLUVYUE9SVF9TWU1CT0woc25kX2FrNDUzMV9zdXNwZW5kKTsKLUVYUE9SVF9TWU1CT0woc25kX2FrNDUzMV9yZXN1bWUpOwotI2VuZGlmCi0KLS8qCi0gKiAgSU5JVCBwYXJ0Ci0gKi8KLQotc3RhdGljIGludCBfX2luaXQgYWxzYV9hazQ1MzFfaW5pdCh2b2lkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgYWxzYV9hazQ1MzFfZXhpdCh2b2lkKQotewotfQotCi1tb2R1bGVfaW5pdChhbHNhX2FrNDUzMV9pbml0KQotbW9kdWxlX2V4aXQoYWxzYV9hazQ1MzFfZXhpdCkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hdTg4eDAvYXU4OHgwX2dhbWUuYyBiL3NvdW5kL3BjaS9hdTg4eDAvYXU4OHgwX2dhbWUuYwppbmRleCBiYzIxMmY0Li5lMjkxYWE1IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYXU4OHgwL2F1ODh4MF9nYW1lLmMKKysrIGIvc291bmQvcGNpL2F1ODh4MC9hdTg4eDBfZ2FtZS5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAqICRJZDogYXU4OHgwX2dhbWUuYyx2IDEuOSAyMDAzLzA5LzIyIDAzOjUxOjI4IG1qYW5kZXIgRXhwICQKLSAqCiAgKiAgTWFudWVsIEphbmRlci4KICAqCiAgKiAgQmFzZWQgb24gdGhlIHdvcmsgb2Y6CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYXp0MzMyOC5jIGIvc291bmQvcGNpL2F6dDMzMjguYwppbmRleCA1ZjYzYWY2Li4yMmYxOGYzIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYXp0MzMyOC5jCisrKyBiL3NvdW5kL3BjaS9henQzMzI4LmMKQEAgLTEsNiArMSw2IEBACiAvKgogICogIGF6dDMzMjguYyAtIGRyaXZlciBmb3IgQXp0ZWNoIEFaRjMzMjggYmFzZWQgc291bmRjYXJkcyAoZS5nLiBQQ0kxNjgpLgotICogIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNSwgMjAwNiwgMjAwNyBieSBBbmRyZWFzIE1vaHIgPGFuZGkgQVQgbGlzYXMuZGU+CisgKiAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1IC0gMjAwOCBieSBBbmRyZWFzIE1vaHIgPGFuZGkgQVQgbGlzYXMuZGU+CiAgKgogICogIEZyYW1ld29yayBib3Jyb3dlZCBmcm9tIEJhcnQgSGFydGdlcnMncyBhbHM0MDAwLmMuCiAgKiAgRHJpdmVyIGRldmVsb3BlZCBvbiBQQ0kxNjggQVAoVykgdmVyc2lvbiAoUENJIHJldi4gMTAsIHN1YnN5c3RlbSBJRCAxODAxKSwKQEAgLTM1LDkgKzM1LDIwIEBACiAgKiAgKDMgd2Vla3MnIHdvcnRoIG9mIGV2ZW5pbmdzIGZpbGxlZCB3aXRoIGRyaXZlciB3b3JrKS4KICAqICAoYW5kIG5vLCBJIGRpZCBOT1QgZ28gdGhlIGVhc3kgd2F5OiB0byBwaWNrIHVwIGEgU0IgUENJMTI4IGZvciA5IEV1cm9zKQogICoKLSAqICBUaGUgQVpGMzMyOCBjaGlwIChub3RlOiBBWkYzMzI4LCAqbm90KiBBWlQzMzI4LCB0aGF0J3MganVzdCB0aGUgZHJpdmVyIG5hbWUKLSAqICBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zKSBoYXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKKyAqICBJdCBpcyBxdWl0ZSBsaWtlbHkgdGhhdCB0aGUgQVpGMzMyOCBjaGlwIGlzIHRoZSBQQ0kgY291c2luIG9mIHRoZQorICogIEFaRjMzMTggKCJhenQxMDIwIHBucCIsICJNTSBQcm8gMTYiKSBJU0EgY2hpcCwgZ2l2ZW4gdmVyeSBzaW1pbGFyIHNwZWNzLgogICoKKyAqICBUaGUgQVpGMzMyOCBjaGlwIChub3RlOiBBWkYzMzI4LCAqbm90KiBBWlQzMzI4LCB0aGF0J3MganVzdCB0aGUgZHJpdmVyIG5hbWUKKyAqICBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zKSBmcm9tIEF6ZmluIChqb2ludC12ZW50dXJlIG9mIEF6dGVjaCBhbmQgRmluY2l0ZWMsCisgKiAgRmluY2l0ZWMgYWNxdWlyZWQgYnkgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBpbiAyMDAyLCB0b2dldGhlciB3aXRoIHRoZQorICogIEZpbmNpdGVjLXJlbGF0ZWQgY29tcGFueSBBUlNtaWtybykgaGFzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6CisgKgorICogIC0gY29tcGF0aWJpbGl0eSAmIGNvbXBsaWFuY2U6CisgKiAgICAtIE1pY3Jvc29mdCBQQyA5NyAoIlBDIDk3IEhhcmR3YXJlIERlc2lnbiBHdWlkZSIsCisgKiAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3doZGMvYXJjaGl2ZS9wY2d1aWRlcy5tc3B4KQorICogICAgLSBNaWNyb3NvZnQgUEMgOTggQmFzZWxpbmUgQXVkaW8KKyAqICAgIC0gTVBVNDAxIFVBUlQKKyAqICAgIC0gU291bmQgQmxhc3RlciBFbXVsYXRpb24gKERPUyBCb3gpCiAgKiAgLSBidWlsdGluIEFDOTcgY29uZm9ybWFudCBjb2RlYyAoU05SIG92ZXIgODBkQikKICAqICAgIE5vdGUgdGhhdCAiY29uZm9ybWFudCIgIT0gImNvbXBsaWFudCIhISB0aGlzIGNoaXAncyBtaXhlciByZWdpc3RlciBsYXlvdXQKICAqICAgICpkaWZmZXJzKiBmcm9tIHRoZSBzdGFuZGFyZCBBQzk3IGxheW91dDoKQEAgLTQ4LDIxICs1OSwyOCBAQAogICogICAgYWRkcmVzc2VzIGlsbGVnYWxseS4gU28gZmFyIHVuZm9ydHVuYXRlbHkgaXQgbG9va3MgbGlrZSB0aGUgdmVyeSBmbGV4aWJsZQogICogICAgQUxTQSBBQzk3IHN1cHBvcnQgaXMgc3RpbGwgbm90IGVub3VnaCB0byBlYXNpbHkgY29tcGVuc2F0ZSBmb3Igc3VjaCBhCiAgKiAgICBncmF2ZSBsYXlvdXQgdmlvbGF0aW9uIGRlc3BpdGUgYWxsIHR3ZWFrcyBhbmQgcXVpcmtzIG1lY2hhbmlzbXMgaXQgb2ZmZXJzLgotICogIC0gYnVpbHRpbiBnZW51aW5lIE9QTDMKKyAqICAtIGJ1aWx0aW4gZ2VudWluZSBPUEwzIC0gdmVyaWZpZWQgdG8gd29yayBmaW5lLCAyMDA4MDUwNgogICogIC0gZnVsbCBkdXBsZXggMTZiaXQgcGxheWJhY2svcmVjb3JkIGF0IGluZGVwZW5kZW50IHNhbXBsaW5nIHJhdGUKLSAqICAtIE1QVTQwMSAoKyBsZWdhY3kgYWRkcmVzcyBzdXBwb3J0KSBGSVhNRTogaG93IHRvIGVuYWJsZSBsZWdhY3kgYWRkcj8/CisgKiAgLSBNUFU0MDEgKCsgbGVnYWN5IGFkZHJlc3Mgc3VwcG9ydCwgY2xhaW1lZCBieSBvbmUgb2ZmaWNpYWwgc3BlYyBzaGVldCkKKyAqICAgIEZJWE1FOiBob3cgdG8gZW5hYmxlIGxlZ2FjeSBhZGRyPz8KICAqICAtIGdhbWUgcG9ydCAobGVnYWN5IGFkZHJlc3Mgc3VwcG9ydCkKLSAqICAtIGJ1aWx0aW4gM0QgZW5oYW5jZW1lbnQgKHNhaWQgdG8gYmUgWUFNQUhBIFltZXJzaW9uKQogICogIC0gYnVpbHRpbiBEaXJlY3RJbnB1dCBzdXBwb3J0LCBoZWxwcyByZWR1Y2UgQ1BVIG92ZXJoZWFkIChpbnRlcnJ1cHQtZHJpdmVuCi0gKiAgICBmZWF0dXJlcyBzdXBwb3J0ZWQpCisgKiAgICBmZWF0dXJlcyBzdXBwb3J0ZWQpLiAtIFNlZSBjb21tb24gdGVybSAiRGlnaXRhbCBFbmhhbmNlZCBHYW1lIFBvcnQiLi4uCisgKiAgICAocHJvYmFibHkgRGlyZWN0SW5wdXQgMy4wIHNwZWMgLSBjb25maXJtKQorICogIC0gYnVpbHRpbiAzRCBlbmhhbmNlbWVudCAoc2FpZCB0byBiZSBZQU1BSEEgWW1lcnNpb24pCiAgKiAgLSBidWlsdC1pbiBHZW5lcmFsIERpcmVjdFggdGltZXIgaGF2aW5nIGEgMjAgYml0cyBjb3VudGVyCiAgKiAgICB3aXRoIDF1cyByZXNvbHV0aW9uIChzZWUgYmVsb3chKQotICogIC0gSTJTIHNlcmlhbCBwb3J0IGZvciBleHRlcm5hbCBEQUMKKyAqICAtIEkyUyBzZXJpYWwgb3V0cHV0IHBvcnQgZm9yIGV4dGVybmFsIERBQwogICogIC0gc3VwcG9ydHMgMzNNSHogUENJIHNwZWMgMi4xLCBQQ0kgcG93ZXIgbWFuYWdlbWVudCAxLjAsIGNvbXBsaWFudCB3aXRoIEFDUEkKICAqICAtIHN1cHBvcnRzIGhhcmR3YXJlIHZvbHVtZSBjb250cm9sCiAgKiAgLSBzaW5nbGUgY2hpcCBsb3cgY29zdCBzb2x1dGlvbiAoMTI4IHBpbiBRRlApCiAgKiAgLSBzdXBwb3J0cyBwcm9ncmFtbWFibGUgU3ViLXZlbmRvciBhbmQgU3ViLXN5c3RlbSBJRAogICogICAgcmVxdWlyZWQgZm9yIE1pY3Jvc29mdCdzIGxvZ28gY29tcGxpYW5jZSAoRklYTUU6IHdoZXJlPykKKyAqICAgIEF0IGxlYXN0IHRoZSBUcmlkZW50IDREIFdhdmUgRFggaGFzIG9uZSBiaXQgc29tZXdoZXJlCisgKiAgICB0byBlbmFibGUgd3JpdGVzIHRvIFBDSSBzdWJzeXN0ZW0gVklEIHJlZ2lzdGVycywgdGhhdCBzaG91bGQgYmUgaXQuCisgKiAgICBUaGlzIG1pZ2h0IGVhc2lseSBiZSBpbiBleHRlbmRlZCBQQ0kgcmVnIHNwYWNlLCBzaW5jZSBQQ0kxNjggYWxzbyBoYXMKKyAqICAgIHNvbWUgY3VzdG9tIGRhdGEgc3RhcnRpbmcgYXQgMHg4MC4gV2hhdCBraW5kIG9mIGNvbmZpZyBzZXR0aW5ncworICogICAgYXJlIGxvY2F0ZWQgaW4gb3VyIGV4dGVuZGVkIFBDSSBzcGFjZSBhbnl3YXk/PwogICogIC0gUENJMTY4IEFQKFcpIGNhcmQ6IHBvd2VyIGFtcGxpZmllciB3aXRoIDQgV2F0dHMvY2hhbm5lbCBhdCA0IE9obXMKICAqCiAgKiAgTm90ZSB0aGF0IHRoaXMgZHJpdmVyIG5vdyBpcyBhY3R1YWxseSAqYmV0dGVyKiB0aGFuIHRoZSBXaW5kb3dzIGRyaXZlciwKQEAgLTc0LDYgKzkyLDI0IEBACiAgKiAgLSAidGltaWRpdHkgLWlBdiAtQjIsOCAtT3MgLUVGcmV2ZXJiPTAiCiAgKiAgLSAicG1pZGkgLXAgMTI4OjAgamF6ei5taWQiCiAgKgorICogIE9QTDMgaGFyZHdhcmUgcGxheWJhY2sgdGVzdGluZywgdHJ5IHNvbWV0aGluZyBsaWtlOgorICogIGNhdCAvcHJvYy9hc291bmQvaHdkZXAKKyAqICBhbmQKKyAqICBhY29ubmVjdCAtbworICogIFRoZW4gdXNlCisgKiAgc2JpbG9hZCAtRGh3OngseSAtLW9wbDMgL3Vzci9zaGFyZS9zb3VuZHMvb3BsMy9zdGQubzMgLi4uLi4uLi9kcnVtcy5vMworICogIHdoZXJlIHgseSBpcyB0aGUgeHgteXkgbnVtYmVyIGFzIGdpdmVuIGluIGh3ZGVwLgorICogIFRoZW4gdHJ5CisgKiAgcG1pZGkgLXAgYTpiIGphenoubWlkCisgKiAgd2hlcmUgYTpiIGlzIHRoZSBjbGllbnQgbnVtYmVyIHBsdXMgMCB1c3VhbGx5LCBhcyBnaXZlbiBieSBhY29ubmVjdCBhYm92ZS4KKyAqICBPaCwgYW5kIG1ha2Ugc3VyZSB0byB1bm11dGUgdGhlIEZNIG1peGVyIGNvbnRyb2wgKGRvaCEpCisgKiAgTk9URTogcG93ZXIgdXNlIGR1cmluZyBPUEwzIHBsYXliYWNrIGlzIF9WRVJZXyBoaWdoICg3MFcgLS0+IDkwVyEpCisgKiAgZGVzcGl0ZSBubyBDUFUgYWN0aXZpdHksIHBvc3NpYmx5IGR1ZSB0byBoaW5kZXJpbmcgQUNQSSBpZGxpbmcgc29tZWhvdy4KKyAqICBTaG91bGRuJ3QgYmUgYSBwcm9ibGVtIG9mIHRoZSBBWkYzMzI4IGNoaXAgaXRzZWxmLCBJJ2QgaG9wZS4KKyAqICBIaWdoZXIgUENNIC8gRk0gbWl4ZXIgbGV2ZWxzIHNlZW0gdG8gY29uZmxpY3QgKGNhdXNlcyBjcmFja2xpbmcpLAorICogIGF0IGxlYXN0IHNvbWV0aW1lcy4gICBNYXliZSBldmVuIHVzZSB3aXRoIGhhcmR3YXJlIHNlcXVlbmNlciB0aW1lciBhYm92ZSA6KQorICogIGFkcGxheS9hZHBsdWctdXRpbHMgbWlnaHQgc29vbiBvZmZlciBoYXJkd2FyZS1iYXNlZCBPUEwzIHBsYXliYWNrLCB0b28uCisgKgogICogIENlcnRhaW4gUENJIHZlcnNpb25zIG9mIHRoaXMgY2FyZCBhcmUgc3VzY2VwdGlibGUgdG8gRE1BIHRyYWZmaWMgdW5kZXJydW5zCiAgKiAgaW4gc29tZSBzeXN0ZW1zIChyZXN1bHRpbmcgaW4gc291bmQgY3JhY2tsaW5nL2NsaWNraW5nL3BvcHBpbmcpLAogICogIHByb2JhYmx5IGJlY2F1c2UgdGhleSBkb24ndCBoYXZlIGEgRE1BIEZJRk8gYnVmZmVyIG9yIHNvLgpAQCAtODcsNiArMTIzLDggQEAKICAqICBiZXR0ZXIgdGhhbiBhIFZJQSwgeWV0IGlyb25pY2FsbHkgSSBzdGlsbCBnZXQgY3JhY2tsaW5nLCBsaWtlIG1hbnkgb3RoZXIKICAqICBwZW9wbGUgd2l0aCB0aGUgc2FtZSBjaGlwc2V0LgogICogIFBvc3NpYmxlIHJlbWVkaWVzOgorICogIC0gdXNlIHNwZWFrZXIgKGFtcGxpZmllcikgb3V0cHV0IGluc3RlYWQgb2YgaGVhZHBob25lIG91dHB1dAorICogICAgKGluIGNhc2UgY3JhY2tsaW5nIGlzIGR1ZSB0byBvdmVybG9hZGVkIG91dHB1dCBjbGlwcGluZykKICAqICAtIHBsdWcgY2FyZCBpbnRvIGEgZGlmZmVyZW50IFBDSSBzbG90LCBwcmVmZXJyYWJseSBvbmUgdGhhdCBpc24ndCBzaGFyZWQKICAqICAgIHRvbyBtdWNoICh0aGlzIGhlbHBzIGEgbG90LCBidXQgbm90IGNvbXBsZXRlbHkhKQogICogIC0gZ2V0IHJpZCBvZiBQQ0kgVkdBIGNhcmQsIHVzZSBBR1AgaW5zdGVhZApAQCAtOTQsMTggKzEzMiwyMyBAQAogICogIC0gZmlkZGxlIHdpdGggUENJIGxhdGVuY3kgc2V0dGluZ3MgKHNldHBjaSAtdiAtcyBCVVNJRCBsYXRlbmN5X3RpbWVyPVhYKQogICogICAgTm90IHRvbyBoZWxwZnVsLgogICogIC0gRGlzYWJsZSBBQ1BJL3Bvd2VyIG1hbmFnZW1lbnQvIkF1dG8gRGV0ZWN0IFJBTS9QQ0kgQ2xrIiBpbiBCSU9TCi0gKiAKKyAqCiAgKiBCVUdTCi0gKiAgLSBmdWxsLWR1cGxleCBtaWdodCAqc3RpbGwqIGJlIHByb2JsZW1hdGljLCBub3QgZnVsbHkgdGVzdGVkIHJlY2VudGx5CisgKiAgLSBmdWxsLWR1cGxleCBtaWdodCAqc3RpbGwqIGJlIHByb2JsZW1hdGljLCBob3dldmVyIGEgcmVjZW50IHRlc3Qgd2FzIGZpbmUKICAqICAtIChub24tYnVnKSAiQmFzcy9UcmVibGUgb3IgM0Qgc2V0dGluZ3MgZG9uJ3Qgd29yayIgLSB0aGV5IGRvIGdldCBldmFsdWF0ZWQKICAqICAgIGlmIHlvdSBzZXQgUENNIG91dHB1dCBzd2l0Y2ggdG8gInByZSAzRCIgaW5zdGVhZCBvZiAicG9zdCAzRCIuCiAgKiAgICBJZiB0aGlzIGNhbid0IGJlIHNldCwgdGhlbiBnZXQgYSBtaXhlciBhcHBsaWNhdGlvbiB0aGF0IElzbid0IFN0dXBpZCAodG0pCiAgKiAgICAoZS5nLiBrbWl4LCBnYW1peCkgLSB1bmZvcnR1bmF0ZWx5IHNldmVyYWwgYXJlISEKLSAqIAorICogIC0gbG9ja2luZyBpcyBub3QgZW50aXJlbHkgY2xlYW4sIGVzcGVjaWFsbHkgdGhlIGF1ZGlvIHN0cmVhbSBhY3Rpdml0eQorICogICAgaW50cyAtLT4gbWF5IGJlIHJhY3kKKyAqICAtIGFuIF91bmNvbm5lY3RlZF8gc2Vjb25kYXJ5IGpveXN0aWNrIGF0IHRoZSBnYW1lcG9ydCB3aWxsIGJlIHJlcG9ydGVkCisgKiAgICB0byBiZSAiYWN0aXZlIiAoZmxvYXRpbmcgdmFsdWVzLCBub3QgcHJlY2lzZWx5IC0xKSBkdWUgdG8gdGhlIHdheSB3ZSBuZWVkCisgKiAgICB0byByZWFkIHRoZSBEaWdpdGFsIEVuaGFuY2VkIEdhbWUgUG9ydC4gTm90IHN1cmUgd2hldGhlciBpdCBpcyBmaXhhYmxlLgorICoKICAqIFRPRE8KICAqICAtIHRlc3QgTVBVNDAxIE1JREkgcGxheWJhY2sgZXRjLgotICogIC0gYWRkIHNvbWUgcG93ZXIgbWljcm8tbWFuYWdlbWVudCAoZGlzYWJsZSB2YXJpb3VzIHVuaXRzIG9mIHRoZSBjYXJkCi0gKiAgICBhcyBsb25nIGFzIHRoZXkncmUgdW51c2VkKS4gSG93ZXZlciB0aGlzIHJlcXVpcmVzIEkvTyBwb3J0cyB3aGljaCBJCisgKiAgLSBhZGQgbW9yZSBwb3dlciBtaWNyby1tYW5hZ2VtZW50IChkaXNhYmxlIHZhcmlvdXMgdW5pdHMgb2YgdGhlIGNhcmQKKyAqICAgIGFzIGxvbmcgYXMgdGhleSdyZSB1bnVzZWQpLiBIb3dldmVyIHRoaXMgcmVxdWlyZXMgbW9yZSBJL08gcG9ydHMgd2hpY2ggSQogICogICAgaGF2ZW4ndCBmaWd1cmVkIG91dCB5ZXQgYW5kIHdoaWNoIHRodXMgbWlnaHQgbm90IGV2ZW4gZXhpc3QuLi4KICAqICAgIFRoZSBzdGFuZGFyZCBzdXNwZW5kL3Jlc3VtZSBmdW5jdGlvbmFsaXR5IGNvdWxkIHByb2JhYmx5IG1ha2UgdXNlIG9mCiAgKiAgICBzb21lIGltcHJvdmVtZW50LCB0b28uLi4KQEAgLTExMyw2ICsxNTYsNyBAQAogICogIC0gZmlndXJlIG91dCBzb21lIGNsZXZlcmx5IGV2aWwgc2NoZW1lIHRvIHBvc3NpYmx5IG1ha2UgQUxTQSBBQzk3IGNvZGUKICAqICAgIGZ1bGx5IGFjY2VwdCBvdXIgcXVpdGUgaW5jb21wYXRpYmxlICIiQUM5NyIiIG1peGVyIGFuZCB0aHVzIHNhdmUgc29tZQogICogICAgY29kZSAoYnV0IEknbSBub3QgdG9vIG9wdGltaXN0aWMgdGhhdCBkb2luZyB0aGlzIGlzIHBvc3NpYmxlIGF0IGFsbCkKKyAqICAtIHVzZSBNTUlPIChtZW1vcnktbWFwcGVkIEkvTyk/IFNsaWdodGx5IGZhc3RlciBhY2Nlc3MsIGUuZy4gZm9yIGdhbWVwb3J0LgogICovCiAKICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTEzOCw3ICsxODIsNyBAQAogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7QXp0ZWNoLEFaRjMzMjh9fSIpOwogCiAjaWYgZGVmaW5lZChDT05GSUdfR0FNRVBPUlQpIHx8IChkZWZpbmVkKE1PRFVMRSkgJiYgZGVmaW5lZChDT05GSUdfR0FNRVBPUlRfTU9EVUxFKSkKLSNkZWZpbmUgU1VQUE9SVF9KT1lTVElDSyAxCisjZGVmaW5lIFNVUFBPUlRfR0FNRVBPUlQgMQogI2VuZGlmCiAKICNkZWZpbmUgREVCVUdfTUlTQwkwCkBAIC0xNDcsMTMgKzE5MSwxNCBAQAogI2RlZmluZSBERUJVR19QTEFZX1JFQwkwCiAjZGVmaW5lIERFQlVHX0lPCTAKICNkZWZpbmUgREVCVUdfVElNRVIJMAorI2RlZmluZSBERUJVR19HQU1FCTAKICNkZWZpbmUgTUlYRVJfVEVTVElORwkwCiAKICNpZiBERUJVR19NSVNDCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ21pc2MoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgZm9ybWF0LCAjI2FyZ3MpCiAjZWxzZQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdtaXNjKGZvcm1hdCwgYXJncy4uLikKLSNlbmRpZgkJCisjZW5kaWYKIAogI2lmIERFQlVHX0NBTExTCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2NhbGxzKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKGZvcm1hdCwgIyNhcmdzKQpAQCAtMTYzLDI1ICsyMDgsMzEgQEAKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnY2FsbHMoZm9ybWF0LCBhcmdzLi4uKQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKQotI2VuZGlmCQkKKyNlbmRpZgogCiAjaWYgREVCVUdfTUlYRVIKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnbWl4ZXIoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoZm9ybWF0LCAjI2FyZ3MpCiAjZWxzZQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdtaXhlcihmb3JtYXQsIGFyZ3MuLi4pCi0jZW5kaWYJCQorI2VuZGlmCiAKICNpZiBERUJVR19QTEFZX1JFQwogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdwbGF5KGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKEtFUk5fRVJSIGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJncGxheShmb3JtYXQsIGFyZ3MuLi4pCi0jZW5kaWYJCQorI2VuZGlmCiAKICNpZiBERUJVR19NSVNDCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ3RpbWVyKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKEtFUk5fRVJSIGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJndGltZXIoZm9ybWF0LCBhcmdzLi4uKQotI2VuZGlmCQkKKyNlbmRpZgorCisjaWYgREVCVUdfR0FNRQorI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdnYW1lKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKEtFUk5fRVJSIGZvcm1hdCwgIyNhcmdzKQorI2Vsc2UKKyNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnZ2FtZShmb3JtYXQsIGFyZ3MuLi4pCisjZW5kaWYKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsJLyogSW5kZXggMC1NQVggKi8KIG1vZHVsZV9wYXJhbV9hcnJheShpbmRleCwgaW50LCBOVUxMLCAwNDQ0KTsKQEAgLTE5NSw1MSArMjQ2LDYyIEBACiBtb2R1bGVfcGFyYW1fYXJyYXkoZW5hYmxlLCBib29sLCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MoZW5hYmxlLCAiRW5hYmxlIEFaRjMzMjggc291bmRjYXJkLiIpOwogCi0jaWZkZWYgU1VQUE9SVF9KT1lTVElDSwotc3RhdGljIGludCBqb3lzdGlja1tTTkRSVl9DQVJEU107Ci1tb2R1bGVfcGFyYW1fYXJyYXkoam95c3RpY2ssIGJvb2wsIE5VTEwsIDA0NDQpOwotTU9EVUxFX1BBUk1fREVTQyhqb3lzdGljaywgIkVuYWJsZSBqb3lzdGljayBmb3IgQVpGMzMyOCBzb3VuZGNhcmQuIik7Ci0jZW5kaWYKLQogc3RhdGljIGludCBzZXF0aW1lcl9zY2FsaW5nID0gMTI4OwogbW9kdWxlX3BhcmFtKHNlcXRpbWVyX3NjYWxpbmcsIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHNlcXRpbWVyX3NjYWxpbmcsICJTZXQgMTAyNDAwMEh6IHNlcXVlbmNlciB0aW1lciBzY2FsZSBmYWN0b3IgKGxvY2t1cCBkYW5nZXIhKS4gRGVmYXVsdCAxMjguIik7CiAKK3N0cnVjdCBzbmRfYXpmMzMyOF9hdWRpb19zdHJlYW0geworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCWludCBlbmFibGVkOworCWludCBydW5uaW5nOworCXVuc2lnbmVkIGxvbmcgcG9ydGJhc2U7Cit9OworCitlbnVtIHNuZF9hemYzMzI4X3N0cmVhbV9pbmRleCB7CisgIEFaRl9QTEFZQkFDSyA9IDAsCisgIEFaRl9DQVBUVVJFID0gMSwKK307CisKIHN0cnVjdCBzbmRfYXpmMzMyOCB7CiAJLyogb2Z0ZW4tdXNlZCBmaWVsZHMgdG93YXJkcyBiZWdpbm5pbmcsIHRoZW4gZ3JvdXBlZCAqLwotCXVuc2lnbmVkIGxvbmcgY29kZWNfcG9ydDsKLQl1bnNpZ25lZCBsb25nIGlvMl9wb3J0OwotCXVuc2lnbmVkIGxvbmcgbXB1X3BvcnQ7Ci0JdW5zaWduZWQgbG9uZyBzeW50aF9wb3J0OwotCXVuc2lnbmVkIGxvbmcgbWl4ZXJfcG9ydDsKKworCXVuc2lnbmVkIGxvbmcgY29kZWNfaW87IC8qIHVzdWFsbHkgMHhiMDAwLCBzaXplIDEyOCAqLworCXVuc2lnbmVkIGxvbmcgZ2FtZV9pbzsgIC8qIHVzdWFsbHkgMHhiNDAwLCBzaXplIDggKi8KKwl1bnNpZ25lZCBsb25nIG1wdV9pbzsgICAvKiB1c3VhbGx5IDB4YjgwMCwgc2l6ZSA0ICovCisJdW5zaWduZWQgbG9uZyBvcGwzX2lvOyAvKiB1c3VhbGx5IDB4YmMwMCwgc2l6ZSA4ICovCisJdW5zaWduZWQgbG9uZyBtaXhlcl9pbzsgLyogdXN1YWxseSAweGMwMDAsIHNpemUgNjQgKi8KIAogCXNwaW5sb2NrX3QgcmVnX2xvY2s7CiAKIAlzdHJ1Y3Qgc25kX3RpbWVyICp0aW1lcjsKLQkKKwogCXN0cnVjdCBzbmRfcGNtICpwY207Ci0Jc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpwbGF5YmFja19zdWJzdHJlYW07Ci0Jc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpjYXB0dXJlX3N1YnN0cmVhbTsKLQl1bnNpZ25lZCBpbnQgaXNfcGxheWluZzsKLQl1bnNpZ25lZCBpbnQgaXNfcmVjb3JkaW5nOworCXN0cnVjdCBzbmRfYXpmMzMyOF9hdWRpb19zdHJlYW0gYXVkaW9fc3RyZWFtWzJdOwogCiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwogCXN0cnVjdCBzbmRfcmF3bWlkaSAqcm1pZGk7CiAKLSNpZmRlZiBTVVBQT1JUX0pPWVNUSUNLCisjaWZkZWYgU1VQUE9SVF9HQU1FUE9SVAogCXN0cnVjdCBnYW1lcG9ydCAqZ2FtZXBvcnQ7CisJaW50IGF4ZXNbNF07CiAjZW5kaWYKIAogCXN0cnVjdCBwY2lfZGV2ICpwY2k7CiAJaW50IGlycTsKIAorCS8qIHJlZ2lzdGVyIDB4NmEgaXMgd3JpdGUtb25seSwgdGh1cyBuZWVkIHRvIHJlbWVtYmVyIHNldHRpbmcuCisJICogSWYgd2UgbmVlZCB0byBhZGQgbW9yZSByZWdpc3RlcnMgaGVyZSwgdGhlbiB3ZSBtaWdodCB0cnkgdG8gZm9sZCB0aGlzCisJICogaW50byBzb21lIHRyYW5zcGFyZW50IGNvbWJpbmVkIHNoYWRvdyByZWdpc3RlciBoYW5kbGluZyB3aXRoCisJICogQ09ORklHX1BNIHJlZ2lzdGVyIHN0b3JhZ2UgYmVsb3csIGJ1dCB0aGF0J3Mgc2xpZ2h0bHkgZGlmZmljdWx0LiAqLworCXUxNiBzaGFkb3dfcmVnX2NvZGVjXzZBSDsKKwogI2lmZGVmIENPTkZJR19QTQogCS8qIHJlZ2lzdGVyIHZhbHVlIGNvbnRhaW5lcnMgZm9yIHBvd2VyIG1hbmFnZW1lbnQKIAkgKiBOb3RlOiBub3QgYWx3YXlzIGZ1bGwgSS9PIHJhbmdlIHByZXNlcnZlZCAoanVzdCBsaWtlIFdpbiBkcml2ZXIhKSAqLwotCXUxNiBzYXZlZF9yZWdzX2NvZGVjIFtBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDJdOwotCXUxNiBzYXZlZF9yZWdzX2lvMiAgIFtBWkZfSU9fU0laRV9JTzJfUE0gLyAyXTsKLQl1MTYgc2F2ZWRfcmVnc19tcHUgICBbQVpGX0lPX1NJWkVfTVBVX1BNIC8gMl07Ci0JdTE2IHNhdmVkX3JlZ3Nfc3ludGhbQVpGX0lPX1NJWkVfU1lOVEhfUE0gLyAyXTsKKwl1MTYgc2F2ZWRfcmVnc19jb2RlY1tBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDJdOworCXUxNiBzYXZlZF9yZWdzX2dhbWUgW0FaRl9JT19TSVpFX0dBTUVfUE0gLyAyXTsKKwl1MTYgc2F2ZWRfcmVnc19tcHUgIFtBWkZfSU9fU0laRV9NUFVfUE0gLyAyXTsKKwl1MTYgc2F2ZWRfcmVnc19vcGwzIFtBWkZfSU9fU0laRV9PUEwzX1BNIC8gMl07CiAJdTE2IHNhdmVkX3JlZ3NfbWl4ZXJbQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyXTsKICNlbmRpZgogfTsKQEAgLTI1MiwxMjYgKzMxNCwxNjYgQEAKIAogTU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHNuZF9hemYzMzI4X2lkcyk7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfY29kZWNfb3V0Yihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHU4IHZhbHVlKQorCitzdGF0aWMgaW50CitzbmRfYXpmMzMyOF9pb19yZWdfc2V0Yih1bnNpZ25lZCByZWcsIHU4IG1hc2ssIGludCBkb19zZXQpCiB7Ci0Jb3V0Yih2YWx1ZSwgY2hpcC0+Y29kZWNfcG9ydCArIHJlZyk7CisJdTggcHJldiA9IGluYihyZWcpLCBuZXc7CisKKwluZXcgPSAoZG9fc2V0KSA/IChwcmV2fG1hc2spIDogKHByZXYgJiB+bWFzayk7CisJLyogd2UgbmVlZCB0byBhbHdheXMgd3JpdGUgdGhlIG5ldyB2YWx1ZSBubyBtYXR0ZXIgd2hldGhlciBpdCBkaWZmZXJzCisJICogb3Igbm90LCBzaW5jZSBzb21lIHJlZ2lzdGVyIGJpdHMgZG9uJ3QgaW5kaWNhdGUgdGhlaXIgc2V0dGluZyAqLworCW91dGIobmV3LCByZWcpOworCWlmIChuZXcgIT0gcHJldikKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1OCB2YWx1ZSkKK3sKKwlvdXRiKHZhbHVlLCBjaGlwLT5jb2RlY19pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTgKLXNuZF9hemYzMzI4X2NvZGVjX2luYihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcpCitzbmRfYXpmMzMyOF9jb2RlY19pbmIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCiB7Ci0JcmV0dXJuIGluYihjaGlwLT5jb2RlY19wb3J0ICsgcmVnKTsKKwlyZXR1cm4gaW5iKGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTE2IHZhbHVlKQorc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTE2IHZhbHVlKQogewotCW91dHcodmFsdWUsIGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCW91dHcodmFsdWUsIGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB1MTYKLXNuZF9hemYzMzI4X2NvZGVjX2ludyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcpCitzbmRfYXpmMzMyOF9jb2RlY19pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCiB7Ci0JcmV0dXJuIGludyhjaGlwLT5jb2RlY19wb3J0ICsgcmVnKTsKKwlyZXR1cm4gaW53KGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9jb2RlY19vdXRsKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTMyIHZhbHVlKQorc25kX2F6ZjMzMjhfY29kZWNfb3V0bChjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTMyIHZhbHVlKQogewotCW91dGwodmFsdWUsIGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCW91dGwodmFsdWUsIGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKK30KKworc3RhdGljIGlubGluZSB1MzIKK3NuZF9hemYzMzI4X2NvZGVjX2lubChjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKK3sKKwlyZXR1cm4gaW5sKGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9pbzJfb3V0Yihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHU4IHZhbHVlKQorc25kX2F6ZjMzMjhfZ2FtZV9vdXRiKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1OCB2YWx1ZSkKIHsKLQlvdXRiKHZhbHVlLCBjaGlwLT5pbzJfcG9ydCArIHJlZyk7CisJb3V0Yih2YWx1ZSwgY2hpcC0+Z2FtZV9pbyArIHJlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZV9vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1MTYgdmFsdWUpCit7CisJb3V0dyh2YWx1ZSwgY2hpcC0+Z2FtZV9pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTgKLXNuZF9hemYzMzI4X2lvMl9pbmIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnKQorc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCiB7Ci0JcmV0dXJuIGluYihjaGlwLT5pbzJfcG9ydCArIHJlZyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHUxNiB2YWx1ZSkKLXsKLQlvdXR3KHZhbHVlLCBjaGlwLT5taXhlcl9wb3J0ICsgcmVnKTsKKwlyZXR1cm4gaW5iKGNoaXAtPmdhbWVfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHUxNgotc25kX2F6ZjMzMjhfbWl4ZXJfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZykKK3NuZF9hemYzMzI4X2dhbWVfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQogewotCXJldHVybiBpbncoY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyk7CisJcmV0dXJuIGludyhjaGlwLT5nYW1lX2lvICsgcmVnKTsKIH0KIAotc3RhdGljIHZvaWQKLXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgaW50IGRvX211dGUpCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X21peGVyX291dHcoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHUxNiB2YWx1ZSkKIHsKLQl1bnNpZ25lZCBsb25nIHBvcnRiYXNlID0gY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyArIDE7Ci0JdW5zaWduZWQgY2hhciBvbGR2YWw7CisJb3V0dyh2YWx1ZSwgY2hpcC0+bWl4ZXJfaW8gKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHUxNgorc25kX2F6ZjMzMjhfbWl4ZXJfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQoreworCXJldHVybiBpbncoY2hpcC0+bWl4ZXJfaW8gKyByZWcpOworfQorCisjZGVmaW5lIEFaRl9NVVRFX0JJVCAweDgwCisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCSAgIHVuc2lnbmVkIHJlZywgaW50IGRvX211dGUKKykKK3sKKwl1bnNpZ25lZCBsb25nIHBvcnRiYXNlID0gY2hpcC0+bWl4ZXJfaW8gKyByZWcgKyAxOworCWludCB1cGRhdGVkOwogCiAJLyogdGhlIG11dGUgYml0IGlzIG9uIHRoZSAqc2Vjb25kKiAoaS5lLiByaWdodCkgcmVnaXN0ZXIgb2YgYQogCSAqIGxlZnQvcmlnaHQgY2hhbm5lbCBzZXR0aW5nICovCi0Jb2xkdmFsID0gaW5iKHBvcnRiYXNlKTsKLQlpZiAoZG9fbXV0ZSkKLQkJb2xkdmFsIHw9IDB4ODA7Ci0JZWxzZQotCQlvbGR2YWwgJj0gfjB4ODA7Ci0Jb3V0YihvbGR2YWwsIHBvcnRiYXNlKTsKKwl1cGRhdGVkID0gc25kX2F6ZjMzMjhfaW9fcmVnX3NldGIocG9ydGJhc2UsIEFaRl9NVVRFX0JJVCwgZG9fbXV0ZSk7CisKKwkvKiBpbmRpY2F0ZSB3aGV0aGVyIGl0IHdhcyBtdXRlZCBiZWZvcmUgKi8KKwlyZXR1cm4gKGRvX211dGUpID8gIXVwZGF0ZWQgOiB1cGRhdGVkOwogfQogCiBzdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfbWl4ZXJfd3JpdGVfdm9sdW1lX2dyYWR1YWxseShjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHVuc2lnbmVkIGNoYXIgZHN0X3ZvbF9sZWZ0LCB1bnNpZ25lZCBjaGFyIGRzdF92b2xfcmlnaHQsIGludCBjaGFuX3NlbCwgaW50IGRlbGF5KQorc25kX2F6ZjMzMjhfbWl4ZXJfd3JpdGVfdm9sdW1lX2dyYWR1YWxseShjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkJCSB1bnNpZ25lZCByZWcsCisJCQkJCSB1bnNpZ25lZCBjaGFyIGRzdF92b2xfbGVmdCwKKwkJCQkJIHVuc2lnbmVkIGNoYXIgZHN0X3ZvbF9yaWdodCwKKwkJCQkJIGludCBjaGFuX3NlbCwgaW50IGRlbGF5CispCiB7Ci0JdW5zaWduZWQgbG9uZyBwb3J0YmFzZSA9IGNoaXAtPm1peGVyX3BvcnQgKyByZWc7CisJdW5zaWduZWQgbG9uZyBwb3J0YmFzZSA9IGNoaXAtPm1peGVyX2lvICsgcmVnOwogCXVuc2lnbmVkIGNoYXIgY3Vycl92b2xfbGVmdCA9IDAsIGN1cnJfdm9sX3JpZ2h0ID0gMDsKLQlpbnQgbGVmdF9kb25lID0gMCwgcmlnaHRfZG9uZSA9IDA7Ci0JCisJaW50IGxlZnRfY2hhbmdlID0gMCwgcmlnaHRfY2hhbmdlID0gMDsKKwogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWlmIChjaGFuX3NlbCAmIFNFVF9DSEFOX0xFRlQpCisKKwlpZiAoY2hhbl9zZWwgJiBTRVRfQ0hBTl9MRUZUKSB7CiAJCWN1cnJfdm9sX2xlZnQgID0gaW5iKHBvcnRiYXNlICsgMSk7Ci0JZWxzZQotCQlsZWZ0X2RvbmUgPSAxOwotCWlmIChjaGFuX3NlbCAmIFNFVF9DSEFOX1JJR0hUKQorCisJCS8qIHRha2UgY2FyZSBvZiBtdXRpbmcgZmxhZyBjb250YWluZWQgaW4gbGVmdCBjaGFubmVsICovCisJCWlmIChjdXJyX3ZvbF9sZWZ0ICYgQVpGX01VVEVfQklUKQorCQkJZHN0X3ZvbF9sZWZ0IHw9IEFaRl9NVVRFX0JJVDsKKwkJZWxzZQorCQkJZHN0X3ZvbF9sZWZ0ICY9IH5BWkZfTVVURV9CSVQ7CisKKwkJbGVmdF9jaGFuZ2UgPSAoY3Vycl92b2xfbGVmdCA+IGRzdF92b2xfbGVmdCkgPyAtMSA6IDE7CisJfQorCisJaWYgKGNoYW5fc2VsICYgU0VUX0NIQU5fUklHSFQpIHsKIAkJY3Vycl92b2xfcmlnaHQgPSBpbmIocG9ydGJhc2UgKyAwKTsKLQllbHNlCi0JCXJpZ2h0X2RvbmUgPSAxOwotCQotCS8qIHRha2UgY2FyZSBvZiBtdXRpbmcgZmxhZyAoMHg4MCkgY29udGFpbmVkIGluIGxlZnQgY2hhbm5lbCAqLwotCWlmIChjdXJyX3ZvbF9sZWZ0ICYgMHg4MCkKLQkJZHN0X3ZvbF9sZWZ0IHw9IDB4ODA7Ci0JZWxzZQotCQlkc3Rfdm9sX2xlZnQgJj0gfjB4ODA7CisKKwkJcmlnaHRfY2hhbmdlID0gKGN1cnJfdm9sX3JpZ2h0ID4gZHN0X3ZvbF9yaWdodCkgPyAtMSA6IDE7CisJfQogCiAJZG8gewotCQlpZiAoIWxlZnRfZG9uZSkgewotCQkJaWYgKGN1cnJfdm9sX2xlZnQgPiBkc3Rfdm9sX2xlZnQpCi0JCQkJY3Vycl92b2xfbGVmdC0tOwotCQkJZWxzZQotCQkJaWYgKGN1cnJfdm9sX2xlZnQgPCBkc3Rfdm9sX2xlZnQpCi0JCQkJY3Vycl92b2xfbGVmdCsrOwotCQkJZWxzZQotCQkJICAgIGxlZnRfZG9uZSA9IDE7Ci0JCQlvdXRiKGN1cnJfdm9sX2xlZnQsIHBvcnRiYXNlICsgMSk7CisJCWlmIChsZWZ0X2NoYW5nZSkgeworCQkJaWYgKGN1cnJfdm9sX2xlZnQgIT0gZHN0X3ZvbF9sZWZ0KSB7CisJCQkJY3Vycl92b2xfbGVmdCArPSBsZWZ0X2NoYW5nZTsKKwkJCQlvdXRiKGN1cnJfdm9sX2xlZnQsIHBvcnRiYXNlICsgMSk7CisJCQl9IGVsc2UKKwkJCSAgICBsZWZ0X2NoYW5nZSA9IDA7CiAJCX0KLQkJaWYgKCFyaWdodF9kb25lKSB7Ci0JCQlpZiAoY3Vycl92b2xfcmlnaHQgPiBkc3Rfdm9sX3JpZ2h0KQotCQkJCWN1cnJfdm9sX3JpZ2h0LS07Ci0JCQllbHNlCi0JCQlpZiAoY3Vycl92b2xfcmlnaHQgPCBkc3Rfdm9sX3JpZ2h0KQotCQkJCWN1cnJfdm9sX3JpZ2h0Kys7Ci0JCQllbHNlCi0JCQkgICAgcmlnaHRfZG9uZSA9IDE7CisJCWlmIChyaWdodF9jaGFuZ2UpIHsKKwkJCWlmIChjdXJyX3ZvbF9yaWdodCAhPSBkc3Rfdm9sX3JpZ2h0KSB7CisJCQkJY3Vycl92b2xfcmlnaHQgKz0gcmlnaHRfY2hhbmdlOworCiAJCQkvKiBkdXJpbmcgdm9sdW1lIGNoYW5nZSwgdGhlIHJpZ2h0IGNoYW5uZWwgaXMgY3JhY2tsaW5nCiAJCQkgKiBzb21ld2hhdCBtb3JlIHRoYW4gdGhlIGxlZnQgY2hhbm5lbCwgdW5mb3J0dW5hdGVseS4KIAkJCSAqIFRoaXMgc2VlbXMgdG8gYmUgYSBoYXJkd2FyZSBpc3N1ZS4gKi8KLQkJCW91dGIoY3Vycl92b2xfcmlnaHQsIHBvcnRiYXNlICsgMCk7CisJCQkJb3V0YihjdXJyX3ZvbF9yaWdodCwgcG9ydGJhc2UgKyAwKTsKKwkJCX0gZWxzZQorCQkJICAgIHJpZ2h0X2NoYW5nZSA9IDA7CiAJCX0KIAkJaWYgKGRlbGF5KQogCQkJbWRlbGF5KGRlbGF5KTsKLQl9IHdoaWxlICgoIWxlZnRfZG9uZSkgfHwgKCFyaWdodF9kb25lKSk7CisJfSB3aGlsZSAoKGxlZnRfY2hhbmdlKSB8fCAocmlnaHRfY2hhbmdlKSk7CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiB9CiAKQEAgLTM3OSw3ICs0ODEsNyBAQAogICogZ2VuZXJhbCBtaXhlciBlbGVtZW50CiAgKi8KIHN0cnVjdCBhemYzMzI4X21peGVyX3JlZyB7Ci0JdW5zaWduZWQgaW50IHJlZzsKKwl1bnNpZ25lZCByZWc7CiAJdW5zaWduZWQgaW50IGxjaGFuX3NoaWZ0LCByY2hhbl9zaGlmdDsKIAl1bnNpZ25lZCBpbnQgbWFzazsKIAl1bnNpZ25lZCBpbnQgaW52ZXJ0OiAxOwpAQCAtNTQ0LDEzICs2NDYsMTQgQEAKIAkJIk1peCIsICJNaWMiCiAJfTsKIAlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHRleHRzM1tdID0gewotICAgICAgICAgICAgICAgICJNaWMiLCAiQ0QiLCAiVmlkZW8iLCAiQXV4IiwKKwkJIk1pYyIsICJDRCIsICJWaWRlbyIsICJBdXgiLAogCQkiTGluZSIsICJNaXgiLCAiTWl4IE1vbm8iLCAiUGhvbmUiCiAgICAgICAgIH07CiAJc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0ZXh0czRbXSA9IHsKIAkJInByZSAzRCIsICJwb3N0IDNEIgogICAgICAgICB9OwogCXN0cnVjdCBhemYzMzI4X21peGVyX3JlZyByZWc7CisJY29uc3QgY2hhciAqIGNvbnN0ICpwID0gTlVMTDsKIAogCXNuZF9hemYzMzI4X21peGVyX3JlZ19kZWNvZGUoJnJlZywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOwogICAgICAgICB1aW5mby0+dHlwZSA9IFNORFJWX0NUTF9FTEVNX1RZUEVfRU5VTUVSQVRFRDsKQEAgLTU2MSwxOCArNjY0LDIwIEBACiAJaWYgKHJlZy5yZWcgPT0gSURYX01JWEVSX0FEVkNUTDIpIHsKIAkJc3dpdGNoKHJlZy5sY2hhbl9zaGlmdCkgewogCQljYXNlIDg6IC8qIG1vZGVtIG91dCBzZWwgKi8KLQkJCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCB0ZXh0czFbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0pOworCQkJcCA9IHRleHRzMTsKIAkJCWJyZWFrOwogCQljYXNlIDk6IC8qIG1vbm8gc2VsIHNvdXJjZSAqLwotCQkJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzMlt1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CisJCQlwID0gdGV4dHMyOwogCQkJYnJlYWs7CiAJCWNhc2UgMTU6IC8qIFBDTSBPdXQgUGF0aCAqLwotCQkJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzNFt1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CisJCQlwID0gdGV4dHM0OwogCQkJYnJlYWs7CiAJCX0KIAl9IGVsc2UKLSAgICAgICAgCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCB0ZXh0czNbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0KLSk7CisJaWYgKHJlZy5yZWcgPT0gSURYX01JWEVSX1JFQ19TRUxFQ1QpCisJCXAgPSB0ZXh0czM7CisKKwlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgcFt1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CiAgICAgICAgIHJldHVybiAwOwogfQogCkBAIC01ODMsNyArNjg4LDcgQEAKICAgICAgICAgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwogCXN0cnVjdCBhemYzMzI4X21peGVyX3JlZyByZWc7CiAgICAgICAgIHVuc2lnbmVkIHNob3J0IHZhbDsKLSAgICAgICAgCisKIAlzbmRfYXpmMzMyOF9taXhlcl9yZWdfZGVjb2RlKCZyZWcsIGtjb250cm9sLT5wcml2YXRlX3ZhbHVlKTsKIAl2YWwgPSBzbmRfYXpmMzMyOF9taXhlcl9pbncoY2hpcCwgcmVnLnJlZyk7CiAJaWYgKHJlZy5yZWcgPT0gSURYX01JWEVSX1JFQ19TRUxFQ1QpIHsKQEAgLTYwNSw3ICs3MTAsNyBAQAogICAgICAgICBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CiAJc3RydWN0IGF6ZjMzMjhfbWl4ZXJfcmVnIHJlZzsKIAl1bnNpZ25lZCBpbnQgb3JlZywgbnJlZywgdmFsOwotICAgICAgICAKKwogCXNuZF9hemYzMzI4X21peGVyX3JlZ19kZWNvZGUoJnJlZywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOwogCW9yZWcgPSBzbmRfYXpmMzMyOF9taXhlcl9pbncoY2hpcCwgcmVnLnJlZyk7CiAJdmFsID0gb3JlZzsKQEAgLTYzMSw5ICs3MzYsMTEgQEAKIHN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzbmRfYXpmMzMyOF9taXhlcl9jb250cm9sc1tdIF9fZGV2aW5pdGRhdGEgPSB7CiAJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfUExBWV9NQVNURVIsIDE1LCAxKSwKIAlBWkYzMzI4X01JWEVSX1ZPTF9TVEVSRU8oIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLCBJRFhfTUlYRVJfUExBWV9NQVNURVIsIDB4MWYsIDEpLAotCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJXYXZlIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9XQVZFT1VULCAxNSwgMSksCi0JQVpGMzMyOF9NSVhFUl9WT0xfU1RFUkVPKCJXYXZlIFBsYXliYWNrIFZvbHVtZSIsIElEWF9NSVhFUl9XQVZFT1VULCAweDFmLCAxKSwKLQlBWkYzMzI4X01JWEVSX1NXSVRDSCgiV2F2ZSAzRCBCeXBhc3MgUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX0FEVkNUTDIsIDcsIDEpLAorCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX1dBVkVPVVQsIDE1LCAxKSwKKwlBWkYzMzI4X01JWEVSX1ZPTF9TVEVSRU8oIlBDTSBQbGF5YmFjayBWb2x1bWUiLAorCQkJCQlJRFhfTUlYRVJfV0FWRU9VVCwgMHgxZiwgMSksCisJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIlBDTSAzRCBCeXBhc3MgUGxheWJhY2sgU3dpdGNoIiwKKwkJCQkJSURYX01JWEVSX0FEVkNUTDIsIDcsIDEpLAogCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJGTSBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfRk1TWU5USCwgMTUsIDEpLAogCUFaRjMzMjhfTUlYRVJfVk9MX1NURVJFTygiRk0gUGxheWJhY2sgVm9sdW1lIiwgSURYX01JWEVSX0ZNU1lOVEgsIDB4MWYsIDEpLAogCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJDRCBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfQ0RBVURJTywgMTUsIDEpLApAQCAtNzE3LDE1ICs4MjQsMTYgQEAKIAlzbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNoaXAsIElEWF9NSVhFUl9SRVNFVCwgMHgwMDAwKTsKIAogCS8qIG11dGUgYW5kIHplcm8gdm9sdW1lIGNoYW5uZWxzICovCi0JZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X2luaXRfdmFsdWVzKTsgaWR4KyspIHsKKwlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfaW5pdF92YWx1ZXMpOyArK2lkeCkgewogCQlzbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNoaXAsCiAJCQlzbmRfYXpmMzMyOF9pbml0X3ZhbHVlc1tpZHhdWzBdLAogCQkJc25kX2F6ZjMzMjhfaW5pdF92YWx1ZXNbaWR4XVsxXSk7CiAJfQotCQorCiAJLyogYWRkIG1peGVyIGNvbnRyb2xzICovCiAJc3cgPSBzbmRfYXpmMzMyOF9taXhlcl9jb250cm9sczsKLQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfbWl4ZXJfY29udHJvbHMpOyBpZHgrKywgc3crKykgeworCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfYXpmMzMyOF9taXhlcl9jb250cm9scyk7CisJCQkrK2lkeCwgKytzdykgewogCQlpZiAoKGVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsIHNuZF9jdGxfbmV3MShzdywgY2hpcCkpKSA8IDApCiAJCQlyZXR1cm4gZXJyOwogCX0KQEAgLTc1Nyw5ICs4NjUsOSBAQAogfQogCiBzdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfc2V0Zm10KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKLQkJCSAgICAgICB1bnNpZ25lZCBpbnQgcmVnLAotCQkJICAgICAgIHVuc2lnbmVkIGludCBiaXRyYXRlLAorc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCSAgICAgICB1bnNpZ25lZCByZWcsCisJCQkgICAgICAgZW51bSBhemZfZnJlcV90IGJpdHJhdGUsCiAJCQkgICAgICAgdW5zaWduZWQgaW50IGZvcm1hdF93aWR0aCwKIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgY2hhbm5lbHMKICkKQEAgLTc2OSwyNCArODc3LDI1IEBACiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKIAlzd2l0Y2ggKGJpdHJhdGUpIHsKLQljYXNlICA0MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDAwMDsgYnJlYWs7Ci0JY2FzZSAgNDgwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQ4MDA7IGJyZWFrOwotCWNhc2UgIDU1MTI6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzU1MTA7IGJyZWFrOyAvKiB0aGUgQVpGMzMyOCBuYW1lcyBpdCAiNTUxMCIgZm9yIHNvbWUgc3RyYW5nZSByZWFzb24gKi8KLQljYXNlICA2NjIwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV82NjIwOyBicmVhazsKLQljYXNlICA4MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV84MDAwOyBicmVhazsKLQljYXNlICA5NjAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV85NjAwOyBicmVhazsKLQljYXNlIDExMDI1OiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8xMTAyNTsgYnJlYWs7Ci0JY2FzZSAxMzI0MDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzEzMjQwOyBicmVhazsKLQljYXNlIDE2MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8xNjAwMDsgYnJlYWs7Ci0JY2FzZSAyMjA1MDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMjIwNTA7IGJyZWFrOwotCWNhc2UgMzIwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzMyMDAwOyBicmVhazsKLQljYXNlIDQ0MTAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV80NDEwMDsgYnJlYWs7Ci0JY2FzZSA0ODAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDgwMDA7IGJyZWFrOwotCWNhc2UgNjYyMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF82NjIwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV80MDAwOiAgdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQwMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNDgwMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80ODAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzU1MTI6CisJCS8qIHRoZSBBWkYzMzI4IG5hbWVzIGl0ICI1NTEwIiBmb3Igc29tZSBzdHJhbmdlIHJlYXNvbiAqLworCQkJICAgICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV81NTEwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzY2MjA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV82NjIwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzgwMDA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV84MDAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzk2MDA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV85NjAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzExMDI1OiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8xMTAyNTsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV8xMzI0MDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzEzMjQwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzE2MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8xNjAwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV8yMjA1MDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMjIwNTA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfMzIwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzMyMDAwOyBicmVhazsKIAlkZWZhdWx0OgogCQlzbmRfcHJpbnRrKEtFUk5fV0FSTklORyAidW5rbm93biBiaXRyYXRlICVkLCBhc3N1bWluZyA0NC4xa0h6IVxuIiwgYml0cmF0ZSk7Ci0JCXZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzQ0MTAwOwotCQlicmVhazsKKwkJLyogZmFsbC10aHJvdWdoICovCisJY2FzZSBBWkZfRlJFUV80NDEwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDQxMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNDgwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzQ4MDAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzY2MjAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNjYyMDA7IGJyZWFrOwogCX0KIAkvKiB2YWwgPSAweGZmMDc7IDNtMjcuOTkzcyAoNjUzMDFIejsgLT4gNjQwMDBIej8/PykgaG1tLCA2NjEyMCwgNjU5NjcsIDY2MTIzICovCiAJLyogdmFsID0gMHhmZjA5OyAxN20xNS4wOThzICgxMzEyMyw0NzhIejsgLT4gMTIwMDBIej8/PykgaG1tLCAxMzIzNy4ySHo/ICovCkBAIC04MDUsMTAgKzkxNCwxMCBAQAogCQl2YWwgfD0gU09VTkRGT1JNQVRfRkxBR18xNkJJVDsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwotCQorCiAJLyogc2V0IGJpdHJhdGUvZm9ybWF0ICovCiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCByZWcsIHZhbCk7Ci0JCisKIAkvKiBjaGFuZ2luZyB0aGUgYml0cmF0ZS9mb3JtYXQgc2V0dGluZ3Mgc3dpdGNoZXMgb2ZmIHRoZQogCSAqIGF1ZGlvIG91dHB1dCB3aXRoIGFuIGFubm95aW5nIGNsaWNrIGluIGNhc2Ugb2YgOC8xNmJpdCBmb3JtYXQgY2hhbmdlCiAJICogKG1heWJlIHNodXR0aW5nIGRvd24gREFDL0FEQz8pLCB0aHVzIGltbWVkaWF0ZWx5CkBAIC04MzAsMzEgKzkzOSw5NSBAQAogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX3NldGZtdF9sb3dwb3dlcihzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkgICAgdW5zaWduZWQgcmVnCispCit7CisJLyogY2hvb3NlIGxvd2VzdCBmcmVxdWVuY3kgZm9yIGxvdyBwb3dlciBjb25zdW1wdGlvbi4KKwkgKiBXaGlsZSB0aGlzIHdpbGwgY2F1c2UgbG91ZGVyIG5vaXNlIGR1ZSB0byByYXRoZXIgY29hcnNlIGZyZXF1ZW5jeSwKKwkgKiBpdCBzaG91bGQgbmV2ZXIgbWF0dGVyIHNpbmNlIG91dHB1dCBzaG91bGQgYWx3YXlzCisJICogZ2V0IGRpc2FibGVkIHByb3Blcmx5IHdoZW4gaWRsZSBhbnl3YXkuICovCisJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KGNoaXAsIHJlZywgQVpGX0ZSRVFfNDAwMCwgOCwgMSk7Cit9CisKK3N0YXRpYyB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19yZWdfNkFIX3VwZGF0ZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkJCXVuc2lnbmVkIGJpdG1hc2ssCisJCQkJCWludCBlbmFibGUKKykKK3sKKwlpZiAoZW5hYmxlKQorCQljaGlwLT5zaGFkb3dfcmVnX2NvZGVjXzZBSCAmPSB+Yml0bWFzazsKKwllbHNlCisJCWNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIIHw9IGJpdG1hc2s7CisJc25kX2F6ZjMzMjhfZGJncGxheSgiNkFIX3VwZGF0ZSBtYXNrIDB4JTA0eCBlbmFibGUgJWQ6IHZhbCAweCUwNHhcbiIsCisJCQliaXRtYXNrLCBlbmFibGUsIGNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIKTsKKwlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT182QUgsIGNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19lbmFibGUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZW5hYmxlKQoreworCXNuZF9hemYzMzI4X2RiZ3BsYXkoImNvZGVjX2VuYWJsZSAlZFxuIiwgZW5hYmxlKTsKKwkvKiBubyBpZGVhIHdoYXQgZXhhY3RseSBpcyBiZWluZyBkb25lIGhlcmUsIGJ1dCBJIHN0cm9uZ2x5IGFzc3VtZSBpdCdzCisJICogUE0gcmVsYXRlZCAqLworCXNuZF9hemYzMzI4X2NvZGVjX3JlZ182QUhfdXBkYXRlKAorCQljaGlwLCBJT182QV9QQVVTRV9QTEFZQkFDS19CSVQ4LCBlbmFibGUKKwkpOworfQorCitzdGF0aWMgdm9pZAorc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJCWVudW0gc25kX2F6ZjMzMjhfc3RyZWFtX2luZGV4IHN0cmVhbV90eXBlLAorCQkJCWludCBlbmFibGUKKykKK3sKKwlpbnQgbmVlZF9jaGFuZ2UgPSAoY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5ydW5uaW5nICE9IGVuYWJsZSk7CisKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KAorCQkiY29kZWNfYWN0aXZpdHk6IHR5cGUgJWQsIGVuYWJsZSAlZCwgbmVlZF9jaGFuZ2UgJWRcbiIsCisJCQkJc3RyZWFtX3R5cGUsIGVuYWJsZSwgbmVlZF9jaGFuZ2UKKwkpOworCWlmIChuZWVkX2NoYW5nZSkgeworCQllbnVtIHNuZF9hemYzMzI4X3N0cmVhbV9pbmRleCBvdGhlciA9CisJCQkoc3RyZWFtX3R5cGUgPT0gQVpGX1BMQVlCQUNLKSA/CisJCQkJQVpGX0NBUFRVUkUgOiBBWkZfUExBWUJBQ0s7CisJCS8qIHNtYWxsIGNoZWNrIHRvIHByZXZlbnQgc2h1dHRpbmcgZG93biB0aGUgb3RoZXIgcGFydHkKKwkJICogaW4gY2FzZSBpdCdzIGFjdGl2ZSAqLworCQlpZiAoKGVuYWJsZSkgfHwgIShjaGlwLT5hdWRpb19zdHJlYW1bb3RoZXJdLnJ1bm5pbmcpKQorCQkJc25kX2F6ZjMzMjhfY29kZWNfZW5hYmxlKGNoaXAsIGVuYWJsZSk7CisKKwkJLyogLi4uYW5kIGFkanVzdCBjbG9jaywgdG9vCisJCSAqIChyZWR1Y2Ugbm9pc2UgYW5kIHBvd2VyIGNvbnN1bXB0aW9uKSAqLworCQlpZiAoIWVuYWJsZSkKKwkJCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdF9sb3dwb3dlcigKKwkJCQljaGlwLAorCQkJCWNoaXAtPmF1ZGlvX3N0cmVhbVtzdHJlYW1fdHlwZV0ucG9ydGJhc2UKKwkJCQkJKyBJRFhfSU9fUExBWV9TT1VOREZPUk1BVAorCQkJKTsKKwl9CisJY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5ydW5uaW5nID0gZW5hYmxlOworfQorCiBzdGF0aWMgdm9pZAogc25kX2F6ZjMzMjhfc2V0ZG1hYShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCiAJCQkJbG9uZyB1bnNpZ25lZCBpbnQgYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc2l6ZSwKLQkJCQlpbnQgZG9fcmVjb3JkaW5nKQorCQkJCWVudW0gc25kX2F6ZjMzMjhfc3RyZWFtX2luZGV4IHN0cmVhbV90eXBlCispCiB7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgcG9ydGJhc2U7Ci0JdW5zaWduZWQgaW50IGlzX3J1bm5pbmc7Ci0KIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQlpZiAoZG9fcmVjb3JkaW5nKSB7Ci0JCS8qIGFjY2VzcyBjYXB0dXJlIHJlZ2lzdGVycywgaS5lLiBza2lwIHBsYXliYWNrIHJlZyBzZWN0aW9uICovCi0JCXBvcnRiYXNlID0gY2hpcC0+Y29kZWNfcG9ydCArIDB4MjA7Ci0JCWlzX3J1bm5pbmcgPSBjaGlwLT5pc19yZWNvcmRpbmc7Ci0JfSBlbHNlIHsKLQkJLyogYWNjZXNzIHRoZSBwbGF5YmFjayByZWdpc3RlciBzZWN0aW9uICovCi0JCXBvcnRiYXNlID0gY2hpcC0+Y29kZWNfcG9ydCArIDB4MDA7Ci0JCWlzX3J1bm5pbmcgPSBjaGlwLT5pc19wbGF5aW5nOwotCX0KKwlpZiAoIWNoaXAtPmF1ZGlvX3N0cmVhbVtzdHJlYW1fdHlwZV0ucnVubmluZykgeworCQkvKiBBWkYzMzI4IHVzZXMgYSB0d28gYnVmZmVyIHBvaW50ZXIgRE1BIHBsYXliYWNrIGFwcHJvYWNoICovCiAKLQkvKiBBWkYzMzI4IHVzZXMgYSB0d28gYnVmZmVyIHBvaW50ZXIgRE1BIHBsYXliYWNrIGFwcHJvYWNoICovCi0JaWYgKCFpc19ydW5uaW5nKSB7Ci0JCXVuc2lnbmVkIGxvbmcgYWRkcl9hcmVhMjsKLQkJdW5zaWduZWQgbG9uZyBjb3VudF9hcmVhcywgY291bnRfdG1wOyAvKiB3aWR0aCAzMmJpdCAtLSBvdmVyZmxvdyEhICovCisJCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHBvcnRiYXNlLCBhZGRyX2FyZWEyOworCisJCS8qIHdpZHRoIDMyYml0IChwcmV2ZW50IG92ZXJmbG93KTogKi8KKwkJdW5zaWduZWQgbG9uZyBjb3VudF9hcmVhcywgY291bnRfdG1wOworCisJCXBvcnRiYXNlID0gY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5wb3J0YmFzZTsKIAkJY291bnRfYXJlYXMgPSBzaXplLzI7CiAJCWFkZHJfYXJlYTIgPSBhZGRyK2NvdW50X2FyZWFzOwogCQljb3VudF9hcmVhcy0tOyAvKiBtYXguIGluZGV4ICovCkBAIC04ODQsMTEgKzEwNTcsMTEgQEAKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwogI2lmIDAKLQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsCisJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KGNoaXAsIElEWF9JT19QTEFZX1NPVU5ERk9STUFULAogCQlydW50aW1lLT5yYXRlLAogCQlzbmRfcGNtX2Zvcm1hdF93aWR0aChydW50aW1lLT5mb3JtYXQpLAogCQlydW50aW1lLT5jaGFubmVscyk7Ci0Jc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwgY291bnQsIHNpemUsIDApOworCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsIGNvdW50LCBzaXplLCBBWkZfUExBWUJBQ0spOwogI2VuZGlmCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIDA7CkBAIC05MDYsMTEgKzEwNzksMTEgQEAKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwogI2lmIDAKLQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1JFQ19TT1VOREZPUk1BVCwKKwlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgSURYX0lPX1JFQ19TT1VOREZPUk1BVCwKIAkJcnVudGltZS0+cmF0ZSwKIAkJc25kX3BjbV9mb3JtYXRfd2lkdGgocnVudGltZS0+Zm9ybWF0KSwKIAkJcnVudGltZS0+Y2hhbm5lbHMpOwotCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsIGNvdW50LCBzaXplLCAxKTsKKwlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLCBjb3VudCwgc2l6ZSwgQVpGX0NBUFRVUkUpOwogI2VuZGlmCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIDA7CkBAIC05MjMsNiArMTA5Niw3IEBACiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAlpbnQgcmVzdWx0ID0gMDsKIAl1bnNpZ25lZCBpbnQgc3RhdHVzMTsKKwlpbnQgcHJldmlvdXNseV9tdXRlZDsKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxzKCJzbmRfYXpmMzMyOF9wbGF5YmFja190cmlnZ2VyIGNtZCAlZFxuIiwgY21kKTsKIApAQCAtOTMwLDIwICsxMTA0LDIzIEBACiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RBUlQgUExBWUJBQ0tcbiIpOwogCi0JCS8qIG11dGUgV2F2ZU91dCAqLwotCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMSk7CisJCS8qIG11dGUgV2F2ZU91dCAoYXZvaWQgY2xpY2tpbmcgZHVyaW5nIHNldHVwKSAqLworCQlwcmV2aW91c2x5X211dGVkID0KKwkJCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKIAotCQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsCisJCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwKIAkJCXJ1bnRpbWUtPnJhdGUsCiAJCQlzbmRfcGNtX2Zvcm1hdF93aWR0aChydW50aW1lLT5mb3JtYXQpLAogCQkJcnVudGltZS0+Y2hhbm5lbHMpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwotCQkvKiBzdG9wIHBsYXliYWNrICovCisJCS8qIGZpcnN0LCByZW1lbWJlciBjdXJyZW50IHZhbHVlOiAqLwogCQlzdGF0dXMxID0gc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKTsKKworCQkvKiBzdG9wIHBsYXliYWNrICovCiAJCXN0YXR1czEgJj0gfkRNQV9SRVNVTUU7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsIHN0YXR1czEpOwotCSAgICAKKwogCQkvKiBGSVhNRTogY2xlYXIgaW50ZXJydXB0cyBvciB3aGF0Pz8/ICovCiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfSVJRVFlQRSwgMHhmZmZmKTsKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKQEAgLTk1MSw3ICsxMTI4LDcgQEAKIAkJc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwKIAkJCXNuZF9wY21fbGliX3BlcmlvZF9ieXRlcyhzdWJzdHJlYW0pLAogCQkJc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSksCi0JCQkwKTsKKwkJCUFaRl9QTEFZQkFDSyk7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAjaWZkZWYgV0lOOVgKQEAgLTk3OCwzMCArMTE1NSwzNSBAQAogCQkJRE1BX1NPTUVUSElOR19FTFNFKTsKICNlbmRpZgogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShjaGlwLCBBWkZfUExBWUJBQ0ssIDEpOwogCiAJCS8qIG5vdyB1bm11dGUgV2F2ZU91dCAqLwotCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMCk7CisJCWlmICghcHJldmlvdXNseV9tdXRlZCkKKwkJCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAwKTsKIAotCQljaGlwLT5pc19wbGF5aW5nID0gMTsKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RBUlRFRCBQTEFZQkFDS1xuIik7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJSRVNVTUUgUExBWUJBQ0tcbiIpOwogCQkvKiByZXN1bWUgcGxheWJhY2sgaWYgd2Ugd2VyZSBhY3RpdmUgKi8KLQkJaWYgKGNoaXAtPmlzX3BsYXlpbmcpCisJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlpZiAoY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10ucnVubmluZykKIAkJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsCiAJCQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKSB8IERNQV9SRVNVTUUpOworCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUT1AgUExBWUJBQ0tcbiIpOwogCi0JCS8qIG11dGUgV2F2ZU91dCAqLwotCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMSk7CisJCS8qIG11dGUgV2F2ZU91dCAoYXZvaWQgY2xpY2tpbmcgZHVyaW5nIHNldHVwKSAqLworCQlwcmV2aW91c2x5X211dGVkID0KKwkJCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkJLyogc3RvcCBwbGF5YmFjayAqLworCQkvKiBmaXJzdCwgcmVtZW1iZXIgY3VycmVudCB2YWx1ZTogKi8KIAkJc3RhdHVzMSA9IHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUyk7CiAKKwkJLyogc3RvcCBwbGF5YmFjayAqLwogCQlzdGF0dXMxICY9IH5ETUFfUkVTVU1FOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTLCBzdGF0dXMxKTsKIApAQCAtMTAxMywxMCArMTE5NSwxMiBAQAogCQlzdGF0dXMxICY9IH5ETUFfUExBWV9TT01FVEhJTkcxOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTLCBzdGF0dXMxKTsKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkgICAgCisJCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9QTEFZQkFDSywgMCk7CisKIAkJLyogbm93IHVubXV0ZSBXYXZlT3V0ICovCi0JCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAwKTsKLQkJY2hpcC0+aXNfcGxheWluZyA9IDA7CisJCWlmICghcHJldmlvdXNseV9tdXRlZCkKKwkJCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAwKTsKKwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVE9QUEVEIFBMQVlCQUNLXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgpAQCAtMTAzNSw3ICsxMjE5LDcgQEAKIAkJcHJpbnRrKEtFUk5fRVJSICJGSVhNRTogdW5rbm93biB0cmlnZ2VyIG1vZGUhXG4iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAl9Ci0JCisKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gcmVzdWx0OwogfQpAQCAtMTA1NywxNyArMTI0MSwxOSBAQAogCiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUQVJUIENBUFRVUkVcbiIpOwogCi0JCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUkVDX1NPVU5ERk9STUFULAorCQlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgSURYX0lPX1JFQ19TT1VOREZPUk1BVCwKIAkJCXJ1bnRpbWUtPnJhdGUsCiAJCQlzbmRfcGNtX2Zvcm1hdF93aWR0aChydW50aW1lLT5mb3JtYXQpLAogCQkJcnVudGltZS0+Y2hhbm5lbHMpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwotCQkvKiBzdG9wIHJlY29yZGluZyAqLworCQkvKiBmaXJzdCwgcmVtZW1iZXIgY3VycmVudCB2YWx1ZTogKi8KIAkJc3RhdHVzMSA9IHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTKTsKKworCQkvKiBzdG9wIHJlY29yZGluZyAqLwogCQlzdGF0dXMxICY9IH5ETUFfUkVTVU1FOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19SRUNfRkxBR1MsIHN0YXR1czEpOwotCSAgICAKKwogCQkvKiBGSVhNRTogY2xlYXIgaW50ZXJydXB0cyBvciB3aGF0Pz8/ICovCiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1JFQ19JUlFUWVBFLCAweGZmZmYpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwpAQCAtMTA3NSw3ICsxMjYxLDcgQEAKIAkJc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwKIAkJCXNuZF9wY21fbGliX3BlcmlvZF9ieXRlcyhzdWJzdHJlYW0pLAogCQkJc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSksCi0JCQkxKTsKKwkJCUFaRl9DQVBUVVJFKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKICNpZmRlZiBXSU45WApAQCAtMTEwMiwyNCArMTI4OCwyNyBAQAogCQkJRE1BX1NPTUVUSElOR19FTFNFKTsKICNlbmRpZgogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShjaGlwLCBBWkZfQ0FQVFVSRSwgMSk7CiAKLQkJY2hpcC0+aXNfcmVjb3JkaW5nID0gMTsKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RBUlRFRCBDQVBUVVJFXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlJFU1VNRSBDQVBUVVJFXG4iKTsKIAkJLyogcmVzdW1lIHJlY29yZGluZyBpZiB3ZSB3ZXJlIGFjdGl2ZSAqLwotCQlpZiAoY2hpcC0+aXNfcmVjb3JkaW5nKQorCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJaWYgKGNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0ucnVubmluZykKIAkJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1JFQ19GTEFHUywKIAkJCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1JFQ19GTEFHUykgfCBETUFfUkVTVU1FKTsKKwkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKIAkJYnJlYWs7CiAgICAgICAgIGNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RPUCBDQVBUVVJFXG4iKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkJLyogc3RvcCByZWNvcmRpbmcgKi8KKwkJLyogZmlyc3QsIHJlbWVtYmVyIGN1cnJlbnQgdmFsdWU6ICovCiAJCXN0YXR1czEgPSBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1JFQ19GTEFHUyk7CiAKKwkJLyogc3RvcCByZWNvcmRpbmcgKi8KIAkJc3RhdHVzMSAmPSB+RE1BX1JFU1VNRTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLCBzdGF0dXMxKTsKIApAQCAtMTEyOSw4ICsxMzE4LDggQEAKIAkJc3RhdHVzMSAmPSB+RE1BX1BMQVlfU09NRVRISU5HMTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLCBzdGF0dXMxKTsKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkgICAgCi0JCWNoaXAtPmlzX3JlY29yZGluZyA9IDA7CisJCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9DQVBUVVJFLCAwKTsKKwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVE9QUEVEIENBUFRVUkVcbiIpOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CkBAIC0xMTQ5LDcgKzEzMzgsNyBAQAogCQlwcmludGsoS0VSTl9FUlIgIkZJWE1FOiB1bmtub3duIHRyaWdnZXIgbW9kZSFcbiIpOwogICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCX0KLQkKKwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0xMTYyLDExICsxMzUxLDExIEBACiAJc25kX3BjbV91ZnJhbWVzX3QgZnJtcmVzOwogCiAjaWZkZWYgUVVFUllfSEFSRFdBUkUKLQlidWZwdHIgPSBpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUExBWV9ETUFfU1RBUlRfMSk7CisJYnVmcHRyID0gc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNoaXAsIElEWF9JT19QTEFZX0RNQV9TVEFSVF8xKTsKICNlbHNlCiAJYnVmcHRyID0gc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYWRkcjsKICNlbmRpZgotCXJlc3VsdCA9IGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19QTEFZX0RNQV9DVVJSUE9TKTsKKwlyZXN1bHQgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1BMQVlfRE1BX0NVUlJQT1MpOwogCiAJLyogY2FsY3VsYXRlIG9mZnNldCAqLwogCXJlc3VsdCAtPSBidWZwdHI7CkBAIC0xMTgzLDExICsxMzcyLDExIEBACiAJc25kX3BjbV91ZnJhbWVzX3QgZnJtcmVzOwogCiAjaWZkZWYgUVVFUllfSEFSRFdBUkUKLQlidWZwdHIgPSBpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUkVDX0RNQV9TVEFSVF8xKTsKKwlidWZwdHIgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1JFQ19ETUFfU1RBUlRfMSk7CiAjZWxzZQogCWJ1ZnB0ciA9IHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FkZHI7CiAjZW5kaWYKLQlyZXN1bHQgPSBpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUkVDX0RNQV9DVVJSUE9TKTsKKwlyZXN1bHQgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1JFQ19ETUFfQ1VSUlBPUyk7CiAKIAkvKiBjYWxjdWxhdGUgb2Zmc2V0ICovCiAJcmVzdWx0IC09IGJ1ZnB0cjsKQEAgLTExOTYsMjcgKzEzODUsMjQxIEBACiAJcmV0dXJuIGZybXJlczsKIH0KIAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIFNVUFBPUlRfR0FNRVBPUlQKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfaXJxX2VuYWJsZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBlbmFibGUpCit7CisJc25kX2F6ZjMzMjhfaW9fcmVnX3NldGIoCisJCWNoaXAtPmdhbWVfaW8rSURYX0dBTUVfSFdDT05GSUcsCisJCUdBTUVfSFdDRkdfSVJRX0VOQUJMRSwKKwkJZW5hYmxlCisJKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9sZWdhY3lfYWRkcmVzc19lbmFibGUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZW5hYmxlKQoreworCXNuZF9hemYzMzI4X2lvX3JlZ19zZXRiKAorCQljaGlwLT5nYW1lX2lvK0lEWF9HQU1FX0hXQ09ORklHLAorCQlHQU1FX0hXQ0ZHX0xFR0FDWV9BRERSRVNTX0VOQUJMRSwKKwkJZW5hYmxlCisJKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9heGlzX2NpcmN1aXRfZW5hYmxlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGVuYWJsZSkKK3sKKwlzbmRfYXpmMzMyOF9jb2RlY19yZWdfNkFIX3VwZGF0ZSgKKwkJY2hpcCwgSU9fNkFfU09NRVRISU5HMl9HQU1FUE9SVCwgZW5hYmxlCisJKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9pbnRlcnJ1cHQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQoreworCS8qCisJICogc2tlbGV0b24gaGFuZGxlciBvbmx5CisJICogKHdlIGRvIG5vdCB3YW50IGF4aXMgcmVhZGluZyBpbiBpbnRlcnJ1cHQgaGFuZGxlciAtIHRvbyBtdWNoIGxvYWQhKQorCSAqLworCXNuZF9hemYzMzI4X2RiZ2dhbWUoImdhbWVwb3J0IGlycVxuIik7CisKKwkgLyogdGhpcyBzaG91bGQgQUNLIHRoZSBnYW1lcG9ydCBJUlEgcHJvcGVybHksIGhvcGVmdWxseS4gKi8KKwlzbmRfYXpmMzMyOF9nYW1lX2ludyhjaGlwLCBJRFhfR0FNRV9BWElTX1ZBTFVFKTsKK30KKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfb3BlbihzdHJ1Y3QgZ2FtZXBvcnQgKmdhbWVwb3J0LCBpbnQgbW9kZSkKK3sKKwlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBnYW1lcG9ydF9nZXRfcG9ydF9kYXRhKGdhbWVwb3J0KTsKKwlpbnQgcmVzOworCisJc25kX2F6ZjMzMjhfZGJnZ2FtZSgiZ2FtZXBvcnRfb3BlbiwgbW9kZSAlZFxuIiwgbW9kZSk7CisJc3dpdGNoIChtb2RlKSB7CisJY2FzZSBHQU1FUE9SVF9NT0RFX0NPT0tFRDoKKwljYXNlIEdBTUVQT1JUX01PREVfUkFXOgorCQlyZXMgPSAwOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXMgPSAtMTsKKwkJYnJlYWs7CisJfQorCisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfYXhpc19jaXJjdWl0X2VuYWJsZShjaGlwLCAocmVzID09IDApKTsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9jbG9zZShzdHJ1Y3QgZ2FtZXBvcnQgKmdhbWVwb3J0KQoreworCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGdhbWVwb3J0X2dldF9wb3J0X2RhdGEoZ2FtZXBvcnQpOworCisJc25kX2F6ZjMzMjhfZGJnZ2FtZSgiZ2FtZXBvcnRfY2xvc2VcbiIpOworCXNuZF9hemYzMzI4X2dhbWVwb3J0X2F4aXNfY2lyY3VpdF9lbmFibGUoY2hpcCwgMCk7Cit9CisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2Nvb2tlZF9yZWFkKHN0cnVjdCBnYW1lcG9ydCAqZ2FtZXBvcnQsCisJCQkJIGludCAqYXhlcywKKwkJCQkgaW50ICpidXR0b25zCispCit7CisJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZ2FtZXBvcnRfZ2V0X3BvcnRfZGF0YShnYW1lcG9ydCk7CisJaW50IGk7CisJdTggdmFsOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzbmRfYXNzZXJ0KGNoaXAsIHJldHVybiAwKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOworCXZhbCA9IHNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIElEWF9HQU1FX0xFR0FDWV9DT01QQVRJQkxFKTsKKwkqYnV0dG9ucyA9ICh+KHZhbCkgPj4gNCkgJiAweGY7CisKKwkvKiBvaywgdGhpcyBvbmUgaXMgYSBiaXQgZGlydHk6IGNvb2tlZF9yZWFkIGlzIGJlaW5nIHBvbGxlZCBieSBhIHRpbWVyLAorCSAqIHRodXMgd2UncmUgYXRvbWljIGFuZCBjYW5ub3QgYWN0aXZlbHkgd2FpdCBpbiBoZXJlCisJICogKHdoaWNoIHdvdWxkIGJlIHVzZWZ1bCBmb3IgdXMgc2luY2UgaXQgcHJvYmFibHkgd291bGQgYmUgYmV0dGVyCisJICogdG8gdHJpZ2dlciBhIG1lYXN1cmVtZW50IGluIGhlcmUsIHRoZW4gd2FpdCBhIHNob3J0IGFtb3VudCBvZgorCSAqIHRpbWUgdW50aWwgaXQncyBmaW5pc2hlZCwgdGhlbiByZWFkIHZhbHVlcyBvZiBfdGhpc18gbWVhc3VyZW1lbnQpLgorCSAqCisJICogVGh1cyB3ZSBzaW1wbHkgcmVzb3J0IHRvIHJlYWRpbmcgdmFsdWVzIGlmIHRoZXkncmUgYXZhaWxhYmxlIGFscmVhZHkKKwkgKiBhbmQgdHJpZ2dlciB0aGUgbmV4dCBtZWFzdXJlbWVudC4KKwkgKi8KKworCXZhbCA9IHNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIElEWF9HQU1FX0FYRVNfQ09ORklHKTsKKwlpZiAodmFsICYgR0FNRV9BWEVTX1NBTVBMSU5HX1JFQURZKSB7CisJCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKKwkJCS8qIGNvbmZpZ3VyZSB0aGUgYXhpcyB0byByZWFkICovCisJCQl2YWwgPSAoaSA8PCA0KSB8IDB4MGY7CisJCQlzbmRfYXpmMzMyOF9nYW1lX291dGIoY2hpcCwgSURYX0dBTUVfQVhFU19DT05GSUcsIHZhbCk7CisKKwkJCWNoaXAtPmF4ZXNbaV0gPSBzbmRfYXpmMzMyOF9nYW1lX2ludygKKwkJCQkJCWNoaXAsIElEWF9HQU1FX0FYSVNfVkFMVUUKKwkJCQkJKTsKKwkJfQorCX0KKworCS8qIHRyaWdnZXIgbmV4dCBheGVzIHNhbXBsaW5nLCB0byBiZSBldmFsdWF0ZWQgdGhlIG5leHQgdGltZSB3ZQorCSAqIGVudGVyIHRoaXMgZnVuY3Rpb24gKi8KKworCS8qIGZvciBzb21lIHZlcnksIHZlcnkgc3RyYW5nZSByZWFzb24gd2UgY2Fubm90IGVuYWJsZQorCSAqIE1lYXN1cmVtZW50IFJlYWR5IG1vbml0b3JpbmcgZm9yIGFsbCBheGVzIGhlcmUsCisJICogYXQgbGVhc3Qgbm90IHdoZW4gb25seSBvbmUgam95c3RpY2sgY29ubmVjdGVkICovCisJdmFsID0gMHgwMzsgLyogd2UncmUgYWJsZSB0byBtb25pdG9yIGF4ZXMgMSBhbmQgMiBvbmx5ICovCisJc25kX2F6ZjMzMjhfZ2FtZV9vdXRiKGNoaXAsIElEWF9HQU1FX0FYRVNfQ09ORklHLCB2YWwpOworCisJc25kX2F6ZjMzMjhfZ2FtZV9vdXR3KGNoaXAsIElEWF9HQU1FX0FYSVNfVkFMVUUsIDB4ZmZmZik7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKKworCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKwkJYXhlc1tpXSA9IGNoaXAtPmF4ZXNbaV07CisJCWlmIChheGVzW2ldID09IDB4ZmZmZikKKwkJCWF4ZXNbaV0gPSAtMTsKKwl9CisKKwlzbmRfYXpmMzMyOF9kYmdnYW1lKCJjb29rZWRfcmVhZDogYXhlcyAlZCAlZCAlZCAlZCBidXR0b25zICVkXG4iLAorCQlheGVzWzBdLCBheGVzWzFdLCBheGVzWzJdLCBheGVzWzNdLCAqYnV0dG9ucworCSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQKK3NuZF9hemYzMzI4X2dhbWVwb3J0KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGRldikKK3sKKwlzdHJ1Y3QgZ2FtZXBvcnQgKmdwOworCisJY2hpcC0+Z2FtZXBvcnQgPSBncCA9IGdhbWVwb3J0X2FsbG9jYXRlX3BvcnQoKTsKKwlpZiAoIWdwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiYXp0MzMyODogY2Fubm90IGFsbG9jIG1lbW9yeSBmb3IgZ2FtZXBvcnRcbiIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlnYW1lcG9ydF9zZXRfbmFtZShncCwgIkFaRjMzMjggR2FtZXBvcnQiKTsKKwlnYW1lcG9ydF9zZXRfcGh5cyhncCwgInBjaSVzL2dhbWVwb3J0MCIsIHBjaV9uYW1lKGNoaXAtPnBjaSkpOworCWdhbWVwb3J0X3NldF9kZXZfcGFyZW50KGdwLCAmY2hpcC0+cGNpLT5kZXYpOworCWdwLT5pbyA9IGNoaXAtPmdhbWVfaW87CisJZ2FtZXBvcnRfc2V0X3BvcnRfZGF0YShncCwgY2hpcCk7CisKKwlncC0+b3BlbiA9IHNuZF9hemYzMzI4X2dhbWVwb3J0X29wZW47CisJZ3AtPmNsb3NlID0gc25kX2F6ZjMzMjhfZ2FtZXBvcnRfY2xvc2U7CisJZ3AtPmZ1enogPSAxNjsgLyogc2VlbXMgb2sgKi8KKwlncC0+Y29va2VkX3JlYWQgPSBzbmRfYXpmMzMyOF9nYW1lcG9ydF9jb29rZWRfcmVhZDsKKworCS8qIERJU0FCTEUgbGVnYWN5IGFkZHJlc3M6IHdlIGRvbid0IG5lZWQgaXQhICovCisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfbGVnYWN5X2FkZHJlc3NfZW5hYmxlKGNoaXAsIDApOworCisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfYXhpc19jaXJjdWl0X2VuYWJsZShjaGlwLCAwKTsKKworCWdhbWVwb3J0X3JlZ2lzdGVyX3BvcnQoY2hpcC0+Z2FtZXBvcnQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9mcmVlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKK3sKKwlpZiAoY2hpcC0+Z2FtZXBvcnQpIHsKKwkJZ2FtZXBvcnRfdW5yZWdpc3Rlcl9wb3J0KGNoaXAtPmdhbWVwb3J0KTsKKwkJY2hpcC0+Z2FtZXBvcnQgPSBOVUxMOworCX0KKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9pcnFfZW5hYmxlKGNoaXAsIDApOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50CitzbmRfYXpmMzMyOF9nYW1lcG9ydChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBkZXYpIHsgcmV0dXJuIC1FTk9TWVM7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfZnJlZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApIHsgfQorc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9pbnRlcnJ1cHQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQoreworCXByaW50ayhLRVJOX1dBUk5JTkcgImh1aCwgZ2FtZSBwb3J0IElSUSBvY2N1cnJlZCE/XG4iKTsKK30KKyNlbmRpZiAvKiBTVVBQT1JUX0dBTUVQT1JUICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfaXJxX2xvZ191bmtub3duX3R5cGUodTggd2hpY2gpCit7CisJc25kX2F6ZjMzMjhfZGJncGxheSgKKwkiYXp0MzMyODogdW5rbm93biBJUlEgdHlwZSAoJXgpIG9jY3VycmVkLCBwbGVhc2UgcmVwb3J0IVxuIiwKKwkJd2hpY2gKKwkpOworfQorCiBzdGF0aWMgaXJxcmV0dXJuX3QKIHNuZF9hemYzMzI4X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZGV2X2lkOwogCXU4IHN0YXR1cywgd2hpY2g7CisjaWYgREVCVUdfUExBWV9SRUMKIAlzdGF0aWMgdW5zaWduZWQgbG9uZyBpcnFfY291bnQ7CisjZW5kaWYKIAogCXN0YXR1cyA9IHNuZF9hemYzMzI4X2NvZGVjX2luYihjaGlwLCBJRFhfSU9fSVJRU1RBVFVTKTsKIAogICAgICAgICAvKiBmYXN0IHBhdGggb3V0LCB0byBlYXNlIGludGVycnVwdCBzaGFyaW5nICovCi0JaWYgKCEoc3RhdHVzICYgKElSUV9QTEFZQkFDS3xJUlFfUkVDT1JESU5HfElSUV9NUFU0MDF8SVJRX1RJTUVSKSkpCisJaWYgKCEoc3RhdHVzICYKKwkJKElSUV9QTEFZQkFDS3xJUlFfUkVDT1JESU5HfElSUV9HQU1FUE9SVHxJUlFfTVBVNDAxfElSUV9USU1FUikKKwkpKQogCQlyZXR1cm4gSVJRX05PTkU7IC8qIG11c3QgYmUgaW50ZXJydXB0IGZvciBhbm90aGVyIGRldmljZSAqLwogCi0Jc25kX2F6ZjMzMjhfZGJncGxheSgiSW50ZXJydXB0ICVsZCFcbklEWF9JT19QTEFZX0ZMQUdTICUwNHgsIElEWF9JT19QTEFZX0lSUVRZUEUgJTA0eCwgSURYX0lPX0lSUVNUQVRVUyAlMDR4XG4iLAotCQlpcnFfY291bnQsCi0JCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUyksCi0JCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9JUlFUWVBFKSwKLQkJc3RhdHVzKTsKLQkJCisJc25kX2F6ZjMzMjhfZGJncGxheSgKKwkJImlycV9jb3VudCAlbGQhIElEWF9JT19QTEFZX0ZMQUdTICUwNHgsICIKKwkJIklEWF9JT19QTEFZX0lSUVRZUEUgJTA0eCwgSURYX0lPX0lSUVNUQVRVUyAlMDR4XG4iLAorCQkJaXJxX2NvdW50KysgLyogZGVidWctb25seSAqLywKKwkJCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUyksCisJCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfSVJRVFlQRSksCisJCQlzdGF0dXMKKwkpOworCiAJaWYgKHN0YXR1cyAmIElSUV9USU1FUikgewotCQkvKiBzbmRfYXpmMzMyOF9kYmdwbGF5KCJ0aW1lciAlbGRcbiIsIGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19USU1FUl9WQUxVRSkgJiBUSU1FUl9WQUxVRV9NQVNLKTsgKi8KKwkJLyogc25kX2F6ZjMzMjhfZGJncGxheSgidGltZXIgJWxkXG4iLAorCQkJc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSkKKwkJCQkmIFRJTUVSX1ZBTFVFX01BU0sKKwkJKTsgKi8KIAkJaWYgKGNoaXAtPnRpbWVyKQogCQkJc25kX3RpbWVyX2ludGVycnVwdChjaGlwLT50aW1lciwgY2hpcC0+dGltZXItPnN0aWNrcyk7CiAJCS8qIEFDSyB0aW1lciAqLwpAQCAtMTIzMiwxNSArMTYzNSwyMCBAQAogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19QTEFZX0lSUVRZUEUsIHdoaWNoKTsKICAgICAgICAgICAgICAgIAlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCi0JCWlmIChjaGlwLT5wY20gJiYgY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtKSB7Ci0JCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSk7CisJCWlmIChjaGlwLT5wY20gJiYgY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10uc3Vic3RyZWFtKSB7CisJCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKAorCQkJCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnN1YnN0cmVhbQorCQkJKTsKIAkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlBMQVkgcGVyaW9kIGRvbmUgKCMleCksIEAgJXhcbiIsCiAJCQkJd2hpY2gsCi0JCQkJaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1BMQVlfRE1BX0NVUlJQT1MpKTsKKwkJCQlzbmRfYXpmMzMyOF9jb2RlY19pbmwoCisJCQkJCWNoaXAsIElEWF9JT19QTEFZX0RNQV9DVVJSUE9TCisJCQkJKQorCQkJKTsKIAkJfSBlbHNlCi0JCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiBvdWNoLCBpcnEgaGFuZGxlciBwcm9ibGVtIVxuIik7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJhenQzMzI4OiBpcnEgaGFuZGxlciBwcm9ibGVtIVxuIik7CiAJCWlmICh3aGljaCAmIElSUV9QTEFZX1NPTUVUSElORykKLQkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IHVua25vd24gcGxheSBJUlEgdHlwZSBvY2N1cnJlZCwgcGxlYXNlIHJlcG9ydCFcbiIpOworCQkJc25kX2F6ZjMzMjhfaXJxX2xvZ191bmtub3duX3R5cGUod2hpY2gpOwogCX0KIAlpZiAoc3RhdHVzICYgSVJRX1JFQ09SRElORykgewogICAgICAgICAgICAgICAgIHNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwpAQCAtMTI0OSwxNiArMTY1NywyMyBAQAogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19SRUNfSVJRVFlQRSwgd2hpY2gpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCi0JCWlmIChjaGlwLT5wY20gJiYgY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0pIHsKLQkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0pOworCQlpZiAoY2hpcC0+cGNtICYmIGNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0uc3Vic3RyZWFtKSB7CisJCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKAorCQkJCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0uc3Vic3RyZWFtCisJCQkpOwogCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiUkVDICBwZXJpb2QgZG9uZSAoIyV4KSwgQCAleFxuIiwKIAkJCQl3aGljaCwKLQkJCQlpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUkVDX0RNQV9DVVJSUE9TKSk7CisJCQkJc25kX2F6ZjMzMjhfY29kZWNfaW5sKAorCQkJCQljaGlwLCBJRFhfSU9fUkVDX0RNQV9DVVJSUE9TCisJCQkJKQorCQkJKTsKIAkJfSBlbHNlCi0JCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiBvdWNoLCBpcnEgaGFuZGxlciBwcm9ibGVtIVxuIik7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJhenQzMzI4OiBpcnEgaGFuZGxlciBwcm9ibGVtIVxuIik7CiAJCWlmICh3aGljaCAmIElSUV9SRUNfU09NRVRISU5HKQotCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiYXp0MzMyODogdW5rbm93biByZWMgSVJRIHR5cGUgb2NjdXJyZWQsIHBsZWFzZSByZXBvcnQhXG4iKTsKKwkJCXNuZF9hemYzMzI4X2lycV9sb2dfdW5rbm93bl90eXBlKHdoaWNoKTsKIAl9CisJaWYgKHN0YXR1cyAmIElSUV9HQU1FUE9SVCkKKwkJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfaW50ZXJydXB0KGNoaXApOwogCS8qIE1QVTQwMSBoYXMgbGVzcyBjcml0aWNhbCBJUlEgcmVxdWlyZW1lbnRzCiAJICogdGhhbiB0aW1lciBhbmQgcGxheWJhY2svcmVjb3JkaW5nLCByaWdodD8gKi8KIAlpZiAoc3RhdHVzICYgSVJRX01QVTQwMSkgewpAQCAtMTI2OCw3ICsxNjgzLDYgQEAKIAkJICogSWYgc28sIHRoZW4gSSBkb24ndCBrbm93IGhvdy4uLiAqLwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiBNUFU0MDEgSVJRXG4iKTsKIAl9Ci0JaXJxX2NvdW50Kys7CiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCkBAIC0xMjg3LDggKzE3MDEsOCBAQAogCS5yYXRlcyA9CQlTTkRSVl9QQ01fUkFURV81NTEyIHwKIAkJCQlTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwIHwKIAkJCQlTTkRSVl9QQ01fUkFURV9LTk9ULAotCS5yYXRlX21pbiA9CQk0MDAwLAotCS5yYXRlX21heCA9CQk2NjIwMCwKKwkucmF0ZV9taW4gPQkJQVpGX0ZSRVFfNDAwMCwKKwkucmF0ZV9tYXggPQkJQVpGX0ZSRVFfNjYyMDAsCiAJLmNoYW5uZWxzX21pbiA9CQkxLAogCS5jaGFubmVsc19tYXggPQkJMiwKIAkuYnVmZmVyX2J5dGVzX21heCA9CTY1NTM2LApAQCAtMTMxNSw4ICsxNzI5LDggQEAKIAkucmF0ZXMgPQkJU05EUlZfUENNX1JBVEVfNTUxMiB8CiAJCQkJU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCB8CiAJCQkJU05EUlZfUENNX1JBVEVfS05PVCwKLQkucmF0ZV9taW4gPQkJNDAwMCwKLQkucmF0ZV9tYXggPQkJNjYyMDAsCisJLnJhdGVfbWluID0JCUFaRl9GUkVRXzQwMDAsCisJLnJhdGVfbWF4ID0JCUFaRl9GUkVRXzY2MjAwLAogCS5jaGFubmVsc19taW4gPQkJMSwKIAkuY2hhbm5lbHNfbWF4ID0JCTIsCiAJLmJ1ZmZlcl9ieXRlc19tYXggPQk2NTUzNiwKQEAgLTEzMjksMTAgKzE3NDMsMjQgQEAKIAogCiBzdGF0aWMgdW5zaWduZWQgaW50IHNuZF9hemYzMzI4X2ZpeGVkX3JhdGVzW10gPSB7Ci0JNDAwMCwgNDgwMCwgNTUxMiwgNjYyMCwgODAwMCwgOTYwMCwgMTEwMjUsIDEzMjQwLCAxNjAwMCwgMjIwNTAsIDMyMDAwLAotCTQ0MTAwLCA0ODAwMCwgNjYyMDAgfTsKKwlBWkZfRlJFUV80MDAwLAorCUFaRl9GUkVRXzQ4MDAsCisJQVpGX0ZSRVFfNTUxMiwKKwlBWkZfRlJFUV82NjIwLAorCUFaRl9GUkVRXzgwMDAsCisJQVpGX0ZSRVFfOTYwMCwKKwlBWkZfRlJFUV8xMTAyNSwKKwlBWkZfRlJFUV8xMzI0MCwKKwlBWkZfRlJFUV8xNjAwMCwKKwlBWkZfRlJFUV8yMjA1MCwKKwlBWkZfRlJFUV8zMjAwMCwKKwlBWkZfRlJFUV80NDEwMCwKKwlBWkZfRlJFUV80ODAwMCwKKwlBWkZfRlJFUV82NjIwMAorfTsKKwogc3RhdGljIHN0cnVjdCBzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdCBzbmRfYXpmMzMyOF9od19jb25zdHJhaW50c19yYXRlcyA9IHsKLQkuY291bnQgPSBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X2ZpeGVkX3JhdGVzKSwgCisJLmNvdW50ID0gQVJSQVlfU0laRShzbmRfYXpmMzMyOF9maXhlZF9yYXRlcyksCiAJLmxpc3QgPSBzbmRfYXpmMzMyOF9maXhlZF9yYXRlcywKIAkubWFzayA9IDAsCiB9OwpAQCAtMTM0Niw3ICsxNzc0LDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtID0gc3Vic3RyZWFtOworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKIAlydW50aW1lLT5odyA9IHNuZF9hemYzMzI4X3BsYXliYWNrOwogCXNuZF9wY21faHdfY29uc3RyYWludF9saXN0KHJ1bnRpbWUsIDAsIFNORFJWX1BDTV9IV19QQVJBTV9SQVRFLAogCQkJCSAgICZzbmRfYXpmMzMyOF9od19jb25zdHJhaW50c19yYXRlcyk7CkBAIC0xMzYxLDcgKzE3ODksNyBAQAogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQljaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKIAlydW50aW1lLT5odyA9IHNuZF9hemYzMzI4X2NhcHR1cmU7CiAJc25kX3BjbV9od19jb25zdHJhaW50X2xpc3QocnVudGltZSwgMCwgU05EUlZfUENNX0hXX1BBUkFNX1JBVEUsCiAJCQkJICAgJnNuZF9hemYzMzI4X2h3X2NvbnN0cmFpbnRzX3JhdGVzKTsKQEAgLTEzNzUsNyArMTgwMyw3IEBACiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtID0gTlVMTDsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5zdWJzdHJlYW0gPSBOVUxMOwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiAwOwogfQpAQCAtMTM4Niw3ICsxODE0LDcgQEAKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQljaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSA9IE5VTEw7CisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5zdWJzdHJlYW0gPSBOVUxMOwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiAwOwogfQpAQCAtMTQ0MSwxMDIgKzE4NjksOCBAQAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi0jaWZkZWYgU1VQUE9SVF9KT1lTVElDSwotc3RhdGljIGludCBfX2RldmluaXQKLXNuZF9hemYzMzI4X2NvbmZpZ19qb3lzdGljayhzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBkZXYpCi17Ci0Jc3RydWN0IGdhbWVwb3J0ICpncDsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnI7Ci0KLQlpZiAoIWpveXN0aWNrW2Rldl0pCi0JCXJldHVybiAtRU5PREVWOwotCi0JaWYgKCEociA9IHJlcXVlc3RfcmVnaW9uKDB4MjAwLCA4LCAiQVpGMzMyOCBnYW1lcG9ydCIpKSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJhenQzMzI4OiBjYW5ub3QgcmVzZXJ2ZSBqb3lzdGljayBwb3J0c1xuIik7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCi0JY2hpcC0+Z2FtZXBvcnQgPSBncCA9IGdhbWVwb3J0X2FsbG9jYXRlX3BvcnQoKTsKLQlpZiAoIWdwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiYXp0MzMyODogY2Fubm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgZ2FtZXBvcnRcbiIpOwotCQlyZWxlYXNlX2FuZF9mcmVlX3Jlc291cmNlKHIpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQlnYW1lcG9ydF9zZXRfbmFtZShncCwgIkFaRjMzMjggR2FtZXBvcnQiKTsKLQlnYW1lcG9ydF9zZXRfcGh5cyhncCwgInBjaSVzL2dhbWVwb3J0MCIsIHBjaV9uYW1lKGNoaXAtPnBjaSkpOwotCWdhbWVwb3J0X3NldF9kZXZfcGFyZW50KGdwLCAmY2hpcC0+cGNpLT5kZXYpOwotCWdwLT5pbyA9IDB4MjAwOwotCWdhbWVwb3J0X3NldF9wb3J0X2RhdGEoZ3AsIHIpOwotCi0Jc25kX2F6ZjMzMjhfaW8yX291dGIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUiwKLQkJCSAgICAgIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUikgfCBMRUdBQ1lfSk9ZKTsKLQotCWdhbWVwb3J0X3JlZ2lzdGVyX3BvcnQoY2hpcC0+Z2FtZXBvcnQpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF9mcmVlX2pveXN0aWNrKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKLXsKLQlpZiAoY2hpcC0+Z2FtZXBvcnQpIHsKLQkJc3RydWN0IHJlc291cmNlICpyID0gZ2FtZXBvcnRfZ2V0X3BvcnRfZGF0YShjaGlwLT5nYW1lcG9ydCk7Ci0KLQkJZ2FtZXBvcnRfdW5yZWdpc3Rlcl9wb3J0KGNoaXAtPmdhbWVwb3J0KTsKLQkJY2hpcC0+Z2FtZXBvcnQgPSBOVUxMOwotCQkvKiBkaXNhYmxlIGdhbWVwb3J0ICovCi0JCXNuZF9hemYzMzI4X2lvMl9vdXRiKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIsCi0JCQkJICAgICAgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSKSAmIH5MRUdBQ1lfSk9ZKTsKLQkJcmVsZWFzZV9hbmRfZnJlZV9yZXNvdXJjZShyKTsKLQl9Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSBpbnQKLXNuZF9hemYzMzI4X2NvbmZpZ19qb3lzdGljayhzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBkZXYpIHsgcmV0dXJuIC1FTk9TWVM7IH0KLXN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfZnJlZV9qb3lzdGljayhzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApIHsgfQotI2VuZGlmCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBpbnQKLXNuZF9hemYzMzI4X2ZyZWUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQotewotICAgICAgICBpZiAoY2hpcC0+aXJxIDwgMCkKLSAgICAgICAgICAgICAgICBnb3RvIF9fZW5kX2h3OwotCi0JLyogcmVzZXQgKGNsb3NlKSBtaXhlciAqLwotCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMSk7IC8qIGZpcnN0IG11dGUgbWFzdGVyIHZvbHVtZSAqLwotCXNuZF9hemYzMzI4X21peGVyX291dHcoY2hpcCwgSURYX01JWEVSX1JFU0VULCAweDAwMDApOwotCi0gICAgICAgIC8qIGludGVycnVwdCBzZXR1cCAtIG1hc2sgZXZlcnl0aGluZyAoRklYTUUhKSAqLwotCS8qIHdlbGwsIGF0IGxlYXN0IHdlIGtub3cgaG93IHRvIGRpc2FibGUgdGhlIHRpbWVyIElSUSAqLwotCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFICsgMywgMHgwMCk7Ci0KLQlpZiAoY2hpcC0+aXJxID49IDApCi0gICAgICAgIAlzeW5jaHJvbml6ZV9pcnEoY2hpcC0+aXJxKTsKLV9fZW5kX2h3OgotCXNuZF9hemYzMzI4X2ZyZWVfam95c3RpY2soY2hpcCk7Ci0gICAgICAgIGlmIChjaGlwLT5pcnEgPj0gMCkKLQkJZnJlZV9pcnEoY2hpcC0+aXJxLCBjaGlwKTsKLQlwY2lfcmVsZWFzZV9yZWdpb25zKGNoaXAtPnBjaSk7Ci0JcGNpX2Rpc2FibGVfZGV2aWNlKGNoaXAtPnBjaSk7Ci0KLSAgICAgICAga2ZyZWUoY2hpcCk7Ci0gICAgICAgIHJldHVybiAwOwotfQotCi1zdGF0aWMgaW50Ci1zbmRfYXpmMzMyOF9kZXZfZnJlZShzdHJ1Y3Qgc25kX2RldmljZSAqZGV2aWNlKQotewotCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGRldmljZS0+ZGV2aWNlX2RhdGE7Ci0JcmV0dXJuIHNuZF9hemYzMzI4X2ZyZWUoY2hpcCk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLS8qKiogTk9URTogdGhlIHBoeXNpY2FsIHRpbWVyIHJlc29sdXRpb24gYWN0dWFsbHkgaXMgMTAyNDAwMCB0aWNrcyBwZXIgc2Vjb25kLAorLyoqKiBOT1RFOiB0aGUgcGh5c2ljYWwgdGltZXIgcmVzb2x1dGlvbiBhY3R1YWxseSBpcyAxMDI0MDAwIHRpY2tzIHBlciBzZWNvbmQKKyAqKiogKHByb2JhYmx5IGRlcml2ZWQgZnJvbSBtYWluIGNyeXN0YWwgdmlhIGEgZGl2aWRlciBvZiAyNCksCiAgKioqIGJ1dCBhbm5vdW5jaW5nIHRob3NlIGF0dHJpYnV0ZXMgdG8gdXNlci1zcGFjZSB3b3VsZCBtYWtlIHByb2dyYW1zCiAgKioqIGNvbmZpZ3VyZSB0aGUgdGltZXIgdG8gYSAxIHRpY2sgdmFsdWUsIHJlc3VsdGluZyBpbiBhbiBhYnNvbHV0ZWx5IGZhdGFsCiAgKioqIHRpbWVyIElSUSBzdG9ybS4KQEAgLTE1NjQsNyArMTg5OCw3IEBACiAJCWRlbGF5ID0gNDk7IC8qIG1pbmltdW0gdGltZSBpcyA0OSB0aWNrcyAqLwogCX0KIAlzbmRfYXpmMzMyOF9kYmd0aW1lcigic2V0dGluZyB0aW1lciBjb3VudGRvd24gdmFsdWUgJWQsIGFkZCBDT1VOVERPV058SVJRXG4iLCBkZWxheSk7Ci0JZGVsYXkgfD0gVElNRVJfRU5BQkxFX0NPVU5URE9XTiB8IFRJTUVSX0VOQUJMRV9JUlE7CisJZGVsYXkgfD0gVElNRVJfQ09VTlRET1dOX0VOQUJMRSB8IFRJTUVSX0lSUV9FTkFCTEU7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0bChjaGlwLCBJRFhfSU9fVElNRVJfVkFMVUUsIGRlbGF5KTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwpAQCAtMTU4Miw3ICsxOTE2LDcgQEAKIAljaGlwID0gc25kX3RpbWVyX2NoaXAodGltZXIpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwogCS8qIGRpc2FibGUgdGltZXIgY291bnRkb3duIGFuZCBpbnRlcnJ1cHQgKi8KLQkvKiBGSVhNRTogc2hvdWxkIHdlIHdyaXRlIFRJTUVSX0FDS19JUlEgaGVyZT8gKi8KKwkvKiBGSVhNRTogc2hvdWxkIHdlIHdyaXRlIFRJTUVSX0lSUV9BQ0sgaGVyZT8gKi8KIAlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSArIDMsIDApOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CkBAIC0xNjI2LDkgKzE5NjAsMTAgQEAKIAogCXNuZF9hemYzMzI4X3RpbWVyX2h3LnJlc29sdXRpb24gKj0gc2VxdGltZXJfc2NhbGluZzsKIAlzbmRfYXpmMzMyOF90aW1lcl9ody50aWNrcyAvPSBzZXF0aW1lcl9zY2FsaW5nOwotCWlmICgoZXJyID0gc25kX3RpbWVyX25ldyhjaGlwLT5jYXJkLCAiQVpGMzMyOCIsICZ0aWQsICZ0aW1lcikpIDwgMCkgeworCisJZXJyID0gc25kX3RpbWVyX25ldyhjaGlwLT5jYXJkLCAiQVpGMzMyOCIsICZ0aWQsICZ0aW1lcik7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0OwotCX0KIAogCXN0cmNweSh0aW1lci0+bmFtZSwgIkFaRjMzMjggdGltZXIiKTsKIAl0aW1lci0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKQEAgLTE2MzYsNiArMTk3MSw4IEBACiAKIAljaGlwLT50aW1lciA9IHRpbWVyOwogCisJc25kX2F6ZjMzMjhfdGltZXJfc3RvcCh0aW1lcik7CisKIAllcnIgPSAwOwogCiBvdXQ6CkBAIC0xNjQ1LDEwICsxOTgyLDQ0IEBACiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2ZyZWUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQoreworCWlmIChjaGlwLT5pcnEgPCAwKQorCQlnb3RvIF9fZW5kX2h3OworCisJLyogcmVzZXQgKGNsb3NlKSBtaXhlcjoKKwkgKiBmaXJzdCBtdXRlIG1hc3RlciB2b2x1bWUsIHRoZW4gcmVzZXQKKwkgKi8KKwlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfUExBWV9NQVNURVIsIDEpOworCXNuZF9hemYzMzI4X21peGVyX291dHcoY2hpcCwgSURYX01JWEVSX1JFU0VULCAweDAwMDApOworCisJc25kX2F6ZjMzMjhfdGltZXJfc3RvcChjaGlwLT50aW1lcik7CisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfZnJlZShjaGlwKTsKKworCWlmIChjaGlwLT5pcnEgPj0gMCkKKwkJc3luY2hyb25pemVfaXJxKGNoaXAtPmlycSk7CitfX2VuZF9odzoKKwlpZiAoY2hpcC0+aXJxID49IDApCisJCWZyZWVfaXJxKGNoaXAtPmlycSwgY2hpcCk7CisJcGNpX3JlbGVhc2VfcmVnaW9ucyhjaGlwLT5wY2kpOworCXBjaV9kaXNhYmxlX2RldmljZShjaGlwLT5wY2kpOworCisJa2ZyZWUoY2hpcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2Rldl9mcmVlKHN0cnVjdCBzbmRfZGV2aWNlICpkZXZpY2UpCit7CisJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZGV2aWNlLT5kZXZpY2VfZGF0YTsKKwlyZXR1cm4gc25kX2F6ZjMzMjhfZnJlZShjaGlwKTsKK30KKwogI2lmIDAKIC8qIGNoZWNrIHdoZXRoZXIgYSBiaXQgY2FuIGJlIG1vZGlmaWVkICovCiBzdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfdGVzdF9iaXQodW5zaWduZWQgaW50IHJlZywgaW50IGJpdCkKK3NuZF9hemYzMzI4X3Rlc3RfYml0KHVuc2lnbmVkIHVuc2lnbmVkIHJlZywgaW50IGJpdCkKIHsKIAl1bnNpZ25lZCBjaGFyIHZhbCwgdmFsb2ZmLCB2YWxvbjsKIApAQCAtMTY1OSw0MiArMjAzMCw3NCBAQAogCiAJb3V0Yih2YWx8KDEgPDwgYml0KSwgcmVnKTsKIAl2YWxvbiA9IGluYihyZWcpOwotCQorCiAJb3V0Yih2YWwsIHJlZyk7CiAKLQlwcmludGsoS0VSTl9FUlIgInJlZyAlMDR4IGJpdCAlZDogJTAyeCAlMDJ4ICUwMnhcbiIsIHJlZywgYml0LCB2YWwsIHZhbG9mZiwgdmFsb24pOworCXByaW50ayhLRVJOX0VSUiAicmVnICUwNHggYml0ICVkOiAlMDJ4ICUwMnggJTAyeFxuIiwKKwkJCQlyZWcsIGJpdCwgdmFsLCB2YWxvZmYsIHZhbG9uCisJKTsKIH0KICNlbmRpZgogCi0jaWYgREVCVUdfTUlTQwotc3RhdGljIHZvaWQKK3N0YXRpYyBpbmxpbmUgdm9pZAogc25kX2F6ZjMzMjhfZGVidWdfc2hvd19wb3J0cyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCiB7CisjaWYgREVCVUdfTUlTQwogCXUxNiB0bXA7CiAKLQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJjb2RlY19wb3J0IDB4JWx4LCBpbzJfcG9ydCAweCVseCwgbXB1X3BvcnQgMHglbHgsIHN5bnRoX3BvcnQgMHglbHgsIG1peGVyX3BvcnQgMHglbHgsIGlycSAlZFxuIiwgY2hpcC0+Y29kZWNfcG9ydCwgY2hpcC0+aW8yX3BvcnQsIGNoaXAtPm1wdV9wb3J0LCBjaGlwLT5zeW50aF9wb3J0LCBjaGlwLT5taXhlcl9wb3J0LCBjaGlwLT5pcnEpOworCXNuZF9hemYzMzI4X2RiZ21pc2MoCisJCSJjb2RlY19pbyAweCVseCwgZ2FtZV9pbyAweCVseCwgbXB1X2lvIDB4JWx4LCAiCisJCSJvcGwzX2lvIDB4JWx4LCBtaXhlcl9pbyAweCVseCwgaXJxICVkXG4iLAorCQljaGlwLT5jb2RlY19pbywgY2hpcC0+Z2FtZV9pbywgY2hpcC0+bXB1X2lvLAorCQljaGlwLT5vcGwzX2lvLCBjaGlwLT5taXhlcl9pbywgY2hpcC0+aXJxCisJKTsKIAotCXNuZF9hemYzMzI4X2RiZ21pc2MoImlvMiAlMDJ4ICUwMnggJTAyeCAlMDJ4ICUwMnggJTAyeFxuIiwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCAwKSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCAxKSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCAyKSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCAzKSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCA0KSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCA1KSk7CisJc25kX2F6ZjMzMjhfZGJnbWlzYygiZ2FtZSAlMDJ4ICUwMnggJTAyeCAlMDJ4ICUwMnggJTAyeFxuIiwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgMCksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDEpLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCAyKSwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgMyksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDQpLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCA1KQorCSk7CiAKLQlmb3IgKHRtcD0wOyB0bXAgPD0gMHgwMTsgdG1wICs9IDEpCi0JCXNuZF9hemYzMzI4X2RiZ21pc2MoIjB4JTAyeDogb3BsIDB4JTA0eCwgbXB1MzAwIDB4JTA0eCwgbXB1MzEwIDB4JTA0eCwgbXB1MzIwIDB4JTA0eCwgbXB1MzMwIDB4JTA0eFxuIiwgdG1wLCBpbmIoMHgzODggKyB0bXApLCBpbmIoMHgzMDAgKyB0bXApLCBpbmIoMHgzMTAgKyB0bXApLCBpbmIoMHgzMjAgKyB0bXApLCBpbmIoMHgzMzAgKyB0bXApKTsKKwlmb3IgKHRtcCA9IDA7IHRtcCA8IDB4MDc7IHRtcCArPSAxKQorCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJtcHVfaW8gMHglMDR4XG4iLCBpbmIoY2hpcC0+bXB1X2lvICsgdG1wKSk7CisKKwlmb3IgKHRtcCA9IDA7IHRtcCA8PSAweDA3OyB0bXAgKz0gMSkKKwkJc25kX2F6ZjMzMjhfZGJnbWlzYygiMHglMDJ4OiBnYW1lMjAwIDB4JTA0eCwgZ2FtZTIwOCAweCUwNHhcbiIsCisJCQl0bXAsIGluYigweDIwMCArIHRtcCksIGluYigweDIwOCArIHRtcCkpOworCisJZm9yICh0bXAgPSAwOyB0bXAgPD0gMHgwMTsgdG1wICs9IDEpCisJCXNuZF9hemYzMzI4X2RiZ21pc2MoCisJCQkiMHglMDJ4OiBtcHUzMDAgMHglMDR4LCBtcHUzMTAgMHglMDR4LCBtcHUzMjAgMHglMDR4LCAiCisJCQkibXB1MzMwIDB4JTA0eCBvcGwzODggMHglMDR4IG9wbDM4YyAweCUwNHhcbiIsCisJCQkJdG1wLAorCQkJCWluYigweDMwMCArIHRtcCksCisJCQkJaW5iKDB4MzEwICsgdG1wKSwKKwkJCQlpbmIoMHgzMjAgKyB0bXApLAorCQkJCWluYigweDMzMCArIHRtcCksCisJCQkJaW5iKDB4Mzg4ICsgdG1wKSwKKwkJCQlpbmIoMHgzOGMgKyB0bXApCisJCSk7CiAKIAlmb3IgKHRtcCA9IDA7IHRtcCA8IEFaRl9JT19TSVpFX0NPREVDOyB0bXAgKz0gMikKLQkJc25kX2F6ZjMzMjhfZGJnbWlzYygiY29kZWMgMHglMDJ4OiAweCUwNHhcbiIsIHRtcCwgc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIHRtcCkpOworCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJjb2RlYyAweCUwMng6IDB4JTA0eFxuIiwKKwkJCXRtcCwgc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIHRtcCkKKwkJKTsKIAogCWZvciAodG1wID0gMDsgdG1wIDwgQVpGX0lPX1NJWkVfTUlYRVI7IHRtcCArPSAyKQotCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJtaXhlciAweCUwMng6IDB4JTA0eFxuIiwgdG1wLCBzbmRfYXpmMzMyOF9taXhlcl9pbncoY2hpcCwgdG1wKSk7CisJCXNuZF9hemYzMzI4X2RiZ21pc2MoIm1peGVyIDB4JTAyeDogMHglMDR4XG4iLAorCQkJdG1wLCBzbmRfYXpmMzMyOF9taXhlcl9pbncoY2hpcCwgdG1wKQorCQkpOworI2VuZGlmIC8qIERFQlVHX01JU0MgKi8KIH0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2RlYnVnX3Nob3dfcG9ydHMoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKSB7fQotI2VuZGlmCiAKIHN0YXRpYyBpbnQgX19kZXZpbml0CiBzbmRfYXpmMzMyOF9jcmVhdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqcGNpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRldmljZV90eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc25kX2F6ZjMzMjggKiogcmNoaXApCisJCSAgIHN0cnVjdCBwY2lfZGV2ICpwY2ksCisJCSAgIHVuc2lnbmVkIGxvbmcgZGV2aWNlX3R5cGUsCisJCSAgIHN0cnVjdCBzbmRfYXpmMzMyOCAqKnJjaGlwKQogewogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcDsKIAlpbnQgZXJyOwpAQCAtMTcwNSw3ICsyMTA4LDggQEAKIAogCSpyY2hpcCA9IE5VTEw7CiAKLQlpZiAoKGVyciA9IHBjaV9lbmFibGVfZGV2aWNlKHBjaSkpIDwgMCkKKwllcnIgPSBwY2lfZW5hYmxlX2RldmljZShwY2kpOworCWlmIChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwogCiAJY2hpcCA9IGt6YWxsb2Moc2l6ZW9mKCpjaGlwKSwgR0ZQX0tFUk5FTCk7CkBAIC0xNzIxLDIwICsyMTI1LDI1IEBACiAJLyogY2hlY2sgaWYgd2UgY2FuIHJlc3RyaWN0IFBDSSBETUEgdHJhbnNmZXJzIHRvIDI0IGJpdHMgKi8KIAlpZiAocGNpX3NldF9kbWFfbWFzayhwY2ksIERNQV8yNEJJVF9NQVNLKSA8IDAgfHwKIAkgICAgcGNpX3NldF9jb25zaXN0ZW50X2RtYV9tYXNrKHBjaSwgRE1BXzI0QklUX01BU0spIDwgMCkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJhcmNoaXRlY3R1cmUgZG9lcyBub3Qgc3VwcG9ydCAyNGJpdCBQQ0kgYnVzbWFzdGVyIERNQVxuIik7CisJCXNuZF9wcmludGsoS0VSTl9FUlIgImFyY2hpdGVjdHVyZSBkb2VzIG5vdCBzdXBwb3J0ICIKKwkJCQkJIjI0Yml0IFBDSSBidXNtYXN0ZXIgRE1BXG4iCisJCSk7CiAJCWVyciA9IC1FTlhJTzsKIAkJZ290byBvdXRfZXJyOwogCX0KIAotCWlmICgoZXJyID0gcGNpX3JlcXVlc3RfcmVnaW9ucyhwY2ksICJBenRlY2ggQVpGMzMyOCIpKSA8IDApIHsKKwllcnIgPSBwY2lfcmVxdWVzdF9yZWdpb25zKHBjaSwgIkF6dGVjaCBBWkYzMzI4Iik7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKLQljaGlwLT5jb2RlY19wb3J0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMCk7Ci0JY2hpcC0+aW8yX3BvcnQgICA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDEpOwotCWNoaXAtPm1wdV9wb3J0ICAgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAyKTsKLQljaGlwLT5zeW50aF9wb3J0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMyk7Ci0JY2hpcC0+bWl4ZXJfcG9ydCA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDQpOworCWNoaXAtPmNvZGVjX2lvID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMCk7CisJY2hpcC0+Z2FtZV9pbyAgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAxKTsKKwljaGlwLT5tcHVfaW8gICA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDIpOworCWNoaXAtPm9wbDNfaW8gPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAzKTsKKwljaGlwLT5taXhlcl9pbyA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDQpOworCisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10ucG9ydGJhc2UgPSBjaGlwLT5jb2RlY19pbyArIDB4MDA7CisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5wb3J0YmFzZSAgID0gY2hpcC0+Y29kZWNfaW8gKyAweDIwOwogCiAJaWYgKHJlcXVlc3RfaXJxKHBjaS0+aXJxLCBzbmRfYXpmMzMyOF9pbnRlcnJ1cHQsCiAJCQlJUlFGX1NIQVJFRCwgY2FyZC0+c2hvcnRuYW1lLCBjaGlwKSkgewpAQCAtMTc0NywyOSArMjE1NiwyOSBAQAogCXN5bmNocm9uaXplX2lycShjaGlwLT5pcnEpOwogCiAJc25kX2F6ZjMzMjhfZGVidWdfc2hvd19wb3J0cyhjaGlwKTsKLQkKLQlpZiAoKGVyciA9IHNuZF9kZXZpY2VfbmV3KGNhcmQsIFNORFJWX0RFVl9MT1dMRVZFTCwgY2hpcCwgJm9wcykpIDwgMCkgeworCisJZXJyID0gc25kX2RldmljZV9uZXcoY2FyZCwgU05EUlZfREVWX0xPV0xFVkVMLCBjaGlwLCAmb3BzKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAogCS8qIGNyZWF0ZSBtaXhlciBpbnRlcmZhY2UgJiBzd2l0Y2hlcyAqLwotCWlmICgoZXJyID0gc25kX2F6ZjMzMjhfbWl4ZXJfbmV3KGNoaXApKSA8IDApCisJZXJyID0gc25kX2F6ZjMzMjhfbWl4ZXJfbmV3KGNoaXApOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7CiAKLSNpZiAwCi0JLyogc2V0IHZlcnkgbG93IGJpdHJhdGUgdG8gcmVkdWNlIG5vaXNlIGFuZCBwb3dlciBjb25zdW1wdGlvbj8gKi8KLQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsIDU1MTIsIDgsIDEpOwotI2VuZGlmCisJLyogc2h1dGRvd24gY29kZWNzIHRvIHNhdmUgcG93ZXIgKi8KKwkJLyogaGF2ZSBzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eSgpIGFjdCBwcm9wZXJseSAqLworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnJ1bm5pbmcgPSAxOworCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9QTEFZQkFDSywgMCk7CiAKIAkvKiBzdGFuZGFyZCBjaGlwIGluaXQgc3R1ZmYgKi8KLQkvKiBkZWZhdWx0IElSUSBpbml0IHZhbHVlICovCisJCS8qIGRlZmF1bHQgSVJRIGluaXQgdmFsdWUgKi8KIAl0bXAgPSBETUFfUExBWV9TT01FVEhJTkcyfERNQV9FUElMT0dVRV9TT01FVEhJTkd8RE1BX1NPTUVUSElOR19FTFNFOwogCiAJc3Bpbl9sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOwogCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsIHRtcCk7CiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLCB0bXApOwogCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1NPTUVUSElOR19GTEFHUywgdG1wKTsKLQlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSArIDMsIDB4MDApOyAvKiBkaXNhYmxlIHRpbWVyICovCiAJc3Bpbl91bmxvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CiAKIAlzbmRfY2FyZF9zZXRfZGV2KGNhcmQsICZwY2ktPmRldik7CkBAIC0xODA1LDUyICsyMjE0LDYxIEBACiAJCXJldHVybiAtRU5PRU5UOwogCX0KIAotCWNhcmQgPSBzbmRfY2FyZF9uZXcoaW5kZXhbZGV2XSwgaWRbZGV2XSwgVEhJU19NT0RVTEUsIDAgKTsKKwljYXJkID0gc25kX2NhcmRfbmV3KGluZGV4W2Rldl0sIGlkW2Rldl0sIFRISVNfTU9EVUxFLCAwKTsKIAlpZiAoY2FyZCA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAogCXN0cmNweShjYXJkLT5kcml2ZXIsICJBWkYzMzI4Iik7CiAJc3RyY3B5KGNhcmQtPnNob3J0bmFtZSwgIkF6dGVjaCBBWkYzMzI4IChQQ0kxNjgpIik7CiAKLSAgICAgICAgaWYgKChlcnIgPSBzbmRfYXpmMzMyOF9jcmVhdGUoY2FyZCwgcGNpLCBwY2lfaWQtPmRyaXZlcl9kYXRhLCAmY2hpcCkpIDwgMCkgeworCWVyciA9IHNuZF9hemYzMzI4X2NyZWF0ZShjYXJkLCBwY2ksIHBjaV9pZC0+ZHJpdmVyX2RhdGEsICZjaGlwKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAogCWNhcmQtPnByaXZhdGVfZGF0YSA9IGNoaXA7CiAKLQlpZiAoKGVyciA9IHNuZF9tcHU0MDFfdWFydF9uZXcoIGNhcmQsIDAsIE1QVTQwMV9IV19NUFU0MDEsCi0JCQkJICAgICAgICBjaGlwLT5tcHVfcG9ydCwgTVBVNDAxX0lORk9fSU5URUdSQVRFRCwKLQkJCQkJcGNpLT5pcnEsIDAsICZjaGlwLT5ybWlkaSkpIDwgMCkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJhemYzMzI4OiBubyBNUFUtNDAxIGRldmljZSBhdCAweCVseD9cbiIsIGNoaXAtPm1wdV9wb3J0KTsKKwllcnIgPSBzbmRfbXB1NDAxX3VhcnRfbmV3KAorCQljYXJkLCAwLCBNUFU0MDFfSFdfTVBVNDAxLCBjaGlwLT5tcHVfaW8sIE1QVTQwMV9JTkZPX0lOVEVHUkFURUQsCisJCXBjaS0+aXJxLCAwLCAmY2hpcC0+cm1pZGkKKwkpOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9wcmludGsoS0VSTl9FUlIgImF6ZjMzMjg6IG5vIE1QVS00MDEgZGV2aWNlIGF0IDB4JWx4P1xuIiwKKwkJCQljaGlwLT5tcHVfaW8KKwkJKTsKIAkJZ290byBvdXRfZXJyOwogCX0KIAotCWlmICgoZXJyID0gc25kX2F6ZjMzMjhfdGltZXIoY2hpcCwgMCkpIDwgMCkgeworCWVyciA9IHNuZF9hemYzMzI4X3RpbWVyKGNoaXAsIDApOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCi0JaWYgKChlcnIgPSBzbmRfYXpmMzMyOF9wY20oY2hpcCwgMCkpIDwgMCkgeworCWVyciA9IHNuZF9hemYzMzI4X3BjbShjaGlwLCAwKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAotCWlmIChzbmRfb3BsM19jcmVhdGUoY2FyZCwgY2hpcC0+c3ludGhfcG9ydCwgY2hpcC0+c3ludGhfcG9ydCsyLAorCWlmIChzbmRfb3BsM19jcmVhdGUoY2FyZCwgY2hpcC0+b3BsM19pbywgY2hpcC0+b3BsM19pbysyLAogCQkJICAgIE9QTDNfSFdfQVVUTywgMSwgJm9wbDMpIDwgMCkgewogCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJhemYzMzI4OiBubyBPUEwzIGRldmljZSBhdCAweCVseC0weCVseD9cbiIsCi0JCQkgICBjaGlwLT5zeW50aF9wb3J0LCBjaGlwLT5zeW50aF9wb3J0KzIgKTsKKwkJCSAgIGNoaXAtPm9wbDNfaW8sIGNoaXAtPm9wbDNfaW8rMgorCQkpOwogCX0gZWxzZSB7Ci0JCWlmICgoZXJyID0gc25kX29wbDNfaHdkZXBfbmV3KG9wbDMsIDAsIDEsIE5VTEwpKSA8IDApIHsKKwkJLyogbmVlZCB0byB1c2UgSURzIDEsIDIgc2luY2UgSUQgMCBpcyBzbmRfYXpmMzMyOF90aW1lciBhYm92ZSAqLworCQllcnIgPSBzbmRfb3BsM190aW1lcl9uZXcob3BsMywgMSwgMik7CisJCWlmIChlcnIgPCAwKQogCQkJZ290byBvdXRfZXJyOwotCQl9CisJCWVyciA9IHNuZF9vcGwzX2h3ZGVwX25ldyhvcGwzLCAwLCAxLCBOVUxMKTsKKwkJaWYgKGVyciA8IDApCisJCQlnb3RvIG91dF9lcnI7CiAJfQogCiAJb3BsMy0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKIAogCXNwcmludGYoY2FyZC0+bG9uZ25hbWUsICIlcyBhdCAweCVseCwgaXJxICVpIiwKLQkJY2FyZC0+c2hvcnRuYW1lLCBjaGlwLT5jb2RlY19wb3J0LCBjaGlwLT5pcnEpOworCQljYXJkLT5zaG9ydG5hbWUsIGNoaXAtPmNvZGVjX2lvLCBjaGlwLT5pcnEpOwogCi0JaWYgKChlcnIgPSBzbmRfY2FyZF9yZWdpc3RlcihjYXJkKSkgPCAwKSB7CisJZXJyID0gc25kX2NhcmRfcmVnaXN0ZXIoY2FyZCk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKICNpZmRlZiBNT0RVTEUKIAlwcmludGsoCkBAIC0xODYxLDE5ICsyMjc5LDE4IEBACiAJMTAyNDAwMCAvIHNlcXRpbWVyX3NjYWxpbmcsIHNlcXRpbWVyX3NjYWxpbmcpOwogI2VuZGlmCiAKLQlpZiAoc25kX2F6ZjMzMjhfY29uZmlnX2pveXN0aWNrKGNoaXAsIGRldikgPCAwKQotCQlzbmRfYXpmMzMyOF9pbzJfb3V0YihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSLAotCQkJICAgICAgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSKSAmIH5MRUdBQ1lfSk9ZKTsKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydChjaGlwLCBkZXYpOwogCiAJcGNpX3NldF9kcnZkYXRhKHBjaSwgY2FyZCk7CiAJZGV2Kys7CiAKIAllcnIgPSAwOwogCWdvdG8gb3V0OwotCQorCiBvdXRfZXJyOgorCXNuZF9wcmludGsoS0VSTl9FUlIgImF6ZjMzMjg6IHNvbWV0aGluZyBmYWlsZWQsIGV4aXRpbmdcbiIpOwogCXNuZF9jYXJkX2ZyZWUoY2FyZCk7Ci0JCisKIG91dDoKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gZXJyOwpAQCAtMTg5NCwyNyArMjMxMSwzMSBAQAogewogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHBjaV9nZXRfZHJ2ZGF0YShwY2kpOwogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKLQlpbnQgcmVnOworCXVuc2lnbmVkIHJlZzsKIAogCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKLQkKKwogCXNuZF9wY21fc3VzcGVuZF9hbGwoY2hpcC0+cGNtKTsKIAotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19taXhlcltyZWddID0gaW53KGNoaXAtPm1peGVyX3BvcnQgKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01JWEVSX1BNIC8gMjsgKytyZWcpCisJCWNoaXAtPnNhdmVkX3JlZ3NfbWl4ZXJbcmVnXSA9IGludyhjaGlwLT5taXhlcl9pbyArIHJlZyAqIDIpOwogCiAJLyogbWFrZSBzdXJlIHRvIGRpc2FibGUgbWFzdGVyIHZvbHVtZSBldGMuIHRvIHByZXZlbnQgbG9vcGluZyBzb3VuZCAqLwogCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMSk7CiAJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDEpOwotCQotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tyZWddID0gaW53KGNoaXAtPmNvZGVjX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0lPMl9QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX2lvMltyZWddID0gaW53KGNoaXAtPmlvMl9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NUFVfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19tcHVbcmVnXSA9IGludyhjaGlwLT5tcHVfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfU1lOVEhfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19zeW50aFtyZWddID0gaW53KGNoaXAtPnN5bnRoX3BvcnQgKyByZWcgKiAyKTsKKworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tyZWddID0gaW53KGNoaXAtPmNvZGVjX2lvICsgcmVnICogMik7CisKKwkvKiBtYW51YWxseSBzdG9yZSB0aGUgb25lIGN1cnJlbnRseSByZWxldmFudCB3cml0ZS1vbmx5IHJlZywgdG9vICovCisJY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tJRFhfSU9fNkFIIC8gMl0gPSBjaGlwLT5zaGFkb3dfcmVnX2NvZGVjXzZBSDsKKworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfR0FNRV9QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX2dhbWVbcmVnXSA9IGludyhjaGlwLT5nYW1lX2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NUFVfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19tcHVbcmVnXSA9IGludyhjaGlwLT5tcHVfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX09QTDNfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19vcGwzW3JlZ10gPSBpbncoY2hpcC0+b3BsM19pbyArIHJlZyAqIDIpOwogCiAJcGNpX2Rpc2FibGVfZGV2aWNlKHBjaSk7CiAJcGNpX3NhdmVfc3RhdGUocGNpKTsKQEAgLTE5MjcsNyArMjM0OCw3IEBACiB7CiAJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGNpX2dldF9kcnZkYXRhKHBjaSk7CiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOwotCWludCByZWc7CisJdW5zaWduZWQgcmVnOwogCiAJcGNpX3NldF9wb3dlcl9zdGF0ZShwY2ksIFBDSV9EMCk7CiAJcGNpX3Jlc3RvcmVfc3RhdGUocGNpKTsKQEAgLTE5MzksMjMgKzIzNjAsMjEgQEAKIAl9CiAJcGNpX3NldF9tYXN0ZXIocGNpKTsKIAotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfSU8yX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19pbzJbcmVnXSwgY2hpcC0+aW8yX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01QVV9QTSAvIDI7IHJlZysrKQotCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfbXB1W3JlZ10sIGNoaXAtPm1wdV9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9TWU5USF9QTSAvIDI7IHJlZysrKQotCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3Nfc3ludGhbcmVnXSwgY2hpcC0+c3ludGhfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyOyByZWcrKykKLQkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX21peGVyW3JlZ10sIGNoaXAtPm1peGVyX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0NPREVDX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tyZWddLCBjaGlwLT5jb2RlY19wb3J0ICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9HQU1FX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19nYW1lW3JlZ10sIGNoaXAtPmdhbWVfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01QVV9QTSAvIDI7ICsrcmVnKQorCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfbXB1W3JlZ10sIGNoaXAtPm1wdV9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfT1BMM19QTSAvIDI7ICsrcmVnKQorCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3Nfb3BsM1tyZWddLCBjaGlwLT5vcGwzX2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDI7ICsrcmVnKQorCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfbWl4ZXJbcmVnXSwgY2hpcC0+bWl4ZXJfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0NPREVDX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tyZWddLCBjaGlwLT5jb2RlY19pbyArIHJlZyAqIDIpOwogCiAJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDApOwogCXJldHVybiAwOwogfQotI2VuZGlmCi0KLQorI2VuZGlmIC8qIENPTkZJR19QTSAqLwogCiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBkcml2ZXIgPSB7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYXp0MzMyOC5oIGIvc291bmQvcGNpL2F6dDMzMjguaAppbmRleCA2NzlmYTk5Li43ZTNlODk0IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYXp0MzMyOC5oCisrKyBiL3NvdW5kL3BjaS9henQzMzI4LmgKQEAgLTEsNyArMSw4IEBACiAjaWZuZGVmIF9fU09VTkRfQVpUMzMyOF9ICiAjZGVmaW5lIF9fU09VTkRfQVpUMzMyOF9ICiAKLS8qICJQVSIgPT0gInBvd2VyLXVwIHZhbHVlIiwgYXMgdGVzdGVkIG9uIFBDSTE2OCBQQ0kgcmV2LiAxMCAqLworLyogIlBVIiA9PSAicG93ZXItdXAgdmFsdWUiLCBhcyB0ZXN0ZWQgb24gUENJMTY4IFBDSSByZXYuIDEwCisgKiAiV1JJVEVfT05MWSIgID09IHJlZ2lzdGVyIGRvZXMgbm90IGluZGljYXRlIGFjdHVhbCBiaXQgdmFsdWVzICovCiAKIC8qKiogbWFpbiBJL08gYXJlYSBwb3J0IGluZGljZXMgKioqLwogLyogKG9ubHkgMHg3MCBvZiAweDgwIGJ5dGVzIHNhdmVkL3Jlc3RvcmVkIGJ5IFdpbmRvd3MgZHJpdmVyKSAqLwpAQCAtNTQsNyArNTUsMTAgQEAKICAgI2RlZmluZSBTT1VOREZPUk1BVF9YVEFMMQkJMHgwMAogICAjZGVmaW5lIFNPVU5ERk9STUFUX1hUQUwyCQkweDAxCiAgICAgLyogYWxsIF9TVVNQRUNURURfIHZhbHVlcyBhcmUgbm90IHVzZWQgYnkgV2luZG93cyBkcml2ZXJzLCBzbyB3ZSBkb24ndAotICAgICAqIGhhdmUgYW55IGhhcmQgZmFjdHMsIG9ubHkgcm91Z2ggbWVhc3VyZW1lbnRzICovCisgICAgICogaGF2ZSBhbnkgaGFyZCBmYWN0cywgb25seSByb3VnaCBtZWFzdXJlbWVudHMuCisgICAgICogQWxsIHdlIGtub3cgaXMgdGhhdCB0aGUgY3J5c3RhbCB1c2VkIG9uIHRoZSBib2FyZCBoYXMgMjQuNTc2TUh6LAorICAgICAqIGxpa2UgbWFueSBzb3VuZGNhcmRzICh3aGljaCByZXN1bHRzIGluIHRoZSBmcmVxdWVuY2llcyBiZWxvdyB3aGVuCisgICAgICogdXNpbmcgY2VydGFpbiBkaXZpZGVyIHZhbHVlcyBzZWxlY3RlZCBieSB0aGUgdmFsdWVzIGJlbG93KSAqLwogICAgICNkZWZpbmUgU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDAwMAkweDBjIHwgU09VTkRGT1JNQVRfWFRBTDEKICAgICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQ4MDAJMHgwYSB8IFNPVU5ERk9STUFUX1hUQUwxCiAgICAgI2RlZmluZSBTT1VOREZPUk1BVF9GUkVRXzU1MTAJCTB4MGMgfCBTT1VOREZPUk1BVF9YVEFMMgpAQCAtNzIsNiArNzYsMjYgQEAKICAgI2RlZmluZSBTT1VOREZPUk1BVF9GTEFHXzE2QklUCTB4MDAxMAogICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZMQUdfMkNIQU5ORUxTCTB4MDAyMAogCisvKiBkZWZpbmUgZnJlcXVlbmN5IGhlbHBlcnMsIGZvciBtYXhpbXVtIHZhbHVlIHNhZmV0eSAqLworZW51bSBhemZfZnJlcV90IHsKKyNkZWZpbmUgQVpGX0ZSRVEocmF0ZSkgQVpGX0ZSRVFfIyNyYXRlID0gcmF0ZQorICBBWkZfRlJFUSg0MDAwKSwKKyAgQVpGX0ZSRVEoNDgwMCksCisgIEFaRl9GUkVRKDU1MTIpLAorICBBWkZfRlJFUSg2NjIwKSwKKyAgQVpGX0ZSRVEoODAwMCksCisgIEFaRl9GUkVRKDk2MDApLAorICBBWkZfRlJFUSgxMTAyNSksCisgIEFaRl9GUkVRKDEzMjQwKSwKKyAgQVpGX0ZSRVEoMTYwMDApLAorICBBWkZfRlJFUSgyMjA1MCksCisgIEFaRl9GUkVRKDMyMDAwKSwKKyAgQVpGX0ZSRVEoNDQxMDApLAorICBBWkZfRlJFUSg0ODAwMCksCisgIEFaRl9GUkVRKDY2MjAwKSwKKyN1bmRlZiBBWkZfRlJFUQorfSBBWkZfRlJFUVVFTkNJRVM7CisKIC8qKiByZWNvcmRpbmcgYXJlYSAoc2VlIGFsc286IHBsYXliYWNrIGJpdCBmbGFnIGRlZmluaXRpb25zKSAqKi8KICNkZWZpbmUgSURYX0lPX1JFQ19GTEFHUwkweDIwIC8qID8/LCBQVToweDAwMDAgKi8KICNkZWZpbmUgSURYX0lPX1JFQ19JUlFUWVBFCTB4MjIgLyogPz8sIFBVOjB4MDAwMCAqLwpAQCAtOTcsNDAgKzEyMSwxNzEgQEAKIAogLyoqIERpcmVjdFggdGltZXIsIG1haW4gaW50ZXJydXB0IGFyZWEgKEZJWE1FOiBhbmQgc29tZXRoaW5nIGVsc2U/KSAqKi8gCiAjZGVmaW5lIElEWF9JT19USU1FUl9WQUxVRQkweDYwIC8qIGZvdW5kIHRoaXMgdGltZXIgYXJlYSBieSBwdXJlIGx1Y2sgOi0pICovCi0gICNkZWZpbmUgVElNRVJfVkFMVUVfTUFTSwkJMHgwMDBmZmZmZlVMIC8qIHRpbWVyIGNvdW50ZG93biB2YWx1ZTsgdHJpZ2dlcnMgSVJRIHdoZW4gdGltZXIgaXMgZmluaXNoZWQgKi8KLSAgI2RlZmluZSBUSU1FUl9FTkFCTEVfQ09VTlRET1dOCTB4MDEwMDAwMDBVTCAvKiBhY3RpdmF0ZSB0aGUgdGltZXIgY291bnRkb3duICovCi0gICNkZWZpbmUgVElNRVJfRU5BQkxFX0lSUQkJMHgwMjAwMDAwMFVMIC8qIHRyaWdnZXIgdGltZXIgSVJRIG9uIHplcm8gdHJhbnNpdGlvbiAqLwotICAjZGVmaW5lIFRJTUVSX0FDS19JUlEJCQkweDA0MDAwMDAwVUwgLyogYmVpbmcgc2V0IGluIElSUSBoYW5kbGVyIGluIGNhc2UgcG9ydCAweDAwIChobW0sIG5vdCBwb3J0IDB4NjQhPyE/KSBoYWQgMHgwMDIwIHNldCB1cG9uIElSUSBoYW5kbGVyICovCisgIC8qIHRpbWVyIGNvdW50ZG93biB2YWx1ZTsgdHJpZ2dlcnMgSVJRIHdoZW4gdGltZXIgaXMgZmluaXNoZWQgKi8KKyAgI2RlZmluZSBUSU1FUl9WQUxVRV9NQVNLCQkweDAwMGZmZmZmVUwKKyAgLyogYWN0aXZhdGUgdGltZXIgY291bnRkb3duICovCisgICNkZWZpbmUgVElNRVJfQ09VTlRET1dOX0VOQUJMRQkweDAxMDAwMDAwVUwKKyAgLyogdHJpZ2dlciB0aW1lciBJUlEgb24gemVybyB0cmFuc2l0aW9uICovCisgICNkZWZpbmUgVElNRVJfSVJRX0VOQUJMRQkJMHgwMjAwMDAwMFVMCisgIC8qIGJlaW5nIHNldCBpbiBJUlEgaGFuZGxlciBpbiBjYXNlIHBvcnQgMHgwMCAoaG1tLCBub3QgcG9ydCAweDY0IT8hPykKKyAgICogaGFkIDB4MDAyMCBzZXQgdXBvbiBJUlEgaGFuZGxlciAqLworICAjZGVmaW5lIFRJTUVSX0lSUV9BQ0sJCQkweDA0MDAwMDAwVUwKICNkZWZpbmUgSURYX0lPX0lSUVNUQVRVUyAgICAgICAgMHg2NAotICAjZGVmaW5lIElSUV9QTEFZQkFDSwkJCTB4MDAwMQotICAjZGVmaW5lIElSUV9SRUNPUkRJTkcJCQkweDAwMDIKLSAgI2RlZmluZSBJUlFfTVBVNDAxCQkJMHgwMDEwCi0gICNkZWZpbmUgSVJRX1RJTUVSCQkJMHgwMDIwIC8qIERpcmVjdFggdGltZXIgKi8KLSAgI2RlZmluZSBJUlFfVU5LTk9XTjEJCQkweDAwNDAgLyogcHJvYmFibHkgdW51c2VkLCBvciBwb3NzaWJseSBJMlMgcG9ydD8gb3IgZ2FtZXBvcnQgSVJRPyAqLwotICAjZGVmaW5lIElSUV9VTktOT1dOMgkJCTB4MDA4MCAvKiBwcm9iYWJseSB1bnVzZWQsIG9yIHBvc3NpYmx5IEkyUyBwb3J0PyBvciBnYW1lcG9ydCBJUlE/ICovCisgIC8qIHNvbWUgSVJRIGJpdCBpbiBoZXJlIG1pZ2h0IGFsc28gYmUgdXNlZCB0byBzaWduYWwgYSBwb3dlci1tYW5hZ2VtZW50IHRpbWVyCisgICAqIHRpbWVvdXQsIHRvIHJlcXVlc3Qgc2h1dGRvd24gb2YgdGhlIGNoaXAgKGUuZy4gQUQxODE1SlMgaGFzIHN1Y2ggYSB0aGluZykuCisgICAqIFNvbWUgT1BMMyBoYXJkd2FyZSAoZS5nLiBpbiBMTTQ1NjApIGhhcyBzb21lIHNwZWNpYWwgdGltZXIgaGFyZHdhcmUgd2hpY2gKKyAgICogY2FuIHRyaWdnZXIgYW4gT1BMMyB0aW1lciBJUlEsIHNvIG1heWJlIHRoZXJlJ3Mgc3VjaCBhIHRoaW5nIGFzIHdlbGwuLi4gKi8KKworICAjZGVmaW5lIElSUV9QTEFZQkFDSwkweDAwMDEKKyAgI2RlZmluZSBJUlFfUkVDT1JESU5HCTB4MDAwMgorICAjZGVmaW5lIElSUV9VTktOT1dOMQkweDAwMDQgLyogbW9zdCBwcm9iYWJseSBJMlMgcG9ydCAqLworICAjZGVmaW5lIElSUV9HQU1FUE9SVAkweDAwMDggLyogSW50ZXJydXB0IG9mIERpZ2l0YWwobHkpIEVuaGFuY2VkIEdhbWUgUG9ydCAqLworICAjZGVmaW5lIElSUV9NUFU0MDEJMHgwMDEwCisgICNkZWZpbmUgSVJRX1RJTUVSCTB4MDAyMCAvKiBEaXJlY3RYIHRpbWVyICovCisgICNkZWZpbmUgSVJRX1VOS05PV04yCTB4MDA0MCAvKiBwcm9iYWJseSB1bnVzZWQsIG9yIHBvc3NpYmx5IEkyUyBwb3J0PyAqLworICAjZGVmaW5lIElSUV9VTktOT1dOMwkweDAwODAgLyogcHJvYmFibHkgdW51c2VkLCBvciBwb3NzaWJseSBJMlMgcG9ydD8gKi8KICNkZWZpbmUgSURYX0lPXzY2SAkJMHg2NiAgICAvKiB3cml0aW5nIDB4ZmZmZiByZXR1cm5zIDB4MDAwMCAqLwotI2RlZmluZSBJRFhfSU9fU09NRV9WQUxVRQkweDY4CS8qIHRoaXMgaXMgc2V0IHRvIGUuZy4gMHgzZmYgb3IgMHgzMDAsIGFuZCB3cml0YWJsZTsgbWF5YmUgc29tZSBidWZmZXIgbGltaXQsIGJ1dCBJIGNvdWxkbid0IGZpbmQgb3V0IG1vcmUsIFBVOjB4MDBmZiAqLwotI2RlZmluZSBJRFhfSU9fNkFICQkweDZBCS8qIHRoaXMgV09SRCBjYW4gYmUgc2V0IHRvIGhhdmUgYml0cyAweDAwMjggYWN0aXZhdGVkIChGSVhNRTogY29ycmVjdD8/KTsgYWN0dWFsbHkgaW5oaWJpdHMgUENNIHBsYXliYWNrISEhIG1heWJlIHBvd2VyIG1hbmFnZW1lbnQ/PyAqLwotICAjZGVmaW5lIElPXzZBX1BBVVNFX1BMQVlCQUNLCQkweDAyMDAgLyogYml0IDk7IHN1cmUsIHRoaXMgcGF1c2VzIHBsYXliYWNrLCBidXQgd2hhdCB0aGUgaGVjayBpcyB0aGlzIHJlYWxseSBhYm91dD8/ICovCi0jZGVmaW5lIElEWF9JT182Q0gJCTB4NkMKLSNkZWZpbmUgSURYX0lPXzZFSAkJMHg2RQkvKiB3cml0aW5nIDB4ZmZmZiByZXR1cm5zIDB4ODNmZSAqLwotLyogZnVydGhlciBJL08gaW5kaWNlcyBub3Qgc2F2ZWQvcmVzdG9yZWQsIHNvIHByb2JhYmx5IG5vdCB1c2VkICovCisgIC8qIHRoaXMgaXMgc2V0IHRvIGUuZy4gMHgzZmYgb3IgMHgzMDAsIGFuZCB3cml0YWJsZTsKKyAgICogbWF5YmUgc29tZSBidWZmZXIgbGltaXQsIGJ1dCBJIGNvdWxkbid0IGZpbmQgb3V0IG1vcmUsIFBVOjB4MDBmZjogKi8KKyNkZWZpbmUgSURYX0lPX1NPTUVfVkFMVUUJMHg2OAorICAjZGVmaW5lIElPXzY4X1JBTkRPTV9UT0dHTEUxCTB4MDEwMAkvKiB0b2dnbGVzIHJhbmRvbWx5ICovCisgICNkZWZpbmUgSU9fNjhfUkFORE9NX1RPR0dMRTIJMHgwMjAwCS8qIHRvZ2dsZXMgcmFuZG9tbHkgKi8KKyAgLyogdW1tLCBub3BlLCBiZWhhdmlvdXIgb2YgdGhlc2UgYml0cyBjaGFuZ2VzIGRlcGVuZGluZyBvbiB3aGF0IHdlIHdyb3RlCisgICAqIHRvIDB4NmIhIQorICAgKiBBbmQgdGhleSBjaGFuZ2UgdXBvbiBwbGF5YmFjay9zdG9wLCB0b286CisgICAqIFdyaXRpbmcgYSB2YWx1ZSB0byAweDY4IHdpbGwgZGlzcGxheSB0aGlzIGV4YWN0IHZhbHVlIGR1cmluZyBwbGF5YmFjaywKKyAgICogdG9vIGJ1dCB3aGVuIHN0b3BwZWQgaXQgY2FuIGZhbGwgYmFjayB0byBhIHJhdGhlciBkaWZmZXJlbnQKKyAgICogc2VlbWluZ2x5IHJhbmRvbSB2YWx1ZSkuIEhtbSwgcG9zc2libHkgdGhpcyBpcyBhIHJlZ2lzdGVyIHdoaWNoCisgICAqIGhhcyBhIHJlbW90ZSBzaGFkb3cgd2hpY2ggbmVlZHMgcHJvcGVyIGRldmljZSBzdXBwbHkgd2hpY2ggb25seSBleGlzdHMKKyAgICogaW4gY2FzZSBwbGF5YmFjayBpcyBhY3RpdmU/IE9yIGlzIHRoaXMgZHJpdmVyLWluZHVjZWQ/CisgICAqLworCisvKiB0aGlzIFdPUkQgY2FuIGJlIHNldCB0byBoYXZlIGJpdHMgMHgwMDI4IGFjdGl2YXRlZCAoRklYTUU6IGNvcnJlY3Q/Pyk7CisgKiBhY3R1YWxseSBpbmhpYml0cyBQQ00gcGxheWJhY2shISEgbWF5YmUgcG93ZXIgbWFuYWdlbWVudD8/OiAqLworI2RlZmluZSBJRFhfSU9fNkFICQkweDZBIC8qIFdSSVRFX09OTFkhICovCisgIC8qIGJpdCA1OiBlbmFibGluZyB0aGlzIHdpbGwgYWN0aXZhdGUgcGVybWFuZW50IGNvdW50aW5nIG9mIGJ5dGVzIDIvMworICAgKiBhdCBnYW1lcG9ydCBJL08gKDB4YjQwMi8zKSAoZXF1YWwgdmFsdWVzIGVhY2gpIGFuZCBjYXVzZQorICAgKiBnYW1lcG9ydCBsZWdhY3kgSS9PIGF0IDB4MDIwMCB0byBiZSBfRElTQUJMRURfIQorICAgKiBJcyB0aGlzIERpZ2l0YWwgRW5oYW5jZWQgR2FtZSBQb3J0IEVuYWJsZT8/PyBPciBtYXliZSBpdCdzIFRlc3Rtb2RlCisgICAqIGZvciBFbmhhbmNlZCBEaWdpdGFsIEdhbWVwb3J0IChzZWUgNEQgV2F2ZSBEWCBjYXJkKTogKi8KKyAgI2RlZmluZSBJT182QV9TT01FVEhJTkcxX0dBTUVQT1JUCTB4MDAyMAorICAvKiBiaXQgODsgc3VyZSwgdGhpcyBfcGF1c2VzXyBwbGF5YmFjayAobGF0ZXIgcmVzdW1lcyBhdCBzYW1lIHNwb3QhKSwKKyAgICogYnV0IHdoYXQgdGhlIGhlY2sgaXMgdGhpcyByZWFsbHkgYWJvdXQ/PzogKi8KKyAgI2RlZmluZSBJT182QV9QQVVTRV9QTEFZQkFDS19CSVQ4CTB4MDEwMAorICAvKiBiaXQgOTsgc3VyZSwgdGhpcyBfcGF1c2VzXyBwbGF5YmFjayAobGF0ZXIgcmVzdW1lcyBhdCBzYW1lIHNwb3QhKSwKKyAgICogYnV0IHdoYXQgdGhlIGhlY2sgaXMgdGhpcyByZWFsbHkgYWJvdXQ/PzogKi8KKyAgI2RlZmluZSBJT182QV9QQVVTRV9QTEFZQkFDS19CSVQ5CTB4MDIwMAorCS8qIEJJVDggYW5kIEJJVDkgYXJlIF9OT1RfIGFibGUgdG8gYWZmZWN0IE9QTDMgTUlESSBwbGF5YmFjaywKKwkgKiB0aHVzIGl0IHN1Z2dlc3RzIGluZmx1ZW5jZSBvbiBQQ00gb25seSEhCisJICogSG93ZXZlciBPVE9IIHRoZXJlIHNlZW1zIHRvIGJlIG5vIGJpdCBhbnl3aGVyZSBhcm91bmQgaGVyZQorCSAqIHdoaWNoIGlzIGFibGUgdG8gZGlzYWJsZSBPUEwzLi4uICovCisgIC8qIGJpdCAxMDogZW5hYmxpbmcgdGhpcyBhY3R1YWxseSBjaGFuZ2VzIHZhbHVlcyBhdCBsZWdhY3kgZ2FtZXBvcnQKKyAgICogSS9PIGFkZHJlc3MgKDB4MjAwKTsgaXMgdGhpcyBlbmFibGluZyBvZiB0aGUgRGlnaXRhbCBFbmhhbmNlZCBHYW1lIFBvcnQ/Pz8KKyAgICogT3IgbWF5YmUgdGhpcyBzaW1wbHkgc3dpdGNoZXMgb2ZmIHRoZSBORTU1OCBjaXJjdWl0LCBzaW5jZSBlbmFibGluZyB0aGlzCisgICAqIHN0aWxsIGxldHMgdXMgZXZhbHVhdGUgYnV0dG9uIHN0YXRlcywgYnV0IG5vdCBheGlzIHN0YXRlcyAqLworICAjZGVmaW5lIElPXzZBX1NPTUVUSElORzJfR0FNRVBPUlQgICAgICAweDA0MDAKKwkvKiB3cml0aW5nIDB4MDMwMDogY2F1c2VzIHF1aXRlIHNvbWUgY3JhY2tsaW5nIGR1cmluZworCSAqIFBDIGFjdGl2aXR5IHN1Y2ggYXMgc3dpdGNoaW5nIHdpbmRvd3MgKFBDSSB0cmFmZmljPz8KKwkgKiAtLT4gRklGTy90aW1pbmcgc2V0dGluZ3M/Pz8pICovCisJLyogd3JpdGluZyAweDAxMDAgcGx1cy9vciAweDAyMDAgaW5oaWJpdHMgcGxheWJhY2sgKi8KKwkvKiBzaW5jZSB0aGUgV2luZG93cyAuSU5GIGZpbGUgaGFzIEZsYWdfRW5hYmxlX0pveVN0aWNrIGFuZAorCSAqIEZsYWdfRW5hYmxlX1NCX0RPU19FbXVsYXRpb24gZGlyZWN0bHkgdG9nZXRoZXIsIGl0IHN0YW5kcyB0byByZWFzb24KKwkgKiB0aGF0IHNvbWUgb3RoZXIgYml0IGluIHRoaXMgc2FtZSByZWdpc3RlciBtaWdodCBiZSByZXNwb25zaWJsZQorCSAqIGZvciBTQiBET1MgRW11bGF0aW9uIGFjdGl2YXRpb24gKG5vdGUgdGhhdCB0aGUgZmlsZSBkaWQgTk9UIGRlZmluZQorCSAqIGEgc3dpdGNoIGZvciBPUEwzISkgKi8KKyNkZWZpbmUgSURYX0lPXzZDSAkJMHg2QwkvKiB1bmtub3duOyBmdWxseSByZWFkLXdyaXRhYmxlICovCisjZGVmaW5lIElEWF9JT182RUgJCTB4NkUKKwkvKiB3cml0aW5nIDB4ZmZmZiByZXR1cm5zIDB4ODNmZSAob3IgMHgwM2ZlIG9ubHkpLgorCSAqIHdyaXRpbmcgMHg4MyAoYW5kIG9ubHkgMHg4MyEhKSB0byAweDZmIHdpbGwgY2F1c2UgMHg2YyB0byBzd2l0Y2gKKwkgKiBmcm9tIDAwMDAgdG8gZmZmZi4gKi8KKworLyogZnVydGhlciBJL08gaW5kaWNlcyBub3Qgc2F2ZWQvcmVzdG9yZWQgYW5kIG5vdCByZWFkYWJsZSBhZnRlciB3cml0aW5nLAorICogc28gcHJvYmFibHkgbm90IHVzZWQgKi8KIAogCi0vKioqIEkvTyAyIGFyZWEgcG9ydCBpbmRpY2VzICoqKi8KKy8qKiogR2FtZXBvcnQgYXJlYSBwb3J0IGluZGljZXMgKioqLwogLyogKG9ubHkgMHgwNiBvZiAweDA4IGJ5dGVzIHNhdmVkL3Jlc3RvcmVkIGJ5IFdpbmRvd3MgZHJpdmVyKSAqLyAKLSNkZWZpbmUgQVpGX0lPX1NJWkVfSU8yCQkweDA4Ci0jZGVmaW5lIEFaRl9JT19TSVpFX0lPMl9QTQkweDA2CisjZGVmaW5lIEFaRl9JT19TSVpFX0dBTUUJCTB4MDgKKyNkZWZpbmUgQVpGX0lPX1NJWkVfR0FNRV9QTQkweDA2CiAKLSNkZWZpbmUgSURYX0lPMl9MRUdBQ1lfQUREUgkweDA0Ci0gICNkZWZpbmUgTEVHQUNZX1NPTUVUSElORwkJMHgwMSAvKiBPUEwzPz8gKi8KLSAgI2RlZmluZSBMRUdBQ1lfSk9ZCQkJMHgwOAorZW51bSB7CisJQVpGX0dBTUVfTEVHQUNZX0lPX1BPUlQgPSAweDIwMAorfSBBWkZfR0FNRV9DT05GSUdTOwogCisjZGVmaW5lIElEWF9HQU1FX0xFR0FDWV9DT01QQVRJQkxFCTB4MDAKKwkvKiBpbiBzb21lIG9wZXJhdGlvbiBtb2RlLCB3cml0aW5nIGFueXRoaW5nIHRvIHRoaXMgcG9ydAorCSAqIHRyaWdnZXJzIGFuIGludGVycnVwdDoKKwkgKiB5dXAsIHRoYXQncyBpbiBjYXNlIElEWF9HQU1FXzAxSCBoYXMgb25lIG9mIHRoZQorCSAqIGF4aXMgbWVhc3VyZW1lbnQgYml0cyBlbmFibGVkCisJICogKGFuZCBvZiBjb3Vyc2Ugb25lIG5lZWRzIHRvIGhhdmUgR0FNRV9IV0NGR19JUlFfRU5BQkxFLCB0b28pICovCisKKyNkZWZpbmUgSURYX0dBTUVfQVhFU19DT05GSUcgICAgICAgICAgICAweDAxCisJLyogTk9URTogbGF5b3V0IG9mIHRoaXMgcmVnaXN0ZXIgYXdmdWxseSBzaW1pbGFyIChyZWFkOiAiaWRlbnRpY2FsPz8iKQorCSAqIHRvIEFEMTgxNUpTLnBkZiAocC4yOSkgKi8KKworICAvKiBlbmFibGVzIGF4aXMgMSAoWCBheGlzKSBtZWFzdXJlbWVudDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfRU5BQkxFXzEJCTB4MDEKKyAgLyogZW5hYmxlcyBheGlzIDIgKFkgYXhpcykgbWVhc3VyZW1lbnQ6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX0VOQUJMRV8yCQkweDAyCisgIC8qIGVuYWJsZXMgYXhpcyAzIChYIGF4aXMpIG1lYXN1cmVtZW50OiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19FTkFCTEVfMwkJMHgwNAorICAvKiBlbmFibGVzIGF4aXMgNCAoWSBheGlzKSBtZWFzdXJlbWVudDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfRU5BQkxFXzQJCTB4MDgKKyAgLyogc2VsZWN0cyB0aGUgY3VycmVudCBheGlzIHRvIHJlYWQgdGhlIG1lYXN1cmVkIHZhbHVlIG9mCisgICAqIChhdCBJRFhfR0FNRV9BWElTX1ZBTFVFKToKKyAgICogMDAgPSBheGlzIDEsIDAxID0gYXhpcyAyLCAxMCA9IGF4aXMgMywgMTEgPSBheGlzIDQ6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX1JFQURfTUFTSwkJMHgzMAorICAvKiBlbmFibGUgdG8gaGF2ZSB0aGUgbGF0Y2ggY29udGludW91c2x5IGFjY2VwdCBBREMgdmFsdWVzCisgICAqIChhbmQgY29udGludW91c2x5IGNhdXNlIGludGVycnVwdHMgaW4gY2FzZSBpbnRlcnJ1cHRzIGFyZSBlbmFibGVkKTsKKyAgICogQUQxODE1SlMucGRmIHNheXMgaXQncyB+MTZtcyBpbnRlcnZhbCB0aGVyZTogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfTEFUQ0hfRU5BQkxFCTB4NDAKKyAgLyogam95c3RpY2sgZGF0YSAobWVhc3VyZWQgYXhlcykgcmVhZHkgZm9yIHJlYWRpbmc6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX1NBTVBMSU5HX1JFQURZCTB4ODAKKworICAvKiBOT1RFOiBvdGhlciBjYXJkIHNwZWNzIChTaVM5NjAgYW5kIG90aGVycyEpIHN0YXRlIHRoYXQgdGhlCisgICAqIGdhbWUgcG9zaXRpb24gbGF0Y2hlcyBzaG91bGQgYmUgZnJvemVuIHdoZW4gcmVhZGluZyBhbmQgYmUgZnJlZWQKKyAgICogKD09IHJlc2V0PykgYWZ0ZXIgcmVhZGluZyEhIQorICAgKiBGcmVlemluZyBtb3N0IGxpa2VseSBtZWFucyBkaXNhYmxpbmcgMHg0MCAoR0FNRV9BWEVTX0xBVENIX0VOQUJMRSksCisgICAqICBidXQgaG93IHRvIGZyZWUgdGhlIHZhbHVlPyAqLworICAvKiBBbiBpbnRlcm5ldCBzZWFyY2ggZm9yICJnYW1lcG9ydCBsYXRjaCBBREMiIHNob3VsZCBwcm92aWRlIHNvbWUgaW5zaWdodAorICAgKiBpbnRvIGhvdyB0byBwcm9ncmFtIHN1Y2ggYSBnYW1lcG9ydCBzeXN0ZW0uICovCisKKyAgLyogd3JpdGluZyAweGYwIHRvIDAxSCBvbmNlIHJlc2V0IGJvdGggY291bnRlcnMgdG8gMCwgaW4gc29tZSBzcGVjaWFsIG1vZGUhPworICAgKiB5dXAsIGluIGNhc2UgNkFIIDB4MjAgaXMgbm90IGVuYWJsZWQKKyAgICogKGFuZCAweDQwIGlzIHN1ZmZpY2llbnQsIDB4ZjAgaXMgbm90IG5lZWRlZCkgKi8KKworI2RlZmluZSBJRFhfR0FNRV9BWElTX1ZBTFVFCTB4MDIKKwkvKiBSOiB2YWx1ZSBvZiBjdXJyZW50bHkgY29uZmlndXJlZCBheGlzICh3b3JkIHZhbHVlISk7CisJICogVzogdHJpZ2dlciBheGlzIG1lYXN1cmVtZW50ICovCisKKyNkZWZpbmUgSURYX0dBTUVfSFdDT05GSUcJMHgwNAorCS8qIG5vdGU6IGJpdHMgNCB0byA3IGFyZSBuZXZlciBzZXQgKD09IDApIHdoZW4gcmVhZGluZyEKKwkgKiAtLT4gcmVzZXJ2ZWQgYml0cz8gKi8KKyAgLyogZW5hYmxlcyBJUlEgbm90aWZpY2F0aW9uIHVwb24gYXhlcyBtZWFzdXJlbWVudCByZWFkeTogKi8KKyAgI2RlZmluZSBHQU1FX0hXQ0ZHX0lSUV9FTkFCTEUJCQkweDAxCisgIC8qIHRoZXNlIGJpdHMgY2hvb3NlIGEgZGlmZmVyZW50IGZyZXF1ZW5jeSBmb3IgdGhlCisgICAqICBpbnRlcm5hbCBBREMgY291bnRlciBpbmNyZW1lbnQuCisgICAqIGhtbSwgc2VlbXMgdG8gYmUgYSBjb21ibyBvZiBiaXRzOgorICAgKiAwMCAtLT4gc3RhbmRhcmQgZnJlcXVlbmN5CisgICAqIDEwIC0tPiAxLzIKKyAgICogMDEgLS0+IDEvMjAKKyAgICogMTEgLS0+IDEvMjAwOiAqLworICAjZGVmaW5lIEdBTUVfSFdDRkdfQURDX0NPVU5URVJfRlJFUV9NQVNLCTB4MDYKKworICAvKiBlbmFibGUgZ2FtZXBvcnQgbGVnYWN5IEkvTyBhZGRyZXNzICgweDIwMCkKKyAgICogSSB3YXMgdW5hYmxlIHRvIGxvY2F0ZSBhbnkgY29uZmlndXJhYmlsaXR5IGZvciBhIGRpZmZlcmVudCBhZGRyZXNzOiAqLworICAjZGVmaW5lIEdBTUVfSFdDRkdfTEVHQUNZX0FERFJFU1NfRU5BQkxFCTB4MDgKKworLyoqKiBNUFU0MDEgKioqLwogI2RlZmluZSBBWkZfSU9fU0laRV9NUFUJCTB4MDQKICNkZWZpbmUgQVpGX0lPX1NJWkVfTVBVX1BNCTB4MDQKIAotI2RlZmluZSBBWkZfSU9fU0laRV9TWU5USAkweDA4Ci0jZGVmaW5lIEFaRl9JT19TSVpFX1NZTlRIX1BNCTB4MDYKKy8qKiogT1BMMyBzeW50aCAqKiovCisjZGVmaW5lIEFaRl9JT19TSVpFX09QTDMJMHgwOAorI2RlZmluZSBBWkZfSU9fU0laRV9PUEwzX1BNCTB4MDYKKy8qIGhtbSwgZ2l2ZW4gdGhhdCBhIHN0YW5kYXJkIE9QTDMgaGFzIDQgcmVnaXN0ZXJzIG9ubHksCisgKiB0aGVyZSBtaWdodCBiZSBzb21lIGVuaGFuY2VkIGZ1bmN0aW9uYWxpdHkgbHVya2luZyBhdCB0aGUgZW5kCisgKiAoZXNwZWNpYWxseSBzaW5jZSByZWdpc3RlciAweDA0IGhhcyBhICJub24tZW1wdHkiIHZhbHVlIDB4ZmUpICovCiAKIC8qKiogbWl4ZXIgSS9PIGFyZWEgcG9ydCBpbmRpY2VzICoqKi8KIC8qIChvbmx5IDB4MjIgb2YgMHg0MCBieXRlcyBzYXZlZC9yZXN0b3JlZCBieSBXaW5kb3dzIGRyaXZlcikKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9jYTAxMDYvY2EwMTA2X21haW4uYyBiL3NvdW5kL3BjaS9jYTAxMDYvY2EwMTA2X21haW4uYwppbmRleCBlY2JlNzliLi4yZjhiMjhhIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvY2EwMTA2L2NhMDEwNl9tYWluLmMKKysrIGIvc291bmQvcGNpL2NhMDEwNi9jYTAxMDZfbWFpbi5jCkBAIC0yNDksNiArMjQ5LDExIEBACiAJICAgLm5hbWUgICA9ICJNU0kgSzhOIERpYW1vbmQgTUIgW1NCMDQzOF0iLAogCSAgIC5ncGlvX3R5cGUgPSAyLAogCSAgIC5pMmNfYWRjID0gMSB9ICwKKwkgLyogQW5vdGhlciBNU0kgSzhOIERpYW1vbmQgTUIsIHdoaWNoIGhhcyBhcHByZW50bHkgYSBkaWZmZXJlbnQgU1NJRCAqLworCSB7IC5zZXJpYWwgPSAweDEwMDkxMTAyLAorCSAgIC5uYW1lICAgPSAiTVNJIEs4TiBEaWFtb25kIE1CIiwKKwkgICAuZ3Bpb190eXBlID0gMiwKKwkgICAuaTJjX2FkYyA9IDEgfSAsCiAJIC8qIFNodXR0bGUgWFBDIFNEMzFQIHdoaWNoIGhhcyBhbiBvbmJvYXJkIENyZWF0aXZlIExhYnMKIAkgICogU291bmQgQmxhc3RlciBMaXZlISAyNC1iaXQgRUFYCiAJICAqIGhpZ2gtZGVmaW5pdGlvbiA3LjEgYXVkaW8gcHJvY2Vzc29yIi4KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9lbXUxMGsxL2VtdTEwazFfbWFpbi5jIGIvc291bmQvcGNpL2VtdTEwazEvZW11MTBrMV9tYWluLmMKaW5kZXggNTQ4YzljYy4uMmYyODNlYSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2VtdTEwazEvZW11MTBrMV9tYWluLmMKKysrIGIvc291bmQvcGNpL2VtdTEwazEvZW11MTBrMV9tYWluLmMKQEAgLTE1MjgsNiArMTUyOCw3IEBACiAJIC5jYTAxNTFfY2hpcCA9IDEsCiAJIC5zcGs3MSA9IDEsCiAJIC5zcGRpZl9idWcgPSAxLAorCSAuaW52ZXJ0X3NoYXJlZF9zcGRpZiA9IDEsCS8qIGRpZ2l0YWwvYW5hbG9nIHN3aXRjaCBzd2FwcGVkICovCiAJIC5hZGNfMTM2MXQgPSAxLCAgLyogMjQgYml0IGNhcHR1cmUgaW5zdGVhZCBvZiAxNmJpdC4gRml4ZXMgQUxTQSBidWcjMzI0ICovCiAJIC5hYzk3X2NoaXAgPSAxfSAsCiAJey52ZW5kb3IgPSAweDExMDIsIC5kZXZpY2UgPSAweDAwMDQsIC5yZXZpc2lvbiA9IDB4MDQsCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvZW11MTBrMS9lbXVtaXhlci5jIGIvc291bmQvcGNpL2VtdTEwazEvZW11bWl4ZXIuYwppbmRleCBmZDIyMTIwLi5mMzRiYmZiIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvZW11MTBrMS9lbXVtaXhlci5jCisrKyBiL3NvdW5kL3BjaS9lbXUxMGsxL2VtdW1peGVyLmMKQEAgLTE1NzgsNiArMTU3OCwxMCBAQAogCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IGlubChlbXUtPnBvcnQgKyBBX0lPQ0ZHKSAmIEFfSU9DRkdfR1BPVVQwID8gMSA6IDA7CiAJZWxzZQogCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IGlubChlbXUtPnBvcnQgKyBIQ0ZHKSAmIEhDRkdfR1BPVVQwID8gMSA6IDA7CisJaWYgKGVtdS0+Y2FyZF9jYXBhYmlsaXRpZXMtPmludmVydF9zaGFyZWRfc3BkaWYpCisJCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0KKwkJCSF1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKKwkJCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE1ODYsMTUgKzE1OTAsMTggQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBzbmRfZW11MTBrMSAqZW11ID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGludCByZWcsIHZhbDsKKwl1bnNpZ25lZCBpbnQgcmVnLCB2YWwsIHN3OwogCWludCBjaGFuZ2UgPSAwOwogCisJc3cgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKKwlpZiAoZW11LT5jYXJkX2NhcGFiaWxpdGllcy0+aW52ZXJ0X3NoYXJlZF9zcGRpZikKKwkJc3cgPSAhc3c7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmVtdS0+cmVnX2xvY2ssIGZsYWdzKTsKIAlpZiAoIGVtdS0+Y2FyZF9jYXBhYmlsaXRpZXMtPmkyY19hZGMpIHsKIAkJLyogRG8gbm90aGluZyBmb3IgQXVkaWd5IDIgWlMgTm90ZWJvb2sgKi8KIAl9IGVsc2UgaWYgKGVtdS0+YXVkaWd5KSB7CiAJCXJlZyA9IGlubChlbXUtPnBvcnQgKyBBX0lPQ0ZHKTsKLQkJdmFsID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPyBBX0lPQ0ZHX0dQT1VUMCA6IDA7CisJCXZhbCA9IHN3ID8gQV9JT0NGR19HUE9VVDAgOiAwOwogCQljaGFuZ2UgPSAocmVnICYgQV9JT0NGR19HUE9VVDApICE9IHZhbDsKIAkJaWYgKGNoYW5nZSkgewogCQkJcmVnICY9IH5BX0lPQ0ZHX0dQT1VUMDsKQEAgLTE2MDMsNyArMTYxMCw3IEBACiAJCX0KIAl9CiAJcmVnID0gaW5sKGVtdS0+cG9ydCArIEhDRkcpOwotCXZhbCA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID8gSENGR19HUE9VVDAgOiAwOworCXZhbCA9IHN3ID8gSENGR19HUE9VVDAgOiAwOwogCWNoYW5nZSB8PSAocmVnICYgSENGR19HUE9VVDApICE9IHZhbDsKIAlpZiAoY2hhbmdlKSB7CiAJCXJlZyAmPSB+SENGR19HUE9VVDA7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvZW11MTBrMS9tZW1vcnkuYyBiL3NvdW5kL3BjaS9lbXUxMGsxL21lbW9yeS5jCmluZGV4IDkxNmMxZGIuLjdkMzc5ZjUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9lbXUxMGsxL21lbW9yeS5jCisrKyBiL3NvdW5kL3BjaS9lbXUxMGsxL21lbW9yeS5jCkBAIC00MzcsNDMgKzQzNyw0OSBAQAogCSpsYXN0X3BhZ2VfcmV0ID0gbGFzdF9wYWdlOwogfQogCisvKiByZWxlYXNlIGFsbG9jYXRlZCBwYWdlcyAqLworc3RhdGljIHZvaWQgX19zeW50aF9mcmVlX3BhZ2VzKHN0cnVjdCBzbmRfZW11MTBrMSAqZW11LCBpbnQgZmlyc3RfcGFnZSwKKwkJCSAgICAgICBpbnQgbGFzdF9wYWdlKQoreworCWludCBwYWdlOworCisJZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgeworCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSk7CisJCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gMDsKKwkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IE5VTEw7CisJfQorfQorCiAvKgogICogYWxsb2NhdGUga2VybmVsIHBhZ2VzCiAgKi8KIHN0YXRpYyBpbnQgc3ludGhfYWxsb2NfcGFnZXMoc3RydWN0IHNuZF9lbXUxMGsxICplbXUsIHN0cnVjdCBzbmRfZW11MTBrMV9tZW1ibGsgKmJsaykKIHsKIAlpbnQgcGFnZSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwotCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciBkbWFiOwogCiAJZW11MTBrMV9tZW1ibGtfaW5pdChibGspOwogCWdldF9zaW5nbGVfcGFnZV9yYW5nZShlbXUtPm1lbWhkciwgYmxrLCAmZmlyc3RfcGFnZSwgJmxhc3RfcGFnZSk7CiAJLyogYWxsb2NhdGUga2VybmVsIHBhZ2VzICovCiAJZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgewotCQlpZiAoc25kX2RtYV9hbGxvY19wYWdlcyhTTkRSVl9ETUFfVFlQRV9ERVYsIHNuZF9kbWFfcGNpX2RhdGEoZW11LT5wY2kpLAotCQkJCQlQQUdFX1NJWkUsICZkbWFiKSA8IDApCi0JCQlnb3RvIF9fZmFpbDsKLQkJaWYgKCEgaXNfdmFsaWRfcGFnZShlbXUsIGRtYWIuYWRkcikpIHsKLQkJCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JCQlnb3RvIF9fZmFpbDsKKwkJLyogZmlyc3QgdHJ5IHRvIGFsbG9jYXRlIGZyb20gPDRHQiB6b25lICovCisJCXN0cnVjdCBwYWdlICpwID0gYWxsb2NfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQTMyIHwKKwkJCQkJICAgIF9fR0ZQX05PV0FSTik7CisJCWlmICghcCB8fCAocGFnZV90b19wZm4ocCkgJiB+KGVtdS0+ZG1hX21hc2sgPj4gUEFHRV9TSElGVCkpKSB7CisJCQlpZiAocCkKKwkJCQlfX2ZyZWVfcGFnZShwKTsKKwkJCS8qIHRyeSB0byBhbGxvY2F0ZSBmcm9tIDwxNk1CIHpvbmUgKi8KKwkJCXAgPSBhbGxvY19wYWdlKEdGUF9BVE9NSUMgfCBHRlBfRE1BIHwKKwkJCQkgICAgICAgX19HRlBfTk9SRVRSWSB8IC8qIG5vIE9PTS1raWxsZXIgKi8KKwkJCQkgICAgICAgX19HRlBfTk9XQVJOKTsKIAkJfQotCQllbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXSA9IGRtYWIuYWRkcjsKLQkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IGRtYWIuYXJlYTsKKwkJaWYgKCFwKSB7CisJCQlfX3N5bnRoX2ZyZWVfcGFnZXMoZW11LCBmaXJzdF9wYWdlLCBwYWdlIC0gMSk7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCQllbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXSA9IHBhZ2VfdG9fcGh5cyhwKTsKKwkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IHBhZ2VfYWRkcmVzcyhwKTsKIAl9CiAJcmV0dXJuIDA7Ci0KLV9fZmFpbDoKLQkvKiByZWxlYXNlIGFsbG9jYXRlZCBwYWdlcyAqLwotCWxhc3RfcGFnZSA9IHBhZ2UgLSAxOwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspIHsKLQkJZG1hYi5hcmVhID0gZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXTsKLQkJZG1hYi5hZGRyID0gZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV07Ci0JCWRtYWIuYnl0ZXMgPSBQQUdFX1NJWkU7Ci0JCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gMDsKLQkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IE5VTEw7Ci0JfQotCi0JcmV0dXJuIC1FTk9NRU07CiB9CiAKIC8qCkBAIC00ODEsMjMgKzQ4NywxMCBAQAogICovCiBzdGF0aWMgaW50IHN5bnRoX2ZyZWVfcGFnZXMoc3RydWN0IHNuZF9lbXUxMGsxICplbXUsIHN0cnVjdCBzbmRfZW11MTBrMV9tZW1ibGsgKmJsaykKIHsKLQlpbnQgcGFnZSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwotCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciBkbWFiOworCWludCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7CiAKIAlnZXRfc2luZ2xlX3BhZ2VfcmFuZ2UoZW11LT5tZW1oZHIsIGJsaywgJmZpcnN0X3BhZ2UsICZsYXN0X3BhZ2UpOwotCWRtYWIuZGV2LnR5cGUgPSBTTkRSVl9ETUFfVFlQRV9ERVY7Ci0JZG1hYi5kZXYuZGV2ID0gc25kX2RtYV9wY2lfZGF0YShlbXUtPnBjaSk7Ci0JZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgewotCQlpZiAoZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9PSBOVUxMKQotCQkJY29udGludWU7Ci0JCWRtYWIuYXJlYSA9IGVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV07Ci0JCWRtYWIuYWRkciA9IGVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdOwotCQlkbWFiLmJ5dGVzID0gUEFHRV9TSVpFOwotCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJmRtYWIpOwotCQllbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXSA9IDA7Ci0JCWVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV0gPSBOVUxMOwotCX0KLQorCV9fc3ludGhfZnJlZV9wYWdlcyhlbXUsIGZpcnN0X3BhZ2UsIGxhc3RfcGFnZSk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmMgYi9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5jCmluZGV4IGE2YmU2ZTMuLmQyZTEwOTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmMKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuYwpAQCAtMjMzNSw3ICsyMzM1LDcgQEAKIAlpZiAoIXRibCkKIAkJcmV0dXJuIC0xOwogCWlmICh0YmwtPnZhbHVlID49IDAgJiYgdGJsLT52YWx1ZSA8IG51bV9jb25maWdzKSB7Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAkJY2hhciB0bXBbMTBdOwogCQljb25zdCBjaGFyICptb2RlbCA9IE5VTEw7CiAJCWlmIChtb2RlbHMpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5oIGIvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuaAppbmRleCBkY2QzOTBiLi5lZmM2ODI4IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5oCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmgKQEAgLTc4LDcgKzc4LDcgQEAKICNkZWZpbmUgQUNfVkVSQl9HRVRfQkVFUF9DT05UUk9MCQkweDBmMGEKICNkZWZpbmUgQUNfVkVSQl9HRVRfRUFQRF9CVExFTkFCTEUJCTB4MGYwYwogI2RlZmluZSBBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMQkJMHgwZjBkCi0jZGVmaW5lIEFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8yCQkweDBmMGUKKyNkZWZpbmUgQUNfVkVSQl9HRVRfRElHSV9DT05WRVJUXzIJCTB4MGYwZSAvKiB1bnVzZWQgKi8KICNkZWZpbmUgQUNfVkVSQl9HRVRfVk9MVU1FX0tOT0JfQ09OVFJPTAkJMHgwZjBmCiAvKiBmMTAtZjFhOiBHUElPICovCiAjZGVmaW5lIEFDX1ZFUkJfR0VUX0dQSU9fREFUQQkJCTB4MGYxNQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfaHdkZXAuYyBiL3NvdW5kL3BjaS9oZGEvaGRhX2h3ZGVwLmMKaW5kZXggMjE3N2Q5YS4uNmUxOGE0MiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfaHdkZXAuYworKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9od2RlcC5jCkBAIC04OCw3ICs4OCw3IEBACiAKIHN0YXRpYyBpbnQgaGRhX2h3ZGVwX29wZW4oc3RydWN0IHNuZF9od2RlcCAqaHcsIHN0cnVjdCBmaWxlICpmaWxlKQogewotI2lmbmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmbmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlpZiAoIWNhcGFibGUoQ0FQX1NZU19SQVdJTykpCiAJCXJldHVybiAtRUFDQ0VTOwogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jIGIvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYwppbmRleCBiM2E2MThlLi4xNjcxNWE2IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX2ludGVsLmMKQEAgLTU1LDYgKzU1LDcgQEAKIHN0YXRpYyBpbnQgZW5hYmxlW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfRU5BQkxFX1BOUDsKIHN0YXRpYyBjaGFyICptb2RlbFtTTkRSVl9DQVJEU107CiBzdGF0aWMgaW50IHBvc2l0aW9uX2ZpeFtTTkRSVl9DQVJEU107CitzdGF0aWMgaW50IGJkbF9wb3NfYWRqW1NORFJWX0NBUkRTXSA9IHtbMCAuLi4gKFNORFJWX0NBUkRTLTEpXSA9IC0xfTsKIHN0YXRpYyBpbnQgcHJvYmVfbWFza1tTTkRSVl9DQVJEU10gPSB7WzAgLi4uIChTTkRSVl9DQVJEUy0xKV0gPSAtMX07CiBzdGF0aWMgaW50IHNpbmdsZV9jbWQ7CiBzdGF0aWMgaW50IGVuYWJsZV9tc2k7CkBAIC02OSw3ICs3MCw5IEBACiBNT0RVTEVfUEFSTV9ERVNDKG1vZGVsLCAiVXNlIHRoZSBnaXZlbiBib2FyZCBtb2RlbC4iKTsKIG1vZHVsZV9wYXJhbV9hcnJheShwb3NpdGlvbl9maXgsIGludCwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHBvc2l0aW9uX2ZpeCwgIkZpeCBETUEgcG9pbnRlciAiCi0JCSAiKDAgPSBhdXRvLCAxID0gbm9uZSwgMiA9IFBPU0JVRiwgMyA9IEZJRk8gc2l6ZSkuIik7CisJCSAiKDAgPSBhdXRvLCAxID0gbm9uZSwgMiA9IFBPU0JVRikuIik7Cittb2R1bGVfcGFyYW1fYXJyYXkoYmRsX3Bvc19hZGosIGludCwgTlVMTCwgMDY0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGJkbF9wb3NfYWRqLCAiQkRMIHBvc2l0aW9uIGFkanVzdG1lbnQgb2Zmc2V0LiIpOwogbW9kdWxlX3BhcmFtX2FycmF5KHByb2JlX21hc2ssIGludCwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHByb2JlX21hc2ssICJCaXRtYXNrIHRvIHByb2JlIGNvZGVjcyAoZGVmYXVsdCA9IC0xKS4iKTsKIG1vZHVsZV9wYXJhbShzaW5nbGVfY21kLCBib29sLCAwNDQ0KTsKQEAgLTE5Nyw2ICsyMDAsMTAgQEAKICNkZWZpbmUgQVRJSERNSV9OVU1fQ0FQVFVSRQkwCiAjZGVmaW5lIEFUSUhETUlfTlVNX1BMQVlCQUNLCTEKIAorLyogVEVSQSBoYXMgNCBwbGF5YmFjayBhbmQgMyBjYXB0dXJlICovCisjZGVmaW5lIFRFUkFfTlVNX0NBUFRVUkUJMworI2RlZmluZSBURVJBX05VTV9QTEFZQkFDSwk0CisKIC8qIHRoaXMgbnVtYmVyIGlzIHN0YXRpY2FsbHkgZGVmaW5lZCBmb3Igc2ltcGxpY2l0eSAqLwogI2RlZmluZSBNQVhfQVpYX0RFVgkJMTYKIApAQCAtMjU5LDkgKzI2Niw4IEBACiAvKiBwb3NpdGlvbiBmaXggbW9kZSAqLwogZW51bSB7CiAJUE9TX0ZJWF9BVVRPLAotCVBPU19GSVhfTk9ORSwKKwlQT1NfRklYX0xQSUIsCiAJUE9TX0ZJWF9QT1NCVUYsCi0JUE9TX0ZJWF9GSUZPLAogfTsKIAogLyogRGVmaW5lcyBmb3IgQVRJIEhEIEF1ZGlvIHN1cHBvcnQgaW4gU0I0NTAgc291dGggYnJpZGdlICovCkBAIC0yODUsNiArMjkxLDcgQEAKIAl1MzIgKnBvc2J1ZjsJCS8qIHBvc2l0aW9uIGJ1ZmZlciBwb2ludGVyICovCiAKIAl1bnNpZ25lZCBpbnQgYnVmc2l6ZTsJLyogc2l6ZSBvZiB0aGUgcGxheSBidWZmZXIgaW4gYnl0ZXMgKi8KKwl1bnNpZ25lZCBpbnQgcGVyaW9kX2J5dGVzOyAvKiBzaXplIG9mIHRoZSBwZXJpb2QgaW4gYnl0ZXMgKi8KIAl1bnNpZ25lZCBpbnQgZnJhZ3M7CS8qIG51bWJlciBmb3IgcGVyaW9kIGluIHRoZSBwbGF5IGJ1ZmZlciAqLwogCXVuc2lnbmVkIGludCBmaWZvX3NpemU7CS8qIEZJRk8gc2l6ZSAqLwogCkBAIC0zMDEsMTEgKzMwOCwxMSBAQAogCQkJCQkgKi8KIAl1bnNpZ25lZCBjaGFyIHN0cmVhbV90YWc7CS8qIGFzc2lnbmVkIHN0cmVhbSAqLwogCXVuc2lnbmVkIGNoYXIgaW5kZXg7CQkvKiBzdHJlYW0gaW5kZXggKi8KLQkvKiBmb3Igc2FuaXR5IGNoZWNrIG9mIHBvc2l0aW9uIGJ1ZmZlciAqLwotCXVuc2lnbmVkIGludCBwZXJpb2RfaW50cjsKIAogCXVuc2lnbmVkIGludCBvcGVuZWQgOjE7CiAJdW5zaWduZWQgaW50IHJ1bm5pbmcgOjE7CisJdW5zaWduZWQgaW50IGlycV9wZW5kaW5nIDoxOworCXVuc2lnbmVkIGludCBpcnFfaWdub3JlIDoxOwogfTsKIAogLyogQ09SQi9SSVJCICovCkBAIC0zMjMsNiArMzMwLDcgQEAKIHN0cnVjdCBhenggewogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKIAlzdHJ1Y3QgcGNpX2RldiAqcGNpOworCWludCBkZXZfaW5kZXg7CiAKIAkvKiBjaGlwIHR5cGUgc3BlY2lmaWMgKi8KIAlpbnQgZHJpdmVyX3R5cGU7CkBAIC0zNjYsOSArMzc0LDEzIEBACiAJdW5zaWduZWQgaW50IHNpbmdsZV9jbWQgOjE7CiAJdW5zaWduZWQgaW50IHBvbGxpbmdfbW9kZSA6MTsKIAl1bnNpZ25lZCBpbnQgbXNpIDoxOworCXVuc2lnbmVkIGludCBpcnFfcGVuZGluZ193YXJuZWQgOjE7CiAKIAkvKiBmb3IgZGVidWdnaW5nICovCiAJdW5zaWduZWQgaW50IGxhc3RfY21kOwkvKiBsYXN0IGlzc3VlZCBjb21tYW5kICh0byBzeW5jKSAqLworCisJLyogZm9yIHBlbmRpbmcgaXJxcyAqLworCXN0cnVjdCB3b3JrX3N0cnVjdCBpcnFfcGVuZGluZ193b3JrOwogfTsKIAogLyogZHJpdmVyIHR5cGVzICovCkBAIC0zODEsNiArMzkzLDcgQEAKIAlBWlhfRFJJVkVSX1NJUywKIAlBWlhfRFJJVkVSX1VMSSwKIAlBWlhfRFJJVkVSX05WSURJQSwKKwlBWlhfRFJJVkVSX1RFUkEsCiB9OwogCiBzdGF0aWMgY2hhciAqZHJpdmVyX3Nob3J0X25hbWVzW10gX19kZXZpbml0ZGF0YSA9IHsKQEAgLTM5Miw2ICs0MDUsNyBAQAogCVtBWlhfRFJJVkVSX1NJU10gPSAiSERBIFNJUzk2NiIsCiAJW0FaWF9EUklWRVJfVUxJXSA9ICJIREEgVUxJIE01NDYxIiwKIAlbQVpYX0RSSVZFUl9OVklESUFdID0gIkhEQSBOVmlkaWEiLAorCVtBWlhfRFJJVkVSX1RFUkFdID0gIkhEQSBUZXJhZGljaSIsIAogfTsKIAogLyoKQEAgLTQyNiwxMSArNDQwLDYgQEAKIC8qIGZvciBwY20gc3VwcG9ydCAqLwogI2RlZmluZSBnZXRfYXp4X2RldihzdWJzdHJlYW0pIChzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YSkKIAotLyogR2V0IHRoZSB1cHBlciAzMmJpdCBvZiB0aGUgZ2l2ZW4gZG1hX2FkZHJfdAotICogQ29tcGlsZXIgc2hvdWxkIG9wdGltaXplIGFuZCBlbGltaW5hdGUgdGhlIGNvZGUgaWYgZG1hX2FkZHJfdCBpcyAzMmJpdAotICovCi0jZGVmaW5lIHVwcGVyXzMyYml0KGFkZHIpIChzaXplb2YoYWRkcikgPiA0ID8gKHUzMikoKGFkZHIpID4+IDMyKSA6ICh1MzIpMCkKLQogc3RhdGljIGludCBhenhfYWNxdWlyZV9pcnEoc3RydWN0IGF6eCAqY2hpcCwgaW50IGRvX2Rpc2Nvbm5lY3QpOwogCiAvKgpAQCAtNDYxLDcgKzQ3MCw3IEBACiAJY2hpcC0+Y29yYi5hZGRyID0gY2hpcC0+cmIuYWRkcjsKIAljaGlwLT5jb3JiLmJ1ZiA9ICh1MzIgKiljaGlwLT5yYi5hcmVhOwogCWF6eF93cml0ZWwoY2hpcCwgQ09SQkxCQVNFLCAodTMyKWNoaXAtPmNvcmIuYWRkcik7Ci0JYXp4X3dyaXRlbChjaGlwLCBDT1JCVUJBU0UsIHVwcGVyXzMyYml0KGNoaXAtPmNvcmIuYWRkcikpOworCWF6eF93cml0ZWwoY2hpcCwgQ09SQlVCQVNFLCB1cHBlcl8zMl9iaXRzKGNoaXAtPmNvcmIuYWRkcikpOwogCiAJLyogc2V0IHRoZSBjb3JiIHNpemUgdG8gMjU2IGVudHJpZXMgKFVMSSByZXF1aXJlcyBleHBsaWNpdGx5KSAqLwogCWF6eF93cml0ZWIoY2hpcCwgQ09SQlNJWkUsIDB4MDIpOwpAQCAtNDc2LDcgKzQ4NSw3IEBACiAJY2hpcC0+cmlyYi5hZGRyID0gY2hpcC0+cmIuYWRkciArIDIwNDg7CiAJY2hpcC0+cmlyYi5idWYgPSAodTMyICopKGNoaXAtPnJiLmFyZWEgKyAyMDQ4KTsKIAlhenhfd3JpdGVsKGNoaXAsIFJJUkJMQkFTRSwgKHUzMiljaGlwLT5yaXJiLmFkZHIpOwotCWF6eF93cml0ZWwoY2hpcCwgUklSQlVCQVNFLCB1cHBlcl8zMmJpdChjaGlwLT5yaXJiLmFkZHIpKTsKKwlhenhfd3JpdGVsKGNoaXAsIFJJUkJVQkFTRSwgdXBwZXJfMzJfYml0cyhjaGlwLT5yaXJiLmFkZHIpKTsKIAogCS8qIHNldCB0aGUgcmlyYiBzaXplIHRvIDI1NiBlbnRyaWVzIChVTEkgcmVxdWlyZXMgZXhwbGljaXRseSkgKi8KIAlhenhfd3JpdGViKGNoaXAsIFJJUkJTSVpFLCAweDAyKTsKQEAgLTg0Nyw3ICs4NTYsNyBAQAogCiAJLyogcHJvZ3JhbSB0aGUgcG9zaXRpb24gYnVmZmVyICovCiAJYXp4X3dyaXRlbChjaGlwLCBEUExCQVNFLCAodTMyKWNoaXAtPnBvc2J1Zi5hZGRyKTsKLQlhenhfd3JpdGVsKGNoaXAsIERQVUJBU0UsIHVwcGVyXzMyYml0KGNoaXAtPnBvc2J1Zi5hZGRyKSk7CisJYXp4X3dyaXRlbChjaGlwLCBEUFVCQVNFLCB1cHBlcl8zMl9iaXRzKGNoaXAtPnBvc2J1Zi5hZGRyKSk7CiAKIAljaGlwLT5pbml0aWFsaXplZCA9IDE7CiB9CkBAIC05MDgsNiArOTE3LDggQEAKIH0KIAogCitzdGF0aWMgaW50IGF6eF9wb3NpdGlvbl9vayhzdHJ1Y3QgYXp4ICpjaGlwLCBzdHJ1Y3QgYXp4X2RldiAqYXp4X2Rldik7CisKIC8qCiAgKiBpbnRlcnJ1cHQgaGFuZGxlcgogICovCkBAIC05MzAsMTEgKzk0MSwyMyBAQAogCQlhenhfZGV2ID0gJmNoaXAtPmF6eF9kZXZbaV07CiAJCWlmIChzdGF0dXMgJiBhenhfZGV2LT5zZF9pbnRfc3RhX21hc2spIHsKIAkJCWF6eF9zZF93cml0ZWIoYXp4X2RldiwgU0RfU1RTLCBTRF9JTlRfTUFTSyk7Ci0JCQlpZiAoYXp4X2Rldi0+c3Vic3RyZWFtICYmIGF6eF9kZXYtPnJ1bm5pbmcpIHsKLQkJCQlhenhfZGV2LT5wZXJpb2RfaW50cisrOworCQkJaWYgKCFhenhfZGV2LT5zdWJzdHJlYW0gfHwgIWF6eF9kZXYtPnJ1bm5pbmcpCisJCQkJY29udGludWU7CisJCQkvKiBpZ25vcmUgdGhlIGZpcnN0IGR1bW15IElSUSAoZHVlIHRvIHBvc19hZGopICovCisJCQlpZiAoYXp4X2Rldi0+aXJxX2lnbm9yZSkgeworCQkJCWF6eF9kZXYtPmlycV9pZ25vcmUgPSAwOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJLyogY2hlY2sgd2hldGhlciB0aGlzIElSUSBpcyByZWFsbHkgYWNjZXB0YWJsZSAqLworCQkJaWYgKGF6eF9wb3NpdGlvbl9vayhjaGlwLCBhenhfZGV2KSkgeworCQkJCWF6eF9kZXYtPmlycV9wZW5kaW5nID0gMDsKIAkJCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCQkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoYXp4X2Rldi0+c3Vic3RyZWFtKTsKIAkJCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJCX0gZWxzZSB7CisJCQkJLyogYm9ndXMgSVJRLCBwcm9jZXNzIGl0IGxhdGVyICovCisJCQkJYXp4X2Rldi0+aXJxX3BlbmRpbmcgPSAxOworCQkJCXNjaGVkdWxlX3dvcmsoJmNoaXAtPmlycV9wZW5kaW5nX3dvcmspOwogCQkJfQogCQl9CiAJfQpAQCAtOTU5LDU5ICs5ODIsMTA3IEBACiAKIAogLyoKLSAqIHNldCB1cCBCREwgZW50cmllcworICogc2V0IHVwIGEgQkRMIGVudHJ5CiAgKi8KLXN0YXRpYyBpbnQgYXp4X3NldHVwX3BlcmlvZHMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCi0JCQkgICAgIHN0cnVjdCBhenhfZGV2ICphenhfZGV2KQorc3RhdGljIGludCBzZXR1cF9iZGxlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkgICAgICBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldiwgdTMyICoqYmRscCwKKwkJICAgICAgaW50IG9mcywgaW50IHNpemUsIGludCB3aXRoX2lvYykKIHsKIAlzdHJ1Y3Qgc25kX3NnX2J1ZiAqc2didWYgPSBzbmRfcGNtX3N1YnN0cmVhbV9zZ2J1ZihzdWJzdHJlYW0pOworCXUzMiAqYmRsID0gKmJkbHA7CisKKwl3aGlsZSAoc2l6ZSA+IDApIHsKKwkJZG1hX2FkZHJfdCBhZGRyOworCQlpbnQgY2h1bms7CisKKwkJaWYgKGF6eF9kZXYtPmZyYWdzID49IEFaWF9NQVhfQkRMX0VOVFJJRVMpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlhZGRyID0gc25kX3BjbV9zZ2J1Zl9nZXRfYWRkcihzZ2J1Ziwgb2ZzKTsKKwkJLyogcHJvZ3JhbSB0aGUgYWRkcmVzcyBmaWVsZCBvZiB0aGUgQkRMIGVudHJ5ICovCisJCWJkbFswXSA9IGNwdV90b19sZTMyKCh1MzIpYWRkcik7CisJCWJkbFsxXSA9IGNwdV90b19sZTMyKHVwcGVyXzMyX2JpdHMoYWRkcikpOworCQkvKiBwcm9ncmFtIHRoZSBzaXplIGZpZWxkIG9mIHRoZSBCREwgZW50cnkgKi8KKwkJY2h1bmsgPSBQQUdFX1NJWkUgLSAob2ZzICUgUEFHRV9TSVpFKTsKKwkJaWYgKHNpemUgPCBjaHVuaykKKwkJCWNodW5rID0gc2l6ZTsKKwkJYmRsWzJdID0gY3B1X3RvX2xlMzIoY2h1bmspOworCQkvKiBwcm9ncmFtIHRoZSBJT0MgdG8gZW5hYmxlIGludGVycnVwdAorCQkgKiBvbmx5IHdoZW4gdGhlIHdob2xlIGZyYWdtZW50IGlzIHByb2Nlc3NlZAorCQkgKi8KKwkJc2l6ZSAtPSBjaHVuazsKKwkJYmRsWzNdID0gKHNpemUgfHwgIXdpdGhfaW9jKSA/IDAgOiBjcHVfdG9fbGUzMigweDAxKTsKKwkJYmRsICs9IDQ7CisJCWF6eF9kZXYtPmZyYWdzKys7CisJCW9mcyArPSBjaHVuazsKKwl9CisJKmJkbHAgPSBiZGw7CisJcmV0dXJuIG9mczsKK30KKworLyoKKyAqIHNldCB1cCBCREwgZW50cmllcworICovCitzdGF0aWMgaW50IGF6eF9zZXR1cF9wZXJpb2RzKHN0cnVjdCBhenggKmNoaXAsCisJCQkgICAgIHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJICAgICBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldikKK3sKIAl1MzIgKmJkbDsKIAlpbnQgaSwgb2ZzLCBwZXJpb2RzLCBwZXJpb2RfYnl0ZXM7CisJaW50IHBvc19hZGo7CiAKIAkvKiByZXNldCBCREwgYWRkcmVzcyAqLwogCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUEwsIDApOwogCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUFUsIDApOwogCiAJcGVyaW9kX2J5dGVzID0gc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSk7CisJYXp4X2Rldi0+cGVyaW9kX2J5dGVzID0gcGVyaW9kX2J5dGVzOwogCXBlcmlvZHMgPSBhenhfZGV2LT5idWZzaXplIC8gcGVyaW9kX2J5dGVzOwogCiAJLyogcHJvZ3JhbSB0aGUgaW5pdGlhbCBCREwgZW50cmllcyAqLwogCWJkbCA9ICh1MzIgKilhenhfZGV2LT5iZGwuYXJlYTsKIAlvZnMgPSAwOwogCWF6eF9kZXYtPmZyYWdzID0gMDsKLQlmb3IgKGkgPSAwOyBpIDwgcGVyaW9kczsgaSsrKSB7Ci0JCWludCBzaXplLCByZXN0OwotCQlpZiAoaSA+PSBBWlhfTUFYX0JETF9FTlRSSUVTKSB7Ci0JCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJUb28gbWFueSBCREwgZW50cmllczogIgotCQkJCSAgICJidWZmZXI9JWQsIHBlcmlvZD0lZFxuIiwKLQkJCQkgICBhenhfZGV2LT5idWZzaXplLCBwZXJpb2RfYnl0ZXMpOwotCQkJLyogcmVzZXQgKi8KLQkJCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUEwsIDApOwotCQkJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgMCk7Ci0JCQlyZXR1cm4gLUVJTlZBTDsKKwlhenhfZGV2LT5pcnFfaWdub3JlID0gMDsKKwlwb3NfYWRqID0gYmRsX3Bvc19hZGpbY2hpcC0+ZGV2X2luZGV4XTsKKwlpZiAocG9zX2FkaiA+IDApIHsKKwkJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwkJcG9zX2FkaiA9IChwb3NfYWRqICogcnVudGltZS0+cmF0ZSArIDQ3OTk5KSAvIDQ4MDAwOworCQlpZiAoIXBvc19hZGopCisJCQlwb3NfYWRqID0gMTsKKwkJcG9zX2FkaiA9IGZyYW1lc190b19ieXRlcyhydW50aW1lLCBwb3NfYWRqKTsKKwkJaWYgKHBvc19hZGogPj0gcGVyaW9kX2J5dGVzKSB7CisJCQlzbmRfcHJpbnRrKEtFUk5fV0FSTklORyAiVG9vIGJpZyBhZGp1c3RtZW50ICVkXG4iLAorCQkJCSAgIGJkbF9wb3NfYWRqW2NoaXAtPmRldl9pbmRleF0pOworCQkJcG9zX2FkaiA9IDA7CisJCX0gZWxzZSB7CisJCQlvZnMgPSBzZXR1cF9iZGxlKHN1YnN0cmVhbSwgYXp4X2RldiwKKwkJCQkJICZiZGwsIG9mcywgcG9zX2FkaiwgMSk7CisJCQlpZiAob2ZzIDwgMCkKKwkJCQlnb3RvIGVycm9yOworCQkJYXp4X2Rldi0+aXJxX2lnbm9yZSA9IDE7CiAJCX0KLQkJcmVzdCA9IHBlcmlvZF9ieXRlczsKLQkJZG8gewotCQkJZG1hX2FkZHJfdCBhZGRyID0gc25kX3BjbV9zZ2J1Zl9nZXRfYWRkcihzZ2J1Ziwgb2ZzKTsKLQkJCS8qIHByb2dyYW0gdGhlIGFkZHJlc3MgZmllbGQgb2YgdGhlIEJETCBlbnRyeSAqLwotCQkJYmRsWzBdID0gY3B1X3RvX2xlMzIoKHUzMilhZGRyKTsKLQkJCWJkbFsxXSA9IGNwdV90b19sZTMyKHVwcGVyXzMyYml0KGFkZHIpKTsKLQkJCS8qIHByb2dyYW0gdGhlIHNpemUgZmllbGQgb2YgdGhlIEJETCBlbnRyeSAqLwotCQkJc2l6ZSA9IFBBR0VfU0laRSAtIChvZnMgJSBQQUdFX1NJWkUpOwotCQkJaWYgKHJlc3QgPCBzaXplKQotCQkJCXNpemUgPSByZXN0OwotCQkJYmRsWzJdID0gY3B1X3RvX2xlMzIoc2l6ZSk7Ci0JCQkvKiBwcm9ncmFtIHRoZSBJT0MgdG8gZW5hYmxlIGludGVycnVwdAotCQkJICogb25seSB3aGVuIHRoZSB3aG9sZSBmcmFnbWVudCBpcyBwcm9jZXNzZWQKLQkJCSAqLwotCQkJcmVzdCAtPSBzaXplOwotCQkJYmRsWzNdID0gcmVzdCA/IDAgOiBjcHVfdG9fbGUzMigweDAxKTsKLQkJCWJkbCArPSA0OwotCQkJYXp4X2Rldi0+ZnJhZ3MrKzsKLQkJCW9mcyArPSBzaXplOwotCQl9IHdoaWxlIChyZXN0ID4gMCk7CisJfSBlbHNlCisJCXBvc19hZGogPSAwOworCWZvciAoaSA9IDA7IGkgPCBwZXJpb2RzOyBpKyspIHsKKwkJaWYgKGkgPT0gcGVyaW9kcyAtIDEgJiYgcG9zX2FkaikKKwkJCW9mcyA9IHNldHVwX2JkbGUoc3Vic3RyZWFtLCBhenhfZGV2LCAmYmRsLCBvZnMsCisJCQkJCSBwZXJpb2RfYnl0ZXMgLSBwb3NfYWRqLCAwKTsKKwkJZWxzZQorCQkJb2ZzID0gc2V0dXBfYmRsZShzdWJzdHJlYW0sIGF6eF9kZXYsICZiZGwsIG9mcywKKwkJCQkJIHBlcmlvZF9ieXRlcywgMSk7CisJCWlmIChvZnMgPCAwKQorCQkJZ290byBlcnJvcjsKIAl9CiAJcmV0dXJuIDA7CisKKyBlcnJvcjoKKwlzbmRfcHJpbnRrKEtFUk5fRVJSICJUb28gbWFueSBCREwgZW50cmllczogYnVmZmVyPSVkLCBwZXJpb2Q9JWRcbiIsCisJCSAgIGF6eF9kZXYtPmJ1ZnNpemUsIHBlcmlvZF9ieXRlcyk7CisJLyogcmVzZXQgKi8KKwlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBMLCAwKTsKKwlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBVLCAwKTsKKwlyZXR1cm4gLUVJTlZBTDsKIH0KIAogLyoKQEAgLTEwNjIsNyArMTEzMyw3IEBACiAJLyogbG93ZXIgQkRMIGFkZHJlc3MgKi8KIAlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBMLCAodTMyKWF6eF9kZXYtPmJkbC5hZGRyKTsKIAkvKiB1cHBlciBCREwgYWRkcmVzcyAqLwotCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUFUsIHVwcGVyXzMyYml0KGF6eF9kZXYtPmJkbC5hZGRyKSk7CisJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgdXBwZXJfMzJfYml0cyhhenhfZGV2LT5iZGwuYWRkcikpOwogCiAJLyogZW5hYmxlIHRoZSBwb3NpdGlvbiBidWZmZXIgKi8KIAlpZiAoY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfUE9TQlVGIHx8CkBAIC0xMDg1LDcgKzExNTYsNyBAQAogICovCiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYXp4X21heF9jb2RlY3NbXSBfX2RldmluaXRkYXRhID0gewotCVtBWlhfRFJJVkVSX0lDSF0gPSAzLAorCVtBWlhfRFJJVkVSX0lDSF0gPSA0LAkJLyogU29tZSBJQ0g5IGJvYXJkcyB1c2UgU0QzICovCiAJW0FaWF9EUklWRVJfU0NIXSA9IDMsCiAJW0FaWF9EUklWRVJfQVRJXSA9IDQsCiAJW0FaWF9EUklWRVJfQVRJSERNSV0gPSA0LApAQCAtMTA5Myw2ICsxMTY0LDcgQEAKIAlbQVpYX0RSSVZFUl9TSVNdID0gMywJCS8qIEZJWE1FOiBjb3JyZWN0PyAqLwogCVtBWlhfRFJJVkVSX1VMSV0gPSAzLAkJLyogRklYTUU6IGNvcnJlY3Q/ICovCiAJW0FaWF9EUklWRVJfTlZJRElBXSA9IDMsCS8qIEZJWE1FOiBjb3JyZWN0PyAqLworCVtBWlhfRFJJVkVSX1RFUkFdID0gMSwKIH07CiAKIHN0YXRpYyBpbnQgX19kZXZpbml0IGF6eF9jb2RlY19jcmVhdGUoc3RydWN0IGF6eCAqY2hpcCwgY29uc3QgY2hhciAqbW9kZWwsCkBAIC0xMzE2LDcgKzEzODgsNyBAQAogCiAJc25kX3ByaW50ZGQoImF6eF9wY21fcHJlcGFyZTogYnVmc2l6ZT0weCV4LCBmb3JtYXQ9MHgleFxuIiwKIAkJICAgIGF6eF9kZXYtPmJ1ZnNpemUsIGF6eF9kZXYtPmZvcm1hdF92YWwpOwotCWlmIChhenhfc2V0dXBfcGVyaW9kcyhzdWJzdHJlYW0sIGF6eF9kZXYpIDwgMCkKKwlpZiAoYXp4X3NldHVwX3BlcmlvZHMoY2hpcCwgc3Vic3RyZWFtLCBhenhfZGV2KSA8IDApCiAJCXJldHVybiAtRUlOVkFMOwogCWF6eF9zZXR1cF9jb250cm9sbGVyKGNoaXAsIGF6eF9kZXYpOwogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQpAQCAtMTQyMSwzNSArMTQ5MywxMTMgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHNuZF9wY21fdWZyYW1lc190IGF6eF9wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3N0YXRpYyB1bnNpZ25lZCBpbnQgYXp4X2dldF9wb3NpdGlvbihzdHJ1Y3QgYXp4ICpjaGlwLAorCQkJCSAgICAgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYpCiB7Ci0Jc3RydWN0IGF6eF9wY20gKmFwY20gPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0Jc3RydWN0IGF6eCAqY2hpcCA9IGFwY20tPmNoaXA7Ci0Jc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYgPSBnZXRfYXp4X2RldihzdWJzdHJlYW0pOwogCXVuc2lnbmVkIGludCBwb3M7CiAKIAlpZiAoY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfUE9TQlVGIHx8CiAJICAgIGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX0FVVE8pIHsKIAkJLyogdXNlIHRoZSBwb3NpdGlvbiBidWZmZXIgKi8KIAkJcG9zID0gbGUzMl90b19jcHUoKmF6eF9kZXYtPnBvc2J1Zik7Ci0JCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9BVVRPICYmCi0JCSAgICBhenhfZGV2LT5wZXJpb2RfaW50ciA9PSAxICYmICFwb3MpIHsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcKLQkJCSAgICAgICAiaGRhLWludGVsOiBJbnZhbGlkIHBvc2l0aW9uIGJ1ZmZlciwgIgotCQkJICAgICAgICJ1c2luZyBMUElCIHJlYWQgbWV0aG9kIGluc3RlYWQuXG4iKTsKLQkJCWNoaXAtPnBvc2l0aW9uX2ZpeCA9IFBPU19GSVhfTk9ORTsKLQkJCWdvdG8gcmVhZF9scGliOwotCQl9CiAJfSBlbHNlIHsKLQlyZWFkX2xwaWI6CiAJCS8qIHJlYWQgTFBJQiAqLwogCQlwb3MgPSBhenhfc2RfcmVhZGwoYXp4X2RldiwgU0RfTFBJQik7Ci0JCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9GSUZPKQotCQkJcG9zICs9IGF6eF9kZXYtPmZpZm9fc2l6ZTsKIAl9CiAJaWYgKHBvcyA+PSBhenhfZGV2LT5idWZzaXplKQogCQlwb3MgPSAwOwotCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLCBwb3MpOworCXJldHVybiBwb3M7Cit9CisKK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBhenhfcGNtX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF6eF9wY20gKmFwY20gPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IGF6eCAqY2hpcCA9IGFwY20tPmNoaXA7CisJc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYgPSBnZXRfYXp4X2RldihzdWJzdHJlYW0pOworCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLAorCQkJICAgICAgIGF6eF9nZXRfcG9zaXRpb24oY2hpcCwgYXp4X2RldikpOworfQorCisvKgorICogQ2hlY2sgd2hldGhlciB0aGUgY3VycmVudCBETUEgcG9zaXRpb24gaXMgYWNjZXB0YWJsZSBmb3IgdXBkYXRpbmcKKyAqIHBlcmlvZHMuICBSZXR1cm5zIG5vbi16ZXJvIGlmIGl0J3MgT0suCisgKgorICogTWFueSBIRC1hdWRpbyBjb250cm9sbGVycyBhcHBlYXIgcHJldHR5IGluYWNjdXJhdGUgYWJvdXQKKyAqIHRoZSB1cGRhdGUtSVJRIHRpbWluZy4gIFRoZSBJUlEgaXMgaXNzdWVkIGJlZm9yZSBhY3R1YWxseSB0aGUKKyAqIGRhdGEgaXMgcHJvY2Vzc2VkLiAgU28sIHdlIG5lZWQgdG8gcHJvY2VzcyBpdCBhZnRlcndvcmRzIGluIGEKKyAqIHdvcmtxdWV1ZS4KKyAqLworc3RhdGljIGludCBhenhfcG9zaXRpb25fb2soc3RydWN0IGF6eCAqY2hpcCwgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYpCit7CisJdW5zaWduZWQgaW50IHBvczsKKworCXBvcyA9IGF6eF9nZXRfcG9zaXRpb24oY2hpcCwgYXp4X2Rldik7CisJaWYgKGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX0FVVE8pIHsKKwkJaWYgKCFwb3MpIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSAgICAgICAiaGRhLWludGVsOiBJbnZhbGlkIHBvc2l0aW9uIGJ1ZmZlciwgIgorCQkJICAgICAgICJ1c2luZyBMUElCIHJlYWQgbWV0aG9kIGluc3RlYWQuXG4iKTsKKwkJCWNoaXAtPnBvc2l0aW9uX2ZpeCA9IFBPU19GSVhfTFBJQjsKKwkJCXBvcyA9IGF6eF9nZXRfcG9zaXRpb24oY2hpcCwgYXp4X2Rldik7CisJCX0gZWxzZQorCQkJY2hpcC0+cG9zaXRpb25fZml4ID0gUE9TX0ZJWF9QT1NCVUY7CisJfQorCisJaWYgKHBvcyAlIGF6eF9kZXYtPnBlcmlvZF9ieXRlcyA+IGF6eF9kZXYtPnBlcmlvZF9ieXRlcyAvIDIpCisJCXJldHVybiAwOyAvKiBORyAtIGl0J3MgYmVsb3cgdGhlIHBlcmlvZCBib3VuZGFyeSAqLworCXJldHVybiAxOyAvKiBPSywgaXQncyBmaW5lICovCit9CisKKy8qCisgKiBUaGUgd29yayBmb3IgcGVuZGluZyBQQ00gcGVyaW9kIHVwZGF0ZXMuCisgKi8KK3N0YXRpYyB2b2lkIGF6eF9pcnFfcGVuZGluZ193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgYXp4ICpjaGlwID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBhengsIGlycV9wZW5kaW5nX3dvcmspOworCWludCBpLCBwZW5kaW5nOworCisJaWYgKCFjaGlwLT5pcnFfcGVuZGluZ193YXJuZWQpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkgICAgICAgImhkYS1pbnRlbDogSVJRIHRpbWluZyB3b3JrYXJvdW5kIGlzIGFjdGl2YXRlZCAiCisJCSAgICAgICAiZm9yIGNhcmQgIyVkLiBTdWdnZXN0IGEgYmlnZ2VyIGJkbF9wb3NfYWRqLlxuIiwKKwkJICAgICAgIGNoaXAtPmNhcmQtPm51bWJlcik7CisJCWNoaXAtPmlycV9wZW5kaW5nX3dhcm5lZCA9IDE7CisJfQorCisJZm9yICg7OykgeworCQlwZW5kaW5nID0gMDsKKwkJc3Bpbl9sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCQlmb3IgKGkgPSAwOyBpIDwgY2hpcC0+bnVtX3N0cmVhbXM7IGkrKykgeworCQkJc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYgPSAmY2hpcC0+YXp4X2RldltpXTsKKwkJCWlmICghYXp4X2Rldi0+aXJxX3BlbmRpbmcgfHwKKwkJCSAgICAhYXp4X2Rldi0+c3Vic3RyZWFtIHx8CisJCQkgICAgIWF6eF9kZXYtPnJ1bm5pbmcpCisJCQkJY29udGludWU7CisJCQlpZiAoYXp4X3Bvc2l0aW9uX29rKGNoaXAsIGF6eF9kZXYpKSB7CisJCQkJYXp4X2Rldi0+aXJxX3BlbmRpbmcgPSAwOworCQkJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChhenhfZGV2LT5zdWJzdHJlYW0pOworCQkJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOworCQkJfSBlbHNlCisJCQkJcGVuZGluZysrOworCQl9CisJCXNwaW5fdW5sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCQlpZiAoIXBlbmRpbmcpCisJCQlyZXR1cm47CisJCWNvbmRfcmVzY2hlZCgpOworCX0KK30KKworLyogY2xlYXIgaXJxX3BlbmRpbmcgZmxhZ3MgYW5kIGFzc3VyZSBubyBvbi1nb2luZyB3b3JrcSAqLworc3RhdGljIHZvaWQgYXp4X2NsZWFyX2lycV9wZW5kaW5nKHN0cnVjdCBhenggKmNoaXApCit7CisJaW50IGk7CisKKwlzcGluX2xvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJZm9yIChpID0gMDsgaSA8IGNoaXAtPm51bV9zdHJlYW1zOyBpKyspCisJCWNoaXAtPmF6eF9kZXZbaV0uaXJxX3BlbmRpbmcgPSAwOworCXNwaW5fdW5sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCWZsdXNoX3NjaGVkdWxlZF93b3JrKCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgYXp4X3BjbV9vcHMgPSB7CkBAIC0xNjc2LDYgKzE4MjYsNyBAQAogCWludCBpOwogCiAJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCWF6eF9jbGVhcl9pcnFfcGVuZGluZyhjaGlwKTsKIAlmb3IgKGkgPSAwOyBpIDwgQVpYX01BWF9QQ01TOyBpKyspCiAJCXNuZF9wY21fc3VzcGVuZF9hbGwoY2hpcC0+cGNtW2ldKTsKIAlpZiAoY2hpcC0+aW5pdGlhbGl6ZWQpCkBAIC0xNzMyLDYgKzE4ODMsNyBAQAogCWludCBpOwogCiAJaWYgKGNoaXAtPmluaXRpYWxpemVkKSB7CisJCWF6eF9jbGVhcl9pcnFfcGVuZGluZyhjaGlwKTsKIAkJZm9yIChpID0gMDsgaSA8IGNoaXAtPm51bV9zdHJlYW1zOyBpKyspCiAJCQlhenhfc3RyZWFtX3N0b3AoY2hpcCwgJmNoaXAtPmF6eF9kZXZbaV0pOwogCQlhenhfc3RvcF9jaGlwKGNoaXApOwpAQCAtMTc3MCw5ICsxOTIyLDkgQEAKICAqIHdoaXRlL2JsYWNrLWxpc3RpbmcgZm9yIHBvc2l0aW9uX2ZpeAogICovCiBzdGF0aWMgc3RydWN0IHNuZF9wY2lfcXVpcmsgcG9zaXRpb25fZml4X2xpc3RbXSBfX2RldmluaXRkYXRhID0gewotCVNORF9QQ0lfUVVJUksoMHgxMDI4LCAweDAxY2MsICJEZWxsIEQ4MjAiLCBQT1NfRklYX05PTkUpLAotCVNORF9QQ0lfUVVJUksoMHgxMDI4LCAweDAxZGUsICJEZWxsIFByZWNpc2lvbiAzOTAiLCBQT1NfRklYX05PTkUpLAotCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgxM2QsICJBU1VTIFA1QUQyIiwgUE9TX0ZJWF9OT05FKSwKKwlTTkRfUENJX1FVSVJLKDB4MTAyOCwgMHgwMWNjLCAiRGVsbCBEODIwIiwgUE9TX0ZJWF9MUElCKSwKKwlTTkRfUENJX1FVSVJLKDB4MTAyOCwgMHgwMWRlLCAiRGVsbCBQcmVjaXNpb24gMzkwIiwgUE9TX0ZJWF9MUElCKSwKKwlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MTNkLCAiQVNVUyBQNUFEMiIsIFBPU19GSVhfTFBJQiksCiAJe30KIH07CiAKQEAgLTE4NTcsMTIgKzIwMDksMjUgQEAKIAljaGlwLT5pcnEgPSAtMTsKIAljaGlwLT5kcml2ZXJfdHlwZSA9IGRyaXZlcl90eXBlOwogCWNoaXAtPm1zaSA9IGVuYWJsZV9tc2k7CisJY2hpcC0+ZGV2X2luZGV4ID0gZGV2OworCUlOSVRfV09SSygmY2hpcC0+aXJxX3BlbmRpbmdfd29yaywgYXp4X2lycV9wZW5kaW5nX3dvcmspOwogCiAJY2hpcC0+cG9zaXRpb25fZml4ID0gY2hlY2tfcG9zaXRpb25fZml4KGNoaXAsIHBvc2l0aW9uX2ZpeFtkZXZdKTsKIAljaGVja19wcm9iZV9tYXNrKGNoaXAsIGRldik7CiAKIAljaGlwLT5zaW5nbGVfY21kID0gc2luZ2xlX2NtZDsKIAorCWlmIChiZGxfcG9zX2FkaltkZXZdIDwgMCkgeworCQlzd2l0Y2ggKGNoaXAtPmRyaXZlcl90eXBlKSB7CisJCWNhc2UgQVpYX0RSSVZFUl9JQ0g6CisJCQliZGxfcG9zX2FkaltkZXZdID0gMTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYmRsX3Bvc19hZGpbZGV2XSA9IDMyOworCQkJYnJlYWs7CisJCX0KKwl9CisKICNpZiBCSVRTX1BFUl9MT05HICE9IDY0CiAJLyogRml4IHVwIGJhc2UgYWRkcmVzcyBvbiBVTEkgTTU0NjEgKi8KIAlpZiAoY2hpcC0+ZHJpdmVyX3R5cGUgPT0gQVpYX0RSSVZFUl9VTEkpIHsKQEAgLTIwODksNiArMjI1NCw3IEBACiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyN2Q4KSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI2OWEpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4Mjg0YiksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCisJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyOTExKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI5M2UpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4MjkzZiksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgzYTNlKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKQEAgLTIxNDEsNiArMjMwNyw4IEBACiAJeyBQQ0lfREVWSUNFKDB4MTBkZSwgMHgwYmQ1KSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9OVklESUEgfSwKIAl7IFBDSV9ERVZJQ0UoMHgxMGRlLCAweDBiZDYpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX05WSURJQSB9LAogCXsgUENJX0RFVklDRSgweDEwZGUsIDB4MGJkNyksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfTlZJRElBIH0sCisJLyogVGVyYWRpY2kgKi8KKwl7IFBDSV9ERVZJQ0UoMHg2NTQ5LCAweDEyMDApLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX1RFUkEgfSwKIAl7IDAsIH0KIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHBjaSwgYXp4X2lkcyk7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9wcm9jLmMgYi9zb3VuZC9wY2kvaGRhL2hkYV9wcm9jLmMKaW5kZXggNTYzM2Y3Ny4uMWU1YWZmNSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfcHJvYy5jCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX3Byb2MuYwpAQCAtMzY2LDggKzM2Niw2IEBACiB7CiAJdW5zaWduZWQgaW50IGRpZ2kxID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCBuaWQsIDAsCiAJCQkJCQlBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMSwgMCk7Ci0JdW5zaWduZWQgaW50IGRpZ2kyID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCBuaWQsIDAsCi0JCQkJCQlBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMiwgMCk7CiAJc25kX2lwcmludGYoYnVmZmVyLCAiICBEaWdpdGFsOiIpOwogCWlmIChkaWdpMSAmIEFDX0RJRzFfRU5BQkxFKQogCQlzbmRfaXByaW50ZihidWZmZXIsICIgRW5hYmxlZCIpOwpAQCAtMzg2LDcgKzM4NCw4IEBACiAJaWYgKGRpZ2kxICYgQUNfRElHMV9MRVZFTCkKIAkJc25kX2lwcmludGYoYnVmZmVyLCAiIEdlbkxldmVsIik7CiAJc25kX2lwcmludGYoYnVmZmVyLCAiXG4iKTsKLQlzbmRfaXByaW50ZihidWZmZXIsICIgIERpZ2l0YWwgY2F0ZWdvcnk6IDB4JXhcbiIsIGRpZ2kyICYgQUNfRElHMl9DQyk7CisJc25kX2lwcmludGYoYnVmZmVyLCAiICBEaWdpdGFsIGNhdGVnb3J5OiAweCV4XG4iLAorCQkgICAgKGRpZ2kxID4+IDgpICYgQUNfRElHMl9DQyk7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICpnZXRfcHdyX3N0YXRlKHUzMiBzdGF0ZSkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfYW5hbG9nLmMgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2FuYWxvZy5jCmluZGV4IGE5OWU4NmQuLmU4MDAzZDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfYW5hbG9nLmMKKysrIGIvc291bmQvcGNpL2hkYS9wYXRjaF9hbmFsb2cuYwpAQCAtMjMsNyArMjMsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CiAjaW5jbHVkZSAiaGRhX2NvZGVjLmgiCkBAIC02NCw3ICs2Myw2IEBACiAJLyogUENNIGluZm9ybWF0aW9uICovCiAJc3RydWN0IGhkYV9wY20gcGNtX3JlY1szXTsJLyogdXNlZCBpbiBhbGNfYnVpbGRfcGNtcygpICovCiAKLQlzdHJ1Y3QgbXV0ZXggYW1wX211dGV4OwkvKiBQQ00gdm9sdW1lL211dGUgY29udHJvbCBtdXRleCAqLwogCXVuc2lnbmVkIGludCBzcGRpZl9yb3V0ZTsKIAogCS8qIGR5bmFtaWMgY29udHJvbHMsIGluaXRfdmVyYnMgYW5kIGlucHV0X211eCAqLwpAQCAtMTYxOCw2ICsxNjE2LDcgQEAKIAogc3RhdGljIHN0cnVjdCBzbmRfcGNpX3F1aXJrIGFkMTk4MV9jZmdfdGJsW10gPSB7CiAJU05EX1BDSV9RVUlSSygweDEwMTQsIDB4MDU5NywgIkxlbm92byBaNjAiLCBBRDE5ODFfVEhJTktQQUQpLAorCVNORF9QQ0lfUVVJUksoMHgxMDE0LCAweDA1YjcsICJMZW5vdm8gWjYwbSIsIEFEMTk4MV9USElOS1BBRCksCiAJLyogQWxsIEhQIG1vZGVscyAqLwogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAwLCAiSFAgbngiLCBBRDE5ODFfSFApLAogCVNORF9QQ0lfUVVJUksoMHgxMTc5LCAweDAwMDEsICJUb3NoaWJhIFUyMDUiLCBBRDE5ODFfVE9TSElCQSksCkBAIC0yNjIzLDcgKzI2MjIsNyBAQAogewogCXN0cnVjdCBhZDE5OHhfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOwogCWhkYV9uaWRfdCBuaWQ7Ci0JaW50IGlkeCwgZXJyOworCWludCBpLCBpZHgsIGVycjsKIAljaGFyIG5hbWVbMzJdOwogCiAJaWYgKCEgcGluKQpAQCAtMjYzMSwxNiArMjYzMCwyNiBAQAogCiAJaWR4ID0gYWQxOTg4X3Bpbl9pZHgocGluKTsKIAluaWQgPSBhZDE5ODhfaWR4X3RvX2RhYyhjb2RlYywgaWR4KTsKLQkvKiBzcGVjaWZ5IHRoZSBEQUMgYXMgdGhlIGV4dHJhIG91dHB1dCAqLwotCWlmICghIHNwZWMtPm11bHRpb3V0LmhwX25pZCkKLQkJc3BlYy0+bXVsdGlvdXQuaHBfbmlkID0gbmlkOwotCWVsc2UKLQkJc3BlYy0+bXVsdGlvdXQuZXh0cmFfb3V0X25pZFswXSA9IG5pZDsKLQkvKiBjb250cm9sIEhQIHZvbHVtZS9zd2l0Y2ggb24gdGhlIG91dHB1dCBtaXhlciBhbXAgKi8KLQlzcHJpbnRmKG5hbWUsICIlcyBQbGF5YmFjayBWb2x1bWUiLCBwZngpOwotCWlmICgoZXJyID0gYWRkX2NvbnRyb2woc3BlYywgQURfQ1RMX1dJREdFVF9WT0wsIG5hbWUsCi0JCQkgICAgICAgSERBX0NPTVBPU0VfQU1QX1ZBTChuaWQsIDMsIDAsIEhEQV9PVVRQVVQpKSkgPCAwKQotCQlyZXR1cm4gZXJyOworCS8qIGNoZWNrIHdoZXRoZXIgdGhlIGNvcnJlc3BvbmRpbmcgREFDIHdhcyBhbHJlYWR5IHRha2VuICovCisJZm9yIChpID0gMDsgaSA8IHNwZWMtPmF1dG9jZmcubGluZV9vdXRzOyBpKyspIHsKKwkJaGRhX25pZF90IHBpbiA9IHNwZWMtPmF1dG9jZmcubGluZV9vdXRfcGluc1tpXTsKKwkJaGRhX25pZF90IGRhYyA9IGFkMTk4OF9pZHhfdG9fZGFjKGNvZGVjLCBhZDE5ODhfcGluX2lkeChwaW4pKTsKKwkJaWYgKGRhYyA9PSBuaWQpCisJCQlicmVhazsKKwl9CisJaWYgKGkgPj0gc3BlYy0+YXV0b2NmZy5saW5lX291dHMpIHsKKwkJLyogc3BlY2lmeSB0aGUgREFDIGFzIHRoZSBleHRyYSBvdXRwdXQgKi8KKwkJaWYgKCFzcGVjLT5tdWx0aW91dC5ocF9uaWQpCisJCQlzcGVjLT5tdWx0aW91dC5ocF9uaWQgPSBuaWQ7CisJCWVsc2UKKwkJCXNwZWMtPm11bHRpb3V0LmV4dHJhX291dF9uaWRbMF0gPSBuaWQ7CisJCS8qIGNvbnRyb2wgSFAgdm9sdW1lL3N3aXRjaCBvbiB0aGUgb3V0cHV0IG1peGVyIGFtcCAqLworCQlzcHJpbnRmKG5hbWUsICIlcyBQbGF5YmFjayBWb2x1bWUiLCBwZngpOworCQllcnIgPSBhZGRfY29udHJvbChzcGVjLCBBRF9DVExfV0lER0VUX1ZPTCwgbmFtZSwKKwkJCQkgIEhEQV9DT01QT1NFX0FNUF9WQUwobmlkLCAzLCAwLCBIREFfT1VUUFVUKSk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CiAJbmlkID0gYWQxOTg4X21peGVyX25pZHNbaWR4XTsKIAlzcHJpbnRmKG5hbWUsICIlcyBQbGF5YmFjayBTd2l0Y2giLCBwZngpOwogCWlmICgoZXJyID0gYWRkX2NvbnRyb2woc3BlYywgQURfQ1RMX0JJTkRfTVVURSwgbmFtZSwKQEAgLTMxNzcsNyArMzE4Niw2IEBACiAJaWYgKHNwZWMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDI7CkBAIC0zODQ3LDcgKzM4NTUsNiBAQAogCWlmIChzcGVjID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAlzcGVjLT5tdWx0aW91dC5tYXhfY2hhbm5lbHMgPSAyOwpAQCAtNDE1Miw3ICs0MTU5LDYgQEAKIAlpZiAoc3BlYyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gNjsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfY29uZXhhbnQuYyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfY29uZXhhbnQuYwppbmRleCAzNmZkODUyLi43YzFlYjIzIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL3BhdGNoX2NvbmV4YW50LmMKKysrIGIvc291bmQvcGNpL2hkYS9wYXRjaF9jb25leGFudC5jCkBAIC04Miw3ICs4Miw2IEBACiAJLyogUENNIGluZm9ybWF0aW9uICovCiAJc3RydWN0IGhkYV9wY20gcGNtX3JlY1syXTsJLyogdXNlZCBpbiBidWlsZF9wY21zKCkgKi8KIAotCXN0cnVjdCBtdXRleCBhbXBfbXV0ZXg7CS8qIFBDTSB2b2x1bWUvbXV0ZSBjb250cm9sIG11dGV4ICovCiAJdW5zaWduZWQgaW50IHNwZGlmX3JvdXRlOwogCiAJLyogZHluYW1pYyBjb250cm9scywgaW5pdF92ZXJicyBhbmQgaW5wdXRfbXV4ICovCkBAIC02ODcsNyArNjg2LDcgQEAKIAogc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBjeHQ1MDQ1X2luaXRfdmVyYnNbXSA9IHsKIAkvKiBMaW5lIGluLCBNaWMgKi8KLQl7MHgxMiwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSU4gfSwKKwl7MHgxMiwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSU58QUNfUElOQ1RMX1ZSRUZfODAgfSwKIAl7MHgxNCwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSU58QUNfUElOQ1RMX1ZSRUZfODAgfSwKIAkvKiBIUCwgQW1wICAqLwogCXsweDEwLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVR9LApAQCAtOTA3LDEwICs5MDYsMTIgQEAKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMGNmLCAiSFAgRFY5NTMzRUciLCBDWFQ1MDQ1X0xBUFRPUF9IUFNFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMGQ1LCAiSFAgNTMwIiwgQ1hUNTA0NV9MQVBUT1BfSFA1MzApLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwZDksICJIUCBTcGFydGFuIiwgQ1hUNTA0NV9MQVBUT1BfSFBTRU5TRSksCisJU05EX1BDSV9RVUlSSygweDExNzksIDB4ZmYzMSwgIlRvc2hpYmEgUDEwNSIsIENYVDUwNDVfTEFQVE9QX01JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTUyZCwgMHgwNzUzLCAiQmVucSBSNTVFIiwgQ1hUNTA0NV9CRU5RKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMGFkLCAiRnVqaXRzdSBTaTE1MjAiLCBDWFQ1MDQ1X0xBUFRPUF9NSUNTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTBjYiwgIkZ1aml0c3UgU2kzNTE1IiwgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCi0JU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTEwZSwgIkZ1aml0c3UgVjU1MDUiLCBDWFQ1MDQ1X0xBUFRPUF9IUFNFTlNFKSwKKwlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMTBlLCAiRnVqaXRzdSBWNTUwNSIsCisJCSAgICAgIENYVDUwNDVfTEFQVE9QX0hQTUlDU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxNTA5LCAweDFlNDAsICJGSUMiLCBDWFQ1MDQ1X0xBUFRPUF9IUE1JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTUwOSwgMHgyZjA1LCAiRklDIiwgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDE1MDksIDB4MmYwNiwgIkZJQyIsIENYVDUwNDVfTEFQVE9QX0hQTUlDU0VOU0UpLApAQCAtOTI4LDcgKzkyOSw2IEBACiAJc3BlYyA9IGt6YWxsb2Moc2l6ZW9mKCpzcGVjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzcGVjKQogCQlyZXR1cm4gLUVOT01FTTsKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDI7CkBAIC05NjMsNiArOTYzLDcgQEAKIAkJY29kZWMtPnBhdGNoX29wcy5pbml0ID0gY3h0NTA0NV9pbml0OwogCQlicmVhazsKIAljYXNlIENYVDUwNDVfTEFQVE9QX01JQ1NFTlNFOgorCQljb2RlYy0+cGF0Y2hfb3BzLnVuc29sX2V2ZW50ID0gY3h0NTA0NV9ocF91bnNvbF9ldmVudDsKIAkJc3BlYy0+aW5wdXRfbXV4ID0gJmN4dDUwNDVfY2FwdHVyZV9zb3VyY2U7CiAJCXNwZWMtPm51bV9pbml0X3ZlcmJzID0gMjsKIAkJc3BlYy0+aW5pdF92ZXJic1sxXSA9IGN4dDUwNDVfbWljX3NlbnNlX2luaXRfdmVyYnM7CkBAIC0xMDA3LDE1ICsxMDA4LDE5IEBACiAjZW5kaWYJCiAJfQogCi0JLyoKLQkgKiBGaXggbWF4IFBDTSBsZXZlbCB0byAwIGRCCi0JICogKG9yaWdpbmFsbCBpdCBoYXMgMHgyYiBzdGVwcyB3aXRoIDBkQiBvZmZzZXQgMHgxNCkKLQkgKi8KLQlzbmRfaGRhX292ZXJyaWRlX2FtcF9jYXBzKGNvZGVjLCAweDE3LCBIREFfSU5QVVQsCi0JCQkJICAoMHgxNCA8PCBBQ19BTVBDQVBfT0ZGU0VUX1NISUZUKSB8Ci0JCQkJICAoMHgxNCA8PCBBQ19BTVBDQVBfTlVNX1NURVBTX1NISUZUKSB8Ci0JCQkJICAoMHgwNSA8PCBBQ19BTVBDQVBfU1RFUF9TSVpFX1NISUZUKSB8Ci0JCQkJICAoMSA8PCBBQ19BTVBDQVBfTVVURV9TSElGVCkpOworCXN3aXRjaCAoY29kZWMtPnN1YnN5c3RlbV9pZCA+PiAxNikgeworCWNhc2UgMHgxMDNjOgorCQkvKiBIUCBsYXB0b3AgaGFzIGEgcmVhbGx5IGJhZCBzb3VuZCBvdmVyIDBkQiBvbiBOSUQgMHgxNy4KKwkJICogRml4IG1heCBQQ00gbGV2ZWwgdG8gMCBkQgorCQkgKiAob3JpZ2luYWxsIGl0IGhhcyAweDJiIHN0ZXBzIHdpdGggMGRCIG9mZnNldCAweDE0KQorCQkgKi8KKwkJc25kX2hkYV9vdmVycmlkZV9hbXBfY2Fwcyhjb2RlYywgMHgxNywgSERBX0lOUFVULAorCQkJCQkgICgweDE0IDw8IEFDX0FNUENBUF9PRkZTRVRfU0hJRlQpIHwKKwkJCQkJICAoMHgxNCA8PCBBQ19BTVBDQVBfTlVNX1NURVBTX1NISUZUKSB8CisJCQkJCSAgKDB4MDUgPDwgQUNfQU1QQ0FQX1NURVBfU0laRV9TSElGVCkgfAorCQkJCQkgICgxIDw8IEFDX0FNUENBUF9NVVRFX1NISUZUKSk7CisJCWJyZWFrOworCX0KIAogCXJldHVybiAwOwogfQpAQCAtMTQ3Nyw3ICsxNDgyLDYgQEAKIAlzcGVjID0ga3phbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNwZWMpCiAJCXJldHVybiAtRU5PTUVNOwotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gMjsKQEAgLTE3MzYsNyArMTc0MCw2IEBACiAJc3BlYyA9IGt6YWxsb2Moc2l6ZW9mKCpzcGVjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzcGVjKQogCQlyZXR1cm4gLUVOT01FTTsKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCWNvZGVjLT5wYXRjaF9vcHMgPSBjb25leGFudF9wYXRjaF9vcHM7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL3BhdGNoX3JlYWx0ZWsuYyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jCmluZGV4IGIwYTJhMjYuLjI4MDdiYzggMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jCisrKyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jCkBAIC0xNjMsNiArMTYzLDEwIEBACiAJQUxDNjYyX0xFTk9WT18xMDFFLAogCUFMQzY2Ml9BU1VTX0VFRVBDX1A3MDEsCiAJQUxDNjYyX0FTVVNfRUVFUENfRVAyMCwKKwlBTEM2NjNfQVNVU19NNTFWQSwKKwlBTEM2NjNfQVNVU19HNzFWLAorCUFMQzY2M19BU1VTX0gxMywKKwlBTEM2NjNfQVNVU19HNTBWLAogCUFMQzY2Ml9BVVRPLAogCUFMQzY2Ml9NT0RFTF9MQVNULAogfTsKQEAgLTIwNSw2ICsyMDksNyBAQAogCUFMQzg4M19NSVRBQywKIAlBTEM4ODNfQ0xFVk9fTTcyMCwKIAlBTEM4ODNfRlVKSVRTVV9QSTI1MTUsCisJQUxDODgzXzNTVF82Y2hfSU5URUwsCiAJQUxDODgzX0FVVE8sCiAJQUxDODgzX01PREVMX0xBU1QsCiB9OwpAQCAtMjgwLDYgKzI4NSwxMCBAQAogI2lmZGVmIENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUKIAlzdHJ1Y3QgaGRhX2xvb3BiYWNrX2NoZWNrIGxvb3BiYWNrOwogI2VuZGlmCisKKwkvKiBmb3IgUExMIGZpeCAqLworCWhkYV9uaWRfdCBwbGxfbmlkOworCXVuc2lnbmVkIGludCBwbGxfY29lZl9pZHgsIHBsbF9jb2VmX2JpdDsKIH07CiAKIC8qCkBAIC03NDcsNiArNzU2LDM4IEBACiAJeyB9CiB9OwogCisvKgorICogRml4IGhhcmR3YXJlIFBMTCBpc3N1ZQorICogT24gc29tZSBjb2RlY3MsIHRoZSBhbmFsb2cgUExMIGdhdGluZyBjb250cm9sIG11c3QgYmUgb2ZmIHdoaWxlCisgKiB0aGUgZGVmYXVsdCB2YWx1ZSBpcyAxLgorICovCitzdGF0aWMgdm9pZCBhbGNfZml4X3BsbChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlzdHJ1Y3QgYWxjX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKKwl1bnNpZ25lZCBpbnQgdmFsOworCisJaWYgKCFzcGVjLT5wbGxfbmlkKQorCQlyZXR1cm47CisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgc3BlYy0+cGxsX25pZCwgMCwgQUNfVkVSQl9TRVRfQ09FRl9JTkRFWCwKKwkJCSAgICBzcGVjLT5wbGxfY29lZl9pZHgpOworCXZhbCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgc3BlYy0+cGxsX25pZCwgMCwKKwkJCQkgQUNfVkVSQl9HRVRfUFJPQ19DT0VGLCAwKTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCBzcGVjLT5wbGxfbmlkLCAwLCBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLAorCQkJICAgIHNwZWMtPnBsbF9jb2VmX2lkeCk7CisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgc3BlYy0+cGxsX25pZCwgMCwgQUNfVkVSQl9TRVRfUFJPQ19DT0VGLAorCQkJICAgIHZhbCAmIH4oMSA8PCBzcGVjLT5wbGxfY29lZl9iaXQpKTsKK30KKworc3RhdGljIHZvaWQgYWxjX2ZpeF9wbGxfaW5pdChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywgaGRhX25pZF90IG5pZCwKKwkJCSAgICAgdW5zaWduZWQgaW50IGNvZWZfaWR4LCB1bnNpZ25lZCBpbnQgY29lZl9iaXQpCit7CisJc3RydWN0IGFsY19zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CisJc3BlYy0+cGxsX25pZCA9IG5pZDsKKwlzcGVjLT5wbGxfY29lZl9pZHggPSBjb2VmX2lkeDsKKwlzcGVjLT5wbGxfY29lZl9iaXQgPSBjb2VmX2JpdDsKKwlhbGNfZml4X3BsbChjb2RlYyk7Cit9CisKIHN0YXRpYyB2b2lkIGFsY19za3VfYXV0b211dGUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCiB7CiAJc3RydWN0IGFsY19zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CkBAIC03NzYsNiArODE3LDI0IEBACiAJYWxjX3NrdV9hdXRvbXV0ZShjb2RlYyk7CiB9CiAKKy8qIGFkZGl0aW9uYWwgaW5pdGlhbGl6YXRpb24gZm9yIEFMQzg4OCB2YXJpYW50cyAqLworc3RhdGljIHZvaWQgYWxjODg4X2NvZWZfaW5pdChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgdG1wOworCisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgyMCwgMCwgQUNfVkVSQl9TRVRfQ09FRl9JTkRFWCwgMCk7CisJdG1wID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDIwLCAwLCBBQ19WRVJCX0dFVF9QUk9DX0NPRUYsIDApOworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MjAsIDAsIEFDX1ZFUkJfU0VUX0NPRUZfSU5ERVgsIDcpOworCWlmICgodG1wICYgMHhmMCkgPT0gMikKKwkJLyogYWxjODg4Uy1WQyAqLworCQlzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjAsIDAsCisJCQkJICAgQUNfVkVSQl9TRVRfUFJPQ19DT0VGLCAweDgzMCk7CisJIGVsc2UKKwkJIC8qIGFsYzg4OC1WQiAqLworCQkgc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDIwLCAwLAorCQkJCSAgICBBQ19WRVJCX1NFVF9QUk9DX0NPRUYsIDB4MzAzMCk7Cit9CisKIC8qIDMyLWJpdCBzdWJzeXN0ZW0gSUQgZm9yIEJJT1MgbG9hZGluZyBpbiBIRCBBdWRpbyBjb2RlYy4KICAqCTMxIH4gMTYgOglNYW51ZmFjdHVyZSBJRAogICoJMTUgfiA4CToJU0tVIElECkBAIC04NTEsOCArOTEwLDEwIEBACiAJCWNhc2UgMHgxMGVjMDI2NzoKIAkJY2FzZSAweDEwZWMwMjY4OgogCQljYXNlIDB4MTBlYzAyNjk6CisJCWNhc2UgMHgxMGVjMDY2MDoKKwkJY2FzZSAweDEwZWMwNjYyOgorCQljYXNlIDB4MTBlYzA2NjM6CiAJCWNhc2UgMHgxMGVjMDg2MjoKLQkJY2FzZSAweDEwZWMwNjYyOgkKIAkJY2FzZSAweDEwZWMwODg5OgogCQkJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgxNCwgMCwKIAkJCQkJICAgIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyKTsKQEAgLTg3Nyw3ICs5MzgsNiBAQAogCQljYXNlIDB4MTBlYzA4ODI6CiAJCWNhc2UgMHgxMGVjMDg4MzoKIAkJY2FzZSAweDEwZWMwODg1OgotCQljYXNlIDB4MTBlYzA4ODg6CiAJCWNhc2UgMHgxMGVjMDg4OToKIAkJCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MjAsIDAsCiAJCQkJCSAgICBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLCA3KTsKQEAgLTg4OSw2ICs5NDksOSBAQAogCQkJCQkgICAgQUNfVkVSQl9TRVRfUFJPQ19DT0VGLAogCQkJCQkgICAgdG1wIHwgMHgyMDEwKTsKIAkJCWJyZWFrOworCQljYXNlIDB4MTBlYzA4ODg6CisJCQlhbGM4ODhfY29lZl9pbml0KGNvZGVjKTsKKwkJCWJyZWFrOwogCQljYXNlIDB4MTBlYzAyNjc6CiAJCWNhc2UgMHgxMGVjMDI2ODoKIAkJCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MjAsIDAsCkBAIC0yMzczLDYgKzI0MzYsOCBAQAogCXN0cnVjdCBhbGNfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOwogCXVuc2lnbmVkIGludCBpOwogCisJYWxjX2ZpeF9wbGwoY29kZWMpOworCiAJZm9yIChpID0gMDsgaSA8IHNwZWMtPm51bV9pbml0X3ZlcmJzOyBpKyspCiAJCXNuZF9oZGFfc2VxdWVuY2Vfd3JpdGUoY29kZWMsIHNwZWMtPmluaXRfdmVyYnNbaV0pOwogCkBAIC0zMDA5LDYgKzMwNzQsNyBAQAogCVNORF9QQ0lfUVVJUksoMHgxNjk1LCAweDQwMGQsICJFUG9YIiwgQUxDODgwXzVTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxNjk1LCAweDQwMTIsICJFUG94IEVQLTVMREEiLCBBTEM4ODBfNVNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTA3YywgIkZTQyBGMTczNCIsIEFMQzg4MF9GMTczNCksCisJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTA5NCwgIkZTQyBBbWlsbyBNMTQ1MUciLCBBTEM4ODBfRlVKSVRTVSksCiAJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTBhYywgIkZTQyIsIEFMQzg4MF9VTklXSUxMKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMGIwLCAiRnVqaXRzdSIsIEFMQzg4MF9GVUpJVFNVKSwKIAlTTkRfUENJX1FVSVJLKDB4MTg1NCwgMHgwMDE4LCAiTEcgTFcyMCIsIEFMQzg4MF9MR19MVyksCkBAIC01MTAxLDcgKzUxNjcsNyBAQAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDI4MDgsICJIUCBkNTcwMCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgyODBhLCAiSFAgZDU3NTAiLCBBTEMyNjBfSFBfMzAxMyksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMCwgIkhQIiwgQUxDMjYwX0hQXzMwMTMpLAotCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTEsICJIUCIsIEFMQzI2MF9IUCksCisJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMSwgIkhQIiwgQUxDMjYwX0hQXzMwMTMpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTIsICJIUCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDEzLCAiSFAiLCBBTEMyNjBfSFBfMzAxMyksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxNCwgIkhQIiwgQUxDMjYwX0hQKSwKQEAgLTYxMjcsNiArNjE5Myw3IEBACiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODE3ZiwgIkFzdXMgUDVMRDIiLCBBTEM4ODJfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODFkOCwgIkFzdXMgUDVXRCIsIEFMQzg4Ml82U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA1YiwgMHg2NjY4LCAiRm94Y29ubiIsIEFMQzg4Ml82U1RfRElHKSwKKwlTTkRfUENJX1FVSVJLKDB4MTA2YiwgMHgwMGEwLCAiQXBwbGUgaU1hYyAyNCcnIiwgQUxDODg1X0lNQUMyNCksCiAJU05EX1BDSV9RVUlSSygweDE0NTgsIDB4YTAwMiwgIkdpZ2FieXRlIFAzNSBEUzNSIiwgQUxDODgyXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxNDYyLCAweDI4ZmIsICJUYXJnYSBUOCIsIEFMQzg4Ml9UQVJHQSksIC8qIE1TSS0xMDQ5IFQ4ICAqLwogCVNORF9QQ0lfUVVJUksoMHgxNDYyLCAweDY2NjgsICJNU0kiLCBBTEM4ODJfNlNUX0RJRyksCkBAIC02MzUzLDcgKzY0MjAsOSBAQAogCQkJY29udGludWU7CiAJCXZyZWYgPSBQSU5fSU47CiAJCWlmICgxIC8qaSA8PSBBVVRPX1BJTl9GUk9OVF9NSUMqLykgewotCQkJaWYgKHNuZF9oZGFfcGFyYW1fcmVhZChjb2RlYywgbmlkLCBBQ19QQVJfUElOX0NBUCkgJgorCQkJdW5zaWduZWQgaW50IHBpbmNhcDsKKwkJCXBpbmNhcCA9IHNuZF9oZGFfcGFyYW1fcmVhZChjb2RlYywgbmlkLCBBQ19QQVJfUElOX0NBUCk7CisJCQlpZiAoKHBpbmNhcCA+PiBBQ19QSU5DQVBfVlJFRl9TSElGVCkgJgogCQkJICAgIEFDX1BJTkNBUF9WUkVGXzgwKQogCQkJCXZyZWYgPSBQSU5fVlJFRjgwOwogCQl9CkBAIC02NDUwLDggKzY1MTksOSBAQAogCQljYXNlIDB4MTA2YjEwMDA6IC8qIGlNYWMgMjQgKi8KIAkJCWJvYXJkX2NvbmZpZyA9IEFMQzg4NV9JTUFDMjQ7CiAJCQlicmVhazsKLQkJY2FzZSAweDEwNmIwMGExOiAvKiBNYWNib29rICovCisJCWNhc2UgMHgxMDZiMDBhMTogLyogTWFjYm9vayAobWlnaHQgYmUgd3JvbmcgLSBQQ0kgU1NJRD8pICovCiAJCWNhc2UgMHgxMDZiMmMwMDogLyogTWFjYm9vayBQcm8gcmV2MyAqLworCQljYXNlIDB4MTA2YjM2MDA6IC8qIE1hY2Jvb2sgMy4xICovCiAJCQlib2FyZF9jb25maWcgPSBBTEM4ODVfTUJQMzsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgpAQCAtNjQ4NSwxNCArNjU1NSwyMCBAQAogCWlmIChib2FyZF9jb25maWcgIT0gQUxDODgyX0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjODgyX3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODgyIEFuYWxvZyI7CisJaWYgKGNvZGVjLT52ZW5kb3JfaWQgPT0gMHgxMGVjMDg4NSkgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODg1IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODg1IERpZ2l0YWwiOworCX0gZWxzZSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODIgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODIgRGlnaXRhbCI7CisJfQorCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19wbGF5YmFjayA9ICZhbGM4ODJfcGNtX2FuYWxvZ19wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2NhcHR1cmUgPSAmYWxjODgyX3BjbV9hbmFsb2dfY2FwdHVyZTsKIAkvKiBGSVhNRTogc2V0dXAgREFDNSAqLwogCS8qc3BlYy0+c3RyZWFtX2FuYWxvZ19hbHRfcGxheWJhY2sgPSAmYWxjODgwX3BjbV9hbmFsb2dfYWx0X3BsYXliYWNrOyovCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19hbHRfY2FwdHVyZSA9ICZhbGM4ODBfcGNtX2FuYWxvZ19hbHRfY2FwdHVyZTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODgyIERpZ2l0YWwiOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX3BsYXliYWNrID0gJmFsYzg4Ml9wY21fZGlnaXRhbF9wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9jYXB0dXJlID0gJmFsYzg4Ml9wY21fZGlnaXRhbF9jYXB0dXJlOwogCkBAIC02NTY5LDYgKzY2NDUsMTYgQEAKIAl9LAogfTsKIAorc3RhdGljIHN0cnVjdCBoZGFfaW5wdXRfbXV4IGFsYzg4M18zc3RhY2tfNmNoX2ludGVsID0geworCS5udW1faXRlbXMgPSA0LAorCS5pdGVtcyA9IHsKKwkJeyAiTWljIiwgMHgxIH0sCisJCXsgIkZyb250IE1pYyIsIDB4MCB9LAorCQl7ICJMaW5lIiwgMHgyIH0sCisJCXsgIkNEIiwgMHg0IH0sCisJfSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgaGRhX2lucHV0X211eCBhbGM4ODNfbGVub3ZvXzEwMWVfY2FwdHVyZV9zb3VyY2UgPSB7CiAJLm51bV9pdGVtcyA9IDIsCiAJLml0ZW1zID0gewpAQCAtNjY1MCw2ICs2NzM2LDQ4IEBACiB9OwogCiAvKgorICogMmNoIG1vZGUKKyAqLworc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM4ODNfM1NUX2NoMl9pbnRlbF9pbml0W10gPSB7CisJeyAweDE5LCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9WUkVGODAgfSwKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfTVVURSB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSU4gfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfTVVURSB9LAorCXsgfSAvKiBlbmQgKi8KK307CisKKy8qCisgKiA0Y2ggbW9kZQorICovCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg4M18zU1RfY2g0X2ludGVsX2luaXRbXSA9IHsKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX1ZSRUY4MCB9LAorCXsgMHgxOSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9NVVRFIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVQgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMSB9LAorCXsgfSAvKiBlbmQgKi8KK307CisKKy8qCisgKiA2Y2ggbW9kZQorICovCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg4M18zU1RfY2g2X2ludGVsX2luaXRbXSA9IHsKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVCB9LAorCXsgMHgxOSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEUgfSwKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAyIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVQgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMSB9LAorCXsgfSAvKiBlbmQgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgaGRhX2NoYW5uZWxfbW9kZSBhbGM4ODNfM1NUXzZjaF9pbnRlbF9tb2Rlc1szXSA9IHsKKwl7IDIsIGFsYzg4M18zU1RfY2gyX2ludGVsX2luaXQgfSwKKwl7IDQsIGFsYzg4M18zU1RfY2g0X2ludGVsX2luaXQgfSwKKwl7IDYsIGFsYzg4M18zU1RfY2g2X2ludGVsX2luaXQgfSwKK307CisKKy8qCiAgKiA2Y2ggbW9kZQogICovCiBzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg4M19zaXhzdGFja19jaDZfaW5pdFtdID0gewpAQCAtNjg4MSwxNSArNzAwOSw1NCBAQAogCXsgfSAvKiBlbmQgKi8KIH07CiAKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM4ODNfM1NUXzZjaF9pbnRlbF9taXhlcltdID0geworCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IFBsYXliYWNrIFZvbHVtZSIsIDB4MGMsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURSgiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwgMHgwYywgMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJTdXJyb3VuZCBQbGF5YmFjayBWb2x1bWUiLCAweDBkLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEUoIlN1cnJvdW5kIFBsYXliYWNrIFN3aXRjaCIsIDB4MGQsIDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRV9NT05PKCJDZW50ZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwZSwgMSwgMHgwLAorCQkJICAgICAgSERBX09VVFBVVCksCisJSERBX0NPREVDX1ZPTFVNRV9NT05PKCJMRkUgUGxheWJhY2sgVm9sdW1lIiwgMHgwZSwgMiwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFX01PTk8oIkNlbnRlciBQbGF5YmFjayBTd2l0Y2giLCAweDBlLCAxLCAyLCBIREFfSU5QVVQpLAorCUhEQV9CSU5EX01VVEVfTU9OTygiTEZFIFBsYXliYWNrIFN3aXRjaCIsIDB4MGUsIDIsIDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDE1LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkNEIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDQsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkNEIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MDQsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiTGluZSBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJMaW5lIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgQm9vc3QiLCAweDE5LCAwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IE1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgTWljIEJvb3N0IiwgMHgxOCwgMCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiRnJvbnQgTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJQQyBTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDUsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIlBDIFNwZWFrZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwNSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJDYXB0dXJlIFZvbHVtZSIsIDB4MDgsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiQ2FwdHVyZSBTd2l0Y2giLCAweDA4LCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRV9JRFgoIkNhcHR1cmUgVm9sdW1lIiwgMSwgMHgwOSwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFX0lEWCgiQ2FwdHVyZSBTd2l0Y2giLCAxLCAweDA5LCAweDAsIEhEQV9JTlBVVCksCisJeworCQkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkJLyogLm5hbWUgPSAiQ2FwdHVyZSBTb3VyY2UiLCAqLworCQkubmFtZSA9ICJJbnB1dCBTb3VyY2UiLAorCQkuY291bnQgPSAyLAorCQkuaW5mbyA9IGFsYzg4M19tdXhfZW51bV9pbmZvLAorCQkuZ2V0ID0gYWxjODgzX211eF9lbnVtX2dldCwKKwkJLnB1dCA9IGFsYzg4M19tdXhfZW51bV9wdXQsCisJfSwKKwl7IH0gLyogZW5kICovCit9OworCiBzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjODgzX2ZpdmVzdGFja19taXhlcltdID0gewogCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IFBsYXliYWNrIFZvbHVtZSIsIDB4MGMsIDB4MCwgSERBX09VVFBVVCksCi0JSERBX0NPREVDX01VVEUoIkZyb250IFBsYXliYWNrIFN3aXRjaCIsIDB4MTQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURSgiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwgMHgwYywgMiwgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FKCJTdXJyb3VuZCBQbGF5YmFjayBWb2x1bWUiLCAweDBkLCAweDAsIEhEQV9PVVRQVVQpLAotCUhEQV9DT0RFQ19NVVRFKCJTdXJyb3VuZCBQbGF5YmFjayBTd2l0Y2giLCAweDE1LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEUoIlN1cnJvdW5kIFBsYXliYWNrIFN3aXRjaCIsIDB4MGQsIDIsIEhEQV9JTlBVVCksCiAJSERBX0NPREVDX1ZPTFVNRV9NT05PKCJDZW50ZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwZSwgMSwgMHgwLCBIREFfT1VUUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FX01PTk8oIkxGRSBQbGF5YmFjayBWb2x1bWUiLCAweDBlLCAyLCAweDAsIEhEQV9PVVRQVVQpLAotCUhEQV9DT0RFQ19NVVRFX01PTk8oIkNlbnRlciBQbGF5YmFjayBTd2l0Y2giLCAweDE2LCAxLCAweDAsIEhEQV9PVVRQVVQpLAotCUhEQV9DT0RFQ19NVVRFX01PTk8oIkxGRSBQbGF5YmFjayBTd2l0Y2giLCAweDE2LCAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEVfTU9OTygiQ2VudGVyIFBsYXliYWNrIFN3aXRjaCIsIDB4MGUsIDEsIDIsIEhEQV9JTlBVVCksCisJSERBX0JJTkRfTVVURV9NT05PKCJMRkUgUGxheWJhY2sgU3dpdGNoIiwgMHgwZSwgMiwgMiwgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfTVVURSgiSGVhZHBob25lIFBsYXliYWNrIFN3aXRjaCIsIDB4MWIsIDB4MCwgSERBX09VVFBVVCksCiAJSERBX0NPREVDX1ZPTFVNRSgiQ0QgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwNCwgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfTVVURSgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwNCwgSERBX0lOUFVUKSwKQEAgLTc3MjksNiArNzg5Niw3IEBACiAJW0FMQzg4M19NSVRBQ10JCT0gIm1pdGFjIiwKIAlbQUxDODgzX0NMRVZPX003MjBdCT0gImNsZXZvLW03MjAiLAogCVtBTEM4ODNfRlVKSVRTVV9QSTI1MTVdID0gImZ1aml0c3UtcGkyNTE1IiwKKwlbQUxDODgzXzNTVF82Y2hfSU5URUxdCT0gIjNzdGFjay02Y2gtaW50ZWwiLAogCVtBTEM4ODNfQVVUT10JCT0gImF1dG8iLAogfTsKIApAQCAtNzc4Niw2ICs3OTU0LDggQEAKIAlTTkRfUENJX1FVSVJLKDB4MTdjMCwgMHg0MDcxLCAiTUVESU9OIE1EMiIsIEFMQzg4M19NRURJT05fTUQyKSwKIAlTTkRfUENJX1FVSVJLKDB4MTdmMiwgMHg1MDAwLCAiQWxiYXRyb24gS0k2OTAtQU0yIiwgQUxDODgzXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxOTkxLCAweDU2MjUsICJIYWllciBXNjYiLCBBTEM4ODNfSEFJRVJfVzY2KSwKKwlTTkRfUENJX1FVSVJLKDB4ODA4NiwgMHgwMDAxLCAiREczM0JVQyIsIEFMQzg4M18zU1RfNmNoX0lOVEVMKSwKKwlTTkRfUENJX1FVSVJLKDB4ODA4NiwgMHgwMDAyLCAiREczM0ZCQyIsIEFMQzg4M18zU1RfNmNoX0lOVEVMKSwKIAlTTkRfUENJX1FVSVJLKDB4ODA4NiwgMHhkNjAxLCAiRDEwMkdHQyIsIEFMQzg4M18zU1RfNmNoKSwKIAl7fQogfTsKQEAgLTc4MjQsNiArNzk5NCwxOCBAQAogCQkubmVlZF9kYWNfZml4ID0gMSwKIAkJLmlucHV0X211eCA9ICZhbGM4ODNfY2FwdHVyZV9zb3VyY2UsCiAJfSwKKwlbQUxDODgzXzNTVF82Y2hfSU5URUxdID0geworCQkubWl4ZXJzID0geyBhbGM4ODNfM1NUXzZjaF9pbnRlbF9taXhlciwgYWxjODgzX2NobW9kZV9taXhlciB9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjODgzX2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM4ODNfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM4ODNfZGFjX25pZHMsCisJCS5kaWdfb3V0X25pZCA9IEFMQzg4M19ESUdPVVRfTklELAorCQkuZGlnX2luX25pZCA9IEFMQzg4M19ESUdJTl9OSUQsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM4ODNfM1NUXzZjaF9pbnRlbF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM4ODNfM1NUXzZjaF9pbnRlbF9tb2RlcywKKwkJLm5lZWRfZGFjX2ZpeCA9IDEsCisJCS5pbnB1dF9tdXggPSAmYWxjODgzXzNzdGFja182Y2hfaW50ZWwsCisJfSwKIAlbQUxDODgzXzZTVF9ESUddID0gewogCQkubWl4ZXJzID0geyBhbGM4ODNfYmFzZV9taXhlciwgYWxjODgzX2NobW9kZV9taXhlciB9LAogCQkuaW5pdF92ZXJicyA9IHsgYWxjODgzX2luaXRfdmVyYnMgfSwKQEAgLTgxNDUsNiArODMyNyw4IEBACiAKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKKwlhbGNfZml4X3BsbF9pbml0KGNvZGVjLCAweDIwLCAweDBhLCAxMCk7CisKIAlib2FyZF9jb25maWcgPSBzbmRfaGRhX2NoZWNrX2JvYXJkX2NvbmZpZyhjb2RlYywgQUxDODgzX01PREVMX0xBU1QsCiAJCQkJCQkgIGFsYzg4M19tb2RlbHMsCiAJCQkJCQkgIGFsYzg4M19jZmdfdGJsKTsKQEAgLTgxNzEsMTIgKzgzNTUsMjUgQEAKIAlpZiAoYm9hcmRfY29uZmlnICE9IEFMQzg4M19BVVRPKQogCQlzZXR1cF9wcmVzZXQoc3BlYywgJmFsYzg4M19wcmVzZXRzW2JvYXJkX2NvbmZpZ10pOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4MyBBbmFsb2ciOworCXN3aXRjaCAoY29kZWMtPnZlbmRvcl9pZCkgeworCWNhc2UgMHgxMGVjMDg4ODoKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4OCBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4OCBEaWdpdGFsIjsKKwkJYnJlYWs7CisJY2FzZSAweDEwZWMwODg5OgorCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODg5IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODg5IERpZ2l0YWwiOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODgzIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODgzIERpZ2l0YWwiOworCQlicmVhazsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzg4M19wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGM4ODNfcGNtX2FuYWxvZ19jYXB0dXJlOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfYWx0X2NhcHR1cmUgPSAmYWxjODgzX3BjbV9hbmFsb2dfYWx0X2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4MyBEaWdpdGFsIjsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9wbGF5YmFjayA9ICZhbGM4ODNfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfY2FwdHVyZSA9ICZhbGM4ODNfcGNtX2RpZ2l0YWxfY2FwdHVyZTsKIApAQCAtODE4OSw2ICs4Mzg2LDkgQEAKIAljb2RlYy0+cGF0Y2hfb3BzID0gYWxjX3BhdGNoX29wczsKIAlpZiAoYm9hcmRfY29uZmlnID09IEFMQzg4M19BVVRPKQogCQlzcGVjLT5pbml0X2hvb2sgPSBhbGM4ODNfYXV0b19pbml0OworCWVsc2UgaWYgKGNvZGVjLT52ZW5kb3JfaWQgPT0gMHgxMGVjMDg4OCkKKwkJc3BlYy0+aW5pdF9ob29rID0gYWxjODg4X2NvZWZfaW5pdDsKKwogI2lmZGVmIENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUKIAlpZiAoIXNwZWMtPmxvb3BiYWNrLmFtcGxpc3QpCiAJCXNwZWMtPmxvb3BiYWNrLmFtcGxpc3QgPSBhbGM4ODNfbG9vcGJhY2tzOwpAQCAtOTUyMiw2ICs5NzIyLDggQEAKIAlTTkRfUENJX1FVSVJLKDB4MTA0ZCwgMHg4MjBmLCAiU29ueSBBU1NBTUQiLCBBTEMyNjJfU09OWV9BU1NBTUQpLAogCVNORF9QQ0lfUVVJUksoMHgxMDRkLCAweDkwMGUsICJTb255IEFTU0FNRCIsIEFMQzI2Ml9TT05ZX0FTU0FNRCksCiAJU05EX1BDSV9RVUlSSygweDEwNGQsIDB4OTAxNSwgIlNvbnkgMHg5MDE1IiwgQUxDMjYyX1NPTllfQVNTQU1EKSwKKwlTTkRfUENJX1FVSVJLKDB4MTE3OSwgMHgwMDAxLCAiVG9zaGliYSBkeW5hYm9vayBTUyBSWDEiLAorCQkgICAgICBBTEMyNjJfU09OWV9BU1NBTUQpLAogCVNORF9QQ0lfUVVJUksoMHgxMGNmLCAweDEzOTcsICJGdWppdHN1IiwgQUxDMjYyX0ZVSklUU1UpLAogCVNORF9QQ0lfUVVJUksoMHgxMGNmLCAweDE0MmQsICJGdWppdHN1IExpZmVib29rIEU4NDEwIiwgQUxDMjYyX0ZVSklUU1UpLAogCVNORF9QQ0lfUVVJUksoMHgxNDRkLCAweGMwMzIsICJTYW1zdW5nIFExIFVsdHJhIiwgQUxDMjYyX1VMVFJBKSwKQEAgLTk3MjksNiArOTkzMSw4IEBACiAJfQogI2VuZGlmCiAKKwlhbGNfZml4X3BsbF9pbml0KGNvZGVjLCAweDIwLCAweDBhLCAxMCk7CisKIAlib2FyZF9jb25maWcgPSBzbmRfaGRhX2NoZWNrX2JvYXJkX2NvbmZpZyhjb2RlYywgQUxDMjYyX01PREVMX0xBU1QsCiAJCQkJCQkgIGFsYzI2Ml9tb2RlbHMsCiAJCQkJCQkgIGFsYzI2Ml9jZmdfdGJsKTsKQEAgLTEwNjc0LDEyICsxMDg3OCwxOCBAQAogCWlmIChib2FyZF9jb25maWcgIT0gQUxDMjY4X0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjMjY4X3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDMjY4IEFuYWxvZyI7CisJaWYgKGNvZGVjLT52ZW5kb3JfaWQgPT0gMHgxMGVjMDI2NykgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDMjY3IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDMjY3IERpZ2l0YWwiOworCX0gZWxzZSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEMyNjggQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEMyNjggRGlnaXRhbCI7CisJfQorCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19wbGF5YmFjayA9ICZhbGMyNjhfcGNtX2FuYWxvZ19wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2NhcHR1cmUgPSAmYWxjMjY4X3BjbV9hbmFsb2dfY2FwdHVyZTsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2FsdF9jYXB0dXJlID0gJmFsYzI2OF9wY21fYW5hbG9nX2FsdF9jYXB0dXJlOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEMyNjggRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjMjY4X3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCiAJaWYgKCFxdWVyeV9hbXBfY2Fwcyhjb2RlYywgMHgxZCwgSERBX0lOUFVUKSkKQEAgLTExMDMzLDYgKzExMjQzLDggQEAKIAogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAorCWFsY19maXhfcGxsX2luaXQoY29kZWMsIDB4MjAsIDB4MDQsIDE1KTsKKwogCWJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLCBBTEMyNjlfTU9ERUxfTEFTVCwKIAkJCQkJCSAgYWxjMjY5X21vZGVscywKIAkJCQkJCSAgYWxjMjY5X2NmZ190YmwpOwpAQCAtMTI2MzEsNiArMTI4NDMsMTIgQEAKIAl7IH0KIH07CiAKK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjNjYwdmRfZWFwZF92ZXJic1tdID0geworCXsweDE0LCBBQ19WRVJCX1NFVF9FQVBEX0JUTEVOQUJMRSwgMn0sCisJezB4MTUsIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyfSwKKwl7IH0KK307CisKIHN0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODYxdmRfbGVub3ZvX3Vuc29sX3ZlcmJzW10gPSB7CiAJezB4MGMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAogCXsweDBjLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDEpfSwKQEAgLTEyNzg2LDYgKzEzMDA0LDcgQEAKIAlTTkRfUENJX1FVSVJLKDB4MTU2NSwgMHg4MjBkLCAiQmlvc3RhciBORjYxUyBTRSIsIEFMQzg2MVZEXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxN2FhLCAweDIwNjYsICJMZW5vdm8iLCBBTEM4NjFWRF9MRU5PVk8pLAogCVNORF9QQ0lfUVVJUksoMHgxN2FhLCAweDM4MDIsICJMZW5vdm8gMzAwMCBDMjAwIiwgQUxDODYxVkRfTEVOT1ZPKSwKKwlTTkRfUENJX1FVSVJLKDB4MTdhYSwgMHgzODRlLCAiTGVub3ZvIDMwMDAgTjIwMCIsIEFMQzg2MVZEX0xFTk9WTyksCiAJU05EX1BDSV9RVUlSSygweDE4NDksIDB4MDg2MiwgIkFTUm9jayBLOE5GNkctVlNUQSIsIEFMQzg2MVZEXzZTVF9ESUcpLAogCXt9CiB9OwpAQCAtMTMxNjgsMTEgKzEzMzg3LDE5IEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEM4NjFWRF9BVVRPKQogCQlzZXR1cF9wcmVzZXQoc3BlYywgJmFsYzg2MXZkX3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODYxVkQgQW5hbG9nIjsKKwlpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwNjYwKSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM2NjAtVkQgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM2NjAtVkQgRGlnaXRhbCI7CisJCS8qIGFsd2F5cyB0dXJuIG9uIEVBUEQgKi8KKwkJc3BlYy0+aW5pdF92ZXJic1tzcGVjLT5udW1faW5pdF92ZXJicysrXSA9IGFsYzY2MHZkX2VhcGRfdmVyYnM7CisJfSBlbHNlIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg2MVZEIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODYxVkQgRGlnaXRhbCI7CisJfQorCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19wbGF5YmFjayA9ICZhbGM4NjF2ZF9wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGM4NjF2ZF9wY21fYW5hbG9nX2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg2MVZEIERpZ2l0YWwiOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX3BsYXliYWNrID0gJmFsYzg2MXZkX3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX2NhcHR1cmUgPSAmYWxjODYxdmRfcGNtX2RpZ2l0YWxfY2FwdHVyZTsKIApAQCAtMTMyNTEsNiArMTM0NzgsMjMgQEAKIAl9LAogfTsKIAorc3RhdGljIHN0cnVjdCBoZGFfaW5wdXRfbXV4IGFsYzY2M19jYXB0dXJlX3NvdXJjZSA9IHsKKwkubnVtX2l0ZW1zID0gMywKKwkuaXRlbXMgPSB7CisJCXsgIk1pYyIsIDB4MCB9LAorCQl7ICJGcm9udCBNaWMiLCAweDEgfSwKKwkJeyAiTGluZSIsIDB4MiB9LAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGhkYV9pbnB1dF9tdXggYWxjNjYzX201MXZhX2NhcHR1cmVfc291cmNlID0geworCS5udW1faXRlbXMgPSAyLAorCS5pdGVtcyA9IHsKKwkJeyAiRXh0LU1pYyIsIDB4MCB9LAorCQl7ICJELU1pYyIsIDB4OSB9LAorCX0sCit9OworCiAjZGVmaW5lIGFsYzY2Ml9tdXhfZW51bV9pbmZvIGFsY19tdXhfZW51bV9pbmZvCiAjZGVmaW5lIGFsYzY2Ml9tdXhfZW51bV9nZXQgYWxjX211eF9lbnVtX2dldAogI2RlZmluZSBhbGM2NjJfbXV4X2VudW1fcHV0IGFsYzg4Ml9tdXhfZW51bV9wdXQKQEAgLTEzNDMxLDYgKzEzNjc1LDQ0IEBACiAJeyB9IC8qIGVuZCAqLwogfTsKIAorc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzY2M19tNTF2YV9taXhlcltdID0geworCUhEQV9DT0RFQ19WT0xVTUUoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwMiwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiU3BlYWtlciBQbGF5YmFjayBTd2l0Y2giLCAweDE0LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgyMSwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJETWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MjMsIDB4OSwgSERBX0lOUFVUKSwKKwl7IH0gLyogZW5kICovCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYzX2c3MXZfbWl4ZXJbXSA9IHsKKwlIREFfQ09ERUNfVk9MVU1FKCJTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIDB4MDIsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIlNwZWFrZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgxNCwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJGcm9udCBQbGF5YmFjayBWb2x1bWUiLCAweDAzLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJGcm9udCBQbGF5YmFjayBTd2l0Y2giLCAweDE1LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgyMSwgMHgwLCBIREFfT1VUUFVUKSwKKworCUhEQV9DT0RFQ19WT0xVTUUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiaS1NaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJpLU1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJeyB9IC8qIGVuZCAqLworfTsKKworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzY2M19nNTB2X21peGVyW10gPSB7CisJSERBX0NPREVDX1ZPTFVNRSgiU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCAweDAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJTcGVha2VyIFBsYXliYWNrIFN3aXRjaCIsIDB4MTQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDIxLCAweDAsIEhEQV9PVVRQVVQpLAorCisJSERBX0NPREVDX1ZPTFVNRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJpLU1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoImktTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJMaW5lIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkxpbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwMiwgSERBX0lOUFVUKSwKKwl7IH0gLyogZW5kICovCit9OworCiBzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYyX2NobW9kZV9taXhlcltdID0gewogCXsKIAkJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCkBAIC0xMzUwMSw2ICsxMzc4MywxMSBAQAogCXsweDIzLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDEpfSwKIAl7MHgyMywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgyKX0sCiAJezB4MjMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoNCl9LAorCisJLyogYWx3YXlzIHRydW4gb24gRUFQRCAqLworCXsweDE0LCBBQ19WRVJCX1NFVF9FQVBEX0JUTEVOQUJMRSwgMn0sCisJezB4MTUsIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyfSwKKwogCXsgfQogfTsKIApAQCAtMTM1NzEsNiArMTM4NTgsNDMgQEAKIAl7IH0KIH07CiAKK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjNjYzX201MXZhX2luaXRfdmVyYnNbXSA9IHsKKwl7MHgyMSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSFB9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURX0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAwfSwJLyogSGVhZHBob25lICovCisKKwl7MHgyMywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSg5KX0sCisKKwl7MHgxOCwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTiB8IEFMQzg4MF9NSUNfRVZFTlR9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOIHwgQUxDODgwX0hQX0VWRU5UfSwKKwl7fQorfTsKKworc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM2NjNfZzcxdl9pbml0X3ZlcmJzW10gPSB7CisJezB4MTUsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0hQfSwKKwkvKiB7MHgxNSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEV9LCAqLworCS8qIHsweDE1LCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMX0sICovIC8qIEhlYWRwaG9uZSAqLworCisJezB4MjEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0hQfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEV9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMH0sCS8qIEhlYWRwaG9uZSAqLworCisJezB4MTUsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU58QUxDODgwX0ZST05UX0VWRU5UfSwKKwl7MHgxOCwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTnxBTEM4ODBfTUlDX0VWRU5UfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTnxBTEM4ODBfSFBfRVZFTlR9LAorCXt9Cit9OworCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzY2M19nNTB2X2luaXRfdmVyYnNbXSA9IHsKKwl7MHgyMSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSFB9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURX0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAwfSwJLyogSGVhZHBob25lICovCisKKwl7MHgxOCwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTiB8IEFMQzg4MF9NSUNfRVZFTlR9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOIHwgQUxDODgwX0hQX0VWRU5UfSwKKwl7fQorfTsKKwogLyogY2FwdHVyZSBtaXhlciBlbGVtZW50cyAqLwogc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzY2Ml9jYXB0dXJlX21peGVyW10gPSB7CiAJSERBX0NPREVDX1ZPTFVNRSgiQ2FwdHVyZSBWb2x1bWUiLCAweDA5LCAweDAsIEhEQV9JTlBVVCksCkBAIC0xMzY5Miw2ICsxNDAxNiwxMjUgQEAKIAlhbGM2NjJfZWVlcGNfZXAyMF9hdXRvbXV0ZShjb2RlYyk7CiB9CiAKK3N0YXRpYyB2b2lkIGFsYzY2M19tNTF2YV9zcGVha2VyX2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCBwcmVzZW50OworCXVuc2lnbmVkIGNoYXIgYml0czsKKworCXByZXNlbnQgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjEsIDAsCisJCQkJICAgICBBQ19WRVJCX0dFVF9QSU5fU0VOU0UsIDApCisJCSYgQUNfUElOU0VOU0VfUFJFU0VOQ0U7CisJYml0cyA9IHByZXNlbnQgPyBIREFfQU1QX01VVEUgOiAwOworCXNuZF9oZGFfY29kZWNfYW1wX3N0ZXJlbyhjb2RlYywgMHgxNCwgSERBX09VVFBVVCwgMCwKKwkJCQkgSERBX0FNUF9NVVRFLCBiaXRzKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX201MXZhX21pY19hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgcHJlc2VudDsKKworCXByZXNlbnQgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MTgsIDAsCisJCQkJICAgICBBQ19WRVJCX0dFVF9QSU5fU0VOU0UsIDApCisJCSYgQUNfUElOU0VOU0VfUFJFU0VOQ0U7CisJc25kX2hkYV9jb2RlY193cml0ZV9jYWNoZShjb2RlYywgMHgyMiwgMCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwKKwkJCSAgICAweDcwMDAgfCAoMHgwMCA8PCA4KSB8IChwcmVzZW50ID8gMCA6IDB4ODApKTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlX2NhY2hlKGNvZGVjLCAweDIzLCAwLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLAorCQkJICAgIDB4NzAwMCB8ICgweDAwIDw8IDgpIHwgKHByZXNlbnQgPyAwIDogMHg4MCkpOworCXNuZF9oZGFfY29kZWNfd3JpdGVfY2FjaGUoY29kZWMsIDB4MjIsIDAsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsCisJCQkgICAgMHg3MDAwIHwgKDB4MDkgPDwgOCkgfCAocHJlc2VudCA/IDB4ODAgOiAwKSk7CisJc25kX2hkYV9jb2RlY193cml0ZV9jYWNoZShjb2RlYywgMHgyMywgMCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwKKwkJCSAgICAweDcwMDAgfCAoMHgwOSA8PCA4KSB8IChwcmVzZW50ID8gMHg4MCA6IDApKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX201MXZhX3Vuc29sX2V2ZW50KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLAorCQkJCQkgICB1bnNpZ25lZCBpbnQgcmVzKQoreworCXN3aXRjaCAocmVzID4+IDI2KSB7CisJY2FzZSBBTEM4ODBfSFBfRVZFTlQ6CisJCWFsYzY2M19tNTF2YV9zcGVha2VyX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJY2FzZSBBTEM4ODBfTUlDX0VWRU5UOgorCQlhbGM2NjNfbTUxdmFfbWljX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfbTUxdmFfaW5pdGhvb2soc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoY29kZWMpOworCWFsYzY2M19tNTF2YV9taWNfYXV0b211dGUoY29kZWMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzcxdl9ocF9hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgcHJlc2VudDsKKwl1bnNpZ25lZCBjaGFyIGJpdHM7CisKKwlwcmVzZW50ID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDIxLCAwLAorCQkJCSAgICAgQUNfVkVSQl9HRVRfUElOX1NFTlNFLCAwKQorCQkmIEFDX1BJTlNFTlNFX1BSRVNFTkNFOworCWJpdHMgPSBwcmVzZW50ID8gSERBX0FNUF9NVVRFIDogMDsKKwlzbmRfaGRhX2NvZGVjX2FtcF9zdGVyZW8oY29kZWMsIDB4MTUsIEhEQV9PVVRQVVQsIDAsCisJCQkJIEhEQV9BTVBfTVVURSwgYml0cyk7CisJc25kX2hkYV9jb2RlY19hbXBfc3RlcmVvKGNvZGVjLCAweDE0LCBIREFfT1VUUFVULCAwLAorCQkJCSBIREFfQU1QX01VVEUsIGJpdHMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzcxdl9mcm9udF9hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgcHJlc2VudDsKKwl1bnNpZ25lZCBjaGFyIGJpdHM7CisKKwlwcmVzZW50ID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDE1LCAwLAorCQkJCSAgICAgQUNfVkVSQl9HRVRfUElOX1NFTlNFLCAwKQorCQkmIEFDX1BJTlNFTlNFX1BSRVNFTkNFOworCWJpdHMgPSBwcmVzZW50ID8gSERBX0FNUF9NVVRFIDogMDsKKwlzbmRfaGRhX2NvZGVjX2FtcF9zdGVyZW8oY29kZWMsIDB4MTQsIEhEQV9PVVRQVVQsIDAsCisJCQkJIEhEQV9BTVBfTVVURSwgYml0cyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNzF2X3Vuc29sX2V2ZW50KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLAorCQkJCQkgICB1bnNpZ25lZCBpbnQgcmVzKQoreworCXN3aXRjaCAocmVzID4+IDI2KSB7CisJY2FzZSBBTEM4ODBfSFBfRVZFTlQ6CisJCWFsYzY2M19nNzF2X2hwX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJY2FzZSBBTEM4ODBfRlJPTlRfRVZFTlQ6CisJCWFsYzY2M19nNzF2X2Zyb250X2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJY2FzZSBBTEM4ODBfTUlDX0VWRU5UOgorCQlhbGM2NjJfZWVlcGNfbWljX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzcxdl9pbml0aG9vayhzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlhbGM2NjNfZzcxdl9mcm9udF9hdXRvbXV0ZShjb2RlYyk7CisJYWxjNjYzX2c3MXZfaHBfYXV0b211dGUoY29kZWMpOworCWFsYzY2Ml9lZWVwY19taWNfYXV0b211dGUoY29kZWMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzUwdl91bnNvbF9ldmVudChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKKwkJCQkJICAgdW5zaWduZWQgaW50IHJlcykKK3sKKwlzd2l0Y2ggKHJlcyA+PiAyNikgeworCWNhc2UgQUxDODgwX0hQX0VWRU5UOgorCQlhbGM2NjNfbTUxdmFfc3BlYWtlcl9hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCWNhc2UgQUxDODgwX01JQ19FVkVOVDoKKwkJYWxjNjYyX2VlZXBjX21pY19hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHZvaWQgYWxjNjYzX2c1MHZfaW5pdGhvb2soc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoY29kZWMpOworCWFsYzY2Ml9lZWVwY19taWNfYXV0b211dGUoY29kZWMpOworfQorCiAjaWZkZWYgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRQogI2RlZmluZSBhbGM2NjJfbG9vcGJhY2tzCWFsYzg4MF9sb29wYmFja3MKICNlbmRpZgpAQCAtMTM3MTQsMTQgKzE0MTU3LDI0IEBACiAJW0FMQzY2Ml9MRU5PVk9fMTAxRV0JPSAibGVub3ZvLTEwMWUiLAogCVtBTEM2NjJfQVNVU19FRUVQQ19QNzAxXSA9ICJlZWVwYy1wNzAxIiwKIAlbQUxDNjYyX0FTVVNfRUVFUENfRVAyMF0gPSAiZWVlcGMtZXAyMCIsCisJW0FMQzY2M19BU1VTX001MVZBXSA9ICJtNTF2YSIsCisJW0FMQzY2M19BU1VTX0c3MVZdID0gImc3MXYiLAorCVtBTEM2NjNfQVNVU19IMTNdID0gImgxMyIsCisJW0FMQzY2M19BU1VTX0c1MFZdID0gImc1MHYiLAogCVtBTEM2NjJfQVVUT10JCT0gImF1dG8iLAogfTsKIAogc3RhdGljIHN0cnVjdCBzbmRfcGNpX3F1aXJrIGFsYzY2Ml9jZmdfdGJsW10gPSB7CisJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4MTFjMywgIkFTVVMgRzcxViIsIEFMQzY2M19BU1VTX0c3MVYpLAorCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDE4NzgsICJBU1VTIE01MVZBIiwgQUxDNjYzX0FTVVNfTTUxVkEpLAorCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDE5YTMsICJBU1VTIE01MVZBIiwgQUxDNjYzX0FTVVNfRzUwViksCiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODI5MCwgIkFTVVMgUDVHQy1NWCIsIEFMQzY2Ml8zU1RfNmNoX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODJhMSwgIkFTVVMgRWVlcGMiLCBBTEM2NjJfQVNVU19FRUVQQ19QNzAxKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MmQxLCAiQVNVUyBFZWVwYyBFUDIwIiwgQUxDNjYyX0FTVVNfRUVFUENfRVAyMCksCiAJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4MTAxZSwgIkxlbm92byIsIEFMQzY2Ml9MRU5PVk9fMTAxRSksCisJU05EX1BDSV9RVUlSSygweDE4NTQsIDB4MjAwMCwgIkFTVVMgSDEzLTIwMDAiLCBBTEM2NjNfQVNVU19IMTMpLAorCVNORF9QQ0lfUVVJUksoMHgxODU0LCAweDIwMDEsICJBU1VTIEgxMy0yMDAxIiwgQUxDNjYzX0FTVVNfSDEzKSwKKwlTTkRfUENJX1FVSVJLKDB4MTg1NCwgMHgyMDAyLCAiQVNVUyBIMTMtMjAwMiIsIEFMQzY2M19BU1VTX0gxMyksCiAJe30KIH07CiAKQEAgLTEzODA5LDcgKzE0MjYyLDUzIEBACiAJCS51bnNvbF9ldmVudCA9IGFsYzY2Ml9lZWVwY19lcDIwX3Vuc29sX2V2ZW50LAogCQkuaW5pdF9ob29rID0gYWxjNjYyX2VlZXBjX2VwMjBfaW5pdGhvb2ssCiAJfSwKLQorCVtBTEM2NjNfQVNVU19NNTFWQV0gPSB7CisJCS5taXhlcnMgPSB7IGFsYzY2M19tNTF2YV9taXhlciwgYWxjNjYyX2NhcHR1cmVfbWl4ZXJ9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjNjYyX2luaXRfdmVyYnMsIGFsYzY2M19tNTF2YV9pbml0X3ZlcmJzIH0sCisJCS5udW1fZGFjcyA9IEFSUkFZX1NJWkUoYWxjNjYyX2RhY19uaWRzKSwKKwkJLmRhY19uaWRzID0gYWxjNjYyX2RhY19uaWRzLAorCQkuZGlnX291dF9uaWQgPSBBTEM2NjJfRElHT1VUX05JRCwKKwkJLm51bV9jaGFubmVsX21vZGUgPSBBUlJBWV9TSVpFKGFsYzY2Ml8zU1RfMmNoX21vZGVzKSwKKwkJLmNoYW5uZWxfbW9kZSA9IGFsYzY2Ml8zU1RfMmNoX21vZGVzLAorCQkuaW5wdXRfbXV4ID0gJmFsYzY2M19tNTF2YV9jYXB0dXJlX3NvdXJjZSwKKwkJLnVuc29sX2V2ZW50ID0gYWxjNjYzX201MXZhX3Vuc29sX2V2ZW50LAorCQkuaW5pdF9ob29rID0gYWxjNjYzX201MXZhX2luaXRob29rLAorCX0sCisJW0FMQzY2M19BU1VTX0c3MVZdID0geworCQkubWl4ZXJzID0geyBhbGM2NjNfZzcxdl9taXhlciwgYWxjNjYyX2NhcHR1cmVfbWl4ZXJ9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjNjYyX2luaXRfdmVyYnMsIGFsYzY2M19nNzF2X2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM2NjJfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM2NjJfZGFjX25pZHMsCisJCS5kaWdfb3V0X25pZCA9IEFMQzY2Ml9ESUdPVVRfTklELAorCQkubnVtX2NoYW5uZWxfbW9kZSA9IEFSUkFZX1NJWkUoYWxjNjYyXzNTVF8yY2hfbW9kZXMpLAorCQkuY2hhbm5lbF9tb2RlID0gYWxjNjYyXzNTVF8yY2hfbW9kZXMsCisJCS5pbnB1dF9tdXggPSAmYWxjNjYyX2VlZXBjX2NhcHR1cmVfc291cmNlLAorCQkudW5zb2xfZXZlbnQgPSBhbGM2NjNfZzcxdl91bnNvbF9ldmVudCwKKwkJLmluaXRfaG9vayA9IGFsYzY2M19nNzF2X2luaXRob29rLAorCX0sCisJW0FMQzY2M19BU1VTX0gxM10gPSB7CisJCS5taXhlcnMgPSB7IGFsYzY2M19tNTF2YV9taXhlciwgYWxjNjYyX2NhcHR1cmVfbWl4ZXJ9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjNjYyX2luaXRfdmVyYnMsIGFsYzY2M19tNTF2YV9pbml0X3ZlcmJzIH0sCisJCS5udW1fZGFjcyA9IEFSUkFZX1NJWkUoYWxjNjYyX2RhY19uaWRzKSwKKwkJLmRhY19uaWRzID0gYWxjNjYyX2RhY19uaWRzLAorCQkubnVtX2NoYW5uZWxfbW9kZSA9IEFSUkFZX1NJWkUoYWxjNjYyXzNTVF8yY2hfbW9kZXMpLAorCQkuY2hhbm5lbF9tb2RlID0gYWxjNjYyXzNTVF8yY2hfbW9kZXMsCisJCS5pbnB1dF9tdXggPSAmYWxjNjYzX201MXZhX2NhcHR1cmVfc291cmNlLAorCQkudW5zb2xfZXZlbnQgPSBhbGM2NjNfbTUxdmFfdW5zb2xfZXZlbnQsCisJCS5pbml0X2hvb2sgPSBhbGM2NjNfbTUxdmFfaW5pdGhvb2ssCisJfSwKKwlbQUxDNjYzX0FTVVNfRzUwVl0gPSB7CisJCS5taXhlcnMgPSB7IGFsYzY2M19nNTB2X21peGVyLCBhbGM2NjJfY2FwdHVyZV9taXhlcn0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM2NjJfaW5pdF92ZXJicywgYWxjNjYzX2c1MHZfaW5pdF92ZXJicyB9LAorCQkubnVtX2RhY3MgPSBBUlJBWV9TSVpFKGFsYzY2Ml9kYWNfbmlkcyksCisJCS5kYWNfbmlkcyA9IGFsYzY2Ml9kYWNfbmlkcywKKwkJLmRpZ19vdXRfbmlkID0gQUxDNjYyX0RJR09VVF9OSUQsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM2NjJfM1NUXzZjaF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM2NjJfM1NUXzZjaF9tb2RlcywKKwkJLmlucHV0X211eCA9ICZhbGM2NjNfY2FwdHVyZV9zb3VyY2UsCisJCS51bnNvbF9ldmVudCA9IGFsYzY2M19nNTB2X3Vuc29sX2V2ZW50LAorCQkuaW5pdF9ob29rID0gYWxjNjYzX2c1MHZfaW5pdGhvb2ssCisJfSwKIH07CiAKIApAQCAtMTQwODIsNiArMTQ1ODEsOCBAQAogCiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCisJYWxjX2ZpeF9wbGxfaW5pdChjb2RlYywgMHgyMCwgMHgwNCwgMTUpOworCiAJYm9hcmRfY29uZmlnID0gc25kX2hkYV9jaGVja19ib2FyZF9jb25maWcoY29kZWMsIEFMQzY2Ml9NT0RFTF9MQVNULAogCQkJCQkJICBhbGM2NjJfbW9kZWxzLAogCQkJICAJICAgICAgICAgICAgICAgICAgYWxjNjYyX2NmZ190YmwpOwpAQCAtMTQxMDgsMTEgKzE0NjA5LDE3IEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEM2NjJfQVVUTykKIAkJc2V0dXBfcHJlc2V0KHNwZWMsICZhbGM2NjJfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM2NjIgQW5hbG9nIjsKKwlpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwNjYzKSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM2NjMgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM2NjMgRGlnaXRhbCI7CisJfSBlbHNlIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzY2MiBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzY2MiBEaWdpdGFsIjsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzY2Ml9wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGM2NjJfcGNtX2FuYWxvZ19jYXB0dXJlOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM2NjIgRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjNjYyX3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX2NhcHR1cmUgPSAmYWxjNjYyX3BjbV9kaWdpdGFsX2NhcHR1cmU7CiAKQEAgLTE0MTUxLDYgKzE0NjU4LDcgQEAKIAkgIC5wYXRjaCA9IHBhdGNoX2FsYzg4MyB9LAogCXsgLmlkID0gMHgxMGVjMDY2MiwgLnJldiA9IDB4MTAwMTAxLCAubmFtZSA9ICJBTEM2NjIgcmV2MSIsCiAJICAucGF0Y2ggPSBwYXRjaF9hbGM2NjIgfSwKKwl7IC5pZCA9IDB4MTBlYzA2NjMsIC5uYW1lID0gIkFMQzY2MyIsIC5wYXRjaCA9IHBhdGNoX2FsYzY2MiB9LAogCXsgLmlkID0gMHgxMGVjMDg4MCwgLm5hbWUgPSAiQUxDODgwIiwgLnBhdGNoID0gcGF0Y2hfYWxjODgwIH0sCiAJeyAuaWQgPSAweDEwZWMwODgyLCAubmFtZSA9ICJBTEM4ODIiLCAucGF0Y2ggPSBwYXRjaF9hbGM4ODIgfSwKIAl7IC5pZCA9IDB4MTBlYzA4ODMsIC5uYW1lID0gIkFMQzg4MyIsIC5wYXRjaCA9IHBhdGNoX2FsYzg4MyB9LApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9wYXRjaF9zaWdtYXRlbC5jIGIvc291bmQvcGNpL2hkYS9wYXRjaF9zaWdtYXRlbC5jCmluZGV4IGE0ZjQ0YTAuLjA4Y2I3N2YgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfc2lnbWF0ZWwuYworKysgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX3NpZ21hdGVsLmMKQEAgLTYzNiwyMSArNjM2LDI4IEBACiAJeyAweDBmLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKIH07CiAKKyNkZWZpbmUgSERfRElTQUJMRV9QT1JURiAzCiBzdGF0aWMgc3RydWN0IGhkYV92ZXJiIHN0YWM5MmhkNzFieHhfYW5hbG9nX2NvcmVfaW5pdFtdID0geworCS8qIHN0YXJ0IG9mIGNvbmZpZyAjMSAqLworCisJLyogY29ubmVjdCBwb3J0IDBmIHRvIGF1ZGlvIG1peGVyICovCisJeyAweDBmLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgyfSwKKwl7IDB4MGYsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVH0sIC8qIFNwZWFrZXIgKi8KKwkvKiB1bm11dGUgcmlnaHQgYW5kIGxlZnQgY2hhbm5lbHMgZm9yIG5vZGUgMHgwZiAqLworCXsgMHgwZiwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCisJLyogc3RhcnQgb2YgY29uZmlnICMyICovCisKIAkvKiBzZXQgbWFzdGVyIHZvbHVtZSBhbmQgZGlyZWN0IGNvbnRyb2wgKi8KIAl7IDB4MjgsIEFDX1ZFUkJfU0VUX1ZPTFVNRV9LTk9CX0NPTlRST0wsIDB4ZmZ9LAogCS8qIGNvbm5lY3QgaGVhZHBob25lIGphY2sgdG8gZGFjMSAqLwogCXsgMHgwYSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDF9LAotCS8qIGNvbm5lY3QgcG9ydHMgMGQgYW5kIDBmIHRvIGF1ZGlvIG1peGVyICovCisJLyogY29ubmVjdCBwb3J0IDBkIHRvIGF1ZGlvIG1peGVyICovCiAJeyAweDBkLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgyfSwKLQl7IDB4MGYsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDJ9LAotCXsgMHgwZiwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUfSwgLyogU3BlYWtlciAqLwogCS8qIHVubXV0ZSBkYWMwIGlucHV0IGluIGF1ZGlvIG1peGVyICovCiAJeyAweDE3LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCAweDcwMWZ9LAotCS8qIHVubXV0ZSByaWdodCBhbmQgbGVmdCBjaGFubmVscyBmb3Igbm9kZXMgMHgwYSwgMHhkLCAweDBmICovCisJLyogdW5tdXRlIHJpZ2h0IGFuZCBsZWZ0IGNoYW5uZWxzIGZvciBub2RlcyAweDBhLCAweGQgKi8KIAl7IDB4MGEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAogCXsgMHgwZCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCi0JeyAweDBmLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKIAl7fQogfTsKIApAQCAtODE4LDYgKzgyNSw5IEBACiAJSERBX0NPREVDX01VVEVfSURYKCJDYXB0dXJlIFN3aXRjaCIsIDB4MSwgMHgxZCwgMHgwLCBIREFfT1VUUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FX0lEWCgiQ2FwdHVyZSBNdXggVm9sdW1lIiwgMHgxLCAweDFiLCAweDAsIEhEQV9PVVRQVVQpLAogCisJSERBX0NPREVDX1ZPTFVNRSgiUEMgQmVlcCBWb2x1bWUiLCAweDE3LCAweDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIlBDIEJlZXAgU3dpdGNoIiwgMHgxNywgMHgyLCBIREFfSU5QVVQpLAorCiAJSERBX0NPREVDX01VVEUoIkFuYWxvZyBMb29wYmFjayAxIiwgMHgxNywgMHgzLCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19NVVRFKCJBbmFsb2cgTG9vcGJhY2sgMiIsIDB4MTcsIDB4NCwgSERBX0lOUFVUKSwKIAl7IH0gLyogZW5kICovCkBAIC0xMzE3LDEzICsxMzI3LDEzIEBACiAJMHg5MGEwMDBmMCwgMHgwMTQ1MjA1MCwKIH07CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgZGVsbF9tNF8xX3Bpbl9jb25maWdzWzEzXSA9IHsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZGVsbF9tNF8xX3Bpbl9jb25maWdzWzEwXSA9IHsKIAkweDA0MjExMDFmLCAweDA0YTExMjIxLCAweDQwZjAwMGYwLCAweDkwMTcwMTEwLAogCTB4MjNhMTkwMmUsIDB4MjMwMTQyNTAsIDB4NDBmMDAwZjAsIDB4OTBhMDAwZjAsCiAJMHg0MGYwMDBmMCwgMHg0ZjAwMDBmMCwKIH07CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgZGVsbF9tNF8yX3Bpbl9jb25maWdzWzEzXSA9IHsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZGVsbF9tNF8yX3Bpbl9jb25maWdzWzEwXSA9IHsKIAkweDA0MjExMDFmLCAweDA0YTExMjIxLCAweDkwYTcwMzMwLCAweDkwMTcwMTEwLAogCTB4MjNhMTkwMmUsIDB4MjMwMTQyNTAsIDB4NDBmMDAwZjAsIDB4NDBmMDAwZjAsCiAJMHg0MGYwMDBmMCwgMHgwNDQ0MTNiMCwKQEAgLTE3NTQsMTIgKzE3NjQsOCBAQAogCQkgICAgICAidW5rbm93biBEZWxsIiwgU1RBQ185MjA1X0RFTExfTTQyKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWY4LAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWMsCi0JCQkgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmOSwKIAkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjFiLAotCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZmEsCiAJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmYywKQEAgLTE3NzAsMTggKzE3NzYsMTQgQEAKIAkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZmLAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24gTTQzMDAiLCBTVEFDXzkyMDVfREVMTF9NNDMpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMDYsCi0JCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmMSwKLQkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZjIsCi0JCSAgICAgICJEZWxsIEluc3Bpcm9uIiwgU1RBQ185MjA1X0RFTExfTTQ0KSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZjLAotCQkgICAgICAiRGVsbCBJbnNwaXJvbiIsIFNUQUNfOTIwNV9ERUxMX000NCksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmZCwKLQkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMDQsCiAJCSAgICAgICJ1bmtub3duIERlbGwiLCBTVEFDXzkyMDVfREVMTF9NNDIpLAorCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMDYsCisJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCisJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIxYiwKKwkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKKwlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjFjLAorCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWYsCiAJCSAgICAgICJEZWxsIEluc3Bpcm9uIiwgU1RBQ185MjA1X0RFTExfTTQ0KSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjI4LApAQCAtMzEwMywxMyArMzEwNSwxNiBAQAogCQkJCQkwLCBBQ19WRVJCX0dFVF9QSU5fV0lER0VUX0NPTlRST0wsIDApOwogCQlpbnQgZGVmX2NvbmYgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIHNwZWMtPnB3cl9uaWRzW2ldLAogCQkJCQkwLCBBQ19WRVJCX0dFVF9DT05GSUdfREVGQVVMVCwgMCk7CisJCWRlZl9jb25mID0gZ2V0X2RlZmNmZ19jb25uZWN0KGRlZl9jb25mKTsKIAkJLyogb3V0cHV0cyBhcmUgb25seSBwb3J0cyBjYXBhYmxlIG9mIHBvd2VyIG1hbmFnZW1lbnQKIAkJICogYW55IGF0dGVtcHRzIG9uIHBvd2VyaW5nIGRvd24gYSBpbnB1dCBwb3J0IGNhdXNlIHRoZQogCQkgKiByZWZlcmVuY2VkIFZSRUYgdG8gYWN0IHF1aXJreS4KIAkJICovCiAJCWlmIChwaW5jdGwgJiBBQ19QSU5DVExfSU5fRU4pCiAJCQljb250aW51ZTsKLQkJaWYgKGdldF9kZWZjZmdfY29ubmVjdChkZWZfY29uZikgIT0gQUNfSkFDS19QT1JUX0ZJWEVEKQorCQkvKiBza2lwIGFueSBwb3J0cyB0aGF0IGRvbid0IGhhdmUgamFja3Mgc2luY2UgcHJlc2VuY2UKKyAJCSAqIGRldGVjdGlvbiBpcyB1c2VsZXNzICovCisJCWlmIChkZWZfY29uZiAmJiBkZWZfY29uZiAhPSBBQ19KQUNLX1BPUlRfRklYRUQpCiAJCQljb250aW51ZTsKIAkJZW5hYmxlX3Bpbl9kZXRlY3QoY29kZWMsIHNwZWMtPnB3cl9uaWRzW2ldLCBldmVudCB8IGkpOwogCQljb2RlYy0+cGF0Y2hfb3BzLnVuc29sX2V2ZW50KGNvZGVjLCAoZXZlbnQgfCBpKSA8PCAyNik7CkBAIC0zNjE0LDYgKzM2MTksNyBAQAogCiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCXNwZWMtPm51bV9waW5zID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X3Bpbl9uaWRzKTsKKwlzcGVjLT5udW1fcHdycyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9wd3Jfbmlkcyk7CiAJc3BlYy0+cGluX25pZHMgPSBzdGFjOTJoZDcxYnh4X3Bpbl9uaWRzOwogCXNwZWMtPmJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLAogCQkJCQkJCVNUQUNfOTJIRDcxQlhYX01PREVMUywKQEAgLTM2NDIsNiArMzY0OCwxOSBAQAogCQlzcGVjLT5taXhlciA9IHN0YWM5MmhkNzFieHhfbWl4ZXI7CiAJCXNwZWMtPmluaXQgPSBzdGFjOTJoZDcxYnh4X2NvcmVfaW5pdDsKIAkJYnJlYWs7CisJY2FzZSAweDExMWQ3NjA4OiAvKiA1IFBvcnQgd2l0aCBBbmFsb2cgTWl4ZXIgKi8KKwkJLyogbm8gb3V0cHV0IGFtcHMgKi8KKwkJc3BlYy0+bnVtX3B3cnMgPSAwOworCQlzcGVjLT5taXhlciA9IHN0YWM5MmhkNzFieHhfYW5hbG9nX21peGVyOworCisJCS8qIGRpc2FibGUgVlNXICovCisJCXNwZWMtPmluaXQgPSAmc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfY29yZV9pbml0W0hEX0RJU0FCTEVfUE9SVEZdOworCQlzdGFjOTJ4eF9zZXRfY29uZmlnX3JlZyhjb2RlYywgMHhmLCAweDQwZjAwMGYwKTsKKwkJYnJlYWs7CisJY2FzZSAweDExMWQ3NjAzOiAvKiA2IFBvcnQgd2l0aCBBbmFsb2cgTWl4ZXIgKi8KKwkJLyogbm8gb3V0cHV0IGFtcHMgKi8KKwkJc3BlYy0+bnVtX3B3cnMgPSAwOworCQkvKiBmYWxsdGhydSAqLwogCWRlZmF1bHQ6CiAJCXNwZWMtPm1peGVyID0gc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfbWl4ZXI7CiAJCXNwZWMtPmluaXQgPSBzdGFjOTJoZDcxYnh4X2FuYWxvZ19jb3JlX2luaXQ7CkBAIC0zNjUzLDIyICszNjcyLDE5IEBACiAJLyogR1BJTzAgSGlnaCA9IEVBUEQgKi8KIAlzcGVjLT5ncGlvX21hc2sgPSAweDAxOwogCXNwZWMtPmdwaW9fZGlyID0gMHgwMTsKLQlzcGVjLT5ncGlvX21hc2sgPSAweDAxOwogCXNwZWMtPmdwaW9fZGF0YSA9IDB4MDE7CiAKIAlzcGVjLT5tdXhfbmlkcyA9IHN0YWM5MmhkNzFieHhfbXV4X25pZHM7CiAJc3BlYy0+YWRjX25pZHMgPSBzdGFjOTJoZDcxYnh4X2FkY19uaWRzOwogCXNwZWMtPmRtaWNfbmlkcyA9IHN0YWM5MmhkNzFieHhfZG1pY19uaWRzOwogCXNwZWMtPmRtdXhfbmlkcyA9IHN0YWM5MmhkNzFieHhfZG11eF9uaWRzOworCXNwZWMtPnB3cl9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9wd3JfbmlkczsKIAogCXNwZWMtPm51bV9tdXhlcyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9tdXhfbmlkcyk7CiAJc3BlYy0+bnVtX2FkY3MgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfYWRjX25pZHMpOwogCXNwZWMtPm51bV9kbWljcyA9IFNUQUM5MkhENzFCWFhfTlVNX0RNSUNTOwogCXNwZWMtPm51bV9kbXV4ZXMgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfZG11eF9uaWRzKTsKIAotCXNwZWMtPm51bV9wd3JzID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X3B3cl9uaWRzKTsKLQlzcGVjLT5wd3JfbmlkcyA9IHN0YWM5MmhkNzFieHhfcHdyX25pZHM7Ci0KIAlzcGVjLT5tdWx0aW91dC5udW1fZGFjcyA9IDE7CiAJc3BlYy0+bXVsdGlvdXQuaHBfbmlkID0gMHgxMTsKIAlzcGVjLT5tdWx0aW91dC5kYWNfbmlkcyA9IHN0YWM5MmhkNzFieHhfZGFjX25pZHM7CkBAIC00MzA2LDEwICs0MzIyLDExIEBACiAgCXsgLmlkID0gMHg4Mzg0NzZhNSwgLm5hbWUgPSAiU1RBQzkyNTVEIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyMDUgfSwKICAJeyAuaWQgPSAweDgzODQ3NmE2LCAubmFtZSA9ICJTVEFDOTI1NCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MjA1IH0sCiAgCXsgLmlkID0gMHg4Mzg0NzZhNywgLm5hbWUgPSAiU1RBQzkyNTREIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyMDUgfSwKKwl7IC5pZCA9IDB4MTExZDc2MDMsIC5uYW1lID0gIjkySEQ3NUIzWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDcxYnh4fSwKKwl7IC5pZCA9IDB4MTExZDc2MDgsIC5uYW1lID0gIjkySEQ3NUIyWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDcxYnh4fSwKIAl7IC5pZCA9IDB4MTExZDc2NzQsIC5uYW1lID0gIjkySEQ3M0QxWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDczeHggfSwKIAl7IC5pZCA9IDB4MTExZDc2NzUsIC5uYW1lID0gIjkySEQ3M0MxWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDczeHggfSwKIAl7IC5pZCA9IDB4MTExZDc2NzYsIC5uYW1lID0gIjkySEQ3M0UxWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDczeHggfSwKLQl7IC5pZCA9IDB4MTExZDc2MDgsIC5uYW1lID0gIjkySEQ3MUJYWCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHggfSwKIAl7IC5pZCA9IDB4MTExZDc2YjAsIC5uYW1lID0gIjkySEQ3MUI4WCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHggfSwKIAl7IC5pZCA9IDB4MTExZDc2YjEsIC5uYW1lID0gIjkySEQ3MUI4WCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHggfSwKIAl7IC5pZCA9IDB4MTExZDc2YjIsIC5uYW1lID0gIjkySEQ3MUI3WCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHggfSwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9pY2UxNzEyL2VudnkyNGh0LmggYi9zb3VuZC9wY2kvaWNlMTcxMi9lbnZ5MjRodC5oCmluZGV4IDQzYjllM2UuLmEwYzVlMDAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9pY2UxNzEyL2VudnkyNGh0LmgKKysrIGIvc291bmQvcGNpL2ljZTE3MTIvZW52eTI0aHQuaApAQCAtOTMsOSArOTMsMTMgQEAKICNkZWZpbmUgVlQxNzI0X1JFR19NUFVfVFhGSUZPCQkweDBhCS8qYnl0ZSByby4gbnVtYmVyIG9mIGJ5dGVzIGluIFRYIGZpZm8qLwogI2RlZmluZSBWVDE3MjRfUkVHX01QVV9SWEZJRk8JCTB4MGIJLypieXRlIHJvLiBudW1iZXIgb2YgYnl0ZXMgaW4gUlggZmlmbyovCiAKLS8vYXJlIHRoZXNlIDIgdGhlIHdyb25nIHdheSBhcm91bmQ/IHRoZXkgZG9uJ3Qgc2VlbSB0byBiZSB1c2VkIHlldCBhbnl3YXkKLSNkZWZpbmUgVlQxNzI0X1JFR19NUFVfQ1RSTAkJMHgwYwkvKiBieXRlICovCi0jZGVmaW5lIFZUMTcyNF9SRUdfTVBVX0RBVEEJCTB4MGQJLyogYnl0ZSAqLworI2RlZmluZSBWVDE3MjRfUkVHX01QVV9EQVRBCQkweDBjCS8qIGJ5dGUgKi8KKyNkZWZpbmUgVlQxNzI0X1JFR19NUFVfQ1RSTAkJMHgwZAkvKiBieXRlICovCisjZGVmaW5lICAgVlQxNzI0X01QVV9VQVJUCTB4MDEKKyNkZWZpbmUgICBWVDE3MjRfTVBVX1RYX0VNUFRZCTB4MDIKKyNkZWZpbmUgICBWVDE3MjRfTVBVX1RYX0ZVTEwJMHgwNAorI2RlZmluZSAgIFZUMTcyNF9NUFVfUlhfRU1QVFkJMHgwOAorI2RlZmluZSAgIFZUMTcyNF9NUFVfUlhfRlVMTAkweDEwCiAKICNkZWZpbmUgVlQxNzI0X1JFR19NUFVfRklGT19XTQkweDBlCS8qYnl0ZSBzZXQgdGhlIGhpZ2gvbG93IHdhdGVybWFya3MgZm9yIFJYL1RYIGZpZm9zKi8KICNkZWZpbmUgICBWVDE3MjRfTVBVX1JYX0ZJRk8JMHgyMAkvLzE9cnggZmlmbyB3YXRlcm1hcmsgMD10eCBmaWZvIHdhdGVybWFyawpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcxMi5oIGIvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcxMi5oCmluZGV4IDMyMDg5MDEuLjc2MmZiZDcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MTIuaAorKysgYi9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzEyLmgKQEAgLTMzMyw2ICszMzMsOCBAQAogCXVuc2lnbmVkIGludCBoYXNfc3BkaWY6IDE7CS8qIFZUMTcyMC80IC0gaGFzIFNQRElGIEkvTyAqLwogCXVuc2lnbmVkIGludCBmb3JjZV9wZG1hNDogMTsJLyogVlQxNzIwLzQgLSBQRE1BNCBhcyBub24tc3BkaWYgKi8KIAl1bnNpZ25lZCBpbnQgZm9yY2VfcmRtYTE6IDE7CS8qIFZUMTcyMC80IC0gUkRNQTEgYXMgbm9uLXNwZGlmICovCisJdW5zaWduZWQgaW50IG1pZGlfb3V0cHV0OiAxOwkvKiBWVDE3MjAvNDogTUlESSBvdXRwdXQgdHJpZ2dlcmVkICovCisJdW5zaWduZWQgaW50IG1pZGlfaW5wdXQ6IDE7CS8qIFZUMTcyMC80OiBNSURJIGlucHV0IHRyaWdnZXJlZCAqLwogCXVuc2lnbmVkIGludCBudW1fdG90YWxfZGFjczsJLyogdG90YWwgREFDcyAqLwogCXVuc2lnbmVkIGludCBudW1fdG90YWxfYWRjczsJLyogdG90YWwgQURDcyAqLwogCXVuc2lnbmVkIGludCBjdXJfcmF0ZTsJCS8qIGN1cnJlbnQgcmF0ZSAqLwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcyNC5jIGIvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcyNC5jCmluZGV4IDY3MzUwOTAuLmU1OTZkNzcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MjQuYworKysgYi9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzI0LmMKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KICNpbmNsdWRlIDxzb3VuZC9pbmZvLmg+Ci0jaW5jbHVkZSA8c291bmQvbXB1NDAxLmg+CisjaW5jbHVkZSA8c291bmQvcmF3bWlkaS5oPgogI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KIAogI2luY2x1ZGUgPHNvdW5kL2Fzb3VuZGVmLmg+CkBAIC0yMjMsMzAgKzIyMywxNTMgQEAKIH0KIAogLyoKLSAqIE1QVTQwMSBhY2Nlc3NvcgorICogTUlESQogICovCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfdnQxNzI0X21wdTQwMV9yZWFkKHN0cnVjdCBzbmRfbXB1NDAxICptcHUsCi0JCQkJCSAgICB1bnNpZ25lZCBsb25nIGFkZHIpCisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX2NsZWFyX3J4KHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlKQogewotCS8qIGZpeCBzdGF0dXMgYml0cyB0byB0aGUgc3RhbmRhcmQgcG9zaXRpb24gKi8KLQkvKiBvbmx5IFJYX0VNUFRZIGFuZCBUWF9GVUxMIGFyZSBjaGVja2VkICovCi0JaWYgKGFkZHIgPT0gTVBVNDAxQyhtcHUpKQotCQlyZXR1cm4gKGluYihhZGRyKSAmIDB4MGMpIDw8IDQ7Ci0JZWxzZQotCQlyZXR1cm4gaW5iKGFkZHIpOworCXVuc2lnbmVkIGludCBjb3VudDsKKworCWZvciAoY291bnQgPSBpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9SWEZJRk8pKTsgY291bnQgPiAwOyAtLWNvdW50KQorCQlpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9EQVRBKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHNuZF92dDE3MjRfbXB1NDAxX3dyaXRlKHN0cnVjdCBzbmRfbXB1NDAxICptcHUsCi0JCQkJICAgIHVuc2lnbmVkIGNoYXIgZGF0YSwgdW5zaWduZWQgbG9uZyBhZGRyKQorc3RhdGljIGlubGluZSBzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICoKK2dldF9yYXdtaWRpX3N1YnN0cmVhbShzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSwgdW5zaWduZWQgaW50IHN0cmVhbSkKIHsKLQlpZiAoYWRkciA9PSBNUFU0MDFDKG1wdSkpIHsKLQkJaWYgKGRhdGEgPT0gTVBVNDAxX0VOVEVSX1VBUlQpCi0JCQlvdXRiKDB4MDEsIGFkZHIpOwotCQkvKiB3aGF0IGVsc2U/ICovCi0JfSBlbHNlCi0JCW91dGIoZGF0YSwgYWRkcik7CisJcmV0dXJuIGxpc3RfZmlyc3RfZW50cnkoJmljZS0+cm1pZGlbMF0tPnN0cmVhbXNbc3RyZWFtXS5zdWJzdHJlYW1zLAorCQkJCXN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0sIGxpc3QpOwogfQogCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV93cml0ZShzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSkKK3sKKwlzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzOworCWludCBjb3VudCwgaTsKKwl1OCBidWZmZXJbMzJdOworCisJcyA9IGdldF9yYXdtaWRpX3N1YnN0cmVhbShpY2UsIFNORFJWX1JBV01JRElfU1RSRUFNX09VVFBVVCk7CisJY291bnQgPSAzMSAtIGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX1RYRklGTykpOworCWlmIChjb3VudCA+IDApIHsKKwkJY291bnQgPSBzbmRfcmF3bWlkaV90cmFuc21pdChzLCBidWZmZXIsIGNvdW50KTsKKwkJZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpCisJCQlvdXRiKGJ1ZmZlcltpXSwgSUNFUkVHMTcyNChpY2UsIE1QVV9EQVRBKSk7CisJfQorfQorCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV9yZWFkKHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlKQoreworCXN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnM7CisJaW50IGNvdW50LCBpOworCXU4IGJ1ZmZlclszMl07CisKKwlzID0gZ2V0X3Jhd21pZGlfc3Vic3RyZWFtKGljZSwgU05EUlZfUkFXTUlESV9TVFJFQU1fSU5QVVQpOworCWNvdW50ID0gaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfUlhGSUZPKSk7CisJaWYgKGNvdW50ID4gMCkgeworCQljb3VudCA9IG1pbihjb3VudCwgMzIpOworCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKwkJCWJ1ZmZlcltpXSA9IGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX0RBVEEpKTsKKwkJc25kX3Jhd21pZGlfcmVjZWl2ZShzLCBidWZmZXIsIGNvdW50KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9lbmFibGVfbWlkaV9pcnEoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSAgIHU4IGZsYWcsIGludCBlbmFibGUpCit7CisJc3RydWN0IHNuZF9pY2UxNzEyICppY2UgPSBzdWJzdHJlYW0tPnJtaWRpLT5wcml2YXRlX2RhdGE7CisJdTggbWFzazsKKworCXNwaW5fbG9ja19pcnEoJmljZS0+cmVnX2xvY2spOworCW1hc2sgPSBpbmIoSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKTsKKwlpZiAoZW5hYmxlKQorCQltYXNrICY9IH5mbGFnOworCWVsc2UKKwkJbWFzayB8PSBmbGFnOworCW91dGIobWFzaywgSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKTsKKwlzcGluX3VubG9ja19pcnEoJmljZS0+cmVnX2xvY2spOworfQorCitzdGF0aWMgaW50IHZ0MTcyNF9taWRpX291dHB1dF9vcGVuKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJdnQxNzI0X2VuYWJsZV9taWRpX2lycShzLCBWVDE3MjRfSVJRX01QVV9UWCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdnQxNzI0X21pZGlfb3V0cHV0X2Nsb3NlKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJdnQxNzI0X2VuYWJsZV9taWRpX2lycShzLCBWVDE3MjRfSVJRX01QVV9UWCwgMCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX291dHB1dF90cmlnZ2VyKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMsIGludCB1cCkKK3sKKwlzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSA9IHMtPnJtaWRpLT5wcml2YXRlX2RhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpY2UtPnJlZ19sb2NrLCBmbGFncyk7CisJaWYgKHVwKSB7CisJCWljZS0+bWlkaV9vdXRwdXQgPSAxOworCQl2dDE3MjRfbWlkaV93cml0ZShpY2UpOworCX0gZWxzZSB7CisJCWljZS0+bWlkaV9vdXRwdXQgPSAwOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpY2UtPnJlZ19sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX291dHB1dF9kcmFpbihzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzKQoreworCXN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlID0gcy0+cm1pZGktPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CisKKwkvKiAzMiBieXRlcyBzaG91bGQgYmUgdHJhbnNtaXR0ZWQgaW4gbGVzcyB0aGFuIGFib3V0IDEyIG1zICovCisJdGltZW91dCA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKDE1KTsKKwlkbyB7CisJCWlmIChpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9DVFJMKSkgJiBWVDE3MjRfTVBVX1RYX0VNUFRZKQorCQkJYnJlYWs7CisJCXNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKDEpOworCX0gd2hpbGUgKHRpbWVfYWZ0ZXIodGltZW91dCwgamlmZmllcykpOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9yYXdtaWRpX29wcyB2dDE3MjRfbWlkaV9vdXRwdXRfb3BzID0geworCS5vcGVuID0gdnQxNzI0X21pZGlfb3V0cHV0X29wZW4sCisJLmNsb3NlID0gdnQxNzI0X21pZGlfb3V0cHV0X2Nsb3NlLAorCS50cmlnZ2VyID0gdnQxNzI0X21pZGlfb3V0cHV0X3RyaWdnZXIsCisJLmRyYWluID0gdnQxNzI0X21pZGlfb3V0cHV0X2RyYWluLAorfTsKKworc3RhdGljIGludCB2dDE3MjRfbWlkaV9pbnB1dF9vcGVuKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJdnQxNzI0X21pZGlfY2xlYXJfcngocy0+cm1pZGktPnByaXZhdGVfZGF0YSk7CisJdnQxNzI0X2VuYWJsZV9taWRpX2lycShzLCBWVDE3MjRfSVJRX01QVV9SWCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdnQxNzI0X21pZGlfaW5wdXRfY2xvc2Uoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwl2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHMsIFZUMTcyNF9JUlFfTVBVX1JYLCAwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfaW5wdXRfdHJpZ2dlcihzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzLCBpbnQgdXApCit7CisJc3RydWN0IHNuZF9pY2UxNzEyICppY2UgPSBzLT5ybWlkaS0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaWNlLT5yZWdfbG9jaywgZmxhZ3MpOworCWlmICh1cCkgeworCQlpY2UtPm1pZGlfaW5wdXQgPSAxOworCQl2dDE3MjRfbWlkaV9yZWFkKGljZSk7CisJfSBlbHNlIHsKKwkJaWNlLT5taWRpX2lucHV0ID0gMDsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWNlLT5yZWdfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9yYXdtaWRpX29wcyB2dDE3MjRfbWlkaV9pbnB1dF9vcHMgPSB7CisJLm9wZW4gPSB2dDE3MjRfbWlkaV9pbnB1dF9vcGVuLAorCS5jbG9zZSA9IHZ0MTcyNF9taWRpX2lucHV0X2Nsb3NlLAorCS50cmlnZ2VyID0gdnQxNzI0X21pZGlfaW5wdXRfdHJpZ2dlciwKK307CisKIAogLyoKICAqICBJbnRlcnJ1cHQgaGFuZGxlcgpAQCAtMjc4LDEzICs0MDEsMTAgQEAKICNlbmRpZgogCQloYW5kbGVkID0gMTsJCQogCQlpZiAoc3RhdHVzICYgVlQxNzI0X0lSUV9NUFVfVFgpIHsKLQkJCWlmIChpY2UtPnJtaWRpWzBdKQotCQkJCXNuZF9tcHU0MDFfdWFydF9pbnRlcnJ1cHRfdHgoaXJxLAotCQkJCQlpY2UtPnJtaWRpWzBdLT5wcml2YXRlX2RhdGEpOwotCQkJZWxzZSAvKiBkaXNhYmxlIFRYIHRvIGJlIHN1cmUgKi8KLQkJCQlvdXRiKGluYihJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpIHwKLQkJCQkgICAgIFZUMTcyNF9JUlFfTVBVX1RYLAotCQkJCSAgICAgSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKTsKKwkJCXNwaW5fbG9jaygmaWNlLT5yZWdfbG9jayk7CisJCQlpZiAoaWNlLT5taWRpX291dHB1dCkKKwkJCQl2dDE3MjRfbWlkaV93cml0ZShpY2UpOworCQkJc3Bpbl91bmxvY2soJmljZS0+cmVnX2xvY2spOwogCQkJLyogRHVlIHRvIG15c3RlcmljYWwgcmVhc29ucywgTVBVX1RYIGlzIGFsd2F5cwogCQkJICogZ2VuZXJhdGVkIChhbmQgY2FuJ3QgYmUgY2xlYXJlZCkgd2hlbiBhIFBDTQogCQkJICogcGxheWJhY2sgaXMgZ29pbmcuICBTbyBsZXQncyBpZ25vcmUgYXQgdGhlCkBAIC0yOTMsMTMgKzQxMywxMiBAQAogCQkJc3RhdHVzX21hc2sgJj0gflZUMTcyNF9JUlFfTVBVX1RYOwogCQl9CiAJCWlmIChzdGF0dXMgJiBWVDE3MjRfSVJRX01QVV9SWCkgewotCQkJaWYgKGljZS0+cm1pZGlbMF0pCi0JCQkJc25kX21wdTQwMV91YXJ0X2ludGVycnVwdChpcnEsCi0JCQkJCWljZS0+cm1pZGlbMF0tPnByaXZhdGVfZGF0YSk7Ci0JCQllbHNlIC8qIGRpc2FibGUgUlggdG8gYmUgc3VyZSAqLwotCQkJCW91dGIoaW5iKElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSkgfAotCQkJCSAgICAgVlQxNzI0X0lSUV9NUFVfUlgsCi0JCQkJICAgICBJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCQkJc3Bpbl9sb2NrKCZpY2UtPnJlZ19sb2NrKTsKKwkJCWlmIChpY2UtPm1pZGlfaW5wdXQpCisJCQkJdnQxNzI0X21pZGlfcmVhZChpY2UpOworCQkJZWxzZQorCQkJCXZ0MTcyNF9taWRpX2NsZWFyX3J4KGljZSk7CisJCQlzcGluX3VubG9jaygmaWNlLT5yZWdfbG9jayk7CiAJCX0KIAkJLyogYWNrIE1QVSBpcnEgKi8KIAkJb3V0YihzdGF0dXMsIElDRVJFRzE3MjQoaWNlLCBJUlFTVEFUKSk7CkBAIC0yNDI1LDI4ICsyNTQ0LDMwIEBACiAKIAlpZiAoISBjLT5ub19tcHU0MDEpIHsKIAkJaWYgKGljZS0+ZWVwcm9tLmRhdGFbSUNFX0VFUDJfU1lTQ09ORl0gJiBWVDE3MjRfQ0ZHX01QVTQwMSkgewotCQkJc3RydWN0IHNuZF9tcHU0MDEgKm1wdTsKLQkJCWlmICgoZXJyID0gc25kX21wdTQwMV91YXJ0X25ldyhjYXJkLCAwLCBNUFU0MDFfSFdfSUNFMTcxMiwKLQkJCQkJCSAgICAgICBJQ0VSRUcxNzI0KGljZSwgTVBVX0NUUkwpLAotCQkJCQkJICAgICAgIChNUFU0MDFfSU5GT19JTlRFR1JBVEVEIHwKLQkJCQkJCQlNUFU0MDFfSU5GT19OT19BQ0sgfAotCQkJCQkJCU1QVTQwMV9JTkZPX1RYX0lSUSksCi0JCQkJCQkgICAgICAgaWNlLT5pcnEsIDAsCi0JCQkJCQkgICAgICAgJmljZS0+cm1pZGlbMF0pKSA8IDApIHsKKwkJCXN0cnVjdCBzbmRfcmF3bWlkaSAqcm1pZGk7CisKKwkJCWVyciA9IHNuZF9yYXdtaWRpX25ldyhjYXJkLCAiTUlESSIsIDAsIDEsIDEsICZybWlkaSk7CisJCQlpZiAoZXJyIDwgMCkgewogCQkJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CiAJCQkJcmV0dXJuIGVycjsKIAkJCX0KLQkJCW1wdSA9IGljZS0+cm1pZGlbMF0tPnByaXZhdGVfZGF0YTsKLQkJCW1wdS0+cmVhZCA9IHNuZF92dDE3MjRfbXB1NDAxX3JlYWQ7Ci0JCQltcHUtPndyaXRlID0gc25kX3Z0MTcyNF9tcHU0MDFfd3JpdGU7Ci0JCQkvKiB1bm1hc2sgTVBVIFJYL1RYIGlycXMgKi8KLQkJCW91dGIoaW5iKElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSkgJgotCQkJICAgICB+KFZUMTcyNF9JUlFfTVBVX1JYIHwgVlQxNzI0X0lSUV9NUFVfVFgpLAotCQkJICAgICBJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCQkJaWNlLT5ybWlkaVswXSA9IHJtaWRpOworCQkJcm1pZGktPnByaXZhdGVfZGF0YSA9IGljZTsKKwkJCXN0cmNweShybWlkaS0+bmFtZSwgIklDRTE3MjQgTUlESSIpOworCQkJcm1pZGktPmluZm9fZmxhZ3MgPSBTTkRSVl9SQVdNSURJX0lORk9fT1VUUFVUIHwKKwkJCQkJICAgIFNORFJWX1JBV01JRElfSU5GT19JTlBVVCB8CisJCQkJCSAgICBTTkRSVl9SQVdNSURJX0lORk9fRFVQTEVYOworCQkJc25kX3Jhd21pZGlfc2V0X29wcyhybWlkaSwgU05EUlZfUkFXTUlESV9TVFJFQU1fT1VUUFVULAorCQkJCQkgICAgJnZ0MTcyNF9taWRpX291dHB1dF9vcHMpOworCQkJc25kX3Jhd21pZGlfc2V0X29wcyhybWlkaSwgU05EUlZfUkFXTUlESV9TVFJFQU1fSU5QVVQsCisJCQkJCSAgICAmdnQxNzI0X21pZGlfaW5wdXRfb3BzKTsKKwogCQkJLyogc2V0IHdhdGVybWFya3MgKi8KIAkJCW91dGIoVlQxNzI0X01QVV9SWF9GSUZPIHwgMHgxLAogCQkJICAgICBJQ0VSRUcxNzI0KGljZSwgTVBVX0ZJRk9fV00pKTsKIAkJCW91dGIoMHgxLCBJQ0VSRUcxNzI0KGljZSwgTVBVX0ZJRk9fV00pKTsKKwkJCS8qIHNldCBVQVJUIG1vZGUgKi8KKwkJCW91dGIoVlQxNzI0X01QVV9VQVJULCBJQ0VSRUcxNzI0KGljZSwgTVBVX0NUUkwpKTsKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLWZpcm13YXJlLmggYi9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTItZmlybXdhcmUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjZmNWI5MS4uMDAwMDAwMAotLS0gYS9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTItZmlybXdhcmUuaAorKysgL2Rldi9udWxsCkBAIC0xLDk4NyArMCwwIEBACi1zdGF0aWMgY2hhciBkc3BDb2RlIFtdID0gewotMHgwMSwweGZmLDB4MTgsMHhmZiwweGY1LDB4ZmYsMHhjZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDI2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MzgsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZGYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAzLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweGZjLDB4ZmYsMHg2NywweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MGMsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHg0NywweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwYSwweGZmLAotMHg4MiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4N2EsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg3MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg1ZiwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDAyLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDAyLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weGZmLDB4ZmYsMHg0NywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgxNywweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MTcsMHhmZiwKLTB4ODAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDg0LDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHgwMiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHgwMSwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyYiwweGZmLDB4MDEsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MmIsMHhmZiwKLTB4ODAsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDgxLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4NCwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4ODUsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDgyLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDgxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHg4OCwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDhjLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MywweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4OGEsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgyLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4ZSwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgzLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDIwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weDgwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhiNiwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NjIsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwweDYyLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg0MCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YjYsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDYyLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsMHg2MiwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLDB4MDUsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGJiLDB4ZmYsCi0weDAyLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDgyLDB4ZmYsMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjYiwweGZmLDB4MDUsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGRiLDB4ZmYsCi0weDIwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MDAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgyLDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDliLDB4ZmYsMHgwMywweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YTIsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YmIsMHhmZiwweDIwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MjEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDQwLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAyLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLDB4MGEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4YWUsMHhmZiwKLTB4MDAsMHhmZiwweGEwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLAotMHgwYSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhmZSwweGZmLDB4MDAsMHhmZiwweGEwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDMsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwYiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4NzgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NWYsMHhmZiwweDAzLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDc4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDVmLDB4ZmYsMHg1YiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4ODAsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweGRmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weGZlLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg4MCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4YzEsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAzLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweGZjLDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHgwMiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgyMywweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NTksMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZGYsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwYywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4MDAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4MGMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NmYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg3NiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg5ZiwweGZmLAotMHg4NiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4ODYsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NjQsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDgxLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHg2MSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhhZiwweGZmLDB4NzcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4YWYsMHhmZiwKLTB4NjMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweDA1LDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDkyLDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NjUsMHhmZiwKLTB4MGYsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NmUsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDUsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4N2YsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg2NSwweGZmLAotMHgxMCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgwZSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg3OSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDE1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHg3NSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4ZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDE2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg3NSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4ZiwweGZmLDB4ODAsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgxMSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODcsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDkwLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4ODYsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4MDMsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDYzLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDgzLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg4MywweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4NmEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDgwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg4YiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDU1LDB4ZmYsMHgxMywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhiZSwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4OGIsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDA1LDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDkyLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMSwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDE1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsCi0weDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDhmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4NzIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwKLTB4MzgsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDQ4LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MzAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgyMCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhjZiwweGZmLDB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg2YSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhiZiwweGZmLAotMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLDB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwKLTB4NjcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDA4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NjksMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NWQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwweDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsCi0weDc5LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1ZCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVkLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDJmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg2NiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLDB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwKLTB4OGIsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDE5LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4MDQsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg0NiwweGZmLAotMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4OGIsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwKLTB4ODMsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDgzLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGUxLDB4ZmYsCi0weDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg2ZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhiZiwweGZmLAotMHg4NywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OTIsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4N2YsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDIzLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4MywweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLDB4ODYsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4NDEsMHhmZiwKLTB4NmMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwweDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHg0MCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwKLTB4MWIsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4Y2UsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUxLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4OGIsMHhmZiwweDliLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4OGIsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg1NSwweGZmLDB4MWQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4M2UsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDhiLDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTEsMHhmZiwKLTB4NzksMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGI0LDB4ZmYsCi0weDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxZSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhkNSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDA0LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4MDgsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg0NiwweGZmLDB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4OGIsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwweDgzLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDgzLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGUxLDB4ZmYsMHg4NywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg2ZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhiZiwweGZmLDB4ODcsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OTIsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDdmLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDIzLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4MywweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLDB4ODYsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4NDEsMHhmZiwKLTB4NmMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhkLDB4ZmYsMHg4ZiwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHgyMCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhhZSwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ODQsMHhmZiwweDAwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDhhLDB4ZmYsMHg2NCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ZTUsMHhmZiwweDIxLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDVlLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDc4LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDQ4LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weGIwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBjLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDBjLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDZmLDB4ZmYsMHgyMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLAotMHg5OCwweGZmLDB4Y2MsMHhmZiwweGZmLDB4ZmYsMHgzNywweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4YTUsMHhmZiwKLTB4MjQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZmUsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDA4LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLDB4NjksMHhmZiwweGNjLDB4ZmYsMHhmZiwweGZmLDB4MzcsMHhmZiwKLTB4MDAsMHhmZiwweDA1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHg3MiwweGZmLAotMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4NjksMHhmZiwweGNjLDB4ZmYsMHhmZiwweGZmLDB4MzcsMHhmZiwweDAwLDB4ZmYsMHgwNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLDB4MDgsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwweDY5LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLAotMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDQ3LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDU4LDB4ZmYsCi0weDEwLDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg2NiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgyNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5NCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDgwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgxNiwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHg2NiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MzgsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ3LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsCi0weDgyLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3YSwweGZmLAotMHg3YSwweGZmLDB4MjYsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzgsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwweDI3LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQyLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MjksMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTIsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDBkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzMSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgxMiwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDkwLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMiwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgzNCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTgsMHhmZiwweDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVlLDB4ZmYsMHhhZiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NDgsMHhmZiwweDEwLDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweGZlLDB4ZmYsCi0weDg3LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZlLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgyZSwweGZmLAotMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTEsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDI4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDM4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1ZSwweGZmLAotMHhhZiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0MiwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weDA4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg4YSwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MzUsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDIsMHhmZiwKLTB4MDAsMHhmZiwweDRjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBiLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwweDdhLDB4ZmYsMHgyNiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzMywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGQsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHhmZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4OTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM3LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDQyLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDM5LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDIyLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDg0LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0MSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhkNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDcsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ4LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhhNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NGEsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDk0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0YywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDRkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NGYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDY0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0ZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGUsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDUsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBhLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzZCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDNmLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwYSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4M2YsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBhLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDM0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDQsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgyMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgyNSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4ZTksMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4ZWQsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ0LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGYxLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg0NiwweGZmLDB4ODQsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4NCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDIyLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjIsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg0NiwweGZmLDB4ODgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4MjMsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjIsMHhmZiwKLTB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4ZmYsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjIsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGYyLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGUzLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDg0LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgyMiwweGZmLAotMHg2NywweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MiwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4NCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDMyLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHg3MiwweGZmLAotMHg2NywweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2NywweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwMywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YzcsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDY3LDB4ZmYsCi0weGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGU3LDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjcsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1MSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg4MSwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTYsMHhmZiwweDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDkwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDcxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLAotMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODgsMHhmZiwweDYzLDB4ZmYsMHhmZiwweGZmLDB4MjcsMHhmZiwweGU4LDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDYyLDB4ZmYsMHg2MSwweGZmLDB4ZmYsMHhmZiwweDI3LDB4ZmYsMHg4OCwweGZmLDB4MmIsMHhmZiwweGZmLDB4ZmYsMHg4YiwweGZmLAotMHhlOCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4NjIsMHhmZiwweDYxLDB4ZmYsMHhmZiwweGZmLDB4MTcsMHhmZiwKLTB4ODgsMHhmZiwweDJmLDB4ZmYsMHhmZiwweGZmLDB4ZmIsMHhmZiwweDg5LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHhlYSwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhhYiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YjgsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4Y2YsMHhmZiwweDYyLDB4ZmYsMHgyMSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDEwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg2MiwweGZmLDB4MjEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDUxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGViLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYywweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YWMsMHhmZiwweDgyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsCi0weDU0LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDJlLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHg1NCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgxZSwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDUxLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBjLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhhNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjMsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiYSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmIsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDU1LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDIxLDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGVlLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYSwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MzEsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGM5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsCi0weDU0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQ1LDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4ODIsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjEsMHhmZiwweGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weGM5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsMHg1NiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHg1NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTcsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4OTEsMHhmZiwKLTB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE2LDB4ZmYsCi0weDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg5MCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg3MSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDg4LDB4ZmYsMHg2MywweGZmLDB4ZmYsMHhmZiwweDI3LDB4ZmYsCi0weGU4LDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg2MiwweGZmLDB4NjEsMHhmZiwweGZmLDB4ZmYsMHgyNywweGZmLAotMHg4OCwweGZmLDB4MmIsMHhmZiwweGZmLDB4ZmYsMHg4YiwweGZmLDB4ZTgsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4NjIsMHhmZiwweDYxLDB4ZmYsMHhmZiwweGZmLDB4MTcsMHhmZiwweDg4LDB4ZmYsMHgyZiwweGZmLDB4ZmYsMHhmZiwweGZiLDB4ZmYsCi0weDg5LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHhlYSwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YWIsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YjgsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGNmLDB4ZmYsCi0weDYyLDB4ZmYsMHgyMSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2MiwweGZmLDB4MjEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDU3LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlYiwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYywweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDU3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGFjLDB4ZmYsMHg4MiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg0NSwweGZmLAotMHg1YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4NWEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4M2UsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg1NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYywweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDU5LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQzLDB4ZmYsCi0weDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YmEsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsCi0weDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4MTgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NWIsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWUsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwweDVlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDViLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjEsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZhLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlZSwweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLDB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZhLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGVlLDB4ZmYsMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NWUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NWYsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NTQsMHhmZiwKLTB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweGE4LDB4ZmYsCi0weDEwLDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHg4OCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4YjYsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwweGYyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHhlMiwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4MzgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGUyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDg4LDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4ZTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YWMsMHhmZiwweGYyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsMHgwMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhlMiwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4MzgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGUyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ZDQsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsCi0weGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhiOCwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhhOCwweGZmLAotMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwKLTB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDIsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkOCwweGZmLAotMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwKLTB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGM4LDB4ZmYsMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHgwMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MzAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgwMCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDEsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDAsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDA3LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDAzLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwMiwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDgsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDMsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAxLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwNCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDQsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDYyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDEsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDYyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDUsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDkyLDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg2NSwweGZmLDB4NjUsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4OWUsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMSwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NjIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHg4MSwweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgyMSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg3MSwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDksMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NDgsMHhmZiwKLTB4MTAsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDY2LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDU0LDB4ZmYsMHg4NiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4NjIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwKLTB4ODYsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDAxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4YSwweGZmLAotMHg2NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODYsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4NzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODYsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDU1LDB4ZmYsCi0weDYwLDB4ZmYsMHgyNiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgzNSwweGZmLDB4NjAsMHhmZiwweDI2LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDksMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDEwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODYsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAxLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4ODcsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4ODgsMHhmZiwweDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODcsMHhmZiwweDliLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAxLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHg2YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg5ZSwweGZmLAotMHg2NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4NjksMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NjYsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDZhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDgyLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg2YSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDg3LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4ODYsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg4NiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NjQsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDM1LDB4ZmYsCi0weDAxLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDk2LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgzNCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg2NSwweGZmLDB4MDEsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4OTYsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDQ5LDB4ZmYsCi0weDAyLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDQ5LDB4ZmYsMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MjUsMHhmZiwweDZkLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGJlLDB4ZmYsCi0weDk4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHg4OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHg4MywweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4ODgsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwKLTB4ODMsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDk4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHg4OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHg4MywweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLDB4ODgsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwKLTB4ODMsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDk4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHg4OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHg4MywweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4ODgsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwKLTB4ODMsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDI1LDB4ZmYsMHg2ZSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg4ZSwweGZmLAotMHg5OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLDB4ODgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwKLTB4ODMsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDg4LDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsMHgyMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ZTksMHhmZiwKLTB4MDEsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MjgsMHhmZiwweDAxLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDI5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDY2LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgzNCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg3NSwweGZmLDB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4MDAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDk4LDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgyNSwweGZmLAotMHg3MCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgyZSwweGZmLDB4ODAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDIsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQxLDB4ZmYsMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHg4MCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLDB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDYsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLDB4ODAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDIsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDgwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQxLDB4ZmYsCi0weDYzLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHg4MCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLDB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weGYwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwMCwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYiwweGZmLDB4ODAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4ODgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGVhLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDc0LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLAotMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4ODAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDAwLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYiwweGZmLAotMHg4MCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4ZWEsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzIsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgxMCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MTAsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgxMCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLDB4YjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDMwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg3OCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg0OCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDE4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgxOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MTgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwYiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5ZiwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5ZiwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NDgsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg4NiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4ODAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDg0LDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDBiLDB4ZmYsMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgwYiwweGZmLDB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwKLTB4ODgsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDhjLDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MSwweGZmLAotMHg4MiwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsCi0weDc2LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGRlLDB4ZmYsMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4NCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwweDc3LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDJlLDB4ZmYsCi0weDAwLDB4ZmYsMHhhMCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ZTUsMHhmZiwKLTB4NzcsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4OGUsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2NCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NzcsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZTUsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg2NCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4ZiwweGZmLAotMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzgsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NTYsMHhmZiwKLTB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDIwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGMxLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MTUsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4NiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4YzgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4YzgsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODYsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ODYsMHhmZiwweDliLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDA1LDB4ZmYsMHg4MSwweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgyMSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg3MSwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4N2YsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDksMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDdlLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhiMSwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwKLTB4N2EsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4YmUsMHhmZiwweDAwLDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDQ2LDB4ZmYsCi0weGUxLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3YSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwKLTB4ZmYsMHhmZiwweGZmLDB4ZmYgfTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi5jIGIvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLmMKaW5kZXggZjRjODViNS4uNGE0NGMwZiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLmMKKysrIGIvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLmMKQEAgLTI2MCwxNCArMjYwLDYgQEAKICNkZWZpbmUgQ09NTUFORF9BQ0tfREVMQVkgICAxMyAgICAgICAgIC8vIG51bWJlciBvZiBSVEMgdGlja3MgdG8gd2FpdCBmb3IgYW4gYWNrbm93bGVkZ2VtZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICBmcm9tIHRoZSBjYXJkIGFmdGVyIHNlbmRpbmcgYSBjb21tYW5kLgogCi0jaWZkZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKLSNpbmNsdWRlICJrb3JnMTIxMi1maXJtd2FyZS5oIgotc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSBzdGF0aWNfZHNwX2NvZGUgPSB7Ci0JLmRhdGEgPSAodTggKilkc3BDb2RlLAotCS5zaXplID0gc2l6ZW9mIGRzcENvZGUKLX07Ci0jZW5kaWYKLQogZW51bSBDbG9ja1NvdXJjZUluZGV4IHsKICAgIEsxMjEyX0NMS0lEWF9BZGF0QXQ0NF8xSyA9IDAsICAgIC8vIHNlbGVjdHMgc291cmNlIGFzIEFEQVQgYXQgNDQuMSBrSHoKICAgIEsxMjEyX0NMS0lEWF9BZGF0QXQ0OEssICAgICAgICAgIC8vIHNlbGVjdHMgc291cmNlIGFzIEFEQVQgYXQgNDgga0h6CkBAIC00MTIsOSArNDA0LDcgQEAKIE1PRFVMRV9ERVNDUklQVElPTigia29yZzEyMTIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIE1PRFVMRV9TVVBQT1JURURfREVWSUNFKCJ7e0tPUkcsa29yZzEyMTJ9fSIpOwotI2lmbmRlZiBDT05GSUdfU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAogTU9EVUxFX0ZJUk1XQVJFKCJrb3JnL2sxMjEyLmRzcCIpOwotI2VuZGlmCiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7ICAgICAvKiBJbmRleCAwLU1BWCAqLwogc3RhdGljIGNoYXIgKmlkW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfU1RSOwkgICAvKiBJRCBmb3IgdGhpcyBjYXJkICovCkBAIC0yMzQ4LDkgKzIzMzgsNiBAQAogICAgICAgICBrb3JnMTIxMi0+QWRhdFRpbWVDb2RlUGh5ID0ga29yZzEyMTItPnNoYXJlZEJ1ZmZlclBoeSArCiAJCW9mZnNldG9mKHN0cnVjdCBLb3JnU2hhcmVkQnVmZmVyLCBBZGF0VGltZUNvZGUpOwogCi0jaWZkZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKLQlkc3BfY29kZSA9ICZzdGF0aWNfZHNwX2NvZGU7Ci0jZWxzZQogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmRzcF9jb2RlLCAia29yZy9rMTIxMi5kc3AiLCAmcGNpLT5kZXYpOwogCWlmIChlcnIgPCAwKSB7CiAJCXJlbGVhc2VfZmlybXdhcmUoZHNwX2NvZGUpOwpAQCAtMjM1OCwxNSArMjM0NSwxMiBAQAogCQlzbmRfa29yZzEyMTJfZnJlZShrb3JnMTIxMik7CiAJCXJldHVybiBlcnI7CiAJfQotI2VuZGlmCiAKIAlpZiAoc25kX2RtYV9hbGxvY19wYWdlcyhTTkRSVl9ETUFfVFlQRV9ERVYsIHNuZF9kbWFfcGNpX2RhdGEocGNpKSwKIAkJCQlkc3BfY29kZS0+c2l6ZSwgJmtvcmcxMjEyLT5kbWFfZHNwKSA8IDApIHsKIAkJc25kX3ByaW50ayhLRVJOX0VSUiAia29yZzEyMTI6IGNhbm5vdCBhbGxvY2F0ZSBkc3AgY29kZSBtZW1vcnkgKCV6ZCBieXRlcylcbiIsIGRzcF9jb2RlLT5zaXplKTsKICAgICAgICAgICAgICAgICBzbmRfa29yZzEyMTJfZnJlZShrb3JnMTIxMik7Ci0jaWZuZGVmIENPTkZJR19TTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCiAJCXJlbGVhc2VfZmlybXdhcmUoZHNwX2NvZGUpOwotI2VuZGlmCiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgICAgIH0KIApAQCAtMjM3Niw5ICsyMzYwLDcgQEAKIAogCW1lbWNweShrb3JnMTIxMi0+ZG1hX2RzcC5hcmVhLCBkc3BfY29kZS0+ZGF0YSwgZHNwX2NvZGUtPnNpemUpOwogCi0jaWZuZGVmIENPTkZJR19TTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCiAJcmVsZWFzZV9maXJtd2FyZShkc3BfY29kZSk7Ci0jZW5kaWYKIAogCXJjID0gc25kX2tvcmcxMjEyX1NlbmQxMjEyQ29tbWFuZChrb3JnMTIxMiwgSzEyMTJfREJfUmVib290Q2FyZCwgMCwgMCwgMCwgMCk7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9tYWVzdHJvMy5jIGIvc291bmQvcGNpL21hZXN0cm8zLmMKaW5kZXggYTUzNmM1OS4uMDAzN2JlNyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL21hZXN0cm8zLmMKKysrIGIvc291bmQvcGNpL21hZXN0cm8zLmMKQEAgLTU4LDEwICs1OCw4IEBACiAJCSJ7RVNTLEFsbGVncm8gUENJfSwiCiAJCSJ7RVNTLEFsbGVncm8tMSBQQ0l9LCIKIAkgICAgICAgICJ7RVNTLENhbnlvbjNELTIvTEUgUENJfX0iKTsKLSNpZm5kZWYgQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKIE1PRFVMRV9GSVJNV0FSRSgiZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3Iik7CiBNT0RVTEVfRklSTVdBUkUoImVzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZnciKTsKLSNlbmRpZgogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwkvKiBJbmRleCAwLU1BWCAqLwogc3RhdGljIGNoYXIgKmlkW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfU1RSOwkvKiBJRCBmb3IgdGhpcyBjYXJkICovCkBAIC0yMTAxLDE2MyArMjA5OSw2IEBACiB9CiAKIAotI2lmZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCi0KLS8qCi0gKiBEU1AgQ29kZSBpbWFnZXMKLSAqLwotCi1zdGF0aWMgY29uc3QgdTE2IGFzc3Bfa2VybmVsX2ltYWdlW10gPSB7Ci0gICAgMHg3OTgwLCAweDAwMzAsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAwRkIsIDB4Nzk4MCwgMHgwMERELCAweDc5ODAsIDB4MDNCNCwgCi0gICAgMHg3OTgwLCAweDAzMzIsIDB4Nzk4MCwgMHgwMjg3LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgCi0gICAgMHg3OTgwLCAweDAzMUEsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDIyRiwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgCi0gICAgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDA2MywgMHg3OTgwLCAweDAwNkIsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgCi0gICAgMHhCRjgwLCAweDJDN0MsIDB4ODgwNiwgMHg4ODA0LCAweEJFNDAsIDB4QkMyMCwgMHhBRTA5LCAweDEwMDAsIDB4QUUwQSwgMHgwMDAxLCAweDY5MzgsIDB4RUIwOCwgCi0gICAgMHgwMDUzLCAweDY5NUEsIDB4RUIwOCwgMHgwMEQ2LCAweDAwMDksIDB4OEI4OCwgMHg2OTgwLCAweEUzODgsIDB4MDAzNiwgMHhCRTMwLCAweEJDMjAsIDB4NjkwOSwgCi0gICAgMHhCODAxLCAweDkwMDksIDB4QkU0MSwgMHhCRTQxLCAweDY5MjgsIDB4RUI4OCwgMHgwMDc4LCAweEJFNDEsIDB4QkU0MCwgMHg3OTgwLCAweDAwMzgsIDB4QkU0MSwgCi0gICAgMHhCRTQxLCAweDkwM0EsIDB4NjkzOCwgMHhFMzA4LCAweDAwNTYsIDB4OTAzQSwgMHhCRTQxLCAweEJFNDAsIDB4RUYwMCwgMHg5MDNBLCAweDY5MzksIDB4RTMwOCwgCi0gICAgMHgwMDVFLCAweDkwM0EsIDB4RUYwMCwgMHg2OTBCLCAweDY2MEMsIDB4RUY4QywgMHg2OTBBLCAweDY2MEMsIDB4NjIwQiwgMHg2NjA5LCAweEVGMDAsIDB4NjkxMCwgCi0gICAgMHg2NjBGLCAweEVGMDQsIDB4RTM4OCwgMHgwMDc1LCAweDY5MEUsIDB4NjYwRiwgMHg2MjEwLCAweDY2MEQsIDB4RUYwMCwgMHg2OTBFLCAweDY2MEQsIDB4RUYwMCwgCi0gICAgMHhBRTcwLCAweDAwMDEsIDB4QkMyMCwgMHhBRTI3LCAweDAwMDEsIDB4NjkzOSwgMHhFQjA4LCAweDAwNUQsIDB4NjkyNiwgMHhCODAxLCAweDkwMjYsIDB4MDAyNiwgCi0gICAgMHg4Qjg4LCAweDY5ODAsIDB4RTM4OCwgMHgwMENCLCAweDkwMjgsIDB4MEQyOCwgMHg0MjExLCAweEUxMDAsIDB4MDA3QSwgMHg0NzExLCAweEUxMDAsIDB4MDBBMCwgCi0gICAgMHg3QTgwLCAweDAwNjMsIDB4QjgxMSwgMHg2NjBBLCAweDYyMDksIDB4RTMwNCwgMHgwMDdBLCAweDBDMEIsIDB4NDAwNSwgMHgxMDBBLCAweEJBMDEsIDB4OTAxMiwgCi0gICAgMHgwQzEyLCAweDQwMDIsIDB4Nzk4MCwgMHgwMEFGLCAweDdBODAsIDB4MDA2QiwgMHhCRTAyLCAweDYyMEUsIDB4NjYwRCwgMHhCQTEwLCAweEUzNDQsIDB4MDA3QSwgCi0gICAgMHgwQzEwLCAweDQwMDUsIDB4MTAwRSwgMHhCQTAxLCAweDkwMTIsIDB4MEMxMiwgMHg0MDAyLCAweDEwMDMsIDB4QkEwMiwgMHg5MDEyLCAweDBDMTIsIDB4NDAwMCwgCi0gICAgMHgxMDAzLCAweEUzODgsIDB4MDBCQSwgMHgxMDA0LCAweDc5ODAsIDB4MDBCQywgMHgxMDA0LCAweEJBMDEsIDB4OTAxMiwgMHgwQzEyLCAweDQwMDEsIDB4MEMwNSwgCi0gICAgMHg0MDAzLCAweDBDMDYsIDB4NDAwNCwgMHgxMDExLCAweEJGQjAsIDB4MDFGRiwgMHg5MDEyLCAweDBDMTIsIDB4NDAwNiwgMHhCQzIwLCAweEVGMDAsIDB4QUUyNiwgCi0gICAgMHgxMDI4LCAweDY5NzAsIDB4QkZEMCwgMHgwMDAxLCAweDkwNzAsIDB4RTM4OCwgMHgwMDdBLCAweEFFMjgsIDB4MDAwMCwgMHhFRjAwLCAweEFFNzAsIDB4MDMwMCwgCi0gICAgMHgwQzcwLCAweEIwMEMsIDB4QUU1QSwgMHgwMDAwLCAweEVGMDAsIDB4N0E4MCwgMHgwMzhBLCAweDY5N0YsIDB4QjgwMSwgMHg5MDdGLCAweDAwNTYsIDB4OEI4OCwgCi0gICAgMHgwQ0EwLCAweEIwMDgsIDB4QUY3MSwgMHhCMDAwLCAweDRFNzEsIDB4RTIwMCwgMHgwMEYzLCAweEFFNTYsIDB4MTA1NywgMHgwMDU2LCAweDBDQTAsIDB4QjAwOCwgCi0gICAgMHg4MDU2LCAweDc5ODAsIDB4MDNBMSwgMHgwODEwLCAweEJGQTAsIDB4MTA1OSwgMHhFMzA0LCAweDAzQTEsIDB4ODA1NiwgMHg3OTgwLCAweDAzQTEsIDB4N0E4MCwgCi0gICAgMHgwMzhBLCAweEJGMDEsIDB4QkU0MywgMHhCRTU5LCAweDkwN0MsIDB4NjkzNywgMHhFMzg4LCAweDAxMEQsIDB4QkEwMSwgMHhFMzA4LCAweDAxMEMsIDB4QUU3MSwgCi0gICAgMHgwMDA0LCAweDBDNzEsIDB4NTAwMCwgMHg2OTM2LCAweDkwMzcsIDB4QkYwQSwgMHgxMDlFLCAweDhCOEEsIDB4QUY4MCwgMHg4MDE0LCAweDRDODAsIDB4QkYwQSwgCi0gICAgMHgwNTYwLCAweEY1MDAsIDB4QkYwQSwgMHgwNTIwLCAweEI5MDAsIDB4QkIxNywgMHg5MEEwLCAweDY5MTcsIDB4RTM4OCwgMHgwMTQ4LCAweDBEMTcsIDB4RTEwMCwgCi0gICAgMHgwMTI3LCAweEJGMEMsIDB4MDU3OCwgMHhCRjBELCAweDA1N0MsIDB4Nzk4MCwgMHgwMTJCLCAweEJGMEMsIDB4MDUzOCwgMHhCRjBELCAweDA1M0MsIDB4NjkwMCwgCi0gICAgMHhFMzA4LCAweDAxMzUsIDB4OEI4QywgMHhCRTU5LCAweEJCMDcsIDB4OTBBMCwgMHhCQzIwLCAweDc5ODAsIDB4MDE1NywgMHgwMzBDLCAweDhCOEIsIDB4QjkwMywgCi0gICAgMHg4ODA5LCAweEJFQzYsIDB4MDEzRSwgMHg2OUFDLCAweDkwQUIsIDB4NjlBRCwgMHg5MEFCLCAweDA4MTMsIDB4NjYwQSwgMHhFMzQ0LCAweDAxNDQsIDB4MDMwOSwgCi0gICAgMHg4MzBDLCAweEJDMjAsIDB4Nzk4MCwgMHgwMTU3LCAweDY5NTUsIDB4RTM4OCwgMHgwMTU3LCAweDdDMzgsIDB4QkYwQiwgMHgwNTc4LCAweEY1MDAsIDB4QkYwQiwgCi0gICAgMHgwNTM4LCAweEI5MDcsIDB4ODgwOSwgMHhCRUM2LCAweDAxNTYsIDB4MTBBQiwgMHg5MEFBLCAweDY5NzQsIDB4RTM4OCwgMHgwMTYzLCAweEFFNzIsIDB4MDU0MCwgCi0gICAgMHhGNTAwLCAweEFFNzIsIDB4MDUwMCwgMHhBRTYxLCAweDEwM0IsIDB4N0E4MCwgMHgwMkY2LCAweDY5NzgsIDB4RTM4OCwgMHgwMTgyLCAweDhCOEMsIDB4QkYwQywgCi0gICAgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgMHgwODE0LCAweEJBMjAsIDB4ODgxMiwgMHg3MzNELCAweDdBODAsIDB4MDM4MCwgMHg3MzNFLCAweDdBODAsIDB4MDM4MCwgCi0gICAgMHg4QjhDLCAweEJGMEMsIDB4MDU2QywgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTJDLCAweDg4MTIsIDB4NzMzRiwgMHg3QTgwLCAweDAzODAsIDB4NzM0MCwgCi0gICAgMHg3QTgwLCAweDAzODAsIDB4Njk3NSwgMHhFMzg4LCAweDAxOEUsIDB4QUU3MiwgMHgwNTQ4LCAweEY1MDAsIDB4QUU3MiwgMHgwNTA4LCAweEFFNjEsIDB4MTA0MSwgCi0gICAgMHg3QTgwLCAweDAyRjYsIDB4Njk3OSwgMHhFMzg4LCAweDAxQUQsIDB4OEI4QywgMHhCRjBDLCAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTQsIDB4QkExOCwgCi0gICAgMHg4ODEyLCAweDczNDMsIDB4N0E4MCwgMHgwMzgwLCAweDczNDQsIDB4N0E4MCwgMHgwMzgwLCAweDhCOEMsIDB4QkYwQywgMHgwNTZDLCAweEU1MDAsIDB4N0M0MCwgCi0gICAgMHgwODE0LCAweEJBMjQsIDB4ODgxMiwgMHg3MzQ1LCAweDdBODAsIDB4MDM4MCwgMHg3MzQ2LCAweDdBODAsIDB4MDM4MCwgMHg2OTc2LCAweEUzODgsIDB4MDFCOSwgCi0gICAgMHhBRTcyLCAweDA1NTgsIDB4RjUwMCwgMHhBRTcyLCAweDA1MTgsIDB4QUU2MSwgMHgxMDQ3LCAweDdBODAsIDB4MDJGNiwgMHg2OTdBLCAweEUzODgsIDB4MDFEOCwgCi0gICAgMHg4QjhDLCAweEJGMEMsIDB4MDU2MCwgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTA4LCAweDg4MTIsIDB4NzM0OSwgMHg3QTgwLCAweDAzODAsIDB4NzM0QSwgCi0gICAgMHg3QTgwLCAweDAzODAsIDB4OEI4QywgMHhCRjBDLCAweDA1NkMsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTQsIDB4QkExNCwgMHg4ODEyLCAweDczNEIsIDB4N0E4MCwgCi0gICAgMHgwMzgwLCAweDczNEMsIDB4N0E4MCwgMHgwMzgwLCAweEJDMjEsIDB4QUUxQywgMHgxMDkwLCAweDhCOEEsIDB4QkYwQSwgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgCi0gICAgMHgwODEyLCAweEI4MDQsIDB4ODgxMywgMHg4QjhELCAweEJGMEQsIDB4MDU2QywgMHhFNTAwLCAweDdDNDAsIDB4MDgxNSwgMHhCODA0LCAweDg4MTEsIDB4N0E4MCwgCi0gICAgMHgwMzRBLCAweDhCOEEsIDB4QkYwQSwgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgMHg3MzFGLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAweDAxRjksIDB4NTQ4QSwgCi0gICAgMHhCRTAzLCAweDk4QTAsIDB4NzMyMCwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwMjAxLCAweDU0OEEsIDB4QkUwMywgMHg5OEEwLCAweDFGMjAsIDB4MkYxRiwgCi0gICAgMHg5ODI2LCAweEJDMjAsIDB4NjkzNSwgMHhFMzg4LCAweDAzQTEsIDB4NjkzMywgMHhCODAxLCAweDkwMzMsIDB4QkZBMCwgMHgwMkVFLCAweEUzMDgsIDB4MDNBMSwgCi0gICAgMHg5MDMzLCAweEJGMDAsIDB4Njk1MSwgMHhFMzg4LCAweDAyMUYsIDB4NzMzNCwgMHhCRTgwLCAweDU3NjAsIDB4QkUwMywgMHg5RjdFLCAweEJFNTksIDB4OTAzNCwgCi0gICAgMHg2OTdFLCAweDBENTEsIDB4OTAxMywgMHhCQzIwLCAweDY5NUMsIDB4RTM4OCwgMHgwM0ExLCAweDczNUUsIDB4QkU4MCwgMHg1NzYwLCAweEJFMDMsIDB4OUY3RSwgCi0gICAgMHhCRTU5LCAweDkwNUUsIDB4Njk3RSwgMHgwRDVDLCAweDkwMTMsIDB4Nzk4MCwgMHgwM0ExLCAweDdBODAsIDB4MDM4QSwgMHhCRjAxLCAweEJFNDMsIDB4Njk3NywgCi0gICAgMHhFMzg4LCAweDAyNEUsIDB4QUU2MSwgMHgxMDRELCAweDAwNjEsIDB4OEI4OCwgMHg2OTgwLCAweEUzODgsIDB4MDI0RSwgMHg5MDcxLCAweDBENzEsIDB4MDAwQiwgCi0gICAgMHhBRkEwLCAweDgwMTAsIDB4QUZBMCwgMHg4MDEwLCAweDA4MTAsIDB4NjYwQSwgMHhFMzA4LCAweDAyNDksIDB4MDAwOSwgMHgwODEwLCAweDY2MEMsIDB4RTM4OCwgCi0gICAgMHgwMjRFLCAweDgwMEIsIDB4QkMyMCwgMHg2OTdCLCAweEUzODgsIDB4MDNBMSwgMHhCRjBBLCAweDEwOUUsIDB4OEI4QSwgMHhBRjgwLCAweDgwMTQsIDB4NEM4MCwgCi0gICAgMHhFMTAwLCAweDAyNjYsIDB4Njk3QywgMHhCRjkwLCAweDA1NjAsIDB4OTA3MiwgMHgwMzcyLCAweDY5N0MsIDB4QkY5MCwgMHgwNTY0LCAweDkwNzMsIDB4MDQ3MywgCi0gICAgMHg3OTgwLCAweDAyNzAsIDB4Njk3QywgMHhCRjkwLCAweDA1MjAsIDB4OTA3MiwgMHgwMzcyLCAweDY5N0MsIDB4QkY5MCwgMHgwNTI0LCAweDkwNzMsIDB4MDQ3MywgCi0gICAgMHg2OTdDLCAweEI4MDEsIDB4OTA3QywgMHhCRjBBLCAweDEwRkQsIDB4OEI4QSwgMHhBRjgwLCAweDgwMTAsIDB4NzM0RiwgMHg1NDhBLCAweEJFMDMsIDB4OTg4MCwgCi0gICAgMHhCQzIxLCAweDczMjYsIDB4NTQ4QiwgMHhCRTAzLCAweDYxOEIsIDB4OTg4QywgMHhCRTAzLCAweDYxODAsIDB4OTg4MCwgMHg3OTgwLCAweDAzQTEsIDB4N0E4MCwgCi0gICAgMHgwMzhBLCAweDBEMjgsIDB4NDcxMSwgMHhFMTAwLCAweDAyQkUsIDB4QUYxMiwgMHg0MDA2LCAweDY5MTIsIDB4QkZCMCwgMHgwQzAwLCAweEUzODgsIDB4MDJCNiwgCi0gICAgMHhCRkEwLCAweDA4MDAsIDB4RTM4OCwgMHgwMkIyLCAweDY5MTIsIDB4QkZCMCwgMHgwQzAwLCAweEJGQTAsIDB4MDQwMCwgMHhFMzg4LCAweDAyQTMsIDB4NjkwOSwgCi0gICAgMHg5MDBCLCAweDc5ODAsIDB4MDJBNSwgMHhBRjBCLCAweDQwMDUsIDB4NjkwMSwgMHg5MDA1LCAweDY5MDIsIDB4OTAwNiwgMHg0MzExLCAweEUxMDAsIDB4MDJFRCwgCi0gICAgMHg2OTExLCAweEJGQzAsIDB4MjAwMCwgMHg5MDExLCAweDc5ODAsIDB4MDJFRCwgMHg2OTA5LCAweDkwMEIsIDB4Nzk4MCwgMHgwMkI4LCAweEFGMEIsIDB4NDAwNSwgCi0gICAgMHhBRjA1LCAweDQwMDMsIDB4QUYwNiwgMHg0MDA0LCAweDc5ODAsIDB4MDJFRCwgMHhBRjEyLCAweDQwMDYsIDB4NjkxMiwgMHhCRkIwLCAweDBDMDAsIDB4RTM4OCwgCi0gICAgMHgwMkU3LCAweEJGQTAsIDB4MDgwMCwgMHhFMzg4LCAweDAyRTMsIDB4NjkxMiwgMHhCRkIwLCAweDBDMDAsIDB4QkZBMCwgMHgwNDAwLCAweEUzODgsIDB4MDJENCwgCi0gICAgMHg2OTBELCAweDkwMTAsIDB4Nzk4MCwgMHgwMkQ2LCAweEFGMTAsIDB4NDAwNSwgMHg2OTAxLCAweDkwMDUsIDB4NjkwMiwgMHg5MDA2LCAweDQzMTEsIDB4RTEwMCwgCi0gICAgMHgwMkVELCAweDY5MTEsIDB4QkZDMCwgMHgyMDAwLCAweDkwMTEsIDB4Nzk4MCwgMHgwMkVELCAweDY5MEQsIDB4OTAxMCwgMHg3OTgwLCAweDAyRTksIDB4QUYxMCwgCi0gICAgMHg0MDA1LCAweEFGMDUsIDB4NDAwMywgMHhBRjA2LCAweDQwMDQsIDB4QkMyMCwgMHg2OTcwLCAweDkwNzEsIDB4N0E4MCwgMHgwMDc4LCAweDY5NzEsIDB4OTA3MCwgCi0gICAgMHg3OTgwLCAweDAzQTEsIDB4QkMyMCwgMHgwMzYxLCAweDhCOEIsIDB4Njk4MCwgMHhFRjg4LCAweDAyNzIsIDB4MDM3MiwgMHg3ODA0LCAweDkwNzEsIDB4MEQ3MSwgCi0gICAgMHg4QjhBLCAweDAwMEIsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIDB4MDMwOSwgMHg2OUE4LCAweDkwQUIsIDB4NjlBOCwgMHg5MEFBLCAweDA4MTAsIDB4NjYwQSwgCi0gICAgMHhFMzQ0LCAweDAzMEYsIDB4MDAwOSwgMHgwODEwLCAweDY2MEMsIDB4RTM4OCwgMHgwMzE0LCAweDgwMEIsIDB4QkMyMCwgMHg2OTYxLCAweEI4MDEsIDB4OTA2MSwgCi0gICAgMHg3OTgwLCAweDAyRjcsIDB4N0E4MCwgMHgwMzhBLCAweDVEMzUsIDB4MDAwMSwgMHg2OTM0LCAweEI4MDEsIDB4OTAzNCwgMHhCRjBBLCAweDEwOUUsIDB4OEI4QSwgCi0gICAgMHhBRjgwLCAweDgwMTQsIDB4NDg4MCwgMHhBRTcyLCAweDA1NTAsIDB4RjUwMCwgMHhBRTcyLCAweDA1MTAsIDB4QUU2MSwgMHgxMDUxLCAweDdBODAsIDB4MDJGNiwgCi0gICAgMHg3OTgwLCAweDAzQTEsIDB4N0E4MCwgMHgwMzhBLCAweDVEMzUsIDB4MDAwMiwgMHg2OTVFLCAweEI4MDEsIDB4OTA1RSwgMHhCRjBBLCAweDEwOUUsIDB4OEI4QSwgCi0gICAgMHhBRjgwLCAweDgwMTQsIDB4NDc4MCwgMHhBRTcyLCAweDA1NTgsIDB4RjUwMCwgMHhBRTcyLCAweDA1MTgsIDB4QUU2MSwgMHgxMDVDLCAweDdBODAsIDB4MDJGNiwgCi0gICAgMHg3OTgwLCAweDAzQTEsIDB4MDAxQywgMHg4Qjg4LCAweDY5ODAsIDB4RUY4OCwgMHg5MDFELCAweDBEMUQsIDB4MTAwRiwgMHg2NjEwLCAweEUzOEMsIDB4MDM1OCwgCi0gICAgMHg2OTBFLCAweDY2MTAsIDB4NjIwRiwgMHg2NjBELCAweEJBMEYsIDB4RTMwMSwgMHgwMzdBLCAweDA0MTAsIDB4OEI4QSwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgCi0gICAgMHgwMzZDLCAweDZBOEMsIDB4NjFBQSwgMHg5OEFCLCAweDZBOEMsIDB4NjFBQiwgMHg5OEFELCAweDZBOEMsIDB4NjFBRCwgMHg5OEE5LCAweDZBOEMsIDB4NjFBOSwgCi0gICAgMHg5OEFBLCAweDdDMDQsIDB4OEI4QiwgMHg3QzA0LCAweDhCOEQsIDB4N0MwNCwgMHg4Qjg5LCAweDdDMDQsIDB4MDgxNCwgMHg2NjBFLCAweEUzMDgsIDB4MDM3OSwgCi0gICAgMHgwNDBELCAweDg0MTAsIDB4QkMyMSwgMHg2OTFDLCAweEI4MDEsIDB4OTAxQywgMHg3OTgwLCAweDAzNEEsIDB4QjkwMywgMHg4ODA5LCAweDhCOEEsIDB4QkVDNiwgCi0gICAgMHgwMzg4LCAweDU0QUMsIDB4QkUwMywgMHg2MThDLCAweDk4QUEsIDB4RUYwMCwgMHhCQzIwLCAweEJFNDYsIDB4MDgwOSwgMHg5MDZCLCAweDA4MEEsIDB4OTA2QywgCi0gICAgMHgwODBCLCAweDkwNkQsIDB4MDgxQSwgMHg5MDYyLCAweDA4MUIsIDB4OTA2MywgMHgwODFFLCAweDkwNjQsIDB4QkU1OSwgMHg4ODFFLCAweDgwNjUsIDB4ODE2NiwgCi0gICAgMHg4MjY3LCAweDgzNjgsIDB4ODQ2OSwgMHg4NTZBLCAweEVGMDAsIDB4QkMyMCwgMHg2OTZCLCAweDg4MDksIDB4Njk2QywgMHg4ODBBLCAweDY5NkQsIDB4ODgwQiwgCi0gICAgMHg2OTYyLCAweDg4MUEsIDB4Njk2MywgMHg4ODFCLCAweDY5NjQsIDB4ODgxRSwgMHgwMDY1LCAweDAxNjYsIDB4MDI2NywgMHgwMzY4LCAweDA0NjksIDB4MDU2QSwgCi0gICAgMHhCRTNBLCAKLX07Ci0KLS8qCi0gKiBNaW5pIHNhbXBsZSByYXRlIGNvbnZlcnRlciBjb2RlIGltYWdlCi0gKiB0aGF0IGlzIHRvIGJlIGxvYWRlZCBhdCAweDQwMCBvbiB0aGUgRFNQLgotICovCi1zdGF0aWMgY29uc3QgdTE2IGFzc3BfbWluaXNyY19pbWFnZVtdID0gewotCi0gICAgMHhCRjgwLCAweDEwMUUsIDB4OTA2RSwgMHgwMDZFLCAweDhCODgsIDB4Njk4MCwgMHhFRjg4LCAweDkwNkYsIDB4MEQ2RiwgMHg2OTAwLCAweEVCMDgsIDB4MDQxMiwgCi0gICAgMHhCQzIwLCAweDY5NkUsIDB4QjgwMSwgMHg5MDZFLCAweDc5ODAsIDB4MDQwMywgMHhCOTBFLCAweDg4MDcsIDB4QkU0MywgMHhCRjAxLCAweEJFNDcsIDB4QkU0MSwgCi0gICAgMHg3QTgwLCAweDAwMkEsIDB4QkU0MCwgMHgzMDI5LCAweEVGQ0MsIDB4QkU0MSwgMHg3QTgwLCAweDAwMjgsIDB4QkU0MCwgMHgzMDI4LCAweEVGQ0MsIDB4NjkwNywgCi0gICAgMHhFMzA4LCAweDA0MkEsIDB4NjkwOSwgMHg5MDJDLCAweDc5ODAsIDB4MDQyQywgMHg2OTBELCAweDkwMkMsIDB4MTAwOSwgMHg4ODFBLCAweDEwMEEsIDB4QkEwMSwgCi0gICAgMHg4ODFCLCAweDEwMEQsIDB4ODgxQywgMHgxMDBFLCAweEJBMDEsIDB4ODgxRCwgMHhCRjgwLCAweDAwRUQsIDB4ODgxRSwgMHgwNTBDLCAweDAxMjQsIDB4QjkwNCwgCi0gICAgMHg5MDI3LCAweDY5MTgsIDB4RTMwOCwgMHgwNEIzLCAweDkwMkQsIDB4NjkxMywgMHhCRkEwLCAweDc1OTgsIDB4RjcwNCwgMHhBRTJELCAweDAwRkYsIDB4OEI4RCwgCi0gICAgMHg2OTE5LCAweEUzMDgsIDB4MDQ2MywgMHg2OTFBLCAweEUzMDgsIDB4MDQ1NiwgMHhCOTA3LCAweDg4MDksIDB4QkVDNiwgMHgwNDUzLCAweDEwQTksIDB4OTBBRCwgCi0gICAgMHg3OTgwLCAweDA0N0MsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIDB4MDQ2MCwgMHgxODg5LCAweDZDMjIsIDB4OTBBRCwgMHgxMEE5LCAweDZFMjMsIDB4NkMyMiwgCi0gICAgMHg5MEFELCAweDc5ODAsIDB4MDQ3QywgMHgxMDFBLCAweEUzMDgsIDB4MDQ2RiwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwNDZDLCAweDEwQTksIDB4OTBBMCwgCi0gICAgMHg5MEFELCAweDc5ODAsIDB4MDQ3QywgMHhCOTAxLCAweDg4MDksIDB4QkVDNiwgMHgwNDdCLCAweDE4ODksIDB4NkMyMiwgMHg5MEEwLCAweDkwQUQsIDB4MTBBOSwgCi0gICAgMHg2RTIzLCAweDZDMjIsIDB4OTBBMCwgMHg5MEFELCAweDY5MkQsIDB4RTMwOCwgMHgwNDlDLCAweDAxMjQsIDB4QjcwMywgMHhCOTAyLCAweDg4MTgsIDB4OEI4OSwgCi0gICAgMHgwMjJDLCAweDEwOEEsIDB4N0MwNCwgMHg5MEEwLCAweDY5MkIsIDB4ODgxRiwgMHg3RTgwLCAweDA1NUIsIDB4NjkyQSwgMHg4ODA5LCAweDhCODksIDB4OTlBMCwgCi0gICAgMHgxMDhBLCAweDkwQTAsIDB4NjkyQiwgMHg4ODFGLCAweDdFODAsIDB4MDU1QiwgMHg2OTJBLCAweDg4MDksIDB4OEI4OSwgMHg5OUFGLCAweDdCOTksIDB4MDQ4NCwgCi0gICAgMHgwMTI0LCAweDA2MEYsIDB4MTAxQiwgMHgyMDEzLCAweDkwMUIsIDB4QkZBMCwgMHg3RkZGLCAweEUzNDQsIDB4MDRBQywgMHg5MDFCLCAweDhCODksIDB4N0E4MCwgCi0gICAgMHgwNTFBLCAweDY5MjcsIDB4QkEwMSwgMHg5MDI3LCAweDdBODAsIDB4MDUyMywgMHg2OTI3LCAweEUzMDgsIDB4MDQ5RSwgMHg3OTgwLCAweDA1MEYsIDB4MDYyNCwgCi0gICAgMHgxMDI2LCAweDIwMTMsIDB4OTAyNiwgMHhCRkEwLCAweDdGRkYsIDB4RTMwNCwgMHgwNEMwLCAweDhCOEQsIDB4N0E4MCwgMHgwNTFBLCAweDc5ODAsIDB4MDRCNCwgCi0gICAgMHg5MDI2LCAweDEwMTMsIDB4MzAyNiwgMHg5MDFCLCAweDhCOEQsIDB4N0E4MCwgMHgwNTFBLCAweDdBODAsIDB4MDUyMywgMHgxMDI3LCAweEJBMDEsIDB4OTAyNywgCi0gICAgMHhFMzA4LCAweDA0QjQsIDB4MDEyNCwgMHgwNjBGLCAweDhCODksIDB4NjkxQSwgMHhFMzA4LCAweDA0RUEsIDB4NjkxOSwgMHhFMzg4LCAweDA0RTAsIDB4QjkwMywgCi0gICAgMHg4ODA5LCAweEJFQzYsIDB4MDRERCwgMHgxRkEwLCAweDJGQUUsIDB4OThBOSwgMHg3OTgwLCAweDA1MEYsIDB4QjkwMSwgMHg4ODE4LCAweEI5MDcsIDB4ODgwOSwgCi0gICAgMHhCRUM2LCAweDA0RTcsIDB4MTBFRSwgMHg5MEE5LCAweDc5ODAsIDB4MDUwRiwgMHg2OTE5LCAweEUzMDgsIDB4MDRGRSwgMHhCOTAzLCAweDg4MDksIDB4QkU0NiwgCi0gICAgMHhCRUM2LCAweDA0RkEsIDB4MTdBMCwgMHhCRTFFLCAweDFGQUUsIDB4QkZCRiwgMHhGRjAwLCAweEJFMTMsIDB4QkZERiwgMHg4MDgwLCAweDk5QTksIDB4QkU0NywgCi0gICAgMHg3OTgwLCAweDA1MEYsIDB4QjkwMSwgMHg4ODA5LCAweEJFQzYsIDB4MDUwRSwgMHgxNkEwLCAweDI2QTAsIDB4QkZCNywgMHhGRjAwLCAweEJFMUUsIDB4MUVBMCwgCi0gICAgMHgyRUFFLCAweEJGQkYsIDB4RkYwMCwgMHhCRTEzLCAweEJGREYsIDB4ODA4MCwgMHg5OUE5LCAweDg1MEMsIDB4ODYwRiwgMHg2OTA3LCAweEUzODgsIDB4MDUxNiwgCi0gICAgMHgwRDA3LCAweDg1MTAsIDB4QkU1OSwgMHg4ODFFLCAweEJFNEEsIDB4RUYwMCwgMHgxMDFFLCAweDkwMUMsIDB4MTAxRiwgMHg5MDFELCAweDEwQTAsIDB4OTAxRSwgCi0gICAgMHgxMEEwLCAweDkwMUYsIDB4RUYwMCwgMHgxMDFFLCAweDMwMUMsIDB4OTAyMCwgMHg3MzFCLCAweDU0MjAsIDB4QkUwMywgMHg5ODI1LCAweDEwMjUsIDB4MjAxQywgCi0gICAgMHg5MDI1LCAweDczMjUsIDB4NTQxNCwgMHhCRTAzLCAweDhCOEUsIDB4OTg4MCwgMHg2OTJGLCAweEUzODgsIDB4MDUzOSwgMHhCRTU5LCAweEJCMDcsIDB4NjE4MCwgCi0gICAgMHg5ODgwLCAweDhCQTAsIDB4MTAxRiwgMHgzMDFELCAweDkwMjEsIDB4NzMxQiwgMHg1NDIxLCAweEJFMDMsIDB4OTgyRSwgMHgxMDJFLCAweDIwMUQsIDB4OTAyRSwgCi0gICAgMHg3MzJFLCAweDU0MTUsIDB4QkUwMywgMHg5ODgwLCAweDY5MkYsIDB4RTM4OCwgMHgwNTRGLCAweEJFNTksIDB4QkIwNywgMHg2MTgwLCAweDk4ODAsIDB4OEJBMCwgCi0gICAgMHg2OTE4LCAweEVGMDgsIDB4NzMyNSwgMHg1NDE2LCAweEJFMDMsIDB4OThBMCwgMHg3MzJFLCAweDU0MTcsIDB4QkUwMywgMHg5OEEwLCAweEVGMDAsIDB4OEJBMCwgCi0gICAgMHhCRUM2LCAweDA1NkIsIDB4QkU1OSwgMHhCQjA0LCAweEFBOTAsIDB4QkUwNCwgMHhCRTFFLCAweDk5RTAsIDB4OEJFMCwgMHg2OUEwLCAweDkwRDAsIDB4NjlBMCwgCi0gICAgMHg5MEQwLCAweDA4MUYsIDB4QjgwNSwgMHg4ODFGLCAweDhCOTAsIDB4NjlBMCwgMHg5MEQwLCAweDY5QTAsIDB4OTA5MCwgMHg4QkQwLCAweDhCRDgsIDB4QkUxRiwgCi0gICAgMHhFRjAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgCi0gICAgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlIGFzc3Bfa2VybmVsID0gewotCS5kYXRhID0gKHU4ICopYXNzcF9rZXJuZWxfaW1hZ2UsCi0JLnNpemUgPSBzaXplb2YgYXNzcF9rZXJuZWxfaW1hZ2UKLX07Ci1zdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlIGFzc3BfbWluaXNyYyA9IHsKLQkuZGF0YSA9ICh1OCAqKWFzc3BfbWluaXNyY19pbWFnZSwKLQkuc2l6ZSA9IHNpemVvZiBhc3NwX21pbmlzcmNfaW1hZ2UKLX07Ci0KLSNlbHNlIC8qIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMICovCi0KLSNpZmRlZiBfX0xJVFRMRV9FTkRJQU4KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbmRfbTNfY29udmVydF9mcm9tX2xlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpIHsgfQotI2Vsc2UKLXN0YXRpYyB2b2lkIHNuZF9tM19jb252ZXJ0X2Zyb21fbGUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKLXsKLQlpbnQgaTsKLQl1MTYgKmRhdGEgPSAodTE2ICopZnctPmRhdGE7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZnctPnNpemUgLyAyOyArK2kpCi0JCWxlMTZfdG9fY3B1cygmZGF0YVtpXSk7Ci19Ci0jZW5kaWYKLQotI2VuZGlmIC8qIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMICovCi0KLQogLyoKICAqIGluaXRpYWxpemUgQVNTUAogICovCkBAIC0yMjcxLDcgKzIxMTIsNyBAQAogc3RhdGljIHZvaWQgc25kX20zX2Fzc3BfaW5pdChzdHJ1Y3Qgc25kX20zICpjaGlwKQogewogCXVuc2lnbmVkIGludCBpOwotCXUxNiAqZGF0YTsKKwljb25zdCB1MTYgKmRhdGE7CiAKIAkvKiB6ZXJvIGtlcm5lbCBkYXRhICovCiAJZm9yIChpID0gMDsgaSA8IChSRVZfQl9EQVRBX01FTU9SWV9VTklUX0xFTkdUSCAqIE5VTV9VTklUU19LRVJORUxfREFUQSkgLyAyOyBpKyspCkBAIC0yMjg5LDEwICsyMTMwLDExIEBACiAJCQkgIEtEQVRBX0RNQV9YRkVSMCk7CiAKIAkvKiB3cml0ZSBrZXJuZWwgaW50byBjb2RlIG1lbW9yeS4uICovCi0JZGF0YSA9ICh1MTYgKiljaGlwLT5hc3NwX2tlcm5lbF9pbWFnZS0+ZGF0YTsKKwlkYXRhID0gKGNvbnN0IHUxNiAqKWNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlLT5kYXRhOwogCWZvciAoaSA9IDAgOyBpICogMiA8IGNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlLT5zaXplOyBpKyspIHsKIAkJc25kX20zX2Fzc3Bfd3JpdGUoY2hpcCwgTUVNVFlQRV9JTlRFUk5BTF9DT0RFLCAKLQkJCQkgIFJFVl9CX0NPREVfTUVNT1JZX0JFR0lOICsgaSwgZGF0YVtpXSk7CisJCQkJICBSRVZfQl9DT0RFX01FTU9SWV9CRUdJTiArIGksCisJCQkJICBsZTE2X3RvX2NwdShkYXRhW2ldKSk7CiAJfQogCiAJLyoKQEAgLTIzMDEsMTAgKzIxNDMsMTAgQEAKIAkgKiBkcm9wIGl0IHRoZXJlLiAgSXQgc2VlbXMgdGhhdCB0aGUgbWluaXNyYyBkb2Vzbid0CiAJICogbmVlZCB2ZWN0b3JzLCBzbyB3ZSB3b24ndCBib3RoZXIgd2l0aCB0aGVtLi4KIAkgKi8KLQlkYXRhID0gKHUxNiAqKWNoaXAtPmFzc3BfbWluaXNyY19pbWFnZS0+ZGF0YTsKKwlkYXRhID0gKGNvbnN0IHUxNiAqKWNoaXAtPmFzc3BfbWluaXNyY19pbWFnZS0+ZGF0YTsKIAlmb3IgKGkgPSAwOyBpICogMiA8IGNoaXAtPmFzc3BfbWluaXNyY19pbWFnZS0+c2l6ZTsgaSsrKSB7CiAJCXNuZF9tM19hc3NwX3dyaXRlKGNoaXAsIE1FTVRZUEVfSU5URVJOQUxfQ09ERSwgCi0JCQkJICAweDQwMCArIGksIGRhdGFbaV0pOworCQkJCSAgMHg0MDAgKyBpLCBsZTE2X3RvX2NwdShkYXRhW2ldKSk7CiAJfQogCiAJLyoKQEAgLTI0MjcsNiArMjI2OSwyOSBAQAogCW91dHcoMHhmZmZmLCBpbyArIEdQSU9fTUFTSyk7CiB9CiAKK3N0YXRpYyB2b2lkCitzbmRfbTNfaHZfaW5pdChzdHJ1Y3Qgc25kX20zICpjaGlwKQoreworCXVuc2lnbmVkIGxvbmcgaW8gPSBjaGlwLT5pb2Jhc2U7CisJdTE2IHZhbCA9IEdQSV9WT0xfRE9XTiB8IEdQSV9WT0xfVVA7CisKKwlpZiAoIWNoaXAtPmlzX29tbmlib29rKQorCQlyZXR1cm47CisKKwkvKgorCSAqIFZvbHVtZSBidXR0b25zIG9uIHNvbWUgSFAgT21uaUJvb2sgbGFwdG9wcworCSAqIHJlcXVpcmUgc29tZSBHUElPIG1hZ2ljIHRvIHdvcmsgY29ycmVjdGx5LgorCSAqLworCW91dHcoMHhmZmZmLCBpbyArIEdQSU9fTUFTSyk7CisJb3V0dygweDAwMDAsIGlvICsgR1BJT19EQVRBKTsKKworCW91dHcofnZhbCwgaW8gKyBHUElPX01BU0spOworCW91dHcoaW53KGlvICsgR1BJT19ESVJFQ1RJT04pICYgfnZhbCwgaW8gKyBHUElPX0RJUkVDVElPTik7CisJb3V0dyh2YWwsIGlvICsgR1BJT19NQVNLKTsKKworCW91dHcoMHhmZmZmLCBpbyArIEdQSU9fTUFTSyk7Cit9CisKIHN0YXRpYyBpbnQKIHNuZF9tM19jaGlwX2luaXQoc3RydWN0IHNuZF9tMyAqY2hpcCkKIHsKQEAgLTI0NDIsMjEgKzIzMDcsNiBAQAogCSAgICAgICBESVNBQkxFX0xFR0FDWSk7CiAJcGNpX3dyaXRlX2NvbmZpZ193b3JkKHBjaWRldiwgUENJX0xFR0FDWV9BVURJT19DVFJMLCB3KTsKIAotCWlmIChjaGlwLT5pc19vbW5pYm9vaykgewotCQkvKgotCQkgKiBWb2x1bWUgYnV0dG9ucyBvbiBzb21lIEhQIE9tbmlCb29rIGxhcHRvcHMgZG9uJ3Qgd29yawotCQkgKiBjb3JyZWN0bHkuIFRoaXMgbWFrZXMgdGhlbSB3b3JrIGZvciB0aGUgbW9zdCBwYXJ0LgotCQkgKgotCQkgKiBWb2x1bWUgdXAgYW5kIGRvd24gYnV0dG9ucyBvbiB0aGUgbGFwdG9wIHNpZGUgd29yay4KLQkJICogRm4rY3Vyc29yX3VwICh2b2xtZSB1cCkgd29ya3MuCi0JCSAqIEZuK2N1cnNvcl9kb3duICh2b2x1bWUgZG93bikgZG9lc24ndCB3b3JrLgotCQkgKiBGbitGNyAobXV0ZSkgd29ya3MgYWN0cyBhcyB2b2x1bWUgdXAuCi0JCSAqLwotCQlvdXR3KH4oR1BJX1ZPTF9ET1dOfEdQSV9WT0xfVVApLCBpbyArIEdQSU9fTUFTSyk7Ci0JCW91dHcoaW53KGlvICsgR1BJT19ESVJFQ1RJT04pICYgfihHUElfVk9MX0RPV058R1BJX1ZPTF9VUCksIGlvICsgR1BJT19ESVJFQ1RJT04pOwotCQlvdXR3KChHUElfVk9MX0RPV058R1BJX1ZPTF9VUCksIGlvICsgR1BJT19EQVRBKTsKLQkJb3V0dygweGZmZmYsIGlvICsgR1BJT19NQVNLKTsKLQl9CiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKHBjaWRldiwgUENJX0FMTEVHUk9fQ09ORklHLCAmbik7CiAJbiAmPSB+KEhWX0NUUkxfRU5BQkxFIHwgUkVEVUNFRF9ERUJPVU5DRSB8IEhWX0JVVFRPTl9GUk9NX0dEKTsKIAluIHw9IGNoaXAtPmh2X2NvbmZpZzsKQEAgLTI1NDgsMTAgKzIzOTgsOCBAQAogCWlmIChjaGlwLT5pb2Jhc2UpCiAJCXBjaV9yZWxlYXNlX3JlZ2lvbnMoY2hpcC0+cGNpKTsKIAotI2lmbmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAogCXJlbGVhc2VfZmlybXdhcmUoY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UpOwogCXJlbGVhc2VfZmlybXdhcmUoY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlKTsKLSNlbmRpZgogCiAJcGNpX2Rpc2FibGVfZGV2aWNlKGNoaXAtPnBjaSk7CiAJa2ZyZWUoY2hpcCk7CkBAIC0yNjQyLDYgKzI0OTAsOCBAQAogCXNuZF9tM19lbmFibGVfaW50cyhjaGlwKTsKIAlzbmRfbTNfYW1wX2VuYWJsZShjaGlwLCAxKTsKIAorCXNuZF9tM19odl9pbml0KGNoaXApOworCiAJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDApOwogCXJldHVybiAwOwogfQpAQCAtMjc0MSwyOSArMjU5MSwxOSBAQAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKLSNpZmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlID0gJmFzc3Bfa2VybmVsOwotI2Vsc2UKIAllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZjaGlwLT5hc3NwX2tlcm5lbF9pbWFnZSwKIAkJCSAgICAgICAiZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3IiwgJnBjaS0+ZGV2KTsKIAlpZiAoZXJyIDwgMCkgewogCQlzbmRfbTNfZnJlZShjaGlwKTsKIAkJcmV0dXJuIGVycjsKLQl9IGVsc2UKLQkJc25kX20zX2NvbnZlcnRfZnJvbV9sZShjaGlwLT5hc3NwX2tlcm5lbF9pbWFnZSk7Ci0jZW5kaWYKKwl9CiAKLSNpZmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWNoaXAtPmFzc3BfbWluaXNyY19pbWFnZSA9ICZhc3NwX21pbmlzcmM7Ci0jZWxzZQogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmNoaXAtPmFzc3BfbWluaXNyY19pbWFnZSwKIAkJCSAgICAgICAiZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdyIsICZwY2ktPmRldik7CiAJaWYgKGVyciA8IDApIHsKIAkJc25kX20zX2ZyZWUoY2hpcCk7CiAJCXJldHVybiBlcnI7Ci0JfSBlbHNlCi0JCXNuZF9tM19jb252ZXJ0X2Zyb21fbGUoY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlKTsKLSNlbmRpZgorCX0KIAogCWlmICgoZXJyID0gcGNpX3JlcXVlc3RfcmVnaW9ucyhwY2ksIGNhcmQtPmRyaXZlcikpIDwgMCkgewogCQlzbmRfbTNfZnJlZShjaGlwKTsKQEAgLTI3ODEsNiArMjYyMSw4IEBACiAKIAlzbmRfbTNfYW1wX2VuYWJsZShjaGlwLCAxKTsKIAorCXNuZF9tM19odl9pbml0KGNoaXApOworCiAJdGFza2xldF9pbml0KCZjaGlwLT5od3ZvbF90cSwgc25kX20zX3VwZGF0ZV9od192b2x1bWUsICh1bnNpZ25lZCBsb25nKWNoaXApOwogCiAJaWYgKHJlcXVlc3RfaXJxKHBjaS0+aXJxLCBzbmRfbTNfaW50ZXJydXB0LCBJUlFGX1NIQVJFRCwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9taXhhcnQvbWl4YXJ0X2h3ZGVwLmMgYi9zb3VuZC9wY2kvbWl4YXJ0L21peGFydF9od2RlcC5jCmluZGV4IDEyMmMyOGUuLmY5ODYwMzEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9taXhhcnQvbWl4YXJ0X2h3ZGVwLmMKKysrIGIvc291bmQvcGNpL21peGFydC9taXhhcnRfaHdkZXAuYwpAQCAtNjEzLDcgKzYxMyw3IEBACiAJCQkgICAoaW50KWRzcC0+bGVuZ3RoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlmIChjb3B5X2Zyb21fdXNlcihmdy5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKKwlpZiAoY29weV9mcm9tX3VzZXIoKHZvaWQgKikgZncuZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CiAJCXZmcmVlKGZ3LmRhdGEpOwogCQlyZXR1cm4gLUVGQVVMVDsKIAl9CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvbm0yNTYvbm0yNTYuYyBiL3NvdW5kL3BjaS9ubTI1Ni9ubTI1Ni5jCmluZGV4IDdlZmI4MzguLjA2ZDEzZTcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9ubTI1Ni9ubTI1Ni5jCisrKyBiL3NvdW5kL3BjaS9ubTI1Ni9ubTI1Ni5jCkBAIC0xMzAyLDggKzEzMDIsOCBAQAogCQkucmVhZCA9IHNuZF9ubTI1Nl9hYzk3X3JlYWQsCiAJfTsKIAotCWNoaXAtPmFjOTdfcmVncyA9IGtjYWxsb2Moc2l6ZW9mKHNob3J0KSwKLQkJCQkgIEFSUkFZX1NJWkUobm0yNTZfYWM5N19pbml0X3ZhbCksIEdGUF9LRVJORUwpOworCWNoaXAtPmFjOTdfcmVncyA9IGtjYWxsb2MoQVJSQVlfU0laRShubTI1Nl9hYzk3X2luaXRfdmFsKSwKKwkJCQkgIHNpemVvZihzaG9ydCksIEdGUF9LRVJORUwpOwogCWlmICghIGNoaXAtPmFjOTdfcmVncykKIAkJcmV0dXJuIC1FTk9NRU07CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vaGlmaWVyLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL2hpZmllci5jCmluZGV4IDA5MGRkNDMuLjc0NDI0NjAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vaGlmaWVyLmMKKysrIGIvc291bmQvcGNpL294eWdlbi9oaWZpZXIuYwpAQCAtMjgsNyArMjgsNyBAQAogCiBNT0RVTEVfQVVUSE9SKCJDbGVtZW5zIExhZGlzY2ggPGNsZW1lbnNAbGFkaXNjaC5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiVGVtcG9UZWMgSGlGaWVyIGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwogc3RhdGljIGNoYXIgKmlkW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfU1RSOwpAQCAtNjIsMTYgKzYyLDI4IEBACiAJCQkgQUs0Mzk2X1dSSVRFIHwgKHJlZyA8PCA4KSB8IHZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0xDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbMF0pOworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfUkNIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVsxXSk7Cit9CisKK3N0YXRpYyB2b2lkIGhpZmllcl9yZWdpc3RlcnNfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCBoaWZpZXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMSwgQUs0Mzk2X0RJRl8yNF9NU0IgfCBBSzQzOTZfUlNUTik7CisJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzIsIGRhdGEtPmFrNDM5Nl9jdGwyKTsKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMywgQUs0Mzk2X1BDTSk7CisJdXBkYXRlX2FrNDM5Nl92b2x1bWUoY2hpcCk7Cit9CisKIHN0YXRpYyB2b2lkIGhpZmllcl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IGhpZmllcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKIAogCWRhdGEtPmFrNDM5Nl9jdGwyID0gQUs0Mzk2X1NNVVRFIHwgQUs0Mzk2X0RFTV9PRkYgfCBBSzQzOTZfREZTX05PUk1BTDsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMSwgQUs0Mzk2X0RJRl8yNF9NU0IgfCBBSzQzOTZfUlNUTik7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzIsIGRhdGEtPmFrNDM5Nl9jdGwyKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMywgQUs0Mzk2X1BDTSk7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9MQ0hfQVRULCAwKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X1JDSF9BVFQsIDApOworCWhpZmllcl9yZWdpc3RlcnNfaW5pdChjaGlwKTsKIAogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJBSzQzOTYiKTsKIAlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M1MzQwIik7CkBAIC0xMDAsMTIgKzExMiw2IEBACiAJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzEsIEFLNDM5Nl9ESUZfMjRfTVNCIHwgQUs0Mzk2X1JTVE4pOwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfTENIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVswXSk7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9SQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lWzFdKTsKLX0KLQogc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl9tdXRlKHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IGhpZmllcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKQEAgLTE0MCw2ICsxNDYsNyBAQAogCS5pbml0ID0gaGlmaWVyX2luaXQsCiAJLmNvbnRyb2xfZmlsdGVyID0gaGlmaWVyX2NvbnRyb2xfZmlsdGVyLAogCS5jbGVhbnVwID0gaGlmaWVyX2NsZWFudXAsCisJLnJlc3VtZSA9IGhpZmllcl9yZWdpc3RlcnNfaW5pdCwKIAkuc2V0X2RhY19wYXJhbXMgPSBzZXRfYWs0Mzk2X3BhcmFtcywKIAkuc2V0X2FkY19wYXJhbXMgPSBzZXRfY3M1MzQwX3BhcmFtcywKIAkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfYWs0Mzk2X3ZvbHVtZSwKQEAgLTE4MCw2ICsxODcsMTAgQEAKIAkuaWRfdGFibGUgPSBoaWZpZXJfaWRzLAogCS5wcm9iZSA9IGhpZmllcl9wcm9iZSwKIAkucmVtb3ZlID0gX19kZXZleGl0X3Aob3h5Z2VuX3BjaV9yZW1vdmUpLAorI2lmZGVmIENPTkZJR19QTQorCS5zdXNwZW5kID0gb3h5Z2VuX3BjaV9zdXNwZW5kLAorCS5yZXN1bWUgPSBveHlnZW5fcGNpX3Jlc3VtZSwKKyNlbmRpZgogfTsKIAogc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX2hpZmllcl9pbml0KHZvaWQpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5jIGIvc291bmQvcGNpL294eWdlbi9veHlnZW4uYwppbmRleCA2M2YxODVjLi43YzhhZTMxIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmMKQEAgLTQzLDcgKzQzLDcgQEAKIAogTU9EVUxFX0FVVEhPUigiQ2xlbWVucyBMYWRpc2NoIDxjbGVtZW5zQGxhZGlzY2guZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkMtTWVkaWEgQ01JODc4OCBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKIE1PRFVMRV9TVVBQT1JURURfREVWSUNFKCJ7e0MtTWVkaWEsQ01JODc4OH19Iik7CiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CkBAIC04MCw2ICs4MCw3IEBACiAKIHN0cnVjdCBnZW5lcmljX2RhdGEgewogCXU4IGFrNDM5Nl9jdGwyOworCXUxNiBzYXZlZF93bTg3ODVfcmVnaXN0ZXJzWzJdOwogfTsKIAogc3RhdGljIHZvaWQgYWs0Mzk2X3dyaXRlKHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCBjb2RlYywKQEAgLTk5LDIwICsxMDAsMzUgQEAKIAogc3RhdGljIHZvaWQgd204Nzg1X3dyaXRlKHN0cnVjdCBveHlnZW4gKmNoaXAsIHU4IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQogeworCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCiAJb3h5Z2VuX3dyaXRlX3NwaShjaGlwLCBPWFlHRU5fU1BJX1RSSUdHRVIgfAogCQkJIE9YWUdFTl9TUElfREFUQV9MRU5HVEhfMiB8CiAJCQkgT1hZR0VOX1NQSV9DTE9DS18xNjAgfAogCQkJICgzIDw8IE9YWUdFTl9TUElfQ09ERUNfU0hJRlQpIHwKIAkJCSBPWFlHRU5fU1BJX0NFTl9MQVRDSF9DTE9DS19MTywKIAkJCSAocmVnIDw8IDkpIHwgdmFsdWUpOworCWlmIChyZWcgPCBBUlJBWV9TSVpFKGRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnMpKQorCQlkYXRhLT5zYXZlZF93bTg3ODVfcmVnaXN0ZXJzW3JlZ10gPSB2YWx1ZTsKIH0KIAotc3RhdGljIHZvaWQgYWs0Mzk2X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3N0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CisJCWFrNDM5Nl93cml0ZShjaGlwLCBpLAorCQkJICAgICBBSzQzOTZfTENIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMl0pOworCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKKwkJCSAgICAgQUs0Mzk2X1JDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbaSAqIDIgKyAxXSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBhazQzOTZfcmVnaXN0ZXJzX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKIAl1bnNpZ25lZCBpbnQgaTsKIAotCWRhdGEtPmFrNDM5Nl9jdGwyID0gQUs0Mzk2X1NNVVRFIHwgQUs0Mzk2X0RFTV9PRkYgfCBBSzQzOTZfREZTX05PUk1BTDsKIAlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CiAJCWFrNDM5Nl93cml0ZShjaGlwLCBpLAogCQkJICAgICBBSzQzOTZfQ09OVFJPTF8xLCBBSzQzOTZfRElGXzI0X01TQiB8IEFLNDM5Nl9SU1ROKTsKQEAgLTEyMCw5ICsxMzYsMTYgQEAKIAkJCSAgICAgQUs0Mzk2X0NPTlRST0xfMiwgZGF0YS0+YWs0Mzk2X2N0bDIpOwogCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKIAkJCSAgICAgQUs0Mzk2X0NPTlRST0xfMywgQUs0Mzk2X1BDTSk7Ci0JCWFrNDM5Nl93cml0ZShjaGlwLCBpLCBBSzQzOTZfTENIX0FUVCwgMCk7Ci0JCWFrNDM5Nl93cml0ZShjaGlwLCBpLCBBSzQzOTZfUkNIX0FUVCwgMCk7CiAJfQorCXVwZGF0ZV9hazQzOTZfdm9sdW1lKGNoaXApOworfQorCitzdGF0aWMgdm9pZCBhazQzOTZfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJZGF0YS0+YWs0Mzk2X2N0bDIgPSBBSzQzOTZfU01VVEUgfCBBSzQzOTZfREVNX09GRiB8IEFLNDM5Nl9ERlNfTk9STUFMOworCWFrNDM5Nl9yZWdpc3RlcnNfaW5pdChjaGlwKTsKIAlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQUs0Mzk2Iik7CiB9CiAKQEAgLTEzMywxMiArMTU2LDIzIEBACiAJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkFLNTM4NSIpOwogfQogCitzdGF0aWMgdm9pZCB3bTg3ODVfcmVnaXN0ZXJzX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjcsIDApOworCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjAsIGRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMF0pOworCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjEsIGRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMV0pOworfQorCiBzdGF0aWMgdm9pZCB3bTg3ODVfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewotCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjcsIDApOwotCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjAsIFdNODc4NV9NQ1JfU0xBVkUgfAotCQkgICAgIFdNODc4NV9PU1JfU0lOR0xFIHwgV004Nzg1X0ZPUk1BVF9MSlVTVCk7Ci0Jd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SMSwgV004Nzg1X1dMXzI0KTsKKwlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCWRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMF0gPSBXTTg3ODVfTUNSX1NMQVZFIHwKKwkJV004Nzg1X09TUl9TSU5HTEUgfCBXTTg3ODVfRk9STUFUX0xKVVNUOworCWRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMV0gPSBXTTg3ODVfV0xfMjQ7CisJd204Nzg1X3JlZ2lzdGVyc19pbml0KGNoaXApOwogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJXTTg3ODUiKTsKIH0KIApAQCAtMTU4LDYgKzE5MiwxMiBAQAogewogfQogCitzdGF0aWMgdm9pZCBnZW5lcmljX3Jlc3VtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCWFrNDM5Nl9yZWdpc3RlcnNfaW5pdChjaGlwKTsKKwl3bTg3ODVfcmVnaXN0ZXJzX2luaXQoY2hpcCk7Cit9CisKIHN0YXRpYyB2b2lkIHNldF9hazQzOTZfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCiAJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKQEAgLTE4MywxOCArMjIzLDYgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0JCWFrNDM5Nl93cml0ZShjaGlwLCBpLAotCQkJICAgICBBSzQzOTZfTENIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMl0pOwotCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKLQkJCSAgICAgQUs0Mzk2X1JDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbaSAqIDIgKyAxXSk7Ci0JfQotfQotCiBzdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X211dGUoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKQEAgLTI1Niw2ICsyODQsNyBAQAogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5pbml0ID0gZ2VuZXJpY19pbml0LAogCS5jbGVhbnVwID0gZ2VuZXJpY19jbGVhbnVwLAorCS5yZXN1bWUgPSBnZW5lcmljX3Jlc3VtZSwKIAkuc2V0X2RhY19wYXJhbXMgPSBzZXRfYWs0Mzk2X3BhcmFtcywKIAkuc2V0X2FkY19wYXJhbXMgPSBzZXRfd204Nzg1X3BhcmFtcywKIAkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfYWs0Mzk2X3ZvbHVtZSwKQEAgLTI4Myw2ICszMTIsNyBAQAogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5pbml0ID0gbWVyaWRpYW5faW5pdCwKIAkuY2xlYW51cCA9IGdlbmVyaWNfY2xlYW51cCwKKwkucmVzdW1lID0gYWs0Mzk2X3JlZ2lzdGVyc19pbml0LAogCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9hazQzOTZfcGFyYW1zLAogCS5zZXRfYWRjX3BhcmFtcyA9IHNldF9hazUzODVfcGFyYW1zLAogCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9hazQzOTZfdm9sdW1lLApAQCAtMzMxLDYgKzM2MSwxMCBAQAogCS5pZF90YWJsZSA9IG94eWdlbl9pZHMsCiAJLnByb2JlID0gZ2VuZXJpY19veHlnZW5fcHJvYmUsCiAJLnJlbW92ZSA9IF9fZGV2ZXhpdF9wKG94eWdlbl9wY2lfcmVtb3ZlKSwKKyNpZmRlZiBDT05GSUdfUE0KKwkuc3VzcGVuZCA9IG94eWdlbl9wY2lfc3VzcGVuZCwKKwkucmVzdW1lID0gb3h5Z2VuX3BjaV9yZXN1bWUsCisjZW5kaWYKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0IGFsc2FfY2FyZF9veHlnZW5faW5pdCh2b2lkKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW4uaCBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmgKaW5kZXggYTcxYzZlMC4uNzRhNjQ0OCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9veHlnZW4uaAorKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5oCkBAIC0xNiw2ICsxNiw4IEBACiAjZGVmaW5lIFBDTV9BQzk3CTUKICNkZWZpbmUgUENNX0NPVU5UCTYKIAorI2RlZmluZSBPWFlHRU5fSU9fU0laRQkweDEwMAorCiAvKiBtb2RlbC1zcGVjaWZpYyBjb25maWd1cmF0aW9uIG9mIG91dHB1dHMvaW5wdXRzICovCiAjZGVmaW5lIFBMQVlCQUNLXzBfVE9fSTJTCTB4MDAxCiAjZGVmaW5lIFBMQVlCQUNLXzFfVE9fU1BESUYJMHgwMDQKQEAgLTc4LDYgKzgwLDEyIEBACiAJc3RydWN0IHdvcmtfc3RydWN0IHNwZGlmX2lucHV0X2JpdHNfd29yazsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZ3Bpb193b3JrOwogCXdhaXRfcXVldWVfaGVhZF90IGFjOTdfd2FpdHF1ZXVlOworCXVuaW9uIHsKKwkJdTggXzhbT1hZR0VOX0lPX1NJWkVdOworCQlfX2xlMTYgXzE2W09YWUdFTl9JT19TSVpFIC8gMl07CisJCV9fbGUzMiBfMzJbT1hZR0VOX0lPX1NJWkUgLyA0XTsKKwl9IHNhdmVkX3JlZ2lzdGVyczsKKwl1MTYgc2F2ZWRfYWM5N19yZWdpc3RlcnNbMl1bMHg0MF07CiB9OwogCiBzdHJ1Y3Qgb3h5Z2VuX21vZGVsIHsKQEAgLTg5LDYgKzk3LDggQEAKIAlpbnQgKCpjb250cm9sX2ZpbHRlcikoc3RydWN0IHNuZF9rY29udHJvbF9uZXcgKnRlbXBsYXRlKTsKIAlpbnQgKCptaXhlcl9pbml0KShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKTsKIAl2b2lkICgqY2xlYW51cCkoc3RydWN0IG94eWdlbiAqY2hpcCk7CisJdm9pZCAoKnN1c3BlbmQpKHN0cnVjdCBveHlnZW4gKmNoaXApOworCXZvaWQgKCpyZXN1bWUpKHN0cnVjdCBveHlnZW4gKmNoaXApOwogCXZvaWQgKCpwY21faGFyZHdhcmVfZmlsdGVyKSh1bnNpZ25lZCBpbnQgY2hhbm5lbCwKIAkJCQkgICAgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgKmhhcmR3YXJlKTsKIAl2b2lkICgqc2V0X2RhY19wYXJhbXMpKHN0cnVjdCBveHlnZW4gKmNoaXAsCkBAIC0xMTcsNiArMTI3LDEwIEBACiBpbnQgb3h5Z2VuX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGNpLCBpbnQgaW5kZXgsIGNoYXIgKmlkLAogCQkgICAgIGNvbnN0IHN0cnVjdCBveHlnZW5fbW9kZWwgKm1vZGVsKTsKIHZvaWQgb3h5Z2VuX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBjaSk7CisjaWZkZWYgQ09ORklHX1BNCitpbnQgb3h5Z2VuX3BjaV9zdXNwZW5kKHN0cnVjdCBwY2lfZGV2ICpwY2ksIHBtX21lc3NhZ2VfdCBzdGF0ZSk7CitpbnQgb3h5Z2VuX3BjaV9yZXN1bWUoc3RydWN0IHBjaV9kZXYgKnBjaSk7CisjZW5kaWYKIAogLyogb3h5Z2VuX21peGVyLmMgKi8KIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW5faW8uYyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2lvLmMKaW5kZXggNTU2OTYwNi4uODNmMTM1ZiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9veHlnZW5faW8uYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9pby5jCkBAIC00NCwxOCArNDQsMjEgQEAKIHZvaWQgb3h5Z2VuX3dyaXRlOChzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgcmVnLCB1OCB2YWx1ZSkKIHsKIAlvdXRiKHZhbHVlLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzhbcmVnXSA9IHZhbHVlOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGU4KTsKIAogdm9pZCBveHlnZW5fd3JpdGUxNihzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgcmVnLCB1MTYgdmFsdWUpCiB7CiAJb3V0dyh2YWx1ZSwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl8xNltyZWcgLyAyXSA9IGNwdV90b19sZTE2KHZhbHVlKTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3dyaXRlMTYpOwogCiB2b2lkIG94eWdlbl93cml0ZTMyKHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCByZWcsIHUzMiB2YWx1ZSkKIHsKIAlvdXRsKHZhbHVlLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzMyW3JlZyAvIDRdID0gY3B1X3RvX2xlMzIodmFsdWUpOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGUzMik7CiAKQEAgLTYzLDcgKzY2LDEwIEBACiAJCQkgIHU4IHZhbHVlLCB1OCBtYXNrKQogewogCXU4IHRtcCA9IGluYihjaGlwLT5hZGRyICsgcmVnKTsKLQlvdXRiKCh0bXAgJiB+bWFzaykgfCAodmFsdWUgJiBtYXNrKSwgY2hpcC0+YWRkciArIHJlZyk7CisJdG1wICY9IH5tYXNrOworCXRtcCB8PSB2YWx1ZSAmIG1hc2s7CisJb3V0Yih0bXAsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fOFtyZWddID0gdG1wOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGU4X21hc2tlZCk7CiAKQEAgLTcxLDcgKzc3LDEwIEBACiAJCQkgICB1MTYgdmFsdWUsIHUxNiBtYXNrKQogewogCXUxNiB0bXAgPSBpbncoY2hpcC0+YWRkciArIHJlZyk7Ci0Jb3V0dygodG1wICYgfm1hc2spIHwgKHZhbHVlICYgbWFzayksIGNoaXAtPmFkZHIgKyByZWcpOworCXRtcCAmPSB+bWFzazsKKwl0bXAgfD0gdmFsdWUgJiBtYXNrOworCW91dHcodG1wLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzE2W3JlZyAvIDJdID0gY3B1X3RvX2xlMTYodG1wKTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3dyaXRlMTZfbWFza2VkKTsKIApAQCAtNzksNyArODgsMTAgQEAKIAkJCSAgIHUzMiB2YWx1ZSwgdTMyIG1hc2spCiB7CiAJdTMyIHRtcCA9IGlubChjaGlwLT5hZGRyICsgcmVnKTsKLQlvdXRsKCh0bXAgJiB+bWFzaykgfCAodmFsdWUgJiBtYXNrKSwgY2hpcC0+YWRkciArIHJlZyk7CisJdG1wICY9IH5tYXNrOworCXRtcCB8PSB2YWx1ZSAmIG1hc2s7CisJb3V0bCh0bXAsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fMzJbcmVnIC8gNF0gPSBjcHVfdG9fbGUzMih0bXApOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGUzMl9tYXNrZWQpOwogCkBAIC0xMjgsOCArMTQwLDEwIEBACiAJCW94eWdlbl93cml0ZTMyKGNoaXAsIE9YWUdFTl9BQzk3X1JFR1MsIHJlZyk7CiAJCS8qIHJlcXVpcmUgdHdvICJjb21wbGV0ZWQiIHdyaXRlcywganVzdCB0byBiZSBzdXJlICovCiAJCWlmIChveHlnZW5fYWM5N193YWl0KGNoaXAsIE9YWUdFTl9BQzk3X0lOVF9XUklURV9ET05FKSA+PSAwICYmCi0JCSAgICArK3N1Y2NlZWRlZCA+PSAyKQorCQkgICAgKytzdWNjZWVkZWQgPj0gMikgeworCQkJY2hpcC0+c2F2ZWRfYWM5N19yZWdpc3RlcnNbY29kZWNdW2luZGV4IC8gMl0gPSBkYXRhOwogCQkJcmV0dXJuOworCQl9CiAJfQogCXNuZF9wcmludGsoS0VSTl9FUlIgIkFDJzk3IHdyaXRlIHRpbWVvdXRcbiIpOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW5fbGliLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9saWIuYwppbmRleCA4OTc2OTdkLi4yMmYzNzg1IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9saWIuYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9saWIuYwpAQCAtMzIsNyArMzIsNyBAQAogCiBNT0RVTEVfQVVUSE9SKCJDbGVtZW5zIExhZGlzY2ggPGNsZW1lbnNAbGFkaXNjaC5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiQy1NZWRpYSBDTUk4Nzg4IGhlbHBlciBsaWJyYXJ5Iik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiAKIAogc3RhdGljIGlycXJldHVybl90IG94eWdlbl9pbnRlcnJ1cHQoaW50IGR1bW15LCB2b2lkICpkZXZfaWQpCkBAIC0xNzMsNyArMTczLDcgQEAKIAlpbnQgaSwgajsKIAogCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIkNNSTg3ODhcblxuIik7Ci0JZm9yIChpID0gMDsgaSA8IDB4MTAwOyBpICs9IDB4MTApIHsKKwlmb3IgKGkgPSAwOyBpIDwgT1hZR0VOX0lPX1NJWkU7IGkgKz0gMHgxMCkgewogCQlzbmRfaXByaW50ZihidWZmZXIsICIlMDJ4OiIsIGkpOwogCQlmb3IgKGogPSAwOyBqIDwgMHgxMDsgKytqKQogCQkJc25kX2lwcmludGYoYnVmZmVyLCAiICUwMngiLCBveHlnZW5fcmVhZDgoY2hpcCwgaSArIGopKTsKQEAgLTMxNCw2ICszMTQsMTAgQEAKIAkJCQkgICAgT1hZR0VOX1NQRElGX0xPQ0tfTUFTSyB8CiAJCQkJICAgIE9YWUdFTl9TUERJRl9SQVRFX01BU0spOwogCW94eWdlbl93cml0ZTMyKGNoaXAsIE9YWUdFTl9TUERJRl9PVVRQVVRfQklUUywgY2hpcC0+c3BkaWZfYml0cyk7CisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOXzJXSVJFX0JVU19TVEFUVVMsCisJCSAgICAgICBPWFlHRU5fMldJUkVfTEVOR1RIXzggfAorCQkgICAgICAgT1hZR0VOXzJXSVJFX0lOVEVSUlVQVF9NQVNLIHwKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9TUEVFRF9TVEFOREFSRCk7CiAJb3h5Z2VuX2NsZWFyX2JpdHM4KGNoaXAsIE9YWUdFTl9NUFU0MDFfQ09OVFJPTCwgT1hZR0VOX01QVTQwMV9MT09QQkFDSyk7CiAJb3h5Z2VuX3dyaXRlOChjaGlwLCBPWFlHRU5fR1BJX0lOVEVSUlVQVF9NQVNLLCAwKTsKIAlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fR1BJT19JTlRFUlJVUFRfTUFTSywgMCk7CkBAIC00NTUsNyArNDU5LDcgQEAKIAl9CiAKIAlpZiAoIShwY2lfcmVzb3VyY2VfZmxhZ3MocGNpLCAwKSAmIElPUkVTT1VSQ0VfSU8pIHx8Ci0JICAgIHBjaV9yZXNvdXJjZV9sZW4ocGNpLCAwKSA8IDB4MTAwKSB7CisJICAgIHBjaV9yZXNvdXJjZV9sZW4ocGNpLCAwKSA8IE9YWUdFTl9JT19TSVpFKSB7CiAJCXNuZF9wcmludGsoS0VSTl9FUlIgImludmFsaWQgUENJIEkvTyByYW5nZVxuIik7CiAJCWVyciA9IC1FTlhJTzsKIAkJZ290byBlcnJfcGNpX3JlZ2lvbnM7CkBAIC01MzQsMyArNTM4LDk5IEBACiAJcGNpX3NldF9kcnZkYXRhKHBjaSwgTlVMTCk7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl9wY2lfcmVtb3ZlKTsKKworI2lmZGVmIENPTkZJR19QTQoraW50IG94eWdlbl9wY2lfc3VzcGVuZChzdHJ1Y3QgcGNpX2RldiAqcGNpLCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGNpX2dldF9kcnZkYXRhKHBjaSk7CisJc3RydWN0IG94eWdlbiAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBpbnQgaSwgc2F2ZWRfaW50ZXJydXB0X21hc2s7CisKKwlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgUENNX0NPVU5UOyArK2kpCisJCWlmIChjaGlwLT5zdHJlYW1zW2ldKQorCQkJc25kX3BjbV9zdXNwZW5kKGNoaXAtPnN0cmVhbXNbaV0pOworCisJaWYgKGNoaXAtPm1vZGVsLT5zdXNwZW5kKQorCQljaGlwLT5tb2RlbC0+c3VzcGVuZChjaGlwKTsKKworCXNwaW5fbG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKwlzYXZlZF9pbnRlcnJ1cHRfbWFzayA9IGNoaXAtPmludGVycnVwdF9tYXNrOworCWNoaXAtPmludGVycnVwdF9tYXNrID0gMDsKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fRE1BX1NUQVRVUywgMCk7CisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOX0lOVEVSUlVQVF9NQVNLLCAwKTsKKwlzcGluX3VubG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKworCXN5bmNocm9uaXplX2lycShjaGlwLT5pcnEpOworCWZsdXNoX3NjaGVkdWxlZF93b3JrKCk7CisJY2hpcC0+aW50ZXJydXB0X21hc2sgPSBzYXZlZF9pbnRlcnJ1cHRfbWFzazsKKworCXBjaV9kaXNhYmxlX2RldmljZShwY2kpOworCXBjaV9zYXZlX3N0YXRlKHBjaSk7CisJcGNpX3NldF9wb3dlcl9zdGF0ZShwY2ksIHBjaV9jaG9vc2Vfc3RhdGUocGNpLCBzdGF0ZSkpOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChveHlnZW5fcGNpX3N1c3BlbmQpOworCitzdGF0aWMgY29uc3QgdTMyIHJlZ2lzdGVyc190b19yZXN0b3JlW09YWUdFTl9JT19TSVpFIC8gMzJdID0geworCTB4ZmZmZmZmZmYsIDB4MDBmZjA3N2YsIDB4MDAwMTFkMDgsIDB4MDA3ZjAwZmYsCisJMHgwMDMwMDAwMCwgMHgwMDAwMGZlNCwgMHgwZmY3MDAxZiwgMHgwMDAwMDAwMAorfTsKK3N0YXRpYyBjb25zdCB1MzIgYWM5N19yZWdpc3RlcnNfdG9fcmVzdG9yZVsyXVsweDQwIC8gMzJdID0geworCXsgMHgxODI4NGZhMiwgMHgwMzA2MDAwMCB9LAorCXsgMHgwMDAwN2ZhNiwgMHgwMDIwMDAwMCB9Cit9OworCitzdGF0aWMgaW5saW5lIGludCBpc19iaXRfc2V0KGNvbnN0IHUzMiAqYml0bWFwLCB1bnNpZ25lZCBpbnQgYml0KQoreworCXJldHVybiBiaXRtYXBbYml0IC8gMzJdICYgKDEgPDwgKGJpdCAmIDMxKSk7Cit9CisKK3N0YXRpYyB2b2lkIG94eWdlbl9yZXN0b3JlX2FjOTcoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IGNvZGVjKQoreworCXVuc2lnbmVkIGludCBpOworCisJb3h5Z2VuX3dyaXRlX2FjOTcoY2hpcCwgY29kZWMsIEFDOTdfUkVTRVQsIDApOworCW1zbGVlcCgxKTsKKwlmb3IgKGkgPSAxOyBpIDwgMHg0MDsgKytpKQorCQlpZiAoaXNfYml0X3NldChhYzk3X3JlZ2lzdGVyc190b19yZXN0b3JlW2NvZGVjXSwgaSkpCisJCQlveHlnZW5fd3JpdGVfYWM5NyhjaGlwLCBjb2RlYywgaSAqIDIsCisJCQkJCSAgY2hpcC0+c2F2ZWRfYWM5N19yZWdpc3RlcnNbY29kZWNdW2ldKTsKK30KKworaW50IG94eWdlbl9wY2lfcmVzdW1lKHN0cnVjdCBwY2lfZGV2ICpwY2kpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGNpX2dldF9kcnZkYXRhKHBjaSk7CisJc3RydWN0IG94eWdlbiAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBpbnQgaTsKKworCXBjaV9zZXRfcG93ZXJfc3RhdGUocGNpLCBQQ0lfRDApOworCXBjaV9yZXN0b3JlX3N0YXRlKHBjaSk7CisJaWYgKHBjaV9lbmFibGVfZGV2aWNlKHBjaSkgPCAwKSB7CisJCXNuZF9wcmludGsoS0VSTl9FUlIgImNhbm5vdCByZWVuYWJsZSBkZXZpY2UiKTsKKwkJc25kX2NhcmRfZGlzY29ubmVjdChjYXJkKTsKKwkJcmV0dXJuIC1FSU87CisJfQorCXBjaV9zZXRfbWFzdGVyKHBjaSk7CisKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fRE1BX1NUQVRVUywgMCk7CisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOX0lOVEVSUlVQVF9NQVNLLCAwKTsKKwlmb3IgKGkgPSAwOyBpIDwgT1hZR0VOX0lPX1NJWkU7ICsraSkKKwkJaWYgKGlzX2JpdF9zZXQocmVnaXN0ZXJzX3RvX3Jlc3RvcmUsIGkpKQorCQkJb3h5Z2VuX3dyaXRlOChjaGlwLCBpLCBjaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzhbaV0pOworCWlmIChjaGlwLT5oYXNfYWM5N18wKQorCQlveHlnZW5fcmVzdG9yZV9hYzk3KGNoaXAsIDApOworCWlmIChjaGlwLT5oYXNfYWM5N18xKQorCQlveHlnZW5fcmVzdG9yZV9hYzk3KGNoaXAsIDEpOworCisJaWYgKGNoaXAtPm1vZGVsLT5yZXN1bWUpCisJCWNoaXAtPm1vZGVsLT5yZXN1bWUoY2hpcCk7CisKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fSU5URVJSVVBUX01BU0ssIGNoaXAtPmludGVycnVwdF9tYXNrKTsKKworCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0wob3h5Z2VuX3BjaV9yZXN1bWUpOworI2VuZGlmIC8qIENPTkZJR19QTSAqLwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW5fcGNtLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9wY20uYwppbmRleCBiMTdjNDA1Li5jNGFkNjVhIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9wY20uYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9wY20uYwpAQCAtMjQsNiArMjQsMTYgQEAKICNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CiAjaW5jbHVkZSAib3h5Z2VuLmgiCiAKKy8qIG1vc3QgRE1BIGNoYW5uZWxzIGhhdmUgYSAxNi1iaXQgY291bnRlciBmb3IgMzItYml0IHdvcmRzICovCisjZGVmaW5lIEJVRkZFUl9CWVRFU19NQVgJCSgoMSA8PCAxNikgKiA0KQorLyogdGhlIG11bHRpY2hhbm5lbCBETUEgY2hhbm5lbCBoYXMgYSAyNC1iaXQgY291bnRlciAqLworI2RlZmluZSBCVUZGRVJfQllURVNfTUFYX01VTFRJQ0gJKCgxIDw8IDI0KSAqIDQpCisKKyNkZWZpbmUgUEVSSU9EX0JZVEVTX01JTgkJNjQKKworI2RlZmluZSBERUZBVUxUX0JVRkZFUl9CWVRFUwkJKEJVRkZFUl9CWVRFU19NQVggLyAyKQorI2RlZmluZSBERUZBVUxUX0JVRkZFUl9CWVRFU19NVUxUSUNICSgxMDI0ICogMTAyNCkKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIG94eWdlbl9zdGVyZW9faGFyZHdhcmUgPSB7CiAJLmluZm8gPSBTTkRSVl9QQ01fSU5GT19NTUFQIHwKIAkJU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8CkBAIC00NCwxMSArNTQsMTEgQEAKIAkucmF0ZV9tYXggPSAxOTIwMDAsCiAJLmNoYW5uZWxzX21pbiA9IDIsCiAJLmNoYW5uZWxzX21heCA9IDIsCi0JLmJ1ZmZlcl9ieXRlc19tYXggPSAyNTYgKiAxMDI0LAotCS5wZXJpb2RfYnl0ZXNfbWluID0gMTI4LAotCS5wZXJpb2RfYnl0ZXNfbWF4ID0gMTI4ICogMTAyNCwKKwkuYnVmZmVyX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVgsCisJLnBlcmlvZF9ieXRlc19taW4gPSBQRVJJT0RfQllURVNfTUlOLAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCAvIDIsCiAJLnBlcmlvZHNfbWluID0gMiwKLQkucGVyaW9kc19tYXggPSAyMDQ4LAorCS5wZXJpb2RzX21heCA9IEJVRkZFUl9CWVRFU19NQVggLyBQRVJJT0RfQllURVNfTUlOLAogfTsKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBveHlnZW5fbXVsdGljaGFubmVsX2hhcmR3YXJlID0gewogCS5pbmZvID0gU05EUlZfUENNX0lORk9fTU1BUCB8CkBAIC03MCwxMSArODAsMTEgQEAKIAkucmF0ZV9tYXggPSAxOTIwMDAsCiAJLmNoYW5uZWxzX21pbiA9IDIsCiAJLmNoYW5uZWxzX21heCA9IDgsCi0JLmJ1ZmZlcl9ieXRlc19tYXggPSAyMDQ4ICogMTAyNCwKLQkucGVyaW9kX2J5dGVzX21pbiA9IDEyOCwKLQkucGVyaW9kX2J5dGVzX21heCA9IDI1NiAqIDEwMjQsCisJLmJ1ZmZlcl9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYX01VTFRJQ0gsCisJLnBlcmlvZF9ieXRlc19taW4gPSBQRVJJT0RfQllURVNfTUlOLAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWF9NVUxUSUNIIC8gMiwKIAkucGVyaW9kc19taW4gPSAyLAotCS5wZXJpb2RzX21heCA9IDE2Mzg0LAorCS5wZXJpb2RzX21heCA9IEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSCAvIFBFUklPRF9CWVRFU19NSU4sCiB9Owogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIG94eWdlbl9hYzk3X2hhcmR3YXJlID0gewogCS5pbmZvID0gU05EUlZfUENNX0lORk9fTU1BUCB8CkBAIC04OCwxMSArOTgsMTEgQEAKIAkucmF0ZV9tYXggPSA0ODAwMCwKIAkuY2hhbm5lbHNfbWluID0gMiwKIAkuY2hhbm5lbHNfbWF4ID0gMiwKLQkuYnVmZmVyX2J5dGVzX21heCA9IDI1NiAqIDEwMjQsCi0JLnBlcmlvZF9ieXRlc19taW4gPSAxMjgsCi0JLnBlcmlvZF9ieXRlc19tYXggPSAxMjggKiAxMDI0LAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCwKKwkucGVyaW9kX2J5dGVzX21pbiA9IFBFUklPRF9CWVRFU19NSU4sCisJLnBlcmlvZF9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYIC8gMiwKIAkucGVyaW9kc19taW4gPSAyLAotCS5wZXJpb2RzX21heCA9IDIwNDgsCisJLnBlcmlvZHNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCAvIFBFUklPRF9CWVRFU19NSU4sCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgKmNvbnN0IG94eWdlbl9oYXJkd2FyZVtQQ01fQ09VTlRdID0gewpAQCAtMTU1LDYgKzE2NSwxMiBAQAogCQlpZiAoZXJyIDwgMCkKIAkJCXJldHVybiBlcnI7CiAJfQorCWlmIChjaGFubmVsID09IFBDTV9NVUxUSUNIKSB7CisJCWVyciA9IHNuZF9wY21faHdfY29uc3RyYWludF9taW5tYXgKKwkJCShydW50aW1lLCBTTkRSVl9QQ01fSFdfUEFSQU1fUEVSSU9EX1RJTUUsIDAsIDgxOTIwMDApOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQogCXNuZF9wY21fc2V0X3N5bmMoc3Vic3RyZWFtKTsKIAljaGlwLT5zdHJlYW1zW2NoYW5uZWxdID0gc3Vic3RyZWFtOwogCkBAIC01MTcsNiArNTMzLDcgQEAKIAlzd2l0Y2ggKGNtZCkgewogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKIAkJcGF1c2luZyA9IDA7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUEFVU0VfUFVTSDoKQEAgLTY2MywxMiArNjgwLDE0IEBACiAJCQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlcyhwY20tPnN0cmVhbXNbU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDS10uc3Vic3RyZWFtLAogCQkJCQkJICAgICAgU05EUlZfRE1BX1RZUEVfREVWLAogCQkJCQkJICAgICAgc25kX2RtYV9wY2lfZGF0YShjaGlwLT5wY2kpLAotCQkJCQkJICAgICAgNTEyICogMTAyNCwgMjA0OCAqIDEwMjQpOworCQkJCQkJICAgICAgREVGQVVMVF9CVUZGRVJfQllURVNfTVVMVElDSCwKKwkJCQkJCSAgICAgIEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSCk7CiAJCWlmIChpbnMpCiAJCQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlcyhwY20tPnN0cmVhbXNbU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFXS5zdWJzdHJlYW0sCiAJCQkJCQkgICAgICBTTkRSVl9ETUFfVFlQRV9ERVYsCiAJCQkJCQkgICAgICBzbmRfZG1hX3BjaV9kYXRhKGNoaXAtPnBjaSksCi0JCQkJCQkgICAgICAxMjggKiAxMDI0LCAyNTYgKiAxMDI0KTsKKwkJCQkJCSAgICAgIERFRkFVTFRfQlVGRkVSX0JZVEVTLAorCQkJCQkJICAgICAgQlVGRkVSX0JZVEVTX01BWCk7CiAJfQogCiAJb3V0cyA9ICEhKGNoaXAtPm1vZGVsLT5wY21fZGV2X2NmZyAmIFBMQVlCQUNLXzFfVE9fU1BESUYpOwpAQCAtNjg4LDcgKzcwNyw4IEBACiAJCXN0cmNweShwY20tPm5hbWUsICJEaWdpdGFsIik7CiAJCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9ERVYsCiAJCQkJCQkgICAgICBzbmRfZG1hX3BjaV9kYXRhKGNoaXAtPnBjaSksCi0JCQkJCQkgICAgICAxMjggKiAxMDI0LCAyNTYgKiAxMDI0KTsKKwkJCQkJCSAgICAgIERFRkFVTFRfQlVGRkVSX0JZVEVTLAorCQkJCQkJICAgICAgQlVGRkVSX0JZVEVTX01BWCk7CiAJfQogCiAJaWYgKGNoaXAtPmhhc19hYzk3XzEpIHsKQEAgLTcxOCw3ICs3MzgsOCBAQAogCQlzdHJjcHkocGNtLT5uYW1lLCBvdXRzID8gIkZyb250IFBhbmVsIiA6ICJBbmFsb2cgMiIpOwogCQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlc19mb3JfYWxsKHBjbSwgU05EUlZfRE1BX1RZUEVfREVWLAogCQkJCQkJICAgICAgc25kX2RtYV9wY2lfZGF0YShjaGlwLT5wY2kpLAotCQkJCQkJICAgICAgMTI4ICogMTAyNCwgMjU2ICogMTAyNCk7CisJCQkJCQkgICAgICBERUZBVUxUX0JVRkZFUl9CWVRFUywKKwkJCQkJCSAgICAgIEJVRkZFUl9CWVRFU19NQVgpOwogCX0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vdmlydHVvc28uYyBiL3NvdW5kL3BjaS9veHlnZW4vdmlydHVvc28uYwppbmRleCA3Zjg0ZmE1Li45YTJjMTZiIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL3ZpcnR1b3NvLmMKKysrIGIvc291bmQvcGNpL294eWdlbi92aXJ0dW9zby5jCkBAIC03OSw3ICs3OSw3IEBACiAKIE1PRFVMRV9BVVRIT1IoIkNsZW1lbnMgTGFkaXNjaCA8Y2xlbWVuc0BsYWRpc2NoLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJBc3VzIEFWeDAwIGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7QXN1cyxBVjEwMH0se0FzdXMsQVYyMDB9fSIpOwogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwpAQCAtMTMyLDYgKzEzMiw5IEBACiAJdTggZXh0X3Bvd2VyX2ludF9yZWc7CiAJdTggZXh0X3Bvd2VyX2JpdDsKIAl1OCBoYXNfcG93ZXI7CisJdTggcGNtMTc5Nl9vdmVyc2FtcGxpbmc7CisJdTggY3M0Mzk4X2ZtOworCXU4IGNzNDM2MmFfZm07CiB9OwogCiBzdGF0aWMgdm9pZCBwY20xNzk2X3dyaXRlKHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCBjb2RlYywKQEAgLTE1OSw2ICsxNjIsMTQgQEAKIAlveHlnZW5fd3JpdGVfaTJjKGNoaXAsIEkyQ19ERVZJQ0VfQ1M0MzYyQSwgcmVnLCB2YWx1ZSk7CiB9CiAKK3N0YXRpYyB2b2lkIHhvbmFyX2VuYWJsZV9vdXRwdXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwltc2xlZXAoZGF0YS0+YW50aV9wb3BfZGVsYXkpOworCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsIGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKK30KKwogc3RhdGljIHZvaWQgeG9uYXJfY29tbW9uX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CkBAIC0xNzAsMzIgKzE4MSw1OSBAQAogCQlkYXRhLT5oYXNfcG93ZXIgPSAhIShveHlnZW5fcmVhZDgoY2hpcCwgZGF0YS0+ZXh0X3Bvd2VyX3JlZykKIAkJCQkgICAgICYgZGF0YS0+ZXh0X3Bvd2VyX2JpdCk7CiAJfQotCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsIEdQSU9fQ1M1M3gxX01fTUFTSyk7CisJb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwKKwkJCSAgR1BJT19DUzUzeDFfTV9NQVNLIHwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOwogCW94eWdlbl93cml0ZTE2X21hc2tlZChjaGlwLCBPWFlHRU5fR1BJT19EQVRBLAogCQkJICAgICAgR1BJT19DUzUzeDFfTV9TSU5HTEUsIEdQSU9fQ1M1M3gxX01fTUFTSyk7CiAJb3h5Z2VuX2FjOTdfc2V0X2JpdHMoY2hpcCwgMCwgQ005NzgwX0pBQ0ssIENNOTc4MF9GTUlDMk1JQyk7Ci0JbXNsZWVwKGRhdGEtPmFudGlfcG9wX2RlbGF5KTsKLQlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7Ci0Jb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOworCXhvbmFyX2VuYWJsZV9vdXRwdXQoY2hpcCk7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9wY20xNzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXVuc2lnbmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgeworCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE2LCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyXSk7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTcsIGNoaXAtPmRhY192b2x1bWVbaSAqIDIgKyAxXSk7CisJfQorfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfcGNtMTc5Nl9tdXRlKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJdW5zaWduZWQgaW50IGk7CisJdTggdmFsdWU7CisKKwl2YWx1ZSA9IFBDTTE3OTZfRE1GX0RJU0FCTEVEIHwgUENNMTc5Nl9GTVRfMjRfTEpVU1QgfCBQQ00xNzk2X0FUTEQ7CisJaWYgKGNoaXAtPmRhY19tdXRlKQorCQl2YWx1ZSB8PSBQQ00xNzk2X01VVEU7CisJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOCwgdmFsdWUpOworfQorCitzdGF0aWMgdm9pZCBwY20xNzk2X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTksIFBDTTE3OTZfRkxUX1NIQVJQIHwgUENNMTc5Nl9BVFNfMSk7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjAsIGRhdGEtPnBjbTE3OTZfb3ZlcnNhbXBsaW5nKTsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMSwgMCk7CisJfQorCXVwZGF0ZV9wY20xNzk2X211dGUoY2hpcCk7IC8qIHNldCBBVExEIGJlZm9yZSBBVEwvQVRSICovCisJdXBkYXRlX3BjbTE3OTZfdm9sdW1lKGNoaXApOwogfQogCiBzdGF0aWMgdm9pZCB4b25hcl9kMl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwotCXVuc2lnbmVkIGludCBpOwogCiAJZGF0YS0+YW50aV9wb3BfZGVsYXkgPSAzMDA7CiAJZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQgPSBHUElPX0QyX09VVFBVVF9FTkFCTEU7CisJZGF0YS0+cGNtMTc5Nl9vdmVyc2FtcGxpbmcgPSBQQ00xNzk2X09TXzY0OwogCi0JZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgewotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE4LCBQQ00xNzk2X01VVEUgfCBQQ00xNzk2X0RNRl9ESVNBQkxFRCB8Ci0JCQkgICAgICBQQ00xNzk2X0ZNVF8yNF9MSlVTVCB8IFBDTTE3OTZfQVRMRCk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTksIFBDTTE3OTZfRkxUX1NIQVJQIHwgUENNMTc5Nl9BVFNfMSk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjAsIFBDTTE3OTZfT1NfNjQpOwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIxLCAwKTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNiwgMHgwZik7IC8qIHNldCBBVEwvQVRSIGFmdGVyIEFUTEQgKi8KLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNywgMHgwZik7Ci0JfQorCXBjbTE3OTZfaW5pdChjaGlwKTsKIAogCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsIEdQSU9fRDJfQUxUKTsKIAlveHlnZW5fY2xlYXJfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsIEdQSU9fRDJfQUxUKTsKQEAgLTIxNywxNTEgKzI1NSw2IEBACiAJeG9uYXJfZDJfaW5pdChjaGlwKTsKIH0KIAotc3RhdGljIHZvaWQgeG9uYXJfZHhfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKLQotCWRhdGEtPmFudGlfcG9wX2RlbGF5ID0gODAwOwotCWRhdGEtPm91dHB1dF9lbmFibGVfYml0ID0gR1BJT19EWF9PVVRQVVRfRU5BQkxFOwotCWRhdGEtPmV4dF9wb3dlcl9yZWcgPSBPWFlHRU5fR1BJX0RBVEE7Ci0JZGF0YS0+ZXh0X3Bvd2VyX2ludF9yZWcgPSBPWFlHRU5fR1BJX0lOVEVSUlVQVF9NQVNLOwotCWRhdGEtPmV4dF9wb3dlcl9iaXQgPSBHUElfRFhfRVhUX1BPV0VSOwotCi0Jb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOXzJXSVJFX0JVU19TVEFUVVMsCi0JCSAgICAgICBPWFlHRU5fMldJUkVfTEVOR1RIXzggfAotCQkgICAgICAgT1hZR0VOXzJXSVJFX0lOVEVSUlVQVF9NQVNLIHwKLQkJICAgICAgIE9YWUdFTl8yV0lSRV9TUEVFRF9GQVNUKTsKLQotCS8qIHNldCBDUEVOIChjb250cm9sIHBvcnQgbW9kZSkgYW5kIHBvd2VyIGRvd24gKi8KLQljczQzOThfd3JpdGUoY2hpcCwgOCwgQ1M0Mzk4X0NQRU4gfCBDUzQzOThfUEROKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfUEROIHwgQ1M0MzYyQV9DUEVOKTsKLQkvKiBjb25maWd1cmUgKi8KLQljczQzOThfd3JpdGUoY2hpcCwgMiwgQ1M0Mzk4X0ZNX1NJTkdMRSB8Ci0JCSAgICAgQ1M0Mzk4X0RFTV9OT05FIHwgQ1M0Mzk4X0RJRl9MSlVTVCk7Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDMsIENTNDM5OF9BVEFQSV9CX1IgfCBDUzQzOThfQVRBUElfQV9MKTsKLQljczQzOThfd3JpdGUoY2hpcCwgNCwgQ1M0Mzk4X01VVEVQX0xPVyB8IENTNDM5OF9QQU1VVEUpOwotCWNzNDM5OF93cml0ZShjaGlwLCA1LCAweGZlKTsKLQljczQzOThfd3JpdGUoY2hpcCwgNiwgMHhmZSk7Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDcsIENTNDM5OF9STVBfRE4gfCBDUzQzOThfUk1QX1VQIHwKLQkJICAgICBDUzQzOThfWkVST19DUk9TUyB8IENTNDM5OF9TT0ZUX1JBTVApOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMiwgQ1M0MzYyQV9ESUZfTEpVU1QpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMywgQ1M0MzYyQV9NVVRFQ182IHwgQ1M0MzYyQV9BTVVURSB8Ci0JCSAgICAgIENTNDM2MkFfUk1QX1VQIHwgQ1M0MzYyQV9aRVJPX0NST1NTIHwgQ1M0MzYyQV9TT0ZUX1JBTVApOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNCwgQ1M0MzYyQV9STVBfRE4gfCBDUzQzNjJBX0RFTV9OT05FKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDUsIDApOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNiwgQ1M0MzYyQV9GTV9TSU5HTEUgfAotCQkgICAgICBDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDcsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwOCwgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA5LCBDUzQzNjJBX0ZNX1NJTkdMRSB8Ci0JCSAgICAgIENTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0wpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYSwgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBiLCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGMsIENTNDM2MkFfRk1fU0lOR0xFIHwKLQkJICAgICAgQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBkLCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGUsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCS8qIGNsZWFyIHBvd2VyIGRvd24gKi8KLQljczQzOThfd3JpdGUoY2hpcCwgOCwgQ1M0Mzk4X0NQRU4pOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9DUEVOKTsKLQotCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsCi0JCQkgIEdQSU9fRFhfRlJPTlRfUEFORUwgfCBHUElPX0RYX0lOUFVUX1JPVVRFKTsKLQlveHlnZW5fY2xlYXJfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsCi0JCQkgICAgR1BJT19EWF9GUk9OVF9QQU5FTCB8IEdQSU9fRFhfSU5QVVRfUk9VVEUpOwotCi0JeG9uYXJfY29tbW9uX2luaXQoY2hpcCk7Ci0KLQlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M0Mzk4Iik7Ci0Jc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNDM2MkEiKTsKLQlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M1MzYxIik7Ci19Ci0KLXN0YXRpYyB2b2lkIHhvbmFyX2NsZWFudXAoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7Ci0KLQlveHlnZW5fY2xlYXJfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsIGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKLX0KLQotc3RhdGljIHZvaWQgeG9uYXJfZHhfY2xlYW51cChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXhvbmFyX2NsZWFudXAoY2hpcCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX1BETiB8IENTNDM2MkFfQ1BFTik7Ci0Jb3h5Z2VuX2NsZWFyX2JpdHM4KGNoaXAsIE9YWUdFTl9GVU5DVElPTiwgT1hZR0VOX0ZVTkNUSU9OX1JFU0VUX0NPREVDKTsKLX0KLQotc3RhdGljIHZvaWQgc2V0X3BjbTE3OTZfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCi0JCQkgICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0JdTggdmFsdWU7Ci0KLQl2YWx1ZSA9IHBhcmFtc19yYXRlKHBhcmFtcykgPj0gOTYwMDAgPyBQQ00xNzk2X09TXzMyIDogUENNMTc5Nl9PU182NDsKLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIwLCB2YWx1ZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9wY20xNzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXVuc2lnbmVkIGludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgewotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE2LCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyXSk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTcsIGNoaXAtPmRhY192b2x1bWVbaSAqIDIgKyAxXSk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCB1cGRhdGVfcGNtMTc5Nl9tdXRlKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0JdTggdmFsdWU7Ci0KLQl2YWx1ZSA9IFBDTTE3OTZfRk1UXzI0X0xKVVNUIHwgUENNMTc5Nl9BVExEOwotCWlmIChjaGlwLT5kYWNfbXV0ZSkKLQkJdmFsdWUgfD0gUENNMTc5Nl9NVVRFOwotCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpCi0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTgsIHZhbHVlKTsKLX0KLQotc3RhdGljIHZvaWQgc2V0X2NzNTN4MV9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKLQkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQotewotCXVuc2lnbmVkIGludCB2YWx1ZTsKLQotCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDU0MDAwKQotCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fU0lOR0xFOwotCWVsc2UgaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gMTA4MDAwKQotCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fRE9VQkxFOwotCWVsc2UKLQkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX1FVQUQ7Ci0Jb3h5Z2VuX3dyaXRlMTZfbWFza2VkKGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsCi0JCQkgICAgICB2YWx1ZSwgR1BJT19DUzUzeDFfTV9NQVNLKTsKLX0KLQotc3RhdGljIHZvaWQgc2V0X2NzNDN4eF9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKLQkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQotewotCXU4IGZtX2NzNDM5OCwgZm1fY3M0MzYyYTsKLQotCWZtX2NzNDM5OCA9IENTNDM5OF9ERU1fTk9ORSB8IENTNDM5OF9ESUZfTEpVU1Q7Ci0JZm1fY3M0MzYyYSA9IENTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0w7Ci0JaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gNTAwMDApIHsKLQkJZm1fY3M0Mzk4IHw9IENTNDM5OF9GTV9TSU5HTEU7Ci0JCWZtX2NzNDM2MmEgfD0gQ1M0MzYyQV9GTV9TSU5HTEU7Ci0JfSBlbHNlIGlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDEwMDAwMCkgewotCQlmbV9jczQzOTggfD0gQ1M0Mzk4X0ZNX0RPVUJMRTsKLQkJZm1fY3M0MzYyYSB8PSBDUzQzNjJBX0ZNX0RPVUJMRTsKLQl9IGVsc2UgewotCQlmbV9jczQzOTggfD0gQ1M0Mzk4X0ZNX1FVQUQ7Ci0JCWZtX2NzNDM2MmEgfD0gQ1M0MzYyQV9GTV9RVUFEOwotCX0KLQljczQzOThfd3JpdGUoY2hpcCwgMiwgZm1fY3M0Mzk4KTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDYsIGZtX2NzNDM2MmEpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwOSwgZm1fY3M0MzYyYSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBjLCBmbV9jczQzNjJhKTsKLX0KLQogc3RhdGljIHZvaWQgdXBkYXRlX2NzNDM2MmFfdm9sdW1lcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXU4IG11dGU7CkBAIC0zOTMsNiArMjg2LDE0MSBAQAogCXVwZGF0ZV9jczQzNjJhX3ZvbHVtZXMoY2hpcCk7CiB9CiAKK3N0YXRpYyB2b2lkIGNzNDN4eF9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJLyogc2V0IENQRU4gKGNvbnRyb2wgcG9ydCBtb2RlKSBhbmQgcG93ZXIgZG93biAqLworCWNzNDM5OF93cml0ZShjaGlwLCA4LCBDUzQzOThfQ1BFTiB8IENTNDM5OF9QRE4pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9QRE4gfCBDUzQzNjJBX0NQRU4pOworCS8qIGNvbmZpZ3VyZSAqLworCWNzNDM5OF93cml0ZShjaGlwLCAyLCBkYXRhLT5jczQzOThfZm0pOworCWNzNDM5OF93cml0ZShjaGlwLCAzLCBDUzQzOThfQVRBUElfQl9SIHwgQ1M0Mzk4X0FUQVBJX0FfTCk7CisJY3M0Mzk4X3dyaXRlKGNoaXAsIDcsIENTNDM5OF9STVBfRE4gfCBDUzQzOThfUk1QX1VQIHwKKwkJICAgICBDUzQzOThfWkVST19DUk9TUyB8IENTNDM5OF9TT0ZUX1JBTVApOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMiwgQ1M0MzYyQV9ESUZfTEpVU1QpOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMywgQ1M0MzYyQV9NVVRFQ182IHwgQ1M0MzYyQV9BTVVURSB8CisJCSAgICAgIENTNDM2MkFfUk1QX1VQIHwgQ1M0MzYyQV9aRVJPX0NST1NTIHwgQ1M0MzYyQV9TT0ZUX1JBTVApOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNCwgQ1M0MzYyQV9STVBfRE4gfCBDUzQzNjJBX0RFTV9OT05FKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDUsIDApOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNiwgZGF0YS0+Y3M0MzYyYV9mbSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA5LCBkYXRhLT5jczQzNjJhX2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGMsIGRhdGEtPmNzNDM2MmFfZm0pOworCXVwZGF0ZV9jczQzeHhfdm9sdW1lKGNoaXApOworCXVwZGF0ZV9jczQzeHhfbXV0ZShjaGlwKTsKKwkvKiBjbGVhciBwb3dlciBkb3duICovCisJY3M0Mzk4X3dyaXRlKGNoaXAsIDgsIENTNDM5OF9DUEVOKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfQ1BFTik7Cit9CisKK3N0YXRpYyB2b2lkIHhvbmFyX2R4X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlkYXRhLT5hbnRpX3BvcF9kZWxheSA9IDgwMDsKKwlkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCA9IEdQSU9fRFhfT1VUUFVUX0VOQUJMRTsKKwlkYXRhLT5leHRfcG93ZXJfcmVnID0gT1hZR0VOX0dQSV9EQVRBOworCWRhdGEtPmV4dF9wb3dlcl9pbnRfcmVnID0gT1hZR0VOX0dQSV9JTlRFUlJVUFRfTUFTSzsKKwlkYXRhLT5leHRfcG93ZXJfYml0ID0gR1BJX0RYX0VYVF9QT1dFUjsKKwlkYXRhLT5jczQzOThfZm0gPSBDUzQzOThfRk1fU0lOR0xFIHwgQ1M0Mzk4X0RFTV9OT05FIHwgQ1M0Mzk4X0RJRl9MSlVTVDsKKwlkYXRhLT5jczQzNjJhX2ZtID0gQ1M0MzYyQV9GTV9TSU5HTEUgfAorCQlDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MOworCisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOXzJXSVJFX0JVU19TVEFUVVMsCisJCSAgICAgICBPWFlHRU5fMldJUkVfTEVOR1RIXzggfAorCQkgICAgICAgT1hZR0VOXzJXSVJFX0lOVEVSUlVQVF9NQVNLIHwKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9TUEVFRF9GQVNUKTsKKworCWNzNDN4eF9pbml0KGNoaXApOworCisJb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwKKwkJCSAgR1BJT19EWF9GUk9OVF9QQU5FTCB8IEdQSU9fRFhfSU5QVVRfUk9VVEUpOworCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKKwkJCSAgICBHUElPX0RYX0ZST05UX1BBTkVMIHwgR1BJT19EWF9JTlBVVF9ST1VURSk7CisKKwl4b25hcl9jb21tb25faW5pdChjaGlwKTsKKworCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzQzOTgiKTsKKwlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M0MzYyQSIpOworCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzUzNjEiKTsKK30KKworc3RhdGljIHZvaWQgeG9uYXJfY2xlYW51cChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9keF9jbGVhbnVwKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJeG9uYXJfY2xlYW51cChjaGlwKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfUEROIHwgQ1M0MzYyQV9DUEVOKTsKKwlveHlnZW5fY2xlYXJfYml0czgoY2hpcCwgT1hZR0VOX0ZVTkNUSU9OLCBPWFlHRU5fRlVOQ1RJT05fUkVTRVRfQ09ERUMpOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9kMl9yZXN1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlwY20xNzk2X2luaXQoY2hpcCk7CisJeG9uYXJfZW5hYmxlX291dHB1dChjaGlwKTsKK30KKworc3RhdGljIHZvaWQgeG9uYXJfZHhfcmVzdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJY3M0M3h4X2luaXQoY2hpcCk7CisJeG9uYXJfZW5hYmxlX291dHB1dChjaGlwKTsKK30KKworc3RhdGljIHZvaWQgc2V0X3BjbTE3OTZfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCisJCQkgICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCXVuc2lnbmVkIGludCBpOworCisJZGF0YS0+cGNtMTc5Nl9vdmVyc2FtcGxpbmcgPQorCQlwYXJhbXNfcmF0ZShwYXJhbXMpID49IDk2MDAwID8gUENNMTc5Nl9PU18zMiA6IFBDTTE3OTZfT1NfNjQ7CisJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMCwgZGF0YS0+cGNtMTc5Nl9vdmVyc2FtcGxpbmcpOworfQorCitzdGF0aWMgdm9pZCBzZXRfY3M1M3gxX3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJdW5zaWduZWQgaW50IHZhbHVlOworCisJaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gNTQwMDApCisJCXZhbHVlID0gR1BJT19DUzUzeDFfTV9TSU5HTEU7CisJZWxzZSBpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSAxMDgwMDApCisJCXZhbHVlID0gR1BJT19DUzUzeDFfTV9ET1VCTEU7CisJZWxzZQorCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fUVVBRDsKKwlveHlnZW5fd3JpdGUxNl9tYXNrZWQoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKKwkJCSAgICAgIHZhbHVlLCBHUElPX0NTNTN4MV9NX01BU0spOworfQorCitzdGF0aWMgdm9pZCBzZXRfY3M0M3h4X3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJZGF0YS0+Y3M0Mzk4X2ZtID0gQ1M0Mzk4X0RFTV9OT05FIHwgQ1M0Mzk4X0RJRl9MSlVTVDsKKwlkYXRhLT5jczQzNjJhX2ZtID0gQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTDsKKwlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSA1MDAwMCkgeworCQlkYXRhLT5jczQzOThfZm0gfD0gQ1M0Mzk4X0ZNX1NJTkdMRTsKKwkJZGF0YS0+Y3M0MzYyYV9mbSB8PSBDUzQzNjJBX0ZNX1NJTkdMRTsKKwl9IGVsc2UgaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gMTAwMDAwKSB7CisJCWRhdGEtPmNzNDM5OF9mbSB8PSBDUzQzOThfRk1fRE9VQkxFOworCQlkYXRhLT5jczQzNjJhX2ZtIHw9IENTNDM2MkFfRk1fRE9VQkxFOworCX0gZWxzZSB7CisJCWRhdGEtPmNzNDM5OF9mbSB8PSBDUzQzOThfRk1fUVVBRDsKKwkJZGF0YS0+Y3M0MzYyYV9mbSB8PSBDUzQzNjJBX0ZNX1FVQUQ7CisJfQorCWNzNDM5OF93cml0ZShjaGlwLCAyLCBkYXRhLT5jczQzOThfZm0pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNiwgZGF0YS0+Y3M0MzYyYV9mbSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA5LCBkYXRhLT5jczQzNjJhX2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGMsIGRhdGEtPmNzNDM2MmFfZm0pOworfQorCiBzdGF0aWMgdm9pZCB4b25hcl9ncGlvX2NoYW5nZWQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CkBAIC01MzUsNiArNTYzLDggQEAKIAkJLmNvbnRyb2xfZmlsdGVyID0geG9uYXJfZDJfY29udHJvbF9maWx0ZXIsCiAJCS5taXhlcl9pbml0ID0geG9uYXJfbWl4ZXJfaW5pdCwKIAkJLmNsZWFudXAgPSB4b25hcl9jbGVhbnVwLAorCQkuc3VzcGVuZCA9IHhvbmFyX2NsZWFudXAsCisJCS5yZXN1bWUgPSB4b25hcl9kMl9yZXN1bWUsCiAJCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9wY20xNzk2X3BhcmFtcywKIAkJLnNldF9hZGNfcGFyYW1zID0gc2V0X2NzNTN4MV9wYXJhbXMsCiAJCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9wY20xNzk2X3ZvbHVtZSwKQEAgLTU2Myw2ICs1OTMsOCBAQAogCQkuY29udHJvbF9maWx0ZXIgPSB4b25hcl9kMl9jb250cm9sX2ZpbHRlciwKIAkJLm1peGVyX2luaXQgPSB4b25hcl9taXhlcl9pbml0LAogCQkuY2xlYW51cCA9IHhvbmFyX2NsZWFudXAsCisJCS5zdXNwZW5kID0geG9uYXJfY2xlYW51cCwKKwkJLnJlc3VtZSA9IHhvbmFyX2QyX3Jlc3VtZSwKIAkJLnNldF9kYWNfcGFyYW1zID0gc2V0X3BjbTE3OTZfcGFyYW1zLAogCQkuc2V0X2FkY19wYXJhbXMgPSBzZXRfY3M1M3gxX3BhcmFtcywKIAkJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX3BjbTE3OTZfdm9sdW1lLApAQCAtNTkyLDYgKzYyNCw4IEBACiAJCS5jb250cm9sX2ZpbHRlciA9IHhvbmFyX2R4X2NvbnRyb2xfZmlsdGVyLAogCQkubWl4ZXJfaW5pdCA9IHhvbmFyX2R4X21peGVyX2luaXQsCiAJCS5jbGVhbnVwID0geG9uYXJfZHhfY2xlYW51cCwKKwkJLnN1c3BlbmQgPSB4b25hcl9keF9jbGVhbnVwLAorCQkucmVzdW1lID0geG9uYXJfZHhfcmVzdW1lLAogCQkuc2V0X2RhY19wYXJhbXMgPSBzZXRfY3M0M3h4X3BhcmFtcywKIAkJLnNldF9hZGNfcGFyYW1zID0gc2V0X2NzNTN4MV9wYXJhbXMsCiAJCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9jczQzeHhfdm9sdW1lLApAQCAtNjM2LDYgKzY3MCwxMCBAQAogCS5pZF90YWJsZSA9IHhvbmFyX2lkcywKIAkucHJvYmUgPSB4b25hcl9wcm9iZSwKIAkucmVtb3ZlID0gX19kZXZleGl0X3Aob3h5Z2VuX3BjaV9yZW1vdmUpLAorI2lmZGVmIENPTkZJR19QTQorCS5zdXNwZW5kID0gb3h5Z2VuX3BjaV9zdXNwZW5kLAorCS5yZXN1bWUgPSBveHlnZW5fcGNpX3Jlc3VtZSwKKyNlbmRpZgogfTsKIAogc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX3hvbmFyX2luaXQodm9pZCkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9wY3hoci9wY3hoci5jIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyLmMKaW5kZXggN2ZkY2RjOC4uMmM3ZTI1MyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3BjeGhyL3BjeGhyLmMKKysrIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyLmMKQEAgLTUxNiw3ICs1MTYsNyBAQAogCWludCBjYXB0dXJlX21hc2sgPSAwOwogCWludCBwbGF5YmFja19tYXNrID0gMDsKIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJc3RydWN0IHRpbWV2YWwgbXlfdHYxLCBteV90djI7CiAJZG9fZ2V0dGltZW9mZGF5KCZteV90djEpOwogI2VuZGlmCkBAIC02MjMsNyArNjIzLDcgQEAKIAogCW11dGV4X3VubG9jaygmbWdyLT5zZXR1cF9tdXRleCk7CiAKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWRvX2dldHRpbWVvZmRheSgmbXlfdHYyKTsKIAlzbmRfcHJpbnRkZCgiKioqVFJJR0dFUiBUQVNLTEVUKioqIFRJTUUgPSAlbGQgKGVyciA9ICV4KVxuIiwKIAkJICAgIChsb25nKShteV90djIudHZfdXNlYyAtIG15X3R2MS50dl91c2VjKSwgZXJyKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9wY3hoci9wY3hocl9jb3JlLmMgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfY29yZS5jCmluZGV4IDc4YWE4MWYuLjAwMGU2ZmUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9wY3hoci9wY3hocl9jb3JlLmMKKysrIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyX2NvcmUuYwpAQCAtMjY5LDcgKzI2OSw3IEBACiAJdW5zaWduZWQgaW50IGNoaXBzYzsKIAl1bnNpZ25lZCBjaGFyIGRhdGE7CiAJdW5zaWduZWQgY2hhciBtYXNrOwotCXVuc2lnbmVkIGNoYXIgKmltYWdlOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmltYWdlOwogCiAJLyogdGVzdCBmaXJzdCB4aWxpbnggKi8KIAljaGlwc2MgPSBQQ1hIUl9JTlBMKG1nciwgUENYSFJfUExYX0NISVBTQyk7CkBAIC0zMTYsNyArMzE2LDcgQEAKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGludCBpOwogCXVuc2lnbmVkIGludCBsZW47Ci0JdW5zaWduZWQgY2hhciAqZGF0YTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhOwogCXVuc2lnbmVkIGNoYXIgZHVtbXk7CiAJLyogY2hlY2sgdGhlIGxlbmd0aCBvZiBib290IGltYWdlICovCiAJc25kX2Fzc2VydChkc3AtPnNpemUgPiAwLCByZXR1cm4gLUVJTlZBTCk7CkBAIC00NzMsNyArNDczLDcgQEAKIFtDTURfQVVESU9fTEVWRUxfQURKVVNUXSA9CQl7IDB4YzIyMDAwLCAwLCBSTUhfU1NJWkVfRklYRUQgfSwKIH07CiAKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogc3RhdGljIGNoYXIqIGNtZF9uYW1lc1tdID0gewogW0NNRF9WRVJTSU9OXSA9CQkJCSJDTURfVkVSU0lPTiIsCiBbQ01EX1NVUFBPUlRFRF0gPQkJCSJDTURfU1VQUE9SVEVEIiwKQEAgLTU0OSw3ICs1NDksNyBAQAogCQkJCX0KIAkJCX0KIAkJfQotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJCWlmIChybWgtPmNtZF9pZHggPCBDTURfTEFTVF9JTkRFWCkKIAkJCXNuZF9wcmludGRkKCIgICAgc3RhdFslZF09JXhcbiIsIGksIGRhdGEpOwogI2VuZGlmCkBAIC01OTcsNyArNTk3LDcgQEAKIAkJZGF0YSB8PSAweDAwODAwMDsJLyogTUFTS19NT1JFX1RIQU5fMV9XT1JEX0NPTU1BTkQgKi8KIAllbHNlCiAJCWRhdGEgJj0gMHhmZjdmZmY7CS8qIE1BU0tfMV9XT1JEX0NPTU1BTkQgKi8KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWlmIChybWgtPmNtZF9pZHggPCBDTURfTEFTVF9JTkRFWCkKIAkJc25kX3ByaW50ZGQoIk1TRyBjbWRbMF09JXggKCVzKVxuIiwgZGF0YSwgY21kX25hbWVzW3JtaC0+Y21kX2lkeF0pOwogI2VuZGlmCkBAIC02MjQsNyArNjI0LDcgQEAKIAkJZm9yIChpPTE7IGkgPCBybWgtPmNtZF9sZW47IGkrKykgewogCQkJLyogc2VuZCBvdGhlciB3b3JkcyAqLwogCQkJZGF0YSA9IHJtaC0+Y21kW2ldOwotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJCQlpZiAocm1oLT5jbWRfaWR4IDwgQ01EX0xBU1RfSU5ERVgpCiAJCQkJc25kX3ByaW50ZGQoIiAgICBjbWRbJWRdPSV4XG4iLCBpLCBkYXRhKTsKICNlbmRpZgpAQCAtODQ3LDcgKzg0Nyw3IEBACiAJaW50IHN0YXRlLCBpLCBlcnI7CiAJaW50IGF1ZGlvX21hc2s7CiAKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCXN0cnVjdCB0aW1ldmFsIG15X3R2MSwgbXlfdHYyOwogCWRvX2dldHRpbWVvZmRheSgmbXlfdHYxKTsKICNlbmRpZgpAQCAtODk0LDcgKzg5NCw3IEBACiAJCWlmIChlcnIpCiAJCQlyZXR1cm4gZXJyOwogCX0KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWRvX2dldHRpbWVvZmRheSgmbXlfdHYyKTsKIAlzbmRfcHJpbnRkZCgiKioqU0VUIFBJUEUgU1RBVEUqKiogVElNRSA9ICVsZCAoZXJyID0gJXgpXG4iLAogCQkgICAgKGxvbmcpKG15X3R2Mi50dl91c2VjIC0gbXlfdHYxLnR2X3VzZWMpLCBlcnIpOwpAQCAtOTUxLDcgKzk1MSw3IEBACiAJCQkJICBlbnVtIHBjeGhyX2FzeW5jX2Vycl9zcmMgZXJyX3NyYywgaW50IHBpcGUsCiAJCQkJICBpbnQgaXNfY2FwdHVyZSkKIHsKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCXN0YXRpYyBjaGFyKiBlcnJfc3JjX25hbWVbXSA9IHsKIAkJW1BDWEhSX0VSUl9QSVBFXQk9ICJQaXBlIiwKIAkJW1BDWEhSX0VSUl9TVFJFQU1dCT0gIlN0cmVhbSIsCkBAIC0xMTY5LDcgKzExNjksNyBAQAogCQkJCSAgICBtZ3ItPmRzcF90aW1lX2xhc3QsIGRzcF90aW1lX25ldyk7CiAJCQltZ3ItPmRzcF90aW1lX2VycisrOwogCQl9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAkJaWYgKGRzcF90aW1lX2RpZmYgPT0gMCkKIAkJCXNuZF9wcmludGRkKCJFUlJPUiBEU1AgVElNRSBOTyBESUZGIHRpbWUoJWQpXG4iLCBkc3BfdGltZV9uZXcpOwogCQllbHNlIGlmIChkc3BfdGltZV9kaWZmID49ICgyKlBDWEhSX0dSQU5VTEFSSVRZKSkKQEAgLTEyMDgsNyArMTIwOCw3IEBACiAJCW1nci0+c3JjX2l0X2RzcCA9IHJlZzsKIAkJdGFza2xldF9oaV9zY2hlZHVsZSgmbWdyLT5tc2dfdGFza3EpOwogCX0KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWlmIChyZWcgJiBQQ1hIUl9GQVRBTF9EU1BfRVJSKQogCQlzbmRfcHJpbnRkZCgiRkFUQUwgRFNQIEVSUk9SIDogJXhcbiIsIHJlZyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9wY3hoci9wY3hocl9od2RlcC5jIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyX2h3ZGVwLmMKaW5kZXggZTZhNGJmYi4uZDJmMDQzMiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3BjeGhyL3BjeGhyX2h3ZGVwLmMKKysrIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyX2h3ZGVwLmMKQEAgLTM5NCw3ICszOTQsNyBAQAogCQkJICAgKHVuc2lnbmVkIGxvbmcpZncuc2l6ZSk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KLQlpZiAoY29weV9mcm9tX3VzZXIoZncuZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CisJaWYgKGNvcHlfZnJvbV91c2VyKCh2b2lkICopZncuZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CiAJCXZmcmVlKGZ3LmRhdGEpOwogCQlyZXR1cm4gLUVGQVVMVDsKIAl9CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvcmlwdGlkZS9yaXB0aWRlLmMgYi9zb3VuZC9wY2kvcmlwdGlkZS9yaXB0aWRlLmMKaW5kZXggOTc5ZjdkYS4uNmEzNTk2MiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3JpcHRpZGUvcmlwdGlkZS5jCisrKyBiL3NvdW5kL3BjaS9yaXB0aWRlL3JpcHRpZGUuYwpAQCAtNjgyLDcgKzY4Miw3IEBACiAJfSwKIH07CiAKLXN0YXRpYyB1MzIgYXRvaCh1bnNpZ25lZCBjaGFyICppbiwgdW5zaWduZWQgaW50IGxlbikKK3N0YXRpYyB1MzIgYXRvaChjb25zdCB1bnNpZ25lZCBjaGFyICppbiwgdW5zaWduZWQgaW50IGxlbikKIHsKIAl1MzIgc3VtID0gMDsKIAl1bnNpZ25lZCBpbnQgbXVsdCA9IDE7CkBAIC03MDIsMTIgKzcwMiwxMiBAQAogCXJldHVybiBzdW07CiB9CiAKLXN0YXRpYyBpbnQgc2VuZGRhdGEoc3RydWN0IGNtZGlmICpjaWYsIHVuc2lnbmVkIGNoYXIgKmluLCB1MzIgb2Zmc2V0KQorc3RhdGljIGludCBzZW5kZGF0YShzdHJ1Y3QgY21kaWYgKmNpZiwgY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIHUzMiBvZmZzZXQpCiB7CiAJdTMyIGFkZHI7CiAJdTMyIGRhdGE7CiAJdTMyIGk7Ci0JdW5zaWduZWQgY2hhciAqcDsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwOwogCiAJaSA9IGF0b2goJmluWzFdLCAyKTsKIAlhZGRyID0gb2Zmc2V0ICsgYXRvaCgmaW5bM10sIDQpOwpAQCAtNzI2LDEwICs3MjYsMTAgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBsb2FkZmlybXdhcmUoc3RydWN0IGNtZGlmICpjaWYsIHVuc2lnbmVkIGNoYXIgKmltZywKK3N0YXRpYyBpbnQgbG9hZGZpcm13YXJlKHN0cnVjdCBjbWRpZiAqY2lmLCBjb25zdCB1bnNpZ25lZCBjaGFyICppbWcsCiAJCQl1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKLQl1bnNpZ25lZCBjaGFyICppbjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbjsKIAl1MzIgbGFkZHIsIHNhZGRyLCB0LCB2YWw7CiAJaW50IGVyciA9IDA7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWFpbi5jIGIvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tYWluLmMKaW5kZXggYmJjZWUyYy4uYTY5YjQyMCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tYWluLmMKKysrIGIvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tYWluLmMKQEAgLTE1OTAsNyArMTU5MCwxMCBAQAogCWlmIChzcGRpZl9mbGFnKSB7CiAJCWlmICh0cmlkZW50LT5kZXZpY2UgIT0gVFJJREVOVF9ERVZJQ0VfSURfU0k3MDE4KSB7CiAJCQlvdXRsKHRyaWRlbnQtPnNwZGlmX3BjbV9iaXRzLCBUUklEX1JFRyh0cmlkZW50LCBOWF9TUENTVEFUVVMpKTsKLQkJCW91dGIodHJpZGVudC0+c3BkaWZfcGNtX2N0cmwsIFRSSURfUkVHKHRyaWRlbnQsIE5YX1NQQ1RSTF9TUENTTyArIDMpKTsKKwkJCXZhbCA9IHRyaWRlbnQtPnNwZGlmX3BjbV9jdHJsOworCQkJaWYgKCFnbykKKwkJCQl2YWwgJj0gfigweDI4KTsKKwkJCW91dGIodmFsLCBUUklEX1JFRyh0cmlkZW50LCBOWF9TUENUUkxfU1BDU08gKyAzKSk7CiAJCX0gZWxzZSB7CiAJCQlvdXRsKHRyaWRlbnQtPnNwZGlmX3BjbV9iaXRzLCBUUklEX1JFRyh0cmlkZW50LCBTSV9TUERJRl9DUykpOwogCQkJdmFsID0gaW5sKFRSSURfUkVHKHRyaWRlbnQsIFNJX1NFUklBTF9JTlRGX0NUUkwpKSB8IFNQRElGX0VOOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tZW1vcnkuYyBiL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWVtb3J5LmMKaW5kZXggZGY5YjQ4Ny4uM2ZkN2YxYiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tZW1vcnkuYworKysgYi9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21lbW9yeS5jCkBAIC0zMTAsMTgxICszMTAsMyBAQAogCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7CiAJcmV0dXJuIDA7CiB9Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiBtZW1vcnkgYWxsb2NhdGlvbiB1c2luZyBtdWx0aXBsZSBwYWdlcyAoZm9yIHN5bnRoKQotICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiBVbmxpa2UgdGhlIERNQSBhbGxvY2F0aW9uIGFib3ZlLCBub24tY29udGlndW91cyBwYWdlcyBhcmUKLSAqIGFzc2lnbmVkIHRvIFRMQi4KLSAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0KLS8qCi0gKi8KLXN0YXRpYyBpbnQgc3ludGhfYWxsb2NfcGFnZXMoc3RydWN0IHNuZF90cmlkZW50ICpodywgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKTsKLXN0YXRpYyBpbnQgc3ludGhfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspOwotCi0vKgotICogYWxsb2NhdGUgYSBzeW50aCBzYW1wbGUgYXJlYQotICovCi1zdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICoKLXNuZF90cmlkZW50X3N5bnRoX2FsbG9jKHN0cnVjdCBzbmRfdHJpZGVudCAqaHcsIHVuc2lnbmVkIGludCBzaXplKQotewotCXN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsazsKLQlzdHJ1Y3Qgc25kX3V0aWxfbWVtaGRyICpoZHIgPSBody0+dGxiLm1lbWhkcjsgCi0KLQltdXRleF9sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQlibGsgPSBfX3NuZF91dGlsX21lbV9hbGxvYyhoZHIsIHNpemUpOwotCWlmIChibGsgPT0gTlVMTCkgewotCQltdXRleF91bmxvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0JaWYgKHN5bnRoX2FsbG9jX3BhZ2VzKGh3LCBibGspKSB7Ci0JCV9fc25kX3V0aWxfbWVtX2ZyZWUoaGRyLCBibGspOwotCQltdXRleF91bmxvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0JbXV0ZXhfdW5sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQlyZXR1cm4gYmxrOwotfQotCi1FWFBPUlRfU1lNQk9MKHNuZF90cmlkZW50X3N5bnRoX2FsbG9jKTsKLQotLyoKLSAqIGZyZWUgYSBzeW50aCBzYW1wbGUgYXJlYQotICovCi1pbnQKLXNuZF90cmlkZW50X3N5bnRoX2ZyZWUoc3RydWN0IHNuZF90cmlkZW50ICpodywgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKQotewotCXN0cnVjdCBzbmRfdXRpbF9tZW1oZHIgKmhkciA9IGh3LT50bGIubWVtaGRyOyAKLQotCW11dGV4X2xvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCXN5bnRoX2ZyZWVfcGFnZXMoaHcsIGJsayk7Ci0JIF9fc25kX3V0aWxfbWVtX2ZyZWUoaGRyLCBibGspOwotCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLUVYUE9SVF9TWU1CT0woc25kX3RyaWRlbnRfc3ludGhfZnJlZSk7Ci0KLS8qCi0gKiByZXNldCBUTEIgZW50cnkgYW5kIGZyZWUga2VybmVsIHBhZ2UKLSAqLwotc3RhdGljIHZvaWQgY2xlYXJfdGxiKHN0cnVjdCBzbmRfdHJpZGVudCAqdHJpZGVudCwgaW50IHBhZ2UpCi17Ci0Jdm9pZCAqcHRyID0gcGFnZV90b19wdHIodHJpZGVudCwgcGFnZSk7Ci0JZG1hX2FkZHJfdCBhZGRyID0gcGFnZV90b19hZGRyKHRyaWRlbnQsIHBhZ2UpOwotCXNldF9zaWxlbnRfdGxiKHRyaWRlbnQsIHBhZ2UpOwotCWlmIChwdHIpIHsKLQkJc3RydWN0IHNuZF9kbWFfYnVmZmVyIGRtYWI7Ci0JCWRtYWIuZGV2LnR5cGUgPSBTTkRSVl9ETUFfVFlQRV9ERVY7Ci0JCWRtYWIuZGV2LmRldiA9IHNuZF9kbWFfcGNpX2RhdGEodHJpZGVudC0+cGNpKTsKLQkJZG1hYi5hcmVhID0gcHRyOwotCQlkbWFiLmFkZHIgPSBhZGRyOwotCQlkbWFiLmJ5dGVzID0gQUxJR05fUEFHRV9TSVpFOwotCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJmRtYWIpOwotCX0KLX0KLQotLyogY2hlY2sgbmV3IGFsbG9jYXRpb24gcmFuZ2UgKi8KLXN0YXRpYyB2b2lkIGdldF9zaW5nbGVfcGFnZV9yYW5nZShzdHJ1Y3Qgc25kX3V0aWxfbWVtaGRyICpoZHIsCi0JCQkJICBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGssCi0JCQkJICBpbnQgKmZpcnN0X3BhZ2VfcmV0LCBpbnQgKmxhc3RfcGFnZV9yZXQpCi17Ci0Jc3RydWN0IGxpc3RfaGVhZCAqcDsKLQlzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpxOwotCWludCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0JZmlyc3RfcGFnZSA9IGZpcnN0cGcoYmxrKTsKLQlpZiAoKHAgPSBibGstPmxpc3QucHJldikgIT0gJmhkci0+YmxvY2spIHsKLQkJcSA9IGxpc3RfZW50cnkocCwgc3RydWN0IHNuZF91dGlsX21lbWJsaywgbGlzdCk7Ci0JCWlmIChsYXN0cGcocSkgPT0gZmlyc3RfcGFnZSkKLQkJCWZpcnN0X3BhZ2UrKzsgIC8qIGZpcnN0IHBhZ2Ugd2FzIGFscmVhZHkgYWxsb2NhdGVkICovCi0JfQotCWxhc3RfcGFnZSA9IGxhc3RwZyhibGspOwotCWlmICgocCA9IGJsay0+bGlzdC5uZXh0KSAhPSAmaGRyLT5ibG9jaykgewotCQlxID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrLCBsaXN0KTsKLQkJaWYgKGZpcnN0cGcocSkgPT0gbGFzdF9wYWdlKQotCQkJbGFzdF9wYWdlLS07IC8qIGxhc3QgcGFnZSB3YXMgYWxyZWFkeSBhbGxvY2F0ZWQgKi8KLQl9Ci0JKmZpcnN0X3BhZ2VfcmV0ID0gZmlyc3RfcGFnZTsKLQkqbGFzdF9wYWdlX3JldCA9IGxhc3RfcGFnZTsKLX0KLQotLyoKLSAqIGFsbG9jYXRlIGtlcm5lbCBwYWdlcyBhbmQgYXNzaWduIHRoZW0gdG8gVExCCi0gKi8KLXN0YXRpYyBpbnQgc3ludGhfYWxsb2NfcGFnZXMoc3RydWN0IHNuZF90cmlkZW50ICpodywgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKQotewotCWludCBwYWdlLCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0Jc3RydWN0IHNuZF9kbWFfYnVmZmVyIGRtYWI7Ci0KLQlmaXJzdHBnKGJsaykgPSBnZXRfYWxpZ25lZF9wYWdlKGJsay0+b2Zmc2V0KTsKLQlsYXN0cGcoYmxrKSA9IGdldF9hbGlnbmVkX3BhZ2UoYmxrLT5vZmZzZXQgKyBibGstPnNpemUgLSAxKTsKLQlnZXRfc2luZ2xlX3BhZ2VfcmFuZ2UoaHctPnRsYi5tZW1oZHIsIGJsaywgJmZpcnN0X3BhZ2UsICZsYXN0X3BhZ2UpOwotCi0JLyogYWxsb2NhdGUgYSBrZXJuZWwgcGFnZSBmb3IgZWFjaCBUcmlkZW50IHBhZ2UgLQotCSAqIGZvcnR1bmF0ZWx5IFRyaWRlbnQgcGFnZSBzaXplIGFuZCBrZXJuZWwgUEFHRV9TSVpFIGlzIGlkZW50aWNhbCEKLQkgKi8KLQlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7Ci0JCWlmIChzbmRfZG1hX2FsbG9jX3BhZ2VzKFNORFJWX0RNQV9UWVBFX0RFViwgc25kX2RtYV9wY2lfZGF0YShody0+cGNpKSwKLQkJCQkJQUxJR05fUEFHRV9TSVpFLCAmZG1hYikgPCAwKQotCQkJZ290byBfX2ZhaWw7Ci0JCWlmICghIGlzX3ZhbGlkX3BhZ2UoZG1hYi5hZGRyKSkgewotCQkJc25kX2RtYV9mcmVlX3BhZ2VzKCZkbWFiKTsKLQkJCWdvdG8gX19mYWlsOwotCQl9Ci0JCXNldF90bGJfYnVzKGh3LCBwYWdlLCAodW5zaWduZWQgbG9uZylkbWFiLmFyZWEsIGRtYWIuYWRkcik7Ci0JfQotCXJldHVybiAwOwotCi1fX2ZhaWw6Ci0JLyogcmVsZWFzZSBhbGxvY2F0ZWQgcGFnZXMgKi8KLQlsYXN0X3BhZ2UgPSBwYWdlIC0gMTsKLQlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKQotCQljbGVhcl90bGIoaHcsIHBhZ2UpOwotCi0JcmV0dXJuIC1FTk9NRU07Ci19Ci0KLS8qCi0gKiBmcmVlIHBhZ2VzCi0gKi8KLXN0YXRpYyBpbnQgc3ludGhfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKnRyaWRlbnQsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsaykKLXsKLQlpbnQgcGFnZSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwotCi0JZ2V0X3NpbmdsZV9wYWdlX3JhbmdlKHRyaWRlbnQtPnRsYi5tZW1oZHIsIGJsaywgJmZpcnN0X3BhZ2UsICZsYXN0X3BhZ2UpOwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspCi0JCWNsZWFyX3RsYih0cmlkZW50LCBwYWdlKTsKLQotCXJldHVybiAwOwotfQotCi0vKgotICogY29weV9mcm9tX3VzZXIoYmxrICsgb2Zmc2V0LCBkYXRhLCBzaXplKQotICovCi1pbnQgc25kX3RyaWRlbnRfc3ludGhfY29weV9mcm9tX3VzZXIoc3RydWN0IHNuZF90cmlkZW50ICp0cmlkZW50LAotCQkJCSAgICAgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrLAotCQkJCSAgICAgaW50IG9mZnNldCwgY29uc3QgY2hhciBfX3VzZXIgKmRhdGEsIGludCBzaXplKQotewotCWludCBwYWdlLCBuZXh0b2ZzLCBlbmRfb2Zmc2V0LCB0ZW1wLCB0ZW1wMTsKLQotCW9mZnNldCArPSBibGstPm9mZnNldDsKLQllbmRfb2Zmc2V0ID0gb2Zmc2V0ICsgc2l6ZTsKLQlwYWdlID0gZ2V0X2FsaWduZWRfcGFnZShvZmZzZXQpICsgMTsKLQlkbyB7Ci0JCW5leHRvZnMgPSBhbGlnbmVkX3BhZ2Vfb2Zmc2V0KHBhZ2UpOwotCQl0ZW1wID0gbmV4dG9mcyAtIG9mZnNldDsKLQkJdGVtcDEgPSBlbmRfb2Zmc2V0IC0gb2Zmc2V0OwotCQlpZiAodGVtcDEgPCB0ZW1wKQotCQkJdGVtcCA9IHRlbXAxOwotCQlpZiAoY29weV9mcm9tX3VzZXIob2Zmc2V0X3B0cih0cmlkZW50LCBvZmZzZXQpLCBkYXRhLCB0ZW1wKSkKLQkJCXJldHVybiAtRUZBVUxUOwotCQlvZmZzZXQgPSBuZXh0b2ZzOwotCQlkYXRhICs9IHRlbXA7Ci0JCXBhZ2UrKzsKLQl9IHdoaWxlIChvZmZzZXQgPCBlbmRfb2Zmc2V0KTsKLQlyZXR1cm4gMDsKLX0KLQotRVhQT1JUX1NZTUJPTChzbmRfdHJpZGVudF9zeW50aF9jb3B5X2Zyb21fdXNlcik7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvdmlhODJ4eC5jIGIvc291bmQvcGNpL3ZpYTgyeHguYwppbmRleCBiNTg1Y2MzLi42NzgxYmU5IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvdmlhODJ4eC5jCisrKyBiL3NvdW5kL3BjaS92aWE4Mnh4LmMKQEAgLTE3NTcsNiArMTc1NywxMiBAQAogCQkudHlwZSA9IEFDOTdfVFVORV9IUF9PTkxZCiAJfSwKIAl7CisJCS5zdWJ2ZW5kb3IgPSAweDEwMTksCisJCS5zdWJkZXZpY2UgPSAweDE4NDEsCisJCS5uYW1lID0gIkVDUyBLN1ZUQTMiLAorCQkudHlwZSA9IEFDOTdfVFVORV9IUF9PTkxZCisJfSwKKwl7CiAJCS5zdWJ2ZW5kb3IgPSAweDE4NDksCiAJCS5zdWJkZXZpY2UgPSAweDMwNTksCiAJCS5uYW1lID0gIkFTUm9jayBLN1ZNMiIsCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvdngyMjIvdngyMjJfb3BzLmMgYi9zb3VuZC9wY2kvdngyMjIvdngyMjJfb3BzLmMKaW5kZXggYjRiZmMxYS4uNjMxZjNhNiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3Z4MjIyL3Z4MjIyX29wcy5jCisrKyBiL3NvdW5kL3BjaS92eDIyMi92eDIyMl9vcHMuYwpAQCAtMzU5LDcgKzM1OSw3IEBACiB7CiAJdW5zaWduZWQgaW50IGk7CiAJdW5zaWduZWQgaW50IHBvcnQ7Ci0JdW5zaWduZWQgY2hhciAqaW1hZ2U7CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW1hZ2U7CiAKIAkvKiBYSUxJTlggcmVzZXQgKHdhaXQgYXQgbGVhc3QgMSBtaWxpc2Vjb25kIGJldHdlZW4gcmVzZXQgb24gYW5kIG9mZikuICovCiAJdnhfb3V0bChjaGlwLCBDTlRSTCwgVlhfQ05UUkxfUkVHSVNURVJfVkFMVUUgfCBWWF9YSUxJTlhfUkVTRVRfTUFTSyk7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9pbWFnZS5oIGIvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfaW1hZ2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTEyZjJmZi4uMDAwMDAwMAotLS0gYS9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9pbWFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTU2NSArMCwwIEBACi0jaWZuZGVmIF9IV01DT0RFXwotI2RlZmluZSBfSFdNQ09ERV8KLQotc3RhdGljIHUzMiBEc3BJbnN0W1lEU1hHX0RTUExFTkdUSCAvIDRdID0gewotCTB4MDAwMDAwODEsIDB4MDAwMDAxYTQsIDB4MDAwMDAwMGEsIDB4MDAwMDAwMmYsCi0JMHgwMDA4MDI1MywgMHgwMTgwMDMxNywgMHgwMDAwNDA3YiwgMHgwMDAwODQzZiwKLQkweDAwMDE0ODNjLCAweDAwMDE5NDNjLCAweDAwMDVkODNjLCAweDAwMDAxYzNjLAotCTB4MDAwMGMwN2IsIDB4MDAwNTBjM2YsIDB4MDEyMTUwM2MsIDB4MDAwMDAwMDAsCi0JMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwKLQkweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLAotCTB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsCi0JMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMAotfTsKLQotc3RhdGljIHUzMiBDbnRybEluc3RbWURTWEdfQ1RSTExFTkdUSCAvIDRdID0gewotCTB4MDAwMDA3LCAweDI0MDAwNywgMHgwQzAwMDcsIDB4MUMwMDA3LAotCTB4MDYwMDA3LCAweDcwMDAwMiwgMHgwMDAwMjAsIDB4MDMwMDQwLAotCTB4MDA3MTA0LCAweDAwNDI4NiwgMHgwMzAwNDAsIDB4MDAwRjBELAotCTB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDAyODIsIDB4MDAwMjBELAotCTB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDEyODIsIDB4MjAwRTgyLAotCTB4MDAxQTgyLCAweDAzMkQwRCwgMHgwMDA4MTAsIDB4MTAwNDNBLAotCTB4MDJEMzhELCAweDAwMDgxMCwgMHgxODA0M0EsIDB4MDAwMTBELAotCTB4MDIwMDE1LCAweDAwMDBGRCwgMHgwMDAwMjAsIDB4MDM4ODYwLAotCTB4MDM5MDYwLCAweDAzODA2MCwgMHgwMzgwNDAsIDB4MDM4MDQwLAotCTB4MDM4MDQwLCAweDAxODA0MCwgMHgwMDBBN0QsIDB4MDM4MDQwLAotCTB4MDM4MDQwLCAweDAxODA0MCwgMHgyMDA0MDIsIDB4MDAwODgyLAotCTB4MDgwMDFBLCAweDAwMDkwNCwgMHgwMTU5ODYsIDB4MDAwMDA3LAotCTB4MjYwMDA3LCAweDAwMDAwNywgMHgwMDAwMDcsIDB4MDE4QTA2LAotCTB4MDAwMDA3LCAweDAzMEM4RCwgMHgwMDA4MTAsIDB4MTgwNDNBLAotCTB4MjYwMDA3LCAweDAwMDg3RCwgMHgwMTgwNDIsIDB4MDAxNjBBLAotCTB4MDRBMjA2LCAweDAwMDAwNywgMHgwMDIxOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDIxQzIwNiwgMHgwMDAwMDcsIDB4MDAwN0ZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDI5Mzg2LAotCTB4MDAwMTk1LCAweDA5MEQwNCwgMHgwMDAwMDcsIDB4MDAwODIwLAotCTB4MDAwMEY1LCAweDAwMEI3RCwgMHgwMUYwNjAsIDB4MDAwMEZELAotCTB4MDMyMjA2LCAweDAxODA0MCwgMHgwMDBBN0QsIDB4MDM4MDQyLAotCTB4MTM4MDRBLCAweDE4MDAwQSwgMHgwMDE4MjAsIDB4MDU5MDYwLAotCTB4MDU4ODYwLCAweDAxODA0MCwgMHgwMDAwRkQsIDB4MDE4MDQyLAotCTB4NzAwMDBBLCAweDAwMDExNSwgMHgwNzExNDQsIDB4MDMyMzg2LAotCTB4MDMwMDAwLCAweDAwNzAyMCwgMHgwMzRBMDYsIDB4MDE4MDQwLAotCTB4MDAzNDhELCAweDAwMDgxMCwgMHgwODA0M0EsIDB4MjFFQTA2LAotCTB4MDAwMDA3LCAweDAyRDM4RCwgMHgwMDA4MTAsIDB4MTgwNDNBLAotCTB4MDE4MjA2LCAweDAwMDAwNywgMHgyNDAwMDcsIDB4MDAwRjhELAotCTB4MDAwODEwLCAweDAwMTYzQSwgMHgwMDI0MDIsIDB4MDA1QzAyLAotCTB4MDAyOEZELCAweDAwMDAyMCwgMHgwMTgwNDAsIDB4MDgwMDBELAotCTB4MDAwODE1LCAweDUxMDk4NCwgMHgwMDAwMDcsIDB4MDAwMDRELAotCTB4MDAwRTVELCAweDAwMEUwMiwgMHgwMDQxOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJDOEEwNiwgMHgwMDAwMDcsIDB4MDAwMDhELAotCTB4MDAwOTI0LCAweDAwMEYwMiwgMHgwMDQ1OEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJDOEEwNiwgMHgwMDAwMDcsIDB4MDAzODdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDEwMTUsIDB4MDEwOTg0LAotCTB4MDE4Mzg2LCAweDAwMDAwNywgMHgwMUFBMDYsIDB4MDAwMDA3LAotCTB4MDAwOEZELCAweDAxODA0MiwgMHgxODAwMEEsIDB4MDAxOTA0LAotCTB4MjE4MDg2LCAweDI4MDAwNywgMHgwMDE4MTAsIDB4MjgwNDNBLAotCTB4MjgwQzAyLCAweDAwMDAwRCwgMHgwMDA4MTAsIDB4MjgxNDNBLAotCTB4MDg4MDhELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwMDIwRCwgMHgxODk5MDQsIDB4MDAwMDA3LAotCTB4MDA0MDJELCAweDAwMDBCRCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwNTVBODYsIDB4MDAwMDA3LAotCTB4MDAwMTAwLCAweDAwMEEyMCwgMHgwMDA0N0QsIDB4MDE4MDQwLAotCTB4MDE4MDQyLCAweDIwMDAwQSwgMHgwMDMwMTUsIDB4MDEyMTQ0LAotCTB4MDM0OTg2LCAweDAwMDAwNywgMHgwMDIxMDQsIDB4MDM0OTg2LAotCTB4MDAwMDA3LCAweDAwMEY4RCwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MDIzOTQ0LCAweDA2Qzk4NiwgMHgwMDAwMDcsIDB4MDAxODEwLAotCTB4MjgwNDNBLCAweDA4ODEwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDI4MTAsIDB4NzgwMDNBLAotCTB4MDA2ODhELCAweDAwMDgxMCwgMHgwODA0M0EsIDB4Mjg4QTA2LAotCTB4MDAwMDA3LCAweDAwNDAwRCwgMHgwMDEwMTUsIDB4MTg5OTA0LAotCTB4MjkyOTA0LCAweDM5MzkwNCwgMHgwMDAwMDcsIDB4MDYwMjA2LAotCTB4MDAwMDA3LCAweDAwMDRGNSwgMHgwMDAwN0QsIDB4MDAwMDIwLAotCTB4MDAwMDhELCAweDAxMDg2MCwgMHgwMTgwNDAsIDB4MDAwNDdELAotCTB4MDM4MDQyLCAweDIxODA0QSwgMHgxODAwMEEsIDB4MDIxOTQ0LAotCTB4MjE1ODg2LCAweDAwMDAwNywgMHgwMDQwNzUsIDB4NzFGMTA0LAotCTB4MDAwMDA3LCAweDAxMDA0MiwgMHgyODAwMEEsIDB4MDAyOTA0LAotCTB4MjEyMDg2LCAweDAwMDAwNywgMHgwMDNDMEQsIDB4MzBBOTA0LAotCTB4MDAwMDA3LCAweDAwMDc3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDA3REE4NiwgMHgwMDA1N0QsIDB4MDAyODIwLAotCTB4MDNCMDYwLCAweDA3RjIwNiwgMHgwMTgwNDAsIDB4MDAzMDIwLAotCTB4MDNBODYwLCAweDAxODA0MCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwN0ZBODYsIDB4MDAwMDA3LAotCTB4MDAwNTdELCAweDAxODA0MiwgMHgyODA0MEEsIDB4MDAwRThELAotCTB4MDAwODEwLCAweDI4MEMzQSwgMHgwMDAwMEQsIDB4MDAwODEwLAotCTB4MjgxNDNBLCAweDA5MDAwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDNERkQsIDB4MDAwMDIwLAotCTB4MDE4MDQwLCAweDAwMTA3RCwgMHgwMDhEOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDI4OEEwNiwgMHgwMDAwMDcsIDB4MDAwODE1LAotCTB4MDgwMDFBLCAweDAxMDk4NCwgMHgwOTUxODYsIDB4MDAxMzdELAotCTB4MjAwNTAwLCAweDI4MEYyMCwgMHgzMzhGNjAsIDB4M0I4RjYwLAotCTB4NDM4RjYwLCAweDRCOEY2MCwgMHg1MzhGNjAsIDB4NUI4RjYwLAotCTB4MDM4QTYwLCAweDAxODA0MCwgMHgwMDdGQkQsIDB4MzgzREM0LAotCTB4MDAwMDA3LCAweDAwMUE3RCwgMHgwMDEzNzUsIDB4MDE4MDQyLAotCTB4MDkwMDRBLCAweDEwMDAwQSwgMHgwQjhEMDQsIDB4MTM5NTA0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTkwNjAsIDB4MDAxMTA0LAotCTB4MjEyMDg2LCAweDAxMDA0MCwgMHgwMDE3RkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyMTIyODYsIDB4MDAwMDA3LAotCTB4MDAxOTdELCAweDAzODA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLAotCTB4MDAwOTI0LCAweDAwMTY2NCwgMHgwMDExRkQsIDB4MDM4MDQyLAotCTB4MkI4MDRBLCAweDE5ODA0QSwgMHgwMDAwOEQsIDB4MjE4OTQ0LAotCTB4MDAwMDA3LCAweDAwMjI0NCwgMHgwQUUxODYsIDB4MDAwMDA3LAotCTB4MDAxQTY0LCAweDAwMkEyNCwgMHgwMDE5N0QsIDB4MDgwMTAyLAotCTB4MTAwMTIyLCAweDAwMDgyMCwgMHgwMzkwNjAsIDB4MDE4MDQwLAotCTB4MDAzREZELCAweDAwMDA4RCwgMHgwMDA4MjAsIDB4MDE4MDQwLAotCTB4MDAxMzc1LCAweDAwMUE3RCwgMHgwMTAwNDIsIDB4MDk4MDRBLAotCTB4MTAwMDBBLCAweDAwMDIxRCwgMHgwMTg5RTQsIDB4Mjk5MkU0LAotCTB4MzA5MTQ0LCAweDAwMDAwNywgMHgwMDA2MEQsIDB4MDAwQTE1LAotCTB4MDAwQzFELCAweDAwMTAyNSwgMHgwMEE5RTQsIDB4MDEyQkU0LAotCTB4MDAwNDY0LCAweDAxQjNFNCwgMHgwMjMyRTQsIDB4MDAwNDY0LAotCTB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwNDBELAotCTB4MDhCMUM0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDAwQkY1LAotCTB4MDMwMDQwLCAweDAwMTk3RCwgMHgwMzgwNDIsIDB4MDk4MDRBLAotCTB4MDAwQTI0LCAweDA4MDAwQSwgMHgwODBFNjQsIDB4MDAwMDA3LAotCTB4MTAwMTIyLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDEwMDQwLAotCTB4MDA2NEFDLCAweDAwMDI3RCwgMHgwMDAwMjAsIDB4MDE4MDQwLAotCTB4MDAxMDdELCAweDAxODA0MiwgMHgwMDExRkQsIDB4M0I4MDRBLAotCTB4MDk4MDRBLCAweDIwMDAwQSwgMHgwMDAwOTUsIDB4MUExMTQ0LAotCTB4MDBBMTQ0LCAweDBEMjA4NiwgMHgwMDA0MEQsIDB4MDBCOTg0LAotCTB4MEQyMTg2LCAweDAwMThGRCwgMHgwMTgwNDIsIDB4MDAxMEZELAotCTB4MDk4MDRBLCAweDI4MDAwQSwgMHgwMDAwOTUsIDB4MDEwOTI0LAotCTB4MDAyQTY0LCAweDBEMTE4NiwgMHgwMDAwMDcsIDB4MDAyOTA0LAotCTB4MEQyMjg2LCAweDAwMDAwNywgMHgwRDJBMDYsIDB4MDgwMDAyLAotCTB4MDAwMDhELCAweDAwMzg3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLAotCTB4MDAxMjdELCAweDAxODA0MiwgMHgxMDAwMEEsIDB4MDAzOTA0LAotCTB4MEREMTg2LCAweDAwMDgwRCwgMHg3RkZGQjUsIDB4MDBCOTg0LAotCTB4MERBMTg2LCAweDAwMDAyNSwgMHgwRTdBMDYsIDB4MDAwMDJELAotCTB4MDAwMDE1LCAweDAwMDgyRCwgMHgwMkM3OEQsIDB4MDAwODIwLAotCTB4MEVDMjA2LCAweDAwMDAwRCwgMHg3RjgwMzUsIDB4MDBCOTg0LAotCTB4MEU3MTg2LCAweDQwMDAyNSwgMHgwMDAwOEQsIDB4MTEwOTQ0LAotCTB4MDAwMDA3LCAweDAwMDE4RCwgMHgxMDk1MDQsIDB4MDAwMDA3LAotCTB4MDA5MTY0LCAweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MTAwMTAyLCAweDI4MDAwMiwgMHgwMkM2OEQsIDB4MDAwODIwLAotCTB4MEVDMjA2LCAweDAwMDE4RCwgMHgwMDA0MkQsIDB4MDAwMDhELAotCTB4MTA5NTA0LCAweDAwMDAwNywgMHgwMDAyMEQsIDB4MTA5MTg0LAotCTB4MDAwMDA3LCAweDAyQzcwRCwgMHgwMDA4MjAsIDB4MDAwMDhELAotCTB4MDAzOEZELCAweDAxODA0MCwgMHgwMDNCRkQsIDB4MDAxMDIwLAotCTB4MDNBODYwLCAweDAwMDgxNSwgMHgzMTMxODQsIDB4MjEyMTg0LAotCTB4MDAwMDA3LCAweDAzQjA2MCwgMHgwM0EwNjAsIDB4MDE4MDQwLAotCTB4MDAyMkZELCAweDAwMDA5NSwgMHgwMTA5MjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMTI2NCwgMHgxMDAxMDIsIDB4MDAwODIwLAotCTB4MDM5MDYwLCAweDAxODA0MCwgMHgwMDE5MjQsIDB4MDBGQjhELAotCTB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLAotCTB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMTE3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwQTI0LCAweDI4MDUwMiwgMHgyODBDMDIsIDB4MDk4MDBELAotCTB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjAwMDA3LAotCTB4MDAyMkZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwMDk1LAotCTB4MjgwREM0LCAweDAxMTkyNCwgMHgwMDE5N0QsIDB4MDE4MDQyLAotCTB4MDAxMUZELCAweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAwMEI1LAotCTB4MTEzMTQ0LCAweDBBOEQwNCwgMHgwMDAwMDcsIDB4MDgwQTQ0LAotCTB4MTI5NTA0LCAweDAwMDAwNywgMHgwMDIzRkQsIDB4MDAxMDIwLAotCTB4MDM4MDQwLCAweDEwMTI0NCwgMHgwMDAwMDcsIDB4MDAwODIwLAotCTB4MDM5MDYwLCAweDAxODA0MCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxMEZBODYsIDB4MDAwMDA3LAotCTB4MDAzQkZELCAweDAwMDEwMCwgMHgwMDBBMTAsIDB4MEI4MDdBLAotCTB4MTM4MDRBLCAweDA5MDk4NCwgMHgwMDAwMDcsIDB4MDAwMDk1LAotCTB4MDEzRDA0LCAweDExODA4NiwgMHgxMDAwMEEsIDB4MTAwMDAyLAotCTB4MDkwOTg0LCAweDAwMDAwNywgMHgwMzgwNDIsIDB4MTE4MDRBLAotCTB4MDkwRDA0LCAweDAwMDAwNywgMHgxMDAwMEEsIDB4MDkwRDg0LAotCTB4MDAwMDA3LCAweDAwMjU3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLAotCTB4MDAwMTBELCAweDAwMDgxMCwgMHgyODE0M0EsIDB4MDAxMjdELAotCTB4MDE4MDQyLCAweDIwMDAwQSwgMHgwMDE5N0QsIDB4MDE4MDQyLAotCTB4MDAxMTdELCAweDMxODA0QSwgMHgxMDAwMEEsIDB4MDAzMTI0LAotCTB4MDEyODBELCAweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLAotCTB4MDM4MDQyLCAweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLAotCTB4MzAwMTAyLCAweDAwMzEyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MDAxMjI0LCAweDI4MDUwMiwgMHgwMDFBNEMsIDB4MTMwMTg2LAotCTB4NzAwMDAyLCAweDAwMDAyRCwgMHgwMzAwMDAsIDB4MDAzODdELAotCTB4MDE4MDQyLCAweDEwMDAwQSwgMHgxMzJBMDYsIDB4MDAyMTI0LAotCTB4MDAwMEFELCAweDEwMDAwMiwgMHgwMDAxMEQsIDB4MDAwOTI0LAotCTB4MDA2QjI0LCAweDAxMzY4RCwgMHgwMDM5N0QsIDB4MDAwODIwLAotCTB4MDU4MDQwLCAweDAzODA0MiwgMHgwOTg0NEEsIDB4MDAwNjA2LAotCTB4MDgwNDBBLCAweDAwMzI2NCwgMHgwMDAwOEQsIDB4MDAwQTI0LAotCTB4MDAxMDIwLCAweDAwMjI3RCwgMHgwMTgwNDAsIDB4MDEzQzBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyOUQyMDYsIDB4MDAwMDA3LAotCTB4MDAyODIwLCAweDAwMjA3RCwgMHgwMTgwNDAsIDB4MDAxMTdELAotCTB4MDM4MDQyLCAweDEzODA0QSwgMHgzMzgwMEEsIDB4MDAzODdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTYzQTg2LAotCTB4MDAwMDA3LCAweDAwMDA4RCwgMHgwMzA5NjQsIDB4MDE0NzhELAotCTB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLAotCTB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsIDB4MzgwMTAyLAotCTB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDEyMjQsIDB4MDAwMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTRBMjg2LAotCTB4MDAwMDA3LCAweDI4MDUwMiwgMHgwMDFBNEMsIDB4MTYzOTg2LAotCTB4MDAwMDA3LCAweDAzMjE2NCwgMHgwMDYzMkMsIDB4MDAzREZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDAwOTUsIDB4MDkwOTA0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMDFBNEMsIDB4MTU2MTg2LAotCTB4MDE4MDQwLCAweDAzMDAwMCwgMHgxNTdBMDYsIDB4MDAyMTI0LAotCTB4MDAwMTBELCAweDAwMDkyNCwgMHgwMDZCMjQsIDB4MDE1QjhELAotCTB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLAotCTB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsIDB4MDAzQTY0LAotCTB4MDAwMDk1LCAweDAwMTIyNCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNURBODYsIDB4MDAwMDA3LAotCTB4MDE2MjhELCAweDAwMDgxMCwgMHgwODA0M0EsIDB4MjlEMjA2LAotCTB4MDAwMDA3LCAweDE0RDIwNiwgMHgwMDAwMDcsIDB4MDA3MDIwLAotCTB4MDgwMTBBLCAweDEwMDEyQSwgMHgwMDIwRkQsIDB4MDM4ODYwLAotCTB4MDM5MDYwLCAweDAxODA0MCwgMHgwMDIyN0QsIDB4MDE4MDQyLAotCTB4MDAzREZELCAweDA4MDAwQSwgMHgzMTg0NEEsIDB4MDAwOTA0LAotCTB4MTZEODg2LCAweDE4MDA4QiwgMHgwMDAwOEQsIDB4MTg5OTA0LAotCTB4MDAzMTJDLCAweDE3QUEwNiwgMHgwMDAwMDcsIDB4MDAzMjRDLAotCTB4MTczMzg2LCAweDAwMDAwNywgMHgwMDE5MDQsIDB4MTczMDg2LAotCTB4MDAwMDA3LCAweDAwMDA5NSwgMHgxOTkxNDQsIDB4MDAyMjJDLAotCTB4MDAzMTI0LCAweDAwNjM2QywgMHgwMDBFM0QsIDB4MDAxMzc1LAotCTB4MDAwQkZELCAweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLAotCTB4MDM4QUVDLCAweDAzOTNFQywgMHgwMDIyNEMsIDB4MTdBOTg2LAotCTB4MDAwMDA3LCAweDAwMDA4RCwgMHgxODk5MDQsIDB4MDAyMjZDLAotCTB4MDAzMjJDLCAweDMwMDUwQSwgMHgzMDFEQUIsIDB4MDAyMDgzLAotCTB4MDAxOEZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDE4OTI0LAotCTB4MzAwNTAyLCAweDAwMTA4MywgMHgwMDE4NzUsIDB4MDEwMDQyLAotCTB4MTAwMDBBLCAweDAwMDA4RCwgMHgwMTA5MjQsIDB4MDAxMzc1LAotCTB4MzMwNTQyLCAweDMzMENDQiwgMHgzMzJDQ0IsIDB4MzMzNENCLAotCTB4MzMzQ0NCLCAweDMzNDRDQiwgMHgzMzRDQ0IsIDB4MzM1NENCLAotCTB4MzA1QzhCLCAweDAwNjA4MywgMHgwMDAyRjUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxODdBODYsIDB4MDAwMDA3LAotCTB4MDAxRTJELCAweDAwMDVGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDI4OTI0LCAweDI4MDUwMiwgMHgwMDA2MEQsIDB4MDAwODEwLAotCTB4MjgwQzNBLCAweDAwMDA4RCwgMHgwMDA4MTAsIDB4MjgxNDNBLAotCTB4MEE4MDhELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MjIwMDA3LCAweDAwMTI3NSwgMHgwMzAwNDIsIDB4MjEwMDRBLAotCTB4MDAwMDhELCAweDFBMDk0NCwgMHgwMDAwMDcsIDB4MDE5ODBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyQjIyMDYsIDB4MDAwMDA3LAotCTB4MDAwMUY1LCAweDAzMDA0MiwgMHgwRDAwNEEsIDB4MTAwMDBBLAotCTB4MDg5MTQ0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDEwMDQwLAotCTB4MDAyNUY1LCAweDBBMzE0NCwgMHgwMDAwMDcsIDB4MDAwODIwLAotCTB4MDMyODYwLCAweDAzMDA0MCwgMHgwMDIxN0QsIDB4MDM4MDQyLAotCTB4MEI4MDRBLCAweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLAotCTB4MDMwMDQwLCAweDAwMDA4RCwgMHgwMDAxMjQsIDB4MDAwMTJDLAotCTB4MDAwRTY0LCAweDAwMUE2NCwgMHgwMDYzNkMsIDB4MDgwMTBBLAotCTB4MTAwMTJBLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLAotCTB4MDAyMEZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAyMjdELAotCTB4MDE4MDQyLCAweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLAotCTB4MDMwMDQwLCAweDAwMTk3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAyMkZELCAweDAzODA0MiwgMHgxMDAwMEEsIDB4MDAwODIwLAotCTB4MDMxMDYwLCAweDAzMDA0MCwgMHgwOTBEMDQsIDB4MDAwMDA3LAotCTB4MDAwODIwLCAweDAzMDA0MCwgMHgwMzgwNDIsIDB4MEI4MDRBLAotCTB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLAotCTB4MDM4MDQyLCAweDEzODA0QSwgMHgxOTgwNEEsIDB4MTEwRDA0LAotCTB4MTk4RDA0LCAweDAwMDAwNywgMHgwODAwMEEsIDB4MDAxMDIwLAotCTB4MDMxODYwLCAweDAzMDg2MCwgMHgwMzAwNDAsIDB4MDAwMDhELAotCTB4MEIwOTQ0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDEwMDQwLAotCTB4MDAwNUY1LCAweDAzMDA0MiwgMHgwODAwMEEsIDB4MDAwODIwLAotCTB4MDEwMDQwLCAweDAwMDBGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDFDNjA4NiwgMHgwMDFFNzUsIDB4MDMwMDQyLAotCTB4MDEwNDRBLCAweDAwMEMwQSwgMHgxQzcyMDYsIDB4MDAwMDA3LAotCTB4MDAwNDAyLCAweDAwMEMwMiwgMHgwMDE3N0QsIDB4MDAxQUY1LAotCTB4MDE4MDQyLCAweDAzMTQ0QSwgMHgwMzFDNEEsIDB4MDMyNDRBLAotCTB4MDMyQzRBLCAweDAzMzQ0QSwgMHgwMzNDNEEsIDB4MDM0NDRBLAotCTB4MDA0QzBBLCAweDAwMDQzRCwgMHgwMDEzRjUsIDB4MDAxQUZELAotCTB4MDMwMDQyLCAweDBCMDA0QSwgMHgxQjgwNEEsIDB4MTM4MDRBLAotCTB4MjAwMDBBLCAweDA4OTE0NCwgMHgxOUExNDQsIDB4MDM4OUU0LAotCTB4MDM5OUVDLCAweDAwNTUwMiwgMHgwMDVEMEEsIDB4MDMwMDQyLAotCTB4MEIwMDRBLCAweDFCODA0QSwgMHgxMzgwNEEsIDB4MjAwMDBBLAotCTB4MDg5MTQ0LCAweDE5QTE0NCwgMHgwMzg5RTQsIDB4MDM5OUVDLAotCTB4MDA2NTAyLCAweDAwNkQwQSwgMHgwMzAwNDIsIDB4MEIwMDRBLAotCTB4MTkwMDRBLCAweDJCODA0QSwgMHgxMzgwNEEsIDB4MjE4MDRBLAotCTB4MzAwMDBBLCAweDA4OTE0NCwgMHgxOUExNDQsIDB4MkFCMTQ0LAotCTB4MDM4OUU0LCAweDAzOTlFQywgMHgwMDc1MDIsIDB4MDA3RDBBLAotCTB4MDNBOUU0LCAweDAwMDcwMiwgMHgwMDEwN0QsIDB4MDAwNDE1LAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMTA5RTQsIDB4MDAwRjAyLAotCTB4MDAyQUY1LCAweDAwMTlGRCwgMHgwMTAwNDIsIDB4MDk4MDRBLAotCTB4MTAwMDBBLCAweDAwMDkzNCwgMHgwMDE2NzQsIDB4MDAyOUY1LAotCTB4MDEwMDQyLCAweDEwMDAwQSwgMHgwMDkxN0MsIDB4MDAyMDc1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MUVEMjg2LAotCTB4MDAyNkY1LCAweDAwMjdGNSwgMHgwMzAwNDIsIDB4MDkwMDRBLAotCTB4MTAwMDBBLCAweDAwMEEzQywgMHgwMDE2N0MsIDB4MDAxQTc1LAotCTB4MDAwQkZELCAweDAxMDA0MiwgMHg1MTgwNEEsIDB4NDgwMDBBLAotCTB4MTYwMDA3LCAweDAwMTA3NSwgMHgwMTAwNDIsIDB4MjgyQzBBLAotCTB4MjgxRDEyLCAweDI4MjUxMiwgMHgwMDFGMzIsIDB4MUUwMDA3LAotCTB4MEUwMDA3LCAweDAwMTk3NSwgMHgwMTAwNDIsIDB4MDAyREY1LAotCTB4MEQwMDRBLCAweDEwMDAwQSwgMHgwMDkxNDQsIDB4MUZCMjg2LAotCTB4MDEwMDQyLCAweDI4MzQwQSwgMHgwMDBFNUQsIDB4MDAwMDhELAotCTB4MDAwMzc1LCAweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDVEMkY0LAotCTB4NTREMTA0LCAweDAwNzM1QywgMHgyMDUzODYsIDB4MDAwMDA3LAotCTB4MEMwMDA3LCAweDA4MDAwNywgMHgwQTAwMDcsIDB4MDIwNDBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgzMzIyMDYsIDB4MDAwMDA3LAotCTB4MjA1QTA2LCAweDAwMDAwNywgMHgwODAwMDcsIDB4MDAyMjc1LAotCTB4MDEwMDQyLCAweDIwMDAwQSwgMHgwMDIxMDQsIDB4MjEyMDg2LAotCTB4MDAxRTJELCAweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDIwOTI4NiwgMHgwMDAwMDcsIDB4MDAyMDEwLAotCTB4MzAwNDNBLCAweDAwMDU3RCwgMHgwMTgwQzMsIDB4MDgwMDBBLAotCTB4MDI4OTI0LCAweDI4MDUwMiwgMHgyODBDMDIsIDB4MEE4MTBELAotCTB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsIDB4MjIwMDA3LAotCTB4MDAwNEZELCAweDAxODA0MiwgMHg3MDAwMEEsIDB4MDMwMDAwLAotCTB4MDA3MDIwLCAweDA2RkEwNiwgMHgwMTgwNDAsIDB4MDIxODBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyQjIyMDYsIDB4MDAwMDA3LAotCTB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjE4QTg2LCAweDAwMDAwNywgMHgwMUYyMDYsIDB4MDAwMDA3LAotCTB4MDAwODc1LCAweDAwMDlGRCwgMHgwMDAxMEQsIDB4MjIwQTA2LAotCTB4MDAwMjk1LCAweDAwMEI3NSwgMHgwMDA5N0QsIDB4MDAwMDBELAotCTB4MDAwNTE1LCAweDAxMDA0MiwgMHgxODAwMEEsIDB4MDAxOTA0LAotCTB4Mjg3ODg2LCAweDAwMDZGNSwgMHgwMDEwMjAsIDB4MDEwMDQwLAotCTB4MDAwNEY1LCAweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDAwNzc1LAotCTB4MDEwMDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAxMTI0LAotCTB4MDAwOTA0LCAweDIyQkE4NiwgMHgwMDA4MTUsIDB4MDgwMTAyLAotCTB4MTAxMjA0LCAweDIyREEwNiwgMHgwMDA1NzUsIDB4MDgxMjA0LAotCTB4MDAwMDA3LCAweDEwMDEwMiwgMHgwMDA1NzUsIDB4MDAwNDI1LAotCTB4MDIxMTI0LCAweDEwMDEwMiwgMHgwMDA4MjAsIDB4MDMxMDYwLAotCTB4MDEwMDQwLCAweDAwMTkyNCwgMHgyODc4ODYsIDB4MDAwMDhELAotCTB4MDAwNDY0LCAweDAwOUQwNCwgMHgyNzg4ODYsIDB4MTgwMTAyLAotCTB4MDAwNTc1LCAweDAxMDA0MiwgMHgyODA0MEEsIDB4MDAwMThELAotCTB4MDAwOTI0LCAweDI4MEQwMiwgMHgwMDAwMEQsIDB4MDAwOTI0LAotCTB4MjgxNTAyLCAweDEwMDAwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIwMDAwNywgMHgwMDExNzUsIDB4MDAwMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjNDMjg2LAotCTB4MDAwMDA3LCAweDAwMDEwMCwgMHgwODBCMjAsIDB4MTMwQjYwLAotCTB4MUIwQjYwLCAweDAzMEE2MCwgMHgwMTAwNDAsIDB4MDUwMDQyLAotCTB4M0QwMDRBLCAweDM1MDA0QSwgMHgyRDAwNEEsIDB4MjAwMDBBLAotCTB4MDAwNkY1LCAweDAxMDA0MiwgMHgyODE0MEEsIDB4MDAwNEY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDAzMTUsIDB4MDEwRDA0LAotCTB4MjRDQTg2LCAweDAwNDAxNSwgMHgwMDAwOTUsIDB4MDEwRDA0LAotCTB4MjRCODg2LCAweDEwMDAyMiwgMHgxMDAwMkEsIDB4MjRFMjA2LAotCTB4MDAwMDA3LCAweDMzMzEwNCwgMHgyQUE5MDQsIDB4MDAwMDA3LAotCTB4MDMyMTI0LCAweDI4MDUwMiwgMHgwMDExMjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMzIyNCwgMHgwMDI5MkMsIDB4MDA2MzZDLAotCTB4MjVGMzg2LCAweDAwMDAwNywgMHgwMkIxNjQsIDB4MDAwNDY0LAotCTB4MDAwNDY0LCAweDAwMDA4RCwgMHgwMDBBNjQsIDB4MjgwRDAyLAotCTB4MTAwMDhELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MjIwMDA3LCAweDAwMDA4RCwgMHgzOEI5MDQsIDB4MDAwMDA3LAotCTB4MDMyOTZDLCAweDMwMDEwQSwgMHgwMDAyRjUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyNUJBODYsIDB4MDAwMDA3LAotCTB4MDIzMTJDLCAweDI4MDUwQSwgMHgwMDAwOEQsIDB4MDEwOTZDLAotCTB4MjgwRDBBLCAweDEwMDEwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDExMjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMzIyNCwgMHgzMDAxMDIsIDB4MDMyOTQ0LAotCTB4MjY3QTg2LCAweDAwMDAwNywgMHgzMDAwMDIsIDB4MDAwNEY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDAzMTUsIDB4MDEwRDA0LAotCTB4MjZDMDg2LCAweDAwMzEyNCwgMHgwMDA0NjQsIDB4MzAwMTAyLAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjZDQTg2LCAweDAwMDAwNywgMHgwMDMxMjQsIDB4MzAwNTAyLAotCTB4MDAzOTI0LCAweDMwMDU4MywgMHgwMDA4ODMsIDB4MDAwNUY1LAotCTB4MDEwMDQyLCAweDI4MDQwQSwgMHgwMDAwOEQsIDB4MDA4MTI0LAotCTB4MjgwRDAyLCAweDAwMDA4RCwgMHgwMDgxMjQsIDB4MjgxNTAyLAotCTB4MTAwMThELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MjIwMDA3LCAweDAwMTAyNSwgMHgwMDA1NzUsIDB4MDMwMDQyLAotCTB4MDkwMDRBLCAweDEwMDAwQSwgMHgwQTA5MDQsIDB4MTIxMTA0LAotCTB4MDAwMDA3LCAweDAwMTAyMCwgMHgwNTA4NjAsIDB4MDUwMDQwLAotCTB4MDAwNkZELCAweDAxODA0MiwgMHgwOTAwNEEsIDB4MTAwMDBBLAotCTB4MDAwMEE1LCAweDBBMDkwNCwgMHgxMjExMDQsIDB4MDAwMDA3LAotCTB4MDAwODIwLCAweDAxOTA2MCwgMHgwMTAwNDAsIDB4MDAwMkY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4Mjg0Mjg2LAotCTB4MDAwMDA3LCAweDIzMEEwNiwgMHgwMDAwMDcsIDB4MDAwNjA2LAotCTB4MDAwMDA3LCAweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDI4OTI4NiwgMHgwMDAwMDcsIDB4MDAwMTAwLAotCTB4MDgwQjIwLCAweDEzOEI2MCwgMHgxQjhCNjAsIDB4MjM4QjYwLAotCTB4MkI4QjYwLCAweDMzOEI2MCwgMHgzQjhCNjAsIDB4NDM4QjYwLAotCTB4NEI4QjYwLCAweDUzOEI2MCwgMHg1QjhCNjAsIDB4NjM4QjYwLAotCTB4NkI4QjYwLCAweDczOEI2MCwgMHg3QjhCNjAsIDB4MDM4RjYwLAotCTB4MEI4RjYwLCAweDEzOEY2MCwgMHgxQjhGNjAsIDB4MjM4RjYwLAotCTB4MkI4RjYwLCAweDMzOEY2MCwgMHgzQjhGNjAsIDB4NDM4RjYwLAotCTB4NEI4RjYwLCAweDUzOEY2MCwgMHg1QjhGNjAsIDB4NjM4RjYwLAotCTB4NkI4RjYwLCAweDczOEY2MCwgMHg3QjhGNjAsIDB4MDM4QTYwLAotCTB4MDAwNjA2LCAweDAxODA0MCwgMHgwMDAwOEQsIDB4MDAwQTY0LAotCTB4MjgwRDAyLCAweDAwMEEyNCwgMHgwMDAyN0QsIDB4MDE4MDQyLAotCTB4MTAwMDBBLCAweDAwMTIyNCwgMHgwMDAzRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyQTgyODYsIDB4MDAwMDA3LAotCTB4MDAwMThELCAweDAwMEEyNCwgMHgwMDA0NjQsIDB4MDAwNDY0LAotCTB4MDgwMTAyLCAweDAwMDkyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MTAwMTAyLCAweDAyMDAwRCwgMHgwMDkxNDQsIDB4MkFEOTg2LAotCTB4MDAwMDA3LCAweDAwMDFGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwQTQ0LCAweDJBQkI4NiwgMHgwMTgwNDIsIDB4MEEwMDBELAotCTB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjAwMDA3LAotCTB4MDAwMjdELCAweDAwMTAyMCwgMHgwMDA2MDYsIDB4MDE4MDQwLAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MkIyQTg2LCAweDAwMDAwNywgMHgwMDAzN0QsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyQjVBODYsIDB4MDAwMDA3LAotCTB4MDAwMDc1LCAweDAwMkU3RCwgMHgwMTAwNDIsIDB4MEI4MDRBLAotCTB4MDAwMDIwLCAweDAwMDkwNCwgMHgwMDA2ODYsIDB4MDEwMDQwLAotCTB4MzE4NDRBLCAweDMwMDQ4QiwgMHgwMDA4ODMsIDB4MDAwMDhELAotCTB4MDAwODEwLCAweDI4MTQzQSwgMHgwMDAwOEQsIDB4MDAwODEwLAotCTB4MjgwQzNBLCAweDAwMDY3NSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAzODE1LCAweDAxMDkyNCwgMHgyODA1MDIsIDB4MEIwMDBELAotCTB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsIDB4MDAwNjA2LAotCTB4MjIwMDA3LCAweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwNjA2LAotCTB4MDAwMDA3LCAweDAwMDEzNCwgMHgwMDdGOEQsIDB4MDAwOTNDLAotCTB4MjgxRDEyLCAweDI4MjUxMiwgMHgwMDFGMzIsIDB4MEUwMDA3LAotCTB4MDAwMTBELCAweDAwMDM3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLAotCTB4MDVEMkY0LCAweDAwMDAwNywgMHgwODAwMDcsIDB4MDAwMzdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkQwMjg2LAotCTB4MDAwMDA3LCAweDAwMDYwNiwgMHgwMDAwMDcsIDB4MDAwMDA3LAotCTB4MDAwMDEyLCAweDEwMDAwNywgMHgzMjAwMDcsIDB4NjAwMDA3LAotCTB4MTAwMDgwLCAweDQ4MDAxQSwgMHgwMDQ5MDQsIDB4MkQ2MTg2LAotCTB4MDAwMDA3LCAweDAwMTIxMCwgMHg1ODAwM0EsIDB4MDAwMTQ1LAotCTB4NUM1RDA0LCAweDAwMDAwNywgMHgwMDAwODAsIDB4NDgwMDFBLAotCTB4MDA0OTA0LCAweDJEQjE4NiwgMHgwMDAwMDcsIDB4MDAxMjEwLAotCTB4NTAwMDNBLCAweDAwNTkwNCwgMHgyRTA4ODYsIDB4MDAwMDQ1LAotCTB4MDAwMEM1LCAweDdGRkZGNSwgMHg3RkZGN0QsIDB4MDdENTI0LAotCTB4MDA0MjI0LCAweDUwMDEwMiwgMHgyMDA1MDIsIDB4MDAwMDgyLAotCTB4NDAwMDFBLCAweDAwNDEwNCwgMHgyRTM5ODYsIDB4MDAwMDA3LAotCTB4MDAzODY1LCAweDQwMDAxQSwgMHgwMDQwMjAsIDB4MDAxMDRELAotCTB4MDRDMTg0LCAweDMwMUI4NiwgMHgwMDAwNDAsIDB4MDQwMDA3LAotCTB4MDAwMTY1LCAweDAwMDE0NSwgMHgwMDQwMjAsIDB4MDAwMDQwLAotCTB4MDAwNzY1LCAweDA4MDA4MCwgMHg0MDAwMUEsIDB4MDA0MTA0LAotCTB4MkVDOTg2LCAweDAwMDAwNywgMHgwMDEyMTAsIDB4NDAwMDNBLAotCTB4MDA0MTA0LCAweDJGMjI4NiwgMHgwMDAwNEQsIDB4MDAwMENELAotCTB4MDA0ODEwLCAweDIwMDQzQSwgMHgwMDA4ODIsIDB4NDAwMDFBLAotCTB4MDA0MTA0LCAweDJGMzE4NiwgMHgwMDAwMDcsIDB4MDA0ODIwLAotCTB4MDA1OTA0LCAweDMwMDg4NiwgMHgwMDAwNDAsIDB4MDAwN0U1LAotCTB4MjAwNDgwLCAweDI4MTZBMCwgMHgzMjE2RTAsIDB4M0ExNkUwLAotCTB4NDIxNkUwLCAweDAyMTI2MCwgMHgwMDAwNDAsIDB4MDAwMDMyLAotCTB4NDAwMDc1LCAweDAwMDA3RCwgMHgwN0Q1NzQsIDB4MjAwNTEyLAotCTB4MDAwMDgyLCAweDQwMDAxQSwgMHgwMDQxMDQsIDB4MkZFMTg2LAotCTB4MDAwMDA3LCAweDAzNzIwNiwgMHg2NDAwMDcsIDB4MDYwMDA3LAotCTB4MDAwMEU1LCAweDAwMDAyMCwgMHgwMDAwNDAsIDB4MDAwQTY1LAotCTB4MDAwMDIwLCAweDAyMDA0MCwgMHgwMjAwNDAsIDB4MDAwMDQwLAotCTB4MDAwMTY1LCAweDAwMDA0MiwgMHg3MDAwMEEsIDB4MDA3MTA0LAotCTB4MzBBMjg2LCAweDAwMDAwNywgMHgwMTgyMDYsIDB4NjQwMDA3LAotCTB4MDUwMDAwLCAweDAwNzAyMCwgMHgwMDAwNDAsIDB4MDM3MjA2LAotCTB4NjQwMDA3LCAweDAwMDAwNywgMHgwMDMwNkQsIDB4MDI4ODYwLAotCTB4MDI5MDYwLCAweDA4MDAwQSwgMHgwMjg4NjAsIDB4MDA4MDQwLAotCTB4MTAwMDEyLCAweDAwMTAwRCwgMHgwMDkxODQsIDB4MzE0MTg2LAotCTB4MDAwRTBELCAweDAwOTE4NCwgMHgzMjUxODYsIDB4MDAwMDA3LAotCTB4MzAwMDA3LCAweDAwMTAyMCwgMHgwMDNCNkQsIDB4MDA4MDQwLAotCTB4MDAwMDgwLCAweDA4MDAxQSwgMHgwMDA5MDQsIDB4MzE2MTg2LAotCTB4MDAwMDA3LCAweDAwMTIyMCwgMHgwMDBERUQsIDB4MDA4MDQwLAotCTB4MDA4MDQyLCAweDEwMDAwQSwgMHg0MDAwMEQsIDB4MTA5NTQ0LAotCTB4MDAwMDA3LCAweDAwMTAyMCwgMHgwMDBERUQsIDB4MDA4MDQwLAotCTB4MDA4MDQyLCAweDIwMDQwQSwgMHgwMDAwODIsIDB4MDgwMDFBLAotCTB4MDAwOTA0LCAweDMxRjE4NiwgMHgwMDAwMDcsIDB4MDAzQjZELAotCTB4MDA4MDQyLCAweDA4MDAwQSwgMHgwMDBFMTUsIDB4MDEwOTg0LAotCTB4MzI5Qjg2LCAweDYwMDAwNywgMHgwODAwMUEsIDB4MDAwQzE1LAotCTB4MDEwOTg0LCAweDMyODM4NiwgMHgwMDAwMjAsIDB4MUEwMDA3LAotCTB4MDAwMkVELCAweDAwODA0MCwgMHg2MjAwMDcsIDB4MDAzMDZELAotCTB4MDI4MDQyLCAweDBBODA0QSwgMHgwMDA4MjAsIDB4MEE4MDRBLAotCTB4MDAwNjA2LCAweDEwODA0QSwgMHgwMDAwMDcsIDB4MjgyNTEyLAotCTB4MDAxRjMyLCAweDA1RDJGNCwgMHg1NEQxMDQsIDB4MDA3MzVDLAotCTB4MDAwNzg2LCAweDAwMDAwNywgMHgwQzAwMDcsIDB4MEEwMDA3LAotCTB4MUMwMDA3LCAweDAwMzQ2NSwgMHgwMjAwNDAsIDB4MDA0ODIwLAotCTB4MDI1MDYwLCAweDQwMDAwQSwgMHgwMjQwNjAsIDB4MDAwMDQwLAotCTB4NDU0OTQ0LCAweDAwMDAwNywgMHgwMDQwMjAsIDB4MDAzQUU1LAotCTB4MDAwMDQwLCAweDAwMjhFNSwgMHgwMDAwNDIsIDB4NDgwMDBBLAotCTB4MDA0OTA0LCAweDM4Njg4NiwgMHgwMDJDNjUsIDB4MDAwMDQyLAotCTB4NDAwMDBBLCAweDAwMDBENSwgMHg0NTQxMDQsIDB4MDAwMDA3LAotCTB4MDAwNjU1LCAweDA1NDUwNCwgMHgzNEYyODYsIDB4MDAwMUQ1LAotCTB4MDU0NTA0LCAweDM0RjA4NiwgMHgwMDJCNjUsIDB4MDAwMDQyLAotCTB4MDAzQUU1LCAweDUwMDA0QSwgMHg0MDAwMEEsIDB4NDVDM0Q0LAotCTB4MDAwMDA3LCAweDQ1NDUwNCwgMHgwMDAwMDcsIDB4MDAwMENELAotCTB4NDQ0OTQ0LCAweDAwMDAwNywgMHg0NTQ1MDQsIDB4MDAwMDA3LAotCTB4MDAwMTRELCAweDU1NDk0NCwgMHgwMDAwMDcsIDB4MDQ1MTQ0LAotCTB4MzRFOTg2LCAweDAwMkM2NSwgMHgwMDAwNDIsIDB4NDgwMDBBLAotCTB4NENEMTA0LCAweDAwMDAwNywgMHgwNEMxNDQsIDB4MzRGMzg2LAotCTB4MDAwMDA3LCAweDE2MDAwNywgMHgwMDJDRTUsIDB4MDQwMDQyLAotCTB4NDAwMDBBLCAweDAwNDAyMCwgMHgwMDAwNDAsIDB4MDAyOTY1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQxMDQsIDB4MzU2MDg2LAotCTB4MDAwMDA3LCAweDAwMjQwMiwgMHgzNkEyMDYsIDB4MDA1QzAyLAotCTB4MDAyNUU1LCAweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0Mjc0LAotCTB4MDAyQUU1LCAweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0Mjc0LAotCTB4NTAwMTEyLCAweDAwMjlFNSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4MDA0MjM0LCAweDQ1NDEwNCwgMHgwMDAwMDcsIDB4MDA0MDIwLAotCTB4MDAwMDQwLCAweDAwM0VFNSwgMHgwMDAwMjAsIDB4MDAwMDQwLAotCTB4MDAyREU1LCAweDQwMDE1MiwgMHg1MDAwMEEsIDB4MDQ1MTQ0LAotCTB4MzY0QTg2LCAweDAwMDBDNSwgMHgwMDNFRTUsIDB4MDA0MDIwLAotCTB4MDAwMDQwLCAweDAwMkJFNSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4NDA0MjU0LCAweDAwMDAwNywgMHgwMDJBRTUsIDB4MDA0MDIwLAotCTB4MDAwMDQwLCAweDUwMDEzMiwgMHgwNDAxMzQsIDB4MDA1Njc0LAotCTB4MDAyOUU1LCAweDAyMDA0MiwgMHg0MjAwMEEsIDB4MDAwMDQyLAotCTB4NTAwMDBBLCAweDA1NDE3QywgMHgwMDI4RTUsIDB4MDAwMDQyLAotCTB4NDgwMDBBLCAweDAwMDBDNSwgMHg0Q0MxNDQsIDB4MzcxMDg2LAotCTB4MDAyNkU1LCAweDAwMjdFNSwgMHgwMjAwNDIsIDB4NDAwMDRBLAotCTB4NTAwMDBBLCAweDAwNDIzQywgMHgwMDU2N0MsIDB4MDAyOEU1LAotCTB4MDA0ODIwLCAweDAwMDA0MCwgMHgyODFEMTIsIDB4MjgyNTEyLAotCTB4MDAxRjcyLCAweDAwMjk2NSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4MDA0MTA0LCAweDM3QUE4NiwgMHgwRTAwMDcsIDB4MTYwMDA3LAotCTB4MUUwMDA3LCAweDAwM0VFNSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4MDA0MTA0LCAweDM3RTg4NiwgMHgwMDJENjUsIDB4MDAwMDQyLAotCTB4MjgzNDBBLCAweDAwMzQ2NSwgMHgwMjAwNDIsIDB4NDIwMDRBLAotCTB4MDA0MDIwLCAweDRBMDA0QSwgMHg1MDAwNEEsIDB4MDVEMkY0LAotCTB4NTREMTA0LCAweDAwNzM1QywgMHgzODUxODYsIDB4MDAwMDA3LAotCTB4MDAwNjA2LCAweDA4MDAwNywgMHgwQzAwMDcsIDB4MDgwMDA3LAotCTB4MEEwMDA3LCAweDAwMDFFNSwgMHgwMjAwNDUsIDB4MDA0MDIwLAotCTB4MDAwMDYwLCAweDAwMDM2NSwgMHgwMDAwNDAsIDB4MDAyRTY1LAotCTB4MDAxQTIwLCAweDBBMUE2MCwgMHgwMDAwNDAsIDB4MDAzNDY1LAotCTB4MDIwMDQyLCAweDQyMDA0QSwgMHgwMDQwMjAsIDB4NEEwMDRBLAotCTB4MDAwNjA2LCAweDUwMDA0QSwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwCi19OwotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gIERTLTFFIENvbnRyb2xsZXIgSW5zdHJ1Y3Rpb25SQU0gQ29kZQotLy8JMTk5OS8wNi8yMQotLy8JQnVmNDQxIHNsb3QgaXMgRW5hYmxlZC4KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyAwNC8wOSAgY3JlYXQKLS8vIDA0LzEyICBzdG9wIG5pc2UgZml4Ci0vLyAwNi8yMSAgV29ya2luZ09mZiB0aW1taW5nCi1zdGF0aWMgdTMyIENudHJsSW5zdDFFW1lEU1hHX0NUUkxMRU5HVEggLyA0XSA9IHsKLQkweDAwMDAwNywgMHgyNDAwMDcsIDB4MEMwMDA3LCAweDFDMDAwNywKLQkweDA2MDAwNywgMHg3MDAwMDIsIDB4MDAwMDIwLCAweDAzMDA0MCwKLQkweDAwNzEwNCwgMHgwMDQyODYsIDB4MDMwMDQwLCAweDAwMEYwRCwKLQkweDAwMDgxMCwgMHgyMDA0M0EsIDB4MDAwMjgyLCAweDAwMDIwRCwKLQkweDAwMDgxMCwgMHgyMDA0M0EsIDB4MDAxMjgyLCAweDIwMEU4MiwKLQkweDAwODAwRCwgMHgwMDA4MTAsIDB4MjAwNDNBLCAweDAwMUE4MiwKLQkweDAzNDYwRCwgMHgwMDA4MTAsIDB4MTAwNDNBLCAweDAyRUMwRCwKLQkweDAwMDgxMCwgMHgxODA0M0EsIDB4MDAwMTBELCAweDAyMDAxNSwKLQkweDAwMDBGRCwgMHgwMDAwMjAsIDB4MDM4ODYwLCAweDAzOTA2MCwKLQkweDAzODA2MCwgMHgwMzgwNDAsIDB4MDM4MDQwLCAweDAzODA0MCwKLQkweDAxODA0MCwgMHgwMDBBN0QsIDB4MDM4MDQwLCAweDAzODA0MCwKLQkweDAxODA0MCwgMHgyMDA0MDIsIDB4MDAwODgyLCAweDA4MDAxQSwKLQkweDAwMDkwNCwgMHgwMTcxODYsIDB4MDAwMDA3LCAweDI2MDAwNywKLQkweDQwMDAwNywgMHgwMDAwMDcsIDB4MDMyNThELCAweDAwMDgxMCwKLQkweDE4MDQzQSwgMHgyNjAwMDcsIDB4Mjg0NDAyLCAweDAwMDg3RCwKLQkweDAxODA0MiwgMHgwMDE2MEEsIDB4MDVBMjA2LCAweDAwMDAwNywKLQkweDQ0MDAwNywgMHgwMDIzMEQsIDB4MDAwODEwLCAweDA4MDQzQSwKLQkweDIyRkEwNiwgMHgwMDAwMDcsIDB4MDAwN0ZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDJBQjg2LCAweDAwMDE5NSwKLQkweDA5MEQwNCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAwMDBGNSwKLQkweDAwMEI3RCwgMHgwMUYwNjAsIDB4MDAwMEZELCAweDAzM0EwNiwKLQkweDAxODA0MCwgMHgwMDBBN0QsIDB4MDM4MDQyLCAweDEzODA0QSwKLQkweDE4MDAwQSwgMHgwMDE4MjAsIDB4MDU5MDYwLCAweDA1ODg2MCwKLQkweDAxODA0MCwgMHgwMDAwRkQsIDB4MDE4MDQyLCAweDcwMDAwQSwKLQkweDAwMDExNSwgMHgwNzExNDQsIDB4MDMzQjg2LCAweDAzMDAwMCwKLQkweDAwNzAyMCwgMHgwMzYyMDYsIDB4MDE4MDQwLCAweDAwMzYwRCwKLQkweDAwMDgxMCwgMHgwODA0M0EsIDB4MjMyMjA2LCAweDAwMDAwNywKLQkweDAyRUMwRCwgMHgwMDA4MTAsIDB4MTgwNDNBLCAweDAxOUEwNiwKLQkweDAwMDAwNywgMHgyNDAwMDcsIDB4MDAwRjhELCAweDAwMDgxMCwKLQkweDAwMTYzQSwgMHgwMDI0MDIsIDB4MDA1QzAyLCAweDAwMjhGRCwKLQkweDAwMDAyMCwgMHgwMTgwNDAsIDB4MDgwMDBELCAweDAwMDgxNSwKLQkweDUxMDk4NCwgMHgwMDAwMDcsIDB4MDAwMDRELCAweDAwMEU1RCwKLQkweDAwMEUwMiwgMHgwMDQzMEQsIDB4MDAwODEwLCAweDA4MDQzQSwKLQkweDJFMTIwNiwgMHgwMDAwMDcsIDB4MDAwMDhELCAweDAwMDkyNCwKLQkweDAwMEYwMiwgMHgwMDQ3MEQsIDB4MDAwODEwLCAweDA4MDQzQSwKLQkweDJFMTIwNiwgMHgwMDAwMDcsIDB4NDgwNDgwLCAweDAwMTIxMCwKLQkweDI4MDQzQSwgMHgwMDc3OEQsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDAwMDY4RCwgMHgwMDA4MTAsIDB4MjgxNDNBLCAweDI4NDQwMiwKLQkweDAzMjU4RCwgMHgwMDA4MTAsIDB4MTgwNDNBLCAweDA3RkY4RCwKLQkweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLCAweDI2MDAwNywKLQkweDIwMDAwNywgMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgwNTEyODYsIDB4MDAwMDA3LCAweDI0MDAwNywKLQkweDAyRUMwRCwgMHgwMDA4MTAsIDB4MTgwNDNBLCAweDAwMzg3RCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAxMDE1LCAweDAxMDk4NCwKLQkweDAxOUI4NiwgMHgwMDAwMDcsIDB4MDFCMjA2LCAweDAwMDAwNywKLQkweDAwMDhGRCwgMHgwMTgwNDIsIDB4MTgwMDBBLCAweDAwMTkwNCwKLQkweDIyQjg4NiwgMHgyODAwMDcsIDB4MDAxODEwLCAweDI4MDQzQSwKLQkweDI4MEMwMiwgMHgwMDAwMEQsIDB4MDAwODEwLCAweDI4MTQzQSwKLQkweDA4ODA4RCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDAyMEQsIDB4MTg5OTA0LCAweDAwMDAwNywKLQkweDAwNDAyRCwgMHgwMDAwQkQsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDY1QTg2LCAweDAwMDAwNywKLQkweDAwMDEwMCwgMHgwMDBBMjAsIDB4MDAwNDdELCAweDAxODA0MCwKLQkweDAxODA0MiwgMHgyMDAwMEEsIDB4MDAzMDE1LCAweDAxMjE0NCwKLQkweDAzNjE4NiwgMHgwMDAwMDcsIDB4MDAyMTA0LCAweDAzNjE4NiwKLQkweDAwMDAwNywgMHgwMDBGOEQsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDAyMzk0NCwgMHgwN0M5ODYsIDB4MDAwMDA3LCAweDAwMTgxMCwKLQkweDI4MDQzQSwgMHgwODgxMEQsIDB4MDAwODIwLCAweDAwMDJGRCwKLQkweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAyODEwLCAweDc4MDAzQSwKLQkweDAwNzg4RCwgMHgwMDA4MTAsIDB4MDgwNDNBLCAweDJBMTIwNiwKLQkweDAwMDAwNywgMHgwMDQwMEQsIDB4MDAxMDE1LCAweDE4OTkwNCwKLQkweDI5MjkwNCwgMHgzOTM5MDQsIDB4MDAwMDA3LCAweDA3MDIwNiwKLQkweDAwMDAwNywgMHgwMDA0RjUsIDB4MDAwMDdELCAweDAwMDAyMCwKLQkweDAwMDA4RCwgMHgwMTA4NjAsIDB4MDE4MDQwLCAweDAwMDQ3RCwKLQkweDAzODA0MiwgMHgyMTgwNEEsIDB4MTgwMDBBLCAweDAyMTk0NCwKLQkweDIyOTA4NiwgMHgwMDAwMDcsIDB4MDA0MDc1LCAweDcxRjEwNCwKLQkweDAwMDAwNywgMHgwMTAwNDIsIDB4MjgwMDBBLCAweDAwMjkwNCwKLQkweDIyNTg4NiwgMHgwMDAwMDcsIDB4MDAzQzBELCAweDMwQTkwNCwKLQkweDAwMDAwNywgMHgwMDA3N0QsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgwOERBODYsIDB4MDAwNTdELCAweDAwMjgyMCwKLQkweDAzQjA2MCwgMHgwOEYyMDYsIDB4MDE4MDQwLCAweDAwMzAyMCwKLQkweDAzQTg2MCwgMHgwMTgwNDAsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDhGQTg2LCAweDAwMDAwNywKLQkweDAwMDU3RCwgMHgwMTgwNDIsIDB4MjgwNDBBLCAweDAwMEU4RCwKLQkweDAwMDgxMCwgMHgyODBDM0EsIDB4MDAwMDBELCAweDAwMDgxMCwKLQkweDI4MTQzQSwgMHgwOTAwMEQsIDB4MDAwODIwLCAweDAwMDJGRCwKLQkweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAzREZELCAweDAwMDAyMCwKLQkweDAxODA0MCwgMHgwMDEwN0QsIDB4MDA5RDhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQTEyMDYsIDB4MDAwMDA3LCAweDAwMDgxNSwKLQkweDA4MDAxQSwgMHgwMTA5ODQsIDB4MEE1MTg2LCAweDAwMTM3RCwKLQkweDIwMDUwMCwgMHgyODBGMjAsIDB4MzM4RjYwLCAweDNCOEY2MCwKLQkweDQzOEY2MCwgMHg0QjhGNjAsIDB4NTM4RjYwLCAweDVCOEY2MCwKLQkweDAzOEE2MCwgMHgwMTgwNDAsIDB4MDAxMDdELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDAyMTUsIDB4MDEwOTg0LCAweDNBODE4NiwKLQkweDAwMDAwNywgMHgwMDdGQkQsIDB4MzgzREM0LCAweDAwMDAwNywKLQkweDAwMUE3RCwgMHgwMDEzNzUsIDB4MDE4MDQyLCAweDA5MDA0QSwKLQkweDEwMDAwQSwgMHgwQjhEMDQsIDB4MTM5NTA0LCAweDAwMDAwNywKLQkweDAwMDgyMCwgMHgwMTkwNjAsIDB4MDAxMTA0LCAweDIyNTg4NiwKLQkweDAxMDA0MCwgMHgwMDE3RkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgyMjVBODYsIDB4MDAwMDA3LCAweDAwMTk3RCwKLQkweDAzODA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLCAweDAwMDkyNCwKLQkweDAwMTY2NCwgMHgwMDExRkQsIDB4MDM4MDQyLCAweDJCODA0QSwKLQkweDE5ODA0QSwgMHgwMDAwOEQsIDB4MjE4OTQ0LCAweDAwMDAwNywKLQkweDAwMjI0NCwgMHgwQzE5ODYsIDB4MDAwMDA3LCAweDAwMUE2NCwKLQkweDAwMkEyNCwgMHgwMDE5N0QsIDB4MDgwMTAyLCAweDEwMDEyMiwKLQkweDAwMDgyMCwgMHgwMzkwNjAsIDB4MDE4MDQwLCAweDAwM0RGRCwKLQkweDAwMDA4RCwgMHgwMDA4MjAsIDB4MDE4MDQwLCAweDAwMTM3NSwKLQkweDAwMUE3RCwgMHgwMTAwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwKLQkweDAwMDIxRCwgMHgwMTg5RTQsIDB4Mjk5MkU0LCAweDMwOTE0NCwKLQkweDAwMDAwNywgMHgwMDA2MEQsIDB4MDAwQTE1LCAweDAwMEMxRCwKLQkweDAwMTAyNSwgMHgwMEE5RTQsIDB4MDEyQkU0LCAweDAwMDQ2NCwKLQkweDAxQjNFNCwgMHgwMjMyRTQsIDB4MDAwNDY0LCAweDAwMDQ2NCwKLQkweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwNDBELCAweDA4QjFDNCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDAwQkY1LCAweDAzMDA0MCwKLQkweDAwMTk3RCwgMHgwMzgwNDIsIDB4MDk4MDRBLCAweDAwMEEyNCwKLQkweDA4MDAwQSwgMHgwODBFNjQsIDB4MDAwMDA3LCAweDEwMDEyMiwKLQkweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDEwMDQwLCAweDAwNjRBQywKLQkweDAwMDI3RCwgMHgwMDAwMjAsIDB4MDE4MDQwLCAweDAwMTA3RCwKLQkweDAxODA0MiwgMHgwMDExRkQsIDB4M0I4MDRBLCAweDA5ODA0QSwKLQkweDIwMDAwQSwgMHgwMDAwOTUsIDB4MUExMTQ0LCAweDAwQTE0NCwKLQkweDBFNTg4NiwgMHgwMDA0MEQsIDB4MDBCOTg0LCAweDBFNTk4NiwKLQkweDAwMThGRCwgMHgwMTgwNDIsIDB4MDAxMEZELCAweDA5ODA0QSwKLQkweDI4MDAwQSwgMHgwMDAwOTUsIDB4MDEwOTI0LCAweDAwMkE2NCwKLQkweDBFNDk4NiwgMHgwMDAwMDcsIDB4MDAyOTA0LCAweDBFNUE4NiwKLQkweDAwMDAwNywgMHgwRTYyMDYsIDB4MDgwMDAyLCAweDAwMDA4RCwKLQkweDAwMzg3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLCAweDAwMTI3RCwKLQkweDAxODA0MiwgMHgxMDAwMEEsIDB4MDAzOTA0LCAweDBGMDk4NiwKLQkweDAwMDgwRCwgMHg3RkZGQjUsIDB4MDBCOTg0LCAweDBFRDk4NiwKLQkweDAwMDAyNSwgMHgwRkIyMDYsIDB4MDAwMDJELCAweDAwMDAxNSwKLQkweDAwMDgyRCwgMHgwMkUwMEQsIDB4MDAwODIwLCAweDBGRkEwNiwKLQkweDAwMDAwRCwgMHg3RjgwMzUsIDB4MDBCOTg0LCAweDBGQTk4NiwKLQkweDQwMDAyNSwgMHgwMDAwOEQsIDB4MTEwOTQ0LCAweDAwMDAwNywKLQkweDAwMDE4RCwgMHgxMDk1MDQsIDB4MDAwMDA3LCAweDAwOTE2NCwKLQkweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LCAweDEwMDEwMiwKLQkweDI4MDAwMiwgMHgwMkRGMEQsIDB4MDAwODIwLCAweDBGRkEwNiwKLQkweDAwMDE4RCwgMHgwMDA0MkQsIDB4MDAwMDhELCAweDEwOTUwNCwKLQkweDAwMDAwNywgMHgwMDAyMEQsIDB4MTA5MTg0LCAweDAwMDAwNywKLQkweDAyREY4RCwgMHgwMDA4MjAsIDB4MDAwMDhELCAweDAwMzhGRCwKLQkweDAxODA0MCwgMHgwMDNCRkQsIDB4MDAxMDIwLCAweDAzQTg2MCwKLQkweDAwMDgxNSwgMHgzMTMxODQsIDB4MjEyMTg0LCAweDAwMDAwNywKLQkweDAzQjA2MCwgMHgwM0EwNjAsIDB4MDE4MDQwLCAweDAwMjJGRCwKLQkweDAwMDA5NSwgMHgwMTA5MjQsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDAwMTI2NCwgMHgxMDAxMDIsIDB4MDAwODIwLCAweDAzOTA2MCwKLQkweDAxODA0MCwgMHgwMDE5MjQsIDB4MDEwRjBELCAweDAwMzk3RCwKLQkweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLCAweDA5ODQ0QSwKLQkweDAwMDYwNiwgMHgwODA0MEEsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDAwMTE3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMEEyNCwKLQkweDI4MDUwMiwgMHgyODBDMDIsIDB4MDk4MDBELCAweDAwMDgyMCwKLQkweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwMjJGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwMDk1LCAweDI4MERDNCwKLQkweDAxMTkyNCwgMHgwMDE5N0QsIDB4MDE4MDQyLCAweDAwMTFGRCwKLQkweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAwMEI1LCAweDExMzE0NCwKLQkweDBBOEQwNCwgMHgwMDAwMDcsIDB4MDgwQTQ0LCAweDEyOTUwNCwKLQkweDAwMDAwNywgMHgwMDIzRkQsIDB4MDAxMDIwLCAweDAzODA0MCwKLQkweDEwMTI0NCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAzOTA2MCwKLQkweDAxODA0MCwgMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgxMjMyODYsIDB4MDAwMDA3LCAweDAwM0JGRCwKLQkweDAwMDEwMCwgMHgwMDBBMTAsIDB4MEI4MDdBLCAweDEzODA0QSwKLQkweDA5MDk4NCwgMHgwMDAwMDcsIDB4MDAwMDk1LCAweDAxM0QwNCwKLQkweDEyQjg4NiwgMHgxMDAwMEEsIDB4MTAwMDAyLCAweDA5MDk4NCwKLQkweDAwMDAwNywgMHgwMzgwNDIsIDB4MTE4MDRBLCAweDA5MEQwNCwKLQkweDAwMDAwNywgMHgxMDAwMEEsIDB4MDkwRDg0LCAweDAwMDAwNywKLQkweDAwMjU3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLCAweDAwMDEwRCwKLQkweDAwMDgxMCwgMHgyODE0M0EsIDB4MDAxMjdELCAweDAxODA0MiwKLQkweDIwMDAwQSwgMHgwMDE5N0QsIDB4MDE4MDQyLCAweDAwMTE3RCwKLQkweDMxODA0QSwgMHgxMDAwMEEsIDB4MDAzMTI0LCAweDAxM0I4RCwKLQkweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLCAweDAzODA0MiwKLQkweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLCAweDMwMDEwMiwKLQkweDAwMzEyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LCAweDAwMTIyNCwKLQkweDI4MDUwMiwgMHgwMDFBNEMsIDB4MTQzOTg2LCAweDcwMDAwMiwKLQkweDAwMDAyRCwgMHgwMzAwMDAsIDB4MDAzODdELCAweDAxODA0MiwKLQkweDEwMDAwQSwgMHgxNDYyMDYsIDB4MDAyMTI0LCAweDAwMDBBRCwKLQkweDEwMDAwMiwgMHgwMDAxMEQsIDB4MDAwOTI0LCAweDAwNkIyNCwKLQkweDAxNEEwRCwgMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwKLQkweDAzODA0MiwgMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwKLQkweDAwMzI2NCwgMHgwMDAwOEQsIDB4MDAwQTI0LCAweDAwMTAyMCwKLQkweDAwMjI3RCwgMHgwMTgwNDAsIDB4MDE0RjhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQjVBMDYsIDB4MDAwMDA3LCAweDAwMjgyMCwKLQkweDAwMjA3RCwgMHgwMTgwNDAsIDB4MDAxMTdELCAweDAzODA0MiwKLQkweDEzODA0QSwgMHgzMzgwMEEsIDB4MDAzODdELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTc3Mjg2LCAweDAwMDAwNywKLQkweDAwMDA4RCwgMHgwMzA5NjQsIDB4MDE1QjBELCAweDAwMzk3RCwKLQkweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLCAweDA5ODQ0QSwKLQkweDAwMDYwNiwgMHgwODA0MEEsIDB4MzgwMTAyLCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgwMDEyMjQsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTVEQTg2LCAweDAwMDAwNywKLQkweDI4MDUwMiwgMHgwMDFBNEMsIDB4MTc3MTg2LCAweDAwMDAwNywKLQkweDAzMjE2NCwgMHgwMDYzMkMsIDB4MDAzREZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDAwOTUsIDB4MDkwOTA0LCAweDAwMDAwNywKLQkweDAwMDgyMCwgMHgwMDFBNEMsIDB4MTY5OTg2LCAweDAxODA0MCwKLQkweDAzMDAwMCwgMHgxNkIyMDYsIDB4MDAyMTI0LCAweDAwMDEwRCwKLQkweDAwMDkyNCwgMHgwMDZCMjQsIDB4MDE2RjBELCAweDAwMzk3RCwKLQkweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLCAweDA5ODQ0QSwKLQkweDAwMDYwNiwgMHgwODA0MEEsIDB4MDAzQTY0LCAweDAwMDA5NSwKLQkweDAwMTIyNCwgMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgxNzEyODYsIDB4MDAwMDA3LCAweDAxNzYwRCwKLQkweDAwMDgxMCwgMHgwODA0M0EsIDB4MkI1QTA2LCAweDAwMDAwNywKLQkweDE2MEEwNiwgMHgwMDAwMDcsIDB4MDA3MDIwLCAweDA4MDEwQSwKLQkweDEwMDEyQSwgMHgwMDIwRkQsIDB4MDM4ODYwLCAweDAzOTA2MCwKLQkweDAxODA0MCwgMHgwMDIyN0QsIDB4MDE4MDQyLCAweDAwM0RGRCwKLQkweDA4MDAwQSwgMHgzMTg0NEEsIDB4MDAwOTA0LCAweDE4MTA4NiwKLQkweDE4MDA4QiwgMHgwMDAwOEQsIDB4MTg5OTA0LCAweDAwMzEyQywKLQkweDE4RTIwNiwgMHgwMDAwMDcsIDB4MDAzMjRDLCAweDE4NkI4NiwKLQkweDAwMDAwNywgMHgwMDE5MDQsIDB4MTg2ODg2LCAweDAwMDAwNywKLQkweDAwMDA5NSwgMHgxOTkxNDQsIDB4MDAyMjJDLCAweDAwMzEyNCwKLQkweDAwNjM2QywgMHgwMDBFM0QsIDB4MDAxMzc1LCAweDAwMEJGRCwKLQkweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLCAweDAzOEFFQywKLQkweDAzOTNFQywgMHgwMDIyNEMsIDB4MThFMTg2LCAweDAwMDAwNywKLQkweDAwMDA4RCwgMHgxODk5MDQsIDB4MDAyMjZDLCAweDAwMzIyQywKLQkweDMwMDUwQSwgMHgzMDFEQUIsIDB4MDAyMDgzLCAweDAwMThGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDE4OTI0LCAweDMwMDUwMiwKLQkweDAwMTA4MywgMHgwMDE4NzUsIDB4MDEwMDQyLCAweDEwMDAwQSwKLQkweDAwMDA4RCwgMHgwMTA5MjQsIDB4MDAxMzc1LCAweDMzMDU0MiwKLQkweDMzMENDQiwgMHgzMzJDQ0IsIDB4MzMzNENCLCAweDMzM0NDQiwKLQkweDMzNDRDQiwgMHgzMzRDQ0IsIDB4MzM1NENCLCAweDMwNUM4QiwKLQkweDAwNjA4MywgMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgxOUIyODYsIDB4MDAwMDA3LCAweDAwMUUyRCwKLQkweDAwMDVGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAyODkyNCwKLQkweDI4MDUwMiwgMHgwMDA2MEQsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDAwMDA4RCwgMHgwMDA4MTAsIDB4MjgxNDNBLCAweDBBODA4RCwKLQkweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLCAweDIyMDAwNywKLQkweDAwMTI3NSwgMHgwMzAwNDIsIDB4MjEwMDRBLCAweDAwMDA4RCwKLQkweDFBMDk0NCwgMHgwMDAwMDcsIDB4MDFBQjhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQ0FBMDYsIDB4MDAwMDA3LCAweDAwMDFGNSwKLQkweDAzMDA0MiwgMHgwRDAwNEEsIDB4MTAwMDBBLCAweDA4OTE0NCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDEwMDQwLCAweDAwMjVGNSwKLQkweDBBMzE0NCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAzMjg2MCwKLQkweDAzMDA0MCwgMHgwMDIxN0QsIDB4MDM4MDQyLCAweDBCODA0QSwKLQkweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAzMDA0MCwKLQkweDAwMDA4RCwgMHgwMDAxMjQsIDB4MDAwMTJDLCAweDAwMEU2NCwKLQkweDAwMUE2NCwgMHgwMDYzNkMsIDB4MDgwMTBBLCAweDEwMDEyQSwKLQkweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLCAweDAwMjBGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAyMjdELCAweDAxODA0MiwKLQkweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAzMDA0MCwKLQkweDAwMTk3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMjJGRCwKLQkweDAzODA0MiwgMHgxMDAwMEEsIDB4MDAwODIwLCAweDAzMTA2MCwKLQkweDAzMDA0MCwgMHgwOTBEMDQsIDB4MDAwMDA3LCAweDAwMDgyMCwKLQkweDAzMDA0MCwgMHgwMzgwNDIsIDB4MEI4MDRBLCAweDEwMDAwQSwKLQkweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLCAweDAzODA0MiwKLQkweDEzODA0QSwgMHgxOTgwNEEsIDB4MTEwRDA0LCAweDE5OEQwNCwKLQkweDAwMDAwNywgMHgwODAwMEEsIDB4MDAxMDIwLCAweDAzMTg2MCwKLQkweDAzMDg2MCwgMHgwMzAwNDAsIDB4MDAwMDhELCAweDBCMDk0NCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDEwMDQwLCAweDAwMDVGNSwKLQkweDAzMDA0MiwgMHgwODAwMEEsIDB4MDAwODIwLCAweDAxMDA0MCwKLQkweDAwMDBGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDFEOTg4NiwgMHgwMDFFNzUsIDB4MDMwMDQyLCAweDAxMDQ0QSwKLQkweDAwMEMwQSwgMHgxREFBMDYsIDB4MDAwMDA3LCAweDAwMDQwMiwKLQkweDAwMEMwMiwgMHgwMDE3N0QsIDB4MDAxQUY1LCAweDAxODA0MiwKLQkweDAzMTQ0QSwgMHgwMzFDNEEsIDB4MDMyNDRBLCAweDAzMkM0QSwKLQkweDAzMzQ0QSwgMHgwMzNDNEEsIDB4MDM0NDRBLCAweDAwNEMwQSwKLQkweDAwMDQzRCwgMHgwMDEzRjUsIDB4MDAxQUZELCAweDAzMDA0MiwKLQkweDBCMDA0QSwgMHgxQjgwNEEsIDB4MTM4MDRBLCAweDIwMDAwQSwKLQkweDA4OTE0NCwgMHgxOUExNDQsIDB4MDM4OUU0LCAweDAzOTlFQywKLQkweDAwNTUwMiwgMHgwMDVEMEEsIDB4MDMwMDQyLCAweDBCMDA0QSwKLQkweDFCODA0QSwgMHgxMzgwNEEsIDB4MjAwMDBBLCAweDA4OTE0NCwKLQkweDE5QTE0NCwgMHgwMzg5RTQsIDB4MDM5OUVDLCAweDAwNjUwMiwKLQkweDAwNkQwQSwgMHgwMzAwNDIsIDB4MEIwMDRBLCAweDE5MDA0QSwKLQkweDJCODA0QSwgMHgxMzgwNEEsIDB4MjE4MDRBLCAweDMwMDAwQSwKLQkweDA4OTE0NCwgMHgxOUExNDQsIDB4MkFCMTQ0LCAweDAzODlFNCwKLQkweDAzOTlFQywgMHgwMDc1MDIsIDB4MDA3RDBBLCAweDAzQTlFNCwKLQkweDAwMDcwMiwgMHgwMDEwN0QsIDB4MDAwNDE1LCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMTA5RTQsIDB4MDAwRjAyLCAweDAwMkFGNSwKLQkweDAwMTlGRCwgMHgwMTAwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwKLQkweDAwMDkzNCwgMHgwMDE2NzQsIDB4MDAyOUY1LCAweDAxMDA0MiwKLQkweDEwMDAwQSwgMHgwMDkxN0MsIDB4MDAyMDc1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjAwQTg2LCAweDAwMjZGNSwKLQkweDAwMjdGNSwgMHgwMzAwNDIsIDB4MDkwMDRBLCAweDEwMDAwQSwKLQkweDAwMEEzQywgMHgwMDE2N0MsIDB4MDAxQTc1LCAweDAwMEJGRCwKLQkweDAxMDA0MiwgMHg1MTgwNEEsIDB4NDgwMDBBLCAweDE2MDAwNywKLQkweDAwMTA3NSwgMHgwMTAwNDIsIDB4MjgyQzBBLCAweDI4MUQxMiwKLQkweDI4MjUxMiwgMHgwMDFGMzIsIDB4MUUwMDA3LCAweDBFMDAwNywKLQkweDAwMTk3NSwgMHgwMTAwNDIsIDB4MDAyREY1LCAweDBEMDA0QSwKLQkweDEwMDAwQSwgMHgwMDkxNDQsIDB4MjBFQTg2LCAweDAxMDA0MiwKLQkweDI4MzQwQSwgMHgwMDBFNUQsIDB4MDAwMDhELCAweDAwMDM3NSwKLQkweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDVEMkY0LCAweDU0RDEwNCwKLQkweDAwNzM1QywgMHgyMThCODYsIDB4MDAwMDA3LCAweDBDMDAwNywKLQkweDA4MDAwNywgMHgwQTAwMDcsIDB4MDIxNzhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgzNEIyMDYsIDB4MDAwMDA3LCAweDIxOTIwNiwKLQkweDAwMDAwNywgMHgwODAwMDcsIDB4MDAyMjc1LCAweDAxMDA0MiwKLQkweDIwMDAwQSwgMHgwMDIxMDQsIDB4MjI1ODg2LCAweDAwMUUyRCwKLQkweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDIxQ0E4NiwgMHgwMDAwMDcsIDB4MDAyMDEwLCAweDMwMDQzQSwKLQkweDAwMDU3RCwgMHgwMTgwQzMsIDB4MDgwMDBBLCAweDAyODkyNCwKLQkweDI4MDUwMiwgMHgyODBDMDIsIDB4MEE4MTBELCAweDAwMDgyMCwKLQkweDAwMDJGNSwgMHgwMTAwNDAsIDB4MjIwMDA3LCAweDAwMDRGRCwKLQkweDAxODA0MiwgMHg3MDAwMEEsIDB4MDMwMDAwLCAweDAwNzAyMCwKLQkweDA3RkEwNiwgMHgwMTgwNDAsIDB4MDIyQjhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQ0FBMDYsIDB4MDAwMDA3LCAweDAwMDJGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDIyQzI4NiwKLQkweDAwMDAwNywgMHgwMjAyMDYsIDB4MDAwMDA3LCAweDAwMDg3NSwKLQkweDAwMDlGRCwgMHgwMDAxMEQsIDB4MjM0MjA2LCAweDAwMDI5NSwKLQkweDAwMEI3NSwgMHgwMDA5N0QsIDB4MDAwMDBELCAweDAwMDUxNSwKLQkweDAxMDA0MiwgMHgxODAwMEEsIDB4MDAxOTA0LCAweDJBMDA4NiwKLQkweDAwMDZGNSwgMHgwMDEwMjAsIDB4MDEwMDQwLCAweDAwMDRGNSwKLQkweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDAwNzc1LCAweDAxMDA0MiwKLQkweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAxMTI0LCAweDAwMDkwNCwKLQkweDIzRjI4NiwgMHgwMDA4MTUsIDB4MDgwMTAyLCAweDEwMTIwNCwKLQkweDI0MTIwNiwgMHgwMDA1NzUsIDB4MDgxMjA0LCAweDAwMDAwNywKLQkweDEwMDEwMiwgMHgwMDA1NzUsIDB4MDAwNDI1LCAweDAyMTEyNCwKLQkweDEwMDEwMiwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAxMDA0MCwKLQkweDAwMTkyNCwgMHgyQTAwODYsIDB4MDAwMDhELCAweDAwMDQ2NCwKLQkweDAwOUQwNCwgMHgyOTEwODYsIDB4MTgwMTAyLCAweDAwMDU3NSwKLQkweDAxMDA0MiwgMHgyODA0MEEsIDB4MDAwMThELCAweDAwMDkyNCwKLQkweDI4MEQwMiwgMHgwMDAwMEQsIDB4MDAwOTI0LCAweDI4MTUwMiwKLQkweDEwMDAwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwKLQkweDIwMDAwNywgMHgwMDExNzUsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjRGQTg2LCAweDAwMDAwNywKLQkweDAwMDEwMCwgMHgwODBCMjAsIDB4MTMwQjYwLCAweDFCMEI2MCwKLQkweDAzMEE2MCwgMHgwMTAwNDAsIDB4MDUwMDQyLCAweDNEMDA0QSwKLQkweDM1MDA0QSwgMHgyRDAwNEEsIDB4MjAwMDBBLCAweDAwMDZGNSwKLQkweDAxMDA0MiwgMHgyODE0MEEsIDB4MDAwNEY1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDAzMTUsIDB4MDEwRDA0LCAweDI2MDI4NiwKLQkweDAwNDAxNSwgMHgwMDAwOTUsIDB4MDEwRDA0LCAweDI1RjA4NiwKLQkweDEwMDAyMiwgMHgxMDAwMkEsIDB4MjYxQTA2LCAweDAwMDAwNywKLQkweDMzMzEwNCwgMHgyQUE5MDQsIDB4MDAwMDA3LCAweDAzMjEyNCwKLQkweDI4MDUwMiwgMHgyODQ0MDIsIDB4MDAxMTI0LCAweDQwMDEwMiwKLQkweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAzMjI0LCAweDAwMjkyQywKLQkweDAwNjM2QywgMHgyNzczODYsIDB4MDAwMDA3LCAweDAyQjE2NCwKLQkweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwMDhELCAweDAwMEE2NCwKLQkweDI4MEQwMiwgMHgxMDAwOEQsIDB4MDAwODIwLCAweDAwMDJGNSwKLQkweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDAwMDhELCAweDM4QjkwNCwKLQkweDAwMDAwNywgMHgwMzI5NkMsIDB4MzAwMTBBLCAweDAwMDJGNSwKLQkweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDI3MDI4NiwKLQkweDAwMDAwNywgMHgwMDIxMkMsIDB4MjgwNTBBLCAweDAwMzE2QywKLQkweDAwMDQ2QywgMHgwMDA0NkMsIDB4Mjg0NTBBLCAweDAwMTEyNCwKLQkweDAwNkI2NCwgMHgxMDAxMDIsIDB4MDAwMDhELCAweDAxMDk2QywKLQkweDI4MEQwQSwgMHgxMDAxMEQsIDB4MDAwODIwLCAweDAwMDJGNSwKLQkweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDA0MTI0LCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgwMDMyMjQsIDB4MzAwMTAyLCAweDAzMjk0NCwKLQkweDI3RkE4NiwgMHgwMDAwMDcsIDB4MzAwMDAyLCAweDAwMDRGNSwKLQkweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwMzE1LCAweDAxMEQwNCwKLQkweDI4NDA4NiwgMHgwMDMxMjQsIDB4MDAwNDY0LCAweDMwMDEwMiwKLQkweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDI4NEE4NiwgMHgwMDAwMDcsIDB4Mjg0NDAyLCAweDAwMzEyNCwKLQkweDMwMDUwMiwgMHgwMDM5MjQsIDB4MzAwNTgzLCAweDAwMDg4MywKLQkweDAwMDVGNSwgMHgwMTAwNDIsIDB4MjgwNDBBLCAweDAwMDA4RCwKLQkweDAwODEyNCwgMHgyODBEMDIsIDB4MDAwMDhELCAweDAwODEyNCwKLQkweDI4MTUwMiwgMHgxMDAxOEQsIDB4MDAwODIwLCAweDAwMDJGNSwKLQkweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDAxMDI1LCAweDAwMDU3NSwKLQkweDAzMDA0MiwgMHgwOTAwNEEsIDB4MTAwMDBBLCAweDBBMDkwNCwKLQkweDEyMTEwNCwgMHgwMDAwMDcsIDB4MDAxMDIwLCAweDA1MDg2MCwKLQkweDA1MDA0MCwgMHgwMDA2RkQsIDB4MDE4MDQyLCAweDA5MDA0QSwKLQkweDEwMDAwQSwgMHgwMDAwQTUsIDB4MEEwOTA0LCAweDEyMTEwNCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDE5MDYwLCAweDAxMDA0MCwKLQkweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDI5Q0E4NiwgMHgwMDAwMDcsIDB4MjQ0MjA2LCAweDAwMDAwNywKLQkweDAwMDYwNiwgMHgwMDAwMDcsIDB4MDAwMkY1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkExQTg2LCAweDAwMDAwNywKLQkweDAwMDEwMCwgMHgwODBCMjAsIDB4MTM4QjYwLCAweDFCOEI2MCwKLQkweDIzOEI2MCwgMHgyQjhCNjAsIDB4MzM4QjYwLCAweDNCOEI2MCwKLQkweDQzOEI2MCwgMHg0QjhCNjAsIDB4NTM4QjYwLCAweDVCOEI2MCwKLQkweDYzOEI2MCwgMHg2QjhCNjAsIDB4NzM4QjYwLCAweDdCOEI2MCwKLQkweDAzOEY2MCwgMHgwQjhGNjAsIDB4MTM4RjYwLCAweDFCOEY2MCwKLQkweDIzOEY2MCwgMHgyQjhGNjAsIDB4MzM4RjYwLCAweDNCOEY2MCwKLQkweDQzOEY2MCwgMHg0QjhGNjAsIDB4NTM4RjYwLCAweDVCOEY2MCwKLQkweDYzOEY2MCwgMHg2QjhGNjAsIDB4NzM4RjYwLCAweDdCOEY2MCwKLQkweDAzOEE2MCwgMHgwMDA2MDYsIDB4MDE4MDQwLCAweDAwMDA4RCwKLQkweDAwMEE2NCwgMHgyODBEMDIsIDB4MDAwQTI0LCAweDAwMDI3RCwKLQkweDAxODA0MiwgMHgxMDAwMEEsIDB4MDAxMjI0LCAweDAwMDNGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDJDMEE4NiwKLQkweDAwMDAwNywgMHgwMDAxOEQsIDB4MDAwQTI0LCAweDAwMDQ2NCwKLQkweDAwMDQ2NCwgMHgwODAxMDIsIDB4MDAwOTI0LCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgxMDAxMDIsIDB4MDIwMDBELCAweDAwOTE0NCwKLQkweDJDNjE4NiwgMHgwMDAwMDcsIDB4MDAwMUZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDBBNDQsIDB4MkM0Mzg2LCAweDAxODA0MiwKLQkweDBBMDAwRCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDAyN0QsIDB4MDAxMDIwLCAweDAwMDYwNiwKLQkweDAxODA0MCwgMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgyQ0IyODYsIDB4MDAwMDA3LCAweDAwMDM3RCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDJDRTI4NiwKLQkweDAwMDAwNywgMHgwMDAwNzUsIDB4MDAyRTdELCAweDAxMDA0MiwKLQkweDBCODA0QSwgMHgwMDAwMjAsIDB4MDAwOTA0LCAweDAwMDY4NiwKLQkweDAxMDA0MCwgMHgzMTg0NEEsIDB4MzAwNDhCLCAweDAwMDg4MywKLQkweDAwMDA4RCwgMHgwMDA4MTAsIDB4MjgxNDNBLCAweDAwMDA4RCwKLQkweDAwMDgxMCwgMHgyODBDM0EsIDB4MDAwNjc1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDM4MTUsIDB4MDEwOTI0LCAweDI4MDUwMiwKLQkweDBCMDAwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwKLQkweDAwMDYwNiwgMHgyMjAwMDcsIDB4MDAwNDY0LCAweDAwMDQ2NCwKLQkweDAwMDYwNiwgMHgwMDAwMDcsIDB4MDAwMTM0LCAweDAwN0Y4RCwKLQkweDAwMDkzQywgMHgyODFEMTIsIDB4MjgyNTEyLCAweDAwMUYzMiwKLQkweDBFMDAwNywgMHgwMDAxMEQsIDB4MDAwMzdELCAweDAwMDgyMCwKLQkweDAxODA0MCwgMHgwNUQyRjQsIDB4MDAwMDA3LCAweDA4MDAwNywKLQkweDAwMDM3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDJFOEE4NiwgMHgwMDAwMDcsIDB4MDAwNjA2LCAweDAwMDAwNywKLQkweDAwMDAwNywgMHgwMDAwMTIsIDB4MTAwMDA3LCAweDMyMDAwNywKLQkweDYwMDAwNywgMHg0NjAwMDcsIDB4MTAwMDgwLCAweDQ4MDAxQSwKLQkweDAwNDkwNCwgMHgyRUYxODYsIDB4MDAwMDA3LCAweDAwMTIxMCwKLQkweDU4MDAzQSwgMHgwMDAxNDUsIDB4NUM1RDA0LCAweDAwMDAwNywKLQkweDAwMDA4MCwgMHg0ODAwMUEsIDB4MDA0OTA0LCAweDJGNDE4NiwKLQkweDAwMDAwNywgMHgwMDEyMTAsIDB4NTAwMDNBLCAweDAwNTkwNCwKLQkweDJGOTg4NiwgMHgwMDAwNDUsIDB4MDAwMEM1LCAweDdGRkZGNSwKLQkweDdGRkY3RCwgMHgwN0Q1MjQsIDB4MDA0MjI0LCAweDUwMDEwMiwKLQkweDIwMDUwMiwgMHgwMDAwODIsIDB4NDAwMDFBLCAweDAwNDEwNCwKLQkweDJGQzk4NiwgMHgwMDAwMDcsIDB4MDAzODY1LCAweDQwMDAxQSwKLQkweDAwNDAyMCwgMHgwMDEwNEQsIDB4MDRDMTg0LCAweDMxQUI4NiwKLQkweDAwMDA0MCwgMHgwNDAwMDcsIDB4MDAwMTY1LCAweDAwMDE0NSwKLQkweDAwNDAyMCwgMHgwMDAwNDAsIDB4MDAwNzY1LCAweDA4MDA4MCwKLQkweDQwMDAxQSwgMHgwMDQxMDQsIDB4MzA1OTg2LCAweDAwMDAwNywKLQkweDAwMTIxMCwgMHg0MDAwM0EsIDB4MDA0MTA0LCAweDMwQjI4NiwKLQkweDAwMDA0RCwgMHgwMDAwQ0QsIDB4MDA0ODEwLCAweDIwMDQzQSwKLQkweDAwMDg4MiwgMHg0MDAwMUEsIDB4MDA0MTA0LCAweDMwQzE4NiwKLQkweDAwMDAwNywgMHgwMDQ4MjAsIDB4MDA1OTA0LCAweDMxOTg4NiwKLQkweDAwMDA0MCwgMHgwMDA3RTUsIDB4MjAwNDgwLCAweDI4MTZBMCwKLQkweDMyMTZFMCwgMHgzQTE2RTAsIDB4NDIxNkUwLCAweDAyMTI2MCwKLQkweDAwMDA0MCwgMHgwMDAwMzIsIDB4NDAwMDc1LCAweDAwMDA3RCwKLQkweDA3RDU3NCwgMHgyMDA1MTIsIDB4MDAwMDgyLCAweDQwMDAxQSwKLQkweDAwNDEwNCwgMHgzMTcxODYsIDB4MDAwMDA3LCAweDAzOEEwNiwKLQkweDY0MDAwNywgMHgwMDAwRTUsIDB4MDAwMDIwLCAweDAwMDA0MCwKLQkweDAwMEE2NSwgMHgwMDAwMjAsIDB4MDIwMDQwLCAweDAyMDA0MCwKLQkweDAwMDA0MCwgMHgwMDAxNjUsIDB4MDAwMDQyLCAweDcwMDAwQSwKLQkweDAwNzEwNCwgMHgzMjMyODYsIDB4MDAwMDA3LCAweDA2MDAwNywKLQkweDAxOUEwNiwgMHg2NDAwMDcsIDB4MDUwMDAwLCAweDAwNzAyMCwKLQkweDAwMDA0MCwgMHgwMzhBMDYsIDB4NjQwMDA3LCAweDAwMDAwNywKLQkweDAwMzA2RCwgMHgwMjg4NjAsIDB4MDI5MDYwLCAweDA4MDAwQSwKLQkweDAyODg2MCwgMHgwMDgwNDAsIDB4MTAwMDEyLCAweDAwMTAwRCwKLQkweDAwOTE4NCwgMHgzMkQxODYsIDB4MDAwRTBELCAweDAwOTE4NCwKLQkweDMzRTE4NiwgMHgwMDAwMDcsIDB4MzAwMDA3LCAweDAwMTAyMCwKLQkweDAwM0I2RCwgMHgwMDgwNDAsIDB4MDAwMDgwLCAweDA4MDAxQSwKLQkweDAwMDkwNCwgMHgzMkYxODYsIDB4MDAwMDA3LCAweDAwMTIyMCwKLQkweDAwMERFRCwgMHgwMDgwNDAsIDB4MDA4MDQyLCAweDEwMDAwQSwKLQkweDQwMDAwRCwgMHgxMDk1NDQsIDB4MDAwMDA3LCAweDAwMTAyMCwKLQkweDAwMERFRCwgMHgwMDgwNDAsIDB4MDA4MDQyLCAweDIwMDQwQSwKLQkweDAwMDA4MiwgMHgwODAwMUEsIDB4MDAwOTA0LCAweDMzODE4NiwKLQkweDAwMDAwNywgMHgwMDNCNkQsIDB4MDA4MDQyLCAweDA4MDAwQSwKLQkweDAwMEUxNSwgMHgwMTA5ODQsIDB4MzQyQjg2LCAweDYwMDAwNywKLQkweDA4MDAxQSwgMHgwMDBDMTUsIDB4MDEwOTg0LCAweDM0MTM4NiwKLQkweDAwMDAyMCwgMHgxQTAwMDcsIDB4MDAwMkVELCAweDAwODA0MCwKLQkweDYyMDAwNywgMHgwMDMwNkQsIDB4MDI4MDQyLCAweDBBODA0QSwKLQkweDAwMDgyMCwgMHgwQTgwNEEsIDB4MDAwNjA2LCAweDEwODA0QSwKLQkweDAwMDAwNywgMHgyODI1MTIsIDB4MDAxRjMyLCAweDA1RDJGNCwKLQkweDU0RDEwNCwgMHgwMDczNUMsIDB4MDAwNzg2LCAweDAwMDAwNywKLQkweDBDMDAwNywgMHgwQTAwMDcsIDB4MUMwMDA3LCAweDAwMzQ2NSwKLQkweDAyMDA0MCwgMHgwMDQ4MjAsIDB4MDI1MDYwLCAweDQwMDAwQSwKLQkweDAyNDA2MCwgMHgwMDAwNDAsIDB4NDU0OTQ0LCAweDAwMDAwNywKLQkweDAwNDAyMCwgMHgwMDNBRTUsIDB4MDAwMDQwLCAweDAwMjhFNSwKLQkweDAwMDA0MiwgMHg0ODAwMEEsIDB4MDA0OTA0LCAweDM5Rjg4NiwKLQkweDAwMkM2NSwgMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwMDBENSwKLQkweDQ1NDEwNCwgMHgwMDAwMDcsIDB4MDAwNjU1LCAweDA1NDUwNCwKLQkweDM2ODI4NiwgMHgwMDAxRDUsIDB4MDU0NTA0LCAweDM2ODA4NiwKLQkweDAwMkI2NSwgMHgwMDAwNDIsIDB4MDAzQUU1LCAweDUwMDA0QSwKLQkweDQwMDAwQSwgMHg0NUMzRDQsIDB4MDAwMDA3LCAweDQ1NDUwNCwKLQkweDAwMDAwNywgMHgwMDAwQ0QsIDB4NDQ0OTQ0LCAweDAwMDAwNywKLQkweDQ1NDUwNCwgMHgwMDAwMDcsIDB4MDAwMTRELCAweDU1NDk0NCwKLQkweDAwMDAwNywgMHgwNDUxNDQsIDB4MzY3OTg2LCAweDAwMkM2NSwKLQkweDAwMDA0MiwgMHg0ODAwMEEsIDB4NENEMTA0LCAweDAwMDAwNywKLQkweDA0QzE0NCwgMHgzNjgzODYsIDB4MDAwMDA3LCAweDE2MDAwNywKLQkweDAwMkNFNSwgMHgwNDAwNDIsIDB4NDAwMDBBLCAweDAwNDAyMCwKLQkweDAwMDA0MCwgMHgwMDI5NjUsIDB4MDAwMDQyLCAweDQwMDAwQSwKLQkweDAwNDEwNCwgMHgzNkYwODYsIDB4MDAwMDA3LCAweDAwMjQwMiwKLQkweDM4MzIwNiwgMHgwMDVDMDIsIDB4MDAyNUU1LCAweDAwMDA0MiwKLQkweDQwMDAwQSwgMHgwMDQyNzQsIDB4MDAyQUU1LCAweDAwMDA0MiwKLQkweDQwMDAwQSwgMHgwMDQyNzQsIDB4NTAwMTEyLCAweDAwMjlFNSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0MjM0LCAweDQ1NDEwNCwKLQkweDAwMDAwNywgMHgwMDQwMjAsIDB4MDAwMDQwLCAweDAwM0VFNSwKLQkweDAwMDAyMCwgMHgwMDAwNDAsIDB4MDAyREU1LCAweDQwMDE1MiwKLQkweDUwMDAwQSwgMHgwNDUxNDQsIDB4MzdEQTg2LCAweDAwMDBDNSwKLQkweDAwM0VFNSwgMHgwMDQwMjAsIDB4MDAwMDQwLCAweDAwMkJFNSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4NDA0MjU0LCAweDAwMDAwNywKLQkweDAwMkFFNSwgMHgwMDQwMjAsIDB4MDAwMDQwLCAweDUwMDEzMiwKLQkweDA0MDEzNCwgMHgwMDU2NzQsIDB4MDAyOUU1LCAweDAyMDA0MiwKLQkweDQyMDAwQSwgMHgwMDAwNDIsIDB4NTAwMDBBLCAweDA1NDE3QywKLQkweDAwMjhFNSwgMHgwMDAwNDIsIDB4NDgwMDBBLCAweDAwMDBDNSwKLQkweDRDQzE0NCwgMHgzOEEwODYsIDB4MDAyNkU1LCAweDAwMjdFNSwKLQkweDAyMDA0MiwgMHg0MDAwNEEsIDB4NTAwMDBBLCAweDAwNDIzQywKLQkweDAwNTY3QywgMHgwMDI4RTUsIDB4MDA0ODIwLCAweDAwMDA0MCwKLQkweDI4MUQxMiwgMHgyODI1MTIsIDB4MDAxRjcyLCAweDAwMjk2NSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0MTA0LCAweDM5M0E4NiwKLQkweDBFMDAwNywgMHgxNjAwMDcsIDB4MUUwMDA3LCAweDAwM0VFNSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0MTA0LCAweDM5Nzg4NiwKLQkweDAwMkQ2NSwgMHgwMDAwNDIsIDB4MjgzNDBBLCAweDAwMzQ2NSwKLQkweDAyMDA0MiwgMHg0MjAwNEEsIDB4MDA0MDIwLCAweDRBMDA0QSwKLQkweDUwMDA0QSwgMHgwNUQyRjQsIDB4NTREMTA0LCAweDAwNzM1QywKLQkweDM5RTE4NiwgMHgwMDAwMDcsIDB4MDAwNjA2LCAweDA4MDAwNywKLQkweDBDMDAwNywgMHgwODAwMDcsIDB4MEEwMDA3LCAweDAwMDFFNSwKLQkweDAyMDA0NSwgMHgwMDQwMjAsIDB4MDAwMDYwLCAweDAwMDM2NSwKLQkweDAwMDA0MCwgMHgwMDJFNjUsIDB4MDAxQTIwLCAweDBBMUE2MCwKLQkweDAwMDA0MCwgMHgwMDM0NjUsIDB4MDIwMDQyLCAweDQyMDA0QSwKLQkweDAwNDAyMCwgMHg0QTAwNEEsIDB4MDAwNjA2LCAweDUwMDA0QSwKLQkweDAwMTdGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDIyNUE4NiwgMHgwMDAwMDcsIDB4MDAxMDdELCAweDAxODA0MiwKLQkweDAwMTFGRCwgMHgzMzgwNEEsIDB4MTk4MDRBLCAweDIwMDAwQSwKLQkweDAwMDA5NSwgMHgyQTExNDQsIDB4MDFBMTQ0LCAweDNCOTA4NiwKLQkweDAwMDQwRCwgMHgwMEIxODQsIDB4M0I5MTg2LCAweDAwMThGRCwKLQkweDAxODA0MiwgMHgwMDEwRkQsIDB4MDk4MDRBLCAweDM4MDAwQSwKLQkweDAwMDA5NSwgMHgwMTA5MjQsIDB4MDAzQTY0LCAweDNCODE4NiwKLQkweDAwMDAwNywgMHgwMDM5MDQsIDB4M0I5Mjg2LCAweDAwMDAwNywKLQkweDNCOUEwNiwgMHgwMDAwMEQsIDB4MDAwMDhELCAweDAwMDgyMCwKLQkweDAwMzg3RCwgMHgwMTgwNDAsIDB4NzAwMDAyLCAweDAwMTE3RCwKLQkweDAxODA0MiwgMHgwMDE5N0QsIDB4Mjk4MDRBLCAweDMwMDAwQSwKLQkweDM4MDAwMiwgMHgwMDMxMjQsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDAwMkEyNCwgMHgyODA1MDIsIDB4MDAwNjhELCAweDAwMDgxMCwKLQkweDI4MTQzQSwgMHgwMDc1MEQsIDB4MDBCMTI0LCAweDAwMjI2NCwKLQkweDNEMDM4NiwgMHgyODQ0MDIsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDBCODAwRCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDc1OEQsIDB4MDBCMTI0LCAweDEwMDEwMiwKLQkweDAxMjE0NCwgMHgzRTQ5ODYsIDB4MDAxODEwLCAweDEwMDAzQSwKLQkweDAwMzg3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDNFNDg4NiwgMHgwMzAwMDAsIDB4M0U0QTA2LCAweDAwMDBCRCwKLQkweDAwMDA4RCwgMHgwMjMxNjQsIDB4MDAwQTY0LCAweDI4MEQwMiwKLQkweDBCODA4RCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDM4N0QsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgzRTMyODYsIDB4MDMwMDAwLCAweDAwMDJGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDNEODI4NiwKLQkweDAwMDAwNywgMHgwMDI4MTAsIDB4MjgwNDNBLCAweDAwNzUwRCwKLQkweDAzMDkyNCwgMHgwMDIyNjQsIDB4MjgwRDAyLCAweDAyMzE2QywKLQkweDI4NDUwQSwgMHgwQjgxMEQsIDB4MDAwODIwLCAweDAwMDJGRCwKLQkweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAwMDhELCAweDAwMEEyNCwKLQkweDNFNEEwNiwgMHgxMDAxMDIsIDB4MDAxODEwLCAweDEwMDAzQSwKLQkweDAwMDBCRCwgMHgwMDM4MTAsIDB4MzAwNDNBLCAweDAwMTg3RCwKLQkweDAxODA0MiwgMHgwMDE4RkQsIDB4MDk4MDRBLCAweDIwMDAwQSwKLQkweDAwMDBBRCwgMHgwMjg5MjQsIDB4MDcyMTJDLCAweDAwMTAxMCwKLQkweDMwMDU4MywgMHgzMDBEOEIsIDB4MzAxNEJCLCAweDMwMUM4MywKLQkweDAwMjA4MywgMHgwMDEzN0QsIDB4MDM4MDQyLCAweDMzODQ0QSwKLQkweDMzQUNDQiwgMHgzM0I0Q0IsIDB4MzNCQ0NCLCAweDMzQzRDQiwKLQkweDMzQ0NDQiwgMHgzM0Q0Q0IsIDB4MzA1QzhCLCAweDAwNjA4MywKLQkweDAwMUUwRCwgMHgwMDA1RkQsIDB4MDE4MDQyLCAweDIwMDAwQSwKLQkweDAyMDkyNCwgMHgwMDA2OEQsIDB4MDBBOTZDLCAweDAwMDA5RCwKLQkweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDNGNkE4NiwgMHgwMDAwMDcsIDB4MjgwNTAyLCAweDI4MEQwQSwKLQkweDI4NDQwMiwgMHgwMDE4MTAsIDB4MjgxNDNBLCAweDBDMDA4RCwKLQkweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLCAweDIyMDAwNywKLQkweDAwMzkwNCwgMHgyMjU4ODYsIDB4MDAxRTBELCAweDAwMDU3RCwKLQkweDAxODA0MiwgMHgyMDAwMEEsIDB4MDIwOTI0LCAweDAwMDBBNSwKLQkweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDQwMkE4NiwgMHgwMDAwMDcsIDB4MjgwNTAyLCAweDI4MEMwMiwKLQkweDAwMjAxMCwgMHgyODE0M0EsIDB4MEMwMTBELCAweDAwMDgyMCwKLQkweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjI1QTA2LCAweDIyMDAwNywKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMAotfTsKLQotI2VuZGlmCS8vX0hXTUNPREVfCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9tYWluLmMgYi9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9tYWluLmMKaW5kZXggMjliMzA1Ni4uOTJkNDlhYSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfbWFpbi5jCisrKyBiL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX21haW4uYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogCiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgPHNvdW5kL2NvbnRyb2wuaD4KQEAgLTE5OTMsNTUgKzE5OTQsNiBAQAogCX0KIH0KIAotI2lmZGVmIENPTkZJR19TTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAotCi0jaW5jbHVkZSAieW1mcGNpX2ltYWdlLmgiCi0KLXN0YXRpYyBzdHJ1Y3QgZmlybXdhcmUgc25kX3ltZnBjaV9kc3BfbWljcm9jb2RlID0gewotCS5zaXplID0gWURTWEdfRFNQTEVOR1RILAotCS5kYXRhID0gKHU4ICopRHNwSW5zdCwKLX07Ci1zdGF0aWMgc3RydWN0IGZpcm13YXJlIHNuZF95bWZwY2lfY29udHJvbGxlcl9taWNyb2NvZGUgPSB7Ci0JLnNpemUgPSBZRFNYR19DVFJMTEVOR1RILAotCS5kYXRhID0gKHU4ICopQ250cmxJbnN0LAotfTsKLXN0YXRpYyBzdHJ1Y3QgZmlybXdhcmUgc25kX3ltZnBjaV9jb250cm9sbGVyXzFlX21pY3JvY29kZSA9IHsKLQkuc2l6ZSA9IFlEU1hHX0NUUkxMRU5HVEgsCi0JLmRhdGEgPSAodTggKilDbnRybEluc3QxRSwKLX07Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19TTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAotc3RhdGljIGludCBzbmRfeW1mcGNpX3JlcXVlc3RfZmlybXdhcmUoc3RydWN0IHNuZF95bWZwY2kgKmNoaXApCi17Ci0JY2hpcC0+ZHNwX21pY3JvY29kZSA9ICZzbmRfeW1mcGNpX2RzcF9taWNyb2NvZGU7Ci0JaWYgKGNoaXAtPmRldmljZV9pZCA9PSBQQ0lfREVWSUNFX0lEX1lBTUFIQV83MjRGIHx8Ci0JICAgIGNoaXAtPmRldmljZV9pZCA9PSBQQ0lfREVWSUNFX0lEX1lBTUFIQV83NDBDIHx8Ci0JICAgIGNoaXAtPmRldmljZV9pZCA9PSBQQ0lfREVWSUNFX0lEX1lBTUFIQV83NDQgfHwKLQkgICAgY2hpcC0+ZGV2aWNlX2lkID09IFBDSV9ERVZJQ0VfSURfWUFNQUhBXzc1NCkKLQkJY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUgPQotCQkJJnNuZF95bWZwY2lfY29udHJvbGxlcl8xZV9taWNyb2NvZGU7Ci0JZWxzZQotCQljaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSA9Ci0JCQkmc25kX3ltZnBjaV9jb250cm9sbGVyX21pY3JvY29kZTsKLQlyZXR1cm4gMDsKLX0KLQotI2Vsc2UgLyogdXNlIGZ3X2xvYWRlciAqLwotCi0jaWZkZWYgX19MSVRUTEVfRU5ESUFOCi1zdGF0aWMgaW5saW5lIHZvaWQgc25kX3ltZnBjaV9jb252ZXJ0X2Zyb21fbGUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykgeyB9Ci0jZWxzZQotc3RhdGljIHZvaWQgc25kX3ltZnBjaV9jb252ZXJ0X2Zyb21fbGUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKLXsKLQlpbnQgaTsKLQl1MzIgKmRhdGEgPSAodTMyICopZnctPmRhdGE7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZnctPnNpemUgLyA0OyArK2kpCi0JCWxlMzJfdG9fY3B1cygmZGF0YVtpXSk7Ci19Ci0jZW5kaWYKLQogc3RhdGljIGludCBzbmRfeW1mcGNpX3JlcXVlc3RfZmlybXdhcmUoc3RydWN0IHNuZF95bWZwY2kgKmNoaXApCiB7CiAJaW50IGVyciwgaXNfMWU7CkBAIC0yMDUwLDkgKzIwMDIsNyBAQAogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmNoaXAtPmRzcF9taWNyb2NvZGUsICJ5YW1haGEvZHMxX2RzcC5mdyIsCiAJCQkgICAgICAgJmNoaXAtPnBjaS0+ZGV2KTsKIAlpZiAoZXJyID49IDApIHsKLQkJaWYgKGNoaXAtPmRzcF9taWNyb2NvZGUtPnNpemUgPT0gWURTWEdfRFNQTEVOR1RIKQotCQkJc25kX3ltZnBjaV9jb252ZXJ0X2Zyb21fbGUoY2hpcC0+ZHNwX21pY3JvY29kZSk7Ci0JCWVsc2UgeworCQlpZiAoY2hpcC0+ZHNwX21pY3JvY29kZS0+c2l6ZSAhPSBZRFNYR19EU1BMRU5HVEgpIHsKIAkJCXNuZF9wcmludGsoS0VSTl9FUlIgIkRTUCBtaWNyb2NvZGUgaGFzIHdyb25nIHNpemVcbiIpOwogCQkJZXJyID0gLUVJTlZBTDsKIAkJfQpAQCAtMjA2Nyw5ICsyMDE3LDcgQEAKIAllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSwgbmFtZSwKIAkJCSAgICAgICAmY2hpcC0+cGNpLT5kZXYpOwogCWlmIChlcnIgPj0gMCkgewotCQlpZiAoY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUtPnNpemUgPT0gWURTWEdfQ1RSTExFTkdUSCkKLQkJCXNuZF95bWZwY2lfY29udmVydF9mcm9tX2xlKGNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlKTsKLQkJZWxzZSB7CisJCWlmIChjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZS0+c2l6ZSAhPSBZRFNYR19DVFJMTEVOR1RIKSB7CiAJCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJjb250cm9sbGVyIG1pY3JvY29kZSIKIAkJCQkgICAiIGhhcyB3cm9uZyBzaXplXG4iKTsKIAkJCWVyciA9IC1FSU5WQUw7CkBAIC0yMDg0LDEzICsyMDMyLDExIEBACiBNT0RVTEVfRklSTVdBUkUoInlhbWFoYS9kczFfY3RybC5mdyIpOwogTU9EVUxFX0ZJUk1XQVJFKCJ5YW1haGEvZHMxZV9jdHJsLmZ3Iik7CiAKLSNlbmRpZgotCiBzdGF0aWMgdm9pZCBzbmRfeW1mcGNpX2Rvd25sb2FkX2ltYWdlKHN0cnVjdCBzbmRfeW1mcGNpICpjaGlwKQogewogCWludCBpOwogCXUxNiBjdHJsOwotCXUzMiAqaW5zdDsKKwljb25zdCBfX2xlMzIgKmluc3Q7CiAKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfTkFUSVZFREFDT1VUVk9MLCAweDAwMDAwMDAwKTsKIAlzbmRfeW1mcGNpX2Rpc2FibGVfZHNwKGNoaXApOwpAQCAtMjEwNSwxNCArMjA1MSwxNiBAQAogCXNuZF95bWZwY2lfd3JpdGV3KGNoaXAsIFlEU1hHUl9HTE9CQUxDVFJMLCBjdHJsICYgfjB4MDAwNyk7CiAKIAkvKiBzZXR1cCBEU1AgaW5zdHJ1Y3Rpb24gY29kZSAqLwotCWluc3QgPSAodTMyICopY2hpcC0+ZHNwX21pY3JvY29kZS0+ZGF0YTsKKwlpbnN0ID0gKGNvbnN0IF9fbGUzMiAqKWNoaXAtPmRzcF9taWNyb2NvZGUtPmRhdGE7CiAJZm9yIChpID0gMDsgaSA8IFlEU1hHX0RTUExFTkdUSCAvIDQ7IGkrKykKLQkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0RTUElOU1RSQU0gKyAoaSA8PCAyKSwgaW5zdFtpXSk7CisJCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9EU1BJTlNUUkFNICsgKGkgPDwgMiksCisJCQkJICBsZTMyX3RvX2NwdShpbnN0W2ldKSk7CiAKIAkvKiBzZXR1cCBjb250cm9sIGluc3RydWN0aW9uIGNvZGUgKi8KLQlpbnN0ID0gKHUzMiAqKWNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlLT5kYXRhOworCWluc3QgPSAoY29uc3QgX19sZTMyICopY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUtPmRhdGE7CiAJZm9yIChpID0gMDsgaSA8IFlEU1hHX0NUUkxMRU5HVEggLyA0OyBpKyspCi0JCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9DVFJMSU5TVFJBTSArIChpIDw8IDIpLCBpbnN0W2ldKTsKKwkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0NUUkxJTlNUUkFNICsgKGkgPDwgMiksCisJCQkJICBsZTMyX3RvX2NwdShpbnN0W2ldKSk7CiAKIAlzbmRfeW1mcGNpX2VuYWJsZV9kc3AoY2hpcCk7CiB9CkBAIC0yMjA1LDYgKzIxNTMsNyBAQAogCWZvciAocmVnID0gMHg4MDsgcmVnIDwgMHhjMDsgcmVnICs9IDQpCiAJCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIHJlZywgMCk7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX05BVElWRURBQ09VVFZPTCwgMHgzZmZmM2ZmZik7CisJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0JVRjQ0MU9VVFZPTCwgMHgzZmZmM2ZmZik7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX1pWT1VUVk9MLCAweDNmZmYzZmZmKTsKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfU1BESUZPVVRWT0wsIDB4M2ZmZjNmZmYpOwogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9OQVRJVkVBRENJTlZPTCwgMHgzZmZmM2ZmZik7CkBAIC0yMjY0LDEwICsyMjEzLDggQEAKIAlwY2lfd3JpdGVfY29uZmlnX3dvcmQoY2hpcC0+cGNpLCAweDQwLCBjaGlwLT5vbGRfbGVnYWN5X2N0cmwpOwogCQogCXBjaV9kaXNhYmxlX2RldmljZShjaGlwLT5wY2kpOwotI2lmbmRlZiBDT05GSUdfU05EX1lNRlBDSV9GSVJNV0FSRV9JTl9LRVJORUwKIAlyZWxlYXNlX2Zpcm13YXJlKGNoaXAtPmRzcF9taWNyb2NvZGUpOwogCXJlbGVhc2VfZmlybXdhcmUoY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUpOwotI2VuZGlmCiAJa2ZyZWUoY2hpcCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMzI0LDYgKzIyNzEsNyBAQAogCQljaGlwLT5zYXZlZF9yZWdzW2ldID0gc25kX3ltZnBjaV9yZWFkbChjaGlwLCBzYXZlZF9yZWdzX2luZGV4W2ldKTsKIAljaGlwLT5zYXZlZF95ZHN4Z3JfbW9kZSA9IHNuZF95bWZwY2lfcmVhZGwoY2hpcCwgWURTWEdSX01PREUpOwogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9OQVRJVkVEQUNPVVRWT0wsIDApOworCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9CVUY0NDFPVVRWT0wsIDApOwogCXNuZF95bWZwY2lfZGlzYWJsZV9kc3AoY2hpcCk7CiAJcGNpX2Rpc2FibGVfZGV2aWNlKHBjaSk7CiAJcGNpX3NhdmVfc3RhdGUocGNpKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjbWNpYS9LY29uZmlnIGIvc291bmQvcGNtY2lhL0tjb25maWcKaW5kZXggYzlmYTFhMi4uN2ZiYjE5MCAxMDA2NDQKLS0tIGEvc291bmQvcGNtY2lhL0tjb25maWcKKysrIGIvc291bmQvcGNtY2lhL0tjb25maWcKQEAgLTEsMTEgKzEsMTYgQEAKICMgQUxTQSBQQ01DSUEgZHJpdmVycwogCi1tZW51ICJQQ01DSUEgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBQQ01DSUEKK21lbnVjb25maWcgU05EX1BDTUNJQQorCWJvb2wgIlBDTUNJQSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gUENNQ0lBCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBjb25uZWN0ZWQgdmlhIHRoZSBQQ01DSUEgYnVzLgorCitpZiBTTkRfUENNQ0lBICYmIFBDTUNJQQogCiBjb25maWcgU05EX1ZYUE9DS0VUCiAJdHJpc3RhdGUgIkRpZ2lncmFtIFZYcG9ja2V0IgotCWRlcGVuZHMgb24gU05EICYmIFBDTUNJQQogCXNlbGVjdCBTTkRfVlhfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIERpZ2lncmFtIFZYcG9ja2V0IGFuZApAQCAtMTYsNyArMjEsNiBAQAogCiBjb25maWcgU05EX1BEQVVESU9DRgogCXRyaXN0YXRlICJTb3VuZCBDb3JlIFBEQXVkaW9DRiIKLQlkZXBlbmRzIG9uIFNORCAmJiBQQ01DSUEKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBTb3VuZCBDb3JlIFBEQXVkaW9DRgpAQCAtMjUsNCArMjksNSBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLXBkYXVkaW9jZi4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfUENNQ0lBCisKZGlmZiAtLWdpdCBhL3NvdW5kL3BjbWNpYS92eC92eHBfb3BzLmMgYi9zb3VuZC9wY21jaWEvdngvdnhwX29wcy5jCmluZGV4IDE1N2IwYjUuLjk5YmYyYTYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjbWNpYS92eC92eHBfb3BzLmMKKysrIGIvc291bmQvcGNtY2lhL3Z4L3Z4cF9vcHMuYwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJdW5zaWduZWQgaW50IGk7CiAJaW50IGM7CiAJaW50IHJlZ0NTVUVSLCByZWdSVUVSOwotCXVuc2lnbmVkIGNoYXIgKmltYWdlOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmltYWdlOwogCXVuc2lnbmVkIGNoYXIgZGF0YTsKIAogCS8qIFN3aXRjaCB0byBwcm9ncmFtbWF0aW9uIG1vZGUgKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3BwYy9LY29uZmlnIGIvc291bmQvcHBjL0tjb25maWcKaW5kZXggY2FjYjBiMS4uNzc3ZGUyYiAxMDA2NDQKLS0tIGEvc291bmQvcHBjL0tjb25maWcKKysrIGIvc291bmQvcHBjL0tjb25maWcKQEAgLTEsMTcgKzEsMTcgQEAKICMgQUxTQSBQb3dlck1hYyBkcml2ZXJzCiAKLW1lbnUgIkFMU0EgUG93ZXJNYWMgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBQUEMKK21lbnVjb25maWcgU05EX1BQQworCWJvb2wgIlBvd2VyUEMgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFBQQzY0IHx8IFBQQzMyCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBzcGVjaWZpYyB0byBQb3dlclBDIGFyY2hpdGVjdHVyZXMuCiAKLWNvbW1lbnQgIkFMU0EgUG93ZXJNYWMgcmVxdWlyZXMgSTJDIgotCWRlcGVuZHMgb24gU05EICYmIEkyQz1uCi0KLWNvbW1lbnQgIkFMU0EgUG93ZXJNYWMgcmVxdWlyZXMgSU5QVVQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgSU5QVVQ9bgoraWYgU05EX1BQQwogCiBjb25maWcgU05EX1BPV0VSTUFDCiAJdHJpc3RhdGUgIlBvd2VyTWFjIChBV0FDUywgREFDQSwgQnVyZ3VuZHksIFR1bWJsZXIsIEtleXdlc3QpIgotCWRlcGVuZHMgb24gU05EICYmIEkyQyAmJiBJTlBVVCAmJiBQUENfUE1BQworCWRlcGVuZHMgb24gSTJDICYmIElOUFVUICYmIFBQQ19QTUFDCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgc291bmQgZGV2aWNlLgpAQCAtMzIsMTQgKzMyLDkgQEAKIAkgIE5vdGUgdGhhdCB5b3UgY2FuIHR1cm4gb24vb2ZmIERSQyBtYW51YWxseSBldmVuIHdpdGhvdXQgdGhpcwogCSAgb3B0aW9uLgogCi1lbmRtZW51Ci0KLW1lbnUgIkFMU0EgUG93ZXJQQyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmICggUFBDNjQgfHwgUFBDMzIgKQotCiBjb25maWcgU05EX1BTMwogCXRyaXN0YXRlICJQUzMgQXVkaW8gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORCAmJiBQUzNfUFMzQVYKKwlkZXBlbmRzIG9uIFBTM19QUzNBVgogCXNlbGVjdCBTTkRfUENNCiAJZGVmYXVsdCBtCiAJaGVscApAQCAtNTIsNCArNDcsNSBAQAogCWludCAiU3RhcnR1cCBkZWxheSB0aW1lIGluIG1zIgogCWRlcGVuZHMgb24gU05EX1BTMwogCWRlZmF1bHQgIjIwMDAiCi1lbmRtZW51CisKK2VuZGlmCSMgU05EX1BQQwpkaWZmIC0tZ2l0IGEvc291bmQvcHBjL2RhY2EuYyBiL3NvdW5kL3BwYy9kYWNhLmMKaW5kZXggY2E5NDUyOS4uOGE1YjI5MCAxMDA2NDQKLS0tIGEvc291bmQvcHBjL2RhY2EuYworKysgYi9zb3VuZC9wcGMvZGFjYS5jCkBAIC0yNDksOSArMjQ5LDcgQEAKIAlpbnQgaSwgZXJyOwogCXN0cnVjdCBwbWFjX2RhY2EgKm1peDsKIAotI2lmZGVmIENPTkZJR19LTU9ECiAJcmVxdWVzdF9tb2R1bGUoImkyYy1wb3dlcm1hYyIpOwotI2VuZGlmIC8qIENPTkZJR19LTU9EICovCiAKIAltaXggPSBremFsbG9jKHNpemVvZigqbWl4KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCEgbWl4KQpkaWZmIC0tZ2l0IGEvc291bmQvcHBjL3R1bWJsZXIuYyBiL3NvdW5kL3BwYy90dW1ibGVyLmMKaW5kZXggM2Y4ZDcxNi4uMDA5ZGY4ZCAxMDA2NDQKLS0tIGEvc291bmQvcHBjL3R1bWJsZXIuYworKysgYi9zb3VuZC9wcGMvdHVtYmxlci5jCkBAIC0xMzUwLDkgKzEzNTAsNyBAQAogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqdGFzX25vZGUsICpucDsKIAljaGFyICpjaGlwbmFtZTsKIAotI2lmZGVmIENPTkZJR19LTU9ECiAJcmVxdWVzdF9tb2R1bGUoImkyYy1wb3dlcm1hYyIpOwotI2VuZGlmIC8qIENPTkZJR19LTU9EICovCiAKIAltaXggPSBremFsbG9jKHNpemVvZigqbWl4KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCEgbWl4KQpkaWZmIC0tZ2l0IGEvc291bmQvc2gvS2NvbmZpZyBiL3NvdW5kL3NoL0tjb25maWcKaW5kZXggYjdlMDhlZi4uY2ZjMTQzOSAxMDA2NDQKLS0tIGEvc291bmQvc2gvS2NvbmZpZworKysgYi9zb3VuZC9zaC9LY29uZmlnCkBAIC0xLDE0ICsxLDIyIEBACiAjIEFMU0EgU0ggZHJpdmVycwogCi1tZW51ICJTVVBFUkggZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBTVVBFUkgKK21lbnVjb25maWcgU05EX1NVUEVSSAorCWJvb2wgIlNVUEVSSCBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gU1VQRVJICisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBzcGVjaWZpYyB0byBTVVBFUkggYXJjaGl0ZWN0dXJlcy4KKwkgIERyaXZlcnMgdGhhdCBhcmUgaW1wbGVtZW50ZWQgb24gQVNvQyBjYW4gYmUgZm91bmQgaW4KKwkgICJBTFNBIGZvciBTb0MgYXVkaW8gc3VwcG9ydCIgc2VjdGlvbi4KKworaWYgU05EX1NVUEVSSAogCiBjb25maWcgU05EX0FJQ0EKIAl0cmlzdGF0ZSAiRHJlYW1jYXN0IFlhbWFoYSBBSUNBIHNvdW5kIgotCWRlcGVuZHMgb24gU0hfRFJFQU1DQVNUICYmIFNORAorCWRlcGVuZHMgb24gU0hfRFJFQU1DQVNUCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBBTFNBIFNvdW5kIGRyaXZlciBmb3IgdGhlIFNFR0EgRHJlYW1jYXN0IGNvbnNvbGUuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1NVUEVSSAogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvS2NvbmZpZyBiL3NvdW5kL3NvYy9LY29uZmlnCmluZGV4IDE4ZjI4YWMuLmY3NDM1MzAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9LY29uZmlnCkBAIC0yLDE1ICsyLDggQEAKICMgU29DIGF1ZGlvIGNvbmZpZ3VyYXRpb24KICMKIAotbWVudSAiU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORCE9bgotCi1jb25maWcgU05EX1NPQ19BQzk3X0JVUwotCWJvb2wKLQotY29uZmlnIFNORF9TT0MKK21lbnVjb25maWcgU05EX1NPQwogCXRyaXN0YXRlICJBTFNBIGZvciBTb0MgYXVkaW8gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJLS0taGVscC0tLQogCkBAIC0yMyw4ICsxNiwxNSBAQAogCSAgVGhpcyBBU29DIGF1ZGlvIHN1cHBvcnQgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLXNvYy1jb3JlLgogCitpZiBTTkRfU09DCisKK2NvbmZpZyBTTkRfU09DX0FDOTdfQlVTCisJYm9vbAorCiAjIEFsbCB0aGUgc3VwcG9ydGVkIFNvYydzCitzb3VyY2UgInNvdW5kL3NvYy9hdDMyL0tjb25maWciCiBzb3VyY2UgInNvdW5kL3NvYy9hdDkxL0tjb25maWciCitzb3VyY2UgInNvdW5kL3NvYy9hdTF4L0tjb25maWciCiBzb3VyY2UgInNvdW5kL3NvYy9weGEvS2NvbmZpZyIKIHNvdXJjZSAic291bmQvc29jL3MzYzI0eHgvS2NvbmZpZyIKIHNvdXJjZSAic291bmQvc29jL3NoL0tjb25maWciCkBAIC0zNSw0ICszNSw1IEBACiAjIFN1cHBvcnRlZCBjb2RlY3MKIHNvdXJjZSAic291bmQvc29jL2NvZGVjcy9LY29uZmlnIgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9TT0MKKwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL01ha2VmaWxlIGIvc291bmQvc29jL01ha2VmaWxlCmluZGV4IDc4MmRiMjEuLjkzM2E2NmQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9NYWtlZmlsZQorKysgYi9zb3VuZC9zb2MvTWFrZWZpbGUKQEAgLTEsNCArMSw1IEBACiBzbmQtc29jLWNvcmUtb2JqcyA6PSBzb2MtY29yZS5vIHNvYy1kYXBtLm8KIAogb2JqLSQoQ09ORklHX1NORF9TT0MpCSs9IHNuZC1zb2MtY29yZS5vCi1vYmotJChDT05GSUdfU05EX1NPQykJKz0gY29kZWNzLyBhdDkxLyBweGEvIHMzYzI0eHgvIHNoLyBmc2wvIGRhdmluY2kvIG9tYXAvCitvYmotJChDT05GSUdfU05EX1NPQykJKz0gY29kZWNzLyBhdDMyLyBhdDkxLyBweGEvIHMzYzI0eHgvIHNoLyBmc2wvIGRhdmluY2kvCitvYmotJChDT05GSUdfU05EX1NPQykJKz0gb21hcC8gYXUxeC8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL0tjb25maWcgYi9zb3VuZC9zb2MvYXQzMi9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwNzY1ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9LY29uZmlnCkBAIC0wLDAgKzEsMzQgQEAKK2NvbmZpZyBTTkRfQVQzMl9TT0MKKyAgICAgICAgdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgdGhlIEF0bWVsIEFUMzIgU3lzdGVtLW9uLWEtQ2hpcCIKKyAgICAgICAgZGVwZW5kcyBvbiBBVlIzMiAmJiBTTkRfU09DCisgICAgICAgIGhlbHAKKyAgICAgICAgICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8gCisgICAgICAgICAgdGhlIEFUMzIgU1NDIGludGVyZmFjZS4gIFlvdSB3aWxsIGFsc28gbmVlZCB0bworICAgICAgICAgIHRvIHNlbGVjdCB0aGUgYXVkaW8gaW50ZXJmYWNlcyB0byBzdXBwb3J0IGJlbG93LgorCisKK2NvbmZpZyBTTkRfQVQzMl9TT0NfU1NDCisgICAgICAgIHRyaXN0YXRlCisKKworCitjb25maWcgU05EX0FUMzJfU09DX1BMQVlQQVEKKyAgICAgICAgdHJpc3RhdGUgIlNvQyBBdWRpbyBzdXBwb3J0IGZvciBQbGF5UGFxIHdpdGggV004NTEwIgorICAgICAgICBkZXBlbmRzIG9uIFNORF9BVDMyX1NPQyAmJiBCT0FSRF9QTEFZUEFRCisgICAgICAgIHNlbGVjdCBTTkRfQVQzMl9TT0NfU1NDCisgICAgICAgIHNlbGVjdCBTTkRfU09DX1dNODUxMAorICAgICAgICBoZWxwCisgICAgICAgICAgU2F5IFkgb3IgTSBoZXJlIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBTb0MgYXVkaW8KKyAgICAgICAgICBvbiB0aGUgTFJTIFBsYXlQYXEuCisKKworCitjb25maWcgU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKKyAgICAgICAgYm9vbCAiUnVuIENPREVDIG9uIFBsYXlQYXEgaW4gc2xhdmUgbW9kZSIKKyAgICAgICAgZGVwZW5kcyBvbiBTTkRfQVQzMl9TT0NfUExBWVBBUQorICAgICAgICBkZWZhdWx0IG4KKyAgICAgICAgaGVscAorICAgICAgICAgIFNheSBZIGlmIHlvdSB3YW50IHRvIHJ1biB3aXRoIHRoZSBBVDMyIFNTQyBnZW5lcmF0aW5nIHRoZSBCQ0xLCisgICAgICAgICAgYW5kIEZSQU1FIHNpZ25hbHMgb24gdGhlIFBsYXlQYXEuICBVbmxlc3MgeW91IHdhbnQgdG8gcGxheQorICAgICAgICAgIHdpdGggdGhlIEFUMzIgYXMgdGhlIFNTQyBtYXN0ZXIsIHlvdSBwcm9iYWJseSB3YW50IHRvIHNheSBOIGhlcmUsCisgICAgICAgICAgYXMgdGhpcyB3aWxsIGdpdmUgeW91IGJldHRlciBzb3VuZCBxdWFsaXR5LgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvTWFrZWZpbGUgYi9zb3VuZC9zb2MvYXQzMi9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDNlNTVlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvTWFrZWZpbGUKQEAgLTAsMCArMSwxMSBAQAorIyBBVDMyIFBsYXRmb3JtIFN1cHBvcnQKK3NuZC1zb2MtYXQzMi1vYmpzIDo9IGF0MzItcGNtLm8KK3NuZC1zb2MtYXQzMi1zc2Mtb2JqcyA6PSBhdDMyLXNzYy5vCisKK29iai0kKENPTkZJR19TTkRfQVQzMl9TT0MpICs9IHNuZC1zb2MtYXQzMi5vCitvYmotJChDT05GSUdfU05EX0FUMzJfU09DX1NTQykgKz0gc25kLXNvYy1hdDMyLXNzYy5vCisKKyMgQVQzMiBNYWNoaW5lIFN1cHBvcnQKK3NuZC1zb2MtcGxheXBhcS1vYmpzIDo9IHBsYXlwYXFfd204NTEwLm8KKworb2JqLSQoQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRKSArPSBzbmQtc29jLXBsYXlwYXEubwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvYXQzMi1wY20uYyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM1ZjFkYQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmMKQEAgLTAsMCArMSw0OTEgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmMKKyAqIEFTb0MgUENNIGludGVyZmFjZSBmb3IgQXRtZWwgQVQzMiBTb0MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGlzIGJhc2ljYWxseSBhIHBvcnQgb2YgdGhlIHNvdW5kL3NvYy9hdDkxLXBjbS5jIHRvCisgKiB0aGUgQVZSMzIga2VybmVsLiAgVGhhbmtzIHRvIEZyYW5rIE1hbmRhcmlubyBmb3IgdGhhdCBjb2RlLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvYXRtZWxfcGRjLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorCisjaW5jbHVkZSAiYXQzMi1wY20uaCIKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogSGFyZHdhcmUgZGVmaW5pdGlvbgorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBUT0RPOiBUaGVzZSB2YWx1ZXMgd2VyZSB0YWtlbiBmcm9tIHRoZSBBVDkxIHBsYXRmb3JtIGRyaXZlciwgY2hlY2sKKyAqCSB0aGVtIGFnYWluc3QgcmVhbCB2YWx1ZXMgZm9yIEFUMzIKKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIGF0MzJfcGNtX2hhcmR3YXJlID0geworCS5pbmZvID0gKFNORFJWX1BDTV9JTkZPX01NQVAgfAorCQkgU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8CisJCSBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCB8CisJCSBTTkRSVl9QQ01fSU5GT19CTE9DS19UUkFOU0ZFUiB8CisJCSBTTkRSVl9QQ01fSU5GT19QQVVTRSksCisKKwkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2LAorCS5wZXJpb2RfYnl0ZXNfbWluID0gMzIsCisJLnBlcmlvZF9ieXRlc19tYXggPSA4MTkyLAkvKiA1MTIgZnJhbWVzICogMTYgYnl0ZXMgLyBmcmFtZSAqLworCS5wZXJpb2RzX21pbiA9IDIsCisJLnBlcmlvZHNfbWF4ID0gMTAyNCwKKwkuYnVmZmVyX2J5dGVzX21heCA9IDMyICogMTAyNCwKK307CisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIERhdGEgdHlwZXMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RydWN0IGF0MzJfcnVudGltZV9kYXRhIHsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zOworCWRtYV9hZGRyX3QgZG1hX2J1ZmZlcjsJLyogcGh5c2ljYWwgYWRkcmVzcyBvZiBETUEgYnVmZmVyICovCisJZG1hX2FkZHJfdCBkbWFfYnVmZmVyX2VuZDsgLyogZmlyc3QgYWRkcmVzcyBiZXlvbmQgRE1BIGJ1ZmZlciAqLworCXNpemVfdCBwZXJpb2Rfc2l6ZTsKKworCWRtYV9hZGRyX3QgcGVyaW9kX3B0cjsJLyogcGh5c2ljYWwgYWRkcmVzcyBvZiBuZXh0IHBlcmlvZCAqLworCWludCBwZXJpb2RzOwkJLyogcGVyaW9kIGluZGV4IG9mIHBlcmlvZF9wdHIgKi8KKworCS8qIFNhdmUgUERDIHJlZ2lzdGVycyAoZm9yIHBvd2VyIG1hbmFnZW1lbnQpICovCisJdTMyIHBkY194cHJfc2F2ZTsKKwl1MzIgcGRjX3hjcl9zYXZlOworCXUzMiBwZGNfeG5wcl9zYXZlOworCXUzMiBwZGNfeG5jcl9zYXZlOworfTsKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogSGVscGVyIGZ1bmN0aW9ucworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgaW50IGF0MzJfcGNtX3ByZWFsbG9jYXRlX2RtYV9idWZmZXIoc3RydWN0IHNuZF9wY20gKnBjbSwgaW50IHN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSA9IHBjbS0+c3RyZWFtc1tzdHJlYW1dLnN1YnN0cmVhbTsKKwlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgKmRtYWJ1ZiA9ICZzdWJzdHJlYW0tPmRtYV9idWZmZXI7CisJc2l6ZV90IHNpemUgPSBhdDMyX3BjbV9oYXJkd2FyZS5idWZmZXJfYnl0ZXNfbWF4OworCisJZG1hYnVmLT5kZXYudHlwZSA9IFNORFJWX0RNQV9UWVBFX0RFVjsKKwlkbWFidWYtPmRldi5kZXYgPSBwY20tPmNhcmQtPmRldjsKKwlkbWFidWYtPnByaXZhdGVfZGF0YSA9IE5VTEw7CisJZG1hYnVmLT5hcmVhID0gZG1hX2FsbG9jX2NvaGVyZW50KHBjbS0+Y2FyZC0+ZGV2LCBzaXplLAorCQkJCQkgICZkbWFidWYtPmFkZHIsIEdGUF9LRVJORUwpOworCXByX2RlYnVnKCJhdDMyX3BjbTogcHJlYWxsb2NhdGVfZG1hX2J1ZmZlcjogIgorCQkgImFyZWE9JXAsIGFkZHI9JXAsIHNpemU9JWxkXG4iLAorCQkgKHZvaWQgKilkbWFidWYtPmFyZWEsICh2b2lkICopZG1hYnVmLT5hZGRyLCBzaXplKTsKKworCWlmICghZG1hYnVmLT5hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWRtYWJ1Zi0+Ynl0ZXMgPSBzaXplOworCXJldHVybiAwOworfQorCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBJU1IKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHZvaWQgYXQzMl9wY21fZG1hX2lycSh1MzIgc3NjX3NyLCBzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gcnRkLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtcyA9IHBydGQtPnBhcmFtczsKKwlzdGF0aWMgaW50IGNvdW50OworCisJY291bnQrKzsKKwlpZiAoc3NjX3NyICYgcGFyYW1zLT5tYXNrLT5zc2NfZW5kYnVmKSB7CisJCXByX3dhcm5pbmcoImF0MzItcGNtOiBidWZmZXIgJXMgb24gJXMgKFNTQ19TUj0lI3gsIGNvdW50PSVkKVxuIiwKKwkJCSAgIHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0sgPworCQkJICAgInVuZGVycnVuIiA6ICJvdmVycnVuIiwgcGFyYW1zLT5uYW1lLCBzc2Nfc3IsIGNvdW50KTsKKworCQkvKiByZS1zdGFydCB0aGUgUERDICovCisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisJCXBydGQtPnBlcmlvZF9wdHIgKz0gcHJ0ZC0+cGVyaW9kX3NpemU7CisJCWlmIChwcnRkLT5wZXJpb2RfcHRyID49IHBydGQtPmRtYV9idWZmZXJfZW5kKQorCQkJcHJ0ZC0+cGVyaW9kX3B0ciA9IHBydGQtPmRtYV9idWZmZXI7CisKKworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3B0cik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IsCisJCQkgICBwcnRkLT5wZXJpb2Rfc2l6ZSAvIHBhcmFtcy0+cGRjX3hmZXJfc2l6ZSk7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZW5hYmxlKTsKKwl9CisKKworCWlmIChzc2Nfc3IgJiBwYXJhbXMtPm1hc2stPnNzY19lbmR4KSB7CisJCS8qIExvYWQgdGhlIFBEQyBuZXh0IHBvaW50ZXIgYW5kIGNvdW50ZXIgcmVnaXN0ZXJzICovCisJCXBydGQtPnBlcmlvZF9wdHIgKz0gcHJ0ZC0+cGVyaW9kX3NpemU7CisJCWlmIChwcnRkLT5wZXJpb2RfcHRyID49IHBydGQtPmRtYV9idWZmZXJfZW5kKQorCQkJcHJ0ZC0+cGVyaW9kX3B0ciA9IHBydGQtPmRtYV9idWZmZXI7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bnByLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3B0cik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bmNyLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3NpemUgLyBwYXJhbXMtPnBkY194ZmVyX3NpemUpOworCX0KKworCisJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChzdWJzdHJlYW0pOworfQorCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBQQ00gb3BlcmF0aW9ucworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgaW50IGF0MzJfcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gcnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKworCS8qIHRoaXMgbWF5IGdldCBjYWxsZWQgc2V2ZXJhbCB0aW1lcyBieSBvc3MgZW11bGF0aW9uCisJICogd2l0aCBkaWZmZXJlbnQgcGFyYW1zCisJICovCisJc25kX3BjbV9zZXRfcnVudGltZV9idWZmZXIoc3Vic3RyZWFtLCAmc3Vic3RyZWFtLT5kbWFfYnVmZmVyKTsKKwlydW50aW1lLT5kbWFfYnl0ZXMgPSBwYXJhbXNfYnVmZmVyX2J5dGVzKHBhcmFtcyk7CisKKwlwcnRkLT5wYXJhbXMgPSBydGQtPmRhaS0+Y3B1X2RhaS0+ZG1hX2RhdGE7CisJcHJ0ZC0+cGFyYW1zLT5kbWFfaW50cl9oYW5kbGVyID0gYXQzMl9wY21fZG1hX2lycTsKKworCXBydGQtPmRtYV9idWZmZXIgPSBydW50aW1lLT5kbWFfYWRkcjsKKwlwcnRkLT5kbWFfYnVmZmVyX2VuZCA9IHJ1bnRpbWUtPmRtYV9hZGRyICsgcnVudGltZS0+ZG1hX2J5dGVzOworCXBydGQtPnBlcmlvZF9zaXplID0gcGFyYW1zX3BlcmlvZF9ieXRlcyhwYXJhbXMpOworCisJcHJfZGVidWcoImh3X3BhcmFtczogRE1BIGZvciAlcyBpbml0aWFsaXplZCAiCisJCSAiKGRtYV9ieXRlcz0lbGQsIHBlcmlvZF9zaXplPSVsZClcbiIsCisJCSBwcnRkLT5wYXJhbXMtPm5hbWUsIHJ1bnRpbWUtPmRtYV9ieXRlcywgcHJ0ZC0+cGVyaW9kX3NpemUpOworCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtcyA9IHBydGQtPnBhcmFtczsKKworCWlmIChwYXJhbXMgIT0gTlVMTCkgeworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKwkJcHJ0ZC0+cGFyYW1zLT5kbWFfaW50cl9oYW5kbGVyID0gTlVMTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgU1NDX0lEUiwKKwkJICAgcGFyYW1zLT5tYXNrLT5zc2NfZW5keCB8IHBhcmFtcy0+bWFzay0+c3NjX2VuZGJ1Zik7CisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2Rpc2FibGUpOworCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBhdDMyX3BjbV90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBydGQtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCWludCByZXQgPSAwOworCisJcHJfZGVidWcoImF0MzJfcGNtX3RyaWdnZXI6IGJ1ZmZlcl9zaXplID0gJWxkLCAiCisJCSAiZG1hX2FyZWEgPSAlcCwgZG1hX2J5dGVzID0gJWxkXG4iLAorCQkgcnRkLT5idWZmZXJfc2l6ZSwgcnRkLT5kbWFfYXJlYSwgcnRkLT5kbWFfYnl0ZXMpOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCQlwcnRkLT5wZXJpb2RfcHRyID0gcHJ0ZC0+ZG1hX2J1ZmZlcjsKKworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3B0cik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IsCisJCQkgICBwcnRkLT5wZXJpb2Rfc2l6ZSAvIHBhcmFtcy0+cGRjX3hmZXJfc2l6ZSk7CisKKwkJcHJ0ZC0+cGVyaW9kX3B0ciArPSBwcnRkLT5wZXJpb2Rfc2l6ZTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIsCisJCQkgICBwcnRkLT5wZXJpb2RfcHRyKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IsCisJCQkgICBwcnRkLT5wZXJpb2Rfc2l6ZSAvIHBhcmFtcy0+cGRjX3hmZXJfc2l6ZSk7CisKKwkJcHJfZGVidWcoInRyaWdnZXI6IHBlcmlvZF9wdHI9JWx4LCB4cHI9JXgsICIKKwkJCSAieGNyPSVkLCB4bnByPSV4LCB4bmNyPSVkXG4iLAorCQkJICh1bnNpZ25lZCBsb25nKXBydGQtPnBlcmlvZF9wdHIsCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByKSwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IpLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIpLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IpKTsKKworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfSUVSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5zc2NfZW5keCB8IHBhcmFtcy0+bWFzay0+c3NjX2VuZGJ1Zik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19QRENfUFRDUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2VuYWJsZSk7CisKKwkJcHJfZGVidWcoInNyPSV4LCBpbXI9JXhcbiIsCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfU1IpLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgU1NDX0lFUikpOworCQlicmVhazsJCS8qIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUICovCisKKworCisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1BBVVNFX1BVU0g6CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisJCWJyZWFrOworCisKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VNRToKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1BBVVNFX1JFTEVBU0U6CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZW5hYmxlKTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlyZXQgPSAtRUlOVkFMOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKworCitzdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QgYXQzMl9wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCWRtYV9hZGRyX3QgcHRyOworCXNuZF9wY21fdWZyYW1lc190IHg7CisKKwlwdHIgPSAoZG1hX2FkZHJfdCkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByKTsKKwl4ID0gYnl0ZXNfdG9fZnJhbWVzKHJ1bnRpbWUsIHB0ciAtIHBydGQtPmRtYV9idWZmZXIpOworCisJaWYgKHggPT0gcnVudGltZS0+YnVmZmVyX3NpemUpCisJCXggPSAwOworCisJcmV0dXJuIHg7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQ7CisJaW50IHJldCA9IDA7CisKKwlzbmRfc29jX3NldF9ydW50aW1lX2h3cGFyYW1zKHN1YnN0cmVhbSwgJmF0MzJfcGNtX2hhcmR3YXJlKTsKKworCS8qIGVuc3VyZSB0aGF0IGJ1ZmZlciBzaXplIGlzIGEgbXVsdGlwbGUgb2YgcGVyaW9kIHNpemUgKi8KKwlyZXQgPSBzbmRfcGNtX2h3X2NvbnN0cmFpbnRfaW50ZWdlcihydW50aW1lLAorCQkJCQkgICAgU05EUlZfUENNX0hXX1BBUkFNX1BFUklPRFMpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIG91dDsKKworCXBydGQgPSBremFsbG9jKHNpemVvZigqcHJ0ZCksIEdGUF9LRVJORUwpOworCWlmIChwcnRkID09IE5VTEwpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCXJ1bnRpbWUtPnByaXZhdGVfZGF0YSA9IHBydGQ7CisKKworb3V0OgorCXJldHVybiByZXQ7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCisJa2ZyZWUocHJ0ZCk7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBhdDMyX3BjbV9tbWFwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQoreworCXJldHVybiByZW1hcF9wZm5fcmFuZ2Uodm1hLCB2bWEtPnZtX3N0YXJ0LAorCQkJICAgICAgIHN1YnN0cmVhbS0+ZG1hX2J1ZmZlci5hZGRyID4+IFBBR0VfU0hJRlQsCisJCQkgICAgICAgdm1hLT52bV9lbmQgLSB2bWEtPnZtX3N0YXJ0LCB2bWEtPnZtX3BhZ2VfcHJvdCk7Cit9CisKKworCitzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIGF0MzJfcGNtX29wcyA9IHsKKwkub3BlbiA9IGF0MzJfcGNtX29wZW4sCisJLmNsb3NlID0gYXQzMl9wY21fY2xvc2UsCisJLmlvY3RsID0gc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcyA9IGF0MzJfcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZSA9IGF0MzJfcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSBhdDMyX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyID0gYXQzMl9wY21fdHJpZ2dlciwKKwkucG9pbnRlciA9IGF0MzJfcGNtX3BvaW50ZXIsCisJLm1tYXAgPSBhdDMyX3BjbV9tbWFwLAorfTsKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogQVNvQyBwbGF0Zm9ybSBkcml2ZXIKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHU2NCBhdDMyX3BjbV9kbWFtYXNrID0gMHhmZmZmZmZmZjsKKworc3RhdGljIGludCBhdDMyX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAorCQkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJCQlzdHJ1Y3Qgc25kX3BjbSAqcGNtKQoreworCWludCByZXQgPSAwOworCisJaWYgKCFjYXJkLT5kZXYtPmRtYV9tYXNrKQorCQljYXJkLT5kZXYtPmRtYV9tYXNrID0gJmF0MzJfcGNtX2RtYW1hc2s7CisJaWYgKCFjYXJkLT5kZXYtPmNvaGVyZW50X2RtYV9tYXNrKQorCQljYXJkLT5kZXYtPmNvaGVyZW50X2RtYV9tYXNrID0gMHhmZmZmZmZmZjsKKworCWlmIChkYWktPnBsYXliYWNrLmNoYW5uZWxzX21pbikgeworCQlyZXQgPSBhdDMyX3BjbV9wcmVhbGxvY2F0ZV9kbWFfYnVmZmVyKAorCQkJICBwY20sIFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spOworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CisJfQorCisJaWYgKGRhaS0+Y2FwdHVyZS5jaGFubmVsc19taW4pIHsKKwkJcHJfZGVidWcoImF0MzItcGNtOiBBbGxvY2F0aW5nIFBDTSBjYXB0dXJlIERNQSBidWZmZXJcbiIpOworCQlyZXQgPSBhdDMyX3BjbV9wcmVhbGxvY2F0ZV9kbWFfYnVmZmVyKAorCQkJICBwY20sIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwl9CisKKworb3V0OgorCXJldHVybiByZXQ7Cit9CisKKworCitzdGF0aWMgdm9pZCBhdDMyX3BjbV9mcmVlX2RtYV9idWZmZXJzKHN0cnVjdCBzbmRfcGNtICpwY20pCit7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJc3RydWN0IHNuZF9kbWFfYnVmZmVyICpidWY7CisJaW50IHN0cmVhbTsKKworCWZvciAoc3RyZWFtID0gMDsgc3RyZWFtIDwgMjsgc3RyZWFtKyspIHsKKwkJc3Vic3RyZWFtID0gcGNtLT5zdHJlYW1zW3N0cmVhbV0uc3Vic3RyZWFtOworCQlpZiAoc3Vic3RyZWFtID09IE5VTEwpCisJCQljb250aW51ZTsKKworCQlidWYgPSAmc3Vic3RyZWFtLT5kbWFfYnVmZmVyOworCQlpZiAoIWJ1Zi0+YXJlYSkKKwkJCWNvbnRpbnVlOworCQlkbWFfZnJlZV9jb2hlcmVudChwY20tPmNhcmQtPmRldiwgYnVmLT5ieXRlcywKKwkJCQkgIGJ1Zi0+YXJlYSwgYnVmLT5hZGRyKTsKKwkJYnVmLT5hcmVhID0gTlVMTDsKKwl9Cit9CisKKworCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IGF0MzJfcGNtX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gZGFpLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zOworCisJaWYgKHJ1bnRpbWUgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisJcHJ0ZCA9IHJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisKKwkvKiBEaXNhYmxlIHRoZSBQREMgYW5kIHNhdmUgdGhlIFBEQyByZWdpc3RlcnMgKi8KKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBQRENfUFRDUiwgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisKKwlwcnRkLT5wZGNfeHByX3NhdmUgPSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIpOworCXBydGQtPnBkY194Y3Jfc2F2ZSA9IHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjcik7CisJcHJ0ZC0+cGRjX3hucHJfc2F2ZSA9IHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIpOworCXBydGQtPnBkY194bmNyX3NhdmUgPSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bmNyKTsKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3BjbV9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYWktPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXM7CisKKwlpZiAocnVudGltZSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlwcnRkID0gcnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXBhcmFtcyA9IHBydGQtPnBhcmFtczsKKworCS8qIFJlc3RvcmUgdGhlIFBEQyByZWdpc3RlcnMgYW5kIGVuYWJsZSB0aGUgUERDICovCisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhwciwgcHJ0ZC0+cGRjX3hwcl9zYXZlKTsKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eGNyLCBwcnRkLT5wZGNfeGNyX3NhdmUpOworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bnByLCBwcnRkLT5wZGNfeG5wcl9zYXZlKTsKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5jciwgcHJ0ZC0+cGRjX3huY3Jfc2F2ZSk7CisKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBQRENfUFRDUiwgcGFyYW1zLT5tYXNrLT5wZGNfZW5hYmxlKTsKKwlyZXR1cm4gMDsKK30KKyNlbHNlIC8qIENPTkZJR19QTSAqLworIyAgZGVmaW5lIGF0MzJfcGNtX3N1c3BlbmQJTlVMTAorIyAgZGVmaW5lIGF0MzJfcGNtX3Jlc3VtZQlOVUxMCisjZW5kaWYgLyogQ09ORklHX1BNICovCisKKworCitzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBhdDMyX3NvY19wbGF0Zm9ybSA9IHsKKwkubmFtZSA9ICJhdDMyLWF1ZGlvIiwKKwkucGNtX29wcyA9ICZhdDMyX3BjbV9vcHMsCisJLnBjbV9uZXcgPSBhdDMyX3BjbV9uZXcsCisJLnBjbV9mcmVlID0gYXQzMl9wY21fZnJlZV9kbWFfYnVmZmVycywKKwkuc3VzcGVuZCA9IGF0MzJfcGNtX3N1c3BlbmQsCisJLnJlc3VtZSA9IGF0MzJfcGNtX3Jlc3VtZSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChhdDMyX3NvY19wbGF0Zm9ybSk7CisKKworCitNT0RVTEVfQVVUSE9SKCJHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXRtZWwgQVQzMiBQQ00gbW9kdWxlIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5oIGIvc291bmQvc29jL2F0MzIvYXQzMi1wY20uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTUyNDMwCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvYXQzMi1wY20uaApAQCAtMCwwICsxLDc5IEBACisvKiBzb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5oCisgKiBBU29DIFBDTSBpbnRlcmZhY2UgZm9yIEF0bWVsIEFUMzIgU29DCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fU09VTkRfU09DX0FUMzJfQVQzMl9QQ01fSAorI2RlZmluZSBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfUENNX0ggX19GSUxFX18KKworI2luY2x1ZGUgPGxpbnV4L2F0bWVsLXNzYy5oPgorCisKKy8qCisgKiBSZWdpc3RlcnMgYW5kIHN0YXR1cyBiaXRzIHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHRoZSBQQ00gZHJpdmVyCisgKiBUT0RPOiBJcyBwdGNyIHJlYWxseSB1c2VkPworICovCitzdHJ1Y3QgYXQzMl9wZGNfcmVncyB7CisJdTMyIHhwcjsJCS8qIFBEQyBSWC9UWCBwb2ludGVyICovCisJdTMyIHhjcjsJCS8qIFBEQyBSWC9UWCBjb3VudGVyICovCisJdTMyIHhucHI7CQkvKiBQREMgbmV4dCBSWC9UWCBwb2ludGVyICovCisJdTMyIHhuY3I7CQkvKiBQREMgbmV4dCBSWC9UWCBjb3VudGVyICovCisJdTMyIHB0Y3I7CQkvKiBQREMgdHJhbnNmZXIgY29udHJvbCAqLworfTsKKworCisKKy8qCisgKiBTU0MgbWFzayBpbmZvCisgKi8KK3N0cnVjdCBhdDMyX3NzY19tYXNrIHsKKwl1MzIgc3NjX2VuYWJsZTsJCS8qIFNTQyBSWC9UWCBlbmFibGUgKi8KKwl1MzIgc3NjX2Rpc2FibGU7CS8qIFNTQyBSWC9UWCBkaXNhYmxlICovCisJdTMyIHNzY19lbmR4OwkJLyogU1NDIEVORFRYIG9yIEVORFJYICovCisJdTMyIHNzY19lbmRidWY7CQkvKiBTU0MgVFhCVUZGIG9yIFJYQlVGRiAqLworCXUzMiBwZGNfZW5hYmxlOwkJLyogUERDIFJYL1RYIGVuYWJsZSAqLworCXUzMiBwZGNfZGlzYWJsZTsJLyogUERDIFJYL1RYIGRpc2FibGUgKi8KK307CisKKworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUsIHNoYXJlZCBiZXR3ZWVuIHRoZSBQQ00gZHJpdmVyIGFuZCB0aGUgaW50ZXJmYWNlLAorICogY29udGFpbnMgYWxsIGluZm9ybWF0aW9uIHJlcXVpcmVkIGJ5IHRoZSBQQ00gZHJpdmVyIHRvIHBlcmZvcm0gdGhlCisgKiBQREMgRE1BIG9wZXJhdGlvbi4gIEFsbCBmaWVsZHMgZXhjZXB0IGRtYV9pbnRyX2hhbmRsZXIoKSBhcmUgaW5pdGlhbGl6ZWQKKyAqIGJ5IHRoZSBpbnRlcmZhY2UuICBUaGUgZG1zX2ludHJfaGFuZGxlcigpIHBvaW50ZXIgaXMgc2V0IGJ5IHRoZSBQQ00KKyAqIGRyaXZlciBhbmQgY2FsbGVkIGJ5IHRoZSBpbnRlcmZhY2UgU1NDIGludGVycnVwdCBoYW5kbGVyIGlmIGl0IGlzCisgKiBub24tTlVMTC4KKyAqLworc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgeworCWNoYXIgKm5hbWU7CQkvKiBzdHJlYW0gaWRlbnRpZmllciAqLworCWludCBwZGNfeGZlcl9zaXplOwkvKiBQREMgY291bnRlciBpbmNyZW1lbnQgaW4gYnl0ZXMgKi8KKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjOwkvKiBTU0MgZGV2aWNlIGZvciBzdHJlYW0gKi8KKwlzdHJ1Y3QgYXQzMl9wZGNfcmVncyAqcGRjOwkvKiBQREMgcmVnaXN0ZXIgaW5mbyAqLworCXN0cnVjdCBhdDMyX3NzY19tYXNrICptYXNrOwkvKiBTU0MgbWFzayBpbmZvICovCisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJdm9pZCAoKmRtYV9pbnRyX2hhbmRsZXIpICh1MzIsIHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqKTsKK307CisKKworCisvKgorICogVGhlIEFUMzIgQVNvQyBwbGF0Zm9ybSBkcml2ZXIKKyAqLworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX3BsYXRmb3JtIGF0MzJfc29jX3BsYXRmb3JtOworCisKKworLyoKKyAqIFNTQyByZWdpc3RlciBhY2Nlc3MgKHNpbmNlIHNzY193cml0ZWwoKSAvIHNzY19yZWFkbCgpIHJlcXVpcmUgbGl0ZXJhbCBuYW1lKQorICovCisjZGVmaW5lIHNzY19yZWFkeChiYXNlLCByZWcpICAgICAgICAgICAgKF9fcmF3X3JlYWRsKChiYXNlKSArIChyZWcpKSkKKyNkZWZpbmUgc3NjX3dyaXRleChiYXNlLCByZWcsIHZhbHVlKSAgICBfX3Jhd193cml0ZWwoKHZhbHVlKSwgKGJhc2UpICsgKHJlZykpCisKKyNlbmRpZiAvKiBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfUENNX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmMgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlZjY0OTIKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5jCkBAIC0wLDAgKzEsODQ5IEBACisvKiBzb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5jCisgKiBBU29DIHBsYXRmb3JtIGRyaXZlciBmb3IgQVQzMiB1c2luZyBTU0MgYXMgREFJCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBpcyBiYXNpY2FsbHkgYSBwb3J0IG9mIHRoZSBzb3VuZC9zb2MvYXQ5MS1zc2MuYyB0bworICogdGhlIEFWUjMyIGtlcm5lbC4gIFRoYW5rcyB0byBGcmFuayBNYW5kYXJpbm8gZm9yIHRoYXQgY29kZS4KKyAqLworCisvKiAjZGVmaW5lIERFQlVHICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2F0bWVsX3BkYy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0bWVsLXNzYy5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisKKyNpbmNsdWRlICJhdDMyLXBjbS5oIgorI2luY2x1ZGUgImF0MzItc3NjLmgiCisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogQ29uc3RhbnRzCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBOVU1fU1NDX0RFVklDRVMJCTMKKworLyoKKyAqIFNTQyBkaXJlY3Rpb24gbWFza3MKKyAqLworI2RlZmluZSBTU0NfRElSX01BU0tfVU5VU0VECTAKKyNkZWZpbmUgU1NDX0RJUl9NQVNLX1BMQVlCQUNLCTEKKyNkZWZpbmUgU1NDX0RJUl9NQVNLX0NBUFRVUkUJMgorCisvKgorICogU1NDIHJlZ2lzdGVyIHZhbHVlcyB0aGF0IEF0bWVsIGxlZnQgb3V0IG9mIDxsaW51eC9hdG1lbC1zc2MuaD4uICBUaGVzZQorICogYXJlIGV4cGVjdGVkIHRvIGJlIHVzZWQgd2l0aCBTU0NfQkYKKyAqLworLyogU1RBUlQgYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfU1RBUlRfQ09OVElOVU9VUwkwCisjZGVmaW5lIFNTQ19TVEFSVF9UWF9SWAkJMQorI2RlZmluZSBTU0NfU1RBUlRfTE9XX1JGCTIKKyNkZWZpbmUgU1NDX1NUQVJUX0hJR0hfUkYJMworI2RlZmluZSBTU0NfU1RBUlRfRkFMTElOR19SRgk0CisjZGVmaW5lIFNTQ19TVEFSVF9SSVNJTkdfUkYJNQorI2RlZmluZSBTU0NfU1RBUlRfTEVWRUxfUkYJNgorI2RlZmluZSBTU0NfU1RBUlRfRURHRV9SRgk3CisjZGVmaW5lIFNTU19TVEFSVF9DT01QQVJFXzAJOAorCisvKiBDS0kgYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfQ0tJX0ZBTExJTkcJCTAKKyNkZWZpbmUgU1NDX0NLSV9SSVNJTkcJCTEKKworLyogQ0tPIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX0NLT19OT05FCQkwCisjZGVmaW5lIFNTQ19DS09fQ09OVElOVU9VUwkxCisjZGVmaW5lIFNTQ19DS09fVFJBTlNGRVIJMgorCisvKiBDS1MgYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfQ0tTX0RJVgkJMAorI2RlZmluZSBTU0NfQ0tTX0NMT0NLCQkxCisjZGVmaW5lIFNTQ19DS1NfUElOCQkyCisKKy8qIEZTRURHRSBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19GU0VER0VfUE9TSVRJVkUJMAorI2RlZmluZSBTU0NfRlNFREdFX05FR0FUSVZFCTEKKworLyogRlNPUyBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19GU09TX05PTkUJCTAKKyNkZWZpbmUgU1NDX0ZTT1NfTkVHQVRJVkUJMQorI2RlZmluZSBTU0NfRlNPU19QT1NJVElWRQkyCisjZGVmaW5lIFNTQ19GU09TX0xPVwkJMworI2RlZmluZSBTU0NfRlNPU19ISUdICQk0CisjZGVmaW5lIFNTQ19GU09TX1RPR0dMRQkJNQorCisjZGVmaW5lIFNUQVJUX0RFTEFZCQkxCisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogTW9kdWxlIGRhdGEKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKgorICogU1NDIFBEQyByZWdpc3RlcmVkIHJlcXVpcmVkIGJ5IHRoZSBQQ00gRE1BIGVuZ2luZQorICovCitzdGF0aWMgc3RydWN0IGF0MzJfcGRjX3JlZ3MgcGRjX3R4X3JlZyA9IHsKKwkueHByID0gU1NDX1BEQ19UUFIsCisJLnhjciA9IFNTQ19QRENfVENSLAorCS54bnByID0gU1NDX1BEQ19UTlBSLAorCS54bmNyID0gU1NDX1BEQ19UTkNSLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3QgYXQzMl9wZGNfcmVncyBwZGNfcnhfcmVnID0geworCS54cHIgPSBTU0NfUERDX1JQUiwKKwkueGNyID0gU1NDX1BEQ19SQ1IsCisJLnhucHIgPSBTU0NfUERDX1JOUFIsCisJLnhuY3IgPSBTU0NfUERDX1JOQ1IsCit9OworCisKKworLyoKKyAqIFNTQyBhbmQgUERDIHN0YXR1cyBiaXRzIGZvciB0cmFuc21pdCBhbmQgcmVjZWl2ZQorICovCitzdGF0aWMgc3RydWN0IGF0MzJfc3NjX21hc2sgc3NjX3R4X21hc2sgPSB7CisJLnNzY19lbmFibGUgPSBTU0NfQklUKENSX1RYRU4pLAorCS5zc2NfZGlzYWJsZSA9IFNTQ19CSVQoQ1JfVFhESVMpLAorCS5zc2NfZW5keCA9IFNTQ19CSVQoU1JfRU5EVFgpLAorCS5zc2NfZW5kYnVmID0gU1NDX0JJVChTUl9UWEJVRkUpLAorCS5wZGNfZW5hYmxlID0gU1NDX0JJVChQRENfUFRDUl9UWFRFTiksCisJLnBkY19kaXNhYmxlID0gU1NDX0JJVChQRENfUFRDUl9UWFRESVMpLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3QgYXQzMl9zc2NfbWFzayBzc2NfcnhfbWFzayA9IHsKKwkuc3NjX2VuYWJsZSA9IFNTQ19CSVQoQ1JfUlhFTiksCisJLnNzY19kaXNhYmxlID0gU1NDX0JJVChDUl9SWERJUyksCisJLnNzY19lbmR4ID0gU1NDX0JJVChTUl9FTkRSWCksCisJLnNzY19lbmRidWYgPSBTU0NfQklUKFNSX1JYQlVGRiksCisJLnBkY19lbmFibGUgPSBTU0NfQklUKFBEQ19QVENSX1JYVEVOKSwKKwkucGRjX2Rpc2FibGUgPSBTU0NfQklUKFBEQ19QVENSX1JYVERJUyksCit9OworCisKKworLyoKKyAqIERNQSBwYXJhbWV0ZXJzIGZvciBlYWNoIFNTQworICovCitzdGF0aWMgc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgc3NjX2RtYV9wYXJhbXNbTlVNX1NTQ19ERVZJQ0VTXVsyXSA9IHsKKwl7CisJIHsKKwkgIC5uYW1lID0gIlNTQzAgUENNIG91dCIsCisJICAucGRjID0gJnBkY190eF9yZWcsCisJICAubWFzayA9ICZzc2NfdHhfbWFzaywKKwkgIH0sCisJIHsKKwkgIC5uYW1lID0gIlNTQzAgUENNIGluIiwKKwkgIC5wZGMgPSAmcGRjX3J4X3JlZywKKwkgIC5tYXNrID0gJnNzY19yeF9tYXNrLAorCSAgfSwKKwkgfSwKKwl7CisJIHsKKwkgIC5uYW1lID0gIlNTQzEgUENNIG91dCIsCisJICAucGRjID0gJnBkY190eF9yZWcsCisJICAubWFzayA9ICZzc2NfdHhfbWFzaywKKwkgIH0sCisJIHsKKwkgIC5uYW1lID0gIlNTQzEgUENNIGluIiwKKwkgIC5wZGMgPSAmcGRjX3J4X3JlZywKKwkgIC5tYXNrID0gJnNzY19yeF9tYXNrLAorCSAgfSwKKwkgfSwKKwl7CisJIHsKKwkgIC5uYW1lID0gIlNTQzIgUENNIG91dCIsCisJICAucGRjID0gJnBkY190eF9yZWcsCisJICAubWFzayA9ICZzc2NfdHhfbWFzaywKKwkgIH0sCisJIHsKKwkgIC5uYW1lID0gIlNTQzIgUENNIGluIiwKKwkgIC5wZGMgPSAmcGRjX3J4X3JlZywKKwkgIC5tYXNrID0gJnNzY19yeF9tYXNrLAorCSAgfSwKKwkgfSwKK307CisKKworCitzdGF0aWMgc3RydWN0IGF0MzJfc3NjX2luZm8gc3NjX2luZm9bTlVNX1NTQ19ERVZJQ0VTXSA9IHsKKwl7CisJIC5uYW1lID0gInNzYzAiLAorCSAubG9jayA9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHNzY19pbmZvWzBdLmxvY2spLAorCSAuZGlyX21hc2sgPSBTU0NfRElSX01BU0tfVU5VU0VELAorCSAuaW5pdGlhbGl6ZWQgPSAwLAorCSB9LAorCXsKKwkgLm5hbWUgPSAic3NjMSIsCisJIC5sb2NrID0gX19TUElOX0xPQ0tfVU5MT0NLRUQoc3NjX2luZm9bMV0ubG9jayksCisJIC5kaXJfbWFzayA9IFNTQ19ESVJfTUFTS19VTlVTRUQsCisJIC5pbml0aWFsaXplZCA9IDAsCisJIH0sCisJeworCSAubmFtZSA9ICJzc2MyIiwKKwkgLmxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzc2NfaW5mb1syXS5sb2NrKSwKKwkgLmRpcl9tYXNrID0gU1NDX0RJUl9NQVNLX1VOVVNFRCwKKwkgLmluaXRpYWxpemVkID0gMCwKKwkgfSwKK307CisKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBJU1IKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKgorICogU1NDIGludGVycnVwdCBoYW5kbGVyLiAgUGFzc2VzIFBEQyBpbnRlcnJ1cHRzIHRvIHRoZSBETUEgaW50ZXJydXB0CisgKiBoYW5kbGVyIGluIHRoZSBQQ00gZHJpdmVyLgorICovCitzdGF0aWMgaXJxcmV0dXJuX3QgYXQzMl9zc2NfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSBkZXZfaWQ7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXM7CisJdTMyIHNzY19zcjsKKwl1MzIgc3NjX3N1YnN0cmVhbV9tYXNrOworCWludCBpOworCisJc3NjX3NyID0gKHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBTUikgJgorCQkgIHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBJTVIpKTsKKworCS8qCisJICogTG9vcCB0aHJvdWdoIHN1YnN0cmVhbXMgYXR0YWNoZWQgdG8gdGhpcyBTU0MuICBJZiBhIERNQS1yZWxhdGVkCisJICogaW50ZXJydXB0IG9jY3VyZWQgb24gdGhhdCBzdWJzdHJlYW0sIGNhbGwgdGhlIERNQSBpbnRlcnJ1cHQKKwkgKiBoYW5kbGVyIGZ1bmN0aW9uLCBpZiBvbmUgaGFzIGJlZW4gcmVnaXN0ZXJlZCBpbiB0aGUgZG1hX3BhcmFtCisJICogc3RydWN0dXJlIGJ5IHRoZSBQQ00gZHJpdmVyLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNzY19wLT5kbWFfcGFyYW1zKTsgaSsrKSB7CisJCWRtYV9wYXJhbXMgPSBzc2NfcC0+ZG1hX3BhcmFtc1tpXTsKKworCQlpZiAoKGRtYV9wYXJhbXMgIT0gTlVMTCkgJiYKKwkJICAgIChkbWFfcGFyYW1zLT5kbWFfaW50cl9oYW5kbGVyICE9IE5VTEwpKSB7CisJCQlzc2Nfc3Vic3RyZWFtX21hc2sgPSAoZG1hX3BhcmFtcy0+bWFzay0+c3NjX2VuZHggfAorCQkJCQkgICAgICBkbWFfcGFyYW1zLT5tYXNrLT5zc2NfZW5kYnVmKTsKKwkJCWlmIChzc2Nfc3IgJiBzc2Nfc3Vic3RyZWFtX21hc2spIHsKKwkJCQlkbWFfcGFyYW1zLT5kbWFfaW50cl9oYW5kbGVyKHNzY19zciwKKwkJCQkJCQkgICAgIGRtYV9wYXJhbXMtPgorCQkJCQkJCSAgICAgc3Vic3RyZWFtKTsKKwkJCX0KKwkJfQorCX0KKworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogREFJIGZ1bmN0aW9ucworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qCisgKiBTdGFydHVwLiAgT25seSB0aGF0IG9uZSBzdWJzdHJlYW0gYWxsb3dlZCBpbiBlYWNoIGRpcmVjdGlvbi4KKyAqLworc3RhdGljIGludCBhdDMyX3NzY19zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bcnRkLT5kYWktPmNwdV9kYWktPmlkXTsKKwlpbnQgZGlyX21hc2s7CisKKwlkaXJfbWFzayA9ICgoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykgPworCQkgICAgU1NDX0RJUl9NQVNLX1BMQVlCQUNLIDogU1NDX0RJUl9NQVNLX0NBUFRVUkUpOworCisJc3Bpbl9sb2NrX2lycSgmc3NjX3AtPmxvY2spOworCWlmIChzc2NfcC0+ZGlyX21hc2sgJiBkaXJfbWFzaykgeworCQlzcGluX3VubG9ja19pcnEoJnNzY19wLT5sb2NrKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CisJc3NjX3AtPmRpcl9tYXNrIHw9IGRpcl9tYXNrOworCXNwaW5fdW5sb2NrX2lycSgmc3NjX3AtPmxvY2spOworCisJcmV0dXJuIDA7Cit9CisKKworCisvKgorICogU2h1dGRvd24uICBDbGVhciBETUEgcGFyYW1ldGVycyBhbmQgc2h1dGRvd24gdGhlIFNTQyBpZiB0aGVyZQorICogYXJlIG5vIG90aGVyIHN1YnN0cmVhbXMgb3Blbi4KKyAqLworc3RhdGljIHZvaWQgYXQzMl9zc2Nfc2h1dGRvd24oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tydGQtPmRhaS0+Y3B1X2RhaS0+aWRdOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpkbWFfcGFyYW1zOworCWludCBkaXJfbWFzazsKKworCWRtYV9wYXJhbXMgPSBzc2NfcC0+ZG1hX3BhcmFtc1tzdWJzdHJlYW0tPnN0cmVhbV07CisKKwlpZiAoZG1hX3BhcmFtcyAhPSBOVUxMKSB7CisJCXNzY193cml0ZWwoZG1hX3BhcmFtcy0+c3NjLT5yZWdzLCBDUiwKKwkJCSAgIGRtYV9wYXJhbXMtPm1hc2stPnNzY19kaXNhYmxlKTsKKwkJcHJfZGVidWcoIiVzIGRpc2FibGVkIFNTQ19TUj0weCUwOHhcbiIsCisJCQkgKHN1YnN0cmVhbS0+c3RyZWFtID8gInJlY2VpdmVyIiA6ICJ0cmFuc21pdCIpLAorCQkJIHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBTUikpOworCisJCWRtYV9wYXJhbXMtPnNzYyA9IE5VTEw7CisJCWRtYV9wYXJhbXMtPnN1YnN0cmVhbSA9IE5VTEw7CisJCXNzY19wLT5kbWFfcGFyYW1zW3N1YnN0cmVhbS0+c3RyZWFtXSA9IE5VTEw7CisJfQorCisKKwlkaXJfbWFzayA9IDEgPDwgc3Vic3RyZWFtLT5zdHJlYW07CisJc3Bpbl9sb2NrX2lycSgmc3NjX3AtPmxvY2spOworCXNzY19wLT5kaXJfbWFzayAmPSB+ZGlyX21hc2s7CisJaWYgKCFzc2NfcC0+ZGlyX21hc2spIHsKKwkJLyogU2h1dGRvd24gdGhlIFNTQyBjbG9jayAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFN0b3BwaW5nIHVzZXIgJWQgY2xvY2tcbiIsCisJCQkgc3NjX3AtPnNzYy0+dXNlcik7CisJCWNsa19kaXNhYmxlKHNzY19wLT5zc2MtPmNsayk7CisKKwkJaWYgKHNzY19wLT5pbml0aWFsaXplZCkgeworCQkJZnJlZV9pcnEoc3NjX3AtPnNzYy0+aXJxLCBzc2NfcCk7CisJCQlzc2NfcC0+aW5pdGlhbGl6ZWQgPSAwOworCQl9CisKKwkJLyogUmVzZXQgdGhlIFNTQyAqLworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENSLCBTU0NfQklUKENSX1NXUlNUKSk7CisKKwkJLyogY2xlYXIgdGhlIFNTQyBkaXZpZGVycyAqLworCQlzc2NfcC0+Y21yX2RpdiA9IDA7CisJCXNzY19wLT50Y21yX3BlcmlvZCA9IDA7CisJCXNzY19wLT5yY21yX3BlcmlvZCA9IDA7CisJfQorCXNwaW5fdW5sb2NrX2lycSgmc3NjX3AtPmxvY2spOworfQorCisKKworLyoKKyAqIFNldCB0aGUgU1NDIHN5c3RlbSBjbG9jayByYXRlCisgKi8KK3N0YXRpYyBpbnQgYXQzMl9zc2Nfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAorCQkJCSAgIGludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQoreworCS8qIFRPRE86IFdoYXQgdGhlIGhlY2sgZG8gSSBkbyBoZXJlPyAqLworCXJldHVybiAwOworfQorCisKKworLyoKKyAqIFJlY29yZCBEQUkgZm9ybWF0IGZvciB1c2UgYnkgaHdfcGFyYW1zKCkKKyAqLworc3RhdGljIGludCBhdDMyX3NzY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCisJCQkJdW5zaWduZWQgaW50IGZtdCkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOworCisJc3NjX3AtPmRhaWZtdCA9IGZtdDsKKwlyZXR1cm4gMDsKK30KKworCisKKy8qCisgKiBSZWNvcmQgU1NDIGNsb2NrIGRpdmlkZXJzIGZvciB1c2UgaW4gaHdfcGFyYW1zKCkKKyAqLworc3RhdGljIGludCBhdDMyX3NzY19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCisJCQkJICAgaW50IGRpdl9pZCwgaW50IGRpdikKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOworCisJc3dpdGNoIChkaXZfaWQpIHsKKwljYXNlIEFUMzJfU1NDX0NNUl9ESVY6CisJCS8qCisJCSAqIFRoZSBzYW1lIG1hc3RlciBjbG9jayBkaXZpZGVyIGlzIHVzZWQgZm9yIGJvdGgKKwkJICogdHJhbnNtaXQgYW5kIHJlY2VpdmUsIHNvIGlmIGEgdmFsdWUgaGFzIGFscmVhZHkKKwkJICogYmVlbiBzZXQsIGl0IG11c3QgbWF0Y2ggdGhpcyB2YWx1ZQorCQkgKi8KKwkJaWYgKHNzY19wLT5jbXJfZGl2ID09IDApCisJCQlzc2NfcC0+Y21yX2RpdiA9IGRpdjsKKwkJZWxzZSBpZiAoZGl2ICE9IHNzY19wLT5jbXJfZGl2KQorCQkJcmV0dXJuIC1FQlVTWTsKKwkJYnJlYWs7CisKKwljYXNlIEFUMzJfU1NDX1RDTVJfUEVSSU9EOgorCQlzc2NfcC0+dGNtcl9wZXJpb2QgPSBkaXY7CisJCWJyZWFrOworCisJY2FzZSBBVDMyX1NTQ19SQ01SX1BFUklPRDoKKwkJc3NjX3AtPnJjbXJfcGVyaW9kID0gZGl2OworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiAwOworfQorCisKKworLyoKKyAqIENvbmZpZ3VyZSB0aGUgU1NDCisgKi8KK3N0YXRpYyBpbnQgYXQzMl9zc2NfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCWludCBpZCA9IHJ0ZC0+ZGFpLT5jcHVfZGFpLT5pZDsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9baWRdOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpkbWFfcGFyYW1zOworCWludCBjaGFubmVscywgYml0czsKKwl1MzIgdGZtciwgcmZtciwgdGNtciwgcmNtcjsKKwlpbnQgc3RhcnRfZXZlbnQ7CisJaW50IHJldDsKKworCisJLyoKKwkgKiBDdXJyZW50bHksIHRoZXJlIGlzIG9ubHkgb25lIHNldCBvZiBkbWFfcGFyYW1zIGZvciBlYWNoIGRpcmVjdGlvbi4KKwkgKiBJZiBtb3JlIGFyZSBhZGRlZCwgdGhpcyBjb2RlIHdpbGwgaGF2ZSB0byBiZSBjaGFuZ2VkIHRvIHNlbGVjdAorCSAqIHRoZSBwcm9wZXIgc2V0CisJICovCisJZG1hX3BhcmFtcyA9ICZzc2NfZG1hX3BhcmFtc1tpZF1bc3Vic3RyZWFtLT5zdHJlYW1dOworCWRtYV9wYXJhbXMtPnNzYyA9IHNzY19wLT5zc2M7CisJZG1hX3BhcmFtcy0+c3Vic3RyZWFtID0gc3Vic3RyZWFtOworCisJc3NjX3AtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dID0gZG1hX3BhcmFtczsKKworCisJLyoKKwkgKiBUaGUgY3B1X2RhaS0+ZG1hX2RhdGEgZmllbGQgaXMgb25seSB1c2VkIHRvIGNvbW11bmljYXRlIHRoZQorCSAqIGFwcHJvcHJpYXRlIERNQSBwYXJhbWV0ZXJzIHRvIHRoZSBQQ00gZHJpdmVyJ3MgaHdfcGFyYW1zKCkKKwkgKiBmdW5jdGlvbi4gIEl0IHNob3VsZCBub3QgYmUgdXNlZCBmb3Igb3RoZXIgcHVycG9zZXMgYXMgaXQKKwkgKiBpcyBjb21tb24gdG8gYWxsIHN1YnN0cmVhbXMuCisJICovCisJcnRkLT5kYWktPmNwdV9kYWktPmRtYV9kYXRhID0gZG1hX3BhcmFtczsKKworCWNoYW5uZWxzID0gcGFyYW1zX2NoYW5uZWxzKHBhcmFtcyk7CisKKworCS8qCisJICogRGV0ZXJtaW5lIHNhbXBsZSBzaXplIGluIGJpdHMgYW5kIHRoZSBQREMgaW5jcmVtZW50CisJICovCisJc3dpdGNoIChwYXJhbXNfZm9ybWF0KHBhcmFtcykpIHsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzg6CisJCWJpdHMgPSA4OworCQlkbWFfcGFyYW1zLT5wZGNfeGZlcl9zaXplID0gMTsKKwkJYnJlYWs7CisKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2OgorCQliaXRzID0gMTY7CisJCWRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUgPSAyOworCQlicmVhazsKKworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMjQ6CisJCWJpdHMgPSAyNDsKKwkJZG1hX3BhcmFtcy0+cGRjX3hmZXJfc2l6ZSA9IDQ7CisJCWJyZWFrOworCisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MzMjoKKwkJYml0cyA9IDMyOworCQlkbWFfcGFyYW1zLT5wZGNfeGZlcl9zaXplID0gNDsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwcl93YXJuaW5nKCJhdDMyLXNzYzogVW5zdXBwb3J0ZWQgUENNIGZvcm1hdCAlZCIsCisJCQkgICBwYXJhbXNfZm9ybWF0KHBhcmFtcykpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcHJfZGVidWcoImF0MzItc3NjOiBiaXRzID0gJWQsIHBkY194ZmVyX3NpemUgPSAlZCwgY2hhbm5lbHMgPSAlZFxuIiwKKwkJIGJpdHMsIGRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUsIGNoYW5uZWxzKTsKKworCisJLyoKKwkgKiBUaGUgU1NDIG9ubHkgc3VwcG9ydHMgdXAgdG8gMTYtYml0IHNhbXBsZXMgaW4gSTJTIGZvcm1hdCwgZHVlCisJICogdG8gdGhlIHNpemUgb2YgdGhlIEZyYW1lIE1vZGUgUmVnaXN0ZXIgRlNMRU4gZmllbGQuCisJICovCisJaWYgKChzc2NfcC0+ZGFpZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spID09IFNORF9TT0NfREFJRk1UX0kyUykKKwkJaWYgKGJpdHMgPiAxNikgeworCQkJcHJfd2FybmluZygiYXQzMi1zc2M6ICIKKwkJCQkgICAic2FtcGxlIHNpemUgJWQgaXMgdG9vIGxhcmdlIGZvciBJMlNcbiIsCisJCQkJICAgYml0cyk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisKKwkvKgorCSAqIENvbXB1dGUgdGhlIFNTQyByZWdpc3RlciBzZXR0aW5ncworCSAqLworCXN3aXRjaCAoc3NjX3AtPmRhaWZtdCAmIChTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSyB8CisJCQkJIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSkgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKKwkJLyoKKwkJICogSTJTIGZvcm1hdCwgU1NDIHByb3ZpZGVzIEJDTEsgYW5kIExSUyBjbG9ja3MuCisJCSAqCisJCSAqIFRoZSBTU0MgdHJhbnNtaXQgYW5kIHJlY2VpdmUgY2xvY2tzIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUKKwkJICogTUNLIGRpdmlkZXIsIGFuZCB0aGUgQkNMSyBzaWduYWwgaXMgb3V0cHV0IG9uIHRoZSBTU0MgVEsgbGluZQorCQkgKi8KKwkJcHJfZGVidWcoImF0MzItc3NjOiBTU0MgbW9kZSBpcyBJMlMgQkNMSyAvIEZSQU1FIG1hc3RlclxuIik7CisJCXJjbXIgPSAoU1NDX0JGKFJDTVJfUEVSSU9ELCBzc2NfcC0+cmNtcl9wZXJpb2QpIHwKKwkJCVNTQ19CRihSQ01SX1NUVERMWSwgU1RBUlRfREVMQVkpIHwKKwkJCVNTQ19CRihSQ01SX1NUQVJULCBTU0NfU1RBUlRfRkFMTElOR19SRikgfAorCQkJU1NDX0JGKFJDTVJfQ0tJLCBTU0NfQ0tJX1JJU0lORykgfAorCQkJU1NDX0JGKFJDTVJfQ0tPLCBTU0NfQ0tPX05PTkUpIHwKKwkJCVNTQ19CRihSQ01SX0NLUywgU1NDX0NLU19ESVYpKTsKKworCQlyZm1yID0gKFNTQ19CRihSRk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFJGTVJfRlNPUywgU1NDX0ZTT1NfTkVHQVRJVkUpIHwKKwkJCVNTQ19CRihSRk1SX0ZTTEVOLCBiaXRzIC0gMSkgfAorCQkJU1NDX0JGKFJGTVJfREFUTkIsIGNoYW5uZWxzIC0gMSkgfAorCQkJU1NDX0JJVChSRk1SX01TQkYpIHwgU1NDX0JGKFJGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCisJCXRjbXIgPSAoU1NDX0JGKFRDTVJfUEVSSU9ELCBzc2NfcC0+dGNtcl9wZXJpb2QpIHwKKwkJCVNTQ19CRihUQ01SX1NUVERMWSwgU1RBUlRfREVMQVkpIHwKKwkJCVNTQ19CRihUQ01SX1NUQVJULCBTU0NfU1RBUlRfRkFMTElOR19SRikgfAorCQkJU1NDX0JGKFRDTVJfQ0tJLCBTU0NfQ0tJX0ZBTExJTkcpIHwKKwkJCVNTQ19CRihUQ01SX0NLTywgU1NDX0NLT19DT05USU5VT1VTKSB8CisJCQlTU0NfQkYoVENNUl9DS1MsIFNTQ19DS1NfRElWKSk7CisKKwkJdGZtciA9IChTU0NfQkYoVEZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0ZTT1MsIFNTQ19GU09TX05FR0FUSVZFKSB8CisJCQlTU0NfQkYoVEZNUl9GU0xFTiwgYml0cyAtIDEpIHwKKwkJCVNTQ19CRihURk1SX0RBVE5CLCBjaGFubmVscyAtIDEpIHwgU1NDX0JJVChURk1SX01TQkYpIHwKKwkJCVNTQ19CRihURk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKwkJYnJlYWs7CisKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTToKKwkJLyoKKwkJICogSTJTIGZvcm1hdCwgQ09ERUMgc3VwcGxpZXMgQkNMSyBhbmQgTFJDIGNsb2NrLgorCQkgKgorCQkgKiBUaGUgU1NDIHRyYW5zbWl0IGNsb2NrIGlzIG9idGFpbmVkIGZyb20gdGhlIEJDTEsgc2lnbmFsCisJCSAqIG9uIHRoZSBUSyBsaW5lLCBhbmQgdGhlIFNTQyByZWNlaXZlIGNsb2NrIGlzIGdlbmVyYXRlZCBmcm9tCisJCSAqIHRoZSB0cmFuc21pdCBjbG9jay4KKwkJICoKKwkJICogRm9yIHNpbmdsZSBjaGFubmVsIGRhdGEsIG9uZSBzYW1wbGUgaXMgdHJhbnNmZXJyZWQgb24gdGhlCisJCSAqIGZhbGxpbmcgZWRnZSBvZiB0aGUgTFJDIGNsb2NrLiAgRm9yIHR3byBjaGFubmVsIGRhdGEsIG9uZQorCQkgKiBzYW1wbGUgaXMgdHJhbnNmZXJyZWQgb24gYm90aCBlZGdlcyBvZiB0aGUgTFJDIGNsb2NrLgorCQkgKi8KKwkJcHJfZGVidWcoImF0MzItc3NjOiBTU0MgbW9kZSBpcyBJMlMgQkNMSyAvIEZSQU1FIHNsYXZlXG4iKTsKKwkJc3RhcnRfZXZlbnQgPSAoKGNoYW5uZWxzID09IDEpID8KKwkJCSAgICAgICBTU0NfU1RBUlRfRkFMTElOR19SRiA6IFNTQ19TVEFSVF9FREdFX1JGKTsKKworCQlyY21yID0gKFNTQ19CRihSQ01SX1NUVERMWSwgU1RBUlRfREVMQVkpIHwKKwkJCVNTQ19CRihSQ01SX1NUQVJULCBzdGFydF9ldmVudCkgfAorCQkJU1NDX0JGKFJDTVJfQ0tJLCBTU0NfQ0tJX1JJU0lORykgfAorCQkJU1NDX0JGKFJDTVJfQ0tPLCBTU0NfQ0tPX05PTkUpIHwKKwkJCVNTQ19CRihSQ01SX0NLUywgU1NDX0NLU19DTE9DSykpOworCisJCXJmbXIgPSAoU1NDX0JGKFJGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9GU09TLCBTU0NfRlNPU19OT05FKSB8CisJCQlTU0NfQklUKFJGTVJfTVNCRikgfCBTU0NfQkYoUkZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisKKwkJdGNtciA9IChTU0NfQkYoVENNUl9TVFRETFksIFNUQVJUX0RFTEFZKSB8CisJCQlTU0NfQkYoVENNUl9TVEFSVCwgc3RhcnRfZXZlbnQpIHwKKwkJCVNTQ19CRihUQ01SX0NLSSwgU1NDX0NLSV9GQUxMSU5HKSB8CisJCQlTU0NfQkYoVENNUl9DS08sIFNTQ19DS09fTk9ORSkgfAorCQkJU1NDX0JGKFRDTVJfQ0tTLCBTU0NfQ0tTX1BJTikpOworCisJCXRmbXIgPSAoU1NDX0JGKFRGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoVEZNUl9GU09TLCBTU0NfRlNPU19OT05FKSB8CisJCQlTU0NfQklUKFRGTVJfTVNCRikgfCBTU0NfQkYoVEZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisJCWJyZWFrOworCisKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKKwkJLyoKKwkJICogRFNQL1BDTSBNb2RlIEEgZm9ybWF0LCBTU0MgcHJvdmlkZXMgQkNMSyBhbmQgTFJDIGNsb2Nrcy4KKwkJICoKKwkJICogVGhlIFNTQyB0cmFuc21pdCBhbmQgcmVjZWl2ZSBjbG9ja3MgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZQorCQkgKiBNQ0sgZGl2aWRlciwgYW5kIHRoZSBCQ0xLIHNpZ25hbCBpcyBvdXRwdXQgb24gdGhlIFNTQyBUSyBsaW5lCisJCSAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFNTQyBtb2RlIGlzIERTUCBBIEJDTEsgLyBGUkFNRSBtYXN0ZXJcbiIpOworCQlyY21yID0gKFNTQ19CRihSQ01SX1BFUklPRCwgc3NjX3AtPnJjbXJfcGVyaW9kKSB8CisJCQlTU0NfQkYoUkNNUl9TVFRETFksIDEpIHwKKwkJCVNTQ19CRihSQ01SX1NUQVJULCBTU0NfU1RBUlRfUklTSU5HX1JGKSB8CisJCQlTU0NfQkYoUkNNUl9DS0ksIFNTQ19DS0lfUklTSU5HKSB8CisJCQlTU0NfQkYoUkNNUl9DS08sIFNTQ19DS09fTk9ORSkgfAorCQkJU1NDX0JGKFJDTVJfQ0tTLCBTU0NfQ0tTX0RJVikpOworCisJCXJmbXIgPSAoU1NDX0JGKFJGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9GU09TLCBTU0NfRlNPU19QT1NJVElWRSkgfAorCQkJU1NDX0JGKFJGTVJfREFUTkIsIGNoYW5uZWxzIC0gMSkgfAorCQkJU1NDX0JJVChSRk1SX01TQkYpIHwgU1NDX0JGKFJGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCisJCXRjbXIgPSAoU1NDX0JGKFRDTVJfUEVSSU9ELCBzc2NfcC0+dGNtcl9wZXJpb2QpIHwKKwkJCVNTQ19CRihUQ01SX1NUVERMWSwgMSkgfAorCQkJU1NDX0JGKFRDTVJfU1RBUlQsIFNTQ19TVEFSVF9SSVNJTkdfUkYpIHwKKwkJCVNTQ19CRihUQ01SX0NLSSwgU1NDX0NLSV9SSVNJTkcpIHwKKwkJCVNTQ19CRihUQ01SX0NLTywgU1NDX0NLT19DT05USU5VT1VTKSB8CisJCQlTU0NfQkYoVENNUl9DS1MsIFNTQ19DS1NfRElWKSk7CisKKwkJdGZtciA9IChTU0NfQkYoVEZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0ZTT1MsIFNTQ19GU09TX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoVEZNUl9EQVROQiwgY2hhbm5lbHMgLSAxKSB8CisJCQlTU0NfQklUKFRGTVJfTVNCRikgfCBTU0NfQkYoVEZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisJCWJyZWFrOworCisKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BIHwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTToKKwlkZWZhdWx0OgorCQlwcl93YXJuaW5nKCJhdDMyLXNzYzogdW5zdXBwb3J0ZWQgREFJIGZvcm1hdCAweCV4XG4iLAorCQkJICAgc3NjX3AtPmRhaWZtdCk7CisJCXJldHVybiAtRUlOVkFMOworCQlicmVhazsKKwl9CisJcHJfZGVidWcoImF0MzItc3NjOiBSQ01SPSUwOHggUkZNUj0lMDh4IFRDTVI9JTA4eCBURk1SPSUwOHhcbiIsCisJCSByY21yLCByZm1yLCB0Y21yLCB0Zm1yKTsKKworCisJaWYgKCFzc2NfcC0+aW5pdGlhbGl6ZWQpIHsKKwkJLyogZW5hYmxlIHBlcmlwaGVyYWwgY2xvY2sgKi8KKwkJcHJfZGVidWcoImF0MzItc3NjOiBTdGFydGluZyBjbG9ja1xuIik7CisJCWNsa19lbmFibGUoc3NjX3AtPnNzYy0+Y2xrKTsKKworCQkvKiBSZXNldCB0aGUgU1NDIGFuZCBpdHMgUERDIHJlZ2lzdGVycyAqLworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENSLCBTU0NfQklUKENSX1NXUlNUKSk7CisKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfUlBSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfUkNSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfUk5QUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1JOQ1IsIDApOworCisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1RQUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1RDUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1ROUFIsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19UTkNSLCAwKTsKKworCQlyZXQgPSByZXF1ZXN0X2lycShzc2NfcC0+c3NjLT5pcnEsIGF0MzJfc3NjX2ludGVycnVwdCwgMCwKKwkJCQkgIHNzY19wLT5uYW1lLCBzc2NfcCk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcl93YXJuaW5nKCJhdDMyLXNzYzogcmVxdWVzdCBpcnEgZmFpbGVkICglZClcbiIsIHJldCk7CisJCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFN0b3BwaW5nIGNsb2NrXG4iKTsKKwkJCWNsa19kaXNhYmxlKHNzY19wLT5zc2MtPmNsayk7CisJCQlyZXR1cm4gcmV0OworCQl9CisKKwkJc3NjX3AtPmluaXRpYWxpemVkID0gMTsKKwl9CisKKwkvKiBTZXQgU1NDIGNsb2NrIG1vZGUgcmVnaXN0ZXIgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENNUiwgc3NjX3AtPmNtcl9kaXYpOworCisJLyogc2V0IHJlY2VpdmUgY2xvY2sgbW9kZSBhbmQgZm9ybWF0ICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBSQ01SLCByY21yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFJGTVIsIHJmbXIpOworCisJLyogc2V0IHRyYW5zbWl0IGNsb2NrIG1vZGUgYW5kIGZvcm1hdCAqLworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgVENNUiwgdGNtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBURk1SLCB0Zm1yKTsKKworCXByX2RlYnVnKCJhdDMyLXNzYzogU1NDIGluaXRpYWxpemVkXG4iKTsKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9zc2NfcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW3J0ZC0+ZGFpLT5jcHVfZGFpLT5pZF07CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXM7CisKKwlkbWFfcGFyYW1zID0gc3NjX3AtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dOworCisJc3NjX3dyaXRlbChkbWFfcGFyYW1zLT5zc2MtPnJlZ3MsIENSLCBkbWFfcGFyYW1zLT5tYXNrLT5zc2NfZW5hYmxlKTsKKworCXJldHVybiAwOworfQorCisKKworI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBhdDMyX3NzY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcDsKKworCWlmICghY3B1X2RhaS0+YWN0aXZlKQorCQlyZXR1cm4gMDsKKworCXNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKKworCS8qIFNhdmUgdGhlIHN0YXR1cyByZWdpc3RlciBiZWZvcmUgZGlzYWJsaW5nIHRyYW5zbWl0IGFuZCByZWNlaXZlICovCisJc3NjX3AtPnNzY19zdGF0ZS5zc2Nfc3IgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgU1IpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ1IsIFNTQ19CSVQoQ1JfVFhESVMpIHwgU1NDX0JJVChDUl9SWERJUykpOworCisJLyogU2F2ZSB0aGUgY3VycmVudCBpbnRlcnJ1cHQgbWFzaywgdGhlbiBkaXNhYmxlIHVubWFza2VkIGludGVycnVwdHMgKi8KKwlzc2NfcC0+c3NjX3N0YXRlLnNzY19pbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgSU1SKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIElEUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfaW1yKTsKKworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX2NtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBDTVIpOworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX3JjbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgUkNNUik7CisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfcmZtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBSRk1SKTsKKwlzc2NfcC0+c3NjX3N0YXRlLnNzY190Y21yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFRDTVIpOworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX3RmbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgVEZNUik7CisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9zc2NfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wOworCXUzMiBjcjsKKworCWlmICghY3B1X2RhaS0+YWN0aXZlKQorCQlyZXR1cm4gMDsKKworCXNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKKworCS8qIHJlc3RvcmUgU1NDIHJlZ2lzdGVyIHNldHRpbmdzICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBURk1SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY190Zm1yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFRDTVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX3RjbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUkZNUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfcmZtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBSQ01SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19yY21yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENNUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfY21yKTsKKworCS8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBJRVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX2ltcik7CisKKwkvKiBSZS1lbmFibGUgcmVjaWV2ZSBhbmQgdHJhbnNtaXQgYXMgYXBwcm9wcmlhdGUgKi8KKwljciA9IDA7CisJY3IgfD0KKwkgICAgKHNzY19wLT5zc2Nfc3RhdGUuc3NjX3NyICYgU1NDX0JJVChTUl9SWEVOKSkgPyBTU0NfQklUKENSX1JYRU4pIDogMDsKKwljciB8PQorCSAgICAoc3NjX3AtPnNzY19zdGF0ZS5zc2Nfc3IgJiBTU0NfQklUKFNSX1RYRU4pKSA/IFNTQ19CSVQoQ1JfVFhFTikgOiAwOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ1IsIGNyKTsKKworCXJldHVybiAwOworfQorI2Vsc2UgLyogQ09ORklHX1BNICovCisjICBkZWZpbmUgYXQzMl9zc2Nfc3VzcGVuZAlOVUxMCisjICBkZWZpbmUgYXQzMl9zc2NfcmVzdW1lCU5VTEwKKyNlbmRpZiAvKiBDT05GSUdfUE0gKi8KKworCisjZGVmaW5lIEFUMzJfU1NDX1JBVEVTIFwKKyAgICAoU05EUlZfUENNX1JBVEVfODAwMCAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8IFNORFJWX1BDTV9SQVRFXzE2MDAwIHwgXAorICAgICBTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzMyMDAwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBcCisgICAgIFNORFJWX1BDTV9SQVRFXzQ4MDAwIHwgU05EUlZfUENNX1JBVEVfODgyMDAgfCBTTkRSVl9QQ01fUkFURV85NjAwMCkKKworCisjZGVmaW5lIEFUMzJfU1NDX0ZPUk1BVFMgXAorICAgIChTTkRSVl9QQ01fRk1UQklUX1M4ICB8IFNORFJWX1BDTV9GTVRCSVRfUzE2IHwgXAorICAgICBTTkRSVl9QQ01fRk1UQklUX1MyNCB8IFNORFJWX1BDTV9GTVRCSVRfUzMyKQorCisKK3N0cnVjdCBzbmRfc29jX2RhaSBhdDMyX3NzY19kYWlbTlVNX1NTQ19ERVZJQ0VTXSA9IHsKKwl7CisJIC5uYW1lID0gImF0MzItc3NjMCIsCisJIC5pZCA9IDAsCisJIC50eXBlID0gU05EX1NPQ19EQUlfUENNLAorCSAuc3VzcGVuZCA9IGF0MzJfc3NjX3N1c3BlbmQsCisJIC5yZXN1bWUgPSBhdDMyX3NzY19yZXN1bWUsCisJIC5wbGF5YmFjayA9IHsKKwkJICAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgICB9LAorCSAuY2FwdHVyZSA9IHsKKwkJICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgfSwKKwkgLm9wcyA9IHsKKwkJIC5zdGFydHVwID0gYXQzMl9zc2Nfc3RhcnR1cCwKKwkJIC5zaHV0ZG93biA9IGF0MzJfc3NjX3NodXRkb3duLAorCQkgLnByZXBhcmUgPSBhdDMyX3NzY19wcmVwYXJlLAorCQkgLmh3X3BhcmFtcyA9IGF0MzJfc3NjX2h3X3BhcmFtcywKKwkJIH0sCisJIC5kYWlfb3BzID0geworCQkgICAgIC5zZXRfc3lzY2xrID0gYXQzMl9zc2Nfc2V0X2RhaV9zeXNjbGssCisJCSAgICAgLnNldF9mbXQgPSBhdDMyX3NzY19zZXRfZGFpX2ZtdCwKKwkJICAgICAuc2V0X2Nsa2RpdiA9IGF0MzJfc3NjX3NldF9kYWlfY2xrZGl2LAorCQkgICAgIH0sCisJIC5wcml2YXRlX2RhdGEgPSAmc3NjX2luZm9bMF0sCisJIH0sCisJeworCSAubmFtZSA9ICJhdDMyLXNzYzEiLAorCSAuaWQgPSAxLAorCSAudHlwZSA9IFNORF9TT0NfREFJX1BDTSwKKwkgLnN1c3BlbmQgPSBhdDMyX3NzY19zdXNwZW5kLAorCSAucmVzdW1lID0gYXQzMl9zc2NfcmVzdW1lLAorCSAucGxheWJhY2sgPSB7CisJCSAgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICAgfSwKKwkgLmNhcHR1cmUgPSB7CisJCSAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgIH0sCisJIC5vcHMgPSB7CisJCSAuc3RhcnR1cCA9IGF0MzJfc3NjX3N0YXJ0dXAsCisJCSAuc2h1dGRvd24gPSBhdDMyX3NzY19zaHV0ZG93biwKKwkJIC5wcmVwYXJlID0gYXQzMl9zc2NfcHJlcGFyZSwKKwkJIC5od19wYXJhbXMgPSBhdDMyX3NzY19od19wYXJhbXMsCisJCSB9LAorCSAuZGFpX29wcyA9IHsKKwkJICAgICAuc2V0X3N5c2NsayA9IGF0MzJfc3NjX3NldF9kYWlfc3lzY2xrLAorCQkgICAgIC5zZXRfZm10ID0gYXQzMl9zc2Nfc2V0X2RhaV9mbXQsCisJCSAgICAgLnNldF9jbGtkaXYgPSBhdDMyX3NzY19zZXRfZGFpX2Nsa2RpdiwKKwkJICAgICB9LAorCSAucHJpdmF0ZV9kYXRhID0gJnNzY19pbmZvWzFdLAorCSB9LAorCXsKKwkgLm5hbWUgPSAiYXQzMi1zc2MyIiwKKwkgLmlkID0gMiwKKwkgLnR5cGUgPSBTTkRfU09DX0RBSV9QQ00sCisJIC5zdXNwZW5kID0gYXQzMl9zc2Nfc3VzcGVuZCwKKwkgLnJlc3VtZSA9IGF0MzJfc3NjX3Jlc3VtZSwKKwkgLnBsYXliYWNrID0geworCQkgICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgIH0sCisJIC5jYXB0dXJlID0geworCQkgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICB9LAorCSAub3BzID0geworCQkgLnN0YXJ0dXAgPSBhdDMyX3NzY19zdGFydHVwLAorCQkgLnNodXRkb3duID0gYXQzMl9zc2Nfc2h1dGRvd24sCisJCSAucHJlcGFyZSA9IGF0MzJfc3NjX3ByZXBhcmUsCisJCSAuaHdfcGFyYW1zID0gYXQzMl9zc2NfaHdfcGFyYW1zLAorCQkgfSwKKwkgLmRhaV9vcHMgPSB7CisJCSAgICAgLnNldF9zeXNjbGsgPSBhdDMyX3NzY19zZXRfZGFpX3N5c2NsaywKKwkJICAgICAuc2V0X2ZtdCA9IGF0MzJfc3NjX3NldF9kYWlfZm10LAorCQkgICAgIC5zZXRfY2xrZGl2ID0gYXQzMl9zc2Nfc2V0X2RhaV9jbGtkaXYsCisJCSAgICAgfSwKKwkgLnByaXZhdGVfZGF0YSA9ICZzc2NfaW5mb1syXSwKKwkgfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChhdDMyX3NzY19kYWkpOworCisKK01PRFVMRV9BVVRIT1IoIkdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBVDMyIFNTQyBBU29DIEludGVyZmFjZSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuaCBiL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MwNTJkYgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmgKQEAgLTAsMCArMSw1OSBAQAorLyogc291bmQvc29jL2F0MzIvYXQzMi1zc2MuaAorICogQVNvQyBTU0MgaW50ZXJmYWNlIGZvciBBdG1lbCBBVDMyIFNvQworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMb25nIFJhbmdlIFN5c3RlbXMKKyAqICAgIEdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfU1NDX0gKKyNkZWZpbmUgX19TT1VORF9TT0NfQVQzMl9BVDMyX1NTQ19IIF9fRklMRV9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0bWVsLXNzYy5oPgorCisjaW5jbHVkZSAiYXQzMi1wY20uaCIKKworCisKK3N0cnVjdCBhdDMyX3NzY19zdGF0ZSB7CisJdTMyIHNzY19jbXI7CisJdTMyIHNzY19yY21yOworCXUzMiBzc2NfcmZtcjsKKwl1MzIgc3NjX3RjbXI7CisJdTMyIHNzY190Zm1yOworCXUzMiBzc2Nfc3I7CisJdTMyIHNzY19pbXI7Cit9OworCisKKworc3RydWN0IGF0MzJfc3NjX2luZm8geworCWNoYXIgKm5hbWU7CisJc3RydWN0IHNzY19kZXZpY2UgKnNzYzsKKwlzcGlubG9ja190IGxvY2s7CS8qIGxvY2sgZm9yIGRpcl9tYXNrICovCisJdW5zaWduZWQgc2hvcnQgZGlyX21hc2s7CS8qIDA9dW51c2VkLCAxPXBsYXliYWNrLCAyPWNhcHR1cmUgKi8KKwl1bnNpZ25lZCBzaG9ydCBpbml0aWFsaXplZDsJLyogdHJ1ZSBpZiBTU0MgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgKi8KKwl1bnNpZ25lZCBzaG9ydCBkYWlmbXQ7CisJdW5zaWduZWQgc2hvcnQgY21yX2RpdjsKKwl1bnNpZ25lZCBzaG9ydCB0Y21yX3BlcmlvZDsKKwl1bnNpZ25lZCBzaG9ydCByY21yX3BlcmlvZDsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqZG1hX3BhcmFtc1syXTsKKwlzdHJ1Y3QgYXQzMl9zc2Nfc3RhdGUgc3NjX3N0YXRlOworfTsKKworCisvKiBTU0MgZGl2aWRlciBpZHMgKi8KKyNkZWZpbmUgQVQzMl9TU0NfQ01SX0RJViAgICAgICAgMAkvKiBNQ0sgZGl2aWRlciBmb3IgQkNMSyAqLworI2RlZmluZSBBVDMyX1NTQ19UQ01SX1BFUklPRCAgICAxCS8qIEJDTEsgZGl2aWRlciBmb3IgdHJhbnNtaXQgRlMgKi8KKyNkZWZpbmUgQVQzMl9TU0NfUkNNUl9QRVJJT0QgICAgMgkvKiBCQ0xLIGRpdmlkZXIgZm9yIHJlY2VpdmUgRlMgKi8KKworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGF0MzJfc3NjX2RhaVtdOworCisKKworI2VuZGlmIC8qIF9fU09VTkRfU09DX0FUMzJfQVQzMl9TU0NfSCAqLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvcGxheXBhcV93bTg1MTAuYyBiL3NvdW5kL3NvYy9hdDMyL3BsYXlwYXFfd204NTEwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVlNWY4ZQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL3BsYXlwYXFfd204NTEwLmMKQEAgLTAsMCArMSw1MjIgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL3BsYXlwYXFfd204NTEwLmMKKyAqIEFTb0MgbWFjaGluZSBkcml2ZXIgZm9yIFBsYXlQYXEgdXNpbmcgV004NTEwIGNvZGVjCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIGNvZGUgaXMgbGFyZ2VseSBpbnNwaXJlZCBieSBzb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMKKyAqCisgKiBOT1RFOiBJZiB5b3UgZG9uJ3QgaGF2ZSB0aGUgQVQzMiBlbmhhbmNlZCBwb3J0bXV4IGNvbmZpZ3VyZWQgKHdoaWNoCisgKiBpc24ndCBjdXJyZW50bHkgaW4gdGhlIG1haW5saW5lIG9yIEF0bWVsIHBhdGNoZWQga2VybmVsKSwgeW91IHdpbGwKKyAqIG5lZWQgdG8gc2V0IHRoZSBNQ0xLIHBpbiAoUEEzMCkgdG8gcGVyaXBoZXJhbCBBIGluIHlvdXIgYm9hcmQgaW5pdGlhbGl6YXRpb24KKyAqIGNvZGUuICBTb21ldGhpbmcgbGlrZToKKyAqCWF0MzJfc2VsZWN0X3BlcmlwaChHUElPX1BJTl9QQSgzMCksIEdQSU9fUEVSSVBIX0EsIDApOworICoKKyAqLworCisvKiAjZGVmaW5lIERFQlVHICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9hdDMyYXA3MDB4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcG9ydG11eC5oPgorCisjaW5jbHVkZSAiLi4vY29kZWNzL3dtODUxMC5oIgorI2luY2x1ZGUgImF0MzItcGNtLmgiCisjaW5jbHVkZSAiYXQzMi1zc2MuaCIKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogY29uc3RhbnRzCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBNQ0xLX1BJTgkJR1BJT19QSU5fUEEoMzApCisjZGVmaW5lIE1DTEtfUEVSSVBICQlHUElPX1BFUklQSF9BCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIGRhdGEgdHlwZXMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBTU0MgY2xvY2tpbmcgZGF0YSAqLworc3RydWN0IHNzY19jbG9ja19kYXRhIHsKKwkvKiBDTVIgZGl2ICovCisJdW5zaWduZWQgaW50IGNtcl9kaXY7CisKKwkvKiBGcmFtZSBwZXJpb2QgKGFzIG5lZWRlZCBieSB4Q01SLlBFUklPRCkgKi8KKwl1bnNpZ25lZCBpbnQgcGVyaW9kOworCisJLyogVGhlIFNTQyBjbG9jayByYXRlIHRoZXNlIHNldHRpbmdzIHdoZXJlIGNhbGN1bGF0ZWQgZm9yICovCisJdW5zaWduZWQgbG9uZyBzc2NfcmF0ZTsKK307CisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIG1vZHVsZSBkYXRhCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHN0cnVjdCBjbGsgKl9nY2xrMDsKK3N0YXRpYyBzdHJ1Y3QgY2xrICpfcGxsMDsKKworI2RlZmluZSBDT0RFQ19DTEsgKF9nY2xrMCkKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogU291bmQgU09DIG9wZXJhdGlvbnMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaWYgZGVmaW5lZCBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKK3N0YXRpYyBzdHJ1Y3Qgc3NjX2Nsb2NrX2RhdGEgcGxheXBhcV93bTg1MTBfY2FsY19zc2NfY2xvY2soCisJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMsCisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9IGNwdV9kYWktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjID0gc3NjX3AtPnNzYzsKKwlzdHJ1Y3Qgc3NjX2Nsb2NrX2RhdGEgY2Q7CisJdW5zaWduZWQgaW50IHJhdGUsIHdpZHRoX2JpdHMsIGNoYW5uZWxzOworCXVuc2lnbmVkIGludCBiaXRyYXRlLCBzc2NfZGl2OworCXVuc2lnbmVkIGFjdHVhbF9yYXRlOworCisKKwkvKgorCSAqIEZpZ3VyZSBvdXQgcmVxdWlyZWQgYml0cmF0ZQorCSAqLworCXJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOworCWNoYW5uZWxzID0gcGFyYW1zX2NoYW5uZWxzKHBhcmFtcyk7CisJd2lkdGhfYml0cyA9IHNuZF9wY21fZm9ybWF0X3BoeXNpY2FsX3dpZHRoKHBhcmFtc19mb3JtYXQocGFyYW1zKSk7CisJYml0cmF0ZSA9IHJhdGUgKiB3aWR0aF9iaXRzICogY2hhbm5lbHM7CisKKworCS8qCisJICogRmlndXJlIG91dCByZXF1aXJlZCBTU0MgZGl2aWRlciBhbmQgcGVyaW9kIGZvciByZXF1aXJlZCBiaXRyYXRlCisJICovCisJY2Quc3NjX3JhdGUgPSBjbGtfZ2V0X3JhdGUoc3NjLT5jbGspOworCXNzY19kaXYgPSBjZC5zc2NfcmF0ZSAvIGJpdHJhdGU7CisJY2QuY21yX2RpdiA9IHNzY19kaXYgLyAyOworCWlmIChzc2NfZGl2ICYgMSkgeworCQkvKiByb3VuZCBjbXJfZGl2IHVwICovCisJCWNkLmNtcl9kaXYrKzsKKwl9CisJY2QucGVyaW9kID0gd2lkdGhfYml0cyAtIDE7CisKKworCS8qCisJICogRmluZCBhY3R1YWwgcmF0ZSwgY29tcGFyZSB0byByZXF1ZXN0ZWQgcmF0ZQorCSAqLworCWFjdHVhbF9yYXRlID0gKGNkLnNzY19yYXRlIC8gKGNkLmNtcl9kaXYgKiAyKSkgLyAoMiAqIChjZC5wZXJpb2QgKyAxKSk7CisJcHJfZGVidWcoInBsYXlwYXFfd204NTEwOiBSZXF1ZXN0IHJhdGUgPSAlZCwgYWN0dWFsIHJhdGUgPSAlZFxuIiwKKwkJIHJhdGUsIGFjdHVhbF9yYXRlKTsKKworCisJcmV0dXJuIGNkOworfQorI2VuZGlmIC8qIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRSAqLworCisKKworc3RhdGljIGludCBwbGF5cGFxX3dtODUxMF9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2MgPSBzc2NfcC0+c3NjOworCXVuc2lnbmVkIGludCBwbGxfb3V0ID0gMCwgYmNsayA9IDAsIG1jbGtfZGl2ID0gMDsKKwlpbnQgcmV0OworCisKKwkvKiBEdWUgdG8gZGlmZmljdWx0aWVzIHdpdGggZ2V0dGluZyB0aGUgY29ycmVjdCBjbG9ja3MgZnJvbSB0aGUgQVQzMidzCisJICogUExMMCwgd2UncmUgZ29pbmcgdG8gbGV0IHRoZSBDT0RFQyBiZSBpbiBjaGFyZ2Ugb2YgYWxsIHRoZSBjbG9ja3MKKwkgKi8KKyNpZiAhZGVmaW5lZCBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKKwljb25zdCB1bnNpZ25lZCBpbnQgZm10ID0gKFNORF9TT0NfREFJRk1UX0kyUyB8CisJCQkJICBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CisJCQkJICBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKKyNlbHNlCisJc3RydWN0IHNzY19jbG9ja19kYXRhIGNkOworCWNvbnN0IHVuc2lnbmVkIGludCBmbXQgPSAoU05EX1NPQ19EQUlGTVRfSTJTIHwKKwkJCQkgIFNORF9TT0NfREFJRk1UX05CX05GIHwKKwkJCQkgIFNORF9TT0NfREFJRk1UX0NCU19DRlMpOworI2VuZGlmCisKKwlpZiAoc3NjID09IE5VTEwpIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTBfaHdfcGFyYW1zOiBzc2MgaXMgTlVMTCFcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKworCS8qCisJICogRmlndXJlIG91dCBQTEwgYW5kIEJDTEsgZGl2aWRlcnMgZm9yIFdNODUxMAorCSAqLworCXN3aXRjaCAocGFyYW1zX3JhdGUocGFyYW1zKSkgeworCWNhc2UgNDgwMDA6CisJCXBsbF9vdXQgPSAxMjI4ODAwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl8xOworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDQ0MTAwOgorCQlwbGxfb3V0ID0gMTEyODk2MDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfMTsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJY2FzZSAyMjA1MDoKKwkJcGxsX291dCA9IDExMjg5NjAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzI7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWNhc2UgMTYwMDA6CisJCXBsbF9vdXQgPSAxMjI4ODAwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl8zOworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDExMDI1OgorCQlwbGxfb3V0ID0gMTEyODk2MDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfNDsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJY2FzZSA4MDAwOgorCQlwbGxfb3V0ID0gMTIyODgwMDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfNjsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IFVuc3VwcG9ydGVkIHNhbXBsZSByYXRlICVkXG4iLAorCQkJICAgcGFyYW1zX3JhdGUocGFyYW1zKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCisJLyoKKwkgKiBzZXQgQ1BVIGFuZCBDT0RFQyBEQUkgY29uZmlndXJhdGlvbgorCSAqLworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBmbXQpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiAiCisJCQkgICAiRmFpbGVkIHRvIHNldCBDT0RFQyBEQUkgZm9ybWF0ICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIGZtdCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6ICIKKwkJCSAgICJGYWlsZWQgdG8gc2V0IENQVSBEQUkgZm9ybWF0ICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCisJLyoKKwkgKiBTZXQgQ1BVIGNsb2NrIGNvbmZpZ3VyYXRpb24KKwkgKi8KKyNpZiBkZWZpbmVkIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorCWNkID0gcGxheXBhcV93bTg1MTBfY2FsY19zc2NfY2xvY2socGFyYW1zLCBjcHVfZGFpKTsKKwlwcl9kZWJ1ZygicGxheXBhcV93bTg1MTA6IGNtcl9kaXYgPSAlZCwgcGVyaW9kID0gJWRcbiIsCisJCSBjZC5jbXJfZGl2LCBjZC5wZXJpb2QpOworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgQVQzMl9TU0NfQ01SX0RJViwgY2QuY21yX2Rpdik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IEZhaWxlZCB0byBzZXQgQ1BVIENNUl9ESVYgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgQVQzMl9TU0NfVENNUl9QRVJJT0QsCisJCQkJCSAgY2QucGVyaW9kKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogIgorCQkJICAgIkZhaWxlZCB0byBzZXQgQ1BVIHRyYW5zbWl0IHBlcmlvZCAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisjZW5kaWYgLyogQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFICovCisKKworCS8qCisJICogU2V0IENPREVDIGNsb2NrIGNvbmZpZ3VyYXRpb24KKwkgKi8KKwlwcl9kZWJ1ZygicGxheXBhcV93bTg1MTA6ICIKKwkJICJwbGxfaW4gPSAlbGQsIHBsbF9vdXQgPSAldSwgYmNsayA9ICV4LCBtY2xrID0gJXhcbiIsCisJCSBjbGtfZ2V0X3JhdGUoQ09ERUNfQ0xLKSwgcGxsX291dCwgYmNsaywgbWNsa19kaXYpOworCisKKyNpZiAhZGVmaW5lZCBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNvZGVjX2RhaSwgV004NTEwX0JDTEtESVYsIGJjbGspOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcKKwkJICAgICgicGxheXBhcV93bTg1MTA6IEZhaWxlZCB0byBzZXQgQ09ERUMgREFJIEJDTEtESVYgKCVkKVxuIiwKKwkJICAgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKyNlbmRpZiAvKiBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUgKi8KKworCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3BsbChjb2RlY19kYWksIDAsCisJCQkJCSBjbGtfZ2V0X3JhdGUoQ09ERUNfQ0xLKSwgcGxsX291dCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IEZhaWxlZCB0byBzZXQgQ09ERUMgREFJIFBMTCAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg1MTBfTUNMS0RJViwgbWNsa19kaXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiBGYWlsZWQgdG8gc2V0IENPREVDIE1DTEtESVYgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19vcHMgcGxheXBhcV93bTg1MTBfb3BzID0geworCS5od19wYXJhbXMgPSBwbGF5cGFxX3dtODUxMF9od19wYXJhbXMsCit9OworCisKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHBsYXlwYXFfZGFwbV93aWRnZXRzW10gPSB7CisJU05EX1NPQ19EQVBNX01JQygiSW50IE1pYyIsIE5VTEwpLAorCVNORF9TT0NfREFQTV9TUEsoIkV4dCBTcGsiLCBOVUxMKSwKK307CisKKworCitzdGF0aWMgY29uc3QgY2hhciAqaW50ZXJjb25bXVszXSA9IHsKKwkvKiBzcGVha2VyIGNvbm5lY3RlZCB0byBTUEtPVVQgKi8KKwl7IkV4dCBTcGsiLCBOVUxMLCAiU1BLT1VUUCJ9LAorCXsiRXh0IFNwayIsIE5VTEwsICJTUEtPVVROIn0sCisKKwl7Ik1pYyBCaWFzIiwgTlVMTCwgIkludCBNaWMifSwKKwl7Ik1JQ04iLCBOVUxMLCAiTWljIEJpYXMifSwKKwl7Ik1JQ1AiLCBOVUxMLCAiTWljIEJpYXMifSwKKworCS8qIFRlcm1pbmF0b3IgKi8KKwl7TlVMTCwgTlVMTCwgTlVMTH0sCit9OworCisKKworc3RhdGljIGludCBwbGF5cGFxX3dtODUxMF9pbml0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlpbnQgaTsKKworCS8qCisJICogQWRkIERBUE0gd2lkZ2V0cworCSAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBsYXlwYXFfZGFwbV93aWRnZXRzKTsgaSsrKQorCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZwbGF5cGFxX2RhcG1fd2lkZ2V0c1tpXSk7CisKKworCisJLyoKKwkgKiBTZXR1cCBhdWRpbyBwYXRoIGludGVyY29ubmVjdHMKKwkgKi8KKwlmb3IgKGkgPSAwOyBpbnRlcmNvbltpXVswXSAhPSBOVUxMOyBpKyspIHsKKwkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsCisJCQkJCSAgIGludGVyY29uW2ldWzBdLAorCQkJCQkgICBpbnRlcmNvbltpXVsxXSwgaW50ZXJjb25baV1bMl0pOworCX0KKworCisJLyogYWx3YXlzIGNvbm5lY3RlZCBwaW5zICovCisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJJbnQgTWljIik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOworCisKKworCS8qIE1ha2UgQ1NCIHNob3cgUExMIHJhdGUgKi8KKwlzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNvZGVjLT5kYWksIFdNODUxMF9PUENMS0RJViwKKwkJCQkgICAgICAgV004NTEwX09QQ0xLRElWXzEgfCA0KTsKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaV9saW5rIHBsYXlwYXFfd204NTEwX2RhaSA9IHsKKwkubmFtZSA9ICJXTTg1MTAiLAorCS5zdHJlYW1fbmFtZSA9ICJXTTg1MTAgUENNIiwKKwkuY3B1X2RhaSA9ICZhdDMyX3NzY19kYWlbMF0sCisJLmNvZGVjX2RhaSA9ICZ3bTg1MTBfZGFpLAorCS5pbml0ID0gcGxheXBhcV93bTg1MTBfaW5pdCwKKwkub3BzID0gJnBsYXlwYXFfd204NTEwX29wcywKK307CisKKworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfbWFjaGluZSBzbmRfc29jX21hY2hpbmVfcGxheXBhcSA9IHsKKwkubmFtZSA9ICJMUlNfUGxheVBhcV9XTTg1MTAiLAorCS5kYWlfbGluayA9ICZwbGF5cGFxX3dtODUxMF9kYWksCisJLm51bV9saW5rcyA9IDEsCit9OworCisKKworc3RhdGljIHN0cnVjdCB3bTg1MTBfc2V0dXBfZGF0YSBwbGF5cGFxX3dtODUxMF9zZXR1cCA9IHsKKwkuaTJjX2FkZHJlc3MgPSAweDFhLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgcGxheXBhcV93bTg1MTBfc25kX2RldmRhdGEgPSB7CisJLm1hY2hpbmUgPSAmc25kX3NvY19tYWNoaW5lX3BsYXlwYXEsCisJLnBsYXRmb3JtID0gJmF0MzJfc29jX3BsYXRmb3JtLAorCS5jb2RlY19kZXYgPSAmc29jX2NvZGVjX2Rldl93bTg1MTAsCisJLmNvZGVjX2RhdGEgPSAmcGxheXBhcV93bTg1MTBfc2V0dXAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxheXBhcV9zbmRfZGV2aWNlOworCisKK3N0YXRpYyBpbnQgX19pbml0IHBsYXlwYXFfYXNvY19pbml0KHZvaWQpCit7CisJaW50IHJldCA9IDA7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gcGxheXBhcV93bTg1MTBfZGFpLmNwdV9kYWktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjID0gTlVMTDsKKworCisJLyoKKwkgKiBSZXF1ZXN0IFNTQyBkZXZpY2UKKwkgKi8KKwlzc2MgPSBzc2NfcmVxdWVzdCgwKTsKKwlpZiAoSVNfRVJSKHNzYykpIHsKKwkJcmV0ID0gUFRSX0VSUihzc2MpOworCQlzc2MgPSBOVUxMOworCQlnb3RvIGVycl9zc2M7CisJfQorCXNzY19wLT5zc2MgPSBzc2M7CisKKworCS8qCisJICogQ29uZmlndXJlIE1DTEsgZm9yIFdNODUxMAorCSAqLworCV9nY2xrMCA9IGNsa19nZXQoTlVMTCwgImdjbGswIik7CisJaWYgKElTX0VSUihfZ2NsazApKSB7CisJCV9nY2xrMCA9IE5VTEw7CisJCWdvdG8gZXJyX2djbGswOworCX0KKwlfcGxsMCA9IGNsa19nZXQoTlVMTCwgInBsbDAiKTsKKwlpZiAoSVNfRVJSKF9wbGwwKSkgeworCQlfcGxsMCA9IE5VTEw7CisJCWdvdG8gZXJyX3BsbDA7CisJfQorCWlmIChjbGtfc2V0X3BhcmVudChfZ2NsazAsIF9wbGwwKSkgeworCQlwcl93YXJuaW5nKCJzbmQtc29jLXBsYXlwYXE6ICIKKwkJCSAgICJGYWlsZWQgdG8gc2V0IFBMTDAgYXMgcGFyZW50IGZvciBEQUMgY2xvY2tcbiIpOworCQlnb3RvIGVycl9zZXRfY2xrOworCX0KKwljbGtfc2V0X3JhdGUoQ09ERUNfQ0xLLCAxMjAwMDAwMCk7CisJY2xrX2VuYWJsZShDT0RFQ19DTEspOworCisjaWYgZGVmaW5lZCBDT05GSUdfQVQzMl9FTkhBTkNFRF9QT1JUTVVYCisJYXQzMl9zZWxlY3RfcGVyaXBoKE1DTEtfUElOLCBNQ0xLX1BFUklQSCwgMCk7CisjZW5kaWYKKworCisJLyoKKwkgKiBDcmVhdGUgYW5kIHJlZ2lzdGVyIHBsYXRmb3JtIGRldmljZQorCSAqLworCXBsYXlwYXFfc25kX2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygic29jLWF1ZGlvIiwgMCk7CisJaWYgKHBsYXlwYXFfc25kX2RldmljZSA9PSBOVUxMKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX2RldmljZV9hbGxvYzsKKwl9CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwbGF5cGFxX3NuZF9kZXZpY2UsICZwbGF5cGFxX3dtODUxMF9zbmRfZGV2ZGF0YSk7CisJcGxheXBhcV93bTg1MTBfc25kX2RldmRhdGEuZGV2ID0gJnBsYXlwYXFfc25kX2RldmljZS0+ZGV2OworCisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChwbGF5cGFxX3NuZF9kZXZpY2UpOworCWlmIChyZXQpIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IHBsYXRmb3JtX2RldmljZV9hZGQgZmFpbGVkICglZClcbiIsCisJCQkgICByZXQpOworCQlnb3RvIGVycl9kZXZpY2VfYWRkOworCX0KKworCXJldHVybiAwOworCisKK2Vycl9kZXZpY2VfYWRkOgorCWlmIChwbGF5cGFxX3NuZF9kZXZpY2UgIT0gTlVMTCkgeworCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KHBsYXlwYXFfc25kX2RldmljZSk7CisJCXBsYXlwYXFfc25kX2RldmljZSA9IE5VTEw7CisJfQorZXJyX2RldmljZV9hbGxvYzoKK2Vycl9zZXRfY2xrOgorCWlmIChfcGxsMCAhPSBOVUxMKSB7CisJCWNsa19wdXQoX3BsbDApOworCQlfcGxsMCA9IE5VTEw7CisJfQorZXJyX3BsbDA6CisJaWYgKF9nY2xrMCAhPSBOVUxMKSB7CisJCWNsa19wdXQoX2djbGswKTsKKwkJX2djbGswID0gTlVMTDsKKwl9CitlcnJfZ2NsazA6CisJaWYgKHNzYyAhPSBOVUxMKSB7CisJCXNzY19mcmVlKHNzYyk7CisJCXNzYyA9IE5VTEw7CisJfQorZXJyX3NzYzoKKwlyZXR1cm4gcmV0OworfQorCisKK3N0YXRpYyB2b2lkIF9fZXhpdCBwbGF5cGFxX2Fzb2NfZXhpdCh2b2lkKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9IHBsYXlwYXFfd204NTEwX2RhaS5jcHVfZGFpLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNzY19kZXZpY2UgKnNzYzsKKworCWlmIChzc2NfcCAhPSBOVUxMKSB7CisJCXNzYyA9IHNzY19wLT5zc2M7CisJCWlmIChzc2MgIT0gTlVMTCkKKwkJCXNzY19mcmVlKHNzYyk7CisJCXNzY19wLT5zc2MgPSBOVUxMOworCX0KKworCWlmIChfZ2NsazAgIT0gTlVMTCkgeworCQljbGtfcHV0KF9nY2xrMCk7CisJCV9nY2xrMCA9IE5VTEw7CisJfQorCWlmIChfcGxsMCAhPSBOVUxMKSB7CisJCWNsa19wdXQoX3BsbDApOworCQlfcGxsMCA9IE5VTEw7CisJfQorCisjaWYgZGVmaW5lZCBDT05GSUdfQVQzMl9FTkhBTkNFRF9QT1JUTVVYCisJYXQzMl9mcmVlX3BpbihNQ0xLX1BJTik7CisjZW5kaWYKKworCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKHBsYXlwYXFfc25kX2RldmljZSk7CisJcGxheXBhcV9zbmRfZGV2aWNlID0gTlVMTDsKK30KKworbW9kdWxlX2luaXQocGxheXBhcV9hc29jX2luaXQpOworbW9kdWxlX2V4aXQocGxheXBhcV9hc29jX2V4aXQpOworCitNT0RVTEVfQVVUSE9SKCJHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQVNvQyBtYWNoaW5lIGRyaXZlciBmb3IgTFJTIFBsYXlQYXEiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDkxL0tjb25maWcgYi9zb3VuZC9zb2MvYXQ5MS9LY29uZmlnCmluZGV4IDVjYjkzZmQuLjkwNTE4NjUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9hdDkxL0tjb25maWcKKysrIGIvc291bmQvc29jL2F0OTEvS2NvbmZpZwpAQCAtMSw2ICsxLDYgQEAKIGNvbmZpZyBTTkRfQVQ5MV9TT0MKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcCIKLQlkZXBlbmRzIG9uIEFSQ0hfQVQ5MSAmJiBTTkRfU09DCisJZGVwZW5kcyBvbiBBUkNIX0FUOTEKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8KIAkgIHRoZSBBVDkxIFNTQyBpbnRlcmZhY2UuIFlvdSB3aWxsIGFsc28gbmVlZApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvYXQ5MS1wY20uYyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtcGNtLmMKaW5kZXggY2NhYzZiZC4uZDQ3NDkyYiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvYXQ5MS1wY20uYworKysgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXBjbS5jCkBAIC0zMTgsNyArMzE4LDcgQEAKIHN0YXRpYyB1NjQgYXQ5MV9wY21fZG1hbWFzayA9IDB4ZmZmZmZmZmY7CiAKIHN0YXRpYyBpbnQgYXQ5MV9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlpbnQgcmV0ID0gMDsKIApAQCAtMzY3LDcgKzM2Nyw3IEBACiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgYXQ5MV9wY21fc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gZGFpLT5ydW50aW1lOwogCXN0cnVjdCBhdDkxX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKQEAgLTM5Miw3ICszOTIsNyBAQAogfQogCiBzdGF0aWMgaW50IGF0OTFfcGNtX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gZGFpLT5ydW50aW1lOwogCXN0cnVjdCBhdDkxX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmMgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5jCmluZGV4IGJjMzVkMDAuLjA5MGU2MDcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmMKKysrIGIvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuYwpAQCAtNDEsNyArNDEsNyBAQAogI2RlZmluZQlEQkcoeC4uLikKICNlbmRpZgogCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05RzIwKQogI2RlZmluZSBOVU1fU1NDX0RFVklDRVMJCTEKICNlbHNlCiAjZGVmaW5lIE5VTV9TU0NfREVWSUNFUwkJMwpAQCAtMjgxLDcgKzI4MSw3IEBACiAvKgogICogUmVjb3JkIHRoZSBTU0Mgc3lzdGVtIGNsb2NrIHJhdGUuCiAgKi8KLXN0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAkvKgpAQCAtMzAzLDcgKzMwMyw3IEBACiAvKgogICogUmVjb3JkIHRoZSBEQUkgZm9ybWF0IGZvciB1c2UgaW4gaHdfcGFyYW1zKCkuCiAgKi8KLXN0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBhdDkxX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CkBAIC0zMTUsNyArMzE1LDcgQEAKIC8qCiAgKiBSZWNvcmQgU1NDIGNsb2NrIGRpdmlkZXJzIGZvciB1c2UgaW4gaHdfcGFyYW1zKCkuCiAgKi8KLXN0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCWludCBkaXZfaWQsIGludCBkaXYpCiB7CiAJc3RydWN0IGF0OTFfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKQEAgLTYzNCw3ICs2MzQsNyBAQAogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IGF0OTFfc3NjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKIHsKIAlzdHJ1Y3QgYXQ5MV9zc2NfaW5mbyAqc3NjX3A7CiAKQEAgLTY2Miw3ICs2NjIsNyBAQAogfQogCiBzdGF0aWMgaW50IGF0OTFfc3NjX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQogewogCXN0cnVjdCBhdDkxX3NzY19pbmZvICpzc2NfcDsKIApAQCAtNzAwLDcgKzcwMCw3IEBACiAjZGVmaW5lIEFUOTFfU1NDX0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzggICAgIHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfFwKIAkJCSAgU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9MRSkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBhdDkxX3NzY19kYWlbTlVNX1NTQ19ERVZJQ0VTXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBhdDkxX3NzY19kYWlbTlVNX1NTQ19ERVZJQ0VTXSA9IHsKIAl7CS5uYW1lID0gImF0OTEtc3NjMCIsCiAJCS5pZCA9IDAsCiAJCS50eXBlID0gU05EX1NPQ19EQUlfUENNLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuaCBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmgKaW5kZXggYjE4OGY5Ny4uNmI3YmYzOCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuaAorKysgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5oCkBAIC0yMSw3ICsyMSw3IEBACiAjZGVmaW5lIEFUOTFTU0NfVENNUl9QRVJJT0QJMSAvKiBCQ0xLIGRpdmlkZXIgZm9yIHRyYW5zbWl0IEZTICovCiAjZGVmaW5lIEFUOTFTU0NfUkNNUl9QRVJJT0QJMiAvKiBCQ0xLIGRpdmlkZXIgZm9yIHJlY2VpdmUgRlMgKi8KIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgYXQ5MV9zc2NfZGFpW107CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGF0OTFfc3NjX2RhaVtdOwogCiAjZW5kaWYgLyogX0FUOTFfU1NDX0ggKi8KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvZXRpX2IxX3dtODczMS5jIGIvc291bmQvc29jL2F0OTEvZXRpX2IxX3dtODczMS5jCmluZGV4IDEzNDdkY2YuLmQ1MzJkZTkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9hdDkxL2V0aV9iMV93bTg3MzEuYworKysgYi9zb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMKQEAgLTUzLDE4ICs1MywxOCBAQAogc3RhdGljIGludCBldGlfYjFfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJaW50IHJldDsKIAogCS8qIGNwdSBjbG9jayBpcyB0aGUgQVQ5MSBtYXN0ZXIgY2xvY2sgc2VudCB0byB0aGUgU1NDICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIEFUOTFfU1lTQ0xLX01DSywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNwdV9kYWksIEFUOTFfU1lTQ0xLX01DSywKIAkJNjAwMDAwMDAsIFNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogY29kZWMgc3lzdGVtIGNsb2NrIGlzIHN1cHBsaWVkIGJ5IFBDSzEsIHNldCB0byAxMk1IeiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywKIAkJMTIwMDAwMDAsIFNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtODcsOCArODcsOCBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlpbnQgcmV0OwogCiAjaWZkZWYgQ09ORklHX1NORF9BVDkxX1NPQ19FVElfU0xBVkUKQEAgLTk2LDEzICs5NiwxMyBAQAogCWludCBjbXJfZGl2LCBwZXJpb2Q7CiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMTQxLDE3ICsxNDEsMTcgQEAKIAl9CiAKIAkvKiBzZXQgdGhlIE1DSyBkaXZpZGVyIGZvciBCQ0xLICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNwdV9kYWksIEFUOTFTU0NfQ01SX0RJViwgY21yX2Rpdik7CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLCBBVDkxU1NDX0NNUl9ESVYsIGNtcl9kaXYpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spIHsKIAkJLyogc2V0IHRoZSBCQ0xLIGRpdmlkZXIgZm9yIERBQ0xSQyAqLwotCQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY3B1X2RhaSwKKwkJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLAogCQkJCQkJQVQ5MVNTQ19UQ01SX1BFUklPRCwgcGVyaW9kKTsKIAl9IGVsc2UgewogCQkvKiBzZXQgdGhlIEJDTEsgZGl2aWRlciBmb3IgQURDTFJDICovCi0JCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihjcHVfZGFpLAorCQlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksCiAJCQkJCQlBVDkxU1NDX1JDTVJfUEVSSU9ELCBwZXJpb2QpOwogCX0KIAlpZiAocmV0IDwgMCkKQEAgLTE2MywxMyArMTYzLDEzIEBACiAJICovCiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMTkxLDcgKzE5MSw3IEBACiAJU05EX1NPQ19EQVBNX1NQSygiRXh0IFNwayIsIE5VTEwpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmludGVyY29uW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBpbnRlcmNvbltdID0gewogCiAJLyogc3BlYWtlciBjb25uZWN0ZWQgdG8gTEhQT1VUICovCiAJeyJFeHQgU3BrIiwgTlVMTCwgIkxIUE9VVCJ9LApAQCAtMTk5LDkgKzE5OSw2IEBACiAJLyogbWljIGlzIGNvbm5lY3RlZCB0byBNaWMgSmFjaywgd2l0aCBXTTg3MzEgTWljIEJpYXMgKi8KIAl7Ik1JQ0lOIiwgTlVMTCwgIk1pYyBCaWFzIn0sCiAJeyJNaWMgQmlhcyIsIE5VTEwsICJJbnQgTWljIn0sCi0KLQkvKiB0ZXJtaW5hdG9yICovCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogLyoKQEAgLTIwOSwzMCArMjA2LDI0IEBACiAgKi8KIHN0YXRpYyBpbnQgZXRpX2IxX3dtODczMV9pbml0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKLQogCURCRygiZXRpX2IxX3dtODczMV9pbml0KCkgY2FsbGVkXG4iKTsKIAogCS8qIEFkZCBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yKGkgPSAwOyBpIDwgQVJSQVlfU0laRShldGlfYjFfZGFwbV93aWRnZXRzKTsgaSsrKSB7Ci0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJmV0aV9iMV9kYXBtX3dpZGdldHNbaV0pOwotCX0KKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCBldGlfYjFfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShldGlfYjFfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBTZXQgdXAgc3BlY2lmaWMgYXVkaW8gcGF0aCBpbnRlcmNvbm5lY3RzICovCi0JZm9yKGkgPSAwOyBpbnRlcmNvbltpXVswXSAhPSBOVUxMOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGludGVyY29uW2ldWzBdLAotCQkJaW50ZXJjb25baV1bMV0sIGludGVyY29uW2ldWzJdKTsKLQl9CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZShjb2RlYywgaW50ZXJjb24sIEFSUkFZX1NJWkUoaW50ZXJjb24pKTsKIAogCS8qIG5vdCBjb25uZWN0ZWQgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUkxJTkVJTiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMTElORUlOIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUkxJTkVJTiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxMSU5FSU4iKTsKIAogCS8qIGFsd2F5cyBjb25uZWN0ZWQgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSW50IE1pYyIsIDEpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgMSk7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJJbnQgTWljIik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvS2NvbmZpZyBiL3NvdW5kL3NvYy9hdTF4L0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEwYTg5MwotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L0tjb25maWcKQEAgLTAsMCArMSwzMiBAQAorIyMKKyMjIEF1MTIwMC9BdTE1NTAgUFNDICsgREJETUEKKyMjCitjb25maWcgU05EX1NPQ19BVTFYUFNDCisJdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgQXUxMjAwL0F1MTI1MC9BdTE1NTAiCisJZGVwZW5kcyBvbiBTT0NfQVUxMjAwIHx8IFNPQ19BVTE1NTAKKwloZWxwCisJICBUaGlzIG9wdGlvbiBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBQcm9ncmFtbWFibGUgU2VyaWFsCisJICBDb250cm9sbGVycyBpbiBBQzk3IGFuZCBJMlMgbW9kZSwgYW5kIHRoZSBEZXNjcmlwdG9yLUJhc2VkIERNQQorCSAgQ29udHJvbGxlciAoREJETUEpIGFzIGZvdW5kIG9uIHRoZSBBdTEyMDAvQXUxMjUwL0F1MTU1MCBTb0MuCisKK2NvbmZpZyBTTkRfU09DX0FVMVhQU0NfSTJTCisJdHJpc3RhdGUKKworY29uZmlnIFNORF9TT0NfQVUxWFBTQ19BQzk3CisJdHJpc3RhdGUKKwlzZWxlY3QgQUM5N19CVVMKKwlzZWxlY3QgU05EX0FDOTdfQ09ERUMKKwlzZWxlY3QgU05EX1NPQ19BQzk3X0JVUworCisKKyMjCisjIyBCb2FyZHMKKyMjCitjb25maWcgU05EX1NPQ19TQU1QTEVfUFNDX0FDOTcKKwl0cmlzdGF0ZSAiU2FtcGxlIEF1MTJ4MC9BdTE1NTAgUFNDIEFDOTcgc291bmQgbWFjaGluZSIKKwlkZXBlbmRzIG9uIFNORF9TT0NfQVUxWFBTQworCXNlbGVjdCBTTkRfU09DX0FVMVhQU0NfQUM5NworCXNlbGVjdCBTTkRfU09DX0FDOTdfQ09ERUMKKwloZWxwCisJICBUaGlzIGlzIGEgc2FtcGxlIEFDOTcgc291bmQgbWFjaGluZSBmb3IgdXNlIGluIEF1MTJ4MC9BdTE1NTAKKwkgIGJhc2VkIHN5c3RlbXMgd2hpY2ggaGF2ZSBhdWRpbyBvbiBQU0MxIChlLmcuIERiMTIwMCBkZW1vYm9hcmQpLgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvTWFrZWZpbGUgYi9zb3VuZC9zb2MvYXUxeC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzY5NTBiCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvTWFrZWZpbGUKQEAgLTAsMCArMSwxMyBAQAorIyBBdTEyMDAvQXUxNTUwIFBTQyBhdWRpbworc25kLXNvYy1hdTF4cHNjLWRiZG1hLW9ianMgOj0gZGJkbWEyLm8KK3NuZC1zb2MtYXUxeHBzYy1pMnMtb2JqcyA6PSBwc2MtaTJzLm8KK3NuZC1zb2MtYXUxeHBzYy1hYzk3LW9ianMgOj0gcHNjLWFjOTcubworCitvYmotJChDT05GSUdfU05EX1NPQ19BVTFYUFNDKSArPSBzbmQtc29jLWF1MXhwc2MtZGJkbWEubworb2JqLSQoQ09ORklHX1NORF9TT0NfQVUxWFBTQ19JMlMpICs9IHNuZC1zb2MtYXUxeHBzYy1pMnMubworb2JqLSQoQ09ORklHX1NORF9TT0NfQVUxWFBTQ19BQzk3KSArPSBzbmQtc29jLWF1MXhwc2MtYWM5Ny5vCisKKyMgQm9hcmRzCitzbmQtc29jLXNhbXBsZS1hYzk3LW9ianMgOj0gc2FtcGxlLWFjOTcubworCitvYmotJChDT05GSUdfU05EX1NPQ19TQU1QTEVfUFNDX0FDOTcpICs9IHNuZC1zb2Mtc2FtcGxlLWFjOTcubwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvZGJkbWEyLmMgYi9zb3VuZC9zb2MvYXUxeC9kYmRtYTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDY2ZDkzCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvZGJkbWEyLmMKQEAgLTAsMCArMSw0MjEgQEAKKy8qCisgKiBBdTEyeDAvQXUxNTUwIFBTQyBBTFNBIEFTb0MgYXVkaW8gc3VwcG9ydC4KKyAqCisgKiAoYykgMjAwNy0yMDA4IE1TQyBWZXJ0cmllYnNnZXMubS5iLkguLAorICoJTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogRE1BIGdsdWUgZm9yIEF1MXgtUFNDIGF1ZGlvLgorICoKKyAqIE5PVEU6IGFsbCBvZiB0aGVzZSBkcml2ZXJzIGNhbiBvbmx5IHdvcmsgd2l0aCBhIFNJTkdMRSBpbnN0YW5jZQorICoJIG9mIGEgUFNDLiBNdWx0aXBsZSBpbmRlcGVuZGVudCBhdWRpbyBkZXZpY2VzIGFyZSBpbXBvc3NpYmxlCisgKgkgd2l0aCBBU29DIHYxLgorICovCisKKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxMDAwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9kYmRtYS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisKKyNpbmNsdWRlICJwc2MuaCIKKworLyojZGVmaW5lIFBDTV9ERUJVRyovCisKKyNkZWZpbmUgTVNHKHguLi4pCXByaW50ayhLRVJOX0lORk8gImF1MXhwc2NfcGNtOiAiIHgpCisjaWZkZWYgUENNX0RFQlVHCisjZGVmaW5lIERCRwkJTVNHCisjZWxzZQorI2RlZmluZSBEQkcoeC4uLikJZG8ge30gd2hpbGUgKDApCisjZW5kaWYKKworc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSB7CisJLyogRERNQSBjb250cm9sIGRhdGEgKi8KKwl1bnNpZ25lZCBpbnQgZGRtYV9pZDsJCS8qIERETUEgZGlyZWN0aW9uIElEIGZvciB0aGlzIFBTQyAqLworCXUzMiBkZG1hX2NoYW47CQkJLyogRERNQSBjb250ZXh0ICovCisKKwkvKiBQQ00gY29udGV4dCAoZm9yIGlycSBoYW5kbGVycykgKi8KKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwl1bnNpZ25lZCBsb25nIGN1cnJfcGVyaW9kOwkvKiBjdXJyZW50IHNlZ21lbnQgRERNQSBpcyB3b3JraW5nIG9uICovCisJdW5zaWduZWQgbG9uZyBxX3BlcmlvZDsJCS8qIHF1ZXVlIHBlcmlvZChzKSAqLworCXVuc2lnbmVkIGxvbmcgZG1hX2FyZWE7CQkvKiBhZGRyZXNzIG9mIHF1ZXVlZCBETUEgYXJlYSAqLworCXVuc2lnbmVkIGxvbmcgZG1hX2FyZWFfczsJLyogc3RhcnQgYWRkcmVzcyBvZiBETUEgYXJlYSAqLworCXVuc2lnbmVkIGxvbmcgcG9zOwkJLyogY3VycmVudCBieXRlIHBvc2l0aW9uIGJlaW5nIHBsYXllZCAqLworCXVuc2lnbmVkIGxvbmcgcGVyaW9kczsJCS8qIG51bWJlciBvZiBTRyBzZWdtZW50cyBpbiB0b3RhbCAqLworCXVuc2lnbmVkIGxvbmcgcGVyaW9kX2J5dGVzOwkvKiBzaXplIGluIGJ5dGVzIG9mIG9uZSBTRyBzZWdtZW50ICovCisKKwkvKiBydW50aW1lIGRhdGEgKi8KKwlpbnQgbXNiaXRzOworfTsKKworLyogaW5zdGFuY2UgZGF0YS4gVGhlcmUgY2FuIGJlIG9ubHkgb25lLCBNYWNMZW9kISEhISAqLworc3RhdGljIHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmF1MXhwc2NfYXVkaW9fcGNtZG1hWzJdOworCisvKgorICogVGhlc2Ugc2V0dGluZ3MgYXJlIHNvbWV3aGF0IG9rYXksIGF0IGxlYXN0IG9uIG15IG1hY2hpbmUgYXVkaW8gcGxheXMKKyAqIGFsbW9zdCBza2lwLWZyZWUuIEVzcGVjaWFsbHkgdGhlIDY0a0IgYnVmZmVyIHNlZW1zIHRvIGhlbHAgYSBMT1QuCisgKi8KKyNkZWZpbmUgQVUxWFBTQ19QRVJJT0RfTUlOX0JZVEVTCTEwMjQKKyNkZWZpbmUgQVUxWFBTQ19CVUZGRVJfTUlOX0JZVEVTCTY1NTM2CisKKyNkZWZpbmUgQVUxWFBTQ19QQ01fRk1UUwkJCQkJXAorCShTTkRSVl9QQ01fRk1UQklUX1M4ICAgICB8IFNORFJWX1BDTV9GTVRCSVRfVTggfAlcCisJIFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfQkUgfAlcCisJIFNORFJWX1BDTV9GTVRCSVRfVTE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9VMTZfQkUgfAlcCisJIFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMzJfQkUgfAlcCisJIFNORFJWX1BDTV9GTVRCSVRfVTMyX0xFIHwgU05EUlZfUENNX0ZNVEJJVF9VMzJfQkUgfAlcCisJIDApCisKKy8qIFBDTSBoYXJkd2FyZSBETUEgY2FwYWJpbGl0aWVzIC0gcGxhdGZvcm0gc3BlY2lmaWMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBhdTF4cHNjX3BjbV9oYXJkd2FyZSA9IHsKKwkuaW5mbwkJICA9IFNORFJWX1BDTV9JTkZPX01NQVAgfCBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKKwkJCSAgICBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCwKKwkuZm9ybWF0cwkgID0gQVUxWFBTQ19QQ01fRk1UUywKKwkucGVyaW9kX2J5dGVzX21pbiA9IEFVMVhQU0NfUEVSSU9EX01JTl9CWVRFUywKKwkucGVyaW9kX2J5dGVzX21heCA9IDQwOTYgKiAxMDI0IC0gMSwKKwkucGVyaW9kc19taW4JICA9IDIsCisJLnBlcmlvZHNfbWF4CSAgPSA0MDk2LAkvKiAyIHRvIGFzLW11Y2gtYXMteW91LWxpa2UgKi8KKwkuYnVmZmVyX2J5dGVzX21heCA9IDQwOTYgKiAxMDI0IC0gMSwKKwkuZmlmb19zaXplCSAgPSAxNiwJCS8qIGZpZm8gZW50cmllcyBvZiBBQzk3L0kyUyBQU0MgKi8KK307CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX3F1ZXVlX3R4KHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmNkKQoreworCWF1MXh4eF9kYmRtYV9wdXRfc291cmNlX2ZsYWdzKGNkLT5kZG1hX2NoYW4sCisJCQkJKHZvaWQgKilwaHlzX3RvX3ZpcnQoY2QtPmRtYV9hcmVhKSwKKwkJCQljZC0+cGVyaW9kX2J5dGVzLCBERE1BX0ZMQUdTX0lFKTsKKworCS8qIHVwZGF0ZSBuZXh0LXRvLXF1ZXVlIHBlcmlvZCAqLworCSsrY2QtPnFfcGVyaW9kOworCWNkLT5kbWFfYXJlYSArPSBjZC0+cGVyaW9kX2J5dGVzOworCWlmIChjZC0+cV9wZXJpb2QgPj0gY2QtPnBlcmlvZHMpIHsKKwkJY2QtPnFfcGVyaW9kID0gMDsKKwkJY2QtPmRtYV9hcmVhID0gY2QtPmRtYV9hcmVhX3M7CisJfQorfQorCitzdGF0aWMgdm9pZCBhdTF4X3BjbV9xdWV1ZV9yeChzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpjZCkKK3sKKwlhdTF4eHhfZGJkbWFfcHV0X2Rlc3RfZmxhZ3MoY2QtPmRkbWFfY2hhbiwKKwkJCQkodm9pZCAqKXBoeXNfdG9fdmlydChjZC0+ZG1hX2FyZWEpLAorCQkJCWNkLT5wZXJpb2RfYnl0ZXMsIERETUFfRkxBR1NfSUUpOworCisJLyogdXBkYXRlIG5leHQtdG8tcXVldWUgcGVyaW9kICovCisJKytjZC0+cV9wZXJpb2Q7CisJY2QtPmRtYV9hcmVhICs9IGNkLT5wZXJpb2RfYnl0ZXM7CisJaWYgKGNkLT5xX3BlcmlvZCA+PSBjZC0+cGVyaW9kcykgeworCQljZC0+cV9wZXJpb2QgPSAwOworCQljZC0+ZG1hX2FyZWEgPSBjZC0+ZG1hX2FyZWFfczsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX2RtYXR4X2NiKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpjZCA9IGRldl9pZDsKKworCWNkLT5wb3MgKz0gY2QtPnBlcmlvZF9ieXRlczsKKwlpZiAoKytjZC0+Y3Vycl9wZXJpb2QgPj0gY2QtPnBlcmlvZHMpIHsKKwkJY2QtPnBvcyA9IDA7CisJCWNkLT5jdXJyX3BlcmlvZCA9IDA7CisJfQorCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY2QtPnN1YnN0cmVhbSk7CisJYXUxeF9wY21fcXVldWVfdHgoY2QpOworfQorCitzdGF0aWMgdm9pZCBhdTF4X3BjbV9kbWFyeF9jYihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqY2QgPSBkZXZfaWQ7CisKKwljZC0+cG9zICs9IGNkLT5wZXJpb2RfYnl0ZXM7CisJaWYgKCsrY2QtPmN1cnJfcGVyaW9kID49IGNkLT5wZXJpb2RzKSB7CisJCWNkLT5wb3MgPSAwOworCQljZC0+Y3Vycl9wZXJpb2QgPSAwOworCX0KKwlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGNkLT5zdWJzdHJlYW0pOworCWF1MXhfcGNtX3F1ZXVlX3J4KGNkKTsKK30KKworc3RhdGljIHZvaWQgYXUxeF9wY21fZGJkbWFfZnJlZShzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpwY2QpCit7CisJaWYgKHBjZC0+ZGRtYV9jaGFuKSB7CisJCWF1MXh4eF9kYmRtYV9zdG9wKHBjZC0+ZGRtYV9jaGFuKTsKKwkJYXUxeHh4X2RiZG1hX3Jlc2V0KHBjZC0+ZGRtYV9jaGFuKTsKKwkJYXUxeHh4X2RiZG1hX2NoYW5fZnJlZShwY2QtPmRkbWFfY2hhbik7CisJCXBjZC0+ZGRtYV9jaGFuID0gMDsKKwkJcGNkLT5tc2JpdHMgPSAwOworCX0KK30KKworLyogaW4gY2FzZSBvZiBtaXNzaW5nIERNQSByaW5nIG9yIGNoYW5nZWQgVFgtc291cmNlIC8gUlgtZGVzdCBiaXQgd2lkdGhzLAorICogYWxsb2NhdGUgKG9yIHJlYWxsb2NhdGUpIGEgMi1kZXNjcmlwdG9yIERNQSByaW5nIHdpdGggYml0IGRlcHRoIGFjY29yZGluZworICogdG8gQUxTQS1zdXBwbGllZCBzYW1wbGUgZGVwdGguICBUaGlzIGlzIGR1ZSB0byBsaW1pdGF0aW9ucyBpbiB0aGUgZGJkbWEgYXBpCisgKiAoY2Fubm90IGFkanVzdCBzb3VyY2UvZGVzdCB3aWR0aHMgb2YgYWxyZWFkeSBhbGxvY2F0ZWQgZGVzY3JpcHRvciByaW5nKS4KKyAqLworc3RhdGljIGludCBhdTF4X3BjbV9kYmRtYV9yZWFsbG9jKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKnBjZCwKKwkJCQkgaW50IHN0eXBlLCBpbnQgbXNiaXRzKQoreworCS8qIERNQSBvbmx5IGluIDgvMTYvMzIgYml0IHdpZHRocyAqLworCWlmIChtc2JpdHMgPT0gMjQpCisJCW1zYml0cyA9IDMyOworCisJLyogY2hlY2sgY3VycmVudCBjb25maWc6IGNvcnJlY3QgYml0cyBhbmQgZGVzY3JpcHRvcnMgYWxsb2NhdGVkPyAqLworCWlmICgocGNkLT5kZG1hX2NoYW4pICYmIChtc2JpdHMgPT0gcGNkLT5tc2JpdHMpKQorCQlnb3RvIG91dDsJLyogYWxsIG9rISAqLworCisJYXUxeF9wY21fZGJkbWFfZnJlZShwY2QpOworCisJaWYgKHN0eXBlID09IFBDTV9SWCkKKwkJcGNkLT5kZG1hX2NoYW4gPSBhdTF4eHhfZGJkbWFfY2hhbl9hbGxvYyhwY2QtPmRkbWFfaWQsCisJCQkJCURTQ1JfQ01EMF9BTFdBWVMsCisJCQkJCWF1MXhfcGNtX2RtYXJ4X2NiLCAodm9pZCAqKXBjZCk7CisJZWxzZQorCQlwY2QtPmRkbWFfY2hhbiA9IGF1MXh4eF9kYmRtYV9jaGFuX2FsbG9jKERTQ1JfQ01EMF9BTFdBWVMsCisJCQkJCXBjZC0+ZGRtYV9pZCwKKwkJCQkJYXUxeF9wY21fZG1hdHhfY2IsICh2b2lkICopcGNkKTsKKworCWlmICghcGNkLT5kZG1hX2NoYW4pCisJCXJldHVybiAtRU5PTUVNOzsKKworCWF1MXh4eF9kYmRtYV9zZXRfZGV2d2lkdGgocGNkLT5kZG1hX2NoYW4sIG1zYml0cyk7CisJYXUxeHh4X2RiZG1hX3JpbmdfYWxsb2MocGNkLT5kZG1hX2NoYW4sIDIpOworCisJcGNkLT5tc2JpdHMgPSBtc2JpdHM7CisKKwlhdTF4eHhfZGJkbWFfc3RvcChwY2QtPmRkbWFfY2hhbik7CisJYXUxeHh4X2RiZG1hX3Jlc2V0KHBjZC0+ZGRtYV9jaGFuKTsKKworb3V0OgorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpwY2Q7CisJaW50IHN0eXBlLCByZXQ7CisKKwlyZXQgPSBzbmRfcGNtX2xpYl9tYWxsb2NfcGFnZXMoc3Vic3RyZWFtLCBwYXJhbXNfYnVmZmVyX2J5dGVzKHBhcmFtcykpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIG91dDsKKworCXN0eXBlID0gU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKTsKKwlwY2QgPSBhdTF4cHNjX2F1ZGlvX3BjbWRtYVtzdHlwZV07CisKKwlEQkcoInJ1bnRpbWUtPmRtYV9hcmVhID0gMHglMDhseCBkbWFfYWRkcl90ID0gMHglMDhseCBkbWFfc2l6ZSA9ICVkICIKKwkgICAgInJ1bnRpbWUtPm1pbl9hbGlnbiAlZFxuIiwKKwkJKHVuc2lnbmVkIGxvbmcpcnVudGltZS0+ZG1hX2FyZWEsCisJCSh1bnNpZ25lZCBsb25nKXJ1bnRpbWUtPmRtYV9hZGRyLCBydW50aW1lLT5kbWFfYnl0ZXMsCisJCXJ1bnRpbWUtPm1pbl9hbGlnbik7CisKKwlEQkcoImJpdHMgJWQgIGZyYWdzICVkICBmcmFnX2J5dGVzICVkICBpc19yeCAlZFxuIiwgcGFyYW1zLT5tc2JpdHMsCisJCXBhcmFtc19wZXJpb2RzKHBhcmFtcyksIHBhcmFtc19wZXJpb2RfYnl0ZXMocGFyYW1zKSwgc3R5cGUpOworCisJcmV0ID0gYXUxeF9wY21fZGJkbWFfcmVhbGxvYyhwY2QsIHN0eXBlLCBwYXJhbXMtPm1zYml0cyk7CisJaWYgKHJldCkgeworCQlNU0coIkRETUEgY2hhbm5lbCAocmUpYWxsb2MgZmFpbGVkIVxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXBjZC0+c3Vic3RyZWFtID0gc3Vic3RyZWFtOworCXBjZC0+cGVyaW9kX2J5dGVzID0gcGFyYW1zX3BlcmlvZF9ieXRlcyhwYXJhbXMpOworCXBjZC0+cGVyaW9kcyA9IHBhcmFtc19wZXJpb2RzKHBhcmFtcyk7CisJcGNkLT5kbWFfYXJlYV9zID0gcGNkLT5kbWFfYXJlYSA9ICh1bnNpZ25lZCBsb25nKXJ1bnRpbWUtPmRtYV9hZGRyOworCXBjZC0+cV9wZXJpb2QgPSAwOworCXBjZC0+Y3Vycl9wZXJpb2QgPSAwOworCXBjZC0+cG9zID0gMDsKKworCXJldCA9IDA7CitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXNuZF9wY21fbGliX2ZyZWVfcGFnZXMoc3Vic3RyZWFtKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKnBjZCA9CisJCQlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pXTsKKworCWF1MXh4eF9kYmRtYV9yZXNldChwY2QtPmRkbWFfY2hhbik7CisKKwlpZiAoU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKSA9PSBQQ01fUlgpIHsKKwkJYXUxeF9wY21fcXVldWVfcngocGNkKTsKKwkJYXUxeF9wY21fcXVldWVfcngocGNkKTsKKwl9IGVsc2UgeworCQlhdTF4X3BjbV9xdWV1ZV90eChwY2QpOworCQlhdTF4X3BjbV9xdWV1ZV90eChwY2QpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCit7CisJdTMyIGMgPSBhdTF4cHNjX2F1ZGlvX3BjbWRtYVtTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pXS0+ZGRtYV9jaGFuOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgorCQlhdTF4eHhfZGJkbWFfc3RhcnQoYyk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CisJCWF1MXh4eF9kYmRtYV9zdG9wKGMpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdAorYXUxeHBzY19wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlyZXR1cm4gYnl0ZXNfdG9fZnJhbWVzKHN1YnN0cmVhbS0+cnVudGltZSwKKwkJYXUxeHBzY19hdWRpb19wY21kbWFbU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKV0tPnBvcyk7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzbmRfc29jX3NldF9ydW50aW1lX2h3cGFyYW1zKHN1YnN0cmVhbSwgJmF1MXhwc2NfcGNtX2hhcmR3YXJlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlhdTF4X3BjbV9kYmRtYV9mcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1NVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSldKTsKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9wY21fb3BzIGF1MXhwc2NfcGNtX29wcyA9IHsKKwkub3BlbgkJPSBhdTF4cHNjX3BjbV9vcGVuLAorCS5jbG9zZQkJPSBhdTF4cHNjX3BjbV9jbG9zZSwKKwkuaW9jdGwJCT0gc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcwk9IGF1MXhwc2NfcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZQk9IGF1MXhwc2NfcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUJPSBhdTF4cHNjX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyCT0gYXUxeHBzY19wY21fdHJpZ2dlciwKKwkucG9pbnRlcgk9IGF1MXhwc2NfcGNtX3BvaW50ZXIsCit9OworCitzdGF0aWMgdm9pZCBhdTF4cHNjX3BjbV9mcmVlX2RtYV9idWZmZXJzKHN0cnVjdCBzbmRfcGNtICpwY20pCit7CisJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfZnJlZV9mb3JfYWxsKHBjbSk7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKKwkJCSAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCQkJICAgc3RydWN0IHNuZF9wY20gKnBjbSkKK3sKKwlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlc19mb3JfYWxsKHBjbSwgU05EUlZfRE1BX1RZUEVfREVWLAorCQljYXJkLT5kZXYsIEFVMVhQU0NfQlVGRkVSX01JTl9CWVRFUywgKDQwOTYgKiAxMDI0KSAtIDEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IHJldDsKKworCWlmIChhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdIHx8IGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0pCisJCXJldHVybiAtRUJVU1k7CisKKwkvKiBUWCBETUEgKi8KKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdCisJCT0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfRE1BLCAwKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQxOworCX0KKwkoYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSktPmRkbWFfaWQgPSByLT5zdGFydDsKKworCS8qIFJYIERNQSAqLworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0KKwkJPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9ETUEsIDEpOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDI7CisJfQorCShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdKS0+ZGRtYV9pZCA9IHItPnN0YXJ0OworCisJcmV0dXJuIDA7CisKK291dDI6CisJa2ZyZWUoYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSk7CisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSA9IE5VTEw7CitvdXQxOgorCWtmcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0pOworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0gPSBOVUxMOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7CisJCWlmIChhdTF4cHNjX2F1ZGlvX3BjbWRtYVtpXSkgeworCQkJYXUxeF9wY21fZGJkbWFfZnJlZShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtpXSk7CisJCQlrZnJlZShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtpXSk7CisJCQlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtpXSA9IE5VTEw7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogYXUxeHBzYyBhdWRpbyBwbGF0Zm9ybSAqLworc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gYXUxeHBzY19zb2NfcGxhdGZvcm0gPSB7CisJLm5hbWUJCT0gImF1MXhwc2MtcGNtLWRiZG1hIiwKKwkucHJvYmUJCT0gYXUxeHBzY19wY21fcHJvYmUsCisJLnJlbW92ZQkJPSBhdTF4cHNjX3BjbV9yZW1vdmUsCisJLnBjbV9vcHMgCT0gJmF1MXhwc2NfcGNtX29wcywKKwkucGNtX25ldwk9IGF1MXhwc2NfcGNtX25ldywKKwkucGNtX2ZyZWUJPSBhdTF4cHNjX3BjbV9mcmVlX2RtYV9idWZmZXJzLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGF1MXhwc2Nfc29jX3BsYXRmb3JtKTsKKworc3RhdGljIGludCBfX2luaXQgYXUxeHBzY19hdWRpb19kYmRtYV9pbml0KHZvaWQpCit7CisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSA9IE5VTEw7CisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdTF4cHNjX2F1ZGlvX2RiZG1hX2V4aXQodm9pZCkKK3sKK30KKworbW9kdWxlX2luaXQoYXUxeHBzY19hdWRpb19kYmRtYV9pbml0KTsKK21vZHVsZV9leGl0KGF1MXhwc2NfYXVkaW9fZGJkbWFfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXUxMngwL0F1MTU1MCBQU0MgQXVkaW8gRE1BIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PiIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvcHNjLWFjOTcuYyBiL3NvdW5kL3NvYy9hdTF4L3BzYy1hYzk3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdmYWNiYQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L3BzYy1hYzk3LmMKQEAgLTAsMCArMSwzODcgQEAKKy8qCisgKiBBdTEyeDAvQXUxNTUwIFBTQyBBTFNBIEFTb0MgYXVkaW8gc3VwcG9ydC4KKyAqCisgKiAoYykgMjAwNy0yMDA4IE1TQyBWZXJ0cmllYnNnZXMubS5iLkguLAorICoJTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogQXUxeHh4LVBTQyBBQzk3IGdsdWUuCisgKgorICogTk9URTogYWxsIG9mIHRoZXNlIGRyaXZlcnMgY2FuIG9ubHkgd29yayB3aXRoIGEgU0lOR0xFIGluc3RhbmNlCisgKgkgb2YgYSBQU0MuIE11bHRpcGxlIGluZGVwZW5kZW50IGF1ZGlvIGRldmljZXMgYXJlIGltcG9zc2libGUKKyAqCSB3aXRoIEFTb0MgdjEuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTEwMDAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oPgorCisjaW5jbHVkZSAicHNjLmgiCisKKyNkZWZpbmUgQUM5N19ESVIJXAorCShTTkRfU09DX0RBSURJUl9QTEFZQkFDSyB8IFNORF9TT0NfREFJRElSX0NBUFRVUkUpCisKKyNkZWZpbmUgQUM5N19SQVRFUwlcCisJU05EUlZfUENNX1JBVEVfODAwMF80ODAwMAorCisjZGVmaW5lIEFDOTdfRk1UUwlcCisJKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0JFKQorCisjZGVmaW5lIEFDOTdQQ1JfU1RBUlQoc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfQUM5N1BDUl9UUyA6IFBTQ19BQzk3UENSX1JTKQorI2RlZmluZSBBQzk3UENSX1NUT1Aoc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfQUM5N1BDUl9UUCA6IFBTQ19BQzk3UENSX1JQKQorI2RlZmluZSBBQzk3UENSX0NMUkZJRk8oc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfQUM5N1BDUl9UQyA6IFBTQ19BQzk3UENSX1JDKQorCisvKiBpbnN0YW5jZSBkYXRhLiBUaGVyZSBjYW4gYmUgb25seSBvbmUsIE1hY0xlb2QhISEhICovCitzdGF0aWMgc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCisvKiBBQzk3IGNvbnRyb2xsZXIgcmVhZHMgY29kZWMgcmVnaXN0ZXIgKi8KK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBhdTF4cHNjX2FjOTdfcmVhZChzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcsCisJCQkJCXVuc2lnbmVkIHNob3J0IHJlZykKK3sKKwkvKiBGSVhNRSAqLworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2FjOTdfd29ya2RhdGE7CisJdW5zaWduZWQgc2hvcnQgZGF0YSwgdG1vOworCisJYXVfd3JpdGVsKFBTQ19BQzk3Q0RDX1JEIHwgUFNDX0FDOTdDRENfSU5EWChyZWcpLCBBQzk3X0NEQyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJdG1vID0gMTAwMDsKKwl3aGlsZSAoKCEoYXVfcmVhZGwoQUM5N19FVk5UKHBzY2RhdGEpKSAmIFBTQ19BQzk3RVZOVF9DRCkpICYmIC0tdG1vKQorCQl1ZGVsYXkoMik7CisKKwlpZiAoIXRtbykKKwkJZGF0YSA9IDB4ZmZmZjsKKwllbHNlCisJCWRhdGEgPSBhdV9yZWFkbChBQzk3X0NEQyhwc2NkYXRhKSkgJiAweGZmZmY7CisKKwlhdV93cml0ZWwoUFNDX0FDOTdFVk5UX0NELCBBQzk3X0VWTlQocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXJldHVybiBkYXRhOworfQorCisvKiBBQzk3IGNvbnRyb2xsZXIgd3JpdGVzIHRvIGNvZGVjIHJlZ2lzdGVyICovCitzdGF0aWMgdm9pZCBhdTF4cHNjX2FjOTdfd3JpdGUoc3RydWN0IHNuZF9hYzk3ICphYzk3LCB1bnNpZ25lZCBzaG9ydCByZWcsCisJCQkJdW5zaWduZWQgc2hvcnQgdmFsKQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwl1bnNpZ25lZCBpbnQgdG1vOworCisJYXVfd3JpdGVsKFBTQ19BQzk3Q0RDX0lORFgocmVnKSB8ICh2YWwgJiAweGZmZmYpLCBBQzk3X0NEQyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCXRtbyA9IDEwMDA7CisJd2hpbGUgKCghKGF1X3JlYWRsKEFDOTdfRVZOVChwc2NkYXRhKSkgJiBQU0NfQUM5N0VWTlRfQ0QpKSAmJiAtLXRtbykKKwkJYXVfc3luYygpOworCisJYXVfd3JpdGVsKFBTQ19BQzk3RVZOVF9DRCwgQUM5N19FVk5UKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7Cit9CisKKy8qIEFDOTcgY29udHJvbGxlciBhc3NlcnRzIGEgd2FybSByZXNldCAqLworc3RhdGljIHZvaWQgYXUxeHBzY19hYzk3X3dhcm1fcmVzZXQoc3RydWN0IHNuZF9hYzk3ICphYzk3KQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKworCWF1X3dyaXRlbChQU0NfQUM5N1JTVF9TTkMsIEFDOTdfUlNUKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJbXNsZWVwKDEwKTsKKwlhdV93cml0ZWwoMCwgQUM5N19SU1QocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKK30KKworc3RhdGljIHZvaWQgYXUxeHBzY19hYzk3X2NvbGRfcmVzZXQoc3RydWN0IHNuZF9hYzk3ICphYzk3KQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwlpbnQgaTsKKworCS8qIGRpc2FibGUgUFNDIGR1cmluZyBjb2xkIHJlc2V0ICovCisJYXVfd3JpdGVsKDAsIEFDOTdfQ0ZHKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIGlzc3VlIGNvbGQgcmVzZXQgKi8KKwlhdV93cml0ZWwoUFNDX0FDOTdSU1RfUlNULCBBQzk3X1JTVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCW1zbGVlcCg1MDApOworCWF1X3dyaXRlbCgwLCBBQzk3X1JTVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogZW5hYmxlIFBTQyAqLworCWF1X3dyaXRlbChQU0NfQ1RSTF9FTkFCTEUsIFBTQ19DVFJMKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiB3YWl0IGZvciBQU0MgdG8gaW5kaWNhdGUgaXQncyByZWFkeSAqLworCWkgPSAxMDAwMDA7CisJd2hpbGUgKCEoKGF1X3JlYWRsKEFDOTdfU1RBVChwc2NkYXRhKSkgJiBQU0NfQUM5N1NUQVRfU1IpKSAmJiAoLS1pKSkKKwkJYXVfc3luYygpOworCisJaWYgKGkgPT0gMCkgeworCQlwcmludGsoS0VSTl9FUlIgImF1MXhwc2MtYWM5NzogUFNDIG5vdCByZWFkeSFcbiIpOworCQlyZXR1cm47CisJfQorCisJLyogZW5hYmxlIHRoZSBhYzk3IGZ1bmN0aW9uICovCisJYXVfd3JpdGVsKHBzY2RhdGEtPmNmZyB8IFBTQ19BQzk3Q0ZHX0RFX0VOQUJMRSwgQUM5N19DRkcocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIEFDOTcgY29yZSB0byBiZWNvbWUgcmVhZHkgKi8KKwlpID0gMTAwMDAwOworCXdoaWxlICghKChhdV9yZWFkbChBQzk3X1NUQVQocHNjZGF0YSkpICYgUFNDX0FDOTdTVEFUX0RSKSkgJiYgKC0taSkpCisJCWF1X3N5bmMoKTsKKwlpZiAoaSA9PSAwKQorCQlwcmludGsoS0VSTl9FUlIgImF1MXhwc2MtYWM5NzogQUM5NyBjdHJsIG5vdCByZWFkeVxuIik7Cit9CisKKy8qIEFDOTcgY29udHJvbGxlciBvcGVyYXRpb25zICovCitzdHJ1Y3Qgc25kX2FjOTdfYnVzX29wcyBzb2NfYWM5N19vcHMgPSB7CisJLnJlYWQJCT0gYXUxeHBzY19hYzk3X3JlYWQsCisJLndyaXRlCQk9IGF1MXhwc2NfYWM5N193cml0ZSwKKwkucmVzZXQJCT0gYXUxeHBzY19hYzk3X2NvbGRfcmVzZXQsCisJLndhcm1fcmVzZXQJPSBhdTF4cHNjX2FjOTdfd2FybV9yZXNldCwKK307CitFWFBPUlRfU1lNQk9MX0dQTChzb2NfYWM5N19vcHMpOworCitzdGF0aWMgaW50IGF1MXhwc2NfYWM5N19od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwkvKiBGSVhNRSAqLworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2FjOTdfd29ya2RhdGE7CisJdW5zaWduZWQgbG9uZyByLCBzdGF0OworCWludCBjaGFucywgc3R5cGUgPSBTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pOworCisJY2hhbnMgPSBwYXJhbXNfY2hhbm5lbHMocGFyYW1zKTsKKworCXIgPSBhdV9yZWFkbChBQzk3X0NGRyhwc2NkYXRhKSk7CisJc3RhdCA9IGF1X3JlYWRsKEFDOTdfU1RBVChwc2NkYXRhKSk7CisKKwkvKiBhbHJlYWR5IGFjdGl2ZT8gKi8KKwlpZiAoc3RhdCAmIChQU0NfQUM5N1NUQVRfVEIgfCBQU0NfQUM5N1NUQVRfUkIpKSB7CisJCS8qIHJlamVjdCBwYXJhbWV0ZXJzIG5vdCBjdXJyZW50bHkgc2V0IHVwICovCisJCWlmICgoUFNDX0FDOTdDRkdfR0VUX0xFTihyKSAhPSBwYXJhbXMtPm1zYml0cykgfHwKKwkJICAgIChwc2NkYXRhLT5yYXRlICE9IHBhcmFtc19yYXRlKHBhcmFtcykpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfSBlbHNlIHsKKwkJLyogZGlzYWJsZSBBQzk3IGRldmljZSBjb250cm9sbGVyIGZpcnN0ICovCisJCWF1X3dyaXRlbChyICYgflBTQ19BQzk3Q0ZHX0RFX0VOQUJMRSwgQUM5N19DRkcocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisKKwkJLyogc2V0IHNhbXBsZSBiaXRkZXB0aDogUkVHWzI0OjIxXT0oQklUUy0yKS8yICovCisJCXIgJj0gflBTQ19BQzk3Q0ZHX0xFTl9NQVNLOworCQlyIHw9IFBTQ19BQzk3Q0ZHX1NFVF9MRU4ocGFyYW1zLT5tc2JpdHMpOworCisJCS8qIGNoYW5uZWxzOiBlbmFibGUgc2xvdHMgZm9yIGZyb250IEwvUiBjaGFubmVsICovCisJCWlmIChzdHlwZSA9PSBQQ01fVFgpIHsKKwkJCXIgJj0gflBTQ19BQzk3Q0ZHX1RYU0xPVF9NQVNLOworCQkJciB8PSBQU0NfQUM5N0NGR19UWFNMT1RfRU5BKDMpOworCQkJciB8PSBQU0NfQUM5N0NGR19UWFNMT1RfRU5BKDQpOworCQl9IGVsc2UgeworCQkJciAmPSB+UFNDX0FDOTdDRkdfUlhTTE9UX01BU0s7CisJCQlyIHw9IFBTQ19BQzk3Q0ZHX1JYU0xPVF9FTkEoMyk7CisJCQlyIHw9IFBTQ19BQzk3Q0ZHX1JYU0xPVF9FTkEoNCk7CisJCX0KKworCQkvKiBmaW5hbGx5IGVuYWJsZSB0aGUgQUM5NyBjb250cm9sbGVyIGFnYWluICovCisJCWF1X3dyaXRlbChyIHwgUFNDX0FDOTdDRkdfREVfRU5BQkxFLCBBQzk3X0NGRyhwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKworCQlwc2NkYXRhLT5jZmcgPSByOworCQlwc2NkYXRhLT5yYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2FjOTdfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQlpbnQgY21kKQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwlpbnQgcmV0LCBzdHlwZSA9IFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSk7CisKKwlyZXQgPSAwOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgorCQlhdV93cml0ZWwoQUM5N1BDUl9TVEFSVChzdHlwZSksIEFDOTdfUENSKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgorCQlhdV93cml0ZWwoQUM5N1BDUl9TVE9QKHN0eXBlKSwgQUM5N19QQ1IocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwl1bnNpZ25lZCBsb25nIHNlbDsKKworCWlmIChhdTF4cHNjX2FjOTdfd29ya2RhdGEpCisJCXJldHVybiAtRUJVU1k7CisKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEgPQorCQlremFsbG9jKHNpemVvZihzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhdTF4cHNjX2FjOTdfd29ya2RhdGEpCisJCXJldHVybiAtRU5PTUVNOworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJaWYgKCFyKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0MDsKKwl9CisKKwlyZXQgPSAtRUJVU1k7CisJYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEgPQorCQlyZXF1ZXN0X21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSwKKwkJCQkJImF1MXhwc2NfYWM5NyIpOworCWlmICghYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEpCisJCWdvdG8gb3V0MDsKKworCWF1MXhwc2NfYWM5N193b3JrZGF0YS0+bW1pbyA9IGlvcmVtYXAoci0+c3RhcnQsIDB4ZmZmZik7CisJaWYgKCFhdTF4cHNjX2FjOTdfd29ya2RhdGEtPm1taW8pCisJCWdvdG8gb3V0MTsKKworCS8qIGNvbmZpZ3VyYXRpb246IG1heCBkbWEgdHJpZ2dlciB0aHJlc2hvbGQsIGVuYWJsZSBhYzk3ICovCisJIGF1MXhwc2NfYWM5N193b3JrZGF0YS0+Y2ZnID0gUFNDX0FDOTdDRkdfUlRfRklGTzggfAorCQkJCSAgICAgIFBTQ19BQzk3Q0ZHX1RUX0ZJRk84IHwKKwkJCQkgICAgICBQU0NfQUM5N0NGR19ERV9FTkFCTEU7CisKKwkvKiBwcmVzZXJ2ZSBQU0MgY2xvY2sgc291cmNlIHNldCB1cCBieSBwbGF0Zm9ybSAoZGV2LnBsYXRmb3JtX2RhdGEKKwkgKiBpcyBhbHJlYWR5IG9jY3VwaWVkIGJ5IHNvYyBsYXllcikKKwkgKi8KKwlzZWwgPSBhdV9yZWFkbChQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpICYgUFNDX1NFTF9DTEtfTUFTSzsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbCgwLCBQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX1NFTF9QU19BQzk3TU9ERSB8IHNlbCwgUFNDX1NFTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJLyogbmV4dCB1cDogY29sZCByZXNldC4gIERvbnQgY2hlY2sgZm9yIFBTQy1yZWFkeSBub3cgc2luY2UKKwkgKiB0aGVyZSBtYXkgbm90IGJlIGFueSBjb2RlYyBjbG9jayB5ZXQuCisJICovCisKKwlyZXR1cm4gMDsKKworb3V0MToKKwlyZWxlYXNlX3Jlc291cmNlKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSk7CitvdXQwOgorCWtmcmVlKGF1MXhwc2NfYWM5N193b3JrZGF0YSk7CisJYXUxeHBzY19hYzk3X3dvcmtkYXRhID0gTlVMTDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBhdTF4cHNjX2FjOTdfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJLyogZGlzYWJsZSBQU0MgY29tcGxldGVseSAqLworCWF1X3dyaXRlbCgwLCBBQzk3X0NGRyhhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCWlvdW5tYXAoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5tbWlvKTsKKwlyZWxlYXNlX3Jlc291cmNlKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19hYzk3X3dvcmtkYXRhKTsKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEgPSBOVUxMOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfYWM5N19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJLyogc2F2ZSBpbnRlcmVzdGluZyByZWdpc3RlcnMgYW5kIGRpc2FibGUgUFNDICovCisJYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5wbVswXSA9CisJCQlhdV9yZWFkbChQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCisJYXVfd3JpdGVsKDAsIEFDOTdfQ0ZHKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCS8qIHJlc3RvcmUgUFNDIGNsb2NrIGNvbmZpZyAqLworCWF1X3dyaXRlbChhdTF4cHNjX2FjOTdfd29ya2RhdGEtPnBtWzBdIHwgUFNDX1NFTF9QU19BQzk3TU9ERSwKKwkJCVBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogYWZ0ZXIgdGhpcyBwb2ludCB0aGUgYWM5NyBjb3JlIHdpbGwgY29sZC1yZXNldCB0aGUgY29kZWMuCisJICogRHVyaW5nIGNvbGQtcmVzZXQgdGhlIFBTQyBpcyByZWluaXRpYWxpemVkIGFuZCB0aGUgbGFzdAorCSAqIGNvbmZpZ3VyYXRpb24gc2V0IHVwIGluIGh3X3BhcmFtcygpIGlzIHJlc3RvcmVkLgorCSAqLworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19kYWkgYXUxeHBzY19hYzk3X2RhaSA9IHsKKwkubmFtZQkJCT0gImF1MXhwc2NfYWM5NyIsCisJLnR5cGUJCQk9IFNORF9TT0NfREFJX0FDOTcsCisJLnByb2JlCQkJPSBhdTF4cHNjX2FjOTdfcHJvYmUsCisJLnJlbW92ZQkJCT0gYXUxeHBzY19hYzk3X3JlbW92ZSwKKwkuc3VzcGVuZAkJPSBhdTF4cHNjX2FjOTdfc3VzcGVuZCwKKwkucmVzdW1lCQkJPSBhdTF4cHNjX2FjOTdfcmVzdW1lLAorCS5wbGF5YmFjayA9IHsKKwkJLnJhdGVzCQk9IEFDOTdfUkFURVMsCisJCS5mb3JtYXRzCT0gQUM5N19GTVRTLAorCQkuY2hhbm5lbHNfbWluCT0gMiwKKwkJLmNoYW5uZWxzX21heAk9IDIsCisJfSwKKwkuY2FwdHVyZSA9IHsKKwkJLnJhdGVzCQk9IEFDOTdfUkFURVMsCisJCS5mb3JtYXRzCT0gQUM5N19GTVRTLAorCQkuY2hhbm5lbHNfbWluCT0gMiwKKwkJLmNoYW5uZWxzX21heAk9IDIsCisJfSwKKwkub3BzID0geworCQkudHJpZ2dlcgk9IGF1MXhwc2NfYWM5N190cmlnZ2VyLAorCQkuaHdfcGFyYW1zCT0gYXUxeHBzY19hYzk3X2h3X3BhcmFtcywKKwl9LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGF1MXhwc2NfYWM5N19kYWkpOworCitzdGF0aWMgaW50IF9faW5pdCBhdTF4cHNjX2FjOTdfaW5pdCh2b2lkKQoreworCWF1MXhwc2NfYWM5N193b3JrZGF0YSA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdTF4cHNjX2FjOTdfZXhpdCh2b2lkKQoreworfQorCittb2R1bGVfaW5pdChhdTF4cHNjX2FjOTdfaW5pdCk7Cittb2R1bGVfZXhpdChhdTF4cHNjX2FjOTdfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXUxMngwL0F1MTU1MCBQU0MgQUM5NyBBTFNBIEFTb0MgYXVkaW8gZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+Iik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9wc2MtaTJzLmMgYi9zb3VuZC9zb2MvYXUxeC9wc2MtaTJzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE0YjVjMQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L3BzYy1pMnMuYwpAQCAtMCwwICsxLDQxNCBAQAorLyoKKyAqIEF1MTJ4MC9BdTE1NTAgUFNDIEFMU0EgQVNvQyBhdWRpbyBzdXBwb3J0LgorICoKKyAqIChjKSAyMDA3LTIwMDggTVNDIFZlcnRyaWVic2dlcy5tLmIuSC4sCisgKglNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBBdTF4eHgtUFNDIEkyUyBnbHVlLgorICoKKyAqIE5PVEU6IGFsbCBvZiB0aGVzZSBkcml2ZXJzIGNhbiBvbmx5IHdvcmsgd2l0aCBhIFNJTkdMRSBpbnN0YW5jZQorICoJIG9mIGEgUFNDLiBNdWx0aXBsZSBpbmRlcGVuZGVudCBhdWRpbyBkZXZpY2VzIGFyZSBpbXBvc3NpYmxlCisgKgkgd2l0aCBBU29DIHYxLgorICogTk9URTogc28gZmFyIG9ubHkgUFNDIHNsYXZlIG1vZGUgKGJpdC0gYW5kIGZyYW1lY2xvY2spIGlzIHN1cHBvcnRlZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTEwMDAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oPgorCisjaW5jbHVkZSAicHNjLmgiCisKKy8qIHN1cHBvcnRlZCBJMlMgREFJIGhhcmR3YXJlIGZvcm1hdHMgKi8KKyNkZWZpbmUgQVUxWFBTQ19JMlNfREFJRk1UIFwKKwkoU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfTEVGVF9KIHwJXAorCSBTTkRfU09DX0RBSUZNVF9OQl9ORikKKworLyogc3VwcG9ydGVkIEkyUyBkaXJlY3Rpb24gKi8KKyNkZWZpbmUgQVUxWFBTQ19JMlNfRElSIFwKKwkoU05EX1NPQ19EQUlESVJfUExBWUJBQ0sgfCBTTkRfU09DX0RBSURJUl9DQVBUVVJFKQorCisjZGVmaW5lIEFVMVhQU0NfSTJTX1JBVEVTIFwKKwlTTkRSVl9QQ01fUkFURV84MDAwXzE5MjAwMAorCisjZGVmaW5lIEFVMVhQU0NfSTJTX0ZNVFMgXAorCShTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzI0X0xFKQorCisjZGVmaW5lIEkyU1NUQVRfQlVTWShzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19JMlNTVEFUX1RCIDogUFNDX0kyU1NUQVRfUkIpCisjZGVmaW5lIEkyU1BDUl9TVEFSVChzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19JMlNQQ1JfVFMgOiBQU0NfSTJTUENSX1JTKQorI2RlZmluZSBJMlNQQ1JfU1RPUChzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19JMlNQQ1JfVFAgOiBQU0NfSTJTUENSX1JQKQorI2RlZmluZSBJMlNQQ1JfQ0xSRklGTyhzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19JMlNQQ1JfVEMgOiBQU0NfSTJTUENSX1JDKQorCisKKy8qIGluc3RhbmNlIGRhdGEuIFRoZXJlIGNhbiBiZSBvbmx5IG9uZSwgTWFjTGVvZCEhISEgKi8KK3N0YXRpYyBzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICphdTF4cHNjX2kyc193b3JrZGF0YTsKKworc3RhdGljIGludCBhdTF4cHNjX2kyc19zZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKKwkJCSAgICAgICB1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2kyc193b3JrZGF0YTsKKwl1bnNpZ25lZCBsb25nIGN0OworCWludCByZXQ7CisKKwlyZXQgPSAtRUlOVkFMOworCisJY3QgPSBwc2NkYXRhLT5jZmc7CisKKwljdCAmPSB+KFBTQ19JMlNDRkdfWE0gfCBQU0NfSTJTQ0ZHX01MSik7CS8qIGxlZnQtanVzdGlmaWVkICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQljdCB8PSBQU0NfSTJTQ0ZHX1hNOwkvKiBlbmFibGUgSTJTIG1vZGUgKi8KKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9NU0I6CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTFNCOgorCQljdCB8PSBQU0NfSTJTQ0ZHX01MSjsJLyogTFNCIChyaWdodC0pIGp1c3RpZmllZCAqLworCQlicmVhazsKKwlkZWZhdWx0OgorCQlnb3RvIG91dDsKKwl9CisKKwljdCAmPSB+KFBTQ19JMlNDRkdfQkkgfCBQU0NfSTJTQ0ZHX1dJKTsJCS8qIElCLUlGICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9JTlZfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfTkY6CisJCWN0IHw9IFBTQ19JMlNDRkdfQkkgfCBQU0NfSTJTQ0ZHX1dJOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX05CX0lGOgorCQljdCB8PSBQU0NfSTJTQ0ZHX0JJOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0lCX05GOgorCQljdCB8PSBQU0NfSTJTQ0ZHX1dJOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0lCX0lGOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlnb3RvIG91dDsKKwl9CisKKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgkvKiBDT0RFQyBtYXN0ZXIgKi8KKwkJY3QgfD0gUFNDX0kyU0NGR19NUzsJLyogUFNDIEkyUyBzbGF2ZSBtb2RlICovCisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoJLyogQ09ERUMgc2xhdmUgKi8KKwkJY3QgJj0gflBTQ19JMlNDRkdfTVM7CS8qIFBTQyBJMlMgTWFzdGVyIG1vZGUgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZ290byBvdXQ7CisJfQorCisJcHNjZGF0YS0+Y2ZnID0gY3Q7CisJcmV0ID0gMDsKK291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfaTJzX3dvcmtkYXRhOworCisJaW50IGNmZ2JpdHM7CisJdW5zaWduZWQgbG9uZyBzdGF0OworCisJLyogY2hlY2sgaWYgdGhlIFBTQyBpcyBhbHJlYWR5IHN0cmVhbWluZyBkYXRhICovCisJc3RhdCA9IGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKTsKKwlpZiAoc3RhdCAmIChQU0NfSTJTU1RBVF9UQiB8IFBTQ19JMlNTVEFUX1JCKSkgeworCQkvKiByZWplY3QgcGFyYW1ldGVycyBub3QgY3VycmVudGx5IHNldCB1cCBpbiBoYXJkd2FyZSAqLworCQljZmdiaXRzID0gYXVfcmVhZGwoSTJTX0NGRyhwc2NkYXRhKSk7CisJCWlmICgoUFNDX0kyU0NGR19HRVRfTEVOKGNmZ2JpdHMpICE9IHBhcmFtcy0+bXNiaXRzKSB8fAorCQkgICAgKHBhcmFtc19yYXRlKHBhcmFtcykgIT0gcHNjZGF0YS0+cmF0ZSkpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9IGVsc2UgeworCQkvKiBzZXQgc2FtcGxlIGJpdGRlcHRoICovCisJCXBzY2RhdGEtPmNmZyAmPSB+KDB4MWYgPDwgNCk7CisJCXBzY2RhdGEtPmNmZyB8PSBQU0NfSTJTQ0ZHX1NFVF9MRU4ocGFyYW1zLT5tc2JpdHMpOworCQkvKiByZW1lbWJlciBjdXJyZW50IHJhdGUgZm9yIG90aGVyIHN0cmVhbSAqLworCQlwc2NkYXRhLT5yYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIENvbmZpZ3VyZSBQU0MgbGF0ZTogIG9uIG15IGRldmVsIHN5c3RlbXMgdGhlIGNvZGVjICBpcyBJMlMgbWFzdGVyIGFuZAorICogc3VwcGxpZXMgdGhlIGkyc2JpdGNsb2NrIF9fQU5EX18gaTJzTWNsayAoISkgdG8gdGhlIFBTQyB1bml0LiAgQVNvQworICogdXNlcyBhZ2dyZXNzaXZlIFBNIGFuZCAgc3dpdGNoZXMgdGhlIGNvZGVjIG9mZiAgd2hlbiBpdCBpcyBub3QgaW4gdXNlCisgKiB3aGljaCBhbHNvIG1lYW5zIHRoZSBQU0MgdW5pdCBkb2Vzbid0IGdldCBhbnkgY2xvY2tzIGFuZCBpcyB0aGVyZWZvcmUKKyAqIGRlYWQuIFRoYXQncyB3aHkgdGhpcyBjaHVuayBoZXJlIGdldHMgY2FsbGVkIGZyb20gdGhlIHRyaWdnZXIgY2FsbGJhY2sKKyAqIGJlY2F1c2UgSSBjYW4gYmUgcmVhc29uYWJseSBjZXJ0YWluIHRoZSBjb2RlYyBpcyBkcml2aW5nIHRoZSBjbG9ja3MuCisgKi8KK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfY29uZmlndXJlKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEpCit7CisJdW5zaWduZWQgbG9uZyB0bW87CisKKwkvKiBicmluZyBQU0Mgb3V0IG9mIHNsZWVwLCBhbmQgY29uZmlndXJlIEkyUyB1bml0ICovCisJYXVfd3JpdGVsKFBTQ19DVFJMX0VOQUJMRSwgUFNDX0NUUkwocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXRtbyA9IDEwMDAwMDA7CisJd2hpbGUgKCEoYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpICYgUFNDX0kyU1NUQVRfU1IpICYmIHRtbykKKwkJdG1vLS07CisKKwlpZiAoIXRtbykKKwkJZ290byBwc2NfZXJyOworCisJYXVfd3JpdGVsKDAsIEkyU19DRkcocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwocHNjZGF0YS0+Y2ZnIHwgUFNDX0kyU0NGR19ERV9FTkFCTEUsIEkyU19DRkcocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIEkyUyBjb250cm9sbGVyIHRvIGJlY29tZSByZWFkeSAqLworCXRtbyA9IDEwMDAwMDA7CisJd2hpbGUgKCEoYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpICYgUFNDX0kyU1NUQVRfRFIpICYmIHRtbykKKwkJdG1vLS07CisKKwlpZiAodG1vKQorCQlyZXR1cm4gMDsKKworcHNjX2VycjoKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhwc2NkYXRhKSk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX1NVU1BFTkQsIFBTQ19DVFJMKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJcmV0dXJuIC1FVElNRURPVVQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfc3RhcnQoc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSwgaW50IHN0eXBlKQoreworCXVuc2lnbmVkIGxvbmcgdG1vLCBzdGF0OworCWludCByZXQ7CisKKwlyZXQgPSAwOworCisJLyogaWYgYm90aCBUWCBhbmQgUlggYXJlIGlkbGUsIGNvbmZpZ3VyZSB0aGUgUFNDICAqLworCXN0YXQgPSBhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSk7CisJaWYgKCEoc3RhdCAmIChQU0NfSTJTU1RBVF9UQiB8IFBTQ19JMlNTVEFUX1JCKSkpIHsKKwkJcmV0ID0gYXUxeHBzY19pMnNfY29uZmlndXJlKHBzY2RhdGEpOworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CisJfQorCisJYXVfd3JpdGVsKEkyU1BDUl9DTFJGSUZPKHN0eXBlKSwgSTJTX1BDUihwc2NkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChJMlNQQ1JfU1RBUlQoc3R5cGUpLCBJMlNfUENSKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiB3YWl0IGZvciBzdGFydCBjb25maXJtYXRpb24gKi8KKwl0bW8gPSAxMDAwMDAwOworCXdoaWxlICghKGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKSAmIEkyU1NUQVRfQlVTWShzdHlwZSkpICYmIHRtbykKKwkJdG1vLS07CisKKwlpZiAoIXRtbykgeworCQlhdV93cml0ZWwoSTJTUENSX1NUT1Aoc3R5cGUpLCBJMlNfUENSKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCQlyZXQgPSAtRVRJTUVET1VUOworCX0KK291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3N0b3Aoc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSwgaW50IHN0eXBlKQoreworCXVuc2lnbmVkIGxvbmcgdG1vLCBzdGF0OworCisJYXVfd3JpdGVsKEkyU1BDUl9TVE9QKHN0eXBlKSwgSTJTX1BDUihwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogd2FpdCBmb3Igc3RvcCBjb25maXJtYXRpb24gKi8KKwl0bW8gPSAxMDAwMDAwOworCXdoaWxlICgoYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpICYgSTJTU1RBVF9CVVNZKHN0eXBlKSkgJiYgdG1vKQorCQl0bW8tLTsKKworCS8qIGlmIGJvdGggVFggYW5kIFJYIGFyZSBpZGxlLCBkaXNhYmxlIFBTQyAqLworCXN0YXQgPSBhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSk7CisJaWYgKCEoc3RhdCAmIChQU0NfSTJTU1RBVF9SQiB8IFBTQ19JMlNTVEFUX1JCKSkpIHsKKwkJYXVfd3JpdGVsKDAsIEkyU19DRkcocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJCWF1X3dyaXRlbChQU0NfQ1RSTF9TVVNQRU5ELCBQU0NfQ1RSTChwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19pMnNfd29ya2RhdGE7CisJaW50IHJldCwgc3R5cGUgPSBTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgorCQlyZXQgPSBhdTF4cHNjX2kyc19zdGFydChwc2NkYXRhLCBzdHlwZSk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CisJCXJldCA9IGF1MXhwc2NfaTJzX3N0b3AocHNjZGF0YSwgc3R5cGUpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXQgPSAtRUlOVkFMOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwl1bnNpZ25lZCBsb25nIHNlbDsKKwlpbnQgcmV0OworCisJaWYgKGF1MXhwc2NfaTJzX3dvcmtkYXRhKQorCQlyZXR1cm4gLUVCVVNZOworCisJYXUxeHBzY19pMnNfd29ya2RhdGEgPQorCQlremFsbG9jKHNpemVvZihzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhdTF4cHNjX2kyc193b3JrZGF0YSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQwOworCX0KKworCXJldCA9IC1FQlVTWTsKKwlhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhID0KKwkJcmVxdWVzdF9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEsCisJCQkJCSJhdTF4cHNjX2kycyIpOworCWlmICghYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSkKKwkJZ290byBvdXQwOworCisJYXUxeHBzY19pMnNfd29ya2RhdGEtPm1taW8gPSBpb3JlbWFwKHItPnN0YXJ0LCAweGZmZmYpOworCWlmICghYXUxeHBzY19pMnNfd29ya2RhdGEtPm1taW8pCisJCWdvdG8gb3V0MTsKKworCS8qIHByZXNlcnZlIFBTQyBjbG9jayBzb3VyY2Ugc2V0IHVwIGJ5IHBsYXRmb3JtIChkZXYucGxhdGZvcm1fZGF0YQorCSAqIGlzIGFscmVhZHkgb2NjdXBpZWQgYnkgc29jIGxheWVyKQorCSAqLworCXNlbCA9IGF1X3JlYWRsKFBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKSAmIFBTQ19TRUxfQ0xLX01BU0s7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfU0VMX1BTX0kyU01PREUgfCBzZWwsIFBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHByZWNvbmZpZ3VyZTogc2V0IG1heCByeC90eCBmaWZvIGRlcHRocyAqLworCWF1MXhwc2NfaTJzX3dvcmtkYXRhLT5jZmcgfD0KKwkJCVBTQ19JMlNDRkdfUlRfRklGTzggfCBQU0NfSTJTQ0ZHX1RUX0ZJRk84OworCisJLyogZG9uJ3Qgd2FpdCBmb3IgSTJTIGNvcmUgdG8gYmVjb21lIHJlYWR5IG5vdzsgY2xvY2tzIG1heSBub3QKKwkgKiBiZSBydW5uaW5nIHlldDsgZGVwZW5kaW5nIG9uIGNsb2NrIGlucHV0IGZvciBQU0MgYSB3YWl0IG1pZ2h0CisJICogdGltZSBvdXQuCisJICovCisKKwlyZXR1cm4gMDsKKworb3V0MToKKwlyZWxlYXNlX3Jlc291cmNlKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEpOworb3V0MDoKKwlrZnJlZShhdTF4cHNjX2kyc193b3JrZGF0YSk7CisJYXUxeHBzY19pMnNfd29ya2RhdGEgPSBOVUxMOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhwc2NfaTJzX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCWlvdW5tYXAoYXUxeHBzY19pMnNfd29ya2RhdGEtPm1taW8pOworCXJlbGVhc2VfcmVzb3VyY2UoYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19pMnNfd29ya2RhdGEpOworCWF1MXhwc2NfaTJzX3dvcmtkYXRhID0gTlVMTDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQoreworCS8qIHNhdmUgaW50ZXJlc3RpbmcgcmVnaXN0ZXIgYW5kIGRpc2FibGUgUFNDICovCisJYXUxeHBzY19pMnNfd29ya2RhdGEtPnBtWzBdID0KKwkJYXVfcmVhZGwoUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCisJYXVfd3JpdGVsKDAsIEkyU19DRkcoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJLyogc2VsZWN0IEkyUyBtb2RlIGFuZCBQU0MgY2xvY2sgKi8KKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKDAsIFBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5wbVswXSwKKwkJCVBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9zb2NfZGFpIGF1MXhwc2NfaTJzX2RhaSA9IHsKKwkubmFtZQkJCT0gImF1MXhwc2NfaTJzIiwKKwkudHlwZQkJCT0gU05EX1NPQ19EQUlfSTJTLAorCS5wcm9iZQkJCT0gYXUxeHBzY19pMnNfcHJvYmUsCisJLnJlbW92ZQkJCT0gYXUxeHBzY19pMnNfcmVtb3ZlLAorCS5zdXNwZW5kCQk9IGF1MXhwc2NfaTJzX3N1c3BlbmQsCisJLnJlc3VtZQkJCT0gYXUxeHBzY19pMnNfcmVzdW1lLAorCS5wbGF5YmFjayA9IHsKKwkJLnJhdGVzCQk9IEFVMVhQU0NfSTJTX1JBVEVTLAorCQkuZm9ybWF0cwk9IEFVMVhQU0NfSTJTX0ZNVFMsCisJCS5jaGFubmVsc19taW4JPSAyLAorCQkuY2hhbm5lbHNfbWF4CT0gOCwJLyogMiB3aXRob3V0IGV4dGVybmFsIGhlbHAgKi8KKwl9LAorCS5jYXB0dXJlID0geworCQkucmF0ZXMJCT0gQVUxWFBTQ19JMlNfUkFURVMsCisJCS5mb3JtYXRzCT0gQVUxWFBTQ19JMlNfRk1UUywKKwkJLmNoYW5uZWxzX21pbgk9IDIsCisJCS5jaGFubmVsc19tYXgJPSA4LAkvKiAyIHdpdGhvdXQgZXh0ZXJuYWwgaGVscCAqLworCX0sCisJLm9wcyA9IHsKKwkJLnRyaWdnZXIJPSBhdTF4cHNjX2kyc190cmlnZ2VyLAorCQkuaHdfcGFyYW1zCT0gYXUxeHBzY19pMnNfaHdfcGFyYW1zLAorCX0sCisJLmRhaV9vcHMgPSB7CisJCS5zZXRfZm10CT0gYXUxeHBzY19pMnNfc2V0X2ZtdCwKKwl9LAorfTsKK0VYUE9SVF9TWU1CT0woYXUxeHBzY19pMnNfZGFpKTsKKworc3RhdGljIGludCBfX2luaXQgYXUxeHBzY19pMnNfaW5pdCh2b2lkKQoreworCWF1MXhwc2NfaTJzX3dvcmtkYXRhID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGF1MXhwc2NfaTJzX2V4aXQodm9pZCkKK3sKK30KKworbW9kdWxlX2luaXQoYXUxeHBzY19pMnNfaW5pdCk7Cittb2R1bGVfZXhpdChhdTF4cHNjX2kyc19leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdTEyeDAvQXUxNTUwIFBTQyBJMlMgQUxTQSBBU29DIGF1ZGlvIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PiIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvcHNjLmggYi9zb3VuZC9zb2MvYXUxeC9wc2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmRiMWEwCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvcHNjLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIEF1MTJ4MC9BdTE1NTAgUFNDIEFMU0EgQVNvQyBhdWRpbyBzdXBwb3J0LgorICoKKyAqIChjKSAyMDA3LTIwMDggTVNDIFZlcnRyaWVic2dlcy5tLmIuSC4sCisgKglNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBOT1RFOiBhbGwgb2YgdGhlc2UgZHJpdmVycyBjYW4gb25seSB3b3JrIHdpdGggYSBTSU5HTEUgaW5zdGFuY2UKKyAqCSBvZiBhIFBTQy4gTXVsdGlwbGUgaW5kZXBlbmRlbnQgYXVkaW8gZGV2aWNlcyBhcmUgaW1wb3NzaWJsZQorICoJIHdpdGggQVNvQyB2MS4KKyAqLworCisjaWZuZGVmIF9BVTFYX1BDTV9ICisjZGVmaW5lIF9BVTFYX1BDTV9ICisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYXUxeHBzY19hYzk3X2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYXUxeHBzY19pMnNfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX3BsYXRmb3JtIGF1MXhwc2Nfc29jX3BsYXRmb3JtOworZXh0ZXJuIHN0cnVjdCBzbmRfYWM5N19idXNfb3BzIHNvY19hYzk3X29wczsKKworc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSB7CisJdm9pZCBfX2lvbWVtICptbWlvOworCisJdW5zaWduZWQgbG9uZyBjZmc7CisJdW5zaWduZWQgbG9uZyByYXRlOworCisJdW5zaWduZWQgbG9uZyBwbVsyXTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKmlvYXJlYTsKK307CisKKyNkZWZpbmUgUENNX1RYCTAKKyNkZWZpbmUgUENNX1JYCTEKKworI2RlZmluZSBTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pIFwKKwkoKHN1YnN0cmVhbSktPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLID8gUENNX1RYIDogUENNX1JYKQorCisvKiBlYXN5IGFjY2VzcyBtYWNyb3MgKi8KKyNkZWZpbmUgUFNDX0NUUkwoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0NUUkxfT0ZGU0VUKQorI2RlZmluZSBQU0NfU0VMKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19TRUxfT0ZGU0VUKQorI2RlZmluZSBJMlNfU1RBVCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfSTJTU1RBVF9PRkZTRVQpCisjZGVmaW5lIEkyU19DRkcoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0kyU0NGR19PRkZTRVQpCisjZGVmaW5lIEkyU19QQ1IoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0kyU1BDUl9PRkZTRVQpCisjZGVmaW5lIEFDOTdfQ0ZHKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3Q0ZHX09GRlNFVCkKKyNkZWZpbmUgQUM5N19DREMoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0FDOTdDRENfT0ZGU0VUKQorI2RlZmluZSBBQzk3X0VWTlQoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0FDOTdFVk5UX09GRlNFVCkKKyNkZWZpbmUgQUM5N19QQ1IoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0FDOTdQQ1JfT0ZGU0VUKQorI2RlZmluZSBBQzk3X1JTVCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N1JTVF9PRkZTRVQpCisjZGVmaW5lIEFDOTdfU1RBVCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N1NUQVRfT0ZGU0VUKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdTF4L3NhbXBsZS1hYzk3LmMgYi9zb3VuZC9zb2MvYXUxeC9zYW1wbGUtYWM5Ny5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NWFlN2YKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9zYW1wbGUtYWM5Ny5jCkBAIC0wLDAgKzEsMTQ0IEBACisvKgorICogU2FtcGxlIEF1MTJ4MC9BdTE1NTAgUFNDIEFDOTcgc291bmQgbWFjaGluZS4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDctMjAwOCBNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG91dGxpbmVkIGluIHRoZSBmaWxlIENPUFlJTkcgYXQgdGhlIHJvb3Qgb2YgdGhpcworICogIHNvdXJjZSBhcmNoaXZlLgorICoKKyAqIFRoaXMgaXMgYSB2ZXJ5IGdlbmVyaWMgQUM5NyBzb3VuZCBtYWNoaW5lIGRyaXZlciBmb3IgYm9hcmRzIHdoaWNoCisgKiBoYXZlIChBQzk3KSBhdWRpbyBhdCBQU0MxIChlLmcuIERCMTIwMCBkZW1vYm9hcmRzKS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTEwMDAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfZGJkbWEuaD4KKworI2luY2x1ZGUgIi4uL2NvZGVjcy9hYzk3LmgiCisjaW5jbHVkZSAicHNjLmgiCisKK3N0YXRpYyBpbnQgYXUxeHBzY19zYW1wbGVfYWM5N19pbml0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayBhdTF4cHNjX3NhbXBsZV9hYzk3X2RhaSA9IHsKKwkubmFtZQkJPSAiQUM5NyIsCisJLnN0cmVhbV9uYW1lCT0gIkFDOTcgSGlGaSIsCisJLmNwdV9kYWkJPSAmYXUxeHBzY19hYzk3X2RhaSwJLyogc2VlIHBzYy1hYzk3LmMgKi8KKwkuY29kZWNfZGFpCT0gJmFjOTdfZGFpLAkJLyogc2VlIGNvZGVjcy9hYzk3LmMgKi8KKwkuaW5pdAkJPSBhdTF4cHNjX3NhbXBsZV9hYzk3X2luaXQsCisJLm9wcwkJPSBOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX21hY2hpbmUgYXUxeHBzY19zYW1wbGVfYWM5N19tYWNoaW5lID0geworCS5uYW1lCQk9ICJBdTF4eHggUFNDIEFDOTcgQXVkaW8iLAorCS5kYWlfbGluawk9ICZhdTF4cHNjX3NhbXBsZV9hYzk3X2RhaSwKKwkubnVtX2xpbmtzCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgYXUxeHBzY19zYW1wbGVfYWM5N19kZXZkYXRhID0geworCS5tYWNoaW5lCT0gJmF1MXhwc2Nfc2FtcGxlX2FjOTdfbWFjaGluZSwKKwkucGxhdGZvcm0JPSAmYXUxeHBzY19zb2NfcGxhdGZvcm0sIC8qIHNlZSBkYmRtYTIuYyAqLworCS5jb2RlY19kZXYJPSAmc29jX2NvZGVjX2Rldl9hYzk3LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBhdTF4cHNjX3BzYzFfcmVzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBDUEhZU0FERFIoUFNDMV9CQVNFX0FERFIpLAorCQkuZW5kCT0gQ1BIWVNBRERSKFBTQzFfQkFTRV9BRERSKSArIDB4MDAwZmZmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworI2lmZGVmIENPTkZJR19TT0NfQVUxMjAwCisJCS5zdGFydAk9IEFVMTIwMF9QU0MxX0lOVCwKKwkJLmVuZAk9IEFVMTIwMF9QU0MxX0lOVCwKKyNlbGlmIGRlZmluZWQoQ09ORklHX1NPQ19BVTE1NTApCisJCS5zdGFydAk9IEFVMTU1MF9QU0MxX0lOVCwKKwkJLmVuZAk9IEFVMTU1MF9QU0MxX0lOVCwKKyNlbmRpZgorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorCVsyXSA9IHsKKwkJLnN0YXJ0CT0gRFNDUl9DTUQwX1BTQzFfVFgsCisJCS5lbmQJPSBEU0NSX0NNRDBfUFNDMV9UWCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9ETUEsCisJfSwKKwlbM10gPSB7CisJCS5zdGFydAk9IERTQ1JfQ01EMF9QU0MxX1JYLAorCQkuZW5kCT0gRFNDUl9DTUQwX1BTQzFfUlgsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfRE1BLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYXUxeHBzY19zYW1wbGVfYWM5N19kZXY7CisKK3N0YXRpYyBpbnQgX19pbml0IGF1MXhwc2Nfc2FtcGxlX2FjOTdfbG9hZCh2b2lkKQoreworCWludCByZXQ7CisKKyNpZmRlZiBDT05GSUdfU09DX0FVMTIwMAorCXVuc2lnbmVkIGxvbmcgaW87CisKKwkvKiBtb2RpZnkgc3lzX3BpbmZ1bmMgZm9yIEFDOTcgb24gUFNDMSAqLworCWlvID0gYXVfcmVhZGwoU1lTX1BJTkZVTkMpOworCWlvIHw9IFNZU19QSU5GVU5DX1AxQzsKKwlpbyAmPSB+KFNZU19QSU5GVU5DX1AxQSB8IFNZU19QSU5GVU5DX1AxQik7CisJYXVfd3JpdGVsKGlvLCBTWVNfUElORlVOQyk7CisJYXVfc3luYygpOworI2VuZGlmCisKKwlyZXQgPSAtRU5PTUVNOworCisJLyogc2V0dXAgUFNDIGNsb2NrIHNvdXJjZSBmb3IgQUM5NyBwYXJ0OiBleHRlcm5hbCBjbG9jayBwcm92aWRlZAorCSAqIGJ5IGNvZGVjLiAgVGhlIHBzYy1hYzk3LmMgZHJpdmVyIGRlcGVuZHMgb24gdGhpcyBzZXR0aW5nIQorCSAqLworCWF1X3dyaXRlbChQU0NfU0VMX0NMS19TRVJDTEssIFBTQzFfQkFTRV9BRERSICsgUFNDX1NFTF9PRkZTRVQpOworCWF1X3N5bmMoKTsKKworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2ID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzb2MtYXVkaW8iLCAtMSk7CisJaWYgKCFhdTF4cHNjX3NhbXBsZV9hYzk3X2RldikKKwkJZ290byBvdXQ7CisKKwlhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldi0+cmVzb3VyY2UgPQorCQlrbWVtZHVwKGF1MXhwc2NfcHNjMV9yZXMsIHNpemVvZihzdHJ1Y3QgcmVzb3VyY2UpICoKKwkJCUFSUkFZX1NJWkUoYXUxeHBzY19wc2MxX3JlcyksIEdGUF9LRVJORUwpOworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LT5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRShhdTF4cHNjX3BzYzFfcmVzKTsKKwlhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldi0+aWQgPSAxOworCisJcGxhdGZvcm1fc2V0X2RydmRhdGEoYXUxeHBzY19zYW1wbGVfYWM5N19kZXYsCisJCQkgICAgICZhdTF4cHNjX3NhbXBsZV9hYzk3X2RldmRhdGEpOworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2ZGF0YS5kZXYgPSAmYXUxeHBzY19zYW1wbGVfYWM5N19kZXYtPmRldjsKKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkKGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2KTsKKworCWlmIChyZXQpIHsKKwkJcGxhdGZvcm1fZGV2aWNlX3B1dChhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldik7CisJCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2ID0gTlVMTDsKKwl9CisKK291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYXUxeHBzY19zYW1wbGVfYWM5N19leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoYXUxeHBzY19zYW1wbGVfYWM5N19kZXYpOworfQorCittb2R1bGVfaW5pdChhdTF4cHNjX3NhbXBsZV9hYzk3X2xvYWQpOworbW9kdWxlX2V4aXQoYXUxeHBzY19zYW1wbGVfYWM5N19leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdTF4eHggUFNDIHNhbXBsZSBBQzk3IG1hY2hpbmUiKTsKK01PRFVMRV9BVVRIT1IoIk1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4iKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZyBiL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZwppbmRleCAzOTAzYWI3Li4xZGIwNGEyIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL0tjb25maWcKKysrIGIvc291bmQvc29jL2NvZGVjcy9LY29uZmlnCkBAIC0xLDMxICsxLDM3IEBACiBjb25maWcgU05EX1NPQ19BQzk3X0NPREVDCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKKwlzZWxlY3QgU05EX0FDOTdfQ09ERUMKKworY29uZmlnIFNORF9TT0NfQUs0NTM1CisJdHJpc3RhdGUKKworY29uZmlnIFNORF9TT0NfVURBMTM4MAorICAgICAgICB0cmlzdGF0ZQorCitjb25maWcgU05EX1NPQ19XTTg1MTAKKwl0cmlzdGF0ZQogCiBjb25maWcgU05EX1NPQ19XTTg3MzEKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQwogCiBjb25maWcgU05EX1NPQ19XTTg3NTAKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQwogCiBjb25maWcgU05EX1NPQ19XTTg3NTMKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQworCitjb25maWcgU05EX1NPQ19XTTg5OTAKKwl0cmlzdGF0ZQogCiBjb25maWcgU05EX1NPQ19XTTk3MTIKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQwogCiBjb25maWcgU05EX1NPQ19XTTk3MTMKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQwogCiAjIENpcnJ1cyBMb2dpYyBDUzQyNzAgQ29kZWMKIGNvbmZpZyBTTkRfU09DX0NTNDI3MAogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKICMgQ2lycnVzIExvZ2ljIENTNDI3MCBDb2RlYyBIYXJkd2FyZSBNdXRlIFN1cHBvcnQKICMgU2VsZWN0IGlmIHlvdSBoYXZlIGV4dGVybmFsIG11dGluZyBjaXJjdWl0cnkgYXR0YWNoZWQgdG8geW91ciBDUzQyNzAuCkBAIC00Myw0ICs0OSw0IEBACiAKIGNvbmZpZyBTTkRfU09DX1RMVjMyMEFJQzNYCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MgJiYgSTJDCisJZGVwZW5kcyBvbiBJMkMKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlCmluZGV4IDRlMTMxNGMuLmQ3Yjk3YWIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUKKysrIGIvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQpAQCAtMSwxNiArMSwyNCBAQAogc25kLXNvYy1hYzk3LW9ianMgOj0gYWM5Ny5vCitzbmQtc29jLWFrNDUzNS1vYmpzIDo9IGFrNDUzNS5vCitzbmQtc29jLXVkYTEzODAtb2JqcyA6PSB1ZGExMzgwLm8KK3NuZC1zb2Mtd204NTEwLW9ianMgOj0gd204NTEwLm8KIHNuZC1zb2Mtd204NzMxLW9ianMgOj0gd204NzMxLm8KIHNuZC1zb2Mtd204NzUwLW9ianMgOj0gd204NzUwLm8KIHNuZC1zb2Mtd204NzUzLW9ianMgOj0gd204NzUzLm8KK3NuZC1zb2Mtd204OTkwLW9ianMgOj0gd204OTkwLm8KIHNuZC1zb2Mtd205NzEyLW9ianMgOj0gd205NzEyLm8KIHNuZC1zb2Mtd205NzEzLW9ianMgOj0gd205NzEzLm8KIHNuZC1zb2MtY3M0MjcwLW9ianMgOj0gY3M0MjcwLm8KIHNuZC1zb2MtdGx2MzIwYWljM3gtb2JqcyA6PSB0bHYzMjBhaWMzeC5vCiAKIG9iai0kKENPTkZJR19TTkRfU09DX0FDOTdfQ09ERUMpCSs9IHNuZC1zb2MtYWM5Ny5vCitvYmotJChDT05GSUdfU05EX1NPQ19BSzQ1MzUpCSs9IHNuZC1zb2MtYWs0NTM1Lm8KK29iai0kKENPTkZJR19TTkRfU09DX1VEQTEzODApCSs9IHNuZC1zb2MtdWRhMTM4MC5vCitvYmotJChDT05GSUdfU05EX1NPQ19XTTg1MTApCSs9IHNuZC1zb2Mtd204NTEwLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNODczMSkJKz0gc25kLXNvYy13bTg3MzEubwogb2JqLSQoQ09ORklHX1NORF9TT0NfV004NzUwKQkrPSBzbmQtc29jLXdtODc1MC5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTg3NTMpCSs9IHNuZC1zb2Mtd204NzUzLm8KK29iai0kKENPTkZJR19TTkRfU09DX1dNODk5MCkJKz0gc25kLXNvYy13bTg5OTAubwogb2JqLSQoQ09ORklHX1NORF9TT0NfV005NzEyKQkrPSBzbmQtc29jLXdtOTcxMi5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTk3MTMpCSs9IHNuZC1zb2Mtd205NzEzLm8KIG9iai0kKENPTkZJR19TTkRfU09DX0NTNDI3MCkJKz0gc25kLXNvYy1jczQyNzAubwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9hYzk3LmMgYi9zb3VuZC9zb2MvY29kZWNzL2FjOTcuYwppbmRleCAyYTFmZmUzLi42MWZkOTZjIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL2FjOTcuYwpAQCAtMTAsOSArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDE3dGggT2N0IDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICogR2VuZXJpYyBBQzk3IHN1cHBvcnQuCiAgKi8KIApAQCAtMjQsNiArMjEsNyBAQAogI2luY2x1ZGUgPHNvdW5kL2FjOTdfY29kZWMuaD4KICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CiAjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSAiYWM5Ny5oIgogCiAjZGVmaW5lIEFDOTdfVkVSU0lPTiAiMC42IgogCkBAIC00Myw3ICs0MSw3IEBACiAJCVNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfFwKIAkJU05EUlZfUENNX1JBVEVfNDgwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBhYzk3X2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBhYzk3X2RhaSA9IHsKIAkubmFtZSA9ICJBQzk3IEhpRmkiLAogCS50eXBlID0gU05EX1NPQ19EQUlfQUM5NywKIAkucGxheWJhY2sgPSB7CkBAIC0xNDYsOSArMTQ0LDM0IEBACiAJcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgYWM5N19zb2Nfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3QgbXNnKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlzbmRfYWM5N19zdXNwZW5kKHNvY2Rldi0+Y29kZWMtPmFjOTcpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWM5N19zb2NfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXNuZF9hYzk3X3Jlc3VtZShzb2NkZXYtPmNvZGVjLT5hYzk3KTsKKworCXJldHVybiAwOworfQorI2Vsc2UKKyNkZWZpbmUgYWM5N19zb2Nfc3VzcGVuZCBOVUxMCisjZGVmaW5lIGFjOTdfc29jX3Jlc3VtZSBOVUxMCisjZW5kaWYKKwogc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfYWM5NyA9IHsKIAkucHJvYmUgPSAJYWM5N19zb2NfcHJvYmUsCiAJLnJlbW92ZSA9IAlhYzk3X3NvY19yZW1vdmUsCisJLnN1c3BlbmQgPQlhYzk3X3NvY19zdXNwZW5kLAorCS5yZXN1bWUgPQlhYzk3X3NvY19yZXN1bWUsCiB9OwogRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl9hYzk3KTsKIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9hYzk3LmggYi9zb3VuZC9zb2MvY29kZWNzL2FjOTcuaAppbmRleCAyYmY2ZDY5Li4yODFhYTQyIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL2FjOTcuaApAQCAtMTQsNiArMTQsNiBAQAogI2RlZmluZSBfX0xJTlVYX1NORF9TT0NfQUM5N19ICiAKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hYzk3OwotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBhYzk3X2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYWM5N19kYWk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuYyBiL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI2MDAzYwotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmMKQEAgLTAsMCArMSw2OTYgQEAKKy8qCisgKiBhazQ1MzUuYyAgLS0gIEFLNDUzNSBBTFNBIFNvYyBBdWRpbyBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgMjAwNSBPcGVuZWRoYW5kIEx0ZC4KKyAqCisgKiBBdXRob3I6IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkQG9wZW5lZGhhbmQuY29tPgorICoKKyAqIEJhc2VkIG9uIHdtODc1My5jIGJ5IExpYW0gR2lyZHdvb2QKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKworI2luY2x1ZGUgImFrNDUzNS5oIgorCisjZGVmaW5lIEFVRElPX05BTUUgImFrNDUzNSIKKyNkZWZpbmUgQUs0NTM1X1ZFUlNJT04gIjAuMyIKKworc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfYWs0NTM1OworCisvKiBjb2RlYyBwcml2YXRlIGRhdGEgKi8KK3N0cnVjdCBhazQ1MzVfcHJpdiB7CisJdW5zaWduZWQgaW50IHN5c2NsazsKK307CisKKy8qCisgKiBhazQ1MzUgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGNvbnN0IHUxNiBhazQ1MzVfcmVnW0FLNDUzNV9DQUNIRVJFR05VTV0gPSB7CisgICAgMHgwMDAwLCAweDAwODAsIDB4MDAwMCwgMHgwMDAzLAorICAgIDB4MDAwMiwgMHgwMDAwLCAweDAwMTEsIDB4MDAwMSwKKyAgICAweDAwMDAsIDB4MDA0MCwgMHgwMDM2LCAweDAwMTAsCisgICAgMHgwMDAwLCAweDAwMDAsIDB4MDA1NywgMHgwMDAwLAorfTsKKworLyoKKyAqIHJlYWQgYWs0NTM1IHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdW5zaWduZWQgaW50IHJlZykKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpZiAocmVnID49IEFLNDUzNV9DQUNIRVJFR05VTSkKKwkJcmV0dXJuIC0xOworCXJldHVybiBjYWNoZVtyZWddOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBhazQ1MzVfcmVhZChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdW5zaWduZWQgaW50IHJlZykKK3sKKwl1OCBkYXRhOworCWRhdGEgPSByZWc7CisKKwlpZiAoY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsICZkYXRhLCAxKSAhPSAxKQorCQlyZXR1cm4gLUVJTzsKKworCWlmIChjb2RlYy0+aHdfcmVhZChjb2RlYy0+Y29udHJvbF9kYXRhLCAmZGF0YSwgMSkgIT0gMSkKKwkJcmV0dXJuIC1FSU87CisKKwlyZXR1cm4gZGF0YTsKK307CisKKy8qCisgKiB3cml0ZSBhazQ1MzUgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIGFrNDUzNV93cml0ZV9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXUxNiByZWcsIHVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpZiAocmVnID49IEFLNDUzNV9DQUNIRVJFR05VTSkKKwkJcmV0dXJuOworCWNhY2hlW3JlZ10gPSB2YWx1ZTsKK30KKworLyoKKyAqIHdyaXRlIHRvIHRoZSBBSzQ1MzUgcmVnaXN0ZXIgc3BhY2UKKyAqLworc3RhdGljIGludCBhazQ1MzVfd3JpdGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgcmVnLAorCXVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1OCBkYXRhWzJdOworCisJLyogZGF0YSBpcworCSAqICAgRDE1Li5EOCBBSzQ1MzUgcmVnaXN0ZXIgb2Zmc2V0CisJICogICBENy4uLkQwIHJlZ2lzdGVyIGRhdGEKKwkgKi8KKwlkYXRhWzBdID0gcmVnICYgMHhmZjsKKwlkYXRhWzFdID0gdmFsdWUgJiAweGZmOworCisJYWs0NTM1X3dyaXRlX3JlZ19jYWNoZShjb2RlYywgcmVnLCB2YWx1ZSk7CisJaWYgKGNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKSA9PSAyKQorCQlyZXR1cm4gMDsKKwllbHNlCisJCXJldHVybiAtRUlPOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9zeW5jKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpbnQgaSwgciA9IDA7CisKKwlmb3IgKGkgPSAwOyBpIDwgQUs0NTM1X0NBQ0hFUkVHTlVNOyBpKyspCisJCXIgfD0gYWs0NTM1X3dyaXRlKGNvZGVjLCBpLCBjYWNoZVtpXSk7CisKKwlyZXR1cm4gcjsKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICphazQ1MzVfbW9ub19nYWluW10gPSB7Iis2ZEIiLCAiLTE3ZEIifTsKK3N0YXRpYyBjb25zdCBjaGFyICphazQ1MzVfbW9ub19vdXRbXSA9IHsiKEwgKyBSKS8yIiwgIkhpLVoifTsKK3N0YXRpYyBjb25zdCBjaGFyICphazQ1MzVfaHBfb3V0W10gPSB7IlN0ZXJlbyIsICJNb25vIn07CitzdGF0aWMgY29uc3QgY2hhciAqYWs0NTM1X2RlZW1wW10gPSB7IjQ0LjFrSHoiLCAiT2ZmIiwgIjQ4a0h6IiwgIjMya0h6In07CitzdGF0aWMgY29uc3QgY2hhciAqYWs0NTM1X21pY19zZWxlY3RbXSA9IHsiSW50ZXJuYWwiLCAiRXh0ZXJuYWwifTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSBhazQ1MzVfZW51bVtdID0geworCVNPQ19FTlVNX1NJTkdMRShBSzQ1MzVfU0lHMSwgNywgMiwgYWs0NTM1X21vbm9fZ2FpbiksCisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9TSUcxLCA2LCAyLCBhazQ1MzVfbW9ub19vdXQpLAorCVNPQ19FTlVNX1NJTkdMRShBSzQ1MzVfTU9ERTIsIDIsIDIsIGFrNDUzNV9ocF9vdXQpLAorCVNPQ19FTlVNX1NJTkdMRShBSzQ1MzVfREFDLCAwLCA0LCBhazQ1MzVfZGVlbXApLAorCVNPQ19FTlVNX1NJTkdMRShBSzQ1MzVfTUlDLCAxLCAyLCBhazQ1MzVfbWljX3NlbGVjdCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X3NuZF9jb250cm9sc1tdID0geworCVNPQ19TSU5HTEUoIkFMQzIgU3dpdGNoIiwgQUs0NTM1X1NJRzEsIDEsIDEsIDApLAorCVNPQ19FTlVNKCJNb25vIDEgT3V0cHV0IiwgYWs0NTM1X2VudW1bMV0pLAorCVNPQ19FTlVNKCJNb25vIDEgR2FpbiIsIGFrNDUzNV9lbnVtWzBdKSwKKwlTT0NfRU5VTSgiSGVhZHBob25lIE91dHB1dCIsIGFrNDUzNV9lbnVtWzJdKSwKKwlTT0NfRU5VTSgiUGxheWJhY2sgRGVlbXBoYXNpcyIsIGFrNDUzNV9lbnVtWzNdKSwKKwlTT0NfU0lOR0xFKCJCYXNzIFZvbHVtZSIsIEFLNDUzNV9EQUMsIDIsIDMsIDApLAorCVNPQ19TSU5HTEUoIk1pYyBCb29zdCAoKzIwZEIpIFN3aXRjaCIsIEFLNDUzNV9NSUMsIDAsIDEsIDApLAorCVNPQ19FTlVNKCJNaWMgU2VsZWN0IiwgYWs0NTM1X2VudW1bNF0pLAorCVNPQ19TSU5HTEUoIkFMQyBPcGVyYXRpb24gVGltZSIsIEFLNDUzNV9USU1FUiwgMCwgMywgMCksCisJU09DX1NJTkdMRSgiQUxDIFJlY292ZXJ5IFRpbWUiLCBBSzQ1MzVfVElNRVIsIDIsIDMsIDApLAorCVNPQ19TSU5HTEUoIkFMQyBaQyBUaW1lIiwgQUs0NTM1X1RJTUVSLCA0LCAzLCAwKSwKKwlTT0NfU0lOR0xFKCJBTEMgMSBTd2l0Y2giLCBBSzQ1MzVfQUxDMSwgNSwgMSwgMCksCisJU09DX1NJTkdMRSgiQUxDIDIgU3dpdGNoIiwgQUs0NTM1X0FMQzEsIDYsIDEsIDApLAorCVNPQ19TSU5HTEUoIkFMQyBWb2x1bWUiLCBBSzQ1MzVfQUxDMiwgMCwgMTI3LCAwKSwKKwlTT0NfU0lOR0xFKCJDYXB0dXJlIFZvbHVtZSIsIEFLNDUzNV9QR0EsIDAsIDEyNywgMCksCisJU09DX1NJTkdMRSgiTGVmdCBQbGF5YmFjayBWb2x1bWUiLCBBSzQ1MzVfTEFUVCwgMCwgMTI3LCAxKSwKKwlTT0NfU0lOR0xFKCJSaWdodCBQbGF5YmFjayBWb2x1bWUiLCBBSzQ1MzVfUkFUVCwgMCwgMTI3LCAxKSwKKwlTT0NfU0lOR0xFKCJBVVggQnlwYXNzIFZvbHVtZSIsIEFLNDUzNV9WT0wsIDAsIDE1LCAwKSwKKwlTT0NfU0lOR0xFKCJNaWMgU2lkZXRvbmUgVm9sdW1lIiwgQUs0NTM1X1ZPTCwgNCwgNywgMCksCit9OworCisvKiBhZGQgbm9uIGRhcG0gY29udHJvbHMgKi8KK3N0YXRpYyBpbnQgYWs0NTM1X2FkZF9jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJaW50IGVyciwgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFrNDUzNV9zbmRfY29udHJvbHMpOyBpKyspIHsKKwkJZXJyID0gc25kX2N0bF9hZGQoY29kZWMtPmNhcmQsCisJCQlzbmRfc29jX2NuZXcoJmFrNDUzNV9zbmRfY29udHJvbHNbaV0sIGNvZGVjLCBOVUxMKSk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogTW9ubyAxIE1peGVyICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X21vbm8xX21peGVyX2NvbnRyb2xzW10gPSB7CisJU09DX0RBUE1fU0lOR0xFKCJNaWMgU2lkZXRvbmUgU3dpdGNoIiwgQUs0NTM1X1NJRzEsIDQsIDEsIDApLAorCVNPQ19EQVBNX1NJTkdMRSgiTW9ubyBQbGF5YmFjayBTd2l0Y2giLCBBSzQ1MzVfU0lHMSwgNSwgMSwgMCksCit9OworCisvKiBTdGVyZW8gTWl4ZXIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfc3RlcmVvX21peGVyX2NvbnRyb2xzW10gPSB7CisJU09DX0RBUE1fU0lOR0xFKCJNaWMgU2lkZXRvbmUgU3dpdGNoIiwgQUs0NTM1X1NJRzIsIDQsIDEsIDApLAorCVNPQ19EQVBNX1NJTkdMRSgiUGxheWJhY2sgU3dpdGNoIiwgQUs0NTM1X1NJRzIsIDcsIDEsIDApLAorCVNPQ19EQVBNX1NJTkdMRSgiQXV4IEJ5cGFzcyBTd2l0Y2giLCBBSzQ1MzVfU0lHMiwgNSwgMSwgMCksCit9OworCisvKiBJbnB1dCBNaXhlciAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9pbnB1dF9taXhlcl9jb250cm9sc1tdID0geworCVNPQ19EQVBNX1NJTkdMRSgiTWljIENhcHR1cmUgU3dpdGNoIiwgQUs0NTM1X01JQywgMiwgMSwgMCksCisJU09DX0RBUE1fU0lOR0xFKCJBdXggQ2FwdHVyZSBTd2l0Y2giLCBBSzQ1MzVfTUlDLCA1LCAxLCAwKSwKK307CisKKy8qIElucHV0IG11eCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9pbnB1dF9tdXhfY29udHJvbCA9CisJU09DX0RBUE1fRU5VTSgiSW5wdXQgU2VsZWN0IiwgYWs0NTM1X2VudW1bNF0pOworCisvKiBIUCBMIHN3aXRjaCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9ocGxfY29udHJvbCA9CisJU09DX0RBUE1fU0lOR0xFKCJTd2l0Y2giLCBBSzQ1MzVfU0lHMiwgMSwgMSwgMSk7CisKKy8qIEhQIFIgc3dpdGNoICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X2hwcl9jb250cm9sID0KKwlTT0NfREFQTV9TSU5HTEUoIlN3aXRjaCIsIEFLNDUzNV9TSUcyLCAwLCAxLCAxKTsKKworLyogbW9ubyAyIHN3aXRjaCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9tb25vMl9jb250cm9sID0KKwlTT0NfREFQTV9TSU5HTEUoIlN3aXRjaCIsIEFLNDUzNV9TSUcxLCAwLCAxLCAwKTsKKworLyogTGluZSBvdXQgc3dpdGNoICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X2xpbmVfY29udHJvbCA9CisJU09DX0RBUE1fU0lOR0xFKCJTd2l0Y2giLCBBSzQ1MzVfU0lHMiwgNiwgMSwgMCk7CisKKy8qIGFrNDUzNSBkYXBtIHdpZGdldHMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCBhazQ1MzVfZGFwbV93aWRnZXRzW10gPSB7CisJU05EX1NPQ19EQVBNX01JWEVSKCJTdGVyZW8gTWl4ZXIiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfc3RlcmVvX21peGVyX2NvbnRyb2xzWzBdLAorCQlBUlJBWV9TSVpFKGFrNDUzNV9zdGVyZW9fbWl4ZXJfY29udHJvbHMpKSwKKwlTTkRfU09DX0RBUE1fTUlYRVIoIk1vbm8xIE1peGVyIiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X21vbm8xX21peGVyX2NvbnRyb2xzWzBdLAorCQlBUlJBWV9TSVpFKGFrNDUzNV9tb25vMV9taXhlcl9jb250cm9scykpLAorCVNORF9TT0NfREFQTV9NSVhFUigiSW5wdXQgTWl4ZXIiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfaW5wdXRfbWl4ZXJfY29udHJvbHNbMF0sCisJCUFSUkFZX1NJWkUoYWs0NTM1X2lucHV0X21peGVyX2NvbnRyb2xzKSksCisJU05EX1NPQ19EQVBNX01VWCgiSW5wdXQgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X2lucHV0X211eF9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fREFDKCJEQUMiLCAiUGxheWJhY2siLCBBSzQ1MzVfUE0yLCAwLCAwKSwKKwlTTkRfU09DX0RBUE1fU1dJVENIKCJNb25vIDIgRW5hYmxlIiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X21vbm8yX2NvbnRyb2wpLAorCS8qIHNwZWFrZXIgcG93ZXJzYXZlIGJpdCAqLworCVNORF9TT0NfREFQTV9QR0EoIlNwZWFrZXIgRW5hYmxlIiwgQUs0NTM1X01PREUyLCAwLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fU1dJVENIKCJMaW5lIE91dCBFbmFibGUiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfbGluZV9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fU1dJVENIKCJMZWZ0IEhQIEVuYWJsZSIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9ocGxfY29udHJvbCksCisJU05EX1NPQ19EQVBNX1NXSVRDSCgiUmlnaHQgSFAgRW5hYmxlIiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X2hwcl9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJMT1VUIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiSFBMIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiUk9VVCIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIkhQUiIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIlNQUCIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIlNQTiIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIk1PVVQxIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiTU9VVDIiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJNSUNPVVQiKSwKKwlTTkRfU09DX0RBUE1fQURDKCJBREMiLCAiQ2FwdHVyZSIsIEFLNDUzNV9QTTEsIDAsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIlNwayBBbXAiLCBBSzQ1MzVfUE0yLCAzLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJIUCBSIEFtcCIsIEFLNDUzNV9QTTIsIDEsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIkhQIEwgQW1wIiwgQUs0NTM1X1BNMiwgMiwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiTWljIiwgQUs0NTM1X1BNMSwgMSwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiTGluZSBPdXQiLCBBSzQ1MzVfUE0xLCA0LCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJNb25vIE91dCIsIEFLNDUzNV9QTTEsIDMsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIkFVWCBJbiIsIEFLNDUzNV9QTTEsIDIsIDAsIE5VTEwsIDApLAorCisJU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBJbnQgQmlhcyIsIEFLNDUzNV9NSUMsIDMsIDApLAorCVNORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgRXh0IEJpYXMiLCBBSzQ1MzVfTUlDLCA0LCAwKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIk1JQ0lOIiksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJNSUNFWFQiKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFVWCIpLAorCVNORF9TT0NfREFQTV9JTlBVVCgiTUlOIiksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJBSU4iKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0geworCS8qc3RlcmVvIG1peGVyICovCisJeyJTdGVyZW8gTWl4ZXIiLCAiUGxheWJhY2sgU3dpdGNoIiwgIkRBQyJ9LAorCXsiU3RlcmVvIE1peGVyIiwgIk1pYyBTaWRldG9uZSBTd2l0Y2giLCAiTWljIn0sCisJeyJTdGVyZW8gTWl4ZXIiLCAiQXV4IEJ5cGFzcyBTd2l0Y2giLCAiQVVYIEluIn0sCisKKwkvKiBtb25vMSBtaXhlciAqLworCXsiTW9ubzEgTWl4ZXIiLCAiTWljIFNpZGV0b25lIFN3aXRjaCIsICJNaWMifSwKKwl7Ik1vbm8xIE1peGVyIiwgIk1vbm8gUGxheWJhY2sgU3dpdGNoIiwgIkRBQyJ9LAorCisJLyogTWljICovCisJeyJNaWMiLCBOVUxMLCAiQUlOIn0sCisJeyJJbnB1dCBNdXgiLCAiSW50ZXJuYWwiLCAiTWljIEludCBCaWFzIn0sCisJeyJJbnB1dCBNdXgiLCAiRXh0ZXJuYWwiLCAiTWljIEV4dCBCaWFzIn0sCisJeyJNaWMgSW50IEJpYXMiLCBOVUxMLCAiTUlDSU4ifSwKKwl7Ik1pYyBFeHQgQmlhcyIsIE5VTEwsICJNSUNFWFQifSwKKwl7Ik1JQ09VVCIsIE5VTEwsICJJbnB1dCBNdXgifSwKKworCS8qIGxpbmUgb3V0ICovCisJeyJMT1VUIiwgTlVMTCwgIkxpbmUgT3V0IEVuYWJsZSJ9LAorCXsiUk9VVCIsIE5VTEwsICJMaW5lIE91dCBFbmFibGUifSwKKwl7IkxpbmUgT3V0IEVuYWJsZSIsICJTd2l0Y2giLCAiTGluZSBPdXQifSwKKwl7IkxpbmUgT3V0IiwgTlVMTCwgIlN0ZXJlbyBNaXhlciJ9LAorCisJLyogbW9ubzEgb3V0ICovCisJeyJNT1VUMSIsIE5VTEwsICJNb25vIE91dCJ9LAorCXsiTW9ubyBPdXQiLCBOVUxMLCAiTW9ubzEgTWl4ZXIifSwKKworCS8qIGxlZnQgSFAgKi8KKwl7IkhQTCIsIE5VTEwsICJMZWZ0IEhQIEVuYWJsZSJ9LAorCXsiTGVmdCBIUCBFbmFibGUiLCAiU3dpdGNoIiwgIkhQIEwgQW1wIn0sCisJeyJIUCBMIEFtcCIsIE5VTEwsICJTdGVyZW8gTWl4ZXIifSwKKworCS8qIHJpZ2h0IEhQICovCisJeyJIUFIiLCBOVUxMLCAiUmlnaHQgSFAgRW5hYmxlIn0sCisJeyJSaWdodCBIUCBFbmFibGUiLCAiU3dpdGNoIiwgIkhQIFIgQW1wIn0sCisJeyJIUCBSIEFtcCIsIE5VTEwsICJTdGVyZW8gTWl4ZXIifSwKKworCS8qIHNwZWFrZXIgKi8KKwl7IlNQUCIsIE5VTEwsICJTcGVha2VyIEVuYWJsZSJ9LAorCXsiU1BOIiwgTlVMTCwgIlNwZWFrZXIgRW5hYmxlIn0sCisJeyJTcGVha2VyIEVuYWJsZSIsICJTd2l0Y2giLCAiU3BrIEFtcCJ9LAorCXsiU3BrIEFtcCIsIE5VTEwsICJNSU4ifSwKKworCS8qIG1vbm8gMiAqLworCXsiTU9VVDIiLCBOVUxMLCAiTW9ubyAyIEVuYWJsZSJ9LAorCXsiTW9ubyAyIEVuYWJsZSIsICJTd2l0Y2giLCAiU3RlcmVvIE1peGVyIn0sCisKKwkvKiBBdXggSW4gKi8KKwl7IkF1eCBJbiIsIE5VTEwsICJBVVgifSwKKworCS8qIEFEQyAqLworCXsiQURDIiwgTlVMTCwgIklucHV0IE1peGVyIn0sCisJeyJJbnB1dCBNaXhlciIsICJNaWMgQ2FwdHVyZSBTd2l0Y2giLCAiTWljIn0sCisJeyJJbnB1dCBNaXhlciIsICJBdXggQ2FwdHVyZSBTd2l0Y2giLCAiQXV4IEluIn0sCit9OworCitzdGF0aWMgaW50IGFrNDUzNV9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgYWs0NTM1X2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUoYWs0NTM1X2RhcG1fd2lkZ2V0cykpOworCisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKKworCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJc3RydWN0IGFrNDUzNV9wcml2ICphazQ1MzUgPSBjb2RlYy0+cHJpdmF0ZV9kYXRhOworCisJYWs0NTM1LT5zeXNjbGsgPSBmcmVxOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgYWs0NTM1X3ByaXYgKmFrNDUzNSA9IGNvZGVjLT5wcml2YXRlX2RhdGE7CisJdTggbW9kZTIgPSBhazQ1MzVfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFLNDUzNV9NT0RFMikgJiB+KDB4MyA8PCA1KTsKKwlpbnQgcmF0ZSA9IHBhcmFtc19yYXRlKHBhcmFtcyksIGZzID0gMjU2OworCisJaWYgKHJhdGUpCisJCWZzID0gYWs0NTM1LT5zeXNjbGsgLyByYXRlOworCisJLyogc2V0IGZzICovCisJc3dpdGNoIChmcykgeworCWNhc2UgMTAyNDoKKwkJbW9kZTIgfD0gKDB4MiA8PCA1KTsKKwkJYnJlYWs7CisJY2FzZSA1MTI6CisJCW1vZGUyIHw9ICgweDEgPDwgNSk7CisJCWJyZWFrOworCWNhc2UgMjU2OgorCQlicmVhazsKKwl9CisKKwkvKiBzZXQgcmF0ZSAqLworCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X01PREUyLCBtb2RlMik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQl1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTggbW9kZTEgPSAwOworCisJLyogaW50ZXJmYWNlIGZvcm1hdCAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUzoKKwkJbW9kZTEgPSAweDAwMDI7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTEVGVF9KOgorCQltb2RlMSA9IDB4MDAwMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogdXNlIDMyIGZzIGZvciBCQ0xLIHRvIHNhdmUgcG93ZXIgKi8KKwltb2RlMSB8PSAweDQ7CisKKwlhazQ1MzVfd3JpdGUoY29kZWMsIEFLNDUzNV9NT0RFMSwgbW9kZTEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOworCXUxNiBtdXRlX3JlZyA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUs0NTM1X0RBQykgJiAweGZmZGY7CisJaWYgKCFtdXRlKQorCQlhazQ1MzVfd3JpdGUoY29kZWMsIEFLNDUzNV9EQUMsIG11dGVfcmVnKTsKKwllbHNlCisJCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X0RBQywgbXV0ZV9yZWcgfCAweDIwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQoreworCXUxNiBpOworCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgorCQlhazQ1MzVfbXV0ZShjb2RlYy0+ZGFpLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKKwkJYWs0NTM1X211dGUoY29kZWMtPmRhaSwgMSk7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CisJCWkgPSBhazQ1MzVfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFLNDUzNV9QTTEpOworCQlhazQ1MzVfd3JpdGUoY29kZWMsIEFLNDUzNV9QTTEsIGkgfCAweDgwKTsKKwkJaSA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUs0NTM1X1BNMik7CisJCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X1BNMiwgaSAmICh+MHg4MCkpOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CisJCWkgPSBhazQ1MzVfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFLNDUzNV9QTTEpOworCQlhazQ1MzVfd3JpdGUoY29kZWMsIEFLNDUzNV9QTTEsIGkgJiAofjB4ODApKTsKKwkJYnJlYWs7CisJfQorCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgQUs0NTM1X1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfFwKKwkJU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8XAorCQlTTkRSVl9QQ01fUkFURV80NDEwMCB8IFNORFJWX1BDTV9SQVRFXzQ4MDAwKQorCitzdHJ1Y3Qgc25kX3NvY19kYWkgYWs0NTM1X2RhaSA9IHsKKwkubmFtZSA9ICJBSzQ1MzUiLAorCS5wbGF5YmFjayA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBBSzQ1MzVfUkFURVMsCisJCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUsfSwKKwkuY2FwdHVyZSA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIkNhcHR1cmUiLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IEFLNDUzNV9SQVRFUywKKwkJLmZvcm1hdHMgPSBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSx9LAorCS5vcHMgPSB7CisJCS5od19wYXJhbXMgPSBhazQ1MzVfaHdfcGFyYW1zLAorCX0sCisJLmRhaV9vcHMgPSB7CisJCS5zZXRfZm10ID0gYWs0NTM1X3NldF9kYWlfZm10LAorCQkuZGlnaXRhbF9tdXRlID0gYWs0NTM1X211dGUsCisJCS5zZXRfc3lzY2xrID0gYWs0NTM1X3NldF9kYWlfc3lzY2xrLAorCX0sCit9OworRVhQT1JUX1NZTUJPTF9HUEwoYWs0NTM1X2RhaSk7CisKK3N0YXRpYyBpbnQgYWs0NTM1X3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCWFrNDUzNV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlhazQ1MzVfc3luYyhjb2RlYyk7CisJYWs0NTM1X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJYWs0NTM1X3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGluaXRpYWxpc2UgdGhlIEFLNDUzNSBkcml2ZXIKKyAqIHJlZ2lzdGVyIHRoZSBtaXhlciBhbmQgZHNwIGludGVyZmFjZXMgd2l0aCB0aGUga2VybmVsCisgKi8KK3N0YXRpYyBpbnQgYWs0NTM1X2luaXQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgcmV0ID0gMDsKKworCWNvZGVjLT5uYW1lID0gIkFLNDUzNSI7CisJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CisJY29kZWMtPnJlYWQgPSBhazQ1MzVfcmVhZF9yZWdfY2FjaGU7CisJY29kZWMtPndyaXRlID0gYWs0NTM1X3dyaXRlOworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IGFrNDUzNV9zZXRfYmlhc19sZXZlbDsKKwljb2RlYy0+ZGFpID0gJmFrNDUzNV9kYWk7CisJY29kZWMtPm51bV9kYWkgPSAxOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUoYWs0NTM1X3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAoYWs0NTM1X3JlZywgc2l6ZW9mKGFrNDUzNV9yZWcpLCBHRlBfS0VSTkVMKTsKKworCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJLyogcmVnaXN0ZXIgcGNtcyAqLworCXJldCA9IHNuZF9zb2NfbmV3X3BjbXMoc29jZGV2LCBTTkRSVl9ERUZBVUxUX0lEWDEsIFNORFJWX0RFRkFVTFRfU1RSMSk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJhazQ1MzU6IGZhaWxlZCB0byBjcmVhdGUgcGNtc1xuIik7CisJCWdvdG8gcGNtX2VycjsKKwl9CisKKwkvKiBwb3dlciBvbiBkZXZpY2UgKi8KKwlhazQ1MzVfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKworCWFrNDUzNV9hZGRfY29udHJvbHMoY29kZWMpOworCWFrNDUzNV9hZGRfd2lkZ2V0cyhjb2RlYyk7CisJcmV0ID0gc25kX3NvY19yZWdpc3Rlcl9jYXJkKHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJhazQ1MzU6IGZhaWxlZCB0byByZWdpc3RlciBjYXJkXG4iKTsKKwkJZ290byBjYXJkX2VycjsKKwl9CisKKwlyZXR1cm4gcmV0OworCitjYXJkX2VycjoKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CitwY21fZXJyOgorCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSAqYWs0NTM1X3NvY2RldjsKKworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKworI2RlZmluZSBJMkNfRFJJVkVSSURfQUs0NTM1IDB4ZmVmZSAvKiBsaWFtIC0gIG5lZWQgYSBwcm9wZXIgaWQgKi8KKworc3RhdGljIHVuc2lnbmVkIHNob3J0IG5vcm1hbF9pMmNbXSA9IHsgMCwgSTJDX0NMSUVOVF9FTkQgfTsKKworLyogTWFnaWMgZGVmaW5pdGlvbiBvZiBhbGwgb3RoZXIgdmFyaWFibGVzIGFuZCB0aGluZ3MgKi8KK0kyQ19DTElFTlRfSU5TTU9EOworCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgYWs0NTM1X2kyY19kcml2ZXI7CitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlOworCisvKiBJZiB0aGUgaTJjIGxheWVyIHdlcmVuJ3Qgc28gYnJva2VuLCB3ZSBjb3VsZCBwYXNzIHRoaXMga2luZCBvZiBkYXRhCisgICBhcm91bmQgKi8KK3N0YXRpYyBpbnQgYWs0NTM1X2NvZGVjX3Byb2JlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgaW50IGFkZHIsIGludCBraW5kKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gYWs0NTM1X3NvY2RldjsKKwlzdHJ1Y3QgYWs0NTM1X3NldHVwX2RhdGEgKnNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IGkyY19jbGllbnQgKmkyYzsKKwlpbnQgcmV0OworCisJaWYgKGFkZHIgIT0gc2V0dXAtPmkyY19hZGRyZXNzKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNsaWVudF90ZW1wbGF0ZS5hZGFwdGVyID0gYWRhcDsKKwljbGllbnRfdGVtcGxhdGUuYWRkciA9IGFkZHI7CisKKwlpMmMgPSBrbWVtZHVwKCZjbGllbnRfdGVtcGxhdGUsIHNpemVvZihjbGllbnRfdGVtcGxhdGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoaTJjID09IE5VTEwpIHsKKwkJa2ZyZWUoY29kZWMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJaTJjX3NldF9jbGllbnRkYXRhKGkyYywgY29kZWMpOworCWNvZGVjLT5jb250cm9sX2RhdGEgPSBpMmM7CisKKwlyZXQgPSBpMmNfYXR0YWNoX2NsaWVudChpMmMpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKKwkJZ290byBlcnI7CisJfQorCisJcmV0ID0gYWs0NTM1X2luaXQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBpbml0aWFsaXNlIEFLNDUzNVxuIik7CisJCWdvdG8gZXJyOworCX0KKwlyZXR1cm4gcmV0OworCitlcnI6CisJa2ZyZWUoY29kZWMpOworCWtmcmVlKGkyYyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhazQ1MzVfaTJjX2RldGFjaChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJa2ZyZWUoY2xpZW50KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfaTJjX2F0dGFjaChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJcmV0dXJuIGkyY19wcm9iZShhZGFwLCAmYWRkcl9kYXRhLCBhazQ1MzVfY29kZWNfcHJvYmUpOworfQorCisvKiBjb3JnaSBpMmMgY29kZWMgY29udHJvbCBsYXllciAqLworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGFrNDUzNV9pMmNfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gIkFLNDUzNSBJMkMgQ29kZWMiLAorCQkub3duZXIgPSBUSElTX01PRFVMRSwKKwl9LAorCS5pZCA9ICAgICAgICAgICAgIEkyQ19EUklWRVJJRF9BSzQ1MzUsCisJLmF0dGFjaF9hZGFwdGVyID0gYWs0NTM1X2kyY19hdHRhY2gsCisJLmRldGFjaF9jbGllbnQgPSAgYWs0NTM1X2kyY19kZXRhY2gsCisJLmNvbW1hbmQgPSAgICAgICAgTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGUgPSB7CisJLm5hbWUgPSAgICJBSzQ1MzUiLAorCS5kcml2ZXIgPSAmYWs0NTM1X2kyY19kcml2ZXIsCit9OworI2VuZGlmCisKK3N0YXRpYyBpbnQgYWs0NTM1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgYWs0NTM1X3NldHVwX2RhdGEgKnNldHVwOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYzsKKwlzdHJ1Y3QgYWs0NTM1X3ByaXYgKmFrNDUzNTsKKwlpbnQgcmV0ID0gMDsKKworCXByaW50ayhLRVJOX0lORk8gIkFLNDUzNSBBdWRpbyBDb2RlYyAlcyIsIEFLNDUzNV9WRVJTSU9OKTsKKworCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoY29kZWMgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlhazQ1MzUgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYWs0NTM1X3ByaXYpLCBHRlBfS0VSTkVMKTsKKwlpZiAoYWs0NTM1ID09IE5VTEwpIHsKKwkJa2ZyZWUoY29kZWMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwljb2RlYy0+cHJpdmF0ZV9kYXRhID0gYWs0NTM1OworCXNvY2Rldi0+Y29kZWMgPSBjb2RlYzsKKwltdXRleF9pbml0KCZjb2RlYy0+bXV0ZXgpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV93aWRnZXRzKTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fcGF0aHMpOworCisJYWs0NTM1X3NvY2RldiA9IHNvY2RldjsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaWYgKHNldHVwLT5pMmNfYWRkcmVzcykgeworCQlub3JtYWxfaTJjWzBdID0gc2V0dXAtPmkyY19hZGRyZXNzOworCQljb2RlYy0+aHdfd3JpdGUgPSAoaHdfd3JpdGVfdClpMmNfbWFzdGVyX3NlbmQ7CisJCWNvZGVjLT5od19yZWFkID0gKGh3X3JlYWRfdClpMmNfbWFzdGVyX3JlY3Y7CisJCXJldCA9IGkyY19hZGRfZHJpdmVyKCZhazQ1MzVfaTJjX2RyaXZlcik7CisJCWlmIChyZXQgIT0gMCkKKwkJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgYWRkIGkyYyBkcml2ZXIiKTsKKwl9CisjZWxzZQorCS8qIEFkZCBvdGhlciBpbnRlcmZhY2VzIGhlcmUgKi8KKyNlbmRpZgorCXJldHVybiByZXQ7Cit9CisKKy8qIHBvd2VyIGRvd24gY2hpcCAqLworc3RhdGljIGludCBhazQ1MzVfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCisJCWFrNDUzNV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWkyY19kZWxfZHJpdmVyKCZhazQ1MzVfaTJjX2RyaXZlcik7CisjZW5kaWYKKwlrZnJlZShjb2RlYy0+cHJpdmF0ZV9kYXRhKTsKKwlrZnJlZShjb2RlYyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfYWs0NTM1ID0geworCS5wcm9iZSA9IAlhazQ1MzVfcHJvYmUsCisJLnJlbW92ZSA9IAlhazQ1MzVfcmVtb3ZlLAorCS5zdXNwZW5kID0gCWFrNDUzNV9zdXNwZW5kLAorCS5yZXN1bWUgPQlhazQ1MzVfcmVzdW1lLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNvY19jb2RlY19kZXZfYWs0NTM1KTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJTb2MgQUs0NTM1IGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiUmljaGFyZCBQdXJkaWUiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmggYi9zb3VuZC9zb2MvY29kZWNzL2FrNDUzNS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZmUzMGUKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL2FrNDUzNS5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBhazQ1MzUuaCAgLS0gIEFLNDUzNSBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IDIwMDUgT3BlbmVkaGFuZCBMdGQuCisgKgorICogQXV0aG9yOiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZEBvcGVuZWRoYW5kLmNvbT4KKyAqCisgKiBCYXNlZCBvbiB3bTg3NTMuaAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfQUs0NTM1X0gKKyNkZWZpbmUgX0FLNDUzNV9ICisKKy8qIEFLNDUzNSByZWdpc3RlciBzcGFjZSAqLworCisjZGVmaW5lIEFLNDUzNV9QTTEJCTB4MAorI2RlZmluZSBBSzQ1MzVfUE0yCQkweDEKKyNkZWZpbmUgQUs0NTM1X1NJRzEJCTB4MgorI2RlZmluZSBBSzQ1MzVfU0lHMgkJMHgzCisjZGVmaW5lIEFLNDUzNV9NT0RFMQkJMHg0CisjZGVmaW5lIEFLNDUzNV9NT0RFMgkJMHg1CisjZGVmaW5lIEFLNDUzNV9EQUMJCTB4NgorI2RlZmluZSBBSzQ1MzVfTUlDCQkweDcKKyNkZWZpbmUgQUs0NTM1X1RJTUVSCQkweDgKKyNkZWZpbmUgQUs0NTM1X0FMQzEJCTB4OQorI2RlZmluZSBBSzQ1MzVfQUxDMgkJMHhhCisjZGVmaW5lIEFLNDUzNV9QR0EJCTB4YgorI2RlZmluZSBBSzQ1MzVfTEFUVAkJMHhjCisjZGVmaW5lIEFLNDUzNV9SQVRUCQkweGQKKyNkZWZpbmUgQUs0NTM1X1ZPTAkJMHhlCisjZGVmaW5lIEFLNDUzNV9TVEFUVVMJCTB4ZgorCisjZGVmaW5lIEFLNDUzNV9DQUNIRVJFR05VTSAJMHgxMAorCitzdHJ1Y3QgYWs0NTM1X3NldHVwX2RhdGEgeworCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOworfTsKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhazQ1MzVfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X2FrNDUzNTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5jIGIvc291bmQvc29jL2NvZGVjcy9jczQyNzAuYwppbmRleCBlNzNmY2ZkLi45ZGViOGM3IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmMKQEAgLTIwMSw3ICsyMDEsNyBAQAogICogZHJpdmVyIHdoYXQgdGhlIGlucHV0IHNldHRpbmdzIGNhbiBiZS4gIFRoaXMgd291bGQgbmVlZCB0byBiZSBpbXBsZW1lbnRlZAogICogZm9yIHN0YW5kLWFsb25lIG1vZGUgdG8gd29yay4KICAqLwotc3RhdGljIGludCBjczQyNzBfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IGNzNDI3MF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJCQkgaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTI1MSw3ICsyNTEsNyBAQAogICogZGF0YSBmb3IgcGxheWJhY2sgb25seSwgYnV0IEFTb0MgY3VycmVudGx5IGRvZXMgbm90IHN1cHBvcnQgZGlmZmVyZW50CiAgKiBmb3JtYXRzIGZvciBwbGF5YmFjayB2cy4gcmVjb3JkLgogICovCi1zdGF0aWMgaW50IGNzNDI3MF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgY3M0MjcwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQkJICAgICAgdW5zaWduZWQgaW50IGZvcm1hdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtNDcxLDcgKzQ3MSw3IEBACiAgKiBib2FyZCBkb2VzIG5vdCBoYXZlIHRoZSBNVVRFQSBvciBNVVRFQiBwaW5zIGNvbm5lY3RlZCB0byBzdWNoIGNpcmN1aXRyeSwKICAqIHRoZW4gdGhpcyBmdW5jdGlvbiB3aWxsIGRvIG5vdGhpbmcuCiAgKi8KLXN0YXRpYyBpbnQgY3M0MjcwX211dGUoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIGludCBtdXRlKQorc3RhdGljIGludCBjczQyNzBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKIAlpbnQgcmVnNjsKQEAgLTY2Nyw3ICs2NjcsNyBAQAogCiAjZW5kaWYgLyogVVNFX0kyQyovCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBjczQyNzBfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIGNzNDI3MF9kYWkgPSB7CiAJLm5hbWUgPSAiQ1M0MjcwIiwKIAkucGxheWJhY2sgPSB7CiAJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5oIGIvc291bmQvc29jL2NvZGVjcy9jczQyNzAuaAppbmRleCAwY2VkNDliLi5hZGM2Y2Q5IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmgKQEAgLTE2LDcgKzE2LDcgQEAKICAqIFRoZSBBU29DIGNvZGVjIERBSSBzdHJ1Y3R1cmUgZm9yIHRoZSBDUzQyNzAuICBBc3NpZ24gdGhpcyBzdHJ1Y3R1cmUgdG8KICAqIHRoZSAuY29kZWNfZGFpIGZpZWxkIG9mIHlvdXIgbWFjaGluZSBkcml2ZXIncyBzbmRfc29jX2RhaV9saW5rIHN0cnVjdHVyZS4KICAqLwotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBjczQyNzBfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBjczQyNzBfZGFpOwogCiAvKgogICogVGhlIEFTb0MgY29kZWMgZGV2aWNlIHN0cnVjdHVyZSBmb3IgdGhlIENTNDI3MC4gIEFzc2lnbiB0aGlzIHN0cnVjdHVyZQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5jIGIvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5jCmluZGV4IDA5YjE2NjEuLmIxZGNlNWYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guYworKysgYi9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmMKQEAgLTI5LDcgKzI5LDcgQEAKICAqICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCiAgKiAgSGVuY2UgdGhlIG1hY2hpbmUgbGF5ZXIgc2hvdWxkIGRpc2FibGUgdW5zdXBwb3J0ZWQgaW5wdXRzL291dHB1dHMgYnkKLSAqICBzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTU9OT19MT1VUIiwgMCksIGV0Yy4KKyAqICBzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNT05PX0xPVVQiKSwgZXRjLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTQ5LDcgKzQ5LDcgQEAKICNpbmNsdWRlICJ0bHYzMjBhaWMzeC5oIgogCiAjZGVmaW5lIEFVRElPX05BTUUgImFpYzN4IgotI2RlZmluZSBBSUMzWF9WRVJTSU9OICIwLjEiCisjZGVmaW5lIEFJQzNYX1ZFUlNJT04gIjAuMiIKIAogLyogY29kZWMgcHJpdmF0ZSBkYXRhICovCiBzdHJ1Y3QgYWljM3hfcHJpdiB7CkBAIC0xMzgsNiArMTM4LDIwIEBACiAJCXJldHVybiAtRUlPOwogfQogCisvKgorICogcmVhZCBmcm9tIHRoZSBhaWMzeCByZWdpc3RlciBzcGFjZQorICovCitzdGF0aWMgaW50IGFpYzN4X3JlYWQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgcmVnLAorCQkgICAgICB1OCAqdmFsdWUpCit7CisJKnZhbHVlID0gcmVnICYgMHhmZjsKKwlpZiAoY29kZWMtPmh3X3JlYWQoY29kZWMtPmNvbnRyb2xfZGF0YSwgdmFsdWUsIDEpICE9IDEpCisJCXJldHVybiAtRUlPOworCisJYWljM3hfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsICp2YWx1ZSk7CisJcmV0dXJuIDA7Cit9CisKICNkZWZpbmUgU09DX0RBUE1fU0lOR0xFX0FJQzNYKHhuYW1lLCByZWcsIHNoaWZ0LCBtYXNrLCBpbnZlcnQpIFwKIHsJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIFwKIAkuaW5mbyA9IHNuZF9zb2NfaW5mb192b2xzdywgXApAQCAtMTkyLDcgKzIwNiw3IEBACiAJCX0KIAogCQlpZiAoZm91bmQpCi0JCQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMod2lkZ2V0LT5jb2RlYyk7CisJCQlzbmRfc29jX2RhcG1fc3luYyh3aWRnZXQtPmNvZGVjKTsKIAl9CiAKIAlyZXQgPSBzbmRfc29jX3VwZGF0ZV9iaXRzKHdpZGdldC0+Y29kZWMsIHJlZywgdmFsX21hc2ssIHZhbCk7CkBAIC0yMDksNiArMjIzLDggQEAKICAgICB7ICJkaWZmZXJlbnRpYWwgb2YgSFBST1VUIiwgImNvbnN0YW50IFZDTSIsICJzaW5nbGUtZW5kZWQiLAogICAgICAgImRpZmZlcmVudGlhbCBvZiBIUExDT00iLCAiZXh0ZXJuYWwgZmVlZGJhY2siIH07CiBzdGF0aWMgY29uc3QgY2hhciAqYWljM3hfbGluZWluX21vZGVfbXV4W10gPSB7ICJzaW5nbGUtZW5kZWQiLCAiZGlmZmVyZW50aWFsIiB9Oworc3RhdGljIGNvbnN0IGNoYXIgKmFpYzN4X2FkY19ocGZbXSA9CisgICAgeyAiRGlzYWJsZWQiLCAiMC4wMDQ1eEZzIiwgIjAuMDEyNXhGcyIsICIwLjAyNXhGcyIgfTsKIAogI2RlZmluZSBMREFDX0VOVU0JMAogI2RlZmluZSBSREFDX0VOVU0JMQpAQCAtMjE4LDYgKzIzNCw3IEBACiAjZGVmaW5lIExJTkUxUl9FTlVNCTUKICNkZWZpbmUgTElORTJMX0VOVU0JNgogI2RlZmluZSBMSU5FMlJfRU5VTQk3CisjZGVmaW5lIEFEQ19IUEZfRU5VTQk4CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gYWljM3hfZW51bVtdID0gewogCVNPQ19FTlVNX1NJTkdMRShEQUNfTElORV9NVVgsIDYsIDMsIGFpYzN4X2xlZnRfZGFjX211eCksCkBAIC0yMjgsNiArMjQ1LDcgQEAKIAlTT0NfRU5VTV9TSU5HTEUoTElORTFSXzJfUkFEQ19DVFJMLCA3LCAyLCBhaWMzeF9saW5laW5fbW9kZV9tdXgpLAogCVNPQ19FTlVNX1NJTkdMRShMSU5FMkxfMl9MQURDX0NUUkwsIDcsIDIsIGFpYzN4X2xpbmVpbl9tb2RlX211eCksCiAJU09DX0VOVU1fU0lOR0xFKExJTkUyUl8yX1JBRENfQ1RSTCwgNywgMiwgYWljM3hfbGluZWluX21vZGVfbXV4KSwKKwlTT0NfRU5VTV9ET1VCTEUoQUlDM1hfQ09ERUNfREZJTFRfQ1RSTCwgNiwgNCwgNCwgYWljM3hfYWRjX2hwZiksCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWljM3hfc25kX2NvbnRyb2xzW10gPSB7CkBAIC0yNzgsNiArMjk2LDggQEAKIAkvKiBJbnB1dCAqLwogCVNPQ19ET1VCTEVfUigiUEdBIENhcHR1cmUgVm9sdW1lIiwgTEFEQ19WT0wsIFJBRENfVk9MLCAwLCAweDdmLCAwKSwKIAlTT0NfRE9VQkxFX1IoIlBHQSBDYXB0dXJlIFN3aXRjaCIsIExBRENfVk9MLCBSQURDX1ZPTCwgNywgMHgwMSwgMSksCisKKwlTT0NfRU5VTSgiQURDIEhQRiBDdXQtb2ZmIiwgYWljM3hfZW51bVtBRENfSFBGX0VOVU1dKSwKIH07CiAKIC8qIGFkZCBub24gZGFwbSBjb250cm9scyAqLwpAQCAtNDQxLDExICs0NjEsMzQgQEAKIAlTTkRfU09DX0RBUE1fTVVYKCJSaWdodCBMaW5lMlIgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLAogCQkJICZhaWMzeF9yaWdodF9saW5lMl9tdXhfY29udHJvbHMpLAogCisJLyoKKwkgKiBOb3QgYSByZWFsIG1pYyBiaWFzIHdpZGdldCBidXQgc2ltaWxhciBmdW5jdGlvbi4gVGhpcyBpcyBmb3IgZHluYW1pYworCSAqIGNvbnRyb2wgb2YgR1BJTzEgZGlnaXRhbCBtaWMgbW9kdWxhdG9yIGNsb2NrIG91dHB1dCBmdW5jdGlvbiB3aGVuCisJICogdXNpbmcgZGlnaXRhbCBtaWMuCisJICovCisJU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWljYmlhcywgIkdQSU8xIGRtaWMgbW9kY2xrIiwKKwkJCSBBSUMzWF9HUElPMV9SRUcsIDQsIDB4ZiwKKwkJCSBBSUMzWF9HUElPMV9GVU5DX0RJR0lUQUxfTUlDX01PRENMSywKKwkJCSBBSUMzWF9HUElPMV9GVU5DX0RJU0FCTEVEKSwKKworCS8qCisJICogQWxzbyBzaW1pbGFyIGZ1bmN0aW9uIGxpa2UgbWljIGJpYXMuIFNlbGVjdHMgZGlnaXRhbCBtaWMgd2l0aAorCSAqIGNvbmZpZ3VyYWJsZSBvdmVyc2FtcGxpbmcgcmF0ZSBpbnN0ZWFkIG9mIEFEQyBjb252ZXJ0ZXIuCisJICovCisJU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWljYmlhcywgIkRNaWMgUmF0ZSAxMjgiLAorCQkJIEFJQzNYX0FTRF9JTlRGX0NUUkxBLCAwLCAzLCAxLCAwKSwKKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiRE1pYyBSYXRlIDY0IiwKKwkJCSBBSUMzWF9BU0RfSU5URl9DVFJMQSwgMCwgMywgMiwgMCksCisJU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWljYmlhcywgIkRNaWMgUmF0ZSAzMiIsCisJCQkgQUlDM1hfQVNEX0lOVEZfQ1RSTEEsIDAsIDMsIDMsIDApLAorCiAJLyogTWljIEJpYXMgKi8KLQlTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEJpYXMgMlYiLCBNSUNCSUFTX0NUUkwsIDYsIDApLAotCVNORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgQmlhcyAyLjVWIiwgTUlDQklBU19DVFJMLCA3LCAwKSwKLQlTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEJpYXMgQVZERCIsIE1JQ0JJQVNfQ1RSTCwgNiwgMCksCi0JU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBCaWFzIEFWREQiLCBNSUNCSUFTX0NUUkwsIDcsIDApLAorCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJNaWMgQmlhcyAyViIsCisJCQkgTUlDQklBU19DVFJMLCA2LCAzLCAxLCAwKSwKKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiTWljIEJpYXMgMi41ViIsCisJCQkgTUlDQklBU19DVFJMLCA2LCAzLCAyLCAwKSwKKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiTWljIEJpYXMgQVZERCIsCisJCQkgTUlDQklBU19DVFJMLCA2LCAzLCAzLCAwKSwKIAogCS8qIExlZnQgUEdBIHRvIExlZnQgT3V0cHV0IGJ5cGFzcyAqLwogCVNORF9TT0NfREFQTV9NSVhFUigiTGVmdCBQR0EgQnlwYXNzIE1peGVyIiwgU05EX1NPQ19OT1BNLCAwLCAwLApAQCAtNDgzLDcgKzUyNiw3IEBACiAJU05EX1NPQ19EQVBNX0lOUFVUKCJMSU5FMlIiKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICppbnRlcmNvbltdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgaW50ZXJjb25bXSA9IHsKIAkvKiBMZWZ0IE91dHB1dCAqLwogCXsiTGVmdCBEQUMgTXV4IiwgIkRBQ19MMSIsICJMZWZ0IERBQyJ9LAogCXsiTGVmdCBEQUMgTXV4IiwgIkRBQ19MMiIsICJMZWZ0IERBQyJ9LApAQCAtNTU0LDYgKzU5Nyw3IEBACiAJeyJMZWZ0IFBHQSBNaXhlciIsICJNaWMzTCBTd2l0Y2giLCAiTUlDM0wifSwKIAogCXsiTGVmdCBBREMiLCBOVUxMLCAiTGVmdCBQR0EgTWl4ZXIifSwKKwl7IkxlZnQgQURDIiwgTlVMTCwgIkdQSU8xIGRtaWMgbW9kY2xrIn0sCiAKIAkvKiBSaWdodCBJbnB1dCAqLwogCXsiUmlnaHQgTGluZTFSIE11eCIsICJzaW5nbGUtZW5kZWQiLCAiTElORTFSIn0sCkBAIC01NjcsNiArNjExLDcgQEAKIAl7IlJpZ2h0IFBHQSBNaXhlciIsICJNaWMzUiBTd2l0Y2giLCAiTUlDM1IifSwKIAogCXsiUmlnaHQgQURDIiwgTlVMTCwgIlJpZ2h0IFBHQSBNaXhlciJ9LAorCXsiUmlnaHQgQURDIiwgTlVMTCwgIkdQSU8xIGRtaWMgbW9kY2xrIn0sCiAKIAkvKiBMZWZ0IFBHQSBCeXBhc3MgKi8KIAl7IkxlZnQgUEdBIEJ5cGFzcyBNaXhlciIsICJMaW5lIFN3aXRjaCIsICJMZWZ0IFBHQSBNaXhlciJ9LApAQCAtNjI4LDEwMSArNjczLDI3IEBACiAJeyJNb25vIE91dCIsIE5VTEwsICJSaWdodCBMaW5lMiBCeXBhc3MgTWl4ZXIifSwKIAl7IlJpZ2h0IEhQIE91dCIsIE5VTEwsICJSaWdodCBMaW5lMiBCeXBhc3MgTWl4ZXIifSwKIAotCS8qIHRlcm1pbmF0b3IgKi8KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCisJLyoKKwkgKiBMb2dpY2FsIHBhdGggYmV0d2VlbiBkaWdpdGFsIG1pYyBlbmFibGUgYW5kIEdQSU8xIG1vZHVsYXRvciBjbG9jaworCSAqIG91dHB1dCBmdW5jdGlvbgorCSAqLworCXsiR1BJTzEgZG1pYyBtb2RjbGsiLCBOVUxMLCAiRE1pYyBSYXRlIDEyOCJ9LAorCXsiR1BJTzEgZG1pYyBtb2RjbGsiLCBOVUxMLCAiRE1pYyBSYXRlIDY0In0sCisJeyJHUElPMSBkbWljIG1vZGNsayIsIE5VTEwsICJETWljIFJhdGUgMzIifSwKIH07CiAKIHN0YXRpYyBpbnQgYWljM3hfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWljM3hfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZhaWMzeF9kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIGFpYzN4X2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUoYWljM3hfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBzZXQgdXAgYXVkaW8gcGF0aCBpbnRlcmNvbm5lY3RzICovCi0JZm9yIChpID0gMDsgaW50ZXJjb25baV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgaW50ZXJjb25baV1bMF0sCi0JCQkJCSAgIGludGVyY29uW2ldWzFdLCBpbnRlcmNvbltpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGludGVyY29uLCBBUlJBWV9TSVpFKGludGVyY29uKSk7CiAKIAlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOwogCXJldHVybiAwOwogfQogCi1zdHJ1Y3QgYWljM3hfcmF0ZV9kaXZzIHsKLQl1MzIgbWNsazsKLQl1MzIgcmF0ZTsKLQl1MzIgZnNyZWZfcmVnOwotCXU4IHNyX3JlZzo0OwotCXU4IHBsbGpfcmVnOwotCXUxNiBwbGxkX3JlZzsKLX07Ci0KLS8qIEFJQzNYIGNvZGVjIG1jbGsgY2xvY2sgZGl2aWRlciBjb2VmZmljaWVudHMgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgYWljM3hfcmF0ZV9kaXZzIGFpYzN4X2RpdnNbXSA9IHsKLQkvKiA4ayAqLwotCXsxMjAwMDAwMCwgODAwMCwgNDgwMDAsIDB4YSwgMTYsIDM4NDB9LAotCXsxOTIwMDAwMCwgODAwMCwgNDgwMDAsIDB4YSwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgODAwMCwgNDgwMDAsIDB4YSwgOCwgNzA3NX0sCi0JezMzODY4ODAwLCA4MDAwLCA0ODAwMCwgMHhhLCA1LCA4MDQ5fSwKLQkvKiAxMS4wMjVrICovCi0JezEyMDAwMDAwLCAxMTAyNSwgNDQxMDAsIDB4NiwgMTUsIDUyOH0sCi0JezE5MjAwMDAwLCAxMTAyNSwgNDQxMDAsIDB4NiwgOSwgNDA4MH0sCi0JezIyNTc5MjAwLCAxMTAyNSwgNDQxMDAsIDB4NiwgOCwgMH0sCi0JezMzODY4ODAwLCAxMTAyNSwgNDQxMDAsIDB4NiwgNSwgMzMzM30sCi0JLyogMTZrICovCi0JezEyMDAwMDAwLCAxNjAwMCwgNDgwMDAsIDB4NCwgMTYsIDM4NDB9LAotCXsxOTIwMDAwMCwgMTYwMDAsIDQ4MDAwLCAweDQsIDEwLCAyNDAwfSwKLQl7MjI1NzkyMDAsIDE2MDAwLCA0ODAwMCwgMHg0LCA4LCA3MDc1fSwKLQl7MzM4Njg4MDAsIDE2MDAwLCA0ODAwMCwgMHg0LCA1LCA4MDQ5fSwKLQkvKiAyMi4wNWsgKi8KLQl7MTIwMDAwMDAsIDIyMDUwLCA0NDEwMCwgMHgyLCAxNSwgNTI4fSwKLQl7MTkyMDAwMDAsIDIyMDUwLCA0NDEwMCwgMHgyLCA5LCA0MDgwfSwKLQl7MjI1NzkyMDAsIDIyMDUwLCA0NDEwMCwgMHgyLCA4LCAwfSwKLQl7MzM4Njg4MDAsIDIyMDUwLCA0NDEwMCwgMHgyLCA1LCAzMzMzfSwKLQkvKiAzMmsgKi8KLQl7MTIwMDAwMDAsIDMyMDAwLCA0ODAwMCwgMHgxLCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCAzMjAwMCwgNDgwMDAsIDB4MSwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgMzIwMDAsIDQ4MDAwLCAweDEsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgMzIwMDAsIDQ4MDAwLCAweDEsIDUsIDgwNDl9LAotCS8qIDQ0LjFrICovCi0JezEyMDAwMDAwLCA0NDEwMCwgNDQxMDAsIDB4MCwgMTUsIDUyOH0sCi0JezE5MjAwMDAwLCA0NDEwMCwgNDQxMDAsIDB4MCwgOSwgNDA4MH0sCi0JezIyNTc5MjAwLCA0NDEwMCwgNDQxMDAsIDB4MCwgOCwgMH0sCi0JezMzODY4ODAwLCA0NDEwMCwgNDQxMDAsIDB4MCwgNSwgMzMzM30sCi0JLyogNDhrICovCi0JezEyMDAwMDAwLCA0ODAwMCwgNDgwMDAsIDB4MCwgMTYsIDM4NDB9LAotCXsxOTIwMDAwMCwgNDgwMDAsIDQ4MDAwLCAweDAsIDEwLCAyNDAwfSwKLQl7MjI1NzkyMDAsIDQ4MDAwLCA0ODAwMCwgMHgwLCA4LCA3MDc1fSwKLQl7MzM4Njg4MDAsIDQ4MDAwLCA0ODAwMCwgMHgwLCA1LCA4MDQ5fSwKLQkvKiA2NGsgKi8KLQl7MTIwMDAwMDAsIDY0MDAwLCA5NjAwMCwgMHgxLCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCA2NDAwMCwgOTYwMDAsIDB4MSwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgNjQwMDAsIDk2MDAwLCAweDEsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgNjQwMDAsIDk2MDAwLCAweDEsIDUsIDgwNDl9LAotCS8qIDg4LjJrICovCi0JezEyMDAwMDAwLCA4ODIwMCwgODgyMDAsIDB4MCwgMTUsIDUyOH0sCi0JezE5MjAwMDAwLCA4ODIwMCwgODgyMDAsIDB4MCwgOSwgNDA4MH0sCi0JezIyNTc5MjAwLCA4ODIwMCwgODgyMDAsIDB4MCwgOCwgMH0sCi0JezMzODY4ODAwLCA4ODIwMCwgODgyMDAsIDB4MCwgNSwgMzMzM30sCi0JLyogOTZrICovCi0JezEyMDAwMDAwLCA5NjAwMCwgOTYwMDAsIDB4MCwgMTYsIDM4NDB9LAotCXsxOTIwMDAwMCwgOTYwMDAsIDk2MDAwLCAweDAsIDEwLCAyNDAwfSwKLQl7MjI1NzkyMDAsIDk2MDAwLCA5NjAwMCwgMHgwLCA4LCA3MDc1fSwKLQl7MzM4Njg4MDAsIDk2MDAwLCA5NjAwMCwgMHgwLCA1LCA4MDQ5fSwKLX07Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGFpYzN4X2dldF9kaXZzKGludCBtY2xrLCBpbnQgcmF0ZSkKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFpYzN4X2RpdnMpOyBpKyspIHsKLQkJaWYgKGFpYzN4X2RpdnNbaV0ucmF0ZSA9PSByYXRlICYmIGFpYzN4X2RpdnNbaV0ubWNsayA9PSBtY2xrKQotCQkJcmV0dXJuIGk7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgYWljM3hfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAogCQkJICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CkBAIC03MzAsNTcgKzcwMSw5IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCXN0cnVjdCBhaWMzeF9wcml2ICphaWMzeCA9IGNvZGVjLT5wcml2YXRlX2RhdGE7Ci0JaW50IGk7Ci0JdTggZGF0YSwgcGxsX3AsIHBsbF9yLCBwbGxfajsKLQl1MTYgcGxsX2Q7Ci0KLQlpID0gYWljM3hfZ2V0X2RpdnMoYWljM3gtPnN5c2NsaywgcGFyYW1zX3JhdGUocGFyYW1zKSk7Ci0KLQkvKiBSb3V0ZSBMZWZ0IERBQyB0byBsZWZ0IGNoYW5uZWwgaW5wdXQgYW5kCi0JICogcmlnaHQgREFDIHRvIHJpZ2h0IGNoYW5uZWwgaW5wdXQgKi8KLQlkYXRhID0gKExEQUMyTENIIHwgUkRBQzJSQ0gpOwotCXN3aXRjaCAoYWljM3hfZGl2c1tpXS5mc3JlZl9yZWcpIHsKLQljYXNlIDQ0MTAwOgotCQlkYXRhIHw9IEZTUkVGXzQ0MTAwOwotCQlicmVhazsKLQljYXNlIDQ4MDAwOgotCQlkYXRhIHw9IEZTUkVGXzQ4MDAwOwotCQlicmVhazsKLQljYXNlIDg4MjAwOgotCQlkYXRhIHw9IEZTUkVGXzQ0MTAwIHwgRFVBTF9SQVRFX01PREU7Ci0JCWJyZWFrOwotCWNhc2UgOTYwMDA6Ci0JCWRhdGEgfD0gRlNSRUZfNDgwMDAgfCBEVUFMX1JBVEVfTU9ERTsKLQkJYnJlYWs7Ci0JfQotCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9DT0RFQ19EQVRBUEFUSF9SRUcsIGRhdGEpOwotCi0JLyogY29kZWMgc2FtcGxlIHJhdGUgc2VsZWN0ICovCi0JZGF0YSA9IGFpYzN4X2RpdnNbaV0uc3JfcmVnOwotCWRhdGEgfD0gKGRhdGEgPDwgNCk7Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1NBTVBMRV9SQVRFX1NFTF9SRUcsIGRhdGEpOwotCi0JLyogVXNlIFBMTCBmb3IgZ2VuZXJhdGlvbiBGc3JlZiBieSBlcXVhdGlvbjoKLQkgKiBGc3JlZiA9IChNQ0xLICogSyAqIFIpLygyMDQ4ICogUCk7Ci0JICogRml4IFAgPSAyIGFuZCBSID0gMSBhbmQgY2FsY3VsYXRlIEssIGlmCi0JICogSyA9IEouRCwgaS5lLiBKIC0gYW4gaW50ZXJnZXIgcG9ydGlvbiBvZiBLIGFuZCBEIGlzIHRoZSBmcmFjdGlvbmFsCi0JICogb25lIHdpdGggNCBkaWdpdHMgb2YgcHJlY2lzaW9uOwotCSAqIEV4YW1wbGU6Ci0JICogRm9yIE1DTEsgPSAyMi41NzkyIE1IeiBhbmQgRnNyZWYgPSA0OGtIejoKLQkgKiBTZWxlY3QgUCA9IDIsIFI9IDEsIEsgPSA4LjcwNzQsIHdoaWNoIHJlc3VsdHMgaW4gSiA9IDgsIEQgPSA3MDc0Ci0JICovCi0JcGxsX3AgPSAyOwotCXBsbF9yID0gMTsKLQlwbGxfaiA9IGFpYzN4X2RpdnNbaV0ucGxsal9yZWc7Ci0JcGxsX2QgPSBhaWMzeF9kaXZzW2ldLnBsbGRfcmVnOwotCi0JZGF0YSA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0FfUkVHKTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dBX1JFRywgZGF0YSB8IChwbGxfcCA8PCBQTExQX1NISUZUKSk7Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX09WUkZfU1RBVFVTX0FORF9QTExSX1JFRywgcGxsX3IgPDwgUExMUl9TSElGVCk7Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQl9SRUcsIHBsbF9qIDw8IFBMTEpfU0hJRlQpOwotCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0NfUkVHLCAocGxsX2QgPj4gNikgPDwgUExMRF9NU0JfU0hJRlQpOwotCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0RfUkVHLAotCQkgICAgKHBsbF9kICYgMHgzRikgPDwgUExMRF9MU0JfU0hJRlQpOworCWludCBjb2RlY19jbGsgPSAwLCBieXBhc3NfcGxsID0gMCwgZnNyZWYsIGxhc3RfY2xrID0gMDsKKwl1OCBkYXRhLCByLCBwLCBwbGxfcSwgcGxsX3AgPSAxLCBwbGxfciA9IDEsIHBsbF9qID0gMTsKKwl1MTYgcGxsX2QgPSAxOwogCiAJLyogc2VsZWN0IGRhdGEgd29yZCBsZW5ndGggKi8KIAlkYXRhID0KQEAgLTgwMCwxMCArNzIzLDk4IEBACiAJfQogCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9BU0RfSU5URl9DVFJMQiwgZGF0YSk7CiAKKwkvKiBGc3JlZiBjYW4gYmUgNDQxMDAgb3IgNDgwMDAgKi8KKwlmc3JlZiA9IChwYXJhbXNfcmF0ZShwYXJhbXMpICUgMTEwMjUgPT0gMCkgPyA0NDEwMCA6IDQ4MDAwOworCisJLyogVHJ5IHRvIGZpbmQgYSB2YWx1ZSBmb3IgUSB3aGljaCBhbGxvd3MgdXMgdG8gYnlwYXNzIHRoZSBQTEwgYW5kCisJICogZ2VuZXJhdGUgQ09ERUNfQ0xLIGRpcmVjdGx5LiAqLworCWZvciAocGxsX3EgPSAyOyBwbGxfcSA8IDE4OyBwbGxfcSsrKQorCQlpZiAoYWljM3gtPnN5c2NsayAvICgxMjggKiBwbGxfcSkgPT0gZnNyZWYpIHsKKwkJCWJ5cGFzc19wbGwgPSAxOworCQkJYnJlYWs7CisJCX0KKworCWlmIChieXBhc3NfcGxsKSB7CisJCXBsbF9xICY9IDB4ZjsKKwkJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQV9SRUcsIHBsbF9xIDw8IFBMTFFfU0hJRlQpOworCQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfR1BJT0JfUkVHLCBDT0RFQ19DTEtJTl9DTEtESVYpOworCX0gZWxzZQorCQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfR1BJT0JfUkVHLCBDT0RFQ19DTEtJTl9QTExESVYpOworCisJLyogUm91dGUgTGVmdCBEQUMgdG8gbGVmdCBjaGFubmVsIGlucHV0IGFuZAorCSAqIHJpZ2h0IERBQyB0byByaWdodCBjaGFubmVsIGlucHV0ICovCisJZGF0YSA9IChMREFDMkxDSCB8IFJEQUMyUkNIKTsKKwlkYXRhIHw9IChmc3JlZiA9PSA0NDEwMCkgPyBGU1JFRl80NDEwMCA6IEZTUkVGXzQ4MDAwOworCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpID49IDY0MDAwKQorCQlkYXRhIHw9IERVQUxfUkFURV9NT0RFOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9DT0RFQ19EQVRBUEFUSF9SRUcsIGRhdGEpOworCisJLyogY29kZWMgc2FtcGxlIHJhdGUgc2VsZWN0ICovCisJZGF0YSA9IChmc3JlZiAqIDIwKSAvIHBhcmFtc19yYXRlKHBhcmFtcyk7CisJaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPCA2NDAwMCkKKwkJZGF0YSAvPSAyOworCWRhdGEgLz0gNTsKKwlkYXRhIC09IDI7CisJZGF0YSB8PSAoZGF0YSA8PCA0KTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfU0FNUExFX1JBVEVfU0VMX1JFRywgZGF0YSk7CisKKwlpZiAoYnlwYXNzX3BsbCkKKwkJcmV0dXJuIDA7CisKKwkvKiBVc2UgUExMCisJICogZmluZCBhbiBhcHJvcHJpYXRlIHNldHVwIGZvciBqLCBkLCByIGFuZCBwIGJ5IGl0ZXJhdGluZyBvdmVyCisJICogcCBhbmQgciAtIGogYW5kIGQgYXJlIGNhbGN1bGF0ZWQgZm9yIGVhY2ggZnJhY3Rpb24uCisJICogVXAgdG8gMTI4IHZhbHVlcyBhcmUgcHJvYmVkLCB0aGUgY2xvc2VzdCBvbmUgd2lucyB0aGUgZ2FtZS4KKwkgKiBUaGUgc3lzY2xrIGlzIGRpdmlkZWQgYnkgMTAwMCB0byBwcmV2ZW50IGludGVnZXIgb3ZlcmZsb3dzLgorCSAqLworCWNvZGVjX2NsayA9ICgyMDQ4ICogZnNyZWYpIC8gKGFpYzN4LT5zeXNjbGsgLyAxMDAwKTsKKworCWZvciAociA9IDE7IHIgPD0gMTY7IHIrKykKKwkJZm9yIChwID0gMTsgcCA8PSA4OyBwKyspIHsKKwkJCWludCBjbGssIHRtcCA9IChjb2RlY19jbGsgKiBwbGxfciAqIDEwKSAvIHBsbF9wOworCQkJdTggaiA9IHRtcCAvIDEwMDAwOworCQkJdTE2IGQgPSB0bXAgJSAxMDAwMDsKKworCQkJaWYgKGogPiA2MykKKwkJCQljb250aW51ZTsKKworCQkJaWYgKGQgIT0gMCAmJiBhaWMzeC0+c3lzY2xrIDwgMTAwMDAwMDApCisJCQkJY29udGludWU7CisKKwkJCS8qIFRoaXMgaXMgYWN0dWFsbHkgMTAwMCAqICgoaiArIChkLzEwMDAwKSkgKiByKSAvIHAKKwkJCSAqIFRoZSB0ZXJtIGhhZCB0byBiZSBjb252ZXJ0ZWQgdG8gZ2V0IHJpZCBvZiB0aGUKKwkJCSAqIGRpdmlzaW9uIGJ5IDEwMDAwICovCisJCQljbGsgPSAoKDEwMDAwICogaiAqIHIpICsgKGQgKiByKSkgLyAoMTAgKiBwKTsKKworCQkJLyogY2hlY2sgd2hldGhlciB0aGlzIHZhbHVlcyBnZXQgY2xvc2VyIHRoYW4gdGhlIGJlc3QKKwkJCSAqIG9uZXMgd2UgaGFkIGJlZm9yZSAqLworCQkJaWYgKGFicyhjb2RlY19jbGsgLSBjbGspIDwgYWJzKGNvZGVjX2NsayAtIGxhc3RfY2xrKSkgeworCQkJCXBsbF9qID0gajsgcGxsX2QgPSBkOyBwbGxfciA9IHI7IHBsbF9wID0gcDsKKwkJCQlsYXN0X2NsayA9IGNsazsKKwkJCX0KKworCQkJLyogRWFybHkgZXhpdCBmb3IgZXhhY3QgbWF0Y2hlcyAqLworCQkJaWYgKGNsayA9PSBjb2RlY19jbGspCisJCQkJYnJlYWs7CisJCX0KKworCWlmIChsYXN0X2NsayA9PSAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXMoKTogdW5hYmxlIHRvIHNldHVwIFBMTFxuIiwgX19mdW5jX18pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlkYXRhID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQV9SRUcpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0FfUkVHLCBkYXRhIHwgKHBsbF9wIDw8IFBMTFBfU0hJRlQpKTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfT1ZSRl9TVEFUVVNfQU5EX1BMTFJfUkVHLCBwbGxfciA8PCBQTExSX1NISUZUKTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dCX1JFRywgcGxsX2ogPDwgUExMSl9TSElGVCk7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQ19SRUcsIChwbGxfZCA+PiA2KSA8PCBQTExEX01TQl9TSElGVCk7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HRF9SRUcsCisJCSAgICAocGxsX2QgJiAweDNGKSA8PCBQTExEX0xTQl9TSElGVCk7CisKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBhaWMzeF9tdXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3N0YXRpYyBpbnQgYWljM3hfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKIAl1OCBsZGFjX3JlZyA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBMREFDX1ZPTCkgJiB+TVVURV9PTjsKQEAgLTgyMCwzMSArODMxLDI1IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYWljM3hfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IGFpYzN4X3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQkJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CiAJc3RydWN0IGFpYzN4X3ByaXYgKmFpYzN4ID0gY29kZWMtPnByaXZhdGVfZGF0YTsKIAotCXN3aXRjaCAoZnJlcSkgewotCWNhc2UgMTIwMDAwMDA6Ci0JY2FzZSAxOTIwMDAwMDoKLQljYXNlIDIyNTc5MjAwOgotCWNhc2UgMzM4Njg4MDA6Ci0JCWFpYzN4LT5zeXNjbGsgPSBmcmVxOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXR1cm4gLUVJTlZBTDsKKwlhaWMzeC0+c3lzY2xrID0gZnJlcTsKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBhaWMzeF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgYWljM3hfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCQkgICAgIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKIAlzdHJ1Y3QgYWljM3hfcHJpdiAqYWljM3ggPSBjb2RlYy0+cHJpdmF0ZV9kYXRhOwotCXU4IGlmYWNlX2FyZWcgPSAwOwotCXU4IGlmYWNlX2JyZWcgPSAwOworCXU4IGlmYWNlX2FyZWcsIGlmYWNlX2JyZWc7CisKKwlpZmFjZV9hcmVnID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFJQzNYX0FTRF9JTlRGX0NUUkxBKSAmIDB4M2Y7CisJaWZhY2VfYnJlZyA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSUMzWF9BU0RfSU5URl9DVFJMQikgJiAweDNmOwogCiAJLyogc2V0IG1hc3Rlci9zbGF2ZSBhdWRpbyBpbnRlcmZhY2UgKi8KIAlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSB7CkBAIC04ODMsMTMgKzg4OCwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGFpYzN4X2RhcG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpCitzdGF0aWMgaW50IGFpYzN4X3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCQllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKIAlzdHJ1Y3QgYWljM3hfcHJpdiAqYWljM3ggPSBjb2RlYy0+cHJpdmF0ZV9kYXRhOwogCXU4IHJlZzsKIAotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDoKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CiAJCS8qIGFsbCBwb3dlciBpcyBkcml2ZW4gYnkgREFQTSBzeXN0ZW0gKi8KIAkJaWYgKGFpYzN4LT5tYXN0ZXIpIHsKIAkJCS8qIGVuYWJsZSBwbGwgKi8KQEAgLTg5OCwxMCArOTA0LDkgQEAKIAkJCQkgICAgcmVnIHwgUExMX0VOQUJMRSk7CiAJCX0KIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDE6Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKIAkJLyoKIAkJICogYWxsIHBvd2VyIGlzIGRyaXZlbiBieSBEQVBNIHN5c3RlbSwKIAkJICogc28gb3V0cHV0IHBvd2VyIGlzIHNhZmUgaWYgYnlwYXNzIHdhcyBzZXQKQEAgLTkxMyw3ICs5MTgsNyBAQAogCQkJCSAgICByZWcgJiB+UExMX0VOQUJMRSk7CiAJCX0KIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkOgorCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJLyogZm9yY2UgYWxsIHBvd2VyIG9mZiAqLwogCQlyZWcgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgTElORTFMXzJfTEFEQ19DVFJMKTsKIAkJYWljM3hfd3JpdGUoY29kZWMsIExJTkUxTF8yX0xBRENfQ1RSTCwgcmVnICYgfkxBRENfUFdSX09OKTsKQEAgLTk0OSwxNiArOTU0LDQzIEBACiAJCX0KIAkJYnJlYWs7CiAJfQotCWNvZGVjLT5kYXBtX3N0YXRlID0gZXZlbnQ7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKIAogCXJldHVybiAwOwogfQogCit2b2lkIGFpYzN4X3NldF9ncGlvKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGdwaW8sIGludCBzdGF0ZSkKK3sKKwl1OCByZWcgPSBncGlvID8gQUlDM1hfR1BJTzJfUkVHIDogQUlDM1hfR1BJTzFfUkVHOworCXU4IGJpdCA9IGdwaW8gPyAzOiAwOworCXU4IHZhbCA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCByZWcpICYgfigxIDw8IGJpdCk7CisJYWljM3hfd3JpdGUoY29kZWMsIHJlZywgdmFsIHwgKCEhc3RhdGUgPDwgYml0KSk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChhaWMzeF9zZXRfZ3Bpbyk7CisKK2ludCBhaWMzeF9nZXRfZ3BpbyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBncGlvKQoreworCXU4IHJlZyA9IGdwaW8gPyBBSUMzWF9HUElPMl9SRUcgOiBBSUMzWF9HUElPMV9SRUc7CisJdTggdmFsLCBiaXQgPSBncGlvID8gMjogMTsKKworCWFpYzN4X3JlYWQoY29kZWMsIHJlZywgJnZhbCk7CisJcmV0dXJuICh2YWwgPj4gYml0KSAmIDE7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChhaWMzeF9nZXRfZ3Bpbyk7CisKK2ludCBhaWMzeF9oZWFkc2V0X2RldGVjdGVkKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwl1OCB2YWw7CisJYWljM3hfcmVhZChjb2RlYywgQUlDM1hfUlRfSVJRX0ZMQUdTX1JFRywgJnZhbCk7CisJcmV0dXJuICh2YWwgPj4gMikgJiAxOworfQorRVhQT1JUX1NZTUJPTF9HUEwoYWljM3hfaGVhZHNldF9kZXRlY3RlZCk7CisKICNkZWZpbmUgQUlDM1hfUkFURVMJU05EUlZfUENNX1JBVEVfODAwMF85NjAwMAogI2RlZmluZSBBSUMzWF9GT1JNQVRTCShTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzIwXzNMRSB8IFwKIAkJCSBTTkRSVl9QQ01fRk1UQklUX1MyNF8zTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9MRSkKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGFpYzN4X2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBhaWMzeF9kYWkgPSB7CiAJLm5hbWUgPSAiYWljM3giLAogCS5wbGF5YmFjayA9IHsKIAkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKQEAgLTk4OCw3ICsxMDIwLDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKLQlhaWMzeF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwlhaWMzeF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwMDgsNyArMTA0MCw3IEBACiAJCWNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKIAl9CiAKLQlhaWMzeF9kYXBtX2V2ZW50KGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9kYXBtX3N0YXRlKTsKKwlhaWMzeF9zZXRfYmlhc19sZXZlbChjb2RlYywgY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwMjAsMTYgKzEwNTIsMTcgQEAKIHN0YXRpYyBpbnQgYWljM3hfaW5pdChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBhaWMzeF9zZXR1cF9kYXRhICpzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKIAlpbnQgcmVnLCByZXQgPSAwOwogCiAJY29kZWMtPm5hbWUgPSAiYWljM3giOwogCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOwogCWNvZGVjLT5yZWFkID0gYWljM3hfcmVhZF9yZWdfY2FjaGU7CiAJY29kZWMtPndyaXRlID0gYWljM3hfd3JpdGU7Ci0JY29kZWMtPmRhcG1fZXZlbnQgPSBhaWMzeF9kYXBtX2V2ZW50OworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IGFpYzN4X3NldF9iaWFzX2xldmVsOwogCWNvZGVjLT5kYWkgPSAmYWljM3hfZGFpOwogCWNvZGVjLT5udW1fZGFpID0gMTsKLQljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBzaXplb2YoYWljM3hfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKGFpYzN4X3JlZyk7CiAJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAoYWljM3hfcmVnLCBzaXplb2YoYWljM3hfcmVnKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0xMTA4LDcgKzExNDEsMTEgQEAKIAlhaWMzeF93cml0ZShjb2RlYywgTElORTJSXzJfTU9OT0xPUE1fVk9MLCBERUZBVUxUX1ZPTCk7CiAKIAkvKiBvZmYsIHdpdGggcG93ZXIgb24gKi8KLQlhaWMzeF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCWFpYzN4X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisKKwkvKiBzZXR1cCBHUElPIGZ1bmN0aW9ucyAqLworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9HUElPMV9SRUcsIChzZXR1cC0+Z3Bpb19mdW5jWzBdICYgMHhmKSA8PCA0KTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfR1BJTzJfUkVHLCAoc2V0dXAtPmdwaW9fZnVuY1sxXSAmIDB4ZikgPDwgNCk7CiAKIAlhaWMzeF9hZGRfY29udHJvbHMoY29kZWMpOwogCWFpYzN4X2FkZF93aWRnZXRzKGNvZGVjKTsKQEAgLTEyMTcsNiArMTI1NCwxMiBAQAogCS5uYW1lID0gIkFJQzNYIiwKIAkuZHJpdmVyID0gJmFpYzN4X2kyY19kcml2ZXIsCiB9OworCitzdGF0aWMgaW50IGFpYzN4X2kyY19yZWFkKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4ICp2YWx1ZSwgaW50IGxlbikKK3sKKwl2YWx1ZVswXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIHZhbHVlWzBdKTsKKwlyZXR1cm4gKGxlbiA9PSAxKTsKK30KICNlbmRpZgogCiBzdGF0aWMgaW50IGFpYzN4X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCkBAIC0xMjUxLDYgKzEyOTQsNyBAQAogCWlmIChzZXR1cC0+aTJjX2FkZHJlc3MpIHsKIAkJbm9ybWFsX2kyY1swXSA9IHNldHVwLT5pMmNfYWRkcmVzczsKIAkJY29kZWMtPmh3X3dyaXRlID0gKGh3X3dyaXRlX3QpIGkyY19tYXN0ZXJfc2VuZDsKKwkJY29kZWMtPmh3X3JlYWQgPSAoaHdfcmVhZF90KSBhaWMzeF9pMmNfcmVhZDsKIAkJcmV0ID0gaTJjX2FkZF9kcml2ZXIoJmFpYzN4X2kyY19kcml2ZXIpOwogCQlpZiAocmV0ICE9IDApCiAJCQlwcmludGsoS0VSTl9FUlIgImNhbid0IGFkZCBpMmMgZHJpdmVyIik7CkBAIC0xMjY4LDcgKzEzMTIsNyBAQAogCiAJLyogcG93ZXIgZG93biBjaGlwICovCiAJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCi0JCWFpYzN4X2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMyk7CisJCWFpYzN4X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAogCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CiAJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guaCBiL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guaAppbmRleCBkMGNkZWViLi5kNzZjMDc5IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmgKKysrIGIvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5oCkBAIC0zNyw2ICszNyw4IEBACiAjZGVmaW5lIEFJQzNYX0FTRF9JTlRGX0NUUkxCCQk5CiAvKiBBdWRpbyBvdmVyZmxvdyBzdGF0dXMgYW5kIFBMTCBSIHZhbHVlIHByb2dyYW1taW5nIHJlZ2lzdGVyICovCiAjZGVmaW5lIEFJQzNYX09WUkZfU1RBVFVTX0FORF9QTExSX1JFRwkxMQorLyogQXVkaW8gY29kZWMgZGlnaXRhbCBmaWx0ZXIgY29udHJvbCByZWdpc3RlciAqLworI2RlZmluZSBBSUMzWF9DT0RFQ19ERklMVF9DVFJMCQkxMgogCiAvKiBBREMgUEdBIEdhaW4gY29udHJvbCByZWdpc3RlcnMgKi8KICNkZWZpbmUgTEFEQ19WT0wJCQkxNQpAQCAtMTA4LDYgKzExMCwxMyBAQAogI2RlZmluZSBEQUNSMV8yX1JMT1BNX1ZPTAkJOTIKICNkZWZpbmUgTExPUE1fQ1RSTAkJCTg2CiAjZGVmaW5lIFJMT1BNX0NUUkwJCQk5MworLyogR1BJTy9JUlEgcmVnaXN0ZXJzICovCisjZGVmaW5lIEFJQzNYX1NUSUNLWV9JUlFfRkxBR1NfUkVHCTk2CisjZGVmaW5lIEFJQzNYX1JUX0lSUV9GTEFHU19SRUcJCTk3CisjZGVmaW5lIEFJQzNYX0dQSU8xX1JFRwkJCTk4CisjZGVmaW5lIEFJQzNYX0dQSU8yX1JFRwkJCTk5CisjZGVmaW5lIEFJQzNYX0dQSU9BX1JFRwkJCTEwMAorI2RlZmluZSBBSUMzWF9HUElPQl9SRUcJCQkxMDEKIC8qIENsb2NrIGdlbmVyYXRpb24gY29udHJvbCByZWdpc3RlciAqLwogI2RlZmluZSBBSUMzWF9DTEtHRU5fQ1RSTF9SRUcJCTEwMgogCkBAIC0xMjgsMTIgKzEzNywxNSBAQAogCiAvKiBQTEwgcmVnaXN0ZXJzIGJpdGZpZWxkcyAqLwogI2RlZmluZSBQTExQX1NISUZUCQkwCisjZGVmaW5lIFBMTFFfU0hJRlQJCTMKICNkZWZpbmUgUExMUl9TSElGVAkJMAogI2RlZmluZSBQTExKX1NISUZUCQkyCiAjZGVmaW5lIFBMTERfTVNCX1NISUZUCQkwCiAjZGVmaW5lIFBMTERfTFNCX1NISUZUCQkyCiAKIC8qIENsb2NrIGdlbmVyYXRpb24gcmVnaXN0ZXIgYml0cyAqLworI2RlZmluZSBDT0RFQ19DTEtJTl9QTExESVYJMAorI2RlZmluZSBDT0RFQ19DTEtJTl9DTEtESVYJMQogI2RlZmluZSBQTExfQ0xLSU5fU0hJRlQJCTQKICNkZWZpbmUgTUNMS19TT1VSQ0UJCTB4MAogI2RlZmluZSBQTExfQ0xLRElWX1NISUZUCTAKQEAgLTE3MSwxMSArMTgzLDUyIEBACiAvKiBEZWZhdWx0IGlucHV0IHZvbHVtZSAqLwogI2RlZmluZSBERUZBVUxUX0dBSU4gICAgMHgyMAogCi1zdHJ1Y3QgYWljM3hfc2V0dXBfZGF0YSB7Ci0JdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7CisvKiBHUElPIEFQSSAqLworZW51bSB7CisJQUlDM1hfR1BJTzFfRlVOQ19ESVNBQkxFRAkJPSAwLAorCUFJQzNYX0dQSU8xX0ZVTkNfQVVESU9fV09SRENMS19BREMJPSAxLAorCUFJQzNYX0dQSU8xX0ZVTkNfQ0xPQ0tfTVVYCQk9IDIsCisJQUlDM1hfR1BJTzFfRlVOQ19DTE9DS19NVVhfRElWMgkJPSAzLAorCUFJQzNYX0dQSU8xX0ZVTkNfQ0xPQ0tfTVVYX0RJVjQJCT0gNCwKKwlBSUMzWF9HUElPMV9GVU5DX0NMT0NLX01VWF9ESVY4CQk9IDUsCisJQUlDM1hfR1BJTzFfRlVOQ19TSE9SVF9DSVJDVUlUX0lSUQk9IDYsCisJQUlDM1hfR1BJTzFfRlVOQ19BR0NfTk9JU0VfSVJRCQk9IDcsCisJQUlDM1hfR1BJTzFfRlVOQ19JTlBVVAkJCT0gOCwKKwlBSUMzWF9HUElPMV9GVU5DX09VVFBVVAkJCT0gOSwKKwlBSUMzWF9HUElPMV9GVU5DX0RJR0lUQUxfTUlDX01PRENMSwk9IDEwLAorCUFJQzNYX0dQSU8xX0ZVTkNfQVVESU9fV09SRENMSwkJPSAxMSwKKwlBSUMzWF9HUElPMV9GVU5DX0JVVFRPTl9JUlEJCT0gMTIsCisJQUlDM1hfR1BJTzFfRlVOQ19IRUFEU0VUX0RFVEVDVF9JUlEJPSAxMywKKwlBSUMzWF9HUElPMV9GVU5DX0hFQURTRVRfREVURUNUX09SX0JVVFRPTl9JUlEJPSAxNCwKKwlBSUMzWF9HUElPMV9GVU5DX0FMTF9JUlEJCT0gMTYKIH07CiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgYWljM3hfZGFpOworZW51bSB7CisJQUlDM1hfR1BJTzJfRlVOQ19ESVNBQkxFRAkJPSAwLAorCUFJQzNYX0dQSU8yX0ZVTkNfSEVBRFNFVF9ERVRFQ1RfSVJRCT0gMiwKKwlBSUMzWF9HUElPMl9GVU5DX0lOUFVUCQkJPSAzLAorCUFJQzNYX0dQSU8yX0ZVTkNfT1VUUFVUCQkJPSA0LAorCUFJQzNYX0dQSU8yX0ZVTkNfRElHSVRBTF9NSUNfSU5QVVQJPSA1LAorCUFJQzNYX0dQSU8yX0ZVTkNfQVVESU9fQklUQ0xLCQk9IDgsCisJQUlDM1hfR1BJTzJfRlVOQ19IRUFEU0VUX0RFVEVDVF9PUl9CVVRUT05fSVJRID0gOSwKKwlBSUMzWF9HUElPMl9GVU5DX0FMTF9JUlEJCT0gMTAsCisJQUlDM1hfR1BJTzJfRlVOQ19TSE9SVF9DSVJDVUlUX09SX0FHQ19JUlEgPSAxMSwKKwlBSUMzWF9HUElPMl9GVU5DX0hFQURTRVRfT1JfQlVUVE9OX1BSRVNTX09SX1NIT1JUX0NJUkNVSVRfSVJRID0gMTIsCisJQUlDM1hfR1BJTzJfRlVOQ19TSE9SVF9DSVJDVUlUX0lSUQk9IDEzLAorCUFJQzNYX0dQSU8yX0ZVTkNfQUdDX05PSVNFX0lSUQkJPSAxNCwKKwlBSUMzWF9HUElPMl9GVU5DX0JVVFRPTl9QUkVTU19JUlEJPSAxNQorfTsKKwordm9pZCBhaWMzeF9zZXRfZ3BpbyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBncGlvLCBpbnQgc3RhdGUpOworaW50IGFpYzN4X2dldF9ncGlvKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGdwaW8pOworaW50IGFpYzN4X2hlYWRzZXRfZGV0ZWN0ZWQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKTsKKworc3RydWN0IGFpYzN4X3NldHVwX2RhdGEgeworCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOworCXVuc2lnbmVkIGludCBncGlvX2Z1bmNbMl07Cit9OworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGFpYzN4X2RhaTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9haWMzeDsKIAogI2VuZGlmIC8qIF9BSUMzWF9IICovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3VkYTEzODAuYyBiL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MmQ2ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3VkYTEzODAuYwpAQCAtMCwwICsxLDg1MiBAQAorLyoKKyAqIHVkYTEzODAuYyAtIFBoaWxpcHMgVURBMTM4MCBBTFNBIFNvQyBhdWRpbyBkcml2ZXIKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNyBQaGlsaXBwIFphYmVsIDxwaGlsaXBwLnphYmVsQGdtYWlsLmNvbT4KKyAqIEltcHJvdmVkIHN1cHBvcnQgZm9yIERBUE0gYW5kIGF1ZGlvIHJvdXRpbmcvbWl4aW5nIGNhcGFiaWxpdGllcywKKyAqIGFkZGVkIFRMViBzdXBwb3J0LgorICoKKyAqIE1vZGlmaWVkIGJ5IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkQG9wZW5lZGhhbmQuY29tPiB0byBmaXQgaW50byBTb0MKKyAqIGNvZGVjIG1vZGVsLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNSBHaW9yZ2lvIFBhZHJpbiA8Z2lvcmdpb0BtYW5kYXJpbmxvZ2lxLm9yZz4KKyAqIENvcHlyaWdodCAyMDA1IE9wZW5lZGhhbmQgTHRkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL2NvbnRyb2wuaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvaW5mby5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8c291bmQvdGx2Lmg+CisKKyNpbmNsdWRlICJ1ZGExMzgwLmgiCisKKyNkZWZpbmUgVURBMTM4MF9WRVJTSU9OICIwLjYiCisjZGVmaW5lIEFVRElPX05BTUUgInVkYTEzODAiCisKKy8qCisgKiB1ZGExMzgwIHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBjb25zdCB1MTYgdWRhMTM4MF9yZWdbVURBMTM4MF9DQUNIRVJFR05VTV0gPSB7CisJMHgwNTAyLCAweDAwMDAsIDB4MDAwMCwgMHgzZjNmLAorCTB4MDIwMiwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHhmZjAwLCAweDAwMDAsIDB4NDgwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4ODAwMCwgMHgwMDAyLCAweDAwMDAsCit9OworCisvKgorICogcmVhZCB1ZGExMzgwIHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXVuc2lnbmVkIGludCByZWcpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJaWYgKHJlZyA9PSBVREExMzgwX1JFU0VUKQorCQlyZXR1cm4gMDsKKwlpZiAocmVnID49IFVEQTEzODBfQ0FDSEVSRUdOVU0pCisJCXJldHVybiAtMTsKKwlyZXR1cm4gY2FjaGVbcmVnXTsKK30KKworLyoKKyAqIHdyaXRlIHVkYTEzODAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIHVkYTEzODBfd3JpdGVfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1MTYgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJaWYgKHJlZyA+PSBVREExMzgwX0NBQ0hFUkVHTlVNKQorCQlyZXR1cm47CisJY2FjaGVbcmVnXSA9IHZhbHVlOworfQorCisvKgorICogd3JpdGUgdG8gdGhlIFVEQTEzODAgcmVnaXN0ZXIgc3BhY2UKKyAqLworc3RhdGljIGludCB1ZGExMzgwX3dyaXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IHJlZywKKwl1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTggZGF0YVszXTsKKworCS8qIGRhdGEgaXMKKwkgKiAgIGRhdGFbMF0gaXMgcmVnaXN0ZXIgb2Zmc2V0CisJICogICBkYXRhWzFdIGlzIE1TIGJ5dGUKKwkgKiAgIGRhdGFbMl0gaXMgTFMgYnl0ZQorCSAqLworCWRhdGFbMF0gPSByZWc7CisJZGF0YVsxXSA9ICh2YWx1ZSAmIDB4ZmYwMCkgPj4gODsKKwlkYXRhWzJdID0gdmFsdWUgJiAweDAwZmY7CisKKwl1ZGExMzgwX3dyaXRlX3JlZ19jYWNoZShjb2RlYywgcmVnLCB2YWx1ZSk7CisKKwkvKiB0aGUgaW50ZXJwb2xhdG9yICYgZGVjaW1hdG9yIHJlZ3MgbXVzdCBvbmx5IGJlIHdyaXR0ZW4gd2hlbiB0aGUKKwkgKiBjb2RlYyBEQUkgaXMgYWN0aXZlLgorCSAqLworCWlmICghY29kZWMtPmFjdGl2ZSAmJiAocmVnID49IFVEQTEzODBfTVZPTCkpCisJCXJldHVybiAwOworCXByX2RlYnVnKCJ1ZGExMzgwOiBodyB3cml0ZSAleCB2YWwgJXhcbiIsIHJlZywgdmFsdWUpOworCWlmIChjb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMykgPT0gMykgeworCQl1bnNpZ25lZCBpbnQgdmFsOworCQlpMmNfbWFzdGVyX3NlbmQoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMSk7CisJCWkyY19tYXN0ZXJfcmVjdihjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKKwkJdmFsID0gKGRhdGFbMF08PDgpIHwgZGF0YVsxXTsKKwkJaWYgKHZhbCAhPSB2YWx1ZSkgeworCQkJcHJfZGVidWcoInVkYTEzODA6IFJFQUQgQkFDSyBWQUwgJXhcbiIsCisJCQkJCShkYXRhWzBdPDw4KSB8IGRhdGFbMV0pOworCQkJcmV0dXJuIC1FSU87CisJCX0KKwkJcmV0dXJuIDA7CisJfSBlbHNlCisJCXJldHVybiAtRUlPOworfQorCisjZGVmaW5lIHVkYTEzODBfcmVzZXQoYykJdWRhMTM4MF93cml0ZShjLCBVREExMzgwX1JFU0VULCAwKQorCisvKiBkZWNsYXJhdGlvbnMgb2YgQUxTQSByZWdfZWxlbV9SRUFMIGNvbnRyb2xzICovCitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9kZWVtcFtdID0geworCSJOb25lIiwKKwkiMzJrSHoiLAorCSI0NC4xa0h6IiwKKwkiNDhrSHoiLAorCSI5NmtIeiIsCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfaW5wdXRfc2VsW10gPSB7CisJIkxpbmUiLAorCSJNaWMgKyBMaW5lIFIiLAorCSJMaW5lIEwiLAorCSJNaWMiLAorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX291dHB1dF9zZWxbXSA9IHsKKwkiREFDIiwKKwkiQW5hbG9nIE1peGVyIiwKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9zcGZfbW9kZVtdID0geworCSJGbGF0IiwKKwkiTWluaW11bTEiLAorCSJNaW5pbXVtMiIsCisJIk1heGltdW0iCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfY2FwdHVyZV9zZWxbXSA9IHsKKwkiQURDIiwKKwkiRGlnaXRhbCBNaXhlciIKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9zZWxfbnNbXSA9IHsKKwkiM3JkLW9yZGVyIiwKKwkiNXRoLW9yZGVyIgorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX21peF9jb250cm9sW10gPSB7CisJIm9mZiIsCisJIlBDTSBvbmx5IiwKKwkiYmVmb3JlIHNvdW5kIHByb2Nlc3NpbmciLAorCSJhZnRlciBzb3VuZCBwcm9jZXNzaW5nIgorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX3NkZXRfc2V0dGluZ1tdID0geworCSIzMjAwIiwKKwkiNDgwMCIsCisJIjk2MDAiLAorCSIxOTIwMCIKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9vc19zZXR0aW5nW10gPSB7CisJInNpbmdsZS1zcGVlZCIsCisJImRvdWJsZS1zcGVlZCAobm8gbWl4aW5nKSIsCisJInF1YWQtc3BlZWQgKG5vIG1peGluZykiCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfZGVlbXBfZW51bVtdID0geworCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX0RFRU1QLCA4LCA1LCB1ZGExMzgwX2RlZW1wKSwKKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9ERUVNUCwgMCwgNSwgdWRhMTM4MF9kZWVtcCksCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX2lucHV0X3NlbF9lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9BREMsIDIsIDQsIHVkYTEzODBfaW5wdXRfc2VsKTsJCS8qIFNFTF9NSUMsIFNFTF9MTkEgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9vdXRwdXRfc2VsX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX1BNLCA3LCAyLCB1ZGExMzgwX291dHB1dF9zZWwpOwkJLyogUjAyX0VOX0FWQyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX3NwZl9lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9NT0RFLCAxNCwgNCwgdWRhMTM4MF9zcGZfbW9kZSk7CQkvKiBNICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfY2FwdHVyZV9zZWxfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfSUZBQ0UsIDYsIDIsIHVkYTEzODBfY2FwdHVyZV9zZWwpOwkvKiBTRUxfU09VUkNFICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfc2VsX25zX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX01JWEVSLCAxNCwgMiwgdWRhMTM4MF9zZWxfbnMpOwkJLyogU0VMX05TICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfbWl4X2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX01JWEVSLCAxMiwgNCwgdWRhMTM4MF9taXhfY29udHJvbCk7CS8qIE1JWCwgTUlYX1BPUyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX3NkZXRfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfTUlYRVIsIDQsIDQsIHVkYTEzODBfc2RldF9zZXR0aW5nKTsJLyogU0RfVkFMVUUgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9vc19lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9NSVhFUiwgMCwgMywgdWRhMTM4MF9vc19zZXR0aW5nKTsJLyogT1MgKi8KKworLyoKKyAqIGZyb20gLTQ4IGRCIGluIDEuNSBkQiBzdGVwcyAobXV0ZSBpbnN0ZWFkIG9mIC00OS41IGRCKQorICovCitzdGF0aWMgREVDTEFSRV9UTFZfREJfU0NBTEUoYW1peF90bHYsIC00OTUwLCAxNTAsIDEpOworCisvKgorICogZnJvbSAtNzggZEIgaW4gMSBkQiBzdGVwcyAoMyBkQiBzdGVwcywgcmVhbGx5LiBMU0IgYXJlIGlnbm9yZWQpLAorICogZnJvbSAtNjYgZEIgaW4gMC41IGRCIHN0ZXBzICgyIGRCIHN0ZXBzLCByZWFsbHkpIGFuZAorICogZnJvbSAtNTIgZEIgaW4gMC4yNSBkQiBzdGVwcworICovCitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG12b2xfdGx2W10gPSB7CisJVExWX0RCX1JBTkdFX0hFQUQoMyksCisJMCwgMTUsIFRMVl9EQl9TQ0FMRV9JVEVNKC04MjAwLCAxMDAsIDEpLAorCTE2LCA0MywgVExWX0RCX1NDQUxFX0lURU0oLTY2MDAsIDUwLCAwKSwKKwk0NCwgMjUyLCBUTFZfREJfU0NBTEVfSVRFTSgtNTIwMCwgMjUsIDApLAorfTsKKworLyoKKyAqIGZyb20gLTcyIGRCIGluIDEuNSBkQiBzdGVwcyAoNiBkQiBzdGVwcyByZWFsbHkpLAorICogZnJvbSAtNjYgZEIgaW4gMC43NSBkQiBzdGVwcyAoMyBkQiBzdGVwcyByZWFsbHkpLAorICogZnJvbSAtNjAgZEIgaW4gMC41IGRCIHN0ZXBzICgyIGRCIHN0ZXBzIHJlYWxseSkgYW5kCisgKiBmcm9tIC00NiBkQiBpbiAwLjI1IGRCIHN0ZXBzCisgKi8KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgdmNfdGx2W10gPSB7CisJVExWX0RCX1JBTkdFX0hFQUQoNCksCisJMCwgNywgVExWX0RCX1NDQUxFX0lURU0oLTc4MDAsIDE1MCwgMSksCisJOCwgMTUsIFRMVl9EQl9TQ0FMRV9JVEVNKC02NjAwLCA3NSwgMCksCisJMTYsIDQzLCBUTFZfREJfU0NBTEVfSVRFTSgtNjAwMCwgNTAsIDApLAorCTQ0LCAyMjgsIFRMVl9EQl9TQ0FMRV9JVEVNKC00NjAwLCAyNSwgMCksCit9OworCisvKiBmcm9tIDAgdG8gNiBkQiBpbiAyIGRCIHN0ZXBzIGlmIFNQRiBtb2RlICE9IGZsYXQgKi8KK3N0YXRpYyBERUNMQVJFX1RMVl9EQl9TQ0FMRSh0cl90bHYsIDAsIDIwMCwgMCk7CisKKy8qIGZyb20gMCB0byAyNCBkQiBpbiAyIGRCIHN0ZXBzLCBpZiBTUEYgbW9kZSA9PSBtYXhpbXVtLCBvdGhlcndpc2UgY3V0cworICogb2ZmIGF0IDE4IGRCIG1heCkgKi8KK3N0YXRpYyBERUNMQVJFX1RMVl9EQl9TQ0FMRShiYl90bHYsIDAsIDIwMCwgMCk7CisKKy8qIGZyb20gLTYzIHRvIDI0IGRCIGluIDAuNSBkQiBzdGVwcyAoLTEyOC4uLjQ4KSAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKGRlY190bHYsIC02NDAwLCA1MCwgMSk7CisKKy8qIGZyb20gMCB0byAyNCBkQiBpbiAzIGRCIHN0ZXBzICovCitzdGF0aWMgREVDTEFSRV9UTFZfREJfU0NBTEUocGdhX3RsdiwgMCwgMzAwLCAwKTsKKworLyogZnJvbSAwIHRvIDMwIGRCIGluIDIgZEIgc3RlcHMgKi8KK3N0YXRpYyBERUNMQVJFX1RMVl9EQl9TQ0FMRSh2Z2FfdGx2LCAwLCAyMDAsIDApOworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgdWRhMTM4MF9zbmRfY29udHJvbHNbXSA9IHsKKwlTT0NfRE9VQkxFX1RMVigiQW5hbG9nIE1peGVyIFZvbHVtZSIsIFVEQTEzODBfQU1JWCwgMCwgOCwgNDQsIDEsIGFtaXhfdGx2KSwJLyogQVZDUiwgQVZDTCAqLworCVNPQ19ET1VCTEVfVExWKCJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIiwgVURBMTM4MF9NVk9MLCAwLCA4LCAyNTIsIDEsIG12b2xfdGx2KSwJLyogTVZDTCwgTVZDUiAqLworCVNPQ19TSU5HTEVfVExWKCJBREMgUGxheWJhY2sgVm9sdW1lIiwgVURBMTM4MF9NSVhWT0wsIDgsIDIyOCwgMSwgdmNfdGx2KSwJLyogVkMyICovCisJU09DX1NJTkdMRV9UTFYoIlBDTSBQbGF5YmFjayBWb2x1bWUiLCBVREExMzgwX01JWFZPTCwgMCwgMjI4LCAxLCB2Y190bHYpLAkvKiBWQzEgKi8KKwlTT0NfRU5VTSgiU291bmQgUHJvY2Vzc2luZyBGaWx0ZXIiLCB1ZGExMzgwX3NwZl9lbnVtKSwJCQkJLyogTSAqLworCVNPQ19ET1VCTEVfVExWKCJUb25lIENvbnRyb2wgLSBUcmVibGUiLCBVREExMzgwX01PREUsIDQsIDEyLCAzLCAwLCB0cl90bHYpLCAJLyogVFJMLCBUUlIgKi8KKwlTT0NfRE9VQkxFX1RMVigiVG9uZSBDb250cm9sIC0gQmFzcyIsIFVEQTEzODBfTU9ERSwgMCwgOCwgMTUsIDAsIGJiX3RsdiksCS8qIEJCTCwgQkJSICovCisvKiovCVNPQ19TSU5HTEUoIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCBVREExMzgwX0RFRU1QLCAxNCwgMSwgMSksCQkvKiBNVE0gKi8KKwlTT0NfU0lOR0xFKCJBREMgUGxheWJhY2sgU3dpdGNoIiwgVURBMTM4MF9ERUVNUCwgMTEsIDEsIDEpLAkJLyogTVQyIGZyb20gZGVjaW1hdGlvbiBmaWx0ZXIgKi8KKwlTT0NfRU5VTSgiQURDIFBsYXliYWNrIERlLWVtcGhhc2lzIiwgdWRhMTM4MF9kZWVtcF9lbnVtWzBdKSwJCS8qIERFMiAqLworCVNPQ19TSU5HTEUoIlBDTSBQbGF5YmFjayBTd2l0Y2giLCBVREExMzgwX0RFRU1QLCAzLCAxLCAxKSwJCS8qIE1UMSwgZnJvbSBkaWdpdGFsIGRhdGEgaW5wdXQgKi8KKwlTT0NfRU5VTSgiUENNIFBsYXliYWNrIERlLWVtcGhhc2lzIiwgdWRhMTM4MF9kZWVtcF9lbnVtWzFdKSwJCS8qIERFMSAqLworCVNPQ19TSU5HTEUoIkRBQyBQb2xhcml0eSBpbnZlcnRpbmcgU3dpdGNoIiwgVURBMTM4MF9NSVhFUiwgMTUsIDEsIDApLAkvKiBEQV9QT0xfSU5WICovCisJU09DX0VOVU0oIk5vaXNlIFNoYXBlciIsIHVkYTEzODBfc2VsX25zX2VudW0pLAkJCQkvKiBTRUxfTlMgKi8KKwlTT0NfRU5VTSgiRGlnaXRhbCBNaXhlciBTaWduYWwgQ29udHJvbCIsIHVkYTEzODBfbWl4X2VudW0pLAkJLyogTUlYX1BPUywgTUlYICovCisJU09DX1NJTkdMRSgiU2lsZW5jZSBTd2l0Y2giLCBVREExMzgwX01JWEVSLCA3LCAxLCAwKSwJCQkvKiBTSUxFTkNFLCBmb3JjZSBEQUMgb3V0cHV0IHRvIHNpbGVuY2UgKi8KKwlTT0NfU0lOR0xFKCJTaWxlbmNlIERldGVjdG9yIFN3aXRjaCIsIFVEQTEzODBfTUlYRVIsIDYsIDEsIDApLAkJLyogU0RFVF9PTiAqLworCVNPQ19FTlVNKCJTaWxlbmNlIERldGVjdG9yIFNldHRpbmciLCB1ZGExMzgwX3NkZXRfZW51bSksCQkvKiBTRF9WQUxVRSAqLworCVNPQ19FTlVNKCJPdmVyc2FtcGxpbmcgSW5wdXQiLCB1ZGExMzgwX29zX2VudW0pLAkJCS8qIE9TICovCisJU09DX0RPVUJMRV9TOF9UTFYoIkFEQyBDYXB0dXJlIFZvbHVtZSIsIFVEQTEzODBfREVDLCAtMTI4LCA0OCwgZGVjX3RsdiksCS8qIE1MX0RFQywgTVJfREVDICovCisvKiovCVNPQ19TSU5HTEUoIkFEQyBDYXB0dXJlIFN3aXRjaCIsIFVEQTEzODBfUEdBLCAxNSwgMSwgMSksCQkvKiBNVF9BREMgKi8KKwlTT0NfRE9VQkxFX1RMVigiTGluZSBDYXB0dXJlIFZvbHVtZSIsIFVEQTEzODBfUEdBLCAwLCA4LCA4LCAwLCBwZ2FfdGx2KSwgLyogUEdBX0dBSU5DVFJMTCwgUEdBX0dBSU5DVFJMUiAqLworCVNPQ19TSU5HTEUoIkFEQyBQb2xhcml0eSBpbnZlcnRpbmcgU3dpdGNoIiwgVURBMTM4MF9BREMsIDEyLCAxLCAwKSwJLyogQURDUE9MX0lOViAqLworCVNPQ19TSU5HTEVfVExWKCJNaWMgQ2FwdHVyZSBWb2x1bWUiLCBVREExMzgwX0FEQywgOCwgMTUsIDAsIHZnYV90bHYpLAkvKiBWR0FfQ1RSTCAqLworCVNPQ19TSU5HTEUoIkRDIEZpbHRlciBCeXBhc3MgU3dpdGNoIiwgVURBMTM4MF9BREMsIDEsIDEsIDApLAkJLyogU0tJUF9EQ0ZJTCAoYmVmb3JlIGRlY2ltYXRvcikgKi8KKwlTT0NfU0lOR0xFKCJEQyBGaWx0ZXIgRW5hYmxlIFN3aXRjaCIsIFVEQTEzODBfQURDLCAwLCAxLCAwKSwJCS8qIEVOX0RDRklMIChhdCBvdXRwdXQgb2YgZGVjaW1hdG9yKSAqLworCVNPQ19TSU5HTEUoIkFHQyBUaW1pbmciLCBVREExMzgwX0FHQywgOCwgNywgMCksCQkJLyogVE9ETzogZW51bSwgc2VlIHRhYmxlIDYyICovCisJU09DX1NJTkdMRSgiQUdDIFRhcmdldCBsZXZlbCIsIFVEQTEzODBfQUdDLCAyLCAzLCAxKSwJCQkvKiBBR0NfTEVWRUwgKi8KKwkvKiAtNS41LCAtOCwgLTExLjUsIC0xNCBkQkZTICovCisJU09DX1NJTkdMRSgiQUdDIFN3aXRjaCIsIFVEQTEzODBfQUdDLCAwLCAxLCAwKSwKK307CisKKy8qIGFkZCBub24gZGFwbSBjb250cm9scyAqLworc3RhdGljIGludCB1ZGExMzgwX2FkZF9jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJaW50IGVyciwgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHVkYTEzODBfc25kX2NvbnRyb2xzKTsgaSsrKSB7CisJCWVyciA9IHNuZF9jdGxfYWRkKGNvZGVjLT5jYXJkLAorCQkJc25kX3NvY19jbmV3KCZ1ZGExMzgwX3NuZF9jb250cm9sc1tpXSwgY29kZWMsIE5VTEwpKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKworCXJldHVybiAwOworfQorCisvKiBJbnB1dCBtdXggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1ZGExMzgwX2lucHV0X211eF9jb250cm9sID0KKwlTT0NfREFQTV9FTlVNKCJSb3V0ZSIsIHVkYTEzODBfaW5wdXRfc2VsX2VudW0pOworCisvKiBPdXRwdXQgbXV4ICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgdWRhMTM4MF9vdXRwdXRfbXV4X2NvbnRyb2wgPQorCVNPQ19EQVBNX0VOVU0oIlJvdXRlIiwgdWRhMTM4MF9vdXRwdXRfc2VsX2VudW0pOworCisvKiBDYXB0dXJlIG11eCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHVkYTEzODBfY2FwdHVyZV9tdXhfY29udHJvbCA9CisJU09DX0RBUE1fRU5VTSgiUm91dGUiLCB1ZGExMzgwX2NhcHR1cmVfc2VsX2VudW0pOworCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCB1ZGExMzgwX2RhcG1fd2lkZ2V0c1tdID0geworCVNORF9TT0NfREFQTV9NVVgoIklucHV0IE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJnVkYTEzODBfaW5wdXRfbXV4X2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9NVVgoIk91dHB1dCBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZ1ZGExMzgwX291dHB1dF9tdXhfY29udHJvbCksCisJU05EX1NPQ19EQVBNX01VWCgiQ2FwdHVyZSBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZ1ZGExMzgwX2NhcHR1cmVfbXV4X2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9QR0EoIkxlZnQgUEdBIiwgVURBMTM4MF9QTSwgMywgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiUmlnaHQgUEdBIiwgVURBMTM4MF9QTSwgMSwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiTWljIExOQSIsIFVEQTEzODBfUE0sIDQsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9BREMoIkxlZnQgQURDIiwgIkxlZnQgQ2FwdHVyZSIsIFVEQTEzODBfUE0sIDIsIDApLAorCVNORF9TT0NfREFQTV9BREMoIlJpZ2h0IEFEQyIsICJSaWdodCBDYXB0dXJlIiwgVURBMTM4MF9QTSwgMCwgMCksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJWSU5NIiksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJWSU5MIiksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJWSU5SIiksCisJU05EX1NPQ19EQVBNX01JWEVSKCJBbmFsb2cgTWl4ZXIiLCBVREExMzgwX1BNLCA2LCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJWT1VUTEhQIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiVk9VVFJIUCIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIlZPVVRMIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiVk9VVFIiKSwKKwlTTkRfU09DX0RBUE1fREFDKCJEQUMiLCAiUGxheWJhY2siLCBVREExMzgwX1BNLCAxMCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiSGVhZFBob25lIERyaXZlciIsIFVEQTEzODBfUE0sIDEzLCAwLCBOVUxMLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0geworCisJLyogb3V0cHV0IG11eCAqLworCXsiSGVhZFBob25lIERyaXZlciIsIE5VTEwsICJPdXRwdXQgTXV4In0sCisJeyJWT1VUUiIsIE5VTEwsICJPdXRwdXQgTXV4In0sCisJeyJWT1VUTCIsIE5VTEwsICJPdXRwdXQgTXV4In0sCisKKwl7IkFuYWxvZyBNaXhlciIsIE5VTEwsICJWSU5SIn0sCisJeyJBbmFsb2cgTWl4ZXIiLCBOVUxMLCAiVklOTCJ9LAorCXsiQW5hbG9nIE1peGVyIiwgTlVMTCwgIkRBQyJ9LAorCisJeyJPdXRwdXQgTXV4IiwgIkRBQyIsICJEQUMifSwKKwl7Ik91dHB1dCBNdXgiLCAiQW5hbG9nIE1peGVyIiwgIkFuYWxvZyBNaXhlciJ9LAorCisJLyogeyJEQUMiLCAiRGlnaXRhbCBNaXhlciIsICJJMlMiIH0gKi8KKworCS8qIGhlYWRwaG9uZSBkcml2ZXIgKi8KKwl7IlZPVVRMSFAiLCBOVUxMLCAiSGVhZFBob25lIERyaXZlciJ9LAorCXsiVk9VVFJIUCIsIE5VTEwsICJIZWFkUGhvbmUgRHJpdmVyIn0sCisKKwkvKiBpbnB1dCBtdXggKi8KKwl7IkxlZnQgQURDIiwgTlVMTCwgIklucHV0IE11eCJ9LAorCXsiSW5wdXQgTXV4IiwgIk1pYyIsICJNaWMgTE5BIn0sCisJeyJJbnB1dCBNdXgiLCAiTWljICsgTGluZSBSIiwgIk1pYyBMTkEifSwKKwl7IklucHV0IE11eCIsICJMaW5lIEwiLCAiTGVmdCBQR0EifSwKKwl7IklucHV0IE11eCIsICJMaW5lIiwgIkxlZnQgUEdBIn0sCisKKwkvKiByaWdodCBpbnB1dCAqLworCXsiUmlnaHQgQURDIiwgIk1pYyArIExpbmUgUiIsICJSaWdodCBQR0EifSwKKwl7IlJpZ2h0IEFEQyIsICJMaW5lIiwgIlJpZ2h0IFBHQSJ9LAorCisJLyogaW5wdXRzICovCisJeyJNaWMgTE5BIiwgTlVMTCwgIlZJTk0ifSwKKwl7IkxlZnQgUEdBIiwgTlVMTCwgIlZJTkwifSwKKwl7IlJpZ2h0IFBHQSIsIE5VTEwsICJWSU5SIn0sCit9OworCitzdGF0aWMgaW50IHVkYTEzODBfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHVkYTEzODBfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh1ZGExMzgwX2RhcG1fd2lkZ2V0cykpOworCisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKKworCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJdW5zaWduZWQgaW50IGZtdCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCWludCBpZmFjZTsKKworCS8qIHNldCB1cCBEQUkgYmFzZWQgdXBvbiBmbXQgKi8KKwlpZmFjZSA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfSUZBQ0UpOworCWlmYWNlICY9IH4oUjAxX1NGT1JJX01BU0sgfCBSMDFfU0lNIHwgUjAxX1NGT1JPX01BU0spOworCisJLyogRklYTUU6IGhvdyB0byBzZWxlY3QgSTJTIGZvciBEQVRBTyBhbmQgTVNCIGZvciBEQVRBSSBjb3JyZWN0bHk/ICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQlpZmFjZSB8PSBSMDFfU0ZPUklfSTJTIHwgUjAxX1NGT1JPX0kyUzsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9MU0I6CisJCWlmYWNlIHw9IFIwMV9TRk9SSV9MU0IxNiB8IFIwMV9TRk9ST19JMlM7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTVNCOgorCQlpZmFjZSB8PSBSMDFfU0ZPUklfTVNCIHwgUjAxX1NGT1JPX0kyUzsKKwl9CisKKwlpZiAoKGZtdCAmIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSA9PSBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKQorCQlpZmFjZSB8PSBSMDFfU0lNOworCisJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9JRkFDRSwgaWZhY2UpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBGbHVzaCByZWcgY2FjaGUKKyAqIFdlIGNhbiBvbmx5IHdyaXRlIHRoZSBpbnRlcnBvbGF0b3IgYW5kIGRlY2ltYXRvciByZWdpc3RlcnMKKyAqIHdoZW4gdGhlIERBSSBpcyBiZWluZyBjbG9ja2VkIGJ5IHRoZSBDUFUgREFJLiBJdCdzIHVwIHRvIHRoZQorICogbWFjaGluZSBhbmQgY3B1IERBSSBkcml2ZXIgdG8gZG8gdGhpcyBiZWZvcmUgd2UgYXJlIGNhbGxlZC4KKyAqLworc3RhdGljIGludCB1ZGExMzgwX3BjbV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJaW50IHJlZywgcmVnX3N0YXJ0LCByZWdfZW5kLCBjbGs7CisKKwlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykgeworCQlyZWdfc3RhcnQgPSBVREExMzgwX01WT0w7CisJCXJlZ19lbmQgPSBVREExMzgwX01JWEVSOworCX0gZWxzZSB7CisJCXJlZ19zdGFydCA9IFVEQTEzODBfREVDOworCQlyZWdfZW5kID0gVURBMTM4MF9BR0M7CisJfQorCisJLyogRklYTUUgZGlzYWJsZSBEQUNfQ0xLICovCisJY2xrID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9DTEspOworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBjbGsgJiB+UjAwX0RBQ19DTEspOworCisJZm9yIChyZWcgPSByZWdfc3RhcnQ7IHJlZyA8PSByZWdfZW5kOyByZWcrKykgeworCQlwcl9kZWJ1ZygidWRhMTM4MDogZmx1c2ggcmVnICV4IHZhbCAleDoiLCByZWcsCisJCQkJdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgcmVnKSk7CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIHJlZywgdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgcmVnKSk7CisJfQorCisJLyogRklYTUUgZW5hYmxlIERBQ19DTEsgKi8KKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgY2xrIHwgUjAwX0RBQ19DTEspOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJdTE2IGNsayA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfQ0xLKTsKKworCS8qIHNldCBXU1BMTCBwb3dlciBhbmQgZGl2aWRlciBpZiBydW5uaW5nIGZyb20gdGhpcyBjbG9jayAqLworCWlmIChjbGsgJiBSMDBfREFDX0NMSykgeworCQlpbnQgcmF0ZSA9IHBhcmFtc19yYXRlKHBhcmFtcyk7CisJCXUxNiBwbSA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfUE0pOworCQljbGsgJj0gfjB4MzsgLyogY2xlYXIgU0VMX0xPT1BfRElWICovCisJCXN3aXRjaCAocmF0ZSkgeworCQljYXNlIDYyNTAgLi4uIDEyNTAwOgorCQkJY2xrIHw9IDB4MDsKKwkJCWJyZWFrOworCQljYXNlIDEyNTAxIC4uLiAyNTAwMDoKKwkJCWNsayB8PSAweDE7CisJCQlicmVhazsKKwkJY2FzZSAyNTAwMSAuLi4gNTAwMDA6CisJCQljbGsgfD0gMHgyOworCQkJYnJlYWs7CisJCWNhc2UgNTAwMDEgLi4uIDEwMDAwMDoKKwkJCWNsayB8PSAweDM7CisJCQlicmVhazsKKwkJfQorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX1BNLCBSMDJfUE9OX1BMTCB8IHBtKTsKKwl9CisKKwlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKKwkJY2xrIHw9IFIwMF9FTl9EQUMgfCBSMDBfRU5fSU5UOworCWVsc2UKKwkJY2xrIHw9IFIwMF9FTl9BREMgfCBSMDBfRU5fREVDOworCisJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIGNsayk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHVkYTEzODBfcGNtX3NodXRkb3duKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJdTE2IGNsayA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfQ0xLKTsKKworCS8qIHNodXQgZG93biBXU1BMTCBwb3dlciBpZiBydW5uaW5nIGZyb20gdGhpcyBjbG9jayAqLworCWlmIChjbGsgJiBSMDBfREFDX0NMSykgeworCQl1MTYgcG0gPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX1BNKTsKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9QTSwgflIwMl9QT05fUExMICYgcG0pOworCX0KKworCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQorCQljbGsgJj0gfihSMDBfRU5fREFDIHwgUjAwX0VOX0lOVCk7CisJZWxzZQorCQljbGsgJj0gfihSMDBfRU5fQURDIHwgUjAwX0VOX0RFQyk7CisKKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgY2xrKTsKK30KKworc3RhdGljIGludCB1ZGExMzgwX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksIGludCBtdXRlKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IG11dGVfcmVnID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9ERUVNUCkgJiB+UjEzX01UTTsKKworCS8qIEZJWE1FOiBtdXRlKGNvZGVjLDApIGlzIGNhbGxlZCB3aGVuIHRoZSBtYWdpY2lhbiBjbG9jayBpcyBhbHJlYWR5CisJICogc2V0IHRvIFdTUExMLCBidXQgZm9yIHNvbWUgdW5rbm93biByZWFzb24gd3JpdGluZyB0byBpbnRlcnBvbGF0b3IKKwkgKiByZWdpc3RlcnMgd29ya3Mgb25seSB3aGVuIGNsb2NrZWQgYnkgU1lTQ0xLICovCisJdTE2IGNsayA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfQ0xLKTsKKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgflIwMF9EQUNfQ0xLICYgY2xrKTsKKwlpZiAobXV0ZSkKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9ERUVNUCwgbXV0ZV9yZWcgfCBSMTNfTVRNKTsKKwllbHNlCisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfREVFTVAsIG11dGVfcmVnKTsKKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgY2xrKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKK3sKKwlpbnQgcG0gPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX1BNKTsKKworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX1BNLCBSMDJfUE9OX0JJQVMgfCBwbSk7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIFIwMl9QT05fQklBUyk7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9QTSwgMHgwKTsKKwkJYnJlYWs7CisJfQorCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgVURBMTM4MF9SQVRFUyAoU05EUlZfUENNX1JBVEVfODAwMCB8IFNORFJWX1BDTV9SQVRFXzExMDI1IHxcCisJCSAgICAgICBTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFNORFJWX1BDTV9SQVRFXzIyMDUwIHxcCisJCSAgICAgICBTTkRSVl9QQ01fUkFURV80NDEwMCB8IFNORFJWX1BDTV9SQVRFXzQ4MDAwKQorCitzdHJ1Y3Qgc25kX3NvY19kYWkgdWRhMTM4MF9kYWlbXSA9IHsKK3sKKwkubmFtZSA9ICJVREExMzgwIiwKKwkucGxheWJhY2sgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gVURBMTM4MF9SQVRFUywKKwkJLmZvcm1hdHMgPSBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSx9LAorCS5jYXB0dXJlID0geworCQkuc3RyZWFtX25hbWUgPSAiQ2FwdHVyZSIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gVURBMTM4MF9SQVRFUywKKwkJLmZvcm1hdHMgPSBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSx9LAorCS5vcHMgPSB7CisJCS5od19wYXJhbXMgPSB1ZGExMzgwX3BjbV9od19wYXJhbXMsCisJCS5zaHV0ZG93biA9IHVkYTEzODBfcGNtX3NodXRkb3duLAorCQkucHJlcGFyZSA9IHVkYTEzODBfcGNtX3ByZXBhcmUsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLmRpZ2l0YWxfbXV0ZSA9IHVkYTEzODBfbXV0ZSwKKwkJLnNldF9mbXQgPSB1ZGExMzgwX3NldF9kYWlfZm10LAorCX0sCit9LAoreyAvKiBwbGF5YmFjayBvbmx5IC0gZHVhbCBpbnRlcmZhY2UgKi8KKwkubmFtZSA9ICJVREExMzgwIiwKKwkucGxheWJhY2sgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gVURBMTM4MF9SQVRFUywKKwkJLmZvcm1hdHMgPSBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSwKKwl9LAorCS5vcHMgPSB7CisJCS5od19wYXJhbXMgPSB1ZGExMzgwX3BjbV9od19wYXJhbXMsCisJCS5zaHV0ZG93biA9IHVkYTEzODBfcGNtX3NodXRkb3duLAorCQkucHJlcGFyZSA9IHVkYTEzODBfcGNtX3ByZXBhcmUsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLmRpZ2l0YWxfbXV0ZSA9IHVkYTEzODBfbXV0ZSwKKwkJLnNldF9mbXQgPSB1ZGExMzgwX3NldF9kYWlfZm10LAorCX0sCit9LAoreyAvKiBjYXB0dXJlIG9ubHkgLSBkdWFsIGludGVyZmFjZSovCisJLm5hbWUgPSAiVURBMTM4MCIsCisJLmNhcHR1cmUgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJDYXB0dXJlIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBVREExMzgwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLAorCX0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IHVkYTEzODBfcGNtX2h3X3BhcmFtcywKKwkJLnNodXRkb3duID0gdWRhMTM4MF9wY21fc2h1dGRvd24sCisJCS5wcmVwYXJlID0gdWRhMTM4MF9wY21fcHJlcGFyZSwKKwl9LAorCS5kYWlfb3BzID0geworCQkuc2V0X2ZtdCA9IHVkYTEzODBfc2V0X2RhaV9mbXQsCisJfSwKK30sCit9OworRVhQT1JUX1NZTUJPTF9HUEwodWRhMTM4MF9kYWkpOworCitzdGF0aWMgaW50IHVkYTEzODBfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJdWRhMTM4MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJaW50IGk7CisJdTggZGF0YVsyXTsKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKworCS8qIFN5bmMgcmVnX2NhY2hlIHdpdGggdGhlIGhhcmR3YXJlICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodWRhMTM4MF9yZWcpOyBpKyspIHsKKwkJZGF0YVswXSA9IChpIDw8IDEpIHwgKChjYWNoZVtpXSA+PiA4KSAmIDB4MDAwMSk7CisJCWRhdGFbMV0gPSBjYWNoZVtpXSAmIDB4MDBmZjsKKwkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOworCX0KKwl1ZGExMzgwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJdWRhMTM4MF9zZXRfYmlhc19sZXZlbChjb2RlYywgY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBpbml0aWFsaXNlIHRoZSBVREExMzgwIGRyaXZlcgorICogcmVnaXN0ZXIgbWl4ZXIgYW5kIGRzcCBpbnRlcmZhY2VzIHdpdGggdGhlIGtlcm5lbAorICovCitzdGF0aWMgaW50IHVkYTEzODBfaW5pdChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiwgaW50IGRhY19jbGspCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgcmV0ID0gMDsKKworCWNvZGVjLT5uYW1lID0gIlVEQTEzODAiOworCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOworCWNvZGVjLT5yZWFkID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZTsKKwljb2RlYy0+d3JpdGUgPSB1ZGExMzgwX3dyaXRlOworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHVkYTEzODBfc2V0X2JpYXNfbGV2ZWw7CisJY29kZWMtPmRhaSA9IHVkYTEzODBfZGFpOworCWNvZGVjLT5udW1fZGFpID0gQVJSQVlfU0laRSh1ZGExMzgwX2RhaSk7CisJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAodWRhMTM4MF9yZWcsIHNpemVvZih1ZGExMzgwX3JlZyksCisJCQkJICAgR0ZQX0tFUk5FTCk7CisJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRSh1ZGExMzgwX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZV9zdGVwID0gMTsKKwl1ZGExMzgwX3Jlc2V0KGNvZGVjKTsKKworCS8qIHJlZ2lzdGVyIHBjbXMgKi8KKwlyZXQgPSBzbmRfc29jX25ld19wY21zKHNvY2RldiwgU05EUlZfREVGQVVMVF9JRFgxLCBTTkRSVl9ERUZBVUxUX1NUUjEpOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigidWRhMTM4MDogZmFpbGVkIHRvIGNyZWF0ZSBwY21zXG4iKTsKKwkJZ290byBwY21fZXJyOworCX0KKworCS8qIHBvd2VyIG9uIGRldmljZSAqLworCXVkYTEzODBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwkvKiBzZXQgY2xvY2sgaW5wdXQgKi8KKwlzd2l0Y2ggKGRhY19jbGspIHsKKwljYXNlIFVEQTEzODBfREFDX0NMS19TWVNDTEs6CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBVREExMzgwX0RBQ19DTEtfV1NQTEw6CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBSMDBfREFDX0NMSyk7CisJCWJyZWFrOworCX0KKworCS8qIHVkYTEzODAgaW5pdCAqLworCXVkYTEzODBfYWRkX2NvbnRyb2xzKGNvZGVjKTsKKwl1ZGExMzgwX2FkZF93aWRnZXRzKGNvZGVjKTsKKwlyZXQgPSBzbmRfc29jX3JlZ2lzdGVyX2NhcmQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoInVkYTEzODA6IGZhaWxlZCB0byByZWdpc3RlciBjYXJkXG4iKTsKKwkJZ290byBjYXJkX2VycjsKKwl9CisKKwlyZXR1cm4gcmV0OworCitjYXJkX2VycjoKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CitwY21fZXJyOgorCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnVkYTEzODBfc29jZGV2OworCisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCisjZGVmaW5lIEkyQ19EUklWRVJJRF9VREExMzgwIDB4ZmVmZSAvKiBsaWFtIC0gIG5lZWQgYSBwcm9wZXIgaWQgKi8KKworc3RhdGljIHVuc2lnbmVkIHNob3J0IG5vcm1hbF9pMmNbXSA9IHsgMCwgSTJDX0NMSUVOVF9FTkQgfTsKKworLyogTWFnaWMgZGVmaW5pdGlvbiBvZiBhbGwgb3RoZXIgdmFyaWFibGVzIGFuZCB0aGluZ3MgKi8KK0kyQ19DTElFTlRfSU5TTU9EOworCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgdWRhMTM4MF9pMmNfZHJpdmVyOworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZTsKKworLyogSWYgdGhlIGkyYyBsYXllciB3ZXJlbid0IHNvIGJyb2tlbiwgd2UgY291bGQgcGFzcyB0aGlzIGtpbmQgb2YgZGF0YQorICAgYXJvdW5kICovCisKK3N0YXRpYyBpbnQgdWRhMTM4MF9jb2RlY19wcm9iZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIGludCBhZGRyLCBpbnQga2luZCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHVkYTEzODBfc29jZGV2OworCXN0cnVjdCB1ZGExMzgwX3NldHVwX2RhdGEgKnNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IGkyY19jbGllbnQgKmkyYzsKKwlpbnQgcmV0OworCisJaWYgKGFkZHIgIT0gc2V0dXAtPmkyY19hZGRyZXNzKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNsaWVudF90ZW1wbGF0ZS5hZGFwdGVyID0gYWRhcDsKKwljbGllbnRfdGVtcGxhdGUuYWRkciA9IGFkZHI7CisKKwlpMmMgPSBrbWVtZHVwKCZjbGllbnRfdGVtcGxhdGUsIHNpemVvZihjbGllbnRfdGVtcGxhdGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoaTJjID09IE5VTEwpIHsKKwkJa2ZyZWUoY29kZWMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJaTJjX3NldF9jbGllbnRkYXRhKGkyYywgY29kZWMpOworCWNvZGVjLT5jb250cm9sX2RhdGEgPSBpMmM7CisKKwlyZXQgPSBpMmNfYXR0YWNoX2NsaWVudChpMmMpOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigidWRhMTM4MDogZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKKwkJZ290byBlcnI7CisJfQorCisJcmV0ID0gdWRhMTM4MF9pbml0KHNvY2Rldiwgc2V0dXAtPmRhY19jbGspOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigidWRhMTM4MDogZmFpbGVkIHRvIGluaXRpYWxpc2UgVURBMTM4MFxuIik7CisJCWdvdG8gZXJyOworCX0KKwlyZXR1cm4gcmV0OworCitlcnI6CisJa2ZyZWUoY29kZWMpOworCWtmcmVlKGkyYyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX2kyY19kZXRhY2goc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOworCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCWtmcmVlKGNsaWVudCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9pMmNfYXR0YWNoKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlyZXR1cm4gaTJjX3Byb2JlKGFkYXAsICZhZGRyX2RhdGEsIHVkYTEzODBfY29kZWNfcHJvYmUpOworfQorCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgdWRhMTM4MF9pMmNfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gICJVREExMzgwIEkyQyBDb2RlYyIsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCX0sCisJLmlkID0gICAgICAgICAgICAgSTJDX0RSSVZFUklEX1VEQTEzODAsCisJLmF0dGFjaF9hZGFwdGVyID0gdWRhMTM4MF9pMmNfYXR0YWNoLAorCS5kZXRhY2hfY2xpZW50ID0gIHVkYTEzODBfaTJjX2RldGFjaCwKKwkuY29tbWFuZCA9ICAgICAgICBOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZSA9IHsKKwkubmFtZSA9ICAgIlVEQTEzODAiLAorCS5kcml2ZXIgPSAmdWRhMTM4MF9pMmNfZHJpdmVyLAorfTsKKyNlbmRpZgorCitzdGF0aWMgaW50IHVkYTEzODBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCB1ZGExMzgwX3NldHVwX2RhdGEgKnNldHVwOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYzsKKwlpbnQgcmV0ID0gMDsKKworCXByX2luZm8oIlVEQTEzODAgQXVkaW8gQ29kZWMgJXMiLCBVREExMzgwX1ZFUlNJT04pOworCisJc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOworCWlmIChjb2RlYyA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXNvY2Rldi0+Y29kZWMgPSBjb2RlYzsKKwltdXRleF9pbml0KCZjb2RlYy0+bXV0ZXgpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV93aWRnZXRzKTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fcGF0aHMpOworCisJdWRhMTM4MF9zb2NkZXYgPSBzb2NkZXY7CisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWlmIChzZXR1cC0+aTJjX2FkZHJlc3MpIHsKKwkJbm9ybWFsX2kyY1swXSA9IHNldHVwLT5pMmNfYWRkcmVzczsKKwkJY29kZWMtPmh3X3dyaXRlID0gKGh3X3dyaXRlX3QpaTJjX21hc3Rlcl9zZW5kOworCQlyZXQgPSBpMmNfYWRkX2RyaXZlcigmdWRhMTM4MF9pMmNfZHJpdmVyKTsKKwkJaWYgKHJldCAhPSAwKQorCQkJcHJpbnRrKEtFUk5fRVJSICJjYW4ndCBhZGQgaTJjIGRyaXZlciIpOworCX0KKyNlbHNlCisJLyogQWRkIG90aGVyIGludGVyZmFjZXMgaGVyZSAqLworI2VuZGlmCisJcmV0dXJuIHJldDsKK30KKworLyogcG93ZXIgZG93biBjaGlwICovCitzdGF0aWMgaW50IHVkYTEzODBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCisJCXVkYTEzODBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpMmNfZGVsX2RyaXZlcigmdWRhMTM4MF9pMmNfZHJpdmVyKTsKKyNlbmRpZgorCWtmcmVlKGNvZGVjKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl91ZGExMzgwID0geworCS5wcm9iZSA9IAl1ZGExMzgwX3Byb2JlLAorCS5yZW1vdmUgPSAJdWRhMTM4MF9yZW1vdmUsCisJLnN1c3BlbmQgPSAJdWRhMTM4MF9zdXNwZW5kLAorCS5yZXN1bWUgPQl1ZGExMzgwX3Jlc3VtZSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChzb2NfY29kZWNfZGV2X3VkYTEzODApOworCitNT0RVTEVfQVVUSE9SKCJHaW9yZ2lvIFBhZHJpbiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdWRpbyBzdXBwb3J0IGZvciBjb2RlYyBQaGlsaXBzIFVEQTEzODAiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5oIGIvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBjNjAzZQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5oCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBBdWRpbyBzdXBwb3J0IGZvciBQaGlsaXBzIFVEQTEzODAKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNSBHaW9yZ2lvIFBhZHJpbiA8Z2lvcmdpb0BtYW5kYXJpbmxvZ2lxLm9yZz4KKyAqLworCisjaWZuZGVmIF9VREExMzgwX0gKKyNkZWZpbmUgX1VEQTEzODBfSAorCisjZGVmaW5lIFVEQTEzODBfQ0xLCTB4MDAKKyNkZWZpbmUgVURBMTM4MF9JRkFDRQkweDAxCisjZGVmaW5lIFVEQTEzODBfUE0JMHgwMgorI2RlZmluZSBVREExMzgwX0FNSVgJMHgwMworI2RlZmluZSBVREExMzgwX0hQCTB4MDQKKyNkZWZpbmUgVURBMTM4MF9NVk9MCTB4MTAKKyNkZWZpbmUgVURBMTM4MF9NSVhWT0wJMHgxMQorI2RlZmluZSBVREExMzgwX01PREUJMHgxMgorI2RlZmluZSBVREExMzgwX0RFRU1QCTB4MTMKKyNkZWZpbmUgVURBMTM4MF9NSVhFUgkweDE0CisjZGVmaW5lIFVEQTEzODBfSU5UU1RBVAkweDE4CisjZGVmaW5lIFVEQTEzODBfREVDCTB4MjAKKyNkZWZpbmUgVURBMTM4MF9QR0EJMHgyMQorI2RlZmluZSBVREExMzgwX0FEQwkweDIyCisjZGVmaW5lIFVEQTEzODBfQUdDCTB4MjMKKyNkZWZpbmUgVURBMTM4MF9ERUNTVEFUCTB4MjgKKyNkZWZpbmUgVURBMTM4MF9SRVNFVAkweDdmCisKKyNkZWZpbmUgVURBMTM4MF9DQUNIRVJFR05VTSAweDI0CisKKy8qIFJlZ2lzdGVyIGZsYWdzICovCisjZGVmaW5lIFIwMF9FTl9BREMJMHgwODAwCisjZGVmaW5lIFIwMF9FTl9ERUMJMHgwNDAwCisjZGVmaW5lIFIwMF9FTl9EQUMJMHgwMjAwCisjZGVmaW5lIFIwMF9FTl9JTlQJMHgwMTAwCisjZGVmaW5lIFIwMF9EQUNfQ0xLCTB4MDAxMAorI2RlZmluZSBSMDFfU0ZPUklfSTJTICAgMHgwMDAwCisjZGVmaW5lIFIwMV9TRk9SSV9MU0IxNiAweDAxMDAKKyNkZWZpbmUgUjAxX1NGT1JJX0xTQjE4IDB4MDIwMAorI2RlZmluZSBSMDFfU0ZPUklfTFNCMjAgMHgwMzAwCisjZGVmaW5lIFIwMV9TRk9SSV9NU0IgICAweDA1MDAKKyNkZWZpbmUgUjAxX1NGT1JJX01BU0sgIDB4MDcwMAorI2RlZmluZSBSMDFfU0ZPUk9fSTJTICAgMHgwMDAwCisjZGVmaW5lIFIwMV9TRk9ST19MU0IxNiAweDAwMDEKKyNkZWZpbmUgUjAxX1NGT1JPX0xTQjE4IDB4MDAwMgorI2RlZmluZSBSMDFfU0ZPUk9fTFNCMjAgMHgwMDAzCisjZGVmaW5lIFIwMV9TRk9ST19MU0IyNCAweDAwMDQKKyNkZWZpbmUgUjAxX1NGT1JPX01TQiAgIDB4MDAwNQorI2RlZmluZSBSMDFfU0ZPUk9fTUFTSyAgMHgwMDA3CisjZGVmaW5lIFIwMV9TRUxfU09VUkNFICAweDAwNDAKKyNkZWZpbmUgUjAxX1NJTQkJMHgwMDEwCisjZGVmaW5lIFIwMl9QT05fUExMCTB4ODAwMAorI2RlZmluZSBSMDJfUE9OX0hQCTB4MjAwMAorI2RlZmluZSBSMDJfUE9OX0RBQwkweDA0MDAKKyNkZWZpbmUgUjAyX1BPTl9CSUFTCTB4MDEwMAorI2RlZmluZSBSMDJfRU5fQVZDCTB4MDA4MAorI2RlZmluZSBSMDJfUE9OX0FWQwkweDAwNDAKKyNkZWZpbmUgUjAyX1BPTl9MTkEJMHgwMDEwCisjZGVmaW5lIFIwMl9QT05fUEdBTAkweDAwMDgKKyNkZWZpbmUgUjAyX1BPTl9BRENMCTB4MDAwNAorI2RlZmluZSBSMDJfUE9OX1BHQVIJMHgwMDAyCisjZGVmaW5lIFIwMl9QT05fQURDUgkweDAwMDEKKyNkZWZpbmUgUjEzX01UTQkJMHg0MDAwCisjZGVmaW5lIFIxNF9TSUxFTkNFCTB4MDA4MAorI2RlZmluZSBSMTRfU0RFVF9PTgkweDAwNDAKKyNkZWZpbmUgUjIxX01UX0FEQwkweDgwMDAKKyNkZWZpbmUgUjIyX1NFTF9MTkEJMHgwMDA4CisjZGVmaW5lIFIyMl9TRUxfTUlDCTB4MDAwNAorI2RlZmluZSBSMjJfU0tJUF9EQ0ZJTAkweDAwMDIKKyNkZWZpbmUgUjIzX0FHQ19FTgkweDAwMDEKKworc3RydWN0IHVkYTEzODBfc2V0dXBfZGF0YSB7CisJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7CisJaW50ICAgICAgICAgICAgZGFjX2NsazsKKyNkZWZpbmUgVURBMTM4MF9EQUNfQ0xLX1NZU0NMSyAwCisjZGVmaW5lIFVEQTEzODBfREFDX0NMS19XU1BMTCAgMQorfTsKKworI2RlZmluZSBVREExMzgwX0RBSV9EVVBMRVgJMCAvKiBwbGF5YmFjayBhbmQgY2FwdHVyZSBvbiBzaW5nbGUgREFJICovCisjZGVmaW5lIFVEQTEzODBfREFJX1BMQVlCQUNLCTEgLyogcGxheWJhY2sgREFJICovCisjZGVmaW5lIFVEQTEzODBfREFJX0NBUFRVUkUJMiAvKiBjYXB0dXJlIERBSSAqLworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHVkYTEzODBfZGFpWzNdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3VkYTEzODA7CisKKyNlbmRpZiAvKiBfVURBMTM4MF9IICovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODUxMC5jIGIvc291bmQvc29jL2NvZGVjcy93bTg1MTAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzMyNWZkCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg1MTAuYwpAQCAtMCwwICsxLDgxNyBAQAorLyoKKyAqIHdtODUxMC5jICAtLSAgV004NTEwIEFMU0EgU29jIEF1ZGlvIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAyMDA2IFdvbGZzb24gTWljcm9lbGVjdHJvbmljcyBQTEMuCisgKgorICogQXV0aG9yOiBMaWFtIEdpcmR3b29kIDxsaWFtLmdpcmR3b29kQHdvbGZzb25taWNyby5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9wbS5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisKKyNpbmNsdWRlICJ3bTg1MTAuaCIKKworI2RlZmluZSBBVURJT19OQU1FICJ3bTg1MTAiCisjZGVmaW5lIFdNODUxMF9WRVJTSU9OICIwLjYiCisKK3N0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODUxMDsKKworLyoKKyAqIHdtODUxMCByZWdpc3RlciBjYWNoZQorICogV2UgY2FuJ3QgcmVhZCB0aGUgV004NTEwIHJlZ2lzdGVyIHNwYWNlIHdoZW4gd2UgYXJlCisgKiB1c2luZyAyIHdpcmUgZm9yIGRldmljZSBjb250cm9sLCBzbyB3ZSBjYWNoZSB0aGVtIGluc3RlYWQuCisgKi8KK3N0YXRpYyBjb25zdCB1MTYgd204NTEwX3JlZ1tXTTg1MTBfQ0FDSEVSRUdOVU1dID0geworCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwNTAsIDB4MDAwMCwgMHgwMTQwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMGZmLAorCTB4MDAwMCwgMHgwMDAwLCAweDAxMDAsIDB4MDBmZiwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMTJjLCAweDAwMmMsCisJMHgwMDJjLCAweDAwMmMsIDB4MDAyYywgMHgwMDAwLAorCTB4MDAzMiwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDM4LCAweDAwMGIsIDB4MDAzMiwgMHgwMDAwLAorCTB4MDAwOCwgMHgwMDBjLCAweDAwOTMsIDB4MDBlOSwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAzLCAweDAwMTAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAyLCAweDAwMDEsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDM5LCAweDAwMDAsCisJMHgwMDAxLAorfTsKKworLyoKKyAqIHJlYWQgd204NTEwIHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHdtODUxMF9yZWFkX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdW5zaWduZWQgaW50IHJlZykKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpZiAocmVnID09IFdNODUxMF9SRVNFVCkKKwkJcmV0dXJuIDA7CisJaWYgKHJlZyA+PSBXTTg1MTBfQ0FDSEVSRUdOVU0pCisJCXJldHVybiAtMTsKKwlyZXR1cm4gY2FjaGVbcmVnXTsKK30KKworLyoKKyAqIHdyaXRlIHdtODUxMCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgd204NTEwX3dyaXRlX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdTE2IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPj0gV004NTEwX0NBQ0hFUkVHTlVNKQorCQlyZXR1cm47CisJY2FjaGVbcmVnXSA9IHZhbHVlOworfQorCisvKgorICogd3JpdGUgdG8gdGhlIFdNODUxMCByZWdpc3RlciBzcGFjZQorICovCitzdGF0aWMgaW50IHdtODUxMF93cml0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByZWcsCisJdW5zaWduZWQgaW50IHZhbHVlKQoreworCXU4IGRhdGFbMl07CisKKwkvKiBkYXRhIGlzCisJICogICBEMTUuLkQ5IFdNODUxMCByZWdpc3RlciBvZmZzZXQKKwkgKiAgIEQ4Li4uRDAgcmVnaXN0ZXIgZGF0YQorCSAqLworCWRhdGFbMF0gPSAocmVnIDw8IDEpIHwgKCh2YWx1ZSA+PiA4KSAmIDB4MDAwMSk7CisJZGF0YVsxXSA9IHZhbHVlICYgMHgwMGZmOworCisJd204NTEwX3dyaXRlX3JlZ19jYWNoZShjb2RlYywgcmVnLCB2YWx1ZSk7CisJaWYgKGNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKSA9PSAyKQorCQlyZXR1cm4gMDsKKwllbHNlCisJCXJldHVybiAtRUlPOworfQorCisjZGVmaW5lIHdtODUxMF9yZXNldChjKQl3bTg1MTBfd3JpdGUoYywgV004NTEwX1JFU0VULCAwKQorCitzdGF0aWMgY29uc3QgY2hhciAqd204NTEwX2NvbXBhbmRpbmdbXSA9IHsgIk9mZiIsICJOQyIsICJ1LWxhdyIsICJBLWxhdyIgfTsKK3N0YXRpYyBjb25zdCBjaGFyICp3bTg1MTBfZGVlbXBbXSA9IHsgIk5vbmUiLCAiMzJrSHoiLCAiNDQuMWtIeiIsICI0OGtIeiIgfTsKK3N0YXRpYyBjb25zdCBjaGFyICp3bTg1MTBfYWxjW10gPSB7ICJBTEMiLCAiTGltaXRlciIgfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB3bTg1MTBfZW51bVtdID0geworCVNPQ19FTlVNX1NJTkdMRShXTTg1MTBfQ09NUCwgMSwgNCwgd204NTEwX2NvbXBhbmRpbmcpLCAvKiBhZGMgKi8KKwlTT0NfRU5VTV9TSU5HTEUoV004NTEwX0NPTVAsIDMsIDQsIHdtODUxMF9jb21wYW5kaW5nKSwgLyogZGFjICovCisJU09DX0VOVU1fU0lOR0xFKFdNODUxMF9EQUMsICA0LCA0LCB3bTg1MTBfZGVlbXApLAorCVNPQ19FTlVNX1NJTkdMRShXTTg1MTBfQUxDMywgIDgsIDIsIHdtODUxMF9hbGMpLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODUxMF9zbmRfY29udHJvbHNbXSA9IHsKKworU09DX1NJTkdMRSgiRGlnaXRhbCBMb29wYmFjayBTd2l0Y2giLCBXTTg1MTBfQ09NUCwgMCwgMSwgMCksCisKK1NPQ19FTlVNKCJEQUMgQ29tcGFuZGluZyIsIHdtODUxMF9lbnVtWzFdKSwKK1NPQ19FTlVNKCJBREMgQ29tcGFuZGluZyIsIHdtODUxMF9lbnVtWzBdKSwKKworU09DX0VOVU0oIlBsYXliYWNrIERlLWVtcGhhc2lzIiwgd204NTEwX2VudW1bMl0pLAorU09DX1NJTkdMRSgiREFDIEludmVyc2lvbiBTd2l0Y2giLCBXTTg1MTBfREFDLCAwLCAxLCAwKSwKKworU09DX1NJTkdMRSgiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIsIFdNODUxMF9EQUNWT0wsIDAsIDEyNywgMCksCisKK1NPQ19TSU5HTEUoIkhpZ2ggUGFzcyBGaWx0ZXIgU3dpdGNoIiwgV004NTEwX0FEQywgOCwgMSwgMCksCitTT0NfU0lOR0xFKCJIaWdoIFBhc3MgQ3V0IE9mZiIsIFdNODUxMF9BREMsIDQsIDcsIDApLAorU09DX1NJTkdMRSgiQURDIEludmVyc2lvbiBTd2l0Y2giLCBXTTg1MTBfQ09NUCwgMCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIkNhcHR1cmUgVm9sdW1lIiwgV004NTEwX0FEQ1ZPTCwgIDAsIDEyNywgMCksCisKK1NPQ19TSU5HTEUoIkRBQyBQbGF5YmFjayBMaW1pdGVyIFN3aXRjaCIsIFdNODUxMF9EQUNMSU0xLCAgOCwgMSwgMCksCitTT0NfU0lOR0xFKCJEQUMgUGxheWJhY2sgTGltaXRlciBEZWNheSIsIFdNODUxMF9EQUNMSU0xLCAgNCwgMTUsIDApLAorU09DX1NJTkdMRSgiREFDIFBsYXliYWNrIExpbWl0ZXIgQXR0YWNrIiwgV004NTEwX0RBQ0xJTTEsICAwLCAxNSwgMCksCisKK1NPQ19TSU5HTEUoIkRBQyBQbGF5YmFjayBMaW1pdGVyIFRocmVzaG9sZCIsIFdNODUxMF9EQUNMSU0yLCAgNCwgNywgMCksCitTT0NfU0lOR0xFKCJEQUMgUGxheWJhY2sgTGltaXRlciBCb29zdCIsIFdNODUxMF9EQUNMSU0yLCAgMCwgMTUsIDApLAorCitTT0NfU0lOR0xFKCJBTEMgRW5hYmxlIFN3aXRjaCIsIFdNODUxMF9BTEMxLCAgOCwgMSwgMCksCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBNYXggR2FpbiIsIFdNODUxMF9BTEMxLCAgMywgNywgMCksCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBNaW4gR2FpbiIsIFdNODUxMF9BTEMxLCAgMCwgNywgMCksCisKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIFpDIFN3aXRjaCIsIFdNODUxMF9BTEMyLCAgOCwgMSwgMCksCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBIb2xkIiwgV004NTEwX0FMQzIsICA0LCA3LCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIFRhcmdldCIsIFdNODUxMF9BTEMyLCAgMCwgMTUsIDApLAorCitTT0NfRU5VTSgiQUxDIENhcHR1cmUgTW9kZSIsIHdtODUxMF9lbnVtWzNdKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIERlY2F5IiwgV004NTEwX0FMQzMsICA0LCAxNSwgMCksCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBBdHRhY2siLCBXTTg1MTBfQUxDMywgIDAsIDE1LCAwKSwKKworU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgTm9pc2UgR2F0ZSBTd2l0Y2giLCBXTTg1MTBfTkdBVEUsICAzLCAxLCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIE5vaXNlIEdhdGUgVGhyZXNob2xkIiwgV004NTEwX05HQVRFLCAgMCwgNywgMCksCisKK1NPQ19TSU5HTEUoIkNhcHR1cmUgUEdBIFpDIFN3aXRjaCIsIFdNODUxMF9JTlBQR0EsICA3LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkNhcHR1cmUgUEdBIFZvbHVtZSIsIFdNODUxMF9JTlBQR0EsICAwLCA2MywgMCksCisKK1NPQ19TSU5HTEUoIlNwZWFrZXIgUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NTEwX1NQS1ZPTCwgIDcsIDEsIDApLAorU09DX1NJTkdMRSgiU3BlYWtlciBQbGF5YmFjayBTd2l0Y2giLCBXTTg1MTBfU1BLVk9MLCAgNiwgMSwgMSksCitTT0NfU0lOR0xFKCJTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIFdNODUxMF9TUEtWT0wsICAwLCA2MywgMCksCitTT0NfU0lOR0xFKCJTcGVha2VyIEJvb3N0IiwgV004NTEwX09VVFBVVCwgMiwgMSwgMCksCisKK1NPQ19TSU5HTEUoIkNhcHR1cmUgQm9vc3QoKzIwZEIpIiwgV004NTEwX0FEQ0JPT1NULCAgOCwgMSwgMCksCitTT0NfU0lOR0xFKCJNb25vIFBsYXliYWNrIFN3aXRjaCIsIFdNODUxMF9NT05PTUlYLCA2LCAxLCAxKSwKK307CisKKy8qIGFkZCBub24gZGFwbSBjb250cm9scyAqLworc3RhdGljIGludCB3bTg1MTBfYWRkX2NvbnRyb2xzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlpbnQgZXJyLCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NTEwX3NuZF9jb250cm9scyk7IGkrKykgeworCQllcnIgPSBzbmRfY3RsX2FkZChjb2RlYy0+Y2FyZCwKKwkJCQlzbmRfc29jX2NuZXcoJndtODUxMF9zbmRfY29udHJvbHNbaV0sIGNvZGVjLAorCQkJCQlOVUxMKSk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogU3BlYWtlciBPdXRwdXQgTWl4ZXIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg1MTBfc3BlYWtlcl9taXhlcl9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMaW5lIEJ5cGFzcyBTd2l0Y2giLCBXTTg1MTBfU1BLTUlYLCAxLCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiQXV4IFBsYXliYWNrIFN3aXRjaCIsIFdNODUxMF9TUEtNSVgsIDUsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX1NQS01JWCwgMCwgMSwgMCksCit9OworCisvKiBNb25vIE91dHB1dCBNaXhlciAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODUxMF9tb25vX21peGVyX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxpbmUgQnlwYXNzIFN3aXRjaCIsIFdNODUxMF9NT05PTUlYLCAxLCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiQXV4IFBsYXliYWNrIFN3aXRjaCIsIFdNODUxMF9NT05PTUlYLCAyLCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUENNIFBsYXliYWNrIFN3aXRjaCIsIFdNODUxMF9NT05PTUlYLCAwLCAxLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg1MTBfYm9vc3RfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTWljIFBHQSBTd2l0Y2giLCBXTTg1MTBfSU5QUEdBLCAgNiwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkF1eCBWb2x1bWUiLCBXTTg1MTBfQURDQk9PU1QsIDAsIDcsIDApLAorU09DX0RBUE1fU0lOR0xFKCJNaWMgVm9sdW1lIiwgV004NTEwX0FEQ0JPT1NULCA0LCA3LCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg1MTBfbWljcGdhX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIk1JQ1AgU3dpdGNoIiwgV004NTEwX0lOUFVULCAwLCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTUlDTiBTd2l0Y2giLCBXTTg1MTBfSU5QVVQsIDEsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJBVVggU3dpdGNoIiwgV004NTEwX0lOUFVULCAyLCAxLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCB3bTg1MTBfZGFwbV93aWRnZXRzW10gPSB7CitTTkRfU09DX0RBUE1fTUlYRVIoIlNwZWFrZXIgTWl4ZXIiLCBXTTg1MTBfUE9XRVIzLCAyLCAwLAorCSZ3bTg1MTBfc3BlYWtlcl9taXhlcl9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODUxMF9zcGVha2VyX21peGVyX2NvbnRyb2xzKSksCitTTkRfU09DX0RBUE1fTUlYRVIoIk1vbm8gTWl4ZXIiLCBXTTg1MTBfUE9XRVIzLCAzLCAwLAorCSZ3bTg1MTBfbW9ub19taXhlcl9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODUxMF9tb25vX21peGVyX2NvbnRyb2xzKSksCitTTkRfU09DX0RBUE1fREFDKCJEQUMiLCAiSGlGaSBQbGF5YmFjayIsIFdNODUxMF9QT1dFUjMsIDAsIDApLAorU05EX1NPQ19EQVBNX0FEQygiQURDIiwgIkhpRmkgQ2FwdHVyZSIsIFdNODUxMF9QT1dFUjIsIDAsIDApLAorU05EX1NPQ19EQVBNX1BHQSgiQXV4IElucHV0IiwgV004NTEwX1BPV0VSMSwgNiwgMCwgTlVMTCwgMCksCitTTkRfU09DX0RBUE1fUEdBKCJTcGtOIE91dCIsIFdNODUxMF9QT1dFUjMsIDUsIDAsIE5VTEwsIDApLAorU05EX1NPQ19EQVBNX1BHQSgiU3BrUCBPdXQiLCBXTTg1MTBfUE9XRVIzLCA2LCAwLCBOVUxMLCAwKSwKK1NORF9TT0NfREFQTV9QR0EoIk1vbm8gT3V0IiwgV004NTEwX1BPV0VSMywgNywgMCwgTlVMTCwgMCksCisKK1NORF9TT0NfREFQTV9QR0EoIk1pYyBQR0EiLCBXTTg1MTBfUE9XRVIyLCAyLCAwLAorCQkgJndtODUxMF9taWNwZ2FfY29udHJvbHNbMF0sCisJCSBBUlJBWV9TSVpFKHdtODUxMF9taWNwZ2FfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9NSVhFUigiQm9vc3QgTWl4ZXIiLCBXTTg1MTBfUE9XRVIyLCA0LCAwLAorCSZ3bTg1MTBfYm9vc3RfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg1MTBfYm9vc3RfY29udHJvbHMpKSwKKworU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBCaWFzIiwgV004NTEwX1BPV0VSMSwgNCwgMCksCisKK1NORF9TT0NfREFQTV9JTlBVVCgiTUlDTiIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJNSUNQIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIkFVWCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiTU9OT09VVCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiU1BLT1VUUCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiU1BLT1VUTiIpLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CisJLyogTW9ubyBvdXRwdXQgbWl4ZXIgKi8KKwl7Ik1vbm8gTWl4ZXIiLCAiUENNIFBsYXliYWNrIFN3aXRjaCIsICJEQUMifSwKKwl7Ik1vbm8gTWl4ZXIiLCAiQXV4IFBsYXliYWNrIFN3aXRjaCIsICJBdXggSW5wdXQifSwKKwl7Ik1vbm8gTWl4ZXIiLCAiTGluZSBCeXBhc3MgU3dpdGNoIiwgIkJvb3N0IE1peGVyIn0sCisKKwkvKiBTcGVha2VyIG91dHB1dCBtaXhlciAqLworCXsiU3BlYWtlciBNaXhlciIsICJQQ00gUGxheWJhY2sgU3dpdGNoIiwgIkRBQyJ9LAorCXsiU3BlYWtlciBNaXhlciIsICJBdXggUGxheWJhY2sgU3dpdGNoIiwgIkF1eCBJbnB1dCJ9LAorCXsiU3BlYWtlciBNaXhlciIsICJMaW5lIEJ5cGFzcyBTd2l0Y2giLCAiQm9vc3QgTWl4ZXIifSwKKworCS8qIE91dHB1dHMgKi8KKwl7Ik1vbm8gT3V0IiwgTlVMTCwgIk1vbm8gTWl4ZXIifSwKKwl7Ik1PTk9PVVQiLCBOVUxMLCAiTW9ubyBPdXQifSwKKwl7IlNwa04gT3V0IiwgTlVMTCwgIlNwZWFrZXIgTWl4ZXIifSwKKwl7IlNwa1AgT3V0IiwgTlVMTCwgIlNwZWFrZXIgTWl4ZXIifSwKKwl7IlNQS09VVE4iLCBOVUxMLCAiU3BrTiBPdXQifSwKKwl7IlNQS09VVFAiLCBOVUxMLCAiU3BrUCBPdXQifSwKKworCS8qIE1pY3JvcGhvbmUgUEdBICovCisJeyJNaWMgUEdBIiwgIk1JQ04gU3dpdGNoIiwgIk1JQ04ifSwKKwl7Ik1pYyBQR0EiLCAiTUlDUCBTd2l0Y2giLCAiTUlDUCJ9LAorCXsgIk1pYyBQR0EiLCAiQVVYIFN3aXRjaCIsICJBdXggSW5wdXQiIH0sCisKKwkvKiBCb29zdCBNaXhlciAqLworCXsiQm9vc3QgTWl4ZXIiLCAiTWljIFBHQSBTd2l0Y2giLCAiTWljIFBHQSJ9LAorCXsiQm9vc3QgTWl4ZXIiLCAiTWljIFZvbHVtZSIsICJNSUNQIn0sCisJeyJCb29zdCBNaXhlciIsICJBdXggVm9sdW1lIiwgIkF1eCBJbnB1dCJ9LAorCisJeyJBREMiLCBOVUxMLCAiQm9vc3QgTWl4ZXIifSwKK307CisKK3N0YXRpYyBpbnQgd204NTEwX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg1MTBfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg1MTBfZGFwbV93aWRnZXRzKSk7CisKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOworCisJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHBsbF8geworCXVuc2lnbmVkIGludCBwcmVfZGl2OjQ7IC8qIHByZXNjYWxlIC0gMSAqLworCXVuc2lnbmVkIGludCBuOjQ7CisJdW5zaWduZWQgaW50IGs7Cit9OworCitzdGF0aWMgc3RydWN0IHBsbF8gcGxsX2RpdjsKKworLyogVGhlIHNpemUgaW4gYml0cyBvZiB0aGUgcGxsIGRpdmlkZSBtdWx0aXBsaWVkIGJ5IDEwCisgKiB0byBhbGxvdyByb3VuZGluZyBsYXRlciAqLworI2RlZmluZSBGSVhFRF9QTExfU0laRSAoKDEgPDwgMjQpICogMTApCisKK3N0YXRpYyB2b2lkIHBsbF9mYWN0b3JzKHVuc2lnbmVkIGludCB0YXJnZXQsIHVuc2lnbmVkIGludCBzb3VyY2UpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIEtwYXJ0OworCXVuc2lnbmVkIGludCBLLCBOZGl2LCBObW9kOworCisJTmRpdiA9IHRhcmdldCAvIHNvdXJjZTsKKwlpZiAoTmRpdiA8IDYpIHsKKwkJc291cmNlID4+PSAxOworCQlwbGxfZGl2LnByZV9kaXYgPSAxOworCQlOZGl2ID0gdGFyZ2V0IC8gc291cmNlOworCX0gZWxzZQorCQlwbGxfZGl2LnByZV9kaXYgPSAwOworCisJaWYgKChOZGl2IDwgNikgfHwgKE5kaXYgPiAxMikpCisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJXTTg1MTAgTiB2YWx1ZSAlZCBvdXR3aXRoIHJlY29tbWVuZGVkIHJhbmdlIWRcbiIsCisJCQlOZGl2KTsKKworCXBsbF9kaXYubiA9IE5kaXY7CisJTm1vZCA9IHRhcmdldCAlIHNvdXJjZTsKKwlLcGFydCA9IEZJWEVEX1BMTF9TSVpFICogKGxvbmcgbG9uZylObW9kOworCisJZG9fZGl2KEtwYXJ0LCBzb3VyY2UpOworCisJSyA9IEtwYXJ0ICYgMHhGRkZGRkZGRjsKKworCS8qIENoZWNrIGlmIHdlIG5lZWQgdG8gcm91bmQgKi8KKwlpZiAoKEsgJSAxMCkgPj0gNSkKKwkJSyArPSA1OworCisJLyogTW92ZSBkb3duIHRvIHByb3BlciByYW5nZSBub3cgcm91bmRpbmcgaXMgZG9uZSAqLworCUsgLz0gMTA7CisKKwlwbGxfZGl2LmsgPSBLOworfQorCitzdGF0aWMgaW50IHdtODUxMF9zZXRfZGFpX3BsbChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJaW50IHBsbF9pZCwgdW5zaWduZWQgaW50IGZyZXFfaW4sIHVuc2lnbmVkIGludCBmcmVxX291dCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXUxNiByZWc7CisKKwlpZiAoZnJlcV9pbiA9PSAwIHx8IGZyZXFfb3V0ID09IDApIHsKKwkJLyogQ2xvY2sgQ09ERUMgZGlyZWN0bHkgZnJvbSBNQ0xLICovCisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0NMT0NLKTsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQ0xPQ0ssIHJlZyAmIDB4MGZmKTsKKworCQkvKiBUdXJuIG9mZiBQTEwgKi8KKwkJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfUE9XRVIxKTsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIxLCByZWcgJiAweDFkZik7CisJCXJldHVybiAwOworCX0KKworCXBsbF9mYWN0b3JzKGZyZXFfb3V0KjgsIGZyZXFfaW4pOworCisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUExMTiwgKHBsbF9kaXYucHJlX2RpdiA8PCA0KSB8IHBsbF9kaXYubik7CisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUExMSzEsIHBsbF9kaXYuayA+PiAxOCk7CisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUExMSzIsIChwbGxfZGl2LmsgPj4gOSkgJiAweDFmZik7CisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUExMSzMsIHBsbF9kaXYuayAmIDB4MWZmKTsKKwlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9QT1dFUjEpOworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMSwgcmVnIHwgMHgwMjApOworCisJLyogUnVuIENPREVDIGZyb20gUExMIGluc3RlYWQgb2YgTUNMSyAqLworCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0NMT0NLKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9DTE9DSywgcmVnIHwgMHgxMDApOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDb25maWd1cmUgV004NTEwIGNsb2NrIGRpdmlkZXJzLgorICovCitzdGF0aWMgaW50IHdtODUxMF9zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJaW50IGRpdl9pZCwgaW50IGRpdikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXUxNiByZWc7CisKKwlzd2l0Y2ggKGRpdl9pZCkgeworCWNhc2UgV004NTEwX09QQ0xLRElWOgorCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9HUElPKSAmIDB4MWNmOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9HUElPLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODUxMF9NQ0xLRElWOgorCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9DTE9DSykgJiAweDFmOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9DTE9DSywgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJY2FzZSBXTTg1MTBfQURDQ0xLOgorCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9BREMpICYgMHgxZjc7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0FEQywgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJY2FzZSBXTTg1MTBfREFDQ0xLOgorCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9EQUMpICYgMHgxZjc7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0RBQywgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJY2FzZSBXTTg1MTBfQkNMS0RJVjoKKwkJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQ0xPQ0spICYgMHgxZTM7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0NMT0NLLCByZWcgfCBkaXYpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg1MTBfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCXVuc2lnbmVkIGludCBmbXQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1MTYgaWZhY2UgPSAwOworCXUxNiBjbGsgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9DTE9DSykgJiAweDFmZTsKKworCS8qIHNldCBtYXN0ZXIvc2xhdmUgYXVkaW8gaW50ZXJmYWNlICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9NQVNURVJfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTToKKwkJY2xrIHw9IDB4MDAwMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBpbnRlcmZhY2UgZm9ybWF0ICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQlpZmFjZSB8PSAweDAwMTA7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfUklHSFRfSjoKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9MRUZUX0o6CisJCWlmYWNlIHw9IDB4MDAwODsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQToKKwkJaWZhY2UgfD0gMHgwMDAxODsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogY2xvY2sgaW52ZXJzaW9uICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9JTlZfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfTkY6CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfSUJfSUY6CisJCWlmYWNlIHw9IDB4MDE4MDsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JQl9ORjoKKwkJaWZhY2UgfD0gMHgwMTAwOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX05CX0lGOgorCQlpZmFjZSB8PSAweDAwODA7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0lGQUNFLCBpZmFjZSk7CisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQ0xPQ0ssIGNsayk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX3BjbV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwl1MTYgaWZhY2UgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9JRkFDRSkgJiAweDE5ZjsKKwl1MTYgYWRuID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQUREKSAmIDB4MWYxOworCisJLyogYml0IHNpemUgKi8KKwlzd2l0Y2ggKHBhcmFtc19mb3JtYXQocGFyYW1zKSkgeworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEU6CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMjBfM0xFOgorCQlpZmFjZSB8PSAweDAwMjA7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMjRfTEU6CisJCWlmYWNlIHw9IDB4MDA0MDsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MzMl9MRToKKwkJaWZhY2UgfD0gMHgwMDYwOworCQlicmVhazsKKwl9CisKKwkvKiBmaWx0ZXIgY29lZmZpY2llbnQgKi8KKwlzd2l0Y2ggKHBhcmFtc19yYXRlKHBhcmFtcykpIHsKKwljYXNlIFNORFJWX1BDTV9SQVRFXzgwMDA6CisJCWFkbiB8PSAweDUgPDwgMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fUkFURV8xMTAyNToKKwkJYWRuIHw9IDB4NCA8PCAxOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9SQVRFXzE2MDAwOgorCQlhZG4gfD0gMHgzIDw8IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1JBVEVfMjIwNTA6CisJCWFkbiB8PSAweDIgPDwgMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fUkFURV8zMjAwMDoKKwkJYWRuIHw9IDB4MSA8PCAxOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9SQVRFXzQ0MTAwOgorCWNhc2UgU05EUlZfUENNX1JBVEVfNDgwMDA6CisJCWJyZWFrOworCX0KKworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0lGQUNFLCBpZmFjZSk7CisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQURELCBhZG4pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODUxMF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOworCXUxNiBtdXRlX3JlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0RBQykgJiAweGZmYmY7CisKKwlpZiAobXV0ZSkKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfREFDLCBtdXRlX3JlZyB8IDB4NDApOworCWVsc2UKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfREFDLCBtdXRlX3JlZyk7CisJcmV0dXJuIDA7Cit9CisKKy8qIGxpYW0gbmVlZCB0byBtYWtlIHRoaXMgbG93ZXIgcG93ZXIgd2l0aCBkYXBtICovCitzdGF0aWMgaW50IHdtODUxMF9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCit7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMSwgMHgxZmYpOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjIsIDB4MWZmKTsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIzLCAweDFmZik7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgorCQkvKiBldmVyeXRoaW5nIG9mZiwgZGFjIG11dGUsIGluYWN0aXZlICovCisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMSwgMHgwKTsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIyLCAweDApOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjMsIDB4MCk7CisJCWJyZWFrOworCX0KKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOworCXJldHVybiAwOworfQorCisjZGVmaW5lIFdNODUxMF9SQVRFUyAoU05EUlZfUENNX1JBVEVfODAwMCB8IFNORFJWX1BDTV9SQVRFXzExMDI1IHxcCisJCVNORFJWX1BDTV9SQVRFXzE2MDAwIHwgU05EUlZfUENNX1JBVEVfMjIwNTAgfFwKKwkJU05EUlZfUENNX1JBVEVfNDQxMDAgfCBTTkRSVl9QQ01fUkFURV80ODAwMCkKKworI2RlZmluZSBXTTg1MTBfRk9STUFUUyAoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MyMF8zTEUgfFwKKwlTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFKQorCitzdHJ1Y3Qgc25kX3NvY19kYWkgd204NTEwX2RhaSA9IHsKKwkubmFtZSA9ICJXTTg1MTAgSGlGaSIsCisJLnBsYXliYWNrID0geworCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLAorCQkuY2hhbm5lbHNfbWluID0gMiwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFdNODUxMF9SQVRFUywKKwkJLmZvcm1hdHMgPSBXTTg1MTBfRk9STUFUUyx9LAorCS5jYXB0dXJlID0geworCQkuc3RyZWFtX25hbWUgPSAiQ2FwdHVyZSIsCisJCS5jaGFubmVsc19taW4gPSAyLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gV004NTEwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFdNODUxMF9GT1JNQVRTLH0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IHdtODUxMF9wY21faHdfcGFyYW1zLAorCX0sCisJLmRhaV9vcHMgPSB7CisJCS5kaWdpdGFsX211dGUgPSB3bTg1MTBfbXV0ZSwKKwkJLnNldF9mbXQgPSB3bTg1MTBfc2V0X2RhaV9mbXQsCisJCS5zZXRfY2xrZGl2ID0gd204NTEwX3NldF9kYWlfY2xrZGl2LAorCQkuc2V0X3BsbCA9IHdtODUxMF9zZXRfZGFpX3BsbCwKKwl9LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHdtODUxMF9kYWkpOworCitzdGF0aWMgaW50IHdtODUxMF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwl3bTg1MTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODUxMF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJaW50IGk7CisJdTggZGF0YVsyXTsKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKworCS8qIFN5bmMgcmVnX2NhY2hlIHdpdGggdGhlIGhhcmR3YXJlICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NTEwX3JlZyk7IGkrKykgeworCQlkYXRhWzBdID0gKGkgPDwgMSkgfCAoKGNhY2hlW2ldID4+IDgpICYgMHgwMDAxKTsKKwkJZGF0YVsxXSA9IGNhY2hlW2ldICYgMHgwMGZmOworCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CisJfQorCXdtODUxMF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCXdtODUxMF9zZXRfYmlhc19sZXZlbChjb2RlYywgY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBpbml0aWFsaXNlIHRoZSBXTTg1MTAgZHJpdmVyCisgKiByZWdpc3RlciB0aGUgbWl4ZXIgYW5kIGRzcCBpbnRlcmZhY2VzIHdpdGggdGhlIGtlcm5lbAorICovCitzdGF0aWMgaW50IHdtODUxMF9pbml0KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJaW50IHJldCA9IDA7CisKKwljb2RlYy0+bmFtZSA9ICJXTTg1MTAiOworCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOworCWNvZGVjLT5yZWFkID0gd204NTEwX3JlYWRfcmVnX2NhY2hlOworCWNvZGVjLT53cml0ZSA9IHdtODUxMF93cml0ZTsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTg1MTBfc2V0X2JpYXNfbGV2ZWw7CisJY29kZWMtPmRhaSA9ICZ3bTg1MTBfZGFpOworCWNvZGVjLT5udW1fZGFpID0gMTsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKHdtODUxMF9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGUgPSBrbWVtZHVwKHdtODUxMF9yZWcsIHNpemVvZih3bTg1MTBfcmVnKSwgR0ZQX0tFUk5FTCk7CisKKwlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXdtODUxMF9yZXNldChjb2RlYyk7CisKKwkvKiByZWdpc3RlciBwY21zICovCisJcmV0ID0gc25kX3NvY19uZXdfcGNtcyhzb2NkZXYsIFNORFJWX0RFRkFVTFRfSURYMSwgU05EUlZfREVGQVVMVF9TVFIxKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgIndtODUxMDogZmFpbGVkIHRvIGNyZWF0ZSBwY21zXG4iKTsKKwkJZ290byBwY21fZXJyOworCX0KKworCS8qIHBvd2VyIG9uIGRldmljZSAqLworCXdtODUxMF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCXdtODUxMF9hZGRfY29udHJvbHMoY29kZWMpOworCXdtODUxMF9hZGRfd2lkZ2V0cyhjb2RlYyk7CisJcmV0ID0gc25kX3NvY19yZWdpc3Rlcl9jYXJkKHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ3bTg1MTA6IGZhaWxlZCB0byByZWdpc3RlciBjYXJkXG4iKTsKKwkJZ290byBjYXJkX2VycjsKKwl9CisJcmV0dXJuIHJldDsKKworY2FyZF9lcnI6CisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworcGNtX2VycjoKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGV2aWNlICp3bTg1MTBfc29jZGV2OworCisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCisvKgorICogV004NTEwIDIgd2lyZSBhZGRyZXNzIGlzIDB4MWEKKyAqLworI2RlZmluZSBJMkNfRFJJVkVSSURfV004NTEwIDB4ZmVmZSAvKiBsaWFtIC0gIG5lZWQgYSBwcm9wZXIgaWQgKi8KKworc3RhdGljIHVuc2lnbmVkIHNob3J0IG5vcm1hbF9pMmNbXSA9IHsgMCwgSTJDX0NMSUVOVF9FTkQgfTsKKworLyogTWFnaWMgZGVmaW5pdGlvbiBvZiBhbGwgb3RoZXIgdmFyaWFibGVzIGFuZCB0aGluZ3MgKi8KK0kyQ19DTElFTlRfSU5TTU9EOworCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgd204NTEwX2kyY19kcml2ZXI7CitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlOworCisvKiBJZiB0aGUgaTJjIGxheWVyIHdlcmVuJ3Qgc28gYnJva2VuLCB3ZSBjb3VsZCBwYXNzIHRoaXMga2luZCBvZiBkYXRhCisgICBhcm91bmQgKi8KKworc3RhdGljIGludCB3bTg1MTBfY29kZWNfcHJvYmUoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCBpbnQgYWRkciwgaW50IGtpbmQpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSB3bTg1MTBfc29jZGV2OworCXN0cnVjdCB3bTg1MTBfc2V0dXBfZGF0YSAqc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjOworCWludCByZXQ7CisKKwlpZiAoYWRkciAhPSBzZXR1cC0+aTJjX2FkZHJlc3MpCisJCXJldHVybiAtRU5PREVWOworCisJY2xpZW50X3RlbXBsYXRlLmFkYXB0ZXIgPSBhZGFwOworCWNsaWVudF90ZW1wbGF0ZS5hZGRyID0gYWRkcjsKKworCWkyYyA9IGttZW1kdXAoJmNsaWVudF90ZW1wbGF0ZSwgc2l6ZW9mKGNsaWVudF90ZW1wbGF0ZSksIEdGUF9LRVJORUwpOworCWlmIChpMmMgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwlpMmNfc2V0X2NsaWVudGRhdGEoaTJjLCBjb2RlYyk7CisJY29kZWMtPmNvbnRyb2xfZGF0YSA9IGkyYzsKKworCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlnb3RvIGVycjsKKwl9CisKKwlyZXQgPSB3bTg1MTBfaW5pdChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NTEwXG4iKTsKKwkJZ290byBlcnI7CisJfQorCXJldHVybiByZXQ7CisKK2VycjoKKwlrZnJlZShjb2RlYyk7CisJa2ZyZWUoaTJjKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHdtODUxMF9pMmNfZGV0YWNoKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlrZnJlZShjbGllbnQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODUxMF9pMmNfYXR0YWNoKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlyZXR1cm4gaTJjX3Byb2JlKGFkYXAsICZhZGRyX2RhdGEsIHdtODUxMF9jb2RlY19wcm9iZSk7Cit9CisKKy8qIGNvcmdpIGkyYyBjb2RlYyBjb250cm9sIGxheWVyICovCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgd204NTEwX2kyY19kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiV004NTEwIEkyQyBDb2RlYyIsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCX0sCisJLmlkID0gICAgICAgICAgICAgSTJDX0RSSVZFUklEX1dNODUxMCwKKwkuYXR0YWNoX2FkYXB0ZXIgPSB3bTg1MTBfaTJjX2F0dGFjaCwKKwkuZGV0YWNoX2NsaWVudCA9ICB3bTg1MTBfaTJjX2RldGFjaCwKKwkuY29tbWFuZCA9ICAgICAgICBOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZSA9IHsKKwkubmFtZSA9ICAgIldNODUxMCIsCisJLmRyaXZlciA9ICZ3bTg1MTBfaTJjX2RyaXZlciwKK307CisjZW5kaWYKKworc3RhdGljIGludCB3bTg1MTBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCB3bTg1MTBfc2V0dXBfZGF0YSAqc2V0dXA7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjOworCWludCByZXQgPSAwOworCisJcHJfaW5mbygiV004NTEwIEF1ZGlvIENvZGVjICVzIiwgV004NTEwX1ZFUlNJT04pOworCisJc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOworCWlmIChjb2RlYyA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXNvY2Rldi0+Y29kZWMgPSBjb2RlYzsKKwltdXRleF9pbml0KCZjb2RlYy0+bXV0ZXgpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV93aWRnZXRzKTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fcGF0aHMpOworCisJd204NTEwX3NvY2RldiA9IHNvY2RldjsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaWYgKHNldHVwLT5pMmNfYWRkcmVzcykgeworCQlub3JtYWxfaTJjWzBdID0gc2V0dXAtPmkyY19hZGRyZXNzOworCQljb2RlYy0+aHdfd3JpdGUgPSAoaHdfd3JpdGVfdClpMmNfbWFzdGVyX3NlbmQ7CisJCXJldCA9IGkyY19hZGRfZHJpdmVyKCZ3bTg1MTBfaTJjX2RyaXZlcik7CisJCWlmIChyZXQgIT0gMCkKKwkJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgYWRkIGkyYyBkcml2ZXIiKTsKKwl9CisjZWxzZQorCS8qIEFkZCBvdGhlciBpbnRlcmZhY2VzIGhlcmUgKi8KKyNlbmRpZgorCXJldHVybiByZXQ7Cit9CisKKy8qIHBvd2VyIGRvd24gY2hpcCAqLworc3RhdGljIGludCB3bTg1MTBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCisJCXdtODUxMF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWkyY19kZWxfZHJpdmVyKCZ3bTg1MTBfaTJjX2RyaXZlcik7CisjZW5kaWYKKwlrZnJlZShjb2RlYyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NTEwID0geworCS5wcm9iZSA9IAl3bTg1MTBfcHJvYmUsCisJLnJlbW92ZSA9IAl3bTg1MTBfcmVtb3ZlLAorCS5zdXNwZW5kID0gCXdtODUxMF9zdXNwZW5kLAorCS5yZXN1bWUgPQl3bTg1MTBfcmVzdW1lLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNvY19jb2RlY19kZXZfd204NTEwKTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJBU29DIFdNODUxMCBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIkxpYW0gR2lyZHdvb2QiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmggYi9zb3VuZC9zb2MvY29kZWNzL3dtODUxMC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZDJlNDIKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODUxMC5oCkBAIC0wLDAgKzEsMTAzIEBACisvKgorICogd204NTEwLmggIC0tICBXTTg1MTAgU29jIEF1ZGlvIGRyaXZlcgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfV004NTEwX0gKKyNkZWZpbmUgX1dNODUxMF9ICisKKy8qIFdNODUxMCByZWdpc3RlciBzcGFjZSAqLworCisjZGVmaW5lIFdNODUxMF9SRVNFVAkJMHgwCisjZGVmaW5lIFdNODUxMF9QT1dFUjEJCTB4MQorI2RlZmluZSBXTTg1MTBfUE9XRVIyCQkweDIKKyNkZWZpbmUgV004NTEwX1BPV0VSMwkJMHgzCisjZGVmaW5lIFdNODUxMF9JRkFDRQkJMHg0CisjZGVmaW5lIFdNODUxMF9DT01QCQkJMHg1CisjZGVmaW5lIFdNODUxMF9DTE9DSwkJMHg2CisjZGVmaW5lIFdNODUxMF9BREQJCQkweDcKKyNkZWZpbmUgV004NTEwX0dQSU8JCQkweDgKKyNkZWZpbmUgV004NTEwX0RBQwkJCTB4YQorI2RlZmluZSBXTTg1MTBfREFDVk9MCQkweGIKKyNkZWZpbmUgV004NTEwX0FEQwkJCTB4ZQorI2RlZmluZSBXTTg1MTBfQURDVk9MCQkweGYKKyNkZWZpbmUgV004NTEwX0VRMQkJCTB4MTIKKyNkZWZpbmUgV004NTEwX0VRMgkJCTB4MTMKKyNkZWZpbmUgV004NTEwX0VRMwkJCTB4MTQKKyNkZWZpbmUgV004NTEwX0VRNAkJCTB4MTUKKyNkZWZpbmUgV004NTEwX0VRNQkJCTB4MTYKKyNkZWZpbmUgV004NTEwX0RBQ0xJTTEJCTB4MTgKKyNkZWZpbmUgV004NTEwX0RBQ0xJTTIJCTB4MTkKKyNkZWZpbmUgV004NTEwX05PVENIMQkJMHgxYgorI2RlZmluZSBXTTg1MTBfTk9UQ0gyCQkweDFjCisjZGVmaW5lIFdNODUxMF9OT1RDSDMJCTB4MWQKKyNkZWZpbmUgV004NTEwX05PVENINAkJMHgxZQorI2RlZmluZSBXTTg1MTBfQUxDMQkJCTB4MjAKKyNkZWZpbmUgV004NTEwX0FMQzIJCQkweDIxCisjZGVmaW5lIFdNODUxMF9BTEMzCQkJMHgyMgorI2RlZmluZSBXTTg1MTBfTkdBVEUJCTB4MjMKKyNkZWZpbmUgV004NTEwX1BMTE4JCQkweDI0CisjZGVmaW5lIFdNODUxMF9QTExLMQkJMHgyNQorI2RlZmluZSBXTTg1MTBfUExMSzIJCTB4MjYKKyNkZWZpbmUgV004NTEwX1BMTEszCQkweDI3CisjZGVmaW5lIFdNODUxMF9BVFRFTgkJMHgyOAorI2RlZmluZSBXTTg1MTBfSU5QVVQJCTB4MmMKKyNkZWZpbmUgV004NTEwX0lOUFBHQQkJMHgyZAorI2RlZmluZSBXTTg1MTBfQURDQk9PU1QJCTB4MmYKKyNkZWZpbmUgV004NTEwX09VVFBVVAkJMHgzMQorI2RlZmluZSBXTTg1MTBfU1BLTUlYCQkweDMyCisjZGVmaW5lIFdNODUxMF9TUEtWT0wJCTB4MzYKKyNkZWZpbmUgV004NTEwX01PTk9NSVgJCTB4MzgKKworI2RlZmluZSBXTTg1MTBfQ0FDSEVSRUdOVU0gCTU3CisKKy8qIENsb2NrIGRpdmlkZXIgSWQncyAqLworI2RlZmluZSBXTTg1MTBfT1BDTEtESVYJCTAKKyNkZWZpbmUgV004NTEwX01DTEtESVYJCTEKKyNkZWZpbmUgV004NTEwX0FEQ0NMSwkJMgorI2RlZmluZSBXTTg1MTBfREFDQ0xLCQkzCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWCQk0CisKKy8qIERBQyBjbG9jayBkaXZpZGVycyAqLworI2RlZmluZSBXTTg1MTBfREFDQ0xLX0YyCSgxIDw8IDMpCisjZGVmaW5lIFdNODUxMF9EQUNDTEtfRjQJKDAgPDwgMykKKworLyogQURDIGNsb2NrIGRpdmlkZXJzICovCisjZGVmaW5lIFdNODUxMF9BRENDTEtfRjIJKDEgPDwgMykKKyNkZWZpbmUgV004NTEwX0FEQ0NMS19GNAkoMCA8PCAzKQorCisvKiBQTEwgT3V0IGRpdmlkZXJzICovCisjZGVmaW5lIFdNODUxMF9PUENMS0RJVl8xCSgwIDw8IDQpCisjZGVmaW5lIFdNODUxMF9PUENMS0RJVl8yCSgxIDw8IDQpCisjZGVmaW5lIFdNODUxMF9PUENMS0RJVl8zCSgyIDw8IDQpCisjZGVmaW5lIFdNODUxMF9PUENMS0RJVl80CSgzIDw8IDQpCisKKy8qIEJDTEsgY2xvY2sgZGl2aWRlcnMgKi8KKyNkZWZpbmUgV004NTEwX0JDTEtESVZfMQkoMCA8PCAyKQorI2RlZmluZSBXTTg1MTBfQkNMS0RJVl8yCSgxIDw8IDIpCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzQJKDIgPDwgMikKKyNkZWZpbmUgV004NTEwX0JDTEtESVZfOAkoMyA8PCAyKQorI2RlZmluZSBXTTg1MTBfQkNMS0RJVl8xNgkoNCA8PCAyKQorI2RlZmluZSBXTTg1MTBfQkNMS0RJVl8zMgkoNSA8PCAyKQorCisvKiBNQ0xLIGNsb2NrIGRpdmlkZXJzICovCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzEJKDAgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfMV81CSgxIDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzIJKDIgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfMwkoMyA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl80CSg0IDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzYJKDUgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfOAkoNiA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl8xMgkoNyA8PCA1KQorCitzdHJ1Y3Qgd204NTEwX3NldHVwX2RhdGEgeworCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOworfTsKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTg1MTBfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODUxMDsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5jIGIvc291bmQvc29jL2NvZGVjcy93bTg3MzEuYwppbmRleCAwY2Y5MjY1Li4zNjlkMzljIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmMKQEAgLTMxLDI1ICszMSw2IEBACiAjZGVmaW5lIEFVRElPX05BTUUgIndtODczMSIKICNkZWZpbmUgV004NzMxX1ZFUlNJT04gIjAuMTMiCiAKLS8qCi0gKiBEZWJ1ZwotICovCi0KLSNkZWZpbmUgV004NzMxX0RFQlVHIDAKLQotI2lmZGVmIFdNODczMV9ERUJVRwotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZWxzZQotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pIGRvIHt9IHdoaWxlICgwKQotI2VuZGlmCi0jZGVmaW5lIGVycihmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0VSUiBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZGVmaW5lIGluZm8oZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9JTkZPIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNkZWZpbmUgd2Fybihmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX1dBUk5JTkcgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotCiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg3MzE7CiAKIC8qIGNvZGVjIHByaXZhdGUgZGF0YSAqLwpAQCAtMTkzLDcgKzE3NCw3IEBACiBTTkRfU09DX0RBUE1fSU5QVVQoIkxMSU5FSU4iKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICppbnRlcmNvbltdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgaW50ZXJjb25bXSA9IHsKIAkvKiBvdXRwdXQgbWl4ZXIgKi8KIAl7Ik91dHB1dCBNaXhlciIsICJMaW5lIEJ5cGFzcyBTd2l0Y2giLCAiTGluZSBJbnB1dCJ9LAogCXsiT3V0cHV0IE1peGVyIiwgIkhpRmkgUGxheWJhY2sgU3dpdGNoIiwgIkRBQyJ9LApAQCAtMjE0LDIyICsxOTUsMTQgQEAKIAl7IkxpbmUgSW5wdXQiLCBOVUxMLCAiTExJTkVJTiJ9LAogCXsiTGluZSBJbnB1dCIsIE5VTEwsICJSTElORUlOIn0sCiAJeyJNaWMgQmlhcyIsIE5VTEwsICJNSUNJTiJ9LAotCi0JLyogdGVybWluYXRvciAqLwotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBpbnQgd204NzMxX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3MzFfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3MzFfZGFwbV93aWRnZXRzKSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3MzFfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3MzFfZGFwbV93aWRnZXRzW2ldKTsKLQotCS8qIHNldCB1cCBhdWRpbyBwYXRoIGludGVyY29ubmVjdHMgKi8KLQlmb3IgKGkgPSAwOyBpbnRlcmNvbltpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBpbnRlcmNvbltpXVswXSwKLQkJCWludGVyY29uW2ldWzFdLCBpbnRlcmNvbltpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGludGVyY29uLCBBUlJBWV9TSVpFKGludGVyY29uKSk7CiAKIAlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOwogCXJldHVybiAwOwpAQCAtMzQ1LDcgKzMxOCw3IEBACiAJfQogfQogCi1zdGF0aWMgaW50IHdtODczMV9tdXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3N0YXRpYyBpbnQgd204NzMxX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CiAJdTE2IG11dGVfcmVnID0gd204NzMxX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3MzFfQVBESUdJKSAmIDB4ZmZmNzsKQEAgLTM1Nyw3ICszMzAsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODczMV9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzMxX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMzc2LDcgKzM0OSw3IEBACiB9CiAKIAotc3RhdGljIGludCB3bTg3MzFfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODczMV9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtNDM1LDI5ICs0MDgsMjkgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTg3MzFfZGFwbV9ldmVudChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCkKK3N0YXRpYyBpbnQgd204NzMxX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCQkgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7CiAJdTE2IHJlZyA9IHdtODczMV9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzMxX1BXUikgJiAweGZmN2Y7CiAKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDA6IC8qIGZ1bGwgT24gKi8KKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CiAJCS8qIHZyZWYvbWlkLCBvc2Mgb24sIGRhYyB1bm11dGUgKi8KIAkJd204NzMxX3dyaXRlKGNvZGVjLCBXTTg3MzFfUFdSLCByZWcpOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMTogLyogcGFydGlhbCBPbiAqLwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOiAvKiBwYXJ0aWFsIE9uICovCisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6IC8qIE9mZiwgd2l0aCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCS8qIGV2ZXJ5dGhpbmcgb2ZmIGV4Y2VwdCB2cmVmL3ZtaWQsICovCiAJCXdtODczMV93cml0ZShjb2RlYywgV004NzMxX1BXUiwgcmVnIHwgMHgwMDQwKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkOiAvKiBPZmYsIHdpdGhvdXQgcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19PRkY6CiAJCS8qIGV2ZXJ5dGhpbmcgb2ZmLCBkYWMgbXV0ZSwgaW5hY3RpdmUgKi8KIAkJd204NzMxX3dyaXRlKGNvZGVjLCBXTTg3MzFfQUNUSVZFLCAweDApOwogCQl3bTg3MzFfd3JpdGUoY29kZWMsIFdNODczMV9QV1IsIDB4ZmZmZik7CiAJCWJyZWFrOwogCX0KLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IGV2ZW50OworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQ3MCw3ICs0NDMsNyBAQAogI2RlZmluZSBXTTg3MzFfRk9STUFUUyAoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MyMF8zTEUgfFwKIAlTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSkKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtODczMV9kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzMxX2RhaSA9IHsKIAkubmFtZSA9ICJXTTg3MzEiLAogCS5wbGF5YmFjayA9IHsKIAkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKQEAgLTUwMyw3ICs0NzYsNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAl3bTg3MzFfd3JpdGUoY29kZWMsIFdNODczMV9BQ1RJVkUsIDB4MCk7Ci0Jd204NzMxX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCXdtODczMV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTUyMSw4ICs0OTQsOCBAQAogCQlkYXRhWzFdID0gY2FjaGVbaV0gJiAweDAwZmY7CiAJCWNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKIAl9Ci0Jd204NzMxX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7Ci0Jd204NzMxX2RhcG1fZXZlbnQoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUpOworCXdtODczMV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCXdtODczMV9zZXRfYmlhc19sZXZlbChjb2RlYywgY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTUzOSwxMCArNTEyLDEwIEBACiAJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CiAJY29kZWMtPnJlYWQgPSB3bTg3MzFfcmVhZF9yZWdfY2FjaGU7CiAJY29kZWMtPndyaXRlID0gd204NzMxX3dyaXRlOwotCWNvZGVjLT5kYXBtX2V2ZW50ID0gd204NzMxX2RhcG1fZXZlbnQ7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gd204NzMxX3NldF9iaWFzX2xldmVsOwogCWNvZGVjLT5kYWkgPSAmd204NzMxX2RhaTsKIAljb2RlYy0+bnVtX2RhaSA9IDE7Ci0JY29kZWMtPnJlZ19jYWNoZV9zaXplID0gc2l6ZW9mKHdtODczMV9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUod204NzMxX3JlZyk7CiAJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAod204NzMxX3JlZywgc2l6ZW9mKHdtODczMV9yZWcpLCBHRlBfS0VSTkVMKTsKIAlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTU1Nyw3ICs1MzAsNyBAQAogCX0KIAogCS8qIHBvd2VyIG9uIGRldmljZSAqLwotCXdtODczMV9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtODczMV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCiAJLyogc2V0IHRoZSB1cGRhdGUgYml0cyAqLwogCXJlZyA9IHdtODczMV9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzMxX0xPVVQxVik7CkBAIC02MzIsMTMgKzYwNSwxMyBAQAogCiAJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKIAlpZiAocmV0IDwgMCkgewotCQllcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCXByX2VycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKIAkJZ290byBlcnI7CiAJfQogCiAJcmV0ID0gd204NzMxX2luaXQoc29jZGV2KTsKIAlpZiAocmV0IDwgMCkgewotCQllcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODczMVxuIik7CisJCXByX2VycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NzMxXG4iKTsKIAkJZ290byBlcnI7CiAJfQogCXJldHVybiByZXQ7CkBAIC02ODksNyArNjYyLDcgQEAKIAlzdHJ1Y3Qgd204NzMxX3ByaXYgKndtODczMTsKIAlpbnQgcmV0ID0gMDsKIAotCWluZm8oIldNODczMSBBdWRpbyBDb2RlYyAlcyIsIFdNODczMV9WRVJTSU9OKTsKKwlwcl9pbmZvKCJXTTg3MzEgQXVkaW8gQ29kZWMgJXMiLCBXTTg3MzFfVkVSU0lPTik7CiAKIAlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKIAljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CkBAIC03MzAsNyArNzAzLDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCi0JCXdtODczMV9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwkJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAogCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CiAJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmggYi9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5oCmluZGV4IDViY2FiNmEuLjk5ZjJlM2MgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmgKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3MzEuaApAQCAtMzgsNyArMzgsNyBAQAogCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOwogfTsKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3MzFfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTg3MzFfZGFpOwogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODczMTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5jIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTAuYwppbmRleCAxNmNkNWQ0Li5lMjNjYjA5IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmMKQEAgLTMxLDI1ICszMSw2IEBACiAjZGVmaW5lIEFVRElPX05BTUUgIldNODc1MCIKICNkZWZpbmUgV004NzUwX1ZFUlNJT04gIjAuMTIiCiAKLS8qCi0gKiBEZWJ1ZwotICovCi0KLSNkZWZpbmUgV004NzUwX0RFQlVHIDAKLQotI2lmZGVmIFdNODc1MF9ERUJVRwotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZWxzZQotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pIGRvIHt9IHdoaWxlICgwKQotI2VuZGlmCi0jZGVmaW5lIGVycihmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0VSUiBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZGVmaW5lIGluZm8oZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9JTkZPIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNkZWZpbmUgd2Fybihmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX1dBUk5JTkcgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotCiAvKiBjb2RlYyBwcml2YXRlIGRhdGEgKi8KIHN0cnVjdCB3bTg3NTBfcHJpdiB7CiAJdW5zaWduZWQgaW50IHN5c2NsazsKQEAgLTM3OCw3ICszNTksNyBAQAogCVNORF9TT0NfREFQTV9JTlBVVCgiUklOUFVUMyIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAJLyogbGVmdCBtaXhlciAqLwogCXsiTGVmdCBNaXhlciIsICJQbGF5YmFjayBTd2l0Y2giLCAiTGVmdCBEQUMifSwKIAl7IkxlZnQgTWl4ZXIiLCAiTGVmdCBCeXBhc3MgU3dpdGNoIiwgIkxlZnQgTGluZSBNdXgifSwKQEAgLTQ3MCwyMiArNDUxLDE0IEBACiAJLyogQURDICovCiAJeyJMZWZ0IEFEQyIsIE5VTEwsICJMZWZ0IEFEQyBNdXgifSwKIAl7IlJpZ2h0IEFEQyIsIE5VTEwsICJSaWdodCBBREMgTXV4In0sCi0KLQkvKiB0ZXJtaW5hdG9yICovCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGludCB3bTg3NTBfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODc1MF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODc1MF9kYXBtX3dpZGdldHMpKTsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODc1MF9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODc1MF9kYXBtX3dpZGdldHNbaV0pOwotCi0JLyogc2V0IHVwIGF1ZGlvIHBhdGggYXVkaW9fbWFwbmVjdHMgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKIAlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOwogCXJldHVybiAwOwpAQCAtNTYzLDcgKzUzNiw3IEBACiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUwX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTBfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC01ODEsNyArNTU0LDcgQEAKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAotc3RhdGljIGludCB3bTg3NTBfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1MF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtNjc0LDcgKzY0Nyw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUwX211dGUoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIGludCBtdXRlKQorc3RhdGljIGludCB3bTg3NTBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKIAl1MTYgbXV0ZV9yZWcgPSB3bTg3NTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODc1MF9BRENEQUMpICYgMHhmZmY3OwpAQCAtNjg2LDI5ICs2NTksMjkgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTg3NTBfZGFwbV9ldmVudChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCkKK3N0YXRpYyBpbnQgd204NzUwX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCQkgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7CiAJdTE2IHB3cl9yZWcgPSB3bTg3NTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODc1MF9QV1IxKSAmIDB4ZmUzZTsKIAotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDogLyogZnVsbCBPbiAqLworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKIAkJLyogc2V0IHZtaWQgdG8gNTBrIGFuZCB1bm11dGUgZGFjICovCiAJCXdtODc1MF93cml0ZShjb2RlYywgV004NzUwX1BXUjEsIHB3cl9yZWcgfCAweDAwYzApOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMTogLyogcGFydGlhbCBPbiAqLwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOiAvKiBwYXJ0aWFsIE9uICovCisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKIAkJLyogc2V0IHZtaWQgdG8gNWsgZm9yIHF1aWNrIHBvd2VyIHVwICovCiAJCXdtODc1MF93cml0ZShjb2RlYywgV004NzUwX1BXUjEsIHB3cl9yZWcgfCAweDAxYzEpOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDogLyogT2ZmLCB3aXRoIHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKIAkJLyogbXV0ZSBkYWMgYW5kIHNldCB2bWlkIHRvIDUwMGssIGVuYWJsZSBWUkVGICovCiAJCXdtODc1MF93cml0ZShjb2RlYywgV004NzUwX1BXUjEsIHB3cl9yZWcgfCAweDAxNDEpOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6IC8qIE9mZiwgd2l0aG91dCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJd204NzUwX3dyaXRlKGNvZGVjLCBXTTg3NTBfUFdSMSwgMHgwMDAxKTsKIAkJYnJlYWs7CiAJfQotCWNvZGVjLT5kYXBtX3N0YXRlID0gZXZlbnQ7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzE5LDcgKzY5Miw3IEBACiAjZGVmaW5lIFdNODc1MF9GT1JNQVRTIChTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzIwXzNMRSB8XAogCVNORFJWX1BDTV9GTVRCSVRfUzI0X0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzUwX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg3NTBfZGFpID0gewogCS5uYW1lID0gIldNODc1MCIsCiAJLnBsYXliYWNrID0gewogCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLApAQCAtNzQ4LDcgKzcyMSw3IEBACiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0KIAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBzbmRfc29jX2NvZGVjLCBkZWxheWVkX3dvcmsud29yayk7Ci0Jd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIGNvZGVjLT5kYXBtX3N0YXRlKTsKKwl3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5iaWFzX2xldmVsKTsKIH0KIAogc3RhdGljIGludCB3bTg3NTBfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCkBAIC03NTYsNyArNzI5LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKLQl3bTg3NTBfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzc3LDEyICs3NTAsMTIgQEAKIAkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOwogCX0KIAotCXdtODc1MF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtODc1MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCiAJLyogY2hhcmdlIHdtODc1MCBjYXBzICovCi0JaWYgKGNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUgPT0gU05EUlZfQ1RMX1BPV0VSX0QwKSB7Ci0JCXdtODc1MF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDIpOwotCQljb2RlYy0+ZGFwbV9zdGF0ZSA9IFNORFJWX0NUTF9QT1dFUl9EMDsKKwlpZiAoY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCA9PSBTTkRfU09DX0JJQVNfT04pIHsKKwkJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfUFJFUEFSRSk7CisJCWNvZGVjLT5iaWFzX2xldmVsID0gU05EX1NPQ19CSUFTX09OOwogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmssCiAJCQkJCW1zZWNzX3RvX2ppZmZpZXMoMTAwMCkpOwogCX0KQEAgLTgwMywxMCArNzc2LDEwIEBACiAJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CiAJY29kZWMtPnJlYWQgPSB3bTg3NTBfcmVhZF9yZWdfY2FjaGU7CiAJY29kZWMtPndyaXRlID0gd204NzUwX3dyaXRlOwotCWNvZGVjLT5kYXBtX2V2ZW50ID0gd204NzUwX2RhcG1fZXZlbnQ7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gd204NzUwX3NldF9iaWFzX2xldmVsOwogCWNvZGVjLT5kYWkgPSAmd204NzUwX2RhaTsKIAljb2RlYy0+bnVtX2RhaSA9IDE7Ci0JY29kZWMtPnJlZ19jYWNoZV9zaXplID0gc2l6ZW9mKHdtODc1MF9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUod204NzUwX3JlZyk7CiAJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAod204NzUwX3JlZywgc2l6ZW9mKHdtODc1MF9yZWcpLCBHRlBfS0VSTkVMKTsKIAlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTgyMSw4ICs3OTQsOCBAQAogCX0KIAogCS8qIGNoYXJnZSBvdXRwdXQgY2FwcyAqLwotCXdtODc1MF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDIpOwotCWNvZGVjLT5kYXBtX3N0YXRlID0gU05EUlZfQ1RMX1BPV0VSX0QzaG90OworCXdtODc1MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1BSRVBBUkUpOworCWNvZGVjLT5iaWFzX2xldmVsID0gU05EX1NPQ19CSUFTX1NUQU5EQlk7CiAJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZjb2RlYy0+ZGVsYXllZF93b3JrLCBtc2Vjc190b19qaWZmaWVzKDEwMDApKTsKIAogCS8qIHNldCB0aGUgdXBkYXRlIGJpdHMgKi8KQEAgLTkwNCwxMyArODc3LDEzIEBACiAKIAlyZXQgPSBpMmNfYXR0YWNoX2NsaWVudChpMmMpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWVycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOwogCQlnb3RvIGVycjsKIAl9CiAKIAlyZXQgPSB3bTg3NTBfaW5pdChzb2NkZXYpOwogCWlmIChyZXQgPCAwKSB7Ci0JZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg3NTBcbiIpOworCQlwcl9lcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODc1MFxuIik7CiAJCWdvdG8gZXJyOwogCX0KIAlyZXR1cm4gcmV0OwpAQCAtOTYxLDcgKzkzNCw3IEBACiAJc3RydWN0IHdtODc1MF9wcml2ICp3bTg3NTA7CiAJaW50IHJldCA9IDA7CiAKLQlpbmZvKCJXTTg3NTAgQXVkaW8gQ29kZWMgJXMiLCBXTTg3NTBfVkVSU0lPTik7CisJcHJfaW5mbygiV004NzUwIEF1ZGlvIENvZGVjICVzIiwgV004NzUwX1ZFUlNJT04pOwogCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoY29kZWMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0xMDIxLDcgKzk5NCw3IEBACiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAogCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQotCQl3bTg3NTBfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJCXdtODc1MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAJcnVuX2RlbGF5ZWRfd29yaygmY29kZWMtPmRlbGF5ZWRfd29yayk7CiAJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKIAlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg3NTAuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmgKaW5kZXggYTk3YTU0YS4uOGVmMzBlNiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg3NTAuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5oCkBAIC02MSw3ICs2MSw3IEBACiAJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7CiB9OwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtODc1MF9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtODc1MF9kYWk7CiBleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NzUwOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5jCmluZGV4IGZiNDE4MjYuLjg2MDQ4MDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTMuYwpAQCAtNTUsMjUgKzU1LDYgQEAKICNkZWZpbmUgQVVESU9fTkFNRSAid204NzUzIgogI2RlZmluZSBXTTg3NTNfVkVSU0lPTiAiMC4xNiIKIAotLyoKLSAqIERlYnVnCi0gKi8KLQotI2RlZmluZSBXTTg3NTNfREVCVUcgMAotCi0jaWZkZWYgV004NzUzX0RFQlVHCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNlbHNlCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgZG8ge30gd2hpbGUgKDApCi0jZW5kaWYKLSNkZWZpbmUgZXJyKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fRVJSIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNkZWZpbmUgaW5mbyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0lORk8gQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSB3YXJuKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fV0FSTklORyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0KIHN0YXRpYyBpbnQgY2Fwc19jaGFyZ2UgPSAyMDAwOwogbW9kdWxlX3BhcmFtKGNhcHNfY2hhcmdlLCBpbnQsIDApOwogTU9EVUxFX1BBUk1fREVTQyhjYXBzX2NoYXJnZSwgIldNODc1MyBjYXAgY2hhcmdlIHRpbWUgKG1zZWNzKSIpOwpAQCAtMjYwLDI4ICsyNDEsNTAgQEAKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihyZWNfbWl4X3RsdiwgLTE1MDAsIDYwMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUocmVjX21peF90bHYsIC0xNTAwLCAzMDAsIDApOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKG1pY19wcmVhbXBfdGx2LCAxMjAwLCA2MDAsIDApOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKGFkY190bHYsIC05NzUwLCA1MCwgMSk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoZGFjX3RsdiwgLTEyNzUwLCA1MCwgMSk7CitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG91dF90bHZbXSA9IHsKKwlUTFZfREJfUkFOR0VfSEVBRCgyKSwKKwkvKiAwMDAwMDAwIC0gMDEwMTExMSA9ICJBbmFsb2d1ZSBtdXRlIiAqLworCTAsIDQ4LCBUTFZfREJfU0NBTEVfSVRFTSgtMjU1MDAsIDAsIDApLAorCTQ4LCAxMjcsIFRMVl9EQl9TQ0FMRV9JVEVNKC03MzAwLCAxMDAsIDApLAorfTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShtaXhfdGx2LCAtMTUwMCwgMzAwLCAwKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRSh2b2ljZV9taXhfdGx2LCAtMTIwMCwgMzAwLCAwKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShwZ2FfdGx2LCAtMTcyNSwgNzUsIDApOwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NzUzX3NuZF9jb250cm9sc1tdID0gewotU09DX0RPVUJMRV9SKCJQQ00gVm9sdW1lIiwgV004NzUzX0xEQUMsIFdNODc1M19SREFDLCAwLCAyNTUsIDApLAorU09DX0RPVUJMRV9SX1RMVigiUENNIFZvbHVtZSIsIFdNODc1M19MREFDLCBXTTg3NTNfUkRBQywgMCwgMjU1LCAwLCBkYWNfdGx2KSwKIAotU09DX0RPVUJMRV9SKCJBREMgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfTEFEQywgV004NzUzX1JBREMsIDAsIDI1NSwgMCksCitTT0NfRE9VQkxFX1JfVExWKCJBREMgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfTEFEQywgV004NzUzX1JBREMsIDAsIDI1NSwgMCwKKwkJIGFkY190bHYpLAogCi1TT0NfRE9VQkxFX1IoIkhlYWRwaG9uZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVDFWLCBXTTg3NTNfUk9VVDFWLCAwLCAxMjcsIDApLAotU09DX0RPVUJMRV9SKCJTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUMlYsIFdNODc1M19ST1VUMlYsIDAsIDEyNywgMCksCitTT0NfRE9VQkxFX1JfVExWKCJIZWFkcGhvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVQxViwgV004NzUzX1JPVVQxViwKKwkJIDAsIDEyNywgMCwgb3V0X3RsdiksCitTT0NfRE9VQkxFX1JfVExWKCJTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUMlYsIFdNODc1M19ST1VUMlYsIDAsCisJCSAxMjcsIDAsIG91dF90bHYpLAogCi1TT0NfU0lOR0xFKCJNb25vIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUViwgMCwgMTI3LCAwKSwKK1NPQ19TSU5HTEVfVExWKCJNb25vIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUViwgMCwgMTI3LCAwLCBvdXRfdGx2KSwKIAotU09DX0RPVUJMRV9SKCJCeXBhc3MgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVRNMSwgV004NzUzX1JPVVRNMSwgNCwgNywgMSksCi1TT0NfRE9VQkxFX1IoIlNpZGV0b25lIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTIsIFdNODc1M19ST1VUTTIsIDQsIDcsIDEpLAotU09DX0RPVUJMRV9SKCJWb2ljZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVE0yLCBXTTg3NTNfUk9VVE0yLCAwLCA3LCAxKSwKK1NPQ19ET1VCTEVfUl9UTFYoIkJ5cGFzcyBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVE0xLCBXTTg3NTNfUk9VVE0xLCA0LCA3LAorCQkgMSwgbWl4X3RsdiksCitTT0NfRE9VQkxFX1JfVExWKCJTaWRldG9uZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVE0yLCBXTTg3NTNfUk9VVE0yLCA0LAorCQkgNywgMSwgbWl4X3RsdiksCitTT0NfRE9VQkxFX1JfVExWKCJWb2ljZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVE0yLCBXTTg3NTNfUk9VVE0yLCAwLCA3LAorCQkgMSwgdm9pY2VfbWl4X3RsdiksCiAKLVNPQ19ET1VCTEVfUigiSGVhZHBob25lIFBsYXliYWNrIFpDIFN3aXRjaCIsIFdNODc1M19MT1VUMVYsIFdNODc1M19ST1VUMVYsIDcsIDEsIDApLAotU09DX0RPVUJMRV9SKCJTcGVha2VyIFBsYXliYWNrIFpDIFN3aXRjaCIsIFdNODc1M19MT1VUMlYsIFdNODc1M19ST1VUMlYsIDcsIDEsIDApLAorU09DX0RPVUJMRV9SKCJIZWFkcGhvbmUgUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX0xPVVQxViwgV004NzUzX1JPVVQxViwgNywKKwkgICAgIDEsIDApLAorU09DX0RPVUJMRV9SKCJTcGVha2VyIFBsYXliYWNrIFpDIFN3aXRjaCIsIFdNODc1M19MT1VUMlYsIFdNODc1M19ST1VUMlYsIDcsCisJICAgICAxLCAwKSwKIAotU09DX1NJTkdMRSgiTW9ubyBCeXBhc3MgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRNMSwgNCwgNywgMSksCi1TT0NfU0lOR0xFKCJNb25vIFNpZGV0b25lIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUTTIsIDQsIDcsIDEpLAotU09DX1NJTkdMRSgiTW9ubyBWb2ljZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVE0yLCAwLCA3LCAxKSwKK1NPQ19TSU5HTEVfVExWKCJNb25vIEJ5cGFzcyBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVE0xLCA0LCA3LCAxLCBtaXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJNb25vIFNpZGV0b25lIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUTTIsIDQsIDcsIDEsCisJICAgICAgIG1peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIk1vbm8gVm9pY2UgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRNMiwgMCwgNywgMSwKKwkgICAgICAgdm9pY2VfbWl4X3RsdiksCiBTT0NfU0lOR0xFKCJNb25vIFBsYXliYWNrIFpDIFN3aXRjaCIsIFdNODc1M19NT1VUViwgNywgMSwgMCksCiAKIFNPQ19FTlVNKCJCYXNzIEJvb3N0Iiwgd204NzUzX2VudW1bMF0pLApAQCAtMjkxLDEwICsyOTQsMTMgQEAKIFNPQ19TSU5HTEUoIlRyZWJsZSBWb2x1bWUiLCBXTTg3NTNfVFJFQkxFLCAwLCAxNSwgMSksCiBTT0NfRU5VTSgiVHJlYmxlIEN1dC1vZmYiLCB3bTg3NTNfZW51bVsyXSksCiAKLVNPQ19ET1VCTEVfVExWKCJTaWRldG9uZSBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19SRUNNSVgxLCAwLCA0LCA3LCAxLCByZWNfbWl4X3RsdiksCi1TT0NfU0lOR0xFX1RMVigiVm9pY2UgU2lkZXRvbmUgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfUkVDTUlYMiwgMCwgNywgMSwgcmVjX21peF90bHYpLAorU09DX0RPVUJMRV9UTFYoIlNpZGV0b25lIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX1JFQ01JWDEsIDAsIDQsIDcsIDEsCisJICAgICAgIHJlY19taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJWb2ljZSBTaWRldG9uZSBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19SRUNNSVgyLCAwLCA3LCAxLAorCSAgICAgICByZWNfbWl4X3RsdiksCiAKLVNPQ19ET1VCTEVfUigiQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfTElOVk9MLCBXTTg3NTNfUklOVk9MLCAwLCA2MywgMCksCitTT0NfRE9VQkxFX1JfVExWKCJDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19MSU5WT0wsIFdNODc1M19SSU5WT0wsIDAsIDYzLCAwLAorCQkgcGdhX3RsdiksCiBTT0NfRE9VQkxFX1IoIkNhcHR1cmUgWkMgU3dpdGNoIiwgV004NzUzX0xJTlZPTCwgV004NzUzX1JJTlZPTCwgNiwgMSwgMCksCiBTT0NfRE9VQkxFX1IoIkNhcHR1cmUgU3dpdGNoIiwgV004NzUzX0xJTlZPTCwgV004NzUzX1JJTlZPTCwgNywgMSwgMSksCiAKQEAgLTMyNiw4ICszMzIsOCBAQAogU09DX0VOVU0oIlBsYXliYWNrIE1vbm8gTWl4Iiwgd204NzUzX2VudW1bOV0pLAogU09DX0VOVU0oIlBsYXliYWNrIFBoYXNlIiwgd204NzUzX2VudW1bMTBdKSwKIAotU09DX1NJTkdMRSgiTWljMiBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19JTkNUTDEsIDcsIDMsIDApLAotU09DX1NJTkdMRSgiTWljMSBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19JTkNUTDEsIDUsIDMsIDApLAorU09DX1NJTkdMRV9UTFYoIk1pYzIgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfSU5DVEwxLCA3LCAzLCAwLCBtaWNfcHJlYW1wX3RsdiksCitTT0NfU0lOR0xFX1RMVigiTWljMSBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19JTkNUTDEsIDUsIDMsIDAsIG1pY19wcmVhbXBfdGx2KSwKIAogU09DX0VOVU1fRVhUKCJEQUkgTW9kZSIsIHdtODc1M19lbnVtWzI2XSwgd204NzUzX2dldF9kYWksIHdtODc1M19zZXRfZGFpKSwKIApAQCAtNTIzLDcgKzUyOSw3IEBACiBTTkRfU09DX0RBUE1fVk1JRCgiVlJFRiIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAJLyogbGVmdCBtaXhlciAqLwogCXsiTGVmdCBNaXhlciIsICJMZWZ0IFBsYXliYWNrIFN3aXRjaCIsICJMZWZ0IERBQyJ9LAogCXsiTGVmdCBNaXhlciIsICJWb2ljZSBQbGF5YmFjayBTd2l0Y2giLCAiVm9pY2UgREFDIn0sCkBAIC02NzQsMjMgKzY4MCwxNCBAQAogCiAJLyogQUNPUCAqLwogCXsiQUNPUCIsIE5VTEwsICJBTEMgTWl4ZXIifSwKLQotCS8qIHRlcm1pbmF0b3IgKi8KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgaW50IHdtODc1M19hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzUzX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzUzX2RhcG1fd2lkZ2V0cykpOwogCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzUzX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzUzX2RhcG1fd2lkZ2V0c1tpXSk7Ci0KLQkvKiBzZXQgdXAgdGhlIFdNODc1MyBhdWRpbyBtYXAgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKSB7Ci0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7Ci0JfQorCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKIAlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOwogCXJldHVybiAwOwpAQCAtNzQzLDcgKzc0MCw3IEBACiAJcGxsX2Rpdi0+ayA9IEs7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9wbGwoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpCiB7CiAJdTE2IHJlZywgZW5hYmxlOwpAQCAtODY2LDcgKzg2Myw3IEBACiAvKgogICogQ2xvY2sgYWZ0ZXIgUExMIGFuZCBkaXZpZGVycwogICovCi1zdGF0aWMgaW50IHdtODc1M19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtODkzLDcgKzg5MCw3IEBACiAvKgogICogU2V0J3MgQURDIGFuZCBWb2ljZSBEQUMgZm9ybWF0LgogICovCi1zdGF0aWMgaW50IHdtODc1M192ZGFjX2FkY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX3ZkYWNfYWRjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC05NjMsNyArOTYwLDcgQEAKIC8qCiAgKiBTZXQncyBQQ00gZGFpIGZtdCBhbmQgQkNMSy4KICAqLwotc3RhdGljIGludCB3bTg3NTNfcGNtX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfcGNtX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMDI5LDcgKzEwMjYsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQlpbnQgZGl2X2lkLCBpbnQgZGl2KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMDU3LDcgKzEwNTQsNyBAQAogLyoKICAqIFNldCdzIEhpRmkgREFDIGZvcm1hdC4KICAqLwotc3RhdGljIGludCB3bTg3NTNfaGRhY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX2hkYWNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEwOTAsNyArMTA4Nyw3IEBACiAvKgogICogU2V0J3MgSTJTIERBSSBmb3JtYXQuCiAgKi8KLXN0YXRpYyBpbnQgd204NzUzX2kyc19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX2kyc19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTE5OCw3ICsxMTk1LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfbW9kZTF2X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfbW9kZTF2X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMjEzLDcgKzEyMTAsNyBAQAogCXJldHVybiB3bTg3NTNfcGNtX3NldF9kYWlfZm10KGNvZGVjX2RhaSwgZm10KTsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfbW9kZTFoX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfbW9kZTFoX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCWlmICh3bTg3NTNfaGRhY19zZXRfZGFpX2ZtdChjb2RlY19kYWksIGZtdCkgPCAwKQpAQCAtMTIyMSw3ICsxMjE4LDcgQEAKIAlyZXR1cm4gd204NzUzX2kyc19zZXRfZGFpX2ZtdChjb2RlY19kYWksIGZtdCk7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX21vZGUyX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfbW9kZTJfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEyMzYsNyArMTIzMyw3IEBACiAJcmV0dXJuIHdtODc1M19pMnNfc2V0X2RhaV9mbXQoY29kZWNfZGFpLCBmbXQpOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19tb2RlM180X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfbW9kZTNfNF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTI1Myw3ICsxMjUwLDcgQEAKIAlyZXR1cm4gd204NzUzX2kyc19zZXRfZGFpX2ZtdChjb2RlY19kYWksIGZtdCk7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX211dGUoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIGludCBtdXRlKQorc3RhdGljIGludCB3bTg3NTNfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKIAl1MTYgbXV0ZV9yZWcgPSB3bTg3NTNfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODc1M19EQUMpICYgMHhmZmY3OwpAQCAtMTI3NCwyOSArMTI3MSwyOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19kYXBtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGV2ZW50KQorc3RhdGljIGludCB3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCSBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKIAl1MTYgcHdyX3JlZyA9IHdtODc1M19yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzUzX1BXUjEpICYgMHhmZTNlOwogCi0Jc3dpdGNoIChldmVudCkgewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOiAvKiBmdWxsIE9uICovCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgogCQkvKiBzZXQgdm1pZCB0byA1MGsgYW5kIHVubXV0ZSBkYWMgKi8KIAkJd204NzUzX3dyaXRlKGNvZGVjLCBXTTg3NTNfUFdSMSwgcHdyX3JlZyB8IDB4MDBjMCk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOiAvKiBwYXJ0aWFsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6IC8qIHBhcnRpYWwgT24gKi8KKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQkvKiBzZXQgdm1pZCB0byA1ayBmb3IgcXVpY2sgcG93ZXIgdXAgKi8KIAkJd204NzUzX3dyaXRlKGNvZGVjLCBXTTg3NTNfUFdSMSwgcHdyX3JlZyB8IDB4MDFjMSk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OiAvKiBPZmYsIHdpdGggcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgogCQkvKiBtdXRlIGRhYyBhbmQgc2V0IHZtaWQgdG8gNTAwaywgZW5hYmxlIFZSRUYgKi8KIAkJd204NzUzX3dyaXRlKGNvZGVjLCBXTTg3NTNfUFdSMSwgcHdyX3JlZyB8IDB4MDE0MSk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDogLyogT2ZmLCB3aXRob3V0IHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgogCQl3bTg3NTNfd3JpdGUoY29kZWMsIFdNODc1M19QV1IxLCAweDAwMDEpOwogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCXJldHVybiAwOwogfQogCkBAIC0xMzE5LDcgKzEzMTYsNyBAQAogICogMy4gVm9pY2UgZGlzYWJsZWQgLSBISUZJIG92ZXIgSElGSQogICogNC4gVm9pY2UgZGlzYWJsZWQgLSBISUZJIG92ZXIgSElGSSwgdXNlcyB2b2ljZSBEQUkgTFJDIGZvciBjYXB0dXJlCiAgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzUzX2FsbF9kYWlbXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzUzX2FsbF9kYWlbXSA9IHsKIC8qIERBSSBIaUZpIG1vZGUgMSAqLwogewkubmFtZSA9ICJXTTg3NTMgSGlGaSIsCiAJLmlkID0gMSwKQEAgLTE0NTksNyArMTQ1Niw3IEBACiB9LAogfTsKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtODc1M19kYWlbMl07CitzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzUzX2RhaVsyXTsKIEVYUE9SVF9TWU1CT0xfR1BMKHdtODc1M19kYWkpOwogCiBzdGF0aWMgdm9pZCB3bTg3NTNfc2V0X2RhaV9tb2RlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IG1vZGUpCkBAIC0xNTAwLDcgKzE0OTcsNyBAQAogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3Qgc25kX3NvY19jb2RlYywgZGVsYXllZF93b3JrLndvcmspOwotCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBjb2RlYy0+ZGFwbV9zdGF0ZSk7CisJd204NzUzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+Ymlhc19sZXZlbCk7CiB9CiAKIHN0YXRpYyBpbnQgd204NzUzX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQpAQCAtMTUxMiw3ICsxNTA5LDcgQEAKIAlpZiAoIWNvZGVjLT5jYXJkKQogCQlyZXR1cm4gMDsKIAotCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwl3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCXJldHVybiAwOwogfQogCkBAIC0xNTM3LDEyICsxNTM0LDEyIEBACiAJCWNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKIAl9CiAKLQl3bTg3NTNfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwl3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKIAogCS8qIGNoYXJnZSB3bTg3NTMgY2FwcyAqLwotCWlmIChjb2RlYy0+c3VzcGVuZF9kYXBtX3N0YXRlID09IFNORFJWX0NUTF9QT1dFUl9EMCkgewotCQl3bTg3NTNfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QyKTsKLQkJY29kZWMtPmRhcG1fc3RhdGUgPSBTTkRSVl9DVExfUE9XRVJfRDA7CisJaWYgKGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwgPT0gU05EX1NPQ19CSUFTX09OKSB7CisJCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1BSRVBBUkUpOworCQljb2RlYy0+Ymlhc19sZXZlbCA9IFNORF9TT0NfQklBU19PTjsKIAkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZjb2RlYy0+ZGVsYXllZF93b3JrLAogCQkJbXNlY3NfdG9famlmZmllcyhjYXBzX2NoYXJnZSkpOwogCX0KQEAgLTE1NjMsMTAgKzE1NjAsMTAgQEAKIAljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKIAljb2RlYy0+cmVhZCA9IHdtODc1M19yZWFkX3JlZ19jYWNoZTsKIAljb2RlYy0+d3JpdGUgPSB3bTg3NTNfd3JpdGU7Ci0JY29kZWMtPmRhcG1fZXZlbnQgPSB3bTg3NTNfZGFwbV9ldmVudDsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTg3NTNfc2V0X2JpYXNfbGV2ZWw7CiAJY29kZWMtPmRhaSA9IHdtODc1M19kYWk7CiAJY29kZWMtPm51bV9kYWkgPSAyOwotCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IHNpemVvZih3bTg3NTNfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKHdtODc1M19yZWcpOwogCWNvZGVjLT5yZWdfY2FjaGUgPSBrbWVtZHVwKHdtODc1M19yZWcsIHNpemVvZih3bTg3NTNfcmVnKSwgR0ZQX0tFUk5FTCk7CiAKIAlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQpAQCAtMTU4NCw4ICsxNTgxLDggQEAKIAl9CiAKIAkvKiBjaGFyZ2Ugb3V0cHV0IGNhcHMgKi8KLQl3bTg3NTNfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QyKTsKLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IFNORFJWX0NUTF9QT1dFUl9EM2hvdDsKKwl3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19QUkVQQVJFKTsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IFNORF9TT0NfQklBU19TVEFOREJZOwogCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmY29kZWMtPmRlbGF5ZWRfd29yaywKIAkJbXNlY3NfdG9famlmZmllcyhjYXBzX2NoYXJnZSkpOwogCkBAIC0xNjczLDEzICsxNjcwLDEzIEBACiAKIAlyZXQgPSBpMmNfYXR0YWNoX2NsaWVudChpMmMpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWVycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOwogCQlnb3RvIGVycjsKIAl9CiAKIAlyZXQgPSB3bTg3NTNfaW5pdChzb2NkZXYpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWVycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NzUzXG4iKTsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg3NTNcbiIpOwogCQlnb3RvIGVycjsKIAl9CiAKQEAgLTE3MzEsNyArMTcyOCw3IEBACiAJc3RydWN0IHdtODc1M19wcml2ICp3bTg3NTM7CiAJaW50IHJldCA9IDA7CiAKLQlpbmZvKCJXTTg3NTMgQXVkaW8gQ29kZWMgJXMiLCBXTTg3NTNfVkVSU0lPTik7CisJcHJfaW5mbygiV004NzUzIEF1ZGlvIENvZGVjICVzIiwgV004NzUzX1ZFUlNJT04pOwogCiAJc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CiAJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOwpAQCAtMTc5Miw3ICsxNzg5LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCi0JCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwkJd204NzUzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlydW5fZGVsYXllZF93b3JrKCZjb2RlYy0+ZGVsYXllZF93b3JrKTsKIAlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOwogCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5oIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTMuaAppbmRleCA5NWUyYTFmLi40NGY1ZjFmIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmgKQEAgLTEyMCw3ICsxMjAsNyBAQAogI2RlZmluZSBXTTg3NTNfREFJX0hJRkkJCTAKICNkZWZpbmUgV004NzUzX0RBSV9WT0lDRQkJMQogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtODc1M19kYWlbMl07CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtODc1M19kYWlbMl07CiBleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NzUzOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODk5MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlY2NlNTEKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODk5MC5jCkBAIC0wLDAgKzEsMTYyNiBAQAorLyoKKyAqIHdtODk5MC5jICAtLSAgV004OTkwIEFMU0EgU29jIEF1ZGlvIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAyMDA4IFdvbGZzb24gTWljcm9lbGVjdHJvbmljcyBQTEMuCisgKiBBdXRob3I6IExpYW0gR2lyZHdvb2QKKyAqICAgICAgICAgbGdAb3BlbnNvdXJjZS53b2xmc29ubWljcm8uY29tIG9yIGxpbnV4QHdvbGZzb25taWNyby5jb20KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlICBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCisgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9wbS5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvdGx2Lmg+CisjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CisKKyNpbmNsdWRlICJ3bTg5OTAuaCIKKworI2RlZmluZSBBVURJT19OQU1FICJ3bTg5OTAiCisjZGVmaW5lIFdNODk5MF9WRVJTSU9OICIwLjIiCisKKy8qIGNvZGVjIHByaXZhdGUgZGF0YSAqLworc3RydWN0IHdtODk5MF9wcml2IHsKKwl1bnNpZ25lZCBpbnQgc3lzY2xrOworCXVuc2lnbmVkIGludCBwY21jbGs7Cit9OworCisvKgorICogd204OTkwIHJlZ2lzdGVyIGNhY2hlLiAgTm90ZSB0aGF0IHJlZ2lzdGVyIDAgaXMgbm90IGluY2x1ZGVkIGluIHRoZQorICogY2FjaGUuCisgKi8KK3N0YXRpYyBjb25zdCB1MTYgd204OTkwX3JlZ1tdID0geworCTB4ODk5MCwgICAgIC8qIFIwICAtIFJlc2V0ICovCisJMHgwMDAwLCAgICAgLyogUjEgIC0gUG93ZXIgTWFuYWdlbWVudCAoMSkgKi8KKwkweDYwMDAsICAgICAvKiBSMiAgLSBQb3dlciBNYW5hZ2VtZW50ICgyKSAqLworCTB4MDAwMCwgICAgIC8qIFIzICAtIFBvd2VyIE1hbmFnZW1lbnQgKDMpICovCisJMHg0MDUwLCAgICAgLyogUjQgIC0gQXVkaW8gSW50ZXJmYWNlICgxKSAqLworCTB4NDAwMCwgICAgIC8qIFI1ICAtIEF1ZGlvIEludGVyZmFjZSAoMikgKi8KKwkweDAxQzgsICAgICAvKiBSNiAgLSBDbG9ja2luZyAoMSkgKi8KKwkweDAwMDAsICAgICAvKiBSNyAgLSBDbG9ja2luZyAoMikgKi8KKwkweDAwNDAsICAgICAvKiBSOCAgLSBBdWRpbyBJbnRlcmZhY2UgKDMpICovCisJMHgwMDQwLCAgICAgLyogUjkgIC0gQXVkaW8gSW50ZXJmYWNlICg0KSAqLworCTB4MDAwNCwgICAgIC8qIFIxMCAtIERBQyBDVFJMICovCisJMHgwMEMwLCAgICAgLyogUjExIC0gTGVmdCBEQUMgRGlnaXRhbCBWb2x1bWUgKi8KKwkweDAwQzAsICAgICAvKiBSMTIgLSBSaWdodCBEQUMgRGlnaXRhbCBWb2x1bWUgKi8KKwkweDAwMDAsICAgICAvKiBSMTMgLSBEaWdpdGFsIFNpZGUgVG9uZSAqLworCTB4MDEwMCwgICAgIC8qIFIxNCAtIEFEQyBDVFJMICovCisJMHgwMEMwLCAgICAgLyogUjE1IC0gTGVmdCBBREMgRGlnaXRhbCBWb2x1bWUgKi8KKwkweDAwQzAsICAgICAvKiBSMTYgLSBSaWdodCBBREMgRGlnaXRhbCBWb2x1bWUgKi8KKwkweDAwMDAsICAgICAvKiBSMTcgKi8KKwkweDAwMDAsICAgICAvKiBSMTggLSBHUElPIENUUkwgMSAqLworCTB4MTAwMCwgICAgIC8qIFIxOSAtIEdQSU8xICYgR1BJTzIgKi8KKwkweDEwMTAsICAgICAvKiBSMjAgLSBHUElPMyAmIEdQSU80ICovCisJMHgxMDEwLCAgICAgLyogUjIxIC0gR1BJTzUgJiBHUElPNiAqLworCTB4ODAwMCwgICAgIC8qIFIyMiAtIEdQSU9DVFJMIDIgKi8KKwkweDA4MDAsICAgICAvKiBSMjMgLSBHUElPX1BPTCAqLworCTB4MDA4QiwgICAgIC8qIFIyNCAtIExlZnQgTGluZSBJbnB1dCAxJjIgVm9sdW1lICovCisJMHgwMDhCLCAgICAgLyogUjI1IC0gTGVmdCBMaW5lIElucHV0IDMmNCBWb2x1bWUgKi8KKwkweDAwOEIsICAgICAvKiBSMjYgLSBSaWdodCBMaW5lIElucHV0IDEmMiBWb2x1bWUgKi8KKwkweDAwOEIsICAgICAvKiBSMjcgLSBSaWdodCBMaW5lIElucHV0IDMmNCBWb2x1bWUgKi8KKwkweDAwMDAsICAgICAvKiBSMjggLSBMZWZ0IE91dHB1dCBWb2x1bWUgKi8KKwkweDAwMDAsICAgICAvKiBSMjkgLSBSaWdodCBPdXRwdXQgVm9sdW1lICovCisJMHgwMDY2LCAgICAgLyogUjMwIC0gTGluZSBPdXRwdXRzIFZvbHVtZSAqLworCTB4MDAyMiwgICAgIC8qIFIzMSAtIE91dDMvNCBWb2x1bWUgKi8KKwkweDAwNzksICAgICAvKiBSMzIgLSBMZWZ0IE9QR0EgVm9sdW1lICovCisJMHgwMDc5LCAgICAgLyogUjMzIC0gUmlnaHQgT1BHQSBWb2x1bWUgKi8KKwkweDAwMDMsICAgICAvKiBSMzQgLSBTcGVha2VyIFZvbHVtZSAqLworCTB4MDAwMywgICAgIC8qIFIzNSAtIENsYXNzRDEgKi8KKwkweDAwMDAsICAgICAvKiBSMzYgKi8KKwkweDAxMDAsICAgICAvKiBSMzcgLSBDbGFzc0QzICovCisJMHgwMDAwLCAgICAgLyogUjM4ICovCisJMHgwMDAwLCAgICAgLyogUjM5IC0gSW5wdXQgTWl4ZXIxICovCisJMHgwMDAwLCAgICAgLyogUjQwIC0gSW5wdXQgTWl4ZXIyICovCisJMHgwMDAwLCAgICAgLyogUjQxIC0gSW5wdXQgTWl4ZXIzICovCisJMHgwMDAwLCAgICAgLyogUjQyIC0gSW5wdXQgTWl4ZXI0ICovCisJMHgwMDAwLCAgICAgLyogUjQzIC0gSW5wdXQgTWl4ZXI1ICovCisJMHgwMDAwLCAgICAgLyogUjQ0IC0gSW5wdXQgTWl4ZXI2ICovCisJMHgwMDAwLCAgICAgLyogUjQ1IC0gT3V0cHV0IE1peGVyMSAqLworCTB4MDAwMCwgICAgIC8qIFI0NiAtIE91dHB1dCBNaXhlcjIgKi8KKwkweDAwMDAsICAgICAvKiBSNDcgLSBPdXRwdXQgTWl4ZXIzICovCisJMHgwMDAwLCAgICAgLyogUjQ4IC0gT3V0cHV0IE1peGVyNCAqLworCTB4MDAwMCwgICAgIC8qIFI0OSAtIE91dHB1dCBNaXhlcjUgKi8KKwkweDAwMDAsICAgICAvKiBSNTAgLSBPdXRwdXQgTWl4ZXI2ICovCisJMHgwMTgwLCAgICAgLyogUjUxIC0gT3V0My80IE1peGVyICovCisJMHgwMDAwLCAgICAgLyogUjUyIC0gTGluZSBNaXhlcjEgKi8KKwkweDAwMDAsICAgICAvKiBSNTMgLSBMaW5lIE1peGVyMiAqLworCTB4MDAwMCwgICAgIC8qIFI1NCAtIFNwZWFrZXIgTWl4ZXIgKi8KKwkweDAwMDAsICAgICAvKiBSNTUgLSBBZGRpdGlvbmFsIENvbnRyb2wgKi8KKwkweDAwMDAsICAgICAvKiBSNTYgLSBBbnRpUE9QMSAqLworCTB4MDAwMCwgICAgIC8qIFI1NyAtIEFudGlQT1AyICovCisJMHgwMDAwLCAgICAgLyogUjU4IC0gTUlDQklBUyAqLworCTB4MDAwMCwgICAgIC8qIFI1OSAqLworCTB4MDAwOCwgICAgIC8qIFI2MCAtIFBMTDEgKi8KKwkweDAwMzEsICAgICAvKiBSNjEgLSBQTEwyICovCisJMHgwMDI2LCAgICAgLyogUjYyIC0gUExMMyAqLworfTsKKworLyoKKyAqIHJlYWQgd204OTkwIHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHdtODk5MF9yZWFkX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdW5zaWduZWQgaW50IHJlZykKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlCVUdfT04ocmVnID4gKEFSUkFZX1NJWkUod204OTkwX3JlZykpIC0gMSk7CisJcmV0dXJuIGNhY2hlW3JlZ107Cit9CisKKy8qCisgKiB3cml0ZSB3bTg5OTAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIHdtODk5MF93cml0ZV9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlCVUdfT04ocmVnID4gKEFSUkFZX1NJWkUod204OTkwX3JlZykpIC0gMSk7CisKKwkvKiBSZXNldCByZWdpc3RlciBpcyB1bmNhY2hlZCAqLworCWlmIChyZWcgPT0gMCkKKwkJcmV0dXJuOworCisJY2FjaGVbcmVnXSA9IHZhbHVlOworfQorCisvKgorICogd3JpdGUgdG8gdGhlIHdtODk5MCByZWdpc3RlciBzcGFjZQorICovCitzdGF0aWMgaW50IHdtODk5MF93cml0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByZWcsCisJdW5zaWduZWQgaW50IHZhbHVlKQoreworCXU4IGRhdGFbM107CisKKwlkYXRhWzBdID0gcmVnICYgMHhGRjsKKwlkYXRhWzFdID0gKHZhbHVlID4+IDgpICYgMHhGRjsKKwlkYXRhWzJdID0gdmFsdWUgJiAweEZGOworCisJd204OTkwX3dyaXRlX3JlZ19jYWNoZShjb2RlYywgcmVnLCB2YWx1ZSk7CisKKwlpZiAoY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDMpID09IDIpCisJCXJldHVybiAwOworCWVsc2UKKwkJcmV0dXJuIC1FSU87Cit9CisKKyNkZWZpbmUgd204OTkwX3Jlc2V0KGMpIHdtODk5MF93cml0ZShjLCBXTTg5OTBfUkVTRVQsIDApCisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIocmVjX21peF90bHYsIC0xNTAwLCA2MDApOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKGluX3BnYV90bHYsIC0xNjUwLCAzMDAwKTsKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihvdXRfbWl4X3RsdiwgMCwgLTIxMDApOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKG91dF9wZ2FfdGx2LCAtNzMwMCwgNjAwKTsKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihvdXRfb21peF90bHYsIC02MDAsIDApOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKG91dF9kYWNfdGx2LCAtNzE2MywgMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIoaW5fYWRjX3RsdiwgLTcxNjMsIDE3NjMpOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKG91dF9zaWRldG9uZV90bHYsIC0zNjAwLCAwKTsKKworc3RhdGljIGludCB3bTg5OXhfb3V0cGdhX3B1dF92b2xzd192dShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJaW50IHJlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKKwlpbnQgcmV0OworCXUxNiB2YWw7CisKKwlyZXQgPSBzbmRfc29jX3B1dF92b2xzdyhrY29udHJvbCwgdWNvbnRyb2wpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJLyogbm93IGhpdCB0aGUgdm9sdW1lIHVwZGF0ZSBiaXRzIChhbHdheXMgYml0IDgpICovCisJdmFsID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCByZWcpOworCXJldHVybiB3bTg5OTBfd3JpdGUoY29kZWMsIHJlZywgdmFsIHwgMHgwMTAwKTsKK30KKworI2RlZmluZSBTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoeG5hbWUsIHJlZywgc2hpZnQsIG1heCwgaW52ZXJ0LFwKKwkgdGx2X2FycmF5KSB7XAorCS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9ICh4bmFtZSksIFwKKwkuYWNjZXNzID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1RMVl9SRUFEIHxcCisJCSAgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSxcCisJLnRsdi5wID0gKHRsdl9hcnJheSksIFwKKwkuaW5mbyA9IHNuZF9zb2NfaW5mb192b2xzdywgXAorCS5nZXQgPSBzbmRfc29jX2dldF92b2xzdywgLnB1dCA9IHdtODk5eF9vdXRwZ2FfcHV0X3ZvbHN3X3Z1LCBcCisJLnByaXZhdGVfdmFsdWUgPSBTT0NfU0lOR0xFX1ZBTFVFKHJlZywgc2hpZnQsIG1heCwgaW52ZXJ0KSB9CisKKworc3RhdGljIGNvbnN0IGNoYXIgKndtODk5MF9kaWdpdGFsX3NpZGV0b25lW10gPQorCXsiTm9uZSIsICJMZWZ0IEFEQyIsICJSaWdodCBBREMiLCAiUmVzZXJ2ZWQifTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB3bTg5OTBfbGVmdF9kaWdpdGFsX3NpZGV0b25lX2VudW0gPQorU09DX0VOVU1fU0lOR0xFKFdNODk5MF9ESUdJVEFMX1NJREVfVE9ORSwKKwlXTTg5OTBfQURDX1RPX0RBQ0xfU0hJRlQsCisJV004OTkwX0FEQ19UT19EQUNMX01BU0ssCisJd204OTkwX2RpZ2l0YWxfc2lkZXRvbmUpOworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHdtODk5MF9yaWdodF9kaWdpdGFsX3NpZGV0b25lX2VudW0gPQorU09DX0VOVU1fU0lOR0xFKFdNODk5MF9ESUdJVEFMX1NJREVfVE9ORSwKKwlXTTg5OTBfQURDX1RPX0RBQ1JfU0hJRlQsCisJV004OTkwX0FEQ19UT19EQUNSX01BU0ssCisJd204OTkwX2RpZ2l0YWxfc2lkZXRvbmUpOworCitzdGF0aWMgY29uc3QgY2hhciAqd204OTkwX2FkY21vZGVbXSA9CisJeyJIaS1maSBtb2RlIiwgIlZvaWNlIG1vZGUgMSIsICJWb2ljZSBtb2RlIDIiLCAiVm9pY2UgbW9kZSAzIn07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gd204OTkwX3JpZ2h0X2FkY21vZGVfZW51bSA9CitTT0NfRU5VTV9TSU5HTEUoV004OTkwX0FEQ19DVFJMLAorCVdNODk5MF9BRENfSFBGX0NVVF9TSElGVCwKKwlXTTg5OTBfQURDX0hQRl9DVVRfTUFTSywKKwl3bTg5OTBfYWRjbW9kZSk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfc25kX2NvbnRyb2xzW10gPSB7CisvKiBJTk1JWEwgKi8KK1NPQ19TSU5HTEUoIkxJTjEyIFBHQSBCb29zdCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9MMTJNTkJTVF9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiTElOMzQgUEdBIEJvb3N0IiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX0wzNE1OQlNUX0JJVCwgMSwgMCksCisvKiBJTk1JWFIgKi8KK1NPQ19TSU5HTEUoIlJJTjEyIFBHQSBCb29zdCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9SMTJNTkJTVF9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiUklOMzQgUEdBIEJvb3N0IiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX1IzNE1OQlNUX0JJVCwgMSwgMCksCisKKy8qIExPTUlYICovCitTT0NfU0lOR0xFX1RMVigiTE9NSVggTElOMyBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjMsCisJV004OTkwX0xMSTNMT1ZPTF9TSElGVCwgV004OTkwX0xMSTNMT1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTE9NSVggUklOMTIgUEdBIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSMywKKwlXTTg5OTBfTFIxMkxPVk9MX1NISUZULCBXTTg5OTBfTFIxMkxPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJMT01JWCBMSU4xMiBQR0EgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVIzLAorCVdNODk5MF9MTDEyTE9WT0xfU0hJRlQsIFdNODk5MF9MTDEyTE9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIkxPTUlYIFJJTjMgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI1LAorCVdNODk5MF9MUkkzTE9WT0xfU0hJRlQsIFdNODk5MF9MUkkzTE9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIkxPTUlYIEFJTlJNVVggQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI1LAorCVdNODk5MF9MUkJMT1ZPTF9TSElGVCwgV004OTkwX0xSQkxPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJMT01JWCBBSU5MTVVYIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNSwKKwlXTTg5OTBfTFJCTE9WT0xfU0hJRlQsIFdNODk5MF9MUkJMT1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCisKKy8qIFJPTUlYICovCitTT0NfU0lOR0xFX1RMVigiUk9NSVggUklOMyBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjQsCisJV004OTkwX1JSSTNST1ZPTF9TSElGVCwgV004OTkwX1JSSTNST1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiUk9NSVggTElOMTIgUEdBIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNCwKKwlXTTg5OTBfUkwxMlJPVk9MX1NISUZULCBXTTg5OTBfUkwxMlJPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJST01JWCBSSU4xMiBQR0EgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI0LAorCVdNODk5MF9SUjEyUk9WT0xfU0hJRlQsIFdNODk5MF9SUjEyUk9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlJPTUlYIExJTjMgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI2LAorCVdNODk5MF9STEkzUk9WT0xfU0hJRlQsIFdNODk5MF9STEkzUk9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlJPTUlYIEFJTkxNVVggQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI2LAorCVdNODk5MF9STEJST1ZPTF9TSElGVCwgV004OTkwX1JMQlJPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJST01JWCBBSU5STVVYIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNiwKKwlXTTg5OTBfUlJCUk9WT0xfU0hJRlQsIFdNODk5MF9SUkJST1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCisKKy8qIExPVVQgKi8KK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTE9VVCBWb2x1bWUiLCBXTTg5OTBfTEVGVF9PVVRQVVRfVk9MVU1FLAorCVdNODk5MF9MT1VUVk9MX1NISUZULCBXTTg5OTBfTE9VVFZPTF9NQVNLLCAwLCBvdXRfcGdhX3RsdiksCitTT0NfU0lOR0xFKCJMT1VUIFpDIiwgV004OTkwX0xFRlRfT1VUUFVUX1ZPTFVNRSwgV004OTkwX0xPWkNfQklULCAxLCAwKSwKKworLyogUk9VVCAqLworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJST1VUIFZvbHVtZSIsIFdNODk5MF9SSUdIVF9PVVRQVVRfVk9MVU1FLAorCVdNODk5MF9ST1VUVk9MX1NISUZULCBXTTg5OTBfUk9VVFZPTF9NQVNLLCAwLCBvdXRfcGdhX3RsdiksCitTT0NfU0lOR0xFKCJST1VUIFpDIiwgV004OTkwX1JJR0hUX09VVFBVVF9WT0xVTUUsIFdNODk5MF9ST1pDX0JJVCwgMSwgMCksCisKKy8qIExPUEdBICovCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIkxPUEdBIFZvbHVtZSIsIFdNODk5MF9MRUZUX09QR0FfVk9MVU1FLAorCVdNODk5MF9MT1BHQVZPTF9TSElGVCwgV004OTkwX0xPUEdBVk9MX01BU0ssIDAsIG91dF9wZ2FfdGx2KSwKK1NPQ19TSU5HTEUoIkxPUEdBIFpDIFN3aXRjaCIsIFdNODk5MF9MRUZUX09QR0FfVk9MVU1FLAorCVdNODk5MF9MT1BHQVpDX0JJVCwgMSwgMCksCisKKy8qIFJPUEdBICovCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIlJPUEdBIFZvbHVtZSIsIFdNODk5MF9SSUdIVF9PUEdBX1ZPTFVNRSwKKwlXTTg5OTBfUk9QR0FWT0xfU0hJRlQsIFdNODk5MF9ST1BHQVZPTF9NQVNLLCAwLCBvdXRfcGdhX3RsdiksCitTT0NfU0lOR0xFKCJST1BHQSBaQyBTd2l0Y2giLCBXTTg5OTBfUklHSFRfT1BHQV9WT0xVTUUsCisJV004OTkwX1JPUEdBWkNfQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiTE9OIE11dGUgU3dpdGNoIiwgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUsCisJV004OTkwX0xPTk1VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIkxPUCBNdXRlIFN3aXRjaCIsIFdNODk5MF9MSU5FX09VVFBVVFNfVk9MVU1FLAorCVdNODk5MF9MT1BNVVRFX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJMT1AgQXR0ZW51YXRpb24gU3dpdGNoIiwgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUsCisJV004OTkwX0xPQVRUTl9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiUk9OIE11dGUgU3dpdGNoIiwgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUsCisJV004OTkwX1JPTk1VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIlJPUCBNdXRlIFN3aXRjaCIsIFdNODk5MF9MSU5FX09VVFBVVFNfVk9MVU1FLAorCVdNODk5MF9ST1BNVVRFX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJST1AgQXR0ZW51YXRpb24gU3dpdGNoIiwgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUsCisJV004OTkwX1JPQVRUTl9CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJPVVQzIE11dGUgU3dpdGNoIiwgV004OTkwX09VVDNfNF9WT0xVTUUsCisJV004OTkwX09VVDNNVVRFX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJPVVQzIEF0dGVudWF0aW9uIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfVk9MVU1FLAorCVdNODk5MF9PVVQzQVRUTl9CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJPVVQ0IE11dGUgU3dpdGNoIiwgV004OTkwX09VVDNfNF9WT0xVTUUsCisJV004OTkwX09VVDRNVVRFX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJPVVQ0IEF0dGVudWF0aW9uIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfVk9MVU1FLAorCVdNODk5MF9PVVQ0QVRUTl9CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJTcGVha2VyIE1vZGUgU3dpdGNoIiwgV004OTkwX0NMQVNTRDEsCisJV004OTkwX0NETU9ERV9CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJTcGVha2VyIE91dHB1dCBBdHRlbnVhdGlvbiBWb2x1bWUiLCBXTTg5OTBfU1BFQUtFUl9WT0xVTUUsCisJV004OTkwX1NQS1ZPTF9TSElGVCwgV004OTkwX1NQS1ZPTF9NQVNLLCAwKSwKK1NPQ19TSU5HTEUoIlNwZWFrZXIgREMgQm9vc3QgVm9sdW1lIiwgV004OTkwX0NMQVNTRDMsCisJV004OTkwX0RDR0FJTl9TSElGVCwgV004OTkwX0RDR0FJTl9NQVNLLCAwKSwKK1NPQ19TSU5HTEUoIlNwZWFrZXIgQUMgQm9vc3QgVm9sdW1lIiwgV004OTkwX0NMQVNTRDMsCisJV004OTkwX0FDR0FJTl9TSElGVCwgV004OTkwX0FDR0FJTl9NQVNLLCAwKSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJMZWZ0IERBQyBEaWdpdGFsIFZvbHVtZSIsCisJV004OTkwX0xFRlRfREFDX0RJR0lUQUxfVk9MVU1FLAorCVdNODk5MF9EQUNMX1ZPTF9TSElGVCwKKwlXTTg5OTBfREFDTF9WT0xfTUFTSywKKwkwLAorCW91dF9kYWNfdGx2KSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJSaWdodCBEQUMgRGlnaXRhbCBWb2x1bWUiLAorCVdNODk5MF9SSUdIVF9EQUNfRElHSVRBTF9WT0xVTUUsCisJV004OTkwX0RBQ1JfVk9MX1NISUZULAorCVdNODk5MF9EQUNSX1ZPTF9NQVNLLAorCTAsCisJb3V0X2RhY190bHYpLAorCitTT0NfRU5VTSgiTGVmdCBEaWdpdGFsIFNpZGV0b25lIiwgd204OTkwX2xlZnRfZGlnaXRhbF9zaWRldG9uZV9lbnVtKSwKK1NPQ19FTlVNKCJSaWdodCBEaWdpdGFsIFNpZGV0b25lIiwgd204OTkwX3JpZ2h0X2RpZ2l0YWxfc2lkZXRvbmVfZW51bSksCisKK1NPQ19TSU5HTEVfVExWKCJMZWZ0IERpZ2l0YWwgU2lkZXRvbmUgVm9sdW1lIiwgV004OTkwX0RJR0lUQUxfU0lERV9UT05FLAorCVdNODk5MF9BRENMX0RBQ19TVk9MX1NISUZULCBXTTg5OTBfQURDTF9EQUNfU1ZPTF9NQVNLLCAwLAorCW91dF9zaWRldG9uZV90bHYpLAorU09DX1NJTkdMRV9UTFYoIlJpZ2h0IERpZ2l0YWwgU2lkZXRvbmUgVm9sdW1lIiwgV004OTkwX0RJR0lUQUxfU0lERV9UT05FLAorCVdNODk5MF9BRENSX0RBQ19TVk9MX1NISUZULCBXTTg5OTBfQURDUl9EQUNfU1ZPTF9NQVNLLCAwLAorCW91dF9zaWRldG9uZV90bHYpLAorCitTT0NfU0lOR0xFKCJBREMgRGlnaXRhbCBIaWdoIFBhc3MgRmlsdGVyIFN3aXRjaCIsIFdNODk5MF9BRENfQ1RSTCwKKwlXTTg5OTBfQURDX0hQRl9FTkFfQklULCAxLCAwKSwKKworU09DX0VOVU0oIkFEQyBIUEYgTW9kZSIsIHdtODk5MF9yaWdodF9hZGNtb2RlX2VudW0pLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIkxlZnQgQURDIERpZ2l0YWwgVm9sdW1lIiwKKwlXTTg5OTBfTEVGVF9BRENfRElHSVRBTF9WT0xVTUUsCisJV004OTkwX0FEQ0xfVk9MX1NISUZULAorCVdNODk5MF9BRENMX1ZPTF9NQVNLLAorCTAsCisJaW5fYWRjX3RsdiksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiUmlnaHQgQURDIERpZ2l0YWwgVm9sdW1lIiwKKwlXTTg5OTBfUklHSFRfQURDX0RJR0lUQUxfVk9MVU1FLAorCVdNODk5MF9BRENSX1ZPTF9TSElGVCwKKwlXTTg5OTBfQURDUl9WT0xfTUFTSywKKwkwLAorCWluX2FkY190bHYpLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIkxJTjEyIFZvbHVtZSIsCisJV004OTkwX0xFRlRfTElORV9JTlBVVF8xXzJfVk9MVU1FLAorCVdNODk5MF9MSU4xMlZPTF9TSElGVCwKKwlXTTg5OTBfTElOMTJWT0xfTUFTSywKKwkwLAorCWluX3BnYV90bHYpLAorCitTT0NfU0lOR0xFKCJMSU4xMiBaQyBTd2l0Y2giLCBXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX0xJMTJaQ19CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJMSU4xMiBNdXRlIFN3aXRjaCIsIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSwKKwlXTTg5OTBfTEkxMk1VVEVfQklULCAxLCAwKSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJMSU4zNCBWb2x1bWUiLAorCVdNODk5MF9MRUZUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSwKKwlXTTg5OTBfTElOMzRWT0xfU0hJRlQsCisJV004OTkwX0xJTjM0Vk9MX01BU0ssCisJMCwKKwlpbl9wZ2FfdGx2KSwKKworU09DX1NJTkdMRSgiTElOMzQgWkMgU3dpdGNoIiwgV004OTkwX0xFRlRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9MSTM0WkNfQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiTElOMzQgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUsCisJV004OTkwX0xJMzRNVVRFX0JJVCwgMSwgMCksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiUklOMTIgVm9sdW1lIiwKKwlXTTg5OTBfUklHSFRfTElORV9JTlBVVF8xXzJfVk9MVU1FLAorCVdNODk5MF9SSU4xMlZPTF9TSElGVCwKKwlXTTg5OTBfUklOMTJWT0xfTUFTSywKKwkwLAorCWluX3BnYV90bHYpLAorCitTT0NfU0lOR0xFKCJSSU4xMiBaQyBTd2l0Y2giLCBXTTg5OTBfUklHSFRfTElORV9JTlBVVF8xXzJfVk9MVU1FLAorCVdNODk5MF9SSTEyWkNfQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiUklOMTIgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfUklHSFRfTElORV9JTlBVVF8xXzJfVk9MVU1FLAorCVdNODk5MF9SSTEyTVVURV9CSVQsIDEsIDApLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIlJJTjM0IFZvbHVtZSIsCisJV004OTkwX1JJR0hUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSwKKwlXTTg5OTBfUklOMzRWT0xfU0hJRlQsCisJV004OTkwX1JJTjM0Vk9MX01BU0ssCisJMCwKKwlpbl9wZ2FfdGx2KSwKKworU09DX1NJTkdMRSgiUklOMzQgWkMgU3dpdGNoIiwgV004OTkwX1JJR0hUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSwKKwlXTTg5OTBfUkkzNFpDX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIlJJTjM0IE11dGUgU3dpdGNoIiwgV004OTkwX1JJR0hUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSwKKwlXTTg5OTBfUkkzNE1VVEVfQklULCAxLCAwKSwKKworfTsKKworLyogYWRkIG5vbiBkYXBtIGNvbnRyb2xzICovCitzdGF0aWMgaW50IHdtODk5MF9hZGRfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCWludCBlcnIsIGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg5OTBfc25kX2NvbnRyb2xzKTsgaSsrKSB7CisJCWVyciA9IHNuZF9jdGxfYWRkKGNvZGVjLT5jYXJkLAorCQkJCXNuZF9zb2NfY25ldygmd204OTkwX3NuZF9jb250cm9sc1tpXSwgY29kZWMsCisJCQkJCU5VTEwpKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIF9EQVBNXyBDb250cm9scworICovCisKK3N0YXRpYyBpbnQgaW5taXhlcl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywKKwlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgaW50IGV2ZW50KQoreworCXUxNiByZWcsIGZha2Vwb3dlcjsKKworCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZSh3LT5jb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMik7CisJZmFrZXBvd2VyID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKHctPmNvZGVjLCBXTTg5OTBfSU5URFJJVkJJVFMpOworCisJaWYgKGZha2Vwb3dlciAmICgoMSA8PCBXTTg5OTBfSU5NSVhMX1BXUl9CSVQpIHwKKwkJKDEgPDwgV004OTkwX0FJTkxNVVhfUFdSX0JJVCkpKSB7CisJCXJlZyB8PSBXTTg5OTBfQUlOTF9FTkE7CisJfSBlbHNlIHsKKwkJcmVnICY9IH5XTTg5OTBfQUlOTF9FTkE7CisJfQorCisJaWYgKGZha2Vwb3dlciAmICgoMSA8PCBXTTg5OTBfSU5NSVhSX1BXUl9CSVQpIHwKKwkJKDEgPDwgV004OTkwX0FJTlJNVVhfUFdSX0JJVCkpKSB7CisJCXJlZyB8PSBXTTg5OTBfQUlOUl9FTkE7CisJfSBlbHNlIHsKKwkJcmVnICY9IH5XTTg5OTBfQUlOTF9FTkE7CisJfQorCXdtODk5MF93cml0ZSh3LT5jb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgcmVnKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG91dG1peGVyX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LAorCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBpbnQgZXZlbnQpCit7CisJdTMyIHJlZ19zaGlmdCA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZmY7CisJaW50IHJldCA9IDA7CisJdTE2IHJlZzsKKworCXN3aXRjaCAocmVnX3NoaWZ0KSB7CisJY2FzZSBXTTg5OTBfU1BFQUtFUl9NSVhFUiB8IChXTTg5OTBfTERTUEtfQklUIDw8IDgpIDoKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKHctPmNvZGVjLCBXTTg5OTBfT1VUUFVUX01JWEVSMSk7CisJCWlmIChyZWcgJiBXTTg5OTBfTERMTykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIkNhbm5vdCBzZXQgYXMgT3V0cHV0IE1peGVyIDEgTERMTyBTZXRcbiIpOworCQkJcmV0ID0gLTE7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBXTTg5OTBfU1BFQUtFUl9NSVhFUiB8IChXTTg5OTBfUkRTUEtfQklUIDw8IDgpOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9PVVRQVVRfTUlYRVIyKTsKKwkJaWYgKHJlZyAmIFdNODk5MF9SRFJPKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiQ2Fubm90IHNldCBhcyBPdXRwdXQgTWl4ZXIgMiBSRFJPIFNldFxuIik7CisJCQlyZXQgPSAtMTsKKwkJfQorCQlicmVhazsKKwljYXNlIFdNODk5MF9PVVRQVVRfTUlYRVIxIHwgKFdNODk5MF9MRExPX0JJVCA8PCA4KToKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKHctPmNvZGVjLCBXTTg5OTBfU1BFQUtFUl9NSVhFUik7CisJCWlmIChyZWcgJiBXTTg5OTBfTERTUEspIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJDYW5ub3Qgc2V0IGFzIFNwZWFrZXIgTWl4ZXIgTERTUEsgU2V0XG4iKTsKKwkJCXJldCA9IC0xOworCQl9CisJCWJyZWFrOworCWNhc2UgV004OTkwX09VVFBVVF9NSVhFUjIgfCAoV004OTkwX1JEUk9fQklUIDw8IDgpOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9TUEVBS0VSX01JWEVSKTsKKwkJaWYgKHJlZyAmIFdNODk5MF9SRFNQSykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIkNhbm5vdCBzZXQgYXMgU3BlYWtlciBNaXhlciBSRFNQSyBTZXRcbiIpOworCQkJcmV0ID0gLTE7CisJCX0KKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworLyogSU5NSVggZEIgdmFsdWVzICovCitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IGluX21peF90bHZbXSA9IHsKKwlUTFZfREJfUkFOR0VfSEVBRCgxKSwKKwkwLCA3LCBUTFZfREJfTElORUFSX0lURU0oLTEyMDAsIDYwMCksCit9OworCisvKiBMZWZ0IEluIFBHQSBDb25uZWN0aW9ucyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2xpbjEyX3BnYV9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMSU4xIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9MTU4xX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxJTjIgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX0xNUDJfQklULCAxLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9saW4zNF9wZ2FfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTElOMyBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfTE1OM19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMSU40IFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9MTVA0X0JJVCwgMSwgMCksCit9OworCisvKiBSaWdodCBJbiBQR0EgQ29ubmVjdGlvbnMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9yaW4xMl9wZ2FfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiUklOMSBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfUk1OMV9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJSSU4yIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9STVAyX0JJVCwgMSwgMCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fcmluMzRfcGdhX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIlJJTjMgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX1JNTjNfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUklONCBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfUk1QNF9CSVQsIDEsIDApLAorfTsKKworLyogSU5NSVhMICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1faW5taXhsX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEVfVExWKCJSZWNvcmQgTGVmdCBWb2x1bWUiLCBXTTg5OTBfSU5QVVRfTUlYRVIzLAorCVdNODk5MF9MREJWT0xfU0hJRlQsIFdNODk5MF9MREJWT0xfTUFTSywgMCwgaW5fbWl4X3RsdiksCitTT0NfREFQTV9TSU5HTEVfVExWKCJMSU4yIFZvbHVtZSIsIFdNODk5MF9JTlBVVF9NSVhFUjUsIFdNODk5MF9MSTJCVk9MX1NISUZULAorCTcsIDAsIGluX21peF90bHYpLAorU09DX0RBUE1fU0lOR0xFKCJMSU5QR0ExMiBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDEyTU5CX0JJVCwKKwkxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTElOUEdBMzQgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX0wzNE1OQl9CSVQsCisJMSwgMCksCit9OworCisvKiBJTk1JWFIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9pbm1peHJfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIlJlY29yZCBSaWdodCBWb2x1bWUiLCBXTTg5OTBfSU5QVVRfTUlYRVI0LAorCVdNODk5MF9SREJWT0xfU0hJRlQsIFdNODk5MF9SREJWT0xfTUFTSywgMCwgaW5fbWl4X3RsdiksCitTT0NfREFQTV9TSU5HTEVfVExWKCJSSU4yIFZvbHVtZSIsIFdNODk5MF9JTlBVVF9NSVhFUjYsIFdNODk5MF9SSTJCVk9MX1NISUZULAorCTcsIDAsIGluX21peF90bHYpLAorU09DX0RBUE1fU0lOR0xFKCJSSU5QR0ExMiBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDEyTU5CX0JJVCwKKwkxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUklOUEdBMzQgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX0wzNE1OQl9CSVQsCisJMSwgMCksCit9OworCisvKiBBSU5MTVVYICovCitzdGF0aWMgY29uc3QgY2hhciAqd204OTkwX2FpbmxtdXhbXSA9CisJeyJJTk1JWEwgTWl4IiwgIlJYVk9JQ0UgTWl4IiwgIkRJRkZJTkwgTWl4In07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gd204OTkwX2FpbmxtdXhfZW51bSA9CitTT0NfRU5VTV9TSU5HTEUoV004OTkwX0lOUFVUX01JWEVSMSwgV004OTkwX0FJTkxNT0RFX1NISUZULAorCUFSUkFZX1NJWkUod204OTkwX2FpbmxtdXgpLCB3bTg5OTBfYWlubG11eCk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9haW5sbXV4X2NvbnRyb2xzID0KK1NPQ19EQVBNX0VOVU0oIlJvdXRlIiwgd204OTkwX2FpbmxtdXhfZW51bSk7CisKKy8qIERJRkZJTkwgKi8KKworLyogQUlOUk1VWCAqLworc3RhdGljIGNvbnN0IGNoYXIgKndtODk5MF9haW5ybXV4W10gPQorCXsiSU5NSVhSIE1peCIsICJSWFZPSUNFIE1peCIsICJESUZGSU5SIE1peCJ9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHdtODk5MF9haW5ybXV4X2VudW0gPQorU09DX0VOVU1fU0lOR0xFKFdNODk5MF9JTlBVVF9NSVhFUjEsIFdNODk5MF9BSU5STU9ERV9TSElGVCwKKwlBUlJBWV9TSVpFKHdtODk5MF9haW5ybXV4KSwgd204OTkwX2FpbnJtdXgpOworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fYWlucm11eF9jb250cm9scyA9CitTT0NfREFQTV9FTlVNKCJSb3V0ZSIsIHdtODk5MF9haW5ybXV4X2VudW0pOworCisvKiBSWFZPSUNFICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fcnh2b2ljZV9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFX1RMVigiTElONC9SWE4iLCBXTTg5OTBfSU5QVVRfTUlYRVI1LCBXTTg5OTBfTFI0QlZPTF9TSElGVCwKKwkJCVdNODk5MF9MUjRCVk9MX01BU0ssIDAsIGluX21peF90bHYpLAorU09DX0RBUE1fU0lOR0xFX1RMVigiUklONC9SWFAiLCBXTTg5OTBfSU5QVVRfTUlYRVI2LCBXTTg5OTBfUkw0QlZPTF9TSElGVCwKKwkJCVdNODk5MF9STDRCVk9MX01BU0ssIDAsIGluX21peF90bHYpLAorfTsKKworLyogTE9NSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9sb21peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMT01JWCBSaWdodCBBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIxLAorCVdNODk5MF9MUkJMT19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT01JWCBMZWZ0IEFEQyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xMQkxPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIFJJTjMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIxLAorCVdNODk5MF9MUkkzTE9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggTElOMyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xMSTNMT19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT01JWCBSSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIxLAorCVdNODk5MF9MUjEyTE9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggTElOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTEwxMkxPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIExlZnQgREFDIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIxLAorCVdNODk5MF9MRExPX0JJVCwgMSwgMCksCit9OworCisvKiBST01JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3JvbWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIExlZnQgQURDIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUkxCUk9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggUmlnaHQgQURDIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUlJCUk9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggTElOMyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JMSTNST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBSSU4zIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUlJJM1JPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIExJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JMMTJST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBSSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9SUjEyUk9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggUmlnaHQgREFDIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9SRFJPX0JJVCwgMSwgMCksCit9OworCisvKiBMT05NSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9sb25taXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTE9OTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMSwKKwlXTTg5OTBfTExPUEdBTE9OX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTk1JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MUk9QR0FMT05fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9OTUlYIEludmVydGVkIExPUCBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjEsCisJV004OTkwX0xPUExPTl9CSVQsIDEsIDApLAorfTsKKworLyogTE9QTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fbG9wbWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxPUE1JWCBSaWdodCBNaWMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMSwKKwlXTTg5OTBfTFIxMkxPUF9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT1BNSVggTGVmdCBNaWMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMSwKKwlXTTg5OTBfTEwxMkxPUF9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT1BNSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MTE9QR0FMT1BfQklULCAxLCAwKSwKK307CisKKy8qIFJPTk1JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3Jvbm1peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJST05NSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMiwKKwlXTTg5OTBfUlJPUEdBUk9OX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTk1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjIsCisJV004OTkwX1JMT1BHQVJPTl9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST05NSVggSW52ZXJ0ZWQgUk9QIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMiwKKwlXTTg5OTBfUk9QUk9OX0JJVCwgMSwgMCksCit9OworCisvKiBST1BNSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9yb3BtaXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiUk9QTUlYIExlZnQgTWljIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjIsCisJV004OTkwX1JMMTJST1BfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9QTUlYIFJpZ2h0IE1pYyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIyLAorCVdNODk5MF9SUjEyUk9QX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPUE1JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIyLAorCVdNODk5MF9SUk9QR0FST1BfQklULCAxLCAwKSwKK307CisKKy8qIE9VVDNNSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9vdXQzbWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIk9VVDNNSVggTElONC9SWFAgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfTUlYRVIsCisJV004OTkwX0xJNE8zX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIk9VVDNNSVggTGVmdCBPdXQgUEdBIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfTUlYRVIsCisJV004OTkwX0xQR0FPM19CSVQsIDEsIDApLAorfTsKKworLyogT1VUNE1JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX291dDRtaXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiT1VUNE1JWCBSaWdodCBPdXQgUEdBIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfTUlYRVIsCisJV004OTkwX1JQR0FPNF9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJPVVQ0TUlYIFJJTjQvUlhQIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUM180X01JWEVSLAorCVdNODk5MF9SSTRPNF9CSVQsIDEsIDApLAorfTsKKworLyogU1BLTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fc3BrbWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBMSU4yIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfTEkyU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBMQURDIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfTEIyU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfTE9QR0FTUEtfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIExlZnQgREFDIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9MRFNQS19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggUmlnaHQgREFDIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9SRFNQS19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9ST1BHQVNQS19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggUkFEQyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX1JMMTJST1BfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIFJJTjIgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9SSTJTUEtfQklULCAxLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCB3bTg5OTBfZGFwbV93aWRnZXRzW10gPSB7CisvKiBJbnB1dCBTaWRlICovCisvKiBJbnB1dCBMaW5lcyAqLworU05EX1NPQ19EQVBNX0lOUFVUKCJMSU4xIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIkxJTjIiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiTElOMyIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJMSU40L1JYTiIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJSSU4zIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIlJJTjQvUlhQIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIlJJTjEiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiUklOMiIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJJbnRlcm5hbCBBREMgU291cmNlIiksCisKKy8qIERBQ3MgKi8KK1NORF9TT0NfREFQTV9BREMoIkxlZnQgQURDIiwgIkxlZnQgQ2FwdHVyZSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsCisJV004OTkwX0FEQ0xfRU5BX0JJVCwgMCksCitTTkRfU09DX0RBUE1fQURDKCJSaWdodCBBREMiLCAiUmlnaHQgQ2FwdHVyZSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsCisJV004OTkwX0FEQ1JfRU5BX0JJVCwgMCksCisKKy8qIElucHV0IFBHQXMgKi8KK1NORF9TT0NfREFQTV9NSVhFUigiTElOMTIgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgV004OTkwX0xJTjEyX0VOQV9CSVQsCisJMCwgJndtODk5MF9kYXBtX2xpbjEyX3BnYV9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX2xpbjEyX3BnYV9jb250cm9scykpLAorU05EX1NPQ19EQVBNX01JWEVSKCJMSU4zNCBQR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCBXTTg5OTBfTElOMzRfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fbGluMzRfcGdhX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fbGluMzRfcGdhX2NvbnRyb2xzKSksCitTTkRfU09DX0RBUE1fTUlYRVIoIlJJTjEyIFBHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIFdNODk5MF9SSU4xMl9FTkFfQklULAorCTAsICZ3bTg5OTBfZGFwbV9yaW4xMl9wZ2FfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9yaW4xMl9wZ2FfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9NSVhFUigiUklOMzQgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgV004OTkwX1JJTjM0X0VOQV9CSVQsCisJMCwgJndtODk5MF9kYXBtX3JpbjM0X3BnYV9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX3JpbjM0X3BnYV9jb250cm9scykpLAorCisvKiBJTk1JWEwgKi8KK1NORF9TT0NfREFQTV9NSVhFUl9FKCJJTk1JWEwiLCBXTTg5OTBfSU5URFJJVkJJVFMsIFdNODk5MF9JTk1JWExfUFdSX0JJVCwgMCwKKwkmd204OTkwX2RhcG1faW5taXhsX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1faW5taXhsX2NvbnRyb2xzKSwKKwlpbm1peGVyX2V2ZW50LCBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLAorCisvKiBBSU5MTVVYICovCitTTkRfU09DX0RBUE1fTVVYX0UoIkFJTE5NVVgiLCBXTTg5OTBfSU5URFJJVkJJVFMsIFdNODk5MF9BSU5MTVVYX1BXUl9CSVQsIDAsCisJJndtODk5MF9kYXBtX2FpbmxtdXhfY29udHJvbHMsIGlubWl4ZXJfZXZlbnQsCisJU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwKKworLyogSU5NSVhSICovCitTTkRfU09DX0RBUE1fTUlYRVJfRSgiSU5NSVhSIiwgV004OTkwX0lOVERSSVZCSVRTLCBXTTg5OTBfSU5NSVhSX1BXUl9CSVQsIDAsCisJJndtODk5MF9kYXBtX2lubWl4cl9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX2lubWl4cl9jb250cm9scyksCisJaW5taXhlcl9ldmVudCwgU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwKKworLyogQUlOUk1VWCAqLworU05EX1NPQ19EQVBNX01VWF9FKCJBSVJOTVVYIiwgV004OTkwX0lOVERSSVZCSVRTLCBXTTg5OTBfQUlOUk1VWF9QV1JfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9haW5ybXV4X2NvbnRyb2xzLCBpbm1peGVyX2V2ZW50LAorCVNORF9TT0NfREFQTV9QT1NUX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksCisKKy8qIE91dHB1dCBTaWRlICovCisvKiBEQUNzICovCitTTkRfU09DX0RBUE1fREFDKCJMZWZ0IERBQyIsICJMZWZ0IFBsYXliYWNrIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywKKwlXTTg5OTBfREFDTF9FTkFfQklULCAwKSwKK1NORF9TT0NfREFQTV9EQUMoIlJpZ2h0IERBQyIsICJSaWdodCBQbGF5YmFjayIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsCisJV004OTkwX0RBQ1JfRU5BX0JJVCwgMCksCisKKy8qIExPTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVJfRSgiTE9NSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfTE9NSVhfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fbG9taXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9sb21peF9jb250cm9scyksCisJb3V0bWl4ZXJfZXZlbnQsIFNORF9TT0NfREFQTV9QUkVfUkVHKSwKKworLyogTE9OTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIkxPTk1JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9MT05fRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fbG9ubWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fbG9ubWl4X2NvbnRyb2xzKSksCisKKy8qIExPUE1JWCAqLworU05EX1NPQ19EQVBNX01JWEVSKCJMT1BNSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfTE9QX0VOQV9CSVQsIDAsCisJJndtODk5MF9kYXBtX2xvcG1peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX2xvcG1peF9jb250cm9scykpLAorCisvKiBPVVQzTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIk9VVDNNSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCBXTTg5OTBfT1VUM19FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9vdXQzbWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fb3V0M21peF9jb250cm9scykpLAorCisvKiBTUEtNSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUl9FKCJTUEtNSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCBXTTg5OTBfU1BLX0VOQV9CSVQsIDAsCisJJndtODk5MF9kYXBtX3Nwa21peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX3Nwa21peF9jb250cm9scyksIG91dG1peGVyX2V2ZW50LAorCVNORF9TT0NfREFQTV9QUkVfUkVHKSwKKworLyogT1VUNE1JWCAqLworU05EX1NPQ19EQVBNX01JWEVSKCJPVVQ0TUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgV004OTkwX09VVDRfRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fb3V0NG1peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX291dDRtaXhfY29udHJvbHMpKSwKKworLyogUk9QTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIlJPUE1JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9ST1BfRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fcm9wbWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fcm9wbWl4X2NvbnRyb2xzKSksCisKKy8qIFJPTk1JWCAqLworU05EX1NPQ19EQVBNX01JWEVSKCJST05NSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfUk9OX0VOQV9CSVQsIDAsCisJJndtODk5MF9kYXBtX3Jvbm1peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX3Jvbm1peF9jb250cm9scykpLAorCisvKiBST01JWCAqLworU05EX1NPQ19EQVBNX01JWEVSX0UoIlJPTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX1JPTUlYX0VOQV9CSVQsCisJMCwgJndtODk5MF9kYXBtX3JvbWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fcm9taXhfY29udHJvbHMpLAorCW91dG1peGVyX2V2ZW50LCBTTkRfU09DX0RBUE1fUFJFX1JFRyksCisKKy8qIExPVVQgUEdBICovCitTTkRfU09DX0RBUE1fUEdBKCJMT1VUIFBHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIFdNODk5MF9MT1VUX0VOQV9CSVQsIDAsCisJTlVMTCwgMCksCisKKy8qIFJPVVQgUEdBICovCitTTkRfU09DX0RBUE1fUEdBKCJST1VUIFBHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIFdNODk5MF9ST1VUX0VOQV9CSVQsIDAsCisJTlVMTCwgMCksCisKKy8qIExPUEdBICovCitTTkRfU09DX0RBUE1fUEdBKCJMT1BHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9MT1BHQV9FTkFfQklULCAwLAorCU5VTEwsIDApLAorCisvKiBST1BHQSAqLworU05EX1NPQ19EQVBNX1BHQSgiUk9QR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfUk9QR0FfRU5BX0JJVCwgMCwKKwlOVUxMLCAwKSwKKworLyogTUlDQklBUyAqLworU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1JQ0JJQVMiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLAorCVdNODk5MF9NSUNCSUFTX0VOQV9CSVQsIDApLAorCitTTkRfU09DX0RBUE1fT1VUUFVUKCJMT04iKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIkxPUCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiT1VUMyIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiTE9VVCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiU1BLTiIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiU1BLUCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiUk9VVCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiT1VUNCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiUk9QIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJST04iKSwKKworU05EX1NPQ19EQVBNX09VVFBVVCgiSW50ZXJuYWwgREFDIFNpbmsiKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0geworCS8qIE1ha2UgREFDcyB0dXJuIG9uIHdoZW4gcGxheWluZyBldmVuIGlmIG5vdCBtaXhlZCBpbnRvIGFueSBvdXRwdXRzICovCisJeyJJbnRlcm5hbCBEQUMgU2luayIsIE5VTEwsICJMZWZ0IERBQyJ9LAorCXsiSW50ZXJuYWwgREFDIFNpbmsiLCBOVUxMLCAiUmlnaHQgREFDIn0sCisKKwkvKiBNYWtlIEFEQ3MgdHVybiBvbiB3aGVuIHJlY29yZGluZyBldmVuIGlmIG5vdCBtaXhlZCBmcm9tIGFueSBpbnB1dHMgKi8KKwl7IkxlZnQgQURDIiwgTlVMTCwgIkludGVybmFsIEFEQyBTb3VyY2UifSwKKwl7IlJpZ2h0IEFEQyIsIE5VTEwsICJJbnRlcm5hbCBBREMgU291cmNlIn0sCisKKwkvKiBJbnB1dCBTaWRlICovCisJLyogTElOMTIgUEdBICovCisJeyJMSU4xMiBQR0EiLCAiTElOMSBTd2l0Y2giLCAiTElOMSJ9LAorCXsiTElOMTIgUEdBIiwgIkxJTjIgU3dpdGNoIiwgIkxJTjIifSwKKwkvKiBMSU4zNCBQR0EgKi8KKwl7IkxJTjM0IFBHQSIsICJMSU4zIFN3aXRjaCIsICJMSU4zIn0sCisJeyJMSU4zNCBQR0EiLCAiTElONCBTd2l0Y2giLCAiTElONCJ9LAorCS8qIElOTUlYTCAqLworCXsiSU5NSVhMIiwgIlJlY29yZCBMZWZ0IFZvbHVtZSIsICJMT01JWCJ9LAorCXsiSU5NSVhMIiwgIkxJTjIgVm9sdW1lIiwgIkxJTjIifSwKKwl7IklOTUlYTCIsICJMSU5QR0ExMiBTd2l0Y2giLCAiTElOMTIgUEdBIn0sCisJeyJJTk1JWEwiLCAiTElOUEdBMzQgU3dpdGNoIiwgIkxJTjM0IFBHQSJ9LAorCS8qIEFJTE5NVVggKi8KKwl7IkFJTE5NVVgiLCAiSU5NSVhMIE1peCIsICJJTk1JWEwifSwKKwl7IkFJTE5NVVgiLCAiRElGRklOTCBNaXgiLCAiTElOMTJQR0EifSwKKwl7IkFJTE5NVVgiLCAiRElGRklOTCBNaXgiLCAiTElOMzRQR0EifSwKKwl7IkFJTE5NVVgiLCAiUlhWT0lDRSBNaXgiLCAiTElONC9SWE4ifSwKKwl7IkFJTE5NVVgiLCAiUlhWT0lDRSBNaXgiLCAiUklONC9SWFAifSwKKwkvKiBBREMgKi8KKwl7IkxlZnQgQURDIiwgTlVMTCwgIkFJTE5NVVgifSwKKworCS8qIFJJTjEyIFBHQSAqLworCXsiUklOMTIgUEdBIiwgIlJJTjEgU3dpdGNoIiwgIlJJTjEifSwKKwl7IlJJTjEyIFBHQSIsICJSSU4yIFN3aXRjaCIsICJSSU4yIn0sCisJLyogUklOMzQgUEdBICovCisJeyJSSU4zNCBQR0EiLCAiUklOMyBTd2l0Y2giLCAiUklOMyJ9LAorCXsiUklOMzQgUEdBIiwgIlJJTjQgU3dpdGNoIiwgIlJJTjQifSwKKwkvKiBJTk1JWEwgKi8KKwl7IklOTUlYUiIsICJSZWNvcmQgUmlnaHQgVm9sdW1lIiwgIlJPTUlYIn0sCisJeyJJTk1JWFIiLCAiUklOMiBWb2x1bWUiLCAiUklOMiJ9LAorCXsiSU5NSVhSIiwgIlJJTlBHQTEyIFN3aXRjaCIsICJSSU4xMiBQR0EifSwKKwl7IklOTUlYUiIsICJSSU5QR0EzNCBTd2l0Y2giLCAiUklOMzQgUEdBIn0sCisJLyogQUlSTk1VWCAqLworCXsiQUlSTk1VWCIsICJJTk1JWFIgTWl4IiwgIklOTUlYUiJ9LAorCXsiQUlSTk1VWCIsICJESUZGSU5SIE1peCIsICJSSU4xMlBHQSJ9LAorCXsiQUlSTk1VWCIsICJESUZGSU5SIE1peCIsICJSSU4zNFBHQSJ9LAorCXsiQUlSTk1VWCIsICJSWFZPSUNFIE1peCIsICJSSU40L1JYTiJ9LAorCXsiQUlSTk1VWCIsICJSWFZPSUNFIE1peCIsICJSSU40L1JYUCJ9LAorCS8qIEFEQyAqLworCXsiUmlnaHQgQURDIiwgTlVMTCwgIkFJUk5NVVgifSwKKworCS8qIExPTUlYICovCisJeyJMT01JWCIsICJMT01JWCBSSU4zIEJ5cGFzcyBTd2l0Y2giLCAiUklOMyJ9LAorCXsiTE9NSVgiLCAiTE9NSVggTElOMyBCeXBhc3MgU3dpdGNoIiwgIkxJTjMifSwKKwl7IkxPTUlYIiwgIkxPTUlYIExJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgIkxJTjEyIFBHQSJ9LAorCXsiTE9NSVgiLCAiTE9NSVggUklOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCAiUklOMTIgUEdBIn0sCisJeyJMT01JWCIsICJMT01JWCBSaWdodCBBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5STVVYIn0sCisJeyJMT01JWCIsICJMT01JWCBMZWZ0IEFEQyBCeXBhc3MgU3dpdGNoIiwgIkFJTkxNVVgifSwKKwl7IkxPTUlYIiwgIkxPTUlYIExlZnQgREFDIFN3aXRjaCIsICJMZWZ0IERBQyJ9LAorCisJLyogUk9NSVggKi8KKwl7IlJPTUlYIiwgIlJPTUlYIFJJTjMgQnlwYXNzIFN3aXRjaCIsICJSSU4zIn0sCisJeyJST01JWCIsICJST01JWCBMSU4zIEJ5cGFzcyBTd2l0Y2giLCAiTElOMyJ9LAorCXsiUk9NSVgiLCAiUk9NSVggTElOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCAiTElOMTIgUEdBIn0sCisJeyJST01JWCIsICJST01JWCBSSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsICJSSU4xMiBQR0EifSwKKwl7IlJPTUlYIiwgIlJPTUlYIFJpZ2h0IEFEQyBCeXBhc3MgU3dpdGNoIiwgIkFJTlJNVVgifSwKKwl7IlJPTUlYIiwgIlJPTUlYIExlZnQgQURDIEJ5cGFzcyBTd2l0Y2giLCAiQUlOTE1VWCJ9LAorCXsiUk9NSVgiLCAiUk9NSVggUmlnaHQgREFDIFN3aXRjaCIsICJSaWdodCBEQUMifSwKKworCS8qIFNQS01JWCAqLworCXsiU1BLTUlYIiwgIlNQS01JWCBMSU4yIEJ5cGFzcyBTd2l0Y2giLCAiTElOMiJ9LAorCXsiU1BLTUlYIiwgIlNQS01JWCBSSU4yIEJ5cGFzcyBTd2l0Y2giLCAiUklOMiJ9LAorCXsiU1BLTUlYIiwgIlNQS01JWCBMQURDIEJ5cGFzcyBTd2l0Y2giLCAiQUlOTE1VWCJ9LAorCXsiU1BLTUlYIiwgIlNQS01JWCBSQURDIEJ5cGFzcyBTd2l0Y2giLCAiQUlOUk1VWCJ9LAorCXsiU1BLTUlYIiwgIlNQS01JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCAiTE9QR0EifSwKKwl7IlNQS01JWCIsICJTUEtNSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsICJST1BHQSJ9LAorCXsiU1BLTUlYIiwgIlNQS01JWCBSaWdodCBEQUMgU3dpdGNoIiwgIlJpZ2h0IERBQyJ9LAorCXsiU1BLTUlYIiwgIlNQS01JWCBMZWZ0IERBQyBTd2l0Y2giLCAiUmlnaHQgREFDIn0sCisKKwkvKiBMT05NSVggKi8KKwl7IkxPTk1JWCIsICJMT05NSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgIkxPUEdBIn0sCisJeyJMT05NSVgiLCAiTE9OTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCAiUk9QR0EifSwKKwl7IkxPTk1JWCIsICJMT05NSVggSW52ZXJ0ZWQgTE9QIFN3aXRjaCIsICJMT1BNSVgifSwKKworCS8qIExPUE1JWCAqLworCXsiTE9QTUlYIiwgIkxPUE1JWCBSaWdodCBNaWMgQnlwYXNzIFN3aXRjaCIsICJSSU4xMiBQR0EifSwKKwl7IkxPUE1JWCIsICJMT1BNSVggTGVmdCBNaWMgQnlwYXNzIFN3aXRjaCIsICJMSU4xMiBQR0EifSwKKwl7IkxPUE1JWCIsICJMT1BNSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgIkxPUEdBIn0sCisKKwkvKiBPVVQzTUlYICovCisJeyJPVVQzTUlYIiwgIk9VVDNNSVggTElONC9SWFAgQnlwYXNzIFN3aXRjaCIsICJMSU40L1JYUCJ9LAorCXsiT1VUM01JWCIsICJPVVQzTUlYIExlZnQgT3V0IFBHQSBTd2l0Y2giLCAiTE9QR0EifSwKKworCS8qIE9VVDRNSVggKi8KKwl7Ik9VVDRNSVgiLCAiT1VUNE1JWCBSaWdodCBPdXQgUEdBIFN3aXRjaCIsICJST1BHQSJ9LAorCXsiT1VUNE1JWCIsICJPVVQ0TUlYIFJJTjQvUlhQIEJ5cGFzcyBTd2l0Y2giLCAiUklONC9SWFAifSwKKworCS8qIFJPTk1JWCAqLworCXsiUk9OTUlYIiwgIlJPTk1JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgIlJPUEdBIn0sCisJeyJST05NSVgiLCAiUk9OTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsICJMT1BHQSJ9LAorCXsiUk9OTUlYIiwgIlJPTk1JWCBJbnZlcnRlZCBST1AgU3dpdGNoIiwgIlJPUE1JWCJ9LAorCisJLyogUk9QTUlYICovCisJeyJST1BNSVgiLCAiUk9QTUlYIExlZnQgTWljIEJ5cGFzcyBTd2l0Y2giLCAiTElOMTIgUEdBIn0sCisJeyJST1BNSVgiLCAiUk9QTUlYIFJpZ2h0IE1pYyBCeXBhc3MgU3dpdGNoIiwgIlJJTjEyIFBHQSJ9LAorCXsiUk9QTUlYIiwgIlJPUE1JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgIlJPUEdBIn0sCisKKwkvKiBPdXQgTWl4ZXIgUEdBcyAqLworCXsiTE9QR0EiLCBOVUxMLCAiTE9NSVgifSwKKwl7IlJPUEdBIiwgTlVMTCwgIlJPTUlYIn0sCisKKwl7IkxPVVQgUEdBIiwgTlVMTCwgIkxPTUlYIn0sCisJeyJST1VUIFBHQSIsIE5VTEwsICJST01JWCJ9LAorCisJLyogT3V0cHV0IFBpbnMgKi8KKwl7IkxPTiIsIE5VTEwsICJMT05NSVgifSwKKwl7IkxPUCIsIE5VTEwsICJMT1BNSVgifSwKKwl7Ik9VVCIsIE5VTEwsICJPVVQzTUlYIn0sCisJeyJMT1VUIiwgTlVMTCwgIkxPVVQgUEdBIn0sCisJeyJTUEtOIiwgTlVMTCwgIlNQS01JWCJ9LAorCXsiUk9VVCIsIE5VTEwsICJST1VUIFBHQSJ9LAorCXsiT1VUNCIsIE5VTEwsICJPVVQ0TUlYIn0sCisJeyJST1AiLCBOVUxMLCAiUk9QTUlYIn0sCisJeyJST04iLCBOVUxMLCAiUk9OTUlYIn0sCit9OworCitzdGF0aWMgaW50IHdtODk5MF9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204OTkwX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204OTkwX2RhcG1fd2lkZ2V0cykpOworCisJLyogc2V0IHVwIHRoZSBXTTg5OTAgYXVkaW8gbWFwICovCisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKKworCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CisJcmV0dXJuIDA7Cit9CisKKy8qIFBMTCBkaXZpc29ycyAqLworc3RydWN0IF9wbGxfZGl2IHsKKwl1MzIgZGl2MjsKKwl1MzIgbjsKKwl1MzIgazsKK307CisKKy8qIFRoZSBzaXplIGluIGJpdHMgb2YgdGhlIHBsbCBkaXZpZGUgbXVsdGlwbGllZCBieSAxMAorICogdG8gYWxsb3cgcm91bmRpbmcgbGF0ZXIgKi8KKyNkZWZpbmUgRklYRURfUExMX1NJWkUgKCgxIDw8IDE2KSAqIDEwKQorCitzdGF0aWMgdm9pZCBwbGxfZmFjdG9ycyhzdHJ1Y3QgX3BsbF9kaXYgKnBsbF9kaXYsIHVuc2lnbmVkIGludCB0YXJnZXQsCisJdW5zaWduZWQgaW50IHNvdXJjZSkKK3sKKwl1NjQgS3BhcnQ7CisJdW5zaWduZWQgaW50IEssIE5kaXYsIE5tb2Q7CisKKworCU5kaXYgPSB0YXJnZXQgLyBzb3VyY2U7CisJaWYgKE5kaXYgPCA2KSB7CisJCXNvdXJjZSA+Pj0gMTsKKwkJcGxsX2Rpdi0+ZGl2MiA9IDE7CisJCU5kaXYgPSB0YXJnZXQgLyBzb3VyY2U7CisJfSBlbHNlCisJCXBsbF9kaXYtPmRpdjIgPSAwOworCisJaWYgKChOZGl2IDwgNikgfHwgKE5kaXYgPiAxMikpCisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJIldNODk5MCBOIHZhbHVlIG91dHdpdGggcmVjb21tZW5kZWQgcmFuZ2UhIE4gPSAlZFxuIiwgTmRpdik7CisKKwlwbGxfZGl2LT5uID0gTmRpdjsKKwlObW9kID0gdGFyZ2V0ICUgc291cmNlOworCUtwYXJ0ID0gRklYRURfUExMX1NJWkUgKiAobG9uZyBsb25nKU5tb2Q7CisKKwlkb19kaXYoS3BhcnQsIHNvdXJjZSk7CisKKwlLID0gS3BhcnQgJiAweEZGRkZGRkZGOworCisJLyogQ2hlY2sgaWYgd2UgbmVlZCB0byByb3VuZCAqLworCWlmICgoSyAlIDEwKSA+PSA1KQorCQlLICs9IDU7CisKKwkvKiBNb3ZlIGRvd24gdG8gcHJvcGVyIHJhbmdlIG5vdyByb3VuZGluZyBpcyBkb25lICovCisJSyAvPSAxMDsKKworCXBsbF9kaXYtPmsgPSBLOworfQorCitzdGF0aWMgaW50IHdtODk5MF9zZXRfZGFpX3BsbChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJaW50IHBsbF9pZCwgdW5zaWduZWQgaW50IGZyZXFfaW4sIHVuc2lnbmVkIGludCBmcmVxX291dCkKK3sKKwl1MTYgcmVnOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJc3RydWN0IF9wbGxfZGl2IHBsbF9kaXY7CisKKwlpZiAoZnJlcV9pbiAmJiBmcmVxX291dCkgeworCQlwbGxfZmFjdG9ycygmcGxsX2RpdiwgZnJlcV9vdXQgKiA0LCBmcmVxX2luKTsKKworCQkvKiBUdXJuIG9uIFBMTCAqLworCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIpOworCQlyZWcgfD0gV004OTkwX1BMTF9FTkE7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgcmVnKTsKKworCQkvKiBzeXNjbGsgY29tZXMgZnJvbSBQTEwgKi8KKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMik7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIsIHJlZyB8IFdNODk5MF9TWVNDTEtfU1JDKTsKKworCQkvKiBzZXQgdXAgTiAsIGZyYWN0aW9uYWwgbW9kZSBhbmQgcHJlLWRpdmlzb3IgaWYgbmVjY2Vzc2FyeSAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QTEwxLCBwbGxfZGl2Lm4gfCBXTTg5OTBfU0RNIHwKKwkJCShwbGxfZGl2LmRpdjI/V004OTkwX1BSRVNDQUxFOjApKTsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUExMMiwgKHU4KShwbGxfZGl2Lms+PjgpKTsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUExMMywgKHU4KShwbGxfZGl2LmsgJiAweEZGKSk7CisJfSBlbHNlIHsKKwkJLyogVHVybiBvbiBQTEwgKi8KKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yKTsKKwkJcmVnICY9IH5XTTg5OTBfUExMX0VOQTsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCByZWcpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENsb2NrIGFmdGVyIFBMTCBhbmQgZGl2aWRlcnMKKyAqLworc3RhdGljIGludCB3bTg5OTBfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJc3RydWN0IHdtODk5MF9wcml2ICp3bTg5OTAgPSBjb2RlYy0+cHJpdmF0ZV9kYXRhOworCisJd204OTkwLT5zeXNjbGsgPSBmcmVxOworCXJldHVybiAwOworfQorCisvKgorICogU2V0J3MgQURDIGFuZCBWb2ljZSBEQUMgZm9ybWF0LgorICovCitzdGF0aWMgaW50IHdtODk5MF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJdW5zaWduZWQgaW50IGZtdCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXUxNiBhdWRpbzEsIGF1ZGlvMzsKKworCWF1ZGlvMSA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV8xKTsKKwlhdWRpbzMgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMyk7CisKKwkvKiBzZXQgbWFzdGVyL3NsYXZlIGF1ZGlvIGludGVyZmFjZSAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCU19DRlM6CisJCWF1ZGlvMyAmPSB+V004OTkwX0FJRl9NU1RSMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgorCQlhdWRpbzMgfD0gV004OTkwX0FJRl9NU1RSMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJYXVkaW8xICY9IH5XTTg5OTBfQUlGX0ZNVF9NQVNLOworCisJLyogaW50ZXJmYWNlIGZvcm1hdCAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUzoKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfVE1GX0kyUzsKKwkJYXVkaW8xICY9IH5XTTg5OTBfQUlGX0xSQ0xLX0lOVjsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9SSUdIVF9KOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9UTUZfUklHSFRKOworCQlhdWRpbzEgJj0gfldNODk5MF9BSUZfTFJDTEtfSU5WOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0xFRlRfSjoKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfVE1GX0xFRlRKOworCQlhdWRpbzEgJj0gfldNODk5MF9BSUZfTFJDTEtfSU5WOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9UTUZfRFNQOworCQlhdWRpbzEgJj0gfldNODk5MF9BSUZfTFJDTEtfSU5WOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9COgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9UTUZfRFNQIHwgV004OTkwX0FJRl9MUkNMS19JTlY7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV8xLCBhdWRpbzEpOworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV8zLCBhdWRpbzMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODk5MF9zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJaW50IGRpdl9pZCwgaW50IGRpdikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXUxNiByZWc7CisKKwlzd2l0Y2ggKGRpdl9pZCkgeworCWNhc2UgV004OTkwX01DTEtfRElWOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yKSAmCisJCQl+V004OTkwX01DTEtfRElWX01BU0s7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIsIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004OTkwX0RBQ0NMS19ESVY6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIpICYKKwkJCX5XTTg5OTBfREFDX0NMS0RJVl9NQVNLOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODk5MF9BRENDTEtfRElWOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yKSAmCisJCQl+V004OTkwX0FEQ19DTEtESVZfTUFTSzsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMiwgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJY2FzZSBXTTg5OTBfQkNMS19ESVY6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzEpICYKKwkJCX5XTTg5OTBfQkNMS19ESVZfTUFTSzsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMSwgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTZXQgUENNIERBSSBiaXQgc2l6ZSBhbmQgc2FtcGxlIHJhdGUuCisgKi8KK3N0YXRpYyBpbnQgd204OTkwX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXUxNiBhdWRpbzEgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMSk7CisKKwlhdWRpbzEgJj0gfldNODk5MF9BSUZfV0xfTUFTSzsKKwkvKiBiaXQgc2l6ZSAqLworCXN3aXRjaCAocGFyYW1zX2Zvcm1hdChwYXJhbXMpKSB7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRToKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MyMF8zTEU6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1dMXzIwQklUUzsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MyNF9MRToKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfV0xfMjRCSVRTOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzMyX0xFOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9XTF8zMkJJVFM7CisJCWJyZWFrOworCX0KKworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV8xLCBhdWRpbzEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODk5MF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOworCXUxNiB2YWw7CisKKwl2YWwgID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfREFDX0NUUkwpICYgfldNODk5MF9EQUNfTVVURTsKKworCWlmIChtdXRlKQorCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9EQUNfQ1RSTCwgdmFsIHwgV004OTkwX0RBQ19NVVRFKTsKKwllbHNlCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0RBQ19DVFJMLCB2YWwpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKK3sKKwl1MTYgdmFsOworCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgorCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgorCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgorCQlpZiAoY29kZWMtPmJpYXNfbGV2ZWwgPT0gU05EX1NPQ19CSUFTX09GRikgeworCQkJLyogRW5hYmxlIGFsbCBvdXRwdXQgZGlzY2hhcmdlIGJpdHMgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AxLCBXTTg5OTBfRElTX0xMSU5FIHwKKwkJCQlXTTg5OTBfRElTX1JMSU5FIHwgV004OTkwX0RJU19PVVQzIHwKKwkJCQlXTTg5OTBfRElTX09VVDQgfCBXTTg5OTBfRElTX0xPVVQgfAorCQkJCVdNODk5MF9ESVNfUk9VVCk7CisKKwkJCS8qIEVuYWJsZSBQT0JDVFJMLCBTT0ZUX1NULCBWTUlEVE9HIGFuZCBCVUZEQ09QRU4gKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AyLCBXTTg5OTBfU09GVFNUIHwKKwkJCQkgICAgIFdNODk5MF9CVUZEQ09QRU4gfCBXTTg5OTBfUE9CQ1RSTCB8CisJCQkJICAgICBXTTg5OTBfVk1JRFRPRyk7CisKKwkJCS8qIERlbGF5IHRvIGFsbG93IG91dHB1dCBjYXBzIHRvIGRpc2NoYXJnZSAqLworCQkJbXNsZWVwKG1zZWNzX3RvX2ppZmZpZXMoMzAwKSk7CisKKwkJCS8qIERpc2FibGUgVk1JRFRPRyAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9TT0ZUU1QgfAorCQkJCSAgICAgV004OTkwX0JVRkRDT1BFTiB8IFdNODk5MF9QT0JDVFJMKTsKKworCQkJLyogZGlzYWJsZSBhbGwgb3V0cHV0IGRpc2NoYXJnZSBiaXRzICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMSwgMCk7CisKKwkJCS8qIEVuYWJsZSBvdXRwdXRzICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MWIwMCk7CisKKwkJCW1zbGVlcChtc2Vjc190b19qaWZmaWVzKDUwKSk7CisKKwkJCS8qIEVuYWJsZSBWTUlEIGF0IDJ4NTBrICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MWYwMik7CisKKwkJCW1zbGVlcChtc2Vjc190b19qaWZmaWVzKDEwMCkpOworCisJCQkvKiBFbmFibGUgVlJFRiAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCAweDFmMDMpOworCisJCQltc2xlZXAobXNlY3NfdG9famlmZmllcyg2MDApKTsKKworCQkJLyogRW5hYmxlIEJVRklPRU4gKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AyLCBXTTg5OTBfU09GVFNUIHwKKwkJCQkgICAgIFdNODk5MF9CVUZEQ09QRU4gfCBXTTg5OTBfUE9CQ1RSTCB8CisJCQkJICAgICBXTTg5OTBfQlVGSU9FTik7CisKKwkJCS8qIERpc2FibGUgb3V0cHV0cyAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCAweDMpOworCisJCQkvKiBkaXNhYmxlIFBPQkNUUkwsIFNPRlRfU1QgYW5kIEJVRkRDT1BFTiAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9CVUZJT0VOKTsKKwkJfSBlbHNlIHsKKwkJCS8qIE9OIC0+IHN0YW5kYnkgKi8KKworCQl9CisJCWJyZWFrOworCisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgorCQkvKiBFbmFibGUgUE9CQ1RSTCBhbmQgU09GVF9TVCAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgV004OTkwX1NPRlRTVCB8CisJCQlXTTg5OTBfUE9CQ1RSTCB8IFdNODk5MF9CVUZJT0VOKTsKKworCQkvKiBFbmFibGUgUE9CQ1RSTCwgU09GVF9TVCBhbmQgQlVGRENPUEVOICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AyLCBXTTg5OTBfU09GVFNUIHwKKwkJCVdNODk5MF9CVUZEQ09QRU4gfCBXTTg5OTBfUE9CQ1RSTCB8CisJCQlXTTg5OTBfQlVGSU9FTik7CisKKwkJLyogbXV0ZSBEQUMgKi8KKwkJdmFsID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfREFDX0NUUkwpOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9EQUNfQ1RSTCwgdmFsIHwgV004OTkwX0RBQ19NVVRFKTsKKworCQkvKiBFbmFibGUgYW55IGRpc2FibGVkIG91dHB1dHMgKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCAweDFmMDMpOworCisJCS8qIERpc2FibGUgVk1JRCAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MWYwMSk7CisKKwkJbXNsZWVwKG1zZWNzX3RvX2ppZmZpZXMoMzAwKSk7CisKKwkJLyogRW5hYmxlIGFsbCBvdXRwdXQgZGlzY2hhcmdlIGJpdHMgKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDEsIFdNODk5MF9ESVNfTExJTkUgfAorCQkJV004OTkwX0RJU19STElORSB8IFdNODk5MF9ESVNfT1VUMyB8CisJCQlXTTg5OTBfRElTX09VVDQgfCBXTTg5OTBfRElTX0xPVVQgfAorCQkJV004OTkwX0RJU19ST1VUKTsKKworCQkvKiBEaXNhYmxlIFZSRUYgKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCAweDApOworCisJCS8qIGRpc2FibGUgUE9CQ1RSTCwgU09GVF9TVCBhbmQgQlVGRENPUEVOICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AyLCAweDApOworCQlicmVhazsKKwl9CisKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOworCXJldHVybiAwOworfQorCisjZGVmaW5lIFdNODk5MF9SQVRFUyAoU05EUlZfUENNX1JBVEVfODAwMCB8IFNORFJWX1BDTV9SQVRFXzExMDI1IHxcCisJU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgXAorCVNORFJWX1BDTV9SQVRFXzQ4MDAwKQorCisjZGVmaW5lIFdNODk5MF9GT1JNQVRTIChTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzIwXzNMRSB8XAorCVNORFJWX1BDTV9GTVRCSVRfUzI0X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUpCisKKy8qCisgKiBUaGUgV004OTkwIHN1cHBvcnRzIDIgZGlmZmVyZW50IGFuZCBtdXR1YWxseSBleGNsdXNpdmUgREFJCisgKiBjb25maWd1cmF0aW9ucy4KKyAqCisgKiAxLiBBREMvREFDIG9uIFByaW1hcnkgSW50ZXJmYWNlCisgKiAyLiBBREMgb24gUHJpbWFyeSBJbnRlcmZhY2UvREFDIG9uIHNlY29uZGFyeQorICovCitzdHJ1Y3Qgc25kX3NvY19kYWkgd204OTkwX2RhaSA9IHsKKy8qIEFEQy9EQUMgb24gcHJpbWFyeSAqLworCS5uYW1lID0gIldNODk5MCBBREMvREFDIFByaW1hcnkiLAorCS5pZCA9IDEsCisJLnBsYXliYWNrID0geworCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFdNODk5MF9SQVRFUywKKwkJLmZvcm1hdHMgPSBXTTg5OTBfRk9STUFUUyx9LAorCS5jYXB0dXJlID0geworCQkuc3RyZWFtX25hbWUgPSAiQ2FwdHVyZSIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gV004OTkwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFdNODk5MF9GT1JNQVRTLH0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IHdtODk5MF9od19wYXJhbXMsfSwKKwkuZGFpX29wcyA9IHsKKwkJLmRpZ2l0YWxfbXV0ZSA9IHdtODk5MF9tdXRlLAorCQkuc2V0X2ZtdCA9IHdtODk5MF9zZXRfZGFpX2ZtdCwKKwkJLnNldF9jbGtkaXYgPSB3bTg5OTBfc2V0X2RhaV9jbGtkaXYsCisJCS5zZXRfcGxsID0gd204OTkwX3NldF9kYWlfcGxsLAorCQkuc2V0X3N5c2NsayA9IHdtODk5MF9zZXRfZGFpX3N5c2NsaywKKwl9LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHdtODk5MF9kYWkpOworCitzdGF0aWMgaW50IHdtODk5MF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwkvKiB3ZSBvbmx5IG5lZWQgdG8gc3VzcGVuZCBpZiB3ZSBhcmUgYSB2YWxpZCBjYXJkICovCisJaWYgKCFjb2RlYy0+Y2FyZCkKKwkJcmV0dXJuIDA7CisKKwl3bTg5OTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODk5MF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJaW50IGk7CisJdTggZGF0YVsyXTsKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKworCS8qIHdlIG9ubHkgbmVlZCB0byByZXN1bWUgaWYgd2UgYXJlIGEgdmFsaWQgY2FyZCAqLworCWlmICghY29kZWMtPmNhcmQpCisJCXJldHVybiAwOworCisJLyogU3luYyByZWdfY2FjaGUgd2l0aCB0aGUgaGFyZHdhcmUgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg5OTBfcmVnKTsgaSsrKSB7CisJCWlmIChpICsgMSA9PSBXTTg5OTBfUkVTRVQpCisJCQljb250aW51ZTsKKwkJZGF0YVswXSA9ICgoaSArIDEpIDw8IDEpIHwgKChjYWNoZVtpXSA+PiA4KSAmIDB4MDAwMSk7CisJCWRhdGFbMV0gPSBjYWNoZVtpXSAmIDB4MDBmZjsKKwkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOworCX0KKworCXdtODk5MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCXJldHVybiAwOworfQorCisvKgorICogaW5pdGlhbGlzZSB0aGUgV004OTkwIGRyaXZlcgorICogcmVnaXN0ZXIgdGhlIG1peGVyIGFuZCBkc3AgaW50ZXJmYWNlcyB3aXRoIHRoZSBrZXJuZWwKKyAqLworc3RhdGljIGludCB3bTg5OTBfaW5pdChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXUxNiByZWc7CisJaW50IHJldCA9IDA7CisKKwljb2RlYy0+bmFtZSA9ICJXTTg5OTAiOworCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOworCWNvZGVjLT5yZWFkID0gd204OTkwX3JlYWRfcmVnX2NhY2hlOworCWNvZGVjLT53cml0ZSA9IHdtODk5MF93cml0ZTsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTg5OTBfc2V0X2JpYXNfbGV2ZWw7CisJY29kZWMtPmRhaSA9ICZ3bTg5OTBfZGFpOworCWNvZGVjLT5udW1fZGFpID0gMjsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKHdtODk5MF9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGUgPSBrbWVtZHVwKHdtODk5MF9yZWcsIHNpemVvZih3bTg5OTBfcmVnKSwgR0ZQX0tFUk5FTCk7CisKKwlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXdtODk5MF9yZXNldChjb2RlYyk7CisKKwkvKiByZWdpc3RlciBwY21zICovCisJcmV0ID0gc25kX3NvY19uZXdfcGNtcyhzb2NkZXYsIFNORFJWX0RFRkFVTFRfSURYMSwgU05EUlZfREVGQVVMVF9TVFIxKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgIndtODk5MDogZmFpbGVkIHRvIGNyZWF0ZSBwY21zXG4iKTsKKwkJZ290byBwY21fZXJyOworCX0KKworCS8qIGNoYXJnZSBvdXRwdXQgY2FwcyAqLworCWNvZGVjLT5iaWFzX2xldmVsID0gU05EX1NPQ19CSUFTX09GRjsKKwl3bTg5OTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKworCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV80KTsKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfNCwgcmVnIHwgV004OTkwX0FMUkNHUElPMSk7CisKKwlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9HUElPMV9HUElPMikgJgorCQl+V004OTkwX0dQSU8xX1NFTF9NQVNLOworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0dQSU8xX0dQSU8yLCByZWcgfCAxKTsKKworCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMik7CisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCByZWcgfCBXTTg5OTBfT1BDTEtfRU5BKTsKKworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0xFRlRfT1VUUFVUX1ZPTFVNRSwgMHg1MCB8ICgxPDw4KSk7CisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUklHSFRfT1VUUFVUX1ZPTFVNRSwgMHg1MCB8ICgxPDw4KSk7CisKKwl3bTg5OTBfYWRkX2NvbnRyb2xzKGNvZGVjKTsKKwl3bTg5OTBfYWRkX3dpZGdldHMoY29kZWMpOworCXJldCA9IHNuZF9zb2NfcmVnaXN0ZXJfY2FyZChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAid204OTkwOiBmYWlsZWQgdG8gcmVnaXN0ZXIgY2FyZFxuIik7CisJCWdvdG8gY2FyZF9lcnI7CisJfQorCXJldHVybiByZXQ7CisKK2NhcmRfZXJyOgorCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKK3BjbV9lcnI6CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJcmV0dXJuIHJldDsKK30KKworLyogSWYgdGhlIGkyYyBsYXllciB3ZXJlbid0IHNvIGJyb2tlbiwgd2UgY291bGQgcGFzcyB0aGlzIGtpbmQgb2YgZGF0YQorICAgYXJvdW5kICovCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGV2aWNlICp3bTg5OTBfc29jZGV2OworCisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCisvKgorICogV004OTEgMiB3aXJlIGFkZHJlc3MgaXMgZGV0ZXJtaW5lZCBieSBHUElPNQorICogc3RhdGUgZHVyaW5nIHBvd2VydXAuCisgKiAgICBsb3cgID0gMHgzNAorICogICAgaGlnaCA9IDB4MzYKKyAqLworc3RhdGljIHVuc2lnbmVkIHNob3J0IG5vcm1hbF9pMmNbXSA9IHsgMCwgSTJDX0NMSUVOVF9FTkQgfTsKKworLyogTWFnaWMgZGVmaW5pdGlvbiBvZiBhbGwgb3RoZXIgdmFyaWFibGVzIGFuZCB0aGluZ3MgKi8KK0kyQ19DTElFTlRfSU5TTU9EOworCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgd204OTkwX2kyY19kcml2ZXI7CitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlOworCitzdGF0aWMgaW50IHdtODk5MF9jb2RlY19wcm9iZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIGludCBhZGRyLCBpbnQga2luZCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHdtODk5MF9zb2NkZXY7CisJc3RydWN0IHdtODk5MF9zZXR1cF9kYXRhICpzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBpMmNfY2xpZW50ICppMmM7CisJaW50IHJldDsKKworCWlmIChhZGRyICE9IHNldHVwLT5pMmNfYWRkcmVzcykKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwljbGllbnRfdGVtcGxhdGUuYWRhcHRlciA9IGFkYXA7CisJY2xpZW50X3RlbXBsYXRlLmFkZHIgPSBhZGRyOworCisJaTJjID0gIGttZW1kdXAoJmNsaWVudF90ZW1wbGF0ZSwgc2l6ZW9mKGNsaWVudF90ZW1wbGF0ZSksIEdGUF9LRVJORUwpOworCWlmIChpMmMgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwlpMmNfc2V0X2NsaWVudGRhdGEoaTJjLCBjb2RlYyk7CisJY29kZWMtPmNvbnRyb2xfZGF0YSA9IGkyYzsKKworCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlnb3RvIGVycjsKKwl9CisKKwlyZXQgPSB3bTg5OTBfaW5pdChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004OTkwXG4iKTsKKwkJZ290byBlcnI7CisJfQorCXJldHVybiByZXQ7CisKK2VycjoKKwlrZnJlZShjb2RlYyk7CisJa2ZyZWUoaTJjKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHdtODk5MF9pMmNfZGV0YWNoKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlrZnJlZShjbGllbnQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODk5MF9pMmNfYXR0YWNoKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlyZXR1cm4gaTJjX3Byb2JlKGFkYXAsICZhZGRyX2RhdGEsIHdtODk5MF9jb2RlY19wcm9iZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB3bTg5OTBfaTJjX2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICJXTTg5OTAgSTJDIENvZGVjIiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkuYXR0YWNoX2FkYXB0ZXIgPSB3bTg5OTBfaTJjX2F0dGFjaCwKKwkuZGV0YWNoX2NsaWVudCA9ICB3bTg5OTBfaTJjX2RldGFjaCwKKwkuY29tbWFuZCA9ICAgICAgICBOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZSA9IHsKKwkubmFtZSA9ICAgIldNODk5MCIsCisJLmRyaXZlciA9ICZ3bTg5OTBfaTJjX2RyaXZlciwKK307CisjZW5kaWYKKworc3RhdGljIGludCB3bTg5OTBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCB3bTg5OTBfc2V0dXBfZGF0YSAqc2V0dXA7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjOworCXN0cnVjdCB3bTg5OTBfcHJpdiAqd204OTkwOworCWludCByZXQgPSAwOworCisJcHJfaW5mbygiV004OTkwIEF1ZGlvIENvZGVjICVzXG4iLCBXTTg5OTBfVkVSU0lPTik7CisKKwlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGNvZGVjID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJd204OTkwID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHdtODk5MF9wcml2KSwgR0ZQX0tFUk5FTCk7CisJaWYgKHdtODk5MCA9PSBOVUxMKSB7CisJCWtmcmVlKGNvZGVjKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJY29kZWMtPnByaXZhdGVfZGF0YSA9IHdtODk5MDsKKwlzb2NkZXYtPmNvZGVjID0gY29kZWM7CisJbXV0ZXhfaW5pdCgmY29kZWMtPm11dGV4KTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fd2lkZ2V0cyk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3BhdGhzKTsKKwl3bTg5OTBfc29jZGV2ID0gc29jZGV2OworCisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWlmIChzZXR1cC0+aTJjX2FkZHJlc3MpIHsKKwkJbm9ybWFsX2kyY1swXSA9IHNldHVwLT5pMmNfYWRkcmVzczsKKwkJY29kZWMtPmh3X3dyaXRlID0gKGh3X3dyaXRlX3QpaTJjX21hc3Rlcl9zZW5kOworCQlyZXQgPSBpMmNfYWRkX2RyaXZlcigmd204OTkwX2kyY19kcml2ZXIpOworCQlpZiAocmV0ICE9IDApCisJCQlwcmludGsoS0VSTl9FUlIgImNhbid0IGFkZCBpMmMgZHJpdmVyIik7CisJfQorI2Vsc2UKKwkJLyogQWRkIG90aGVyIGludGVyZmFjZXMgaGVyZSAqLworI2VuZGlmCisJcmV0dXJuIHJldDsKK30KKworLyogcG93ZXIgZG93biBjaGlwICovCitzdGF0aWMgaW50IHdtODk5MF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKKwkJd204OTkwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWkyY19kZWxfZHJpdmVyKCZ3bTg5OTBfaTJjX2RyaXZlcik7CisjZW5kaWYKKwlrZnJlZShjb2RlYy0+cHJpdmF0ZV9kYXRhKTsKKwlrZnJlZShjb2RlYyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204OTkwID0geworCS5wcm9iZSA9CXdtODk5MF9wcm9iZSwKKwkucmVtb3ZlID0Jd204OTkwX3JlbW92ZSwKKwkuc3VzcGVuZCA9CXdtODk5MF9zdXNwZW5kLAorCS5yZXN1bWUgPQl3bTg5OTBfcmVzdW1lLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNvY19jb2RlY19kZXZfd204OTkwKTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJBU29DIFdNODk5MCBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIkxpYW0gR2lyZHdvb2QiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmggYi9zb3VuZC9zb2MvY29kZWNzL3dtODk5MC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZWE1NzQKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODk5MC5oCkBAIC0wLDAgKzEsODMyIEBACisvKgorICogd204OTkwLmggIC0tICBhdWRpbyBkcml2ZXIgZm9yIFdNODk5MAorICoKKyAqIENvcHlyaWdodCAyMDA3IFdvbGZzb24gTWljcm9lbGVjdHJvbmljcyBQTEMuCisgKiBBdXRob3I6IEdyYWVtZSBHcmVnb3J5CisgKiAgICAgICAgIGdyYWVtZS5ncmVnb3J5QHdvbGZzb25taWNyby5jb20gb3IgbGludXhAd29sZnNvbm1pY3JvLmNvbQorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKyAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworCisjaWZuZGVmIF9fV004OTkwUkVHSVNURVJERUZTX0hfXworI2RlZmluZSBfX1dNODk5MFJFR0lTVEVSREVGU19IX18KKworLyoKKyAqIFJlZ2lzdGVyIHZhbHVlcy4KKyAqLworI2RlZmluZSBXTTg5OTBfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAorI2RlZmluZSBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zICAgICAgICAgICAgICAgMHgwMworI2RlZmluZSBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzEgICAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzIgICAgICAgICAgICAgICAgMHgwNQorI2RlZmluZSBXTTg5OTBfQ0xPQ0tJTkdfMSAgICAgICAgICAgICAgICAgICAgICAgMHgwNgorI2RlZmluZSBXTTg5OTBfQ0xPQ0tJTkdfMiAgICAgICAgICAgICAgICAgICAgICAgMHgwNworI2RlZmluZSBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzMgICAgICAgICAgICAgICAgMHgwOAorI2RlZmluZSBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzQgICAgICAgICAgICAgICAgMHgwOQorI2RlZmluZSBXTTg5OTBfREFDX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQQorI2RlZmluZSBXTTg5OTBfTEVGVF9EQUNfRElHSVRBTF9WT0xVTUUgICAgICAgICAgMHgwQgorI2RlZmluZSBXTTg5OTBfUklHSFRfREFDX0RJR0lUQUxfVk9MVU1FICAgICAgICAgMHgwQworI2RlZmluZSBXTTg5OTBfRElHSVRBTF9TSURFX1RPTkUgICAgICAgICAgICAgICAgMHgwRAorI2RlZmluZSBXTTg5OTBfQURDX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRQorI2RlZmluZSBXTTg5OTBfTEVGVF9BRENfRElHSVRBTF9WT0xVTUUgICAgICAgICAgMHgwRgorI2RlZmluZSBXTTg5OTBfUklHSFRfQURDX0RJR0lUQUxfVk9MVU1FICAgICAgICAgMHgxMAorI2RlZmluZSBXTTg5OTBfR1BJT19DVFJMXzEgICAgICAgICAgICAgICAgICAgICAgMHgxMgorI2RlZmluZSBXTTg5OTBfR1BJTzFfR1BJTzIgICAgICAgICAgICAgICAgICAgICAgMHgxMworI2RlZmluZSBXTTg5OTBfR1BJTzNfR1BJTzQgICAgICAgICAgICAgICAgICAgICAgMHgxNAorI2RlZmluZSBXTTg5OTBfR1BJTzVfR1BJTzYgICAgICAgICAgICAgICAgICAgICAgMHgxNQorI2RlZmluZSBXTTg5OTBfR1BJT0NUUkxfMiAgICAgICAgICAgICAgICAgICAgICAgMHgxNgorI2RlZmluZSBXTTg5OTBfR1BJT19QT0wgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNworI2RlZmluZSBXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUgICAgICAgMHgxOAorI2RlZmluZSBXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUgICAgICAgMHgxOQorI2RlZmluZSBXTTg5OTBfUklHSFRfTElORV9JTlBVVF8xXzJfVk9MVU1FICAgICAgMHgxQQorI2RlZmluZSBXTTg5OTBfUklHSFRfTElORV9JTlBVVF8zXzRfVk9MVU1FICAgICAgMHgxQgorI2RlZmluZSBXTTg5OTBfTEVGVF9PVVRQVVRfVk9MVU1FICAgICAgICAgICAgICAgMHgxQworI2RlZmluZSBXTTg5OTBfUklHSFRfT1VUUFVUX1ZPTFVNRSAgICAgICAgICAgICAgMHgxRAorI2RlZmluZSBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSAgICAgICAgICAgICAgMHgxRQorI2RlZmluZSBXTTg5OTBfT1VUM180X1ZPTFVNRSAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBXTTg5OTBfTEVGVF9PUEdBX1ZPTFVNRSAgICAgICAgICAgICAgICAgMHgyMAorI2RlZmluZSBXTTg5OTBfUklHSFRfT1BHQV9WT0xVTUUgICAgICAgICAgICAgICAgMHgyMQorI2RlZmluZSBXTTg5OTBfU1BFQUtFUl9WT0xVTUUgICAgICAgICAgICAgICAgICAgMHgyMgorI2RlZmluZSBXTTg5OTBfQ0xBU1NEMSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMworI2RlZmluZSBXTTg5OTBfQ0xBU1NEMyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyNQorI2RlZmluZSBXTTg5OTBfSU5QVVRfTUlYRVIxICAgICAgICAgICAgICAgICAgICAgMHgyNworI2RlZmluZSBXTTg5OTBfSU5QVVRfTUlYRVIyICAgICAgICAgICAgICAgICAgICAgMHgyOAorI2RlZmluZSBXTTg5OTBfSU5QVVRfTUlYRVIzICAgICAgICAgICAgICAgICAgICAgMHgyOQorI2RlZmluZSBXTTg5OTBfSU5QVVRfTUlYRVI0ICAgICAgICAgICAgICAgICAgICAgMHgyQQorI2RlZmluZSBXTTg5OTBfSU5QVVRfTUlYRVI1ICAgICAgICAgICAgICAgICAgICAgMHgyQgorI2RlZmluZSBXTTg5OTBfSU5QVVRfTUlYRVI2ICAgICAgICAgICAgICAgICAgICAgMHgyQworI2RlZmluZSBXTTg5OTBfT1VUUFVUX01JWEVSMSAgICAgICAgICAgICAgICAgICAgMHgyRAorI2RlZmluZSBXTTg5OTBfT1VUUFVUX01JWEVSMiAgICAgICAgICAgICAgICAgICAgMHgyRQorI2RlZmluZSBXTTg5OTBfT1VUUFVUX01JWEVSMyAgICAgICAgICAgICAgICAgICAgMHgyRgorI2RlZmluZSBXTTg5OTBfT1VUUFVUX01JWEVSNCAgICAgICAgICAgICAgICAgICAgMHgzMAorI2RlZmluZSBXTTg5OTBfT1VUUFVUX01JWEVSNSAgICAgICAgICAgICAgICAgICAgMHgzMQorI2RlZmluZSBXTTg5OTBfT1VUUFVUX01JWEVSNiAgICAgICAgICAgICAgICAgICAgMHgzMgorI2RlZmluZSBXTTg5OTBfT1VUM180X01JWEVSICAgICAgICAgICAgICAgICAgICAgMHgzMworI2RlZmluZSBXTTg5OTBfTElORV9NSVhFUjEgICAgICAgICAgICAgICAgICAgICAgMHgzNAorI2RlZmluZSBXTTg5OTBfTElORV9NSVhFUjIgICAgICAgICAgICAgICAgICAgICAgMHgzNQorI2RlZmluZSBXTTg5OTBfU1BFQUtFUl9NSVhFUiAgICAgICAgICAgICAgICAgICAgMHgzNgorI2RlZmluZSBXTTg5OTBfQURESVRJT05BTF9DT05UUk9MICAgICAgICAgICAgICAgMHgzNworI2RlZmluZSBXTTg5OTBfQU5USVBPUDEgICAgICAgICAgICAgICAgICAgICAgICAgMHgzOAorI2RlZmluZSBXTTg5OTBfQU5USVBPUDIgICAgICAgICAgICAgICAgICAgICAgICAgMHgzOQorI2RlZmluZSBXTTg5OTBfTUlDQklBUyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzQQorI2RlZmluZSBXTTg5OTBfUExMMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzQworI2RlZmluZSBXTTg5OTBfUExMMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRAorI2RlZmluZSBXTTg5OTBfUExMMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRQorI2RlZmluZSBXTTg5OTBfSU5URFJJVkJJVFMJCQkweDNGCisKKyNkZWZpbmUgV004OTkwX1JFR0lTVEVSX0NPVU5UICAgICAgICAgICAgICAgICAgIDYwCisjZGVmaW5lIFdNODk5MF9NQVhfUkVHSVNURVIgICAgICAgICAgICAgICAgICAgICAweDNGCisKKy8qCisgKiBGaWVsZCBEZWZpbml0aW9ucy4KKyAqLworCisvKgorICogUjAgKDB4MDApIC0gUmVzZXQKKyAqLworI2RlZmluZSBXTTg5OTBfU1dfUkVTRVRfQ0hJUF9JRF9NQVNLICAgICAgICAgICAgMHhGRkZGICAvKiBTV19SRVNFVF9DSElQX0lEICovCisKKy8qCisgKiBSMSAoMHgwMSkgLSBQb3dlciBNYW5hZ2VtZW50ICgxKQorICovCisjZGVmaW5lIFdNODk5MF9TUEtfRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIFNQS19FTkEgKi8KKyNkZWZpbmUgV004OTkwX1NQS19FTkFfQklUCQkJMTIKKyNkZWZpbmUgV004OTkwX09VVDNfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogT1VUM19FTkEgKi8KKyNkZWZpbmUgV004OTkwX09VVDNfRU5BX0JJVAkJCTExCisjZGVmaW5lIFdNODk5MF9PVVQ0X0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIE9VVDRfRU5BICovCisjZGVmaW5lIFdNODk5MF9PVVQ0X0VOQV9CSVQJCQkxMAorI2RlZmluZSBXTTg5OTBfTE9VVF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMjAwICAvKiBMT1VUX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTE9VVF9FTkFfQklUCQkJOQorI2RlZmluZSBXTTg5OTBfUk9VVF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBST1VUX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUk9VVF9FTkFfQklUCQkJOAorI2RlZmluZSBXTTg5OTBfTUlDQklBU19FTkEgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBNSUNCSUFTX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTUlDQklBU19FTkFfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfVk1JRF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDA2ICAvKiBWTUlEX01PREUgLSBbMjoxXSAqLworI2RlZmluZSBXTTg5OTBfVlJFRl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBWUkVGX0VOQSAqLworI2RlZmluZSBXTTg5OTBfVlJFRl9FTkFfQklUCQkJMAorCisvKgorICogUjIgKDB4MDIpIC0gUG93ZXIgTWFuYWdlbWVudCAoMikKKyAqLworI2RlZmluZSBXTTg5OTBfUExMX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBQTExfRU5BICovCisjZGVmaW5lIFdNODk5MF9QTExfRU5BX0JJVAkJCTE1CisjZGVmaW5lIFdNODk5MF9UU0hVVF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIFRTSFVUX0VOQSAqLworI2RlZmluZSBXTTg5OTBfVFNIVVRfRU5BX0JJVAkJCTE0CisjZGVmaW5lIFdNODk5MF9UU0hVVF9PUERJUyAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIFRTSFVUX09QRElTICovCisjZGVmaW5lIFdNODk5MF9UU0hVVF9PUERJU19CSVQJCQkxMworI2RlZmluZSBXTTg5OTBfT1BDTEtfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBPUENMS19FTkEgKi8KKyNkZWZpbmUgV004OTkwX09QQ0xLX0VOQV9CSVQJCQkxMQorI2RlZmluZSBXTTg5OTBfQUlOTF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMjAwICAvKiBBSU5MX0VOQSAqLworI2RlZmluZSBXTTg5OTBfQUlOTF9FTkFfQklUCQkJOQorI2RlZmluZSBXTTg5OTBfQUlOUl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBBSU5SX0VOQSAqLworI2RlZmluZSBXTTg5OTBfQUlOUl9FTkFfQklUCQkJOAorI2RlZmluZSBXTTg5OTBfTElOMzRfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMSU4zNF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0xJTjM0X0VOQV9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9MSU4xMl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExJTjEyX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTElOMTJfRU5BX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX1JJTjM0X0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogUklOMzRfRU5BICovCisjZGVmaW5lIFdNODk5MF9SSU4zNF9FTkFfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfUklOMTJfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBSSU4xMl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JJTjEyX0VOQV9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9BRENMX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIEFEQ0xfRU5BICovCisjZGVmaW5lIFdNODk5MF9BRENMX0VOQV9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9BRENSX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIEFEQ1JfRU5BICovCisjZGVmaW5lIFdNODk5MF9BRENSX0VOQV9CSVQJCQkwCisKKy8qCisgKiBSMyAoMHgwMykgLSBQb3dlciBNYW5hZ2VtZW50ICgzKQorICovCisjZGVmaW5lIFdNODk5MF9MT05fRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIExPTl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0xPTl9FTkFfQklUCQkJMTMKKyNkZWZpbmUgV004OTkwX0xPUF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogTE9QX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTE9QX0VOQV9CSVQJCQkxMgorI2RlZmluZSBXTTg5OTBfUk9OX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBST05fRU5BICovCisjZGVmaW5lIFdNODk5MF9ST05fRU5BX0JJVAkJCTExCisjZGVmaW5lIFdNODk5MF9ST1BfRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIFJPUF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JPUF9FTkFfQklUCQkJMTAKKyNkZWZpbmUgV004OTkwX0xPUEdBX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTE9QR0FfRU5BICovCisjZGVmaW5lIFdNODk5MF9MT1BHQV9FTkFfQklUCQkJNworI2RlZmluZSBXTTg5OTBfUk9QR0FfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBST1BHQV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JPUEdBX0VOQV9CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9MT01JWF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIExPTUlYX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTE9NSVhfRU5BX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX1JPTUlYX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogUk9NSVhfRU5BICovCisjZGVmaW5lIFdNODk5MF9ST01JWF9FTkFfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfREFDTF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBEQUNMX0VOQSAqLworI2RlZmluZSBXTTg5OTBfREFDTF9FTkFfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfREFDUl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBEQUNSX0VOQSAqLworI2RlZmluZSBXTTg5OTBfREFDUl9FTkFfQklUCQkJMAorCisvKgorICogUjQgKDB4MDQpIC0gQXVkaW8gSW50ZXJmYWNlICgxKQorICovCisjZGVmaW5lIFdNODk5MF9BSUZBRENMX1NSQyAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIEFJRkFEQ0xfU1JDICovCisjZGVmaW5lIFdNODk5MF9BSUZBRENSX1NSQyAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIEFJRkFEQ1JfU1JDICovCisjZGVmaW5lIFdNODk5MF9BSUZBRENfVERNICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEFJRkFEQ19URE0gKi8KKyNkZWZpbmUgV004OTkwX0FJRkFEQ19URE1fQ0hBTiAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogQUlGQURDX1RETV9DSEFOICovCisjZGVmaW5lIFdNODk5MF9BSUZfQkNMS19JTlYgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEFJRl9CQ0xLX0lOViAqLworI2RlZmluZSBXTTg5OTBfQUlGX0xSQ0xLX0lOViAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBBSUZfTFJDTEtfSU5WICovCisjZGVmaW5lIFdNODk5MF9BSUZfV0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwNjAgIC8qIEFJRl9XTCAtIFs2OjVdICovCisjZGVmaW5lIFdNODk5MF9BSUZfV0xfMTZCSVRTCQkJKDAgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FJRl9XTF8yMEJJVFMJCQkoMSA8PCA1KQorI2RlZmluZSBXTTg5OTBfQUlGX1dMXzI0QklUUwkJCSgyIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BSUZfV0xfMzJCSVRTCQkJKDMgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FJRl9GTVRfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDAxOCAgLyogQUlGX0ZNVCAtIFs0OjNdICovCisjZGVmaW5lIFdNODk5MF9BSUZfVE1GX1JJR0hUSgkJCSgwIDw8IDMpCisjZGVmaW5lIFdNODk5MF9BSUZfVE1GX0xFRlRKCQkJKDEgPDwgMykKKyNkZWZpbmUgV004OTkwX0FJRl9UTUZfSTJTCQkJKDIgPDwgMykKKyNkZWZpbmUgV004OTkwX0FJRl9UTUZfRFNQCQkJKDMgPDwgMykKKworLyoKKyAqIFI1ICgweDA1KSAtIEF1ZGlvIEludGVyZmFjZSAoMikKKyAqLworI2RlZmluZSBXTTg5OTBfREFDTF9TUkMgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBEQUNMX1NSQyAqLworI2RlZmluZSBXTTg5OTBfREFDUl9TUkMgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBEQUNSX1NSQyAqLworI2RlZmluZSBXTTg5OTBfQUlGREFDX1RETSAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBBSUZEQUNfVERNICovCisjZGVmaW5lIFdNODk5MF9BSUZEQUNfVERNX0NIQU4gICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIEFJRkRBQ19URE1fQ0hBTiAqLworI2RlZmluZSBXTTg5OTBfREFDX0JPT1NUX01BU0sgICAgICAgICAgICAgICAgICAgMHgwQzAwICAvKiBEQUNfQk9PU1QgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19DT01QICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogREFDX0NPTVAgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19DT01QTU9ERSAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogREFDX0NPTVBNT0RFICovCisjZGVmaW5lIFdNODk5MF9BRENfQ09NUCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIEFEQ19DT01QICovCisjZGVmaW5lIFdNODk5MF9BRENfQ09NUE1PREUgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIEFEQ19DT01QTU9ERSAqLworI2RlZmluZSBXTTg5OTBfTE9PUEJBQ0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBMT09QQkFDSyAqLworCisvKgorICogUjYgKDB4MDYpIC0gQ2xvY2tpbmcgKDEpCisgKi8KKyNkZWZpbmUgV004OTkwX1RPQ0xLX1JBVEUgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogVE9DTEtfUkFURSAqLworI2RlZmluZSBXTTg5OTBfVE9DTEtfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBUT0NMS19FTkEgKi8KKyNkZWZpbmUgV004OTkwX09QQ0xLRElWX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MUUwMCAgLyogT1BDTEtESVYgLSBbMTI6OV0gKi8KKyNkZWZpbmUgV004OTkwX0RDTEtESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDFDMCAgLyogRENMS0RJViAtIFs4OjZdICovCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMUUgIC8qIEJDTEtfRElWIC0gWzQ6MV0gKi8KKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzEJCQkoMHgwIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8xXzUJCQkoMHgxIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8yCQkJKDB4MiA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMwkJCSgweDMgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzQJCQkoMHg0IDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl81XzUJCQkoMHg1IDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl82CQkJKDB4NiA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfOAkJCSgweDcgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzExCQkJKDB4OCA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMTIJCQkoMHg5IDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8xNgkJCSgweEEgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzIyCQkJKDB4QiA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMjQJCQkoMHhDIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8zMgkJCSgweEQgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzQ0CQkJKDB4RSA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfNDgJCQkoMHhGIDw8IDEpCisKKy8qCisgKiBSNyAoMHgwNykgLSBDbG9ja2luZyAoMikKKyAqLworI2RlZmluZSBXTTg5OTBfTUNMS19TUkMgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBNQ0xLX1NSQyAqLworI2RlZmluZSBXTTg5OTBfU1lTQ0xLX1NSQyAgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBTWVNDTEtfU1JDICovCisjZGVmaW5lIFdNODk5MF9DTEtfRk9SQ0UgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIENMS19GT1JDRSAqLworI2RlZmluZSBXTTg5OTBfTUNMS19ESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxODAwICAvKiBNQ0xLX0RJViAtIFsxMjoxMV0gKi8KKyNkZWZpbmUgV004OTkwX01DTEtfRElWXzEJCQkoMCA8PCAxMSkKKyNkZWZpbmUgV004OTkwX01DTEtfRElWXzIJCQkoMiA8PCAxMSkKKyNkZWZpbmUgV004OTkwX01DTEtfSU5WICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogTUNMS19JTlYgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDBFMCAgLyogQURDX0NMS0RJViAqLworI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl8xCQkJKDAgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfMV81CQkJKDEgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfMgkJCSgyIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzMJCQkoMyA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl80CQkJKDQgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfNV81CQkJKDUgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfNgkJCSg2IDw8IDUpCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWX01BU0sgICAgICAgICAgICAgICAgICAweDAwMUMgIC8qIERBQ19DTEtESVYgLSBbNDoyXSAqLworI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl8xCQkJKDAgPDwgMikKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfMV81CQkJKDEgPDwgMikKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfMgkJCSgyIDw8IDIpCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzMJCQkoMyA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl80CQkJKDQgPDwgMikKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfNV81CQkJKDUgPDwgMikKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfNgkJCSg2IDw8IDIpCisKKy8qCisgKiBSOCAoMHgwOCkgLSBBdWRpbyBJbnRlcmZhY2UgKDMpCisgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9NU1RSMSAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogQUlGX01TVFIxICovCisjZGVmaW5lIFdNODk5MF9BSUZfTVNUUjIgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIEFJRl9NU1RSMiAqLworI2RlZmluZSBXTTg5OTBfQUlGX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBBSUZfU0VMICovCisjZGVmaW5lIFdNODk5MF9BRENMUkNfRElSICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIEFEQ0xSQ19ESVIgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xSQ19SQVRFX01BU0sgICAgICAgICAgICAgICAgIDB4MDdGRiAgLyogQURDTFJDX1JBVEUgKi8KKworLyoKKyAqIFI5ICgweDA5KSAtIEF1ZGlvIEludGVyZmFjZSAoNCkKKyAqLworI2RlZmluZSBXTTg5OTBfQUxSQ0dQSU8xICAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBBTFJDR1BJTzEgKi8KKyNkZWZpbmUgV004OTkwX0FMUkNCR1BJTzYgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogQUxSQ0JHUElPNiAqLworI2RlZmluZSBXTTg5OTBfQUlGX1RSSVMgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBBSUZfVFJJUyAqLworI2RlZmluZSBXTTg5OTBfREFDTFJDX0RJUiAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBEQUNMUkNfRElSICovCisjZGVmaW5lIFdNODk5MF9EQUNMUkNfUkFURV9NQVNLICAgICAgICAgICAgICAgICAweDA3RkYgIC8qIERBQ0xSQ19SQVRFICovCisKKy8qCisgKiBSMTAgKDB4MEEpIC0gREFDIENUUkwKKyAqLworI2RlZmluZSBXTTg5OTBfQUlGX0xSQ0xLUkFURSAgICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBBSUZfTFJDTEtSQVRFICovCisjZGVmaW5lIFdNODk5MF9EQUNfTU9OTyAgICAgICAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIERBQ19NT05PICovCisjZGVmaW5lIFdNODk5MF9EQUNfU0JfRklMVCAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIERBQ19TQl9GSUxUICovCisjZGVmaW5lIFdNODk5MF9EQUNfTVVURVJBVEUgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIERBQ19NVVRFUkFURSAqLworI2RlZmluZSBXTTg5OTBfREFDX01VVEVNT0RFICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBEQUNfTVVURU1PREUgKi8KKyNkZWZpbmUgV004OTkwX0RFRU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MDAzMCAgLyogREVFTVAgLSBbNTo0XSAqLworI2RlZmluZSBXTTg5OTBfREFDX01VVEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBEQUNfTVVURSAqLworI2RlZmluZSBXTTg5OTBfREFDTF9EQVRJTlYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBEQUNMX0RBVElOViAqLworI2RlZmluZSBXTTg5OTBfREFDUl9EQVRJTlYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBEQUNSX0RBVElOViAqLworCisvKgorICogUjExICgweDBCKSAtIExlZnQgREFDIERpZ2l0YWwgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19WVSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogREFDX1ZVICovCisjZGVmaW5lIFdNODk5MF9EQUNMX1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwRkYgIC8qIERBQ0xfVk9MIC0gWzc6MF0gKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xfVk9MX1NISUZUCQkJMAorLyoKKyAqIFIxMiAoMHgwQykgLSBSaWdodCBEQUMgRGlnaXRhbCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfREFDX1ZVICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBEQUNfVlUgKi8KKyNkZWZpbmUgV004OTkwX0RBQ1JfVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDBGRiAgLyogREFDUl9WT0wgLSBbNzowXSAqLworI2RlZmluZSBXTTg5OTBfREFDUl9WT0xfU0hJRlQJCQkwCisvKgorICogUjEzICgweDBEKSAtIERpZ2l0YWwgU2lkZSBUb25lCisgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xfREFDX1NWT0xfTUFTSyAgICAgICAgICAgICAgIDB4MEYgIC8qIEFEQ0xfREFDX1NWT0wgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xfREFDX1NWT0xfU0hJRlQJCTkKKyNkZWZpbmUgV004OTkwX0FEQ1JfREFDX1NWT0xfTUFTSyAgICAgICAgICAgICAgIDB4MEYgIC8qIEFEQ1JfREFDX1NWT0wgKi8KKyNkZWZpbmUgV004OTkwX0FEQ1JfREFDX1NWT0xfU0hJRlQJCTUKKyNkZWZpbmUgV004OTkwX0FEQ19UT19EQUNMX01BU0sgICAgICAgICAgICAgICAgIDB4MDMgIC8qIEFEQ19UT19EQUNMIC0gWzM6Ml0gKi8KKyNkZWZpbmUgV004OTkwX0FEQ19UT19EQUNMX1NISUZUCQkyCisjZGVmaW5lIFdNODk5MF9BRENfVE9fREFDUl9NQVNLICAgICAgICAgICAgICAgICAweDAzICAvKiBBRENfVE9fREFDUiAtIFsxOjBdICovCisjZGVmaW5lIFdNODk5MF9BRENfVE9fREFDUl9TSElGVAkJMAorCisvKgorICogUjE0ICgweDBFKSAtIEFEQyBDVFJMCisgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19IUEZfRU5BICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogQURDX0hQRl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19IUEZfRU5BX0JJVAkJCTgKKyNkZWZpbmUgV004OTkwX0FEQ19IUEZfQ1VUX01BU0sgICAgICAgICAgICAgICAgIDB4MDMgIC8qIEFEQ19IUEZfQ1VUIC0gWzY6NV0gKi8KKyNkZWZpbmUgV004OTkwX0FEQ19IUEZfQ1VUX1NISUZUCQk1CisjZGVmaW5lIFdNODk5MF9BRENMX0RBVElOViAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIEFEQ0xfREFUSU5WICovCisjZGVmaW5lIFdNODk5MF9BRENMX0RBVElOVl9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9BRENSX0RBVElOViAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIEFEQ1JfREFUSU5WICovCisjZGVmaW5lIFdNODk5MF9BRENSX0RBVElOVl9CSVQJCQkwCisKKy8qCisgKiBSMTUgKDB4MEYpIC0gTGVmdCBBREMgRGlnaXRhbCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfQURDX1ZVICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBBRENfVlUgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xfVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDBGRiAgLyogQURDTF9WT0wgLSBbNzowXSAqLworI2RlZmluZSBXTTg5OTBfQURDTF9WT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMTYgKDB4MTApIC0gUmlnaHQgQURDIERpZ2l0YWwgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19WVSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogQURDX1ZVICovCisjZGVmaW5lIFdNODk5MF9BRENSX1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwRkYgIC8qIEFEQ1JfVk9MIC0gWzc6MF0gKi8KKyNkZWZpbmUgV004OTkwX0FEQ1JfVk9MX1NISUZUCQkJMAorCisvKgorICogUjE4ICgweDEyKSAtIEdQSU8gQ1RSTCAxCisgKi8KKyNkZWZpbmUgV004OTkwX0lSUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogSVJRICovCisjZGVmaW5lIFdNODk5MF9URU1QT0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIFRFTVBPSyAqLworI2RlZmluZSBXTTg5OTBfTUlDU0hSVCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBNSUNTSFJUICovCisjZGVmaW5lIFdNODk5MF9NSUNERVQgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIE1JQ0RFVCAqLworI2RlZmluZSBXTTg5OTBfUExMX0xDSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBQTExfTENLICovCisjZGVmaW5lIFdNODk5MF9HUEk4X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEdQSThfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUEk3X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSTdfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIEdQSU82X1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzVfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBHUElPNV9TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSU80X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogR1BJTzRfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUElPM19TVEFUVVMgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIEdQSU8zX1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzJfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBHUElPMl9TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogR1BJTzFfU1RBVFVTICovCisKKy8qCisgKiBSMTkgKDB4MTMpIC0gR1BJTzEgJiBHUElPMgorICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9ERUJfRU5BICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIEdQSU8yX0RFQl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8yX0lSUV9FTkEgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogR1BJTzJfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzJfUFUgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBHUElPMl9QVSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzJfUEQgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBHUElPMl9QRCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzJfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgwRjAwICAvKiBHUElPMl9TRUwgLSBbMTE6OF0gKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogR1BJTzFfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBHUElPMV9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPMV9QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIEdQSU8xX1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPMV9QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEdQSU8xX1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPMV9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMEYgIC8qIEdQSU8xX1NFTCAtIFszOjBdICovCisKKy8qCisgKiBSMjAgKDB4MTQpIC0gR1BJTzMgJiBHUElPNAorICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9ERUJfRU5BICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIEdQSU80X0RFQl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU80X0lSUV9FTkEgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogR1BJTzRfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfUFUgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBHUElPNF9QVSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfUEQgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBHUElPNF9QRCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgwRjAwICAvKiBHUElPNF9TRUwgLSBbMTE6OF0gKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogR1BJTzNfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzNfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBHUElPM19JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPM19QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIEdQSU8zX1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPM19QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEdQSU8zX1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPM19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMEYgIC8qIEdQSU8zX1NFTCAtIFszOjBdICovCisKKy8qCisgKiBSMjEgKDB4MTUpIC0gR1BJTzUgJiBHUElPNgorICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9ERUJfRU5BICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIEdQSU82X0RFQl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X0lSUV9FTkEgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogR1BJTzZfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzZfUFUgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBHUElPNl9QVSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzZfUEQgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBHUElPNl9QRCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzZfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgwRjAwICAvKiBHUElPNl9TRUwgLSBbMTE6OF0gKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogR1BJTzVfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzVfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBHUElPNV9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIEdQSU81X1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEdQSU81X1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMEYgIC8qIEdQSU81X1NFTCAtIFszOjBdICovCisKKy8qCisgKiBSMjIgKDB4MTYpIC0gR1BJT0NUUkwgMgorICovCisjZGVmaW5lIFdNODk5MF9SRF8zV19FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIFJEXzNXX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTU9ERV8zVzRXICAgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBNT0RFXzNXNFcgKi8KKyNkZWZpbmUgV004OTkwX1RFTVBPS19JUlFfRU5BICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogVEVNUE9LX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX01JQ1NIUlRfSVJRX0VOQSAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogTUlDU0hSVF9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9NSUNERVRfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIE1JQ0RFVF9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9QTExfTENLX0lSUV9FTkEgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIFBMTF9MQ0tfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJOF9ERUJfRU5BICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUEk4X0RFQl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSThfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogR1BJOF9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUEk4X0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEdQSThfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUEk3X0RFQl9FTkEgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIEdQSTdfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJN19JUlFfRU5BICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBHUEk3X0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSTdfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogR1BJN19FTkEgKi8KKworLyoKKyAqIFIyMyAoMHgxNykgLSBHUElPX1BPTAorICovCisjZGVmaW5lIFdNODk5MF9JUlFfSU5WICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIElSUV9JTlYgKi8KKyNkZWZpbmUgV004OTkwX1RFTVBPS19QT0wgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogVEVNUE9LX1BPTCAqLworI2RlZmluZSBXTTg5OTBfTUlDU0hSVF9QT0wgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBNSUNTSFJUX1BPTCAqLworI2RlZmluZSBXTTg5OTBfTUlDREVUX1BPTCAgICAgICAgICAgICAgICAgICAgICAgMHgwMjAwICAvKiBNSUNERVRfUE9MICovCisjZGVmaW5lIFdNODk5MF9QTExfTENLX1BPTCAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIFBMTF9MQ0tfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUEk4X1BPTCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEdQSThfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUEk3X1BPTCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSTdfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9QT0wgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIEdQSU82X1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzVfUE9MICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBHUElPNV9QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSU80X1BPTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogR1BJTzRfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUElPM19QT0wgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIEdQSU8zX1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzJfUE9MICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBHUElPMl9QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX1BPTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogR1BJTzFfUE9MICovCisKKy8qCisgKiBSMjQgKDB4MTgpIC0gTGVmdCBMaW5lIElucHV0IDEmMiBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfSVBWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBJUFZVICovCisjZGVmaW5lIFdNODk5MF9MSTEyTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExJMTJNVVRFICovCisjZGVmaW5lIFdNODk5MF9MSTEyTVVURV9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9MSTEyWkMgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExJMTJaQyAqLworI2RlZmluZSBXTTg5OTBfTEkxMlpDX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xJTjEyVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAxRiAgLyogTElOMTJWT0wgLSBbNDowXSAqLworI2RlZmluZSBXTTg5OTBfTElOMTJWT0xfU0hJRlQJCQkwCisvKgorICogUjI1ICgweDE5KSAtIExlZnQgTGluZSBJbnB1dCAzJjQgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0lQVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogSVBWVSAqLworI2RlZmluZSBXTTg5OTBfTEkzNE1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMSTM0TVVURSAqLworI2RlZmluZSBXTTg5OTBfTEkzNE1VVEVfQklUCQkJNworI2RlZmluZSBXTTg5OTBfTEkzNFpDICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBMSTM0WkMgKi8KKyNkZWZpbmUgV004OTkwX0xJMzRaQ19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9MSU4zNFZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMUYgIC8qIExJTjM0Vk9MIC0gWzQ6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xJTjM0Vk9MX1NISUZUCQkJMAorCisvKgorICogUjI2ICgweDFBKSAtIFJpZ2h0IExpbmUgSW5wdXQgMSYyIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9JUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIElQVlUgKi8KKyNkZWZpbmUgV004OTkwX1JJMTJNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogUkkxMk1VVEUgKi8KKyNkZWZpbmUgV004OTkwX1JJMTJNVVRFX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1JJMTJaQyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUkkxMlpDICovCisjZGVmaW5lIFdNODk5MF9SSTEyWkNfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfUklOMTJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDFGICAvKiBSSU4xMlZPTCAtIFs0OjBdICovCisjZGVmaW5lIFdNODk5MF9SSU4xMlZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIyNyAoMHgxQikgLSBSaWdodCBMaW5lIElucHV0IDMmNCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfSVBWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBJUFZVICovCisjZGVmaW5lIFdNODk5MF9SSTM0TVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFJJMzRNVVRFICovCisjZGVmaW5lIFdNODk5MF9SSTM0TVVURV9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9SSTM0WkMgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFJJMzRaQyAqLworI2RlZmluZSBXTTg5OTBfUkkzNFpDX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX1JJTjM0Vk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAxRiAgLyogUklOMzRWT0wgLSBbNDowXSAqLworI2RlZmluZSBXTTg5OTBfUklOMzRWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMjggKDB4MUMpIC0gTGVmdCBPdXRwdXQgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX09QVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogT1BWVSAqLworI2RlZmluZSBXTTg5OTBfTE9aQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMT1pDICovCisjZGVmaW5lIFdNODk5MF9MT1pDX0JJVAkJCQk3CisjZGVmaW5lIFdNODk5MF9MT1VUVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwN0YgIC8qIExPVVRWT0wgLSBbNjowXSAqLworI2RlZmluZSBXTTg5OTBfTE9VVFZPTF9TSElGVAkJCTAKKy8qCisgKiBSMjkgKDB4MUQpIC0gUmlnaHQgT3V0cHV0IFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9PUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIE9QVlUgKi8KKyNkZWZpbmUgV004OTkwX1JPWkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogUk9aQyAqLworI2RlZmluZSBXTTg5OTBfUk9aQ19CSVQJCQkJNworI2RlZmluZSBXTTg5OTBfUk9VVFZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMDdGICAvKiBST1VUVk9MIC0gWzY6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JPVVRWT0xfU0hJRlQJCQkwCisvKgorICogUjMwICgweDFFKSAtIExpbmUgT3V0cHV0cyBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfTE9OTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBMT05NVVRFICovCisjZGVmaW5lIFdNODk5MF9MT05NVVRFX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xPUE1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTE9QTVVURSAqLworI2RlZmluZSBXTTg5OTBfTE9QTVVURV9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9MT0FUVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIExPQVRUTiAqLworI2RlZmluZSBXTTg5OTBfTE9BVFROX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX1JPTk1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogUk9OTVVURSAqLworI2RlZmluZSBXTTg5OTBfUk9OTVVURV9CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9ST1BNVVRFICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIFJPUE1VVEUgKi8KKyNkZWZpbmUgV004OTkwX1JPUE1VVEVfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfUk9BVFROICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBST0FUVE4gKi8KKyNkZWZpbmUgV004OTkwX1JPQVRUTl9CSVQJCQkwCisKKy8qCisgKiBSMzEgKDB4MUYpIC0gT3V0My80IFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9PVVQzTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIE9VVDNNVVRFICovCisjZGVmaW5lIFdNODk5MF9PVVQzTVVURV9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9PVVQzQVRUTiAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIE9VVDNBVFROICovCisjZGVmaW5lIFdNODk5MF9PVVQzQVRUTl9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9PVVQ0TVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIE9VVDRNVVRFICovCisjZGVmaW5lIFdNODk5MF9PVVQ0TVVURV9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9PVVQ0QVRUTiAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIE9VVDRBVFROICovCisjZGVmaW5lIFdNODk5MF9PVVQ0QVRUTl9CSVQJCQkwCisKKy8qCisgKiBSMzIgKDB4MjApIC0gTGVmdCBPUEdBIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9PUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIE9QVlUgKi8KKyNkZWZpbmUgV004OTkwX0xPUEdBWkMgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTE9QR0FaQyAqLworI2RlZmluZSBXTTg5OTBfTE9QR0FaQ19CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9MT1BHQVZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwN0YgIC8qIExPUEdBVk9MIC0gWzY6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xPUEdBVk9MX1NISUZUCQkJMAorCisvKgorICogUjMzICgweDIxKSAtIFJpZ2h0IE9QR0EgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX09QVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogT1BWVSAqLworI2RlZmluZSBXTTg5OTBfUk9QR0FaQyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBST1BHQVpDICovCisjZGVmaW5lIFdNODk5MF9ST1BHQVpDX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1JPUEdBVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDA3RiAgLyogUk9QR0FWT0wgLSBbNjowXSAqLworI2RlZmluZSBXTTg5OTBfUk9QR0FWT0xfU0hJRlQJCQkwCisvKgorICogUjM0ICgweDIyKSAtIFNwZWFrZXIgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX1NQS1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMyAgLyogU1BLVk9MIC0gWzE6MF0gKi8KKyNkZWZpbmUgV004OTkwX1NQS1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIzNSAoMHgyMykgLSBDbGFzc0QxCisgKi8KKyNkZWZpbmUgV004OTkwX0NETU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogQ0RNT0RFICovCisjZGVmaW5lIFdNODk5MF9DRE1PREVfQklUCQkJOAorCisvKgorICogUjM3ICgweDI1KSAtIENsYXNzRDMKKyAqLworI2RlZmluZSBXTTg5OTBfRENHQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDA3ICAvKiBEQ0dBSU4gLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfRENHQUlOX1NISUZUCQkJMworI2RlZmluZSBXTTg5OTBfQUNHQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDA3ICAvKiBBQ0dBSU4gLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfQUNHQUlOX1NISUZUCQkJMAorLyoKKyAqIFIzOSAoMHgyNykgLSBJbnB1dCBNaXhlcjEKKyAqLworI2RlZmluZSBXTTg5OTBfQUlOTE1PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDBDICAvKiBBSU5MTU9ERSAtIFszOjJdICovCisjZGVmaW5lIFdNODk5MF9BSU5MTU9ERV9TSElGVAkJCTIKKyNkZWZpbmUgV004OTkwX0FJTlJNT0RFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwMyAgLyogQUlOUk1PREUgLSBbMTowXSAqLworI2RlZmluZSBXTTg5OTBfQUlOUk1PREVfU0hJRlQJCQkwCisKKy8qCisgKiBSNDAgKDB4MjgpIC0gSW5wdXQgTWl4ZXIyCisgKi8KKyNkZWZpbmUgV004OTkwX0xNUDQJCQkJMHgwMDgwCS8qIExNUDQgKi8KKyNkZWZpbmUgV004OTkwX0xNUDRfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDcJLyogTE1QNCAqLworI2RlZmluZSBXTTg5OTBfTE1OMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBMTU4zICovCisjZGVmaW5lIFdNODk5MF9MTU4zX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICA2ICAgICAgIC8qIExNTjMgKi8KKyNkZWZpbmUgV004OTkwX0xNUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTE1QMiAqLworI2RlZmluZSBXTTg5OTBfTE1QMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgNSAgICAgICAvKiBMTVAyICovCisjZGVmaW5lIFdNODk5MF9MTU4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIExNTjEgKi8KKyNkZWZpbmUgV004OTkwX0xNTjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDQgICAgICAgLyogTE1OMSAqLworI2RlZmluZSBXTTg5OTBfUk1QNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBSTVA0ICovCisjZGVmaW5lIFdNODk5MF9STVA0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAzICAgICAgIC8qIFJNUDQgKi8KKyNkZWZpbmUgV004OTkwX1JNTjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogUk1OMyAqLworI2RlZmluZSBXTTg5OTBfUk1OM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgMiAgICAgICAvKiBSTU4zICovCisjZGVmaW5lIFdNODk5MF9STVAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIFJNUDIgKi8KKyNkZWZpbmUgV004OTkwX1JNUDJfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgICAgLyogUk1QMiAqLworI2RlZmluZSBXTTg5OTBfUk1OMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBSTU4xICovCisjZGVmaW5lIFdNODk5MF9STU4xX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAwICAgICAgIC8qIFJNTjEgKi8KKworLyoKKyAqIFI0MSAoMHgyOSkgLSBJbnB1dCBNaXhlcjMKKyAqLworI2RlZmluZSBXTTg5OTBfTDM0TU5CICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBMMzRNTkIgKi8KKyNkZWZpbmUgV004OTkwX0wzNE1OQl9CSVQJCQk4CisjZGVmaW5lIFdNODk5MF9MMzRNTkJTVCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEwzNE1OQlNUICovCisjZGVmaW5lIFdNODk5MF9MMzRNTkJTVF9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9MMTJNTkIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIEwxMk1OQiAqLworI2RlZmluZSBXTTg5OTBfTDEyTU5CX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX0wxMk1OQlNUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTDEyTU5CU1QgKi8KKyNkZWZpbmUgV004OTkwX0wxMk1OQlNUX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0xEQlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNyAgLyogTERCVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xEQlZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI0MiAoMHgyQSkgLSBJbnB1dCBNaXhlcjQKKyAqLworI2RlZmluZSBXTTg5OTBfUjM0TU5CICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBSMzRNTkIgKi8KKyNkZWZpbmUgV004OTkwX1IzNE1OQl9CSVQJCQk4CisjZGVmaW5lIFdNODk5MF9SMzRNTkJTVCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFIzNE1OQlNUICovCisjZGVmaW5lIFdNODk5MF9SMzRNTkJTVF9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9SMTJNTkIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIFIxMk1OQiAqLworI2RlZmluZSBXTTg5OTBfUjEyTU5CX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX1IxMk1OQlNUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogUjEyTU5CU1QgKi8KKyNkZWZpbmUgV004OTkwX1IxMk1OQlNUX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX1JEQlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNyAgLyogUkRCVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JEQlZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI0MyAoMHgyQikgLSBJbnB1dCBNaXhlcjUKKyAqLworI2RlZmluZSBXTTg5OTBfTEkyQlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTEkyQlZPTCAtIFs4OjZdICovCisjZGVmaW5lIFdNODk5MF9MSTJCVk9MX1NISUZUCQkJNgorI2RlZmluZSBXTTg5OTBfTFI0QlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTFI0QlZPTCAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9MUjRCVk9MX1NISUZUCQkJMworI2RlZmluZSBXTTg5OTBfTEw0QlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTEw0QlZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9MTDRCVk9MX1NISUZUCQkJMAorCisvKgorICogUjQ0ICgweDJDKSAtIElucHV0IE1peGVyNgorICovCisjZGVmaW5lIFdNODk5MF9SSTJCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSSTJCVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX1JJMkJWT0xfU0hJRlQJCQk2CisjZGVmaW5lIFdNODk5MF9STDRCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSTDRCVk9MIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX1JMNEJWT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9SUjRCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSUjRCVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JSNEJWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNDUgKDB4MkQpIC0gT3V0cHV0IE1peGVyMQorICovCisjZGVmaW5lIFdNODk5MF9MUkJMTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExSQkxPICovCisjZGVmaW5lIFdNODk5MF9MUkJMT19CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9MTEJMTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExMQkxPICovCisjZGVmaW5lIFdNODk5MF9MTEJMT19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9MUkkzTE8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIExSSTNMTyAqLworI2RlZmluZSBXTTg5OTBfTFJJM0xPX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX0xMSTNMTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTExJM0xPICovCisjZGVmaW5lIFdNODk5MF9MTEkzTE9fQklUCQkJNAorI2RlZmluZSBXTTg5OTBfTFIxMkxPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBMUjEyTE8gKi8KKyNkZWZpbmUgV004OTkwX0xSMTJMT19CSVQJCQkzCisjZGVmaW5lIFdNODk5MF9MTDEyTE8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIExMMTJMTyAqLworI2RlZmluZSBXTTg5OTBfTEwxMkxPX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX0xETE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogTERMTyAqLworI2RlZmluZSBXTTg5OTBfTERMT19CSVQJCQkJMAorCisvKgorICogUjQ2ICgweDJFKSAtIE91dHB1dCBNaXhlcjIKKyAqLworI2RlZmluZSBXTTg5OTBfUkxCUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBSTEJSTyAqLworI2RlZmluZSBXTTg5OTBfUkxCUk9fQklUCQkJNworI2RlZmluZSBXTTg5OTBfUlJCUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBSUkJSTyAqLworI2RlZmluZSBXTTg5OTBfUlJCUk9fQklUCQkJNgorI2RlZmluZSBXTTg5OTBfUkxJM1JPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBSTEkzUk8gKi8KKyNkZWZpbmUgV004OTkwX1JMSTNST19CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9SUkkzUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFJSSTNSTyAqLworI2RlZmluZSBXTTg5OTBfUlJJM1JPX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX1JMMTJSTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogUkwxMlJPICovCisjZGVmaW5lIFdNODk5MF9STDEyUk9fQklUCQkJMworI2RlZmluZSBXTTg5OTBfUlIxMlJPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBSUjEyUk8gKi8KKyNkZWZpbmUgV004OTkwX1JSMTJST19CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9SRFJPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFJEUk8gKi8KKyNkZWZpbmUgV004OTkwX1JEUk9fQklUCQkJCTAKKworLyoKKyAqIFI0NyAoMHgyRikgLSBPdXRwdXQgTWl4ZXIzCisgKi8KKyNkZWZpbmUgV004OTkwX0xMSTNMT1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExMSTNMT1ZPTCAtIFs4OjZdICovCisjZGVmaW5lIFdNODk5MF9MTEkzTE9WT0xfU0hJRlQJCQk2CisjZGVmaW5lIFdNODk5MF9MUjEyTE9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMUjEyTE9WT0wgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfTFIxMkxPVk9MX1NISUZUCQkJMworI2RlZmluZSBXTTg5OTBfTEwxMkxPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTEwxMkxPVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xMMTJMT1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI0OCAoMHgzMCkgLSBPdXRwdXQgTWl4ZXI0CisgKi8KKyNkZWZpbmUgV004OTkwX1JSSTNST1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJSSTNST1ZPTCAtIFs4OjZdICovCisjZGVmaW5lIFdNODk5MF9SUkkzUk9WT0xfU0hJRlQJCQk2CisjZGVmaW5lIFdNODk5MF9STDEyUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSTDEyUk9WT0wgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfUkwxMlJPVk9MX1NISUZUCQkJMworI2RlZmluZSBXTTg5OTBfUlIxMlJPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUlIxMlJPVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JSMTJST1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI0OSAoMHgzMSkgLSBPdXRwdXQgTWl4ZXI1CisgKi8KKyNkZWZpbmUgV004OTkwX0xSSTNMT1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExSSTNMT1ZPTCAtIFs4OjZdICovCisjZGVmaW5lIFdNODk5MF9MUkkzTE9WT0xfU0hJRlQJCQk2CisjZGVmaW5lIFdNODk5MF9MUkJMT1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMUkJMT1ZPTCAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9MUkJMT1ZPTF9TSElGVAkJCTMKKyNkZWZpbmUgV004OTkwX0xMQkxPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExMQkxPVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xMQkxPVk9MX1NISUZUCQkJMAorCisvKgorICogUjUwICgweDMyKSAtIE91dHB1dCBNaXhlcjYKKyAqLworI2RlZmluZSBXTTg5OTBfUkxJM1JPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUkxJM1JPVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX1JMSTNST1ZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX1JMQlJPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJMQlJPVk9MIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX1JMQlJPVk9MX1NISUZUCQkJMworI2RlZmluZSBXTTg5OTBfUlJCUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUlJCUk9WT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfUlJCUk9WT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNTEgKDB4MzMpIC0gT3V0My80IE1peGVyCisgKi8KKyNkZWZpbmUgV004OTkwX1ZTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MDE4MCAgLyogVlNFTCAtIFs4OjddICovCisjZGVmaW5lIFdNODk5MF9MSTRPMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIExJNE8zICovCisjZGVmaW5lIFdNODk5MF9MSTRPM19CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9MUEdBTzMgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIExQR0FPMyAqLworI2RlZmluZSBXTTg5OTBfTFBHQU8zX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX1JJNE80ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogUkk0TzQgKi8KKyNkZWZpbmUgV004OTkwX1JJNE80X0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX1JQR0FPNCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogUlBHQU80ICovCisjZGVmaW5lIFdNODk5MF9SUEdBTzRfQklUCQkJMAorLyoKKyAqIFI1MiAoMHgzNCkgLSBMaW5lIE1peGVyMQorICovCisjZGVmaW5lIFdNODk5MF9MTE9QR0FMT04gICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExMT1BHQUxPTiAqLworI2RlZmluZSBXTTg5OTBfTExPUEdBTE9OX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xST1BHQUxPTiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTFJPUEdBTE9OICovCisjZGVmaW5lIFdNODk5MF9MUk9QR0FMT05fQklUCQkJNQorI2RlZmluZSBXTTg5OTBfTE9QTE9OICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBMT1BMT04gKi8KKyNkZWZpbmUgV004OTkwX0xPUExPTl9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9MUjEyTE9QICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIExSMTJMT1AgKi8KKyNkZWZpbmUgV004OTkwX0xSMTJMT1BfQklUCQkJMgorI2RlZmluZSBXTTg5OTBfTEwxMkxPUCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBMTDEyTE9QICovCisjZGVmaW5lIFdNODk5MF9MTDEyTE9QX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX0xMT1BHQUxPUCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogTExPUEdBTE9QICovCisjZGVmaW5lIFdNODk5MF9MTE9QR0FMT1BfQklUCQkJMAorLyoKKyAqIFI1MyAoMHgzNSkgLSBMaW5lIE1peGVyMgorICovCisjZGVmaW5lIFdNODk5MF9SUk9QR0FST04gICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFJST1BHQVJPTiAqLworI2RlZmluZSBXTTg5OTBfUlJPUEdBUk9OX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX1JMT1BHQVJPTiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogUkxPUEdBUk9OICovCisjZGVmaW5lIFdNODk5MF9STE9QR0FST05fQklUCQkJNQorI2RlZmluZSBXTTg5OTBfUk9QUk9OICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBST1BST04gKi8KKyNkZWZpbmUgV004OTkwX1JPUFJPTl9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9STDEyUk9QICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIFJMMTJST1AgKi8KKyNkZWZpbmUgV004OTkwX1JMMTJST1BfQklUCQkJMgorI2RlZmluZSBXTTg5OTBfUlIxMlJPUCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBSUjEyUk9QICovCisjZGVmaW5lIFdNODk5MF9SUjEyUk9QX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX1JST1BHQVJPUCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogUlJPUEdBUk9QICovCisjZGVmaW5lIFdNODk5MF9SUk9QR0FST1BfQklUCQkJMAorCisvKgorICogUjU0ICgweDM2KSAtIFNwZWFrZXIgTWl4ZXIKKyAqLworI2RlZmluZSBXTTg5OTBfTEIyU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMQjJTUEsgKi8KKyNkZWZpbmUgV004OTkwX0xCMlNQS19CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9SQjJTUEsgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFJCMlNQSyAqLworI2RlZmluZSBXTTg5OTBfUkIyU1BLX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xJMlNQSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTEkyU1BLICovCisjZGVmaW5lIFdNODk5MF9MSTJTUEtfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfUkkyU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBSSTJTUEsgKi8KKyNkZWZpbmUgV004OTkwX1JJMlNQS19CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9MT1BHQVNQSyAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIExPUEdBU1BLICovCisjZGVmaW5lIFdNODk5MF9MT1BHQVNQS19CSVQJCQkzCisjZGVmaW5lIFdNODk5MF9ST1BHQVNQSyAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIFJPUEdBU1BLICovCisjZGVmaW5lIFdNODk5MF9ST1BHQVNQS19CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9MRFNQSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIExEU1BLICovCisjZGVmaW5lIFdNODk5MF9MRFNQS19CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9SRFNQSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFJEU1BLICovCisjZGVmaW5lIFdNODk5MF9SRFNQS19CSVQJCQkwCisKKy8qCisgKiBSNTUgKDB4MzcpIC0gQWRkaXRpb25hbCBDb250cm9sCisgKi8KKyNkZWZpbmUgV004OTkwX1ZST0kgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogVlJPSSAqLworCisvKgorICogUjU2ICgweDM4KSAtIEFudGlQT1AxCisgKi8KKyNkZWZpbmUgV004OTkwX0RJU19MTElORSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogRElTX0xMSU5FICovCisjZGVmaW5lIFdNODk5MF9ESVNfUkxJTkUgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIERJU19STElORSAqLworI2RlZmluZSBXTTg5OTBfRElTX09VVDMgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBESVNfT1VUMyAqLworI2RlZmluZSBXTTg5OTBfRElTX09VVDQgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBESVNfT1VUNCAqLworI2RlZmluZSBXTTg5OTBfRElTX0xPVVQgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBESVNfTE9VVCAqLworI2RlZmluZSBXTTg5OTBfRElTX1JPVVQgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBESVNfUk9VVCAqLworCisvKgorICogUjU3ICgweDM5KSAtIEFudGlQT1AyCisgKi8KKyNkZWZpbmUgV004OTkwX1NPRlRTVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogU09GVFNUICovCisjZGVmaW5lIFdNODk5MF9CVUZJT0VOICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIEJVRklPRU4gKi8KKyNkZWZpbmUgV004OTkwX0JVRkRDT1BFTiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogQlVGRENPUEVOICovCisjZGVmaW5lIFdNODk5MF9QT0JDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIFBPQkNUUkwgKi8KKyNkZWZpbmUgV004OTkwX1ZNSURUT0cgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogVk1JRFRPRyAqLworCisvKgorICogUjU4ICgweDNBKSAtIE1JQ0JJQVMKKyAqLworI2RlZmluZSBXTTg5OTBfTUNEU0NUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMEMwICAvKiBNQ0RTQ1RIIC0gWzc6Nl0gKi8KKyNkZWZpbmUgV004OTkwX01DRFRIUl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAzOCAgLyogTUNEVEhSIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX01DRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogTUNEICovCisjZGVmaW5lIFdNODk5MF9NQlNFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIE1CU0VMICovCisKKy8qCisgKiBSNjAgKDB4M0MpIC0gUExMMQorICovCisjZGVmaW5lIFdNODk5MF9TRE0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFNETSAqLworI2RlZmluZSBXTTg5OTBfUFJFU0NBTEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBQUkVTQ0FMRSAqLworI2RlZmluZSBXTTg5OTBfUExMTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDBGICAvKiBQTExOIC0gWzM6MF0gKi8KKworLyoKKyAqIFI2MSAoMHgzRCkgLSBQTEwyCisgKi8KKyNkZWZpbmUgV004OTkwX1BMTEsxX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MDBGRiAgLyogUExMSzEgLSBbNzowXSAqLworCisvKgorICogUjYyICgweDNFKSAtIFBMTDMKKyAqLworI2RlZmluZSBXTTg5OTBfUExMSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBQTExLMiAtIFs3OjBdICovCisKKy8qCisgKiBSNjMgKDB4M0YpIC0gSW50ZXJuYWwgRHJpdmVyIEJpdHMKKyAqLworI2RlZmluZSBXTTg5OTBfSU5NSVhMX1BXUl9CSVQJCQkwCisjZGVmaW5lIFdNODk5MF9BSU5MTVVYX1BXUl9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9JTk1JWFJfUFdSX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX0FJTlJNVVhfUFdSX0JJVAkJCTMKKworc3RydWN0IHdtODk5MF9zZXR1cF9kYXRhIHsKKwl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKK307CisKKyNkZWZpbmUgV004OTkwX01DTEtfRElWIDAKKyNkZWZpbmUgV004OTkwX0RBQ0NMS19ESVYgMQorI2RlZmluZSBXTTg5OTBfQURDQ0xLX0RJViAyCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJViAzCisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd204OTkwX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg5OTA7CisKKyNlbmRpZgkvKiBfX1dNODk5MFJFR0lTVEVSREVGU19IX18gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVORCBPRiBGSUxFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5jIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTIuYwppbmRleCA3NmMxZTJkLi45ZmM4ZWRkIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmMKQEAgLTksOSArOSw2IEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgNHRoIEZlYiAyMDA2ICAgSW5pdGlhbCB2ZXJzaW9uLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0yNSw2ICsyMiw3IEBACiAjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgogI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgogI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSAid205NzEyLmgiCiAKICNkZWZpbmUgV005NzEyX1ZFUlNJT04gIjAuNCIKIApAQCAtMzUxLDcgKzM0OSw3IEBACiBTTkRfU09DX0RBUE1fSU5QVVQoIk1JQzIiKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCS8qIHZpcnR1YWwgbWl4ZXIgLSBtaXhlcyBsZWZ0ICYgcmlnaHQgY2hhbm5lbHMgZm9yIHNwayBhbmQgbW9ubyAqLwogCXsiQUM5NyBNaXhlciIsIE5VTEwsICJMZWZ0IERBQyJ9LAogCXsiQUM5NyBNaXhlciIsIE5VTEwsICJSaWdodCBEQUMifSwKQEAgLTQ0NiwyMSArNDQ0LDE0IEBACiAJeyJTcGVha2VyIFBHQSIsIE5VTEwsICJTcGVha2VyIE11eCJ9LAogCXsiTE9VVDIiLCBOVUxMLCAiU3BlYWtlciBQR0EifSwKIAl7IlJPVVQyIiwgTlVMTCwgIlNwZWFrZXIgUEdBIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgaW50IHdtOTcxMl9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd205NzEyX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod205NzEyX2RhcG1fd2lkZ2V0cykpOwogCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod205NzEyX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd205NzEyX2RhcG1fd2lkZ2V0c1tpXSk7Ci0KLQkvKiBzZXQgdXAgYXVkaW8gcGF0aCBjb25uZWN0cyAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQkJCSAgIGF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCiAJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKIAlyZXR1cm4gMDsKQEAgLTU0MSw3ICs1MzIsNyBAQAogCQlTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHxcCiAJCVNORFJWX1BDTV9SQVRFXzQ4MDAwKQogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd205NzEyX2RhaVtdID0geworc3RydWN0IHNuZF9zb2NfZGFpIHdtOTcxMl9kYWlbXSA9IHsKIHsKIAkubmFtZSA9ICJBQzk3IEhpRmkiLAogCS50eXBlID0gU05EX1NPQ19EQUlfQUM5N19CVVMsCkBAIC01NzQsMjMgKzU2NSwyMyBAQAogfTsKIEVYUE9SVF9TWU1CT0xfR1BMKHdtOTcxMl9kYWkpOwogCi1zdGF0aWMgaW50IHdtOTcxMl9kYXBtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGV2ZW50KQorc3RhdGljIGludCB3bTk3MTJfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCSBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDA6IC8qIGZ1bGwgT24gKi8KLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMTogLyogcGFydGlhbCBPbiAqLwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOiAvKiBwYXJ0aWFsIE9uICovCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgorCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OiAvKiBPZmYsIHdpdGggcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X1BPV0VSRE9XTiwgMHgwMDAwKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkOiAvKiBPZmYsIHdpdGhvdXQgcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19PRkY6CiAJCS8qIGRpc2FibGUgZXZlcnl0aGluZyBpbmNsdWRpbmcgQUMgbGluayAqLwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X0VYVEVOREVEX01TVEFUVVMsIDB4ZmZmZik7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfUE9XRVJET1dOLCAweGZmZmYpOwogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCXJldHVybiAwOwogfQogCkBAIC01OTgsMTIgKzU4OSwxMiBAQAogewogCWlmICh0cnlfd2FybSAmJiBzb2NfYWM5N19vcHMud2FybV9yZXNldCkgewogCQlzb2NfYWM5N19vcHMud2FybV9yZXNldChjb2RlYy0+YWM5Nyk7Ci0JCWlmICghKGFjOTdfcmVhZChjb2RlYywgMCkgJiAweDgwMDApKQorCQlpZiAoYWM5N19yZWFkKGNvZGVjLCAwKSA9PSB3bTk3MTJfcmVnWzBdKQogCQkJcmV0dXJuIDE7CiAJfQogCiAJc29jX2FjOTdfb3BzLnJlc2V0KGNvZGVjLT5hYzk3KTsKLQlpZiAoYWM5N19yZWFkKGNvZGVjLCAwKSAmIDB4ODAwMCkKKwlpZiAoYWM5N19yZWFkKGNvZGVjLCAwKSAhPSB3bTk3MTJfcmVnWzBdKQogCQlnb3RvIGVycjsKIAlyZXR1cm4gMDsKIApAQCAtNjE4LDcgKzYwOSw3IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCi0Jd205NzEyX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCXdtOTcxMl9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTYzNSw3ICs2MjYsNyBAQAogCQlyZXR1cm4gcmV0OwogCX0KIAotCXdtOTcxMl9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtOTcxMl9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCiAJaWYgKHJldCA9PSAwKSB7CiAJCS8qIFN5bmMgcmVnX2NhY2hlIHdpdGggdGhlIGhhcmR3YXJlIGFmdGVyIGNvbGQgcmVzZXQgKi8KQEAgLTY0Nyw4ICs2MzgsOCBAQAogCQl9CiAJfQogCi0JaWYgKGNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUgPT0gU05EUlZfQ1RMX1BPV0VSX0QwKQotCQl3bTk3MTJfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QwKTsKKwlpZiAoY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCA9PSBTTkRfU09DX0JJQVNfT04pCisJCXdtOTcxMl9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09OKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC02ODIsNyArNjczLDcgQEAKIAljb2RlYy0+bnVtX2RhaSA9IEFSUkFZX1NJWkUod205NzEyX2RhaSk7CiAJY29kZWMtPndyaXRlID0gYWM5N193cml0ZTsKIAljb2RlYy0+cmVhZCA9IGFjOTdfcmVhZDsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IHdtOTcxMl9kYXBtX2V2ZW50OworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtOTcxMl9zZXRfYmlhc19sZXZlbDsKIAlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fd2lkZ2V0cyk7CiAJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3BhdGhzKTsKIApAQCAtNzA2LDcgKzY5Nyw3IEBACiAJLyogc2V0IGFsYyBtdXggdG8gbm9uZSAqLwogCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfVklERU8sIGFjOTdfcmVhZChjb2RlYywgQUM5N19WSURFTykgfCAweDMwMDApOwogCi0Jd205NzEyX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd205NzEyX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAJd205NzEyX2FkZF9jb250cm9scyhjb2RlYyk7CiAJd205NzEyX2FkZF93aWRnZXRzKGNvZGVjKTsKIAlyZXQgPSBzbmRfc29jX3JlZ2lzdGVyX2NhcmQoc29jZGV2KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmggYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5oCmluZGV4IDcxOTEwNWQuLmQyOWU4YTEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmgKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTIuaApAQCAtOCw3ICs4LDcgQEAKICNkZWZpbmUgV005NzEyX0RBSV9BQzk3X0hJRkkJMAogI2RlZmluZSBXTTk3MTJfREFJX0FDOTdfQVVYCQkxCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd205NzEyX2RhaVsyXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd205NzEyX2RhaVsyXTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTk3MTI7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTk3MTMuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmMKaW5kZXggMWYyNDExNi4uMzhkMWZlMCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTk3MTMuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5jCkBAIC0xMCw5ICsxMCw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgNHRoIEZlYiAyMDA2ICAgSW5pdGlhbCB2ZXJzaW9uLgotICoKICAqICBGZWF0dXJlczotCiAgKgogICogICBvIFN1cHBvcnQgZm9yIEFDOTcgQ29kZWMsIFZvaWNlIERBQyBhbmQgQXV4IERBQwpAQCAtNDU2LDcgKzQ1Myw3IEBACiBTTkRfU09DX0RBUE1fVk1JRCgiVk1JRCIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAJLyogbGVmdCBIUCBtaXhlciAqLwogCXsiTGVmdCBIUCBNaXhlciIsICJQQyBCZWVwIFBsYXliYWNrIFN3aXRjaCIsICJQQ0JFRVAifSwKIAl7IkxlZnQgSFAgTWl4ZXIiLCAiVm9pY2UgUGxheWJhY2sgU3dpdGNoIiwgICAiVm9pY2UgREFDIn0sCkBAIC02MDcsMjEgKzYwNCwxNCBAQAogCXsiQ2FwdHVyZSBNb25vIE11eCIsICJTdGVyZW8iLCAiQ2FwdHVyZSBNaXhlciJ9LAogCXsiQ2FwdHVyZSBNb25vIE11eCIsICJMZWZ0IiwgIkxlZnQgQ2FwdHVyZSBTb3VyY2UifSwKIAl7IkNhcHR1cmUgTW9ubyBNdXgiLCAiUmlnaHQiLCAiUmlnaHQgQ2FwdHVyZSBTb3VyY2UifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBpbnQgd205NzEzX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTk3MTNfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTk3MTNfZGFwbV93aWRnZXRzKSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTk3MTNfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTk3MTNfZGFwbV93aWRnZXRzW2ldKTsKLQotCS8qIHNldCB1cCBhdWRpbyBwYXRoIGF1ZGlvX21hcG5lY3RzICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCiAJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKIAlyZXR1cm4gMDsKQEAgLTc5OSw3ICs3ODksNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX3BsbChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC04MTAsNyArODAwLDcgQEAKICAqIFRyaXN0YXRlIHRoZSBQQ00gREFJIGxpbmVzLCB0cmlzdGF0ZSBjYW4gYmUgZGlzYWJsZWQgYnkgY2FsbGluZwogICogd205NzEzX3NldF9kYWlfZm10KCkKICAqLwotc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV90cmlzdGF0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfdHJpc3RhdGUoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJaW50IHRyaXN0YXRlKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC04MjYsNyArODE2LDcgQEAKICAqIENvbmZpZ3VyZSBXTTk3MTMgY2xvY2sgZGl2aWRlcnMuCiAgKiBWb2ljZSBEQUMgbmVlZHMgMjU2IEZTCiAgKi8KLXN0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBkaXZfaWQsIGludCBkaXYpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTg2OCw3ICs4NTgsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC04ODYsNyArODc2LDcgQEAKIAkJZ3BpbyB8PSAweDAwMTg7CiAJCWJyZWFrOwogCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKLQkJcmVnIHw9IDB4MDIwMDsKKwkJcmVnIHw9IDB4MjAwMDsKIAkJZ3BpbyB8PSAweDAwMWE7CiAJCWJyZWFrOwogCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JTX0NGTToKQEAgLTEwMTEsMTUgKzEwMDEsMjQgQEAKIAlyZXR1cm4gYWM5N193cml0ZShjb2RlYywgQUM5N19QQ01fU1VSUl9EQUNfUkFURSwgcnVudGltZS0+cmF0ZSk7CiB9CiAKLSNkZWZpbmUgV005NzEzX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfFwKLQkJU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8XAotCQlTTkRSVl9QQ01fUkFURV80ODAwMCkKKyNkZWZpbmUgV005NzEzX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwICB8CVwKKwkJICAgICAgU05EUlZfUENNX1JBVEVfMTEwMjUgfAlcCisJCSAgICAgIFNORFJWX1BDTV9SQVRFXzIyMDUwIHwJXAorCQkgICAgICBTTkRSVl9QQ01fUkFURV80NDEwMCB8CVwKKwkJICAgICAgU05EUlZfUENNX1JBVEVfNDgwMDApCisKKyNkZWZpbmUgV005NzEzX1BDTV9SQVRFUyAoU05EUlZfUENNX1JBVEVfODAwMCAgfAlcCisJCQkgIFNORFJWX1BDTV9SQVRFXzExMDI1IHwJXAorCQkJICBTTkRSVl9QQ01fUkFURV8xNjAwMCB8CVwKKwkJCSAgU05EUlZfUENNX1JBVEVfMjIwNTAgfAlcCisJCQkgIFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwJXAorCQkJICBTTkRSVl9QQ01fUkFURV80ODAwMCkKIAogI2RlZmluZSBXTTk3MTNfUENNX0ZPUk1BVFMgXAogCShTTkRSVl9QQ01fRk9STUFUX1MxNl9MRSB8IFNORFJWX1BDTV9GT1JNQVRfUzIwXzNMRSB8IFwKIAkgU05EUlZfUENNX0ZPUk1BVF9TMjRfTEUpCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTk3MTNfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgd205NzEzX2RhaVtdID0gewogewogCS5uYW1lID0gIkFDOTcgSGlGaSIsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9BQzk3X0JVUywKQEAgLTEwNjEsMTMgKzEwNjAsMTMgQEAKIAkJLnN0cmVhbV9uYW1lID0gIlZvaWNlIFBsYXliYWNrIiwKIAkJLmNoYW5uZWxzX21pbiA9IDEsCiAJCS5jaGFubmVsc19tYXggPSAxLAotCQkucmF0ZXMgPSBXTTk3MTNfUkFURVMsCisJCS5yYXRlcyA9IFdNOTcxM19QQ01fUkFURVMsCiAJCS5mb3JtYXRzID0gV005NzEzX1BDTV9GT1JNQVRTLH0sCiAJLmNhcHR1cmUgPSB7CiAJCS5zdHJlYW1fbmFtZSA9ICJWb2ljZSBDYXB0dXJlIiwKIAkJLmNoYW5uZWxzX21pbiA9IDEsCiAJCS5jaGFubmVsc19tYXggPSAyLAotCQkucmF0ZXMgPSBXTTk3MTNfUkFURVMsCisJCS5yYXRlcyA9IFdNOTcxM19QQ01fUkFURVMsCiAJCS5mb3JtYXRzID0gV005NzEzX1BDTV9GT1JNQVRTLH0sCiAJLm9wcyA9IHsKIAkJLmh3X3BhcmFtcyA9IHdtOTcxM19wY21faHdfcGFyYW1zLApAQCAtMTA4Niw0NCArMTA4NSw0NCBAQAogewogCWlmICh0cnlfd2FybSAmJiBzb2NfYWM5N19vcHMud2FybV9yZXNldCkgewogCQlzb2NfYWM5N19vcHMud2FybV9yZXNldChjb2RlYy0+YWM5Nyk7Ci0JCWlmICghKGFjOTdfcmVhZChjb2RlYywgMCkgJiAweDgwMDApKQorCQlpZiAoYWM5N19yZWFkKGNvZGVjLCAwKSA9PSB3bTk3MTNfcmVnWzBdKQogCQkJcmV0dXJuIDE7CiAJfQogCiAJc29jX2FjOTdfb3BzLnJlc2V0KGNvZGVjLT5hYzk3KTsKLQlpZiAoYWM5N19yZWFkKGNvZGVjLCAwKSAmIDB4ODAwMCkKKwlpZiAoYWM5N19yZWFkKGNvZGVjLCAwKSAhPSB3bTk3MTNfcmVnWzBdKQogCQlyZXR1cm4gLUVJTzsKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHdtOTcxM19yZXNldCk7CiAKLXN0YXRpYyBpbnQgd205NzEzX2RhcG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpCitzdGF0aWMgaW50IHdtOTcxM19zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkJIGVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewogCXUxNiByZWc7CiAKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDA6IC8qIGZ1bGwgT24gKi8KKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CiAJCS8qIGVuYWJsZSB0aGVybWFsIHNodXRkb3duICovCiAJCXJlZyA9IGFjOTdfcmVhZChjb2RlYywgQUM5N19FWFRFTkRFRF9NSUQpICYgMHgxYmZmOwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X0VYVEVOREVEX01JRCwgcmVnKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDE6IC8qIHBhcnRpYWwgT24gKi8KLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjogLyogcGFydGlhbCBPbiAqLworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OiAvKiBPZmYsIHdpdGggcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgogCQkvKiBlbmFibGUgbWFzdGVyIGJpYXMgYW5kIHZtaWQgKi8KIAkJcmVnID0gYWM5N19yZWFkKGNvZGVjLCBBQzk3X0VYVEVOREVEX01JRCkgJiAweDNiZmY7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfRVhURU5ERURfTUlELCByZWcpOwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X1BPV0VSRE9XTiwgMHgwMDAwKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkOiAvKiBPZmYsIHdpdGhvdXQgcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19PRkY6CiAJCS8qIGRpc2FibGUgZXZlcnl0aGluZyBpbmNsdWRpbmcgQUMgbGluayAqLwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X0VYVEVOREVEX01JRCwgMHhmZmZmKTsKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19FWFRFTkRFRF9NU1RBVFVTLCAweGZmZmYpOwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X1BPV0VSRE9XTiwgMHhmZmZmKTsKIAkJYnJlYWs7CiAJfQotCWNvZGVjLT5kYXBtX3N0YXRlID0gZXZlbnQ7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTE2MCw3ICsxMTU5LDcgQEAKIAkJcmV0dXJuIHJldDsKIAl9CiAKLQl3bTk3MTNfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwl3bTk3MTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKIAogCS8qIGRvIHdlIG5lZWQgdG8gcmUtc3RhcnQgdGhlIFBMTCA/ICovCiAJaWYgKHdtOTcxMy0+cGxsX291dCkKQEAgLTExNzYsOCArMTE3NSw4IEBACiAJCX0KIAl9CiAKLQlpZiAoY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSA9PSBTTkRSVl9DVExfUE9XRVJfRDApCi0JCXdtOTcxM19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDApOworCWlmIChjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsID09IFNORF9TT0NfQklBU19PTikKKwkJd205NzEzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT04pOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTEyMTYsNyArMTIxNSw3IEBACiAJY29kZWMtPm51bV9kYWkgPSBBUlJBWV9TSVpFKHdtOTcxM19kYWkpOwogCWNvZGVjLT53cml0ZSA9IGFjOTdfd3JpdGU7CiAJY29kZWMtPnJlYWQgPSBhYzk3X3JlYWQ7Ci0JY29kZWMtPmRhcG1fZXZlbnQgPSB3bTk3MTNfZGFwbV9ldmVudDsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTk3MTNfc2V0X2JpYXNfbGV2ZWw7CiAJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOwogCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CiAKQEAgLTEyMzgsNyArMTIzNyw3IEBACiAJCWdvdG8gcmVzZXRfZXJyOwogCX0KIAotCXdtOTcxM19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtOTcxM19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCiAJLyogdW5tdXRlIHRoZSBhZGMgLSBtb3ZlIHRvIGtjb250cm9sICovCiAJcmVnID0gYWM5N19yZWFkKGNvZGVjLCBBQzk3X0NEKSAmIDB4N2ZmZjsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmggYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5oCmluZGV4IGQzNTdiNmMuLjYzYjhkODEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmgKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTMuaApAQCAtNDYsNyArNDYsNyBAQAogI2RlZmluZSBXTTk3MTNfREFJX1BDTV9WT0lDRQkyCiAKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTk3MTM7Ci1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtOTcxM19kYWlbM107CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtOTcxM19kYWlbM107CiAKIGludCB3bTk3MTNfcmVzZXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCAgaW50IHRyeV93YXJtKTsKIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2RhdmluY2kvS2NvbmZpZyBiL3NvdW5kL3NvYy9kYXZpbmNpL0tjb25maWcKaW5kZXggMjA2ODBjNS4uOGY3ZTMzOCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2RhdmluY2kvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvZGF2aW5jaS9LY29uZmlnCkBAIC0xLDYgKzEsNiBAQAogY29uZmlnIFNORF9EQVZJTkNJX1NPQwogCXRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIHRoZSBUSSBEQVZJTkNJIGNoaXAiCi0JZGVwZW5kcyBvbiBBUkNIX0RBVklOQ0kgJiYgU05EX1NPQworCWRlcGVuZHMgb24gQVJDSF9EQVZJTkNJCiAJaGVscAogCSAgU2F5IFkgb3IgTSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgY29kZWNzIGF0dGFjaGVkIHRvCiAJICB0aGUgREFWSU5DSSBBQzk3IG9yIEkyUyBpbnRlcmZhY2UuIFlvdSB3aWxsIGFsc28gbmVlZApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1ldm0uYyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktZXZtLmMKaW5kZXggZmNkMTY1Mi4uNWUyYzMwNiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1ldm0uYworKysgYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWV2bS5jCkBAIC0zMywyNCArMzMsMjQgQEAKIAkJCSBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJaW50IHJldCA9IDA7CiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCQkJCSBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNIHwKIAkJCQkgICAgICAgU05EX1NPQ19EQUlGTVRfSUJfTkYpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBjb2RlYyBzeXN0ZW0gY2xvY2sgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIDAsIEVWTV9DT0RFQ19DTE9DSywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwgRVZNX0NPREVDX0NMT0NLLAogCQkJCQkgICAgU05EX1NPQ19DTE9DS19PVVQpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtNzEsNyArNzEsNyBAQAogfTsKIAogLyogZGF2aW5jaS1ldm0gbWFjaGluZSBhdWRpb19tYXBuZWN0aW9ucyB0byB0aGUgY29kZWMgcGlucyAqLwotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAJLyogSGVhZHBob25lIGNvbm5lY3RlZCB0byBIUExPVVQsIEhQUk9VVCAqLwogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiSFBMT1VUIn0sCiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJIUFJPVVQifSwKQEAgLTkwLDM2ICs5MCwzMCBAQAogCXsiTElORTJMIiwgTlVMTCwgIkxpbmUgSW4ifSwKIAl7IkxJTkUxUiIsIE5VTEwsICJMaW5lIEluIn0sCiAJeyJMSU5FMlIiLCBOVUxMLCAiTGluZSBJbiJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogLyogTG9naWMgZm9yIGEgYWljM3ggYXMgY29ubmVjdGVkIG9uIGEgZGF2aW5jaS1ldm0gKi8KIHN0YXRpYyBpbnQgZXZtX2FpYzN4X2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOwotCiAJLyogQWRkIGRhdmluY2ktZXZtIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhaWMzeF9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJmFpYzN4X2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgYWljM3hfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShhaWMzeF9kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBkYXZpbmNpLWV2bSBzcGVjaWZpYyBhdWRpbyBwYXRoIGF1ZGlvX21hcCAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQkJCSAgIGF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCiAJLyogbm90IGNvbm5lY3RlZCAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNT05PX0xPVVQiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSFBMQ09NIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhQUkNPTSIsIDApOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1PTk9fTE9VVCIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhQTENPTSIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhQUkNPTSIpOwogCiAJLyogYWx3YXlzIGNvbm5lY3RlZCAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDEpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIE91dCIsIDEpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIDEpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEluIiwgMSk7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTGluZSBPdXQiKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJMaW5lIEluIik7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuYyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmMKaW5kZXggYzQyMTc3NC4uNWViZjFmZiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuYworKysgYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5jCkBAIC0xNDcsNyArMTQ3LDcgQEAKIHN0YXRpYyBpbnQgZGF2aW5jaV9pMnNfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXN0cnVjdCBkYXZpbmNpX21jYnNwX2RldiAqZGV2ID0gcnRkLT5kYWktPmNwdV9kYWktPnByaXZhdGVfZGF0YTsKIAogCWNwdV9kYWktPmRtYV9kYXRhID0gZGV2LT5kbWFfcGFyYW1zW3N1YnN0cmVhbS0+c3RyZWFtXTsKQEAgLTE1NSw3ICsxNTUsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGRhdmluY2lfaTJzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IGRhdmluY2lfaTJzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCQkgICB1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBkYXZpbmNpX21jYnNwX2RldiAqZGV2ID0gY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOwpAQCAtMjk1LDExICsyOTUsMTIgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IGRhdmluY2lfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IGRhdmluY2lfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbcGRldi0+aWRdLmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbcGRldi0+aWRdLmNwdV9kYWk7CiAJc3RydWN0IGRhdmluY2lfbWNic3BfZGV2ICpkZXY7CiAJc3RydWN0IHJlc291cmNlICptZW0sICppb2FyZWE7CiAJc3RydWN0IGV2bV9zbmRfcGxhdGZvcm1fZGF0YSAqcGRhdGE7CkBAIC0zNTYsMTEgKzM1NywxMiBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGRhdmluY2lfaTJzX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIHZvaWQgZGF2aW5jaV9pMnNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1twZGV2LT5pZF0uY3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1twZGV2LT5pZF0uY3B1X2RhaTsKIAlzdHJ1Y3QgZGF2aW5jaV9tY2JzcF9kZXYgKmRldiA9IGNwdV9kYWktPnByaXZhdGVfZGF0YTsKIAlzdHJ1Y3QgcmVzb3VyY2UgKm1lbTsKIApAQCAtMzc2LDcgKzM3OCw3IEBACiAKICNkZWZpbmUgREFWSU5DSV9JMlNfUkFURVMJU05EUlZfUENNX1JBVEVfODAwMF85NjAwMAogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGRhdmluY2lfaTJzX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBkYXZpbmNpX2kyc19kYWkgPSB7CiAJLm5hbWUgPSAiZGF2aW5jaS1pMnMiLAogCS5pZCA9IDAsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9JMlMsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5oIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuaAppbmRleCA5NTkyZDE3Li5jNWIwOTE4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5oCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmgKQEAgLTEyLDYgKzEyLDYgQEAKICNpZm5kZWYgX0RBVklOQ0lfSTJTX0gKICNkZWZpbmUgX0RBVklOQ0lfSTJTX0gKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgZGF2aW5jaV9pMnNfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBkYXZpbmNpX2kyc19kYWk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1wY20uYyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktcGNtLmMKaW5kZXggNmE3NjkyNy4uNmE1ZTU2YSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1wY20uYworKysgYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLXBjbS5jCkBAIC0zNTAsNyArMzUwLDcgQEAKIHN0YXRpYyB1NjQgZGF2aW5jaV9wY21fZG1hbWFzayA9IDB4ZmZmZmZmZmY7CiAKIHN0YXRpYyBpbnQgZGF2aW5jaV9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLQkJCSAgIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHN0cnVjdCBzbmRfcGNtICpwY20pCiB7CiAJaW50IHJldDsKIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2ZzbC9LY29uZmlnIGIvc291bmQvc29jL2ZzbC9LY29uZmlnCmluZGV4IDI1NzEwMWYuLjMzNjhhY2UgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9mc2wvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvZnNsL0tjb25maWcKQEAgLTEsOCArMSw2IEBACi1tZW51ICJBTFNBIFNvQyBhdWRpbyBmb3IgRnJlZXNjYWxlIFNPQ3MiCi0KIGNvbmZpZyBTTkRfU09DX01QQzg2MTAKIAlib29sICJBTFNBIFNvQyBzdXBwb3J0IGZvciB0aGUgTVBDODYxMCBTT0MiCi0JZGVwZW5kcyBvbiBTTkRfU09DICYmIE1QQzg2MTBfSFBDRAorCWRlcGVuZHMgb24gTVBDODYxMF9IUENECiAJZGVmYXVsdCB5IGlmIE1QQzg2MTAKIAloZWxwCiAJICBTYXkgWSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgY29kZWNzIGF0dGFjaGVkIHRvIHRoZSBTU0kKQEAgLTE2LDUgKzE0LDMgQEAKIAlkZWZhdWx0IHkgaWYgTVBDODYxMF9IUENECiAJaGVscAogCSAgU2F5IFkgaWYgeW91IHdhbnQgdG8gZW5hYmxlIGF1ZGlvIG9uIHRoZSBGcmVlc2NhbGUgTVBDODYxMCBIUENELgotCi1lbmRtZW51CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuYyBiL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5jCmluZGV4IDc4ZGU3MTYuLmRhMmJjNTkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5jCisrKyBiL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5jCkBAIC0yODIsNyArMjgyLDcgQEAKICAqIG9uY2UgZm9yIGVhY2ggLmRhaV9saW5rIGluIHRoZSBtYWNoaW5lIGRyaXZlcidzIHNuZF9zb2NfbWFjaGluZQogICogc3RydWN0dXJlLgogICovCi1zdGF0aWMgaW50IGZzbF9kbWFfbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksCitzdGF0aWMgaW50IGZzbF9kbWFfbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCiAJc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlzdGF0aWMgdTY0IGZzbF9kbWFfZG1hbWFzayA9IERNQV9CSVRfTUFTSygzMik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuaCBiL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5oCmluZGV4IDQzMGE2Y2UuLjM4NWQ0YTQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5oCisrKyBiL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5oCkBAIC0xMjYsNyArMTI2LDcgQEAKIAl1OCByZXNbNF07ICAgICAgLyogUmVzZXJ2ZWQgKi8KIH0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoMzIpLCBwYWNrZWQpKTsKIAotLyogRE1BIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjcmVhdGUgYSBzbmRfc29jX2NwdV9kYWkgb2JqZWN0CisvKiBETUEgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGNyZWF0ZSBhIHNuZF9zb2NfZGFpIG9iamVjdAogICoKICAqIHNzaV9zdHhfcGh5czogYnVzIGFkZHJlc3Mgb2YgU1NJIFNUWCByZWdpc3RlciB0byB1c2UKICAqIHNzaV9zcnhfcGh5czogYnVzIGFkZHJlc3Mgb2YgU1NJIFNSWCByZWdpc3RlciB0byB1c2UKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvZnNsX3NzaS5jIGIvc291bmQvc29jL2ZzbC9mc2xfc3NpLmMKaW5kZXggZjU4ODU0NS4uNzFiZmYzMyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9mc2xfc3NpLmMKKysrIGIvc291bmQvc29jL2ZzbC9mc2xfc3NpLmMKQEAgLTgyLDcgKzgyLDcgQEAKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiAJdW5zaWduZWQgaW50IHBsYXliYWNrOwogCXVuc2lnbmVkIGludCBjYXB0dXJlOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgY3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgY3B1X2RhaTsKIAlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cjsKIAogCXN0cnVjdCB7CkBAIC00NzksNyArNDc5LDcgQEAKICAqIEBmcmVxOiB0aGUgZnJlcXVlbmN5IG9mIHRoZSBnaXZlbiBjbG9jayBJRCwgY3VycmVudGx5IGlnbm9yZWQKICAqIEBkaXI6IFNORF9TT0NfQ0xPQ0tfSU4gKGNsb2NrIHNsYXZlKSBvciBTTkRfU09DX0NMT0NLX09VVCAoY2xvY2sgbWFzdGVyKQogICovCi1zdGF0aWMgaW50IGZzbF9zc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBmc2xfc3NpX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJICAgICAgaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAKQEAgLTQ5Nyw3ICs0OTcsNyBAQAogICoKICAqIEBmb3JtYXQ6IG9uZSBvZiBTTkRfU09DX0RBSUZNVF94eHgKICAqLwotc3RhdGljIGludCBmc2xfc3NpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwgdW5zaWduZWQgaW50IGZvcm1hdCkKK3N0YXRpYyBpbnQgZnNsX3NzaV9zZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwgdW5zaWduZWQgaW50IGZvcm1hdCkKIHsKIAlyZXR1cm4gKGZvcm1hdCA9PSBTTkRfU09DX0RBSUZNVF9JMlMpID8gMCA6IC1FSU5WQUw7CiB9CkBAIC01MDUsNyArNTA1LDcgQEAKIC8qKgogICogZnNsX3NzaV9kYWlfdGVtcGxhdGU6IHRlbXBsYXRlIENQVSBEQUkgZm9yIHRoZSBTU0kKICAqLwotc3RhdGljIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgZnNsX3NzaV9kYWlfdGVtcGxhdGUgPSB7CitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGFpIGZzbF9zc2lfZGFpX3RlbXBsYXRlID0gewogCS5wbGF5YmFjayA9IHsKIAkJLyogVGhlIFNTSSBkb2VzIG5vdCBzdXBwb3J0IG1vbmF1cmFsIGF1ZGlvLiAqLwogCQkuY2hhbm5lbHNfbWluID0gMiwKQEAgLTU2OSwxNSArNTY5LDE1IEBACiB9CiAKIC8qKgotICogZnNsX3NzaV9jcmVhdGVfZGFpOiBjcmVhdGUgYSBzbmRfc29jX2NwdV9kYWkgc3RydWN0dXJlCisgKiBmc2xfc3NpX2NyZWF0ZV9kYWk6IGNyZWF0ZSBhIHNuZF9zb2NfZGFpIHN0cnVjdHVyZQogICoKLSAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSBtYWNoaW5lIGRyaXZlciB0byBjcmVhdGUgYSBzbmRfc29jX2NwdV9kYWkKKyAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSBtYWNoaW5lIGRyaXZlciB0byBjcmVhdGUgYSBzbmRfc29jX2RhaQogICogc3RydWN0dXJlLiAgVGhlIGZ1bmN0aW9uIGNyZWF0ZXMgYW4gc3NpX3ByaXZhdGUgb2JqZWN0LCB3aGljaCBjb250YWlucwotICogdGhlIHNuZF9zb2NfY3B1X2RhaS4gIEl0IGFsc28gY3JlYXRlcyB0aGUgc3lzZnMgc3RhdGlzdGljcyBkZXZpY2UuCisgKiB0aGUgc25kX3NvY19kYWkuICBJdCBhbHNvIGNyZWF0ZXMgdGhlIHN5c2ZzIHN0YXRpc3RpY3MgZGV2aWNlLgogICovCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpmc2xfc3NpX2NyZWF0ZV9kYWkoc3RydWN0IGZzbF9zc2lfaW5mbyAqc3NpX2luZm8pCitzdHJ1Y3Qgc25kX3NvY19kYWkgKmZzbF9zc2lfY3JlYXRlX2RhaShzdHJ1Y3QgZnNsX3NzaV9pbmZvICpzc2lfaW5mbykKIHsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpmc2xfc3NpX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmZzbF9zc2lfZGFpOwogCXN0cnVjdCBmc2xfc3NpX3ByaXZhdGUgKnNzaV9wcml2YXRlOwogCWludCByZXQgPSAwOwogCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICpkZXZfYXR0cjsKQEAgLTU4OCw3ICs1ODgsNyBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAJbWVtY3B5KCZzc2lfcHJpdmF0ZS0+Y3B1X2RhaSwgJmZzbF9zc2lfZGFpX3RlbXBsYXRlLAotCSAgICAgICBzaXplb2Yoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSkpOworCSAgICAgICBzaXplb2Yoc3RydWN0IHNuZF9zb2NfZGFpKSk7CiAKIAlmc2xfc3NpX2RhaSA9ICZzc2lfcHJpdmF0ZS0+Y3B1X2RhaTsKIAlkZXZfYXR0ciA9ICZzc2lfcHJpdmF0ZS0+ZGV2X2F0dHI7CkBAIC02MjMsMTEgKzYyMywxMSBAQAogRVhQT1JUX1NZTUJPTF9HUEwoZnNsX3NzaV9jcmVhdGVfZGFpKTsKIAogLyoqCi0gKiBmc2xfc3NpX2Rlc3Ryb3lfZGFpOiBkZXN0cm95IHRoZSBzbmRfc29jX2NwdV9kYWkgb2JqZWN0CisgKiBmc2xfc3NpX2Rlc3Ryb3lfZGFpOiBkZXN0cm95IHRoZSBzbmRfc29jX2RhaSBvYmplY3QKICAqCiAgKiBUaGlzIGZ1bmN0aW9uIHVuZG9lcyB0aGUgb3BlcmF0aW9ucyBvZiBmc2xfc3NpX2NyZWF0ZV9kYWkoKQogICovCi12b2lkIGZzbF9zc2lfZGVzdHJveV9kYWkoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZnNsX3NzaV9kYWkpCit2b2lkIGZzbF9zc2lfZGVzdHJveV9kYWkoc3RydWN0IHNuZF9zb2NfZGFpICpmc2xfc3NpX2RhaSkKIHsKIAlzdHJ1Y3QgZnNsX3NzaV9wcml2YXRlICpzc2lfcHJpdmF0ZSA9CiAJY29udGFpbmVyX29mKGZzbF9zc2lfZGFpLCBzdHJ1Y3QgZnNsX3NzaV9wcml2YXRlLCBjcHVfZGFpKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvZnNsX3NzaS5oIGIvc291bmQvc29jL2ZzbC9mc2xfc3NpLmgKaW5kZXggYzVjZTg4ZS4uODNiNDRkNyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9mc2xfc3NpLmgKKysrIGIvc291bmQvc29jL2ZzbC9mc2xfc3NpLmgKQEAgLTIxNyw4ICsyMTcsOCBAQAogCXN0cnVjdCBkZXZpY2UgKmRldjsKIH07CiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmZzbF9zc2lfY3JlYXRlX2RhaShzdHJ1Y3QgZnNsX3NzaV9pbmZvICpzc2lfaW5mbyk7Ci12b2lkIGZzbF9zc2lfZGVzdHJveV9kYWkoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZnNsX3NzaV9kYWkpOworc3RydWN0IHNuZF9zb2NfZGFpICpmc2xfc3NpX2NyZWF0ZV9kYWkoc3RydWN0IGZzbF9zc2lfaW5mbyAqc3NpX2luZm8pOwordm9pZCBmc2xfc3NpX2Rlc3Ryb3lfZGFpKHN0cnVjdCBzbmRfc29jX2RhaSAqZnNsX3NzaV9kYWkpOwogCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2ZzbC9tcGM4NjEwX2hwY2QuYyBiL3NvdW5kL3NvYy9mc2wvbXBjODYxMF9ocGNkLmMKaW5kZXggYTAwYWFjNy4uNGJkYzlkOCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9tcGM4NjEwX2hwY2QuYworKysgYi9zb3VuZC9zb2MvZnNsL21wYzg2MTBfaHBjZC5jCkBAIC01OCw5ICs1OCw5IEBACiAJCXNvdW5kX2RldmljZS0+ZGV2LnBsYXRmb3JtX2RhdGE7CiAKIAkvKiBQcm9ncmFtIHRoZSBzaWduYWwgcm91dGluZyBiZXR3ZWVuIHRoZSBTU0kgYW5kIHRoZSBETUEgKi8KLQlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkICsgMSwKKwlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkLAogCQltYWNoaW5lX2RhdGEtPmRtYV9jaGFubmVsX2lkWzBdLCBDQ1NSX0dVVFNfRE1BQ1JfREVWX1NTSSk7Ci0JZ3V0c19zZXRfZG1hY3IobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCArIDEsCisJZ3V0c19zZXRfZG1hY3IobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCwKIAkJbWFjaGluZV9kYXRhLT5kbWFfY2hhbm5lbF9pZFsxXSwgQ0NTUl9HVVRTX0RNQUNSX0RFVl9TU0kpOwogCiAJZ3V0c19zZXRfcG11eGNyX2RtYShtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkLApAQCAtOTYsNjIgKzk2LDUyIEBACiBzdGF0aWMgaW50IG1wYzg2MTBfaHBjZF9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlzdHJ1Y3QgbXBjODYxMF9ocGNkX2RhdGEgKm1hY2hpbmVfZGF0YSA9CiAJCXJ0ZC0+c29jZGV2LT5kZXYtPnBsYXRmb3JtX2RhdGE7CiAJaW50IHJldCA9IDA7CiAKIAkvKiBUZWxsIHRoZSBDUFUgZHJpdmVyIHdoYXQgdGhlIHNlcmlhbCBwcm90b2NvbCBpcy4gKi8KLQlpZiAoY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KSB7Ci0JCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLAotCQkJbWFjaGluZV9kYXRhLT5kYWlfZm9ybWF0KTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKLQkJCQkiY291bGQgbm90IHNldCBDUFUgZHJpdmVyIGF1ZGlvIGZvcm1hdFxuIik7Ci0JCQlyZXR1cm4gcmV0OwotCQl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBtYWNoaW5lX2RhdGEtPmRhaV9mb3JtYXQpOworCWlmIChyZXQgPCAwKSB7CisJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKKwkJCSJjb3VsZCBub3Qgc2V0IENQVSBkcml2ZXIgYXVkaW8gZm9ybWF0XG4iKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAkvKiBUZWxsIHRoZSBjb2RlYyBkcml2ZXIgd2hhdCB0aGUgc2VyaWFsIHByb3RvY29sIGlzLiAqLwotCWlmIChjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdCkgewotCQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksCi0JCQltYWNoaW5lX2RhdGEtPmRhaV9mb3JtYXQpOwotCQlpZiAocmV0IDwgMCkgewotCQkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAotCQkJCSJjb3VsZCBub3Qgc2V0IGNvZGVjIGRyaXZlciBhdWRpbyBmb3JtYXRcbiIpOwotCQkJcmV0dXJuIHJldDsKLQkJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBtYWNoaW5lX2RhdGEtPmRhaV9mb3JtYXQpOworCWlmIChyZXQgPCAwKSB7CisJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKKwkJCSJjb3VsZCBub3Qgc2V0IGNvZGVjIGRyaXZlciBhdWRpbyBmb3JtYXRcbiIpOworCQlyZXR1cm4gcmV0OwogCX0KIAogCS8qCiAJICogVGVsbCB0aGUgQ1BVIGRyaXZlciB3aGF0IHRoZSBjbG9jayBmcmVxdWVuY3kgaXMsIGFuZCB3aGV0aGVyIGl0J3MgYQogCSAqIHNsYXZlIG9yIG1hc3Rlci4KIAkgKi8KLQlpZiAoY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKSB7Ci0JCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X3N5c2NsayhjcHVfZGFpLCAwLAotCQkJbWFjaGluZV9kYXRhLT5jbGtfZnJlcXVlbmN5LAotCQkJbWFjaGluZV9kYXRhLT5jcHVfY2xrX2RpcmVjdGlvbik7Ci0JCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCi0JCQkJImNvdWxkIG5vdCBzZXQgQ1BVIGRyaXZlciBjbG9jayBwYXJhbWV0ZXJzXG4iKTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNwdV9kYWksIDAsCisJCQkJCW1hY2hpbmVfZGF0YS0+Y2xrX2ZyZXF1ZW5jeSwKKwkJCQkJbWFjaGluZV9kYXRhLT5jcHVfY2xrX2RpcmVjdGlvbik7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAorCQkJImNvdWxkIG5vdCBzZXQgQ1BVIGRyaXZlciBjbG9jayBwYXJhbWV0ZXJzXG4iKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAkvKgogCSAqIFRlbGwgdGhlIGNvZGVjIGRyaXZlciB3aGF0IHRoZSBNQ0xLIGZyZXF1ZW5jeSBpcywgYW5kIHdoZXRoZXIgaXQncwogCSAqIGEgc2xhdmUgb3IgbWFzdGVyLgogCSAqLwotCWlmIChjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2NsaykgewotCQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIDAsCi0JCQltYWNoaW5lX2RhdGEtPmNsa19mcmVxdWVuY3ksCi0JCQltYWNoaW5lX2RhdGEtPmNvZGVjX2Nsa19kaXJlY3Rpb24pOwotCQlpZiAocmV0IDwgMCkgewotCQkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAotCQkJCSJjb3VsZCBub3Qgc2V0IGNvZGVjIGRyaXZlciBjbG9jayBwYXJhbXNcbiIpOwotCQkJcmV0dXJuIHJldDsKLQkJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCAwLAorCQkJCQltYWNoaW5lX2RhdGEtPmNsa19mcmVxdWVuY3ksCisJCQkJCW1hY2hpbmVfZGF0YS0+Y29kZWNfY2xrX2RpcmVjdGlvbik7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAorCQkJImNvdWxkIG5vdCBzZXQgY29kZWMgZHJpdmVyIGNsb2NrIHBhcmFtc1xuIik7CisJCXJldHVybiByZXQ7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0xNzAsOSArMTYwLDkgQEAKIAogCS8qIFJlc3RvcmUgdGhlIHNpZ25hbCByb3V0aW5nICovCiAKLQlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkICsgMSwKKwlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkLAogCQltYWNoaW5lX2RhdGEtPmRtYV9jaGFubmVsX2lkWzBdLCAwKTsKLQlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkICsgMSwKKwlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkLAogCQltYWNoaW5lX2RhdGEtPmRtYV9jaGFubmVsX2lkWzFdLCAwKTsKIAogCXN3aXRjaCAobWFjaGluZV9kYXRhLT5zc2lfaWQpIHsKQEAgLTE4Miw3ICsxNzIsNyBAQAogCQlicmVhazsKIAljYXNlIDE6CiAJCWNscnNldGJpdHNfYmUzMigmbWFjaGluZV9kYXRhLT5ndXRzLT5wbXV4Y3IsCi0JCQlDQ1NSX0dVVFNfUE1VWENSX1NTSTJfTUFTSywgQ0NTUl9HVVRTX1BNVVhDUl9TU0kxX0xBKTsKKwkJCUNDU1JfR1VUU19QTVVYQ1JfU1NJMl9NQVNLLCBDQ1NSX0dVVFNfUE1VWENSX1NTSTJfTEEpOwogCQlicmVhazsKIAl9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9vbWFwL0tjb25maWcgYi9zb3VuZC9zb2Mvb21hcC9LY29uZmlnCmluZGV4IDAyMzBkODMuLmFlYTI3ZTcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9vbWFwL0tjb25maWcKKysrIGIvc291bmQvc29jL29tYXAvS2NvbmZpZwpAQCAtMSw1ICsxLDMgQEAKLW1lbnUgIlNvQyBBdWRpbyBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIE9NQVAiCi0KIGNvbmZpZyBTTkRfT01BUF9TT0MKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgVGV4YXMgSW5zdHJ1bWVudHMgT01BUCBjaGlwcyIKIAlkZXBlbmRzIG9uIEFSQ0hfT01BUCAmJiBTTkRfU09DCkBAIC0xNSw1ICsxMywzIEBACiAJc2VsZWN0IFNORF9TT0NfVExWMzIwQUlDM1gKIAloZWxwCiAJICBTYXkgWSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgU29DIGF1ZGlvIG9uIE5va2lhIE44MTAuCi0KLWVuZG1lbnUKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9vbWFwL244MTAuYyBiL3NvdW5kL3NvYy9vbWFwL244MTAuYwppbmRleCA2NTMzNTYzLi4wMmNlYzk2OCAxMDA2NDQKLS0tIGEvc291bmQvc29jL29tYXAvbjgxMC5jCisrKyBiL3NvdW5kL3NvYy9vbWFwL244MTAuYwpAQCAtMzAsMTUgKzMwLDE1IEBACiAKICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tY2JzcC5oPgogCiAjaW5jbHVkZSAib21hcC1tY2JzcC5oIgogI2luY2x1ZGUgIm9tYXAtcGNtLmgiCiAjaW5jbHVkZSAiLi4vY29kZWNzL3RsdjMyMGFpYzN4LmgiCiAKLSNkZWZpbmUgUlg0NF9IRUFEU0VUX0FNUF9HUElPCTEwCi0jZGVmaW5lIFJYNDRfU1BFQUtFUl9BTVBfR1BJTwkxMDEKKyNkZWZpbmUgTjgxMF9IRUFEU0VUX0FNUF9HUElPCTEwCisjZGVmaW5lIE44MTBfU1BFQUtFUl9BTVBfR1BJTwkxMDEKIAogc3RhdGljIHN0cnVjdCBjbGsgKnN5c19jbGtvdXQyOwogc3RhdGljIHN0cnVjdCBjbGsgKnN5c19jbGtvdXQyX3NyYzsKQEAgLTQ2LDEzICs0NiwyNiBAQAogCiBzdGF0aWMgaW50IG44MTBfc3BrX2Z1bmM7CiBzdGF0aWMgaW50IG44MTBfamFja19mdW5jOworc3RhdGljIGludCBuODEwX2RtaWNfZnVuYzsKIAogc3RhdGljIHZvaWQgbjgxMF9leHRfY29udHJvbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCBuODEwX3Nwa19mdW5jKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCBuODEwX2phY2tfZnVuYyk7CisJaWYgKG44MTBfc3BrX2Z1bmMpCisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOworCWVsc2UKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlpZiAobjgxMF9qYWNrX2Z1bmMpCisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwllbHNlCisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisKKwlpZiAobjgxMF9kbWljX2Z1bmMpCisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiRE1pYyIpOworCWVsc2UKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiRE1pYyIpOworCisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogfQogCiBzdGF0aWMgaW50IG44MTBfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKQEAgLTczLDEyICs4NiwxMiBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlpbnQgZXJyOwogCiAJLyogU2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JZXJyID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLAorCWVyciA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLAogCQkJCQkgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJCQkJIFNORF9TT0NfREFJRk1UX05CX05GIHwKIAkJCQkJIFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwpAQCAtODYsNyArOTksNyBAQAogCQlyZXR1cm4gZXJyOwogCiAJLyogU2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCWVyciA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLAorCWVyciA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwKIAkJCQkgICAgICAgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJCQkgICAgICAgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAogCQkJCSAgICAgICBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKQEAgLTk0LDcgKzEwNyw3IEBACiAJCXJldHVybiBlcnI7CiAKIAkvKiBTZXQgdGhlIGNvZGVjIHN5c3RlbSBjbG9jayBmb3IgREFDIGFuZCBBREMgKi8KLQllcnIgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIDAsIDEyMDAwMDAwLAorCWVyciA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCAwLCAxMjAwMDAwMCwKIAkJCQkJICAgIFNORF9TT0NfQ0xPQ0tfSU4pOwogCiAJcmV0dXJuIGVycjsKQEAgLTE1MCwxMyArMTYzLDM1IEBACiAJcmV0dXJuIDE7CiB9CiAKK3N0YXRpYyBpbnQgbjgxMF9nZXRfaW5wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gbjgxMF9kbWljX2Z1bmM7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBuODEwX3NldF9pbnB1dChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gIHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKworCWlmIChuODEwX2RtaWNfZnVuYyA9PSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSkKKwkJcmV0dXJuIDA7CisKKwluODEwX2RtaWNfZnVuYyA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOworCW44MTBfZXh0X2NvbnRyb2woY29kZWMpOworCisJcmV0dXJuIDE7Cit9CisKIHN0YXRpYyBpbnQgbjgxMF9zcGtfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsCiAJCQkgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmssIGludCBldmVudCkKIHsKIAlpZiAoU05EX1NPQ19EQVBNX0VWRU5UX09OKGV2ZW50KSkKLQkJb21hcF9zZXRfZ3Bpb19kYXRhb3V0KFJYNDRfU1BFQUtFUl9BTVBfR1BJTywgMSk7CisJCWdwaW9fc2V0X3ZhbHVlKE44MTBfU1BFQUtFUl9BTVBfR1BJTywgMSk7CiAJZWxzZQotCQlvbWFwX3NldF9ncGlvX2RhdGFvdXQoUlg0NF9TUEVBS0VSX0FNUF9HUElPLCAwKTsKKwkJZ3Bpb19zZXRfdmFsdWUoTjgxMF9TUEVBS0VSX0FNUF9HUElPLCAwKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTY1LDkgKzIwMCw5IEBACiAJCQkgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprLCBpbnQgZXZlbnQpCiB7CiAJaWYgKFNORF9TT0NfREFQTV9FVkVOVF9PTihldmVudCkpCi0JCW9tYXBfc2V0X2dwaW9fZGF0YW91dChSWDQ0X0hFQURTRVRfQU1QX0dQSU8sIDEpOworCQlncGlvX3NldF92YWx1ZShOODEwX0hFQURTRVRfQU1QX0dQSU8sIDEpOwogCWVsc2UKLQkJb21hcF9zZXRfZ3Bpb19kYXRhb3V0KFJYNDRfSEVBRFNFVF9BTVBfR1BJTywgMCk7CisJCWdwaW9fc2V0X3ZhbHVlKE44MTBfSEVBRFNFVF9BTVBfR1BJTywgMCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTE3NSwyMSArMjEwLDI3IEBACiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgYWljMzNfZGFwbV93aWRnZXRzW10gPSB7CiAJU05EX1NPQ19EQVBNX1NQSygiRXh0IFNwayIsIG44MTBfc3BrX2V2ZW50KSwKIAlTTkRfU09DX0RBUE1fSFAoIkhlYWRwaG9uZSBKYWNrIiwgbjgxMF9qYWNrX2V2ZW50KSwKKwlTTkRfU09DX0RBUE1fTUlDKCJETWljIiwgTlVMTCksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkhQTE9VVCJ9LAogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiSFBST1VUIn0sCiAKIAl7IkV4dCBTcGsiLCBOVUxMLCAiTExPVVQifSwKIAl7IkV4dCBTcGsiLCBOVUxMLCAiUkxPVVQifSwKKworCXsiRE1pYyBSYXRlIDY0IiwgTlVMTCwgIk1pYyBCaWFzIDJWIn0sCisJeyJNaWMgQmlhcyAyViIsIE5VTEwsICJETWljIn0sCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqc3BrX2Z1bmN0aW9uW10gPSB7Ik9mZiIsICJPbiJ9Owogc3RhdGljIGNvbnN0IGNoYXIgKmphY2tfZnVuY3Rpb25bXSA9IHsiT2ZmIiwgIkhlYWRwaG9uZSJ9Oworc3RhdGljIGNvbnN0IGNoYXIgKmlucHV0X2Z1bmN0aW9uW10gPSB7IkFEQyIsICJEaWdpdGFsIE1pYyJ9Owogc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSBuODEwX2VudW1bXSA9IHsKIAlTT0NfRU5VTV9TSU5HTEVfRVhUKEFSUkFZX1NJWkUoc3BrX2Z1bmN0aW9uKSwgc3BrX2Z1bmN0aW9uKSwKIAlTT0NfRU5VTV9TSU5HTEVfRVhUKEFSUkFZX1NJWkUoamFja19mdW5jdGlvbiksIGphY2tfZnVuY3Rpb24pLAorCVNPQ19FTlVNX1NJTkdMRV9FWFQoQVJSQVlfU0laRShpbnB1dF9mdW5jdGlvbiksIGlucHV0X2Z1bmN0aW9uKSwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhaWMzM19uODEwX2NvbnRyb2xzW10gPSB7CkBAIC0xOTcsNiArMjM4LDggQEAKIAkJICAgICBuODEwX2dldF9zcGssIG44MTBfc2V0X3NwayksCiAJU09DX0VOVU1fRVhUKCJKYWNrIEZ1bmN0aW9uIiwgbjgxMF9lbnVtWzFdLAogCQkgICAgIG44MTBfZ2V0X2phY2ssIG44MTBfc2V0X2phY2spLAorCVNPQ19FTlVNX0VYVCgiSW5wdXQgU2VsZWN0IiwgIG44MTBfZW51bVsyXSwKKwkJICAgICBuODEwX2dldF9pbnB1dCwgbjgxMF9zZXRfaW5wdXQpLAogfTsKIAogc3RhdGljIGludCBuODEwX2FpYzMzX2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQpAQCAtMjA0LDkgKzI0Nyw5IEBACiAJaW50IGksIGVycjsKIAogCS8qIE5vdCBjb25uZWN0ZWQgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTU9OT19MT1VUIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhQTENPTSIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIUFJDT00iLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNT05PX0xPVVQiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIUExDT00iKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIUFJDT00iKTsKIAogCS8qIEFkZCBOODEwIHNwZWNpZmljIGNvbnRyb2xzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWljMzNfbjgxMF9jb250cm9scyk7IGkrKykgewpAQCAtMjE3LDE1ICsyNjAsMTMgQEAKIAl9CiAKIAkvKiBBZGQgTjgxMCBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWljMzNfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZhaWMzM19kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIGFpYzMzX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUoYWljMzNfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBTZXQgdXAgTjgxMCBzcGVjaWZpYyBhdWRpbyBwYXRoIGF1ZGlvX21hcCAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGF1ZGlvX21hcCk7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTI1MCw2ICsyOTEsOCBAQAogLyogQXVkaW8gcHJpdmF0ZSBkYXRhICovCiBzdGF0aWMgc3RydWN0IGFpYzN4X3NldHVwX2RhdGEgbjgxMF9haWMzM19zZXR1cCA9IHsKIAkuaTJjX2FkZHJlc3MgPSAweDE4LAorCS5ncGlvX2Z1bmNbMF0gPSBBSUMzWF9HUElPMV9GVU5DX0RJU0FCTEVELAorCS5ncGlvX2Z1bmNbMV0gPSBBSUMzWF9HUElPMl9GVU5DX0RJR0lUQUxfTUlDX0lOUFVULAogfTsKIAogLyogQXVkaW8gc3Vic3lzdGVtICovCkBAIC0yNjcsNyArMzEwLDcgQEAKIAlpbnQgZXJyOwogCXN0cnVjdCBkZXZpY2UgKmRldjsKIAotCWlmICghbWFjaGluZV9pc19ub2tpYV9uODEwKCkpCisJaWYgKCEobWFjaGluZV9pc19ub2tpYV9uODEwKCkgfHwgbWFjaGluZV9pc19ub2tpYV9uODEwX3dpbWF4KCkpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAogCW44MTBfc25kX2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygic29jLWF1ZGlvIiwgLTEpOwpAQCAtMzA1LDEyICszNDgsMTIgQEAKIAljbGtfc2V0X3BhcmVudChzeXNfY2xrb3V0Ml9zcmMsIGZ1bmM5Nm1fY2xrKTsKIAljbGtfc2V0X3JhdGUoc3lzX2Nsa291dDIsIDEyMDAwMDAwKTsKIAotCWlmIChvbWFwX3JlcXVlc3RfZ3BpbyhSWDQ0X0hFQURTRVRfQU1QX0dQSU8pIDwgMCkKKwlpZiAoZ3Bpb19yZXF1ZXN0KE44MTBfSEVBRFNFVF9BTVBfR1BJTywgImhzX2FtcCIpIDwgMCkKIAkJQlVHKCk7Ci0JaWYgKG9tYXBfcmVxdWVzdF9ncGlvKFJYNDRfU1BFQUtFUl9BTVBfR1BJTykgPCAwKQorCWlmIChncGlvX3JlcXVlc3QoTjgxMF9TUEVBS0VSX0FNUF9HUElPLCAic3BrX2FtcCIpIDwgMCkKIAkJQlVHKCk7Ci0Jb21hcF9zZXRfZ3Bpb19kaXJlY3Rpb24oUlg0NF9IRUFEU0VUX0FNUF9HUElPLCAwKTsKLQlvbWFwX3NldF9ncGlvX2RpcmVjdGlvbihSWDQ0X1NQRUFLRVJfQU1QX0dQSU8sIDApOworCWdwaW9fZGlyZWN0aW9uX291dHB1dChOODEwX0hFQURTRVRfQU1QX0dQSU8sIDApOworCWdwaW9fZGlyZWN0aW9uX291dHB1dChOODEwX1NQRUFLRVJfQU1QX0dQSU8sIDApOwogCiAJcmV0dXJuIDA7CiBlcnIyOgpAQCAtMzI1LDYgKzM2OCw5IEBACiAKIHN0YXRpYyB2b2lkIF9fZXhpdCBuODEwX3NvY19leGl0KHZvaWQpCiB7CisJZ3Bpb19mcmVlKE44MTBfU1BFQUtFUl9BTVBfR1BJTyk7CisJZ3Bpb19mcmVlKE44MTBfSEVBRFNFVF9BTVBfR1BJTyk7CisKIAlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihuODEwX3NuZF9kZXZpY2UpOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmMgYi9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmMKaW5kZXggNDBkODdlNi4uMDBiMGM5ZCAxMDA2NDQKLS0tIGEvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5jCisrKyBiL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuYwpAQCAtMTAzLDcgKzEwMyw3IEBACiBzdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9kYXRhICptY2JzcF9kYXRhID0gdG9fbWNic3AoY3B1X2RhaS0+cHJpdmF0ZV9kYXRhKTsKIAlpbnQgZXJyID0gMDsKIApAQCAtMTE2LDcgKzExNiw3IEBACiBzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2RhaV9zaHV0ZG93bihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXN0cnVjdCBvbWFwX21jYnNwX2RhdGEgKm1jYnNwX2RhdGEgPSB0b19tY2JzcChjcHVfZGFpLT5wcml2YXRlX2RhdGEpOwogCiAJaWYgKCFjcHVfZGFpLT5hY3RpdmUpIHsKQEAgLTEyOCw3ICsxMjgsNyBAQAogc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CiAJaW50IGVyciA9IDA7CiAKQEAgLTE1Nyw3ICsxNTcsNyBAQAogCQkJCSAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXN0cnVjdCBvbWFwX21jYnNwX2RhdGEgKm1jYnNwX2RhdGEgPSB0b19tY2JzcChjcHVfZGFpLT5wcml2YXRlX2RhdGEpOwogCXN0cnVjdCBvbWFwX21jYnNwX3JlZ19jZmcgKnJlZ3MgPSAmbWNic3BfZGF0YS0+cmVnczsKIAlpbnQgZG1hLCBidXNfaWQgPSBtY2JzcF9kYXRhLT5idXNfaWQsIGlkID0gY3B1X2RhaS0+aWQ7CkBAIC0yMjMsNyArMjIzLDcgQEAKICAqIFRoaXMgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIF9zZXRfY2xrZGl2IGFuZCBfc2V0X3N5c2NsayBzaW5jZSBNY0JTUCByZWdpc3RlcgogICogY2FjaGUgaXMgaW5pdGlhbGl6ZWQgaGVyZQogICovCi1zdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCQkgICAgICB1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBvbWFwX21jYnNwX2RhdGEgKm1jYnNwX2RhdGEgPSB0b19tY2JzcChjcHVfZGFpLT5wcml2YXRlX2RhdGEpOwpAQCAtMjkyLDcgKzI5Miw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV9zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCQkgICAgIGludCBkaXZfaWQsIGludCBkaXYpCiB7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CkBAIC0zNDcsNyArMzQ3LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkJCSBpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwKIAkJCQkJIGludCBkaXIpCiB7CkBAIC0zNzYsNyArMzc2LDcgQEAKIAlyZXR1cm4gZXJyOwogfQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIG9tYXBfbWNic3BfZGFpW05VTV9MSU5LU10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgb21hcF9tY2JzcF9kYWlbTlVNX0xJTktTXSA9IHsKIHsKIAkubmFtZSA9ICJvbWFwLW1jYnNwLWRhaSIsCiAJLmlkID0gMCwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuaCBiL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuaAppbmRleCA5OTY1ZmQ0Li5lZDhhZmI1IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmgKKysrIGIvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5oCkBAIC00NCw2ICs0NCw2IEBACiAgKi8KICNkZWZpbmUgTlVNX0xJTktTCTEKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgb21hcF9tY2JzcF9kYWlbTlVNX0xJTktTXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgb21hcF9tY2JzcF9kYWlbTlVNX0xJTktTXTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvb21hcC9vbWFwLXBjbS5jIGIvc291bmQvc29jL29tYXAvb21hcC1wY20uYwppbmRleCA2MjM3MDIwLi5lMDkyZjNkIDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvb21hcC9vbWFwLXBjbS5jCisrKyBiL3NvdW5kL3NvYy9vbWFwL29tYXAtcGNtLmMKQEAgLTMxNiw3ICszMTYsNyBAQAogCX0KIH0KIAotaW50IG9tYXBfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLAoraW50IG9tYXBfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCQkgc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlpbnQgcmV0ID0gMDsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvS2NvbmZpZyBiL3NvdW5kL3NvYy9weGEvS2NvbmZpZwppbmRleCA0ODRmODgzLi4xMmY2YWM5IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL0tjb25maWcKKysrIGIvc291bmQvc29jL3B4YS9LY29uZmlnCkBAIC0xLDYgKzEsNiBAQAogY29uZmlnIFNORF9QWEEyWFhfU09DCiAJdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgdGhlIEludGVsIFBYQTJ4eCBjaGlwIgotCWRlcGVuZHMgb24gQVJDSF9QWEEgJiYgU05EX1NPQworCWRlcGVuZHMgb24gQVJDSF9QWEEKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8KIAkgIHRoZSBQWEEyeHggQUM5NywgSTJTIG9yIFNTUCBpbnRlcmZhY2UuIFlvdSB3aWxsIGFsc28gbmVlZApAQCAtNjIsMyArNjIsMTIgQEAKIAloZWxwCiAJICBTYXkgWSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgU29DIGF1ZGlvIG9uIHRoZQogCSAgVG9zaGliYSBlODAwIFBEQQorCitjb25maWcgU05EX1BYQTJYWF9TT0NfRU1fWDI3MAorCXRyaXN0YXRlICJTb0MgQXVkaW8gc3VwcG9ydCBmb3IgQ29tcHVMYWIgRU0teDI3MCIKKwlkZXBlbmRzIG9uIFNORF9QWEEyWFhfU09DICYmIE1BQ0hfRU1fWDI3MAorCXNlbGVjdCBTTkRfUFhBMlhYX1NPQ19BQzk3CisJc2VsZWN0IFNORF9TT0NfV005NzEyCisJaGVscAorCSAgU2F5IFkgaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIFNvQyBhdWRpbyBvbgorCSAgQ29tcHVMYWIgRU0teDI3MC4KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvTWFrZWZpbGUgYi9zb3VuZC9zb2MvcHhhL01ha2VmaWxlCmluZGV4IDA0ZTU2NDYuLjViYzhlZGYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvTWFrZWZpbGUKKysrIGIvc291bmQvc29jL3B4YS9NYWtlZmlsZQpAQCAtMTMsMTAgKzEzLDExIEBACiBzbmQtc29jLXRvc2Etb2JqcyA6PSB0b3NhLm8KIHNuZC1zb2MtZTgwMC1vYmpzIDo9IGU4MDBfd205NzEyLm8KIHNuZC1zb2Mtc3BpdHotb2JqcyA6PSBzcGl0ei5vCitzbmQtc29jLWVtLXgyNzAtb2JqcyA6PSBlbS14MjcwLm8KIAogb2JqLSQoQ09ORklHX1NORF9QWEEyWFhfU09DX0NPUkdJKSArPSBzbmQtc29jLWNvcmdpLm8KIG9iai0kKENPTkZJR19TTkRfUFhBMlhYX1NPQ19QT09ETEUpICs9IHNuZC1zb2MtcG9vZGxlLm8KIG9iai0kKENPTkZJR19TTkRfUFhBMlhYX1NPQ19UT1NBKSArPSBzbmQtc29jLXRvc2Eubwogb2JqLSQoQ09ORklHX1NORF9QWEEyWFhfU09DX0U4MDApICs9IHNuZC1zb2MtZTgwMC5vCiBvYmotJChDT05GSUdfU05EX1BYQTJYWF9TT0NfU1BJVFopICs9IHNuZC1zb2Mtc3BpdHoubwotCitvYmotJChDT05GSUdfU05EX1BYQTJYWF9TT0NfRU1fWDI3MCkgKz0gc25kLXNvYy1lbS14MjcwLm8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvY29yZ2kuYyBiL3NvdW5kL3NvYy9weGEvY29yZ2kuYwppbmRleCA3ZjMyYTExLi5jMDI5NDQ2IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL2NvcmdpLmMKKysrIGIvc291bmQvc29jL3B4YS9jb3JnaS5jCkBAIC0xMSwxMCArMTEsNiBAQAogICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDMwdGggTm92IDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTU0LDQ3ICs1MCw1MSBAQAogCiBzdGF0aWMgdm9pZCBjb3JnaV9leHRfY29udHJvbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IHNwayA9IDAsIG1pYyA9IDAsIGxpbmUgPSAwLCBocCA9IDAsIGhzID0gMDsKLQogCS8qIHNldCB1cCBqYWNrIGNvbm5lY3Rpb24gKi8KIAlzd2l0Y2ggKGNvcmdpX2phY2tfZnVuYykgewogCWNhc2UgQ09SR0lfSFA6Ci0JCWhwID0gMTsKIAkJLyogc2V0ID0gdW5tdXRlIGhlYWRwaG9uZSAqLwogCQlzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9MKTsKIAkJc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfUik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAljYXNlIENPUkdJX01JQzoKLQkJbWljID0gMTsKIAkJLyogcmVzZXQgPSBtdXRlIGhlYWRwaG9uZSAqLwogCQlyZXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX0wpOwogCQlyZXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX1IpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJYnJlYWs7CiAJY2FzZSBDT1JHSV9MSU5FOgotCQlsaW5lID0gMTsKIAkJcmVzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9MKTsKIAkJcmVzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9SKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCWNhc2UgQ09SR0lfSEVBRFNFVDoKLQkJaHMgPSAxOwotCQltaWMgPSAxOwogCQlyZXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX0wpOwogCQlzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9SKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJYnJlYWs7CiAJfQogCiAJaWYgKGNvcmdpX3Nwa19mdW5jID09IENPUkdJX1NQS19PTikKLQkJc3BrID0gMTsKLQotCS8qIHNldCB0aGUgZW5wb2ludHMgdG8gdGhlaXIgbmV3IGNvbm5ldGlvbiBzdGF0ZXMgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiRXh0IFNwayIsIHNwayk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgbWljKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBKYWNrIiwgbGluZSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgaHApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IEphY2siLCBocyk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOworCWVsc2UKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOwogCiAJLyogc2lnbmFsIGEgREFQTSBldmVudCAqLwotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogfQogCiBzdGF0aWMgaW50IGNvcmdpX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCkBAIC0xMjMsOCArMTIzLDggQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJdW5zaWduZWQgaW50IGNsayA9IDA7CiAJaW50IHJldCA9IDA7CiAKQEAgLTE0MywyNSArMTQzLDI1IEBACiAJfQogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywgY2xrLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLCBjbGssCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBJMlMgc3lzdGVtIGNsb2NrIGFzIGlucHV0ICh1bnVzZWQpICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIFBYQTJYWF9JMlNfU1lTQ0xLLCAwLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMjQ3LDcgKzI0Nyw3IEBACiB9OwogCiAvKiBDb3JnaSBtYWNoaW5lIGF1ZGlvIG1hcCAoY29ubmVjdGlvbnMgdG8gdGhlIGNvZGVjIHBpbnMpICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAogCS8qIGhlYWRzZXQgSmFjayAgLSBpbiA9IG1pY2luLCBvdXQgPSBMSFBPVVQqLwogCXsiSGVhZHNldCBKYWNrIiwgTlVMTCwgIkxIUE9VVCJ9LApAQCAtMjY1LDggKzI2NSw2IEBACiAKIAkvKiBTYW1lIGFzIHRoZSBhYm92ZSBidXQgbm8gbWljIGJpYXMgZm9yIGxpbmUgc2lnbmFscyAqLwogCXsiTUlDSU4iLCBOVUxMLCAiTGluZSBKYWNrIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqamFja19mdW5jdGlvbltdID0geyJIZWFkcGhvbmUiLCAiTWljIiwgIkxpbmUiLCAiSGVhZHNldCIsCkBAIC0yOTEsOCArMjg5LDggQEAKIHsKIAlpbnQgaSwgZXJyOwogCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxMSU5FSU4iLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUkxJTkVJTiIsIDApOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxMSU5FSU4iKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJSTElORUlOIik7CiAKIAkvKiBBZGQgY29yZ2kgc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3MzFfY29yZ2lfY29udHJvbHMpOyBpKyspIHsKQEAgLTMwMywxNSArMzAxLDEzIEBACiAJfQogCiAJLyogQWRkIGNvcmdpIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3MzFfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3MzFfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3MzFfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3MzFfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBTZXQgdXAgY29yZ2kgc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXAgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9lbS14MjcwLmMgYi9zb3VuZC9zb2MvcHhhL2VtLXgyNzAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmRjYWMzCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL3B4YS9lbS14MjcwLmMKQEAgLTAsMCArMSwxMDIgQEAKKy8qCisgKiBlbS14MjcwLmMgIC0tICBTb0MgYXVkaW8gZm9yIEVNLVgyNzAKKyAqCisgKiBDb3B5cmlnaHQgMjAwNyBDb21wdUxhYiwgTHRkLgorICoKKyAqIEF1dGhvcjogTWlrZSBSYXBvcG9ydCA8bWlrZUBjb21wdWxhYi5jby5pbD4KKyAqCisgKiBDb3BpZWQgZnJvbSB0b3NhLmM6CisgKiBDb3B5cmlnaHQgMjAwNSBXb2xmc29uIE1pY3JvZWxlY3Ryb25pY3MgUExDLgorICogQ29weXJpZ2h0IDIwMDUgT3BlbmVkaGFuZCBMdGQuCisgKgorICogQXV0aG9yczogTGlhbSBHaXJkd29vZCA8bGlhbS5naXJkd29vZEB3b2xmc29ubWljcm8uY29tPgorICogICAgICAgICAgUmljaGFyZCBQdXJkaWUgPHJpY2hhcmRAb3BlbmVkaGFuZC5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSAgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgorICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorCisjaW5jbHVkZSA8c291bmQvZHJpdmVyLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdWRpby5oPgorCisjaW5jbHVkZSAiLi4vY29kZWNzL3dtOTcxMi5oIgorI2luY2x1ZGUgInB4YTJ4eC1wY20uaCIKKyNpbmNsdWRlICJweGEyeHgtYWM5Ny5oIgorCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgZW1feDI3MF9kYWlbXSA9IHsKKwl7CisJCS5uYW1lID0gIkFDOTciLAorCQkuc3RyZWFtX25hbWUgPSAiQUM5NyBIaUZpIiwKKwkJLmNwdV9kYWkgPSAmcHhhX2FjOTdfZGFpW1BYQTJYWF9EQUlfQUM5N19ISUZJXSwKKwkJLmNvZGVjX2RhaSA9ICZ3bTk3MTJfZGFpW1dNOTcxMl9EQUlfQUM5N19ISUZJXSwKKwl9LAorCXsKKwkJLm5hbWUgPSAiQUM5NyBBdXgiLAorCQkuc3RyZWFtX25hbWUgPSAiQUM5NyBBdXgiLAorCQkuY3B1X2RhaSA9ICZweGFfYWM5N19kYWlbUFhBMlhYX0RBSV9BQzk3X0FVWF0sCisJCS5jb2RlY19kYWkgPSAmd205NzEyX2RhaVtXTTk3MTJfREFJX0FDOTdfQVVYXSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX21hY2hpbmUgZW1feDI3MCA9IHsKKwkubmFtZSA9ICJFTS1YMjcwIiwKKwkuZGFpX2xpbmsgPSBlbV94MjcwX2RhaSwKKwkubnVtX2xpbmtzID0gQVJSQVlfU0laRShlbV94MjcwX2RhaSksCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGV2aWNlIGVtX3gyNzBfc25kX2RldmRhdGEgPSB7CisJLm1hY2hpbmUgPSAmZW1feDI3MCwKKwkucGxhdGZvcm0gPSAmcHhhMnh4X3NvY19wbGF0Zm9ybSwKKwkuY29kZWNfZGV2ID0gJnNvY19jb2RlY19kZXZfd205NzEyLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmVtX3gyNzBfc25kX2RldmljZTsKKworc3RhdGljIGludCBfX2luaXQgZW1feDI3MF9pbml0KHZvaWQpCit7CisJaW50IHJldDsKKworCWlmICghbWFjaGluZV9pc19lbV94MjcwKCkpCisJCXJldHVybiAtRU5PREVWOworCisJZW1feDI3MF9zbmRfZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzb2MtYXVkaW8iLCAtMSk7CisJaWYgKCFlbV94MjcwX3NuZF9kZXZpY2UpCisJCXJldHVybiAtRU5PTUVNOworCisJcGxhdGZvcm1fc2V0X2RydmRhdGEoZW1feDI3MF9zbmRfZGV2aWNlLCAmZW1feDI3MF9zbmRfZGV2ZGF0YSk7CisJZW1feDI3MF9zbmRfZGV2ZGF0YS5kZXYgPSAmZW1feDI3MF9zbmRfZGV2aWNlLT5kZXY7CisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChlbV94MjcwX3NuZF9kZXZpY2UpOworCisJaWYgKHJldCkKKwkJcGxhdGZvcm1fZGV2aWNlX3B1dChlbV94MjcwX3NuZF9kZXZpY2UpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGVtX3gyNzBfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKGVtX3gyNzBfc25kX2RldmljZSk7Cit9CisKK21vZHVsZV9pbml0KGVtX3gyNzBfaW5pdCk7Cittb2R1bGVfZXhpdChlbV94MjcwX2V4aXQpOworCisvKiBNb2R1bGUgaW5mb3JtYXRpb24gKi8KK01PRFVMRV9BVVRIT1IoIk1pa2UgUmFwb3BvcnQiKTsKK01PRFVMRV9ERVNDUklQVElPTigiQUxTQSBTb0MgRU0tWDI3MCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9wb29kbGUuYyBiL3NvdW5kL3NvYy9weGEvcG9vZGxlLmMKaW5kZXggN2U4MzBiMi4uNjVhNGU5YSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9wb29kbGUuYworKysgYi9zb3VuZC9zb2MvcHhhL3Bvb2RsZS5jCkBAIC00OCw4ICs0OCw2IEBACiAKIHN0YXRpYyB2b2lkIHBvb2RsZV9leHRfY29udHJvbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IHNwayA9IDA7Ci0KIAkvKiBzZXQgdXAgamFjayBjb25uZWN0aW9uICovCiAJaWYgKHBvb2RsZV9qYWNrX2Z1bmMgPT0gUE9PRExFX0hQKSB7CiAJCS8qIHNldCA9IHVubXV0ZSBoZWFkcGhvbmUgKi8KQEAgLTU3LDIzICs1NSwyMyBAQAogCQkJUE9PRExFX0xPQ09NT19HUElPX01VVEVfTCwgMSk7CiAJCWxvY29tb19ncGlvX3dyaXRlKCZwb29kbGVfbG9jb21vX2RldmljZS5kZXYsCiAJCQlQT09ETEVfTE9DT01PX0dQSU9fTVVURV9SLCAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKIAl9IGVsc2UgewogCQlsb2NvbW9fZ3Bpb193cml0ZSgmcG9vZGxlX2xvY29tb19kZXZpY2UuZGV2LAogCQkJUE9PRExFX0xPQ09NT19HUElPX01VVEVfTCwgMCk7CiAJCWxvY29tb19ncGlvX3dyaXRlKCZwb29kbGVfbG9jb21vX2RldmljZS5kZXYsCiAJCQlQT09ETEVfTE9DT01PX0dQSU9fTVVURV9SLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CiAJfQogCi0JaWYgKHBvb2RsZV9zcGtfZnVuYyA9PSBQT09ETEVfU1BLX09OKQotCQlzcGsgPSAxOwotCiAJLyogc2V0IHRoZSBlbnBvaW50cyB0byB0aGVpciBuZXcgY29ubmV0aW9uIHN0YXRlcyAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgc3BrKTsKKwlpZiAocG9vZGxlX3Nwa19mdW5jID09IFBPT0RMRV9TUEtfT04pCisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOworCWVsc2UKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOwogCiAJLyogc2lnbmFsIGEgREFQTSBldmVudCAqLwotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogfQogCiBzdGF0aWMgaW50IHBvb2RsZV9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQpAQCAtMTA0LDggKzEwMiw4IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXVuc2lnbmVkIGludCBjbGsgPSAwOwogCWludCByZXQgPSAwOwogCkBAIC0xMjQsMjUgKzEyMiwyNSBAQAogCX0KIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIGNvZGVjIHN5c3RlbSBjbG9jayBmb3IgREFDIGFuZCBBREMgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODczMV9TWVNDTEssIGNsaywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywgY2xrLAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgSTJTIHN5c3RlbSBjbG9jayBhcyBpbnB1dCAodW51c2VkKSAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X3N5c2NsayhjcHVfZGFpLCBQWEEyWFhfSTJTX1NZU0NMSywgMCwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNwdV9kYWksIFBYQTJYWF9JMlNfU1lTQ0xLLCAwLAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTIxNSw4ICsyMTMsOCBAQAogU05EX1NPQ19EQVBNX1NQSygiRXh0IFNwayIsIHBvb2RsZV9hbXBfZXZlbnQpLAogfTsKIAotLyogQ29yZ2kgbWFjaGluZSBhdWRpb19tYXBuZWN0aW9ucyB0byB0aGUgY29kZWMgcGlucyAqLwotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworLyogQ29yZ2kgbWFjaGluZSBjb25uZWN0aW9ucyB0byB0aGUgY29kZWMgcGlucyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAKIAkvKiBoZWFkcGhvbmUgY29ubmVjdGVkIHRvIExIUE9VVDEsIFJIUE9VVDEgKi8KIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkxIUE9VVCJ9LApAQCAtMjI1LDggKzIyMyw2IEBACiAJLyogc3BlYWtlciBjb25uZWN0ZWQgdG8gTE9VVCwgUk9VVCAqLwogCXsiRXh0IFNwayIsIE5VTEwsICJST1VUIn0sCiAJeyJFeHQgU3BrIiwgTlVMTCwgIkxPVVQifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpqYWNrX2Z1bmN0aW9uW10gPSB7Ik9mZiIsICJIZWFkcGhvbmUifTsKQEAgLTI1MCw5ICsyNDYsOSBAQAogewogCWludCBpLCBlcnI7CiAKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTExJTkVJTiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSTElORUlOIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1JQ0lOIiwgMSk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTExJTkVJTiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJMSU5FSU4iKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIk1JQ0lOIik7CiAKIAkvKiBBZGQgcG9vZGxlIHNwZWNpZmljIGNvbnRyb2xzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzMxX3Bvb2RsZV9jb250cm9scyk7IGkrKykgewpAQCAtMjYzLDE1ICsyNTksMTMgQEAKIAl9CiAKIAkvKiBBZGQgcG9vZGxlIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3MzFfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3MzFfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3MzFfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3MzFfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBTZXQgdXAgcG9vZGxlIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuYyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuYwppbmRleCA5N2VjMmQ5Li4wNTlhZjgxIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmMKKysrIGIvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5jCkBAIC0yODMsNyArMjgzLDcgQEAKIAogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludCBweGEyeHhfYWM5N19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCUdDUiB8PSBHQ1JfQUNMSU5LX09GRjsKIAljbGtfZGlzYWJsZShhYzk3X2Nsayk7CkBAIC0yOTEsNyArMjkxLDcgQEAKIH0KIAogc3RhdGljIGludCBweGEyeHhfYWM5N19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJcHhhX2dwaW9fbW9kZShHUElPMzFfU1lOQ19BQzk3X01EKTsKIAlweGFfZ3Bpb19tb2RlKEdQSU8zMF9TREFUQV9PVVRfQUM5N19NRCk7CkBAIC0zMTAsNyArMzEwLDggQEAKICNkZWZpbmUgcHhhMnh4X2FjOTdfcmVzdW1lCU5VTEwKICNlbmRpZgogCi1zdGF0aWMgaW50IHB4YTJ4eF9hYzk3X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IHB4YTJ4eF9hYzk3X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCWludCByZXQ7CiAKQEAgLTM1NSw3ICszNTYsOCBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHB4YTJ4eF9hYzk3X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIHZvaWQgcHhhMnh4X2FjOTdfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJR0NSIHw9IEdDUl9BQ0xJTktfT0ZGOwogCWZyZWVfaXJxKElSUV9BQzk3LCBOVUxMKTsKQEAgLTM3Miw3ICszNzQsNyBAQAogCQkJCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJY3B1X2RhaS0+ZG1hX2RhdGEgPSAmcHhhMnh4X2FjOTdfcGNtX3N0ZXJlb19vdXQ7CkBAIC0zODYsNyArMzg4LDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCWNwdV9kYWktPmRtYV9kYXRhID0gJnB4YTJ4eF9hYzk3X3BjbV9hdXhfbW9ub19vdXQ7CkBAIC00MDAsNyArNDAyLDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCXJldHVybiAtRU5PREVWOwpAQCAtNDE4LDcgKzQyMCw3IEBACiAgKiBUaGVyZSBpcyBvbmx5IDEgcGh5c2ljYWwgQUM5NyBpbnRlcmZhY2UgZm9yIHB4YTJ4eCwgYnV0IGl0CiAgKiBoYXMgZXh0cmEgZmlmbydzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGF1eCBEQUNzIGFuZCBBRENzLgogICovCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHB4YV9hYzk3X2RhaVtdID0geworc3RydWN0IHNuZF9zb2NfZGFpIHB4YV9hYzk3X2RhaVtdID0gewogewogCS5uYW1lID0gInB4YTJ4eC1hYzk3IiwKIAkuaWQgPSAwLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5oIGIvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5oCmluZGV4IGI4Y2NmZWUuLmUzOTBkZTggMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuaAorKysgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmgKQEAgLTE0LDcgKzE0LDcgQEAKICNkZWZpbmUgUFhBMlhYX0RBSV9BQzk3X0FVWAkJMQogI2RlZmluZSBQWEEyWFhfREFJX0FDOTdfTUlDCQkyCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHB4YV9hYzk3X2RhaVszXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgcHhhX2FjOTdfZGFpWzNdOwogCiAvKiBwbGF0Zm9ybSBkYXRhICovCiBleHRlcm4gc3RydWN0IHNuZF9hYzk3X2J1c19vcHMgcHhhMnh4X2FjOTdfb3BzOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9weGEyeHgtaTJzLmMgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuYwppbmRleCA0MjUwNzEwLi44Zjk2ZDg3IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuYworKysgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuYwpAQCAtOSwxNSArOSwxMyBAQAogICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDEydGggQXVnIDIwMDUgICBJbml0aWFsIHZlcnNpb24uCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KICNpbmNsdWRlIDxzb3VuZC9wY20uaD4KICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CkBAIC00MCw2ICszOCw3IEBACiAJdTMyIGZtdDsKIH07CiBzdGF0aWMgc3RydWN0IHB4YV9pMnNfcG9ydCBweGFfaTJzOworc3RhdGljIHN0cnVjdCBjbGsgKmNsa19pMnM7CiAKIHN0YXRpYyBzdHJ1Y3QgcHhhMnh4X3BjbV9kbWFfcGFyYW1zIHB4YTJ4eF9pMnNfcGNtX3N0ZXJlb19vdXQgPSB7CiAJLm5hbWUJCQk9ICJJMlMgUENNIFN0ZXJlbyBvdXQiLApAQCAtODAsNyArNzksMTEgQEAKIHN0YXRpYyBpbnQgcHhhMnh4X2kyc19zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisKKwljbGtfaTJzID0gY2xrX2dldChOVUxMLCAiSTJTQ0xLIik7CisJaWYgKElTX0VSUihjbGtfaTJzKSkKKwkJcmV0dXJuIFBUUl9FUlIoY2xrX2kycyk7CiAKIAlpZiAoIWNwdV9kYWktPmFjdGl2ZSkgewogCQlTQUNSMCB8PSBTQUNSMF9SU1Q7CkBAIC0xMDEsNyArMTA0LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBweGEyeHhfaTJzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHB4YTJ4eF9pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCS8qIGludGVyZmFjZSBmb3JtYXQgKi8KQEAgLTEyNyw3ICsxMzAsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHB4YTJ4eF9pMnNfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgcHhhMnh4X2kyc19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCWlmIChjbGtfaWQgIT0gUFhBMlhYX0kyU19TWVNDTEspCkBAIC0xNDMsMTMgKzE0NiwxMyBAQAogCQkJCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlweGFfZ3Bpb19tb2RlKGdwaW9fYnVzW3B4YV9pMnMubWFzdGVyXS5yeCk7CiAJcHhhX2dwaW9fbW9kZShncGlvX2J1c1tweGFfaTJzLm1hc3Rlcl0udHgpOwogCXB4YV9ncGlvX21vZGUoZ3Bpb19idXNbcHhhX2kycy5tYXN0ZXJdLmZybSk7CiAJcHhhX2dwaW9fbW9kZShncGlvX2J1c1tweGFfaTJzLm1hc3Rlcl0uY2xrKTsKLQlweGFfc2V0X2NrZW4oQ0tFTl9JMlMsIDEpOworCWNsa19lbmFibGUoY2xrX2kycyk7CiAJcHhhX2kyc193YWl0KCk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKQEAgLTIzNCwxMyArMjM3LDE1IEBACiAJaWYgKFNBQ1IxICYgKFNBQ1IxX0RSRUMgfCBTQUNSMV9EUlBMKSkgewogCQlTQUNSMCAmPSB+U0FDUjBfRU5COwogCQlweGFfaTJzX3dhaXQoKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fSTJTLCAwKTsKKwkJY2xrX2Rpc2FibGUoY2xrX2kycyk7CiAJfQorCisJY2xrX3B1dChjbGtfaTJzKTsKIH0KIAogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludCBweGEyeHhfaTJzX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlpZiAoIWRhaS0+YWN0aXZlKQogCQlyZXR1cm4gMDsKQEAgLTI1OCw3ICsyNjMsNyBAQAogfQogCiBzdGF0aWMgaW50IHB4YTJ4eF9pMnNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCWlmICghZGFpLT5hY3RpdmUpCiAJCXJldHVybiAwOwpAQCAtMjgzLDcgKzI4OCw3IEBACiAJCVNORFJWX1BDTV9SQVRFXzE2MDAwIHwgU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8IFwKIAkJU05EUlZfUENNX1JBVEVfNDgwMDAgfCBTTkRSVl9QQ01fUkFURV85NjAwMCkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBweGFfaTJzX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBweGFfaTJzX2RhaSA9IHsKIAkubmFtZSA9ICJweGEyeHgtaTJzIiwKIAkuaWQgPSAwLAogCS50eXBlID0gU05EX1NPQ19EQUlfSTJTLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9weGEyeHgtaTJzLmggYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuaAppbmRleCA0NDM1YmQ5Li5lMmRlZjQ0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuaAorKysgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuaApAQCAtMTUsNiArMTUsNiBAQAogLyogSTJTIGNsb2NrICovCiAjZGVmaW5lIFBYQTJYWF9JMlNfU1lTQ0xLCQkwCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHB4YV9pMnNfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBweGFfaTJzX2RhaTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1wY20uYyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LXBjbS5jCmluZGV4IDAxYWQ3YmYuLjJkZjAzZWUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LXBjbS5jCisrKyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LXBjbS5jCkBAIC0zMzAsNyArMzMwLDcgQEAKIAogc3RhdGljIHU2NCBweGEyeHhfcGNtX2RtYW1hc2sgPSBETUFfMzJCSVRfTUFTSzsKIAotaW50IHB4YTJ4eF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksCitpbnQgcHhhMnh4X3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAlzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCWludCByZXQgPSAwOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9zcGl0ei5jIGIvc291bmQvc29jL3B4YS9zcGl0ei5jCmluZGV4IGQ4YjgzNzIuLjY0Mzg1NzkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvc3BpdHouYworKysgYi9zb3VuZC9zb2MvcHhhL3NwaXR6LmMKQEAgLTEyLDkgKzEyLDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAzMHRoIE5vdiAyMDA1ICAgSW5pdGlhbCB2ZXJzaW9uLgotICoKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC01NCw2MCArNTEsNjAgQEAKIHN0YXRpYyB2b2lkIHNwaXR6X2V4dF9jb250cm9sKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKIAlpZiAoc3BpdHpfc3BrX2Z1bmMgPT0gU1BJVFpfU1BLX09OKQotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiRXh0IFNwayIsIDEpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKIAllbHNlCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKIAogCS8qIHNldCB1cCBqYWNrIGNvbm5lY3Rpb24gKi8KIAlzd2l0Y2ggKHNwaXR6X2phY2tfZnVuYykgewogCWNhc2UgU1BJVFpfSFA6CiAJCS8qIGVuYWJsZSBhbmQgdW5tdXRlIGhwIGphY2ssIGRpc2FibGUgbWljIGJpYXMgKi8KLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAxKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CiAJCXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX0wpOwogCQlzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9SKTsKIAkJYnJlYWs7CiAJY2FzZSBTUElUWl9NSUM6CiAJCS8qIGVuYWJsZSBtaWMgamFjayBhbmQgYmlhcywgbXV0ZSBocCAqLwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIDEpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9MKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9SKTsKIAkJYnJlYWs7CiAJY2FzZSBTUElUWl9MSU5FOgogCQkvKiBlbmFibGUgbGluZSBqYWNrLCBkaXNhYmxlIG1pYyBiaWFzIGFuZCBtdXRlIGhwICovCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBKYWNrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX0wpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX1IpOwogCQlicmVhazsKIAljYXNlIFNQSVRaX0hFQURTRVQ6CiAJCS8qIGVuYWJsZSBhbmQgdW5tdXRlIGhlYWRzZXQgamFjayBlbmFibGUgbWljIGJpYXMsIG11dGUgTCBocCAqLwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIDEpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX0wpOwogCQlzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9SKTsKIAkJYnJlYWs7CiAJY2FzZSBTUElUWl9IUF9PRkY6CiAKIAkJLyogamFjayByZW1vdmVkLCBldmVyeXRoaW5nIG9mZiAqLwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSmFjayIsIDApOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfTCk7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfUik7CiAJCWJyZWFrOwogCX0KLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIH0KIAogc3RhdGljIGludCBzcGl0el9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQpAQCAtMTI0LDggKzEyMSw4IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXVuc2lnbmVkIGludCBjbGsgPSAwOwogCWludCByZXQgPSAwOwogCkBAIC0xNDQsMjUgKzE0MSwyNSBAQAogCX0KIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIGNvZGVjIHN5c3RlbSBjbG9jayBmb3IgREFDIGFuZCBBREMgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODc1MF9TWVNDTEssIGNsaywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUwX1NZU0NMSywgY2xrLAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgSTJTIHN5c3RlbSBjbG9jayBhcyBpbnB1dCAodW51c2VkKSAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X3N5c2NsayhjcHVfZGFpLCBQWEEyWFhfSTJTX1NZU0NMSywgMCwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNwdV9kYWksIFBYQTJYWF9JMlNfU1lTQ0xLLCAwLAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTI1MCw3ICsyNDcsNyBAQAogfTsKIAogLyogU3BpdHogbWFjaGluZSBhdWRpb19tYXAgKi8KLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCiAJLyogaGVhZHBob25lIGNvbm5lY3RlZCB0byBMT1VUMSwgUk9VVDEgKi8KIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkxPVVQxIn0sCkBAIC0yNjksOCArMjY2LDYgQEAKIAogCS8qIGxpbmUgaXMgY29ubmVjdGVkIHRvIGlucHV0IDEgLSBubyBiaWFzICovCiAJeyJMSU5QVVQxIiwgTlVMTCwgIkxpbmUgSmFjayJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmphY2tfZnVuY3Rpb25bXSA9IHsiSGVhZHBob25lIiwgIk1pYyIsICJMaW5lIiwgIkhlYWRzZXQiLApAQCAtMjk2LDEzICsyOTEsMTMgQEAKIAlpbnQgaSwgZXJyOwogCiAJLyogTkMgY29kZWMgcGlucyAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSSU5QVVQxIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxJTlBVVDIiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUklOUFVUMiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMSU5QVVQzIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJJTlBVVDMiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiT1VUMyIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNT05PIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUklOUFVUMSIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxJTlBVVDIiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJSSU5QVVQyIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTElOUFVUMyIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJJTlBVVDMiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJPVVQzIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTU9OTyIpOwogCiAJLyogQWRkIHNwaXR6IHNwZWNpZmljIGNvbnRyb2xzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzUwX3NwaXR6X2NvbnRyb2xzKTsgaSsrKSB7CkBAIC0zMTMsMTUgKzMwOCwxMyBAQAogCX0KIAogCS8qIEFkZCBzcGl0eiBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzUwX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzUwX2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzUwX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzUwX2RhcG1fd2lkZ2V0cykpOwogCi0JLyogU2V0IHVwIHNwaXR6IHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKKwkvKiBTZXQgdXAgc3BpdHogc3BlY2lmaWMgYXVkaW8gcGF0aHMgKi8KKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvdG9zYS5jIGIvc291bmQvc29jL3B4YS90b3NhLmMKaW5kZXggNzM0NmQ3ZS4uYjZlZGI2MSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS90b3NhLmMKKysrIGIvc291bmQvc29jL3B4YS90b3NhLmMKQEAgLTEyLDkgKzEyLDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAzMHRoIE5vdiAyMDA1ICAgSW5pdGlhbCB2ZXJzaW9uLgotICoKICAqIEdQSU8ncwogICogIDEgLSBKYWNrIEluc2VydGlvbgogICogIDUgLSBIb29rc3dpdGNoIChoZWFkc2V0IGFuc3dlci9oYW5nIHVwIHN3aXRjaCkKQEAgLTU1LDI5ICs1MiwzMSBAQAogCiBzdGF0aWMgdm9pZCB0b3NhX2V4dF9jb250cm9sKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgc3BrID0gMCwgbWljX2ludCA9IDAsIGhwID0gMCwgaHMgPSAwOwotCiAJLyogc2V0IHVwIGphY2sgY29ubmVjdGlvbiAqLwogCXN3aXRjaCAodG9zYV9qYWNrX2Z1bmMpIHsKIAljYXNlIFRPU0FfSFA6Ci0JCWhwID0gMTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIChJbnRlcm5hbCkiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJYnJlYWs7CiAJY2FzZSBUT1NBX01JQ19JTlQ6Ci0JCW1pY19pbnQgPSAxOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIk1pYyAoSW50ZXJuYWwpIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAljYXNlIFRPU0FfSEVBRFNFVDoKLQkJaHMgPSAxOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgKEludGVybmFsKSIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAl9CiAKIAlpZiAodG9zYV9zcGtfZnVuYyA9PSBUT1NBX1NQS19PTikKLQkJc3BrID0gMTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJTcGVha2VyIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJTcGVha2VyIik7CiAKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiU3BlYWtlciIsIHNwayk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyAoSW50ZXJuYWwpIiwgbWljX2ludCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgaHApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IEphY2siLCBocyk7Ci0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiB9CiAKIHN0YXRpYyBpbnQgdG9zYV9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQpAQCAtMTU0LDcgKzE1Myw3IEBACiB9OwogCiAvKiB0b3NhIGF1ZGlvIG1hcCAqLwotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAKIAkvKiBoZWFkcGhvbmUgY29ubmVjdGVkIHRvIEhQT1VUTCwgSFBPVVRSICovCiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJIUE9VVEwifSwKQEAgLTE3Myw4ICsxNzIsNiBAQAogCXsiSGVhZHNldCBKYWNrIiwgTlVMTCwgIkhQT1VUUiJ9LAogCXsiTElORUlOUiIsIE5VTEwsICJNaWMgQmlhcyJ9LAogCXsiTWljIEJpYXMiLCBOVUxMLCAiSGVhZHNldCBKYWNrIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqamFja19mdW5jdGlvbltdID0geyJIZWFkcGhvbmUiLCAiTWljIiwgIkxpbmUiLCAiSGVhZHNldCIsCkBAIC0xOTYsOCArMTkzLDggQEAKIHsKIAlpbnQgaSwgZXJyOwogCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk9VVDMiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTU9OT09VVCIsIDApOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk9VVDMiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNT05PT1VUIik7CiAKIAkvKiBhZGQgdG9zYSBzcGVjaWZpYyBjb250cm9scyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRvc2FfY29udHJvbHMpOyBpKyspIHsKQEAgLTIwOCwxNyArMjA1LDEzIEBACiAJfQogCiAJLyogYWRkIHRvc2Egc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRvc2FfZGFwbV93aWRnZXRzKTsgaSsrKSB7Ci0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJnRvc2FfZGFwbV93aWRnZXRzW2ldKTsKLQl9CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgdG9zYV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHRvc2FfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBzZXQgdXAgdG9zYSBzcGVjaWZpYyBhdWRpbyBwYXRoIGF1ZGlvX21hcCAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKLQl9CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9LY29uZmlnIGIvc291bmQvc29jL3MzYzI0eHgvS2NvbmZpZwppbmRleCAxZjZkYmZjLi5iOWYyMzUzIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L0tjb25maWcKQEAgLTEsNyArMSw2IEBACiBjb25maWcgU05EX1MzQzI0WFhfU09DCiAJdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgdGhlIFNhbXN1bmcgUzNDMjRYWCBjaGlwcyIKLQlkZXBlbmRzIG9uIEFSQ0hfUzNDMjQxMCAmJiBTTkRfU09DCi0Jc2VsZWN0IFNORF9QQ00KKwlkZXBlbmRzIG9uIEFSQ0hfUzNDMjQxMAogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0bwogCSAgdGhlIFMzQzI0WFggQUM5NywgSTJTIG9yIFNTUCBpbnRlcmZhY2UuIFlvdSB3aWxsIGFsc28gbmVlZApAQCAtMTYsNyArMTUsNiBAQAogY29uZmlnIFNORF9TM0MyNDQzX1NPQ19BQzk3CiAJdHJpc3RhdGUKIAlzZWxlY3QgQUM5N19CVVMKLQlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX1NPQ19BQzk3X0JVUwogCQogY29uZmlnIFNORF9TM0MyNFhYX1NPQ19ORU8xOTczX1dNODc1MwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvbmVvMTk3M193bTg3NTMuYyBiL3NvdW5kL3NvYy9zM2MyNHh4L25lbzE5NzNfd204NzUzLmMKaW5kZXggMGU5ZDFjNS4uNGQ3YTlhYSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvbmVvMTk3M193bTg3NTMuYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9uZW8xOTczX3dtODc1My5jCkBAIC0xMCwxMCArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDIwdGggSmFuIDIwMDcgICBJbml0aWFsIHZlcnNpb24uCi0gKiAgICAwNXRoIEZlYiAyMDA3ICAgUmVuYW1lIGFsbCB0byBOZW8xOTczCi0gKgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTI2LDYgKzIyLDcgQEAKICNpbmNsdWRlIDxzb3VuZC9wY20uaD4KICNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KICNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgPHNvdW5kL3Rsdi5oPgogCiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUvc2Nvb3AuaD4KQEAgLTQzLDYgKzQwLDE0IEBACiAjaW5jbHVkZSAiczNjMjR4eC1wY20uaCIKICNpbmNsdWRlICJzM2MyNHh4LWkycy5oIgogCisvKiBEZWJ1Z2dpbmcgc3R1ZmYgKi8KKyNkZWZpbmUgUzNDMjRYWF9TT0NfTkVPMTk3M19XTTg3NTNfREVCVUcgMAorI2lmIFMzQzI0WFhfU09DX05FTzE5NzNfV004NzUzX0RFQlVHCisjZGVmaW5lIERCRyh4Li4uKSBwcmludGsoS0VSTl9ERUJVRyAiczNjMjR4eC1zb2MtbmVvMTk3My13bTg3NTM6ICIgeCkKKyNlbHNlCisjZGVmaW5lIERCRyh4Li4uKQorI2VuZGlmCisKIC8qIGRlZmluZSB0aGUgc2NlbmFyaW9zICovCiAjZGVmaW5lIE5FT19BVURJT19PRkYJCQkwCiAjZGVmaW5lIE5FT19HU01fQ0FMTF9BVURJT19IQU5EU0VUCTEKQEAgLTYxLDEyICs2NiwxNCBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAl1bnNpZ25lZCBpbnQgcGxsX291dCA9IDAsIGJjbGsgPSAwOwogCWludCByZXQgPSAwOwogCXVuc2lnbmVkIGxvbmcgaWlzX2Nsa3JhdGU7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlpc19jbGtyYXRlID0gczNjMjR4eF9pMnNfZ2V0X2Nsb2NrcmF0ZSgpOwogCiAJc3dpdGNoIChwYXJhbXNfcmF0ZShwYXJhbXMpKSB7CkBAIC0xMDEsNDQgKzEwOCw0NCBAQAogCX0KIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwKIAkJU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAogCQlTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksCiAJCVNORF9TT0NfREFJRk1UX0kyUyB8IFNORF9TT0NfREFJRk1UX05CX05GIHwKIAkJU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIGNvZGVjIHN5c3RlbSBjbG9jayBmb3IgREFDIGFuZCBBREMgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODc1M19NQ0xLLCBwbGxfb3V0LAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3NTNfTUNMSywgcGxsX291dCwKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgTUNMSyBkaXZpc2lvbiBmb3Igc2FtcGxlIHJhdGUgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY3B1X2RhaSwgUzNDMjRYWF9ESVZfTUNMSywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksIFMzQzI0WFhfRElWX01DTEssCiAJCVMzQzI0MTBfSUlTTU9EXzMyRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNvZGVjIEJDTEsgZGl2aXNpb24gZm9yIHNhbXBsZSByYXRlICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg3NTNfQkNMS0RJViwgYmNsayk7CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2Rpdihjb2RlY19kYWksIFdNODc1M19CQ0xLRElWLCBiY2xrKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBwcmVzY2FsZXIgZGl2aXNpb24gZm9yIHNhbXBsZSByYXRlICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNwdV9kYWksIFMzQzI0WFhfRElWX1BSRVNDQUxFUiwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksIFMzQzI0WFhfRElWX1BSRVNDQUxFUiwKIAkJUzNDMjRYWF9QUkVTQ0FMRSg0LCA0KSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBjb2RlYyBQTEwgaW5wdXQgaXMgUENMSy80ICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMSwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfcGxsKGNvZGVjX2RhaSwgV004NzUzX1BMTDEsCiAJCWlpc19jbGtyYXRlIC8gNCwgcGxsX291dCk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0xNDksMTAgKzE1NiwxMiBAQAogc3RhdGljIGludCBuZW8xOTczX2hpZmlfaHdfZnJlZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCiAJLyogZGlzYWJsZSB0aGUgUExMICovCi0JcmV0dXJuIGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfcGxsKGNvZGVjX2RhaSwgV004NzUzX1BMTDEsIDAsIDApOworCXJldHVybiBzbmRfc29jX2RhaV9zZXRfcGxsKGNvZGVjX2RhaSwgV004NzUzX1BMTDEsIDAsIDApOwogfQogCiAvKgpAQCAtMTY3LDExICsxNzYsMTMgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKIAl1bnNpZ25lZCBpbnQgcGNtZGl2ID0gMDsKIAlpbnQgcmV0ID0gMDsKIAl1bnNpZ25lZCBsb25nIGlpc19jbGtyYXRlOwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpaXNfY2xrcmF0ZSA9IHMzYzI0eHhfaTJzX2dldF9jbG9ja3JhdGUoKTsKIAogCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpICE9IDgwMDApCkBAIC0xODMsMjQgKzE5NCwyNCBAQAogCiAJLyogdG9kbzogZ2cgY2hlY2sgbW9kZSAoRFNQX0IpIGFnYWluc3QgQ1NSIGRhdGFzaGVldCAqLwogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfRFNQX0IgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9EU1BfQiB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIGNvZGVjIHN5c3RlbSBjbG9jayBmb3IgREFDIGFuZCBBREMgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODc1M19QQ01DTEssIDEyMjg4MDAwLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3NTNfUENNQ0xLLCAxMjI4ODAwMCwKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY29kZWMgUENNIGRpdmlzaW9uIGZvciBzYW1wbGUgcmF0ZSAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNvZGVjX2RhaSwgV004NzUzX1BDTURJViwgcGNtZGl2KTsKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNvZGVjX2RhaSwgV004NzUzX1BDTURJViwgcGNtZGl2KTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIGNvbmZpZ3VlIGFuZCBlbmFibGUgUExMIGZvciAxMi4yODhNSHogb3V0cHV0ICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMiwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfcGxsKGNvZGVjX2RhaSwgV004NzUzX1BMTDIsCiAJCWlpc19jbGtyYXRlIC8gNCwgMTIyODgwMDApOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMjExLDEwICsyMjIsMTIgQEAKIHN0YXRpYyBpbnQgbmVvMTk3M192b2ljZV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKIAkvKiBkaXNhYmxlIHRoZSBQTEwgKi8KLQlyZXR1cm4gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMiwgMCwgMCk7CisJcmV0dXJuIHNuZF9zb2NfZGFpX3NldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMiwgMCwgMCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgc25kX3NvY19vcHMgbmVvMTk3M192b2ljZV9vcHMgPSB7CkBAIC0yMzMsNzkgKzI0Niw4MSBAQAogCiBzdGF0aWMgaW50IHNldF9zY2VuYXJpb19lbmRwb2ludHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgc2NlbmFyaW8pCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlzd2l0Y2ggKG5lbzE5NzNfc2NlbmFyaW8pIHsKIAljYXNlIE5FT19BVURJT19PRkY6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDApOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX0dTTV9DQUxMX0FVRElPX0hBTkRTRVQ6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDEpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fR1NNX0NBTExfQVVESU9fSEVBRFNFVDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19HU01fQ0FMTF9BVURJT19CTFVFVE9PVEg6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDApOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19TVEVSRU9fVE9fU1BFQUtFUlM6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDApOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fU1RFUkVPX1RPX0hFQURQSE9ORVM6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDApOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fQ0FQVFVSRV9IQU5EU0VUOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAxKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX0NBUFRVUkVfSEVBRFNFVDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19DQVBUVVJFX0JMVUVUT09USDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAl9CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAogCXJldHVybiAwOwogfQpAQCAtMzE1LDYgKzMzMCw4IEBACiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpZiAobmVvMTk3M19zY2VuYXJpbyA9PSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSkKIAkJcmV0dXJuIDA7CiAKQEAgLTMyNyw2ICszNDQsOCBAQAogCiBzdGF0aWMgdm9pZCBsbTQ4NTdfd3JpdGVfcmVncyh2b2lkKQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWYgKGkyY19tYXN0ZXJfc2VuZChpMmMsIGxtNDg1N19yZWdzLCA0KSAhPSA0KQogCQlwcmludGsoS0VSTl9FUlIgImxtNDg1NzogaTJjIHdyaXRlIGZhaWxlZFxuIik7CiB9CkBAIC0zMzgsNiArMzU3LDggQEAKIAlpbnQgc2hpZnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gOCkgJiAweDBGOwogCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4RkY7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gKGxtNDg1N19yZWdzW3JlZ10gPj4gc2hpZnQpICYgbWFzazsKIAlyZXR1cm4gMDsKIH0KQEAgLTM2NCw2ICszODUsOCBAQAogewogCXU4IHZhbHVlID0gbG00ODU3X3JlZ3NbTE00ODU3X0NUUkxdICYgMHgwRjsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWYgKHZhbHVlKQogCQl2YWx1ZSAtPSA1OwogCkBAIC0zNzYsNiArMzk5LDggQEAKIHsKIAl1OCB2YWx1ZSA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpZiAodmFsdWUpCiAJCXZhbHVlICs9IDU7CiAKQEAgLTM5Nyw4ICs0MjIsNyBAQAogfTsKIAogCi0vKiBleGFtcGxlIG1hY2hpbmUgYXVkaW9fbWFwbmVjdGlvbnMgKi8KLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGRhcG1fcm91dGVzW10gPSB7CiAKIAkvKiBDb25uZWN0aW9ucyB0byB0aGUgbG00ODU3IGFtcCAqLwogCXsiQXVkaW8gT3V0IiwgTlVMTCwgIkxPVVQxIn0sCkBAIC00MjEsOCArNDQ1LDYgQEAKIAogCS8qIENvbm5lY3QgdGhlIEFMQyBwaW5zICovCiAJeyJBQ0lOIiwgTlVMTCwgIkFDT1AifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpsbTQ4NTdfbW9kZVtdID0gewpAQCAtNDUzLDEzICs0NzUsMTYgQEAKIAlTT0NfRU5VTV9TSU5HTEVfRVhUKEFSUkFZX1NJWkUobmVvX3NjZW5hcmlvcyksIG5lb19zY2VuYXJpb3MpLAogfTsKIAorc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKHN0ZXJlb190bHYsIC00MDUwLCAxNTAsIDApOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKG1vbm9fdGx2LCAtMzQ1MCwgMTUwLCAwKTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODc1M19uZW8xOTczX2NvbnRyb2xzW10gPSB7Ci0JU09DX1NJTkdMRV9FWFQoIkFtcCBMZWZ0IFBsYXliYWNrIFZvbHVtZSIsIExNNDg1N19MVk9MLCAwLCAzMSwgMCwKLQkJbG00ODU3X2dldF9yZWcsIGxtNDg1N19zZXRfcmVnKSwKLQlTT0NfU0lOR0xFX0VYVCgiQW1wIFJpZ2h0IFBsYXliYWNrIFZvbHVtZSIsIExNNDg1N19SVk9MLCAwLCAzMSwgMCwKLQkJbG00ODU3X2dldF9yZWcsIGxtNDg1N19zZXRfcmVnKSwKLQlTT0NfU0lOR0xFX0VYVCgiQW1wIE1vbm8gUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X01WT0wsIDAsIDMxLCAwLAotCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcpLAorCVNPQ19TSU5HTEVfRVhUX1RMVigiQW1wIExlZnQgUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X0xWT0wsIDAsIDMxLCAwLAorCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcsIHN0ZXJlb190bHYpLAorCVNPQ19TSU5HTEVfRVhUX1RMVigiQW1wIFJpZ2h0IFBsYXliYWNrIFZvbHVtZSIsIExNNDg1N19SVk9MLCAwLCAzMSwgMCwKKwkJbG00ODU3X2dldF9yZWcsIGxtNDg1N19zZXRfcmVnLCBzdGVyZW9fdGx2KSwKKwlTT0NfU0lOR0xFX0VYVF9UTFYoIkFtcCBNb25vIFBsYXliYWNrIFZvbHVtZSIsIExNNDg1N19NVk9MLCAwLCAzMSwgMCwKKwkJbG00ODU3X2dldF9yZWcsIGxtNDg1N19zZXRfcmVnLCBtb25vX3RsdiksCiAJU09DX0VOVU1fRVhUKCJBbXAgTW9kZSIsIGxtNDg1N19tb2RlX2VudW1bMF0sCiAJCWxtNDg1N19nZXRfbW9kZSwgbG00ODU3X3NldF9tb2RlKSwKIAlTT0NfRU5VTV9FWFQoIk5lbyBNb2RlIiwgbmVvX3NjZW5hcmlvX2VudW1bMF0sCkBAIC00ODMsMjEgKzUwOCwyMyBAQAogewogCWludCBpLCBlcnI7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCS8qIHNldCB1cCBOQyBjb2RlYyBwaW5zICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxPVVQyIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJPVVQyIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk9VVDMiLCAgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk9VVDQiLCAgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxJTkUxIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxJTkUyIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTE9VVDIiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJST1VUMiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk9VVDMiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJPVVQ0Iik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTElORTEiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMSU5FMiIpOwogCiAKIAkvKiBzZXQgZW5kcG9pbnRzIHRvIGRlZmF1bHQgbW9kZSAqLwogCXNldF9zY2VuYXJpb19lbmRwb2ludHMoY29kZWMsIE5FT19BVURJT19PRkYpOwogCiAJLyogQWRkIG5lbzE5NzMgc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODc1M19kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODc1M19kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODc1M19kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODc1M19kYXBtX3dpZGdldHMpKTsKIAogCS8qIGFkZCBuZW8xOTczIHNwZWNpZmljIGNvbnRyb2xzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzUzX25lbzE5NzNfY29udHJvbHMpOyBpKyspIHsKQEAgLTUwOCwyMCArNTM1LDE4IEBACiAJCQlyZXR1cm4gZXJyOwogCX0KIAotCS8qIHNldCB1cCBuZW8xOTczIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwbmVjdHMgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKSB7Ci0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7Ci0JfQorCS8qIHNldCB1cCBuZW8xOTczIHNwZWNpZmljIGF1ZGlvIHJvdXRlcyAqLworCWVyciA9IHNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBkYXBtX3JvdXRlcywKKwkJCQkgICAgICBBUlJBWV9TSVpFKGRhcG1fcm91dGVzKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIAogLyoKICAqIEJUIENvZGVjIERBSQogICovCi1zdGF0aWMgc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBidF9kYWkgPSB7CitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGFpIGJ0X2RhaSA9IHsKIAkubmFtZSA9ICJCbHVldG9vdGgiLAogCS5pZCA9IDAsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9QQ00sCkBAIC01ODMsNiArNjA4LDggQEAKIHsKIAlpbnQgcmV0OwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAljbGllbnRfdGVtcGxhdGUuYWRhcHRlciA9IGFkYXA7CiAJY2xpZW50X3RlbXBsYXRlLmFkZHIgPSBhZGRyOwogCkBAIC02MDYsNiArNjMzLDggQEAKIAogc3RhdGljIGludCBsbTQ4NTdfaTJjX2RldGFjaChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKIAlrZnJlZShjbGllbnQpOwogCXJldHVybiAwOwpAQCAtNjEzLDYgKzY0Miw4IEBACiAKIHN0YXRpYyBpbnQgbG00ODU3X2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJcmV0dXJuIGkyY19wcm9iZShhZGFwLCAmYWRkcl9kYXRhLCBsbTQ4NTdfYW1wX3Byb2JlKTsKIH0KIApAQCAtNjIwLDYgKzY1MSw4IEBACiAKIHN0YXRpYyBpbnQgbG00ODU3X3N1c3BlbmQoc3RydWN0IGkyY19jbGllbnQgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJZGV2X2RiZygmZGV2LT5kZXYsICJsbTQ4NTdfc3VzcGVuZFxuIik7CiAJbG00ODU3X3N0YXRlID0gbG00ODU3X3JlZ3NbTE00ODU3X0NUUkxdICYgMHhmOwogCWlmIChsbTQ4NTdfc3RhdGUpIHsKQEAgLTYzMSw2ICs2NjQsOCBAQAogCiBzdGF0aWMgaW50IGxtNDg1N19yZXN1bWUoc3RydWN0IGkyY19jbGllbnQgKmRldikKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlmIChsbTQ4NTdfc3RhdGUpIHsKIAkJbG00ODU3X3JlZ3NbTE00ODU3X0NUUkxdIHw9IChsbTQ4NTdfc3RhdGUgJiAweDBmKTsKIAkJbG00ODU3X3dyaXRlX3JlZ3MoKTsKQEAgLTY0MCw2ICs2NzUsOCBAQAogCiBzdGF0aWMgdm9pZCBsbTQ4NTdfc2h1dGRvd24oc3RydWN0IGkyY19jbGllbnQgKmRldikKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWRldl9kYmcoJmRldi0+ZGV2LCAibG00ODU3X3NodXRkb3duXG4iKTsKIAlsbTQ4NTdfcmVnc1tMTTQ4NTdfQ1RSTF0gJj0gMHhmMDsKIAlsbTQ4NTdfd3JpdGVfcmVncygpOwpAQCAtNjcxLDYgKzcwOCw4IEBACiB7CiAJaW50IHJldDsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJbmVvMTk3M19zbmRfZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzb2MtYXVkaW8iLCAtMSk7CiAJaWYgKCFuZW8xOTczX3NuZF9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtNjkxLDYgKzczMCw4IEBACiAKIHN0YXRpYyB2b2lkIF9fZXhpdCBuZW8xOTczX2V4aXQodm9pZCkKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWkyY19kZWxfZHJpdmVyKCZsbTQ4NTdfaTJjX2RyaXZlcik7CiAJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIobmVvMTk3M19zbmRfZGV2aWNlKTsKIH0KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmMgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5jCmluZGV4IGM0YTQ2ZGQuLmVlNDY3NmUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmMKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuYwpAQCAtMjk1LDcgKzI5NSw3IEBACiAvKgogICogU2V0IFMzQzI0MTIgSTJTIERBSSBmb3JtYXQKICAqLwotc3RhdGljIGludCBzM2MyNDEyX2kyc19zZXRfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHMzYzI0MTJfaTJzX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJICAgICAgIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJdTMyIGlpc21vZDsKQEAgLTUwMCw3ICs1MDAsNyBAQAogLyoKICAqIFNldCBTM0MyNDEyIENsb2NrIHNvdXJjZQogICovCi1zdGF0aWMgaW50IHMzYzI0MTJfaTJzX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjQxMl9pMnNfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkJICBpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAl1MzIgaWlzbW9kID0gcmVhZGwoczNjMjQxMl9pMnMucmVncyArIFMzQzI0MTJfSUlTTU9EKTsKQEAgLTUyOCw3ICs1MjgsNyBAQAogLyoKICAqIFNldCBTM0MyNDEyIENsb2NrIGRpdmlkZXJzCiAgKi8KLXN0YXRpYyBpbnQgczNjMjQxMl9pMnNfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNDEyX2kyc19zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCQkgIGludCBkaXZfaWQsIGludCBkaXYpCiB7CiAJc3RydWN0IHMzYzI0MTJfaTJzX2luZm8gKmkycyA9ICZzM2MyNDEyX2kyczsKQEAgLTYwMSw3ICs2MDEsOCBAQAogRVhQT1JUX1NZTUJPTF9HUEwoczNjMjQxMl9nZXRfaWlzY2xrKTsKIAogCi1zdGF0aWMgaW50IHMzYzI0MTJfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IHMzYzI0MTJfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCkBAIC02NDcsNyArNjQ4LDcgQEAKIAogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludCBzM2MyNDEyX2kyc19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwKLQkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXN0cnVjdCBzM2MyNDEyX2kyc19pbmZvICppMnMgPSAmczNjMjQxMl9pMnM7CiAJdTMyIGlpc21vZDsKQEAgLTY3NSw3ICs2NzYsNyBAQAogfQogCiBzdGF0aWMgaW50IHMzYzI0MTJfaTJzX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQkJICAgICAgc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJc3RydWN0IHMzYzI0MTJfaTJzX2luZm8gKmkycyA9ICZzM2MyNDEyX2kyczsKIApAQCAtNzA3LDcgKzcwOCw3IEBACiAJU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV8zMjAwMCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgXAogCVNORFJWX1BDTV9SQVRFXzQ4MDAwIHwgU05EUlZfUENNX1JBVEVfODgyMDAgfCBTTkRSVl9QQ01fUkFURV85NjAwMCkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNDEyX2kyc19kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjQxMl9pMnNfZGFpID0gewogCS5uYW1lCT0gInMzYzI0MTItaTJzIiwKIAkuaWQJPSAwLAogCS50eXBlCT0gU05EX1NPQ19EQUlfSTJTLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuaCBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmgKaW5kZXggMjdmNDhlMS4uYWFjMDhhMiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuaAorKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5oCkBAIC0yNCw3ICsyNCw3IEBACiAKIGV4dGVybiBzdHJ1Y3QgY2xrICpzM2MyNDEyX2dldF9paXNjbGsodm9pZCk7CiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHMzYzI0MTJfaTJzX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjQxMl9pMnNfZGFpOwogCiBzdHJ1Y3QgczNjMjQxMl9yYXRlX2NhbGMgewogCXVuc2lnbmVkIGludAljbGtfZGl2OwkvKiBmb3IgcHJlc2NhbGVyICovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDQzLWFjOTcuYyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0NDMtYWM5Ny5jCmluZGV4IGU4MWQ5YTYuLjc4MzM0OWIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0NDMtYWM5Ny5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0NDMtYWM5Ny5jCkBAIC0xMCw5ICsxMCw2IEBACiAgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwogICogIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKgkyMXN0IE1hciAyMDA3ICAgSW5pdGlhbCBWZXJzaW9uCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTIxMiw3ICsyMDksOCBAQAogCS5kbWFfc2l6ZQk9IDQsCiB9OwogCi1zdGF0aWMgaW50IHMzYzI0NDNfYWM5N19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBzM2MyNDQzX2FjOTdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCWludCByZXQ7CiAJdTMyIGFjX2dsYmN0cmw7CkBAIC0yNjMsNyArMjYxLDggQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBzM2MyNDQzX2FjOTdfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgdm9pZCBzM2MyNDQzX2FjOTdfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJZnJlZV9pcnEoSVJRX1MzQzI0NHhfQUM5NywgTlVMTCk7CiAJY2xrX2Rpc2FibGUoczNjMjR4eF9hYzk3LmFjOTdfY2xrKTsKQEAgLTI3NSw3ICsyNzQsNyBAQAogCQkJCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJY3B1X2RhaS0+ZG1hX2RhdGEgPSAmczNjMjQ0M19hYzk3X3BjbV9zdGVyZW9fb3V0OwpAQCAtMzE3LDcgKzMxNiw3IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQogCQlyZXR1cm4gLUVOT0RFVjsKQEAgLTM1Myw3ICszNTIsNyBAQAogCQlTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFNORFJWX1BDTV9SQVRFXzIyMDUwIHwgXAogCQlTTkRSVl9QQ01fUkFURV80NDEwMCB8IFNORFJWX1BDTV9SQVRFXzQ4MDAwKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHMzYzI0NDNfYWM5N19kYWlbXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBzM2MyNDQzX2FjOTdfZGFpW10gPSB7CiB7CiAJLm5hbWUgPSAiczNjMjQ0My1hYzk3IiwKIAkuaWQgPSAwLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1hYzk3LmggYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWFjOTcuaAppbmRleCBiZjAzZThlLi5hOTZkY2FkIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWFjOTcuaAorKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWFjOTcuaApAQCAtMjYsNiArMjYsNiBAQAogI2RlZmluZSBJUlFfUzNDMjQ0eF9BQzk3IElSUV9TM0MyNDQzX0FDOTcKICNlbmRpZgogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNDQzX2FjOTdfZGFpW107CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0NDNfYWM5N19kYWlbXTsKIAogI2VuZGlmIC8qUzNDMjRYWEFDOTdfSF8qLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuYyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmMKaW5kZXggMWVkNmFmZC4uMzk3NTI0MiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5jCkBAIC0xMiwxMSArMTIsNiBAQAogICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAxMXRoIERlYyAyMDA2ICAgTWVyZ2VkIHdpdGggU2ltdGVjIGRyaXZlcgotICogICAgMTB0aCBOb3YgMjAwNiAgIEluaXRpYWwgdmVyc2lvbi4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMTgwLDcgKzE3NSw3IEBACiBzdGF0aWMgaW50IHMzYzI0eHhfc25kX2xyc3luYyh2b2lkKQogewogCXUzMiBpaXNjb247Ci0JdW5zaWduZWQgbG9uZyB0aW1lb3V0ID0gamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMoNSk7CisJaW50IHRpbWVvdXQgPSA1MDsgLyogNW1zICovCiAKIAlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIApAQCAtMTg5LDggKzE4NCw5IEBACiAJCWlmIChpaXNjb24gJiBTM0MyNDEwX0lJU0NPTl9MUklOREVYKQogCQkJYnJlYWs7CiAKLQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgdGltZW91dCkpCisJCWlmICghdGltZW91dC0tKQogCQkJcmV0dXJuIC1FVElNRURPVVQ7CisJCXVkZWxheSgxMDApOwogCX0KIAogCXJldHVybiAwOwpAQCAtMjA5LDcgKzIwNSw3IEBACiAvKgogICogU2V0IFMzQzI0eHggSTJTIERBSSBmb3JtYXQKICAqLwotc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXUzMiBpaXNtb2Q7CkBAIC0zMTcsNyArMzEzLDcgQEAKIC8qCiAgKiBTZXQgUzNDMjR4eCBDbG9jayBzb3VyY2UKICAqLwotc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXUzMiBpaXNtb2QgPSByZWFkbChzM2MyNHh4X2kycy5yZWdzICsgUzNDMjQxMF9JSVNNT0QpOwpAQCAtMzQzLDcgKzMzOSw3IEBACiAvKgogICogU2V0IFMzQzI0eHggQ2xvY2sgZGl2aWRlcnMKICAqLwotc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCWludCBkaXZfaWQsIGludCBkaXYpCiB7CiAJdTMyIHJlZzsKQEAgLTM4MSw3ICszNzcsOCBAQAogfQogRVhQT1JUX1NZTUJPTF9HUEwoczNjMjR4eF9pMnNfZ2V0X2Nsb2NrcmF0ZSk7CiAKLXN0YXRpYyBpbnQgczNjMjR4eF9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgczNjMjR4eF9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTQxNCw3ICs0MTEsNyBAQAogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IHMzYzI0eHhfaTJzX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSkKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQogewogCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCkBAIC00MjksNyArNDI2LDcgQEAKIH0KIAogc3RhdGljIGludCBzM2MyNHh4X2kyc19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSkKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQogewogCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCWNsa19lbmFibGUoczNjMjR4eF9pMnMuaWlzX2Nsayk7CkBAIC00NTIsNyArNDQ5LDcgQEAKIAlTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzMyMDAwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBcCiAJU05EUlZfUENNX1JBVEVfNDgwMDAgfCBTTkRSVl9QQ01fUkFURV84ODIwMCB8IFNORFJWX1BDTV9SQVRFXzk2MDAwKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHMzYzI0eHhfaTJzX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBzM2MyNHh4X2kyc19kYWkgPSB7CiAJLm5hbWUgPSAiczNjMjR4eC1pMnMiLAogCS5pZCA9IDAsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9JMlMsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5oIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuaAppbmRleCA1MzdiNGVjLi43MjZkOTFjIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5oCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmgKQEAgLTMyLDYgKzMyLDYgQEAKIAogdTMyIHMzYzI0eHhfaTJzX2dldF9jbG9ja3JhdGUodm9pZCk7CiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHMzYzI0eHhfaTJzX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjR4eF9pMnNfZGFpOwogCiAjZW5kaWYgLypTM0MyNFhYSTJTX0hfKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtcGNtLmMgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LXBjbS5jCmluZGV4IDc4MDZhZTYuLmNlZjc5YjMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtcGNtLmMKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1wY20uYwpAQCAtMTIsMTAgKzEyLDYgQEAKICAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAxMXRoIERlYyAyMDA2ICAgTWVyZ2VkIHdpdGggU2ltdGVjIGRyaXZlcgotICogICAgMTB0aCBOb3YgMjAwNiAgIEluaXRpYWwgdmVyc2lvbi4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC00MzMsNyArNDI5LDcgQEAKIHN0YXRpYyB1NjQgczNjMjR4eF9wY21fZG1hbWFzayA9IERNQV8zMkJJVF9NQVNLOwogCiBzdGF0aWMgaW50IHMzYzI0eHhfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCi0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIHN0cnVjdCBzbmRfcGNtICpwY20pCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHN0cnVjdCBzbmRfcGNtICpwY20pCiB7CiAJaW50IHJldCA9IDA7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3NtZGsyNDQzX3dtOTcxMC5jIGIvc291bmQvc29jL3MzYzI0eHgvc21kazI0NDNfd205NzEwLmMKaW5kZXggYjRhNTYzMC4uODUxNWQ2ZiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvc21kazI0NDNfd205NzEwLmMKKysrIGIvc291bmQvc29jL3MzYzI0eHgvc21kazI0NDNfd205NzEwLmMKQEAgLTEwLDkgKzEwLDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICA4dGggTWFyIDIwMDcgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9LY29uZmlnIGIvc291bmQvc29jL3NoL0tjb25maWcKaW5kZXggNGMxZTAxMy4uNTRiZDYwNCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NoL0tjb25maWcKKysrIGIvc291bmQvc29jL3NoL0tjb25maWcKQEAgLTMsNyArMyw3IEBACiAKIGNvbmZpZyBTTkRfU09DX1BDTV9TSDc3NjAKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIHN1cHBvcnQgZm9yIFJlbmVzYXMgU0g3NzYwIgotCWRlcGVuZHMgb24gQ1BVX1NVQlRZUEVfU0g3NzYwICYmIFNORF9TT0MgJiYgU0hfRE1BQlJHCisJZGVwZW5kcyBvbiBDUFVfU1VCVFlQRV9TSDc3NjAgJiYgU0hfRE1BQlJHCiAJaGVscAogCSAgRW5hYmxlIHRoaXMgb3B0aW9uIGZvciBTSDc3NjAgQUM5Ny9JMlMgYXVkaW8gc3VwcG9ydC4KIApAQCAtMTMsMTAgKzEzLDkgQEAKICMjCiAKIGNvbmZpZyBTTkRfU09DX1NINF9IQUMKKwl0cmlzdGF0ZQogCXNlbGVjdCBBQzk3X0JVUwogCXNlbGVjdCBTTkRfU09DX0FDOTdfQlVTCi0Jc2VsZWN0IFNORF9BQzk3X0NPREVDCi0JdHJpc3RhdGUKIAogY29uZmlnIFNORF9TT0NfU0g0X1NTSQogCXRyaXN0YXRlCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc2gvZG1hLXNoNzc2MC5jIGIvc291bmQvc29jL3NoL2RtYS1zaDc3NjAuYwppbmRleCA3YTNjZTgwLi45ZmFhMTI2IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvZG1hLXNoNzc2MC5jCisrKyBiL3NvdW5kL3NvYy9zaC9kbWEtc2g3NzYwLmMKQEAgLTMyNiw3ICszMjYsNyBAQAogfQogCiBzdGF0aWMgaW50IGNhbWVsb3RfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCi0JCQkgICBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwKKwkJCSAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCQkJICAgc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAkvKiBkb250IHVzZSBTTkRSVl9ETUFfVFlQRV9ERVYsIHNpbmNlIGl0IHdpbGwgb29wcyB0aGUgU0gga2VybmVsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc2gvaGFjLmMgYi9zb3VuZC9zb2Mvc2gvaGFjLmMKaW5kZXggYjdiNjc2Yi4uZGY3YmMzNCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NoL2hhYy5jCisrKyBiL3NvdW5kL3NvYy9zaC9oYWMuYwpAQCAtMjY2LDcgKzI2Niw3IEBACiAjZGVmaW5lIEFDOTdfRk1UUwlcCiAJU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzaDRfaGFjX2RhaVtdID0geworc3RydWN0IHNuZF9zb2NfZGFpIHNoNF9oYWNfZGFpW10gPSB7CiB7CiAJLm5hbWUJCQk9ICJIQUMwIiwKIAkuaWQJCQk9IDAsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc2gvc2g3NzYwLWFjOTcuYyBiL3NvdW5kL3NvYy9zaC9zaDc3NjAtYWM5Ny5jCmluZGV4IDJmOTFkZTguLjkyYmZhZjQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zaC9zaDc3NjAtYWM5Ny5jCisrKyBiL3NvdW5kL3NvYy9zaC9zaDc3NjAtYWM5Ny5jCkBAIC0yMCwxMiArMjAsMTIgQEAKICNkZWZpbmUgSVBTRUwgMHhGRTQwMDAzNAogCiAvKiBwbGF0Zm9ybSBzcGVjaWZpYyBzdHJ1Y3RzIGNhbiBiZSBkZWNsYXJlZCBoZXJlICovCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzaDRfaGFjX2RhaVsyXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgc2g0X2hhY19kYWlbMl07CiBleHRlcm4gc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gc2g3NzYwX3NvY19wbGF0Zm9ybTsKIAogc3RhdGljIGludCBtYWNoaW5lX2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc2gvc3NpLmMgYi9zb3VuZC9zb2Mvc2gvc3NpLmMKaW5kZXggMzM4OGJjMy4uNTVjMzQ2NCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NoL3NzaS5jCisrKyBiL3NvdW5kL3NvYy9zaC9zc2kuYwpAQCAtMjA4LDcgKzIwOCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgc3NpX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwgaW50IGNsa19pZCwKK3N0YXRpYyBpbnQgc3NpX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLCBpbnQgY2xrX2lkLAogCQkJICB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAlzdHJ1Y3Qgc3NpX3ByaXYgKnNzaSA9ICZzc2lfY3B1X2RhdGFbY3B1X2RhaS0+aWRdOwpAQCAtMjIyLDcgKzIyMiw3IEBACiAgKiBUaGlzIGRpdmlkZXIgaXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgU1NJX1NDSyAoSTJTIGJpdGNsb2NrKSBmcm9tIHRoZQogICogY2xvY2sgYXQgdGhlIEhBQ19CSVRfQ0xLICgib3ZlcnNhbXBsaW5nIGNsb2NrIikgcGluLgogICovCi1zdGF0aWMgaW50IHNzaV9zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSwgaW50IGRpZCwgaW50IGRpdikKK3N0YXRpYyBpbnQgc3NpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBkaWQsIGludCBkaXYpCiB7CiAJc3RydWN0IHNzaV9wcml2ICpzc2kgPSAmc3NpX2NwdV9kYXRhW2RhaS0+aWRdOwogCXVuc2lnbmVkIGxvbmcgc3NpY3I7CkBAIC0yNDUsNyArMjQ1LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzc2lfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpCitzdGF0aWMgaW50IHNzaV9zZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCB1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzc2lfcHJpdiAqc3NpID0gJnNzaV9jcHVfZGF0YVtkYWktPmlkXTsKIAl1bnNpZ25lZCBsb25nIHNzaWNyID0gU1NJUkVHKFNTSUNSKTsKQEAgLTMzMiw3ICszMzIsNyBAQAogCSBTTkRSVl9QQ01fRk1UQklUX1MyNF8zTEUgfCBTTkRSVl9QQ01fRk1UQklUX1UyNF8zTEUgfAlcCiAJIFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFICB8IFNORFJWX1BDTV9GTVRCSVRfVTMyX0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHNoNF9zc2lfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgc2g0X3NzaV9kYWlbXSA9IHsKIHsKIAkubmFtZQkJCT0gIlNTSTAiLAogCS5pZAkJCT0gMCwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zb2MtY29yZS5jIGIvc291bmQvc29jL3NvYy1jb3JlLmMKaW5kZXggZTE0OGRiOS4uODNmMTE5MCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NvYy1jb3JlLmMKKysrIGIvc291bmQvc29jL3NvYy1jb3JlLmMKQEAgLTE0LDEwICsxNCw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTJ0aCBBdWcgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KLSAqICAgIDI1dGggT2N0IDIwMDUgICBXb3JraW5nIENvZGVjLCBJbnRlcmZhY2UgYW5kIFBsYXRmb3JtIHJlZ2lzdHJhdGlvbi4KLSAqCiAgKiAgVE9ETzoKICAqICAgbyBBZGQgaHcgcnVsZXMgdG8gZW5mb3JjZSByYXRlcywgZXRjLgogICogICBvIE1vcmUgdGVzdGluZyB3aXRoIG90aGVyIGNvZGVjcy9tYWNoaW5lcy4KQEAgLTExMiw5ICsxMDgsOSBAQAogfQogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgY29uc3QgY2hhciogZ2V0X2RhaV9uYW1lKGludCB0eXBlKQorc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpnZXRfZGFpX25hbWUoaW50IHR5cGUpCiB7Ci0Jc3dpdGNoKHR5cGUpIHsKKwlzd2l0Y2ggKHR5cGUpIHsKIAljYXNlIFNORF9TT0NfREFJX0FDOTdfQlVTOgogCWNhc2UgU05EX1NPQ19EQUlfQUM5NzoKIAkJcmV0dXJuICJBQzk3IjsKQEAgLTEzOCw4ICsxMzQsOCBAQAogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAJc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgKm1hY2hpbmUgPSBydGQtPmRhaTsKIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CiAJaW50IHJldCA9IDA7CiAKIAltdXRleF9sb2NrKCZwY21fbXV0ZXgpOwpAQCAtMTgyLDkgKzE3OCwxMSBAQAogCS8qIENoZWNrIHRoYXQgdGhlIGNvZGVjIGFuZCBjcHUgREFJJ3MgYXJlIGNvbXBhdGlibGUgKi8KIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykgewogCQlydW50aW1lLT5ody5yYXRlX21pbiA9Ci0JCQltYXgoY29kZWNfZGFpLT5wbGF5YmFjay5yYXRlX21pbiwgY3B1X2RhaS0+cGxheWJhY2sucmF0ZV9taW4pOworCQkJbWF4KGNvZGVjX2RhaS0+cGxheWJhY2sucmF0ZV9taW4sCisJCQkgICAgY3B1X2RhaS0+cGxheWJhY2sucmF0ZV9taW4pOwogCQlydW50aW1lLT5ody5yYXRlX21heCA9Ci0JCQltaW4oY29kZWNfZGFpLT5wbGF5YmFjay5yYXRlX21heCwgY3B1X2RhaS0+cGxheWJhY2sucmF0ZV9tYXgpOworCQkJbWluKGNvZGVjX2RhaS0+cGxheWJhY2sucmF0ZV9tYXgsCisJCQkgICAgY3B1X2RhaS0+cGxheWJhY2sucmF0ZV9tYXgpOwogCQlydW50aW1lLT5ody5jaGFubmVsc19taW4gPQogCQkJbWF4KGNvZGVjX2RhaS0+cGxheWJhY2suY2hhbm5lbHNfbWluLAogCQkJCWNwdV9kYWktPnBsYXliYWNrLmNoYW5uZWxzX21pbik7CkBAIC0xOTcsOSArMTk1LDExIEBACiAJCQljb2RlY19kYWktPnBsYXliYWNrLnJhdGVzICYgY3B1X2RhaS0+cGxheWJhY2sucmF0ZXM7CiAJfSBlbHNlIHsKIAkJcnVudGltZS0+aHcucmF0ZV9taW4gPQotCQkJbWF4KGNvZGVjX2RhaS0+Y2FwdHVyZS5yYXRlX21pbiwgY3B1X2RhaS0+Y2FwdHVyZS5yYXRlX21pbik7CisJCQltYXgoY29kZWNfZGFpLT5jYXB0dXJlLnJhdGVfbWluLAorCQkJICAgIGNwdV9kYWktPmNhcHR1cmUucmF0ZV9taW4pOwogCQlydW50aW1lLT5ody5yYXRlX21heCA9Ci0JCQltaW4oY29kZWNfZGFpLT5jYXB0dXJlLnJhdGVfbWF4LCBjcHVfZGFpLT5jYXB0dXJlLnJhdGVfbWF4KTsKKwkJCW1pbihjb2RlY19kYWktPmNhcHR1cmUucmF0ZV9tYXgsCisJCQkgICAgY3B1X2RhaS0+Y2FwdHVyZS5yYXRlX21heCk7CiAJCXJ1bnRpbWUtPmh3LmNoYW5uZWxzX21pbiA9CiAJCQltYXgoY29kZWNfZGFpLT5jYXB0dXJlLmNoYW5uZWxzX21pbiwKIAkJCQljcHVfZGFpLT5jYXB0dXJlLmNoYW5uZWxzX21pbik7CkBAIC0yMjksNyArMjI5LDcgQEAKIAkJZ290byBtYWNoaW5lX2VycjsKIAl9CiAKLQlkYmcoImFzb2M6ICVzIDwtPiAlcyBpbmZvOlxuIixjb2RlY19kYWktPm5hbWUsIGNwdV9kYWktPm5hbWUpOworCWRiZygiYXNvYzogJXMgPC0+ICVzIGluZm86XG4iLCBjb2RlY19kYWktPm5hbWUsIGNwdV9kYWktPm5hbWUpOwogCWRiZygiYXNvYzogcmF0ZSBtYXNrIDB4JXhcbiIsIHJ1bnRpbWUtPmh3LnJhdGVzKTsKIAlkYmcoImFzb2M6IG1pbiBjaCAlZCBtYXggY2ggJWRcbiIsIHJ1bnRpbWUtPmh3LmNoYW5uZWxzX21pbiwKIAkJcnVudGltZS0+aHcuY2hhbm5lbHNfbWF4KTsKQEAgLTI3MiwxMSArMjcyLDExIEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPQogCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IHNuZF9zb2NfZGV2aWNlLCBkZWxheWVkX3dvcmsud29yayk7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaTsKIAlpbnQgaTsKIAogCW11dGV4X2xvY2soJnBjbV9tdXRleCk7Ci0JZm9yKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7CiAJCWNvZGVjX2RhaSA9ICZjb2RlYy0+ZGFpW2ldOwogCiAJCWRiZygicG9wIHdxIGNoZWNraW5nOiAlcyBzdGF0dXM6ICVzIHdhaXRpbmc6ICVzXG4iLApAQCAtMjg3LDEyICsyODcsMTIgQEAKIAkJLyogYXJlIHdlIHdhaXRpbmcgb24gdGhpcyBjb2RlYyBEQUkgc3RyZWFtICovCiAJCWlmIChjb2RlY19kYWktPnBvcF93YWl0ID09IDEpIHsKIAotCQkJLyogcG93ZXIgZG93biB0aGUgY29kZWMgdG8gRDEgaWYgbm8gbG9uZ2VyIGFjdGl2ZSAqLworCQkJLyogUmVkdWNlIHBvd2VyIGlmIG5vIGxvbmdlciBhY3RpdmUgKi8KIAkJCWlmIChjb2RlYy0+YWN0aXZlID09IDApIHsKIAkJCQlkYmcoInBvcCB3cSBEMSAlcyAlc1xuIiwgY29kZWMtPm5hbWUsCiAJCQkJCWNvZGVjX2RhaS0+cGxheWJhY2suc3RyZWFtX25hbWUpOwotCQkJCXNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQoc29jZGV2LAotCQkJCQlTTkRSVl9DVExfUE9XRVJfRDEpOworCQkJCXNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzb2NkZXYsCisJCQkJCVNORF9TT0NfQklBU19QUkVQQVJFKTsKIAkJCX0KIAogCQkJY29kZWNfZGFpLT5wb3Bfd2FpdCA9IDA7CkBAIC0zMDAsMTIgKzMwMCwxMiBAQAogCQkJCWNvZGVjX2RhaS0+cGxheWJhY2suc3RyZWFtX25hbWUsCiAJCQkJU05EX1NPQ19EQVBNX1NUUkVBTV9TVE9QKTsKIAotCQkJLyogcG93ZXIgZG93biB0aGUgY29kZWMgcG93ZXIgZG9tYWluIGlmIG5vIGxvbmdlciBhY3RpdmUgKi8KKwkJCS8qIEZhbGwgaW50byBzdGFuZGJ5IGlmIG5vIGxvbmdlciBhY3RpdmUgKi8KIAkJCWlmIChjb2RlYy0+YWN0aXZlID09IDApIHsKIAkJCQlkYmcoInBvcCB3cSBEMyAlcyAlc1xuIiwgY29kZWMtPm5hbWUsCiAJCQkJCWNvZGVjX2RhaS0+cGxheWJhY2suc3RyZWFtX25hbWUpOwotCQkJCXNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQoc29jZGV2LAotCQkJCQlTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCQkJCXNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzb2NkZXYsCisJCQkJCVNORF9TT0NfQklBU19TVEFOREJZKTsKIAkJCX0KIAkJfQogCX0KQEAgLTMyMyw4ICszMjMsOCBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CiAJc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgKm1hY2hpbmUgPSBydGQtPmRhaTsKIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAogCW11dGV4X2xvY2soJnBjbV9tdXRleCk7CkBAIC0zNjUsOCArMzY1LDggQEAKIAkJCVNORF9TT0NfREFQTV9TVFJFQU1fU1RPUCk7CiAKIAkJaWYgKGNvZGVjLT5hY3RpdmUgPT0gMCAmJiBjb2RlY19kYWktPnBvcF93YWl0ID09IDApCi0JCQlzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHNvY2RldiwKLQkJCQkJCVNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJCQlzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc29jZGV2LAorCQkJCQkJU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCX0KIAogCW11dGV4X3VubG9jaygmcGNtX211dGV4KTsKQEAgLTM4NCw4ICszODQsOCBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CiAJc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgKm1hY2hpbmUgPSBydGQtPmRhaTsKIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAlpbnQgcmV0ID0gMDsKIApAQCAtNDM0LDE0ICs0MzQsMTQgQEAKIAkJZWxzZSB7CiAJCQljb2RlY19kYWktPnBvcF93YWl0ID0gMDsKIAkJCWNhbmNlbF9kZWxheWVkX3dvcmsoJnNvY2Rldi0+ZGVsYXllZF93b3JrKTsKLQkJCWlmIChjb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKQotCQkJCWNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKKwkJCXNuZF9zb2NfZGFpX2RpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDApOwogCQl9CiAJfSBlbHNlIHsKIAkJLyogbm8gZGVsYXllZCB3b3JrIC0gZG8gd2UgbmVlZCB0byBwb3dlciB1cCBjb2RlYyAqLwotCQlpZiAoY29kZWMtPmRhcG1fc3RhdGUgIT0gU05EUlZfQ1RMX1BPV0VSX0QwKSB7CisJCWlmIChjb2RlYy0+Ymlhc19sZXZlbCAhPSBTTkRfU09DX0JJQVNfT04pIHsKIAotCQkJc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzb2NkZXYsICBTTkRSVl9DVExfUE9XRVJfRDEpOworCQkJc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsKHNvY2RldiwKKwkJCQkJCSAgICBTTkRfU09DX0JJQVNfUFJFUEFSRSk7CiAKIAkJCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQogCQkJCXNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQoY29kZWMsCkBAIC00NTIsOSArNDUyLDggQEAKIAkJCQkJY29kZWNfZGFpLT5jYXB0dXJlLnN0cmVhbV9uYW1lLAogCQkJCQlTTkRfU09DX0RBUE1fU1RSRUFNX1NUQVJUKTsKIAotCQkJc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzb2NkZXYsIFNORFJWX0NUTF9QT1dFUl9EMCk7Ci0JCQlpZiAoY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZSkKLQkJCQljb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMCk7CisJCQlzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc29jZGV2LCBTTkRfU09DX0JJQVNfT04pOworCQkJc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMCk7CiAKIAkJfSBlbHNlIHsKIAkJCS8qIGNvZGVjIGFscmVhZHkgcG93ZXJlZCAtIHBvd2VyIG9uIHdpZGdldHMgKi8KQEAgLTQ2Niw4ICs0NjUsOCBAQAogCQkJCXNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQoY29kZWMsCiAJCQkJCWNvZGVjX2RhaS0+Y2FwdHVyZS5zdHJlYW1fbmFtZSwKIAkJCQkJU05EX1NPQ19EQVBNX1NUUkVBTV9TVEFSVCk7Ci0JCQlpZiAoY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZSkKLQkJCQljb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMCk7CisKKwkJCXNuZF9zb2NfZGFpX2RpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDApOwogCQl9CiAJfQogCkBAIC00ODgsOCArNDg3LDggQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICptYWNoaW5lID0gcnRkLT5kYWk7CiAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOwogCWludCByZXQgPSAwOwogCiAJbXV0ZXhfbG9jaygmcGNtX211dGV4KTsKQEAgLTUxNCw3ICs1MTMsNyBAQAogCWlmIChjcHVfZGFpLT5vcHMuaHdfcGFyYW1zKSB7CiAJCXJldCA9IGNwdV9kYWktPm9wcy5od19wYXJhbXMoc3Vic3RyZWFtLCBwYXJhbXMpOwogCQlpZiAocmV0IDwgMCkgewotCQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBjYW4ndCBzZXQgaW50ZXJmYWNlICVzIGh3IHBhcmFtc1xuIiwKKwkJCXByaW50ayhLRVJOX0VSUiAiYXNvYzogaW50ZXJmYWNlICVzIGh3IHBhcmFtcyBmYWlsZWRcbiIsCiAJCQkJY3B1X2RhaS0+bmFtZSk7CiAJCQlnb3RvIGludGVyZmFjZV9lcnI7CiAJCX0KQEAgLTUyMyw3ICs1MjIsNyBAQAogCWlmIChwbGF0Zm9ybS0+cGNtX29wcy0+aHdfcGFyYW1zKSB7CiAJCXJldCA9IHBsYXRmb3JtLT5wY21fb3BzLT5od19wYXJhbXMoc3Vic3RyZWFtLCBwYXJhbXMpOwogCQlpZiAocmV0IDwgMCkgewotCQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBjYW4ndCBzZXQgcGxhdGZvcm0gJXMgaHcgcGFyYW1zXG4iLAorCQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBwbGF0Zm9ybSAlcyBodyBwYXJhbXMgZmFpbGVkXG4iLAogCQkJCXBsYXRmb3JtLT5uYW1lKTsKIAkJCWdvdG8gcGxhdGZvcm1fZXJyOwogCQl9CkBAIC01NDIsNyArNTQxLDcgQEAKIAkJY29kZWNfZGFpLT5vcHMuaHdfZnJlZShzdWJzdHJlYW0pOwogCiBjb2RlY19lcnI6Ci0JaWYobWFjaGluZS0+b3BzICYmIG1hY2hpbmUtPm9wcy0+aHdfZnJlZSkKKwlpZiAobWFjaGluZS0+b3BzICYmIG1hY2hpbmUtPm9wcy0+aHdfZnJlZSkKIAkJbWFjaGluZS0+b3BzLT5od19mcmVlKHN1YnN0cmVhbSk7CiAKIAltdXRleF91bmxvY2soJnBjbV9tdXRleCk7CkBAIC01NTgsMTUgKzU1NywxNSBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CiAJc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgKm1hY2hpbmUgPSBydGQtPmRhaTsKIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAogCW11dGV4X2xvY2soJnBjbV9tdXRleCk7CiAKIAkvKiBhcHBseSBjb2RlYyBkaWdpdGFsIG11dGUgKi8KLQlpZiAoIWNvZGVjLT5hY3RpdmUgJiYgY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZSkKLQkJY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDEpOworCWlmICghY29kZWMtPmFjdGl2ZSkKKwkJc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMSk7CiAKIAkvKiBmcmVlIGFueSBtYWNoaW5lIGh3IHBhcmFtcyAqLwogCWlmIChtYWNoaW5lLT5vcHMgJiYgbWFjaGluZS0+b3BzLT5od19mcmVlKQpAQCAtNTkzLDggKzU5Miw4IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlpbnQgcmV0OwogCiAJaWYgKGNvZGVjX2RhaS0+b3BzLnRyaWdnZXIpIHsKQEAgLTYzMSwxNiArNjMwLDI2IEBACiAvKiBwb3dlcnMgZG93biBhdWRpbyBzdWJzeXN0ZW0gZm9yIHN1c3BlbmQgKi8KIHN0YXRpYyBpbnQgc29jX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogewotIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwotIAlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOwotIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotIAlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2UgKmNvZGVjX2RldiA9IHNvY2Rldi0+Y29kZWNfZGV2OworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKKwlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOworCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSAqY29kZWNfZGV2ID0gc29jZGV2LT5jb2RlY19kZXY7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAlpbnQgaTsKIAorCS8qIER1ZSB0byB0aGUgcmVzdW1lIGJlaW5nIHNjaGVkdWxlZCBpbnRvIGEgd29ya3F1ZXVlIHdlIGNvdWxkCisJKiBzdXNwZW5kIGJlZm9yZSB0aGF0J3MgZmluaXNoZWQgLSB3YWl0IGZvciBpdCB0byBjb21wbGV0ZS4KKwkgKi8KKwlzbmRfcG93ZXJfbG9jayhjb2RlYy0+Y2FyZCk7CisJc25kX3Bvd2VyX3dhaXQoY29kZWMtPmNhcmQsIFNORFJWX0NUTF9QT1dFUl9EMCk7CisJc25kX3Bvd2VyX3VubG9jayhjb2RlYy0+Y2FyZCk7CisKKwkvKiB3ZSdyZSBnb2luZyB0byBibG9jayB1c2Vyc3BhY2UgdG91Y2hpbmcgdXMgdW50aWwgcmVzdW1lIGNvbXBsZXRlcyAqLworCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY29kZWMtPmNhcmQsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisKIAkvKiBtdXRlIGFueSBhY3RpdmUgREFDJ3MgKi8KLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaTsKKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jb2RlY19kYWk7CiAJCWlmIChkYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlICYmIGRhaS0+cGxheWJhY2suYWN0aXZlKQogCQkJZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZShkYWksIDEpOwogCX0KQEAgLTY1Miw4ICs2NjEsOCBAQAogCWlmIChtYWNoaW5lLT5zdXNwZW5kX3ByZSkKIAkJbWFjaGluZS0+c3VzcGVuZF9wcmUocGRldiwgc3RhdGUpOwogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKIAkJaWYgKGNwdV9kYWktPnN1c3BlbmQgJiYgY3B1X2RhaS0+dHlwZSAhPSBTTkRfU09DX0RBSV9BQzk3KQogCQkJY3B1X2RhaS0+c3VzcGVuZChwZGV2LCBjcHVfZGFpKTsKIAkJaWYgKHBsYXRmb3JtLT5zdXNwZW5kKQpAQCAtNjYyLDkgKzY3MSw5IEBACiAKIAkvKiBjbG9zZSBhbnkgd2FpdGluZyBzdHJlYW1zIGFuZCBzYXZlIHN0YXRlICovCiAJcnVuX2RlbGF5ZWRfd29yaygmc29jZGV2LT5kZWxheWVkX3dvcmspOwotCWNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUgPSBjb2RlYy0+ZGFwbV9zdGF0ZTsKKwljb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsID0gY29kZWMtPmJpYXNfbGV2ZWw7CiAKLQlmb3IoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKIAkJY2hhciAqc3RyZWFtID0gY29kZWMtPmRhaVtpXS5wbGF5YmFjay5zdHJlYW1fbmFtZTsKIAkJaWYgKHN0cmVhbSAhPSBOVUxMKQogCQkJc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudChjb2RlYywgc3RyZWFtLApAQCAtNjc4LDggKzY4Nyw4IEBACiAJaWYgKGNvZGVjX2Rldi0+c3VzcGVuZCkKIAkJY29kZWNfZGV2LT5zdXNwZW5kKHBkZXYsIHN0YXRlKTsKIAotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+c3VzcGVuZCAmJiBjcHVfZGFpLT50eXBlID09IFNORF9TT0NfREFJX0FDOTcpCiAJCQljcHVfZGFpLT5zdXNwZW5kKHBkZXYsIGNwdV9kYWkpOwogCX0KQEAgLTY5MCwyMSArNjk5LDMyIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qIHBvd2VycyB1cCBhdWRpbyBzdWJzeXN0ZW0gYWZ0ZXIgYSBzdXNwZW5kICovCi1zdGF0aWMgaW50IHNvY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKy8qIGRlZmVycmVkIHJlc3VtZSB3b3JrLCBzbyByZXN1bWUgY2FuIGNvbXBsZXRlIGJlZm9yZSB3ZSBmaW5pc2hlZAorICogc2V0dGluZyBvdXIgY29kZWMgYmFjayB1cCwgd2hpY2ggY2FuIGJlIHZlcnkgc2xvdyBvbiBJMkMKKyAqLworc3RhdGljIHZvaWQgc29jX3Jlc3VtZV9kZWZlcnJlZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7Ci0gCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0gCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7Ci0gCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0gCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSAqY29kZWNfZGV2ID0gc29jZGV2LT5jb2RlY19kZXY7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBjb250YWluZXJfb2Yod29yaywKKwkJCQkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGV2aWNlLAorCQkJCQkJICAgICBkZWZlcnJlZF9yZXN1bWVfd29yayk7CisJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKKwlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOworCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSAqY29kZWNfZGV2ID0gc29jZGV2LT5jb2RlY19kZXY7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gdG9fcGxhdGZvcm1fZGV2aWNlKHNvY2Rldi0+ZGV2KTsKIAlpbnQgaTsKIAorCS8qIG91ciBwb3dlciBzdGF0ZSBpcyBzdGlsbCBTTkRSVl9DVExfUE9XRVJfRDNob3QgZnJvbSBzdXNwZW5kIHRpbWUsCisJICogc28gdXNlcnNwYWNlIGFwcHMgYXJlIGJsb2NrZWQgZnJvbSB0b3VjaGluZyB1cworCSAqLworCisJZGV2X2luZm8oc29jZGV2LT5kZXYsICJzdGFydGluZyByZXN1bWUgd29ya1xuIik7CisKIAlpZiAobWFjaGluZS0+cmVzdW1lX3ByZSkKIAkJbWFjaGluZS0+cmVzdW1lX3ByZShwZGV2KTsKIAotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+cmVzdW1lICYmIGNwdV9kYWktPnR5cGUgPT0gU05EX1NPQ19EQUlfQUM5NykKIAkJCWNwdV9kYWktPnJlc3VtZShwZGV2LCBjcHVfZGFpKTsKIAl9CkBAIC03MTIsOCArNzMyLDggQEAKIAlpZiAoY29kZWNfZGV2LT5yZXN1bWUpCiAJCWNvZGVjX2Rldi0+cmVzdW1lKHBkZXYpOwogCi0JZm9yKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgewotCQljaGFyKiBzdHJlYW0gPSBjb2RlYy0+ZGFpW2ldLnBsYXliYWNrLnN0cmVhbV9uYW1lOworCWZvciAoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7CisJCWNoYXIgKnN0cmVhbSA9IGNvZGVjLT5kYWlbaV0ucGxheWJhY2suc3RyZWFtX25hbWU7CiAJCWlmIChzdHJlYW0gIT0gTlVMTCkKIAkJCXNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQoY29kZWMsIHN0cmVhbSwKIAkJCQlTTkRfU09DX0RBUE1fU1RSRUFNX1JFU1VNRSk7CkBAIC03MjMsMTUgKzc0MywxNSBAQAogCQkJCVNORF9TT0NfREFQTV9TVFJFQU1fUkVTVU1FKTsKIAl9CiAKLQkvKiB1bm11dGUgYW55IGFjdGl2ZSBEQUMncyAqLwotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY29kZWNfZGFpOworCS8qIHVubXV0ZSBhbnkgYWN0aXZlIERBQ3MgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jb2RlY19kYWk7CiAJCWlmIChkYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlICYmIGRhaS0+cGxheWJhY2suYWN0aXZlKQogCQkJZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZShkYWksIDApOwogCX0KIAotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+cmVzdW1lICYmIGNwdV9kYWktPnR5cGUgIT0gU05EX1NPQ19EQUlfQUM5NykKIAkJCWNwdV9kYWktPnJlc3VtZShwZGV2LCBjcHVfZGFpKTsKIAkJaWYgKHBsYXRmb3JtLT5yZXN1bWUpCkBAIC03NDEsNiArNzYxLDIyIEBACiAJaWYgKG1hY2hpbmUtPnJlc3VtZV9wb3N0KQogCQltYWNoaW5lLT5yZXN1bWVfcG9zdChwZGV2KTsKIAorCWRldl9pbmZvKHNvY2Rldi0+ZGV2LCAicmVzdW1lIHdvcmsgY29tcGxldGVkXG4iKTsKKworCS8qIHVzZXJzcGFjZSBjYW4gYWNjZXNzIHVzIG5vdyB3ZSBhcmUgYmFjayBhcyB3ZSB3ZXJlIGJlZm9yZSAqLworCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY29kZWMtPmNhcmQsIFNORFJWX0NUTF9QT1dFUl9EMCk7Cit9CisKKy8qIHBvd2VycyB1cCBhdWRpbyBzdWJzeXN0ZW0gYWZ0ZXIgYSBzdXNwZW5kICovCitzdGF0aWMgaW50IHNvY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJZGV2X2luZm8oc29jZGV2LT5kZXYsICJzY2hlZHVsaW5nIHJlc3VtZSB3b3JrXG4iKTsKKworCWlmICghc2NoZWR1bGVfd29yaygmc29jZGV2LT5kZWZlcnJlZF9yZXN1bWVfd29yaykpCisJCWRldl9lcnIoc29jZGV2LT5kZXYsICJ3b3JrIGl0ZW0gbWF5IGJlIGxvc3RcbiIpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTc2MCwzMyArNzk2LDM4IEBACiAKIAlpZiAobWFjaGluZS0+cHJvYmUpIHsKIAkJcmV0ID0gbWFjaGluZS0+cHJvYmUocGRldik7Ci0JCWlmKHJldCA8IDApCisJCWlmIChyZXQgPCAwKQogCQkJcmV0dXJuIHJldDsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5wcm9iZSkgewotCQkJcmV0ID0gY3B1X2RhaS0+cHJvYmUocGRldik7Ci0JCQlpZihyZXQgPCAwKQorCQkJcmV0ID0gY3B1X2RhaS0+cHJvYmUocGRldiwgY3B1X2RhaSk7CisJCQlpZiAocmV0IDwgMCkKIAkJCQlnb3RvIGNwdV9kYWlfZXJyOwogCQl9CiAJfQogCiAJaWYgKGNvZGVjX2Rldi0+cHJvYmUpIHsKIAkJcmV0ID0gY29kZWNfZGV2LT5wcm9iZShwZGV2KTsKLQkJaWYocmV0IDwgMCkKKwkJaWYgKHJldCA8IDApCiAJCQlnb3RvIGNwdV9kYWlfZXJyOwogCX0KIAogCWlmIChwbGF0Zm9ybS0+cHJvYmUpIHsKIAkJcmV0ID0gcGxhdGZvcm0tPnByb2JlKHBkZXYpOwotCQlpZihyZXQgPCAwKQorCQlpZiAocmV0IDwgMCkKIAkJCWdvdG8gcGxhdGZvcm1fZXJyOwogCX0KIAogCS8qIERBUE0gc3RyZWFtIHdvcmsgKi8KIAlJTklUX0RFTEFZRURfV09SSygmc29jZGV2LT5kZWxheWVkX3dvcmssIGNsb3NlX2RlbGF5ZWRfd29yayk7CisjaWZkZWYgQ09ORklHX1BNCisJLyogZGVmZXJyZWQgcmVzdW1lIHdvcmsgKi8KKwlJTklUX1dPUksoJnNvY2Rldi0+ZGVmZXJyZWRfcmVzdW1lX3dvcmssIHNvY19yZXN1bWVfZGVmZXJyZWQpOworI2VuZGlmCisKIAlyZXR1cm4gMDsKIAogcGxhdGZvcm1fZXJyOgpAQCAtNzk1LDkgKzgzNiw5IEBACiAKIGNwdV9kYWlfZXJyOgogCWZvciAoaS0tOyBpID49IDA7IGktLSkgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKIAkJaWYgKGNwdV9kYWktPnJlbW92ZSkKLQkJCWNwdV9kYWktPnJlbW92ZShwZGV2KTsKKwkJCWNwdV9kYWktPnJlbW92ZShwZGV2LCBjcHVfZGFpKTsKIAl9CiAKIAlpZiAobWFjaGluZS0+cmVtb3ZlKQpAQCAtODI0LDkgKzg2NSw5IEBACiAJCWNvZGVjX2Rldi0+cmVtb3ZlKHBkZXYpOwogCiAJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+cmVtb3ZlKQotCQkJY3B1X2RhaS0+cmVtb3ZlKHBkZXYpOworCQkJY3B1X2RhaS0+cmVtb3ZlKHBkZXYsIGNwdV9kYWkpOwogCX0KIAogCWlmIChtYWNoaW5lLT5yZW1vdmUpCkBAIC04NTIsOCArODkzLDggQEAKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqZGFpX2xpbmssIGludCBudW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IGRhaV9saW5rLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IGRhaV9saW5rLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gZGFpX2xpbmstPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBkYWlfbGluay0+Y3B1X2RhaTsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkOwogCXN0cnVjdCBzbmRfcGNtICpwY207CiAJY2hhciBuZXdfbmFtZVs2NF07CkBAIC04NjgsNyArOTA5LDcgQEAKIAljb2RlY19kYWktPmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAogCS8qIGNoZWNrIGNsaWVudCBhbmQgaW50ZXJmYWNlIGh3IGNhcGFiaWxpdGllcyAqLwotCXNwcmludGYobmV3X25hbWUsICIlcyAlcy0lcy0lZCIsZGFpX2xpbmstPnN0cmVhbV9uYW1lLCBjb2RlY19kYWktPm5hbWUsCisJc3ByaW50ZihuZXdfbmFtZSwgIiVzICVzLSVzLSVkIiwgZGFpX2xpbmstPnN0cmVhbV9uYW1lLCBjb2RlY19kYWktPm5hbWUsCiAJCWdldF9kYWlfbmFtZShjcHVfZGFpLT50eXBlKSwgbnVtKTsKIAogCWlmIChjb2RlY19kYWktPnBsYXliYWNrLmNoYW5uZWxzX21pbikKQEAgLTg3OSw3ICs5MjAsOCBAQAogCXJldCA9IHNuZF9wY21fbmV3KGNvZGVjLT5jYXJkLCBuZXdfbmFtZSwgY29kZWMtPnBjbV9kZXZzKyssIHBsYXliYWNrLAogCQljYXB0dXJlLCAmcGNtKTsKIAlpZiAocmV0IDwgMCkgewotCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGNhbid0IGNyZWF0ZSBwY20gZm9yIGNvZGVjICVzXG4iLCBjb2RlYy0+bmFtZSk7CisJCXByaW50ayhLRVJOX0VSUiAiYXNvYzogY2FuJ3QgY3JlYXRlIHBjbSBmb3IgY29kZWMgJXNcbiIsCisJCQljb2RlYy0+bmFtZSk7CiAJCWtmcmVlKHJ0ZCk7CiAJCXJldHVybiByZXQ7CiAJfQpAQCAtOTI4LDggKzk3MCw5IEBACiAJCXN0ZXAgPSBjb2RlYy0+cmVnX2NhY2hlX3N0ZXA7CiAKIAljb3VudCArPSBzcHJpbnRmKGJ1ZiwgIiVzIHJlZ2lzdGVyc1xuIiwgY29kZWMtPm5hbWUpOwotCWZvcihpID0gMDsgaSA8IGNvZGVjLT5yZWdfY2FjaGVfc2l6ZTsgaSArPSBzdGVwKQotCQljb3VudCArPSBzcHJpbnRmKGJ1ZiArIGNvdW50LCAiJTJ4OiAlNHhcbiIsIGksIGNvZGVjLT5yZWFkKGNvZGVjLCBpKSk7CisJZm9yIChpID0gMDsgaSA8IGNvZGVjLT5yZWdfY2FjaGVfc2l6ZTsgaSArPSBzdGVwKQorCQljb3VudCArPSBzcHJpbnRmKGJ1ZiArIGNvdW50LCAiJTJ4OiAlNHhcbiIsIGksCisJCQljb2RlYy0+cmVhZChjb2RlYywgaSkpOwogCiAJcmV0dXJuIGNvdW50OwogfQpAQCAtMTA3Miw3ICsxMTE1LDcgQEAKIAlzdHJuY3B5KGNvZGVjLT5jYXJkLT5kcml2ZXIsIGNvZGVjLT5uYW1lLCBzaXplb2YoY29kZWMtPmNhcmQtPmRyaXZlcikpOwogCiAJLyogY3JlYXRlIHRoZSBwY21zICovCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKIAkJcmV0ID0gc29jX25ld19wY20oc29jZGV2LCAmbWFjaGluZS0+ZGFpX2xpbmtbaV0sIGkpOwogCQlpZiAocmV0IDwgMCkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBjYW4ndCBjcmVhdGUgcGNtICVzXG4iLApAQCAtMTEwMiw3ICsxMTQ1LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOwogCWludCByZXQgPSAwLCBpLCBhYzk3ID0gMCwgZXJyID0gMDsKIAotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CiAJCWlmIChzb2NkZXYtPm1hY2hpbmUtPmRhaV9saW5rW2ldLmluaXQpIHsKIAkJCWVyciA9IHNvY2Rldi0+bWFjaGluZS0+ZGFpX2xpbmtbaV0uaW5pdChjb2RlYyk7CiAJCQlpZiAoZXJyIDwgMCkgewpAQCAtMTExMSw3ICsxMTU0LDcgQEAKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJfQotCQlpZiAoc29jZGV2LT5tYWNoaW5lLT5kYWlfbGlua1tpXS5jb2RlY19kYWktPnR5cGUgPT0gCisJCWlmIChzb2NkZXYtPm1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaS0+dHlwZSA9PQogCQkJU05EX1NPQ19EQUlfQUM5N19CVVMpCiAJCQlhYzk3ID0gMTsKIAl9CkBAIC0xMTIyLDcgKzExNjUsNyBAQAogCiAJcmV0ID0gc25kX2NhcmRfcmVnaXN0ZXIoY29kZWMtPmNhcmQpOwogCWlmIChyZXQgPCAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiYXNvYzogZmFpbGVkIHRvIHJlZ2lzdGVyIHNvdW5kY2FyZCBmb3IgY29kZWMgJXNcbiIsCisJCXByaW50ayhLRVJOX0VSUiAiYXNvYzogZmFpbGVkIHRvIHJlZ2lzdGVyIHNvdW5kY2FyZCBmb3IgJXNcbiIsCiAJCQkJY29kZWMtPm5hbWUpOwogCQlnb3RvIG91dDsKIAl9CkBAIC0xMTQ2LDcgKzExODksNyBAQAogCiAJZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKHNvY2Rldi0+ZGV2LCAmZGV2X2F0dHJfY29kZWNfcmVnKTsKIAlpZiAoZXJyIDwgMCkKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYXNvYzogZmFpbGVkIHRvIGFkZCBjb2RlYyBzeXNmcyBlbnRyaWVzXG4iKTsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiYXNvYzogZmFpbGVkIHRvIGFkZCBjb2RlYyBzeXNmcyBmaWxlc1xuIik7CiAKIAltdXRleF91bmxvY2soJmNvZGVjLT5tdXRleCk7CiAKQEAgLTExNjYsMTMgKzEyMDksMTMgQEAKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogI2lmZGVmIENPTkZJR19TTkRfU09DX0FDOTdfQlVTCi0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWk7CiAJaW50IGk7CiAjZW5kaWYKIAogCW11dGV4X2xvY2soJmNvZGVjLT5tdXRleCk7CiAjaWZkZWYgQ09ORklHX1NORF9TT0NfQUM5N19CVVMKLQlmb3IoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKIAkJY29kZWNfZGFpID0gJmNvZGVjLT5kYWlbaV07CiAJCWlmIChjb2RlY19kYWktPnR5cGUgPT0gU05EX1NPQ19EQUlfQUM5N19CVVMgJiYgY29kZWMtPmFjOTcpIHsKIAkJCXNvY19hYzk3X2Rldl91bnJlZ2lzdGVyKGNvZGVjKTsKQEAgLTEyODIsNyArMTMyNSw4IEBACiAJZm9yIChiaXRtYXNrID0gMTsgYml0bWFzayA8IGUtPm1hc2s7IGJpdG1hc2sgPDw9IDEpCiAJCTsKIAl2YWwgPSBzbmRfc29jX3JlYWQoY29kZWMsIGUtPnJlZyk7Ci0JdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVswXSA9ICh2YWwgPj4gZS0+c2hpZnRfbCkgJiAoYml0bWFzayAtIDEpOworCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0KKwkJPSAodmFsID4+IGUtPnNoaWZ0X2wpICYgKGJpdG1hc2sgLSAxKTsKIAlpZiAoZS0+c2hpZnRfbCAhPSBlLT5zaGlmdF9yKQogCQl1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzFdID0KIAkJCSh2YWwgPj4gZS0+c2hpZnRfcikgJiAoYml0bWFzayAtIDEpOwpAQCAtMTU3Niw3ICsxNjIwLDggQEAKIAl2YWwgPSB2YWwgPDwgc2hpZnQ7CiAJdmFsMiA9IHZhbDIgPDwgc2hpZnQ7CiAKLQlpZiAoKGVyciA9IHNuZF9zb2NfdXBkYXRlX2JpdHMoY29kZWMsIHJlZywgdmFsX21hc2ssIHZhbCkpIDwgMCkKKwllcnIgPSBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVjLCByZWcsIHZhbF9tYXNrLCB2YWwpOworCWlmIChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwogCiAJZXJyID0gc25kX3NvY191cGRhdGVfYml0cyhjb2RlYywgcmVnMiwgdmFsX21hc2ssIHZhbDIpOwpAQCAtMTU4NCw2ICsxNjI5LDIwNCBAQAogfQogRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19wdXRfdm9sc3dfMnIpOwogCisvKioKKyAqIHNuZF9zb2NfaW5mb192b2xzd19zOCAtIHNpZ25lZCBtaXhlciBpbmZvIGNhbGxiYWNrCisgKiBAa2NvbnRyb2w6IG1peGVyIGNvbnRyb2wKKyAqIEB1aW5mbzogY29udHJvbCBlbGVtZW50IGluZm9ybWF0aW9uCisgKgorICogQ2FsbGJhY2sgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCBhIHNpZ25lZCBtaXhlciBjb250cm9sLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcy4KKyAqLworaW50IHNuZF9zb2NfaW5mb192b2xzd19zOChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gKnVpbmZvKQoreworCWludCBtYXggPSAoc2lnbmVkIGNoYXIpKChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweGZmKTsKKwlpbnQgbWluID0gKHNpZ25lZCBjaGFyKSgoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZik7CisKKwl1aW5mby0+dHlwZSA9IFNORFJWX0NUTF9FTEVNX1RZUEVfSU5URUdFUjsKKwl1aW5mby0+Y291bnQgPSAyOworCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1pbiA9IDA7CisJdWluZm8tPnZhbHVlLmludGVnZXIubWF4ID0gbWF4LW1pbjsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfaW5mb192b2xzd19zOCk7CisKKy8qKgorICogc25kX3NvY19nZXRfdm9sc3dfczggLSBzaWduZWQgbWl4ZXIgZ2V0IGNhbGxiYWNrCisgKiBAa2NvbnRyb2w6IG1peGVyIGNvbnRyb2wKKyAqIEB1aW5mbzogY29udHJvbCBlbGVtZW50IGluZm9ybWF0aW9uCisgKgorICogQ2FsbGJhY2sgdG8gZ2V0IHRoZSB2YWx1ZSBvZiBhIHNpZ25lZCBtaXhlciBjb250cm9sLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcy4KKyAqLworaW50IHNuZF9zb2NfZ2V0X3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOworCWludCBtaW4gPSAoc2lnbmVkIGNoYXIpKChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmKTsKKwlpbnQgdmFsID0gc25kX3NvY19yZWFkKGNvZGVjLCByZWcpOworCisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPQorCQkoKHNpZ25lZCBjaGFyKSh2YWwgJiAweGZmKSktbWluOworCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdID0KKwkJKChzaWduZWQgY2hhcikoKHZhbCA+PiA4KSAmIDB4ZmYpKS1taW47CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2dldF92b2xzd19zOCk7CisKKy8qKgorICogc25kX3NvY19wdXRfdm9sc3dfc2duIC0gc2lnbmVkIG1peGVyIHB1dCBjYWxsYmFjaworICogQGtjb250cm9sOiBtaXhlciBjb250cm9sCisgKiBAdWluZm86IGNvbnRyb2wgZWxlbWVudCBpbmZvcm1hdGlvbgorICoKKyAqIENhbGxiYWNrIHRvIHNldCB0aGUgdmFsdWUgb2YgYSBzaWduZWQgbWl4ZXIgY29udHJvbC4KKyAqCisgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MuCisgKi8KK2ludCBzbmRfc29jX3B1dF92b2xzd19zOChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJaW50IHJlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKKwlpbnQgbWluID0gKHNpZ25lZCBjaGFyKSgoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZik7CisJdW5zaWduZWQgc2hvcnQgdmFsOworCisJdmFsID0gKHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdK21pbikgJiAweGZmOworCXZhbCB8PSAoKHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdK21pbikgJiAweGZmKSA8PCA4OworCisJcmV0dXJuIHNuZF9zb2NfdXBkYXRlX2JpdHMoY29kZWMsIHJlZywgMHhmZmZmLCB2YWwpOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19wdXRfdm9sc3dfczgpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF9zeXNjbGsgLSBjb25maWd1cmUgREFJIHN5c3RlbSBvciBtYXN0ZXIgY2xvY2suCisgKiBAZGFpOiBEQUkKKyAqIEBjbGtfaWQ6IERBSSBzcGVjaWZpYyBjbG9jayBJRAorICogQGZyZXE6IG5ldyBjbG9jayBmcmVxdWVuY3kgaW4gSHoKKyAqIEBkaXI6IG5ldyBjbG9jayBkaXJlY3Rpb24gLSBpbnB1dC9vdXRwdXQuCisgKgorICogQ29uZmlndXJlcyB0aGUgREFJIG1hc3RlciAoTUNMSykgb3Igc3lzdGVtIChTWVNDTEspIGNsb2NraW5nLgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IGNsa19pZCwKKwl1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLnNldF9zeXNjbGspCisJCXJldHVybiBkYWktPmRhaV9vcHMuc2V0X3N5c2NsayhkYWksIGNsa19pZCwgZnJlcSwgZGlyKTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfc2V0X3N5c2Nsayk7CisKKy8qKgorICogc25kX3NvY19kYWlfc2V0X2Nsa2RpdiAtIGNvbmZpZ3VyZSBEQUkgY2xvY2sgZGl2aWRlcnMuCisgKiBAZGFpOiBEQUkKKyAqIEBjbGtfaWQ6IERBSSBzcGVjaWZpYyBjbG9jayBkaXZpZGVyIElECisgKiBAZGl2OiBuZXcgY2xvY2sgZGl2aXNvci4KKyAqCisgKiBDb25maWd1cmVzIHRoZSBjbG9jayBkaXZpZGVycy4gVGhpcyBpcyB1c2VkIHRvIGRlcml2ZSB0aGUgYmVzdCBEQUkgYml0IGFuZAorICogZnJhbWUgY2xvY2tzIGZyb20gdGhlIHN5c3RlbSBvciBtYXN0ZXIgY2xvY2suIEl0J3MgYmVzdCB0byBzZXQgdGhlIERBSSBiaXQKKyAqIGFuZCBmcmFtZSBjbG9ja3MgYXMgbG93IGFzIHBvc3NpYmxlIHRvIHNhdmUgc3lzdGVtIHBvd2VyLgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKKwlpbnQgZGl2X2lkLCBpbnQgZGl2KQoreworCWlmIChkYWktPmRhaV9vcHMuc2V0X2Nsa2RpdikKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGRhaSwgZGl2X2lkLCBkaXYpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9zZXRfY2xrZGl2KTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9zZXRfcGxsIC0gY29uZmlndXJlIERBSSBQTEwuCisgKiBAZGFpOiBEQUkKKyAqIEBwbGxfaWQ6IERBSSBzcGVjaWZpYyBQTEwgSUQKKyAqIEBmcmVxX2luOiBQTEwgaW5wdXQgY2xvY2sgZnJlcXVlbmN5IGluIEh6CisgKiBAZnJlcV9vdXQ6IHJlcXVlc3RlZCBQTEwgb3V0cHV0IGNsb2NrIGZyZXF1ZW5jeSBpbiBIegorICoKKyAqIENvbmZpZ3VyZXMgYW5kIGVuYWJsZXMgUExMIHRvIGdlbmVyYXRlIG91dHB1dCBjbG9jayBiYXNlZCBvbiBpbnB1dCBjbG9jay4KKyAqLworaW50IHNuZF9zb2NfZGFpX3NldF9wbGwoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJaW50IHBsbF9pZCwgdW5zaWduZWQgaW50IGZyZXFfaW4sIHVuc2lnbmVkIGludCBmcmVxX291dCkKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLnNldF9wbGwpCisJCXJldHVybiBkYWktPmRhaV9vcHMuc2V0X3BsbChkYWksIHBsbF9pZCwgZnJlcV9pbiwgZnJlcV9vdXQpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9zZXRfcGxsKTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9zZXRfZm10IC0gY29uZmlndXJlIERBSSBoYXJkd2FyZSBhdWRpbyBmb3JtYXQuCisgKiBAZGFpOiBEQUkKKyAqIEBjbGtfaWQ6IERBSSBzcGVjaWZpYyBjbG9jayBJRAorICogQGZtdDogU05EX1NPQ19EQUlGTVRfIGZvcm1hdCB2YWx1ZS4KKyAqCisgKiBDb25maWd1cmVzIHRoZSBEQUkgaGFyZHdhcmUgZm9ybWF0IGFuZCBjbG9ja2luZy4KKyAqLworaW50IHNuZF9zb2NfZGFpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5zZXRfZm10KQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLnNldF9mbXQoZGFpLCBmbXQpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9zZXRfZm10KTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9zZXRfdGRtX3Nsb3QgLSBjb25maWd1cmUgREFJIFRETS4KKyAqIEBkYWk6IERBSQorICogQG1hc2s6IERBSSBzcGVjaWZpYyBtYXNrIHJlcHJlc2VudGluZyB1c2VkIHNsb3RzLgorICogQHNsb3RzOiBOdW1iZXIgb2Ygc2xvdHMgaW4gdXNlLgorICoKKyAqIENvbmZpZ3VyZXMgYSBEQUkgZm9yIFRETSBvcGVyYXRpb24uIEJvdGggbWFzayBhbmQgc2xvdHMgYXJlIGNvZGVjIGFuZCBEQUkKKyAqIHNwZWNpZmljLgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X3RkbV9zbG90KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCXVuc2lnbmVkIGludCBtYXNrLCBpbnQgc2xvdHMpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLnNldF90ZG1fc2xvdChkYWksIG1hc2ssIHNsb3RzKTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfc2V0X3RkbV9zbG90KTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9zZXRfdHJpc3RhdGUgLSBjb25maWd1cmUgREFJIHN5c3RlbSBvciBtYXN0ZXIgY2xvY2suCisgKiBAZGFpOiBEQUkKKyAqIEB0cmlzdGF0ZTogdHJpc3RhdGUgZW5hYmxlCisgKgorICogVHJpc3RhdGVzIHRoZSBEQUkgc28gdGhhdCBvdGhlcnMgY2FuIHVzZSBpdC4KKyAqLworaW50IHNuZF9zb2NfZGFpX3NldF90cmlzdGF0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IHRyaXN0YXRlKQoreworCWlmIChkYWktPmRhaV9vcHMuc2V0X3N5c2NsaykKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5zZXRfdHJpc3RhdGUoZGFpLCB0cmlzdGF0ZSk7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF90cmlzdGF0ZSk7CisKKy8qKgorICogc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlIC0gY29uZmlndXJlIERBSSBzeXN0ZW0gb3IgbWFzdGVyIGNsb2NrLgorICogQGRhaTogREFJCisgKiBAbXV0ZTogbXV0ZSBlbmFibGUKKyAqCisgKiBNdXRlcyB0aGUgREFJIERBQy4KKyAqLworaW50IHNuZF9zb2NfZGFpX2RpZ2l0YWxfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUpCisJCXJldHVybiBkYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGRhaSwgbXV0ZSk7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX2RpZ2l0YWxfbXV0ZSk7CisKIHN0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9zb2NfaW5pdCh2b2lkKQogewogCXByaW50ayhLRVJOX0lORk8gIkFTb0MgdmVyc2lvbiAlc1xuIiwgU05EX1NPQ19WRVJTSU9OKTsKQEAgLTE1OTIsNyArMTgzNSw3IEBACiAKIHN0YXRpYyB2b2lkIHNuZF9zb2NfZXhpdCh2b2lkKQogewotIAlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rlcigmc29jX2RyaXZlcik7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnNvY19kcml2ZXIpOwogfQogCiBtb2R1bGVfaW5pdChzbmRfc29jX2luaXQpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NvYy1kYXBtLmMgYi9zb3VuZC9zb2Mvc29jLWRhcG0uYwppbmRleCBhZjMzMjZjLi4yYzg3MDYxIDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc29jLWRhcG0uYworKysgYi9zb3VuZC9zb2Mvc29jLWRhcG0uYwpAQCAtMTAsMTEgKzEwLDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAxMnRoIEF1ZyAyMDA1ICAgSW5pdGlhbCB2ZXJzaW9uLgotICogICAgMjV0aCBPY3QgMjAwNSAgIEltcGxlbWVudGVkIHBhdGggcG93ZXIgZG9tYWluLgotICogICAgMTh0aCBEZWMgMjAwNSAgIEltcGxlbWVudGVkIG1hY2hpbmUgYW5kIHN0cmVhbSBsZXZlbCBwb3dlciBkb21haW4uCi0gKgogICogIEZlYXR1cmVzOgogICogICAgbyBDaGFuZ2VzIHBvd2VyIHN0YXR1cyBvZiBpbnRlcm5hbCBjb2RlYyBibG9ja3MgZGVwZW5kaW5nIG9uIHRoZQogICogICAgICBkeW5hbWljIGNvbmZpZ3VyYXRpb24gb2YgY29kZWMgaW50ZXJuYWwgYXVkaW8gcGF0aHMgYW5kIGFjdGl2ZQpAQCAtNTAsMjMgKzQ1LDEwIEBACiAjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgogCiAvKiBkZWJ1ZyAqLwotI2RlZmluZSBEQVBNX0RFQlVHIDAKLSNpZiBEQVBNX0RFQlVHCisjaWZkZWYgREVCVUcKICNkZWZpbmUgZHVtcF9kYXBtKGNvZGVjLCBhY3Rpb24pIGRiZ19kdW1wX2RhcG0oY29kZWMsIGFjdGlvbikKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBwcmludGsoZm9ybWF0LCAjIyBhcmcpCiAjZWxzZQogI2RlZmluZSBkdW1wX2RhcG0oY29kZWMsIGFjdGlvbikKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKQotI2VuZGlmCi0KLSNkZWZpbmUgUE9QX0RFQlVHIDAKLSNpZiBQT1BfREVCVUcKLSNkZWZpbmUgUE9QX1RJTUUgNTAwIC8qIDUwMCBtc2VjcyAtIGNoYW5nZSBpZiBwb3AgZGVidWcgaXMgdG9vIGZhc3QgKi8KLSNkZWZpbmUgcG9wX3dhaXQodGltZSkgc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUobXNlY3NfdG9famlmZmllcyh0aW1lKSkKLSNkZWZpbmUgcG9wX2RiZyhmb3JtYXQsIGFyZy4uLikgcHJpbnRrKGZvcm1hdCwgIyMgYXJnKTsgcG9wX3dhaXQoUE9QX1RJTUUpCi0jZWxzZQotI2RlZmluZSBwb3BfZGJnKGZvcm1hdCwgYXJnLi4uKQotI2RlZmluZSBwb3Bfd2FpdCh0aW1lKQogI2VuZGlmCiAKIC8qIGRhcG0gcG93ZXIgc2VxdWVuY2VzIC0gbWFrZSB0aGlzIHBlciBjb2RlYyBpbiB0aGUgZnV0dXJlICovCkBAIC04NSw2ICs2NywyOCBAQAogbW9kdWxlX3BhcmFtKGRhcG1fc3RhdHVzLCBpbnQsIDApOwogTU9EVUxFX1BBUk1fREVTQyhkYXBtX3N0YXR1cywgImVuYWJsZSBEUE0gc3lzZnMgZW50cmllcyIpOwogCitzdGF0aWMgdW5zaWduZWQgaW50IHBvcF90aW1lOworCitzdGF0aWMgdm9pZCBwb3Bfd2FpdCh2b2lkKQoreworCWlmIChwb3BfdGltZSkKKwkJc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUobXNlY3NfdG9famlmZmllcyhwb3BfdGltZSkpOworfQorCitzdGF0aWMgdm9pZCBwb3BfZGJnKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXJnczsKKworCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7CisKKwlpZiAocG9wX3RpbWUpIHsKKwkJdnByaW50ayhmbXQsIGFyZ3MpOworCQlwb3Bfd2FpdCgpOworCX0KKworCXZhX2VuZChhcmdzKTsKK30KKwogLyogY3JlYXRlIGEgbmV3IGRhcG0gd2lkZ2V0ICovCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICpkYXBtX2NuZXdfd2lkZ2V0KAogCWNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICpfd2lkZ2V0KQpAQCAtMjIyLDExICsyMjYsMTIgQEAKIAljaGFuZ2UgPSBvbGQgIT0gbmV3OwogCWlmIChjaGFuZ2UpIHsKIAkJcG9wX2RiZygicG9wIHRlc3QgJXMgOiAlcyBpbiAlZCBtc1xuIiwgd2lkZ2V0LT5uYW1lLAotCQkJd2lkZ2V0LT5wb3dlciA/ICJvbiIgOiAib2ZmIiwgUE9QX1RJTUUpOworCQkJd2lkZ2V0LT5wb3dlciA/ICJvbiIgOiAib2ZmIiwgcG9wX3RpbWUpOwogCQlzbmRfc29jX3dyaXRlKGNvZGVjLCB3aWRnZXQtPnJlZywgbmV3KTsKLQkJcG9wX3dhaXQoUE9QX1RJTUUpOworCQlwb3Bfd2FpdCgpOwogCX0KLQlkYmcoInJlZyAleCBvbGQgJXggbmV3ICV4IGNoYW5nZSAlZFxuIiwgd2lkZ2V0LT5yZWcsIG9sZCwgbmV3LCBjaGFuZ2UpOworCXByX2RlYnVnKCJyZWcgJXggb2xkICV4IG5ldyAleCBjaGFuZ2UgJWRcbiIsIHdpZGdldC0+cmVnLAorCQkgb2xkLCBuZXcsIGNoYW5nZSk7CiAJcmV0dXJuIGNoYW5nZTsKIH0KIApAQCAtNDQ4LDYgKzQ1MywyNSBAQAogfQogCiAvKgorICogSGFuZGxlciBmb3IgZ2VuZXJpYyByZWdpc3RlciBtb2RpZmllciB3aWRnZXQuCisgKi8KK2ludCBkYXBtX3JlZ19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywKKwkJICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIGludCBldmVudCkKK3sKKwl1bnNpZ25lZCBpbnQgdmFsOworCisJaWYgKFNORF9TT0NfREFQTV9FVkVOVF9PTihldmVudCkpCisJCXZhbCA9IHctPm9uX3ZhbDsKKwllbHNlCisJCXZhbCA9IHctPm9mZl92YWw7CisKKwlzbmRfc29jX3VwZGF0ZV9iaXRzKHctPmNvZGVjLCAtKHctPnJlZyArIDEpLAorCQkJICAgIHctPm1hc2sgPDwgdy0+c2hpZnQsIHZhbCA8PCB3LT5zaGlmdCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKICAqIFNjYW4gZWFjaCBkYXBtIHdpZGdldCBmb3IgY29tcGxldGUgYXVkaW8gcGF0aC4KICAqIEEgY29tcGxldGUgcGF0aCBpcyBhIHJvdXRlIHRoYXQgaGFzIHZhbGlkIGVuZHBvaW50cyBpLmUuOi0KICAqCkBAIC01NjUsOCArNTg5LDggQEAKIAkJCS8qIGNhbGwgYW55IHBvd2VyIGNoYW5nZSBldmVudCBoYW5kbGVycyAqLwogCQkJaWYgKHBvd2VyX2NoYW5nZSkgewogCQkJCWlmICh3LT5ldmVudCkgewotCQkJCQlkYmcoInBvd2VyICVzIGV2ZW50IGZvciAlcyBmbGFncyAleFxuIiwKLQkJCQkJCXctPnBvd2VyID8gIm9uIiA6ICJvZmYiLCB3LT5uYW1lLCB3LT5ldmVudF9mbGFncyk7CisJCQkJCXByX2RlYnVnKCJwb3dlciAlcyBldmVudCBmb3IgJXMgZmxhZ3MgJXhcbiIsCisJCQkJCQkgdy0+cG93ZXIgPyAib24iIDogIm9mZiIsIHctPm5hbWUsIHctPmV2ZW50X2ZsYWdzKTsKIAkJCQkJaWYgKHBvd2VyKSB7CiAJCQkJCQkvKiBwb3dlciB1cCBldmVudCAqLwogCQkJCQkJaWYgKHctPmV2ZW50X2ZsYWdzICYgU05EX1NPQ19EQVBNX1BSRV9QTVUpIHsKQEAgLTYwOCw3ICs2MzIsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLSNpZiBEQVBNX0RFQlVHCisjaWZkZWYgREVCVUcKIHN0YXRpYyB2b2lkIGRiZ19kdW1wX2RhcG0oc3RydWN0IHNuZF9zb2NfY29kZWMqIGNvZGVjLCBjb25zdCBjaGFyICphY3Rpb24pCiB7CiAJc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKnc7CkBAIC02OTMsOCArNzE3LDEwIEBACiAJCQlwYXRoLT5jb25uZWN0ID0gMDsgLyogb2xkIGNvbm5lY3Rpb24gbXVzdCBiZSBwb3dlcmVkIGRvd24gKi8KIAl9CiAKLQlpZiAoZm91bmQpCisJaWYgKGZvdW5kKSB7CiAJCWRhcG1fcG93ZXJfd2lkZ2V0cyh3aWRnZXQtPmNvZGVjLCBTTkRfU09DX0RBUE1fU1RSRUFNX05PUCk7CisJCWR1bXBfZGFwbSh3aWRnZXQtPmNvZGVjLCAibXV4IHBvd2VyIHVwZGF0ZSIpOworCX0KIAogCXJldHVybiAwOwogfQpAQCAtNzMwLDggKzc1NiwxMCBAQAogCQlicmVhazsKIAl9CiAKLQlpZiAoZm91bmQpCisJaWYgKGZvdW5kKSB7CiAJCWRhcG1fcG93ZXJfd2lkZ2V0cyh3aWRnZXQtPmNvZGVjLCBTTkRfU09DX0RBUE1fU1RSRUFNX05PUCk7CisJCWR1bXBfZGFwbSh3aWRnZXQtPmNvZGVjLCAibWl4ZXIgcG93ZXIgdXBkYXRlIik7CisJfQogCiAJcmV0dXJuIDA7CiB9CkBAIC03NjgsMjEgKzc5NiwxOCBAQAogCQl9CiAJfQogCi0Jc3dpdGNoKGNvZGVjLT5kYXBtX3N0YXRlKXsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDoKLQkJc3RhdGUgPSAiRDAiOworCXN3aXRjaCAoY29kZWMtPmJpYXNfbGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKKwkJc3RhdGUgPSAiT24iOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMToKLQkJc3RhdGUgPSAiRDEiOworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CisJCXN0YXRlID0gIlByZXBhcmUiOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjoKLQkJc3RhdGUgPSAiRDIiOworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CisJCXN0YXRlID0gIlN0YW5kYnkiOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDoKLQkJc3RhdGUgPSAiRDNob3QiOwotCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6Ci0JCXN0YXRlID0gIkQzY29sZCI7CisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgorCQlzdGF0ZSA9ICJPZmYiOwogCQlicmVhazsKIAl9CiAJY291bnQgKz0gc3ByaW50ZihidWYgKyBjb3VudCwgIlBNIFN0YXRlOiAlc1xuIiwgc3RhdGUpOwpAQCAtNzkyLDIwICs4MTcsNTEgQEAKIAogc3RhdGljIERFVklDRV9BVFRSKGRhcG1fd2lkZ2V0LCAwNDQ0LCBkYXBtX3dpZGdldF9zaG93LCBOVUxMKTsKIAorLyogcG9wL2NsaWNrIGRlbGF5IHRpbWVzICovCitzdGF0aWMgc3NpemVfdCBkYXBtX3BvcF90aW1lX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAorCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIHBvcF90aW1lKTsKK30KKworc3RhdGljIHNzaXplX3QgZGFwbV9wb3BfdGltZV9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCisKK3sKKwl1bnNpZ25lZCBsb25nIHZhbDsKKworCWlmIChzdHJpY3Rfc3RydG91bChidWYsIDEwLCAmdmFsKSA+PSAwKQorCQlwb3BfdGltZSA9IHZhbDsKKwllbHNlCisJCXByaW50ayhLRVJOX0VSUiAiVW5hYmxlIHRvIHBhcnNlIHBvcF90aW1lIHNldHRpbmdcbiIpOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgREVWSUNFX0FUVFIoZGFwbV9wb3BfdGltZSwgMDc0NCwgZGFwbV9wb3BfdGltZV9zaG93LAorCQkgICBkYXBtX3BvcF90aW1lX3N0b3JlKTsKKwogaW50IHNuZF9zb2NfZGFwbV9zeXNfYWRkKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChkYXBtX3N0YXR1cykKKwlpZiAoZGFwbV9zdGF0dXMpIHsKIAkJcmV0ID0gZGV2aWNlX2NyZWF0ZV9maWxlKGRldiwgJmRldl9hdHRyX2RhcG1fd2lkZ2V0KTsKIAorCQlpZiAocmV0ID09IDApCisJCQlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfZGFwbV9wb3BfdGltZSk7CisJfQorCiAJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgc25kX3NvY19kYXBtX3N5c19yZW1vdmUoc3RydWN0IGRldmljZSAqZGV2KQogewotCWlmIChkYXBtX3N0YXR1cykKKwlpZiAoZGFwbV9zdGF0dXMpIHsKKwkJZGV2aWNlX3JlbW92ZV9maWxlKGRldiwgJmRldl9hdHRyX2RhcG1fcG9wX3RpbWUpOwogCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfZGFwbV93aWRnZXQpOworCX0KIH0KIAogLyogZnJlZSBhbGwgZGFwbSB3aWRnZXRzIGFuZCByZXNvdXJjZXMgKi8KQEAgLTgyNiw4ICs4ODIsMjUgQEAKIAl9CiB9CiAKK3N0YXRpYyBpbnQgc25kX3NvY19kYXBtX3NldF9waW4oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWNoYXIgKnBpbiwgaW50IHN0YXR1cykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdzsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkodywgJmNvZGVjLT5kYXBtX3dpZGdldHMsIGxpc3QpIHsKKwkJaWYgKCFzdHJjbXAody0+bmFtZSwgcGluKSkgeworCQkJcHJfZGVidWcoImRhcG06ICVzOiBwaW4gJXNcbiIsIGNvZGVjLT5uYW1lLCBwaW4pOworCQkJdy0+Y29ubmVjdGVkID0gc3RhdHVzOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKwlwcl9lcnIoImRhcG06ICVzOiBjb25maWd1cmluZyB1bmtub3duIHBpbiAlc1xuIiwgY29kZWMtPm5hbWUsIHBpbik7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKIC8qKgotICogc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzIC0gc2NhbiBhbmQgcG93ZXIgZGFwbSBwYXRocworICogc25kX3NvY19kYXBtX3N5bmMgLSBzY2FuIGFuZCBwb3dlciBkYXBtIHBhdGhzCiAgKiBAY29kZWM6IGF1ZGlvIGNvZGVjCiAgKgogICogV2Fsa3MgYWxsIGRhcG0gYXVkaW8gcGF0aHMgYW5kIHBvd2VycyB3aWRnZXRzIGFjY29yZGluZyB0byB0aGVpcgpAQCAtODM1LDI3ICs5MDgsMTYgQEAKICAqCiAgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MuCiAgKi8KLWludCBzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoraW50IHNuZF9zb2NfZGFwbV9zeW5jKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlyZXR1cm4gZGFwbV9wb3dlcl93aWRnZXRzKGNvZGVjLCBTTkRfU09DX0RBUE1fU1RSRUFNX05PUCk7CisJaW50IHJldCA9IGRhcG1fcG93ZXJfd2lkZ2V0cyhjb2RlYywgU05EX1NPQ19EQVBNX1NUUkVBTV9OT1ApOworCWR1bXBfZGFwbShjb2RlYywgInN5bmMiKTsKKwlyZXR1cm4gcmV0OwogfQotRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9zeW5jKTsKIAotLyoqCi0gKiBzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dCAtIGNvbm5lY3QgZGFwbSB3aWRnZXRzCi0gKiBAY29kZWM6IGF1ZGlvIGNvZGVjCi0gKiBAc2luazogbmFtZSBvZiB0YXJnZXQgd2lkZ2V0Ci0gKiBAY29udHJvbDogbWl4ZXIgY29udHJvbCBuYW1lCi0gKiBAc291cmNlOiBuYW1lIG9mIHNvdXJjZSBuYW1lCi0gKgotICogQ29ubmVjdHMgMiBkYXBtIHdpZGdldHMgdG9nZXRoZXIgdmlhIGEgbmFtZWQgYXVkaW8gcGF0aC4gVGhlIHNpbmsgaXMKLSAqIHRoZSB3aWRnZXQgcmVjZWl2aW5nIHRoZSBhdWRpbyBzaWduYWwsIHdoaWxzdCB0aGUgc291cmNlIGlzIHRoZSBzZW5kZXIKLSAqIG9mIHRoZSBhdWRpbyBzaWduYWwuCi0gKgotICogUmV0dXJucyAwIGZvciBzdWNjZXNzIGVsc2UgZXJyb3IuCi0gKi8KLWludCBzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNvbnN0IGNoYXIgKnNpbmssCi0JY29uc3QgY2hhciAqIGNvbnRyb2wsIGNvbnN0IGNoYXIgKnNvdXJjZSkKK3N0YXRpYyBpbnQgc25kX3NvY19kYXBtX2FkZF9yb3V0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJY29uc3QgY2hhciAqc2luaywgY29uc3QgY2hhciAqY29udHJvbCwgY29uc3QgY2hhciAqc291cmNlKQogewogCXN0cnVjdCBzbmRfc29jX2RhcG1fcGF0aCAqcGF0aDsKIAlzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqd3NvdXJjZSA9IE5VTEwsICp3c2luayA9IE5VTEwsICp3OwpAQCAtOTU3LDkgKzEwMTksNjQgQEAKIAlrZnJlZShwYXRoKTsKIAlyZXR1cm4gcmV0OwogfQorCisvKioKKyAqIHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0IC0gY29ubmVjdCBkYXBtIHdpZGdldHMKKyAqIEBjb2RlYzogYXVkaW8gY29kZWMKKyAqIEBzaW5rOiBuYW1lIG9mIHRhcmdldCB3aWRnZXQKKyAqIEBjb250cm9sOiBtaXhlciBjb250cm9sIG5hbWUKKyAqIEBzb3VyY2U6IG5hbWUgb2Ygc291cmNlIG5hbWUKKyAqCisgKiBDb25uZWN0cyAyIGRhcG0gd2lkZ2V0cyB0b2dldGhlciB2aWEgYSBuYW1lZCBhdWRpbyBwYXRoLiBUaGUgc2luayBpcworICogdGhlIHdpZGdldCByZWNlaXZpbmcgdGhlIGF1ZGlvIHNpZ25hbCwgd2hpbHN0IHRoZSBzb3VyY2UgaXMgdGhlIHNlbmRlcgorICogb2YgdGhlIGF1ZGlvIHNpZ25hbC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIHNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKCkuCisgKgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzIGVsc2UgZXJyb3IuCisgKi8KK2ludCBzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNvbnN0IGNoYXIgKnNpbmssCisJY29uc3QgY2hhciAqY29udHJvbCwgY29uc3QgY2hhciAqc291cmNlKQoreworCXJldHVybiBzbmRfc29jX2RhcG1fYWRkX3JvdXRlKGNvZGVjLCBzaW5rLCBjb250cm9sLCBzb3VyY2UpOworfQogRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQpOwogCiAvKioKKyAqIHNuZF9zb2NfZGFwbV9hZGRfcm91dGVzIC0gQWRkIHJvdXRlcyBiZXR3ZWVuIERBUE0gd2lkZ2V0cworICogQGNvZGVjOiBjb2RlYworICogQHJvdXRlOiBhdWRpbyByb3V0ZXMKKyAqIEBudW06IG51bWJlciBvZiByb3V0ZXMKKyAqCisgKiBDb25uZWN0cyAyIGRhcG0gd2lkZ2V0cyB0b2dldGhlciB2aWEgYSBuYW1lZCBhdWRpbyBwYXRoLiBUaGUgc2luayBpcworICogdGhlIHdpZGdldCByZWNlaXZpbmcgdGhlIGF1ZGlvIHNpZ25hbCwgd2hpbHN0IHRoZSBzb3VyY2UgaXMgdGhlIHNlbmRlcgorICogb2YgdGhlIGF1ZGlvIHNpZ25hbC4KKyAqCisgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4gT24gZXJyb3IgYWxsIHJlc291cmNlcyBjYW4gYmUgZnJlZWQKKyAqIHdpdGggYSBjYWxsIHRvIHNuZF9zb2NfY2FyZF9mcmVlKCkuCisgKi8KK2ludCBzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkgICAgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSAqcm91dGUsIGludCBudW0pCit7CisJaW50IGksIHJldDsKKworCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgeworCQlyZXQgPSBzbmRfc29jX2RhcG1fYWRkX3JvdXRlKGNvZGVjLCByb3V0ZS0+c2luaywKKwkJCQkJICAgICByb3V0ZS0+Y29udHJvbCwgcm91dGUtPnNvdXJjZSk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBhZGQgcm91dGUgJXMtPiVzXG4iLAorCQkJICAgICAgIHJvdXRlLT5zb3VyY2UsCisJCQkgICAgICAgcm91dGUtPnNpbmspOworCQkJcmV0dXJuIHJldDsKKwkJfQorCQlyb3V0ZSsrOworCX0KKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMpOworCisvKioKICAqIHNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyAtIGFkZCBuZXcgZGFwbSB3aWRnZXRzCiAgKiBAY29kZWM6IGF1ZGlvIGNvZGVjCiAgKgpAQCAtMTIzNCw2ICsxMzUxLDMzIEBACiBFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2wpOwogCiAvKioKKyAqIHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMgLSBjcmVhdGUgbmV3IGRhcG0gY29udHJvbHMKKyAqIEBjb2RlYzogYXVkaW8gY29kZWMKKyAqIEB3aWRnZXQ6IHdpZGdldCBhcnJheQorICogQG51bTogbnVtYmVyIG9mIHdpZGdldHMKKyAqCisgKiBDcmVhdGVzIG5ldyBEQVBNIGNvbnRyb2xzIGJhc2VkIHVwb24gdGhlIHRlbXBsYXRlcy4KKyAqCisgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4KKyAqLworaW50IHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3aWRnZXQsCisJaW50IG51bSkKK3sKKwlpbnQgaSwgcmV0OworCisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CisJCXJldCA9IHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgd2lkZ2V0KTsKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gcmV0OworCQl3aWRnZXQrKzsKKwl9CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKTsKKworCisvKioKICAqIHNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQgLSBzZW5kIGEgc3RyZWFtIGV2ZW50IHRvIHRoZSBkYXBtIGNvcmUKICAqIEBjb2RlYzogYXVkaW8gY29kZWMKICAqIEBzdHJlYW06IHN0cmVhbSBuYW1lCkBAIC0xMjU3LDggKzE0MDEsOCBAQAogCXsKIAkJaWYgKCF3LT5zbmFtZSkKIAkJCWNvbnRpbnVlOwotCQlkYmcoIndpZGdldCAlc1xuICVzIHN0cmVhbSAlcyBldmVudCAlZFxuIiwgdy0+bmFtZSwgdy0+c25hbWUsCi0JCQlzdHJlYW0sIGV2ZW50KTsKKwkJcHJfZGVidWcoIndpZGdldCAlc1xuICVzIHN0cmVhbSAlcyBldmVudCAlZFxuIiwKKwkJCSB3LT5uYW1lLCB3LT5zbmFtZSwgc3RyZWFtLCBldmVudCk7CiAJCWlmIChzdHJzdHIody0+c25hbWUsIHN0cmVhbSkpIHsKIAkJCXN3aXRjaChldmVudCkgewogCQkJY2FzZSBTTkRfU09DX0RBUE1fU1RSRUFNX1NUQVJUOgpAQCAtMTI5NCw1MyArMTQzOCw4MSBAQAogRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudCk7CiAKIC8qKgotICogc25kX3NvY19kYXBtX2RldmljZV9ldmVudCAtIHNlbmQgYSBkZXZpY2UgZXZlbnQgdG8gdGhlIGRhcG0gY29yZQorICogc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsIC0gc2V0IHRoZSBiaWFzIGxldmVsIGZvciB0aGUgc3lzdGVtCiAgKiBAc29jZGV2OiBhdWRpbyBkZXZpY2UKLSAqIEBldmVudDogZGV2aWNlIGV2ZW50CisgKiBAbGV2ZWw6IGxldmVsIHRvIGNvbmZpZ3VyZQogICoKLSAqIFNlbmRzIGEgZGV2aWNlIGV2ZW50IHRvIHRoZSBkYXBtIGNvcmUuIFRoZSBjb3JlIHRoZW4gbWFrZXMgYW55Ci0gKiBuZWNlc3NhcnkgbWFjaGluZSBvciBjb2RlYyBwb3dlciBjaGFuZ2VzLi4KKyAqIENvbmZpZ3VyZSB0aGUgYmlhcyAocG93ZXIpIGxldmVscyBmb3IgdGhlIFNvQyBhdWRpbyBkZXZpY2UuCiAgKgogICogUmV0dXJucyAwIGZvciBzdWNjZXNzIGVsc2UgZXJyb3IuCiAgKi8KLWludCBzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2LCBpbnQgZXZlbnQpCitpbnQgc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2LAorCQkJCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmIChtYWNoaW5lLT5kYXBtX2V2ZW50KQotCQltYWNoaW5lLT5kYXBtX2V2ZW50KG1hY2hpbmUsIGV2ZW50KTsKLQlpZiAoY29kZWMtPmRhcG1fZXZlbnQpCi0JCWNvZGVjLT5kYXBtX2V2ZW50KGNvZGVjLCBldmVudCk7Ci0JcmV0dXJuIDA7CisJaWYgKG1hY2hpbmUtPnNldF9iaWFzX2xldmVsKQorCQlyZXQgPSBtYWNoaW5lLT5zZXRfYmlhc19sZXZlbChtYWNoaW5lLCBsZXZlbCk7CisJaWYgKHJldCA9PSAwICYmIGNvZGVjLT5zZXRfYmlhc19sZXZlbCkKKwkJcmV0ID0gY29kZWMtPnNldF9iaWFzX2xldmVsKGNvZGVjLCBsZXZlbCk7CisKKwlyZXR1cm4gcmV0OwogfQotRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX2RldmljZV9ldmVudCk7CiAKIC8qKgotICogc25kX3NvY19kYXBtX3NldF9lbmRwb2ludCAtIHNldCBhdWRpbyBlbmRwb2ludCBzdGF0dXMKLSAqIEBjb2RlYzogYXVkaW8gY29kZWMKLSAqIEBlbmRwb2ludDogYXVkaW8gc2lnbmFsIGVuZHBvaW50IChvciBzdGFydCBwb2ludCkKLSAqIEBzdGF0dXM6IHBvaW50IHN0YXR1cworICogc25kX3NvY19kYXBtX2VuYWJsZV9waW4gLSBlbmFibGUgcGluLgorICogQHNuZF9zb2NfY29kZWM6IFNvQyBjb2RlYworICogQHBpbjogcGluIG5hbWUKICAqCi0gKiBTZXQgYXVkaW8gZW5kcG9pbnQgc3RhdHVzIC0gY29ubmVjdGVkIG9yIGRpc2Nvbm5lY3RlZC4KLSAqCi0gKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4KKyAqIEVuYWJsZXMgaW5wdXQvb3V0cHV0IHBpbiBhbmQgaXQncyBwYXJlbnRzIG9yIGNoaWxkcmVuIHdpZGdldHMgaWZmIHRoZXJlIGlzCisgKiBhIHZhbGlkIGF1ZGlvIHJvdXRlIGFuZCBhY3RpdmUgYXVkaW8gc3RyZWFtLgorICogTk9URTogc25kX3NvY19kYXBtX3N5bmMoKSBuZWVkcyB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhpcyBmb3IgREFQTSB0bworICogZG8gYW55IHdpZGdldCBwb3dlciBzd2l0Y2hpbmcuCiAgKi8KLWludCBzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKLQljaGFyICplbmRwb2ludCwgaW50IHN0YXR1cykKK2ludCBzbmRfc29jX2RhcG1fZW5hYmxlX3BpbihzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNoYXIgKnBpbikKK3sKKwlyZXR1cm4gc25kX3NvY19kYXBtX3NldF9waW4oY29kZWMsIHBpbiwgMSk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbik7CisKKy8qKgorICogc25kX3NvY19kYXBtX2Rpc2FibGVfcGluIC0gZGlzYWJsZSBwaW4uCisgKiBAY29kZWM6IFNvQyBjb2RlYworICogQHBpbjogcGluIG5hbWUKKyAqCisgKiBEaXNhYmxlcyBpbnB1dC9vdXRwdXQgcGluIGFuZCBpdCdzIHBhcmVudHMgb3IgY2hpbGRyZW4gd2lkZ2V0cy4KKyAqIE5PVEU6IHNuZF9zb2NfZGFwbV9zeW5jKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGFmdGVyIHRoaXMgZm9yIERBUE0gdG8KKyAqIGRvIGFueSB3aWRnZXQgcG93ZXIgc3dpdGNoaW5nLgorICovCitpbnQgc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKQoreworCXJldHVybiBzbmRfc29jX2RhcG1fc2V0X3Bpbihjb2RlYywgcGluLCAwKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbik7CisKKy8qKgorICogc25kX3NvY19kYXBtX2dldF9waW5fc3RhdHVzIC0gZ2V0IGF1ZGlvIHBpbiBzdGF0dXMKKyAqIEBjb2RlYzogYXVkaW8gY29kZWMKKyAqIEBwaW46IGF1ZGlvIHNpZ25hbCBwaW4gZW5kcG9pbnQgKG9yIHN0YXJ0IHBvaW50KQorICoKKyAqIEdldCBhdWRpbyBwaW4gc3RhdHVzIC0gY29ubmVjdGVkIG9yIGRpc2Nvbm5lY3RlZC4KKyAqCisgKiBSZXR1cm5zIDEgZm9yIGNvbm5lY3RlZCBvdGhlcndpc2UgMC4KKyAqLworaW50IHNuZF9zb2NfZGFwbV9nZXRfcGluX3N0YXR1cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNoYXIgKnBpbikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdzsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkodywgJmNvZGVjLT5kYXBtX3dpZGdldHMsIGxpc3QpIHsKLQkJaWYgKCFzdHJjbXAody0+bmFtZSwgZW5kcG9pbnQpKSB7Ci0JCQl3LT5jb25uZWN0ZWQgPSBzdGF0dXM7Ci0JCQlyZXR1cm4gMDsKLQkJfQorCQlpZiAoIXN0cmNtcCh3LT5uYW1lLCBwaW4pKQorCQkJcmV0dXJuIHctPmNvbm5lY3RlZDsKIAl9CiAKLQlyZXR1cm4gLUVOT0RFVjsKKwlyZXR1cm4gMDsKIH0KLUVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQpOworRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX2dldF9waW5fc3RhdHVzKTsKIAogLyoqCiAgKiBzbmRfc29jX2RhcG1fZnJlZSAtIGZyZWUgZGFwbSByZXNvdXJjZXMKZGlmZiAtLWdpdCBhL3NvdW5kL3NvdW5kX2NvcmUuYyBiL3NvdW5kL3NvdW5kX2NvcmUuYwppbmRleCA0NmRhY2ExLi5kY2ZjMWQ1IDEwMDY0NAotLS0gYS9zb3VuZC9zb3VuZF9jb3JlLmMKKysrIGIvc291bmQvc291bmRfY29yZS5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KQEAgLTQ2NCw2ICs0NjUsOCBAQAogCXN0cnVjdCBzb3VuZF91bml0ICpzOwogCWNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKm5ld19mb3BzID0gTlVMTDsKIAorCWxvY2tfa2VybmVsICgpOworCiAJY2hhaW49dW5pdCYweDBGOwogCWlmKGNoYWluPT00IHx8IGNoYWluPT01KQkvKiBkc3AvYXVkaW8vZHNwMTYgKi8KIAl7CkBAIC01MTEsOSArNTE0LDExIEBACiAJCQlmaWxlLT5mX29wID0gZm9wc19nZXQob2xkX2ZvcHMpOwogCQl9CiAJCWZvcHNfcHV0KG9sZF9mb3BzKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gZXJyOwogCX0KIAlzcGluX3VubG9jaygmc291bmRfbG9hZGVyX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gLUVOT0RFVjsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc3BhcmMvS2NvbmZpZyBiL3NvdW5kL3NwYXJjL0tjb25maWcKaW5kZXggMDc5ZTIyYS4uZDc1ZGViYSAxMDA2NDQKLS0tIGEvc291bmQvc3BhcmMvS2NvbmZpZworKysgYi9zb3VuZC9zcGFyYy9LY29uZmlnCkBAIC0xLDExICsxLDE3IEBACiAjIEFMU0EgU3BhcmMgZHJpdmVycwogCi1tZW51ICJBTFNBIFNwYXJjIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgU1BBUkMKK21lbnVjb25maWcgU05EX1NQQVJDCisJYm9vbCAiU3BhcmMgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFNQQVJDCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBzcGVjaWZpYyB0byBTdW4gU1BBUkMgYXJjaGl0ZWN0dXJlcy4KKworaWYgU05EX1NQQVJDCiAKIGNvbmZpZyBTTkRfU1VOX0FNRDc5MzAKIAl0cmlzdGF0ZSAiU3VuIEFNRDc5MzAiCi0JZGVwZW5kcyBvbiBTQlVTICYmIFNORAorCWRlcGVuZHMgb24gU0JVUwogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEFNRDc5MzAgc291bmQgZGV2aWNlIG9uIFN1bi4KQEAgLTE1LDcgKzIxLDYgQEAKIAogY29uZmlnIFNORF9TVU5fQ1M0MjMxCiAJdHJpc3RhdGUgIlN1biBDUzQyMzEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBDUzQyMzEgc291bmQgZGV2aWNlIG9uIFN1bi4KQEAgLTI1LDcgKzMwLDcgQEAKIAogY29uZmlnIFNORF9TVU5fREJSSQogCXRyaXN0YXRlICJTdW4gREJSSSIKLQlkZXBlbmRzIG9uIFNORCAmJiBTQlVTCisJZGVwZW5kcyBvbiBTQlVTCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgREJSSSBzb3VuZCBkZXZpY2Ugb24gU3VuLgpAQCAtMzMsNCArMzgsNCBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLXN1bi1kYnJpLgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9TUEFSQwpkaWZmIC0tZ2l0IGEvc291bmQvc3BhcmMvZGJyaS5jIGIvc291bmQvc3BhcmMvZGJyaS5jCmluZGV4IDNkMDBlMDcuLmVlMmUxYjQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NwYXJjL2RicmkuYworKysgYi9zb3VuZC9zcGFyYy9kYnJpLmMKQEAgLTI0OTAsNyArMjQ5MCw3IEBACiB9CiAjZW5kaWYKIAotdm9pZCBfX2RldmluaXQgc25kX2RicmlfcHJvYyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQpCitzdGF0aWMgdm9pZCBfX2RldmluaXQgc25kX2RicmlfcHJvYyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQpCiB7CiAJc3RydWN0IHNuZF9kYnJpICpkYnJpID0gY2FyZC0+cHJpdmF0ZV9kYXRhOwogCXN0cnVjdCBzbmRfaW5mb19lbnRyeSAqZW50cnk7CmRpZmYgLS1naXQgYS9zb3VuZC9zcGkvS2NvbmZpZyBiL3NvdW5kL3NwaS9LY29uZmlnCmluZGV4IDBkMDhjMjkuLmU2NDg1YmUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NwaS9LY29uZmlnCisrKyBiL3NvdW5kL3NwaS9LY29uZmlnCkBAIC0xLDcgKzEsMTMgQEAKICNTUEkgZHJpdmVycwogCi1tZW51ICJTUEkgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCAhPSBuCittZW51Y29uZmlnIFNORF9TUEkKKwlib29sICJTUEkgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFNQSQorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgY29ubmVjdGVkIHZpYSB0aGUgU1BJIGJ1cy4KKworaWYgU05EX1NQSQogCiBjb25maWcgU05EX0FUNzNDMjEzCiAJdHJpc3RhdGUgIkF0bWVsIEFUNzNDMjEzIERBQyBkcml2ZXIiCkBAIC0yOCw0ICszNCw1IEBACiAKIAkgIFNldCB0byA0ODAwMCBIeiBieSBkZWZhdWx0LgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9TUEkKKwpkaWZmIC0tZ2l0IGEvc291bmQvdXNiL0tjb25maWcgYi9zb3VuZC91c2IvS2NvbmZpZwppbmRleCA5MzUxYjhhLi5mZmNkYzhmIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvS2NvbmZpZworKysgYi9zb3VuZC91c2IvS2NvbmZpZwpAQCAtMSwxMSArMSwxNiBAQAogIyBBTFNBIFVTQiBkcml2ZXJzCiAKLW1lbnUgIlVTQiBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFVTQiE9bgorbWVudWNvbmZpZyBTTkRfVVNCCisJYm9vbCAiVVNCIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBVU0IKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgdGhlIFVTQiBidXMuCisKK2lmIFNORF9VU0IgJiYgVVNCCiAKIGNvbmZpZyBTTkRfVVNCX0FVRElPCiAJdHJpc3RhdGUgIlVTQiBBdWRpby9NSURJIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORCAmJiBVU0IKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTE4LDcgKzIzLDcgQEAKIAogY29uZmlnIFNORF9VU0JfVVNYMlkKIAl0cmlzdGF0ZSAiVGFzY2FtIFVTLTEyMiwgVVMtMjI0IGFuZCBVUy00MjggVVNCIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORCAmJiBVU0IgJiYgKFg4NiB8fCBQUEMgfHwgQUxQSEEpCisJZGVwZW5kcyBvbiBYODYgfHwgUFBDIHx8IEFMUEhBCiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zMSw3ICszNiw2IEBACiAKIGNvbmZpZyBTTkRfVVNCX0NBSUFRCiAJdHJpc3RhdGUgIk5hdGl2ZSBJbnN0cnVtZW50cyBVU0IgYXVkaW8gZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCAmJiBVU0IKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTYzLDUgKzY3LDUgQEAKIAkgICAqIE5hdGl2ZSBJbnN0cnVtZW50cyBLb3JlIENvbnRyb2xsZXIgMgogCSAgICogTmF0aXZlIEluc3RydW1lbnRzIEF1ZGlvIEtvbnRyb2wgMQogCi1lbmRtZW51CitlbmRpZgkjIFNORF9VU0IKIApkaWZmIC0tZ2l0IGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWF1ZGlvLmMgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtYXVkaW8uYwppbmRleCAyNDk3MGE1Li5iM2E2MDMzIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtYXVkaW8uYworKysgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtYXVkaW8uYwpAQCAtNjM3LDYgKzYzNyw3IEBACiAJc3dpdGNoIChkZXYtPmNoaXAudXNiX2lkKSB7CiAJY2FzZSBVU0JfSUQoVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywgVVNCX1BJRF9BSzEpOgogCWNhc2UgVVNCX0lEKFVTQl9WSURfTkFUSVZFSU5TVFJVTUVOVFMsIFVTQl9QSURfUklHS09OVFJPTDMpOgorCWNhc2UgVVNCX0lEKFVTQl9WSURfTkFUSVZFSU5TVFJVTUVOVFMsIFVTQl9QSURfU0VTU0lPTklPKToKIAkJZGV2LT5zYW1wbGVyYXRlcyB8PSBTTkRSVl9QQ01fUkFURV84ODIwMDsKIAkJZGV2LT5zYW1wbGVyYXRlcyB8PSBTTkRSVl9QQ01fUkFURV8xOTIwMDA7CiAJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5jIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5jCmluZGV4IGE5NzJmNzcuLjgzMTc1MDggMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuYworKysgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmMKQEAgLTQyLDE0ICs0MiwxNSBAQAogI2VuZGlmCiAKIE1PRFVMRV9BVVRIT1IoIkRhbmllbCBNYWNrIDxkYW5pZWxAY2FpYXEuZGU+Iik7Ci1NT0RVTEVfREVTQ1JJUFRJT04oImNhaWFxIFVTQiBhdWRpbywgdmVyc2lvbiAxLjMuNiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJjYWlhcSBVU0IgYXVkaW8sIHZlcnNpb24gMS4zLjgiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIE1PRFVMRV9TVVBQT1JURURfREVWSUNFKCJ7e05hdGl2ZSBJbnN0cnVtZW50cywgUmlnS29udHJvbDJ9LCIKIAkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgUmlnS29udHJvbDN9LCIKIAkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgS29yZSBDb250cm9sbGVyfSwiCiAJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIEtvcmUgQ29udHJvbGxlciAyfSwiCi0JCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIEF1ZGlvIEtvbnRyb2wgMX0iCi0JCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIEF1ZGlvIDggREp9fSIpOworCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBBdWRpbyBLb250cm9sIDF9LCIKKwkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgQXVkaW8gOCBESn0sIgorCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBTZXNzaW9uIEkvT319Iik7CiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7IC8qIEluZGV4IDAtbWF4ICovCiBzdGF0aWMgY2hhciogaWRbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9TVFI7IC8qIElkIGZvciB0aGlzIGNhcmQgKi8KQEAgLTExMCw2ICsxMTEsMTEgQEAKIAkJLmlkVmVuZG9yID0gICAgIFVTQl9WSURfTkFUSVZFSU5TVFJVTUVOVFMsCiAJCS5pZFByb2R1Y3QgPSAgICBVU0JfUElEX0FVRElPOERKCiAJfSwKKwl7CisJCS5tYXRjaF9mbGFncyA9ICBVU0JfREVWSUNFX0lEX01BVENIX0RFVklDRSwKKwkJLmlkVmVuZG9yID0gICAgIFVTQl9WSURfTkFUSVZFSU5TVFJVTUVOVFMsCisJCS5pZFByb2R1Y3QgPSAgICBVU0JfUElEX1NFU1NJT05JTworCX0sCiAJeyAvKiB0ZXJtaW5hdG9yICovIH0KIH07CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuaCBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuaAppbmRleCA5NmE0OTEzLi5mOWZiZGJhIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmgKKysrIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5oCkBAIC0xMSw2ICsxMSw3IEBACiAjZGVmaW5lIFVTQl9QSURfS09SRUNPTlRST0xMRVIyCTB4NDcxMgogI2RlZmluZSBVU0JfUElEX0FLMQkJMHgwODE1CiAjZGVmaW5lIFVTQl9QSURfQVVESU84REoJMHgxOTc4CisjZGVmaW5lIFVTQl9QSURfU0VTU0lPTklPCTB4MTkxNQogCiAjZGVmaW5lIEVQMV9CVUZTSVpFIDY0CiAjZGVmaW5lIENBSUFRX1VTQl9TVFJfTEVOIDB4ZmYKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi91c2JhdWRpby5jIGIvc291bmQvdXNiL3VzYmF1ZGlvLmMKaW5kZXggNDEwYmU0YS4uYjhjZmI3YyAxMDA2NDQKLS0tIGEvc291bmQvdXNiL3VzYmF1ZGlvLmMKKysrIGIvc291bmQvdXNiL3VzYmF1ZGlvLmMKQEAgLTgxOSwxMCArODE5LDYgQEAKIAkJcmV0dXJuICJkZXZpY2UgZGlzYWJsZWQiOwogCWNhc2UgLUVIT1NUVU5SRUFDSDoKIAkJcmV0dXJuICJkZXZpY2Ugc3VzcGVuZGVkIjsKLSNpZm5kZWYgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTwotCWNhc2UgLUVOT1NZUzoKLQkJcmV0dXJuICJlbmFibGUgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTyB0byBwbGF5IHRocm91Z2ggYSBodWIiOwotI2VuZGlmCiAJY2FzZSAtRUlOVkFMOgogCWNhc2UgLUVBR0FJTjoKIAljYXNlIC1FRkJJRzoKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi91c2JxdWlya3MuaCBiL3NvdW5kL3VzYi91c2JxdWlya3MuaAppbmRleCA4MmE4ZDE0Li45ZWE3MjZjIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvdXNicXVpcmtzLmgKKysrIGIvc291bmQvdXNiL3VzYnF1aXJrcy5oCkBAIC0yMTAsNiArMjEwLDExIEBACiBZQU1BSEFfREVWSUNFKDB4MTA0MywgTlVMTCksCiBZQU1BSEFfREVWSUNFKDB4MTA0NCwgTlVMTCksCiBZQU1BSEFfREVWSUNFKDB4MTA0NSwgTlVMTCksCitZQU1BSEFfSU5URVJGQUNFKDB4MTA0ZSwgMCwgTlVMTCksCitZQU1BSEFfREVWSUNFKDB4MTA0ZiwgTlVMTCksCitZQU1BSEFfREVWSUNFKDB4MTA1MCwgTlVMTCksCitZQU1BSEFfREVWSUNFKDB4MTA1MSwgTlVMTCksCitZQU1BSEFfREVWSUNFKDB4MTA1MiwgTlVMTCksCiBZQU1BSEFfREVWSUNFKDB4MjAwMCwgIkRHUC03IiksCiBZQU1BSEFfREVWSUNFKDB4MjAwMSwgIkRHUC01IiksCiBZQU1BSEFfREVWSUNFKDB4MjAwMiwgTlVMTCksCkBAIC0xMzc5LDYgKzEzODQsMzkgQEAKIAl9CiB9LAogCit7CisJLyogUm9sYW5kIFNvbmljQ2VsbCAqLworCVVTQl9ERVZJQ0UoMHgwNTgyLCAweDAwYzIpLAorCS5kcml2ZXJfaW5mbyA9ICh1bnNpZ25lZCBsb25nKSAmIChjb25zdCBzdHJ1Y3Qgc25kX3VzYl9hdWRpb19xdWlyaykgeworCQkudmVuZG9yX25hbWUgPSAiUm9sYW5kIiwKKwkJLnByb2R1Y3RfbmFtZSA9ICJTb25pY0NlbGwiLAorCQkuaWZudW0gPSBRVUlSS19BTllfSU5URVJGQUNFLAorCQkudHlwZSA9IFFVSVJLX0NPTVBPU0lURSwKKwkJLmRhdGEgPSAoY29uc3Qgc3RydWN0IHNuZF91c2JfYXVkaW9fcXVpcmtbXSkgeworCQkJeworCQkJCS5pZm51bSA9IDAsCisJCQkJLnR5cGUgPSBRVUlSS19BVURJT19TVEFOREFSRF9JTlRFUkZBQ0UKKwkJCX0sCisJCQl7CisJCQkJLmlmbnVtID0gMSwKKwkJCQkudHlwZSA9IFFVSVJLX0FVRElPX1NUQU5EQVJEX0lOVEVSRkFDRQorCQkJfSwKKwkJCXsKKwkJCQkuaWZudW0gPSAyLAorCQkJCS50eXBlID0gUVVJUktfTUlESV9GSVhFRF9FTkRQT0lOVCwKKwkJCQkuZGF0YSA9ICYgKGNvbnN0IHN0cnVjdCBzbmRfdXNiX21pZGlfZW5kcG9pbnRfaW5mbykgeworCQkJCQkub3V0X2NhYmxlcyA9IDB4MDAwMSwKKwkJCQkJLmluX2NhYmxlcyAgPSAweDAwMDEKKwkJCQl9CisJCQl9LAorCQkJeworCQkJCS5pZm51bSA9IC0xCisJCQl9CisJCX0KKwl9Cit9LAorCisKIC8qIEd1aWxsZW1vdCBkZXZpY2VzICovCiB7CiAJLyoKZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2t2bV9tYWluLmMgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCmluZGV4IDJkMjllMjYuLmQ0ZWFlNmEgMTAwNjQ0Ci0tLSBhL3ZpcnQva3ZtL2t2bV9tYWluLmMKKysrIGIvdmlydC9rdm0va3ZtX21haW4uYwpAQCAtMTI2NiwxMiArMTI2NiwxMiBAQAogCWNhc2UgQ1BVX1VQX0NBTkNFTEVEOgogCQlwcmludGsoS0VSTl9JTkZPICJrdm06IGRpc2FibGluZyB2aXJ0dWFsaXphdGlvbiBvbiBDUFUlZFxuIiwKIAkJICAgICAgIGNwdSk7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBoYXJkd2FyZV9kaXNhYmxlLCBOVUxMLCAxKTsKIAkJYnJlYWs7CiAJY2FzZSBDUFVfT05MSU5FOgogCQlwcmludGsoS0VSTl9JTkZPICJrdm06IGVuYWJsaW5nIHZpcnR1YWxpemF0aW9uIG9uIENQVSVkXG4iLAogCQkgICAgICAgY3B1KTsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaGFyZHdhcmVfZW5hYmxlLCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaGFyZHdhcmVfZW5hYmxlLCBOVUxMLCAxKTsKIAkJYnJlYWs7CiAJfQogCXJldHVybiBOT1RJRllfT0s7CkBAIC0xMjg2LDcgKzEyODYsNyBAQAogCQkgKiBpbiB2bXggcm9vdCBtb2RlLgogCQkgKi8KIAkJcHJpbnRrKEtFUk5fSU5GTyAia3ZtOiBleGl0aW5nIGhhcmR3YXJlIHZpcnR1YWxpemF0aW9uXG4iKTsKLQkJb25fZWFjaF9jcHUoaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDEpOwogCX0KIAlyZXR1cm4gTk9USUZZX09LOwogfQpAQCAtMTQ3NCwxMiArMTQ3NCwxMiBAQAogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CiAJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsCiAJCQkJa3ZtX2FyY2hfY2hlY2tfcHJvY2Vzc29yX2NvbXBhdCwKLQkJCQkmciwgMCwgMSk7CisJCQkJJnIsIDEpOwogCQlpZiAociA8IDApCiAJCQlnb3RvIG91dF9mcmVlXzE7CiAJfQogCi0Jb25fZWFjaF9jcHUoaGFyZHdhcmVfZW5hYmxlLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShoYXJkd2FyZV9lbmFibGUsIE5VTEwsIDEpOwogCXIgPSByZWdpc3Rlcl9jcHVfbm90aWZpZXIoJmt2bV9jcHVfbm90aWZpZXIpOwogCWlmIChyKQogCQlnb3RvIG91dF9mcmVlXzI7CkBAIC0xNTI1LDcgKzE1MjUsNyBAQAogCXVucmVnaXN0ZXJfcmVib290X25vdGlmaWVyKCZrdm1fcmVib290X25vdGlmaWVyKTsKIAl1bnJlZ2lzdGVyX2NwdV9ub3RpZmllcigma3ZtX2NwdV9ub3RpZmllcik7CiBvdXRfZnJlZV8yOgotCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDEpOwogb3V0X2ZyZWVfMToKIAlrdm1fYXJjaF9oYXJkd2FyZV91bnNldHVwKCk7CiBvdXRfZnJlZV8wOgpAQCAtMTU0Nyw3ICsxNTQ3LDcgQEAKIAlzeXNkZXZfY2xhc3NfdW5yZWdpc3Rlcigma3ZtX3N5c2Rldl9jbGFzcyk7CiAJdW5yZWdpc3Rlcl9yZWJvb3Rfbm90aWZpZXIoJmt2bV9yZWJvb3Rfbm90aWZpZXIpOwogCXVucmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZrdm1fY3B1X25vdGlmaWVyKTsKLQlvbl9lYWNoX2NwdShoYXJkd2FyZV9kaXNhYmxlLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShoYXJkd2FyZV9kaXNhYmxlLCBOVUxMLCAxKTsKIAlrdm1fYXJjaF9oYXJkd2FyZV91bnNldHVwKCk7CiAJa3ZtX2FyY2hfZXhpdCgpOwogCWt2bV9leGl0X2RlYnVnKCk7Cg==